diff --git a/.github/ISSUE_TEMPLATE/00-report-package-build-failure.yml b/.github/ISSUE_TEMPLATE/00-report-package-build-failure.yml new file mode 100644 index 00000000000000..59252672491ca2 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/00-report-package-build-failure.yml @@ -0,0 +1,47 @@ +name: Report package build failure +description: Let us know about build failures in ports. +title: "[] build failure" +labels: ["category:port-bug"] +body: + - type: markdown + attributes: + value: | + ⚠ Please use the generated issue template instead to report a port build failure. ⚠
+ See [here](https://github.com/microsoft/vcpkg/issues/30604) how to properly report an issue with the latest vcpkg version: + + - type: input + id: os + attributes: + label: Operating system + placeholder: "e.g. Windows/Linux etc..." + validations: + required: true + - type: input + id: compiler + attributes: + label: Compiler + placeholder: "GCC, Clang, MSVC, MinGW, ..." + validations: + required: false + - type: textarea + id: reproduce + attributes: + label: Steps to reproduce the behavior + placeholder: "`./vcpkg install xxxx`" + render: "Shell" + validations: + required: true + - type: textarea + id: logs + attributes: + label: Failure logs + description: The console output and all the logs mentioned in the output. + validations: + required: true + - type: textarea + id: context + attributes: + label: Additional context + description: Add any other context about the problem here, such as what you have already tried to resolve the issue. + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/01-request-a-new-port.yml b/.github/ISSUE_TEMPLATE/01-request-a-new-port.yml new file mode 100644 index 00000000000000..ff9d6f0d9dfc2c --- /dev/null +++ b/.github/ISSUE_TEMPLATE/01-request-a-new-port.yml @@ -0,0 +1,36 @@ +name: Request a new port +description: Request a new port/library that vcpkg should support. +title: "[New Port Request] " +labels: ["category:new-port", "info:good-first-issue"] + +body: + - type: input + id: name + attributes: + label: Library name + validations: + required: true + - type: input + id: description + attributes: + label: Library description + validations: + required: false + - type: input + id: url + attributes: + label: Source repository URL + validations: + required: true + - type: input + id: homepage + attributes: + label: Project homepage (if different from the source repository) + validations: + required: false + - type: textarea + id: additional-info + attributes: + label: Anything else that is useful to know when adding (such as optional features the library may have that should be included) + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/02-request-an-update-to-an-existing-port.yml b/.github/ISSUE_TEMPLATE/02-request-an-update-to-an-existing-port.yml new file mode 100644 index 00000000000000..06ef6eee217c9f --- /dev/null +++ b/.github/ISSUE_TEMPLATE/02-request-an-update-to-an-existing-port.yml @@ -0,0 +1,23 @@ +name: Request an update to an existing port +description: Let us know about a new version of a library we should pick up. +title: "[] update to " +labels: ['category:port-update'] +body: + - type: input + id: name + attributes: + label: Library name + validations: + required: true + - type: input + id: version + attributes: + label: New version number + validations: + required: true + - type: textarea + id: information + attributes: + label: Other information that may be useful (release notes, etc...) + validations: + required: false 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 new file mode 100644 index 00000000000000..231c34ae37b19f --- /dev/null +++ b/.github/ISSUE_TEMPLATE/03-request-a-feature-or-improvement-to-a-port.yml @@ -0,0 +1,29 @@ +name: Request a feature or improvement to a port +description: Suggest an improvement to one the the ports/libraries in vcpkg. +title: "[] " +labels: ["category:port-feature"] +body: + - type: textarea + attributes: + label: Is your feature request related to a problem? Please describe. + placeholder: A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + validations: + required: true + - type: textarea + attributes: + label: Proposed solution + placeholder: A clear and concise description of what you want to happen. + validations: + required: true + - type: textarea + attributes: + label: Describe alternatives you've considered + placeholder: A clear and concise description of any alternative solutions or features you've considered if applicable. + validations: + required: false + - type: textarea + attributes: + label: Additional context + placeholder: Add any other context or screenshots about the feature request here. + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/04-request-a-feature-or-improvement.yml b/.github/ISSUE_TEMPLATE/04-request-a-feature-or-improvement.yml new file mode 100644 index 00000000000000..c27fbc52aa1a45 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/04-request-a-feature-or-improvement.yml @@ -0,0 +1,29 @@ +name: Request a feature or improvement +description: Suggest an improvement to vcpkg. +title: '' +labels: ["category:vcpkg-feature"] +body: + - type: textarea + attributes: + label: Is your feature request related to a problem? Please describe. + placeholder: A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + validations: + required: true + - type: textarea + attributes: + label: Proposed solution + placeholder: A clear and concise description of what you want to happen. + validations: + required: true + - type: textarea + attributes: + label: Describe alternatives you've considered + placeholder: A clear and concise description of any alternative solutions or features you've considered. + validations: + required: false + - type: textarea + attributes: + label: Additional context + placeholder: Add any other context or screenshots about the feature request here. + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/05-other-type-of-bug-report.md b/.github/ISSUE_TEMPLATE/05-other-type-of-bug-report.md new file mode 100644 index 00000000000000..1774b230de1c00 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/05-other-type-of-bug-report.md @@ -0,0 +1,31 @@ +--- +name: Other type of bug report +about: Let us know about an issues that does not fit into any of the other issues. + types +title: '' +labels: '' +assignees: '' + +--- + +**Describe the bug** +A clear and concise description of what the bug is. + +**Environment** +- OS: [e.g. Windows/Linux etc...] +- Compiler: revision + +**To Reproduce** +Steps to reproduce the behavior: +1. ./vcpkg install xxxx +2. See error +Repro code when + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Failure logs** +-(please attached failure logs) + +**Additional context** +Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 00000000000000..9ca38f803334ba --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,5 @@ +blank_issues_enabled: true +contact_links: + - name: I have a question + url: https://github.com/microsoft/vcpkg/discussions + about: Please ask and answer questions here. diff --git a/.github/ISSUE_TEMPLATE/i-have-a-question.md b/.github/ISSUE_TEMPLATE/i-have-a-question.md deleted file mode 100644 index 643d43dce96ec6..00000000000000 --- a/.github/ISSUE_TEMPLATE/i-have-a-question.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -name: I have a question -about: I have a question and don't see a clear answer in documentation -title: How do I ... -labels: Question -assignees: '' - ---- - -Please create a discussion in https://github.com/microsoft/vcpkg/discussions/new instead. diff --git a/.github/ISSUE_TEMPLATE/other-type-of-bug-report.md b/.github/ISSUE_TEMPLATE/other-type-of-bug-report.md deleted file mode 100644 index 85c2967451ace5..00000000000000 --- a/.github/ISSUE_TEMPLATE/other-type-of-bug-report.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -name: Other type of bug report -about: Let us know about an issues that does not fit into any of the other issues - types -title: '' -labels: '' -assignees: '' - ---- - -**Describe the bug** -A clear and concise description of what the bug is. - -**Environment** -- OS: [e.g. Windows/Linux etc...] -- Compiler: revision - -**To Reproduce** -Steps to reproduce the behavior: -1. ./vcpkg install xxxx -2. See error -Repro code when - -**Expected behavior** -A clear and concise description of what you expected to happen. - -**Failure logs** --(please attached failure logs) - -**Additional context** -Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/report-package-build-failure.md b/.github/ISSUE_TEMPLATE/report-package-build-failure.md deleted file mode 100644 index 785483c368b440..00000000000000 --- a/.github/ISSUE_TEMPLATE/report-package-build-failure.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -name: Report package build failure -about: Let us know about build failures in ports. -title: "[] build failure" -labels: port bug -assignees: '' - ---- - -**Host Environment** -- OS: [e.g. Windows/Linux etc...] -- Compiler: revision - -**To Reproduce** -Steps to reproduce the behavior: -`./vcpkg install xxxx` - -**Failure logs** --Cut and paste the appropriate build messages from the console output. --Please attach any additional failure logs mentioned in the console output. - -**Additional context** -Add any other context about the problem here, such as what you have already tried to resolve the issue. diff --git a/.github/ISSUE_TEMPLATE/request-a-feature-or-improvement-to-a-port.md b/.github/ISSUE_TEMPLATE/request-a-feature-or-improvement-to-a-port.md deleted file mode 100644 index a40036f953d0e4..00000000000000 --- a/.github/ISSUE_TEMPLATE/request-a-feature-or-improvement-to-a-port.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -name: Request a feature or improvement to a port -about: Suggest an improvement to one the the ports/libraries in vcpkg -title: "[] " -labels: port feature -assignees: '' - ---- - -**** - -**Is your feature request related to a problem? Please describe.** -A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] - -**Proposed solution** -A clear and concise description of what you want to happen. - -**Describe alternatives you've considered** -A clear and concise description of any alternative solutions or features you've considered if applicable. - -**Additional context** -Add any other context or screenshots about the feature request here. diff --git a/.github/ISSUE_TEMPLATE/request-a-feature-or-improvement.md b/.github/ISSUE_TEMPLATE/request-a-feature-or-improvement.md deleted file mode 100644 index 55d06b16a6ddeb..00000000000000 --- a/.github/ISSUE_TEMPLATE/request-a-feature-or-improvement.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -name: Request a feature or improvement -about: Suggest an improvement to vcpkg -title: '' -labels: vcpkg feature -assignees: '' - ---- - -**** - -**Is your feature request related to a problem? Please describe.** -A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] - -**Proposed solution** -A clear and concise description of what you want to happen. - -**Describe alternatives you've considered** -A clear and concise description of any alternative solutions or features you've considered. - -**Additional context** -Add any other context or screenshots about the feature request here. diff --git a/.github/ISSUE_TEMPLATE/request-a-new-port.md b/.github/ISSUE_TEMPLATE/request-a-new-port.md deleted file mode 100644 index 65c9bf01c1949d..00000000000000 --- a/.github/ISSUE_TEMPLATE/request-a-new-port.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -name: Request a new port -about: Request a new port/library that vcpkg should support -title: "[New Port Request] " -labels: new port request - consider making a PR! -assignees: '' - ---- - -Library name: - -Library description: - -Source repository URL: - -Project homepage (if different from the source repository): - -Anything else that is useful to know when adding (such as optional features the library may have that should be included): diff --git a/.github/ISSUE_TEMPLATE/request-an-update-to-an-existing-port.md b/.github/ISSUE_TEMPLATE/request-an-update-to-an-existing-port.md deleted file mode 100644 index f1689b0976ea15..00000000000000 --- a/.github/ISSUE_TEMPLATE/request-an-update-to-an-existing-port.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: Request an update to an existing port -about: Let us know about a new version of a library we should pick up. -title: "[] update to " -labels: port feature -assignees: '' - ---- - -Library name: - -New version number: - -Other information that may be useful (release notes, etc...) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 31be625f265ee3..618be2cbf68256 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,15 +1,31 @@ -**Describe the pull request** + -- #### What does your PR fix? - Fixes #... + -- #### Which triplets are supported/not supported? Have you updated the [CI baseline](https://github.com/microsoft/vcpkg/blob/master/scripts/ci.baseline.txt)? - , + -**If you are still working on the PR, open it as a Draft: https://github.blog/2019-02-14-introducing-draft-pull-requests/** + diff --git a/.github/workflows/check_issues.yml b/.github/workflows/check_issues.yml new file mode 100644 index 00000000000000..464f5b8c0905a1 --- /dev/null +++ b/.github/workflows/check_issues.yml @@ -0,0 +1,84 @@ +name: Check For Common Issues + +on: + issues: + types: + - opened + +jobs: + check-for-common-issues: + runs-on: ubuntu-latest + permissions: + issues: write + steps: + - uses: actions/github-script@v7 + with: + script: | + let issue_query = { + issue_number: context.issue.number, + owner: context.repo.owner, + repo: context.repo.repo + }; + let issue = await github.rest.issues.get(issue_query) + let issue_body = issue.data.body.replaceAll("\r\n", "\n"); + let commentLabelClose = async (comment, label) => { + await github.rest.issues.removeAllLabels(issue_query); + await github.rest.issues.setLabels({...issue_query, labels: [label]}); + await github.rest.issues.createComment({...issue_query, body: comment}); + await github.rest.issues.update({...issue_query, state: "closed"}); + } + + // missing-windows-sdk-issue + let reg = /RC Pass 1: command "rc .*" failed \(exit code 0\) with the following output:/; + if (reg.test(issue_body)){ + let body = "Thanks for posting this issue. Please make sure you have the following installed.\n" + + "- Visual Studio Desktop development with C++.\n" + + "- Windows 10 SDK or Windows 11 SDK."; + return await commentLabelClose(body, "category:question"); + } + + // msys2 download fails => old vcpkg version + reg = /error: https:\/\/repo\.msys2\.org\/.*: failed: status code 404/; + if (reg.test(issue_body)){ + let body = "Try updating your vcpkg version via `git pull` to resolve this issue. MSYS2 downloads are removed from the upstream servers from time to time, so using an up-to-date vcpkg version is necessary." + return await commentLabelClose(body, "category:question"); + } + + regs = [] + // Issue text is: Copy issue body from .../issue_body.md + regs.push( /^Copy issue body from .*issue_body.md$/ ); + // Issue to short like #36592 or #36668 + regs.push( /^error: building.* BUILD_FAILED\r\nElapsed time.*\r\nPlease ensure.*(\r\nThen check .*\r\n.*)?$/ ); + // Issues with only the default error message like #41813 + regs.push( /^error: building.* BUILD_FAILED\r\n[\s\S]*issue_body.md$/ ); + if (regs.some(reg => reg.test(issue_body))) { + let body = "Please see #30604 for how to report a build failure." + return await commentLabelClose(body, "requires:more-information"); + } + + // pkg-config/ not found issues like #36011 + reg = /CMake Error at scripts\/cmake\/vcpkg_find_acquire_program.*\n(.*Please install it via your package manager:[\s\S]+)Call Stack/; + match = issue_body.match(reg) + if (match){ + let body = "From the log:\n```\n" + match[1] + "```\n" + return await commentLabelClose(body, "category:question"); + } + + // MSVC internal compiler error like #36628 + if (issue_body.indexOf("fatal error C1001: Internal compiler error") !== -1){ + let body = "The build failed due to an internal compiler error. Please update your compiler or revert to an old version." + return await commentLabelClose(body, "category:question"); + } + + // configure: error: 'autoconf-archive' is missing like #37013 + if (issue_body.indexOf("configure: error: 'autoconf-archive' is missing") !== -1){ + let body = "Please install `autoconf-archive` via `brew install autoconf-archive` (macos) or `sudo apt-get install autoconf-archive` (linux)" + return await commentLabelClose(body, "category:question"); + } + + // Wrong formatted issues like #36086 + const containsCopyHint = issue_body.indexOf("Copy issue body from") !== -1 || issue_body.indexOf("%2Fissue_body.md") !== -1; + if (containsCopyHint && issue_body.indexOf("```") === -1){ + let body = "Please see #30604 for how to properly report a build failure." + return await github.rest.issues.createComment({...issue_query, body: body}); + } diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml new file mode 100644 index 00000000000000..7bd6e84365970b --- /dev/null +++ b/.github/workflows/stale.yml @@ -0,0 +1,35 @@ +name: 'Close stale issues and PRs' +on: + schedule: + - cron: '30 1 * * *' + +permissions: + issues: write + +jobs: + stale: + runs-on: ubuntu-latest + steps: + - uses: actions/stale@v8 + with: + stale-issue-message: 'This is an automated message. Per our repo policy, stale issues get closed if there has been no activity in the past 28 days. The issue will be automatically closed in 14 days. If you wish to keep this issue open, please add a new comment.' + any-of-labels: 'category:question,requires:repro,requires:more-information' + days-before-issue-stale: 28 + days-before-pr-stale: -1 + days-before-close: 14 + - uses: actions/stale@v8 + with: + stale-issue-message: "This is an automated message. Per our repo policy, stale issues get closed if there has been no activity in the past 60 days. The issue will be automatically closed in 14 days. If you wish to keep this issue open, please add a new comment." + any-of-labels: 'category:new-port' + close-issue-label: 'info:new-port-unresolved' + days-before-issue-stale: 60 + days-before-pr-stale: -1 + days-before-close: 14 + - uses: actions/stale@v8 + with: + stale-issue-message: "This is an automated message. Per our repo policy, stale issues get closed if there has been no activity in the past 180 days. The issue will be automatically closed in 14 days. If you wish to keep this issue open, please add a new comment." + exempt-issue-labels: 'no-stale,category:new-port,category:question,requires:repro,requires:more-information' + days-before-issue-stale: 180 + days-before-pr-stale: -1 + days-before-close: 14 + operations-per-run: 50 diff --git a/.github/workflows/test_modified_ports.yml b/.github/workflows/test_modified_ports.yml new file mode 100644 index 00000000000000..fa1d8f68a6527e --- /dev/null +++ b/.github/workflows/test_modified_ports.yml @@ -0,0 +1,23 @@ +name: Test Modified Ports +on: + push: + branches: + - onboard-actions +jobs: + Windows: + runs-on: + - self-hosted + - "1ES.Pool=vcpkg-windows-wus" + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + # fetch-depth 50 tries to ensure we capture the whole history of the branch + fetch-depth: 50 + + - name: Bootstrap + run: ./bootstrap-vcpkg.sh + + - name: Example + shell: pwsh + run: Write-Host 'Running on 1ES Hosted GitHub Runners' diff --git a/.github/workflows/trustedPR.yml b/.github/workflows/trustedPR.yml deleted file mode 100644 index d45bfeb11c86bf..00000000000000 --- a/.github/workflows/trustedPR.yml +++ /dev/null @@ -1,58 +0,0 @@ -# Modelled after https://securitylab.github.com/research/github-actions-preventing-pwn-requests/ - -name: Post PR Suggestions - -on: - workflow_run: - workflows: ["PR Suggestions"] - types: - - completed - -jobs: - comment: - runs-on: ubuntu-latest - if: > - ${{ github.event.workflow_run.event == 'pull_request' && - github.event.workflow_run.conclusion == 'success' }} - - steps: - - name: 'Download artifact' - uses: actions/github-script@v3.1.0 - with: - script: | - var artifacts = await github.actions.listWorkflowRunArtifacts({ - owner: context.repo.owner, - repo: context.repo.repo, - run_id: ${{github.event.workflow_run.id }}, - }); - var matchArtifact = artifacts.data.artifacts.filter((artifact) => { - return artifact.name == "pr" - })[0]; - var download = await github.actions.downloadArtifact({ - owner: context.repo.owner, - repo: context.repo.repo, - artifact_id: matchArtifact.id, - archive_format: 'zip', - }); - var fs = require('fs'); - fs.writeFileSync('${{github.workspace}}/pr.zip', Buffer.from(download.data)); - - run: unzip pr.zip - - - uses: actions/github-script@v4 - with: - script: | - const { promises: fs } = require('fs') - const event = (await fs.readFile('event', 'utf8')).trim() - const body = (await fs.readFile('body', 'utf8')).trim() - const issue_number = Number(await fs.readFile('./NR')); - - var req = { - owner: context.repo.owner, - pull_number: issue_number, - repo: context.repo.repo, - event: event - }; - if (body !== "") { - req.body = body; - } - await github.pulls.createReview(req); diff --git a/.github/workflows/untrustedPR.yml b/.github/workflows/untrustedPR.yml index cb77b745f8a2fb..a4d7d04c3ec110 100644 --- a/.github/workflows/untrustedPR.yml +++ b/.github/workflows/untrustedPR.yml @@ -1,44 +1,45 @@ -# Modelled after https://securitylab.github.com/research/github-actions-preventing-pwn-requests/ - -# These "checks" are also performed as part of our critical-path azure-pipelines review, -# however here they are better able to post back to the original PR -name: PR Suggestions +name: Check For Common Mistakes on: pull_request: jobs: - build: - runs-on: ubuntu-latest + Check: + runs-on: ubuntu-22.04 steps: - - uses: actions/checkout@v2 + - name: Checkout + uses: actions/checkout@v4 with: # fetch-depth 50 tries to ensure we capture the whole history of the branch fetch-depth: 50 - - uses: actions/cache@v2 - id: cache - with: - path: | - ./vcpkg - key: ${{ runner.os }}-${{ hashFiles('scripts/bootstrap*') }} - - - name: bootstrap - if: steps.cache.outputs.cache-hit != 'true' + - name: Bootstrap run: ./bootstrap-vcpkg.sh - - name: Save PR number - run: | - mkdir -p ./pr - echo ${{ github.event.number }} > ./pr/NR - - name: Formatting run: | git config user.email github-actions git config user.name github-actions@github.com - git diff --name-status --merge-base HEAD^ HEAD --diff-filter=MAR -- '*portfile.cmake' | sed 's/[MAR]\t*//' | while read filename; do grep -q -E '(vcpkg_install_cmake|vcpkg_build_cmake|vcpkg_configure_cmake|vcpkg_fixup_cmake_targets)' "$filename" && echo " - \`$filename\`" || true; done > .github-pr.deprecated-cmake + git --version + + unset VCPKG_ROOT + + git diff --name-status --merge-base HEAD^ HEAD --diff-filter=MAR -- '*portfile.cmake' | sed 's/[MAR]\t*//' > .github-pr.changed-portfiles + if [ -s .github-pr.changed-portfiles ]; then (grep -n -H -E '(vcpkg_apply_patches|vcpkg_build_msbuild|vcpkg_extract_source_archive_ex)' $(cat .github-pr.changed-portfiles) || true) > .github-pr.deprecated-function; else touch .github-pr.deprecated-function; fi + if [ -s .github-pr.changed-portfiles ]; then (grep -n -H -E '(vcpkg_install_cmake|vcpkg_build_cmake|vcpkg_configure_cmake|vcpkg_fixup_cmake_targets)' $(cat .github-pr.changed-portfiles) || true) > .github-pr.deprecated-cmake; else touch .github-pr.deprecated-cmake; fi + git diff --name-status --merge-base HEAD^ HEAD --diff-filter=MAR -- '*vcpkg.json' | sed 's/[MAR]\t*//' > .github-pr.changed-manifest-files + cat .github-pr.changed-manifest-files | while read filename; do grep -q -E '"license": ' "$filename" || echo "$filename" || true; done > .github-pr.missing-license + cat .github-pr.changed-manifest-files | while read filename; do grep -n -H '"license": "' "$filename" || true; done > .github-pr.all-licenses + cat .github-pr.all-licenses | while read license; do \ + location=$(echo $license | grep -oP '^.*?:[0-9]+:'); \ + echo $license | \ + grep -oiP '(AGPL-1\.0|AGPL-3\.0|BSD-2-Clause-FreeBSD|BSD-2-Clause-NetBSD|bzip2-1\.0\.5|eCos-2\.0|GFDL-1\.1|GFDL-1\.2|GFDL-1\.3|GPL-1\.0|GPL-1\.0\+|GPL-2\.0|GPL-2\.0\+|GPL-2\.0-with-autoconf-exception|GPL-2\.0-with-bison-exception|GPL-2\.0-with-classpath-exception|GPL-2\.0-with-font-exception|GPL-2\.0-with-GCC-exception|GPL-3\.0|GPL-3\.0\+|GPL-3\.0-with-autoconf-exception|GPL-3\.0-with-GCC-exception|LGPL-2\.0|LGPL-2\.0\+|LGPL-2\.1|LGPL-2\.1\+|LGPL-3\.0|LGPL-3\.0\+|Nunit|StandardML-NJ|wxWindows)(?=[ ")&|,])' | \ + while read id; do \ + echo "$location$id"; \ + done || true; \ + done > .github-pr.deprecated-license ./vcpkg format-manifest --all --convert-control git diff > .github-pr.format-manifest git add -u @@ -46,76 +47,141 @@ jobs: # HEAD^^ refers to the "main" commit that was merged into git checkout HEAD^^ -- versions git restore --staged versions - ./vcpkg x-add-version --all --skip-formatting-check > .github-pr.x-add-version.out + ./vcpkg x-add-version --all --skip-formatting-check | grep 'instead of "version-string"' | tee .github-pr.version-string.out || true + git checkout -- versions + ./vcpkg x-add-version --all --skip-formatting-check --skip-version-format-check | tee .github-pr.x-add-version.out || true git diff > .github-pr.x-add-version.diff git reset HEAD~ --mixed - - uses: actions/github-script@v4 + - name: Generate Reply + uses: actions/github-script@v7 with: script: | const { promises: fs } = require('fs') const add_version = (await fs.readFile('.github-pr.x-add-version.diff', 'utf8')).trim() const add_version_out = (await fs.readFile('.github-pr.x-add-version.out', 'utf8')).trim() + const version_string_out = (await fs.readFile('.github-pr.version-string.out', 'utf8')).trim() const format = (await fs.readFile('.github-pr.format-manifest', 'utf8')).trim() - const cmake = (await fs.readFile('.github-pr.deprecated-cmake', 'utf8')).trim() + const deprecated_function = (await fs.readFile('.github-pr.deprecated-function', 'utf8')).split('\n').filter(s => s.length > 0) + const deprecated_cmake = (await fs.readFile('.github-pr.deprecated-cmake', 'utf8')).split('\n').filter(s => s.length > 0) + const missing_license = (await fs.readFile('.github-pr.missing-license', 'utf8')).trim() + const deprecated_license = (await fs.readFile('.github-pr.deprecated-license', 'utf8')).split('\n').filter(s => s.length > 0) let approve = true; - var output = '' if (format !== "") { - output += "
All manifest files must be formatted\n\n" - output += "`./vcpkg format-manifest ports/*/vcpkg.json`\n" - output += "
Diff\n\n" - output += "```diff\n" + format + "\n```\n" - output += "
\n\n" + var format_output = ''; + format_output += "All vcpkg.json files must be formatted. To fix this problem, run:\n"; + format_output += "./vcpkg format-manifest ports/*/vcpkg.json\n"; + format_output += "\n"; + format_output += "It should make the following changes:"; + format_output += "```diff\n" + format + "\n```"; + core.error(format_output); approve = false; } if (add_version_out !== "") { - output += "
PRs must add only one version and must not modify any published versions\n\n" - output += "When making any changes to a library, the version or port-version in `vcpkg.json` or `CONTROL` must be modified.\n" - output += "```\n" + add_version_out + "\n```\n
\n" + var add_version_output = ''; + add_version_output += "PRs must add only one version, and must not modify any published versions.\n"; + add_version_output += "When making any changes to a library, the version or port-version in vcpkg.json must be modified, and the version database updated.\n"; + add_version_output += "Making the following changes will fix this problem:"; + add_version_output += "```diff\n" + add_version_out + "\n```"; + core.error(add_version_output); approve = false; } + if (version_string_out !== "") { + core.warning(version_string_out); + } if (add_version !== "") { - output += "
After committing all other changes, the version database must be updated\n\n" - output += "```sh\n" - output += "git add -u && git commit\n" - output += "git checkout ${{ github.event.pull_request.base.sha }} -- versions\n" - output += "./vcpkg x-add-version --all\n" - output += "```\n" - output += "
Diff\n\n" - output += "```diff\n" + add_version + "\n```\n" - output += "
\n\n" + var update_version_db_output = ''; + update_version_db_output += "After committing all other changes, the version database must be updated.\n"; + update_version_db_output += "This can be done by running the following commands after committing your changes:\n" + update_version_db_output += "\n" + update_version_db_output += "git add -u && git commit\n" + update_version_db_output += "git checkout ${{ github.event.pull_request.base.sha }} -- versions\n" + update_version_db_output += "./vcpkg x-add-version --all" + core.error(update_version_db_output); approve = false; } - if (cmake !== "") { - output += "You have modified or added at least one portfile where deprecated functions are used.\n" - output += "
\n\n" - output += "If you feel able to do so, please consider migrating them to the new functions:\n" - output += " `vcpkg_install_cmake` -> `vcpkg_cmake_install` (from port `vcpkg-cmake`)\n" - output += " `vcpkg_build_cmake` -> `vcpkg_cmake_build` (from port `vcpkg-cmake`)\n" - output += " `vcpkg_configure_cmake` -> `vcpkg_cmake_configure` (Please remove the option `PREFER_NINJA`) (from port `vcpkg-cmake`)\n" - output += " `vcpkg_fixup_cmake_targets` -> `vcpkg_cmake_config_fixup` (from port `vcpkg-cmake-config`)\n" - output += "\n" - output += "In the ports that use the new function, you have to add the corresponding dependencies:\n" - output += "```json\n" - output += '{\n "name": "vcpkg-cmake",\n "host": true\n},\n' - output += '{\n "name": "vcpkg-cmake-config",\n "host": true\n}\n' - output += "```\n" - output += `The following files are affected:\n${cmake}\n` - output += "
\n" + + if (deprecated_function.length > 0) { + var deprecated_output = ''; + deprecated_output += "**You have modified or added at least one portfile where deprecated functions are used**\n" + deprecated_output += "If you feel able to do so, please consider migrating them to the new functions.\n"; + core.warning(deprecated_output); + + let deprecated_functions = { + vcpkg_extract_source_archive_ex: 'vcpkg_extract_source_archive https://learn.microsoft.com/en-us/vcpkg/maintainers/functions/vcpkg_extract_source_archive', + vcpkg_build_msbuild: 'vcpkg_install_msbuild https://learn.microsoft.com/en-us/vcpkg/maintainers/functions/vcpkg_install_msbuild', + vcpkg_apply_patches: 'the PATCHES arguments to the \"extract\" helpers (for example, vcpkg_from_github() (https://learn.microsoft.com/en-us/vcpkg/maintainers/functions/vcpkg_from_github))', + }; + for (let line of deprecated_function) { + // line has the format: :: 0) { + var deprecated_output = ''; + deprecated_output += "You have modified or added at least one portfile where deprecated functions are used.\n" + deprecated_output += "These functions have been forbidden in vcpkg, please migrating them to the new functions.\n"; + deprecated_output += "In the ports that use the new function vcpkg_cmake_configure, vcpkg_cmake_install, vcpkg_cmake_build or vcpkg_cmake_config_fixup, you have to add the corresponding dependencies:\n"; + deprecated_output += "```json\n"; + deprecated_output += '{\n "name": "vcpkg-cmake",\n "host": true\n},\n' + deprecated_output += '{\n "name": "vcpkg-cmake-config",\n "host": true\n}\n'; + deprecated_output += "```\n"; + core.error(deprecated_output); + + let deprecated_functions = { + vcpkg_install_cmake: 'vcpkg_cmake_install (from port vcpkg-cmake)', + vcpkg_install_cmake: 'vcpkg_cmake_install (from port vcpkg-cmake)', + vcpkg_build_cmake: 'vcpkg_cmake_build (from port vcpkg-cmake)', + vcpkg_configure_cmake: 'vcpkg_cmake_configure (Please remove the option PREFER_NINJA) (from port vcpkg-cmake)', + vcpkg_fixup_cmake_targets: 'vcpkg_cmake_config_fixup (from port vcpkg-cmake-config)', + }; + for (let line of deprecated_cmake) { + // line has the format: :: 0) { + core.summary.addRaw('You have modified or added at least one vcpkg.json where you should check the \"license\" field.'); + core.summary.addEOL(); + } - - uses: actions/upload-artifact@v2 - with: - name: pr - path: pr/ + if (missing_license !== "") { + license_output = 'If you feel able to do so, please consider adding a "license" field to the following files:\n' + license_output += missing_license + license_output += "\n\nValid values for the license field can be found at https://learn.microsoft.com/vcpkg/reference/vcpkg-json#license\n\n" + + core.warning(license_output); + } + + for (let line of deprecated_license) { + [file, line_number, match] = line.split(':'); + var license_output = `SPDX deprecated license identifier ${match}.`; + license_output += "\nIf you feel able to do so, please consider replacing it." + license_output += "\nUpdated license identifiers can be found at https://spdx.org/licenses/." + + + core.notice(license_output, {file, startLine: line_number}); + } + + core.summary.write(); + + if (!approve) { + process.exitCode = 1; + } diff --git a/.gitignore b/.gitignore index 6aff3dc65d6bc6..d6d47929120f8f 100644 --- a/.gitignore +++ b/.gitignore @@ -10,6 +10,7 @@ *.user *.userosscache *.sln.docstates +/vcpkg.json /vcpkg-configuration.json # fuzzing @@ -285,6 +286,7 @@ __pycache__/ /build*/ /downloads/ /installed*/ +/vcpkg_installed*/ /packages/ /scripts/buildsystems/tmp/ #ignore custom triplets diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index e0f9eba5fbae88..00000000000000 --- a/CHANGELOG.md +++ /dev/null @@ -1,17525 +0,0 @@ -vcpkg (2021.05.01 - 2021.05.12) - ---- -#### Total port count: 1669 -#### Total port count per triplet (tested): -|triplet|ports available| -|---|---| -|**x64-windows**|1531| -|**x64-linux**|1441| -|**x64-osx**|1348| -|x86-windows|1521| -|x64-windows-static-md|1468| -|x64-windows-static|1455| -|arm64-windows|1139| -|x64-uwp|856| -|arm-uwp|811| - -
-The following documentation has been updated: - -- [registries.md](docs/maintainers/registries.md) ***[NEW]*** - - [(#17672)](https://github.com/microsoft/vcpkg/pull/17672) [docs registries] Add reference documentation (by @strega-nil) -- [registries.md](docs/users/registries.md) ***[NEW]*** - - [(#17672)](https://github.com/microsoft/vcpkg/pull/17672) [docs registries] Add reference documentation (by @strega-nil) -- [privacy.md](docs/about/privacy.md) - - [(#17560)](https://github.com/microsoft/vcpkg/pull/17560) [doc] Fix spelling errors (by @dg0yt) -- [modify-baseline-to-pin-old-boost.md](docs/examples/modify-baseline-to-pin-old-boost.md) - - [(#17560)](https://github.com/microsoft/vcpkg/pull/17560) [doc] Fix spelling errors (by @dg0yt) -- [vcpkg_android.cmake](docs/examples/vcpkg_android_example_cmake_script/cmake/vcpkg_android.cmake) - - [(#17560)](https://github.com/microsoft/vcpkg/pull/17560) [doc] Fix spelling errors (by @dg0yt) -- [versioning.getting-started.md](docs/examples/versioning.getting-started.md) - - [(#17560)](https://github.com/microsoft/vcpkg/pull/17560) [doc] Fix spelling errors (by @dg0yt) - - [(#17580)](https://github.com/microsoft/vcpkg/pull/17580) [docs] Consolidate versioning documentation (by @ras0219-msft) -- [control-files.md](docs/maintainers/control-files.md) - - [(#17560)](https://github.com/microsoft/vcpkg/pull/17560) [doc] Fix spelling errors (by @dg0yt) -- [maintainer-guide.md](docs/maintainers/maintainer-guide.md) - - [(#17580)](https://github.com/microsoft/vcpkg/pull/17580) [docs] Consolidate versioning documentation (by @ras0219-msft) -- [manifest-files.md](docs/maintainers/manifest-files.md) - - [(#17560)](https://github.com/microsoft/vcpkg/pull/17560) [doc] Fix spelling errors (by @dg0yt) -- [portfile-functions.md](docs/maintainers/portfile-functions.md) - - [(#17179)](https://github.com/microsoft/vcpkg/pull/17179) [docs] link to new functions in deprecated warnings (by @autoantwort) -- [vcpkg_cmake_configure.md](docs/maintainers/ports/vcpkg-cmake/vcpkg_cmake_configure.md) - - [(#17560)](https://github.com/microsoft/vcpkg/pull/17560) [doc] Fix spelling errors (by @dg0yt) -- [vcpkg_apply_patches.md](docs/maintainers/vcpkg_apply_patches.md) - - [(#17179)](https://github.com/microsoft/vcpkg/pull/17179) [docs] link to new functions in deprecated warnings (by @autoantwort) -- [vcpkg_build_cmake.md](docs/maintainers/vcpkg_build_cmake.md) - - [(#17179)](https://github.com/microsoft/vcpkg/pull/17179) [docs] link to new functions in deprecated warnings (by @autoantwort) - - [(#17560)](https://github.com/microsoft/vcpkg/pull/17560) [doc] Fix spelling errors (by @dg0yt) -- [vcpkg_build_make.md](docs/maintainers/vcpkg_build_make.md) - - [(#17560)](https://github.com/microsoft/vcpkg/pull/17560) [doc] Fix spelling errors (by @dg0yt) -- [vcpkg_build_nmake.md](docs/maintainers/vcpkg_build_nmake.md) - - [(#17560)](https://github.com/microsoft/vcpkg/pull/17560) [doc] Fix spelling errors (by @dg0yt) -- [vcpkg_configure_cmake.md](docs/maintainers/vcpkg_configure_cmake.md) - - [(#17179)](https://github.com/microsoft/vcpkg/pull/17179) [docs] link to new functions in deprecated warnings (by @autoantwort) -- [vcpkg_copy_tools.md](docs/maintainers/vcpkg_copy_tools.md) - - [(#17560)](https://github.com/microsoft/vcpkg/pull/17560) [doc] Fix spelling errors (by @dg0yt) -- [vcpkg_fixup_cmake_targets.md](docs/maintainers/vcpkg_fixup_cmake_targets.md) - - [(#17179)](https://github.com/microsoft/vcpkg/pull/17179) [docs] link to new functions in deprecated warnings (by @autoantwort) -- [vcpkg_install_cmake.md](docs/maintainers/vcpkg_install_cmake.md) - - [(#17179)](https://github.com/microsoft/vcpkg/pull/17179) [docs] link to new functions in deprecated warnings (by @autoantwort) -- [README.md](docs/README.md) - - [(#17672)](https://github.com/microsoft/vcpkg/pull/17672) [docs registries] Add reference documentation (by @strega-nil) -- [regenerate.ps1](docs/regenerate.ps1) - - [(#17179)](https://github.com/microsoft/vcpkg/pull/17179) [docs] link to new functions in deprecated warnings (by @autoantwort) -- [prefab.md](docs/specifications/prefab.md) - - [(#17560)](https://github.com/microsoft/vcpkg/pull/17560) [doc] Fix spelling errors (by @dg0yt) -- [registries.md](docs/specifications/registries.md) - - [(#17560)](https://github.com/microsoft/vcpkg/pull/17560) [doc] Fix spelling errors (by @dg0yt) -- [registries-2.md](docs/specifications/registries-2.md) - - [(#17560)](https://github.com/microsoft/vcpkg/pull/17560) [doc] Fix spelling errors (by @dg0yt) -- [versioning.md](docs/specifications/versioning.md) - - [(#17560)](https://github.com/microsoft/vcpkg/pull/17560) [doc] Fix spelling errors (by @dg0yt) -- [android.md](docs/users/android.md) - - [(#17560)](https://github.com/microsoft/vcpkg/pull/17560) [doc] Fix spelling errors (by @dg0yt) -- [config-environment.md](docs/users/config-environment.md) - - [(#17560)](https://github.com/microsoft/vcpkg/pull/17560) [doc] Fix spelling errors (by @dg0yt) - - [(#17580)](https://github.com/microsoft/vcpkg/pull/17580) [docs] Consolidate versioning documentation (by @ras0219-msft) -- [manifests.md](docs/users/manifests.md) - - [(#17580)](https://github.com/microsoft/vcpkg/pull/17580) [docs] Consolidate versioning documentation (by @ras0219-msft) -- [versioning.implementation-details.md](docs/users/versioning.implementation-details.md) - - [(#17560)](https://github.com/microsoft/vcpkg/pull/17560) [doc] Fix spelling errors (by @dg0yt) -- [versioning.md](docs/users/versioning.md) - - [(#17580)](https://github.com/microsoft/vcpkg/pull/17580) [docs] Consolidate versioning documentation (by @ras0219-msft) -- [versioning.reference.md](docs/users/versioning.reference.md) - - [(#17580)](https://github.com/microsoft/vcpkg/pull/17580) [docs] Consolidate versioning documentation (by @ras0219-msft) - -
-The following changes have been made to vcpkg: - -- [(#16577)](https://github.com/microsoft/vcpkg/pull/16577) [icu] add host depedency (by @autoantwort) -- [(#16847)](https://github.com/microsoft/vcpkg/pull/16847) Compile for android including armv6. (by @talregev) -- [(#16965)](https://github.com/microsoft/vcpkg/pull/16965) [libfido2] New port (by @xgcssch) -- [(#17019)](https://github.com/microsoft/vcpkg/pull/17019) [fontconfig] Add cflags in tools build command (by @xandox) -- [(#17032)](https://github.com/microsoft/vcpkg/pull/17032) [libtcod] Update to 1.16.7 (by @HexDecimal) -- [(#17063)](https://github.com/microsoft/vcpkg/pull/17063) [cpuinfo,fbgemm,nnpack] update to latest source version and rename targets (by @luncliff) -- [(#17065)](https://github.com/microsoft/vcpkg/pull/17065) [qnnpack] create a new port (by @luncliff) -- [(#17099)](https://github.com/microsoft/vcpkg/pull/17099) [Forge] update version to 1.0.7 (by @9prady9) -- [(#17179)](https://github.com/microsoft/vcpkg/pull/17179) [docs] link to new functions in deprecated warnings (by @autoantwort) -- [(#17204)](https://github.com/microsoft/vcpkg/pull/17204) [ffmpeg] avdevice CoreAudio dependency fix for osx (by @mcmtroffaes) -- [(#17266)](https://github.com/microsoft/vcpkg/pull/17266) [libarchive] disable libb2 until properly handled (by @cenit) -- [(#17299)](https://github.com/microsoft/vcpkg/pull/17299) [ffmpeg] soxr dependency fix (by @mcmtroffaes) -- [(#17424)](https://github.com/microsoft/vcpkg/pull/17424) [grpc] Create codegen feature (by @ras0219) -- [(#17431)](https://github.com/microsoft/vcpkg/pull/17431) [nccl] Remove NCCL auto-download due to licensing issues (by @jacobkahn) -- [(#17456)](https://github.com/microsoft/vcpkg/pull/17456) [Openssl] Fix mingw build (by @dg0yt) -- [(#17533)](https://github.com/microsoft/vcpkg/pull/17533) [cryptopp] Update to 8.5.0 (by @orudge) -- [(#17560)](https://github.com/microsoft/vcpkg/pull/17560) [doc] Fix spelling errors (by @dg0yt) -- [(#17580)](https://github.com/microsoft/vcpkg/pull/17580) [docs] Consolidate versioning documentation (by @ras0219-msft) -- [(#17589)](https://github.com/microsoft/vcpkg/pull/17589) [ghc-filesystem] Fix port/package name discrepancy (by @AndyBrown91) -- [(#17593)](https://github.com/microsoft/vcpkg/pull/17593) [vcpkg baseline][libheif] fix CI errors if gdk-pixbuf can be found (by @Neumann-A) -- [(#17596)](https://github.com/microsoft/vcpkg/pull/17596) [cairo] Windows: Fix cairo dll definition (by @Neumann-A) -- [(#17597)](https://github.com/microsoft/vcpkg/pull/17597) [infoware] Bump version to 0.6.0 (by @nabijaczleweli) -- [(#17598)](https://github.com/microsoft/vcpkg/pull/17598) [hdf5] fix pc files (by @Neumann-A) -- [(#17610)](https://github.com/microsoft/vcpkg/pull/17610) [hidapi] fix mac build (by @autoantwort) -- [(#17611)](https://github.com/microsoft/vcpkg/pull/17611) [asio] Add inline dummy return patch (by @pratikpc) -- [(#17620)](https://github.com/microsoft/vcpkg/pull/17620) [cairo] update to 1.17.4 (by @Neumann-A) -- [(#17624)](https://github.com/microsoft/vcpkg/pull/17624) [libass] Update to 0.15.1 (by @Masaiki) -- [(#17625)](https://github.com/microsoft/vcpkg/pull/17625) [ffmpeg] fix optional X11 platform dependencies (by @mcmtroffaes) -- [(#17629)](https://github.com/microsoft/vcpkg/pull/17629) [msmpi] Update the download hash (by @JackBoosY) -- [(#17631)](https://github.com/microsoft/vcpkg/pull/17631) [tool-meson] update to 0.58 (by @Neumann-A) -- [(#17633)](https://github.com/microsoft/vcpkg/pull/17633) Add g++-11 support (by @xieyubo) -- [(#17634)](https://github.com/microsoft/vcpkg/pull/17634) [pthreadpool] remove unused dependency (by @luncliff) -- [(#17637)](https://github.com/microsoft/vcpkg/pull/17637) [libffi] Update patch to fix apply patch failure (by @JackBoosY) -- [(#17641)](https://github.com/microsoft/vcpkg/pull/17641) [DCMTK] Update to 3.6.6 (by @BigSeb) -- [(#17648)](https://github.com/microsoft/vcpkg/pull/17648) [seal]Updated to version 3.6.4 (by @WeiDaiWD) -- [(#17659)](https://github.com/microsoft/vcpkg/pull/17659) [ffmpeg] fix dnn dependency (by @mcmtroffaes) -- [(#17661)](https://github.com/microsoft/vcpkg/pull/17661) [google-cloud-cpp] update to latest (v1.27.0) version (by @coryan) -- [(#17666)](https://github.com/microsoft/vcpkg/pull/17666) [qt5-base] fix install / packages dir being on different drives (by @Neumann-A) -- [(#17669)](https://github.com/microsoft/vcpkg/pull/17669) [gtkmm] Update to 4.0.1 (by @Neumann-A) -- [(#17670)](https://github.com/microsoft/vcpkg/pull/17670) [gtk] update to 4.3.0 (by @Neumann-A) -- [(#17672)](https://github.com/microsoft/vcpkg/pull/17672) [docs registries] Add reference documentation (by @strega-nil) -- [(#17675)](https://github.com/microsoft/vcpkg/pull/17675) [Hedley] Update to v15 (by @pratikpc) -- [(#17682)](https://github.com/microsoft/vcpkg/pull/17682) [fann] Support UNIX, re-fix installation (by @JackBoosY) -- [(#17683)](https://github.com/microsoft/vcpkg/pull/17683) [igraph] update to 0.9.3 (by @szhorvat) -- [(#17689)](https://github.com/microsoft/vcpkg/pull/17689) [vcpkg] Update vcpkg tool version 2021-05-05 (by @ras0219-msft) -- [(#17706)](https://github.com/microsoft/vcpkg/pull/17706) [vcpkg] Update cmake to 3.20.2 (by @Neumann-A) -- [(#17709)](https://github.com/microsoft/vcpkg/pull/17709) [gtest] Update to the latest commit (by @JonLiu1993) -- [(#17710)](https://github.com/microsoft/vcpkg/pull/17710) [libheif] Install pdbs (by @JackBoosY) -- [(#17711)](https://github.com/microsoft/vcpkg/pull/17711) [protopuf] Update to 2.0.0 (by @PragmaTwice) -- [(#17714)](https://github.com/microsoft/vcpkg/pull/17714) [vcpkg baseline][asiosdk] Update hash (by @NancyLi1013) -- [(#17733)](https://github.com/microsoft/vcpkg/pull/17733) [brynet] upgrade version 1.11.0 (by @IronsDu) -- [(#17736)](https://github.com/microsoft/vcpkg/pull/17736) [draco] Fix build error in gcc 11 (by @NancyLi1013) -- [(#17749)](https://github.com/microsoft/vcpkg/pull/17749) [d3dx12] update port (by @walbourn) -- [(#17771)](https://github.com/microsoft/vcpkg/pull/17771) [fastlz] update to the latest commit (by @JonLiu1993) -- [(#17774)](https://github.com/microsoft/vcpkg/pull/17774) [abseil] vcpkg_fixup_pkgconfig (by @Neumann-A) -- [(#17775)](https://github.com/microsoft/vcpkg/pull/17775) [allgero5] vcpkg_fixup_pkgconfig (by @Neumann-A) -- [(#17797)](https://github.com/microsoft/vcpkg/pull/17797) [vcpkg baseline][chartdir] Update version to 7.0.0 (by @Cheney-W) -- [(#17862)](https://github.com/microsoft/vcpkg/pull/17862) [sobjectizer] Update to 5.7.2.4 (by @eao197) - -
- -
-The following 50 ports have been updated: - -- google-cloud-cpp `#0` -> `#0` - - [(#17661)](https://github.com/microsoft/vcpkg/pull/17661) [google-cloud-cpp] update to latest (v1.27.0) version (by @coryan) -- fbgemm `#0` -> `#0` - - [(#17063)](https://github.com/microsoft/vcpkg/pull/17063) [cpuinfo,fbgemm,nnpack] update to latest source version and rename targets (by @luncliff) -- icu `69.1#8` -> `69.1#0` - - [(#16577)](https://github.com/microsoft/vcpkg/pull/16577) [icu] add host depedency (by @autoantwort) -- ghc-filesystem `#0` -> `#0` - - [(#17589)](https://github.com/microsoft/vcpkg/pull/17589) [ghc-filesystem] Fix port/package name discrepancy (by @AndyBrown91) -- vcpkg-cmake `#0` -> `#0` - - [(#17560)](https://github.com/microsoft/vcpkg/pull/17560) [doc] Fix spelling errors (by @dg0yt) -- grpc `#0` -> `#0` - - [(#17424)](https://github.com/microsoft/vcpkg/pull/17424) [grpc] Create codegen feature (by @ras0219) -- sobjectizer `#0` -> `#0` - - [(#17862)](https://github.com/microsoft/vcpkg/pull/17862) [sobjectizer] Update to 5.7.2.4 (by @eao197) -- openssl `1.1.1k#0` -> `1.1.1k#0` - - [(#17456)](https://github.com/microsoft/vcpkg/pull/17456) [Openssl] Fix mingw build (by @dg0yt) -- cryptopp `8.2.0-2#0` -> `8.5.0#0` - - [(#17533)](https://github.com/microsoft/vcpkg/pull/17533) [cryptopp] Update to 8.5.0 (by @orudge) -- pthreadpool `#0` -> `#0` - - [(#17634)](https://github.com/microsoft/vcpkg/pull/17634) [pthreadpool] remove unused dependency (by @luncliff) -- dcmtk `3.6.5+_20191213#0` -> `3.6.6#0` - - [(#17641)](https://github.com/microsoft/vcpkg/pull/17641) [DCMTK] Update to 3.6.6 (by @BigSeb) -- cairo `#0` -> `#0` - - [(#17596)](https://github.com/microsoft/vcpkg/pull/17596) [cairo] Windows: Fix cairo dll definition (by @Neumann-A) - - [(#17620)](https://github.com/microsoft/vcpkg/pull/17620) [cairo] update to 1.17.4 (by @Neumann-A) -- libfido2 `#0` -> `#0` - - [(#16965)](https://github.com/microsoft/vcpkg/pull/16965) [libfido2] New port (by @xgcssch) -- allegro5 `5.2.6.0#0` -> `5.2.6.0#0` - - [(#17775)](https://github.com/microsoft/vcpkg/pull/17775) [allgero5] vcpkg_fixup_pkgconfig (by @Neumann-A) -- draco `1.3.6#0` -> `1.3.6#0` - - [(#17736)](https://github.com/microsoft/vcpkg/pull/17736) [draco] Fix build error in gcc 11 (by @NancyLi1013) -- protopuf `1.0.1#0` -> `1.0.1#0` - - [(#17711)](https://github.com/microsoft/vcpkg/pull/17711) [protopuf] Update to 2.0.0 (by @PragmaTwice) -- cpuinfo `2019-07-28-1#0` -> `2019-07-28-1#0` - - [(#17063)](https://github.com/microsoft/vcpkg/pull/17063) [cpuinfo,fbgemm,nnpack] update to latest source version and rename targets (by @luncliff) -- igraph `#0` -> `#0` - - [(#17683)](https://github.com/microsoft/vcpkg/pull/17683) [igraph] update to 0.9.3 (by @szhorvat) -- tool-meson `0.56.02#0` -> `0.56.02#0` - - [(#17631)](https://github.com/microsoft/vcpkg/pull/17631) [tool-meson] update to 0.58 (by @Neumann-A) -- libtcod `1.16.6#0` -> `1.16.6#0` - - [(#17032)](https://github.com/microsoft/vcpkg/pull/17032) [libtcod] Update to 1.16.7 (by @HexDecimal) -- chartdir `6.3.1#2` -> `6.3.1#0` - - [(#17797)](https://github.com/microsoft/vcpkg/pull/17797) [vcpkg baseline][chartdir] Update version to 7.0.0 (by @Cheney-W) -- fontconfig `2.13.1#6` -> `2.13.1#7` - - [(#17019)](https://github.com/microsoft/vcpkg/pull/17019) [fontconfig] Add cflags in tools build command (by @xandox) -- hidapi `#0` -> `#0` - - [(#17610)](https://github.com/microsoft/vcpkg/pull/17610) [hidapi] fix mac build (by @autoantwort) -- asio `#0` -> `#0` - - [(#17611)](https://github.com/microsoft/vcpkg/pull/17611) [asio] Add inline dummy return patch (by @pratikpc) -- seal `3.6.2#0` -> `3.6.4#0` - - [(#17648)](https://github.com/microsoft/vcpkg/pull/17648) [seal]Updated to version 3.6.4 (by @WeiDaiWD) -- libass `0.15.0#0` -> `0.15.0#0` - - [(#17624)](https://github.com/microsoft/vcpkg/pull/17624) [libass] Update to 0.15.1 (by @Masaiki) -- forge `#0` -> `#0` - - [(#17099)](https://github.com/microsoft/vcpkg/pull/17099) [Forge] update version to 1.0.7 (by @9prady9) -- qt5-base `#0` -> `#0` - - [(#17666)](https://github.com/microsoft/vcpkg/pull/17666) [qt5-base] fix install / packages dir being on different drives (by @Neumann-A) -- d3dx12 `may2020#0` -> `may2021#0` - - [(#17749)](https://github.com/microsoft/vcpkg/pull/17749) [d3dx12] update port (by @walbourn) -- qnnpack `#0` -> `#0` - - [(#17065)](https://github.com/microsoft/vcpkg/pull/17065) [qnnpack] create a new port (by @luncliff) -- asiosdk `2.3.3-1#0` -> `2.3.3-1#0` - - [(#17714)](https://github.com/microsoft/vcpkg/pull/17714) [vcpkg baseline][asiosdk] Update hash (by @NancyLi1013) -- liblsl `1.14.0#0` -> `1.14.0#1` - - [(#17689)](https://github.com/microsoft/vcpkg/pull/17689) [vcpkg] Update vcpkg tool version 2021-05-05 (by @ras0219-msft) -- libheif `1.10.0#0` -> `1.10.0#0` - - [(#17593)](https://github.com/microsoft/vcpkg/pull/17593) [vcpkg baseline][libheif] fix CI errors if gdk-pixbuf can be found (by @Neumann-A) - - [(#17710)](https://github.com/microsoft/vcpkg/pull/17710) [libheif] Install pdbs (by @JackBoosY) -- hedley `14#0` -> `14#0` - - [(#17675)](https://github.com/microsoft/vcpkg/pull/17675) [Hedley] Update to v15 (by @pratikpc) -- infoware `0.5.5#0` -> `0.6.0#0` - - [(#17597)](https://github.com/microsoft/vcpkg/pull/17597) [infoware] Bump version to 0.6.0 (by @nabijaczleweli) -- fann `2.2.0-1#0` -> `2.2.0-1#0` - - [(#17682)](https://github.com/microsoft/vcpkg/pull/17682) [fann] Support UNIX, re-fix installation (by @JackBoosY) -- libffi `#0` -> `#0` - - [(#17637)](https://github.com/microsoft/vcpkg/pull/17637) [libffi] Update patch to fix apply patch failure (by @JackBoosY) -- abseil `#0` -> `#0` - - [(#17774)](https://github.com/microsoft/vcpkg/pull/17774) [abseil] vcpkg_fixup_pkgconfig (by @Neumann-A) -- brynet `1.10.0#0` -> `1.11.0#0` - - [(#17733)](https://github.com/microsoft/vcpkg/pull/17733) [brynet] upgrade version 1.11.0 (by @IronsDu) -- libarchive `#0` -> `#0` - - [(#17266)](https://github.com/microsoft/vcpkg/pull/17266) [libarchive] disable libb2 until properly handled (by @cenit) -- gtk `#0` -> `#0` - - [(#17670)](https://github.com/microsoft/vcpkg/pull/17670) [gtk] update to 4.3.0 (by @Neumann-A) -- protobuf `#0` -> `#0` - - [(#17689)](https://github.com/microsoft/vcpkg/pull/17689) [vcpkg] Update vcpkg tool version 2021-05-05 (by @ras0219-msft) -- nnpack `#0` -> `#0` - - [(#17063)](https://github.com/microsoft/vcpkg/pull/17063) [cpuinfo,fbgemm,nnpack] update to latest source version and rename targets (by @luncliff) -- gtkmm `#0` -> `#0` - - [(#17669)](https://github.com/microsoft/vcpkg/pull/17669) [gtkmm] Update to 4.0.1 (by @Neumann-A) -- msmpi `10.1#0` -> `10.1#0` - - [(#17629)](https://github.com/microsoft/vcpkg/pull/17629) [msmpi] Update the download hash (by @JackBoosY) -- fastlz `1.0-3#0` -> `1.0-3#0` - - [(#17771)](https://github.com/microsoft/vcpkg/pull/17771) [fastlz] update to the latest commit (by @JonLiu1993) -- nccl `2.4.6#0` -> `2.4.6#0` - - [(#17431)](https://github.com/microsoft/vcpkg/pull/17431) [nccl] Remove NCCL auto-download due to licensing issues (by @jacobkahn) -- gtest `1.10.0#4` -> `1.10.0#0` - - [(#17709)](https://github.com/microsoft/vcpkg/pull/17709) [gtest] Update to the latest commit (by @JonLiu1993) -- hdf5 `1.12.0#1` -> `1.12.0#0` - - [(#17598)](https://github.com/microsoft/vcpkg/pull/17598) [hdf5] fix pc files (by @Neumann-A) -- ffmpeg `4.3.2#7` -> `4.3.2#11` - - [(#17204)](https://github.com/microsoft/vcpkg/pull/17204) [ffmpeg] avdevice CoreAudio dependency fix for osx (by @mcmtroffaes) - - [(#17299)](https://github.com/microsoft/vcpkg/pull/17299) [ffmpeg] soxr dependency fix (by @mcmtroffaes) - - [(#17625)](https://github.com/microsoft/vcpkg/pull/17625) [ffmpeg] fix optional X11 platform dependencies (by @mcmtroffaes) - - [(#17659)](https://github.com/microsoft/vcpkg/pull/17659) [ffmpeg] fix dnn dependency (by @mcmtroffaes) - -
- --- vcpkg team vcpkg@microsoft.com Thu, 13 May 00:00:00 -0700 - - -vcpkg (2020.11.03 - 2021.04.30) ---- -#### Total port count: 1667 -#### Total port count per triplet (tested): -|triplet|ports available| -|---|---| -|**x64-windows**|**1523**| -|**x64-linux**|**1433**| -|**x64-osx**|**1333**| -|x86-windows|1483| -|x64-windows-static-md|1441| -|x64-windows-static|1421| -|arm64-windows|1096| -|x64-uwp|829| -|arm-uwp|783| - -
- -The following documentation has been updated: - -- [modify-baseline-to-pin-old-boost.md](docs/examples/modify-baseline-to-pin-old-boost.md) ***[NEW]*** - - [(#16381)](https://github.com/microsoft/vcpkg/pull/16381) [vcpkg] [docs] Add Boost versioning example (by @vicroms) -- [z_vcpkg_apply_patches.md](docs/maintainers/internal/z_vcpkg_apply_patches.md) ***[NEW]*** - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) - - [(#16611)](https://github.com/microsoft/vcpkg/pull/16611) [docs] Fix the automatically generated document URL (by @JackBoosY) -- [z_vcpkg_function_arguments.md](docs/maintainers/internal/z_vcpkg_function_arguments.md) ***[NEW]*** - - [(#16130)](https://github.com/microsoft/vcpkg/pull/16130) [(z_)vcpkg_prettify_command(_line)] Scripts Tree Audit (by @strega-nil) - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) - - [(#16611)](https://github.com/microsoft/vcpkg/pull/16611) [docs] Fix the automatically generated document URL (by @JackBoosY) -- [z_vcpkg_prettify_command_line.md](docs/maintainers/internal/z_vcpkg_prettify_command_line.md) ***[NEW]*** - - [(#16130)](https://github.com/microsoft/vcpkg/pull/16130) [(z_)vcpkg_prettify_command(_line)] Scripts Tree Audit (by @strega-nil) - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) - - [(#16611)](https://github.com/microsoft/vcpkg/pull/16611) [docs] Fix the automatically generated document URL (by @JackBoosY) -- [vcpkg-cmake.md](docs/maintainers/ports/vcpkg-cmake.md) ***[NEW]*** - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) -- [vcpkg_cmake_build.md](docs/maintainers/ports/vcpkg-cmake/vcpkg_cmake_build.md) ***[NEW]*** - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) - - [(#16611)](https://github.com/microsoft/vcpkg/pull/16611) [docs] Fix the automatically generated document URL (by @JackBoosY) -- [vcpkg_cmake_configure.md](docs/maintainers/ports/vcpkg-cmake/vcpkg_cmake_configure.md) ***[NEW]*** - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) - - [(#16611)](https://github.com/microsoft/vcpkg/pull/16611) [docs] Fix the automatically generated document URL (by @JackBoosY) -- [vcpkg_cmake_install.md](docs/maintainers/ports/vcpkg-cmake/vcpkg_cmake_install.md) ***[NEW]*** - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) - - [(#16611)](https://github.com/microsoft/vcpkg/pull/16611) [docs] Fix the automatically generated document URL (by @JackBoosY) -- [vcpkg-cmake-config.md](docs/maintainers/ports/vcpkg-cmake-config.md) ***[NEW]*** - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) -- [vcpkg_cmake_config_fixup.md](docs/maintainers/ports/vcpkg-cmake-config/vcpkg_cmake_config_fixup.md) ***[NEW]*** - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) - - [(#16611)](https://github.com/microsoft/vcpkg/pull/16611) [docs] Fix the automatically generated document URL (by @JackBoosY) -- [vcpkg-pkgconfig-get-modules.md](docs/maintainers/ports/vcpkg-pkgconfig-get-modules.md) ***[NEW]*** - - [(#16954)](https://github.com/microsoft/vcpkg/pull/16954) [vcpkg baseline][qt5-base] Fix glib link issues on linux (by @Neumann-A) -- [x_vcpkg_pkgconfig_get_modules.md](docs/maintainers/ports/vcpkg-pkgconfig-get-modules/x_vcpkg_pkgconfig_get_modules.md) ***[NEW]*** - - [(#16954)](https://github.com/microsoft/vcpkg/pull/16954) [vcpkg baseline][qt5-base] Fix glib link issues on linux (by @Neumann-A) -- [vcpkg_build_qmake.md](docs/maintainers/vcpkg_build_qmake.md) ***[NEW]*** - - [(#14614)](https://github.com/microsoft/vcpkg/pull/14614) [vcpkg docs] Check for documentation generation in CI (by @strega-nil) - - [(#16127)](https://github.com/microsoft/vcpkg/pull/16127) [vcpkg docs] consistency-ify docs/regenerate on non-windows (by @strega-nil) - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) - - [(#16611)](https://github.com/microsoft/vcpkg/pull/16611) [docs] Fix the automatically generated document URL (by @JackBoosY) -- [vcpkg_buildpath_length_warning.md](docs/maintainers/vcpkg_buildpath_length_warning.md) ***[NEW]*** - - [(#14614)](https://github.com/microsoft/vcpkg/pull/14614) [vcpkg docs] Check for documentation generation in CI (by @strega-nil) - - [(#16127)](https://github.com/microsoft/vcpkg/pull/16127) [vcpkg docs] consistency-ify docs/regenerate on non-windows (by @strega-nil) - - [(#16191)](https://github.com/microsoft/vcpkg/pull/16191) [scripts-audit] vcpkg_buildpath_length_warning (by @strega-nil) - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) - - [(#16611)](https://github.com/microsoft/vcpkg/pull/16611) [docs] Fix the automatically generated document URL (by @JackBoosY) -- [vcpkg_configure_qmake.md](docs/maintainers/vcpkg_configure_qmake.md) ***[NEW]*** - - [(#14614)](https://github.com/microsoft/vcpkg/pull/14614) [vcpkg docs] Check for documentation generation in CI (by @strega-nil) - - [(#16127)](https://github.com/microsoft/vcpkg/pull/16127) [vcpkg docs] consistency-ify docs/regenerate on non-windows (by @strega-nil) - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) - - [(#16611)](https://github.com/microsoft/vcpkg/pull/16611) [docs] Fix the automatically generated document URL (by @JackBoosY) -- [vcpkg_execute_in_download_mode.md](docs/maintainers/vcpkg_execute_in_download_mode.md) ***[NEW]*** - - [(#13449)](https://github.com/microsoft/vcpkg/pull/13449) [gdal] Update to 3.1.3 (by @JackBoosY) - - [(#14614)](https://github.com/microsoft/vcpkg/pull/14614) [vcpkg docs] Check for documentation generation in CI (by @strega-nil) - - [(#16127)](https://github.com/microsoft/vcpkg/pull/16127) [vcpkg docs] consistency-ify docs/regenerate on non-windows (by @strega-nil) - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) - - [(#16611)](https://github.com/microsoft/vcpkg/pull/16611) [docs] Fix the automatically generated document URL (by @JackBoosY) -- [vcpkg_execute_required_process_repeat.md](docs/maintainers/vcpkg_execute_required_process_repeat.md) ***[NEW]*** - - [(#14614)](https://github.com/microsoft/vcpkg/pull/14614) [vcpkg docs] Check for documentation generation in CI (by @strega-nil) - - [(#16127)](https://github.com/microsoft/vcpkg/pull/16127) [vcpkg docs] consistency-ify docs/regenerate on non-windows (by @strega-nil) - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) - - [(#16611)](https://github.com/microsoft/vcpkg/pull/16611) [docs] Fix the automatically generated document URL (by @JackBoosY) -- [vcpkg_find_fortran.md](docs/maintainers/vcpkg_find_fortran.md) ***[NEW]*** - - [(#13449)](https://github.com/microsoft/vcpkg/pull/13449) [gdal] Update to 3.1.3 (by @JackBoosY) - - [(#14614)](https://github.com/microsoft/vcpkg/pull/14614) [vcpkg docs] Check for documentation generation in CI (by @strega-nil) - - [(#16127)](https://github.com/microsoft/vcpkg/pull/16127) [vcpkg docs] consistency-ify docs/regenerate on non-windows (by @strega-nil) - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) - - [(#16611)](https://github.com/microsoft/vcpkg/pull/16611) [docs] Fix the automatically generated document URL (by @JackBoosY) -- [vcpkg_get_program_files_platform_bitness.md](docs/maintainers/vcpkg_get_program_files_platform_bitness.md) ***[NEW]*** - - [(#14614)](https://github.com/microsoft/vcpkg/pull/14614) [vcpkg docs] Check for documentation generation in CI (by @strega-nil) - - [(#16127)](https://github.com/microsoft/vcpkg/pull/16127) [vcpkg docs] consistency-ify docs/regenerate on non-windows (by @strega-nil) - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) - - [(#16611)](https://github.com/microsoft/vcpkg/pull/16611) [docs] Fix the automatically generated document URL (by @JackBoosY) -- [vcpkg_get_windows_sdk.md](docs/maintainers/vcpkg_get_windows_sdk.md) ***[NEW]*** - - [(#14614)](https://github.com/microsoft/vcpkg/pull/14614) [vcpkg docs] Check for documentation generation in CI (by @strega-nil) - - [(#16127)](https://github.com/microsoft/vcpkg/pull/16127) [vcpkg docs] consistency-ify docs/regenerate on non-windows (by @strega-nil) - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) - - [(#16611)](https://github.com/microsoft/vcpkg/pull/16611) [docs] Fix the automatically generated document URL (by @JackBoosY) -- [vcpkg_internal_get_cmake_vars.md](docs/maintainers/vcpkg_internal_get_cmake_vars.md) ***[NEW]*** - - [(#13449)](https://github.com/microsoft/vcpkg/pull/13449) [gdal] Update to 3.1.3 (by @JackBoosY) -- [vcpkg_minimum_required.md](docs/maintainers/vcpkg_minimum_required.md) ***[NEW]*** - - [(#15638)](https://github.com/microsoft/vcpkg/pull/15638) [vcpkg] Add vcpkg_minimum_required as a replacement for VERSION.txt. (by @BillyONeal) - - [(#16127)](https://github.com/microsoft/vcpkg/pull/16127) [vcpkg docs] consistency-ify docs/regenerate on non-windows (by @strega-nil) - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) - - [(#16611)](https://github.com/microsoft/vcpkg/pull/16611) [docs] Fix the automatically generated document URL (by @JackBoosY) -- [vcpkg_replace_string.md](docs/maintainers/vcpkg_replace_string.md) ***[NEW]*** - - [(#14614)](https://github.com/microsoft/vcpkg/pull/14614) [vcpkg docs] Check for documentation generation in CI (by @strega-nil) - - [(#16127)](https://github.com/microsoft/vcpkg/pull/16127) [vcpkg docs] consistency-ify docs/regenerate on non-windows (by @strega-nil) - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) - - [(#16611)](https://github.com/microsoft/vcpkg/pull/16611) [docs] Fix the automatically generated document URL (by @JackBoosY) -- [registries-2.md](docs/specifications/registries-2.md) ***[NEW]*** - - [(#13590)](https://github.com/microsoft/vcpkg/pull/13590) [vcpkg registries] Registries: Take 2 (by @strega-nil) - - [(#16502)](https://github.com/microsoft/vcpkg/pull/16502) [docs] Improve inter-document linking; add 'latest' links (by @ras0219) -- [scripts-extraction.md](docs/specifications/scripts-extraction.md) ***[NEW]*** - - [(#16055)](https://github.com/microsoft/vcpkg/pull/16055) [vcpkg] Add scripts tree extraction notes. (by @BillyONeal) - - [(#16502)](https://github.com/microsoft/vcpkg/pull/16502) [docs] Improve inter-document linking; add 'latest' links (by @ras0219) -- [versioning.md](docs/specifications/versioning.md) ***[NEW]*** - - [(#11758)](https://github.com/microsoft/vcpkg/pull/11758) [vcpkg] RFC: Versioning (by @vicroms) - - [(#15784)](https://github.com/microsoft/vcpkg/pull/15784) [vcpkg] Rename `port_versions` to `versions` (by @strega-nil) - - [(#16502)](https://github.com/microsoft/vcpkg/pull/16502) [docs] Improve inter-document linking; add 'latest' links (by @ras0219) -- [host-dependencies.md](docs/users/host-dependencies.md) ***[NEW]*** - - [(#16627)](https://github.com/microsoft/vcpkg/pull/16627) [host dependencies] add support in the scripts (by @strega-nil) -- [mingw.md](docs/users/mingw.md) ***[NEW]*** - - [(#17219)](https://github.com/microsoft/vcpkg/pull/17219) Add mingw documentation (by @dg0yt) -- [versioning.getting-started.md](docs/users/versioning.getting-started.md) ***[NEW]*** - - [(#15693)](https://github.com/microsoft/vcpkg/pull/15693) [vcpkg] More versioning docs (by @vicroms) - - [(#16324)](https://github.com/microsoft/vcpkg/pull/16324) [vcpkg docs] Update the versioning.getting-started.md (by @PhoebeHui) -- [versioning.implementation-details.md](docs/users/versioning.implementation-details.md) ***[NEW]*** - - [(#15693)](https://github.com/microsoft/vcpkg/pull/15693) [vcpkg] More versioning docs (by @vicroms) - - [(#16502)](https://github.com/microsoft/vcpkg/pull/16502) [docs] Improve inter-document linking; add 'latest' links (by @ras0219) - - [(#17566)](https://github.com/microsoft/vcpkg/pull/17566) [docs] Fix broken links (by @PhoebeHui) -- [versioning.md](docs/users/versioning.md) ***[NEW]*** - - [(#15565)](https://github.com/microsoft/vcpkg/pull/15565) [vcpkg] Add initial versioning documentation (by @ras0219) - - [(#15693)](https://github.com/microsoft/vcpkg/pull/15693) [vcpkg] More versioning docs (by @vicroms) - - [(#16502)](https://github.com/microsoft/vcpkg/pull/16502) [docs] Improve inter-document linking; add 'latest' links (by @ras0219) - - [(#17566)](https://github.com/microsoft/vcpkg/pull/17566) [docs] Fix broken links (by @PhoebeHui) -- [versioning.reference.md](docs/users/versioning.reference.md) ***[NEW]*** - - [(#15693)](https://github.com/microsoft/vcpkg/pull/15693) [vcpkg] More versioning docs (by @vicroms) - - [(#16502)](https://github.com/microsoft/vcpkg/pull/16502) [docs] Improve inter-document linking; add 'latest' links (by @ras0219) - - [(#17566)](https://github.com/microsoft/vcpkg/pull/17566) [docs] Fix broken links (by @PhoebeHui) -- [faq.md](docs/about/faq.md) - - [(#15845)](https://github.com/microsoft/vcpkg/pull/15845) [docs] Correct the "new port requests" link in FAQ (by @claremacrae) - - [(#17257)](https://github.com/microsoft/vcpkg/pull/17257) [vcpkg docs] Add the procedure for updating vcpkg to faq (by @PhoebeHui) - - [(#17566)](https://github.com/microsoft/vcpkg/pull/17566) [docs] Fix broken links (by @PhoebeHui) -- [privacy.md](docs/about/privacy.md) - - [(#15474)](https://github.com/microsoft/vcpkg/pull/15474) [vcpkg] Download vcpkg.exe rather than building it in bootstrap on Windows. (by @BillyONeal) -- [manifest-mode-cmake.md](docs/examples/manifest-mode-cmake.md) - - [(#16502)](https://github.com/microsoft/vcpkg/pull/16502) [docs] Improve inter-document linking; add 'latest' links (by @ras0219) - - [(#17502)](https://github.com/microsoft/vcpkg/pull/17502) [doc] Fix example code. (by @w-gomes) -- [packaging-github-repos.md](docs/examples/packaging-github-repos.md) - - [(#15018)](https://github.com/microsoft/vcpkg/pull/15018) [cppunit] add linux support and bump version to 1.15.1 (by @dweckmann) -- [packaging-zipfiles.md](docs/examples/packaging-zipfiles.md) - - [(#15018)](https://github.com/microsoft/vcpkg/pull/15018) [cppunit] add linux support and bump version to 1.15.1 (by @dweckmann) -- [patching.md](docs/examples/patching.md) - - [(#17566)](https://github.com/microsoft/vcpkg/pull/17566) [docs] Fix broken links (by @PhoebeHui) -- [versioning.getting-started.md](docs/examples/versioning.getting-started.md) - - [(#16502)](https://github.com/microsoft/vcpkg/pull/16502) [docs] Improve inter-document linking; add 'latest' links (by @ras0219) -- [index.md](docs/index.md) - - [(#14833)](https://github.com/microsoft/vcpkg/pull/14833) Fix broken doc link (by @TeeVenDick) - - [(#16421)](https://github.com/microsoft/vcpkg/pull/16421) [docs] Add references to awesome community websites. Fixes #16278 (by @ras0219) - - [(#16489)](https://github.com/microsoft/vcpkg/pull/16489) [docs] Update to Community Resources in doc (by @Balnian) - - [(#16502)](https://github.com/microsoft/vcpkg/pull/16502) [docs] Improve inter-document linking; add 'latest' links (by @ras0219) - - [(#16522)](https://github.com/microsoft/vcpkg/pull/16522) [vcpkg docs] Fix typo in docs/index.md (by @sbc100) - - [(#16627)](https://github.com/microsoft/vcpkg/pull/16627) [host dependencies] add support in the scripts (by @strega-nil) -- [control-files.md](docs/maintainers/control-files.md) - - [(#16502)](https://github.com/microsoft/vcpkg/pull/16502) [docs] Improve inter-document linking; add 'latest' links (by @ras0219) - - [(#17214)](https://github.com/microsoft/vcpkg/pull/17214) [doc] Improve manifest documentation links (by @dg0yt) - - [(#17439)](https://github.com/microsoft/vcpkg/pull/17439) control-files.md: fix dead link and add command how to convert files (by @autoantwort) - - [(#17566)](https://github.com/microsoft/vcpkg/pull/17566) [docs] Fix broken links (by @PhoebeHui) -- [execute_process.md](docs/maintainers/execute_process.md) - - [(#14614)](https://github.com/microsoft/vcpkg/pull/14614) [vcpkg docs] Check for documentation generation in CI (by @strega-nil) - - [(#16127)](https://github.com/microsoft/vcpkg/pull/16127) [vcpkg docs] consistency-ify docs/regenerate on non-windows (by @strega-nil) - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) - - [(#16611)](https://github.com/microsoft/vcpkg/pull/16611) [docs] Fix the automatically generated document URL (by @JackBoosY) -- [vcpkg_internal_get_cmake_vars.md](docs/maintainers/internal/vcpkg_internal_get_cmake_vars.md) - - [(#16127)](https://github.com/microsoft/vcpkg/pull/16127) [vcpkg docs] consistency-ify docs/regenerate on non-windows (by @strega-nil) - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) - - [(#16611)](https://github.com/microsoft/vcpkg/pull/16611) [docs] Fix the automatically generated document URL (by @JackBoosY) -- [maintainer-guide.md](docs/maintainers/maintainer-guide.md) - - [(#15171)](https://github.com/microsoft/vcpkg/pull/15171) [docs] Document acceptable uses for features. (by @BillyONeal) - - [(#15655)](https://github.com/microsoft/vcpkg/pull/15655) [vcpkg] Add CI check for version files and update maintainer's guideline (by @vicroms) - - [(#15784)](https://github.com/microsoft/vcpkg/pull/15784) [vcpkg] Rename `port_versions` to `versions` (by @strega-nil) - - [(#16480)](https://github.com/microsoft/vcpkg/pull/16480) [vcpkg_*_cmake] remove deprecation message (by @strega-nil) - - [(#16795)](https://github.com/microsoft/vcpkg/pull/16795) [docs] link to up to date versioning specification (by @autoantwort) - - [(#16852)](https://github.com/microsoft/vcpkg/pull/16852) [maintainer-guide] Clarify best practices for default features (by @ras0219-msft) -- [manifest-files.md](docs/maintainers/manifest-files.md) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#17549)](https://github.com/microsoft/vcpkg/pull/17549) [doc] Update manifest to reference versioning spec (by @mathisloge) -- [portfile-functions.md](docs/maintainers/portfile-functions.md) - - [(#13449)](https://github.com/microsoft/vcpkg/pull/13449) [gdal] Update to 3.1.3 (by @JackBoosY) - - [(#14614)](https://github.com/microsoft/vcpkg/pull/14614) [vcpkg docs] Check for documentation generation in CI (by @strega-nil) - - [(#14914)](https://github.com/microsoft/vcpkg/pull/14914) [docs] fix pwsh sorting (by @strega-nil) - - [(#15638)](https://github.com/microsoft/vcpkg/pull/15638) [vcpkg] Add vcpkg_minimum_required as a replacement for VERSION.txt. (by @BillyONeal) - - [(#16127)](https://github.com/microsoft/vcpkg/pull/16127) [vcpkg docs] consistency-ify docs/regenerate on non-windows (by @strega-nil) - - [(#16130)](https://github.com/microsoft/vcpkg/pull/16130) [(z_)vcpkg_prettify_command(_line)] Scripts Tree Audit (by @strega-nil) - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) - - [(#16954)](https://github.com/microsoft/vcpkg/pull/16954) [vcpkg baseline][qt5-base] Fix glib link issues on linux (by @Neumann-A) -- [vcpkg_acquire_msys.md](docs/maintainers/vcpkg_acquire_msys.md) - - [(#13449)](https://github.com/microsoft/vcpkg/pull/13449) [gdal] Update to 3.1.3 (by @JackBoosY) - - [(#16127)](https://github.com/microsoft/vcpkg/pull/16127) [vcpkg docs] consistency-ify docs/regenerate on non-windows (by @strega-nil) - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) - - [(#16611)](https://github.com/microsoft/vcpkg/pull/16611) [docs] Fix the automatically generated document URL (by @JackBoosY) -- [vcpkg_add_to_path.md](docs/maintainers/vcpkg_add_to_path.md) - - [(#14614)](https://github.com/microsoft/vcpkg/pull/14614) [vcpkg docs] Check for documentation generation in CI (by @strega-nil) - - [(#16127)](https://github.com/microsoft/vcpkg/pull/16127) [vcpkg docs] consistency-ify docs/regenerate on non-windows (by @strega-nil) - - [(#16189)](https://github.com/microsoft/vcpkg/pull/16189) [scripts-audit] vcpkg_add_to_path (by @strega-nil) - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) - - [(#16611)](https://github.com/microsoft/vcpkg/pull/16611) [docs] Fix the automatically generated document URL (by @JackBoosY) -- [vcpkg_apply_patches.md](docs/maintainers/vcpkg_apply_patches.md) - - [(#16127)](https://github.com/microsoft/vcpkg/pull/16127) [vcpkg docs] consistency-ify docs/regenerate on non-windows (by @strega-nil) - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) - - [(#16611)](https://github.com/microsoft/vcpkg/pull/16611) [docs] Fix the automatically generated document URL (by @JackBoosY) -- [vcpkg_build_cmake.md](docs/maintainers/vcpkg_build_cmake.md) - - [(#16127)](https://github.com/microsoft/vcpkg/pull/16127) [vcpkg docs] consistency-ify docs/regenerate on non-windows (by @strega-nil) - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) - - [(#16611)](https://github.com/microsoft/vcpkg/pull/16611) [docs] Fix the automatically generated document URL (by @JackBoosY) -- [vcpkg_build_gn.md](docs/maintainers/vcpkg_build_gn.md) - - [(#16127)](https://github.com/microsoft/vcpkg/pull/16127) [vcpkg docs] consistency-ify docs/regenerate on non-windows (by @strega-nil) - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) - - [(#16611)](https://github.com/microsoft/vcpkg/pull/16611) [docs] Fix the automatically generated document URL (by @JackBoosY) -- [vcpkg_build_make.md](docs/maintainers/vcpkg_build_make.md) - - [(#13449)](https://github.com/microsoft/vcpkg/pull/13449) [gdal] Update to 3.1.3 (by @JackBoosY) - - [(#14614)](https://github.com/microsoft/vcpkg/pull/14614) [vcpkg docs] Check for documentation generation in CI (by @strega-nil) - - [(#14891)](https://github.com/microsoft/vcpkg/pull/14891) [python3] Build interpreter (by @Hoikas) - - [(#15419)](https://github.com/microsoft/vcpkg/pull/15419) [docs] fix "CMake script" -> "makefile" for vcpkg_(n)build_make (by @tueda) - - [(#16127)](https://github.com/microsoft/vcpkg/pull/16127) [vcpkg docs] consistency-ify docs/regenerate on non-windows (by @strega-nil) - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) - - [(#16611)](https://github.com/microsoft/vcpkg/pull/16611) [docs] Fix the automatically generated document URL (by @JackBoosY) -- [vcpkg_build_msbuild.md](docs/maintainers/vcpkg_build_msbuild.md) - - [(#15018)](https://github.com/microsoft/vcpkg/pull/15018) [cppunit] add linux support and bump version to 1.15.1 (by @dweckmann) - - [(#16127)](https://github.com/microsoft/vcpkg/pull/16127) [vcpkg docs] consistency-ify docs/regenerate on non-windows (by @strega-nil) - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) - - [(#16611)](https://github.com/microsoft/vcpkg/pull/16611) [docs] Fix the automatically generated document URL (by @JackBoosY) -- [vcpkg_build_ninja.md](docs/maintainers/vcpkg_build_ninja.md) - - [(#16127)](https://github.com/microsoft/vcpkg/pull/16127) [vcpkg docs] consistency-ify docs/regenerate on non-windows (by @strega-nil) - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) - - [(#16611)](https://github.com/microsoft/vcpkg/pull/16611) [docs] Fix the automatically generated document URL (by @JackBoosY) -- [vcpkg_build_nmake.md](docs/maintainers/vcpkg_build_nmake.md) - - [(#13449)](https://github.com/microsoft/vcpkg/pull/13449) [gdal] Update to 3.1.3 (by @JackBoosY) - - [(#14614)](https://github.com/microsoft/vcpkg/pull/14614) [vcpkg docs] Check for documentation generation in CI (by @strega-nil) - - [(#15419)](https://github.com/microsoft/vcpkg/pull/15419) [docs] fix "CMake script" -> "makefile" for vcpkg_(n)build_make (by @tueda) - - [(#16127)](https://github.com/microsoft/vcpkg/pull/16127) [vcpkg docs] consistency-ify docs/regenerate on non-windows (by @strega-nil) - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) - - [(#16611)](https://github.com/microsoft/vcpkg/pull/16611) [docs] Fix the automatically generated document URL (by @JackBoosY) -- [vcpkg_check_features.md](docs/maintainers/vcpkg_check_features.md) - - [(#14614)](https://github.com/microsoft/vcpkg/pull/14614) [vcpkg docs] Check for documentation generation in CI (by @strega-nil) - - [(#15089)](https://github.com/microsoft/vcpkg/pull/15089) [libarchive+tesseract+opencv] add missing libarchiveConfig.cmake, fix tesseract downstream and unblock opencv CI (by @cenit) - - [(#16127)](https://github.com/microsoft/vcpkg/pull/16127) [vcpkg docs] consistency-ify docs/regenerate on non-windows (by @strega-nil) - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) - - [(#16611)](https://github.com/microsoft/vcpkg/pull/16611) [docs] Fix the automatically generated document URL (by @JackBoosY) -- [vcpkg_check_linkage.md](docs/maintainers/vcpkg_check_linkage.md) - - [(#13449)](https://github.com/microsoft/vcpkg/pull/13449) [gdal] Update to 3.1.3 (by @JackBoosY) - - [(#14614)](https://github.com/microsoft/vcpkg/pull/14614) [vcpkg docs] Check for documentation generation in CI (by @strega-nil) - - [(#15832)](https://github.com/microsoft/vcpkg/pull/15832) [vcpkg] clarify the actions of vcpkg_check_linkage (by @barcharcraz) - - [(#16127)](https://github.com/microsoft/vcpkg/pull/16127) [vcpkg docs] consistency-ify docs/regenerate on non-windows (by @strega-nil) - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) - - [(#16611)](https://github.com/microsoft/vcpkg/pull/16611) [docs] Fix the automatically generated document URL (by @JackBoosY) -- [vcpkg_clean_executables_in_bin.md](docs/maintainers/vcpkg_clean_executables_in_bin.md) - - [(#16127)](https://github.com/microsoft/vcpkg/pull/16127) [vcpkg docs] consistency-ify docs/regenerate on non-windows (by @strega-nil) - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) - - [(#16611)](https://github.com/microsoft/vcpkg/pull/16611) [docs] Fix the automatically generated document URL (by @JackBoosY) -- [vcpkg_clean_msbuild.md](docs/maintainers/vcpkg_clean_msbuild.md) - - [(#16127)](https://github.com/microsoft/vcpkg/pull/16127) [vcpkg docs] consistency-ify docs/regenerate on non-windows (by @strega-nil) - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) - - [(#16611)](https://github.com/microsoft/vcpkg/pull/16611) [docs] Fix the automatically generated document URL (by @JackBoosY) -- [vcpkg_common_definitions.md](docs/maintainers/vcpkg_common_definitions.md) - - [(#13449)](https://github.com/microsoft/vcpkg/pull/13449) [gdal] Update to 3.1.3 (by @JackBoosY) - - [(#14549)](https://github.com/microsoft/vcpkg/pull/14549) [vcpkg] initial openbsd (community) support (by @jgilje) - - [(#14614)](https://github.com/microsoft/vcpkg/pull/14614) [vcpkg docs] Check for documentation generation in CI (by @strega-nil) - - [(#15725)](https://github.com/microsoft/vcpkg/pull/15725) [aws-cpp-sdk] [zlib] [openssl] [curl] Fix zlib, OpenSSL, curl and AWS SDK for Android (by @ahmedyarub) - - [(#16127)](https://github.com/microsoft/vcpkg/pull/16127) [vcpkg docs] consistency-ify docs/regenerate on non-windows (by @strega-nil) - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) - - [(#16611)](https://github.com/microsoft/vcpkg/pull/16611) [docs] Fix the automatically generated document URL (by @JackBoosY) - - [(#16627)](https://github.com/microsoft/vcpkg/pull/16627) [host dependencies] add support in the scripts (by @strega-nil) - - [(#16900)](https://github.com/microsoft/vcpkg/pull/16900) [vcpkg/scripts] add variable VCPKG_CROSSCOMPILING (by @Neumann-A) -- [vcpkg_configure_cmake.md](docs/maintainers/vcpkg_configure_cmake.md) - - [(#13449)](https://github.com/microsoft/vcpkg/pull/13449) [gdal] Update to 3.1.3 (by @JackBoosY) - - [(#16127)](https://github.com/microsoft/vcpkg/pull/16127) [vcpkg docs] consistency-ify docs/regenerate on non-windows (by @strega-nil) - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) - - [(#16611)](https://github.com/microsoft/vcpkg/pull/16611) [docs] Fix the automatically generated document URL (by @JackBoosY) -- [vcpkg_configure_gn.md](docs/maintainers/vcpkg_configure_gn.md) - - [(#16127)](https://github.com/microsoft/vcpkg/pull/16127) [vcpkg docs] consistency-ify docs/regenerate on non-windows (by @strega-nil) - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) - - [(#16611)](https://github.com/microsoft/vcpkg/pull/16611) [docs] Fix the automatically generated document URL (by @JackBoosY) -- [vcpkg_configure_make.md](docs/maintainers/vcpkg_configure_make.md) - - [(#13449)](https://github.com/microsoft/vcpkg/pull/13449) [gdal] Update to 3.1.3 (by @JackBoosY) - - [(#16127)](https://github.com/microsoft/vcpkg/pull/16127) [vcpkg docs] consistency-ify docs/regenerate on non-windows (by @strega-nil) - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) - - [(#16611)](https://github.com/microsoft/vcpkg/pull/16611) [docs] Fix the automatically generated document URL (by @JackBoosY) -- [vcpkg_configure_meson.md](docs/maintainers/vcpkg_configure_meson.md) - - [(#16127)](https://github.com/microsoft/vcpkg/pull/16127) [vcpkg docs] consistency-ify docs/regenerate on non-windows (by @strega-nil) - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) - - [(#16611)](https://github.com/microsoft/vcpkg/pull/16611) [docs] Fix the automatically generated document URL (by @JackBoosY) -- [vcpkg_copy_pdbs.md](docs/maintainers/vcpkg_copy_pdbs.md) - - [(#16127)](https://github.com/microsoft/vcpkg/pull/16127) [vcpkg docs] consistency-ify docs/regenerate on non-windows (by @strega-nil) - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) - - [(#16611)](https://github.com/microsoft/vcpkg/pull/16611) [docs] Fix the automatically generated document URL (by @JackBoosY) -- [vcpkg_copy_tool_dependencies.md](docs/maintainers/vcpkg_copy_tool_dependencies.md) - - [(#16127)](https://github.com/microsoft/vcpkg/pull/16127) [vcpkg docs] consistency-ify docs/regenerate on non-windows (by @strega-nil) - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) - - [(#16611)](https://github.com/microsoft/vcpkg/pull/16611) [docs] Fix the automatically generated document URL (by @JackBoosY) -- [vcpkg_copy_tools.md](docs/maintainers/vcpkg_copy_tools.md) - - [(#16127)](https://github.com/microsoft/vcpkg/pull/16127) [vcpkg docs] consistency-ify docs/regenerate on non-windows (by @strega-nil) - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) - - [(#16611)](https://github.com/microsoft/vcpkg/pull/16611) [docs] Fix the automatically generated document URL (by @JackBoosY) - - [(#16935)](https://github.com/microsoft/vcpkg/pull/16935) [vcpkg/scripts] add a way to define another tool destination (by @Neumann-A) -- [vcpkg_download_distfile.md](docs/maintainers/vcpkg_download_distfile.md) - - [(#13449)](https://github.com/microsoft/vcpkg/pull/13449) [gdal] Update to 3.1.3 (by @JackBoosY) - - [(#16127)](https://github.com/microsoft/vcpkg/pull/16127) [vcpkg docs] consistency-ify docs/regenerate on non-windows (by @strega-nil) - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) - - [(#16611)](https://github.com/microsoft/vcpkg/pull/16611) [docs] Fix the automatically generated document URL (by @JackBoosY) -- [vcpkg_execute_build_process.md](docs/maintainers/vcpkg_execute_build_process.md) - - [(#16127)](https://github.com/microsoft/vcpkg/pull/16127) [vcpkg docs] consistency-ify docs/regenerate on non-windows (by @strega-nil) - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) - - [(#16515)](https://github.com/microsoft/vcpkg/pull/16515) Remove a ')' character in the documentation (by @duanqn) - - [(#16611)](https://github.com/microsoft/vcpkg/pull/16611) [docs] Fix the automatically generated document URL (by @JackBoosY) -- [vcpkg_execute_required_process.md](docs/maintainers/vcpkg_execute_required_process.md) - - [(#13449)](https://github.com/microsoft/vcpkg/pull/13449) [gdal] Update to 3.1.3 (by @JackBoosY) - - [(#16127)](https://github.com/microsoft/vcpkg/pull/16127) [vcpkg docs] consistency-ify docs/regenerate on non-windows (by @strega-nil) - - [(#16130)](https://github.com/microsoft/vcpkg/pull/16130) [(z_)vcpkg_prettify_command(_line)] Scripts Tree Audit (by @strega-nil) - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) - - [(#16611)](https://github.com/microsoft/vcpkg/pull/16611) [docs] Fix the automatically generated document URL (by @JackBoosY) -- [vcpkg_extract_source_archive.md](docs/maintainers/vcpkg_extract_source_archive.md) - - [(#14614)](https://github.com/microsoft/vcpkg/pull/14614) [vcpkg docs] Check for documentation generation in CI (by @strega-nil) - - [(#16127)](https://github.com/microsoft/vcpkg/pull/16127) [vcpkg docs] consistency-ify docs/regenerate on non-windows (by @strega-nil) - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) - - [(#16611)](https://github.com/microsoft/vcpkg/pull/16611) [docs] Fix the automatically generated document URL (by @JackBoosY) -- [vcpkg_extract_source_archive_ex.md](docs/maintainers/vcpkg_extract_source_archive_ex.md) - - [(#16127)](https://github.com/microsoft/vcpkg/pull/16127) [vcpkg docs] consistency-ify docs/regenerate on non-windows (by @strega-nil) - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) - - [(#16611)](https://github.com/microsoft/vcpkg/pull/16611) [docs] Fix the automatically generated document URL (by @JackBoosY) -- [vcpkg_fail_port_install.md](docs/maintainers/vcpkg_fail_port_install.md) - - [(#16127)](https://github.com/microsoft/vcpkg/pull/16127) [vcpkg docs] consistency-ify docs/regenerate on non-windows (by @strega-nil) - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) - - [(#16611)](https://github.com/microsoft/vcpkg/pull/16611) [docs] Fix the automatically generated document URL (by @JackBoosY) -- [vcpkg_find_acquire_program.md](docs/maintainers/vcpkg_find_acquire_program.md) - - [(#13449)](https://github.com/microsoft/vcpkg/pull/13449) [gdal] Update to 3.1.3 (by @JackBoosY) - - [(#14614)](https://github.com/microsoft/vcpkg/pull/14614) [vcpkg docs] Check for documentation generation in CI (by @strega-nil) - - [(#16127)](https://github.com/microsoft/vcpkg/pull/16127) [vcpkg docs] consistency-ify docs/regenerate on non-windows (by @strega-nil) - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) - - [(#16611)](https://github.com/microsoft/vcpkg/pull/16611) [docs] Fix the automatically generated document URL (by @JackBoosY) -- [vcpkg_fixup_cmake_targets.md](docs/maintainers/vcpkg_fixup_cmake_targets.md) - - [(#14614)](https://github.com/microsoft/vcpkg/pull/14614) [vcpkg docs] Check for documentation generation in CI (by @strega-nil) - - [(#16127)](https://github.com/microsoft/vcpkg/pull/16127) [vcpkg docs] consistency-ify docs/regenerate on non-windows (by @strega-nil) - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) - - [(#16611)](https://github.com/microsoft/vcpkg/pull/16611) [docs] Fix the automatically generated document URL (by @JackBoosY) - - [(#16935)](https://github.com/microsoft/vcpkg/pull/16935) [vcpkg/scripts] add a way to define another tool destination (by @Neumann-A) -- [vcpkg_fixup_pkgconfig.md](docs/maintainers/vcpkg_fixup_pkgconfig.md) - - [(#13126)](https://github.com/microsoft/vcpkg/pull/13126) [vcpkg_fixup_pkgconfig] Handle spaces in path, do not validate individual libraries (by @ras0219) - - [(#13449)](https://github.com/microsoft/vcpkg/pull/13449) [gdal] Update to 3.1.3 (by @JackBoosY) - - [(#14614)](https://github.com/microsoft/vcpkg/pull/14614) [vcpkg docs] Check for documentation generation in CI (by @strega-nil) - - [(#15725)](https://github.com/microsoft/vcpkg/pull/15725) [aws-cpp-sdk] [zlib] [openssl] [curl] Fix zlib, OpenSSL, curl and AWS SDK for Android (by @ahmedyarub) - - [(#16127)](https://github.com/microsoft/vcpkg/pull/16127) [vcpkg docs] consistency-ify docs/regenerate on non-windows (by @strega-nil) - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) - - [(#16611)](https://github.com/microsoft/vcpkg/pull/16611) [docs] Fix the automatically generated document URL (by @JackBoosY) -- [vcpkg_from_bitbucket.md](docs/maintainers/vcpkg_from_bitbucket.md) - - [(#16127)](https://github.com/microsoft/vcpkg/pull/16127) [vcpkg docs] consistency-ify docs/regenerate on non-windows (by @strega-nil) - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) - - [(#16611)](https://github.com/microsoft/vcpkg/pull/16611) [docs] Fix the automatically generated document URL (by @JackBoosY) -- [vcpkg_from_git.md](docs/maintainers/vcpkg_from_git.md) - - [(#15049)](https://github.com/microsoft/vcpkg/pull/15049) [vcpkg_from_git] new options TAG and X_OUT_REF (by @Neumann-A) - - [(#16127)](https://github.com/microsoft/vcpkg/pull/16127) [vcpkg docs] consistency-ify docs/regenerate on non-windows (by @strega-nil) - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) - - [(#16611)](https://github.com/microsoft/vcpkg/pull/16611) [docs] Fix the automatically generated document URL (by @JackBoosY) -- [vcpkg_from_github.md](docs/maintainers/vcpkg_from_github.md) - - [(#13449)](https://github.com/microsoft/vcpkg/pull/13449) [gdal] Update to 3.1.3 (by @JackBoosY) - - [(#14884)](https://github.com/microsoft/vcpkg/pull/14884) [vcpkg baseline][vtk-m] fix the sha512 (by @strega-nil) - - [(#16127)](https://github.com/microsoft/vcpkg/pull/16127) [vcpkg docs] consistency-ify docs/regenerate on non-windows (by @strega-nil) - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) - - [(#16611)](https://github.com/microsoft/vcpkg/pull/16611) [docs] Fix the automatically generated document URL (by @JackBoosY) -- [vcpkg_from_gitlab.md](docs/maintainers/vcpkg_from_gitlab.md) - - [(#14614)](https://github.com/microsoft/vcpkg/pull/14614) [vcpkg docs] Check for documentation generation in CI (by @strega-nil) - - [(#14884)](https://github.com/microsoft/vcpkg/pull/14884) [vcpkg baseline][vtk-m] fix the sha512 (by @strega-nil) - - [(#16127)](https://github.com/microsoft/vcpkg/pull/16127) [vcpkg docs] consistency-ify docs/regenerate on non-windows (by @strega-nil) - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) - - [(#16611)](https://github.com/microsoft/vcpkg/pull/16611) [docs] Fix the automatically generated document URL (by @JackBoosY) -- [vcpkg_from_sourceforge.md](docs/maintainers/vcpkg_from_sourceforge.md) - - [(#16127)](https://github.com/microsoft/vcpkg/pull/16127) [vcpkg docs] consistency-ify docs/regenerate on non-windows (by @strega-nil) - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) - - [(#16611)](https://github.com/microsoft/vcpkg/pull/16611) [docs] Fix the automatically generated document URL (by @JackBoosY) -- [vcpkg_install_cmake.md](docs/maintainers/vcpkg_install_cmake.md) - - [(#16127)](https://github.com/microsoft/vcpkg/pull/16127) [vcpkg docs] consistency-ify docs/regenerate on non-windows (by @strega-nil) - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) - - [(#16611)](https://github.com/microsoft/vcpkg/pull/16611) [docs] Fix the automatically generated document URL (by @JackBoosY) -- [vcpkg_install_gn.md](docs/maintainers/vcpkg_install_gn.md) - - [(#16127)](https://github.com/microsoft/vcpkg/pull/16127) [vcpkg docs] consistency-ify docs/regenerate on non-windows (by @strega-nil) - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) - - [(#16611)](https://github.com/microsoft/vcpkg/pull/16611) [docs] Fix the automatically generated document URL (by @JackBoosY) -- [vcpkg_install_make.md](docs/maintainers/vcpkg_install_make.md) - - [(#16127)](https://github.com/microsoft/vcpkg/pull/16127) [vcpkg docs] consistency-ify docs/regenerate on non-windows (by @strega-nil) - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) - - [(#16611)](https://github.com/microsoft/vcpkg/pull/16611) [docs] Fix the automatically generated document URL (by @JackBoosY) -- [vcpkg_install_meson.md](docs/maintainers/vcpkg_install_meson.md) - - [(#15756)](https://github.com/microsoft/vcpkg/pull/15756) [vcpkg/meson] fix some details (by @Neumann-A) - - [(#16127)](https://github.com/microsoft/vcpkg/pull/16127) [vcpkg docs] consistency-ify docs/regenerate on non-windows (by @strega-nil) - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) - - [(#16611)](https://github.com/microsoft/vcpkg/pull/16611) [docs] Fix the automatically generated document URL (by @JackBoosY) -- [vcpkg_install_msbuild.md](docs/maintainers/vcpkg_install_msbuild.md) - - [(#16127)](https://github.com/microsoft/vcpkg/pull/16127) [vcpkg docs] consistency-ify docs/regenerate on non-windows (by @strega-nil) - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) - - [(#16611)](https://github.com/microsoft/vcpkg/pull/16611) [docs] Fix the automatically generated document URL (by @JackBoosY) -- [vcpkg_install_nmake.md](docs/maintainers/vcpkg_install_nmake.md) - - [(#13449)](https://github.com/microsoft/vcpkg/pull/13449) [gdal] Update to 3.1.3 (by @JackBoosY) - - [(#16127)](https://github.com/microsoft/vcpkg/pull/16127) [vcpkg docs] consistency-ify docs/regenerate on non-windows (by @strega-nil) - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) - - [(#16611)](https://github.com/microsoft/vcpkg/pull/16611) [docs] Fix the automatically generated document URL (by @JackBoosY) -- [vcpkg_install_qmake.md](docs/maintainers/vcpkg_install_qmake.md) - - [(#16127)](https://github.com/microsoft/vcpkg/pull/16127) [vcpkg docs] consistency-ify docs/regenerate on non-windows (by @strega-nil) - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) - - [(#16611)](https://github.com/microsoft/vcpkg/pull/16611) [docs] Fix the automatically generated document URL (by @JackBoosY) -- [vcpkg_prettify_command.md](docs/maintainers/vcpkg_prettify_command.md) - - [(#16127)](https://github.com/microsoft/vcpkg/pull/16127) [vcpkg docs] consistency-ify docs/regenerate on non-windows (by @strega-nil) - - [(#16130)](https://github.com/microsoft/vcpkg/pull/16130) [(z_)vcpkg_prettify_command(_line)] Scripts Tree Audit (by @strega-nil) -- [README.md](docs/README.md) - - [(#16758)](https://github.com/microsoft/vcpkg/pull/16758) [docs] Rename docs/index.md to docs/README.md (by @autoantwort) - - [(#16796)](https://github.com/microsoft/vcpkg/pull/16796) [docs] fix links for vcpkg-tool maintainer help (by @autoantwort) - - [(#17066)](https://github.com/microsoft/vcpkg/pull/17066) add link to common vcpkg definitions (by @autoantwort) - - [(#17214)](https://github.com/microsoft/vcpkg/pull/17214) [doc] Improve manifest documentation links (by @dg0yt) - - [(#17219)](https://github.com/microsoft/vcpkg/pull/17219) Add mingw documentation (by @dg0yt) - - [(#17220)](https://github.com/microsoft/vcpkg/pull/17220) [docs] add more blog posts (by @autoantwort) - - [(#17550)](https://github.com/microsoft/vcpkg/pull/17550) [doc] Add 2019.06 blog post (by @dg0yt) - - [(#17566)](https://github.com/microsoft/vcpkg/pull/17566) [docs] Fix broken links (by @PhoebeHui) -- [regenerate.ps1](docs/regenerate.ps1) - - [(#14614)](https://github.com/microsoft/vcpkg/pull/14614) [vcpkg docs] Check for documentation generation in CI (by @strega-nil) - - [(#14914)](https://github.com/microsoft/vcpkg/pull/14914) [docs] fix pwsh sorting (by @strega-nil) - - [(#16127)](https://github.com/microsoft/vcpkg/pull/16127) [vcpkg docs] consistency-ify docs/regenerate on non-windows (by @strega-nil) - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) - - [(#16611)](https://github.com/microsoft/vcpkg/pull/16611) [docs] Fix the automatically generated document URL (by @JackBoosY) - - [(#16954)](https://github.com/microsoft/vcpkg/pull/16954) [vcpkg baseline][qt5-base] Fix glib link issues on linux (by @Neumann-A) -- [binarycaching.md](docs/specifications/binarycaching.md) - - [(#16502)](https://github.com/microsoft/vcpkg/pull/16502) [docs] Improve inter-document linking; add 'latest' links (by @ras0219) -- [export-command.md](docs/specifications/export-command.md) - - [(#16502)](https://github.com/microsoft/vcpkg/pull/16502) [docs] Improve inter-document linking; add 'latest' links (by @ras0219) -- [feature-packages.md](docs/specifications/feature-packages.md) - - [(#16502)](https://github.com/microsoft/vcpkg/pull/16502) [docs] Improve inter-document linking; add 'latest' links (by @ras0219) -- [manifests.md](docs/specifications/manifests.md) - - [(#15688)](https://github.com/microsoft/vcpkg/pull/15688) fix wrong path in docs/specifications/manifests.md (by @aarcangeli) - - [(#16502)](https://github.com/microsoft/vcpkg/pull/16502) [docs] Improve inter-document linking; add 'latest' links (by @ras0219) - - [(#16760)](https://github.com/microsoft/vcpkg/pull/16760) [vcpkg docs] Modify manifest-root-dir as manifest-root (by @NancyLi1013) -- [ports-overlay.md](docs/specifications/ports-overlay.md) - - [(#16502)](https://github.com/microsoft/vcpkg/pull/16502) [docs] Improve inter-document linking; add 'latest' links (by @ras0219) -- [prefab.md](docs/specifications/prefab.md) - - [(#16502)](https://github.com/microsoft/vcpkg/pull/16502) [docs] Improve inter-document linking; add 'latest' links (by @ras0219) -- [registries.md](docs/specifications/registries.md) - - [(#16502)](https://github.com/microsoft/vcpkg/pull/16502) [docs] Improve inter-document linking; add 'latest' links (by @ras0219) -- [benchmarking.md](docs/tool-maintainers/benchmarking.md) - - [(#15474)](https://github.com/microsoft/vcpkg/pull/15474) [vcpkg] Download vcpkg.exe rather than building it in bootstrap on Windows. (by @BillyONeal) -- [layout.md](docs/tool-maintainers/layout.md) - - [(#15474)](https://github.com/microsoft/vcpkg/pull/15474) [vcpkg] Download vcpkg.exe rather than building it in bootstrap on Windows. (by @BillyONeal) -- [testing.md](docs/tool-maintainers/testing.md) - - [(#15474)](https://github.com/microsoft/vcpkg/pull/15474) [vcpkg] Download vcpkg.exe rather than building it in bootstrap on Windows. (by @BillyONeal) -- [android.md](docs/users/android.md) - - [(#16502)](https://github.com/microsoft/vcpkg/pull/16502) [docs] Improve inter-document linking; add 'latest' links (by @ras0219) - - [(#16881)](https://github.com/microsoft/vcpkg/pull/16881) [docs] Vulkan SDK usage for Android triplets (by @luncliff) -- [binarycaching.md](docs/users/binarycaching.md) - - [(#13626)](https://github.com/microsoft/vcpkg/pull/13626) [vcpkg] Add experimental x-azblob binary provider (by @ras0219) - - [(#14952)](https://github.com/microsoft/vcpkg/pull/14952) [vcpkg] Fix uploading to Azure DevOps Artifacts (by @ras0219) - - [(#15396)](https://github.com/microsoft/vcpkg/pull/15396) [vcpkg] Improve docs for binarycaching (by @ras0219) - - [(#15512)](https://github.com/microsoft/vcpkg/pull/15512) [vcpkg] Allow to use Nuget's cache for Nuget binary caching sources (fix #15169) (by @klalumiere) - - [(#16337)](https://github.com/microsoft/vcpkg/pull/16337) [docs/users/binarycaching.md] a little blurb about using GCS (by @coryan) - - [(#16502)](https://github.com/microsoft/vcpkg/pull/16502) [docs] Improve inter-document linking; add 'latest' links (by @ras0219) - - [(#17060)](https://github.com/microsoft/vcpkg/pull/17060) binarycaching.md: Move Configuration section to the top. Add table of??? (by @autoantwort) -- [config-environment.md](docs/users/config-environment.md) - - [(#15396)](https://github.com/microsoft/vcpkg/pull/15396) [vcpkg] Improve docs for binarycaching (by @ras0219) - - [(#15512)](https://github.com/microsoft/vcpkg/pull/15512) [vcpkg] Allow to use Nuget's cache for Nuget binary caching sources (fix #15169) (by @klalumiere) - - [(#16502)](https://github.com/microsoft/vcpkg/pull/16502) [docs] Improve inter-document linking; add 'latest' links (by @ras0219) - - [(#16627)](https://github.com/microsoft/vcpkg/pull/16627) [host dependencies] add support in the scripts (by @strega-nil) - - [(#17566)](https://github.com/microsoft/vcpkg/pull/17566) [docs] Fix broken links (by @PhoebeHui) -- [integration.md](docs/users/integration.md) - - [(#16323)](https://github.com/microsoft/vcpkg/pull/16323) [docs] Add CMake Integration to manifests.md (by @ras0219) - - [(#16502)](https://github.com/microsoft/vcpkg/pull/16502) [docs] Improve inter-document linking; add 'latest' links (by @ras0219) - - [(#17566)](https://github.com/microsoft/vcpkg/pull/17566) [docs] Fix broken links (by @PhoebeHui) -- [manifests.md](docs/users/manifests.md) - - [(#15565)](https://github.com/microsoft/vcpkg/pull/15565) [vcpkg] Add initial versioning documentation (by @ras0219) - - [(#16069)](https://github.com/microsoft/vcpkg/pull/16069) [docs/users/manifests.md] Prioritize examples. Fix example. Add MSBuild integration documentation. (by @ras0219-msft) - - [(#16155)](https://github.com/microsoft/vcpkg/pull/16155) [vcpkg.targets] Add an additional options parameter for MSBuild integration (by @ras0219) - - [(#16173)](https://github.com/microsoft/vcpkg/pull/16173) [vcpkg integrate install] Allow setting the vcpkg installed dir (by @strega-nil) - - [(#16323)](https://github.com/microsoft/vcpkg/pull/16323) [docs] Add CMake Integration to manifests.md (by @ras0219) - - [(#16336)](https://github.com/microsoft/vcpkg/pull/16336) [docs/users/manifests.md] add a link to the specification (by @coryan) - - [(#16502)](https://github.com/microsoft/vcpkg/pull/16502) [docs] Improve inter-document linking; add 'latest' links (by @ras0219) - - [(#16627)](https://github.com/microsoft/vcpkg/pull/16627) [host dependencies] add support in the scripts (by @strega-nil) -- [selecting-library-features.md](docs/users/selecting-library-features.md) - - [(#16502)](https://github.com/microsoft/vcpkg/pull/16502) [docs] Improve inter-document linking; add 'latest' links (by @ras0219) - - [(#17484)](https://github.com/microsoft/vcpkg/pull/17484) [doc] Fix broken link (by @dg0yt) -- [triplets.md](docs/users/triplets.md) - - [(#15115)](https://github.com/microsoft/vcpkg/pull/15115) [vcpkg] `VCPKG_ENV_PASSTHROUGH_UNTRACKED` (by @ras0219) - - [(#16502)](https://github.com/microsoft/vcpkg/pull/16502) [docs] Improve inter-document linking; add 'latest' links (by @ras0219) - - [(#16867)](https://github.com/microsoft/vcpkg/pull/16867) [docs-triplets] Suggest overlay triplets (by @ras0219-msft) - - [(#17219)](https://github.com/microsoft/vcpkg/pull/17219) Add mingw documentation (by @dg0yt) -
- -
-The following changes to vcpkg have been made: - -- [(#7824)](https://github.com/microsoft/vcpkg/pull/7824) [fastcgi]Add new port (by @longhuan2018) -- [(#8524)](https://github.com/microsoft/vcpkg/pull/8524) Add option VCPKG_QMAKE_USE_NMAKE in vcpkg_build_qmake and install_qt (by @JackBoosY) -- [(#9231)](https://github.com/microsoft/vcpkg/pull/9231) [pcl] Add gcc version check (by @NancyLi1013) -- [(#10979)](https://github.com/microsoft/vcpkg/pull/10979) [popsift] add new port v0.9 (by @simogasp) -- [(#11225)](https://github.com/microsoft/vcpkg/pull/11225) [magnum] fixes adding any feature that depends on any other feature it will enable all the defaults (by @fran6co) -- [(#11273)](https://github.com/microsoft/vcpkg/pull/11273) [ignition-common3] Add new port ???? (by @traversaro) -- [(#11758)](https://github.com/microsoft/vcpkg/pull/11758) [vcpkg] RFC: Versioning (by @vicroms) -- [(#11776)](https://github.com/microsoft/vcpkg/pull/11776) [intl/gettext/fontconfig] update to native build system (by @Neumann-A) -- [(#11898)](https://github.com/microsoft/vcpkg/pull/11898) Add support for llvm-objdump to applocal.ps1 (by @Chronial) -- [(#12215)](https://github.com/microsoft/vcpkg/pull/12215) [vcpkg_fixup_cmake_targets] Add NO_PREFIX_CORRECTION (by @Neumann-A) -- [(#12785)](https://github.com/microsoft/vcpkg/pull/12785) [OpenCV] fix compatibility with VTK9 (by @cenit) -- [(#12860)](https://github.com/microsoft/vcpkg/pull/12860) [harfbuzz] Use meson and update to 2.7.0 (by @vejmartin) -- [(#12877)](https://github.com/microsoft/vcpkg/pull/12877) [vcpkg] Add option cmake-args (by @Neumann-A) -- [(#12936)](https://github.com/microsoft/vcpkg/pull/12936) [vcpkg/scripts] Add a way to get cmake compiler settings/flags (by @Neumann-A) -- [(#12945)](https://github.com/microsoft/vcpkg/pull/12945) [meson|scripts] update scripts (by @Neumann-A) -- [(#13028)](https://github.com/microsoft/vcpkg/pull/13028) More or less completely rewritten tensorflow-cc port (by @jgehw) -- [(#13081)](https://github.com/microsoft/vcpkg/pull/13081) [mpc/mpfr] Add new port / update mpfr (by @Neumann-A) -- [(#13100)](https://github.com/microsoft/vcpkg/pull/13100) [glib up to gtk] update and make it work with meson (by @Neumann-A) -- [(#13126)](https://github.com/microsoft/vcpkg/pull/13126) [vcpkg_fixup_pkgconfig] Handle spaces in path, do not validate individual libraries (by @ras0219) -- [(#13300)](https://github.com/microsoft/vcpkg/pull/13300) [sdl2pp] Update to 0.16.1 and fix find_package error (by @LilyWangL) -- [(#13355)](https://github.com/microsoft/vcpkg/pull/13355) [v8] Update v8 to current stable version: 8.6.395.17 (by @Kwizatz) -- [(#13361)](https://github.com/microsoft/vcpkg/pull/13361) [wxwidgets] Fix #4756 (by @ras0219) -- [(#13448)](https://github.com/microsoft/vcpkg/pull/13448) [BLAS] add metaport (by @cenit) -- [(#13449)](https://github.com/microsoft/vcpkg/pull/13449) [gdal] Update to 3.1.3 (by @JackBoosY) -- [(#13467)](https://github.com/microsoft/vcpkg/pull/13467) [many ports] Update existing KF5 frameworks to 5.75 (by @wrobelda) -- [(#13590)](https://github.com/microsoft/vcpkg/pull/13590) [vcpkg registries] Registries: Take 2 (by @strega-nil) -- [(#13626)](https://github.com/microsoft/vcpkg/pull/13626) [vcpkg] Add experimental x-azblob binary provider (by @ras0219) -- [(#13658)](https://github.com/microsoft/vcpkg/pull/13658) [rhash] Update to the latest version (by @LilyWangL) -- [(#13680)](https://github.com/microsoft/vcpkg/pull/13680) [paho-mqtt] Update to version 1.3.5 (by @LilyWangL) -- [(#13687)](https://github.com/microsoft/vcpkg/pull/13687) [usd] fix dll path and update to 20.08 (by @ousttrue) -- [(#13691)](https://github.com/microsoft/vcpkg/pull/13691) [libprotobuf-mutator] Add new port (by @lebdron) -- [(#13704)](https://github.com/microsoft/vcpkg/pull/13704) [libdatachannel] Add new port (by @Nemirtingas) -- [(#13725)](https://github.com/microsoft/vcpkg/pull/13725) [matplotplusplus] Add new port (by @myd7349) -- [(#13739)](https://github.com/microsoft/vcpkg/pull/13739) [eigen3] Fix include path (by @LilyWangL) -- [(#13755)](https://github.com/microsoft/vcpkg/pull/13755) [vcpkg] Two bug fixes and some improvements in buildsystems/msbuild (by @FrankHeimes) -- [(#13759)](https://github.com/microsoft/vcpkg/pull/13759) [camport3] add new port (by @syp1975) -- [(#13849)](https://github.com/microsoft/vcpkg/pull/13849) [physx] Add support for Linux, macOS, and UWP (by @Hoikas) -- [(#13899)](https://github.com/microsoft/vcpkg/pull/13899) [imgui] Add experimental docking feature (by @brukted) -- [(#13931)](https://github.com/microsoft/vcpkg/pull/13931) [vcpkg] Increment number of retries and timeout of fs.rename() (by @mapozyan) -- [(#13950)](https://github.com/microsoft/vcpkg/pull/13950) [many ports] add GnuPG libraries (by @wrobelda) -- [(#13998)](https://github.com/microsoft/vcpkg/pull/13998) [llvm] update to 11.0.0 (by @yurybura) -- [(#14018)](https://github.com/microsoft/vcpkg/pull/14018) [vcpkg] preprocess _ignore_flags with vcpkg_escape_regex_control_characters (by @jgilje) -- [(#14083)](https://github.com/microsoft/vcpkg/pull/14083) [qt5-tools] Patch windeployqt to locate icudtd correctly. (by @seanlis) -- [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) -- [(#14109)](https://github.com/microsoft/vcpkg/pull/14109) [abseil] Revert changes about arm build (by @JackBoosY) -- [(#14123)](https://github.com/microsoft/vcpkg/pull/14123) [vcpkg] Implement VersionedPortfileProvider and BaselineProvider (by @vicroms) -- [(#14153)](https://github.com/microsoft/vcpkg/pull/14153) [vcpkg] Initial Registries: Part 2 MVP (by @strega-nil) -- [(#14183)](https://github.com/microsoft/vcpkg/pull/14183) [vcpkg] Implement constraints and overrides in manifests (by @ras0219) -- [(#14186)](https://github.com/microsoft/vcpkg/pull/14186) [icu] Add MSVC ARM64 support (by @janisozaur) -- [(#14195)](https://github.com/microsoft/vcpkg/pull/14195) [comms] Add new ports (by @mathisloge) -- [(#14213)](https://github.com/microsoft/vcpkg/pull/14213) [libjuice] Update libjuice for libdatachannel port. (by @Nemirtingas) -- [(#14223)](https://github.com/microsoft/vcpkg/pull/14223) [indicators] Update to Master (by @Link1J) -- [(#14240)](https://github.com/microsoft/vcpkg/pull/14240) [arrayfire] New Port (by @jacobkahn) -- [(#14242)](https://github.com/microsoft/vcpkg/pull/14242) [many ports] Add GnuTLS and its dependencies (by @wrobelda) -- [(#14243)](https://github.com/microsoft/vcpkg/pull/14243) [vcpkg] X_VCPKG_APPINSTALL_DEPS_INSTALL optionally install dependencies on install (by @sandercox) -- [(#14245)](https://github.com/microsoft/vcpkg/pull/14245) [vcpkg baseline] Clean up baseline, use Keyword Supports Part 1 (by @JackBoosY) -- [(#14246)](https://github.com/microsoft/vcpkg/pull/14246) [vcpkg baseline] Clean up baseline, use Keyword Supports Part 2 (by @JackBoosY) -- [(#14248)](https://github.com/microsoft/vcpkg/pull/14248) [libnice] Fix build error on Linux (by @LilyWangL) -- [(#14290)](https://github.com/microsoft/vcpkg/pull/14290) [libmysql/libmariadb] Export unofficial cmake targets (by @JackBoosY) -- [(#14292)](https://github.com/microsoft/vcpkg/pull/14292) [caf] Add usage and vcpkg-cmake-wrapper (by @NancyLi1013) -- [(#14299)](https://github.com/microsoft/vcpkg/pull/14299) [rtabmap] New port (by @seanyen) -- [(#14305)](https://github.com/microsoft/vcpkg/pull/14305) [poco] Fix dependency, add features (by @JackBoosY) -- [(#14308)](https://github.com/microsoft/vcpkg/pull/14308) [OpenSSL] refactor openssl ports. (by @Neumann-A) -- [(#14310)](https://github.com/microsoft/vcpkg/pull/14310) [vcpkg] Add korean version Readme (by @AkiaCode) -- [(#14324)](https://github.com/microsoft/vcpkg/pull/14324) [ignition] Updates on various pkgs ???? (by @ahoarau) -- [(#14325)](https://github.com/microsoft/vcpkg/pull/14325) [tbb] Support tbb build for arm-linux & arm64-linux (by @xieyubo) -- [(#14341)](https://github.com/microsoft/vcpkg/pull/14341) [oatpp] Add new port and vcpkg.json (by @mheyman) -- [(#14343)](https://github.com/microsoft/vcpkg/pull/14343) [vcpkg, azure-macro-utils-c] Fix SHA and add FILE_DISAMBIGUATOR for vcpkg_from_github (by @BillyONeal) -- [(#14344)](https://github.com/microsoft/vcpkg/pull/14344) [tool-meson] Update to 0.56.0 (by @c72578) -- [(#14348)](https://github.com/microsoft/vcpkg/pull/14348) [libsamplerate, sdl2-gfx] Fix build error with Visual Studio 2019 version 16.8 (by @LilyWangL) -- [(#14349)](https://github.com/microsoft/vcpkg/pull/14349) [sentry-native] Disable warning C5105 (by @LilyWangL) -- [(#14350)](https://github.com/microsoft/vcpkg/pull/14350) [curl] Fixes pkgconfig configuration file (by @Matioupi) -- [(#14351)](https://github.com/microsoft/vcpkg/pull/14351) add dataframe of github hosseinmoein/DataFrame (by @shimondoodkin) -- [(#14360)](https://github.com/microsoft/vcpkg/pull/14360) [ffmpeg] add if guard, fix library ordering on linux, minor clean up (by @mcmtroffaes) -- [(#14366)](https://github.com/microsoft/vcpkg/pull/14366) [vcpkg] Disable vcpkg_copy_tool_dependencies on non-Windows (by @BillyONeal) -- [(#14372)](https://github.com/microsoft/vcpkg/pull/14372) [fmt] update to 7.1.1 (by @bl-ue) -- [(#14375)](https://github.com/microsoft/vcpkg/pull/14375) [google-cloud-cpp] Update to the v1.20.0 release (by @coryan) -- [(#14376)](https://github.com/microsoft/vcpkg/pull/14376) [libigl] Fix dynamic build and enable header-only mode (by @FabienPean) -- [(#14377)](https://github.com/microsoft/vcpkg/pull/14377) Update CHANGELOG 2020.11.03 (by @vicroms) -- [(#14379)](https://github.com/microsoft/vcpkg/pull/14379) [imgui] Update to 1.79 (by @RT222) -- [(#14380)](https://github.com/microsoft/vcpkg/pull/14380) [implot] Update to 0.8 (by @RT222) -- [(#14382)](https://github.com/microsoft/vcpkg/pull/14382) [kenlm, pdal] Fix const overload on Visual Studio 2019 version 16.8 (by @LilyWangL) -- [(#14383)](https://github.com/microsoft/vcpkg/pull/14383) [magnum] Removing quotes around tools list where vcpkg_copy_tools is involked (by @PhoebeHui) -- [(#14385)](https://github.com/microsoft/vcpkg/pull/14385) [oatpp-curl] Fix curl dependency cannot be found (by @NancyLi1013) -- [(#14387)](https://github.com/microsoft/vcpkg/pull/14387) [xeus] remove openssl static build patch as it is no longer needed (by @mcmtroffaes) -- [(#14388)](https://github.com/microsoft/vcpkg/pull/14388) [ffmpeg] simplify openssl library search, and fix linux openssl feature linking (by @mcmtroffaes) -- [(#14392)](https://github.com/microsoft/vcpkg/pull/14392) [tensorflow] Add C port (by @jgehw) -- [(#14395)](https://github.com/microsoft/vcpkg/pull/14395) [ZSTD] Update to 1.4.5 (by @Neumann-A) -- [(#14396)](https://github.com/microsoft/vcpkg/pull/14396) [vcpkg] copy tools pdb if they exist. (by @Neumann-A) -- [(#14397)](https://github.com/microsoft/vcpkg/pull/14397) [vcpkg] Add x-ignore-lock-failures (by @strega-nil) -- [(#14399)](https://github.com/microsoft/vcpkg/pull/14399) [llvm] install tools in tools/llvm (by @strega-nil) -- [(#14400)](https://github.com/microsoft/vcpkg/pull/14400) [vcpkg baseline] [rtabmap] Set option dependencies OFF (by @PhoebeHui) -- [(#14405)](https://github.com/microsoft/vcpkg/pull/14405) [netcdf-cxx4] Export cmake targets (by @NancyLi1013) -- [(#14407)](https://github.com/microsoft/vcpkg/pull/14407) [libffi] mingw support (by @longnguyen2004) -- [(#14412)](https://github.com/microsoft/vcpkg/pull/14412) [geotrans] update to version 3.8 (on-hold waiting for CI/VM port 21 for ftp to be opened or alternate host site) (by @StarGate-One) -- [(#14413)](https://github.com/microsoft/vcpkg/pull/14413) [fmt] update to 7.1.2 (by @bl-ue) -- [(#14414)](https://github.com/microsoft/vcpkg/pull/14414) [span-lite] update to 0.8.1 (by @Ryan-rsm-McKenzie) -- [(#14416)](https://github.com/microsoft/vcpkg/pull/14416) [cppgraphqlgen] Update to v3.2.4 (by @wravery) -- [(#14417)](https://github.com/microsoft/vcpkg/pull/14417) [sdl2] apply upstream patch to fix macos vulkan fixes #13773 (by @jhs67) -- [(#14421)](https://github.com/microsoft/vcpkg/pull/14421) [netcdf-c] Fix linkage error (by @NancyLi1013) -- [(#14422)](https://github.com/microsoft/vcpkg/pull/14422) [osg-qt] Fix installation when building static on Windows (by @JackBoosY) -- [(#14426)](https://github.com/microsoft/vcpkg/pull/14426) [vcpkg baseline][rtabmap] Fix dependency issue when build tools (by @PhoebeHui) -- [(#14435)](https://github.com/microsoft/vcpkg/pull/14435) [opencascade] update debug paths in *Targets-debug.cmake (by @socuwn) -- [(#14436)](https://github.com/microsoft/vcpkg/pull/14436) [vcpkg] Add a definition for OVERLAY_TRIPLET_ENV (by @strega-nil) -- [(#14439)](https://github.com/microsoft/vcpkg/pull/14439) [string-theory] Update to 3.4 (by @zrax) -- [(#14443)](https://github.com/microsoft/vcpkg/pull/14443) [krabsetw] Update to 4.1.14 (by @jrave) -- [(#14444)](https://github.com/microsoft/vcpkg/pull/14444) [mpg123] Upgrade to 1.26.3 (by @evpobr) -- [(#14446)](https://github.com/microsoft/vcpkg/pull/14446) [protopuf] Add a new port protopuf (by @PragmaTwice) -- [(#14447)](https://github.com/microsoft/vcpkg/pull/14447) [alembic] update to 1.7.16 (by @SeekingMeaning) -- [(#14448)](https://github.com/microsoft/vcpkg/pull/14448) [quill] Update to 1.5.2 (by @odygrd) -- [(#14450)](https://github.com/microsoft/vcpkg/pull/14450) [bond] update to 9.0.3 (by @SeekingMeaning) -- [(#14452)](https://github.com/microsoft/vcpkg/pull/14452) [zstr] update to 1.0.4 (by @SeekingMeaning) -- [(#14453)](https://github.com/microsoft/vcpkg/pull/14453) [yas] update to 7.0.5 (by @SeekingMeaning) -- [(#14454)](https://github.com/microsoft/vcpkg/pull/14454) [xsimd][xtensor][xtl] Update to latest (by @SeekingMeaning) -- [(#14455)](https://github.com/microsoft/vcpkg/pull/14455) [xeus] update to 0.24.3 (by @SeekingMeaning) -- [(#14456)](https://github.com/microsoft/vcpkg/pull/14456) [wepoll] update to 1.5.8 (by @SeekingMeaning) -- [(#14457)](https://github.com/microsoft/vcpkg/pull/14457) [openssl] Add build depends to deprecated openssl ports (by @Neumann-A) -- [(#14460)](https://github.com/microsoft/vcpkg/pull/14460) [szip, openssl] Fix problems with mingw (by @longnguyen2004) -- [(#14462)](https://github.com/microsoft/vcpkg/pull/14462) [libcuckoo] Update version to v0.3 (by @westfly) -- [(#14465)](https://github.com/microsoft/vcpkg/pull/14465) [libflac] require NASM for libflac[asm] (by @cbergemann) -- [(#14473)](https://github.com/microsoft/vcpkg/pull/14473) [curl] Enable feature tool and install curl-config on non-Windows (by @JackBoosY) -- [(#14476)](https://github.com/microsoft/vcpkg/pull/14476) [libxslt] Fix install tools and pkgconfig (by @JackBoosY) -- [(#14477)](https://github.com/microsoft/vcpkg/pull/14477) [openssl] Remove unused patches (by @NancyLi1013) -- [(#14479)](https://github.com/microsoft/vcpkg/pull/14479) [aws-sdk-cpp] Update to 1.8.83 (by @PhoebeHui) -- [(#14481)](https://github.com/microsoft/vcpkg/pull/14481) [onnxruntime-gpu] Add port for onnxruntime (GPU) (by @ianormy) -- [(#14482)](https://github.com/microsoft/vcpkg/pull/14482) [gamedev-framework] update to 0.18.1 (by @jube) -- [(#14483)](https://github.com/microsoft/vcpkg/pull/14483) [libjpeg-turbo] Enabled jpeg7 and jpeg8 APIs (by @Ziriax) -- [(#14485)](https://github.com/microsoft/vcpkg/pull/14485) [libosmscout] Add new port (by @OgreTransporter) -- [(#14493)](https://github.com/microsoft/vcpkg/pull/14493) Fix some "passing, remove from fail lists" from the 2020-11-08 build (by @BillyONeal) -- [(#14496)](https://github.com/microsoft/vcpkg/pull/14496) [restinio] update to v.0.6.12 (by @eao197) -- [(#14497)](https://github.com/microsoft/vcpkg/pull/14497) [libde265] Updated to v1.0.8 (by @JonLiu1993) -- [(#14499)](https://github.com/microsoft/vcpkg/pull/14499) [freetype] Fix INTERFACE_LINK_LIBRARIES in exported cmake file (by @JackBoosY) -- [(#14502)](https://github.com/microsoft/vcpkg/pull/14502) [boost-locale] Replace VCPKG_TARGET_IS_WINDOWS in b2-options (by @longnguyen2004) -- [(#14505)](https://github.com/microsoft/vcpkg/pull/14505) [nuspell] Update version to 4.0.1 (by @dimztimz) -- [(#14510)](https://github.com/microsoft/vcpkg/pull/14510) [python3] Upgrade to 3.9.0 (by @Hoikas) -- [(#14517)](https://github.com/microsoft/vcpkg/pull/14517) [boost] Install usage file (by @PhoebeHui) -- [(#14518)](https://github.com/microsoft/vcpkg/pull/14518) [ampl-mp] Update version, separate port ampl-asl and fix arm build (by @JackBoosY) -- [(#14521)](https://github.com/microsoft/vcpkg/pull/14521) [comms ] update to the next version (by @mathisloge) -- [(#14522)](https://github.com/microsoft/vcpkg/pull/14522) [realsense2] Update to version 2.39.0 (by @padarom) -- [(#14523)](https://github.com/microsoft/vcpkg/pull/14523) [comms-ublox] added new port (by @mathisloge) -- [(#14528)](https://github.com/microsoft/vcpkg/pull/14528) [3fd] Update to 2.6.3, fix port (by @strega-nil) -- [(#14529)](https://github.com/microsoft/vcpkg/pull/14529) [freetds] Remove patches and update to a version that no longer needs them (by @BillyONeal) -- [(#14530)](https://github.com/microsoft/vcpkg/pull/14530) [harfbuzz] fix icu linkage (by @Neumann-A) -- [(#14533)](https://github.com/microsoft/vcpkg/pull/14533) [libmariadb] Export target mariadbclient (by @JackBoosY) -- [(#14535)](https://github.com/microsoft/vcpkg/pull/14535) [libarchive] Fix dependencies, combine patches (by @JackBoosY) -- [(#14536)](https://github.com/microsoft/vcpkg/pull/14536) [opencl] Remove feature wdk (by @PhoebeHui) -- [(#14538)](https://github.com/microsoft/vcpkg/pull/14538) [urho3d] Add new port (by @koprok) -- [(#14539)](https://github.com/microsoft/vcpkg/pull/14539) [directxtk][directxtk12][directxtex][directxmesh] Update to latest version (by @RT222) -- [(#14540)](https://github.com/microsoft/vcpkg/pull/14540) [libidn2] Update to version 2.3.0 (by @lazyhamster) -- [(#14541)](https://github.com/microsoft/vcpkg/pull/14541) [sentry-native] Update to version 0.4.4 (by @AenBleidd) -- [(#14545)](https://github.com/microsoft/vcpkg/pull/14545) [libvpx] switch from yasm to nasm (by @mcmtroffaes) -- [(#14546)](https://github.com/microsoft/vcpkg/pull/14546) [aws-sdk-cpp] Make aws-sdk-cpp rpath relocatable (by @klalumiere) -- [(#14547)](https://github.com/microsoft/vcpkg/pull/14547) [ffmpeg] use nasm instead of yasm (by @mcmtroffaes) -- [(#14549)](https://github.com/microsoft/vcpkg/pull/14549) [vcpkg] initial openbsd (community) support (by @jgilje) -- [(#14554)](https://github.com/microsoft/vcpkg/pull/14554) [assimp] Fix cmake config name and add cmake version (by @PhoebeHui) -- [(#14555)](https://github.com/microsoft/vcpkg/pull/14555) [tbb] fix shared tbb library configuration build under *nix (by @xandox) -- [(#14556)](https://github.com/microsoft/vcpkg/pull/14556) [many ports] mingw support (by @longnguyen2004) -- [(#14562)](https://github.com/microsoft/vcpkg/pull/14562) [ignition-transport8] Fix ignition-transport8 version (by @ahoarau) -- [(#14563)](https://github.com/microsoft/vcpkg/pull/14563) [robin-hood-hashing] Update to 3.9.1 (by @RT222) -- [(#14566)](https://github.com/microsoft/vcpkg/pull/14566) [liblsl] Update to 1.13.1 (by @chausner) -- [(#14576)](https://github.com/microsoft/vcpkg/pull/14576) [seal] Update to version 3.6.0. Changed default features. (by @WeiDaiWD) -- [(#14579)](https://github.com/microsoft/vcpkg/pull/14579) [baseline][libarchive] : regression fix (by @Matioupi) -- [(#14580)](https://github.com/microsoft/vcpkg/pull/14580) fix single configuration make builds. (by @Neumann-A) -- [(#14583)](https://github.com/microsoft/vcpkg/pull/14583) [ijg-libjpeg] add new port (by @luncliff) -- [(#14586)](https://github.com/microsoft/vcpkg/pull/14586) [vcpkg baseline][monkeys-audio] Update to 5.59 (by @NancyLi1013) -- [(#14587)](https://github.com/microsoft/vcpkg/pull/14587) [xmlsec] Update to 1.2.31 (by @SvenPStarFinanz) -- [(#14589)](https://github.com/microsoft/vcpkg/pull/14589) [poco] Fix dependency and cmake config issue (by @PhoebeHui) -- [(#14594)](https://github.com/microsoft/vcpkg/pull/14594) [qt5-base] fix brotli linkage and qml dlls deployment (by @Neumann-A) -- [(#14605)](https://github.com/microsoft/vcpkg/pull/14605) CGAL: Update to 5.1.1 (by @maxGimeno) -- [(#14614)](https://github.com/microsoft/vcpkg/pull/14614) [vcpkg docs] Check for documentation generation in CI (by @strega-nil) -- [(#14615)](https://github.com/microsoft/vcpkg/pull/14615) [liblzma] use upstream CMakeLists.txt + Add pkgconfig. (by @Neumann-A) -- [(#14616)](https://github.com/microsoft/vcpkg/pull/14616) [vcpkg] Fix GCC-6 build. (by @ras0219-msft) -- [(#14618)](https://github.com/microsoft/vcpkg/pull/14618) [SUNDIALS] Update to 5.5.0 (by @JonLiu1993) -- [(#14623)](https://github.com/microsoft/vcpkg/pull/14623) [hunspell] Avoid automatically added lib prefix (by @PhoebeHui) -- [(#14624)](https://github.com/microsoft/vcpkg/pull/14624) [cppzmq] Add draft feature (by @NancyLi1013) -- [(#14625)](https://github.com/microsoft/vcpkg/pull/14625) Fix for issue #11927 (by @christophe-calmejane) -- [(#14626)](https://github.com/microsoft/vcpkg/pull/14626) [libpq/ffmpeg] Fix iconv/intl linkage not covered by CI (by @Neumann-A) -- [(#14629)](https://github.com/microsoft/vcpkg/pull/14629) [proj] Added support for optionally building the tools (by @SNiLD) -- [(#14633)](https://github.com/microsoft/vcpkg/pull/14633) [vcpkg] Introduce `create_versioned_install_plan()` (by @ras0219) -- [(#14640)](https://github.com/microsoft/vcpkg/pull/14640) [mesa] new port (by @Neumann-A) -- [(#14642)](https://github.com/microsoft/vcpkg/pull/14642) [zeromq] Add feature draft (by @JonLiu1993) -- [(#14644)](https://github.com/microsoft/vcpkg/pull/14644) [vcpkg baseline][qt5-location] Update patch (by @NancyLi1013) -- [(#14646)](https://github.com/microsoft/vcpkg/pull/14646) [soci] Update to 4.0.1 (by @JonLiu1993) -- [(#14647)](https://github.com/microsoft/vcpkg/pull/14647) [abseil] Re-fix cxx 17 standard, add macro ABSL_USE_CXX17 (by @JackBoosY) -- [(#14648)](https://github.com/microsoft/vcpkg/pull/14648) [libheif] update to 1.9.1 (by @JonLiu1993) -- [(#14650)](https://github.com/microsoft/vcpkg/pull/14650) [tesseract] Enable dynamic build, format portfile.cmake (by @JackBoosY) -- [(#14651)](https://github.com/microsoft/vcpkg/pull/14651) [openvdb] Fix dependency issue and usage issue (by @PhoebeHui) -- [(#14655)](https://github.com/microsoft/vcpkg/pull/14655) [leptonica] add missing dependency (by @cenit) -- [(#14658)](https://github.com/microsoft/vcpkg/pull/14658) [clamav] Add new port (by @zaddach) -- [(#14659)](https://github.com/microsoft/vcpkg/pull/14659) [vcpkg] fix vs2015 build (by @strega-nil) -- [(#14661)](https://github.com/microsoft/vcpkg/pull/14661) [vcpkg] fix cmake paths in tags (alternative 2) (by @strega-nil) -- [(#14662)](https://github.com/microsoft/vcpkg/pull/14662) Use OS-included Python 2.7 on macOS (by @LRFLEW) -- [(#14666)](https://github.com/microsoft/vcpkg/pull/14666) [duktape] Add VERSION and SOVERSION properties CMake build (by @LRFLEW) -- [(#14670)](https://github.com/microsoft/vcpkg/pull/14670) [protobuf] Update to 3.14.0 (by @JonLiu1993) -- [(#14674)](https://github.com/microsoft/vcpkg/pull/14674) [vcpkg] Output the filepath on hash error. (by @Neumann-A) -- [(#14676)](https://github.com/microsoft/vcpkg/pull/14676) [flashlight-cuda] New Port (by @jacobkahn) -- [(#14677)](https://github.com/microsoft/vcpkg/pull/14677) [sqlcipher] Update to 4.4.1 (by @SvenPStarFinanz) -- [(#14678)](https://github.com/microsoft/vcpkg/pull/14678) [qt5] Update to 5.15.2 (by @Neumann-A) -- [(#14683)](https://github.com/microsoft/vcpkg/pull/14683) [nccl] New Port (by @jacobkahn) -- [(#14686)](https://github.com/microsoft/vcpkg/pull/14686) [cudnn] Try to find CUDNN locally before downloading (by @jacobkahn) -- [(#14688)](https://github.com/microsoft/vcpkg/pull/14688) [networkdirect-sdk] Rework portfile.cmake to allow windows x64 and x86, add fail for other triplet combinations, remove all triplets for CI fail list (by @StarGate-One) -- [(#14691)](https://github.com/microsoft/vcpkg/pull/14691) [commsdsl] update to version 3.5.4 (by @mathisloge) -- [(#14711)](https://github.com/microsoft/vcpkg/pull/14711) [geographiclib] Update to version 1.51 (by @cffk) -- [(#14714)](https://github.com/microsoft/vcpkg/pull/14714) [vcpkg baseline][qt-advanced-docking-system] Update hash (by @NancyLi1013) -- [(#14715)](https://github.com/microsoft/vcpkg/pull/14715) [curl] Fixes pkgconfig file (by @Matioupi) -- [(#14716)](https://github.com/microsoft/vcpkg/pull/14716) [cmake] update to 3.19.2 (by @JackBoosY) -- [(#14719)](https://github.com/microsoft/vcpkg/pull/14719) [ceres] upgrade to 2.0.0 (by @fran6co) -- [(#14722)](https://github.com/microsoft/vcpkg/pull/14722) [bitsery] Update to 5.2.1 (by @RT222) -- [(#14723)](https://github.com/microsoft/vcpkg/pull/14723) [toml11] fixes installation (by @fran6co) -- [(#14724)](https://github.com/microsoft/vcpkg/pull/14724) [opengl] port path fix when crosscompiling (by @Nemirtingas) -- [(#14730)](https://github.com/microsoft/vcpkg/pull/14730) [ignition-msgs*] Fix flaky CI tests for ignition-msgs* ports (take 2) (by @traversaro) -- [(#14732)](https://github.com/microsoft/vcpkg/pull/14732) [tiny-process-library] Bump tiny-process-library to 2.0.4 (by @traversaro) -- [(#14734)](https://github.com/microsoft/vcpkg/pull/14734) [hiredis] update to 1.0.0 (Fix #13256) (by @klalumiere) -- [(#14736)](https://github.com/microsoft/vcpkg/pull/14736) [cudnn] Don't copy debug versions of the lib since they aren't provided (by @jacobkahn) -- [(#14744)](https://github.com/microsoft/vcpkg/pull/14744) [vcpkg] Fix redefinition for OVERLAY_TRIPLETS_ENV (by @davidxiaozhi) -- [(#14749)](https://github.com/microsoft/vcpkg/pull/14749) [libuvc] added (by @fran6co) -- [(#14750)](https://github.com/microsoft/vcpkg/pull/14750) [azure-kinect-sensor-sdk] not working on Linux (by @fran6co) -- [(#14752)](https://github.com/microsoft/vcpkg/pull/14752) [jsoncons] Update to version 0.159.0 (by @danielaparker) -- [(#14755)](https://github.com/microsoft/vcpkg/pull/14755) [libtorrent] Update to 1.2.11 (by @FranciscoPombal) -- [(#14758)](https://github.com/microsoft/vcpkg/pull/14758) [speexdsp] Update CMake script for macOS/Linux (by @LRFLEW) -- [(#14761)](https://github.com/microsoft/vcpkg/pull/14761) update osg-qt from Qt4 tag to master branch(Qt5) (by @ZgblKylin) -- [(#14762)](https://github.com/microsoft/vcpkg/pull/14762) [redis-plus-plus] Add c++17 feature (by @JonLiu1993) -- [(#14763)](https://github.com/microsoft/vcpkg/pull/14763) [poco] Fix dependency libmariadb (by @JackBoosY) -- [(#14768)](https://github.com/microsoft/vcpkg/pull/14768) [ace] copy generated headers files for tao (by @victorburckel) -- [(#14770)](https://github.com/microsoft/vcpkg/pull/14770) [fixed-string] Add library (by @unterumarmung) -- [(#14771)](https://github.com/microsoft/vcpkg/pull/14771) [elfutils] add new port (by @Neumann-A) -- [(#14772)](https://github.com/microsoft/vcpkg/pull/14772) [vcpkg msbuild] Fix the issues introduced in 13755 (by @strega-nil) -- [(#14774)](https://github.com/microsoft/vcpkg/pull/14774) [rtaudio] Add new port (by @chausner) -- [(#14776)](https://github.com/microsoft/vcpkg/pull/14776) [Chipmunk] build via cmake (by @comedinha) -- [(#14781)](https://github.com/microsoft/vcpkg/pull/14781) [span-lite] update to 0.9.0 (by @Ryan-rsm-McKenzie) -- [(#14782)](https://github.com/microsoft/vcpkg/pull/14782) [xbyak] update to 5.991 (by @Ryan-rsm-McKenzie) -- [(#14785)](https://github.com/microsoft/vcpkg/pull/14785) [openssl] Handle INSTALL_NAME_DIR and OSX_DEPLOYMENT_TARGET for macOS shared builds (by @LRFLEW) -- [(#14786)](https://github.com/microsoft/vcpkg/pull/14786) [fmt] Update to 7.1.3 (by @kevinlul) -- [(#14790)](https://github.com/microsoft/vcpkg/pull/14790) [osg] Update dependency (by @NancyLi1013) -- [(#14791)](https://github.com/microsoft/vcpkg/pull/14791) [vcpkg] Remove non-existing 'import' command in vcpkg help information (by @PhoebeHui) -- [(#14792)](https://github.com/microsoft/vcpkg/pull/14792) [prometheus-cpp] Update to version 0.11.0 (by @gjasny) -- [(#14793)](https://github.com/microsoft/vcpkg/pull/14793) [devil] Fix pkgconfig on Windows (by @JackBoosY) -- [(#14794)](https://github.com/microsoft/vcpkg/pull/14794) [ebml/gppanel/matroska/polyhook2/unrar] Fix typos in CONTROL files (by @NancyLi1013) -- [(#14795)](https://github.com/microsoft/vcpkg/pull/14795) [cpp-httplib] Update to 0.7.15 (by @JonLiu1993) -- [(#14796)](https://github.com/microsoft/vcpkg/pull/14796) [sdl2-image] Fix usage (by @JackBoosY) -- [(#14797)](https://github.com/microsoft/vcpkg/pull/14797) [vcpkg] Fix issue in vcpkg.targets that introduced in 13755 (by @PhoebeHui) -- [(#14800)](https://github.com/microsoft/vcpkg/pull/14800) [Proj4] Update to 7.2.0 (by @longhuan2018) -- [(#14801)](https://github.com/microsoft/vcpkg/pull/14801) [cwalk] Add new port (by @likle) -- [(#14803)](https://github.com/microsoft/vcpkg/pull/14803) Include "zip" as required apt dependency in bootstrap error message (by @chausner) -- [(#14805)](https://github.com/microsoft/vcpkg/pull/14805) [libevent] Fix library cannot be found (by @NancyLi1013) -- [(#14807)](https://github.com/microsoft/vcpkg/pull/14807) [curl] Add feature idn2 (by @JackBoosY) -- [(#14813)](https://github.com/microsoft/vcpkg/pull/14813) [pugixml] Update to 1.11.1 (by @RT222) -- [(#14816)](https://github.com/microsoft/vcpkg/pull/14816) [lapack-reference] add to CMAKE_FIND_LIBRARY_SUFFIXES additional suffixes (by @xandox) -- [(#14825)](https://github.com/microsoft/vcpkg/pull/14825) [vcpkg_apply_patches] Fix Git too long path error (by @Pospelove) -- [(#14833)](https://github.com/microsoft/vcpkg/pull/14833) Fix broken doc link (by @TeeVenDick) -- [(#14841)](https://github.com/microsoft/vcpkg/pull/14841) [pegtl] Update to 3.0.0 release (by @wravery) -- [(#14842)](https://github.com/microsoft/vcpkg/pull/14842) [cppgraphqlgen] Update to v3.3.0 (by @wravery) -- [(#14843)](https://github.com/microsoft/vcpkg/pull/14843) [vcpkg baseline] [libass] Fix dependency issue in Linux (by @PhoebeHui) -- [(#14844)](https://github.com/microsoft/vcpkg/pull/14844) [sobjectizer] update to v.5.7.2 (by @eao197) -- [(#14848)](https://github.com/microsoft/vcpkg/pull/14848) [vcpkg_apply_patches] Work around /etc/gitconfig: Permission denied (by @ras0219) -- [(#14852)](https://github.com/microsoft/vcpkg/pull/14852) [vcpkg] Expose alpha end-to-end versioning (by @ras0219) -- [(#14856)](https://github.com/microsoft/vcpkg/pull/14856) [vcpkg] fix feature flags telemetry (by @strega-nil) -- [(#14857)](https://github.com/microsoft/vcpkg/pull/14857) Change Nuget binary cache pre-release info to always start with letters (by @frivard-coveo) -- [(#14862)](https://github.com/microsoft/vcpkg/pull/14862) [nghttp2] Update to 1.42.0. (by @geraldcombs) -- [(#14863)](https://github.com/microsoft/vcpkg/pull/14863) [c-ares] Update to 1.17.1. (by @geraldcombs) -- [(#14866)](https://github.com/microsoft/vcpkg/pull/14866) [vcpkg baseline] [gdal] Fix build errors on linux and osx (by @PhoebeHui) -- [(#14868)](https://github.com/microsoft/vcpkg/pull/14868) [aws-sdk-cpp] Restore AWSSDKConfig.cmake and add usage (by @JackBoosY) -- [(#14872)](https://github.com/microsoft/vcpkg/pull/14872) [microsoft-signalr] Fix build error on Linux (by @NancyLi1013) -- [(#14876)](https://github.com/microsoft/vcpkg/pull/14876) [clrng] Add new port: clRNG (by @MathiasMagnus) -- [(#14880)](https://github.com/microsoft/vcpkg/pull/14880) [cuda] Add ENV CUDA_HOME to path hints (by @jacobkahn) -- [(#14882)](https://github.com/microsoft/vcpkg/pull/14882) [vcpkg] Output versions during install plans (by @ras0219) -- [(#14884)](https://github.com/microsoft/vcpkg/pull/14884) [vcpkg baseline][vtk-m] fix the sha512 (by @strega-nil) -- [(#14886)](https://github.com/microsoft/vcpkg/pull/14886) [google-cloud-cpp] update to latest release (v1.21.0) (by @coryan) -- [(#14888)](https://github.com/microsoft/vcpkg/pull/14888) [libigl] Always install as header-only library (by @FabienPean) -- [(#14889)](https://github.com/microsoft/vcpkg/pull/14889) [vcpkg] Add SemVer and Date versioning schemes (by @vicroms) -- [(#14891)](https://github.com/microsoft/vcpkg/pull/14891) [python3] Build interpreter (by @Hoikas) -- [(#14897)](https://github.com/microsoft/vcpkg/pull/14897) [termcolor]; Add termcolor (by @theidexisted) -- [(#14898)](https://github.com/microsoft/vcpkg/pull/14898) [kuku] Add new port (by @kiromaru) -- [(#14901)](https://github.com/microsoft/vcpkg/pull/14901) [opencascade] Fix static build (by @JackBoosY) -- [(#14904)](https://github.com/microsoft/vcpkg/pull/14904) [magic-enum] Update to v0.7.1 (by @Neargye) -- [(#14911)](https://github.com/microsoft/vcpkg/pull/14911) [arrayfire] Update port to fix cuSparse issue with CUDA 10.1 (by @jacobkahn) -- [(#14912)](https://github.com/microsoft/vcpkg/pull/14912) [flashlight-cuda] Add stb as dependency, bump port commit (by @jacobkahn) -- [(#14913)](https://github.com/microsoft/vcpkg/pull/14913) [vcpkg baseline][monkeys-audio] Update to 565d. (by @Hoikas) -- [(#14914)](https://github.com/microsoft/vcpkg/pull/14914) [docs] fix pwsh sorting (by @strega-nil) -- [(#14915)](https://github.com/microsoft/vcpkg/pull/14915) [vcpkg] fix compile on vs2015 (by @strega-nil) -- [(#14916)](https://github.com/microsoft/vcpkg/pull/14916) [quill] Update 1.6.0 (by @odygrd) -- [(#14917)](https://github.com/microsoft/vcpkg/pull/14917) [freetype] Make zlib and brotli features (by @LRFLEW) -- [(#14918)](https://github.com/microsoft/vcpkg/pull/14918) [zxing-cpp] Update zxing-cpp and fix iconv dependency (by @JonLiu1993) -- [(#14921)](https://github.com/microsoft/vcpkg/pull/14921) [libpqxx] update to 7.2.1 (by @JonLiu1993) -- [(#14923)](https://github.com/microsoft/vcpkg/pull/14923) [cimg] update to 2.9.4 (by @JonLiu1993) -- [(#14925)](https://github.com/microsoft/vcpkg/pull/14925) [sail] Add new port (by @happy-sea-fox) -- [(#14927)](https://github.com/microsoft/vcpkg/pull/14927) [vcpkg] Error on '#' in version strings to avoid confusion (by @ras0219) -- [(#14935)](https://github.com/microsoft/vcpkg/pull/14935) [usockets] Fix build issue with feature ssl (by @PhoebeHui) -- [(#14936)](https://github.com/microsoft/vcpkg/pull/14936) [aws-sdk-cpp] Add find_dependency to AWSSDKConfig.cmake and fix usage (by @JackBoosY) -- [(#14937)](https://github.com/microsoft/vcpkg/pull/14937) [gamenetworkingsockets] Add new port (by @Balnian) -- [(#14945)](https://github.com/microsoft/vcpkg/pull/14945) Fix failures when parsing the default options for binary caching not being emitted. (by @BillyONeal) -- [(#14946)](https://github.com/microsoft/vcpkg/pull/14946) [fontconfig] fix dll name in def file (by @Neumann-A) -- [(#14947)](https://github.com/microsoft/vcpkg/pull/14947) [vcpkg] Add versioning fields to schema (by @ras0219) -- [(#14948)](https://github.com/microsoft/vcpkg/pull/14948) [vcpkg] Improve error messages for incomplete Mono (by @ras0219) -- [(#14952)](https://github.com/microsoft/vcpkg/pull/14952) [vcpkg] Fix uploading to Azure DevOps Artifacts (by @ras0219) -- [(#14953)](https://github.com/microsoft/vcpkg/pull/14953) [vcpkg] Add --nuget-description option for `vcpkg export` (by @ras0219) -- [(#14954)](https://github.com/microsoft/vcpkg/pull/14954) [vcpkg] Disable survey message (by @ras0219) -- [(#14960)](https://github.com/microsoft/vcpkg/pull/14960) [pcl] Fix build when librealsense2 is present (by @dweckmann) -- [(#14962)](https://github.com/microsoft/vcpkg/pull/14962) [geogram] Fix windows dynamic build usage (by @FabienPean) -- [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) -- [(#14970)](https://github.com/microsoft/vcpkg/pull/14970) [ NASM ] Update version from 2.14.02 to 2.15.05 (by @Nioub) -- [(#14971)](https://github.com/microsoft/vcpkg/pull/14971) [ms-gltf] Add new port (by @luncliff) -- [(#14972)](https://github.com/microsoft/vcpkg/pull/14972) [ATK] Installing .pc files (by @faserg1) -- [(#14975)](https://github.com/microsoft/vcpkg/pull/14975) [nanobench] update to 4.3.0 (by @JonLiu1993) -- [(#14976)](https://github.com/microsoft/vcpkg/pull/14976) [osgearth/rocksdb] Update to latest release (by @NancyLi1013) -- [(#14977)](https://github.com/microsoft/vcpkg/pull/14977) [vcpkg] x_vcpkg_install_local_dependencies fixes (by @sandercox) -- [(#14980)](https://github.com/microsoft/vcpkg/pull/14980) [EASTL] update to 3.17.03 (by @JonLiu1993) -- [(#14981)](https://github.com/microsoft/vcpkg/pull/14981) [libcopp] update to 1.3.3 (by @owent) -- [(#14986)](https://github.com/microsoft/vcpkg/pull/14986) 2020-12-07 Build Fixes (by @BillyONeal) -- [(#14988)](https://github.com/microsoft/vcpkg/pull/14988) [GLIBMM] Installing .pc file (by @faserg1) -- [(#14991)](https://github.com/microsoft/vcpkg/pull/14991) [libxml2] build failure with x64-linux-dynamic (Fix #14990) (by @klalumiere) -- [(#14992)](https://github.com/microsoft/vcpkg/pull/14992) [sdl2] Don't propagate shared link options (by @JesseFarebro) -- [(#14997)](https://github.com/microsoft/vcpkg/pull/14997) [libcopp] Update to 1.3.4 (#14996) (by @owent) -- [(#14999)](https://github.com/microsoft/vcpkg/pull/14999) [vcpkg] Add commands to maintain and verify versions db integrity (by @vicroms) -- [(#15001)](https://github.com/microsoft/vcpkg/pull/15001) Fix crosscompiling for x86_64 on ARM64 macOS (by @orudge) -- [(#15002)](https://github.com/microsoft/vcpkg/pull/15002) [libpng] Fix cross-compilation on macOS (by @orudge) -- [(#15005)](https://github.com/microsoft/vcpkg/pull/15005) [qt5] Fix linux dynamic build (by @dweckmann) -- [(#15009)](https://github.com/microsoft/vcpkg/pull/15009) [dav1d] Add dav1d AV1 decoder port (by @RichLogan) -- [(#15010)](https://github.com/microsoft/vcpkg/pull/15010) [vcpkg] Remove extra indirection in IVersionedPortfileProvider/IBaselineProvider (by @ras0219) -- [(#15013)](https://github.com/microsoft/vcpkg/pull/15013) [vcpkg] Add support for --overlay-ports to versioning (by @ras0219) -- [(#15015)](https://github.com/microsoft/vcpkg/pull/15015) [seal] Update to SEAL 3.6.1 (by @kiromaru) -- [(#15018)](https://github.com/microsoft/vcpkg/pull/15018) [cppunit] add linux support and bump version to 1.15.1 (by @dweckmann) -- [(#15022)](https://github.com/microsoft/vcpkg/pull/15022) [eigen3] update to 3.3.9 (by @FlyingdutchmanC) -- [(#15027)](https://github.com/microsoft/vcpkg/pull/15027) [arrayfire] Remove forge and graphics deps from port (by @jacobkahn) -- [(#15030)](https://github.com/microsoft/vcpkg/pull/15030) [tcl, anyrpc, ois, osgearth] Build Fixes 2020-12-09 (by @BillyONeal) -- [(#15036)](https://github.com/microsoft/vcpkg/pull/15036) [speexdsp] Fix include directories for Linux builds (by @LRFLEW) -- [(#15037)](https://github.com/microsoft/vcpkg/pull/15037) [librttopo]new port (by @longhuan2018) -- [(#15038)](https://github.com/microsoft/vcpkg/pull/15038) [readosm] Update to 1.1.0a (by @longhuan2018) -- [(#15039)](https://github.com/microsoft/vcpkg/pull/15039) [spatialite-tools]update to 5.0.0 (by @longhuan2018) -- [(#15040)](https://github.com/microsoft/vcpkg/pull/15040) [libspatialite] Update 5.0.0 (by @longhuan2018) -- [(#15041)](https://github.com/microsoft/vcpkg/pull/15041) [curl] Update to 7.74.0 (by @nokutu) -- [(#15042)](https://github.com/microsoft/vcpkg/pull/15042) [sentry-native] Fix sentry-config-cmake.in (by @JackBoosY) -- [(#15044)](https://github.com/microsoft/vcpkg/pull/15044) [osg] build failure (by @JonLiu1993) -- [(#15045)](https://github.com/microsoft/vcpkg/pull/15045) [vcpkg] Don't require native tools on arm64 macOS (by @orudge) -- [(#15047)](https://github.com/microsoft/vcpkg/pull/15047) [CGAL] Upgrade to 5.2 (by @maxGimeno) -- [(#15049)](https://github.com/microsoft/vcpkg/pull/15049) [vcpkg_from_git] new options TAG and X_OUT_REF (by @Neumann-A) -- [(#15054)](https://github.com/microsoft/vcpkg/pull/15054) [vcpkg registries] Add git registries (by @strega-nil) -- [(#15056)](https://github.com/microsoft/vcpkg/pull/15056) [opencascade] Fix OpenCASCADE_INSTALL_PREFIX path in config (by @NancyLi1013) -- [(#15057)](https://github.com/microsoft/vcpkg/pull/15057) [taskflow] update port to v2.7.0 (by @remz1337) -- [(#15058)](https://github.com/microsoft/vcpkg/pull/15058) [mp3lame] Fix lib suffix on Unix (by @NancyLi1013) -- [(#15060)](https://github.com/microsoft/vcpkg/pull/15060) [fontconfig] Disable install data files (by @JackBoosY) -- [(#15062)](https://github.com/microsoft/vcpkg/pull/15062) [openssl] Remove extra slashes when installing usage (by @JackBoosY) -- [(#15063)](https://github.com/microsoft/vcpkg/pull/15063) [imgui] Fix find dependencies (by @JackBoosY) -- [(#15068)](https://github.com/microsoft/vcpkg/pull/15068) [oneDNN] New port (by @jacobkahn) -- [(#15076)](https://github.com/microsoft/vcpkg/pull/15076) Properly index package actions in log (by @gritukan) -- [(#15080)](https://github.com/microsoft/vcpkg/pull/15080) [hyperscan] Remove erroneous python3 dependency. (by @Hoikas) -- [(#15081)](https://github.com/microsoft/vcpkg/pull/15081) [vcpkg] Refactor end-to-end tests (by @ras0219) -- [(#15082)](https://github.com/microsoft/vcpkg/pull/15082) [glbinding] Improve usage information (by @ras0219) -- [(#15084)](https://github.com/microsoft/vcpkg/pull/15084) [vcpkg] Adhere to older draft schema to improve compatibility with editors (such as VS) (by @ras0219) -- [(#15089)](https://github.com/microsoft/vcpkg/pull/15089) [libarchive+tesseract+opencv] add missing libarchiveConfig.cmake, fix tesseract downstream and unblock opencv CI (by @cenit) -- [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) -- [(#15092)](https://github.com/microsoft/vcpkg/pull/15092) [breakpad] Support breakpad_client on Linux & macOS (by @Perlmint) -- [(#15095)](https://github.com/microsoft/vcpkg/pull/15095) Avoid C4819 warning during bootstrap-vcpkg.bat (by @tetsuh) -- [(#15104)](https://github.com/microsoft/vcpkg/pull/15104) [ csv2 ]update to latest commit (by @gennesseaux) -- [(#15105)](https://github.com/microsoft/vcpkg/pull/15105) [NLopt] Update to 2.7.0 (by @rickertm) -- [(#15109)](https://github.com/microsoft/vcpkg/pull/15109) Azure-IoT-Sdk for C release 2020-12-09 (by @ewertons) -- [(#15110)](https://github.com/microsoft/vcpkg/pull/15110) [vcpkg] Fix CMAKE_CURRENT_LIST_DIR in load_dep_info_vars() (by @ras0219) -- [(#15112)](https://github.com/microsoft/vcpkg/pull/15112) [freetype] avoid target_link_libraries call since qt6 does not like it. (by @Neumann-A) -- [(#15114)](https://github.com/microsoft/vcpkg/pull/15114) [vcpkg registries] support versions (by @strega-nil) -- [(#15115)](https://github.com/microsoft/vcpkg/pull/15115) [vcpkg] `VCPKG_ENV_PASSTHROUGH_UNTRACKED` (by @ras0219) -- [(#15116)](https://github.com/microsoft/vcpkg/pull/15116) [vcpkg] fix v140. again (by @strega-nil) -- [(#15125)](https://github.com/microsoft/vcpkg/pull/15125) [coin] x64-windows-statid-md fixes (by @ankurverma85) -- [(#15126)](https://github.com/microsoft/vcpkg/pull/15126) [sdl1] x64-windows-static-md fixes (by @ankurverma85) -- [(#15127)](https://github.com/microsoft/vcpkg/pull/15127) [ffmpeg] fix up the pkgconfig files (by @JackBoosY) -- [(#15136)](https://github.com/microsoft/vcpkg/pull/15136) [wt] Update to 4.5.0 (by @RockinRoel) -- [(#15137)](https://github.com/microsoft/vcpkg/pull/15137) [boost-modular-build-helper] Specify msvc version in user-config.jam (by @ras0219-msft) -- [(#15138)](https://github.com/microsoft/vcpkg/pull/15138) [comms] update comms libs to latest version (by @mathisloge) -- [(#15139)](https://github.com/microsoft/vcpkg/pull/15139) [vcpkg] Teach `vcpkg install` `--no-build-missing` (by @ras0219-msft) -- [(#15140)](https://github.com/microsoft/vcpkg/pull/15140) [sail] Enable static builds and more platforms (by @happy-sea-fox) -- [(#15141)](https://github.com/microsoft/vcpkg/pull/15141) [vcpkg ci] upload diff from clang-format to artifacts (by @strega-nil) -- [(#15142)](https://github.com/microsoft/vcpkg/pull/15142) [mdns] added new port (by @mathisloge) -- [(#15144)](https://github.com/microsoft/vcpkg/pull/15144) [fontconfig] add vcpkg cmake wrapper. (by @Neumann-A) -- [(#15147)](https://github.com/microsoft/vcpkg/pull/15147) [openexr] Remove python dependency of openexr. (by @BillyONeal) -- [(#15149)](https://github.com/microsoft/vcpkg/pull/15149) [vcpkg] Fix warning (as error) when building vcpgk/toolsrc with clang++ 10 or g++ 9.3 (see #15148) (by @klalumiere) -- [(#15151)](https://github.com/microsoft/vcpkg/pull/15151) [opentracing] Update VMs 2020-12 (by @BillyONeal) -- [(#15156)](https://github.com/microsoft/vcpkg/pull/15156) [Realsense2] Update to 2.40.0 (by @JonLiu1993) -- [(#15158)](https://github.com/microsoft/vcpkg/pull/15158) [poppler] Add new port (by @playgithub) -- [(#15159)](https://github.com/microsoft/vcpkg/pull/15159) [comms] fixes debug build configuration (by @mathisloge) -- [(#15162)](https://github.com/microsoft/vcpkg/pull/15162) [OpenCV] update to v4.5 and to v3.4.12 (by @cenit) -- [(#15163)](https://github.com/microsoft/vcpkg/pull/15163) [magnum,magnum-plugins] Add vulkan and shaderconverter features (by @Squareys) -- [(#15168)](https://github.com/microsoft/vcpkg/pull/15168) [civetweb] Disable extensive log output for debug builds (by @gjasny) -- [(#15170)](https://github.com/microsoft/vcpkg/pull/15170) [qt5-base] mysql plugin added (by @jepessen) -- [(#15171)](https://github.com/microsoft/vcpkg/pull/15171) [docs] Document acceptable uses for features. (by @BillyONeal) -- [(#15172)](https://github.com/microsoft/vcpkg/pull/15172) [vcpkg] Improve versioning files generators (by @vicroms) -- [(#15177)](https://github.com/microsoft/vcpkg/pull/15177) [cppmicroservices] Fix warning C4834 (by @Cheney-W) -- [(#15179)](https://github.com/microsoft/vcpkg/pull/15179) [mingw] Use find_file to find compiler, fall back to unprefixed windres if the prefixed version doesn't exist (by @longnguyen2004) -- [(#15182)](https://github.com/microsoft/vcpkg/pull/15182) [sobjectizer] update to v.5.7.2.1 (by @eao197) -- [(#15183)](https://github.com/microsoft/vcpkg/pull/15183) [ctp] bugfix for linux-x64 and file name case sensitivity (by @xgao1023) -- [(#15186)](https://github.com/microsoft/vcpkg/pull/15186) [pegtl] Update to release version 3.1.0 (by @wravery) -- [(#15187)](https://github.com/microsoft/vcpkg/pull/15187) Write manifest "vcpkg install" output to stdout (by @PazerOP) -- [(#15188)](https://github.com/microsoft/vcpkg/pull/15188) Fixed internal compiler error when using newer GCC@master. (by @nanoric) -- [(#15191)](https://github.com/microsoft/vcpkg/pull/15191) [openssl] install pkgconfig file (by @Perlmint) -- [(#15194)](https://github.com/microsoft/vcpkg/pull/15194) [ogre] make zziplib, freeimage, assimp, freetype and less strict resource manager as feature (by @dweckmann) -- [(#15196)](https://github.com/microsoft/vcpkg/pull/15196) [libjpeg-turbo/mozjpeg] Add conflict messages (by @NancyLi1013) -- [(#15200)](https://github.com/microsoft/vcpkg/pull/15200) [tool-meson] Rev vcpkg's meson build (by @RichLogan) -- [(#15206)](https://github.com/microsoft/vcpkg/pull/15206) Print failing upload attempts in !debug. (by @BillyONeal) -- [(#15207)](https://github.com/microsoft/vcpkg/pull/15207) [pugixml] Update to 1.11.4 (by @c72578) -- [(#15210)](https://github.com/microsoft/vcpkg/pull/15210) Updated directxtk et al for cmake package support (by @walbourn) -- [(#15213)](https://github.com/microsoft/vcpkg/pull/15213) [libass] Update to 0.15.0 (by @wangqr) -- [(#15214)](https://github.com/microsoft/vcpkg/pull/15214) [avisynthplus] Update to 3.6.1 (by @wangqr) -- [(#15215)](https://github.com/microsoft/vcpkg/pull/15215) [zziplib] Uses upstream CMakeLists.txt (by @longnguyen2004) -- [(#15219)](https://github.com/microsoft/vcpkg/pull/15219) [gloo] New Port (by @jacobkahn) -- [(#15221)](https://github.com/microsoft/vcpkg/pull/15221) [python3] Add vcpkg-cmake-wrapper. (by @Hoikas) -- [(#15222)](https://github.com/microsoft/vcpkg/pull/15222) Port for Microsoft GitHub DirectX-Headers (by @walbourn) -- [(#15234)](https://github.com/microsoft/vcpkg/pull/15234) [libjpeg-turbo] fix incompatibility for c11 and c17 (by @playgithub) -- [(#15236)](https://github.com/microsoft/vcpkg/pull/15236) [gmp/nettle] Update to latest release revision (by @PhoebeHui) -- [(#15240)](https://github.com/microsoft/vcpkg/pull/15240) [Hedley] Update to v14 (by @pratikpc) -- [(#15244)](https://github.com/microsoft/vcpkg/pull/15244) [x-plane] Update to 3.0.3 (by @siavee) -- [(#15245)](https://github.com/microsoft/vcpkg/pull/15245) [graphicsmagick] Add delegates.mgk (by @NancyLi1013) -- [(#15246)](https://github.com/microsoft/vcpkg/pull/15246) [protobuf] Fix the default proto file path (by @JackBoosY) -- [(#15252)](https://github.com/microsoft/vcpkg/pull/15252) Fixed port of quirc - patch did no longer apply / modified to fix build (by @Markus87) -- [(#15254)](https://github.com/microsoft/vcpkg/pull/15254) [boost-modular-builder] let fallback to default tool path (by @xandox) -- [(#15257)](https://github.com/microsoft/vcpkg/pull/15257) Add testing with VS2015 and VS2017 compilers. (by @BillyONeal) -- [(#15258)](https://github.com/microsoft/vcpkg/pull/15258) Update MacOS Software (by @BillyONeal) -- [(#15259)](https://github.com/microsoft/vcpkg/pull/15259) [libpqxx] update to 7.3.0 (by @JonLiu1993) -- [(#15263)](https://github.com/microsoft/vcpkg/pull/15263) [libass] update to 0.15.0 (by @JonLiu1993) -- [(#15265)](https://github.com/microsoft/vcpkg/pull/15265) [boost-modular-build-helper] Fix repeat building issue on linux and osx (by @PhoebeHui) -- [(#15266)](https://github.com/microsoft/vcpkg/pull/15266) [wtl] Update wtl to 10.0.10320 (by @chrullrich) -- [(#15269)](https://github.com/microsoft/vcpkg/pull/15269) [libsodium] use x64 specific gcc options only on x64 platform (by @isanych) -- [(#15274)](https://github.com/microsoft/vcpkg/pull/15274) [boost-modular-build-helper] Allow setting B2_OPTIONS_[DBG|REL] in BOOST_CMAKE_FRAGMENT (fixes #15273) (by @klalumiere) -- [(#15276)](https://github.com/microsoft/vcpkg/pull/15276) [ompl] upgrade to v1.5.1 (by @seanyen) -- [(#15277)](https://github.com/microsoft/vcpkg/pull/15277) [dlib] adding missing cudnn depedency for cuda feature (by @Kicer86) -- [(#15281)](https://github.com/microsoft/vcpkg/pull/15281) [librsync] fix librsync linkage (by @Amf1k) -- [(#15282)](https://github.com/microsoft/vcpkg/pull/15282) [mingw] Remove executable extension on non-Windows hosts (by @longnguyen2004) -- [(#15286)](https://github.com/microsoft/vcpkg/pull/15286) [boost-di] Update to 1.2.0 (by @PhoebeHui) -- [(#15292)](https://github.com/microsoft/vcpkg/pull/15292) [gdal] Update to 3.2.2 (by @longhuan2018) -- [(#15295)](https://github.com/microsoft/vcpkg/pull/15295) [minimp3] update to 2020-11-27 (by @JonLiu1993) -- [(#15296)](https://github.com/microsoft/vcpkg/pull/15296) [darknet] yolo v4 weights's hash need to update (by @JonLiu1993) -- [(#15298)](https://github.com/microsoft/vcpkg/pull/15298) [openssl] Update to 1.1.1i (by @lebdron) -- [(#15299)](https://github.com/microsoft/vcpkg/pull/15299) [vcpkg] use VCPKG_ROOT_DIR instead of DOWNLOADS for WORKING_DIRECTORY in do_version_check (by @lebdron) -- [(#15305)](https://github.com/microsoft/vcpkg/pull/15305) [arcus] New port (by @stephenjust) -- [(#15306)](https://github.com/microsoft/vcpkg/pull/15306) [tbb] arm64-osx support (by @lebdron) -- [(#15307)](https://github.com/microsoft/vcpkg/pull/15307) [grpc] Build codegen on arm64-osx (by @lebdron) -- [(#15314)](https://github.com/microsoft/vcpkg/pull/15314) fix licensingfile of kf5archive (by @Hendiadyoin1) -- [(#15322)](https://github.com/microsoft/vcpkg/pull/15322) [bcg729] New port (by @geraldcombs) -- [(#15331)](https://github.com/microsoft/vcpkg/pull/15331) [libilbc] New port (by @geraldcombs) -- [(#15334)](https://github.com/microsoft/vcpkg/pull/15334) [freetype] Update to 2.10.4 (by @kevinlul) -- [(#15336)](https://github.com/microsoft/vcpkg/pull/15336) [KTX] Add port (by @stephenjust) -- [(#15338)](https://github.com/microsoft/vcpkg/pull/15338) [restinio] update to v.0.6.13 (by @eao197) -- [(#15340)](https://github.com/microsoft/vcpkg/pull/15340) [mdnsresponder] Change compile flag /Zi to /Z7 (by @JackBoosY) -- [(#15342)](https://github.com/microsoft/vcpkg/pull/15342) Raylib update to 3.5.0 (by @JonLiu1993) -- [(#15344)](https://github.com/microsoft/vcpkg/pull/15344) [cpp-httplib] Update to version 0.7.18 (by @iko1) -- [(#15352)](https://github.com/microsoft/vcpkg/pull/15352) [boost-python] Adds `python-debugging=on` to `B2_OPTIONS_DBG` (fixes #15350) (by @klalumiere) -- [(#15353)](https://github.com/microsoft/vcpkg/pull/15353) Build results from 2020-12-27 (by @BillyONeal) -- [(#15354)](https://github.com/microsoft/vcpkg/pull/15354) [vcpkg] Fix unrecognized identifier errors in prbuild and cibuild. (by @BillyONeal) -- [(#15355)](https://github.com/microsoft/vcpkg/pull/15355) [vcpkg] Fix pwsh version detection for old versions to download a fresh copy. (by @BillyONeal) -- [(#15359)](https://github.com/microsoft/vcpkg/pull/15359) [monkeys-audio] Update to 5.70 (by @c72578) -- [(#15360)](https://github.com/microsoft/vcpkg/pull/15360) [glib] Fix pkgconfig files (by @PhoebeHui) -- [(#15361)](https://github.com/microsoft/vcpkg/pull/15361) [libpq] Change compile flag /Zi to /Z7 when building Windows (by @JackBoosY) -- [(#15362)](https://github.com/microsoft/vcpkg/pull/15362) [ceres] Fix static library path on Linux (by @JackBoosY) -- [(#15365)](https://github.com/microsoft/vcpkg/pull/15365) update toml++ to v2.3.0 (by @marzer) -- [(#15366)](https://github.com/microsoft/vcpkg/pull/15366) [LLGL] installs header files in the wrong directory (by @JonLiu1993) -- [(#15372)](https://github.com/microsoft/vcpkg/pull/15372) [onednn] Fix share path infix to match find_package() name (by @jacobkahn) -- [(#15374)](https://github.com/microsoft/vcpkg/pull/15374) [osg] fix x64-windows-static-md builds (by @ankurverma85) -- [(#15375)](https://github.com/microsoft/vcpkg/pull/15375) [osgearth] Fix x64-windows-static-md (by @ankurverma85) -- [(#15378)](https://github.com/microsoft/vcpkg/pull/15378) [antlr4,python3] Resolve cross port conflicts (by @BillyONeal) -- [(#15379)](https://github.com/microsoft/vcpkg/pull/15379) [flashlight-cuda] Update port (by @jacobkahn) -- [(#15383)](https://github.com/microsoft/vcpkg/pull/15383) [directxmath] port updated for cmake improvements (by @walbourn) -- [(#15384)](https://github.com/microsoft/vcpkg/pull/15384) [soqt] Use vcpkg_from_github. (by @BillyONeal) -- [(#15385)](https://github.com/microsoft/vcpkg/pull/15385) [boost-build] Fix cflags and c++flags for msvc (by @PhoebeHui) -- [(#15387)](https://github.com/microsoft/vcpkg/pull/15387) [simde] update to 0.7.0 (by @JonLiu1993) -- [(#15389)](https://github.com/microsoft/vcpkg/pull/15389) [exiv2] Add pkgconfig to fix the path (by @NancyLi1013) -- [(#15393)](https://github.com/microsoft/vcpkg/pull/15393) [freeimage] Fix for FreeImage incorrect image format enum after disabling vendor plugins (by @giladbau) -- [(#15394)](https://github.com/microsoft/vcpkg/pull/15394) [IXWebsocket ] Upgraded to 11.0.4 version (by @ludekvodicka) -- [(#15396)](https://github.com/microsoft/vcpkg/pull/15396) [vcpkg] Improve docs for binarycaching (by @ras0219) -- [(#15398)](https://github.com/microsoft/vcpkg/pull/15398) [sdl2] Update to 2.0.14 (by @RT222) -- [(#15400)](https://github.com/microsoft/vcpkg/pull/15400) [wangle] Fix dependency issue (by @PhoebeHui) -- [(#15401)](https://github.com/microsoft/vcpkg/pull/15401) Update cpprestsdk to 2.10.17. (by @BillyONeal) -- [(#15410)](https://github.com/microsoft/vcpkg/pull/15410) [msbuild]Fix incorrect triplet configuration for Project Reunion apps (by @soumyamahunt) -- [(#15411)](https://github.com/microsoft/vcpkg/pull/15411) [vcpkg] Add x64-windows-static-md to pipeline (by @ankurverma85) -- [(#15416)](https://github.com/microsoft/vcpkg/pull/15416) [libheif] update to 1.10.0 (by @0xC0000054) -- [(#15419)](https://github.com/microsoft/vcpkg/pull/15419) [docs] fix "CMake script" -> "makefile" for vcpkg_(n)build_make (by @tueda) -- [(#15421)](https://github.com/microsoft/vcpkg/pull/15421) [tmx] Update tmx port to 1.1.0 (by @jarruda) -- [(#15425)](https://github.com/microsoft/vcpkg/pull/15425) [nuspell] update to version 4.2.0 (by @dimztimz) -- [(#15427)](https://github.com/microsoft/vcpkg/pull/15427) [msdfgen] New port (by @Haeri) -- [(#15435)](https://github.com/microsoft/vcpkg/pull/15435) [vcpkg] Provide proxy setting instruction for more compatibility. (by @cnSchwarzer) -- [(#15436)](https://github.com/microsoft/vcpkg/pull/15436) simdjson update to v0.7.1 (by @JonLiu1993) -- [(#15437)](https://github.com/microsoft/vcpkg/pull/15437) [hidapi] Support static build (by @PhoebeHui) -- [(#15438)](https://github.com/microsoft/vcpkg/pull/15438) [wil] Use internal CMakeLists (by @JackBoosY) -- [(#15445)](https://github.com/microsoft/vcpkg/pull/15445) [opencl] Fix dynamic build on linux (by @dweckmann) -- [(#15449)](https://github.com/microsoft/vcpkg/pull/15449) [vcpkg] Update paragraph tests (by @Mr-Leshiy) -- [(#15460)](https://github.com/microsoft/vcpkg/pull/15460) update trantor to 1.1.1 (by @kkzi) -- [(#15467)](https://github.com/microsoft/vcpkg/pull/15467) [quill] Update to v1.6.1 (by @RT222) -- [(#15468)](https://github.com/microsoft/vcpkg/pull/15468) [type-safe] New port. (by @blaz-kranjc) -- [(#15470)](https://github.com/microsoft/vcpkg/pull/15470) [vcpkg] Use a tag file rather than conditional compilation to permanently disable metrics. (by @BillyONeal) -- [(#15472)](https://github.com/microsoft/vcpkg/pull/15472) [vcpkg] Restore embedded git hash behind an option. (by @BillyONeal) -- [(#15473)](https://github.com/microsoft/vcpkg/pull/15473) [vcpkg baseline][cppcms] Fix issue with detecting Python 2. (by @Hoikas) -- [(#15474)](https://github.com/microsoft/vcpkg/pull/15474) [vcpkg] Download vcpkg.exe rather than building it in bootstrap on Windows. (by @BillyONeal) -- [(#15482)](https://github.com/microsoft/vcpkg/pull/15482) [libepoxy] Update to 1.5.5 (by @ras0219) -- [(#15485)](https://github.com/microsoft/vcpkg/pull/15485) Update to hidapi-0.10.1 (by @JoergAtGithub) -- [(#15486)](https://github.com/microsoft/vcpkg/pull/15486) [libzippp] fix find lzma (by @StarGate-One) -- [(#15491)](https://github.com/microsoft/vcpkg/pull/15491) [vcpkg baseline][poppler] Fix issue with using libcurl. (by @Hoikas) -- [(#15500)](https://github.com/microsoft/vcpkg/pull/15500) [openigtlink] Fix cmake config location (by @dweckmann) -- [(#15504)](https://github.com/microsoft/vcpkg/pull/15504) [vcpkg] Fix build for mingw (by @strega-nil) -- [(#15507)](https://github.com/microsoft/vcpkg/pull/15507) [pybind11] Use vcpkg Python3. (by @Hoikas) -- [(#15509)](https://github.com/microsoft/vcpkg/pull/15509) [openimageio] Bump to 2.2.10.0. (by @Hoikas) -- [(#15510)](https://github.com/microsoft/vcpkg/pull/15510) [google-cloud-cpp] update to latest release (v1.22.0) (by @coryan) -- [(#15512)](https://github.com/microsoft/vcpkg/pull/15512) [vcpkg] Allow to use Nuget's cache for Nuget binary caching sources (fix #15169) (by @klalumiere) -- [(#15513)](https://github.com/microsoft/vcpkg/pull/15513) [boost-asio] Fix duplicate symbols of asio::dummy_return (by @cedral) -- [(#15514)](https://github.com/microsoft/vcpkg/pull/15514) [flashlight-cpu] New port (by @jacobkahn) -- [(#15516)](https://github.com/microsoft/vcpkg/pull/15516) [vcpkg] Add sources for TLS 1.2 downloader tool. (by @BillyONeal) -- [(#15517)](https://github.com/microsoft/vcpkg/pull/15517) [sqlite-orm] Update to 1.6 (by @NancyLi1013) -- [(#15537)](https://github.com/microsoft/vcpkg/pull/15537) [polyhook2]Update to the latest version (by @stevemk14ebr) -- [(#15538)](https://github.com/microsoft/vcpkg/pull/15538) [vcpkg] Show the cache file name at download time to provide more ancillary information in non-ARIA2 mode. (by @RonxBulld) -- [(#15540)](https://github.com/microsoft/vcpkg/pull/15540) [sdl2] Fix improper replacement of -lSDL2main + remove IGNORE_FLAGS and SYSTEM_LIBRARIES (by @longnguyen2004) -- [(#15541)](https://github.com/microsoft/vcpkg/pull/15541) gdal:x64-windows-static-md fixes (by @ankurverma85) -- [(#15543)](https://github.com/microsoft/vcpkg/pull/15543) [vcpkg/docs] Add Missing Links in Spanish Readme (by @ninjaoflight) -- [(#15549)](https://github.com/microsoft/vcpkg/pull/15549) [cppgraphqlgen] Fix --head for new branch/option (by @wravery) -- [(#15554)](https://github.com/microsoft/vcpkg/pull/15554) directxmesh, directxtex, and uvatlas now support linux (by @walbourn) -- [(#15558)](https://github.com/microsoft/vcpkg/pull/15558) [palsigslot] New port (by @luca-schlecker) -- [(#15565)](https://github.com/microsoft/vcpkg/pull/15565) [vcpkg] Add initial versioning documentation (by @ras0219) -- [(#15567)](https://github.com/microsoft/vcpkg/pull/15567) [entt] update to <3.6> (by @JonLiu1993) -- [(#15569)](https://github.com/microsoft/vcpkg/pull/15569) [paho-mqtt] update to 1.3.8 (by @JonLiu1993) -- [(#15572)](https://github.com/microsoft/vcpkg/pull/15572) [vcpkg,boost-modular-build-helper] initial ppc64le community support (by @lebdron) -- [(#15573)](https://github.com/microsoft/vcpkg/pull/15573) [paho-mqttpp3] update to 1.2.0 (by @JonLiu1993) -- [(#15574)](https://github.com/microsoft/vcpkg/pull/15574) [poppler] Fix error gperf is not recognized as an internal or externa command (by @Cheney-W) -- [(#15577)](https://github.com/microsoft/vcpkg/pull/15577) [SOCI] Add support for soci-mysql connector (by @emexal-company) -- [(#15578)](https://github.com/microsoft/vcpkg/pull/15578) [vcpkg_apply_patches] don't change line endings on patching. (by @Neumann-A) -- [(#15579)](https://github.com/microsoft/vcpkg/pull/15579) [libpq] fix python patches (by @Neumann-A) -- [(#15580)](https://github.com/microsoft/vcpkg/pull/15580) [vcpkg] Add parse checking for version fields and enable non-string versions outside 'versions' flag (by @ras0219) -- [(#15581)](https://github.com/microsoft/vcpkg/pull/15581) [ignition-fuel-tools4] Add new port ???? (by @traversaro) -- [(#15583)](https://github.com/microsoft/vcpkg/pull/15583) [vcpkg] Add a different way to use CommandBuilder, support InWorkingDirectory (by @strega-nil) -- [(#15584)](https://github.com/microsoft/vcpkg/pull/15584) [vcpkg] Resolve macos host machines running out of disk space by reducing size and using fixed disks. (by @BillyONeal) -- [(#15585)](https://github.com/microsoft/vcpkg/pull/15585) [speexdsp] Configure and install speexdsp.pc (by @adam-bloom) -- [(#15589)](https://github.com/microsoft/vcpkg/pull/15589) [libzip] Relative pkgconfig paths (by @adam-bloom) -- [(#15593)](https://github.com/microsoft/vcpkg/pull/15593) [pangolin] Fix static build error (by @NancyLi1013) -- [(#15595)](https://github.com/microsoft/vcpkg/pull/15595) [nana] Fix fontconfig dependency (by @NancyLi1013) -- [(#15596)](https://github.com/microsoft/vcpkg/pull/15596) [qt5-base] Improve the warning message on Linux (by @JackBoosY) -- [(#15597)](https://github.com/microsoft/vcpkg/pull/15597) [qt5] Remove dependency qt5 feature mysqlplugin when building x86 (by @JackBoosY) -- [(#15600)](https://github.com/microsoft/vcpkg/pull/15600) [graphicsmagick] update to version 1.3.36 (by @josuegomes) -- [(#15603)](https://github.com/microsoft/vcpkg/pull/15603) [outcome] Replace Outcome single header based port with full fat cmake install port (by @ned14) -- [(#15606)](https://github.com/microsoft/vcpkg/pull/15606) [boost-locale] android build (by @xandox) -- [(#15608)](https://github.com/microsoft/vcpkg/pull/15608) Librealsense2 android build (by @xandox) -- [(#15609)](https://github.com/microsoft/vcpkg/pull/15609) delete linux from fail port from tomlplusplus (by @marshevms) -- [(#15611)](https://github.com/microsoft/vcpkg/pull/15611) [vcpkg_acquire_msys] add findutils as a dependency to libtool (by @Neumann-A) -- [(#15613)](https://github.com/microsoft/vcpkg/pull/15613) [libconfig] shlwapi is not available on linux (by @vmiheer) -- [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- [(#15620)](https://github.com/microsoft/vcpkg/pull/15620) [libtorrent] update to 1.2.12 (by @JonLiu1993) -- [(#15622)](https://github.com/microsoft/vcpkg/pull/15622) [vcpkg_build_make] remove libtool artifacts (by @Neumann-A) -- [(#15624)](https://github.com/microsoft/vcpkg/pull/15624) [glslang] Provide glslang-default-resource-limits library. (by @wolfpld) -- [(#15627)](https://github.com/microsoft/vcpkg/pull/15627) [vcpkg] Rewriting CmdLineBuilder (2/n) (by @strega-nil) -- [(#15633)](https://github.com/microsoft/vcpkg/pull/15633) [vcpkg] Change version field in `baseline.json` (by @vicroms) -- [(#15634)](https://github.com/microsoft/vcpkg/pull/15634) [openal-soft] Fix issue with cmake config. (by @Hoikas) -- [(#15636)](https://github.com/microsoft/vcpkg/pull/15636) [vcpkg] Fix incorrect handling of messages for permenantly disabled metrics. (by @BillyONeal) -- [(#15637)](https://github.com/microsoft/vcpkg/pull/15637) [physfs] Enable arm64 for non-Windows targets (by @past-due) -- [(#15638)](https://github.com/microsoft/vcpkg/pull/15638) [vcpkg] Add vcpkg_minimum_required as a replacement for VERSION.txt. (by @BillyONeal) -- [(#15639)](https://github.com/microsoft/vcpkg/pull/15639) directxtex, directxmesh, directxtk, uvatlas ports updated to fix cach??? (by @walbourn) -- [(#15645)](https://github.com/microsoft/vcpkg/pull/15645) [xlnt] Prevent macro redefinition (by @malirod) -- [(#15650)](https://github.com/microsoft/vcpkg/pull/15650) [log4cpp] find_package support (by @mannkafai) -- [(#15651)](https://github.com/microsoft/vcpkg/pull/15651) Improve `x-ci-verify-versions` error messages (by @vicroms) -- [(#15652)](https://github.com/microsoft/vcpkg/pull/15652) [vcpkg] Add version files (by @vicroms) -- [(#15655)](https://github.com/microsoft/vcpkg/pull/15655) [vcpkg] Add CI check for version files and update maintainer's guideline (by @vicroms) -- [(#15659)](https://github.com/microsoft/vcpkg/pull/15659) [vcpkg] vcpkg_configure_make: Support macOS cross-compile (by @past-due) -- [(#15661)](https://github.com/microsoft/vcpkg/pull/15661) [gtest] Add a patch to fix build error in GCC 11 (by @PragmaTwice) -- [(#15662)](https://github.com/microsoft/vcpkg/pull/15662) Reorder CI checks (by @vicroms) -- [(#15664)](https://github.com/microsoft/vcpkg/pull/15664) [vcpkg] Format JSON output of `x-add-version` to minimize diffs (by @vicroms) -- [(#15666)](https://github.com/microsoft/vcpkg/pull/15666) [podofo] Fix feature crypto (by @JackBoosY) -- [(#15667)](https://github.com/microsoft/vcpkg/pull/15667) [vtk] use patch for QT_NO_KEYWORDS support from upstream (by @dweckmann) -- [(#15669)](https://github.com/microsoft/vcpkg/pull/15669) [google-cloud-cpp] update to v1.23.0 (by @coryan) -- [(#15671)](https://github.com/microsoft/vcpkg/pull/15671) [libopusenc] fix macOS and Linux build (by @Be-ing) -- [(#15672)](https://github.com/microsoft/vcpkg/pull/15672) [blend2d] Update to beta_2021-01-02 (by @ZeeWanderer) -- [(#15673)](https://github.com/microsoft/vcpkg/pull/15673) [vcpkg] Rewriting CmdLineBuilder/Command (3/n) (by @strega-nil) -- [(#15676)](https://github.com/microsoft/vcpkg/pull/15676) [vcpkg] Remove versions feature flag check in all places except inputs (by @ras0219) -- [(#15677)](https://github.com/microsoft/vcpkg/pull/15677) [vcpkg] Miscellaneous internal improvements extracted from #15424 (by @ras0219) -- [(#15680)](https://github.com/microsoft/vcpkg/pull/15680) Fix Mbed TLS build for Android (by @ahmedyarub) -- [(#15682)](https://github.com/microsoft/vcpkg/pull/15682) [pagmo2] Add new port (by @dmillard) -- [(#15683)](https://github.com/microsoft/vcpkg/pull/15683) [simage] Fix optional dependencies (by @ras0219-msft) -- [(#15684)](https://github.com/microsoft/vcpkg/pull/15684) [physfs] Fix arm64-windows (by @past-due) -- [(#15686)](https://github.com/microsoft/vcpkg/pull/15686) [vcpkg-ci] Move version validation after CI build passes (by @ras0219) -- [(#15687)](https://github.com/microsoft/vcpkg/pull/15687) [libssh] Add support for Android (by @ahmedyarub) -- [(#15688)](https://github.com/microsoft/vcpkg/pull/15688) fix wrong path in docs/specifications/manifests.md (by @aarcangeli) -- [(#15692)](https://github.com/microsoft/vcpkg/pull/15692) update libusb to 1.0.24 (by @matwey) -- [(#15693)](https://github.com/microsoft/vcpkg/pull/15693) [vcpkg] More versioning docs (by @vicroms) -- [(#15699)](https://github.com/microsoft/vcpkg/pull/15699) [libmariadb] Fix compiling on ARM64 (by @kotori2) -- [(#15700)](https://github.com/microsoft/vcpkg/pull/15700) [pegtl] Update to 3.2.0 release (by @wravery) -- [(#15701)](https://github.com/microsoft/vcpkg/pull/15701) [cppgraphqlgen] Update to 3.5.0 release (by @wravery) -- [(#15706)](https://github.com/microsoft/vcpkg/pull/15706) [icu] Add support for macos rpath prefix macro (by @adam-bloom) -- [(#15709)](https://github.com/microsoft/vcpkg/pull/15709) [vcpkg] Fix regression in error messages with registries/versioning (by @ras0219) -- [(#15714)](https://github.com/microsoft/vcpkg/pull/15714) [nsync] create a new port (by @luncliff) -- [(#15715)](https://github.com/microsoft/vcpkg/pull/15715) [metrohash] support Android triplet build (by @luncliff) -- [(#15717)](https://github.com/microsoft/vcpkg/pull/15717) [mnn,flatbuffers] add a new port and patch (by @luncliff) -- [(#15718)](https://github.com/microsoft/vcpkg/pull/15718) [sfml] Install usage and change version scheme to relaxed (by @ras0219) -- [(#15720)](https://github.com/microsoft/vcpkg/pull/15720) [sdformat9] Update to 9.4.0 (by @traversaro) -- [(#15721)](https://github.com/microsoft/vcpkg/pull/15721) [xorstr] Update to 2020-11-29 (by @ghost) -- [(#15722)](https://github.com/microsoft/vcpkg/pull/15722) [phnt] Update to 2020-12-21 (by @ghost) -- [(#15724)](https://github.com/microsoft/vcpkg/pull/15724) [freerdp] Fix include path (by @KangLin) -- [(#15725)](https://github.com/microsoft/vcpkg/pull/15725) [aws-cpp-sdk] [zlib] [openssl] [curl] Fix zlib, OpenSSL, curl and AWS SDK for Android (by @ahmedyarub) -- [(#15727)](https://github.com/microsoft/vcpkg/pull/15727) [poppler] Disable clang-format check (by @NancyLi1013) -- [(#15729)](https://github.com/microsoft/vcpkg/pull/15729) [vcpkg baseline] [mesa] Fix conflicts with angle (by @NancyLi1013) -- [(#15732)](https://github.com/microsoft/vcpkg/pull/15732) [msys2] Update msys components pkgconfig url (by @JackBoosY) -- [(#15734)](https://github.com/microsoft/vcpkg/pull/15734) [tiff] add vcpkg_fixup_pkgconfig for tiff (by @Neumann-A) -- [(#15735)](https://github.com/microsoft/vcpkg/pull/15735) [libjepg-turbo] Fix *.pc files (by @Neumann-A) -- [(#15739)](https://github.com/microsoft/vcpkg/pull/15739) [restc-cpp] new port (by @lejcik) -- [(#15740)](https://github.com/microsoft/vcpkg/pull/15740) [vcpkg baseline][vcpkg_configure_make] Fix arm64-windows, arm-uwp (by @past-due) -- [(#15743)](https://github.com/microsoft/vcpkg/pull/15743) [usockets] Update uSockets to the latest version (by @JonLiu1993) -- [(#15746)](https://github.com/microsoft/vcpkg/pull/15746) [vcpkg baseline] Disable spatialite-tools on linux and osx (by @NancyLi1013) -- [(#15748)](https://github.com/microsoft/vcpkg/pull/15748) [libpq] Fix install tool pg_config on Linux (by @JackBoosY) -- [(#15750)](https://github.com/microsoft/vcpkg/pull/15750) [libgeotiff] Fix packagename via find_package (by @NancyLi1013) -- [(#15751)](https://github.com/microsoft/vcpkg/pull/15751) [reproc] update to 14.2.1 (by @JonLiu1993) -- [(#15752)](https://github.com/microsoft/vcpkg/pull/15752) [libsass/sassc] add new port/tool (by @Neumann-A) -- [(#15754)](https://github.com/microsoft/vcpkg/pull/15754) [graphene] Add new port (by @Neumann-A) -- [(#15756)](https://github.com/microsoft/vcpkg/pull/15756) [vcpkg/meson] fix some details (by @Neumann-A) -- [(#15757)](https://github.com/microsoft/vcpkg/pull/15757) [Arrow] Update to 3.0.0 (by @GPSnoopy) -- [(#15760)](https://github.com/microsoft/vcpkg/pull/15760) Update aws cpp sdk (by @ahmedyarub) -- [(#15764)](https://github.com/microsoft/vcpkg/pull/15764) [opencolorio] Install OpenColorIOConfig.cmake (by @ras0219) -- [(#15767)](https://github.com/microsoft/vcpkg/pull/15767) [vcpkg] fix edit command on windows (by @strega-nil) -- [(#15768)](https://github.com/microsoft/vcpkg/pull/15768) [vcpkg baseline][spatialite-tools] fix linux osx build falied (by @longhuan2018) -- [(#15769)](https://github.com/microsoft/vcpkg/pull/15769) [x264] Fix build failed on uwp (by @NancyLi1013) -- [(#15770)](https://github.com/microsoft/vcpkg/pull/15770) [darknet] update to latest version (by @cenit) -- [(#15771)](https://github.com/microsoft/vcpkg/pull/15771) [libiconv] Updated typo in iconv share files location (by @ludekvodicka) -- [(#15777)](https://github.com/microsoft/vcpkg/pull/15777) [osgearth] Make all find_packages required in effort to make this port less "flaky", and turn on in CI. (by @BillyONeal) -- [(#15782)](https://github.com/microsoft/vcpkg/pull/15782) [lzo] Install pc file on windows (by @Neumann-A) -- [(#15784)](https://github.com/microsoft/vcpkg/pull/15784) [vcpkg] Rename `port_versions` to `versions` (by @strega-nil) -- [(#15785)](https://github.com/microsoft/vcpkg/pull/15785) [crfsuite] change /include/x.h => /include/crfsuite/x.h (by @BillyONeal) -- [(#15787)](https://github.com/microsoft/vcpkg/pull/15787) [ffmpeg] Add support for dav1d,fontconfig,freetype,fribidi,ilbc,modplug,opengl,openjpeg,libssh,tensorflow,tesseract,webp,libxml2 dependencies. (by @Sibras) -- [(#15788)](https://github.com/microsoft/vcpkg/pull/15788) [quirc, opencv4] Build fixes from 2021-01-18 build (by @BillyONeal) -- [(#15789)](https://github.com/microsoft/vcpkg/pull/15789) [ogre] Do not use strict mode by default in ogre for backward compatibility (by @traversaro) -- [(#15790)](https://github.com/microsoft/vcpkg/pull/15790) [sentry-native] Update to 0.4.5 (by @AenBleidd) -- [(#15797)](https://github.com/microsoft/vcpkg/pull/15797) [libsamplerate] Upgrade to 0.2.0 (by @evpobr) -- [(#15802)](https://github.com/microsoft/vcpkg/pull/15802) [ceres] Mark all dependencies REQUIRED (by @ras0219) -- [(#15803)](https://github.com/microsoft/vcpkg/pull/15803) [vcpkg testing] fix e2e tests (by @strega-nil) -- [(#15804)](https://github.com/microsoft/vcpkg/pull/15804) [aws-sdk-cpp] Fix PRIVATE => PRVATE typo (by @BillyONeal) -- [(#15806)](https://github.com/microsoft/vcpkg/pull/15806) [libxslt] Fixed macos build (by @ludekvodicka) -- [(#15810)](https://github.com/microsoft/vcpkg/pull/15810) [vcpkg] Restore x-upload-metrics command accidentally disabled by removing VCPKG_DISABLE_METRICS (by @BillyONeal) -- [(#15812)](https://github.com/microsoft/vcpkg/pull/15812) [freeimage] Fix plugin disable patch (by @JackBoosY) -- [(#15821)](https://github.com/microsoft/vcpkg/pull/15821) [libffi] Added armv7-a to allowed architectures for Android 32 bit arm builds (by @venabled) -- [(#15825)](https://github.com/microsoft/vcpkg/pull/15825) [vcpkg] Improve diagnostics around compiler tracking and toolset errors. 'Fixes' #15823. (by @ras0219) -- [(#15828)](https://github.com/microsoft/vcpkg/pull/15828) [vcpkg] Add dummy version.txt for vcpkg older than vcpkg_minimum_required. (by @BillyONeal) -- [(#15831)](https://github.com/microsoft/vcpkg/pull/15831) [spirv-cross,spirv-headers,spirv-tools] 2021-01-15 update (by @barcharcraz) -- [(#15832)](https://github.com/microsoft/vcpkg/pull/15832) [vcpkg] clarify the actions of vcpkg_check_linkage (by @barcharcraz) -- [(#15837)](https://github.com/microsoft/vcpkg/pull/15837) [ngspice] Update to rev 33 (by @marekr) -- [(#15841)](https://github.com/microsoft/vcpkg/pull/15841) [trantor] Update to 1.2.0 (by @an-tao) -- [(#15845)](https://github.com/microsoft/vcpkg/pull/15845) [docs] Correct the "new port requests" link in FAQ (by @claremacrae) -- [(#15850)](https://github.com/microsoft/vcpkg/pull/15850) [drogon] Upgrade to v1.3.0 (by @kotori2) -- [(#15851)](https://github.com/microsoft/vcpkg/pull/15851) [libpqxx] Upgrade to v7.3.1 (by @tomlankhorst) -- [(#15852)](https://github.com/microsoft/vcpkg/pull/15852) [angelscript] Update to 2.35.0 (by @crackedmind) -- [(#15855)](https://github.com/microsoft/vcpkg/pull/15855) [speex] Add linux and macOS support. (by @Hoikas) -- [(#15856)](https://github.com/microsoft/vcpkg/pull/15856) [kinectsdk1] Update hash (by @Cheney-W) -- [(#15857)](https://github.com/microsoft/vcpkg/pull/15857) [charls] update to 2.2.0 (by @JonLiu1993) -- [(#15859)](https://github.com/microsoft/vcpkg/pull/15859) [OpenCV] bump to 4.5.1 and to 3.4.13 (by @cenit) -- [(#15860)](https://github.com/microsoft/vcpkg/pull/15860) [CGAL] switch dep to gmp instead of mpir (by @Neumann-A) -- [(#15862)](https://github.com/microsoft/vcpkg/pull/15862) [ace] Update to 7.0.0 (by @jwillemsen) -- [(#15867)](https://github.com/microsoft/vcpkg/pull/15867) [vcpkg] vcpkg_configure_meson: Support macOS cross-compile (by @past-due) -- [(#15868)](https://github.com/microsoft/vcpkg/pull/15868) [libidn2] Fix cross-compile (non-Windows) (by @past-due) -- [(#15871)](https://github.com/microsoft/vcpkg/pull/15871) [vcpkg] Improve error reporting for vcpkg_abi_info.txt copy failure. (by @BillyONeal) -- [(#15874)](https://github.com/microsoft/vcpkg/pull/15874) [vcpkg] set CMake policy CMP0087 for X_VCPKG_APPLOCAL_DEPS_INSTALL (by @Be-ing) -- [(#15875)](https://github.com/microsoft/vcpkg/pull/15875) [sentry-native] Update to 0.4.6 (by @AenBleidd) -- [(#15878)](https://github.com/microsoft/vcpkg/pull/15878) [libkeyfinder] add new port with libkeyfinder 2.2.4 (by @Be-ing) -- [(#15882)](https://github.com/microsoft/vcpkg/pull/15882) [ngspice] build codemodel extension libraries (by @marekr) -- [(#15885)](https://github.com/microsoft/vcpkg/pull/15885) [libconfig] Fix libconfig when installing master branch (by @vmiheer) -- [(#15886)](https://github.com/microsoft/vcpkg/pull/15886) [baseline][colmap] Fix find dependency freeimage (by @JackBoosY) -- [(#15887)](https://github.com/microsoft/vcpkg/pull/15887) [boost-concept-check] Fix warning C4834 when install pagmo2 (by @Cheney-W) -- [(#15892)](https://github.com/microsoft/vcpkg/pull/15892) [libvpx] Fix arm-uwp builds for v142 toolset (by @jwtowner) -- [(#15894)](https://github.com/microsoft/vcpkg/pull/15894) [taskflow] update to 3.0.0 (by @mfornace) -- [(#15898)](https://github.com/microsoft/vcpkg/pull/15898) [vcpkg] Teach vcpkg.targets to emit a .tlog, enabling up-to-date checks (by @ras0219) -- [(#15900)](https://github.com/microsoft/vcpkg/pull/15900) [vcpkg baseline][osgearth] Fix and add dependency tinyxml (by @JackBoosY) -- [(#15902)](https://github.com/microsoft/vcpkg/pull/15902) [openvdb] Fix vcpkg-cmake-wrapper (by @JackBoosY) -- [(#15906)](https://github.com/microsoft/vcpkg/pull/15906) Add shell.nix for building on NixOS (by @poelzi) -- [(#15913)](https://github.com/microsoft/vcpkg/pull/15913) [sciplot] Add new port (by @CaeruleusAqua) -- [(#15918)](https://github.com/microsoft/vcpkg/pull/15918) [libftdi1] update to 1.5 (#15917) (by @eloc3147) -- [(#15926)](https://github.com/microsoft/vcpkg/pull/15926) [vcpkg] Emit parse errors to match '::: error: ' for better IDE compatibility (by @ras0219) -- [(#15933)](https://github.com/microsoft/vcpkg/pull/15933) [vcpkg baseline] Fix baseline regression (by @JackBoosY) -- [(#15934)](https://github.com/microsoft/vcpkg/pull/15934) [physx] Use /Z7 instead of /Zi to integrate the debug info when building static (by @JackBoosY) -- [(#15935)](https://github.com/microsoft/vcpkg/pull/15935) [raylib] Fix usage (by @NancyLi1013) -- [(#15936)](https://github.com/microsoft/vcpkg/pull/15936) [libjpeg-turbo] update to 2.0.6 (by @JonLiu1993) -- [(#15937)](https://github.com/microsoft/vcpkg/pull/15937) [meson] fix single-config builds (by @cenit) -- [(#15941)](https://github.com/microsoft/vcpkg/pull/15941) [curl] Fix/android curl debug bin (by @venabled) -- [(#15942)](https://github.com/microsoft/vcpkg/pull/15942) [darknet] fix opencv features, add compatibility with VS16.9 (by @cenit) -- [(#15943)](https://github.com/microsoft/vcpkg/pull/15943) [fast-cpp-csv-parser ] Update to the latest commit: Fixes compiler warnings (by @remz1337) -- [(#15945)](https://github.com/microsoft/vcpkg/pull/15945) [openal-soft] Update to 1.21.1 (by @past-due) -- [(#15948)](https://github.com/microsoft/vcpkg/pull/15948) [ shaderwriter ]Update to version 1.0.0 (by @DragonJoker) -- [(#15950)](https://github.com/microsoft/vcpkg/pull/15950) [libgcrypt] Update libgcrypt (by @nightlark) -- [(#15953)](https://github.com/microsoft/vcpkg/pull/15953) [libsndfile] Update to 1.0.31 (by @evpobr) -- [(#15954)](https://github.com/microsoft/vcpkg/pull/15954) [libsamplerate] Update to 0.2.1 (by @evpobr) -- [(#15957)](https://github.com/microsoft/vcpkg/pull/15957) [gmp] correct supports field to run CI for other platforms (by @Neumann-A) -- [(#15960)](https://github.com/microsoft/vcpkg/pull/15960) [vcpkg] fix X_VCPKG_APPLOCAL_DEPS_INSTALL (by @dhrdlicka) -- [(#15965)](https://github.com/microsoft/vcpkg/pull/15965) [cairo] Make freetype and fontconfig optional. (by @Hoikas) -- [(#15967)](https://github.com/microsoft/vcpkg/pull/15967) [discreture] Add new port (by @remz1337) -- [(#15971)](https://github.com/microsoft/vcpkg/pull/15971) [matio] Update to v1.5.19 (by @traversaro) -- [(#15973)](https://github.com/microsoft/vcpkg/pull/15973) [vcpkg baseline][armadillo] Update to 10.2.0 and also update the repository (by @NancyLi1013) -- [(#15974)](https://github.com/microsoft/vcpkg/pull/15974) [magic-enum] Update to v0.7.2 (by @Neargye) -- [(#15975)](https://github.com/microsoft/vcpkg/pull/15975) [nameof] Update to 0.10.0 (by @Neargye) -- [(#15978)](https://github.com/microsoft/vcpkg/pull/15978) [proj4] Bump to proj 7.2.1 (by @rhuijben) -- [(#15985)](https://github.com/microsoft/vcpkg/pull/15985) [proj4] Copy over proj.pdb file on install (by @stefanuhrig) -- [(#15986)](https://github.com/microsoft/vcpkg/pull/15986) [chromaprint] add new port with version 1.5.0 (by @Be-ing) -- [(#15988)](https://github.com/microsoft/vcpkg/pull/15988) [libebur128] add new port with version 1.2.5 (by @Be-ing) -- [(#15989)](https://github.com/microsoft/vcpkg/pull/15989) [functions-framework-cpp] add new port with version 0.3.0 (by @coryan) -- [(#15990)](https://github.com/microsoft/vcpkg/pull/15990) [libdjinterop] add new port with version 0.14.6 (by @Be-ing) -- [(#15994)](https://github.com/microsoft/vcpkg/pull/15994) [date] Fix vcpkg_fixup_cmake_targets for mingw (by @longnguyen2004) -- [(#15995)](https://github.com/microsoft/vcpkg/pull/15995) [libpqxx] Fix build with Visual Studio 2017 (by @JackBoosY) -- [(#15997)](https://github.com/microsoft/vcpkg/pull/15997) [opencascade] Update to 7.5.0 (by @JonLiu1993) -- [(#16000)](https://github.com/microsoft/vcpkg/pull/16000) [ffmpeg] avfilter: fix dependencies and linux library ordering (by @mcmtroffaes) -- [(#16001)](https://github.com/microsoft/vcpkg/pull/16001) [google-cloud-cpp] update to the latest release (v1.24.0) (by @coryan) -- [(#16008)](https://github.com/microsoft/vcpkg/pull/16008) [ngspice] Update to rev 34 (by @marekr) -- [(#16009)](https://github.com/microsoft/vcpkg/pull/16009) [vcpkg] fix checking out git registry ports (by @strega-nil) -- [(#16010)](https://github.com/microsoft/vcpkg/pull/16010) [directxsdk] Update DirectX SDK port (by @walbourn) -- [(#16012)](https://github.com/microsoft/vcpkg/pull/16012) [vcpkg] Tool fixes needed for vcpkg-tool extraction (by @BillyONeal) -- [(#16013)](https://github.com/microsoft/vcpkg/pull/16013) [azure-core-cpp] Add new port (by @azure-sdk) -- [(#16014)](https://github.com/microsoft/vcpkg/pull/16014) [azure-identity-cpp] Publish version 1.0.0-beta.3 (by @azure-sdk) -- [(#16018)](https://github.com/microsoft/vcpkg/pull/16018) [log4cxx] Fix dependency and pkgconfig (by @NancyLi1013) -- [(#16020)](https://github.com/microsoft/vcpkg/pull/16020) [azure-storage-common-cpp] Publish version 12.0.0-beta.7 (by @azure-sdk) -- [(#16021)](https://github.com/microsoft/vcpkg/pull/16021) [sentry-native] Update to 0.4.7 (by @AenBleidd) -- [(#16033)](https://github.com/microsoft/vcpkg/pull/16033) [sdl2] Fix vulkan feature dependencies (by @past-due) -- [(#16035)](https://github.com/microsoft/vcpkg/pull/16035) [metrohash] support iOS triplets (by @luncliff) -- [(#16037)](https://github.com/microsoft/vcpkg/pull/16037) [glslang] support iOS triplets (by @luncliff) -- [(#16038)](https://github.com/microsoft/vcpkg/pull/16038) [spirv-cross,spirv-tools] support iOS triplets (by @luncliff) -- [(#16045)](https://github.com/microsoft/vcpkg/pull/16045) Nanodbc/fix/config cmake files path linux (by @samyy321) -- [(#16051)](https://github.com/microsoft/vcpkg/pull/16051) [aubio] allow to build without dependencies (by @autoantwort) -- [(#16053)](https://github.com/microsoft/vcpkg/pull/16053) [azure-storage-files-shares-cpp] Add new port (by @azure-sdk) -- [(#16055)](https://github.com/microsoft/vcpkg/pull/16055) [vcpkg] Add scripts tree extraction notes. (by @BillyONeal) -- [(#16057)](https://github.com/microsoft/vcpkg/pull/16057) [prometheus-cpp] Update to version 0.12.1 (by @gjasny) -- [(#16061)](https://github.com/microsoft/vcpkg/pull/16061) [scripts-audit] vcpkg.cmake (by @strega-nil) -- [(#16065)](https://github.com/microsoft/vcpkg/pull/16065) [cpprestsdk] Bump version to 2.10.18 (by @barcharcraz) -- [(#16068)](https://github.com/microsoft/vcpkg/pull/16068) Add disable-exceptions feature to portfile for tbb (by @aggieNick02) -- [(#16069)](https://github.com/microsoft/vcpkg/pull/16069) [docs/users/manifests.md] Prioritize examples. Fix example. Add MSBuild integration documentation. (by @ras0219-msft) -- [(#16071)](https://github.com/microsoft/vcpkg/pull/16071) [gtest] fix builds when using --head (by @sylveon) -- [(#16077)](https://github.com/microsoft/vcpkg/pull/16077) [V8, icu] Update v8 to version 9.0.257.17, icu to 69.1 (by @Kwizatz) -- [(#16082)](https://github.com/microsoft/vcpkg/pull/16082) [libarchive] Fix static linking dependencies (by @DDoSolitary) -- [(#16085)](https://github.com/microsoft/vcpkg/pull/16085) [netcdf-c] Fix usage (by @JackBoosY) -- [(#16087)](https://github.com/microsoft/vcpkg/pull/16087) [boost-python] Fix build issue with feature python2 (by @PhoebeHui) -- [(#16089)](https://github.com/microsoft/vcpkg/pull/16089) [spdlog] Support build shared library (by @JonLiu1993) -- [(#16095)](https://github.com/microsoft/vcpkg/pull/16095) [vcpkg] Fix unsupported modifiers for X_VCPKG_APPLOCAL_DEPS_INSTALL. (by @crud89) -- [(#16101)](https://github.com/microsoft/vcpkg/pull/16101) Update DXUT port and add Effects11 (FX) port (by @walbourn) -- [(#16106)](https://github.com/microsoft/vcpkg/pull/16106) [abseil] Remove link flag '-ignore:4221' (by @JackBoosY) -- [(#16107)](https://github.com/microsoft/vcpkg/pull/16107) [lua] support iOS triplets (by @luncliff) -- [(#16108)](https://github.com/microsoft/vcpkg/pull/16108) [minizip] support iOS/Android triplets (by @luncliff) -- [(#16109)](https://github.com/microsoft/vcpkg/pull/16109) [geos] Update to 3.9.0 (by @JackBoosY) -- [(#16120)](https://github.com/microsoft/vcpkg/pull/16120) [nng] Update to v1.4.0 (by @jharmer95) -- [(#16121)](https://github.com/microsoft/vcpkg/pull/16121) [doctest] Update to v2.4.5 (by @jharmer95) -- [(#16125)](https://github.com/microsoft/vcpkg/pull/16125) [sqlite3] Update to 3.34.1 (by @past-due) -- [(#16127)](https://github.com/microsoft/vcpkg/pull/16127) [vcpkg docs] consistency-ify docs/regenerate on non-windows (by @strega-nil) -- [(#16130)](https://github.com/microsoft/vcpkg/pull/16130) [(z_)vcpkg_prettify_command(_line)] Scripts Tree Audit (by @strega-nil) -- [(#16131)](https://github.com/microsoft/vcpkg/pull/16131) [ngspice] fix win32 codemodel glob (by @marekr) -- [(#16134)](https://github.com/microsoft/vcpkg/pull/16134) [gl2ps] update to 1.4.2 (by @JonLiu1993) -- [(#16137)](https://github.com/microsoft/vcpkg/pull/16137) [shaderc] Use build type to build targets (by @JackBoosY) -- [(#16138)](https://github.com/microsoft/vcpkg/pull/16138) [vcpkg baseline][log4cpp] Update version record (by @JackBoosY) -- [(#16140)](https://github.com/microsoft/vcpkg/pull/16140) [workflow] add port of sogou/workflow (by @dengjunplusplus) -- [(#16144)](https://github.com/microsoft/vcpkg/pull/16144) [fast-float] Add new port (by @georg-emg) -- [(#16148)](https://github.com/microsoft/vcpkg/pull/16148) [ashes] Update to 2021-09-02 (by @DragonJoker) -- [(#16149)](https://github.com/microsoft/vcpkg/pull/16149) [aws-sdk-cpp] Regenerate feature list (by @ras0219) -- [(#16151)](https://github.com/microsoft/vcpkg/pull/16151) [inja] Update to v3.2.0 (by @matusnovak) -- [(#16154)](https://github.com/microsoft/vcpkg/pull/16154) [wxWidgets] Fix issue with port usage (by @AenBleidd) -- [(#16155)](https://github.com/microsoft/vcpkg/pull/16155) [vcpkg.targets] Add an additional options parameter for MSBuild integration (by @ras0219) -- [(#16160)](https://github.com/microsoft/vcpkg/pull/16160) [azure-core-cpp] Azure Core Release Beta6 (by @azure-sdk) -- [(#16162)](https://github.com/microsoft/vcpkg/pull/16162) [google-cloud-cpp] populate license field (by @coryan) -- [(#16163)](https://github.com/microsoft/vcpkg/pull/16163) [functions-framework-cpp] populate license field (by @coryan) -- [(#16166)](https://github.com/microsoft/vcpkg/pull/16166) [glfw3/glew] Fix pkgconfig (by @JackBoosY) -- [(#16172)](https://github.com/microsoft/vcpkg/pull/16172) [bfgroup-lyra] Install CMake Targets (by @Hoikas) -- [(#16173)](https://github.com/microsoft/vcpkg/pull/16173) [vcpkg integrate install] Allow setting the vcpkg installed dir (by @strega-nil) -- [(#16177)](https://github.com/microsoft/vcpkg/pull/16177) [google-cloud-cpp] use 'version' for version numbers (by @coryan) -- [(#16178)](https://github.com/microsoft/vcpkg/pull/16178) [functions-framework-cpp] use 'version' for version numbers (by @coryan) -- [(#16180)](https://github.com/microsoft/vcpkg/pull/16180) [vcpkg_build_msbuild] Hotfix regression in #16173 (by @ras0219) -- [(#16183)](https://github.com/microsoft/vcpkg/pull/16183) update azure-storage-{common/blob/file/datalake}-cpp (by @azure-sdk) -- [(#16189)](https://github.com/microsoft/vcpkg/pull/16189) [scripts-audit] vcpkg_add_to_path (by @strega-nil) -- [(#16190)](https://github.com/microsoft/vcpkg/pull/16190) [scripts-audit] execute_process (by @strega-nil) -- [(#16191)](https://github.com/microsoft/vcpkg/pull/16191) [scripts-audit] vcpkg_buildpath_length_warning (by @strega-nil) -- [(#16193)](https://github.com/microsoft/vcpkg/pull/16193) [scripts-audit] z_vcpkg_function_arguments (by @strega-nil) -- [(#16194)](https://github.com/microsoft/vcpkg/pull/16194) [kuku] Update Kuku to version 2.1 (by @kiromaru) -- [(#16195)](https://github.com/microsoft/vcpkg/pull/16195) [z_vcpkg_prettify_command_line] write to output variable (by @strega-nil) -- [(#16197)](https://github.com/microsoft/vcpkg/pull/16197) Update portaudio port to latest on github (by @fluffy) -- [(#16198)](https://github.com/microsoft/vcpkg/pull/16198) [workflow] Disable parallel configure due to writes to source dir (by @ras0219) -- [(#16199)](https://github.com/microsoft/vcpkg/pull/16199) [vcpkg_install_msbuild] Hotfix regression in #16173 (by @ras0219) -- [(#16202)](https://github.com/microsoft/vcpkg/pull/16202) [quill] Uncomment QUILL_FMT_EXTERNAL macro (by @RT222) -- [(#16208)](https://github.com/microsoft/vcpkg/pull/16208) [rtaudio] Fix mingw, switch to rolling release (by @autoantwort) -- [(#16212)](https://github.com/microsoft/vcpkg/pull/16212) [vcpkg] Change scripts/tls12-download.exe mode from 100644 to 100755 (by @yuri-sevatz) -- [(#16223)](https://github.com/microsoft/vcpkg/pull/16223) [libebur128] update to 1.2.6; fixes dynamic linking on Windows (by @Be-ing) -- [(#16226)](https://github.com/microsoft/vcpkg/pull/16226) [leptonica] now all dependencies have their own find_dependency... (by @cenit) -- [(#16227)](https://github.com/microsoft/vcpkg/pull/16227) [jsoncons] Update to version 0.162.0 (by @danielaparker) -- [(#16230)](https://github.com/microsoft/vcpkg/pull/16230) [sobjectizer] update to v.5.7.2.2 (by @eao197) -- [(#16232)](https://github.com/microsoft/vcpkg/pull/16232) [llvm] update to 11.1.0, add features and fix issues (by @yurybura) -- [(#16235)](https://github.com/microsoft/vcpkg/pull/16235) [hazelcast-cpp-client] Add new port (by @ihsandemir) -- [(#16238)](https://github.com/microsoft/vcpkg/pull/16238) [ryu] added ryu_printf (by @georg-emg) -- [(#16239)](https://github.com/microsoft/vcpkg/pull/16239) upgrade imgui to v1.81 (by @BrianPeek) -- [(#16245)](https://github.com/microsoft/vcpkg/pull/16245) [magnum,-plugins] Fix deployment of plugin types and incorrect removal of plugin lib dir on unix (by @Squareys) -- [(#16246)](https://github.com/microsoft/vcpkg/pull/16246) [halide] Update Halide to 11.0.1 (by @alexreinking) -- [(#16255)](https://github.com/microsoft/vcpkg/pull/16255) [imgui] change to correct dx binding implementation path (by @aizuon) -- [(#16257)](https://github.com/microsoft/vcpkg/pull/16257) [scripts audit] ports.cmake (by @strega-nil) -- [(#16260)](https://github.com/microsoft/vcpkg/pull/16260) [vcpkg] vcpkg_configure_meson: cross-compile fixes for Android (by @jwtowner) -- [(#16261)](https://github.com/microsoft/vcpkg/pull/16261) [continuable] add a new port (by @luncliff) -- [(#16264)](https://github.com/microsoft/vcpkg/pull/16264) [hpx] Update hpx to V1.6.0 (by @hkaiser) -- [(#16268)](https://github.com/microsoft/vcpkg/pull/16268) [Imgui] Update docking-experimental and freetype features to 1.81 (by @RT222) -- [(#16270)](https://github.com/microsoft/vcpkg/pull/16270) [vcpkg baseline][gsoap] Update to 2.8.111 (by @NancyLi1013) -- [(#16277)](https://github.com/microsoft/vcpkg/pull/16277) Updated 'simdjson' to v0.8.2 (by @jharmer95) -- [(#16280)](https://github.com/microsoft/vcpkg/pull/16280) qt5-base: misleading list of system packages required (by @wrobelda) -- [(#16285)](https://github.com/microsoft/vcpkg/pull/16285) [libffi] Fix processors (by @autoantwort) -- [(#16289)](https://github.com/microsoft/vcpkg/pull/16289) [vcpkg baseline][ktx/otl] Update download hash (by @JackBoosY) -- [(#16293)](https://github.com/microsoft/vcpkg/pull/16293) [URGENT] [vcpkg] fix script broken audit (by @cenit) -- [(#16294)](https://github.com/microsoft/vcpkg/pull/16294) [llvm] Fix resource path when building tools (by @JackBoosY) -- [(#16296)](https://github.com/microsoft/vcpkg/pull/16296) [soci] Fix feature mysql (by @JackBoosY) -- [(#16302)](https://github.com/microsoft/vcpkg/pull/16302) [bext-di] Rename `boost-di` to `bext-di` (by @krzysztof-jusiak) -- [(#16307)](https://github.com/microsoft/vcpkg/pull/16307) [functions-framework-cpp] update to latest release (v0.4.0) (by @coryan) -- [(#16312)](https://github.com/microsoft/vcpkg/pull/16312) [vcpkg] Add tar support for gettext (by @Wedge009) -- [(#16315)](https://github.com/microsoft/vcpkg/pull/16315) [python3] upgrade to 3.9.2 (by @Hoikas) -- [(#16317)](https://github.com/microsoft/vcpkg/pull/16317) direcxtsdk port updated to use MS Downloads (by @walbourn) -- [(#16320)](https://github.com/microsoft/vcpkg/pull/16320) [librtmp] Switch to GitHub mirror (by @ras0219) -- [(#16322)](https://github.com/microsoft/vcpkg/pull/16322) [box2d] update to 2.4.1 (by @JonLiu1993) -- [(#16323)](https://github.com/microsoft/vcpkg/pull/16323) [docs] Add CMake Integration to manifests.md (by @ras0219) -- [(#16324)](https://github.com/microsoft/vcpkg/pull/16324) [vcpkg docs] Update the versioning.getting-started.md (by @PhoebeHui) -- [(#16325)](https://github.com/microsoft/vcpkg/pull/16325) [libpmemobj-cpp] update to ver. 1.12 (by @JonLiu1993) -- [(#16334)](https://github.com/microsoft/vcpkg/pull/16334) [jsoncons] Update to 0.162.1 (by @danielaparker) -- [(#16335)](https://github.com/microsoft/vcpkg/pull/16335) [jsonnet] Incorporate md5.cpp into jsonnet library (by @tetsuh) -- [(#16336)](https://github.com/microsoft/vcpkg/pull/16336) [docs/users/manifests.md] add a link to the specification (by @coryan) -- [(#16337)](https://github.com/microsoft/vcpkg/pull/16337) [docs/users/binarycaching.md] a little blurb about using GCS (by @coryan) -- [(#16339)](https://github.com/microsoft/vcpkg/pull/16339) [psimd] add a new port (by @luncliff) -- [(#16340)](https://github.com/microsoft/vcpkg/pull/16340) [fp16] create a new port (by @luncliff) -- [(#16341)](https://github.com/microsoft/vcpkg/pull/16341) [fxdiv] create a new port (by @luncliff) -- [(#16342)](https://github.com/microsoft/vcpkg/pull/16342) [pthreadpool] create a new port (by @luncliff) -- [(#16344)](https://github.com/microsoft/vcpkg/pull/16344) [nnpack] create a new port (by @luncliff) -- [(#16345)](https://github.com/microsoft/vcpkg/pull/16345) [mfl] Add new port (by @cpp-niel) -- [(#16346)](https://github.com/microsoft/vcpkg/pull/16346) [fbgemm] create a new port (by @luncliff) -- [(#16347)](https://github.com/microsoft/vcpkg/pull/16347) vcpkg_copy_tool_dependencies: show description how to install powershell (by @autoantwort) -- [(#16348)](https://github.com/microsoft/vcpkg/pull/16348) [pthreads] support ARM arch and UWP platform (by @luncliff) -- [(#16354)](https://github.com/microsoft/vcpkg/pull/16354) [amqpcpp] update to 4.3.11 (by @JonLiu1993) -- [(#16356)](https://github.com/microsoft/vcpkg/pull/16356) [vcpkg baseline][poppler] Add feature splash and add its dependency boost-container and boost-move (by @JackBoosY) -- [(#16359)](https://github.com/microsoft/vcpkg/pull/16359) [vcpkg baseline][stxxl] Skip baseline check for windows build (by @JackBoosY) -- [(#16364)](https://github.com/microsoft/vcpkg/pull/16364) [tensorflow] upgrade to 2.4.1 (by @jgehw) -- [(#16366)](https://github.com/microsoft/vcpkg/pull/16366) [brynet] upgrade to 1.10.0 (by @IronsDu) -- [(#16369)](https://github.com/microsoft/vcpkg/pull/16369) [soci] Re-fix feature mysql (by @JackBoosY) -- [(#16370)](https://github.com/microsoft/vcpkg/pull/16370) [sdl2] Update patch (by @NancyLi1013) -- [(#16371)](https://github.com/microsoft/vcpkg/pull/16371) [wxwidgets] Fix include path in UNIX (by @JackBoosY) -- [(#16373)](https://github.com/microsoft/vcpkg/pull/16373) [podofo] update to 0.9.7 (by @JonLiu1993) -- [(#16375)](https://github.com/microsoft/vcpkg/pull/16375) [boost] /safeseh (by @autoantwort) -- [(#16378)](https://github.com/microsoft/vcpkg/pull/16378) [boost-context] fix linux -> windows cross compile (by @autoantwort) -- [(#16379)](https://github.com/microsoft/vcpkg/pull/16379) [seal] Updated SEAL version to 3.6.2. (by @WeiDaiWD) -- [(#16380)](https://github.com/microsoft/vcpkg/pull/16380) [rsasynccpp] Add new port (Rstein.AsyncCpp) (by @renestein) -- [(#16381)](https://github.com/microsoft/vcpkg/pull/16381) [vcpkg] [docs] Add Boost versioning example (by @vicroms) -- [(#16383)](https://github.com/microsoft/vcpkg/pull/16383) [antlr4] update to 4.9.1 (by @NickStrupat) -- [(#16385)](https://github.com/microsoft/vcpkg/pull/16385) [vcpkg baseline] [itpp] Fix include directory (by @PhoebeHui) -- [(#16386)](https://github.com/microsoft/vcpkg/pull/16386) [qt5-base] Add feature vulkan (by @JackBoosY) -- [(#16390)](https://github.com/microsoft/vcpkg/pull/16390) Update taglib to 1.12.0 (by @pdehne) -- [(#16392)](https://github.com/microsoft/vcpkg/pull/16392) [woff2] fix for static linking and alternative compiler toolchains (by @jwtowner) -- [(#16397)](https://github.com/microsoft/vcpkg/pull/16397) [brotli] add iOS support (by @jwtowner) -- [(#16398)](https://github.com/microsoft/vcpkg/pull/16398) [libwebm] apply upstream changes to support Android NDK r15b and later (by @jwtowner) -- [(#16400)](https://github.com/microsoft/vcpkg/pull/16400) [vcpkg-tool] Publish release 2021-02-24-d67989bce1043b98092ac45996a8230a059a2d7e (by @ras0219-msft) -- [(#16401)](https://github.com/microsoft/vcpkg/pull/16401) [breakpad] add support for Android triplets (by @jwtowner) -- [(#16404)](https://github.com/microsoft/vcpkg/pull/16404) [concurrentqueue] Update to 1.0.3 (by @JonLiu1993) -- [(#16408)](https://github.com/microsoft/vcpkg/pull/16408) [libtcod] Add new port. (by @HexDecimal) -- [(#16411)](https://github.com/microsoft/vcpkg/pull/16411) [realsense2] Update version to v 2.42.0 (by @Cheney-W) -- [(#16413)](https://github.com/microsoft/vcpkg/pull/16413) [cudnn] auto-download only if cuda version matches (by @cenit) -- [(#16415)](https://github.com/microsoft/vcpkg/pull/16415) [comms, commsdsl] update ports (by @mathisloge) -- [(#16420)](https://github.com/microsoft/vcpkg/pull/16420) [python3] Add feature deprecated-win7-support. (by @Hoikas) -- [(#16421)](https://github.com/microsoft/vcpkg/pull/16421) [docs] Add references to awesome community websites. Fixes #16278 (by @ras0219) -- [(#16426)](https://github.com/microsoft/vcpkg/pull/16426) [libmysql] Re-fix dependency openssl (by @JackBoosY) -- [(#16428)](https://github.com/microsoft/vcpkg/pull/16428) Upgrade to Python 3.9.2 to avoid CVE-2021-3177 and CVE-2021-23336 (by @cclauss) -- [(#16429)](https://github.com/microsoft/vcpkg/pull/16429) [glm] Add namespace to export target (by @JackBoosY) -- [(#16434)](https://github.com/microsoft/vcpkg/pull/16434) [libpq] fix filenames (linux -> windows cross compile) (by @autoantwort) -- [(#16436)](https://github.com/microsoft/vcpkg/pull/16436) [iir1] Add new port (by @andywang0607) -- [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) -- [(#16446)](https://github.com/microsoft/vcpkg/pull/16446) [celero] Updated to v2.7.2 (by @DigitalInBlue) -- [(#16447)](https://github.com/microsoft/vcpkg/pull/16447) [functions-framework-cpp] update to latest release (v0.5.0) (by @coryan) -- [(#16449)](https://github.com/microsoft/vcpkg/pull/16449) [protobuf] Update to 3.15.8 (by @yonik) -- [(#16455)](https://github.com/microsoft/vcpkg/pull/16455) [qscintilla] Update to 2.12 (by @m-kuhn) -- [(#16458)](https://github.com/microsoft/vcpkg/pull/16458) [exprtk] Update ExprTk (by @ArashPartow) -- [(#16459)](https://github.com/microsoft/vcpkg/pull/16459) [protopuf] Update to 1.0.1 (by @PragmaTwice) -- [(#16460)](https://github.com/microsoft/vcpkg/pull/16460) [libhv] Add new port (by @ithewei) -- [(#16461)](https://github.com/microsoft/vcpkg/pull/16461) [liblsl] Update to 1.14.0 (by @chausner) -- [(#16468)](https://github.com/microsoft/vcpkg/pull/16468) [vcpkg-cmake] Fix typo in vcpkg_cmake_configure that prevented custom triplets from working (by @sylveon) -- [(#16470)](https://github.com/microsoft/vcpkg/pull/16470) [sobjectizer] update to v5.7.2.3 (by @eao197) -- [(#16471)](https://github.com/microsoft/vcpkg/pull/16471) [libnop] create a new port (by @luncliff) -- [(#16473)](https://github.com/microsoft/vcpkg/pull/16473) [vcpkg baseline][libnice] Temporarily Skip all triplets check (by @NancyLi1013) -- [(#16477)](https://github.com/microsoft/vcpkg/pull/16477) [google-cloud-cpp] update to latest release (v1.25.0) (by @coryan) -- [(#16479)](https://github.com/microsoft/vcpkg/pull/16479) [many ports] Apply host dependencies (by @ras0219) -- [(#16480)](https://github.com/microsoft/vcpkg/pull/16480) [vcpkg_*_cmake] remove deprecation message (by @strega-nil) -- [(#16482)](https://github.com/microsoft/vcpkg/pull/16482) [boost-context] fix build result on apple arm (by @autoantwort) -- [(#16488)](https://github.com/microsoft/vcpkg/pull/16488) [msix] Add DISABLE_PARALLEL_CONFIGURE (by @NancyLi1013) -- [(#16489)](https://github.com/microsoft/vcpkg/pull/16489) [docs] Update to Community Resources in doc (by @Balnian) -- [(#16491)](https://github.com/microsoft/vcpkg/pull/16491) [g3log] update to 1.3.4 (by @JonLiu1993) -- [(#16492)](https://github.com/microsoft/vcpkg/pull/16492) [Azure pipeline] Upload file list logs for unstable testing (by @PhoebeHui) -- [(#16493)](https://github.com/microsoft/vcpkg/pull/16493) [mongoose] update to 7.1 (by @JonLiu1993) -- [(#16496)](https://github.com/microsoft/vcpkg/pull/16496) [uWebSockets] update to 19.0.0 (by @JonLiu1993) -- [(#16501)](https://github.com/microsoft/vcpkg/pull/16501) Don't copy svm-toy if not on Windows (by @SoftwareApe) -- [(#16502)](https://github.com/microsoft/vcpkg/pull/16502) [docs] Improve inter-document linking; add 'latest' links (by @ras0219) -- [(#16508)](https://github.com/microsoft/vcpkg/pull/16508) [scintilla] update to 4.4.6 (by @JonLiu1993) -- [(#16510)](https://github.com/microsoft/vcpkg/pull/16510) [fplus] update to v0.2.13-p0 (by @JonLiu1993) -- [(#16511)](https://github.com/microsoft/vcpkg/pull/16511) [crow] update to 0.2 (by @JonLiu1993) -- [(#16512)](https://github.com/microsoft/vcpkg/pull/16512) [hiredis] Fix include path (by @NancyLi1013) -- [(#16513)](https://github.com/microsoft/vcpkg/pull/16513) [opencascade] fix #16252 (by @Dejauxvue) -- [(#16515)](https://github.com/microsoft/vcpkg/pull/16515) Remove a ')' character in the documentation (by @duanqn) -- [(#16522)](https://github.com/microsoft/vcpkg/pull/16522) [vcpkg docs] Fix typo in docs/index.md (by @sbc100) -- [(#16525)](https://github.com/microsoft/vcpkg/pull/16525) [openssl] update to 1.1.1j (by @metsma) -- [(#16526)](https://github.com/microsoft/vcpkg/pull/16526) [poco] Remove dependency port openssl for feature netssl on windows (by @JackBoosY) -- [(#16527)](https://github.com/microsoft/vcpkg/pull/16527) [argparse] Update to the latest commit (by @JonLiu1993) -- [(#16536)](https://github.com/microsoft/vcpkg/pull/16536) [ginkgo] Create new port (by @upsj) -- [(#16546)](https://github.com/microsoft/vcpkg/pull/16546) [wxwidgets] Fix cmake wrapper (by @JackBoosY) -- [(#16548)](https://github.com/microsoft/vcpkg/pull/16548) [Azure-Kinect-Sensor-SDK] update to 1.41 (by @JonLiu1993) -- [(#16549)](https://github.com/microsoft/vcpkg/pull/16549) [poco] Fix feature sqlite3 (by @NancyLi1013) -- [(#16550)](https://github.com/microsoft/vcpkg/pull/16550) [sentry-native] Update to 0.4.8 (by @AenBleidd) -- [(#16552)](https://github.com/microsoft/vcpkg/pull/16552) [vc] Update HEAD_REF and fix CMake configure options (by @bernhardmgruber) -- [(#16553)](https://github.com/microsoft/vcpkg/pull/16553) [metrohash] support more triplets by excluding 128 CRC source (by @luncliff) -- [(#16568)](https://github.com/microsoft/vcpkg/pull/16568) [trantor] Update to 1.3.0 (by @an-tao) -- [(#16572)](https://github.com/microsoft/vcpkg/pull/16572) [geos] upgrade to 3.9.1 (by @m-kuhn) -- [(#16575)](https://github.com/microsoft/vcpkg/pull/16575) [wil] Updating WIL version to match its nuget package version (by @anaaru) -- [(#16576)](https://github.com/microsoft/vcpkg/pull/16576) [krabsetw] Update krabsetw to 4.1.18 (by @jrave) -- [(#16590)](https://github.com/microsoft/vcpkg/pull/16590) [vcpkg] Initial support of FreeBSD x86 platform (by @arves100) -- [(#16591)](https://github.com/microsoft/vcpkg/pull/16591) [cpp-httplib] Upgrade to v0.8.4 (by @tosone) -- [(#16592)](https://github.com/microsoft/vcpkg/pull/16592) [CGAL] Restore boost dependencies (by @maxGimeno) -- [(#16593)](https://github.com/microsoft/vcpkg/pull/16593) [hazelcast-cpp-client] New version update to 4.0.1 (by @ihsandemir) -- [(#16596)](https://github.com/microsoft/vcpkg/pull/16596) [scripts] vcpkg_configure_make: do not set --build on macOS (by @autoantwort) -- [(#16603)](https://github.com/microsoft/vcpkg/pull/16603) Update Lua port to version 5.4.2 (by @frankhale) -- [(#16605)](https://github.com/microsoft/vcpkg/pull/16605) [vcpkg-cmake] Search for binaries after manifest-based installs (by @townsend2010) -- [(#16610)](https://github.com/microsoft/vcpkg/pull/16610) [tiff] support zstd compression in TIFF image files (take 2) (by @ghesketh) -- [(#16611)](https://github.com/microsoft/vcpkg/pull/16611) [docs] Fix the automatically generated document URL (by @JackBoosY) -- [(#16617)](https://github.com/microsoft/vcpkg/pull/16617) [libxslt] Update to 1.1.34 (by @pastle-ptc) -- [(#16621)](https://github.com/microsoft/vcpkg/pull/16621) [harfbuzz] work around upstream SameFileError (by @Krzmbrzl) -- [(#16625)](https://github.com/microsoft/vcpkg/pull/16625) [ocilib] fix wrong solution filename (by @meastp) -- [(#16627)](https://github.com/microsoft/vcpkg/pull/16627) [host dependencies] add support in the scripts (by @strega-nil) -- [(#16628)](https://github.com/microsoft/vcpkg/pull/16628) Port for PresentMon, windows-only ETW swap-chain presentation capture and analysis tool (by @aggieNick02) -- [(#16633)](https://github.com/microsoft/vcpkg/pull/16633) [vcpkg_execute_build_process] Add warning message when memory or hard disk space is insufficient (by @JackBoosY) -- [(#16643)](https://github.com/microsoft/vcpkg/pull/16643) [prometheus-cpp] Update to version 0.12.2 (by @gjasny) -- [(#16649)](https://github.com/microsoft/vcpkg/pull/16649) [taglib] Upgrade from 1.12-beta-2 to 1.12 (by @uklotzde) -- [(#16651)](https://github.com/microsoft/vcpkg/pull/16651) [drogon] Update to 1.4.1 (by @an-tao) -- [(#16657)](https://github.com/microsoft/vcpkg/pull/16657) [magnum/magnum-plugins] fix magnum-plugins building all magnum dependencies (by @fran6co) -- [(#16659)](https://github.com/microsoft/vcpkg/pull/16659) [qt5-base] make libpq an optional dependency (by @autoantwort) -- [(#16661)](https://github.com/microsoft/vcpkg/pull/16661) [openjpeg] 16645 Fix compile w/features jp3d,jpip,jpwl,mj2 triplet x64-windows VS 2019 ver 16.9.1 (by @StarGate-One) -- [(#16664)](https://github.com/microsoft/vcpkg/pull/16664) [abseil] Upgrade abseil to 20200923 patch 3, fix gcc11 build error (by @xieyubo) -- [(#16667)](https://github.com/microsoft/vcpkg/pull/16667) [indicators] update to 2.0 (by @JonLiu1993) -- [(#16668)](https://github.com/microsoft/vcpkg/pull/16668) Azure Core Release Beta 7 (by @azure-sdk) -- [(#16672)](https://github.com/microsoft/vcpkg/pull/16672) [uWebSockets] updated to 19.0.0 alpha 5 (by @Phantomouse) -- [(#16675)](https://github.com/microsoft/vcpkg/pull/16675) [websocketpp] Add features to build without Boost (by @joefocusrite) -- [(#16679)](https://github.com/microsoft/vcpkg/pull/16679) [sqlite3] Update to 3.35.0 (by @kevinlul) -- [(#16683)](https://github.com/microsoft/vcpkg/pull/16683) [tweeny] Update to v3.2.0 (by @bradJM) -- [(#16684)](https://github.com/microsoft/vcpkg/pull/16684) [openvr ] Update openvr to 1.16.8 (by @EniacMlezi) -- [(#16693)](https://github.com/microsoft/vcpkg/pull/16693) [libbacktrace] new port (by @autoantwort) -- [(#16696)](https://github.com/microsoft/vcpkg/pull/16696) New port for mailio. (by @karastojko) -- [(#16697)](https://github.com/microsoft/vcpkg/pull/16697) [uSockets] update to version 0.7.1 (by @Phantomouse) -- [(#16701)](https://github.com/microsoft/vcpkg/pull/16701) [robin-hood-hashing] update to 3.10.0 (by @Ryan-rsm-McKenzie) -- [(#16703)](https://github.com/microsoft/vcpkg/pull/16703) [args] update to latest version (by @Ryan-rsm-McKenzie) -- [(#16705)](https://github.com/microsoft/vcpkg/pull/16705) [sundials] Update to 5.7.0 and also update repository (by @NancyLi1013) -- [(#16708)](https://github.com/microsoft/vcpkg/pull/16708) [ace] Upgrade to 7.0.1 (by @jwillemsen) -- [(#16710)](https://github.com/microsoft/vcpkg/pull/16710) [ixwebsocket] Fix cmake-configure files install path (by @NancyLi1013) -- [(#16711)](https://github.com/microsoft/vcpkg/pull/16711) [asio] update to 1.18.1 (by @JonLiu1993) -- [(#16714)](https://github.com/microsoft/vcpkg/pull/16714) [openh264] Add openh264 port (by @RichLogan) -- [(#16716)](https://github.com/microsoft/vcpkg/pull/16716) Don't try to install dependencies not managed by vcpkg (by @omartijn) -- [(#16725)](https://github.com/microsoft/vcpkg/pull/16725) [openmama] Modify the output path of the common header file (by @Cheney-W) -- [(#16726)](https://github.com/microsoft/vcpkg/pull/16726) [libxml2] Disable http and ftp on UWP (by @JackBoosY) -- [(#16727)](https://github.com/microsoft/vcpkg/pull/16727) [imgui] Update to 1.82 (by @RT222) -- [(#16730)](https://github.com/microsoft/vcpkg/pull/16730) [libsodium] Rework CMake build to match autoconf (by @thomasgt) -- [(#16733)](https://github.com/microsoft/vcpkg/pull/16733) [angle] Include EGL/eglext_angle.h in ANGLE (by @hanseuljun) -- [(#16737)](https://github.com/microsoft/vcpkg/pull/16737) [sdl2-mixer] Fix features link error (by @NancyLi1013) -- [(#16740)](https://github.com/microsoft/vcpkg/pull/16740) [libpq] mingw support (by @longnguyen2004) -- [(#16742)](https://github.com/microsoft/vcpkg/pull/16742) [glad] Add features to support different configurations. (by @crud89) -- [(#16749)](https://github.com/microsoft/vcpkg/pull/16749) [ttauri] Add new port (by @takev) -- [(#16755)](https://github.com/microsoft/vcpkg/pull/16755) [detours] support debug builds (by @sylveon) -- [(#16758)](https://github.com/microsoft/vcpkg/pull/16758) [docs] Rename docs/index.md to docs/README.md (by @autoantwort) -- [(#16760)](https://github.com/microsoft/vcpkg/pull/16760) [vcpkg docs] Modify manifest-root-dir as manifest-root (by @NancyLi1013) -- [(#16761)](https://github.com/microsoft/vcpkg/pull/16761) [vcpkg] Add "arm64-windows-static-md" triplet (by @davidebeatrici) -- [(#16763)](https://github.com/microsoft/vcpkg/pull/16763) [collada-dom] Add REMOVE_RECURSE to solve DLLs error path (by @JonLiu1993) -- [(#16765)](https://github.com/microsoft/vcpkg/pull/16765) [WinReg] update to v4.0.0 (by @JonLiu1993) -- [(#16766)](https://github.com/microsoft/vcpkg/pull/16766) [fmt] Fix build error when building arm64-uwp (by @JackBoosY) -- [(#16767)](https://github.com/microsoft/vcpkg/pull/16767) [libwebsockets] Update to v4.1.6 (by @657870) -- [(#16768)](https://github.com/microsoft/vcpkg/pull/16768) Upgrade ffmpeg to 4.3.2 (by @omartijn) -- [(#16770)](https://github.com/microsoft/vcpkg/pull/16770) [qt5-webengine] Fix issues (by @Neumann-A) -- [(#16774)](https://github.com/microsoft/vcpkg/pull/16774) [ci,vcpkg-cmake-*] remove host-only nature of vcpkg-cmake-* ports (by @strega-nil) -- [(#16775)](https://github.com/microsoft/vcpkg/pull/16775) [vcpkg_build_make] Fix interaction with Windows Detours (by @ras0219-msft) -- [(#16776)](https://github.com/microsoft/vcpkg/pull/16776) [vcpkg baseline] Skip libgnutls:x64-osx in Ci testing (by @PhoebeHui) -- [(#16779)](https://github.com/microsoft/vcpkg/pull/16779) [vtk] Add support for unicode path for VTK reader/writer (by @robbie-li) -- [(#16787)](https://github.com/microsoft/vcpkg/pull/16787) [msbuild] fix integration caching (by @strega-nil) -- [(#16788)](https://github.com/microsoft/vcpkg/pull/16788) [happly] add new port (by @autoantwort) -- [(#16789)](https://github.com/microsoft/vcpkg/pull/16789) [mailio] does not support uwp (by @autoantwort) -- [(#16794)](https://github.com/microsoft/vcpkg/pull/16794) [Influxdb-cxx] add new port (by @autoantwort) -- [(#16795)](https://github.com/microsoft/vcpkg/pull/16795) [docs] link to up to date versioning specification (by @autoantwort) -- [(#16796)](https://github.com/microsoft/vcpkg/pull/16796) [docs] fix links for vcpkg-tool maintainer help (by @autoantwort) -- [(#16799)](https://github.com/microsoft/vcpkg/pull/16799) [jwt-cpp] update to v0.5.0 (by @prince-chrismc) -- [(#16802)](https://github.com/microsoft/vcpkg/pull/16802) [celero] Updated to Celero v2.8.0 (by @DigitalInBlue) -- [(#16804)](https://github.com/microsoft/vcpkg/pull/16804) [blend2d] Update to beta_2021-03-17 (by @ZeeWanderer) -- [(#16805)](https://github.com/microsoft/vcpkg/pull/16805) Updates links to documentation in repo's root README.md (by @voldyman) -- [(#16806)](https://github.com/microsoft/vcpkg/pull/16806) [sail] Update 0.9.0-pre11 -> 0.9.0-pre12 (by @happy-sea-fox) -- [(#16810)](https://github.com/microsoft/vcpkg/pull/16810) [libgwenhywfar] new port (by @wrobelda) -- [(#16816)](https://github.com/microsoft/vcpkg/pull/16816) [libmt32emu] new port (by @autoantwort) -- [(#16818)](https://github.com/microsoft/vcpkg/pull/16818) [implot] Update to 0.9 (by @RT222) -- [(#16819)](https://github.com/microsoft/vcpkg/pull/16819) [spdlog] Fix build for Android (by @ahmedyarub) -- [(#16820)](https://github.com/microsoft/vcpkg/pull/16820) [jsoncons] Update to v0.163.0 (by @danielaparker) -- [(#16822)](https://github.com/microsoft/vcpkg/pull/16822) [bext-ut] create a new port (by @luncliff) -- [(#16824)](https://github.com/microsoft/vcpkg/pull/16824) [termcolor] update to 2.0.0 (by @JonLiu1993) -- [(#16825)](https://github.com/microsoft/vcpkg/pull/16825) [cairo,cairomm] add fontconfig and quartz feature and update cairo version (by @abique) -- [(#16834)](https://github.com/microsoft/vcpkg/pull/16834) [sqlite3] Update to 3.35.2 (by @past-due) -- [(#16835)](https://github.com/microsoft/vcpkg/pull/16835) [libhv] Add DISABLE_PARALLEL (by @NancyLi1013) -- [(#16837)](https://github.com/microsoft/vcpkg/pull/16837) [vcpkg baseline][gsoap] Update to 2.8.112 (by @NancyLi1013) -- [(#16838)](https://github.com/microsoft/vcpkg/pull/16838) [mapbox-geometry,mapbox-polylabel,geojson-vt-cpp,geojson-cpp] new ports (by @mathisloge) -- [(#16839)](https://github.com/microsoft/vcpkg/pull/16839) [libusb] Fix the support for Visual Studio 2019 (by @NancyLi1013) -- [(#16842)](https://github.com/microsoft/vcpkg/pull/16842) [workflow] update version of workflow port (by @dengjunplusplus) -- [(#16843)](https://github.com/microsoft/vcpkg/pull/16843) [flatbuffers] support iOS triplets (by @luncliff) -- [(#16852)](https://github.com/microsoft/vcpkg/pull/16852) [maintainer-guide] Clarify best practices for default features (by @ras0219-msft) -- [(#16856)](https://github.com/microsoft/vcpkg/pull/16856) [ixwebsocket] update to 11.2.3 (by @bsergean) -- [(#16858)](https://github.com/microsoft/vcpkg/pull/16858) [ryu] ryuConfig.cmake now selects the correct libraries when cross compiling (by @georg-emg) -- [(#16859)](https://github.com/microsoft/vcpkg/pull/16859) boost-modular-build-helper] Add system library dl for boost-regex[icu] and boost-locale[icu] on linux (by @PhoebeHui) -- [(#16860)](https://github.com/microsoft/vcpkg/pull/16860) [lz4] update to 1.9.3 (by @Thieum) -- [(#16863)](https://github.com/microsoft/vcpkg/pull/16863) [mqtt-cpp] update to 9.0.0 (by @sandro97git) -- [(#16865)](https://github.com/microsoft/vcpkg/pull/16865) [zstd] update to 1.4.9 (by @Thieum) -- [(#16867)](https://github.com/microsoft/vcpkg/pull/16867) [docs-triplets] Suggest overlay triplets (by @ras0219-msft) -- [(#16870)](https://github.com/microsoft/vcpkg/pull/16870) [spdlog] Update to 1.8.5 (by @Ryan-rsm-McKenzie) -- [(#16871)](https://github.com/microsoft/vcpkg/pull/16871) [WinReg] Update to v4.1.0 (by @JonLiu1993) -- [(#16872)](https://github.com/microsoft/vcpkg/pull/16872) [g3log] Add supports (by @NancyLi1013) -- [(#16875)](https://github.com/microsoft/vcpkg/pull/16875) [fakeit] add new port (by @autoantwort) -- [(#16877)](https://github.com/microsoft/vcpkg/pull/16877) [llvm] add features enable-{eh,ffi,bindings,terminfo,threads} (by @abique) -- [(#16879)](https://github.com/microsoft/vcpkg/pull/16879) [rapidcsv] new port (by @autoantwort) -- [(#16881)](https://github.com/microsoft/vcpkg/pull/16881) [docs] Vulkan SDK usage for Android triplets (by @luncliff) -- [(#16882)](https://github.com/microsoft/vcpkg/pull/16882) [ffmpeg] Fix FindFFMPEG lib versions for building opencv[ffmpeg] (by @genevanmeter) -- [(#16883)](https://github.com/microsoft/vcpkg/pull/16883) [vamp-sdk] new package (by @abique) -- [(#16884)](https://github.com/microsoft/vcpkg/pull/16884) [libcbor] New port (by @xgcssch) -- [(#16885)](https://github.com/microsoft/vcpkg/pull/16885) [microsoft-signalr] Update port with new version and find_package support (by @BrennanConroy) -- [(#16890)](https://github.com/microsoft/vcpkg/pull/16890) [freealut] Add a port of freealut (by @QAston) -- [(#16891)](https://github.com/microsoft/vcpkg/pull/16891) [libsoundio] Add support for linux backends (by @joefocusrite) -- [(#16892)](https://github.com/microsoft/vcpkg/pull/16892) [glfw3] Update to version 3.3.3 (by @barcharcraz) -- [(#16897)](https://github.com/microsoft/vcpkg/pull/16897) [libxml2] add missing GNUInstallDirs to fix pc files (by @Neumann-A) -- [(#16900)](https://github.com/microsoft/vcpkg/pull/16900) [vcpkg/scripts] add variable VCPKG_CROSSCOMPILING (by @Neumann-A) -- [(#16901)](https://github.com/microsoft/vcpkg/pull/16901) [robin-hood-hashing] Update to 3.11.1 (by @RT222) -- [(#16904)](https://github.com/microsoft/vcpkg/pull/16904) [vcpkg baseline][osgearth/gdal] Re-fix dependency gdal (by @JackBoosY) -- [(#16905)](https://github.com/microsoft/vcpkg/pull/16905) [fontconfig] fixes for arm64-macos (by @abique) -- [(#16910)](https://github.com/microsoft/vcpkg/pull/16910) [mpg123] Upgrade to 1.26.3-1 (by @evpobr) -- [(#16911)](https://github.com/microsoft/vcpkg/pull/16911) [freeglut] Don't enforce x64 when the compiler is 64 bit (by @davidebeatrici) -- [(#16913)](https://github.com/microsoft/vcpkg/pull/16913) [nowide] Upgrade to 11.1.1 (by @tats-u) -- [(#16916)](https://github.com/microsoft/vcpkg/pull/16916) [dav1d] Update to 0.8.2 (by @EwoutH) -- [(#16927)](https://github.com/microsoft/vcpkg/pull/16927) [vcpkg] Convert env vars slash if host is Win32 (by @huangqinjin) -- [(#16928)](https://github.com/microsoft/vcpkg/pull/16928) [abseil] Upgrade to 20210324 (by @Chronial) -- [(#16930)](https://github.com/microsoft/vcpkg/pull/16930) [boost-context] support android (by @huangqinjin) -- [(#16931)](https://github.com/microsoft/vcpkg/pull/16931) [quill] Upgrade to 1.6.2 (by @odygrd) -- [(#16935)](https://github.com/microsoft/vcpkg/pull/16935) [vcpkg/scripts] add a way to define another tool destination (by @Neumann-A) -- [(#16936)](https://github.com/microsoft/vcpkg/pull/16936) [ghc-filesystem] create a new port (by @luncliff) -- [(#16937)](https://github.com/microsoft/vcpkg/pull/16937) [OpenSSL] Update to 1.1.1k (by @metsma) -- [(#16943)](https://github.com/microsoft/vcpkg/pull/16943) [lua]Update port to version 5.4.3 (by @frankhale) -- [(#16948)](https://github.com/microsoft/vcpkg/pull/16948) [cmake] update cmake test port (by @Neumann-A) -- [(#16952)](https://github.com/microsoft/vcpkg/pull/16952) [vcpkg_acquire_msys] Update package versions (by @ras0219-msft) -- [(#16954)](https://github.com/microsoft/vcpkg/pull/16954) [vcpkg baseline][qt5-base] Fix glib link issues on linux (by @Neumann-A) -- [(#16957)](https://github.com/microsoft/vcpkg/pull/16957) [libarchive] Remove lzo from the default feature list (by @PhoebeHui) -- [(#16959)](https://github.com/microsoft/vcpkg/pull/16959) [vcpkg/make/scripts]only append the lib directories if they exist. (by @Neumann-A) -- [(#16962)](https://github.com/microsoft/vcpkg/pull/16962) [opensubdiv] Remove debug/share folder (by @PhoebeHui) -- [(#16969)](https://github.com/microsoft/vcpkg/pull/16969) [open62541] add amalgamation feature (by @Neumann-A) -- [(#16975)](https://github.com/microsoft/vcpkg/pull/16975) [libodb-mysql] Fix usage (by @JackBoosY) -- [(#16984)](https://github.com/microsoft/vcpkg/pull/16984) [gsl-lite] Update to 0.38.0 (by @mbeutel) -- [(#16994)](https://github.com/microsoft/vcpkg/pull/16994) [boost-regex] fix build with icu on osx (by @autoantwort) -- [(#16997)](https://github.com/microsoft/vcpkg/pull/16997) [protobuf] Fix deprecation warning in vcpkg_check_feature() (by @NancyLi1013) -- [(#17003)](https://github.com/microsoft/vcpkg/pull/17003) [libwebsockets] Fix usage, export include path (by @JackBoosY) -- [(#17004)](https://github.com/microsoft/vcpkg/pull/17004) [libmariadb] update to the 3.1.12 (by @JonLiu1993) -- [(#17010)](https://github.com/microsoft/vcpkg/pull/17010) [gettext] Add feature tools (by @Neumann-A) -- [(#17011)](https://github.com/microsoft/vcpkg/pull/17011) [pthreads] Fix crt linkage (by @JackBoosY) -- [(#17012)](https://github.com/microsoft/vcpkg/pull/17012) [soil] Update repository (by @NancyLi1013) -- [(#17014)](https://github.com/microsoft/vcpkg/pull/17014) [vcpkg baseline][pangolin] Add options to dependencies to avoid finding them automatically (by @JackBoosY) -- [(#17015)](https://github.com/microsoft/vcpkg/pull/17015) [vtk] enables openvr module when openvr is listed (by @veggiesaurus) -- [(#17016)](https://github.com/microsoft/vcpkg/pull/17016) [magnum,-plugins] Fix deprecated use of vcpkg_check_features (by @Squareys) -- [(#17018)](https://github.com/microsoft/vcpkg/pull/17018) [vcpkg] Pass no parallel build command to execute_process when parallel build is disabled (by @xandox) -- [(#17020)](https://github.com/microsoft/vcpkg/pull/17020) [Libassuan] Add cflags to tool build command (by @xandox) -- [(#17021)](https://github.com/microsoft/vcpkg/pull/17021) Libgcrypt add cflags to tool build command (by @xandox) -- [(#17023)](https://github.com/microsoft/vcpkg/pull/17023) Libgpg-error add cflags to tools build commands (by @xandox) -- [(#17024)](https://github.com/microsoft/vcpkg/pull/17024) Libspatialite remove cflags from vcpkg_configure_make options (by @xandox) -- [(#17025)](https://github.com/microsoft/vcpkg/pull/17025) Spatialite-tools remove cflags from vcpkg_configure_make options (by @xandox) -- [(#17026)](https://github.com/microsoft/vcpkg/pull/17026) Openmpi keep -isystem flags in configure scripts (by @xandox) -- [(#17027)](https://github.com/microsoft/vcpkg/pull/17027) [google-cloud-cpp] update to the latest release (v1.26.0) (by @coryan) -- [(#17047)](https://github.com/microsoft/vcpkg/pull/17047) [entt] Update to 3.7.0 (by @skaarj1989) -- [(#17049)](https://github.com/microsoft/vcpkg/pull/17049) [vcpkg] improve pull request template (by @autoantwort) -- [(#17051)](https://github.com/microsoft/vcpkg/pull/17051) [x265] Allow release-only build. (by @matttyson) -- [(#17060)](https://github.com/microsoft/vcpkg/pull/17060) binarycaching.md: Move Configuration section to the top. Add table of??? (by @autoantwort) -- [(#17066)](https://github.com/microsoft/vcpkg/pull/17066) add link to common vcpkg definitions (by @autoantwort) -- [(#17067)](https://github.com/microsoft/vcpkg/pull/17067) [sqlite3] Update to 3.35.4 (by @past-due) -- [(#17068)](https://github.com/microsoft/vcpkg/pull/17068) fix VCPKG_CROSSCOMPILING (by @autoantwort) -- [(#17070)](https://github.com/microsoft/vcpkg/pull/17070) [libmt32emu] update to 2.5.0 (by @autoantwort) -- [(#17073)](https://github.com/microsoft/vcpkg/pull/17073) vcpkg_configure_make: Add support for linux -> windows cross compilation (by @autoantwort) -- [(#17074)](https://github.com/microsoft/vcpkg/pull/17074) [mpg123] Upgrade to 1.26.4 (by @evpobr) -- [(#17076)](https://github.com/microsoft/vcpkg/pull/17076) Update libjuice to 0.7.1 to update libdatachannel (by @Nemirtingas) -- [(#17077)](https://github.com/microsoft/vcpkg/pull/17077) [libdatachannel ] Update to 0.12.0 (by @Nemirtingas) -- [(#17082)](https://github.com/microsoft/vcpkg/pull/17082) [nuklear] Upgrade from 2020-09-14 to 2021-03-18 version and switch repo (by @SamuelMarks) -- [(#17083)](https://github.com/microsoft/vcpkg/pull/17083) [vcpkg baseline][gdal] Fix configure error on OSX (by @JackBoosY) -- [(#17085)](https://github.com/microsoft/vcpkg/pull/17085) [vcpkg/scripts/make] add compiler tools to PATH (by @huangqinjin) -- [(#17094)](https://github.com/microsoft/vcpkg/pull/17094) [fltk] Fix link to system libs (by @JackBoosY) -- [(#17095)](https://github.com/microsoft/vcpkg/pull/17095) [libui] Export system libs on OSX (by @JackBoosY) -- [(#17101)](https://github.com/microsoft/vcpkg/pull/17101) [minizip-ng] add new port (by @prateek9623) -- [(#17102)](https://github.com/microsoft/vcpkg/pull/17102) [scripts] Fix Perl download link (by @yurybura) -- [(#17106)](https://github.com/microsoft/vcpkg/pull/17106) [sdl2] Fix pthread detection on macOS (by @past-due) -- [(#17112)](https://github.com/microsoft/vcpkg/pull/17112) [fastcdr] Fix support Linux (by @NancyLi1013) -- [(#17113)](https://github.com/microsoft/vcpkg/pull/17113) [libmariadb] Fix build error with cmake 3.20.0 (by @NancyLi1013) -- [(#17117)](https://github.com/microsoft/vcpkg/pull/17117) [glib] fix build error for x64-linux-dynamic (by @kwiechen) -- [(#17120)](https://github.com/microsoft/vcpkg/pull/17120) format vcpkg.json testing files (by @autoantwort) -- [(#17123)](https://github.com/microsoft/vcpkg/pull/17123) [directxtex,directxmesh, directxtk, directxtk12, uvatlas] updated for April 2021 releases (by @walbourn) -- [(#17126)](https://github.com/microsoft/vcpkg/pull/17126) [jsoncons] Update to 0.163.1 (by @danielaparker) -- [(#17138)](https://github.com/microsoft/vcpkg/pull/17138) Add /etc/fstab in order to remove /cygdrive/ prefix (by @dg0yt) -- [(#17142)](https://github.com/microsoft/vcpkg/pull/17142) [azure-core-cpp, azure-identity-cpp] Update to latest version (by @azure-sdk) -- [(#17143)](https://github.com/microsoft/vcpkg/pull/17143) [azure-security-keyvault-*] Add new ports (by @azure-sdk) -- [(#17148)](https://github.com/microsoft/vcpkg/pull/17148) [hunspell] switch to make to enable build of hunspell tools (by @Neumann-A) -- [(#17152)](https://github.com/microsoft/vcpkg/pull/17152) [spdlog] Use external fmt header (by @NancyLi1013) -- [(#17158)](https://github.com/microsoft/vcpkg/pull/17158) [qt5] Move qt5 headers into qt5 subdir (by @Neumann-A) -- [(#17160)](https://github.com/microsoft/vcpkg/pull/17160) [vcpkg] add versions for testing files (by @autoantwort) -- [(#17166)](https://github.com/microsoft/vcpkg/pull/17166) [libtorrent] Update to latest 1.2.x commit (by @FranciscoPombal) -- [(#17168)](https://github.com/microsoft/vcpkg/pull/17168) [clamav] Fix the conflicts with libmspack (by @NancyLi1013) -- [(#17169)](https://github.com/microsoft/vcpkg/pull/17169) [behaviortree-cpp] update to 3.5.6 (by @JonLiu1993) -- [(#17170)](https://github.com/microsoft/vcpkg/pull/17170) [knet]Update to v1.0.2 (by @KibaAmor) -- [(#17172)](https://github.com/microsoft/vcpkg/pull/17172) [libwebp] Fix release-only builds (by @dg0yt) -- [(#17173)](https://github.com/microsoft/vcpkg/pull/17173) [trantor] Update to 1.4.0 (by @an-tao) -- [(#17174)](https://github.com/microsoft/vcpkg/pull/17174) [xaudio2redist] Add new port (by @walbourn) -- [(#17175)](https://github.com/microsoft/vcpkg/pull/17175) [dxsdk-d3dx] Add new port (by @walbourn) -- [(#17182)](https://github.com/microsoft/vcpkg/pull/17182) [cpp-httplib] Upgrade to v0.8.6 (by @PhilLab) -- [(#17190)](https://github.com/microsoft/vcpkg/pull/17190) [drogon] Update to 1.5.1 (by @an-tao) -- [(#17191)](https://github.com/microsoft/vcpkg/pull/17191) [mpg123] Upgrade to 1.26.5 (by @evpobr) -- [(#17196)](https://github.com/microsoft/vcpkg/pull/17196) [pthreadpool] update sources and support find_package (by @luncliff) -- [(#17197)](https://github.com/microsoft/vcpkg/pull/17197) sync GLIB_DLL_SUFFIX with pkgconfig (by @kwiechen) -- [(#17198)](https://github.com/microsoft/vcpkg/pull/17198) [docs] Typo fix for Korean doc. (by @vyujing) -- [(#17200)](https://github.com/microsoft/vcpkg/pull/17200) [simdjson] Update to 0.9.2 (by @myd7349) -- [(#17201)](https://github.com/microsoft/vcpkg/pull/17201) [yyjson] Add new port (by @myd7349) -- [(#17206)](https://github.com/microsoft/vcpkg/pull/17206) [libgeotiff] Fix mingw build (by @dg0yt) -- [(#17208)](https://github.com/microsoft/vcpkg/pull/17208) [hypodermic] Add new port (v2.5.2) (by @revilo) -- [(#17209)](https://github.com/microsoft/vcpkg/pull/17209) [vcpkg baseline] [nowide] update to 11.1.2 (by @autoantwort) -- [(#17214)](https://github.com/microsoft/vcpkg/pull/17214) [doc] Improve manifest documentation links (by @dg0yt) -- [(#17218)](https://github.com/microsoft/vcpkg/pull/17218) [vcpkg Readme] Added x64 triplet note for Windows Quick Start (by @MarkIngramUK) -- [(#17219)](https://github.com/microsoft/vcpkg/pull/17219) Add mingw documentation (by @dg0yt) -- [(#17220)](https://github.com/microsoft/vcpkg/pull/17220) [docs] add more blog posts (by @autoantwort) -- [(#17221)](https://github.com/microsoft/vcpkg/pull/17221) [avisynthplus] Update to 3.7.0 (by @wangqr) -- [(#17223)](https://github.com/microsoft/vcpkg/pull/17223) Update bitmagic version to 7.2.0 (by @klalumiere) -- [(#17226)](https://github.com/microsoft/vcpkg/pull/17226) [ncurses] Add new port (by @Hoikas) -- [(#17230)](https://github.com/microsoft/vcpkg/pull/17230) [c-ares] Fix definition on static build, add options to disable tools and tests (by @JackBoosY) -- [(#17231)](https://github.com/microsoft/vcpkg/pull/17231) [hidapi] Add support linux and osx (by @NancyLi1013) -- [(#17232)](https://github.com/microsoft/vcpkg/pull/17232) [libpq] Fix cmake wrapper on Windows, add usage (by @JackBoosY) -- [(#17235)](https://github.com/microsoft/vcpkg/pull/17235) [fluidsynth] update portfile features. (by @Neumann-A) -- [(#17236)](https://github.com/microsoft/vcpkg/pull/17236) [ffmpeg] no longer hardcode version strings in FindFFMPEG script (by @mcmtroffaes) -- [(#17238)](https://github.com/microsoft/vcpkg/pull/17238) [minizip-ng] Modify the output include path of the header file (by @Cheney-W) -- [(#17239)](https://github.com/microsoft/vcpkg/pull/17239) [stlab] update to 1.6.2 (by @dittons) -- [(#17242)](https://github.com/microsoft/vcpkg/pull/17242) [scnlib] Update the port of scnlib to 0.4 (by @QAston) -- [(#17249)](https://github.com/microsoft/vcpkg/pull/17249) [elfio] Update elfio from 3.8 to 3.9 (by @schultetwin1) -- [(#17250)](https://github.com/microsoft/vcpkg/pull/17250) [vcpkg baseline][pangolin] Set CMAKE_DISABLE_FIND_PACKAGE_XX to ON (by @PhoebeHui) -- [(#17253)](https://github.com/microsoft/vcpkg/pull/17253) [libwebsockets] Update dependency (by @NancyLi1013) -- [(#17256)](https://github.com/microsoft/vcpkg/pull/17256) [Xalan-C] update to 1.12 (by @JonLiu1993) -- [(#17257)](https://github.com/microsoft/vcpkg/pull/17257) [vcpkg docs] Add the procedure for updating vcpkg to faq (by @PhoebeHui) -- [(#17258)](https://github.com/microsoft/vcpkg/pull/17258) [vcpkg] Fix the wrong slash (by @PhoebeHui) -- [(#17264)](https://github.com/microsoft/vcpkg/pull/17264) [Gmp] add cflags to build commands for compiletime tools (by @xandox) -- [(#17271)](https://github.com/microsoft/vcpkg/pull/17271) [catch2] Fix share/catch2 directory name conflict (by @wildmichael) -- [(#17277)](https://github.com/microsoft/vcpkg/pull/17277) [vcpkg baseline][popsift] Fix vcpkg_find_cuda.cmake path (by @JackBoosY) -- [(#17279)](https://github.com/microsoft/vcpkg/pull/17279) [fmt] Update usage (by @NancyLi1013) -- [(#17280)](https://github.com/microsoft/vcpkg/pull/17280) [fontconfig] Don't require uuid port for mingw (by @dg0yt) -- [(#17282)](https://github.com/microsoft/vcpkg/pull/17282) [libzip] fix dependency in libzip-config.cmake.in (by @NancyLi1013) -- [(#17287)](https://github.com/microsoft/vcpkg/pull/17287) [libvpx] Fix libvpx compilation (install process) (by @talregev) -- [(#17290)](https://github.com/microsoft/vcpkg/pull/17290) [lodepng-c] Disable parallel configure (by @JackBoosY) -- [(#17294)](https://github.com/microsoft/vcpkg/pull/17294) [libyuv] update to latest commit (by @JonLiu1993) -- [(#17297)](https://github.com/microsoft/vcpkg/pull/17297) [armadillo] update to <10.4.0> (by @JonLiu1993) -- [(#17298)](https://github.com/microsoft/vcpkg/pull/17298) [ffmpeg] add -fPIC (by @cenit) -- [(#17300)](https://github.com/microsoft/vcpkg/pull/17300) [CGAL] Fix the configuration file (by @maxGimeno) -- [(#17306)](https://github.com/microsoft/vcpkg/pull/17306) [ryu] fixed syntax error in ryuConfig.cmake (by @georg-emg) -- [(#17311)](https://github.com/microsoft/vcpkg/pull/17311) [igraph] create new port (by @szhorvat) -- [(#17318)](https://github.com/microsoft/vcpkg/pull/17318) [pthreads] Make port empty on mingw (by @dg0yt) -- [(#17321)](https://github.com/microsoft/vcpkg/pull/17321) [libosip2] Update to 5.2.0 and add windows support (by @NancyLi1013) -- [(#17331)](https://github.com/microsoft/vcpkg/pull/17331) Update VMs, CMake to 3.20.1, CUDA to 11.3, and pwsh to 7.1.3 (by @BillyONeal) -- [(#17341)](https://github.com/microsoft/vcpkg/pull/17341) [vcpkg baseline][marble] Disable find I18n (by @JackBoosY) -- [(#17346)](https://github.com/microsoft/vcpkg/pull/17346) [cudnn] add other locations to find lib already installed (by @cenit) -- [(#17347)](https://github.com/microsoft/vcpkg/pull/17347) [shaderwriter] Update to version 1.1.0 (by @DragonJoker) -- [(#17354)](https://github.com/microsoft/vcpkg/pull/17354) [opencv4] Fix OPTIONS BUILD_opencv_gapi (by @NancyLi1013) -- [(#17355)](https://github.com/microsoft/vcpkg/pull/17355) [cub] update to 1.12.0 (by @JonLiu1993) -- [(#17356)](https://github.com/microsoft/vcpkg/pull/17356) [corrade] Fix VS2019 build error (by @NancyLi1013) -- [(#17360)](https://github.com/microsoft/vcpkg/pull/17360) [tinyexr] update version and add targets (by @fran6co) -- [(#17362)](https://github.com/microsoft/vcpkg/pull/17362) [Outcome] update to v2.2.0 release. (by @ned14) -- [(#17363)](https://github.com/microsoft/vcpkg/pull/17363) Add arm64-osx-dynamic triplet (by @nickgravelyn) -- [(#17364)](https://github.com/microsoft/vcpkg/pull/17364) Add VCPKG_OSX_ARCHITECTURES for x64-osx-dynamic triplet (by @nickgravelyn) -- [(#17367)](https://github.com/microsoft/vcpkg/pull/17367) [spirv-cross] small cleanup (by @fran6co) -- [(#17370)](https://github.com/microsoft/vcpkg/pull/17370) [PoissonRecon] new port (by @fran6co) -- [(#17371)](https://github.com/microsoft/vcpkg/pull/17371) [hdf5] threadsafe support (by @Thieum) -- [(#17373)](https://github.com/microsoft/vcpkg/pull/17373) [openssl/unix] Run `make` with 'VCPKG_CONCURRENCY' parallelism (by @mschofie) -- [(#17376)](https://github.com/microsoft/vcpkg/pull/17376) [ci] Update macOS to 11 (by @strega-nil) -- [(#17378)](https://github.com/microsoft/vcpkg/pull/17378) [flashlight-cuda] update port to v0.3 (by @jacobkahn) -- [(#17389)](https://github.com/microsoft/vcpkg/pull/17389) [libxml2] Pass version to rc via configured file (by @dg0yt) -- [(#17399)](https://github.com/microsoft/vcpkg/pull/17399) [directx-headers] port updated (by @walbourn) -- [(#17401)](https://github.com/microsoft/vcpkg/pull/17401) [portaudio] update to 19.7 (by @Be-ing) -- [(#17404)](https://github.com/microsoft/vcpkg/pull/17404) [forge] Fix usage (by @JackBoosY) -- [(#17407)](https://github.com/microsoft/vcpkg/pull/17407) [taskflow] update to 3.1.0 (by @JonLiu1993) -- [(#17410)](https://github.com/microsoft/vcpkg/pull/17410) [parmetis] Fix build on x64-linux. (by @grospelliergilles) -- [(#17413)](https://github.com/microsoft/vcpkg/pull/17413) [sentry-native] Update to 0.4.9 (by @AenBleidd) -- [(#17415)](https://github.com/microsoft/vcpkg/pull/17415) [tinygltf] fix json path (by @fran6co) -- [(#17419)](https://github.com/microsoft/vcpkg/pull/17419) [Libidn2] disable documentation (by @xandox) -- [(#17420)](https://github.com/microsoft/vcpkg/pull/17420) [Libtasn1] disable documentation (by @xandox) -- [(#17421)](https://github.com/microsoft/vcpkg/pull/17421) [Nettle] add cflags to build tools (by @xandox) -- [(#17422)](https://github.com/microsoft/vcpkg/pull/17422) [grpc][upb] Update to newer versions (by @ras0219) -- [(#17432)](https://github.com/microsoft/vcpkg/pull/17432) [flashlight-cpu] Update port to v0.3 (by @jacobkahn) -- [(#17437)](https://github.com/microsoft/vcpkg/pull/17437) [pcl] Fix qhul cannot be found (by @NancyLi1013) -- [(#17439)](https://github.com/microsoft/vcpkg/pull/17439) control-files.md: fix dead link and add command how to convert files (by @autoantwort) -- [(#17444)](https://github.com/microsoft/vcpkg/pull/17444) [gsl-lite] Update to 0.38.1 (by @mbeutel) -- [(#17445)](https://github.com/microsoft/vcpkg/pull/17445) [gamedev-framework] Update to 0.20.0 (by @ahugeat) -- [(#17447)](https://github.com/microsoft/vcpkg/pull/17447) [azure-sdk-for-cpp] Upgrade vcpkg manifest files (by @antkmsft) -- [(#17451)](https://github.com/microsoft/vcpkg/pull/17451) [frozen] Update to latest commit (by @Ryan-rsm-McKenzie) -- [(#17453)](https://github.com/microsoft/vcpkg/pull/17453) [physx] Update to 4.1.2 (by @Hoikas) -- [(#17459)](https://github.com/microsoft/vcpkg/pull/17459) [marl] update to latest version (by @JonLiu1993) -- [(#17461)](https://github.com/microsoft/vcpkg/pull/17461) [matplotplusplus] Install extra 3rd libraries (by @JackBoosY) -- [(#17466)](https://github.com/microsoft/vcpkg/pull/17466) [jsoncons] Update to version 0.163.3 (by @danielaparker) -- [(#17467)](https://github.com/microsoft/vcpkg/pull/17467) [ffmpeg] avdevice xcb linking fix on linux (by @mcmtroffaes) -- [(#17471)](https://github.com/microsoft/vcpkg/pull/17471) [ecos] Update ecos library version to 2.0.8 (by @csorvagep) -- [(#17484)](https://github.com/microsoft/vcpkg/pull/17484) [doc] Fix broken link (by @dg0yt) -- [(#17488)](https://github.com/microsoft/vcpkg/pull/17488) [pkgconf] Add new port (by @Neumann-A) -- [(#17491)](https://github.com/microsoft/vcpkg/pull/17491) [vcpkg baseline] Disable forest in ci baseline (by @PhoebeHui) -- [(#17492)](https://github.com/microsoft/vcpkg/pull/17492) [vcpkg baseline][marble] Disable dependency KF5 (by @JackBoosY) -- [(#17495)](https://github.com/microsoft/vcpkg/pull/17495) [boolinq] update to 3.0.1 (2020-07-29) (by @JonLiu1993) -- [(#17496)](https://github.com/microsoft/vcpkg/pull/17496) [grpc] update to 1.37.0 (by @JonLiu1993) -- [(#17501)](https://github.com/microsoft/vcpkg/pull/17501) [sqlcipher] update to 4.4.3 (#17500) (by @shiena) -- [(#17502)](https://github.com/microsoft/vcpkg/pull/17502) [doc] Fix example code. (by @w-gomes) -- [(#17507)](https://github.com/microsoft/vcpkg/pull/17507) [gamenetworkingsockets] Update to the latest commit to include headers (by @JonLiu1993) -- [(#17509)](https://github.com/microsoft/vcpkg/pull/17509) [botan] add arm (by @jgilje) -- [(#17511)](https://github.com/microsoft/vcpkg/pull/17511) [spdlog] Fix mingW build (by @JackBoosY) -- [(#17523)](https://github.com/microsoft/vcpkg/pull/17523) [gettext] disable dirent detection on windows (by @Neumann-A) -- [(#17525)](https://github.com/microsoft/vcpkg/pull/17525) [libqcow] Fix build issues by updating to 20210419 (by @AlexAltea) -- [(#17528)](https://github.com/microsoft/vcpkg/pull/17528) [vcpkg baseline][gdk-pixbuf] Fix build error on windows (by @PhoebeHui) -- [(#17531)](https://github.com/microsoft/vcpkg/pull/17531) [ffmpeg] add openh264 support (by @mcmtroffaes) -- [(#17549)](https://github.com/microsoft/vcpkg/pull/17549) [doc] Update manifest to reference versioning spec (by @mathisloge) -- [(#17550)](https://github.com/microsoft/vcpkg/pull/17550) [doc] Add 2019.06 blog post (by @dg0yt) -- [(#17552)](https://github.com/microsoft/vcpkg/pull/17552) [matplotplusplus] Fix find and use dependencies (by @JackBoosY) -- [(#17554)](https://github.com/microsoft/vcpkg/pull/17554) [zeromq] Update to 4.3.4 (by @Carbenium) -- [(#17559)](https://github.com/microsoft/vcpkg/pull/17559) [new/updated port] frugally-deep and updated fplus (by @mathisloge) -- [(#17566)](https://github.com/microsoft/vcpkg/pull/17566) [docs] Fix broken links (by @PhoebeHui) -- [(#17579)](https://github.com/microsoft/vcpkg/pull/17579) [python3] Disable registry access to determine WinSDK (by @ras0219-msft) -- [(#17581)](https://github.com/microsoft/vcpkg/pull/17581) [comms,commsdsl] update ports (by @mathisloge) - -
- -
-The following 47 ports have been added: - -|port|version| -|---|---| -|[kuku](https://github.com/microsoft/vcpkg/pull/14898)[#16194](https://github.com/microsoft/vcpkg/pull/16194)|2 -|[gpgme](https://github.com/microsoft/vcpkg/pull/13950)|1.14.0 -|[boost-leaf](https://github.com/microsoft/vcpkg/pull/15090)[#15616](https://github.com/microsoft/vcpkg/pull/15616)|1.75.0 -|[libgcrypt](https://github.com/microsoft/vcpkg/pull/13950)[#15950](https://github.com/microsoft/vcpkg/pull/15950)[#17021](https://github.com/microsoft/vcpkg/pull/17021)|1.8.7 -|[status-code](https://github.com/microsoft/vcpkg/pull/15603)|1.0.0-ab3cd821 -|[librttopo](https://github.com/microsoft/vcpkg/pull/15037)|1.1.0-2 -|[azure-identity-cpp](https://github.com/microsoft/vcpkg/pull/16014)[#16668](https://github.com/microsoft/vcpkg/pull/16668)[#17142](https://github.com/microsoft/vcpkg/pull/17142)[#17447](https://github.com/microsoft/vcpkg/pull/17447)|1.0.0-beta.3 -|[libassuan](https://github.com/microsoft/vcpkg/pull/13950)[#17020](https://github.com/microsoft/vcpkg/pull/17020)|2.5.3 -|[llfio](https://github.com/microsoft/vcpkg/pull/15603)[#17362](https://github.com/microsoft/vcpkg/pull/17362)|2.0-20210420 -|[graphene](https://github.com/microsoft/vcpkg/pull/13100)[#15754](https://github.com/microsoft/vcpkg/pull/15754)|1.10.2 -|[ampl-asl](https://github.com/microsoft/vcpkg/pull/14518)|2020-11-11 -|[sdformat10](https://github.com/microsoft/vcpkg/pull/14324)|10.0.0 -|[popsift](https://github.com/microsoft/vcpkg/pull/10979)[#17277](https://github.com/microsoft/vcpkg/pull/17277)|0.9 -|[fastcgi](https://github.com/microsoft/vcpkg/pull/7824)|2020-09-11 -|[boost-stl-interfaces](https://github.com/microsoft/vcpkg/pull/14089)[#14969](https://github.com/microsoft/vcpkg/pull/14969)[#15090](https://github.com/microsoft/vcpkg/pull/15090)[#15616](https://github.com/microsoft/vcpkg/pull/15616)|1.74.0 -|[dataframe](https://github.com/microsoft/vcpkg/pull/14351)|1.12.0 -|[discreture](https://github.com/microsoft/vcpkg/pull/15967)|2020-01-29 -|[clrng](https://github.com/microsoft/vcpkg/pull/14876)|2020-12-01 -|[libuvc](https://github.com/microsoft/vcpkg/pull/14749)|2020-11-24 -|[ignition-fuel-tools4](https://github.com/microsoft/vcpkg/pull/15581)|4.3.0 -|[boost-pfr](https://github.com/microsoft/vcpkg/pull/15090)[#15616](https://github.com/microsoft/vcpkg/pull/15616)|1.75.0 -|[clamav](https://github.com/microsoft/vcpkg/pull/14658)[#17168](https://github.com/microsoft/vcpkg/pull/17168)|0.103.0 -|[azure-storage-files-datalake-cpp](https://github.com/microsoft/vcpkg/pull/16020)[#16183](https://github.com/microsoft/vcpkg/pull/16183)[#16668](https://github.com/microsoft/vcpkg/pull/16668)[#17142](https://github.com/microsoft/vcpkg/pull/17142)[#17447](https://github.com/microsoft/vcpkg/pull/17447)|12.0.0-beta.10 -|[azure-storage-blobs-cpp](https://github.com/microsoft/vcpkg/pull/16020)[#16183](https://github.com/microsoft/vcpkg/pull/16183)[#16668](https://github.com/microsoft/vcpkg/pull/16668)[#17142](https://github.com/microsoft/vcpkg/pull/17142)[#17447](https://github.com/microsoft/vcpkg/pull/17447)|12.0.0-beta.10 -|[tensorflow-common](https://github.com/microsoft/vcpkg/pull/14392)[#15354](https://github.com/microsoft/vcpkg/pull/15354)[#16364](https://github.com/microsoft/vcpkg/pull/16364)[#17331](https://github.com/microsoft/vcpkg/pull/17331)|2.3.1 -|[libsass](https://github.com/microsoft/vcpkg/pull/15752)|3.6.4 -|[ignition-common3](https://github.com/microsoft/vcpkg/pull/11273)|3.9.0 -|[ned14-internal-quickcpplib](https://github.com/microsoft/vcpkg/pull/15603)[#17362](https://github.com/microsoft/vcpkg/pull/17362)|0.0.0-24d92c71 -|[directxmath](https://github.com/microsoft/vcpkg/pull/15210)[#15383](https://github.com/microsoft/vcpkg/pull/15383)[#15554](https://github.com/microsoft/vcpkg/pull/15554)|3.1.6 -|[ignition-transport9](https://github.com/microsoft/vcpkg/pull/14324)|9.0.0 -|[mpc](https://github.com/microsoft/vcpkg/pull/13081)|1.2.0 -|[azure-storage-common-cpp](https://github.com/microsoft/vcpkg/pull/16020)[#16183](https://github.com/microsoft/vcpkg/pull/16183)[#16668](https://github.com/microsoft/vcpkg/pull/16668)[#17142](https://github.com/microsoft/vcpkg/pull/17142)[#17447](https://github.com/microsoft/vcpkg/pull/17447)|12.0.0-beta.10 -|[ignition-msgs6](https://github.com/microsoft/vcpkg/pull/14324)[#14730](https://github.com/microsoft/vcpkg/pull/14730)|6.0.0 -|[tensorflow](https://github.com/microsoft/vcpkg/pull/14392)[#15354](https://github.com/microsoft/vcpkg/pull/15354)[#16364](https://github.com/microsoft/vcpkg/pull/16364)|2.3.1 -|[mesa](https://github.com/microsoft/vcpkg/pull/14640)[#15729](https://github.com/microsoft/vcpkg/pull/15729)|20.2.2 -|[azure-core-cpp](https://github.com/microsoft/vcpkg/pull/16013)[#16160](https://github.com/microsoft/vcpkg/pull/16160)[#16668](https://github.com/microsoft/vcpkg/pull/16668)[#17142](https://github.com/microsoft/vcpkg/pull/17142)[#17447](https://github.com/microsoft/vcpkg/pull/17447)|1.0.0-beta.5 -|[sassc](https://github.com/microsoft/vcpkg/pull/15752)|3.6.1 -|[fixed-string](https://github.com/microsoft/vcpkg/pull/14770)|0.1.0 -|[libgpg-error](https://github.com/microsoft/vcpkg/pull/13950)[#17023](https://github.com/microsoft/vcpkg/pull/17023)|1.39 -|[elfutils](https://github.com/microsoft/vcpkg/pull/14771)|0.182 -|[azure-storage-files-shares-cpp](https://github.com/microsoft/vcpkg/pull/16053)[#16183](https://github.com/microsoft/vcpkg/pull/16183)[#16668](https://github.com/microsoft/vcpkg/pull/16668)[#17142](https://github.com/microsoft/vcpkg/pull/17142)[#17447](https://github.com/microsoft/vcpkg/pull/17447)|12.0.0-beta.10 -|[libilbc](https://github.com/microsoft/vcpkg/pull/15331)|3.0.3 -|[blas](https://github.com/microsoft/vcpkg/pull/13448)|1 -|[boost-json](https://github.com/microsoft/vcpkg/pull/15090)[#15616](https://github.com/microsoft/vcpkg/pull/15616)|1.75.0 -|[camport3](https://github.com/microsoft/vcpkg/pull/13759)|1.5.3 -|[arcus](https://github.com/microsoft/vcpkg/pull/15305)|4.8.0 -|[directx-headers](https://github.com/microsoft/vcpkg/pull/15222)[#15554](https://github.com/microsoft/vcpkg/pull/15554)[#17399](https://github.com/microsoft/vcpkg/pull/17399)|1 - -
- -
-The following 804 ports have been updated: - -- boost-config `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- libopusenc `0.2.1#0` -> `0.2.1#0` - - [(#15671)](https://github.com/microsoft/vcpkg/pull/15671) [libopusenc] fix macOS and Linux build (by @Be-ing) -- aws-sdk-cpp `1.8.126#0` -> `1.8.126#5` - - [(#13998)](https://github.com/microsoft/vcpkg/pull/13998) [llvm] update to 11.0.0 (by @yurybura) - - [(#14479)](https://github.com/microsoft/vcpkg/pull/14479) [aws-sdk-cpp] Update to 1.8.83 (by @PhoebeHui) - - [(#14546)](https://github.com/microsoft/vcpkg/pull/14546) [aws-sdk-cpp] Make aws-sdk-cpp rpath relocatable (by @klalumiere) - - [(#14868)](https://github.com/microsoft/vcpkg/pull/14868) [aws-sdk-cpp] Restore AWSSDKConfig.cmake and add usage (by @JackBoosY) - - [(#14936)](https://github.com/microsoft/vcpkg/pull/14936) [aws-sdk-cpp] Add find_dependency to AWSSDKConfig.cmake and fix usage (by @JackBoosY) - - [(#15725)](https://github.com/microsoft/vcpkg/pull/15725) [aws-cpp-sdk] [zlib] [openssl] [curl] Fix zlib, OpenSSL, curl and AWS SDK for Android (by @ahmedyarub) - - [(#15760)](https://github.com/microsoft/vcpkg/pull/15760) Update aws cpp sdk (by @ahmedyarub) - - [(#15804)](https://github.com/microsoft/vcpkg/pull/15804) [aws-sdk-cpp] Fix PRIVATE => PRVATE typo (by @BillyONeal) - - [(#16149)](https://github.com/microsoft/vcpkg/pull/16149) [aws-sdk-cpp] Regenerate feature list (by @ras0219) -- eigen3 `3.3.7#7` -> `3.3.7#8` - - [(#13739)](https://github.com/microsoft/vcpkg/pull/13739) [eigen3] Fix include path (by @LilyWangL) - - [(#15022)](https://github.com/microsoft/vcpkg/pull/15022) [eigen3] update to 3.3.9 (by @FlyingdutchmanC) -- openvdb `7.1.0#1` -> `7.1.0#2` - - [(#14651)](https://github.com/microsoft/vcpkg/pull/14651) [openvdb] Fix dependency issue and usage issue (by @PhoebeHui) - - [(#15902)](https://github.com/microsoft/vcpkg/pull/15902) [openvdb] Fix vcpkg-cmake-wrapper (by @JackBoosY) -- minizip-ng `#0` -> `#0` - - [(#17101)](https://github.com/microsoft/vcpkg/pull/17101) [minizip-ng] add new port (by @prateek9623) - - [(#17238)](https://github.com/microsoft/vcpkg/pull/17238) [minizip-ng] Modify the output include path of the header file (by @Cheney-W) -- boost-predef `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- kenlm `20200924#0` -> `20200924#0` - - [(#14382)](https://github.com/microsoft/vcpkg/pull/14382) [kenlm, pdal] Fix const overload on Visual Studio 2019 version 16.8 (by @LilyWangL) -- harfbuzz `2.7.4#1` -> `2.7.4#1` - - [(#12860)](https://github.com/microsoft/vcpkg/pull/12860) [harfbuzz] Use meson and update to 2.7.0 (by @vejmartin) - - [(#13100)](https://github.com/microsoft/vcpkg/pull/13100) [glib up to gtk] update and make it work with meson (by @Neumann-A) - - [(#14530)](https://github.com/microsoft/vcpkg/pull/14530) [harfbuzz] fix icu linkage (by @Neumann-A) - - [(#16621)](https://github.com/microsoft/vcpkg/pull/16621) [harfbuzz] work around upstream SameFileError (by @Krzmbrzl) -- boost-uninstall `1.73.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- drogon `1.1.0#0` -> `1.3.0#0` - - [(#15850)](https://github.com/microsoft/vcpkg/pull/15850) [drogon] Upgrade to v1.3.0 (by @kotori2) - - [(#16651)](https://github.com/microsoft/vcpkg/pull/16651) [drogon] Update to 1.4.1 (by @an-tao) - - [(#17190)](https://github.com/microsoft/vcpkg/pull/17190) [drogon] Update to 1.5.1 (by @an-tao) -- directxmesh `aug2020#1` -> `apr2021#0` - - [(#14539)](https://github.com/microsoft/vcpkg/pull/14539) [directxtk][directxtk12][directxtex][directxmesh] Update to latest version (by @RT222) - - [(#15210)](https://github.com/microsoft/vcpkg/pull/15210) Updated directxtk et al for cmake package support (by @walbourn) - - [(#15554)](https://github.com/microsoft/vcpkg/pull/15554) directxmesh, directxtex, and uvatlas now support linux (by @walbourn) - - [(#15639)](https://github.com/microsoft/vcpkg/pull/15639) directxtex, directxmesh, directxtk, uvatlas ports updated to fix cach??? (by @walbourn) - - [(#17123)](https://github.com/microsoft/vcpkg/pull/17123) [directxtex,directxmesh, directxtk, directxtk12, uvatlas] updated for April 2021 releases (by @walbourn) -- boost-functional `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- gppanel `2020-05-20#0` -> `2020-05-20#0` - - [(#13361)](https://github.com/microsoft/vcpkg/pull/13361) [wxwidgets] Fix #4756 (by @ras0219) - - [(#14794)](https://github.com/microsoft/vcpkg/pull/14794) [ebml/gppanel/matroska/polyhook2/unrar] Fix typos in CONTROL files (by @NancyLi1013) -- openimageio `2.1.16.0#4` -> `2.2.10.0#0` - - [(#15509)](https://github.com/microsoft/vcpkg/pull/15509) [openimageio] Bump to 2.2.10.0. (by @Hoikas) -- quill `1.6.1#1` -> `1.6.1#1` - - [(#14448)](https://github.com/microsoft/vcpkg/pull/14448) [quill] Update to 1.5.2 (by @odygrd) - - [(#14916)](https://github.com/microsoft/vcpkg/pull/14916) [quill] Update 1.6.0 (by @odygrd) - - [(#15467)](https://github.com/microsoft/vcpkg/pull/15467) [quill] Update to v1.6.1 (by @RT222) - - [(#16202)](https://github.com/microsoft/vcpkg/pull/16202) [quill] Uncomment QUILL_FMT_EXTERNAL macro (by @RT222) - - [(#16931)](https://github.com/microsoft/vcpkg/pull/16931) [quill] Upgrade to 1.6.2 (by @odygrd) -- cppcms `1.2.1-1#0` -> `1.2.1#2` - - [(#15473)](https://github.com/microsoft/vcpkg/pull/15473) [vcpkg baseline][cppcms] Fix issue with detecting Python 2. (by @Hoikas) -- flann `2019-04-07-1#0` -> `2019-04-07#1` - - [(#14716)](https://github.com/microsoft/vcpkg/pull/14716) [cmake] update to 3.19.2 (by @JackBoosY) -- libxmlpp `2.40.1#6` -> `2.40.1#8` - - [(#11776)](https://github.com/microsoft/vcpkg/pull/11776) [intl/gettext/fontconfig] update to native build system (by @Neumann-A) - - [(#13100)](https://github.com/microsoft/vcpkg/pull/13100) [glib up to gtk] update and make it work with meson (by @Neumann-A) - - [(#14988)](https://github.com/microsoft/vcpkg/pull/14988) [GLIBMM] Installing .pc file (by @faserg1) - - [(#15353)](https://github.com/microsoft/vcpkg/pull/15353) Build results from 2020-12-27 (by @BillyONeal) -- mfl `#0` -> `#0` - - [(#16345)](https://github.com/microsoft/vcpkg/pull/16345) [mfl] Add new port (by @cpp-niel) -- highfive `2.2.2#0` -> `2.2.2#1` - - [(#14716)](https://github.com/microsoft/vcpkg/pull/14716) [cmake] update to 3.19.2 (by @JackBoosY) -- lodepng `2020-03-15#0` -> `2020-03-15#0` - - [(#16408)](https://github.com/microsoft/vcpkg/pull/16408) [libtcod] Add new port. (by @HexDecimal) -- boost-modular-build-helper `1.75.0#1` -> `1.75.0#2` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14517)](https://github.com/microsoft/vcpkg/pull/14517) [boost] Install usage file (by @PhoebeHui) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15137)](https://github.com/microsoft/vcpkg/pull/15137) [boost-modular-build-helper] Specify msvc version in user-config.jam (by @ras0219-msft) - - [(#15254)](https://github.com/microsoft/vcpkg/pull/15254) [boost-modular-builder] let fallback to default tool path (by @xandox) - - [(#15274)](https://github.com/microsoft/vcpkg/pull/15274) [boost-modular-build-helper] Allow setting B2_OPTIONS_[DBG|REL] in BOOST_CMAKE_FRAGMENT (fixes #15273) (by @klalumiere) - - [(#15572)](https://github.com/microsoft/vcpkg/pull/15572) [vcpkg,boost-modular-build-helper] initial ppc64le community support (by @lebdron) - - [(#15606)](https://github.com/microsoft/vcpkg/pull/15606) [boost-locale] android build (by @xandox) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) - - [(#16087)](https://github.com/microsoft/vcpkg/pull/16087) [boost-python] Fix build issue with feature python2 (by @PhoebeHui) - - [(#16375)](https://github.com/microsoft/vcpkg/pull/16375) [boost] /safeseh (by @autoantwort) - - [(#16479)](https://github.com/microsoft/vcpkg/pull/16479) [many ports] Apply host dependencies (by @ras0219) - - [(#16859)](https://github.com/microsoft/vcpkg/pull/16859) boost-modular-build-helper] Add system library dl for boost-regex[icu] and boost-locale[icu] on linux (by @PhoebeHui) - - [(#16930)](https://github.com/microsoft/vcpkg/pull/16930) [boost-context] support android (by @huangqinjin) -- boost-local-function `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- boost-type-erasure `1.75.0#0` -> `1.75.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) - - [(#16479)](https://github.com/microsoft/vcpkg/pull/16479) [many ports] Apply host dependencies (by @ras0219) -- bext-ut `#0` -> `#0` - - [(#16822)](https://github.com/microsoft/vcpkg/pull/16822) [bext-ut] create a new port (by @luncliff) -- gamenetworkingsockets `2020-09-02#0` -> `2020-09-02#0` - - [(#14937)](https://github.com/microsoft/vcpkg/pull/14937) [gamenetworkingsockets] Add new port (by @Balnian) - - [(#17507)](https://github.com/microsoft/vcpkg/pull/17507) [gamenetworkingsockets] Update to the latest commit to include headers (by @JonLiu1993) -- sqlite-orm `1.5#2` -> `1.6#0` - - [(#15517)](https://github.com/microsoft/vcpkg/pull/15517) [sqlite-orm] Update to 1.6 (by @NancyLi1013) -- indicators `1.7#0` -> `2020-10-30#0` - - [(#14223)](https://github.com/microsoft/vcpkg/pull/14223) [indicators] Update to Master (by @Link1J) - - [(#16667)](https://github.com/microsoft/vcpkg/pull/16667) [indicators] update to 2.0 (by @JonLiu1993) -- boost-coroutine `1.75.0#2` -> `1.75.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) - - [(#16479)](https://github.com/microsoft/vcpkg/pull/16479) [many ports] Apply host dependencies (by @ras0219) -- bitserializer `0.10#0` -> `0.10#0` - - [(#14246)](https://github.com/microsoft/vcpkg/pull/14246) [vcpkg baseline] Clean up baseline, use Keyword Supports Part 2 (by @JackBoosY) -- superlu `2#0` -> `2#0` - - [(#13448)](https://github.com/microsoft/vcpkg/pull/13448) [BLAS] add metaport (by @cenit) -- ceres `1.14.0#10` -> `2.0.0#0` - - [(#12785)](https://github.com/microsoft/vcpkg/pull/12785) [OpenCV] fix compatibility with VTK9 (by @cenit) - - [(#14719)](https://github.com/microsoft/vcpkg/pull/14719) [ceres] upgrade to 2.0.0 (by @fran6co) - - [(#14986)](https://github.com/microsoft/vcpkg/pull/14986) 2020-12-07 Build Fixes (by @BillyONeal) - - [(#15362)](https://github.com/microsoft/vcpkg/pull/15362) [ceres] Fix static library path on Linux (by @JackBoosY) - - [(#15802)](https://github.com/microsoft/vcpkg/pull/15802) [ceres] Mark all dependencies REQUIRED (by @ras0219) -- zeromq `2019-09-20#1` -> `2019-09-20#2` - - [(#14642)](https://github.com/microsoft/vcpkg/pull/14642) [zeromq] Add feature draft (by @JonLiu1993) - - [(#17554)](https://github.com/microsoft/vcpkg/pull/17554) [zeromq] Update to 4.3.4 (by @Carbenium) -- msdfgen `1.8#0` -> `1.8#0` - - [(#15427)](https://github.com/microsoft/vcpkg/pull/15427) [msdfgen] New port (by @Haeri) -- libgwenhywfar `#0` -> `#0` - - [(#16810)](https://github.com/microsoft/vcpkg/pull/16810) [libgwenhywfar] new port (by @wrobelda) -- boost-property-tree `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- sdl2pp `0.16.0-2#0` -> `0.16.1#0` - - [(#13300)](https://github.com/microsoft/vcpkg/pull/13300) [sdl2pp] Update to 0.16.1 and fix find_package error (by @LilyWangL) -- console-bridge `1.0.1#0` -> `1.0.1#1` - - [(#14324)](https://github.com/microsoft/vcpkg/pull/14324) [ignition] Updates on various pkgs ???? (by @ahoarau) -- boost-variant2 `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- libnop `#0` -> `#0` - - [(#16471)](https://github.com/microsoft/vcpkg/pull/16471) [libnop] create a new port (by @luncliff) -- aws-lambda-cpp `0.2.6#0` -> `0.2.6#0` - - [(#14246)](https://github.com/microsoft/vcpkg/pull/14246) [vcpkg baseline] Clean up baseline, use Keyword Supports Part 2 (by @JackBoosY) -- boost-concept-check `1.75.0#0` -> `1.75.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) - - [(#15887)](https://github.com/microsoft/vcpkg/pull/15887) [boost-concept-check] Fix warning C4834 when install pagmo2 (by @Cheney-W) - - [(#16479)](https://github.com/microsoft/vcpkg/pull/16479) [many ports] Apply host dependencies (by @ras0219) -- crow `0.1-1#0` -> `0.1-1#0` - - [(#16511)](https://github.com/microsoft/vcpkg/pull/16511) [crow] update to 0.2 (by @JonLiu1993) -- arrayfire `3.7.3#0` -> `3.7.3#0` - - [(#14240)](https://github.com/microsoft/vcpkg/pull/14240) [arrayfire] New Port (by @jacobkahn) - - [(#14911)](https://github.com/microsoft/vcpkg/pull/14911) [arrayfire] Update port to fix cuSparse issue with CUDA 10.1 (by @jacobkahn) - - [(#15027)](https://github.com/microsoft/vcpkg/pull/15027) [arrayfire] Remove forge and graphics deps from port (by @jacobkahn) -- libsamplerate `0.1.9.0#0` -> `0.1.9.0#0` - - [(#14348)](https://github.com/microsoft/vcpkg/pull/14348) [libsamplerate, sdl2-gfx] Fix build error with Visual Studio 2019 version 16.8 (by @LilyWangL) - - [(#15797)](https://github.com/microsoft/vcpkg/pull/15797) [libsamplerate] Upgrade to 0.2.0 (by @evpobr) - - [(#15954)](https://github.com/microsoft/vcpkg/pull/15954) [libsamplerate] Update to 0.2.1 (by @evpobr) -- rocksdb `6.13.3#0` -> `6.14.6#0` - - [(#14976)](https://github.com/microsoft/vcpkg/pull/14976) [osgearth/rocksdb] Update to latest release (by @NancyLi1013) -- psimd `2021-02-21#0` -> `2021-02-21#0` - - [(#16339)](https://github.com/microsoft/vcpkg/pull/16339) [psimd] add a new port (by @luncliff) -- brotli `1.0.9#0` -> `1.0.9#1` - - [(#16397)](https://github.com/microsoft/vcpkg/pull/16397) [brotli] add iOS support (by @jwtowner) -- abseil `2020-09-23#0` -> `2020-09-23#0` - - [(#14109)](https://github.com/microsoft/vcpkg/pull/14109) [abseil] Revert changes about arm build (by @JackBoosY) - - [(#14647)](https://github.com/microsoft/vcpkg/pull/14647) [abseil] Re-fix cxx 17 standard, add macro ABSL_USE_CXX17 (by @JackBoosY) - - [(#16106)](https://github.com/microsoft/vcpkg/pull/16106) [abseil] Remove link flag '-ignore:4221' (by @JackBoosY) - - [(#16664)](https://github.com/microsoft/vcpkg/pull/16664) [abseil] Upgrade abseil to 20200923 patch 3, fix gcc11 build error (by @xieyubo) - - [(#16928)](https://github.com/microsoft/vcpkg/pull/16928) [abseil] Upgrade to 20210324 (by @Chronial) -- angelscript `2.34.0#0` -> `2.34.0#0` - - [(#14245)](https://github.com/microsoft/vcpkg/pull/14245) [vcpkg baseline] Clean up baseline, use Keyword Supports Part 1 (by @JackBoosY) - - [(#15852)](https://github.com/microsoft/vcpkg/pull/15852) [angelscript] Update to 2.35.0 (by @crackedmind) -- magic-get `2019-09-02-1#0` -> `2019-09-02#0` - - [(#15353)](https://github.com/microsoft/vcpkg/pull/15353) Build results from 2020-12-27 (by @BillyONeal) -- mqtt-cpp `7.0.1-2#0` -> `9.0.0#0` - - [(#16863)](https://github.com/microsoft/vcpkg/pull/16863) [mqtt-cpp] update to 9.0.0 (by @sandro97git) -- lz4 `1.9.2-2#0` -> `1.9.3#0` - - [(#16860)](https://github.com/microsoft/vcpkg/pull/16860) [lz4] update to 1.9.3 (by @Thieum) -- lua `5.4.1#0` -> `5.4.2#0` - - [(#16107)](https://github.com/microsoft/vcpkg/pull/16107) [lua] support iOS triplets (by @luncliff) - - [(#16603)](https://github.com/microsoft/vcpkg/pull/16603) Update Lua port to version 5.4.2 (by @frankhale) - - [(#16943)](https://github.com/microsoft/vcpkg/pull/16943) [lua]Update port to version 5.4.3 (by @frankhale) -- fluidsynth `2.1.4#0` -> `2.1.4#0` - - [(#17235)](https://github.com/microsoft/vcpkg/pull/17235) [fluidsynth] update portfile features. (by @Neumann-A) -- boost-dll `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- assimp `5.0.1#3` -> `5.0.1#4` - - [(#14554)](https://github.com/microsoft/vcpkg/pull/14554) [assimp] Fix cmake config name and add cmake version (by @PhoebeHui) -- libpqxx `7.3.1#0` -> `7.3.1#1` - - [(#14921)](https://github.com/microsoft/vcpkg/pull/14921) [libpqxx] update to 7.2.1 (by @JonLiu1993) - - [(#15259)](https://github.com/microsoft/vcpkg/pull/15259) [libpqxx] update to 7.3.0 (by @JonLiu1993) - - [(#15851)](https://github.com/microsoft/vcpkg/pull/15851) [libpqxx] Upgrade to v7.3.1 (by @tomlankhorst) - - [(#15995)](https://github.com/microsoft/vcpkg/pull/15995) [libpqxx] Fix build with Visual Studio 2017 (by @JackBoosY) -- boost-static-string `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- itk `5.1.0#0` -> `5.1.0#0` - - [(#14510)](https://github.com/microsoft/vcpkg/pull/14510) [python3] Upgrade to 3.9.0 (by @Hoikas) - - [(#15221)](https://github.com/microsoft/vcpkg/pull/15221) [python3] Add vcpkg-cmake-wrapper. (by @Hoikas) -- kf5i18n `5.64.0#1` -> `5.64.0#0` - - [(#13467)](https://github.com/microsoft/vcpkg/pull/13467) [many ports] Update existing KF5 frameworks to 5.75 (by @wrobelda) -- qt5-xmlpatterns `5.15.1#0` -> `5.15.2#0` - - [(#14678)](https://github.com/microsoft/vcpkg/pull/14678) [qt5] Update to 5.15.2 (by @Neumann-A) -- cairo `1.16.0#7` -> `1.16.0#8` - - [(#11776)](https://github.com/microsoft/vcpkg/pull/11776) [intl/gettext/fontconfig] update to native build system (by @Neumann-A) - - [(#13100)](https://github.com/microsoft/vcpkg/pull/13100) [glib up to gtk] update and make it work with meson (by @Neumann-A) - - [(#15965)](https://github.com/microsoft/vcpkg/pull/15965) [cairo] Make freetype and fontconfig optional. (by @Hoikas) - - [(#16825)](https://github.com/microsoft/vcpkg/pull/16825) [cairo,cairomm] add fontconfig and quartz feature and update cairo version (by @abique) -- boost-type-index `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- qt5-purchasing `5.15.1#0` -> `5.15.2#0` - - [(#14678)](https://github.com/microsoft/vcpkg/pull/14678) [qt5] Update to 5.15.2 (by @Neumann-A) -- asio `1.18.0#0` -> `1.18.0#0` - - [(#16711)](https://github.com/microsoft/vcpkg/pull/16711) [asio] update to 1.18.1 (by @JonLiu1993) -- gl2ps `1.4.0-3#0` -> `1.4.2#0` - - [(#16134)](https://github.com/microsoft/vcpkg/pull/16134) [gl2ps] update to 1.4.2 (by @JonLiu1993) -- matio `1.5.17#0` -> `1.5.19#0` - - [(#15971)](https://github.com/microsoft/vcpkg/pull/15971) [matio] Update to v1.5.19 (by @traversaro) -- wxwidgets `3.1.4#3` -> `3.1.4#0` - - [(#13361)](https://github.com/microsoft/vcpkg/pull/13361) [wxwidgets] Fix #4756 (by @ras0219) - - [(#16154)](https://github.com/microsoft/vcpkg/pull/16154) [wxWidgets] Fix issue with port usage (by @AenBleidd) - - [(#16371)](https://github.com/microsoft/vcpkg/pull/16371) [wxwidgets] Fix include path in UNIX (by @JackBoosY) - - [(#16546)](https://github.com/microsoft/vcpkg/pull/16546) [wxwidgets] Fix cmake wrapper (by @JackBoosY) -- qt5-scxml `5.15.1#0` -> `5.15.2#0` - - [(#14678)](https://github.com/microsoft/vcpkg/pull/14678) [qt5] Update to 5.15.2 (by @Neumann-A) -- itpp `4.3.1-5#0` -> `4.3.1-5#0` - - [(#16385)](https://github.com/microsoft/vcpkg/pull/16385) [vcpkg baseline] [itpp] Fix include directory (by @PhoebeHui) -- clapack `3.2.1#15` -> `3.2.1#16` - - [(#13448)](https://github.com/microsoft/vcpkg/pull/13448) [BLAS] add metaport (by @cenit) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) - - [(#16479)](https://github.com/microsoft/vcpkg/pull/16479) [many ports] Apply host dependencies (by @ras0219) -- opengl `0.0-7#0` -> `0#8` - - [(#14724)](https://github.com/microsoft/vcpkg/pull/14724) [opengl] port path fix when crosscompiling (by @Nemirtingas) -- cimg `2.6.2#0` -> `2.9.4#0` - - [(#14923)](https://github.com/microsoft/vcpkg/pull/14923) [cimg] update to 2.9.4 (by @JonLiu1993) -- qt5-graphicaleffects `5.15.1#0` -> `5.15.2#0` - - [(#14678)](https://github.com/microsoft/vcpkg/pull/14678) [qt5] Update to 5.15.2 (by @Neumann-A) -- effects11 `11.26#0` -> `11.26#0` - - [(#16101)](https://github.com/microsoft/vcpkg/pull/16101) Update DXUT port and add Effects11 (FX) port (by @walbourn) -- wavpack `5.3.0#0` -> `5.3.0#1` - - [(#15787)](https://github.com/microsoft/vcpkg/pull/15787) [ffmpeg] Add support for dav1d,fontconfig,freetype,fribidi,ilbc,modplug,opengl,openjpeg,libssh,tensorflow,tesseract,webp,libxml2 dependencies. (by @Sibras) -- trantor `1.1.0#0` -> `1.1.1#0` - - [(#15460)](https://github.com/microsoft/vcpkg/pull/15460) update trantor to 1.1.1 (by @kkzi) - - [(#15841)](https://github.com/microsoft/vcpkg/pull/15841) [trantor] Update to 1.2.0 (by @an-tao) - - [(#16568)](https://github.com/microsoft/vcpkg/pull/16568) [trantor] Update to 1.3.0 (by @an-tao) - - [(#17173)](https://github.com/microsoft/vcpkg/pull/17173) [trantor] Update to 1.4.0 (by @an-tao) -- nowide `11.0.0#0` -> `11.1.1#0` - - [(#16913)](https://github.com/microsoft/vcpkg/pull/16913) [nowide] Upgrade to 11.1.1 (by @tats-u) - - [(#17209)](https://github.com/microsoft/vcpkg/pull/17209) [vcpkg baseline] [nowide] update to 11.1.2 (by @autoantwort) -- freealut `1.1.0#0` -> `1.1.0#0` - - [(#16890)](https://github.com/microsoft/vcpkg/pull/16890) [freealut] Add a port of freealut (by @QAston) -- libsvm `323-1#0` -> `323#0` - - [(#16501)](https://github.com/microsoft/vcpkg/pull/16501) Don't copy svm-toy if not on Windows (by @SoftwareApe) -- glibmm `2.52.1#12` -> `2.52.1#14` - - [(#11776)](https://github.com/microsoft/vcpkg/pull/11776) [intl/gettext/fontconfig] update to native build system (by @Neumann-A) - - [(#13100)](https://github.com/microsoft/vcpkg/pull/13100) [glib up to gtk] update and make it work with meson (by @Neumann-A) - - [(#14988)](https://github.com/microsoft/vcpkg/pull/14988) [GLIBMM] Installing .pc file (by @faserg1) - - [(#15353)](https://github.com/microsoft/vcpkg/pull/15353) Build results from 2020-12-27 (by @BillyONeal) -- openmvg `1.6#0` -> `1.6#1` - - [(#15859)](https://github.com/microsoft/vcpkg/pull/15859) [OpenCV] bump to 4.5.1 and to 3.4.13 (by @cenit) -- boost-preprocessor `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- boost-odeint `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- gsoap `2.8.105#0` -> `2.8.111#0` - - [(#16270)](https://github.com/microsoft/vcpkg/pull/16270) [vcpkg baseline][gsoap] Update to 2.8.111 (by @NancyLi1013) - - [(#16837)](https://github.com/microsoft/vcpkg/pull/16837) [vcpkg baseline][gsoap] Update to 2.8.112 (by @NancyLi1013) -- openssl-windows `1.1.1h#0` -> `1.1.1h#1` - - [(#14308)](https://github.com/microsoft/vcpkg/pull/14308) [OpenSSL] refactor openssl ports. (by @Neumann-A) - - [(#14457)](https://github.com/microsoft/vcpkg/pull/14457) [openssl] Add build depends to deprecated openssl ports (by @Neumann-A) -- networkdirect-sdk `2.0.1#0` -> `2.0.1#1` - - [(#14688)](https://github.com/microsoft/vcpkg/pull/14688) [networkdirect-sdk] Rework portfile.cmake to allow windows x64 and x86, add fail for other triplet combinations, remove all triplets for CI fail list (by @StarGate-One) -- boost-regex `1.75.0#0` -> `1.75.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) - - [(#16479)](https://github.com/microsoft/vcpkg/pull/16479) [many ports] Apply host dependencies (by @ras0219) - - [(#16994)](https://github.com/microsoft/vcpkg/pull/16994) [boost-regex] fix build with icu on osx (by @autoantwort) -- libmicrohttpd `0.9.63#4` -> `0.9.63#5` - - [(#13100)](https://github.com/microsoft/vcpkg/pull/13100) [glib up to gtk] update and make it work with meson (by @Neumann-A) -- nanobench `4.0.0#0` -> `4.3.0#0` - - [(#14975)](https://github.com/microsoft/vcpkg/pull/14975) [nanobench] update to 4.3.0 (by @JonLiu1993) -- nuspell `3.1.1#0` -> `4.0.1#0` - - [(#14505)](https://github.com/microsoft/vcpkg/pull/14505) [nuspell] Update version to 4.0.1 (by @dimztimz) - - [(#15425)](https://github.com/microsoft/vcpkg/pull/15425) [nuspell] update to version 4.2.0 (by @dimztimz) -- boost-python `1.75.0#1` -> `1.75.0#1` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15352)](https://github.com/microsoft/vcpkg/pull/15352) [boost-python] Adds `python-debugging=on` to `B2_OPTIONS_DBG` (fixes #15350) (by @klalumiere) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) - - [(#16479)](https://github.com/microsoft/vcpkg/pull/16479) [many ports] Apply host dependencies (by @ras0219) -- openvr `1.12.5#0` -> `1.16.8#0` - - [(#16684)](https://github.com/microsoft/vcpkg/pull/16684) [openvr ] Update openvr to 1.16.8 (by @EniacMlezi) -- boost-container `1.75.0#0` -> `1.75.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) - - [(#16479)](https://github.com/microsoft/vcpkg/pull/16479) [many ports] Apply host dependencies (by @ras0219) -- botan `2.16.0#0` -> `2.16.0#0` - - [(#17509)](https://github.com/microsoft/vcpkg/pull/17509) [botan] add arm (by @jgilje) -- azure-security-keyvault-keys-cpp `4.0.0-beta.1#0` -> `4.0.0-beta.1#0` - - [(#17143)](https://github.com/microsoft/vcpkg/pull/17143) [azure-security-keyvault-*] Add new ports (by @azure-sdk) - - [(#17447)](https://github.com/microsoft/vcpkg/pull/17447) [azure-sdk-for-cpp] Upgrade vcpkg manifest files (by @antkmsft) -- libtcod `1.16.6#0` -> `1.16.6#0` - - [(#16408)](https://github.com/microsoft/vcpkg/pull/16408) [libtcod] Add new port. (by @HexDecimal) -- realsense2 `2.40.0#1` -> `2.40.0#1` - - [(#14522)](https://github.com/microsoft/vcpkg/pull/14522) [realsense2] Update to version 2.39.0 (by @padarom) - - [(#15156)](https://github.com/microsoft/vcpkg/pull/15156) [Realsense2] Update to 2.40.0 (by @JonLiu1993) - - [(#15608)](https://github.com/microsoft/vcpkg/pull/15608) Librealsense2 android build (by @xandox) - - [(#16411)](https://github.com/microsoft/vcpkg/pull/16411) [realsense2] Update version to v 2.42.0 (by @Cheney-W) -- upb `2020-08-19#0` -> `2020-08-19#0` - - [(#17331)](https://github.com/microsoft/vcpkg/pull/17331) Update VMs, CMake to 3.20.1, CUDA to 11.3, and pwsh to 7.1.3 (by @BillyONeal) - - [(#17422)](https://github.com/microsoft/vcpkg/pull/17422) [grpc][upb] Update to newer versions (by @ras0219) -- brynet `1.0.7#0` -> `1.10.0#0` - - [(#16366)](https://github.com/microsoft/vcpkg/pull/16366) [brynet] upgrade to 1.10.0 (by @IronsDu) -- libssh `0.9.5#1` -> `0.9.5#3` - - [(#15687)](https://github.com/microsoft/vcpkg/pull/15687) [libssh] Add support for Android (by @ahmedyarub) - - [(#15725)](https://github.com/microsoft/vcpkg/pull/15725) [aws-cpp-sdk] [zlib] [openssl] [curl] Fix zlib, OpenSSL, curl and AWS SDK for Android (by @ahmedyarub) - - [(#15787)](https://github.com/microsoft/vcpkg/pull/15787) [ffmpeg] Add support for dav1d,fontconfig,freetype,fribidi,ilbc,modplug,opengl,openjpeg,libssh,tensorflow,tesseract,webp,libxml2 dependencies. (by @Sibras) -- boost-hof `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- gdk-pixbuf `2.36.9-5#6` -> `2.36.9-5#7` - - [(#11776)](https://github.com/microsoft/vcpkg/pull/11776) [intl/gettext/fontconfig] update to native build system (by @Neumann-A) - - [(#13100)](https://github.com/microsoft/vcpkg/pull/13100) [glib up to gtk] update and make it work with meson (by @Neumann-A) - - [(#15353)](https://github.com/microsoft/vcpkg/pull/15353) Build results from 2020-12-27 (by @BillyONeal) - - [(#17528)](https://github.com/microsoft/vcpkg/pull/17528) [vcpkg baseline][gdk-pixbuf] Fix build error on windows (by @PhoebeHui) -- ace `0#1` -> `0#1` - - [(#14768)](https://github.com/microsoft/vcpkg/pull/14768) [ace] copy generated headers files for tao (by @victorburckel) - - [(#15862)](https://github.com/microsoft/vcpkg/pull/15862) [ace] Update to 7.0.0 (by @jwillemsen) - - [(#16708)](https://github.com/microsoft/vcpkg/pull/16708) [ace] Upgrade to 7.0.1 (by @jwillemsen) -- scintilla `4.4.5#0` -> `4.4.5#0` - - [(#16508)](https://github.com/microsoft/vcpkg/pull/16508) [scintilla] update to 4.4.6 (by @JonLiu1993) -- boost-pool `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- cairomm `1.15.3#5` -> `1.15.3#0` - - [(#13100)](https://github.com/microsoft/vcpkg/pull/13100) [glib up to gtk] update and make it work with meson (by @Neumann-A) - - [(#16825)](https://github.com/microsoft/vcpkg/pull/16825) [cairo,cairomm] add fontconfig and quartz feature and update cairo version (by @abique) -- freerdp `2.2.0#0` -> `2.2.0#0` - - [(#15724)](https://github.com/microsoft/vcpkg/pull/15724) [freerdp] Fix include path (by @KangLin) -- hypodermic `2.5.2#0` -> `2.5.2#0` - - [(#17208)](https://github.com/microsoft/vcpkg/pull/17208) [hypodermic] Add new port (v2.5.2) (by @revilo) -- libtorrent `1.2.10#1` -> `1.2.10#2` - - [(#11776)](https://github.com/microsoft/vcpkg/pull/11776) [intl/gettext/fontconfig] update to native build system (by @Neumann-A) - - [(#14755)](https://github.com/microsoft/vcpkg/pull/14755) [libtorrent] Update to 1.2.11 (by @FranciscoPombal) - - [(#15620)](https://github.com/microsoft/vcpkg/pull/15620) [libtorrent] update to 1.2.12 (by @JonLiu1993) - - [(#17166)](https://github.com/microsoft/vcpkg/pull/17166) [libtorrent] Update to latest 1.2.x commit (by @FranciscoPombal) -- zstd `1.4.4#1` -> `1.4.5#1` - - [(#14395)](https://github.com/microsoft/vcpkg/pull/14395) [ZSTD] Update to 1.4.5 (by @Neumann-A) - - [(#16865)](https://github.com/microsoft/vcpkg/pull/16865) [zstd] update to 1.4.9 (by @Thieum) -- qt5-script `5.15.1#0` -> `5.15.2#0` - - [(#14678)](https://github.com/microsoft/vcpkg/pull/14678) [qt5] Update to 5.15.2 (by @Neumann-A) -- dlib `4#0` -> `4#0` - - [(#13448)](https://github.com/microsoft/vcpkg/pull/13448) [BLAS] add metaport (by @cenit) - - [(#15277)](https://github.com/microsoft/vcpkg/pull/15277) [dlib] adding missing cudnn depedency for cuda feature (by @Kicer86) -- boost-function-types `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- libudis86 `2018-01-28-56ff6c87#0` -> `2018-01-28-56ff6c87#0` - - [(#17331)](https://github.com/microsoft/vcpkg/pull/17331) Update VMs, CMake to 3.20.1, CUDA to 11.3, and pwsh to 7.1.3 (by @BillyONeal) -- libkeyfinder `2.2.4#0` -> `2.2.4#0` - - [(#15878)](https://github.com/microsoft/vcpkg/pull/15878) [libkeyfinder] add new port with libkeyfinder 2.2.4 (by @Be-ing) -- paho-mqttpp3 `1.1#1` -> `1.1#1` - - [(#13680)](https://github.com/microsoft/vcpkg/pull/13680) [paho-mqtt] Update to version 1.3.5 (by @LilyWangL) - - [(#15573)](https://github.com/microsoft/vcpkg/pull/15573) [paho-mqttpp3] update to 1.2.0 (by @JonLiu1993) -- qt5-declarative `5.15.1#0` -> `5.15.2#0` - - [(#14678)](https://github.com/microsoft/vcpkg/pull/14678) [qt5] Update to 5.15.2 (by @Neumann-A) -- icu `8#5` -> `8#8` - - [(#14186)](https://github.com/microsoft/vcpkg/pull/14186) [icu] Add MSVC ARM64 support (by @janisozaur) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15706)](https://github.com/microsoft/vcpkg/pull/15706) [icu] Add support for macos rpath prefix macro (by @adam-bloom) - - [(#16077)](https://github.com/microsoft/vcpkg/pull/16077) [V8, icu] Update v8 to version 9.0.257.17, icu to 69.1 (by @Kwizatz) -- freexl `1.0.4#10` -> `1.0.4#11` - - [(#11776)](https://github.com/microsoft/vcpkg/pull/11776) [intl/gettext/fontconfig] update to native build system (by @Neumann-A) -- mongo-c-driver `1.16.1-1#1` -> `1.16.1#3` - - [(#13126)](https://github.com/microsoft/vcpkg/pull/13126) [vcpkg_fixup_pkgconfig] Handle spaces in path, do not validate individual libraries (by @ras0219) -- boost-timer `1.75.0#0` -> `1.75.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) - - [(#16479)](https://github.com/microsoft/vcpkg/pull/16479) [many ports] Apply host dependencies (by @ras0219) -- libodb `2.4.0-6#0` -> `2.4.0-6#0` - - [(#16975)](https://github.com/microsoft/vcpkg/pull/16975) [libodb-mysql] Fix usage (by @JackBoosY) -- qt5-3d `5.15.1#0` -> `5.15.2#0` - - [(#14678)](https://github.com/microsoft/vcpkg/pull/14678) [qt5] Update to 5.15.2 (by @Neumann-A) -- palsigslot `1.2.0#0` -> `1.2.0#0` - - [(#15558)](https://github.com/microsoft/vcpkg/pull/15558) [palsigslot] New port (by @luca-schlecker) -- ghc-filesystem `#0` -> `#0` - - [(#16936)](https://github.com/microsoft/vcpkg/pull/16936) [ghc-filesystem] create a new port (by @luncliff) -- qt5-webchannel `5.15.1#0` -> `5.15.2#0` - - [(#14678)](https://github.com/microsoft/vcpkg/pull/14678) [qt5] Update to 5.15.2 (by @Neumann-A) -- gettext `0.19-15#0` -> `0.21#0` - - [(#11776)](https://github.com/microsoft/vcpkg/pull/11776) [intl/gettext/fontconfig] update to native build system (by @Neumann-A) - - [(#17010)](https://github.com/microsoft/vcpkg/pull/17010) [gettext] Add feature tools (by @Neumann-A) - - [(#17523)](https://github.com/microsoft/vcpkg/pull/17523) [gettext] disable dirent detection on windows (by @Neumann-A) -- fdk-aac `2018-07-08-2#0` -> `2018-07-08#3` - - [(#15787)](https://github.com/microsoft/vcpkg/pull/15787) [ffmpeg] Add support for dav1d,fontconfig,freetype,fribidi,ilbc,modplug,opengl,openjpeg,libssh,tensorflow,tesseract,webp,libxml2 dependencies. (by @Sibras) -- yyjson `#0` -> `#0` - - [(#17201)](https://github.com/microsoft/vcpkg/pull/17201) [yyjson] Add new port (by @myd7349) -- tweeny `3#0` -> `3#0` - - [(#16683)](https://github.com/microsoft/vcpkg/pull/16683) [tweeny] Update to v3.2.0 (by @bradJM) -- span-lite `0.7.0#0` -> `0.8.1#0` - - [(#14414)](https://github.com/microsoft/vcpkg/pull/14414) [span-lite] update to 0.8.1 (by @Ryan-rsm-McKenzie) - - [(#14781)](https://github.com/microsoft/vcpkg/pull/14781) [span-lite] update to 0.9.0 (by @Ryan-rsm-McKenzie) -- boost-array `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- debug-assert `1.3.3#0` -> `1.3.3#0` - - [(#15468)](https://github.com/microsoft/vcpkg/pull/15468) [type-safe] New port. (by @blaz-kranjc) -- hyperscan `5.3.0#0` -> `5.3.0#1` - - [(#15080)](https://github.com/microsoft/vcpkg/pull/15080) [hyperscan] Remove erroneous python3 dependency. (by @Hoikas) -- boost-wave `1.75.0#1` -> `1.75.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) - - [(#16479)](https://github.com/microsoft/vcpkg/pull/16479) [many ports] Apply host dependencies (by @ras0219) -- ensmallen `2.14.2#0` -> `2.14.2#0` - - [(#13448)](https://github.com/microsoft/vcpkg/pull/13448) [BLAS] add metaport (by @cenit) -- cartographer `1.0.0-3#0` -> `1.0.0-3#0` - - [(#13100)](https://github.com/microsoft/vcpkg/pull/13100) [glib up to gtk] update and make it work with meson (by @Neumann-A) -- boost-statechart `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- librtmp `2019-11-11_1#0` -> `2019-11-11_1#0` - - [(#16320)](https://github.com/microsoft/vcpkg/pull/16320) [librtmp] Switch to GitHub mirror (by @ras0219) -- openigtlink `3.0#0` -> `3.0#1` - - [(#15500)](https://github.com/microsoft/vcpkg/pull/15500) [openigtlink] Fix cmake config location (by @dweckmann) -- libdatachannel `v0.10.1#0` -> `v0.10.1#0` - - [(#13704)](https://github.com/microsoft/vcpkg/pull/13704) [libdatachannel] Add new port (by @Nemirtingas) - - [(#17077)](https://github.com/microsoft/vcpkg/pull/17077) [libdatachannel ] Update to 0.12.0 (by @Nemirtingas) - - [(#17331)](https://github.com/microsoft/vcpkg/pull/17331) Update VMs, CMake to 3.20.1, CUDA to 11.3, and pwsh to 7.1.3 (by @BillyONeal) -- pixman `0.38.4#2` -> `0.38.4#0` - - [(#13100)](https://github.com/microsoft/vcpkg/pull/13100) [glib up to gtk] update and make it work with meson (by @Neumann-A) -- libnice `0.1.15#5` -> `0.1.15#6` - - [(#13100)](https://github.com/microsoft/vcpkg/pull/13100) [glib up to gtk] update and make it work with meson (by @Neumann-A) - - [(#14248)](https://github.com/microsoft/vcpkg/pull/14248) [libnice] Fix build error on Linux (by @LilyWangL) -- ebml `1.4.0#0` -> `1.4.0#0` - - [(#14794)](https://github.com/microsoft/vcpkg/pull/14794) [ebml/gppanel/matroska/polyhook2/unrar] Fix typos in CONTROL files (by @NancyLi1013) -- fplus `0.2.3-p0#0` -> `0.2.3-p0#0` - - [(#16510)](https://github.com/microsoft/vcpkg/pull/16510) [fplus] update to v0.2.13-p0 (by @JonLiu1993) - - [(#17559)](https://github.com/microsoft/vcpkg/pull/17559) [new/updated port] frugally-deep and updated fplus (by @mathisloge) -- mapbox-geojson-vt-cpp `#0` -> `#0` - - [(#16838)](https://github.com/microsoft/vcpkg/pull/16838) [mapbox-geometry,mapbox-polylabel,geojson-vt-cpp,geojson-cpp] new ports (by @mathisloge) -- mdnsresponder `765.30.11-2#0` -> `765.30.11#3` - - [(#15340)](https://github.com/microsoft/vcpkg/pull/15340) [mdnsresponder] Change compile flag /Zi to /Z7 (by @JackBoosY) -- boost-graph-parallel `1.74.0#1` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- poppler `20.12.1#0` -> `20.12.1#0` - - [(#13100)](https://github.com/microsoft/vcpkg/pull/13100) [glib up to gtk] update and make it work with meson (by @Neumann-A) - - [(#15158)](https://github.com/microsoft/vcpkg/pull/15158) [poppler] Add new port (by @playgithub) - - [(#15491)](https://github.com/microsoft/vcpkg/pull/15491) [vcpkg baseline][poppler] Fix issue with using libcurl. (by @Hoikas) - - [(#15574)](https://github.com/microsoft/vcpkg/pull/15574) [poppler] Fix error gperf is not recognized as an internal or externa command (by @Cheney-W) - - [(#15727)](https://github.com/microsoft/vcpkg/pull/15727) [poppler] Disable clang-format check (by @NancyLi1013) - - [(#16356)](https://github.com/microsoft/vcpkg/pull/16356) [vcpkg baseline][poppler] Add feature splash and add its dependency boost-container and boost-move (by @JackBoosY) -- portaudio `2020-02-02#0` -> `2020-02-02#0` - - [(#16197)](https://github.com/microsoft/vcpkg/pull/16197) Update portaudio port to latest on github (by @fluffy) - - [(#17401)](https://github.com/microsoft/vcpkg/pull/17401) [portaudio] update to 19.7 (by @Be-ing) -- libsodium `1.0.18#3` -> `1.0.18#3` - - [(#15269)](https://github.com/microsoft/vcpkg/pull/15269) [libsodium] use x64 specific gcc options only on x64 platform (by @isanych) - - [(#16730)](https://github.com/microsoft/vcpkg/pull/16730) [libsodium] Rework CMake build to match autoconf (by @thomasgt) -- poco `1.10.1#1` -> `1.10.1#3` - - [(#14305)](https://github.com/microsoft/vcpkg/pull/14305) [poco] Fix dependency, add features (by @JackBoosY) - - [(#14589)](https://github.com/microsoft/vcpkg/pull/14589) [poco] Fix dependency and cmake config issue (by @PhoebeHui) - - [(#14763)](https://github.com/microsoft/vcpkg/pull/14763) [poco] Fix dependency libmariadb (by @JackBoosY) - - [(#16526)](https://github.com/microsoft/vcpkg/pull/16526) [poco] Remove dependency port openssl for feature netssl on windows (by @JackBoosY) - - [(#16549)](https://github.com/microsoft/vcpkg/pull/16549) [poco] Fix feature sqlite3 (by @NancyLi1013) -- aws-checksums `0.1.9#0` -> `0.1.9#0` - - [(#14246)](https://github.com/microsoft/vcpkg/pull/14246) [vcpkg baseline] Clean up baseline, use Keyword Supports Part 2 (by @JackBoosY) -- azure-iot-sdk-c `2020-07-19#1` -> `2020-12-09#0` - - [(#15109)](https://github.com/microsoft/vcpkg/pull/15109) Azure-IoT-Sdk for C release 2020-12-09 (by @ewertons) -- opencascade `7.5.0#1` -> `7.5.0#3` - - [(#14435)](https://github.com/microsoft/vcpkg/pull/14435) [opencascade] update debug paths in *Targets-debug.cmake (by @socuwn) - - [(#14901)](https://github.com/microsoft/vcpkg/pull/14901) [opencascade] Fix static build (by @JackBoosY) - - [(#15056)](https://github.com/microsoft/vcpkg/pull/15056) [opencascade] Fix OpenCASCADE_INSTALL_PREFIX path in config (by @NancyLi1013) - - [(#15997)](https://github.com/microsoft/vcpkg/pull/15997) [opencascade] Update to 7.5.0 (by @JonLiu1993) - - [(#16513)](https://github.com/microsoft/vcpkg/pull/16513) [opencascade] fix #16252 (by @Dejauxvue) -- boost-asio `1.75.0#1` -> `1.75.0#1` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15513)](https://github.com/microsoft/vcpkg/pull/15513) [boost-asio] Fix duplicate symbols of asio::dummy_return (by @cedral) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- sdformat6 `6.2.0-1#0` -> `6.2.0-1#0` - - [(#17376)](https://github.com/microsoft/vcpkg/pull/17376) [ci] Update macOS to 11 (by @strega-nil) -- openssl-unix `1.1.1h#0` -> `1.1.1h#1` - - [(#14308)](https://github.com/microsoft/vcpkg/pull/14308) [OpenSSL] refactor openssl ports. (by @Neumann-A) - - [(#14457)](https://github.com/microsoft/vcpkg/pull/14457) [openssl] Add build depends to deprecated openssl ports (by @Neumann-A) -- pagmo2 `#0` -> `#0` - - [(#15682)](https://github.com/microsoft/vcpkg/pull/15682) [pagmo2] Add new port (by @dmillard) -- lzo `2.10-5#0` -> `2.1#6` - - [(#15782)](https://github.com/microsoft/vcpkg/pull/15782) [lzo] Install pc file on windows (by @Neumann-A) -- workflow `0.9.3#0` -> `0.9.3#0` - - [(#16140)](https://github.com/microsoft/vcpkg/pull/16140) [workflow] add port of sogou/workflow (by @dengjunplusplus) - - [(#16198)](https://github.com/microsoft/vcpkg/pull/16198) [workflow] Disable parallel configure due to writes to source dir (by @ras0219) - - [(#16842)](https://github.com/microsoft/vcpkg/pull/16842) [workflow] update version of workflow port (by @dengjunplusplus) -- boost-icl `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- globjects `1.1.0-3#0` -> `1.1.0#0` - - [(#16429)](https://github.com/microsoft/vcpkg/pull/16429) [glm] Add namespace to export target (by @JackBoosY) -- spirv-cross `2020-02-26#0` -> `2020-02-26#0` - - [(#15831)](https://github.com/microsoft/vcpkg/pull/15831) [spirv-cross,spirv-headers,spirv-tools] 2021-01-15 update (by @barcharcraz) - - [(#16038)](https://github.com/microsoft/vcpkg/pull/16038) [spirv-cross,spirv-tools] support iOS triplets (by @luncliff) - - [(#17367)](https://github.com/microsoft/vcpkg/pull/17367) [spirv-cross] small cleanup (by @fran6co) -- boost-parameter `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- libui `2018-11-03-1#0` -> `2018-11-03-1#0` - - [(#17095)](https://github.com/microsoft/vcpkg/pull/17095) [libui] Export system libs on OSX (by @JackBoosY) -- ignition-transport8 `8.0.0#0` -> `8.1.0#0` - - [(#14562)](https://github.com/microsoft/vcpkg/pull/14562) [ignition-transport8] Fix ignition-transport8 version (by @ahoarau) -- onnxruntime-gpu `1.5.1#0` -> `1.5.1#0` - - [(#14481)](https://github.com/microsoft/vcpkg/pull/14481) [onnxruntime-gpu] Add port for onnxruntime (GPU) (by @ianormy) -- rsasynccpp `#0` -> `#0` - - [(#16380)](https://github.com/microsoft/vcpkg/pull/16380) [rsasynccpp] Add new port (Rstein.AsyncCpp) (by @renestein) -- boost-locale `1.75.0#1` -> `1.75.0#3` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14502)](https://github.com/microsoft/vcpkg/pull/14502) [boost-locale] Replace VCPKG_TARGET_IS_WINDOWS in b2-options (by @longnguyen2004) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) - - [(#16479)](https://github.com/microsoft/vcpkg/pull/16479) [many ports] Apply host dependencies (by @ras0219) -- libsigcpp `2.10-3#1` -> `2.10-3#2` - - [(#13100)](https://github.com/microsoft/vcpkg/pull/13100) [glib up to gtk] update and make it work with meson (by @Neumann-A) - - [(#14988)](https://github.com/microsoft/vcpkg/pull/14988) [GLIBMM] Installing .pc file (by @faserg1) - - [(#15353)](https://github.com/microsoft/vcpkg/pull/15353) Build results from 2020-12-27 (by @BillyONeal) -- v8 `8.3.110.13#0` -> `8.6.395.17#0` - - [(#13100)](https://github.com/microsoft/vcpkg/pull/13100) [glib up to gtk] update and make it work with meson (by @Neumann-A) - - [(#13355)](https://github.com/microsoft/vcpkg/pull/13355) [v8] Update v8 to current stable version: 8.6.395.17 (by @Kwizatz) - - [(#16077)](https://github.com/microsoft/vcpkg/pull/16077) [V8, icu] Update v8 to version 9.0.257.17, icu to 69.1 (by @Kwizatz) -- netcdf-c `4.7.4#1` -> `4.7.4#2` - - [(#14421)](https://github.com/microsoft/vcpkg/pull/14421) [netcdf-c] Fix linkage error (by @NancyLi1013) - - [(#16085)](https://github.com/microsoft/vcpkg/pull/16085) [netcdf-c] Fix usage (by @JackBoosY) -- qt5-remoteobjects `5.15.1#0` -> `5.15.2#0` - - [(#14678)](https://github.com/microsoft/vcpkg/pull/14678) [qt5] Update to 5.15.2 (by @Neumann-A) -- tbb `2020_U3#1` -> `2020_U3#4` - - [(#14325)](https://github.com/microsoft/vcpkg/pull/14325) [tbb] Support tbb build for arm-linux & arm64-linux (by @xieyubo) - - [(#14555)](https://github.com/microsoft/vcpkg/pull/14555) [tbb] fix shared tbb library configuration build under *nix (by @xandox) - - [(#15306)](https://github.com/microsoft/vcpkg/pull/15306) [tbb] arm64-osx support (by @lebdron) - - [(#16068)](https://github.com/microsoft/vcpkg/pull/16068) Add disable-exceptions feature to portfile for tbb (by @aggieNick02) -- qt5-translations `5.15.1#0` -> `5.15.2#0` - - [(#14678)](https://github.com/microsoft/vcpkg/pull/14678) [qt5] Update to 5.15.2 (by @Neumann-A) -- freetds `1.2.11#0` -> `1.2.11#0` - - [(#14529)](https://github.com/microsoft/vcpkg/pull/14529) [freetds] Remove patches and update to a version that no longer needs them (by @BillyONeal) - - [(#14970)](https://github.com/microsoft/vcpkg/pull/14970) [ NASM ] Update version from 2.14.02 to 2.15.05 (by @Nioub) -- kf5windowsystem `5.64.0#0` -> `5.64.0#0` - - [(#13467)](https://github.com/microsoft/vcpkg/pull/13467) [many ports] Update existing KF5 frameworks to 5.75 (by @wrobelda) -- uvatlas `aug2020#0` -> `apr2021#0` - - [(#15210)](https://github.com/microsoft/vcpkg/pull/15210) Updated directxtk et al for cmake package support (by @walbourn) - - [(#15554)](https://github.com/microsoft/vcpkg/pull/15554) directxmesh, directxtex, and uvatlas now support linux (by @walbourn) - - [(#15639)](https://github.com/microsoft/vcpkg/pull/15639) directxtex, directxmesh, directxtk, uvatlas ports updated to fix cach??? (by @walbourn) - - [(#17123)](https://github.com/microsoft/vcpkg/pull/17123) [directxtex,directxmesh, directxtk, directxtk12, uvatlas] updated for April 2021 releases (by @walbourn) -- qt5-speech `5.15.1#0` -> `5.15.2#0` - - [(#14678)](https://github.com/microsoft/vcpkg/pull/14678) [qt5] Update to 5.15.2 (by @Neumann-A) -- boost-xpressive `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- libmt32emu `#0` -> `#0` - - [(#16816)](https://github.com/microsoft/vcpkg/pull/16816) [libmt32emu] new port (by @autoantwort) - - [(#17070)](https://github.com/microsoft/vcpkg/pull/17070) [libmt32emu] update to 2.5.0 (by @autoantwort) -- boost-range `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- yas `7.0.4#0` -> `7.0.5#0` - - [(#14453)](https://github.com/microsoft/vcpkg/pull/14453) [yas] update to 7.0.5 (by @SeekingMeaning) -- geographiclib `1.50.1#0` -> `1.51#0` - - [(#14711)](https://github.com/microsoft/vcpkg/pull/14711) [geographiclib] Update to version 1.51 (by @cffk) -- directxsdk `jun10#0` -> `jun10#0` - - [(#16010)](https://github.com/microsoft/vcpkg/pull/16010) [directxsdk] Update DirectX SDK port (by @walbourn) - - [(#16317)](https://github.com/microsoft/vcpkg/pull/16317) direcxtsdk port updated to use MS Downloads (by @walbourn) -- pango `1.40.11#8` -> `1.40.11#9` - - [(#12860)](https://github.com/microsoft/vcpkg/pull/12860) [harfbuzz] Use meson and update to 2.7.0 (by @vejmartin) - - [(#13100)](https://github.com/microsoft/vcpkg/pull/13100) [glib up to gtk] update and make it work with meson (by @Neumann-A) -- entt `3.5.1#0` -> `3.6.0#0` - - [(#15567)](https://github.com/microsoft/vcpkg/pull/15567) [entt] update to <3.6> (by @JonLiu1993) - - [(#17047)](https://github.com/microsoft/vcpkg/pull/17047) [entt] Update to 3.7.0 (by @skaarj1989) -- boost-intrusive `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- xaudio2redist `1.2.6#0` -> `1.2.6#0` - - [(#17174)](https://github.com/microsoft/vcpkg/pull/17174) [xaudio2redist] Add new port (by @walbourn) -- qt5-webengine `5.15.2#1` -> `5.15.2#2` - - [(#14678)](https://github.com/microsoft/vcpkg/pull/14678) [qt5] Update to 5.15.2 (by @Neumann-A) - - [(#16770)](https://github.com/microsoft/vcpkg/pull/16770) [qt5-webengine] Fix issues (by @Neumann-A) -- kf5completion `5.64.0#0` -> `5.64.0#0` - - [(#13467)](https://github.com/microsoft/vcpkg/pull/13467) [many ports] Update existing KF5 frameworks to 5.75 (by @wrobelda) -- boost-rational `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- ois `1.5-1#0` -> `1.5#0` - - [(#15030)](https://github.com/microsoft/vcpkg/pull/15030) [tcl, anyrpc, ois, osgearth] Build Fixes 2020-12-09 (by @BillyONeal) -- openssl-uwp `1.1.1h#1` -> `1.1.1h#1` - - [(#14308)](https://github.com/microsoft/vcpkg/pull/14308) [OpenSSL] refactor openssl ports. (by @Neumann-A) - - [(#14457)](https://github.com/microsoft/vcpkg/pull/14457) [openssl] Add build depends to deprecated openssl ports (by @Neumann-A) -- qt5-wayland `5.15.1#0` -> `5.15.2#0` - - [(#14678)](https://github.com/microsoft/vcpkg/pull/14678) [qt5] Update to 5.15.2 (by @Neumann-A) -- boost-flyweight `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- boost-heap `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- exiv2 `0.27.3#2` -> `0.27.3#4` - - [(#11776)](https://github.com/microsoft/vcpkg/pull/11776) [intl/gettext/fontconfig] update to native build system (by @Neumann-A) - - [(#15389)](https://github.com/microsoft/vcpkg/pull/15389) [exiv2] Add pkgconfig to fix the path (by @NancyLi1013) -- qt5-gamepad `5.15.1#0` -> `5.15.2#0` - - [(#14678)](https://github.com/microsoft/vcpkg/pull/14678) [qt5] Update to 5.15.2 (by @Neumann-A) -- boost-property-map `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- taglib `1.11.1-20190531#0` -> `1.12.0-20210123#0` - - [(#16390)](https://github.com/microsoft/vcpkg/pull/16390) Update taglib to 1.12.0 (by @pdehne) - - [(#16649)](https://github.com/microsoft/vcpkg/pull/16649) [taglib] Upgrade from 1.12-beta-2 to 1.12 (by @uklotzde) -- boost-numeric-conversion `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- libepoxy `1.5.4#1` -> `1.5.4#2` - - [(#14344)](https://github.com/microsoft/vcpkg/pull/14344) [tool-meson] Update to 0.56.0 (by @c72578) - - [(#15482)](https://github.com/microsoft/vcpkg/pull/15482) [libepoxy] Update to 1.5.5 (by @ras0219) -- mapbox-geojson-cpp `#0` -> `#0` - - [(#16838)](https://github.com/microsoft/vcpkg/pull/16838) [mapbox-geometry,mapbox-polylabel,geojson-vt-cpp,geojson-cpp] new ports (by @mathisloge) -- zziplib `0.13.71#0` -> `0.13.71#1` - - [(#15215)](https://github.com/microsoft/vcpkg/pull/15215) [zziplib] Uses upstream CMakeLists.txt (by @longnguyen2004) -- gsl-lite `0.37.0#0` -> `0.37.0#0` - - [(#16984)](https://github.com/microsoft/vcpkg/pull/16984) [gsl-lite] Update to 0.38.0 (by @mbeutel) - - [(#17444)](https://github.com/microsoft/vcpkg/pull/17444) [gsl-lite] Update to 0.38.1 (by @mbeutel) -- boost-context `1.75.0#2` -> `1.75.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) - - [(#16378)](https://github.com/microsoft/vcpkg/pull/16378) [boost-context] fix linux -> windows cross compile (by @autoantwort) - - [(#16479)](https://github.com/microsoft/vcpkg/pull/16479) [many ports] Apply host dependencies (by @ras0219) - - [(#16482)](https://github.com/microsoft/vcpkg/pull/16482) [boost-context] fix build result on apple arm (by @autoantwort) - - [(#16930)](https://github.com/microsoft/vcpkg/pull/16930) [boost-context] support android (by @huangqinjin) -- darknet `2020-08-30#1` -> `2020-08-30#2` - - [(#15296)](https://github.com/microsoft/vcpkg/pull/15296) [darknet] yolo v4 weights's hash need to update (by @JonLiu1993) - - [(#15770)](https://github.com/microsoft/vcpkg/pull/15770) [darknet] update to latest version (by @cenit) - - [(#15942)](https://github.com/microsoft/vcpkg/pull/15942) [darknet] fix opencv features, add compatibility with VS16.9 (by @cenit) -- xsimd `7.4.8#0` -> `7.4.9#0` - - [(#14454)](https://github.com/microsoft/vcpkg/pull/14454) [xsimd][xtensor][xtl] Update to latest (by @SeekingMeaning) -- magic-enum `0.7.0#0` -> `0.7.1#0` - - [(#14904)](https://github.com/microsoft/vcpkg/pull/14904) [magic-enum] Update to v0.7.1 (by @Neargye) - - [(#15974)](https://github.com/microsoft/vcpkg/pull/15974) [magic-enum] Update to v0.7.2 (by @Neargye) -- qt5-imageformats `5.15.1#1` -> `5.15.2#0` - - [(#14678)](https://github.com/microsoft/vcpkg/pull/14678) [qt5] Update to 5.15.2 (by @Neumann-A) -- sdl1 `1.2.15#12` -> `1.2.15#13` - - [(#15126)](https://github.com/microsoft/vcpkg/pull/15126) [sdl1] x64-windows-static-md fixes (by @ankurverma85) -- libffi `3.3#5` -> `3.3#7` - - [(#14407)](https://github.com/microsoft/vcpkg/pull/14407) [libffi] mingw support (by @longnguyen2004) - - [(#15821)](https://github.com/microsoft/vcpkg/pull/15821) [libffi] Added armv7-a to allowed architectures for Android 32 bit arm builds (by @venabled) - - [(#16285)](https://github.com/microsoft/vcpkg/pull/16285) [libffi] Fix processors (by @autoantwort) -- iir1 `#0` -> `#0` - - [(#16436)](https://github.com/microsoft/vcpkg/pull/16436) [iir1] Add new port (by @andywang0607) -- continuable `4.1.0#0` -> `4.1.0#0` - - [(#16261)](https://github.com/microsoft/vcpkg/pull/16261) [continuable] add a new port (by @luncliff) -- boost-yap `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- libxslt `1.1.33#1` -> `1.1.33#9` - - [(#11776)](https://github.com/microsoft/vcpkg/pull/11776) [intl/gettext/fontconfig] update to native build system (by @Neumann-A) - - [(#14476)](https://github.com/microsoft/vcpkg/pull/14476) [libxslt] Fix install tools and pkgconfig (by @JackBoosY) - - [(#15806)](https://github.com/microsoft/vcpkg/pull/15806) [libxslt] Fixed macos build (by @ludekvodicka) - - [(#16617)](https://github.com/microsoft/vcpkg/pull/16617) [libxslt] Update to 1.1.34 (by @pastle-ptc) -- python3 `3.9.2#2` -> `3.9.2#0` - - [(#14510)](https://github.com/microsoft/vcpkg/pull/14510) [python3] Upgrade to 3.9.0 (by @Hoikas) - - [(#14891)](https://github.com/microsoft/vcpkg/pull/14891) [python3] Build interpreter (by @Hoikas) - - [(#15221)](https://github.com/microsoft/vcpkg/pull/15221) [python3] Add vcpkg-cmake-wrapper. (by @Hoikas) - - [(#15378)](https://github.com/microsoft/vcpkg/pull/15378) [antlr4,python3] Resolve cross port conflicts (by @BillyONeal) - - [(#16315)](https://github.com/microsoft/vcpkg/pull/16315) [python3] upgrade to 3.9.2 (by @Hoikas) - - [(#16420)](https://github.com/microsoft/vcpkg/pull/16420) [python3] Add feature deprecated-win7-support. (by @Hoikas) - - [(#17579)](https://github.com/microsoft/vcpkg/pull/17579) [python3] Disable registry access to determine WinSDK (by @ras0219-msft) -- matplotplusplus `#0` -> `#0` - - [(#13725)](https://github.com/microsoft/vcpkg/pull/13725) [matplotplusplus] Add new port (by @myd7349) - - [(#17461)](https://github.com/microsoft/vcpkg/pull/17461) [matplotplusplus] Install extra 3rd libraries (by @JackBoosY) - - [(#17552)](https://github.com/microsoft/vcpkg/pull/17552) [matplotplusplus] Fix find and use dependencies (by @JackBoosY) -- oatpp-zlib `1.2.0#0` -> `1.2.0#0` - - [(#14341)](https://github.com/microsoft/vcpkg/pull/14341) [oatpp] Add new port and vcpkg.json (by @mheyman) -- capnproto `0.8.0#0` -> `0.8.0#1` - - [(#15353)](https://github.com/microsoft/vcpkg/pull/15353) Build results from 2020-12-27 (by @BillyONeal) -- vc `1.4.1#0` -> `1.4.1#1` - - [(#16552)](https://github.com/microsoft/vcpkg/pull/16552) [vc] Update HEAD_REF and fix CMake configure options (by @bernhardmgruber) -- libflac `1.3.3#4` -> `1.3.3#5` - - [(#14465)](https://github.com/microsoft/vcpkg/pull/14465) [libflac] require NASM for libflac[asm] (by @cbergemann) -- colmap `3.6#0` -> `3.6#0` - - [(#15886)](https://github.com/microsoft/vcpkg/pull/15886) [baseline][colmap] Fix find dependency freeimage (by @JackBoosY) -- glew `2.1.0#9` -> `2.1.0#10` - - [(#16166)](https://github.com/microsoft/vcpkg/pull/16166) [glfw3/glew] Fix pkgconfig (by @JackBoosY) -- libwebp `1.1.0#1` -> `1.1.0#3` - - [(#15787)](https://github.com/microsoft/vcpkg/pull/15787) [ffmpeg] Add support for dav1d,fontconfig,freetype,fribidi,ilbc,modplug,opengl,openjpeg,libssh,tensorflow,tesseract,webp,libxml2 dependencies. (by @Sibras) - - [(#17172)](https://github.com/microsoft/vcpkg/pull/17172) [libwebp] Fix release-only builds (by @dg0yt) -- behaviortree-cpp `3.5.1#0` -> `3.5.1#0` - - [(#17169)](https://github.com/microsoft/vcpkg/pull/17169) [behaviortree-cpp] update to 3.5.6 (by @JonLiu1993) -- g3log `2019-07-29#0` -> `2019-07-29#0` - - [(#16491)](https://github.com/microsoft/vcpkg/pull/16491) [g3log] update to 1.3.4 (by @JonLiu1993) - - [(#16872)](https://github.com/microsoft/vcpkg/pull/16872) [g3log] Add supports (by @NancyLi1013) -- libprotobuf-mutator `1#0` -> `1#0` - - [(#13691)](https://github.com/microsoft/vcpkg/pull/13691) [libprotobuf-mutator] Add new port (by @lebdron) -- opencolorio `1.1.1#4` -> `1.1.1#0` - - [(#15764)](https://github.com/microsoft/vcpkg/pull/15764) [opencolorio] Install OpenColorIOConfig.cmake (by @ras0219) -- qt5-sensors `5.15.1#0` -> `5.15.2#0` - - [(#14678)](https://github.com/microsoft/vcpkg/pull/14678) [qt5] Update to 5.15.2 (by @Neumann-A) -- libcbor `0.8.0#0` -> `0.8.0#0` - - [(#16884)](https://github.com/microsoft/vcpkg/pull/16884) [libcbor] New port (by @xgcssch) -- alembic `1.7.15#0` -> `1.7.16#0` - - [(#14447)](https://github.com/microsoft/vcpkg/pull/14447) [alembic] update to 1.7.16 (by @SeekingMeaning) -- boost-proto `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- tinyexr `2020-03-15#0` -> `1.0.0#0` - - [(#17360)](https://github.com/microsoft/vcpkg/pull/17360) [tinyexr] update version and add targets (by @fran6co) -- libspatialite `5.0.0#5` -> `5.0.0#7` - - [(#11776)](https://github.com/microsoft/vcpkg/pull/11776) [intl/gettext/fontconfig] update to native build system (by @Neumann-A) - - [(#14800)](https://github.com/microsoft/vcpkg/pull/14800) [Proj4] Update to 7.2.0 (by @longhuan2018) - - [(#15040)](https://github.com/microsoft/vcpkg/pull/15040) [libspatialite] Update 5.0.0 (by @longhuan2018) - - [(#17024)](https://github.com/microsoft/vcpkg/pull/17024) Libspatialite remove cflags from vcpkg_configure_make options (by @xandox) -- detours `4.0.1-1#0` -> `4.0.1#2` - - [(#16755)](https://github.com/microsoft/vcpkg/pull/16755) [detours] support debug builds (by @sylveon) -- boost-unordered `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- chartdir `6.3.1-1#0` -> `6.3.1#2` - - [(#15353)](https://github.com/microsoft/vcpkg/pull/15353) Build results from 2020-12-27 (by @BillyONeal) -- oatpp-swagger `1.2.0#1` -> `1.2.0#0` - - [(#14341)](https://github.com/microsoft/vcpkg/pull/14341) [oatpp] Add new port and vcpkg.json (by @mheyman) -- orc `1.6.4#0` -> `1.6.4#1` - - [(#14395)](https://github.com/microsoft/vcpkg/pull/14395) [ZSTD] Update to 1.4.5 (by @Neumann-A) -- minizip `1.2.11#7` -> `1.2.11#8` - - [(#16108)](https://github.com/microsoft/vcpkg/pull/16108) [minizip] support iOS/Android triplets (by @luncliff) -- qt5-datavis3d `5.15.1#0` -> `5.15.2#0` - - [(#14678)](https://github.com/microsoft/vcpkg/pull/14678) [qt5] Update to 5.15.2 (by @Neumann-A) -- fontconfig `2.13.1#1` -> `2.13.1#6` - - [(#11776)](https://github.com/microsoft/vcpkg/pull/11776) [intl/gettext/fontconfig] update to native build system (by @Neumann-A) - - [(#14946)](https://github.com/microsoft/vcpkg/pull/14946) [fontconfig] fix dll name in def file (by @Neumann-A) - - [(#15060)](https://github.com/microsoft/vcpkg/pull/15060) [fontconfig] Disable install data files (by @JackBoosY) - - [(#15144)](https://github.com/microsoft/vcpkg/pull/15144) [fontconfig] add vcpkg cmake wrapper. (by @Neumann-A) - - [(#15787)](https://github.com/microsoft/vcpkg/pull/15787) [ffmpeg] Add support for dav1d,fontconfig,freetype,fribidi,ilbc,modplug,opengl,openjpeg,libssh,tensorflow,tesseract,webp,libxml2 dependencies. (by @Sibras) - - [(#16905)](https://github.com/microsoft/vcpkg/pull/16905) [fontconfig] fixes for arm64-macos (by @abique) - - [(#17280)](https://github.com/microsoft/vcpkg/pull/17280) [fontconfig] Don't require uuid port for mingw (by @dg0yt) -- ignition-math6 `6.4.0#0` -> `6.6.0#0` - - [(#14324)](https://github.com/microsoft/vcpkg/pull/14324) [ignition] Updates on various pkgs ???? (by @ahoarau) -- args `2020-09-14#0` -> `2020-09-14#0` - - [(#16703)](https://github.com/microsoft/vcpkg/pull/16703) [args] update to latest version (by @Ryan-rsm-McKenzie) -- boost-hana `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- ecm `5.74.0#0` -> `5.74.0#0` - - [(#13467)](https://github.com/microsoft/vcpkg/pull/13467) [many ports] Update existing KF5 frameworks to 5.75 (by @wrobelda) -- tiny-process-library `2018-12-06#0` -> `2.0.4#0` - - [(#14732)](https://github.com/microsoft/vcpkg/pull/14732) [tiny-process-library] Bump tiny-process-library to 2.0.4 (by @traversaro) -- libconfig `1.7.2#3` -> `1.7.2#4` - - [(#15613)](https://github.com/microsoft/vcpkg/pull/15613) [libconfig] shlwapi is not available on linux (by @vmiheer) - - [(#15885)](https://github.com/microsoft/vcpkg/pull/15885) [libconfig] Fix libconfig when installing master branch (by @vmiheer) -- boost-chrono `1.75.0#0` -> `1.75.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) - - [(#16479)](https://github.com/microsoft/vcpkg/pull/16479) [many ports] Apply host dependencies (by @ras0219) -- celero `2.6.0-1#0` -> `2.7.2#0` - - [(#16446)](https://github.com/microsoft/vcpkg/pull/16446) [celero] Updated to v2.7.2 (by @DigitalInBlue) - - [(#16802)](https://github.com/microsoft/vcpkg/pull/16802) [celero] Updated to Celero v2.8.0 (by @DigitalInBlue) -- stlab `1.5.2-1#0` -> `1.6.2#0` - - [(#17239)](https://github.com/microsoft/vcpkg/pull/17239) [stlab] update to 1.6.2 (by @dittons) -- directxtk `jan2021#1` -> `apr2021#0` - - [(#14539)](https://github.com/microsoft/vcpkg/pull/14539) [directxtk][directxtk12][directxtex][directxmesh] Update to latest version (by @RT222) - - [(#15210)](https://github.com/microsoft/vcpkg/pull/15210) Updated directxtk et al for cmake package support (by @walbourn) - - [(#15554)](https://github.com/microsoft/vcpkg/pull/15554) directxmesh, directxtex, and uvatlas now support linux (by @walbourn) - - [(#15639)](https://github.com/microsoft/vcpkg/pull/15639) directxtex, directxmesh, directxtk, uvatlas ports updated to fix cach??? (by @walbourn) - - [(#17123)](https://github.com/microsoft/vcpkg/pull/17123) [directxtex,directxmesh, directxtk, directxtk12, uvatlas] updated for April 2021 releases (by @walbourn) -- boost-outcome `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- qt5-webglplugin `5.15.1#0` -> `5.15.2#0` - - [(#14678)](https://github.com/microsoft/vcpkg/pull/14678) [qt5] Update to 5.15.2 (by @Neumann-A) -- cppzmq `4.7.1#0` -> `4.7.1#1` - - [(#14624)](https://github.com/microsoft/vcpkg/pull/14624) [cppzmq] Add draft feature (by @NancyLi1013) -- anyrpc `2020-01-13-1#0` -> `2020-01-13#0` - - [(#15030)](https://github.com/microsoft/vcpkg/pull/15030) [tcl, anyrpc, ois, osgearth] Build Fixes 2020-12-09 (by @BillyONeal) -- azure-macro-utils-c `2020-06-17-1#0` -> `2020-06-17#2` - - [(#14343)](https://github.com/microsoft/vcpkg/pull/14343) [vcpkg, azure-macro-utils-c] Fix SHA and add FILE_DISAMBIGUATOR for vcpkg_from_github (by @BillyONeal) -- boost-foreach `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- libgpod `2019-08-29#2` -> `2019-08-29#0` - - [(#13100)](https://github.com/microsoft/vcpkg/pull/13100) [glib up to gtk] update and make it work with meson (by @Neumann-A) -- antlr4 `4.8#1` -> `4.8#1` - - [(#15378)](https://github.com/microsoft/vcpkg/pull/15378) [antlr4,python3] Resolve cross port conflicts (by @BillyONeal) - - [(#16383)](https://github.com/microsoft/vcpkg/pull/16383) [antlr4] update to 4.9.1 (by @NickStrupat) -- boost-tti `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- qt5-mqtt `5.15.1#0` -> `5.15.2#0` - - [(#14678)](https://github.com/microsoft/vcpkg/pull/14678) [qt5] Update to 5.15.2 (by @Neumann-A) -- libebur128 `1.2.5#0` -> `1.2.5#0` - - [(#15988)](https://github.com/microsoft/vcpkg/pull/15988) [libebur128] add new port with version 1.2.5 (by @Be-ing) - - [(#16223)](https://github.com/microsoft/vcpkg/pull/16223) [libebur128] update to 1.2.6; fixes dynamic linking on Windows (by @Be-ing) -- boost-variant `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- boost-phoenix `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- gtest `1.10.0#2` -> `1.10.0#4` - - [(#15661)](https://github.com/microsoft/vcpkg/pull/15661) [gtest] Add a patch to fix build error in GCC 11 (by @PragmaTwice) - - [(#16071)](https://github.com/microsoft/vcpkg/pull/16071) [gtest] fix builds when using --head (by @sylveon) -- spatialite-tools `5.0.0#1` -> `5.0.0#7` - - [(#11776)](https://github.com/microsoft/vcpkg/pull/11776) [intl/gettext/fontconfig] update to native build system (by @Neumann-A) - - [(#14800)](https://github.com/microsoft/vcpkg/pull/14800) [Proj4] Update to 7.2.0 (by @longhuan2018) - - [(#15039)](https://github.com/microsoft/vcpkg/pull/15039) [spatialite-tools]update to 5.0.0 (by @longhuan2018) - - [(#15040)](https://github.com/microsoft/vcpkg/pull/15040) [libspatialite] Update 5.0.0 (by @longhuan2018) - - [(#15768)](https://github.com/microsoft/vcpkg/pull/15768) [vcpkg baseline][spatialite-tools] fix linux osx build falied (by @longhuan2018) - - [(#17025)](https://github.com/microsoft/vcpkg/pull/17025) Spatialite-tools remove cflags from vcpkg_configure_make options (by @xandox) -- libosip2 `5.1.0-4#0` -> `5.1.0-4#0` - - [(#17321)](https://github.com/microsoft/vcpkg/pull/17321) [libosip2] Update to 5.2.0 and add windows support (by @NancyLi1013) -- boost-scope-exit `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- kf5holidays `5.74.0#0` -> `5.74.0#0` - - [(#13467)](https://github.com/microsoft/vcpkg/pull/13467) [many ports] Update existing KF5 frameworks to 5.75 (by @wrobelda) -- qscintilla `2.11.4-2#0` -> `2.12.0#0` - - [(#16455)](https://github.com/microsoft/vcpkg/pull/16455) [qscintilla] Update to 2.12 (by @m-kuhn) -- netcdf-cxx4 `4.3.1#1` -> `4.3.1#2` - - [(#14405)](https://github.com/microsoft/vcpkg/pull/14405) [netcdf-cxx4] Export cmake targets (by @NancyLi1013) -- ashes `2020-10-21#0` -> `2021-02-09#0` - - [(#16148)](https://github.com/microsoft/vcpkg/pull/16148) [ashes] Update to 2021-09-02 (by @DragonJoker) -- boost-assert `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- ryu `2.0#0` -> `2.0#0` - - [(#16238)](https://github.com/microsoft/vcpkg/pull/16238) [ryu] added ryu_printf (by @georg-emg) - - [(#16858)](https://github.com/microsoft/vcpkg/pull/16858) [ryu] ryuConfig.cmake now selects the correct libraries when cross compiling (by @georg-emg) - - [(#17306)](https://github.com/microsoft/vcpkg/pull/17306) [ryu] fixed syntax error in ryuConfig.cmake (by @georg-emg) -- ms-gltf `r1.9.5.0#0` -> `r1.9.5.0#0` - - [(#14971)](https://github.com/microsoft/vcpkg/pull/14971) [ms-gltf] Add new port (by @luncliff) -- cuda `10.1#4` -> `10.1#7` - - [(#14880)](https://github.com/microsoft/vcpkg/pull/14880) [cuda] Add ENV CUDA_HOME to path hints (by @jacobkahn) - - [(#16413)](https://github.com/microsoft/vcpkg/pull/16413) [cudnn] auto-download only if cuda version matches (by @cenit) -- libosmscout `1.1.1#0` -> `1.1.1#0` - - [(#14485)](https://github.com/microsoft/vcpkg/pull/14485) [libosmscout] Add new port (by @OgreTransporter) -- nameof `0.9.4#0` -> `0.10.0#0` - - [(#15975)](https://github.com/microsoft/vcpkg/pull/15975) [nameof] Update to 0.10.0 (by @Neargye) -- cppunit `1.14.0-1#0` -> `1.15.1#0` - - [(#15018)](https://github.com/microsoft/vcpkg/pull/15018) [cppunit] add linux support and bump version to 1.15.1 (by @dweckmann) -- libgeotiff `1.6.0#1` -> `1.6.0#2` - - [(#15750)](https://github.com/microsoft/vcpkg/pull/15750) [libgeotiff] Fix packagename via find_package (by @NancyLi1013) - - [(#17206)](https://github.com/microsoft/vcpkg/pull/17206) [libgeotiff] Fix mingw build (by @dg0yt) -- freeimage `3.18.0#17` -> `3.18.0#19` - - [(#15393)](https://github.com/microsoft/vcpkg/pull/15393) [freeimage] Fix for FreeImage incorrect image format enum after disabling vendor plugins (by @giladbau) - - [(#15812)](https://github.com/microsoft/vcpkg/pull/15812) [freeimage] Fix plugin disable patch (by @JackBoosY) -- ctp `6.3.15_20190220_se#0` -> `6.3.15_20190220_se#1` - - [(#15183)](https://github.com/microsoft/vcpkg/pull/15183) [ctp] bugfix for linux-x64 and file name case sensitivity (by @xgao1023) -- sqlcipher `4.4.0#0` -> `4.4.1#0` - - [(#14677)](https://github.com/microsoft/vcpkg/pull/14677) [sqlcipher] Update to 4.4.1 (by @SvenPStarFinanz) - - [(#17501)](https://github.com/microsoft/vcpkg/pull/17501) [sqlcipher] update to 4.4.3 (#17500) (by @shiena) -- openh264 `#0` -> `#0` - - [(#16714)](https://github.com/microsoft/vcpkg/pull/16714) [openh264] Add openh264 port (by @RichLogan) -- tmx `1.0.0#2` -> `1.1.0#0` - - [(#15421)](https://github.com/microsoft/vcpkg/pull/15421) [tmx] Update tmx port to 1.1.0 (by @jarruda) -- boost-safe-numerics `1.74.0#1` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- boost-typeof `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- libevent `2.1.12#0` -> `2.1.12#1` - - [(#14805)](https://github.com/microsoft/vcpkg/pull/14805) [libevent] Fix library cannot be found (by @NancyLi1013) -- gloo `20201203#0` -> `20201203#0` - - [(#15219)](https://github.com/microsoft/vcpkg/pull/15219) [gloo] New Port (by @jacobkahn) -- knet `1.0.1#0` -> `1.0.1#0` - - [(#17170)](https://github.com/microsoft/vcpkg/pull/17170) [knet]Update to v1.0.2 (by @KibaAmor) -- comms-ublox `0.20.0#0` -> `0.20.0#0` - - [(#14523)](https://github.com/microsoft/vcpkg/pull/14523) [comms-ublox] added new port (by @mathisloge) - - [(#15138)](https://github.com/microsoft/vcpkg/pull/15138) [comms] update comms libs to latest version (by @mathisloge) - - [(#15159)](https://github.com/microsoft/vcpkg/pull/15159) [comms] fixes debug build configuration (by @mathisloge) -- soci `4.0.1#1` -> `4.0.1#1` - - [(#14646)](https://github.com/microsoft/vcpkg/pull/14646) [soci] Update to 4.0.1 (by @JonLiu1993) - - [(#15577)](https://github.com/microsoft/vcpkg/pull/15577) [SOCI] Add support for soci-mysql connector (by @emexal-company) - - [(#16296)](https://github.com/microsoft/vcpkg/pull/16296) [soci] Fix feature mysql (by @JackBoosY) - - [(#16369)](https://github.com/microsoft/vcpkg/pull/16369) [soci] Re-fix feature mysql (by @JackBoosY) -- azure-umqtt-c `2020-07-19#0` -> `2020-12-09#0` - - [(#15109)](https://github.com/microsoft/vcpkg/pull/15109) Azure-IoT-Sdk for C release 2020-12-09 (by @ewertons) -- xbyak `5.97#0` -> `5.991#0` - - [(#14782)](https://github.com/microsoft/vcpkg/pull/14782) [xbyak] update to 5.991 (by @Ryan-rsm-McKenzie) -- qt5-quickcontrols `5.15.1#0` -> `5.15.2#0` - - [(#14678)](https://github.com/microsoft/vcpkg/pull/14678) [qt5] Update to 5.15.2 (by @Neumann-A) -- qt5-connectivity `1#0` -> `1#0` - - [(#14678)](https://github.com/microsoft/vcpkg/pull/14678) [qt5] Update to 5.15.2 (by @Neumann-A) -- boost-throw-exception `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- geos `3.8.1#1` -> `3.9.0#0` - - [(#16109)](https://github.com/microsoft/vcpkg/pull/16109) [geos] Update to 3.9.0 (by @JackBoosY) - - [(#16572)](https://github.com/microsoft/vcpkg/pull/16572) [geos] upgrade to 3.9.1 (by @m-kuhn) -- log4cpp `2.9.1#3` -> `2.9.1#4` - - [(#15650)](https://github.com/microsoft/vcpkg/pull/15650) [log4cpp] find_package support (by @mannkafai) -- dxsdk-d3dx `#0` -> `#0` - - [(#17175)](https://github.com/microsoft/vcpkg/pull/17175) [dxsdk-d3dx] Add new port (by @walbourn) -- pthreads `3.0.0-6#0` -> `3.0.0-6#0` - - [(#16348)](https://github.com/microsoft/vcpkg/pull/16348) [pthreads] support ARM arch and UWP platform (by @luncliff) - - [(#17011)](https://github.com/microsoft/vcpkg/pull/17011) [pthreads] Fix crt linkage (by @JackBoosY) - - [(#17318)](https://github.com/microsoft/vcpkg/pull/17318) [pthreads] Make port empty on mingw (by @dg0yt) -- angle `2020-05-15-1#0` -> `2020-05-15#2` - - [(#16733)](https://github.com/microsoft/vcpkg/pull/16733) [angle] Include EGL/eglext_angle.h in ANGLE (by @hanseuljun) -- x-plane `3.0.1-1#0` -> `3.0.3#0` - - [(#15244)](https://github.com/microsoft/vcpkg/pull/15244) [x-plane] Update to 3.0.3 (by @siavee) -- kinectsdk1 `1.8-2#0` -> `1.8#0` - - [(#15856)](https://github.com/microsoft/vcpkg/pull/15856) [kinectsdk1] Update hash (by @Cheney-W) -- lodepng-c `2021-03-01#0` -> `2021-03-01#0` - - [(#16408)](https://github.com/microsoft/vcpkg/pull/16408) [libtcod] Add new port. (by @HexDecimal) - - [(#17290)](https://github.com/microsoft/vcpkg/pull/17290) [lodepng-c] Disable parallel configure (by @JackBoosY) -- urdfdom `1.0.4#2` -> `1.0.4#3` - - [(#14324)](https://github.com/microsoft/vcpkg/pull/14324) [ignition] Updates on various pkgs ???? (by @ahoarau) -- shaderwriter `1.0.0#0` -> `1.0.0#0` - - [(#15948)](https://github.com/microsoft/vcpkg/pull/15948) [ shaderwriter ]Update to version 1.0.0 (by @DragonJoker) - - [(#17347)](https://github.com/microsoft/vcpkg/pull/17347) [shaderwriter] Update to version 1.1.0 (by @DragonJoker) -- libbson `1.16.1#1` -> `1.16.1#2` - - [(#13126)](https://github.com/microsoft/vcpkg/pull/13126) [vcpkg_fixup_pkgconfig] Handle spaces in path, do not validate individual libraries (by @ras0219) -- pcl `1.11.1#1` -> `1.11.1#2` - - [(#9231)](https://github.com/microsoft/vcpkg/pull/9231) [pcl] Add gcc version check (by @NancyLi1013) - - [(#14960)](https://github.com/microsoft/vcpkg/pull/14960) [pcl] Fix build when librealsense2 is present (by @dweckmann) - - [(#17437)](https://github.com/microsoft/vcpkg/pull/17437) [pcl] Fix qhul cannot be found (by @NancyLi1013) -- boost-core `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- wtl `10.0.10077#0` -> `10.0.10320#0` - - [(#15266)](https://github.com/microsoft/vcpkg/pull/15266) [wtl] Update wtl to 10.0.10320 (by @chrullrich) -- fribidi `1.0.10#1` -> `1.0.10#2` - - [(#12945)](https://github.com/microsoft/vcpkg/pull/12945) [meson|scripts] update scripts (by @Neumann-A) - - [(#15787)](https://github.com/microsoft/vcpkg/pull/15787) [ffmpeg] Add support for dav1d,fontconfig,freetype,fribidi,ilbc,modplug,opengl,openjpeg,libssh,tensorflow,tesseract,webp,libxml2 dependencies. (by @Sibras) -- xtl `0.6.18#0` -> `0.6.21#0` - - [(#14454)](https://github.com/microsoft/vcpkg/pull/14454) [xsimd][xtensor][xtl] Update to latest (by @SeekingMeaning) -- usockets `0.6.0#1` -> `0.6.0#1` - - [(#14935)](https://github.com/microsoft/vcpkg/pull/14935) [usockets] Fix build issue with feature ssl (by @PhoebeHui) - - [(#15743)](https://github.com/microsoft/vcpkg/pull/15743) [usockets] Update uSockets to the latest version (by @JonLiu1993) - - [(#16697)](https://github.com/microsoft/vcpkg/pull/16697) [uSockets] update to version 0.7.1 (by @Phantomouse) -- gdal `3.1.3#1` -> `3.1.3#14` - - [(#11776)](https://github.com/microsoft/vcpkg/pull/11776) [intl/gettext/fontconfig] update to native build system (by @Neumann-A) - - [(#13449)](https://github.com/microsoft/vcpkg/pull/13449) [gdal] Update to 3.1.3 (by @JackBoosY) - - [(#14866)](https://github.com/microsoft/vcpkg/pull/14866) [vcpkg baseline] [gdal] Fix build errors on linux and osx (by @PhoebeHui) - - [(#15292)](https://github.com/microsoft/vcpkg/pull/15292) [gdal] Update to 3.2.2 (by @longhuan2018) - - [(#15541)](https://github.com/microsoft/vcpkg/pull/15541) gdal:x64-windows-static-md fixes (by @ankurverma85) - - [(#16904)](https://github.com/microsoft/vcpkg/pull/16904) [vcpkg baseline][osgearth/gdal] Re-fix dependency gdal (by @JackBoosY) - - [(#17083)](https://github.com/microsoft/vcpkg/pull/17083) [vcpkg baseline][gdal] Fix configure error on OSX (by @JackBoosY) -- corrade `2020.06#0` -> `2020.06#0` - - [(#17356)](https://github.com/microsoft/vcpkg/pull/17356) [corrade] Fix VS2019 build error (by @NancyLi1013) -- mapbox-polylabel `#0` -> `#0` - - [(#16838)](https://github.com/microsoft/vcpkg/pull/16838) [mapbox-geometry,mapbox-polylabel,geojson-vt-cpp,geojson-cpp] new ports (by @mathisloge) -- boost-multi-index `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- azure-c-shared-utility `2020-07-19#0` -> `2020-12-09#1` - - [(#14750)](https://github.com/microsoft/vcpkg/pull/14750) [azure-kinect-sensor-sdk] not working on Linux (by @fran6co) - - [(#15109)](https://github.com/microsoft/vcpkg/pull/15109) Azure-IoT-Sdk for C release 2020-12-09 (by @ewertons) -- hypre `2.19.0#0` -> `2.19.0#0` - - [(#13448)](https://github.com/microsoft/vcpkg/pull/13448) [BLAS] add metaport (by @cenit) -- exprtk `2020-09-14#0` -> `2021-01-01#0` - - [(#16458)](https://github.com/microsoft/vcpkg/pull/16458) [exprtk] Update ExprTk (by @ArashPartow) -- bfgroup-lyra `1.5#0` -> `1.5#0` - - [(#16172)](https://github.com/microsoft/vcpkg/pull/16172) [bfgroup-lyra] Install CMake Targets (by @Hoikas) -- boost-vcpkg-helpers `7#1` -> `7#2` - - [(#14517)](https://github.com/microsoft/vcpkg/pull/14517) [boost] Install usage file (by @PhoebeHui) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- qt5-webview `5.15.1#0` -> `5.15.2#0` - - [(#14678)](https://github.com/microsoft/vcpkg/pull/14678) [qt5] Update to 5.15.2 (by @Neumann-A) -- qt5-charts `5.15.1#0` -> `5.15.2#0` - - [(#14678)](https://github.com/microsoft/vcpkg/pull/14678) [qt5] Update to 5.15.2 (by @Neumann-A) -- boost-winapi `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- poissonrecon `2019-09-15#0` -> `2019-09-15#0` - - [(#17370)](https://github.com/microsoft/vcpkg/pull/17370) [PoissonRecon] new port (by @fran6co) -- boost-log `1.75.0#2` -> `1.75.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) - - [(#16479)](https://github.com/microsoft/vcpkg/pull/16479) [many ports] Apply host dependencies (by @ras0219) -- boost-utility `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- oatpp-sqlite `1.2.0#0` -> `1.2.0#0` - - [(#14341)](https://github.com/microsoft/vcpkg/pull/14341) [oatpp] Add new port and vcpkg.json (by @mheyman) -- nng `1.3.2#0` -> `1.4.0#0` - - [(#16120)](https://github.com/microsoft/vcpkg/pull/16120) [nng] Update to v1.4.0 (by @jharmer95) -- tinygltf `2020-07-28#0` -> `2020-07-28#1` - - [(#17415)](https://github.com/microsoft/vcpkg/pull/17415) [tinygltf] fix json path (by @fran6co) -- azure-kinect-sensor-sdk `1.4.0-alpha.0#6` -> `1.4.1#0` - - [(#14246)](https://github.com/microsoft/vcpkg/pull/14246) [vcpkg baseline] Clean up baseline, use Keyword Supports Part 2 (by @JackBoosY) - - [(#14750)](https://github.com/microsoft/vcpkg/pull/14750) [azure-kinect-sensor-sdk] not working on Linux (by @fran6co) - - [(#16548)](https://github.com/microsoft/vcpkg/pull/16548) [Azure-Kinect-Sensor-SDK] update to 1.41 (by @JonLiu1993) -- kf5syntaxhighlighting `5.64.0-1#0` -> `5.64.0-1#0` - - [(#13467)](https://github.com/microsoft/vcpkg/pull/13467) [many ports] Update existing KF5 frameworks to 5.75 (by @wrobelda) -- readosm `1.1.0#3` -> `1.1.0a#0` - - [(#15038)](https://github.com/microsoft/vcpkg/pull/15038) [readosm] Update to 1.1.0a (by @longhuan2018) -- x265 `3.4#1` -> `3.4#4` - - [(#13126)](https://github.com/microsoft/vcpkg/pull/13126) [vcpkg_fixup_pkgconfig] Handle spaces in path, do not validate individual libraries (by @ras0219) - - [(#14556)](https://github.com/microsoft/vcpkg/pull/14556) [many ports] mingw support (by @longnguyen2004) - - [(#15787)](https://github.com/microsoft/vcpkg/pull/15787) [ffmpeg] Add support for dav1d,fontconfig,freetype,fribidi,ilbc,modplug,opengl,openjpeg,libssh,tensorflow,tesseract,webp,libxml2 dependencies. (by @Sibras) - - [(#17051)](https://github.com/microsoft/vcpkg/pull/17051) [x265] Allow release-only build. (by @matttyson) -- tensorflow-cc `2.3.1#1` -> `2.3.1#1` - - [(#13028)](https://github.com/microsoft/vcpkg/pull/13028) More or less completely rewritten tensorflow-cc port (by @jgehw) - - [(#14392)](https://github.com/microsoft/vcpkg/pull/14392) [tensorflow] Add C port (by @jgehw) - - [(#15354)](https://github.com/microsoft/vcpkg/pull/15354) [vcpkg] Fix unrecognized identifier errors in prbuild and cibuild. (by @BillyONeal) - - [(#16364)](https://github.com/microsoft/vcpkg/pull/16364) [tensorflow] upgrade to 2.4.1 (by @jgehw) -- qt5-doc `5.15.1#0` -> `5.15.2#0` - - [(#14678)](https://github.com/microsoft/vcpkg/pull/14678) [qt5] Update to 5.15.2 (by @Neumann-A) -- hunspell `1.7.0#2` -> `1.7.0#2` - - [(#14623)](https://github.com/microsoft/vcpkg/pull/14623) [hunspell] Avoid automatically added lib prefix (by @PhoebeHui) - - [(#17148)](https://github.com/microsoft/vcpkg/pull/17148) [hunspell] switch to make to enable build of hunspell tools (by @Neumann-A) -- geogram `1.7.5#2` -> `1.7.5#3` - - [(#13448)](https://github.com/microsoft/vcpkg/pull/13448) [BLAS] add metaport (by @cenit) - - [(#14962)](https://github.com/microsoft/vcpkg/pull/14962) [geogram] Fix windows dynamic build usage (by @FabienPean) -- gmime `3.2.6#1` -> `3.2.6#1` - - [(#11776)](https://github.com/microsoft/vcpkg/pull/11776) [intl/gettext/fontconfig] update to native build system (by @Neumann-A) - - [(#13100)](https://github.com/microsoft/vcpkg/pull/13100) [glib up to gtk] update and make it work with meson (by @Neumann-A) -- qt5 `5.15.1#1` -> `5.15.1#2` - - [(#14678)](https://github.com/microsoft/vcpkg/pull/14678) [qt5] Update to 5.15.2 (by @Neumann-A) - - [(#15170)](https://github.com/microsoft/vcpkg/pull/15170) [qt5-base] mysql plugin added (by @jepessen) - - [(#15597)](https://github.com/microsoft/vcpkg/pull/15597) [qt5] Remove dependency qt5 feature mysqlplugin when building x86 (by @JackBoosY) -- oatpp-websocket `1.2.0#1` -> `1.2.0#0` - - [(#14341)](https://github.com/microsoft/vcpkg/pull/14341) [oatpp] Add new port and vcpkg.json (by @mheyman) -- chipmunk `7.0.3#0` -> `7.0.3#1` - - [(#14776)](https://github.com/microsoft/vcpkg/pull/14776) [Chipmunk] build via cmake (by @comedinha) -- libwebm `1.0.0.27-5#0` -> `1.0.0.27#6` - - [(#16398)](https://github.com/microsoft/vcpkg/pull/16398) [libwebm] apply upstream changes to support Android NDK r15b and later (by @jwtowner) -- scnlib `#0` -> `#0` - - [(#17242)](https://github.com/microsoft/vcpkg/pull/17242) [scnlib] Update the port of scnlib to 0.4 (by @QAston) -- sqlite3 `3.33.0#0` -> `3.33.0#0` - - [(#16125)](https://github.com/microsoft/vcpkg/pull/16125) [sqlite3] Update to 3.34.1 (by @past-due) - - [(#16679)](https://github.com/microsoft/vcpkg/pull/16679) [sqlite3] Update to 3.35.0 (by @kevinlul) - - [(#16834)](https://github.com/microsoft/vcpkg/pull/16834) [sqlite3] Update to 3.35.2 (by @past-due) - - [(#17067)](https://github.com/microsoft/vcpkg/pull/17067) [sqlite3] Update to 3.35.4 (by @past-due) -- grpc `1.33.1#1` -> `1.33.1#2` - - [(#14647)](https://github.com/microsoft/vcpkg/pull/14647) [abseil] Re-fix cxx 17 standard, add macro ABSL_USE_CXX17 (by @JackBoosY) - - [(#15307)](https://github.com/microsoft/vcpkg/pull/15307) [grpc] Build codegen on arm64-osx (by @lebdron) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) - - [(#16479)](https://github.com/microsoft/vcpkg/pull/16479) [many ports] Apply host dependencies (by @ras0219) - - [(#17422)](https://github.com/microsoft/vcpkg/pull/17422) [grpc][upb] Update to newer versions (by @ras0219) - - [(#17496)](https://github.com/microsoft/vcpkg/pull/17496) [grpc] update to 1.37.0 (by @JonLiu1993) -- fltk `1.3.5#3` -> `1.3.5#0` - - [(#17094)](https://github.com/microsoft/vcpkg/pull/17094) [fltk] Fix link to system libs (by @JackBoosY) -- lapack-reference `3.8.0#3` -> `3.8.0#4` - - [(#13448)](https://github.com/microsoft/vcpkg/pull/13448) [BLAS] add metaport (by @cenit) - - [(#14816)](https://github.com/microsoft/vcpkg/pull/14816) [lapack-reference] add to CMAKE_FIND_LIBRARY_SUFFIXES additional suffixes (by @xandox) -- cudnn `7.6.5#1` -> `7.6.5#4` - - [(#14686)](https://github.com/microsoft/vcpkg/pull/14686) [cudnn] Try to find CUDNN locally before downloading (by @jacobkahn) - - [(#14736)](https://github.com/microsoft/vcpkg/pull/14736) [cudnn] Don't copy debug versions of the lib since they aren't provided (by @jacobkahn) - - [(#16413)](https://github.com/microsoft/vcpkg/pull/16413) [cudnn] auto-download only if cuda version matches (by @cenit) - - [(#17331)](https://github.com/microsoft/vcpkg/pull/17331) Update VMs, CMake to 3.20.1, CUDA to 11.3, and pwsh to 7.1.3 (by @BillyONeal) - - [(#17346)](https://github.com/microsoft/vcpkg/pull/17346) [cudnn] add other locations to find lib already installed (by @cenit) -- boost-filesystem `1.75.0#1` -> `1.75.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) - - [(#16479)](https://github.com/microsoft/vcpkg/pull/16479) [many ports] Apply host dependencies (by @ras0219) -- boost-coroutine2 `1.74.0#2` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- qt-advanced-docking-system `3.6.3#0` -> `3.6.3#1` - - [(#14714)](https://github.com/microsoft/vcpkg/pull/14714) [vcpkg baseline][qt-advanced-docking-system] Update hash (by @NancyLi1013) -- graphicsmagick `1.3.35#3` -> `1.3.35#3` - - [(#15245)](https://github.com/microsoft/vcpkg/pull/15245) [graphicsmagick] Add delegates.mgk (by @NancyLi1013) - - [(#15600)](https://github.com/microsoft/vcpkg/pull/15600) [graphicsmagick] update to version 1.3.36 (by @josuegomes) -- redis-plus-plus `1.2.1#0` -> `1.2.1#1` - - [(#14762)](https://github.com/microsoft/vcpkg/pull/14762) [redis-plus-plus] Add c++17 feature (by @JonLiu1993) -- ogre `1.12.9#0` -> `1.12.9#0` - - [(#14554)](https://github.com/microsoft/vcpkg/pull/14554) [assimp] Fix cmake config name and add cmake version (by @PhoebeHui) - - [(#15194)](https://github.com/microsoft/vcpkg/pull/15194) [ogre] make zziplib, freeimage, assimp, freetype and less strict resource manager as feature (by @dweckmann) - - [(#15789)](https://github.com/microsoft/vcpkg/pull/15789) [ogre] Do not use strict mode by default in ogre for backward compatibility (by @traversaro) -- boost-any `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- libpmemobj-cpp `1.11#0` -> `1.12#0` - - [(#16325)](https://github.com/microsoft/vcpkg/pull/16325) [libpmemobj-cpp] update to ver. 1.12 (by @JonLiu1993) -- aliyun-oss-c-sdk `3.10.0#0` -> `3.10.0#0` - - [(#14245)](https://github.com/microsoft/vcpkg/pull/14245) [vcpkg baseline] Clean up baseline, use Keyword Supports Part 1 (by @JackBoosY) -- boost-graph `1.75.0#0` -> `1.75.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) - - [(#16479)](https://github.com/microsoft/vcpkg/pull/16479) [many ports] Apply host dependencies (by @ras0219) -- vtk `9.0.1#2` -> `9.0.1#6` - - [(#15334)](https://github.com/microsoft/vcpkg/pull/15334) [freetype] Update to 2.10.4 (by @kevinlul) - - [(#15667)](https://github.com/microsoft/vcpkg/pull/15667) [vtk] use patch for QT_NO_KEYWORDS support from upstream (by @dweckmann) - - [(#16779)](https://github.com/microsoft/vcpkg/pull/16779) [vtk] Add support for unicode path for VTK reader/writer (by @robbie-li) - - [(#17015)](https://github.com/microsoft/vcpkg/pull/17015) [vtk] enables openvr module when openvr is listed (by @veggiesaurus) -- opencv4 `4.3.0#4` -> `4.3.0#5` - - [(#12785)](https://github.com/microsoft/vcpkg/pull/12785) [OpenCV] fix compatibility with VTK9 (by @cenit) - - [(#15089)](https://github.com/microsoft/vcpkg/pull/15089) [libarchive+tesseract+opencv] add missing libarchiveConfig.cmake, fix tesseract downstream and unblock opencv CI (by @cenit) - - [(#15162)](https://github.com/microsoft/vcpkg/pull/15162) [OpenCV] update to v4.5 and to v3.4.12 (by @cenit) - - [(#15788)](https://github.com/microsoft/vcpkg/pull/15788) [quirc, opencv4] Build fixes from 2021-01-18 build (by @BillyONeal) - - [(#15859)](https://github.com/microsoft/vcpkg/pull/15859) [OpenCV] bump to 4.5.1 and to 3.4.13 (by @cenit) - - [(#17354)](https://github.com/microsoft/vcpkg/pull/17354) [opencv4] Fix OPTIONS BUILD_opencv_gapi (by @NancyLi1013) -- implot `0.7#0` -> `0.8#0` - - [(#14380)](https://github.com/microsoft/vcpkg/pull/14380) [implot] Update to 0.8 (by @RT222) - - [(#16818)](https://github.com/microsoft/vcpkg/pull/16818) [implot] Update to 0.9 (by @RT222) -- boost-random `1.75.0#0` -> `1.75.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) - - [(#16479)](https://github.com/microsoft/vcpkg/pull/16479) [many ports] Apply host dependencies (by @ras0219) -- boost-build `1.75.0.beta1#1` -> `1.75.0#1` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15385)](https://github.com/microsoft/vcpkg/pull/15385) [boost-build] Fix cflags and c++flags for msvc (by @PhoebeHui) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) - - [(#16930)](https://github.com/microsoft/vcpkg/pull/16930) [boost-context] support android (by @huangqinjin) -- msix `1.7-2#0` -> `1.7-2#0` - - [(#16488)](https://github.com/microsoft/vcpkg/pull/16488) [msix] Add DISABLE_PARALLEL_CONFIGURE (by @NancyLi1013) -- boost-crc `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- mailio `#0` -> `#0` - - [(#16696)](https://github.com/microsoft/vcpkg/pull/16696) New port for mailio. (by @karastojko) - - [(#16789)](https://github.com/microsoft/vcpkg/pull/16789) [mailio] does not support uwp (by @autoantwort) -- mbedtls `2.24.0#1` -> `2.24.0#2` - - [(#15680)](https://github.com/microsoft/vcpkg/pull/15680) Fix Mbed TLS build for Android (by @ahmedyarub) - - [(#15687)](https://github.com/microsoft/vcpkg/pull/15687) [libssh] Add support for Android (by @ahmedyarub) -- openmama `6.3.1#0` -> `6.3.1#0` - - [(#16725)](https://github.com/microsoft/vcpkg/pull/16725) [openmama] Modify the output path of the common header file (by @Cheney-W) -- curl `7.74.0#1` -> `7.74.0#4` - - [(#14350)](https://github.com/microsoft/vcpkg/pull/14350) [curl] Fixes pkgconfig configuration file (by @Matioupi) - - [(#14473)](https://github.com/microsoft/vcpkg/pull/14473) [curl] Enable feature tool and install curl-config on non-Windows (by @JackBoosY) - - [(#14715)](https://github.com/microsoft/vcpkg/pull/14715) [curl] Fixes pkgconfig file (by @Matioupi) - - [(#14807)](https://github.com/microsoft/vcpkg/pull/14807) [curl] Add feature idn2 (by @JackBoosY) - - [(#15041)](https://github.com/microsoft/vcpkg/pull/15041) [curl] Update to 7.74.0 (by @nokutu) - - [(#15491)](https://github.com/microsoft/vcpkg/pull/15491) [vcpkg baseline][poppler] Fix issue with using libcurl. (by @Hoikas) - - [(#15725)](https://github.com/microsoft/vcpkg/pull/15725) [aws-cpp-sdk] [zlib] [openssl] [curl] Fix zlib, OpenSSL, curl and AWS SDK for Android (by @ahmedyarub) - - [(#15941)](https://github.com/microsoft/vcpkg/pull/15941) [curl] Fix/android curl debug bin (by @venabled) -- boost-algorithm `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- oatpp-libressl `1.2.0#1` -> `1.2.0#0` - - [(#14341)](https://github.com/microsoft/vcpkg/pull/14341) [oatpp] Add new port and vcpkg.json (by @mheyman) -- hidapi `0.10.1#0` -> `0.10.1#0` - - [(#15437)](https://github.com/microsoft/vcpkg/pull/15437) [hidapi] Support static build (by @PhoebeHui) - - [(#15485)](https://github.com/microsoft/vcpkg/pull/15485) Update to hidapi-0.10.1 (by @JoergAtGithub) - - [(#17231)](https://github.com/microsoft/vcpkg/pull/17231) [hidapi] Add support linux and osx (by @NancyLi1013) -- gtkmm `3.22.2#4` -> `3.22.2#5` - - [(#13100)](https://github.com/microsoft/vcpkg/pull/13100) [glib up to gtk] update and make it work with meson (by @Neumann-A) - - [(#15353)](https://github.com/microsoft/vcpkg/pull/15353) Build results from 2020-12-27 (by @BillyONeal) -- shaderc `2019-06-26-1#0` -> `2019-06-26#2` - - [(#16137)](https://github.com/microsoft/vcpkg/pull/16137) [shaderc] Use build type to build targets (by @JackBoosY) -- nsync `#0` -> `#0` - - [(#15714)](https://github.com/microsoft/vcpkg/pull/15714) [nsync] create a new port (by @luncliff) -- fast-cpp-csv-parser `2019-08-14#0` -> `2021-01-03#0` - - [(#15943)](https://github.com/microsoft/vcpkg/pull/15943) [fast-cpp-csv-parser ] Update to the latest commit: Fixes compiler warnings (by @remz1337) -- oatpp-curl `1.2.0#1` -> `1.2.0#2` - - [(#14341)](https://github.com/microsoft/vcpkg/pull/14341) [oatpp] Add new port and vcpkg.json (by @mheyman) - - [(#14385)](https://github.com/microsoft/vcpkg/pull/14385) [oatpp-curl] Fix curl dependency cannot be found (by @NancyLi1013) -- functions-framework-cpp `0.3.0#0` -> `0.3.0#0` - - [(#15989)](https://github.com/microsoft/vcpkg/pull/15989) [functions-framework-cpp] add new port with version 0.3.0 (by @coryan) - - [(#16163)](https://github.com/microsoft/vcpkg/pull/16163) [functions-framework-cpp] populate license field (by @coryan) - - [(#16178)](https://github.com/microsoft/vcpkg/pull/16178) [functions-framework-cpp] use 'version' for version numbers (by @coryan) - - [(#16307)](https://github.com/microsoft/vcpkg/pull/16307) [functions-framework-cpp] update to latest release (v0.4.0) (by @coryan) - - [(#16447)](https://github.com/microsoft/vcpkg/pull/16447) [functions-framework-cpp] update to latest release (v0.5.0) (by @coryan) -- suitesparse `5.8.0#0` -> `5.8.0#0` - - [(#15802)](https://github.com/microsoft/vcpkg/pull/15802) [ceres] Mark all dependencies REQUIRED (by @ras0219) -- ttauri `#0` -> `#0` - - [(#16749)](https://github.com/microsoft/vcpkg/pull/16749) [ttauri] Add new port (by @takev) -- cppgraphqlgen `2020-12-07#1` -> `2020-12-07#1` - - [(#14416)](https://github.com/microsoft/vcpkg/pull/14416) [cppgraphqlgen] Update to v3.2.4 (by @wravery) - - [(#14842)](https://github.com/microsoft/vcpkg/pull/14842) [cppgraphqlgen] Update to v3.3.0 (by @wravery) - - [(#15549)](https://github.com/microsoft/vcpkg/pull/15549) [cppgraphqlgen] Fix --head for new branch/option (by @wravery) - - [(#15701)](https://github.com/microsoft/vcpkg/pull/15701) [cppgraphqlgen] Update to 3.5.0 release (by @wravery) -- flatbuffers `1.12.0#1` -> `1.12.0#2` - - [(#15717)](https://github.com/microsoft/vcpkg/pull/15717) [mnn,flatbuffers] add a new port and patch (by @luncliff) - - [(#16843)](https://github.com/microsoft/vcpkg/pull/16843) [flatbuffers] support iOS triplets (by @luncliff) -- libass `0.14.0#0` -> `0.15.0#0` - - [(#14843)](https://github.com/microsoft/vcpkg/pull/14843) [vcpkg baseline] [libass] Fix dependency issue in Linux (by @PhoebeHui) - - [(#15213)](https://github.com/microsoft/vcpkg/pull/15213) [libass] Update to 0.15.0 (by @wangqr) - - [(#15263)](https://github.com/microsoft/vcpkg/pull/15263) [libass] update to 0.15.0 (by @JonLiu1993) -- ignition-msgs1 `1.0.0#2` -> `1.0.0#3` - - [(#14730)](https://github.com/microsoft/vcpkg/pull/14730) [ignition-msgs*] Fix flaky CI tests for ignition-msgs* ports (take 2) (by @traversaro) -- boost-stacktrace `1.75.0#1` -> `1.75.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) - - [(#16479)](https://github.com/microsoft/vcpkg/pull/16479) [many ports] Apply host dependencies (by @ras0219) -- jsoncons `0.158.0#0` -> `0.159.0#0` - - [(#14752)](https://github.com/microsoft/vcpkg/pull/14752) [jsoncons] Update to version 0.159.0 (by @danielaparker) - - [(#16227)](https://github.com/microsoft/vcpkg/pull/16227) [jsoncons] Update to version 0.162.0 (by @danielaparker) - - [(#16334)](https://github.com/microsoft/vcpkg/pull/16334) [jsoncons] Update to 0.162.1 (by @danielaparker) - - [(#16820)](https://github.com/microsoft/vcpkg/pull/16820) [jsoncons] Update to v0.163.0 (by @danielaparker) - - [(#17126)](https://github.com/microsoft/vcpkg/pull/17126) [jsoncons] Update to 0.163.1 (by @danielaparker) - - [(#17466)](https://github.com/microsoft/vcpkg/pull/17466) [jsoncons] Update to version 0.163.3 (by @danielaparker) -- boost-io `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- mnn `1.1.0#0` -> `1.1.0#0` - - [(#15717)](https://github.com/microsoft/vcpkg/pull/15717) [mnn,flatbuffers] add a new port and patch (by @luncliff) -- spdlog `1.8.0#1` -> `1.8.0#3` - - [(#16089)](https://github.com/microsoft/vcpkg/pull/16089) [spdlog] Support build shared library (by @JonLiu1993) - - [(#16819)](https://github.com/microsoft/vcpkg/pull/16819) [spdlog] Fix build for Android (by @ahmedyarub) - - [(#16870)](https://github.com/microsoft/vcpkg/pull/16870) [spdlog] Update to 1.8.5 (by @Ryan-rsm-McKenzie) - - [(#17152)](https://github.com/microsoft/vcpkg/pull/17152) [spdlog] Use external fmt header (by @NancyLi1013) - - [(#17511)](https://github.com/microsoft/vcpkg/pull/17511) [spdlog] Fix mingW build (by @JackBoosY) -- openssl `1.1.1j#1` -> `1.1.1j#5` - - [(#14308)](https://github.com/microsoft/vcpkg/pull/14308) [OpenSSL] refactor openssl ports. (by @Neumann-A) - - [(#14460)](https://github.com/microsoft/vcpkg/pull/14460) [szip, openssl] Fix problems with mingw (by @longnguyen2004) - - [(#14785)](https://github.com/microsoft/vcpkg/pull/14785) [openssl] Handle INSTALL_NAME_DIR and OSX_DEPLOYMENT_TARGET for macOS shared builds (by @LRFLEW) - - [(#15062)](https://github.com/microsoft/vcpkg/pull/15062) [openssl] Remove extra slashes when installing usage (by @JackBoosY) - - [(#15191)](https://github.com/microsoft/vcpkg/pull/15191) [openssl] install pkgconfig file (by @Perlmint) - - [(#15298)](https://github.com/microsoft/vcpkg/pull/15298) [openssl] Update to 1.1.1i (by @lebdron) - - [(#15725)](https://github.com/microsoft/vcpkg/pull/15725) [aws-cpp-sdk] [zlib] [openssl] [curl] Fix zlib, OpenSSL, curl and AWS SDK for Android (by @ahmedyarub) - - [(#16525)](https://github.com/microsoft/vcpkg/pull/16525) [openssl] update to 1.1.1j (by @metsma) - - [(#16937)](https://github.com/microsoft/vcpkg/pull/16937) [OpenSSL] Update to 1.1.1k (by @metsma) - - [(#17373)](https://github.com/microsoft/vcpkg/pull/17373) [openssl/unix] Run `make` with 'VCPKG_CONCURRENCY' parallelism (by @mschofie) -- sdl2-mixer `2.0.4#10` -> `2.0.4#0` - - [(#16737)](https://github.com/microsoft/vcpkg/pull/16737) [sdl2-mixer] Fix features link error (by @NancyLi1013) -- fp16 `#0` -> `#0` - - [(#16340)](https://github.com/microsoft/vcpkg/pull/16340) [fp16] create a new port (by @luncliff) -- mozjpeg `2020-06-02-1#0` -> `2020-06-02#2` - - [(#15196)](https://github.com/microsoft/vcpkg/pull/15196) [libjpeg-turbo/mozjpeg] Add conflict messages (by @NancyLi1013) -- argtable2 `8#0` -> `8#0` - - [(#14245)](https://github.com/microsoft/vcpkg/pull/14245) [vcpkg baseline] Clean up baseline, use Keyword Supports Part 1 (by @JackBoosY) -- breakpad `2020-09-14#1` -> `2020-09-14#2` - - [(#15092)](https://github.com/microsoft/vcpkg/pull/15092) [breakpad] Support breakpad_client on Linux & macOS (by @Perlmint) - - [(#16401)](https://github.com/microsoft/vcpkg/pull/16401) [breakpad] add support for Android triplets (by @jwtowner) -- zstr `1.0.1#0` -> `1.0.4#0` - - [(#14452)](https://github.com/microsoft/vcpkg/pull/14452) [zstr] update to 1.0.4 (by @SeekingMeaning) -- qt5-location `5.15.1#1` -> `5.15.1#2` - - [(#14644)](https://github.com/microsoft/vcpkg/pull/14644) [vcpkg baseline][qt5-location] Update patch (by @NancyLi1013) - - [(#14678)](https://github.com/microsoft/vcpkg/pull/14678) [qt5] Update to 5.15.2 (by @Neumann-A) -- physx `4.1.1#5` -> `4.1.1#7` - - [(#13849)](https://github.com/microsoft/vcpkg/pull/13849) [physx] Add support for Linux, macOS, and UWP (by @Hoikas) - - [(#15934)](https://github.com/microsoft/vcpkg/pull/15934) [physx] Use /Z7 instead of /Zi to integrate the debug info when building static (by @JackBoosY) - - [(#17453)](https://github.com/microsoft/vcpkg/pull/17453) [physx] Update to 4.1.2 (by @Hoikas) -- magnum `2020.06#1` -> `2020.06#5` - - [(#11225)](https://github.com/microsoft/vcpkg/pull/11225) [magnum] fixes adding any feature that depends on any other feature it will enable all the defaults (by @fran6co) - - [(#14383)](https://github.com/microsoft/vcpkg/pull/14383) [magnum] Removing quotes around tools list where vcpkg_copy_tools is involked (by @PhoebeHui) - - [(#15163)](https://github.com/microsoft/vcpkg/pull/15163) [magnum,magnum-plugins] Add vulkan and shaderconverter features (by @Squareys) - - [(#16245)](https://github.com/microsoft/vcpkg/pull/16245) [magnum,-plugins] Fix deployment of plugin types and incorrect removal of plugin lib dir on unix (by @Squareys) - - [(#17016)](https://github.com/microsoft/vcpkg/pull/17016) [magnum,-plugins] Fix deprecated use of vcpkg_check_features (by @Squareys) -- glslang `2019-03-05#2` -> `2019-03-05#2` - - [(#15624)](https://github.com/microsoft/vcpkg/pull/15624) [glslang] Provide glslang-default-resource-limits library. (by @wolfpld) - - [(#16037)](https://github.com/microsoft/vcpkg/pull/16037) [glslang] support iOS triplets (by @luncliff) -- kf5guiaddons `5.64.0#0` -> `5.64.0#0` - - [(#13467)](https://github.com/microsoft/vcpkg/pull/13467) [many ports] Update existing KF5 frameworks to 5.75 (by @wrobelda) -- directxtk12 `jan2021#1` -> `apr2021#0` - - [(#14539)](https://github.com/microsoft/vcpkg/pull/14539) [directxtk][directxtk12][directxtex][directxmesh] Update to latest version (by @RT222) - - [(#15210)](https://github.com/microsoft/vcpkg/pull/15210) Updated directxtk et al for cmake package support (by @walbourn) - - [(#15554)](https://github.com/microsoft/vcpkg/pull/15554) directxmesh, directxtex, and uvatlas now support linux (by @walbourn) - - [(#15639)](https://github.com/microsoft/vcpkg/pull/15639) directxtex, directxmesh, directxtk, uvatlas ports updated to fix cach??? (by @walbourn) - - [(#17123)](https://github.com/microsoft/vcpkg/pull/17123) [directxtex,directxmesh, directxtk, directxtk12, uvatlas] updated for April 2021 releases (by @walbourn) -- rhash `1.3.9#0` -> `1.4.0#0` - - [(#13658)](https://github.com/microsoft/vcpkg/pull/13658) [rhash] Update to the latest version (by @LilyWangL) -- forge `1.0.5#0` -> `1.0.5#0` - - [(#17404)](https://github.com/microsoft/vcpkg/pull/17404) [forge] Fix usage (by @JackBoosY) -- kf5crash `5.64.0#0` -> `5.64.0#0` - - [(#13467)](https://github.com/microsoft/vcpkg/pull/13467) [many ports] Update existing KF5 frameworks to 5.75 (by @wrobelda) -- taskflow `2.6.0#0` -> `2.7.0#0` - - [(#15057)](https://github.com/microsoft/vcpkg/pull/15057) [taskflow] update port to v2.7.0 (by @remz1337) - - [(#15894)](https://github.com/microsoft/vcpkg/pull/15894) [taskflow] update to 3.0.0 (by @mfornace) - - [(#17407)](https://github.com/microsoft/vcpkg/pull/17407) [taskflow] update to 3.1.0 (by @JonLiu1993) -- pegtl `2020-12-07#0` -> `2020-12-07#0` - - [(#14841)](https://github.com/microsoft/vcpkg/pull/14841) [pegtl] Update to 3.0.0 release (by @wravery) - - [(#15186)](https://github.com/microsoft/vcpkg/pull/15186) [pegtl] Update to release version 3.1.0 (by @wravery) - - [(#15700)](https://github.com/microsoft/vcpkg/pull/15700) [pegtl] Update to 3.2.0 release (by @wravery) -- aubio `0.4.9#3` -> `0.4.9#0` - - [(#14246)](https://github.com/microsoft/vcpkg/pull/14246) [vcpkg baseline] Clean up baseline, use Keyword Supports Part 2 (by @JackBoosY) - - [(#16051)](https://github.com/microsoft/vcpkg/pull/16051) [aubio] allow to build without dependencies (by @autoantwort) -- munit `2019-04-06#0` -> `2019-04-06#1` - - [(#12945)](https://github.com/microsoft/vcpkg/pull/12945) [meson|scripts] update scripts (by @Neumann-A) -- rtaudio `5.1.0#0` -> `5.1.0#0` - - [(#14774)](https://github.com/microsoft/vcpkg/pull/14774) [rtaudio] Add new port (by @chausner) - - [(#16208)](https://github.com/microsoft/vcpkg/pull/16208) [rtaudio] Fix mingw, switch to rolling release (by @autoantwort) -- kf5coreaddons `5.64.0#0` -> `5.64.0#0` - - [(#13467)](https://github.com/microsoft/vcpkg/pull/13467) [many ports] Update existing KF5 frameworks to 5.75 (by @wrobelda) -- libmodplug `0.8.9.0#6` -> `0.8.9.0#7` - - [(#15787)](https://github.com/microsoft/vcpkg/pull/15787) [ffmpeg] Add support for dav1d,fontconfig,freetype,fribidi,ilbc,modplug,opengl,openjpeg,libssh,tensorflow,tesseract,webp,libxml2 dependencies. (by @Sibras) -- libogg `1.3.4#2` -> `1.3.4#3` - - [(#14556)](https://github.com/microsoft/vcpkg/pull/14556) [many ports] mingw support (by @longnguyen2004) -- urho3d `#0` -> `#0` - - [(#14538)](https://github.com/microsoft/vcpkg/pull/14538) [urho3d] Add new port (by @koprok) -- wxchartdir `1.0.0#0` -> `1.0.0#0` - - [(#13361)](https://github.com/microsoft/vcpkg/pull/13361) [wxwidgets] Fix #4756 (by @ras0219) -- c-ares `1.17.1#0` -> `1.17.1#0` - - [(#14863)](https://github.com/microsoft/vcpkg/pull/14863) [c-ares] Update to 1.17.1. (by @geraldcombs) - - [(#17230)](https://github.com/microsoft/vcpkg/pull/17230) [c-ares] Fix definition on static build, add options to disable tools and tests (by @JackBoosY) -- libidn2 `2.2.0#0` -> `2.3.0#1` - - [(#11776)](https://github.com/microsoft/vcpkg/pull/11776) [intl/gettext/fontconfig] update to native build system (by @Neumann-A) - - [(#14540)](https://github.com/microsoft/vcpkg/pull/14540) [libidn2] Update to version 2.3.0 (by @lazyhamster) - - [(#15868)](https://github.com/microsoft/vcpkg/pull/15868) [libidn2] Fix cross-compile (non-Windows) (by @past-due) - - [(#17419)](https://github.com/microsoft/vcpkg/pull/17419) [Libidn2] disable documentation (by @xandox) -- qt5-x11extras `5.15.1#0` -> `5.15.2#0` - - [(#14678)](https://github.com/microsoft/vcpkg/pull/14678) [qt5] Update to 5.15.2 (by @Neumann-A) -- reproc `14.1.0#0` -> `14.2.1#0` - - [(#15751)](https://github.com/microsoft/vcpkg/pull/15751) [reproc] update to 14.2.1 (by @JonLiu1993) -- boost-interval `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- qt5-quickcontrols2 `5.15.1#0` -> `5.15.2#0` - - [(#14678)](https://github.com/microsoft/vcpkg/pull/14678) [qt5] Update to 5.15.2 (by @Neumann-A) -- otl `4.0.455#0` -> `4.0.455#1` - - [(#16289)](https://github.com/microsoft/vcpkg/pull/16289) [vcpkg baseline][ktx/otl] Update download hash (by @JackBoosY) -- ixwebsocket `11.0.4#0` -> `11.0.4#0` - - [(#15394)](https://github.com/microsoft/vcpkg/pull/15394) [IXWebsocket ] Upgraded to 11.0.4 version (by @ludekvodicka) - - [(#16710)](https://github.com/microsoft/vcpkg/pull/16710) [ixwebsocket] Fix cmake-configure files install path (by @NancyLi1013) - - [(#16856)](https://github.com/microsoft/vcpkg/pull/16856) [ixwebsocket] update to 11.2.3 (by @bsergean) -- boost-compute `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- comms `3.1.3#0` -> `3.1.3#0` - - [(#14195)](https://github.com/microsoft/vcpkg/pull/14195) [comms] Add new ports (by @mathisloge) - - [(#14521)](https://github.com/microsoft/vcpkg/pull/14521) [comms ] update to the next version (by @mathisloge) - - [(#15138)](https://github.com/microsoft/vcpkg/pull/15138) [comms] update comms libs to latest version (by @mathisloge) - - [(#15159)](https://github.com/microsoft/vcpkg/pull/15159) [comms] fixes debug build configuration (by @mathisloge) - - [(#16415)](https://github.com/microsoft/vcpkg/pull/16415) [comms, commsdsl] update ports (by @mathisloge) - - [(#17581)](https://github.com/microsoft/vcpkg/pull/17581) [comms,commsdsl] update ports (by @mathisloge) -- glib `2.52.3#23` -> `2.52.3#27` - - [(#11776)](https://github.com/microsoft/vcpkg/pull/11776) [intl/gettext/fontconfig] update to native build system (by @Neumann-A) - - [(#13100)](https://github.com/microsoft/vcpkg/pull/13100) [glib up to gtk] update and make it work with meson (by @Neumann-A) - - [(#14988)](https://github.com/microsoft/vcpkg/pull/14988) [GLIBMM] Installing .pc file (by @faserg1) - - [(#15360)](https://github.com/microsoft/vcpkg/pull/15360) [glib] Fix pkgconfig files (by @PhoebeHui) - - [(#17117)](https://github.com/microsoft/vcpkg/pull/17117) [glib] fix build error for x64-linux-dynamic (by @kwiechen) - - [(#17197)](https://github.com/microsoft/vcpkg/pull/17197) sync GLIB_DLL_SUFFIX with pkgconfig (by @kwiechen) -- dxut `11.14#0` -> `11.14#0` - - [(#15788)](https://github.com/microsoft/vcpkg/pull/15788) [quirc, opencv4] Build fixes from 2021-01-18 build (by @BillyONeal) - - [(#16101)](https://github.com/microsoft/vcpkg/pull/16101) Update DXUT port and add Effects11 (FX) port (by @walbourn) -- boost-iostreams `1.75.0#1` -> `1.75.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) - - [(#16479)](https://github.com/microsoft/vcpkg/pull/16479) [many ports] Apply host dependencies (by @ras0219) -- directxtex `jan2021#2` -> `apr2021#0` - - [(#14539)](https://github.com/microsoft/vcpkg/pull/14539) [directxtk][directxtk12][directxtex][directxmesh] Update to latest version (by @RT222) - - [(#15210)](https://github.com/microsoft/vcpkg/pull/15210) Updated directxtk et al for cmake package support (by @walbourn) - - [(#15554)](https://github.com/microsoft/vcpkg/pull/15554) directxmesh, directxtex, and uvatlas now support linux (by @walbourn) - - [(#15639)](https://github.com/microsoft/vcpkg/pull/15639) directxtex, directxmesh, directxtk, uvatlas ports updated to fix cach??? (by @walbourn) - - [(#17123)](https://github.com/microsoft/vcpkg/pull/17123) [directxtex,directxmesh, directxtk, directxtk12, uvatlas] updated for April 2021 releases (by @walbourn) -- opencv3 `3.4.10#2` -> `3.4.10#5` - - [(#12785)](https://github.com/microsoft/vcpkg/pull/12785) [OpenCV] fix compatibility with VTK9 (by @cenit) - - [(#15089)](https://github.com/microsoft/vcpkg/pull/15089) [libarchive+tesseract+opencv] add missing libarchiveConfig.cmake, fix tesseract downstream and unblock opencv CI (by @cenit) - - [(#15162)](https://github.com/microsoft/vcpkg/pull/15162) [OpenCV] update to v4.5 and to v3.4.12 (by @cenit) - - [(#15788)](https://github.com/microsoft/vcpkg/pull/15788) [quirc, opencv4] Build fixes from 2021-01-18 build (by @BillyONeal) - - [(#15859)](https://github.com/microsoft/vcpkg/pull/15859) [OpenCV] bump to 4.5.1 and to 3.4.13 (by @cenit) -- libusb `1.0.24#3` -> `3#0` - - [(#15692)](https://github.com/microsoft/vcpkg/pull/15692) update libusb to 1.0.24 (by @matwey) - - [(#16839)](https://github.com/microsoft/vcpkg/pull/16839) [libusb] Fix the support for Visual Studio 2019 (by @NancyLi1013) -- sundials `3.1.1-2#0` -> `5.5.0#0` - - [(#14618)](https://github.com/microsoft/vcpkg/pull/14618) [SUNDIALS] Update to 5.5.0 (by @JonLiu1993) - - [(#16705)](https://github.com/microsoft/vcpkg/pull/16705) [sundials] Update to 5.7.0 and also update repository (by @NancyLi1013) -- fmt `0#0` -> `0#0` - - [(#14372)](https://github.com/microsoft/vcpkg/pull/14372) [fmt] update to 7.1.1 (by @bl-ue) - - [(#14413)](https://github.com/microsoft/vcpkg/pull/14413) [fmt] update to 7.1.2 (by @bl-ue) - - [(#14786)](https://github.com/microsoft/vcpkg/pull/14786) [fmt] Update to 7.1.3 (by @kevinlul) - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) - - [(#16766)](https://github.com/microsoft/vcpkg/pull/16766) [fmt] Fix build error when building arm64-uwp (by @JackBoosY) - - [(#16774)](https://github.com/microsoft/vcpkg/pull/16774) [ci,vcpkg-cmake-*] remove host-only nature of vcpkg-cmake-* ports (by @strega-nil) - - [(#17279)](https://github.com/microsoft/vcpkg/pull/17279) [fmt] Update usage (by @NancyLi1013) -- simage `1.8.0#0` -> `1.8.0#1` - - [(#15683)](https://github.com/microsoft/vcpkg/pull/15683) [simage] Fix optional dependencies (by @ras0219-msft) -- libqcow `20200928#0` -> `20210419#0` - - [(#17525)](https://github.com/microsoft/vcpkg/pull/17525) [libqcow] Fix build issues by updating to 20210419 (by @AlexAltea) -- boost-thread `1.75.0#0` -> `1.75.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) - - [(#16479)](https://github.com/microsoft/vcpkg/pull/16479) [many ports] Apply host dependencies (by @ras0219) -- atk `2.24.0-5#1` -> `2.24.0-5#2` - - [(#13100)](https://github.com/microsoft/vcpkg/pull/13100) [glib up to gtk] update and make it work with meson (by @Neumann-A) - - [(#14246)](https://github.com/microsoft/vcpkg/pull/14246) [vcpkg baseline] Clean up baseline, use Keyword Supports Part 2 (by @JackBoosY) - - [(#14972)](https://github.com/microsoft/vcpkg/pull/14972) [ATK] Installing .pc files (by @faserg1) - - [(#15353)](https://github.com/microsoft/vcpkg/pull/15353) Build results from 2020-12-27 (by @BillyONeal) -- avisynthplus `3.6.0#0` -> `3.6.1#0` - - [(#15214)](https://github.com/microsoft/vcpkg/pull/15214) [avisynthplus] Update to 3.6.1 (by @wangqr) - - [(#17221)](https://github.com/microsoft/vcpkg/pull/17221) [avisynthplus] Update to 3.7.0 (by @wangqr) -- krabsetw `4.1.13#0` -> `4.1.14#0` - - [(#14443)](https://github.com/microsoft/vcpkg/pull/14443) [krabsetw] Update to 4.1.14 (by @jrave) - - [(#16576)](https://github.com/microsoft/vcpkg/pull/16576) [krabsetw] Update krabsetw to 4.1.18 (by @jrave) -- xalan-c `1.11-12#0` -> `1.11-12#0` - - [(#17256)](https://github.com/microsoft/vcpkg/pull/17256) [Xalan-C] update to 1.12 (by @JonLiu1993) -- boost-spirit `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- boost-circular-buffer `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- igraph `#0` -> `#0` - - [(#17311)](https://github.com/microsoft/vcpkg/pull/17311) [igraph] create new port (by @szhorvat) -- flashlight-cuda `20201201#0` -> `20201201#0` - - [(#14676)](https://github.com/microsoft/vcpkg/pull/14676) [flashlight-cuda] New Port (by @jacobkahn) - - [(#14912)](https://github.com/microsoft/vcpkg/pull/14912) [flashlight-cuda] Add stb as dependency, bump port commit (by @jacobkahn) - - [(#15379)](https://github.com/microsoft/vcpkg/pull/15379) [flashlight-cuda] Update port (by @jacobkahn) - - [(#15514)](https://github.com/microsoft/vcpkg/pull/15514) [flashlight-cpu] New port (by @jacobkahn) - - [(#17378)](https://github.com/microsoft/vcpkg/pull/17378) [flashlight-cuda] update port to v0.3 (by @jacobkahn) -- boost-fusion `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- boost-nowide `1.75.0#0` -> `1.75.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) - - [(#16479)](https://github.com/microsoft/vcpkg/pull/16479) [many ports] Apply host dependencies (by @ras0219) -- vcpkg-cmake-config `#0` -> `#0` - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) - - [(#16774)](https://github.com/microsoft/vcpkg/pull/16774) [ci,vcpkg-cmake-*] remove host-only nature of vcpkg-cmake-* ports (by @strega-nil) -- boost-conversion `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- paho-mqtt `1.3.1#0` -> `1.3.5#0` - - [(#13680)](https://github.com/microsoft/vcpkg/pull/13680) [paho-mqtt] Update to version 1.3.5 (by @LilyWangL) - - [(#15569)](https://github.com/microsoft/vcpkg/pull/15569) [paho-mqtt] update to 1.3.8 (by @JonLiu1993) -- boost-detail `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- xorstr `2020-02-11#0` -> `2020-02-11#0` - - [(#15721)](https://github.com/microsoft/vcpkg/pull/15721) [xorstr] Update to 2020-11-29 (by @ghost) -- benchmark `1.5.2#0` -> `1.5.2#0` - - [(#14246)](https://github.com/microsoft/vcpkg/pull/14246) [vcpkg baseline] Clean up baseline, use Keyword Supports Part 2 (by @JackBoosY) -- cwalk `1.2.5#0` -> `1.2.5#0` - - [(#14801)](https://github.com/microsoft/vcpkg/pull/14801) [cwalk] Add new port (by @likle) -- mpfr `4.0.2-2#0` -> `4.1.0#0` - - [(#13081)](https://github.com/microsoft/vcpkg/pull/13081) [mpc/mpfr] Add new port / update mpfr (by @Neumann-A) -- xlnt `1.5.0#0` -> `1.5.0#1` - - [(#15645)](https://github.com/microsoft/vcpkg/pull/15645) [xlnt] Prevent macro redefinition (by @malirod) -- glfw3 `3.3.2#1` -> `3.3.2#1` - - [(#16166)](https://github.com/microsoft/vcpkg/pull/16166) [glfw3/glew] Fix pkgconfig (by @JackBoosY) - - [(#16892)](https://github.com/microsoft/vcpkg/pull/16892) [glfw3] Update to version 3.3.3 (by @barcharcraz) -- urdfdom-headers `1.0.5#0` -> `1.0.5#1` - - [(#14324)](https://github.com/microsoft/vcpkg/pull/14324) [ignition] Updates on various pkgs ???? (by @ahoarau) -- libftdi1 `1.4-1#0` -> `1.4-1#0` - - [(#15918)](https://github.com/microsoft/vcpkg/pull/15918) [libftdi1] update to 1.5 (#15917) (by @eloc3147) -- woff2 `1.0.2#0` -> `1.0.2#1` - - [(#16392)](https://github.com/microsoft/vcpkg/pull/16392) [woff2] fix for static linking and alternative compiler toolchains (by @jwtowner) -- openjpeg `2.3.1#2` -> `2.3.1#0` - - [(#15787)](https://github.com/microsoft/vcpkg/pull/15787) [ffmpeg] Add support for dav1d,fontconfig,freetype,fribidi,ilbc,modplug,opengl,openjpeg,libssh,tensorflow,tesseract,webp,libxml2 dependencies. (by @Sibras) - - [(#16661)](https://github.com/microsoft/vcpkg/pull/16661) [openjpeg] 16645 Fix compile w/features jp3d,jpip,jpwl,mj2 triplet x64-windows VS 2019 ver 16.9.1 (by @StarGate-One) -- pangolin `0.5#11` -> `0.5#12` - - [(#15593)](https://github.com/microsoft/vcpkg/pull/15593) [pangolin] Fix static build error (by @NancyLi1013) - - [(#15787)](https://github.com/microsoft/vcpkg/pull/15787) [ffmpeg] Add support for dav1d,fontconfig,freetype,fribidi,ilbc,modplug,opengl,openjpeg,libssh,tensorflow,tesseract,webp,libxml2 dependencies. (by @Sibras) - - [(#17014)](https://github.com/microsoft/vcpkg/pull/17014) [vcpkg baseline][pangolin] Add options to dependencies to avoid finding them automatically (by @JackBoosY) - - [(#17250)](https://github.com/microsoft/vcpkg/pull/17250) [vcpkg baseline][pangolin] Set CMAKE_DISABLE_FIND_PACKAGE_XX to ON (by @PhoebeHui) -- soil `2008.07.07-2#0` -> `2008.07.07-2#0` - - [(#17012)](https://github.com/microsoft/vcpkg/pull/17012) [soil] Update repository (by @NancyLi1013) -- boost-dynamic-bitset `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- libplist `1.3.6#0` -> `1.3.6#0` - - [(#13100)](https://github.com/microsoft/vcpkg/pull/13100) [glib up to gtk] update and make it work with meson (by @Neumann-A) -- boost-qvm `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- bcg729 `1.1.1#0` -> `1.1.1#0` - - [(#15322)](https://github.com/microsoft/vcpkg/pull/15322) [bcg729] New port (by @geraldcombs) -- monkeys-audio `5.48#0` -> `5.59#0` - - [(#14586)](https://github.com/microsoft/vcpkg/pull/14586) [vcpkg baseline][monkeys-audio] Update to 5.59 (by @NancyLi1013) - - [(#14913)](https://github.com/microsoft/vcpkg/pull/14913) [vcpkg baseline][monkeys-audio] Update to 565d. (by @Hoikas) - - [(#15359)](https://github.com/microsoft/vcpkg/pull/15359) [monkeys-audio] Update to 5.70 (by @c72578) -- sobjectizer `5.7.1#0` -> `5.7.2#0` - - [(#14844)](https://github.com/microsoft/vcpkg/pull/14844) [sobjectizer] update to v.5.7.2 (by @eao197) - - [(#15182)](https://github.com/microsoft/vcpkg/pull/15182) [sobjectizer] update to v.5.7.2.1 (by @eao197) - - [(#16230)](https://github.com/microsoft/vcpkg/pull/16230) [sobjectizer] update to v.5.7.2.2 (by @eao197) - - [(#16470)](https://github.com/microsoft/vcpkg/pull/16470) [sobjectizer] update to v5.7.2.3 (by @eao197) -- boost-multi-array `1.74.0#1` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- onednn `2.0#0` -> `2.0#0` - - [(#15068)](https://github.com/microsoft/vcpkg/pull/15068) [oneDNN] New port (by @jacobkahn) - - [(#15372)](https://github.com/microsoft/vcpkg/pull/15372) [onednn] Fix share path infix to match find_package() name (by @jacobkahn) -- ktx `4.0.0-beta5#0` -> `4.0.0-beta5#0` - - [(#15336)](https://github.com/microsoft/vcpkg/pull/15336) [KTX] Add port (by @stephenjust) - - [(#16289)](https://github.com/microsoft/vcpkg/pull/16289) [vcpkg baseline][ktx/otl] Update download hash (by @JackBoosY) -- magnum-plugins `2020.06#1` -> `2020.06#5` - - [(#15163)](https://github.com/microsoft/vcpkg/pull/15163) [magnum,magnum-plugins] Add vulkan and shaderconverter features (by @Squareys) - - [(#16245)](https://github.com/microsoft/vcpkg/pull/16245) [magnum,-plugins] Fix deployment of plugin types and incorrect removal of plugin lib dir on unix (by @Squareys) - - [(#16657)](https://github.com/microsoft/vcpkg/pull/16657) [magnum/magnum-plugins] fix magnum-plugins building all magnum dependencies (by @fran6co) - - [(#17016)](https://github.com/microsoft/vcpkg/pull/17016) [magnum,-plugins] Fix deprecated use of vcpkg_check_features (by @Squareys) -- kf5itemmodels `5.64.0#0` -> `5.64.0#0` - - [(#13467)](https://github.com/microsoft/vcpkg/pull/13467) [many ports] Update existing KF5 frameworks to 5.75 (by @wrobelda) -- parmetis `4.0.3-3#0` -> `4.0.3#4` - - [(#17410)](https://github.com/microsoft/vcpkg/pull/17410) [parmetis] Fix build on x64-linux. (by @grospelliergilles) -- string-theory `3.3#0` -> `3.4#0` - - [(#14439)](https://github.com/microsoft/vcpkg/pull/14439) [string-theory] Update to 3.4 (by @zrax) -- wt `4.4.0#0` -> `4.5.0#0` - - [(#15136)](https://github.com/microsoft/vcpkg/pull/15136) [wt] Update to 4.5.0 (by @RockinRoel) -- kf5widgetsaddons `5.64.0#0` -> `5.64.0#0` - - [(#13467)](https://github.com/microsoft/vcpkg/pull/13467) [many ports] Update existing KF5 frameworks to 5.75 (by @wrobelda) -- matroska `1.6.2#0` -> `1.6.2#0` - - [(#14794)](https://github.com/microsoft/vcpkg/pull/14794) [ebml/gppanel/matroska/polyhook2/unrar] Fix typos in CONTROL files (by @NancyLi1013) -- libbacktrace `#0` -> `#0` - - [(#16693)](https://github.com/microsoft/vcpkg/pull/16693) [libbacktrace] new port (by @autoantwort) -- boost-ublas `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- seal `3.5.9#0` -> `3.6.0#0` - - [(#14576)](https://github.com/microsoft/vcpkg/pull/14576) [seal] Update to version 3.6.0. Changed default features. (by @WeiDaiWD) - - [(#15015)](https://github.com/microsoft/vcpkg/pull/15015) [seal] Update to SEAL 3.6.1 (by @kiromaru) - - [(#16379)](https://github.com/microsoft/vcpkg/pull/16379) [seal] Updated SEAL version to 3.6.2. (by @WeiDaiWD) -- gts `0.7.6-3#0` -> `0.7.6-3#0` - - [(#13100)](https://github.com/microsoft/vcpkg/pull/13100) [glib up to gtk] update and make it work with meson (by @Neumann-A) -- boost-math `1.75.0#0` -> `1.75.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) - - [(#16479)](https://github.com/microsoft/vcpkg/pull/16479) [many ports] Apply host dependencies (by @ras0219) -- pybind11 `2.6.0#1` -> `2.6.0#3` - - [(#14510)](https://github.com/microsoft/vcpkg/pull/14510) [python3] Upgrade to 3.9.0 (by @Hoikas) - - [(#15221)](https://github.com/microsoft/vcpkg/pull/15221) [python3] Add vcpkg-cmake-wrapper. (by @Hoikas) - - [(#15507)](https://github.com/microsoft/vcpkg/pull/15507) [pybind11] Use vcpkg Python3. (by @Hoikas) -- ignition-cmake2 `2.2.0-1#0` -> `2.5.0#0` - - [(#13100)](https://github.com/microsoft/vcpkg/pull/13100) [glib up to gtk] update and make it work with meson (by @Neumann-A) - - [(#14324)](https://github.com/microsoft/vcpkg/pull/14324) [ignition] Updates on various pkgs ???? (by @ahoarau) -- marble `19.08.2#0` -> `19.08.2#0` - - [(#17341)](https://github.com/microsoft/vcpkg/pull/17341) [vcpkg baseline][marble] Disable find I18n (by @JackBoosY) - - [(#17492)](https://github.com/microsoft/vcpkg/pull/17492) [vcpkg baseline][marble] Disable dependency KF5 (by @JackBoosY) -- libtasn1 `#0` -> `#0` - - [(#14242)](https://github.com/microsoft/vcpkg/pull/14242) [many ports] Add GnuTLS and its dependencies (by @wrobelda) - - [(#17420)](https://github.com/microsoft/vcpkg/pull/17420) [Libtasn1] disable documentation (by @xandox) -- hdf5 `1.12.0#0` -> `1.12.0#1` - - [(#17371)](https://github.com/microsoft/vcpkg/pull/17371) [hdf5] threadsafe support (by @Thieum) -- prometheus-cpp `0.10.0#0` -> `0.11.0#0` - - [(#14792)](https://github.com/microsoft/vcpkg/pull/14792) [prometheus-cpp] Update to version 0.11.0 (by @gjasny) - - [(#16057)](https://github.com/microsoft/vcpkg/pull/16057) [prometheus-cpp] Update to version 0.12.1 (by @gjasny) - - [(#16643)](https://github.com/microsoft/vcpkg/pull/16643) [prometheus-cpp] Update to version 0.12.2 (by @gjasny) -- lcm `1.4.0#1` -> `1.4.0#0` - - [(#13100)](https://github.com/microsoft/vcpkg/pull/13100) [glib up to gtk] update and make it work with meson (by @Neumann-A) -- oatpp-mbedtls `1.2.0#1` -> `1.2.0#0` - - [(#14341)](https://github.com/microsoft/vcpkg/pull/14341) [oatpp] Add new port and vcpkg.json (by @mheyman) -- wangle `2020.10.19.00#0` -> `2020.10.19.00#1` - - [(#15400)](https://github.com/microsoft/vcpkg/pull/15400) [wangle] Fix dependency issue (by @PhoebeHui) -- spirv-headers `1.5.1#0` -> `1.5.1#0` - - [(#15831)](https://github.com/microsoft/vcpkg/pull/15831) [spirv-cross,spirv-headers,spirv-tools] 2021-01-15 update (by @barcharcraz) -- date `3.0.0#1` -> `3.0.0#2` - - [(#15994)](https://github.com/microsoft/vcpkg/pull/15994) [date] Fix vcpkg_fixup_cmake_targets for mingw (by @longnguyen2004) -- mapbox-geometry `#0` -> `#0` - - [(#16838)](https://github.com/microsoft/vcpkg/pull/16838) [mapbox-geometry,mapbox-polylabel,geojson-vt-cpp,geojson-cpp] new ports (by @mathisloge) -- boost-container-hash `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- boost-logic `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- concurrentqueue `1.0.2#0` -> `1.0.2#0` - - [(#16404)](https://github.com/microsoft/vcpkg/pull/16404) [concurrentqueue] Update to 1.0.3 (by @JonLiu1993) -- dmlc `2019-08-12-4#0` -> `2019-08-12#5` - - [(#15089)](https://github.com/microsoft/vcpkg/pull/15089) [libarchive+tesseract+opencv] add missing libarchiveConfig.cmake, fix tesseract downstream and unblock opencv CI (by @cenit) -- libjpeg-turbo `2.0.5#1` -> `2.0.5#4` - - [(#14483)](https://github.com/microsoft/vcpkg/pull/14483) [libjpeg-turbo] Enabled jpeg7 and jpeg8 APIs (by @Ziriax) - - [(#15196)](https://github.com/microsoft/vcpkg/pull/15196) [libjpeg-turbo/mozjpeg] Add conflict messages (by @NancyLi1013) - - [(#15234)](https://github.com/microsoft/vcpkg/pull/15234) [libjpeg-turbo] fix incompatibility for c11 and c17 (by @playgithub) - - [(#15735)](https://github.com/microsoft/vcpkg/pull/15735) [libjepg-turbo] Fix *.pc files (by @Neumann-A) - - [(#15936)](https://github.com/microsoft/vcpkg/pull/15936) [libjpeg-turbo] update to 2.0.6 (by @JonLiu1993) -- sdl2 `2.0.14#0` -> `2.0.14#0` - - [(#14417)](https://github.com/microsoft/vcpkg/pull/14417) [sdl2] apply upstream patch to fix macos vulkan fixes #13773 (by @jhs67) - - [(#14992)](https://github.com/microsoft/vcpkg/pull/14992) [sdl2] Don't propagate shared link options (by @JesseFarebro) - - [(#15398)](https://github.com/microsoft/vcpkg/pull/15398) [sdl2] Update to 2.0.14 (by @RT222) - - [(#15540)](https://github.com/microsoft/vcpkg/pull/15540) [sdl2] Fix improper replacement of -lSDL2main + remove IGNORE_FLAGS and SYSTEM_LIBRARIES (by @longnguyen2004) - - [(#16033)](https://github.com/microsoft/vcpkg/pull/16033) [sdl2] Fix vulkan feature dependencies (by @past-due) - - [(#16370)](https://github.com/microsoft/vcpkg/pull/16370) [sdl2] Update patch (by @NancyLi1013) - - [(#17106)](https://github.com/microsoft/vcpkg/pull/17106) [sdl2] Fix pthread detection on macOS (by @past-due) -- boost-mp11 `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- nnpack `#0` -> `#0` - - [(#16344)](https://github.com/microsoft/vcpkg/pull/16344) [nnpack] create a new port (by @luncliff) -- qt5-winextras `5.15.1#0` -> `5.15.2#0` - - [(#14678)](https://github.com/microsoft/vcpkg/pull/14678) [qt5] Update to 5.15.2 (by @Neumann-A) -- nana `1.7.4#0` -> `1.7.4#1` - - [(#15595)](https://github.com/microsoft/vcpkg/pull/15595) [nana] Fix fontconfig dependency (by @NancyLi1013) -- boost-tokenizer `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- boost-mpi `1.75.0#1` -> `1.75.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) - - [(#16479)](https://github.com/microsoft/vcpkg/pull/16479) [many ports] Apply host dependencies (by @ras0219) -- xmlsec `1.2.30#1` -> `1.2.30#1` - - [(#11776)](https://github.com/microsoft/vcpkg/pull/11776) [intl/gettext/fontconfig] update to native build system (by @Neumann-A) - - [(#14587)](https://github.com/microsoft/vcpkg/pull/14587) [xmlsec] Update to 1.2.31 (by @SvenPStarFinanz) -- boost-parameter-python `1.74.0#2` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- winreg `3.1.0#0` -> `4.0.0#0` - - [(#16765)](https://github.com/microsoft/vcpkg/pull/16765) [WinReg] update to v4.0.0 (by @JonLiu1993) - - [(#16871)](https://github.com/microsoft/vcpkg/pull/16871) [WinReg] Update to v4.1.0 (by @JonLiu1993) -- pkgconf `#0` -> `#0` - - [(#17488)](https://github.com/microsoft/vcpkg/pull/17488) [pkgconf] Add new port (by @Neumann-A) -- liblsl `1.13.0-b11-1#0` -> `1.13.1#0` - - [(#14566)](https://github.com/microsoft/vcpkg/pull/14566) [liblsl] Update to 1.13.1 (by @chausner) - - [(#16461)](https://github.com/microsoft/vcpkg/pull/16461) [liblsl] Update to 1.14.0 (by @chausner) -- sdformat9 `9.2.0-1#0` -> `9.4.0#0` - - [(#15720)](https://github.com/microsoft/vcpkg/pull/15720) [sdformat9] Update to 9.4.0 (by @traversaro) -- boost-fiber `1.75.0#2` -> `1.75.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) - - [(#16479)](https://github.com/microsoft/vcpkg/pull/16479) [many ports] Apply host dependencies (by @ras0219) -- boost-mpl `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- rapidcsv `#0` -> `#0` - - [(#16879)](https://github.com/microsoft/vcpkg/pull/16879) [rapidcsv] new port (by @autoantwort) -- opencv `4.3.0#1` -> `4.3.0#1` - - [(#15089)](https://github.com/microsoft/vcpkg/pull/15089) [libarchive+tesseract+opencv] add missing libarchiveConfig.cmake, fix tesseract downstream and unblock opencv CI (by @cenit) - - [(#15788)](https://github.com/microsoft/vcpkg/pull/15788) [quirc, opencv4] Build fixes from 2021-01-18 build (by @BillyONeal) - - [(#15859)](https://github.com/microsoft/vcpkg/pull/15859) [OpenCV] bump to 4.5.1 and to 3.4.13 (by @cenit) -- spirv-tools `2020.1#0` -> `2020.1#0` - - [(#15831)](https://github.com/microsoft/vcpkg/pull/15831) [spirv-cross,spirv-headers,spirv-tools] 2021-01-15 update (by @barcharcraz) - - [(#16038)](https://github.com/microsoft/vcpkg/pull/16038) [spirv-cross,spirv-tools] support iOS triplets (by @luncliff) -- zxing-cpp `3.3.3#8` -> `2020-12-2#0` - - [(#14918)](https://github.com/microsoft/vcpkg/pull/14918) [zxing-cpp] Update zxing-cpp and fix iconv dependency (by @JonLiu1993) -- doctest `2.4.0#0` -> `2.4.5#0` - - [(#16121)](https://github.com/microsoft/vcpkg/pull/16121) [doctest] Update to v2.4.5 (by @jharmer95) -- influxdb-cxx `#0` -> `#0` - - [(#16794)](https://github.com/microsoft/vcpkg/pull/16794) [Influxdb-cxx] add new port (by @autoantwort) -- marl `2020-10-10#0` -> `2020-10-10#0` - - [(#17459)](https://github.com/microsoft/vcpkg/pull/17459) [marl] update to latest version (by @JonLiu1993) -- boost-beast `1.74.0#2` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- robin-hood-hashing `3.9.0#0` -> `3.9.1#0` - - [(#14563)](https://github.com/microsoft/vcpkg/pull/14563) [robin-hood-hashing] Update to 3.9.1 (by @RT222) - - [(#16701)](https://github.com/microsoft/vcpkg/pull/16701) [robin-hood-hashing] update to 3.10.0 (by @Ryan-rsm-McKenzie) - - [(#16901)](https://github.com/microsoft/vcpkg/pull/16901) [robin-hood-hashing] Update to 3.11.1 (by @RT222) -- hiredis `1.0.0#0` -> `1.0.0#0` - - [(#14734)](https://github.com/microsoft/vcpkg/pull/14734) [hiredis] update to 1.0.0 (Fix #13256) (by @klalumiere) - - [(#16512)](https://github.com/microsoft/vcpkg/pull/16512) [hiredis] Fix include path (by @NancyLi1013) -- libmysql `8.0.20#1` -> `8.0.20#1` - - [(#14290)](https://github.com/microsoft/vcpkg/pull/14290) [libmysql/libmariadb] Export unofficial cmake targets (by @JackBoosY) - - [(#16426)](https://github.com/microsoft/vcpkg/pull/16426) [libmysql] Re-fix dependency openssl (by @JackBoosY) -- nlopt `2.6.2-1#0` -> `2.7.0#0` - - [(#15105)](https://github.com/microsoft/vcpkg/pull/15105) [NLopt] Update to 2.7.0 (by @rickertm) -- libzippp `4.0-1.7.3#2` -> `4.0-1.7.3#3` - - [(#15486)](https://github.com/microsoft/vcpkg/pull/15486) [libzippp] fix find lzma (by @StarGate-One) -- p-ranav-csv2 `2020-06-02#0` -> `2020-12-14#0` - - [(#15104)](https://github.com/microsoft/vcpkg/pull/15104) [ csv2 ]update to latest commit (by @gennesseaux) -- mpg123 `1.26.3#14` -> `1.26.3#0` - - [(#14444)](https://github.com/microsoft/vcpkg/pull/14444) [mpg123] Upgrade to 1.26.3 (by @evpobr) - - [(#16910)](https://github.com/microsoft/vcpkg/pull/16910) [mpg123] Upgrade to 1.26.3-1 (by @evpobr) - - [(#17074)](https://github.com/microsoft/vcpkg/pull/17074) [mpg123] Upgrade to 1.26.4 (by @evpobr) - - [(#17191)](https://github.com/microsoft/vcpkg/pull/17191) [mpg123] Upgrade to 1.26.5 (by @evpobr) -- uwebsockets `18.13.0#0` -> `18.13.0#0` - - [(#16496)](https://github.com/microsoft/vcpkg/pull/16496) [uWebSockets] update to 19.0.0 (by @JonLiu1993) - - [(#16672)](https://github.com/microsoft/vcpkg/pull/16672) [uWebSockets] updated to 19.0.0 alpha 5 (by @Phantomouse) -- aws-c-common `0.4.56#0` -> `0.4.56#0` - - [(#14246)](https://github.com/microsoft/vcpkg/pull/14246) [vcpkg baseline] Clean up baseline, use Keyword Supports Part 2 (by @JackBoosY) -- x264 `157-303c484ec828ed0#12` -> `157-303c484ec828ed0#14` - - [(#12936)](https://github.com/microsoft/vcpkg/pull/12936) [vcpkg/scripts] Add a way to get cmake compiler settings/flags (by @Neumann-A) - - [(#14556)](https://github.com/microsoft/vcpkg/pull/14556) [many ports] mingw support (by @longnguyen2004) - - [(#15769)](https://github.com/microsoft/vcpkg/pull/15769) [x264] Fix build failed on uwp (by @NancyLi1013) -- dav1d `0.8.1#0` -> `0.8.1#0` - - [(#15009)](https://github.com/microsoft/vcpkg/pull/15009) [dav1d] Add dav1d AV1 decoder port (by @RichLogan) - - [(#16916)](https://github.com/microsoft/vcpkg/pull/16916) [dav1d] Update to 0.8.2 (by @EwoutH) -- opensubdiv `3.4.3#0` -> `3.4.3#0` - - [(#16962)](https://github.com/microsoft/vcpkg/pull/16962) [opensubdiv] Remove debug/share folder (by @PhoebeHui) -- inja `3.0.0#0` -> `3.2.0#0` - - [(#16151)](https://github.com/microsoft/vcpkg/pull/16151) [inja] Update to v3.2.0 (by @matusnovak) -- boost-align `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- boost-poly-collection `1.74.0#1` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- glad `0.1.33-1#0` -> `0.1.33-1#0` - - [(#16742)](https://github.com/microsoft/vcpkg/pull/16742) [glad] Add features to support different configurations. (by @crud89) -- ncurses `6.2#0` -> `6.2#0` - - [(#17226)](https://github.com/microsoft/vcpkg/pull/17226) [ncurses] Add new port (by @Hoikas) -- websocketpp `0.8.2#0` -> `0.8.2#0` - - [(#16675)](https://github.com/microsoft/vcpkg/pull/16675) [websocketpp] Add features to build without Boost (by @joefocusrite) -- boost-signals2 `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- wil `2020-05-19#1` -> `2020-05-19#1` - - [(#15438)](https://github.com/microsoft/vcpkg/pull/15438) [wil] Use internal CMakeLists (by @JackBoosY) - - [(#16575)](https://github.com/microsoft/vcpkg/pull/16575) [wil] Updating WIL version to match its nuget package version (by @anaaru) -- mmloader `2020-05-15#0` -> `2020-05-15#0` - - [(#15151)](https://github.com/microsoft/vcpkg/pull/15151) [opentracing] Update VMs 2020-12 (by @BillyONeal) -- asiosdk `2.3.3-1#0` -> `2.3.3-1#0` - - [(#14245)](https://github.com/microsoft/vcpkg/pull/14245) [vcpkg baseline] Clean up baseline, use Keyword Supports Part 1 (by @JackBoosY) -- sciplot `#0` -> `#0` - - [(#15913)](https://github.com/microsoft/vcpkg/pull/15913) [sciplot] Add new port (by @CaeruleusAqua) -- commsdsl `3.6.0#0` -> `3.6.0#0` - - [(#14195)](https://github.com/microsoft/vcpkg/pull/14195) [comms] Add new ports (by @mathisloge) - - [(#14521)](https://github.com/microsoft/vcpkg/pull/14521) [comms ] update to the next version (by @mathisloge) - - [(#14691)](https://github.com/microsoft/vcpkg/pull/14691) [commsdsl] update to version 3.5.4 (by @mathisloge) - - [(#15138)](https://github.com/microsoft/vcpkg/pull/15138) [comms] update comms libs to latest version (by @mathisloge) - - [(#15159)](https://github.com/microsoft/vcpkg/pull/15159) [comms] fixes debug build configuration (by @mathisloge) - - [(#16415)](https://github.com/microsoft/vcpkg/pull/16415) [comms, commsdsl] update ports (by @mathisloge) - - [(#17581)](https://github.com/microsoft/vcpkg/pull/17581) [comms,commsdsl] update ports (by @mathisloge) -- 3fd `2.6.2#0` -> `2.6.3#0` - - [(#14528)](https://github.com/microsoft/vcpkg/pull/14528) [3fd] Update to 2.6.3, fix port (by @strega-nil) -- libsigcpp-3 `3.0.3#0` -> `3.0.3#0` - - [(#13100)](https://github.com/microsoft/vcpkg/pull/13100) [glib up to gtk] update and make it work with meson (by @Neumann-A) -- boost-type-traits `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- vamp-sdk `#0` -> `#0` - - [(#16883)](https://github.com/microsoft/vcpkg/pull/16883) [vamp-sdk] new package (by @abique) -- hpx `1.5.1#1` -> `1.6.0#0` - - [(#16264)](https://github.com/microsoft/vcpkg/pull/16264) [hpx] Update hpx to V1.6.0 (by @hkaiser) -- crfsuite `2019-07-21#0` -> `2019-07-21#0` - - [(#15785)](https://github.com/microsoft/vcpkg/pull/15785) [crfsuite] change /include/x.h => /include/crfsuite/x.h (by @BillyONeal) -- qt5-base `5.15.2#1` -> `5.15.2#4` - - [(#8524)](https://github.com/microsoft/vcpkg/pull/8524) Add option VCPKG_QMAKE_USE_NMAKE in vcpkg_build_qmake and install_qt (by @JackBoosY) - - [(#11776)](https://github.com/microsoft/vcpkg/pull/11776) [intl/gettext/fontconfig] update to native build system (by @Neumann-A) - - [(#14594)](https://github.com/microsoft/vcpkg/pull/14594) [qt5-base] fix brotli linkage and qml dlls deployment (by @Neumann-A) - - [(#14678)](https://github.com/microsoft/vcpkg/pull/14678) [qt5] Update to 5.15.2 (by @Neumann-A) - - [(#15005)](https://github.com/microsoft/vcpkg/pull/15005) [qt5] Fix linux dynamic build (by @dweckmann) - - [(#15170)](https://github.com/microsoft/vcpkg/pull/15170) [qt5-base] mysql plugin added (by @jepessen) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) - - [(#16280)](https://github.com/microsoft/vcpkg/pull/16280) qt5-base: misleading list of system packages required (by @wrobelda) - - [(#16386)](https://github.com/microsoft/vcpkg/pull/16386) [qt5-base] Add feature vulkan (by @JackBoosY) - - [(#16479)](https://github.com/microsoft/vcpkg/pull/16479) [many ports] Apply host dependencies (by @ras0219) - - [(#16659)](https://github.com/microsoft/vcpkg/pull/16659) [qt5-base] make libpq an optional dependency (by @autoantwort) - - [(#16954)](https://github.com/microsoft/vcpkg/pull/16954) [vcpkg baseline][qt5-base] Fix glib link issues on linux (by @Neumann-A) - - [(#17158)](https://github.com/microsoft/vcpkg/pull/17158) [qt5] Move qt5 headers into qt5 subdir (by @Neumann-A) -- nccl `2.4.6#0` -> `2.4.6#0` - - [(#14683)](https://github.com/microsoft/vcpkg/pull/14683) [nccl] New Port (by @jacobkahn) -- qt5-activeqt `5.15.1#0` -> `5.15.2#0` - - [(#14678)](https://github.com/microsoft/vcpkg/pull/14678) [qt5] Update to 5.15.2 (by @Neumann-A) -- catch2 `2.13.1#0` -> `2.13.1#1` - - [(#17271)](https://github.com/microsoft/vcpkg/pull/17271) [catch2] Fix share/catch2 directory name conflict (by @wildmichael) -- kf5itemviews `5.64.0#0` -> `5.64.0#0` - - [(#13467)](https://github.com/microsoft/vcpkg/pull/13467) [many ports] Update existing KF5 frameworks to 5.75 (by @wrobelda) -- speex `1.2.0#7` -> `1.2.0#8` - - [(#15855)](https://github.com/microsoft/vcpkg/pull/15855) [speex] Add linux and macOS support. (by @Hoikas) -- duktape `2.5.0#0` -> `2.5.0#1` - - [(#14666)](https://github.com/microsoft/vcpkg/pull/14666) [duktape] Add VERSION and SOVERSION properties CMake build (by @LRFLEW) -- bitsery `5.1.0#0` -> `5.2.1#0` - - [(#14722)](https://github.com/microsoft/vcpkg/pull/14722) [bitsery] Update to 5.2.1 (by @RT222) -- qt5-virtualkeyboard `5.15.1#0` -> `5.15.2#0` - - [(#14678)](https://github.com/microsoft/vcpkg/pull/14678) [qt5] Update to 5.15.2 (by @Neumann-A) -- qt5-serialport `5.15.1#0` -> `5.15.2#0` - - [(#14678)](https://github.com/microsoft/vcpkg/pull/14678) [qt5] Update to 5.15.2 (by @Neumann-A) -- xeus `0.24.1#1` -> `0.24.1#1` - - [(#14387)](https://github.com/microsoft/vcpkg/pull/14387) [xeus] remove openssl static build patch as it is no longer needed (by @mcmtroffaes) - - [(#14455)](https://github.com/microsoft/vcpkg/pull/14455) [xeus] update to 0.24.3 (by @SeekingMeaning) -- kf5plotting `5.74.0#0` -> `5.74.0#0` - - [(#13467)](https://github.com/microsoft/vcpkg/pull/13467) [many ports] Update existing KF5 frameworks to 5.75 (by @wrobelda) -- libyuv `fec9121#3` -> `fec9121#0` - - [(#17294)](https://github.com/microsoft/vcpkg/pull/17294) [libyuv] update to latest commit (by @JonLiu1993) -- arrow `1.0.1#1` -> `1.0.1#2` - - [(#14245)](https://github.com/microsoft/vcpkg/pull/14245) [vcpkg baseline] Clean up baseline, use Keyword Supports Part 1 (by @JackBoosY) - - [(#14395)](https://github.com/microsoft/vcpkg/pull/14395) [ZSTD] Update to 1.4.5 (by @Neumann-A) - - [(#15757)](https://github.com/microsoft/vcpkg/pull/15757) [Arrow] Update to 3.0.0 (by @GPSnoopy) -- glm `0.9.9.8#0` -> `0.9.9.8#0` - - [(#16429)](https://github.com/microsoft/vcpkg/pull/16429) [glm] Add namespace to export target (by @JackBoosY) -- charls `2.1.0-1#0` -> `2.2.0#0` - - [(#15857)](https://github.com/microsoft/vcpkg/pull/15857) [charls] update to 2.2.0 (by @JonLiu1993) -- boost-endian `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- raylib `3.5.0#3` -> `3.5.0#1` - - [(#15342)](https://github.com/microsoft/vcpkg/pull/15342) Raylib update to 3.5.0 (by @JonLiu1993) - - [(#15935)](https://github.com/microsoft/vcpkg/pull/15935) [raylib] Fix usage (by @NancyLi1013) -- bond `9.0.2#0` -> `9.0.2#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14450)](https://github.com/microsoft/vcpkg/pull/14450) [bond] update to 9.0.3 (by @SeekingMeaning) -- gamedev-framework `0.18.0#0` -> `0.18.1#0` - - [(#14482)](https://github.com/microsoft/vcpkg/pull/14482) [gamedev-framework] update to 0.18.1 (by @jube) - - [(#17445)](https://github.com/microsoft/vcpkg/pull/17445) [gamedev-framework] Update to 0.20.0 (by @ahugeat) -- openexr `2.5.0#1` -> `2.5.0#0` - - [(#15147)](https://github.com/microsoft/vcpkg/pull/15147) [openexr] Remove python dependency of openexr. (by @BillyONeal) -- qt5-androidextras `5.15.1#0` -> `5.15.2#0` - - [(#14678)](https://github.com/microsoft/vcpkg/pull/14678) [qt5] Update to 5.15.2 (by @Neumann-A) -- sdl2-image `2.0.5#0` -> `2.0.5#1` - - [(#14796)](https://github.com/microsoft/vcpkg/pull/14796) [sdl2-image] Fix usage (by @JackBoosY) -- gtk `3.22.19-4#0` -> `3.22.19-4#0` - - [(#13100)](https://github.com/microsoft/vcpkg/pull/13100) [glib up to gtk] update and make it work with meson (by @Neumann-A) -- boost-msm `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- restinio `0.6.11#0` -> `0.6.12#0` - - [(#14496)](https://github.com/microsoft/vcpkg/pull/14496) [restinio] update to v.0.6.12 (by @eao197) - - [(#15338)](https://github.com/microsoft/vcpkg/pull/15338) [restinio] update to v.0.6.13 (by @eao197) -- imgui `1.81#1` -> `1.81#4` - - [(#13899)](https://github.com/microsoft/vcpkg/pull/13899) [imgui] Add experimental docking feature (by @brukted) - - [(#14379)](https://github.com/microsoft/vcpkg/pull/14379) [imgui] Update to 1.79 (by @RT222) - - [(#15063)](https://github.com/microsoft/vcpkg/pull/15063) [imgui] Fix find dependencies (by @JackBoosY) - - [(#16239)](https://github.com/microsoft/vcpkg/pull/16239) upgrade imgui to v1.81 (by @BrianPeek) - - [(#16255)](https://github.com/microsoft/vcpkg/pull/16255) [imgui] change to correct dx binding implementation path (by @aizuon) - - [(#16268)](https://github.com/microsoft/vcpkg/pull/16268) [Imgui] Update docking-experimental and freetype features to 1.81 (by @RT222) - - [(#16727)](https://github.com/microsoft/vcpkg/pull/16727) [imgui] Update to 1.82 (by @RT222) -- boost-lockfree `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- libzip `1.7.3#1` -> `1.7.3#1` - - [(#15589)](https://github.com/microsoft/vcpkg/pull/15589) [libzip] Relative pkgconfig paths (by @adam-bloom) - - [(#17282)](https://github.com/microsoft/vcpkg/pull/17282) [libzip] fix dependency in libzip-config.cmake.in (by @NancyLi1013) -- elfio `3.8#0` -> `3.8#0` - - [(#17249)](https://github.com/microsoft/vcpkg/pull/17249) [elfio] Update elfio from 3.8 to 3.9 (by @schultetwin1) -- openal-soft `1.20.1#5` -> `1.20.1#6` - - [(#15634)](https://github.com/microsoft/vcpkg/pull/15634) [openal-soft] Fix issue with cmake config. (by @Hoikas) - - [(#15945)](https://github.com/microsoft/vcpkg/pull/15945) [openal-soft] Update to 1.21.1 (by @past-due) -- ocilib `4.7.1#0` -> `4.7.1#0` - - [(#16625)](https://github.com/microsoft/vcpkg/pull/16625) [ocilib] fix wrong solution filename (by @meastp) -- glbinding `3.1.0-2#0` -> `3.1.0#0` - - [(#15082)](https://github.com/microsoft/vcpkg/pull/15082) [glbinding] Improve usage information (by @ras0219) -- boost-bimap `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- libpng `1.6.37#12` -> `1.6.37#14` - - [(#14499)](https://github.com/microsoft/vcpkg/pull/14499) [freetype] Fix INTERFACE_LINK_LIBRARIES in exported cmake file (by @JackBoosY) - - [(#15002)](https://github.com/microsoft/vcpkg/pull/15002) [libpng] Fix cross-compilation on macOS (by @orudge) -- boost-callable-traits `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- happly `#0` -> `#0` - - [(#16788)](https://github.com/microsoft/vcpkg/pull/16788) [happly] add new port (by @autoantwort) -- libheif `1.7.0#1` -> `1.10.0#0` - - [(#14648)](https://github.com/microsoft/vcpkg/pull/14648) [libheif] update to 1.9.1 (by @JonLiu1993) - - [(#15416)](https://github.com/microsoft/vcpkg/pull/15416) [libheif] update to 1.10.0 (by @0xC0000054) -- pdal `1.7.1#9` -> `1.7.1#11` - - [(#14382)](https://github.com/microsoft/vcpkg/pull/14382) [kenlm, pdal] Fix const overload on Visual Studio 2019 version 16.8 (by @LilyWangL) - - [(#15750)](https://github.com/microsoft/vcpkg/pull/15750) [libgeotiff] Fix packagename via find_package (by @NancyLi1013) -- oatpp-mongo `1.2.0#0` -> `1.2.0#0` - - [(#14341)](https://github.com/microsoft/vcpkg/pull/14341) [oatpp] Add new port and vcpkg.json (by @mheyman) -- proj4 `7.2.1#2` -> `7.2.1#3` - - [(#14629)](https://github.com/microsoft/vcpkg/pull/14629) [proj] Added support for optionally building the tools (by @SNiLD) - - [(#14800)](https://github.com/microsoft/vcpkg/pull/14800) [Proj4] Update to 7.2.0 (by @longhuan2018) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) - - [(#15978)](https://github.com/microsoft/vcpkg/pull/15978) [proj4] Bump to proj 7.2.1 (by @rhuijben) - - [(#15985)](https://github.com/microsoft/vcpkg/pull/15985) [proj4] Copy over proj.pdb file on install (by @stefanuhrig) - - [(#16479)](https://github.com/microsoft/vcpkg/pull/16479) [many ports] Apply host dependencies (by @ras0219) -- boost-bind `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- toml11 `3.5.0#0` -> `3.5.0#1` - - [(#14723)](https://github.com/microsoft/vcpkg/pull/14723) [toml11] fixes installation (by @fran6co) -- boost-move `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- tomlplusplus `2.3.0#0` -> `2.3.0#1` - - [(#15365)](https://github.com/microsoft/vcpkg/pull/15365) update toml++ to v2.3.0 (by @marzer) - - [(#15609)](https://github.com/microsoft/vcpkg/pull/15609) delete linux from fail port from tomlplusplus (by @marshevms) -- libvpx `1.9.0#3` -> `1.9.0#7` - - [(#14545)](https://github.com/microsoft/vcpkg/pull/14545) [libvpx] switch from yasm to nasm (by @mcmtroffaes) - - [(#14556)](https://github.com/microsoft/vcpkg/pull/14556) [many ports] mingw support (by @longnguyen2004) - - [(#15787)](https://github.com/microsoft/vcpkg/pull/15787) [ffmpeg] Add support for dav1d,fontconfig,freetype,fribidi,ilbc,modplug,opengl,openjpeg,libssh,tensorflow,tesseract,webp,libxml2 dependencies. (by @Sibras) - - [(#15892)](https://github.com/microsoft/vcpkg/pull/15892) [libvpx] Fix arm-uwp builds for v142 toolset (by @jwtowner) - - [(#17287)](https://github.com/microsoft/vcpkg/pull/17287) [libvpx] Fix libvpx compilation (install process) (by @talregev) - - [(#17331)](https://github.com/microsoft/vcpkg/pull/17331) Update VMs, CMake to 3.20.1, CUDA to 11.3, and pwsh to 7.1.3 (by @BillyONeal) -- boost-tuple `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- minc `2.4.03#0` -> `2.4.03#1` - - [(#14716)](https://github.com/microsoft/vcpkg/pull/14716) [cmake] update to 3.19.2 (by @JackBoosY) -- vcpkg-pkgconfig-get-modules `#0` -> `#0` - - [(#16954)](https://github.com/microsoft/vcpkg/pull/16954) [vcpkg baseline][qt5-base] Fix glib link issues on linux (by @Neumann-A) -- boost-program-options `1.75.0#0` -> `1.75.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) - - [(#16479)](https://github.com/microsoft/vcpkg/pull/16479) [many ports] Apply host dependencies (by @ras0219) -- qt5-tools `5.15.1#1` -> `5.15.1#1` - - [(#14083)](https://github.com/microsoft/vcpkg/pull/14083) [qt5-tools] Patch windeployqt to locate icudtd correctly. (by @seanlis) - - [(#14678)](https://github.com/microsoft/vcpkg/pull/14678) [qt5] Update to 5.15.2 (by @Neumann-A) -- qt5-svg `5.15.1#0` -> `5.15.2#0` - - [(#14678)](https://github.com/microsoft/vcpkg/pull/14678) [qt5] Update to 5.15.2 (by @Neumann-A) -- pangomm `2.40.1#4` -> `2.40.1#4` - - [(#13100)](https://github.com/microsoft/vcpkg/pull/13100) [glib up to gtk] update and make it work with meson (by @Neumann-A) - - [(#15353)](https://github.com/microsoft/vcpkg/pull/15353) Build results from 2020-12-27 (by @BillyONeal) -- protobuf `3.14.0#1` -> `3.14.0#1` - - [(#14670)](https://github.com/microsoft/vcpkg/pull/14670) [protobuf] Update to 3.14.0 (by @JonLiu1993) - - [(#15246)](https://github.com/microsoft/vcpkg/pull/15246) [protobuf] Fix the default proto file path (by @JackBoosY) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) - - [(#16449)](https://github.com/microsoft/vcpkg/pull/16449) [protobuf] Update to 3.15.8 (by @yonik) - - [(#16479)](https://github.com/microsoft/vcpkg/pull/16479) [many ports] Apply host dependencies (by @ras0219) - - [(#16904)](https://github.com/microsoft/vcpkg/pull/16904) [vcpkg baseline][osgearth/gdal] Re-fix dependency gdal (by @JackBoosY) - - [(#16997)](https://github.com/microsoft/vcpkg/pull/16997) [protobuf] Fix deprecation warning in vcpkg_check_feature() (by @NancyLi1013) -- vtk-m `1.5.0#0` -> `1.5.0#1` - - [(#14884)](https://github.com/microsoft/vcpkg/pull/14884) [vcpkg baseline][vtk-m] fix the sha512 (by @strega-nil) -- simde `2019-06-05#0` -> `0.7.0#0` - - [(#15387)](https://github.com/microsoft/vcpkg/pull/15387) [simde] update to 0.7.0 (by @JonLiu1993) -- fbgemm `#0` -> `#0` - - [(#16346)](https://github.com/microsoft/vcpkg/pull/16346) [fbgemm] create a new port (by @luncliff) -- boost-static-assert `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- mp3lame `3.100#4` -> `3.100#6` - - [(#14556)](https://github.com/microsoft/vcpkg/pull/14556) [many ports] mingw support (by @longnguyen2004) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15058)](https://github.com/microsoft/vcpkg/pull/15058) [mp3lame] Fix lib suffix on Unix (by @NancyLi1013) -- wepoll `1.5.5#0` -> `1.5.8#0` - - [(#14456)](https://github.com/microsoft/vcpkg/pull/14456) [wepoll] update to 1.5.8 (by @SeekingMeaning) - - [(#14986)](https://github.com/microsoft/vcpkg/pull/14986) 2020-12-07 Build Fixes (by @BillyONeal) -- simdjson `0.5.0#0` -> `0.7.1#0` - - [(#15436)](https://github.com/microsoft/vcpkg/pull/15436) simdjson update to v0.7.1 (by @JonLiu1993) - - [(#16277)](https://github.com/microsoft/vcpkg/pull/16277) Updated 'simdjson' to v0.8.2 (by @jharmer95) - - [(#17200)](https://github.com/microsoft/vcpkg/pull/17200) [simdjson] Update to 0.9.2 (by @myd7349) -- ijg-libjpeg `9d#0` -> `9d#0` - - [(#14583)](https://github.com/microsoft/vcpkg/pull/14583) [ijg-libjpeg] add new port (by @luncliff) -- ffnvcodec `10.0.26.0#0` -> `10.0.26.0#1` - - [(#15787)](https://github.com/microsoft/vcpkg/pull/15787) [ffmpeg] Add support for dav1d,fontconfig,freetype,fribidi,ilbc,modplug,opengl,openjpeg,libssh,tensorflow,tesseract,webp,libxml2 dependencies. (by @Sibras) -- mdns `1.1#0` -> `1.1#0` - - [(#15142)](https://github.com/microsoft/vcpkg/pull/15142) [mdns] added new port (by @mathisloge) -- ginkgo `#0` -> `#0` - - [(#16536)](https://github.com/microsoft/vcpkg/pull/16536) [ginkgo] Create new port (by @upsj) -- usd `20.02-1#0` -> `20.08#0` - - [(#13687)](https://github.com/microsoft/vcpkg/pull/13687) [usd] fix dll path and update to 20.08 (by @ousttrue) -- nettle `3.6#4` -> `3.6#5` - - [(#13126)](https://github.com/microsoft/vcpkg/pull/13126) [vcpkg_fixup_pkgconfig] Handle spaces in path, do not validate individual libraries (by @ras0219) - - [(#15236)](https://github.com/microsoft/vcpkg/pull/15236) [gmp/nettle] Update to latest release revision (by @PhoebeHui) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) - - [(#17421)](https://github.com/microsoft/vcpkg/pull/17421) [Nettle] add cflags to build tools (by @xandox) -- frozen `1.0.0#0` -> `1.0.0#0` - - [(#17451)](https://github.com/microsoft/vcpkg/pull/17451) [frozen] Update to latest commit (by @Ryan-rsm-McKenzie) -- caf `0.17.6#1` -> `0.17.6#1` - - [(#14292)](https://github.com/microsoft/vcpkg/pull/14292) [caf] Add usage and vcpkg-cmake-wrapper (by @NancyLi1013) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) - - [(#16479)](https://github.com/microsoft/vcpkg/pull/16479) [many ports] Apply host dependencies (by @ras0219) -- azure-uamqp-c `2020-07-19#0` -> `2020-12-09#0` - - [(#15109)](https://github.com/microsoft/vcpkg/pull/15109) Azure-IoT-Sdk for C release 2020-12-09 (by @ewertons) -- avro-cpp `1.9.2#0` -> `1.9.2#0` - - [(#14246)](https://github.com/microsoft/vcpkg/pull/14246) [vcpkg baseline] Clean up baseline, use Keyword Supports Part 2 (by @JackBoosY) -- boost-function `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- nghttp2 `1.39.2-2#0` -> `1.42.0#0` - - [(#14862)](https://github.com/microsoft/vcpkg/pull/14862) [nghttp2] Update to 1.42.0. (by @geraldcombs) -- polyhook2 `2020-09-22#0` -> `2020-09-22#0` - - [(#14794)](https://github.com/microsoft/vcpkg/pull/14794) [ebml/gppanel/matroska/polyhook2/unrar] Fix typos in CONTROL files (by @NancyLi1013) - - [(#15537)](https://github.com/microsoft/vcpkg/pull/15537) [polyhook2]Update to the latest version (by @stevemk14ebr) -- cpprestsdk `2.10.16-3#0` -> `2.10.17#0` - - [(#15401)](https://github.com/microsoft/vcpkg/pull/15401) Update cpprestsdk to 2.10.17. (by @BillyONeal) - - [(#16065)](https://github.com/microsoft/vcpkg/pull/16065) [cpprestsdk] Bump version to 2.10.18 (by @barcharcraz) -- boost-integer `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- boost-iterator `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- devil `1.8.0#6` -> `1.8.0#7` - - [(#14793)](https://github.com/microsoft/vcpkg/pull/14793) [devil] Fix pkgconfig on Windows (by @JackBoosY) -- chromaprint `1.5.0#0` -> `1.5.0#0` - - [(#15986)](https://github.com/microsoft/vcpkg/pull/15986) [chromaprint] add new port with version 1.5.0 (by @Be-ing) - - [(#17331)](https://github.com/microsoft/vcpkg/pull/17331) Update VMs, CMake to 3.20.1, CUDA to 11.3, and pwsh to 7.1.3 (by @BillyONeal) -- boost-test `1.75.0#1` -> `1.75.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) - - [(#16479)](https://github.com/microsoft/vcpkg/pull/16479) [many ports] Apply host dependencies (by @ras0219) -- liblas `1.8.1#5` -> `1.8.1#6` - - [(#15750)](https://github.com/microsoft/vcpkg/pull/15750) [libgeotiff] Fix packagename via find_package (by @NancyLi1013) -- ffmpeg `4.3.2#0` -> `4.3.2#12` - - [(#14360)](https://github.com/microsoft/vcpkg/pull/14360) [ffmpeg] add if guard, fix library ordering on linux, minor clean up (by @mcmtroffaes) - - [(#14388)](https://github.com/microsoft/vcpkg/pull/14388) [ffmpeg] simplify openssl library search, and fix linux openssl feature linking (by @mcmtroffaes) - - [(#14547)](https://github.com/microsoft/vcpkg/pull/14547) [ffmpeg] use nasm instead of yasm (by @mcmtroffaes) - - [(#14556)](https://github.com/microsoft/vcpkg/pull/14556) [many ports] mingw support (by @longnguyen2004) - - [(#14626)](https://github.com/microsoft/vcpkg/pull/14626) [libpq/ffmpeg] Fix iconv/intl linkage not covered by CI (by @Neumann-A) - - [(#15127)](https://github.com/microsoft/vcpkg/pull/15127) [ffmpeg] fix up the pkgconfig files (by @JackBoosY) - - [(#15593)](https://github.com/microsoft/vcpkg/pull/15593) [pangolin] Fix static build error (by @NancyLi1013) - - [(#15787)](https://github.com/microsoft/vcpkg/pull/15787) [ffmpeg] Add support for dav1d,fontconfig,freetype,fribidi,ilbc,modplug,opengl,openjpeg,libssh,tensorflow,tesseract,webp,libxml2 dependencies. (by @Sibras) - - [(#16000)](https://github.com/microsoft/vcpkg/pull/16000) [ffmpeg] avfilter: fix dependencies and linux library ordering (by @mcmtroffaes) - - [(#16768)](https://github.com/microsoft/vcpkg/pull/16768) Upgrade ffmpeg to 4.3.2 (by @omartijn) - - [(#16882)](https://github.com/microsoft/vcpkg/pull/16882) [ffmpeg] Fix FindFFMPEG lib versions for building opencv[ffmpeg] (by @genevanmeter) - - [(#17236)](https://github.com/microsoft/vcpkg/pull/17236) [ffmpeg] no longer hardcode version strings in FindFFMPEG script (by @mcmtroffaes) - - [(#17287)](https://github.com/microsoft/vcpkg/pull/17287) [libvpx] Fix libvpx compilation (install process) (by @talregev) - - [(#17298)](https://github.com/microsoft/vcpkg/pull/17298) [ffmpeg] add -fPIC (by @cenit) - - [(#17467)](https://github.com/microsoft/vcpkg/pull/17467) [ffmpeg] avdevice xcb linking fix on linux (by @mcmtroffaes) - - [(#17531)](https://github.com/microsoft/vcpkg/pull/17531) [ffmpeg] add openh264 support (by @mcmtroffaes) -- atlmfc `0#0` -> `0#0` - - [(#14246)](https://github.com/microsoft/vcpkg/pull/14246) [vcpkg baseline] Clean up baseline, use Keyword Supports Part 2 (by @JackBoosY) -- boost-format `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- boost-gil `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- telnetpp `2.0-4#0` -> `2.1.2#0` - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) -- boolinq `2019-07-22#0` -> `2019-07-22#0` - - [(#17495)](https://github.com/microsoft/vcpkg/pull/17495) [boolinq] update to 3.0.1 (2020-07-29) (by @JonLiu1993) -- qt5-serialbus `5.15.1#0` -> `5.15.2#0` - - [(#14678)](https://github.com/microsoft/vcpkg/pull/14678) [qt5] Update to 5.15.2 (by @Neumann-A) -- boost-system `1.75.0#0` -> `1.75.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) - - [(#16479)](https://github.com/microsoft/vcpkg/pull/16479) [many ports] Apply host dependencies (by @ras0219) -- cgal `5.2#1` -> `5.2#3` - - [(#14605)](https://github.com/microsoft/vcpkg/pull/14605) CGAL: Update to 5.1.1 (by @maxGimeno) - - [(#15047)](https://github.com/microsoft/vcpkg/pull/15047) [CGAL] Upgrade to 5.2 (by @maxGimeno) - - [(#15860)](https://github.com/microsoft/vcpkg/pull/15860) [CGAL] switch dep to gmp instead of mpir (by @Neumann-A) - - [(#16592)](https://github.com/microsoft/vcpkg/pull/16592) [CGAL] Restore boost dependencies (by @maxGimeno) - - [(#17300)](https://github.com/microsoft/vcpkg/pull/17300) [CGAL] Fix the configuration file (by @maxGimeno) -- libde265 `1.0.5#0` -> `1.0.8#0` - - [(#14497)](https://github.com/microsoft/vcpkg/pull/14497) [libde265] Updated to v1.0.8 (by @JonLiu1993) -- libxml2 `2.9.10#1` -> `2.9.10#2` - - [(#14476)](https://github.com/microsoft/vcpkg/pull/14476) [libxslt] Fix install tools and pkgconfig (by @JackBoosY) - - [(#14991)](https://github.com/microsoft/vcpkg/pull/14991) [libxml2] build failure with x64-linux-dynamic (Fix #14990) (by @klalumiere) - - [(#15787)](https://github.com/microsoft/vcpkg/pull/15787) [ffmpeg] Add support for dav1d,fontconfig,freetype,fribidi,ilbc,modplug,opengl,openjpeg,libssh,tensorflow,tesseract,webp,libxml2 dependencies. (by @Sibras) - - [(#16726)](https://github.com/microsoft/vcpkg/pull/16726) [libxml2] Disable http and ftp on UWP (by @JackBoosY) - - [(#16897)](https://github.com/microsoft/vcpkg/pull/16897) [libxml2] add missing GNUInstallDirs to fix pc files (by @Neumann-A) - - [(#17389)](https://github.com/microsoft/vcpkg/pull/17389) [libxml2] Pass version to rc via configured file (by @dg0yt) -- vcpkg-cmake `#0` -> `#0` - - [(#16440)](https://github.com/microsoft/vcpkg/pull/16440) [scripts-audit] Rollup PR 2021-02-26 (by @strega-nil) - - [(#16468)](https://github.com/microsoft/vcpkg/pull/16468) [vcpkg-cmake] Fix typo in vcpkg_cmake_configure that prevented custom triplets from working (by @sylveon) - - [(#16774)](https://github.com/microsoft/vcpkg/pull/16774) [ci,vcpkg-cmake-*] remove host-only nature of vcpkg-cmake-* ports (by @strega-nil) -- pugixml `1.1#2` -> `1.11.1#0` - - [(#14813)](https://github.com/microsoft/vcpkg/pull/14813) [pugixml] Update to 1.11.1 (by @RT222) - - [(#15207)](https://github.com/microsoft/vcpkg/pull/15207) [pugixml] Update to 1.11.4 (by @c72578) -- nuklear `2020-09-14#0` -> `2021-03-18#0` - - [(#17082)](https://github.com/microsoft/vcpkg/pull/17082) [nuklear] Upgrade from 2020-09-14 to 2021-03-18 version and switch repo (by @SamuelMarks) -- cppmicroservices `3.4.0-1#0` -> `3.4.0#2` - - [(#15177)](https://github.com/microsoft/vcpkg/pull/15177) [cppmicroservices] Fix warning C4834 (by @Cheney-W) -- unrar `5.8.1#0` -> `5.8.1#0` - - [(#14794)](https://github.com/microsoft/vcpkg/pull/14794) [ebml/gppanel/matroska/polyhook2/unrar] Fix typos in CONTROL files (by @NancyLi1013) -- qt5-websockets `5.15.1#0` -> `5.15.2#0` - - [(#14678)](https://github.com/microsoft/vcpkg/pull/14678) [qt5] Update to 5.15.2 (by @Neumann-A) -- boost-process `1.74.0#2` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- libsoundio `2.0.0-3#0` -> `2.0.0-3#0` - - [(#16891)](https://github.com/microsoft/vcpkg/pull/16891) [libsoundio] Add support for linux backends (by @joefocusrite) -- oatpp `1.2.0#1` -> `1.2.0#0` - - [(#14341)](https://github.com/microsoft/vcpkg/pull/14341) [oatpp] Add new port and vcpkg.json (by @mheyman) -- boost-lexical-cast `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- quirc `1.1#1` -> `1.1#1` - - [(#15252)](https://github.com/microsoft/vcpkg/pull/15252) Fixed port of quirc - patch did no longer apply / modified to fix build (by @Markus87) - - [(#15788)](https://github.com/microsoft/vcpkg/pull/15788) [quirc, opencv4] Build fixes from 2021-01-18 build (by @BillyONeal) -- qt5-macextras `5.15.1#0` -> `5.15.2#0` - - [(#14678)](https://github.com/microsoft/vcpkg/pull/14678) [qt5] Update to 5.15.2 (by @Neumann-A) -- sail `0.9.0-pre10#0` -> `0.9.0-pre10#0` - - [(#14925)](https://github.com/microsoft/vcpkg/pull/14925) [sail] Add new port (by @happy-sea-fox) - - [(#15140)](https://github.com/microsoft/vcpkg/pull/15140) [sail] Enable static builds and more platforms (by @happy-sea-fox) - - [(#16806)](https://github.com/microsoft/vcpkg/pull/16806) [sail] Update 0.9.0-pre11 -> 0.9.0-pre12 (by @happy-sea-fox) -- osgearth `3#2` -> `3.1#0` - - [(#14976)](https://github.com/microsoft/vcpkg/pull/14976) [osgearth/rocksdb] Update to latest release (by @NancyLi1013) - - [(#15375)](https://github.com/microsoft/vcpkg/pull/15375) [osgearth] Fix x64-windows-static-md (by @ankurverma85) - - [(#15777)](https://github.com/microsoft/vcpkg/pull/15777) [osgearth] Make all find_packages required in effort to make this port less "flaky", and turn on in CI. (by @BillyONeal) - - [(#15900)](https://github.com/microsoft/vcpkg/pull/15900) [vcpkg baseline][osgearth] Fix and add dependency tinyxml (by @JackBoosY) -- boost-ptr-container `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- freetype `2.10.2#4` -> `2.10.2#7` - - [(#14499)](https://github.com/microsoft/vcpkg/pull/14499) [freetype] Fix INTERFACE_LINK_LIBRARIES in exported cmake file (by @JackBoosY) - - [(#14917)](https://github.com/microsoft/vcpkg/pull/14917) [freetype] Make zlib and brotli features (by @LRFLEW) - - [(#15112)](https://github.com/microsoft/vcpkg/pull/15112) [freetype] avoid target_link_libraries call since qt6 does not like it. (by @Neumann-A) - - [(#15334)](https://github.com/microsoft/vcpkg/pull/15334) [freetype] Update to 2.10.4 (by @kevinlul) -- podofo `0.9.6#12` -> `0.9.6#13` - - [(#15666)](https://github.com/microsoft/vcpkg/pull/15666) [podofo] Fix feature crypto (by @JackBoosY) - - [(#16373)](https://github.com/microsoft/vcpkg/pull/16373) [podofo] update to 0.9.7 (by @JonLiu1993) -- ignition-msgs5 `5.3.0#1` -> `5.3.0#2` - - [(#14324)](https://github.com/microsoft/vcpkg/pull/14324) [ignition] Updates on various pkgs ???? (by @ahoarau) - - [(#14730)](https://github.com/microsoft/vcpkg/pull/14730) [ignition-msgs*] Fix flaky CI tests for ignition-msgs* ports (take 2) (by @traversaro) -- boost-vmd `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- librsvg `2.40.20-2#0` -> `2.40.20-2#0` - - [(#13100)](https://github.com/microsoft/vcpkg/pull/13100) [glib up to gtk] update and make it work with meson (by @Neumann-A) -- cpp-httplib `0.7.0#0` -> `0.7.15#0` - - [(#14795)](https://github.com/microsoft/vcpkg/pull/14795) [cpp-httplib] Update to 0.7.15 (by @JonLiu1993) - - [(#15344)](https://github.com/microsoft/vcpkg/pull/15344) [cpp-httplib] Update to version 0.7.18 (by @iko1) - - [(#16591)](https://github.com/microsoft/vcpkg/pull/16591) [cpp-httplib] Upgrade to v0.8.4 (by @tosone) - - [(#17182)](https://github.com/microsoft/vcpkg/pull/17182) [cpp-httplib] Upgrade to v0.8.6 (by @PhilLab) -- azure-security-keyvault-common-cpp `4.0.0-beta.1#0` -> `4.0.0-beta.1#0` - - [(#17143)](https://github.com/microsoft/vcpkg/pull/17143) [azure-security-keyvault-*] Add new ports (by @azure-sdk) - - [(#17447)](https://github.com/microsoft/vcpkg/pull/17447) [azure-sdk-for-cpp] Upgrade vcpkg manifest files (by @antkmsft) -- sfml `2.5.1#9` -> `2.5.1#0` - - [(#15718)](https://github.com/microsoft/vcpkg/pull/15718) [sfml] Install usage and change version scheme to relaxed (by @ras0219) -- presentmon `1.6.0#0` -> `1.6.0#0` - - [(#16628)](https://github.com/microsoft/vcpkg/pull/16628) Port for PresentMon, windows-only ETW swap-chain presentation capture and analysis tool (by @aggieNick02) -- boost-exception `1.75.0#0` -> `1.75.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) - - [(#16479)](https://github.com/microsoft/vcpkg/pull/16479) [many ports] Apply host dependencies (by @ras0219) -- type-safe `0.2.1#0` -> `0.2.1#0` - - [(#15468)](https://github.com/microsoft/vcpkg/pull/15468) [type-safe] New port. (by @blaz-kranjc) -- collada-dom `2.5.0-3#0` -> `2.5.0#4` - - [(#16763)](https://github.com/microsoft/vcpkg/pull/16763) [collada-dom] Add REMOVE_RECURSE to solve DLLs error path (by @JonLiu1993) -- bde `2#0` -> `2#0` - - [(#14246)](https://github.com/microsoft/vcpkg/pull/14246) [vcpkg baseline] Clean up baseline, use Keyword Supports Part 2 (by @JackBoosY) -- librsync `2020-09-16#0` -> `2020-09-16#1` - - [(#15281)](https://github.com/microsoft/vcpkg/pull/15281) [librsync] fix librsync linkage (by @Amf1k) -- shogun `6.1.4#3` -> `6.1.4#4` - - [(#13448)](https://github.com/microsoft/vcpkg/pull/13448) [BLAS] add metaport (by @cenit) -- asyncplusplus `1.1#0` -> `1.1#0` - - [(#14245)](https://github.com/microsoft/vcpkg/pull/14245) [vcpkg baseline] Clean up baseline, use Keyword Supports Part 1 (by @JackBoosY) -- frugally-deep `#0` -> `#0` - - [(#17559)](https://github.com/microsoft/vcpkg/pull/17559) [new/updated port] frugally-deep and updated fplus (by @mathisloge) -- xtensor `0.21.6#0` -> `0.21.9#0` - - [(#14454)](https://github.com/microsoft/vcpkg/pull/14454) [xsimd][xtensor][xtl] Update to latest (by @SeekingMeaning) -- jwt-cpp `0.4.0#0` -> `0.4.0#0` - - [(#16799)](https://github.com/microsoft/vcpkg/pull/16799) [jwt-cpp] update to v0.5.0 (by @prince-chrismc) -- libigl `2.2.0#2` -> `2.2.0#4` - - [(#14376)](https://github.com/microsoft/vcpkg/pull/14376) [libigl] Fix dynamic build and enable header-only mode (by @FabienPean) - - [(#14888)](https://github.com/microsoft/vcpkg/pull/14888) [libigl] Always install as header-only library (by @FabienPean) -- boost-polygon `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- libiconv `1.16#5` -> `1.16#8` - - [(#11776)](https://github.com/microsoft/vcpkg/pull/11776) [intl/gettext/fontconfig] update to native build system (by @Neumann-A) - - [(#15606)](https://github.com/microsoft/vcpkg/pull/15606) [boost-locale] android build (by @xandox) - - [(#15771)](https://github.com/microsoft/vcpkg/pull/15771) [libiconv] Updated typo in iconv share files location (by @ludekvodicka) -- boost-convert `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- sentry-native `0.4.4#1` -> `0.4.4#1` - - [(#14349)](https://github.com/microsoft/vcpkg/pull/14349) [sentry-native] Disable warning C5105 (by @LilyWangL) - - [(#14541)](https://github.com/microsoft/vcpkg/pull/14541) [sentry-native] Update to version 0.4.4 (by @AenBleidd) - - [(#15042)](https://github.com/microsoft/vcpkg/pull/15042) [sentry-native] Fix sentry-config-cmake.in (by @JackBoosY) - - [(#15790)](https://github.com/microsoft/vcpkg/pull/15790) [sentry-native] Update to 0.4.5 (by @AenBleidd) - - [(#15875)](https://github.com/microsoft/vcpkg/pull/15875) [sentry-native] Update to 0.4.6 (by @AenBleidd) - - [(#16021)](https://github.com/microsoft/vcpkg/pull/16021) [sentry-native] Update to 0.4.7 (by @AenBleidd) - - [(#16550)](https://github.com/microsoft/vcpkg/pull/16550) [sentry-native] Update to 0.4.8 (by @AenBleidd) - - [(#17413)](https://github.com/microsoft/vcpkg/pull/17413) [sentry-native] Update to 0.4.9 (by @AenBleidd) -- llvm `11.0.0#1` -> `11.0.0#7` - - [(#13998)](https://github.com/microsoft/vcpkg/pull/13998) [llvm] update to 11.0.0 (by @yurybura) - - [(#14399)](https://github.com/microsoft/vcpkg/pull/14399) [llvm] install tools in tools/llvm (by @strega-nil) - - [(#16232)](https://github.com/microsoft/vcpkg/pull/16232) [llvm] update to 11.1.0, add features and fix issues (by @yurybura) - - [(#16294)](https://github.com/microsoft/vcpkg/pull/16294) [llvm] Fix resource path when building tools (by @JackBoosY) - - [(#16877)](https://github.com/microsoft/vcpkg/pull/16877) [llvm] add features enable-{eh,ffi,bindings,terminfo,threads} (by @abique) -- bitmagic `6.4.0#0` -> `7.2.0#0` - - [(#17223)](https://github.com/microsoft/vcpkg/pull/17223) Update bitmagic version to 7.2.0 (by @klalumiere) -- gdcm `3.0.7#0` -> `3.0.7#1` - - [(#15089)](https://github.com/microsoft/vcpkg/pull/15089) [libarchive+tesseract+opencv] add missing libarchiveConfig.cmake, fix tesseract downstream and unblock opencv CI (by @cenit) -- qt5-networkauth `5.15.1#0` -> `5.15.2#0` - - [(#14678)](https://github.com/microsoft/vcpkg/pull/14678) [qt5] Update to 5.15.2 (by @Neumann-A) -- jsonnet `0.16.0#1` -> `0.16.0#2` - - [(#16335)](https://github.com/microsoft/vcpkg/pull/16335) [jsonnet] Incorporate md5.cpp into jsonnet library (by @tetsuh) -- google-cloud-cpp `1.24.0#0` -> `1.24.0#0` - - [(#14375)](https://github.com/microsoft/vcpkg/pull/14375) [google-cloud-cpp] Update to the v1.20.0 release (by @coryan) - - [(#14886)](https://github.com/microsoft/vcpkg/pull/14886) [google-cloud-cpp] update to latest release (v1.21.0) (by @coryan) - - [(#15510)](https://github.com/microsoft/vcpkg/pull/15510) [google-cloud-cpp] update to latest release (v1.22.0) (by @coryan) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) - - [(#15669)](https://github.com/microsoft/vcpkg/pull/15669) [google-cloud-cpp] update to v1.23.0 (by @coryan) - - [(#16001)](https://github.com/microsoft/vcpkg/pull/16001) [google-cloud-cpp] update to the latest release (v1.24.0) (by @coryan) - - [(#16162)](https://github.com/microsoft/vcpkg/pull/16162) [google-cloud-cpp] populate license field (by @coryan) - - [(#16177)](https://github.com/microsoft/vcpkg/pull/16177) [google-cloud-cpp] use 'version' for version numbers (by @coryan) - - [(#16477)](https://github.com/microsoft/vcpkg/pull/16477) [google-cloud-cpp] update to latest release (v1.25.0) (by @coryan) - - [(#16479)](https://github.com/microsoft/vcpkg/pull/16479) [many ports] Apply host dependencies (by @ras0219) - - [(#17027)](https://github.com/microsoft/vcpkg/pull/17027) [google-cloud-cpp] update to the latest release (v1.26.0) (by @coryan) -- oatpp-postgresql `1.2.0#0` -> `1.2.0#0` - - [(#14341)](https://github.com/microsoft/vcpkg/pull/14341) [oatpp] Add new port and vcpkg.json (by @mheyman) -- boost-geometry `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- libcroco `0.6.13#2` -> `0.6.13#2` - - [(#11776)](https://github.com/microsoft/vcpkg/pull/11776) [intl/gettext/fontconfig] update to native build system (by @Neumann-A) - - [(#13100)](https://github.com/microsoft/vcpkg/pull/13100) [glib up to gtk] update and make it work with meson (by @Neumann-A) -- phnt `2019-05-01#0` -> `2019-05-01#0` - - [(#15722)](https://github.com/microsoft/vcpkg/pull/15722) [phnt] Update to 2020-12-21 (by @ghost) -- kf5archive `5.74.0#1` -> `5.74.0#1` - - [(#13467)](https://github.com/microsoft/vcpkg/pull/13467) [many ports] Update existing KF5 frameworks to 5.75 (by @wrobelda) - - [(#15314)](https://github.com/microsoft/vcpkg/pull/15314) fix licensingfile of kf5archive (by @Hendiadyoin1) -- fxdiv `2021-02-21#0` -> `2021-02-21#0` - - [(#16341)](https://github.com/microsoft/vcpkg/pull/16341) [fxdiv] create a new port (by @luncliff) -- minimp3 `2019-07-24-1#0` -> `2020-12-25#0` - - [(#15295)](https://github.com/microsoft/vcpkg/pull/15295) [minimp3] update to 2020-11-27 (by @JonLiu1993) -- boost-optional `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- boost-metaparse `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- boost-uuid `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- libwebsockets `4.1.3#0` -> `4.1.6#0` - - [(#16767)](https://github.com/microsoft/vcpkg/pull/16767) [libwebsockets] Update to v4.1.6 (by @657870) - - [(#17003)](https://github.com/microsoft/vcpkg/pull/17003) [libwebsockets] Fix usage, export include path (by @JackBoosY) - - [(#17253)](https://github.com/microsoft/vcpkg/pull/17253) [libwebsockets] Update dependency (by @NancyLi1013) -- azure-uhttp-c `2020-07-19#0` -> `2020-12-09#0` - - [(#15109)](https://github.com/microsoft/vcpkg/pull/15109) Azure-IoT-Sdk for C release 2020-12-09 (by @ewertons) -- zlib `1.2.11#9` -> `1.2.11#10` - - [(#15725)](https://github.com/microsoft/vcpkg/pull/15725) [aws-cpp-sdk] [zlib] [openssl] [curl] Fix zlib, OpenSSL, curl and AWS SDK for Android (by @ahmedyarub) -- libcuckoo `2018-12-24-1#0` -> `0.3#0` - - [(#14462)](https://github.com/microsoft/vcpkg/pull/14462) [libcuckoo] Update version to v0.3 (by @westfly) -- opencv2 `2.4.13.7#3` -> `2.4.13.7#5` - - [(#12785)](https://github.com/microsoft/vcpkg/pull/12785) [OpenCV] fix compatibility with VTK9 (by @cenit) - - [(#15089)](https://github.com/microsoft/vcpkg/pull/15089) [libarchive+tesseract+opencv] add missing libarchiveConfig.cmake, fix tesseract downstream and unblock opencv CI (by @cenit) -- libgnutls `#0` -> `#0` - - [(#14242)](https://github.com/microsoft/vcpkg/pull/14242) [many ports] Add GnuTLS and its dependencies (by @wrobelda) - - [(#16810)](https://github.com/microsoft/vcpkg/pull/16810) [libgwenhywfar] new port (by @wrobelda) -- boost-units `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- cub `1.8.0-1#0` -> `1.8.0-1#0` - - [(#17355)](https://github.com/microsoft/vcpkg/pull/17355) [cub] update to 1.12.0 (by @JonLiu1993) -- llgl `2019-08-15#0` -> `2019-08-15#1` - - [(#15366)](https://github.com/microsoft/vcpkg/pull/15366) [LLGL] installs header files in the wrong directory (by @JonLiu1993) -- halide `10.0.0#0` -> `11.0.1#0` - - [(#13448)](https://github.com/microsoft/vcpkg/pull/13448) [BLAS] add metaport (by @cenit) - - [(#16246)](https://github.com/microsoft/vcpkg/pull/16246) [halide] Update Halide to 11.0.1 (by @alexreinking) -- boost-sort `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- boost-lambda `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- soqt `1.6.0-1#0` -> `1.6.0#2` - - [(#15384)](https://github.com/microsoft/vcpkg/pull/15384) [soqt] Use vcpkg_from_github. (by @BillyONeal) -- fastcdr `1.0.15#0` -> `1.0.15#0` - - [(#17112)](https://github.com/microsoft/vcpkg/pull/17112) [fastcdr] Fix support Linux (by @NancyLi1013) -- amqpcpp `4.1.7#0` -> `4.3.11#0` - - [(#16354)](https://github.com/microsoft/vcpkg/pull/16354) [amqpcpp] update to 4.3.11 (by @JonLiu1993) -- io2d `2020-09-14#1` -> `2020-09-14#1` - - [(#11776)](https://github.com/microsoft/vcpkg/pull/11776) [intl/gettext/fontconfig] update to native build system (by @Neumann-A) - - [(#13100)](https://github.com/microsoft/vcpkg/pull/13100) [glib up to gtk] update and make it work with meson (by @Neumann-A) -- boost-assign `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- ampl-mp `2020-11-11#0` -> `2020-11-11#0` - - [(#14245)](https://github.com/microsoft/vcpkg/pull/14245) [vcpkg baseline] Clean up baseline, use Keyword Supports Part 1 (by @JackBoosY) - - [(#14518)](https://github.com/microsoft/vcpkg/pull/14518) [ampl-mp] Update version, separate port ampl-asl and fix arm build (by @JackBoosY) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) - - [(#16479)](https://github.com/microsoft/vcpkg/pull/16479) [many ports] Apply host dependencies (by @ras0219) -- armadillo `10.1.0#1` -> `10.1.0#1` - - [(#13448)](https://github.com/microsoft/vcpkg/pull/13448) [BLAS] add metaport (by @cenit) - - [(#15677)](https://github.com/microsoft/vcpkg/pull/15677) [vcpkg] Miscellaneous internal improvements extracted from #15424 (by @ras0219) - - [(#15973)](https://github.com/microsoft/vcpkg/pull/15973) [vcpkg baseline][armadillo] Update to 10.2.0 and also update the repository (by @NancyLi1013) - - [(#17297)](https://github.com/microsoft/vcpkg/pull/17297) [armadillo] update to <10.4.0> (by @JonLiu1993) -- opentracing `1.6.0#0` -> `1.6.0#0` - - [(#15151)](https://github.com/microsoft/vcpkg/pull/15151) [opentracing] Update VMs 2020-12 (by @BillyONeal) -- libjuice `0.5.2#0` -> `0.6.0#0` - - [(#14213)](https://github.com/microsoft/vcpkg/pull/14213) [libjuice] Update libjuice for libdatachannel port. (by @Nemirtingas) - - [(#17076)](https://github.com/microsoft/vcpkg/pull/17076) Update libjuice to 0.7.1 to update libdatachannel (by @Nemirtingas) -- argparse `2.1#0` -> `2.1#0` - - [(#16527)](https://github.com/microsoft/vcpkg/pull/16527) [argparse] Update to the latest commit (by @JonLiu1993) -- microsoft-signalr `0.1.0-alpha1#2` -> `0.1.0-alpha1#2` - - [(#14872)](https://github.com/microsoft/vcpkg/pull/14872) [microsoft-signalr] Fix build error on Linux (by @NancyLi1013) - - [(#16885)](https://github.com/microsoft/vcpkg/pull/16885) [microsoft-signalr] Update port with new version and find_package support (by @BrennanConroy) -- osg `3.6.5#2` -> `3.6.5#7` - - [(#11776)](https://github.com/microsoft/vcpkg/pull/11776) [intl/gettext/fontconfig] update to native build system (by @Neumann-A) - - [(#14790)](https://github.com/microsoft/vcpkg/pull/14790) [osg] Update dependency (by @NancyLi1013) - - [(#15044)](https://github.com/microsoft/vcpkg/pull/15044) [osg] build failure (by @JonLiu1993) - - [(#15374)](https://github.com/microsoft/vcpkg/pull/15374) [osg] fix x64-windows-static-md builds (by @ankurverma85) - - [(#15375)](https://github.com/microsoft/vcpkg/pull/15375) [osgearth] Fix x64-windows-static-md (by @ankurverma85) -- bext-di `1.2.0#0` -> `1.2.0#0` - - [(#16302)](https://github.com/microsoft/vcpkg/pull/16302) [bext-di] Rename `boost-di` to `bext-di` (by @krzysztof-jusiak) -- libsndfile `1.0.30#0` -> `1.0.31#0` - - [(#15953)](https://github.com/microsoft/vcpkg/pull/15953) [libsndfile] Update to 1.0.31 (by @evpobr) -- outcome `2.1.3#0` -> `2.2.0-b9e664fb#0` - - [(#15603)](https://github.com/microsoft/vcpkg/pull/15603) [outcome] Replace Outcome single header based port with full fat cmake install port (by @ned14) - - [(#17362)](https://github.com/microsoft/vcpkg/pull/17362) [Outcome] update to v2.2.0 release. (by @ned14) -- libcopp `1.3.2#0` -> `1.3.3#0` - - [(#14981)](https://github.com/microsoft/vcpkg/pull/14981) [libcopp] update to 1.3.3 (by @owent) - - [(#14997)](https://github.com/microsoft/vcpkg/pull/14997) [libcopp] Update to 1.3.4 (#14996) (by @owent) -- tiff `4.1.0#1` -> `4.1.0#2` - - [(#15734)](https://github.com/microsoft/vcpkg/pull/15734) [tiff] add vcpkg_fixup_pkgconfig for tiff (by @Neumann-A) - - [(#16610)](https://github.com/microsoft/vcpkg/pull/16610) [tiff] support zstd compression in TIFF image files (take 2) (by @ghesketh) -- tool-meson `0.55.3#0` -> `0.56.0#0` - - [(#12945)](https://github.com/microsoft/vcpkg/pull/12945) [meson|scripts] update scripts (by @Neumann-A) - - [(#14344)](https://github.com/microsoft/vcpkg/pull/14344) [tool-meson] Update to 0.56.0 (by @c72578) - - [(#15200)](https://github.com/microsoft/vcpkg/pull/15200) [tool-meson] Rev vcpkg's meson build (by @RichLogan) -- fast-float `0.8.0#0` -> `0.8.0#0` - - [(#16144)](https://github.com/microsoft/vcpkg/pull/16144) [fast-float] Add new port (by @georg-emg) -- physfs `3.0.2#0` -> `3.0.2#0` - - [(#15637)](https://github.com/microsoft/vcpkg/pull/15637) [physfs] Enable arm64 for non-Windows targets (by @past-due) - - [(#15684)](https://github.com/microsoft/vcpkg/pull/15684) [physfs] Fix arm64-windows (by @past-due) -- boost-contract `1.75.0#0` -> `1.75.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) - - [(#16479)](https://github.com/microsoft/vcpkg/pull/16479) [many ports] Apply host dependencies (by @ras0219) -- open62541 `1.1.2#0` -> `1.1.2#0` - - [(#16969)](https://github.com/microsoft/vcpkg/pull/16969) [open62541] add amalgamation feature (by @Neumann-A) -- hedley `2019-05-08-1#0` -> `14#0` - - [(#15240)](https://github.com/microsoft/vcpkg/pull/15240) [Hedley] Update to v14 (by @pratikpc) -- rtabmap `0.20.3#0` -> `0.20.3#0` - - [(#14299)](https://github.com/microsoft/vcpkg/pull/14299) [rtabmap] New port (by @seanyen) - - [(#14400)](https://github.com/microsoft/vcpkg/pull/14400) [vcpkg baseline] [rtabmap] Set option dependencies OFF (by @PhoebeHui) - - [(#14426)](https://github.com/microsoft/vcpkg/pull/14426) [vcpkg baseline][rtabmap] Fix dependency issue when build tools (by @PhoebeHui) -- leptonica `1.80.0#1` -> `1.80.0#2` - - [(#14655)](https://github.com/microsoft/vcpkg/pull/14655) [leptonica] add missing dependency (by @cenit) - - [(#16226)](https://github.com/microsoft/vcpkg/pull/16226) [leptonica] now all dependencies have their own find_dependency... (by @cenit) -- oatpp-consul `1.2.0#1` -> `1.2.0#0` - - [(#14341)](https://github.com/microsoft/vcpkg/pull/14341) [oatpp] Add new port and vcpkg.json (by @mheyman) -- box2d `2.4.0#0` -> `2.4.0#0` - - [(#16322)](https://github.com/microsoft/vcpkg/pull/16322) [box2d] update to 2.4.1 (by @JonLiu1993) -- boost `1.74.0#4` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- boost-serialization `1.75.0#0` -> `1.75.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) - - [(#16479)](https://github.com/microsoft/vcpkg/pull/16479) [many ports] Apply host dependencies (by @ras0219) -- ompl `1.5.0#1` -> `1.5.1#0` - - [(#15276)](https://github.com/microsoft/vcpkg/pull/15276) [ompl] upgrade to v1.5.1 (by @seanyen) -- liblzma `5.2.5#1` -> `5.2.5#2` - - [(#14615)](https://github.com/microsoft/vcpkg/pull/14615) [liblzma] use upstream CMakeLists.txt + Add pkgconfig. (by @Neumann-A) -- coin `4.0.0#1` -> `4.0.0#2` - - [(#15125)](https://github.com/microsoft/vcpkg/pull/15125) [coin] x64-windows-statid-md fixes (by @ankurverma85) -- gmp `6.2.1#0` -> `6.2.1#0` - - [(#13081)](https://github.com/microsoft/vcpkg/pull/13081) [mpc/mpfr] Add new port / update mpfr (by @Neumann-A) - - [(#15236)](https://github.com/microsoft/vcpkg/pull/15236) [gmp/nettle] Update to latest release revision (by @PhoebeHui) - - [(#15957)](https://github.com/microsoft/vcpkg/pull/15957) [gmp] correct supports field to run CI for other platforms (by @Neumann-A) - - [(#17264)](https://github.com/microsoft/vcpkg/pull/17264) [Gmp] add cflags to build commands for compiletime tools (by @xandox) -- boost-accumulators `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- openmpi `4.0.3#3` -> `4.1.0#0` - - [(#17026)](https://github.com/microsoft/vcpkg/pull/17026) Openmpi keep -isystem flags in configure scripts (by @xandox) -- civetweb `1.13#0` -> `1.13#1` - - [(#15168)](https://github.com/microsoft/vcpkg/pull/15168) [civetweb] Disable extensive log output for debug builds (by @gjasny) -- hazelcast-cpp-client `#0` -> `#0` - - [(#16235)](https://github.com/microsoft/vcpkg/pull/16235) [hazelcast-cpp-client] Add new port (by @ihsandemir) - - [(#16593)](https://github.com/microsoft/vcpkg/pull/16593) [hazelcast-cpp-client] New version update to 4.0.1 (by @ihsandemir) -- boost-signals `1.68.0-1#0` -> `1.68.0-1#0` - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) -- libmariadb `3.1.10#1` -> `3.1.10#5` - - [(#14290)](https://github.com/microsoft/vcpkg/pull/14290) [libmysql/libmariadb] Export unofficial cmake targets (by @JackBoosY) - - [(#14533)](https://github.com/microsoft/vcpkg/pull/14533) [libmariadb] Export target mariadbclient (by @JackBoosY) - - [(#14763)](https://github.com/microsoft/vcpkg/pull/14763) [poco] Fix dependency libmariadb (by @JackBoosY) - - [(#15699)](https://github.com/microsoft/vcpkg/pull/15699) [libmariadb] Fix compiling on ARM64 (by @kotori2) - - [(#17004)](https://github.com/microsoft/vcpkg/pull/17004) [libmariadb] update to the 3.1.12 (by @JonLiu1993) - - [(#17113)](https://github.com/microsoft/vcpkg/pull/17113) [libmariadb] Fix build error with cmake 3.20.0 (by @NancyLi1013) -- freeglut `3.2.1-4#0` -> `3.2.1#5` - - [(#16911)](https://github.com/microsoft/vcpkg/pull/16911) [freeglut] Don't enforce x64 when the compiler is 64 bit (by @davidebeatrici) -- boost-di `1.1.0-1#0` -> `1.2.0#0` - - [(#15286)](https://github.com/microsoft/vcpkg/pull/15286) [boost-di] Update to 1.2.0 (by @PhoebeHui) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- speexdsp `1.2.0#3` -> `1.2.0#5` - - [(#14758)](https://github.com/microsoft/vcpkg/pull/14758) [speexdsp] Update CMake script for macOS/Linux (by @LRFLEW) - - [(#15036)](https://github.com/microsoft/vcpkg/pull/15036) [speexdsp] Fix include directories for Linux builds (by @LRFLEW) - - [(#15585)](https://github.com/microsoft/vcpkg/pull/15585) [speexdsp] Configure and install speexdsp.pc (by @adam-bloom) -- ignition-modularscripts `2020-05-16#2` -> `2020-11-23#0` - - [(#14730)](https://github.com/microsoft/vcpkg/pull/14730) [ignition-msgs*] Fix flaky CI tests for ignition-msgs* ports (take 2) (by @traversaro) -- leaf `0.2.2#0` -> `0.2.2#0` - - [(#15353)](https://github.com/microsoft/vcpkg/pull/15353) Build results from 2020-12-27 (by @BillyONeal) -- nanodbc `2.13.0#0` -> `2.13.0#2` - - [(#16045)](https://github.com/microsoft/vcpkg/pull/16045) Nanodbc/fix/config cmake files path linux (by @samyy321) -- mongoose `6.15-2#0` -> `6.15-2#0` - - [(#16493)](https://github.com/microsoft/vcpkg/pull/16493) [mongoose] update to 7.1 (by @JonLiu1993) -- boost-histogram `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- kf5config `5.64.0#0` -> `5.64.0#0` - - [(#13467)](https://github.com/microsoft/vcpkg/pull/13467) [many ports] Update existing KF5 frameworks to 5.75 (by @wrobelda) -- boost-smart-ptr `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- boost-atomic `1.75.0#0` -> `1.75.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) - - [(#16479)](https://github.com/microsoft/vcpkg/pull/16479) [many ports] Apply host dependencies (by @ras0219) -- moos-core `10.4.0-4#0` -> `10.4.0#5` - - [(#14884)](https://github.com/microsoft/vcpkg/pull/14884) [vcpkg baseline][vtk-m] fix the sha512 (by @strega-nil) -- libpq `12.2#8` -> `12.2#12` - - [(#14626)](https://github.com/microsoft/vcpkg/pull/14626) [libpq/ffmpeg] Fix iconv/intl linkage not covered by CI (by @Neumann-A) - - [(#15361)](https://github.com/microsoft/vcpkg/pull/15361) [libpq] Change compile flag /Zi to /Z7 when building Windows (by @JackBoosY) - - [(#15579)](https://github.com/microsoft/vcpkg/pull/15579) [libpq] fix python patches (by @Neumann-A) - - [(#15748)](https://github.com/microsoft/vcpkg/pull/15748) [libpq] Fix install tool pg_config on Linux (by @JackBoosY) - - [(#16434)](https://github.com/microsoft/vcpkg/pull/16434) [libpq] fix filenames (linux -> windows cross compile) (by @autoantwort) - - [(#16651)](https://github.com/microsoft/vcpkg/pull/16651) [drogon] Update to 1.4.1 (by @an-tao) - - [(#16740)](https://github.com/microsoft/vcpkg/pull/16740) [libpq] mingw support (by @longnguyen2004) - - [(#17232)](https://github.com/microsoft/vcpkg/pull/17232) [libpq] Fix cmake wrapper on Windows, add usage (by @JackBoosY) -- protopuf `1.0.0#0` -> `1.0.0#0` - - [(#14446)](https://github.com/microsoft/vcpkg/pull/14446) [protopuf] Add a new port protopuf (by @PragmaTwice) - - [(#16459)](https://github.com/microsoft/vcpkg/pull/16459) [protopuf] Update to 1.0.1 (by @PragmaTwice) -- blend2d `beta_2020-08-24#0` -> `beta_2021-01-02#0` - - [(#15672)](https://github.com/microsoft/vcpkg/pull/15672) [blend2d] Update to beta_2021-01-02 (by @ZeeWanderer) - - [(#16804)](https://github.com/microsoft/vcpkg/pull/16804) [blend2d] Update to beta_2021-03-17 (by @ZeeWanderer) -- ecos `2.0.7#0` -> `2.0.8#0` - - [(#17471)](https://github.com/microsoft/vcpkg/pull/17471) [ecos] Update ecos library version to 2.0.8 (by @csorvagep) -- boost-date-time `1.75.0#0` -> `1.75.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) - - [(#16479)](https://github.com/microsoft/vcpkg/pull/16479) [many ports] Apply host dependencies (by @ras0219) -- geotrans `3.7#0` -> `3.8#0` - - [(#14412)](https://github.com/microsoft/vcpkg/pull/14412) [geotrans] update to version 3.8 (on-hold waiting for CI/VM port 21 for ftp to be opened or alternate host site) (by @StarGate-One) -- lapack `3#0` -> `3#1` - - [(#13448)](https://github.com/microsoft/vcpkg/pull/13448) [BLAS] add metaport (by @cenit) -- boost-multiprecision `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- qt5-multimedia `5.15.1#0` -> `5.15.2#0` - - [(#14678)](https://github.com/microsoft/vcpkg/pull/14678) [qt5] Update to 5.15.2 (by @Neumann-A) -- flashlight-cpu `20210111#0` -> `20210111#0` - - [(#15514)](https://github.com/microsoft/vcpkg/pull/15514) [flashlight-cpu] New port (by @jacobkahn) - - [(#17432)](https://github.com/microsoft/vcpkg/pull/17432) [flashlight-cpu] Update port to v0.3 (by @jacobkahn) -- boost-interprocess `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- pthreadpool `#0` -> `#0` - - [(#16342)](https://github.com/microsoft/vcpkg/pull/16342) [pthreadpool] create a new port (by @luncliff) - - [(#17196)](https://github.com/microsoft/vcpkg/pull/17196) [pthreadpool] update sources and support find_package (by @luncliff) -- boost-ratio `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- libarchive `3.4.3#1` -> `3.4.3#3` - - [(#14535)](https://github.com/microsoft/vcpkg/pull/14535) [libarchive] Fix dependencies, combine patches (by @JackBoosY) - - [(#14579)](https://github.com/microsoft/vcpkg/pull/14579) [baseline][libarchive] : regression fix (by @Matioupi) - - [(#15089)](https://github.com/microsoft/vcpkg/pull/15089) [libarchive+tesseract+opencv] add missing libarchiveConfig.cmake, fix tesseract downstream and unblock opencv CI (by @cenit) - - [(#16082)](https://github.com/microsoft/vcpkg/pull/16082) [libarchive] Fix static linking dependencies (by @DDoSolitary) - - [(#16957)](https://github.com/microsoft/vcpkg/pull/16957) [libarchive] Remove lzo from the default feature list (by @PhoebeHui) -- fakeit `#0` -> `#0` - - [(#16875)](https://github.com/microsoft/vcpkg/pull/16875) [fakeit] add new port (by @autoantwort) -- dartsim `6.9.4#0` -> `6.9.4#0` - - [(#17331)](https://github.com/microsoft/vcpkg/pull/17331) Update VMs, CMake to 3.20.1, CUDA to 11.3, and pwsh to 7.1.3 (by @BillyONeal) -- tesseract `4.1.1#1` -> `4.1.1#7` - - [(#11776)](https://github.com/microsoft/vcpkg/pull/11776) [intl/gettext/fontconfig] update to native build system (by @Neumann-A) - - [(#12785)](https://github.com/microsoft/vcpkg/pull/12785) [OpenCV] fix compatibility with VTK9 (by @cenit) - - [(#13100)](https://github.com/microsoft/vcpkg/pull/13100) [glib up to gtk] update and make it work with meson (by @Neumann-A) - - [(#14650)](https://github.com/microsoft/vcpkg/pull/14650) [tesseract] Enable dynamic build, format portfile.cmake (by @JackBoosY) - - [(#15089)](https://github.com/microsoft/vcpkg/pull/15089) [libarchive+tesseract+opencv] add missing libarchiveConfig.cmake, fix tesseract downstream and unblock opencv CI (by @cenit) - - [(#15787)](https://github.com/microsoft/vcpkg/pull/15787) [ffmpeg] Add support for dav1d,fontconfig,freetype,fribidi,ilbc,modplug,opengl,openjpeg,libssh,tensorflow,tesseract,webp,libxml2 dependencies. (by @Sibras) -- atkmm `2.24.2#3` -> `2.24.2#5` - - [(#13100)](https://github.com/microsoft/vcpkg/pull/13100) [glib up to gtk] update and make it work with meson (by @Neumann-A) - - [(#14988)](https://github.com/microsoft/vcpkg/pull/14988) [GLIBMM] Installing .pc file (by @faserg1) - - [(#15353)](https://github.com/microsoft/vcpkg/pull/15353) Build results from 2020-12-27 (by @BillyONeal) -- restc-cpp `#0` -> `#0` - - [(#15739)](https://github.com/microsoft/vcpkg/pull/15739) [restc-cpp] new port (by @lejcik) -- log4cxx `0.11.0#1` -> `0.11.0#2` - - [(#16018)](https://github.com/microsoft/vcpkg/pull/16018) [log4cxx] Fix dependency and pkgconfig (by @NancyLi1013) -- libdjinterop `0.14.6#0` -> `0.14.6#0` - - [(#15990)](https://github.com/microsoft/vcpkg/pull/15990) [libdjinterop] add new port with version 0.14.6 (by @Be-ing) -- opencl `2.2#4` -> `2.2#7` - - [(#14536)](https://github.com/microsoft/vcpkg/pull/14536) [opencl] Remove feature wdk (by @PhoebeHui) - - [(#15445)](https://github.com/microsoft/vcpkg/pull/15445) [opencl] Fix dynamic build on linux (by @dweckmann) - - [(#15787)](https://github.com/microsoft/vcpkg/pull/15787) [ffmpeg] Add support for dav1d,fontconfig,freetype,fribidi,ilbc,modplug,opengl,openjpeg,libssh,tensorflow,tesseract,webp,libxml2 dependencies. (by @Sibras) -- ngspice `34#1` -> `34#1` - - [(#15837)](https://github.com/microsoft/vcpkg/pull/15837) [ngspice] Update to rev 33 (by @marekr) - - [(#15882)](https://github.com/microsoft/vcpkg/pull/15882) [ngspice] build codemodel extension libraries (by @marekr) - - [(#16008)](https://github.com/microsoft/vcpkg/pull/16008) [ngspice] Update to rev 34 (by @marekr) - - [(#16131)](https://github.com/microsoft/vcpkg/pull/16131) [ngspice] fix win32 codemodel glob (by @marekr) -- boost-compatibility `1.74.0#0` -> `1.74.0#0` - - [(#14089)](https://github.com/microsoft/vcpkg/pull/14089) [boost] Update to 1.74.0 (by @niclar) - - [(#14969)](https://github.com/microsoft/vcpkg/pull/14969) [icu] mingw support + [mp3lame] Fix VCPKG_TARGET_STATIC_LIBRARY_SUFFIX (by @longnguyen2004) - - [(#15090)](https://github.com/microsoft/vcpkg/pull/15090) [boost] update to 1.75.0 (by @yurybura) - - [(#15616)](https://github.com/microsoft/vcpkg/pull/15616) [boost][many ports] Reformat manifest files in preparation for #15424 (by @ras0219) -- osg-qt `Qt4#3` -> `Qt4#3` - - [(#14422)](https://github.com/microsoft/vcpkg/pull/14422) [osg-qt] Fix installation when building static on Windows (by @JackBoosY) - - [(#14761)](https://github.com/microsoft/vcpkg/pull/14761) update osg-qt from Qt4 tag to master branch(Qt5) (by @ZgblKylin) -- sdl2-gfx `1.0.4-6#0` -> `1.0.4#7` - - [(#14348)](https://github.com/microsoft/vcpkg/pull/14348) [libsamplerate, sdl2-gfx] Fix build error with Visual Studio 2019 version 16.8 (by @LilyWangL) -- metrohash `1.1.3#0` -> `1.1.3#0` - - [(#15715)](https://github.com/microsoft/vcpkg/pull/15715) [metrohash] support Android triplet build (by @luncliff) - - [(#16035)](https://github.com/microsoft/vcpkg/pull/16035) [metrohash] support iOS triplets (by @luncliff) - - [(#16553)](https://github.com/microsoft/vcpkg/pull/16553) [metrohash] support more triplets by excluding 128 CRC source (by @luncliff) -- libhv `#0` -> `#0` - - [(#16460)](https://github.com/microsoft/vcpkg/pull/16460) [libhv] Add new port (by @ithewei) - - [(#16835)](https://github.com/microsoft/vcpkg/pull/16835) [libhv] Add DISABLE_PARALLEL (by @NancyLi1013) - - [(#17331)](https://github.com/microsoft/vcpkg/pull/17331) Update VMs, CMake to 3.20.1, CUDA to 11.3, and pwsh to 7.1.3 (by @BillyONeal) -- libodb-mysql `2.4.0-7#0` -> `2.4.0-7#0` - - [(#16975)](https://github.com/microsoft/vcpkg/pull/16975) [libodb-mysql] Fix usage (by @JackBoosY) -- termcolor `1.0.1#0` -> `1.0.1#0` - - [(#14897)](https://github.com/microsoft/vcpkg/pull/14897) [termcolor]; Add termcolor (by @theidexisted) - - [(#16824)](https://github.com/microsoft/vcpkg/pull/16824) [termcolor] update to 2.0.0 (by @JonLiu1993) -- eastl `3.16.07#0` -> `3.17.03#0` - - [(#14980)](https://github.com/microsoft/vcpkg/pull/14980) [EASTL] update to 3.17.03 (by @JonLiu1993) - -
- --- vcpkg team vcpkg@microsoft.com Sat, 01 May 00:00:00 -0700 - -vcpkg (2020.11.03) ---- -#### Total port count: 1519 -#### Total port count per triplet (tested): -|triplet|ports available| -|---|---| -|**x64-windows**|1374| -|x86-windows|1346| -|**x64-linux**|1269| -|x64-windows-static|1266| -|**x64-osx**|1202| -|arm64-windows|985| -|x64-uwp|753| -|arm-uwp|711| - -##### The following documentation has been updated: -- [Selecting Library Features](docs/users/selecting-library-features.md) ***[NEW]*** - - [(#14189)](https://github.com/microsoft/vcpkg/pull/14189) [vcpkg] User help: selecting-library-features.md (by @vmiheer) - -#### The following *additional* changes have been made to vcpkg's infrastructure: -- [(#14317)](https://github.com/microsoft/vcpkg/pull/14317) [vcpkg] Fix incorrect determination of PowerShell not found (by @BillyONeal) -- [(#14206)](https://github.com/microsoft/vcpkg/pull/14206) [vcpkg] Add tab completion for Fish (by @Link1J) -- [(#14367)](https://github.com/microsoft/vcpkg/pull/14367) Add CHANGELOG up to 2020.11.01 (by @vicroms) -- [(#14366)](https://github.com/microsoft/vcpkg/pull/14366) [vcpkg] Disable vcpkg_copy_tool_dependencies on non-Windows (by @BillyONeal) - -
-The following 1 ports have been added: - -|port|version| -|---|---| -|[elfio](https://github.com/microsoft/vcpkg/pull/14314)| 3.8#0 -
- -
-The following 0 ports have been updated: - -
- --- vcpkg team vcpkg@microsoft.com TUE, 03 Nov 14:35:00 -0800 - -vcpkg (2020.11.01) ---- -#### Total port count: 1519 -#### Total port count per triplet (tested): -|triplet|ports available| -|---|---| -|**x64-windows**|1374| -|x86-windows|1346| -|**x64-linux**|1269| -|x64-windows-static|1266| -|**x64-osx**|1202| -|arm64-windows|985| -|x64-uwp|753| -|arm-uwp|711| - -#### The following commands and options have been updated: -- [Environment and Configuration](docs/users/config-environment.md) - - [(#12640)](https://github.com/microsoft/vcpkg/pull/12640) [vcpkg] add environment variable VCPKG_OVERLAY_PORTS (by @Neumann-A) - - [(#12790)](https://github.com/microsoft/vcpkg/pull/12790) [vcpkg] add env var VCPKG_OVERLAY_TRIPLETS (by @Neumann-A) -- [Package Federation: Custom Registries](docs/specifications/registries.md)***[NEW]*** - - [(#12881)](https://github.com/microsoft/vcpkg/pull/12881) [vcpkg RFC] initial registries RFC (by @strega-nil) -- [Manifest Mode](docs/users/manifests.md)***[NEW]*** - - [(#13488)](https://github.com/microsoft/vcpkg/pull/13488) [vcpkg manifest] Add documentation! (by @strega-nil) - - [(#13578)](https://github.com/microsoft/vcpkg/pull/13578) Fix feature flags option typo (by @strega-nil) - - [(#13399)](https://github.com/microsoft/vcpkg/pull/13399) [vcpkg] Further JSON error improvements (by @strega-nil) -- [Binary Caching](docs/users/binarycaching.md)***[NEW]*** - - [(#13517)](https://github.com/microsoft/vcpkg/pull/13517) [vcpkg-docs] Add docs/users/binarycaching.md (by @ras0219) - - [(#13641)](https://github.com/microsoft/vcpkg/pull/13641) [vcpkg-docs] Add note about GitHub hosted agents (by @ras0219) - -#### The following documentation has been updated: -- [Buildsystem Integration](docs/users/integration.md) - - [(#12145)](https://github.com/microsoft/vcpkg/pull/12145) [vcpkg] Update message in bootstrap.ps1 (by @PhoebeHui) - - [(#12873)](https://github.com/microsoft/vcpkg/pull/12873) [vcpkg] Fix bullet lists for integration.md on readthedocs.io (by @PhoebeHui) -- [vcpkg_from_sourceforge](docs/maintainers/vcpkg_from_sourceforge.md) - - [(#12018)](https://github.com/microsoft/vcpkg/pull/12018) [vcpkg_from_sourceforge] Add retry mirror function (2/2) (by @JackBoosY) - - [(#12254)](https://github.com/microsoft/vcpkg/pull/12254) [vcpkg] Track hashes of cmake script helpers in consuming portfiles (by @JackBoosY) -- [Installing and Using Packages Example: SQLite](docs/examples/installing-and-using-packages.md) - - [(#12200)](https://github.com/microsoft/vcpkg/pull/12200) [vcpkg] Implement --editable (by @ras0219) - - [(#12516)](https://github.com/microsoft/vcpkg/pull/12516) [sqlite3] Namespaced targets with unofficial:: (by @ras0219) -- [Packaging Zipfiles Example: zlib](docs/examples/packaging-zipfiles.md) - - [(#12200)](https://github.com/microsoft/vcpkg/pull/12200) [vcpkg] Implement --editable (by @ras0219) - - [(#13488)](https://github.com/microsoft/vcpkg/pull/13488) [vcpkg manifest] Add documentation! (by @ras0219) -- [Patching Example: Patching libpng to work for x64-uwp](docs/examples/patching.md) - - [(#12200)](https://github.com/microsoft/vcpkg/pull/12200) [vcpkg] Implement --editable (by @ras0219) - - [(#13488)](https://github.com/microsoft/vcpkg/pull/13488) [vcpkg manifest] Add documentation! (by @ras0219) -- [CONTROL files](docs/maintainers/control-files.md) - - [(#12227)](https://github.com/microsoft/vcpkg/pull/12227) [vcpkg manifests] fix some issues (by @strega-nil) - - [(#13488)](https://github.com/microsoft/vcpkg/pull/13488) [vcpkg manifest] Add documentation! (by @strega-nil) -- [Portfile helper functions](docs/maintainers/portfile-functions.md) - - [(#12254)](https://github.com/microsoft/vcpkg/pull/12254) [vcpkg] Track hashes of cmake script helpers in consuming portfiles (by @ras0219) - - [(#13065)](https://github.com/microsoft/vcpkg/pull/13065) Delete use of vcpkg_test_cmake and vcpkg_common_functions. (by @ras0219) -- [vcpkg_build_make](docs/maintainers/vcpkg_build_make.md) - - [(#12254)](https://github.com/microsoft/vcpkg/pull/12254) [vcpkg] Track hashes of cmake script helpers in consuming portfiles (by @ras0219) -- [vcpkg_common_definitions](docs/maintainers/vcpkg_common_definitions.md) - - [(#12254)](https://github.com/microsoft/vcpkg/pull/12254) [vcpkg] Track hashes of cmake script helpers in consuming portfiles (by @ras0219) -- [vcpkg_configure_make](docs/maintainers/vcpkg_configure_make.md) - - [(#12254)](https://github.com/microsoft/vcpkg/pull/12254) [vcpkg] Track hashes of cmake script helpers in consuming portfiles (by @ras0219) -- [vcpkg_find_acquire_program](docs/maintainers/vcpkg_find_acquire_program.md) - - [(#12254)](https://github.com/microsoft/vcpkg/pull/12254) [vcpkg] Track hashes of cmake script helpers in consuming portfiles (by @ras0219) - - [(#12396)](https://github.com/microsoft/vcpkg/pull/12396) [chromium-base] Add new port (by @ras0219) -- [vcpkg_fixup_pkgconfig](docs/maintainers/vcpkg_fixup_pkgconfig.md)***[NEW]*** - - [(#12254)](https://github.com/microsoft/vcpkg/pull/12254) [vcpkg] Track hashes of cmake script helpers in consuming portfiles (by @ras0219) -- [Binary Caching v1.1](docs/specifications/binarycaching.md)***[NEW]*** - - [(#11204)](https://github.com/microsoft/vcpkg/pull/11204) [vcpkg] RFC: Binarycaching (by @ras0219-msft) - - [(#13517)](https://github.com/microsoft/vcpkg/pull/13517) [vcpkg-docs] Add docs/users/binarycaching.md (by @ras0219-msft) -- [Triplet files](docs/users/triplets.md) - - [(#12211)](https://github.com/microsoft/vcpkg/pull/12211) [corrade,magnum,*-plugins,*-extras,*-integration] Update to v2020.06 (by @Squareys) - - [(#11290)](https://github.com/microsoft/vcpkg/pull/11290) [vcpkg] #11129: Add VCPKG_LINKER_FLAGS_. (by @Squareys) - - [(#13488)](https://github.com/microsoft/vcpkg/pull/13488) [vcpkg manifest] Add documentation! (by @Squareys) -- [Maintainer Guidelines and Policies](docs/maintainers/maintainer-guide.md) - - [(#12460)](https://github.com/microsoft/vcpkg/pull/12460) [vcpkg] Improve format check failure message (by @JackBoosY) - - [(#13488)](https://github.com/microsoft/vcpkg/pull/13488) [vcpkg manifest] Add documentation! (by @JackBoosY) -- [vcpkg_check_linkage](docs/maintainers/vcpkg_check_linkage.md) - - [(#12624)](https://github.com/microsoft/vcpkg/pull/12624) Fix .gitignore excluding triplets/community, sort, and driveby vcpkg_check_linkage.md doc bug. (by @BillyONeal) -- [Overlay triplets example](docs/examples/overlay-triplets-linux-dynamic.md) - - [(#12516)](https://github.com/microsoft/vcpkg/pull/12516) [sqlite3] Namespaced targets with unofficial:: (by @PhoebeHui) -- [vcpkg_configure_cmake](docs/maintainers/vcpkg_configure_cmake.md) - - [(#12846)](https://github.com/microsoft/vcpkg/pull/12846) [vcpkg_configure_cmake] Pass CMAKE_DISABLE_SOURCE_CHANGES to all ports by default (by @ras0219) -- [execute_process](docs/maintainers/execute_process.md) - - [(#12926)](https://github.com/microsoft/vcpkg/pull/12926) [execute_process] Don't strip embedded semicolons (by @jgehw) -- [Layout of the vcpkg source tree](docs/tool-maintainers/layout.md) - - [(#13421)](https://github.com/microsoft/vcpkg/pull/13421) [vcpkg] Merge the vcpkg metadata uploader into the vcpkg binary (by @BillyONeal) -- [Manifest Mode: CMake Example](docs/examples/manifest-mode-cmake.md)***[NEW]*** - - [(#13488)](https://github.com/microsoft/vcpkg/pull/13488) [vcpkg manifest] Add documentation! (by @strega-nil) -- [Packaging Github Repos Example: libogg](docs/examples/packaging-github-repos.md) - - [(#13488)](https://github.com/microsoft/vcpkg/pull/13488) [vcpkg manifest] Add documentation! (by @strega-nil) -- [Quick Start](docs/README.md) - - [(#13488)](https://github.com/microsoft/vcpkg/pull/13488) [vcpkg manifest] Add documentation! (by @strega-nil) -- [Manifest files - `vcpkg.json`](docs/maintainers/manifest-files.md)***[NEW]*** - - [(#13488)](https://github.com/microsoft/vcpkg/pull/13488) [vcpkg manifest] Add documentation! (by @strega-nil) -- [Vcpkg PR Checklist](docs/maintainers/pr-review-checklist.md) - - [(#13488)](https://github.com/microsoft/vcpkg/pull/13488) [vcpkg manifest] Add documentation! (by @strega-nil) - -#### The following *additional* changes have been made to vcpkg's infrastructure: -- [(#12172)](https://github.com/microsoft/vcpkg/pull/12172) [vcpkg ci] add macos scripts to vcpkg repo (by @strega-nil) -- [(#12176)](https://github.com/microsoft/vcpkg/pull/12176) [vcpkg] VM Update (by @BillyONeal) -- [(#12138)](https://github.com/microsoft/vcpkg/pull/12138) [vcpkg] Implement --x-write-nuget-packages-config= setting for `install` and `x-set-installed` (by @ras0219) -- [(#12192)](https://github.com/microsoft/vcpkg/pull/12192) Fix sourceparagraph:BooleanField (by @strega-nil) -- [(#12191)](https://github.com/microsoft/vcpkg/pull/12191) Don't change manifest root when manifest isn't enabled. (by @dada2048) -- [(#12170)](https://github.com/microsoft/vcpkg/pull/12170) [vcpkg] Enable NuGet-based binary caching via mono (by @ras0219) -- [(#12145)](https://github.com/microsoft/vcpkg/pull/12145) [vcpkg] Update message in bootstrap.ps1 (by @PhoebeHui) -- [(#12201)](https://github.com/microsoft/vcpkg/pull/12201) [vcpkg] Remove all uses of Foo::Foo() noexcept = default; to fix #9955 (by @ras0219) -- [(#12203)](https://github.com/microsoft/vcpkg/pull/12203) [vcpkg] Improve performance of compiler tracking (by @ras0219) -- [(#12212)](https://github.com/microsoft/vcpkg/pull/12212) [msbuild] Revert the importance to Normal (by @PhoebeHui) -- [(#12197)](https://github.com/microsoft/vcpkg/pull/12197) [vcpkg] Remove the tombstones and 'ignore' baseline concepts. (by @BillyONeal) -- [(#12018)](https://github.com/microsoft/vcpkg/pull/12018) [vcpkg_from_sourceforge] Add retry mirror function (2/2) (by @JackBoosY) -- [(#4608)](https://github.com/microsoft/vcpkg/pull/4608) [vcpkg] Use IncludePath and LibraryPath properties (by @FrankHeimes) -- [(#12242)](https://github.com/microsoft/vcpkg/pull/12242) [vcpkg] Remove use of std::variant and std::visit to fix VS2015. (by @ras0219) -- [(#12272)](https://github.com/microsoft/vcpkg/pull/12272) [vcpkg] Revert change which causes sources to be purged by default in `vcpkg build` (by @ras0219) -- [(#12263)](https://github.com/microsoft/vcpkg/pull/12263) [vcpkg] Update toolsrc VERSION to 2020.06.15 (by @c72578) -- [(#12232)](https://github.com/microsoft/vcpkg/pull/12232) [opengl wincrypt winsock2] Use $ENV{WindowsSdkDir} instead of hard coding Windows SDK paths. (by @BillyONeal) -- [(#12219)](https://github.com/microsoft/vcpkg/pull/12219) [openvr] Update to 1.12.5 (by @RT222) -- [(#12177)](https://github.com/microsoft/vcpkg/pull/12177) [vcpkg] Added python script to generate all packages file list, added to azur… (by @yaoleo34) -- [(#12101)](https://github.com/microsoft/vcpkg/pull/12101) [vcpkg] Add mingw dynamic libs triplet (by @longnguyen2004) -- [(#11655)](https://github.com/microsoft/vcpkg/pull/11655) [vcpkg] Format the C++ in CI (by @strega-nil) -- [(#12093)](https://github.com/microsoft/vcpkg/pull/12093) [vcpkg docs] new README/Quick Start guide (by @strega-nil) -- [(#12300)](https://github.com/microsoft/vcpkg/pull/12300) [libbson, vcpkg baseline] Remove passing and fix spurious failure. (by @BillyONeal) -- [(#12200)](https://github.com/microsoft/vcpkg/pull/12200) [vcpkg] Implement --editable (by @ras0219) -- [(#12140)](https://github.com/microsoft/vcpkg/pull/12140) [simdjson] Update to 0.4.6 (by @myd7349) -- [(#11967)](https://github.com/microsoft/vcpkg/pull/11967) [evpp] Fix build error on OSX (by @JackBoosY) -- [(#12314)](https://github.com/microsoft/vcpkg/pull/12314) [vcpkg ci] Update formatting CI (by @strega-nil) -- [(#12259)](https://github.com/microsoft/vcpkg/pull/12259) [triplets][osx] add support for arm64 'apple silicon' (by @eklipse2k8) -- [(#11754)](https://github.com/microsoft/vcpkg/pull/11754) [pcre2] Update to 10.35 (by @c72578) -- [(#11753)](https://github.com/microsoft/vcpkg/pull/11753) Fix support for toolchains that set CMAKE_FIND_ROOT_PATH_MODE_* variables to ONLY (by @traversaro) -- [(#12317)](https://github.com/microsoft/vcpkg/pull/12317) [vcpkg README] Fix links (by @strega-nil) -- [(#12319)](https://github.com/microsoft/vcpkg/pull/12319) [vcpkg.targets] Fix #12292 regression with MSBuild targets (by @ras0219-msft) -- [(#12323)](https://github.com/microsoft/vcpkg/pull/12323) [vcpkg] Ignore dependencies not found errors when downloading mode (by @JackBoosY) -- [(#12257)](https://github.com/microsoft/vcpkg/pull/12257) [vcpkg] Fix MSBuild regressions #12062 and #12086. (by @ras0219) -- [(#12037)](https://github.com/microsoft/vcpkg/pull/12037) [freerdp] Fix x64-osx triplet (by @AlexAltea) -- [(#11596)](https://github.com/microsoft/vcpkg/pull/11596) [qt5] update qt to 5.15 and make ports depend on qt5-base[core]. (by @Neumann-A) -- [(#12227)](https://github.com/microsoft/vcpkg/pull/12227) [vcpkg manifests] fix some issues (by @strega-nil) -- [(#8322)](https://github.com/microsoft/vcpkg/pull/8322) [kfr] Add new port (by @myd7349) -- [(#12244)](https://github.com/microsoft/vcpkg/pull/12244) [cuda] correct env variables for newer cuda versions (by @Neumann-A) -- [(#12256)](https://github.com/microsoft/vcpkg/pull/12256) [vcpkg] Move default binary cache from `$root/archives` to user-wide directory (by @ras0219) -- [(#12350)](https://github.com/microsoft/vcpkg/pull/12350) [vcpkg] Remove unnecessary work queue (by @strega-nil) -- [(#12367)](https://github.com/microsoft/vcpkg/pull/12367) [vcpkg build] fix #12355 (by @strega-nil) -- [(#12369)](https://github.com/microsoft/vcpkg/pull/12369) [vcpkg formatting] Fix format regex (by @strega-nil) -- [(#12178)](https://github.com/microsoft/vcpkg/pull/12178) [vcpkg] Add a schema file for vcpkg.json (by @Edhebi) -- [(#12370)](https://github.com/microsoft/vcpkg/pull/12370) [vcpkg] Enable binary caching by default (by @ras0219) -- [(#12386)](https://github.com/microsoft/vcpkg/pull/12386) [vcpkg] Add CMake heuristics for header-only libraries (by @ras0219) -- [(#12366)](https://github.com/microsoft/vcpkg/pull/12366) [vcpkg] Improve informational message for `--editable` while cleaning sources (by @ras0219) -- [(#12378)](https://github.com/microsoft/vcpkg/pull/12378) [vcpkg] proper errorcheck during files installation (by @Maximus5) -- [(#12384)](https://github.com/microsoft/vcpkg/pull/12384) [vcpkg-ci] Always publish file lists (by @ras0219) -- [(#12254)](https://github.com/microsoft/vcpkg/pull/12254) [vcpkg] Track hashes of cmake script helpers in consuming portfiles (by @ras0219) -- [(#12361)](https://github.com/microsoft/vcpkg/pull/12361) [vcpkg] Fix iOS toolchain detection when using the iOS community triplets (by @alcroito) -- [(#12398)](https://github.com/microsoft/vcpkg/pull/12398) [libb2] Add supports and install pkg-conifg on macOS VM (by @PhoebeHui) -- [(#12368)](https://github.com/microsoft/vcpkg/pull/12368) [vcpkg formatting] Turn off DeriveLineEnding (by @strega-nil) -- [(#12429)](https://github.com/microsoft/vcpkg/pull/12429) [vcpkg] Fix ParagraphParser::required_field() (by @maksqwe) -- [(#12400)](https://github.com/microsoft/vcpkg/pull/12400) [vcpkg] implement copy_symlink working for non-elevated processes (by @Maximus5) -- [(#12432)](https://github.com/microsoft/vcpkg/pull/12432) vcpkg_configure_make: typo fix '_vcpkg_append_to_configure_environment' (by @kevinlul) -- [(#12351)](https://github.com/microsoft/vcpkg/pull/12351) [vcpkg] Clean up command switch code (by @strega-nil) -- [(#12179)](https://github.com/microsoft/vcpkg/pull/12179) [vcpkg] print list in json (by @dan-shaw) -- [(#12084)](https://github.com/microsoft/vcpkg/pull/12084) Build fix with MinGW GCC 9.2.0 (by @cristianadam) -- [(#12455)](https://github.com/microsoft/vcpkg/pull/12455) [libmicrohttpd] Add `platform.h` to restricted header list. (by @ras0219) -- [(#12468)](https://github.com/microsoft/vcpkg/pull/12468) [vcpkg] Add NVTOOLSEXT_PATH to the env passthrough list (by @Neumann-A) -- [(#12534)](https://github.com/microsoft/vcpkg/pull/12534) Add initial s390x support (by @lebdron) -- [(#11550)](https://github.com/microsoft/vcpkg/pull/11550) [vcpkg/scripts/pkgconfig] rewrite pkg-config check for libraries (by @Neumann-A) -- [(#11130)](https://github.com/microsoft/vcpkg/pull/11130) [opencv4] update to v4.3 (by @cenit) -- [(#12467)](https://github.com/microsoft/vcpkg/pull/12467) [vcpkg-acquire-msys] Install new keyring (by @emptyVoid) -- [(#9561)](https://github.com/microsoft/vcpkg/pull/9561) [libusb] Fix issue to support linux (by @PhoebeHui) -- [(#12460)](https://github.com/microsoft/vcpkg/pull/12460) [vcpkg] Improve format check failure message (by @JackBoosY) -- [(#9248)](https://github.com/microsoft/vcpkg/pull/9248) fix issue #9228 : Add support to subgroups in gitlab (by @RamadanAhmed) -- [(#12513)](https://github.com/microsoft/vcpkg/pull/12513) [vcpkg] EOL LF for ci.baseline.txt (by @Neumann-A) -- [(#8628)](https://github.com/microsoft/vcpkg/pull/8628) [marble] Add new port (by @ig-or) -- [(#12118)](https://github.com/microsoft/vcpkg/pull/12118) [mozjpeg] fix build (by @saucecontrol) -- [(#12530)](https://github.com/microsoft/vcpkg/pull/12530) [libmodbus] Fix static linkage error (by @NancyLi1013) -- [(#12514)](https://github.com/microsoft/vcpkg/pull/12514) [mpir] Fix build error if VCPKG_BUILD_TYPE is set as release or debug (by @NancyLi1013) -- [(#12529)](https://github.com/microsoft/vcpkg/pull/12529) [qt5 components] Disable parallel build (by @JackBoosY) -- [(#12569)](https://github.com/microsoft/vcpkg/pull/12569) [vcpkg_fixup_pkgconfig] Remove required in first find_program call for pkg-config (by @Neumann-A) -- [(#12097)](https://github.com/microsoft/vcpkg/pull/12097) Fix vcpkg android toolchain so it adds flags that aren't just ignored (by @jamiebk) -- [(#11021)](https://github.com/microsoft/vcpkg/pull/11021) [rsocket] Add new port (by @curoky) -- [(#12104)](https://github.com/microsoft/vcpkg/pull/12104) Fix vcpkg_fixup_cmake_targets to work correctly on MinGW (by @koprok) -- [(#12661)](https://github.com/microsoft/vcpkg/pull/12661) [vcpkg] Fix typo in link for installing and using packages (by @varunagrawal) -- [(#12639)](https://github.com/microsoft/vcpkg/pull/12639) [vcpkg-ci] fix macos setup scripts (by @strega-nil) -- [(#12586)](https://github.com/microsoft/vcpkg/pull/12586) [vcpkg] Fix build on Windows 8.1 SDK (by @strega-nil) -- [(#12585)](https://github.com/microsoft/vcpkg/pull/12585) [vcpkg] Refactor Commands: Part 1 (by @strega-nil) -- [(#10770)](https://github.com/microsoft/vcpkg/pull/10770) [cmake] Add cmake port to test qt (by @Neumann-A) -- [(#10786)](https://github.com/microsoft/vcpkg/pull/10786) [tomlplusplus] Add new port (by @traversaro) -- [(#12641)](https://github.com/microsoft/vcpkg/pull/12641) Refactor commands 2: Electric Boogaloo (by @strega-nil) -- [(#12548)](https://github.com/microsoft/vcpkg/pull/12548) [vcpkg manifest] look at `platform` directives (by @strega-nil) -- [(#12494)](https://github.com/microsoft/vcpkg/pull/12494) [qt-webengine] Fix building with vs2017 (by @Neumann-A) -- [(#11376)](https://github.com/microsoft/vcpkg/pull/11376) [avro-cpp] new port (by @alexander-smyslov) -- [(#11535)](https://github.com/microsoft/vcpkg/pull/11535) [mpg123] Allow cross-compiling, fix previous builds tainting rebuilds (by @kevinlul) -- [(#12624)](https://github.com/microsoft/vcpkg/pull/12624) Fix .gitignore excluding triplets/community, sort, and driveby vcpkg_check_linkage.md doc bug. (by @BillyONeal) -- [(#12423)](https://github.com/microsoft/vcpkg/pull/12423) [vcpkg] Add environment variable VCPKG_DEFAULT_BINARY_CACHE (by @Neumann-A) -- [(#10670)](https://github.com/microsoft/vcpkg/pull/10670) [vcpkg] Fix [boost] find_package for MSVC2013 / v120 (by @ManuelKugelmann) -- [(#12549)](https://github.com/microsoft/vcpkg/pull/12549) [vcpkg manifest] add feature support (by @strega-nil) -- [(#12471)](https://github.com/microsoft/vcpkg/pull/12471) [vcpkg format-manifest] Add convert-control flag (by @strega-nil) -- [(#11208)](https://github.com/microsoft/vcpkg/pull/11208) [ITK] Update to 5.1 (by @Neumann-A) -- [(#12640)](https://github.com/microsoft/vcpkg/pull/12640) [vcpkg] add environment variable VCPKG_OVERLAY_PORTS (by @Neumann-A) -- [(#12742)](https://github.com/microsoft/vcpkg/pull/12742) [wavpack] Fix failure on linux and osx (by @PhoebeHui) -- [(#12727)](https://github.com/microsoft/vcpkg/pull/12727) [msbuild] Revert the importance to Normal (by @PhoebeHui) -- [(#12717)](https://github.com/microsoft/vcpkg/pull/12717) [vcpkg] Fix prettify output not working in some cases (by @Deadpikle) -- [(#12715)](https://github.com/microsoft/vcpkg/pull/12715) [vcpkg] Add VCPKG_TARGET_IS_IOS (by @Deadpikle) -- [(#12716)](https://github.com/microsoft/vcpkg/pull/12716) [vcpkg] Fix arm64-osx triplet not building for arm64 (by @Deadpikle) -- [(#12701)](https://github.com/microsoft/vcpkg/pull/12701) [vcpkg-ci-paraview] move into scripts/test_ports (by @Neumann-A) -- [(#12699)](https://github.com/microsoft/vcpkg/pull/12699) [vcpkg baseline] remove qt translations from skip list (by @Neumann-A) -- [(#12695)](https://github.com/microsoft/vcpkg/pull/12695) [ngspice] Initial port (by @marekr) -- [(#12678)](https://github.com/microsoft/vcpkg/pull/12678) [vcpkg] Add missing check for x86 (by @arves100) -- [(#12752)](https://github.com/microsoft/vcpkg/pull/12752) [vcpkg_build_qmake] Disable multi-threaded build when file fails to open (by @JackBoosY) -- [(#12789)](https://github.com/microsoft/vcpkg/pull/12789) [vcpkg] Fix vs2015 build (by @strega-nil) -- [(#12312)](https://github.com/microsoft/vcpkg/pull/12312) [fmt] Update to 7.0.2 + [spdlog] Update to 1.7.0 (by @kevinlul) -- [(#12515)](https://github.com/microsoft/vcpkg/pull/12515) [pangolin] Fix build failure on UNIX (by @JackBoosY) -- [(#12792)](https://github.com/microsoft/vcpkg/pull/12792) [log4cpp] Fix header file install path (by @LilyWangL) -- [(#12784)](https://github.com/microsoft/vcpkg/pull/12784) [gSoap] Update to 2.8.105 and add a required shared directory (by @xgcssch) -- [(#12768)](https://github.com/microsoft/vcpkg/pull/12768) [libtorrent] Update to 1.2.8 (by @FranciscoPombal) -- [(#12762)](https://github.com/microsoft/vcpkg/pull/12762) [boost] Add Supports fields and more accurately handle arm64-windows/x64-uwp (by @ras0219) -- [(#12630)](https://github.com/microsoft/vcpkg/pull/12630) [secp256k1] Fix build failures and export cmake targets (by @PhoebeHui) -- [(#12524)](https://github.com/microsoft/vcpkg/pull/12524) [asmjit] Update to the latest commit (by @ZehMatt) -- [(#12528)](https://github.com/microsoft/vcpkg/pull/12528) [libass] Fix build error on x64-windows-static (by @LilyWangL) -- [(#12634)](https://github.com/microsoft/vcpkg/pull/12634) [vcpkg] Improving android support (by @christophe-calmejane) -- [(#9162)](https://github.com/microsoft/vcpkg/pull/9162) [crashrpt] Add new port (by @tbdrake) -- [(#12810)](https://github.com/microsoft/vcpkg/pull/12810) [vcpkg] Make C++ the primary github language (by @strega-nil) -- [(#12198)](https://github.com/microsoft/vcpkg/pull/12198) [vcpkg] Add `vcpkg export` to E2E tests. Enable E2E tests on all platforms. (by @ras0219) -- [(#12698)](https://github.com/microsoft/vcpkg/pull/12698) [vcpkg] Rewrite CMake build system to be more target-based (by @strega-nil) -- [(#12776)](https://github.com/microsoft/vcpkg/pull/12776) [vcpkg_copy_tool_dependencies] Use vcpkg internal powershell (by @JackBoosY) -- [(#12805)](https://github.com/microsoft/vcpkg/pull/12805) [lapack-reference|fortran] Add new port (by @Neumann-A) -- [(#12829)](https://github.com/microsoft/vcpkg/pull/12829) [vcpkg] Fix resolution of default features when using Manifest mode (by @ras0219) -- [(#11836)](https://github.com/microsoft/vcpkg/pull/11836) [vcpkg/scripts/make] trying to iron out some issues (by @Neumann-A) -- [(#12818)](https://github.com/microsoft/vcpkg/pull/12818) [constexpr-contracts] Adds new port (by @cjdb) -- [(#12845)](https://github.com/microsoft/vcpkg/pull/12845) [vcpkg] Lift `--x-json` to a global option, implement experimental `x-package-info` command (by @ras0219) -- [(#12876)](https://github.com/microsoft/vcpkg/pull/12876) [vcpkg] Reduce dependencies and contents of vcpkgpaths.h (by @ras0219) -- [(#12866)](https://github.com/microsoft/vcpkg/pull/12866) [msys] Improve vcpkg_acquire_msys (by @PhoebeHui) -- [(#12897)](https://github.com/microsoft/vcpkg/pull/12897) [vcpkg] Restore layering and purge unused ParagraphParseResult (by @ras0219) -- [(#12895)](https://github.com/microsoft/vcpkg/pull/12895) [vcpkg_find_acquire_program] add version check for ninja (by @Neumann-A) -- [(#12927)](https://github.com/microsoft/vcpkg/pull/12927) [meson] Update meson to 0.55.1 (by @Neumann-A) -- [(#12837)](https://github.com/microsoft/vcpkg/pull/12837) Fix/clang10 linux (by @ignacionr) -- [(#9146)](https://github.com/microsoft/vcpkg/pull/9146) [expat] Update the version to 2.2.9 (add support for uwp) (by @NancyLi1013) -- [(#12774)](https://github.com/microsoft/vcpkg/pull/12774) [vcpkg] Use std::filesystem when Visual Studio is greater than 2015 (by @JackBoosY) -- [(#12626)](https://github.com/microsoft/vcpkg/pull/12626) [vcpkg_find_acquire_program] Enable find_acquire(PKGCONFIG) (by @ras0219) -- [(#11277)](https://github.com/microsoft/vcpkg/pull/11277) [ffmpeg] Add feature support for zlib, iconv, fdk-aac, mp3lame, opus, soxr, theora. (by @Sibras) -- [(#12864)](https://github.com/microsoft/vcpkg/pull/12864) [vcpkg_execute_build_process] Re-fix qt5 components build (by @JackBoosY) -- [(#13000)](https://github.com/microsoft/vcpkg/pull/13000) [vcpkg] Fix baseline (by @NancyLi1013) -- [(#12985)](https://github.com/microsoft/vcpkg/pull/12985) [vcpkg] Add Forward Declarations (originally by @cngzhnp) (by @strega-nil) -- [(#12976)](https://github.com/microsoft/vcpkg/pull/12976) [vcpkg] Update hint message (by @PhoebeHui) -- [(#12974)](https://github.com/microsoft/vcpkg/pull/12974) [fluidsynth/redis-plus-plus] Update to the latest released version (by @NancyLi1013) -- [(#13017)](https://github.com/microsoft/vcpkg/pull/13017) remove registries.h and fwd/registries.h... (by @strega-nil) -- [(#12975)](https://github.com/microsoft/vcpkg/pull/12975) [openmpi/vcpkg_build_make] Disable parallel build (by @JackBoosY) -- [(#13043)](https://github.com/microsoft/vcpkg/pull/13043) [vcpkg] Fix hint message (by @PhoebeHui) -- [(#12046)](https://github.com/microsoft/vcpkg/pull/12046) [portmidi] Updated portmidi package to use alternative code source (by @stekyne) -- [(#13066)](https://github.com/microsoft/vcpkg/pull/13066) [typo] Fix incorrect Path in readme (by @ninjaoflight) -- [(#13034)](https://github.com/microsoft/vcpkg/pull/13034) [openmama] Feature use cmake for openmama (by @fquinner) -- [(#12910)](https://github.com/microsoft/vcpkg/pull/12910) [vcpkg] Fix editable bug (by @ras0219) -- [(#12523)](https://github.com/microsoft/vcpkg/pull/12523) [vcpkg.cmake] check for vcpkg.json only in `${CMAKE_SOURCE_DIR}` (by @strega-nil) -- [(#12964)](https://github.com/microsoft/vcpkg/pull/12964) [vcpkg] Do not use raw paths inside regexes (by @hanst99) -- [(#13092)](https://github.com/microsoft/vcpkg/pull/13092) [vcpkg] Hotfix regression in #12523 (by @ras0219) -- [(#13067)](https://github.com/microsoft/vcpkg/pull/13067) Sort file lists and failure logs together. (by @BillyONeal) -- [(#12738)](https://github.com/microsoft/vcpkg/pull/12738) [vcpkg] Use https sources for common tools (by @janisozaur) -- [(#13058)](https://github.com/microsoft/vcpkg/pull/13058) [Box2d] Update to 2.4.0 (by @JonLiu1993) -- [(#12977)](https://github.com/microsoft/vcpkg/pull/12977) fix vcpkg_configure_cmake for case when having semicolons in OPTIONS (by @jgehw) -- [(#12950)](https://github.com/microsoft/vcpkg/pull/12950) [vcpkg] Fix build on older compilers. (by @huahang) -- [(#13104)](https://github.com/microsoft/vcpkg/pull/13104) [vcpkg] Fix vcpkg_acquire_msys failing on path with spaces (by @SupSuper) -- [(#13125)](https://github.com/microsoft/vcpkg/pull/13125) Disable fluidlite in CI. (by @BillyONeal) -- [(#13117)](https://github.com/microsoft/vcpkg/pull/13117) [vcpkg] Fix #13094 by avoiding the comma operator. (by @BillyONeal) -- [(#13107)](https://github.com/microsoft/vcpkg/pull/13107) [VMSS] Fix the printed error message (by @JackBoosY) -- [(#13069)](https://github.com/microsoft/vcpkg/pull/13069) [vcpkg] Fix upgrade for port-version (by @strega-nil) -- [(#12982)](https://github.com/microsoft/vcpkg/pull/12982) [vcpkg_find_acquire_program] Cleanup and add CI testing (by @ras0219) -- [(#13142)](https://github.com/microsoft/vcpkg/pull/13142) Allow use of VS LLVM clang-format. (by @BillyONeal) -- [(#13148)](https://github.com/microsoft/vcpkg/pull/13148) [baseline] Skip check of clapack:x64-osx in the baseline (by @JackBoosY) -- [(#12884)](https://github.com/microsoft/vcpkg/pull/12884) [skia, ompl, capnproto] Update VMs for 2020-08-12 (including VS 16.7) (by @BillyONeal) -- [(#13086)](https://github.com/microsoft/vcpkg/pull/13086) [vcpkg] Disable timeout (default 10s) in vcpkg_acquire_msys (by @jgehw) -- [(#13176)](https://github.com/microsoft/vcpkg/pull/13176) [vcpkg_from_sourceforge] Determine sourceforge status (by @JackBoosY) -- [(#12229)](https://github.com/microsoft/vcpkg/pull/12229) [OpenMVG/OpenMVS] fix tools (by @cenit) -- [(#12903)](https://github.com/microsoft/vcpkg/pull/12903) [cspice] Add 64bit packages (by @NancyLi1013) -- [(#12687)](https://github.com/microsoft/vcpkg/pull/12687) [v8] Add v8 Javascript engine port (#372). (by @Kwizatz) -- [(#13237)](https://github.com/microsoft/vcpkg/pull/13237) [Readme] fix typo & sync content (by @KevinZonda) -- [(#13209)](https://github.com/microsoft/vcpkg/pull/13209) Fix link (by @SpriteOvO) -- [(#13200)](https://github.com/microsoft/vcpkg/pull/13200) [clapack, lapack-reference] Add conflict messages (by @NancyLi1013) -- [(#13174)](https://github.com/microsoft/vcpkg/pull/13174) [libhsplasma] Add new port (by @Hoikas) -- [(#12846)](https://github.com/microsoft/vcpkg/pull/12846) [vcpkg_configure_cmake] Pass CMAKE_DISABLE_SOURCE_CHANGES to all ports by default (by @ras0219) -- [(#13019)](https://github.com/microsoft/vcpkg/pull/13019) [vcpkg] Replace uses of msys pacman.exe with direct package downloads (by @ras0219) -- [(#13228)](https://github.com/microsoft/vcpkg/pull/13228) [vcpkg] Implement 'repository' tag for NuGet binary caching (by @ras0219) -- [(#13302)](https://github.com/microsoft/vcpkg/pull/13302) [vcpkg] Add July 2020 changelog (by @grdowns) -- [(#13295)](https://github.com/microsoft/vcpkg/pull/13295) [vcpkg baseline][rest-rpc] Skip check in baseline (by @JackBoosY) -- [(#13038)](https://github.com/microsoft/vcpkg/pull/13038) [vcpkg] Registries MVP (by @strega-nil) -- [(#13252)](https://github.com/microsoft/vcpkg/pull/13252) [hypre] Update to 2.19.0 (by @albertziegenhagel) -- [(#13313)](https://github.com/microsoft/vcpkg/pull/13313) [vcpkg.cmake] error out if the mode has changed (by @strega-nil) -- [(#12857)](https://github.com/microsoft/vcpkg/pull/12857) [many ports] Add supports (by @PhoebeHui) -- [(#11290)](https://github.com/microsoft/vcpkg/pull/11290) [vcpkg] #11129: Add VCPKG_LINKER_FLAGS_. (by @psfrolov) -- [(#13231)](https://github.com/microsoft/vcpkg/pull/13231) [vcpkg] Delay failures in `vcpkg install` until missing manifest requested (by @ras0219) -- [(#13297)](https://github.com/microsoft/vcpkg/pull/13297) [vcpkg_acquire_msys.cmake] Add gettext tool (by @StarGate-One) -- [(#13290)](https://github.com/microsoft/vcpkg/pull/13290) [vcpkg] Fix compile on gcc 6 (by @strega-nil) -- [(#13229)](https://github.com/microsoft/vcpkg/pull/13229) [blaze][ceres][clapack][geogram][lapack][lapack-reference][opencv4][selene] Fix deps issues (by @ras0219) -- [(#10645)](https://github.com/microsoft/vcpkg/pull/10645) Fix [boost] MSVC 2013 v120 Build (by @ManuelKugelmann) -- [(#13267)](https://github.com/microsoft/vcpkg/pull/13267) [powershell] Update to 7.0.3 (by @JackBoosY) -- [(#12509)](https://github.com/microsoft/vcpkg/pull/12509) [vcpkg] json format for search (by @dan-shaw) -- [(#11880)](https://github.com/microsoft/vcpkg/pull/11880) [vcpkg] Add community triple arm64-linux and arm-linux. (by @xieyubo) -- [(#12396)](https://github.com/microsoft/vcpkg/pull/12396) [chromium-base] Add new port (by @vejmartin) -- [(#13378)](https://github.com/microsoft/vcpkg/pull/13378) [vcpkg] Fixed 'update' command output (by @lazyhamster) -- [(#13382)](https://github.com/microsoft/vcpkg/pull/13382) [xtensor-io] [taskflow] [tcl] [sophus] Fix CI 2020-09-06 (by @BillyONeal) -- [(#12981)](https://github.com/microsoft/vcpkg/pull/12981) [vcpkg] Improve Json error messages (by @ras0219) -- [(#13398)](https://github.com/microsoft/vcpkg/pull/13398) [vcpkg] Fix compilation on VS2015 (by @ras0219) -- [(#13387)](https://github.com/microsoft/vcpkg/pull/13387) [boost] Remove invalid identifier !v120 (by @PhoebeHui) -- [(#12926)](https://github.com/microsoft/vcpkg/pull/12926) [execute_process] Don't strip embedded semicolons (by @jgehw) -- [(#13386)](https://github.com/microsoft/vcpkg/pull/13386) [vcpkg] improve s390x support (by @lebdron) -- [(#13401)](https://github.com/microsoft/vcpkg/pull/13401) [tmx] Fix build failure (by @JackBoosY) -- [(#13240)](https://github.com/microsoft/vcpkg/pull/13240) [vcpkg|toolchain] add VCPKG_OVERLAY_(PORTS|TRIPLETS) to the toolchain (by @Neumann-A) -- [(#13140)](https://github.com/microsoft/vcpkg/pull/13140) [taskflow] Update cpp-taskflow 2.2.0 to taskflow 2.6.0 (by @mfornace) -- [(#12746)](https://github.com/microsoft/vcpkg/pull/12746) Fix issue "print out missing path in read_lines" #12745. (by @martin-s) -- [(#13421)](https://github.com/microsoft/vcpkg/pull/13421) [vcpkg] Merge the vcpkg metadata uploader into the vcpkg binary (by @BillyONeal) -- [(#13489)](https://github.com/microsoft/vcpkg/pull/13489) Fix bootstrap on VS2019. (by @BillyONeal) -- [(#13488)](https://github.com/microsoft/vcpkg/pull/13488) [vcpkg manifest] Add documentation! (by @strega-nil) -- [(#13497)](https://github.com/microsoft/vcpkg/pull/13497) [tool-meson] Update to 0.55.3 (by @c72578) -- [(#13486)](https://github.com/microsoft/vcpkg/pull/13486) [vcpkg] Add metrics for binarycaching feature (by @ras0219) -- [(#13517)](https://github.com/microsoft/vcpkg/pull/13517) [vcpkg-docs] Add docs/users/binarycaching.md (by @ras0219) -- [(#13589)](https://github.com/microsoft/vcpkg/pull/13589) [vcpkg manifest-mode] Fix parallel msbuild failures (by @strega-nil) -- [(#13609)](https://github.com/microsoft/vcpkg/pull/13609) [vcpkg] Keep sym links in Linux zip cache files (by @here-mikelley) -- [(#13508)](https://github.com/microsoft/vcpkg/pull/13508) [vcpkg] Add build scripts to produce signed vcpkg binaries. (by @BillyONeal) -- [(#13560)](https://github.com/microsoft/vcpkg/pull/13560) [Many ports] Update to the latest version or commit (by @NancyLi1013) -- [(#13529)](https://github.com/microsoft/vcpkg/pull/13529) [scintilla] Add static linking to Scintilla (by @alek-d) -- [(#13629)](https://github.com/microsoft/vcpkg/pull/13629) [mimalloc] Update to 1.6.4 (by @JonLiu1993) -- [(#13537)](https://github.com/microsoft/vcpkg/pull/13537) [vcpkg] Fix the case of current_path() before use on Windows. (by @BillyONeal) -- [(#13685)](https://github.com/microsoft/vcpkg/pull/13685) [documentation] Fix manifest link (by @JackBoosY) -- [(#13667)](https://github.com/microsoft/vcpkg/pull/13667) [vcpkg] Show Empty Object on vcpkg --list when used with --x-json (by @pratikpc) -- [(#13562)](https://github.com/microsoft/vcpkg/pull/13562) [Ninja] update to 1.10.1 (by @Farwaykorse) -- [(#13665)](https://github.com/microsoft/vcpkg/pull/13665) [scintilla] Update to 4.4.5 (by @alek-d) -- [(#13491)](https://github.com/microsoft/vcpkg/pull/13491) [vcpkg, libpq] separate static and shared library installations (by @lebdron) -- [(#13450)](https://github.com/microsoft/vcpkg/pull/13450) try fixing x264 (by @Neumann-A) -- [(#13619)](https://github.com/microsoft/vcpkg/pull/13619) [vcpkg macos ci] Switch to using our own base boxes, to fix bringing up mac machines (by @strega-nil) -- [(#13722)](https://github.com/microsoft/vcpkg/pull/13722) [vcpkg] Fix Windows pipeline's outdated Ninja reference (by @ras0219-msft) -- [(#13451)](https://github.com/microsoft/vcpkg/pull/13451) [qt5-location] Rename vendored libs to avoid conflicts (by @ras0219) -- [(#13732)](https://github.com/microsoft/vcpkg/pull/13732) [vcpkg_build_cmake] Set PARALLEL_ARG when using Ninja (by @JackBoosY) -- [(#13669)](https://github.com/microsoft/vcpkg/pull/13669) [vcpkg] Skip all files named .DS_Store, no need to check if the file is regular (by @ras0219) -- [(#13708)](https://github.com/microsoft/vcpkg/pull/13708) [libidn2] Support UNIX (by @JackBoosY) -- [(#13644)](https://github.com/microsoft/vcpkg/pull/13644) Update the latest g++-10 version if exists (by @cngzhnp) -- [(#13571)](https://github.com/microsoft/vcpkg/pull/13571) Add compiler info to nuspec description (by @RoguePointer80) -- [(#12790)](https://github.com/microsoft/vcpkg/pull/12790) [vcpkg] add env var VCPKG_OVERLAY_TRIPLETS (by @Neumann-A) -- [(#13775)](https://github.com/microsoft/vcpkg/pull/13775) [vcpkg baseline] Skip libvmdk (by @NancyLi1013) -- [(#13748)](https://github.com/microsoft/vcpkg/pull/13748) Add MSVC-internal testing scripts to public GitHub. (by @BillyONeal) -- [(#13794)](https://github.com/microsoft/vcpkg/pull/13794) [vcpkg] fix ci #13790 (by @Neumann-A) -- [(#13799)](https://github.com/microsoft/vcpkg/pull/13799) [vcpkg osx ci] update 2020-09-28 (by @strega-nil) -- [(#13735)](https://github.com/microsoft/vcpkg/pull/13735) Added spanish readme (by @ninjaoflight) -- [(#13385)](https://github.com/microsoft/vcpkg/pull/13385) [osgearth] update to latest to fix build issue with latest geos (by @ankurverma85) -- [(#13830)](https://github.com/microsoft/vcpkg/pull/13830) [libqcow] Skip in all triplets because the upstream GitHub purges old archives (by @ras0219) -- [(#13711)](https://github.com/microsoft/vcpkg/pull/13711) [vcpkg/manifest] write manifest install logs into the build dir. (by @Neumann-A) -- [(#13889)](https://github.com/microsoft/vcpkg/pull/13889) [vcpkg_acquire_msys] Use Mirrors (by @ras0219-msft) -- [(#13810)](https://github.com/microsoft/vcpkg/pull/13810) [mbedtls] Add supports (by @PhoebeHui) -- [(#13858)](https://github.com/microsoft/vcpkg/pull/13858) [tinyutf8, moos-core] Re-enable in CI. (by @BillyONeal) -- [(#13829)](https://github.com/microsoft/vcpkg/pull/13829) [vcpkg macos ci] modify README slightly (by @strega-nil) -- [(#13903)](https://github.com/microsoft/vcpkg/pull/13903) [vcpkg] run both cxx and c compiler id. (by @Neumann-A) -- [(#13751)](https://github.com/microsoft/vcpkg/pull/13751) [vcpkg] Enable reentrant vcpkg calls (by @ras0219) -- [(#13446)](https://github.com/microsoft/vcpkg/pull/13446) [vcpkg] Avoid computing triplet ABIs for editable packages (by @ras0219) -- [(#13734)](https://github.com/microsoft/vcpkg/pull/13734) [gitignore] add default build dir of vs code to ignore list (by @Neumann-A) -- [(#13767)](https://github.com/microsoft/vcpkg/pull/13767) Upgrade log4cxx (by @stephen-webb) -- [(#13803)](https://github.com/microsoft/vcpkg/pull/13803) [libwebsockets] Update to the latest version (by @NancyLi1013) -- [(#13857)](https://github.com/microsoft/vcpkg/pull/13857) Always accept = or space as delimiters when parsing common command line parameters. (by @BillyONeal) -- [(#13821)](https://github.com/microsoft/vcpkg/pull/13821) [7zip] Add supports field (by @NancyLi1013) -- [(#13623)](https://github.com/microsoft/vcpkg/pull/13623) [vcpkg] Use more forward declarations rather than definitions (by @cngzhnp) -- [(#13585)](https://github.com/microsoft/vcpkg/pull/13585) [log4cplus/muparser/nmslib] Update to the latest version (by @NancyLi1013) -- [(#13559)](https://github.com/microsoft/vcpkg/pull/13559) [fastcdr/jack2/fcl/ensmallen/hwloc] Update to latest release (by @PhoebeHui) -- [(#13399)](https://github.com/microsoft/vcpkg/pull/13399) [vcpkg] Further JSON error improvements (by @ras0219) -- [(#13964)](https://github.com/microsoft/vcpkg/pull/13964) [qca]support linux-osx-static build (by @longhuan2018) -- [(#13713)](https://github.com/microsoft/vcpkg/pull/13713) [vcpkg/manifest/toolchain] Add install/bootstrap options & fix CACHE variables usage (by @Neumann-A) -- [(#14000)](https://github.com/microsoft/vcpkg/pull/14000) [vcpkg/configure_make] add USE_WRAPPERS option (by @Neumann-A) -- [(#14005)](https://github.com/microsoft/vcpkg/pull/14005) [akali] Update to v1.42 (by @winsoft666) -- [(#13011)](https://github.com/microsoft/vcpkg/pull/13011) [vcpkg] VCPKG_APPINSTALL_DEPS install dependencies on install #1653 (by @sandercox) -- [(#13860)](https://github.com/microsoft/vcpkg/pull/13860) [halide] Update to version 10.0.0 (by @alexreinking) -- [(#14001)](https://github.com/microsoft/vcpkg/pull/14001) [vcpkg/configure_make] add option DETERMINE_BUILD_TRIPLET (by @Neumann-A) -- [(#14054)](https://github.com/microsoft/vcpkg/pull/14054) [chakracore,gamma,libopenmpt,portaudio,usrsctp] Fix baseline for 2020-10-14 (by @BillyONeal) -- [(#14002)](https://github.com/microsoft/vcpkg/pull/14002) [vcpkg/configure_cmake] add LOGNAME option (by @Neumann-A) -- [(#14036)](https://github.com/microsoft/vcpkg/pull/14036) [antlr4] update to 4.8 (by @capra314cabra) -- [(#13477)](https://github.com/microsoft/vcpkg/pull/13477) [qt5] Update to 5.15.1 (by @Neumann-A) -- [(#13730)](https://github.com/microsoft/vcpkg/pull/13730) [vcpkg_common_definitions] Add macro VCPKG_HOST_IS_ (by @JackBoosY) -- [(#13465)](https://github.com/microsoft/vcpkg/pull/13465) [vcpkg] Set CMAKE_SYSTEM_PROCESSOR if target architecture is arm-linux or arm64-linux. (by @xieyubo) -- [(#12612)](https://github.com/microsoft/vcpkg/pull/12612) [cmake] upgrade to 3.18 (by @cenit) -- [(#13025)](https://github.com/microsoft/vcpkg/pull/13025) [CMake] VCPKG_APPLOCAL_DEPS sometimes causes conflicts when processing multiple files in the same directory (by @sandercox) -- [(#14050)](https://github.com/microsoft/vcpkg/pull/14050) [libvorbis] MinGW build fix (by @Trider12) -- [(#14120)](https://github.com/microsoft/vcpkg/pull/14120) [freetds] Update to v1.2.5 and update source to github. (by @BillyONeal) -- [(#14142)](https://github.com/microsoft/vcpkg/pull/14142) [ptex] Fix build on *inx (by @JackBoosY) -- [(#14079)](https://github.com/microsoft/vcpkg/pull/14079) [vcpkg] Add `versions` feature flag and version field manifest parsing (by @ras0219) -- [(#13540)](https://github.com/microsoft/vcpkg/pull/13540) [libp7-baical] Fix build error (by @NancyLi1013) -- [(#14129)](https://github.com/microsoft/vcpkg/pull/14129) [vcpkg] Vcpkg appinstall deps fixes (by @sandercox) -- [(#13953)](https://github.com/microsoft/vcpkg/pull/13953) [vcpkg_find_acquire_program] Fix SWIG on non-Windows platforms. (by @Hoikas) -- [(#14188)](https://github.com/microsoft/vcpkg/pull/14188) [vcpkg] Print more verbose compiler detection info (by @ekilmer) -- [(#13972)](https://github.com/microsoft/vcpkg/pull/13972) Fix forward declarations & replace fwd header files (by @cngzhnp) -- [(#14208)](https://github.com/microsoft/vcpkg/pull/14208) [Many Ports] Baseline Fixes for 2020-10-24 CI Build (by @BillyONeal) -- [(#14220)](https://github.com/microsoft/vcpkg/pull/14220) [vcpkg] update msys-libiconv version (by @ludchieng) -- [(#13777)](https://github.com/microsoft/vcpkg/pull/13777) [vcpkg] Implement versions db generator (by @vicroms) -- [(#13968)](https://github.com/microsoft/vcpkg/pull/13968) [vcpkg] Fix more cases of semicolon mishandling in "scripts" - follow-up to PR #12926 (by @jgehw) -- [(#14147)](https://github.com/microsoft/vcpkg/pull/14147) [lcm] Fix build error on Linux (by @LilyWangL) -- [(#14262)](https://github.com/microsoft/vcpkg/pull/14262) [vcpkg] Always use version-string in generator (by @vicroms) -- [(#14260)](https://github.com/microsoft/vcpkg/pull/14260) [vcpkg] Always publish failure logs, even on success. (by @BillyONeal) -- [(#11363)](https://github.com/microsoft/vcpkg/pull/11363) [vcpkg] Use named mutex to serialize dll copies (by @thomasgt) -- [(#13701)](https://github.com/microsoft/vcpkg/pull/13701) [folly/fizz/wangle/proxygen/fbthrift] Update to latest revision (by @PhoebeHui) -- [(#13805)](https://github.com/microsoft/vcpkg/pull/13805) [vcpkg, jsonnet, openssl-uwp] Enable use of the system powershell-core if it is present. (by @BillyONeal) -- [(#14271)](https://github.com/microsoft/vcpkg/pull/14271) [vcpkg] Fix search for pwsh in vcpkgtools.xml. (by @BillyONeal) -- [(#14102)](https://github.com/microsoft/vcpkg/pull/14102) [boost] Enable Boost building with wasm32-emscripten (by @stoperro) -- [(#14003)](https://github.com/microsoft/vcpkg/pull/14003) [vcpkg baseline] [vs-yasm] Build yasm instead of downloading it to work around memory corruption bugs in yasm itself. (by @BillyONeal) -- [(#14202)](https://github.com/microsoft/vcpkg/pull/14202) [vcpkg] Remove hard-coded ApiKey from nuget push (by @ekilmer) -- [(#13158)](https://github.com/microsoft/vcpkg/pull/13158) [ocilib] Update to 4.7.0 (by @JonLiu1993) -- [(#13374)](https://github.com/microsoft/vcpkg/pull/13374) [vcpkg] Support cross compile arm64-linux, arm-linux triplets on a linux x86_64 host. (by @xieyubo) -- [(#14269)](https://github.com/microsoft/vcpkg/pull/14269) [vcpkg] mingw: Add compiler executable name into toolchain file (by @longnguyen2004) -- [(#13971)](https://github.com/microsoft/vcpkg/pull/13971) [vcpkg] translate the README to french (by @x0rld) - -
-The following 109 ports have been added: - -|port|version| -|---|---| -|[detect_compiler](https://github.com/microsoft/vcpkg/pull/12203)| 0#0 -|[ppmagic](https://github.com/microsoft/vcpkg/pull/12253)| 2020-07-03#0 -|[getdns](https://github.com/microsoft/vcpkg/pull/12090)| 1.6.0#0 -|[font-chef](https://github.com/microsoft/vcpkg/pull/12293)| 1.0.1#0 -|[implot](https://github.com/microsoft/vcpkg/pull/11920)| 0.3-1#0 -|[libfort](https://github.com/microsoft/vcpkg/pull/12305)| 0.4.1#0 -|[threadpool](https://github.com/microsoft/vcpkg/pull/11650)| 0.2.5#1 -|[mygui](https://github.com/microsoft/vcpkg/pull/11991)| 2020-06-17#0 -|[kfr](https://github.com/microsoft/vcpkg/pull/8322)| 2020-06-15#0 -|[meshoptimizer](https://github.com/microsoft/vcpkg/pull/12211)| 0.14#1 -|[edlib](https://github.com/microsoft/vcpkg/pull/12490)| 1.2.6#0 -|[neargye-semver](https://github.com/microsoft/vcpkg/pull/12406)| 0.2.2#0 -|[marble](https://github.com/microsoft/vcpkg/pull/8628)| 19.08.2#0 -|[simple-fft](https://github.com/microsoft/vcpkg/pull/11929)| 2020-06-14#0 -|[stx](https://github.com/microsoft/vcpkg/pull/12011)| 1.0.1#0 -|[rsocket](https://github.com/microsoft/vcpkg/pull/11021)| 2020.05.04.00-1#0 -|[brpc](https://github.com/microsoft/vcpkg/pull/11524)| 0.9.7#0 -|[gamedev-framework](https://github.com/microsoft/vcpkg/pull/12426)[#14066](https://github.com/microsoft/vcpkg/pull/14066) | 0.18.0#0 -|[audiofile](https://github.com/microsoft/vcpkg/pull/12482)| 1.0.7#0 -|[tomlplusplus](https://github.com/microsoft/vcpkg/pull/10786)| 1.3.0-3#0 -|[vcpkg-ci-paraview](https://github.com/microsoft/vcpkg/pull/12342)| 1#1 -|[avro-cpp](https://github.com/microsoft/vcpkg/pull/11376)| 1.9.2#0 -|[xframe](https://github.com/microsoft/vcpkg/pull/12427)| 0.3.0#0 -|[minc](https://github.com/microsoft/vcpkg/pull/11208)| 2.4.03#0 -|[nifticlib](https://github.com/microsoft/vcpkg/pull/11208)| 2020-04-30#0 -|[pngpp](https://github.com/microsoft/vcpkg/pull/12705)| 0.2.10#0 -|[ngspice](https://github.com/microsoft/vcpkg/pull/12695)| 32#0 -|[lzokay](https://github.com/microsoft/vcpkg/pull/12655)| 2020-07-30#0 -|[josuttis-jthread](https://github.com/microsoft/vcpkg/pull/12497)| 2020-07-21#0 -|[lapack](https://github.com/microsoft/vcpkg/pull/12464)| 0#0 -|[colmap](https://github.com/microsoft/vcpkg/pull/12410)| 3.6#0 -|[qwtw](https://github.com/microsoft/vcpkg/pull/12748)| 3.0#0 -|[cppad](https://github.com/microsoft/vcpkg/pull/12560)| 20200000.3#0 -|[kf5completion](https://github.com/microsoft/vcpkg/pull/11861)| 5.64.0#0 -|[kf5config](https://github.com/microsoft/vcpkg/pull/11861)| 5.64.0#0 -|[kf5coreaddons](https://github.com/microsoft/vcpkg/pull/11861)| 5.64.0#0 -|[kf5crash](https://github.com/microsoft/vcpkg/pull/11861)| 5.64.0#0 -|[kf5guiaddons](https://github.com/microsoft/vcpkg/pull/11861)| 5.64.0#0 -|[kf5i18n](https://github.com/microsoft/vcpkg/pull/11861)| 5.64.0#0 -|[kf5itemmodels](https://github.com/microsoft/vcpkg/pull/11861)| 5.64.0#0 -|[kf5itemviews](https://github.com/microsoft/vcpkg/pull/11861)| 5.64.0#0 -|[kf5widgetsaddons](https://github.com/microsoft/vcpkg/pull/11861)| 5.64.0#0 -|[kf5windowsystem](https://github.com/microsoft/vcpkg/pull/11861)| 5.64.0#0 -|[libde265](https://github.com/microsoft/vcpkg/pull/11861)| 1.0.5#0 -|[libheif](https://github.com/microsoft/vcpkg/pull/11861)| 1.7.0#0 -|[quazip](https://github.com/microsoft/vcpkg/pull/11861)| 0.9.1#0 -|[vc](https://github.com/microsoft/vcpkg/pull/11861)| 1.4.1#0 -|[tlx](https://github.com/microsoft/vcpkg/pull/11943)| 0.5.20191212#0 -|[crashrpt](https://github.com/microsoft/vcpkg/pull/9162)| 1.4.3#0 -|[dbghelp](https://github.com/microsoft/vcpkg/pull/9162)| 0.0#0 -|[directxsdk](https://github.com/microsoft/vcpkg/pull/12778)| jun10#0 -|[opencolorio-tools](https://github.com/microsoft/vcpkg/pull/12420)| 1.1.1#0 -|[lapack-reference](https://github.com/microsoft/vcpkg/pull/12805)| 3.8.0#0 -|[vcpkg-gfortran](https://github.com/microsoft/vcpkg/pull/12805)| 1#0 -|[constexpr-contracts](https://github.com/microsoft/vcpkg/pull/12818)| 2020-08-09#0 -|[numcpp](https://github.com/microsoft/vcpkg/pull/12682)| 2.1.0#0 -|[behaviortree-cpp](https://github.com/microsoft/vcpkg/pull/12769)| 3.5.1#0 -|[fluidlite](https://github.com/microsoft/vcpkg/pull/13006)| 2020-08-20#0 -|[boost-uninstall](https://github.com/microsoft/vcpkg/pull/12851)| 1.73.0#0 -|[vlfeat](https://github.com/microsoft/vcpkg/pull/12229)| 2020-07-10#0 -|[v8](https://github.com/microsoft/vcpkg/pull/12687)| 8.3.110.13#0 -|[rest-rpc](https://github.com/microsoft/vcpkg/pull/13232)| 0.07#0 -|[cpu-features](https://github.com/microsoft/vcpkg/pull/12681)| 0.4.1#0 -|[libhsplasma](https://github.com/microsoft/vcpkg/pull/13174)| 2020.08.30#0 -|[sentry-native](https://github.com/microsoft/vcpkg/pull/13118)| 0.4.0#0 -|[libxmlmm](https://github.com/microsoft/vcpkg/pull/13139)| 0.6.0#0 -|[levmar](https://github.com/microsoft/vcpkg/pull/13164)| 2.6#0 -|[knet](https://github.com/microsoft/vcpkg/pull/13207)| 1.0.1#0 -|[rappture](https://github.com/microsoft/vcpkg/pull/13321)| 1.9#0 -|[serd](https://github.com/microsoft/vcpkg/pull/13260)| 0.30.4#0 -|[chromium-base](https://github.com/microsoft/vcpkg/pull/12396)| 86.0.4199.1#0 -|[sord](https://github.com/microsoft/vcpkg/pull/13411)| 0.16.4#0 -|[mp-units](https://github.com/microsoft/vcpkg/pull/13416)| 0.6.0#0 -|[lerc](https://github.com/microsoft/vcpkg/pull/13358)| 2.2#0 -|[irrxml](https://github.com/microsoft/vcpkg/pull/13264)| 1.2#0 -|[kubazip](https://github.com/microsoft/vcpkg/pull/13264)| 0.1.19#0 -|[poly2tri](https://github.com/microsoft/vcpkg/pull/13264)| 2020-07-21#0 -|[taskflow](https://github.com/microsoft/vcpkg/pull/13140)| 2.6.0#0 -|[hffix](https://github.com/microsoft/vcpkg/pull/13433)| 1.0.0#0 -|[d3dx12](https://github.com/microsoft/vcpkg/pull/13360)| may2020#0 -|[croncpp](https://github.com/microsoft/vcpkg/pull/13359)| 2020-09-04#1 -|[triangle](https://github.com/microsoft/vcpkg/pull/13322)| 1.6#0 -|[dartsim](https://github.com/microsoft/vcpkg/pull/13320)| 9.4.0#0 -|[unqlite](https://github.com/microsoft/vcpkg/pull/13544)| 1.1.9#0 -|[lv2](https://github.com/microsoft/vcpkg/pull/13462)| 1.18.0#0 -|[fbthrift](https://github.com/microsoft/vcpkg/pull/13072)| 2019.11.11.00#0 -|[libsigcpp-3](https://github.com/microsoft/vcpkg/pull/13412)| 3.0.3#0 -|[libsbml](https://github.com/microsoft/vcpkg/pull/13524)| 5.18.0#0 -|[opencascade](https://github.com/microsoft/vcpkg/pull/13493)| 7.4.0#0 -|[opensubdiv](https://github.com/microsoft/vcpkg/pull/13695)| 3.4.3#0 -|[tinyexpr](https://github.com/microsoft/vcpkg/pull/13729)| 2020-09-25#0 -|[mikktspace](https://github.com/microsoft/vcpkg/pull/13900)| 2020-10-06#0 -|[sltbench](https://github.com/microsoft/vcpkg/pull/13886)| 2.4.0#0 -|[rbdl](https://github.com/microsoft/vcpkg/pull/13884)| 2.6.0#0 -|[sqlcipher](https://github.com/microsoft/vcpkg/pull/13786)| 4.4.0#0 -|[sratom](https://github.com/microsoft/vcpkg/pull/13771)| 0.6.4#0 -|[libspnav](https://github.com/microsoft/vcpkg/pull/14052)| 0.2.3#0 -|[kenlm](https://github.com/microsoft/vcpkg/pull/13692)| 20200924#0 -|[ezc3d](https://github.com/microsoft/vcpkg/pull/14016)| 1.3.7#0 -|[vulkan-headers](https://github.com/microsoft/vcpkg/pull/14116)| 1.2.157#0 -|[shaderwriter](https://github.com/microsoft/vcpkg/pull/14088)| 2020-10-15#0 -|[libjuice](https://github.com/microsoft/vcpkg/pull/13703)| 0.5.2#0 -|[lilv](https://github.com/microsoft/vcpkg/pull/14080)| 0.24.10#0 -|[ashes](https://github.com/microsoft/vcpkg/pull/14087)| 2020-10-21#0 -|[yasm-tool-helper](https://github.com/microsoft/vcpkg/pull/14003)| 2020-10-12#0 -|[yasm-tool](https://github.com/microsoft/vcpkg/pull/14003)| 2020-10-12#0 -|[krabsetw](https://github.com/microsoft/vcpkg/pull/14192)| 4.1.13#0 -|[faiss](https://github.com/microsoft/vcpkg/pull/13825)| 1.6.4#0 -|[oatpp-sqlite](https://github.com/microsoft/vcpkg/pull/14107)| 1.2.0#0 -
- -
-The following 35 ports have been updated: - -- marl `2020-05-21#0` -> `2020-06-30#0` - - [(#12162)](https://github.com/microsoft/vcpkg/pull/12162) [marl] Update to 2020-06-30 - -- simdjson `2020-05-26#0` -> `0.4.6#0` - - [(#12140)](https://github.com/microsoft/vcpkg/pull/12140) [simdjson] Update to 0.4.6 - -- blend2d `beta_2020-06-01#0` -> `beta_2020-07-09#0,` - - [(#12360)](https://github.com/microsoft/vcpkg/pull/12360) [blend2d] Update to beta_2020-07-09 - -- libb2 `0.98.1-2#0` -> `0.98.1#3,` - - [(#12398)](https://github.com/microsoft/vcpkg/pull/12398) [libb2] Add supports and install pkg-conifg on macOS VM - -- geographiclib `1.47-patch1-16#0` -> `1.50.1#0` - - [(#12379)](https://github.com/microsoft/vcpkg/pull/12379) [geographiclib] Update to 1.50.1 - -- ogre `1.12.1-1#0` -> `1.12.7#0` - - [(#12210)](https://github.com/microsoft/vcpkg/pull/12210) [ogre] Update to version 1.12.7 and fix link error - -- libmodbus `3.1.6#0` -> `3.1.6#1,` - - [(#12530)](https://github.com/microsoft/vcpkg/pull/12530) [libmodbus] Fix static linkage error - -- mpir `3.0.0-8#0` -> `3.0.0#9,` - - [(#12514)](https://github.com/microsoft/vcpkg/pull/12514) [mpir] Fix build error if VCPKG_BUILD_TYPE is set as release or debug - -- mosquitto `1.6.8-1#0` -> `1.6.8#"2",` - - [(#12536)](https://github.com/microsoft/vcpkg/pull/12536) [mosquitto] Add vcpkg-cmake-wrapper.cmake and vcpkg.json - -- coroutine `1.5.0#0` -> `1.5.0#"1",` - - [(#12456)](https://github.com/microsoft/vcpkg/pull/12456) [coroutine] Fix error C7651 - -- argtable3 `2019-08-21#0` -> `3.1.5#0` - - [(#12421)](https://github.com/microsoft/vcpkg/pull/12421) [argtable3] Update to 3.1.5 - -- gmp `6.2.0-2#0` -> `6.2.0#3,` - - [(#12664)](https://github.com/microsoft/vcpkg/pull/12664) [mpir, gmp] Add message to handle the conflicts between these two ports - -- libass `0.14.0#0` -> `0.14.0#3,` - - [(#12528)](https://github.com/microsoft/vcpkg/pull/12528) [libass] Fix build error on x64-windows-static - -- cmocka `1.1.5#0` -> `2020-08-01#0` - - [(#12828)](https://github.com/microsoft/vcpkg/pull/12828) [cmocka] Update to 2020-08-01 - -- libvorbis `1.3.6-4d963fe#0` -> `1.3.7#0` - - [(#12909)](https://github.com/microsoft/vcpkg/pull/12909) [libvorbis] Update to 1.3.7 - -- libsndfile `1.0.29#0` -> `1.0.29#11,` - - [(#12921)](https://github.com/microsoft/vcpkg/pull/12921) [libsndfile] Update to 1.0.29 - -- bzip2 `1.0.8#0` -> `1.0.8#1,` - - [(#13242)](https://github.com/microsoft/vcpkg/pull/13242) [bzip2] Add SHA512 hash check - -- xbyak `5.93#0` -> `5.97#0` - - [(#13553)](https://github.com/microsoft/vcpkg/pull/13553) [xbyak] Update port to 5.97 - -- nng `1.3.0#0` -> `1.3.2#0` - - [(#13545)](https://github.com/microsoft/vcpkg/pull/13545) [nng] Update to 1.3.2 - -- infoware `0.5.5#0` -> `0.5.5#1,` - - [(#13822)](https://github.com/microsoft/vcpkg/pull/13822) [infoware] fix linking issues with non-release builds - -- sdl2 `2.0.12#0` -> `2.0.12#5,` - - [(#13801)](https://github.com/microsoft/vcpkg/pull/13801) [sdl2] Fix build when VCPKG_BUILD_TYPE is set to "release" - -- chakracore `1.11.22#0` -> `1.11.22#1,` - - [(#14054)](https://github.com/microsoft/vcpkg/pull/14054) [chakracore,gamma,libopenmpt,portaudio,usrsctp] Fix baseline for 2020-10-14 - -- libopenmpt `2017-01-28-cf2390140#0` -> `2017-01-28-cf2390140#1,` - - [(#14054)](https://github.com/microsoft/vcpkg/pull/14054) [chakracore,gamma,libopenmpt,portaudio,usrsctp] Fix baseline for 2020-10-14 - -- portaudio `2020-02-02#0` -> `2020-02-02#2,` - - [(#14054)](https://github.com/microsoft/vcpkg/pull/14054) [chakracore,gamma,libopenmpt,portaudio,usrsctp] Fix baseline for 2020-10-14 - -- itk `5.1.0#0` -> `5.1.0#3,` - - [(#14056)](https://github.com/microsoft/vcpkg/pull/14056) [itk,libsamplerate,libsndfile] Apply some Visual Studio 2019 version 16.9 preview 1 workarounds - -- libsamplerate `0.1.9.0-1#0` -> `0.1.9.0#2,` - - [(#14056)](https://github.com/microsoft/vcpkg/pull/14056) [itk,libsamplerate,libsndfile] Apply some Visual Studio 2019 version 16.9 preview 1 workarounds - -- json-dto `0.2.10#0` -> `0.2.11#0` - - [(#14084)](https://github.com/microsoft/vcpkg/pull/14084) [json-dto] update to v.0.2.11 - -- freetds `1.1.17#0` -> `1.2.5#0` - - [(#14120)](https://github.com/microsoft/vcpkg/pull/14120) [freetds] Update to v1.2.5 and update source to github. - -- restinio `0.6.10#0` -> `0.6.11#0` - - [(#14162)](https://github.com/microsoft/vcpkg/pull/14162) [restinio] update to v.0.6.11 - -- cppwinrt `fall_2017_creators_update_for_vs_15.3-2#0` -> `windows-sdk#0` - - [(#14092)](https://github.com/microsoft/vcpkg/pull/14092) [cppwinrt] Update to version 2.0.201008.2 - -- vs-yasm `0.5.0#0` -> `0.5.0#1,` - - [(#14003)](https://github.com/microsoft/vcpkg/pull/14003) [vcpkg baseline] [vs-yasm] Build yasm instead of downloading it to work around memory corruption bugs in yasm itself. - -- asio `1.12.2-2#0` -> `1.18.0#0` - - [(#14167)](https://github.com/microsoft/vcpkg/pull/14167) [asio] update to version 1.18.0 (#14095) - -- opendnp3 `2.3.2#0` -> `3.1.0#0` - - [(#14167)](https://github.com/microsoft/vcpkg/pull/14167) [asio] update to version 1.18.0 (#14095) - -- restbed `4.16-07-28-2018-2#0` -> `4.7#0` - - [(#14167)](https://github.com/microsoft/vcpkg/pull/14167) [asio] update to version 1.18.0 (#14095) - -- sqlitecpp `3.1.1#0` -> `3.1.1#1,` - - [(#14029)](https://github.com/microsoft/vcpkg/pull/14029) [sqlitecpp] Additions for sqlcipher port - -
- --- vcpkg team vcpkg@microsoft.com MON, 2 Nov 00:00:00 -0800 - -vcpkg (2020.06.16 - 2020.7.31) ---- -#### Total port count: 1429 -#### Total port count per triplet (tested): -|triplet|ports available| -|---|---| -|**x64-windows**|1304| -|x86-windows|1284| -|x64-windows-static|1213| -|**x64-osx**|1139| -|**x64-linux**|1210| -|arm64-windows|928| -|x64-uwp|700| -|arm-uwp|669| - -#### The following commands and options have been updated: -- `x-package-info` ***[NEW COMMAND]***: Allows viewing of port information in a requested format (currently json) - - [(#12845)](https://github.com/microsoft/vcpkg/pull/12845) [vcpkg] Lift `--x-json` to a global option, implement experimental `x-package-info` command (by @ras0219) -- `--editable` ***[NEW OPTION]***: Suppress binary caching and source re-extraction for packages listed on the command line - - [(#12200)](https://github.com/microsoft/vcpkg/pull/12200) [vcpkg] Implement --editable (by @ras0219) - - [(#12366)](https://github.com/microsoft/vcpkg/pull/12366) [vcpkg] Improve informational message for `--editable` while cleaning sources (by @ras0219) -- `--x-binarysource=` ***[NEW OPTION]***: Experimental: Support NuGet servers for retrieving and uploading of binary packages during builds - - [(#12058)](https://github.com/microsoft/vcpkg/pull/12058) [vcpkg] Implementation of --x-binarysource=nuget (and friends) (by @ras0219) -- `install` - - `--x-write-nuget-packages-config` ***[NEW OPTION]***: Experimental: Write out a NuGet packages config-formatted file for use with external binary caching - - [(#12138)](https://github.com/microsoft/vcpkg/pull/12138) [vcpkg] Implement --x-write-nuget-packages-config= setting for `install` and `x-set-installed` (by @ras0219) -- `x-set-installed` - - `--dry-run` ***[NEW OPTION]***: Perform a dry run by not actually building or installing - - [(#12132)](https://github.com/microsoft/vcpkg/pull/12132) [vcpkg-x-set-installed] Implement --dry-run (by @ras0219) -- `--x-json`: Lift this option to the global scope to request json output from compatible commands (see `x-package-info`) - - [(#12845)](https://github.com/microsoft/vcpkg/pull/12845) [vcpkg] Lift `--x-json` to a global option, implement experimental `x-package-info` command (by @ras0219) - -#### The following documentation has been updated: -- [vcpkg_from_sourceforge](docs/maintainers/vcpkg_from_sourceforge.md) ***[NEW]*** - - [(#11899)](https://github.com/microsoft/vcpkg/pull/11899) [vcpkg] Add vcpkg_from_sourceforge (1/2) (by @JackBoosY) - - [(#12018)](https://github.com/microsoft/vcpkg/pull/12018) [vcpkg_from_sourceforge] Add retry mirror function (2/2) (by @JackBoosY) - - [(#12254)](https://github.com/microsoft/vcpkg/pull/12254) [vcpkg] Track hashes of cmake script helpers in consuming portfiles (by @ras0219) -- [vcpkg_fixup_pkgconfig](docs/maintainers/vcpkg_fixup_pkgconfig.md) ***[NEW]*** - - [(#12254)](https://github.com/microsoft/vcpkg/pull/12254) [vcpkg] Track hashes of cmake script helpers in consuming portfiles (by @ras0219) -- [Binary Caching Specification](docs/specifications/binarycaching.md) ***[NEW]*** - - [(#11204)](https://github.com/microsoft/vcpkg/pull/11204) [vcpkg] RFC: Binarycaching (by @ras0219-msft) -- [README](README.md) - - [(#12093)](https://github.com/microsoft/vcpkg/pull/12093) [vcpkg docs] new README/Quick Start guide (by @strega-nil) -- [Patching Example](docs/examples/patching.md) - - [(#11952)](https://github.com/microsoft/vcpkg/pull/11952) [Document]Mention --ignore-space-at-eol in patching.md (by @Pospelove) - - [(#12200)](https://github.com/microsoft/vcpkg/pull/12200) [vcpkg] Implement --editable (by @ras0219) -- [vcpkg_fixup_cmake_targets](docs/maintainers/vcpkg_fixup_cmake_targets.md) - - [(#11275)](https://github.com/microsoft/vcpkg/pull/11275) [ignition-plugin1] Add new port 🤖 (by @traversaro) -- [Privacy](docs/about/privacy.md) - - [(#11757)](https://github.com/microsoft/vcpkg/pull/11757) [vcpkg manifest] Manifest Implementation (by @strega-nil) -- [Manifests](docs/specifications/manifests.md) - - [(#11757)](https://github.com/microsoft/vcpkg/pull/11757) [vcpkg manifest] Manifest Implementation (by @strega-nil) -- [Environment and Configuration](docs/users/config-environment.md) - - [(#11757)](https://github.com/microsoft/vcpkg/pull/11757) [vcpkg manifest] Manifest Implementation (by @strega-nil) - - [(#12640)](https://github.com/microsoft/vcpkg/pull/12640) [vcpkg] add environment variable VCPKG_OVERLAY_PORTS (by @Neumann-A) -- [Buildsystem Integration](docs/users/integration.md) - - [(#12145)](https://github.com/microsoft/vcpkg/pull/12145) [vcpkg] Update message in bootstrap.ps1 (by @PhoebeHui) - - [(#12873)](https://github.com/microsoft/vcpkg/pull/12873) [vcpkg] Fix bullet lists for integration.md on readthedocs.io (by @ftheile) -- [Installing and Using Packages](docs/examples/installing-and-using-packages.md) - - [(#12200)](https://github.com/microsoft/vcpkg/pull/12200) [vcpkg] Implement --editable (by @ras0219) - - [(#12516)](https://github.com/microsoft/vcpkg/pull/12516) [sqlite3] Namespaced targets with unofficial:: (by @PhoebeHui) -- [Packaging Zipfiles](docs/examples/packaging-zipfiles.md) - - [(#12200)](https://github.com/microsoft/vcpkg/pull/12200) [vcpkg] Implement --editable (by @ras0219) -- [CONTROL Files](docs/maintainers/control-files.md) - - [(#12227)](https://github.com/microsoft/vcpkg/pull/12227) [vcpkg manifests] fix some issues (by @strega-nil) -- [Portfile Functions](docs/maintainers/portfile-functions.md) - - [(#12254)](https://github.com/microsoft/vcpkg/pull/12254) [vcpkg] Track hashes of cmake script helpers in consuming portfiles (by @ras0219) -- [vcpkg_build_make](docs/maintainers/vcpkg_build_make.md) - - [(#12254)](https://github.com/microsoft/vcpkg/pull/12254) [vcpkg] Track hashes of cmake script helpers in consuming portfiles (by @ras0219) -- [vcpkg_common_definitions](docs/maintainers/vcpkg_common_definitions.md) - - [(#12254)](https://github.com/microsoft/vcpkg/pull/12254) [vcpkg] Track hashes of cmake script helpers in consuming portfiles (by @ras0219) -- [vcpkg_configure_make](docs/maintainers/vcpkg_configure_make.md) - - [(#12254)](https://github.com/microsoft/vcpkg/pull/12254) [vcpkg] Track hashes of cmake script helpers in consuming portfiles (by @ras0219) -- [vcpkg_find_acquire_program](docs/maintainers/vcpkg_find_acquire_program.md) - - [(#12254)](https://github.com/microsoft/vcpkg/pull/12254) [vcpkg] Track hashes of cmake script helpers in consuming portfiles (by @ras0219) -- [Triplets](docs/users/triplets.md) - - [(#12211)](https://github.com/microsoft/vcpkg/pull/12211) [corrade,magnum,*-plugins,*-extras,*-integration] Update to v2020.06 (by @Squareys) -- [Maintainer Guidelines and Policies](docs/maintainers/maintainer-guide.md) - - [(#12460)](https://github.com/microsoft/vcpkg/pull/12460) [vcpkg] Improve format check failure message (by @JackBoosY) -- [vcpkg_check_linkage.md](docs/maintainers/vcpkg_check_linkage.md) - - [(#12624)](https://github.com/microsoft/vcpkg/pull/12624) Fix .gitignore excluding triplets/community, sort, and driveby vcpkg_check_linkage.md doc bug. (by @BillyONeal) -- [Overlay Triplets Example: Dynamic Linux Library](docs/examples/overlay-triplets-linux-dynamic.md) - - [(#12516)](https://github.com/microsoft/vcpkg/pull/12516) [sqlite3] Namespaced targets with unofficial:: (by @PhoebeHui) - -#### The following *remarkable* changes have been made to vcpkg's infrastructure: -- Port Manifest: New feature to allow projects to state their dependencies in a declarative format - - [(#11757)](https://github.com/microsoft/vcpkg/pull/11757) [vcpkg manifest] Manifest Implementation (by @strega-nil) - - [(#12227)](https://github.com/microsoft/vcpkg/pull/12227) [vcpkg manifests] fix some issues (by @strega-nil) - - [(#12549)](https://github.com/microsoft/vcpkg/pull/12549) [vcpkg manifest] add feature support (by @strega-nil) -- `vcpkg_from_sourceforge`: New maintainer helper function to retrieve sources from SourceForge - - [(#11899)](https://github.com/microsoft/vcpkg/pull/11899) [vcpkg] Add vcpkg_from_sourceforge (1/2) (by @JackBoosY) - - [(#12018)](https://github.com/microsoft/vcpkg/pull/12018) [vcpkg_from_sourceforge] Add retry mirror function (2/2) (by @JackBoosY) -- `VCPKG_OVERLAY_PORTS`: New environment variable to allow users to override ports with alternate versions - - [(#12640)](https://github.com/microsoft/vcpkg/pull/12640) [vcpkg] add environment variable VCPKG_OVERLAY_PORTS (by @Neumann-A) - -#### The following *additional* changes have been made to vcpkg's infrastructure: -- [(#12174)](https://github.com/microsoft/vcpkg/pull/12174) [vcpkg] Fix `vcpkg export --nuget` regressions (by @ras0219) -- [(#11842)](https://github.com/microsoft/vcpkg/pull/11842) [vcpkg] Extract common paths settings to make_cmake_cmd... (by @BillyONeal) -- [(#11977)](https://github.com/microsoft/vcpkg/pull/11977) [CHANGELOG] Update to 2020.06.15 (by @vicroms) -- [(#11978)](https://github.com/microsoft/vcpkg/pull/11978) Attempt to mitigate Windows Defender detections by making provision-image.ps1 not a powershell script (by @BillyONeal) -- [(#11015)](https://github.com/microsoft/vcpkg/pull/11015) [vcpkg] Fix issue #9781 by exporting from the installed directory (by @ras0219) -- [(#11984)](https://github.com/microsoft/vcpkg/pull/11984) [breakpad] Fix build failure on OSX (by @JackBoosY) -- [(#11981)](https://github.com/microsoft/vcpkg/pull/11981) [thrift] Update to 0.13.0 and fix OSX build (by @JackBoosY) -- [(#11963)](https://github.com/microsoft/vcpkg/pull/11963) [libvpx] Support arm64-windows (by @JackBoosY) -- [(#12000)](https://github.com/microsoft/vcpkg/pull/12000) [vcpkg] Clean tombstones in every build except PR validations (by @BillyONeal) -- [(#11965)](https://github.com/microsoft/vcpkg/pull/11965) [vcpkg baseline] Retrigger failed ports in baseline (by @PhoebeHui) -- [(#11938)](https://github.com/microsoft/vcpkg/pull/11938) [vcpkg] Add mirror to download Strawberry Perl (by @AenBleidd) -- [(#11931)](https://github.com/microsoft/vcpkg/pull/11931) [vcpkg] Put user-defined configuration triplets path on top of the search queue (by @AenBleidd) -- [(#11999)](https://github.com/microsoft/vcpkg/pull/11999) [vcpkg] Use SSH keys instead of password authentication when minting Linux scale sets (by @BillyONeal) -- [(#12049)](https://github.com/microsoft/vcpkg/pull/12049) [vcpkg] Delete unused --purge-tombstones and introduce BufferedPrint class (by @BillyONeal) -- [(#11654)](https://github.com/microsoft/vcpkg/pull/11654) [vcpkg] Track compiler information in ABI (by @ras0219) -- [(#11983)](https://github.com/microsoft/vcpkg/pull/11983) [libmicrohttpd] Support build on UNIX and use msbuild on Windows (by @JackBoosY) -- [(#12080)](https://github.com/microsoft/vcpkg/pull/12080) Fix bootstrapping MSYS2 pacman (#11499) (by @endrift) -- [(#12074)](https://github.com/microsoft/vcpkg/pull/12074) [vcpkg] Do not fail just because cleaning tombstones failed in CI. (by @BillyONeal) -- [(#11275)](https://github.com/microsoft/vcpkg/pull/11275) [ignition-plugin1] Add new port 🤖 (by @traversaro) -- [(#12067)](https://github.com/microsoft/vcpkg/pull/12067) [vcpkg baseline] Fix baseline errors (by @JackBoosY) -- [(#12082)](https://github.com/microsoft/vcpkg/pull/12082) [vcpkg] Commonize pipelines build powershell and don't use binary caching in CI (rather than PR) builds (by @BillyONeal) -- [(#12113)](https://github.com/microsoft/vcpkg/pull/12113) [vcpkg] Add disk space report to Windows PR/CI (by @BillyONeal) -- [(#12072)](https://github.com/microsoft/vcpkg/pull/12072) [vcpkg build] fix build command (by @strega-nil) -- [(#12120)](https://github.com/microsoft/vcpkg/pull/12120) [vcpkg] Delete unnecessary tombstone deletion step now that CI rebuilds everything (by @BillyONeal) -- [(#12091)](https://github.com/microsoft/vcpkg/pull/12091) [vcpkg] Use XDG/LOCALAPPDATA for default binary caching path (by @ras0219) -- [(#12128)](https://github.com/microsoft/vcpkg/pull/12128) [vcpkg] Fix "[commands-build] build smoke test" (by @ras0219) -- [(#12130)](https://github.com/microsoft/vcpkg/pull/12130) [vcpkg] Add write-only binary caching for CI. (by @BillyONeal) -- [(#12101)](https://github.com/microsoft/vcpkg/pull/12101) [vcpkg] Add mingw dynamic libs triplet (by @longnguyen2004) -- [(#12069)](https://github.com/microsoft/vcpkg/pull/12069) Fix typo in comment (by @freddy77) -- [(#12144)](https://github.com/microsoft/vcpkg/pull/12144) [vcpkg baseline][paraview] Fix linux build (by @JackBoosY) -- [(#12172)](https://github.com/microsoft/vcpkg/pull/12172) [vcpkg ci] add macos scripts to vcpkg repo (by @strega-nil) -- [(#12176)](https://github.com/microsoft/vcpkg/pull/12176) [vcpkg] VM Update (by @BillyONeal) -- [(#12192)](https://github.com/microsoft/vcpkg/pull/12192) Fix sourceparagraph:BooleanField (by @strega-nil) -- [(#12191)](https://github.com/microsoft/vcpkg/pull/12191) Don't change manifest root when manifest isn't enabled. (by @dada2048) -- [(#12170)](https://github.com/microsoft/vcpkg/pull/12170) [vcpkg] Enable NuGet-based binary caching via mono (by @ras0219) -- [(#12145)](https://github.com/microsoft/vcpkg/pull/12145) [vcpkg] Update message in bootstrap.ps1 (by @PhoebeHui) -- [(#12201)](https://github.com/microsoft/vcpkg/pull/12201) [vcpkg] Remove all uses of Foo::Foo() noexcept = default; to fix #9955 (by @ras0219) -- [(#12203)](https://github.com/microsoft/vcpkg/pull/12203) [vcpkg] Improve performance of compiler tracking (by @ras0219) -- [(#12212)](https://github.com/microsoft/vcpkg/pull/12212) [msbuild] Revert the importance to Normal (by @PhoebeHui) -- [(#12197)](https://github.com/microsoft/vcpkg/pull/12197) [vcpkg] Remove the tombstones and 'ignore' baseline concepts. (by @BillyONeal) -- [(#4608)](https://github.com/microsoft/vcpkg/pull/4608) [vcpkg] Use IncludePath and LibraryPath properties (by @FrankHeimes) -- [(#12242)](https://github.com/microsoft/vcpkg/pull/12242) [vcpkg] Remove use of std::variant and std::visit to fix VS2015. (by @ras0219) -- [(#12272)](https://github.com/microsoft/vcpkg/pull/12272) [vcpkg] Revert change which causes sources to be purged by default in `vcpkg build` (by @ras0219) -- [(#12263)](https://github.com/microsoft/vcpkg/pull/12263) [vcpkg] Update toolsrc VERSION to 2020.06.15 (by @c72578) -- [(#12232)](https://github.com/microsoft/vcpkg/pull/12232) [opengl wincrypt winsock2] Use $ENV{WindowsSdkDir} instead of hard coding Windows SDK paths. (by @BillyONeal) -- [(#12177)](https://github.com/microsoft/vcpkg/pull/12177) [vcpkg] Added python script to generate all packages file list, added to azur… (by @yaoleo34) -- [(#11655)](https://github.com/microsoft/vcpkg/pull/11655) [vcpkg] Format the C++ in CI (by @strega-nil) -- [(#12300)](https://github.com/microsoft/vcpkg/pull/12300) [libbson, vcpkg baseline] Remove passing and fix spurious failure. (by @BillyONeal) -- [(#12140)](https://github.com/microsoft/vcpkg/pull/12140) [simdjson] Update to 0.4.6 (by @myd7349) -- [(#11967)](https://github.com/microsoft/vcpkg/pull/11967) [evpp] Fix build error on OSX (by @JackBoosY) -- [(#12314)](https://github.com/microsoft/vcpkg/pull/12314) [vcpkg ci] Update formatting CI (by @strega-nil) -- [(#12259)](https://github.com/microsoft/vcpkg/pull/12259) [triplets][osx] add support for arm64 'apple silicon' (by @eklipse2k8) -- [(#11754)](https://github.com/microsoft/vcpkg/pull/11754) [pcre2] Update to 10.35 (by @c72578) -- [(#11753)](https://github.com/microsoft/vcpkg/pull/11753) Fix support for toolchains that set CMAKE_FIND_ROOT_PATH_MODE_* variables to ONLY (by @traversaro) -- [(#12317)](https://github.com/microsoft/vcpkg/pull/12317) [vcpkg README] Fix links (by @strega-nil) -- [(#12319)](https://github.com/microsoft/vcpkg/pull/12319) [vcpkg.targets] Fix #12292 regression with MSBuild targets (by @ras0219-msft) -- [(#12323)](https://github.com/microsoft/vcpkg/pull/12323) [vcpkg] Ignore dependencies not found errors when downloading mode (by @JackBoosY) -- [(#12257)](https://github.com/microsoft/vcpkg/pull/12257) [vcpkg] Fix MSBuild regressions #12062 and #12086. (by @ras0219) -- [(#12037)](https://github.com/microsoft/vcpkg/pull/12037) [freerdp] Fix x64-osx triplet (by @AlexAltea) -- [(#11596)](https://github.com/microsoft/vcpkg/pull/11596) [qt5] update qt to 5.15 and make ports depend on qt5-base[core]. (by @Neumann-A) -- [(#8322)](https://github.com/microsoft/vcpkg/pull/8322) [kfr] Add new port (by @myd7349) -- [(#12244)](https://github.com/microsoft/vcpkg/pull/12244) [cuda] correct env variables for newer cuda versions (by @Neumann-A) -- [(#12256)](https://github.com/microsoft/vcpkg/pull/12256) [vcpkg] Move default binary cache from `$root/archives` to user-wide directory (by @ras0219) -- [(#12350)](https://github.com/microsoft/vcpkg/pull/12350) [vcpkg] Remove unnecessary work queue (by @strega-nil) -- [(#12367)](https://github.com/microsoft/vcpkg/pull/12367) [vcpkg build] fix #12355 (by @strega-nil) -- [(#12369)](https://github.com/microsoft/vcpkg/pull/12369) [vcpkg formatting] Fix format regex (by @strega-nil) -- [(#12178)](https://github.com/microsoft/vcpkg/pull/12178) [vcpkg] Add a schema file for vcpkg.json (by @Edhebi) -- [(#12370)](https://github.com/microsoft/vcpkg/pull/12370) [vcpkg] Enable binary caching by default (by @ras0219) -- [(#12386)](https://github.com/microsoft/vcpkg/pull/12386) [vcpkg] Add CMake heuristics for header-only libraries (by @ras0219) -- [(#12378)](https://github.com/microsoft/vcpkg/pull/12378) [vcpkg] proper errorcheck during files installation (by @Maximus5) -- [(#12384)](https://github.com/microsoft/vcpkg/pull/12384) [vcpkg-ci] Always publish file lists (by @ras0219) -- [(#12254)](https://github.com/microsoft/vcpkg/pull/12254) [vcpkg] Track hashes of cmake script helpers in consuming portfiles (by @ras0219) -- [(#12361)](https://github.com/microsoft/vcpkg/pull/12361) [vcpkg] Fix iOS toolchain detection when using the iOS community triplets (by @alcroito) -- [(#12398)](https://github.com/microsoft/vcpkg/pull/12398) [libb2] Add supports and install pkg-conifg on macOS VM (by @PhoebeHui) -- [(#12368)](https://github.com/microsoft/vcpkg/pull/12368) [vcpkg formatting] Turn off DeriveLineEnding (by @strega-nil) -- [(#12429)](https://github.com/microsoft/vcpkg/pull/12429) [vcpkg] Fix ParagraphParser::required_field() (by @maksqwe) -- [(#12400)](https://github.com/microsoft/vcpkg/pull/12400) [vcpkg] implement copy_symlink working for non-elevated processes (by @Maximus5) -- [(#12432)](https://github.com/microsoft/vcpkg/pull/12432) vcpkg_configure_make: typo fix '_vcpkg_append_to_configure_environment' (by @kevinlul) -- [(#12351)](https://github.com/microsoft/vcpkg/pull/12351) [vcpkg] Clean up command switch code (by @strega-nil) -- [(#12179)](https://github.com/microsoft/vcpkg/pull/12179) [vcpkg] print list in json (by @dan-shaw) -- [(#12084)](https://github.com/microsoft/vcpkg/pull/12084) Build fix with MinGW GCC 9.2.0 (by @cristianadam) -- [(#12455)](https://github.com/microsoft/vcpkg/pull/12455) [libmicrohttpd] Add `platform.h` to restricted header list. (by @ras0219) -- [(#12468)](https://github.com/microsoft/vcpkg/pull/12468) [vcpkg] Add NVTOOLSEXT_PATH to the env passthrough list (by @Neumann-A) -- [(#12534)](https://github.com/microsoft/vcpkg/pull/12534) Add initial s390x support (by @lebdron) -- [(#11550)](https://github.com/microsoft/vcpkg/pull/11550) [vcpkg/scripts/pkgconfig] rewrite pkg-config check for libraries (by @Neumann-A) -- [(#11130)](https://github.com/microsoft/vcpkg/pull/11130) [opencv4] update to v4.3 (by @cenit) -- [(#12467)](https://github.com/microsoft/vcpkg/pull/12467) [vcpkg-acquire-msys] Install new keyring (by @emptyVoid) -- [(#12460)](https://github.com/microsoft/vcpkg/pull/12460) [vcpkg] Improve format check failure message (by @JackBoosY) -- [(#9248)](https://github.com/microsoft/vcpkg/pull/9248) fix issue #9228 : Add support to subgroups in gitlab (by @RamadanAhmed) -- [(#12513)](https://github.com/microsoft/vcpkg/pull/12513) [vcpkg] EOL LF for ci.baseline.txt (by @Neumann-A) -- [(#8628)](https://github.com/microsoft/vcpkg/pull/8628) [marble] Add new port (by @ig-or) -- [(#12118)](https://github.com/microsoft/vcpkg/pull/12118) [mozjpeg] fix build (by @saucecontrol) -- [(#12530)](https://github.com/microsoft/vcpkg/pull/12530) [libmodbus] Fix static linkage error (by @NancyLi1013) -- [(#12514)](https://github.com/microsoft/vcpkg/pull/12514) [mpir] Fix build error if VCPKG_BUILD_TYPE is set as release or debug (by @NancyLi1013) -- [(#12529)](https://github.com/microsoft/vcpkg/pull/12529) [qt5 components] Disable parallel build (by @JackBoosY) -- [(#12569)](https://github.com/microsoft/vcpkg/pull/12569) [vcpkg_fixup_pkgconfig] Remove required in first find_program call for pkg-config (by @Neumann-A) -- [(#12097)](https://github.com/microsoft/vcpkg/pull/12097) Fix vcpkg android toolchain so it adds flags that aren't just ignored (by @jamiebk) -- [(#11021)](https://github.com/microsoft/vcpkg/pull/11021) [rsocket] Add new port (by @curoky) -- [(#12104)](https://github.com/microsoft/vcpkg/pull/12104) Fix vcpkg_fixup_cmake_targets to work correctly on MinGW (by @koprok) -- [(#12661)](https://github.com/microsoft/vcpkg/pull/12661) [vcpkg] Fix typo in link for installing and using packages (by @varunagrawal) -- [(#12639)](https://github.com/microsoft/vcpkg/pull/12639) [vcpkg-ci] fix macos setup scripts (by @strega-nil) -- [(#12586)](https://github.com/microsoft/vcpkg/pull/12586) [vcpkg] Fix build on Windows 8.1 SDK (by @strega-nil) -- [(#12585)](https://github.com/microsoft/vcpkg/pull/12585) [vcpkg] Refactor Commands: Part 1 (by @strega-nil) -- [(#10770)](https://github.com/microsoft/vcpkg/pull/10770) [cmake] Add cmake port to test qt (by @Neumann-A) -- [(#10786)](https://github.com/microsoft/vcpkg/pull/10786) [tomlplusplus] Add new port (by @traversaro) -- [(#12641)](https://github.com/microsoft/vcpkg/pull/12641) Refactor commands 2: Electric Boogaloo (by @strega-nil) -- [(#12548)](https://github.com/microsoft/vcpkg/pull/12548) [vcpkg manifest] look at `platform` directives (by @strega-nil) -- [(#12494)](https://github.com/microsoft/vcpkg/pull/12494) [qt-webengine] Fix building with vs2017 (by @Neumann-A) -- [(#11376)](https://github.com/microsoft/vcpkg/pull/11376) [avro-cpp] new port (by @alexander-smyslov) -- [(#11535)](https://github.com/microsoft/vcpkg/pull/11535) [mpg123] Allow cross-compiling, fix previous builds tainting rebuilds (by @kevinlul) -- [(#12624)](https://github.com/microsoft/vcpkg/pull/12624) Fix .gitignore excluding triplets/community, sort, and driveby vcpkg_check_linkage.md doc bug. (by @BillyONeal) -- [(#12423)](https://github.com/microsoft/vcpkg/pull/12423) [vcpkg] Add environment variable VCPKG_DEFAULT_BINARY_CACHE (by @Neumann-A) -- [(#10670)](https://github.com/microsoft/vcpkg/pull/10670) [vcpkg] Fix [boost] find_package for MSVC2013 / v120 (by @ManuelKugelmann) -- [(#12471)](https://github.com/microsoft/vcpkg/pull/12471) [vcpkg format-manifest] Add convert-control flag (by @strega-nil) -- [(#11208)](https://github.com/microsoft/vcpkg/pull/11208) [ITK] Update to 5.1 (by @Neumann-A) -- [(#12742)](https://github.com/microsoft/vcpkg/pull/12742) [wavpack] Fix failure on linux and osx (by @PhoebeHui) -- [(#12727)](https://github.com/microsoft/vcpkg/pull/12727) [msbuild] Revert the importance to Normal (by @PhoebeHui) -- [(#12717)](https://github.com/microsoft/vcpkg/pull/12717) [vcpkg] Fix prettify output not working in some cases (by @Deadpikle) -- [(#12715)](https://github.com/microsoft/vcpkg/pull/12715) [vcpkg] Add VCPKG_TARGET_IS_IOS (by @Deadpikle) -- [(#12716)](https://github.com/microsoft/vcpkg/pull/12716) [vcpkg] Fix arm64-osx triplet not building for arm64 (by @Deadpikle) -- [(#12701)](https://github.com/microsoft/vcpkg/pull/12701) [vcpkg-ci-paraview] move into scripts/test_ports (by @Neumann-A) -- [(#12699)](https://github.com/microsoft/vcpkg/pull/12699) [vcpkg baseline] remove qt translations from skip list (by @Neumann-A) -- [(#12695)](https://github.com/microsoft/vcpkg/pull/12695) [ngspice] Initial port (by @marekr) -- [(#12678)](https://github.com/microsoft/vcpkg/pull/12678) [vcpkg] Add missing check for x86 (by @arves100) -- [(#12752)](https://github.com/microsoft/vcpkg/pull/12752) [vcpkg_build_qmake] Disable multi-threaded build when file fails to open (by @JackBoosY) -- [(#12789)](https://github.com/microsoft/vcpkg/pull/12789) [vcpkg] Fix vs2015 build (by @strega-nil) -- [(#12312)](https://github.com/microsoft/vcpkg/pull/12312) [fmt] Update to 7.0.2 + [spdlog] Update to 1.7.0 (by @kevinlul) -- [(#12515)](https://github.com/microsoft/vcpkg/pull/12515) [pangolin] Fix build failure on UNIX (by @JackBoosY) -- [(#12792)](https://github.com/microsoft/vcpkg/pull/12792) [log4cpp] Fix header file install path (by @LilyWangL) -- [(#12784)](https://github.com/microsoft/vcpkg/pull/12784) [gSoap] Update to 2.8.105 and add a required shared directory (by @xgcssch) -- [(#12768)](https://github.com/microsoft/vcpkg/pull/12768) [libtorrent] Update to 1.2.8 (by @FranciscoPombal) -- [(#12762)](https://github.com/microsoft/vcpkg/pull/12762) [boost] Add Supports fields and more accurately handle arm64-windows/x64-uwp (by @ras0219) -- [(#12630)](https://github.com/microsoft/vcpkg/pull/12630) [secp256k1] Fix build failures and export cmake targets (by @PhoebeHui) -- [(#12524)](https://github.com/microsoft/vcpkg/pull/12524) [asmjit] Update to the latest commit (by @ZehMatt) -- [(#12528)](https://github.com/microsoft/vcpkg/pull/12528) [libass] Fix build error on x64-windows-static (by @LilyWangL) -- [(#12634)](https://github.com/microsoft/vcpkg/pull/12634) [vcpkg] Improving android support (by @christophe-calmejane) -- [(#9162)](https://github.com/microsoft/vcpkg/pull/9162) [crashrpt] Add new port (by @tbdrake) -- [(#12810)](https://github.com/microsoft/vcpkg/pull/12810) [vcpkg] Make C++ the primary github language (by @strega-nil) -- [(#12198)](https://github.com/microsoft/vcpkg/pull/12198) [vcpkg] Add `vcpkg export` to E2E tests. Enable E2E tests on all platforms. (by @ras0219) -- [(#12698)](https://github.com/microsoft/vcpkg/pull/12698) [vcpkg] Rewrite CMake build system to be more target-based (by @strega-nil) -- [(#12776)](https://github.com/microsoft/vcpkg/pull/12776) [vcpkg_copy_tool_dependencies] Use vcpkg internal powershell (by @JackBoosY) -- [(#12805)](https://github.com/microsoft/vcpkg/pull/12805) [lapack-reference|fortran] Add new port (by @Neumann-A) -- [(#12829)](https://github.com/microsoft/vcpkg/pull/12829) [vcpkg] Fix resolution of default features when using Manifest mode (by @ras0219) -- [(#11836)](https://github.com/microsoft/vcpkg/pull/11836) [vcpkg/scripts/make] trying to iron out some issues (by @Neumann-A) -- [(#12818)](https://github.com/microsoft/vcpkg/pull/12818) [constexpr-contracts] Adds new port (by @cjdb) -- [(#12876)](https://github.com/microsoft/vcpkg/pull/12876) [vcpkg] Reduce dependencies and contents of vcpkgpaths.h (by @ras0219) -- [(#12866)](https://github.com/microsoft/vcpkg/pull/12866) [msys] Improve vcpkg_acquire_msys (by @PhoebeHui) -- [(#12897)](https://github.com/microsoft/vcpkg/pull/12897) [vcpkg] Restore layering and purge unused ParagraphParseResult (by @ras0219) -- [(#12895)](https://github.com/microsoft/vcpkg/pull/12895) [vcpkg_find_acquire_program] add version check for ninja (by @Neumann-A) -- [(#12927)](https://github.com/microsoft/vcpkg/pull/12927) [meson] Update meson to 0.55.1 (by @Neumann-A) -- [(#12837)](https://github.com/microsoft/vcpkg/pull/12837) Fix/clang10 linux (by @ignacionr) -- [(#9146)](https://github.com/microsoft/vcpkg/pull/9146) [expat] Update the version to 2.2.9 (add support for uwp) (by @NancyLi1013) -- [(#12774)](https://github.com/microsoft/vcpkg/pull/12774) [vcpkg] Use std::filesystem when Visual Studio is greater than 2015 (by @JackBoosY) -- [(#12626)](https://github.com/microsoft/vcpkg/pull/12626) [vcpkg_find_acquire_program] Enable find_acquire(PKGCONFIG) (by @ras0219) -- [(#11277)](https://github.com/microsoft/vcpkg/pull/11277) [ffmpeg] Add feature support for zlib, iconv, fdk-aac, mp3lame, opus, soxr, theora. (by @Sibras) -- [(#12864)](https://github.com/microsoft/vcpkg/pull/12864) [vcpkg_execute_build_process] Re-fix qt5 components build (by @JackBoosY) -- [(#13000)](https://github.com/microsoft/vcpkg/pull/13000) [vcpkg] Fix baseline (by @NancyLi1013) -- [(#12985)](https://github.com/microsoft/vcpkg/pull/12985) [vcpkg] Add Forward Declarations (originally by @cngzhnp) (by @strega-nil) -- [(#12976)](https://github.com/microsoft/vcpkg/pull/12976) [vcpkg] Update hint message (by @PhoebeHui) -- [(#12974)](https://github.com/microsoft/vcpkg/pull/12974) [fluidsynth/redis-plus-plus] Update to the latest released version (by @NancyLi1013) -- [(#13017)](https://github.com/microsoft/vcpkg/pull/13017) remove registries.h and fwd/registries.h... (by @strega-nil) -- [(#12975)](https://github.com/microsoft/vcpkg/pull/12975) [openmpi/vcpkg_build_make] Disable parallel build (by @JackBoosY) -- [(#13043)](https://github.com/microsoft/vcpkg/pull/13043) [vcpkg] Fix hint message (by @PhoebeHui) -- [(#12046)](https://github.com/microsoft/vcpkg/pull/12046) [portmidi] Updated portmidi package to use alternative code source (by @stekyne) -- [(#13066)](https://github.com/microsoft/vcpkg/pull/13066) [typo] Fix incorrect Path in readme (by @ninjaoflight) -- [(#12910)](https://github.com/microsoft/vcpkg/pull/12910) [vcpkg] Fix editable bug (by @ras0219) -- [(#12523)](https://github.com/microsoft/vcpkg/pull/12523) [vcpkg.cmake] check for vcpkg.json only in `${CMAKE_SOURCE_DIR}` (by @strega-nil) -- [(#12964)](https://github.com/microsoft/vcpkg/pull/12964) [vcpkg] Do not use raw paths inside regexes (by @hanst99) -- [(#13092)](https://github.com/microsoft/vcpkg/pull/13092) [vcpkg] Hotfix regression in #12523 (by @ras0219) -- [(#13067)](https://github.com/microsoft/vcpkg/pull/13067) Sort file lists and failure logs together. (by @BillyONeal) -- [(#12738)](https://github.com/microsoft/vcpkg/pull/12738) [vcpkg] Use https sources for common tools (by @janisozaur) -- [(#13058)](https://github.com/microsoft/vcpkg/pull/13058) [Box2d] Update to 2.4.0 (by @JonLiu1993) -- [(#12977)](https://github.com/microsoft/vcpkg/pull/12977) fix vcpkg_configure_cmake for case when having semicolons in OPTIONS (by @jgehw) -- [(#12950)](https://github.com/microsoft/vcpkg/pull/12950) [vcpkg] Fix build on older compilers. (by @huahang) -- [(#13104)](https://github.com/microsoft/vcpkg/pull/13104) [vcpkg] Fix vcpkg_acquire_msys failing on path with spaces (by @SupSuper) -- [(#13125)](https://github.com/microsoft/vcpkg/pull/13125) Disable fluidlite in CI. (by @BillyONeal) -- [(#13117)](https://github.com/microsoft/vcpkg/pull/13117) [vcpkg] Fix #13094 by avoiding the comma operator. (by @BillyONeal) -- [(#13107)](https://github.com/microsoft/vcpkg/pull/13107) [VMSS] Fix the printed error message (by @JackBoosY) -- [(#13069)](https://github.com/microsoft/vcpkg/pull/13069) [vcpkg] Fix upgrade for port-version (by @strega-nil) -- [(#12982)](https://github.com/microsoft/vcpkg/pull/12982) [vcpkg_find_acquire_program] Cleanup and add CI testing (by @ras0219) -- [(#13142)](https://github.com/microsoft/vcpkg/pull/13142) Allow use of VS LLVM clang-format. (by @BillyONeal) -- [(#13148)](https://github.com/microsoft/vcpkg/pull/13148) [baseline] Skip check of clapack:x64-osx in the baseline (by @JackBoosY) - -
-The following 59 ports have been added: - -|port|version| -|---|---| -|[nanobench](https://github.com/microsoft/vcpkg/pull/11955)| 4.0.0 -|[cgns](https://github.com/microsoft/vcpkg/pull/9960)| 3.4.0-1 -|[paraview](https://github.com/microsoft/vcpkg/pull/9960)[#12067](https://github.com/microsoft/vcpkg/pull/12067) [#12144](https://github.com/microsoft/vcpkg/pull/12144) [#12149](https://github.com/microsoft/vcpkg/pull/12149) [#11596](https://github.com/microsoft/vcpkg/pull/11596) [#12342](https://github.com/microsoft/vcpkg/pull/12342) | 5.8.0-2 -|[drogon](https://github.com/microsoft/vcpkg/pull/12024)[#12931](https://github.com/microsoft/vcpkg/pull/12931) [#13007](https://github.com/microsoft/vcpkg/pull/13007) | v1.0.0-beta21 -|[libxdiff](https://github.com/microsoft/vcpkg/pull/12017)| 0.23 -|[efsw](https://github.com/microsoft/vcpkg/pull/11901)| 2020-06-08 -|[bitmagic](https://github.com/microsoft/vcpkg/pull/11890)| 6.4.0 -|[tgbot-cpp](https://github.com/microsoft/vcpkg/pull/11876)| 1.2.1 -|[ignition-plugin1](https://github.com/microsoft/vcpkg/pull/11275)| 1.1.0 -|[ppmagic](https://github.com/microsoft/vcpkg/pull/12253)| 2020-07-03 -|[getdns](https://github.com/microsoft/vcpkg/pull/12090)| 1.6.0 -|[font-chef](https://github.com/microsoft/vcpkg/pull/12293)| 1.0.1 -|[implot](https://github.com/microsoft/vcpkg/pull/11920)[#12835](https://github.com/microsoft/vcpkg/pull/12835) | 0.4 -|[threadpool](https://github.com/microsoft/vcpkg/pull/11650)| 0.2.5 -|[mygui](https://github.com/microsoft/vcpkg/pull/11991)| 2020-06-17 -|[kfr](https://github.com/microsoft/vcpkg/pull/8322)| 2020-06-15 -|[meshoptimizer](https://github.com/microsoft/vcpkg/pull/12211)| 0.14 -|[edlib](https://github.com/microsoft/vcpkg/pull/12490)| 1.2.6 -|[neargye-semver](https://github.com/microsoft/vcpkg/pull/12406)| 0.2.2 -|[marble](https://github.com/microsoft/vcpkg/pull/8628)| 19.08.2 -|[simple-fft](https://github.com/microsoft/vcpkg/pull/11929)| 2020-06-14 -|[stx](https://github.com/microsoft/vcpkg/pull/12011)| 1.0.1 -|[rsocket](https://github.com/microsoft/vcpkg/pull/11021)| 2020.05.04.00-1 -|[brpc](https://github.com/microsoft/vcpkg/pull/11524)| 0.9.7 -|[gamedev-framework](https://github.com/microsoft/vcpkg/pull/12426)[#12680](https://github.com/microsoft/vcpkg/pull/12680) | 0.17 -|[tomlplusplus](https://github.com/microsoft/vcpkg/pull/10786)[#12859](https://github.com/microsoft/vcpkg/pull/12859) | 2.1.0 -|[vcpkg-ci-paraview](https://github.com/microsoft/vcpkg/pull/12342)| 1 -|[avro-cpp](https://github.com/microsoft/vcpkg/pull/11376)| 1.9.2 -|[xframe](https://github.com/microsoft/vcpkg/pull/12427)| 0.3.0 -|[minc](https://github.com/microsoft/vcpkg/pull/11208)| 2.4.03 -|[nifticlib](https://github.com/microsoft/vcpkg/pull/11208)| 2020-04-30 -|[ngspice](https://github.com/microsoft/vcpkg/pull/12695)| 32 -|[josuttis-jthread](https://github.com/microsoft/vcpkg/pull/12497)[#13040](https://github.com/microsoft/vcpkg/pull/13040) | 2020-07-21 -|[lapack](https://github.com/microsoft/vcpkg/pull/12464)[#12805](https://github.com/microsoft/vcpkg/pull/12805) | 1 -|[qwtw](https://github.com/microsoft/vcpkg/pull/12748)[#12961](https://github.com/microsoft/vcpkg/pull/12961) | 3.1.0 -|[cppad](https://github.com/microsoft/vcpkg/pull/12560)| 20200000.3 -|[kf5completion](https://github.com/microsoft/vcpkg/pull/11861)| 5.64.0 -|[kf5config](https://github.com/microsoft/vcpkg/pull/11861)| 5.64.0 -|[kf5coreaddons](https://github.com/microsoft/vcpkg/pull/11861)| 5.64.0 -|[kf5crash](https://github.com/microsoft/vcpkg/pull/11861)| 5.64.0 -|[kf5guiaddons](https://github.com/microsoft/vcpkg/pull/11861)| 5.64.0 -|[kf5i18n](https://github.com/microsoft/vcpkg/pull/11861)| 5.64.0 -|[kf5itemmodels](https://github.com/microsoft/vcpkg/pull/11861)| 5.64.0 -|[kf5itemviews](https://github.com/microsoft/vcpkg/pull/11861)| 5.64.0 -|[kf5widgetsaddons](https://github.com/microsoft/vcpkg/pull/11861)| 5.64.0 -|[kf5windowsystem](https://github.com/microsoft/vcpkg/pull/11861)| 5.64.0 -|[libde265](https://github.com/microsoft/vcpkg/pull/11861)| 1.0.5 -|[libheif](https://github.com/microsoft/vcpkg/pull/11861)[#12856](https://github.com/microsoft/vcpkg/pull/12856) | 1.7.0 -|[quazip](https://github.com/microsoft/vcpkg/pull/11861)| 0.9.1 -|[vc](https://github.com/microsoft/vcpkg/pull/11861)| 1.4.1 -|[tlx](https://github.com/microsoft/vcpkg/pull/11943)| 0.5.20191212 -|[crashrpt](https://github.com/microsoft/vcpkg/pull/9162)| 1.4.3 -|[dbghelp](https://github.com/microsoft/vcpkg/pull/9162)| 0.0 -|[opencolorio-tools](https://github.com/microsoft/vcpkg/pull/12420)| 1.1.1 -|[lapack-reference](https://github.com/microsoft/vcpkg/pull/12805)[#12977](https://github.com/microsoft/vcpkg/pull/12977) [#12929](https://github.com/microsoft/vcpkg/pull/12929) | 3.8.0 -|[vcpkg-gfortran](https://github.com/microsoft/vcpkg/pull/12805)| 1 -|[constexpr-contracts](https://github.com/microsoft/vcpkg/pull/12818)| 2020-08-09 -|[fluidlite](https://github.com/microsoft/vcpkg/pull/13006)[#13125](https://github.com/microsoft/vcpkg/pull/13125) | 2020-08-20 -|[boost-uninstall](https://github.com/microsoft/vcpkg/pull/12851)| 1.73.0 -
- -
-The following 345 ports have been updated: - -- slikenet `2019-10-22_1` -> `2019-10-22-2` - - [(#11987)](https://github.com/microsoft/vcpkg/pull/11987) [slikenet] Add cmake config and targets file - -- breakpad `2019-07-11-1` -> `2019-07-11-2` - - [(#11984)](https://github.com/microsoft/vcpkg/pull/11984) [breakpad] Fix build failure on OSX - -- plf-colony `2019-08-10` -> `5.33` - - [(#11993)](https://github.com/microsoft/vcpkg/pull/11993) [plf-colony] Update to 5.33 - -- thrift `2020-02-08` -> `0.13.0` - - [(#11981)](https://github.com/microsoft/vcpkg/pull/11981) [thrift] Update to 0.13.0 and fix OSX build - -- libvpx `1.8.1-5` -> `1.8.1-7` - - [(#11963)](https://github.com/microsoft/vcpkg/pull/11963) [libvpx] Support arm64-windows - - [(#12080)](https://github.com/microsoft/vcpkg/pull/12080) Fix bootstrapping MSYS2 pacman (#11499) - - [(#12401)](https://github.com/microsoft/vcpkg/pull/12401) [liblzma, libvpx] Add mingw support - - [(#12706)](https://github.com/microsoft/vcpkg/pull/12706) [libvpx] fix pdb paths - -- libzip `rel-1-6-1` -> `1.7.1` - - [(#11982)](https://github.com/microsoft/vcpkg/pull/11982) [libzip] Update to 1.7.1 - - [(#12610)](https://github.com/microsoft/vcpkg/pull/12610) [libzip] Fix find_package error - -- directxtex `jun2020` -> `jun2020b` - - [(#11971)](https://github.com/microsoft/vcpkg/pull/11971) [directxtk12][directxtex] Update to latest version - - [(#12332)](https://github.com/microsoft/vcpkg/pull/12332) [directxtk][directxtk12][directxtex][directxmesh] Update to latest version - - [(#13060)](https://github.com/microsoft/vcpkg/pull/13060) [directxtk][directxtk12][directxtex][directxmesh] Update to latest version - -- directxtk12 `jun2020` -> `jun2020b` - - [(#11971)](https://github.com/microsoft/vcpkg/pull/11971) [directxtk12][directxtex] Update to latest version - - [(#12332)](https://github.com/microsoft/vcpkg/pull/12332) [directxtk][directxtk12][directxtex][directxmesh] Update to latest version - - [(#13060)](https://github.com/microsoft/vcpkg/pull/13060) [directxtk][directxtk12][directxtex][directxmesh] Update to latest version - -- geographiclib `1.47-patch1-12` -> `1.47-patch1-16` - - [(#11965)](https://github.com/microsoft/vcpkg/pull/11965) [vcpkg baseline] Retrigger failed ports in baseline - - [(#11899)](https://github.com/microsoft/vcpkg/pull/11899) [vcpkg] Add vcpkg_from_sourceforge (1/2) - - [(#12018)](https://github.com/microsoft/vcpkg/pull/12018) [vcpkg_from_sourceforge] Add retry mirror function (2/2) - - [(#12379)](https://github.com/microsoft/vcpkg/pull/12379) [geographiclib] Update to 1.50.1 - - [(#12471)](https://github.com/microsoft/vcpkg/pull/12471) [vcpkg format-manifest] Add convert-control flag - -- polyclipping `6.4.2` -> `6.4.2-4` - - [(#11965)](https://github.com/microsoft/vcpkg/pull/11965) [vcpkg baseline] Retrigger failed ports in baseline - - [(#11899)](https://github.com/microsoft/vcpkg/pull/11899) [vcpkg] Add vcpkg_from_sourceforge (1/2) - - [(#12018)](https://github.com/microsoft/vcpkg/pull/12018) [vcpkg_from_sourceforge] Add retry mirror function (2/2) - -- qhull `7.3.2-2` -> `8.0.0` - - [(#12015)](https://github.com/microsoft/vcpkg/pull/12015) [qhull] update version 8.0.0 - -- jsoncons `0.153.0` -> `0.155.1` - - [(#12014)](https://github.com/microsoft/vcpkg/pull/12014) [jsoncons] Update to v0.153.3 - - [(#12372)](https://github.com/microsoft/vcpkg/pull/12372) [jsoncons] Update to v0.154.1 - - [(#12827)](https://github.com/microsoft/vcpkg/pull/12827) [jsoncons] Update to version 0.155.1 - -- azure-c-shared-utility `2020-02-04.1` -> `2020-07-19` - - [(#12013)](https://github.com/microsoft/vcpkg/pull/12013) [Azure-IoT-Sdk] Update to release 2020-06-17 - - [(#12493)](https://github.com/microsoft/vcpkg/pull/12493) [Azure-IoT-Sdk*] Update to 2020-07-19 - -- azure-iot-sdk-c `2020-02-04.1-1` -> `2020-07-19` - - [(#12013)](https://github.com/microsoft/vcpkg/pull/12013) [Azure-IoT-Sdk] Update to release 2020-06-17 - - [(#12209)](https://github.com/microsoft/vcpkg/pull/12209) [azure-iot-sdk-c] Fix feature name and enable to build - - [(#12493)](https://github.com/microsoft/vcpkg/pull/12493) [Azure-IoT-Sdk*] Update to 2020-07-19 - - [(#12605)](https://github.com/microsoft/vcpkg/pull/12605) [azure-iot-sdk-c] Fix passing hsm_type_symm_key - -- azure-macro-utils-c `2020-02-04.1` -> `2020-06-17-1` - - [(#12013)](https://github.com/microsoft/vcpkg/pull/12013) [Azure-IoT-Sdk] Update to release 2020-06-17 - -- azure-uamqp-c `2020-02-04.1` -> `2020-07-19` - - [(#12013)](https://github.com/microsoft/vcpkg/pull/12013) [Azure-IoT-Sdk] Update to release 2020-06-17 - - [(#12493)](https://github.com/microsoft/vcpkg/pull/12493) [Azure-IoT-Sdk*] Update to 2020-07-19 - -- azure-uhttp-c `2020-02-04.1` -> `2020-07-19` - - [(#12013)](https://github.com/microsoft/vcpkg/pull/12013) [Azure-IoT-Sdk] Update to release 2020-06-17 - - [(#12493)](https://github.com/microsoft/vcpkg/pull/12493) [Azure-IoT-Sdk*] Update to 2020-07-19 - -- azure-umqtt-c `2020-02-04.1` -> `2020-07-19` - - [(#12013)](https://github.com/microsoft/vcpkg/pull/12013) [Azure-IoT-Sdk] Update to release 2020-06-17 - - [(#12493)](https://github.com/microsoft/vcpkg/pull/12493) [Azure-IoT-Sdk*] Update to 2020-07-19 - -- umock-c `2020-02-04.1` -> `2020-06-17-1` - - [(#12013)](https://github.com/microsoft/vcpkg/pull/12013) [Azure-IoT-Sdk] Update to release 2020-06-17 - -- tinyxml2 `8.0.0` -> `8.0.0-1` - - [(#11966)](https://github.com/microsoft/vcpkg/pull/11966) [tinyxml2] Fix generation of pkg-config file - -- nlohmann-json `3.7.3` -> `3.9.1` - - [(#11941)](https://github.com/microsoft/vcpkg/pull/11941) [nlohmann-json] Upgrade to 3.8.0 - - [(#12117)](https://github.com/microsoft/vcpkg/pull/12117) [nlohmann-json] Always install multiple headers to allow forward declarations - - [(#12601)](https://github.com/microsoft/vcpkg/pull/12601) [nlohmann-json] Update to 3.9.0 - - [(#12787)](https://github.com/microsoft/vcpkg/pull/12787) [nlohmann-json] Update to 3.9.1 - -- trantor `v1.0.0-rc13` -> `v1.0.0-rc16` - - [(#11937)](https://github.com/microsoft/vcpkg/pull/11937) [trantor] Bump version to v1.0.0-rc14 - - [(#12930)](https://github.com/microsoft/vcpkg/pull/12930) [trantor] Update to 1.0.0-rc16 - -- graphicsmagick `1.3.35` -> `1.3.35-2` - - [(#11926)](https://github.com/microsoft/vcpkg/pull/11926) [graphicsmagick] fix Magick++.h header location. - - [(#11899)](https://github.com/microsoft/vcpkg/pull/11899) [vcpkg] Add vcpkg_from_sourceforge (1/2) - -- bitsery `5.0.3` -> `5.1.0` - - [(#11912)](https://github.com/microsoft/vcpkg/pull/11912) [bitsery] Update to 5.1.0 version - -- skyr-url `1.10.0` -> `1.12.0` - - [(#11911)](https://github.com/microsoft/vcpkg/pull/11911) [skyr-url] Updated version number of skyr-url - - [(#12214)](https://github.com/microsoft/vcpkg/pull/12214) [skyr-url] Changed version number to 1.12.0 - -- vtk `9.0-2` -> `9.0.1` - - [(#9960)](https://github.com/microsoft/vcpkg/pull/9960) [CGNS/ParaView] Add new ports - - [(#12067)](https://github.com/microsoft/vcpkg/pull/12067) [vcpkg baseline] Fix baseline errors - - [(#11399)](https://github.com/microsoft/vcpkg/pull/11399) [vtk] Added opengl feature. - - [(#12149)](https://github.com/microsoft/vcpkg/pull/12149) [vtk] update to 9.0.1 - - [(#12472)](https://github.com/microsoft/vcpkg/pull/12472) [vtk|cuda] add nvcc to the path - - [(#12342)](https://github.com/microsoft/vcpkg/pull/12342) [qt5-base] Add zstd as a dependency - - [(#9146)](https://github.com/microsoft/vcpkg/pull/9146) [expat] Update the version to 2.2.9 (add support for uwp) - -- so5extra `1.4.0` -> `1.4.1` - - [(#12052)](https://github.com/microsoft/vcpkg/pull/12052) [so5extra] update to v.1.4.1. - -- sobjectizer `5.7.0.1` -> `5.7.1` - - [(#12051)](https://github.com/microsoft/vcpkg/pull/12051) [SObjectizer] update to v.5.7.1. - -- field3d `1.7.2` -> `1.7.3` - - [(#11747)](https://github.com/microsoft/vcpkg/pull/11747) [hdf5] Update HDF5 to 1.12 - - [(#11130)](https://github.com/microsoft/vcpkg/pull/11130) [opencv4] update to v4.3 - - [(#12342)](https://github.com/microsoft/vcpkg/pull/12342) [qt5-base] Add zstd as a dependency - -- hdf5 `1.10.5-12` -> `1.12.0` - - [(#11747)](https://github.com/microsoft/vcpkg/pull/11747) [hdf5] Update HDF5 to 1.12 - -- freerdp `2.0.0-1` -> `2.1.1-1` - - [(#12050)](https://github.com/microsoft/vcpkg/pull/12050) [freerdp] Update to version 2.1.1 - - [(#12037)](https://github.com/microsoft/vcpkg/pull/12037) [freerdp] Fix x64-osx triplet - -- openal-soft `1.20.1-1` -> `1.20.1-2` - - [(#12047)](https://github.com/microsoft/vcpkg/pull/12047) [openal-soft] Fix build failure by updating the library - - [(#12318)](https://github.com/microsoft/vcpkg/pull/12318) [openal-soft] Revert #12047 - - [(#12103)](https://github.com/microsoft/vcpkg/pull/12103) Mingw port fixes - -- absent `0.3.0` -> `0.3.1` - - [(#12036)](https://github.com/microsoft/vcpkg/pull/12036) [absent] Bump version 0.3.1 - -- cjson `2019-11-30` -> `2019-11-30-1` - - [(#12026)](https://github.com/microsoft/vcpkg/pull/12026) [cjson] fix windows-static for don't export symbols - -- open62541 `1.0.1` -> `1.1` - - [(#12023)](https://github.com/microsoft/vcpkg/pull/12023) [open62541] update to v1.1, add encryption support - -- abseil `2020-03-03-6` -> `2020-03-03-7` - - [(#12022)](https://github.com/microsoft/vcpkg/pull/12022) [abseil] Fix usage issue - - [(#11757)](https://github.com/microsoft/vcpkg/pull/11757) [vcpkg manifest] Manifest Implementation - - [(#12471)](https://github.com/microsoft/vcpkg/pull/12471) [vcpkg format-manifest] Add convert-control flag - - [(#12781)](https://github.com/microsoft/vcpkg/pull/12781) [abseil] Fix CMake warning - -- nowide `10.0.1` -> `11.0.0` - - [(#12020)](https://github.com/microsoft/vcpkg/pull/12020) [nowide] Update to 11.0.0 - -- cpp-httplib `0.5.1` -> `0.7.0` - - [(#12010)](https://github.com/microsoft/vcpkg/pull/12010) [cpp-httplib] Update library to 0.7.0 - -- openmesh `8.0` -> `8.1` - - [(#12007)](https://github.com/microsoft/vcpkg/pull/12007) [openmesh] Fix install *.dll and add vcpkg-cmake-wrapper.cmake - - [(#11739)](https://github.com/microsoft/vcpkg/pull/11739) [openmesh] Upgrade to 8.1 - -- cpprestsdk `2.10.16-2` -> `2.10.16-3` - - [(#12006)](https://github.com/microsoft/vcpkg/pull/12006) [cpprestsdk] Fix usage issue when building static - -- activemq-cpp `3.9.5-2` -> `3.9.5-3` - - [(#12005)](https://github.com/microsoft/vcpkg/pull/12005) [activemq-cpp] Fix static build - -- date `2019-11-08` -> `3.0.0` - - [(#11968)](https://github.com/microsoft/vcpkg/pull/11968) [date] Update to 3.0.0 - - [(#12739)](https://github.com/microsoft/vcpkg/pull/12739) [date] Fix config.cmake and usage - -- libmicrohttpd `0.9.63-2` -> `0.9.63-3` - - [(#11983)](https://github.com/microsoft/vcpkg/pull/11983) [libmicrohttpd] Support build on UNIX and use msbuild on Windows - - [(#12455)](https://github.com/microsoft/vcpkg/pull/12455) [libmicrohttpd] Add `platform.h` to restricted header list. - -- llvm `10.0.0-3` -> `10.0.0-4` - - [(#11956)](https://github.com/microsoft/vcpkg/pull/11956) [llvm] fix issue #11916 - -- ffmpeg `4.2-10` -> `4.2-13` - - [(#11946)](https://github.com/microsoft/vcpkg/pull/11946) [ffmpeg] Add avisynthplus support - - [(#12080)](https://github.com/microsoft/vcpkg/pull/12080) Fix bootstrapping MSYS2 pacman (#11499) - - [(#12083)](https://github.com/microsoft/vcpkg/pull/12083) [ffmpeg] Allow gpl builds without avisynthplus - - [(#12063)](https://github.com/microsoft/vcpkg/pull/12063) [ffmpeg] Fix tools dependency dll file - - [(#11130)](https://github.com/microsoft/vcpkg/pull/11130) [opencv4] update to v4.3 - - [(#12157)](https://github.com/microsoft/vcpkg/pull/12157) [many ports] Remove _find_package guards that break *_FOUND - - [(#12635)](https://github.com/microsoft/vcpkg/pull/12635) [ffmpeg] fix FindFFMPEG.cmake to work properly even without avresample - - [(#12843)](https://github.com/microsoft/vcpkg/pull/12843) [ffmpeg] Some libraries in ffmpeg can be optional - - [(#11277)](https://github.com/microsoft/vcpkg/pull/11277) [ffmpeg] Add feature support for zlib, iconv, fdk-aac, mp3lame, opus, soxr, theora. - - [(#13004)](https://github.com/microsoft/vcpkg/pull/13004) [ffmpeg] fix cmake module - -- imgui `1.76-1` -> `1.78` - - [(#11919)](https://github.com/microsoft/vcpkg/pull/11919) [imgui] Add Freetype feature - - [(#12155)](https://github.com/microsoft/vcpkg/pull/12155) [imgui] Update to 1.77 - - [(#12329)](https://github.com/microsoft/vcpkg/pull/12329) [imgui] Split bindings to multiple features - - [(#12210)](https://github.com/microsoft/vcpkg/pull/12210) [ogre] Update to version 1.12.7 and fix link error - - [(#12890)](https://github.com/microsoft/vcpkg/pull/12890) [imgui] Add messages for unsupported features - - [(#13064)](https://github.com/microsoft/vcpkg/pull/13064) [imgui] Update to 1.78 - - [(#12691)](https://github.com/microsoft/vcpkg/pull/12691) [libigl] fix imgui feature - -- x265 `3.2-3` -> `3.4` - - [(#11903)](https://github.com/microsoft/vcpkg/pull/11903) [x265] Delete the bin directory if the platform is Linux - - [(#11277)](https://github.com/microsoft/vcpkg/pull/11277) [ffmpeg] Add feature support for zlib, iconv, fdk-aac, mp3lame, opus, soxr, theora. - - [(#13048)](https://github.com/microsoft/vcpkg/pull/13048) [x265] Update source and version - -- wtl `10.0-5` -> `10.0.10077` - - [(#11893)](https://github.com/microsoft/vcpkg/pull/11893) [wtl] Update to 10.0.10077 - - [(#11899)](https://github.com/microsoft/vcpkg/pull/11899) [vcpkg] Add vcpkg_from_sourceforge (1/2) - - [(#12018)](https://github.com/microsoft/vcpkg/pull/12018) [vcpkg_from_sourceforge] Add retry mirror function (2/2) - - [(#12688)](https://github.com/microsoft/vcpkg/pull/12688) [wtl ] Upgrade wtl to 10.0.10077. - -- icu `67.1` -> `67.1-2` - - [(#11897)](https://github.com/microsoft/vcpkg/pull/11897) [icu] Add tools - - [(#12080)](https://github.com/microsoft/vcpkg/pull/12080) Fix bootstrapping MSYS2 pacman (#11499) - -- cairo `1.16.0-4` -> `1.16.0-6` - - [(#11829)](https://github.com/microsoft/vcpkg/pull/11829) [cairo] Fix error in static build - - [(#12018)](https://github.com/microsoft/vcpkg/pull/12018) [vcpkg_from_sourceforge] Add retry mirror function (2/2) - - [(#12405)](https://github.com/microsoft/vcpkg/pull/12405) [brotli] add pkgconfig / [freetype] depend on brotli - -- pango `1.40.11-6` -> `1.40.11-7` - - [(#11829)](https://github.com/microsoft/vcpkg/pull/11829) [cairo] Fix error in static build - - [(#12405)](https://github.com/microsoft/vcpkg/pull/12405) [brotli] add pkgconfig / [freetype] depend on brotli - -- grpc `1.28.1-1` -> `1.31.1` - - [(#11791)](https://github.com/microsoft/vcpkg/pull/11791) [grpc] Update to 1.29.1 - - [(#12611)](https://github.com/microsoft/vcpkg/pull/12611) [grpc] Fix generate plugin grpc_csharp_ext - - [(#12920)](https://github.com/microsoft/vcpkg/pull/12920) [grpc] grpc v1.30.2 - - [(#13084)](https://github.com/microsoft/vcpkg/pull/13084) [grpc][upb][re2] grpc v1.31.1 - -- offscale-libetcd-cpp `2019-07-10` -> `2019-07-10-1` - - [(#11791)](https://github.com/microsoft/vcpkg/pull/11791) [grpc] Update to 1.29.1 - -- stlab `1.5.2` -> `1.5.2-1` - - [(#11787)](https://github.com/microsoft/vcpkg/pull/11787) [stlab] Fix cmake config file - -- ffnvcodec `9.1.23.1` -> `9.1.23.1-1` - - [(#12080)](https://github.com/microsoft/vcpkg/pull/12080) Fix bootstrapping MSYS2 pacman (#11499) - - [(#11277)](https://github.com/microsoft/vcpkg/pull/11277) [ffmpeg] Add feature support for zlib, iconv, fdk-aac, mp3lame, opus, soxr, theora. - -- libpq `12.2-2` -> `12.2-3` - - [(#12080)](https://github.com/microsoft/vcpkg/pull/12080) Fix bootstrapping MSYS2 pacman (#11499) - - [(#11757)](https://github.com/microsoft/vcpkg/pull/11757) [vcpkg manifest] Manifest Implementation - - [(#12196)](https://github.com/microsoft/vcpkg/pull/12196) [cmocka libarchive libiconv libpq libxml2 plibsys] fix drive-by error in vcpkg-cmake-wrappers - - [(#12415)](https://github.com/microsoft/vcpkg/pull/12415) [libpq] Remove broken features - - [(#12674)](https://github.com/microsoft/vcpkg/pull/12674) [libpq] only require bison and flex on Windows - -- tensorflow-cc `1.14-2` -> `1.14-3` - - [(#12080)](https://github.com/microsoft/vcpkg/pull/12080) Fix bootstrapping MSYS2 pacman (#11499) - - [(#12546)](https://github.com/microsoft/vcpkg/pull/12546) [tensorflow-cc] fix build issues on Windows - -- ignition-modularscripts `2020-05-09` -> `2020-05-16` - - [(#11275)](https://github.com/microsoft/vcpkg/pull/11275) [ignition-plugin1] Add new port 🤖 - - [(#11550)](https://github.com/microsoft/vcpkg/pull/11550) [vcpkg/scripts/pkgconfig] rewrite pkg-config check for libraries - -- apr `1.7.0` -> `1.7.0-1` - - [(#12067)](https://github.com/microsoft/vcpkg/pull/12067) [vcpkg baseline] Fix baseline errors - - [(#11550)](https://github.com/microsoft/vcpkg/pull/11550) [vcpkg/scripts/pkgconfig] rewrite pkg-config check for libraries - -- argtable2 `2.13-4` -> `2.13-7` - - [(#11899)](https://github.com/microsoft/vcpkg/pull/11899) [vcpkg] Add vcpkg_from_sourceforge (1/2) - - [(#12018)](https://github.com/microsoft/vcpkg/pull/12018) [vcpkg_from_sourceforge] Add retry mirror function (2/2) - -- cunit `2.1.3-3` -> `2.1.3-6` - - [(#11899)](https://github.com/microsoft/vcpkg/pull/11899) [vcpkg] Add vcpkg_from_sourceforge (1/2) - - [(#12018)](https://github.com/microsoft/vcpkg/pull/12018) [vcpkg_from_sourceforge] Add retry mirror function (2/2) - -- epsilon `0.9.2-1` -> `0.9.2-4` - - [(#11899)](https://github.com/microsoft/vcpkg/pull/11899) [vcpkg] Add vcpkg_from_sourceforge (1/2) - - [(#12018)](https://github.com/microsoft/vcpkg/pull/12018) [vcpkg_from_sourceforge] Add retry mirror function (2/2) - -- freeglut `3.2.1-1` -> `3.2.1-4` - - [(#11899)](https://github.com/microsoft/vcpkg/pull/11899) [vcpkg] Add vcpkg_from_sourceforge (1/2) - - [(#12018)](https://github.com/microsoft/vcpkg/pull/12018) [vcpkg_from_sourceforge] Add retry mirror function (2/2) - -- freeimage `3.18.0-9` -> `3.18.0-12` - - [(#11899)](https://github.com/microsoft/vcpkg/pull/11899) [vcpkg] Add vcpkg_from_sourceforge (1/2) - - [(#12018)](https://github.com/microsoft/vcpkg/pull/12018) [vcpkg_from_sourceforge] Add retry mirror function (2/2) - - [(#11130)](https://github.com/microsoft/vcpkg/pull/11130) [opencv4] update to v4.3 - -- giflib `5.1.4-3` -> `5.1.4-6` - - [(#11899)](https://github.com/microsoft/vcpkg/pull/11899) [vcpkg] Add vcpkg_from_sourceforge (1/2) - - [(#12018)](https://github.com/microsoft/vcpkg/pull/12018) [vcpkg_from_sourceforge] Add retry mirror function (2/2) - -- gsoap `2.8.102` -> `2.8.105` - - [(#11899)](https://github.com/microsoft/vcpkg/pull/11899) [vcpkg] Add vcpkg_from_sourceforge (1/2) - - [(#12018)](https://github.com/microsoft/vcpkg/pull/12018) [vcpkg_from_sourceforge] Add retry mirror function (2/2) - - [(#12784)](https://github.com/microsoft/vcpkg/pull/12784) [gSoap] Update to 2.8.105 and add a required shared directory - -- healpix `1.12.10-1` -> `1.12.10-5` - - [(#11899)](https://github.com/microsoft/vcpkg/pull/11899) [vcpkg] Add vcpkg_from_sourceforge (1/2) - - [(#12018)](https://github.com/microsoft/vcpkg/pull/12018) [vcpkg_from_sourceforge] Add retry mirror function (2/2) - - [(#11836)](https://github.com/microsoft/vcpkg/pull/11836) [vcpkg/scripts/make] trying to iron out some issues - -- irrlicht `1.8.4-5` -> `1.8.4-8` - - [(#11899)](https://github.com/microsoft/vcpkg/pull/11899) [vcpkg] Add vcpkg_from_sourceforge (1/2) - - [(#12018)](https://github.com/microsoft/vcpkg/pull/12018) [vcpkg_from_sourceforge] Add retry mirror function (2/2) - - [(#13137)](https://github.com/microsoft/vcpkg/pull/13137) [irrlicht] Patch moved sysctl.h header file - -- itpp `4.3.1-2` -> `4.3.1-5` - - [(#11899)](https://github.com/microsoft/vcpkg/pull/11899) [vcpkg] Add vcpkg_from_sourceforge (1/2) - - [(#12018)](https://github.com/microsoft/vcpkg/pull/12018) [vcpkg_from_sourceforge] Add retry mirror function (2/2) - -- libaiff `5.0-3` -> `5.0-6` - - [(#11899)](https://github.com/microsoft/vcpkg/pull/11899) [vcpkg] Add vcpkg_from_sourceforge (1/2) - - [(#12018)](https://github.com/microsoft/vcpkg/pull/12018) [vcpkg_from_sourceforge] Add retry mirror function (2/2) - -- libdisasm `0.23-3` -> `0.23-7` - - [(#11899)](https://github.com/microsoft/vcpkg/pull/11899) [vcpkg] Add vcpkg_from_sourceforge (1/2) - - [(#12018)](https://github.com/microsoft/vcpkg/pull/12018) [vcpkg_from_sourceforge] Add retry mirror function (2/2) - -- libmad `0.15.1-5` -> `0.15.1-8` - - [(#11899)](https://github.com/microsoft/vcpkg/pull/11899) [vcpkg] Add vcpkg_from_sourceforge (1/2) - - [(#12018)](https://github.com/microsoft/vcpkg/pull/12018) [vcpkg_from_sourceforge] Add retry mirror function (2/2) - -- libmikmod `3.3.11.1-5` -> `3.3.11.1-8` - - [(#11899)](https://github.com/microsoft/vcpkg/pull/11899) [vcpkg] Add vcpkg_from_sourceforge (1/2) - - [(#12018)](https://github.com/microsoft/vcpkg/pull/12018) [vcpkg_from_sourceforge] Add retry mirror function (2/2) - -- libsquish `1.15-3` -> `1.15-7` - - [(#11899)](https://github.com/microsoft/vcpkg/pull/11899) [vcpkg] Add vcpkg_from_sourceforge (1/2) - - [(#12018)](https://github.com/microsoft/vcpkg/pull/12018) [vcpkg_from_sourceforge] Add retry mirror function (2/2) - -- libssh `0.9.3-1` -> `0.9.3-2` - - [(#11899)](https://github.com/microsoft/vcpkg/pull/11899) [vcpkg] Add vcpkg_from_sourceforge (1/2) - -- libusb-win32 `1.2.6.0-3` -> `1.2.6.0-6` - - [(#11899)](https://github.com/microsoft/vcpkg/pull/11899) [vcpkg] Add vcpkg_from_sourceforge (1/2) - - [(#12018)](https://github.com/microsoft/vcpkg/pull/12018) [vcpkg_from_sourceforge] Add retry mirror function (2/2) - -- libuuid `1.0.3-4` -> `1.0.3-7` - - [(#11899)](https://github.com/microsoft/vcpkg/pull/11899) [vcpkg] Add vcpkg_from_sourceforge (1/2) - - [(#12018)](https://github.com/microsoft/vcpkg/pull/12018) [vcpkg_from_sourceforge] Add retry mirror function (2/2) - -- libxmp-lite `4.4.1-3` -> `4.4.1-6` - - [(#11899)](https://github.com/microsoft/vcpkg/pull/11899) [vcpkg] Add vcpkg_from_sourceforge (1/2) - - [(#12018)](https://github.com/microsoft/vcpkg/pull/12018) [vcpkg_from_sourceforge] Add retry mirror function (2/2) - -- mathgl `2.4.3-3` -> `2.4.3-6` - - [(#11899)](https://github.com/microsoft/vcpkg/pull/11899) [vcpkg] Add vcpkg_from_sourceforge (1/2) - - [(#12018)](https://github.com/microsoft/vcpkg/pull/12018) [vcpkg_from_sourceforge] Add retry mirror function (2/2) - -- mp3lame `3.100` -> `3.100-3` - - [(#11899)](https://github.com/microsoft/vcpkg/pull/11899) [vcpkg] Add vcpkg_from_sourceforge (1/2) - - [(#12018)](https://github.com/microsoft/vcpkg/pull/12018) [vcpkg_from_sourceforge] Add retry mirror function (2/2) - -- mpg123 `1.25.8-10` -> `1.25.8-12` - - [(#11899)](https://github.com/microsoft/vcpkg/pull/11899) [vcpkg] Add vcpkg_from_sourceforge (1/2) - - [(#12287)](https://github.com/microsoft/vcpkg/pull/12287) [mpg123] Update portfile.cmake to accomodate OpenSUSE 15.x /lib /lib64 - - [(#11535)](https://github.com/microsoft/vcpkg/pull/11535) [mpg123] Allow cross-compiling, fix previous builds tainting rebuilds - -- pcre `8.44-1` -> `8.44-4` - - [(#11899)](https://github.com/microsoft/vcpkg/pull/11899) [vcpkg] Add vcpkg_from_sourceforge (1/2) - - [(#12018)](https://github.com/microsoft/vcpkg/pull/12018) [vcpkg_from_sourceforge] Add retry mirror function (2/2) - - [(#12252)](https://github.com/microsoft/vcpkg/pull/12252) [pcre] Use vcpkg_from_sourceforge as a fallback - - [(#11550)](https://github.com/microsoft/vcpkg/pull/11550) [vcpkg/scripts/pkgconfig] rewrite pkg-config check for libraries - - [(#12629)](https://github.com/microsoft/vcpkg/pull/12629) [pcre] Fix installation when only building release - -- pcre2 `10.30-7` -> `10.35` - - [(#11899)](https://github.com/microsoft/vcpkg/pull/11899) [vcpkg] Add vcpkg_from_sourceforge (1/2) - - [(#12233)](https://github.com/microsoft/vcpkg/pull/12233) [pcre2] Restore the https://ftp.pcre.org/ mirror in addition to the SourceForge mirrors. - - [(#11754)](https://github.com/microsoft/vcpkg/pull/11754) [pcre2] Update to 10.35 - - [(#12347)](https://github.com/microsoft/vcpkg/pull/12347) [pcre2] Fix -mshstk needed with -fcf-protection - -- plplot `5.13.0-5` -> `5.13.0-8` - - [(#11899)](https://github.com/microsoft/vcpkg/pull/11899) [vcpkg] Add vcpkg_from_sourceforge (1/2) - - [(#12018)](https://github.com/microsoft/vcpkg/pull/12018) [vcpkg_from_sourceforge] Add retry mirror function (2/2) - -- podofo `0.9.6-8` -> `0.9.6-9` - - [(#11899)](https://github.com/microsoft/vcpkg/pull/11899) [vcpkg] Add vcpkg_from_sourceforge (1/2) - - [(#12018)](https://github.com/microsoft/vcpkg/pull/12018) [vcpkg_from_sourceforge] Add retry mirror function (2/2) - - [(#12405)](https://github.com/microsoft/vcpkg/pull/12405) [brotli] add pkgconfig / [freetype] depend on brotli - -- portmidi `0.217.1-1` -> `0.234` - - [(#11899)](https://github.com/microsoft/vcpkg/pull/11899) [vcpkg] Add vcpkg_from_sourceforge (1/2) - - [(#12018)](https://github.com/microsoft/vcpkg/pull/12018) [vcpkg_from_sourceforge] Add retry mirror function (2/2) - - [(#12046)](https://github.com/microsoft/vcpkg/pull/12046) [portmidi] Updated portmidi package to use alternative code source - -- pthreads `3.0.0-5` -> `3.0.0-6` - - [(#11899)](https://github.com/microsoft/vcpkg/pull/11899) [vcpkg] Add vcpkg_from_sourceforge (1/2) - -- qt5-base `5.12.8-4` -> `5.15.0` - - [(#11899)](https://github.com/microsoft/vcpkg/pull/11899) [vcpkg] Add vcpkg_from_sourceforge (1/2) - - [(#12153)](https://github.com/microsoft/vcpkg/pull/12153) [qt5-base] fix static init fiasco and fix debug dll's not being copied - - [(#11757)](https://github.com/microsoft/vcpkg/pull/11757) [vcpkg manifest] Manifest Implementation - - [(#11596)](https://github.com/microsoft/vcpkg/pull/11596) [qt5] update qt to 5.15 and make ports depend on qt5-base[core]. - - [(#12529)](https://github.com/microsoft/vcpkg/pull/12529) [qt5 components] Disable parallel build - - [(#12342)](https://github.com/microsoft/vcpkg/pull/12342) [qt5-base] Add zstd as a dependency - - [(#12752)](https://github.com/microsoft/vcpkg/pull/12752) [vcpkg_build_qmake] Disable multi-threaded build when file fails to open - - [(#12405)](https://github.com/microsoft/vcpkg/pull/12405) [brotli] add pkgconfig / [freetype] depend on brotli - -- qwt `6.1.3-11` -> `6.1.4` - - [(#11899)](https://github.com/microsoft/vcpkg/pull/11899) [vcpkg] Add vcpkg_from_sourceforge (1/2) - - [(#11596)](https://github.com/microsoft/vcpkg/pull/11596) [qt5] update qt to 5.15 and make ports depend on qt5-base[core]. - - [(#12529)](https://github.com/microsoft/vcpkg/pull/12529) [qt5 components] Disable parallel build - -- rapidxml `1.13-1` -> `1.13-4` - - [(#11899)](https://github.com/microsoft/vcpkg/pull/11899) [vcpkg] Add vcpkg_from_sourceforge (1/2) - - [(#12018)](https://github.com/microsoft/vcpkg/pull/12018) [vcpkg_from_sourceforge] Add retry mirror function (2/2) - -- sigslot `1.0.0` -> `1.0.0-3` - - [(#11899)](https://github.com/microsoft/vcpkg/pull/11899) [vcpkg] Add vcpkg_from_sourceforge (1/2) - - [(#12018)](https://github.com/microsoft/vcpkg/pull/12018) [vcpkg_from_sourceforge] Add retry mirror function (2/2) - -- soxr `0.1.3.` -> `0.1.3-2` - - [(#11899)](https://github.com/microsoft/vcpkg/pull/11899) [vcpkg] Add vcpkg_from_sourceforge (1/2) - -- tclap `1.2.2-2` -> `1.2.2-3` - - [(#11899)](https://github.com/microsoft/vcpkg/pull/11899) [vcpkg] Add vcpkg_from_sourceforge (1/2) - -- tinyfiledialogs `3.4.3-2` -> `3.6.3` - - [(#11899)](https://github.com/microsoft/vcpkg/pull/11899) [vcpkg] Add vcpkg_from_sourceforge (1/2) - - [(#12137)](https://github.com/microsoft/vcpkg/pull/12137) [tinyfiledialogs] Update version and download path to v3.6.3 - -- tinyxml `2.6.2-4` -> `2.6.2-7` - - [(#11899)](https://github.com/microsoft/vcpkg/pull/11899) [vcpkg] Add vcpkg_from_sourceforge (1/2) - - [(#12018)](https://github.com/microsoft/vcpkg/pull/12018) [vcpkg_from_sourceforge] Add retry mirror function (2/2) - -- openssl-unix `1.1.1d-4` -> `1.1.1g` - - [(#11882)](https://github.com/microsoft/vcpkg/pull/11882) [openssl] Update openssl 1.1.1g - continued from PR #11003 - - [(#12544)](https://github.com/microsoft/vcpkg/pull/12544) [openssl-unix] Add mingw with dynamic libs support - take 2 - - [(#12867)](https://github.com/microsoft/vcpkg/pull/12867) [openssl] Interrupt the build process when files conflict - - [(#12986)](https://github.com/microsoft/vcpkg/pull/12986) [openssl-unix] Fix #12919 - - [(#12527)](https://github.com/microsoft/vcpkg/pull/12527) [openssl-unix] use xcrun for iOS triplet build - -- openssl-uwp `1.1.1d-1` -> `1.1.1g` - - [(#11882)](https://github.com/microsoft/vcpkg/pull/11882) [openssl] Update openssl 1.1.1g - continued from PR #11003 - - [(#12867)](https://github.com/microsoft/vcpkg/pull/12867) [openssl] Interrupt the build process when files conflict - -- openssl-windows `1.1.1d-2` -> `1.1.1g` - - [(#11882)](https://github.com/microsoft/vcpkg/pull/11882) [openssl] Update openssl 1.1.1g - continued from PR #11003 - - [(#12056)](https://github.com/microsoft/vcpkg/pull/12056) [openssl-windows] Added feature option to build openssl with no-pinshared flag - - [(#12867)](https://github.com/microsoft/vcpkg/pull/12867) [openssl] Interrupt the build process when files conflict - -- openssl `1.1.1d` -> `1.1.1g` - - [(#11882)](https://github.com/microsoft/vcpkg/pull/11882) [openssl] Update openssl 1.1.1g - continued from PR #11003 - - [(#12867)](https://github.com/microsoft/vcpkg/pull/12867) [openssl] Interrupt the build process when files conflict - -- cmocka `1.1.5-1` -> `1.1.5` - - [(#11757)](https://github.com/microsoft/vcpkg/pull/11757) [vcpkg manifest] Manifest Implementation - - [(#12196)](https://github.com/microsoft/vcpkg/pull/12196) [cmocka libarchive libiconv libpq libxml2 plibsys] fix drive-by error in vcpkg-cmake-wrappers - - [(#12828)](https://github.com/microsoft/vcpkg/pull/12828) [cmocka] Update to 2020-08-01 - -- libarchive `3.4.1-3` -> `3.4.1` - - [(#11757)](https://github.com/microsoft/vcpkg/pull/11757) [vcpkg manifest] Manifest Implementation - - [(#12196)](https://github.com/microsoft/vcpkg/pull/12196) [cmocka libarchive libiconv libpq libxml2 plibsys] fix drive-by error in vcpkg-cmake-wrappers - -- libiconv `1.16-3` -> `1.16` - - [(#11757)](https://github.com/microsoft/vcpkg/pull/11757) [vcpkg manifest] Manifest Implementation - - [(#12196)](https://github.com/microsoft/vcpkg/pull/12196) [cmocka libarchive libiconv libpq libxml2 plibsys] fix drive-by error in vcpkg-cmake-wrappers - -- libxml2 `2.9.9-6` -> `2.9.9` - - [(#11757)](https://github.com/microsoft/vcpkg/pull/11757) [vcpkg manifest] Manifest Implementation - - [(#12196)](https://github.com/microsoft/vcpkg/pull/12196) [cmocka libarchive libiconv libpq libxml2 plibsys] fix drive-by error in vcpkg-cmake-wrappers - -- suitesparse `5.4.0-5` -> `5.4.0-6` - - [(#11945)](https://github.com/microsoft/vcpkg/pull/11945) [suitesparse] Fixing `SuiteSparse_INCLUDE_DIRS` is not usable from the port. - - [(#12464)](https://github.com/microsoft/vcpkg/pull/12464) [lapack] add metaport lapack to switch lapack impl with an overlay - -- boost-locale `1.73.0` -> `1.73.0-1` - - [(#10943)](https://github.com/microsoft/vcpkg/pull/10943) [boost-locale] Fix boost-locale failing to build with ICU - - [(#12762)](https://github.com/microsoft/vcpkg/pull/12762) [boost] Add Supports fields and more accurately handle arm64-windows/x64-uwp - -- monkeys-audio `5.38` -> `5.48` - - [(#12158)](https://github.com/microsoft/vcpkg/pull/12158) [monkeys-audio] Update to 5.46 - - [(#12690)](https://github.com/microsoft/vcpkg/pull/12690) [monkeys-audio] Update to 5.48 - -- google-cloud-cpp `1.14.0` -> `1.16.0` - - [(#12195)](https://github.com/microsoft/vcpkg/pull/12195) [google-cloud-cpp] Update to v1.15.0 - - [(#12747)](https://github.com/microsoft/vcpkg/pull/12747) [google-cloud-cpp] Update to v1.16.0 - -- infoware `0.5.3` -> `0.5.5` - - [(#12167)](https://github.com/microsoft/vcpkg/pull/12167) [infoware] Bump version to 0.5.4 - - [(#13010)](https://github.com/microsoft/vcpkg/pull/13010) [infoware] Bump version to 0.5.5 - -- sqlite3 `3.32.1` -> `3.32.3` - - [(#12185)](https://github.com/microsoft/vcpkg/pull/12185) update to sqlite3 3.32.3 - - [(#12516)](https://github.com/microsoft/vcpkg/pull/12516) [sqlite3] Namespaced targets with unofficial:: - - [(#11532)](https://github.com/microsoft/vcpkg/pull/11532) [sqlite3] Sqlite3 geopoly and json1 features - -- plibsys `0.0.4-3` -> `0.0.4` - - [(#12196)](https://github.com/microsoft/vcpkg/pull/12196) [cmocka libarchive libiconv libpq libxml2 plibsys] fix drive-by error in vcpkg-cmake-wrappers - -- span-lite `0.5.0` -> `0.7.0` - - [(#12206)](https://github.com/microsoft/vcpkg/pull/12206) [span-lite] Update to 0.7.0 - -- safeint `3.23` -> `3.24` - - [(#12217)](https://github.com/microsoft/vcpkg/pull/12217) [safeint] Update to 3.24 - -- xerces-c `3.2.3` -> `3.2.3-1` - - [(#12205)](https://github.com/microsoft/vcpkg/pull/12205) [xerces-c] rename feature from xmlch_wchar to xmlch-wchar - -- libnice `0.1.15-3` -> `0.1.15-4` - - [(#12018)](https://github.com/microsoft/vcpkg/pull/12018) [vcpkg_from_sourceforge] Add retry mirror function (2/2) - -- opencc `2020-04-26-4` -> `2020-04-26-6` - - [(#12018)](https://github.com/microsoft/vcpkg/pull/12018) [vcpkg_from_sourceforge] Add retry mirror function (2/2) - - [(#12246)](https://github.com/microsoft/vcpkg/pull/12246) [opencc] Fix regression on pipeline - -- exiv2 `0.27.2-1` -> `0.27.3` - - [(#12278)](https://github.com/microsoft/vcpkg/pull/12278) [Exiv2] update to 0.27.3 - - [(#9146)](https://github.com/microsoft/vcpkg/pull/9146) [expat] Update the version to 2.2.9 (add support for uwp) - -- nanodbc `2.12.4-8` -> `2.12.4` - - [(#12274)](https://github.com/microsoft/vcpkg/pull/12274) [nanodbc] Set unixodbc as a dependency under non-Windows - -- doctest `2.3.7` -> `2.4.0` - - [(#12239)](https://github.com/microsoft/vcpkg/pull/12239) [doctest] update to 2.4.0 - -- opengl `0.0-6` -> `0.0-7` - - [(#12232)](https://github.com/microsoft/vcpkg/pull/12232) [opengl wincrypt winsock2] Use $ENV{WindowsSdkDir} instead of hard coding Windows SDK paths. - -- wincrypt `0.0-1` -> `0.0-2` - - [(#12232)](https://github.com/microsoft/vcpkg/pull/12232) [opengl wincrypt winsock2] Use $ENV{WindowsSdkDir} instead of hard coding Windows SDK paths. - -- winsock2 `0.0-1` -> `0.0-2` - - [(#12232)](https://github.com/microsoft/vcpkg/pull/12232) [opengl wincrypt winsock2] Use $ENV{WindowsSdkDir} instead of hard coding Windows SDK paths. - -- openvr `1.10.30` -> `1.12.5` - - [(#12219)](https://github.com/microsoft/vcpkg/pull/12219) [openvr] Update to 1.12.5 - -- utf8h `841cb2deb8eb806e73fff0e1f43a11fca4f5da45` -> `2020-06-14` - - [(#12218)](https://github.com/microsoft/vcpkg/pull/12218) [utf8h] Update to latest version - -- libyuv `fec9121-1` -> `fec9121-2` - - [(#12213)](https://github.com/microsoft/vcpkg/pull/12213) [libyuv] Find dependency port libjpeg-turbo - - [(#12338)](https://github.com/microsoft/vcpkg/pull/12338) [libyuv] Fix static build issue - -- polyhook2 `2020-06-02` -> `2020-08-04` - - [(#12189)](https://github.com/microsoft/vcpkg/pull/12189) [polyhook2] Update to latest - - [(#12524)](https://github.com/microsoft/vcpkg/pull/12524) [asmjit] Update to the latest commit - -- ace `6.5.9-5` -> `6.5.11` - - [(#12183)](https://github.com/microsoft/vcpkg/pull/12183) [ace] 6.5.10 - - [(#12954)](https://github.com/microsoft/vcpkg/pull/12954) [ace] Update to 6.5.11 - -- curl `7.68.0-3` -> `7.71.1` - - [(#12141)](https://github.com/microsoft/vcpkg/pull/12141) [curl] Update to 7.71.0 - - [(#12758)](https://github.com/microsoft/vcpkg/pull/12758) [curl] Fix tools - - [(#12800)](https://github.com/microsoft/vcpkg/pull/12800) [curl] Fix static build - -- robin-hood-hashing `3.4.0` -> `3.8.0` - - [(#12147)](https://github.com/microsoft/vcpkg/pull/12147) [robin-hood-hashing] Update to 3.7.0 - - [(#12480)](https://github.com/microsoft/vcpkg/pull/12480) [robin-hood-hashing] Update to latest version - -- libexif `0.6.21-2` -> `0.6.22` - - [(#12161)](https://github.com/microsoft/vcpkg/pull/12161) [libexif] Update to 0.6.22 - -- cli `1.1.1` -> `1.2.0` - - [(#12139)](https://github.com/microsoft/vcpkg/pull/12139) [cli] update the version to 1.2.0 - -- libffi `3.3-2` -> `3.3-3` - - [(#12126)](https://github.com/microsoft/vcpkg/pull/12126) [libffi] Add pkgconfig file - - [(#12498)](https://github.com/microsoft/vcpkg/pull/12498) [libffi] fix crash in debug - -- angle `2020-05-15` -> `2020-05-15-1` - - [(#12111)](https://github.com/microsoft/vcpkg/pull/12111) [angle] Add egl renderer to list of files compiled for linux - -- caf `0.17.2` -> `0.17.3` - - [(#12068)](https://github.com/microsoft/vcpkg/pull/12068) [caf] Update to 0.17.3 - -- aws-sdk-cpp `1.7.333` -> `1.8.4` - - [(#12316)](https://github.com/microsoft/vcpkg/pull/12316) aws-sdk-cpp version update - -- libcopp `1.2.1` -> `1.3.1` - - [(#12264)](https://github.com/microsoft/vcpkg/pull/12264) [libcoppp] Update version to 1.3.0 - -- openimageio `2.1.9.0` -> `2.1.16.0-1` - - [(#11767)](https://github.com/microsoft/vcpkg/pull/11767) [openimageio] Update to version 2.1.16.0 - - [(#12157)](https://github.com/microsoft/vcpkg/pull/12157) [many ports] Remove _find_package guards that break *_FOUND - - [(#12592)](https://github.com/microsoft/vcpkg/pull/12592) [openimageio] Fix installed cmake file path - - [(#12856)](https://github.com/microsoft/vcpkg/pull/12856) [vcpkg baseline] Fix openimageio and pangolin build failures on Linux - -- evpp `0.7.0-2` -> `0.7.0-3` - - [(#11967)](https://github.com/microsoft/vcpkg/pull/11967) [evpp] Fix build error on OSX - - [(#12277)](https://github.com/microsoft/vcpkg/pull/12277) [libevent] update to 2.1.12 - -- protobuf `3.12.0-2` -> `3.13.0` - - [(#11851)](https://github.com/microsoft/vcpkg/pull/11851) [protobuf] Update to 3.12.3 - - [(#11550)](https://github.com/microsoft/vcpkg/pull/11550) [vcpkg/scripts/pkgconfig] rewrite pkg-config check for libraries - - [(#12103)](https://github.com/microsoft/vcpkg/pull/12103) Mingw port fixes - - [(#12776)](https://github.com/microsoft/vcpkg/pull/12776) [vcpkg_copy_tool_dependencies] Use vcpkg internal powershell - - [(#12918)](https://github.com/microsoft/vcpkg/pull/12918) [protobuf] protobuf v3.13.0 - -- fontconfig `2.12.4-10` -> `2.12.4` - - [(#12322)](https://github.com/microsoft/vcpkg/pull/12322) [fontconfig] Fix fonts.conf install path - - [(#9146)](https://github.com/microsoft/vcpkg/pull/9146) [expat] Update the version to 2.2.9 (add support for uwp) - -- faad2 `2.9.1-1` -> `2.9.1` - - [(#12306)](https://github.com/microsoft/vcpkg/pull/12306) [Many ports] Fix invalid character in feature name - -- freetype `2.10.1-6` -> `2.10.2` - - [(#11846)](https://github.com/microsoft/vcpkg/pull/11846) [freetype] Update to 2.10.2 - - [(#12405)](https://github.com/microsoft/vcpkg/pull/12405) [brotli] add pkgconfig / [freetype] depend on brotli - - [(#12886)](https://github.com/microsoft/vcpkg/pull/12886) [many ports] Fix various problems with mingw - -- cgal `5.0.2-1` -> `5.0.3` - - [(#11596)](https://github.com/microsoft/vcpkg/pull/11596) [qt5] update qt to 5.15 and make ports depend on qt5-base[core]. - - [(#12711)](https://github.com/microsoft/vcpkg/pull/12711) [cgal] Update cgal to 5.0.3 - -- cutelyst2 `2.9.0` -> `2.9.0-1` - - [(#11596)](https://github.com/microsoft/vcpkg/pull/11596) [qt5] update qt to 5.15 and make ports depend on qt5-base[core]. - -- kd-soap `1.8.0-1` -> `1.8.0-2` - - [(#11596)](https://github.com/microsoft/vcpkg/pull/11596) [qt5] update qt to 5.15 and make ports depend on qt5-base[core]. - -- kf5archive `5.64.0` -> `5.64.0-1` - - [(#11596)](https://github.com/microsoft/vcpkg/pull/11596) [qt5] update qt to 5.15 and make ports depend on qt5-base[core]. - - [(#11861)](https://github.com/microsoft/vcpkg/pull/11861) Adding libraries needed to build Krita - -- kf5holidays `5.64.0` -> `5.64.0-1` - - [(#11596)](https://github.com/microsoft/vcpkg/pull/11596) [qt5] update qt to 5.15 and make ports depend on qt5-base[core]. - -- kf5plotting `5.64.0` -> `5.64.0-1` - - [(#11596)](https://github.com/microsoft/vcpkg/pull/11596) [qt5] update qt to 5.15 and make ports depend on qt5-base[core]. - -- kf5syntaxhighlighting `5.64.0` -> `5.64.0-1` - - [(#11596)](https://github.com/microsoft/vcpkg/pull/11596) [qt5] update qt to 5.15 and make ports depend on qt5-base[core]. - -- libqglviewer `2.7.2-2` -> `2.7.2-3` - - [(#11596)](https://github.com/microsoft/vcpkg/pull/11596) [qt5] update qt to 5.15 and make ports depend on qt5-base[core]. - -- opencv2 `2.4.13.7-1` -> `2.4.13.7-2` - - [(#11596)](https://github.com/microsoft/vcpkg/pull/11596) [qt5] update qt to 5.15 and make ports depend on qt5-base[core]. - - [(#11130)](https://github.com/microsoft/vcpkg/pull/11130) [opencv4] update to v4.3 - -- opencv3 `3.4.7-3` -> `3.4.7-4` - - [(#11596)](https://github.com/microsoft/vcpkg/pull/11596) [qt5] update qt to 5.15 and make ports depend on qt5-base[core]. - - [(#11130)](https://github.com/microsoft/vcpkg/pull/11130) [opencv4] update to v4.3 - -- opencv4 `4.1.1-6` -> `4.3.0` - - [(#11596)](https://github.com/microsoft/vcpkg/pull/11596) [qt5] update qt to 5.15 and make ports depend on qt5-base[core]. - - [(#11130)](https://github.com/microsoft/vcpkg/pull/11130) [opencv4] update to v4.3 - -- osg-qt `Qt4-1` -> `Qt4-2` - - [(#11596)](https://github.com/microsoft/vcpkg/pull/11596) [qt5] update qt to 5.15 and make ports depend on qt5-base[core]. - -- qca `2.2.1` -> `2.2.1-1` - - [(#11596)](https://github.com/microsoft/vcpkg/pull/11596) [qt5] update qt to 5.15 and make ports depend on qt5-base[core]. - -- qcustomplot `2.0.1-3` -> `2.0.1-4` - - [(#11596)](https://github.com/microsoft/vcpkg/pull/11596) [qt5] update qt to 5.15 and make ports depend on qt5-base[core]. - -- qscintilla `2.11.4-1` -> `2.11.4-2` - - [(#11596)](https://github.com/microsoft/vcpkg/pull/11596) [qt5] update qt to 5.15 and make ports depend on qt5-base[core]. - -- qt-advanced-docking-system `3.2.5-1` -> `3.2.5-2` - - [(#11596)](https://github.com/microsoft/vcpkg/pull/11596) [qt5] update qt to 5.15 and make ports depend on qt5-base[core]. - -- qt5-3d `5.12.8` -> `5.15.0` - - [(#11596)](https://github.com/microsoft/vcpkg/pull/11596) [qt5] update qt to 5.15 and make ports depend on qt5-base[core]. - -- qt5-activeqt `5.12.8-1` -> `5.15.0` - - [(#11596)](https://github.com/microsoft/vcpkg/pull/11596) [qt5] update qt to 5.15 and make ports depend on qt5-base[core]. - -- qt5-androidextras `5.12.8` -> `5.15.0` - - [(#11596)](https://github.com/microsoft/vcpkg/pull/11596) [qt5] update qt to 5.15 and make ports depend on qt5-base[core]. - -- qt5-canvas3d `5.12.8` -> `0` - - [(#11596)](https://github.com/microsoft/vcpkg/pull/11596) [qt5] update qt to 5.15 and make ports depend on qt5-base[core]. - -- qt5-charts `5.12.8` -> `5.15.0` - - [(#11596)](https://github.com/microsoft/vcpkg/pull/11596) [qt5] update qt to 5.15 and make ports depend on qt5-base[core]. - -- qt5-connectivity `5.12.8` -> `5.15.0` - - [(#11596)](https://github.com/microsoft/vcpkg/pull/11596) [qt5] update qt to 5.15 and make ports depend on qt5-base[core]. - - [(#12529)](https://github.com/microsoft/vcpkg/pull/12529) [qt5 components] Disable parallel build - -- qt5-datavis3d `5.12.8` -> `5.15.0` - - [(#11596)](https://github.com/microsoft/vcpkg/pull/11596) [qt5] update qt to 5.15 and make ports depend on qt5-base[core]. - -- qt5-declarative `5.12.8` -> `5.15.0` - - [(#11596)](https://github.com/microsoft/vcpkg/pull/11596) [qt5] update qt to 5.15 and make ports depend on qt5-base[core]. - -- qt5-doc `5.12.8` -> `5.15.0` - - [(#11596)](https://github.com/microsoft/vcpkg/pull/11596) [qt5] update qt to 5.15 and make ports depend on qt5-base[core]. - -- qt5-gamepad `5.12.8` -> `5.15.0` - - [(#11596)](https://github.com/microsoft/vcpkg/pull/11596) [qt5] update qt to 5.15 and make ports depend on qt5-base[core]. - -- qt5-graphicaleffects `5.12.8` -> `5.15.0` - - [(#11596)](https://github.com/microsoft/vcpkg/pull/11596) [qt5] update qt to 5.15 and make ports depend on qt5-base[core]. - -- qt5-imageformats `5.12.8` -> `5.15.0` - - [(#11596)](https://github.com/microsoft/vcpkg/pull/11596) [qt5] update qt to 5.15 and make ports depend on qt5-base[core]. - - [(#12529)](https://github.com/microsoft/vcpkg/pull/12529) [qt5 components] Disable parallel build - -- qt5-location `5.12.8` -> `5.15.0` - - [(#11596)](https://github.com/microsoft/vcpkg/pull/11596) [qt5] update qt to 5.15 and make ports depend on qt5-base[core]. - - [(#12529)](https://github.com/microsoft/vcpkg/pull/12529) [qt5 components] Disable parallel build - -- qt5-macextras `5.12.8` -> `5.15.0` - - [(#11596)](https://github.com/microsoft/vcpkg/pull/11596) [qt5] update qt to 5.15 and make ports depend on qt5-base[core]. - -- qt5-mqtt `5.12.8` -> `5.15.0` - - [(#11596)](https://github.com/microsoft/vcpkg/pull/11596) [qt5] update qt to 5.15 and make ports depend on qt5-base[core]. - -- qt5-multimedia `5.12.8` -> `5.15.0` - - [(#11596)](https://github.com/microsoft/vcpkg/pull/11596) [qt5] update qt to 5.15 and make ports depend on qt5-base[core]. - -- qt5-networkauth `5.12.8` -> `5.15.0` - - [(#11596)](https://github.com/microsoft/vcpkg/pull/11596) [qt5] update qt to 5.15 and make ports depend on qt5-base[core]. - -- qt5-purchasing `5.12.8` -> `5.15.0` - - [(#11596)](https://github.com/microsoft/vcpkg/pull/11596) [qt5] update qt to 5.15 and make ports depend on qt5-base[core]. - -- qt5-quickcontrols `5.12.8` -> `5.15.0` - - [(#11596)](https://github.com/microsoft/vcpkg/pull/11596) [qt5] update qt to 5.15 and make ports depend on qt5-base[core]. - -- qt5-quickcontrols2 `5.12.8` -> `5.15.0` - - [(#11596)](https://github.com/microsoft/vcpkg/pull/11596) [qt5] update qt to 5.15 and make ports depend on qt5-base[core]. - -- qt5-remoteobjects `5.12.8` -> `5.15.0` - - [(#11596)](https://github.com/microsoft/vcpkg/pull/11596) [qt5] update qt to 5.15 and make ports depend on qt5-base[core]. - -- qt5-script `5.12.8` -> `5.15.0` - - [(#11596)](https://github.com/microsoft/vcpkg/pull/11596) [qt5] update qt to 5.15 and make ports depend on qt5-base[core]. - -- qt5-scxml `5.12.8` -> `5.15.0` - - [(#11596)](https://github.com/microsoft/vcpkg/pull/11596) [qt5] update qt to 5.15 and make ports depend on qt5-base[core]. - -- qt5-sensors `5.12.8` -> `5.15.0` - - [(#11596)](https://github.com/microsoft/vcpkg/pull/11596) [qt5] update qt to 5.15 and make ports depend on qt5-base[core]. - -- qt5-serialbus `5.12.8` -> `5.15.0` - - [(#11596)](https://github.com/microsoft/vcpkg/pull/11596) [qt5] update qt to 5.15 and make ports depend on qt5-base[core]. - -- qt5-serialport `5.12.8` -> `5.15.0` - - [(#11596)](https://github.com/microsoft/vcpkg/pull/11596) [qt5] update qt to 5.15 and make ports depend on qt5-base[core]. - -- qt5-speech `5.12.8` -> `5.15.0` - - [(#11596)](https://github.com/microsoft/vcpkg/pull/11596) [qt5] update qt to 5.15 and make ports depend on qt5-base[core]. - -- qt5-svg `5.12.8` -> `5.15.0` - - [(#11596)](https://github.com/microsoft/vcpkg/pull/11596) [qt5] update qt to 5.15 and make ports depend on qt5-base[core]. - -- qt5-tools `5.12.8` -> `5.15.0` - - [(#11596)](https://github.com/microsoft/vcpkg/pull/11596) [qt5] update qt to 5.15 and make ports depend on qt5-base[core]. - -- qt5-translations `5.12.8` -> `5.15.0` - - [(#11596)](https://github.com/microsoft/vcpkg/pull/11596) [qt5] update qt to 5.15 and make ports depend on qt5-base[core]. - -- qt5-virtualkeyboard `5.12.8` -> `5.15.0` - - [(#11596)](https://github.com/microsoft/vcpkg/pull/11596) [qt5] update qt to 5.15 and make ports depend on qt5-base[core]. - -- qt5-wayland `5.12.8` -> `5.15.0` - - [(#11596)](https://github.com/microsoft/vcpkg/pull/11596) [qt5] update qt to 5.15 and make ports depend on qt5-base[core]. - -- qt5-webchannel `5.12.8` -> `5.15.0` - - [(#11596)](https://github.com/microsoft/vcpkg/pull/11596) [qt5] update qt to 5.15 and make ports depend on qt5-base[core]. - -- qt5-webengine `5.12.8` -> `5.15.0` - - [(#11596)](https://github.com/microsoft/vcpkg/pull/11596) [qt5] update qt to 5.15 and make ports depend on qt5-base[core]. - - [(#12494)](https://github.com/microsoft/vcpkg/pull/12494) [qt-webengine] Fix building with vs2017 - -- qt5-webglplugin `5.12.8` -> `5.15.0` - - [(#11596)](https://github.com/microsoft/vcpkg/pull/11596) [qt5] update qt to 5.15 and make ports depend on qt5-base[core]. - -- qt5-websockets `5.12.8` -> `5.15.0` - - [(#11596)](https://github.com/microsoft/vcpkg/pull/11596) [qt5] update qt to 5.15 and make ports depend on qt5-base[core]. - -- qt5-webview `5.12.8` -> `5.15.0` - - [(#11596)](https://github.com/microsoft/vcpkg/pull/11596) [qt5] update qt to 5.15 and make ports depend on qt5-base[core]. - -- qt5-winextras `5.12.8` -> `5.15.0` - - [(#11596)](https://github.com/microsoft/vcpkg/pull/11596) [qt5] update qt to 5.15 and make ports depend on qt5-base[core]. - -- qt5-x11extras `5.12.8` -> `5.15.0` - - [(#11596)](https://github.com/microsoft/vcpkg/pull/11596) [qt5] update qt to 5.15 and make ports depend on qt5-base[core]. - -- qt5-xmlpatterns `5.12.8` -> `5.15.0` - - [(#11596)](https://github.com/microsoft/vcpkg/pull/11596) [qt5] update qt to 5.15 and make ports depend on qt5-base[core]. - -- qt5 `5.12.8` -> `5.15.0` - - [(#11596)](https://github.com/microsoft/vcpkg/pull/11596) [qt5] update qt to 5.15 and make ports depend on qt5-base[core]. - - [(#12471)](https://github.com/microsoft/vcpkg/pull/12471) [vcpkg format-manifest] Add convert-control flag - - [(#12864)](https://github.com/microsoft/vcpkg/pull/12864) [vcpkg_execute_build_process] Re-fix qt5 components build - -- qtkeychain `v0.9.1` -> `v0.9.1-1` - - [(#11596)](https://github.com/microsoft/vcpkg/pull/11596) [qt5] update qt to 5.15 and make ports depend on qt5-base[core]. - -- soqt `1.6.0` -> `1.6.0-1` - - [(#11596)](https://github.com/microsoft/vcpkg/pull/11596) [qt5] update qt to 5.15 and make ports depend on qt5-base[core]. - -- range-v3 `0.10.0-20200425` -> `0.10.0-20200708` - - [(#12346)](https://github.com/microsoft/vcpkg/pull/12346) [range-v3] updates range-v3 - -- azure-storage-cpp `7.4.0` -> `7.5.0` - - [(#12333)](https://github.com/microsoft/vcpkg/pull/12333) [azure-storage-cpp] Upgrade to 7.5.0 - -- directxmesh `jun2020` -> `jul2020` - - [(#12332)](https://github.com/microsoft/vcpkg/pull/12332) [directxtk][directxtk12][directxtex][directxmesh] Update to latest version - - [(#13060)](https://github.com/microsoft/vcpkg/pull/13060) [directxtk][directxtk12][directxtex][directxmesh] Update to latest version - -- directxtk `jun2020` -> `jul2020` - - [(#12332)](https://github.com/microsoft/vcpkg/pull/12332) [directxtk][directxtk12][directxtex][directxmesh] Update to latest version - - [(#13060)](https://github.com/microsoft/vcpkg/pull/13060) [directxtk][directxtk12][directxtex][directxmesh] Update to latest version - -- cuda `10.1-1` -> `10.1` - - [(#12244)](https://github.com/microsoft/vcpkg/pull/12244) [cuda] correct env variables for newer cuda versions - -- pybind11 `2.4.3` -> `2.5.0` - - [(#12394)](https://github.com/microsoft/vcpkg/pull/12394) [pybind11] Update to v2.5.0 - -- corrade `2019.10-1` -> `2020.06` - - [(#12211)](https://github.com/microsoft/vcpkg/pull/12211) [corrade,magnum,*-plugins,*-extras,*-integration] Update to v2020.06 - -- magnum-extras `2019.10` -> `2020.06` - - [(#12211)](https://github.com/microsoft/vcpkg/pull/12211) [corrade,magnum,*-plugins,*-extras,*-integration] Update to v2020.06 - -- magnum-integration `2019.10` -> `2020.06` - - [(#12211)](https://github.com/microsoft/vcpkg/pull/12211) [corrade,magnum,*-plugins,*-extras,*-integration] Update to v2020.06 - -- magnum-plugins `2019.10-2` -> `2020.06` - - [(#12211)](https://github.com/microsoft/vcpkg/pull/12211) [corrade,magnum,*-plugins,*-extras,*-integration] Update to v2020.06 - - [(#12458)](https://github.com/microsoft/vcpkg/pull/12458) [magnum-plugins] Fix file conflict with stb - -- magnum `2019.10-2` -> `2020.06` - - [(#12211)](https://github.com/microsoft/vcpkg/pull/12211) [corrade,magnum,*-plugins,*-extras,*-integration] Update to v2020.06 - -- zstd `1.4.4-1` -> `1.4.4` - - [(#12407)](https://github.com/microsoft/vcpkg/pull/12407) [zstd] fix pkg-config files - -- string-theory `3.2` -> `3.3` - - [(#12440)](https://github.com/microsoft/vcpkg/pull/12440) [string-theory] Update to 3.3 - -- nrf-ble-driver `4.1.1-2` -> `4.1.2` - - [(#12436)](https://github.com/microsoft/vcpkg/pull/12436) [nrf-ble-driver] Update to v4.1.2 - -- folly `2019.10.21.00-2` -> `2019.10.21.00` - - [(#12419)](https://github.com/microsoft/vcpkg/pull/12419) [folly] Fix build error C3861 - -- boost-modular-build-helper `1.73.0-1` -> `1.73.0` - - [(#12417)](https://github.com/microsoft/vcpkg/pull/12417) [boost-modular-build-helper] Remove has_icu.lib - - [(#12535)](https://github.com/microsoft/vcpkg/pull/12535) [boost] s390x support - - [(#12634)](https://github.com/microsoft/vcpkg/pull/12634) [vcpkg] Improving android support - - [(#9224)](https://github.com/microsoft/vcpkg/pull/9224) [boost-modular-build-helper] Fix issue that link incorrect dependent libraries - - [(#12851)](https://github.com/microsoft/vcpkg/pull/12851) [boost-uninstall] Add port to easily uninstall all boost components - -- liblzma `5.2.4-5` -> `5.2.5` - - [(#12401)](https://github.com/microsoft/vcpkg/pull/12401) [liblzma, libvpx] Add mingw support - - [(#7226)](https://github.com/microsoft/vcpkg/pull/7226) [liblzma] Patch headers to fix https://github.com/OpenTTD/OpenTTD/pull/7614 - -- pugixml `1.10-1` -> `1.10` - - [(#12441)](https://github.com/microsoft/vcpkg/pull/12441) [pugixml] Fix pkgconfig file - -- hiredis `2019-11-2-1` -> `2019-11-2` - - [(#12354)](https://github.com/microsoft/vcpkg/pull/12354) [hiredis] Fix feature ssl build error on windows - -- eigen3 `3.3.7-5` -> `3.3.7` - - [(#12279)](https://github.com/microsoft/vcpkg/pull/12279) [eigen3] Fix eigen3 and cuda compatibility issue - -- zlib `1.2.11-6` -> `1.2.11` - - [(#12133)](https://github.com/microsoft/vcpkg/pull/12133) [zlib] Add pkgconfig file - - [(#12753)](https://github.com/microsoft/vcpkg/pull/12753) [zlib, libpng] Fix pkg-config for mingw - - [(#11277)](https://github.com/microsoft/vcpkg/pull/11277) [ffmpeg] Add feature support for zlib, iconv, fdk-aac, mp3lame, opus, soxr, theora. - -- libmupdf `1.16.1-1` -> `1.17.0` - - [(#12483)](https://github.com/microsoft/vcpkg/pull/12483) [libmupdf] Update libmupdf to 1.17.0 - -- bzip2 `1.0.6-5` -> `1.0.6-6` - - [(#11550)](https://github.com/microsoft/vcpkg/pull/11550) [vcpkg/scripts/pkgconfig] rewrite pkg-config check for libraries - - [(#12880)](https://github.com/microsoft/vcpkg/pull/12880) [bzip2] fixes for building release-only - -- gmp `6.2.0-1` -> `6.2.0-2` - - [(#11550)](https://github.com/microsoft/vcpkg/pull/11550) [vcpkg/scripts/pkgconfig] rewrite pkg-config check for libraries - - [(#12664)](https://github.com/microsoft/vcpkg/pull/12664) [mpir, gmp] Add message to handle the conflicts between these two ports - -- libpng `1.6.37-9` -> `1.6.37-10` - - [(#11550)](https://github.com/microsoft/vcpkg/pull/11550) [vcpkg/scripts/pkgconfig] rewrite pkg-config check for libraries - - [(#12753)](https://github.com/microsoft/vcpkg/pull/12753) [zlib, libpng] Fix pkg-config for mingw - -- nettle `3.5.1-1` -> `3.5.1-2` - - [(#11550)](https://github.com/microsoft/vcpkg/pull/11550) [vcpkg/scripts/pkgconfig] rewrite pkg-config check for libraries - -- ompl `1.4.2-4` -> `1.5.0` - - [(#11550)](https://github.com/microsoft/vcpkg/pull/11550) [vcpkg/scripts/pkgconfig] rewrite pkg-config check for libraries - - [(#12529)](https://github.com/microsoft/vcpkg/pull/12529) [qt5 components] Disable parallel build - - [(#11737)](https://github.com/microsoft/vcpkg/pull/11737) [ompl]: upgrade to 1.5.0 - -- sdl1 `1.2.15-11` -> `1.2.15` - - [(#11550)](https://github.com/microsoft/vcpkg/pull/11550) [vcpkg/scripts/pkgconfig] rewrite pkg-config check for libraries - -- alembic `1.7.12-1` -> `1.7.13` - - [(#11130)](https://github.com/microsoft/vcpkg/pull/11130) [opencv4] update to v4.3 - - [(#12735)](https://github.com/microsoft/vcpkg/pull/12735) [alembic] Update to 1.7.13 - -- opencv `4.1.1-1` -> `4.3.0` - - [(#11130)](https://github.com/microsoft/vcpkg/pull/11130) [opencv4] update to v4.3 - -- openexr `2.3.0-5` -> `2.5.0` - - [(#11130)](https://github.com/microsoft/vcpkg/pull/11130) [opencv4] update to v4.3 - - [(#12157)](https://github.com/microsoft/vcpkg/pull/12157) [many ports] Remove _find_package guards that break *_FOUND - -- libftdi1 `1.4` -> `1.4-1` - - [(#9561)](https://github.com/microsoft/vcpkg/pull/9561) [libusb] Fix issue to support linux - -- libusb `1.0.23` -> `1.0.23-1` - - [(#9561)](https://github.com/microsoft/vcpkg/pull/9561) [libusb] Fix issue to support linux - - [(#12656)](https://github.com/microsoft/vcpkg/pull/12656) [libusb] build fails on windows due to symlink in extracted archive - - [(#13057)](https://github.com/microsoft/vcpkg/pull/13057) [libusb] Add vcpkg-cmake-wrapper - -- treehopper `1.11.3-3` -> `1.11.3-4` - - [(#9561)](https://github.com/microsoft/vcpkg/pull/9561) [libusb] Fix issue to support linux - -- outcome `2.1` -> `2.1.3` - - [(#12078)](https://github.com/microsoft/vcpkg/pull/12078) [outcome] Update library and fix portfile - -- librdkafka `1.2.0-2` -> `1.5.0` - - [(#12095)](https://github.com/microsoft/vcpkg/pull/12095) [librdkafka] Upgrade to 1.4.4 - - [(#12731)](https://github.com/microsoft/vcpkg/pull/12731) [librdkafka] Update to 1.5.0 - -- glew `2.1.0-7` -> `2.1.0-8` - - [(#12103)](https://github.com/microsoft/vcpkg/pull/12103) Mingw port fixes - -- mozjpeg `2020-06-02` -> `2020-06-02-1` - - [(#12118)](https://github.com/microsoft/vcpkg/pull/12118) [mozjpeg] fix build - -- fltk `1.3.5-2` -> `1.3.5` - - [(#12273)](https://github.com/microsoft/vcpkg/pull/12273) [fltk] Force static library due to global variables. Fix CMake Targets. - -- nana `1.7.2-3` -> `1.7.2` - - [(#12543)](https://github.com/microsoft/vcpkg/pull/12543) [nana] Fix the version and language standard - -- winpcap `4.1.3-3` -> `4.1.3` - - [(#12542)](https://github.com/microsoft/vcpkg/pull/12542) [winpcap] Remove the keyword 'inline' macro - -- boost-build `1.73.0-1` -> `1.73.0` - - [(#12535)](https://github.com/microsoft/vcpkg/pull/12535) [boost] s390x support - - [(#12851)](https://github.com/microsoft/vcpkg/pull/12851) [boost-uninstall] Add port to easily uninstall all boost components - -- restinio `0.6.8` -> `0.6.9` - - [(#12087)](https://github.com/microsoft/vcpkg/pull/12087) [RESTinio] Update to v.0.6.8.1 - - [(#12889)](https://github.com/microsoft/vcpkg/pull/12889) [restinio] update to 0.6.9 - - [(#13018)](https://github.com/microsoft/vcpkg/pull/13018) [restinio] update to v.0.6.10 - -- fizz `2020.02.03.00` -> `2020.02.03.00` - - [(#12277)](https://github.com/microsoft/vcpkg/pull/12277) [libevent] update to 2.1.12 - -- libevent `2.1.11-5` -> `2.1.12` - - [(#12277)](https://github.com/microsoft/vcpkg/pull/12277) [libevent] update to 2.1.12 - -- libflac `1.3.3-1` -> `1.3.3` - - [(#12374)](https://github.com/microsoft/vcpkg/pull/12374) [sdl2-mixer] Fix FLAC symbol export when static linking, add nativemidi default feature - - [(#12761)](https://github.com/microsoft/vcpkg/pull/12761) [flac] Disable stack smash protection and FORTIFY_SOURCE for mingw - -- libsndfile `1.0.29-9` -> `1.0.29` - - [(#12374)](https://github.com/microsoft/vcpkg/pull/12374) [sdl2-mixer] Fix FLAC symbol export when static linking, add nativemidi default feature - - [(#12921)](https://github.com/microsoft/vcpkg/pull/12921) [libsndfile] Update to 1.0.29 - -- sdl2-mixer `2.0.4-9` -> `2.0.4` - - [(#12374)](https://github.com/microsoft/vcpkg/pull/12374) [sdl2-mixer] Fix FLAC symbol export when static linking, add nativemidi default feature - -- physx `4.1.1-3` -> `4.1.1` - - [(#12413)](https://github.com/microsoft/vcpkg/pull/12413) [physx] Add patch for NVIDIAGameWorks/PhysX#322. - - [(#12710)](https://github.com/microsoft/vcpkg/pull/12710) [physx] Add support for checked and profile builds. - -- wxwidgets `3.1.3-1` -> `3.1.4` - - [(#12485)](https://github.com/microsoft/vcpkg/pull/12485) [wxwidgets] Adding wxWidgets resource compiler (wxrc) to /tools/wxwidgets directory - - [(#12733)](https://github.com/microsoft/vcpkg/pull/12733) [wxwidgets] Update to 3.1.4 - - [(#12885)](https://github.com/microsoft/vcpkg/pull/12885) [wxwidgets] copy pdbs - - [(#9146)](https://github.com/microsoft/vcpkg/pull/9146) [expat] Update the version to 2.2.9 (add support for uwp) - -- osgearth `2.10.2-1` -> `3.0` - - [(#12531)](https://github.com/microsoft/vcpkg/pull/12531) [osgearth] update to 3.0 - -- netcdf-c `4.7.3-1` -> `4.7.3` - - [(#12342)](https://github.com/microsoft/vcpkg/pull/12342) [qt5-base] Add zstd as a dependency - - [(#12755)](https://github.com/microsoft/vcpkg/pull/12755) [netcdf-c] also depend on embree on osx - - [(#12434)](https://github.com/microsoft/vcpkg/pull/12434) [netcdf-c] Fix dependency libmath - -- arrow `0.17.1` -> `1.0.0` - - [(#12537)](https://github.com/microsoft/vcpkg/pull/12537) [Arrow] Update to 1.0.0 - -- libigl `2.1.0-2` -> `2.2.0` - - [(#10252)](https://github.com/microsoft/vcpkg/pull/10252) [libigl] Fix configure error and dependencies - - [(#12691)](https://github.com/microsoft/vcpkg/pull/12691) [libigl] fix imgui feature - -- asiosdk `2.3.3` -> `2.3.3-1` - - [(#12157)](https://github.com/microsoft/vcpkg/pull/12157) [many ports] Remove _find_package guards that break *_FOUND - -- jxrlib `2019.10.9` -> `2019.10.9-1` - - [(#12157)](https://github.com/microsoft/vcpkg/pull/12157) [many ports] Remove _find_package guards that break *_FOUND - -- libmodman `2.0.1-1` -> `2.0.1-2` - - [(#12157)](https://github.com/microsoft/vcpkg/pull/12157) [many ports] Remove _find_package guards that break *_FOUND - -- libproxy `0.4.15-1` -> `0.4.15-2` - - [(#12157)](https://github.com/microsoft/vcpkg/pull/12157) [many ports] Remove _find_package guards that break *_FOUND - -- stb `2020-02-08` -> `2020-02-08-1` - - [(#12157)](https://github.com/microsoft/vcpkg/pull/12157) [many ports] Remove _find_package guards that break *_FOUND - -- itk `5.0.1-2` -> `5.1.0` - - [(#11208)](https://github.com/microsoft/vcpkg/pull/11208) [ITK] Update to 5.1 - - [(#9146)](https://github.com/microsoft/vcpkg/pull/9146) [expat] Update the version to 2.2.9 (add support for uwp) - -- opencl `2.2-2-1` -> `2.2` - - [(#11208)](https://github.com/microsoft/vcpkg/pull/11208) [ITK] Update to 5.1 - -- openjpeg `2.3.1-1` -> `2.3.1` - - [(#11208)](https://github.com/microsoft/vcpkg/pull/11208) [ITK] Update to 5.1 - -- pbc `0.5.14-2` -> `0.5.14` - - [(#12732)](https://github.com/microsoft/vcpkg/pull/12732) [vcpkg baseline] Fix pbc build failure with x64-osx - - [(#11836)](https://github.com/microsoft/vcpkg/pull/11836) [vcpkg/scripts/make] trying to iron out some issues - -- libodb-sqlite `2.4.0-6` -> `2.4.0` - - [(#12516)](https://github.com/microsoft/vcpkg/pull/12516) [sqlite3] Namespaced targets with unofficial:: - -- gtkmm `3.22.2-2` -> `3.22.2` - - [(#12637)](https://github.com/microsoft/vcpkg/pull/12637) [gtkmm] fix missing symbol exports with gtkmm release build - -- wavpack `5.2.0` -> `5.2.0` - - [(#12742)](https://github.com/microsoft/vcpkg/pull/12742) [wavpack] Fix failure on linux and osx - - [(#11277)](https://github.com/microsoft/vcpkg/pull/11277) [ffmpeg] Add feature support for zlib, iconv, fdk-aac, mp3lame, opus, soxr, theora. - -- shapelib `1.4.1-2` -> `1.5.0` - - [(#12737)](https://github.com/microsoft/vcpkg/pull/12737) [shapelib] Update to 1.5.0 - -- teemo `1.3` -> `2.1` - - [(#12728)](https://github.com/microsoft/vcpkg/pull/12728) [teemo] Update to v2.1 - -- quill `1.3.1` -> `1.4.0` - - [(#12683)](https://github.com/microsoft/vcpkg/pull/12683) [quill] Update to version 1.3.3 - - [(#12924)](https://github.com/microsoft/vcpkg/pull/12924) [quill] Update to 1.4.0 - -- libmariadb `3.1.7-1` -> `3.1.7` - - [(#12669)](https://github.com/microsoft/vcpkg/pull/12669) [libmariadb] Include bundled zlib and openssl - -- brotli `1.0.7-1` -> `1.0.7` - - [(#12405)](https://github.com/microsoft/vcpkg/pull/12405) [brotli] add pkgconfig / [freetype] depend on brotli - -- cairomm `1.15.3-4` -> `1.15.3` - - [(#12405)](https://github.com/microsoft/vcpkg/pull/12405) [brotli] add pkgconfig / [freetype] depend on brotli - -- freetype-gl `2019-03-29-3` -> `2019-03-29` - - [(#12405)](https://github.com/microsoft/vcpkg/pull/12405) [brotli] add pkgconfig / [freetype] depend on brotli - -- libraqm `0.7.0-1` -> `0.7.0` - - [(#12405)](https://github.com/microsoft/vcpkg/pull/12405) [brotli] add pkgconfig / [freetype] depend on brotli - -- sfml `2.5.1-7` -> `2.5.1` - - [(#12405)](https://github.com/microsoft/vcpkg/pull/12405) [brotli] add pkgconfig / [freetype] depend on brotli - - [(#11800)](https://github.com/microsoft/vcpkg/pull/11800) [sfml][imgui-sfml] Push SFML_STATIC_LIBRARIES setting into `sfml` - -- fmt `6.2.1` -> `7.0.3` - - [(#12312)](https://github.com/microsoft/vcpkg/pull/12312) [fmt] Update to 7.0.2 + [spdlog] Update to 1.7.0 - - [(#12806)](https://github.com/microsoft/vcpkg/pull/12806) [fmt] Update to 7.0.3 - -- spdlog `1.6.1` -> `1.7.0` - - [(#12312)](https://github.com/microsoft/vcpkg/pull/12312) [fmt] Update to 7.0.2 + [spdlog] Update to 1.7.0 - -- armadillo `2019-04-16-8` -> `2019-04-16` - - [(#12464)](https://github.com/microsoft/vcpkg/pull/12464) [lapack] add metaport lapack to switch lapack impl with an overlay - -- blaze `3.7` -> `3.8` - - [(#12464)](https://github.com/microsoft/vcpkg/pull/12464) [lapack] add metaport lapack to switch lapack impl with an overlay - - [(#12916)](https://github.com/microsoft/vcpkg/pull/12916) [blaze] Update to Blaze 3.8 - -- ceres `1.14.0-7` -> `1.14.0` - - [(#12464)](https://github.com/microsoft/vcpkg/pull/12464) [lapack] add metaport lapack to switch lapack impl with an overlay - -- clapack `3.2.1-13` -> `3.2.1` - - [(#12464)](https://github.com/microsoft/vcpkg/pull/12464) [lapack] add metaport lapack to switch lapack impl with an overlay - - [(#12805)](https://github.com/microsoft/vcpkg/pull/12805) [lapack-reference|fortran] Add new port - -- dlib `19.19-1` -> `19.21` - - [(#12464)](https://github.com/microsoft/vcpkg/pull/12464) [lapack] add metaport lapack to switch lapack impl with an overlay - - [(#13061)](https://github.com/microsoft/vcpkg/pull/13061) [dlib] Update to v19.21 - -- geogram `1.6.9-7` -> `1.7.5` - - [(#12464)](https://github.com/microsoft/vcpkg/pull/12464) [lapack] add metaport lapack to switch lapack impl with an overlay - - [(#12562)](https://github.com/microsoft/vcpkg/pull/12562) [geogram] update to 1.7.5 - - [(#12626)](https://github.com/microsoft/vcpkg/pull/12626) [vcpkg_find_acquire_program] Enable find_acquire(PKGCONFIG) - -- mlpack `3.2.2-3` -> `3.2.2` - - [(#12464)](https://github.com/microsoft/vcpkg/pull/12464) [lapack] add metaport lapack to switch lapack impl with an overlay - - [(#12805)](https://github.com/microsoft/vcpkg/pull/12805) [lapack-reference|fortran] Add new port - -- pangolin `0.5-7` -> `0.5` - - [(#12515)](https://github.com/microsoft/vcpkg/pull/12515) [pangolin] Fix build failure on UNIX - - [(#12856)](https://github.com/microsoft/vcpkg/pull/12856) [vcpkg baseline] Fix openimageio and pangolin build failures on Linux - -- orocos-kdl `1.4-2` -> `1.4` - - [(#12794)](https://github.com/microsoft/vcpkg/pull/12794) [ocoros-kdl] Fix the CMake config file - -- log4cpp `2.9.1-2` -> `2.9.1` - - [(#12792)](https://github.com/microsoft/vcpkg/pull/12792) [log4cpp] Fix header file install path - -- bond `9.0.0` -> `9.0.2` - - [(#12782)](https://github.com/microsoft/vcpkg/pull/12782) [bond] Update to v9.0.2 - -- libtorrent `1.2.7` -> `1.2.9` - - [(#12768)](https://github.com/microsoft/vcpkg/pull/12768) [libtorrent] Update to 1.2.8 - - [(#12762)](https://github.com/microsoft/vcpkg/pull/12762) [boost] Add Supports fields and more accurately handle arm64-windows/x64-uwp - - [(#12946)](https://github.com/microsoft/vcpkg/pull/12946) [libtorrent] minor version bump and python patch adjustment - -- boost-context `1.73.0-1` -> `1.73.0` - - [(#12762)](https://github.com/microsoft/vcpkg/pull/12762) [boost] Add Supports fields and more accurately handle arm64-windows/x64-uwp - -- secp256k1 `2017-19-10-0b7024185045a49a1a6a4c5615bf31c94f63d9c4-2` -> `2017-19-10` - - [(#12630)](https://github.com/microsoft/vcpkg/pull/12630) [secp256k1] Fix build failures and export cmake targets - -- xbyak `5.911` -> `5.93` - - [(#12577)](https://github.com/microsoft/vcpkg/pull/12577) [Xbyak] Update to 5.93 - -- tiff `4.0.10-9` -> `4.1.0` - - [(#12559)](https://github.com/microsoft/vcpkg/pull/12559) [tiff] Update 4.0.10 to 4.1.0 - -- asmjit `2020-05-08` -> `2020-07-22` - - [(#12524)](https://github.com/microsoft/vcpkg/pull/12524) [asmjit] Update to the latest commit - -- libressl `2.9.1-2` -> `2.9.1` - - [(#11949)](https://github.com/microsoft/vcpkg/pull/11949) [libressl] add download mirror - -- darknet `2020-03-02` -> `2020-06-29` - - [(#11037)](https://github.com/microsoft/vcpkg/pull/11037) [darknet] ready for yolo_v4 - -- embree3 `3.8.0` -> `3.11.0` - - [(#12555)](https://github.com/microsoft/vcpkg/pull/12555) [embree3] Update to 3.11.0 - -- fribidi `1.0.9-1` -> `1.0.10` - - [(#12517)](https://github.com/microsoft/vcpkg/pull/12517) [fribidi] Update to 1.0.10 - -- opencolorio `1.1.1-2` -> `1.1.1` - - [(#12420)](https://github.com/microsoft/vcpkg/pull/12420) [opencolorio-tools] Separate feature application to avoid circular dependency - - [(#12869)](https://github.com/microsoft/vcpkg/pull/12869) [opencolorio] Update repository - -- osg `3.6.4-3` -> `3.6.5` - - [(#12672)](https://github.com/microsoft/vcpkg/pull/12672) [osg] Update to 3.6.5 - -- openblas `0.3.9-1` -> `0.3.9` - - [(#12805)](https://github.com/microsoft/vcpkg/pull/12805) [lapack-reference|fortran] Add new port - - [(#12956)](https://github.com/microsoft/vcpkg/pull/12956) [openblas] Fix generating pkg-config file - -- farmhash `1.1-1` -> `1.1` - - [(#11836)](https://github.com/microsoft/vcpkg/pull/11836) [vcpkg/scripts/make] trying to iron out some issues - -- freexl `1.0.4-9` -> `1.0.4` - - [(#11836)](https://github.com/microsoft/vcpkg/pull/11836) [vcpkg/scripts/make] trying to iron out some issues - -- libcrafter `0.3-1` -> `0.3` - - [(#11836)](https://github.com/microsoft/vcpkg/pull/11836) [vcpkg/scripts/make] trying to iron out some issues - -- libmagic `5.37-1` -> `5.37` - - [(#11836)](https://github.com/microsoft/vcpkg/pull/11836) [vcpkg/scripts/make] trying to iron out some issues - -- libwandio `4.2.1-2` -> `4.2.1` - - [(#11836)](https://github.com/microsoft/vcpkg/pull/11836) [vcpkg/scripts/make] trying to iron out some issues - -- ocilib `4.6.4-1` -> `4.6.4` - - [(#11836)](https://github.com/microsoft/vcpkg/pull/11836) [vcpkg/scripts/make] trying to iron out some issues - -- x264 `157-303c484ec828ed0-8` -> `157-303c484ec828ed0` - - [(#11836)](https://github.com/microsoft/vcpkg/pull/11836) [vcpkg/scripts/make] trying to iron out some issues - -- wpilib `2020.1.1` -> `2020.3.2` - - [(#12373)](https://github.com/microsoft/vcpkg/pull/12373) [wpilib] Update to 2020.3.2 - -- proj4 `6.3.1-1` -> `6.3.1` - - [(#12875)](https://github.com/microsoft/vcpkg/pull/12875) [proj4] use sqlite3 config cmake, make sqlite3 private - -- tool-meson `0.54.2` -> `0.55.1` - - [(#12927)](https://github.com/microsoft/vcpkg/pull/12927) [meson] Update meson to 0.55.1 - -- apr-util `1.6.1-1` -> `1.6.1` - - [(#9146)](https://github.com/microsoft/vcpkg/pull/9146) [expat] Update the version to 2.2.9 (add support for uwp) - -- expat `2.2.7` -> `2.2.9` - - [(#9146)](https://github.com/microsoft/vcpkg/pull/9146) [expat] Update the version to 2.2.9 (add support for uwp) - -- gdal `2.4.1-9` -> `2.4.1` - - [(#9146)](https://github.com/microsoft/vcpkg/pull/9146) [expat] Update the version to 2.2.9 (add support for uwp) - - [(#12541)](https://github.com/microsoft/vcpkg/pull/12541) [gdal] Fix static build issue - -- io2d `2019-07-11-2` -> `2019-07-11` - - [(#9146)](https://github.com/microsoft/vcpkg/pull/9146) [expat] Update the version to 2.2.9 (add support for uwp) - -- libkml `1.3.0-4` -> `1.3.0` - - [(#9146)](https://github.com/microsoft/vcpkg/pull/9146) [expat] Update the version to 2.2.9 (add support for uwp) - -- poco `1.9.2-2` -> `1.9.2` - - [(#9146)](https://github.com/microsoft/vcpkg/pull/9146) [expat] Update the version to 2.2.9 (add support for uwp) - -- readosm `1.1.0-2` -> `1.1.0` - - [(#9146)](https://github.com/microsoft/vcpkg/pull/9146) [expat] Update the version to 2.2.9 (add support for uwp) - -- skia `2020-05-18-1` -> `2020-05-18` - - [(#9146)](https://github.com/microsoft/vcpkg/pull/9146) [expat] Update the version to 2.2.9 (add support for uwp) - -- spatialite-tools `4.3.0-2` -> `4.3.0` - - [(#9146)](https://github.com/microsoft/vcpkg/pull/9146) [expat] Update the version to 2.2.9 (add support for uwp) - -- xlnt `1.4.0-1` -> `1.5.0` - - [(#12972)](https://github.com/microsoft/vcpkg/pull/12972) [xlnt] Upgrade xlnt to 1.5.0 - -- fdk-aac `2018-07-08-1` -> `2018-07-08-2` - - [(#11277)](https://github.com/microsoft/vcpkg/pull/11277) [ffmpeg] Add feature support for zlib, iconv, fdk-aac, mp3lame, opus, soxr, theora. - -- opus `1.3.1-3` -> `1.3.1` - - [(#11277)](https://github.com/microsoft/vcpkg/pull/11277) [ffmpeg] Add feature support for zlib, iconv, fdk-aac, mp3lame, opus, soxr, theora. - - [(#12886)](https://github.com/microsoft/vcpkg/pull/12886) [many ports] Fix various problems with mingw - -- sdl2 `2.0.12-1` -> `2.0.12` - - [(#11277)](https://github.com/microsoft/vcpkg/pull/11277) [ffmpeg] Add feature support for zlib, iconv, fdk-aac, mp3lame, opus, soxr, theora. - -- speex `1.2.0-4` -> `1.2.0` - - [(#11277)](https://github.com/microsoft/vcpkg/pull/11277) [ffmpeg] Add feature support for zlib, iconv, fdk-aac, mp3lame, opus, soxr, theora. - -- pcl `1.9.1-13` -> `1.11.0` - - [(#10042)](https://github.com/microsoft/vcpkg/pull/10042) [pcl] Update to 1.10.0 - - [(#13020)](https://github.com/microsoft/vcpkg/pull/13020) [pcl] check SSE flags - -- tinygltf `2.2.0` -> `2020-07-28` - - [(#12608)](https://github.com/microsoft/vcpkg/pull/12608) [tinygltf] update to v2.4.0 - -- pmdk `1.8` -> `1.9` - - [(#12863)](https://github.com/microsoft/vcpkg/pull/12863) [pmdk] Update to 1.9 - -- kangaru `4.2.2` -> `4.2.4` - - [(#12932)](https://github.com/microsoft/vcpkg/pull/12932) [kangaru] Update to v4.2.4 - -- intel-mkl `2018.0.1` -> `2020.0.0` - - [(#12978)](https://github.com/microsoft/vcpkg/pull/12978) [intel-mkl] Update to 2020.0.0 - -- fluidsynth `2.1.0` -> `2.1.4` - - [(#12974)](https://github.com/microsoft/vcpkg/pull/12974) [fluidsynth/redis-plus-plus] Update to the latest released version - -- redis-plus-plus `1.1.1` -> `1.1.2` - - [(#12974)](https://github.com/microsoft/vcpkg/pull/12974) [fluidsynth/redis-plus-plus] Update to the latest released version - -- openxr-loader `1.0.3.0` -> `1.0.11` - - [(#12060)](https://github.com/microsoft/vcpkg/pull/12060) [openxr-loader] Update to latest version, official repo - -- libmediainfo `20.03` -> `20.08` - - [(#12944)](https://github.com/microsoft/vcpkg/pull/12944) [libmediainfo] Update to 20.08 - -- wt `4.2.2` -> `4.4.0` - - [(#13005)](https://github.com/microsoft/vcpkg/pull/13005) [wt] Update to 4.4.0 - -- libjpeg-turbo `2.0.4` -> `2.0.5` - - [(#12973)](https://github.com/microsoft/vcpkg/pull/12973) [libjpeg-turbo] Update to 2.0.5 - -- berkeleydb `4.8.30-4` -> `4.8.30` - - [(#12870)](https://github.com/microsoft/vcpkg/pull/12870) [berkeleydb] Fix build error with Visual Studio 16.7.0 - -- libmodplug `0.8.9.0-5` -> `0.8.9.0` - - [(#12886)](https://github.com/microsoft/vcpkg/pull/12886) [many ports] Fix various problems with mingw - -- imgui-sfml `2.1-1` -> `2.1-2` - - [(#11800)](https://github.com/microsoft/vcpkg/pull/11800) [sfml][imgui-sfml] Push SFML_STATIC_LIBRARIES setting into `sfml` - -- re2 `2020-01-01` -> `2020-06-01` - - [(#13084)](https://github.com/microsoft/vcpkg/pull/13084) [grpc][upb][re2] grpc v1.31.1 - -- upb `2019-10-21-2` -> `2020-08-19` - - [(#13084)](https://github.com/microsoft/vcpkg/pull/13084) [grpc][upb][re2] grpc v1.31.1 - -- box2d `2019-12-31` -> `2.4.0` - - [(#13058)](https://github.com/microsoft/vcpkg/pull/13058) [Box2d] Update to 2.4.0 - -- cpp-taskflow `2.2.0-1` -> `2.5.0` - - [(#12923)](https://github.com/microsoft/vcpkg/pull/12923) [cpp-taskflow] Update to 2.5.0 - -- aubio `0.4.9-1` -> `0.4.9` - - [(#12921)](https://github.com/microsoft/vcpkg/pull/12921) [libsndfile] Update to 1.0.29 - -- libfreenect2 `0.2.0-4` -> `0.2.0` - - [(#13057)](https://github.com/microsoft/vcpkg/pull/13057) [libusb] Add vcpkg-cmake-wrapper - -
- --- vcpkg team vcpkg@microsoft.com THU, 27 Aug 02:20:00 -0800 - -vcpkg (2020.04.20 - 2020.06.15) ---- -#### Total port count: 1402 -#### Total port count per triplet (tested): -|triplet|ports available| -|---|---| -|**x64-windows**|1282| -|**x64-osx**|1109| -|**x64-linux**|1181| -|x64-windows-static|1187| -|x86-windows|1261| -|x64-uwp|693| -|arm64-windows|903| -|arm-uwp|656| - -#### The following documentation has been updated: -- [Testing](docs/tool-maintainers/testing.md) - - [(#11007)](https://github.com/microsoft/vcpkg/pull/11007) [vcpkg] Fix Catch2 include path in documentation (by @horenmar) -- [Maintainer Guidelines and Policies](docs/maintainers/maintainer-guide.md) - - [(#8749)](https://github.com/microsoft/vcpkg/pull/8749) [vcpkg] Add new function vcpkg_copy_tools (by @myd7349) -- [Portfile helper functions](docs/maintainers/portfile-functions.md) - - [(#8749)](https://github.com/microsoft/vcpkg/pull/8749) [vcpkg] Add new function vcpkg_copy_tools (by @myd7349) - - [(#10505)](https://github.com/microsoft/vcpkg/pull/10505) [gn, crashpad] Add GN build support and crashpad port (by @myd7349) -- [vcpkg_clean_executables_in_bin](docs/maintainers/vcpkg_clean_executables_in_bin.md)***[NEW]*** - - [(#8749)](https://github.com/microsoft/vcpkg/pull/8749) [vcpkg] Add new function vcpkg_copy_tools (by @myd7349) -- [vcpkg_copy_tools](docs/maintainers/vcpkg_copy_tools.md)***[NEW]*** - - [(#8749)](https://github.com/microsoft/vcpkg/pull/8749) [vcpkg] Add new function vcpkg_copy_tools (by @myd7349) -- [vcpkg_build_gn](docs/maintainers/vcpkg_build_gn.md)***[NEW]*** - - [(#10505)](https://github.com/microsoft/vcpkg/pull/10505) [gn, crashpad] Add GN build support and crashpad port (by @vejmartin) -- [vcpkg_build_ninja](docs/maintainers/vcpkg_build_ninja.md)***[NEW]*** - - [(#10505)](https://github.com/microsoft/vcpkg/pull/10505) [gn, crashpad] Add GN build support and crashpad port (by @vejmartin) -- [vcpkg_configure_gn](docs/maintainers/vcpkg_configure_gn.md)***[NEW]*** - - [(#10505)](https://github.com/microsoft/vcpkg/pull/10505) [gn, crashpad] Add GN build support and crashpad port (by @vejmartin) -- [vcpkg_find_acquire_program](docs/maintainers/vcpkg_find_acquire_program.md) - - [(#10505)](https://github.com/microsoft/vcpkg/pull/10505) [gn, crashpad] Add GN build support and crashpad port (by @vejmartin) -- [vcpkg_install_gn](docs/maintainers/vcpkg_install_gn.md)***[NEW]*** - - [(#10505)](https://github.com/microsoft/vcpkg/pull/10505) [gn, crashpad] Add GN build support and crashpad port (by @vejmartin) -- [vcpkg and Android](docs/examples/vcpkg_android_example_cmake_script/cmake/vcpkg_android.cmake)***[NEW]*** - - [(#11264)](https://github.com/microsoft/vcpkg/pull/11264) Improve Android doc (triplets, usage with cmake and prefab) (by @pthom) -- [vcpkg telemetry and privacy](docs/about/privacy.md) - - [(#11542)](https://github.com/microsoft/vcpkg/pull/11542) [vcpkg metrics] Allow someone to opt out after build (by @strega-nil) -- [Manifests](docs/specifications/manifests.md)***[NEW]*** - - [(#11203)](https://github.com/microsoft/vcpkg/pull/11203) [vcpkg] RFC: Manifests (by @strega-nil) -- [CONTROL files](docs/maintainers/control-files.md) - - [(#11323)](https://github.com/microsoft/vcpkg/pull/11323) [vcpkg] add x86-wasm.cmake to community triplets (by @MoAlyousef) - - [(#11365)](https://github.com/microsoft/vcpkg/pull/11365) [vcpkg] [cudnn] [msmpi] [openmpi] Update VMSS (by @MoAlyousef) -- [Installing and Using Packagese Example: SQLite](docs/examples/installing-and-using-packages.md) - - [(#11763)](https://github.com/microsoft/vcpkg/pull/11763) docs: fix CMakeLists example for SQLite3 (by @disposedtrolley) - -#### The following changes have been made to the vcpkg tool and infrastructure: -- [(#10828)](https://github.com/microsoft/vcpkg/pull/10828) Onboard Windows PR tests to Azure Pipelines YAML and Scale Sets (by @BillyONeal) -- [(#10932)](https://github.com/microsoft/vcpkg/pull/10932) [vcpkg] Update git to 2.26.2 (by @Cheney-W) -- [(#10973)](https://github.com/microsoft/vcpkg/pull/10973) [vcpkg] Fix toolsrc CMake build error (by @NancyLi1013) -- [(#11009)](https://github.com/microsoft/vcpkg/pull/11009) Fix slack link to current, correct, location. (by @grafikrobot) -- [(#9861)](https://github.com/microsoft/vcpkg/pull/9861) [scripts] add new function vcpkg_fixup_pkgconfig (by @Neumann-A) -- [(#11064)](https://github.com/microsoft/vcpkg/pull/11064) [vcpkg] Copy macos pipelines into azure-pipelines.yml (by @BillyONeal) -- [(#10476)](https://github.com/microsoft/vcpkg/pull/10476) [vcpkg] Add support for VCPKG_BINARY_SOURCES and --x-binarysource=<> (by @ras0219-msft) -- [(#11068)](https://github.com/microsoft/vcpkg/pull/11068) [vcpkg] Small touchups for vcpkg unit tests (by @horenmar) -- [(#11085)](https://github.com/microsoft/vcpkg/pull/11085) [vcpkg] Correctly record default feature list in BinaryParagraphs. Fixes #10678. (by @ras0219-msft) -- [(#11090)](https://github.com/microsoft/vcpkg/pull/11090) [vcpkg] Bump macos build timeouts to 1 day (by @BillyONeal) -- [(#11091)](https://github.com/microsoft/vcpkg/pull/11091) [vcpkg baseline] Ignore mlpack on macOS (by @strega-nil) -- [(#11083)](https://github.com/microsoft/vcpkg/pull/11083) [vcpkg] Warn on unmatched removal with reasonable alternative (by @ras0219-msft) -- [(#11102)](https://github.com/microsoft/vcpkg/pull/11102) [vcpkg] fix undefined working dir in vcpkg_acquire_msys (by @Neumann-A) -- [(#11058)](https://github.com/microsoft/vcpkg/pull/11058) [msbuild]fix use UseEnv-True (by @Voskrese) -- [(#10980)](https://github.com/microsoft/vcpkg/pull/10980) [vcpkg] Onboard Linux to VMSS, open 'git' port, and switch back to Azure Spot (by @BillyONeal) -- [(#8749)](https://github.com/microsoft/vcpkg/pull/8749) [vcpkg] Add new function vcpkg_copy_tools (by @myd7349) -- [(#11166)](https://github.com/microsoft/vcpkg/pull/11166) [vcpkg] Add disk space report on Linux. (by @BillyONeal) -- [(#11170)](https://github.com/microsoft/vcpkg/pull/11170) [vcpkg] fix bug in Filesystem::absolute (by @strega-nil) -- [(#11175)](https://github.com/microsoft/vcpkg/pull/11175) [vcpkg] Point README.md to the correct status badge. (by @BillyONeal) -- [(#11171)](https://github.com/microsoft/vcpkg/pull/11171) [vcpkg] Add telemetry notice to `README.md`. (by @BillyONeal) -- [(#11189)](https://github.com/microsoft/vcpkg/pull/11189) [vcpkg] Add tombstone deletion scripts. (by @BillyONeal) -- [(#11105)](https://github.com/microsoft/vcpkg/pull/11105) [vcpkg/scripts] Fix ninja search path on windows and find binaries within vcpkg first (by @Neumann-A) -- [(#11202)](https://github.com/microsoft/vcpkg/pull/11202) [vcpkg] always pass VSCMD_SKIP_SENDTELEMETRY=1 (by @strega-nil) -- [(#8588)](https://github.com/microsoft/vcpkg/pull/8588) [vcpkg] Add x86 support for Linux toolchain (by @zhbanito) -- [(#11213)](https://github.com/microsoft/vcpkg/pull/11213) [vcpkg] Restrict telemetry uploads to TLS 1.2 (by @BillyONeal) -- [(#11234)](https://github.com/microsoft/vcpkg/pull/11234) [vcpkg] Don't build the metrics uploader when metrics are disabled. (by @BillyONeal) -- [(#11233)](https://github.com/microsoft/vcpkg/pull/11233) [vcpkg] Resolve relative overlay ports to the current working directory. (by @ras0219-msft) -- [(#10760)](https://github.com/microsoft/vcpkg/pull/10760) [vcpkg] Adding support for finding VS2019 by environment variable (by @Honeybunch) -- [(#11174)](https://github.com/microsoft/vcpkg/pull/11174) [vcpkg] [llvm] Bump Linux VM memory size and do all operations on the temporary disk. (by @BillyONeal) -- [(#11266)](https://github.com/microsoft/vcpkg/pull/11266) [vcpkg][android] Link C++ runtime according to VCPKG_CRT_LINKAGE (by @huangqinjin) -- [(#11260)](https://github.com/microsoft/vcpkg/pull/11260) [vcpkg] Update pull request template (by @PhoebeHui) -- [(#11302)](https://github.com/microsoft/vcpkg/pull/11302) [vcpkg] Resolve --overlay-ports is only working for relative parths since fix… (by @TobiasFunk) -- [(#11205)](https://github.com/microsoft/vcpkg/pull/11205) [vcpkg] Hopefully fix build on macOS 10.13/10.14 (by @strega-nil) -- [(#11093)](https://github.com/microsoft/vcpkg/pull/11093) [vcpkg] Fix nuget package import failed. (by @shihaonan369) -- [(#11239)](https://github.com/microsoft/vcpkg/pull/11239) [vcpkg] Turn on tests in CI. (by @BillyONeal) -- [(#11339)](https://github.com/microsoft/vcpkg/pull/11339) [vcpkg] Avoid naming Policheck sensitive term (by @BillyONeal) -- [(#11368)](https://github.com/microsoft/vcpkg/pull/11368) [vcpkg] Do not build the metrics uploader with MSBuild when metrics are disabled (by @rickertm) -- [(#11315)](https://github.com/microsoft/vcpkg/pull/11315) [vcpkg] Harden expand environment strings path with explicit integer overflow checks and resistance to CP_ACP. (by @BillyONeal) -- [(#11450)](https://github.com/microsoft/vcpkg/pull/11450) [vcpkg CI] Clean git directory before clone (by @strega-nil) -- [(#11432)](https://github.com/microsoft/vcpkg/pull/11432) [vcpkg] Harden file removals and clean directory contents in "CI" inside vcpkg itself. (by @BillyONeal) -- [(#10767)](https://github.com/microsoft/vcpkg/pull/10767) [cmake] Update to 3.17.2 (by @JackBoosY) -- [(#11433)](https://github.com/microsoft/vcpkg/pull/11433) [vcpkg] Optimize string split slightly. (by @BillyONeal) -- [(#11299)](https://github.com/microsoft/vcpkg/pull/11299) [vcpkg] pass -disableMetrics to bootstrap on git bash (by @strega-nil) -- [(#11453)](https://github.com/microsoft/vcpkg/pull/11453) Fix CMake PATH that fails Windows tests. (by @BillyONeal) -- [(#11343)](https://github.com/microsoft/vcpkg/pull/11343) [vcpkg] fix extern C around ctermid (by @strega-nil) -- [(#11380)](https://github.com/microsoft/vcpkg/pull/11380) [tool-meson] Update to 0.54.2 (by @c72578) -- [(#11057)](https://github.com/microsoft/vcpkg/pull/11057) [Vcpkg] Fix macOS applocal.py dependency bundling error (by @kevinhartman) -- [(#10402)](https://github.com/microsoft/vcpkg/pull/10402) [vcpkg] Improve make builds (by @Neumann-A) -- [(#11431)](https://github.com/microsoft/vcpkg/pull/11431) [vcpkg] Add static triplet for arm64-windows (by @orudge) -- [(#11466)](https://github.com/microsoft/vcpkg/pull/11466) [vcpkg] Fix cmake architecture detection on windows with ninja generator (by @Chronial) -- [(#11512)](https://github.com/microsoft/vcpkg/pull/11512) [vcpkg] Remove powershell from the 'run vcpkg ci' path to reduce hangs from msys components. (by @BillyONeal) -- [(#11443)](https://github.com/microsoft/vcpkg/pull/11443) [vcpkg-acquire-msys] Update pacman before any other package. (by @emptyVoid) -- [(#11496)](https://github.com/microsoft/vcpkg/pull/11496) [Baseline] Fix boost-*:arm-uwp failure and resolve conflicts in CI (by @PhoebeHui) -- [(#11559)](https://github.com/microsoft/vcpkg/pull/11559) [VCPKG baseline] Fix many ports (by @JackBoosY) -- [(#11545)](https://github.com/microsoft/vcpkg/pull/11545) [vcpkg] Move CI cleaning back out of the 'ci' command into a separate command to restore cross-compilation preinstalls. (by @BillyONeal) -- [(#11612)](https://github.com/microsoft/vcpkg/pull/11612) [vcpkg baseline] Fix baseline failures (by @PhoebeHui) -- [(#11542)](https://github.com/microsoft/vcpkg/pull/11542) [vcpkg metrics] Allow someone to opt out after build (by @strega-nil) -- [(#11653)](https://github.com/microsoft/vcpkg/pull/11653) [vcpkg] Rename the msbuild property VcpkgRoot (by @BillyONeal) -- [(#11629)](https://github.com/microsoft/vcpkg/pull/11629) [vcpkg] Use a crypto RNG to generate admin passwords (by @BillyONeal) -- [(#11697)](https://github.com/microsoft/vcpkg/pull/11697) [vcpkg baseline] fix libb2:x64-osx (by @strega-nil) -- [(#11668)](https://github.com/microsoft/vcpkg/pull/11668) [CI|python3] add setuptools (by @Neumann-A) -- [(#11613)](https://github.com/microsoft/vcpkg/pull/11613) [vcpkg-baseline][unixodbc/nanodbc] Fix unixodbc build failure and set it as a dependency on nanodbc (by @JackBoosY) -- [(#11692)](https://github.com/microsoft/vcpkg/pull/11692) [vcpkg baseline] Remove passing port from Ci baseline (by @PhoebeHui) -- [(#11323)](https://github.com/microsoft/vcpkg/pull/11323) [vcpkg] add x86-wasm.cmake to community triplets (by @MoAlyousef) -- [(#11647)](https://github.com/microsoft/vcpkg/pull/11647) [vcpkg baseline][libfabric] Only support dynamic build (by @JackBoosY) -- [(#11483)](https://github.com/microsoft/vcpkg/pull/11483) [vcpkg] Allow CI to pass in all relevant directories and remove use of symbolic links (by @BillyONeal) -- [(#11764)](https://github.com/microsoft/vcpkg/pull/11764) [vcpkg] Add directories to x-ci-clean lost in merge conflict resolution. (by @BillyONeal) -- [(#11742)](https://github.com/microsoft/vcpkg/pull/11742) [vcpkg-baseline][manyport] Fix baseline error (by @JackBoosY) -- [(#11779)](https://github.com/microsoft/vcpkg/pull/11779) [vcpkg] Provide $(VcpkgRoot) and $(VcpkgCurrentInstalledDir) for customers. (by @BillyONeal) -- [(#11750)](https://github.com/microsoft/vcpkg/pull/11750) [vcpkg README] Add #include channel (by @strega-nil) -- [(#11693)](https://github.com/microsoft/vcpkg/pull/11693) [CI|gfortran] Install gfortran for OSX and Linux CI (by @Neumann-A) -- [(#11839)](https://github.com/microsoft/vcpkg/pull/11839) [vcpkg] Fix OSX CI by ensuring the downloads directory exists (by @BillyONeal -- [(#11810)](https://github.com/microsoft/vcpkg/pull/11810) [vcpkg-acquire-msys] Improvement (by @emptyVoid) -- [(#11365)](https://github.com/microsoft/vcpkg/pull/11365) [vcpkg] [cudnn] [msmpi] [openmpi] Update VMSS (by @BillyONeal) -- [(#11146)](https://github.com/microsoft/vcpkg/pull/11146) [vcpkg] Add nologo to windows toolchain (by @Neumann-A) -- [(#11891)](https://github.com/microsoft/vcpkg/pull/11891) [vcpkg] Fix bootstrap on VS2015 (by @BillyONeal) -- [(#11858)](https://github.com/microsoft/vcpkg/pull/11858) [vcpkg] Merge unit test pass into x86-windows. (by @BillyONeal) -- [(#11896)](https://github.com/microsoft/vcpkg/pull/11896) [vcpkg baseline] Fix baseline error (by @JackBoosY) -- [(#4361)](https://github.com/microsoft/vcpkg/pull/4361) Adds vcpkg item to project settings in Visual Studio (by @Neumann-A) -- [(#11958)](https://github.com/microsoft/vcpkg/pull/11958) Delete g_binary_caching global that should be passed as a parameter. (by @BillyONeal) - -
-The following 79 ports have been added: - -|port|version| -|---|---| -|[ryml](https://github.com/microsoft/vcpkg/pull/10793)| 2020-04-12 -|[qt5-androidextras](https://github.com/microsoft/vcpkg/pull/10644)[#11026](https://github.com/microsoft/vcpkg/pull/11026) | 5.12.8 -|[qt5-canvas3d](https://github.com/microsoft/vcpkg/pull/10644)[#11026](https://github.com/microsoft/vcpkg/pull/11026) | 5.12.8 -|[qt5-doc](https://github.com/microsoft/vcpkg/pull/10644)[#11026](https://github.com/microsoft/vcpkg/pull/11026) | 5.12.8 -|[qt5-serialbus](https://github.com/microsoft/vcpkg/pull/10644)[#11026](https://github.com/microsoft/vcpkg/pull/11026) | 5.12.8 -|[qt5-translations](https://github.com/microsoft/vcpkg/pull/10644)[#11026](https://github.com/microsoft/vcpkg/pull/11026) | 5.12.8 -|[qt5-wayland](https://github.com/microsoft/vcpkg/pull/10644)[#11026](https://github.com/microsoft/vcpkg/pull/11026) | 5.12.8 -|[qt5-webengine](https://github.com/microsoft/vcpkg/pull/10644)[#11026](https://github.com/microsoft/vcpkg/pull/11026) [#11120](https://github.com/microsoft/vcpkg/pull/11120) [#11653](https://github.com/microsoft/vcpkg/pull/11653) | 5.12.8 -|[qt5-webglplugin](https://github.com/microsoft/vcpkg/pull/10644)[#11026](https://github.com/microsoft/vcpkg/pull/11026) | 5.12.8 -|[qt5-x11extras](https://github.com/microsoft/vcpkg/pull/10644)[#11026](https://github.com/microsoft/vcpkg/pull/11026) | 5.12.8 -|[iniparser](https://github.com/microsoft/vcpkg/pull/10710)| 2020-04-06 -|[quill](https://github.com/microsoft/vcpkg/pull/10902)[#11326](https://github.com/microsoft/vcpkg/pull/11326) | 1.3.1 -|[frozen](https://github.com/microsoft/vcpkg/pull/10766)| 1.0.0 -|[cppcoro](https://github.com/microsoft/vcpkg/pull/10693)| 2020-2-28-1 -|[libtomcrypt](https://github.com/microsoft/vcpkg/pull/10960)| 1.18.2-1 -|[libtommath](https://github.com/microsoft/vcpkg/pull/10960)| 1.2.0-1 -|[pe-parse](https://github.com/microsoft/vcpkg/pull/11012)| 1.2.0 -|[opencc](https://github.com/microsoft/vcpkg/pull/8474)[#10767](https://github.com/microsoft/vcpkg/pull/10767) [#11559](https://github.com/microsoft/vcpkg/pull/11559) [#11612](https://github.com/microsoft/vcpkg/pull/11612) | 2020-04-26-4 -|[uchardet](https://github.com/microsoft/vcpkg/pull/8477)| 2020-04-26 -|[libqcow](https://github.com/microsoft/vcpkg/pull/11036)[#11238](https://github.com/microsoft/vcpkg/pull/11238) | 20191221-1 -|[mstch](https://github.com/microsoft/vcpkg/pull/11020)| 1.0.2-2 -|[nowide](https://github.com/microsoft/vcpkg/pull/11066)[#11732](https://github.com/microsoft/vcpkg/pull/11732) [#11859](https://github.com/microsoft/vcpkg/pull/11859) | alias -|[discord-game-sdk](https://github.com/microsoft/vcpkg/pull/10763)[#11728](https://github.com/microsoft/vcpkg/pull/11728) | 2.5.6-1 -|[libmpeg2](https://github.com/microsoft/vcpkg/pull/8871)| 0.5.1 -|[opencv2](https://github.com/microsoft/vcpkg/pull/7849)[#11201](https://github.com/microsoft/vcpkg/pull/11201) | 2.4.13.7-1 -|[rtlsdr](https://github.com/microsoft/vcpkg/pull/10901)[#11575](https://github.com/microsoft/vcpkg/pull/11575) | 2020-04-16-1 -|[gasol](https://github.com/microsoft/vcpkg/pull/9550)| 2018-01-04 -|[coin](https://github.com/microsoft/vcpkg/pull/9880)| 4.0.0 -|[simage](https://github.com/microsoft/vcpkg/pull/9880)| 1.8.0 -|[soqt](https://github.com/microsoft/vcpkg/pull/9880)| 1.6.0 -|[gmp](https://github.com/microsoft/vcpkg/pull/10613)[#11565](https://github.com/microsoft/vcpkg/pull/11565) | 6.2.0-1 -|[nettle](https://github.com/microsoft/vcpkg/pull/10613)[#11565](https://github.com/microsoft/vcpkg/pull/11565) | 3.5.1-1 -|[vs-yasm](https://github.com/microsoft/vcpkg/pull/10613)| 0.5.0 -|[uthenticode](https://github.com/microsoft/vcpkg/pull/11199)[#11256](https://github.com/microsoft/vcpkg/pull/11256) [#11362](https://github.com/microsoft/vcpkg/pull/11362) | 1.0.4 -|[bitserializer-pugixml](https://github.com/microsoft/vcpkg/pull/11241)[#11683](https://github.com/microsoft/vcpkg/pull/11683) | alias -|[ignition-math6](https://github.com/microsoft/vcpkg/pull/11232)| 6.4.0 -|[vtk-m](https://github.com/microsoft/vcpkg/pull/11148)| 1.5.0 -|[crashpad](https://github.com/microsoft/vcpkg/pull/10505)| 2020-03-18 -|[bitserializer-rapidyaml](https://github.com/microsoft/vcpkg/pull/11242)[#11683](https://github.com/microsoft/vcpkg/pull/11683) | alias -|[ignition-msgs5](https://github.com/microsoft/vcpkg/pull/11272)[#11397](https://github.com/microsoft/vcpkg/pull/11397) | 5.1.0 -|[ignition-transport8](https://github.com/microsoft/vcpkg/pull/11272)| 8.0.0 -|[sdformat9](https://github.com/microsoft/vcpkg/pull/11265)[#11742](https://github.com/microsoft/vcpkg/pull/11742) | 9.2.0-1 -|[kissfft](https://github.com/microsoft/vcpkg/pull/9237)| 2020-03-30 -|[jaeger-client-cpp](https://github.com/microsoft/vcpkg/pull/9126)[#11583](https://github.com/microsoft/vcpkg/pull/11583) | 0.5.1-1 -|[libmediainfo](https://github.com/microsoft/vcpkg/pull/7005)| 20.03 -|[h5py-lzf](https://github.com/microsoft/vcpkg/pull/10871)| 2019-12-04 -|[microsoft-signalr](https://github.com/microsoft/vcpkg/pull/10833)[#11496](https://github.com/microsoft/vcpkg/pull/11496) | 0.1.0-alpha1-1 -|[oatpp-consul](https://github.com/microsoft/vcpkg/pull/9402)| 1.0.0 -|[oatpp-curl](https://github.com/microsoft/vcpkg/pull/9402)| 1.0.0 -|[oatpp-libressl](https://github.com/microsoft/vcpkg/pull/9402)| 1.0.0 -|[oatpp-mbedtls](https://github.com/microsoft/vcpkg/pull/9402)| 1.0.0 -|[oatpp-swagger](https://github.com/microsoft/vcpkg/pull/9402)| 1.0.0 -|[oatpp-websocket](https://github.com/microsoft/vcpkg/pull/9402)| 1.0.0 -|[oatpp](https://github.com/microsoft/vcpkg/pull/9402)| 1.0.0 -|[gperftools](https://github.com/microsoft/vcpkg/pull/8750)| 2019-09-02 -|[libvmdk](https://github.com/microsoft/vcpkg/pull/11010)| 2019-12-21 -|[ctp](https://github.com/microsoft/vcpkg/pull/10717)| 6.3.15_20190220_se -|[munit](https://github.com/microsoft/vcpkg/pull/6780)| 2019-04-06 -|[mmloader](https://github.com/microsoft/vcpkg/pull/11381)| 2020-05-15 -|[absent](https://github.com/microsoft/vcpkg/pull/11447)| 0.3.0 -|[ocilib](https://github.com/microsoft/vcpkg/pull/11549)[#11646](https://github.com/microsoft/vcpkg/pull/11646) | 4.6.4-1 -|[tinyply](https://github.com/microsoft/vcpkg/pull/11534)| 2020-05-22 -|[symengine](https://github.com/microsoft/vcpkg/pull/8752)| 2020-05-25 -|[nanoprintf](https://github.com/microsoft/vcpkg/pull/11605)| 2020-05-27 -|[wavelib](https://github.com/microsoft/vcpkg/pull/11611)| 2020-05-29 -|[refl-cpp](https://github.com/microsoft/vcpkg/pull/11622)| 0.9.1 -|[trantor](https://github.com/microsoft/vcpkg/pull/11533)| v1.0.0-rc13 -|[sockpp](https://github.com/microsoft/vcpkg/pull/11562)| 0.7 -|[protozero](https://github.com/microsoft/vcpkg/pull/11652)| 1.6.8 -|[p-ranav-csv2](https://github.com/microsoft/vcpkg/pull/11725)| 2020-06-02 -|[cr](https://github.com/microsoft/vcpkg/pull/11841)| 2020-04-26 -|[json-schema-validator](https://github.com/microsoft/vcpkg/pull/11599)| 2.1.0 -|[log4cxx](https://github.com/microsoft/vcpkg/pull/11659)| 0.10.0-2 -|[xbyak](https://github.com/microsoft/vcpkg/pull/11689)| 5.911 -|[licensepp](https://github.com/microsoft/vcpkg/pull/11711)| 2020-05-19 -|[v-hacd](https://github.com/microsoft/vcpkg/pull/11606)| 3.2.0 -|[libosmium](https://github.com/microsoft/vcpkg/pull/11863)| 2.15.5 -|[gzip-hpp](https://github.com/microsoft/vcpkg/pull/11735)| 0.1.0 -|[infoware](https://github.com/microsoft/vcpkg/pull/11410)| 0.5.3 -
- -
-The following 375 ports have been updated: - -- otl `4.0.451` -> `4.0.455` - - [(#10922)](https://github.com/microsoft/vcpkg/pull/10922) [vcpkg baseline] Update hash for otl - - [(#11300)](https://github.com/microsoft/vcpkg/pull/11300) [otl] Update to 4.0.455 - -- vtk `8.2.0-12` -> `9.0-2` - - [(#10925)](https://github.com/microsoft/vcpkg/pull/10925) [VTK] Check if VTKTarget files exist - - [(#11148)](https://github.com/microsoft/vcpkg/pull/11148) [VTK/vtk-m] Update VTK to 9.0 and add vtk-m - - [(#11643)](https://github.com/microsoft/vcpkg/pull/11643) [vtk] Fix single configuration builds - - [(#11708)](https://github.com/microsoft/vcpkg/pull/11708) [python3] Update to Python 3.8 - -- winreg `1.2.1-1` -> `3.1.0` - - [(#10926)](https://github.com/microsoft/vcpkg/pull/10926) [winreg] Update to 2.2.0 - - [(#10976)](https://github.com/microsoft/vcpkg/pull/10976) [WinReg] update to v2.2.2 - - [(#11034)](https://github.com/microsoft/vcpkg/pull/11034) [winreg] Update to 2.2.3 - - [(#11766)](https://github.com/microsoft/vcpkg/pull/11766) [winreg] Update to 2.4.0 - - [(#11883)](https://github.com/microsoft/vcpkg/pull/11883) [WinReg] Update to 3.0.1 - - [(#11888)](https://github.com/microsoft/vcpkg/pull/11888) [WinReg] Update to 3.1.0 - -- libyaml `0.2.2-2` -> `0.2.2-3` - - [(#10908)](https://github.com/microsoft/vcpkg/pull/10908) [libyaml] Fix linkage in non-Windows systems - -- libzippp `2019-07-22` -> `3.1-1.6.1` - - [(#10893)](https://github.com/microsoft/vcpkg/pull/10893) [libzippp] Update to libzippp-v3.1-1.6.1 - -- blend2d `beta_2020-04-15` -> `beta_2020-06-01` - - [(#10891)](https://github.com/microsoft/vcpkg/pull/10891) [blend2d] Update to beta_2020-04-19 - - [(#11155)](https://github.com/microsoft/vcpkg/pull/11155) [blend2d] Update to beta_2020-05-04 - - [(#11778)](https://github.com/microsoft/vcpkg/pull/11778) [blend2d] Update to beta_2020-06-01 - -- pegtl `3.0.0-pre-9d58962` -> `3.0.0-pre-83b6cdc` - - [(#10870)](https://github.com/microsoft/vcpkg/pull/10870) [pegtl] Update to latest commit from 4/5/2020 - - [(#11148)](https://github.com/microsoft/vcpkg/pull/11148) [VTK/vtk-m] Update VTK to 9.0 and add vtk-m - - [(#11531)](https://github.com/microsoft/vcpkg/pull/11531) [pegtl/cppgraphqlgen] matching updates for dependency - -- skyr-url `1.5.1` -> `1.9.0` - - [(#10868)](https://github.com/microsoft/vcpkg/pull/10868) [skyr-url] Bump version to 1.7.0 - - [(#10954)](https://github.com/microsoft/vcpkg/pull/10954) [skyr-url] Updated port to use version 1.7.3 - - [(#11153)](https://github.com/microsoft/vcpkg/pull/11153) [skyr-url] Changed skyr-url version number to 1.7.5 - - [(#11568)](https://github.com/microsoft/vcpkg/pull/11568) [skyr-url] Changed version number to 1.9.0 - - [(#11774)](https://github.com/microsoft/vcpkg/pull/11774) [skyr-url] Changed version number for skyr-url - -- protobuf `3.11.3` -> `3.12.0-2` - - [(#10863)](https://github.com/microsoft/vcpkg/pull/10863) [protobuf] Update to 3.11.4 - - [(#11228)](https://github.com/microsoft/vcpkg/pull/11228) [protobuf] Correct protobuf under android (Fix issue #8218) - - [(#11397)](https://github.com/microsoft/vcpkg/pull/11397) [protobuf] protobuf v3.12.0 - - [(#11504)](https://github.com/microsoft/vcpkg/pull/11504) [protobuf] Fix RPATH error for static build - - [(#11516)](https://github.com/microsoft/vcpkg/pull/11516) [protobuf] Don't redefine PROTOBUF_USE_DLLS - -- sdformat6 `6.2.0` -> `6.2.0-1` - - [(#10859)](https://github.com/microsoft/vcpkg/pull/10859) [sdformat6] Migrate from Bitbucket to GitHub 🤖 - -- ompl `1.4.2-2` -> `1.4.2-4` - - [(#10854)](https://github.com/microsoft/vcpkg/pull/10854) [ompl] Fix ompl[app] build error - - [(#10972)](https://github.com/microsoft/vcpkg/pull/10972) [ompl] Fix patch apply error - -- dlib `19.17-1` -> `19.19-1` - - [(#10826)](https://github.com/microsoft/vcpkg/pull/10826) [dlib] Updated dlib to v19.19 - - [(#11195)](https://github.com/microsoft/vcpkg/pull/11195) [dlib] add more granularity in features - -- arrow `0.17.0` -> `0.17.1` - - [(#10800)](https://github.com/microsoft/vcpkg/pull/10800) [Arrow] Explicitly enable CSV and JSON - - [(#11016)](https://github.com/microsoft/vcpkg/pull/11016) [Arrow] Add filesystem feature - - [(#11472)](https://github.com/microsoft/vcpkg/pull/11472) [Arrow] Update to 0.17.1 - -- ace `6.5.8` -> `6.5.9-5` - - [(#10984)](https://github.com/microsoft/vcpkg/pull/10984) [ace] Add support for MacOSX - - [(#11112)](https://github.com/microsoft/vcpkg/pull/11112) [ace] Update to 6.5.9 - - [(#11369)](https://github.com/microsoft/vcpkg/pull/11369) [ace] Add patch to fix Visual Studio 2019 16.5 internal compiler error - - [(#11441)](https://github.com/microsoft/vcpkg/pull/11441) [ace] Add support for uwp - - [(#11464)](https://github.com/microsoft/vcpkg/pull/11464) [ace] Simplified port file - - [(#11713)](https://github.com/microsoft/vcpkg/pull/11713) [ace] Fix missing cpp files - - [(#11473)](https://github.com/microsoft/vcpkg/pull/11473) [ace] tao as feature - -- libaaplus `2.12` -> `2.12-1` - - [(#10981)](https://github.com/microsoft/vcpkg/pull/10981) [libaaplus] Use versioned download link - -- spscqueue `2019-07-26` -> `1.0` - - [(#10874)](https://github.com/microsoft/vcpkg/pull/10874) [spscqueue] Update to version 1.0 - -- googleapis `0.8.0` -> `alias` - - [(#10994)](https://github.com/microsoft/vcpkg/pull/10994) [googleapis] update to v0.9.0 - - [(#11698)](https://github.com/microsoft/vcpkg/pull/11698) [google-cloud-cpp] Consolidate all google-cloud* packages - -- ms-gsl `3.0.0` -> `3.0.1` - - [(#10993)](https://github.com/microsoft/vcpkg/pull/10993) [ms-gsl] Update to 3.0.1 - -- ryu `2.0-1` -> `2.0-2` - - [(#10989)](https://github.com/microsoft/vcpkg/pull/10989) [ryu]Ryu include fix - -- glm `0.9.9.7` -> `0.9.9.8` - - [(#10977)](https://github.com/microsoft/vcpkg/pull/10977) [glm, sqlitecpp] update to new version - -- sqlitecpp `2.3.0-1` -> `3.0.0` - - [(#10977)](https://github.com/microsoft/vcpkg/pull/10977) [glm, sqlitecpp] update to new version - -- nngpp `1.2.4` -> `1.3.0` - - [(#10975)](https://github.com/microsoft/vcpkg/pull/10975) [nngpp] Update to 1.3.0 - -- libvpx `1.8.1-1` -> `1.8.1-5` - - [(#10952)](https://github.com/microsoft/vcpkg/pull/10952) [libvpx][mpg123] Fix use of YASM in MSBuild (via path) - - [(#11058)](https://github.com/microsoft/vcpkg/pull/11058) [msbuild]fix use UseEnv-True - - [(#11022)](https://github.com/microsoft/vcpkg/pull/11022) [libvpx] Added support for build on MacOS and Linux - - [(#11500)](https://github.com/microsoft/vcpkg/pull/11500) [libvpx] Change default target on Unix - - [(#11795)](https://github.com/microsoft/vcpkg/pull/11795) [libvpx] Add cmake config file - -- mpg123 `1.25.8-6` -> `1.25.8-9` - - [(#10952)](https://github.com/microsoft/vcpkg/pull/10952) [libvpx][mpg123] Fix use of YASM in MSBuild (via path) - - [(#11058)](https://github.com/microsoft/vcpkg/pull/11058) [msbuild]fix use UseEnv-True - - [(#11287)](https://github.com/microsoft/vcpkg/pull/11287) [mpg123] Enable UWP support - - [(#11896)](https://github.com/microsoft/vcpkg/pull/11896) [vcpkg baseline] Fix baseline error - -- qt5-3d `5.12.5-1` -> `5.12.8` - - [(#10644)](https://github.com/microsoft/vcpkg/pull/10644) [Qt[latest]] Update to 5.14.2 - - [(#10749)](https://github.com/microsoft/vcpkg/pull/10749) [Qt5] Update qt to 5.12.8 - -- qt5-activeqt `5.12.5-1` -> `5.12.8-1` - - [(#10644)](https://github.com/microsoft/vcpkg/pull/10644) [Qt[latest]] Update to 5.14.2 - - [(#10749)](https://github.com/microsoft/vcpkg/pull/10749) [Qt5] Update qt to 5.12.8 - - [(#11045)](https://github.com/microsoft/vcpkg/pull/11045) [qt5] reactivate qt5-activeqt for CI coverage - -- qt5-base `5.12.5-13` -> `5.12.8-4` - - [(#10644)](https://github.com/microsoft/vcpkg/pull/10644) [Qt[latest]] Update to 5.14.2 - - [(#10749)](https://github.com/microsoft/vcpkg/pull/10749) [Qt5] Update qt to 5.12.8 - - [(#11111)](https://github.com/microsoft/vcpkg/pull/11111) [qt5] Add -j to make to parallelize on Linux and MacOS - - [(#11371)](https://github.com/microsoft/vcpkg/pull/11371) [qt5-base] Add Xorg dependency libx11-xcb-dev - - [(#11416)](https://github.com/microsoft/vcpkg/pull/11416) [harfbuzz,skia] Update and replace Skia dependencies with vcpkg - - [(#11483)](https://github.com/microsoft/vcpkg/pull/11483) [vcpkg] Allow CI to pass in all relevant directories and remove use of symbolic links - -- qt5-charts `5.12.5-1` -> `5.12.8` - - [(#10644)](https://github.com/microsoft/vcpkg/pull/10644) [Qt[latest]] Update to 5.14.2 - - [(#10749)](https://github.com/microsoft/vcpkg/pull/10749) [Qt5] Update qt to 5.12.8 - -- qt5-connectivity `5.12.5-1` -> `5.12.8` - - [(#10644)](https://github.com/microsoft/vcpkg/pull/10644) [Qt[latest]] Update to 5.14.2 - - [(#10749)](https://github.com/microsoft/vcpkg/pull/10749) [Qt5] Update qt to 5.12.8 - -- qt5-datavis3d `5.12.5-1` -> `5.12.8` - - [(#10644)](https://github.com/microsoft/vcpkg/pull/10644) [Qt[latest]] Update to 5.14.2 - - [(#10749)](https://github.com/microsoft/vcpkg/pull/10749) [Qt5] Update qt to 5.12.8 - -- qt5-declarative `5.12.5-1` -> `5.12.8` - - [(#10644)](https://github.com/microsoft/vcpkg/pull/10644) [Qt[latest]] Update to 5.14.2 - - [(#10749)](https://github.com/microsoft/vcpkg/pull/10749) [Qt5] Update qt to 5.12.8 - -- qt5-gamepad `5.12.5-2` -> `5.12.8` - - [(#10644)](https://github.com/microsoft/vcpkg/pull/10644) [Qt[latest]] Update to 5.14.2 - - [(#10749)](https://github.com/microsoft/vcpkg/pull/10749) [Qt5] Update qt to 5.12.8 - -- qt5-graphicaleffects `5.12.5-2` -> `5.12.8` - - [(#10644)](https://github.com/microsoft/vcpkg/pull/10644) [Qt[latest]] Update to 5.14.2 - - [(#10749)](https://github.com/microsoft/vcpkg/pull/10749) [Qt5] Update qt to 5.12.8 - -- qt5-imageformats `5.12.5-3` -> `5.12.8` - - [(#10644)](https://github.com/microsoft/vcpkg/pull/10644) [Qt[latest]] Update to 5.14.2 - - [(#10749)](https://github.com/microsoft/vcpkg/pull/10749) [Qt5] Update qt to 5.12.8 - -- qt5-location `5.12.5-2` -> `5.12.8` - - [(#10644)](https://github.com/microsoft/vcpkg/pull/10644) [Qt[latest]] Update to 5.14.2 - - [(#10749)](https://github.com/microsoft/vcpkg/pull/10749) [Qt5] Update qt to 5.12.8 - -- qt5-macextras `5.12.5` -> `5.12.8` - - [(#10644)](https://github.com/microsoft/vcpkg/pull/10644) [Qt[latest]] Update to 5.14.2 - - [(#10749)](https://github.com/microsoft/vcpkg/pull/10749) [Qt5] Update qt to 5.12.8 - -- qt5-mqtt `5.12.5` -> `5.12.8` - - [(#10644)](https://github.com/microsoft/vcpkg/pull/10644) [Qt[latest]] Update to 5.14.2 - - [(#10749)](https://github.com/microsoft/vcpkg/pull/10749) [Qt5] Update qt to 5.12.8 - -- qt5-multimedia `5.12.5-1` -> `5.12.8` - - [(#10644)](https://github.com/microsoft/vcpkg/pull/10644) [Qt[latest]] Update to 5.14.2 - - [(#10749)](https://github.com/microsoft/vcpkg/pull/10749) [Qt5] Update qt to 5.12.8 - -- qt5-networkauth `5.12.5-1` -> `5.12.8` - - [(#10644)](https://github.com/microsoft/vcpkg/pull/10644) [Qt[latest]] Update to 5.14.2 - - [(#10749)](https://github.com/microsoft/vcpkg/pull/10749) [Qt5] Update qt to 5.12.8 - -- qt5-purchasing `5.12.5-2` -> `5.12.8` - - [(#10644)](https://github.com/microsoft/vcpkg/pull/10644) [Qt[latest]] Update to 5.14.2 - - [(#10749)](https://github.com/microsoft/vcpkg/pull/10749) [Qt5] Update qt to 5.12.8 - -- qt5-quickcontrols `5.12.5-1` -> `5.12.8` - - [(#10644)](https://github.com/microsoft/vcpkg/pull/10644) [Qt[latest]] Update to 5.14.2 - - [(#10749)](https://github.com/microsoft/vcpkg/pull/10749) [Qt5] Update qt to 5.12.8 - -- qt5-quickcontrols2 `5.12.5-1` -> `5.12.8` - - [(#10644)](https://github.com/microsoft/vcpkg/pull/10644) [Qt[latest]] Update to 5.14.2 - - [(#10749)](https://github.com/microsoft/vcpkg/pull/10749) [Qt5] Update qt to 5.12.8 - -- qt5-remoteobjects `5.12.5-2` -> `5.12.8` - - [(#10644)](https://github.com/microsoft/vcpkg/pull/10644) [Qt[latest]] Update to 5.14.2 - - [(#10749)](https://github.com/microsoft/vcpkg/pull/10749) [Qt5] Update qt to 5.12.8 - -- qt5-script `5.12.5-1` -> `5.12.8` - - [(#10644)](https://github.com/microsoft/vcpkg/pull/10644) [Qt[latest]] Update to 5.14.2 - - [(#10749)](https://github.com/microsoft/vcpkg/pull/10749) [Qt5] Update qt to 5.12.8 - -- qt5-scxml `5.12.5` -> `5.12.8` - - [(#10644)](https://github.com/microsoft/vcpkg/pull/10644) [Qt[latest]] Update to 5.14.2 - - [(#10749)](https://github.com/microsoft/vcpkg/pull/10749) [Qt5] Update qt to 5.12.8 - -- qt5-sensors `5.12.5-2` -> `5.12.8` - - [(#10644)](https://github.com/microsoft/vcpkg/pull/10644) [Qt[latest]] Update to 5.14.2 - - [(#10749)](https://github.com/microsoft/vcpkg/pull/10749) [Qt5] Update qt to 5.12.8 - -- qt5-serialport `5.12.5-1` -> `5.12.8` - - [(#10644)](https://github.com/microsoft/vcpkg/pull/10644) [Qt[latest]] Update to 5.14.2 - - [(#10749)](https://github.com/microsoft/vcpkg/pull/10749) [Qt5] Update qt to 5.12.8 - -- qt5-speech `5.12.5-1` -> `5.12.8` - - [(#10644)](https://github.com/microsoft/vcpkg/pull/10644) [Qt[latest]] Update to 5.14.2 - - [(#10749)](https://github.com/microsoft/vcpkg/pull/10749) [Qt5] Update qt to 5.12.8 - -- qt5-svg `5.12.5` -> `5.12.8` - - [(#10644)](https://github.com/microsoft/vcpkg/pull/10644) [Qt[latest]] Update to 5.14.2 - - [(#10749)](https://github.com/microsoft/vcpkg/pull/10749) [Qt5] Update qt to 5.12.8 - -- qt5-tools `5.12.5-5` -> `5.12.8` - - [(#10644)](https://github.com/microsoft/vcpkg/pull/10644) [Qt[latest]] Update to 5.14.2 - - [(#10749)](https://github.com/microsoft/vcpkg/pull/10749) [Qt5] Update qt to 5.12.8 - -- qt5-virtualkeyboard `5.12.5-1` -> `5.12.8` - - [(#10644)](https://github.com/microsoft/vcpkg/pull/10644) [Qt[latest]] Update to 5.14.2 - - [(#10749)](https://github.com/microsoft/vcpkg/pull/10749) [Qt5] Update qt to 5.12.8 - -- qt5-webchannel `5.12.5-2` -> `5.12.8` - - [(#10644)](https://github.com/microsoft/vcpkg/pull/10644) [Qt[latest]] Update to 5.14.2 - - [(#10749)](https://github.com/microsoft/vcpkg/pull/10749) [Qt5] Update qt to 5.12.8 - -- qt5-websockets `5.12.5` -> `5.12.8` - - [(#10644)](https://github.com/microsoft/vcpkg/pull/10644) [Qt[latest]] Update to 5.14.2 - - [(#10749)](https://github.com/microsoft/vcpkg/pull/10749) [Qt5] Update qt to 5.12.8 - -- qt5-webview `5.12.5-1` -> `5.12.8` - - [(#10644)](https://github.com/microsoft/vcpkg/pull/10644) [Qt[latest]] Update to 5.14.2 - - [(#10749)](https://github.com/microsoft/vcpkg/pull/10749) [Qt5] Update qt to 5.12.8 - -- qt5-winextras `5.12.5-1` -> `5.12.8` - - [(#10644)](https://github.com/microsoft/vcpkg/pull/10644) [Qt[latest]] Update to 5.14.2 - - [(#10749)](https://github.com/microsoft/vcpkg/pull/10749) [Qt5] Update qt to 5.12.8 - -- qt5-xmlpatterns `5.12.5-1` -> `5.12.8` - - [(#10644)](https://github.com/microsoft/vcpkg/pull/10644) [Qt[latest]] Update to 5.14.2 - - [(#10749)](https://github.com/microsoft/vcpkg/pull/10749) [Qt5] Update qt to 5.12.8 - -- qt5 `5.12.5` -> `5.12.8` - - [(#10644)](https://github.com/microsoft/vcpkg/pull/10644) [Qt[latest]] Update to 5.14.2 - - [(#10749)](https://github.com/microsoft/vcpkg/pull/10749) [Qt5] Update qt to 5.12.8 - -- libzip `rel-1-5-2--1` -> `rel-1-6-1` - - [(#10784)](https://github.com/microsoft/vcpkg/pull/10784) [libzip] update to rel-1-6-1 - -- nng `1.2.5` -> `1.3.0` - - [(#10974)](https://github.com/microsoft/vcpkg/pull/10974) [nng] Update to 1.3.0 - -- libmupdf `1.16.1` -> `1.16.1-1` - - [(#10708)](https://github.com/microsoft/vcpkg/pull/10708) [libmupdf] fix build error on Linux - -- catch2 `2.11.3` -> `2.12.1` - - [(#10996)](https://github.com/microsoft/vcpkg/pull/10996) [catch2] Update to 2.12.1 - -- websocketpp `0.8.1-1` -> `0.8.2` - - [(#10969)](https://github.com/microsoft/vcpkg/pull/10969) [websocketpp] Update to 0.8.2 - -- coroutine `2020-01-13` -> `1.5.0` - - [(#10692)](https://github.com/microsoft/vcpkg/pull/10692) [coroutine] update to 1.5.0 - -- boost-modular-build-helper `1.72.0-1` -> `1.73.0-1` - - [(#10285)](https://github.com/microsoft/vcpkg/pull/10285) [boost-modular-build-helper] Support Clang '--target=' syntax to enable Android builds - - [(#10814)](https://github.com/microsoft/vcpkg/pull/10814) [boost-modular-build] Fix lack of arm64-linux support - - [(#11427)](https://github.com/microsoft/vcpkg/pull/11427) [boost] MinGW build fixes - -- openssl-unix `1.1.1d-2` -> `1.1.1d-4` - - [(#10450)](https://github.com/microsoft/vcpkg/pull/10450) [openssl-unix] Update header path for shared library compilation - - [(#11344)](https://github.com/microsoft/vcpkg/pull/11344) [openssl-unix] Fix openssl-unix android build - -- sdl2-gfx `1.0.4-5` -> `1.0.4-6` - - [(#10575)](https://github.com/microsoft/vcpkg/pull/10575) [sdl2-gfx] Fix build error on non windows - -- hwloc `1.11.7-3` -> `1.11.7-4` - - [(#10615)](https://github.com/microsoft/vcpkg/pull/10615) [hwloc] Support UNIX - -- pixel `0.3` -> `0.3-1` - - [(#10638)](https://github.com/microsoft/vcpkg/pull/10638) [pixel] Add warning message on Linux - -- qt-advanced-docking-system `2019-08-14-1` -> `3.2.5-1` - - [(#10170)](https://github.com/microsoft/vcpkg/pull/10170) [qt-advanced-docking-system] updated qt-advanced-docking-system to 3.2.1 - - [(#10980)](https://github.com/microsoft/vcpkg/pull/10980) [vcpkg] Onboard Linux to VMSS, open 'git' port, and switch back to Azure Spot - -- libarchive `3.4.1-1` -> `3.4.1-3` - - [(#11044)](https://github.com/microsoft/vcpkg/pull/11044) [libarchive] expose zstd as a build feature - - [(#11570)](https://github.com/microsoft/vcpkg/pull/11570) [libarchive] Disable C4061 which causes build to fail in Visual Studio 2019 16.6 - -- azure-kinect-sensor-sdk `1.4.0-alpha.0-2` -> `1.4.0-alpha.0-5` - - [(#11033)](https://github.com/microsoft/vcpkg/pull/11033) [azure-kinect-sensor-sdk] Fix pipeline error - - [(#10253)](https://github.com/microsoft/vcpkg/pull/10253) [imgui] Add feature bindings and remove feature example - - [(#11116)](https://github.com/microsoft/vcpkg/pull/11116) [azure-kinect-sensor-sdk] Disable parallel configure due to source directory writes - - [(#11139)](https://github.com/microsoft/vcpkg/pull/11139) [azure-kinect-sensor-sdk] Fix Deploy Azure Kinect Sensor SDK on Windows - -- range-v3 `0.10.0` -> `0.10.0-20200425` - - [(#11031)](https://github.com/microsoft/vcpkg/pull/11031) [range-v3] Update to new version. - -- ode `0.16` -> `0.16.1` - - [(#11029)](https://github.com/microsoft/vcpkg/pull/11029) [ode] Bump version to 0.16.1 - -- boost-coroutine `1.72.0` -> `1.73.0` - - [(#10988)](https://github.com/microsoft/vcpkg/pull/10988) [boost-coroutine] Add patch from boost.org - - [(#11221)](https://github.com/microsoft/vcpkg/pull/11221) [boost] update to 1.73.0 - -- libtorrent `1.2.2-1` -> `1.2.7` - - [(#10686)](https://github.com/microsoft/vcpkg/pull/10686) [libtorrent] Update to 1.2.6 and add features - - [(#11257)](https://github.com/microsoft/vcpkg/pull/11257) [libtorrent] add iconv feature on windows and clean up portfile - - [(#11389)](https://github.com/microsoft/vcpkg/pull/11389) [libtorrent] minor portfile simplification and version bump - - [(#11709)](https://github.com/microsoft/vcpkg/pull/11709) [libtorrent] Update to 1.2.7 - -- geos `3.6.3-3` -> `3.6.4` - - [(#10377)](https://github.com/microsoft/vcpkg/pull/10377) [geos] Upgrade to GEOS 3.6.4 - -- egl-registry `2020-02-03` -> `2020-02-20` - - [(#10676)](https://github.com/microsoft/vcpkg/pull/10676) [egl-registry, opengl-registry] Update egl-registry to 2020-02-20 and opengl-registry to 2020-03-25 - -- opengl-registry `2020-02-03` -> `2020-03-25` - - [(#10676)](https://github.com/microsoft/vcpkg/pull/10676) [egl-registry, opengl-registry] Update egl-registry to 2020-02-20 and opengl-registry to 2020-03-25 - -- murmurhash `2016-01-09` -> `2016-01-09-3` - - [(#11011)](https://github.com/microsoft/vcpkg/pull/11011) [murmurhash] installation fix - - [(#10767)](https://github.com/microsoft/vcpkg/pull/10767) [cmake] Update to 3.17.2 - -- gts `0.7.6-1` -> `0.7.6-3` - - [(#10055)](https://github.com/microsoft/vcpkg/pull/10055) [gts] Support for build with cmake in unix - - [(#10767)](https://github.com/microsoft/vcpkg/pull/10767) [cmake] Update to 3.17.2 - - [(#11884)](https://github.com/microsoft/vcpkg/pull/11884) [glib/gts] Add pkgconfig files - -- icu `65.1-3` -> `67.1` - - [(#10656)](https://github.com/microsoft/vcpkg/pull/10656) [icu] Fix configure failure due to not finding python - - [(#11714)](https://github.com/microsoft/vcpkg/pull/11714) [icu] Update to 67.1 - -- ffmpeg `4.2-7` -> `4.2-9` - - [(#8797)](https://github.com/microsoft/vcpkg/pull/8797) [ffmpeg] Fix ffmpeg[opencl, openssl, lzma] static build failed - - [(#11443)](https://github.com/microsoft/vcpkg/pull/11443) [vcpkg-acquire-msys] Update pacman before any other package. - - [(#11810)](https://github.com/microsoft/vcpkg/pull/11810) [vcpkg-acquire-msys] Improvement - -- liblzma `5.2.4-4` -> `5.2.4-5` - - [(#8797)](https://github.com/microsoft/vcpkg/pull/8797) [ffmpeg] Fix ffmpeg[opencl, openssl, lzma] static build failed - -- cpprestsdk `2.10.15-1` -> `2.10.16-2` - - [(#11018)](https://github.com/microsoft/vcpkg/pull/11018) [cpprestsdk] Update to v2.10.16 - - [(#11694)](https://github.com/microsoft/vcpkg/pull/11694) [cpprestsdk] Avoid using pkg-config to find OpenSSL libraries on Linux - - [(#11867)](https://github.com/microsoft/vcpkg/pull/11867) [cpprestsdk] Fix find dependency openssl - -- harfbuzz `2.5.3` -> `2.6.6` - - [(#11082)](https://github.com/microsoft/vcpkg/pull/11082) [harfbuzz] Change build depends from freetype to freetype[core] - - [(#11416)](https://github.com/microsoft/vcpkg/pull/11416) [harfbuzz,skia] Update and replace Skia dependencies with vcpkg - -- pcl `1.9.1-11` -> `1.9.1-13` - - [(#11047)](https://github.com/microsoft/vcpkg/pull/11047) [pcl] Fix link to libpng - - [(#11148)](https://github.com/microsoft/vcpkg/pull/11148) [VTK/vtk-m] Update VTK to 9.0 and add vtk-m - -- armadillo `2019-04-16-6` -> `2019-04-16-8` - - [(#11063)](https://github.com/microsoft/vcpkg/pull/11063) [armadillo] Add dependent port superlu on osx - -- abseil `2020-03-03-3` -> `2020-03-03-6` - - [(#11039)](https://github.com/microsoft/vcpkg/pull/11039) [abseil] Configure abseil to use std:: types when feature cxx17 is enabled - - [(#11630)](https://github.com/microsoft/vcpkg/pull/11630) [abseil] Fix arm build - - [(#11827)](https://github.com/microsoft/vcpkg/pull/11827) [abseil] Enable dynamic build on Windows - -- metrohash `1.1.3` -> `1.1.3-1` - - [(#10992)](https://github.com/microsoft/vcpkg/pull/10992) [metrohash] installation fix - - [(#10767)](https://github.com/microsoft/vcpkg/pull/10767) [cmake] Update to 3.17.2 - -- nana `1.7.2-1` -> `1.7.2-3` - - [(#10936)](https://github.com/microsoft/vcpkg/pull/10936) [nana] Revert 1 darkcacok patch nana - - [(#11494)](https://github.com/microsoft/vcpkg/pull/11494) [basisu, gppanel, msgpack11, nana, rapidcheck, folly] Add missing header file of STL - -- alembic `1.7.12` -> `1.7.12-1` - - [(#10912)](https://github.com/microsoft/vcpkg/pull/10912) [alembic] linux fixes - -- civetweb `2019-07-05-1` -> `1.12` - - [(#10591)](https://github.com/microsoft/vcpkg/pull/10591) [civetweb] Update to version 1.12 - -- argh `2018-12-18-1` -> `2018-12-18-2` - - [(#10980)](https://github.com/microsoft/vcpkg/pull/10980) [vcpkg] Onboard Linux to VMSS, open 'git' port, and switch back to Azure Spot - -- ceres `1.14.0-6` -> `1.14.0-7` - - [(#10980)](https://github.com/microsoft/vcpkg/pull/10980) [vcpkg] Onboard Linux to VMSS, open 'git' port, and switch back to Azure Spot - - [(#11200)](https://github.com/microsoft/vcpkg/pull/11200) [ceres] Added patch to add find_dependency() for suitesparse targets downstream - -- idevicerestore `1.0.12-3` -> `1.0.12-4` - - [(#10980)](https://github.com/microsoft/vcpkg/pull/10980) [vcpkg] Onboard Linux to VMSS, open 'git' port, and switch back to Azure Spot - - [(#11074)](https://github.com/microsoft/vcpkg/pull/11074) [idevicerestore] Fix libgen.h cannot be found - -- openblas `0.3.7` -> `0.3.9-1` - - [(#10980)](https://github.com/microsoft/vcpkg/pull/10980) [vcpkg] Onboard Linux to VMSS, open 'git' port, and switch back to Azure Spot - -- imgui `1.74` -> `1.76-1` - - [(#10253)](https://github.com/microsoft/vcpkg/pull/10253) [imgui] Add feature bindings and remove feature example - - [(#11388)](https://github.com/microsoft/vcpkg/pull/11388) [imgui] Update to 1.76 - -- libigl `2.1.0-1` -> `2.1.0-2` - - [(#10253)](https://github.com/microsoft/vcpkg/pull/10253) [imgui] Add feature bindings and remove feature example - -- opencv4 `4.1.1-3` -> `4.1.1-6` - - [(#10886)](https://github.com/microsoft/vcpkg/pull/10886) [opencv4] Add GTK support for opencv4 portfile - - [(#7849)](https://github.com/microsoft/vcpkg/pull/7849) [OpenCV2] add new "old" port - - [(#11201)](https://github.com/microsoft/vcpkg/pull/11201) [opencv4] Changed dependency on qt5 to qt5-base, closes microsoft/vcpkg#11138 - - [(#11429)](https://github.com/microsoft/vcpkg/pull/11429) [opencv4] Fix linking halide - -- libbson `1.15.1-1` -> `1.16.1` - - [(#10010)](https://github.com/microsoft/vcpkg/pull/10010) [libbson/mongo-c-driver] Update to 1.16.1 - -- mongo-c-driver `1.15.1-1` -> `1.16.1-1` - - [(#10010)](https://github.com/microsoft/vcpkg/pull/10010) [libbson/mongo-c-driver] Update to 1.16.1 - - [(#11217)](https://github.com/microsoft/vcpkg/pull/11217) [mongo-c-driver] Fix find_package error - -- mongo-cxx-driver `3.4.0-4` -> `3.4.0-5` - - [(#10010)](https://github.com/microsoft/vcpkg/pull/10010) [libbson/mongo-c-driver] Update to 1.16.1 - - [(#11584)](https://github.com/microsoft/vcpkg/pull/11584) [mongo-cxx-driver] Patch std::atomic P0883 changes - -- cpuinfo `2019-07-28` -> `2019-07-28-1` - - [(#8749)](https://github.com/microsoft/vcpkg/pull/8749) [vcpkg] Add new function vcpkg_copy_tools - -- czmq `2019-06-10-3` -> `2019-06-10-4` - - [(#8749)](https://github.com/microsoft/vcpkg/pull/8749) [vcpkg] Add new function vcpkg_copy_tools - -- libsvm `323` -> `323-1` - - [(#8749)](https://github.com/microsoft/vcpkg/pull/8749) [vcpkg] Add new function vcpkg_copy_tools - -- nanomsg `1.1.5-1` -> `1.1.5-2` - - [(#8749)](https://github.com/microsoft/vcpkg/pull/8749) [vcpkg] Add new function vcpkg_copy_tools - -- uriparser `0.9.3-4` -> `0.9.3-5` - - [(#8749)](https://github.com/microsoft/vcpkg/pull/8749) [vcpkg] Add new function vcpkg_copy_tools - -- zyre `2019-07-07` -> `2019-07-07-1` - - [(#8749)](https://github.com/microsoft/vcpkg/pull/8749) [vcpkg] Add new function vcpkg_copy_tools - -- halide `release_2019_08_27-2` -> `master_2020_03_07` - - [(#10295)](https://github.com/microsoft/vcpkg/pull/10295) [llvm] Update to version 10.0.0 and add new features - -- llvm `8.0.0-5` -> `10.0.0-3` - - [(#10295)](https://github.com/microsoft/vcpkg/pull/10295) [llvm] Update to version 10.0.0 and add new features - - [(#11174)](https://github.com/microsoft/vcpkg/pull/11174) [vcpkg] [llvm] Bump Linux VM memory size and do all operations on the temporary disk. - - [(#11268)](https://github.com/microsoft/vcpkg/pull/11268) [llvm] add more backend options, fix issues - - [(#11703)](https://github.com/microsoft/vcpkg/pull/11703) [llvm] fix llvm-tblgen build with MSVC v19.26 - -- sciter `4.4.1.5` -> `4.4.3.20` - - [(#11161)](https://github.com/microsoft/vcpkg/pull/11161) [sciter] Update to 4.4.3.15.7771 - - [(#11393)](https://github.com/microsoft/vcpkg/pull/11393) [sciter] Update to 4.4.3.18.7817 - - [(#11723)](https://github.com/microsoft/vcpkg/pull/11723) [sciter] Update to 4.4.3.20.7852 - -- apr-util `1.6.0-5` -> `1.6.1-1` - - [(#8579)](https://github.com/microsoft/vcpkg/pull/8579) [apr apr-util] Apr and apr-util for non windows systems - - [(#11559)](https://github.com/microsoft/vcpkg/pull/11559) [VCPKG baseline] Fix many ports - -- apr `1.6.5-3` -> `1.7.0` - - [(#8579)](https://github.com/microsoft/vcpkg/pull/8579) [apr apr-util] Apr and apr-util for non windows systems - -- opencv3 `3.4.7-2` -> `3.4.7-3` - - [(#7849)](https://github.com/microsoft/vcpkg/pull/7849) [OpenCV2] add new "old" port - - [(#11201)](https://github.com/microsoft/vcpkg/pull/11201) [opencv4] Changed dependency on qt5 to qt5-base, closes microsoft/vcpkg#11138 - -- gtest `2019-10-09-1` -> `1.10.0` - - [(#10963)](https://github.com/microsoft/vcpkg/pull/10963) [gtest] Rollback to a release version. - -- ignition-cmake0 `0.6.2-1` -> `0.6.2-2` - - [(#10858)](https://github.com/microsoft/vcpkg/pull/10858) [ignition-modular-scripts] Migrate from Bitbucket to GitHub 🤖 - -- ignition-cmake2 `2.1.1` -> `2.2.0-1` - - [(#10858)](https://github.com/microsoft/vcpkg/pull/10858) [ignition-modular-scripts] Migrate from Bitbucket to GitHub 🤖 - - [(#11232)](https://github.com/microsoft/vcpkg/pull/11232) [ignition-math6] Add new port 🤖 - - [(#11270)](https://github.com/microsoft/vcpkg/pull/11270) [eigen3] [ignition-modularscripts] Fix installed pkgconfig files - -- ignition-common1 `1.1.1` -> `1.1.1-1` - - [(#10858)](https://github.com/microsoft/vcpkg/pull/10858) [ignition-modular-scripts] Migrate from Bitbucket to GitHub 🤖 - -- ignition-fuel-tools1 `1.2.0` -> `1.2.0-2` - - [(#10858)](https://github.com/microsoft/vcpkg/pull/10858) [ignition-modular-scripts] Migrate from Bitbucket to GitHub 🤖 - - [(#11270)](https://github.com/microsoft/vcpkg/pull/11270) [eigen3] [ignition-modularscripts] Fix installed pkgconfig files - -- ignition-math4 `4.0.0` -> `4.0.0-1` - - [(#10858)](https://github.com/microsoft/vcpkg/pull/10858) [ignition-modular-scripts] Migrate from Bitbucket to GitHub 🤖 - -- ignition-modularscripts `2020-02-10` -> `2020-05-09` - - [(#10858)](https://github.com/microsoft/vcpkg/pull/10858) [ignition-modular-scripts] Migrate from Bitbucket to GitHub 🤖 - - [(#11270)](https://github.com/microsoft/vcpkg/pull/11270) [eigen3] [ignition-modularscripts] Fix installed pkgconfig files - -- ignition-msgs1 `1.0.0` -> `1.0.0-1` - - [(#10858)](https://github.com/microsoft/vcpkg/pull/10858) [ignition-modular-scripts] Migrate from Bitbucket to GitHub 🤖 - -- ignition-transport4 `4.0.0` -> `4.0.0-2` - - [(#10858)](https://github.com/microsoft/vcpkg/pull/10858) [ignition-modular-scripts] Migrate from Bitbucket to GitHub 🤖 - - [(#11270)](https://github.com/microsoft/vcpkg/pull/11270) [eigen3] [ignition-modularscripts] Fix installed pkgconfig files - -- cuda `10.1` -> `10.1-1` - - [(#10838)](https://github.com/microsoft/vcpkg/pull/10838) [cuda] Fix find cuda in UNIX - -- libiconv `1.16-1` -> `1.16-3` - - [(#9832)](https://github.com/microsoft/vcpkg/pull/9832) libiconv - Fix ICONV_CONST - - [(#11586)](https://github.com/microsoft/vcpkg/pull/11586) [vcpkg-baseline][zxing-cpp] Fix build failure - -- glib `2.52.3-14-5` -> `2.52.3-14-7` - - [(#10856)](https://github.com/microsoft/vcpkg/pull/10856) [glib] Update the usage of string(TOUPPER ...) - - [(#11884)](https://github.com/microsoft/vcpkg/pull/11884) [glib/gts] Add pkgconfig files - -- freerdp `2.0.0-rc4-7` -> `2.0.0-1` - - [(#11051)](https://github.com/microsoft/vcpkg/pull/11051) [freerdp] Update to 2.0.0 - - [(#11639)](https://github.com/microsoft/vcpkg/pull/11639) [freerdp] Optional 'urbdrc' feature - -- wxwidgets `3.1.3` -> `3.1.3-1` - - [(#11178)](https://github.com/microsoft/vcpkg/pull/11178) [wxwidgets] Apply fix to wxWidgets for copy and paste macOS - -- libsquish `1.15-2` -> `1.15-3` - - [(#11124)](https://github.com/microsoft/vcpkg/pull/11124) [libsquish] add missing SQUISH_EXPORT - -- bitserializer-cpprestjson `0.8` -> `alias` - - [(#11157)](https://github.com/microsoft/vcpkg/pull/11157) [BitSerializer] Update to version 0.9 - - [(#11683)](https://github.com/microsoft/vcpkg/pull/11683) [bitserializer] Update to new version 0.10 - -- bitserializer-rapidjson `0.8` -> `alias` - - [(#11157)](https://github.com/microsoft/vcpkg/pull/11157) [BitSerializer] Update to version 0.9 - - [(#11683)](https://github.com/microsoft/vcpkg/pull/11683) [bitserializer] Update to new version 0.10 - -- bitserializer `0.8` -> `0.9` - - [(#11157)](https://github.com/microsoft/vcpkg/pull/11157) [BitSerializer] Update to version 0.9 - - [(#11683)](https://github.com/microsoft/vcpkg/pull/11683) [bitserializer] Update to new version 0.10 - -- gsoap `2.8.93-2` -> `2.8.93-3` - - [(#11048)](https://github.com/microsoft/vcpkg/pull/11048) [gsoap] Add supports for gsoap - - [(#11355)](https://github.com/microsoft/vcpkg/pull/11355) [gSoap] Update to 2.8.102 and re-enable x64 Builds - -- lua `5.3.5-3` -> `5.3.5-5` - - [(#11163)](https://github.com/microsoft/vcpkg/pull/11163) [lua] Compile as position-independent code - - [(#11870)](https://github.com/microsoft/vcpkg/pull/11870) [lua] Add vcpkg-cmake-wrapper - -- gainput `1.0.0-2` -> `1.0.0-3` - - [(#11000)](https://github.com/microsoft/vcpkg/pull/11000) [gainput] imporve cmake search gainput library - -- opencl `2.2-2` -> `2.2-2-1` - - [(#10567)](https://github.com/microsoft/vcpkg/pull/10567) [opencl] Add build type when installing targets - -- azure-iot-sdk-c `2020-02-04.1` -> `2020-02-04.1-1` - - [(#11017)](https://github.com/microsoft/vcpkg/pull/11017) [azure-iot-sdk-c] Fixed the CMake config export. - -- sfml `2.5.1-6` -> `2.5.1-7` - - [(#11246)](https://github.com/microsoft/vcpkg/pull/11246) [sfml] Remove unnecessary patch - -- asmjit `2020-02-08` -> `2020-05-08` - - [(#11245)](https://github.com/microsoft/vcpkg/pull/11245) [asmjit] Update to the latest commit - -- libpq `12.0-1` -> `12.2-2` - - [(#11223)](https://github.com/microsoft/vcpkg/pull/11223) [libpq] link libdl on linux - - [(#10915)](https://github.com/microsoft/vcpkg/pull/10915) [libpq] Update to 12.2 and some feature fixes - - [(#10402)](https://github.com/microsoft/vcpkg/pull/10402) [vcpkg] Improve make builds - - [(#11612)](https://github.com/microsoft/vcpkg/pull/11612) [vcpkg baseline] Fix baseline failures - - [(#11483)](https://github.com/microsoft/vcpkg/pull/11483) [vcpkg] Allow CI to pass in all relevant directories and remove use of symbolic links - -- allegro5 `5.2.5.0` -> `5.2.6.0` - - [(#11187)](https://github.com/microsoft/vcpkg/pull/11187) [Allegro] Update to 5.2.6.0 - -- lz4 `1.9.2-1` -> `1.9.2-2` - - [(#11148)](https://github.com/microsoft/vcpkg/pull/11148) [VTK/vtk-m] Update VTK to 9.0 and add vtk-m - -- pegtl-2 `2.8.1` -> `2.8.1-1` - - [(#11148)](https://github.com/microsoft/vcpkg/pull/11148) [VTK/vtk-m] Update VTK to 9.0 and add vtk-m - -- vtk-dicom `0.8.12` -> `0.8.12-1` - - [(#11148)](https://github.com/microsoft/vcpkg/pull/11148) [VTK/vtk-m] Update VTK to 9.0 and add vtk-m - -- libzen `0.4.37` -> `0.4.38` - - [(#11237)](https://github.com/microsoft/vcpkg/pull/11237) [libzen] Update to 0.4.38 - -- speexdsp `1.2.0-1` -> `1.2.0-2` - - [(#11218)](https://github.com/microsoft/vcpkg/pull/11218) [speexdsp] Change repo to github - -- restclient-cpp `0.5.1-3` -> `0.5.2` - - [(#9717)](https://github.com/microsoft/vcpkg/pull/9717) [restclient-cpp] Fix portfile and update version. - -- libpng `1.6.37-7` -> `1.6.37-9` - - [(#11162)](https://github.com/microsoft/vcpkg/pull/11162) [libpng] Fix missing symbols when compiling for ARM - - [(#11280)](https://github.com/microsoft/vcpkg/pull/11280) [libpng] Fix android build - -- capstone `4.0.1-120373dc` -> `4.0.2` - - [(#11250)](https://github.com/microsoft/vcpkg/pull/11250) [capstone] Update to 4.0.2 - -- nuspell `3.1.0` -> `3.1.1` - - [(#11291)](https://github.com/microsoft/vcpkg/pull/11291) [nuspell] update port to v3.1.1 - -- zydis `3.1.0` -> `3.1.0-1` - - [(#11173)](https://github.com/microsoft/vcpkg/pull/11173) Update zydis portfile.cmake - -- glog `0.4.0-2` -> `0.4.0-3` - - [(#11288)](https://github.com/microsoft/vcpkg/pull/11288) [glog] Disable tests - -- opus `1.3.1-2` -> `1.3.1-3` - - [(#11279)](https://github.com/microsoft/vcpkg/pull/11279) [opus] Update port to 1.3.1-2 - -- eigen3 `3.3.7-4` -> `3.3.7-5` - - [(#11270)](https://github.com/microsoft/vcpkg/pull/11270) [eigen3] [ignition-modularscripts] Fix installed pkgconfig files - -- nlopt `2.6.1-1` -> `2.6.2-1` - - [(#11254)](https://github.com/microsoft/vcpkg/pull/11254) [nlopt] Update to 2.6.2 - - [(#11398)](https://github.com/microsoft/vcpkg/pull/11398) [nlopt] Enable UWP support - -- string-theory `3.1` -> `3.2` - - [(#11310)](https://github.com/microsoft/vcpkg/pull/11310) [string-theory] Update to 3.2 - -- miniz `2.1.0` -> `2.1.0-1` - - [(#11316)](https://github.com/microsoft/vcpkg/pull/11316) [miniz] Fix broken cmake config file - -- z3 `4.8.6` -> `4.8.8` - - [(#11314)](https://github.com/microsoft/vcpkg/pull/11314) [z3] update port to 4.8.8 - -- jsoncons `0.150.0` -> `0.153.0` - - [(#11311)](https://github.com/microsoft/vcpkg/pull/11311) [jsoncons] Update to v0.151.0 - - [(#11505)](https://github.com/microsoft/vcpkg/pull/11505) [jsoncons] Update to v0.152.0 - - [(#11699)](https://github.com/microsoft/vcpkg/pull/11699) [jsoncons] Update to v0.153.0 - -- units `2.3.0` -> `2.3.1` - - [(#11308)](https://github.com/microsoft/vcpkg/pull/11308) [units] Update to 2.3.1 - -- boost-accumulators `1.72.0` -> `1.73.0` - - [(#11221)](https://github.com/microsoft/vcpkg/pull/11221) [boost] update to 1.73.0 - -- boost-algorithm `1.72.0` -> `1.73.0` - - [(#11221)](https://github.com/microsoft/vcpkg/pull/11221) [boost] update to 1.73.0 - -- boost-align `1.72.0` -> `1.73.0` - - [(#11221)](https://github.com/microsoft/vcpkg/pull/11221) [boost] update to 1.73.0 - -- boost-any `1.72.0` -> `1.73.0` - - [(#11221)](https://github.com/microsoft/vcpkg/pull/11221) [boost] update to 1.73.0 - -- boost-array `1.72.0` -> `1.73.0` - - [(#11221)](https://github.com/microsoft/vcpkg/pull/11221) [boost] update to 1.73.0 - -- boost-asio `1.72.0` -> `1.73.0` - - [(#11221)](https://github.com/microsoft/vcpkg/pull/11221) [boost] update to 1.73.0 - -- boost-assert `1.72.0` -> `1.73.0` - - [(#11221)](https://github.com/microsoft/vcpkg/pull/11221) [boost] update to 1.73.0 - -- boost-assign `1.72.0` -> `1.73.0` - - [(#11221)](https://github.com/microsoft/vcpkg/pull/11221) [boost] update to 1.73.0 - -- boost-atomic `1.72.0` -> `1.73.0` - - [(#11221)](https://github.com/microsoft/vcpkg/pull/11221) [boost] update to 1.73.0 - -- boost-beast `1.72.0` -> `1.73.0` - - [(#11221)](https://github.com/microsoft/vcpkg/pull/11221) [boost] update to 1.73.0 - -- boost-bimap `1.72.0` -> `1.73.0` - - [(#11221)](https://github.com/microsoft/vcpkg/pull/11221) [boost] update to 1.73.0 - -- boost-bind `1.72.0` -> `1.73.0` - - [(#11221)](https://github.com/microsoft/vcpkg/pull/11221) [boost] update to 1.73.0 - -- boost-build `1.72.0` -> `1.73.0-1` - - [(#11221)](https://github.com/microsoft/vcpkg/pull/11221) [boost] update to 1.73.0 - - [(#11427)](https://github.com/microsoft/vcpkg/pull/11427) [boost] MinGW build fixes - -- boost-callable-traits `1.72.0` -> `1.73.0` - - [(#11221)](https://github.com/microsoft/vcpkg/pull/11221) [boost] update to 1.73.0 - -- boost-chrono `1.72.0` -> `1.73.0` - - [(#11221)](https://github.com/microsoft/vcpkg/pull/11221) [boost] update to 1.73.0 - -- boost-circular-buffer `1.72.0` -> `1.73.0` - - [(#11221)](https://github.com/microsoft/vcpkg/pull/11221) [boost] update to 1.73.0 - -- boost-compatibility `1.72.0` -> `1.73.0` - - [(#11221)](https://github.com/microsoft/vcpkg/pull/11221) [boost] update to 1.73.0 - -- boost-compute `1.72.0` -> `1.73.0` - - [(#11221)](https://github.com/microsoft/vcpkg/pull/11221) [boost] update to 1.73.0 - -- boost-concept-check `1.72.0` -> `1.73.0` - - [(#11221)](https://github.com/microsoft/vcpkg/pull/11221) [boost] update to 1.73.0 - -- boost-config `1.72.0` -> `1.73.0` - - [(#11221)](https://github.com/microsoft/vcpkg/pull/11221) [boost] update to 1.73.0 - -- boost-container-hash `1.72.0` -> `1.73.0` - - [(#11221)](https://github.com/microsoft/vcpkg/pull/11221) [boost] update to 1.73.0 - -- boost-container `1.72.0` -> `1.73.0` - - [(#11221)](https://github.com/microsoft/vcpkg/pull/11221) [boost] update to 1.73.0 - -- boost-context `1.72.0` -> `1.73.0-1` - - [(#11221)](https://github.com/microsoft/vcpkg/pull/11221) [boost] update to 1.73.0 - - [(#11692)](https://github.com/microsoft/vcpkg/pull/11692) [vcpkg baseline] Remove passing port from Ci baseline - -- boost-contract `1.72.0` -> `1.73.0` - - [(#11221)](https://github.com/microsoft/vcpkg/pull/11221) [boost] update to 1.73.0 - -- boost-conversion `1.72.0` -> `1.73.0` - - [(#11221)](https://github.com/microsoft/vcpkg/pull/11221) [boost] update to 1.73.0 - -- boost-convert `1.72.0` -> `1.73.0` - - [(#11221)](https://github.com/microsoft/vcpkg/pull/11221) [boost] update to 1.73.0 - -- boost-core `1.72.0` -> `1.73.0` - - [(#11221)](https://github.com/microsoft/vcpkg/pull/11221) [boost] update to 1.73.0 - -- boost-coroutine2 `1.72.0` -> `1.73.0` - - [(#11221)](https://github.com/microsoft/vcpkg/pull/11221) [boost] update to 1.73.0 - -- boost-crc `1.72.0` -> `1.73.0` - - [(#11221)](https://github.com/microsoft/vcpkg/pull/11221) [boost] update to 1.73.0 - -- boost-date-time `1.72.0` -> `1.73.0` - - [(#11221)](https://github.com/microsoft/vcpkg/pull/11221) [boost] update to 1.73.0 - -- boost-detail `1.72.0` -> `1.73.0` - - [(#11221)](https://github.com/microsoft/vcpkg/pull/11221) [boost] update to 1.73.0 - -- boost-dll `1.72.0` -> `1.73.0` - - [(#11221)](https://github.com/microsoft/vcpkg/pull/11221) [boost] update to 1.73.0 - -- boost-dynamic-bitset `1.72.0` -> `1.73.0` - - [(#11221)](https://github.com/microsoft/vcpkg/pull/11221) [boost] update to 1.73.0 - -- boost-endian `1.72.0` -> `1.73.0` - - [(#11221)](https://github.com/microsoft/vcpkg/pull/11221) [boost] update to 1.73.0 - -- boost-exception `1.72.0` -> `1.73.0` - - [(#11221)](https://github.com/microsoft/vcpkg/pull/11221) [boost] update to 1.73.0 - -- boost-fiber `1.72.0` -> `1.73.0` - - [(#11221)](https://github.com/microsoft/vcpkg/pull/11221) [boost] update to 1.73.0 - -- boost-filesystem `1.72.0` -> `1.73.0` - - [(#11221)](https://github.com/microsoft/vcpkg/pull/11221) [boost] update to 1.73.0 - -- boost-flyweight `1.72.0` -> `1.73.0` - - [(#11221)](https://github.com/microsoft/vcpkg/pull/11221) [boost] update to 1.73.0 - -- boost-foreach `1.72.0` -> `1.73.0` - - [(#11221)](https://github.com/microsoft/vcpkg/pull/11221) [boost] update to 1.73.0 - -- boost-format `1.72.0` -> `1.73.0` - - [(#11221)](https://github.com/microsoft/vcpkg/pull/11221) [boost] update to 1.73.0 - -- boost-function-types `1.72.0` -> `1.73.0` - - [(#11221)](https://github.com/microsoft/vcpkg/pull/11221) [boost] update to 1.73.0 - -- boost-function `1.72.0` -> `1.73.0` - - [(#11221)](https://github.com/microsoft/vcpkg/pull/11221) [boost] update to 1.73.0 - -- boost-functional `1.72.0` -> `1.73.0` - - [(#11221)](https://github.com/microsoft/vcpkg/pull/11221) [boost] update to 1.73.0 - -- boost-fusion `1.72.0` -> `1.73.0` - - [(#11221)](https://github.com/microsoft/vcpkg/pull/11221) [boost] update to 1.73.0 - -- boost-geometry `1.72.0` -> `1.73.0` - - [(#11221)](https://github.com/microsoft/vcpkg/pull/11221) [boost] update to 1.73.0 - -- boost-gil `1.72.0` -> `1.73.0` - - [(#11221)](https://github.com/microsoft/vcpkg/pull/11221) [boost] update to 1.73.0 - -- boost-graph-parallel `1.72.0` -> `1.73.0` - - [(#11221)](https://github.com/microsoft/vcpkg/pull/11221) [boost] update to 1.73.0 - -- boost-graph `1.72.0` -> `1.73.0` - - [(#11221)](https://github.com/microsoft/vcpkg/pull/11221) [boost] update to 1.73.0 - -- sobjectizer `5.7.0` -> `5.7.0.1` - - [(#11276)](https://github.com/microsoft/vcpkg/pull/11276) [sobjectizer] update to v.5.7.0.1. - -- imgui-sfml `2.1` -> `2.1-1` - - [(#10840)](https://github.com/microsoft/vcpkg/pull/10840) [imgui-sfml] Force imgui-sfml to be a static library - -- gdcm `3.0.4` -> `3.0.5` - - [(#11258)](https://github.com/microsoft/vcpkg/pull/11258) [gdcm] Update to version 3.0.5 - -- opengl `0.0-5` -> `0.0-6` - - [(#11294)](https://github.com/microsoft/vcpkg/pull/11294) [OpenGL] Fix lib files copy when VCPKG_BUILD_TYPE is set - -- libmysql `8.0.4-7` -> `8.0.20` - - [(#11303)](https://github.com/microsoft/vcpkg/pull/11303) [libmysql] Update to 8.0.20 - -- libodb-mysql `2.4.0-6` -> `2.4.0-7` - - [(#11303)](https://github.com/microsoft/vcpkg/pull/11303) [libmysql] Update to 8.0.20 - -- ogre-next `2019-10-20` -> `2019-10-20-1` - - [(#11325)](https://github.com/microsoft/vcpkg/pull/11325) [ogre/ogre-next] Add conflict error message - -- ogre `1.12.1` -> `1.12.1-1` - - [(#11325)](https://github.com/microsoft/vcpkg/pull/11325) [ogre/ogre-next] Add conflict error message - -- paho-mqttpp3 `1.0.1-3` -> `1.1` - - [(#11327)](https://github.com/microsoft/vcpkg/pull/11327) [paho-mqttpp3] update to 1.1 - -- gsl-lite `0.36.0` -> `0.37.0` - - [(#11351)](https://github.com/microsoft/vcpkg/pull/11351) [gsl-lite] update to 0.37.0 - -- restinio `0.6.6` -> `0.6.8` - - [(#11367)](https://github.com/microsoft/vcpkg/pull/11367) [restinio] update to v.0.6.8 - -- tiff `4.0.10-8` -> `4.0.10-9` - - [(#11364)](https://github.com/microsoft/vcpkg/pull/11364) [tiff] Install runtime deps for tiff[tool] - -- sqlite3 `3.31.1` -> `3.32.1` - - [(#11267)](https://github.com/microsoft/vcpkg/pull/11267) [sqlite3] Enable build for android - - [(#11635)](https://github.com/microsoft/vcpkg/pull/11635) [sqlite3] update to 3.32 - - [(#11716)](https://github.com/microsoft/vcpkg/pull/11716) [sqlite] Updated to 3.32.1 to fix a security vulnerability - -- aws-sdk-cpp `1.7.270` -> `1.7.333` - - [(#11332)](https://github.com/microsoft/vcpkg/pull/11332) [aws-sdk-cpp] Update to 1.7.333 - -- libxml2 `2.9.9-5` -> `2.9.9-6` - - [(#11072)](https://github.com/microsoft/vcpkg/pull/11072) [libxml2] Add iconv and charset linkage in vcpkg-cmake-wrapper on osx - -- libgo `2.8-2` -> `3.1-1` - - [(#11263)](https://github.com/microsoft/vcpkg/pull/11263) [libgo] Update to 3.1 - - [(#11435)](https://github.com/microsoft/vcpkg/pull/11435) [libgo] Update CONTROL file for typo - -- ixwebsocket `9.1.9` -> `9.6.2` - - [(#11030)](https://github.com/microsoft/vcpkg/pull/11030) [ixwebsocket] update to 9.6.2 - -- cpuid `0.4.1` -> `0.4.1-1` - - [(#10767)](https://github.com/microsoft/vcpkg/pull/10767) [cmake] Update to 3.17.2 - -- dmlc `2019-08-12-1` -> `2019-08-12-4` - - [(#10767)](https://github.com/microsoft/vcpkg/pull/10767) [cmake] Update to 3.17.2 - - [(#11612)](https://github.com/microsoft/vcpkg/pull/11612) [vcpkg baseline] Fix baseline failures - - [(#11896)](https://github.com/microsoft/vcpkg/pull/11896) [vcpkg baseline] Fix baseline error - -- libnice `0.1.15-2` -> `0.1.15-3` - - [(#10767)](https://github.com/microsoft/vcpkg/pull/10767) [cmake] Update to 3.17.2 - -- magnum `2019.10-1` -> `2019.10-2` - - [(#10767)](https://github.com/microsoft/vcpkg/pull/10767) [cmake] Update to 3.17.2 - -- mlpack `3.2.2-1` -> `3.2.2-3` - - [(#10767)](https://github.com/microsoft/vcpkg/pull/10767) [cmake] Update to 3.17.2 - - [(#11785)](https://github.com/microsoft/vcpkg/pull/11785) [mlpack] Explicitly depend on stb - -- nanodbc `2.12.4-5` -> `2.12.4-8` - - [(#10767)](https://github.com/microsoft/vcpkg/pull/10767) [cmake] Update to 3.17.2 - - [(#11613)](https://github.com/microsoft/vcpkg/pull/11613) [vcpkg-baseline][unixodbc/nanodbc] Fix unixodbc build failure and set it as a dependency on nanodbc - -- osg `3.6.4-2` -> `3.6.4-3` - - [(#10767)](https://github.com/microsoft/vcpkg/pull/10767) [cmake] Update to 3.17.2 - - [(#11715)](https://github.com/microsoft/vcpkg/pull/11715) [osg] Fix conflict when asio and boost-asio are installed. - -- podofo `0.9.6-7` -> `0.9.6-8` - - [(#10767)](https://github.com/microsoft/vcpkg/pull/10767) [cmake] Update to 3.17.2 - -- replxx `0.0.2` -> `0.0.2-2` - - [(#10767)](https://github.com/microsoft/vcpkg/pull/10767) [cmake] Update to 3.17.2 - - [(#11571)](https://github.com/microsoft/vcpkg/pull/11571) [replxx] Add missing header needed to name std::runtime_error for replxx. - -- stormlib `2019-05-10` -> `2019-05-10-1` - - [(#10767)](https://github.com/microsoft/vcpkg/pull/10767) [cmake] Update to 3.17.2 - -- parallelstl `20191218` -> `20200330` - - [(#11379)](https://github.com/microsoft/vcpkg/pull/11379) [parallelstl] update to 20200330 - -- angle `2019-12-31-2` -> `2020-05-15` - - [(#11394)](https://github.com/microsoft/vcpkg/pull/11394) [angle] update for gcc 10 compatibility - -- parallel-hashmap `1.30` -> `1.32` - - [(#11420)](https://github.com/microsoft/vcpkg/pull/11420) [parallel-hashmap] Update parallel-hashmap version - -- utfcpp `3.1` -> `3.1.1` - - [(#11426)](https://github.com/microsoft/vcpkg/pull/11426) [utfcpp] Update to 3.1.1 - -- realsense2 `2.33.1-1` -> `2.34.0` - - [(#11437)](https://github.com/microsoft/vcpkg/pull/11437) [realsense2] Update to 2.34.0 - -- grpc `1.27.3` -> `1.28.1-1` - - [(#11449)](https://github.com/microsoft/vcpkg/pull/11449) [grpc] upgrade to 1.28.1 - - [(#10307)](https://github.com/microsoft/vcpkg/pull/10307) [grpc] Add feature absl-sync - -- skia `2020-02-15-1` -> `2020-05-18-1` - - [(#11416)](https://github.com/microsoft/vcpkg/pull/11416) [harfbuzz,skia] Update and replace Skia dependencies with vcpkg - -- fribidi `1.0.9` -> `1.0.9-1` - - [(#11380)](https://github.com/microsoft/vcpkg/pull/11380) [tool-meson] Update to 0.54.2 - -- libepoxy `1.5.3-3` -> `1.5.4` - - [(#11380)](https://github.com/microsoft/vcpkg/pull/11380) [tool-meson] Update to 0.54.2 - - [(#11448)](https://github.com/microsoft/vcpkg/pull/11448) [libepoxy] Update to 1.5.4 - -- tool-meson `0.53.2` -> `0.54.2` - - [(#11380)](https://github.com/microsoft/vcpkg/pull/11380) [tool-meson] Update to 0.54.2 - -- monkeys-audio `5.24` -> `5.38` - - [(#11444)](https://github.com/microsoft/vcpkg/pull/11444) [monkeys-audio] Update to 5.38 - -- clapack `3.2.1-12` -> `3.2.1-13` - - [(#9957)](https://github.com/microsoft/vcpkg/pull/9957) [clapack] Add uwp support - -- fcl `0.6.0` -> `0.6.0-1` - - [(#11406)](https://github.com/microsoft/vcpkg/pull/11406) [fcl] Explicity handle FCL_USE_X64_SSE CMake option - -- farmhash `1.1` -> `1.1-1` - - [(#10402)](https://github.com/microsoft/vcpkg/pull/10402) [vcpkg] Improve make builds - -- freexl `1.0.4-8` -> `1.0.4-9` - - [(#10402)](https://github.com/microsoft/vcpkg/pull/10402) [vcpkg] Improve make builds - -- healpix `1.12.10` -> `1.12.10-1` - - [(#10402)](https://github.com/microsoft/vcpkg/pull/10402) [vcpkg] Improve make builds - -- libb2 `0.98.1` -> `0.98.1-2` - - [(#10402)](https://github.com/microsoft/vcpkg/pull/10402) [vcpkg] Improve make builds - - [(#11692)](https://github.com/microsoft/vcpkg/pull/11692) [vcpkg baseline] Remove passing port from Ci baseline - -- libcrafter `0.3` -> `0.3-1` - - [(#10402)](https://github.com/microsoft/vcpkg/pull/10402) [vcpkg] Improve make builds - -- libmagic `5.37` -> `5.37-1` - - [(#10402)](https://github.com/microsoft/vcpkg/pull/10402) [vcpkg] Improve make builds - -- libmesh `1.5.0` -> `1.5.0-1` - - [(#10402)](https://github.com/microsoft/vcpkg/pull/10402) [vcpkg] Improve make builds - -- libosip2 `5.1.0-3` -> `5.1.0-4` - - [(#10402)](https://github.com/microsoft/vcpkg/pull/10402) [vcpkg] Improve make builds - -- libudns `0.4-1` -> `0.4-2` - - [(#10402)](https://github.com/microsoft/vcpkg/pull/10402) [vcpkg] Improve make builds - -- libwandio `4.2.1` -> `4.2.1-2` - - [(#10402)](https://github.com/microsoft/vcpkg/pull/10402) [vcpkg] Improve make builds - -- libxslt `1.1.33-6` -> `1.1.33-7` - - [(#10402)](https://github.com/microsoft/vcpkg/pull/10402) [vcpkg] Improve make builds - -- pfring `2019-10-17-1` -> `2019-10-17-2` - - [(#10402)](https://github.com/microsoft/vcpkg/pull/10402) [vcpkg] Improve make builds - -- sdl1 `1.2.15-10` -> `1.2.15-11` - - [(#10402)](https://github.com/microsoft/vcpkg/pull/10402) [vcpkg] Improve make builds - -- tcl `8.6.10-3` -> `core-9-0-a1` - - [(#10402)](https://github.com/microsoft/vcpkg/pull/10402) [vcpkg] Improve make builds - -- x264 `157-303c484ec828ed0-7` -> `157-303c484ec828ed0-8` - - [(#10402)](https://github.com/microsoft/vcpkg/pull/10402) [vcpkg] Improve make builds - -- libflac `1.3.3` -> `1.3.3-1` - - [(#11152)](https://github.com/microsoft/vcpkg/pull/11152) [libflac] Update to 1.3.3-1 - -- libsndfile `1.0.29-8` -> `1.0.29-9` - - [(#11152)](https://github.com/microsoft/vcpkg/pull/11152) [libflac] Update to 1.3.3-1 - -- octomap `2017-03-11-7` -> `2017-03-11-8` - - [(#11408)](https://github.com/microsoft/vcpkg/pull/11408) [octomap] Cleanup - -- freeglut `3.0.0-9` -> `3.2.1-1` - - [(#11423)](https://github.com/microsoft/vcpkg/pull/11423) [freeglut] updated to 3.2.1 - - [(#11527)](https://github.com/microsoft/vcpkg/pull/11527) [freeglut] fix debug macro patch - -- libpqxx `6.4.5-2` -> `6.4.5-3` - - [(#11442)](https://github.com/microsoft/vcpkg/pull/11442) [libpqxx] linux support - -- marl `2019-09-13` -> `2020-05-21` - - [(#11465)](https://github.com/microsoft/vcpkg/pull/11465) [marl] Update to 2020-05-20 - -- python3 `3.7.3-2` -> `3.8.3` - - [(#11489)](https://github.com/microsoft/vcpkg/pull/11489) [python3] Fix dynamic build error on Linux - - [(#11708)](https://github.com/microsoft/vcpkg/pull/11708) [python3] Update to Python 3.8 - -- azure-storage-cpp `7.3.0` -> `7.4.0` - - [(#11510)](https://github.com/microsoft/vcpkg/pull/11510) [azure-storage-cpp] Upgrade to 7.4.0 - -- entt `3.3.2` -> `3.4.0` - - [(#11509)](https://github.com/microsoft/vcpkg/pull/11509) [entt] Update to 3.4.0 (#11507) - -- wil `2019-11-07` -> `2020-05-19` - - [(#11506)](https://github.com/microsoft/vcpkg/pull/11506) [wil] Update to 2020-05-19 - -- signalrclient `1.0.0-beta1-8` -> `1.0.0-beta1-9` - - [(#11496)](https://github.com/microsoft/vcpkg/pull/11496) [Baseline] Fix boost-*:arm-uwp failure and resolve conflicts in CI - -- bond `8.1.0-3` -> `9.0.0` - - [(#11559)](https://github.com/microsoft/vcpkg/pull/11559) [VCPKG baseline] Fix many ports - - [(#11628)](https://github.com/microsoft/vcpkg/pull/11628) [bond] Update to 9.0.0 - - [(#10319)](https://github.com/microsoft/vcpkg/pull/10319) [bond] updated version + added bond-over-grpc integration as feature - -- ccfits `2.5-4` -> `2.5-5` - - [(#11559)](https://github.com/microsoft/vcpkg/pull/11559) [VCPKG baseline] Fix many ports - -- geographiclib `1.47-patch1-10` -> `1.47-patch1-12` - - [(#11559)](https://github.com/microsoft/vcpkg/pull/11559) [VCPKG baseline] Fix many ports - - [(#11896)](https://github.com/microsoft/vcpkg/pull/11896) [vcpkg baseline] Fix baseline error - -- libaiff `5.0-2` -> `5.0-3` - - [(#11559)](https://github.com/microsoft/vcpkg/pull/11559) [VCPKG baseline] Fix many ports - -- ois `1.5` -> `1.5-1` - - [(#11559)](https://github.com/microsoft/vcpkg/pull/11559) [VCPKG baseline] Fix many ports - -- wtl `10.0-4` -> `10.0-5` - - [(#11559)](https://github.com/microsoft/vcpkg/pull/11559) [VCPKG baseline] Fix many ports - -- xmsh `0.5.2` -> `0.5.2-1` - - [(#11559)](https://github.com/microsoft/vcpkg/pull/11559) [VCPKG baseline] Fix many ports - -- xmlsec `1.2.29-2` -> `1.2.30` - - [(#11595)](https://github.com/microsoft/vcpkg/pull/11595) [Xmlsec] Update to 1.2.30 - -- activemq-cpp `3.9.5-1` -> `3.9.5-2` - - [(#11589)](https://github.com/microsoft/vcpkg/pull/11589) [libusbmuxd berkeleydb cppcms activemq-cpp] Add Supports and failure message - -- berkeleydb `4.8.30-3` -> `4.8.30-4` - - [(#11589)](https://github.com/microsoft/vcpkg/pull/11589) [libusbmuxd berkeleydb cppcms activemq-cpp] Add Supports and failure message - -- cppcms `1.2.1` -> `1.2.1-1` - - [(#11589)](https://github.com/microsoft/vcpkg/pull/11589) [libusbmuxd berkeleydb cppcms activemq-cpp] Add Supports and failure message - -- libusbmuxd `1.2.185` -> `1.2.185-1` - - [(#11589)](https://github.com/microsoft/vcpkg/pull/11589) [libusbmuxd berkeleydb cppcms activemq-cpp] Add Supports and failure message - -- seal `3.4.5` -> `3.4.5-1` - - [(#11588)](https://github.com/microsoft/vcpkg/pull/11588) [seal] Disable SEAL_USE_MSGSL and add default feature zlib - -- magic-get `2019-09-02` -> `2019-09-02-1` - - [(#11581)](https://github.com/microsoft/vcpkg/pull/11581) [magic-get] Fix improper direct reference to the "downloads" directory - -- lpeg `1.0.1-4` -> `1.0.2-1` - - [(#11554)](https://github.com/microsoft/vcpkg/pull/11554) [luafilesystem][lpeg] Bump versions - -- luafilesystem `1.7.0.2-1` -> `1.8.0-1` - - [(#11554)](https://github.com/microsoft/vcpkg/pull/11554) [luafilesystem][lpeg] Bump versions - -- scnlib `0.1.2` -> `0.3` - - [(#11540)](https://github.com/microsoft/vcpkg/pull/11540) [scnlib] Update to version 0.3 - -- cppgraphqlgen `3.2.1` -> `3.2.2` - - [(#11531)](https://github.com/microsoft/vcpkg/pull/11531) [pegtl/cppgraphqlgen] matching updates for dependency - -- protobuf-c `1.3.2` -> `1.3.2-2` - - [(#11517)](https://github.com/microsoft/vcpkg/pull/11517) [protobuf-c] Fix tool protoc-gen-c crash - - [(#11609)](https://github.com/microsoft/vcpkg/pull/11609) [protobuf-c] Fix wrong dependency for feature test - -- basisu `1.11-3` -> `1.11-4` - - [(#11494)](https://github.com/microsoft/vcpkg/pull/11494) [basisu, gppanel, msgpack11, nana, rapidcheck, folly] Add missing header file of STL - -- folly `2019.10.21.00-1` -> `2019.10.21.00-2` - - [(#11494)](https://github.com/microsoft/vcpkg/pull/11494) [basisu, gppanel, msgpack11, nana, rapidcheck, folly] Add missing header file of STL - -- gppanel `2018-04-06` -> `2020-05-20` - - [(#11494)](https://github.com/microsoft/vcpkg/pull/11494) [basisu, gppanel, msgpack11, nana, rapidcheck, folly] Add missing header file of STL - -- msgpack11 `0.0.10` -> `0.0.10-1` - - [(#11494)](https://github.com/microsoft/vcpkg/pull/11494) [basisu, gppanel, msgpack11, nana, rapidcheck, folly] Add missing header file of STL - -- rapidcheck `2018-11-05-1` -> `2018-11-05-2` - - [(#11494)](https://github.com/microsoft/vcpkg/pull/11494) [basisu, gppanel, msgpack11, nana, rapidcheck, folly] Add missing header file of STL - -- simdjson `2019-12-27` -> `2020-05-26` - - [(#11495)](https://github.com/microsoft/vcpkg/pull/11495) [simdjson] Fix error LNK2001 when compile with /fsanitize=address in MSVC - - [(#10709)](https://github.com/microsoft/vcpkg/pull/10709) [simdjson] Update to 0.3.1 - -- ponder `3.0.0` -> `3.0.0-1` - - [(#11582)](https://github.com/microsoft/vcpkg/pull/11582) [ponder] patch missing headers for Visual Studio 2019 16.6 - -- telnetpp `2.0-3` -> `2.0-4` - - [(#11573)](https://github.com/microsoft/vcpkg/pull/11573) [telnetpp] Add missing for Visual Studio 2019 16.6 - -- libpopt `1.16-12` -> `1.16-13` - - [(#11607)](https://github.com/microsoft/vcpkg/pull/11607) [libpopt] Remove invalid URL - -- cpputest `2019-9-16` -> `2019-9-16-1` - - [(#11585)](https://github.com/microsoft/vcpkg/pull/11585) [cpputest] Move library to manual-link - -- unixodbc `2.3.7` -> `2.3.7-1` - - [(#11613)](https://github.com/microsoft/vcpkg/pull/11613) [vcpkg-baseline][unixodbc/nanodbc] Fix unixodbc build failure and set it as a dependency on nanodbc - -- nghttp2 `1.39.2-1` -> `1.39.2-2` - - [(#11638)](https://github.com/microsoft/vcpkg/pull/11638) [nghttp2] Fix to build nghttp2 statically - -- gli `dd17acf` -> `dd17acf-1` - - [(#11634)](https://github.com/microsoft/vcpkg/pull/11634) [gli] Add CMake config support - -- mimalloc `1.6.1` -> `1.6.1-1` - - [(#11632)](https://github.com/microsoft/vcpkg/pull/11632) [mimalloc] Install mimalloc-redirect.dll to CMAKE_INSTALL_BINDIR - -- quickfix `1.15.1-3` -> `1.15.1-4` - - [(#11604)](https://github.com/microsoft/vcpkg/pull/11604) [vcpkg-baseline][quickfix] Fix build failure on arm64-windows - -- zxing-cpp `3.3.3-6` -> `3.3.3-7` - - [(#11586)](https://github.com/microsoft/vcpkg/pull/11586) [vcpkg-baseline][zxing-cpp] Fix build failure - -- ppconsul `0.5` -> `0.5-1` - - [(#11692)](https://github.com/microsoft/vcpkg/pull/11692) [vcpkg baseline] Remove passing port from Ci baseline - -- proj4 `6.3.1` -> `6.3.1-1` - - [(#11692)](https://github.com/microsoft/vcpkg/pull/11692) [vcpkg baseline] Remove passing port from Ci baseline - - [(#11086)](https://github.com/microsoft/vcpkg/pull/11086) [PROJ4] Add search path for sqlite.exe - -- jwt-cpp `2019-05-07-1` -> `0.4.0` - - [(#11625)](https://github.com/microsoft/vcpkg/pull/11625) [jwt-cpp] Update to v0.4.0 - -- polyhook2 `2020-02-17` -> `2020-06-02` - - [(#11561)](https://github.com/microsoft/vcpkg/pull/11561) [polyhook2] Update to 2020-05-25 - - [(#11729)](https://github.com/microsoft/vcpkg/pull/11729) [polyhook2] Update polyhook to latest - -- gdk-pixbuf `2.36.9-4` -> `2.36.9-5` - - [(#11721)](https://github.com/microsoft/vcpkg/pull/11721) [gdk-pixbuf] GdkPixbuf fix for building on macOS - -- yaml-cpp `0.6.2-3` -> `0.6.3` - - [(#11718)](https://github.com/microsoft/vcpkg/pull/11718) [yaml-cpp] Update to 0.6.3 and also fix headers cannot be found - -- fmt `6.2.0` -> `6.2.1` - - [(#11706)](https://github.com/microsoft/vcpkg/pull/11706) [fmt] add vcpkg_fixup_pkgconfig - - [(#11789)](https://github.com/microsoft/vcpkg/pull/11789) [fmt] Update to 6.2.1 - -- magic-enum `0.6.4` -> `0.6.6` - - [(#11704)](https://github.com/microsoft/vcpkg/pull/11704) [magic-enum] Update to v0.6.5 - - [(#11814)](https://github.com/microsoft/vcpkg/pull/11814) [magic-enum] Update to v0.6.6 - -- enet `1.3.13-1` -> `1.3.15` - - [(#11702)](https://github.com/microsoft/vcpkg/pull/11702) [enet] Update to 1.3.15 - -- libfabric `1.8.1` -> `1.8.1-1` - - [(#11647)](https://github.com/microsoft/vcpkg/pull/11647) [vcpkg baseline][libfabric] Only support dynamic build - -- google-cloud-cpp-common `0.25.0` -> `alias` - - [(#11698)](https://github.com/microsoft/vcpkg/pull/11698) [google-cloud-cpp] Consolidate all google-cloud* packages - -- google-cloud-cpp-spanner `1.1.0` -> `alias` - - [(#11698)](https://github.com/microsoft/vcpkg/pull/11698) [google-cloud-cpp] Consolidate all google-cloud* packages - -- google-cloud-cpp `0.21.0` -> `1.14.0` - - [(#11698)](https://github.com/microsoft/vcpkg/pull/11698) [google-cloud-cpp] Consolidate all google-cloud* packages - -- amqpcpp `4.1.5` -> `4.1.7` - - [(#11608)](https://github.com/microsoft/vcpkg/pull/11608) [amqpcpp] Update to 4.1.7 - -- shiva-sfml `1.0` -> `1.0-1` - - [(#11483)](https://github.com/microsoft/vcpkg/pull/11483) [vcpkg] Allow CI to pass in all relevant directories and remove use of symbolic links - -- spirv-tools `2020.1` -> `2020.1-1` - - [(#11483)](https://github.com/microsoft/vcpkg/pull/11483) [vcpkg] Allow CI to pass in all relevant directories and remove use of symbolic links - -- cpp-taskflow `2.2.0` -> `2.2.0-1` - - [(#11742)](https://github.com/microsoft/vcpkg/pull/11742) [vcpkg-baseline][manyport] Fix baseline error - -- eabase `2.09.12` -> `2.09.12-1` - - [(#11742)](https://github.com/microsoft/vcpkg/pull/11742) [vcpkg-baseline][manyport] Fix baseline error - -- fastrtps `1.5.0-2` -> `1.5.0-3` - - [(#11742)](https://github.com/microsoft/vcpkg/pull/11742) [vcpkg-baseline][manyport] Fix baseline error - -- librsvg `2.40.20` -> `2.40.20-2` - - [(#11722)](https://github.com/microsoft/vcpkg/pull/11722) [librsvg] Fix for macOS - - [(#11865)](https://github.com/microsoft/vcpkg/pull/11865) [vcpkg baseline] Fix baseline - -- mozjpeg `3.2-3` -> `2020-06-02` - - [(#11719)](https://github.com/microsoft/vcpkg/pull/11719) [mozjpeg] Update to latest commit - -- pcre `8.44` -> `8.44-1` - - [(#11564)](https://github.com/microsoft/vcpkg/pull/11564) [pcre] Add pkgconfig files - -- tensorflow-cc `1.14-1` -> `1.14-2` - - [(#11839)](https://github.com/microsoft/vcpkg/pull/11839) [vcpkg] Fix OSX CI by ensuring the downloads directory exists - -- sqlpp11-connector-mysql `0.29` -> `0.29-1` - - [(#11771)](https://github.com/microsoft/vcpkg/pull/11771) [sqlpp11] update to v0.59 - -- sqlpp11 `0.58-3` -> `0.59` - - [(#11771)](https://github.com/microsoft/vcpkg/pull/11771) [sqlpp11] update to v0.59 - -- unicorn-lib `2019-07-11` -> `2020-03-02` - - [(#11830)](https://github.com/microsoft/vcpkg/pull/11830) [unicorn-lib] Update to 01cc7fc (2020-03-02) - -- sol2 `3.2.0` -> `3.2.1` - - [(#11826)](https://github.com/microsoft/vcpkg/pull/11826) [sol] Update to version 3.2.1 - -- avisynthplus `3.5.0` -> `3.6.0` - - [(#11736)](https://github.com/microsoft/vcpkg/pull/11736) [avisynthplus] Upgrade to 3.6.0 - -- plibsys `0.0.4-2` -> `0.0.4-3` - - [(#11633)](https://github.com/microsoft/vcpkg/pull/11633) [plibsys] Fix failures on linux and osx - -- libxmp-lite `4.4.1-2` -> `4.4.1-3` - - [(#11865)](https://github.com/microsoft/vcpkg/pull/11865) [vcpkg baseline] Fix baseline - -- msix `1.7` -> `1.7-2` - - [(#11865)](https://github.com/microsoft/vcpkg/pull/11865) [vcpkg baseline] Fix baseline - - [(#11896)](https://github.com/microsoft/vcpkg/pull/11896) [vcpkg baseline] Fix baseline error - -- usd `20.02` -> `20.02-1` - - [(#11440)](https://github.com/microsoft/vcpkg/pull/11440) [usd] Fix build error on Linux - -- cryptopp `8.2.0-1` -> `8.2.0-2` - - [(#11711)](https://github.com/microsoft/vcpkg/pull/11711) [licensepp] Add new port - -- libpcap `1.9.1` -> `1.9.1-2` - - [(#9426)](https://github.com/microsoft/vcpkg/pull/9426) [libpcap] Fix pkgconfig libs and include path - - [(#10731)](https://github.com/microsoft/vcpkg/pull/10731) [libpcap] Enable compilation of libpcap port on x86-windows and x64-windows - -- ms-angle `2018-04-18-2` -> `alias` - - [(#11458)](https://github.com/microsoft/vcpkg/pull/11458) [ms-angle] Set ms-angle to empty package - -- libgit2 `1.0.0` -> `1.0.1` - - [(#11844)](https://github.com/microsoft/vcpkg/pull/11844) [libgit2] Update to 1.0.1 - -- uwebsockets `0.17.2` -> `18.1.0` - - [(#11866)](https://github.com/microsoft/vcpkg/pull/11866) [uWbSockets] Update to 18.1.0 - -- nameof `0.9.3` -> `0.9.4` - - [(#11815)](https://github.com/microsoft/vcpkg/pull/11815) [nameof] Update to 0.9.4 - -- cairo `1.16.0-3` -> `1.16.0-4` - - [(#11868)](https://github.com/microsoft/vcpkg/pull/11868) [cairo] Install the xlib header file when selecting feature x11 - -- directxmesh `dec2019-1` -> `jun2020` - - [(#11794)](https://github.com/microsoft/vcpkg/pull/11794) [directxtk][directxtk12][directxtex][directxmesh] Update to latest version - -- directxtex `dec2019` -> `jun2020` - - [(#11794)](https://github.com/microsoft/vcpkg/pull/11794) [directxtk][directxtk12][directxtex][directxmesh] Update to latest version - -- directxtk `2019-12-31` -> `jun2020` - - [(#11794)](https://github.com/microsoft/vcpkg/pull/11794) [directxtk][directxtk12][directxtex][directxmesh] Update to latest version - -- directxtk12 `dec2019` -> `jun2020` - - [(#11794)](https://github.com/microsoft/vcpkg/pull/11794) [directxtk][directxtk12][directxtex][directxmesh] Update to latest version - -- spdlog `1.4.2-1` -> `1.6.1` - - [(#11793)](https://github.com/microsoft/vcpkg/pull/11793) [spdlog] Update to 1.61 - -- msmpi `10.0-2` -> `10.1` - - [(#11365)](https://github.com/microsoft/vcpkg/pull/11365) [vcpkg] [cudnn] [msmpi] [openmpi] Update VMSS - -- openmpi `4.0.1` -> `4.0.3` - - [(#11365)](https://github.com/microsoft/vcpkg/pull/11365) [vcpkg] [cudnn] [msmpi] [openmpi] Update VMSS - -- sdl2 `2.0.12` -> `2.0.12-1` - - [(#11365)](https://github.com/microsoft/vcpkg/pull/11365) [vcpkg] [cudnn] [msmpi] [openmpi] Update VMSS - -- gtk `3.22.19-3` -> `3.22.19-4` - - [(#11892)](https://github.com/microsoft/vcpkg/pull/11892) [gtk] DISABLE_PARALLEL_CONFIGURE - -- xalan-c `1.11-11` -> `1.11-12` - - [(#11869)](https://github.com/microsoft/vcpkg/pull/11869) [xalan-c] Fix import Xalan.exe - -- libuuid `1.0.3-3` -> `1.0.3-4` - - [(#11849)](https://github.com/microsoft/vcpkg/pull/11849) [libuuid] Install uuid.pc file - -- lastools `2019-07-10` -> `2020-05-09` - - [(#11796)](https://github.com/microsoft/vcpkg/pull/11796) [LAStools] Update to 200509 - -- libpmemobj-cpp `1.8` -> `1.10` - - [(#11738)](https://github.com/microsoft/vcpkg/pull/11738) [libpmemobj-cpp] Update to 1.10 - -- librabbitmq `0.10.0` -> `2020-06-03` - - [(#11733)](https://github.com/microsoft/vcpkg/pull/11733) [librabbitmq] Update to use rabbitmq-config.cmake - -- hyperscan `5.2.1` -> `5.2.1-1` - - [(#11708)](https://github.com/microsoft/vcpkg/pull/11708) [python3] Update to Python 3.8 - -- tinyxml2 `7.1.0` -> `8.0.0` - - [(#11616)](https://github.com/microsoft/vcpkg/pull/11616) [tinyxml2] Update to 8.0.0; avoid exporting symbols when building static libraries - -- winpcap `4.1.3-2` -> `4.1.3-3` - - [(#10731)](https://github.com/microsoft/vcpkg/pull/10731) [libpcap] Enable compilation of libpcap port on x86-windows and x64-windows - -- ccd `2.1-3` -> `2.1-4` - - [(#11407)](https://github.com/microsoft/vcpkg/pull/11407) [ccd] Add emscripten support - -- itpp `4.3.1-1` -> `4.3.1-2` - - [(#11896)](https://github.com/microsoft/vcpkg/pull/11896) [vcpkg baseline] Fix baseline error - -- plplot `5.13.0-4` -> `5.13.0-5` - - [(#11896)](https://github.com/microsoft/vcpkg/pull/11896) [vcpkg baseline] Fix baseline error - -- pthreads `3.0.0-4` -> `3.0.0-5` - - [(#11896)](https://github.com/microsoft/vcpkg/pull/11896) [vcpkg baseline] Fix baseline error - -- qwt `6.1.3-10` -> `6.1.3-11` - - [(#11896)](https://github.com/microsoft/vcpkg/pull/11896) [vcpkg baseline] Fix baseline error - -- soundtouch `2.0.0-4` -> `2.0.0-6` - - [(#11896)](https://github.com/microsoft/vcpkg/pull/11896) [vcpkg baseline] Fix baseline error - -- tclap `1.2.2-1` -> `1.2.2-2` - - [(#11896)](https://github.com/microsoft/vcpkg/pull/11896) [vcpkg baseline] Fix baseline error - -- tinyfiledialogs `3.4.3-1` -> `3.4.3-2` - - [(#11896)](https://github.com/microsoft/vcpkg/pull/11896) [vcpkg baseline] Fix baseline error - -- mpir `3.0.0-7` -> `3.0.0-8` - - [(#9205)](https://github.com/microsoft/vcpkg/pull/9205) [mpir] Add mpirxx.lib - -- fftw3 `3.3.8-6` -> `3.3.8-7` - - [(#4361)](https://github.com/microsoft/vcpkg/pull/4361) Adds vcpkg item to project settings in Visual Studio - -
- --- vcpkg team vcpkg@microsoft.com MON, 16 June 1400:00 -0700 - -vcpkg (2020.04.01 - 2020.04.20) ---- -#### Total port count: 1322 - -#### Total port count per triplet (tested): -|triplet|ports available| -|---|---| -|**x64-windows**|1218| -|x86-windows|1202| -|x64-windows-static|1130| -|**x64-linux**|1104| -|**x64-osx**|1041| -|arm64-windows|842| -|x64-uwp|654| -|arm-uwp|625| - -#### The following documentation has been updated: -- [vcpkg_from_git](docs/maintainers/vcpkg_from_git.md) - - [(#9446)](https://github.com/microsoft/vcpkg/pull/9446) vcpkg_from_git: Add support for git over ssh (by @marcrambo) -- [Exporting to Android Archives (AAR files)](docs/specifications/prefab.md) ***[NEW]*** - - [(#10271)](https://github.com/microsoft/vcpkg/pull/10271) Android Support: Exporting to Android Archive (AAR) (by @atkawa7) -- [Triplets](docs/users/triplets.md) - - [(#6275)](https://github.com/microsoft/vcpkg/pull/6275) Add initial iOS support (by @alcroito) - -#### The following *remarkable* changes have been made to vcpkg: -- [(#9446)](https://github.com/microsoft/vcpkg/pull/9446) vcpkg_from_git: Add support for git over ssh (by @marcrambo) -- [(#10271)](https://github.com/microsoft/vcpkg/pull/10271) Android Support: Exporting to Android Archive (AAR) (by @atkawa7) -- [(#10395)](https://github.com/microsoft/vcpkg/pull/10395) [vcpkg] Make configure meson sane and work for all targets. (by @Neumann-A) -- [(#10398)](https://github.com/microsoft/vcpkg/pull/10398) [vcpkg] New policy: SKIP_ARCHITECTURE_CHECK. (by @Neumann-A) -- [(#6275)](https://github.com/microsoft/vcpkg/pull/6275) Add initial iOS support (by @alcroito) -- [(#10817)](https://github.com/microsoft/vcpkg/pull/10817) [vcpkg] Add x-set-installed command (by @strega-nil) -- [(#10521)](https://github.com/microsoft/vcpkg/pull/10521) [vcpkg] Add initial JSON support (by @strega-nil) - -#### The following *additional* changes have been made to vcpkg: -- [(#10637)](https://github.com/microsoft/vcpkg/pull/10637) [vcpkg baseline] Ignore osg-qt (by @PhoebeHui) -- [(#10660)](https://github.com/microsoft/vcpkg/pull/10660) [vcpkg] Fix spec instance name (by @PhoebeHui) -- [(#10703)](https://github.com/microsoft/vcpkg/pull/10703) [vcpkg baseline] Remove replxx:x86-windows=fail (by @strega-nil) -- [(#10655)](https://github.com/microsoft/vcpkg/pull/10655) [vcpkg] Fix nuget/aria2/ninja version/filename inconsistent (by @LilyWangL) -- [(#10583)](https://github.com/microsoft/vcpkg/pull/10583) [vcpkg] Correct UInt128 code 😇 (by @strega-nil) -- [(#10543)](https://github.com/microsoft/vcpkg/pull/10543) [vcpkg-test] Fix the check for ability to make symlinks (by @strega-nil) -- [(#10621)](https://github.com/microsoft/vcpkg/pull/10621) [vcpkg] fix vcpkg_find_acquire_program for scripts (by @Neumann-A) -- [(#10834)](https://github.com/microsoft/vcpkg/pull/10834) [vcpkg] Clean up CMake build system (by @strega-nil) -- [(#10846)](https://github.com/microsoft/vcpkg/pull/10846) [vcpkg] Fix bootstrap from out of directory (by @strega-nil) -- [(#10796)](https://github.com/microsoft/vcpkg/pull/10796) [Ninja] Update to 1.10 (by @Voskrese) -- [(#10867)](https://github.com/microsoft/vcpkg/pull/10867) [vcpkg] Fix build scripts on openSUSE and g++9 (by @strega-nil) - -
-The following 5 ports have been added: - -|port|version| -|---|---| -|[skyr-url](https://github.com/microsoft/vcpkg/pull/10463)[#10694](https://github.com/microsoft/vcpkg/pull/10694) | 1.5.1 -|[boringssl](https://github.com/microsoft/vcpkg/pull/8455)| 2020-04-07 -|[quadtree](https://github.com/microsoft/vcpkg/pull/10787)| 2020-04-13 -|[avisynthplus](https://github.com/microsoft/vcpkg/pull/10496)| 3.5.0 -|[c4core](https://github.com/microsoft/vcpkg/pull/10791)| 2020-04-12 -
- -
-The following 69 ports have been updated: - -- cub `1.8.0` -> `1.8.0-1` - - [(#10660)](https://github.com/microsoft/vcpkg/pull/10660) [vcpkg] Fix spec instance name - -- vulkan-hpp `2019-05-11` -> `2019-05-11-1` - - [(#10660)](https://github.com/microsoft/vcpkg/pull/10660) [vcpkg] Fix spec instance name - -- function2 `4.0.0` -> `4.1.0` - - [(#10666)](https://github.com/microsoft/vcpkg/pull/10666) [function2] Update to version 4.1.0 - -- libwebsockets `3.2.2-1` -> `4.0.1-1` - - [(#10658)](https://github.com/microsoft/vcpkg/pull/10658) [libwebsockets] Update to 4.0.1 - - [(#10636)](https://github.com/microsoft/vcpkg/pull/10636) [mosquitto] Add support for static build - -- googleapis `0.6.0` -> `0.8.0` - - [(#10651)](https://github.com/microsoft/vcpkg/pull/10651) [googleapis] upgrade to v0.7.0 release - - [(#10885)](https://github.com/microsoft/vcpkg/pull/10885) [googleapis] Update to v0.8.0 - -- ixwebsocket `8.0.5` -> `9.1.9` - - [(#10633)](https://github.com/microsoft/vcpkg/pull/10633) [ixwebsocket] Update to 9.1.9 - -- opus `1.3.1` -> `1.3.1-2` - - [(#10634)](https://github.com/microsoft/vcpkg/pull/10634) [opus] Make AVX an optional feature - -- freerdp `2.0.0-rc4-6` -> `2.0.0-rc4-7` - - [(#10630)](https://github.com/microsoft/vcpkg/pull/10630) [freerdp] Fix include paths and output - -- openvr `1.9.16` -> `1.10.30` - - [(#10629)](https://github.com/microsoft/vcpkg/pull/10629) [openvr] Added Linux support and updated to v1.10.30 - -- abseil `2020-03-03-1` -> `2020-03-03-3` - - [(#10620)](https://github.com/microsoft/vcpkg/pull/10620) [abseil] Fix feature name error - - [(#10721)](https://github.com/microsoft/vcpkg/pull/10721) [abseil] Fix CompressedTuple move constructor on MSVC - -- reproc `11.0.1` -> `12.0.0` - - [(#10594)](https://github.com/microsoft/vcpkg/pull/10594) [reproc] Update to version 12.0.0 - -- hunspell `1.7.0` -> `1.7.0-1` - - [(#10574)](https://github.com/microsoft/vcpkg/pull/10574) [hunspell] Disable build tools in non-Windows - -- sciter `4.4.0.7` -> `4.4.1.5` - - [(#10071)](https://github.com/microsoft/vcpkg/pull/10071) [sciter] Update to 4.4.1.5 - -- qt5-base `5.12.5-11` -> `5.12.5-13` - - [(#10641)](https://github.com/microsoft/vcpkg/pull/10641) [qt5-base] Fix EGL absolute path on Linux - - [(#10746)](https://github.com/microsoft/vcpkg/pull/10746) [qt5] fix some remaining absolute paths. - - [(#9705)](https://github.com/microsoft/vcpkg/pull/9705) [qt5-base, qt5-imageformat] fix issues on osx - -- nana `1.7.2` -> `1.7.2-1` - - [(#10605)](https://github.com/microsoft/vcpkg/pull/10605) [nana] Add Xorg dependency libxcursor-dev and modify deprecated functions - -- blend2d `beta_2019-12-27` -> `beta_2020-04-15` - - [(#10600)](https://github.com/microsoft/vcpkg/pull/10600) [blend2d] Update to beta_2020-03-29 - - [(#10844)](https://github.com/microsoft/vcpkg/pull/10844) [blend2d] Update to beta_2020-04-15 - -- libffi `3.3` -> `3.3-2` - - [(#10485)](https://github.com/microsoft/vcpkg/pull/10485) [libffi] Support arm/arm64 - - [(#10469)](https://github.com/microsoft/vcpkg/pull/10469) [libffi] Check return value of execute_process() - -- fribidi `2019-02-04-2` -> `2019-02-04-3` - - [(#10395)](https://github.com/microsoft/vcpkg/pull/10395) [vcpkg] Make configure meson sane and work for all targets. - - [(#10713)](https://github.com/microsoft/vcpkg/pull/10713) [fribidi] Updated to v1.0.9 - -- libepoxy `1.5.3-2` -> `1.5.3-3` - - [(#10395)](https://github.com/microsoft/vcpkg/pull/10395) [vcpkg] Make configure meson sane and work for all targets. - -- egl-registry `2019-08-08` -> `2020-02-03` - - [(#9965)](https://github.com/microsoft/vcpkg/pull/9965) [angle] Improve port - -- glad `0.1.33` -> `0.1.33-1` - - [(#9965)](https://github.com/microsoft/vcpkg/pull/9965) [angle] Improve port - -- opengl-registry `2019-08-22` -> `2020-02-03` - - [(#9965)](https://github.com/microsoft/vcpkg/pull/9965) [angle] Improve port - -- mpfr `4.0.2-1` -> `4.0.2-2` - - [(#10035)](https://github.com/microsoft/vcpkg/pull/10035) [mpfr] Add mirror for mpfr at gnu.org - -- google-cloud-cpp-common `0.21.0` -> `0.25.0` - - [(#10680)](https://github.com/microsoft/vcpkg/pull/10680) [google-cloud-cpp*] update to the latest release - -- google-cloud-cpp-spanner `0.9.0` -> `1.1.0` - - [(#10680)](https://github.com/microsoft/vcpkg/pull/10680) [google-cloud-cpp*] update to the latest release - -- google-cloud-cpp `0.20.0` -> `0.21.0` - - [(#10680)](https://github.com/microsoft/vcpkg/pull/10680) [google-cloud-cpp*] update to the latest release - -- jsoncons `0.149.0` -> `0.150.0` - - [(#10688)](https://github.com/microsoft/vcpkg/pull/10688) [jsoncons] update to v0.150.0 - -- osg-qt `Qt4` -> `Qt4-1` - - [(#9705)](https://github.com/microsoft/vcpkg/pull/9705) [qt5-base, qt5-imageformat] fix issues on osx - -- qt5-imageformats `5.12.5-2` -> `5.12.5-3` - - [(#9705)](https://github.com/microsoft/vcpkg/pull/9705) [qt5-base, qt5-imageformat] fix issues on osx - -- libpng `1.6.37-6` -> `1.6.37-7` - - [(#6275)](https://github.com/microsoft/vcpkg/pull/6275) Add initial iOS support - -- pcre2 `10.30-6` -> `10.30-7` - - [(#6275)](https://github.com/microsoft/vcpkg/pull/6275) Add initial iOS support - -- curlpp `2018-06-15-2` -> `2018-06-15-3` - - [(#10535)](https://github.com/microsoft/vcpkg/pull/10535) [curlpp] Fix target "curlpp" link "ZLIB::ZLIB" error - -- avro-c `1.9.2` -> `1.9.2-1` - - [(#10514)](https://github.com/microsoft/vcpkg/pull/10514) [avro-c] Fix building avro-c in Linux - -- nlohmann-fifo-map `2018.05.07` -> `2018.05.07-1` - - [(#10850)](https://github.com/microsoft/vcpkg/pull/10850) [nlohmann-fifo-map] Fix could not find a package "nlohmann-fifo-map" - -- cppitertools `2019-04-14-3` -> `2.0` - - [(#10848)](https://github.com/microsoft/vcpkg/pull/10848) [cppitertools] Update to version 2.0 - -- python3 `3.7.3-1` -> `3.7.3-2` - - [(#10841)](https://github.com/microsoft/vcpkg/pull/10841) [python3] fix build on macOS and linux - -- restinio `0.6.5` -> `0.6.6` - - [(#10813)](https://github.com/microsoft/vcpkg/pull/10813) [restinio] Updated to v.0.6.6 - -- libgit2 `0.99.0-1` -> `1.0.0` - - [(#10807)](https://github.com/microsoft/vcpkg/pull/10807) [libgit2] Upgrade to 1.0.0 - -- zstd `1.4.4` -> `1.4.4-1` - - [(#10815)](https://github.com/microsoft/vcpkg/pull/10815) [zstd] export zstd-config.cmake - -- blosc `1.17.1` -> `1.18.1-1` - - [(#10816)](https://github.com/microsoft/vcpkg/pull/10816) [blosc] Update to 1.18.1 - -- freetype `2.10.1-5` -> `2.10.1-6` - - [(#10835)](https://github.com/microsoft/vcpkg/pull/10835) [Freetype] Actually prevent linking HarfBuzz on POSIX - -- gsl `2.4-5` -> `2.6` - - [(#10758)](https://github.com/microsoft/vcpkg/pull/10758) [gsl] update to 2.6 - -- physfs `3.0.2-1` -> `3.0.2-2` - - [(#10781)](https://github.com/microsoft/vcpkg/pull/10781) [physfs] mirror url - -- openssl-windows `1.1.1d-1` -> `1.1.1d-2` - - [(#10743)](https://github.com/microsoft/vcpkg/pull/10743) [openssl-windows] Avoid to install docs for openssl-windows - -- coolprop `6.1.0-4` -> `6.1.0-5` - - [(#10755)](https://github.com/microsoft/vcpkg/pull/10755) [fmt] update to 6.2.0 - -- fmt `6.1.2` -> `6.2.0` - - [(#10755)](https://github.com/microsoft/vcpkg/pull/10755) [fmt] update to 6.2.0 - -- directxmesh `dec2019` -> `dec2019-1` - - [(#10739)](https://github.com/microsoft/vcpkg/pull/10739) [DirectXMesh] Add support build for DirectX12 - -- libvorbis `1.3.6-9eadecc-3` -> `1.3.6-4d963fe` - - [(#10756)](https://github.com/microsoft/vcpkg/pull/10756) [libvorbis] Update to latest commit - -- nuspell `3.0.0` -> `3.1.0` - - [(#10737)](https://github.com/microsoft/vcpkg/pull/10737) [nuspell] update port to v3.1.0 - -- raylib `2.6.0` -> `3.0.0` - - [(#10722)](https://github.com/microsoft/vcpkg/pull/10722) [raylib] Update to 3.0.0 - -- entt `3.3.0` -> `3.3.2` - - [(#10672)](https://github.com/microsoft/vcpkg/pull/10672) [entt] Update to version 3.3.2 - -- indicators `1.5` -> `1.7` - - [(#10685)](https://github.com/microsoft/vcpkg/pull/10685) [indicators] Updated indicators to 1.7 - -- realsense2 `2.33.1` -> `2.33.1-1` - - [(#10673)](https://github.com/microsoft/vcpkg/pull/10673) [realsense2] Add tm2 feature for support T265 devices - -- flatbuffers `1.11.0-1` -> `1.12.0` - - [(#10664)](https://github.com/microsoft/vcpkg/pull/10664) [flatbuffers] Update to 1.12.0 - -- curl `7.68.0-2` -> `7.68.0-3` - - [(#10659)](https://github.com/microsoft/vcpkg/pull/10659) [curl] Fix cmake configure error - -- ismrmrd `1.4.1` -> `1.4.2` - - [(#10618)](https://github.com/microsoft/vcpkg/pull/10618) [ismrmrd] updated to version 1.4.2 - -- mosquitto `1.6.8` -> `1.6.8-1` - - [(#10636)](https://github.com/microsoft/vcpkg/pull/10636) [mosquitto] Add support for static build - -- lz4 `1.9.2` -> `1.9.2-1` - - [(#10452)](https://github.com/microsoft/vcpkg/pull/10452) [lz4] Fix for building Linux shared libraries - -- sdl2 `2.0.10-3` -> `2.0.12` - - [(#10500)](https://github.com/microsoft/vcpkg/pull/10500) [sdl2] Update to 2.0.12 version - -- osg `3.6.4-1` -> `3.6.4-2` - - [(#10082)](https://github.com/microsoft/vcpkg/pull/10082) [osg] Add feature examples and plugins, fix configure options - -- osgearth `2.10.2` -> `2.10.2-1` - - [(#10082)](https://github.com/microsoft/vcpkg/pull/10082) [osg] Add feature examples and plugins, fix configure options - -- ms-gsl `2.1.0` -> `3.0.0` - - [(#10872)](https://github.com/microsoft/vcpkg/pull/10872) [ms-gsl] Update version to v3.0.0 - - [(#10831)](https://github.com/microsoft/vcpkg/pull/10831) [ms-gsl] Update to v3.0.0 - -- cppgraphqlgen `3.2.0` -> `3.2.1` - - [(#10869)](https://github.com/microsoft/vcpkg/pull/10869) [cppgraphqlgen] Update to v3.2.1 - -- cgal `5.0.2` -> `5.0.2-1` - - [(#10879)](https://github.com/microsoft/vcpkg/pull/10879) [cgal] Add dependency boost-interval - -- arrow `0.16.0` -> `0.17.0` - - [(#10883)](https://github.com/microsoft/vcpkg/pull/10883) [Arrow] Update to 0.17 - -- xerces-c `3.2.2-13` -> `3.2.3` - - [(#10779)](https://github.com/microsoft/vcpkg/pull/10779) [xerces-c] Update to version 3.2.3 - -- libarchive `3.4.1` -> `3.4.1-1` - - [(#10769)](https://github.com/microsoft/vcpkg/pull/10769) [libarchive, libuv]Fix static linkage - -- libuv `1.34.2` -> `1.34.2-1` - - [(#10769)](https://github.com/microsoft/vcpkg/pull/10769) [libarchive, libuv]Fix static linkage - -- qscintilla `2.10-11` -> `2.11.4-1` - - [(#10511)](https://github.com/microsoft/vcpkg/pull/10511) [qscintilla] Update to 2.11.4 - -
- --- vcpkg team vcpkg@microsoft.com MON, 20 April 15:00:00 -0700 - - -vcpkg (2020.01.31) ---- -#### Total port count: 1295 -#### Total port count per triplet (tested): -|triplet|ports available| -|---|---| -|**x64-windows**|1195| -|x86-windows|1183| -|x64-windows-static|1104| -|**x64-linux**|1054| -|**x64-osx**|970| -|arm64-windows|814| -|x64-uwp|644| -|arm-uwp|615| - -#### The following documentation has been updated: -- [Triplets](docs/users/triplets.md) - - [(#7976)](https://github.com/microsoft/vcpkg/pull/7976) Community Triplets 🤝 (by @vicroms) - -#### The following *remarkable* changes have been made to vcpkg's infrastructure: -- Allow untested triplet configurations as "Community Triplets" - - [(#7976)](https://github.com/microsoft/vcpkg/pull/7976) Community Triplets 🤝 (by @vicroms) -- Add community support for MinGW - - [(#9137)](https://github.com/microsoft/vcpkg/pull/9137) Add community support for building with MinGW (by @cristianadam) - - [(#9807)](https://github.com/microsoft/vcpkg/pull/9807) MinGW: Fix vcpkg common definitions (by @cristianadam) -- Allow ARM/ARM64 toolchains to be selected when building x86 targets, also allow ARM64 to target ARM - - [(#9578)](https://github.com/microsoft/vcpkg/pull/9578) [vcpkg] Mark ARM and x86 on ARM64 and x86 on ARM as supported architectures when searching for toolchains on Windows (by @cbezault) - -#### The following *additional* changes have been made to vcpkg's infrastructure: -- [(#9435)](https://github.com/microsoft/vcpkg/pull/9435) Update CI baseline (by @NancyLi1013) -- [(#9494)](https://github.com/microsoft/vcpkg/pull/9494) [charls] Upgrade to 2.1.0 (by @vbaderks) -- [(#9379)](https://github.com/microsoft/vcpkg/pull/9379) [uvatlas] Upgrade to dec2019 (by @AlvinZhangH) -- [(#9529)](https://github.com/microsoft/vcpkg/pull/9529) [box2d] Update to 2019-12-31 (by @PhoebeHui) -- [(#9513)](https://github.com/microsoft/vcpkg/pull/9513) [wpilib] Update to 2020.1.1 (by @ThadHouse) -- [(#9499)](https://github.com/microsoft/vcpkg/pull/9499) [akali] Add new port (by @winsoft666) -- [(#9301)](https://github.com/microsoft/vcpkg/pull/9301) [sdl1] Add build support for ARM64 Windows 10 (by @shibayan) -- [(#9260)](https://github.com/microsoft/vcpkg/pull/9260) [qt5-base] Fix Qt5 linux build and be a bit less flaky in CI (by @Neumann-A) -- [(#9308)](https://github.com/microsoft/vcpkg/pull/9308) [pdal] Fix static build (by @JackBoosY) -- [(#8701)](https://github.com/microsoft/vcpkg/pull/8701) [nethost] Adding a port for nethost (by @tannergooding) -- [(#8650)](https://github.com/microsoft/vcpkg/pull/8650) [libmagic] Add new port (by @NancyLi1013) -- [(#8386)](https://github.com/microsoft/vcpkg/pull/8386) [tfhe] Add new port (by @NancyLi1013) -- [(#8518)](https://github.com/microsoft/vcpkg/pull/8518) [libb2] Add new port (by @NancyLi1013) -- [(#9605)](https://github.com/microsoft/vcpkg/pull/9605) Add December changelog (by @grdowns) -- [(#9566)](https://github.com/microsoft/vcpkg/pull/9566) [vcpkg] Fix a typo (by @MaherJendoubi) -- [(#9207)](https://github.com/microsoft/vcpkg/pull/9207) [sdl1]Change build method to vcpkg_*_make (by @JackBoosY) -- [(#6393)](https://github.com/microsoft/vcpkg/pull/6393) Map MinSizeRel and RelWithDebInfo correctly (by @Neumann-A) -- [(#9458)](https://github.com/microsoft/vcpkg/pull/9458) [azure-kinect-sensor-sdk] Remove feature test and fix static build in Windows (by @JackBoosY) -- [(#8936)](https://github.com/microsoft/vcpkg/pull/8936) [libplist] Update to 1.2.137 (by @PhoebeHui) -- [(#8888)](https://github.com/microsoft/vcpkg/pull/8888) [caf] Update to 0.17.2 (by @JackBoosY) -- [(#8683)](https://github.com/microsoft/vcpkg/pull/8683) [libwandio] Add new port (by @NancyLi1013) -- [(#8678)](https://github.com/microsoft/vcpkg/pull/8678) [libevhtp] Add new port (by @NancyLi1013) -- [(#9600)](https://github.com/microsoft/vcpkg/pull/9600) Update baseline to fix osx failure (by @JackBoosY) -- [(#9669)](https://github.com/microsoft/vcpkg/pull/9669) [vcpkg] Update baseline for OSX (by @ras0219-msft) -- [(#9649)](https://github.com/microsoft/vcpkg/pull/9649) [tfhe] Fix Mac support (by @SeekingMeaning) -- [(#8566)](https://github.com/microsoft/vcpkg/pull/8566) [libpq, openssl, librtmp] libpq 12 and others with openssl 1.1.1d (by @Neumann-A) -- [(#9642)](https://github.com/microsoft/vcpkg/pull/9642) Introduce new policy to skip post verification of dll exports (by @martin-s) -- [(#9602)](https://github.com/microsoft/vcpkg/pull/9602) [vcpkg] Fix build type in vcpkg_build_make.cmake [x264] Modernize (by @NancyLi1013) -- [(#9536)](https://github.com/microsoft/vcpkg/pull/9536) Minor edit to help message for cli depend-info option. Fix for #9534. (by @dbird137) -- [(#9617)](https://github.com/microsoft/vcpkg/pull/9617) [akali] Update to v1.41 (by @winsoft666) -- [(#9572)](https://github.com/microsoft/vcpkg/pull/9572) [soem] Add new port (by @seanyen) -- [(#9574)](https://github.com/microsoft/vcpkg/pull/9574) [doxygen] Updated to 1.8.17 (by @tagsemb) -- [(#9372)](https://github.com/microsoft/vcpkg/pull/9372) [VCPKG] WinHTTPOption for company Proxy not correctly taken into account (by @xabbudm) -- [(#9720)](https://github.com/microsoft/vcpkg/pull/9720) [toolsrc] Added missing @ to FATAL_ERROR message (by @theriverman) -- [(#9555)](https://github.com/microsoft/vcpkg/pull/9555) [embree3] added cleanup command to embree3 port for static build (by @xelatihy) -- [(#9684)](https://github.com/microsoft/vcpkg/pull/9684) [teemo] new port. (by @winsoft666) -- [(#9591)](https://github.com/microsoft/vcpkg/pull/9591) [scintilla] Update to 4.2.3 (by @SeekingMeaning) -- [(#9767)](https://github.com/microsoft/vcpkg/pull/9767) [open62541] Update to v1.0 (by @yurybura) -- [(#9760)](https://github.com/microsoft/vcpkg/pull/9760) [monkeys-audio] Update to 5.14, add feature tools (by @JackBoosY) -- [(#9770)](https://github.com/microsoft/vcpkg/pull/9770) [asmjit] update to current version (by @jsmolka) -- [(#9708)](https://github.com/microsoft/vcpkg/pull/9708) [doxygen] Add alternative download URL (by @c72578) -- [(#9690)](https://github.com/microsoft/vcpkg/pull/9690) [string_theory] Update to 3.0 (by @zrax) -- [(#9680)](https://github.com/microsoft/vcpkg/pull/9680) [jasper] freeglut is not a dependency in macOS (by @david-antiteum) -- [(#9633)](https://github.com/microsoft/vcpkg/pull/9633) [cryptopp] Fixed build error on ARM32/ARM64 Windows (by @shibayan) -- [(#9281)](https://github.com/microsoft/vcpkg/pull/9281) [pbc] Correct non Windows build (by @decent-dcore) -- [(#9816)](https://github.com/microsoft/vcpkg/pull/9816) Make VS 2019 default to x64 triplet if CMAKE_GENERATOR_PLATFORM is not defined (by @Neumann-A) -- [(#9541)](https://github.com/microsoft/vcpkg/pull/9541) [memorymodule] Add new port (by @myd7349) -- [(#9521)](https://github.com/microsoft/vcpkg/pull/9521) [ftgl] Fix build failure #9520 (by @sma-github) -- [(#9456)](https://github.com/microsoft/vcpkg/pull/9456) [asiosdk] Add new port (by @batlogic) -- [(#9314)](https://github.com/microsoft/vcpkg/pull/9314) [sdl2-gfx] Fixed build error ARM64 Windows 10 (by @shibayan) -- [(#9265)](https://github.com/microsoft/vcpkg/pull/9265) Update the repo for jom 1.1.3 (by @zigguratvertigo) -- [(#8774)](https://github.com/microsoft/vcpkg/pull/8774) [vcpkg_find_acquire_program] Include version in downloaded python MSI… (by @ras0219-msft) -- [(#9698)](https://github.com/microsoft/vcpkg/pull/9698) [seal] Add new port (by @musaprg) -- [(#8832)](https://github.com/microsoft/vcpkg/pull/8832) [aws-*]Update version (by @JackBoosY) - -
-The following 22 ports have been added: - -|port|version| -|---|---| -|[argumentum](https://github.com/microsoft/vcpkg/pull/9478)| 0.2.2 -|[tabulate](https://github.com/microsoft/vcpkg/pull/9543)| 2019-01-06 -|[akali](https://github.com/microsoft/vcpkg/pull/9499)[#9617](https://github.com/microsoft/vcpkg/pull/9617) | 1.41 -|[nethost](https://github.com/microsoft/vcpkg/pull/8701)| 2019-12-21 -|[libmagic](https://github.com/microsoft/vcpkg/pull/8650)| 5.37 -|[yas](https://github.com/microsoft/vcpkg/pull/8891)| 7.0.4 -|[tfhe](https://github.com/microsoft/vcpkg/pull/8386)[#9649](https://github.com/microsoft/vcpkg/pull/9649) | 1.0.1-1 -|[libb2](https://github.com/microsoft/vcpkg/pull/8518)| 0.98.1 -|[libaaplus](https://github.com/microsoft/vcpkg/pull/9194)[#9579](https://github.com/microsoft/vcpkg/pull/9579) [#9664](https://github.com/microsoft/vcpkg/pull/9664) | 2.12 -|[libwandio](https://github.com/microsoft/vcpkg/pull/8683)| 4.2.1 -|[libevhtp](https://github.com/microsoft/vcpkg/pull/8678)| 1.2.18 -|[soem](https://github.com/microsoft/vcpkg/pull/9572)| 1.4.0 -|[glui](https://github.com/microsoft/vcpkg/pull/9155)| 2019-11-30 -|[teemo](https://github.com/microsoft/vcpkg/pull/9684)| 1.2 -|[mqtt-cpp](https://github.com/microsoft/vcpkg/pull/9787)| 7.0.1 -|[msgpack11](https://github.com/microsoft/vcpkg/pull/9524)| 0.0.10 -|[mcpp](https://github.com/microsoft/vcpkg/pull/9598)| 2.7.2.14 -|[memorymodule](https://github.com/microsoft/vcpkg/pull/9541)| 2019-12-31 -|[asiosdk](https://github.com/microsoft/vcpkg/pull/9456)| 2.3.3 -|[sfsexp](https://github.com/microsoft/vcpkg/pull/9420)| 1.3 -|[quaternions](https://github.com/microsoft/vcpkg/pull/9837)| 1.0.0 -|[seal](https://github.com/microsoft/vcpkg/pull/9698)| 3.4.5 -
- -
-The following 226 ports have been updated: - -- simpleini `2018-08-31-3` -> `2018-08-31-4` - - [(#9429)](https://github.com/microsoft/vcpkg/pull/9429) [simpleini] Install missing code - -- directxtk `dec2019` -> `2019-12-31` - - [(#9508)](https://github.com/microsoft/vcpkg/pull/9508) [directxtk] Fix invalid solution configuration - -- nameof `0.9.2` -> `0.9.3` - - [(#9503)](https://github.com/microsoft/vcpkg/pull/9503) [nameof] Update to 0.9.3 - -- charls `2.0.0-3` -> `2.1.0-1` - - [(#9494)](https://github.com/microsoft/vcpkg/pull/9494) [charls] upgrade to 2.1.0 - -- ptex `2.3.2` -> `2.3.2-1` - - [(#9455)](https://github.com/microsoft/vcpkg/pull/9455) [ptext] Fix library cannot be found by find_package() - -- fruit `3.4.0-1` -> `3.4.0-2` - - [(#9445)](https://github.com/microsoft/vcpkg/pull/9445) [fruit] fix wchar.h import issue under Catalina - -- libxlsxwriter `0.8.7-1` -> `0.9.4` - - [(#9410)](https://github.com/microsoft/vcpkg/pull/9410) [libxlsxwriter] upgrade to 0.8.9 - - [(#9775)](https://github.com/microsoft/vcpkg/pull/9775) [libxlsxwriter] upgrade to 0.9.4 - -- uvatlas `apr2019` -> `dec2019` - - [(#9379)](https://github.com/microsoft/vcpkg/pull/9379) [uvatlas] Upgrade to dec2019 - -- grpc `1.23.1-1` -> `1.26.0` - - [(#9135)](https://github.com/microsoft/vcpkg/pull/9135) [grpc] Update grpc to 1.24.3 - - [(#9363)](https://github.com/microsoft/vcpkg/pull/9363) [grpc] Upgrade to gRPC-1.26.0 - -- freetype `2.10.1-1` -> `2.10.1-3` - - [(#9311)](https://github.com/microsoft/vcpkg/pull/9311) [freetype] use config and the correct alias - - [(#9706)](https://github.com/microsoft/vcpkg/pull/9706) [freetype] Add feature support - -- glibmm `2.52.1-10` -> `2.52.1-11` - - [(#9562)](https://github.com/microsoft/vcpkg/pull/9562) [glibmm] Fix build error on Linux - -- libfreenect2 `0.2.0-3` -> `0.2.0-4` - - [(#9551)](https://github.com/microsoft/vcpkg/pull/9551) [libfreenect2] add opengl and opencl features - -- jsoncons `0.140.0` -> `0.143.1` - - [(#9547)](https://github.com/microsoft/vcpkg/pull/9547) [jsoncons] Update to 0.143.1 - -- uwebsockets `0.16.5` -> `0.17.0a4` - - [(#9535)](https://github.com/microsoft/vcpkg/pull/9535) [uwebsockets] Update to 0.17.0 alpha 4 - -- box2d `2.3.1-374664b-2` -> `2019-12-31` - - [(#9529)](https://github.com/microsoft/vcpkg/pull/9529) [box2d] Update to 2019-12-31 - -- parallel-hashmap `1.27` -> `1.30` - - [(#9519)](https://github.com/microsoft/vcpkg/pull/9519) [parallel-hashmap] Update to 1.30 - -- wpilib `2019.6.1` -> `2020.1.1` - - [(#9513)](https://github.com/microsoft/vcpkg/pull/9513) [wpilib] update to 2020.1.1 - -- check `0.13.0-1` -> `0.13.0-2` - - [(#9510)](https://github.com/microsoft/vcpkg/pull/9510) [check/gettimeofday] Move static libraries to manual-link - -- gettimeofday `2017-10-14-2` -> `2017-10-14-3` - - [(#9510)](https://github.com/microsoft/vcpkg/pull/9510) [check/gettimeofday] Move static libraries to manual-link - -- magic-enum `0.6.3-1` -> `0.6.4` - - [(#9502)](https://github.com/microsoft/vcpkg/pull/9502) [magic-enum] Update to v0.6.4 - -- simdjson `2019-08-05` -> `2019-12-27` - - [(#9484)](https://github.com/microsoft/vcpkg/pull/9484) [simdjson] Update library - -- cpp-httplib `0.4.2` -> `0.5.1` - - [(#9480)](https://github.com/microsoft/vcpkg/pull/9480) [cpp-httplib] Update library to 0.5.1 - -- blend2d `beta_2019-10-09` -> `beta_2019-12-27` - - [(#9448)](https://github.com/microsoft/vcpkg/pull/9448) [blend2d] Update to beta_2019-12-27 - -- parallelstl `20190522-1` -> `20191218` - - [(#9443)](https://github.com/microsoft/vcpkg/pull/9443) [parallelstl] Update to latest version and fix find_package unable to find ParallelSTLConfig.cmake - -- sdl2pp `0.16.0-1` -> `0.16.0-2` - - [(#9428)](https://github.com/microsoft/vcpkg/pull/9428) [sdl2pp] Fix find dependencies - -- basisu `1.11-2` -> `1.11-3` - - [(#9425)](https://github.com/microsoft/vcpkg/pull/9425) [basisu] update from upstream repository, add support for pvrtc2 - -- devil `1.8.0-4` -> `1.8.0-5` - - [(#9341)](https://github.com/microsoft/vcpkg/pull/9341) [devil] fix OpenEXR not found - -- sdl1 `1.2.15-8` -> `1.2.15-9` - - [(#9301)](https://github.com/microsoft/vcpkg/pull/9301) [sdl1] Add build support for ARM64 Windows 10 - - [(#9207)](https://github.com/microsoft/vcpkg/pull/9207) [sdl1]Change build method to vcpkg_*_make - -- qt5-base `5.12.5-7` -> `5.12.5-8` - - [(#9260)](https://github.com/microsoft/vcpkg/pull/9260) [qt5-base] Fix Qt5 linux build and be a bit less flaky in CI - - [(#8566)](https://github.com/microsoft/vcpkg/pull/8566) [libpq, openssl, librtmp] libpq 12 and others with openssl 1.1.1d - -- qt5-imageformats `5.12.5-1` -> `5.12.5-2` - - [(#9260)](https://github.com/microsoft/vcpkg/pull/9260) [qt5-base] Fix Qt5 linux build and be a bit less flaky in CI - - [(#8566)](https://github.com/microsoft/vcpkg/pull/8566) [libpq, openssl, librtmp] libpq 12 and others with openssl 1.1.1d - -- qt5-tools `5.12.5-2` -> `5.12.5-3` - - [(#9260)](https://github.com/microsoft/vcpkg/pull/9260) [qt5-base] Fix Qt5 linux build and be a bit less flaky in CI - -- qt5-xmlpatterns `5.12.5` -> `5.12.5-1` - - [(#9260)](https://github.com/microsoft/vcpkg/pull/9260) [qt5-base] Fix Qt5 linux build and be a bit less flaky in CI - -- vtk `8.2.0-9` -> `8.2.0-10` - - [(#9260)](https://github.com/microsoft/vcpkg/pull/9260) [qt5-base] Fix Qt5 linux build and be a bit less flaky in CI - - [(#9219)](https://github.com/microsoft/vcpkg/pull/9219) [vtk] fix VTKConfig.cmake path - -- libevent `2.1.11-2` -> `2.1.11-4` - - [(#9292)](https://github.com/microsoft/vcpkg/pull/9292) [libevent] Fix include headers fails on x64-windows, using CMAKE - - [(#9232)](https://github.com/microsoft/vcpkg/pull/9232) [libevent] remove dependency of default feature - - [(#8566)](https://github.com/microsoft/vcpkg/pull/8566) [libpq, openssl, librtmp] libpq 12 and others with openssl 1.1.1d - -- pdal `1.7.1-6` -> `1.7.1-8` - - [(#9308)](https://github.com/microsoft/vcpkg/pull/9308) [pdal] fix static build - - [(#8566)](https://github.com/microsoft/vcpkg/pull/8566) [libpq, openssl, librtmp] libpq 12 and others with openssl 1.1.1d - -- xsimd `7.2.5` -> `7.4.5` - - [(#9158)](https://github.com/microsoft/vcpkg/pull/9158) [xsimd][xtensor][xtl] Update to lastest - -- xtensor-blas `0.16.1` -> `0.17.1` - - [(#9158)](https://github.com/microsoft/vcpkg/pull/9158) [xsimd][xtensor][xtl] Update to lastest - -- xtensor-io `0.7.0` -> `0.9.0` - - [(#9158)](https://github.com/microsoft/vcpkg/pull/9158) [xsimd][xtensor][xtl] Update to lastest - -- xtensor `0.20.8` -> `0.21.2` - - [(#9158)](https://github.com/microsoft/vcpkg/pull/9158) [xsimd][xtensor][xtl] Update to lastest - -- xtl `0.6.5` -> `0.6.10` - - [(#9158)](https://github.com/microsoft/vcpkg/pull/9158) [xsimd][xtensor][xtl] Update to lastest - -- freeimage `3.18.0-7` -> `3.18.0-8` - - [(#8707)](https://github.com/microsoft/vcpkg/pull/8707) [freeimage libraw] Fix case issue on Linux - -- libraw `201903-2` -> `201903-3` - - [(#8707)](https://github.com/microsoft/vcpkg/pull/8707) [freeimage libraw] Fix case issue on Linux - -- cgl `0.60.2-1` -> `0.60.2-2` - - [(#8807)](https://github.com/microsoft/vcpkg/pull/8807) [cgl] Fix cgl cannot be found - -- nanovg `2019-8-30-1` -> `2019-8-30-3` - - [(#8813)](https://github.com/microsoft/vcpkg/pull/8813) [nanovg] Add dependency port stb - -- hdf5 `1.10.5-8` -> `1.10.5-9` - - [(#9043)](https://github.com/microsoft/vcpkg/pull/9043) [hdf5] Fix static builds when building dynamic builds - - [(#9413)](https://github.com/microsoft/vcpkg/pull/9413) [HDF5] Correct SZIP linkage, modernize portfile - -- cgicc `3.2.19-3` -> `3.2.19-4` - - [(#9123)](https://github.com/microsoft/vcpkg/pull/9123) [many ports] Add mirror - - [(#8558)](https://github.com/microsoft/vcpkg/pull/8558) [cgicc]Fix usage error:lnk2019. - -- gsl `2.4-4` -> `2.4-5` - - [(#9123)](https://github.com/microsoft/vcpkg/pull/9123) [many ports] Add mirror - -- libidn2 `2.2.0` -> `2.2.0-1` - - [(#9123)](https://github.com/microsoft/vcpkg/pull/9123) [many ports] Add mirror - -- libmicrohttpd `0.9.63-1` -> `0.9.63-2` - - [(#9123)](https://github.com/microsoft/vcpkg/pull/9123) [many ports] Add mirror - -- libosip2 `5.1.0-1` -> `5.1.0-3` - - [(#9123)](https://github.com/microsoft/vcpkg/pull/9123) [many ports] Add mirror - - [(#9602)](https://github.com/microsoft/vcpkg/pull/9602) [vcpkg] Fix build type in vcpkg_build_make.cmake [x264] Modernize - -- libiconv `1.15-6` -> `1.16-1` - - [(#9229)](https://github.com/microsoft/vcpkg/pull/9229) [libiconv] Make built libraries relocatable - -- bullet3 `2.88-1` -> `2.89` - - [(#9098)](https://github.com/microsoft/vcpkg/pull/9098) [bullet3] Install CMake toolchain files and targets - - [(#9663)](https://github.com/microsoft/vcpkg/pull/9663) [bullet3] Update to 2.89 - -- fmt `6.0.0` -> `6.0.0-1` - - [(#9121)](https://github.com/microsoft/vcpkg/pull/9121) [fmt] Disable warning C4189 on Visual Studio 2015 - -- otl `4.0.448` -> `4.0.451` - - [(#9107)](https://github.com/microsoft/vcpkg/pull/9107) [otl] Fix header file name and version number - - [(#9579)](https://github.com/microsoft/vcpkg/pull/9579) [otl libaaplus forge] Fix build issues - - [(#9552)](https://github.com/microsoft/vcpkg/pull/9552) [otl] Update to version 4.0.451 - -- liblzma `5.2.4-2` -> `5.2.4-3` - - [(#9192)](https://github.com/microsoft/vcpkg/pull/9192) [liblzma] Stop exporting HAVE_CONFIG_H - -- glib `2.52.3-14-4` -> `2.52.3-14-5` - - [(#9054)](https://github.com/microsoft/vcpkg/pull/9054) [glib] Install msvc_recommended_pragmas.h to /installed/include - -- curl `7.66.0-1` -> `7.68.0` - - [(#8973)](https://github.com/microsoft/vcpkg/pull/8973) [curl] Disable export of Curl::curl targets when building 'tool' feature - - [(#9589)](https://github.com/microsoft/vcpkg/pull/9589) [curl] Update to 7.68.0 - -- forge `1.0.4-1` -> `1.0.4-2` - - [(#9579)](https://github.com/microsoft/vcpkg/pull/9579) [otl libaaplus forge] Fix build issues - -- reproc `9.0.0` -> `10.0.3` - - [(#9544)](https://github.com/microsoft/vcpkg/pull/9544) [reproc] Update to v10.0.3. - -- cpp-netlib `0.13.0-2` -> `0.13.0-3` - - [(#9537)](https://github.com/microsoft/vcpkg/pull/9537) [cpp-netlib] Fix cmake path, add homepage - -- proj4 `6.2.1-1` -> `6.3.0-1` - - [(#9437)](https://github.com/microsoft/vcpkg/pull/9437) [sqlite3] Rename sqlite3 tool as sqlite3.exe - - [(#9573)](https://github.com/microsoft/vcpkg/pull/9573) [proj4] Update to version 6.3.0 - -- sqlite3 `3.30.1-1` -> `3.30.1-2` - - [(#9437)](https://github.com/microsoft/vcpkg/pull/9437) [sqlite3] Rename sqlite3 tool as sqlite3.exe - -- msix `MsixCoreInstaller-preview-1` -> `1.7` - - [(#8934)](https://github.com/microsoft/vcpkg/pull/8934) [msix] Update to 1.7 - -- xmsh `0.4.1` -> `0.5.2` - - [(#7155)](https://github.com/microsoft/vcpkg/pull/7155) [xmsh]Upgrade version to 0.5.2 and fix build failure. - -- opencolorio `1.1.1` -> `1.1.1-2` - - [(#8920)](https://github.com/microsoft/vcpkg/pull/8920) [opencolorio] Modify find python2 to find python3 - - [(#9755)](https://github.com/microsoft/vcpkg/pull/9755) [opencolorio] fix lcms dependency - -- graphicsmagick `1.3.33-1` -> `1.3.34` - - [(#9596)](https://github.com/microsoft/vcpkg/pull/9596) [graphicsmagick] Updated to GraphicsMagick-1.3.34 - -- openal-soft `1.19.1-2` -> `1.20.0` - - [(#9583)](https://github.com/microsoft/vcpkg/pull/9583) [openal-soft] Update OpenAL Soft to 1.20.0 - -- google-cloud-cpp `0.15.0` -> `0.17.0` - - [(#9576)](https://github.com/microsoft/vcpkg/pull/9576) [google-cloud-cpp] Upgrade to v0.17.0 - -- openmvs `1.0-3` -> `1.0.1` - - [(#9563)](https://github.com/microsoft/vcpkg/pull/9563) [openmvs] Update to 1.0.1 - -- ixwebsocket `7.4.0` -> `7.9.2` - - [(#9397)](https://github.com/microsoft/vcpkg/pull/9397) [ixwebsocket] update to 7.6.3 - -- azure-kinect-sensor-sdk `1.4.0-alpha.0` -> `1.4.0-alpha.0-2` - - [(#9458)](https://github.com/microsoft/vcpkg/pull/9458) [azure-kinect-sensor-sdk] Remove feature test and fix static build in Windows - - [(#9763)](https://github.com/microsoft/vcpkg/pull/9763) [azure-kinect-sensor-sdk] Fix *.dll install path - -- netcdf-c `4.7.0-5` -> `4.7.3-1` - - [(#9361)](https://github.com/microsoft/vcpkg/pull/9361) [netcdf-c] Update to 4.7.3 and switched to use targets to generate valid targets - - [(#9721)](https://github.com/microsoft/vcpkg/pull/9721) [netcdf-c] Fix builds with hdf5[parallel] - -- realsense2 `2.22.0-2` -> `2.30.0` - - [(#9220)](https://github.com/microsoft/vcpkg/pull/9220) [realsense2] update to 2.30 - -- libplist `1.2.77` -> `1.2.137` - - [(#8936)](https://github.com/microsoft/vcpkg/pull/8936) [libplist] Update to 1.2.137 - -- ismrmrd `1.4.0-1` -> `1.4.1` - - [(#8880)](https://github.com/microsoft/vcpkg/pull/8880) [ismrmrd] Update to 1.4.1 - -- caf `0.16.3` -> `0.17.2` - - [(#8888)](https://github.com/microsoft/vcpkg/pull/8888) [caf] Update to 0.17.2 - -- openmvg `1.4-6` -> `1.4-7` - - [(#8824)](https://github.com/microsoft/vcpkg/pull/8824) [openmvg]Fix path in openmvg-config.cmake. - -- qhull `7.3.2-1` -> `7.3.2-2` - - [(#9651)](https://github.com/microsoft/vcpkg/pull/9651) [qhull] Fix Mac support - -- cppmicroservices `4.0.0-pre1` -> `v3.4.0` - - [(#9600)](https://github.com/microsoft/vcpkg/pull/9600) Update baseline to fix osx failure - -- libguarded `2019-08-27` -> `2019-08-27-1` - - [(#9600)](https://github.com/microsoft/vcpkg/pull/9600) Update baseline to fix osx failure - -- sfgui `0.4.0-2` -> `0.4.0-3` - - [(#9625)](https://github.com/microsoft/vcpkg/pull/9625) [sfgui] fix sfgui on macOS - -- azure-storage-cpp `7.0.0` -> `7.1.0-1` - - [(#9646)](https://github.com/microsoft/vcpkg/pull/9646) [azure-storage-cpp]Upgrade to 7.1.0 - - [(#9852)](https://github.com/microsoft/vcpkg/pull/9852) [azure-storage-cpp] Azure storage only requires gettext on OSX - -- ace `6.5.7` -> `6.5.7-1` - - [(#8566)](https://github.com/microsoft/vcpkg/pull/8566) [libpq, openssl, librtmp] libpq 12 and others with openssl 1.1.1d - - [(#9016)](https://github.com/microsoft/vcpkg/pull/9016) [ace] Let `ssl` feature able to work on Linux when selected - -- freerdp `2.0.0-rc4-3` -> `2.0.0-rc4-4` - - [(#8566)](https://github.com/microsoft/vcpkg/pull/8566) [libpq, openssl, librtmp] libpq 12 and others with openssl 1.1.1d - -- freetds `1.1.6-1` -> `1.1.17` - - [(#8566)](https://github.com/microsoft/vcpkg/pull/8566) [libpq, openssl, librtmp] libpq 12 and others with openssl 1.1.1d - -- libmysql `8.0.4-4` -> `8.0.4-5` - - [(#8566)](https://github.com/microsoft/vcpkg/pull/8566) [libpq, openssl, librtmp] libpq 12 and others with openssl 1.1.1d - -- libpq `9.6.3` -> `12.0` - - [(#8566)](https://github.com/microsoft/vcpkg/pull/8566) [libpq, openssl, librtmp] libpq 12 and others with openssl 1.1.1d - -- librtmp `2019-11-11` -> `2019-11-11_1` - - [(#8566)](https://github.com/microsoft/vcpkg/pull/8566) [libpq, openssl, librtmp] libpq 12 and others with openssl 1.1.1d - -- libssh `0.7.6-1` -> `0.9.0` - - [(#8566)](https://github.com/microsoft/vcpkg/pull/8566) [libpq, openssl, librtmp] libpq 12 and others with openssl 1.1.1d - -- libwebsockets `3.2.0` -> `3.2.2` - - [(#8566)](https://github.com/microsoft/vcpkg/pull/8566) [libpq, openssl, librtmp] libpq 12 and others with openssl 1.1.1d - - [(#9734)](https://github.com/microsoft/vcpkg/pull/9734) [libwebsockets] Update to v3.2.2 - -- mosquitto `1.6.7` -> `1.6.7-2` - - [(#8566)](https://github.com/microsoft/vcpkg/pull/8566) [libpq, openssl, librtmp] libpq 12 and others with openssl 1.1.1d - - [(#9754)](https://github.com/microsoft/vcpkg/pull/9754) [mosquitto] Install mosquittopp.lib to dest - -- nmap `7.70-1` -> `7.70-4` - - [(#8566)](https://github.com/microsoft/vcpkg/pull/8566) [libpq, openssl, librtmp] libpq 12 and others with openssl 1.1.1d - - [(#9703)](https://github.com/microsoft/vcpkg/pull/9703) Update portfiles to use VCPKG_BUILD_TYPE - -- openssl-unix `1.0.2s-1` -> `1.1.1d-1` - - [(#8566)](https://github.com/microsoft/vcpkg/pull/8566) [libpq, openssl, librtmp] libpq 12 and others with openssl 1.1.1d - -- openssl-uwp `1.0.2r-1` -> `1.1.1d-1` - - [(#8566)](https://github.com/microsoft/vcpkg/pull/8566) [libpq, openssl, librtmp] libpq 12 and others with openssl 1.1.1d - - [(#9703)](https://github.com/microsoft/vcpkg/pull/9703) Update portfiles to use VCPKG_BUILD_TYPE - -- openssl-windows `1.0.2s-2` -> `1.1.1d-1` - - [(#8566)](https://github.com/microsoft/vcpkg/pull/8566) [libpq, openssl, librtmp] libpq 12 and others with openssl 1.1.1d - - [(#9703)](https://github.com/microsoft/vcpkg/pull/9703) Update portfiles to use VCPKG_BUILD_TYPE - -- qt5-graphicaleffects `5.12.5` -> `5.12.5-1` - - [(#8566)](https://github.com/microsoft/vcpkg/pull/8566) [libpq, openssl, librtmp] libpq 12 and others with openssl 1.1.1d - -- quickfix `1.15.1-1` -> `1.15.1-3` - - [(#8566)](https://github.com/microsoft/vcpkg/pull/8566) [libpq, openssl, librtmp] libpq 12 and others with openssl 1.1.1d - -- slikenet `2019-10-22` -> `2019-10-22_1` - - [(#8566)](https://github.com/microsoft/vcpkg/pull/8566) [libpq, openssl, librtmp] libpq 12 and others with openssl 1.1.1d - -- xmlsec `1.2.29` -> `1.2.29-1` - - [(#8566)](https://github.com/microsoft/vcpkg/pull/8566) [libpq, openssl, librtmp] libpq 12 and others with openssl 1.1.1d - -- yara `3.10.0` -> `3.10.0-1` - - [(#8566)](https://github.com/microsoft/vcpkg/pull/8566) [libpq, openssl, librtmp] libpq 12 and others with openssl 1.1.1d - -- x264 `157-303c484ec828ed0-6` -> `157-303c484ec828ed0-7` - - [(#9602)](https://github.com/microsoft/vcpkg/pull/9602) [vcpkg] Fix build type in vcpkg_build_make.cmake [x264] Modernize - -- glfw3 `3.3-3` -> `3.3.1` - - [(#9626)](https://github.com/microsoft/vcpkg/pull/9626) [glfw3] Update to 3.3.1 - -- glad `0.1.31` -> `0.1.33` - - [(#9627)](https://github.com/microsoft/vcpkg/pull/9627) [glad] Update to 0.1.33 - -- libxml2 `2.9.9-4` -> `2.9.9-5` - - [(#9636)](https://github.com/microsoft/vcpkg/pull/9636) [libxml2] Apply fixes also to the target of libxml2. - - [(#9492)](https://github.com/microsoft/vcpkg/pull/9492) [libxml2] Embed resources in Windows-based shared library (#9474) - -- gettext `0.19-11` -> `0.19-13` - - [(#9610)](https://github.com/microsoft/vcpkg/pull/9610) [gettext] Add dependency on iconv - - [(#9797)](https://github.com/microsoft/vcpkg/pull/9797) [gettext] fix library placement on macOS - -- xlnt `1.3.0-2` -> `1.4.0` - - [(#9609)](https://github.com/microsoft/vcpkg/pull/9609) [xlnt] Upgrade to v1.4.0 - -- cpr `1.3.0-7` -> `1.3.0-8` - - [(#9567)](https://github.com/microsoft/vcpkg/pull/9567) [cpr] Add find_dependency to cprConfig.cmake - -- sfml `2.5.1-4` -> `2.5.1-6` - - [(#9190)](https://github.com/microsoft/vcpkg/pull/9190) [sfml] Declare Windows library export - - [(#9726)](https://github.com/microsoft/vcpkg/pull/9726) Fix osx baseline build failures - -- libtorrent `1.2.2` -> `1.2.2-1` - - [(#7345)](https://github.com/microsoft/vcpkg/pull/7345) [libtorrent] Fix linkage issues for dynamic builds - -- libffi `3.1-6` -> `3.1-7` - - [(#8895)](https://github.com/microsoft/vcpkg/pull/8895) [libffi] Add libffiConfigVersion.cmake file - -- plplot `5.13.0-3` -> `5.13.0-4` - - [(#8817)](https://github.com/microsoft/vcpkg/pull/8817) [plplot] Fix static build issue - -- libpqxx `6.4.5` -> `6.4.5-1` - - [(#9051)](https://github.com/microsoft/vcpkg/pull/9051) [libpqxx] Fix lib name on Linux - -- freeglut `3.0.0-7` -> `3.0.0-9` - - [(#9155)](https://github.com/microsoft/vcpkg/pull/9155) [glui] Add new port - - [(#9725)](https://github.com/microsoft/vcpkg/pull/9725) [freeglut] Patch header correctly - - [(#9745)](https://github.com/microsoft/vcpkg/pull/9745) [freeglut] check whether debug/release is enabled before moving files - -- ffmpeg `4.2-2` -> `4.2-4` - - [(#9695)](https://github.com/microsoft/vcpkg/pull/9695) [ffmpeg] fix openssl detection - - [(#9718)](https://github.com/microsoft/vcpkg/pull/9718) [ffmpeg] fix link order - -- catch2 `2.11.0` -> `2.11.1` - - [(#9685)](https://github.com/microsoft/vcpkg/pull/9685) [catch2] Update to 2.11.1 - -- boost-accumulators `1.71.0` -> `1.72.0` - - [(#9317)](https://github.com/microsoft/vcpkg/pull/9317) [boost] Update to 1.72.0 - -- boost-algorithm `1.71.0` -> `1.72.0` - - [(#9317)](https://github.com/microsoft/vcpkg/pull/9317) [boost] Update to 1.72.0 - -- boost-align `1.71.0` -> `1.72.0` - - [(#9317)](https://github.com/microsoft/vcpkg/pull/9317) [boost] Update to 1.72.0 - -- boost-any `1.71.0` -> `1.72.0` - - [(#9317)](https://github.com/microsoft/vcpkg/pull/9317) [boost] Update to 1.72.0 - -- boost-array `1.71.0` -> `1.72.0` - - [(#9317)](https://github.com/microsoft/vcpkg/pull/9317) [boost] Update to 1.72.0 - -- boost-asio `1.71.0-1` -> `1.72.0` - - [(#9317)](https://github.com/microsoft/vcpkg/pull/9317) [boost] Update to 1.72.0 - -- boost-assert `1.71.0` -> `1.72.0` - - [(#9317)](https://github.com/microsoft/vcpkg/pull/9317) [boost] Update to 1.72.0 - -- boost-assign `1.71.0` -> `1.72.0` - - [(#9317)](https://github.com/microsoft/vcpkg/pull/9317) [boost] Update to 1.72.0 - -- boost-atomic `1.71.0` -> `1.72.0` - - [(#9317)](https://github.com/microsoft/vcpkg/pull/9317) [boost] Update to 1.72.0 - -- boost-beast `1.71.0` -> `1.72.0` - - [(#9317)](https://github.com/microsoft/vcpkg/pull/9317) [boost] Update to 1.72.0 - -- boost-bimap `1.71.0` -> `1.72.0` - - [(#9317)](https://github.com/microsoft/vcpkg/pull/9317) [boost] Update to 1.72.0 - -- boost-bind `1.71.0` -> `1.72.0` - - [(#9317)](https://github.com/microsoft/vcpkg/pull/9317) [boost] Update to 1.72.0 - -- boost-build `1.70.0-1` -> `1.72.0` - - [(#9317)](https://github.com/microsoft/vcpkg/pull/9317) [boost] Update to 1.72.0 - -- boost-callable-traits `1.71.0` -> `1.72.0` - - [(#9317)](https://github.com/microsoft/vcpkg/pull/9317) [boost] Update to 1.72.0 - -- boost-chrono `1.71.0` -> `1.72.0` - - [(#9317)](https://github.com/microsoft/vcpkg/pull/9317) [boost] Update to 1.72.0 - -- boost-circular-buffer `1.71.0` -> `1.72.0` - - [(#9317)](https://github.com/microsoft/vcpkg/pull/9317) [boost] Update to 1.72.0 - -- boost-compatibility `1.71.0` -> `1.72.0` - - [(#9317)](https://github.com/microsoft/vcpkg/pull/9317) [boost] Update to 1.72.0 - -- boost-compute `1.71.0` -> `1.72.0` - - [(#9317)](https://github.com/microsoft/vcpkg/pull/9317) [boost] Update to 1.72.0 - -- boost-concept-check `1.71.0` -> `1.72.0` - - [(#9317)](https://github.com/microsoft/vcpkg/pull/9317) [boost] Update to 1.72.0 - -- boost-config `1.71.0` -> `1.72.0` - - [(#9317)](https://github.com/microsoft/vcpkg/pull/9317) [boost] Update to 1.72.0 - -- boost-container-hash `1.71.0` -> `1.72.0` - - [(#9317)](https://github.com/microsoft/vcpkg/pull/9317) [boost] Update to 1.72.0 - -- boost-container `1.71.0` -> `1.72.0` - - [(#9317)](https://github.com/microsoft/vcpkg/pull/9317) [boost] Update to 1.72.0 - -- boost-context `1.71.0` -> `1.72.0` - - [(#9317)](https://github.com/microsoft/vcpkg/pull/9317) [boost] Update to 1.72.0 - -- boost-contract `1.71.0` -> `1.72.0` - - [(#9317)](https://github.com/microsoft/vcpkg/pull/9317) [boost] Update to 1.72.0 - -- boost-conversion `1.71.0` -> `1.72.0` - - [(#9317)](https://github.com/microsoft/vcpkg/pull/9317) [boost] Update to 1.72.0 - -- boost-convert `1.71.0` -> `1.72.0` - - [(#9317)](https://github.com/microsoft/vcpkg/pull/9317) [boost] Update to 1.72.0 - -- boost-core `1.71.0` -> `1.72.0` - - [(#9317)](https://github.com/microsoft/vcpkg/pull/9317) [boost] Update to 1.72.0 - -- boost-coroutine `1.71.0` -> `1.72.0` - - [(#9317)](https://github.com/microsoft/vcpkg/pull/9317) [boost] Update to 1.72.0 - -- boost-coroutine2 `1.71.0` -> `1.72.0` - - [(#9317)](https://github.com/microsoft/vcpkg/pull/9317) [boost] Update to 1.72.0 - -- boost-crc `1.71.0` -> `1.72.0` - - [(#9317)](https://github.com/microsoft/vcpkg/pull/9317) [boost] Update to 1.72.0 - -- boost-date-time `1.71.0` -> `1.72.0` - - [(#9317)](https://github.com/microsoft/vcpkg/pull/9317) [boost] Update to 1.72.0 - -- boost-detail `1.71.0` -> `1.72.0` - - [(#9317)](https://github.com/microsoft/vcpkg/pull/9317) [boost] Update to 1.72.0 - -- boost-disjoint-sets `1.71.0` -> `1.72.0` - - [(#9317)](https://github.com/microsoft/vcpkg/pull/9317) [boost] Update to 1.72.0 - -- boost-dll `1.71.0` -> `1.72.0` - - [(#9317)](https://github.com/microsoft/vcpkg/pull/9317) [boost] Update to 1.72.0 - -- boost-dynamic-bitset `1.71.0` -> `1.72.0` - - [(#9317)](https://github.com/microsoft/vcpkg/pull/9317) [boost] Update to 1.72.0 - -- boost-endian `1.71.0` -> `1.72.0` - - [(#9317)](https://github.com/microsoft/vcpkg/pull/9317) [boost] Update to 1.72.0 - -- boost-exception `1.71.0` -> `1.72.0` - - [(#9317)](https://github.com/microsoft/vcpkg/pull/9317) [boost] Update to 1.72.0 - -- boost-fiber `1.71.0` -> `1.72.0` - - [(#9317)](https://github.com/microsoft/vcpkg/pull/9317) [boost] Update to 1.72.0 - -- boost-filesystem `1.71.0` -> `1.72.0` - - [(#9317)](https://github.com/microsoft/vcpkg/pull/9317) [boost] Update to 1.72.0 - -- boost-flyweight `1.71.0` -> `1.72.0` - - [(#9317)](https://github.com/microsoft/vcpkg/pull/9317) [boost] Update to 1.72.0 - -- boost-foreach `1.71.0` -> `1.72.0` - - [(#9317)](https://github.com/microsoft/vcpkg/pull/9317) [boost] Update to 1.72.0 - -- boost-format `1.71.0` -> `1.72.0` - - [(#9317)](https://github.com/microsoft/vcpkg/pull/9317) [boost] Update to 1.72.0 - -- boost-function-types `1.71.0` -> `1.72.0` - - [(#9317)](https://github.com/microsoft/vcpkg/pull/9317) [boost] Update to 1.72.0 - -- boost-function `1.71.0` -> `1.72.0` - - [(#9317)](https://github.com/microsoft/vcpkg/pull/9317) [boost] Update to 1.72.0 - -- boost-functional `1.71.0` -> `1.72.0` - - [(#9317)](https://github.com/microsoft/vcpkg/pull/9317) [boost] Update to 1.72.0 - -- boost-fusion `1.71.0` -> `1.72.0` - - [(#9317)](https://github.com/microsoft/vcpkg/pull/9317) [boost] Update to 1.72.0 - -- boost-geometry `1.71.0` -> `1.72.0` - - [(#9317)](https://github.com/microsoft/vcpkg/pull/9317) [boost] Update to 1.72.0 - -- boost-gil `1.71.0` -> `1.72.0` - - [(#9317)](https://github.com/microsoft/vcpkg/pull/9317) [boost] Update to 1.72.0 - -- boost-graph-parallel `1.71.0` -> `1.72.0` - - [(#9317)](https://github.com/microsoft/vcpkg/pull/9317) [boost] Update to 1.72.0 - -- boost-graph `1.71.0` -> `1.72.0` - - [(#9317)](https://github.com/microsoft/vcpkg/pull/9317) [boost] Update to 1.72.0 - -- embree3 `3.6.1` -> `3.6.1-1` - - [(#9555)](https://github.com/microsoft/vcpkg/pull/9555) [embree3] added cleanup command to embree3 port for static build - -- libarchive `3.4.0-2` -> `3.4.1` - - [(#9676)](https://github.com/microsoft/vcpkg/pull/9676) [libarchive] Update to 3.4.1 - -- tinyfiledialogs `3.3.8-1` -> `3.4.3` - - [(#9630)](https://github.com/microsoft/vcpkg/pull/9630) [tinyfiledialogs] Fix tinyfiledialogs not being fetchable from sourceforge - -- tesseract `4.1.0-4` -> `4.1.1` - - [(#9629)](https://github.com/microsoft/vcpkg/pull/9629) [tesseract] port update to 4.1.1 release - -- glm `0.9.9.5-3` -> `0.9.9.7` - - [(#9621)](https://github.com/microsoft/vcpkg/pull/9621) [glm] Updated to 0.9.9.7 - -- google-cloud-cpp-spanner `0.3.0` -> `0.5.0` - - [(#9611)](https://github.com/microsoft/vcpkg/pull/9611) [google-cloud-cpp-spanner] Upgrade to the v0.5.0 release. - -- scintilla `4.1.2` -> `4.2.3` - - [(#9591)](https://github.com/microsoft/vcpkg/pull/9591) [scintilla] Update to 4.2.3 - -- ppconsul `0.4` -> `0.5` - - [(#9752)](https://github.com/microsoft/vcpkg/pull/9752) [ppconsul] Add missing boost dependencies - - [(#9713)](https://github.com/microsoft/vcpkg/pull/9713) [ppconsul] Upgrade to latest version - -- boost-signals `1.68.0` -> `1.68.0-1` - - [(#9726)](https://github.com/microsoft/vcpkg/pull/9726) Fix osx baseline build failures - -- gtest `2019-10-09` -> `2019-10-09-1` - - [(#9726)](https://github.com/microsoft/vcpkg/pull/9726) Fix osx baseline build failures - -- pcl `1.9.1-9` -> `1.9.1-10` - - [(#9726)](https://github.com/microsoft/vcpkg/pull/9726) Fix osx baseline build failures - -- soil2 `release-1.11` -> `release-1.11-1` - - [(#9726)](https://github.com/microsoft/vcpkg/pull/9726) Fix osx baseline build failures - -- tmxparser `2.1.0-2` -> `2.1.0-3` - - [(#9726)](https://github.com/microsoft/vcpkg/pull/9726) Fix osx baseline build failures - -- xerces-c `3.2.2-11` -> `3.2.2-13` - - [(#9726)](https://github.com/microsoft/vcpkg/pull/9726) Fix osx baseline build failures - - [(#9702)](https://github.com/microsoft/vcpkg/pull/9702) [xerces-c] fixed issue #9654 - -- openssl `1` -> `1.1.1d` - - [(#9777)](https://github.com/microsoft/vcpkg/pull/9777) [openssl] Update the version - -- open62541 `0.3.0-4` -> `1.0` - - [(#9767)](https://github.com/microsoft/vcpkg/pull/9767) [open62541] Update to v1.0 - -- monkeys-audio `4.8.3-1` -> `5.14` - - [(#9760)](https://github.com/microsoft/vcpkg/pull/9760) [monkeys-audio] Update to 5.14, add feature tools - -- hpx `1.3.0-2` -> `1.4.0-1` - - [(#9773)](https://github.com/microsoft/vcpkg/pull/9773) Updating HPX to V1.4 - -- paho-mqtt `1.3.0-1` -> `1.3.0-2` - - [(#9753)](https://github.com/microsoft/vcpkg/pull/9753) [paho-mqtt] Fix Windows platform predefined macros - -- alembic `1.7.11-6` -> `1.7.12` - - [(#9737)](https://github.com/microsoft/vcpkg/pull/9737) Update Alembic version to 1.7.12 - -- libudns `0.4` -> `0.4-1` - - [(#9703)](https://github.com/microsoft/vcpkg/pull/9703) Update portfiles to use VCPKG_BUILD_TYPE - -- luajit `2.0.5-2` -> `2.0.5-3` - - [(#9703)](https://github.com/microsoft/vcpkg/pull/9703) Update portfiles to use VCPKG_BUILD_TYPE - - [(#9782)](https://github.com/microsoft/vcpkg/pull/9782) [luajit] Copy tool dependencies - -- pfring `2019-10-17` -> `2019-10-17-1` - - [(#9703)](https://github.com/microsoft/vcpkg/pull/9703) Update portfiles to use VCPKG_BUILD_TYPE - -- tcl `8.6.10-2` -> `8.6.10-3` - - [(#9703)](https://github.com/microsoft/vcpkg/pull/9703) Update portfiles to use VCPKG_BUILD_TYPE - -- asmjit `2019-07-11` -> `2020-01-20` - - [(#9770)](https://github.com/microsoft/vcpkg/pull/9770) [asmjit] update to current version - -- so5extra `1.3.1.1` -> `1.4.0` - - [(#9732)](https://github.com/microsoft/vcpkg/pull/9732) [sobjectizer][so5extra] updates to 5.7.0 and 1.4.0 - -- sobjectizer `5.6.1-1` -> `5.7.0` - - [(#9732)](https://github.com/microsoft/vcpkg/pull/9732) [sobjectizer][so5extra] updates to 5.7.0 and 1.4.0 - -- string-theory `2.3` -> `3.1` - - [(#9690)](https://github.com/microsoft/vcpkg/pull/9690) [string_theory] Update to 3.0 - - [(#9833)](https://github.com/microsoft/vcpkg/pull/9833) [string_theory] Update to 3.1 - -- anyrpc `2017-12-01-1` -> `2020-01-13-1` - - [(#9682)](https://github.com/microsoft/vcpkg/pull/9682) [anyrpc] Updated to latest commit - -- jasper `2.0.16-2` -> `2.0.16-3` - - [(#9680)](https://github.com/microsoft/vcpkg/pull/9680) [jasper] freeglut is not a dependency in macOS - -- cryptopp `8.2.0` -> `8.2.0-1` - - [(#9633)](https://github.com/microsoft/vcpkg/pull/9633) [cryptopp] Fixed build error on ARM32/ARM64 Windows - -- angle `2019-07-19-4` -> `2019-12-31` - - [(#9557)](https://github.com/microsoft/vcpkg/pull/9557) [angle] Update to 2019-12-31 - -- pbc `0.5.14-1` -> `0.5.14-2` - - [(#9281)](https://github.com/microsoft/vcpkg/pull/9281) [pbc] Correct non Windows build - -- fizz `2019.10.28.00` -> `2020.01.20.00` - - [(#9779)](https://github.com/microsoft/vcpkg/pull/9779) [fizz] Update to latest version - -- hyperscan `5.0.1-2` -> `5.1.0-3` - - [(#9618)](https://github.com/microsoft/vcpkg/pull/9618) [hyperscan] Update the portfile to remove debug/share file - -- coroutine `1.4.3` -> `2020-01-13` - - [(#9624)](https://github.com/microsoft/vcpkg/pull/9624) [ms-gsl] Update to v2.1.0, the "end of 2019 snapshot" - -- ms-gsl `2019-07-11` -> `2.1.0` - - [(#9624)](https://github.com/microsoft/vcpkg/pull/9624) [ms-gsl] Update to v2.1.0, the "end of 2019 snapshot" - -- ftgl `2.4.0-1` -> `2.4.0-2` - - [(#9521)](https://github.com/microsoft/vcpkg/pull/9521) [ftgl] Fix build failure #9520 - -- sdl2-mixer `2.0.4-7` -> `2.0.4-8` - - [(#9332)](https://github.com/microsoft/vcpkg/pull/9332) [sdl2-mixer] Fix dynamic loading when building static library - -- sdl2-gfx `1.0.4-4` -> `1.0.4-5` - - [(#9314)](https://github.com/microsoft/vcpkg/pull/9314) [sdl2-gfx] Fixed build error ARM64 Windows 10 - -- restclient-cpp `0.5.1-2` -> `0.5.1-3` - - [(#9487)](https://github.com/microsoft/vcpkg/pull/9487) [restclient-cpp]: correct the way to remove debug/include - -- jsoncpp `1.9.1` -> `1.9.2` - - [(#9759)](https://github.com/microsoft/vcpkg/pull/9759) [Jsoncpp] Update to 1.9.2 - -- loguru `v2.0.0` -> `v2.1.0` - - [(#8682)](https://github.com/microsoft/vcpkg/pull/8682) [loguru] Update to 2.1.0 and extend to generate proper binary on non-windows - -- gsl-lite `0.34.0` -> `0.36.0` - - [(#9827)](https://github.com/microsoft/vcpkg/pull/9827) [gsl-lite] Update to version 0.36.0 - -- telnetpp `2.0-2` -> `2.0-3` - - [(#9827)](https://github.com/microsoft/vcpkg/pull/9827) [gsl-lite] Update to version 0.36.0 - -- cgal `5.0` -> `5.0.1` - - [(#9831)](https://github.com/microsoft/vcpkg/pull/9831) [cgal] Upgrade to 5.0.1 - -- avro-c `1.8.2-3` -> `1.8.2-4` - - [(#9808)](https://github.com/microsoft/vcpkg/pull/9808) [avro-c] enable Snappy codec - -- pango `1.40.11-5` -> `1.40.11-6` - - [(#9801)](https://github.com/microsoft/vcpkg/pull/9801) [pango] fix macOS dynamic library - -- eigen3 `3.3.7-3` -> `3.3.7-4` - - [(#9821)](https://github.com/microsoft/vcpkg/pull/9821) Update eigen3's portfile to use new gitlab repo - -- aws-c-common `0.4.1` -> `0.4.15` - - [(#8832)](https://github.com/microsoft/vcpkg/pull/8832) [aws-*]Update version - -- aws-c-event-stream `0.1.1` -> `0.1.4` - - [(#8832)](https://github.com/microsoft/vcpkg/pull/8832) [aws-*]Update version - -- aws-checksums `0.1.3` -> `0.1.5` - - [(#8832)](https://github.com/microsoft/vcpkg/pull/8832) [aws-*]Update version - -- aws-lambda-cpp `0.1.0-2` -> `0.2.4` - - [(#8832)](https://github.com/microsoft/vcpkg/pull/8832) [aws-*]Update version - -- aws-sdk-cpp `1.7.142-1` -> `1.7.214` - - [(#8832)](https://github.com/microsoft/vcpkg/pull/8832) [aws-*]Update version - -- azure-c-shared-utility `2019-10-07.2-1` -> `2020-01-22` - - [(#9805)](https://github.com/microsoft/vcpkg/pull/9805) Azure-IoT-Sdk for C release 2020-01-22 - -- azure-iot-sdk-c `2019-11-27.1` -> `2020-01-22` - - [(#9805)](https://github.com/microsoft/vcpkg/pull/9805) Azure-IoT-Sdk for C release 2020-01-22 - -- azure-macro-utils-c `2019-11-27.1` -> `2020-01-22` - - [(#9805)](https://github.com/microsoft/vcpkg/pull/9805) Azure-IoT-Sdk for C release 2020-01-22 - -- azure-uamqp-c `2019-11-27.1` -> `2020-01-22` - - [(#9805)](https://github.com/microsoft/vcpkg/pull/9805) Azure-IoT-Sdk for C release 2020-01-22 - -- azure-uhttp-c `2019-11-27.1` -> `2020-01-22` - - [(#9805)](https://github.com/microsoft/vcpkg/pull/9805) Azure-IoT-Sdk for C release 2020-01-22 - -- azure-umqtt-c `2019-11-27.1` -> `2020-01-22` - - [(#9805)](https://github.com/microsoft/vcpkg/pull/9805) Azure-IoT-Sdk for C release 2020-01-22 - -- umock-c `2019-11-27.1` -> `2020-01-22` - - [(#9805)](https://github.com/microsoft/vcpkg/pull/9805) Azure-IoT-Sdk for C release 2020-01-22 - -
- --- vcpkg team vcpkg@microsoft.com THU, 05 Jan 15:00:00 -0800 - -vcpkg (2019.12.31) ---- -#### Total port count: 1268 -#### Total port count per triplet (tested): -|triplet|ports available| -|---|---| -|**x64-windows**|1181| -|x86-windows|1166| -|x64-windows-static|1087| -|**x64-linux**|1000| -|**x64-osx**|920| -|arm64-windows|795| -|x64-uwp|642| -|arm-uwp|615| - -#### The following documentation has been updated: -- [PR Review Checklist](docs/maintainers/pr-review-checklist.md) ***[NEW]*** - - [(#9264)](https://github.com/microsoft/vcpkg/pull/9264) [vcpkg] Initialize PR review checklist -- [vcpkg_install_qmake](docs/maintainers/vcpkg_install_qmake.md) ***[NEW]*** - - [(#9412)](https://github.com/microsoft/vcpkg/pull/9412) [vcpkg_install_qmake] Add vcpkg_install_qmake -- [CONTROL Files](docs/maintainers/control-files.md) - - [(#9140)](https://github.com/microsoft/vcpkg/pull/9140) [docs] Fix CONTROL file default-features section header -- [Portfile Functions](docs/maintainers/portfile-functions.md) - - [(#9412)](https://github.com/microsoft/vcpkg/pull/9412) [vcpkg_install_qmake] Add vcpkg_install_qmake -- [vcpkg_build_nmake](docs/maintainers/vcpkg_build_nmake.md) - - [(#9412)](https://github.com/microsoft/vcpkg/pull/9412) [vcpkg_install_qmake] Add vcpkg_install_qmake -- [vcpkg_common_definitions](docs/maintainers/vcpkg_common_definitions.md) - - [(#9412)](https://github.com/microsoft/vcpkg/pull/9412) [vcpkg_install_qmake] Add vcpkg_install_qmake -- [vcpkg_configure_make](docs/maintainers/vcpkg_configure_make.md) - - [(#9412)](https://github.com/microsoft/vcpkg/pull/9412) [vcpkg_install_qmake] Add vcpkg_install_qmake -- [vcpkg_download_distfile](docs/maintainers/vcpkg_download_distfile.md) - - [(#9412)](https://github.com/microsoft/vcpkg/pull/9412) [vcpkg_install_qmake] Add vcpkg_install_qmake -- [vcpkg_extract_source_archive_ex](docs/maintainers/vcpkg_extract_source_archive_ex.md) - - [(#9412)](https://github.com/microsoft/vcpkg/pull/9412) [vcpkg_install_qmake] Add vcpkg_install_qmake -- [vcpkg_find_acquire_program](docs/maintainers/vcpkg_find_acquire_program.md) - - [(#9412)](https://github.com/microsoft/vcpkg/pull/9412) [vcpkg_install_qmake] Add vcpkg_install_qmake -- [vcpkg_install_nmake](docs/maintainers/vcpkg_install_nmake.md) - - [(#9412)](https://github.com/microsoft/vcpkg/pull/9412) [vcpkg_install_qmake] Add vcpkg_install_qmake - -#### The following changes have been made to vcpkg's infrastructure: -- [(#9160)](https://github.com/microsoft/vcpkg/pull/9160) [ffmpeg] Fixed build error ARM64 Windows 10 -- [(#9199)](https://github.com/microsoft/vcpkg/pull/9199) [vcpkg] Add November changelog -- [(#9203)](https://github.com/microsoft/vcpkg/pull/9203) [vcpkg] Check in baseline results for CI builds -- [(#9191)](https://github.com/microsoft/vcpkg/pull/9191) [vcpkg] Give hints for yasm with brew and apt -- [(#9242)](https://github.com/microsoft/vcpkg/pull/9242) [libxslt] Fix writing to locations outside vcpkg in Windows builds -- [(#9279)](https://github.com/microsoft/vcpkg/pull/9279) Removed umock-c:64-windows-static result in baseline -- [(#9280)](https://github.com/microsoft/vcpkg/pull/9280) [vcpkg] Add pull request template -- [(#9331)](https://github.com/microsoft/vcpkg/pull/9331) Update baseline to skip ogre conflicts -- [(#9349)](https://github.com/microsoft/vcpkg/pull/9349) Update baseline with 'leptonica:arm-uwp=fail' -- [(#9277)](https://github.com/microsoft/vcpkg/pull/9277) [brynet] Update to 1.0.5 -- [(#9330)](https://github.com/microsoft/vcpkg/pull/9330) [simpleini] Fix build failure on travis CI -- [(#9313)](https://github.com/microsoft/vcpkg/pull/9313) [opendnp3] Add new port -- [(#9255)](https://github.com/microsoft/vcpkg/pull/9255) [OpenEXR] add missing underscore for OpenEXR_IEXMATH_LIBRARY_DEBUG NAMES -- [(#9252)](https://github.com/microsoft/vcpkg/pull/9252) [rttr] Add dependency rapidjson -- [(#8533)](https://github.com/microsoft/vcpkg/pull/8533) Fix CMAKE_TRY_COMPILE_PLATFORM_VARIABLES -- [(#9382)](https://github.com/microsoft/vcpkg/pull/9382) [directxtk12] Update to dec2019 release -- [(#9383)](https://github.com/microsoft/vcpkg/pull/9383) [directxtex] Update to dec2019 release -- [(#9384)](https://github.com/microsoft/vcpkg/pull/9384) [directxmesh] Update to dec2019 release -- [(#9381)](https://github.com/microsoft/vcpkg/pull/9381) [directxtk] Update to dec2019 release -- [(#9287)](https://github.com/microsoft/vcpkg/pull/9287) Removed unused template function. -- [(#9411)](https://github.com/microsoft/vcpkg/pull/9411) [vcpkg-baseline] Fixes for vtk, libarchive, xalan-c, and openvpn3 on Linux -- [(#9412)](https://github.com/microsoft/vcpkg/pull/9412) [vcpkg_install_qmake] Add vcpkg_install_qmake -- [(#9388)](https://github.com/microsoft/vcpkg/pull/9388) [hiredis] Support building static -- [(#8624)](https://github.com/microsoft/vcpkg/pull/8624) [protobuf-c]Add new port. -- [(#9389)](https://github.com/microsoft/vcpkg/pull/9389) Remove vtk:x64-linux result in baseline - -
-The following 8 ports have been added: - -|port|version| -|---|---| -|[proxywrapper](https://github.com/microsoft/vcpkg/pull/8916)| 1.0.0 -|[opendnp3](https://github.com/microsoft/vcpkg/pull/9313)| 2.3.2 -|[function2](https://github.com/microsoft/vcpkg/pull/9246)| 4.0.0 -|[protobuf-c](https://github.com/microsoft/vcpkg/pull/8624)| 1.3.2 -|[indicators](https://github.com/microsoft/vcpkg/pull/9315)| 1.5 -|[proxygen](https://github.com/microsoft/vcpkg/pull/8766)| 2019.10.21.00 -|[azure-kinect-sensor-sdk](https://github.com/microsoft/vcpkg/pull/8786)| 1.4.0-alpha.0 -|[xtensor-fftw](https://github.com/microsoft/vcpkg/pull/9159)| 2019-11-30 -
- -
-The following 72 ports have been updated: - -- restinio `0.6.1` -> `0.6.2` - - [(#9174)](https://github.com/microsoft/vcpkg/pull/9174) [restinio] Update to v.0.6.1.1. - - [(#9293)](https://github.com/microsoft/vcpkg/pull/9293) [restinio] update to 0.6.2 - -- pixman `0.38.0-4` -> `0.38.4-1` - - [(#9170)](https://github.com/microsoft/vcpkg/pull/9170) [pixman] Update to version 0.38.4 - -- cjson `1.7.12` -> `2019-11-30` - - [(#9157)](https://github.com/microsoft/vcpkg/pull/9157) [cjson] Update to 2019-11-30 - -- parallel-hashmap `1.24` -> `1.27` - - [(#9152)](https://github.com/microsoft/vcpkg/pull/9152) [parallel-hashmap] Update to 1.27 - -- jsoncons `0.139.0` -> `0.140.0` - - [(#9124)](https://github.com/microsoft/vcpkg/pull/9124) [jsoncons] Update to v0.140.0 - -- boost-modular-build-helper `1.71.0` -> `1.71.0-1` - - [(#9108)](https://github.com/microsoft/vcpkg/pull/9108) [boost-modular-build-helper] put quotes around the directory - -- protobuf `3.10.0` -> `3.11.2` - - [(#9131)](https://github.com/microsoft/vcpkg/pull/9131) [protobuf] Update protobuf to 3.11.0 - - [(#9271)](https://github.com/microsoft/vcpkg/pull/9271) [protobuf] Update to 3.11.2 - -- ecsutil `1.0.7.3` -> `1.0.7.8` - - [(#8885)](https://github.com/microsoft/vcpkg/pull/8885) [ecsuti] Update to v1.0.7.8 - -- libmodman `2.0.1` -> `2.0.1-1` - - [(#8916)](https://github.com/microsoft/vcpkg/pull/8916) [proxywrapper] Add new port - -- libproxy `0.4.15` -> `0.4.15-1` - - [(#8916)](https://github.com/microsoft/vcpkg/pull/8916) [proxywrapper] Add new port - -- xalan-c `1.11-9` -> `1.11-11` - - [(#9203)](https://github.com/microsoft/vcpkg/pull/9203) [vcpkg] Check in baseline results for CI builds - - [(#9411)](https://github.com/microsoft/vcpkg/pull/9411) [vcpkg-baseline] Fixes for vtk, libarchive, xalan-c, and openvpn3 on Linux - -- libxslt `1.1.33-5` -> `1.1.33-6` - - [(#9242)](https://github.com/microsoft/vcpkg/pull/9242) [libxslt] Fix writing to locations outside vcpkg in Windows builds - -- azure-c-shared-utility `2019-10-07.2` -> `2019-10-07.2-1` - - [(#9117)](https://github.com/microsoft/vcpkg/pull/9117) [azure-iot-sdk-c] Update macro-utils and umock-c to differentiate master and public-preview installations - -- azure-iot-sdk-c `2019-11-21.1` -> `2019-11-27.1` - - [(#9117)](https://github.com/microsoft/vcpkg/pull/9117) [azure-iot-sdk-c] Update macro-utils and umock-c to differentiate master and public-preview installations - -- azure-macro-utils-c `2019-10-07.2` -> `2019-11-27.1` - - [(#9117)](https://github.com/microsoft/vcpkg/pull/9117) [azure-iot-sdk-c] Update macro-utils and umock-c to differentiate master and public-preview installations - -- azure-uamqp-c `2019-10-07.2` -> `2019-11-27.1` - - [(#9117)](https://github.com/microsoft/vcpkg/pull/9117) [azure-iot-sdk-c] Update macro-utils and umock-c to differentiate master and public-preview installations - -- azure-uhttp-c `2019-10-07.2` -> `2019-11-27.1` - - [(#9117)](https://github.com/microsoft/vcpkg/pull/9117) [azure-iot-sdk-c] Update macro-utils and umock-c to differentiate master and public-preview installations - -- azure-umqtt-c `2019-10-07.2` -> `2019-11-27.1` - - [(#9117)](https://github.com/microsoft/vcpkg/pull/9117) [azure-iot-sdk-c] Update macro-utils and umock-c to differentiate master and public-preview installations - -- umock-c `2019-10-07.2` -> `2019-11-27.1` - - [(#9117)](https://github.com/microsoft/vcpkg/pull/9117) [azure-iot-sdk-c] Update macro-utils and umock-c to differentiate master and public-preview installations - -- python3 `3.7.4` -> `3.7.3` - - [(#9173)](https://github.com/microsoft/vcpkg/pull/9173) [python3] Fix CONTROL Version - -- brynet `1.0.3` -> `1.0.5` - - [(#9277)](https://github.com/microsoft/vcpkg/pull/9277) [brynet] Update to 1.0.5 - -- cpp-httplib `0.2.5` -> `0.4.2` - - [(#9360)](https://github.com/microsoft/vcpkg/pull/9360) [cpp-httplib] Update library to 0.4.2 - -- botan `2.12.1` -> `2.12.1-1` - - [(#9335)](https://github.com/microsoft/vcpkg/pull/9335) [botan] Fix unrecognized compile flag MT/MD - -- simpleini `2018-08-31-2` -> `2018-08-31-3` - - [(#9330)](https://github.com/microsoft/vcpkg/pull/9330) [simpleini] Fix build failure on travis CI - -- libpcap `1.9.0` -> `1.9.1` - - [(#9329)](https://github.com/microsoft/vcpkg/pull/9329) [libpcap] update portfile for cmake build and bump version to 1.9.1 - -- live555 `latest` -> `latest-1` - - [(#9303)](https://github.com/microsoft/vcpkg/pull/9303) [live555] Fix live555:x86-windows-static build failure - -- usockets `0.3.1` -> `0.3.4` - - [(#9278)](https://github.com/microsoft/vcpkg/pull/9278) [usockets] update to 0.3.4 - -- uwebsockets `0.15.7` -> `0.16.5` - - [(#9276)](https://github.com/microsoft/vcpkg/pull/9276) [uwebsockets] update to 0.16.5 - -- check `0.13.0` -> `0.13.0-1` - - [(#9267)](https://github.com/microsoft/vcpkg/pull/9267) [check] Fix library cannot be found - -- tesseract `4.1.0-3` -> `4.1.0-4` - - [(#9266)](https://github.com/microsoft/vcpkg/pull/9266) [tesseract] Fix feature name and build error - -- libharu `2017-08-15-8` -> `2017-08-15-9` - - [(#9261)](https://github.com/microsoft/vcpkg/pull/9261) [libharu] Remove symbols also exported from tiff (as a default feature) - -- alembic `1.7.11-5` -> `1.7.11-6` - - [(#9255)](https://github.com/microsoft/vcpkg/pull/9255) [OpenEXR] add missing underscore for OpenEXR_IEXMATH_LIBRARY_DEBUG NAMES - -- openexr `2.3.0-4` -> `2.3.0-5` - - [(#9255)](https://github.com/microsoft/vcpkg/pull/9255) [OpenEXR] add missing underscore for OpenEXR_IEXMATH_LIBRARY_DEBUG NAMES - -- xeus `0.20.0` -> `0.20.0-1` - - [(#9254)](https://github.com/microsoft/vcpkg/pull/9254) [xeus] Fix build error with Visual Studio 2019 - -- libpq `9.6.1-8` -> `9.6.3` - - [(#9253)](https://github.com/microsoft/vcpkg/pull/9253) [libpq] Fix version mismatch between CONTROL and portfile - -- rttr `0.9.6-1` -> `0.9.6-2` - - [(#9252)](https://github.com/microsoft/vcpkg/pull/9252) [rttr] Add dependency rapidjson - -- proj4 `6.2.0-1` -> `6.2.1-1` - - [(#9227)](https://github.com/microsoft/vcpkg/pull/9227) [proj4] Update to version 6.2.1; disable exporting symbols for static libraries - -- geotrans `3.7` -> `3.7-1` - - [(#9217)](https://github.com/microsoft/vcpkg/pull/9217) [geotrans] Add macro LITTLE_ENDIAN - -- mongoose `6.15-1` -> `6.15-2` - - [(#9209)](https://github.com/microsoft/vcpkg/pull/9209) [mongoose] Add feature ssl - -- ecm `5.60.0-1` -> `5.60.0-2` - - [(#9210)](https://github.com/microsoft/vcpkg/pull/9210) [ecm] Add usage to fix printing error messages - -- tbb `2019_U8-2` -> `2019_U8-3` - - [(#9188)](https://github.com/microsoft/vcpkg/pull/9188) [tbb] Set fatal build tool requirements for UNIX - -- libqglviewer `2.7.0-2` -> `2.7.2-2` - - [(#9186)](https://github.com/microsoft/vcpkg/pull/9186) [libqglviewer] update to 2.7.2 - - [(#9412)](https://github.com/microsoft/vcpkg/pull/9412) [vcpkg_install_qmake] Add vcpkg_install_qmake - -- nanodbc `2.12.4-4` -> `2.12.4-5` - - [(#9185)](https://github.com/microsoft/vcpkg/pull/9185) [nanodbc] Set NANODBC_ENABLE_UNICODE to OFF - -- libevent `2.1.11-1` -> `2.1.11-2` - - [(#9101)](https://github.com/microsoft/vcpkg/pull/9101) [libevent] Add thread as default feature - -- directxtk12 `oct2019` -> `dec2019` - - [(#9382)](https://github.com/microsoft/vcpkg/pull/9382) [directxtk12] Update to dec2019 release - -- directxtex `oct2019` -> `dec2019` - - [(#9383)](https://github.com/microsoft/vcpkg/pull/9383) [directxtex] Update to dec2019 release - -- directxmesh `aug2019` -> `dec2019` - - [(#9384)](https://github.com/microsoft/vcpkg/pull/9384) [directxmesh] Update to dec2019 release - -- directxtk `oct2019` -> `dec2019` - - [(#9381)](https://github.com/microsoft/vcpkg/pull/9381) [directxtk] Update to dec2019 release - -- nano-signal-slot `2018-08-25-1` -> `2.0.1` - - [(#9376)](https://github.com/microsoft/vcpkg/pull/9376) [nano-signal-slot] Update to latest version - -- libarchive `3.4.0-1` -> `3.4.0-2` - - [(#9411)](https://github.com/microsoft/vcpkg/pull/9411) [vcpkg-baseline] Fixes for vtk, libarchive, xalan-c, and openvpn3 on Linux - -- openvpn3 `3.4.1` -> `3.4.1-1` - - [(#9411)](https://github.com/microsoft/vcpkg/pull/9411) [vcpkg-baseline] Fixes for vtk, libarchive, xalan-c, and openvpn3 on Linux - -- ffmpeg `4.2-1` -> `4.2-2` - - [(#9405)](https://github.com/microsoft/vcpkg/pull/9405) [ffmpeg] portfile: fix typo Relase->Release - - [(#9090)](https://github.com/microsoft/vcpkg/pull/9090) [ffmpeg] install correct copyright file and enable (L)GPLv3 builds - -- entt `3.1.1` -> `3.2.2` - - [(#9409)](https://github.com/microsoft/vcpkg/pull/9409) [entt] Upgrade library to 3.2.2 - -- doctest `2.3.5` -> `2.3.6` - - [(#9403)](https://github.com/microsoft/vcpkg/pull/9403) [doctest] Update library to 2.3.6 - -- qcustomplot `2.0.1-1` -> `2.0.1-3` - - [(#9412)](https://github.com/microsoft/vcpkg/pull/9412) [vcpkg_install_qmake] Add vcpkg_install_qmake - -- qscintilla `2.10-9` -> `2.10-11` - - [(#9412)](https://github.com/microsoft/vcpkg/pull/9412) [vcpkg_install_qmake] Add vcpkg_install_qmake - -- qt5-base `5.12.5-3` -> `5.12.5-7` - - [(#9412)](https://github.com/microsoft/vcpkg/pull/9412) [vcpkg_install_qmake] Add vcpkg_install_qmake - -- qwt `6.1.3-8` -> `6.1.3-10` - - [(#9412)](https://github.com/microsoft/vcpkg/pull/9412) [vcpkg_install_qmake] Add vcpkg_install_qmake - -- hiredis `2019-11-1` -> `2019-11-2` - - [(#9388)](https://github.com/microsoft/vcpkg/pull/9388) [hiredis] Support building static - -- argparse `2.0.1` -> `2.1` - - [(#9291)](https://github.com/microsoft/vcpkg/pull/9291) [argparse] Upgrade to v2.1 - -- angle `2019-07-19-3` -> `2019-07-19-4` - - [(#7923)](https://github.com/microsoft/vcpkg/pull/7923) [angle]Fix windows build error: cannot find definition far. - -- libwebp `1.0.2-7` -> `1.0.2-8` - - [(#9300)](https://github.com/microsoft/vcpkg/pull/9300) [libwebp] Fixed build error ARM64 Windows 10 - -- libpng `1.6.37-5` -> `1.6.37-6` - - [(#9198)](https://github.com/microsoft/vcpkg/pull/9198) [libpng] Strong cleanup of the port - -- libgit2 `0.28.3` -> `0.28.4` - - [(#9270)](https://github.com/microsoft/vcpkg/pull/9270) [libgit2] Update to 0.28.4 - -- embree3 `3.5.2-3` -> `3.6.1` - - [(#9073)](https://github.com/microsoft/vcpkg/pull/9073) [embree3] Update to version 3.6.1 - -- pmdk `1.7` -> `1.7-1` - - [(#9094)](https://github.com/microsoft/vcpkg/pull/9094) [pmdk] Remove non-ascii charactor - -- fftwpp `2.05` -> `2019-12-19` - - [(#9169)](https://github.com/microsoft/vcpkg/pull/9169) [fftwpp] Update to latest commit - -- freerdp `2.0.0-rc4-2` -> `2.0.0-rc4-3` - - [(#9176)](https://github.com/microsoft/vcpkg/pull/9176) [freerdp] Fix linux build, add dependency port glib - -- abseil `2019-05-08-1` -> `2019-12-19` - - [(#9367)](https://github.com/microsoft/vcpkg/pull/9367) [abseil] Update to the latest and fix link failure error using StrCat - -- sdl2-gfx `1.0.4-2` -> `1.0.4-4` - - [(#9319)](https://github.com/microsoft/vcpkg/pull/9319) [sdl2-gfx] Update CMake build and find_package support - -- io2d `2019-07-11-1` -> `2019-07-11-2` - - [(#8935)](https://github.com/microsoft/vcpkg/pull/8935) [io2d] Fix link to target "Cairo::Cairo" error - -- vtk `8.2.0-9` -> `8.2.0-10` - - [(#9389)](https://github.com/microsoft/vcpkg/pull/9389) Remove vtk:x64-linux result in baseline - -
- --- vcpkg team vcpkg@microsoft.com TUE, 09 Jan 05:45:00 -0800 - -vcpkg (2019.11.30) ---- -#### Total port count: 1262 -#### Total port count per triplet (tested): -|triplet|ports available| -|---|---| -|**x64-windows**|1182| -|x86-windows|1163| -|x64-windows-static|1094| -|**x64-linux**|1021| -|**x64-osx**|984| -|arm64-windows|782| -|x64-uwp|646| -|arm-uwp|614| - -#### The following commands and options have been updated: -- `export` - - `--x-chocolatey` ***[NEW OPTION]*** : Experimental option to export a port as a `chocolatey` package - - [(#6891)](https://github.com/microsoft/vcpkg/pull/6891) [feature] add `vcpkg export --x-chocolatey` support - -#### The following documentation has been updated: -- [vcpkg_from_github](docs/maintainers/vcpkg_from_github.md) - - [(#5719)](https://github.com/microsoft/vcpkg/pull/5719) [vcpkg_from_github] Allow targeting Github Enterprise instances -- [Privacy and Vcpkg](docs/about/privacy.md) - - [(#9080)](https://github.com/microsoft/vcpkg/pull/9080) [vcpkg] update telemetry - -#### The following additional changes have been made to vcpkg's infrastructure: -- [(#8853)](https://github.com/microsoft/vcpkg/pull/8853) Add October changelog -- [(#8894)](https://github.com/microsoft/vcpkg/pull/8894) Update README.md -- [(#8976)](https://github.com/microsoft/vcpkg/pull/8976) [libusb] upgrade and support arm64-windows -- [(#8924)](https://github.com/microsoft/vcpkg/pull/8924) [vcpkg] Remove libc++fs link dependency for clang/libc++ 9.* -- [(#7598)](https://github.com/microsoft/vcpkg/pull/7598) [vcpkg] QoL: add host specific path separator to common definitions -- [(#8941)](https://github.com/microsoft/vcpkg/pull/8941) [docs] Add the gcc+=7 prerequisite to the README -- [(#5719)](https://github.com/microsoft/vcpkg/pull/5719) [vcpkg_from_github] Allow targeting Github Enterprise instances -- [(#9080)](https://github.com/microsoft/vcpkg/pull/9080) [vcpkg] update telemetry - -
-The following 12 ports have been added: - -|port|version| -|---|---| -|[ogre-next](https://github.com/microsoft/vcpkg/pull/8677)| 2019-10-20 -|[hiredis](https://github.com/microsoft/vcpkg/pull/8843)[#8862](https://github.com/microsoft/vcpkg/pull/8862) | 2019-11-1 -|[cspice](https://github.com/microsoft/vcpkg/pull/8859)| 66-1 -|[ecos](https://github.com/microsoft/vcpkg/pull/9019)| 2.0.7 -|[redis-plus-plus](https://github.com/microsoft/vcpkg/pull/8846)| 1.1.1 -|[nanoflann](https://github.com/microsoft/vcpkg/pull/8962)| 1.3.1 -|[wxchartdir](https://github.com/microsoft/vcpkg/pull/7914)| 1.0.0 -|[faad2](https://github.com/microsoft/vcpkg/pull/9003)| 2.9.1-1 -|[pfring](https://github.com/microsoft/vcpkg/pull/8648)| 2019-10-17 -|[libmodman](https://github.com/microsoft/vcpkg/pull/8931)| 2.0.1 -|[libproxy](https://github.com/microsoft/vcpkg/pull/8931)| 0.4.15 -|[google-cloud-cpp-spanner](https://github.com/microsoft/vcpkg/pull/9096)| 0.3.0 -
- -
-The following 67 ports have been updated: - -- tbb `2019_U8-1` -> `2019_U8-2` - - [(#8744)](https://github.com/microsoft/vcpkg/pull/8744) tbb: Fix compilation on OSX - -- openvpn3 `2018-03-21-1` -> `3.4.1` - - [(#8851)](https://github.com/microsoft/vcpkg/pull/8851) openvpn3: bump version - -- sqlpp11 `0.58-2` -> `0.58-3` - - [(#8837)](https://github.com/microsoft/vcpkg/pull/8837) [sqlpp11] fixed ddl2cpp path - -- jsonnet `0.13.0` -> `0.14.0` - - [(#8848)](https://github.com/microsoft/vcpkg/pull/8848) [jsonnet]Upgrade to 0.14.0. - -- pango `1.40.11-4` -> `1.40.11-5` - - [(#8745)](https://github.com/microsoft/vcpkg/pull/8745) [pango] Add missing link library - -- opencv3 `3.4.7-2` -> `3.4.8` - - [(#8623)](https://github.com/microsoft/vcpkg/pull/8623) [opencv3] Upgrade to version 3.4.8 - - [(#8911)](https://github.com/microsoft/vcpkg/pull/8911) Revert "[opencv3] Upgrade to version 3.4.8" - -- boost-modular-build-helper `1.70.0-2` -> `1.71.0` - - [(#8606)](https://github.com/microsoft/vcpkg/pull/8606) [boost-modular-build-helper] Update to 1.71. - -- libxslt `1.1.33-4` -> `1.1.33-5` - - [(#9014)](https://github.com/microsoft/vcpkg/pull/9014) Prevent python3 build failure - -- python3 `3.7.3` -> `3.7.4` - - [(#9014)](https://github.com/microsoft/vcpkg/pull/9014) Prevent python3 build failure - -- orc `1.5.6-1` -> `1.5.7` - - [(#8980)](https://github.com/microsoft/vcpkg/pull/8980) [orc]Upgrade to 1.5.7, disable tzdata test. - -- openvdb `6.1.0` -> `6.2.1` - - [(#8979)](https://github.com/microsoft/vcpkg/pull/8979) [openvdb]Upgrade to 6.2.1 - -- libusb `1.0.22-4` -> `1.0.23` - - [(#8976)](https://github.com/microsoft/vcpkg/pull/8976) [libusb] upgrade and support arm64-windows - -- libmad `0.15.1-4` -> `0.15.1-5` - - [(#8959)](https://github.com/microsoft/vcpkg/pull/8959) [libmad] Fix libmad header for non-x86 MSVC targets - -- wil `2019-07-16` -> `2019-11-07` - - [(#8948)](https://github.com/microsoft/vcpkg/pull/8948) Update WIL port - -- botan `2.11.0` -> `2.12.1` - - [(#8844)](https://github.com/microsoft/vcpkg/pull/8844) [botan]Upgrade to 2.12.1 - -- libbson `1.14.0-3` -> `1.15.1-1` - - [(#8790)](https://github.com/microsoft/vcpkg/pull/8790) [libbson][mongo-c-driver] Update to 1.15.1. Parse CONTROL file for version number - -- mongo-c-driver `1.14.0-5` -> `1.15.1-1` - - [(#8790)](https://github.com/microsoft/vcpkg/pull/8790) [libbson][mongo-c-driver] Update to 1.15.1. Parse CONTROL file for version number - -- libpopt `1.16-11` -> `1.16-12` - - [(#8652)](https://github.com/microsoft/vcpkg/pull/8652) [libpopt]Fix linux build. - -- libpng `1.6.37-4` -> `1.6.37-5` - - [(#8622)](https://github.com/microsoft/vcpkg/pull/8622) [lipng/libpng-apng]Remove port libpng-apng and add apng as a feature with libpng. - - [(#8716)](https://github.com/microsoft/vcpkg/pull/8716) [libpng] Fix CMake targets - -- evpp `0.7.0-1` -> `0.7.0-2` - - [(#8349)](https://github.com/microsoft/vcpkg/pull/8349) [libevent] add features - -- libevent `2.1.11` -> `2.1.11-1` - - [(#8349)](https://github.com/microsoft/vcpkg/pull/8349) [libevent] add features - -- restinio `0.6.0.1` -> `0.6.1` - - [(#8993)](https://github.com/microsoft/vcpkg/pull/8993) [restinio] Update to v.0.6.1 - -- google-cloud-cpp-common `0.15.0` -> `0.16.0-1` - - [(#8986)](https://github.com/microsoft/vcpkg/pull/8986) [google-cloud-cpp*] Update to 0.16.0 - - [(#9097)](https://github.com/microsoft/vcpkg/pull/9097) [google-cloud-cpp-common] Add test feature - -- google-cloud-cpp `0.14.0-1` -> `0.15.0` - - [(#8986)](https://github.com/microsoft/vcpkg/pull/8986) [google-cloud-cpp*] Update to 0.16.0 - -- freetype-gl `2019-03-29-2` -> `2019-03-29-3` - - [(#8992)](https://github.com/microsoft/vcpkg/pull/8992) [freetype-gl] Fix POST_BUILD_CHECKS_FAILED failure on Unix - -- tinyobjloader `1.0.7-1` -> `2.0.0-rc2` - - [(#8955)](https://github.com/microsoft/vcpkg/pull/8955) [tinyobjloader] Update to 2.0.0-rc2; Add feature to enable double precision - -- libzip `rel-1-5-2` -> `rel-1-5-2--1` - - [(#8918)](https://github.com/microsoft/vcpkg/pull/8918) [libzip] Fix patch not applying - -- tgui `0.8.5` -> `0.8.6` - - [(#8877)](https://github.com/microsoft/vcpkg/pull/8877) [tgui]Update to 0.8.6 - -- jsoncons `0.136.1` -> `0.139.0` - - [(#9058)](https://github.com/microsoft/vcpkg/pull/9058) [jsoncons] Update to v0.139.0 - -- azure-iot-sdk-c `2019-10-11.2` -> `2019-11-21.1` - - [(#9059)](https://github.com/microsoft/vcpkg/pull/9059) [azure-iot-sdk-c] Update public-preview feature to branch with fixed telemetry - -- tiff `4.0.10-7` -> `4.0.10-8` - - [(#9010)](https://github.com/microsoft/vcpkg/pull/9010) [tiff] Make BUILD_TOOLS option a feature - -- magic-enum `0.6.3` -> `0.6.3-1` - - [(#9007)](https://github.com/microsoft/vcpkg/pull/9007) [magic-enum] Fix export config.cmake issue - -- libflac `1.3.2-6` -> `1.3.3` - - [(#8988)](https://github.com/microsoft/vcpkg/pull/8988) [libflac] Update libflac to 1.3.3 - -- otl `4.0.447` -> `4.0.448` - - [(#8937)](https://github.com/microsoft/vcpkg/pull/8937) [otl] Upgrade to version 4.0.448 - -- librtmp `2.4-2` -> `2019-11-11` - - [(#8958)](https://github.com/microsoft/vcpkg/pull/8958) use latest librtmp - -- stlab `1.4.1-1` -> `1.5.1` - - [(#8901)](https://github.com/microsoft/vcpkg/pull/8901) [stlab] Update to 1.5.1 - -- bitsery `5.0.0` -> `5.0.1-1` - - [(#8892)](https://github.com/microsoft/vcpkg/pull/8892) [bitsery] Update to 5.0.1 - -- cereal `1.2.2-2` -> `1.3.0` - - [(#8913)](https://github.com/microsoft/vcpkg/pull/8913) [cereal] Update to 1.3.0 - -- fizz `2019.07.08.00` -> `2019.10.28.00` - - [(#8765)](https://github.com/microsoft/vcpkg/pull/8765) [folly/fizz]Upgrade version. - -- folly `2019.06.17.00` -> `2019.10.21.00` - - [(#8765)](https://github.com/microsoft/vcpkg/pull/8765) [folly/fizz]Upgrade version. - -- qt5-base `5.12.5-1` -> `5.12.5-3` - - [(#8793)](https://github.com/microsoft/vcpkg/pull/8793) [qt5] Modify qtdeploy to include qtquickshapes - - [(#8932)](https://github.com/microsoft/vcpkg/pull/8932) [qt5-base] Add option to link to OpenSSL at compile-time - -- nlohmann-json `3.7.0` -> `3.7.3` - - [(#9069)](https://github.com/microsoft/vcpkg/pull/9069) [nlohmann-json] Upgrade to 3.7.3 - -- json-dto `0.2.8-2` -> `0.2.9.2` - - [(#9057)](https://github.com/microsoft/vcpkg/pull/9057) [json-dto] Update to v0.2.9; Switch repo; Fix license installation - - [(#9083)](https://github.com/microsoft/vcpkg/pull/9083) [json_dto] Update to v.0.2.9.2 - -- prometheus-cpp `0.7.0` -> `0.8.0` - - [(#9047)](https://github.com/microsoft/vcpkg/pull/9047) [prometheus-cpp] Update to version 0.8.0 - -- date `2019-09-09` -> `2019-11-08` - - [(#9006)](https://github.com/microsoft/vcpkg/pull/9006) [date] Update to 2019-11-08 - -- netcdf-cxx4 `4.3.0-5` -> `4.3.1` - - [(#8978)](https://github.com/microsoft/vcpkg/pull/8978) [netcdf-cxx4] Update to 4.3.1 - -- libsodium `1.0.18-1` -> `1.0.18-2` - - [(#8974)](https://github.com/microsoft/vcpkg/pull/8974) [libsodium] Fix CPU feature not properly detected on Linux - -- cgal `4.14-3` -> `5.0` - - [(#8659)](https://github.com/microsoft/vcpkg/pull/8659) [cgal][openmvs] CGAL: Upgrade to 5.0 - -- openmvs `1.0-2` -> `1.0-3` - - [(#8659)](https://github.com/microsoft/vcpkg/pull/8659) [cgal][openmvs] CGAL: Upgrade to 5.0 - -- ace `6.5.6` -> `6.5.7` - - [(#9074)](https://github.com/microsoft/vcpkg/pull/9074) [ace] Upgrade to 6.5.7 - -- libmspack `0.10.1-2` -> `0.10.1-3` - - [(#8966)](https://github.com/microsoft/vcpkg/pull/8966) [libmspack] Fix several missing imports - -- mdnsresponder `765.30.11-1` -> `765.30.11-2` - - [(#8953)](https://github.com/microsoft/vcpkg/pull/8953) [mdnsresponder] Fix build with dynamic CRT - -- detours `4.0.1` -> `4.0.1-1` - - [(#8854)](https://github.com/microsoft/vcpkg/pull/8854) [detours] Update for vcpkg_build_nmake - -- curlpp `2018-06-15-1` -> `2018-06-15-2` - - [(#9065)](https://github.com/microsoft/vcpkg/pull/9065) [curlpp] Restore installing vcpkg-cmake-wrapper script - -- portaudio `2019-09-30` -> `2019-11-5` - - [(#8944)](https://github.com/microsoft/vcpkg/pull/8944) [portaudio] Fix library cannot be found - -- wt `4.0.5-1` -> `4.1.1` - - [(#8903)](https://github.com/microsoft/vcpkg/pull/8903) [wt] Update to 4.1.1 - -- z3 `4.8.5-1` -> `4.8.6` - - [(#8899)](https://github.com/microsoft/vcpkg/pull/8899) [z3] Update to 4.8.6 - -- pdcurses `3.8-1` -> `3.8-2` - - [(#9042)](https://github.com/microsoft/vcpkg/pull/9042) [pdcurses] Fix linkage error - -- angle `2019-07-19-2` -> `2019-07-19-3` - - [(#8785)](https://github.com/microsoft/vcpkg/pull/8785) [angle] Add option /bigobj to compiler - -- argparse `1.9` -> `2.0.1` - - [(#9088)](https://github.com/microsoft/vcpkg/pull/9088) [argparse] Update library to 2.0.1 - -- catch2 `2.10.1-1` -> `2.11.0` - - [(#9089)](https://github.com/microsoft/vcpkg/pull/9089) [catch2] Update library to 2.11.0 - -- magnum-plugins `2019.10` -> `2019.10-1` - - [(#8939)](https://github.com/microsoft/vcpkg/pull/8939) [magnum-plugins] Fix basisimporter/basisimageconverter features - -- spdlog `1.3.1-2` -> `1.4.2` - - [(#8779)](https://github.com/microsoft/vcpkg/pull/8779) [spdlog]Update to 1.4.2 - -- assimp `5.0.0-1` -> `5.0.0-2` - - [(#9075)](https://github.com/microsoft/vcpkg/pull/9075) [minizip, assimp] Export minizip CMake targets; Add minizip as assimp dependency - -- minizip `1.2.11-5` -> `1.2.11-6` - - [(#9075)](https://github.com/microsoft/vcpkg/pull/9075) [minizip, assimp] Export minizip CMake targets; Add minizip as assimp dependency - -- ixwebsocket `6.1.0` -> `7.4.0` - - [(#9099)](https://github.com/microsoft/vcpkg/pull/9099) [ixwebsocket] Update to 7.4.0 - -- ppconsul `0.3-1` -> `0.4` - - [(#9104)](https://github.com/microsoft/vcpkg/pull/9104) [ppconsul] Update to 0.4 - -
- --- vcpkg team vcpkg@microsoft.com TUE, 03 Dec 14:30:00 -0800 - -vcpkg (2019.10.31) ---- -#### Total port count: 1250 -#### Total port count per triplet (tested): -|triplet|ports available| -|---|---| -|**x64-windows**|1169| -|x86-windows|1154| -|x64-windows-static|1080| -|**x64-linux**|1014| -|**x64-osx**|976| -|arm64-windows|774| -|x64-uwp|638| -|arm-uwp|608| - -#### The following commands and options have been updated: -- `create` - - Port template updated with best practices, new CMake variables, `CONTROL` homepage field and example feature entries, links to relevant documentation, and maintainer function usage examples - - [(#8427)](https://github.com/microsoft/vcpkg/pull/8427) Update vcpkg create template - - [(#8488)](https://github.com/microsoft/vcpkg/pull/8488) update templates. - -#### The following documentation has been updated: -- [vcpkg_fixup_cmake_targets](docs/maintainers/cmake_fixup_cmake_targets.md) ***[NEW]*** - - [(#8365)](https://github.com/microsoft/vcpkg/pull/8365) [Documentation] Added documentation page for vcpkg_fixup_cmake_targets.cmake - - [(#8424)](https://github.com/microsoft/vcpkg/pull/8424) [Documentation] Update and rename cmake_fixup_cmake_targets.md to vcpkg_fixup_cmake_t… -- [vcpkg_build_make](docs/maintainers/vcpkg_build_make.md) ***[NEW]*** - - [(#8267)](https://github.com/microsoft/vcpkg/pull/8267) Add function vcpkg_configure_make/vcpkg_build_make/vcpkg_install_make/vcpkg_build_nmake/vcpkg_install_nmake -- [vcpkg_build_nmake](docs/maintainers/vcpkg_build_nmake.md) ***[NEW]*** - - [(#8267)](https://github.com/microsoft/vcpkg/pull/8267) Add function vcpkg_configure_make/vcpkg_build_make/vcpkg_install_make/vcpkg_build_nmake/vcpkg_install_nmake - - [(#8589)](https://github.com/microsoft/vcpkg/pull/8589) [libxslt]Using vcpkg_install_nmake in Windows, support unix. -- [vcpkg_configure_make](docs/maintainers/vcpkg_configure_make.md) ***[NEW]*** - - [(#8267)](https://github.com/microsoft/vcpkg/pull/8267) Add function vcpkg_configure_make/vcpkg_build_make/vcpkg_install_make/vcpkg_build_nmake/vcpkg_install_nmake - - [(#8647)](https://github.com/microsoft/vcpkg/pull/8647) support SKIP_CONFIGURE in vcpkg_configure_make. -- [vcpkg_install_make](docs/maintainers/vcpkg_install_make.md) ***[NEW]*** - - [(#8267)](https://github.com/microsoft/vcpkg/pull/8267) Add function vcpkg_configure_make/vcpkg_build_make/vcpkg_install_make/vcpkg_build_nmake/vcpkg_install_nmake -- [vcpkg_install_nmake](docs/maintainers/vcpkg_install_nmake.md) ***[NEW]*** - - [(#8267)](https://github.com/microsoft/vcpkg/pull/8267) Add function vcpkg_configure_make/vcpkg_build_make/vcpkg_install_make/vcpkg_build_nmake/vcpkg_install_nmake - - [(#8589)](https://github.com/microsoft/vcpkg/pull/8589) [libxslt]Using vcpkg_install_nmake in Windows, support unix. -- [Chinese README](README_zh_CN.md) ***[NEW]*** - - [(#8476)](https://github.com/microsoft/vcpkg/pull/8476) Add Chinese readme. -- [Portfile Helper Functions](docs/maintainers/portfile-functions.md) - - [(#8267)](https://github.com/microsoft/vcpkg/pull/8267) Add function vcpkg_configure_make/vcpkg_build_make/vcpkg_install_make/vcpkg_build_nmake/vcpkg_install_nmake -- [Maintainer Guidelines and Policies](docs/maintainers/maintainer-guide.md) - - [(#8720)](https://github.com/microsoft/vcpkg/pull/8720) maintainer-guide.md - Fix link - -#### The following *remarkable* changes have been made to vcpkg's infrastructure: -- New maintainer `portfile.cmake` helper functions for finer control over configuring/building/installing with `make` and `nmake` - - [(#8267)](https://github.com/microsoft/vcpkg/pull/8267) Add function vcpkg_configure_make/vcpkg_build_make/vcpkg_install_make/vcpkg_build_nmake/vcpkg_install_nmake - - [(#8540)](https://github.com/microsoft/vcpkg/pull/8540) Fix separate make and install execution error issue. - - [(#8589)](https://github.com/microsoft/vcpkg/pull/8589) [libxslt]Using vcpkg_install_nmake in Windows, support unix. - - [(#8610)](https://github.com/microsoft/vcpkg/pull/8610) Add AUTOCONF support with vcpkg_configure_make in Windows. - - [(#8647)](https://github.com/microsoft/vcpkg/pull/8647) support SKIP_CONFIGURE in vcpkg_configure_make. -- Support for the `go` compiler in `vcpkg_find_acquire_program` - - [(#8440)](https://github.com/microsoft/vcpkg/pull/8440) Add go to vcpkg_find_acquire_program - -#### The following *additional* changes have been made to vcpkg's infrastructure: -- [(#8365)](https://github.com/microsoft/vcpkg/pull/8365) [Documentation] Added documentation page for vcpkg_fixup_cmake_targets.cmake -- [(#8418)](https://github.com/microsoft/vcpkg/pull/8418) Add September changelog -- [(#8435)](https://github.com/microsoft/vcpkg/pull/8435) Find default for text/plain on Linux and Windows (#567) -- [(#8489)](https://github.com/microsoft/vcpkg/pull/8489) Fix option -j -- [(#8580)](https://github.com/microsoft/vcpkg/pull/8580) Fix CMake checks for Apple Clang 11.0 on macOS 10.15 -- [(#8638)](https://github.com/microsoft/vcpkg/pull/8638) Fix compile error in Visual Studio 2017 15.1 -- [(#8669)](https://github.com/microsoft/vcpkg/pull/8669) [vcpkg_download_distfile.cmake] Fix Examples -- [(#8667)](https://github.com/microsoft/vcpkg/pull/8667) vcpkg_configure_meson - Remove compiler flag /Oi -- [(#8639)](https://github.com/microsoft/vcpkg/pull/8639) mesonbuild - Update to 0.52.0 - -
-The following 24 ports have been added: - -|port|version| -|---|---| -|[cpp-base64](https://github.com/microsoft/vcpkg/pull/8368)| 2019-06-19 -|[mgnlibs](https://github.com/microsoft/vcpkg/pull/8390)| 2019-09-29 -|[mmx](https://github.com/microsoft/vcpkg/pull/8384)| 2019-09-29 -|[kcp](https://github.com/microsoft/vcpkg/pull/8278)| 2019-09-20 -|[dbow3](https://github.com/microsoft/vcpkg/pull/8547)| 1.0.0 -|[nlohmann-fifo-map](https://github.com/microsoft/vcpkg/pull/8458)| 2018.05.07 -|[libcrafter](https://github.com/microsoft/vcpkg/pull/8568)| 0.3 -|[libudns](https://github.com/microsoft/vcpkg/pull/8572)| 0.4 -|[ffnvcodec](https://github.com/microsoft/vcpkg/pull/8559)| 9.1.23.0 -|[bfgroup-lyra](https://github.com/microsoft/vcpkg/pull/8612)| 1.1 -|[google-cloud-cpp-common](https://github.com/microsoft/vcpkg/pull/8735)| 0.15.0 -|[libsrt](https://github.com/microsoft/vcpkg/pull/8712)| 1.3.4 -|[polyhook2](https://github.com/microsoft/vcpkg/pull/8719)| 2019-10-24 -|[tool-meson](https://github.com/microsoft/vcpkg/pull/8639)| 0.52.0 -|[slikenet](https://github.com/microsoft/vcpkg/pull/8693)| 2019-10-22 -|[libigl](https://github.com/microsoft/vcpkg/pull/8607)| 2.1.0-1 -|[libmesh](https://github.com/microsoft/vcpkg/pull/8592)| 1.5.0 -|[upb](https://github.com/microsoft/vcpkg/pull/8681)| 2019-10-21 -|[opencensus-cpp](https://github.com/microsoft/vcpkg/pull/8740)| 0.4.0 -|[openscap](https://github.com/microsoft/vcpkg/pull/8654)| 1.3.1 -|[fftwpp](https://github.com/microsoft/vcpkg/pull/8625)| 2.05 -|[ois](https://github.com/microsoft/vcpkg/pull/8507)| 1.5 -|[libdivide](https://github.com/microsoft/vcpkg/pull/8320)| 3.0 -|[wordnet](https://github.com/microsoft/vcpkg/pull/8816)| 3.0 -
- -
-The following 151 ports have been updated: - -- kangaru `4.2.0` -> `4.2.1` - - [(#8414)](https://github.com/microsoft/vcpkg/pull/8414) [kangaru] Update library to 4.2.1 - -- magic-enum `0.6.0` -> `0.6.3` - - [(#8431)](https://github.com/microsoft/vcpkg/pull/8431) [magic_enum] Update to 0.6.1. Add HEAD_REF - - [(#8500)](https://github.com/microsoft/vcpkg/pull/8500) [magic-enum] Update to 0.6.2 - - [(#8656)](https://github.com/microsoft/vcpkg/pull/8656) [magic-enum] Update to 0.6.3 - -- json5-parser `1.0.0` -> `1.0.0-1` - - [(#8401)](https://github.com/microsoft/vcpkg/pull/8401) [json5-parser] fix find_package issue - -- reproc `8.0.1` -> `9.0.0` - - [(#8411)](https://github.com/microsoft/vcpkg/pull/8411) Update reproc to 9.0.0. - -- libfabric `1.8.0` -> `1.8.1` - - [(#8415)](https://github.com/microsoft/vcpkg/pull/8415) [libfabric] Update library to 1.8.1 - -- thrift `2019-05-07-3` -> `2019-05-07-4` - - [(#8410)](https://github.com/microsoft/vcpkg/pull/8410) [thrift]fix-paths - -- grpc `1.23.0` -> `1.23.1-1` - - [(#8438)](https://github.com/microsoft/vcpkg/pull/8438) [grpc] Update grpc to 1.23.1 - - [(#8737)](https://github.com/microsoft/vcpkg/pull/8737) [grpc]Fix build failure in Linux: duplicate function gettid. - -- protobuf `3.9.1` -> `3.10.0` - - [(#8439)](https://github.com/microsoft/vcpkg/pull/8439) [protobuf] Update protobuf to 3.10.0 - -- google-cloud-cpp `0.13.0` -> `0.14.0` - - [(#8441)](https://github.com/microsoft/vcpkg/pull/8441) [google-cloud-cpp] Update to v0.14.0 - -- nrf-ble-driver `4.1.1` -> `4.1.1-1` - - [(#8437)](https://github.com/microsoft/vcpkg/pull/8437) [nrf-ble-driver] Fix version number - -- plplot `5.13.0-2` -> `5.13.0-3` - - [(#8405)](https://github.com/microsoft/vcpkg/pull/8405) fix find_package(wxWidgets) issue in release build - -- freexl `1.0.4-2` -> `1.0.4-8` - - [(#8267)](https://github.com/microsoft/vcpkg/pull/8267) Add function vcpkg_configure_make/vcpkg_build_make/vcpkg_install_make/vcpkg_build_nmake/vcpkg_install_nmake - - [(#8489)](https://github.com/microsoft/vcpkg/pull/8489) Fix option -j - - [(#8540)](https://github.com/microsoft/vcpkg/pull/8540) Fix separate make and install execution error issue. - -- libosip2 `5.1.0` -> `5.1.0-1` - - [(#8267)](https://github.com/microsoft/vcpkg/pull/8267) Add function vcpkg_configure_make/vcpkg_build_make/vcpkg_install_make/vcpkg_build_nmake/vcpkg_install_nmake - -- x264 `157-303c484ec828ed0-2` -> `157-303c484ec828ed0-6` - - [(#8267)](https://github.com/microsoft/vcpkg/pull/8267) Add function vcpkg_configure_make/vcpkg_build_make/vcpkg_install_make/vcpkg_build_nmake/vcpkg_install_nmake - - [(#8489)](https://github.com/microsoft/vcpkg/pull/8489) Fix option -j - - [(#8540)](https://github.com/microsoft/vcpkg/pull/8540) Fix separate make and install execution error issue. - -- qt5-tools `5.12.5-1` -> `5.12.5-2` - - [(#8373)](https://github.com/microsoft/vcpkg/pull/8373) [qt5-tools] change control file so activeqt isn't a dependency on non windows - -- metis `5.1.0-5` -> `5.1.0-6` - - [(#8376)](https://github.com/microsoft/vcpkg/pull/8376) [metis][suitesparse] add metisConfig.cmake - -- suitesparse `5.4.0-3` -> `5.4.0-4` - - [(#8376)](https://github.com/microsoft/vcpkg/pull/8376) [metis][suitesparse] add metisConfig.cmake - -- activemq-cpp `3.9.5` -> `3.9.5-1` - - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply - -- alac-decoder `0.2-1` -> `0.2-3` - - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply - -- angelscript `2.33.1-1` -> `2.34.0` - - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply - - [(#8520)](https://github.com/microsoft/vcpkg/pull/8520) [angelscript] Upgrade to version 2.34.0 - -- anyrpc `2017-12-01` -> `2017-12-01-1` - - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply - -- apr-util `1.6.0-3` -> `1.6.0-5` - - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply - -- apr `1.6.5-2` -> `1.6.5-3` - - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply - -- argtable2 `2.13-2` -> `2.13-4` - - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply - -- atk `2.24.0-4` -> `2.24.0-5` - - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply - -- atkmm `2.24.2-1` -> `2.24.2-2` - - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply - -- aubio `0.4.9` -> `0.4.9-1` - - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply - -- azure-c-shared-utility `2019-08-20.1` -> `2019-10-07.2` - - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply - - [(#8513)](https://github.com/microsoft/vcpkg/pull/8513) [azure] Update azure-iot-sdk-c for release of 2019-10-07 - - [(#8686)](https://github.com/microsoft/vcpkg/pull/8686) [azure] Update azure-iot-sdk-c for 07/2019 LTS refresh - - [(#8731)](https://github.com/microsoft/vcpkg/pull/8731) Revert "[azure] Update azure-iot-sdk-c for 07/2019 LTS refresh (#8686)" - -- berkeleydb `4.8.30-2` -> `4.8.30-3` - - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply - -- bigint `2010.04.30-3` -> `2010.04.30-4` - - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply - -- blaze `3.6` -> `3.6-1` - - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply - -- bond `8.1.0-2` -> `8.1.0-3` - - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply - -- boost-di `1.1.0` -> `1.1.0-1` - - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply - -- butteraugli `2019-05-08` -> `2019-05-08-1` - - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply - -- cairomm `1.15.3-3` -> `1.15.3-4` - - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply - -- cartographer `1.0.0-1` -> `1.0.0-2` - - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply - -- ccd `2.1-1` -> `2.1-3` - - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply - -- ccfits `2.5-3` -> `2.5-4` - - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply - -- cfitsio `3.410-2` -> `3.410-3` - - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply - -- charls `2.0.0-2` -> `2.0.0-3` - - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply - -- chmlib `0.40-3` -> `0.40-4` - - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply - -- clblas `2.12-2` -> `2.12-3` - - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply - -- clblast `1.5.0` -> `1.5.0-1` - - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply - -- clfft `2.12.2-1` -> `2.12.2-2` - - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply - -- collada-dom `2.5.0-2` -> `2.5.0-3` - - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply - -- console-bridge `0.4.3-1` -> `0.4.3-2` - - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply - -- cppkafka `0.3.1-1` -> `0.3.1-2` - - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply - -- cppunit `1.14.0` -> `1.14.0-1` - - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply - -- cunit `2.1.3-2` -> `2.1.3-3` - - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply - -- dlfcn-win32 `1.1.1-3` -> `1.1.1-4` - - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply - -- dmlc `2019-08-12` -> `2019-08-12-1` - - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply - -- duktape `2.4.0-4` -> `2.4.0-6` - - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply - - [(#8767)](https://github.com/microsoft/vcpkg/pull/8767) [duktape] fix pip and pyyaml install issue - -- entityx `1.3.0-1` -> `1.3.0-2` - - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply - -- epsilon `0.9.2` -> `0.9.2-1` - - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply - -- fcl `0.5.0-6` -> `0.5.0-7` - - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply - -- flint `2.5.2-3` -> `2.5.2-4` - - [(#8087)](https://github.com/microsoft/vcpkg/pull/8087) [vcpkg] fatal_error when patch fails to apply - -- nameof `2019-07-13` -> `0.9.2` - - [(#8464)](https://github.com/microsoft/vcpkg/pull/8464) [nameof] Update to 0.9.1 - - [(#8671)](https://github.com/microsoft/vcpkg/pull/8671) [nameof] Update to 0.9.2 - -- gsl-lite `0.28.0` -> `0.34.0` - - [(#8465)](https://github.com/microsoft/vcpkg/pull/8465) [gsl-lite] Update to v0.34.0 - -- libffi `3.1-5` -> `3.1-6` - - [(#8162)](https://github.com/microsoft/vcpkg/pull/8162) [libffi] Add support for CMake config - -- mathgl `2.4.3-2` -> `2.4.3-3` - - [(#8369)](https://github.com/microsoft/vcpkg/pull/8369) [mathgl]Fix feature glut/hdf5/qt5. - -- yoga `1.14.0` -> `1.16.0-1` - - [(#8495)](https://github.com/microsoft/vcpkg/pull/8495) [yoga] Add project declaration and fix linux installation. - - [(#8630)](https://github.com/microsoft/vcpkg/pull/8630) [yoga] Update to 1.16.0 and enabled UWP builds - -- openssl-windows `1.0.2s-1` -> `1.0.2s-2` - - [(#8224)](https://github.com/microsoft/vcpkg/pull/8224) Including config file openssl.cnf in installation. - -- liblas `1.8.1-2` -> `1.8.1-3` - - [(#7920)](https://github.com/microsoft/vcpkg/pull/7920) [liblas]Fix ${_IMPORT_PREFIX} in liblas-depends-*.cmake. - - [(#7917)](https://github.com/microsoft/vcpkg/pull/7917) [proj4]Upgrade version to 6.1.1 and remove useless patches. - -- azure-storage-cpp `6.1.0-2` -> `7.0.0` - - [(#8499)](https://github.com/microsoft/vcpkg/pull/8499) [azure-storage-cpp]Upgrade to 7.0.0 - -- sdl2-mixer `2.0.4-6` -> `2.0.4-7` - - [(#8496)](https://github.com/microsoft/vcpkg/pull/8496) [sdl2-mixer]Fix usage issue. - -- armadillo `2019-04-16-5` -> `2019-04-16-6` - - [(#8494)](https://github.com/microsoft/vcpkg/pull/8494) [armadillo]Fix cmake path. - -- restinio `0.6.0` -> `0.6.0.1` - - [(#8493)](https://github.com/microsoft/vcpkg/pull/8493) [restinio] updated to v.0.6.0.1 - -- ode `0.15.1-3` -> `0.16` - - [(#8485)](https://github.com/microsoft/vcpkg/pull/8485) [ode] Upgrade to 0.16 - -- itk `5.0.1-1` -> `5.0.1-2` - - [(#8501)](https://github.com/microsoft/vcpkg/pull/8501) [itk]Fix use 64 bit ids. - -- irrlicht `1.8.4-2` -> `1.8.4-4` - - [(#8505)](https://github.com/microsoft/vcpkg/pull/8505) [irrlicht] Reorder link libraries - - [(#8535)](https://github.com/microsoft/vcpkg/pull/8535) [irrlicht] do not build exisiting dependencies - -- azure-iot-sdk-c `2019-08-20.1` -> `2019-10-11.2` - - [(#8513)](https://github.com/microsoft/vcpkg/pull/8513) [azure] Update azure-iot-sdk-c for release of 2019-10-07 - - [(#8565)](https://github.com/microsoft/vcpkg/pull/8565) azure-iot-sdk-c for release of 2019-10-10 - - [(#8686)](https://github.com/microsoft/vcpkg/pull/8686) [azure] Update azure-iot-sdk-c for 07/2019 LTS refresh - - [(#8731)](https://github.com/microsoft/vcpkg/pull/8731) Revert "[azure] Update azure-iot-sdk-c for 07/2019 LTS refresh (#8686)" - -- azure-macro-utils-c `2019-08-20.1` -> `2019-10-07.2` - - [(#8513)](https://github.com/microsoft/vcpkg/pull/8513) [azure] Update azure-iot-sdk-c for release of 2019-10-07 - - [(#8686)](https://github.com/microsoft/vcpkg/pull/8686) [azure] Update azure-iot-sdk-c for 07/2019 LTS refresh - - [(#8731)](https://github.com/microsoft/vcpkg/pull/8731) Revert "[azure] Update azure-iot-sdk-c for 07/2019 LTS refresh (#8686)" - -- azure-uamqp-c `2019-08-20.1` -> `2019-10-07.2` - - [(#8513)](https://github.com/microsoft/vcpkg/pull/8513) [azure] Update azure-iot-sdk-c for release of 2019-10-07 - - [(#8686)](https://github.com/microsoft/vcpkg/pull/8686) [azure] Update azure-iot-sdk-c for 07/2019 LTS refresh - - [(#8731)](https://github.com/microsoft/vcpkg/pull/8731) Revert "[azure] Update azure-iot-sdk-c for 07/2019 LTS refresh (#8686)" - -- azure-uhttp-c `2019-08-20.1` -> `2019-10-07.2` - - [(#8513)](https://github.com/microsoft/vcpkg/pull/8513) [azure] Update azure-iot-sdk-c for release of 2019-10-07 - - [(#8686)](https://github.com/microsoft/vcpkg/pull/8686) [azure] Update azure-iot-sdk-c for 07/2019 LTS refresh - - [(#8731)](https://github.com/microsoft/vcpkg/pull/8731) Revert "[azure] Update azure-iot-sdk-c for 07/2019 LTS refresh (#8686)" - -- azure-umqtt-c `2019-08-20.1` -> `2019-10-07.2` - - [(#8513)](https://github.com/microsoft/vcpkg/pull/8513) [azure] Update azure-iot-sdk-c for release of 2019-10-07 - - [(#8686)](https://github.com/microsoft/vcpkg/pull/8686) [azure] Update azure-iot-sdk-c for 07/2019 LTS refresh - - [(#8731)](https://github.com/microsoft/vcpkg/pull/8731) Revert "[azure] Update azure-iot-sdk-c for 07/2019 LTS refresh (#8686)" - -- umock-c `2019-08-20.1` -> `2019-10-07.2` - - [(#8513)](https://github.com/microsoft/vcpkg/pull/8513) [azure] Update azure-iot-sdk-c for release of 2019-10-07 - - [(#8686)](https://github.com/microsoft/vcpkg/pull/8686) [azure] Update azure-iot-sdk-c for 07/2019 LTS refresh - - [(#8731)](https://github.com/microsoft/vcpkg/pull/8731) Revert "[azure] Update azure-iot-sdk-c for 07/2019 LTS refresh (#8686)" - -- openxr-loader `2019-09-25` -> `1.0.3.0` - - [(#8515)](https://github.com/microsoft/vcpkg/pull/8515) [openxr-loader] Update to 1.0.3 release + latest C++ bindings header - -- gdcm `3.0.0-5` -> `3.0.3` - - [(#8522)](https://github.com/microsoft/vcpkg/pull/8522) [gdcm/libtorrent] Upgrade to new version - -- libtorrent `1.2.1-bcb26fd6` -> `1.2.2` - - [(#8522)](https://github.com/microsoft/vcpkg/pull/8522) [gdcm/libtorrent] Upgrade to new version - -- sfml `2.5.1-3` -> `2.5.1-4` - - [(#8523)](https://github.com/microsoft/vcpkg/pull/8523) [sfml]Add usage. - -- darknet `0.2.5.1` -> `0.2.5.1-1` - - [(#8527)](https://github.com/microsoft/vcpkg/pull/8527) [stb] update and add cmake module - -- stb `2019-07-11` -> `2019-08-17` - - [(#8527)](https://github.com/microsoft/vcpkg/pull/8527) [stb] update and add cmake module - -- curlpp `2018-06-15` -> `2018-06-15-1` - - [(#8532)](https://github.com/microsoft/vcpkg/pull/8532) [curlpp] fix regression introduced in #7331 - -- libjpeg-turbo `2.0.2` -> `2.0.3` - - [(#8412)](https://github.com/microsoft/vcpkg/pull/8412) [libjpeg-turbo] Update to 2.0.3. - -- opencv3 `3.4.7-1` -> `3.4.7-2` - - [(#8542)](https://github.com/microsoft/vcpkg/pull/8542) [opencv] add tesseract to fix downstream linking - -- opencv4 `4.1.1-2` -> `4.1.1-3` - - [(#8542)](https://github.com/microsoft/vcpkg/pull/8542) [opencv] add tesseract to fix downstream linking - -- gtest `2019-08-14-2` -> `2019-10-09` - - [(#8544)](https://github.com/microsoft/vcpkg/pull/8544) [gtest/pmdk] Upgrade to new version - -- pmdk `1.6-3` -> `2019-10-10` - - [(#8544)](https://github.com/microsoft/vcpkg/pull/8544) [gtest/pmdk] Upgrade to new version - - [(#8586)](https://github.com/microsoft/vcpkg/pull/8586) [pmdk] Upgrade to version 1.7 - -- imgui `1.72b` -> `1.73-1` - - [(#8504)](https://github.com/microsoft/vcpkg/pull/8504) [imgui] Update to 1.73 - - [(#8605)](https://github.com/microsoft/vcpkg/pull/8605) [imgui]Add feature example in windows. - -- sqlite3 `3.29.0-1` -> `3.30.1-1` - - [(#8567)](https://github.com/microsoft/vcpkg/pull/8567) [sqlite3] Update to 3.30.1 - - [(#7917)](https://github.com/microsoft/vcpkg/pull/7917) [proj4]Upgrade version to 6.1.1 and remove useless patches. - -- ffmpeg `4.2` -> `4.2-1` - - [(#8596)](https://github.com/microsoft/vcpkg/pull/8596) [ffmpeg] Pass Vcpkg compiler and linker flags to build script - -- libyuv `fec9121` -> `fec9121-1` - - [(#8576)](https://github.com/microsoft/vcpkg/pull/8576) [libyuv] fix include header installation - - [(#8709)](https://github.com/microsoft/vcpkg/pull/8709) [libyuv] Add Mac/Linux build support - - [(#8769)](https://github.com/microsoft/vcpkg/pull/8769) [libyuv]Build corresponding type library according to BUILD_SHARED_LIBS. - -- libarchive `3.4.0` -> `3.4.0-1` - - [(#8564)](https://github.com/microsoft/vcpkg/pull/8564) Mixed release and debug build in libarchive - -- aixlog `1.2.1-1` -> `1.2.2` - - [(#8587)](https://github.com/microsoft/vcpkg/pull/8587) [aixlog] Update library to 1.2.2 - -- portaudio `19.0.6.00-5` -> `2019-09-30` - - [(#8399)](https://github.com/microsoft/vcpkg/pull/8399) [portaudio] Update to the latest version - -- chakracore `1.11.13` -> `1.11.14` - - [(#8593)](https://github.com/microsoft/vcpkg/pull/8593) [chakracore] Update library to 1.11.14 - -- embree3 `3.5.2-2` -> `3.5.2-3` - - [(#8608)](https://github.com/microsoft/vcpkg/pull/8608) [embree3]Fix generated cmake files path. - - [(#8591)](https://github.com/microsoft/vcpkg/pull/8591) [embree3]Fix EMBREE_ROOT_DIR path setting,EMBREE_LIBRARY Debug/Release path setting. - -- cpp-httplib `0.2.4` -> `0.2.5` - - [(#8590)](https://github.com/microsoft/vcpkg/pull/8590) [cpp-httplib] Update library to 0.2.5 - -- range-v3 `0.9.0-20190822` -> `0.9.1` - - [(#8583)](https://github.com/microsoft/vcpkg/pull/8583) [range-v3] Update to 0.9.1 - -- otl `4.0.443-2` -> `4.0.447` - - [(#8581)](https://github.com/microsoft/vcpkg/pull/8581) otl version 447 - -- directxtex `aug2019` -> `oct2019` - - [(#8563)](https://github.com/microsoft/vcpkg/pull/8563) [directxtk][directxtk12][directxtex][directxmesh] Fixed missing pdbs - - [(#8723)](https://github.com/microsoft/vcpkg/pull/8723) [directxtex] Update library to oct2019 - -- directxtk `aug2019` -> `oct2019` - - [(#8563)](https://github.com/microsoft/vcpkg/pull/8563) [directxtk][directxtk12][directxtex][directxmesh] Fixed missing pdbs - - [(#8724)](https://github.com/microsoft/vcpkg/pull/8724) [directxtk] Update library to oct2019 - -- directxtk12 `aug2019` -> `oct2019` - - [(#8563)](https://github.com/microsoft/vcpkg/pull/8563) [directxtk][directxtk12][directxtex][directxmesh] Fixed missing pdbs - - [(#8725)](https://github.com/microsoft/vcpkg/pull/8725) [directxtk12] Update library to oct2019 - -- vtk `8.2.0-8` -> `8.2.0-9` - - [(#8554)](https://github.com/microsoft/vcpkg/pull/8554) [vtk] Change atlmfc as feature - - [(#7917)](https://github.com/microsoft/vcpkg/pull/7917) [proj4]Upgrade version to 6.1.1 and remove useless patches. - -- sdl2 `2.0.9-4` -> `2.0.10-2` - - [(#8643)](https://github.com/microsoft/vcpkg/pull/8643) [sdl2] Update to 2.0.10 - - [(#8760)](https://github.com/microsoft/vcpkg/pull/8760) Fix sdl2 build if there is space in the path - -- gdal `2.4.1-8` -> `2.4.1-9` - - [(#7917)](https://github.com/microsoft/vcpkg/pull/7917) [proj4]Upgrade version to 6.1.1 and remove useless patches. - - [(#8621)](https://github.com/microsoft/vcpkg/pull/8621) [proj4] Update to version 6.2.0 - -- libgeotiff `1.4.2-9` -> `1.4.2-10` - - [(#7917)](https://github.com/microsoft/vcpkg/pull/7917) [proj4]Upgrade version to 6.1.1 and remove useless patches. - -- proj4 `4.9.3-5` -> `6.2.0-1` - - [(#7917)](https://github.com/microsoft/vcpkg/pull/7917) [proj4]Upgrade version to 6.1.1 and remove useless patches. - - [(#8621)](https://github.com/microsoft/vcpkg/pull/8621) [proj4] Update to version 6.2.0 - -- tcl `8.6.5` -> `8.6.10-2` - - [(#8402)](https://github.com/microsoft/vcpkg/pull/8402) [tcl]Upgrade to 8.6.9 and use vcpkg_install_make/vcpkg_install_nmake. - -- physx `4.1.1-1` -> `4.1.1-3` - - [(#8561)](https://github.com/microsoft/vcpkg/pull/8561) [physx] Added a patch to fix missing typeinfo.h header with VS16.3 and missing pdb files - - [(#8658)](https://github.com/microsoft/vcpkg/pull/8658) [physx] Added UWP support - -- celero `2.5.0-1` -> `2.6.0` - - [(#8646)](https://github.com/microsoft/vcpkg/pull/8646) [celero] Updated to v2.6.0 - -- assimp `5.0.0` -> `5.0.0-1` - - [(#8665)](https://github.com/microsoft/vcpkg/pull/8665) [assimp] Fix cmake package config - -- mosquitto `1.6.3` -> `1.6.7` - - [(#8661)](https://github.com/microsoft/vcpkg/pull/8661) [mosquitto] Update to 1.6.7 - -- plog `1.1.4` -> `1.1.5` - - [(#8685)](https://github.com/microsoft/vcpkg/pull/8685) [plog] Update to 1.1.5 - -- catch2 `2.9.2` -> `2.10.1-1` - - [(#8684)](https://github.com/microsoft/vcpkg/pull/8684) [catch2] Update to 2.10.1 - -- nano-signal-slot `commit-25aa2aa90d450d3c7550c535c7993a9e2ed0764a` -> `2018-08-25-1` - - [(#8675)](https://github.com/microsoft/vcpkg/pull/8675) [nano-signal-slot] Enable UWP and dynamic builds - -- duckx `2019-08-06` -> `1.0.0` - - [(#8673)](https://github.com/microsoft/vcpkg/pull/8673) [duckx] update library to 1.0.0 - -- jsoncons `0.136.0` -> `0.136.1` - - [(#8689)](https://github.com/microsoft/vcpkg/pull/8689) [jsoncons] Update to v.0.136.1 - -- libpmemobj-cpp `1.7` -> `1.8` - - [(#8729)](https://github.com/microsoft/vcpkg/pull/8729) [libpmemobj-cpp] Update library to 1.8 - -- forest `12.0.3` -> `12.0.4` - - [(#8727)](https://github.com/microsoft/vcpkg/pull/8727) [forest] Update library to 12.0.4 - -- check `0.12.0-2` -> `0.13.0` - - [(#8722)](https://github.com/microsoft/vcpkg/pull/8722) [check] Update library to 0.13.0 - -- libcopp `1.2.0` -> `1.2.1` - - [(#8728)](https://github.com/microsoft/vcpkg/pull/8728) [libcopp] Update library to 1.2.1 - -- corrade `2019.01-1` -> `2019.10` - - [(#8742)](https://github.com/microsoft/vcpkg/pull/8742) Update magnum ports to new version - -- magnum-extras `2019.01-2` -> `2019.10` - - [(#8742)](https://github.com/microsoft/vcpkg/pull/8742) Update magnum ports to new version - -- magnum-integration `2019.01-2` -> `2019.10` - - [(#8742)](https://github.com/microsoft/vcpkg/pull/8742) Update magnum ports to new version - -- magnum-plugins `2019.01-2` -> `2019.10` - - [(#8742)](https://github.com/microsoft/vcpkg/pull/8742) Update magnum ports to new version - -- magnum `2019.01-2` -> `2019.10` - - [(#8742)](https://github.com/microsoft/vcpkg/pull/8742) Update magnum ports to new version - -- curl `7.66.0` -> `7.66.0-1` - - [(#8739)](https://github.com/microsoft/vcpkg/pull/8739) [curl]Fix tools depends zlib. - -- x265 `3.0-2` -> `3.2-1` - - [(#8738)](https://github.com/microsoft/vcpkg/pull/8738) update x265 to 3.2 - -- pixman `0.38.0-3` -> `0.38.0-4` - - [(#8736)](https://github.com/microsoft/vcpkg/pull/8736) [pixman] Improve Arm detection - -- xmlsec `1.2.28` -> `1.2.29` - - [(#8721)](https://github.com/microsoft/vcpkg/pull/8721) [xmlsec] Update to 1.2.29 - -- string-theory `2.2` -> `2.3` - - [(#8734)](https://github.com/microsoft/vcpkg/pull/8734) [string-theory] Update library to 2.3 - -- log4cpp `2.9.1-1` -> `2.9.1-2` - - [(#8741)](https://github.com/microsoft/vcpkg/pull/8741) [log4cpp] Fix link static library - -- so5extra `1.3.1-2` -> `1.3.1.1` - - [(#8770)](https://github.com/microsoft/vcpkg/pull/8770) [so5extra] updated to 1.3.1.1 - -- wangle `2019.07.08.00` -> `2019.07.08.00-1` - - [(#8764)](https://github.com/microsoft/vcpkg/pull/8764) [wangle]Fix config.cmake - -- fribidi `2019-02-04-1` -> `2019-02-04-2` - - [(#8639)](https://github.com/microsoft/vcpkg/pull/8639) mesonbuild - Update to 0.52.0 - -- libepoxy `1.5.3-1` -> `1.5.3-2` - - [(#8639)](https://github.com/microsoft/vcpkg/pull/8639) mesonbuild - Update to 0.52.0 - -- jxrlib `1.1-9` -> `2019.10.9` - - [(#8525)](https://github.com/microsoft/vcpkg/pull/8525) [jxrlib] Update port - -- fltk `1.3.4-8` -> `1.3.5-1` - - [(#8457)](https://github.com/microsoft/vcpkg/pull/8457) FLTK v1.3.5 - -- qt5-location `5.12.5-1` -> `5.12.5-2` - - [(#8777)](https://github.com/microsoft/vcpkg/pull/8777) [qt5-location] Modify clipper library name to avoid conflicts with vxl - -- pthreads `3.0.0-3` -> `3.0.0-4` - - [(#8651)](https://github.com/microsoft/vcpkg/pull/8651) [pthreads]Add usage. - -- glib `2.52.3-14-3` -> `2.52.3-14-4` - - [(#8653)](https://github.com/microsoft/vcpkg/pull/8653) [glib]Fix linux build. - -- libxslt `1.1.33-2` -> `1.1.33-4` - - [(#8589)](https://github.com/microsoft/vcpkg/pull/8589) [libxslt]Using vcpkg_install_nmake in Windows, support unix. - -- paho-mqtt `1.3.0` -> `1.3.0-1` - - [(#8492)](https://github.com/microsoft/vcpkg/pull/8492) Export paho-mqtt cmake targets, fix paho-mqttpp3 dependency. - -- paho-mqttpp3 `1.0.1-2` -> `1.0.1-3` - - [(#8492)](https://github.com/microsoft/vcpkg/pull/8492) Export paho-mqtt cmake targets, fix paho-mqttpp3 dependency. - -- pcre2 `10.30-5` -> `10.30-6` - - [(#8620)](https://github.com/microsoft/vcpkg/pull/8620) [pcre2]Fix uwp build failure. - -- arrow `0.14.1-1` -> `0.15.1` - - [(#8815)](https://github.com/microsoft/vcpkg/pull/8815) [Arrow] Update to Arrow 0.15.1 - -- netcdf-c `4.7.0-4` -> `4.7.0-5` - - [(#8398)](https://github.com/microsoft/vcpkg/pull/8398) [netcdf-c] Add usage - -- sol2 `3.0.3-1` -> `3.0.3-2` - - [(#8776)](https://github.com/microsoft/vcpkg/pull/8776) [sol2] Use the single header release - -- arb `2.16.0` -> `2.17.0` - - [(#8831)](https://github.com/microsoft/vcpkg/pull/8831) [arb]Upgrade to 2.17.0 - -- wxwidgets `3.1.2-2` -> `3.1.3` - - [(#8808)](https://github.com/microsoft/vcpkg/pull/8808) [wxwidgets] Upgrade to 3.1.3 - -
- --- vcpkg team vcpkg@microsoft.com FRI, 01 Nov 08:30:00 -0800 - -vcpkg (2019.09.30) ---- -#### Total port count: 1225 -#### Total port count per triplet (tested): -|triplet|ports available| -|---|---| -|**x64-windows**|1151| -|x86-windows|1136| -|x64-windows-static|1061| -|**x64-linux**|980| -|**x64-osx**|939| -|arm64-windows|766| -|x64-uwp|624| -|arm-uwp|594| - -#### The following commands and options have been updated: -- `x-history` ***[NEW COMMAND]*** - - Shows the full history of CONTROL version of a port, including the vcpkg commit hash, CONTROL version, and date of vcpkg commit - - [(#7377)](https://github.com/microsoft/vcpkg/pull/7377) [x-history] Prints CONTROL version history of a port 👻 - - [(#8101)](https://github.com/microsoft/vcpkg/pull/8101) fix x-history help desc. -- `depend-info` - - Constrain argument count to single port name as usage intends - - [(#8135)](https://github.com/microsoft/vcpkg/pull/8135) [vcpkg] Fix `depend-info` command arguments arity - -#### The following documentation has been updated: -- [Frequently Asked Questions](docs/about/faq.md) - - [(#8258)](https://github.com/microsoft/vcpkg/pull/8258) Add detailed instructions for custom configurations -- [Maintainer Guidelines and Policies](docs/maintainers/maintainer-guide.md) - - [(#8383)](https://github.com/microsoft/vcpkg/pull/8383) Fix a typo in maintainer-guide.md - -#### The following *remarkable* changes have been made to vcpkg's infrastructure: -- Add port features to CI test result XML as the first step in testing them in CI system - - [(#8342)](https://github.com/microsoft/vcpkg/pull/8342) [CI system] Add features to test result xml - -#### The following *additional* changes have been made to vcpkg's infrastructure: -- [(#8048)](https://github.com/microsoft/vcpkg/pull/8048) Add August changelog -- [(#8082)](https://github.com/microsoft/vcpkg/pull/8082) [vcpkg] remove text from license -- [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 -- [(#7954)](https://github.com/microsoft/vcpkg/pull/7954) Fix bug in `.vcpkg-root` detection that breaks `--overlay-triplets` -- [(#8131)](https://github.com/microsoft/vcpkg/pull/8131) [vcpkg] add missing implib definitions, fix shared lib extension on mac -- [(#8129)](https://github.com/microsoft/vcpkg/pull/8129) [vcpkg] Continue on malformed paths in PATH -- [(#8200)](https://github.com/microsoft/vcpkg/pull/8200) [vcpkg] Fix missing VCPKG_ROOT_PATH in create command -- [(#8222)](https://github.com/microsoft/vcpkg/pull/8222) [Qt] Fix static builds of qt5-imageformats -- [(#5180)](https://github.com/microsoft/vcpkg/pull/5180) Use CMAKE_TRY_COMPILE_PLATFORM_VARIABLES to propagate values -- [(#8032)](https://github.com/microsoft/vcpkg/pull/8032) [vcpkg] Avoid RENAME usage to prevent cross-device link problems (#4245) -- [(#8304)](https://github.com/microsoft/vcpkg/pull/8304) [ports.cmake] Fixup capitalization inconsistencies of Windows drive letter - -
-The following 55 ports have been added: - -|port|version| -|---|---| -|[dmlc](https://github.com/microsoft/vcpkg/pull/7549)| 2019-08-12 -|[anyrpc](https://github.com/microsoft/vcpkg/pull/7438)| 2017-12-01 -|[imgui-sfml](https://github.com/microsoft/vcpkg/pull/7429)[#8004](https://github.com/microsoft/vcpkg/pull/8004) | 2.1 -|[ignition-cmake0](https://github.com/microsoft/vcpkg/pull/7781)[#8044](https://github.com/microsoft/vcpkg/pull/8044) [#8136](https://github.com/microsoft/vcpkg/pull/8136) | 0.6.2-1 -|[ignition-math4](https://github.com/microsoft/vcpkg/pull/7781)| 4.0.0 -|[ignition-modularscripts](https://github.com/microsoft/vcpkg/pull/7781)[#8136](https://github.com/microsoft/vcpkg/pull/8136) | 2019-09-11 -|[volk](https://github.com/microsoft/vcpkg/pull/8035)[#8364](https://github.com/microsoft/vcpkg/pull/8364) | 2019-09-26 -|[cppkafka](https://github.com/microsoft/vcpkg/pull/7987)[#8073](https://github.com/microsoft/vcpkg/pull/8073) | 0.3.1-1 -|[nativefiledialog](https://github.com/microsoft/vcpkg/pull/7944)| 2019-08-28 -|[cello](https://github.com/microsoft/vcpkg/pull/7386)| 2019-07-23 -|[libhydrogen](https://github.com/microsoft/vcpkg/pull/7436)| 2019-08-11 -|[quantlib](https://github.com/microsoft/vcpkg/pull/7283)| 2019-09-02 -|[magic-get](https://github.com/microsoft/vcpkg/pull/8072)| 2019-09-02 -|[cityhash](https://github.com/microsoft/vcpkg/pull/7879)| 2013-01-08 -|[ignition-common1](https://github.com/microsoft/vcpkg/pull/8111)| 1.1.1 -|[wampcc](https://github.com/microsoft/vcpkg/pull/7929)| 2019-09-04 -|[hidapi](https://github.com/microsoft/vcpkg/pull/8113)| 2019-08-30 -|[sokol](https://github.com/microsoft/vcpkg/pull/8107)| 2019-09-09 -|[parallelstl](https://github.com/microsoft/vcpkg/pull/8039)| 20190522-1 -|[marl](https://github.com/microsoft/vcpkg/pull/8132)[#8161](https://github.com/microsoft/vcpkg/pull/8161) | 2019-09-13 -|[vectorclass](https://github.com/microsoft/vcpkg/pull/7573)| 2.00.01 -|[wren](https://github.com/microsoft/vcpkg/pull/7242)| 2019-07-01 -|[libsrtp](https://github.com/microsoft/vcpkg/pull/8046)| 2.2.0 -|[ignition-msgs1](https://github.com/microsoft/vcpkg/pull/8044)| 1.0.0 -|[ignition-transport4](https://github.com/microsoft/vcpkg/pull/8044)| 4.0.0 -|[argtable3](https://github.com/microsoft/vcpkg/pull/7815)| 2019-08-21 -|[llgl](https://github.com/microsoft/vcpkg/pull/7701)| 2019-08-15 -|[sdformat6](https://github.com/microsoft/vcpkg/pull/8137)| 6.2.0 -|[grppi](https://github.com/microsoft/vcpkg/pull/8125)| 0.4.0 -|[opencolorio](https://github.com/microsoft/vcpkg/pull/8006)| 1.1.1 -|[cpputest](https://github.com/microsoft/vcpkg/pull/8188)| 2019-9-16 -|[winreg](https://github.com/microsoft/vcpkg/pull/8190)[#8371](https://github.com/microsoft/vcpkg/pull/8371) | 1.2.1-1 -|[zfp](https://github.com/microsoft/vcpkg/pull/7955)| 0.5.5-1 -|[libyuv](https://github.com/microsoft/vcpkg/pull/7486)| fec9121 -|[foonathan-memory](https://github.com/microsoft/vcpkg/pull/7350)[#8266](https://github.com/microsoft/vcpkg/pull/8266) | 2019-07-21-1 -|[jinja2cpplight](https://github.com/microsoft/vcpkg/pull/8207)| 2018-05-08 -|[liblbfgs](https://github.com/microsoft/vcpkg/pull/8186)| 1.10 -|[sigslot](https://github.com/microsoft/vcpkg/pull/8262)| 1.0.0 -|[cute-headers](https://github.com/microsoft/vcpkg/pull/8277)| 2019-09-20 -|[libsoundio](https://github.com/microsoft/vcpkg/pull/8273)| 2.0.0 -|[matplotlib-cpp](https://github.com/microsoft/vcpkg/pull/8313)| 2019-09-24 -|[asynch](https://github.com/microsoft/vcpkg/pull/8317)[#8371](https://github.com/microsoft/vcpkg/pull/8371) | 2019-09-21-1 -|[minimp3](https://github.com/microsoft/vcpkg/pull/8319)[#8371](https://github.com/microsoft/vcpkg/pull/8371) | 2019-07-24-1 -|[crfsuite](https://github.com/microsoft/vcpkg/pull/8233)| 2019-07-21 -|[cudnn](https://github.com/microsoft/vcpkg/pull/7536)| 7.6 -|[libosip2](https://github.com/microsoft/vcpkg/pull/8261)| 5.1.0 -|[portable-snippets](https://github.com/microsoft/vcpkg/pull/7783)| 2019-09-20 -|[ignition-fuel-tools1](https://github.com/microsoft/vcpkg/pull/8136)| 1.2.0 -|[clickhouse-cpp](https://github.com/microsoft/vcpkg/pull/7880)| 2019-05-22 -|[tweeny](https://github.com/microsoft/vcpkg/pull/8341)| 3.0 -|[nanogui](https://github.com/microsoft/vcpkg/pull/8302)| 2019-09-23 -|[wepoll](https://github.com/microsoft/vcpkg/pull/8280)| 1.5.5 -|[tcl](https://github.com/microsoft/vcpkg/pull/8026)| 8.6.5 -|[cpuinfo](https://github.com/microsoft/vcpkg/pull/7449)| 2019-07-28 -|[mathc](https://github.com/microsoft/vcpkg/pull/8394)| 2019-09-29 -
- -
-The following 220 ports have been updated: - -- breakpad `2019-07-11` -> `2019-07-11-1` - - [(#7938)](https://github.com/microsoft/vcpkg/pull/7938) [breakpad] Fix build failed with Visual Studio 2019 - -- gtest `2019-08-14-1` -> `2019-08-14-2` - - [(#7887)](https://github.com/microsoft/vcpkg/pull/7887) [gtest]Re-fix gmock target. - -- libxslt `1.1.33` -> `1.1.33-2` - - [(#7451)](https://github.com/microsoft/vcpkg/pull/7451) [libxslt]Fix dependent ports in static builds. - - [(#7986)](https://github.com/microsoft/vcpkg/pull/7986) modernize many ports - -- pcre2 `10.30-4` -> `10.30-5` - - [(#7948)](https://github.com/microsoft/vcpkg/pull/7948) Fix build with Emscripten/WASM - -- entt `3.0.0-1` -> `3.1.1` - - [(#7984)](https://github.com/microsoft/vcpkg/pull/7984) [entt] Update to 3.1.0 - - [(#8098)](https://github.com/microsoft/vcpkg/pull/8098) [entt] Update to 3.1.1 - -- raylib `2019-04-27-2` -> `2.5.0` - - [(#7848)](https://github.com/microsoft/vcpkg/pull/7848) [raylib] update to 2.5.0 - -- jsoncons `0.132.1` -> `0.136.0` - - [(#8034)](https://github.com/microsoft/vcpkg/pull/8034) [jsoncons] Update to version 0.133.0 - - [(#8221)](https://github.com/microsoft/vcpkg/pull/8221) [jsoncons] Update to v0.134.0 - - [(#8348)](https://github.com/microsoft/vcpkg/pull/8348) [jsoncons] Update jsoncons to v0.135.0 - - [(#8382)](https://github.com/microsoft/vcpkg/pull/8382) [jsoncons] Update jsoncons to v0.136.0 - -- exiv2 `0.27.1-1` -> `0.27.2-1` - - [(#7992)](https://github.com/microsoft/vcpkg/pull/7992) [exiv2] Update library to 0.27.2 - -- gettext `0.19-10` -> `0.19-11` - - [(#7990)](https://github.com/microsoft/vcpkg/pull/7990) [gettext]Improve gettext on Linux. - -- wtl `10.0-2` -> `10.0-3` - - [(#8005)](https://github.com/microsoft/vcpkg/pull/8005) Update WTL to 10.0.9163. - -- aixlog `1.2.1` -> `1.2.1-1` - - [(#7986)](https://github.com/microsoft/vcpkg/pull/7986) modernize many ports - -- chaiscript `6.1.0` -> `6.1.0-1` - - [(#7986)](https://github.com/microsoft/vcpkg/pull/7986) modernize many ports - -- dlfcn-win32 `1.1.1-2` -> `1.1.1-3` - - [(#7986)](https://github.com/microsoft/vcpkg/pull/7986) modernize many ports - -- enet `1.3.13` -> `1.3.13-1` - - [(#7986)](https://github.com/microsoft/vcpkg/pull/7986) modernize many ports - -- fltk `1.3.4-6` -> `1.3.4-7` - - [(#7986)](https://github.com/microsoft/vcpkg/pull/7986) modernize many ports - -- fmi4cpp `0.7.0-1` -> `0.7.0-2` - - [(#7986)](https://github.com/microsoft/vcpkg/pull/7986) modernize many ports - -- fmilib `2.0.3-1` -> `2.0.3-2` - - [(#7986)](https://github.com/microsoft/vcpkg/pull/7986) modernize many ports - -- freetds `1.1.6` -> `1.1.6-1` - - [(#7986)](https://github.com/microsoft/vcpkg/pull/7986) modernize many ports - -- gainput `1.0.0-1` -> `1.0.0-2` - - [(#7986)](https://github.com/microsoft/vcpkg/pull/7986) modernize many ports - -- geographiclib `1.47-patch1-7` -> `1.47-patch1-9` - - [(#7986)](https://github.com/microsoft/vcpkg/pull/7986) modernize many ports - - [(#8115)](https://github.com/microsoft/vcpkg/pull/8115) [geographiclib]Fix usage error and cmake path in Linux. - -- glog `0.4.0-1` -> `0.4.0-2` - - [(#7986)](https://github.com/microsoft/vcpkg/pull/7986) modernize many ports - -- irrlicht `1.8.4-1` -> `1.8.4-2` - - [(#7986)](https://github.com/microsoft/vcpkg/pull/7986) modernize many ports - -- libmikmod `3.3.11.1-4` -> `3.3.11.1-5` - - [(#7986)](https://github.com/microsoft/vcpkg/pull/7986) modernize many ports - -- libodb-mysql `2.4.0-3` -> `2.4.0-4` - - [(#7986)](https://github.com/microsoft/vcpkg/pull/7986) modernize many ports - -- libodb-sqlite `2.4.0-4` -> `2.4.0-5` - - [(#7986)](https://github.com/microsoft/vcpkg/pull/7986) modernize many ports - -- libodb `2.4.0-5` -> `2.4.0-6` - - [(#7986)](https://github.com/microsoft/vcpkg/pull/7986) modernize many ports - -- libsquish `1.15-1` -> `1.15-2` - - [(#7986)](https://github.com/microsoft/vcpkg/pull/7986) modernize many ports - -- lzo `2.10-2` -> `2.10-3` - - [(#7986)](https://github.com/microsoft/vcpkg/pull/7986) modernize many ports - -- nanovg `master` -> `2019-8-30-1` - - [(#7986)](https://github.com/microsoft/vcpkg/pull/7986) modernize many ports - - [(#8302)](https://github.com/microsoft/vcpkg/pull/8302) [nanogui] Add new port - -- ode `0.15.1-1` -> `0.15.1-2` - - [(#7986)](https://github.com/microsoft/vcpkg/pull/7986) modernize many ports - -- opencsg `1.4.2` -> `1.4.2-1` - - [(#7986)](https://github.com/microsoft/vcpkg/pull/7986) modernize many ports - -- orocos-kdl `1.4-1` -> `1.4-2` - - [(#7986)](https://github.com/microsoft/vcpkg/pull/7986) modernize many ports - -- pangomm `2.40.1` -> `2.40.1-1` - - [(#7986)](https://github.com/microsoft/vcpkg/pull/7986) modernize many ports - -- pcre `8.41-2` -> `8.41-3` - - [(#7986)](https://github.com/microsoft/vcpkg/pull/7986) modernize many ports - -- qt5-gamepad `5.12.3-1` -> `5.12.5-1` - - [(#7986)](https://github.com/microsoft/vcpkg/pull/7986) modernize many ports - - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 - - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 - - [(#8222)](https://github.com/microsoft/vcpkg/pull/8222) [Qt] Fix static builds of qt5-imageformats - -- wavpack `5.1.0-00d9a4a-1` -> `5.1.0-2` - - [(#7986)](https://github.com/microsoft/vcpkg/pull/7986) modernize many ports - -- tensorflow-cc `1.14` -> `1.14-1` - - [(#8023)](https://github.com/microsoft/vcpkg/pull/8023) [tensorflow-cc]Fix build error and add warning message. - -- glew `2.1.0-5` -> `2.1.0-6` - - [(#7967)](https://github.com/microsoft/vcpkg/pull/7967) [VTK/GLEW] Fix Regression of VTK with newer CMake Versions - -- libpq `9.6.1-7` -> `9.6.1-8` - - [(#8076)](https://github.com/microsoft/vcpkg/pull/8076) libpq requires HAVE_CRYPTO_LOCK for thread safety with openssl <1.1.0 - - [(#8080)](https://github.com/microsoft/vcpkg/pull/8080) [libpq] #undef int128 type if compiling for 32 bit architecture - - [(#8090)](https://github.com/microsoft/vcpkg/pull/8090) [libpq] Bump version number - -- sobjectizer `5.6.0.2` -> `5.6.1` - - [(#8052)](https://github.com/microsoft/vcpkg/pull/8052) [sobjectizer] updated to 5.6.1 - -- unrar `5.5.8-2` -> `5.8.1` - - [(#8053)](https://github.com/microsoft/vcpkg/pull/8053) [unrar] Don't use a custom struct member alignment - - [(#8108)](https://github.com/microsoft/vcpkg/pull/8108) [unrar] Update to 5.8.1 - -- xalan-c `1.11-7` -> `1.11-8` - - [(#7795)](https://github.com/microsoft/vcpkg/pull/7795) [xalan-c] fixed cmake files location - -- re2 `2019-08-01` -> `2019-09-01` - - [(#8089)](https://github.com/microsoft/vcpkg/pull/8089) [re2] Update library to 2019-09-01 - -- libvpx `1.7.0-3` -> `1.8.1` - - [(#8086)](https://github.com/microsoft/vcpkg/pull/8086) [libvpx] Update to 1.8.1. - - [(#8100)](https://github.com/microsoft/vcpkg/pull/8100) [libvpx] Fix build when VCPKG_BUILD_TYPE is set. - -- grpc `1.22.0` -> `1.23.0` - - [(#8109)](https://github.com/microsoft/vcpkg/pull/8109) [grpc] Update grpc to 1.23.0 - -- egl-registry `2018-06-30-1` -> `2019-08-08` - - [(#8095)](https://github.com/microsoft/vcpkg/pull/8095) Update egl-registry to 2019-08-08 and opengl-registry to 2019-08-22. - -- opengl-registry `2018-06-30-1` -> `2019-08-22` - - [(#8095)](https://github.com/microsoft/vcpkg/pull/8095) Update egl-registry to 2019-08-08 and opengl-registry to 2019-08-22. - -- dimcli `5.0.0` -> `5.0.1` - - [(#8024)](https://github.com/microsoft/vcpkg/pull/8024) [dimcli] Upgrade to version 5.0.1 - -- libwebsockets `3.1.0-3` -> `3.2.0` - - [(#8017)](https://github.com/microsoft/vcpkg/pull/8017) Update libwebsockets to v3.2.0 - -- mongo-c-driver `1.14.0-3-1` -> `1.14.0-4` - - [(#7974)](https://github.com/microsoft/vcpkg/pull/7974) [mongo-c-driver] fix debug linkage under linux - -- qwt `6.1.3-7` -> `6.1.3-8` - - [(#8030)](https://github.com/microsoft/vcpkg/pull/8030) [qwt]make qwt support unix - -- ixwebsocket `5.0.4` -> `6.1.0` - - [(#7839)](https://github.com/microsoft/vcpkg/pull/7839) [ixwebsocket] update to 6.1.0 to fix Windows problem - -- cpp-httplib `0.2.1` -> `0.2.4` - - [(#8054)](https://github.com/microsoft/vcpkg/pull/8054) [cpp-httplib] Update library to 0.2.2 - - [(#8172)](https://github.com/microsoft/vcpkg/pull/8172) [cpp-httplib] Update library to 0.2.4 - -- blend2d `beta_2019-07-16` -> `beta_2019-10-09` - - [(#8120)](https://github.com/microsoft/vcpkg/pull/8120) [blend2d] Port update beta_2019-10-09 - -- json-c `2019-05-31` -> `2019-09-10` - - [(#8121)](https://github.com/microsoft/vcpkg/pull/8121) [json-c] Add dynamic library support - -- glfw3 `3.3-1` -> `3.3-2` - - [(#7592)](https://github.com/microsoft/vcpkg/pull/7592) [glfw3] fix cmake config - -- google-cloud-cpp `0.12.0` -> `0.13.0` - - [(#8077)](https://github.com/microsoft/vcpkg/pull/8077) Update google-cloud-cpp and googleapis. - -- googleapis `0.1.3` -> `0.1.5` - - [(#8077)](https://github.com/microsoft/vcpkg/pull/8077) Update google-cloud-cpp and googleapis. - -- tbb `2019_U8` -> `2019_U8-1` - - [(#8018)](https://github.com/microsoft/vcpkg/pull/8018) [tbb]Fix static build. - -- openxr-loader `1.0.0-2` -> `2019-09-25` - - [(#8123)](https://github.com/microsoft/vcpkg/pull/8123) [openxr-loader] Update to 1.0.2 - - [(#8255)](https://github.com/microsoft/vcpkg/pull/8255) [openxr-loader] Add openxr C++ bindings - -- sdl1 `1.2.15-6` -> `1.2.15-8` - - [(#8070)](https://github.com/microsoft/vcpkg/pull/8070) [sdl1]Support linux build. - - [(#8327)](https://github.com/microsoft/vcpkg/pull/8327) [sdl1] fix windows sdk 18362 build failure - -- glslang `2019-03-05` -> `2019-03-05-1` - - [(#8051)](https://github.com/microsoft/vcpkg/pull/8051) [glslang]Fix generated cmake files. - -- opencl `2.2 (2017.07.18)-1` -> `2.2 (2018.08.31)` - - [(#4204)](https://github.com/microsoft/vcpkg/pull/4204) Linux support for the OpenCL SDK package - -- libspatialite `4.3.0a-3` -> `4.3.0a-4` - - [(#8025)](https://github.com/microsoft/vcpkg/pull/8025) [libspatialite]make libspatialite support linux and osx - -- libqrencode `4.0.2` -> `4.0.2-1` - - [(#8099)](https://github.com/microsoft/vcpkg/pull/8099) [libqrencode] Add tool feature; Remove unnecessary patch - -- sdl2-mixer `2.0.4-3` -> `2.0.4-6` - - [(#7720)](https://github.com/microsoft/vcpkg/pull/7720) [sdl2-mixer]Remove useless dependency link libraries. - - [(#8208)](https://github.com/microsoft/vcpkg/pull/8208) [sdl2-mixer] Fix features dependency link. - - [(#8335)](https://github.com/microsoft/vcpkg/pull/8335) [sdl2-mixer]Re-fix dynamic call. - -- evpp `0.7.0` -> `0.7.0-1` - - [(#8050)](https://github.com/microsoft/vcpkg/pull/8050) [evpp]Fix linux build. - -- libogg `1.3.3-4` -> `1.3.4` - - [(#8094)](https://github.com/microsoft/vcpkg/pull/8094) [libogg] Update to 1.3.4-1 - -- otl `4.0.442` -> `4.0.443` - - [(#8139)](https://github.com/microsoft/vcpkg/pull/8139) [otl] fix hash and update version - -- speexdsp `1.2rc3-3` -> `1.2.0` - - [(#8140)](https://github.com/microsoft/vcpkg/pull/8140) [speexdsp] update to 1.2.0 - -- pcl `1.9.1-8` -> `1.9.1-9` - - [(#8154)](https://github.com/microsoft/vcpkg/pull/8154) [pcl] Fix problem with link-type keywords in linked libraries - -- libqglviewer `2.7.0` -> `2.7.0-2` - - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 - - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 - -- qt5-3d `5.12.3-1` -> `5.12.5-1` - - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 - - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 - - [(#8222)](https://github.com/microsoft/vcpkg/pull/8222) [Qt] Fix static builds of qt5-imageformats - -- qt5-activeqt `5.12.3-1` -> `5.12.5` - - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 - - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 - -- qt5-base `5.12.3-4` -> `5.12.5-1` - - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 - - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 - - [(#8222)](https://github.com/microsoft/vcpkg/pull/8222) [Qt] Fix static builds of qt5-imageformats - - [(#8212)](https://github.com/microsoft/vcpkg/pull/8212) [Qt] feature latest to build 5.13.1 - -- qt5-charts `5.12.3-1` -> `5.12.5-1` - - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 - - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 - - [(#8222)](https://github.com/microsoft/vcpkg/pull/8222) [Qt] Fix static builds of qt5-imageformats - -- qt5-connectivity `5.12.3-1` -> `5.12.5-1` - - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 - - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 - - [(#8222)](https://github.com/microsoft/vcpkg/pull/8222) [Qt] Fix static builds of qt5-imageformats - -- qt5-datavis3d `5.12.3-1` -> `5.12.5-1` - - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 - - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 - - [(#8222)](https://github.com/microsoft/vcpkg/pull/8222) [Qt] Fix static builds of qt5-imageformats - -- qt5-declarative `5.12.3-2` -> `5.12.5-1` - - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 - - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 - - [(#8222)](https://github.com/microsoft/vcpkg/pull/8222) [Qt] Fix static builds of qt5-imageformats - -- qt5-graphicaleffects `5.12.3-1` -> `5.12.5` - - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 - - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 - -- qt5-imageformats `5.12.3-1` -> `5.12.5-1` - - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 - - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 - - [(#8222)](https://github.com/microsoft/vcpkg/pull/8222) [Qt] Fix static builds of qt5-imageformats - -- qt5-location `5.12.3-1` -> `5.12.5-1` - - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 - - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 - - [(#8222)](https://github.com/microsoft/vcpkg/pull/8222) [Qt] Fix static builds of qt5-imageformats - -- qt5-macextras `5.12.3-1` -> `5.12.5` - - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 - - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 - -- qt5-modularscripts `2019-04-30-1` -> `deprecated` - - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 - -- qt5-mqtt `5.12.3-1` -> `5.12.5` - - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 - - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 - -- qt5-multimedia `5.12.3-1` -> `5.12.5-1` - - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 - - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 - - [(#8222)](https://github.com/microsoft/vcpkg/pull/8222) [Qt] Fix static builds of qt5-imageformats - -- qt5-networkauth `5.12.3-1` -> `5.12.5` - - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 - - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 - -- qt5-purchasing `5.12.3-1` -> `5.12.5-1` - - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 - - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 - - [(#8222)](https://github.com/microsoft/vcpkg/pull/8222) [Qt] Fix static builds of qt5-imageformats - -- qt5-quickcontrols `5.12.3-1` -> `5.12.5-1` - - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 - - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 - - [(#8222)](https://github.com/microsoft/vcpkg/pull/8222) [Qt] Fix static builds of qt5-imageformats - -- qt5-quickcontrols2 `5.12.3-1` -> `5.12.5-1` - - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 - - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 - - [(#8222)](https://github.com/microsoft/vcpkg/pull/8222) [Qt] Fix static builds of qt5-imageformats - -- qt5-remoteobjects `5.12.3-1` -> `5.12.5-1` - - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 - - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 - - [(#8222)](https://github.com/microsoft/vcpkg/pull/8222) [Qt] Fix static builds of qt5-imageformats - -- qt5-script `5.12.3-1` -> `5.12.5-1` - - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 - - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 - - [(#8222)](https://github.com/microsoft/vcpkg/pull/8222) [Qt] Fix static builds of qt5-imageformats - -- qt5-scxml `5.12.3-1` -> `5.12.5` - - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 - - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 - -- qt5-sensors `5.12.3-1` -> `5.12.5-1` - - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 - - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 - - [(#8222)](https://github.com/microsoft/vcpkg/pull/8222) [Qt] Fix static builds of qt5-imageformats - -- qt5-serialport `5.12.3-1` -> `5.12.5` - - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 - - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 - -- qt5-speech `5.12.3-1` -> `5.12.5-1` - - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 - - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 - - [(#8222)](https://github.com/microsoft/vcpkg/pull/8222) [Qt] Fix static builds of qt5-imageformats - -- qt5-svg `5.12.3-1` -> `5.12.5` - - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 - - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 - -- qt5-tools `5.12.3-1` -> `5.12.5-1` - - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 - - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 - - [(#8222)](https://github.com/microsoft/vcpkg/pull/8222) [Qt] Fix static builds of qt5-imageformats - -- qt5-virtualkeyboard `5.12.3-1` -> `5.12.5-1` - - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 - - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 - - [(#8222)](https://github.com/microsoft/vcpkg/pull/8222) [Qt] Fix static builds of qt5-imageformats - -- qt5-webchannel `5.12.3-1` -> `5.12.5-1` - - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 - - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 - - [(#8222)](https://github.com/microsoft/vcpkg/pull/8222) [Qt] Fix static builds of qt5-imageformats - -- qt5-websockets `5.12.3-1` -> `5.12.5` - - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 - - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 - - [(#8222)](https://github.com/microsoft/vcpkg/pull/8222) [Qt] Fix static builds of qt5-imageformats - -- qt5-webview `5.12.3-1` -> `5.12.5-1` - - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 - - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 - - [(#8222)](https://github.com/microsoft/vcpkg/pull/8222) [Qt] Fix static builds of qt5-imageformats - -- qt5-winextras `5.12.3-1` -> `5.12.5-1` - - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 - - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 - - [(#8222)](https://github.com/microsoft/vcpkg/pull/8222) [Qt] Fix static builds of qt5-imageformats - -- qt5-xmlpatterns `5.12.3-1` -> `5.12.5` - - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 - - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 - - [(#8222)](https://github.com/microsoft/vcpkg/pull/8222) [Qt] Fix static builds of qt5-imageformats - -- qt5 `5.12.3-1` -> `5.12.5` - - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 - - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 - - [(#8212)](https://github.com/microsoft/vcpkg/pull/8212) [Qt] feature latest to build 5.13.1 - -- mathgl `2.4.3-1` -> `2.4.3-2` - - [(#8145)](https://github.com/microsoft/vcpkg/pull/8145) [mathgl]Fix build failure on x86-windows. - -- libpng `1.6.37-3` -> `1.6.37-4` - - [(#8079)](https://github.com/microsoft/vcpkg/pull/8079) [libpng] Replace find_library() with a simple set() for linking libm on UNIX - -- chakracore `1.11.12` -> `1.11.13` - - [(#8171)](https://github.com/microsoft/vcpkg/pull/8171) [chakracore] Update library to 1.11.13 - -- fastcdr `1.0.10` -> `1.0.11` - - [(#8173)](https://github.com/microsoft/vcpkg/pull/8173) [fastcdr] Update library to 1.0.11 - -- yara `e3439e4ead4ed5d3b75a0b46eaf15ddda2110bb9-2` -> `3.10.0` - - [(#8194)](https://github.com/microsoft/vcpkg/pull/8194) [yara] Update to 3.10.0 - -- rabit `0.1` -> `0.1-2` - - [(#8042)](https://github.com/microsoft/vcpkg/pull/8042) [rabit] Fix file conflict with dmlc - - [(#8206)](https://github.com/microsoft/vcpkg/pull/8206) [rabit] Fix cmake files path - -- gdcm `3.0.0-4` -> `3.0.0-5` - - [(#7852)](https://github.com/microsoft/vcpkg/pull/7852) [gdcm] Fix file UseGDCM.cmake path name - -- libyaml `0.2.2-1` -> `0.2.2-2` - - [(#8177)](https://github.com/microsoft/vcpkg/pull/8177) Fix libyaml CMake package and CMake targets - -- clapack `3.2.1-10` -> `3.2.1-12` - - [(#8191)](https://github.com/microsoft/vcpkg/pull/8191) [clapack] Fix clapack-targets.cmake path in clpack-config.cmake - - [(#8388)](https://github.com/microsoft/vcpkg/pull/8388) [clapack] fix clapack install - -- embree3 `3.5.2-1` -> `3.5.2-2` - - [(#8192)](https://github.com/microsoft/vcpkg/pull/8192) [embree3]Fix static build and cmake path. - -- llvm `8.0.0` -> `8.0.0-2` - - [(#7919)](https://github.com/microsoft/vcpkg/pull/7919) [llvm]Fix build error on Linux: cannot find -lxml2. - - [(#8102)](https://github.com/microsoft/vcpkg/pull/8102) [halide]Upgrade to release_2019_08_27. - -- vtk `8.2.0-5` -> `8.2.0-8` - - [(#7933)](https://github.com/microsoft/vcpkg/pull/7933) [VTK] VTK links with release version of LMZA in debug build instead of debu… - - [(#8345)](https://github.com/microsoft/vcpkg/pull/8345) [vtk] Fix vtk[python] build failure - - [(#8403)](https://github.com/microsoft/vcpkg/pull/8403) [vtk] fix typo in lzma and lz4 patch - -- dcmtk `3.6.4-1` -> `3.6.4-2` - - [(#8202)](https://github.com/microsoft/vcpkg/pull/8202) [dcmtk] Fix build error on Linux - -- openimageio `2019-08-08-2` -> `2019-08-08-4` - - [(#8210)](https://github.com/microsoft/vcpkg/pull/8210) [openimageio] Add opencolorio as feature - - [(#8230)](https://github.com/microsoft/vcpkg/pull/8230) [openimageio]Re-fix find openexr issue. - - [(#8379)](https://github.com/microsoft/vcpkg/pull/8379) [alembic,geogram,openimageio]: openexr and libraw debug linkage, minor fix for geogram - -- cli `1.1-1` -> `1.1.1` - - [(#8209)](https://github.com/microsoft/vcpkg/pull/8209) [cli] Update the version to 1.1.1 - -- libepoxy `1.5.3` -> `1.5.3-1` - - [(#7985)](https://github.com/microsoft/vcpkg/pull/7985) [libepoxy]Add support with unix. - -- atk `2.24.0-3` -> `2.24.0-4` - - [(#7991)](https://github.com/microsoft/vcpkg/pull/7991) [atk]Support UNIX. - -- date `2019-05-18-1` -> `2019-09-09` - - [(#8151)](https://github.com/microsoft/vcpkg/pull/8151) [date] Add official CMake targets support - -- riffcpp `2.2.2` -> `2.2.4` - - [(#8153)](https://github.com/microsoft/vcpkg/pull/8153) [riffcpp] Update to 2.2.4 - -- duktape `2.4.0-3` -> `2.4.0-4` - - [(#8144)](https://github.com/microsoft/vcpkg/pull/8144) [duktape] Change download path of pip. - -- cgicc `3.2.19-2` -> `3.2.19-3` - - [(#8232)](https://github.com/microsoft/vcpkg/pull/8232) [cgicc]Fix linux build. - -- graphicsmagick `1.3.32-1` -> `1.3.33` - - [(#8256)](https://github.com/microsoft/vcpkg/pull/8256) [graphicsmagick] updated to 1.3.33 - -- ecsutil `1.0.7.2` -> `1.0.7.3` - - [(#8253)](https://github.com/microsoft/vcpkg/pull/8253) update for ECSUtil 1.0.7.3 - -- cpp-redis `4.3.1-1` -> `4.3.1-2` - - [(#8245)](https://github.com/microsoft/vcpkg/pull/8245) [simpleini cpp-redis tacopie] ports update - -- simpleini `2018-08-31-1` -> `2018-08-31-2` - - [(#8245)](https://github.com/microsoft/vcpkg/pull/8245) [simpleini cpp-redis tacopie] ports update - -- tacopie `3.2.0-1` -> `3.2.0-2` - - [(#8245)](https://github.com/microsoft/vcpkg/pull/8245) [simpleini cpp-redis tacopie] ports update - -- cairo `1.16.0-1` -> `1.16.0-2` - - [(#8249)](https://github.com/microsoft/vcpkg/pull/8249) [cairo]Add feature X11. - -- tinynpy `1.0.0-2` -> `1.0.0-3` - - [(#8274)](https://github.com/microsoft/vcpkg/pull/8274) [tinynpy] update - -- io2d `2019-07-11` -> `2019-07-11-1` - - [(#8251)](https://github.com/microsoft/vcpkg/pull/8251) [io2d]Fix linux build: add dependency cairo[x11]. - -- linenoise-ng `4754bee2d8eb3` -> `4754bee2d8eb3-1` - - [(#8276)](https://github.com/microsoft/vcpkg/pull/8276) [linenoise-ng] Fix flaky config - -- zeromq `2019-07-09-1` -> `2019-09-20` - - [(#8119)](https://github.com/microsoft/vcpkg/pull/8119) [zeromq] Update to 2019-09-13 - -- basisu `1.11-1` -> `1.11-2` - - [(#8289)](https://github.com/microsoft/vcpkg/pull/8289) [basisu] Updating with latest upstream changes - -- doctest `2.3.4` -> `2.3.5` - - [(#8295)](https://github.com/microsoft/vcpkg/pull/8295) [doctest] Update library to 2.3.5 - -- mbedtls `2.16.2` -> `2.16.3` - - [(#8296)](https://github.com/microsoft/vcpkg/pull/8296) [mbedtls] Update library to 2.16.3 - -- pugixml `1.9-3` -> `1.10` - - [(#8297)](https://github.com/microsoft/vcpkg/pull/8297) [pugixml] Update library to 1.10 - -- armadillo `2019-04-16-4` -> `2019-04-16-5` - - [(#8299)](https://github.com/microsoft/vcpkg/pull/8299) [armadillo] Fix configure_file failed - -- parallel-hashmap `1.23` -> `1.24` - - [(#8301)](https://github.com/microsoft/vcpkg/pull/8301) [parallel-hashmap] Update library to 1.24 - -- realsense2 `2.22.0-1` -> `2.22.0-2` - - [(#8303)](https://github.com/microsoft/vcpkg/pull/8303) [realsense2] fix dependency glfw3 and mismatching number of debug and release binaries - -- ffmpeg `4.1-11` -> `4.2` - - [(#8021)](https://github.com/microsoft/vcpkg/pull/8021) [ffmpeg] update to 4.2 - -- open62541 `0.3.0-3` -> `0.3.0-4` - - [(#8252)](https://github.com/microsoft/vcpkg/pull/8252) [open62541] fix dynamic build - -- librdkafka `1.1.0-1` -> `1.2.0-2` - - [(#8307)](https://github.com/microsoft/vcpkg/pull/8307) [librdkafka] Update library to 1.2.0 - - [(#8355)](https://github.com/microsoft/vcpkg/pull/8355) [librdkafka] Add vcpkg-cmake-wrapper.cmake - -- chartdir `6.3.1` -> `6.3.1-1` - - [(#8308)](https://github.com/microsoft/vcpkg/pull/8308) [chartdir] fix hash for osx - -- mpfr `4.0.1` -> `4.0.2-1` - - [(#8324)](https://github.com/microsoft/vcpkg/pull/8324) update mpfr to 4.0.2 and fix build on osx - -- cuda `9.0` -> `10.1` - - [(#7536)](https://github.com/microsoft/vcpkg/pull/7536) [cudnn] add port and enable it in darknet - -- darknet `0.2.5-6` -> `0.2.5.1` - - [(#7536)](https://github.com/microsoft/vcpkg/pull/7536) [cudnn] add port and enable it in darknet - -- opencv4 `4.1.1-1` -> `4.1.1-2` - - [(#7536)](https://github.com/microsoft/vcpkg/pull/7536) [cudnn] add port and enable it in darknet - -- libiconv `1.15-5` -> `1.15-6` - - [(#8312)](https://github.com/microsoft/vcpkg/pull/8312) [libiconv] Guard imported targets in non-Windows - -- gsoap `2.8.87-1` -> `2.8.93-1` - - [(#8338)](https://github.com/microsoft/vcpkg/pull/8338) [gSoap] Update to 2.8.93 - -- arrow `0.14.1` -> `0.14.1-1` - - [(#8263)](https://github.com/microsoft/vcpkg/pull/8263) [arrow]Fix build error on Visual Studio 2019. - -- sol2 `3.0.3` -> `3.0.3-1` - - [(#8243)](https://github.com/microsoft/vcpkg/pull/8243) [sol2]Fix using namespace. - -- alembic `1.7.11-4` -> `1.7.11-5` - - [(#8331)](https://github.com/microsoft/vcpkg/pull/8331) [many ports] Warning to VCPKG long build path - - [(#8379)](https://github.com/microsoft/vcpkg/pull/8379) [alembic,geogram,openimageio]: openexr and libraw debug linkage, minor fix for geogram - -- avro-c `1.8.2-2` -> `1.8.2-3` - - [(#8331)](https://github.com/microsoft/vcpkg/pull/8331) [many ports] Warning to VCPKG long build path - -- aws-sdk-cpp `1.7.142` -> `1.7.142-1` - - [(#8331)](https://github.com/microsoft/vcpkg/pull/8331) [many ports] Warning to VCPKG long build path - -- boost-system `1.70.0` -> `1.70.0-1` - - [(#8331)](https://github.com/microsoft/vcpkg/pull/8331) [many ports] Warning to VCPKG long build path - -- cgal `4.14-2` -> `4.14-3` - - [(#8331)](https://github.com/microsoft/vcpkg/pull/8331) [many ports] Warning to VCPKG long build path - -- eigen3 `3.3.7-2` -> `3.3.7-3` - - [(#8331)](https://github.com/microsoft/vcpkg/pull/8331) [many ports] Warning to VCPKG long build path - -- itk `5.0.1` -> `5.0.1-1` - - [(#8331)](https://github.com/microsoft/vcpkg/pull/8331) [many ports] Warning to VCPKG long build path - -- kinectsdk2 `2.0-1` -> `2.0-2` - - [(#8331)](https://github.com/microsoft/vcpkg/pull/8331) [many ports] Warning to VCPKG long build path - -- ompl `1.4.2-1` -> `1.4.2-2` - - [(#8331)](https://github.com/microsoft/vcpkg/pull/8331) [many ports] Warning to VCPKG long build path - -- openmvg `1.4-5` -> `1.4-6` - - [(#8331)](https://github.com/microsoft/vcpkg/pull/8331) [many ports] Warning to VCPKG long build path - -- curl `7.65.2-1` -> `7.66.0` - - [(#7331)](https://github.com/microsoft/vcpkg/pull/7331) [curl] Update to 7.66.0 - -- halide `release_2018_02_15-1` -> `release_2019_08_27` - - [(#8102)](https://github.com/microsoft/vcpkg/pull/8102) [halide]Upgrade to release_2019_08_27. - -- boost-accumulators `1.70.0` -> `1.71.0` - - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 - -- boost-algorithm `1.70.0` -> `1.71.0` - - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 - -- boost-align `1.70.0` -> `1.71.0` - - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 - -- boost-any `1.70.0` -> `1.71.0` - - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 - -- boost-array `1.70.0` -> `1.71.0` - - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 - -- boost-asio `1.70.0-2` -> `1.71.0-1` - - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 - -- boost-assert `1.70.0` -> `1.71.0` - - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 - -- boost-assign `1.70.0` -> `1.71.0` - - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 - -- boost-atomic `1.70.0` -> `1.71.0` - - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 - -- boost-beast `1.70.0` -> `1.71.0` - - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 - -- boost-bimap `1.70.0` -> `1.71.0` - - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 - -- boost-bind `1.70.0` -> `1.71.0` - - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 - -- boost-callable-traits `2.3.2` -> `1.71.0` - - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 - -- boost-chrono `1.70.0` -> `1.71.0` - - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 - -- boost-circular-buffer `1.70.0` -> `1.71.0` - - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 - -- boost-compatibility `1.70.0` -> `1.71.0` - - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 - -- boost-compute `1.70.0` -> `1.71.0` - - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 - -- boost-concept-check `1.70.0` -> `1.71.0` - - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 - -- boost-config `1.70.0` -> `1.71.0` - - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 - -- boost-container-hash `1.70.0` -> `1.71.0` - - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 - -- boost-container `1.70.0` -> `1.71.0` - - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 - -- boost-context `1.70.0` -> `1.71.0` - - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 - -- boost-contract `1.70.0` -> `1.71.0` - - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 - -- boost-conversion `1.70.0` -> `1.71.0` - - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 - -- boost-convert `1.70.0` -> `1.71.0` - - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 - -- boost-core `1.70.0` -> `1.71.0` - - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 - -- boost-coroutine `1.70.0` -> `1.71.0` - - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 - -- boost-coroutine2 `1.70.0` -> `1.71.0` - - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 - -- boost-crc `1.70.0` -> `1.71.0` - - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 - -- boost-date-time `1.70.0` -> `1.71.0` - - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 - -- boost-detail `1.70.0` -> `1.71.0` - - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 - -- boost-disjoint-sets `1.70.0` -> `1.71.0` - - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 - -- boost-dll `1.70.0` -> `1.71.0` - - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 - -- boost-dynamic-bitset `1.70.0` -> `1.71.0` - - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 - -- boost-endian `1.70.0` -> `1.71.0` - - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 - -- boost-exception `1.70.0` -> `1.71.0` - - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 - -- boost-fiber `1.70.0` -> `1.71.0` - - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 - -- boost-filesystem `1.70.0` -> `1.71.0` - - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 - -- boost-flyweight `1.70.0` -> `1.71.0` - - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 - -- boost-foreach `1.70.0` -> `1.71.0` - - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 - -- boost-format `1.70.0` -> `1.71.0` - - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 - -- boost-function-types `1.70.0` -> `1.71.0` - - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 - -- boost-function `1.70.0` -> `1.71.0` - - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 - -- boost-functional `1.70.0` -> `1.71.0` - - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 - -- boost-fusion `1.70.0` -> `1.71.0` - - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 - -- boost-geometry `1.70.0` -> `1.71.0` - - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 - -- boost-gil `1.70.0` -> `1.71.0` - - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 - -- boost-graph-parallel `1.70.0` -> `1.71.0` - - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 - -- boost-graph `1.70.0` -> `1.71.0` - - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 - -- boost-hana `1.70.0` -> `1.71.0` - - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 - -- hpx `1.3.0-1` -> `1.3.0-2` - - [(#8259)](https://github.com/microsoft/vcpkg/pull/8259) [hpx] Redirect --head to `stable` - -- assimp `4.1.0-8` -> `5.0.0` - - [(#8370)](https://github.com/microsoft/vcpkg/pull/8370) [assimp] Update the version to 5.0.0 - - [(#8381)](https://github.com/microsoft/vcpkg/pull/8381) [assimp] Update the version - -- angle `2019-06-13` -> `2019-07-19-2` - - [(#7329)](https://github.com/microsoft/vcpkg/pull/7329) [angle] Update to the latest commit. - - [(#8395)](https://github.com/microsoft/vcpkg/pull/8395) drop useless patch - -
- --- vcpkg team vcpkg@microsoft.com TUE, 01 Oct 22:00:00 -0800 - -vcpkg (2019.08.31) ---- -#### Total port count: 1169 -#### Total port count per triplet (tested): -|triplet|ports available| -|---|---| -|**x64-windows**|1099| -|x86-windows|1085| -|x64-windows-static|987| -|**x64-linux**|930| -|**x64-osx**|876| -|arm64-windows|726| -|x64-uwp|595| -|arm-uwp|571| - -#### The following commands and options have been updated: -- `depend-info` - - `--max-recurse` ***[NEW OPTION]***: Set the max depth of recursion for listing dependencies - - `--sort` ***[NEW OPTION]***: Sort the list of dependencies by `lexicographical`, `topological`, and `reverse` (topological) order - - `--show-depth` ***[NEW OPTION]***: Display the depth of each dependency in the list - - [(#7643)](https://github.com/microsoft/vcpkg/pull/7643) [depend-info] Fix bugs, add `--sort`, `--show-depth` and `--max-recurse` options -- `install --only-downloads` ***[NEW OPTION]*** - - Download sources for a package and its dependencies and don't build them - - [(#7950)](https://github.com/microsoft/vcpkg/pull/7950) [vcpkg install] Enable Download Mode ⏬ - -#### The following documentation has been updated: -- [Index](docs/README.md) - - [(#7506)](https://github.com/microsoft/vcpkg/pull/7506) Update tests, and add documentation! - - [(#7821)](https://github.com/microsoft/vcpkg/pull/7821) [vcpkg docs] More tool maintainer docs! 🐱‍👤 -- [Tool maintainers: Testing](docs/tool-maintainers/testing.md) ***[NEW]*** - - [(#7506)](https://github.com/microsoft/vcpkg/pull/7506) Update tests, and add documentation! - - [(#7821)](https://github.com/microsoft/vcpkg/pull/7821) [vcpkg docs] More tool maintainer docs! 🐱‍👤 -- [Examples: Overlay triplets example -](docs/examples/overlay-triplets-linux-dynamic.md) - - [(#7502)](https://github.com/microsoft/vcpkg/pull/7502) [vcpkg-docs] Reword and reorganize overlay-triplets-linux-dynamic.md -- [Portfile helper functions](docs/maintainers/portfile-functions.md) - - [(#7558)](https://github.com/microsoft/vcpkg/pull/7558) [vcpkg_check_features] Set output variable explicitly and allow reverse-logic check - - [(#7950)](https://github.com/microsoft/vcpkg/pull/7950) [vcpkg install] Enable Download Mode ⏬ -- [`vcpkg_check_features`](docs/maintainers/vcpkg_check_features.md) - - [(#7558)](https://github.com/microsoft/vcpkg/pull/7558) [vcpkg_check_features] Set output variable explicitly and allow reverse-logic check -- [`vcpkg_configure_cmake`](docs/maintainers/vcpkg_configure_cmake.md) - - [(#7558)](https://github.com/microsoft/vcpkg/pull/7558) [vcpkg_check_features] Set output variable explicitly and allow reverse-logic check -- [`vcpkg_pretiffy_command`](docs/maintainers/vcpkg_prettify_command.md) ***[NEW]*** - - [(#7558)](https://github.com/microsoft/vcpkg/pull/7558) [vcpkg_check_features] Set output variable explicitly and allow reverse-logic check -- [Maintainer Guidelines and Policies](docs/maintainers/maintainer-guide.md) - - [(#7751)](https://github.com/microsoft/vcpkg/pull/7751) Add guideline for overriding `VCPKG_` -- [Tool maintainers: Benchmarking](docs/tool-maintainers/benchmarking.md) ***[NEW]*** - - [(#7821)](https://github.com/microsoft/vcpkg/pull/7821) [vcpkg docs] More tool maintainer docs! 🐱‍👤 -- [Tool maintainers: Layout of the vcpkg source tree](docs/tool-maintainers/layout.md) ***[NEW]*** - - [(#7821)](https://github.com/microsoft/vcpkg/pull/7821) [vcpkg docs] More tool maintainer docs! 🐱‍👤 -- [`vcpkg_common_definitions`](docs/maintainers/vcpkg_common_definitions.md) ***[NEW]*** - - [(#7950)](https://github.com/microsoft/vcpkg/pull/7950) [vcpkg install] Enable Download Mode ⏬ -- [`vcpkg_execute_required_process`](docs/maintainers/vcpkg_execute_required_process.md) - - [(#7950)](https://github.com/microsoft/vcpkg/pull/7950) [vcpkg install] Enable Download Mode ⏬ -- [`vcpkg_fail_port_install`](docs/maintainers/vcpkg_fail_port_install.md) ***[NEW]*** - - [(#7950)](https://github.com/microsoft/vcpkg/pull/7950) [vcpkg install] Enable Download Mode ⏬ - -#### The following *remarkable* changes have been made to vcpkg's infrastructure: -- CONTROL files extended syntax - - The `Build-Depends` field now supports logical expressions as well as line breaks - - [(#7508)](https://github.com/microsoft/vcpkg/pull/7508) Improve logical evaluation of dependency qualifiers - - [(#7863)](https://github.com/microsoft/vcpkg/pull/7863) Fix list parsing logic and add error messages -- Quality-of-Life improvements for portfile maintainers - - [(#7601)](https://github.com/microsoft/vcpkg/pull/7601) [vcpkg/cmake] Added a function to fail from portfiles in a default way - - [(#7600)](https://github.com/microsoft/vcpkg/pull/7600) [vcpkg] QoL: add target dependent library prefix/suffix variables and enable find_library for portfiles - - [(#7773)](https://github.com/microsoft/vcpkg/pull/7773) [vcpkg] QoL: Make find_library useable without errors to console. - - [(#7599)](https://github.com/microsoft/vcpkg/pull/7599) [vcpkg] QoL: add host/target dependent variables for executable suffixes - -#### The following *additional* changes have been made to vcpkg's infrastructure: -- [(#4572)](https://github.com/microsoft/vcpkg/pull/4572) Change CMakeLists.txt in toolsrc to allow compiling with llvm toolset -- [(#7305)](https://github.com/microsoft/vcpkg/pull/7305) [vcpkg] Public ABI override option -- [(#7307)](https://github.com/microsoft/vcpkg/pull/7307) [vcpkg] Always calculate ABI tags -- [(#7491)](https://github.com/microsoft/vcpkg/pull/7491) Handle response files with Windows line-endings properly -- [(#7501)](https://github.com/microsoft/vcpkg/pull/7501) Add July changelog -- [(#7506)](https://github.com/microsoft/vcpkg/pull/7506) Update tests, and add documentation! -- [(#7558)](https://github.com/microsoft/vcpkg/pull/7558) [vcpkg_check_features] Set output variable explicitly and allow reverse-logic check -- [(#7568)](https://github.com/microsoft/vcpkg/pull/7568) [tensorflow] Add new port for linux -- [(#7570)](https://github.com/microsoft/vcpkg/pull/7570) [vcpkg] Make `RealFilesystem::remove_all` much, much faster, and start benchmarking -- [(#7587)](https://github.com/microsoft/vcpkg/pull/7587) [vcpkg] Revert accidental removal of powershell-core usage in bb3a9ddb6ec917f54 -- [(#7619)](https://github.com/microsoft/vcpkg/pull/7619) [vcpkg] Fix `.vcpkg-root` detection issue -- [(#7620)](https://github.com/microsoft/vcpkg/pull/7620) [vcpkg] Fix warnings in `files.{h,cpp}` build under /W4 -- [(#7623)](https://github.com/microsoft/vcpkg/pull/7623) Fix VS 2019 detection bug -- [(#7637)](https://github.com/microsoft/vcpkg/pull/7637) [vcpkg] Fix the build on VS2015 debug -- [(#7638)](https://github.com/microsoft/vcpkg/pull/7638) [vcpkg] Make CMakelists nicer 😁 -- [(#7687)](https://github.com/microsoft/vcpkg/pull/7687) [vcpkg] Port toolchains -- [(#7754)](https://github.com/microsoft/vcpkg/pull/7754) [vcpkg] Allow multiple spaces in a comma list -- [(#7757)](https://github.com/microsoft/vcpkg/pull/7757) [vcpkg] Switch to internal hash algorithms 🐱‍💻 -- [(#7793)](https://github.com/microsoft/vcpkg/pull/7793) Allow redirection of the scripts folder -- [(#7798)](https://github.com/microsoft/vcpkg/pull/7798) [vcpkg] Fix build on FreeBSD 😈 -- [(#7816)](https://github.com/microsoft/vcpkg/pull/7816) [vcpkg] Fix gcc-9 warning -- [(#7864)](https://github.com/microsoft/vcpkg/pull/7864) [vcpkg] Move `do_build_package_and_clean_buildtrees()` above generating vcpkg_abi_info.txt so it will be included in the package. -- [(#7930)](https://github.com/microsoft/vcpkg/pull/7930) [vcpkg] fix bug in StringView::operator== 😱 -
-The following 63 ports have been added: - -|port|version| -|---|---| -|[riffcpp](https://github.com/microsoft/vcpkg/pull/7509) [#7541](https://github.com/microsoft/vcpkg/pull/7541) [#7859](https://github.com/microsoft/vcpkg/pull/7859) | 2.2.2 -|[easyhook](https://github.com/microsoft/vcpkg/pull/7487)| 2.7.6789.0 -|[brigand](https://github.com/microsoft/vcpkg/pull/7518)| 1.3.0 -|[ctbignum](https://github.com/microsoft/vcpkg/pull/7512)| 2019-08-02 -|[gaussianlib](https://github.com/microsoft/vcpkg/pull/7542)| 2019-08-04 -|[tinycthread](https://github.com/microsoft/vcpkg/pull/7565)| 2019-08-06 -|[libcerf](https://github.com/microsoft/vcpkg/pull/7320)| 1.13 -|[tinynpy](https://github.com/microsoft/vcpkg/pull/7393)| 1.0.0-2 -|[googleapis](https://github.com/microsoft/vcpkg/pull/7557) [#7703](https://github.com/microsoft/vcpkg/pull/7703) | 0.1.3 -|[pdqsort](https://github.com/microsoft/vcpkg/pull/7464)| 2019-07-30 -|[discount](https://github.com/microsoft/vcpkg/pull/7400)| 2.2.6 -|[duckx](https://github.com/microsoft/vcpkg/pull/7561)| 2019-08-06 -|[opencv3](https://github.com/microsoft/vcpkg/pull/5169) [#7581](https://github.com/microsoft/vcpkg/pull/7581) [#7658](https://github.com/microsoft/vcpkg/pull/7658) [#7925](https://github.com/microsoft/vcpkg/pull/7925) | 3.4.7-1 -|[opencv4](https://github.com/microsoft/vcpkg/pull/5169) [#7558](https://github.com/microsoft/vcpkg/pull/7558) [#7581](https://github.com/microsoft/vcpkg/pull/7581) [#7658](https://github.com/microsoft/vcpkg/pull/7658) | 4.1.1-1 -|[tiny-bignum-c](https://github.com/microsoft/vcpkg/pull/7531)| 2019-07-31 -|[tgc](https://github.com/microsoft/vcpkg/pull/7644)| 2019-08-11 -|[bento4](https://github.com/microsoft/vcpkg/pull/7595)| 1.5.1-628 -|[dbow2](https://github.com/microsoft/vcpkg/pull/7552)| 2019-08-05 -|[tiny-aes-c](https://github.com/microsoft/vcpkg/pull/7530)| 2019-07-31 -|[drlibs](https://github.com/microsoft/vcpkg/pull/7656)| 2019-08-12 -|[nt-wrapper](https://github.com/microsoft/vcpkg/pull/7633)| 2019-08-10 -|[xorstr](https://github.com/microsoft/vcpkg/pull/7631)| 2019-08-10 -|[lazy-importer](https://github.com/microsoft/vcpkg/pull/7630)| 2019-08-10 -|[plf-colony](https://github.com/microsoft/vcpkg/pull/7627)| 2019-08-10 -|[plf-list](https://github.com/microsoft/vcpkg/pull/7627)| 2019-08-10 -|[plf-nanotimer](https://github.com/microsoft/vcpkg/pull/7627)| 2019-08-10 -|[plf-stack](https://github.com/microsoft/vcpkg/pull/7627)| 2019-08-10 -|[tiny-regex-c](https://github.com/microsoft/vcpkg/pull/7626)| 2019-07-31 -|[hayai](https://github.com/microsoft/vcpkg/pull/7624)| 2019-08-10 -|[yasm](https://github.com/microsoft/vcpkg/pull/7478)| 1.3.0 -|[fast-cpp-csv-parser](https://github.com/microsoft/vcpkg/pull/7681)| 2019-08-14 -|[wg21-sg14](https://github.com/microsoft/vcpkg/pull/7663)| 2019-08-13 -|[pistache](https://github.com/microsoft/vcpkg/pull/7547)| 2019-08-05 -|[hfsm2](https://github.com/microsoft/vcpkg/pull/7516)| beta7 -|[mpmcqueue](https://github.com/microsoft/vcpkg/pull/7437)| 2019-07-26 -|[spscqueue](https://github.com/microsoft/vcpkg/pull/7437)| 2019-07-26 -|[tinkerforge](https://github.com/microsoft/vcpkg/pull/7523)| 2.1.25 -|[field3d](https://github.com/microsoft/vcpkg/pull/7594)| 1.7.2 -|[libsvm](https://github.com/microsoft/vcpkg/pull/7664)| 323 -|[nanort](https://github.com/microsoft/vcpkg/pull/7778)| 2019-08-20 -|[libspatialindex](https://github.com/microsoft/vcpkg/pull/7762)| 1.9.0 -|[qtkeychain](https://github.com/microsoft/vcpkg/pull/7760)| v0.9.1 -|[sparsehash](https://github.com/microsoft/vcpkg/pull/7772)| 2.0.3 -|[tensorflow-cc](https://github.com/microsoft/vcpkg/pull/7568)| 1.14 -|[qt-advanced-docking-system](https://github.com/microsoft/vcpkg/pull/7621)| 2019-08-14 -|[quickfast](https://github.com/microsoft/vcpkg/pull/7814)| 1.5 -|[mp3lame](https://github.com/microsoft/vcpkg/pull/7830)| 3.100 -|[quickfix](https://github.com/microsoft/vcpkg/pull/7796)| 1.15.1 -|[fplus](https://github.com/microsoft/vcpkg/pull/7883)| 0.2.3-p0 -|[json5-parser](https://github.com/microsoft/vcpkg/pull/7915)| 1.0.0 -|[gppanel](https://github.com/microsoft/vcpkg/pull/7868)| 2018-04-06 -|[libguarded](https://github.com/microsoft/vcpkg/pull/7924)| 2019-08-27 -|[cgl](https://github.com/microsoft/vcpkg/pull/7810)| 0.60.2-1 -|[minifb](https://github.com/microsoft/vcpkg/pull/7766)| 2019-08-20-1 -|[log4cpp](https://github.com/microsoft/vcpkg/pull/7433)| 2.9.1-1 -|[chartdir](https://github.com/microsoft/vcpkg/pull/7912)| 6.3.1 -|[outcome](https://github.com/microsoft/vcpkg/pull/7940)| 2.1 -|[libP7Client](https://github.com/microsoft/vcpkg/pull/7605)| 5.2 -|[clue](https://github.com/microsoft/vcpkg/pull/7564)| 1.0.0-alpha.7 -|[status-value-lite](https://github.com/microsoft/vcpkg/pull/7563)| 1.1.0 -|[type-lite](https://github.com/microsoft/vcpkg/pull/7563)| 0.1.0 -|[value-ptr-lite](https://github.com/microsoft/vcpkg/pull/7563)| 0.2.1 -|[kvasir-mpl](https://github.com/microsoft/vcpkg/pull/7562)| 2019-08-06 -
- -
-The following 199 ports have been updated: - -- pcl `1.9.1-5` -> `1.9.1-8` - - [(#7413)](https://github.com/microsoft/vcpkg/pull/7413) [pcl] Fix Build failure in linux - - [(#7558)](https://github.com/microsoft/vcpkg/pull/7558) [vcpkg_check_features] Set output variable explicitly and allow reverse-logic check - - [(#7700)](https://github.com/microsoft/vcpkg/pull/7700) [czmq/pcl] Fix judgment feature condition. - -- xalan-c `1.11-5` -> `1.11-7` - - [(#7496)](https://github.com/microsoft/vcpkg/pull/7496) [xalan-c] Bump version number - - [(#7505)](https://github.com/microsoft/vcpkg/pull/7505) [xalan-c] switch to https://github.com/apache/xalan-c (#7489) - -- catch2 `2.7.2-2` -> `2.9.2` - - [(#7497)](https://github.com/microsoft/vcpkg/pull/7497) [Catch2] Update to v2.9.1 - - [(#7702)](https://github.com/microsoft/vcpkg/pull/7702) [brynet, catch2, chakracore] Update some ports version - -- ade `0.1.1d` -> `0.1.1f` - - [(#7494)](https://github.com/microsoft/vcpkg/pull/7494) Update some ports version - - [(#7628)](https://github.com/microsoft/vcpkg/pull/7628) [ade] Update library to 0.1.1f - -- harfbuzz `2.5.1-1` -> `2.5.3` - - [(#7494)](https://github.com/microsoft/vcpkg/pull/7494) Update some ports version - -- libpmemobj-cpp `1.6-1` -> `1.7` - - [(#7494)](https://github.com/microsoft/vcpkg/pull/7494) Update some ports version - -- msgpack `3.1.1` -> `3.2.0` - - [(#7494)](https://github.com/microsoft/vcpkg/pull/7494) Update some ports version - -- protobuf `3.8.0-1` -> `3.9.1` - - [(#7494)](https://github.com/microsoft/vcpkg/pull/7494) Update some ports version - - [(#7671)](https://github.com/microsoft/vcpkg/pull/7671) [protobuf] Update from 3.9.0 to 3.9.1 - -- string-theory `2.1-1` -> `2.2` - - [(#7494)](https://github.com/microsoft/vcpkg/pull/7494) Update some ports version - -- ccfits `2.5-2` -> `2.5-3` - - [(#7484)](https://github.com/microsoft/vcpkg/pull/7484) [manyports] Regenerate patches and modify how the patches are used. - -- itpp `4.3.1` -> `4.3.1-1` - - [(#7484)](https://github.com/microsoft/vcpkg/pull/7484) [manyports] Regenerate patches and modify how the patches are used. - -- mpg123 `1.25.8-5` -> `1.25.8-6` - - [(#7484)](https://github.com/microsoft/vcpkg/pull/7484) [manyports] Regenerate patches and modify how the patches are used. - -- qwt `6.1.3-6` -> `6.1.3-7` - - [(#7484)](https://github.com/microsoft/vcpkg/pull/7484) [manyports] Regenerate patches and modify how the patches are used. - -- sdl1 `1.2.15-5` -> `1.2.15-6` - - [(#7484)](https://github.com/microsoft/vcpkg/pull/7484) [manyports] Regenerate patches and modify how the patches are used. - -- gdal `2.4.1-5` -> `2.4.1-8` - - [(#7520)](https://github.com/microsoft/vcpkg/pull/7520) [gdal] Fix duplicate pdb file - - [(#7434)](https://github.com/microsoft/vcpkg/pull/7434) [gdal] Fix dependent ports in static builds. - -- blosc `1.16.3-2` -> `1.17.0-1` - - [(#7525)](https://github.com/microsoft/vcpkg/pull/7525) Update some ports version - - [(#7649)](https://github.com/microsoft/vcpkg/pull/7649) [blosc] enable dependent ports to use debug builds - -- boost-callable-traits `1.70.0` -> `2.3.2` - - [(#7525)](https://github.com/microsoft/vcpkg/pull/7525) Update some ports version - -- cjson `1.7.10-1` -> `1.7.12` - - [(#7525)](https://github.com/microsoft/vcpkg/pull/7525) Update some ports version - -- cppzmq `4.3.0-1` -> `4.4.1` - - [(#7525)](https://github.com/microsoft/vcpkg/pull/7525) Update some ports version - -- restinio `0.5.1-1` -> `0.6.0` - - [(#7514)](https://github.com/microsoft/vcpkg/pull/7514) [RESTinio] updated to v.0.5.1.1 - - [(#7962)](https://github.com/microsoft/vcpkg/pull/7962) RESTinio updated to v.0.6.0 - -- argh `2018-12-18` -> `2018-12-18-1` - - [(#7527)](https://github.com/microsoft/vcpkg/pull/7527) [argh] fix flaky cmake config - -- libusb `1.0.22-3` -> `1.0.22-4` - - [(#7465)](https://github.com/microsoft/vcpkg/pull/7465) [libusb] Fix using mismatched CRT_linkage/library_linkage issue. - -- casclib `1.50` -> `1.50b-1` - - [(#7522)](https://github.com/microsoft/vcpkg/pull/7522) [casclib] Added CMake targets - - [(#7907)](https://github.com/microsoft/vcpkg/pull/7907) [casclib] Update library to 1.50b - -- opencv `3.4.3-9` -> `4.1.1-1` - - [(#7499)](https://github.com/microsoft/vcpkg/pull/7499) Add feature halide to OpenCV. - - [(#5169)](https://github.com/microsoft/vcpkg/pull/5169) [OpenCV] Update to v4.1.1 - - [(#7659)](https://github.com/microsoft/vcpkg/pull/7659) [opencv] Expose all features from `opencv4` in meta-package - - [(#7558)](https://github.com/microsoft/vcpkg/pull/7558) [vcpkg_check_features] Set output variable explicitly and allow reverse-logic check - -- openxr-loader `1.0.0-1` -> `1.0.0-2` - - [(#7560)](https://github.com/microsoft/vcpkg/pull/7560) [Openxr-loader] Remove the invalid patch - -- simdjson `2019-03-09` -> `2019-08-05` - - [(#7546)](https://github.com/microsoft/vcpkg/pull/7546) [simdjson] Update to 0.2.1 - -- alembic `1.7.11-3` -> `1.7.11-4` - - [(#7551)](https://github.com/microsoft/vcpkg/pull/7551) [alembic] fix hdf5 linkage - -- xerces-c `3.2.2-10` -> `3.2.2-11` - - [(#7500)](https://github.com/microsoft/vcpkg/pull/7500) [xercec-c] no symlinks in static build (#7490) - - [(#7622)](https://github.com/microsoft/vcpkg/pull/7622) [tiff][tesseract][xerces-c] Disable unmanaged optional dependencies - -- sol2 `3.0.2` -> `3.0.3` - - [(#7545)](https://github.com/microsoft/vcpkg/pull/7545) Update sol2 portfile to 579908 - - [(#7804)](https://github.com/microsoft/vcpkg/pull/7804) [sol2] Update library to 3.0.3 - -- cpprestsdk `2.10.14` -> `2.10.14-1` - - [(#7472)](https://github.com/microsoft/vcpkg/pull/7472) Repair compression dependency bugs in cpprestsdk - - [(#7863)](https://github.com/microsoft/vcpkg/pull/7863) fix list parsing logic and add error messages - -- libevent `2.1.10` -> `2.1.11` - - [(#7515)](https://github.com/microsoft/vcpkg/pull/7515) [libevent] update to 2.1.11 - -- imgui `1.70-1` -> `1.72b` - - [(#7534)](https://github.com/microsoft/vcpkg/pull/7534) Update some ports version - -- mbedtls `2.15.1` -> `2.16.2` - - [(#7534)](https://github.com/microsoft/vcpkg/pull/7534) Update some ports version - -- ffmpeg `4.1-8` -> `4.1-9` - - [(#7476)](https://github.com/microsoft/vcpkg/pull/7476) [ffmpeg] Fix debug build in Windows. - - [(#5169)](https://github.com/microsoft/vcpkg/pull/5169) [OpenCV] Update to v4.1.1 - - [(#7608)](https://github.com/microsoft/vcpkg/pull/7608) [ffmpeg] Add feature avresample. - - [(#7739)](https://github.com/microsoft/vcpkg/pull/7739) [ffmpeg] Fix static linking on Windows, FindFFMPEG - -- kangaru `4.1.3-2` -> `4.2.0` - - [(#7567)](https://github.com/microsoft/vcpkg/pull/7567) Updated kangaru version - -- cpp-taskflow `2018-11-30` -> `2.2.0` - - [(#7554)](https://github.com/microsoft/vcpkg/pull/7554) [cpp-taskflow] update to 2.2.0 - -- jsoncons `0.125.0` -> `0.132.1` - - [(#7529)](https://github.com/microsoft/vcpkg/pull/7529) Update jsoncons to v0.131.2 - - [(#7718)](https://github.com/microsoft/vcpkg/pull/7718) [jsoncons] Update library to 0.132.1 - -- tinyexif `1.0.2-5` -> `1.0.2-6` - - [(#7575)](https://github.com/microsoft/vcpkg/pull/7575) [TinyEXIF] fix linux/mac - -- itk `5.0.0-2` -> `5.0.1` - - [(#7241)](https://github.com/microsoft/vcpkg/pull/7241) ITK portfile support legacy user code by default - - [(#7586)](https://github.com/microsoft/vcpkg/pull/7586) [itk] Update library from 5.0.0 to 5.0.1 - -- stxxl `2018-11-15-1` -> `2018-11-15-2` - - [(#7330)](https://github.com/microsoft/vcpkg/pull/7330) [stxxl] compilation fix - -- chakracore `1.11.9` -> `1.11.12` - - [(#7576)](https://github.com/microsoft/vcpkg/pull/7576) [chakracore] Update library to 1.11.11 - - [(#7702)](https://github.com/microsoft/vcpkg/pull/7702) [brynet, catch2, chakracore] Update some ports version - -- qhull `7.3.2` -> `7.3.2-1` - - [(#7370)](https://github.com/microsoft/vcpkg/pull/7370) [Qhulluwp] fix uwp building - -- netcdf-c `4.7.0-3` -> `4.7.0-4` - - [(#7578)](https://github.com/microsoft/vcpkg/pull/7578) [netcdf-c] correctly fix hdf5 linkage - -- google-cloud-cpp `0.11.0` -> `0.12.0` - - [(#7557)](https://github.com/microsoft/vcpkg/pull/7557) Update google-cloud-cpp to 0.12.0. - -- stormlib `9.22` -> `2019-05-10` - - [(#7409)](https://github.com/microsoft/vcpkg/pull/7409) [stormlib] Add targets and streamline build - -- openimageio `2.0.8` -> `2019-08-08-2` - - [(#7419)](https://github.com/microsoft/vcpkg/pull/7419) [openimageio] Fix feature libraw build errors - - [(#7588)](https://github.com/microsoft/vcpkg/pull/7588) [openimageio] find_package support - - [(#7747)](https://github.com/microsoft/vcpkg/pull/7747) [openimageio] Fix find correct debug/release openexr libraries. - -- librdkafka `1.1.0` -> `1.1.0-1` - - [(#7469)](https://github.com/microsoft/vcpkg/pull/7469) Librdkafka snappy - - [(#7558)](https://github.com/microsoft/vcpkg/pull/7558) [vcpkg_check_features] Set output variable explicitly and allow reverse-logic check - -- open62541 `0.3.0-2` -> `0.3.0-3` - - [(#7607)](https://github.com/microsoft/vcpkg/pull/7607) [open62541] Fix flakiness/bugginess - -- jsonnet `2019-05-08` -> `2019-05-08-1` - - [(#7587)](https://github.com/microsoft/vcpkg/pull/7587) [vcpkg] Revert accidental removal of powershell-core usage in bb3a9ddb6ec917f54 - - [(#7374)](https://github.com/microsoft/vcpkg/pull/7374) [jsonnet] Upgrade version to 0.13.0 - -- expat `2.2.6` -> `2.2.7` - - [(#7596)](https://github.com/microsoft/vcpkg/pull/7596) [expat] Update library to 2.2.7 - -- aws-lambda-cpp `0.1.0-1` -> `0.1.0-2` - - [(#7601)](https://github.com/microsoft/vcpkg/pull/7601) [vcpkg/cmake] Added a function to fail from portfiles in a default way - -- rocksdb `6.1.2` -> `6.1.2-1` - - [(#7452)](https://github.com/microsoft/vcpkg/pull/7452) [rocksdb] Change linkage type to static. - - [(#7558)](https://github.com/microsoft/vcpkg/pull/7558) [vcpkg_check_features] Set output variable explicitly and allow reverse-logic check - - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 - -- freeimage `3.18.0-6` -> `3.18.0-7` - - [(#5169)](https://github.com/microsoft/vcpkg/pull/5169) [OpenCV] Update to v4.1.1 - -- gdcm `3.0.0-3` -> `3.0.0-4` - - [(#5169)](https://github.com/microsoft/vcpkg/pull/5169) [OpenCV] Update to v4.1.1 - -- ogre `1.12.0-1` -> `1.12.1` - - [(#5169)](https://github.com/microsoft/vcpkg/pull/5169) [OpenCV] Update to v4.1.1 - - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 - -- pthreads `3.0.0-2` -> `3.0.0-3` - - [(#5169)](https://github.com/microsoft/vcpkg/pull/5169) [OpenCV] Update to v4.1.1 - -- qt5 `5.12.3` -> `5.12.3-1` - - [(#5169)](https://github.com/microsoft/vcpkg/pull/5169) [OpenCV] Update to v4.1.1 - - [(#7642)](https://github.com/microsoft/vcpkg/pull/7642) [qt5] Only build qt5-activeqt on windows - -- zxing-cpp `3.3.3-5` -> `3.3.3-6` - - [(#5169)](https://github.com/microsoft/vcpkg/pull/5169) [OpenCV] Update to v4.1.1 - -- tesseract `4.1.0-1` -> `4.1.0-2` - - [(#7622)](https://github.com/microsoft/vcpkg/pull/7622) [tiff][tesseract][xerces-c] Disable unmanaged optional dependencies - -- tiff `4.0.10-6` -> `4.0.10-7` - - [(#7622)](https://github.com/microsoft/vcpkg/pull/7622) [tiff][tesseract][xerces-c] Disable unmanaged optional dependencies - -- osg `3.6.3-1` -> `3.6.4` - - [(#7653)](https://github.com/microsoft/vcpkg/pull/7653) [osg] Update osg version to 3.6.4 - - [(#7677)](https://github.com/microsoft/vcpkg/pull/7677) [osg] Fix Applying patch failed - -- cppgraphqlgen `3.0.0` -> `3.0.2` - - [(#7639)](https://github.com/microsoft/vcpkg/pull/7639) [cppgraphqlgen] Update with matching PEGTL - -- pegtl `3.0.0-pre` -> `3.0.0-pre-697aaa0` - - [(#7639)](https://github.com/microsoft/vcpkg/pull/7639) [cppgraphqlgen] Update with matching PEGTL - -- monkeys-audio `4.3.3-1` -> `4.8.3` - - [(#7634)](https://github.com/microsoft/vcpkg/pull/7634) [monkeys-audio] Update library to 4.8.3 - -- directxmesh `apr2019` -> `jun2019-1` - - [(#7665)](https://github.com/microsoft/vcpkg/pull/7665) [directxtk][directxtk12][directxmesh][directxtex] Updated to June version and improved platform toolset support - - [(#7869)](https://github.com/microsoft/vcpkg/pull/7869) [directxmesh] Update library to aug2019 - -- directxtex `apr2019` -> `jun2019-1` - - [(#7665)](https://github.com/microsoft/vcpkg/pull/7665) [directxtk][directxtk12][directxmesh][directxtex] Updated to June version and improved platform toolset support - - [(#7870)](https://github.com/microsoft/vcpkg/pull/7870) [directxtex] Update library to aug2019 - -- directxtk `apr2019-1` -> `jun2019-1` - - [(#7665)](https://github.com/microsoft/vcpkg/pull/7665) [directxtk][directxtk12][directxmesh][directxtex] Updated to June version and improved platform toolset support - - [(#7871)](https://github.com/microsoft/vcpkg/pull/7871) [directxtk] Update library to aug2019 - -- directxtk12 `dec2016-1` -> `jun2019-1` - - [(#7665)](https://github.com/microsoft/vcpkg/pull/7665) [directxtk][directxtk12][directxmesh][directxtex] Updated to June version and improved platform toolset support - - [(#7872)](https://github.com/microsoft/vcpkg/pull/7872) [directxtk12] Update library to aug2019 - -- usockets `0.1.2` -> `0.3.1` - - [(#7662)](https://github.com/microsoft/vcpkg/pull/7662) [usockets] upgrade to v0.3.1 - -- dimcli `4.1.0` -> `5.0.0` - - [(#7651)](https://github.com/microsoft/vcpkg/pull/7651) [dimcli] Fix build error C2220 - - [(#7785)](https://github.com/microsoft/vcpkg/pull/7785) [dimcli] Update library to 5.0.0 - -- czmq `2019-06-10-1` -> `2019-06-10-3` - - [(#7558)](https://github.com/microsoft/vcpkg/pull/7558) [vcpkg_check_features] Set output variable explicitly and allow reverse-logic check - - [(#7700)](https://github.com/microsoft/vcpkg/pull/7700) [czmq/pcl] Fix judgment feature condition. - -- darknet `0.2.5-5` -> `0.2.5-6` - - [(#7558)](https://github.com/microsoft/vcpkg/pull/7558) [vcpkg_check_features] Set output variable explicitly and allow reverse-logic check - -- mimalloc `2019-06-25` -> `2019-06-25-1` - - [(#7558)](https://github.com/microsoft/vcpkg/pull/7558) [vcpkg_check_features] Set output variable explicitly and allow reverse-logic check - -- mongo-c-driver `1.14.0-3` -> `1.14.0-3-1` - - [(#7558)](https://github.com/microsoft/vcpkg/pull/7558) [vcpkg_check_features] Set output variable explicitly and allow reverse-logic check - -- oniguruma `6.9.2-2` -> `6.9.3` - - [(#7558)](https://github.com/microsoft/vcpkg/pull/7558) [vcpkg_check_features] Set output variable explicitly and allow reverse-logic check - - [(#7721)](https://github.com/microsoft/vcpkg/pull/7721) [oniguruma] Update library 6.9.3 - -- paho-mqttpp3 `1.0.1` -> `1.0.1-2` - - [(#7558)](https://github.com/microsoft/vcpkg/pull/7558) [vcpkg_check_features] Set output variable explicitly and allow reverse-logic check - - [(#7769)](https://github.com/microsoft/vcpkg/pull/7769) [paho-mqttpp3] Fix missing reference to C library headers - -- xsimd `7.2.3-1` -> `7.2.3-2` - - [(#7558)](https://github.com/microsoft/vcpkg/pull/7558) [vcpkg_check_features] Set output variable explicitly and allow reverse-logic check - -- xtensor `0.20.7-1` -> `0.20.7-2` - - [(#7558)](https://github.com/microsoft/vcpkg/pull/7558) [vcpkg_check_features] Set output variable explicitly and allow reverse-logic check - -- zeromq `2019-07-09` -> `2019-07-09-1` - - [(#7558)](https://github.com/microsoft/vcpkg/pull/7558) [vcpkg_check_features] Set output variable explicitly and allow reverse-logic check - -- gtest `2019-01-04-2` -> `2019-08-14-1` - - [(#7692)](https://github.com/microsoft/vcpkg/pull/7692) [gtest] update to 90a443f9c2437ca8a682a1ac625eba64e1d74a8a - - [(#7316)](https://github.com/microsoft/vcpkg/pull/7316) [gtest] Re-fix port_main/port_maind libraries path and add gmock cmake files. - -- physx `commit-624f2cb6c0392013d54b235d9072a49d01c3cb6c` -> `4.1.1-1` - - [(#7679)](https://github.com/microsoft/vcpkg/pull/7679) [physx] Update to 4.1.1 (with Visual Studio 2019 support) - -- libidn2 `2.1.1-1` -> `2.2.0` - - [(#7685)](https://github.com/microsoft/vcpkg/pull/7685) [libidn2] Update to version 2.2.0. - -- poco `2.0.0-pre-3` -> `1.9.2-1` - - [(#7698)](https://github.com/microsoft/vcpkg/pull/7698) [poco] Upgrade version to 1.9.2 release. - - [(#7892)](https://github.com/microsoft/vcpkg/pull/7892) [poco] Fix conflicts with libharu. - -- osgearth `2.10.1` -> `2.10.2` - - [(#7695)](https://github.com/microsoft/vcpkg/pull/7695) [osgearth] Fix osgearth rocksdb plugin build falied - -- spdlog `1.3.1-1` -> `1.3.1-2` - - [(#7670)](https://github.com/microsoft/vcpkg/pull/7670) [spdlog] fix cmake targets path - -- libgit2 `0.28.2` -> `0.28.3` - - [(#7669)](https://github.com/microsoft/vcpkg/pull/7669) [libgit2] Upgrade to version 0.28.3 - -- brynet `1.0.2` -> `1.0.3` - - [(#7702)](https://github.com/microsoft/vcpkg/pull/7702) [brynet, catch2, chakracore] Update some ports version - -- nghttp2 `1.35.0` -> `1.39.2` - - [(#7699)](https://github.com/microsoft/vcpkg/pull/7699) [nghttp2] Upgrade to version 1.39.2 - -- leptonica `1.76.0-1` -> `1.78.0-1` - - [(#7358)](https://github.com/microsoft/vcpkg/pull/7358) [leptonica] Upgrade to 1.78.0 - - [(#7712)](https://github.com/microsoft/vcpkg/pull/7712) [leptonica] Add dependency port libwebp and fix find libwebp in debug/release - -- libtorrent `2019-04-19` -> `1.2.1-bcb26fd6` - - [(#7708)](https://github.com/microsoft/vcpkg/pull/7708) [libtorrent] Update to 1.2.1-bcb26fd6 - -- angelscript `2.33.0-1` -> `2.33.1-1` - - [(#7650)](https://github.com/microsoft/vcpkg/pull/7650) [angelscript] Added feature to optionally install all Angelscript standard addons - -- jsoncpp `1.8.4-1` -> `1.9.1` - - [(#7719)](https://github.com/microsoft/vcpkg/pull/7719) [jsoncpp] Update library to 1.9.1 - -- robin-hood-hashing `3.2.13` -> `3.4.0` - - [(#7722)](https://github.com/microsoft/vcpkg/pull/7722) [robin-hood-hashing] Update library to 3.4.0 - -- sqlite-orm `1.3-1` -> `1.4` - - [(#7723)](https://github.com/microsoft/vcpkg/pull/7723) [sqlite-orm] Update library to 1.4 - -- doctest `2.3.3` -> `2.3.4` - - [(#7716)](https://github.com/microsoft/vcpkg/pull/7716) [doctest] Update library to 2.3.4 - -- pegtl-2 `2.8.0` -> `2.8.1` - - [(#7715)](https://github.com/microsoft/vcpkg/pull/7715) [pegtl-2] Update library to 2.8.1 - -- cpp-httplib `0.2.0` -> `0.2.1` - - [(#7714)](https://github.com/microsoft/vcpkg/pull/7714) [cpp-httplib] Update library to 0.2.1 - -- geographiclib `1.47-patch1-6` -> `1.47-patch1-7` - - [(#7697)](https://github.com/microsoft/vcpkg/pull/7697) [geographiclib] Fix build error on Linux - -- libmariadb `3.0.10-3` -> `3.0.10-4` - - [(#7710)](https://github.com/microsoft/vcpkg/pull/7710) [libmariadb] Fix usage error LNK2001. - -- irrlicht `1.8.4-2` -> `1.8.4-1` - - [(#7726)](https://github.com/microsoft/vcpkg/pull/7726) Revert "[irrlicht] use unicode path on windows (#7354)" - -- cgltf `2019-04-30` -> `1.3` - - [(#7731)](https://github.com/microsoft/vcpkg/pull/7731) [cgltf] Update library to 1.2 - - [(#7774)](https://github.com/microsoft/vcpkg/pull/7774) [cgltf] Update library to 1.3 - -- duktape `2.3.0-2` -> `2.4.0-3` - - [(#7548)](https://github.com/microsoft/vcpkg/pull/7548) [ duktape] Update hash for pip. - - [(#7873)](https://github.com/microsoft/vcpkg/pull/7873) [duktape] Update library to 2.4.0 - -- double-conversion `3.1.4` -> `3.1.5` - - [(#7717)](https://github.com/microsoft/vcpkg/pull/7717) [double-conversion] Update library to 3.1.5 - -- libmorton `2018-19-07` -> `0.2` - - [(#7738)](https://github.com/microsoft/vcpkg/pull/7738) [libmorton] Update library to 0.2 - -- clp `1.17.2-2` -> `1.17.3` - - [(#7756)](https://github.com/microsoft/vcpkg/pull/7756) [clp] Update library to 1.17.3 - -- libfabric `1.7.1-1` -> `1.8.0` - - [(#7755)](https://github.com/microsoft/vcpkg/pull/7755) [libfabric] Update library to 1.8.0 - -- leaf `0.2.1-2` -> `0.2.2` - - [(#7782)](https://github.com/microsoft/vcpkg/pull/7782) [leaf] Update library to 0.2.2 - -- inih `44` -> `45` - - [(#7780)](https://github.com/microsoft/vcpkg/pull/7780) [inih] Update library to 45 - -- clara `2019-03-29` -> `1.1.5` - - [(#7775)](https://github.com/microsoft/vcpkg/pull/7775) [clara] Update library to 1.1.5 - -- distorm `2018-08-26-16e6f435-1` -> `3.4.1` - - [(#7777)](https://github.com/microsoft/vcpkg/pull/7777) [distorm] Update library to 3.4.1 - -- libcopp `1.1.0-2` -> `1.2.0` - - [(#7770)](https://github.com/microsoft/vcpkg/pull/7770) [libcopp] Update library to 1.2.0 - -- argparse `2019-06-10` -> `1.9` - - [(#7753)](https://github.com/microsoft/vcpkg/pull/7753) [argparse] Update library to 1.9 - -- argagg `2019-01-25` -> `0.4.6` - - [(#7752)](https://github.com/microsoft/vcpkg/pull/7752) [argagg] Update library to 0.4.6 - -- eastl `3.14.00` -> `3.14.01` - - [(#7786)](https://github.com/microsoft/vcpkg/pull/7786) [eastl] Update library to 3.14.01 - -- fribidi `58c6cb3` -> `2019-02-04-1` - - [(#7768)](https://github.com/microsoft/vcpkg/pull/7768) [fribidi] Fix static library suffix in windows-static - -- luajit `2.0.5-1` -> `2.0.5-2` - - [(#7764)](https://github.com/microsoft/vcpkg/pull/7764) [luajit] Separate debug/release build path and fix generate pdbs. - -- ixwebsocket `4.0.3` -> `5.0.4` - - [(#7789)](https://github.com/microsoft/vcpkg/pull/7789) [ixwebsocket] update to 5.0.4 - -- azure-c-shared-utility `2019-05-16.1` -> `2019-08-20.1` - - [(#7791)](https://github.com/microsoft/vcpkg/pull/7791) [azure-iot] vcpkg update for master/public-preview release - -- azure-iot-sdk-c `2019-07-01.1` -> `2019-08-20.1` - - [(#7791)](https://github.com/microsoft/vcpkg/pull/7791) [azure-iot] vcpkg update for master/public-preview release - -- azure-macro-utils-c `2019-05-16.1` -> `2019-08-20.1` - - [(#7791)](https://github.com/microsoft/vcpkg/pull/7791) [azure-iot] vcpkg update for master/public-preview release - -- azure-uamqp-c `2019-05-16.1` -> `2019-08-20.1` - - [(#7791)](https://github.com/microsoft/vcpkg/pull/7791) [azure-iot] vcpkg update for master/public-preview release - -- azure-uhttp-c `2019-05-16.1` -> `2019-08-20.1` - - [(#7791)](https://github.com/microsoft/vcpkg/pull/7791) [azure-iot] vcpkg update for master/public-preview release - -- azure-umqtt-c `2019-05-16.1` -> `2019-08-20.1` - - [(#7791)](https://github.com/microsoft/vcpkg/pull/7791) [azure-iot] vcpkg update for master/public-preview release - -- umock-c `2019-05-16.1` -> `2019-08-20.1` - - [(#7791)](https://github.com/microsoft/vcpkg/pull/7791) [azure-iot] vcpkg update for master/public-preview release - -- embree3 `3.5.2` -> `3.5.2-1` - - [(#7767)](https://github.com/microsoft/vcpkg/pull/7767) [embree3] Fix install path - -- re2 `2019-05-07-2` -> `2019-08-01` - - [(#7808)](https://github.com/microsoft/vcpkg/pull/7808) [re2] Update library to 2019-08-01 - -- reproc `6.0.0-2` -> `8.0.1` - - [(#7807)](https://github.com/microsoft/vcpkg/pull/7807) [reproc] Update library to 8.0.1 - -- safeint `3.20.0` -> `3.21` - - [(#7806)](https://github.com/microsoft/vcpkg/pull/7806) [safeint] Update library to 3.21 - -- snowhouse `3.1.0` -> `3.1.1` - - [(#7805)](https://github.com/microsoft/vcpkg/pull/7805) [snowhouse] Update library to 3.1.1 - -- spectra `0.8.0` -> `0.8.1` - - [(#7803)](https://github.com/microsoft/vcpkg/pull/7803) [spectra] Update library to 0.8.1 - -- spirv-cross `2019-05-09` -> `2019-07-26` - - [(#7802)](https://github.com/microsoft/vcpkg/pull/7802) [spirv-cross] Update library to 2019-07-26 - -- libmodbus `3.1.4-3` -> `3.1.6` - - [(#7834)](https://github.com/microsoft/vcpkg/pull/7834) [libmodbus] Update library to 3.1.6 - -- basisu `0.0.1-1` -> `1.11-1` - - [(#7836)](https://github.com/microsoft/vcpkg/pull/7836) [basisu] fix vcpkg version, merge upstream fixes - -- range-v3 `0.5.0` -> `0.9.0-20190822` - - [(#7845)](https://github.com/microsoft/vcpkg/pull/7845) Update range-v3 reference - -- cryptopp `8.1.0-2` -> `8.2.0` - - [(#7854)](https://github.com/microsoft/vcpkg/pull/7854) [cryptopp] Update library to 8.2.0 - -- lz4 `1.9.1-2` -> `1.9.2` - - [(#7860)](https://github.com/microsoft/vcpkg/pull/7860) [lz4] Update library to 1.9.2 - -- wxwidgets `3.1.2-1` -> `3.1.2-2` - - [(#7833)](https://github.com/microsoft/vcpkg/pull/7833) [wxwidgets] Windows ARM support - -- args `2019-05-01` -> `2019-07-11` - - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 - -- asmjit `2019-03-29` -> `2019-07-11` - - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 - -- aws-c-common `0.3.11-1` -> `0.4.1` - - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 - -- aws-sdk-cpp `1.7.116` -> `1.7.142` - - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 - -- bitsery `4.6.0` -> `5.0.0` - - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 - -- botan `2.9.0-2` -> `2.11.0` - - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 - -- breakpad `2019-05-08` -> `2019-07-11` - - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 - -- chipmunk `7.0.2` -> `7.0.3` - - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 - -- console-bridge `0.3.2-4` -> `0.4.3-1` - - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 - -- coroutine `1.4.1-1` -> `1.4.3` - - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 - -- crc32c `1.0.7-1` -> `1.1.0` - - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 - -- exprtk `2019-03-29` -> `2019-07-11` - - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 - -- fastcdr `1.0.9-1` -> `1.0.10` - - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 - - [(#7862)](https://github.com/microsoft/vcpkg/pull/7862) [fastcdr] Update library 1.0.10 - -- fizz `2019.05.20.00-1` -> `2019.07.08.00` - - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 - -- folly `2019.05.20.00-1` -> `2019.06.17.00` - - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 - -- glad `0.1.30` -> `0.1.31` - - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 - -- gmmlib `19.1.2` -> `19.2.3` - - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 - -- graphite2 `1.3.12-1` -> `1.3.13` - - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 - -- grpc `1.21.1-1` -> `1.22.0` - - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 - -- io2d `0.1-2` -> `2019-07-11` - - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 - -- libarchive `3.3.3-3` -> `3.4.0` - - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 - -- libpqxx `6.4.4` -> `6.4.5` - - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 - -- libssh2 `1.8.2` -> `1.9.0` - - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 - -- libuv `1.29.1` -> `1.30.1` - - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 - -- luabridge `2.3.1` -> `2.3.2` - - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 - -- matio `1.5.15` -> `1.5.16` - - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 - -- mosquitto `1.6.2-2` -> `1.6.3` - - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 - -- ms-gsl `2019-04-19` -> `2019-07-11` - - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 - -- nmslib `1.7.3.6-1` -> `1.8.1` - - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 - -- nuklear `2019-03-29` -> `2019-07-11` - - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 - -- openvr `1.4.18` -> `1.5.17` - - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 - -- orc `1.5.5-1` -> `1.5.6` - - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 - - [(#7908)](https://github.com/microsoft/vcpkg/pull/7908) Add homepage for orc - -- parson `2019-04-19` -> `2019-07-11` - - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 - -- piex `2018-03-13-1` -> `2019-07-11` - - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 - -- ptex `2.1.28-1` -> `2.3.2` - - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 - -- pybind11 `2.2.4` -> `2.3.0` - - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 - -- rs-core-lib `2019-05-07` -> `2019-07-11` - - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 - -- shogun `6.1.3-3` -> `6.1.4` - - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 - -- stb `2019-05-07` -> `2019-07-11` - - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 - -- taocpp-json `2019-05-08` -> `2019-07-11` - - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 - -- tbb `2019_U7-1` -> `2019_U8` - - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 - -- telnetpp `1.2.4-1` -> `2.0` - - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 - -- blaze `3.5` -> `3.6` - - [(#7878)](https://github.com/microsoft/vcpkg/pull/7878) [blaze] Update to Blaze 3.6 - -- glfw3 `3.3-1` -> `3.3-2` - - [(#7885)](https://github.com/microsoft/vcpkg/pull/7885) [glfw3] Add more information about installing dependencies. - -- fmt `5.3.0-2` -> `6.0.0` - - [(#7910)](https://github.com/microsoft/vcpkg/pull/7910) [fmt] Update to 6.0.0 - - [(#7884)](https://github.com/microsoft/vcpkg/pull/7884) [fmt] missing VCPKG_BUILD_TYPE support added - -- magic-enum `2019-06-07` -> `0.6.0` - - [(#7916)](https://github.com/microsoft/vcpkg/pull/7916) [magic-enum] Update to v0.6.0 - -- liblsl `1.13.0-b6` -> `1.13.0-b11-1` - - [(#7906)](https://github.com/microsoft/vcpkg/pull/7906) [liblsl] Update library to 1.13.0-b11 - - [(#7945)](https://github.com/microsoft/vcpkg/pull/7945) [liblsl] Fix installation - -- yaml-cpp `0.6.2-2` -> `0.6.2-3` - - [(#7847)](https://github.com/microsoft/vcpkg/pull/7847) [yaml-cpp] Fix include path in yaml-cpp-config.cmake - -- fluidsynth `2.0.5` -> `2.0.5-1` - - [(#7837)](https://github.com/microsoft/vcpkg/pull/7837) [fluidsynth] add Windows ARM support - -- nmap `7.70` -> `7.70-1` - - [(#7811)](https://github.com/microsoft/vcpkg/pull/7811) [nmap] Fix build error. - -- moos-ui `10.0.1-1` -> `10.0.1-2` - - [(#7812)](https://github.com/microsoft/vcpkg/pull/7812) [moos-ui] Fix install path - -- openni2 `2.2.0.33-9` -> `2.2.0.33-10` - - [(#7809)](https://github.com/microsoft/vcpkg/pull/7809) [openni2] Add warning message when cannot find NETFXSDK. - -- abseil `2019-05-08` -> `2019-05-08-1` - - [(#7745)](https://github.com/microsoft/vcpkg/pull/7745) [abseil] fix cmake config issue - -- libwebp `1.0.2-6` -> `1.0.2-7` - - [(#7886)](https://github.com/microsoft/vcpkg/pull/7886) [libwebp] Fix two dependent windows library link conditions. - -- wpilib `2019.5.1` -> `2019.6.1` - - [(#7927)](https://github.com/microsoft/vcpkg/pull/7927) [wpilib] Update wpilib port to allow opencv4 - -- ogdf `2018-03-28-2` -> `2019-08-23` - - [(#7846)](https://github.com/microsoft/vcpkg/pull/7846) [ogdf] Update source link - -- libp7client `5.2` -> `5.2-1` - - [(#7977)](https://github.com/microsoft/vcpkg/pull/7977) [libp7client] Rename port folder to lowercase - -- libpng `1.6.37-2` -> `1.6.37-3` - - [(#7972)](https://github.com/microsoft/vcpkg/pull/7972) [libpng] Fix find_package() in CONFIG mode (#7968) - -- openblas `0.3.6-5` -> `0.3.6-6` - - [(#7888)](https://github.com/microsoft/vcpkg/pull/7888) [openblas] Enable x86 build and fix usage errors. - -- qt5-base `5.12.3-3` -> `5.12.3-4` - - [(#7973)](https://github.com/microsoft/vcpkg/pull/7973) [Qt5] Fix libpq linkage in wrapper - -- liblas `1.8.1` -> `1.8.1-2` - - [(#7975)](https://github.com/microsoft/vcpkg/pull/7975) [liblas] Fix Geotiff linkage - -- glib `2.52.3-14-2` -> `2.52.3-14-3` - - [(#7963)](https://github.com/microsoft/vcpkg/pull/7963) [glib] Fix install config.h - -
- --- vcpkg team vcpkg@microsoft.com THU, 04 Sept 14:00:00 -0800 - -vcpkg (2019.7.31) ---- -#### Total port count: 1105 -#### Total port count per triplet (tested): -|triplet|ports available| -|---|---| -|**x64-windows**|1039| -|x86-windows|1009| -|x64-windows-static|928| -|**x64-linux**|866| -|**x64-osx**|788| -|arm64-windows|678| -|x64-uwp|546| -|arm-uwp|522| - -#### The following commands and options have been updated: -- --scripts-root ***[NEW OPTION]*** - - Specify a directory to use in place of `/scripts`. Enables a shared script directory for those using a single vcpkg instance to manage distributed port directories - - [(#6552)](https://github.com/microsoft/vcpkg/pull/6552) Allow redirection of the scripts folder. -- depend-info - - Allow `vcpkg depend-info port[feature]` to display port-dependency information for a given port and the specified feature. - - [(#6797)](https://github.com/microsoft/vcpkg/pull/6797) Make `depend-info` subcommand able to handle features - -#### The following documentation has been updated: -- [Overlay triplets example: build dynamic libraries on Linux](docs/examples/overlay-triplets-linux-dynamic.md) ***[NEW]*** - - [(#7291)](https://github.com/microsoft/vcpkg/pull/7291) Example: Building dynamic libraries on Linux using overlay triplets -- [vcpkg_from_git](docs/maintainers/vcpkg_from_git.md) - - [(#7082)](https://github.com/microsoft/vcpkg/pull/7082) Fix vcpkg_from_git -- [Maintainer Guidelines and Policies](docs/maintainers/maintainer-guide.md) - - [(#7390)](https://github.com/microsoft/vcpkg/pull/7390) [docs] add notes about manual-link - -#### The following *remarkable* changes have been made to vcpkg's infrastructure: -- `VCPKG_ENV_PASSTHROUGH` triplet variable and `environment-overrides.cmake` - - Port authors can add an `environment-overrides.cmake` file to a port to override triplet settings globally or to define behavior of the vpckg binary on a per port basis - - [(#7290)](https://github.com/microsoft/vcpkg/pull/7290) [vcpkg] Environment Variable Passthrough - - [(#7292)](https://github.com/microsoft/vcpkg/pull/7292) [vcpkg] Portfile Settings -- Testing overhaul - - Tests have been migrated from the Visual Studio unit testing framework to the cross-platform [Catch2](https://github.com/catchorg/Catch2) - - [(#7315)](https://github.com/microsoft/vcpkg/pull/7315) Rewrite the tests! now they're cross-platform! - -#### The following *additional* changes have been made to vcpkg's infrastructure: -- [(#7080)](https://github.com/microsoft/vcpkg/pull/7080) [vcpkg] Use spaces instead of semicolons in the output -- [(#6791)](https://github.com/microsoft/vcpkg/pull/6791) Update python2, python3, perl, aria2, ninja, ruby, 7z -- [(#7082)](https://github.com/microsoft/vcpkg/pull/7082) Fix vcpkg_from_git -- [(#7117)](https://github.com/microsoft/vcpkg/pull/7117) Revert Visual Studio projects versions -- [(#7051)](https://github.com/microsoft/vcpkg/pull/7051) Fix Python3 tool on Windows -- [(#7135)](https://github.com/microsoft/vcpkg/pull/7135) revert ninja update -- [(#7136)](https://github.com/microsoft/vcpkg/pull/7136) Bump version to warn of outdated vcpkg sources -- [(#7094)](https://github.com/microsoft/vcpkg/pull/7094) [vcpkg] Fix powershell font corruption bug -- [(#7158)](https://github.com/microsoft/vcpkg/pull/7158) [vcpkg] Fix incorrect setting of FEATURE_OPTIONS -- [(#6792)](https://github.com/microsoft/vcpkg/pull/6792) Cleanup vcpkg_configure_cmake.cmake -- [(#7175)](https://github.com/microsoft/vcpkg/pull/7175) Added nasm mirror as nasm.us is down again -- [(#7216)](https://github.com/microsoft/vcpkg/pull/7216) [vcpkg] allow spaces in pathname on linux -- [(#7243)](https://github.com/microsoft/vcpkg/pull/7243) Testing for --overlay-ports and --overlay-triplets args -- [(#7294)](https://github.com/microsoft/vcpkg/pull/7294) Add June changelog -- [(#7229)](https://github.com/microsoft/vcpkg/pull/7229) Better error message when VCPKG_ROOT is independently defined -- [(#7336)](https://github.com/microsoft/vcpkg/pull/7336) Create issue templates -- [(#7322)](https://github.com/microsoft/vcpkg/pull/7322) Resolves "project is never up-to-date" problem (issue 6179) -- [(#7228)](https://github.com/microsoft/vcpkg/pull/7228) Parallel file operations -- [(#7403)](https://github.com/microsoft/vcpkg/pull/7403) Add third party notices -- copied from chakracore -- [(#7407)](https://github.com/microsoft/vcpkg/pull/7407) Modify CMakeLists to split up vcpkglib -- [(#7430)](https://github.com/microsoft/vcpkg/pull/7430) [vcpkg] Fix RealFilesystem::remove_all - -
-The following 37 ports have been added: - -|port|version| -|---|---| -|[septag-sx](https://github.com/microsoft/vcpkg/pull/6327)| 2019-05-07-1 -|[librdkafka](https://github.com/microsoft/vcpkg/pull/5921)| 1.1.0 -|[soxr](https://github.com/microsoft/vcpkg/pull/6478)| 0.1.3. -|[czmq](https://github.com/microsoft/vcpkg/pull/4979)[#7186](https://github.com/microsoft/vcpkg/pull/7186) | 2019-06-10-1 -|[cppmicroservices](https://github.com/microsoft/vcpkg/pull/6388)| 4.0.0-pre1 -|[zookeeper](https://github.com/microsoft/vcpkg/pull/7000)| 3.5.5 -|[xmlsec](https://github.com/microsoft/vcpkg/pull/7196)| 1.2.28 -|[librsvg](https://github.com/microsoft/vcpkg/pull/6807)| 2.40.20 -|[7zip](https://github.com/microsoft/vcpkg/pull/6920)| 19.00 -|[genann](https://github.com/microsoft/vcpkg/pull/7195)| 2019-07-10 -|[offscale-libetcd-cpp](https://github.com/microsoft/vcpkg/pull/6999)| 2019-07-10 -|[rabit](https://github.com/microsoft/vcpkg/pull/7234)| 0.1 -|[zyre](https://github.com/microsoft/vcpkg/pull/7189)| 2019-07-07 -|[cpp-peglib](https://github.com/microsoft/vcpkg/pull/7254)| 0.1.0 -|[paho-mqttpp3](https://github.com/microsoft/vcpkg/pull/7033)| 1.0.1 -|[openxr-loader](https://github.com/microsoft/vcpkg/pull/6339)[#7376](https://github.com/microsoft/vcpkg/pull/7376) [#7488](https://github.com/microsoft/vcpkg/pull/7488) | 1.0.0-1 -|[wintoast](https://github.com/microsoft/vcpkg/pull/7006)| 1.2.0 -|[scnlib](https://github.com/microsoft/vcpkg/pull/7014)| 0.1.2 -|[mongoose](https://github.com/microsoft/vcpkg/pull/7089)| 6.15-1 -|[nameof](https://github.com/microsoft/vcpkg/pull/7250)| 2019-07-13 -|[leaf](https://github.com/microsoft/vcpkg/pull/7319)[#7468](https://github.com/microsoft/vcpkg/pull/7468) | 0.2.1-2 -|[otl](https://github.com/microsoft/vcpkg/pull/7272)| 4.0.442 -|[dbg-macro](https://github.com/microsoft/vcpkg/pull/7237)| 2019-07-11 -|[p-ranav-csv](https://github.com/microsoft/vcpkg/pull/7236)| 2019-07-11 -|[lastools](https://github.com/microsoft/vcpkg/pull/7220)| 2019-07-10 -|[basisu](https://github.com/microsoft/vcpkg/pull/6995)[#7468](https://github.com/microsoft/vcpkg/pull/7468) | 0.0.1-1 -|[cmcstl2](https://github.com/microsoft/vcpkg/pull/7348)| 2019-07-20 -|[libconfuse](https://github.com/microsoft/vcpkg/pull/7252)| 2019-07-14 -|[boolinq](https://github.com/microsoft/vcpkg/pull/7362)| 2019-07-22 -|[libzippp](https://github.com/microsoft/vcpkg/pull/6801)| 2019-07-22 -|[mimalloc](https://github.com/microsoft/vcpkg/pull/7011)| 2019-06-25 -|[liblas](https://github.com/microsoft/vcpkg/pull/6746)| 1.8.1 -|[xtensor-io](https://github.com/microsoft/vcpkg/pull/7398)| 0.7.0 -|[easycl](https://github.com/microsoft/vcpkg/pull/7387)| 0.3 -|[nngpp](https://github.com/microsoft/vcpkg/pull/7417)| 2019-07-25 -|[mpi](https://github.com/microsoft/vcpkg/pull/7142)| 1 -|[openmpi](https://github.com/microsoft/vcpkg/pull/7142)| 4.0.1 -
- -
-The following 160 ports have been updated: - -- openssl-unix `1.0.2q` -> `1.0.2s-1` - - [(#6854)](https://github.com/microsoft/vcpkg/pull/6854) Openssl version bump 1.0.2s - - [(#6512)](https://github.com/microsoft/vcpkg/pull/6512) [openssl-unix] Shared library support - -- openssl-windows `1.0.2q-2` -> `1.0.2s-1` - - [(#6854)](https://github.com/microsoft/vcpkg/pull/6854) Openssl version bump 1.0.2s - -- mongo-cxx-driver `3.4.0-2` -> `3.4.0-3` - - [(#7050)](https://github.com/microsoft/vcpkg/pull/7050) [mongo-cxx-driver] Do not delete the third_party include folder when building with mnmlstc - -- fdlibm `5.3-3` -> `5.3-4` - - [(#7082)](https://github.com/microsoft/vcpkg/pull/7082) Fix vcpkg_from_git - -- azure-iot-sdk-c `2019-05-16.1` -> `2019-07-01.1` - - [(#7123)](https://github.com/microsoft/vcpkg/pull/7123) [azure] Update azure-iot-sdk-c for public-preview release of 2019-07-01 - -- open62541 `0.3.0-1` -> `0.3.0-2` - - [(#7051)](https://github.com/microsoft/vcpkg/pull/7051) Fix Python3 tool on Windows - -- lua `5.3.5-1` -> `5.3.5-2` - - [(#7101)](https://github.com/microsoft/vcpkg/pull/7101) [lua] Add [cpp] feature to additionally build lua-c++ - -- flann `1.9.1-1` -> `2019-04-07-1` - - [(#7125)](https://github.com/microsoft/vcpkg/pull/7125) [flann]Change the version tag to the corresponding time of commit id. - -- tbb `2019_U7` -> `2019_U7-1` - - [(#6510)](https://github.com/microsoft/vcpkg/pull/6510) [tbb] Add shared library support for Linux and OSX - -- dcmtk `3.6.4` -> `3.6.4-1` - - [(#7059)](https://github.com/microsoft/vcpkg/pull/7059) [dcmtk] support wchar_t* filename - -- libmupdf `1.15.0` -> `1.15.0-1` - - [(#7107)](https://github.com/microsoft/vcpkg/pull/7107) [libmupdf] Enable the old patch for fixing C2169 - -- mongo-c-driver `1.14.0-2` -> `1.14.0-3` - - [(#7048)](https://github.com/microsoft/vcpkg/pull/7048) [mongo-c-driver] Add usage - - [(#7338)](https://github.com/microsoft/vcpkg/pull/7338) [mongo-c-driver] Disable snappy auto-detection - -- openimageio `1.8.16` -> `2.0.8` - - [(#7173)](https://github.com/microsoft/vcpkg/pull/7173) [openimageio] Upgrade to version 2.0.8 - -- duktape `2.3.0` -> `2.3.0-2` - - [(#7170)](https://github.com/microsoft/vcpkg/pull/7170) [duktape] Fix package not found by find_package. - - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports - -- poco `2.0.0-pre-2` -> `2.0.0-pre-3` - - [(#7169)](https://github.com/microsoft/vcpkg/pull/7169) [Poco] Add missing ipjlpapi.lib to foundation library - -- gsoap `2.8.84-1` -> `2.8.87-1` - - [(#7145)](https://github.com/microsoft/vcpkg/pull/7145) [gsoap] Update to 2.8.87 - -- qt5-mqtt `5.12.3` -> `5.12.3-1` - - [(#7130)](https://github.com/microsoft/vcpkg/pull/7130) [qt5-mqtt] crossplatform add to path - - [(#7230)](https://github.com/microsoft/vcpkg/pull/7230) [qt5]Fix build failure in linux - -- botan `2.9.0-1` -> `2.9.0-2` - - [(#7140)](https://github.com/microsoft/vcpkg/pull/7140) [botan] Fix build error C2039 with Visual Studio 2019 and C++17 - - [(#7303)](https://github.com/microsoft/vcpkg/pull/7303) [botan] Fix parallel build - -- kinectsdk2 `2.0` -> `2.0-1` - - [(#7143)](https://github.com/microsoft/vcpkg/pull/7143) kinectsdk2: fix missing header files - -- civetweb `1.11-1` -> `2019-07-05` - - [(#7166)](https://github.com/microsoft/vcpkg/pull/7166) [civetweb] Upgrade and enable feature websocket - -- curl `7.65.0-2` -> `7.65.2-1` - - [(#7156)](https://github.com/microsoft/vcpkg/pull/7156) [curl] Add features. - - [(#7093)](https://github.com/microsoft/vcpkg/pull/7093) [curl] Update to 7.65.2 - -- aws-checksums `0.1.2` -> `0.1.3` - - [(#7154)](https://github.com/microsoft/vcpkg/pull/7154) [aws-checksums]Upgrade version to 0.1.3 - -- rapidjson `1.1.0-3` -> `d87b698-1` - - [(#7152)](https://github.com/microsoft/vcpkg/pull/7152) [rapidjson] Update to the latest commit and also fix #3401. - - [(#7273)](https://github.com/microsoft/vcpkg/pull/7273) [rapidjson] Fix path RapidJSON_INCLUDE_DIRS - -- freetype `2.10.0` -> `2.10.1-1` - - [(#7141)](https://github.com/microsoft/vcpkg/pull/7141) [freetype]Re-fixed the issue of exporting symbols when building dynamic library. - - [(#7341)](https://github.com/microsoft/vcpkg/pull/7341) [freetype] Update to 2.10.1 - -- llvm `7.0.0-3` -> `8.0.0` - - [(#7209)](https://github.com/microsoft/vcpkg/pull/7209) [llvm] Update to 8.0.0 - -- reproc `6.0.0-1` -> `6.0.0-2` - - [(#7208)](https://github.com/microsoft/vcpkg/pull/7208) [reproc] Fix reproc++ installation path - -- wil `2019-06-10` -> `2019-07-16` - - [(#7215)](https://github.com/microsoft/vcpkg/pull/7215) [wil] Update - - [(#7285)](https://github.com/microsoft/vcpkg/pull/7285) Update wil port to match the commit used for NuGet package 1.0.190716.2 - -- tesseract `4.0.0-3` -> `4.1.0-1` - - [(#7144)](https://github.com/microsoft/vcpkg/pull/7144) [tesseract] Fix Port. Making it crossplatform - - [(#7227)](https://github.com/microsoft/vcpkg/pull/7227) [tesseract] port update to 4.1.0 release - - [(#7360)](https://github.com/microsoft/vcpkg/pull/7360) [tesseract[training_tools]] Fix build error - -- zeromq `2019-05-07` -> `2019-07-09` - - [(#7203)](https://github.com/microsoft/vcpkg/pull/7203) [zeromq] Update to 4.3.2 - -- spirv-tools `2019.3-dev` -> `2019.3-dev-1` - - [(#7204)](https://github.com/microsoft/vcpkg/pull/7204) [spirv-tools] Fix removed patch - -- libraqm `0.6.0` -> `0.7.0` - - [(#7149)](https://github.com/microsoft/vcpkg/pull/7149) [libraqm] Update libraqm to 0.7.0 - - [(#7263)](https://github.com/microsoft/vcpkg/pull/7263) [libraqm] Fix copying raqm-version.h to include directory - -- pthreads `3.0.0-1` -> `3.0.0-2` - - [(#7178)](https://github.com/microsoft/vcpkg/pull/7178) [pthreads4W] vcpkg wrapper fixes - -- libkml `1.3.0-2` -> `1.3.0-3` - - [(#7194)](https://github.com/microsoft/vcpkg/pull/7194) [libkml] Fix install path - - [(#7282)](https://github.com/microsoft/vcpkg/pull/7282) [minizip] Make BZip2 an optional feature - -- gherkin-c `4.1.2` -> `2019-10-07-1` - - [(#7231)](https://github.com/microsoft/vcpkg/pull/7231) [gherkin-b] update to latest - - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports - -- google-cloud-cpp `0.10.0` -> `0.11.0` - - [(#7134)](https://github.com/microsoft/vcpkg/pull/7134) Upgrade google-cloud-cpp to v0.11.0. - -- sqlite3 `3.28.0-1` -> `3.29.0-1` - - [(#7202)](https://github.com/microsoft/vcpkg/pull/7202) [sqlite3-tool]Fix build error on arm/uwp platform. - - [(#7342)](https://github.com/microsoft/vcpkg/pull/7342) [sqlite3] Update to 3.29.0 - -- nonius `2019-04-20` -> `2019-04-20-1` - - [(#7258)](https://github.com/microsoft/vcpkg/pull/7258) [nonius] properly install noniusConfig.cmake - -- leveldb `1.22` -> `1.22-1` - - [(#7245)](https://github.com/microsoft/vcpkg/pull/7245) [leveldb] Fix cmake config - -- bond `8.1.0` -> `8.1.0-2` - - [(#7273)](https://github.com/microsoft/vcpkg/pull/7273) [rapidjson] Fix path RapidJSON_INCLUDE_DIRS - - [(#7306)](https://github.com/microsoft/vcpkg/pull/7306) [bond] make haskell an external dependency - - [(#7142)](https://github.com/microsoft/vcpkg/pull/7142) [OpenMPI] add a new port - -- cpprestsdk `2.10.13-1` -> `2.10.14` - - [(#7286)](https://github.com/microsoft/vcpkg/pull/7286) Update cpprestsdk to v2.10.14. - -- qt5-base `5.12.3-1` -> `5.12.3-3` - - [(#6983)](https://github.com/microsoft/vcpkg/pull/6983) [qt5-base]Add a print message to inform the user to install the dependency package. - - [(#7230)](https://github.com/microsoft/vcpkg/pull/7230) [qt5]Fix build failure in linux - -- qt5-3d `5.12.3` -> `5.12.3-1` - - [(#7230)](https://github.com/microsoft/vcpkg/pull/7230) [qt5]Fix build failure in linux - -- qt5-activeqt `5.12.3` -> `5.12.3-1` - - [(#7230)](https://github.com/microsoft/vcpkg/pull/7230) [qt5]Fix build failure in linux - -- qt5-charts `5.12.3` -> `5.12.3-1` - - [(#7230)](https://github.com/microsoft/vcpkg/pull/7230) [qt5]Fix build failure in linux - -- qt5-connectivity `5.12.3` -> `5.12.3-1` - - [(#7230)](https://github.com/microsoft/vcpkg/pull/7230) [qt5]Fix build failure in linux - -- qt5-datavis3d `5.12.3` -> `5.12.3-1` - - [(#7230)](https://github.com/microsoft/vcpkg/pull/7230) [qt5]Fix build failure in linux - -- qt5-declarative `5.12.3-1` -> `5.12.3-2` - - [(#7230)](https://github.com/microsoft/vcpkg/pull/7230) [qt5]Fix build failure in linux - -- qt5-gamepad `5.12.3` -> `5.12.3-1` - - [(#7230)](https://github.com/microsoft/vcpkg/pull/7230) [qt5]Fix build failure in linux - -- qt5-graphicaleffects `5.12.3` -> `5.12.3-1` - - [(#7230)](https://github.com/microsoft/vcpkg/pull/7230) [qt5]Fix build failure in linux - -- qt5-imageformats `5.12.3` -> `5.12.3-1` - - [(#7230)](https://github.com/microsoft/vcpkg/pull/7230) [qt5]Fix build failure in linux - -- qt5-location `5.12.3` -> `5.12.3-1` - - [(#7230)](https://github.com/microsoft/vcpkg/pull/7230) [qt5]Fix build failure in linux - -- qt5-macextras `5.12.3` -> `5.12.3-1` - - [(#7230)](https://github.com/microsoft/vcpkg/pull/7230) [qt5]Fix build failure in linux - -- qt5-modularscripts `2019-04-30` -> `2019-04-30-1` - - [(#7230)](https://github.com/microsoft/vcpkg/pull/7230) [qt5]Fix build failure in linux - -- qt5-multimedia `5.12.3` -> `5.12.3-1` - - [(#7230)](https://github.com/microsoft/vcpkg/pull/7230) [qt5]Fix build failure in linux - -- qt5-networkauth `5.12.3` -> `5.12.3-1` - - [(#7230)](https://github.com/microsoft/vcpkg/pull/7230) [qt5]Fix build failure in linux - -- qt5-purchasing `5.12.3` -> `5.12.3-1` - - [(#7230)](https://github.com/microsoft/vcpkg/pull/7230) [qt5]Fix build failure in linux - -- qt5-quickcontrols `5.12.3` -> `5.12.3-1` - - [(#7230)](https://github.com/microsoft/vcpkg/pull/7230) [qt5]Fix build failure in linux - -- qt5-quickcontrols2 `5.12.3` -> `5.12.3-1` - - [(#7230)](https://github.com/microsoft/vcpkg/pull/7230) [qt5]Fix build failure in linux - -- qt5-remoteobjects `5.12.3` -> `5.12.3-1` - - [(#7230)](https://github.com/microsoft/vcpkg/pull/7230) [qt5]Fix build failure in linux - -- qt5-script `5.12.3` -> `5.12.3-1` - - [(#7230)](https://github.com/microsoft/vcpkg/pull/7230) [qt5]Fix build failure in linux - -- qt5-scxml `5.12.3` -> `5.12.3-1` - - [(#7230)](https://github.com/microsoft/vcpkg/pull/7230) [qt5]Fix build failure in linux - -- qt5-sensors `5.12.3` -> `5.12.3-1` - - [(#7230)](https://github.com/microsoft/vcpkg/pull/7230) [qt5]Fix build failure in linux - -- qt5-serialport `5.12.3` -> `5.12.3-1` - - [(#7230)](https://github.com/microsoft/vcpkg/pull/7230) [qt5]Fix build failure in linux - -- qt5-speech `5.12.3` -> `5.12.3-1` - - [(#7230)](https://github.com/microsoft/vcpkg/pull/7230) [qt5]Fix build failure in linux - -- qt5-svg `5.12.3` -> `5.12.3-1` - - [(#7230)](https://github.com/microsoft/vcpkg/pull/7230) [qt5]Fix build failure in linux - -- qt5-tools `5.12.3` -> `5.12.3-1` - - [(#7230)](https://github.com/microsoft/vcpkg/pull/7230) [qt5]Fix build failure in linux - -- qt5-virtualkeyboard `5.12.3` -> `5.12.3-1` - - [(#7230)](https://github.com/microsoft/vcpkg/pull/7230) [qt5]Fix build failure in linux - -- qt5-webchannel `5.12.3` -> `5.12.3-1` - - [(#7230)](https://github.com/microsoft/vcpkg/pull/7230) [qt5]Fix build failure in linux - -- qt5-websockets `5.12.3` -> `5.12.3-1` - - [(#7230)](https://github.com/microsoft/vcpkg/pull/7230) [qt5]Fix build failure in linux - -- qt5-webview `5.12.3` -> `5.12.3-1` - - [(#7230)](https://github.com/microsoft/vcpkg/pull/7230) [qt5]Fix build failure in linux - -- qt5-winextras `5.12.3` -> `5.12.3-1` - - [(#7230)](https://github.com/microsoft/vcpkg/pull/7230) [qt5]Fix build failure in linux - - [(#7298)](https://github.com/microsoft/vcpkg/pull/7298) [qt5-winextras, ecsutil, soundtouch] Fix build-depends - -- qt5-xmlpatterns `5.12.3` -> `5.12.3-1` - - [(#7230)](https://github.com/microsoft/vcpkg/pull/7230) [qt5]Fix build failure in linux - -- rocksdb `6.0.2` -> `6.1.2` - - [(#7304)](https://github.com/microsoft/vcpkg/pull/7304) [rocksdb] Update rocksdb to 6.1.2, adds optional zstd feature - -- metis `5.1.0-3` -> `5.1.0-5` - - [(#7299)](https://github.com/microsoft/vcpkg/pull/7299) [metis] Fix linux build error. - - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports - -- ecsutil `1.0.6.1` -> `1.0.7.2` - - [(#7298)](https://github.com/microsoft/vcpkg/pull/7298) [qt5-winextras, ecsutil, soundtouch] Fix build-depends - - [(#7427)](https://github.com/microsoft/vcpkg/pull/7427) [ECSUtil] update library to v1.0.7.2 - -- soundtouch `2.0.0-2` -> `2.0.0-3` - - [(#7298)](https://github.com/microsoft/vcpkg/pull/7298) [qt5-winextras, ecsutil, soundtouch] Fix build-depends - -- libsodium `1.0.18` -> `1.0.18-1` - - [(#7297)](https://github.com/microsoft/vcpkg/pull/7297) [libsodium] Fix Linux build error. - -- irrlicht `1.8.4` -> `1.8.4-2` - - [(#7296)](https://github.com/microsoft/vcpkg/pull/7296) [irrlicht] add vcpkg-cmake-wrapper - - [(#7354)](https://github.com/microsoft/vcpkg/pull/7354) [irrlicht] use unicode path on windows - -- libyaml `0.2.2` -> `0.2.2-1` - - [(#7277)](https://github.com/microsoft/vcpkg/pull/7277) [libyaml] Fix build error - -- eastl `3.13.05-1` -> `3.14.00` - - [(#7276)](https://github.com/microsoft/vcpkg/pull/7276) [eastl] Upgrade to 3.14 - -- boost-asio `1.70.0-1` -> `1.70.0-2` - - [(#7267)](https://github.com/microsoft/vcpkg/pull/7267) Fixed boost-asio on Windows - -- minizip `1.2.11-4` -> `1.2.11-5` - - [(#7282)](https://github.com/microsoft/vcpkg/pull/7282) [minizip] Make BZip2 an optional feature - -- blend2d `beta_2019-04-30` -> `beta_2019-07-16` - - [(#7239)](https://github.com/microsoft/vcpkg/pull/7239) [blend2d] Port update - -- so5extra `1.2.3-1` -> `1.3.1` - - [(#7238)](https://github.com/microsoft/vcpkg/pull/7238) [sobjectizer, so5extra] updates - -- sobjectizer `5.5.24.4-1` -> `5.6.0.2` - - [(#7238)](https://github.com/microsoft/vcpkg/pull/7238) [sobjectizer, so5extra] updates - -- directxtk `apr2019` -> `apr2019-1` - - [(#7233)](https://github.com/microsoft/vcpkg/pull/7233) [DirectXTK] Fix UWP build error - -- restbed `4.16-07-28-2018` -> `4.16-07-28-2018-1` - - [(#7232)](https://github.com/microsoft/vcpkg/pull/7232) [restbed] Add openssl feature - -- clapack `3.2.1-9` -> `3.2.1-10` - - [(#6786)](https://github.com/microsoft/vcpkg/pull/6786) [openblas/clapack] FindLapack/FindBLAS was not working. - -- geogram `1.6.9-6` -> `1.6.9-7` - - [(#6786)](https://github.com/microsoft/vcpkg/pull/6786) [openblas/clapack] FindLapack/FindBLAS was not working. - -- mlpack `3.1.1` -> `3.1.1-1` - - [(#6786)](https://github.com/microsoft/vcpkg/pull/6786) [openblas/clapack] FindLapack/FindBLAS was not working. - -- openblas `0.3.6-4` -> `0.3.6-5` - - [(#6786)](https://github.com/microsoft/vcpkg/pull/6786) [openblas/clapack] FindLapack/FindBLAS was not working. - -- pprint `2019-06-01` -> `2019-07-19` - - [(#7317)](https://github.com/microsoft/vcpkg/pull/7317) [pprint] Fix #7301 - -- boost-type-erasure `1.70.0` -> `1.70.0-1` - - [(#7325)](https://github.com/microsoft/vcpkg/pull/7325) [boost-type-erasure] fix depends on arm - -- armadillo `2019-04-16-3` -> `2019-04-16-4` - - [(#7041)](https://github.com/microsoft/vcpkg/pull/7041) [armadillo] Fix installation path - -- cutelyst2 `2.7.0` -> `2.8.0` - - [(#7327)](https://github.com/microsoft/vcpkg/pull/7327) [cutelyst2]Upgrade version to 2.8.0 - -- sdl2-image `2.0.4-3` -> `2.0.5` - - [(#7355)](https://github.com/microsoft/vcpkg/pull/7355) [sdl2-image] Updated to 2.0.5 - -- qhull `7.2.1-3` -> `7.3.2` - - [(#7340)](https://github.com/microsoft/vcpkg/pull/7340) [qhull] Update to 7.3.2 and fix postbuild validation - -- libexif `0.6.21-1` -> `0.6.21-2` - - [(#7344)](https://github.com/microsoft/vcpkg/pull/7344) [Libexif] update download location - -- arrow `0.13.0-4` -> `0.14.1` - - [(#7211)](https://github.com/microsoft/vcpkg/pull/7211) [Arrow] Update to Arrow v0.14.1 - -- date `ed0368f` -> `2019-05-18-1` - - [(#7399)](https://github.com/microsoft/vcpkg/pull/7399) [date] Fix issue with feature remote-api - -- libmariadb `3.0.10-1` -> `3.0.10-3` - - [(#7396)](https://github.com/microsoft/vcpkg/pull/7396) [libmariadb] Fix build library type and install path - - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports - -- inja `2.1.0` -> `2.1.0-1` - - [(#7402)](https://github.com/microsoft/vcpkg/pull/7402) [inja] Use inja CMakeLists.txt - -- pcl `1.9.1-4` -> `1.9.1-5` - - [(#7388)](https://github.com/microsoft/vcpkg/pull/7388) [pcl] Fix cuda building compatability issues with cuda 10.1 - -- thrift `2019-05-07-2` -> `2019-05-07-3` - - [(#7302)](https://github.com/microsoft/vcpkg/pull/7302) [Thrift] Make Thrift static again - -- forest `12.0.0` -> `12.0.3` - - [(#7410)](https://github.com/microsoft/vcpkg/pull/7410) [forest] Update to Version 12.0.3 - -- nlohmann-json `3.6.1` -> `3.7.0` - - [(#7459)](https://github.com/microsoft/vcpkg/pull/7459) [nlohmann-json] Update to 3.7.0 - -- ecm `5.58.0` -> `5.60.0-1` - - [(#7457)](https://github.com/microsoft/vcpkg/pull/7457) [ecm] Update library to v5.60.0 - - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports - -- gl2ps `1.4.0-1` -> `1.4.0-3` - - [(#7453)](https://github.com/microsoft/vcpkg/pull/7453) [gl2ps]Update to use vcpkg new functions(vcpkg_from_gitlab). - - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports - -- darknet `0.2.5-4` -> `0.2.5-5` - - [(#7450)](https://github.com/microsoft/vcpkg/pull/7450) [darknet] add training feature - -- g3log `2019-05-14-1` -> `2019-07-29` - - [(#7448)](https://github.com/microsoft/vcpkg/pull/7448) [g3log] Fix https://github.com/KjellKod/g3log/issues/319 - -- azure-storage-cpp `6.1.0` -> `6.1.0-2` - - [(#7404)](https://github.com/microsoft/vcpkg/pull/7404) [azure-storage-cpp] Removed gcov dependency in debug Linux build (#7311) - - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports - -- ace `6.5.5-1` -> `6.5.6` - - [(#7466)](https://github.com/microsoft/vcpkg/pull/7466) [ace] ace 6.5.6 - -- bullet3 `2.88` -> `2.88-1` - - [(#7474)](https://github.com/microsoft/vcpkg/pull/7474) [Bullet3] feature for multithreading - - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports - -- alembic `1.7.11-2` -> `1.7.11-3` - - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports - -- ampl-mp `2019-03-21` -> `2019-03-21-1` - - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports - -- anax `2.1.0-5` -> `2.1.0-6` - - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports - -- apr `1.6.5-1` -> `1.6.5-2` - - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports - -- blosc `1.16.3-1` -> `1.16.3-2` - - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports - -- capnproto `0.7.0-2` -> `0.7.0-3` - - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports - -- cgicc `3.2.19-1` -> `3.2.19-2` - - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports - -- charls `2.0.0-1` -> `2.0.0-2` - - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports - -- collada-dom `2.5.0-1` -> `2.5.0-2` - - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports - -- ctemplate `2017-06-23-44b7c5-3` -> `2017-06-23-44b7c5-4` - - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports - -- dlfcn-win32 `1.1.1-1` -> `1.1.1-2` - - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports - -- easyloggingpp `9.96.7` -> `9.96.7-1` - - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports - -- fastfeat `391d5e9` -> `391d5e9-1` - - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports - -- fastlz `1.0-2` -> `1.0-3` - - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports - -- freeglut `3.0.0-6` -> `3.0.0-7` - - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports - -- glbinding `3.1.0-1` -> `3.1.0-2` - - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports - -- glew `2.1.0-4` -> `2.1.0-5` - - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports - -- glfw3 `3.3` -> `3.3-1` - - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports - -- graphicsmagick `1.3.32` -> `1.3.32-1` - - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports - -- hypre `2.11.2-1` -> `2.11.2-2` - - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports - - [(#7142)](https://github.com/microsoft/vcpkg/pull/7142) [OpenMPI] add a new port - -- jack2 `1.9.12-1` -> `1.9.12-2` - - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports - -- jxrlib `1.1-7` -> `1.1-8` - - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports - -- kangaru `4.1.3-1` -> `4.1.3-2` - - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports - -- libconfig `1.7.2` -> `1.7.2-1` - - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports - -- libfreenect2 `0.2.0-2` -> `0.2.0-3` - - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports - -- libmad `0.15.1-2` -> `0.15.1-3` - - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports - -- libmspack `0.10.1` -> `0.10.1-1` - - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports - -- libnice `0.1.15` -> `0.1.15-1` - - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports - -- libodb-boost `2.4.0-2` -> `2.4.0-3` - - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports - -- libodb-mysql `2.4.0-2` -> `2.4.0-3` - - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports - -- libodb-pgsql `2.4.0-2` -> `2.4.0-3` - - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports - -- libodb-sqlite `2.4.0-3` -> `2.4.0-4` - - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports - -- libodb `2.4.0-4` -> `2.4.0-5` - - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports - -- librabbitmq `0.9.0` -> `0.9.0-1` - - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports - -- libsamplerate `0.1.9.0` -> `0.1.9.0-1` - - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports - -- libwebsockets `3.1.0-2` -> `3.1.0-3` - - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports - -- lmdb `0.9.23-1` -> `0.9.23-2` - - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports - -- mozjpeg `3.2-2` -> `3.2-3` - - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports - -- nanodbc `2.12.4-3` -> `2.12.4-4` - - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports - -- nmslib `1.7.3.6` -> `1.7.3.6-1` - - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports - -- amqpcpp `4.1.4` -> `4.1.5` - - [(#7475)](https://github.com/microsoft/vcpkg/pull/7475) [amqpcpp] Update library to v4.1.5 - -- cxxopts `2.1.2-1` -> `2.2.0` - - [(#7473)](https://github.com/microsoft/vcpkg/pull/7473) [cxxopts] Bumped to v2.2.0 - -- boost-mpi `1.70.0-1` -> `1.70.0-2` - - [(#7142)](https://github.com/microsoft/vcpkg/pull/7142) [OpenMPI] add a new port - -- hdf5 `1.10.5-7` -> `1.10.5-8` - - [(#7142)](https://github.com/microsoft/vcpkg/pull/7142) [OpenMPI] add a new port - -- kealib `1.4.11` -> `1.4.11-1` - - [(#7142)](https://github.com/microsoft/vcpkg/pull/7142) [OpenMPI] add a new port - -- parmetis `4.0.3-2` -> `4.0.3-3` - - [(#7142)](https://github.com/microsoft/vcpkg/pull/7142) [OpenMPI] add a new port - -- vtk `8.2.0-4` -> `8.2.0-5` - - [(#7142)](https://github.com/microsoft/vcpkg/pull/7142) [OpenMPI] add a new port - -
- --- vcpkg team vcpkg@microsoft.com THU, 01 Aug 07:00:00 -0800 - -vcpkg (2019.6.30) ---- -#### Total port count: 1068 -#### Total port count per triplet (tested): -|triplet|ports available| -|---|---| -|**x64-windows**|1006| -|x86-windows|977| -|x64-windows-static|895| -|**x64-osx**|755| -|**x64-linux**|823| -|arm64-windows|654| -|x64-uwp|532| -|arm-uwp|504| - -#### The following commands and options have been updated: -- [--overlay-ports](docs/specifications/ports-overlay.md) ***[NEW OPTION]*** - - Specify directories to be used when searching for ports - - [(#6981)](https://github.com/Microsoft/vcpkg/pull/6981) Ports Overlay partial implementation - - [(#7002)](https://github.com/Microsoft/vcpkg/pull/7002) [--overlay-ports] Show location of overriden ports during install plan -- --overlay-triplets ***[NEW OPTION]*** - - Specify directories containing triplets files - - [(#7053)](https://github.com/Microsoft/vcpkg/pull/7053) Triplets Overlay Implementation -- integrate - - [(#7095)](https://github.com/Microsoft/vcpkg/pull/7095) [vcpkg-integrate] Improve spelling, help, and autocomplete. - -#### The following documentation has been updated: -- [Maintainer Guidelines and Policies](docs/maintainers/maintainer-guide.md) ***[NEW]*** - - [(#6871)](https://github.com/Microsoft/vcpkg/pull/6871) [docs] Add maintainer guidelines -- [Ports Overlay](docs/specifications/ports-overlay.md) ***[NEW]*** - - [(#6981)](https://github.com/Microsoft/vcpkg/pull/6981) Ports Overlay partial implementation -- [vcpkg_check_features](docs/maintainers/vcpkg_check_features.md) ***[NEW]*** - - [(#6958)](https://github.com/Microsoft/vcpkg/pull/6958) [vcpkg] Add vcpkg_check_features - - [(#7091)](https://github.com/Microsoft/vcpkg/pull/7091) [vcpkg] Update vcpkg_check_features document -- [vcpkg_execute_build_process](docs/maintainers/vcpkg_execute_build_process.md) ***[NEW]*** - - [(#7039)](https://github.com/Microsoft/vcpkg/pull/7039) [docs]Update cmake docs -- [CONTROL files](docs/maintainers/control-files.md#Homepage) - - [(#6844)](https://github.com/Microsoft/vcpkg/pull/6844) [vcpkg] Add optional 'Homepage' field to CONTROL - - [(#6871)](https://github.com/Microsoft/vcpkg/pull/6871) [docs] Add maintainer guidelines -- [index](docs/README.md) - - [(#6871)](https://github.com/Microsoft/vcpkg/pull/6871) [docs] Add maintainer guidelines -- [Portfile helper functions](docs/maintainers/portfile-functions.md) - - [(#7039)](https://github.com/Microsoft/vcpkg/pull/7039) [docs]Update cmake docs -- [vcpkg_configure_cmake](docs/maintainers/vcpkg_configure_cmake.md) - - [(#7074)](https://github.com/Microsoft/vcpkg/pull/7074) [vcpkg_configure_cmake] Add NO_CHARSET_FLAG option - -#### The following *remarkable* changes have been made to vcpkg's infrastructure: -- [vcpkg_check_features.cmake](docs/maintainers/vcpkg_check_features.md) - - New portfile.cmake function for vcpkg contributors; Check if one or more features are a part of the package installation - - [(#6958)](https://github.com/Microsoft/vcpkg/pull/6958) [vcpkg] Add vcpkg_check_features - - [(#7091)](https://github.com/Microsoft/vcpkg/pull/7091) [vcpkg] Update vcpkg_check_features document -- [CONTROL file Homepage field](docs/maintainers/control-files.md#Homepage) - - CONTROL files may now contain a 'Homepage' field which links to the port's official website - - [(#6844)](https://github.com/Microsoft/vcpkg/pull/6844) [vcpkg] Add optional 'Homepage' field to CONTROL - -#### The following *additional* changes have been made to vcpkg's infrastructure: -- [(#4942)](https://github.com/Microsoft/vcpkg/pull/4942) Update applocal.ps1 -- [(#5630)](https://github.com/Microsoft/vcpkg/pull/5630) [scripts] Fix vcpkg_fixup_cmake on non Windows platforms -- [(#6383)](https://github.com/Microsoft/vcpkg/pull/6383) [vcpkg] update python3 to 3.7.3 on windows -- [(#6590)](https://github.com/Microsoft/vcpkg/pull/6590) ffmpeg: enable arm/arm64 windows support -- [(#6653)](https://github.com/Microsoft/vcpkg/pull/6653) [vcpkg] Fix install from head when no-downloads -- [(#6667)](https://github.com/Microsoft/vcpkg/pull/6667) make meson not download things -- [(#6695)](https://github.com/Microsoft/vcpkg/pull/6695) [icu] Enable parallel builds -- [(#6704)](https://github.com/Microsoft/vcpkg/pull/6704) [DOXYGEN]Upgrade doxygen to 1.8.15. -- [(#6788)](https://github.com/Microsoft/vcpkg/pull/6788) [vcpkg] Bootstrap should use Get-CimInstance instead of Get-WmiObject. -- [(#6826)](https://github.com/Microsoft/vcpkg/pull/6826) [vcpkg] Apply clang format -- [(#6846)](https://github.com/Microsoft/vcpkg/pull/6846) Introduce an easier way to identify target systems... -- [(#6867)](https://github.com/Microsoft/vcpkg/pull/6867) Protect #pragma comment(lib, "foo") with _WIN32 checks -- [(#6872)](https://github.com/Microsoft/vcpkg/pull/6872) set CMAKE_SYSTEM_PROCESSOR in Linux -- [(#6880)](https://github.com/Microsoft/vcpkg/pull/6880) retry on flaky linker -- [(#6919)](https://github.com/Microsoft/vcpkg/pull/6919) [vcpkg] Improve vcpkg::Files::Filesystem error handling -- [(#6943)](https://github.com/Microsoft/vcpkg/pull/6943) address qhull flaky build with msvc linker -- [(#6952)](https://github.com/Microsoft/vcpkg/pull/6952) bootstrap.sh: Retry up to 3 times for transient download errors -- [(#6960)](https://github.com/Microsoft/vcpkg/pull/6960) Use correct path separators for each platform -- [(#6968)](https://github.com/Microsoft/vcpkg/pull/6968) VS 2019 16.3 deprecates . -- [(#6987)](https://github.com/Microsoft/vcpkg/pull/6987) Bump version to 2019.06.21 -- [(#7038)](https://github.com/Microsoft/vcpkg/pull/7038) #5248 make vcpkg buildable as 'system' user -- [(#7039)](https://github.com/Microsoft/vcpkg/pull/7039) [docs]Update cmake docs -- [(#7074)](https://github.com/Microsoft/vcpkg/pull/7074) [vcpkg_configure_cmake] Add NO_CHARSET_FLAG option -- [(#7086)](https://github.com/Microsoft/vcpkg/pull/7086) [vcpkg] fail archived port install when decompression fails - -
-The following 44 ports have been added: - -| port | version | -|---|---| -|[any-lite](https://github.com/Microsoft/vcpkg/pull/6629) | 0.2.0 -|[argparse](https://github.com/Microsoft/vcpkg/pull/6866) | 2019-06-10 -|[bdwgc](https://github.com/Microsoft/vcpkg/pull/6405) | 8.0.4-1 -|[byte-lite](https://github.com/Microsoft/vcpkg/pull/6630) | 0.2.0 -|[casclib](https://github.com/Microsoft/vcpkg/pull/6744) | 1.50 -|[cjson](https://github.com/Microsoft/vcpkg/pull/6081) | 1.7.10-1 -|[cpp-httplib](https://github.com/Microsoft/vcpkg/pull/7037) | 0.2.0 -|[cppcodec](https://github.com/Microsoft/vcpkg/pull/6651) | 0.2 -|[expected-lite](https://github.com/Microsoft/vcpkg/pull/6642) | 0.3.0 -|[greatest](https://github.com/Microsoft/vcpkg/pull/6934) | 1.4.2 -|[hedley](https://github.com/Microsoft/vcpkg/pull/6776) | 2019-05-08-1 -|[immer](https://github.com/Microsoft/vcpkg/pull/6814) | 2019-06-07 -|[itpp](https://github.com/Microsoft/vcpkg/pull/6672) | 4.3.1 -|[ixwebsocket](https://github.com/Microsoft/vcpkg/pull/6835) | 4.0.3 -|[json-c](https://github.com/Microsoft/vcpkg/pull/6446) | 2019-05-31 -|[libfabric](https://github.com/Microsoft/vcpkg/pull/4740)[(#7036)](https://github.com/Microsoft/vcpkg/pull/7036) | 1.7.1-1 -|[libftdi](https://github.com/Microsoft/vcpkg/pull/6843)[(#7015)](https://github.com/Microsoft/vcpkg/pull/7015) [(#7055)](https://github.com/Microsoft/vcpkg/pull/7055) | 0.20-1 -|[libftdi1](https://github.com/Microsoft/vcpkg/pull/6843) | 1.4 -|[libpmemobj-cpp](https://github.com/Microsoft/vcpkg/pull/7020)[(#7097)](https://github.com/Microsoft/vcpkg/pull/7095) | 1.6-1 -|[libraqm](https://github.com/Microsoft/vcpkg/pull/6659) | 0.6.0 -|[libu2f-server](https://github.com/Microsoft/vcpkg/pull/6781) | 1.1.0 -|[libzen](https://github.com/Microsoft/vcpkg/pull/7004) | 0.4.37 -|[magic-enum](https://github.com/Microsoft/vcpkg/pull/6817) | 2019-06-07 -|[networkdirect-sdk](https://github.com/Microsoft/vcpkg/pull/4740) | 2.0.1 -|[observer-ptr-lite](https://github.com/Microsoft/vcpkg/pull/6652) | 0.4.0 -|[openigtlink](https://github.com/Microsoft/vcpkg/pull/6769) | 3.0 -|[optional-bare](https://github.com/Microsoft/vcpkg/pull/6654) | 1.1.0 -|[optional-lite](https://github.com/Microsoft/vcpkg/pull/6655) | 3.2.0 -|[polyclipping](https://github.com/Microsoft/vcpkg/pull/6769) | 6.4.2 -|[ppconsul](https://github.com/Microsoft/vcpkg/pull/6911)[(#6967)](https://github.com/Microsoft/vcpkg/pull/6967) | 0.3-1 -|[pprint](https://github.com/Microsoft/vcpkg/pull/6678) | 2019-06-01 -|[restclient-cpp](https://github.com/Microsoft/vcpkg/pull/6936)[(#7054)](https://github.com/Microsoft/vcpkg/pull/7054) | 0.5.1-2 -|[ring-span-lite](https://github.com/Microsoft/vcpkg/pull/6696) | 0.3.0 -|[robin-hood-hashing](https://github.com/Microsoft/vcpkg/pull/6709) | 3.2.13 -|[simde](https://github.com/Microsoft/vcpkg/pull/6777) | 2019-06-05 -|[span-lite](https://github.com/Microsoft/vcpkg/pull/6703) | 0.5.0 -|[sprout](https://github.com/Microsoft/vcpkg/pull/6997) | 2019-06-20 -|[stormlib](https://github.com/Microsoft/vcpkg/pull/6428) | 9.22 -|[string-view-lite](https://github.com/Microsoft/vcpkg/pull/6758) | 1.3.0 -|[tl-function-ref](https://github.com/Microsoft/vcpkg/pull/7028) | 1.0.0-1 -|[variant-lite](https://github.com/Microsoft/vcpkg/pull/6720) | 1.2.2 -|[wpilib](https://github.com/Microsoft/vcpkg/pull/6716)[(#7087)](https://github.com/Microsoft/vcpkg/pull/7087) | 2019.5.1 -|[zstr](https://github.com/Microsoft/vcpkg/pull/6773) | 1.0.1 -|[zydis](https://github.com/Microsoft/vcpkg/pull/6861) | 2.0.3 -
- -
-The following 291 ports have been updated: - -- alembic `1.7.11` -> `1.7.11-2` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - - [(#6844)](https://github.com/Microsoft/vcpkg/pull/6844) [vcpkg] Add optional 'Homepage' field to CONTROL - -- angelscript `2.33.0` -> `2.33.0-1` - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- angle `2019-03-13-c2ee2cc-3` -> `2019-06-13` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6892)](https://github.com/Microsoft/vcpkg/pull/6892) [angle] Update to latest master - -- arb `2.11.1-2` -> `2.16.0` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6763)](https://github.com/Microsoft/vcpkg/pull/6763) [arb]Upgrade version to 2.16.0 and fix build error. - -- armadillo `2019-04-16-f00d3225` -> `2019-04-16-3` - - [(#6371)](https://github.com/Microsoft/vcpkg/pull/6371) [openexr,openimageio,suitesparse,theia] updates for non-win32 - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - - [(#7022)](https://github.com/Microsoft/vcpkg/pull/7022) [armadillo] Fix build error in Linux - -- arrow `0.13.0-3` -> `0.13.0-4` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - - [(#6757)](https://github.com/Microsoft/vcpkg/pull/6757) [arrow] fix findzstd patch - -- asio `1.12.2` -> `1.12.2-2` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6751)](https://github.com/Microsoft/vcpkg/pull/6751) [asio] Add cmake target - - [(#7083)](https://github.com/Microsoft/vcpkg/pull/7083) [asio] fix flaky build - -- assimp `4.1.0-4` -> `4.1.0-8` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6371)](https://github.com/Microsoft/vcpkg/pull/6371) [openexr,openimageio,suitesparse,theia] updates for non-win32 - - [(#6593)](https://github.com/Microsoft/vcpkg/pull/6593) [assimp]Fix lrrXML library dependencies. - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - - [(#6887)](https://github.com/Microsoft/vcpkg/pull/6887) [assimp] Fix install assimp when passing --head - -- avro-c `1.8.2-1` -> `1.8.2-2` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- aws-c-common `0.3.0` -> `0.3.11-1` - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - - [(#6747)](https://github.com/Microsoft/vcpkg/pull/6747) [aws-c-common]Upgrade version to 0.3.11 - -- aws-sdk-cpp `1.7.106` -> `1.7.116` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - - [(#6932)](https://github.com/Microsoft/vcpkg/pull/6932) [aws-sdk-cpp]Upgrade to 1.7.116 - -- azure-c-shared-utility `2019-05-16` -> `2019-05-16.1` - - [(#6804)](https://github.com/Microsoft/vcpkg/pull/6804) [azure] Update azure-iot-sdk-c for public-preview release of 2019-05-16 - -- azure-iot-sdk-c `2019-05-16` -> `2019-05-16.1` - - [(#6804)](https://github.com/Microsoft/vcpkg/pull/6804) [azure] Update azure-iot-sdk-c for public-preview release of 2019-05-16 - -- azure-macro-utils-c `2019-05-16` -> `2019-05-16.1` - - [(#6804)](https://github.com/Microsoft/vcpkg/pull/6804) [azure] Update azure-iot-sdk-c for public-preview release of 2019-05-16 - -- azure-uamqp-c `2019-05-16` -> `2019-05-16.1` - - [(#6804)](https://github.com/Microsoft/vcpkg/pull/6804) [azure] Update azure-iot-sdk-c for public-preview release of 2019-05-16 - -- azure-uhttp-c `2019-05-16` -> `2019-05-16.1` - - [(#6804)](https://github.com/Microsoft/vcpkg/pull/6804) [azure] Update azure-iot-sdk-c for public-preview release of 2019-05-16 - -- azure-umqtt-c `2019-05-16` -> `2019-05-16.1` - - [(#6804)](https://github.com/Microsoft/vcpkg/pull/6804) [azure] Update azure-iot-sdk-c for public-preview release of 2019-05-16 - -- blosc `1.16.3` -> `1.16.3-1` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6928)](https://github.com/Microsoft/vcpkg/pull/6928) [blosc] Fix the bug when building release-only. - -- bond `7.0.2-2` -> `8.1.0` - - [(#6844)](https://github.com/Microsoft/vcpkg/pull/6844) [vcpkg] Add optional 'Homepage' field to CONTROL - - [(#6954)](https://github.com/Microsoft/vcpkg/pull/6954) [bond]Upgrade version to 8.1.0 and add Linux/OSX support. - -- boost-thread `1.70.0` -> `1.70.0-1` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6840)](https://github.com/Microsoft/vcpkg/pull/6840) [boost-thread] Fix old patches - -- boost-variant `1.69.0` -> `1.70.0` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#7047)](https://github.com/Microsoft/vcpkg/pull/7047) [Boost-variant] Upgrade to 1.70.0 - -- botan `2.9.0` -> `2.9.0-1` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- c-ares `2019-5-2` -> `2019-5-2-1` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- cairo `1.16.0` -> `1.16.0-1` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6806)](https://github.com/Microsoft/vcpkg/pull/6806) [cairo] Fix linker errors on Linux and MacOS - -- capnproto `0.7.0-1` -> `0.7.0-2` - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - - [(#6844)](https://github.com/Microsoft/vcpkg/pull/6844) [vcpkg] Add optional 'Homepage' field to CONTROL - - [(#7024)](https://github.com/Microsoft/vcpkg/pull/7024) [capnproto] Enable Linux and OSX support - -- cartographer `1.0.0` -> `1.0.0-1` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- catch2 `2.7.2` -> `2.7.2-2` - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - - [(#6844)](https://github.com/Microsoft/vcpkg/pull/6844) [vcpkg] Add optional 'Homepage' field to CONTROL - -- ccd `2.1` -> `2.1-1` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- celero `2.4.0-1` -> `2.5.0-1` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6845)](https://github.com/Microsoft/vcpkg/pull/6845) Celero: Update to v2.5.0 release - -- cereal `1.2.2-1` -> `1.2.2-2` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- ceres `1.14.0-3` -> `1.14.0-6` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6371)](https://github.com/Microsoft/vcpkg/pull/6371) [openexr,openimageio,suitesparse,theia] updates for non-win32 - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- clapack `3.2.1-4` -> `3.2.1-9` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6371)](https://github.com/Microsoft/vcpkg/pull/6371) [openexr,openimageio,suitesparse,theia] updates for non-win32 - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- clblas `2.12-1` -> `2.12-2` - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- clfft `2.12.2` -> `2.12.2-1` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- cli `1.1` -> `1.1-1` - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- clp `1.17.2` -> `1.17.2-2` - - [(#6371)](https://github.com/Microsoft/vcpkg/pull/6371) [openexr,openimageio,suitesparse,theia] updates for non-win32 - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- cnl `2019-01-09` -> `2019-06-23` - - [(#7031)](https://github.com/Microsoft/vcpkg/pull/7031) [cnl] Update cnl to latest - -- coinutils `2.11.2` -> `2.11.2-2` - - [(#6371)](https://github.com/Microsoft/vcpkg/pull/6371) [openexr,openimageio,suitesparse,theia] updates for non-win32 - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- collada-dom `2.5.0` -> `2.5.0-1` - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- console-bridge `0.3.2-3` -> `0.3.2-4` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- cpp-netlib `0.13.0-final` -> `0.13.0-2` - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- cppcms `1.1.0-2` -> `1.2.1` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 - -- cpr `1.3.0-6` -> `1.3.0-7` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6429)](https://github.com/Microsoft/vcpkg/pull/6429) [Curl] Upgrades 2019.05.08 - -- crc32c `1.0.7` -> `1.0.7-1` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- cryptopp `8.1.0` -> `8.1.0-2` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - - [(#6821)](https://github.com/Microsoft/vcpkg/pull/6821) [cryptopp] fix build by disabling assembly on osx - -- curl `7.61.1-7` -> `7.65.0-2` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6429)](https://github.com/Microsoft/vcpkg/pull/6429) [Curl] Upgrades 2019.05.08 - - [(#6649)](https://github.com/Microsoft/vcpkg/pull/6649) [Curl] Fix cmake target name - - [(#6698)](https://github.com/Microsoft/vcpkg/pull/6698) [curl] Revert revert of `-imp` suffix removal. - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- cxxopts `2.1.2` -> `2.1.2-1` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- darknet `0.2.5-1` -> `0.2.5-4` - - [(#6787)](https://github.com/Microsoft/vcpkg/pull/6787) [darknet] update to latest release - - [(#7064)](https://github.com/Microsoft/vcpkg/pull/7064) [darknet] enable ninja - -- darts-clone `1767ab87cffe` -> `1767ab87cffe-1` - - [(#6875)](https://github.com/Microsoft/vcpkg/pull/6875) [libsodium/darts-clone] remove conflicting makefile - -- dcmtk `3.6.3-1` -> `3.6.4` - - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 - -- dlib `19.17` -> `19.17-1` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6371)](https://github.com/Microsoft/vcpkg/pull/6371) [openexr,openimageio,suitesparse,theia] updates for non-win32 - -- doctest `2.3.2` -> `2.3.3` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6998)](https://github.com/Microsoft/vcpkg/pull/6998) [doctest] Update to 2.3.3 - -- draco `1.3.3-2` -> `1.3.5` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6796)](https://github.com/Microsoft/vcpkg/pull/6796) [draco, flatbuffers, forge] Update to new version - -- duilib `2019-4-28-1` -> `2019-4-28-2` - - [(#7074)](https://github.com/Microsoft/vcpkg/pull/7074) [vcpkg_configure_cmake] Add NO_CHARSET_FLAG option - -- ebml `1.3.8` -> `1.3.9` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6371)](https://github.com/Microsoft/vcpkg/pull/6371) [openexr,openimageio,suitesparse,theia] updates for non-win32 - - [(#6662)](https://github.com/Microsoft/vcpkg/pull/6662) [ebml, matroska] Upgrade ebml to v1.3.9 and matroska to v1.5.2 - -- eigen3 `3.3.7-1` -> `3.3.7-2` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- ensmallen `1.15.0` -> `1.15.1` - - [(#6371)](https://github.com/Microsoft/vcpkg/pull/6371) [openexr,openimageio,suitesparse,theia] updates for non-win32 - - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 - -- entityx `1.3.0` -> `1.3.0-1` - - [(#6736)](https://github.com/Microsoft/vcpkg/pull/6736) [entityx][entt] Disable parallel configure - - [(#6844)](https://github.com/Microsoft/vcpkg/pull/6844) [vcpkg] Add optional 'Homepage' field to CONTROL - -- entt `3.0.0` -> `3.0.0-1` - - [(#6736)](https://github.com/Microsoft/vcpkg/pull/6736) [entityx][entt] Disable parallel configure - - [(#6844)](https://github.com/Microsoft/vcpkg/pull/6844) [vcpkg] Add optional 'Homepage' field to CONTROL - -- exiv2 `0.27` -> `0.27.1-1` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6371)](https://github.com/Microsoft/vcpkg/pull/6371) [openexr,openimageio,suitesparse,theia] updates for non-win32 - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - - [(#6844)](https://github.com/Microsoft/vcpkg/pull/6844) [vcpkg] Add optional 'Homepage' field to CONTROL - - [(#6905)](https://github.com/Microsoft/vcpkg/pull/6905) [Exiv2] update to 0.27.1 - -- fastcdr `1.0.6-2` -> `1.0.9-1` - - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 - -- fcl `0.5.0-5` -> `0.5.0-6` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- ffmpeg `4.1-5` -> `4.1-8` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6371)](https://github.com/Microsoft/vcpkg/pull/6371) [openexr,openimageio,suitesparse,theia] updates for non-win32 - - [(#6590)](https://github.com/Microsoft/vcpkg/pull/6590) ffmpeg: enable arm/arm64 windows support - - [(#6694)](https://github.com/Microsoft/vcpkg/pull/6694) [ffmpeg] Correctly set environment variables for gcc/clang/icc - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - - [(#6743)](https://github.com/Microsoft/vcpkg/pull/6743) [ffmpeg] Fix regression on windows - - [(#6784)](https://github.com/Microsoft/vcpkg/pull/6784) [FFmpeg] Add 'vpx' feature. - -- fizz `2019.05.13.00` -> `2019.05.20.00-1` - - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - - [(#6969)](https://github.com/Microsoft/vcpkg/pull/6969) [libevent] Upgrade to version 2.1.10 - -- flann `jan2019` -> `1.9.1-1` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6931)](https://github.com/Microsoft/vcpkg/pull/6931) [flann]Upgrade version to 1.9.1 and fix build error. - - [(#7073)](https://github.com/Microsoft/vcpkg/pull/7073) [flann] fix flaky config - -- flatbuffers `1.10.0-1` -> `1.11.0-1` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - - [(#6796)](https://github.com/Microsoft/vcpkg/pull/6796) [draco, flatbuffers, forge] Update to new version - - [(#6844)](https://github.com/Microsoft/vcpkg/pull/6844) [vcpkg] Add optional 'Homepage' field to CONTROL - -- fmi4cpp `0.7.0` -> `0.7.0-1` - - [(#7021)](https://github.com/Microsoft/vcpkg/pull/7021) [nana, fmi4cpp] Fix Visual Studio 2019 deprecates . - -- folly `2019.05.13.00` -> `2019.05.20.00-1` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - - [(#6974)](https://github.com/Microsoft/vcpkg/pull/6974) [Folly] define _CRT_INTERNAL_NONSTDC_NAMES to 0 to disable non-underscore posix names on windows - -- fontconfig `2.12.4-8` -> `2.12.4-9` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6371)](https://github.com/Microsoft/vcpkg/pull/6371) [openexr,openimageio,suitesparse,theia] updates for non-win32 - -- forest `11.0.1` -> `12.0.0` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6938)](https://github.com/Microsoft/vcpkg/pull/6938) [forest] move to 12.0.0 - -- forge `1.0.3-1` -> `1.0.4-1` - - [(#6796)](https://github.com/Microsoft/vcpkg/pull/6796) [draco, flatbuffers, forge] Update to new version - -- freeimage `3.18.0-5` -> `3.18.0-6` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- freerdp `2.0.0-rc4-1` -> `2.0.0-rc4-2` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- freetype `2.9.1-1` -> `2.10.0` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6754)](https://github.com/Microsoft/vcpkg/pull/6754) Fix freetype cmake config files - - [(#7057)](https://github.com/Microsoft/vcpkg/pull/7057) [freetype] Upgrade to version 2.10.0 - -- freexl `1.0.4-1` -> `1.0.4-2` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6813)](https://github.com/Microsoft/vcpkg/pull/6813) [freexl]: Linux build support - -- ftgl `2.3.1` -> `2.4.0-1` - - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 - -- g2o `20170730_git-4` -> `20170730_git-5` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6371)](https://github.com/Microsoft/vcpkg/pull/6371) [openexr,openimageio,suitesparse,theia] updates for non-win32 - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - - [(#6844)](https://github.com/Microsoft/vcpkg/pull/6844) [vcpkg] Add optional 'Homepage' field to CONTROL - -- gdcm `3.0.0` -> `3.0.0-3` - - [(#6710)](https://github.com/Microsoft/vcpkg/pull/6710) [gdcm,jbig2dec] move patches from #5169 - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- gdk-pixbuf `2.36.9-2` -> `2.36.9-3` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6663)](https://github.com/Microsoft/vcpkg/pull/6663) [gdk-pixbuf] Fix Linux compilation. - -- geogram `1.6.9-3` -> `1.6.9-6` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6371)](https://github.com/Microsoft/vcpkg/pull/6371) [openexr,openimageio,suitesparse,theia] updates for non-win32 - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- geographiclib `1.47-patch1-5` -> `1.47-patch1-6` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- gherkin-c `c-libs-e63e83104b` -> `4.1.2` - - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 - -- gl3w `99ed3211` -> `2018-05-31-1` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- glad `0.1.29` -> `0.1.30` - - [(#6819)](https://github.com/Microsoft/vcpkg/pull/6819) [glad] update to 0.1.30 - -- glbinding `3.1.0` -> `3.1.0-1` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - - [(#6872)](https://github.com/Microsoft/vcpkg/pull/6872) set CMAKE_SYSTEM_PROCESSOR in Linux - - [(#6876)](https://github.com/Microsoft/vcpkg/pull/6876) [glbinding] remove conflict with other opengl ports - -- glew `2.1.0-3` -> `2.1.0-4` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - - [(#6853)](https://github.com/Microsoft/vcpkg/pull/6853) [glew] Disable the link option /nodefaultlib and /noentry - -- glib `2.52.3-14-1` -> `2.52.3-14-2` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6663)](https://github.com/Microsoft/vcpkg/pull/6663) [gdk-pixbuf] Fix Linux compilation. - -- glibmm `2.52.1-8` -> `2.52.1-9` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6550)](https://github.com/Microsoft/vcpkg/pull/6550) [glibmm] Reintroduce CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS - - [(#6844)](https://github.com/Microsoft/vcpkg/pull/6844) [vcpkg] Add optional 'Homepage' field to CONTROL - -- globjects `1.1.0-2018-09-19-1` -> `1.1.0-2` - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - - [(#6844)](https://github.com/Microsoft/vcpkg/pull/6844) [vcpkg] Add optional 'Homepage' field to CONTROL - -- glog `0.4.0` -> `0.4.0-1` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- glslang `2018-03-02-2` -> `2019-03-05` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6689)](https://github.com/Microsoft/vcpkg/pull/6689) [shaderc] update - -- google-cloud-cpp `0.9.0` -> `0.10.0` - - [(#6785)](https://github.com/Microsoft/vcpkg/pull/6785) Upgrade google-cloud-cpp to 0.10.0. - -- graphicsmagick `1.3.31-1` -> `1.3.32` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6947)](https://github.com/Microsoft/vcpkg/pull/6947) Graphicsmagick 1.3.32 - -- graphite2 `1.3.12` -> `1.3.12-1` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- grpc `1.20.1-1` -> `1.21.1-1` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#5630)](https://github.com/Microsoft/vcpkg/pull/5630) [scripts] Fix vcpkg_fixup_cmake on non Windows platforms - - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- gsoap `2.8.82-2` -> `2.8.84-1` - - [(#6371)](https://github.com/Microsoft/vcpkg/pull/6371) [openexr,openimageio,suitesparse,theia] updates for non-win32 - - [(#6756)](https://github.com/Microsoft/vcpkg/pull/6756) update to 2.8.84 - -- gtk `3.22.19-2` -> `3.22.19-3` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6671)](https://github.com/Microsoft/vcpkg/pull/6671) [pango/gtk]Fix build error C2001. - -- harfbuzz `2.4.0` -> `2.5.1-1` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6659)](https://github.com/Microsoft/vcpkg/pull/6659) [libraqm] Add new port (0.6.0) - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - - [(#6761)](https://github.com/Microsoft/vcpkg/pull/6761) [harfbuzz]Upgrade version to 2.5.1 and fix patches. - - [(#6879)](https://github.com/Microsoft/vcpkg/pull/6879) [harfbuzz] Propagate dependency on glib downstream - -- hdf5 `1.10.5-5` -> `1.10.5-7` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - - [(#6771)](https://github.com/Microsoft/vcpkg/pull/6771) [netcdf-c/hdf5] improve/correct linkage - -- hpx `1.2.1-1` -> `1.3.0-1` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6755)](https://github.com/Microsoft/vcpkg/pull/6755) Updating HPX to V1.3.0 - -- http-parser `2.9.2` -> `2.9.2-1` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- icu `61.1-6` -> `61.1-7` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6695)](https://github.com/Microsoft/vcpkg/pull/6695) [icu] Enable parallel builds - -- idevicerestore `1.0.12-2` -> `1.0.12-3` - - [(#6698)](https://github.com/Microsoft/vcpkg/pull/6698) [curl] Revert revert of `-imp` suffix removal. - -- imgui `1.70` -> `1.70-1` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- inih `43` -> `44` - - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 - -- ismrmrd `1.4` -> `1.4.0-1` - - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- itk `4.13.0-906736bd-3` -> `5.0.0-2` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - - [(#6767)](https://github.com/Microsoft/vcpkg/pull/6767) [itk] Upgrade to 5.0.0 - -- jansson `2.11-2` -> `2.12-1` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 - -- jasper `2.0.16-1` -> `2.0.16-2` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- jbig2dec `0.16` -> `0.16-1` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6710)](https://github.com/Microsoft/vcpkg/pull/6710) [gdcm,jbig2dec] move patches from #5169 - -- json-dto `0.2.8` -> `0.2.8-2` - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- json11 `2017-06-20-1` -> `2017-06-20-2` - - [(#6967)](https://github.com/Microsoft/vcpkg/pull/6967) [ppconsul] remove conflict with json11 - -- jxrlib `1.1-6` -> `1.1-7` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- kangaru `4.1.3` -> `4.1.3-1` - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- kd-soap `1.7.0` -> `1.8.0` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6838)](https://github.com/Microsoft/vcpkg/pull/6838) [kd-soap]Upgrade version to 1.8.0 - - [(#6844)](https://github.com/Microsoft/vcpkg/pull/6844) [vcpkg] Add optional 'Homepage' field to CONTROL - -- lcm `1.3.95-1` -> `1.4.0` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6836)](https://github.com/Microsoft/vcpkg/pull/6836) [lcm]Upgrade version to 1.4.0 and fix build error. - -- leptonica `1.76.0` -> `1.76.0-1` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- leveldb `2017-10-25-8b1cd3753b184341e837b30383832645135d3d73-3` -> `1.22` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6900)](https://github.com/Microsoft/vcpkg/pull/6900) [leveldb] Port update - -- libbson `1.13.0` -> `1.14.0-1` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - - [(#6862)](https://github.com/Microsoft/vcpkg/pull/6862) [libbson mongo-c-driver mongo-cxx-driver] upgrades to new revision - -- libcroco `0.6.13` -> `0.6.13-1` - - [(#6663)](https://github.com/Microsoft/vcpkg/pull/6663) [gdk-pixbuf] Fix Linux compilation. - -- libevent `2.1.8-5` -> `2.1.10` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6969)](https://github.com/Microsoft/vcpkg/pull/6969) [libevent] Upgrade to version 2.1.10 - -- libfreenect2 `0.2.0-1` -> `0.2.0-2` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- libgeotiff `1.4.2-8` -> `1.4.2-9` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6000)](https://github.com/Microsoft/vcpkg/pull/6000) [LibLZMA] automatic configuration - -- libgit2 `0.28.1` -> `0.28.2` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 - -- libharu `2017-08-15-d84867ebf9f-6` -> `2017-08-15-8` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- libics `1.6.2` -> `1.6.3` - - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 - -- libideviceactivation `1.2.68` -> `1.2.68-1` - - [(#6698)](https://github.com/Microsoft/vcpkg/pull/6698) [curl] Revert revert of `-imp` suffix removal. - -- libimobiledevice `1.2.1.215-1` -> `1.2.76` - - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 - -- libjpeg-turbo `2.0.1-1` -> `2.0.2` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6482)](https://github.com/Microsoft/vcpkg/pull/6482) [libjpeg-turbo] Upgrades 2019.05.08 - -- liblemon `1.3.1-4` -> `2019-06-13` - - [(#6371)](https://github.com/Microsoft/vcpkg/pull/6371) [openexr,openimageio,suitesparse,theia] updates for non-win32 - - [(#6679)](https://github.com/Microsoft/vcpkg/pull/6679) [liblemon] made into a rolling-release port - -- liblsl `1.13.0-b4` -> `1.13.0-b6` - - [(#6745)](https://github.com/Microsoft/vcpkg/pull/6745) [liblsl] Update liblsl port to 1.13.0-b6 - -- liblzma `5.2.4-1` -> `5.2.4-2` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6000)](https://github.com/Microsoft/vcpkg/pull/6000) [LibLZMA] automatic configuration - -- libmikmod `3.3.11.1-2` -> `3.3.11.1-4` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#7035)](https://github.com/Microsoft/vcpkg/pull/7035) [libmikmod] patch cmake warning - - [(#7052)](https://github.com/Microsoft/vcpkg/pull/7052) [libmikmod] resolve ninja error (-w dupbuild=err) - -- libmodbus `3.1.4-2` -> `3.1.4-3` - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- libmupdf `1.12.0-2` -> `1.15.0` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6710)](https://github.com/Microsoft/vcpkg/pull/6710) [gdcm,jbig2dec] move patches from #5169 - - [(#7046)](https://github.com/Microsoft/vcpkg/pull/7046) [libmupdf] Update the port to version 1.15.0 - -- libmysql `8.0.4-3` -> `8.0.4-4` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6442)](https://github.com/Microsoft/vcpkg/pull/6442) [libmysql]Fix build error in linux. - -- libogg `1.3.3-2` -> `1.3.3-4` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6588)](https://github.com/Microsoft/vcpkg/pull/6588) [libogg] Update to 1.3.3-3 - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- libopusenc `0.1-1` -> `0.2.1` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6748)](https://github.com/Microsoft/vcpkg/pull/6748) [libopusenc]Upgrade version to 0.2.1 - -- libpff `2018-07-14` -> `2018-07-14-1` - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- libplist `2.0.1.197-2` -> `1.2.77` - - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 - -- libpng `1.6.37-1` -> `1.6.37-2` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- libqglviewer `2.7.1-1` -> `2.7.0` - - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 - -- libraw `0.19.2` -> `201903-1` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6742)](https://github.com/Microsoft/vcpkg/pull/6742) [libraw] Add include for select_library_configurations [(#6715)](https://github.com/Microsoft/vcpkg/pull/6715) - -- libressl `2.9.1` -> `2.9.1-2` - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- libsndfile `1.0.29-6830c42-6` -> `1.0.29-8` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - - [(#6896)](https://github.com/Microsoft/vcpkg/pull/6896) [sndfile/libsndfile] remove duplicate port, forward to libsndfile - -- libsodium `1.0.17-2` -> `1.0.18` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6778)](https://github.com/Microsoft/vcpkg/pull/6778) [libsodium] Update to 1.0.18 - - [(#6875)](https://github.com/Microsoft/vcpkg/pull/6875) [libsodium/darts-clone] remove conflicting makefile - -- libspatialite `4.3.0a-2` -> `4.3.0a-3` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6000)](https://github.com/Microsoft/vcpkg/pull/6000) [LibLZMA] automatic configuration - -- libsquish `1.15` -> `1.15-1` - - [(#6893)](https://github.com/Microsoft/vcpkg/pull/6893) [libsquish] fix flaky build - -- libtins `4.0-2` -> `4.2` - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - - [(#7008)](https://github.com/Microsoft/vcpkg/pull/7008) [libtins]Upgrade version to 4.2 and adds dependent ports to new version. - -- libunibreak `4.1` -> `4.2` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 - -- libusb `1.0.22-2` -> `1.0.22-3` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- libusbmuxd `1.0.107-2` -> `1.2.77` - - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 - -- libuv `1.29.0` -> `1.29.1` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 - -- libwebp `1.0.2-3` -> `1.0.2-6` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - - [(#6648)](https://github.com/Microsoft/vcpkg/pull/6648) [libwebp]Fix static build: add dependency libraries "dxguid winmm". - -- libwebsockets `3.1.0` -> `3.1.0-2` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - - [(#6855)](https://github.com/Microsoft/vcpkg/pull/6855) [libwebsockets] Fix build error on Linux - -- libxlsxwriter `0.8.6-1` -> `0.8.7-1` - - [(#7034)](https://github.com/Microsoft/vcpkg/pull/7034) [libxlsxwriter] upgrade to 0.8.7 - -- libxslt `1.1.29` -> `1.1.33` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#7058)](https://github.com/Microsoft/vcpkg/pull/7058) [libxslt] Update the version to 1.1.33 and change the URL. - -- libyaml `0.2.1-1` -> `0.2.2` - - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 - -- llvm `7.0.0-2` -> `7.0.0-3` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6631)](https://github.com/Microsoft/vcpkg/pull/6631) [llvm]Fix build error on x64-windows. - -- lmdb `0.9.23` -> `0.9.23-1` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- log4cplus `2.0.4` -> `2.0.4-1` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6930)](https://github.com/Microsoft/vcpkg/pull/6930) [log4cplus]Fix lnk2019 errors when using log4cplus. - -- lz4 `1.9.1-1` -> `1.9.1-2` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6735)](https://github.com/Microsoft/vcpkg/pull/6735) [lz4]Fix conflict file xxhash.h - -- magnum-extras `2019.01-1` -> `2019.01-2` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - - [(#6844)](https://github.com/Microsoft/vcpkg/pull/6844) [vcpkg] Add optional 'Homepage' field to CONTROL - -- magnum-integration `2019.01-1` -> `2019.01-2` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - - [(#6844)](https://github.com/Microsoft/vcpkg/pull/6844) [vcpkg] Add optional 'Homepage' field to CONTROL - -- mathgl `2.4.3` -> `2.4.3-1` - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- matroska `1.5.1` -> `1.5.2` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6662)](https://github.com/Microsoft/vcpkg/pull/6662) [ebml, matroska] Upgrade ebml to v1.3.9 and matroska to v1.5.2 - -- miniz `2.0.8` -> `2.1.0` - - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 - -- mlpack `3.1.0-1` -> `3.1.1` - - [(#6371)](https://github.com/Microsoft/vcpkg/pull/6371) [openexr,openimageio,suitesparse,theia] updates for non-win32 - - [(#6907)](https://github.com/Microsoft/vcpkg/pull/6907) [mlpack] Updated to version 3.1.1 - -- mongo-c-driver `1.13.0` -> `1.14.0-2` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - - [(#6862)](https://github.com/Microsoft/vcpkg/pull/6862) [libbson mongo-c-driver mongo-cxx-driver] upgrades to new revision - -- mongo-cxx-driver `3.2.0-2` -> `3.4.0-2` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - - [(#6862)](https://github.com/Microsoft/vcpkg/pull/6862) [libbson mongo-c-driver mongo-cxx-driver] upgrades to new revision - -- moos-core `10.4.0-2` -> `10.4.0-3` - - [(#6371)](https://github.com/Microsoft/vcpkg/pull/6371) [openexr,openimageio,suitesparse,theia] updates for non-win32 - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - - [(#6844)](https://github.com/Microsoft/vcpkg/pull/6844) [vcpkg] Add optional 'Homepage' field to CONTROL - -- mosquitto `1.5.0-3` -> `1.6.2-2` - - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - - [(#6844)](https://github.com/Microsoft/vcpkg/pull/6844) [vcpkg] Add optional 'Homepage' field to CONTROL - -- ms-angle `2018-04-18-1` -> `2018-04-18-2` - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- msix `MsixCoreInstaller-preview` -> `MsixCoreInstaller-preview-1` - - [(#7074)](https://github.com/Microsoft/vcpkg/pull/7074) [vcpkg_configure_cmake] Add NO_CHARSET_FLAG option - -- msmpi `10.0` -> `10.0-2` - - [(#6945)](https://github.com/Microsoft/vcpkg/pull/6945) [msmpi] Fix /MD for static libs. - -- nana `1.7.1` -> `1.7.1-1` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#7021)](https://github.com/Microsoft/vcpkg/pull/7021) [nana, fmi4cpp] Fix Visual Studio 2019 deprecates . - -- nanomsg `1.1.5` -> `1.1.5-1` - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- netcdf-c `4.7.0` -> `4.7.0-3` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6771)](https://github.com/Microsoft/vcpkg/pull/6771) [netcdf-c/hdf5] improve/correct linkage - - [(#6865)](https://github.com/Microsoft/vcpkg/pull/6865) [netcdf-c]Fix build error on linux. - - [(#6971)](https://github.com/Microsoft/vcpkg/pull/6971) [netcdf-c] Fix link error. - -- nlopt `2.6.1` -> `2.6.1-1` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - - [(#6739)](https://github.com/Microsoft/vcpkg/pull/6739) [protobuf] Update to 3.8.0 - -- nmslib `1.7.2-1` -> `1.7.3.6` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 - -- nrf-ble-driver `4.1.0` -> `4.1.1` - -- nvtt `2.1.0-3` -> `2.1.1` - - [(#6765)](https://github.com/Microsoft/vcpkg/pull/6765) [nvtt]Upgrade version to 2.1.1 and fix build error on windows. - -- octomap `cefed0c1d79afafa5aeb05273cf1246b093b771c-6` -> `2017-03-11-7` - - [(#6371)](https://github.com/Microsoft/vcpkg/pull/6371) [openexr,openimageio,suitesparse,theia] updates for non-win32 - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- ogre `1.11.3-4` -> `1.12.0-1` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 - -- oniguruma `6.9.2` -> `6.9.2-2` - - [(#6958)](https://github.com/Microsoft/vcpkg/pull/6958) [vcpkg] Add vcpkg_check_features - - [(#7091)](https://github.com/Microsoft/vcpkg/pull/7091) [vcpkg] Update vcpkg_check_features document - -- openblas `0.3.6-2` -> `0.3.6-4` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6371)](https://github.com/Microsoft/vcpkg/pull/6371) [openexr,openimageio,suitesparse,theia] updates for non-win32 - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- opencv `3.4.3-7` -> `3.4.3-9` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6000)](https://github.com/Microsoft/vcpkg/pull/6000) [LibLZMA] automatic configuration - - [(#6812)](https://github.com/Microsoft/vcpkg/pull/6812) [opencv] Fixed OpenCV versioning using wrong commit - - [(#6901)](https://github.com/Microsoft/vcpkg/pull/6901) [opencv]Fix build error with feature gdcm: cannot find openjp2. - -- openexr `2.3.0-3` -> `2.3.0-4` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6371)](https://github.com/Microsoft/vcpkg/pull/6371) [openexr,openimageio,suitesparse,theia] updates for non-win32 - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- openmama `6.2.3` -> `6.2.3-1` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- openmvg `1.4-2` -> `1.4-5` - - [(#6371)](https://github.com/Microsoft/vcpkg/pull/6371) [openexr,openimageio,suitesparse,theia] updates for non-win32 - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- openmvs `0.9` -> `1.0-1` - - [(#6692)](https://github.com/Microsoft/vcpkg/pull/6692) update to v1.0 - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- openni2 `2.2.0.33-8` -> `2.2.0.33-9` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- openssl `0` -> `1` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- opentracing `1.5.1` -> `1.5.1-1` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - - [(#6844)](https://github.com/Microsoft/vcpkg/pull/6844) [vcpkg] Add optional 'Homepage' field to CONTROL - -- openvdb `6.0.0-2` -> `6.1.0` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6864)](https://github.com/Microsoft/vcpkg/pull/6864) [openvdb]Upgrade version to 6.1.0, regenerate patches and fix build errors. - -- openvpn3 `2018-03-21` -> `2018-03-21-1` - - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 - -- openvr `1.1.3b` -> `1.4.18` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 - -- opusfile `0.11-2` -> `0.11-3` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- orc `1.5.5` -> `1.5.5-1` - - [(#6739)](https://github.com/Microsoft/vcpkg/pull/6739) [protobuf] Update to 3.8.0 - -- orocos-kdl `1.4` -> `1.4-1` - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- osi `0.108.4` -> `0.108.4-2` - - [(#6371)](https://github.com/Microsoft/vcpkg/pull/6371) [openexr,openimageio,suitesparse,theia] updates for non-win32 - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- paho-mqtt `1.2.1-1` -> `1.3.0` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6762)](https://github.com/Microsoft/vcpkg/pull/6762) [paho-mqtt] Upgrade to 1.3.0 - -- pango `1.40.11-3` -> `1.40.11-4` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6671)](https://github.com/Microsoft/vcpkg/pull/6671) [pango/gtk]Fix build error C2001. - -- pangolin `0.5-6` -> `0.5-7` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- parallel-hashmap `1.22` -> `1.23` - - [(#6917)](https://github.com/Microsoft/vcpkg/pull/6917) [parallel-hashmap] Update to current 1.23 version and include natvis file. - -- pcl `1.9.1-3` -> `1.9.1-4` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- pdal `1.7.1-4` -> `1.7.1-5` - - [(#6000)](https://github.com/Microsoft/vcpkg/pull/6000) [LibLZMA] automatic configuration - - [(#6603)](https://github.com/Microsoft/vcpkg/pull/6603) [pdal] delete and replace different find modules - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- pdcurses `3.6` -> `3.8` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 - -- poco `2.0.0-pre-1` -> `2.0.0-pre-2` - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - - [(#6844)](https://github.com/Microsoft/vcpkg/pull/6844) [vcpkg] Add optional 'Homepage' field to CONTROL - -- podofo `0.9.6-6` -> `0.9.6-7` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6000)](https://github.com/Microsoft/vcpkg/pull/6000) [LibLZMA] automatic configuration - -- proj4 `4.9.3-1` -> `4.9.3-3` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6000)](https://github.com/Microsoft/vcpkg/pull/6000) [LibLZMA] automatic configuration - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- prometheus-cpp `0.6.0` -> `0.7.0` - - [(#6822)](https://github.com/Microsoft/vcpkg/pull/6822) [prometheus-cpp] Update to version 0.7.0 - -- protobuf `3.7.1` -> `3.8.0-1` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - - [(#6739)](https://github.com/Microsoft/vcpkg/pull/6739) [protobuf] Update to 3.8.0 - -- pugixml `1.9-1` -> `1.9-2` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- qca `2.2.0-4` -> `2.2.1` - - [(#6839)](https://github.com/Microsoft/vcpkg/pull/6839) [qca]Upgrade version to 2.2.1 and fix build error. - - [(#6844)](https://github.com/Microsoft/vcpkg/pull/6844) [vcpkg] Add optional 'Homepage' field to CONTROL - -- qt5-base `5.12.3-1` -> `5.12.3-2` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - - [(#7019)](https://github.com/Microsoft/vcpkg/pull/7019) [qt5-base]Add execute permission when installing executables in Linux. - -- qt5-declarative `5.12.3` -> `5.12.3-1` - - [(#6927)](https://github.com/Microsoft/vcpkg/pull/6927) [qt5-declarative]Fix error when building release-only. - -- re2 `2019-05-07` -> `2019-05-07-1` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- realsense2 `2.16.1-2` -> `2.22.0-1` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#5275)](https://github.com/Microsoft/vcpkg/pull/5275) [realsense2] Enable OpenNI2 driver option - - [(#5777)](https://github.com/Microsoft/vcpkg/pull/5777) [realsense2] Update to v2.19.0 - -- reproc `6.0.0` -> `6.0.0-1` - - [(#6711)](https://github.com/Microsoft/vcpkg/pull/6711) [reproc] Enabled C++ target for version 6.0.0. - -- restinio `0.4.9` -> `0.5.1-1` - - [(#6669)](https://github.com/Microsoft/vcpkg/pull/6669) RESTinio updated to v.0.4.9.1 - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - - [(#6749)](https://github.com/Microsoft/vcpkg/pull/6749) RESTinio updated to v.0.5.0 - - [(#6933)](https://github.com/Microsoft/vcpkg/pull/6933) RESTinio updated to v.0.5.1 - -- robin-map `0.2.0` -> `0.6.1` - - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 - -- rtmidi `2.1.1-2` -> `4.0.0` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6635)](https://github.com/Microsoft/vcpkg/pull/6635) [rtmidi] Update to version 4.0.0 - -- sdl2 `2.0.9-3` -> `2.0.9-4` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- sdl2-image `2.0.4-2` -> `2.0.4-3` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- sdl2-mixer `2.0.4-2` -> `2.0.4-3` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - - [(#6929)](https://github.com/Microsoft/vcpkg/pull/6929) [sdl2-mixer]Fix build error with feature opusfile. - -- sdl2-net `2.0.1-6` -> `2.0.1-7` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- sdl2-ttf `2.0.15-2` -> `2.0.15-3` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- selene `0.3.1` -> `0.3.1-1` - - [(#6000)](https://github.com/Microsoft/vcpkg/pull/6000) [LibLZMA] automatic configuration - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- sf2cute `0.2.0` -> `0.2.0-1` - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- shaderc `12fb656ab20ea9aa06e7084a74e5ff832b7ce2da-2` -> `2019-06-26` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6689)](https://github.com/Microsoft/vcpkg/pull/6689) [shaderc] update - -- shiva `1.0` -> `1.0-2` - - [(#6000)](https://github.com/Microsoft/vcpkg/pull/6000) [LibLZMA] automatic configuration - - [(#6637)](https://github.com/Microsoft/vcpkg/pull/6637) [shiva] Fix build error "Could NOT find PythonInterp" - -- shogun `6.1.3-1` -> `6.1.3-3` - - [(#6371)](https://github.com/Microsoft/vcpkg/pull/6371) [openexr,openimageio,suitesparse,theia] updates for non-win32 - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - - [(#6739)](https://github.com/Microsoft/vcpkg/pull/6739) [protobuf] Update to 3.8.0 - - [(#6872)](https://github.com/Microsoft/vcpkg/pull/6872) set CMAKE_SYSTEM_PROCESSOR in Linux - -- sndfile `1.0.29-cebfdf2-1` -> `0` - - [(#6371)](https://github.com/Microsoft/vcpkg/pull/6371) [openexr,openimageio,suitesparse,theia] updates for non-win32 - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - - [(#6896)](https://github.com/Microsoft/vcpkg/pull/6896) [sndfile/libsndfile] remove duplicate port, forward to libsndfile - -- snowhouse `3.0.1` -> `3.1.0` - - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 - -- so5extra `1.2.3` -> `1.2.3-1` - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- sobjectizer `5.5.24.4` -> `5.5.24.4-1` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- sol2 `2.20.6` -> `3.0.2` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 - -- sophus `1.0.0-1` -> `1.0.0-6` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - - [(#6371)](https://github.com/Microsoft/vcpkg/pull/6371) [openexr,openimageio,suitesparse,theia] updates for non-win32 - -- spdlog `1.3.1` -> `1.3.1-1` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6924)](https://github.com/Microsoft/vcpkg/pull/6924) [spdlog]Add feature[benchmark] - -- spirv-cross `2018-08-07-1` -> `2019-05-09` - - [(#6690)](https://github.com/Microsoft/vcpkg/pull/6690) update spirv cross - -- spirv-headers `2019-03-05` -> `2019-05-05` - - [(#6689)](https://github.com/Microsoft/vcpkg/pull/6689) [shaderc] update - -- spirv-tools `2018.1-2` -> `2019.3-dev` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6689)](https://github.com/Microsoft/vcpkg/pull/6689) [shaderc] update - -- sqlite-modern-cpp `3.2-e2248fa` -> `3.2-936cd0c8` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 - -- sqlite-orm `1.3` -> `1.3-1` - - [(#6894)](https://github.com/Microsoft/vcpkg/pull/6894) [sqlite-orm] fix tag, update hash - -- sqlite3 `3.27.2` -> `3.28.0-1` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6856)](https://github.com/Microsoft/vcpkg/pull/6856) [sqlite3]: Switch back to CMAKE_SYSTEM_NAME checks per original PR - - [(#6856)](https://github.com/Microsoft/vcpkg/pull/6856) [sqlite3]: Shared library support for Linux - - [(#6921)](https://github.com/Microsoft/vcpkg/pull/6921) [sqlite3] Update to 3.28.0 - -- sqlitecpp `2.2-2` -> `2.3.0` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 - -- strict-variant `v0.5` -> `0.5` - - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 - -- string-theory `2.1` -> `2.1-1` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- suitesparse `5.1.2-2` -> `5.4.0-3` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6371)](https://github.com/Microsoft/vcpkg/pull/6371) [openexr,openimageio,suitesparse,theia] updates for non-win32 - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- systemc `2.3.3-2` -> `2.3.3-3` - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- szip `2.1.1-3` -> `2.1.1-4` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- taglib `1.11.1-4` -> `1.11.1-20190531` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6851)](https://github.com/Microsoft/vcpkg/pull/6851) [taglib]Upgrade version to 1.11.1-20190531. - -- tbb `2019_U6` -> `2019_U7` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 - -- tesseract `4.0.0-1` -> `4.0.0-3` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6000)](https://github.com/Microsoft/vcpkg/pull/6000) [LibLZMA] automatic configuration - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- theia `0.8` -> `0.8-2` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6371)](https://github.com/Microsoft/vcpkg/pull/6371) [openexr,openimageio,suitesparse,theia] updates for non-win32 - -- thor `2.0-2` -> `2.0-3` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6953)](https://github.com/Microsoft/vcpkg/pull/6953) [thor] Fix error on Linux. - -- thrift `2019-05-07` -> `2019-05-07-2` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - - [(#6872)](https://github.com/Microsoft/vcpkg/pull/6872) set CMAKE_SYSTEM_PROCESSOR in Linux - - [(#7074)](https://github.com/Microsoft/vcpkg/pull/7074) [vcpkg_configure_cmake] Add NO_CHARSET_FLAG option - -- tidy-html5 `5.6.0` -> `5.6.0-1` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#7074)](https://github.com/Microsoft/vcpkg/pull/7074) [vcpkg_configure_cmake] Add NO_CHARSET_FLAG option - -- tiff `4.0.10-4` -> `4.0.10-6` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6000)](https://github.com/Microsoft/vcpkg/pull/6000) [LibLZMA] automatic configuration - -- tinyexif `1.0.2-4` -> `1.0.2-5` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- tinyobjloader `1.4.1-1` -> `1.0.7-1` - - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- tinyxml2 `7.0.1` -> `7.0.1-1` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- tl-expected `0.3-1` -> `1.0.0-1` - - [(#7028)](https://github.com/Microsoft/vcpkg/pull/7028) [tl] Update tl::expected and tl::optional, add tl::function_ref - -- tl-optional `0.5-1` -> `1.0.0-1` - - [(#7028)](https://github.com/Microsoft/vcpkg/pull/7028) [tl] Update tl::expected and tl::optional, add tl::function_ref - -- tmx `1.0.0` -> `1.0.0-1` - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- treehopper `1.11.3-2` -> `1.11.3-3` - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - - [(#6844)](https://github.com/Microsoft/vcpkg/pull/6844) [vcpkg] Add optional 'Homepage' field to CONTROL - -- trompeloeil `34` -> `34-1` - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - - [(#6844)](https://github.com/Microsoft/vcpkg/pull/6844) [vcpkg] Add optional 'Homepage' field to CONTROL - -- umock-c `2019-05-16` -> `2019-05-16.1` - - [(#6804)](https://github.com/Microsoft/vcpkg/pull/6804) [azure] Update azure-iot-sdk-c for public-preview release of 2019-05-16 - -- urdfdom `1.0.3` -> `1.0.3-1` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- urdfdom-headers `1.0.3` -> `1.0.4-1` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- usd `0.8.4` -> `0.8.4-1` - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- uvatlas `sept2016-1` -> `apr2019` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 - -- uvw `1.17.0_libuv-v1.29` -> `1.17.0_libuv-v1.29-1` - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - - [(#6844)](https://github.com/Microsoft/vcpkg/pull/6844) [vcpkg] Add optional 'Homepage' field to CONTROL - -- visit-struct `1.0` -> `1.0-1` - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- vlpp `0.9.3.1-2` -> `0.10.0.0` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6793)](https://github.com/Microsoft/vcpkg/pull/6793) [vlpp] Upgrade to 0.10.0.0 - -- vtk `8.2.0-2` -> `8.2.0-4` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6782)](https://github.com/Microsoft/vcpkg/pull/6782) [vtk] fix static hdf5 linkage. - -- vxl `v1.18.0-3` -> `v1.18.0-4` - - [(#6657)](https://github.com/Microsoft/vcpkg/pull/6657) [vxl] move problematic feature to optional one - -- wangle `2019.05.13.00` -> `2019.05.20.00-1` - - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- wil `2019-05-08` -> `2019-06-10` - - [(#6847)](https://github.com/Microsoft/vcpkg/pull/6847) Update commit for WIL - -- wt `4.0.5` -> `4.0.5-1` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - - [(#6925)](https://github.com/Microsoft/vcpkg/pull/6925) [wt] Fix XML file installation path - -- xerces-c `3.2.2-9` -> `3.2.2-10` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6970)](https://github.com/Microsoft/vcpkg/pull/6970) [xerces-c]Replace the macro DLL_EXPORT with the macro XERCES_DLL_EXPORT - -- xeus `0.19.1-1` -> `0.19.2` - - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 - -- xsimd `7.2.3` -> `7.2.3-1` - - [(#7091)](https://github.com/Microsoft/vcpkg/pull/7091) [vcpkg] Update vcpkg_check_features document - -- xtensor `0.20.7` -> `0.20.7-1` - - [(#6958)](https://github.com/Microsoft/vcpkg/pull/6958) [vcpkg] Add vcpkg_check_features - -- xxhash `0.6.4-1` -> `0.7.0` - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports - - [(#6750)](https://github.com/Microsoft/vcpkg/pull/6750) [xxhash]Upgrade version to 0.7.0 and fix arm/uwp build errors. - -- z3 `4.8.4-1` -> `4.8.5-1` - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - - [(#6803)](https://github.com/Microsoft/vcpkg/pull/6803) [z3] bump version to 4.8.5 - -- zopfli `2019-01-19` -> `2019-01-19-1` - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- zserge-webview `2019-04-27-1` -> `2019-04-27-2` - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - -- zxing-cpp `3.3.3-3` -> `3.3.3-5` - - [(#6371)](https://github.com/Microsoft/vcpkg/pull/6371) [openexr,openimageio,suitesparse,theia] updates for non-win32 - - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl - - [(#6779)](https://github.com/Microsoft/vcpkg/pull/6779) [zxing-cpp] Fixed renaming zxing` -> `zxing-cpp` - -- zziplib `0.13.69-3` -> `0.13.69-4` - - [(#7090)](https://github.com/Microsoft/vcpkg/pull/7090) [zziplib] fix flaky build - - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports -
- --- vcpkg team vcpkg@microsoft.com WED, 16 Jul 2019 05:17:00 -0800 - -vcpkg (2018.11.23) --------------- - * Add ports: - - aixlog 1.2.1 - - civetweb 1.11-1 - - cli11 1.6.1 - - cub 1.8.0 - - cutelyst2 2.5.2-1 - - easyloggingpp 9.96.5-1 - - ecsutil 1.0.1.2-1 - - fdlibm 5.3-2 - - fizz 2018.10.15.00 - - fmi4cpp 0.4.0 - - fribidi 1.0.5 - - glad 0.1.28-3 - - igloo 1.1.1 - - libtins 4.0-2 - - linalg 2.1 - - miniupnpc 2.1 - - nanovg master - - orc 1.5.2-f47e02c-2 - - pixel 0.3 - - plustache 0.4.0-1 - - prometheus-cpp 0.6.0 - - rapidcheck 2018-11-05-1 - - reproc v1.0.0 - - sdl1 1.2.15-3 - - sdl1-net 1.2.8-2 - - snowhouse 3.0.1 - - so5extra 1.2.1 - - socket-io-client 1.6.1 - - stlab 1.3.3 - - tl-optional 0.5-1 - - trompeloeil 32-1 - - vulkan 1.1.82.1 - * Update ports: - - abseil 2018-09-18-3 -> 2018-11-08 - - args 2018-06-28 -> 2018-10-25 - - asio 1.12.1 -> 1.12.1-1 - - asmjit 673dcefaa048c5f5a2bf8b85daf8f7b9978d018a -> 2018-11-08 - - assimp 4.1.0-2 -> 4.1.0-3 - - aws-sdk-cpp 1.6.12-1 -> 1.6.47 - - azure-c-shared-utility 1.1.5 -> 1.1.10-1 - - azure-iot-sdk-c 1.2.3 -> 1.2.10-1 - - azure-storage-cpp 5.1.1 -> 5.2.0 - - azure-uamqp-c 1.2.3 -> 1.2.10-1 - - azure-uhttp-c LTS_01_2018_Ref01 -> 1.1.10-1 - - azure-umqtt-c 1.1.5 -> 1.1.10-1 - - berkeleydb 4.8.30 -> 4.8.30-2 - - boost-modular-build-helper 2018-08-21 -> 2018-10-19 - - brynet 0.9.0 -> 1.0.0 - - bzip2 1.0.6-2 -> 1.0.6-3 - - c-ares cares-1_14_0 -> cares-1_15_0 - - catch2 2.4.0 -> 2.4.2 - - celero 2.3.0-1 -> 2.4.0 - - cgal 4.13-1 -> 4.13-2 - - chakracore 1.11.1-1 -> 1.11.2 - - cimg 2.3.6 -> 2.4.1 - - clara 2018-04-02 -> 2018-11-01 - - corrade 2018.04-1 -> 2018.10-1 - - cpprestsdk 2.10.6-1 -> 2.10.6-3 - - cxxopts 2.1.0-1 -> 2.1.1 - - dimcli 3.1.1-2 -> 4.0.1-1 - - directxmesh aug2018 -> oct2018 - - directxtex aug2018b -> oct2018 - - directxtk aug2018 -> oct2018b - - doctest 2.0.0 -> 2.0.1 - - double-conversion 3.1.0 -> 3.1.0-1 - - eastl 3.12.01 -> 3.12.04 - - egl-registry 2018-06-30 -> 2018-06-30-1 - - entityx 1.2.0-1 -> 1.2.0-2 - - entt 2.7.3 -> 2.7.3-1 - - exiv2 2018-09-18 -> 2018-11-08 - - exprtk 2018.09.30-9836f21 -> 2018-10-11 - - fastcdr 1.0.6-1 -> 1.0.6-2 - - fftw3 3.3.7-2 -> 3.3.8 - - flann 1.9.1-7 -> 1.9.1-8 - - fmt 5.2.0 -> 5.2.1 - - folly 2018.09.17.00 -> 2018.11.05.00 - - forest 9.0.5 -> 9.0.6 - - freeimage 3.17.0-4 -> 3.18.0-2 - - gdcm2 2.8.7 -> 2.8.8 - - glm 0.9.9.2 -> 0.9.9.3 - - google-cloud-cpp 0.1.0-1 -> 0.3.0-1 - - gtest 1.8.0-9 -> 1.8.1-1 - - gtk 3.22.19-1 -> 3.22.19-2 - - hunspell 1.6.1-2 -> 1.6.1-3 - - jsonnet 2018-09-18 -> 2018-11-01 - - libfreenect2 0.2.0 -> 0.2.0-1 - - libgd 2.2.4-3 -> 2.2.4-4 - - libgeotiff 1.4.2-4 -> 1.4.2-6 - - liblinear 2.20 -> 221 - - libpng 1.6.35 -> 1.6.35-1 - - libpq 9.6.1-4 -> 9.6.1-5 - - libusb 1.0.21-fc99620 -> 1.0.22-1 - - libuv 1.23.0 -> 1.24.0 - - libwebm 1.0.0.27-2 -> 1.0.0.27-3 - - magnum 2018.04-1 -> 2018.10-1 - - magnum-extras 2018.04-1 -> 2018.10-1 - - magnum-integration 2018.04-1 -> 2018.10-1 - - magnum-plugins 2018.04-1 -> 2018.10-1 - - matio 1.5.12 -> 1.5.13 - - metis 5.1.0-1 -> 5.1.0-2 - - minizip 1.2.11-2 -> 1.2.11-3 - - mpir 3.0.0-4 -> 3.0.0-5 - - ms-gsl 2018-09-18 -> 2018-11-08 - - nghttp2 1.33.0 -> 1.34.0 - - nlohmann-json 3.3.0 -> 3.4.0 - - nng 1.0.1 -> 1.1.0 - - nuklear 2018-09-18 -> 2018-11-01 - - openal-soft 1.19.0 -> 1.19.1 - - opencv 3.4.1 -> 3.4.3-3 - - opengl-registry 2018-06-30 -> 2018-06-30-1 - - openimageio Release-1.8.13 -> 1.8.16 - - openssl-unix 1.0.2p -> 1.0.2p-1 - - opus 1.2.1-1 -> 1.3 - - osgearth 2.9-1 -> 2.9-2 - - pcl 1.8.1-12 -> 1.9.0-1 - - pixman 0.34.0-4 -> 0.34.0-5 - - portaudio 19.0.6.00-2 -> 19.0.6.00-4 - - qhull 2015.2-2 -> 2015.2-3 - - qscintilla 2.10-4 -> 2.10-7 - - qt5 5.9.2-1 -> 5.11.2 - - qt5-3d 5.9.2-0 -> 5.11.2 - - qt5-activeqt 5.9.2-0 -> 5.11.2 - - qt5-base 5.9.2-7 -> 5.11.2-1 - - qt5-charts 5.9.2-0 -> 5.11.2 - - qt5-datavis3d 5.9.2-0 -> 5.11.2 - - qt5-declarative 5.9.2-0 -> 5.11.2 - - qt5-gamepad 5.9.2-0 -> 5.11.2 - - qt5-graphicaleffects 5.9.2-0 -> 5.11.2 - - qt5-imageformats 5.9.2-0 -> 5.11.2 - - qt5-modularscripts 4 -> 2018-11-01-1 - - qt5-multimedia 5.9.2-0 -> 5.11.2 - - qt5-networkauth 5.9.2-0 -> 5.11.2 - - qt5-quickcontrols 5.9.2-1 -> 5.11.2 - - qt5-quickcontrols2 5.9.2-1 -> 5.11.2 - - qt5-script 5.9.2 -> 5.11.2 - - qt5-scxml 5.9.2-0 -> 5.11.2 - - qt5-serialport 5.9.2-0 -> 5.11.2 - - qt5-speech 5.9.2-0 -> 5.11.2 - - qt5-svg 5.9.2-0 -> 5.11.2 - - qt5-tools 5.9.2-0 -> 5.11.2 - - qt5-virtualkeyboard 5.9.2-0 -> 5.11.2 - - qt5-websockets 5.9.2-0 -> 5.11.2 - - qt5-winextras 5.9.2-0 -> 5.11.2 - - qt5-xmlpatterns 5.9.2-0 -> 5.11.2 - - qwt 6.1.3-5 -> 6.1.3-6 - - range-v3 0.3.5 -> 0.4.0-20181122 - - rapidjson 1.1.0-1 -> 1.1.0-2 - - re2 2018-09-18 -> 2018-11-01 - - rocksdb 5.14.2 -> 5.15.10 - - rs-core-lib 2018-09-18 -> 2018-10-25 - - rttr 0.9.5-2 -> 0.9.5-3 - - scintilla 4.0.3 -> 4.1.2 - - sdl2 2.0.8-1 -> 2.0.9-1 - - sfml 2.5.0-2 -> 2.5.1 - - sobjectizer 5.5.22.1 -> 5.5.23 - - spdlog 1.0.0 -> 1.2.1 - - sqlite3 3.24.0-1 -> 3.25.2 - - suitesparse 4.5.5-4 -> 5.1.2 - - tbb 2018_U5-4 -> 2018_U6 - - thrift 2018-09-18 -> 2018-11-01 - - tiff 4.0.9-4 -> 4.0.10 - - tiny-dnn 2018-09-18 -> 2018-10-25 - - unicorn 2018-09-18 -> 2018-10-25 - - unicorn-lib 2018-09-18 -> 2018-10-25 - - uriparser 0.8.6 -> 0.9.0 - - vtk 8.1.0-1 -> 8.1.0-3 - - vxl 20180414-7a130cf-1 -> v1.18.0-2 - - wangle v2018.07.30.00-1 -> 2018.11.05.00 - - websocketpp 0.7.0-1 -> 0.8.1 - - winpcap 4.1.3-1 -> 4.1.3-2 - - xalan-c 1.11-1 -> 1.11-4 - - xerces-c 3.1.4-3 -> 3.2.2-5 - - yoga 1.9.0 -> 1.10.0 - - zeromq 2018-09-18 -> 2018-11-01 - * `vcpkg install`: Improve error messages - * `vcpkg hash`: Now also tries `shaABCsum tools`, instead of only `shasum`. Allows building in OSes like Alpine. - * `vcpkg edit`: No longer launches the editor in a clean (purged) environment. - * `vcpkg upgrade`: now tab-completed in powershell (it was missing before). - * Add new function: `vcpkg_from_git()` - * Enable Visual Studio versions greater than 15. - * Add Visual Studio Code autotection on OSX (#4589) - * Work-around hash issue caused by NuGet adding signatures to all their files. - * Improve building `vcpkg.exe` (Windows-only): - - Builds out of source - - Temporary files are removed after bootstrap - - User Property Pages are ignored (#4620) - * `vcpkg` now prints URL and filepath, when downloading a tool (#4640) - * Bump version of `cmake` to 3.12.4 - * Bump version of `git` to 2.9.1 - --- vcpkg team FRI, 23 Nov 2018 14:30:00 -0800 - - -vcpkg (2018.10.20) --------------- - * Add ports: - - 3fd 2.6.2 - - argtable2 2.13-1 - - asyncplusplus 1.0-1 - - bde 3.2.0.0 - - boost-hana-msvc 1.67.0-1 - - boost-yap 1.68.0 - - check 0.12.0-1 - - concurrentqueue 1.0.0-beta - - crossguid 0.2.2-2018-06-16 - - darts-clone 1767ab87cffe - - dcmtk 3.6.3 - - docopt 2018-04-16-2 - - egl-registry 2018-06-30 - - embree2 2.16.4-3 - - embree3 3.2.0-2 - - esaxx ca7cb332011ec37 - - fastfeat 391d5e9 - - fmilib 2.0.3 - - fruit 3.4.0-1 - - getopt 0 - - getopt-win32 0.1 - - gmmlib 18.3.pre2-1 - - graphqlparser v0.7.0 - - ideviceinstaller 1.1.2.23-1 - - idevicerestore 1.0.12-1 - - inih 42 - - intelrdfpmathlib 20U2 - - io2d 0.1-1 - - json11 2017-06-20 - - kangaru 4.1.2 - - kf5archive 5.50.0 - - kf5holidays 5.50.0 - - laszip 3.2.2-1 - - libdshowcapture 0.6.0 - - libideviceactivation 1.0.38-1 - - libimobiledevice 1.2.1.215-1 - - libirecovery 1.0.25-2 - - liblemon 1.3.1-2 - - libmaxminddb 1.3.2-1 - - libmodbus 3.1.4-1 - - libmorton 2018-19-07 - - libplist 2.0.1.197-2 - - libusbmuxd 1.0.107-2 - - libyaml 0.2.1-1 - - linenoise-ng 4754bee2d8eb3 - - luabridge 2.1-1 - - milerius-sfml-imgui 1.1 - - minisat-master-keying 2.2-mod-1 - - mio 2018-10-18-1 - - modp-base64 - - morton-nd 2.0.0 - - nanorange 0.0.0 - - nng 1.0.1 - - ogdf 2018-03-28-2 - - opengl-registry 2018-06-30 - - openssl-unix 1.0.2p - - openssl-uwp 1.0.2l-winrt - - openssl-windows 1.0.2p-1 - - osg-qt 3.5.7 - - parquet 1.4.0 - - pcg 0.98.1 - - pegtl 2.7.1 - - plib 1.8.5-2 - - pngwriter 0.7.0-1 - - python2 2.7.15-1 - - qt5-activeqt 5.9.2-0 - - qt5-script 5.9.2 - - readerwriterqueue 1.0.0 - - readline 0 - - readline-win32 5.0-2 - - restbed 4.16-07-28-2018 - - safeint 3.19.2 - - sais 2.4.1 - - selene 0.1.1 - - shiva 1.0 - - shiva-sfml 1.0 - - simpleini 2018-08-31-1 - - soil 2008.07.07-1 - - sol2 2.20.4 - - spaceland 7.8.2-0 - - spirv-cross 2018-08-07-1 - - tinyfiledialogs 3.3.7-1 - - tinyobjloader 1.2.0-1 - - tinyspline 0.2.0-1 - - tinyutf8 2.1.1-1 - - tl-expected 0.3-1 - - tmx 1.0.0 - - tmxparser 2.1.0-1 - - usbmuxd 1.1.1.133-1 - - usrsctp 35c1d97020a - - uvw 1.11.2 - - vtk-dicom 0.8.8-alpha-1 - - vulkan-memory-allocator 2.1.0-1 - - wangle v2018.07.30.00-1 - - woff2 1.0.2 - * Update ports: - - abseil 2018-05-01-1 -> 2018-09-18-3 - - ace 6.4.8 -> 6.5.2 - - alembic 1.7.8 -> 1.7.9 - - allegro5 5.2.3.0 -> 5.2.4.0 - - angle 2017-06-14-8d471f-4 -> 2017-06-14-8d471f-5 - - apr 1.6.3 -> 1.6.5 - - args 2018-05-17 -> 2018-06-28 - - arrow 0.6.0-1 -> 0.9.0-1 - - asio 1.12.0-2 -> 1.12.1 - - assimp 4.1.0-1 -> 4.1.0-2 - - aws-sdk-cpp 1.4.52 -> 1.6.12-1 - - azure-c-shared-utility 1.1.3 -> 1.1.5 - - azure-storage-cpp 4.0.0 -> 5.1.1 - - azure-uhttp-c 2018-02-09 -> LTS_01_2018_Ref01 - - azure-umqtt-c 1.1.3 -> 1.1.5 - - benchmark 1.4.0 -> 1.4.1 - - blaze 3.3 -> 3.4-1 - - boost 1.67.0 -> 1.68.0 - - boost-accumulators 1.67.0 -> 1.68.0 - - boost-algorithm 1.67.0 -> 1.68.0 - - boost-align 1.67.0 -> 1.68.0 - - boost-any 1.67.0 -> 1.68.0 - - boost-array 1.67.0 -> 1.68.0 - - boost-asio 1.67.0-1 -> 1.68.0-1 - - boost-assert 1.67.0 -> 1.68.0 - - boost-assign 1.67.0 -> 1.68.0 - - boost-atomic 1.67.0 -> 1.68.0 - - boost-beast 1.67.0 -> 1.68.0 - - boost-bimap 1.67.0 -> 1.68.0 - - boost-bind 1.67.0 -> 1.68.0 - - boost-build 1.67.0 -> 1.68.0 - - boost-callable-traits 1.67.0 -> 1.68.0 - - boost-chrono 1.67.0 -> 1.68.0 - - boost-circular-buffer 1.67.0 -> 1.68.0 - - boost-compatibility 1.67.0 -> 1.68.0 - - boost-compute 1.67.0 -> 1.68.0 - - boost-concept-check 1.67.0 -> 1.68.0 - - boost-config 1.67.0 -> 1.68.0 - - boost-container 1.67.0 -> 1.68.0 - - boost-container-hash 1.67.0 -> 1.68.0 - - boost-context 1.67.0 -> 1.68.0-1 - - boost-contract 1.67.0 -> 1.68.0 - - boost-conversion 1.67.0 -> 1.68.0 - - boost-convert 1.67.0 -> 1.68.0 - - boost-core 1.67.0 -> 1.68.0 - - boost-coroutine 1.67.0 -> 1.68.0 - - boost-coroutine2 1.67.0 -> 1.68.0 - - boost-crc 1.67.0 -> 1.68.0 - - boost-date-time 1.67.0 -> 1.68.0 - - boost-detail 1.67.0 -> 1.68.0 - - boost-di 1.0.1 -> 1.0.2 - - boost-disjoint-sets 1.67.0 -> 1.68.0 - - boost-dll 1.67.0 -> 1.68.0 - - boost-dynamic-bitset 1.67.0 -> 1.68.0 - - boost-endian 1.67.0 -> 1.68.0 - - boost-exception 1.67.0 -> 1.68.0 - - boost-fiber 1.67.0 -> 1.68.0 - - boost-filesystem 1.67.0 -> 1.68.0 - - boost-flyweight 1.67.0 -> 1.68.0 - - boost-foreach 1.67.0 -> 1.68.0 - - boost-format 1.67.0 -> 1.68.0 - - boost-function 1.67.0 -> 1.68.0 - - boost-function-types 1.67.0 -> 1.68.0 - - boost-functional 1.67.0 -> 1.68.0 - - boost-fusion 1.67.0 -> 1.68.0 - - boost-geometry 1.67.0 -> 1.68.0 - - boost-gil 1.67.0 -> 1.68.0 - - boost-graph 1.67.0 -> 1.68.0 - - boost-graph-parallel 1.67.0 -> 1.68.0 - - boost-hana 1.67.0 -> 1.68.0-1 - - boost-heap 1.67.0 -> 1.68.0 - - boost-hof 1.67.0 -> 1.68.0 - - boost-icl 1.67.0 -> 1.68.0 - - boost-integer 1.67.0 -> 1.68.0 - - boost-interprocess 1.67.0 -> 1.68.0 - - boost-interval 1.67.0 -> 1.68.0 - - boost-intrusive 1.67.0 -> 1.68.0 - - boost-io 1.67.0 -> 1.68.0 - - boost-iostreams 1.67.0 -> 1.68.0 - - boost-iterator 1.67.0 -> 1.68.0 - - boost-lambda 1.67.0 -> 1.68.0 - - boost-lexical-cast 1.67.0 -> 1.68.0 - - boost-local-function 1.67.0 -> 1.68.0 - - boost-locale 1.67.0 -> 1.68.0 - - boost-lockfree 1.67.0 -> 1.68.0-1 - - boost-log 1.67.0 -> 1.68.0 - - boost-logic 1.67.0 -> 1.68.0 - - boost-math 1.67.0 -> 1.68.0 - - boost-metaparse 1.67.0 -> 1.68.0 - - boost-modular-build-helper 2018-05-14 -> 2018-08-21 - - boost-move 1.67.0 -> 1.68.0 - - boost-mp11 1.67.0 -> 1.68.0 - - boost-mpi 1.67.0-1 -> 1.68.0-1 - - boost-mpl 1.67.0 -> 1.68.0 - - boost-msm 1.67.0 -> 1.68.0 - - boost-multi-array 1.67.0 -> 1.68.0 - - boost-multi-index 1.67.0 -> 1.68.0 - - boost-multiprecision 1.67.0 -> 1.68.0 - - boost-numeric-conversion 1.67.0 -> 1.68.0 - - boost-odeint 1.67.0 -> 1.68.0 - - boost-optional 1.67.0 -> 1.68.0 - - boost-parameter 1.67.0 -> 1.68.0 - - boost-phoenix 1.67.0 -> 1.68.0 - - boost-poly-collection 1.67.0 -> 1.68.0 - - boost-polygon 1.67.0 -> 1.68.0 - - boost-pool 1.67.0 -> 1.68.0 - - boost-predef 1.67.0 -> 1.68.0 - - boost-preprocessor 1.67.0 -> 1.68.0 - - boost-process 1.67.0 -> 1.68.0 - - boost-program-options 1.67.0 -> 1.68.0 - - boost-property-map 1.67.0 -> 1.68.0 - - boost-property-tree 1.67.0 -> 1.68.0 - - boost-proto 1.67.0 -> 1.68.0 - - boost-ptr-container 1.67.0 -> 1.68.0 - - boost-python 1.67.0-1 -> 1.68.0-2 - - boost-qvm 1.67.0 -> 1.68.0 - - boost-random 1.67.0 -> 1.68.0 - - boost-range 1.67.0 -> 1.68.0 - - boost-ratio 1.67.0 -> 1.68.0 - - boost-rational 1.67.0 -> 1.68.0 - - boost-regex 1.67.0 -> 1.68.0 - - boost-scope-exit 1.67.0 -> 1.68.0 - - boost-serialization 1.67.0 -> 1.68.0 - - boost-signals 1.67.0 -> 1.68.0 - - boost-signals2 1.67.0 -> 1.68.0 - - boost-smart-ptr 1.67.0 -> 1.68.0 - - boost-sort 1.67.0 -> 1.68.0 - - boost-spirit 1.67.0 -> 1.68.0 - - boost-stacktrace 1.67.0 -> 1.68.0 - - boost-statechart 1.67.0 -> 1.68.0 - - boost-static-assert 1.67.0 -> 1.68.0 - - boost-system 1.67.0 -> 1.68.0 - - boost-test 1.67.0-2 -> 1.68.0-2 - - boost-thread 1.67.0 -> 1.68.0 - - boost-throw-exception 1.67.0 -> 1.68.0 - - boost-timer 1.67.0 -> 1.68.0 - - boost-tokenizer 1.67.0 -> 1.68.0 - - boost-tti 1.67.0 -> 1.68.0 - - boost-tuple 1.67.0 -> 1.68.0 - - boost-type-erasure 1.67.0 -> 1.68.0 - - boost-type-index 1.67.0 -> 1.68.0 - - boost-type-traits 1.67.0 -> 1.68.0 - - boost-typeof 1.67.0 -> 1.68.0 - - boost-ublas 1.67.0 -> 1.68.0 - - boost-units 1.67.0 -> 1.68.0 - - boost-unordered 1.67.0 -> 1.68.0 - - boost-utility 1.67.0 -> 1.68.0 - - boost-uuid 1.67.0 -> 1.68.0 - - boost-variant 1.67.0 -> 1.68.0 - - boost-vmd 1.67.0 -> 1.68.0 - - boost-wave 1.67.0 -> 1.68.0 - - boost-winapi 1.67.0 -> 1.68.0 - - boost-xpressive 1.67.0 -> 1.68.0 - - botan 2.0.1 -> 2.8.0 - - breakpad 2018-04-17 -> 2018-09-18 - - brotli 1.0.2-3 -> 1.0.2-4 - - cairo 1.15.8-1 -> 1.15.8-3 - - cartographer 0.3.0-4 -> 0.3.0-5 - - catch2 2.2.2 -> 2.4.0 - - celero 2.1.0-2 -> 2.3.0-1 - - cgal 4.12 -> 4.13-1 - - chaiscript 6.0.0 -> 6.1.0 - - chakracore 1.8.4 -> 1.11.1-1 - - cimg 2.2.3 -> 2.3.6 - - clockutils 1.1.1-3651f232c27074c4ceead169e223edf5f00247c5-1 -> 1.1.1-3651f232c27074c4ceead169e223edf5f00247c5-2 - - cmark 0.28.3-1 -> 0.28.3-2 - - coolprop 6.1.0-3 -> 6.1.0-4 - - cpprestsdk 2.10.2-1 -> 2.10.6-1 - - crc32c 1.0.5 -> 1.0.5-1 - - cryptopp 6.1.0-2 -> 7.0.0 - - curl 7.60.0 -> 7.61.1-1 - - cxxopts 1.3.0 -> 2.1.0-1 - - dimcli 3.1.1-1 -> 3.1.1-2 - - directxmesh may2018 -> aug2018 - - directxtex may2018 -> aug2018b - - directxtk may2018 -> aug2018 - - discord-rpc 3.3.0 -> 3.3.0-1 - - dlib 19.10-1 -> 19.16 - - doctest 1.2.9 -> 2.0.0 - - double-conversion 3.0.0-2 -> 3.1.0 - - draco 1.2.5 -> 1.3.3 - - eastl 3.09.00 -> 3.12.01 - - ecm 5.40.0 -> 5.50.0 - - eigen3 3.3.4-2 -> 3.3.5 - - entt 2.5.0 -> 2.7.3 - - exiv2 2018-05-17 -> 2018-09-18 - - expat 2.2.5 -> 2.2.6 - - exprtk 2018.04.30-46877b6 -> 2018.09.30-9836f21 - - fastrtps 1.5.0 -> 1.5.0-1 - - fdk-aac 2018-05-17 -> 2018-07-08 - - flatbuffers 1.8.0-2 -> 1.9.0-2 - - fmt 4.1.0 -> 5.2.0 - - folly 2018.05.14.00 -> 2018.09.17.00 - - fontconfig 2.12.4-1 -> 2.12.4-7 - - forest 7.0.7 -> 9.0.5 - - freeglut 3.0.0-4 -> 3.0.0-5 - - freetype-gl 2018-02-25 -> 2018-09-18 - - gdal 2.3.0-1 -> 2.3.2 - - gdcm2 2.8.6 -> 2.8.7 - - geogram 1.6.0-1 -> 1.6.4 - - geos 3.6.2-3 -> 3.6.3-2 - - glbinding 2.1.1-3 -> 3.0.2-3 - - glfw3 3.2.1-2 -> 3.2.1-3 - - glib 2.52.3-9 -> 2.52.3-11 - - glm 0.9.8.5-1 -> 0.9.9.2 - - globjects 1.0.0-1 -> 1.1.0-2018-09-19 - - glslang 2018-03-02 -> 2018-03-02-1 - - google-cloud-cpp 0.1.0 -> 0.1.0-1 - - graphicsmagick 1.3.28 -> 1.3.30-1 - - graphite2 1.3.10 -> 1.3.12 - - grpc 1.10.1-2 -> 1.14.1 - - gtest 1.8.0-8 -> 1.8.0-9 - - guetzli 2017-09-02-cb5e4a86f69628-1 -> 2018-07-30 - - gumbo 0.10.1-1 -> 0.10.1-2 - - harfbuzz 1.7.6-1 -> 1.8.4-2 - - http-parser 2.7.1-3 -> 2.8.1 - - hwloc 1.11.7-2 -> 1.11.7-3 - - icu 61.1-1 -> 61.1-4 - - imgui 1.60 -> 1.65 - - json-dto 0.2.5 -> 0.2.6 - - jsonnet 2018-05-17 -> 2018-09-18 - - kf5plotting 5.37.0 -> 5.50.0 - - lcms 2.8-4 -> 2.8-5 - - leptonica 1.74.4-3 -> 1.76.0 - - libarchive 3.3.2-1 -> 3.3.3-2 - - libflac 1.3.2-5 -> 1.3.2-6 - - libgeotiff 1.4.2-3 -> 1.4.2-4 - - libgit2 0.26.0 -> 0.27.4-2 - - libgo 2.7 -> 2.8-2 - - liblzma 5.2.3-2 -> 5.2.4 - - libmariadb 3.0.2 -> 3.0.2-1 - - libmysql 8.0.4-2 -> 8.0.4-3 - - libodb 2.4.0-2 -> 2.4.0-3 - - libodb-mysql 2.4.0-1 -> 2.4.0-2 - - libp7-baical 4.4-2 -> 4.4-3 - - libpng 1.6.34-3 -> 1.6.35 - - libpqxx 6.0.0 -> 6.0.0-1 - - libraw 0.18.2-5 -> 0.19.0-1 - - libsndfile 1.0.29-6830c42-3 -> 1.0.29-6830c42-5 - - libssh 0.7.5-4 -> 0.7.6 - - libssh2 1.8.0-3 -> 1.8.0-4 - - libuv 1.20.3-2 -> 1.23.0 - - libvorbis 1.3.5-143caf4-3 -> 1.3.6-112d3bd-1 - - libwebsockets 3.0.0 -> 3.0.1 - - libzip rel-1-5-1 -> rel-1-5-1-vcpkg1 - - live555 2018.02.28 -> latest - - llvm 6.0.0-1 -> 7.0.0 - - log4cplus REL_2_0_0-RC2 -> REL_2_0_1 - - luasocket 2018-02-25 -> 2018-09-18 - - lz4 1.8.2 -> 1.8.3 - - mbedtls 2.6.1 -> 2.13.1 - - mongo-cxx-driver 3.1.1-2 -> 3.1.1-3 - - monkeys-audio 4.3.3 -> 4.3.3-1 - - mosquitto 1.4.15 -> 1.5.0 - - ms-gsl 2018-05-17 -> 2018-09-18 - - mujs 2018-05-17 -> 2018-07-30 - - nana 1.5.5 -> 1.6.2 - - nanodbc 2.12.4-1 -> 2.12.4-2 - - nanomsg 1.1.2 -> 1.1.4 - - nghttp2 1.30.0-1 -> 1.33.0 - - nlohmann-json 3.1.2 -> 3.3.0 - - nlopt 2.4.2-c43afa08d~vcpkg1-1 -> 2.4.2-1226c127 - - nuklear 2018-05-17 -> 2018-09-18 - - octomap cefed0c1d79afafa5aeb05273cf1246b093b771c-2 -> cefed0c1d79afafa5aeb05273cf1246b093b771c-3 - - openal-soft 1.18.2-2 -> 1.19.0 - - openimageio Release-1.9.2dev -> Release-1.8.13 - - openmama 6.2.1-a5a93a24d2f89a0def0145552c8cd4a53c69e2de -> 6.2.2 - - openmesh 6.3 -> 7.0 - - openssl 1.0.2o-2 -> 0 - - openvr 1.0.15 -> 1.0.16 - - opusfile 0.9-1 -> 0.11-1 - - osg 3.5.6-2 -> 3.6.2 - - osgearth 2.9 -> 2.9-1 - - paho-mqtt 1.2.0-3 -> 1.2.1 - - parson 2018-05-17 -> 2018-09-18 - - pcl 1.8.1-10 -> 1.8.1-12 - - pdal 1.7.1-2 -> 1.7.1-3 - - pdcurses 3.4-1 -> 3.6 - - picosha2 2018-02-25 -> 2018-07-30 - - pixman 0.34.0-2 -> 0.34.0-4 - - plibsys 0.0.3-1 -> 0.0.4-1 - - pmdk 1.4-2 -> 1.4.2 - - poco 1.9.0 -> 1.9.0-1 - - podofo 0.9.5-2 -> 0.9.6 - - protobuf 3.5.1-4 -> 3.6.1-4 - - pybind11 2.2.1 -> 2.2.3-1 - - python3 3.6.4-1 -> 3.6.4-2 - - qpid-proton 0.18.1 -> 0.24.0 - - qt5-base 5.9.2-6 -> 5.9.2-7 - - qt5-modularscripts 3 -> 4 - - re2 2018-05-17 -> 2018-09-18 - - realsense2 2.10.4 -> 2.16.1 - - restinio 0.4.5.1 -> 0.4.8 - - rocksdb 5.13.1 -> 5.14.2 - - rs-core-lib 2018-05-17 -> 2018-09-18 - - sciter 4.1.7 -> 4.2.2 - - sdl2-image 2.0.2-1 -> 2.0.2-3 - - sfgui 0.3.2-1 -> 0.3.2-2 - - sfml 2.4.2-3 -> 2.5.0-2 - - shaderc 12fb656ab20ea9aa06e7084a74e5ff832b7ce2da-1 -> 12fb656ab20ea9aa06e7084a74e5ff832b7ce2da-2 - - signalrclient 1.0.0-beta1-3 -> 1.0.0-beta1-4 - - sobjectizer 5.5.22 -> 5.5.22.1 - - soci 2016.10.22-1 -> 3.2.3-1 - - spdlog 0.16.3 -> 1.0.0 - - sqlite-modern-cpp 3.2 -> 3.2-e2248fa - - sqlite-orm 1.1 -> 1.2 - - sqlite3 3.23.1-1 -> 3.24.0-1 - - string-theory 1.7 -> 2.1 - - strtk 2018.05.07-48c9554 -> 2018.09.30-b887974 - - sundials 2.7.0-1 -> 3.1.1 - - tbb 2018_U3 -> 2018_U5-4 - - tesseract 3.05.01-3 -> 3.05.02 - - thor 2.0-1 -> 2.0-2 - - thrift 2018-05-17 -> 2018-09-18 - - tiff 4.0.9 -> 4.0.9-4 - - tiny-dnn 2018-03-13 -> 2018-09-18 - - torch-th 20180131-89ede3ba90c906a8ec6b9a0f4bef188ba5bb2fd8-2 -> 2018-07-03 - - unicorn 2018-05-17 -> 2018-09-18 - - unicorn-lib 2018-05-17 -> 2018-09-18 - - uriparser 0.8.5 -> 0.8.6 - - wt 4.0.3 -> 4.0.4 - - x264 152-e9a5903edf8ca59-1 -> 157-303c484ec828ed0 - - xlnt 1.2.0-1 -> 1.3.0-1 - - yaml-cpp 0.6.2 -> 0.6.2-2 - - yara e3439e4ead4ed5d3b75a0b46eaf15ddda2110bb9 -> e3439e4ead4ed5d3b75a0b46eaf15ddda2110bb9-1 - - yoga 1.8.0-1 -> 1.9.0 - - zeromq 2018-05-17 -> 2018-09-18 - * Change version format of the `vcpkg` tool to a date - * Improve handling of ctrl-c inside `install` or `build` - * Improvements in `vcpkg edit`: - - Fix console blocking when using VSCode and no other instance of VSCode is running - - `--all` option now opens package folders - - Now checks the default user-wide installation dir of VSCode (in addition to system-wide) - * `vcpkg env`: add argument to execute a command in the environment of the selected triplet - - e.g. `vcpkg env --triplet x64-windows "cl.exe"` - * Survey message changes: - - Survey message may pop-up only in `install`, `remove`, `export`, `update`. This prevents issues with parsing the output of other more script-oriented commands - - Adjust the survey frequency to 6 months, with an additional once after 10 days of use - - Improve metrics performance on Windows - * Fix OSX build for old gcc versions - * Fix handling of symlink when installing or removing a library - * Use -fPIC in all builds to enable mixing static libs with shared objects. - * Move graph options to `vcpkg depend-info` (from `vcpkg search`) - * Add `vcpkg_from_gitlab` function - * Documentation improvements in various `vcpkg_*` cmake functions - --- vcpkg team SAT, 20 Oct 2018 17:00:00 -0800 - - -vcpkg (0.0.113) --------------- - * Add ports: - - json-dto 0.2.5 - - keystone 0.9.1 - - osgearth 2.9 - - pdal 1.7.1-2 - - sdl2pp 0.16.0-1 - * Update ports: - - args 2018-02-23 -> 2018-05-17 - - aws-sdk-cpp 1.4.40 -> 1.4.52 - - chakracore 1.8.3 -> 1.8.4 - - cimg 2.2.2 -> 2.2.3 - - curl 7_59_0-2 -> 7.60.0 - - directxmesh apr2018 -> may2018 - - directxtex apr2018 -> may2018 - - directxtk apr2018 -> may2018 - - doctest 1.2.8 -> 1.2.9 - - entt 2.4.2-1 -> 2.5.0 - - exiv2 2018-04-25 -> 2018-05-17 - - fdk-aac 2018-03-07 -> 2018-05-17 - - forest 7.0.6 -> 7.0.7 - - gdal 2.2.2-1 -> 2.3.0-1 - - grpc 1.10.1-1 -> 1.10.1-2 - - jsonnet 2018-05-01 -> 2018-05-17 - - libuv 1.20.2 -> 1.20.3-2 - - libwebsockets 2.4.2 -> 3.0.0 - - lodepng 2018-02-25 -> 2018-05-17 - - mpg123 1.25.8-4 -> 1.25.8-5 - - ms-gsl 2018-05-01 -> 2018-05-17 - - mujs 2018-05-01 -> 2018-05-17 - - nuklear 2018-04-25 -> 2018-05-17 - - opus 1.2.1 -> 1.2.1-1 - - parson 2018-04-17 -> 2018-05-17 - - pmdk 1.4-1 -> 1.4-2 - - podofo 0.9.5-1 -> 0.9.5-2 - - re2 2018-05-01 -> 2018-05-17 - - rocksdb 5.12.4 -> 5.13.1 - - rs-core-lib 2018-05-01 -> 2018-05-17 - - sdl2-mixer 2.0.2-2 -> 2.0.2-4 - - thrift 2018-05-01 -> 2018-05-17 - - unicorn 2018-04-25 -> 2018-05-17 - - unicorn-lib 2018-05-01 -> 2018-05-17 - - uwebsockets 0.14.8-1 -> 0.14.8-2 - - wtl 10.0 -> 10.0-1 - - zeromq 2018-05-01 -> 2018-05-17 - * `vcpkg` no longer calls `powershell` from `cmake`. - - This completes the fix for the issue where `vcpkg.exe` would change the console's font when invoking `powershell`. - - `Powershell` is no longer called other than for bootstrap and powershell integration for tab-completion. - --- vcpkg team SAT, 16 May 2018 19:30:00 -0800 - - -vcpkg (0.0.112) --------------- - * Add ports: - - robin-map 0.2.0 - * Update ports: - - abseil 2018-04-25-1 -> 2018-05-01-1 - - ace 6.4.7 -> 6.4.8 - - aws-sdk-cpp 1.4.38 -> 1.4.40 - - azure-storage-cpp 3.2.1 -> 4.0.0 - - blosc 1.13.5 -> 1.13.5-1 - - boost-modular-build-helper 2018-04-16-4 -> 2018-05-14 - - brotli 1.0.2-2 -> 1.0.2-3 - - catch-classic 1.12.1 -> 1.12.2 - - folly 2018.04.23.00 -> 2018.05.14.00 - - jsonnet 2018-04-25 -> 2018-05-01 - - ms-gsl 2018-04-25 -> 2018-05-01 - - mujs 25821e6d74fab5fcc200fe5e818362e03e114428 -> 2018-05-01 - - openimageio 1.8.10 -> Release-1.9.2dev - - openvr 1.0.14 -> 1.0.15 - - protobuf 3.5.1-3 -> 3.5.1-4 - - re2 2018-03-17 -> 2018-05-01 - - rs-core-lib 2018-04-25 -> 2018-05-01 - - sol 2.20.0 -> 2.20.0-1 - - thrift 2018-04-25 -> 2018-05-01 - - unicorn-lib 2018-04-09 -> 2018-05-01 - - zeromq 2018-04-25 -> 2018-05-01 - * `vcpkg` no longer calls powershell for downloading/extracting and detecting Visual Studio. - - This also fixes an issue where `vcpkg.exe` would change the console's font when invoking `powershell`. - --- vcpkg team WED, 16 May 2018 19:00:00 -0800 - - -vcpkg (0.0.111) --------------- - * Add ports: - - cmark 0.28.3-1 - - inja 1.0.0 - - libgo 2.7 - - range-v3-vs2015 20151130-vcpkg5 - - restinio 0.4.5.1 - - treehopper 1.11.3-1 - - yajl 2.1.0-1 - - yato 1.0-1 - * Update ports: - - abseil 2018-04-12 -> 2018-04-25-1 - - alembic 1.7.7 -> 1.7.8 - - aws-sdk-cpp 1.4.33 -> 1.4.38 - - bigint 2010.04.30-1 -> 2010.04.30-2 - - box2d 2.3.1-374664b -> 2.3.1-374664b-1 - - brotli 1.0.2-1 -> 1.0.2-2 - - cgal 4.11.1 -> 4.12 - - corrade 2018.02-1 -> 2018.04-1 - - directxmesh feb2018-eb751e0b631b05aa25c36c08e7d6bbf09f5e94a9 -> apr2018 - - directxtex feb2018b -> apr2018 - - directxtk feb2018 -> apr2018 - - discord-rpc 3.2.0 -> 3.3.0 - - exiv2 2018-04-12 -> 2018-04-25 - - exprtk 2018.01.01-f32d2b4 -> 2018.04.30-46877b6 - - folly 2018.04.16.00 -> 2018.04.23.00 - - freeglut 3.0.0-3 -> 3.0.0-4 - - gainput 1.0.0 -> 1.0.0-1 - - geos 3.6.2-2 -> 3.6.2-3 - - http-parser 2.7.1-2 -> 2.7.1-3 - - imgui 1.53 -> 1.60 - - ismrmrd 1.3.2-1 -> 1.3.2-2 - - jsonnet 2018-04-17 -> 2018-04-25 - - leveldb 2017-10-25-8b1cd3753b184341e837b30383832645135d3d73-1 -> 2017-10-25-8b1cd3753b184341e837b30383832645135d3d73-2 - - libflac 1.3.2-4 -> 1.3.2-5 - - libqrencode 4.0.0-1 -> 4.0.0-2 - - libuv 1.20.0 -> 1.20.2 - - libxmlpp 2.40.1-1 -> 2.40.1-2 - - llvm 6.0.0 -> 6.0.0-1 - - magnum 2018.02-2 -> 2018.04-1 - - magnum-extras 2018.02-2 -> 2018.04-1 - - magnum-integration 2018.02-1 -> 2018.04-1 - - magnum-plugins 2018.02-2 -> 2018.04-1 - - ms-gsl 2018-03-17 -> 2018-04-25 - - nuklear 2018-04-17 -> 2018-04-25 - - openal-soft 1.18.2-1 -> 1.18.2-2 - - physfs 2.0.3-2 -> 3.0.1 - - poco 1.8.1-1 -> 1.9.0 - - python3 3.6.4 -> 3.6.4-1 - - quirc 1.0-1 -> 1.0-2 - - range-v3 20151130-vcpkg5 -> 0.3.5 - - rapidjson 1.1.0 -> 1.1.0-1 - - realsense2 2.10.1-1 -> 2.10.4 - - rhash 1.3.5-1 -> 1.3.6 - - rocksdb 5.12.2 -> 5.12.4 - - rs-core-lib 2018-04-12 -> 2018-04-25 - - sciter 4.1.5 -> 4.1.7 - - sfml 2.4.2-2 -> 2.4.2-3 - - sobjectizer 5.5.21 -> 5.5.22 - - sol 2.19.5 -> 2.20.0 - - sqlite3 3.23.0 -> 3.23.1-1 - - strtk 2018.01.01-5579ed1 -> 2018.05.07-48c9554 - - thrift 2018-04-17 -> 2018-04-25 - - unicorn 2018-03-20 -> 2018-04-25 - - uwebsockets 0.14.7-1 -> 0.14.8-1 - - vlpp 0.9.3.1 -> 0.9.3.1-1 - - zeromq 2018-04-17 -> 2018-04-25 - - zstd 1.3.3 -> 1.3.4 - * Add clean patching for vcpkg_from_github() - - `vcpkg_from_github()` now takes a PATCHES argument (see the azure-storage-cpp [portfile](ports\azure-storage-cpp\portfile.cmake) as an example) - - A unique directory name is derived from the source hash and the patch hashes - - Modifying the patches would previously cause the new patches to fail to apply if sources with a previous version of the patches were present in the buildtrees. This is no longer the case. - * Fix various cross-platform issues - --- vcpkg team FRI, 11 May 2018 21:45:00 -0800 - - -vcpkg (0.0.110) --------------- - * `vcpkg` is now available for Linux and MacOS. More information [here](https://blogs.msdn.microsoft.com/vcblog/2018/04/24/announcing-a-single-c-library-manager-for-linux-macos-and-windows-vcpkg/). - --- vcpkg team TUE, 24 Apr 2018 10:30:00 -0800 - - -vcpkg (0.0.109) --------------- - * Add ports: - - boost-container-hash 1.67.0 - - boost-contract 1.67.0 - - boost-hof 1.67.0 - - fastrtps 1.5.0 - - fluidsynth 1.1.10 - - liblinear 2.20 - - libxmlpp 2.40.1-1 - - utf8h 841cb2deb8eb806e73fff0e1f43a11fca4f5da45 - - vxl 20180414-7a130cf-1 - * Update ports: - - abseil 2018-04-05 -> 2018-04-12 - - aws-sdk-cpp 1.4.30-1 -> 1.4.33 - - azure-c-shared-utility 1.1.2 -> 1.1.3 - - azure-iot-sdk-c 1.2.2 -> 1.2.3 - - azure-uamqp-c 1.2.2 -> 1.2.3 - - azure-umqtt-c 1.1.2 -> 1.1.3 - - benchmark 1.3.0-1 -> 1.4.0 - - boost 1.66.0 -> 1.67.0 - - boost-* 1.66.0 -> 1.67.0 - - breakpad 2018-04-05 -> 2018-04-17 - - cartographer 0.3.0-3 -> 0.3.0-4 - - catch2 2.2.1-1 -> 2.2.2 - - celero 2.1.0-1 -> 2.1.0-2 - - chakracore 1.8.2 -> 1.8.3 - - cimg 221 -> 2.2.2 - - cppzmq 4.2.2 -> 4.2.2-1 - - date 2.4 -> 2.4.1 - - directxmesh feb2018 -> feb2018-eb751e0b631b05aa25c36c08e7d6bbf09f5e94a9 - - exiv2 2018-04-05 -> 2018-04-12 - - folly 2018.03.19.00-2 -> 2018.04.16.00 - - forest 7.0.1 -> 7.0.6 - - gettext 0.19-2 -> 0.19-4 - - glib 2.52.3-2 -> 2.52.3-9 - - glibmm 2.52.1 -> 2.52.1-7 - - graphicsmagick 1.3.26-2 -> 1.3.28 - - grpc 1.10.1 -> 1.10.1-1 - - icu 59.1-1 -> 61.1-1 - - jsonnet 2018-03-17 -> 2018-04-17 - - libiconv 1.15-3 -> 1.15-4 - - libsigcpp 2.10 -> 2.10-1 - - libtorrent 1.1.6 -> 1.1.6-1 - - libuuid 1.0.3 -> 1.0.3-1 - - libzip rel-1-5-0 -> rel-1-5-1 - - llvm 5.0.1 -> 6.0.0 - - magnum 2018.02-1 -> 2018.02-2 - - magnum-plugins 2018.02-1 -> 2018.02-2 - - nuklear 2018-04-05 -> 2018-04-17 - - openssl 1.0.2o-1 -> 1.0.2o-2 - - openvr 1.0.13 -> 1.0.14 - - parson 2018-03-23 -> 2018-04-17 - - protobuf 3.5.1-1 -> 3.5.1-3 - - pugixml 1.8.1-3 -> 1.9-1 - - realsense2 2.10.1 -> 2.10.1-1 - - rs-core-lib 2018-04-05 -> 2018-04-12 - - sol 2.18.7 -> 2.19.5 - - sqlite3 3.21.0-1 -> 3.23.0 - - thrift 2018-04-05 -> 2018-04-17 - - tinyxml2 6.0.0-2 -> 6.2.0 - - unicorn-lib 2018-03-13 -> 2018-04-09 - - uwebsockets 0.14.6-1 -> 0.14.7-1 - - wt 4.0.2 -> 4.0.3 - - x264 152-e9a5903edf8ca59 -> 152-e9a5903edf8ca59-1 - - yoga 1.7.0-1 -> 1.8.0-1 - - zeromq 2018-04-05 -> 2018-04-17 - * Bump required version & auto-downloaded version of `nuget` to 4.6.2 - * Bump required version & auto-downloaded version of `vswhere` to 2.4.1 - * `vcpkg edit` improvements - - '--all' now will open both the buildtrees dir and the package dir - - Allow multiple ports to be specified as arguments - --- vcpkg team MON, 23 Apr 2018 19:00:00 -0800 - - -vcpkg (0.0.108) --------------- - * Add ports: - - google-cloud-cpp 0.1.0 - - mhook 2.5.1-1 - - mosquitto 1.4.15 - - pmdk 1.4-1 (renamed from nvml) - * Remove Ports: - - nvml 1.3-0 (renamed to pmdk) - * Update ports: - - abseil 2018-03-23 -> 2018-04-05 - - asio 1.12.0-1 -> 1.12.0-2 - - aws-sdk-cpp 1.4.21 -> 1.4.30-1 - - azure-c-shared-utility 1.0.0-pre-release-1.0.9 -> 1.1.2 - - azure-iot-sdk-c 1.0.0-pre-release-1.0.9 -> 1.2.2 - - azure-uamqp-c 1.0.0-pre-release-1.0.9 -> 1.2.2 - - azure-umqtt-c 1.0.0-pre-release-1.0.9 -> 1.1.2 - - breakpad 2018-03-13 -> 2018-04-05 - - clara 2018-03-23 -> 2018-04-02 - - cryptopp 5.6.5-1 -> 6.1.0-2 - - discord-rpc 3.1.0 -> 3.2.0 - - dlib 19.10 -> 19.10-1 - - eastl 3.08.00 -> 3.09.00 - - exiv2 2018-03-23 -> 2018-04-05 - - folly 2017.11.27.00-3 -> 2018.03.19.00-2 - - forest 4.5.0 -> 7.0.1 - - gdcm2 2.8.5 -> 2.8.6 - - grpc 1.10.0 -> 1.10.1 - - gtest 1.8.0-7 -> 1.8.0-8 - - libiconv 1.15-2 -> 1.15-3 - - libuv 1.19.2 -> 1.20.0 - - libvpx 1.6.1-2 -> 1.7.0 - - libxml2 2.9.4-4 -> 2.9.4-5 - - nuklear 2018-03-23 -> 2018-04-05 - - openimageio 1.8.9 -> 1.8.10 - - openssl 1.0.2n-3 -> 1.0.2o-1 - - qt5-base 5.9.2-5 -> 5.9.2-6 - - qt5-modularscripts 2 -> 3 - - qwt 6.1.3-4 -> 6.1.3-5 - - recast 1.5.1 -> 1.5.1-1 - - rocksdb 5.11.3 -> 5.12.2 - - rs-core-lib 2018-03-17 -> 2018-04-05 - - sciter 4.1.4 -> 4.1.5 - - tbb 2018_U2 -> 2018_U3 - - tesseract 3.05.01-2 -> 3.05.01-3 - - theia 0.7-d15154a-1 -> 0.7-d15154a-3 - - thrift 2018-03-23 -> 2018-04-05 - - unrar 5.5.8 -> 5.5.8-1 - - yoga 1.7.0 -> 1.7.0-1 - - zeromq 2018-03-23 -> 2018-04-05 - * `vcpkg.cmake`: Remove detection for Windows SDK. Let `cmake` detect it instead. - * Rework `vcpkgTools.xml`. - - `` renamed to `` - - `` renamed `` - - `` changed to `` - - `` tags now specify an `os="x"` property - - The version of the tools list (i.e. ``) is now verified by `vcpkg.exe`. - * Use [7zip](https://www.7-zip.org/) to extract vcpkg tools defined in `vcpkgTools.xml`. - * Use [aria2](https://aria2.github.io/) to download vcpkg tools defined in `vcpkgTools.xml`. - - The experimental flag `vcpkg install --x-use-aria2` allows you to use `aria2` for other downloads as well. - * `vckg hash` improvements - --- vcpkg team FRI, 06 Apr 2018 19:30:00 -0800 - - -vcpkg (0.0.107) --------------- - * Add ports: - - azmq 1.0.2 - - azure-c-shared-utility 1.0.0-pre-release-1.0.9 - - azure-iot-sdk-c 1.0.0-pre-release-1.0.9 - - azure-uamqp-c 1.0.0-pre-release-1.0.9 - - azure-uhttp-c 2018-02-09 - - azure-umqtt-c 1.0.0-pre-release-1.0.9 - - bitserializer 0.7 - - caf 0.15.7 - - fmem c-libs-2ccee3d2fb - - gherkin-c c-libs-e63e83104b - - librsync 2.0.2 - - libuuid 1.0.3 - - mpark-variant 1.3.0 - - nanomsg 1.1.2 - - nvml 1.3-0 - - nvtt 2.1.0 - - openvpn3 2018-03-21 - - parson 2018-03-23 - - plplot 5.13.0-1 - - sqlite-orm 1.1 - - tap-windows6 9.21.2-0e30f5c - * Update ports: - - abseil 2018-03-17 -> 2018-03-23 - - alembic 1.7.6 -> 1.7.7 - - asio 1.12.0 -> 1.12.0-1 - - aubio 0.4.6-1 -> 0.4.6-2 - - aws-sdk-cpp 1.3.58 -> 1.4.21 - - catch2 2.2.1 -> 2.2.1-1 - - ccfits 2.5-1 -> 2.5-2 - - ceres 1.13.0-4 -> 1.14.0-1 - - cfitsio 3.410-1 -> 3.410-2 - - clara 2018-03-11 -> 2018-03-23 - - cpprestsdk 2.10.2 -> 2.10.2-1 - - discord-rpc 3.0.0 -> 3.1.0 - - dlib 19.9-1 -> 19.10 - - eastl 3.07.02 -> 3.08.00 - - exiv2 2018-03-17 -> 2018-03-23 - - ffmpeg 3.3.3-4 -> 3.3.3-5 - - gdcm2 2.8.4 -> 2.8.5 - - harfbuzz 1.7.6 -> 1.7.6-1 - - hpx 1.0.0-8 -> 1.1.0-1 - - lcm 1.3.95 -> 1.3.95-1 - - libpq 9.6.1-1 -> 9.6.1-4 - - libvpx 1.6.1-1 -> 1.6.1-2 - - mpg123 1.25.8-2 -> 1.25.8-4 - - nuklear 2018-03-17 -> 2018-03-23 - - openssl 1.0.2n-2 -> 1.0.2n-3 - - paho-mqtt 1.2.0-2 -> 1.2.0-3 - - plog 1.1.3 -> 1.1.4 - - qt5-quickcontrols 5.9.2-0 -> 5.9.2-1 - - qt5-quickcontrols2 5.9.2-0 -> 5.9.2-1 - - sciter 4.1.3 -> 4.1.4 - - shapelib 1.4.1 -> 1.4.1-1 - - signalrclient 1.0.0-beta1-2 -> 1.0.0-beta1-3 - - soundtouch 2.0.0 -> 2.0.0-1 - - thrift 2018-03-17 -> 2018-03-23 - - unicorn 2018-03-13 -> 2018-03-20 - - zeromq 2018-03-17 -> 2018-03-23 - --- vcpkg team TUE, 27 Mar 2018 22:00:00 -0800 - - -vcpkg (0.0.106) --------------- - * Add ports: - - armadillo 8.400.0-1 - - boost-modular-build-helper 2 - - clblas 2.12-1 - - clfft 2.12.2 - - entt 2.4.2-1 - - fastcdr 1.0.6-1 - - gamma gamma-2018-01-27 - - gl3w 8f7f459d - - graphite2 1.3.10 - - ismrmrd 1.3.2-1 - - kealib 1.4.7-1 - - lcm 1.3.95 - - libcds 2.3.2 - - monkeys-audio 4.3.3 - - msix 1.0 - - nmslib 1.7.2 - - opencl 2.2 (2017.07.18) - - openmesh 6.3 - - quirc 1.0-1 - - shogun 6.1.3 - - x264 152-e9a5903edf8ca59 - - x265 2.7-1 - * Update ports: - - abseil 2018-2-5 -> 2018-03-17 - - ace 6.4.6 -> 6.4.7 - - alembic 1.7.5 -> 1.7.6 - - args d8905de -> 2018-02-23 - - asio 1.10.8-1 -> 1.12.0 - - atk 2.24.0-1 -> 2.24.0-2 - - avro-c 1.8.2 -> 1.8.2-1 - - azure-storage-cpp 3.0.0-4 -> 3.2.1 - - benchmark 1.3.0 -> 1.3.0-1 - - boost-build 1.66.0-5 -> 1.66.0-8 - - breakpad 2018-2-19 -> 2018-03-13 - - butteraugli 2017-09-02-8c60a2aefa19adb-1 -> 2018-02-25 - - c-ares 1.13.0-1 -> cares-1_14_0 - - catch-classic 1.12.0 -> 1.12.1 - - catch2 2.1.2 -> 2.2.1 - - cctz 2.1 -> 2.2 - - cgal 4.11-3 -> 4.11.1 - - chakracore 1.7.4 -> 1.8.2 - - chmlib 0.40-1 -> 0.40-2 - - cimg 2.1.8 -> 221 - - clara 2017-07-20-9661f2b4a50895d52ebb4c59382785a2b416c310 -> 2018-03-11 - - console-bridge 0.3.2-2 -> 0.3.2-3 - - coolprop 6.1.0-2 -> 6.1.0-3 - - cpp-redis 4.3.0 -> 4.3.1 - - cpr 1.3.0-1 -> 1.3.0-3 - - curl 7.58.0-1 -> 7_59_0-2 - - devil 1.8.0-1 -> 1.8.0-2 - - directxmesh dec2017 -> feb2018 - - directxtex dec2017 -> feb2018b - - directxtk dec2017 -> feb2018 - - dirent 2017-06-23-5c7194c2fe2c68c1a8212712c0b4b6195382d27d -> 1.23.1 - - discord-rpc 2.1.0 -> 3.0.0 - - doctest 1.2.6 -> 1.2.8 - - eastl 3.05.08 -> 3.07.02 - - evpp 0.6.1-1 -> 0.7.0 - - exiv2 8f5b795eaa4bc414d2d6041c1dbd1a7f7bf1fc99 -> 2018-03-17 - - fdk-aac 2017-11-02-1e351 -> 2018-03-07 - - ffmpeg 3.3.3-2 -> 3.3.3-4 - - freetype 2.8.1-1 -> 2.8.1-3 - - freetype-gl 2017-10-9-82fb152a74f01b1483ac80d15935fbdfaf3ed836 -> 2018-02-25 - - freexl 1.0.4 -> 1.0.4-1 - - g2o 20170730_git-2 -> 20170730_git-3 - - gdal 2.2.2 -> 2.2.2-1 - - gdcm2 2.8.3 -> 2.8.4 - - geogram 1.4.9-1 -> 1.6.0-1 - - gflags 2.2.1-1 -> 2.2.1-3 - - glib 2.52.3-1 -> 2.52.3-2 - - glslang 3a21c880500eac21cdf79bef5b80f970a55ac6af-1 -> 2018-03-02 - - grpc 1.8.3 -> 1.10.0 - - gsl 2.4-2 -> 2.4-3 - - gsl-lite 0.26.0 -> 0.28.0 - - gtest 1.8.0-6 -> 1.8.0-7 - - halide release_2017_10_30 -> release_2018_02_15 - - harfbuzz 1.7.4 -> 1.7.6 - - ilmbase 2.2.0-1 -> 2.2.1-1 - - jansson 2.11 -> 2.11-2 - - jsoncpp 1.8.1-1 -> 1.8.4 - - jsonnet 2017-09-02-11cf9fa9f2fe8acbb14b096316006082564ca580 -> 2018-03-17 - - leptonica 1.74.4-2 -> 1.74.4-3 - - libgeotiff 1.4.2-2 -> 1.4.2-3 - - libiconv 1.15-1 -> 1.15-2 - - libjpeg-turbo 1.5.3 -> 1.5.3-1 - - libmysql 5.7.17-3 -> 8.0.4-2 - - libpng 1.6.34-2 -> 1.6.34-3 - - librtmp 2.4 -> 2.4-1 - - libsndfile 1.0.29-6830c42-2 -> 1.0.29-6830c42-3 - - libsodium 1.0.15-1 -> 1.0.16-1 - - libspatialite 4.3.0a-1 -> 4.3.0a-2 - - libssh 0.7.5-1 -> 0.7.5-4 - - libuv 1.18.0 -> 1.19.2 - - libwebp 0.6.1-1 -> 0.6.1-2 - - libwebsockets 2.4.1 -> 2.4.2 - - libxml2 2.9.4-2 -> 2.9.4-4 - - libzip 1.4.0 -> rel-1-5-0 - - live555 2018.01.29 -> 2018.02.28 - - lodepng 2017-09-01-8a0f16afe74a6a-1 -> 2018-02-25 - - luasocket 2017.05.25.5a17f79b0301f0a1b4c7f1c73388757a7e2ed309 -> 2018-02-25 - - lz4 1.8.1.2 -> 1.8.1.2-1 - - magnum-extras 2018.02-1 -> 2018.02-2 - - matio 1.5.10-2 -> 1.5.12 - - mman git-f5ff813 -> git-f5ff813-2 - - ms-gsl 20171204-9d65e74400976b3509833f49b16d401600c7317d -> 2018-03-17 - - msinttypes 2017-06-26-f9e7c5758ed9e3b9f4b2394de1881c704dd79de0 -> 2018-02-25 - - msmpi 8.1 -> 9.0 - - nlohmann-json 3.1.0 -> 3.1.2 - - nuklear 2017-06-15-5c7194c2fe2c68c1a8212712c0b4b6195382d27d -> 2018-03-17 - - ogre 1.10.9-2 -> 1.10.11 - - opencv 3.4.0-3 -> 3.4.1 - - openexr 2.2.0-1 -> 2.2.1-1 - - openimageio 1.7.15-2 -> 1.8.9 - - openjpeg 2.2.0-1 -> 2.3.0 - - pcl 1.8.1-9 -> 1.8.1-10 - - picosha2 2017-09-01-c5ff159b6 -> 2018-02-25 - - piex 2017-09-01-473434f2dd974978b-1 -> 2018-03-13 - - protobuf 3.5.1 -> 3.5.1-1 - - qt5-modularscripts 1 -> 2 - - re2 2017-12-01-1 -> 2018-03-17 - - readosm 1.1.0 -> 1.1.0-1 - - realsense2 2.10.0 -> 2.10.1 - - rocksdb 2017-06-28-18c63af6ef2b9f014c404b88488ae52e6fead03c-1 -> 5.11.3 - - rs-core-lib commit-1ed2dadbda3977b13e5e83cc1f3eeca76b36ebe5 -> 2018-03-17 - - rttr 0.9.5-1 -> 0.9.5-2 - - scintilla 3.7.6 -> 4.0.3 - - sdl2 2.0.7-4 -> 2.0.8-1 - - snappy 1.1.7-1 -> 1.1.7-2 - - spatialite-tools 4.3.0 -> 4.3.0-1 - - spdlog 0.14.0-1 -> 0.16.3 - - spirv-tools 2017.1-dev-7e2d26c77b606b21af839b37fd21381c4a669f23-1 -> 2018.1-1 - - sqlite3 3.21.0 -> 3.21.0-1 - - stb 20170724-9d9f75e -> 2018-03-02 - - thrift 20172805-72ca60debae1d9fb35d9f0085118873669006d7f-2 -> 2018-03-17 - - tiny-dnn 2017-10-09-dd906fed8c8aff8dc837657c42f9d55f8b793b0e -> 2018-03-13 - - tinyxml2 6.0.0 -> 6.0.0-2 - - torch-th 20180131-89ede3ba90c906a8ec6b9a0f4bef188ba5bb2fd8-1 -> 20180131-89ede3ba90c906a8ec6b9a0f4bef188ba5bb2fd8-2 - - unicorn 2017-12-06-bc34c36eaeca0f4fc672015d24ce3efbcc81d6e4-1 -> 2018-03-13 - - unicorn-lib commit-3ffa7fe69a1d0c37fb52a4af61380c5fd84fa5aa -> 2018-03-13 - - uwebsockets 0.14.4-1 -> 0.14.6-1 - - wt 3.3.7-4 -> 4.0.2 - - wtl 9.1 -> 10.0 - - wxwidgets 3.1.0-1 -> 3.1.1 - - yaml-cpp 0.5.4-rc-2 -> 0.6.2 - - zeromq 20170908-18498f620f0f6d4076981ea16eb5760fe4d28dc2-2 -> 2018-03-17 - - zziplib 0.13.62-1 -> 0.13.69 - * Use TLS 1.2 for downloads. - * Tools used by `vcpkg` (`git`, `cmake` etc) are now specified in `scripts\vcpkgTools.xml`. - - Add `7zip` - * Fix various bugs regarding feature packages. Affects `install`, `upgrade` and `export`. - * `vcpkg hash`: Fix bug with whitespace in path. - * Visual Studio detection now properly identifies legacy versions (VS2015). - * Windows SDK detection no longer fails if certain registry keys are not in their expected places. - * Dependency qualifiers now support `!` for inversion. - * Add `VCPKG_DEFAULT_VS_PATH` environment variable. - - `vcpkg` automatically chooses the latest stable version of Visual Studio to use. - - You can now select the desired VS with the `VCPKG_DEFAULT_VS_PATH` environment variable - - You can also select the behavior by specifiying `VCPKG_VISUAL_STUDIO_PATH` in the triplet file (and this takes precedence over the new environment variable) - --- vcpkg team MON, 19 Mar 2018 19:00:00 -0800 - - -vcpkg (0.0.105) --------------- - * Add ports: - - breakpad 2018-2-19 - - cartographer 0.3.0-3 - - chipmunk 7.0.2 - - ebml 1.3.5-1 - - intel-mkl 2018.0.1 - - jbig2dec 0.13 - - libgeotiff 1.4.2-2 - - liblo 0.29-1 - - libpng-apng 1.6.34-2 - - magnum-extras 2018.02-1 - - magnum-integration 2018.02-1 - - matroska 1.4.8 - - mman git-f5ff813 - - qt5-graphicaleffects 5.9.2-0 - - qt5-quickcontrols 5.9.2-0 - - qt5-quickcontrols2 5.9.2-0 - - recast 1.5.1 - - tinydir 1.2.3 - - tinytoml 20180219-1 - * Update ports: - - aubio 0.4.6 -> 0.4.6-1 - - aws-sdk-cpp 1.3.15 -> 1.3.58 - - blaze 3.2-3 -> 3.3 - - boost-build 1.66.0-4 -> 1.66.0-5 - - boost-mpi 1.66.0 -> 1.66.0-1 - - catch2 2.1.1 -> 2.1.2 - - ceres 1.13.0-2 -> 1.13.0-4 - - corrade jan2018-1 -> 2018.02-1 - - cuda 8.0-1 -> 9.0 - - draco 0.10.0-1 -> 1.2.5 - - ffmpeg 3.3.3-1 -> 3.3.3-2 - - folly 2017.11.27.00-2 -> 2017.11.27.00-3 - - hpx 1.0.0-7 -> 1.0.0-8 - - jansson 2.10-1 -> 2.11 - - libdisasm 0.23 -> 0.23-1 - - libmupdf 1.11-1 -> 1.12.0 - - magnum jan2018-1 -> 2018.02-1 - - magnum-plugins jan2018-1 -> 2018.02-1 - - opencv 3.4.0-2 -> 3.4.0-3 - - openvr 1.0.12 -> 1.0.13 - - pcre2 10.30-1 -> 10.30-2 - - qt5-base 5.9.2-4 -> 5.9.2-5 - - realsense2 2.9.1 -> 2.10.0 - - sciter 4.1.2 -> 4.1.3 - - suitesparse 4.5.5-3 -> 4.5.5-4 - - szip 2.1.1 -> 2.1.1-1 - - uriparser 0.8.4-1 -> 0.8.5 - * Better handling of `feature packages`. - * Bump required version & auto-downloaded version of `git` to 2.6.2 - --- vcpkg team TUE, 20 Feb 2018 18:30:00 -0800 - - -vcpkg (0.0.104) --------------- - * Add ports: - - asmjit 673dcefaa048c5f5a2bf8b85daf8f7b9978d018a - - cccapstone 9b4128ee1153e78288a1b5433e2c06a0d47a4c4e - - crc32c 1.0.5 - - epsilon 0.9.2 - - exprtk 2018.01.01-f32d2b4 - - forest 4.5.0 - - libgta 1.0.8 - - libodb-mysql 2.4.0-1 - - libopenmpt 2017-01-28-cf2390140 - - libudis86 2018-01-28-56ff6c87 - - mujs 25821e6d74fab5fcc200fe5e818362e03e114428 - - muparser 6cf2746 - - openmama 6.2.1-a5a93a24d2f89a0def0145552c8cd4a53c69e2de - - torch-th 20180131-89ede3ba90c906a8ec6b9a0f4bef188ba5bb2fd8-1 - - yara e3439e4ead4ed5d3b75a0b46eaf15ddda2110bb9 - * Update ports: - - abseil 2017-11-10 -> 2018-2-5 - - blosc 1.12.1 -> 1.13.5 - - boost-build 1.66.0-3 -> 1.66.0-4 - - boost-test 1.66.0-1 -> 1.66.0-2 - - catch 2.0.1-1 -> alias - - catch2 2.1.0 -> 2.1.1 - - cgal 4.11-2 -> 4.11-3 - - cpprestsdk 2.10.1-1 -> 2.10.2 - - curl 7.58.0 -> 7.58.0-1 - - dlib 19.9 -> 19.9-1 - - flatbuffers 1.8.0 -> 1.8.0-2 - - freeimage 3.17.0-3 -> 3.17.0-4 - - gflags 2.2.1 -> 2.2.1-1 - - gtest 1.8.0-5 -> 1.8.0-6 - - highfive 1.3 -> 1.5 - - jack2 1.9.12.2 -> 1.9.12 - - libspatialite 4.3.0a -> 4.3.0a-1 - - libwebp 0.6.1 -> 0.6.1-1 - - libzip 1.3.2 -> 1.4.0 - - live555 2017.10.28 -> 2018.01.29 - - mpg123 1.25.8-1 -> 1.25.8-2 - - nghttp2 1.28.0 -> 1.30.0-1 - - nlohmann-json 3.0.1 -> 3.1.0 - - opencv 3.4.0 -> 3.4.0-2 - - opengl 0.0-4 -> 0.0-5 - - openssl 1.0.2n-1 -> 1.0.2n-2 - - openvr 1.0.9 -> 1.0.12 - - poco 1.8.1 -> 1.8.1-1 - - protobuf 3.5.0-1 -> 3.5.1 - - qt5-base 5.9.2-1 -> 5.9.2-4 - - realsense2 2.9.0 -> 2.9.1 - - sciter 4.1.1 -> 4.1.2 - - sobjectizer 5.5.20 -> 5.5.21 - - soundtouch 2.0.0.2 -> 2.0.0 - - strtk 2017.01.02-1e2960f -> 2018.01.01-5579ed1 - * The `configure` step for `release` and `debug` now happen in parallel. - - This can significantly reduce build times for libraries where the `configure` step was a good chunk of the total build time. For example, the total build time for `zlib` drops from ~30sec to ~20sec. - * Fix a few bootstraping issues introduced in previous release (with the clean environment) - --- vcpkg team WED, 07 Feb 2018 20:30:00 -0800 - - -vcpkg (0.0.103) --------------- - * `vcpkg upgrade`: Fix issue with any command executing more than 10 transactions with mixed transaction types (install + remove) - --- vcpkg team WED, 24 Jan 2018 14:30:00 -0800 - - -vcpkg (0.0.102) --------------- - * Add ports: - - catch-classic 1.12.0 - - catch2 2.1.0 - - cgicc 3.2.19 - - libdisasm 0.23 - - qt5-3d 5.9.2-0 - - qt5-base 5.9.2-1 - - qt5-charts 5.9.2-0 - - qt5-datavis3d 5.9.2-0 - - qt5-declarative 5.9.2-0 - - qt5-gamepad 5.9.2-0 - - qt5-imageformats 5.9.2-0 - - qt5-modularscripts 1 - - qt5-multimedia 5.9.2-0 - - qt5-networkauth 5.9.2-0 - - qt5-scxml 5.9.2-0 - - qt5-serialport 5.9.2-0 - - qt5-speech 5.9.2-0 - - qt5-svg 5.9.2-0 - - qt5-tools 5.9.2-0 - - qt5-virtualkeyboard 5.9.2-0 - - qt5-websockets 5.9.2-0 - - qt5-winextras 5.9.2-0 - - qt5-xmlpatterns 5.9.2-0 - - tre 0.8.0-1 - * Update ports: - - boost-asio 1.66.0 -> 1.66.0-1 - - boost-build 1.66.0 -> 1.66.0-3 - - boost-vcpkg-helpers 3 -> 4 - - corrade jun2017-3 -> jan2018-1 - - curl 7.57.0-1 -> 7.57.0-2 - - date 2.3-c286981b3bf83c79554769df68b27415cee68d77 -> 2.4 - - discord-rpc 2.0.1 -> 2.1.0 - - dlib 19.8 -> 19.9 - - libbson 1.9.0 -> 1.9.2 - - libconfig 1.7.1 -> 1.7.2 - - libjpeg-turbo 1.5.2-2 -> 1.5.3 - - libodb 2.4.0-1 -> 2.4.0-2 - - libogg 1.3.2-cab46b1-3 -> 1.3.3 - - libwebp 0.6.0-2 -> 0.6.1 - - libwebsockets 2.0.0-4 -> 2.4.1 - - lz4 1.8.0-1 -> 1.8.1.2 - - magnum jun2017-6 -> jan2018-1 - - magnum-plugins jun2017-5 -> jan2018-1 - - mongo-c-driver 1.9.0 -> 1.9.2 - - mpg123 1.25.8 -> 1.25.8-1 - - openni2 2.2.0.33-4 -> 2.2.0.33-7 - - osg 3.5.6-1 -> 3.5.6-2 - - poco 1.8.0.1 -> 1.8.1 - - qca 2.2.0-1 -> 2.2.0-2 - - qscintilla 2.10-1 -> 2.10-4 - - qt5 5.8-6 -> 5.9.2-1 - - qwt 6.1.3-2 -> 6.1.3-4 - - sciter 4.1.0 -> 4.1.1 - - sdl2 2.0.7-3 -> 2.0.7-4 - - tiff 4.0.8-1 -> 4.0.9 - - xxhash 0.6.3-1 -> 0.6.4 - * Remove usage of `BITS-transfer`. Use .NET functions (which used to be the fallback if `BITS-transfer` failed) by default. - * Enable the usage of `feature-packages` by default. More info [here](docs/specifications/feature-packages.md). - * Bootstrapping `vcpkg` now happens in a clean environment to avoid issues when building in a VS Developer Prompt among others. - * Update required version & auto-downloaded version of `cmake` to 3.10.2 - * Update required version & auto-downloaded version of `vswhere` to 2.3.2 - --- vcpkg team TUE, 23 Jan 2018 17:00:00 -0800 - - -vcpkg (0.0.101) --------------- - * Add ports: - - alac-decoder 0.2 - - args d8905de - - boost-accumulators 1.66.0 - - boost-algorithm 1.66.0 - - boost-align 1.66.0 - - boost-any 1.66.0 - - boost-array 1.66.0 - - boost-asio 1.66.0 - - boost-assert 1.66.0 - - boost-assign 1.66.0 - - boost-atomic 1.66.0 - - boost-beast 1.66.0 - - boost-bimap 1.66.0 - - boost-bind 1.66.0 - - boost-build 1.66.0 - - boost-callable-traits 1.66.0 - - boost-chrono 1.66.0 - - boost-circular-buffer 1.66.0 - - boost-compatibility 1.66.0 - - boost-compute 1.66.0 - - boost-concept-check 1.66.0 - - boost-config 1.66.0 - - boost-container 1.66.0 - - boost-context 1.66.0 - - boost-conversion 1.66.0 - - boost-convert 1.66.0 - - boost-core 1.66.0 - - boost-coroutine 1.66.0 - - boost-coroutine2 1.66.0 - - boost-crc 1.66.0 - - boost-date-time 1.66.0 - - boost-detail 1.66.0 - - boost-disjoint-sets 1.66.0 - - boost-dll 1.66.0 - - boost-dynamic-bitset 1.66.0 - - boost-endian 1.66.0 - - boost-exception 1.66.0 - - boost-fiber 1.66.0 - - boost-filesystem 1.66.0 - - boost-flyweight 1.66.0 - - boost-foreach 1.66.0 - - boost-format 1.66.0 - - boost-function 1.66.0 - - boost-function-types 1.66.0 - - boost-functional 1.66.0 - - boost-fusion 1.66.0 - - boost-geometry 1.66.0 - - boost-gil 1.66.0 - - boost-graph 1.66.0 - - boost-graph-parallel 1.66.0 - - boost-hana 1.66.0 - - boost-heap 1.66.0 - - boost-icl 1.66.0 - - boost-integer 1.66.0 - - boost-interprocess 1.66.0 - - boost-interval 1.66.0 - - boost-intrusive 1.66.0 - - boost-io 1.66.0 - - boost-iostreams 1.66.0 - - boost-iterator 1.66.0 - - boost-lambda 1.66.0 - - boost-lexical-cast 1.66.0 - - boost-local-function 1.66.0 - - boost-locale 1.66.0 - - boost-lockfree 1.66.0 - - boost-log 1.66.0 - - boost-logic 1.66.0 - - boost-math 1.66.0 - - boost-metaparse 1.66.0 - - boost-move 1.66.0 - - boost-mp11 1.66.0 - - boost-mpi 1.66.0 - - boost-mpl 1.66.0 - - boost-msm 1.66.0 - - boost-multi-array 1.66.0 - - boost-multi-index 1.66.0 - - boost-multiprecision 1.66.0 - - boost-numeric-conversion 1.66.0 - - boost-odeint 1.66.0 - - boost-optional 1.66.0 - - boost-parameter 1.66.0 - - boost-phoenix 1.66.0 - - boost-poly-collection 1.66.0 - - boost-polygon 1.66.0 - - boost-pool 1.66.0 - - boost-predef 1.66.0 - - boost-preprocessor 1.66.0 - - boost-process 1.66.0 - - boost-program-options 1.66.0 - - boost-property-map 1.66.0 - - boost-property-tree 1.66.0 - - boost-proto 1.66.0 - - boost-ptr-container 1.66.0 - - boost-python 1.66.0-1 - - boost-qvm 1.66.0 - - boost-random 1.66.0 - - boost-range 1.66.0 - - boost-ratio 1.66.0 - - boost-rational 1.66.0 - - boost-regex 1.66.0 - - boost-scope-exit 1.66.0 - - boost-serialization 1.66.0 - - boost-signals 1.66.0 - - boost-signals2 1.66.0 - - boost-smart-ptr 1.66.0 - - boost-sort 1.66.0 - - boost-spirit 1.66.0 - - boost-stacktrace 1.66.0 - - boost-statechart 1.66.0 - - boost-static-assert 1.66.0 - - boost-system 1.66.0 - - boost-test 1.66.0-1 - - boost-thread 1.66.0 - - boost-throw-exception 1.66.0 - - boost-timer 1.66.0 - - boost-tokenizer 1.66.0 - - boost-tti 1.66.0 - - boost-tuple 1.66.0 - - boost-type-erasure 1.66.0 - - boost-type-index 1.66.0 - - boost-type-traits 1.66.0 - - boost-typeof 1.66.0 - - boost-ublas 1.66.0 - - boost-units 1.66.0 - - boost-unordered 1.66.0 - - boost-utility 1.66.0 - - boost-uuid 1.66.0 - - boost-variant 1.66.0 - - boost-vcpkg-helpers 3 - - boost-vmd 1.66.0 - - boost-wave 1.66.0 - - boost-winapi 1.66.0 - - boost-xpressive 1.66.0 - - brynet 0.9.0 - - chaiscript 6.0.0 - - cimg 2.1.8 - - crow 0.1 - - gainput 1.0.0 - - jack2 1.9.12.2 - - libdatrie 0.2.10-2 - - libgit2 0.26.0 - - libmupdf 1.11-1 - - libpqxx 6.0.0 - - libqrencode 4.0.0-1 - - libsamplerate 0.1.9.0 - - mbedtls 2.6.1 - - nghttp2 1.28.0 - - portmidi 0.217.1 - - re2 2017-12-01-1 - - rs-core-lib commit-1ed2dadbda3977b13e5e83cc1f3eeca76b36ebe5 - - sol 2.18.7 - - soundtouch 2.0.0.2 - - sqlitecpp 2.2 - - tinyexif 1.0.1-1 - - unicorn 2017-12-06-bc34c36eaeca0f4fc672015d24ce3efbcc81d6e4-1 - - unicorn-lib commit-3ffa7fe69a1d0c37fb52a4af61380c5fd84fa5aa - - yoga 1.7.0 - * Update ports: - - ace 6.4.5 -> 6.4.6 - - alembic 1.7.4-1 -> 1.7.5 - - arrow 0.6.0 -> 0.6.0-1 - - asio 1.10.8 -> 1.10.8-1 - - assimp 4.0.1-3 -> 4.1.0-1 - - aubio 0.46 -> 0.4.6 - - aws-sdk-cpp 1.2.4 -> 1.3.15 - - beast v84-1 -> 0 - - blaze 3.2-2 -> 3.2-3 - - bond 7.0.2 -> 7.0.2-1 - - boost 1.65.1-3 -> 1.66.0 - - brotli 1.0.2 -> 1.0.2-1 - - bullet3 2.86.1-1 -> 2.87 - - cgal 4.11 -> 4.11-2 - - cpp-redis 3.5.2-2 -> 4.3.0 - - cpprestsdk 2.10.0 -> 2.10.1-1 - - curl 7.55.1-1 -> 7.57.0-1 - - directxmesh oct2016 -> dec2017 - - directxtex dec2016 -> dec2017 - - directxtk dec2016-1 -> dec2017 - - dlib 19.7 -> 19.8 - - exiv2 4f4add2cdcbe73af7098122a509dff0739d15908 -> 8f5b795eaa4bc414d2d6041c1dbd1a7f7bf1fc99 - - fcl 0.5.0-2 -> 0.5.0-3 - - fftw3 3.3.7-1 -> 3.3.7-2 - - flatbuffers 1.7.1-1 -> 1.8.0 - - fmt 4.0.0-1 -> 4.1.0 - - folly 2017.11.27.00 -> 2017.11.27.00-2 - - gflags 2.2.0-5 -> 2.2.1 - - glm 0.9.8.5 -> 0.9.8.5-1 - - gmime 3.0.2 -> 3.0.5 - - grpc 1.7.2 -> 1.8.3 - - gsl-lite 0.24.0 -> 0.26.0 - - gtest 1.8-1 -> 1.8.0-5 - - harfbuzz 1.6.3-1 -> 1.7.4 - - hdf5 1.10.0-patch1-2 -> 1.10.1-1 - - hpx 1.0.0-5 -> 1.0.0-7 - - imgui 1.52 -> 1.53 - - itk 4.11.0 -> 4.13.0 - - libbson 1.6.2-2 -> 1.9.0 - - libconfig 1.6.0-1 -> 1.7.1 - - libiconv 1.15 -> 1.15-1 - - libkml 1.3.0-1 -> 1.3.0-2 - - librtmp 2.3 -> 2.4 - - libsodium 1.0.15 -> 1.0.15-1 - - libtorrent 1.1.5 -> 1.1.6 - - live555 2017.09.12 -> 2017.10.28 - - llvm 5.0.0-2 -> 5.0.1 - - mongo-c-driver 1.6.2-1 -> 1.9.0 - - mongo-cxx-driver 3.1.1-1 -> 3.1.1-2 - - mpg123 1.24.0-1 -> 1.25.8 - - mpir 3.0.0-3 -> 3.0.0-4 - - ms-gsl 20171104-d10ebc6555b627c9d1196076a78467e7be505987 -> 20171204-9d65e74400976b3509833f49b16d401600c7317d - - nlohmann-json 2.1.1-1 -> 3.0.1 - - opencv 3.3.1-9 -> 3.4.0 - - openimageio 1.7.15-1 -> 1.7.15-2 - - openssl 1.0.2m -> 1.0.2n-1 - - openvdb 5.0.0 -> 5.0.0-1 - - pcl 1.8.1-7 -> 1.8.1-9 - - pybind11 2.2.0 -> 2.2.1 - - python3 3.6.1 -> 3.6.4 - - range-v3 20151130-vcpkg4 -> 20151130-vcpkg5 - - realsense2 2.8.2 -> 2.9.0 - - sciter 4.0.6 -> 4.1.0 - - sdl2-image 2.0.1-3 -> 2.0.2-1 - - sdl2-mixer 2.0.2-1 -> 2.0.2-2 - - sdl2-net 2.0.1-3 -> 2.0.1-4 - - sdl2-ttf 2.0.14-3 -> 2.0.14-4 - - sobjectizer 5.5.19.2-1 -> 5.5.20 - - speex 1.2.0-2 -> 1.2.0-4 - - string-theory 1.6-1 -> 1.7 - - szip 2.1-2 -> 2.1.1 - - tacopie 2.4.1-2 -> 3.2.0 - - tbb 2017_U7 -> 2018_U2 - - tclap 1.2.1 -> 1.2.2 - - thrift 20172805-72ca60debae1d9fb35d9f0085118873669006d7f-1 -> 20172805-72ca60debae1d9fb35d9f0085118873669006d7f-2 - - tinyxml2 5.0.1-1 -> 6.0.0 - - vtk 8.0.1-5 -> 8.1.0-1 - - wt 3.3.7-2 -> 3.3.7-4 - - zeromq 20170908-18498f620f0f6d4076981ea16eb5760fe4d28dc2-1 -> 20170908-18498f620f0f6d4076981ea16eb5760fe4d28dc2-2 - - zstd 1.3.1-1 -> 1.3.3 - * Introduce `vcpkg upgrade` command. This command automatically rebuilds outdated libraries to the latest version. - * `vcpkg list`: Improve output for long triplets - * Update required version & auto-downloaded version of `cmake` to 3.10.1 - --- vcpkg team WED, 10 Jan 2018 17:00:00 -0800 - - -vcpkg (0.0.100) --------------- - * Add ports: - - libmspack 0.6 - - scintilla 3.7.6 - - vlpp 0.9.3.1 - * Update ports: - - allegro5 5.2.2.0-1 -> 5.2.3.0 - - benchmark 1.2.0 -> 1.3.0 - - brotli 0.6.0-1 -> 1.0.2 - - chakracore 1.4.3 -> 1.7.4 - - cppunit 1.13.2 -> 1.14.0 - - doctest 1.2.0 -> 1.2.6 - - ecm 5.37.0-1 -> 5.40.0 - - expat 2.2.4-2 -> 2.2.5 - - flint 2.5.2 -> 2.5.2-1 - - folly 2017.10.02.00 -> 2017.11.27.00 - - freerdp 2.0.0-rc0~vcpkg1-1 -> 2.0.0-rc1~vcpkg1 - - libtorrent 1.1.4-1 -> 1.1.5 - - libuv 1.16.1 -> 1.18.0 - - libzip 1.2.0-2 -> 1.3.2 - - log4cplus REL_1_2_1-RC2-1 -> REL_2_0_0-RC2 - - mpfr 3.1.6-1 -> 3.1.6-2 - - nana 1.5.4-1 -> 1.5.5 - - poco 1.7.8-2 -> 1.8.0.1 - - pugixml 1.8.1-2 -> 1.8.1-3 - - sciter 4.0.4 -> 4.0.6 - - speex 1.2.0-1 -> 1.2.0-2 - * `vcpkg` has exceeded 400 libraries! - * `vcpkg` now supports Tab-Completion/Auto-Completion in Powershell. To enable it, simply run `.\vcpkg integrate powershell` and restart Powershell. - * `vcpkg` now requires the English language pack of Visual Studio to be installed. This is needed because several libraries fail to build in non-English languages, so `vcpkg` sets the build environment to English to bypass these issues. - --- vcpkg team MON, 04 Dec 2017 17:00:00 -0800 - - -vcpkg (0.0.99) --------------- - * Add ports: - - avro-c 1.8.2 - - devil 1.8.0-1 - - halide release_2017_10_30 - - librabbitmq 0.8.0 - - openvdb 5.0.0 - - qpid-proton 0.18.1 - - unittest-cpp 2.0.0 - * Update ports: - - alembic 1.7.4 -> 1.7.4-1 - - angle 2017-06-14-8d471f-2 -> 2017-06-14-8d471f-4 - - aubio 0.46~alpha-3 -> 0.46 - - date 2.2 -> 2.3-c286981b3bf83c79554769df68b27415cee68d77 - - fftw3 3.3.7 -> 3.3.7-1 - - grpc 1.7.0 -> 1.7.2 - - imgui 1.51-1 -> 1.52 - - lcms 2.8-3 -> 2.8-4 - - leptonica 1.74.4-1 -> 1.74.4-2 - - leveldb 2017-10-25-8b1cd3753b184341e837b30383832645135d3d73 -> 2017-10-25-8b1cd3753b184341e837b30383832645135d3d73-1 - - libflac 1.3.2-3 -> 1.3.2-4 - - libiconv 1.14-1 -> 1.15 - - libsndfile 1.0.29-6830c42-1 -> 1.0.29-6830c42-2 - - libssh2 1.8.0-2 -> 1.8.0-3 - - llvm 5.0.0-1 -> 5.0.0-2 - - mpfr 3.1.6 -> 3.1.6-1 - - ogre 1.9.0-1 -> 1.10.9-2 - - opencv 3.3.1-7 -> 3.3.1-9 - - opengl 0.0-3 -> 0.0-4 - - pcl 1.8.1-4 -> 1.8.1-7 - - protobuf 3.4.1-2 -> 3.5.0-1 - - qhull 2015.2-1 -> 2015.2-2 - - realsense2 2.8.1 -> 2.8.2 - - redshell 1.0.0 -> 1.1.2 - - sdl2 2.0.7-1 -> 2.0.7-3 - - string-theory 1.6 -> 1.6-1 - - tesseract 3.05.01-1 -> 3.05.01-2 - * `vcpkg` now autodetects CMake usage information in libraries and displays it after install - * `vcpkg integrate install`: Fix issue that would cause failure with unicode usernames - * Introduce experimental support for `VCPKG_BUILD_TYPE`. Adding `set(VCPKG_BUILD_TYPE release)` in a triplet: will cause *most* ports to only build release - * `vcpkg` now compiles inside WSL - * Update required version & auto-downloaded version of `cmake` to 3.10.0 - --- vcpkg team SAT, 26 Nov 2017 03:30:00 -0800 - - -vcpkg (0.0.97) --------------- - * Add ports: - - alac 2017-11-03-c38887c5 - - atkmm 2.24.2 - - blosc 1.12.1 - - coolprop 6.1.0-2 - - discord-rpc 2.0.1 - - freetype-gl 2017-10-9-82fb152a74f01b1483ac80d15935fbdfaf3ed836 - - glibmm 2.52.1 - - gtkmm 3.22.2 - - if97 2.1.0 - - luasocket 2017.05.25.5a17f79b0301f0a1b4c7f1c73388757a7e2ed309 - - pangomm 2.40.1 - - realsense2 2.8.1 - - refprop-headers 2017-11-7-882aec454b2bc3d5323b8691736ff09c288f4ed6 - - sfgui 0.3.2-1 - - tidy-html5 5.4.0-1 - * Update ports: - - abseil 2017-10-14 -> 2017-11-10 - - assimp 4.0.1-2 -> 4.0.1-3 - - bond 6.0.0-1 -> 7.0.2 - - catch 1.11.0 -> 2.0.1-1 - - dimcli 2.0.0-1 -> 3.1.1-1 - - dlib 19.4-5 -> 19.7 - - ffmpeg 3.3.3 -> 3.3.3-1 - - fftw3 3.3.6-p12-1 -> 3.3.7 - - freeglut 3.0.0-2 -> 3.0.0-3 - - freetype 2.8-1 -> 2.8.1-1 - - glbinding 2.1.1-2 -> 2.1.1-3 - - glm 0.9.8.4-1 -> 0.9.8.5 - - grpc 1.6.0-2 -> 1.7.0 - - jasper 2.0.13-1 -> 2.0.14-1 - - libpng 1.6.32-1 -> 1.6.34-2 - - libraw 0.18.2-4 -> 0.18.2-5 - - libsigcpp 2.99-1 -> 2.10 - - libuv 1.14.1-1 -> 1.16.1 - - libwebsockets 2.0.0-2 -> 2.0.0-4 - - ms-gsl 20170425-8b320e3f5d016f953e55dfc7ec8694c1349d3fe4 -> 20171104-d10ebc6555b627c9d1196076a78467e7be505987 - - openal-soft 1.18.1-1 -> 1.18.2-1 - - opencv 3.3.1-6 -> 3.3.1-7 - - openssl 1.0.2l-3 -> 1.0.2m - - pcl 1.8.1-3 -> 1.8.1-4 - - sdl2 2.0.6-1 -> 2.0.7-1 - - sdl2-mixer 2.0.1-3 -> 2.0.2-1 - - sqlite-modern-cpp 2.4 -> 3.2 - - vtk 8.0.1-1 -> 8.0.1-5 - - wincrypt 0.0 -> 0.0-1 - - winsock2 0.0 -> 0.0-1 - * MSBuild integration now outputs a warning when configuration is not determinable. - * Fix Powershell execution failures for users of PSCX. PSCX has an `Expand-Archive` cmdlet that has different parameter names than the same-named cmdlet in Powershell 5. - * `vcpkg_from_github()`: Handle '/' in REFs - --- vcpkg team TUE, 14 Nov 2017 16:00:00 -0800 - - -vcpkg (0.0.96) --------------- - * Add ports: - - arb 2.11.1 - - fdk-aac 2017-11-02-1e351 - - flint 2.5.2 - - itk 4.11.0 - - libaiff 5.0 - * Update ports: - - antlr4 4.6-1 -> 4.7 - - apr 1.6.2-1 -> 1.6.3 - - double-conversion 3.0.0-1 -> 3.0.0-2 - - flann 1.9.1-6 -> 1.9.1-7 - - opencv 3.3.1-4 -> 3.3.1-6 - - protobuf 3.4.1-1 -> 3.4.1-2 - * `vcpkg help`: Add help topics for commands. For example `vcpkg help install` - * `vcpkg` now downloads in a temp directory; after the download is complete, the file is moved to the destination. This avoids issues with hash mismatch on partially downloaded files. - * Update required version & auto-downloaded version of `cmake` to 3.9.5 - * Update required version & auto-downloaded version of `vswhere` to 2.2.11 - --- vcpkg team WED, 03 Nov 2017 18:45:00 -0800 - - -vcpkg (0.0.95) --------------- - * Update ports: - - assimp 4.0.1 -> 4.0.1-2 - - blaze 3.2-1 -> 3.2-2 - - boost 1.65.1-2 -> 1.65.1-3 - - catch 1.10.0 -> 1.11.0 - - libharu 2017-08-15-d84867ebf9f-2 -> 2017-08-15-d84867ebf9f-4 - - libsndfile libsndfile-1.0.29-6830c42-1 -> 1.0.29-6830c42-1 - - opencv 3.3.1 -> 3.3.1-4 - - pcl 1.8.1-2 -> 1.8.1-3 - - poco 1.7.8-1 -> 1.7.8-2 - - signalrclient 1.0.0-beta1-1 -> 1.0.0-beta1-2 - - vtk 8.0.0-3 -> 8.0.1-1 - - xlnt 1.1.0-1 -> 1.2.0-1 - * Various improvements in `vcpkg` when obtaining data from `PowerShell` scripts. It should now be more robust - * Fix Windows 7 (i.e. `PowerShell 2.0`) issues in `PowerShell` scripts - * Fix an issue with `feature packages` where an installed package would appear to be uninstalled if a feature of the package was installed and then uninstalled - * Bump required version & auto-downloaded version of `git` to 2.5.0 - --- vcpkg team WED, 01 Nov 2017 15:30:00 -0800 - - -vcpkg (0.0.94) --------------- - * Add ports: - - capstone 3.0.5-rc3 - - cgal 4.11 - - gettimeofday 2017-10-14-2 - - gmime 3.0.2 - - leveldb 2017-10-25-8b1cd3753b184341e837b30383832645135d3d73 - - rpclib 2.2.0 - * Update ports: - - alembic 1.7.1-4 -> 1.7.4 - - blaze 3.2 -> 3.2-1 - - boost 1.65.1-1 -> 1.65.1-2 - - ceres 1.13.0-1 -> 1.13.0-2 - - cpprestsdk 2.9.0-4 -> 2.10.0 - - cppwinrt spring_2017_creators_update_for_vs_15.3 -> fall_2017_creators_update_for_vs_15.3-2 - - cppzmq 4.2.1 -> 4.2.2 - - eigen3 3.3.4-1 -> 3.3.4-2 - - gdcm2 2.6.8-1 -> 2.8.3 - - harfbuzz 1.4.6-2 -> 1.6.3-1 - - libjpeg-turbo 1.5.2-1 -> 1.5.2-2 - - libmariadb 2.3.2-1 -> 3.0.2 - - libmysql 5.7.17-2 -> 5.7.17-3 - - live555 2017.06.04-1 -> 2017.09.12 - - mpir 3.0.0-2 -> 3.0.0-3 - - opencv 3.3.0-4 -> 3.3.1 - - pangolin 0.5-2 -> 0.5-3 - - pugixml 1.8.1-1 -> 1.8.1-2 - - secp256k1 2017-19-10-0b7024185045a49a1a6a4c5615bf31c94f63d9c4 -> 2017-19-10-0b7024185045a49a1a6a4c5615bf31c94f63d9c4-1 - - smpeg2 2.0.0-2 -> 2.0.0-3 - - sqlite3 3.20.1 -> 3.21.0 - * Bump required version & auto-downloaded version of `git` to 2.4.3 - --- vcpkg team FRI, 27 Oct 2017 19:30:00 -0800 - - -vcpkg (0.0.93) --------------- - * Add ports: - - berkeleydb 4.8.30 - - libsodium 1.0.15 - - secp256k1 2017-19-10-0b7024185045a49a1a6a4c5615bf31c94f63d9c4 - * Update ports: - - assimp 4.0.0-2 -> 4.0.1 - - azure-storage-cpp 3.0.0-3 -> 3.0.0-4 - - cctz v2.1 -> 2.1 - - folly v2017.07.17.01-1 -> 2017.10.02.00 - - grpc 1.6.0-1 -> 1.6.0-2 - - openblas v0.2.20-2 -> 0.2.20-2 - - pthreads 2.9.1-1 -> 2.9.1-2 - - sdl2-gfx 1.0.3-2 -> 1.0.3-3 - - sdl2-image 2.0.1-2 -> 2.0.1-3 - - sdl2-mixer 2.0.1-2 -> 2.0.1-3 - - sdl2-net 2.0.1-2 -> 2.0.1-3 - - sdl2-ttf 2.0.14-2 -> 2.0.14-3 - - spirv-tools v2017.1-dev-7e2d26c77b606b21af839b37fd21381c4a669f23-1 -> 2017.1-dev-7e2d26c77b606b21af839b37fd21381c4a669f23-1 - - thor v2.0-1 -> 2.0-1 - - tinyexr v0.9.5-d16ea6 -> 0.9.5-d16ea6 - * Fix issue where `vcpkg` was getting output from powershell scripts. Powershell adds newlines when the console width is reached; the extra newlines was causing `vcpkg`'s parsing to fail. - * Improve autocomplete/tab-completion for powershell (still experimental) - --- vcpkg team THU, 19 Oct 2017 21:30:00 -0800 - - -vcpkg (0.0.92) --------------- - * Add ports: - - cctz v2.1 - - celero 2.1.0-1 - - eastl 3.05.08 - - imgui 1.51-1 - - libidn2 2.0.4 - - mozjpeg 3.2-1 - - spatialite-tools 4.3.0 - - string-theory 1.6 - - tiny-dnn 2017-10-09-dd906fed8c8aff8dc837657c42f9d55f8b793b0e - - wincrypt 0.0 - - winsock2 0.0 - * Update ports: - - abseil 2017-09-28 -> 2017-10-14 - - boost 1.65.1 -> 1.65.1-1 - - cpprestsdk 2.9.0-3 -> 2.9.0-4 - - gdal 1.11.3-5 -> 2.2.2 - - jansson v2.10-1 -> 2.10-1 - - lua 5.3.4-2 -> 5.3.4-4 - - mpfr 3.1.5-1 -> 3.1.6 - - ogre 1.9.0 -1 -> 1.9.0-1 - - openni2 2.2.0.33-2 -> 2.2.0.33-4 - - pcl 1.8.1-1 -> 1.8.1-2 - - sciter 4.0.3 -> 4.0.4 - - vtk 8.0.0-2 -> 8.0.0-3 - - websocketpp 0.7.0 -> 0.7.0-1 - * Initial support for autocomplete/tab-completion for powershell (still experimental) - * Add `VCPKG_CHAINLOAD_TOOLCHAIN_FILE variable`. As the name suggests, you can chainload your own toolchain file along with the `vcpkg` toolchain file. - * Fix issues with the new Visual Studio detection ([`vswhere.exe`](https://github.com/Microsoft/vswhere)). Notably: - - Detect VS2015 BuildTools, VS2017 BuildTools and VS Express Edition - * Fix issues with Windows SDK detection - * Rework acquisition of `vcpkg` dependencies (e.g. `cmake`, `git`). It is now more robust and should be faster on modern Operating Systems while still having fallback functions for older ones. - * Bump required version & auto-downloaded version of `cmake` to 3.9.4 - * Bump required version & auto-downloaded version of `nuget` to 4.4.0 - * Bump required version & auto-downloaded version of `vswhere` to 2.2.7 - * Bump required version & auto-downloaded version of `git` to 2.4.2(.3) - * Bump ninja to version 1.8.0 - --- vcpkg team TUE, 17 Oct 2017 16:00:00 -0800 - - -vcpkg (0.0.91) --------------- - * Add ports: - - abseil 2017-09-28 - - enet 1.3.13 - - exiv2 4f4add2cdcbe73af7098122a509dff0739d15908 - - freexl 1.0.4 - - gts 0.7.6 - - kinectsdk2 2.0 - - libexif 0.6.21-1 - - libfreenect2 0.2.0 - - librtmp 2.3 - - libspatialite 4.3.0a - - libxmp-lite 4.4.1 - - proj4 4.9.3-1 - - readosm 1.1.0 - - spirit-po 1.1.2 - - telnetpp 1.2.4 - - wildmidi 0.4.1 - * Update ports: - - anax 2.1.0-2 -> 2.1.0-3 - - aws-sdk-cpp 1.0.61-1 -> 1.2.4 - - geos 3.5.0-1 -> 3.6.2-2 - - kinectsdk1 1.8-1 -> 1.8-2 - - lua 5.3.4-1 -> 5.3.4-2 - - openni2 2.2.0.33 -> 2.2.0.33-2 - - openssl 1.0.2l-2 -> 1.0.2l-3 - - pangolin 0.5-1 -> 0.5-2 - - proj 4.9.3-1 -> 0 - - sdl2 2.0.5-4 -> 2.0.6-1 - - zlib 1.2.11-2 -> 1.2.11-3 - * `vcpkg export`: Add new option `--ifw` which creates a standalone GUI installer for the exported packages. More information and screenshots [here](https://github.com/Microsoft/vcpkg/pull/1734) - * Complete rework of Visual Studio detection & selection: - - Use [`vswhere.exe`](https://github.com/Microsoft/vswhere) to detect Visual Studio installation instances - - Add the ability to specify the Visual Studio instance to use in the triplet file with the `VCPKG_VISUAL_STUDIO_PATH` variable - - Automatic selection now picks instances in order: stable, prerelease, legacy. Within each group, newer versions are preferred over old versions - - Fix issue where v140 toolset would not work if VS2017 (with v140) was installed but VS2015 was not installed - * Add message when downloading a `vcpkg` dependency (e.g. `cmake`) - --- vcpkg team THU, 05 Oct 2017 19:00:00 -0800 - - -vcpkg (0.0.90) --------------- - * Add ports: - - caffe2 0.8.1 - - date 2.2 - - jsonnet 2017-09-02-11cf9fa9f2fe8acbb14b096316006082564ca580 - - kf5plotting 5.37.0 - - units 2.3.0 - - winpcap 4.1.3-1 - * Update ports: - - arrow apache-arrow-0.4.0-2 -> 0.6.0 - - benchmark 1.1.0-1 -> 1.2.0 - - cppwinrt feb2017_refresh-14393 -> spring_2017_creators_update_for_vs_15.3 - - llvm 4.0.0-1 -> 5.0.0-1 - - luafilesystem 1.6.3-1 -> 1.7.0.2 - - opencv 3.2.0-4 -> 3.3.0-4 - - paho-mqtt 1.2.0-1 -> 1.2.0-2 - - protobuf 3.4.0-2 -> 3.4.1-1 - - qt5 5.8-5 -> 5.8-6 - - sfml 2.4.2-1 -> 2.4.2-2 - - xlnt 0.9.4-1 -> 1.1.0-1 - - zlib 1.2.11-1 -> 1.2.11-2 - * Bump required version & auto-downloaded version of `cmake` to 3.9.3 (was 3.9.1). Noteable changes: - - Fix codepage issues - - FindBoost: Add support for Boost 1.65.0 and 1.65.1 - * `vcpkg edit`: Fix inspected locations for VSCode - --- vcpkg team SUN, 24 Sep 2017 03:30:00 -0800 - - -vcpkg (0.0.89) --------------- - * Update ports: - - boost 1.65-1 -> 1.65.1 - - chmlib 0.40 -> 0.40-1 - - pybind11 2.1.0-2 -> 2.2.0 - - sciter 4.0.2-1 -> 4.0.3 - - sqlite3 3.19.1-2 -> 3.20.1 - * `vcpkg` now warns if the built version of the `vcpkg.exe` itself is outdated - * Update to latest python 3.5 - * `vcpkg install` improvements: - - Add `--keep-going` option to keep going if a package fails to install - - Add elapsed time to each invidial package as well as total time - - Add a counter to the install (e.g. Starting package 3/12: ) - * `vcpkg edit` now checks more location for VSCode Insiders - --- vcpkg team WED, 14 Sep 2017 16:00:00 -0800 - - -vcpkg (0.0.88) --------------- - * `vcpkg_configure_cmake` has been modified to embed debug symbols within static libraries (using the /Z7 option). Most of the libraries in `vcpkg` had their versions bumped due to this. - * `vcpkg_configure_meson` has been modified in the same manner. - --- vcpkg team SAT, 09 Sep 2017 00:30:00 -0800 - - -vcpkg (0.0.87) --------------- - * Add ports: - - console-bridge 0.3.2-1 - - leptonica 1.74.4 - - tesseract 3.05.01 - - urdfdom 1.0.0-1 - - urdfdom-headers 1.0.0-1 - * Update ports: - - ace 6.4.4 -> 6.4.5 - - c-ares 1.12.1-dev-40eb41f-1 -> 1.13.0 - - glslang 1c573fbcfba6b3d631008b1babc838501ca925d3-2 -> 3a21c880500eac21cdf79bef5b80f970a55ac6af - - grpc 1.4.1 -> 1.6.0 - - libuv 1.14.0 -> 1.14.1 - - meschach -> 1.2b - - openblas v0.2.20 -> v0.2.20-1 - - openssl 1.0.2l-1 -> 1.0.2l-2 - - protobuf 3.3.0-3 -> 3.4.0-1 - - qt5 5.8-4 -> 5.8-5 - - shaderc 2df47b51d83ad83cbc2e7f8ff2b56776293e8958-1 -> 12fb656ab20ea9aa06e7084a74e5ff832b7ce2da - - spirv-tools 1.1-f72189c249ba143c6a89a4cf1e7d53337b2ddd40 -> v2017.1-dev-7e2d26c77b606b21af839b37fd21381c4a669f23 - - xxhash 0.6.2 -> 0.6.3 - - zeromq 4.2.2 -> 20170908-18498f620f0f6d4076981ea16eb5760fe4d28dc2 - * Add new function `vcpkg_from_bitbucket` which the Bitbucket equivalent of `vcpkg_from_github` - --- vcpkg team FRI, 08 Sep 2017 22:00:00 -0800 - - -vcpkg (0.0.86) --------------- - * Add ports: - - bigint 2010.04.30 - - butteraugli 2017-09-02-8c60a2aefa19adb - - ccd 2.0.0-1 (Renamed from libccd) - - fadbad 2.1.0 - - fcl 0.5.0-1 - - guetzli 2017-09-02-cb5e4a86f69628 - - gumbo 0.10.1 - - libmicrohttpd 0.9.55 - - libstemmer 2017-9-02 - - libunibreak 4.0 - - lodepng 2017-09-01-8a0f16afe74a6a - - meschach - - nlopt 2.4.2-c43afa08d~vcpkg1 - - picosha2 2017-09-01-c5ff159b6 - - piex 2017-09-01-473434f2dd974978b - - pthreads 2.9.1 - - tinythread 1.1 - - tinyxml 2.6.2-1 - * Removed ports: - - libccd 2.0.0 (Renamed to ccd) - * Update ports: - - ace 6.4.3 -> 6.4.4 - - boost 1.65 -> 1.65-1 - - cairo 1.15.6 -> 1.15.8 - - gdk-pixbuf 2.36.6 -> 2.36.9 - - glib 2.52.2 -> 2.52.3 - - gtk 3.22.15 -> 3.22.19 - - jxrlib 1.1-2 -> 1.1-3 - - paho-mqtt Version 1.1.0 (Paho 1.2) -> 1.2.0 - - pango 1.40.6 -> 1.40.11 - - shaderc 2df47b51d83ad83cbc2e7f8ff2b56776293e8958 -> 2df47b51d83ad83cbc2e7f8ff2b56776293e8958-1 - * Fix warnings in bootstrap-vcpkg.ps1 - * Fix codepage related issues with ninja/cmake - * Improve handling for non-ascii environments - * Configurations names are now more tolerant: - - If a configuration name is prefixed with "Release", then it is compatible with "Release" - - If a configuration name is prefixed with "Debug", then it is compatible with "Debug" - * `vcpkg edit`: Improve detection of VSCode and add better messages when no path is found - * Fixes and improvements in the `vcpkg` tool itself - --- vcpkg team MON, 04 Sep 2017 02:00:00 -0800 - - -vcpkg (0.0.85) --------------- - * Add ports: - - ccfits 2.5 - - highfive 1.3 - - lzfse 1.0 - - pangolin 0.5 - - rhash 1.3.5 - - speexdsp 1.2rc3-1 - - unrar 5.5.8 - * Update ports: - - assimp 4.0.0 -> 4.0.0-1 - - catch 1.9.7 -> 1.10.0 - - ctemplate 2017-06-23-44b7c5b918a08ad561c63e9d28beecb40c10ebca -> 2017-06-23-44b7c5-2 - - curl 7.55.0 -> 7.55.1 - - ecm 5.32.0 -> 5.37.0 - - expat 2.1.1-1 -> 2.2.4-1 - - ffmpeg 3.2.4-3 -> 3.3.3 - - gl2ps OpenGL to PostScript Printing Library -> 1.4.0 - - jsoncpp 1.7.7 -> 1.8.1 - - libp7-baical 4.1 -> 4.4-1 - - libpng 1.6.31 -> 1.6.32 - - libraw 0.18.2-2 -> 0.18.2-3 - - libsigcpp 2.10 -> 2.99 - - snappy 1.1.6-be6dc3d -> 1.1.7 - * `vcpkg edit`: Add new option `--builtrees`; opens editor in buildtrees directory for examining build issues - * Improve Windows SDK support (contract version detection) - * Improve handling for non-ascii environments - * Fixes and improvements in the `vcpkg` tool itself - --- vcpkg team SUN, 27 Aug 2017 22:00:00 -0800 - - -vcpkg (0.0.84) --------------- - * Add ports: - - cfitsio 3.410 - - chmlib 0.40 - - gl2ps OpenGL to PostScript Printing Library - - libharu 2017-08-15-d84867ebf9f-1 - - mpfr 3.1.5 - - sophus 1.0.0 - * Update ports: - - allegro5 5.2.1.0 -> 5.2.2.0 - - blaze 3.1 -> 3.2 - - boost 1.64-5 -> 1.65 - - curl 7.51.0-3 -> 7.55.0 - - flann 1.9.1-4 -> 1.9.1-5 - - gdal 1.11.3-4 -> 1.11.3-5 - - glew 2.0.0-2 -> 2.1.0 - - lcms 2.8-1 -> 2.8-2 - - libogg 2017-07-27-cab46b19847 -> 1.3.2-cab46b1-2 - - libuv 1.13.1 -> 1.14.0 - - lz4 1.7.5 -> 1.8.0 - - pcre2 10.23 -> 10.30 - - spdlog 0.13.0 -> 0.14.0 - - zstd 1.3.0 -> 1.3.1 - * Bump required version & auto-downloaded version of `git` to 2.14.1 (due to a security vulnerability) - * Show more information when there are issues acquiring `vcpkg` tool dependencies (`git`, `cmake`, `nuget`) - * Remove download prompts for cmake/git. The prompts were causing a lot of issues for users and especially CI builds - * `vcpkg edit`: Fix detection of 64-bit VSCode - * Fixes and improvements in the `vcpkg` tool itself - --- vcpkg team TUE, 22 Aug 2017 13:00:00 -0800 - - -vcpkg (0.0.83) --------------- - * Add ports: - - fuzzylite 6.0 - - jemalloc 4.3.1-1 - - libkml 1.3.0 - - pcl 1.8.1 - - plog 1.1.3 - * Update ports: - - catch 1.9.6 -> 1.9.7 - - ceres 1.12.0-4 -> 1.13.0 - - cpp-redis 3.5.2 -> 3.5.2-1 - - gdal 1.11.3-3 -> 1.11.3-4 - - graphicsmagick 1.3.26 -> 1.3.26-1 - - hypre 2.11.1 -> 2.11.2 - - libtheora 1.1.1 -> 1.2.0alpha1-20170719~vcpkg1 - - minizip 1.2.11 -> 1.2.11-1 - - openblas v0.2.19-2 -> v0.2.20 - - openjpeg 2.1.2-2 -> 2.2.0 - - physfs 2.0.3 -> 2.0.3-1 - - stb 1.0 -> 20170724-9d9f75e - - uwebsockets 0.14.3 -> 0.14.4 - - vtk 7.1.1-1 -> 8.0.0-1 - - yaml-cpp 0.5.4 candidate -> 0.5.4-rc-1 - * Bump required version & auto-downloaded version of `cmake` to 3.9.1 (was 3.9.0) - * Fixes and improvements in the `vcpkg` tool itself - --- vcpkg team FRI, 11 Aug 2017 12:00:00 -0800 - - -vcpkg (0.0.82) --------------- - * Add ports: - - alembic 1.7.1-3 - - allegro5 5.2.1.0 - - angle 2017-06-14-8d471f-1 - - apr-util 1.6.0 - - arrow apache-arrow-0.4.0-1 - - aubio 0.46~alpha-2 - - aurora 2017-06-21-c75699d2a8caa726260c29b6d7a0fd35f8f28933 - - benchmark 1.1.0 - - blaze 3.1 - - brotli 0.6.0 - - c-ares 1.12.1-dev-40eb41f-1 - - ceres 1.12.0-4 - - clara 2017-07-20-9661f2b4a50895d52ebb4c59382785a2b416c310 - - corrade jun2017-2 - - cpp-redis 3.5.2 - - cppcms 1.1.0 - - cppunit 1.13.2 - - cpr 1.3.0 - - ctemplate 2017-06-23-44b7c5b918a08ad561c63e9d28beecb40c10ebca - - cunit 2.1.3-1 - - cxxopts 1.3.0 - - dirent 2017-06-23-5c7194c2fe2c68c1a8212712c0b4b6195382d27d - - draco 0.10.0 - - duktape 2.0.3-3 - - embree 2.16.4-1 - - evpp 0.6.1 - - flann 1.9.1-4 - - folly v2017.07.17.01 - - g2o 20170730_git-1 - - geogram 1.4.9 - - gsl-lite 0.24.0 - - hpx 1.0.0-4 - - hunspell 1.6.1-1 - - hwloc 1.11.7-1 - - hypre 2.11.1 - - ilmbase 2.2.0 - - jansson v2.10 - - jasper 2.0.13 - - kinectsdk1 1.8-1 - - libconfig 1.6.0 - - libmikmod 3.3.11.1 - - libopusenc 0.1 - - libssh 0.7.5 - - libtorrent 1.1.4 - - libusb 1.0.21-fc99620 - - libusb-win32 1.2.6.0 - - libzip 1.2.0-1 - - live555 2017.06.04 - - llvm 4.0.0 - - lpeg 1.0.1-2 - - luafilesystem 1.6.3 - - luajit 2.0.5 - - magnum jun2017-5 - - magnum-plugins jun2017-4 - - matio 1.5.10-1 - - minizip 1.2.11 - - msinttypes 2017-06-26-f9e7c5758ed9e3b9f4b2394de1881c704dd79de0 - - nuklear 2017-06-15-5c7194c2fe2c68c1a8212712c0b4b6195382d27d - - ode 0.15.1 - - openexr 2.2.0 - - openimageio 1.7.15 - - openni2 2.2.0.33 - - opusfile 0.9 - - osg 3.5.6 - - paho-mqtt Version 1.1.0 (Paho 1.2) - - plibsys 0.0.3 - - podofo 0.9.5 - - ptex 2.1.28 - - pystring 1.1.3 - - python3 3.6.1 - - qhull 2015.2 - - qscintilla 2.10-1 - - redshell 1.0.0 - - rocksdb 2017-06-28-18c63af6ef2b9f014c404b88488ae52e6fead03c - - rtmidi 2.1.1-1 - - rttr 0.9.5 - - sciter 4.0.2-1 - - sdl2-gfx 1.0.3-1 - - snappy 1.1.6-be6dc3d - - sobjectizer 5.5.19.2 - - speex 1.2.0 - - strtk 2017.01.02-1e2960f - - suitesparse 4.5.5-2 - - sundials 2.7.0 - - tacopie 2.4.1-1 - - theia 0.7-d15154a - - thor v2.0 - - thrift 20172805-72ca60debae1d9fb35d9f0085118873669006d7f - - uriparser 0.8.4 - - utf8proc 2.1.0 - - utfz 1.2 - - wxwidgets 3.1.0-1 - * Update ports: - - apr 1.5.2 -> 1.6.2 - - assimp 3.3.1 -> 4.0.0 - - beast 1.0.0-b30 -> v84-1 - - bond 5.3.1 -> 6.0.0 - - boost 1.64-2 -> 1.64-5 - - bzip2 1.0.6 -> 1.0.6-1 - - cairo 1.15.4 -> 1.15.6 - - catch 1.9.1 -> 1.9.6 - - cereal 1.2.1 -> 1.2.2 - - chakracore 1.4.0 -> 1.4.3 - - dimcli 1.0.3 -> 2.0.0 - - dlfcn-win32 1.1.0 -> 1.1.1 - - dlib 19.4-1 -> 19.4-4 - - doctest 1.1.0 -> 1.2.0 - - double-conversion 2.0.1 -> 3.0.0 - - eigen3 3.3.3 -> 3.3.4 - - expat 2.1.1 -> 2.1.1-1 - - ffmpeg 3.2.4-2 -> 3.2.4-3 - - fftw3 3.3.6-p11 -> 3.3.6-p12 - - flatbuffers 1.6.0 -> 1.7.1 - - fltk 1.3.4-2 -> 1.3.4-4 - - fmt 3.0.1-4 -> 4.0.0 - - fontconfig 2.12.1 -> 2.12.4 - - freeglut 3.0.0 -> 3.0.0-1 - - freeimage 3.17.0-1 -> 3.17.0-2 - - freerdp 2.0.0-beta1+android11 -> 2.0.0-rc0~vcpkg1 - - freetype 2.6.3-5 -> 2.8 - - gdcm2 2.6.7 -> 2.6.8 - - gettext 0.19 -> 0.19-1 - - gflags 2.2.0-2 -> 2.2.0-4 - - glew 2.0.0-1 -> 2.0.0-2 - - gli 0.8.2 -> 0.8.2-1 - - glib 2.52.1 -> 2.52.2 - - glm 0.9.8.1 -> 0.9.8.4 - - glog 0.3.4-0472b91-1 -> 0.3.5 - - glslang 1c573fbcfba6b3d631008b1babc838501ca925d3-1 -> 1c573fbcfba6b3d631008b1babc838501ca925d3-2 - - graphicsmagick 1.3.25 -> 1.3.26 - - grpc 1.2.3 -> 1.4.1 - - gsl 2.3 -> 2.4-1 - - gtk 3.22.11 -> 3.22.15 - - harfbuzz 1.4.6 -> 1.4.6-1 - - lcms 2.8 -> 2.8-1 - - libarchive 3.3.1 -> 3.3.2 - - libbson 1.6.2 -> 1.6.2-1 - - libepoxy 1.4.1-7d58fd3 -> 1.4.3 - - libevent 2.1.8-1 -> 2.1.8-2 - - libgd 2.2.4-1 -> 2.2.4-2 - - libjpeg-turbo 1.5.1-1 -> 1.5.2 - - libogg 1.3.2 -> 2017-07-27-cab46b19847 - - libpng 1.6.28-1 -> 1.6.31 - - libraw 0.18.0-1 -> 0.18.2-2 - - libuv 1.10.1-2 -> 1.13.1 - - log4cplus 1.1.3-RC7 -> REL_1_2_1-RC2 - - lzo 2.09 -> 2.10-1 - - msgpack 2.1.1 -> 2.1.5 - - msmpi 8.0-1 -> 8.1 - - nana 1.4.1-66be23c9204c5567d1c51e6f57ba23bffa517a7c -> 1.5.4 - - openal-soft 1.17.2 -> 1.18.1 - - openblas v0.2.19-1 -> v0.2.19-2 - - opencv 3.2.0-1 -> 3.2.0-3 - - openjpeg 2.1.2-1 -> 2.1.2-2 - - openssl 1.0.2k-2 -> 1.0.2l-1 - - openvr 1.0.5 -> 1.0.9 - - opus 1.1.4 -> 1.2.1 - - pango 1.40.5-1 -> 1.40.6 - - pcre 8.40 -> 8.41 - - pdcurses 3.4 -> 3.4-1 - - portaudio 19.0.6.00 -> 19.0.6.00-1 - - protobuf 3.2.0 -> 3.3.0-3 - - pybind11 2.1.0 -> 2.1.0-1 - - qt5 5.8-1 -> 5.8-4 - - qwt 6.1.3-1 -> 6.1.3-2 - - ragel 6.9 -> 6.10 - - range-v3 20150729-vcpkg3 -> 20151130-vcpkg4 - - rxcpp 3.0.0 -> 4.0.0-1 - - sdl2 2.0.5-2 -> 2.0.5-3 - - sdl2-image 2.0.1 -> 2.0.1-1 - - sdl2-mixer 2.0.1 -> 2.0.1-1 - - sdl2-net 2.0.1 -> 2.0.1-1 - - sdl2-ttf 2.0.14 -> 2.0.14-1 - - smpeg2 2.0.0 -> 2.0.0-1 - - spdlog 0.12.0 -> 0.13.0 - - sqlite3 3.18.0-1 -> 3.19.1-1 - - taglib 1.11.1-1 -> 1.11.1-3 - - tbb 20160916 -> 2017_U7 - - think-cell-range e2d3018 -> 498839d - - tiff 4.0.7-1 -> 4.0.8 - - tinyxml2 3.0.0 -> 5.0.1 - - utfcpp 2.3.4 -> 2.3.5 - - uwebsockets 0.14.2 -> 0.14.3 - - vtk 7.1.0 -> 7.1.1-1 - - wt 3.3.7 -> 3.3.7-1 - - zstd 1.1.1 -> 1.3.0 - * `vcpkg` has exceeded 300 libraries! - * Add the following options to `vcpkg export` command: `--nuget-id`, `--nuget-version` - * Improve `vcpkg help`: - - Improve clarity - - Add `vcpkg help ` option (example: `vcpkg help export`) - - Add `vcpkg help topics` option - * `vcpkg search` now also searches in the description of ports - * Documentation has been reworked and is now also available in ReadTheDocs: https://vcpkg.readthedocs.io/ - * Bump required version & auto-downloaded version of `cmake` to 3.9.0 (was 3.8.0) - * Bump required version & auto-downloaded version of `nuget` to 4.1.0 (was 3.5.0) - * Huge number of fixes and improvements in the `vcpkg` tool - --- vcpkg team MON, 07 Aug 2017 16:00:00 -0800 - - -vcpkg (0.0.81) --------------- - * Add ports: - - atlmfc 0 - - giflib 5.1.4 - - graphicsmagick 1.3.25 - - libmad 0.15.1 - - libsndfile libsndfile-1.0.29-6830c42 - - ms-gsl 20170425-8b320e3f5d016f953e55dfc7ec8694c1349d3fe4 (**see below) - - taglib 1.11.1-1 - - xalan-c 1.11-1 - * Update ports: - - ace 6.4.2 -> 6.4.3 - - bond 5.2.0 -> 5.3.1 - - boost 1.63-4 -> 1.64-2 - - cppzmq 0.0.0-1 -> 4.2.1 - - gdal 1.11.3-1 -> 1.11.3-3 - - gdk-pixbuf 2.36.5 -> 2.36.6 - - grpc 1.1.2-1 -> 1.2.3 - - gsl 0-fd5ad87bf -> 2.3 (**see below) - - harfbuzz 1.3.4-2 -> 1.4.6 - - icu 58.2-1 -> 59.1-1 - - libflac 1.3.2-1 -> 1.3.2-2 - - libmodplug 0.8.8.5-bb25b05 -> 0.8.9.0 - - pango 1.40.4 -> 1.40.5-1 - - pcre 8.38-1 -> 8.40 - - poco 1.7.6-4 -> 1.7.8 - - qt5 5.7.1-7 -> 5.8-1 - - wt 3.3.6-3 -> 3.3.7 - * The Guidelines Support Library has been renamed from`gsl` to `ms-gsl`. The GNU Scientific Library has been added as `gsl`. - * Introducing `vcpkg export` command: - - Exports one or more installed packages along with their dependencies - - Options for target format: --nuget --7zip --zip --raw (can specify more than one) - - Option `--dry-run`: This will print out the export plan, but will not actually perform the export - - More information and examples [here](https://blogs.msdn.microsoft.com/vcblog/2017/05/03/vcpkg-introducing-export-command/). - * Add `--head` option for `vcpkg install`. It only applies to github-based project and allows you to use the latest master commit - - For example: `./vcpkg install cpprestsdk:x64-windows --head` will build cpprestsdk from the latest master commit instead of version 2.9.0 specified in the `CONTROL` file - * Bump auto-downloaded version of `cmake` to 3.8.0 (was 3.8.0rc1) - * `--options` are now case-insensitive - * `vcpkg` now uses `clang-format` - * Fixes and improvements in the `vcpkg` tool - --- vcpkg team WED, 03 May 2017 18:00:00 -0800 - - -vcpkg (0.0.80) --------------- - * Add ports: - - clapack 3.2.1 - - geographiclib 1.47-patch1-3 - - libevent 2.1.8-1 - - mdnsresponder 765.30.11 - - openblas v0.2.19-1 - - picojson 1.3.0 - - sdl2-mixer 2.0.1 - - sdl2-net 2.0.1 - - sdl2-ttf 2.0.14 - * Update ports: - - azure-storage-cpp 3.0.0 -> 3.0.0-2 - - catch 1.8.2 -> 1.9.1 - - eigen3 3.3.0 -> 3.3.3 - - glib 2.50.3 -> 2.52.1 - - libbson 1.5.1 -> 1.6.2 - - libpng 1.6.28 -> 1.6.28-1 - - libvorbis 1.3.5-1-143caf4023a90c09a5eb685fdd46fb9b9c36b1ee -> 1.3.5-143caf4-2 - - libxml2 2.9.4 -> 2.9.4-1 - - mongo-c-driver 1.5.1 -> 1.6.2 - - mongo-cxx-driver 3.0.3-1 -> 3.1.1 - - opencv 3.2.0 -> 3.2.0-1 - - qwt 6.1.3 -> 6.1.3-1 - - uwebsockets 0.14.1 -> 0.14.2 - - xerces-c 3.1.4 -> 3.1.4-3 - * Added `System32\Wbem` to the sanizited environment - * `--debug` flag will now show environment information when launching external commands - * `vcpkg install` command has been enhanced: - - When a package build starts or ends, a message with the package name is diplayed - - Before the start of the build, a summary of the install plan is displayed - - Added new option `--dry-run`: This will print out the install plan, but will not actually perform the install - * Add CI badge in the front page - * Fix WindowsSDK detection to correctly handle the new optional c++ desktop deployment of the Windows SDK. - * Reduce verbosity of `vcpkg remove` when purging the package - * Fixes and improvements in the `vcpkg` tool itself - --- vcpkg team WED, 18 Apr 2017 18:00:00 -0800 - - -vcpkg (0.0.79) --------------- - * Add ports: - - ecm 5.32.0 - - libgd 2.2.4-1 - - octomap cefed0c1d79afafa5aeb05273cf1246b093b771c-1 - * Update ports: - - boost 1.63-3 -> 1.63-4 - - cuda 8.0 -> 8.0-1 - - freeimage 3.17.0 -> 3.17.0-1 - - freetype 2.6.3-4 -> 2.6.3-5 - - glfw3 3.2.1 -> 3.2.1-1 - - libarchive 3.2.2-2 -> 3.3.1 - - pqp 1.3 -> 1.3-1 - - qt5 5.7.1-6 -> 5.7.1-7 - - sqlite3 3.17.0 -> 3.18.0-1 - * `vcpkg` has exceeded 200 libraries! - * `vcpkg remove` command has been reworked: - - `vcpkg remove ` now uninstalls and deletes the package by default. Previously, this was the behavior of `vpckg remove --purge ` - - `vcpkg remove --no-purge` now uninstalls the package without deleting it. Previously, this was the behavior or `vcpkg remove ` - - Added new option `--dry-run`: This will print out the remove plan, but will not actually perform the removal - - Added new option `--outdated`: Using `vcpkg remove --outdated` will remove all packages for which updates are available - * Add `bootstrap-vcpkg.bat` in the root directory for easier building of `vcpkg` - - Also fix a regression with `vcpkg` bootstrapping - * Add information about how to use header-only libraries from cmake in [EXAMPLES.md](docs\EXAMPLES.md) - * `vcpkg build_external` changed to `vcpkg build-external` (underscore to dash) - * Fixes and improvements in existing portfiles and the `vcpkg` tool itself - --- vcpkg team WED, 05 Apr 2017 15:00:00 -0800 - - -vcpkg (0.0.78) --------------- - * Add ports: - - libp7-baical 4.1 - - pybind11 2.1.0 - - xxhash 0.6.2 - * Update ports: - - catch 1.8.1 -> 1.8.2 - - glog 0.3.4-0472b91 -> 0.3.4-0472b91-1 - - libuv 1.10.1 -> 1.10.1-2 - - libwebp 0.5.1-1 -> 0.6.0-1 - - range-v3 20150729-vcpkg2 -> 20150729-vcpkg3 - - tiff 4.0.6-2 -> 4.0.7 - - uwebsockets 0.13.0-1 -> 0.14.1 - * `--debug` flag enhanced to give line information on any exit. Applies to any `vcpkg` command - * Improve error messages when requesting a portfile that does not exist (for example via command line or via dependencies) - * Add `EMPTY_INCLUDE_FOLDER` policy - * Fixes and improvements in existing portfiles and the `vcpkg` tool itself - --- vcpkg team TUE, 28 Mar 2017 21:15:00 -0800 - - -vcpkg (0.0.77) --------------- - * Add ports: - - beast 1.0.0-b30 - - botan 2.0.1 - - cairomm 1.15.3-1 - - dlfcn-win32 1.1.0 - - freerdp 2.0.0-beta1+android11 - - gdcm2 2.6.7 - - jbigkit 2.1 - - libpopt 1.16-10~vcpkg1 - - libvpx 1.6.1-1 - - libwebm 1.0.0.27-1 - - msgpack 2.1.1 - - nlohmann-json 2.1.1 - - pcre2 10.23 - - tinyexr v0.9.5-d16ea6 - - xlnt 0.9.4 - * Update ports: - - antlr4 4.6 -> 4.6-1 - - atk 2.22.0 -> 2.24.0 - - boost 1.63-2 -> 1.63-3 - - dlib 19.2 -> 19.4-1 - - glib 2.50.2 -> 2.50.3 - - gtk 3.22.8 -> 3.22.11 - - libepoxy 1.4.0-2432daf-1 -> 1.4.1-7d58fd3 - - libjpeg-turbo 1.4.90-1 -> 1.5.1-1 - - liblzma 5.2.3 -> 5.2.3-1 - - mpg123 1.23.3 -> 1.24.0-1 - - mpir 2.7.2-1 -> 3.0.0-2 - - pango 1.40.3 -> 1.40.4 - - qt5 5.7.1-5 -> 5.7.1-6 - - uwebsockets 0.12.0 -> 0.13.0-1 - * Improvements and fixes in the sanizited environment introduced in the previous version - * `--debug` flag now gives line information when an error occurs. Applies to any `vcpkg` command - * Fixes and improvements around launching powershell scripts - - Correct handling of spaces in the path - - Ignore user profile (-NoProfile) - * `openssl`: Enable building in paths with space and ignore installed versions in `C:/OpenSSL/` - * Fixes and improvements in existing portfiles and the `vcpkg` tool itself - --- vcpkg team WED, 22 Mar 2017 15:30:00 -0800 - - -vcpkg (0.0.76) --------------- - * Add ports: - - ffmpeg 3.2.4-2 - - fftw3 3.3.6-p11 - - flatbuffers 1.6.0 - - netcdf-c 4.4.1.1-1 - - netcdf-cxx4 4.3.0 - - portaudio 19.0.6.00 - - vtk 7.1.0 - * Update ports: - - azure-storage-cpp 2.6.0 -> 3.0.0 - - boost 1.63 -> 1.63-2 - - bullet3 2.83.7.98d4780 -> 2.86.1 - - catch 1.5.7 -> 1.8.1 - - cppwinrt 1.010.0.14393.0 -> feb2017_refresh-14393 - - hdf5 1.8.18 -> 1.10.0-patch1-1 - - libflac 1.3.2 -> 1.3.2-1 - - libpng 1.6.24-1 -> 1.6.28 - - lua 5.3.3-2 -> 5.3.4 - - msmpi 8.0 -> 8.0-1 - - openjpeg 2.1.2 -> 2.1.2-1 - - poco 1.7.6-3 -> 1.7.6-4 - - szip 2.1 -> 2.1-1 - - zeromq 4.2.0 -> 4.2.2 - * `vcpkg` now launches external commands (most notably builds) in a sanitized environment - * Better proxy handling when fetching dependencies (cmake/git/nuget) - * Fix more VS2017 issues - * Fixes and improvements in existing portfiles and the `vcpkg` tool itself - --- vcpkg team MON, 10 Mar 2017 17:45:00 -0800 - - -vcpkg (0.0.75) --------------- - * Add ports: - - dlib 19.2 - - gtk 3.22.8 - - pqp 1.3 - - pugixml 1.8.1 - * Update ports: - - clockutils 1.1.1 -> 1.1.1-3651f232c27074c4ceead169e223edf5f00247c5 - - grpc 1.1.0-dev-1674f65-2 -> 1.1.2-1 - - libflac 1.3.1-1 -> 1.3.2 - - liblzma 5.2.2 -> 5.2.3 - - libmysql 5.7.17 -> 5.7.17-1 - - lz4 1.7.4.2 -> 1.7.5 - - mongo-cxx-driver 3.0.3 -> 3.0.3-1 - - nana 1.4.1 -> 1.4.1-66be23c9204c5567d1c51e6f57ba23bffa517a7c - - opengl 10.0.10240.0 -> 0.0-3 - - protobuf 3.0.2 -> 3.2.0 - - qt5 5.7.1-2 -> 5.7.1-5 - - spdlog 0.11.0 -> 0.12.0 - * Numerous improvements in Visual Studio, MSBuild and Windows SDK auto-detection - * `vcpkg integrate install` now outputs the specific toolchain file to use for CMake integration - * All commands now checks for `--options` and will issue an error on unknown options. - - Previously only commands with options would do this (for example `vcpkg remove --purge `) and commands with no options would ignore them, for example `vcpkg install --purge ` - * Update version of the automatically acquired JOM, python - - Also, for python: automatically acquire the 32-bit versions instead of the 64-bit ones - * Fixes and improvements in existing portfiles and the `vcpkg` tool itself - --- vcpkg team MON, 27 Feb 2017 14:00:00 -0800 - - -vcpkg (0.0.74) --------------- - * Bump required version & auto-downloaded version of `cmake` to 3.8.0 (was 3.7.x). This fixes UWP builds with Visual Studio 2017 - * Fix `vcpkg build` not printing out the missing dependencies on fail - * Fixes and improvements in the `vcpkg` tool itself - --- vcpkg team THU, 16 Feb 2017 18:15:00 -0800 - - -vcpkg (0.0.73) --------------- - * Add ports: - - gdk-pixbuf 2.36.5 - - openvr 1.0.5 - * Update ports: - - lmdb 0.9.18-1 -> 0.9.18-2 - - opencv 3.1.0-1 -> 3.2.0 - - sqlite3 3.15.0 -> 3.17.0 - * Add functions to correctly find the "Program Files" folders in all parts of `vcpkg` (C++, CMake, powershell) - * Flush std::cout before launching an external process. Fixes issues when redirecting std::cout to a file - * Update version of the automatically acquired nasm. Resolves build failure with libjpeg-turbo - * Change the format of the listfile. The file is now sorted and directories now have a trailing slash so they can easily be identified. - - Old listfiles will be automatically updated on first access. This will happen to all old listfiles when a new package is installed (`vcpkg install`) or after a call to `vcpkg owns`. - * Fixes and improvements in existing portfiles and the `vcpkg` tool itself - --- vcpkg team WED, 15 Feb 2017 19:30:00 -0800 - - -vcpkg (0.0.72) --------------- - * Add ports: - - cuda 8.0 - - hdf5 1.8.18 - - lcms 2.8 - - libepoxy 1.4.0-2432daf-1 - - libnice 0.1.13 - - msmpi 8.0 - - parmetis 4.0.3 - - sqlite-modern-cpp 2.4 - - websocketpp 0.7.0 - * Update ports: - - asio 1.10.6 -> 1.10.8 - - aws-sdk-cpp 1.0.47 -> 1.0.61 - - bond 5.0.0-4-g53ea136 -> 5.2.0 - - cpprestsdk 2.9.0-1 -> 2.9.0-2 - - fmt 3.0.1-1 -> 3.0.1-4 - - grpc 1.1.0-dev-1674f65-1 -> 1.1.0-dev-1674f65-2 - - libraw 0.17.2-2 -> 0.18.0-1 - - libvorbis 1.3.5-143caf4023a90c09a5eb685fdd46fb9b9c36b1ee -> 1.3.5-1-143caf4023a90c09a5eb685fdd46fb9b9c36b1ee - - poco 1.7.6-2 -> 1.7.6-3 - - rapidjson 1.0.2-1 -> 1.1.0 - - sfml 2.4.1 -> 2.4.2 - - wt 3.3.6-2 -> 3.3.6-3 - * Introduce Build Policies: - - Packages with special characteristics (e.g. CUDA) can now use Build Policies to control which post-build checks apply to them. - * Improve support for Visual Studio 2017 - - Add auto-detection for Windows SDK - - Fixed various issues with `bootstrap.ps1` and VS2017 support - * Automatic acquisition of perl now uses the 32-bit version isntead of the 64-bit version - * Fix `vcpkg remove --purge` not applying to non-installed packages - * Fixes and improvements in existing portfiles and the `vcpkg` tool itself - --- vcpkg team TUE, 14 Feb 2017 11:30:00 -0800 - - -vcpkg (0.0.71) --------------- - * Add ports: - - atk 2.22.0 - - fontconfig 2.12.1 - - opus 1.1.4 - - pango 1.40.3 - - xerces-c 3.1.4 - * Update ports: - - boost 1.62-11 -> 1.63 - - cairo 1.14.6 -> 1.15.4 - - directxtk dec2016 -> dec2016-1 - - fltk 1.3.4-1 -> 1.3.4-2 - - gdal 1.11.3 -> 1.11.3-1 - - harfbuzz 1.3.4 -> 1.3.4-2 - - libarchive 3.2.2 -> 3.2.2-2 - - libmariadb 2.3.1 -> 2.3.2 - - mpir 2.7.2 -> 2.7.2-1 - - openssl 1.0.2j-2 -> 1.0.2k-2 - - wt 3.3.6 -> 3.3.6-2 - * Improve `vcpkg remove`: - - Now shows all dependencies that need to be removed instead of just the immediate dependencies - - Add `--recurse` option that removes all dependencies - - Improve messages - * Improve support for Visual Studio 2017 - - Better VS2017 detection - - Fixed various issues with `bootstrap.ps1` and VS2017 support - * Fix `vcpkg_copy_pdbs()` under non-English locale - * Notable changes for buiding the `vcpkg` tool: - - Restructure `vcpkg` project hierarchy. Now only has 4 projects (down from 6). Most of the code now lives under vcpkglib.vcxproj - - Enable multiprocessor compilation - - Disable MinimalRebuild - - Use precompiled headers - * Fixes and improvements in existing portfiles and the `vcpkg` tool itself - --- vcpkg team MON, 30 Jan 2017 23:00:00 -0800 - - -vcpkg (0.0.70) --------------- - * Add ports: - - fltk 1.3.4-1 - - glib 2.50.2 - - lzo 2.09 - - uvatlas sept2016 - * Update ports: - - dx 1.0.0 -> 1.0.1 - - libmysql 5.7.16 -> 5.7.17 - * Add support for Visual Studio 2017 - - Previously, you could use Visual Studio 2017 for your own application and `vcpkg` integration would work, but you needed to have Visual Studio 2015 to build `vcpkg` itself as well as the libraries. This requirement has now been removed - - If both Visual Studio 2015 and Visual Studio 2017 are installed, Visual Studio 2017 tools will be preferred over those of Visual Studio 2015 - * Bump required version & auto-downloaded version of `cmake` to 3.7.2 (was 3.5.x), which includes generators for Visual Studio 2017 - * Bump auto-downloaded version of `nuget` to 3.5.0 (was 3.4.3) - * Bump auto-downloaded version of `git` to 2.11.0 (was 2.8.3) - * Fixes and improvements in existing portfiles and the `vcpkg` tool itself - --- vcpkg team MON, 23 Jan 2017 19:50:00 -0800 - - -vcpkg (0.0.67) --------------- - * Add ports: - - cereal 1.2.1 - - directxmesh oct2016 - - directxtex dec2016 - - metis 5.1.0 - - sdl2-image 2.0.1 - - szip 2.1 - * Update ports: - - ace 6.4.0 -> 6.4.2 - - boost 1.62-9 -> 1.62-11 - - curl 7.51.0-2 -> 7.51.0-3 - - directxtk oct2016-1 -> dec2016 - - directxtk12 oct2016 -> dec2016 - - freetype 2.6.3-3 -> 2.6.3-4 - - glew 2.0.0 -> 2.0.0-1 - - grpc 1.1.0-dev-1674f65 -> 1.1.0-dev-1674f65-1 - - http-parser 2.7.1 -> 2.7.1-1 - - libssh2 1.8.0 -> 1.8.0-1 - - libwebsockets 2.0.0 -> 2.0.0-1 - - openssl 1.0.2j-1 -> 1.0.2j-2 - - tiff 4.0.6-1 -> 4.0.6-2 - - zlib 1.2.10 -> 1.2.11 - * Add 7z to `vcpkg_find_acquire_program.cmake` - * Enhance `vcpkg_build_cmake.cmake` and `vcpkg_install_cmake.cmake`: - - Add option to disable parallel building (it is enabled by default) - - Add option to use the 64-bit toolset (for the 32-bit builds; output binaries are still 32-bit) - * Fix bug in `applocal.ps1` that would infinitely recurse when there were no depenndencies - * Fixes and improvements in existing portfiles and the `vcpkg` tool itself - --- vcpkg team WED, 18 Jan 2017 13:45:00 -0800 - - -vcpkg (0.0.66) --------------- - * Add ports: - - antlr4 4.6 - - bzip2 1.0.6 - - dx 1.0.0 - - gli 0.8.2 - - libarchive 3.2.2 - - libffi 3.1 - - liblzma 5.2.2 - - libmodplug 0.8.8.5-bb25b05 - - libsigcpp 2.10 - - lmdb 0.9.18-1 - - lz4 1.7.4.2 - - ogre 1.9.0 - - qwt 6.1.3 - - smpeg2 2.0.0 - - spirv-tools 1.1-f72189c249ba143c6a89a4cf1e7d53337b2ddd40 - * Update ports: - - aws-sdk-cpp 1.0.34-1 -> 1.0.47 - - azure-storage-cpp 2.5.0 -> 2.6.0 - - boost 1.62-8 -> 1.62-9 - - chakracore 1.3.1 -> 1.4.0 - - freetype 2.6.3-2 -> 2.6.3-3 - - icu 58.1 -> 58.2-1 - - libbson 1.5.0-rc6 -> 1.5.1 - - libvorbis -> 1.3.5-143caf4023a90c09a5eb685fdd46fb9b9c36b1ee - - lua 5.3.3-1 -> 5.3.3-2 - - mongo-c-driver 1.5.0-rc6 -> 1.5.1 - - pixman 0.34.0 -> 0.34.0-1 - - qt5 5.7-1 -> 5.7.1-2 - - sdl2 2.0.5 -> 2.0.5-2 - - zlib 1.2.8 -> 1.2.10 - * Improvements in pre-install checks: - - Refactor file-exists-check. Improved clarity and performance. - * Fixes and improvements in existing portfiles and the `vcpkg` tool itself - --- vcpkg team TUE, 10 Jan 2017 17:15:00 -0800 - - -vcpkg (0.0.65) --------------- - * Add ports: - - anax 2.1.0-1 - - aws-sdk-cpp 1.0.34-1 - - azure-storage-cpp 2.5.0 - - charls 2.0.0 - - dimcli 1.0.3 - - entityx 1.2.0 - - freeimage 3.17.0 - - gdal 1.11.3 - - globjects 1.0.0 - - http-parser 2.7.1 - - icu 58.1 - - libflac 1.3.1-1 - - libssh2 1.8.0 - - nana 1.4.1 - - qca 2.2.0 - - sfml 2.4.1 - - shaderc 2df47b51d83ad83cbc2e7f8ff2b56776293e8958 - - uwebsockets 0.12.0 - - yaml-cpp 0.5.4 candidate - * Update ports: - - boost 1.62-6 -> 1.62-8 - - curl 7.51.0-1 -> 7.51.0-2 - - gflags 2.1.2 -> 2.2.0-2 - - glbinding 2.1.1 -> 2.1.1-1 - - glslang 1c573fbcfba6b3d631008b1babc838501ca925d3 -> 1c573fbcfba6b3d631008b1babc838501ca925d3-1 - - harfbuzz 1.3.2 -> 1.3.4 - - jxrlib 1.1-1 -> 1.1-2 - - libraw 0.17.2 -> 0.17.2-2 - - lua 5.3.3 -> 5.3.3-1 - - openssl 1.0.2j -> 1.0.2j-1 - * Improvements in the post-build checks: - - Add check for files in the `\` dir and `\debug\` dir - * Introduce pre-install checks: - - The `install` command now checks that files will not be overwrriten when installing a package. A particular file can only be owned by a single package - * Introduce 'lib\manul-link\' directory. Libraries placing the lib files in that directory are not automatically added to the link line - * Disable all interactions with CMake registry - * `vcpkg /?` is now a valid equivalent of `vcpkg help` - * Fixes and improvements in existing portfiles and the `vcpkg` tool itself - --- vcpkg team MON, 12 Dec 2016 18:15:00 -0800 - - -vcpkg (0.0.61) --------------- - * Add ports: - - cairo 1.14.6 - - clockutils 1.1.1 - - directxtk oct2016-1 - - directxtk12 oct2016 - - glslang 1c573fbcfba6b3d631008b1babc838501ca925d3 - - libodb-pgsql 2.4.0 - - pixman 0.34.0 - - proj 4.9.3 - - zstd 1.1.1 - * Update ports: - - chakracore 1.3.0 -> 1.3.1 - - curl 7.51.0 -> 7.51.0-1 - - dxut 11.14 -> 11.14-2 - - fmt 3.0.1 -> 3.0.1-1 - - freetype 2.6.3-1 -> 2.6.3-2 - - rxcpp 2.3.0 -> 3.0.0 - - think-cell-range 1d785d9 -> e2d3018 - - tiff 4.0.6 -> 4.0.6-1 - * Fixes and improvements in existing portfiles and the `vcpkg` tool itself - --- vcpkg team MON, 28 Nov 2016 18:30:00 -0800 - - -vcpkg (0.0.60) --------------- - * Add ports: - - box2d 2.3.1-374664b - - decimal-for-cpp 1.12 - - jsoncpp 1.7.7 - - libpq 9.6.1 - - libxslt 1.1.29 - - poco 1.7.6-2 - - qt5 5.7-1 - - signalrclient 1.0.0-beta1 - - soci 2016.10.22 - - tclap 1.2.1 - * Update ports: - - boost 1.62-1 -> 1.62-6 - - chakracore 1.2.0.0 -> 1.3.0 - - eigen3 3.2.10-2 -> 3.3.0 - - fmt 3.0.0-1 -> 3.0.1 - - jxrlib 1.1 -> 1.1-1 - - libbson 1.4.2 -> 1.5.0-rc6 - - libuv 1.9.1 -> 1.10.1 - - libwebp 0.5.1 -> 0.5.1-1 - - mongo-c-driver 1.4.2 -> 1.5.0-rc6 - - mongo-cxx-driver 3.0.2 -> 3.0.3 - - pcre 8.38 -> 8.38-1 - - sdl2 2.0.4 -> 2.0.5 - * `vcpkg` has exceeded 100 libraries! - * Rework dependency handling - * Many more portfiles now support static builds. The remaining ones warn that static is not yet supported and will perform a dynamic build instead - * The triplet file is now automatically included and is available in every portfile - * Improvements in the post-build checks: - - Introduce `BUILD_INFO` file. This contains information about the settings used in the build. The post-build checks use this file to choose what checks to perform - - Add CRT checks - - Improve coff file reader. It is now more robust and it correctly handles a couple of corner cases - - A few miscellaneous checks to further prevent potential issues with the produced packages - * Improve integration and fix related issues - * Add support for VS 2017 - * Introduce function that tries to repeatedly build up to a number of failures. This reduces/resolves issues from libraries with flaky builds - * Many fixes and improvements in existing portfiles and the `vcpkg` tool itself - --- vcpkg team WED, 23 Nov 2016 15:30:00 -0800 - - -vcpkg (0.0.51) --------------- - * Add simple substring search to `vcpkg cache` - * Add simple substring search to `vcpkg list` - --- vcpkg team MON, 07 Nov 2016 14:45:00 -0800 - - -vcpkg (0.0.50) --------------- - * Add ports: - - apr 1.5.2 - - assimp 3.3.1 - - boost-di 1.0.1 - - bullet3 2.83.7.98d4780 - - catch 1.5.7 - - chakracore 1.2.0.0 - - cppwinrt 1.010.0.14393.0 - - cppzmq 0.0.0-1 - - cryptopp 5.6.5 - - double-conversion 2.0.1 - - dxut 11.14 - - fastlz 1.0 - - freeglut 3.0.0 - - geos 3.5.0 - - gettext 0.19 - - glbinding 2.1.1 - - glog 0.3.4-0472b91 - - harfbuzz 1.3.2 - - jxrlib 1.1 - - libbson 1.4.2 - - libccd 2.0.0 - - libmariadb 2.3.1 - - libmysql 5.7.16 - - libodb 2.4.0 - - libodb-sqlite 2.4.0 - - libogg 1.3.2 - - libraw 0.17.2 - - libtheora 1.1.1 - - libvorbis - - libwebp 0.5.1 - - libxml2 2.9.4 - - log4cplus 1.1.3-RC7 - - lua 5.3.3 - - mongo-c-driver 1.4.2 - - mongo-cxx-driver 3.0.2 - - nanodbc 2.12.4 - - openjpeg 2.1.2 - - pcre 8.38 - - pdcurses 3.4 - - physfs 2.0.3 - - rxcpp 2.3.0 - - spdlog 0.11.0 - - tbb 20160916 - - think-cell-range 1d785d9 - - utfcpp 2.3.4 - - wt 3.3.6 - - wtl 9.1 - - zeromq 4.2.0 - - zziplib 0.13.62 - * Update ports: - - boost 1.62 -> 1.62-1 - - cpprestsdk 2.8 -> 2.9.0-1 - - curl 7.48.0 -> 7.51.0 - - eigen3 3.2.9 -> 3.2.10-2 - - freetype 2.6.3 -> 2.6.3-1 - - glew 1.13.0 -> 2.0.0 - - openssl 1.0.2h -> 1.0.2j - - range-v3 0.0.0-1 -> 20150729-vcpkg2 - - sqlite3 3120200 -> 3.15.0 - * Add support for static libraries - * Add more post build checks - * Improve post build checks related to verifying information in the dll/pdb files (e.g. architecture) - * Many fixes in existing portfiles - * Various updates in FAQ - * Release builds now create pdbs (debug builds already did) - --- vcpkg team MON, 07 Nov 2016 00:01:00 -0800 - - -vcpkg (0.0.40) --------------- - * Add ports: - - ace 6.4.0 - - asio 1.10.6 - - bond 5.0.0 - - constexpr 1.0 - - doctest 1.1.0 - - eigen3 3.2.9 - - fmt 3.0.0 - - gflags 2.1.2 - - glm 0.9.8.1 - - grpc 1.1.0 - - gsl 0-fd5ad87bf - - gtest 1.8 - - libiconv 1.14 - - mpir 2.7.2 - - protobuf 3.0.2 - - ragel 6.9 - - rapidxml 1.13 - - sery 1.0.0 - - stb 1.0 - * Update ports: - - boost 1.62 - - glfw3 3.2.1 - - opencv 3.1.0-1 - * Various fixes in existing portfiles - * Introduce environment variable `VCPKG_DEFAULT_TRIPLET` - * Replace everything concerning MD5 with SHA512 - * Add mirror support - * `vcpkg` now checks for valid package names: only ASCII lowercase chars, digits, or dashes are allowed - * `vcpkg create` now also creates a templated CONTROL file - * `vcpkg create` now checks for invalid chars in the zip path - * `vcpkg edit` now throws an error if it cannot launch an editor - * Fix `vcpkg integrate` to only apply to C++ projects instead of all projects - * Fix `vcpkg integrate` locale-specific failures - * `vcpkg search` now does simple substring searching - * Fix path that assumed Visual Studio is installed in default location - * Enable multicore builds by default - * Add `.vcpkg-root` file to detect the root directory - * Fix `bootstrap.ps1` to work with older versions of powershell - * Add `SOURCE_PATH` variable to all portfiles. - * Many improvements in error messages shown by `vcpkg` - * Various updates in FAQ - * Move `CONTRIBUTING.md` to root - --- vcpkg team WED, 05 Oct 2016 17:00:00 -0700 - - -vcpkg (0.0.30) --------------- - * DLLs are now accompanied with their corresponding PDBs. - * Rework removal commands. `vcpkg remove ` now uninstalls the package. `vcpkg remove --purge ` now uninstalls and also deletes the package. - * Rename option --arch to --triplet. - * Extensively rework directory tree layout to make it more intuitive. - * Improve post-build verification checks. - * Improve post-build verification messages; they are now more compact, more consistent and contain more suggestions on how to resolve the issues found. - * Fix `vcpkg integrate project` in cases where the path contained non-alphanumeric chars. - * Improve handling of paths. In general, commands with whitespace and non-ascii characters should be handled better now. - * Add colorized output for `vcpkg clean` and `vcpkg purge`. - * Add colorized output for many more errors. - * Improved `vcpkg update` to identify installed libraries that are out of sync with their portfiles. - * Added list of example port files to EXAMPLES.md - * Rename common CMake utilities to use prefix `vcpkg_`. - * [libpng] Fixed x86-uwp and x64-uwp builds. - * [libjpeg-turbo] Fixed x86-uwp and x64-uwp builds via suppressing static CRT linkage. - * [rapidjson] New library. - --- vcpkg team WED, 18 Sep 2016 20:50:00 -0700 diff --git a/CONTRIBUTING_pt.md b/CONTRIBUTING_pt.md new file mode 100644 index 00000000000000..63c4c885fbb4c3 --- /dev/null +++ b/CONTRIBUTING_pt.md @@ -0,0 +1,36 @@ +# Diretrizes de Contribuição + +Vcpkg é um esforço da comunidade para construir um ecossistema produtivo e robusto de bibliotecas nativas - suas contribuições são inestimáveis! + +## Problemas (issues) + +A maneira mais fácil de contribuir é relatando problemas com `vcpkg.exe` ou um pacote existente no [GitHub](https://github.com/Microsoft/vcpkg). Ao relatar um problema com `vcpkg.exe`, certifique-se de indicar claramente: + +- A configuração da máquina: "Estou usando a Atualização de Aniversário do Windows 10. Minha máquina está usando a localidade fr-fr. Executei com sucesso o 'instal boost'." +- As etapas para reproduzir: "I run 'vcpkg list'" +- O resultado esperado: "Eu esperava ver 'boost:x86-windows'" +- O resultado real: "Não recebo nenhuma saída" ou "Recebo uma caixa de diálogo de travamento" + +Ao relatar um problema com um pacote, certifique-se de indicar claramente: + +- A configuração da máquina (como acima) +- Qual pacote e versão você está construindo: "opencv 3.1.0" +- Quaisquer logs de erro relevantes do processo de compilação. + +## Pull Requests + +Estamos felizes em aceitar solicitações de correções, recursos, novos pacotes e atualizações para pacotes existentes. Para evitar desperdício de tempo, recomendamos abrir um tópico para discutir se o PR que você está pensando em fazer será aceitável. Isso é duplamente verdadeiro para recursos e novos pacotes. + +### Diretrizes de novos pacotes + +Estamos felizes por você estar interessado em enviar um novo pacote! Aqui estão algumas diretrizes para ajudá-lo a criar um excelente portfile: + +- Evite patches funcionais. Os patches devem ser considerados um último recurso para implementar a compatibilidade quando não houver outra maneira. +- Quando os patches não puderem ser evitados, não modifique o comportamento padrão. O ciclo de vida ideal de um patch é ser mesclado no upstream e não ser mais necessário. Tente manter esse objetivo em mente ao decidir como corrigir algo. +- Prefira usar as funções `vcpkg_xyz` em vez de chamadas brutas `execute_command`. Isso facilita a manutenção de longo prazo quando novos recursos (como sinalizadores de compilador personalizados ou geradores) são adicionados. + +## Jurídico + +Você precisará preencher um Contrato de Licença de Colaborador (CLA) antes que sua solicitação pull possa ser aceita. Este contrato atesta que você está nos concedendo permissão para usar o código-fonte que está enviando e que este trabalho está sendo enviado sob a licença apropriada para que possamos usá-lo. + +Você pode concluir o CLA seguindo as etapas em . Assim que recebermos o CLA assinado, analisaremos a solicitação. Você só precisará fazer isso uma vez. diff --git a/CONTRIBUTING_zh.md b/CONTRIBUTING_zh.md new file mode 100644 index 00000000000000..7aef2f5dcb9fd8 --- /dev/null +++ b/CONTRIBUTING_zh.md @@ -0,0 +1,33 @@ +# 贡献准则 + +Vcpkg 是一个尝试由社区驱动,旨在构建一个多产的、健壮的本地库生态系统 - 您的贡献价值不可估量! + +## 报告问题 + +最简单的方法是通过 `vcpkg.exe` 或 [GitHub](https://github.com/Microsoft/vcpkg) 报告已有的包的问题。 当报告 `vcpkg.exe` 的问题时,确保清楚地说明: +- 机器设置: “我用的是Windows 10周年更新。 我的机器正位于fr-fr区域。 我成功地运行了'install boost'。” +- 复现步骤: “运行 'vcpkg list'” +- 预期结果: “我预期看到 'boost:x86-windows'” +- 实际结果: “没有输出” 或 “我得到一个崩溃对话框” + +当报告包的问题时,一定要清楚地说明: +- 机器设置 (上述) +- 您正在构建什么包以及它的版本,例如: “opencv 3.1.0” +- 构建过程中的任何相关错误日志 + +## 贡献 (PR) + +我们很乐意接受关于修复、特性、新包和更新现有包的拉取请求。 为了避免浪费您的时间,我们强烈建议您提交一个问题来讨论您想要制作的PR是否能被接受。 对于特性和新包来说也是如此。 + +### 新包贡献准则 + +我们很高兴您有兴趣来提交一个新的包! 这里有一些指导方针来帮助您编写一个优秀的端口文件: +- 避免功能补丁。 当没有其他方法时,补丁应该被视为实现兼容性的最后手段。 +- 当无法避免补丁时,请不要修改默认行为。 一个补丁的理想生命周期是与上游合并,不再被需要。 在决定如何修补某些内容时,请记住这一目标。 +- 相比原始的 `execute_command` 调用,尽量改为通过 `vcpkg_xyz` 函数实现。这使得在添加新特性(如自定义编译器标志或生成器)时更容易进行长期维护。 + +## 法律声明 + +在您的拉取请求被接受之前,您需要完成一个贡献者许可协议 (CLA)。 本协议证明您允许我们使用您提交的源代码,并且本作品是在合适的许可下提交的,我们可以使用它。 + +您可以通过 https://cla.microsoft.com 上的步骤来完成CLA。 一旦我们收到已签署的CLA,我们将审查请求。 您只需要这样做一次。 diff --git a/LICENSE.txt b/LICENSE.txt index 2e4eac8264fa4c..4d23e0e39b2531 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,23 +1,20 @@ -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: +Copyright (c) Microsoft Corporation + +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 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. +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/NOTICE_pt.txt b/NOTICE_pt.txt new file mode 100644 index 00000000000000..678ca692eff279 --- /dev/null +++ b/NOTICE_pt.txt @@ -0,0 +1,46 @@ +vcpkg usa material de terceiros dos projetos listados abaixo. +O aviso de direitos autorais original e a licença sob a qual a Microsoft +recebido tal material de terceiros são descritos abaixo. Microsoft +reserva-se todos os outros direitos não concedidos expressamente, seja por +implicação, preclusão ou de outra forma. + +No caso de falhamos acidentalmente em listar um aviso necessário, por favor +chame nossa atenção postando um problema. + +AVISOS E INFORMAÇÕES DE SOFTWARE DE TERCEIROS +Não traduza ou localize + +vcpkg incorpora material de terceiros dos projetos listados abaixo. +O aviso de direitos autorais original e a licença sob a qual a Microsoft recebeu +tais materiais de terceiros são apresentados abaixo. A Microsoft reservou todos os outros +direitos não concedidos expressamente, seja por implicação, preclusão ou de outra forma. + +1. Catch2 + +%% Catch2 AVISOS, INFORMAÇÕES E LICENÇA COMEÇAM AQUI +=========================================== +Boost Software License - Versão 1.0 - 17 de agosto de 2003 + +A permissão é concedida, gratuitamente, a qualquer pessoa ou organização +obter uma cópia do software e da documentação que o acompanha coberta por +esta licença (o "Software") para usar, reproduzir, exibir, distribuir, +executar e transmitir o Software e preparar trabalhos derivados do +Software, e para permitir que terceiros a quem o Software é fornecido +fazê-lo, tudo sujeito ao seguinte: + +Os avisos de direitos autorais no Software e toda esta declaração, incluindo +a concessão de licença acima, esta restrição e a seguinte isenção de responsabilidade, +devem ser incluídos em todas as cópias do Software, no todo ou em parte, e +todos os trabalhos derivados do Software, a menos que tais cópias ou derivados +as obras são exclusivamente na forma de código de objeto executável por máquina gerado por +um processador de linguagem de origem. + +O SOFTWARE É FORNECIDO "COMO ESTÁ", SEM GARANTIA DE QUALQUER TIPO, EXPRESSA OU +IMPLÍCITAS, INCLUINDO, SEM LIMITAÇÃO, AS GARANTIAS DE COMERCIALIZAÇÃO, +ADEQUAÇÃO A UM DETERMINADO FIM, TÍTULO E NÃO VIOLAÇÃO. EM NENHUM CASO +OS DETENTORES DOS DIREITOS AUTORAIS OU QUALQUER DISTRIBUIDOR DO SOFTWARE SERÃO RESPONSÁVEIS +POR QUAISQUER DANOS OU OUTRA RESPONSABILIDADE, SEJA EM CONTRATO, ILÍCITO OU DE OUTRA FORMA, +DECORRENTE DE OU EM CONEXÃO COM O SOFTWARE OU O USO OU OUTRO +NEGÓCIOS NO SOFTWARE. +=========================================== +FIM DOS AVISOS, INFORMAÇÕES E LICENÇA DE Catch2 \ No newline at end of file diff --git a/README.md b/README.md index 421f22cb5e8e5e..87ca864c4d975d 100644 --- a/README.md +++ b/README.md @@ -1,364 +1,147 @@ -# Vcpkg: Overview - -[中文总览](README_zh_CN.md) -[Español](README_es.md) -[한국어](README_ko_KR.md) -[Français](README_fr.md) - -Vcpkg helps you manage C and C++ libraries on Windows, Linux and MacOS. -This tool and ecosystem are constantly evolving, and we always appreciate contributions! - -If you've never used vcpkg before, or if you're trying to figure out how to use vcpkg, -check out our [Getting Started](#getting-started) section for how to start using vcpkg. - -For short description of available commands, once you've installed vcpkg, -you can run `vcpkg help`, or `vcpkg help [command]` for command-specific help. - -* Github: ports at [https://github.com/microsoft/vcpkg](https://github.com/microsoft/vcpkg), program at [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 -* Docs: [Documentation](docs/README.md) - -[![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) - -# Table of Contents - -- [Vcpkg: Overview](#vcpkg-overview) -- [Table of Contents](#table-of-contents) -- [Getting Started](#getting-started) - - [Quick Start: Windows](#quick-start-windows) - - [Quick Start: Unix](#quick-start-unix) - - [Installing Linux Developer Tools](#installing-linux-developer-tools) - - [Installing macOS Developer Tools](#installing-macos-developer-tools) - - [Installing GCC for macOS before 10.15](#installing-gcc-for-macos-before-1015) - - [Using vcpkg with CMake](#using-vcpkg-with-cmake) - - [Visual Studio Code with CMake Tools](#visual-studio-code-with-cmake-tools) - - [Vcpkg with Visual Studio CMake Projects](#vcpkg-with-visual-studio-cmake-projects) - - [Vcpkg with CLion](#vcpkg-with-clion) - - [Vcpkg as a Submodule](#vcpkg-as-a-submodule) -- [Tab-Completion/Auto-Completion](#tab-completionauto-completion) -- [Examples](#examples) -- [Contributing](#contributing) -- [License](#license) -- [Telemetry](#telemetry) - -# Getting Started - -First, follow the quick start guide for either -[Windows](#quick-start-windows), or [macOS and Linux](#quick-start-unix), -depending on what you're using. - -For more information, see [Installing and Using Packages][getting-started:using-a-package]. -If a library you need is not present in the vcpkg catalog, -you can [open an issue on the GitHub repo][contributing:submit-issue] -where the vcpkg team and community can see it, -and potentially add the port to vcpkg. - -After you've gotten vcpkg installed and working, -you may wish to add [tab completion](#tab-completionauto-completion) to your shell. - -Finally, if you're interested in the future of vcpkg, -check out the [manifest][getting-started:manifest-spec] guide! -This is an experimental feature and will likely have bugs, -so try it out and [open all the issues][contributing:submit-issue]! - -## Quick Start: Windows - -Prerequisites: -- Windows 7 or newer -- [Git][getting-started:git] -- [Visual Studio][getting-started:visual-studio] 2015 Update 3 or greater with the English language pack - -First, download and bootstrap vcpkg itself; it can be installed anywhere, -but generally we recommend using vcpkg as a submodule for CMake projects, -and installing it globally for Visual Studio projects. -We recommend somewhere like `C:\src\vcpkg` or `C:\dev\vcpkg`, -since otherwise you may run into path issues for some port build systems. - -```cmd -> git clone https://github.com/microsoft/vcpkg -> .\vcpkg\bootstrap-vcpkg.bat -``` - -To install the libraries for your project, run: - -```cmd -> .\vcpkg\vcpkg install [packages to install] -``` - -Note: This will install x86 libraries by default. To install x64, run: + -Or +[🌐 Read in a different language](https://learn.microsoft.com/locale/?target=https%3A%2F%2Flearn.microsoft.com%2Fvcpkg%2F) -```cmd -> .\vcpkg\vcpkg install [packages to install] --triplet=x64-windows -``` +# vcpkg overview -You can also search for the libraries you need with the `search` subcommand: +vcpkg is a free and open-source C/C++ package manager maintained by Microsoft +and the C++ community. -```cmd -> .\vcpkg\vcpkg search [search term] -``` +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. -In order to use vcpkg with Visual Studio, -run the following command (may require administrator elevation): +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). -```cmd -> .\vcpkg\vcpkg integrate install -``` +# Get started -After this, you can now create a New non-CMake Project (or open an existing one). -All installed libraries are immediately ready to be `#include`'d and used -in your project without additional configuration. +First, follow one of our quick start guides. -If you're using CMake with Visual Studio, -continue [here](#vcpkg-with-visual-studio-cmake-projects). +Whether you're using CMake, MSBuild, or any other build system, vcpkg has you covered: -In order to use vcpkg with CMake outside of an IDE, -you can use the toolchain file: +* [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) -```cmd -> cmake -B [build directory] -S . -DCMAKE_TOOLCHAIN_FILE=[path to vcpkg]/scripts/buildsystems/vcpkg.cmake -> cmake --build [build directory] -``` +You can also use any editor: -With CMake, you will still need to `find_package` and the like to use the libraries. -Check out the [CMake section](#using-vcpkg-with-cmake) for more information, -including on using CMake with an IDE. +* [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]() -For any other tools, including Visual Studio Code, -check out the [integration guide][getting-started:integration]. +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). -## Quick Start: Unix +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). -Prerequisites for Linux: -- [Git][getting-started:git] -- [g++][getting-started:linux-gcc] >= 6 +# Use vcpkg -Prerequisites for macOS: -- [Apple Developer Tools][getting-started:macos-dev-tools] -- On macOS 10.14 or below, you will also need: - - [Homebrew][getting-started:macos-brew] - - [g++][getting-started:macos-gcc] >= 6 from Homebrew +Create a [manifest for your project's dependencies](https://learn.microsoft.com/vcpkg/consume/manifest-mode): -First, download and bootstrap vcpkg itself; it can be installed anywhere, -but generally we recommend using vcpkg as a submodule for CMake projects. - -```sh -$ git clone https://github.com/microsoft/vcpkg -$ ./vcpkg/bootstrap-vcpkg.sh +```Console +vcpkg new --application +vcpkg add port fmt ``` -To install the libraries for your project, run: +Or [install packages through the command line](https://learn.microsoft.com/vcpkg/consume/classic-mode): -```sh -$ ./vcpkg/vcpkg install [packages to install] +```Console +vcpkg install fmt ``` -You can also search for the libraries you need with the `search` subcommand: - -```sh -$ ./vcpkg/vcpkg search [search term] -``` - -In order to use vcpkg with CMake, you can use the toolchain file: - -```sh -$ cmake -B [build directory] -S . -DCMAKE_TOOLCHAIN_FILE=[path to vcpkg]/scripts/buildsystems/vcpkg.cmake -$ cmake --build [build directory] -``` - -With CMake, you will still need to `find_package` and the like to use the libraries. -Check out the [CMake section](#using-vcpkg-with-cmake) -for more information on how best to use vcpkg with CMake, -and CMake Tools for VSCode. - -For any other tools, check out the [integration guide][getting-started:integration]. - -## Installing Linux Developer Tools +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). -Across the different distros of Linux, there are different packages you'll -need to install: +For a short description of all available commands, run `vcpkg help`. +Run `vcpkg help [topic]` for details on a specific topic. -- Debian, Ubuntu, popOS, and other Debian-based distributions: +# Key features -```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 -``` - -For any other distributions, make sure you're installing g++ 6 or above. -If you want to add instructions for your specific distro, -[please open a PR][contributing:submit-pr]! - -## Installing macOS Developer Tools - -On macOS 10.15, the only thing you should need to do is run the following in your terminal: - -```sh -$ xcode-select --install -``` - -Then follow along with the prompts in the windows that comes up. - -On macOS 10.14 and previous, you'll also need to install g++ from homebrew; -follow the instructions in the following section. - -### Installing GCC for macOS before 10.15 - -This will _only_ be necessary if you're using a macOS version from before 10.15. -Installing homebrew should be very easy; check out for more information, -but at its simplest, run the following command: - -```sh -$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" -``` - -Then, in order to grab an up-to-date version of gcc, run the following: - -```sh -$ brew install gcc -``` +vcpkg offers powerful features for your package management needs: -You'll then be able to bootstrap vcpkg along with the [quick start guide](#quick-start-unix) +* [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) -## Using vcpkg with CMake +# Contribute -If you're using vcpkg with CMake, the following may help! +vcpkg is an open source project, and is thus built with your contributions. Here +are some ways you can contribute: -### Visual Studio Code with CMake Tools +* [Submit issues][contributing:submit-issue] in vcpkg or existing packages +* [Submit fixes and new packages][contributing:submit-pr] -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" - } -} -``` - -### Vcpkg with Visual Studio CMake Projects - -Open the CMake Settings Editor, and under `CMake toolchain file`, -add the path to the vcpkg toolchain file: - -``` -[vcpkg root]/scripts/buildsystems/vcpkg.cmake -``` - -### Vcpkg with CLion - -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: - -``` --DCMAKE_TOOLCHAIN_FILE=[vcpkg root]/scripts/buildsystems/vcpkg.cmake -``` - -Unfortunately, you'll have to add this to each profile. - -### Vcpkg as a Submodule - -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. - -```cmake -set(CMAKE_TOOLCHAIN_FILE ${CMAKE_CURRENT_SOURCE_DIR}/vcpkg/scripts/buildsystems/vcpkg.cmake - CACHE STRING "Vcpkg toolchain file") -``` - -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. - -[getting-started:using-a-package]: docs/examples/installing-and-using-packages.md -[getting-started:integration]: docs/users/integration.md -[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]: docs/specifications/manifests.md - -# Tab-Completion/Auto-Completion - -`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: - -```pwsh -> .\vcpkg integrate powershell -``` - -or - -```sh -$ ./vcpkg integrate bash -``` - -depending on the shell you use, then restart your console. - -# Examples - -See the [documentation](docs/README.md) for specific walkthroughs, -including [installing and using a package](docs/examples/installing-and-using-packages.md), -[adding a new package from a zipfile](docs/examples/packaging-zipfiles.md), -and [adding a new package from a GitHub repo](docs/examples/packaging-github-repos.md). - -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. - -See a 4 minute [video demo](https://www.youtube.com/watch?v=y41WFKbQFTw). - -# Contributing - -Vcpkg is an open source project, and is thus built with your contributions. -Here are some ways you can contribute: - -* [Submit Issues][contributing:submit-issue] in vcpkg or existing packages -* [Submit Fixes and New Packages][contributing:submit-pr] - -Please refer to our [Contributing Guide](CONTRIBUTING.md) 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. +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 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 +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 docs/about/privacy.md +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 abd17c1bb83ecf..00000000000000 --- a/README_es.md +++ /dev/null @@ -1,420 +0,0 @@ -# Vcpkg - -[中文总览](README_zh_CN.md) -[English](README.md) -[한국어](README_ko_KR.md) -[Français](README_fr.md) - -Vcpkg ayuda a manejar librerías 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. - -* Github: [https://github.com/microsoft/vcpkg](https://github.com/microsoft/vcpkg) -* Slack: [https://cppalliance.org/slack/](https://cppalliance.org/slack/), en el canal #vcpkg -* Discord: [\#include \](https://www.includecpp.org), en el canal #🌏vcpkg -* Docs: [Documentación](docs/README.md) - -[![Estado de compilación](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) - -## 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) - - [Instalando GCC en macOS previo a 10.15](#instalando-gcc-en-macos-previo-a-1015) - - [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) - - [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 librería 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-TabAuto-Completado) 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 generalmente recomendamos usar vcpkg como submódulo para proyectos de CMake, -e instalándolo globalmente para Proyectos de Visual Studio. -recomendamos 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 librerías para su proyecto, ejecute: - -```cmd -> .\vcpkg\vcpkg install [paquetes a instalar] -``` - -también puede buscar librerías 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 librerías 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 librería. -Revise la [Sección de Cmake](#usando-vcpkg-con-cmake) para más información, -incluyendo el uso de CMake con un IDE. - -Para cualquier otra herramienta, incluyendo Visual Studio Code, -reviste la [guía de integración][getting-started:integration]. - -### 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] -- En macOS 10.14 o inferior, también necesita: - - [Homebrew][getting-started:macos-brew] - - [g++][getting-started:macos-gcc] >= 6 de Homebrew - -Primero, descargue y compile vcpkg, puede ser instalado donde sea, -pero recomendamos usar vcpkg como submodulo para proyectos de CMake. - -```sh -$ git clone https://github.com/microsoft/vcpkg -$ ./vcpkg/bootstrap-vcpkg.sh -``` - -Para instalar las librerías para su proyecto, ejecute: - -```sh -$ ./vcpkg/vcpkg install [paquetes a instalar] -``` - -Nota: por defecto se instalarán las librerías 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 librerías 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 librería. -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. - -En macOS 10.14 y previos, también requiere instalar g++ de homebrew; -siguiendo los pasos en la sección siguiente. - -#### Instalando GCC en macOS previo a 10.15 - -Este paso _solo_ es requerido si está usando una versión de macOS previa a 10.15. -Instalar homebrew debería ser sencillo; visite para mas información, -pero de manera simple, ejecute el siguiente comando: - -```sh -$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" -``` - -luego, para obtener una versión actualizada de gcc, ejecute el comando: - -```sh -$ brew install gcc -``` - -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 librerías: - -```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 librerías 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]: docs/examples/installing-and-using-packages.md -[getting-started:integration]: docs/users/integration.md -[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]: docs/specifications/manifests.md - -## 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 -``` - -según la terminal que use, luego reinicie la consola. - -## Ejemplos - -ver la [documentación](docs/README.md) para tutoriales específicos, incluyendo -[instalando y usando un paquete](docs/examples/installing-and-using-packages.md), -[agregando un nuevo paquete desde un archivo comprimido](docs/examples/packaging-zipfiles.md), -[agregando un nuevo paquete desde un repositorio en GitHub](docs/examples/packaging-github-repos.md). - -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). - -## 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 docs/about/privacy.md diff --git a/README_fr.md b/README_fr.md deleted file mode 100644 index f39c09b03d942a..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](docs/README.md) - -[![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]: docs/examples/installing-and-using-packages.md -[getting-started:integration]: docs/users/integration.md -[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]: docs/specifications/manifests.md - -# 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](doc/README.md) pour des instructions plus spécifiques ainsi que [l'installation et l'utilisation des paquets](docs/examples/installing-and-using-packages.md), -[ajouter un nouveau paquet depuis un fichier zip](docs/examples/packaging-zipfiles.md), -et [ajouter un nouveau paquet depuis un dépôt GitHub](docs/examples/packaging-github-repos.md). - -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](docs/about/privacy.md). diff --git a/README_ko_KR.md b/README_ko_KR.md deleted file mode 100644 index 3f76ac0c5c0d67..00000000000000 --- a/README_ko_KR.md +++ /dev/null @@ -1,336 +0,0 @@ -# Vcpkg: 개요 - -Vcpkg는 Windows, Linux 및 MacOS에서 C 및 C++ 라이브러리를 관리하는 데 도움이 됩니다. -이 툴과 생태계는 지속적으로 진화하고 있으며 항상 기여해 주셔서 감사합니다! - -이전에 vcpkg를 사용한 적이 없거나 vcpkg를 사용하는 방법을 알고 싶을 경우, -vcpkg 사용을 시작하는 방법은 [시작하기](#시작하기) 섹션을 확인하세요. - -사용 가능한 명령어에 대한 간단한 설명을 보려면 vcpkg를 설치 한 후 `vcpkg help` 또는 `vcpkg help [command]` 명령어로 명령어 별 도움말을 볼 수 있습니다. - -* Github: [https://github.com/microsoft/vcpkg](https://github.com/microsoft/vcpkg) -* Slack: [https://cppalliance.org/slack/](https://cppalliance.org/slack/), #vcpkg 채널 -* Discord: [\#include \](https://www.includecpp.org), #🌏vcpkg 채널 -* Docs: [Documentation](docs/README.md) - -[![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) - -# 목차 - -- [Vcpkg: 개요 둘러보기](#vcpkg-개요) -- [목차](#목차) -- [시작하기](#시작하기) - - [빠르게 시작하기: 윈도우](#빠르게-시작하기-윈도우) - - [빠르게 시작하기: 유닉스](#빠르게-시작하기-유닉스) - - [리눅스 개발자 도구 설치하기](#리눅스-개발자-도구-설치하기) - - [macOS 개발자 도구 설치하기](#macos-개발자-도구-설치하기) - - [10.15버전 이전 macOS에 GCC 설치하기](#1015버전-이전-macos에-gcc-설치하기) - - [CMake와 함께 vcpkg 사용](#cmake와-함께-vcpkg-사용) - - [Visual Studio Code와 CMake Tools](#visual-studio-code와-cmake-tools) - - [Visual Studio CMake 프로젝트와 Vcpkg](#visual-studio-cmake-프로젝트와-vcpkg) - - [Vcpkg와 CLion](#vcpkg와-clion) - - [서브모듈로서의 Vcpkg](#서브모듈로서의-vcpkg) -- [탭 완성/자동 완성](#탭-완성/자동-완성) -- [예제](#예제) -- [기여](#기여) -- [라이선스](#라이선스) -- [데이터 수집](#데이터-수집) - -# 시작하기 - -먼저, 사용하는 운영체제에 따라 빠르게 시작하기 문서를 따라가세요. -[윈도우](#빠르게-시작하기-윈도우) 또는 [macOS 그리고 Linux](#빠르게-시작하기-유닉스). - -더 많은 정보를 얻고 싶다면, [패키지 설치 및 사용][getting-started:using-a-package] 문서를 참고하세요. -만약 필요한 라이브러리가 vcpkg 카탈로그에 없는 경우, vcpkg 팀이나 커뮤니티가 볼 수 있는 -[GitHub 저장소에서 이슈를 열 ​​수 있습니다][contributing:submit-issue] -또한 잠재적으로 vcpkg에 포트가 추가될 것 입니다. - -vcpkg를 설치하고 작동 한 후, -셸에 [탭 완성/자동 완성](#탭-완성/자동-완성)을 추가 할 수 있습니다. - -마지막으로, vcpkg의 미래에 관심이 있다면, -[manifest][getting-started:manifest-spec] 가이드를 확인하세요! -이것은 실험적인 기능이며 버그가 있을 수도 있습니다. -시도해보고 문제가 있다면 [이슈을 여세요][contributing:submit-issue]! - -## 빠르게 시작하기: 윈도우 - -필요조건: -- Windows 7 이상 -- [Git][getting-started:git] -- [Visual Studio][getting-started:visual-studio] 영어 언어팩이 설치된 2015 Update 3 버전 이상 - -첫번째로, vcpkg 자체를 다운로드하고 부트스트랩합니다; 어디에나 설치할 수 있습니다, -하지만 일반적으로 CMake 프로젝트의 하위 모듈로 vcpkg를 사용하는 것이 좋습니다. -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] -``` - -다음과 같이 `search` 하위 명령어를 사용하여 필요한 라이브러리를 검색 할 수도 있습니다. - -```cmd -> .\vcpkg\vcpkg search [search term] -``` - -Visual Studio에서 vcpkg를 사용하려면 -다음 명령을 실행합니다 (관리자 권한이 필요할 수도 있습니다): - -```cmd -> .\vcpkg\vcpkg integrate install -``` - - -그런 다음, 이제 CMake가 아닌 새 프로젝트를 만들 수 있습니다. (또는 기존 프로젝트를 열 수 있습니다) -설치된 모든 라이브러리는 즉시 `# include` 될 준비가 되어 추가 구성없이 프로젝트에서 사용할 수 있습니다. - -Visual Studio에서 CMake를 사용하는 경우, -[여기를 보세요](#visual-studio-code와-cmake-tools). - -IDE 외부에서 CMake와 함께 vcpkg를 사용하려면, -툴체인 파일을 사용할 수 있습니다: - -```cmd -> cmake -B [build directory] -S . -DCMAKE_TOOLCH -AIN_FILE=[path to vcpkg]/scripts/buildsystems/vcpkg.cmake -> cmake --build [build directory] -``` - -CMake와 라이브러리를 사용하려면 `find_package` 등이 필요합니다. -IDE에서 CMake 사용에 대한 자세한 내용은 [CMake 섹션](#cmake와-함께-vcpkg-사용)을 확인하세요. - - -Visual Studio Code를 포함한 다른 툴의 경우 -[통합 가이드][getting-started:integration]을 확인하세요. - -## 빠르게 시작하기: 유닉스 - -Linux에서의 필요조건: -- [Git][getting-started:git] -- [g++][getting-started:linux-gcc] >= 6 - -macOS에서의 필요조건: -- [Apple Developer Tools][getting-started:macos-dev-tools] -- macOS 10.14이나 아래 버전에서는 다음 도구들도 필요합니다: - - [Homebrew][getting-started:macos-brew] - - [g++][getting-started:macos-gcc] >= 6 from Homebrew - -첫번째로, 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 및 CMake Tools for VSCode에서 vcpkg를 가장 잘 사용하는 방법에 대한 자세한 내용은 -[CMake 섹션](#cmake와-함께-vcpkg-사용)을 확인하세요. - -다른 툴에 대해서는 [통합 가이드][getting-started:integration]을 확인하세요. -## 리눅스 개발자 도구 설치하기 - -리눅스의 다양한 배포판에는 다양한 패키지가 있습니다. -설치 필요: - --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 10.15에서는 터미널에서 다음 명령어를 실행하시면 됩니다. - -```sh -$ xcode-select --install -``` - -그런 다음 나타나는 창에 나타나는 메시지를 따르세요. - -macOS 10.14 및 이전 버전에서는 homebrew에서 g++도 설치해야합니다. -다음 섹션의 지침을 따르세요. - -### 10.15버전 이전 macOS에 GCC 설치하기 - -이번 섹션은 10.15 이전의 macOS 버전을 사용하는 경우에만 필요합니다. -homebrew를 설치하는 것은 매우 쉽습니다. 자세한 내용은 를 확인하세요. -가장 간단하게 다음 명령어을 실행합니다. - -```sh -$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" -``` - -그런 다음 최신 버전의 gcc를 설치하시려면 다음 명령어를 실행하십시오. - -```sh -$ brew install gcc -``` - -그런다음 [빠른 시작 가이드](#빠르게-시작하기-유닉스)와 함께 vcpkg를 부트스트랩 할 수 있습니다. - -## CMake와 함께 vcpkg 사용 - -CMake와 함께 vcpkg를 사용하는 경우, 다음과 같이 따라해 보세요 - -### Visual Studio Code와 CMake Tools - -작업 공간 `settings.json` 파일에 다음을 추가하면 -CMake 도구는 라이브러리에 자동으로 vcpkg를 사용합니다. - -```json -{ - "cmake.configureSettings": { - "CMAKE_TOOLCHAIN_FILE": "[vcpkg root]/scripts/buildsystems/vcpkg.cmake" - } -} -``` - -### Visual Studio CMake 프로젝트와 Vcpkg - -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]: docs/examples/installing-and-using-packages.md -[getting-started:integration]: docs/users/integration.md -[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]: docs/specifications/manifests.md - -# 탭 완성/자동 완성 - -`vcpkg`는 powershell과 bash 모두에서 명령, 패키지 이름 및 옵션의 자동 완성을 지원합니다. -선택한 셸에서 탭 완성을 활성화하려면 다음 명령어를 실행합니다. - -```pwsh -> .\vcpkg integrate powershell -``` - -혹은 - -```sh -$ ./vcpkg integrate bash -``` - -사용하는 셸에 따라 콘솔을 다시 시작세요. - -# 예제 - -구체적인 연습은 [문서](docs/README.md)를 참고하세요, -including [패키지 설치 및 사용](docs/examples/installing-and-using-packages.md), -[zip 파일에서 새 패키지 추가](docs/examples/packaging-zipfiles.md), -및 [GitHub 저장소에서 새 패키지 추가](docs/examples/packaging-github-repos.md). - -이제 ReadTheDocs에서 온라인으로 문서를 사용할 수도 있습니다: ! - -[4분짜리 데모 영상을 보세요](https://www.youtube.com/watch?v=y41WFKbQFTw). - -# 기여 - -Vcpkg는 오픈소스 프로젝트입니다, 따라서 여러분의 기여로 만들어 졌습니다. -기여할 수 있는 몇 가지 방법은 다음과 같습니다: - -* vcpkg 또는 기존 패키지의 [문제 제출][contributing:submit-issue] -* [Submit Fixes and New Packages][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)에 따라 라이선스가 부여됩니다. - -# 데이터 수집 - -vcpkg는 사용자 경험을 개선하는 데 도움이 되도록 사용 데이터를 수집합니다. -Microsoft는 이 정보를 익명으로 수집합니다. -bootstrap-vcpkg 스크립트를 -disableMetrics를 추가해 다시 실행하여 원격 분석을 옵트아웃 할 수 있습니다. -커맨드 라인에서 --disable-metrics를 vcpkg에 전달합니다. -또는 VCPKG_DISABLE_METRICS 환경 변수를 설정합니다. - -docs/about/privacy.md 에 vcpkg 데이터 수집에 대해 자세히 알아보세요. diff --git a/README_zh_CN.md b/README_zh_CN.md deleted file mode 100644 index 3195378646996e..00000000000000 --- a/README_zh_CN.md +++ /dev/null @@ -1,325 +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) -* Slack: [https://cppalliance.org/slack/](https://cppalliance.org/slack/), #vcpkg 频道 -* Discord: [\#include \](https://www.includecpp.org), #🌏vcpkg 频道 -* 文档: [Documentation](docs/README.md) - -[![当前生成状态](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) - -# 目录 - -- [Vcpkg: 总览](#vcpkg-总览) -- [目录](#目录) -- [入门](#入门) - - [快速开始: Windows](#快速开始-windows) - - [快速开始: Unix](#快速开始-unix) - - [安装 Linux Developer Tools](#安装-linux-developer-tools) - - [安装 macOS Developer Tools](#安装-macos-developer-tools) - - [在 macOS 10.15 之前版本中安装 GCC](#在-macos-1015-之前版本中安装-gcc) - - [在 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补全自动补全) - - [示例](#示例) - - [贡献者](#贡献者) -- [License](#license) -- [数据收集](#数据收集) - -# 入门 - -首先,请阅读以下任一方面的快速入门指南: -[Windows](#快速开始-windows) 或 [macOS和Linux](#快速开始-unix), -这取决于您使用的是什么平台。 - -有关更多信息,请参见 [安装和使用软件包][getting-started:using-a-package]。 -如果vcpkg目录中没有您需要的库, -您可以 [在GitHub上打开问题][contributing:submit-issue]。 -vcpkg团队和贡献者可以看到它的地方, -并可能将这个库添加到vcpkg。 - -安装并运行vcpkg后, -您可能希望将 [TAB补全](#tab补全自动补全) 添加到您的Shell中。 - -最后,如果您对vcpkg的未来感兴趣,请查看 [清单][getting-started:manifest-spec]! -这是一项实验性功能,可能会出现错误。 -因此,请尝试一下并[打开所有问题][contributing:submit-issue]! - -## 快速开始: Windows - -需求: -- Windows 7 或更新的版本 -- [Git][getting-started:git] -- [Visual Studio 2015 Update 3][getting-started:visual-studio] 或更新的版本(包含英文语言包) - -首先,请下载vcpkg并执行 bootstrap.bat 脚本。 -它可以安装在任何地方,但是通常我们建议您使用 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] -``` - -您也可以使用 `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` 来使用第三方库。 -请查阅 [CMake 章节](#在-cmake-中使用-vcpkg) 获取更多信息,其中包含了在IDE中使用cmake的内容。 - -对于其他工具 (包括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] -- macOS 10.14 或更低版本中,您也需要: - - [Homebrew][getting-started:macos-brew] - - Homebrew 中 [g++][getting-started:macos-gcc] >= 6 - -首先,请下载vcpkg并执行 bootstrap.sh 脚本。 -我们建议您将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` 来使用第三方库。 -为了您更好的在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 10.15 中,唯一需要做的是在终端中运行以下命令: - -```sh -$ xcode-select --install -``` - -然后按照出现的窗口中的提示进行操作。 - -在 macOS 10.14 及先前版本中,您也需要使用 homebrew 安装 g++。 -请遵循以下部分中的说明: - -### 在 macOS 10.15 之前版本中安装 GCC - -此条只在您的macOS版本低于 10.15 时是必须的。 -安装homebrew应当很轻松,请查阅 以获取更多信息。 -为了更简便,请使用以下命令: - -```sh -$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" -``` - -然后,为了获取最新版本的gcc,请运行以下命令: - -```sh -$ brew install gcc -``` - -此时,您就可以使用 bootstrap.sh 编译vcpkg了。 请参阅 [快速开始](#快速开始-unix) - -## 在 CMake 中使用 vcpkg - -若您希望在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]: docs/examples/installing-and-using-packages.md -[getting-started:integration]: docs/users/integration.md -[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]: docs/specifications/manifests.md - -# Tab补全/自动补全 - -`vcpkg` 支持命令,包名称,以及 Powershell 和 Bash 中的选项。 -若您需要在指定的 shell 中启用Tab补全功能,请依据您使用的shell运行: - -```pwsh -> .\vcpkg integrate powershell -``` - -或 - -```sh -$ ./vcpkg integrate bash -``` - -然后重新启动控制台。 - -## 示例 - -请查看 [文档](docs/README.md) 获取具体示例, -其包含 [安装并使用包](docs/examples/installing-and-using-packages.md), -[使用压缩文件添加包](docs/examples/packaging-zipfiles.md) -和 [从GitHub源中添加一个包](docs/examples/packaging-github-repos.md)。 - -我们的文档现在也可以从 [ReadTheDocs](https://vcpkg.readthedocs.io/) 在线获取。 - -观看4分钟 [demo视频](https://www.youtube.com/watch?v=y41WFKbQFTw)。 - -## 贡献者 - -Vcpkg是一个开源项目,并通过您的贡献不断发展。 -下面是一些您可以贡献的方式: - -* [提交一个关于vcpkg或已支持包的新issue][contributing:submit-issue] -* [提交修复PR和创建新包][contributing:submit-pr] - -请参阅我们的 [贡献准则](CONTRIBUTING.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/ - -# License - -在此存储库中使用的代码均遵循 [MIT License](LICENSE.txt)。 - -# 数据收集 - -vcpkg会收集使用情况数据,以帮助我们改善您的体验。 -Microsoft收集的数据是匿名的。 -您也可以通过使用 `-disableMetrics` 、在命令行上将`--disable-metrics`传递给vcpkg,或通过设置环境变量 `VCPKG_DISABLE_METRICS` 并重新运行 bootstrap-vcpkg 脚本来选择禁用数据收集。 -请在 [privacy.md](docs/about/privacy.md) 中了解有关 vcpkg 数据收集的更多信息。 diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 00000000000000..869fdfe2b24699 --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,41 @@ + + +## Security + +Microsoft takes the security of our software products and services seriously, which includes all source code repositories managed through our GitHub organizations, which include [Microsoft](https://github.com/Microsoft), [Azure](https://github.com/Azure), [DotNet](https://github.com/dotnet), [AspNet](https://github.com/aspnet), [Xamarin](https://github.com/xamarin), and [our GitHub organizations](https://opensource.microsoft.com/). + +If you believe you have found a security vulnerability in any Microsoft-owned repository that meets [Microsoft's definition of a security vulnerability](https://aka.ms/opensource/security/definition), please report it to us as described below. + +## Reporting Security Issues + +**Please do not report security vulnerabilities through public GitHub issues.** + +Instead, please report them to the Microsoft Security Response Center (MSRC) at [https://msrc.microsoft.com/create-report](https://aka.ms/opensource/security/create-report). + +If you prefer to submit without logging in, send email to [secure@microsoft.com](mailto:secure@microsoft.com). If possible, encrypt your message with our PGP key; please download it from the [Microsoft Security Response Center PGP Key page](https://aka.ms/opensource/security/pgpkey). + +You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Additional information can be found at [microsoft.com/msrc](https://aka.ms/opensource/security/msrc). + +Please include the requested information listed below (as much as you can provide) to help us better understand the nature and scope of the possible issue: + + * Type of issue (e.g. buffer overflow, SQL injection, cross-site scripting, etc.) + * Full paths of source file(s) related to the manifestation of the issue + * The location of the affected source code (tag/branch/commit or direct URL) + * Any special configuration required to reproduce the issue + * Step-by-step instructions to reproduce the issue + * Proof-of-concept or exploit code (if possible) + * Impact of the issue, including how an attacker might exploit the issue + +This information will help us triage your report more quickly. + +If you are reporting for a bug bounty, more complete reports can contribute to a higher bounty award. Please visit our [Microsoft Bug Bounty Program](https://aka.ms/opensource/security/bounty) page for more details about our active programs. + +## Preferred Languages + +We prefer all communications to be in English. + +## Policy + +Microsoft follows the principle of [Coordinated Vulnerability Disclosure](https://aka.ms/opensource/security/cvd). + + 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/docs/README.md b/docs/README.md deleted file mode 100644 index 598cb7eaf169b1..00000000000000 --- a/docs/README.md +++ /dev/null @@ -1,75 +0,0 @@ -### Quick Start - -**The latest version of this documentation is available on [GitHub](https://github.com/Microsoft/vcpkg/tree/master/docs/README.md).** - -Vcpkg helps you manage C and C++ libraries on Windows, Linux and MacOS. This tool and ecosystem are constantly evolving; your involvement is vital to its success! - -### Examples - -- [Installing and Using Packages Example: sqlite](examples/installing-and-using-packages.md) -- [Packaging Zipfiles Example: zlib](examples/packaging-zipfiles.md) -- [Packaging GitHub Repositories Example: libogg](examples/packaging-github-repos.md) -- [Patching Example: Patching libpng to work for x64-uwp](examples/patching.md) -- [Getting Started with Versioning](examples/versioning.getting-started.md) - -### User Help - -- [Buildsystem Integration](users/integration.md) -- [Triplet files](users/triplets.md) -- [Configuration and Environment](users/config-environment.md) -- [Authentication](users/authentication.md) -- [Manifest Mode](users/manifests.md) -- [Binary Caching](users/binarycaching.md) -- [Asset Caching](users/assetcaching.md) -- [Versioning](users/versioning.md) -- [Usage with Android](users/android.md) -- [Usage with Mingw-w64](users/mingw.md) -- [Host Dependencies](users/host-dependencies.md) -- [Using Registries](users/registries.md) - -### Maintainer Help - -- [Manifest files - vcpkg.json](maintainers/manifest-files.md) -- [Control files](maintainers/control-files.md) -- [Portfile functions](maintainers/portfile-functions.md) -- [Common CMake definitions](maintainers/vcpkg_common_definitions.md) -- [Maintainer Guidelines](maintainers/maintainer-guide.md) -- [Creating Registries](maintainers/registries.md) -- [CMake Guidelines](maintainers/cmake-guidelines.md) - -### [Vcpkg-Tool](https://github.com/microsoft/vcpkg-tool) Maintainer Help - -- [Testing](https://github.com/microsoft/vcpkg-tool/tree/main/docs/testing.md) -- [Benchmarking](https://github.com/microsoft/vcpkg-tool/tree/main/docs/benchmarking.md) -- [Layout of the vcpkg source tree](https://github.com/microsoft/vcpkg-tool/tree/main/docs/layout.md) - -### Community Resources (not directly affiliated with vcpkg) - -- [vcpkg.info](https://vcpkg.info/) - Package index + search -- [vcpkgx](https://vcpkgx.com/) - Package index + search -- [vcpkg index](https://vcpkg.dev/) - Package index + search - -### Specifications - -- [Export](specifications/export-command.md) -- [Feature Packages](specifications/feature-packages.md) - -### Blog posts - -- [Vcpkg Host Dependencies for Cross-Compilation](https://devblogs.microsoft.com/cppblog/vcpkg-host-dependencies/) -- [Registries: Bring your own libraries to vcpkg](https://devblogs.microsoft.com/cppblog/registries-bring-your-own-libraries-to-vcpkg/) -- [Vcpkg: Accelerate your team development environment with binary caching and manifests](https://devblogs.microsoft.com/cppblog/vcpkg-accelerate-your-team-development-environment-with-binary-caching-and-manifests/) -- [Vcpkg: 2019.06 Update (overlay ports, overlay triplets, `vcpkg_check_features`)](https://devblogs.microsoft.com/cppblog/vcpkg-2019-06-update/) -- [Announcing a single C++ library manager for Linux, macOS and Windows: Vcpkg](https://blogs.msdn.microsoft.com/vcblog/2018/04/24/announcing-a-single-c-library-manager-for-linux-macos-and-windows-vcpkg/) -- [Vcpkg: Using multiple enlistments to handle multiple versions of a library](https://blogs.msdn.microsoft.com/vcblog/2017/10/23/vcpkg-using-multiple-enlistments/) -- [Vcpkg: introducing the export command](https://blogs.msdn.microsoft.com/vcblog/2017/05/03/vcpkg-introducing-export-command/) -- [Binary Compatibility and Pain-free Upgrade Why Moving to Visual Studio 2017 is almost "too easy"](https://blogs.msdn.microsoft.com/vcblog/2017/03/07/binary-compatibility-and-pain-free-upgrade-why-moving-to-visual-studio-2017-is-almost-too-easy/) -- [Vcpkg recent enhancements](https://blogs.msdn.microsoft.com/vcblog/2017/02/14/vcpkg-recent-enhancements/) -- [Vcpkg 3 Months Anniversary, Survey](https://blogs.msdn.microsoft.com/vcblog/2017/01/11/vcpkg-3-months-anniversary-survey/) -- [Vcpkg updates: Static linking is now available](https://blogs.msdn.microsoft.com/vcblog/2016/11/01/vcpkg-updates-static-linking-is-now-available/) -- [Vcpkg: a tool to acquire and build C++ open source libraries on Windows](https://blogs.msdn.microsoft.com/vcblog/2016/09/19/vcpkg-a-tool-to-acquire-and-build-c-open-source-libraries-on-windows/) - -### Other - -- [FAQ](about/faq.md) -- [Privacy](about/privacy.md) diff --git a/docs/_config.yml b/docs/_config.yml deleted file mode 100644 index c4192631f25b34..00000000000000 --- a/docs/_config.yml +++ /dev/null @@ -1 +0,0 @@ -theme: jekyll-theme-cayman \ No newline at end of file diff --git a/docs/about/faq.md b/docs/about/faq.md deleted file mode 100644 index e5dcd4c4c03e15..00000000000000 --- a/docs/about/faq.md +++ /dev/null @@ -1,120 +0,0 @@ -# Frequently Asked Questions - -## Can I contribute a new library? -Yes! Start out by reading our [contribution guidelines](https://github.com/Microsoft/vcpkg/blob/master/CONTRIBUTING.md). -If you want to contribute but don't have a particular library in mind then take a look at the list -of [new port requests](https://github.com/Microsoft/vcpkg/issues?q=is%3Aissue+is%3Aopen+label%3Acategory%3Anew-port). - -## Can Vcpkg create pre-built binary packages? What is the binary format used by Vcpkg? -Yes! See [the `export` command](../users/integration.md#export-command). - -## How do I update libraries? -The `vcpkg update` command lists all packages which are out-of-sync with your current portfiles. To update a package, follow the instructions in the command. - -## How do I get more libraries? -The list of libraries is enumerated from the [`ports\`](https://github.com/Microsoft/vcpkg/blob/master/ports) directory. By design, you can add and remove libraries from this directory as you see fit for yourself or your company -- see our examples on packaging [zipfiles](../examples/packaging-zipfiles.md) and [GitHub repos](../examples/packaging-github-repos.md). - -We recommend cloning directly from [GitHub](https://github.com/microsoft/vcpkg) and using `git pull` to update the list of portfiles. Once you've updated your portfiles, `vcpkg update` will indicate any installed libraries that are now out of date. - -## Can I build a private library with this tool? -Yes. Follow [our packaging zlib Example](../examples/packaging-zipfiles.md) for creating a portfile using a fake URL. Then, either pre-seed the `downloads\` folder with a zip containing your private sources or replace the normal calls to `vcpkg_download_distfile` and `vcpkg_extract_source_archive` with functions that unpack your source code. - -## Can I use a prebuilt private library with this tool? -Yes. The `portfile.cmake` for a library is fundamentally a script that places the headers and binaries into the correct arrangement in the `${CURRENT_PACKAGES_DIR}`, so to pull in prebuilt binaries you can write a portfile which directly downloads and arranges the files. - -To see an example of this, look at [`ports\opengl\portfile.cmake`](https://github.com/microsoft/vcpkg/blob/master/ports/opengl/portfile.cmake) which simply copies files out of the Windows SDK. - -## Which platforms I can target with Vcpkg? -We currently target Windows Desktop (x86 and x64) as well as the Universal Windows Platform (x86, x64, and ARM). See `vcpkg help triplet` for the current list. - -## Does Vcpkg run on Linux/OSX? -Yes! We continuously test on OSX and Ubuntu 16.04, however we know users have been successful with Arch, Fedora, and FreeBSD. If you have trouble with your favorite Linux distribution, let us know in an issue and we'd be happy to help! - -## How do I update vcpkg? -Execute `git pull` to get the latest sources, then run `bootstrap-vcpkg.bat` (Windows) or `./bootstrap-vcpkg.sh` (Unix) to update vcpkg. - -## How do I use different versions of a library on one machine? -Within a single instance of Vcpkg (e.g. one set of `installed\`, `packages\`, `ports\` and so forth), you can only have one version of a library installed (otherwise, the headers would conflict with each other!). For those with experience with system-wide package managers, packages in Vcpkg correspond to the `X-dev` or `X-devel` packages. - -To use different versions of a library for different projects, we recommend making separate instances of Vcpkg and using the [per-project integration mechanisms](../users/integration.md). The versions of each library are specified by the files in `ports\`, so they are easily manipulated using standard `git` commands. This makes it very easy to roll back the entire set of libraries to a consistent set of older versions which all work with each other. If you need to then pin a specific library forward, that is as easy as checking out the appropriate version of `ports\\`. - -If your application is very sensitive to the versions of libraries, we recommend checking in the specific set of portfiles you need into your source control along with your project sources and using the `--vcpkg-root` option to redirect the working directory of `vcpkg.exe`. - -## How does Vcpkg protect my privacy? -See the [Privacy document](privacy.md) for all information regarding privacy. - -## Can I use my own CMake toolchain file with Vcpkg's toolchain file? -Yes. If you already have a CMake toolchain file, you will need to include our toolchain file at the end of yours. This should be as simple as an `include(\scripts\buildsystems\vcpkg.cmake)` directive. Alternatively, you could copy the contents of our `scripts\buildsystems\vcpkg.cmake` into the end of your existing toolchain file. - -## Can I use my own/specific flags for rebuilding libs? -Yes. In the current version, there is not yet a standardized global way to change them, however you can edit individual portfiles and tweak the exact build process however you'd like. - -By saving the changes to the portfile (and checking them in), you'll get the same results even if you're rebuilding from scratch in the future and forgot what exact settings you used. - -## Can I get Vcpkg integration for custom configurations? - -Yes. While Vcpkg will only produce the standard "Release" and "Debug" configurations when building a library, you can get integration support for your projects' custom configurations, in addition to your project's standard configurations. - -First of all, Vcpkg will automatically assume any custom configuration starting with "Release" (resp. "Debug") as a configuration that is compatible with the standard "Release" (resp. "Debug") configuration and will act accordingly. - -For other configurations, you only need to override the MSBuild `$(VcpkgConfiguration)` macro in your project file (.vcxproj) to declare the compatibility between your configuration, and the target standard configuration. Unfortunately, due to the sequential nature of MSBuild, you'll need to add those settings much higher in your vcxproj so that it is declared before the Vcpk integration is loaded. It is recommend that the `$(VcpkgConfiguration)` macro is added to the "Globals" PropertyGroup. - -For example, you can add support for your "MyRelease" configuration by adding in your project file: -``` - - ... - Release - -``` -Of course, this will only produce viable binaries if your custom configuration is compatible with the target configuration (e.g. they should both link with the same runtime library). - -## I can't use user-wide integration. Can I use a per-project integration? - -Yes. A NuGet package suitable for per-project use can be generated via either the `vcpkg integrate project` command (lightweight linking) or the `vcpkg export --nuget` command (shrinkwrapped). - -A lower level mechanism to achieve the same as the `vcpkg integrate project` NuGet package is via the `\scripts\buildsystems\msbuild\vcpkg.targets` file. All you need is to import it in your .vcxproj file, replacing `` with the path where you installed vcpkg: - -``` - -``` - -## How can I remove temporary files? - -You can save some disk space by completely removing the `packages\`, `buildtrees\`, and `downloads\` folders. - -## How is CMake used internally by Vcpkg? -Vcpkg uses CMake internally as a build scripting language. This is because CMake is already an extremely common build system for cross-platform open source libraries and is becoming very popular for C++ projects in general. It is easy to acquire on Windows, does not require system-wide installation, and legible for unfamiliar users. - -## Will Vcpkg support downloading compiled binaries from a public or private server? -We would like to eventually support downloading precompiled binaries, similar to other system package managers. - -In a corporate scenario, we currently recommend building the libraries once and distributing the entire vcpkg root directory to everyone else on the project through some raw file transport such as a network share or HTTP host. See the [`export`](../users/integration.md#export) command. - -## What Visual C++ toolsets are supported? -We support Visual Studio 2015 Update 3 and above. - -## Why does Visual Studio not use my libraries with user-wide integration enabled? -Enabling user-wide integration (`vcpkg integrate install`) changes the default for some project properties. In particular, "C/C++/General/Additional Include Directories" and "Linker/General/Additional Library Directories" are normally blank *without* user-wide integration. *With* integration, a blank value means that the augmented default supplied by vcpkg is overridden, and headers/libraries will not be found. To reinstate the default, set the properties to inherit from parent. - -## Why not NuGet? -NuGet is a package manager for .NET libraries with a strong dependency on MSBuild. It does not meet the specific needs of Native C++ customers in at least three ways. - -- **Compilation Flavors**. With so many possible combinations of compilation options, the task of providing a truly complete set of options is intrinsically impossible. Furthermore, the download size for reasonably complete binary packages becomes enormous. This makes it a requirement to split the results into multiple packages, but then searching becomes very difficult. - -- **Binary vs Source**. Very closely tied to the first point, NuGet is designed from the ground up to provide relatively small, prebuilt binaries. Due to the nature of native code, developers need to have access to the source code to ensure ABI compatibility, performance, integrity, and debuggability. - -- **Per-dll vs Per-application**. NuGet is highly project centric. This works well in managed languages with naturally stable ABIs, because base libraries can continue to evolve without breaking those higher up. However, in native languages where the ABI is much more fragile, the only robust strategy is to explicitly build each library against the exact dependencies that will be included in the final application. This is difficult to ensure in NuGet and leads to a highly disconnected and independently versioned ecosystem. - -## Why not Conan? -Conan.io is a publicly-federated, project-centric, cross-platform, C++ package manager written in python. Our primary differences are: - -- **Public federation vs private federation**. Conan relies on individuals publishing independent copies of each package. We believe this approach encourages a large number of packages that are all broken in different ways. We believe it is a waste of user's time to pick through the list of 20+ public packages for Boost 1.56 to determine the handful that will work for their particular situation. In contrast, we believe there should be a single, collaboratively maintained version which works for the vast majority of cases and allow users to hack freely on their private versions. We believe this will result in a set of high quality packages that are heavily tested with each other and form a fantastic base for any private modifications you need. - -- **Per-dll vs Per-application**. When dependencies are independently versioned on a library level, it encourages every build environment to be a completely unique, unable to take advantage of or contribute to a solid, well tested ecosystem. In contrast, by versioning all libraries together as a platform (similar to a system package manager), we hope to congregate testing and effort on very common sets of library versions to maximize the quality and stability of the ecosystem. This also completely designs out the ability for a library to ask for versions that conflict with the application's choices (I want openssl Z and boost X but X only claims to work with openssl Y). - -- **Cross-platform vs single-platform**. While being hosted on many platforms is an excellent north star, we believe the level of system integration and stability provided by apt-get, yum, and homebrew is well worth needing to exchange `apt-get install libboost-all-dev` with `brew install boost` in automated scripts. We chose to make our system as easy as possible to integrate into a world with these very successful system managers -- one more line for `vcpkg install boost` -- instead of attempting to replace them where they are already so successful and well-loved. - -- **C++/CMake vs python**. While Python is an excellent language loved by many, we believe that transparency and familiarity are the most important factors when choosing a tool as important to your workflow as a package manager. Consequently, we chose to make the implementation languages be as universally accepted as possible: C++ should be used in a C++ package manager for C++ programmers. You should not be required to learn another programming language just to understand your package manager. - -## Why not Chocolatey? -Chocolatey is an excellent system for managing applications. However, it is not currently designed to acquire redistributable developer assets and help you with debugging. Vcpkg, in comparison, is designed to get you the libraries you need to build your application and help you deliver through any platform you'd like (including Chocolatey!). diff --git a/docs/about/privacy.md b/docs/about/privacy.md index d2ba7552e15046..787964d1d69004 100644 --- a/docs/about/privacy.md +++ b/docs/about/privacy.md @@ -1,50 +1,5 @@ -# Vcpkg Telemetry and Privacy - -vcpkg collects telemetry data to understand usage issues, such as failing packages, and to guide tool improvements. The collected data is anonymous. -For more information about how Microsoft protects your privacy, see https://privacy.microsoft.com/en-US/privacystatement#mainenterprisedeveloperproductsmodule - -## Scope - -We explicitly ONLY collect information from invocations of the tool itself; we do NOT add any tracking information into the produced libraries. Telemetry is collected when using any of the `vcpkg` commands. - -## How to opt out - -The vcpkg telemetry feature is enabled by default. In order to opt-out of data collection, you can re-run the bootstrap script with the following flag, for Windows and Linux/OSX, respectively: - -```PS> .\bootstrap-vcpkg.bat -disableMetrics``` - -```~/$ ./bootstrap-vcpkg.sh -disableMetrics``` - -## Disclosure - -vcpkg displays text similar to the following when you build vcpkg. This is how Microsoft notifies you about data collection. - -``` -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 re-running the bootstrap-vcpkg script with -disableMetrics, -passing --disable-metrics to vcpkg on the command line, -or by setting the VCPKG_DISABLE_METRICS environment variable. - -Read more about vcpkg telemetry at docs/about/privacy.md -``` - -## Data Collected - -The telemetry feature doesn't collect personal data, such as usernames or email addresses. It doesn't scan your code and doesn't extract project-level data, such as name, repository, or author. The data is sent securely to Microsoft servers and held under restricted access. - -Protecting your privacy is important to us. If you suspect the telemetry is collecting sensitive data or the data is being insecurely or inappropriately handled, file an issue in the Microsoft/vcpkg repository or send an email to vcpkg@microsoft.com for investigation. - -We collect various telemetry events such as the command line used, the time of invocation, and how long execution took. Some commands also add additional calculated information (such as the full set of libraries to install). We generate a completely random UUID on first use and attach it to each event. - -You can see the telemetry events any command by appending `--printmetrics` after the vcpkg command line. - -In the source code (included at https://github.com/microsoft/vcpkg-tool/ ), you can search for calls to the functions `track_property()`, `track_feature()`, `track_metric()`, and `track_buildtime()` -to see every specific data point we collect. - -## Avoid inadvertent disclosure information - -vcpkg contributors and anyone else running a version of vcpkg that they built themselves should consider the path to their source code. If a crash occurs when using vcpkg, the file path from the build machine is collected as part of the stack trace and isn't hashed. -Because of this, builds of vcpkg shouldn't be located in directories whose path names expose personal or sensitive information. +# Privacy + +The documentation for this topic has been moved to the following articles in [Microsoft Learn](https://learn.microsoft.com/vcpkg): + +* [Privacy](https://learn.microsoft.com/vcpkg/about/privacy) diff --git a/docs/examples/installing-and-using-packages.md b/docs/examples/installing-and-using-packages.md deleted file mode 100644 index 011df93a4cc9f9..00000000000000 --- a/docs/examples/installing-and-using-packages.md +++ /dev/null @@ -1,180 +0,0 @@ -## Installing and Using Packages Example: SQLite - - - [Step 1: Install](#install) - - [Step 2: Use](#use) - - [VS/MSBuild Project (User-wide integration)](#msbuild) - - [CMake (Toolchain file)](#cmake) - - [Other integration options](../users/integration.md) - ---- - -## Step 1: Install - -First, we need to know what name [SQLite](https://sqlite.org) goes by in the ports tree. To do that, we'll run the `search` command and inspect the output: -```no-highlight -PS D:\src\vcpkg> .\vcpkg search sqlite -libodb-sqlite 2.4.0 Sqlite support for the ODB ORM library -sqlite3 3.32.1 SQLite is a software library that implements a se... - -If your library is not listed, please open an issue at: - https://github.com/Microsoft/vcpkg/issues -``` -Looking at the list, we can see that the port is named "sqlite3". You can also run the `search` command without arguments to see the full list of packages. - -Installing is then as simple as using the `install` command. -```no-highlight -PS D:\src\vcpkg> .\vcpkg install sqlite3 -Computing installation plan... -The following packages will be built and installed: - sqlite3[core]:x86-windows -Starting package 1/1: sqlite3:x86-windows -Building package sqlite3[core]:x86-windows... --- Downloading https://sqlite.org/2020/sqlite-amalgamation-3320100.zip... --- Extracting source C:/src/vcpkg/downloads/sqlite-amalgamation-3320100.zip --- Applying patch fix-arm-uwp.patch --- Using source at C:/src/vcpkg/buildtrees/sqlite3/src/3320100-15aeda126a.clean --- Configuring x86-windows --- Building x86-windows-dbg --- Building x86-windows-rel --- Performing post-build validation --- Performing post-build validation done -Building package sqlite3[core]:x86-windows... done -Installing package sqlite3[core]:x86-windows... -Installing package sqlite3[core]:x86-windows... done -Elapsed time for package sqlite3:x86-windows: 12 s - -Total elapsed time: 12.04 s - -The package sqlite3:x86-windows provides CMake targets: - - find_package(unofficial-sqlite3 CONFIG REQUIRED) - target_link_libraries(main PRIVATE unofficial::sqlite3::sqlite3)) - -``` - -We can check that sqlite3 was successfully installed for x86 Windows desktop by running the `list` command. -```no-highlight -PS D:\src\vcpkg> .\vcpkg list -sqlite3:x86-windows 3.32.1 SQLite is a software library that implements a se... -``` - -To install for other architectures and platforms such as Universal Windows Platform or x64 Desktop, you can suffix the package name with `:`. -```no-highlight -PS D:\src\vcpkg> .\vcpkg install sqlite3:x86-uwp zlib:x64-windows -``` - -See `.\vcpkg help triplet` for all supported targets. - ---- - -## Step 2: Use - -#### VS/MSBuild Project (User-wide integration) - -The recommended and most productive way to use vcpkg is via user-wide integration, making the system available for all projects you build. The user-wide integration will prompt for administrator access the first time it is used on a given machine, but afterwards is no longer required and the integration is configured on a per-user basis. -```no-highlight -PS D:\src\vcpkg> .\vcpkg integrate install -Applied user-wide integration for this vcpkg root. - -All C++ projects can now #include any installed libraries. -Linking will be handled automatically. -Installing new libraries will make them instantly available. -``` -*Note: You will need to restart Visual Studio or perform a Build to update intellisense with the changes.* - -You can now simply use File -> New Project in Visual Studio and the library will be automatically available. For SQLite, you can try out their [C/C++ sample](https://sqlite.org/quickstart.html). - -To remove the integration for your user, you can use `.\vcpkg integrate remove`. - - -#### CMake (Toolchain File) - -The best way to use installed libraries with cmake is via the toolchain file `scripts\buildsystems\vcpkg.cmake`. To use this file, you simply need to add it onto your CMake command line as: -`-DCMAKE_TOOLCHAIN_FILE=D:\src\vcpkg\scripts\buildsystems\vcpkg.cmake`. - -If you are using CMake through Open Folder with Visual Studio you can define `CMAKE_TOOLCHAIN_FILE` by adding a "variables" section to each of your `CMakeSettings.json` configurations: - -```json -{ - "configurations": [{ - "name": "x86-Debug", - "generator": "Visual Studio 15 2017", - "configurationType" : "Debug", - "buildRoot": "${env.LOCALAPPDATA}\\CMakeBuild\\${workspaceHash}\\build\\${name}", - "cmakeCommandArgs": "", - "buildCommandArgs": "-m -v:minimal", - "variables": [{ - "name": "CMAKE_TOOLCHAIN_FILE", - "value": "D:\\src\\vcpkg\\scripts\\buildsystems\\vcpkg.cmake" - }] - }] -} -``` -*Note: It might be necessary to delete the CMake cache folder of each modified configuration, to force a full regeneration. In the `CMake` menu, under `Cache ()` you'll find `Delete Cache Folders`.* - -Now let's make a simple CMake project with a main file. -```cmake -# CMakeLists.txt -cmake_minimum_required(VERSION 3.0) -project(test) - -find_package(unofficial-sqlite3 CONFIG REQUIRED) - -add_executable(main main.cpp) - -target_link_libraries(main PRIVATE unofficial::sqlite3::sqlite3) -``` -```cpp -// main.cpp -#include -#include - -int main() -{ - printf("%s\n", sqlite3_libversion()); - return 0; -} -``` - -Then, we build our project in the normal CMake way: -```no-highlight -PS D:\src\cmake-test> mkdir build -PS D:\src\cmake-test> cd build -PS D:\src\cmake-test\build> cmake .. "-DCMAKE_TOOLCHAIN_FILE=D:\src\vcpkg\scripts\buildsystems\vcpkg.cmake" - // omitted CMake output here // --- Build files have been written to: D:/src/cmake-test/build -PS D:\src\cmake-test\build> cmake --build . - // omitted MSBuild output here // -Build succeeded. - 0 Warning(s) - 0 Error(s) - -Time Elapsed 00:00:02.38 -PS D:\src\cmake-test\build> .\Debug\main.exe -3.15.0 -``` - -*Note: The correct sqlite3.dll is automatically copied to the output folder when building for x86-windows. You will need to distribute this along with your application.* - -##### Handling libraries without native cmake support - -Unlike other platforms, we do not automatically add the `include\` directory to your compilation line by default. If you're using a library that does not provide CMake integration, you will need to explicitly search for the files and add them yourself using [`find_path()`][1] and [`find_library()`][2]. - -```cmake -# To find and use catch -find_path(CATCH_INCLUDE_DIR catch.hpp) -include_directories(${CATCH_INCLUDE_DIR}) - -# To find and use azure-storage-cpp -find_path(WASTORAGE_INCLUDE_DIR was/blob.h) -find_library(WASTORAGE_LIBRARY wastorage) -include_directories(${WASTORAGE_INCLUDE_DIR}) -link_libraries(${WASTORAGE_LIBRARY}) - -# Note that we recommend using the target-specific directives for a cleaner cmake: -# target_include_directories(main ${LIBRARY}) -# target_link_libraries(main PRIVATE ${LIBRARY}) -``` - -[1]: https://cmake.org/cmake/help/latest/command/find_path.html -[2]: https://cmake.org/cmake/help/latest/command/find_library.html diff --git a/docs/examples/manifest-mode-cmake.md b/docs/examples/manifest-mode-cmake.md deleted file mode 100644 index 77891b60e7bf15..00000000000000 --- a/docs/examples/manifest-mode-cmake.md +++ /dev/null @@ -1,200 +0,0 @@ -# Manifest Mode: CMake Example - -We would like to add [vcpkg manifest support](../users/manifests.md) to an existing cmake project! -Let's create a simple project that prints the fibonacci sequence up to a certain number, -using some common dependencies. - -## Initial Layout - -Let's create the following file layout: - -```no-highlight -fibo/ - src/ - main.cxx - CMakeLists.txt -``` - -And we wish to use [fmt](https://github.com/fmtlib/fmt), [range-v3](https://github.com/ericniebler/range-v3), -and [cxxopts](https://github.com/jarro2783/cxxopts). - -Let's write our `CMakeLists.txt` first: - -```cmake -cmake_minimum_required(VERSION 3.15) - -project(fibo CXX) - -find_package(fmt REQUIRED) -find_package(range-v3 REQUIRED) -find_package(cxxopts REQUIRED) - -add_executable(fibo src/main.cxx) -target_compile_features(fibo PRIVATE cxx_std_17) - -target_link_libraries(fibo - PRIVATE - fmt::fmt - range-v3::range-v3 - cxxopts::cxxopts) -``` - -And then we should add `main.cxx`: - -```cxx -#include -#include -#include - -namespace view = ranges::views; - -int fib(int x) { - int a = 0, b = 1; - - for (int it : view::repeat(0) | view::take(x)) { - (void)it; - int tmp = a; - a += b; - b = tmp; - } - - return a; -} - -int main(int argc, char** argv) { - cxxopts::Options options("fibo", "Print the fibonacci sequence up to a value 'n'"); - options.add_options() - ("n,value", "The value to print to", cxxopts::value()->default_value("10")); - - auto result = options.parse(argc, argv); - auto n = result["value"].as(); - - for (int x : view::iota(1) | view::take(n)) { - fmt::print("fib({}) = {}\n", x, fib(x)); - } -} -``` - -This is a simple project of course, but it should give us a clean project to start with. -Let's try it out! - -Let's assume you have `fmt`, `range-v3`, and `cxxopts` installed with vcpkg classic mode; -then, you can just do a simple: - -```cmd -D:\src\fibo> cmake -B build -S . -DCMAKE_TOOLCHAIN_FILE=D:\src\vcpkg\scripts\buildsystems\vcpkg.cmake --- Building for: Visual Studio 16 2019 --- Selecting Windows SDK version 10.0.18362.0 to target Windows 10.0.19041. --- The CXX compiler identification is MSVC 19.27.29111.0 --- Detecting CXX compiler ABI info --- Detecting CXX compiler ABI info - done --- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.27.29110/bin/Hostx64/x64/cl.exe - skipped --- Detecting CXX compile features --- Detecting CXX compile features - done --- Configuring done --- Generating done --- Build files have been written to: D:/src/fibo/build -D:\src\fibo> cmake --build build -Microsoft (R) Build Engine version 16.7.0+b89cb5fde for .NET Framework -Copyright (C) Microsoft Corporation. All rights reserved. - - Checking Build System - Building Custom Rule D:/src/fibo/CMakeLists.txt - main.cxx - The contents of are available only with C++20 or later. - fibo.vcxproj -> D:\src\fibo\build\Debug\fibo.exe - Building Custom Rule D:/src/fibo/CMakeLists.txt -``` - -And now we can try out the `fibo` binary! - -```cmd -D:\src\fibo> .\build\Debug\fibo.exe -n 7 -fib(1) = 1 -fib(2) = 1 -fib(3) = 2 -fib(4) = 3 -fib(5) = 5 -fib(6) = 8 -fib(7) = 13 -``` - -it works! - -## Converting to Manifest Mode - -We now wish to use manifest mode, so all of our dependencies are managed for us! Let's write a `vcpkg.json`: - -```json -{ - "name": "fibo", - "version-string": "0.1.0", - "dependencies": [ - "cxxopts", - "fmt", - "range-v3" - ] -} -``` - -Let's delete the build directory and rerun the build: - -```cmd -D:\src\fibo> rmdir /S /Q build -D:\src\fibo> cmake -B build -S . -DCMAKE_TOOLCHAIN_FILE=D:\src\vcpkg\scripts\buildsystems\vcpkg.cmake --- Running vcpkg install -Detecting compiler hash for triplet x64-windows... -The following packages will be built and installed: - cxxopts[core]:x64-windows - fmt[core]:x64-windows - range-v3[core]:x64-windows -Starting package 1/3: cxxopts:x64-windows -Building package cxxopts[core]:x64-windows... -Using cached binary package: C:\Users\me\AppData\Local\vcpkg/archives\d2\d2d1e5302cdfefef2fd090d8eda84cc0c1fbe6f1.zip -Building package cxxopts[core]:x64-windows... done -Installing package cxxopts[core]:x64-windows... -Installing package cxxopts[core]:x64-windows... done -Elapsed time for package cxxopts:x64-windows: 50.64 ms -Starting package 2/3: fmt:x64-windows -Building package fmt[core]:x64-windows... -Using cached binary package: C:\Users\me\AppData\Local\vcpkg/archives\bf\bf00d5214e912d71414b545b241f54ef87fdf6e5.zip -Building package fmt[core]:x64-windows... done -Installing package fmt[core]:x64-windows... -Installing package fmt[core]:x64-windows... done -Elapsed time for package fmt:x64-windows: 225 ms -Starting package 3/3: range-v3:x64-windows -Building package range-v3[core]:x64-windows... -Using cached binary package: C:\Users\me\AppData\Local\vcpkg/archives\fe\fe2cdedef6953bf954e8ddca471bf3cc8d9b06d7.zip -Building package range-v3[core]:x64-windows... done -Installing package range-v3[core]:x64-windows... -Installing package range-v3[core]:x64-windows... done -Elapsed time for package range-v3:x64-windows: 1.466 s - -Total elapsed time: 1.742 s - --- Running vcpkg install - done --- Selecting Windows SDK version 10.0.18362.0 to target Windows 10.0.19041. --- The CXX compiler identification is MSVC 19.27.29111.0 --- Detecting CXX compiler ABI info --- Detecting CXX compiler ABI info - done --- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.27.29110/bin/Hostx64/x64/cl.exe - skipped --- Detecting CXX compile features --- Detecting CXX compile features - done --- Configuring done --- Generating done --- Build files have been written to: D:/src/fibo/build -D:\src\fibo> cmake --build build -Microsoft (R) Build Engine version 16.7.0+b89cb5fde for .NET Framework -Copyright (C) Microsoft Corporation. All rights reserved. - - Checking Build System - Building Custom Rule D:/src/fibo/CMakeLists.txt - main.cxx - The contents of are available only with C++20 or later. - fibo.vcxproj -> D:\src\fibo\build\Debug\fibo.exe - Building Custom Rule D:/src/fibo/CMakeLists.txt -``` - -You can see that with just a _single file_, we've changed over to manifests without _any_ trouble. -The build system doesn't change _at all_! We just add a `vcpkg.json` file, delete the build directory, -and reconfigure. And we're done! diff --git a/docs/examples/modify-baseline-to-pin-old-boost.md b/docs/examples/modify-baseline-to-pin-old-boost.md deleted file mode 100644 index 72e285f386b9a8..00000000000000 --- a/docs/examples/modify-baseline-to-pin-old-boost.md +++ /dev/null @@ -1,190 +0,0 @@ -# Pin old Boost versions -This document will teach you how to set versions of meta-packages like `boost` or `qt5`. - -**What is a meta-package?** -In vcpkg we call meta-packages to ports that by themselves don't install anything but that instead forward installation to another port or ports. The reasons for these meta-packages to exist are plenty: to install different versions of a library depending on platform (like the old OpenSSL port did), to allow for multiple versions to exist in the vcpkg registry at the same time (OpenCV), or to conveniently install/uninstall a catalog of related packages (Boost and Qt). - -In the case of Boost, it is unlikely that a user requires all of the 140+ Boost libraries in their project. For the sake of convenience, vcpkg splits Boost into multiple sub-packages broken down to individual libraries. By doing so, users can limit the subset of Boost libraries that they depend on. - -If a user wants to install all of the Boost libraries available in vcpkg, they can do so by installing the `boost` meta-package. - -Due to the nature of meta-packages, some unexpected issues arise when trying to use them with versioning. If a user writes the following manifest file: - -`vcpkg.json` -```json -{ - "name": "demo", - "version": "1.0.0", - "builtin-baseline": "787fe1418ea968913cc6daf11855ffd8b0b5e9d4", - "dependencies": [ "boost-tuple" ], - "overrides": [ - { "name": "boost", "version": "1.72.0" } - ] -} -``` - -The resulting installation plan is: -``` -The following packages will be built and installed: - boost-assert[core]:x64-windows -> 1.75.0 -- D:\vcpkg\buildtrees\versioning\versions\boost-assert\3393715b4ebe30fe1c3b68acf7f84363e611f156 - boost-compatibility[core]:x64-windows -> 1.75.0 -- D:\vcpkg\buildtrees\versioning\versions\boost-compatibility\cda5675366367789659c59aca65fc57d03c51deb - boost-config[core]:x64-windows -> 1.75.0 -- D:\vcpkg\buildtrees\versioning\versions\boost-config\ca82ca1b9c1739c91f3cf42c68cee56c896ae6bd - boost-container-hash[core]:x64-windows -> 1.75.0 -- D:\vcpkg\buildtrees\versioning\versions\boost-container-hash\bf472c23d29c3d80b562c43471eb92cea998f372 - boost-core[core]:x64-windows -> 1.75.0 -- D:\vcpkg\buildtrees\versioning\versions\boost-core\20a19f6ece37686a02eed33e1f58add8b7a2582a - boost-detail[core]:x64-windows -> 1.75.0 -- D:\vcpkg\buildtrees\versioning\versions\boost-detail\96744251f025f9b3c856a275dfc338031876777b - boost-integer[core]:x64-windows -> 1.75.0 -- D:\vcpkg\buildtrees\versioning\versions\boost-integer\de70ce0d1500df1eda3496c4f98f42f5db256b4a - boost-io[core]:x64-windows -> 1.75.0 -- D:\vcpkg\buildtrees\versioning\versions\boost-io\7bf3407372f8fc2a99321d24a0e952d44fe25bf3 - boost-preprocessor[core]:x64-windows -> 1.75.0 -- D:\vcpkg\buildtrees\versioning\versions\boost-preprocessor\8d78b8ba2e9f54cb00137115ddd2ffec1c63c149 - boost-static-assert[core]:x64-windows -> 1.75.0 -- D:\vcpkg\buildtrees\versioning\versions\boost-static-assert\2a41c4703c7122de25b1c60510c43edc9371f63d - boost-throw-exception[core]:x64-windows -> 1.75.0 -- D:\vcpkg\buildtrees\versioning\versions\boost-throw-exception\b13bdf32a20786a0165cc20205ef63765cac0627 - boost-tuple[core]:x64-windows -> 1.75.0 -- D:\vcpkg\buildtrees\versioning\versions\boost-tuple\22e3d000a178a88992c430d8ae8a0244c7dea674 - boost-type-traits[core]:x64-windows -> 1.75.0 -- D:\vcpkg\buildtrees\versioning\versions\boost-type-traits\8829793f6c6c913257314caa317599f8d253a5ca - boost-uninstall[core]:x64-windows -> 1.75.0 -- D:\vcpkg\buildtrees\versioning\versions\boost-uninstall\08933bad27b6d41caef0940c31e2069ecb6a079c - boost-utility[core]:x64-windows -> 1.75.0 -- D:\vcpkg\buildtrees\versioning\versions\boost-utility\47572946bf6a63c731b9c4142eecb8bef3d3b270 - boost-vcpkg-helpers[core]:x64-windows -> 7#2 -- D:\vcpkg\buildtrees\versioning\versions\boost-vcpkg-helpers\2a21e5ab45d1ce41c185faf85dff0670ea6def1d -``` - -It is reasonable to expect that overriding `boost` to version 1.72.0 results in all Boost packages being pinned to version 1.72.0. **However, vcpkg does not treat the `boost` meta-package any differently that any other port.** In other words, vcpkg has no notion that `boost` is related to all the other `boost-*` libraries, other than it depends on all of them. For this reason, all the other boost packages are installed at version 1.75.0, which is the baseline version. - -Below, we describe two methods to pin down Boost versions effectively. - -## Method 1: Pin specific packages -Use `"overrides"` to force specific versions in a package-by-package basis. - -`vcpkg.json` -```json -{ - "name": "demo", - "version": "1.0.0", - "builtin-baseline": "787fe1418ea968913cc6daf11855ffd8b0b5e9d4", - "dependencies": [ "boost-tuple" ], - "overrides": [ - { "name": "boost-core", "version": "1.72" }, - { "name": "boost-integer", "version": "1.72" }, - { "name": "boost-io", "version": "1.72" }, - { "name": "boost-tuple", "version": "1.72" } - ] -} -``` - -This method allows you to quickly set the specific versions you want, but you will need to write an override for each package. Boost libraries are also heavily interdependent, which means that you may end up writing a lot of override lines. - -The second method makes it easy to pin the entire Boost collection and end up with a very simple manifest file. - -## Method 2: Modify baseline -An easy way to set the version for the entirety of boost is to use the `"builtin-baseline"` property. - -As of right now, it is only possible to go back to Boost version `1.75.0` using a baseline. Since that was the contemporary Boost version when the versioning feature was merged. **But, it is possible to modify the baseline to whatever you like and use that instead.** - -### Step 1: Create a new branch -As described in the versioning documentation. The value that goes in `"builtin-baseline"` is a Git commit in the vcpkg repository's history. Then it stands to reason, that if you want to customize the baseline you should be able to create a new commit with said custom baseline. - -Let's start by creating a new branch to hold our modified baseline. -In the directory containing your clone of the vcpkg Git repository run: - -``` -git checkout -b custom-boost-baseline -``` - -This will create a new branch named `custom-boost-baseline` and check it out immediately. - -### Step 2: Modify the baseline -The next step is to modify the baseline file, open the file in your editor of choice and modify the entries for the Boost libraries. - -Change the `"baseline"` version to your desired version. -_NOTE: Remember to also set the port versions to 0 (or your desired version)._ - -`${vcpkg-root}/versions/baseline.json` -```diff -... - "boost": { -- "baseline": "1.75.0", -+ "baseline": "1.72.0", - "port-version": 0 - }, - "boost-accumulators": { -- "baseline": "1.75.0", -- "port-version": 1 -+ "baseline": "1.72.0", -+ "port-version": 0 - }, - "boost-algorithm": { -- "baseline": "1.75.0", -+ "baseline": "1.72.0", - "port-version": 0 - }, - "boost-align": { -- "baseline": "1.75.0", -+ "baseline": "1.72.0", - "port-version": 0 - }, -... - "boost-uninstall: { - "baseline": "1.75.0", - "port-version": 0 - }, -... -``` - -Some `boost-` packages are helpers used by vcpkg and are not part of Boost. For example, `"boost-uninstall"` is a vcpkg helper to conveniently uninstall all Boost libraries, but it didn't exist for Boost version `1.72.0`, in this case it is fine to leave it at `1.75.0` to avoid baseline errors (since all versions in `baseline.json` must have existed). - -### Step 3: Commit your changes -After saving your modified file, run these commands to commit your changes: - -``` -git add versions/baseline.json -git commit -m "Baseline Boost 1.72.0" -``` - -You can set the commit message to whatever you want, just make it useful for you. - -### Step 4: Get your baseline commit SHA -Once all your changes are ready, you can get the commit SHA by running: -``` -git rev-parse HEAD -``` - -The output of that command will be the commit SHA you need to put as the `"builtin-baseline"` in your project's manifest file. Copy the 40-hex digits and save them to use later in your manifest file. - -### Step 5: (Optional) Go back to the main repository branch -Once your changes have been committed locally, you can refer to the commit SHA regardless of the repository branch you're working on. So, let's go back to the main vcpkg repository branch. - -``` -git checkout master -``` - -### Step 6: Create your manifest file with your custom baseline - -```json -{ - "name": "demo", - "version": "1.0.0", - "builtin-baseline": "9b5cf7c3d9376ddf43429671282972ec4f99aa85", - "dependencies": [ "boost-tuple" ] -} -``` - -In this example, commit SHA `9b5cf7c3d9376ddf43429671282972ec4f99aa85` is the commit ID with the modified baseline. Even when a different branch (`master` in this case) is checked out, Git is able to find the commit as long as the branch with the modified baseline exists (the `custom-boost-baseline` branch we created in step 1). - -We run `vcpkg --feature-flags="manifests,versions" install` in the directory containing our manifest file and the output looks like this: - -``` -The following packages will be built and installed: - boost-assert[core]:x64-windows -> 1.72.0 -- D:\vcpkg\buildtrees\versioning\versions\boost-assert\6754398591f48435b28014ca0d60e5375a4c04d1 - boost-compatibility[core]:x64-windows -> 1.72.0 -- D:\vcpkg\buildtrees\versioning\versions\boost-compatibility\9893ff3c554575bc712df4108a949e07b269f401 - boost-config[core]:x64-windows -> 1.72.0 -- D:\vcpkg\buildtrees\versioning\versions\boost-config\de2784767046b06ec31eb718f10df512e51f2aad - boost-container-hash[core]:x64-windows -> 1.72.0 -- D:\vcpkg\buildtrees\versioning\versions\boost-container-hash\cc19fb0154bbef188f309f49b2664ec7623b96b6 - boost-core[core]:x64-windows -> 1.72.0 -- D:\vcpkg\buildtrees\versioning\versions\boost-core\0eb5e20df9e267e9eca325be946f52ceb8a60229 - boost-detail[core]:x64-windows -> 1.72.0 -- D:\vcpkg\buildtrees\versioning\versions\boost-detail\759d7c6a3f9dbaed0b0c69fa0bb764f7606bb02d - boost-integer[core]:x64-windows -> 1.72.0 -- D:\vcpkg\buildtrees\versioning\versions\boost-integer\173956c61a26e83b0f8b58b0baf60f06aeee637c - boost-preprocessor[core]:x64-windows -> 1.72.0 -- D:\vcpkg\buildtrees\versioning\versions\boost-preprocessor\86eb3938b7875f124feb845331dbe84cbab5d1c6 - boost-static-assert[core]:x64-windows -> 1.72.0 -- D:\vcpkg\buildtrees\versioning\versions\boost-static-assert\e82d8f7f3ee07e927dc374f5a08ed6d6f4ef81f4 - boost-throw-exception[core]:x64-windows -> 1.72.0 -- D:\vcpkg\buildtrees\versioning\versions\boost-throw-exception\64df295f7df41de4fcb219834889b126b5020def - boost-tuple[core]:x64-windows -> 1.72.0 -- D:\vcpkg\buildtrees\versioning\versions\boost-tuple\b3e1b01ffce6e367e4fed0a5538a8546abacb6b2 - boost-type-traits[core]:x64-windows -> 1.72.0 -- D:\vcpkg\buildtrees\versioning\versions\boost-type-traits\5e44ec657660eccf4d3b2710b092dd238e1e7a2d - boost-uninstall[core]:x64-windows -> 1.75.0 -- D:\vcpkg\buildtrees\versioning\versions\boost-uninstall\08933bad27b6d41caef0940c31e2069ecb6a079c - boost-utility[core]:x64-windows -> 1.72.0 -- D:\vcpkg\buildtrees\versioning\versions\boost-utility\7d721b2458d5d595ac341eb54883274f38a4b8c2 - boost-vcpkg-helpers[core]:x64-windows -> 7#2 -- D:\vcpkg\buildtrees\versioning\versions\boost-vcpkg-helpers\2a21e5ab45d1ce41c185faf85dff0670ea6def1d -``` - -Notice how simple our manifest file has become, instead of having a multitude of `"overrides"` you can pin down all Boost packages just by setting the `"builtin-baseline"` to be your modified baseline commit SHA. diff --git a/docs/examples/overlay-triplets-linux-dynamic.md b/docs/examples/overlay-triplets-linux-dynamic.md deleted file mode 100644 index 5d79013377afb1..00000000000000 --- a/docs/examples/overlay-triplets-linux-dynamic.md +++ /dev/null @@ -1,126 +0,0 @@ -# Overlay triplets example - -## Building dynamic libraries on Linux - -Using **vcpkg** you can build libraries for many configurations out of the box. However, this doesn't currently include shared libraries on Linux and Mac OS. - -This doesn't mean that you cannot use **vcpkg** to build your dynamic libraries on these platforms! This document will guide you through creating your own custom triplets with `--overlay-triplets` to easily build dynamic libraries on Linux. - -### Step 1: Create the custom triplet files - -To save time, copy the existing `x64-linux.cmake` triplet file. - -```sh -~/git$ mkdir custom-triplets -~/git$ cp vcpkg/triplets/x64-linux.cmake custom-triplets/x64-linux-dynamic.cmake -``` - -And modify `custom-triplets/x64-linux-dynamic.cmake` to match the contents below: -```cmake -# ~/git/custom-triplets/x64-linux-dynamic.cmake -set(VCPKG_TARGET_ARCHITECTURE x64) -set(VCPKG_CRT_LINKAGE dynamic) -set(VCPKG_LIBRARY_LINKAGE dynamic) # This changed from static to dynamic - -set(VCPKG_CMAKE_SYSTEM_NAME Linux) -``` - -### Step 2: Use `--overlay-triplets` to build dynamic libraries - -Use the `--overlay-triplets` option to include the triplets in the `custom-triplets` directory. - -``` -~/git$ vcpkg/vcpkg install sqlite3:x64-linux-dynamic --overlay-triplets=custom-triplets -The following packages will be built and installed: - sqlite3[core]:x64-linux-dynamic -Starting package 1/1: sqlite3:x64-linux-dynamic -Building package sqlite3[core]:x64-linux-dynamic... --- Loading triplet configuration from: /home/victor/git/custom-triplets/x64-linux-dynamic.cmake --- Downloading https://sqlite.org/2019/sqlite-amalgamation-3280000.zip... --- Extracting source /home/victor/git/vcpkg/downloads/sqlite-amalgamation-3280000.zip --- Applying patch fix-arm-uwp.patch --- Using source at /home/victor/git/vcpkg/buildtrees/sqlite3/src/3280000-6a3ff7ce92 --- Configuring x64-linux-dynamic-dbg --- Configuring x64-linux-dynamic-rel --- Building x64-linux-dynamic-dbg --- Building x64-linux-dynamic-rel --- Performing post-build validation --- Performing post-build validation done -Building package sqlite3[core]:x64-linux-dynamic... done -Installing package sqlite3[core]:x64-linux-dynamic... -Installing package sqlite3[core]:x64-linux-dynamic... done -Elapsed time for package sqlite3:x64-linux-dynamic: 44.82 s - -Total elapsed time: 44.82 s - -The package sqlite3:x64-linux-dynamic provides CMake targets: - - find_package(unofficial-sqlite3 CONFIG REQUIRED) - target_link_libraries(main PRIVATE unofficial::sqlite3::sqlite3) -``` - -Overlay triplets enables your custom triplet files when using `vcpkg install`, `vcpkg update`, `vcpkg upgrade`, and `vcpkg remove`. - -When using the `--overlay-triplets` option, a message like the following lets you know that a custom triplet is being used: - -``` --- Loading triplet configuration from: /home/custom-triplets/x64-linux-dynamic.cmake -``` - -## Overriding default triplets - -As you may have noticed, the default triplets for Windows (`x86-windows` and `x64-windows`) install dynamic libraries, while a suffix (`-static`) is needed for static libraries. This is different with Linux and Mac OS where static libraries are built by `x64-linux` and `x64-osx`. - -Using `--overlay-triplets` it is possible to override the default triplets to accomplish the same behavior on Linux: - -* `x64-linux`: Builds dynamic libraries, -* `x64-linux-static`: Builds static libraries. - -### Step 1: Create the overlay triplets - -Using the custom triplet created in the previous example, rename `custom-triplets/x64-linux-dynamic.cmake` to `custom-triplets/x64-linux.cmake`. Then, copy the default `x64-linux` triplet (which builds static libraries) in your `custom-triplets` folder and rename it to `x64-linux-static.cmake`. - -```sh -~/git$ mv custom-triplets/x64-linux-dynamic.cmake custom-triplets/x64-linux.cmake -~/git$ cp vcpkg/triplets/x64-linux.cmake custom-triplets/x64-linux-static.cmake -``` - -### Step 2: Use `--overlay-triplets` to override default triplets - -Use the `--overlay-triplets` option to include the triplets in the `custom-triplets` directory. - -``` -~/git$ vcpkg/vcpkg install sqlite3:x64-linux --overlay-triplets=custom-triplets -The following packages will be built and installed: - sqlite3[core]:x64-linux -Starting package 1/1: sqlite3:x64-linux -Building package sqlite3[core]:x64-linux... --- Loading triplet configuration from: /home/victor/git/custom-triplets/x64-linux.cmake --- Downloading https://sqlite.org/2019/sqlite-amalgamation-3280000.zip... --- Extracting source /home/victor/git/vcpkg/downloads/sqlite-amalgamation-3280000.zip --- Applying patch fix-arm-uwp.patch --- Using source at /home/victor/git/vcpkg/buildtrees/sqlite3/src/3280000-6a3ff7ce92 --- Configuring x64-linux-dbg --- Configuring x64-linux-rel --- Building x64-linux-dbg --- Building x64-linux-rel --- Performing post-build validation --- Performing post-build validation done -Building package sqlite3[core]:x64-linux... done -Installing package sqlite3[core]:x64-linux... -Installing package sqlite3[core]:x64-linux... done -Elapsed time for package sqlite3:x64-linux: 44.82 s - -Total elapsed time: 44.82 s - -The package sqlite3:x64-linux provides CMake targets: - - find_package(unofficial-sqlite3 CONFIG REQUIRED) - target_link_libraries(main PRIVATE unofficial::sqlite3::sqlite3) -``` - -Note that the default triplet is masked by your custom triplet: - -``` --- Loading triplet configuration from: /home/victor/git/custom-triplets/x64-linux.cmake -``` diff --git a/docs/examples/packaging-github-repos.md b/docs/examples/packaging-github-repos.md deleted file mode 100644 index 3a0e81c2f93a46..00000000000000 --- a/docs/examples/packaging-github-repos.md +++ /dev/null @@ -1,57 +0,0 @@ -## Packaging Github Repos Example: libogg -### Create the manifest file -The manifest file (called `vcpkg.json`) is a json file describing the package's metadata. - -For libogg, we'll create the file `ports/libogg/vcpkg.json` with the following content: - -```json -{ - "name": "libogg", - "version-string": "1.3.3", - "description": "Ogg is a multimedia container format, and the native file and stream format for the Xiph.org multimedia codecs." -} -``` - -You can format the manifest file to our specifications with `vcpkg format-manifest ports/libogg/vcpkg.json`. - -### Create the portfile -`portfile.cmake` describes how to build and install the package. First we download the project from Github with [`vcpkg_from_github`](../maintainers/vcpkg_from_github.md): - -```cmake -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO xiph/ogg - REF v1.3.3 - SHA512 0bd6095d647530d4cb1f509eb5e99965a25cc3dd9b8125b93abd6b248255c890cf20710154bdec40568478eb5c4cde724abfb2eff1f3a04e63acef0fbbc9799b - HEAD_REF master -) -``` - -The important parts to update are `REPO` for the GitHub repository path, `REF` for a stable tag/commit to use, and `SHA512` with the checksum of the downloaded zipfile (you can get this easily by setting it to `0`, trying to install the package, and copying the checksum). - -Finally, we configure the project with CMake, install the package, and copy over the license file: - -```cmake -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA -) -vcpkg_install_cmake() -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libogg RENAME copyright) -``` - -Check the documentation for [`vcpkg_configure_cmake`](../maintainers/vcpkg_configure_cmake.md) and [`vcpkg_install_cmake`](../maintainers/vcpkg_install_cmake.md) if your package needs additional options. - -Now you can run `vcpkg install libogg` to build and install the package. - -### Suggested example portfiles -In the `ports/` directory are many libraries that can be used as examples, including many that are not based on CMake. - -- Header only libraries - - rapidjson - - range-v3 -- MSBuild-based - - mpg123 -- Non-CMake, custom buildsystem - - openssl - - ffmpeg diff --git a/docs/examples/packaging-zipfiles.md b/docs/examples/packaging-zipfiles.md deleted file mode 100644 index 979cc29b45db47..00000000000000 --- a/docs/examples/packaging-zipfiles.md +++ /dev/null @@ -1,76 +0,0 @@ -## Packaging `.zip` Files Example: zlib - -### Bootstrap with `create` -First, locate a globally accessible archive of the library's sources. Zip, gzip, and bzip are all supported. Strongly prefer official sources or mirrors over unofficial mirrors. - -*Looking at zlib's website, the URL http://zlib.net/zlib-1.2.11.tar.gz looks appropriate.* - -Second, determine a suitable package name. This should be ASCII, lowercase, and recognizable to someone who knows the library's "human name". If the library is already packaged in another package manager, prefer that name. - -*Since zlib is already packaged as zlib, we will use the name zlib2 for this example.* - -Finally, if the server's name for the archive is not very descriptive (such as downloading a zipped commit or branch from GitHub), choose a nice archive name of the form `-.zip`. - -*`zlib1211.zip` is a fine name, so no change needed.* - -All this information can then be passed into the `create` command, which will download the sources and bootstrap the packaging process inside `ports/`. - -```no-highlight -PS D:\src\vcpkg> .\vcpkg create zlib2 http://zlib.net/zlib-1.2.11.tar.gz zlib1211.tar.gz --- Generated portfile: D:/src/vcpkg/ports/zlib2/portfile.cmake -``` - -### Create the manifest file -In addition to the generated `ports//portfile.cmake`, we also need a `ports//vcpkg.json` file. This file is a simple set of fields describing the package's metadata. - -*For zlib2, we'll create the file `ports/zlib2/vcpkg.json` with the following contents:* -```json -{ - "name": "zlib2", - "version-string": "1.2.11", - "description": "A Massively Spiffy Yet Delicately Unobtrusive Compression Library" -} -``` - -### Tweak the generated portfile -The generated `portfile.cmake` will need some editing to correctly package most libraries in the wild, however we can start by trying out the build. - -```no-highlight -PS D:\src\vcpkg> .\vcpkg install zlib2 -Computing installation plan... -The following packages will be built and installed: - zlib2[core]:x64-uwp -Starting package 1/1: zlib2:x64-uwp -Building package zlib2[core]:x64-uwp... --- Using cached C:/src/vcpkg/downloads/zlib1211.tar.gz --- Cleaning sources at C:/src/vcpkg/buildtrees/zlib2/src/1.2.11-deec42f53b.clean. Pass --editable to vcpkg to reuse sources. --- Extracting source C:/src/vcpkg/downloads/zlib1211.tar.gz --- Applying patch cmake_dont_build_more_than_needed.patch --- Using source at C:/src/vcpkg/buildtrees/zlib2/src/1.2.11-deec42f53b.clean --- Configuring x64-uwp --- Building x64-uwp-dbg --- Building x64-uwp-rel --- Installing: C:/src/vcpkg/packages/zlib2_x64-uwp/share/zlib2/copyright --- Performing post-build validation -Include files should not be duplicated into the /debug/include directory. If this cannot be disabled in the project cmake, use - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -/debug/share should not exist. Please reorganize any important files, then use - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -The software license must be available at ${CURRENT_PACKAGES_DIR}/share/zlib2/copyright -Found 3 error(s). Please correct the portfile: - D:\src\vcpkg\ports\zlib2\portfile.cmake -``` - -At this point, it is a matter of reading the error messages and log files while steadily improving the quality of the portfile. Zlib required providing a discrete copy of the LICENSE to copy into the package, suppressing the build and installation of executables and headers, and removing the static libraries after they were installed. - -### Suggested example portfiles -In the `ports/` directory are many libraries that can be used as examples, including many that are not based on CMake. - -- Header only libraries - - rapidjson - - range-v3 -- MSBuild-based - - mpg123 -- Non-CMake, custom buildsystem - - openssl - - ffmpeg diff --git a/docs/examples/patching.md b/docs/examples/patching.md deleted file mode 100644 index 4afc1ffafd58da..00000000000000 --- a/docs/examples/patching.md +++ /dev/null @@ -1,220 +0,0 @@ -## Patching Example: Patching libpng to work for x64-uwp - -### Initial error logs -First, try building: - -```no-highlight -PS D:\src\vcpkg> vcpkg install libpng:x64-uwp --editable -Computing installation plan... -The following packages will be built and installed: - libpng[core]:x64-uwp -Starting package 1/1: libpng:x64-uwp -Building package libpng[core]:x64-uwp... --- Using cached D:/src/vcpkg/downloads/glennrp-libpng-v1.6.37.tar.gz --- Extracting source D:/src/vcpkg/downloads/glennrp-libpng-v1.6.37.tar.gz --- Using source at D:/src/vcpkg/buildtrees/libpng/src/v1.6.37-c993153cdf --- Configuring x64-uwp --- Building x64-uwp-rel -CMake Error at scripts/cmake/execute_required_process.cmake:14 (message): - Command failed: C:/Program Files/CMake/bin/cmake.exe;--build;.;--config;Release - - Working Directory: D:/src/vcpkg/buildtrees/libpng/x64-uwp-rel - - See logs for more information: - - D:\src\vcpkg\buildtrees\libpng\build-x64-uwp-rel-out.log - D:\src\vcpkg\buildtrees\libpng\build-x64-uwp-rel-err.log - -Call Stack (most recent call first): - scripts/cmake/vcpkg_build_cmake.cmake:3 (execute_required_process) - ports/libpng/portfile.cmake:22 (vcpkg_build_cmake) - scripts/ports.cmake:84 (include) - - -Error: build command failed -``` - -Next, looking at the above logs (build-xxx-out.log and build-xxx-err.log). - -```no-highlight -// build-x64-uwp-rel-out.log -... -"D:\src\vcpkg\buildtrees\libpng\x64-uwp-rel\ALL_BUILD.vcxproj" (default target) (1) -> -"D:\src\vcpkg\buildtrees\libpng\x64-uwp-rel\png.vcxproj" (default target) (3) -> -(ClCompile target) -> - D:\src\vcpkg\buildtrees\libpng\src\v1.6.37-c993153cdf\pngerror.c(775): warning C4013: 'ExitProcess' undefined; assuming extern returning int [D:\src\vcpkg\buildtrees\libpng\x64-uwp-rel\png.vcxproj] - - -"D:\src\vcpkg\buildtrees\libpng\x64-uwp-rel\ALL_BUILD.vcxproj" (default target) (1) -> -"D:\src\vcpkg\buildtrees\libpng\x64-uwp-rel\png.vcxproj" (default target) (3) -> -(Link target) -> - pngerror.obj : error LNK2019: unresolved external symbol _ExitProcess referenced in function _png_longjmp [D:\src\vcpkg\buildtrees\libpng\x64-uwp-rel\png.vcxproj] - D:\src\vcpkg\buildtrees\libpng\x64-uwp-rel\Release\libpng16.dll : fatal error LNK1120: 1 unresolved externals [D:\src\vcpkg\buildtrees\libpng\x64-uwp-rel\png.vcxproj] - - 1 Warning(s) - 2 Error(s) - -Time Elapsed 00:00:04.19 -``` - -### Identify the problematic code - -Taking a look at [MSDN](https://msdn.microsoft.com/en-us/library/windows/desktop/ms682658(v=vs.85).aspx) shows that `ExitProcess` is only available for desktop apps. Additionally, it's useful to see the surrounding context: - -```c -/* buildtrees\libpng\src\v1.6.37-c993153cdf\pngerror.c:769 */ - /* If control reaches this point, png_longjmp() must not return. The only - * choice is to terminate the whole process (or maybe the thread); to do - * this the ANSI-C abort() function is used unless a different method is - * implemented by overriding the default configuration setting for - * PNG_ABORT(). - */ - PNG_ABORT(); -``` - -A recursive search for `PNG_ABORT` reveals the definition: -```no-highlight -PS D:\src\vcpkg\buildtrees\libpng\src\v1.6.37-c993153cdf> findstr /snipl "PNG_ABORT" * -CHANGES:701: Added PNG_SETJMP_SUPPORTED, PNG_SETJMP_NOT_SUPPORTED, and PNG_ABORT() macros -libpng-manual.txt:432:errors will result in a call to PNG_ABORT() which defaults to abort(). -libpng-manual.txt:434:You can #define PNG_ABORT() to a function that does something -libpng-manual.txt:2753:errors will result in a call to PNG_ABORT() which defaults to abort(). -libpng-manual.txt:2755:You can #define PNG_ABORT() to a function that does something -libpng-manual.txt:4226:PNG_NO_SETJMP, in which case it is handled via PNG_ABORT()), -libpng.3:942:errors will result in a call to PNG_ABORT() which defaults to abort(). -libpng.3:944:You can #define PNG_ABORT() to a function that does something -libpng.3:3263:errors will result in a call to PNG_ABORT() which defaults to abort(). -libpng.3:3265:You can #define PNG_ABORT() to a function that does something -libpng.3:4736:PNG_NO_SETJMP, in which case it is handled via PNG_ABORT()), -png.h:994: * will use it; otherwise it will call PNG_ABORT(). This function was -pngerror.c:773: * PNG_ABORT(). -pngerror.c:775: PNG_ABORT(); -pngpriv.h:459:#ifndef PNG_ABORT -pngpriv.h:461:# define PNG_ABORT() ExitProcess(0) -pngpriv.h:463:# define PNG_ABORT() abort() -``` - -This already gives us some great clues, but the full definition tells the complete story. - -```c -/* buildtrees\libpng\src\v1.6.37-c993153cdf\pngpriv.h:459 */ -#ifndef PNG_ABORT -# ifdef _WINDOWS_ -# define PNG_ABORT() ExitProcess(0) -# else -# define PNG_ABORT() abort() -# endif -#endif -``` - -`abort()` is a standard CRT call and certainly available in UWP, so we just need to convince libpng to be more platform agnostic. The easiest and most reliable way to achieve this is to patch the code; while in this particular case we could pass in a compiler flag to override `PNG_ABORT` because this is a private header, in general it is more reliable to avoid adding more required compiler switches when possible (especially when it isn't already exposed as a CMake option). - -### Patching the code to improve compatibility - -We recommend using git to create the patch file, since you'll already have it installed. -```no-highlight -PS D:\src\vcpkg\buildtrees\libpng\src\v1.6.37-c993153cdf> git init . -Initialized empty Git repository in D:/src/vcpkg/buildtrees/libpng/src/v1.6.37-c993153cdf/.git/ - -PS D:\src\vcpkg\buildtrees\libpng\src\v1.6.37-c993153cdf> git add . -warning: LF will be replaced by CRLF in ANNOUNCE. -The file will have its original line endings in your working directory. -... - -PS D:\src\vcpkg\buildtrees\libpng\src\v1.6.37-c993153cdf> git commit -m "temp" -[master (root-commit) 68f253f] temp - 422 files changed, 167717 insertions(+) -... -``` - -Now we can modify `pngpriv.h` to use `abort()` everywhere. -```c -/* buildtrees\libpng\src\v1.6.37-c993153cdf\pngpriv.h:459 */ -#ifndef PNG_ABORT -# define PNG_ABORT() abort() -#endif -``` - -The output of `git diff` is already in patch format, so we just need to save the patch into the `ports/libpng` directory. -```no-highlight -PS buildtrees\libpng\src\v1.6.37-c993153cdf> git diff --ignore-space-at-eol | out-file -enc ascii ..\..\..\..\ports\libpng\use-abort-on-all-platforms.patch -``` - -Finally, we need to apply the patch after extracting the source. -```cmake -# ports\libpng\portfile.cmake -... -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} - PATCHES - "use-abort-on-all-platforms.patch" -) - -vcpkg_configure_cmake( -... -``` - -### Verification - -To be completely sure this works from scratch, we need to remove the package and rebuild it: - -```no-highlight -PS D:\src\vcpkg> vcpkg remove libpng:x64-uwp -Package libpng:x64-uwp was successfully removed -``` - -Now we try a fresh, from scratch install. - -```no-highlight -PS D:\src\vcpkg> vcpkg install libpng:x64-uwp -Computing installation plan... -The following packages will be built and installed: - libpng[core]:x64-uwp -Starting package 1/1: libpng:x64-uwp -Building package libpng[core]:x64-uwp... -Could not locate cached archive: C:\Users\me\AppData\Local\vcpkg/archives\f4\f44b54f818f78b9a4ccd34b3666f566f94286850.zip --- Using cached D:/src/vcpkg/downloads/glennrp-libpng-v1.6.37.tar.gz --- Extracting source D:/src/vcpkg/downloads/glennrp-libpng-v1.6.37.tar.gz --- Applying patch use_abort.patch --- Applying patch cmake.patch --- Applying patch pkgconfig.patch --- Applying patch pkgconfig.2.patch --- Using source at D:/src/vcpkg/buildtrees/libpng/src/v1.6.37-10db9f58e4.clean --- Configuring x64-uwp --- Building x64-uwp-dbg --- Building x64-uwp-rel --- Fixing pkgconfig file: D:/src/vcpkg/packages/libpng_x64-uwp/lib/pkgconfig/libpng.pc --- Fixing pkgconfig file: D:/src/vcpkg/packages/libpng_x64-uwp/lib/pkgconfig/libpng16.pc --- Fixing pkgconfig file: D:/src/vcpkg/packages/libpng_x64-uwp/debug/lib/pkgconfig/libpng.pc --- Fixing pkgconfig file: D:/src/vcpkg/packages/libpng_x64-uwp/debug/lib/pkgconfig/libpng16.pc --- Installing: D:/src/vcpkg/packages/libpng_x64-uwp/share/libpng/copyright --- Performing post-build validation --- Performing post-build validation done -Stored binary cache: C:\Users\me\AppData\Local\vcpkg/archives\f4\f44b54f818f78b9a4ccd34b3666f566f94286850.zip -Building package libpng[core]:x64-uwp... done -Installing package libpng[core]:x64-uwp... -Installing package libpng[core]:x64-uwp... done -Elapsed time for package libpng:x64-uwp: 11.94 s - -Total elapsed time: 11.95 s - -The package libpng:x64-uwp provides CMake targets: - - find_package(libpng CONFIG REQUIRED) - target_link_libraries(main PRIVATE png) -``` - -Finally, to fully commit and publish the changes, we need to bump the port version in `vcpkg.json`, -and add the patch file to source control, then make a Pull Request! - -```json -{ - "name": "libpng", - "version": "1.6.37", - "port-version": 1, - "dependencies": [ - "zlib" - ] -} -``` diff --git a/docs/examples/vcpkg_android_example_cmake/.gitignore b/docs/examples/vcpkg_android_example_cmake/.gitignore deleted file mode 100644 index 378eac25d31170..00000000000000 --- a/docs/examples/vcpkg_android_example_cmake/.gitignore +++ /dev/null @@ -1 +0,0 @@ -build diff --git a/docs/examples/vcpkg_android_example_cmake/CMakeLists.txt b/docs/examples/vcpkg_android_example_cmake/CMakeLists.txt deleted file mode 100644 index 7572bbbc83884f..00000000000000 --- a/docs/examples/vcpkg_android_example_cmake/CMakeLists.txt +++ /dev/null @@ -1,5 +0,0 @@ -cmake_minimum_required(VERSION 3.0) -project(test) -find_package(jsoncpp CONFIG REQUIRED) -add_library(my_lib my_lib.cpp) -target_link_libraries(my_lib jsoncpp_lib) diff --git a/docs/examples/vcpkg_android_example_cmake/compile.sh b/docs/examples/vcpkg_android_example_cmake/compile.sh deleted file mode 100755 index 1d1aa60a920b8f..00000000000000 --- a/docs/examples/vcpkg_android_example_cmake/compile.sh +++ /dev/null @@ -1,54 +0,0 @@ -# -# 1. Check the presence of required environment variables -# -if [ -z ${ANDROID_NDK_HOME+x} ]; then - echo "Please set ANDROID_NDK_HOME" - exit 1 -fi -if [ -z ${VCPKG_ROOT+x} ]; then - echo "Please set VCPKG_ROOT" - exit 1 -fi - -# -# 2. Set the path to the toolchains -# -vcpkg_toolchain_file=$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake -android_toolchain_file=$ANDROID_NDK_HOME/build/cmake/android.toolchain.cmake - - -# -# 3. Select a pair "Android abi" / "vcpkg triplet" -# Uncomment one of the four possibilities below -# - -android_abi=armeabi-v7a -vcpkg_target_triplet=arm-android - -# android_abi=x86 -# vcpkg_target_triplet=x86-android - -# android_abi=arm64-v8a -# vcpkg_target_triplet=arm64-android - -# android_abi=x86_64 -# vcpkg_target_triplet=x64-android - - -# -# 4. Install the library via vcpkg -# -$VCPKG_ROOT/vcpkg install jsoncpp:$vcpkg_target_triplet - -# -# 5. Test the build -# -rm -rf build -mkdir build -cd build -cmake .. \ - -DCMAKE_TOOLCHAIN_FILE=$vcpkg_toolchain_file \ - -DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=$android_toolchain_file \ - -DVCPKG_TARGET_TRIPLET=$vcpkg_target_triplet \ - -DANDROID_ABI=$android_abi -make diff --git a/docs/examples/vcpkg_android_example_cmake/my_lib.cpp b/docs/examples/vcpkg_android_example_cmake/my_lib.cpp deleted file mode 100644 index f0165d72df6156..00000000000000 --- a/docs/examples/vcpkg_android_example_cmake/my_lib.cpp +++ /dev/null @@ -1,8 +0,0 @@ -#include - -int answer() -{ - Json::Value meaning_of; - meaning_of["everything"] = 42; - return meaning_of["everything"].asInt(); -} diff --git a/docs/examples/vcpkg_android_example_cmake_script/.gitignore b/docs/examples/vcpkg_android_example_cmake_script/.gitignore deleted file mode 100644 index 378eac25d31170..00000000000000 --- a/docs/examples/vcpkg_android_example_cmake_script/.gitignore +++ /dev/null @@ -1 +0,0 @@ -build diff --git a/docs/examples/vcpkg_android_example_cmake_script/CMakeLists.txt b/docs/examples/vcpkg_android_example_cmake_script/CMakeLists.txt deleted file mode 100644 index d3218866f57b7d..00000000000000 --- a/docs/examples/vcpkg_android_example_cmake_script/CMakeLists.txt +++ /dev/null @@ -1,13 +0,0 @@ -cmake_minimum_required(VERSION 3.0) - -# if -DVCPKG_TARGET_ANDROID=ON is specified when invoking cmake, load cmake/vcpkg_android.cmake -# !!! Important: place this line before calling project() !!! -if (VCPKG_TARGET_ANDROID) - include("cmake/vcpkg_android.cmake") -endif() - -project(test) - -find_package(jsoncpp CONFIG REQUIRED) -add_library(my_lib my_lib.cpp) -target_link_libraries(my_lib jsoncpp_lib) diff --git a/docs/examples/vcpkg_android_example_cmake_script/cmake/vcpkg_android.cmake b/docs/examples/vcpkg_android_example_cmake_script/cmake/vcpkg_android.cmake deleted file mode 100644 index 3f09b1114e5f0a..00000000000000 --- a/docs/examples/vcpkg_android_example_cmake_script/cmake/vcpkg_android.cmake +++ /dev/null @@ -1,99 +0,0 @@ -# -# vcpkg_android.cmake -# -# Helper script when using vcpkg with cmake. It should be triggered via the variable VCPKG_TARGET_ANDROID -# -# For example: -# if (VCPKG_TARGET_ANDROID) -# include("cmake/vcpkg_android.cmake") -# endif() -# -# This script will: -# 1 & 2. check the presence of needed env variables: ANDROID_NDK_HOME and VCPKG_ROOT -# 3. set VCPKG_TARGET_TRIPLET according to ANDROID_ABI -# 4. Combine vcpkg and Android toolchains by setting CMAKE_TOOLCHAIN_FILE -# and VCPKG_CHAINLOAD_TOOLCHAIN_FILE - -# Note: VCPKG_TARGET_ANDROID is not an official Vcpkg variable. -# it is introduced for the need of this script - -if (VCPKG_TARGET_ANDROID) - - # - # 1. Check the presence of environment variable ANDROID_NDK_HOME - # - if (NOT DEFINED ENV{ANDROID_NDK_HOME}) - message(FATAL_ERROR " - Please set an environment variable ANDROID_NDK_HOME - For example: - export ANDROID_NDK_HOME=/home/your-account/Android/Sdk/ndk-bundle - Or: - export ANDROID_NDK_HOME=/home/your-account/Android/android-ndk-r21b - ") - endif() - - # - # 2. Check the presence of environment variable VCPKG_ROOT - # - if (NOT DEFINED ENV{VCPKG_ROOT}) - message(FATAL_ERROR " - Please set an environment variable VCPKG_ROOT - For example: - export VCPKG_ROOT=/path/to/vcpkg - ") - endif() - - - # - # 3. Set VCPKG_TARGET_TRIPLET according to ANDROID_ABI - # - # There are four different Android ABI, each of which maps to - # a vcpkg triplet. The following table outlines the mapping from vcpkg architectures to android architectures - # - # |VCPKG_TARGET_TRIPLET | ANDROID_ABI | - # |---------------------------|----------------------| - # |arm64-android | arm64-v8a | - # |arm-android | armeabi-v7a | - # |x64-android | x86_64 | - # |x86-android | x86 | - # - # The variable must be stored in the cache in order to successfully the two toolchains. - # - if (ANDROID_ABI MATCHES "arm64-v8a") - set(VCPKG_TARGET_TRIPLET "arm64-android" CACHE STRING "" FORCE) - elseif(ANDROID_ABI MATCHES "armeabi-v7a") - set(VCPKG_TARGET_TRIPLET "arm-android" CACHE STRING "" FORCE) - elseif(ANDROID_ABI MATCHES "x86_64") - set(VCPKG_TARGET_TRIPLET "x64-android" CACHE STRING "" FORCE) - elseif(ANDROID_ABI MATCHES "x86") - set(VCPKG_TARGET_TRIPLET "x86-android" CACHE STRING "" FORCE) - else() - message(FATAL_ERROR " - Please specify ANDROID_ABI - For example - cmake ... -DANDROID_ABI=armeabi-v7a - - Possible ABIs are: arm64-v8a, armeabi-v7a, x64-android, x86-android - ") - endif() - message("vcpkg_android.cmake: VCPKG_TARGET_TRIPLET was set to ${VCPKG_TARGET_TRIPLET}") - - - # - # 4. Combine vcpkg and Android toolchains - # - - # vcpkg and android both provide dedicated toolchains: - # - # vcpkg_toolchain_file=$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake - # android_toolchain_file=$ANDROID_NDK_HOME/build/cmake/android.toolchain.cmake - # - # When using vcpkg, the vcpkg toolchain shall be specified first. - # However, vcpkg provides a way to preload and additional toolchain, - # with the VCPKG_CHAINLOAD_TOOLCHAIN_FILE option. - set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE $ENV{ANDROID_NDK_HOME}/build/cmake/android.toolchain.cmake) - set(CMAKE_TOOLCHAIN_FILE $ENV{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake) - message("vcpkg_android.cmake: CMAKE_TOOLCHAIN_FILE was set to ${CMAKE_TOOLCHAIN_FILE}") - message("vcpkg_android.cmake: VCPKG_CHAINLOAD_TOOLCHAIN_FILE was set to ${VCPKG_CHAINLOAD_TOOLCHAIN_FILE}") - -endif(VCPKG_TARGET_ANDROID) diff --git a/docs/examples/vcpkg_android_example_cmake_script/compile.sh b/docs/examples/vcpkg_android_example_cmake_script/compile.sh deleted file mode 100755 index abd981a6a2c3e4..00000000000000 --- a/docs/examples/vcpkg_android_example_cmake_script/compile.sh +++ /dev/null @@ -1,37 +0,0 @@ -# 1. Install the library via vcpkg -# This install jsoncpp for the 4 android target ABIs and for the host computer. -# see the correspondence between ABIs and vcpkg triplets in the table below: -# -# |VCPKG_TARGET_TRIPLET | ANDROID_ABI | -# |---------------------------|----------------------| -# |arm64-android | arm64-v8a | -# |arm-android | armeabi-v7a | -# |x64-android | x86_64 | -# |x86-android | x86 | -$VCPKG_ROOT/vcpkg install \ - jsoncpp \ - jsoncpp:arm-android \ - jsoncpp:arm64-android \ - jsoncpp:x86-android \ - jsoncpp:x64-android - - -# 2. Test the build -# -# First, select an android ABI -# Uncomment one of the four possibilities below -# -android_abi=armeabi-v7a -# android_abi=x86 -# android_abi=arm64-v8a -# android_abi=x86_64 - -rm -rf build -mkdir build && cd build - -# DVCPKG_TARGET_ANDROID will load vcpkg_android.cmake, -# which will then load the android + vcpkg toolchains. -cmake .. \ - -DVCPKG_TARGET_ANDROID=ON \ - -DANDROID_ABI=$android_abi -make diff --git a/docs/examples/vcpkg_android_example_cmake_script/my_lib.cpp b/docs/examples/vcpkg_android_example_cmake_script/my_lib.cpp deleted file mode 100644 index f0165d72df6156..00000000000000 --- a/docs/examples/vcpkg_android_example_cmake_script/my_lib.cpp +++ /dev/null @@ -1,8 +0,0 @@ -#include - -int answer() -{ - Json::Value meaning_of; - meaning_of["everything"] = 42; - return meaning_of["everything"].asInt(); -} diff --git a/docs/examples/versioning.getting-started.md b/docs/examples/versioning.getting-started.md deleted file mode 100644 index c55cf7c1c76539..00000000000000 --- a/docs/examples/versioning.getting-started.md +++ /dev/null @@ -1,251 +0,0 @@ -# Getting started with versioning - -**The latest version of this documentation is available on [GitHub](https://github.com/Microsoft/vcpkg/tree/master/docs/examples/versioning.getting-started.md).** - -Vcpkg lets you take control of which version of packages to install in your projects using manifests. - -## Using versions with manifests - -With the `versions` feature flag enabled you can start adding version constraints to your dependencies. - -Let's start with creating a simple CMake project that depends on `fmt` and `zlib`. - -Create a folder with the following files: - -**vcpkg.json** -```json -{ - "name": "versions-test", - "version": "1.0.0", - "dependencies": [ - { - "name": "fmt", - "version>=": "7.1.3#1" - }, - "zlib" - ], - "builtin-baseline": "3426db05b996481ca31e95fff3734cf23e0f51bc" -} -``` - -**main.cpp** -```c++ -#include -#include - -int main() -{ - fmt::print("fmt version is {}\n" - "zlib version is {}\n", - FMT_VERSION, ZLIB_VERSION); - return 0; -} -``` - -**CMakeLists.txt** -```CMake -cmake_minimum_required(VERSION 3.18) - -project(versionstest CXX) - -add_executable(main main.cpp) - -find_package(ZLIB REQUIRED) -find_package(fmt CONFIG REQUIRED) -target_link_libraries(main PRIVATE ZLIB::ZLIB fmt::fmt) -``` - -And now we build and run our project with CMake: - -1. Create the build directory for the project. -``` -PS D:\versions-test> mkdir build -PS D:\versions-test> cd build -``` - -2. Configure CMake. -``` -PS D:\versions-test\build> cmake -G Ninja -DCMAKE_TOOLCHAIN_FILE=D:/vcpkg/scripts/buildsystems/vcpkg.cmake .. --- Running vcpkg install -Detecting compiler hash for triplet x86-windows... -The following packages will be built and installed: - fmt[core]:x64-windows -> 7.1.3#1 -- D:\Work\viromer\vcpkg\buildtrees\versioning\versions\fmt\4f8427eb0bd40da1856d4e67bde39a4fda689d72 - vcpkg-cmake[core]:x64-windows -> 2021-02-26 -- D:\Work\viromer\vcpkg\buildtrees\versioning\versions\vcpkg-cmake\51896aa8073adb5c8450daa423d03eedf0dfc61f - vcpkg-cmake-config[core]:x64-windows -> 2021-02-26 -- D:\Work\viromer\vcpkg\buildtrees\versioning\versions\vcpkg-cmake-config\d255b3d566a8861dcc99a958240463e678528066 - zlib[core]:x64-windows -> 1.2.11#9 -- D:\Work\viromer\vcpkg\buildtrees\versioning\versions\zlib\827111046e37c98153d9d82bb6fa4183b6d728e4 -... -``` - -3. Build the project. -``` -PS D:\versions-test\build> cmake --build . -[2/2] Linking CXX executable main.exe -``` - -4. Run it! -``` -PS D:\versions-test\build> ./main.exe -fmt version is 70103 -zlib version is 1.2.11 -``` - -Take a look at the output: - -``` -fmt[core]:x86-windows -> 7.1.3#1 -- D:\vcpkg\buildtrees\versioning\versions\fmt\4f8427eb0bd40da1856d4e67bde39a4fda689d72 -... -zlib[core]:x86-windows -> 1.2.11#9 -- D:\vcpkg\buildtrees\versioning\versions\zlib\827111046e37c98153d9d82bb6fa4183b6d728e4 -``` - -Instead of using the portfiles in `ports/`, vcpkg is checking out the files for each version in `buildtrees/versioning/versions/`. The files in `ports/` are still used when running vcpkg in classic mode or when the `versions` feature flag is disabled. - -_NOTE: Output from vcpkg while configuring CMake is only available when using CMake version `3.18` or newer. If you're using an older CMake you can check the `vcpkg-manifest-install.log` file in your build directory instead._ - -Read our [manifests announcement blog post](https://devblogs.microsoft.com/cppblog/vcpkg-accelerate-your-team-development-environment-with-binary-caching-and-manifests/#using-manifests-with-msbuild-projects) to learn how to use manifests with MSBuild. - -### Manifest changes -If you have used manifests before you will notice that there are some new JSON properties. Let's review these changes: - -#### **`version`** -```json -{ - "name": "versions-test", - "version": "1.0.0" -} -``` - -This is your project's version declaration. Previously, you could only declare versions for your projects using the `version-string` property. Now that versioning has come around, vcpkg is aware of some new versioning schemes. - -Version scheme | Description ----------------- | --------------- -`version` | Dot-separated numerics: `1.0.0.5`. -`version-semver` | Compliant [semantic versions](https://semver.org): `1.2.0` and `1.2.0-rc`. -`version-date` | Dates in `YYYY-MM-DD` format: `2021-01-01` -`version-string` | Arbitrary strings: `vista`, `candy`. - -#### **`version>=`** -```json -{ - "dependencies": [ - { "name": "fmt", "version>=": "7.1.3" }, - "zlib" - ] -} -``` - -This property is used to express minimum version constraints, it is allowed only as part of the `"dependencies"` declarations. In our example we set an explicit constraint on version `7.1.3#1` of `fmt`. - -Vcpkg is allowed to upgrade this constraint if a transitive dependency requires a newer version. For example, if `zlib` were to declare a dependency on `fmt` version `7.1.4` then vcpkg would install `7.1.4` instead. - -Vcpkg uses a minimum version approach, in our example, even if `fmt` version `8.0.0` were to be released, vcpkg would still install version `7.1.3#1` as that is the minimum version that satisfies the constraint. The advantages of this approach are that you don't get unexpected dependency upgrades when you update vcpkg and you get reproducible builds (in terms of version used) as long as you use the same manifest. - -If you want to upgrade your dependencies, you can bump the minimum version constraint or use a newer baseline. - -#### **`builtin-baseline`** - -```json -{ "builtin-baseline": "3426db05b996481ca31e95fff3734cf23e0f51bc" } -``` - -This field declares the versioning baseline for all ports. Setting a baseline is required to enable versioning, otherwise you will get the current versions on the ports directory. You can run 'git rev-parse HEAD' to get the current commit of vcpkg and set it as the builtin-baseline. See the [`builtin-baseline` documentation](../users/versioning.md#builtin-baseline) for more information. - -In our example, you can notice that we do not declare a version constraint for `zlib`; instead, the version is taken from the baseline. Internally, vcpkg will look in commit `3426db05b996481ca31e95fff3734cf23e0f51bc` to find out what version of `zlib` was the latest at that point in time (in our case it was `1.2.11#9`). - -During version resolution, baseline versions are treated as minimum version constraints. If you declare an explicit constraint that is lower than a baseline version, the explicit constraint will be upgraded to the baseline version. - -For example, if we modified our dependencies like this: -```json -{ "dependencies": [ - { - "name": "fmt", - "version>=": "7.1.3#1" - }, - { - "name": "zlib", - "version>=": "1.2.11#7" - } -] } -``` - -_NOTE: The value `1.2.11#7` represents version `1.2.11`, port version `7`._ - -Since the baseline introduces a minimum version constraint for `zlib` at `1.2.11#9` and a higher version does satisfy the minimum version constraint for `1.2.11#7`, vcpkg is allowed to upgrade it. - -Baselines are also a convenient mechanism to upgrade multiple versions at a time, for example, if you wanted to depend on multiple `boost` libraries, it is more convenient to set the `baseline` once than declaring a version constraint on each package. - -But what if you want to pin a version older than the baseline? - -#### **`overrides`** - -Since baselines establish a version floor for all packages and explicit constraints get upgraded when they are lower than the baseline, we need another mechanism to downgrade versions past the baseline. - -The mechanism vcpkg provides for that scenario is `overrides`. When an override is declared on a package, vcpkg will ignore all other version constraints either directly declared in the manifest or from transitive dependencies. In short, `overrides` will force vcpkg to use the exact version declared, period. - -Let's modify our example once more, this time to force vcpkg to use version `6.0.0` of `fmt`. - -```json -{ - "name": "versions-test", - "version": "1.0.0", - "dependencies": [ - { - "name": "fmt", - "version>=": "7.1.3#1" - }, - { - "name": "zlib", - "version>=": "1.2.11#7" - } - ], - "builtin-baseline": "3426db05b996481ca31e95fff3734cf23e0f51bc", - "overrides": [ - { - "name": "fmt", - "version": "6.0.0" - } - ] -} -``` - -Rebuild our project: - -``` -PS D:\versions-test\build> rm ./CMakeCache.txt -PS D:\versions-test\build> rm -r ./vcpkg_installed -PS D:\versions-test\build> cmake -G Ninja -DCMAKE_TOOLCHAIN_FILE=D:/vcpkg/scripts/buildsystems/vcpkg.cmake .. --- Running vcpkg install -Detecting compiler hash for triplet x86-windows... -The following packages will be built and installed: - fmt[core]:x86-windows -> 6.0.0 -- D:\vcpkg\buildtrees\versioning\versions\fmt\d99b6a35e1406ba6b6e09d719bebd086f83ed5f3 - zlib[core]:x86-windows -> 1.2.11#9 -- D:\vcpkg\buildtrees\versioning\versions\zlib\827111046e37c98153d9d82bb6fa4183b6d728e4 -... -PS D:\versions-test\build> cmake --build . -[2/2] Linking CXX executable main.exe -``` - -And run it! -``` -PS D:\versions-test\build> .\main.exe -fmt version is 60000 -zlib version is 1.2.11 -``` - -Notice how the `fmt` is now at version `6.0.0` just like we wanted. - -## Versions and custom ports - -The last thing to discuss is how overlay ports interact with versioning resolution. The answer is: they don't. - -Going into more detail, when you provide an overlay for a port, vcpkg will always use the overlay port without caring what version is contained in it. The reasons are two-fold: (1) it is consistent with the existing behavior of overlay ports of completely masking the existing port, and (2) overlay ports do not (and are not expected to) provide enough information to power vcpkg's versioning feature. - -If you want to have flexible port customization along with versioning features, you should consider making your own custom registry. See our [registries specification for more details](../specifications/registries.md). - -## Further reading - -If you're interested in delving deeper into the details of how versioning works we recommended that you read the [original versioning specification](../specifications/versioning.md) and the [implementation details](../users/versioning.implementation-details.md). - -See also: - -* [Versioning docs](../users/versioning.md) -* [Original specification](../specifications/versioning.md) -* [Versioning implementation details](../users/versioning.implementation-details.md) diff --git a/docs/maintainers/cmake-guidelines.md b/docs/maintainers/cmake-guidelines.md deleted file mode 100644 index c0bd5b6a081ff8..00000000000000 --- a/docs/maintainers/cmake-guidelines.md +++ /dev/null @@ -1,166 +0,0 @@ -# CMake Guidelines - -We expect that all CMake scripts that are either: - -- In the `scripts/` directory, or -- In a `vcpkg-*` port - -should follow the guidelines laid out in this document. -Existing scripts may not follow these guidelines yet; -it is expected that we will continue to update old scripts -to fall in line with these guidelines. - -These guidelines are intended to create stability in our scripts. -We hope that they will make both forwards and backwards compatibility easier. - -## The Guidelines - -- Except for out-parameters, we always use `cmake_parse_arguments()` - rather than function parameters or referring to `${ARG}`. - - This doesn't necessarily need to be followed for "script-local helper functions" - - In this case, positional parameters should be put in the function - declaration (rather than using `${ARG}`), - and should be named according to local rules (i.e. `snake_case`). - - Exception: positional parameters that are optional should be - given a name via `set(argument_name "${ARG}")`, after checking `ARGC`. - - Out-parameters should be the first parameter to a function. Example: - ```cmake - function(format out_var) - cmake_parse_arguments(PARSE_ARGV 1 "arg" ...) - # ... set(buffer "output") - set("${out_var}" "${buffer}" PARENT_SCOPE) - endfunction() - ``` -- There are no unparsed or unused arguments. - Always check for `ARGN` or `arg_UNPARSED_ARGUMENTS`. - `FATAL_ERROR` when possible, `WARNING` if necessary for backwards compatibility. -- All `cmake_parse_arguments` must use `PARSE_ARGV`. -- All `foreach` loops must use `IN LISTS`, `IN ITEMS`, or `RANGE`. -- The variables `${ARGV}` and `${ARGN}` are unreferenced, - except in helpful messages to the user. - - (i.e., `message(FATAL_ERROR "blah was passed extra arguments: ${ARGN}")`) -- We always use functions, not macros or top level code. - - Exception: "script-local helper macros". It is sometimes helpful to define a small macro. - This should be done sparingly, and functions should be preferred. - - Exception: `vcpkg.cmake`'s `find_package`. -- Scripts in the scripts tree should not be expected to need observable changes - as part of normal operation. - - Example violation: `vcpkg_acquire_msys()` has hard-coded packages and versions - that need updating over time due to the MSYS project dropping old packages. - - Example exception: `vcpkg_from_sourceforge()` has a list of mirrors which - needs maintenance, but does not have an observable behavior impact on the callers. -- Rules for quoting: there are three kinds of arguments in CMake - - unquoted (`foo(BAR)`), quoted (`foo("BAR")`), and bracketed (`foo([[BAR]])`). - Follow these rules to quote correctly: - - If an argument contains a variable expansion `${...}`, - it must be quoted. - - Exception: a "splat" variable expansion, when one variable will be - passed to a function as multiple arguments. In this case, the argument - should simply be `${foo}`: - ```cmake - vcpkg_list(SET working_directory) - if(DEFINED "arg_WORKING_DIRECTORY") - vcpkg_list(SET working_directory WORKING_DIRECTORY "${arg_WORKING_DIRECTORY}") - endif() - # calls do_the_thing() if NOT DEFINED arg_WORKING_DIRECTORY, - # else calls do_the_thing(WORKING_DIRECTORY "${arg_WORKING_DIRECTORY}") - do_the_thing(${working_directory}) - ``` - - Otherwise, if the argument contains any escape sequences that are not - `\\`, `\"`, or `\$`, that argument must be a quoted argument. - - For example: `"foo\nbar"` must be quoted. - - Otherwise, if the argument contains a `\`, a `"`, or a `$`, - that argument should be bracketed. - - Example: - ```cmake - set(x [[foo\bar]]) - set(y [=[foo([[bar\baz]])]=]) - ``` - - Otherwise, if the argument contains characters that are - not alphanumeric or `_`, that argument should be quoted. - - Otherwise, the argument should be unquoted. - - Exception: arguments to `if()` of type `` should always be quoted: - - Both arguments to the comparison operators - - `EQUAL`, `STREQUAL`, `VERSION_LESS`, etc. - - The first argument to `MATCHES` and `IN_LIST` - - Example: - ```cmake - if("${FOO}" STREQUAL "BAR") # ... - if("${BAZ}" EQUAL "0") # ... - if("FOO" IN_LIST list_variable) # ... - if("${bar}" MATCHES [[a[bcd]+\.[bcd]+]]) # ... - ``` - - For single expressions and for other types of predicates that do not - take ``, use the normal rules. -- There are no "pointer" or "in-out" parameters - (where a user passes a variable name rather than the contents), - except for simple out-parameters. -- Variables are not assumed to be empty. - If the variable is intended to be used locally, - it must be explicitly initialized to empty with `set(foo "")` if it is a string variable, - and `vcpkg_list(SET foo)` if it is a list variable. -- `set(var)` should not be used. Use `unset(var)` to unset a variable, - `set(var "")` to set it to the empty string, - and `vcpkg_list(SET var)` to set it to the empty list. - _Note: the empty string and the empty list are the same value;_ - _this is a notational difference rather than a difference in result_ -- All variables expected to be inherited from the parent scope across an API boundary - (i.e. not a file-local function) should be documented. - Note that all variables mentioned in triplets.md are considered documented. -- Out parameters are only set in `PARENT_SCOPE` and are never read. - See also the helper `z_vcpkg_forward_output_variable()` to forward out parameters through a function scope. -- `CACHE` variables are used only for global variables which are shared internally among strongly coupled - functions and for internal state within a single function to avoid duplicating work. - These should be used extremely sparingly and should use the `Z_VCPKG_` prefix to avoid - colliding with any local variables that would be defined by any other code. - - Examples: - - `vcpkg_cmake_configure`'s `Z_VCPKG_CMAKE_GENERATOR` - - `z_vcpkg_get_cmake_vars`'s `Z_VCPKG_GET_CMAKE_VARS_FILE` -- `include()`s are only allowed in `ports.cmake` or `vcpkg-port-config.cmake`. -- `foreach(RANGE)`'s arguments _must always be_ natural numbers, - and `` _must always be_ less than or equal to ``. - - This must be checked by something like: - ```cmake - if("${start}" LESS_EQUAL "${end}") - foreach(RANGE "${start}" "${end}") - ... - endforeach() - endif() - ``` -- All port-based scripts must use `include_guard(GLOBAL)` - to avoid being included multiple times. - -### CMake Versions to Require - -- All CMake scripts, except for `vcpkg.cmake`, - may assume the version of CMake that is present in the - `cmake_minimum_required` of `ports.cmake`. - - This `cmake_minimum_required` should be bumped every time a new version - of CMake is added to `vcpkgTools.xml`, as should the - `cmake_minimum_required` in all of the helper `CMakeLists.txt` files. -- `vcpkg.cmake` must assume a version of CMake back to 3.1 in general - - Specific functions and options may assume a greater CMake version; - if they do, make sure to comment that function or option - with the required CMake version. - - -### Changing Existing Functions - -- Never remove arguments in non-internal functions; - if they should no longer do anything, just take them as normal and warn on use. -- Never add a new mandatory argument. - -### Naming Variables - -- `cmake_parse_arguments`: set prefix to `"arg"` -- Local variables are named with `snake_case` -- Internal global variable names are prefixed with `Z_VCPKG_`. -- External experimental global variable names are prefixed with `X_VCPKG_`. - -- Internal functions are prefixed with `z_vcpkg_` - - Functions which are internal to a single function (i.e., helper functions) - are named `[z_]_`, where `` is the name of the function they are - a helper to, and `` is what the helper function does. - - `z_` should be added to the front if `` doesn't have a `z_`, - but don't name a helper function `z_z_foo_bar`. -- Public global variables are named `VCPKG_`. diff --git a/docs/maintainers/control-files.md b/docs/maintainers/control-files.md deleted file mode 100644 index 7064ad40e70c47..00000000000000 --- a/docs/maintainers/control-files.md +++ /dev/null @@ -1,205 +0,0 @@ -# CONTROL files - -**CONTROL files are retained for backwards compatibility with earlier versions of vcpkg; -all new features are added only to [vcpkg.json manifest files](manifest-files.md), and we recommend using vcpkg.json for any newly authored port. -Use `./vcpkg format-manifest ports//CONTROL` to convert an existing CONTROL file to a vcpkg.json file.** - -The `CONTROL` file contains metadata about the port. The syntax is based on [the Debian `control` format][debian] although we only support the subset of fields documented here. - -Field names are case-sensitive and start the line without leading whitespace. Paragraphs are separated by one or more empty lines. - -[debian]: https://www.debian.org/doc/debian-policy/ch-controlfields.html - -## Source Paragraph - -The first paragraph in a `CONTROL` file is the Source paragraph. It must have a `Source`, `Version`, and `Description` field. The full set of fields is documented below. - -### Examples: -```no-highlight -Source: ace -Version: 6.5.5 -Description: The ADAPTIVE Communication Environment -``` - -```no-highlight -Source: vtk -Version: 8.2.0 -Port-Version: 2 -Description: Software system for 3D computer graphics, image processing, and visualization -Build-Depends: zlib, libpng, tiff, libxml2, jsoncpp, glew, freetype, expat, hdf5, libjpeg-turbo, proj4, lz4, libtheora, atlmfc (windows), eigen3, double-conversion, pugixml, libharu, sqlite3, netcdf-c -``` - - -### Recognized fields - -#### Source -The name of the port. - -When adding new ports be aware that the name may conflict with other projects that are not a part of vcpkg. For example `json` conflicts with too many other projects so you should add a scope to the name such as `taocpp-json` to make it unique. Verify there are no conflicts on a search engine as well as on other package collections. - -Package collections to check for conflicts: - -+ [Repology](https://repology.org/projects/) -+ [Debian packages](https://www.debian.org/distrib/packages) -+ [Packages search](https://pkgs.org/) - -#### Version -The library version. - -This field is an alphanumeric string that may also contain `.`, `_`, or `-`. No attempt at ordering versions is made; all versions are treated as bit strings and are only evaluated for equality. - -For tagged-release ports, we follow the following convention: - -1. If the port follows a scheme like `va.b.c`, we remove the leading `v`. In this case, it becomes `a.b.c`. -2. If the port includes its own name in the version like `curl-7_65_1`, we remove the leading name: `7_65_1` - -For rolling-release ports, we use the date that the _commit was accessed by you_, formatted as `YYYY-MM-DD`. Stated another way: if someone had a time machine and went to that date, they would see this commit as the latest master. - -For example, given: -1. The latest commit was made on 2019-04-19 -2. The current version string is `2019-02-14-1` -3. Today's date is 2019-06-01. - -Then if you update the source version today, you should give it version `2019-06-01`. - -#### Port-Version -The version of the port. - -This field is a non-negative integer. It allows one to version the port file separately from the version of the underlying library; if you make a change to a port, without changing the underlying version of the library, you should increment this field by one (starting at `0`, which is equivalent to no `Port-Version` field). When the version of the underlying library is upgraded, this field should be set back to `0` (i.e., delete the `Port-Version` field). - -##### Examples: -```no-highlight -Version: 1.0.5 -Port-Version: 2 -``` -```no-highlight -Version: 2019-03-21 -``` - -#### Description -A description of the library. - -By convention the first line of the description is a summary of the library. An optional detailed description follows. The detailed description can be multiple lines, all starting with whitespace. - -##### Examples: -```no-highlight -Description: C++ header-only JSON library -``` -```no-highlight -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 -The URL of the homepage for the library where a user is able to find additional documentation or the original source code. - -Example: -```no-highlight -Homepage: https://github.com/Microsoft/vcpkg -``` - -#### Build-Depends -Comma separated list of vcpkg ports the library has a dependency on. - -Vcpkg does not distinguish between build-only dependencies and runtime dependencies. The complete list of dependencies needed to successfully use the library should be specified. - -*For example: websocketpp is a header only library, and thus does not require any dependencies at install time. However, downstream users need boost and openssl to make use of the library. Therefore, websocketpp lists boost and openssl as dependencies* - -If the port is dependent on optional features of another library those can be specified using the `portname[featurelist]` syntax. If the port does not require any features from the dependency, this should be specified as `portname[core]`. - -Dependencies can be filtered based on the target triplet to support differing requirements. These filters use the same syntax as the Supports field below and are surrounded in parentheses following the portname and feature list. - -##### Example: -```no-highlight -Build-Depends: rapidjson, curl[core,openssl] (!windows), curl[core,winssl] (windows) -``` - -#### Default-Features -Comma separated list of optional port features to install by default. - -This field is optional. - -##### Example: -```no-highlight -Default-Features: dynamodb, s3, kinesis -``` - - -#### Supports -Expression that evaluates to true when the port is expected to build successfully for a triplet. - -Currently, this field is only used in the CI testing to skip ports. In the future, this mechanism is intended to warn users in advance that a given install tree is not expected to succeed. Therefore, this field should be used optimistically; in cases where a port is expected to succeed 10% of the time, it should still be marked "supported". - -The grammar for the supports expression uses standard operators: -- `!expr` - negation -- `expr|expr` - or (`||` is also supported) -- `expr&expr` - and (`&&` is also supported) -- `(expr)` - grouping/precedence - -The predefined expressions are computed from standard triplet settings: -- `native` - `TARGET_TRIPLET` == `HOST_TRIPLET` -- `x64` - `VCPKG_TARGET_ARCHITECTURE` == `"x64"` -- `x86` - `VCPKG_TARGET_ARCHITECTURE` == `"x86"` -- `arm` - `VCPKG_TARGET_ARCHITECTURE` == `"arm"` or `VCPKG_TARGET_ARCHITECTURE` == `"arm64"` -- `arm64` - `VCPKG_TARGET_ARCHITECTURE` == `"arm64"` -- `windows` - `VCPKG_CMAKE_SYSTEM_NAME` == `""` or `VCPKG_CMAKE_SYSTEM_NAME` == `"WindowsStore"` -- `uwp` - `VCPKG_CMAKE_SYSTEM_NAME` == `"WindowsStore"` -- `linux` - `VCPKG_CMAKE_SYSTEM_NAME` == `"Linux"` -- `osx` - `VCPKG_CMAKE_SYSTEM_NAME` == `"Darwin"` -- `android` - `VCPKG_CMAKE_SYSTEM_NAME` == `"Android"` -- `static` - `VCPKG_LIBRARY_LINKAGE` == `"static"` -- `wasm32` - `VCPKG_TARGET_ARCHITECTURE` == `"wasm32"` -- `emscripten` - `VCPKG_CMAKE_SYSTEM_NAME` == `"Emscripten"` - -These predefined expressions can be overridden in the triplet file via the [`VCPKG_DEP_INFO_OVERRIDE_VARS`](../users/triplets.md) option. - -This field is optional and defaults to true. - -> Implementers' Note: these terms are computed from the triplet via the `vcpkg_get_dep_info` mechanism. - -##### Example: -```no-highlight -Supports: !(uwp|arm) -``` - -## Feature Paragraphs - -Multiple optional features can be specified in the `CONTROL` files. It must have a `Feature` and `Description` field. It can optionally have a `Build-Depends` field. It must be separated from other paragraphs by one or more empty lines. - -### Example: -```no-highlight -Source: vtk -Version: 8.2.0-2 -Description: Software system for 3D computer graphics, image processing, and visualization -Build-Depends: zlib, libpng, tiff, libxml2, jsoncpp, glew, freetype, expat, hdf5, libjpeg-turbo, proj4, lz4, libtheora, atlmfc (windows), eigen3, double-conversion, pugixml, libharu, sqlite3, netcdf-c - -Feature: openvr -Description: OpenVR functionality for VTK -Build-Depends: sdl2, openvr - -Feature: qt -Description: Qt functionality for VTK -Build-Depends: qt5 - -Feature: mpi -Description: MPI functionality for VTK -Build-Depends: mpi, hdf5[parallel] - -Feature: python -Description: Python functionality for VTK -Build-Depends: python3 -``` - -### Recognized fields - -#### Feature -The name of the feature. - -#### Description -A description of the feature using the same syntax as the port `Description` field. - -#### Build-Depends -The list of dependencies required to build and use this feature. - -On installation the dependencies from all selected features are combined to produce the full dependency list for the build. This field follows the same syntax as `Build-Depends` in the Source Paragraph. diff --git a/docs/maintainers/execute_process.md b/docs/maintainers/execute_process.md deleted file mode 100644 index 688ec84646c72e..00000000000000 --- a/docs/maintainers/execute_process.md +++ /dev/null @@ -1,11 +0,0 @@ -# execute_process - -The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/execute_process.md). - -Intercepts all calls to execute_process() inside portfiles and fails when Download Mode -is enabled. - -In order to execute a process in Download Mode call `vcpkg_execute_in_download_mode()` instead. - -## Source -[scripts/cmake/execute\_process.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/execute_process.cmake) diff --git a/docs/maintainers/internal/z_vcpkg_apply_patches.md b/docs/maintainers/internal/z_vcpkg_apply_patches.md deleted file mode 100644 index 64351ed526666e..00000000000000 --- a/docs/maintainers/internal/z_vcpkg_apply_patches.md +++ /dev/null @@ -1,32 +0,0 @@ -# z_vcpkg_apply_patches - -The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/). - -**Only for internal use in vcpkg helpers. Behavior and arguments will change without notice.** - -Apply a set of patches to a source tree. - -```cmake -z_vcpkg_apply_patches( - SOURCE_PATH - [QUIET] - PATCHES ... -) -``` - -The `` should be set to `${SOURCE_PATH}` by convention, -and is the path to apply the patches in. - -`z_vcpkg_apply_patches` will take the list of ``es, -which are by default relative to the port directory, -and apply them in order using `git apply`. -Generally, these ``es take the form of `some.patch` -to select patches in the port directory. -One may also download patches and use `${VCPKG_DOWNLOADS}/path/to/some.patch`. - -If `QUIET` is not passed, it is a fatal error for a patch to fail to apply; -otherwise, if `QUIET` is passed, no message is printed. -This should only be used for edge cases, such as patches that are known to fail even on a clean source tree. - -## Source -[scripts/cmake/z\_vcpkg\_apply\_patches.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/z_vcpkg_apply_patches.cmake) diff --git a/docs/maintainers/internal/z_vcpkg_forward_output_variable.md b/docs/maintainers/internal/z_vcpkg_forward_output_variable.md deleted file mode 100644 index 10c5855df6dba0..00000000000000 --- a/docs/maintainers/internal/z_vcpkg_forward_output_variable.md +++ /dev/null @@ -1,38 +0,0 @@ -# z_vcpkg_forward_output_variable - -The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/). - -This macro helps with forwarding values from inner function calls, -through a local function scope, into pointer out parameters. - -```cmake -z_vcpkg_forward_output_variable(ptr_to_parent_var var_to_forward) -``` - -is equivalent to - -```cmake -if(DEFINED ptr_to_parent_var) - if(DEFINED value_var) - set("${ptr_to_parent_var}" "${value_var}" PARENT_SCOPE) - else() - unset("${ptr_to_parent_var}" PARENT_SCOPE) - endif() -endif() -``` - -Take note that the first argument should be a local variable that has a value of the parent variable name. -Most commonly, this local is the result of a pointer-out parameter to a function. -If the variable in the first parameter is not defined, this function does nothing, -simplifying functions with optional out parameters. -Most commonly, this should be used in cases like: - -```cmake -function(my_function out_var) - file(SHA512 "somefile.txt" local_var) - z_vcpkg_forward_output_variable(out_var local_var) -endfunction() -``` - -## Source -[scripts/cmake/z\_vcpkg\_forward\_output\_variable.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/z_vcpkg_forward_output_variable.cmake) diff --git a/docs/maintainers/internal/z_vcpkg_function_arguments.md b/docs/maintainers/internal/z_vcpkg_function_arguments.md deleted file mode 100644 index ac6fb1b6096d68..00000000000000 --- a/docs/maintainers/internal/z_vcpkg_function_arguments.md +++ /dev/null @@ -1,29 +0,0 @@ -# z_vcpkg_function_arguments - -The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/). - -**Only for internal use in vcpkg helpers. Behavior and arguments will change without notice.** -Get a list of the arguments which were passed in. -Unlike `ARGV`, which is simply the arguments joined with `;`, -so that `(A B)` is not distinguishable from `("A;B")`, -this macro gives `"A;B"` for the first argument list, -and `"A\;B"` for the second. - -```cmake -z_vcpkg_function_arguments( []) -``` - -`z_vcpkg_function_arguments` gets the arguments between `ARGV` and the last argument. -`` defaults to `0`, so that all arguments are taken. - -## Example: -```cmake -function(foo_replacement) - z_vcpkg_function_arguments(ARGS) - foo(${ARGS}) - ... -endfunction() -``` - -## Source -[scripts/cmake/z\_vcpkg\_function\_arguments.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/z_vcpkg_function_arguments.cmake) diff --git a/docs/maintainers/internal/z_vcpkg_get_cmake_vars.md b/docs/maintainers/internal/z_vcpkg_get_cmake_vars.md deleted file mode 100644 index 2dcf2a8e7e989e..00000000000000 --- a/docs/maintainers/internal/z_vcpkg_get_cmake_vars.md +++ /dev/null @@ -1,36 +0,0 @@ -# z_vcpkg_get_cmake_vars - -The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/). - -**Only for internal use in vcpkg helpers. Behavior and arguments will change without notice.** -Runs a cmake configure with a dummy project to extract certain cmake variables - -## Usage -```cmake -z_vcpkg_get_cmake_vars() -``` - -`z_vcpkg_get_cmake_vars(cmake_vars_file)` sets `` to -a path to a generated CMake file, with the detected `CMAKE_*` variables -re-exported as `VCPKG_DETECTED_*`. - -## Notes -Avoid usage in portfiles. - -All calls to `z_vcpkg_get_cmake_vars` will result in the same output file; -the output file is not generated multiple times. - -## Examples - -* [vcpkg_configure_make](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_configure_make.cmake) - -### Basic Usage - -```cmake -z_vcpkg_get_cmake_vars(cmake_vars_file) -include("${cmake_vars_file}") -message(STATUS "detected CXX flags: ${VCPKG_DETECTED_CXX_FLAGS}") -``` - -## Source -[scripts/cmake/z\_vcpkg\_get\_cmake\_vars.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/z_vcpkg_get_cmake_vars.cmake) diff --git a/docs/maintainers/internal/z_vcpkg_prettify_command_line.md b/docs/maintainers/internal/z_vcpkg_prettify_command_line.md deleted file mode 100644 index f17114bce8b493..00000000000000 --- a/docs/maintainers/internal/z_vcpkg_prettify_command_line.md +++ /dev/null @@ -1,21 +0,0 @@ -# z_vcpkg_prettify_command_line - -The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/). - -**Only for internal use in vcpkg helpers. Behavior and arguments will change without notice.** -Turn a command line into a formatted string. - -```cmake -z_vcpkg_prettify_command_line( ...) -``` - -This command is for internal use, when printing out to a message. - -## Examples - -* `scripts/cmake/vcpkg_execute_build_process.cmake` -* `scripts/cmake/vcpkg_execute_required_process.cmake` -* `scripts/cmake/vcpkg_execute_required_process_repeat.cmake` - -## Source -[scripts/cmake/z\_vcpkg\_prettify\_command\_line.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/z_vcpkg_prettify_command_line.cmake) diff --git a/docs/maintainers/maintainer-guide.md b/docs/maintainers/maintainer-guide.md deleted file mode 100644 index 855a3a36c4dfc1..00000000000000 --- a/docs/maintainers/maintainer-guide.md +++ /dev/null @@ -1,402 +0,0 @@ -# Maintainer Guidelines and Policies - -This document lists a set of policies that you should apply when adding or updating a port recipe. -It is intended to serve the role of -[Debian's Policy Manual](https://www.debian.org/doc/debian-policy/), -[Homebrew's Maintainer Guidelines](https://docs.brew.sh/Maintainer-Guidelines), and -[Homebrew's Formula Cookbook](https://docs.brew.sh/Formula-Cookbook). - -## PR Structure - -### Make separate Pull Requests per port - -Whenever possible, separate changes into multiple PRs. -This makes them significantly easier to review and prevents issues with one set of changes from holding up every other change. - -### Avoid trivial changes in untouched files - -For example, avoid reformatting or renaming variables in portfiles that otherwise have no reason to be modified for the issue at hand. -However, if you need to modify the file for the primary purpose of the PR (updating the library), -then obviously beneficial changes like fixing typos are appreciated! - -### Check names against other repositories - -A good service to check many at once is [Repology](https://repology.org/). -If the library you are adding could be confused with another one, -consider renaming to make it clear. We prefer when names are longer and/or -unlikely to conflict with any future use of the same name. If the port refers -to a library on GitHub, a good practice is to prefix the name with the organization -if there is any chance of confusion. - -### Use GitHub Draft PRs - -GitHub Draft PRs are a great way to get CI or human feedback on work that isn't yet ready to merge. -Most new PRs should be opened as drafts and converted to normal PRs once the CI passes. - -More information about GitHub Draft PRs: -https://github.blog/2019-02-14-introducing-draft-pull-requests/ - -## Portfiles - -### Avoid deprecated helper functions - -At this time, the following helpers are deprecated: - -1. `vcpkg_extract_source_archive()` should be replaced by [`vcpkg_extract_source_archive_ex()`](vcpkg_extract_source_archive_ex.md) -2. `vcpkg_apply_patches()` should be replaced by the `PATCHES` arguments to the "extract" helpers (e.g. [`vcpkg_from_github()`](vcpkg_from_github.md)) -3. `vcpkg_build_msbuild()` should be replaced by [`vcpkg_install_msbuild()`](vcpkg_install_msbuild.md) -4. `vcpkg_copy_tool_dependencies()` should be replaced by [`vcpkg_copy_tools()`](vcpkg_copy_tools.md) -5. `vcpkg_configure_cmake` should be replaced by [`vcpkg_cmake_configure()`](ports/vcpkg-cmake/vcpkg_cmake_configure.md#vcpkg_cmake_configure) after removing `PREFER_NINJA` (from port [`vcpkg-cmake`](ports/vcpkg-cmake.md#vcpkg-cmake)) -6. `vcpkg_build_cmake` should be replaced by [`vcpkg_cmake_build()`](ports/vcpkg-cmake/vcpkg_cmake_build.md#vcpkg_cmake_build) (from port [`vcpkg-cmake`](ports/vcpkg-cmake.md#vcpkg-cmake)) -7. `vcpkg_install_cmake` should be replaced by [`vcpkg_cmake_install()`](ports/vcpkg-cmake/vcpkg_cmake_install.md#vcpkg_cmake_install) (from port [`vcpkg-cmake`](ports/vcpkg-cmake.md#vcpkg-cmake)) -8. `vcpkg_fixup_cmake_targets` should be replaced by [`vcpkg_cmake_config_fixup`](ports/vcpkg-cmake-config/vcpkg_cmake_config_fixup.md#vcpkg_cmake_config_fixup) (from port [`vcpkg-cmake-config`](ports/vcpkg-cmake-config.md#vcpkg-cmake-config)) - -Some of the replacement helper functions are in "tools ports" to allow consumers to pin their -behavior at specific versions, to allow locking the behavior of the helpers at a particular -version. Tools ports need to be added to your port's `"dependencies"`, like so: - -```json -{ - "name": "vcpkg-cmake", - "host": true -}, -{ - "name": "vcpkg-cmake-config", - "host": true -} -``` - -### Avoid excessive comments in portfiles - -Ideally, portfiles should be short, simple, and as declarative as possible. -Remove any boiler plate comments introduced by the `create` command before submitting a PR. - -### Ports must not be path dependent - -Ports must not change their behavior based on which ports are already installed in a form that would change which contents that port installs. For example, given: - -``` -> vcpkg install a -> vcpkg install b -> vcpkg remove a -``` - -and - -``` -> vcpkg install b -``` - -the files installed by `b` must be the same, regardless of influence by the previous installation of `a`. This means that ports must not try to detect whether something is provided in the installed tree by another port before taking some action. A specific and common cause of such "path dependent" behavior is described below in "When defining features, explicitly control dependencies." - -### Unique port attribution rule - -In the entire vcpkg system, no two ports a user is expected to use concurrently may provide the same file. If a port tries to install a file already provided by another file, installation will fail. If a port wants to use an extremely common name for a header, for example, it should place those headers in a subdirectory rather than in `include`. - -## Features - -### Do not use features to implement alternatives - -Features must be treated as additive functionality. If port[featureA] installs and port[featureB] installs, then port[featureA,featureB] must install. Moreover, if a second port depends on [featureA] and a third port depends on [featureB], installing both the second and third ports should have their dependencies satisfied. - -Libraries in this situation must choose one of the available options as expressed in vcpkg, and users who want a different setting must use overlay ports at this time. - -Existing examples we would not accept today retained for backwards compatibility: - * `libgit2`, `libzip`, `open62541` all have features for selecting a TLS or crypto backend. Note that `curl` has different crypto backend options but allows selecting between them at runtime, meaning the above tenet is maintained. - * `darknet` has `opencv2`, `opencv3`, features to control which version of opencv to use for its dependencies. - -### A feature may engage preview or beta functionality - -Notwithstanding the above, if there is a preview branch or similar where the preview functionality has a high probability of not disrupting the non-preview functionality (for example, no API removals), a feature is acceptable to model this setting. - -Examples: - * The Azure SDKs (of the form `azure-Xxx`) have a `public-preview` feature. - * `imgui` has an `experimental-docking` feature which engages their preview docking branch which uses a merge commit attached to each of their public numbered releases. - -### Default features should enable behaviors, not APIs - -If a consumer is depending directly upon a library, they can list out any desired features easily (`library[feature1,feature2]`). However, if a consumer _does not know_ they are using a library, they cannot list out those features. If that hidden library is like `libarchive` where features are adding additional compression algorithms (and thus behaviors) to an existing generic interface, default features offer a way to ensure a reasonably functional transitive library is built even if the final consumer doesn't name it directly. - -If the feature adds additional APIs (or executables, or library binaries) and doesn't modify the behavior of existing APIs, it should be left off by default. This is because any consumer which might want to use those APIs can easily require it via their direct reference. - -If in doubt, do not mark a feature as default. - -### Do not use features to control alternatives in published interfaces - -If a consumer of a port depends on only the core functionality of that port, with high probability they must not be broken by turning on the feature. This is even more important when the alternative is not directly controlled by the consumer, but by compiler settings like `/std:c++17` / `-std=c++17`. - -Existing examples we would not accept today retained for backwards compatibility: - * `redis-plus-plus[cxx17]` controls a polyfill but does not bake the setting into the installed tree. - * `ace[wchar]` changes all APIs to accept `const wchar_t*` rather than `const char*`. - -### A feature may replace polyfills with aliases provided that replacement is baked into the installed tree - -Notwithstanding the above, ports may remove polyfills with a feature, as long as: - 1. Turning on the feature changes the polyfills to aliases of the polyfilled entity - 2. The state of the polyfill is baked into the installed headers, such that ABI mismatch "impossible" runtime errors are unlikely - 3. It is possible for a consumer of the port to write code which works in both modes, for example by using a typedef which is either polyfilled or not - -Example: - * `abseil[cxx17]` changes `absl::string_view` to a replacement or `std::string_view`; the patch -https://github.com/microsoft/vcpkg/blob/981e65ce0ac1f6c86e5a5ded7824db8780173c76/ports/abseil/fix-cxx-standard.patch implements the baking requirement - -### Recommended solutions - -If it's critical to expose the underlying alternatives, we recommend providing messages at build time to instruct the user on how to copy the port into a private overlay: -```cmake -set(USING_DOG 0) -message(STATUS "This version of LibContosoFrobnicate uses the Kittens backend. To use the Dog backend instead, create an overlay port of this with USING_DOG set to 1 and the `kittens` dependency replaced with `dog`.") -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") -``` - -## Build Techniques - -### Do not use vendored dependencies - -Do not use embedded copies of libraries. -All dependencies should be split out and packaged separately so they can be updated and maintained. - -### Prefer using CMake - -When multiple buildsystems are available, prefer using CMake. -Additionally, when appropriate, it can be easier and more maintainable to rewrite alternative buildsystems into CMake using `file(GLOB)` directives. - -Examples: [abseil](../../ports/abseil/portfile.cmake) - -### Choose either static or shared binaries - -By default, `vcpkg_configure_cmake()` will pass in the appropriate setting for `BUILD_SHARED_LIBS`, -however for libraries that don't respect that variable, you can switch on `VCPKG_LIBRARY_LINKAGE`: - -```cmake -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" KEYSTONE_BUILD_STATIC) -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" KEYSTONE_BUILD_SHARED) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - -DKEYSTONE_BUILD_STATIC=${KEYSTONE_BUILD_STATIC} - -DKEYSTONE_BUILD_SHARED=${KEYSTONE_BUILD_SHARED} -) -``` - -### When defining features, explicitly control dependencies - -When defining a feature that captures an optional dependency, -ensure that the dependency will not be used accidentally when the feature is not explicitly enabled. - -```cmake -if ("zlib" IN_LIST FEATURES) - set(CMAKE_DISABLE_FIND_PACKAGE_ZLIB OFF) -else() - set(CMAKE_DISABLE_FIND_PACKAGE_ZLIB ON) -endif() - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - -DCMAKE_DISABLE_FIND_PACKAGE_ZLIB=${CMAKE_DISABLE_FIND_PACKAGE_ZLIB} -) -``` - -The snippet below using `vcpkg_check_features()` is equivalent, [see the documentation](vcpkg_check_features.md). - -```cmake -vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - INVERTED_FEATURES - "zlib" CMAKE_DISABLE_FIND_PACKAGE_ZLIB -) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - ${FEATURE_OPTIONS} -) -``` - -Note that `ZLIB` in the above is case-sensitive. See the [cmake documentation](https://cmake.org/cmake/help/v3.15/variable/CMAKE_DISABLE_FIND_PACKAGE_PackageName.html) for more details. - -### Place conflicting libs in a `manual-link` directory - -A lib is considered conflicting if it does any of the following: -+ Define `main` -+ Define malloc -+ Define symbols that are also declared in other libraries - -Conflicting libs are typically by design and not considered a defect. Because some build systems link against everything in the lib directory, these should be moved into a subdirectory named `manual-link`. - -## Manifests and CONTROL files - -When adding a new port, use the new manifest syntax for defining a port; -you may also change over to manifests when modifying an existing port. -You may do so easily by running the `vcpkg format-manifest` command, which will convert existing CONTROL -files into manifest files. Do not convert CONTROL files that have not been modified. - -## Versioning - -### Follow common conventions for the `"version"` field - -See our [versioning documentation](../users/versioning.md#version-schemes) for a full explanation of our conventions. - -### Update the `"port-version"` field in the manifest file of any modified ports - -Vcpkg uses this field to determine whether a given port is out-of-date and should be changed whenever the port's behavior changes. - -Our convention is to use the `"port-version"` field for changes to the port that don't change the upstream version, and to reset the `"port-version"` back to zero when an update to the upstream version is made. - -For Example: - -- Zlib's package version is currently `1.2.1`, with no explicit `"port-version"` (equivalent to a `"port-version"` of `0`). -- You've discovered that the wrong copyright file has been deployed, and fixed that in the portfile. -- You should update the `"port-version"` field in the manifest file to `1`. - -See our [manifest files document](manifest-files.md#port-version) for a full explanation of our conventions. - -### Update the version files in `versions/` of any modified ports - -Vcpkg uses a set of metadata files to power its versioning feature. -These files are located in the following locations: -* `${VCPKG_ROOT}/versions/baseline.json`, (this file is common to all ports) and -* `${VCPKG_ROOT}/versions/${first-letter-of-portname}-/${portname}.json` (one per port). - -For example, for `zlib` the relevant files are: -* `${VCPKG_ROOT}/versions/baseline.json` -* `${VCPKG_ROOT}/versions/z-/zlib.json` - -We expect that each time you update a port, you also update its version files. - -**The recommended method to update these files is to run the `x-add-version` command, e.g.:** - -``` -vcpkg x-add-version zlib -``` - -If you're updating multiple ports at the same time, instead you can run: - -``` -vcpkg x-add-version --all -``` - -To update the files for all modified ports at once. - -_NOTE: These commands require you to have committed your changes to the ports before running them. The reason is that the Git SHA of the port directory is required in these version files. But don't worry, the `x-add-version` command will warn you if you have local changes that haven't been committed._ - -See our [versioning specification](../specifications/versioning.md) and [registries specification](../specifications/registries-2.md) to learn how vcpkg interacts with these files. - -## Patching - -### Prefer options over patching - -It is preferable to set options in a call to `vcpkg_configure_xyz()` over patching the settings directly. - -Common options that allow avoiding patching: -1. [MSBUILD] `` settings inside the project file can be overridden via `/p:` parameters -2. [CMAKE] Calls to `find_package(XYz)` in CMake scripts can be disabled via [`-DCMAKE_DISABLE_FIND_PACKAGE_XYz=ON`](https://cmake.org/cmake/help/v3.15/variable/CMAKE_DISABLE_FIND_PACKAGE_PackageName.html) -3. [CMAKE] Cache variables (declared as `set(VAR "value" CACHE STRING "Documentation")` or `option(VAR "Documentation" "Default Value")`) can be overridden by just passing them in on the command line as `-DVAR:STRING=Foo`. One notable exception is if the `FORCE` parameter is passed to `set()`. See also the [CMake `set` documentation](https://cmake.org/cmake/help/v3.15/command/set.html) - -### Prefer patching over overriding `VCPKG_` values - -Some variables prefixed with `VCPKG_` have an equivalent `CMAKE_`. -However, not all of them are passed to the internal package build [(see implementation: Windows toolchain)](../../scripts/toolchains/windows.cmake). - -Consider the following example: - -```cmake -set(VCPKG_C_FLAGS "-O2 ${VCPKG_C_FLAGS}") -set(VCPKG_CXX_FLAGS "-O2 ${VCPKG_CXX_FLAGS}") -``` - -Using `vcpkg`'s built-in toolchains this works, because the value of `VCPKG__FLAGS` is forwarded to the appropriate `CMAKE_LANG_FLAGS` variable. But, a custom toolchain that is not aware of `vcpkg`'s variables will not forward them. - -Because of this, it is preferable to patch the buildsystem directly when setting `CMAKE__FLAGS`. - -### Minimize patches - -When making changes to a library, strive to minimize the final diff. This means you should _not_ reformat the upstream source code when making changes that affect a region. Also, when disabling a conditional, it is better to add a `AND FALSE` or `&& 0` to the condition than to delete every line of the conditional. - -This helps to keep the size of the vcpkg repository down as well as improves the likelihood that the patch will apply to future code versions. - -### Do not implement features in patches - -The purpose of patching in vcpkg is to enable compatibility with compilers, libraries, and platforms. It is not to implement new features in lieu of following proper Open Source procedure (submitting an Issue/PR/etc). - -## Do not build tests/docs/examples by default - -When submitting a new port, check for any options like `BUILD_TESTS` or `WITH_TESTS` or `POCO_ENABLE_SAMPLES` and ensure the additional binaries are disabled. This minimizes build times and dependencies for the average user. - -Optionally, you can add a `test` feature which enables building the tests, however this should not be in the `Default-Features` list. - -## Enable existing users of the library to switch to vcpkg - -### Do not add `CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS` - -Unless the author of the library is already using it, we should not use this CMake functionality because it interacts poorly with C++ templates and breaks certain compiler features. Libraries that don't provide a .def file and do not use __declspec() declarations simply do not support shared builds for Windows and should be marked as such with `vcpkg_check_linkage(ONLY_STATIC_LIBRARY)`. - -### Do not rename binaries outside the names given by upstream - -This means that if the upstream library has different names in release and debug (libx versus libxd), then the debug library should not be renamed to `libx`. Vice versa, if the upstream library has the same name in release and debug, we should not introduce a new name. - -Important caveat: -- Static and shared variants often should be renamed to a common scheme. This enables consumers to use a common name and be ignorant of the downstream linkage. This is safe because we only make one at a time available. - -Note that if a library generates CMake integration files (`foo-config.cmake`), renaming must be done through patching the CMake build itself instead of simply calling `file(RENAME)` on the output archives/LIBs. - -Finally, DLL files on Windows should never be renamed post-build because it breaks the generated LIBs. - -## Code format - -### Vcpkg internal code - -We require the C++ code inside vcpkg to follow the clang-format, if you change them. Please perform the following steps after modification: - -- Use Visual Studio: -1. Configure your [clang-format tools](https://devblogs.microsoft.com/cppblog/clangformat-support-in-visual-studio-2017-15-7-preview-1/). -2. Open the modified file. -3. Use shortcut keys Ctrl+K, Ctrl+D to format the current file. - -- Use tools: -1. Install [llvm clang-format](https://releases.llvm.org/download.html#10.0.0) -2. Run command: -```cmd -> LLVM_PATH/bin/clang-format.exe -style=file -i changed_file.cpp -``` - -### Manifests - -We require that the manifest file be formatted. Use the following command to format all manifest files: - -```cmd -> vcpkg format-manifest --all -``` - -## Useful implementation notes - -### Portfiles are run in Script Mode - -While `portfile.cmake`'s and `CMakeLists.txt`'s share a common syntax and core CMake language constructs, portfiles run in "Script Mode", whereas `CMakeLists.txt` files run in "Build Mode" (unofficial term). The most important difference between these two modes is that "Script Mode" does not have a concept of "Target" -- any behaviors that depend on the "target" machine (`CMAKE_CXX_COMPILER`, `CMAKE_EXECUTABLE_SUFFIX`, `CMAKE_SYSTEM_NAME`, etc) will not be correct. - -Portfiles have direct access to variables set in the triplet file, but `CMakeLists.txt`s do not (though there is often a translation that happens -- `VCPKG_LIBRARY_LINKAGE` versus `BUILD_SHARED_LIBS`). - -Portfiles and CMake builds invoked by portfiles are run in different processes. Conceptually: - -```no-highlight -+----------------------------+ +------------------------------------+ -| CMake.exe | | CMake.exe | -+----------------------------+ +------------------------------------+ -| Triplet file | ====> | Toolchain file | -| (x64-windows.cmake) | | (scripts/buildsystems/vcpkg.cmake) | -+----------------------------+ +------------------------------------+ -| Portfile | ====> | CMakeLists.txt | -| (ports/foo/portfile.cmake) | | (buildtrees/../CMakeLists.txt) | -+----------------------------+ +------------------------------------+ -``` - -To determine the host in a portfile, the standard CMake variables are fine (`CMAKE_HOST_WIN32`). - -To determine the target in a portfile, the vcpkg triplet variables should be used (`VCPKG_CMAKE_SYSTEM_NAME`). - -See also our [triplet documentation](../users/triplets.md) for a full enumeration of possible settings. diff --git a/docs/maintainers/manifest-files.md b/docs/maintainers/manifest-files.md deleted file mode 100644 index a10f5464e72373..00000000000000 --- a/docs/maintainers/manifest-files.md +++ /dev/null @@ -1,454 +0,0 @@ -# Manifest files - `vcpkg.json` - -The `vcpkg.json` file contains metadata about the port. -It's a JSON file, and replaces the existing CONTROL file metadata structure. -It must have a top level object, and all fields are case sensitive. - -## Examples: - -The most important fields in a manifest, the ones which are required for all ports, -are the `"name"` field, and a version field (for now, just `"version-string"`). -There's more information about these fields below. - -```json -{ - "name": "ace", - "version-string": "6.5.5" -} -``` - -```json -{ - "name": "vtk", - "version-string": "8.2.0", - "port-version": 2, - "description": "Software system for 3D computer graphics, image processing, and visualization", - "dependencies": [ - { - "name": "atlmfc", - "platform": "windows" - }, - "double-conversion", - "eigen3", - "expat", - "freetype", - "glew", - "hdf5", - "jsoncpp", - "libharu", - "libjpeg-turbo", - "libpng", - "libtheora", - "libxml2", - "lz4", - "netcdf-c", - "proj4", - "pugixml", - "sqlite3", - "tiff", - "zlib" - ] -} -``` - -## Fields - -### `"name"` -The name of the port. - -When adding new ports be aware that the name may conflict with other projects that are not a part of vcpkg. For example `json` conflicts with too many other projects so you should add a scope to the name such as `taocpp-json` to make it unique. Verify there are no conflicts on a search engine as well as on other package collections. - -Package collections to check for conflicts: - -+ [Repology](https://repology.org/projects/) -+ [Debian packages](https://www.debian.org/distrib/packages) -+ [Packages search](https://pkgs.org/) - -A name must be an identifier: i.e., it must only consist of lowercase ascii alphabetic characters, -numbers, and hyphens, and it must not begin nor end with a hyphen. - -### Version fields - -Currently there are different fields for special versioning. Namely: - -Manifest property | Versioning scheme -------------------|------------------------------------ -`version` | For dot-separated numeric versions -`version-semver` | For SemVer compliant versions -`version-date` | For dates in the format YYYY-MM-DD -`version-string` | For arbitrary strings - -See https://github.com/microsoft/vcpkg/blob/master/docs/specifications/versioning.md#22-package-versions for more details. - -Additionally, `"port-version"` is used to differentiate between port changes that don't change the underlying library version. - -#### `"version-string"` - -This field is an ascii string, and may contain alphanumeric characters, `.`, `_`, or `-`. No attempt at ordering versions is made; all versions are treated as byte strings and are only evaluated for equality. - -For tagged-release ports, we follow the following convention: - -1. If the library follows a scheme like `va.b.c`, we remove the leading `v`. In this case, it becomes `a.b.c`. -2. If the library includes its own name in the version like `curl-7_65_1`, we remove the leading name: `7_65_1` -3. If the library is versioned by dates, format the resulting version string just like the upstream library; - for example, Abseil formats their dates `lts_2020_02_25`, so the `"version-string"` should be `"lts_2020_02_25"`. - -For rolling-release ports, we use the date that the _commit was accessed by you_, formatted as `YYYY-MM-DD`. Stated another way: if someone had a time machine and went to that date, they would see this commit as the latest master. - -For example, given: -1. The latest commit was made on 2019-04-19 -2. The current version string is `2019-02-14` -3. Today's date is 2019-06-01. - -Then if you update the source version today, you should give it version `2019-06-01`. - -#### `"port-version"` - -The version of the port, aside from the library version. - -This field is a non-negative integer. -It allows one to version the port file separately from the version of the underlying library; -if you make a change to a port, without changing the underlying version of the library, -you should increment this field by one (starting at `0`, which is equivalent to no `"port-version"` field). -When the version of the underlying library is upgraded, -this field should be set back to `0` (i.e., delete the `"port-version"` field). - -#### Examples: -```json -{ - "version": "1.0.5", - "port-version": 2 -} -``` - -```json -{ - "version": "2019-03-21" -} -``` - -### `"description"` - -A description of the library. - -This field can either be a single string, which should be a summary of the library, -or can be an array, with the first line being a summary and the remaining lines being the detailed description - -one string per line. - -#### Examples: -```json -{ - "description": "C++ header-only JSON library" -} -``` -```json -{ - "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"` - -The URL of the homepage for the library where a user is able to find additional documentation or the original source code. - -### `"documentation"` - -The URL where a user would be able to find official documentation for the library. Optional. - -### `"maintainers"` - -A list of strings that define the set of maintainers of a package. -It's recommended that these take the form of `Givenname Surname `, -but this field is not checked for consistency. - -Optional. - -#### Example: -```json -{ - "homepage": "https://github.com/microsoft/vcpkg" -} -``` - -### `"dependencies"` - -An array of ports the library has a dependency on. - -vcpkg does not distinguish between build-only dependencies and runtime dependencies. -The complete list of dependencies needed to successfully use the library should be specified. - -For example: websocketpp is a header only library, and thus does not require any dependencies at install time. -However, downstream users need boost and openssl to make use of the library. -Therefore, websocketpp lists boost and openssl as dependencies. - -Each dependency may be either an identifier, or an object. -For many dependencies, just listing the name of the library should be fine; -however, if one needs to add extra information to that dependency, one may use the dependency object. -For a dependency object, the `"name"` field is used to designate the library; -for example the dependency object `{ "name": "zlib" }` is equivalent to just writing `"zlib"`. - -If the port is dependent on optional features of another library, -those can be specified using the `"features"` field of the dependency object. -If the port does not require any features from the dependency, -this should be specified with the `"default-features"` fields set to `false`. - -Dependencies can also be filtered based on the target triplet to support differing requirements. -These filters use the same syntax as the `"supports"` field below, -and are specified in the `"platform"` field. - -#### Example: -```json -{ - "dependencies": [ - { - "name": "curl", - "default-features": false, - "features": [ - "winssl" - ], - "platform": "windows" - }, - { - "name": "curl", - "default-features": false, - "features": [ - "openssl" - ], - "platform": "!windows" - }, - "rapidjson" - ] -} -``` - -### `"features"` - -Multiple optional features can be specified in manifest files, in the `"features"` object field. -This field is a map from the feature name, to the feature's information. -Each one must have a `"description"` field, and may also optionally have a `"dependencies"` field. - -A feature's name must be an identifier - -in other words, lowercase alphabetic characters, digits, and hyphens, -neither starting nor ending with a hyphen. - -A feature's `"description"` is a description of the feature, -and is the same kind of thing as the port `"description"` field. - -A feature's `"dependencies"` field contains the list of extra dependencies required to build and use this feature; -this field isn't required if the feature doesn't require any extra dependencies. -On installation the dependencies from all selected features are combined to produce the full dependency list for the build. - -#### Example: - -```json -{ - "name": "vtk", - "version-string": "8.2.0", - "port-version": 2, - "description": "Software system for 3D computer graphics, image processing, and visualization", - "dependencies": [ - { - "name": "atlmfc", - "platform": "windows" - }, - "double-conversion", - "eigen3", - "expat", - "freetype", - "glew", - "hdf5", - "jsoncpp", - "libharu", - "libjpeg-turbo", - "libpng", - "libtheora", - "libxml2", - "lz4", - "netcdf-c", - "proj4", - "pugixml", - "sqlite3", - "tiff", - "zlib" - ], - "features": { - "mpi": { - "description": "MPI functionality for VTK", - "dependencies": [ - { - "name": "hdf5", - "features": [ - "parallel" - ] - }, - "mpi" - ] - }, - "openvr": { - "description": "OpenVR functionality for VTK", - "dependencies": [ - "openvr", - "sdl2" - ] - }, - "python": { - "description": "Python functionality for VTK", - "dependencies": [ - "python3" - ] - }, - "qt": { - "description": "Qt functionality for VTK", - "dependencies": [ - "qt5" - ] - } - } -} -``` - -### `"default-features"` - -An array of feature names that the library uses by default, if nothing else is specified. - -#### Example: -```json -{ - "default-features": [ - "kinesis" - ], - "features": { - "dynamodb": { - "description": "Build dynamodb support", - "dependencies": [ - "dynamodb" - ] - }, - "kinesis": { - "description": "build kinesis support" - } - } -} -``` - -### `"supports"` - -A string, formatted as a platform expression, -that evaluates to true when the port should build successfully for a triplet. - -This field is used in the CI testing to skip ports, -and warns users in advance that a given install tree is not expected to succeed. -Therefore, this field should be used optimistically; -in cases where a port is expected to succeed 10% of the time, it should still be marked "supported". - -The grammar for this top-level platform expression, in [EBNF], is as follows: - -```ebnf -whitespace-character = -| ? U+0009 "CHARACTER TABULATION" ? -| ? U+000A "LINE FEED" ? -| ? U+000D "CARRIAGE RETURN" ? -| ? U+0020 "SPACE" ? ; -optional-whitespace = { whitespace-character } ; -required-whitespace = whitespace-character, { optional-whitespace } ; - -lowercase-alpha = -| "a" | "b" | "c" | "d" | "e" | "f" | "g" | "h" | "i" | "j" | "k" | "l" | "m" -| "n" | "o" | "p" | "q" | "r" | "s" | "t" | "u" | "v" | "w" | "x" | "y" | "z" ; -digit = -| "0" | "1" | "2" | "3" | "4" -| "5" | "6" | "7" | "8" | "9" ; -identifier-character = -| lowercase-alpha -| digit ; - -platform-expression-list = -| platform-expression { ",", optional-whitespace, platform-expression } ; - -platform-expression = -| platform-expression-not -| platform-expression-and -| platform-expression-or ; - -platform-expression-identifier = -| identifier-character, { identifier-character }, optional-whitespace ; - -platform-expression-grouped = -| "(", optional-whitespace, platform-expression, ")", optional-whitespace ; - -platform-expression-simple = -| platform-expression-identifier -| platform-expression-grouped ; - -platform-expression-unary-keyword-operand = -| required-whitespace, platform-expression-simple -| optional-whitespace, platform-expression-grouped ; - -platform-expression-not = -| platform-expression-simple -| "!", optional-whitespace, platform-expression-simple -| "not", platform-expression-unary-keyword-operand ; - -platform-expression-binary-keyword-first-operand = -| platform-expression-not, required-whitespace -| platform-expression-grouped ; - -platform-expression-binary-keyword-second-operand = -| required-whitespace, platform-expression-not -| platform-expression-grouped ; - -platform-expression-and = -| platform-expression-not, { "&", optional-whitespace, platform-expression-not } -| platform-expression-binary-keyword-first-operand, { "and", platform-expression-binary-keyword-second-operand } ; - -platform-expression-or = -| platform-expression-not, { "|", optional-whitespace, platform-expression-not } -| platform-expression-binary-keyword-first-operand, { "or", platform-expression-binary-keyword-second-operand } (* to allow for future extension *) ; - -top-level-platform-expression = optional-whitespace, platform-expression-list ; -``` - -Basically, there are four kinds of expressions -- identifiers, negations, ands, and ors. -Negations may only negate an identifier or a grouped expression. -Ands and ors are a list of `&` or `|` separated identifiers, negated expressions, and grouped expressions. -One may not mix `&` and `|` without parentheses for grouping. - -These predefined identifier expressions are computed from standard triplet settings: -- `native` - `TARGET_TRIPLET` == `HOST_TRIPLET`; - useful for ports which depend on their own built binaries in their build. -- `x64` - `VCPKG_TARGET_ARCHITECTURE` == `"x64"` -- `x86` - `VCPKG_TARGET_ARCHITECTURE` == `"x86"` -- `arm` - `VCPKG_TARGET_ARCHITECTURE` == `"arm"` or `VCPKG_TARGET_ARCHITECTURE` == `"arm64"` -- `arm64` - `VCPKG_TARGET_ARCHITECTURE` == `"arm64"` -- `windows` - `VCPKG_CMAKE_SYSTEM_NAME` == `""` or `VCPKG_CMAKE_SYSTEM_NAME` == `"WindowsStore"` -- `mingw` - `VCPKG_CMAKE_SYSTEM_NAME` == `"MinGW"` -- `uwp` - `VCPKG_CMAKE_SYSTEM_NAME` == `"WindowsStore"` -- `linux` - `VCPKG_CMAKE_SYSTEM_NAME` == `"Linux"` -- `osx` - `VCPKG_CMAKE_SYSTEM_NAME` == `"Darwin"` -- `android` - `VCPKG_CMAKE_SYSTEM_NAME` == `"Android"` -- `static` - `VCPKG_LIBRARY_LINKAGE` == `"static"` -- `wasm32` - `VCPKG_TARGET_ARCHITECTURE` == `"wasm32"` -- `emscripten` - `VCPKG_CMAKE_SYSTEM_NAME` == `"Emscripten"` - -These predefined identifier expressions can be overridden in the triplet file, -via the [`VCPKG_DEP_INFO_OVERRIDE_VARS`](../users/triplets.md) option, -and new identifier expressions can be added via the same mechanism. - -This field is optional and defaults to true. - -> Implementers' Note: these terms are computed from the triplet via the `vcpkg_get_dep_info` mechanism. - -[EBNF]: https://en.wikipedia.org/wiki/Extended_Backus%E2%80%93Naur_form - -#### Example: -```json -{ - "supports": "!uwp & !(arm & !arm64)" -} -``` - -This means "doesn't support uwp, nor arm32 (but does support arm64)". diff --git a/docs/maintainers/portfile-functions.md b/docs/maintainers/portfile-functions.md deleted file mode 100644 index dd97511c0a35c1..00000000000000 --- a/docs/maintainers/portfile-functions.md +++ /dev/null @@ -1,83 +0,0 @@ - - -# Portfile helper functions -- [execute\_process](execute_process.md) -- [vcpkg\_acquire\_msys](vcpkg_acquire_msys.md) -- [vcpkg\_add\_to\_path](vcpkg_add_to_path.md) -- [vcpkg\_apply\_patches](vcpkg_apply_patches.md) (deprecated) -- [vcpkg\_backup\_restore\_env\_vars](vcpkg_backup_restore_env_vars.md) -- [vcpkg\_build\_cmake](vcpkg_build_cmake.md) (deprecated, use [vcpkg\_cmake\_build](ports/vcpkg-cmake/vcpkg_cmake_build.md)) -- [vcpkg\_build\_make](vcpkg_build_make.md) -- [vcpkg\_build\_msbuild](vcpkg_build_msbuild.md) -- [vcpkg\_build\_ninja](vcpkg_build_ninja.md) -- [vcpkg\_build\_nmake](vcpkg_build_nmake.md) -- [vcpkg\_build\_qmake](vcpkg_build_qmake.md) -- [vcpkg\_buildpath\_length\_warning](vcpkg_buildpath_length_warning.md) -- [vcpkg\_check\_features](vcpkg_check_features.md) -- [vcpkg\_check\_linkage](vcpkg_check_linkage.md) -- [vcpkg\_clean\_executables\_in\_bin](vcpkg_clean_executables_in_bin.md) -- [vcpkg\_clean\_msbuild](vcpkg_clean_msbuild.md) -- [vcpkg\_common\_definitions](vcpkg_common_definitions.md) -- [vcpkg\_configure\_cmake](vcpkg_configure_cmake.md) (deprecated, use [vcpkg\_cmake\_configure](ports/vcpkg-cmake/vcpkg_cmake_configure.md)) -- [vcpkg\_configure\_gn](vcpkg_configure_gn.md) -- [vcpkg\_configure\_make](vcpkg_configure_make.md) -- [vcpkg\_configure\_meson](vcpkg_configure_meson.md) -- [vcpkg\_configure\_qmake](vcpkg_configure_qmake.md) -- [vcpkg\_copy\_pdbs](vcpkg_copy_pdbs.md) -- [vcpkg\_copy\_tool\_dependencies](vcpkg_copy_tool_dependencies.md) -- [vcpkg\_copy\_tools](vcpkg_copy_tools.md) -- [vcpkg\_download\_distfile](vcpkg_download_distfile.md) -- [vcpkg\_execute\_build\_process](vcpkg_execute_build_process.md) -- [vcpkg\_execute\_in\_download\_mode](vcpkg_execute_in_download_mode.md) -- [vcpkg\_execute\_required\_process](vcpkg_execute_required_process.md) -- [vcpkg\_execute\_required\_process\_repeat](vcpkg_execute_required_process_repeat.md) -- [vcpkg\_extract\_source\_archive](vcpkg_extract_source_archive.md) -- [vcpkg\_extract\_source\_archive\_ex](vcpkg_extract_source_archive_ex.md) -- [vcpkg\_fail\_port\_install](vcpkg_fail_port_install.md) -- [vcpkg\_find\_acquire\_program](vcpkg_find_acquire_program.md) -- [vcpkg\_find\_fortran](vcpkg_find_fortran.md) -- [vcpkg\_fixup\_cmake\_targets](vcpkg_fixup_cmake_targets.md) (deprecated, use [vcpkg\_cmake\_config\_fixup](ports/vcpkg-cmake-config/vcpkg_cmake_config_fixup.md)) -- [vcpkg\_fixup\_pkgconfig](vcpkg_fixup_pkgconfig.md) -- [vcpkg\_from\_bitbucket](vcpkg_from_bitbucket.md) -- [vcpkg\_from\_git](vcpkg_from_git.md) -- [vcpkg\_from\_github](vcpkg_from_github.md) -- [vcpkg\_from\_gitlab](vcpkg_from_gitlab.md) -- [vcpkg\_from\_sourceforge](vcpkg_from_sourceforge.md) -- [vcpkg\_get\_program\_files\_platform\_bitness](vcpkg_get_program_files_platform_bitness.md) -- [vcpkg\_get\_windows\_sdk](vcpkg_get_windows_sdk.md) -- [vcpkg\_host\_path\_list](vcpkg_host_path_list.md) -- [vcpkg\_install\_cmake](vcpkg_install_cmake.md) (deprecated, use [vcpkg\_cmake\_install](ports/vcpkg-cmake/vcpkg_cmake_install.md)) -- [vcpkg\_install\_gn](vcpkg_install_gn.md) -- [vcpkg\_install\_make](vcpkg_install_make.md) -- [vcpkg\_install\_meson](vcpkg_install_meson.md) -- [vcpkg\_install\_msbuild](vcpkg_install_msbuild.md) -- [vcpkg\_install\_nmake](vcpkg_install_nmake.md) -- [vcpkg\_install\_qmake](vcpkg_install_qmake.md) -- [vcpkg\_list](vcpkg_list.md) -- [vcpkg\_minimum\_required](vcpkg_minimum_required.md) -- [vcpkg\_replace\_string](vcpkg_replace_string.md) - -## Internal Functions - -- [z\_vcpkg\_apply\_patches](internal/z_vcpkg_apply_patches.md) -- [z\_vcpkg\_forward\_output\_variable](internal/z_vcpkg_forward_output_variable.md) -- [z\_vcpkg\_function\_arguments](internal/z_vcpkg_function_arguments.md) -- [z\_vcpkg\_get\_cmake\_vars](internal/z_vcpkg_get_cmake_vars.md) -- [z\_vcpkg\_prettify\_command\_line](internal/z_vcpkg_prettify_command_line.md) - -## Scripts from Ports - -### [vcpkg-cmake](ports/vcpkg-cmake.md) - -- [vcpkg\_cmake\_build](ports/vcpkg-cmake/vcpkg_cmake_build.md) -- [vcpkg\_cmake\_configure](ports/vcpkg-cmake/vcpkg_cmake_configure.md) -- [vcpkg\_cmake\_get\_vars](ports/vcpkg-cmake/vcpkg_cmake_get_vars.md) -- [vcpkg\_cmake\_install](ports/vcpkg-cmake/vcpkg_cmake_install.md) - -### [vcpkg-cmake-config](ports/vcpkg-cmake-config.md) - -- [vcpkg\_cmake\_config\_fixup](ports/vcpkg-cmake-config/vcpkg_cmake_config_fixup.md) - -### [vcpkg-pkgconfig-get-modules](ports/vcpkg-pkgconfig-get-modules.md) - -- [x\_vcpkg\_pkgconfig\_get\_modules](ports/vcpkg-pkgconfig-get-modules/x_vcpkg_pkgconfig_get_modules.md) diff --git a/docs/maintainers/ports/vcpkg-cmake-config.md b/docs/maintainers/ports/vcpkg-cmake-config.md deleted file mode 100644 index 18e7bb9ac87083..00000000000000 --- a/docs/maintainers/ports/vcpkg-cmake-config.md +++ /dev/null @@ -1,10 +0,0 @@ -# vcpkg-cmake-config - -`vcpkg-cmake-config` provides `vcpkg_cmake_config_fixup()`, -a function which both: - -- Fixes common mistakes in port build systems, like using absolute paths -- Merges the debug and release config files. - -This function should almost always be used when a port has `*config.cmake` files, -even when the buildsystem of the project is not CMake. diff --git a/docs/maintainers/ports/vcpkg-cmake-config/vcpkg_cmake_config_fixup.md b/docs/maintainers/ports/vcpkg-cmake-config/vcpkg_cmake_config_fixup.md deleted file mode 100644 index e4b486798ca388..00000000000000 --- a/docs/maintainers/ports/vcpkg-cmake-config/vcpkg_cmake_config_fixup.md +++ /dev/null @@ -1,51 +0,0 @@ -# vcpkg_cmake_config_fixup - -The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/ports/vcpkg-cmake-config/vcpkg_cmake_config_fixup.md). - -Merge release and debug CMake targets and configs to support multiconfig generators. - -Additionally corrects common issues with targets, such as absolute paths and incorrectly placed binaries. - -```cmake -vcpkg_cmake_config_fixup( - [PACKAGE_NAME ] - [CONFIG_PATH ] - [DO_NOT_DELETE_PARENT_CONFIG_PATH] - [NO_PREFIX_CORRECTION] -) -``` - -For many ports, `vcpkg_cmake_config_fixup()` on its own should work, -as `PACKAGE_NAME` defaults to `${PORT}` and `CONFIG_PATH` defaults to `share/${PACKAGE_NAME}`. -For ports where the package name passed to `find_package` is distinct from the port name, -`PACKAGE_NAME` should be changed to be that name instead. -For ports where the directory of the `*config.cmake` files cannot be set, -use the `CONFIG_PATH` to change the directory where the files come from. - -By default the parent directory of CONFIG_PATH is removed if it is named "cmake". -Passing the `DO_NOT_DELETE_PARENT_CONFIG_PATH` option disable such behavior, -as it is convenient for ports that install -more than one CMake package configuration file. - -The `NO_PREFIX_CORRECTION` option disables the correction of `_IMPORT_PREFIX` -done by vcpkg due to moving the config files. -Currently the correction does not take into account how the files are moved, -and applies a rather simply correction which in some cases will yield the wrong results. - -## How it Works - -1. Moves `/debug//*targets-debug.cmake` to `/share/${PACKAGE_NAME}`. -2. Removes `/debug//*config.cmake`. -3. Transform all references matching `/bin/*.exe` to `/tools//*.exe` on Windows. -4. Transform all references matching `/bin/*` to `/tools//*` on other platforms. -5. Fixes `${_IMPORT_PREFIX}` in auto generated targets. -6. Replace `${CURRENT_INSTALLED_DIR}` with `${_IMPORT_PREFIX}` in configs and targets. - -## Examples - -* [concurrentqueue](https://github.com/Microsoft/vcpkg/blob/master/ports/concurrentqueue/portfile.cmake) -* [curl](https://github.com/Microsoft/vcpkg/blob/master/ports/curl/portfile.cmake) -* [nlohmann-json](https://github.com/Microsoft/vcpkg/blob/master/ports/nlohmann-json/portfile.cmake) - -## Source -[ports/vcpkg-cmake-config/vcpkg\_cmake\_config\_fixup.cmake](https://github.com/Microsoft/vcpkg/blob/master/ports/vcpkg-cmake-config/vcpkg_cmake_config_fixup.cmake) diff --git a/docs/maintainers/ports/vcpkg-cmake.md b/docs/maintainers/ports/vcpkg-cmake.md deleted file mode 100644 index b84c58869c8e27..00000000000000 --- a/docs/maintainers/ports/vcpkg-cmake.md +++ /dev/null @@ -1,7 +0,0 @@ -# vcpkg-cmake - -This port contains cmake functions for dealing with a CMake buildsystem. - -In the common case, `vcpkg_cmake_configure()` (with appropriate arguments) -followed by `vcpkg_cmake_install()` will be enough to build and install a port. -`vcpkg_cmake_build()` is provided for more complex cases. diff --git a/docs/maintainers/ports/vcpkg-cmake/vcpkg_cmake_build.md b/docs/maintainers/ports/vcpkg-cmake/vcpkg_cmake_build.md deleted file mode 100644 index 51a96372f812cd..00000000000000 --- a/docs/maintainers/ports/vcpkg-cmake/vcpkg_cmake_build.md +++ /dev/null @@ -1,36 +0,0 @@ -# vcpkg_cmake_build - -The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/ports/vcpkg-cmake/vcpkg_cmake_build.md). - -Build a cmake project. - -```cmake -vcpkg_cmake_build( - [TARGET ] - [LOGFILE_BASE ] - [DISABLE_PARALLEL] - [ADD_BIN_TO_PATH] -) -``` - -`vcpkg_cmake_build` builds an already-configured cmake project. -You can use the alias [`vcpkg_cmake_install()`] function -if your CMake build system supports the `install` TARGET, -and this is something we recommend doing whenever possible. -Otherwise, you can use `TARGET` to set the target to build. -This function defaults to not passing a target to cmake. - -`LOGFILE_BASE` is used to set the base of the logfile names; -by default, this is `build`, and thus the logfiles end up being something like -`build-x86-windows-dbg.log`; if you use `vcpkg_cmake_install`, -this is set to `install`, so you'll get log names like `install-x86-windows-dbg.log`. - -For build systems that are buggy when run in parallel, -using `DISABLE_PARALLEL` will run the build with only one job. - -Finally, `ADD_BIN_TO_PATH` adds the appropriate (either release or debug) -`bin/` directories to the path during the build, -such that executables run during the build will be able to access those DLLs. - -## Source -[ports/vcpkg-cmake/vcpkg\_cmake\_build.cmake](https://github.com/Microsoft/vcpkg/blob/master/ports/vcpkg-cmake/vcpkg_cmake_build.cmake) diff --git a/docs/maintainers/ports/vcpkg-cmake/vcpkg_cmake_configure.md b/docs/maintainers/ports/vcpkg-cmake/vcpkg_cmake_configure.md deleted file mode 100644 index 6053b363c69728..00000000000000 --- a/docs/maintainers/ports/vcpkg-cmake/vcpkg_cmake_configure.md +++ /dev/null @@ -1,93 +0,0 @@ -# vcpkg_cmake_configure - -The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/ports/vcpkg-cmake/vcpkg_cmake_configure.md). - -Configure a CMake buildsystem. - -```cmake -vcpkg_cmake_configure( - SOURCE_PATH - [LOGFILE_BASE ] - [DISABLE_PARALLEL_CONFIGURE] - [NO_CHARSET_FLAG] - [WINDOWS_USE_MSBUILD] - [GENERATOR ] - [OPTIONS - ...] - [OPTIONS_RELEASE - ...] - [OPTIONS_DEBUG - ...] - [MAYBE_UNUSED_VARIABLES - ...] -) -``` - -`vcpkg_cmake_configure` configures a CMake build system for use with -`vcpkg_cmake_buildsystem_build` and `vcpkg_cmake_buildsystem_install`. -`source-path` is where the source is located; by convention, -this is usually `${SOURCE_PATH}`, which is set by one of the `vcpkg_from_*` functions. -This function configures the build system for both Debug and Release builds by default, -assuming that `VCPKG_BUILD_TYPE` is not set; if it is, then it will only configure for -that build type. - -Use the `OPTIONS` argument to set the configure settings for both release and debug, -and use `OPTIONS_RELEASE` and `OPTIONS_DEBUG` to set the configure settings for -release only and debug only respectively. - -By default, when possible, `vcpkg_cmake_configure` uses [ninja-build] -as its build system. If the `WINDOWS_USE_MSBUILD` argument is passed, then -`vcpkg_cmake_configure` will use a Visual Studio generator on Windows; -on every other platform, `vcpkg_cmake_configure` just uses Ninja. - -[ninja-build]: https://ninja-build.org/ - -Additionally, one may pass the specific generator a port should use with `GENERATOR`. -This is useful if some project-specific buildsystem -has been wrapped in a CMake build system that doesn't perform an actual build. -If used for this purpose, it should be set to `"NMake Makefiles"`. -`vcpkg_cmake_buildsystem_build` and `install` do not support this being set to anything -except for NMake. - -For libraries which cannot be configured in parallel, -pass the `DISABLE_PARALLEL_CONFIGURE` flag. This is needed, for example, -if the library's build system writes back into the source directory during configure. -This also disables the `CMAKE_DISABLE_SOURCE_CHANGES` option. - -By default, this function adds flags to `CMAKE_C_FLAGS` and `CMAKE_CXX_FLAGS` -which set the default character set to utf-8 for MSVC. -If the library sets its own code page, pass the `NO_CHARSET_FLAG` option. - -This function makes certain that all options passed in are used by the -underlying CMake build system. If there are options that might be unused, -perhaps on certain platforms, pass those variable names to -`MAYBE_UNUSED_VARIABLES`. For example: -```cmake -vcpkg_cmake_configure( - ... - OPTIONS - -DBUILD_EXAMPLE=OFF - ... - MAYBE_UNUSED_VARIABLES - BUILD_EXAMPLE -) -``` - -`LOGFILE_BASE` is used to set the base of the logfile names; -by default, this is `config`, and thus the logfiles end up being something like -`config-x86-windows-dbg.log`. You can set it to anything you like; -if you set it to `config-the-first`, -you'll get something like `config-the-first-x86-windows.dbg.log`. - -## Notes -This command supplies many common arguments to CMake. To see the full list, examine the source. - -## Examples - -* [zlib](https://github.com/Microsoft/vcpkg/blob/master/ports/zlib/portfile.cmake) -* [cpprestsdk](https://github.com/Microsoft/vcpkg/blob/master/ports/cpprestsdk/portfile.cmake) -* [poco](https://github.com/Microsoft/vcpkg/blob/master/ports/poco/portfile.cmake) -* [opencv](https://github.com/Microsoft/vcpkg/blob/master/ports/opencv/portfile.cmake) - -## Source -[ports/vcpkg-cmake/vcpkg\_cmake\_configure.cmake](https://github.com/Microsoft/vcpkg/blob/master/ports/vcpkg-cmake/vcpkg_cmake_configure.cmake) diff --git a/docs/maintainers/ports/vcpkg-cmake/vcpkg_cmake_get_vars.md b/docs/maintainers/ports/vcpkg-cmake/vcpkg_cmake_get_vars.md deleted file mode 100644 index 68e51333c42b23..00000000000000 --- a/docs/maintainers/ports/vcpkg-cmake/vcpkg_cmake_get_vars.md +++ /dev/null @@ -1,31 +0,0 @@ -# vcpkg_cmake_get_vars - -The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/ports/vcpkg-cmake/vcpkg_cmake_get_vars.md). - -Runs a cmake configure with a dummy project to extract certain cmake variables - -## Usage -```cmake -vcpkg_cmake_get_vars() -``` - -`vcpkg_cmake_get_vars()` sets `` to -a path to a generated CMake file, with the detected `CMAKE_*` variables -re-exported as `VCPKG_DETECTED_CMAKE_*`. - -## Notes -Avoid usage in portfiles. - -All calls to `vcpkg_cmake_get_vars` will result in the same output file; -the output file is not generated multiple times. - -### Basic Usage - -```cmake -vcpkg_cmake_get_vars(cmake_vars_file) -include("${cmake_vars_file}") -message(STATUS "detected CXX flags: ${VCPKG_DETECTED_CMAKE_CXX_FLAGS}") -``` - -## Source -[ports/vcpkg-cmake/vcpkg\_cmake\_get\_vars.cmake](https://github.com/Microsoft/vcpkg/blob/master/ports/vcpkg-cmake/vcpkg_cmake_get_vars.cmake) diff --git a/docs/maintainers/ports/vcpkg-cmake/vcpkg_cmake_install.md b/docs/maintainers/ports/vcpkg-cmake/vcpkg_cmake_install.md deleted file mode 100644 index 29ac265aa6eef1..00000000000000 --- a/docs/maintainers/ports/vcpkg-cmake/vcpkg_cmake_install.md +++ /dev/null @@ -1,25 +0,0 @@ -# vcpkg_cmake_install - -The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/ports/vcpkg-cmake/vcpkg_cmake_install.md). - -Build and install a cmake project. - -```cmake -vcpkg_cmake_install( - [DISABLE_PARALLEL] - [ADD_BIN_TO_PATH] -) -``` - -`vcpkg_cmake_install` transparently forwards to [`vcpkg_cmake_build()`], -with additional parameters to set the `TARGET` to `install`, -and to set the `LOGFILE_ROOT` to `install` as well. - -[`vcpkg_cmake_build()`]: vcpkg_cmake_build.cmake - -## Examples: - -* [zlib](https://github.com/Microsoft/vcpkg/blob/master/ports/zlib/portfile.cmake) - -## Source -[ports/vcpkg-cmake/vcpkg\_cmake\_install.cmake](https://github.com/Microsoft/vcpkg/blob/master/ports/vcpkg-cmake/vcpkg_cmake_install.cmake) diff --git a/docs/maintainers/ports/vcpkg-pkgconfig-get-modules.md b/docs/maintainers/ports/vcpkg-pkgconfig-get-modules.md deleted file mode 100644 index ac99412c2484bd..00000000000000 --- a/docs/maintainers/ports/vcpkg-pkgconfig-get-modules.md +++ /dev/null @@ -1,6 +0,0 @@ -# vcpkg-pkgconfig-get-modules - -**Experimental: will change or be removed at any time** - -`vcpkg-pkgconfig-get-modules` provides `x_vcpkg_pkgconfig_get_modules()`, a function which simplifies calling -`pkg-config` in portfiles in order to gather dependencies for exotic buildsystems. diff --git a/docs/maintainers/ports/vcpkg-pkgconfig-get-modules/x_vcpkg_pkgconfig_get_modules.md b/docs/maintainers/ports/vcpkg-pkgconfig-get-modules/x_vcpkg_pkgconfig_get_modules.md deleted file mode 100644 index 06299533a00c6f..00000000000000 --- a/docs/maintainers/ports/vcpkg-pkgconfig-get-modules/x_vcpkg_pkgconfig_get_modules.md +++ /dev/null @@ -1,44 +0,0 @@ -# x_vcpkg_pkgconfig_get_modules - -The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/ports/vcpkg-pkgconfig-get-modules/x_vcpkg_pkgconfig_get_modules.md). - -Experimental -Retrieve required module information from pkgconfig modules - -## Usage -```cmake -x_vcpkg_pkgconfig_get_modules( - PREFIX - MODULES ... - [LIBS] - [LIBRARIES] - [LIBRARIES_DIRS] - [INCLUDE_DIRS] -) -``` -## Parameters - -### PREFIX -Used variable prefix to use - -### MODULES -List of pkgconfig modules to retrieve information for. - -### LIBS -Returns `"${PKGCONFIG}" --libs` in _LIBS_(DEBUG|RELEASE) - -### LIBRARIES -Returns `"${PKGCONFIG}" --libs-only-l` in _LIBRARIES_(DEBUG|RELEASE) - -### LIBRARIES_DIRS -Returns `"${PKGCONFIG}" --libs-only-L` in _LIBRARIES_DIRS_(DEBUG|RELEASE) - -### INCLUDE_DIRS -Returns `"${PKGCONFIG}" --cflags-only-I` in _INCLUDE_DIRS_(DEBUG|RELEASE) - -## Examples - -* [qt5-base](https://github.com/microsoft/vcpkg/blob/master/ports/qt5-base/portfile.cmake) - -## Source -[ports/vcpkg-pkgconfig-get-modules/x\_vcpkg\_pkgconfig\_get\_modules.cmake](https://github.com/Microsoft/vcpkg/blob/master/ports/vcpkg-pkgconfig-get-modules/x_vcpkg_pkgconfig_get_modules.cmake) diff --git a/docs/maintainers/pr-review-checklist.md b/docs/maintainers/pr-review-checklist.md deleted file mode 100644 index ce8d1c3a9998c0..00000000000000 --- a/docs/maintainers/pr-review-checklist.md +++ /dev/null @@ -1,115 +0,0 @@ -Vcpkg PR Checklist -===================== -Revision: 1 - -## Overview -This document provides an annotated checklist which vcpkg team members use to apply the "reviewed" label on incoming pull requests. If a pull request violates any of these points, we may ask contributors to make necessary changes before we can merge the changeset. - -Feel free to create an issue or pull request if you feel that this checklist can be improved. Please increment the revision number when modifying the checklist content. - -## Checklist -You can link any of these checklist items in a GitHub comment by copying the link address attached to each item code. - -
-c000001: No deprecated helper functions are used - -See our [Maintainer Guidelines and Policies](maintainer-guide.md#Avoid-deprecated-helper-functions) for more information. - -
- -
-c000002: `"port-version"` field is updated - -See our [Maintainer Guidelines and Policies](maintainer-guide.md#versioning) for more information. - -
- -
-c000003: New ports contain a `"description"` field written in English - -A description only one or a few sentences long is helpful. Consider using the library's official description from their `README.md` or similar if possible. Automatic translations are acceptable and we are happy to clean up translations to English for our contributors. - -See our [manifest file documentation](manifest-files.md#description) for more information. - -
- -
-c000004: No unnecessary comments are present in the changeset - -See our [Maintainer Guidelines and Policies](maintainer-guide.md#Avoid-excessive-comments-in-portfiles) for more information. - -
- -
-c000005: Downloaded archives are versioned if available - -
-c000006: New ports pass CI checks for triplets that the library officially supports - -To ensure vcpkg ports are of a high quality, we ask that incoming ports support the official platforms for the library in question. - -
- -
-c000007: Patches fix issues that are vcpkg-specific only - -If possible, patches to the library source code should be upstreamed to the library's official repository. Opening up a pull request on the library's repository will help to improve the library for everyone, not just vcpkg users. - -
- -
-c000008: New ports download source code from the official source if available - -To respect library authors and keep code secure, please have ports download source code from the official source. We may make exceptions if the original source code is not available and there is substantial community interest in maintaining the library in question. - -
- -
-c000009: Ports and port features are named correctly - -For user accessibility, we prefer names of ports and port features to be intuitive and close to their counterparts in official sources and other package managers. If you are unsure about the naming of a port or port feature, we recommend checking repology.org, packages.ubuntu.com, or searching for additional information using a search engine. We can also help our contributors with this, so feel free to ask for naming suggestions if you are unsure. - -
- -
-c000010: Library targets are exported when appropriate - -To provide users with a seamless build system integration, please be sure to export and provide a means of finding the library targets intended to be used downstream. Targets not meant to be exported should be be marked private and not exported. - -
- -
-c000011: Ports do not use applications which modify the user's system - -Ports should uphold vcpkg's contract of not modifying the user's system by avoiding applications which do so. Examples of these applications are `sudo`, `apt`, `brew`, or `pip`. Please use an alternative to these types of programs wherever possible. - -
- -
-c000012: Ports with system dependencies include an information message during installation - -Some ports have library and tool dependencies that do not exist within vcpkg. For these missing dependencies, we ask that contributors add a message to the top of the port's `portfile.cmake` stating the missing dependencies and how to acquire them. We ask that the message is displayed before any major work is done to ensure that users can "early out" of the installation process as soon as possible in case they are missing the dependency. - -Example: -```cmake -message( -"${PORT} currently requires the following libraries from the system package manager: - autoconf libtool -These can be installed on Ubuntu systems via sudo apt install autoconf libtool" -) -``` - -
- -
-c000013: Manifest files are used instead of CONTROL files for new ports - -Many existing ports use the CONTROL file syntax; while this syntax will be supported for some time to come, -new ports should not use these. Any newly added port _must_ use the manifest files. - -We also recommend, when significant modifications are made to ports, that one switches to manifest files; -however, this is not required. You may find `vcpkg format-manifest` useful. diff --git a/docs/maintainers/registries.md b/docs/maintainers/registries.md deleted file mode 100644 index a4df8d32bb6406..00000000000000 --- a/docs/maintainers/registries.md +++ /dev/null @@ -1,357 +0,0 @@ -# Creating Registries - -**The latest version of this documentation is available on [GitHub](https://github.com/Microsoft/vcpkg/tree/master/docs/maintainers/registries.md).** - -There are two parts to using registries; this documents the creation side of -the relationship. In order to learn more about using registries that others -have created, please read [this documentation](../users/registries.md). -## Table of Contents - -- [Creating Registries](#creating-registries) - - [Table of Contents](#table-of-contents) - - [Overview](#overview) - - [Git Registries](#git-registries) - - [Adding a New Version](#adding-a-new-version) - - [Filesystem Registries](#filesystem-registries) - - [Adding a New Version](#adding-a-new-version-1) - -## Overview - -Registries are collections of ports and their versions. There are two major -choices of implementation for registries, if you want to create your own - -git registries, and filesystem registries. - -Git registries are simple git repositories, and can be shared publicly or -privately via normal mechanisms for git repositories. The vcpkg repository at -, for example, is a git registry. - -Filesystem registries are designed as more of a testing ground. Given that they -literally live on your filesystem, the only way to share them is via shared -directories. However, filesystem registries can be useful as a way to represent -registries held in non-git version control systems, assuming one has some way -to get the registry onto the disk. - -Note that we expect the set of registry types to grow over time; if you would -like support for registries built in your favorite public version control -system, don't hesitate to open a PR. - -The basic structure of a registry is: - -- The set of versions that are considered "latest" at certain times in history, - known as the "baseline". -- The set of all the versions of all the ports, and where to find each of - these in the registry. - -### Git Registries - -As you're following along with this documentation, it may be helpful to have -a working example to refer to. We've written one and put it here: -. - -All git registries must have a `versions/baseline.json` file. This file -contains the set of "latest versions" at a certain commit. It is laid out as -a top-level object containing only the `"default"` field. This field should -contain an object mapping port names to the version which is currently the -latest. - -Here's an example of a valid baseline.json: - -```json -{ - "default": { - "kitten": { - "baseline": "2.6.2", - "port-version": 0 - }, - "port-b": { - "baseline": "19.00", - "port-version": 2 - } - } -} -``` - -The `versions` directory contains all the information about which versions of -which packages are contained in the registry, along with where those versions -are stored. The rest of the registry just acts as a backing store, as far as -vcpkg is concerned: only things inside the `versions` directory will be used -to direct how your registry is seen by vcpkg. - -Each port in a registry should exist in the versions directory as -`-/.json`; in other words, the -information about the `kitten` port would be located in -`versions/k-/kitten.json`. This should be a top-level object with only a -single field: `"versions"`. This field should contain an array of version -objects: - -- The version of the port in question; should be exactly the same as the - `vcpkg.json` file, including the version fields and `"port-version"`. -- The `"git-tree"` field, which is a git tree; in other words, what you get - when you write `git rev-parse COMMIT-ID:path/to/port`. - -Note that the version fields for ports with `CONTROL` files, is -`"version-string"`; we do not recommend using `CONTROL` files in new -registries, however. - -_WARNING_: One very important part of registries is that versions should -_never_ be changed. Updating to a later ref should never remove or change an -existing version. It must always be safe to update a registry. - -Here's an example of a valid version database for a `kitten` port with one -version: - -```json -{ - "versions": [ - { - "version": "2.6.2", - "port-version": 0, - "git-tree": "67d60699c271b7716279fdea5a5c6543929eb90e" - } - ] -} -``` - -In general, it's not important where you place port directories. However, the -idiom in vcpkg is to follow what the built in vcpkg registry does: your -`kitten` port should be placed in `ports/kitten`. - -_WARNING_: One other thing to keep in mind is that when you update a registry, -all previous versions should also be accessible. Since your user will set their -baseline to a commit ID, that commit ID must always exist, and be accessible -from your HEAD commit, which is what is actually fetched. This means that your -HEAD commit should be a child of all previous HEAD commits. - -#### Adding a New Version - -There is some git trickery involved in creating a new version of a port. The -first thing to do is make some changes, update the `"port-version"` and regular -version field as you need to, and then test with `overlay-ports`: -`vcpkg install kitten --overlay-ports=ports/kitten`. - -Once you've finished your testing, you'll need to make sure that the directory -as it is is under git's purview. You'll do this by creating a temporary commit: - -```pwsh -> git add ports/kitten -> git commit -m 'temporary commit' -``` - -Then, get the git tree ID of the directory: - -```pwsh -> git rev-parse HEAD:ports/kitten -73ad3c823ef701c37421b450a34271d6beaf7b07 -``` - -Then, you can add this version to the versions database. At the top of your -`versions/k-/kitten.json`, you can add (assuming you're adding version -`2.6.3#0`): - -```json -{ - "versions": [ - { - "version": "2.6.3", - "port-version": 0, - "git-tree": "73ad3c823ef701c37421b450a34271d6beaf7b07" - }, - { - "version": "2.6.2", - "port-version": 0, - "git-tree": "67d60699c271b7716279fdea5a5c6543929eb90e" - } - ] -} -``` - -then, you'll want to modify your `versions/baseline.json` with your new version -as well: - -```json -{ - "default": { - "kitten": { - "baseline": "2.6.3", - "port-version": 0 - }, - "port-b": { - "baseline": "19.00", - "port-version": 2 - } - } -} -``` - -and amend your current commit: - -```pwsh -> git commit --amend -``` - -then share away! - -### Filesystem Registries - -As you're following along with this documentation, it may be helpful to have -a working example to refer to. We've written one and put it here: -. - -All filesystem registries must have a `versions/baseline.json` file. This file -contains the set of "latest versions" for a certain version of the registry. -It is laid out as a top-level object containing a map from version name to -"baseline objects", which map port names to the version which is considered -"latest" for that version of the registry. - -Filesystem registries need to decide on a versioning scheme. Unlike git -registries, which have the implicit versioning scheme of refs, filesystem -registries can't rely on the version control system here. One possible option -is to do a daily release, and have your "versions" be dates. - -_WARNING_: A baseline must always refer to the same set of versions. If you -want to add new versions, you need to create a new version of the registry in -the `baseline.json` file. - -Here's an example of a valid `baseline.json`, for a registry that has decided -upon dates for their versions: - -```json -{ - "2021-04-16": { - "kitten": { - "baseline": "2.6.2", - "port-version": 0 - }, - "port-b": { - "baseline": "19.00", - "port-version": 2 - } - }, - "2021-04-15": { - "kitten": { - "baseline": "2.6.2", - "port-version": 0 - }, - "port-b": { - "baseline": "19.00", - "port-version": 1 - } - } -} -``` - -The `versions` directory contains all the information about which versions of -which packages are contained in the registry, along with where those versions -are stored. The rest of the registry just acts as a backing store, as far as -vcpkg is concerned: only things inside the `versions` directory will be used -to direct how your registry is seen by vcpkg. - -Each port in a registry should exist in the versions directory as -`-/.json`; in other words, the -information about the `kitten` port would be located in -`versions/k-/kitten.json`. This should be a top-level object with only a -single field: `"versions"`. This field should contain an array of version -objects: - -- The version of the port in question; should be exactly the same as the - `vcpkg.json` file, including the version fields and `"port-version"`. -- The `"path"` field: a relative directory, rooted at the base of the registry - (in other words, the directory where `versions` is located), to the port - directory. It should look something like `"$/path/to/port/dir`" - -Note that the version fields for ports with `CONTROL` files, is -`"version-string"`; we do not recommend using `CONTROL` files in new -registries, however. - -In general, it's not important where you place port directories. However, the -idiom in vcpkg is to follow somewhat closely to what the built in vcpkg -registry does: your `kitten` port at version `x.y.z` should be placed in -`ports/kitten/x.y.z`, with port versions appended as you see fit (although -since `#` is not a good character to use for file names, perhaps use `_`). - -_WARNING_: One very important part of registries is that versions should -_never_ be changed. One should never remove or change an existing version. -Your changes to your registry shouldn't change behavior to downstream users. - -Here's an example of a valid version database for a `kitten` port with one -version: - -```json -{ - "versions": [ - { - "version": "2.6.2", - "port-version": 0, - "path": "$/ports/kitten/2.6.2_0" - } - ] -} -``` - -#### Adding a New Version - -Unlike git registries, adding a new version to a filesystem registry mostly -involves a lot of copying. The first thing to do is to copy the latest -version of your port into a new version directory, update the version and -`"port-version"` fields as you need to, and then test with `overlay-ports`: -`vcpkg install kitten --overlay-ports=ports/kitten/new-version`. - -Once you've finished your testing, you can add this new version to the top of -your `versions/k-/kitten.json`: - -```json -{ - "versions": [ - { - "version": "2.6.3", - "port-version": 0, - "path": "$/ports/kitten/2.6.3_0" - }, - { - "version": "2.6.2", - "port-version": 0, - "path": "$/ports/kitten/2.6.2_0" - } - ] -} -``` - -then, you'll want to modify your `versions/baseline.json` with your new version -as well (remember not to modify existing baselines): - -```json -{ - "2021-04-17": { - "kitten": { - "baseline": "2.6.3", - "port-version": 0 - }, - "port-b": { - "baseline": "19.00", - "port-version": 2 - } - }, - "2021-04-16": { - "kitten": { - "baseline": "2.6.2", - "port-version": 0 - }, - "port-b": { - "baseline": "19.00", - "port-version": 2 - } - }, - "2021-04-15": { - "kitten": { - "baseline": "2.6.2", - "port-version": 0 - }, - "port-b": { - "baseline": "19.00", - "port-version": 1 - } - } -} -``` - -and you're done! diff --git a/docs/maintainers/vcpkg_acquire_msys.md b/docs/maintainers/vcpkg_acquire_msys.md deleted file mode 100644 index 5093f90fa0bb06..00000000000000 --- a/docs/maintainers/vcpkg_acquire_msys.md +++ /dev/null @@ -1,60 +0,0 @@ -# vcpkg_acquire_msys - -The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/vcpkg_acquire_msys.md). - -Download and prepare an MSYS2 instance. - -## Usage -```cmake -vcpkg_acquire_msys( - PACKAGES ... - [NO_DEFAULT_PACKAGES] - [DIRECT_PACKAGES ...] -) -``` - -## Parameters -### MSYS_ROOT_VAR -An out-variable that will be set to the path to MSYS2. - -### PACKAGES -A list of packages to acquire in msys. - -To ensure a package is available: `vcpkg_acquire_msys(MSYS_ROOT PACKAGES make automake1.16)` - -### NO_DEFAULT_PACKAGES -Exclude the normal base packages. - -The list of base packages includes: bash, coreutils, sed, grep, gawk, gzip, diffutils, make, and pkg-config - -### DIRECT_PACKAGES -A list of URL/SHA512 pairs to acquire in msys. - -This parameter can be used by a port to privately extend the list of msys packages to be acquired. -The URLs can be found on the msys2 website[1] and should be a direct archive link: - - https://repo.msys2.org/mingw/i686/mingw-w64-i686-gettext-0.19.8.1-9-any.pkg.tar.zst - -[1] https://packages.msys2.org/search - -## Notes -A call to `vcpkg_acquire_msys` will usually be followed by a call to `bash.exe`: -```cmake -vcpkg_acquire_msys(MSYS_ROOT) -set(BASH ${MSYS_ROOT}/usr/bin/bash.exe) - -vcpkg_execute_required_process( - COMMAND ${BASH} --noprofile --norc "${CMAKE_CURRENT_LIST_DIR}\\build.sh" - WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel - LOGNAME build-${TARGET_TRIPLET}-rel -) -``` - -## Examples - -* [ffmpeg](https://github.com/Microsoft/vcpkg/blob/master/ports/ffmpeg/portfile.cmake) -* [icu](https://github.com/Microsoft/vcpkg/blob/master/ports/icu/portfile.cmake) -* [libvpx](https://github.com/Microsoft/vcpkg/blob/master/ports/libvpx/portfile.cmake) - -## Source -[scripts/cmake/vcpkg\_acquire\_msys.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_acquire_msys.cmake) diff --git a/docs/maintainers/vcpkg_add_to_path.md b/docs/maintainers/vcpkg_add_to_path.md deleted file mode 100644 index 76fb251b934e5a..00000000000000 --- a/docs/maintainers/vcpkg_add_to_path.md +++ /dev/null @@ -1,27 +0,0 @@ -# vcpkg_add_to_path - -The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/vcpkg_add_to_path.md). - -Add a directory or directories to the PATH environment variable - -```cmake -vcpkg_add_to_path([PREPEND] [...]) -``` - -`vcpkg_add_to_path` adds all of the paths passed to it to the PATH environment variable. -If PREPEND is passed, then those paths are prepended to the PATH environment variable, -so that they are searched first; otherwise, those paths are appended, so they are -searched after the paths which are already in the environment variable. - -The paths are added in the order received, so that the first path is always searched -before a later path. - -If no paths are passed, then nothing will be done. - -## Examples: -* [curl](https://github.com/Microsoft/vcpkg/blob/master/ports/curl/portfile.cmake#L75) -* [folly](https://github.com/Microsoft/vcpkg/blob/master/ports/folly/portfile.cmake#L15) -* [z3](https://github.com/Microsoft/vcpkg/blob/master/ports/z3/portfile.cmake#L13) - -## Source -[scripts/cmake/vcpkg\_add\_to\_path.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_add_to_path.cmake) diff --git a/docs/maintainers/vcpkg_apply_patches.md b/docs/maintainers/vcpkg_apply_patches.md deleted file mode 100644 index a3aad07145add8..00000000000000 --- a/docs/maintainers/vcpkg_apply_patches.md +++ /dev/null @@ -1,18 +0,0 @@ -# vcpkg_apply_patches - -**This function has been deprecated in favor of the `PATCHES` argument to [`vcpkg_from_github()`](vcpkg_from_github.md) et al.** - -The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/vcpkg_apply_patches.md). - -Apply a set of patches to a source tree. - -```cmake -vcpkg_apply_patches( - SOURCE_PATH <${SOURCE_PATH}> - [QUIET] - PATCHES ... -) -``` - -## Source -[scripts/cmake/vcpkg\_apply\_patches.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_apply_patches.cmake) diff --git a/docs/maintainers/vcpkg_backup_restore_env_vars.md b/docs/maintainers/vcpkg_backup_restore_env_vars.md deleted file mode 100644 index d1591d06eb3650..00000000000000 --- a/docs/maintainers/vcpkg_backup_restore_env_vars.md +++ /dev/null @@ -1,26 +0,0 @@ -# vcpkg_backup_restore_env_vars - -The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/vcpkg_backup_restore_env_vars.md). - -Backup or restore the environment variables - -## Usage: -```cmake -vcpkg_backup_env_variables(VARS [...]) -vcpkg_restore_env_variables(VARS [...]) -``` - -### VARS -The variables to back up or restore. -These are placed in the parent scope, so you must backup and restore -from the same scope. - -## Notes -One must always call `vcpkg_backup_env_variables` before -`vcpkg_restore_env_variables`; however, `vcpkg_restore_env_variables` -does not change the back up variables, and so you may call `restore` -multiple times for one `backup`. - - -## Source -[scripts/cmake/vcpkg\_backup\_restore\_env\_vars.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_backup_restore_env_vars.cmake) diff --git a/docs/maintainers/vcpkg_build_cmake.md b/docs/maintainers/vcpkg_build_cmake.md deleted file mode 100644 index 485a8c9184017b..00000000000000 --- a/docs/maintainers/vcpkg_build_cmake.md +++ /dev/null @@ -1,38 +0,0 @@ -# vcpkg_build_cmake - -**This function has been deprecated in favor of [`vcpkg_cmake_build`](ports/vcpkg-cmake/vcpkg_cmake_build.md) from the vcpkg-cmake port.** - -The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/vcpkg_build_cmake.md). - -Build a cmake project. - -## Usage: -```cmake -vcpkg_build_cmake([DISABLE_PARALLEL] [TARGET ]) -``` - -## Parameters: -### DISABLE_PARALLEL -The underlying buildsystem will be instructed to not parallelize - -### TARGET -The target passed to the cmake build command (`cmake --build . --target `). If not specified, no target will -be passed. - -### ADD_BIN_TO_PATH -Adds the appropriate Release and Debug `bin` directories to the path during the build such that executables can run against the in-tree DLLs. - -## Notes: -This command should be preceded by a call to [`vcpkg_configure_cmake()`](vcpkg_configure_cmake.md). -You can use the alias [`vcpkg_install_cmake()`](vcpkg_configure_cmake.md) function if your CMake script supports the -"install" target - -## Examples: - -* [zlib](https://github.com/Microsoft/vcpkg/blob/master/ports/zlib/portfile.cmake) -* [cpprestsdk](https://github.com/Microsoft/vcpkg/blob/master/ports/cpprestsdk/portfile.cmake) -* [poco](https://github.com/Microsoft/vcpkg/blob/master/ports/poco/portfile.cmake) -* [opencv](https://github.com/Microsoft/vcpkg/blob/master/ports/opencv/portfile.cmake) - -## Source -[scripts/cmake/vcpkg\_build\_cmake.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_build_cmake.cmake) diff --git a/docs/maintainers/vcpkg_build_make.md b/docs/maintainers/vcpkg_build_make.md deleted file mode 100644 index a274b6f6e42ab1..00000000000000 --- a/docs/maintainers/vcpkg_build_make.md +++ /dev/null @@ -1,54 +0,0 @@ -# vcpkg_build_make - -The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/vcpkg_build_make.md). - -Build a linux makefile project. - -## Usage: -```cmake -vcpkg_build_make([BUILD_TARGET ] - [ADD_BIN_TO_PATH] - [ENABLE_INSTALL] - [MAKEFILE ] - [LOGFILE_ROOT ]) -``` - -### BUILD_TARGET -The target passed to the make build command (`./make `). If not specified, the 'all' target will -be passed. - -### ADD_BIN_TO_PATH -Adds the appropriate Release and Debug `bin\` directories to the path during the build such that executables can run against the in-tree DLLs. - -### ENABLE_INSTALL -IF the port supports the install target use vcpkg_install_make() instead of vcpkg_build_make() - -### MAKEFILE -Specifies the Makefile as a relative path from the root of the sources passed to `vcpkg_configure_make()` - -### BUILD_TARGET -The target passed to the make build command (`./make `). Defaults to 'all'. - -### INSTALL_TARGET -The target passed to the make build command (`./make `) if `ENABLE_INSTALL` is used. Defaults to 'install'. - -### DISABLE_PARALLEL -The underlying buildsystem will be instructed to not parallelize - -### SUBPATH -Additional subdir to invoke make in. Useful if only parts of a port should be built. - -## Notes: -This command should be preceded by a call to [`vcpkg_configure_make()`](vcpkg_configure_make.md). -You can use the alias [`vcpkg_install_make()`](vcpkg_install_make.md) function if your makefile supports the -"install" target - -## Examples - -* [x264](https://github.com/Microsoft/vcpkg/blob/master/ports/x264/portfile.cmake) -* [tcl](https://github.com/Microsoft/vcpkg/blob/master/ports/tcl/portfile.cmake) -* [freexl](https://github.com/Microsoft/vcpkg/blob/master/ports/freexl/portfile.cmake) -* [libosip2](https://github.com/Microsoft/vcpkg/blob/master/ports/libosip2/portfile.cmake) - -## Source -[scripts/cmake/vcpkg\_build\_make.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_build_make.cmake) diff --git a/docs/maintainers/vcpkg_build_msbuild.md b/docs/maintainers/vcpkg_build_msbuild.md deleted file mode 100644 index 4e86fd3b66e005..00000000000000 --- a/docs/maintainers/vcpkg_build_msbuild.md +++ /dev/null @@ -1,66 +0,0 @@ -# vcpkg_build_msbuild - -The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/vcpkg_build_msbuild.md). - -Build a msbuild-based project. Deprecated in favor of `vcpkg_install_msbuild()`. - -## Usage -```cmake -vcpkg_build_msbuild( - PROJECT_PATH <${SOURCE_PATH}/port.sln> - [RELEASE_CONFIGURATION ] - [DEBUG_CONFIGURATION ] - [TARGET ] - [TARGET_PLATFORM_VERSION <10.0.15063.0>] - [PLATFORM <${TRIPLET_SYSTEM_ARCH}>] - [PLATFORM_TOOLSET <${VCPKG_PLATFORM_TOOLSET}>] - [OPTIONS ...] - [OPTIONS_RELEASE ...] - [OPTIONS_DEBUG ...] - [USE_VCPKG_INTEGRATION] -) -``` - -## Parameters -### USE_VCPKG_INTEGRATION -Apply the normal `integrate install` integration for building the project. - -By default, projects built with this command will not automatically link libraries or have header paths set. - -### PROJECT_PATH -The path to the solution (`.sln`) or project (`.vcxproj`) file. - -### RELEASE_CONFIGURATION -The configuration (``/p:Configuration`` msbuild parameter) used for Release builds. - -### DEBUG_CONFIGURATION -The configuration (``/p:Configuration`` msbuild parameter) -used for Debug builds. - -### TARGET_PLATFORM_VERSION -The WindowsTargetPlatformVersion (``/p:WindowsTargetPlatformVersion`` msbuild parameter) - -### TARGET -The MSBuild target to build. (``/t:``) - -### PLATFORM -The platform (``/p:Platform`` msbuild parameter) used for the build. - -### PLATFORM_TOOLSET -The platform toolset (``/p:PlatformToolset`` msbuild parameter) used for the build. - -### OPTIONS -Additional options passed to msbuild for all builds. - -### OPTIONS_RELEASE -Additional options passed to msbuild for Release builds. These are in addition to `OPTIONS`. - -### OPTIONS_DEBUG -Additional options passed to msbuild for Debug builds. These are in addition to `OPTIONS`. - -## Examples - -* [chakracore](https://github.com/Microsoft/vcpkg/blob/master/ports/chakracore/portfile.cmake) - -## Source -[scripts/cmake/vcpkg\_build\_msbuild.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_build_msbuild.cmake) diff --git a/docs/maintainers/vcpkg_build_ninja.md b/docs/maintainers/vcpkg_build_ninja.md deleted file mode 100644 index de099a16d3e998..00000000000000 --- a/docs/maintainers/vcpkg_build_ninja.md +++ /dev/null @@ -1,19 +0,0 @@ -# vcpkg_build_ninja - -The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/vcpkg_build_ninja.md). - -Build a ninja project - -## Usage: -```cmake -vcpkg_build_ninja( - [TARGETS ...] -) -``` - -## Parameters: -### TARGETS -Only build the specified targets. - -## Source -[scripts/cmake/vcpkg\_build\_ninja.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_build_ninja.cmake) diff --git a/docs/maintainers/vcpkg_build_nmake.md b/docs/maintainers/vcpkg_build_nmake.md deleted file mode 100644 index 408f8fb3981ce1..00000000000000 --- a/docs/maintainers/vcpkg_build_nmake.md +++ /dev/null @@ -1,72 +0,0 @@ -# vcpkg_build_nmake - -The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/vcpkg_build_nmake.md). - -Build a msvc makefile project. - -## Usage: -```cmake -vcpkg_build_nmake( - SOURCE_PATH <${SOURCE_PATH}> - [NO_DEBUG] - [ENABLE_INSTALL] - [TARGET ] - [PROJECT_SUBPATH <${SUBPATH}>] - [PROJECT_NAME <${MAKEFILE_NAME}>] - [PRERUN_SHELL <${SHELL_PATH}>] - [PRERUN_SHELL_DEBUG <${SHELL_PATH}>] - [PRERUN_SHELL_RELEASE <${SHELL_PATH}>] - [OPTIONS <-DUSE_THIS_IN_ALL_BUILDS=1>...] - [OPTIONS_RELEASE <-DOPTIMIZE=1>...] - [OPTIONS_DEBUG <-DDEBUGGABLE=1>...] - [TARGET ]) -``` - -## Parameters -### SOURCE_PATH -Specifies the directory containing the source files. -By convention, this is usually set in the portfile as the variable `SOURCE_PATH`. - -### PROJECT_SUBPATH -Specifies the sub directory containing the `makefile.vc`/`makefile.mak`/`makefile.msvc` or other msvc makefile. - -### PROJECT_NAME -Specifies the name of msvc makefile name. -Default is `makefile.vc` - -### ENABLE_INSTALL -Install binaries after build. - -### PRERUN_SHELL -Script that needs to be called before build - -### PRERUN_SHELL_DEBUG -Script that needs to be called before debug build - -### PRERUN_SHELL_RELEASE -Script that needs to be called before release build - -### OPTIONS -Additional options passed to generate during the generation. - -### OPTIONS_RELEASE -Additional options passed to generate during the Release generation. These are in addition to `OPTIONS`. - -### OPTIONS_DEBUG -Additional options passed to generate during the Debug generation. These are in addition to `OPTIONS`. - -### TARGET -The target passed to the nmake build command (`nmake/nmake install`). If not specified, no target will -be passed. - -## Notes: -You can use the alias [`vcpkg_install_nmake()`](vcpkg_install_nmake.md) function if your makefile supports the -"install" target - -## Examples - -* [tcl](https://github.com/Microsoft/vcpkg/blob/master/ports/tcl/portfile.cmake) -* [freexl](https://github.com/Microsoft/vcpkg/blob/master/ports/freexl/portfile.cmake) - -## Source -[scripts/cmake/vcpkg\_build\_nmake.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_build_nmake.cmake) diff --git a/docs/maintainers/vcpkg_build_qmake.md b/docs/maintainers/vcpkg_build_qmake.md deleted file mode 100644 index e452388546d523..00000000000000 --- a/docs/maintainers/vcpkg_build_qmake.md +++ /dev/null @@ -1,12 +0,0 @@ -# vcpkg_build_qmake - -The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/vcpkg_build_qmake.md). - -Build a qmake-based project, previously configured using vcpkg_configure_qmake. - -```cmake -vcpkg_build_qmake() -``` - -## Source -[scripts/cmake/vcpkg\_build\_qmake.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_build_qmake.cmake) diff --git a/docs/maintainers/vcpkg_buildpath_length_warning.md b/docs/maintainers/vcpkg_buildpath_length_warning.md deleted file mode 100644 index c67dc64656f933..00000000000000 --- a/docs/maintainers/vcpkg_buildpath_length_warning.md +++ /dev/null @@ -1,16 +0,0 @@ -# vcpkg_buildpath_length_warning - -The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/vcpkg_buildpath_length_warning.md). - -Warns the user if their vcpkg installation path might be too long for the package they're installing. - -```cmake -vcpkg_buildpath_length_warning() -``` - -`vcpkg_buildpath_length_warning` warns the user if the number of bytes in the -path to `buildtrees` is bigger than `N`. Note that this is simply a warning, -and isn't relied on for correctness. - -## Source -[scripts/cmake/vcpkg\_buildpath\_length\_warning.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_buildpath_length_warning.cmake) diff --git a/docs/maintainers/vcpkg_check_features.md b/docs/maintainers/vcpkg_check_features.md deleted file mode 100644 index a8b90a3cd90ce9..00000000000000 --- a/docs/maintainers/vcpkg_check_features.md +++ /dev/null @@ -1,140 +0,0 @@ -# vcpkg_check_features - -The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/vcpkg_check_features.md). -Check if one or more features are a part of a package installation. - -```cmake -vcpkg_check_features( - OUT_FEATURE_OPTIONS - [PREFIX ] - [FEATURES - [ ]... - ] - [INVERTED_FEATURES - [ ]... - ] -) -``` - -The `` should be set to `FEATURE_OPTIONS` by convention. - -`vcpkg_check_features()` will: - -- for each `` passed in `FEATURES`: - - if the feature is set, add `-D=ON` to ``, - and set `_` to ON. - - if the feature is not set, add `-D=OFF` to ``, - and set `_` to OFF. -- for each `` passed in `INVERTED_FEATURES`: - - if the feature is set, add `-D=OFF` to ``, - and set `_` to OFF. - - if the feature is not set, add `-D=ON` to ``, - and set `_` to ON. - -If `` is not passed, then the feature vars set are simply ``, -not `_`. - -If `INVERTED_FEATURES` is not passed, then the `FEATURES` keyword is optional. -This behavior is deprecated. - -If the same `` is passed multiple times, -then `vcpkg_check_features` will cause a fatal error, -since that is a bug. - -## Examples - -### Example 1: Regular features - -```cmake -$ ./vcpkg install mimalloc[asm,secure] - -# ports/mimalloc/portfile.cmake -vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - FEATURES - asm MI_SEE_ASM - override MI_OVERRIDE - secure MI_SECURE -) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - # Expands to "-DMI_SEE_ASM=ON;-DMI_OVERRIDE=OFF;-DMI_SECURE=ON" - ${FEATURE_OPTIONS} -) -``` - -### Example 2: Inverted features - -```cmake -$ ./vcpkg install cpprestsdk[websockets] - -# ports/cpprestsdk/portfile.cmake -vcpkg_check_features( - INVERTED_FEATURES - brotli CPPREST_EXCLUDE_BROTLI - websockets CPPREST_EXCLUDE_WEBSOCKETS -) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - # Expands to "-DCPPREST_EXCLUDE_BROTLI=ON;-DCPPREST_EXCLUDE_WEBSOCKETS=OFF" - ${FEATURE_OPTIONS} -) -``` - -### Example 3: Set multiple options for same feature - -```cmake -$ ./vcpkg install pcl[cuda] - -# ports/pcl/portfile.cmake -vcpkg_check_features( - FEATURES - cuda WITH_CUDA - cuda BUILD_CUDA - cuda BUILD_GPU -) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - # Expands to "-DWITH_CUDA=ON;-DBUILD_CUDA=ON;-DBUILD_GPU=ON" - ${FEATURE_OPTIONS} -) -``` - -### Example 4: Use regular and inverted features - -```cmake -$ ./vcpkg install rocksdb[tbb] - -# ports/rocksdb/portfile.cmake -vcpkg_check_features( - FEATURES - tbb WITH_TBB - INVERTED_FEATURES - tbb ROCKSDB_IGNORE_PACKAGE_TBB -) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - # Expands to "-DWITH_TBB=ON;-DROCKSDB_IGNORE_PACKAGE_TBB=OFF" - ${FEATURE_OPTIONS} -) -``` - -## Examples in portfiles - -* [cpprestsdk](https://github.com/microsoft/vcpkg/blob/master/ports/cpprestsdk/portfile.cmake) -* [pcl](https://github.com/microsoft/vcpkg/blob/master/ports/pcl/portfile.cmake) -* [rocksdb](https://github.com/microsoft/vcpkg/blob/master/ports/rocksdb/portfile.cmake) - -## Source -[scripts/cmake/vcpkg\_check\_features.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_check_features.cmake) diff --git a/docs/maintainers/vcpkg_check_linkage.md b/docs/maintainers/vcpkg_check_linkage.md deleted file mode 100644 index 8b73520e0a7c16..00000000000000 --- a/docs/maintainers/vcpkg_check_linkage.md +++ /dev/null @@ -1,38 +0,0 @@ -# vcpkg_check_linkage - -The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/vcpkg_check_linkage.md). - -Asserts the available library and CRT linkage options for the port. - -## Usage -```cmake -vcpkg_check_linkage( - [ONLY_STATIC_LIBRARY | ONLY_DYNAMIC_LIBRARY] - [ONLY_STATIC_CRT | ONLY_DYNAMIC_CRT] -) -``` - -## Parameters -### ONLY_STATIC_LIBRARY -Indicates that this port can only be built with static library linkage. - -Note: If the user requested a dynamic build ONLY_STATIC_LIBRARY will result in a note being printed, not a fatal error. - -### ONLY_DYNAMIC_LIBRARY -Indicates that this port can only be built with dynamic/shared library linkage. - -### ONLY_STATIC_CRT -Indicates that this port can only be built with static CRT linkage. - -### ONLY_DYNAMIC_CRT -Indicates that this port can only be built with dynamic/shared CRT linkage. - -## Notes -This command will either alter the settings for `VCPKG_LIBRARY_LINKAGE` or fail, depending on what was requested by the user versus what the library supports. - -## Examples - -* [abseil](https://github.com/Microsoft/vcpkg/blob/master/ports/abseil/portfile.cmake) - -## Source -[scripts/cmake/vcpkg\_check\_linkage.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_check_linkage.cmake) diff --git a/docs/maintainers/vcpkg_clean_executables_in_bin.md b/docs/maintainers/vcpkg_clean_executables_in_bin.md deleted file mode 100644 index b6df723adec912..00000000000000 --- a/docs/maintainers/vcpkg_clean_executables_in_bin.md +++ /dev/null @@ -1,25 +0,0 @@ -# vcpkg_clean_executables_in_bin - -The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/vcpkg_clean_executables_in_bin.md). - -Remove specified executables found in `${CURRENT_PACKAGES_DIR}/bin` and `${CURRENT_PACKAGES_DIR}/debug/bin`. If, after all specified executables have been removed, and the `bin` and `debug/bin` directories are empty, then also delete `bin` and `debug/bin` directories. - -## Usage -```cmake -vcpkg_clean_executables_in_bin( - FILE_NAMES ... -) -``` - -## Parameters -### FILE_NAMES -A list of executable filenames without extension. - -## Notes -Generally, there is no need to call this function manually. Instead, pass an extra `AUTO_CLEAN` argument when calling `vcpkg_copy_tools`. - -## Examples -* [czmq](https://github.com/microsoft/vcpkg/blob/master/ports/czmq/portfile.cmake) - -## Source -[scripts/cmake/vcpkg\_clean\_executables\_in\_bin.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_clean_executables_in_bin.cmake) diff --git a/docs/maintainers/vcpkg_clean_msbuild.md b/docs/maintainers/vcpkg_clean_msbuild.md deleted file mode 100644 index 3474076b53ac31..00000000000000 --- a/docs/maintainers/vcpkg_clean_msbuild.md +++ /dev/null @@ -1,17 +0,0 @@ -# vcpkg_clean_msbuild - -The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/vcpkg_clean_msbuild.md). - -Clean intermediate files generated by `vcpkg_install_msbuild()`. - -## Usage -```cmake -vcpkg_clean_msbuild() -``` - -## Examples - -* [python3](https://github.com/Microsoft/vcpkg/blob/master/ports/python3/portfile.cmake) - -## Source -[scripts/cmake/vcpkg\_clean\_msbuild.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_clean_msbuild.cmake) diff --git a/docs/maintainers/vcpkg_common_definitions.md b/docs/maintainers/vcpkg_common_definitions.md deleted file mode 100644 index b96dd3cbc5e56e..00000000000000 --- a/docs/maintainers/vcpkg_common_definitions.md +++ /dev/null @@ -1,36 +0,0 @@ -# vcpkg_common_definitions - -The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/vcpkg_common_definitions.md). - -This file defines the following variables which are commonly needed or used in portfiles: - -```cmake -VCPKG_TARGET_IS_ with being one of the following: WINDOWS, UWP, MINGW, LINUX, OSX, ANDROID, FREEBSD, OPENBSD. only defined if -VCPKG_HOST_IS_ with being one of the following: WINDOWS, LINUX, OSX, FREEBSD, OPENBSD. only defined if -VCPKG_HOST_PATH_SEPARATOR Host specific path separator (USAGE: "${VCPKG_HOST_PATH_SEPARATOR}"; only use and pass variables with VCPKG_HOST_PATH_SEPARATOR within "") -VCPKG_HOST_EXECUTABLE_SUFFIX executable suffix of the host -VCPKG_TARGET_EXECUTABLE_SUFFIX executable suffix of the target -VCPKG_HOST_BUNDLE_SUFFIX bundle suffix of the host -VCPKG_TARGET_BUNDLE_SUFFIX bundle suffix of the target -VCPKG_TARGET_STATIC_LIBRARY_PREFIX static library prefix for target (same as CMAKE_STATIC_LIBRARY_PREFIX) -VCPKG_TARGET_STATIC_LIBRARY_SUFFIX static library suffix for target (same as CMAKE_STATIC_LIBRARY_SUFFIX) -VCPKG_TARGET_SHARED_LIBRARY_PREFIX shared library prefix for target (same as CMAKE_SHARED_LIBRARY_PREFIX) -VCPKG_TARGET_SHARED_LIBRARY_SUFFIX shared library suffix for target (same as CMAKE_SHARED_LIBRARY_SUFFIX) -VCPKG_TARGET_IMPORT_LIBRARY_PREFIX import library prefix for target (same as CMAKE_IMPORT_LIBRARY_PREFIX) -VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX import library suffix for target (same as CMAKE_IMPORT_LIBRARY_SUFFIX) -VCPKG_FIND_LIBRARY_PREFIXES target dependent prefixes used for find_library calls in portfiles -VCPKG_FIND_LIBRARY_SUFFIXES target dependent suffixes used for find_library calls in portfiles -VCPKG_SYSTEM_LIBRARIES list of libraries are provide by the toolchain and are not managed by vcpkg -TARGET_TRIPLET the name of the current triplet to build for -CURRENT_INSTALLED_DIR the absolute path to the installed files for the current triplet -HOST_TRIPLET the name of the triplet corresponding to the host -CURRENT_HOST_INSTALLED_DIR the absolute path to the installed files for the host triplet -VCPKG_CROSSCOMPILING Whether vcpkg is cross-compiling: in other words, whether TARGET_TRIPLET and HOST_TRIPLET are different -``` - -CMAKE_STATIC_LIBRARY_(PREFIX|SUFFIX), CMAKE_SHARED_LIBRARY_(PREFIX|SUFFIX) and CMAKE_IMPORT_LIBRARY_(PREFIX|SUFFIX) are defined for the target -Furthermore the variables CMAKE_FIND_LIBRARY_(PREFIXES|SUFFIXES) are also defined for the target so that -portfiles are able to use find_library calls to discover dependent libraries within the current triplet for ports. - -## Source -[scripts/cmake/vcpkg\_common\_definitions.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_common_definitions.cmake) diff --git a/docs/maintainers/vcpkg_configure_cmake.md b/docs/maintainers/vcpkg_configure_cmake.md deleted file mode 100644 index 8a1eb3284a4485..00000000000000 --- a/docs/maintainers/vcpkg_configure_cmake.md +++ /dev/null @@ -1,87 +0,0 @@ -# vcpkg_configure_cmake - -**This function has been deprecated in favor of [`vcpkg_cmake_configure`](ports/vcpkg-cmake/vcpkg_cmake_configure.md) from the vcpkg-cmake port.** - -The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/vcpkg_configure_cmake.md). - -Configure CMake for Debug and Release builds of a project. - -## Usage -```cmake -vcpkg_configure_cmake( - SOURCE_PATH <${SOURCE_PATH}> - [PREFER_NINJA] - [DISABLE_PARALLEL_CONFIGURE] - [NO_CHARSET_FLAG] - [GENERATOR <"NMake Makefiles">] - [OPTIONS <-DUSE_THIS_IN_ALL_BUILDS=1>...] - [OPTIONS_RELEASE <-DOPTIMIZE=1>...] - [OPTIONS_DEBUG <-DDEBUGGABLE=1>...] - [MAYBE_UNUSED_VARIABLES ...] -) -``` - -## Parameters -### SOURCE_PATH -Specifies the directory containing the `CMakeLists.txt`. -By convention, this is usually set in the portfile as the variable `SOURCE_PATH`. - -### PREFER_NINJA -Indicates that, when available, Vcpkg should use Ninja to perform the build. -This should be specified unless the port is known to not work under Ninja. - -### DISABLE_PARALLEL_CONFIGURE -Disables running the CMake configure step in parallel. -This is needed for libraries which write back into their source directory during configure. - -This also disables CMAKE_DISABLE_SOURCE_CHANGES. - -### NO_CHARSET_FLAG -Disables passing `utf-8` as the default character set to `CMAKE_C_FLAGS` and `CMAKE_CXX_FLAGS`. - -This is needed for libraries that set their own source code's character set. - -### GENERATOR -Specifies the precise generator to use. - -This is useful if some project-specific buildsystem has been wrapped in a cmake script that won't perform an actual build. -If used for this purpose, it should be set to `"NMake Makefiles"`. - -### OPTIONS -Additional options passed to CMake during the configuration. - -### OPTIONS_RELEASE -Additional options passed to CMake during the Release configuration. These are in addition to `OPTIONS`. - -### OPTIONS_DEBUG -Additional options passed to CMake during the Debug configuration. These are in addition to `OPTIONS`. - -### MAYBE_UNUSED_VARIABLES -Any CMake variables which are explicitly passed in, but which may not be used on all platforms. -For example: -```cmake -vcpkg_cmake_configure( - ... - OPTIONS - -DBUILD_EXAMPLE=OFF - ... - MAYBE_UNUSED_VARIABLES - BUILD_EXAMPLE -) -``` - -### LOGNAME -Name of the log to write the output of the configure call to. - -## Notes -This command supplies many common arguments to CMake. To see the full list, examine the source. - -## Examples - -* [zlib](https://github.com/Microsoft/vcpkg/blob/master/ports/zlib/portfile.cmake) -* [cpprestsdk](https://github.com/Microsoft/vcpkg/blob/master/ports/cpprestsdk/portfile.cmake) -* [poco](https://github.com/Microsoft/vcpkg/blob/master/ports/poco/portfile.cmake) -* [opencv](https://github.com/Microsoft/vcpkg/blob/master/ports/opencv/portfile.cmake) - -## Source -[scripts/cmake/vcpkg\_configure\_cmake.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_configure_cmake.cmake) diff --git a/docs/maintainers/vcpkg_configure_gn.md b/docs/maintainers/vcpkg_configure_gn.md deleted file mode 100644 index c196f7330114ff..00000000000000 --- a/docs/maintainers/vcpkg_configure_gn.md +++ /dev/null @@ -1,32 +0,0 @@ -# vcpkg_configure_gn - -The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/vcpkg_configure_gn.md). - -Generate Ninja (GN) targets - -## Usage: -```cmake -vcpkg_configure_gn( - SOURCE_PATH - [OPTIONS ] - [OPTIONS_DEBUG ] - [OPTIONS_RELEASE ] -) -``` - -## Parameters: -### SOURCE_PATH (required) -The path to the GN project. - -### OPTIONS -Options to be passed to both the debug and release targets. -Note: Must be provided as a space-separated string. - -### OPTIONS_DEBUG (space-separated string) -Options to be passed to the debug target. - -### OPTIONS_RELEASE (space-separated string) -Options to be passed to the release target. - -## Source -[scripts/cmake/vcpkg\_configure\_gn.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_configure_gn.cmake) diff --git a/docs/maintainers/vcpkg_configure_make.md b/docs/maintainers/vcpkg_configure_make.md deleted file mode 100644 index ebf80521af7718..00000000000000 --- a/docs/maintainers/vcpkg_configure_make.md +++ /dev/null @@ -1,93 +0,0 @@ -# vcpkg_configure_make - -The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/vcpkg_configure_make.md). - -Configure configure for Debug and Release builds of a project. - -## Usage -```cmake -vcpkg_configure_make( - SOURCE_PATH <${SOURCE_PATH}> - [AUTOCONFIG] - [USE_WRAPPERS] - [DETERMINE_BUILD_TRIPLET] - [BUILD_TRIPLET "--host=x64 --build=i686-unknown-pc"] - [NO_ADDITIONAL_PATHS] - [CONFIG_DEPENDENT_ENVIRONMENT ...] - [CONFIGURE_ENVIRONMENT_VARIABLES ...] - [ADD_BIN_TO_PATH] - [NO_DEBUG] - [SKIP_CONFIGURE] - [PROJECT_SUBPATH <${PROJ_SUBPATH}>] - [PRERUN_SHELL <${SHELL_PATH}>] - [OPTIONS <-DUSE_THIS_IN_ALL_BUILDS=1>...] - [OPTIONS_RELEASE <-DOPTIMIZE=1>...] - [OPTIONS_DEBUG <-DDEBUGGABLE=1>...] -) -``` - -## Parameters -### SOURCE_PATH -Specifies the directory containing the `configure`/`configure.ac`. -By convention, this is usually set in the portfile as the variable `SOURCE_PATH`. - -### PROJECT_SUBPATH -Specifies the directory containing the ``configure`/`configure.ac`. -By convention, this is usually set in the portfile as the variable `SOURCE_PATH`. - -### SKIP_CONFIGURE -Skip configure process - -### USE_WRAPPERS -Use autotools ar-lib and compile wrappers (only applies to windows cl and lib) - -### BUILD_TRIPLET -Used to pass custom --build/--target/--host to configure. Can be globally overwritten by VCPKG_MAKE_BUILD_TRIPLET - -### DETERMINE_BUILD_TRIPLET -For ports having a configure script following the autotools rules for selecting the triplet - -### NO_ADDITIONAL_PATHS -Don't pass any additional paths except for --prefix to the configure call - -### AUTOCONFIG -Need to use autoconfig to generate configure file. - -### PRERUN_SHELL -Script that needs to be called before configuration (do not use for batch files which simply call autoconf or configure) - -### ADD_BIN_TO_PATH -Adds the appropriate Release and Debug `bin\` directories to the path during configure such that executables can run against the in-tree DLLs. - -## DISABLE_VERBOSE_FLAGS -do not pass '--disable-silent-rules --verbose' to configure - -### OPTIONS -Additional options passed to configure during the configuration. - -### OPTIONS_RELEASE -Additional options passed to configure during the Release configuration. These are in addition to `OPTIONS`. - -### OPTIONS_DEBUG -Additional options passed to configure during the Debug configuration. These are in addition to `OPTIONS`. - -### CONFIG_DEPENDENT_ENVIRONMENT -List of additional configuration dependent environment variables to set. -Pass SOMEVAR to set the environment and have SOMEVAR_(DEBUG|RELEASE) set in the portfile to the appropriate values -General environment variables can be set from within the portfile itself. - -### CONFIGURE_ENVIRONMENT_VARIABLES -List of additional environment variables to pass via the configure call. - -## Notes -This command supplies many common arguments to configure. To see the full list, examine the source. - -## Examples - -* [x264](https://github.com/Microsoft/vcpkg/blob/master/ports/x264/portfile.cmake) -* [tcl](https://github.com/Microsoft/vcpkg/blob/master/ports/tcl/portfile.cmake) -* [freexl](https://github.com/Microsoft/vcpkg/blob/master/ports/freexl/portfile.cmake) -* [libosip2](https://github.com/Microsoft/vcpkg/blob/master/ports/libosip2/portfile.cmake) - -## Source -[scripts/cmake/vcpkg\_configure\_make.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_configure_make.cmake) diff --git a/docs/maintainers/vcpkg_configure_meson.md b/docs/maintainers/vcpkg_configure_meson.md deleted file mode 100644 index ae8a07d87d6876..00000000000000 --- a/docs/maintainers/vcpkg_configure_meson.md +++ /dev/null @@ -1,44 +0,0 @@ -# vcpkg_configure_meson - -The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/vcpkg_configure_meson.md). - -Configure Meson for Debug and Release builds of a project. - -## Usage -```cmake -vcpkg_configure_meson( - SOURCE_PATH <${SOURCE_PATH}> - [NO_PKG_CONFIG] - [OPTIONS <-DUSE_THIS_IN_ALL_BUILDS=1>...] - [OPTIONS_RELEASE <-DOPTIMIZE=1>...] - [OPTIONS_DEBUG <-DDEBUGGABLE=1>...] -) -``` - -## Parameters -### SOURCE_PATH -Specifies the directory containing the `meson.build`. -By convention, this is usually set in the portfile as the variable `SOURCE_PATH`. - -### OPTIONS -Additional options passed to Meson during the configuration. - -### OPTIONS_RELEASE -Additional options passed to Meson during the Release configuration. These are in addition to `OPTIONS`. - -### OPTIONS_DEBUG -Additional options passed to Meson during the Debug configuration. These are in addition to `OPTIONS`. - -### NO_PKG_CONFIG -Disable pkg-config setup - -## Notes -This command supplies many common arguments to Meson. To see the full list, examine the source. - -## Examples - -* [fribidi](https://github.com/Microsoft/vcpkg/blob/master/ports/fribidi/portfile.cmake) -* [libepoxy](https://github.com/Microsoft/vcpkg/blob/master/ports/libepoxy/portfile.cmake) - -## Source -[scripts/cmake/vcpkg\_configure\_meson.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_configure_meson.cmake) diff --git a/docs/maintainers/vcpkg_configure_qmake.md b/docs/maintainers/vcpkg_configure_qmake.md deleted file mode 100644 index 6b980b3c0f1c65..00000000000000 --- a/docs/maintainers/vcpkg_configure_qmake.md +++ /dev/null @@ -1,29 +0,0 @@ -# vcpkg_configure_qmake - -The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/vcpkg_configure_qmake.md). - -Configure a qmake-based project. - -```cmake -vcpkg_configure_qmake( - SOURCE_PATH - [OPTIONS arg1 [arg2 ...]] - [OPTIONS_RELEASE arg1 [arg2 ...]] - [OPTIONS_DEBUG arg1 [arg2 ...]] - [BUILD_OPTIONS arg1 [arg2 ...]] - [BUILD_OPTIONS_RELEASE arg1 [arg2 ...]] - [BUILD_OPTIONS_DEBUG arg1 [arg2 ...]] -) -``` - -### SOURCE_PATH -The path to the *.pro qmake project file. - -### OPTIONS, OPTIONS\_RELEASE, OPTIONS\_DEBUG -The options passed to qmake to the configure step. - -### BUILD\_OPTIONS, BUILD\_OPTIONS\_RELEASE, BUILD\_OPTIONS\_DEBUG -The options passed to qmake to the build step. - -## Source -[scripts/cmake/vcpkg\_configure\_qmake.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_configure_qmake.cmake) diff --git a/docs/maintainers/vcpkg_copy_pdbs.md b/docs/maintainers/vcpkg_copy_pdbs.md deleted file mode 100644 index 9c379d225959d1..00000000000000 --- a/docs/maintainers/vcpkg_copy_pdbs.md +++ /dev/null @@ -1,29 +0,0 @@ -# vcpkg_copy_pdbs - -The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/vcpkg_copy_pdbs.md). - -Automatically locate pdbs in the build tree and copy them adjacent to all DLLs. - -```cmake -vcpkg_copy_pdbs( - [BUILD_PATHS ...]) -``` - -The ``s are patterns which will be passed to `file(GLOB_RECURSE)`, -for locating DLLs. It defaults to using: - -- `${CURRENT_PACKAGES_DIR}/bin/*.dll` -- `${CURRENT_PACKAGES_DIR}/debug/bin/*.dll` - -since that is generally where DLLs are located. - -## Notes -This command should always be called by portfiles after they have finished rearranging the binary output. - -## Examples - -* [zlib](https://github.com/Microsoft/vcpkg/blob/master/ports/zlib/portfile.cmake) -* [cpprestsdk](https://github.com/Microsoft/vcpkg/blob/master/ports/cpprestsdk/portfile.cmake) - -## Source -[scripts/cmake/vcpkg\_copy\_pdbs.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_copy_pdbs.cmake) diff --git a/docs/maintainers/vcpkg_copy_tool_dependencies.md b/docs/maintainers/vcpkg_copy_tool_dependencies.md deleted file mode 100644 index d34fa5d602c040..00000000000000 --- a/docs/maintainers/vcpkg_copy_tool_dependencies.md +++ /dev/null @@ -1,23 +0,0 @@ -# vcpkg_copy_tool_dependencies - -The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/vcpkg_copy_tool_dependencies.md). - -Copy all DLL dependencies of built tools into the tool folder. - -## Usage -```cmake -vcpkg_copy_tool_dependencies(<${CURRENT_PACKAGES_DIR}/tools/${PORT}>) -``` -## Parameters -The path to the directory containing the tools. - -## Notes -This command should always be called by portfiles after they have finished rearranging the binary output, if they have any tools. - -## Examples - -* [glib](https://github.com/Microsoft/vcpkg/blob/master/ports/glib/portfile.cmake) -* [fltk](https://github.com/Microsoft/vcpkg/blob/master/ports/fltk/portfile.cmake) - -## Source -[scripts/cmake/vcpkg\_copy\_tool\_dependencies.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_copy_tool_dependencies.cmake) diff --git a/docs/maintainers/vcpkg_copy_tools.md b/docs/maintainers/vcpkg_copy_tools.md deleted file mode 100644 index e5a950bde3c17d..00000000000000 --- a/docs/maintainers/vcpkg_copy_tools.md +++ /dev/null @@ -1,36 +0,0 @@ -# vcpkg_copy_tools - -The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/vcpkg_copy_tools.md). - -Copy tools and all their DLL dependencies into the `tools` folder. - -## Usage -```cmake -vcpkg_copy_tools( - TOOL_NAMES ... - [SEARCH_DIR <${CURRENT_PACKAGES_DIR}/bin>] - [DESTINATION <${CURRENT_PACKAGES_DIR}/tools/${PORT}>] - [AUTO_CLEAN] -) -``` -## Parameters -### TOOL_NAMES -A list of tool filenames without extension. - -### SEARCH_DIR -The path to the directory containing the tools. This will be set to `${CURRENT_PACKAGES_DIR}/bin` if omitted. - -### DESTINATION -Destination to copy the tools to. This will be set to `${CURRENT_PACKAGES_DIR}/tools/${PORT}` if omitted. - -### AUTO_CLEAN -Auto clean the copied executables from `${CURRENT_PACKAGES_DIR}/bin` and `${CURRENT_PACKAGES_DIR}/debug/bin`. - -## Examples - -* [cpuinfo](https://github.com/microsoft/vcpkg/blob/master/ports/cpuinfo/portfile.cmake) -* [nanomsg](https://github.com/microsoft/vcpkg/blob/master/ports/nanomsg/portfile.cmake) -* [uriparser](https://github.com/microsoft/vcpkg/blob/master/ports/uriparser/portfile.cmake) - -## Source -[scripts/cmake/vcpkg\_copy\_tools.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_copy_tools.cmake) diff --git a/docs/maintainers/vcpkg_download_distfile.md b/docs/maintainers/vcpkg_download_distfile.md deleted file mode 100644 index 62fde14553073b..00000000000000 --- a/docs/maintainers/vcpkg_download_distfile.md +++ /dev/null @@ -1,62 +0,0 @@ -# vcpkg_download_distfile - -The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/vcpkg_download_distfile.md). - -Download and cache a file needed for this port. - -This helper should always be used instead of CMake's built-in `file(DOWNLOAD)` command. - -## Usage -```cmake -vcpkg_download_distfile( - - URLS ... - FILENAME - SHA512 <5981de...> - [ALWAYS_REDOWNLOAD] -) -``` -## Parameters -### OUT_VARIABLE -This variable will be set to the full path to the downloaded file. This can then immediately be passed in to [`vcpkg_extract_source_archive`](vcpkg_extract_source_archive.md) for sources. - -### URLS -A list of URLs to be consulted. They will be tried in order until one of the downloaded files successfully matches the SHA512 given. - -### FILENAME -The local name for the file. Files are shared between ports, so the file may need to be renamed to make it clearly attributed to this port and avoid conflicts. - -### SHA512 -The expected hash for the file. - -If this doesn't match the downloaded version, the build will be terminated with a message describing the mismatch. - -### QUIET -Suppress output on cache hit - -### SKIP_SHA512 -Skip SHA512 hash check for file. - -This switch is only valid when building with the `--head` command line flag. - -### ALWAYS_REDOWNLOAD -Avoid caching; this is a REST call or otherwise unstable. - -Requires `SKIP_SHA512`. - -### HEADERS -A list of headers to append to the download request. This can be used for authentication during a download. - -Headers should be specified as ": ". - -## Notes -The helper [`vcpkg_from_github`](vcpkg_from_github.md) should be used for downloading from GitHub projects. - -## Examples - -* [apr](https://github.com/Microsoft/vcpkg/blob/master/ports/apr/portfile.cmake) -* [fontconfig](https://github.com/Microsoft/vcpkg/blob/master/ports/fontconfig/portfile.cmake) -* [freetype](https://github.com/Microsoft/vcpkg/blob/master/ports/freetype/portfile.cmake) - -## Source -[scripts/cmake/vcpkg\_download\_distfile.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_download_distfile.cmake) diff --git a/docs/maintainers/vcpkg_execute_build_process.md b/docs/maintainers/vcpkg_execute_build_process.md deleted file mode 100644 index 7eb6f8d46f950e..00000000000000 --- a/docs/maintainers/vcpkg_execute_build_process.md +++ /dev/null @@ -1,38 +0,0 @@ -# vcpkg_execute_build_process - -The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/vcpkg_execute_build_process.md). - -Execute a required build process - -## Usage -```cmake -vcpkg_execute_build_process( - COMMAND [...] - [NO_PARALLEL_COMMAND [...]] - WORKING_DIRECTORY - LOGNAME -) -``` -## Parameters -### COMMAND -The command to be executed, along with its arguments. - -### NO_PARALLEL_COMMAND -Optional parameter which specifies a non-parallel command to attempt if a -failure potentially due to parallelism is detected. - -### WORKING_DIRECTORY -The directory to execute the command in. - -### LOGNAME -The prefix to use for the log files. - -This should be a unique name for different triplets so that the logs don't -conflict when building multiple at once. - -## Examples - -* [icu](https://github.com/Microsoft/vcpkg/blob/master/ports/icu/portfile.cmake) - -## Source -[scripts/cmake/vcpkg\_execute\_build\_process.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_execute_build_process.cmake) diff --git a/docs/maintainers/vcpkg_execute_in_download_mode.md b/docs/maintainers/vcpkg_execute_in_download_mode.md deleted file mode 100644 index a9fb5bffb806c8..00000000000000 --- a/docs/maintainers/vcpkg_execute_in_download_mode.md +++ /dev/null @@ -1,21 +0,0 @@ -# vcpkg_execute_in_download_mode - -The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/vcpkg_execute_in_download_mode.md). - -Execute a process even in download mode. - -## Usage -```cmake -vcpkg_execute_in_download_mode( - ... -) -``` - -The signature of this function is identical to `execute_process()`. - -See [`execute_process()`] for more details. - -[`execute_process()`]: https://cmake.org/cmake/help/latest/command/execute_process.html - -## Source -[scripts/cmake/vcpkg\_execute\_in\_download\_mode.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_execute_in_download_mode.cmake) diff --git a/docs/maintainers/vcpkg_execute_required_process.md b/docs/maintainers/vcpkg_execute_required_process.md deleted file mode 100644 index b00c97260f2ad3..00000000000000 --- a/docs/maintainers/vcpkg_execute_required_process.md +++ /dev/null @@ -1,51 +0,0 @@ -# vcpkg_execute_required_process - -The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/vcpkg_execute_required_process.md). - -Execute a process with logging and fail the build if the command fails. - -## Usage -```cmake -vcpkg_execute_required_process( - COMMAND <${PERL}> [...] - WORKING_DIRECTORY <${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg> - LOGNAME - [TIMEOUT ] - [OUTPUT_VARIABLE ] - [ERROR_VARIABLE ] -) -``` -## Parameters -### ALLOW_IN_DOWNLOAD_MODE -Allows the command to execute in Download Mode. -[See execute_process() override](../../scripts/cmake/execute_process.cmake). - -### COMMAND -The command to be executed, along with its arguments. - -### WORKING_DIRECTORY -The directory to execute the command in. - -### LOGNAME -The prefix to use for the log files. - -### TIMEOUT -Optional timeout after which to terminate the command. - -### OUTPUT_VARIABLE -Optional variable to receive stdout of the command. - -### ERROR_VARIABLE -Optional variable to receive stderr of the command. - -This should be a unique name for different triplets so that the logs don't conflict when building multiple at once. - -## Examples - -* [ffmpeg](https://github.com/Microsoft/vcpkg/blob/master/ports/ffmpeg/portfile.cmake) -* [openssl](https://github.com/Microsoft/vcpkg/blob/master/ports/openssl/portfile.cmake) -* [boost](https://github.com/Microsoft/vcpkg/blob/master/ports/boost/portfile.cmake) -* [qt5](https://github.com/Microsoft/vcpkg/blob/master/ports/qt5/portfile.cmake) - -## Source -[scripts/cmake/vcpkg\_execute\_required\_process.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_execute_required_process.cmake) diff --git a/docs/maintainers/vcpkg_execute_required_process_repeat.md b/docs/maintainers/vcpkg_execute_required_process_repeat.md deleted file mode 100644 index 22dcfc4afbe827..00000000000000 --- a/docs/maintainers/vcpkg_execute_required_process_repeat.md +++ /dev/null @@ -1,19 +0,0 @@ -# vcpkg_execute_required_process_repeat - -The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/vcpkg_execute_required_process_repeat.md). - -Execute a process until the command succeeds, or until the COUNT is reached. - -## Usage -```cmake -vcpkg_execute_required_process_repeat( - COMMAND [] - COUNT - WORKING_DIRECTORY - LOGNAME - [ALLOW_IN_DOWNLOAD_MODE] -) -``` - -## Source -[scripts/cmake/vcpkg\_execute\_required\_process\_repeat.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_execute_required_process_repeat.cmake) diff --git a/docs/maintainers/vcpkg_extract_source_archive.md b/docs/maintainers/vcpkg_extract_source_archive.md deleted file mode 100644 index 1d807edc8eb706..00000000000000 --- a/docs/maintainers/vcpkg_extract_source_archive.md +++ /dev/null @@ -1,81 +0,0 @@ -# vcpkg_extract_source_archive - -The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/vcpkg_extract_source_archive.md). - -Extract an archive into the source directory. - -## Usage -There are two "overloads" of this function. The first is deprecated: - -```cmake -vcpkg_extract_source_archive(<${ARCHIVE}> [<${TARGET_DIRECTORY}>]) -``` - -This overload should not be used. - -The latter is suggested to use for all future `vcpkg_extract_source_archive`s. - -```cmake -vcpkg_extract_source_archive( - ARCHIVE - [NO_REMOVE_ONE_LEVEL] - [PATCHES ...] - [SOURCE_BASE ] - [BASE_DIRECTORY | WORKING_DIRECTORY ] -) -``` - -`vcpkg_extract_source_archive` takes an archive and extracts it. -It replaces existing uses of `vcpkg_extract_source_archive_ex`. -The simplest use of it is: - -```cmake -vcpkg_download_distfile(archive ...) -vcpkg_extract_source_archive(source_path ARCHIVE "${archive}") -``` - -The general expectation is that an archives are laid out with a base directory, -and all the actual files underneath that directory; in other words, if you -extract the archive, you'll get something that looks like: - -``` -zlib-1.2.11/ - doc/ - ... - examples/ - ... - ChangeLog - CMakeLists.txt - README - zlib.h - ... -``` - -`vcpkg_extract_source_archive` automatically removes this directory, -and gives you the items under it directly. However, this only works -when there is exactly one item in the top level of an archive. -Otherwise, you'll have to pass the `NO_REMOVE_ONE_LEVEL` argument to -prevent `vcpkg_extract_source_archive` from performing this transformation. - -If the source needs to be patched in some way, the `PATCHES` argument -allows one to do this, just like other `vcpkg_from_*` functions. - -`vcpkg_extract_source_archive` extracts the files to -`${CURRENT_BUILDTREES_DIR}//-.clean`. -When in editable mode, no `.clean` is appended, -to allow for a user to modify the sources. -`base-directory` defaults to `src`, -and `source-base` defaults to the stem of ``. -You can change these via the `BASE_DIRECTORY` and `SOURCE_BASE` arguments -respectively. -If you need to extract to a location that is not based in `CURRENT_BUILDTREES_DIR`, -you can use the `WORKING_DIRECTORY` argument to do the same. - -## Examples - -* [libraw](https://github.com/Microsoft/vcpkg/blob/master/ports/libraw/portfile.cmake) -* [protobuf](https://github.com/Microsoft/vcpkg/blob/master/ports/protobuf/portfile.cmake) -* [msgpack](https://github.com/Microsoft/vcpkg/blob/master/ports/msgpack/portfile.cmake) - -## Source -[scripts/cmake/vcpkg\_extract\_source\_archive.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_extract_source_archive.cmake) diff --git a/docs/maintainers/vcpkg_extract_source_archive_ex.md b/docs/maintainers/vcpkg_extract_source_archive_ex.md deleted file mode 100644 index 72b45d87cf6a8c..00000000000000 --- a/docs/maintainers/vcpkg_extract_source_archive_ex.md +++ /dev/null @@ -1,26 +0,0 @@ -# vcpkg_extract_source_archive_ex - -The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/vcpkg_extract_source_archive_ex.md). - -Extract an archive into the source directory. -Originally replaced [`vcpkg_extract_source_archive()`], -but new ports should instead use the second overload of -[`vcpkg_extract_source_archive()`]. - -## Usage -```cmake -vcpkg_extract_source_archive_ex( - [OUT_SOURCE_PATH ] - ... -) -``` - -See the documentation for [`vcpkg_extract_source_archive()`] for other parameters. -Additionally, `vcpkg_extract_source_archive_ex()` adds the `REF` and `WORKING_DIRECTORY` -parameters, which are wrappers around `SOURCE_BASE` and `BASE_DIRECTORY` -respectively. - -[`vcpkg_extract_source_archive()`]: vcpkg_extract_source_archive.md - -## Source -[scripts/cmake/vcpkg\_extract\_source\_archive\_ex.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_extract_source_archive_ex.cmake) diff --git a/docs/maintainers/vcpkg_fail_port_install.md b/docs/maintainers/vcpkg_fail_port_install.md deleted file mode 100644 index f729b19a356891..00000000000000 --- a/docs/maintainers/vcpkg_fail_port_install.md +++ /dev/null @@ -1,43 +0,0 @@ -# vcpkg_fail_port_install - -The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/vcpkg_fail_port_install.md). - -Checks common requirements and fails the current portfile with a (default) error message - -## Usage -```cmake -vcpkg_fail_port_install( - [ALWAYS] - [MESSAGE <"Reason for failure">] - [ON_TARGET [ ...]] - [ON_ARCH [ ...]] - [ON_CRT_LINKAGE [ ...]]) - [ON_LIBRARY_LINKAGE [ ...]] -) -``` - -## Parameters -### MESSAGE -Additional failure message. If none is given, a default message will be displayed depending on the failure condition. - -### ALWAYS -Will always fail early - -### ON_TARGET -Targets for which the build should fail early. Valid targets are `` from `VCPKG_IS_TARGET_` (see `vcpkg_common_definitions.cmake`). - -### ON_ARCH -Architecture for which the build should fail early. - -### ON_CRT_LINKAGE -CRT linkage for which the build should fail early. - -### ON_LIBRARY_LINKAGE -Library linkage for which the build should fail early. - -## Examples - -* [aws-lambda-cpp](https://github.com/Microsoft/vcpkg/blob/master/ports/aws-lambda-cpp/portfile.cmake) - -## Source -[scripts/cmake/vcpkg\_fail\_port\_install.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_fail_port_install.cmake) diff --git a/docs/maintainers/vcpkg_find_acquire_program.md b/docs/maintainers/vcpkg_find_acquire_program.md deleted file mode 100644 index 1e8a9b8bb8578c..00000000000000 --- a/docs/maintainers/vcpkg_find_acquire_program.md +++ /dev/null @@ -1,51 +0,0 @@ -# vcpkg_find_acquire_program - -The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/vcpkg_find_acquire_program.md). - -Download or find a well-known tool. - -## Usage -```cmake -vcpkg_find_acquire_program() -``` -## Parameters -### program -This variable specifies both the program to be acquired as well as the out parameter that will be set to the path of the program executable. - -## Notes -The current list of programs includes: - -* 7Z -* ARIA2 (Downloader) -* BISON -* CLANG -* DARK -* DOXYGEN -* FLEX -* GASPREPROCESSOR -* GPERF -* PERL -* PYTHON2 -* PYTHON3 -* GIT -* GN -* GO -* JOM -* MESON -* NASM -* NINJA -* NUGET -* SCONS -* SWIG -* YASM - -Note that msys2 has a dedicated helper function: [`vcpkg_acquire_msys`](vcpkg_acquire_msys.md). - -## Examples - -* [ffmpeg](https://github.com/Microsoft/vcpkg/blob/master/ports/ffmpeg/portfile.cmake) -* [openssl](https://github.com/Microsoft/vcpkg/blob/master/ports/openssl/portfile.cmake) -* [qt5](https://github.com/Microsoft/vcpkg/blob/master/ports/qt5/portfile.cmake) - -## Source -[scripts/cmake/vcpkg\_find\_acquire\_program.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_find_acquire_program.cmake) diff --git a/docs/maintainers/vcpkg_find_fortran.md b/docs/maintainers/vcpkg_find_fortran.md deleted file mode 100644 index 227c1c8372a2a3..00000000000000 --- a/docs/maintainers/vcpkg_find_fortran.md +++ /dev/null @@ -1,25 +0,0 @@ -# vcpkg_find_fortran - -The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/vcpkg_find_fortran.md). - -Checks if a Fortran compiler can be found. -Windows(x86/x64) Only: If not it will switch/enable MinGW gfortran - and return required cmake args for building. - -## Usage -```cmake -vcpkg_find_fortran() -``` - -## Example -```cmake -vcpkg_find_fortran(fortran_args) -# ... -vcpkg_configure_cmake(... - OPTIONS - ${fortran_args} -) -``` - -## Source -[scripts/cmake/vcpkg\_find\_fortran.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_find_fortran.cmake) diff --git a/docs/maintainers/vcpkg_fixup_cmake_targets.md b/docs/maintainers/vcpkg_fixup_cmake_targets.md deleted file mode 100644 index b9ca9c4d7d3ed6..00000000000000 --- a/docs/maintainers/vcpkg_fixup_cmake_targets.md +++ /dev/null @@ -1,62 +0,0 @@ -# vcpkg_fixup_cmake_targets - -**This function has been deprecated in favor of [`vcpkg_cmake_config_fixup`](ports/vcpkg-cmake-config/vcpkg_cmake_config_fixup.md) from the vcpkg-cmake-config port.** - -The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/vcpkg_fixup_cmake_targets.md). - -Merge release and debug CMake targets and configs to support multiconfig generators. - -Additionally corrects common issues with targets, such as absolute paths and incorrectly placed binaries. - -## Usage -```cmake -vcpkg_fixup_cmake_targets([CONFIG_PATH ] - [TARGET_PATH ] - [TOOLS_PATH ] - [DO_NOT_DELETE_PARENT_CONFIG_PATH]) -``` - -## Parameters - -### CONFIG_PATH -Subpath currently containing `*.cmake` files subdirectory (like `lib/cmake/${PORT}`). Should be relative to `${CURRENT_PACKAGES_DIR}`. - -Defaults to `share/${PORT}`. - -### TARGET_PATH -Subpath to which the above `*.cmake` files should be moved. Should be relative to `${CURRENT_PACKAGES_DIR}`. -This needs to be specified if the port name differs from the `find_package()` name. - -Defaults to `share/${PORT}`. - -### DO_NOT_DELETE_PARENT_CONFIG_PATH -By default the parent directory of CONFIG_PATH is removed if it is named "cmake". -Passing this option disable such behavior, as it is convenient for ports that install -more than one CMake package configuration file. - -### NO_PREFIX_CORRECTION -Disables the correction of_IMPORT_PREFIX done by vcpkg due to moving the targets. -Currently the correction does not take into account how the files are moved and applies -I rather simply correction which in some cases will yield the wrong results. - -### TOOLS_PATH -Define the base path to tools. Default: `tools/` - -## Notes -Transform all `/debug//*targets-debug.cmake` files and move them to `/`. -Removes all `/debug//*targets.cmake` and `/debug//*config.cmake`. - -Transform all references matching `/bin/*.exe` to `/${TOOLS_PATH}/*.exe` on Windows. -Transform all references matching `/bin/*` to `/${TOOLS_PATH}/*` on other platforms. - -Fix `${_IMPORT_PREFIX}` in auto generated targets to be one folder deeper. -Replace `${CURRENT_INSTALLED_DIR}` with `${_IMPORT_PREFIX}` in configs and targets. - -## Examples - -* [concurrentqueue](https://github.com/Microsoft/vcpkg/blob/master/ports/concurrentqueue/portfile.cmake) -* [curl](https://github.com/Microsoft/vcpkg/blob/master/ports/curl/portfile.cmake) -* [nlohmann-json](https://github.com/Microsoft/vcpkg/blob/master/ports/nlohmann-json/portfile.cmake) - -## Source -[scripts/cmake/vcpkg\_fixup\_cmake\_targets.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_fixup_cmake_targets.cmake) diff --git a/docs/maintainers/vcpkg_fixup_pkgconfig.md b/docs/maintainers/vcpkg_fixup_pkgconfig.md deleted file mode 100644 index e94453d7298489..00000000000000 --- a/docs/maintainers/vcpkg_fixup_pkgconfig.md +++ /dev/null @@ -1,49 +0,0 @@ -# vcpkg_fixup_pkgconfig - -The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/vcpkg_fixup_pkgconfig.md). - -Fix common paths in *.pc files and make everything relative to $(prefix). -Additionally, on static triplets, private entries are merged with their non-private counterparts, -allowing pkg-config to be called without the ``--static`` flag. -Note that vcpkg is designed to never have to call pkg-config with the ``--static`` flag, -since a consumer cannot know if a dependent library has been built statically or not. - -## Usage -```cmake -vcpkg_fixup_pkgconfig( - [RELEASE_FILES ...] - [DEBUG_FILES ...] - [SKIP_CHECK] -) -``` - -## Parameters -### RELEASE_FILES -Specifies a list of files to apply the fixes for release paths. -Defaults to every *.pc file in the folder ${CURRENT_PACKAGES_DIR} without ${CURRENT_PACKAGES_DIR}/debug/ - -### DEBUG_FILES -Specifies a list of files to apply the fixes for debug paths. -Defaults to every *.pc file in the folder ${CURRENT_PACKAGES_DIR}/debug/ - -### SKIP_CHECK -Skips the library checks in vcpkg_fixup_pkgconfig. Only use if the script itself has unhandled cases. - -### SYSTEM_PACKAGES (deprecated) -This argument has been deprecated and has no effect. - -### SYSTEM_LIBRARIES (deprecated) -This argument has been deprecated and has no effect. - -### IGNORE_FLAGS (deprecated) -This argument has been deprecated and has no effect. - -## Notes -Still work in progress. If there are more cases which can be handled here feel free to add them - -## Examples - -* [brotli](https://github.com/Microsoft/vcpkg/blob/master/ports/brotli/portfile.cmake) - -## Source -[scripts/cmake/vcpkg\_fixup\_pkgconfig.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_fixup_pkgconfig.cmake) diff --git a/docs/maintainers/vcpkg_from_bitbucket.md b/docs/maintainers/vcpkg_from_bitbucket.md deleted file mode 100644 index 944d7769c9bfe3..00000000000000 --- a/docs/maintainers/vcpkg_from_bitbucket.md +++ /dev/null @@ -1,60 +0,0 @@ -# vcpkg_from_bitbucket - -The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/vcpkg_from_bitbucket.md). - -Download and extract a project from Bitbucket. - -## Usage: -```cmake -vcpkg_from_bitbucket( - OUT_SOURCE_PATH - REPO - [REF ] - [SHA512 <45d0d7f8cc350...>] - [HEAD_REF ] - [PATCHES ...] -) -``` - -## Parameters: -### OUT_SOURCE_PATH -Specifies the out-variable that will contain the extracted location. - -This should be set to `SOURCE_PATH` by convention. - -### REPO -The organization or user and repository on GitHub. - -### REF -A stable git commit-ish (ideally a tag) that will not change contents. **This should not be a branch.** - -For repositories without official releases, this can be set to the full commit id of the current latest master. - -If `REF` is specified, `SHA512` must also be specified. - -### SHA512 -The SHA512 hash that should match the archive (https://bitbucket.com/${REPO}/get/${REF}.tar.gz). - -This is most easily determined by first setting it to `0`, then trying to build the port. The error message will contain the full hash, which can be copied back into the portfile. - -### HEAD_REF -The unstable git commit-ish (ideally a branch) to pull for `--head` builds. - -For most projects, this should be `master`. The chosen branch should be one that is expected to be always buildable on all supported platforms. - -### PATCHES -A list of patches to be applied to the extracted sources. - -Relative paths are based on the port directory. - -## Notes: -At least one of `REF` and `HEAD_REF` must be specified, however it is preferable for both to be present. - -This exports the `VCPKG_HEAD_VERSION` variable during head builds. - -## Examples: - -* [blaze](https://github.com/Microsoft/vcpkg/blob/master/ports/blaze/portfile.cmake) - -## Source -[scripts/cmake/vcpkg\_from\_bitbucket.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_from_bitbucket.cmake) diff --git a/docs/maintainers/vcpkg_from_git.md b/docs/maintainers/vcpkg_from_git.md deleted file mode 100644 index de56c605459801..00000000000000 --- a/docs/maintainers/vcpkg_from_git.md +++ /dev/null @@ -1,53 +0,0 @@ -# vcpkg_from_git - -The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/vcpkg_from_git.md). - -Download and extract a project from git - -## Usage: -```cmake -vcpkg_from_git( - OUT_SOURCE_PATH - URL - REF <59f7335e4d...> - [HEAD_REF ] - [PATCHES ...] -) -``` - -## Parameters: -### OUT_SOURCE_PATH -Specifies the out-variable that will contain the extracted location. - -This should be set to `SOURCE_PATH` by convention. - -### URL -The url of the git repository. - -### REF -The git sha of the commit to download. - -### FETCH_REF -The git branch to fetch in non-HEAD mode. After this is fetched, -then `REF` is checked out. This is useful in cases where the git server -does not allow checking out non-advertised objects. - -### HEAD_REF -The git branch to use when the package is requested to be built from the latest sources. - -Example: `main`, `develop`, `HEAD` - -### PATCHES -A list of patches to be applied to the extracted sources. - -Relative paths are based on the port directory. - -## Notes: -`OUT_SOURCE_PATH`, `REF`, and `URL` must be specified. - -## Examples: - -* [fdlibm](https://github.com/Microsoft/vcpkg/blob/master/ports/fdlibm/portfile.cmake) - -## Source -[scripts/cmake/vcpkg\_from\_git.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_from_git.cmake) diff --git a/docs/maintainers/vcpkg_from_github.md b/docs/maintainers/vcpkg_from_github.md deleted file mode 100644 index 52ef5cbd99dd37..00000000000000 --- a/docs/maintainers/vcpkg_from_github.md +++ /dev/null @@ -1,76 +0,0 @@ -# vcpkg_from_github - -The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/vcpkg_from_github.md). - -Download and extract a project from GitHub. Enables support for `install --head`. - -## Usage: -```cmake -vcpkg_from_github( - OUT_SOURCE_PATH - REPO - [REF ] - [SHA512 <45d0d7f8cc350...>] - [HEAD_REF ] - [PATCHES ...] - [GITHUB_HOST ] - [AUTHORIZATION_TOKEN <${SECRET_FROM_FILE}>] - [FILE_DISAMBIGUATOR ] -) -``` - -## Parameters: -### OUT_SOURCE_PATH -Specifies the out-variable that will contain the extracted location. - -This should be set to `SOURCE_PATH` by convention. - -### REPO -The organization or user and repository on GitHub. - -### REF -A stable git commit-ish (ideally a tag or commit) that will not change contents. **This should not be a branch.** - -For repositories without official releases, this can be set to the full commit id of the current latest master. - -If `REF` is specified, `SHA512` must also be specified. - -### SHA512 -The SHA512 hash that should match the archive (https://github.com/${REPO}/archive/${REF}.tar.gz). - -This is most easily determined by first setting it to `0`, then trying to build the port. The error message will contain the full hash, which can be copied back into the portfile. - -### HEAD_REF -The unstable git commit-ish (ideally a branch) to pull for `--head` builds. - -For most projects, this should be `master`. The chosen branch should be one that is expected to be always buildable on all supported platforms. - -### PATCHES -A list of patches to be applied to the extracted sources. - -Relative paths are based on the port directory. - -### GITHUB_HOST -A replacement host for enterprise GitHub instances. - -This field should contain the scheme, host, and port of the desired URL without a trailing slash. - -### AUTHORIZATION_TOKEN -A token to be passed via the Authorization HTTP header as "token ${AUTHORIZATION_TOKEN}". - -### FILE_DISAMBIGUATOR -A token to uniquely identify the resulting filename if the SHA512 changes even though a git ref does not, to avoid stepping on the same file name. - -## Notes: -At least one of `REF` and `HEAD_REF` must be specified, however it is preferable for both to be present. - -This exports the `VCPKG_HEAD_VERSION` variable during head builds. - -## Examples: - -* [cpprestsdk](https://github.com/Microsoft/vcpkg/blob/master/ports/cpprestsdk/portfile.cmake) -* [ms-gsl](https://github.com/Microsoft/vcpkg/blob/master/ports/ms-gsl/portfile.cmake) -* [boost-beast](https://github.com/Microsoft/vcpkg/blob/master/ports/boost-beast/portfile.cmake) - -## Source -[scripts/cmake/vcpkg\_from\_github.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_from_github.cmake) diff --git a/docs/maintainers/vcpkg_from_gitlab.md b/docs/maintainers/vcpkg_from_gitlab.md deleted file mode 100644 index b49453da40d5ed..00000000000000 --- a/docs/maintainers/vcpkg_from_gitlab.md +++ /dev/null @@ -1,71 +0,0 @@ -# vcpkg_from_gitlab - -The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/vcpkg_from_gitlab.md). - -Download and extract a project from Gitlab instances. Enables support for `install --head`. - -## Usage: -```cmake -vcpkg_from_gitlab( - GITLAB_URL - OUT_SOURCE_PATH - REPO - [REF ] - [SHA512 <45d0d7f8cc350...>] - [HEAD_REF ] - [PATCHES ...] - [FILE_DISAMBIGUATOR ] -) -``` - -## Parameters: - -### GITLAB_URL -The URL of the Gitlab instance to use. - -### OUT_SOURCE_PATH -Specifies the out-variable that will contain the extracted location. - -This should be set to `SOURCE_PATH` by convention. - -### REPO -The organization or user plus the repository name on the Gitlab instance. - -### REF -A stable git commit-ish (ideally a tag) that will not change contents. **This should not be a branch.** - -For repositories without official releases, this can be set to the full commit id of the current latest master. - -If `REF` is specified, `SHA512` must also be specified. - -### SHA512 -The SHA512 hash that should match the archive (${GITLAB_URL}/${REPO}/-/archive/${REF}/${REPO_NAME}-${REF}.tar.gz). -The REPO_NAME variable is parsed from the value of REPO. - -This is most easily determined by first setting it to `0`, then trying to build the port. The error message will contain the full hash, which can be copied back into the portfile. - -### HEAD_REF -The unstable git commit-ish (ideally a branch) to pull for `--head` builds. - -For most projects, this should be `master`. The chosen branch should be one that is expected to be always buildable on all supported platforms. - -### PATCHES -A list of patches to be applied to the extracted sources. - -Relative paths are based on the port directory. - -### FILE_DISAMBIGUATOR -A token to uniquely identify the resulting filename if the SHA512 changes even though a git ref does not, to avoid stepping on the same file name. - -## Notes: -At least one of `REF` and `HEAD_REF` must be specified, however it is preferable for both to be present. - -This exports the `VCPKG_HEAD_VERSION` variable during head builds. - -## Examples: -* [curl][https://github.com/Microsoft/vcpkg/blob/master/ports/curl/portfile.cmake#L75] -* [folly](https://github.com/Microsoft/vcpkg/blob/master/ports/folly/portfile.cmake#L15) -* [z3](https://github.com/Microsoft/vcpkg/blob/master/ports/z3/portfile.cmake#L13) - -## Source -[scripts/cmake/vcpkg\_from\_gitlab.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_from_gitlab.cmake) diff --git a/docs/maintainers/vcpkg_from_sourceforge.md b/docs/maintainers/vcpkg_from_sourceforge.md deleted file mode 100644 index 88379a8e21bae6..00000000000000 --- a/docs/maintainers/vcpkg_from_sourceforge.md +++ /dev/null @@ -1,73 +0,0 @@ -# vcpkg_from_sourceforge - -The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/vcpkg_from_sourceforge.md). - -Download and extract a project from sourceforge. - -This function automatically checks a set of sourceforge mirrors. -Additional mirrors can be injected through the `VCPKG_SOURCEFORGE_EXTRA_MIRRORS` -list variable in the triplet. - -## Usage: -```cmake -vcpkg_from_sourceforge( - OUT_SOURCE_PATH SOURCE_PATH - REPO - [REF <2.1-3>] - SHA512 <547b417109332...> - FILENAME - [DISABLE_SSL] - [NO_REMOVE_ONE_LEVEL] - [PATCHES ...] -) -``` - -## Parameters: -### OUT_SOURCE_PATH -Specifies the out-variable that will contain the extracted location. - -This should be set to `SOURCE_PATH` by convention. - -### REPO -The organization or user and repository (optional) on sourceforge. - -### REF -A stable version number that will not change contents. - -### FILENAME -The local name for the file. Files are shared between ports, so the file may need to be renamed to make it clearly attributed to this port and avoid conflicts. - -For example, we can get the download link: -https://sourceforge.net/settings/mirror_choices?projectname=mad&filename=libmad/0.15.1b/libmad-0.15.1b.tar.gz&selected=nchc -So the REPO is `mad/libmad`, the REF is `0.15.1b`, and the FILENAME is `libmad-0.15.1b.tar.gz` - -For some special links: -https://sourceforge.net/settings/mirror_choices?projectname=soxr&filename=soxr-0.1.3-Source.tar.xz&selected=nchc -The REPO is `soxr`, REF is not exist, and the FILENAME is `soxr-0.1.3-Source.tar.xz` - -### SHA512 -The SHA512 hash that should match the archive. - -This is most easily determined by first setting it to `0`, then trying to build the port. The error message will contain the full hash, which can be copied back into the portfile. - -### WORKING_DIRECTORY -If specified, the archive will be extracted into the working directory instead of `${CURRENT_BUILDTREES_DIR}/src/`. - -Note that the archive will still be extracted into a subfolder underneath that directory (`${WORKING_DIRECTORY}/${REF}-${HASH}/`). - -### PATCHES -A list of patches to be applied to the extracted sources. - -Relative paths are based on the port directory. - -### NO_REMOVE_ONE_LEVEL -Specifies that the default removal of the top level folder should not occur. - -## Examples: - -* [cunit](https://github.com/Microsoft/vcpkg/blob/master/ports/cunit/portfile.cmake) -* [polyclipping](https://github.com/Microsoft/vcpkg/blob/master/ports/polyclipping/portfile.cmake) -* [tinyfiledialogs](https://github.com/Microsoft/vcpkg/blob/master/ports/tinyfiledialogs/portfile.cmake) - -## Source -[scripts/cmake/vcpkg\_from\_sourceforge.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_from_sourceforge.cmake) diff --git a/docs/maintainers/vcpkg_get_program_files_platform_bitness.md b/docs/maintainers/vcpkg_get_program_files_platform_bitness.md deleted file mode 100644 index ed74869b805ef5..00000000000000 --- a/docs/maintainers/vcpkg_get_program_files_platform_bitness.md +++ /dev/null @@ -1,15 +0,0 @@ -# vcpkg_get_program_files_platform_bitness - -The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/vcpkg_get_program_files_platform_bitness.md). - -Get the Program Files directory of the current platform's bitness: -either `$ENV{ProgramW6432}` on 64-bit windows, -or `$ENV{PROGRAMFILES}` on 32-bit windows. - -## Usage: -```cmake -vcpkg_get_program_files_platform_bitness() -``` - -## Source -[scripts/cmake/vcpkg\_get\_program\_files\_platform\_bitness.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_get_program_files_platform_bitness.cmake) diff --git a/docs/maintainers/vcpkg_get_windows_sdk.md b/docs/maintainers/vcpkg_get_windows_sdk.md deleted file mode 100644 index d3a3ee81757087..00000000000000 --- a/docs/maintainers/vcpkg_get_windows_sdk.md +++ /dev/null @@ -1,13 +0,0 @@ -# vcpkg_get_windows_sdk - -The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/vcpkg_get_windows_sdk.md). - -Get the Windows SDK number. - -## Usage: -```cmake -vcpkg_get_windows_sdk() -``` - -## Source -[scripts/cmake/vcpkg\_get\_windows\_sdk.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_get_windows_sdk.cmake) diff --git a/docs/maintainers/vcpkg_host_path_list.md b/docs/maintainers/vcpkg_host_path_list.md deleted file mode 100644 index d3f19988988c9e..00000000000000 --- a/docs/maintainers/vcpkg_host_path_list.md +++ /dev/null @@ -1,29 +0,0 @@ -# vcpkg_host_path_list - -The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/vcpkg_host_path_list.md). - -Modify a host path list variable (PATH, INCLUDE, LIBPATH, etc.) - -```cmake -vcpkg_host_path_list(PREPEND [...]) -vcpkg_host_path_list(APPEND [...]) -vcpkg_host_path_list(SET [...]) -``` - -`` may be either a regular variable name, or `ENV{variable-name}`, -in which case `vcpkg_host_path_list` will modify the environment. - -`vcpkg_host_path_list` adds all of the paths passed to it to ``; -`PREPEND` puts them before the existing list, so that they are searched first; -`APPEND` places them after the existing list, -so they would be searched after the paths which are already in the variable, -and `SET` replaces the value of the existing list. - -For all of `APPEND`, `PREPEND`, and `SET`, -the paths are added (and thus searched) in the order received. - -If no paths are passed to `APPEND` or `PREPEND`, nothing will be done; -for `SET`, the variable will be set to the empty string. - -## Source -[scripts/cmake/vcpkg\_host\_path\_list.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_host_path_list.cmake) diff --git a/docs/maintainers/vcpkg_install_cmake.md b/docs/maintainers/vcpkg_install_cmake.md deleted file mode 100644 index f8d3b6107b9bfb..00000000000000 --- a/docs/maintainers/vcpkg_install_cmake.md +++ /dev/null @@ -1,29 +0,0 @@ -# vcpkg_install_cmake - -**This function has been deprecated in favor of [`vcpkg_cmake_install`](ports/vcpkg-cmake/vcpkg_cmake_install.md) from the vcpkg-cmake port.** - -The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/vcpkg_install_cmake.md). - -Build and install a cmake project. - -## Usage: -```cmake -vcpkg_install_cmake(...) -``` - -## Parameters: -See [`vcpkg_build_cmake()`](vcpkg_build_cmake.md). - -## Notes: -This command transparently forwards to [`vcpkg_build_cmake()`](vcpkg_build_cmake.md), adding a `TARGET install` -parameter. - -## Examples: - -* [zlib](https://github.com/Microsoft/vcpkg/blob/master/ports/zlib/portfile.cmake) -* [cpprestsdk](https://github.com/Microsoft/vcpkg/blob/master/ports/cpprestsdk/portfile.cmake) -* [poco](https://github.com/Microsoft/vcpkg/blob/master/ports/poco/portfile.cmake) -* [opencv](https://github.com/Microsoft/vcpkg/blob/master/ports/opencv/portfile.cmake) - -## Source -[scripts/cmake/vcpkg\_install\_cmake.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_install_cmake.cmake) diff --git a/docs/maintainers/vcpkg_install_gn.md b/docs/maintainers/vcpkg_install_gn.md deleted file mode 100644 index a0134b4a1531cb..00000000000000 --- a/docs/maintainers/vcpkg_install_gn.md +++ /dev/null @@ -1,29 +0,0 @@ -# vcpkg_install_gn - -The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/vcpkg_install_gn.md). - -Installs a GN project. - -In order to build a GN project without installing, use [`vcpkg_build_ninja()`]. - -## Usage: -```cmake -vcpkg_install_gn( - SOURCE_PATH - [TARGETS ...] -) -``` - -## Parameters: -### SOURCE_PATH -The path to the source directory - -### TARGETS -Only install the specified targets. - -Note: includes must be handled separately - -[`vcpkg_build_ninja()`]: vcpkg_build_ninja.md - -## Source -[scripts/cmake/vcpkg\_install\_gn.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_install_gn.cmake) diff --git a/docs/maintainers/vcpkg_install_make.md b/docs/maintainers/vcpkg_install_make.md deleted file mode 100644 index 19f4b5ca8f1e3b..00000000000000 --- a/docs/maintainers/vcpkg_install_make.md +++ /dev/null @@ -1,26 +0,0 @@ -# vcpkg_install_make - -The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/vcpkg_install_make.md). - -Build and install a make project. - -## Usage: -```cmake -vcpkg_install_make(...) -``` - -## Parameters: -See [`vcpkg_build_make()`](vcpkg_build_make.md). - -## Notes: -This command transparently forwards to [`vcpkg_build_make()`](vcpkg_build_make.md), adding `ENABLE_INSTALL` - -## Examples - -* [x264](https://github.com/Microsoft/vcpkg/blob/master/ports/x264/portfile.cmake) -* [tcl](https://github.com/Microsoft/vcpkg/blob/master/ports/tcl/portfile.cmake) -* [freexl](https://github.com/Microsoft/vcpkg/blob/master/ports/freexl/portfile.cmake) -* [libosip2](https://github.com/Microsoft/vcpkg/blob/master/ports/libosip2/portfile.cmake) - -## Source -[scripts/cmake/vcpkg\_install\_make.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_install_make.cmake) diff --git a/docs/maintainers/vcpkg_install_meson.md b/docs/maintainers/vcpkg_install_meson.md deleted file mode 100644 index dcda9fb32a8e8a..00000000000000 --- a/docs/maintainers/vcpkg_install_meson.md +++ /dev/null @@ -1,22 +0,0 @@ -# vcpkg_install_meson - -The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/vcpkg_install_meson.md). - -Builds a meson project previously configured with `vcpkg_configure_meson()`. - -## Usage -```cmake -vcpkg_install_meson([ADD_BIN_TO_PATH]) -``` - -## Parameters: -### ADD_BIN_TO_PATH -Adds the appropriate Release and Debug `bin\` directories to the path during the build such that executables can run against the in-tree DLLs. - -## Examples - -* [fribidi](https://github.com/Microsoft/vcpkg/blob/master/ports/fribidi/portfile.cmake) -* [libepoxy](https://github.com/Microsoft/vcpkg/blob/master/ports/libepoxy/portfile.cmake) - -## Source -[scripts/cmake/vcpkg\_install\_meson.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_install_meson.cmake) diff --git a/docs/maintainers/vcpkg_install_msbuild.md b/docs/maintainers/vcpkg_install_msbuild.md deleted file mode 100644 index 8d0a31051aeff5..00000000000000 --- a/docs/maintainers/vcpkg_install_msbuild.md +++ /dev/null @@ -1,95 +0,0 @@ -# vcpkg_install_msbuild - -The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/vcpkg_install_msbuild.md). - -Build and install a msbuild-based project. This replaces `vcpkg_build_msbuild()`. - -## Usage -```cmake -vcpkg_install_msbuild( - SOURCE_PATH <${SOURCE_PATH}> - PROJECT_SUBPATH - [INCLUDES_SUBPATH ] - [LICENSE_SUBPATH ] - [RELEASE_CONFIGURATION ] - [DEBUG_CONFIGURATION ] - [TARGET ] - [TARGET_PLATFORM_VERSION <10.0.15063.0>] - [PLATFORM <${TRIPLET_SYSTEM_ARCH}>] - [PLATFORM_TOOLSET <${VCPKG_PLATFORM_TOOLSET}>] - [OPTIONS ...] - [OPTIONS_RELEASE ...] - [OPTIONS_DEBUG ...] - [USE_VCPKG_INTEGRATION] - [ALLOW_ROOT_INCLUDES | REMOVE_ROOT_INCLUDES] -) -``` - -## Parameters -### SOURCE_PATH -The path to the root of the source tree. - -Because MSBuild uses in-source builds, the source tree will be copied into a temporary location for the build. This -parameter is the base for that copy and forms the base for all XYZ_SUBPATH options. - -### USE_VCPKG_INTEGRATION -Apply the normal `integrate install` integration for building the project. - -By default, projects built with this command will not automatically link libraries or have header paths set. - -### PROJECT_SUBPATH -The subpath to the solution (`.sln`) or project (`.vcxproj`) file relative to `SOURCE_PATH`. - -### LICENSE_SUBPATH -The subpath to the license file relative to `SOURCE_PATH`. - -### INCLUDES_SUBPATH -The subpath to the includes directory relative to `SOURCE_PATH`. - -This parameter should be a directory and should not end in a trailing slash. - -### ALLOW_ROOT_INCLUDES -Indicates that top-level include files (e.g. `include/zlib.h`) should be allowed. - -### REMOVE_ROOT_INCLUDES -Indicates that top-level include files (e.g. `include/Makefile.am`) should be removed. - -### SKIP_CLEAN -Indicates that the intermediate files should not be removed. - -Ports using this option should later call [`vcpkg_clean_msbuild()`](vcpkg_clean_msbuild.md) to manually clean up. - -### RELEASE_CONFIGURATION -The configuration (``/p:Configuration`` msbuild parameter) used for Release builds. - -### DEBUG_CONFIGURATION -The configuration (``/p:Configuration`` msbuild parameter) used for Debug builds. - -### TARGET_PLATFORM_VERSION -The WindowsTargetPlatformVersion (``/p:WindowsTargetPlatformVersion`` msbuild parameter) - -### TARGET -The MSBuild target to build. (``/t:``) - -### PLATFORM -The platform (``/p:Platform`` msbuild parameter) used for the build. - -### PLATFORM_TOOLSET -The platform toolset (``/p:PlatformToolset`` msbuild parameter) used for the build. - -### OPTIONS -Additional options passed to msbuild for all builds. - -### OPTIONS_RELEASE -Additional options passed to msbuild for Release builds. These are in addition to `OPTIONS`. - -### OPTIONS_DEBUG -Additional options passed to msbuild for Debug builds. These are in addition to `OPTIONS`. - -## Examples - -* [libirecovery](https://github.com/Microsoft/vcpkg/blob/master/ports/libirecovery/portfile.cmake) -* [libfabric](https://github.com/Microsoft/vcpkg/blob/master/ports/libfabric/portfile.cmake) - -## Source -[scripts/cmake/vcpkg\_install\_msbuild.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_install_msbuild.cmake) diff --git a/docs/maintainers/vcpkg_install_nmake.md b/docs/maintainers/vcpkg_install_nmake.md deleted file mode 100644 index 9ac942ef2c3357..00000000000000 --- a/docs/maintainers/vcpkg_install_nmake.md +++ /dev/null @@ -1,68 +0,0 @@ -# vcpkg_install_nmake - -The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/vcpkg_install_nmake.md). - -Build and install a msvc makefile project. - -## Usage: -```cmake -vcpkg_install_nmake( - SOURCE_PATH <${SOURCE_PATH}> - [NO_DEBUG] - [TARGET ] - PROJECT_SUBPATH <${SUBPATH}> - PROJECT_NAME <${MAKEFILE_NAME}> - [PRERUN_SHELL <${SHELL_PATH}>] - [PRERUN_SHELL_DEBUG <${SHELL_PATH}>] - [PRERUN_SHELL_RELEASE <${SHELL_PATH}>] - [OPTIONS <-DUSE_THIS_IN_ALL_BUILDS=1>...] - [OPTIONS_RELEASE <-DOPTIMIZE=1>...] - [OPTIONS_DEBUG <-DDEBUGGABLE=1>...] -``` - -## Parameters -### SOURCE_PATH -Specifies the directory containing the source files. -By convention, this is usually set in the portfile as the variable `SOURCE_PATH`. - -### PROJECT_SUBPATH -Specifies the sub directory containing the `makefile.vc`/`makefile.mak`/`makefile.msvc` or other msvc makefile. - -### PROJECT_NAME -Specifies the name of msvc makefile name. -Default is makefile.vc - -### NO_DEBUG -This port doesn't support debug mode. - -### PRERUN_SHELL -Script that needs to be called before build - -### PRERUN_SHELL_DEBUG -Script that needs to be called before debug build - -### PRERUN_SHELL_RELEASE -Script that needs to be called before release build - -### OPTIONS -Additional options passed to generate during the generation. - -### OPTIONS_RELEASE -Additional options passed to generate during the Release generation. These are in addition to `OPTIONS`. - -### OPTIONS_DEBUG -Additional options passed to generate during the Debug generation. These are in addition to `OPTIONS`. - -## Parameters: -See [`vcpkg_build_nmake()`](vcpkg_build_nmake.md). - -## Notes: -This command transparently forwards to [`vcpkg_build_nmake()`](vcpkg_build_nmake.md), adding `ENABLE_INSTALL` - -## Examples - -* [tcl](https://github.com/Microsoft/vcpkg/blob/master/ports/tcl/portfile.cmake) -* [freexl](https://github.com/Microsoft/vcpkg/blob/master/ports/freexl/portfile.cmake) - -## Source -[scripts/cmake/vcpkg\_install\_nmake.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_install_nmake.cmake) diff --git a/docs/maintainers/vcpkg_install_qmake.md b/docs/maintainers/vcpkg_install_qmake.md deleted file mode 100644 index 4efc1579485aac..00000000000000 --- a/docs/maintainers/vcpkg_install_qmake.md +++ /dev/null @@ -1,26 +0,0 @@ -# vcpkg_install_qmake - -The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/vcpkg_install_qmake.md). - -Build and install a qmake project. - -## Usage: -```cmake -vcpkg_install_qmake(...) -``` - -## Parameters: -See [`vcpkg_build_qmake()`](vcpkg_build_qmake.md). - -## Notes: -This command transparently forwards to [`vcpkg_build_qmake()`](vcpkg_build_qmake.md). - -Additionally, this command will copy produced .libs/.dlls/.as/.dylibs/.sos to the appropriate -staging directories. - -## Examples - -* [libqglviewer](https://github.com/Microsoft/vcpkg/blob/master/ports/libqglviewer/portfile.cmake) - -## Source -[scripts/cmake/vcpkg\_install\_qmake.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_install_qmake.cmake) diff --git a/docs/maintainers/vcpkg_list.md b/docs/maintainers/vcpkg_list.md deleted file mode 100644 index 46aa7dabd35f7d..00000000000000 --- a/docs/maintainers/vcpkg_list.md +++ /dev/null @@ -1,94 +0,0 @@ -# vcpkg_list - -The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/vcpkg_list.md). - -A replacement for CMake's `list()` function, which correctly handles elements -with internal semicolons (in other words, escaped semicolons). -Use `vcpkg_list()` instead of `list()` whenever possible. - -```cmake -vcpkg_list(SET [...]) -vcpkg_list( [...]) -``` - -In addition to all of the commands from `list()`, `vcpkg_list` adds -a `vcpkg_list(SET)` command. -This command takes its arguments, escapes them, and then concatenates -them into a list; this should be used instead of `set()` for setting any -list variable. - -Otherwise, the `vcpkg_list()` function is the same as the built-in -`list()` function, with the following restrictions: - -- `GET`, `REMOVE_ITEM`, and `REMOVE_AT` support only one index/value -- `POP_BACK` and `POP_FRONT` do not support getting the value into - another out variable. Use C++ style `GET` then `POP_(BACK|FRONT)`. -- `FILTER` and `TRANSFORM` are unsupported. - -See the [CMake documentation for `list()`](https://cmake.org/cmake/help/latest/command/list.html) -for more information. - -## Notes: Some Weirdnesses - -The most major weirdness is due to `""` pulling double-duty as "list of zero elements", -and "list of one element, which is empty". `vcpkg_list` always uses the former understanding. -This can cause weird behavior, for example: - -```cmake -set(lst "") -vcpkg_list(APPEND lst "" "") -# lst = ";" -``` - -This is because you're appending two elements to the empty list. -One very weird behavior that comes out of this would be: - -```cmake -set(lst "") -vcpkg_list(APPEND lst "") -# lst = "" -``` - -since `""` is the empty list, we append the empty element and end up with a list -of one element, which is empty. This does not happen for non-empty lists; -for example: - -```cmake -set(lst "a") -vcpkg_list(APPEND lst "") -# lst = "a;" -``` - -only the empty list has this odd behavior. - -## Examples - -### Creating a list - -```cmake -vcpkg_list(SET foo_param) -if(DEFINED arg_FOO) - vcpkg_list(SET foo_param FOO "${arg_FOO}") -endif() -``` - -### Appending to a list - -```cmake -set(OPTIONS -DFOO=BAR) -if(VCPKG_TARGET_IS_WINDOWS) - vcpkg_list(APPEND OPTIONS "-DOS=WINDOWS;FOO") -endif() -``` - -### Popping the end off a list - -```cmake -if(NOT list STREQUAL "") - vcpkg_list(GET list end -1) - vcpkg_list(POP_BACK list) -endif() -``` - -## Source -[scripts/cmake/vcpkg\_list.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_list.cmake) diff --git a/docs/maintainers/vcpkg_minimum_required.md b/docs/maintainers/vcpkg_minimum_required.md deleted file mode 100644 index caf975f61e254a..00000000000000 --- a/docs/maintainers/vcpkg_minimum_required.md +++ /dev/null @@ -1,17 +0,0 @@ -# vcpkg_minimum_required - -The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/vcpkg_minimum_required.md). - -Asserts that the version of the vcpkg program being used to build a port is later than the supplied date, inclusive. - -## Usage -```cmake -vcpkg_minimum_required(VERSION 2021-01-13) -``` - -## Parameters -### VERSION -The date-version to check against. - -## Source -[scripts/cmake/vcpkg\_minimum\_required.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_minimum_required.cmake) diff --git a/docs/maintainers/vcpkg_replace_string.md b/docs/maintainers/vcpkg_replace_string.md deleted file mode 100644 index 967dd3c01a6137..00000000000000 --- a/docs/maintainers/vcpkg_replace_string.md +++ /dev/null @@ -1,12 +0,0 @@ -# vcpkg_replace_string - -The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/maintainers/vcpkg_replace_string.md). - -Replace a string in a file. - -```cmake -vcpkg_replace_string( ) -``` - -## Source -[scripts/cmake/vcpkg\_replace\_string.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_replace_string.cmake) diff --git a/docs/regenerate.ps1 b/docs/regenerate.ps1 deleted file mode 100755 index f2f888a770046a..00000000000000 --- a/docs/regenerate.ps1 +++ /dev/null @@ -1,353 +0,0 @@ -#! /usr/bin/env pwsh - -[CmdletBinding()] -Param( - [String]$VcpkgRoot = '' -) - -if ([String]::IsNullOrEmpty($VcpkgRoot)) { - $VcpkgRoot = "${PSScriptRoot}/.." -} - -$VcpkgRoot = Resolve-Path $VcpkgRoot - -if (-not (Test-Path "$VcpkgRoot/.vcpkg-root")) { - throw "Invalid vcpkg instance, did you forget -VcpkgRoot?" -} - -class CMakeDocumentation { - [String]$Filename - [String[]]$ActualDocumentation - [Bool]$IsDeprecated - [String]$DeprecationMessage - [String]$DeprecatedByName - [String]$DeprecatedByPath - [Bool]$HasError -} - -[String[]]$cmakeScriptsPorts = @( - 'vcpkg-cmake' - 'vcpkg-cmake-config' - 'vcpkg-pkgconfig-get-modules' -) - -[CMakeDocumentation[]]$tableOfContents = @() -[CMakeDocumentation[]]$internalTableOfContents = @() -$portTableOfContents = [ordered]@{} - -function RelativeUnixPathTo -{ - Param( - [Parameter(Mandatory)] - [String]$Path, - [Parameter(Mandatory)] - [String]$Base - ) - - $Path = Resolve-Path -LiteralPath $Path - $Base = Resolve-Path -LiteralPath $Base - - if ($IsWindows) - { - if ((Split-Path -Qualifier $Path) -ne (Split-Path -Qualifier $Base)) - { - throw "It is not possible to get the relative unix path from $Base to $Path" - } - } - - $Path = $Path -replace '\\','/' - $Base = $Base -replace '\\','/' - - [String[]]$PathArray = $Path -split '/' - [String[]]$BaseArray = $Base -split '/' - - [String[]]$Result = @() - - $Idx = 0 - - while ($Idx -lt $PathArray.Length -and $Idx -lt $BaseArray.Length) - { - if ($PathArray[$Idx] -ne $BaseArray[$Idx]) - { - break - } - ++$Idx - } - - for ($BaseIdx = $Idx; $BaseIdx -lt $BaseArray.Length; ++$BaseIdx) - { - $Result += '..' - } - for ($PathIdx = $Idx; $PathIdx -lt $PathArray.Length; ++$PathIdx) - { - $Result += $PathArray[$PathIdx] - } - - $Result -join '/' -} -function WriteFile -{ - Param( - [String[]]$Value, - [String]$Path - ) - # note that we use this method of getting the utf-8 bytes in order to: - # - have no final `r`n, which happens when Set-Content does the thing automatically on Windows - # - have no BOM, which happens when one uses [System.Text.Encoding]::UTF8 - [byte[]]$ValueAsBytes = (New-Object -TypeName 'System.Text.UTF8Encoding').GetBytes($Value -join "`n") - Set-Content -Path $Path -Value $ValueAsBytes -AsByteStream -} -function FinalDocFile -{ - Param( - [CMakeDocumentation]$Docs, - [String]$PathToFile # something like docs/maintainers/blah.md - ) - [String[]]$documentation = @() - - if ($Docs.ActualDocumentation.Length -eq 0) - { - throw "Invalid documentation: empty docs" - } - - $documentation += $Docs.ActualDocumentation[0] # name line - if ($Docs.IsDeprecated) - { - if ($null -eq $Docs.DeprecationMessage -or $Docs.DeprecationMessage -match '^ *$') - { - if(![string]::IsNullOrEmpty($Docs.DeprecatedByName)) - { - $message = " in favor of [``$($Docs.DeprecatedByName)``]($($Docs.DeprecatedByPath)$($Docs.DeprecatedByName).md)" - $Docs.DeprecatedByPath -match '^ports/([a-z\-]+)/$' | Out-Null - $port = $matches[1] - if(![string]::IsNullOrEmpty($port)) - { - $message += " from the $port port." - } - } - $documentation += @("", "**This function has been deprecated$message**") - } - else - { - $documentation += @("", "**This function has been deprecated $($Docs.DeprecationMessage)**") - } - } - $documentation += @("", "The latest version of this document lives in the [vcpkg repo](https://github.com/Microsoft/vcpkg/blob/master/docs/$PathToFile).") - - $documentation += $Docs.ActualDocumentation[1..$Docs.ActualDocumentation.Length] - - $relativePath = RelativeUnixPathTo $Docs.Filename $VcpkgRoot - $documentation += @( - "", - "## Source", - "[$($relativePath -replace '_','\_')](https://github.com/Microsoft/vcpkg/blob/master/$relativePath)", - "" - ) - - $documentation -} - -function ParseCmakeDocComment -{ - Param( - [Parameter(Mandatory)] - [System.IO.FileSystemInfo]$Filename - ) - - $Docs = New-Object 'CMakeDocumentation' - $Docs.HasError = $False - $Docs.IsDeprecated = $False - $Docs.Filename = $Filename.FullName - - [String[]]$contents = Get-Content $Filename - - if ($contents[0] -eq '# DEPRECATED') - { - $Docs.IsDeprecated = $True - } - elseif($contents[0] -match '^# DEPRECATED( BY (([^/]+/)+)(.+))?((: *)(.*))?$') - { - $Docs.IsDeprecated = $True - $Docs.DeprecatedByPath = $matches[2] - $Docs.DeprecatedByName = $matches[4] - $Docs.DeprecationMessage = $matches[7] - } - - [String]$startCommentRegex = '#\[(=*)\[' - [String]$endCommentRegex = '' - [Bool]$inComment = $False - - $contents = $contents | ForEach-Object { - if (-not $inComment) { - if ($_ -match "^\s*${startCommentRegex}(\.[a-z]*)?:?\s*$") { - if (-not [String]::IsNullOrEmpty($matches[2]) -and $matches[2] -ne '.md') { - Write-Warning "The documentation in $($Filename.FullName) doesn't seem to be markdown (extension: $($matches[2])). Only markdown is supported; please rewrite the documentation in markdown." - } - $inComment = $True - $endCommentRegex = "\]$($matches[1])\]" - } elseif ($_ -match $startCommentRegex) { - $Docs.HasError = $True - Write-Warning "Invalid start of comment -- the comment start must be at the beginning of the line. - (on line: `"$_`")" - } else { - # do nothing -- we're outside a comment, so cmake code - } - } else { - if ($_ -match "^\s*#?${endCommentRegex}\s*$") { - $inComment = $False - $endCommentRegex = '' - } elseif ($_ -match $endCommentRegex) { - $Docs.HasError = $True - Write-Warning "Invalid end of comment -- the comment end must be on it's own on a line. - (on line: `"$_`")" - } else { - # regular documentation line - $_ - } - } - } - - if ($inComment) { - Write-Warning "File $($Filename.FullName) has an unclosed comment." - $Docs.HasError = $True - } - - if (-not [String]::IsNullOrEmpty($contents)) - { - $Docs.ActualDocumentation = $contents - } - - $Docs -} - -Get-ChildItem "$VcpkgRoot/scripts/cmake" -Filter '*.cmake' | ForEach-Object { - $docs = ParseCmakeDocComment $_ - [Bool]$isInternalFunction = $_.Name.StartsWith("z_vcpkg") - - if ($docs.IsDeprecated -and $null -eq $docs.ActualDocumentation) - { - return - } - if ($docs.HasError) - { - return - } - - if ($null -ne $docs.ActualDocumentation) - { - if ($isInternalFunction) - { - $pathToFile = "maintainers/internal/$($_.BaseName).md" - WriteFile ` - -Path "$PSScriptRoot/$pathToFile" ` - -Value (FinalDocFile $docs) - - $internalTableOfContents += $docs - } - else - { - $pathToFile = "maintainers/$($_.BaseName).md" - WriteFile ` - -Path "$PSScriptRoot/$pathToFile" ` - -Value (FinalDocFile $docs $pathToFile) - - $tableOfContents += $docs - } - } - elseif (-not $isInternalFunction) - { - # don't worry about undocumented internal functions - Write-Warning "The cmake function in file $($_.FullName) doesn't seem to have any documentation. Make sure the documentation comments are correctly written." - } -} - -$cmakeScriptsPorts | ForEach-Object { - $portName = $_ - - Copy-Item "$VcpkgRoot/ports/$portName/README.md" "$PSScriptRoot/maintainers/ports/$portName.md" - New-Item -Path "$PSScriptRoot/maintainers/ports/$portName" -Force -ItemType 'Directory' | Out-Null - - $portTableOfContents[$portName] = @() - - Get-ChildItem "$VcpkgRoot/ports/$portName" -Filter '*.cmake' | ForEach-Object { - if ($_.Name -eq 'vcpkg-port-config.cmake' -or $_.Name -eq 'portfile.cmake') - { - return - } - - $docs = ParseCmakeDocComment $_ - - if ($docs.IsDeprecated -and $null -eq $docs.ActualDocumentation) - { - return - } - if ($docs.HasError) - { - return - } - - if ($null -ne $docs.ActualDocumentation) - { - $pathToFile = "maintainers/ports/$portName/$($_.BaseName).md" - WriteFile ` - -Path "$PSScriptRoot/$pathToFile" ` - -Value (FinalDocFile $docs $pathToFile) - $portTableOfContents[$portName] += $docs - } - else - { - Write-Warning "The cmake function in file $($_.FullName) doesn't seem to have any documentation. Make sure the documentation comments are correctly written." - } - } -} - -$portfileFunctionsContent = @( - '', - '', - '# Portfile helper functions') - -function GetDeprecationMessage -{ - Param( - [CMakeDocumentation]$Doc - ) - $message = '' - if ($Doc.IsDeprecated) - { - $message = " (deprecated" - if(![string]::IsNullOrEmpty($Doc.DeprecatedByName)) - { - $message += ", use [$($($Doc.DeprecatedByName) -replace '_','\_')]($($Doc.DeprecatedByPath)$($Doc.DeprecatedByName).md)" - } - $message += ")" - } - $message -} - -$DocsName = @{ expression = { Split-Path -LeafBase $_.Filename } } -$tableOfContents | Sort-Object -Property $DocsName -Culture '' | ForEach-Object { - $name = Split-Path -LeafBase $_.Filename - $portfileFunctionsContent += "- [$($name -replace '_','\_')]($name.md)" + $(GetDeprecationMessage $_) -} -$portfileFunctionsContent += @("", "## Internal Functions", "") -$internalTableOfContents | Sort-Object -Property $DocsName -Culture '' | ForEach-Object { - $name = Split-Path -LeafBase $_.Filename - $portfileFunctionsContent += "- [$($name -replace '_','\_')](internal/$name.md)" + $(GetDeprecationMessage $_) -} - -$portfileFunctionsContent += @("", "## Scripts from Ports") -$portTableOfContents.GetEnumerator() | ForEach-Object { - $portName = $_.Name - $cmakeDocs = $_.Value - $portfileFunctionsContent += @("", "### [$portName](ports/$portName.md)", "") - $cmakeDocs | ForEach-Object { - $name = Split-Path -LeafBase $_.Filename - $portfileFunctionsContent += "- [$($name -replace '_','\_')](ports/$portName/$name.md)" + $(GetDeprecationMessage $_) - } -} - -$portfileFunctionsContent += "" # final newline - -WriteFile ` - -Path "$PSScriptRoot/maintainers/portfile-functions.md" ` - -Value $portfileFunctionsContent diff --git a/docs/specifications/binarycaching.md b/docs/specifications/binarycaching.md deleted file mode 100644 index d9c55d5d140ffb..00000000000000 --- a/docs/specifications/binarycaching.md +++ /dev/null @@ -1,159 +0,0 @@ -# Binary Caching v1.1 (Jul 14, 2020) - -**Note: this is the feature as it was initially specified and does not necessarily reflect the current behavior.** - -**Up-to-date documentation is available at [Binarycaching](../users/binarycaching.md).** - -## Motivation - -The primary motivation of binary caching is to accelerate two broad scenarios in an easily accessible way - -- Continuous Integration - -- Developer Environment Changes (first-time or branch change) - -We generally believe both of these scenarios are addressed with the same feature set, however when differences arise they will be discussed in the individual scenarios. - -It should also be explicitly noted that this specification does not intend to propose a "Microsoft Sanctioned Public Binaries Service" such as nuget.org – we only intend to enable users to leverage services they already have access to, such as GitHub, local file shares, Azure Artifacts, etc. - -## Key User Stories - -### CI -> CI - -In this story, a CI build using either persistent or non-persistent machines wants to potentially reuse binaries built in a previous run of the pipeline. This is partially covered by the Cache tasks in GitHub Actions or Azure DevOps Pipelines, however the Cache task is all-or-nothing: a single package change will prevent restoration and require rebuilding the entire graph which is unacceptable in many scenarios (such as if actively developing one of the packages). - -### CI -> Developer - -In this story, the developer wants to reuse binaries built during a CI run. Given appropriate CI coverage, most developers will always have any needed dependencies pre-built by the CI system. - -Notably, this scenario indicates a need for Read/Write access granularity on the remote storage solution. Developers should not need write access to the output from the CI system for security reasons. - -### Single Developer (same machine reuse) - -With the introduction of manifest files, each project will have separate instances of Vcpkg. The performance costs of rebuilding binaries across each cloned project can be debilitating for those working in micro-repos or open source; for the monolithic enterprise developer it is simply frustrating. - -User-wide binary caching alleviates the pain of this scenario by ensuring the same binaries aren’t built multiple times (as long as the projects truly overlap with respect to versions/packages/etc). - -### Developer <-> Developer (multi-machine / team scenario) - -In a small team scenario, it's reasonable that multiple developer machines can trust each other enough to share binaries. This also applies to developers that have multiple machines and wish to share binaries between them (given a similar enough environment). - -## Solution Aspects - -### Tracking Compilers - -In order to provide reliable binary caching, vcpkg must determine if the produced binaries are appropriate for the current context. Currently, we consider many factors, including: - -- All files in the port directory - -- The toolchain file contents - -- The triplet contents - -- All dependency binaries - -- The version of the CMake tool used to build - -and a few others. - -However, we notably do not currently track the compiler used. This is critical for all cross-machine scenarios, as the environment is likely to change incompatibly from machine to machine. We propose hashing the compiler that will used by CMake. This can be accomplished either by reimplementing the logic of CMake or running some partial project and extracting the results. For performance reasons, we will prefer first using heuristics to approximate the CMake logic with accompanying documentation for users that fall outside those bounds. - -Another aspect of the environment we don't currently track is the CRT version on Linux systems. Currently, we believe this will not cause as many problems in most practices (thus not suitable for an MVP), since the compiler will (generally) link against the system CRT and should sufficiently reflect any differences. This can also be easily worked around by the user with documentation – the toolchain file can simply have a comment such as "# this uses muslc", which will cause it to hash differently. - -### Better control over source modifications - -Currently, vcpkg caches sources inside `buildtrees/$PORT/src/`. The built-in helpers, such as `vcpkg_extract_archive_ex()` assume that if the appropriately named source folder exists, it is true, accurate, and without modification. - -However, the basic workflow for working on ports (specifically, developing patches) breaks this assumption by directly editing whatever extracted source directory the tool is currently using until a successful build is achieved. The user then usually builds a patch file from their changes, then checks it in to the port directory (adding the changes to one of the tracked locations above) and everything is restored to normal. - -However, this causes serious issues with the current tracking system, because modifications to this cached source are not detected and tracked into the binary package. - -Our proposed solution is to force source re-extraction each time during builds that have uploading to any protocol enabled. Uploading/downloading can then be disabled on the command line via the --editable switch to reuse extracted sources and enable the current workflow. - -### Protocols - -To service different scenarios and user requirements, we need to support multiple backends. Currently, our CI system uses our only implemented backend: file-based archives. - -#### Backend #1: File-Based Archives - -This backend simply stores .zip files in a hierarchy similar to git objects: `$VCPKG_ROOT/archives/$XX/$YYYY.zip` with `$XX` being the first two characters of the computed package hash, and `$YYYY` being the full expanded hash. It also supports storing failure logs as `$VCPKG_ROOT/archives/fail/$XX/$YYYY.zip`, however we consider this an internal feature that is not relevant to the key User Stories. - -Our CI system uses this backend by symlinking this directory to an Azure Files share, enabling built binaries and failure logs to be shared by all machines in the pool. Credentials are handled at the time of mounting the Azure Files share, so this does not require interactive authentication. - -This protocol is ideal due to simplicity for same-machine reuse and simple serverless scenarios such as using networked SMB folders across multiple machines for very small teams. However, it has three significant limitations in the current incarnation: - -- It uses the hardcoded directory `$VCPKG_ROOT/archives` (redirectable using symlinks, but unwieldy) - -- It cannot use multiple directories - -- There is no ability to treat directories as "read-only"/immutable - -These second two points are required to implement the very useful concept of "fallback" folders (see https://github.com/NuGet/Home/wiki/%5BSpec%5D-Fallback-package-folders for NuGet’s spec on this topic). - -#### Backend #2: NuGet (Azure DevOps Artifacts, GitHub Packages, etc) - -This backend packages binaries into a "raw" NuGet package (not suitable for direct import by MSBuild projects) and uploads them to supported NuGet servers such as Azure DevOps Artifacts and GitHub Packages. We believe this will best satisfy the CI scenarios – both CI -> CI as well as CI -> Developer by relying on powerful, centralized, managed hosting. - -There is a difference in this case between the developer and CI scenarios. The developer generally wants to configure their remotes for the project and then be able to run vcpkg commands as normal, with packages automatically being downloaded and uploaded to optimize the experience. This is similar to File-Based Archives. - -While a CI system could use the same workflow as a developer, there are a few key differences. First, a CI system must use a stored secret for authentication, because it cannot interactively authenticate. Second, to enable more complex interactions with systems such as package signing and task-based restores, we must also support a 4-step workflow: - -1. Vcpkg computes hashes of any potentially required packages and writes them to a file - -2. An unspecified service/task/etc can parse this file and download any appropriate packages - -3. vcpkg is then invoked a second time, with any downloaded packages. This consumes the packages, performs any installations and builds, and potentially produces new packages to an output folder. - -4. Finally, another unspecified service/task/etc can take these output packages, sign them, and upload them. - -This flow enables arbitrarily complex, user-defined authentication and signing schemes, such as the tasks provided by GitHub Actions and Azure DevOps Pipelines or manual signing as documented in the NuGet documentation: https://docs.microsoft.com/en-us/nuget/create-packages/sign-a-package. - -#### Configuration - -Currently, our file-based backend is enabled by passing the undocumented `--binarycaching` flag to any Vcpkg command or setting the undocumented environment variable `VCPKG_FEATURE_FLAGS` to `binarycaching`. We will replace this feature flag with an on-by-default user-wide behavior, plus command line and environment-based configurability. - -The on-by-default configuration will specify the file-based archive protocol on either `%LOCALAPPDATA%/vcpkg/archives` (Windows) or `$XDG_CACHE_HOME/vcpkg/archives` (Unix). If `XDG_CACHE_HOME` is not defined on Unix, we will fall back to `$HOME/.cache/vcpkg/archives` based on the [XDG Base Directory Specification][1]. This can be redirected with a symlink, or completely overridden with the command line or environment. In the future we can also consider having a user-wide configuration file, however we do not believe this is important for any of our key scenarios. - -On the command line, a backend can be specified via `--binarysource=`. Multiple backends can be specified by passing the option multiple times and the order of evaluation is determined by the order on the command line. Writes will be performed on all upload backends, but only for packages that were built as part of this build (the tool will not repackage/reupload binaries downloaded from other sources). - -The environment variable `VCPKG_BINARY_SOURCES` can be set to a semicolon-delimited list of ``. Empty `` strings are valid and ignored, to support appending like `set VCPKG_BINARY_SOURCES=%VCPKG_BINARY_SOURCES%;foo` or `export VCPKG_BINARY_SOURCES="$VCPKG_BINARY_SOURCES;foo"` - -`` can be any of: - -- `clear` - ignore all lower priority sources (lowest priority is default, then env, then command line) - -- `default[,]` - Reintroduce the default ~/.vcpkg/packages (as read-only or with uploading) - -- `files,[,]` - Add a file-based archive at `` - -- `nuget,[,]` - Add a nuget-based source at ``. This url has a similar semantic as `nuget.exe restore -source ` for reads and `nuget.exe push -source ` for writes; notably it can also be a local path. - -- `nugetconfig,[,]` - Add a nuget-based source using the NuGet.config file at ``. This enables users to fully control NuGet's execution in combination with the documented NuGet environment variables. This has similar semantics to `nuget.exe push -ConfigFile ` and `nuget.exe restore -ConfigFile `. - -- `interactive` - Enables interactive mode (such as manual credential entry) for all other configured backends. - -`` can be any of `read`, `write`, or `readwrite` to control whether packages will be consumed or published. - -Backtick (`) can be used as an escape character within config strings, with double backtick (``) inserting a single backtick. All paths must be absolute. - -For all backends, noninteractive operation will be the default and the vcpkg tool will take a `--interactive` parameter to enable prompting for user credentials (if needed by the backend). - -To enable the 4-step flow, `vcpkg install` will take a command `--write-nuget-packages-config=` which can be used in combination with `--dry-run`. This path can be relative and will resolve with respect to the current working directory. - -[1]: https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html - -#### Example 4-step flow - -``` -PS> vcpkg install --dry-run pkg1 pkg2 pkg3 --write-nuget-packages-config=packages.config -``` - -An unspecified process, such as `nuget.exe restore packages.config -packagedirectory $packages` or the [ADO task][2], restores the packages to `$packages`. - -``` -PS> vcpkg install pkg1 pkg2 pkg3 --binarysource=clear --binarysource=nuget,$outpkgs,upload --binarysource=nuget,$packages -``` - -Another unspecified process such as `nuget.exe sign $outpkgs/*.nupkg` and `nuget.exe push $outpkgs/*.nupkg` or the ADO task uploads the packages for use in future CI runs. - -[2]: https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/package/nuget?view=azure-devops diff --git a/docs/specifications/export-command.md b/docs/specifications/export-command.md deleted file mode 100644 index 5464e9408d5783..00000000000000 --- a/docs/specifications/export-command.md +++ /dev/null @@ -1,174 +0,0 @@ -# Binary Export (Apr 28, 2017) - -**Note: this is the feature as it was initially specified and does not necessarily reflect the current behavior.** - -## 1. Motivation - -### A. Build once and share - -Customers want to be able to build their set of required libraries once, and then distribute the resulting binaries to all members of the "group". This has been brought up in -- Enterprise environments, in which there are dedicated teams to acquire libraries and then share them with other teams to consume them -- Academic environments, in which the professor/teacher wants to build the required libraries and then provide them to all the students -- CI Systems, in which developers want to quickly distribute their exact set of dependencies to a cloud-based farm of build machines - -Building once and sharing ensures that everyone gets exactly the same binaries, isolates the building effort to a small number of people and minimizes friction to obtain them. Therefore, there is value in enabling users to easily export ready-to-share binaries from `vcpkg`. - -### B. Very large libraries - -Libraries like [Qt][] can take a very long time to build (5+ hours). Therefore, having the ability to build them and then distribute the binaries can save a lot of time. - -### C. Flexibility and uses without `vcpkg` - -`vcpkg` currently handles cases where you have a `vcpkg` enlistment on your machine and use it for acquiring libraries and integrating into Visual Studio, CMake etc. However, users need the ability to build the libraries and then use them outside of and independently of `vcpkg`. For example: -- Use `vcpkg` for the build, then host the binaries in a website (similarly to nuget) -- Use `vcpkg` for the build, then put the binaries in an installer and distribute the installer - -Consuming the libraries outside of `vcpkg` forfeits the ability to install new libraries or update existing ones, but this can be: -- not a concern, like in a short term project or assignment -- explicitly desired, like in the development of a game where libraries and their versions are sealed for a particular release, never to be modified - -### D. Easy consumption in Visual Studio for NuGet users - -Customers have requested C++ NuGet packages to integrate into their project. This has come from: -- Customers than have used NuGet (e.g. in C#) and find it very convenient -- Customers who are working on a C# project that has a few dependencies on C++ and just want those dependencies to be satisfied in the most automatic way possible - -Providing a way to create NuGet packages provides great value to those customers. In an enterprise environment which focuses on C#, the dedicated acquisition team can create the NuGet packages with `vcpkg` and provide them to the other developers. For the "end-developer", this makes the consumption of C++ libraries the same as C# ones. - -[Qt]: https://www.qt.io/ - -## 2. Other design concerns - -- The `vcpkg` root may have a variety of packages built and many of them might be unrelated to the current task. Providing an easy way to export a subset of them will enhance user experience. -- Since binary compatibility is not guaranteed, it is not safe to individually export packages. Therefore, when exporting a particular package, all of the dependencies that it was built against must also be present in the export format (e.g. zip file). When a `vcpkg export` command succeeds, there is a guarantee that all required headers/binaries are available in the target bundle. - -## 3. Proposed solution - -This document proposes the `vcpkg export` command to pack the desired binaries in a convenient format. It is not the goal of this document to discuss binary distribution for C++ in a similar way that NuGet does for C#. It proposes exporting "library sets" instead of individual libraries as a solution to the C++ binary incompatibility problem. - -From a user experience perspective, the user expresses interest in exporting a particular library (e.g. `vcpkg export cpprestsdk`). `vcpkg export` should then make sure that the output contains `cpprestsdk` along with all dependencies it was actually built against. - -## 4. Proposed User experience - -### i. User knows what libraries he needs and wants to export them to an archive format (zip) -Developer Bob needs gtest and cpprestsdk and has been manually building them and their dependencies, then using the binaries in his project via applocal deployment. Bob has been experimenting with `vcpkg` and wants to use `vcpkg` for the building part only. - -Bob tries to export the libraries: -```no-highlight -> vcpkg export gtest cpprestsdk --zip -The following packages are already built and will be exported: - * boost:x86-windows - * bzip2:x86-windows - cpprestsdk:x86-windows - * openssl:x86-windows - * websocketpp:x86-windows - * zlib:x86-windows -The following packages need to be built: - gtest:x86-windows -Additional packages (*) need to be exported to complete this operation. -There are packages that have not been built. -To build them, run: - vcpkg install gtest:x86-windows -``` - -Bob proceeds to install the missing libraries: -```no-highlight -> vcpkg install gtest:x86-windows -// -- omitted build information -- // -Package gtest:x86-windows is installed. -``` - -Bob then returns to export the libraries: -```no-highlight -> vcpkg export gtest cpprestsdk --zip -The following packages are already built and will be exported: - * boost:x86-windows - * bzip2:x86-windows - cpprestsdk:x86-windows - gtest:x86-windows - * openssl:x86-windows - * websocketpp:x86-windows - * zlib:x86-windows -Additional packages (*) need to be exported to complete this operation. -Exporting package zlib:x86-windows... -Exporting package zlib:x86-windows... done -Exporting package openssl:x86-windows... -Exporting package openssl:x86-windows... done -Exporting package bzip2:x86-windows... -Exporting package bzip2:x86-windows... done -Exporting package boost:x86-windows... -Exporting package boost:x86-windows... done -Exporting package websocketpp:x86-windows... -Exporting package websocketpp:x86-windows... done -Exporting package cpprestsdk:x86-windows... -Exporting package cpprestsdk:x86-windows... done -Exporting package gtest:x86-windows... -Exporting package gtest:x86-windows... done -Creating zip archive... -Creating zip archive... done -zip archive exported at: C:/vcpkg/vcpkg-export-20170428-155351.zip -``` - -Bob takes the zip file and extracts the contents next to his other dependencies. Bob can now proceed with building his own project as before. - -### ii. User has a vcpkg root that works and wants to share it -Developer Alice has been using `vcpkg` and has a Visual Studio project that consumes libraries from it (via `vcpkg integrate`). The project is built for both 32-bit and 64-bit architectures. Alice wants to quickly share the dependencies with Bob so he can test the project. -```no-highlight -> vcpkg export gtest zlib gtest:x64-windows zlib:x64-windows --nuget -The following packages are already built and will be exported: - gtest:x86-windows - gtest:x64-windows - zlib:x86-windows - zlib:x64-windows -Exporting package zlib:x86-windows... -Exporting package zlib:x86-windows... done -Exporting package zlib:x64-windows... -Exporting package zlib:x64-windows... done -Exporting package gtest:x86-windows... -Exporting package gtest:x86-windows... done -Exporting package gtest:x64-windows... -Exporting package gtest:x64-windows... done -Creating nuget package... -Creating nuget package... done -Nuget package exported at: C:/vcpkg/scripts/buildsystems/tmp/vcpkg-export-20170428-164312.nupkg -``` - -Alice gives to Bob: a) The link to her project and b) The NuGet package "vcpkg-export-20170428-164312.nupkg". Bob clones the project and then installs the NuGet package. Bob is now ready to build Alice's project. - -### iii. User has a vcpkg root that works and wants to share it #2 -Developer Alice has been using `vcpkg` and has a CMake project that consumes libraries from it (via CMake toolchain file). Alice wants to quickly share the dependencies with Bob so he can test the project. -```no-highlight -> vcpkg export cpprestsdk zlib --zip -The following packages are already built and will be exported: - * boost:x86-windows - * bzip2:x86-windows - cpprestsdk:x86-windows - * openssl:x86-windows - * websocketpp:x86-windows - zlib:x86-windows -Additional packages (*) need to be exported to complete this operation. -Exporting package zlib:x86-windows... -Exporting package zlib:x86-windows... done -Exporting package openssl:x86-windows... -Exporting package openssl:x86-windows... done -Exporting package bzip2:x86-windows... -Exporting package bzip2:x86-windows... done -Exporting package boost:x86-windows... -Exporting package boost:x86-windows... done -Exporting package websocketpp:x86-windows... -Exporting package websocketpp:x86-windows... done -Exporting package cpprestsdk:x86-windows... -Exporting package cpprestsdk:x86-windows... done -Creating zip archive... -Creating zip archive... done -zip archive exported at: C:/vcpkg/vcpkg-export-20170428-155351.zip -``` - -Alice gives to Bob: a) The links to her project and b) The zip file "vcpkg-export-20170428-155351.zip". Bob clones the project, extracts the zip file and uses the provided (in the zip) CMake toolchain file to make the dependencies available to CMake. Bob is now ready to build Alice's project. - -## 5. Technical model - -- Each exported library, must be accompanied with all of its dependencies, even if they are not explicitly specified in the `vcpkg export` command. -- When exporting a library, a dependency graph will be built, similarly to install, to figure out which packages need to be exported. -- It is allowed to have packages from different triplets, so users can include 32/64-bit and dynamic/static binaries in the same export. -- The exported archives also include the files needed to integrate with MSBuild and/or CMake. \ No newline at end of file diff --git a/docs/specifications/feature-packages.md b/docs/specifications/feature-packages.md deleted file mode 100644 index 5737c650a64dd7..00000000000000 --- a/docs/specifications/feature-packages.md +++ /dev/null @@ -1,291 +0,0 @@ -# Proposal: Features / Feature packages (Feb 23 2017) - -**Note: this is the feature as it was initially specified and does not necessarily reflect the current behavior.** - -**Up-to-date documentation is available at [Selecting Library Features](../users/selecting-library-features.md).** - -## 1. Motivation - -### A. OpenCV + CUDA - -[OpenCV][] is a computer vision library that can optionally be built with CUDA support to massively accelerate certain tasks when using computers with NVidia GPUs. For users without NVidia GPUs, building with CUDA support provides no benefit. [CUDA][] is provided only via a 1.3 GB installer (at the time of this authoring), which requires administrator access to install and modifies the global system state. - -Therefore, there is significant value in enabling users to choose whether they find CUDA support valuable for their particular scenario. - -### B. OpenCV + OpenCV\_contrib - -The community around [OpenCV][] has built up a library of extensions called [OpenCV_contrib][]. However, these extensions are a source-level patch onto the main OpenCV codebase and therefore must be applied _during_ the core OpenCV build. Further confounding the problem, it is the author's understanding that these community extensions have only been developed with [CUDA][] enabled and cannot be built without that dependency. - -Therefore, if CUDA is disabled, OpenCV\_contrib must also be disabled. Likewise, when a user requests OpenCV\_contrib, CUDA must be enabled. It would be convenient, but not a requirement, to enable CUDA without enabling the community extensions. - -Finally, these extensions add additional exports and headers which could be depended upon by other libraries. For maintainers, there must be a way to specify this requirement such that `vcpkg install mylib-depends-ocv-contrib` will verify/build/rebuild OpenCV with the community extensions enabled. - -### C. C++ REST SDK + SignalR - -The [C++ REST SDK][cpprestsdk] is a networking library that provides (among other features) HTTP and Websockets clients. To implement the HTTP client functionality on Windows Desktop, only the core Win32 platform APIs are needed (`zlib` is optional). - -However, the websockets client is based on [Websockets++][], which adds mandatory dependencies on `boost`, `openssl`, and `zlib`. Many users of the C++ REST SDK do not use the websockets component, so to minimize their overall dependency footprint it can be disabled at build time. Ideally, these kinds of options would be easily accessible to users in Vcpkg who are concerned about the final size or licensing of their deployment. - -[SignalR-Client-Cpp][SignalR] depends on the websockets functionality provided by the C++ REST SDK. Therefore, the maintainers of the `signalrclient` port would ideally like to express this dependency such that `cpprestsdk` will be automatically correctly built for their needs. Note that `signalrclient` does not _inherently_ care about `boost`, `websocketspp` or `openssl` -- it depends only on the public websocket client APIs provided by `cpprestsdk`. It would be much more maintainable to declare dependencies based on the public APIs rather than the dependencies themselves. - -[OpenCV]: http://opencv.org/ -[CUDA]: http://www.nvidia.com/object/cuda_home_new.html -[OpenCV_contrib]: https://github.com/opencv/opencv_contrib -[cpprestsdk]: https://github.com/Microsoft/cpprestsdk -[Websockets++]: https://www.zaphoyd.com/websocketpp/ -[SignalR]: https://github.com/aspnet/SignalR-Client-Cpp - -## 2. Other design concerns - -- General-purpose Open Source projects must be able to easily and succinctly describe their build dependencies inside Vcpkg. This should be no more verbose than a single `vcpkg install` line and, when that command succeeds, there is a strong expectation that all required functionality/headers/imports are available. - -- The internal state of the Vcpkg enlistment must be either extremely transparent OR managed by version control (git). This enables larger projects to efficiently transfer the entire state of their customized Vcpkg system between machines (and onto build servers) by having the destination clone and then run a single `vcpkg install` line for the subset of dependencies required. The results of this operation should be as repeatable as reasonably achievable given the current limits of the underlying toolchain. - -## 3. Proposed solution - -A key summary of the above motivations is that they are all scenarios surrounding APIs that are not independently buildable from each other. We have an existing solution for APIs that are independently buildable: separate packages. Therefore, we seek to extend the user-facing notion of "packages" to include capabilities and contracts that cannot be made into independent builds. - -This document proposes "features" (also called feature packages). These features are intended to model semi-independently toggleable API sets/contracts such that they can be sanely depended upon by other packages. It is not a goal to model exclusive alternatives (such as implementation choices that are not directly user-observable) through this mechanism. - -- Individual libraries within `boost` may be reasonably represented as features. -- Whether a graphics library is built on DirectX xor OpenGL (where one but not both must be chosen) is not representable as a feature. - -From a user experience perspective (i.e. from `vcpkg install`) feature packages act as much as possible like completely independent packages. However, internally, any change to a package's features will result in a rebuild of the associated "parent" package. This will invoke a package rebuild experience similar to upgrading. - -When using `vcpkg install `, some features will be enabled by default. These default features can be avoided by referring to the packages as `[core]` and features can be added by supplying them on the same installation line. - -### A. Proposed User experience - -#### i. User with no preference about options -Install of a library with default features: -```no-highlight -> vcpkg install cpprestsdk -// -- omitted build information -- // -Package cpprestsdk[core]:x86-windows is installed. -Package cpprestsdk[compression]:x86-windows is installed. -Package cpprestsdk[ws-client]:x86-windows is installed. -``` - -Removal of that library: -```no-highlight -> vcpkg remove cpprestsdk -The following packages will be removed: - cpprestsdk:x86-windows -Removing package cpprestsdk:x86-windows... -Removing package cpprestsdk:x86-windows... done -Purging package cpprestsdk:x86-windows... -Cleaned up D:\src\vcpkg\packages\cpprestsdk_x64-windows -Purging package cpprestsdk:x86-windows... done -``` - -Installation of a library with optional features: -```no-highlight -> vcpkg install opencv -// -- omitted build information -- // -Package opencv[core]:x86-windows is installed. -``` - -#### ii. User desires CUDA support for OpenCV directly, and is unfamiliar with feature packages -Developer Bob knows he wants OpenCV, so he guesses what the package is called -```no-highlight -> vcpkg install opencv -// -- omitted build information -- // -Package opencv[core]:x86-windows is installed. -``` - -Bob attempts to build his application against OpenCV (assuming CUDA), which fails at runtime or compile time indicating that OpenCV wasn't built with CUDA. -Bob comes back to vcpkg, not knowing about the "feature packages" feature. The primary inquiry tools for Vcpkg are `search` and `list`, so he runs `vcpkg search`: -```no-highlight -> vcpkg search opencv -opencv 3.2.0 computer vision library -opencv[cuda] support for NVidia CUDA -opencv[contrib] community supported extensions for OpenCV - -If your library is not listed, please open an issue at: - https://github.com/Microsoft/vcpkg/issues -``` -He isn't immediately sure what the lack of a version number means, but anything in `vcpkg search` can be applied to `vcpkg install`, so he runs: -```no-highlight -> vcpkg install opencv[cuda] -The following packages will be rebuilt: - opencv:x86-windows - -To rebuild with this feature, use: - vcpkg remove opencv:x86-windows - vcpkg install opencv[core,cuda]:x86-windows -``` -Bob follows the instructions... -```no-highlight -> vcpkg remove opencv:x86-windows -// -- omitted results as above -- // -> vcpkg install opencv[core,cuda]:x86-windows -// -- omitted build information -- // -Package opencv[core]:x86-windows is installed. -Package opencv[cuda]:x86-windows is installed. -``` -and he can now use OpenCV's CUDA support in his application. - -#### iii. User is familiar with feature packages, and wants to opt-out of a feature -Developer Alice has used `cpprestsdk`, built it from source, and she knows about the option to disable websockets. She uses `search` to find the complete list of features: -``` -> vcpkg search cpprestsdk -cpprestsdk 2.9.0-2 C++11 JSON, REST, and OAuth library The C++ RES... -cpprestsdk[compression] Gzip compression support in the HTTP client. -cpprestsdk[ws-client] Websocket client support based on websocketspp. - -If your library is not listed, please open an issue at: - https://github.com/Microsoft/vcpkg/issues -``` - -She decided she only wants `cpprestsdk[compression]`, so she installs only that feature: -```no-highlight -> vcpkg install cpprestsdk[compression] -// -- omitted build information -- // -Package cpprestsdk[core]:x86-windows is installed. -Package cpprestsdk[compression]:x86-windows is installed. -``` -She receives a quick recursive build that only depends on `zlib`. - -She's now interested in some additional libraries built on top of cpprestsdk: `azure-storage-cpp` and `signalrclient`. -```no-highlight -> vcpkg install azure-storage-cpp -// -- omitted build information -- // -Package azure-storage-cpp[core]:x86-windows is installed. - -> vcpkg install signalrclient -Package signalrclient:x86-windows depends on cpprestsdk[ws-client]:x86-windows. - -The following packages will be rebuilt: - * azure-storage-cpp:x86-windows - * cpprestsdk:x86-windows - -To rebuild the current package graph with this feature, use: - vcpkg remove cpprestsdk:x86-windows azure-storage-cpp:x86-windows - vcpkg install cpprestsdk[core,compression,ws-client]:x86-windows - vcpkg install azure-storage-cpp[core]:x86-windows - vcpkg install signalrclient[core]:x86-windows -``` -She follows the above script and can use both `azure-storage-cpp` and `signalrclient` in her code. - -Some time has passed, she decided not to use `signalrclient`, and she's interested in shipping her application. She wants to minimize her final install size, so she'd like to remove all unneeded packages like `boost` and `openssl`. -```no-highlight -> vcpkg remove boost openssl -The following packages and features will be removed: - * signalrclient[core]:x86-windows - * cpprestsdk[ws-client]:x86-windows - boost[core]:x86-windows - openssl[core]:x86-windows - -The following packages will be rebuilt: - * azure-storage-cpp:x86-windows - * cpprestsdk:x86-windows - -Removing features requires rebuilding packages. -To rebuild the current package graph without these features, use: - vcpkg remove cpprestsdk:x86-windows azure-storage-cpp:x86-windows signalrclient:x86-windows openssl:x86-windows boost:x86-windows - vcpkg install cpprestsdk[core,compression]:x86-windows - vcpkg install azure-storage-cpp[core]:x86-windows -``` -In the end, her final `vcpkg list` outputs: -```no-highlight -> vcpkg list -zlib[core]:x86-windows 1.2.11 A compression library -azure-storage-cpp[core]:x86-windows 2.6.0 Microsoft Azure Storage Client SDK for ... -cpprestsdk[core]:x86-windows 2.9.0-2 C++11 JSON, REST, and OAuth library -cpprestsdk[compression]:x86-windows Gzip compression support in the HTTP client. -``` - -### B. Technical model - -- Each package can have any number "features". -- Features follow the same naming conventions as packages, but when referenced are always "namespaced" by the parent package. - - `cpprestsdk[ws-client]` is a completely orthogonal feature from `poco[ws-client]`. -- Features are valid dependencies. - - `signalrclient` depends on `cpprestsdk[ws-client]` -- Features can have dependencies (including other features). - - `cpprestsdk[ws-client]` depends on `boost`, `openssl`, and `websocketspp` - - `opencv[cuda]` depends on `cuda` - - `opencv[contrib]` depends on `opencv[cuda]` - - `boost[python]` depends on `libpython` -- Every package has an implicit feature called `core`, which covers the core library with a minimum set of features. All features implicitly depend on the `core` feature of their parent package - - `azure-storage-cpp` depends on `cpprestsdk[core]` - - `cpprestsdk[ws-client]` implicitly depends on `cpprestsdk[core]` -- Each package declares a list of default features that are enabled when the package is referred to by its raw name, and `core` is always a default feature. - - `cpprestsdk` declares `ws-client` and `compression` to be default features. Any unqualified reference `cpprestsdk` implicitly means `cpprestsdk[core]` _and_ `cpprestsdk[ws-client]` _and_ `cpprestsdk[compression]`. - - `opencv` does not declare `cuda` nor `contrib` to be default features. - -As a conclusion of the above, it is expected that all packages will be buildable with all features disabled (just the `core` feature) and with all features enabled. - -### C. Proposed Control File Syntax - -#### OpenCV and CUDA -To add the feature CUDA to OpenCV, we will adopt the following syntax in the CONTROL file: -```no-highlight -# opencv/CONTROL -Source: opencv -Version: 3.2.0-1 -Build-Depends: zlib, libpng, libjpeg-turbo, tiff -Description: computer vision library -Default-Features: - -Feature: cuda -Build-Depends: cuda -Description: parallel computing platform - -Feature: contrib -Build-Depends: opencv[cuda] -Description: library of OpenCV Extensions -``` - -#### Signalrclient -```no-highlight -# signalrclient/CONTROL -Source: signalrclient -Version: 1.0.0-beta1 -Build-Depends: cpprestsdk[ws-client] -Description: C++ client for SignalR. -``` -```no-highlight -# cpprestsdk/CONTROL -Source: cpprestsdk -Version: 2.9.0-2 -Build-Depends: -Description: C++11 JSON, REST, and OAuth library ... -Default-Features: compression, ws-client - -Feature: compression -Build-Depends: zlib (windows) -Description: Gzip compression support in the HTTP client. - -Feature: ws-client -Build-Depends: boost (windows), openssl (windows), websocketpp (windows) -Description: Websocket client support based on websocketspp -``` - -### D. Additional Control File Technical Details - -- If any feature paragraphs exist, the field `Default-Features` must be present. - -## 4. Related Work - -### Cargo's Features (from Rust): -The proposed feature packages are exceedingly similar to Cargo's Features, with the following changes: - -- We avoid any collision problems because features are always namespaced by the owning package -- We do not have a concept of "feature groups", instead we allow dependencies from one feature to another within the same package (Note: This may be how "feature groups" are implemented internally to Cargo -- it was not clear from the documentation). -- Because of the nature of C and C++, it is extremely commonplace that large software packages can have features disabled to remove their dependencies upon other libraries. Changing this configuration requires a rebuild of the package and potentially rippling ABI changes to any downstream dependencies. Therefore, we expect significantly more use of this feature to manage optional API contracts instead of the intended use in Cargo (curation). -- We do not intend feature packages to be used to express the curation relationship, beyond the notion of a "default" set within a package. - -### Gentoo's USE flags: -Gentoo's USE flags can be shortly summarized as a global set of keywords that is used to make cross-cutting changes to the entire package graph's build configuration. This system standardizes many common settings such that they can be simultaneously toggled for the entire graph. - -The most common example of this would be using KDE vs Gnome. A user who knows that, given the choice, they would prefer the KDE/Qt interface can manage the massive space of package configuration efficiently without learning the particular term that each package has decided to call "build using Qt instead of GTK". - -USE flags can be customized hierarchically when needed, including at the per-package level. They can be depended upon by other packages, both positively and negatively. USE flags themselves can be used in any boolean expression to determine the complete set of package dependencies, including removing dependencies when flags are enabled. - -Problems with USE flags: - -- They require coordination from package maintainers to achieve the goal of "portable" flags. This increases the burden of adding a package -- to author a good package, I need to be aware of every uncommon USE flag and evaluate how those could map onto my local configuration space. -- Based on research online, it seems extremely common that users need to tweak flags at a per-package level. This calls into question how valuable the cross-cutting power above is. -- The vast majority of common USE flags are essentially a list of all the common packages and focus on giving the user a view of dependencies (which a package manager is designed to abstract when possible) instead of APIs (which is what users code against). -- Dependency analysis with USE flags becomes a SAT problem with an enormous state space -- P*F bits -- which compounds with any versioning relations. This may work acceptably in practice via heuristics, but it implies that a) there is a looming performance wall which could suddenly create a poor user experience and b) the heuristics may incorrectly model the user's needs, causing a disconnect in desire vs practice, which again leads to a poor user experience. diff --git a/docs/specifications/manifests.md b/docs/specifications/manifests.md deleted file mode 100644 index a71db2d8b59989..00000000000000 --- a/docs/specifications/manifests.md +++ /dev/null @@ -1,302 +0,0 @@ -# Manifests -- `vcpkg.json` - -**Note: this is the feature as it was initially specified and does not necessarily reflect the current behavior.** - -**Up-to-date documentation is available at [Manifests](../users/manifests.md).** - -For many other language package managers, there exists a way of writing one's dependencies in a declarative -manifest format; we want something similar for vcpkg. What follows is the specification of that feature; -this should mean that vcpkg becomes far more user and enterprise-friendly, and is additionally an important -first step for versioning and package federation. Our primary concern, beyond implementability, is ease-of-use; -it is important that using this feature is all of: - -* Easy for existing users -* Easy for new users to set up -* Easy to extend later for new features like versioning and federation -* _Declarative_, not _Imperative_. - -## Reasoning - -### Why JSON? - -We choose JSON for five main reasons: - -* Everybody knows JSON, and if one doesn't, it's really easy to learn -* Every tool supports JSON in the standard library, or in a commonly used support library - * This means writing tooling should be trivial in any language one is comfortable with - * Most configuration formats don't have a COBOL implementation 😉 -* Specified in an international standard - * There is _one_ right way to parse JSON - * There are no ambiguities of what the parse tree _should_ be -* Simple and secure - * Unlike YAML, for example, there's no weird ACE issues - * Easy to write a parser -- important since we can't depend on external libraries -* Schemas are almost a necessity - -Some have suggested allowing comments or commas in our parser; we chose to use JSON proper -rather than JSON5 or JSON with comments because JSON is the everywhere-supported international -standard. That is not necessarily true of JSON with comments. Additionally, if one needs -to write a comment, they can do so via `"$reason"` or `"$comment"` fields. - -## Specification - -A manifest file shall have the name `vcpkg.json`, and shall be in the root directory of a package. -It also replaces CONTROL files, though existing CONTROL files will still be -supported; there will be no difference between ports and packages, except -that packages do not need to supply portfile.cmake (eventually we would like -to remove the requirement of portfile.cmake for ports that already use -CMake). - -The specification uses definitions from the [Definitions](#definitions) section in order -to specify the shape of a value. Note that any object may contain any directives, written as -a field key that starts with a `$`; these directives shall be ignored by `vcpkg`. Common -directives may include `"$schema"`, `"$comment"`, `"$reason"`. - -A manifest must be a top-level object, and must have at least: - -* `"name"`: a `` -* One (and only one) of the following version fields: - * `"version-string"`: A `string`. Has no semantic meaning. - Equivalent to `CONTROL`'s `Version:` field. - * Other version fields will be defined by the Versions RFC - -The simplest vcpkg.json looks like this: - -```json -{ - "name": "mypackage", - "version-string": "0.1.0-dev" -} -``` - -Additionally, it may contain the following properties: -* `"port-version"`: A non-negative integer. If this field doesn't exist, it's assumed to be `0`. - * Note that this is a change from existing CONTROL files, where versions were a part of the version string -* `"maintainers"`: An array of `string`s which contain the authors of a package - * `"maintainers": [ "Nicole Mazzuca ", "שלום עליכם " ]` -* `"description"`: A string or array of strings containing the description of a package - * `"description": "mypackage is a package of mine"` -* `"homepage"`: A url which points to the homepage of a package - * `"homepage": "https://github.com/strega-nil/mypackage"` -* `"documentation"`: A url which points to the documentation of a package - * `"documentation": "https://readthedocs.io/strega-nil/mypackage"` -* `"license"`: A `` - * `"license": "MIT"` -* `"dependencies"`: An array of ``s -* `"dev-dependencies"`: An array of ``s which are required only for developers (testing and the like) -* `"features"`: An array of ``s that the package supports -* `"default-features"`: An array of ``s that correspond to features, which will be used by default. -* `"supports"`: A `` - * `"supports": "windows & !arm"` - -Any properties which are not listed, and which do not start with a `$`, -will be warned against and are reserved for future use. - -The following is an example of an existing port CONTROL file rewritten as a vcpkg.json file: - -``` -Source: pango -Version: 1.40.11-6 -Homepage: https://ftp.gnome.org/pub/GNOME/sources/pango/ -Description: Text and font handling library. -Build-Depends: glib, gettext, cairo, fontconfig, freetype, harfbuzz[glib] (!(windows&static)&!osx) -``` - -```json -{ - "name": "pango", - "version-string": "1.40.11", - "port-version": 6, - "homepage": "https://ftp.gnome.org/pub/GNOME/sources/pango/", - "description": "Text and font handling library.", - "dependencies": [ - "glib", - "gettext", - "cairo", - "fontconfig", - "freetype", - { - "name": "harfbuzz", - "features": [ "glib" ], - "platform": "!(windows & static) & !osx" - } - ] -} -``` - -## Behavior of the Tool - -There will be two "modes" for vcpkg from this point forward: "classic", and "manifest". -The former will act exactly like the existing vcpkg workflow, so as to avoid breaking -anyone. The latter will be the mode only when the user either: - -* Passes `--manifest-root=` (initially, `x-manifest-root`) -* Runs `vcpkg` in a directory that contains a file named `vcpkg.json`, or in a - child directory of a directory containing `vcpkg.json`. - * For this, initially vcpkg will warn that the behavior will change in the - future, and simply run in classic mode, unless the feature flag `manifests` is - passed via: - * The environment variable `VCPKG_FEATURE_FLAGS` - * The option `--feature-flags` - * (e.g., `--feature-flags=binarycaching,manifests`) - * If someone wants to use classic mode and silence the warning, they can add the - `-manifests` feature flag to disable the mode. - -When in "manifest" mode, the `installed` directory will be changed to -`/vcpkg_installed` (name up for bikeshedding). -The following commands will change behavior: - -* `vcpkg install` without any port arguments will install the dependencies listed in - the manifest file, and will remove any dependencies - which are no longer in the dependency tree implied by the manifest file. -* `vcpkg install` with port arguments will give an error. - -The following commands will not work in manifest mode, at least initially: - -* `vcpkg x-set-installed`: `vcpkg install` serves the same function -* `vcpkg remove` -* `vcpkg export` - -We may add these features back for manifest mode once we understand how best to -implement them. - -### Behavior of the Toolchain - -Mostly, the toolchain file stays the same; however, we shall add -two public options: - -```cmake -VCPKG_MANIFEST_MODE:BOOL= -VCPKG_MANIFEST_INSTALL:BOOL=ON -``` - -The first option either explicitly turns on, or off, manifest mode; -otherwise, we default to looking for a manifest file in the directory -tree upwards from the source directory. - -The `VCPKG_MANIFEST_INSTALL` option tells the toolchain whether to -install the packages or not -- if you wish to install the manifest -dependencies manually, you can set this to off, and we also turn it -off for packages installed by vcpkg. - -Additionally, if `-manifests` is set in the feature flags environment -variable, we turn off manifest mode in the toolchain, and we act like -the classic toolchain. - -### Example - CMake Integration - -An example of using the new vcpkg manifests feature for a new -project follows: - -The filesystem structure should look something like: - -``` -example/ - src/ - main.cxx - CMakeLists.txt - vcpkg.json -``` - -Then, `main.cxx` might look like: - -```cpp -#include - -int main() { - fmt::print("Hello, {}!", "world"); -} -``` - -Therefore, in `vcpkg.json`, we'll need to depend on `fmt`: - -```json -{ - "name": "example", - "version-string": "0.0.1", - "dependencies": [ - "fmt" - ] -} -``` - -Then, let's write our `CMakeLists.txt`: - -```cmake -cmake_minimum_required(VERSION 3.14) - -project(example CXX) - -add_executable(example src/main.cxx) - -find_package(fmt REQUIRED) - -target_link_libraries(example - PRIVATE - fmt::fmt) -``` - -And finally, to configure and build: - -```sh -$ cd example -$ cmake -B build -S . -DCMAKE_TOOLCHAIN_FILE=$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake -... configuring and installing... -$ cmake --build build -``` - -and we're done! `fmt` will get installed into -`example/build/vcpkg_installed`, and we can run our executable with: - -```sh -$ build/example -Hello, world! -``` - -## Definitions - -* ``: A `string` which: - * Is entirely ASCII - * Contains only lowercase alphabetic characters, digits, and hyphen-minus - * Does not have multiple consecutive hyphens - * Does not begin nor end with a hyphen - * Is not a Windows filesystem reserved name - * Is not a vcpkg reserved name: "default" or "core". - * In other words, it must follow the regex `[a-z0-9]+(-[a-z0-9]+)*`, and must not be any of: - * `{ prn, aux, nul, con, lpt[1-9], com[1-9], core, default }` -* ``: A `string` consisting of a non-zero number of ``s, separated by `.`. - * `a.b.c` is valid - * `a` is valid - * `a/b` is not valid - * `Boost.Beast` is not valid, but `boost.beast` is -* ``: Either a ``, or an object: - * A dependency always contains the following: - * `"name"`: A `` - * Optionally, `"features"`: an array of ``s corresponding to features in the package. - * Optionally, `"default-features"`: a `boolean`. If this is false, then don't use the default features of the package; equivalent to core in existing CONTROL files. If this is true, do the default thing of including the default features. - * Optionally, `"platform"`: a `` - * ``: No extra fields are required. -* ``: An SPDX license expression at version 3.9. -* ``: A specification of a set of platforms; used in platform-specific dependencies and supports fields. A string that is parsed as follows: - * ``: - * `` - * `` - * `` - * ``: - * `( )` - * `` - * ``: - * regex: `/^[a-z0-9]+$/` - * ``: - * `` - * `! ` - * `` - * `` - * ` & ` - * `` - * `` - * ` | ` -* ``: An object containing the following: - * `"name"`: An ``, the name of the feature - * `"description"`: A `string` or array of `string`s, the description of the feature - * Optionally, `"dependencies"`: An array of ``s, the dependencies used by this feature diff --git a/docs/specifications/ports-overlay.md b/docs/specifications/ports-overlay.md deleted file mode 100644 index 632954fc34375d..00000000000000 --- a/docs/specifications/ports-overlay.md +++ /dev/null @@ -1,183 +0,0 @@ -# Ports Overlay (Jun 19, 2019) - -**Note: this is the feature as it was initially specified and does not necessarily reflect the current behavior.** - -## 1. Motivation - -### A. Allow users to override ports with alternate versions - -It's a common scenario for `vcpkg` users to keep specific versions of libraries to use in their own projects. The current recommendation for users is to fork `vcpkg`'s repository and create tags for commits containing the specific versions of the ports they want to use. - -This proposal adds an alternative to solve this problem. By allowing `vcpkg` users to specify additional locations in their file system containing ports for: - - * older or newer versions of libraries, - * modified libraries, or - * libraries not available in `vcpkg`. - -These locations will be searched when resolving port names during package installation, and override ports in `/ports`. - -### B. Allow users to keep unmodified upstream ports - -Users will be able to keep unmodified versions of the ports shipped with `vcpkg` and update them via `vcpkg update` and `vcpkg upgrade` without having to solve merge conflicts. - - -## 2. Other design concerns - -* Allow a set of `vcpkg` commands to optionally accept additional paths to be used when searching for ports. -* Additional paths must take precedence when resolving names of ports to install. -* Allow users to specify multiple additional paths. -* Provide a simple disambiguation mechanism to resolve ambiguous port names. -* After resolving a port name, the installation process has to work the same as for ports shipped by `vcpkg`. -* This **DOES NOT ENABLE MULTIPLE VERSIONS** of a same library to be **INSTALLED SIDE-BY-SIDE**. - - -## 3. Proposed solution - -This document proposes allowing additional locations to search for ports during package installation that will override and complement the set of ports provided by `vcpkg` (ports under the `/ports` directory).` - -A new option `--overlay-ports` will be added to the `vcpkg install`, `vcpkg update`, `vcpkg upgrade`, `vcpkg export`, and `vcpkg depend-info` commands to specify additional paths containing ports. - -From a user experience perspective, a user expresses interest in adding additional lookup locations by passing the `--overlay-ports` option followed by a path to: - -* an individual port (directory containing a `CONTROL` file), - * `vcpkg install sqlite3 --overlay-ports="C:\custom-ports\sqlite3"` - -* a directory containing ports, - * `vcpkg install sqlite3 --overlay-ports=\\share\org\custom-ports` - -* a file listing paths to the former two. - > NOTE: Reading paths from a text file is not available in the current implementation, some revisions to this part of the specification are being made and will be implemented in a future date. - - * `vcpkg install sqlite3 --overlay-ports=..\port-repos.txt` - - _port-repos.txt_ - - ``` - .\experimental-ports\sqlite3 - C:\custom-ports - \\share\team\custom-ports - \\share\org\custom-ports - ``` - *Relative paths inside this file are resolved relatively to the file's location. In this case a `experimental-ports` directory should exist at the same level as the `port-repos.txt` file.* - -_NOTE: It is not the goal of this document to discuss library versioning or project dependency management solutions, which require the ability to install multiple versions of a same library side-by-side._ - -### Multiple additional paths - -Users can provide multiple additional paths by repeating the `--overlay-ports` option. - -``` -vcpkg install sqlite3 - --overlay-ports="..\experimental-ports\sqlite3" - --overlay-ports="C:\custom-ports" - --overlay-ports="\\share\team\custom-ports -``` - -### Overlaying ports - -Port name resolution follows the order in which additional paths are specified, with the first match being selected for installation, and falling back to `/ports` if the port is not found in any of the additional paths. - -No effort is made to compare version numbers inside the `CONTROL` files, or to determine which port contains newer or older files. - -### Examples - -Given the following directory structure: - - ``` - team-ports/ - |-- sqlite3/ - |---- CONTROL - |-- rapidjson/ - |---- CONTROL - |-- curl/ - |---- CONTROL - - my-ports/ - |-- sqlite3/ - |---- CONTROL - |-- rapidjson/ - |---- CONTROL - - vcpkg - |-- ports/ - |---- - |-- vcpkg.exe - |-- preferred-ports.txt - ``` -* #### Example #1: - - Running: - - ``` - vcpkg/vcpkg.exe install sqlite3 --overlay-ports=my-ports --overlay-ports=team-ports - ``` - - Results in `my-ports/sqlite3` getting installed as that location appears first in the command line arguments. - -* #### Example #2: - - A specific version of a port can be given priority by adding its path first in the list of arguments: - - ``` - vcpkg/vcpkg.exe install sqlite3 rapidjson curl - --overlay-ports=my-ports/rapidjson - --overlay-ports=vcpkg/ports/curl - --overlay-ports=team-ports - ``` - - Installs: - * `sqlite3` from `team-ports/sqlite3` - * `rapidjson` from `my-ports/rapidjson` - * `curl` from `vcpkg/ports/curl` - -* #### Example #3: - - > NOTE: Reading paths from a text file is not available in the current implementation, some revisions to this part of the specification are being made and will be implemented in a future date. - - Given the content of `preferred-ports.txt` as: - - ``` - ./ports/curl - /my-ports/rapidjson - /team-ports - ``` - - A location can be appended or prepended to those included in `preferred-ports.txt` via the command line, like this: - - ``` - vcpkg/vcpkg.exe install sqlite3 curl --overlay-ports=my-ports --overlay-ports=vcpkg/preferred-ports.txt - ``` - - Which results in `my-ports/sqlite3` and `vcpkg/ports/curl` getting installed. - - -## 4. Proposed User experience - -### i. User wants to preserve an older version of a port - -Developer Alice and her team use `vcpkg` to acquire **OpenCV** and some other packages. She has even contributed many patches to add features to the **OpenCV 3** port in `vcpkg`. But, one day, she notices that a PR to update **OpenCV** to the next major version has been merged. - -Alice wants to update some packages available in `vcpkg`. Unfortunately, updating her project to use the latest **OpenCV** is not immediately possible. - -Alice creates a private GitHub repository and checks in the set of ports that she wants to preserve. Then provides her teammates with the link to clone her private ports repository. - -``` -mkdir vcpkg-custom-ports -cd vcpkg-custom-ports -git init -cp -r %VCPKG_ROOT%/ports/opencv . -git add . -git commit -m "[opencv] Add OpenCV 3 port" -git remote add origin https://github.com//vcpkg-custom-ports.git -git push -u origin master -``` - -Now her team is able to use: - -``` -git clone https://github.com//vcpkg-custom-ports.git -vcpkg update --overlay-ports=./vcpkg-custom-ports -vcpkg upgrade --no-dry-run --overlay-ports=./vcpkg-custom-ports -``` - -to upgrade their packages and preserve the old version of **OpenCV** they require. diff --git a/docs/specifications/prefab.md b/docs/specifications/prefab.md deleted file mode 100644 index 8b84874426fec1..00000000000000 --- a/docs/specifications/prefab.md +++ /dev/null @@ -1,160 +0,0 @@ -# Vcpkg: export Android prefab Archives (AAR files) - -**Note: this is the feature as it was initially specified and does not necessarily reflect the current behavior.** - -Vcpkg can export android archives ([AAR files](https://developer.android.com/studio/projects/android-library)). Once an archive is created, it can imported in Android Studio as a native dependent. The archive is automatically consumed using [android studio's prefab tool](https://github.com/google/prefab). - -For more information on Prefab, refer to: -* The [official prefab documentation](https://google.github.io/prefab). -* a blog post from Android developers blog: [Native Dependencies in Android Studio 4.0](https://android-developers.googleblog.com/2020/02/native-dependencies-in-android-studio-40.html) - -_Note for Android Studio users: prefab packages are supported on Android Studio 4+_ - -## Requirements - -1. `ndk ` - -Set environment variable `ANDROID_NDK_HOME` to your android ndk installation. For example: - -```` -export ANDROID_NDK_HOME=/home/your-account/Android/Sdk/ndk-bundle -```` - -2. `7zip ` or `zip ` - -3. `maven ` - -4. Android triplets - -See [android.md](../users/android.md) for instructions on how to install the triplets. - -*Please note that in order to use "prefab" (see below), the four architectures are required. If any is missing the export will fail* - - -## Example exporting [jsoncpp] - -First "vcpkg install" the 4 android architectures (it is mandatory to export all 4 of them) - -```` -./vcpkg install jsoncpp:arm-android jsoncpp:arm64-android jsoncpp:x64-android jsoncpp:x86-android -```` - - -Then, export the prefab: - -Note: -* The `--prefab-maven` flag is optional. Call it if you maven is installed. -* The `--prefab-debug` flag will output instructions on how to use the prefab archive via gradle. - -``` -./vcpkg export --triplet x64-android jsoncpp --prefab --prefab-maven --prefab-debug -``` - -You will see an output like this: -``` -The following packages are already built and will be exported: - jsoncpp:arm64-android - -Exporting package jsoncpp... -[DEBUG] Found 4 triplets - arm64-android - x64-android - x86-android - arm-android - -... -... Lots of output... -... - -[INFO] Scanning for projects... -Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.pom - -... -... Lots of output... -... - -[INFO] BUILD SUCCESS -[INFO] Total time: 2.207 s -[INFO] Finished at: 2020-05-10T14:42:28+02:00 - - -... -... Lots of output... -... - -[DEBUG] Configuration properties in Android Studio -In app/build.gradle - - com.vcpkg.ndk.support:jsoncpp:1.9.2 - -And cmake flags - - externalNativeBuild { - cmake { - arguments '-DANDROID_STL=c++_shared' - cppFlags "-std=c++17" - } - } - -In gradle.properties - - android.enablePrefab=true - android.enableParallelJsonGen=false - android.prefabVersion=${prefab.version} - -Successfully exported jsoncpp. Checkout .../vcpkg/prefab - -``` - -#### The output directory after export - -```` -prefab -└── jsoncpp/ - ├── aar/ - │   ├── AndroidManifest.xml - │   ├── META-INF/ - │   │   └── LICENSE - │   └── prefab/ - │   ├── modules/ - │   │   └── jsoncpp/ - │   │   ├── libs/ - │   │   │   ├── android.arm64-v8a/ - │   │   │   │   ├── abi.json - │   │   │   │   ├── include/ - │   │   │   │   │   └── json/ - │   │   │   │   │   ├── json.h - │   │   │   │   │   └── .... - │   │   │   │   └── libjsoncpp.so - │   │   │   ├── android.armeabi-v7a/ - │   │   │   │   ├── abi.json - │   │   │   │   ├── include/ - │   │   │   │   │   └── json/ - │   │   │   │   │   ├── json.h - │   │   │   │   │   └── .... - │   │   │   │   └── libjsoncpp.so - │   │   │   ├── android.x86/ - │   │   │   │   ├── abi.json - │   │   │   │   ├── include/ - │   │   │   │   │   └── json/ - │   │   │   │   │   ├── json.h - │   │   │   │   │   └── .... - │   │   │   │   └── libjsoncpp.so - │   │   │   └── android.x86_64/ - │   │   │   ├── abi.json - │   │   │   ├── include/ - │   │   │   │   └── json/ - │   │   │   │   │   ├── json.h - │   │   │   │   │   └── .... - │   │   │   └── libjsoncpp.so - │   │   └── module.json - │   └── prefab.json - ├── jsoncpp-1.9.2.aar - └── pom.xml -```` - -## Example consuming [jsoncpp] via vcpkg and prefab - -See the example repo here: - -https://github.com/atkawa7/prefab-vpkg-integration-sample diff --git a/docs/specifications/registries-2.md b/docs/specifications/registries-2.md deleted file mode 100644 index b44dacfe5fd65c..00000000000000 --- a/docs/specifications/registries-2.md +++ /dev/null @@ -1,559 +0,0 @@ -# Registries: Take 2 (including Git Registries) - -**Note: this is the feature as it was initially specified and does not necessarily reflect the current behavior.** - -Originally, the design of registries was decided upon and written up in the [Registries RFC](registries.md). -However, as we've gotten further into the design process of git registries and versioning, -and discussed the interaction of versioning with registries, -it's become clear that the existing design was lacking. -We need to have an on-disk port database that is not tied to the ports tree. - -This RFC is a new design for registries, that includes this registry database. -It also includes the design for git registries, -which are likely to be the predominant form of registries in the wild. -They are also what we will start to treat the default registry as, -to allow for updating ports without updating the vcpkg executable -(likely necessary for binary releases). - -## Design Considerations - -After internal discussions of the relationship between versioning and registries, -it was clear that the existing design of registries does not play well with versioning. -It was also clear that it was necessary to have metadata about ports in a separate place from the ports tree; -in fact, after discussion, it was clear that the ports tree should be considered an implementation detail; -a backing store for build process information (e.g., `portfile.cmake` and the patches) and the manifest. - -From this, it's clear that vcpkg needs to add a new set of metadata. -The versioning implementation has decided on `port_versions`, and thus that's what this RFC uses. - -Since we're replacing the existing ports directory with a new method of describing ports, -this means that the ports directory is no longer anything but a data store. -This also means that the existing rules around locations of ports is no longer required; -however, it will still keep getting followed for the main repository, -and it's recommended that other registries follow the same pattern to make contributing easier. - -## What does the registry database look like? - -We don't wish to have the same problem as we do right now, -where there are nearly 1500 entries in a single directory. -We solve this by placing each database entry into `port_versions/-/.json`. -For example, the database entry for 7zip is in `port_versions/7-/7zip.json`. - -Each of these database entries contains all of the versions of the port throughout history, -along with versioning and feature metadata, so that we do not have to check out old manifests or CONTROL files -to get at that information. - -Each database entry file must be a top-level array of port version objects, which contain the following entries: -* A version field: `"version-string"`, `"version"`, etc. Same as in the manifest. -* Optionally, `"port-version"`: Same as in the manifest. - -And also contain a description of where to find the build files for this port; the possibilities include: - -* `"git-tree"`: The [git object ID] of a tree object; this is only allowed for git registries. - Note that this ID must be an ID from the repository where the registry is located. -* `"path"`: A path describing where to find the build files. - The first entry in this path should be `$`, which means "this path starts at the root of the registry". - No other kinds of paths are allowed. - * For example: `$/foo/bar` gives you `foo/bar` underneath the folder containing the `port_versions` directory. - * `/foo/bar` and `foo/bar` are both disallowed. - -Using a `"git-tree"` as a backend in a non-git registry, and using a `"path"` in a git registry, -is not permitted. Future extensions may include things like remote archives or git repositories, -or may allow `"path"` in git registries. - -Note that a registry entry should _always_ be additive; -deleting existing entries is unsupported and may result in bad behavior. -The only modification to existing entries that is allowable is moving the backing store -for the build files, assuming that the new build files are equivalent to the old build files. -(For example, a filesystem registry might have a new way of laying out where ports are). - -Additionally, we'd like a new way of describing the set of ports that make up a "baseline". -This is currently done with the reference of the vcpkg git repository - -each reference has a set of versions that are tested against each other, -and this is a major feature of vcpkg. -We wish to have the same feature in the new versioning world, -and so we'll have a set of baseline versions in the registry database. - -Baselines act differently between git registries or the builtin registry, -and in filesystem registries. -In git registries and the builtin registry, -since there's a history that one can access, -a baseline is the `"default"` entry in the baseline at the reference specified. -In filesystem registries, since there is no accessible history, -the baseline identifiers are mapped directly to entries in the baseline file, -without translation; by default, the `"default"` entry is used. - -These baselines are placed in `port_versions/baseline.json`. -This is an object mapping baseline names to baseline objects, -where baseline objects map port names to version objects. -A version object contains `"baseline"`, which is un-schemed version, -and optionally `"port-version"`. - -[git object ID]: https://git-scm.com/book/en/v2/Git-Internals-Git-Objects - -### Example of a baseline file - -The following is a reasonable baseline.json for a filesystem registry that only has two ports: - -```json -{ - "default": { - "abseil": { "baseline": "2020-03-03" }, - "zlib": { "baseline": "1.2.11", "port-version": 9 } - }, - "old": { - "abseil": { "baseline": "2019-02-11" }, - "zlib": { "baseline": "1.2.11", "port-version": 3 } - }, - "really-old": { - "zlib": { "baseline": "1.2.9" } - } -} -``` - -### Example of a registry database entry file - -Note: This file assumes that the versions RFC has been implemented, -and thus that minimum versions are required; -the syntax may change in the time between now and finishing the implementation. - -This example is of `ogre`, since this port has both features and dependencies; -remember that this file would be `port_versions/o-/ogre.json`. - -```json -[ - { - "version-string": "1.12.7", - "git-tree": "466e96fd2e17dd2453aa31dc0bc61bdcf53e7f61", - }, - { - "version-string": "1.12.1", - "port-version": 1, - "git-tree": "0de81b4f7e0ec24966e929c2ea64e16c15e71d5e", - }, - ... -] -``` - -#### Filesystem Registry Databases - -Filesystem registries are the simplest possible registry; -they have a `port_versions` directory at the top-level, which contains the registry database. -It's expected that the filesystem registry would have a filesystem backing store: -something like the existing `ports` directory, except with separate versions. -There won't be a specific way to lay the ports tree out as mandated by the tool, -as we are treating the ports tree as an implementation detail of the registry; -it's simply a way to get the files for a port. -As an example, let's assume that the registry is laid out something like this: - -``` -/ - port_versions/ - baseline.json - a-/ - abseil.json - asmjit.json - o-/ - ogre.json - ports/ - a-/ - abseil/ - 2020-03-03_7/ - vcpkg.json - portfile.cmake - ... - 2020-03-03_8/ - vcpkg.json - portfile.cmake - ... - ... - asmjit/ - 2020-05-08/ - CONTROL - portfile.cmake - ... - 2020-07-22/ - vcpkg.json - portfile.cmake - ... - o-/ - ogre/ - 1.12.7/ - ... - 1.12.1/ - ... - ... - ... -``` - -Then, let's look at updating `asmjit` to latest. - -The current manifest file, in `asmjit/2020-07-22/vcpkg.json` looks like: - -```json -{ - "name": "asmjit", - "version-string": "2020-07-22", - "description": "Complete x86/x64 JIT and Remote Assembler for C++", - "homepage": "https://github.com/asmjit/asmjit", - "supports": "!arm" -} -``` - -while the current `port_versions/a-/asmjit.json` looks like: - -```json -[ - { - "version-string": "2020-07-22", - "path": "$/ports/a-/asmjit/2020-07-22" - }, - { - "version-string": "2020-05-08", - "path": "$/ports/a-/asmjit/2020-05-08" - } -] -``` - -with `port_versions/baseline.json` looking like: - -```json -{ - "default": { - ..., - "asmjit": { "baseline": "2020-07-22" }, - ... - } -} -``` - -and we'd like to update to `2020-10-08`. -We should first copy the existing implementation to a new folder: - -```sh -$ cp -r ports/a-/asmjit/2020-07-22 ports/a-/asmjit/2020-10-08 -``` - -then, we'll make the edits required to `ports/a-/asmjit/2020-10-08` to update to latest. -We should then update `port_versions/a-/asmjit.json`: - -```json -[ - { - "version-string": "2020-10-08", - "path": "$/ports/a-/asmjit/2020-10-08" - }, - { - "version-string": "2020-07-22", - "path": "$/ports/a-/asmjit/2020-07-22" - }, - { - "version-string": "2020-05-08", - "path": "$/ports/a-/asmjit/2020-05-08" - } -] -``` - -and update `port_versions/baseline.json`: - -```json -{ - "default": { - ..., - "asmjit": { "baseline": "2020-10-08" }, - ... - } -} -``` - -and we're done 😊. - -#### Git Registry Databases - -Git registries are not quite as simple as filesystem registries, -but they're still pretty simple, and are likely to be the most common: -the default registry is a git registry, for example. -There is not a specific way the tool requires one to lay out the backing store, -as long as it's possible to get an object hash that corresponds to a checked-in git tree -of the build information. -This allows, for example, the current vcpkg default registry way of laying out ports, -where the latest version of a port `

` is at `ports/

`, -and it also allows for any number of other designs. -One interesting design, for example, -is having an `old-ports` branch which is updated whenever someone want to backfill versions; -then, one could push the old version to the `old-ports` branch, -and then update the HEAD branch with the git tree of the old version in `port_versions/p-/

`. - -As above, we want to update `asmjit` to latest; let's assume we're working in the default vcpkg registry -(the repository): - -The current manifest file for `asmjit` looks like: - -```json -{ - "name": "asmjit", - "version-string": "2020-07-22", - "description": "Complete x86/x64 JIT and Remote Assembler for C++", - "homepage": "https://github.com/asmjit/asmjit", - "supports": "!arm" -} -``` - -and the current `port_versions/a-/asmjit.json` looks like: - -```json -[ - { - "version-string": "2020-07-22", - "git-tree": "fa0c36ba15b48959ab5a2df3463299e1d2473b6f" - } -] -``` - -Now, let's update it to the latest version: - -```json -{ - "name": "asmjit", - "version-string": "2020-10-08", - "description": "Complete x86/x64 JIT and Remote Assembler for C++", - "homepage": "https://github.com/asmjit/asmjit", - "supports": "!arm" -} -``` - -and make the proper edits to the portfile.cmake. Then, let's commit the changes: - -```cmd -> git add ./ports/asmjit -> git commit -m "[asmjit] update asmjit to 2020-10-08" -``` - -In `git-tree` mode, one needs to commit the new version of the port to get the git tree hash; -we use `git rev-parse` to do so: - -```cmd -> git rev-parse HEAD:ports/asmjit -2bb51d8ec8b43bb9b21032185ca8123da10ecc6c -``` - -and then modify `port_versions/a-/asmjit.json` as follows: - -```json -[ - { - "version-string": "2020-10-08", - "git-tree": "2bb51d8ec8b43bb9b21032185ca8123da10ecc6c" - }, - { - "version-string": "2020-07-22", - "git-tree": "fa0c36ba15b48959ab5a2df3463299e1d2473b6f" - } -] -``` - -Then we can commit and push this new database with: - -```sh -$ git add port_versions -$ git commit --amend --no-edit -$ git push -``` - -## Consuming Registries - -The `vcpkg-configuration.json` file from the [first registries RFC](registries.md) -is still the same, except that the registries have a slightly different layout. -A `` is still an object with the following fields: -* Optionally, `"default-registry"`: A `` or `null` -* Optionally, `"registries"`: An array of ``s - -Additionally, `` is still the same; -a `` object, plus the following properties: -* Optionally, `"baseline"`: A named baseline. Defaults to `"default"`. -* Optionally, `"packages"`: An array of ``s - -however, ``s are now slightly different: -* ``: - * `"kind"`: The string `"builtin"` -* ``: - * `"kind"`: The string `"filesystem"` - * `"path"`: A path -* ``: - * `"kind"`: The string `"git"` - * `"repository"`: A URI - -The `"packages"` field of distinct registries must be disjoint, -and each `` must have at the `"packages"` property, -since otherwise there's no point. - -As an example, a package which uses a different default registry, and a different registry for boost, -might look like the following: - -```json -{ - "default-registry": { - "kind": "filesystem", - "path": "vcpkg-ports" - }, - "registries": [ - { - "kind": "builtin", - "packages": [ "cppitertools" ] - } - ] -} -``` - -This will install `fmt` from `/vcpkg-ports`, -and `cppitertools` and the `boost` ports from the registry that ships with vcpkg. -Notably, this does not replace behavior up the tree -- only the `vcpkg-configuration.json`s -for the current invocation do anything. - -### Filesystem Registries - -A filesystem registry takes on the form: - -* `"kind"`: The string `"filesystem"` -* `"path"`: The path to the filesystem registry's root, i.e. the directory containing the `port_versions` directory. - -```json -{ - "kind": "filesystem", - "path": "vcpkg-registry" -} -``` - -Unlike git registries, where there's quite a bit of interesting stuff going on, -there isn't much stuff to do with filesystem registries. -We simply use the registry database at `/port_versions` to get information about ports. - -### Git Registries - -A git registry takes on the form: - -* `"kind"`: The string `"git"` -* `"repository"`: The URL at which the git repository lives. May be any kind of URL that git understands - -```json -{ - "kind": "git", - "repository": "https://github.com/microsoft/vcpkg" -} -``` - -Whenever the first vcpkg command is run with a git registry, -vcpkg notes down the exact commit that HEAD points to at the time of the run in the `vcpkg-lock.json` file. -This will be used as the commit which vcpkg takes the `"default"` baseline from, -and vcpkg will only update that commit when `vcpkg update` is run. - -Since the `"versions"` field is strictly additive, we don't consider older refs than `HEAD`. -We update the repository on some reasonable clip. -Likely, whenever a command is run that will change the set of installed ports. - -#### `vcpkg-lock.json` - -This file will contain metadata that we need to save across runs, -to allow us to keep a "state-of-the-world" that doesn't change unless one explicitly asks for it to change. -This means that, even across different machines, the same registries will be used. -We will also be able to write down version resolution in this file as soon as that feature is added. - -It is recommended that one adds this `vcpkg-lock.json` to one's version control. -This file is machine generated, and it is not specified how it's laid out; -however, for purposes of this RFC, we will define how it relates to git registries. - -In `vcpkg-lock.json`, in the top level object, -there will be a `"registries"` property that is an object. -This object will contain a `"git"` field, which is an array of git-registry objects, -that contain: - -* `"repository"`: The `"repository"` field from the git registry object -* `"baseline"`: The name of the baseline that we've used -* `"baseline-ref"`: The ref which we've gotten the specific baseline from. - -For example, a `vcpkg-lock.json` might look like: - -```json -{ - "registries": { - "git": [ - { - "repository": "https://github.com/microsoft/vcpkg", - "baseline": "default", - "baseline-ref": "6185aa76504a5025f36754324abf307cc776f3da" - } - ] - } -} -``` - -#### `vcpkg update` - -You'll notice that once the repository is added the first time, -there is only one way to update the repository to the tag at a later date - deleting the lock file. -We additionally want to add support for the user updating the registry by themselves - -they will be able to do this via the `vcpkg update` command. -The `vcpkg update` command will, for each git registry, -update the registry and repoint the `"commit"` field in `vcpkg-lock.json` to the latest `HEAD`. - -There is no way to update only one git registry to a later date, since versions are strictly additive. - -## Git Registries: Implementation on Disk - -There are two implementations on disk to consider here: the implementation of the registry database, -and once we have the database entries for the ports, accessing the port data from the git tree object. - -Both of these implementations are placed in the vcpkg cache home (shared by binary caching archives). -On unix, this is located at `$XDG_CACHE_HOME/vcpkg` if the environment variable exists, -otherwise `$HOME/.cache/vcpkg`; on Windows, it's located at `%LOCALAPPDATA%\vcpkg`. -In this document, we use the variable `$CACHE_ROOT` to refer to this folder. -We will add a new folder, `$CACHE_ROOT/registries`, which will contain all the data we need. - -First, we'll discuss the registry database. - -### Registry Database - -At `$CACHE_ROOT/registries/git`, -we'll create a new git repository root which contains all information from all git registries, -since the hashes should be unique, and this allows for deduplication -across repositories which have the same commits (e.g., for mirrors). -In order to get the data from git registries, we simply `fetch` the URL of the git registry. - -In order to grab a specific database entry from a git registry, `git show` is used to grab the -file from the right commit: `git show -- port_versions/-/.json`. - -One unfortunate thing about having one directory being used for all vcpkg instances on a machine is -that it's possible to have an issue with concurrency - for example, after `fetch`ing the latest HEAD -of `https://github.com/microsoft/vcpkg`, another vcpkg process might fetch the latest HEAD of -`https://github.com/meow/vcpkg` before the first vcpkg process has the chance to `git rev-parse FETCH_HEAD`. -Since the first vcpkg process will run `git rev-parse` after the second fetch is done, -instead of getting the `HEAD` of `microsoft/vcpkg`, they instead get the `HEAD` of `meow/vcpkg`. -We will solve this by having a mutex file in `$CACHE_ROOT/registries/git` -that vcpkg locks before any fetches (and unlocks after `rev-parse`ing). - -### Accessing Port Data from `git-tree`s - -Once we've done version resolution and everything with the database, -we then need to access the port data from the git history. -We will add a new folder, `$CACHE_ROOT/registries/git-trees`, into which we'll check out the port data. - -In this `git-trees` directory, we will have all of the trees we check out, at their hashes. -For example, the asmjit port data from above will be located at -`git-trees/2bb51d8ec8b43bb9b21032185ca8123da10ecc6c`. -We will add a mutex file in this `git-trees` directory as well which is taken whenever -we are checking out a new git tree. -We wish to allow multiple vcpkg instances to read port data at a time, -and thus we do the check outs semi-atomically - if `git-trees/` exists, -then the `` must be completely checked out. -vcpkg does this by first checking out to a temporary directory, -and then renaming to the actual hash. - -## Future Extensions - -The way forward for this is to allow the `"builtin"` registry to be a git registry, -in order to support packaging and shipping vcpkg as a binary. -This is currently our plan, although it definitely is still a ways out. -Git registries _are_ an important step on that road, -but are also a good way to support both enterprise, -and experimentation by our users. -They allow us a lot more flexibility than we've had in the past. \ No newline at end of file diff --git a/docs/specifications/registries.md b/docs/specifications/registries.md deleted file mode 100644 index 896188f4c6b6a1..00000000000000 --- a/docs/specifications/registries.md +++ /dev/null @@ -1,287 +0,0 @@ -# Package Federation: Custom Registries - -**Note: this is the feature as it was initially specified and does not necessarily reflect the current behavior.** - -As it is now, vcpkg has over 1400 ports in the default registry (the `/ports` directory). -For the majority of users, this repository of packages is enough. However, many enterprises -need to more closely control their dependencies for one reason or another, and this document -lays out a method which we will build into vcpkg for exactly that reason. - -## Background - -A registry is simply a set of packages. In fact, there is already a registry in vcpkg: the default one. -Package federation, implemented via custom registries, allows one to add new packages, -edit existing packages, and have as much or as little control as one likes over the dependencies that one uses. -It gives the control over dependencies that an enterprise requires. - -### How Does the Current Default Registry Work? - -Of course, the existing vcpkg tool does have packages in the official, -default registry. The way we describe these packages is in the ports tree – -at the base of the vcpkg install directory, there is a directory named ports, -which contains on the order of 1300 directories, one for each package. Then, -in each package directory, there are at least two files: a CONTROL or -vcpkg.json file, which contains the name, version, description, and features -of the package; and a portfile.cmake file which contains the information on -how to download and build the package. There may be other files in this -registry, like patches or usage instructions, but only those two files are -needed. - -### Existing vcpkg Registry-like Features - -There are some existing features in vcpkg that act somewhat like a custom -registry. The most obvious feature that we have is overlay ports – this -feature allows you to specify any number of directories as "overlays", which -either contain a package definition directly, or which contain some number of -package directories; these overlays will be used instead of the ports tree -for packages that exist in both places, and are specified exclusively on the -command line. Additionally, unfortunately, if one installs a package from -overlay ports that does not exist in the ports tree, one must pass these -overlays to every vcpkg installation command. - -There is also the less obvious "feature" which works by virtue of the ports -tree being user-editable: one can always edit the ports tree on their own -machine, and can even fork vcpkg and publish their own ports tree. -Unfortunately, this then means that any updates to the source tree require -merges, as opposed to being able to fast-forward to the newest sources. - -### Why Registries? - -There are many reasons to want custom registries; however, the most important reasons are: - -* Legal requirements – a company like Microsoft or Google - needs the ability to strictly control the code that goes into their products, - making certain that they are following the licenses strictly. - * There have been examples in the past where a library which is licensed under certain terms contains code - which is not legally allowed to be licensed under those terms (see [this example][legal-example], - where a person tried to merge Microsoft-owned, Apache-licensed code into the GPL-licensed libstdc++). -* Technical requirements – a company may wish to run their own tests on the packages they ship, - such as [fuzzing]. -* Other requirements – an organization may wish to strictly control its dependencies for a myriad of other reasons. -* Newer versions – vcpkg may not necessarily always be up to date for all libraries in our registry, - and an organization may require a newer version than we ship; - they can very easily update this package and have the version that they want. -* Port modifications – vcpkg has somewhat strict policies on port modifications, - and an organization may wish to make different modifications than we do. - It may allow that organization to make certain that the package works on triplets - that our team does not test as extensively. -* Testing – just like port modifications, if a team wants to do specific testing on triplets they care about, - they can do so via their custom registry. - -Then, there is the question of why vcpkg needs a new solution for custom registries, -beyond the existing overlay ports feature. There are two big reasons – -the first is to allow a project to define the registries that they use for their dependencies, -and the second is the clear advantage in the user experience of the vcpkg tool. -If a project requires specific packages to come from specific registries, -they can do so without worrying that a user accidentally misses the overlay ports part of a command. -Additionally, beyond a feature which makes overlay ports easier to use, -custom registries allow for more complex and useful infrastructure around registries. -In the initial custom registry implementation, we will allow overlay ports style paths, -as well as git repositories, which means that people can run and use custom registries -without writing their own infrastructure around getting people that registry. - -It is the intention of vcpkg to be the most user-friendly package manager for C++, -and this allows us to fulfill on that intention even further. -As opposed to having to write `--overlay-ports=path/to/overlay` for every command one runs, -or adding an environment variable `VCPKG_OVERLAY_PORTS`, -one can simply write vcpkg install and the registries will be taken care of for you. -As opposed to having to use git submodules, or custom registry code for every project, -one can write and run the infrastructure in one place, -and every project that uses that registry requires only a few lines of JSON. - -[legal-example]: https://gcc.gnu.org/legacy-ml/libstdc++/2019-09/msg00054.html -[fuzzing]: https://en.wikipedia.org/wiki/Fuzzing - -## Specification - -We will be adding a new file that vcpkg understands - `vcpkg-configuration.json`. -The way that vcpkg will find this file is different depending on what mode vcpkg is in: -in classic mode, vcpkg finds this file alongside the vcpkg binary, in the root directory. -In manifest mode, vcpkg finds this file alongside the manifest. For the initial implementation, -this is all vcpkg will look for; however, in the future, vcpkg will walk the tree and include -configuration all along the way: this allows for overriding defaults. -The specific algorithm for applying this is not yet defined, since currently only one -`vcpkg-configuration.json` is allowed. - -The only thing allowed in a `vcpkg-configuration.json` is a `` object. - -A `` is an object: -* Optionally, `"default-registry"`: A `` or `null` -* Optionally, `"registries"`: An array of ``s - -Since this is the first RFC that adds anything to this field, -as of now the only properties that can live in that object will be -these. - -A `` is an object matching one of the following: -* ``: - * `"kind"`: The string `"builtin"` -* ``: - * `"kind"`: The string `"directory"` - * `"path"`: A path -* ``: - * `"kind"`: The string `"git"` - * `"repository"`: A URI - * Optionally, `"path"`: An absolute path into the git repository - * Optionally, `"ref"`: A git reference - -A `` is a `` object, plus the following properties: -* Optionally, `"scopes"`: An array of ``s -* Optionally, `"packages"`: An array of ``s - -The `"packages"` and `"scopes"` fields of distinct registries must be disjoint, -and each `` must have at least one of the `"scopes"` and `"packages"` property, -since otherwise there's no point. - -As an example, a package which uses a different default registry, and a different registry for boost, -might look like the following: - -```json -{ - "default-registry": { - "kind": "directory", - "path": "vcpkg-ports" - }, - "registries": [ - { - "kind": "git", - "repository": "https://github.com/boostorg/vcpkg-ports", - "ref": "v1.73.0", - "scopes": [ "boost" ] - }, - { - "kind": "builtin", - "packages": [ "cppitertools" ] - } - ] -} -``` - -This will install `fmt` from `/vcpkg-ports`, -`cppitertools` from the registry that ships with vcpkg, -and any `boost` dependencies from `https://github.com/boostorg/vcpkg-ports`. -Notably, this does not replace behavior up the tree -- only the `vcpkg-configuration.json`s -for the current invocation do anything. - -### Behavior - -When a vcpkg command requires the installation of dependencies, -it will generate the initial list of dependencies from the package, -and then run the following algorithm on each dependency: - -1. Figure out which registry the package should come from by doing the following: - 1. If there is a registry in the registry set which contains the dependency name in the `"packages"` array, - then use that registry. - 2. For every scope, in order from most specific to least, - if there is a registry in the registry set which contains that scope in the `"scopes"` array, - then use that registry. - (For example, for `"cat.meow.cute"`, check first for `"cat.meow.cute"`, then `"cat.meow"`, then `"cat"`). - 3. If the default registry is not `null`, use that registry. - 4. Else, error. -2. Then, add that package's dependencies to the list of packages to find, and repeat for the next dependency. - -vcpkg will also rerun this algorithm whenever an install is run with different configuration. - -### How Registries are Laid Out - -There are three kinds of registries, but they only differ in how the registry gets onto one's filesystem. -Once the registry is there, package lookup runs the same, with each kind having it's own way of defining its -own root. - -In order to find a port `meow` in a registry with root `R`, vcpkg first sees if `R/meow` exists; -if it does, then the port root is `R/meow`. Otherwise, see if `R/m-` exists; if it does, -then the port root is `R/m-/meow`. (note: this algorithm may be extended further in the future). - -For example, given the following port root: - -``` -R/ - abseil/... - b-/ - boost/... - boost-build/... - banana/... - banana/... -``` - -The port root for `abseil` is `R/abseil`; the port root for `boost` is `R/b-/boost`; -the port root for `banana` is `R/banana` (although this duplication is not recommended). - -The reason we are making this change to allow more levels in the ports tree is that ~1300 -ports are hard to look through in a tree view, and this allows us to see only the ports we're -interested in. Additionally, no port name may end in a `-`, so this means that these port subdirectories -will never intersect with actual ports. Additionally, since we use only ASCII for port names, -we don't have to worry about graphemes vs. code units vs. code points -- in ASCII, they are equivalent. - -Let's now look at how different registry kinds work: - -#### `` - -For a ``, there is no configuration required. -The registry root is simply `/ports`. - -#### `` - -For a ``, it is again fairly simple. -Given `$path` the value of the `"path"` property, the registry root is either: - -* If `$path` is absolute, then the registry root is `$path`. -* If `$path` is drive-relative (only important on Windows), the registry root is - `(drive of vcpkg.json)/$path` -* If `$path` is relative, the registry root is `(directory of vcpkg.json)/$path` - -Note that the path to vcpkg.json is _not_ canonicalized; it is used exactly as it is seen by vcpkg. - -#### `` - -This registry is the most complex. We would like to cache existing registries, -but we don't want to ignore new updates to the registry. -It is the opinion of the author that we want to find more updates than not, -so we will update the registry whenever the `vcpkg.json` or `vcpkg-configuration.json` -is modified. We will do so by keeping a sha512 of the `vcpkg.json` and `vcpkg-configuration.json` -inside the `vcpkg-installed` directory. - -We will download the specific ref of the repository to a central location (and update as needed), -and the root will be either: ``, if the `"path"` property is not defined, -or else `/` if it is defined. -The `"path"` property must be absolute, without a drive, and will be treated as relative to -the path to the repository. For example: - -```json -{ - "kind": "git", - "repository": "https://github.com/microsoft/vcpkg", - "path": "/ports" -} -``` - -is the correct way to refer to the registry built in to vcpkg, at the latest version. - -The following are all incorrect: - -```json -{ - "$reason": "path can't be drive-absolute", - "kind": "git", - "repository": "https://github.com/microsoft/vcpkg", - "path": "F:/ports" -} -``` - -```json -{ - "$reason": "path can't be relative", - "kind": "git", - "repository": "https://github.com/microsoft/vcpkg", - "path": "ports" -} -``` - -```json -{ - "$reason": "path _really_ can't be relative like that", - "kind": "git", - "repository": "https://github.com/microsoft/vcpkg", - "path": "../../meow/ports" -} -``` diff --git a/docs/specifications/scripts-extraction.md b/docs/specifications/scripts-extraction.md deleted file mode 100644 index 396e2d4e0273aa..00000000000000 --- a/docs/specifications/scripts-extraction.md +++ /dev/null @@ -1,66 +0,0 @@ -# Scripts Tree Extraction - -**Note: this is the feature as it was initially specified and does not necessarily reflect the current behavior.** - -## Background - -We extracted vcpkg-tool as part of a future wherein Registries are the primary mechanism for interacting with the ports tree, which would allow the vcpkg tool and associated artifacts to be deployed and figure the rest out on their own. Unfortunately, we have concurrently edited things in the so called "scripts" tree which lives in support of ports but really probably belongs in the vcpkg-tool repo. - -Moreover, as part of stabilizing registries, the interface exposed by the scripts tree becomes contractual rather than something we can change in concert with ports, since we can no longer see the universe of ports to validate that changes are correct. - -To that end we are auditing the contents of the scripts tree to make sure it is a solid foundation for future work. - -The work list is contained in [Issue #16188]. - -[Issue #16188]: https://github.com/microsoft/vcpkg/issues/16188 - -## Audit Points - -The following are assertions we want to be able to make about the contents of the scripts tree. Note that this does *not* refer to `vcpkg.cmake` since that needs to work with older versions of cmake. - -These are design ideals that we may break in some limited cases where that makes sense. - -- We always use `cmake_parse_arguments` rather than function parameters, or referring to `${ARG}`. - - Exception: there are exclusively positional parameters. This should be _very rare_. - - In this case, positional parameters should be put in the function declaration - (rather than using `${ARG}`), and should be named according to local rules - (i.e. `snake_case`). - - Exception: positional parameters that are optional should be given a name via - `set(argument_name "${ARG}") after checking `${ARGC}`. - - Note: in cases where there are positional parameters along with non-positional parameters, positional parameters should be referred to by `arg_UNPARSED_ARGUMENTS`. -- All `cmake_parse_arguments` use `PARSE_ARGV` for resistance to embedded semicolons. -- All `foreach` loops use `IN LISTS` for resistance to embedded semicolons. -- The variable `${ARGV}` is unreferenced. -- We use functions, not macros or top level code. -- Scripts in the scripts tree should not be expected to need changes as part of normal operation. (For example, `vcpkg_acquire_msys` has hard coded specific packages and versions thereof used which we believe is unacceptable) -- All non-splat variable expansions are in quotes "". -- There are no "pointer" parameters (where a user passes a variable name rather than the contents) except for out parameters. -- Undefined names are not referenced. -- Out parameters only set `PARENT_SCOPE`. -- `CACHE` variables are not used. -- `include()`s are removed and fixes to `port.cmake` et al. are made as necessary to avoid this. -- `foreach(RANGE)`'s arguments _must always be_ natural numbers, and `` _must always be_ less than or equal to ``. - - This should be checked. - -### Naming Variables - -- `cmake_parse_arguments`: set prefix to `"arg"` -- local variables are named `snake_case` -- Internal global variable names are named `Z_VCPKG_`. -- External experimental global variable names are named `X_VCPKG_`. -- Internal functions are named `z_vcpkg_*` - - Functions which are internal to a single function (i.e., helper functions) - are named `[z_]_`, where `` is the name of the function they are - a helper to, and `` is what the helper function does. - - `z_` should be added to the front if `` doesn't have a `z_`, - but don't name a helper function `z_z_foo_bar`. -- Public global variables are named `VCPKG_`. - -## Prognosis - -Not everything should remain in the scripts tree. As part of this audit, each helper will be dealt with in one of several ways: - -- Stay in scripts tree -- Deleted outright -- Moved to a tool port -- Deprecated diff --git a/docs/specifications/versioning.md b/docs/specifications/versioning.md deleted file mode 100644 index 1ad9ef8dcf0126..00000000000000 --- a/docs/specifications/versioning.md +++ /dev/null @@ -1,357 +0,0 @@ -# Versioning Specification - -**Note: this is the feature as it was initially specified and does not necessarily reflect the current behavior.** - -**Up-to-date documentation is available at [Versioning](../users/versioning.md).** - -## Glossary -Some of the terms used in this document have similar meaning when discussed by the community, and because of that, they can cause confusion and ambiguity. To solve this issue, we will assign specific meaning to these terms and try to keep a consistent usage through the document. - -**Library**: A piece of software (source code, binary files, documentation, license, etc.) that is intended to be reused by other software. - -**Package**: A package can contain a library, collection of libraries, build scripts, software tools, or other components necessary for their use. The goal of vcpkg is to facilitate the installation of these packages in the user's environment. - -**Port**: A vcpkg specific term, a port contains: - -* Metadata about a package: package version, supported features, dependencies, etc. -* Instructions to acquire, build if necessary, and install the package. - -## 1 Enabling package versioning -On launch, the versioning feature will be disabled by default. Users can enable this feature by setting the `versions` feature flag. - -Example: -``` -vcpkg --feature-flags=versions install -``` - -### 1.1 Proposed experience -This feature requires the use of manifests to declare project dependencies. To allow versioning, the following features are added to manifests: - -* Ability to declare a package's versioning scheme. -* Ability to declare version constraints on dependencies. -* Ability for a top-level manifest to override all other version constraints. -* Ability to declare a baseline for all versions. - -Example: A manifest (`vcpkg.json`) using versioning features. -```json -{ - "name": "versions-test", - "version": "1.0.0", - "dependencies": ["fmt", {"name": "zlib", "version>=": "1.2.11"}], - "$x-default-baseline": "9fd3bd594f41afb8747e20f6ac9619f26f333cbe" -} -``` - -The example above shows some new manifest properties: -* `"version"`: Declares a version using a dot-separated versioning scheme (`1.0.0`). -* `"version>="`: Declares a minimum version constraint on package `zlib`. -* `"$x-default-baseline"`: Declares a baseline version for all packages. - -All these new features are described in more detail in this document. - -## 2 Specifying package versions -Through the years, C++ software authors have adopted multiple versioning schemes and practices that sometimes conflict between each other. On vcpkg, the most recurrent versioning schemes found are: -* Semantic versions -* Dates -* Repository commits -* Arbitrary strings - -For vcpkg to achieve wide adoption and compatibility with existing projects, it is important that we respect the versioning schemes used by each of the packages contained in our ports catalog. - -### 2.1 Port versions -Package versioning information is divided in two parts: a version string and a port version. -Port versions are a concept exclusive to vcpkg, they do not form part of a package’s upstream. But allow for versioning of the vcpkg ports themselves. - -Packages can also include the port version as part of a version constraint by using the “port-version” property on their dependencies. - -#### `port-version` - -An integer value that increases each time a vcpkg-specific change is made to the port. - -The rules for port versions are: -* Start at 0 for the original version of the port, -* increase by 1 each time a vcpkg-specific change is made to the port that does not increase the version of the package, -* and reset to 0 each time the version of the package is updated. - -Defaults to 0 if omitted. - -### 2.2 Package versions -Versions are an important part of a package’s upstream metadata. Ports in vcpkg should attempt to follow the versioning conventions used by the package’s authors. For that reason, when declaring a package’s version the appropriate scheme should be used. - -Each versioning scheme defines their own rules on what is a valid version string and more importantly the rules for how to sort versions using the same scheme. - -The versioning schemes understood by vcpkg are: - -Manifest property | Versioning scheme -------------------|------------------------------------ -`version` | For dot-separated numeric versions -`version-semver` | For SemVer compliant versions -`version-date` | For dates in the format YYYY-MM-DD -`version-string` | For arbitrary strings - -A manifest must contain only one version declaration. - -#### `version` -Accepts version strings that follow a relaxed, dot-separated-, semver-like scheme. - -The version is logically composed of dot-separated (`.`) numeric sections. Each section must contain an integer positive number with no leading zeroes. - -The regex pattern for this versioning scheme is: `(0|[1-9]\d*)(\.(0|[1-9]\d*))*` - -_Sorting behavior_: When comparing two versions, each section is compared from left to right by their numeric value, until the first difference is found. A version with the smallest set of sections takes precedence over another with a larger set of sections, given that all their preceding sections compare equally. - -Example: -`0` < `0.1` < `0.1.0` < `1` < `1.0.0` < `1.0.1` < `1.1`< `2.0.0` - -#### `version-semver` -Accepts version strings that follow semantic versioning conventions as described in the [semantic versioning specification](https://semver.org/#semantic-versioning-specification-semver). - -_Sorting behavior_: Strings are sorted following the rules described in the semantic versioning specification. - -Example: -`1.0.0-1` < `1.0.0-alpha` < `1.0.0-beta` < `1.0.0` < `1.0.1` < `1.1.0` - -#### `version-date` - -Accepts version strings that can be parsed to a date following the ISO-8601 format `YYYY-MM-DD`. Disambiguation identifiers are allowed in the form of dot-separated-, positive-, integer-numbers with no leading zeroes. - -The regex pattern for this versioning scheme is: `\d{4}-\d{2}-\d{2}(\.(0|[1-9]\d*))*`. - -_Sorting behavior_: Strings are sorted first by their date part, then by numeric comparison of their disambiguation identifiers. Disambiguation identifiers follow the rules of the relaxed (version) scheme. - -Examples: -`2020-01-01` < `2020-01-01.1` < `2020-02-01.1.2` < `2020-02-01.1.3` < `2020-02-01` - -#### `version-string` -For packages using version strings that do not fit any of the other schemes, it accepts most arbitrary strings, but some special characters like `#` are disallowed. - -_Sorting behavior_: No sorting is attempted on the version string itself. However, if the strings match exactly, the port versions can be compared and sorted. - -Examples: -`apple` <> `orange` <> `orange.2` <> `orange2` -`watermelon` (`port-version`: 0) < `watermelon` (`port-version`: 1) - -##### Example: Manifests using different versioning schemes -```json -{ - "name": "openssl", - "version": "1.1.1", - "port-version": 0 -} -``` -```json -{ - "name": "bzip2", - "version-semver": "1.0.8", -} -``` -```json -{ - "name": "abseil", - "version-date": "2020-03-03", - "port-version": 8 -} -``` -```json -{ - "name": "d3dx12", - "version-string": "may2020", - "port-version": 0 -} -``` - -## 3 Specifying dependency versions - -### 3.1 On manifest files -Manifest files help users specify complex versioned dependency graphs in a declarative manner. In this document we define a top-level manifest as the manifest file written by a user to declare their project’s dependencies. This is opposed to a port’s manifest file, which is used by port’s to declare the dependencies of the package it contains. - -There are three mechanisms you can use in your manifest files to control which versions of your packages are installed: **version constraints, registry baselines and overrides**. - -#### Version constraints -Specifying a version constraint is the most direct way to control which version of a package is installed, in vcpkg you can declare minimum version constraints using the syntax `"version>=": "1.0.0"`. - -#### Registry baseline -Baselines are used to set lower boundaries on package versions. A baseline effectively adds a minimum version constraint on all the packages declared in it. - -But what is a baseline? - -In the main registry, the baseline is a file located in `${VCPKG_ROOT}/versions/baseline.json`. This file contains a version declaration for each package in vcpkg. The format of this file is the following: - -```json -{ - "default": [ - { - ... - "fmt": { "version-semver": "7.1.2", "port-version": 0}, - ... - } - ] -} -``` - -The baseline file is tracked under source control. For any given revision of the registry, the versions declared in the baseline file must match the current versions of the ports in the registry at that revision. - -Old revisions of vcpkg that do not contain a baseline file can still work with versioning. As a fallback, if no baseline is available at a given revision, vcpkg will use its local baseline file. If a local baseline file does not exist, the local version of the port will be used as the baseline version. - -Baselines define a minimum version constraint an all packages contained in it. - -For example, if the baseline contains the entry: -``` -“fmt”: { “version-semver”: “7.1.2”, “port-version”: 0 } -``` - -A minimum version constraint will be added to `fmt` so that vcpkg won’t install a version lower than `7.1.2` with port version `0`. - -#### Overrides -Declaring an override forces vcpkg to ignore all other constraints, both top-level and transitive constraints, and use the version specified in the override. This is useful for pinning exact versions and for resolving version conflicts. - -## 4 Version constraints - -### 4.1 Declaring a baseline -For the initial implementation, the method to declare a baseline is to set the `“$x-default-baseline”` property. - -The use of `“$x-default-baseline”` is temporary and will very likely change in the future, as we work on implementing custom registries. - -#### `$x-default-baseline` -Accepts a Git commit ID. Vcpkg will try to find a baseline file in the given commit ID and use that to set the baseline versions (lower bound versions) of all declared dependencies. - -When resolving version constraints for a package, vcpkg will look for a baseline version: -* First by looking at the baseline file in the given commit ID. -* If the given commit ID does not contain a baseline file, vcpkg will fallback to use the local baseline file instead. -* If there’s no local baseline file, vcpkg will use the version currently available in the ports directory. - -_NOTE: If a baseline file is found, but it does not contain an entry for the package, the vcpkg invocation will fail._ - -Example: -```json -{ - "name": "project", - "version": "1.0.0", - "dependencies": ["zlib", "fmt"], - "$x-default-baseline":"9fd3bd594f41afb8747e20f6ac9619f26f333cbe" -} -``` - -Baselines can be used without any other version constraints to obtain behavior close to using “classic” mode. - -### 4.2 Declaring minimum version constraints -A minimum version requirement puts a lower boundary on the versions that can be used to satisfy a dependency. This means that any version that is newer than the requirement is valid (including major version changes). - -Vcpkg will use the oldest identified version that can satisfy all the version requirements in a build graph. Using a minimum version approach has the following advantages: -* Is predictable and easy to understand. -* User controls when upgrades happen, as in, no upgrades are performed automatically when a new version is released. -* Avoids using a SAT solver. - -Minimum version requirements are expressed by using the `"version>="` property in the dependencies list. - -Example: -```json -{ - "name": "project", - "version-semver": "1.0.0", - "dependencies": [ - { "name": "zlib", "version>=": "1.2" }, - { "name": "rapidjson", "version>=": "2020-02-01" } - ] -} -``` - -### 4.3 Declaring port version constraints -To be consistent with the minimum version approach, vcpkg uses the lowest available port version that matches the package version. There are many scenarios where a higher port version is desirable, e.g.: support for new platforms, fixing installation issues, among others. - -As part of the dependency object a port version can be specified. An error will be emitted if a non-existent port-version for the given package version is requested. - -Example: -```json -{ - "name": "project", - "version-semver": "1.0.0", - "dependencies": [ - { "name": "zlib", "version>=": "1.2" }, - { "name": "rapidjson", "version=": "2020-02-01", "port-version": 2 } - ] -} -``` - -### 4.4 Declaring overrides -Overrides are declared as an array of package version declarations. - -For an override to take effect, the overridden package must form part of the dependency graph. That means that a dependency must be declared either by the top-level manifest or be part of a transitive dependency. - -Example: -```json -{ - "name": "project", - "version": "1.0.0", - "dependencies": ["cpprestsdk"], - "overrides": [{"name":"zlib", "version-semver":"1.2.10"}], - "$x-default-baseline":"9fd3bd594f41afb8747e20f6ac9619f26f333cbe" -} -``` - -In the previous example, `zlib` is not a direct dependency of the project but it is a dependency for `cpprestsdk`, so the override takes effect forcing `zlib` to version `1.2.10`. - -## 5 Design considerations - -### 5.1 Constraint resolution -Given a manifest with a set of versioned dependencies, vcpkg will attempt to calculate a package installation plan that satisfies all the constraints. Constraints can be declared in the top-level manifest but can also be added transitively by indirect dependencies. - -Vcpkg roughly follows the steps below to compute an installation plan, the installation plan will either contain a valid set of package versions, or a list of version conflicts. - -* Add all top-level constraints to the plan. -* Recursively add transitive constraints to the plan. -* Each time a constraint is added for a package, also add it’s baseline version as a minimum constraint. -* Each time a constraint is added: - * If an override exists for the package, select the version in the override. - * Otherwise: - * If there is no previous version selected. - * Select the minimal version that satisfies the constraint. - * If there is a previous version selected: - * If the versioning scheme of the new constraint does not match that of the previously selected version: - * Add a version conflict. - * If the constraint’s version is not comparable to the previously selected version. For example, comparing “version-string: apple” to “version-string: orange”: - * Add a version conflict. - * If the constraints version is higher than the previously selected version: - * Select the highest version. - * Otherwise, keep the previous selection. -* Review the plan: - * If there are no conflicts, install the selected packages. - * Otherwise, report the conflicts to the user. - -### 5.2 Acquiring port versions -Although the concept of package versions has always been present in vcpkg, the concept of version constraints has been not. - -With the introduction of versioning constraints, it is now possible that a package depends on a port version that does not match the one available locally. This raises a problem as vcpkg needs to know how to acquire the port files for the requested version. - -To solve this problem, a new set of metadata needs to be introduced. This specification proposes a that a new "versions" folder is added as part of a registry. In the main vcpkg registry, this means a new root level versions directory. - -The versions directory, from here on referred as the versions database, will contain JSON files for each one of the ports available in the registry. Each file will list all the versions available for a package and contain a Git tree-ish object that vcpkg can check out to obtain that version’s portfiles. - -As part of the versioning implementation, a generator for these database files will be implemented. The generator will extract from our repository’s Git history, all the versions of each port that had been available at any moment in time and compile them into these database files. - -Example: generated `zlib.json` -```json -{ - "versions": [ - { - "git-tree": "2dfc991c739ab9f2605c2ad91a58a7982eb15687", - "version-string": "1.2.11", - "port-version": 9 - }, - { “$truncated for brevity” }, - { - "git-tree": "a516e5ee220c8250f21821077d0e3dd517f02631", - "version-string": "1.2.10", - "port-version": 0 - }, - { - "git-tree": "3309ec82cd96d752ff890c441cb20ef49b52bf94", - "version-string": "1.2.8", - "port-version": 0 - } - ] -} -``` - -For each port, its corresponding versions file should be located in `versions/{first letter of port name}-/{port name}.json`. For example, zlib’s version file will be located in `versions/z-/zlib.json`. -Aside from port version files, the current baseline file is located in `versions/baseline.json`. diff --git a/docs/users/android.md b/docs/users/android.md deleted file mode 100644 index 45b0cf6162ea72..00000000000000 --- a/docs/users/android.md +++ /dev/null @@ -1,262 +0,0 @@ -# Vcpkg and Android - -**The latest version of this documentation is available on [GitHub](https://github.com/Microsoft/vcpkg/tree/master/docs/users/android.md).** - -Android is not officially supported, and there are no official android triplets at the moment. - -However, some packages can compile to Android, and the situation is improving: see the list of [PR related to Android](https://github.com/Microsoft/vcpkg/pulls?q=+android+). - - -## Android build requirements - -1. Download the [android ndk](https://developer.android.com/ndk/downloads/) - -2. Set environment variable `ANDROID_NDK_HOME` to your android ndk installation. - For example: - -````bash -export ANDROID_NDK_HOME=/home/your-account/Android/Sdk/ndk-bundle -```` - -Or: -````bash -export ANDROID_NDK_HOME=/home/your-account/Android/android-ndk-r21b -```` - -3. Install [vcpkg](https://github.com/microsoft/vcpkg) - -4. Set environment variable `VCPKG_ROOT` to your vcpkg installation. -````bash -export VCPKG_ROOT=/path/to/vcpkg -```` - -## Create the android triplets - - -### Android ABI and corresponding vcpkg triplets - -There are four different Android ABI, each of which maps to -a vcpkg triplet. The following table outlines the mapping from vcpkg architectures to android architectures - -|VCPKG_TARGET_TRIPLET | ANDROID_ABI | -|---------------------------|----------------------| -|arm64-android | arm64-v8a | -|arm-android | armeabi-v7a | -|x64-android | x86_64 | -|x86-android | x86 | - -### Create the android triplets -You can copy-paste the script below to populate them, and adjust them to your needs if required. - -````bash -cd $VCPKG_ROOT - -echo " -set(VCPKG_TARGET_ARCHITECTURE arm) -set(VCPKG_CRT_LINKAGE dynamic) -set(VCPKG_LIBRARY_LINKAGE dynamic) -set(VCPKG_CMAKE_SYSTEM_NAME Android) -" > triplets/community/arm-android.cmake - -echo " -set(VCPKG_TARGET_ARCHITECTURE arm64) -set(VCPKG_CRT_LINKAGE dynamic) -set(VCPKG_LIBRARY_LINKAGE dynamic) -set(VCPKG_CMAKE_SYSTEM_NAME Android) -" > triplets/community/arm64-android.cmake - -echo " -set(VCPKG_TARGET_ARCHITECTURE x86) -set(VCPKG_CRT_LINKAGE dynamic) -set(VCPKG_LIBRARY_LINKAGE dynamic) -set(VCPKG_CMAKE_SYSTEM_NAME Android) -" > triplets/community/x86-android.cmake - -echo " -set(VCPKG_TARGET_ARCHITECTURE x64) -set(VCPKG_CRT_LINKAGE dynamic) -set(VCPKG_LIBRARY_LINKAGE dynamic) -set(VCPKG_CMAKE_SYSTEM_NAME Android) -" > triplets/community/x64-android.cmake -```` - -## Install libraries for Android using vcpkg - -Example for jsoncpp: - -````bash -cd $VCPKG_ROOT - -# specify the triplet like this -./vcpkg install jsoncpp --triplet arm-android -# or like this -./vcpkg install jsoncpp:arm64-android -./vcpkg install jsoncpp:x86-android -./vcpkg install jsoncpp:x64-android -```` - -### Using Vulkan SDK - -Vcpkg has a [`vulkan` package](https://github.com/microsoft/vcpkg/blob/master/ports/vulkan/portfile.cmake) which allows you to `find_package(Vulkan)`. To use it you have to provide `VULKAN_SDK` environment variable. - -```bash -export VULKAN_SDK=/usr/local -./vcpkg install vulkan -``` - -NDK already contains [Vulkan](https://developer.android.com/ndk/guides/graphics/getting-started) headers and `libvulkan.so` binaries for each of its architecture. -To expose them to VcPkg, you can consider `export VULKAN_SDK=...` for each installation. -But by placing `set(ENV{VULKAN_SDK} ...)` in the triplet files, you can skip the tedious work. - -If you are using NDK 21.3.6528147 or earlier version, it will be like the following. - -```cmake -# In android triplets... (e.g. arm64-android.cmake) -set(VCPKG_CMAKE_SYSTEM_NAME Android) -# ... -# If your API level is 30, libvulkan.so is at $ENV{ANDROID_NDK_HOME}/platforms/android-30/arch-arm64/usr/lib -set(ENV{VULKAN_SDK} $ENV{ANDROID_NDK_HOME}/sysroot/usr) -``` - -Notice that **the location of the sysroot has changed since NDK 22**. (see https://github.com/android/ndk/issues/1407) -If you prefer using [the latest version](https://developer.android.com/studio/projects/install-ndk#default-ndk-per-agp), check the [BuildSystemMaintainers.md of the NDK document](https://android.googlesource.com/platform/ndk/+/master/docs/BuildSystemMaintainers.md#sysroot) and then put appropriate path for your system. - -For example, Mac OS users will use the path like this. - -```cmake -# In android triplets... (e.g. arm64-android.cmake) -set(VCPKG_CMAKE_SYSTEM_NAME Android) -# ... -# If your API level is 30, libvulkan.so is at $ENV{ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib/aarch64-linux-android/30 -set(ENV{VULKAN_SDK} $ENV{ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr) -``` - -By doing this for all android triplets, you can install `vulkan` and the packages that require it. (e.g. `vulkan-hpp`) - -

- `vcpkg install vulkan-hpp:arm64-android` - -```console -user@host$ ./vcpkg install vulkan-hpp:arm64-android -Computing installation plan... -The following packages will be built and installed: - * vulkan[core]:arm64-android -> 1.1.82.1-1 - vulkan-hpp[core]:arm64-android -> 2019-05-11-1 -Additional packages (*) will be modified to complete this operation. -Detecting compiler hash for triplet arm64-android... -... -Starting package 1/2: vulkan:arm64-android -Building package vulkan[core]:arm64-android... --- Using community triplet arm64-android. This triplet configuration is not guaranteed to succeed. --- [COMMUNITY] Loading triplet configuration from: /.../vcpkg/triplets/community/arm64-android.cmake --- Querying VULKAN_SDK Environment variable --- Searching /.../Library/Android/sdk/ndk/22.1.7171670/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include/vulkan/ for vulkan.h --- Found vulkan.h --- Performing post-build validation --- Performing post-build validation done -... -Building package vulkan[core]:arm64-android... done -Installing package vulkan[core]:arm64-android... -Installing package vulkan[core]:arm64-android... done -Elapsed time for package vulkan:arm64-android: 35.9 ms -Starting package 2/2: vulkan-hpp:arm64-android -Building package vulkan-hpp[core]:arm64-android... --- Using community triplet arm64-android. This triplet configuration is not guaranteed to succeed. --- [COMMUNITY] Loading triplet configuration from: /.../vcpkg/triplets/community/arm64-android.cmake --- Using cached /.../vcpkg/downloads/KhronosGroup-Vulkan-Hpp-5ce8ae7fd0d9c0543d02f33cfa8a66e6a43e2150.tar.gz --- Cleaning sources at /.../vcpkg/buildtrees/vulkan-hpp/src/e6a43e2150-4f344cd911.clean. Use --editable to skip cleaning for the packages you specify. --- Extracting source /.../vcpkg/downloads/KhronosGroup-Vulkan-Hpp-5ce8ae7fd0d9c0543d02f33cfa8a66e6a43e2150.tar.gz --- Using source at /.../vcpkg/buildtrees/vulkan-hpp/src/e6a43e2150-4f344cd911.clean --- Performing post-build validation --- Performing post-build validation done -... -Building package vulkan-hpp[core]:arm64-android... done -Installing package vulkan-hpp[core]:arm64-android... -Installing package vulkan-hpp[core]:arm64-android... done -Elapsed time for package vulkan-hpp:arm64-android: 144.5 ms - -Total elapsed time: 1.013 s - -The package vulkan-hpp:arm64-android is header only and can be used from CMake via: - - find_path(VULKAN_HPP_INCLUDE_DIRS "vulkan/vulkan.hpp") - target_include_directories(main PRIVATE ${VULKAN_HPP_INCLUDE_DIRS}) - -``` - -
- - -## Consume libraries using vpckg, cmake and the android toolchain - -1. Combine vcpkg and Android toolchains - -vcpkg and android both provide dedicated toolchains: -````bash -vcpkg_toolchain_file=$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake -android_toolchain_file=$ANDROID_NDK_HOME/build/cmake/android.toolchain.cmake -```` - -When using vcpkg, the vcpkg toolchain shall be specified first. - -However, vcpkg provides a way to preload and additional toolchain, with the VCPKG_CHAINLOAD_TOOLCHAIN_FILE option. - -````bash -cmake \ - -DCMAKE_TOOLCHAIN_FILE=$vcpkg_toolchain_file \ - -DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=$android_toolchain_file \ - ... -```` - -2. Specify the android abi and vcpkg triplet - -When compiling for android, you need to select a matching "android abi" / "vcpkg triplet" pair. - -For example: - -````bash -android_abi=armeabi-v7a -vcpkg_target_triplet=arm-android - -cmake - ... - -DVCPKG_TARGET_TRIPLET=$vcpkg_target_triplet \ - -DANDROID_ABI=$android_abi -```` - -### Test on an example - -The folder [docs/examples/vcpkg_android_example_cmake](../examples/vcpkg_android_example_cmake) provides a working example, with an android library that consumes the jsoncpp library: - -*Details* - -* The [CMakeLists](../examples/vcpkg_android_example_cmake/CMakeLists.txt) simply uses `find_package` and `target_link_library` - -* The [compile.sh](../examples/vcpkg_android_example_cmake/compile.sh) script enables you to select any matching pair of "android abi" / "vcpkg triplet" and to test the compilation - -* The dummy [my_lib.cpp](../examples/vcpkg_android_example_cmake/my_lib.cpp) file uses the jsoncpp library - -*Note*: this example only compiles an Android library, as the compilation of a full fledged Android App is beyond the scope of this document. - -### Test on an example, using [vcpkg_android.cmake](../examples/vcpkg_android_example_cmake_script/cmake/vcpkg_android.cmake) - -The folder [docs/examples/vcpkg_android_example_cmake_script](../examples/vcpkg_android_example_cmake_script) provides the same example, and uses a cmake script in order to simplify the usage. - -*Details* - -* The main [CMakeLists](../examples/vcpkg_android_example_cmake_script/CMakeLists.txt) loads [vcpkg_android.cmake](../examples/vcpkg_android_example_cmake_script/cmake/vcpkg_android.cmake) if the flag `VCPKG_TARGET_ANDROID` is set: -````cmake -if (VCPKG_TARGET_ANDROID) - include("cmake/vcpkg_android.cmake") -endif() -```` -*Important: place these lines before calling project() !* - -* The [compile.sh](../examples/vcpkg_android_example_cmake_script/compile.sh) script shows that it is then possible to compile for android using a simple cmake invocation, for example: -````bash -cmake .. -DVCPKG_TARGET_ANDROID=ON -DANDROID_ABI=armeabi-v7a -```` - -## Consume libraries using vpckg, and Android prefab Archives (AAR files) - -See [prefab.md](../specifications/prefab.md) diff --git a/docs/users/assetcaching.md b/docs/users/assetcaching.md index 1328bb2fe95b4e..8d020ca52065ad 100644 --- a/docs/users/assetcaching.md +++ b/docs/users/assetcaching.md @@ -1,58 +1,5 @@ -# Asset Caching - -**The latest version of this documentation is available on [GitHub](https://github.com/Microsoft/vcpkg/tree/master/docs/users/assetcaching.md).** - -**Experimental feature: this may change or be removed at any time** - -Vcpkg can utilize mirrors to cache downloaded assets, ensuring continued operation even if the original source changes -or disappears. - -In-tool help is available via `vcpkg help assetcaching`. - -## Configuration - -Asset caching can be configured by setting the environment variable `X_VCPKG_ASSET_SOURCES` to a semicolon-delimited -list of source strings. Characters can be escaped using backtick (\`). - -### Valid source strings - -The `` optional parameter for certain strings controls how they will be accessed. It can be specified as `read`, -`write`, or `readwrite` and defaults to `read`. - -#### `clear` - -Syntax: `clear` - -Removes all previous sources - -#### `x-azurl` - -Syntax: `x-azurl,[,[,]]` - -Adds an Azure Blob Storage source, optionally using Shared Access Signature validation. URL should include the container -path and be terminated with a trailing `/`. SAS, if defined, should be prefixed with a `?`. Non-Azure servers will also -work if they respond to GET and PUT requests of the form: ``. As an example, if you set -`X_VCPKG_ASSET_SOURCES` to `x-azurl,https://mydomain.com/vcpkg/,token=abc123,readwrite` your server should respond to -`GET` and `PUT` requests of the form `https://mydomain.com/vcpkg/?token=abc123`. - -You can also use the filesystem (e.g. a network drive) via `file://` as asset cache. For example you then set -`X_VCPKG_ASSET_SOURCES` to `x-azurl,file:///Z:/vcpkg/assetcache/,,readwrite` when you have a network folder mounted at -`Z:/`. - -The workflow of this asset source is: - -1. Attemp to read from the mirror -2. (If step 1 failed) Read from the original url -3. (If step 2 succeeded) Write back to the mirror - -You can enable/disable steps 1 and 3 via the [``](#valid-source-strings) specifier and you can disable step 2 via -`x-block-origin` below. - -See also the [binary caching documentation for Azure Blob Storage](binarycaching.md#azure-blob-storage-experimental) for -more information on how to set up an `x-azurl` source. - -#### `x-block-origin` - -Syntax: `x-block-origin` - -Disables use of the original URLs in case the mirror does not have the file available. +# Asset Caching + +The documentation for this topic has been moved to the following articles in [Microsoft Learn](https://learn.microsoft.com/vcpkg): + +* [Asset caching](https://learn.microsoft.com/vcpkg/users/assetcaching) diff --git a/docs/users/authentication.md b/docs/users/authentication.md deleted file mode 100644 index 727b996178e445..00000000000000 --- a/docs/users/authentication.md +++ /dev/null @@ -1,79 +0,0 @@ -# Authentication for Source Code - -**The latest version of this documentation is available on [GitHub](https://github.com/Microsoft/vcpkg/tree/master/docs/users/authentication.md).** - -Registries and `vcpkg_from_git()` directly use the git command line tools to fetch remote resources. Some of these resources may be protected from anonymous access and need authentication or credentials. - -The strategies below all seek to achieve the same fundamental goal: `git clone https://....` should succeed without interaction. This enables vcpkg to be separated from the specifics of your authentication scheme, ensuring forwards compatibility with any additional security improvements in the future. - -## Pre-seed git credentials - -You can pre-seed git credentials via `git credential approve`: - -Powershell: -```powershell -"url=https://github.com`npath=Microsoft/vcpkg`nusername=unused`npassword=$MY_PAT`n" | git credential approve -``` -Bash: -```sh -echo "url=https://github.com"$'\n'"path=Microsoft/vcpkg"$'\n'"username=unused"$'\n'"password=$MY_PAT"$'\n' | git credential approve -``` - -## Bearer auth - -For systems which need bearer auth, you can use `git config`: - -**Note: you must make these config changes with `--global`** -``` -git config --global --unset-all http..extraheader -git config --global http..extraheader "AUTHORIZATION: bearer " -``` -The `` can be filled in with a variety of options, documented in https://git-scm.com/docs/git-config#Documentation/git-config.txt-httplturlgt. For example, `https://dev.azure.com/MYORG/`. - -(Original Source: https://github.com/Microsoft/azure-pipelines-agent/issues/1601#issuecomment-394511048). - -**Note for Azure DevOps users:** You may need to enable access via Job authorization scope https://docs.microsoft.com/en-us/azure/devops/pipelines/process/access-tokens?view=azure-devops&tabs=yaml#job-authorization-scope. You may also need to "reference" the repo in your yaml via: - -```yaml -resources: - repositories: - - repository: - type: git - name: / - tag: tags/ - -... - -jobs: - - job: Build - uses: - repositories: [] -``` - -## Pass credentials in an environment variable (not recommended) - -Using `VCPKG_KEEP_ENV_VARS` or `VCPKG_ENV_PASSTHROUGH_UNTRACKED`, we can smuggle credential info via another var like `MY_TOKEN_VAR`. -```sh -export VCPKG_KEEP_ENV_VARS=MY_TOKEN_VAR -export MY_TOKEN_VAR=abc123 -``` -This can then be used in your private ports: -```cmake -# some/private/portfile.cmake -set(MY_TOKEN_VAR "") -if(DEFINED ENV{MY_TOKEN_VAR}) - set(MY_TOKEN_VAR "$ENV{MY_TOKEN_VAR}@") -endif() -vcpkg_from_git( - URLS "https://${MY_TOKEN_VAR}host.com/normal/url/path" - ... -) -``` -```cmake -# some/other/private/portfile.cmake -vcpkg_from_github( - AUTHORIZATION_TOKEN "$ENV{MY_TOKEN_VAR}" -) -``` - -For private ports, we recommend using `vcpkg_from_git()` instead of `vcpkg_from_github()` and the pre-seeding method above. diff --git a/docs/users/binarycaching.md b/docs/users/binarycaching.md index c37fd96fd82435..b2b4b4ace588f2 100644 --- a/docs/users/binarycaching.md +++ b/docs/users/binarycaching.md @@ -1,285 +1,5 @@ -# Binary Caching - -**The latest version of this documentation is available on [GitHub](https://github.com/Microsoft/vcpkg/tree/master/docs/users/binarycaching.md).** - -Libraries installed with vcpkg can always be built from source. However, that can duplicate work and waste time when working across multiple projects. - -Binary caching is a vcpkg feature that saves copies of library binaries in a shared location that can be accessed by vcpkg for future installs. This means that, as a user, you should only need to build dependencies from source once. If vcpkg is asked to install the same library with the same build configuration in the future, it will just copy the built binaries from the cache and finish the operation in seconds. - -Binary caching is especially effective when using Continuous Integration, since local developers can reuse the binaries produced during a CI run. It also greatly enhances the performance of "ephemeral" or "hosted" build agents, since all local changes are otherwise lost between runs. By using binary caching backed by a cloud service, such as GitHub, Azure, or many others, you can ensure your CI runs at maximum speed and only rebuilds your dependencies when they've changed. - -Caches can be hosted in a variety of environments. The most basic examples are a folder on the local machine or a network file share. Caches can also be stored in any NuGet feed (such as GitHub or Azure DevOps Artifacts), Azure Blob Storage*, or Google Cloud Storage*. - -\* (experimental) - -If your CI provider offers a native "caching" function, we recommend using both vcpkg binary caching and the native method for the most performant results. - -In-tool help is available via `vcpkg help binarycaching`. - -Table of Contents - - [Configuration](#configuration) - - [CI Examples](#ci-examples) - - [GitHub Packages](#github-packages) - - [Azure DevOps Artifacts](#azure-devops-artifacts) - - [Azure Blob Storage](#azure-blob-storage-experimental) - - [Google Cloud Storage](#google-cloud-storage-experimental) - - [NuGet Provider Configuration](#nuget-provider-configuration) - - [Implementation Notes](#implementation-notes-internal-details-subject-to-change-without-notice) - - -## Configuration - -Binary caching is configured via a combination of defaults, the environment variable `VCPKG_BINARY_SOURCES` (set to `;;...`), and the command line option `--binarysource=`. Source options are evaluated in order of defaults, then environment, then command line. Binary caching can be completely disabled by passing `--binarysource=clear` as the last command line option. - -By default, zip-based archives will be cached at the first valid location of: - -**Windows** -1. `%VCPKG_DEFAULT_BINARY_CACHE%` -2. `%LOCALAPPDATA%\vcpkg\archives` -3. `%APPDATA%\vcpkg\archives` - -**Non-Windows** -1. `$VCPKG_DEFAULT_BINARY_CACHE` -2. `$XDG_CACHE_HOME/vcpkg/archives` -3. `$HOME/.cache/vcpkg/archives` - -### Valid source strings (``) - -| form | description -|-----------------------------|--------------- -| `clear` | Removes all previous sources (including the default) -| `default[,]` | Adds the default file-based location -| `files,[,]` | Adds a custom file-based location -| `nuget,[,]` | Adds a NuGet-based source; equivalent to the `-Source` parameter of the NuGet CLI -| `nugetconfig,[,]` | Adds a NuGet-config-file-based source; equivalent to the `-Config` parameter of the NuGet CLI. This config should specify `defaultPushSource` for uploads. -| `nugettimeout,` | Specifies a timeout for NuGet network operations; equivalent to the `-Timeout` parameter of the NuGet CLI. -| `x-azblob,,[,]` | **Experimental: will change or be removed without warning**
Adds an Azure Blob Storage source. Uses Shared Access Signature validation. URL should include the container path. -| `interactive` | Enables interactive credential management for NuGet (for debugging; requires `--debug` on the command line) - -The `` optional parameter for certain sources controls whether they will be consulted for -downloading binaries (`read`)(default), whether on-demand builds will be uploaded to that remote (`write`), or both (`readwrite`). - -Additional configuration details for NuGet-based providers can be found below in [NuGet Provider Configuration](#nuget-provider-configuration). - -## CI Examples - -If your CI system of choice is not listed, we welcome PRs to add them! - -### GitHub Packages - -To use vcpkg with GitHub Packages, we recommend using the `NuGet` backend. - ->**NOTE 2020-09-21**: GitHub's hosted agents come with an older, pre-installed copy of vcpkg on the path that does not support the latest binary caching. This means that direct calls to `bootstrap-vcpkg` or `vcpkg` without a path prefix may call an unintended vcpkg instance. We recommend taking the following two steps to avoid issues if you want to use your own copy of vcpkg: -> 1. Run the equivalent of `rm -rf "$VCPKG_INSTALLATION_ROOT"` using `shell: 'bash'` -> 2. Always call `vcpkg` and `bootstrap-vcpkg` with a path prefix, such as `./vcpkg`, `vcpkg/vcpkg`, `.\bootstrap-vcpkg.bat`, etc - -```yaml -# actions.yaml -# -# In this example, vcpkg has been added as a submodule (`git submodule add https://github.com/Microsoft/vcpkg`). -env: - VCPKG_BINARY_SOURCES: 'clear;nuget,GitHub,readwrite' - -matrix: - os: ['windows-2019', 'ubuntu-20.04'] - include: - - os: 'windows-2019' - triplet: 'x86-windows' - mono: '' - - os: 'ubuntu-20.04' - triplet: 'x64-linux' - # To run `nuget.exe` on non-Windows platforms, we must use `mono`. - mono: 'mono' - -steps: - # This step assumes `vcpkg` has been bootstrapped (run `./vcpkg/bootstrap-vcpkg`) - - name: 'Setup NuGet Credentials' - shell: 'bash' - # Replace with your organization name - run: > - ${{ matrix.mono }} `./vcpkg/vcpkg fetch nuget | tail -n 1` - sources add - -source "https://nuget.pkg.github.com//index.json" - -storepasswordincleartext - -name "GitHub" - -username "" - -password "${{ secrets.GITHUB_TOKEN }}" - - # Omit this step if you're using manifests - - name: 'vcpkg package restore' - shell: 'bash' - run: > - ./vcpkg/vcpkg install sqlite3 cpprestsdk --triplet ${{ matrix.triplet }} -``` - -If you're using [manifests](../specifications/manifests.md), you can omit the `vcpkg package restore` step: it will be run automatically as part of your build. - -More information about GitHub Packages' NuGet support is available on [GitHub Docs][github-nuget]. - -[github-nuget]: https://docs.github.com/en/packages/using-github-packages-with-your-projects-ecosystem/configuring-dotnet-cli-for-use-with-github-packages - -### Azure DevOps Artifacts - -To use vcpkg with Azure DevOps Artifacts, we recommend using the `NuGet` backend. - -First, you need to ensure Artifacts has been enabled on your DevOps instance; this can be done by an Administrator through `Project Settings > General > Overview > Azure DevOps Services > Artifacts`. - -Next, you will need to create a feed for your project; see the [Azure DevOps Artifacts Documentation][devops-nuget] for more information. Your feed URL will be an `https://` link ending with `/nuget/v3/index.json`. - -```yaml -# azure-pipelines.yaml -variables: -- name: VCPKG_BINARY_SOURCES - value: 'clear;nuget,,readwrite' - -steps: -# Remember to add this task to allow vcpkg to upload archives via NuGet -- task: NuGetAuthenticate@0 -``` - -If you are using custom agents with a non-Windows OS, you will need to install Mono to run `nuget.exe` (`apt install mono-complete`, `brew install mono`, etc). - -More information about Azure DevOps Artifacts' NuGet support is available in the [Azure DevOps Artifacts Documentation][devops-nuget]. - -[devops-nuget]: https://docs.microsoft.com/en-us/azure/devops/artifacts/get-started-nuget?view=azure-devops - -### Azure Blob Storage (experimental) - -> Note: This is an experimental feature and may change or be removed at any time - -Vcpkg supports interfacing with Azure Blob Storage via the `x-azblob` source type. - -``` -x-azblob,,[,] -``` - -First, you need to create an Azure Storage Account as well as a container ([Quick Start Documentation](https://docs.microsoft.com/en-us/azure/storage/blobs/storage-quickstart-blobs-portal)]. - -Next, you will need to create a Shared Access Signature, which can be done from the storage account under Settings -> Shared access signature. This SAS will need: -- Allowed services: Blob -- Allowed resource types: Object -- Allowed permissions: Read, Create (if using `write` or `readwrite`) - -The blob endpoint plus the container must be passed as the `` and the generated SAS without the `?` prefix must be passed as the ``. - -Example: -``` -x-azblob,https://.blob.core.windows.net/,sv=2019-12-12&ss=b&srt=o&sp=rcx&se=2020-12-31T06:20:36Z&st=2020-12-30T22:20:36Z&spr=https&sig=abcd,readwrite -``` - -Vcpkg will attempt to avoid revealing the SAS during normal operations, however: -1. It will be printed in full if `--debug` is passed -2. It will be passed as a command line parameter to subprocesses, such as `curl.exe` - -Azure Blob Storage includes a feature to remove cache entries that haven't been accessed in a given number of days which can be used to reduce the size of your cache. See [Data Lifecycle Management on Microsoft Docs](https://docs.microsoft.com/en-us/azure/storage/blobs/lifecycle-management-overview) for more information, or look for "Data management > Lifecycle management" in the Azure Portal for your storage account. If you wish to be able to be resilient to upstream libraries' servers but still want to remove entries from the binary cache, consider using [asset caching](assetcaching.md#x-azurl) in a different storage account without a lifecycle management policy. - -### Google Cloud Storage (experimental) - -> Note: This is an experimental feature and may change or be removed at any time - -Vcpkg supports interfacing with Google Cloud Storage (GCS) via the `x-gcs` source type. - -``` -x-gcs,[,] -``` - -First, you need to create an Google Cloud Platform Account as well as a storage bucket ([GCS Quick Start](https://cloud.google.com/storage/docs/quickstart-gsutil)]. - -As part of this quickstart you would have configured the `gsutil` command-line tool to authenticate with Google Cloud. -Vcpkg will use this command-line tool, make sure it is in your search path for executables. - -Example 1 (using a bucket without a common prefix for the objects): - -``` -x-gcs,gs:///,readwrite -``` - -Example 2 (using a bucket and a prefix for the objects): - -``` -x-gcs,gs:///my-vcpkg-cache/maybe/with/many/slashes/,readwrite -x-gcs,gs:///my-vcpkg-cache/maybe/with`,commas/too!/,readwrite -``` - -Commas (`,`) are valid as part of a object prefix in GCS, just remember to escape them in the vcpkg configuration, as -shown in the previous example. Note that GCS does not have folders (some of the GCS tools simulate folders), it is not -necessary to create or otherwise manipulate the prefix used by your vcpkg cache. - -## NuGet Provider Configuration - -### Credentials - -Many NuGet servers require additional credentials to access. The most flexible way to supply credentials is via the `nugetconfig` provider with a custom `nuget.config` file. See https://docs.microsoft.com/en-us/nuget/consume-packages/consuming-packages-authenticated-feeds for more information on authenticating via `nuget.config`. - -However, it is still possible to authenticate against many servers using NuGet's built-in credential providers or via customizing your environment's default `nuget.config`. The default config can be extended via nuget client calls such as -``` -nuget sources add -Name MyRemote -Source https://... -Username $user -Password $pass -``` -and then passed to vcpkg via `--binarysource=nuget,MyRemote,readwrite`. You can get a path to the precise copy of NuGet used by vcpkg by running `vcpkg fetch nuget`, which will report something like: -``` -$ vcpkg fetch nuget -/vcpkg/downloads/tools/nuget-5.5.1-linux/nuget.exe -``` -Non-Windows users will need to call this through mono via `mono /path/to/nuget.exe sources add ...`. - -##### Credential Example for Azure Dev Ops -```bash -# On Linux or OSX -$ mono `vcpkg fetch nuget | tail -n1` sources add \ - -name ADO \ - -Source https://pkgs.dev.azure.com/$ORG/_packaging/$FEEDNAME/nuget/v3/index.json \ - -Username $USERNAME \ - -Password $PAT -$ export VCPKG_BINARY_SOURCES="nuget,ADO,readwrite" -``` -```powershell -# On Windows Powershell -PS> & $(vcpkg fetch nuget | select -last 1) sources add ` - -name ADO ` - -Source https://pkgs.dev.azure.com/$ORG/_packaging/$FEEDNAME/nuget/v3/index.json ` - -Username $USERNAME ` - -Password $PAT -PS> $env:VCPKG_BINARY_SOURCES="nuget,ADO,readwrite" -``` - -We recommend using a Personal Access Token (PAT) as the password for maximum security. You can generate a PAT in User Settings -> Personal Access Tokens or `https://dev.azure.com/$ORG/_usersSettings/tokens`. - -#### `metadata.repository` - -The `nuget` and `nugetconfig` source providers additionally respect certain environment variables while generating nuget packages. The `metadata.repository` field of any packages will be generated as: -``` - -``` -or -``` - -``` -if the appropriate environment variables are defined and non-empty. This is specifically used to associate packages in GitHub Packages with the _building_ project and not intended to associate with the original package sources. - -#### NuGet's cache - -NuGet's cache is not used by default. To use it for every nuget-based source, set the [environment variable](config-environment.md) `VCPKG_USE_NUGET_CACHE` to `true` (case-insensitive) or `1`. - -## Implementation Notes (internal details subject to change without notice) - -Binary caching relies on hashing everything that contributes to a particular package build. This includes: - -- Every file in the port directory -- The triplet file and name -- The C++ compiler executable -- The C compiler executable -- The set of features selected -- Every dependency's package hash (note: this is that package's input hash, not contents) -- All helper scripts referenced by `portfile.cmake` (heuristic) -- The version of CMake used -- The contents of any environment variables listed in `VCPKG_ENV_PASSTHROUGH` -- The hash of the toolchain file (builtin or `VCPKG_CHAINLOAD_TOOLCHAIN_FILE`) - -Despite this extensive list, it is possible to defeat the cache and introduce nondeterminism. If you have additional details that you'd like to be tracked, the easiest resolution is to generate a triplet file with your additional information in a comment. That additional information will be included in the package's input set and ensure a unique universe of binaries. - -The hashes used are stored in the package and in the current installed directory at `/share//vcpkg_abi_info.txt`. - -The original specification for binary caching is available [here](../specifications/binarycaching.md). +# Binary Caching + +The documentation for this topic has been moved to the following articles in [Microsoft Learn](https://learn.microsoft.com/vcpkg): + +* [Binary caching](https://learn.microsoft.com/vcpkg/users/binarycaching) diff --git a/docs/users/config-environment.md b/docs/users/config-environment.md deleted file mode 100644 index 1ba428a031a778..00000000000000 --- a/docs/users/config-environment.md +++ /dev/null @@ -1,98 +0,0 @@ -## Environment and Configuration - -**The latest version of this documentation is available on [GitHub](https://github.com/Microsoft/vcpkg/tree/master/docs/users/config-environment.md).** - -### Environment Variables - -#### VCPKG_DOWNLOADS - -This environment variable can be set to an existing directory to use for storing downloads instead of the internal -`downloads/` directory. It should always be set to an absolute path. - -#### VCPKG_FEATURE_FLAGS - -This environment variable can be set to a comma-separated list of off-by-default features in vcpkg. These features are -subject to change without notice and should be considered highly unstable. - -Non-exhaustive list of off-by-default features: - -- `manifest` - -#### EDITOR - -This environment variable can be set to the full path of an executable to be used for `vcpkg edit`. Please see -`vcpkg help edit` for command-specific help. - -#### VCPKG_ROOT - -This environment variable can be set to a directory to use as the root of the vcpkg instance. Note that mixing vcpkg -repo versions and executable versions can cause issues. - -#### VCPKG_VISUAL_STUDIO_PATH - -This environment variable can be set to the full path to a Visual Studio instance on the machine. This Visual Studio instance -will be used if the triplet does not override it via the [`VCPKG_VISUAL_STUDIO_PATH`](triplets.md#VCPKG_VISUAL_STUDIO_PATH) triplet setting. - -Example: `D:\2017` - -#### VCPKG_DEFAULT_TRIPLET - -This environment variable can be set to a triplet name which will be used for unqualified triplet references in command lines. - -#### VCPKG_DEFAULT_HOST_TRIPLET - -This environment variable can be set to a triplet name which will be used for unqualified host port references in command lines and all host port references in dependency lists. See [the host-dependencies documentation](host-dependencies.md) for more information. - -#### VCPKG_OVERLAY_PORTS - -This environment variable allows users to override ports with alternate versions according to the -[ports overlay](../specifications/ports-overlay.md) specification. List paths to overlays using -the platform dependent PATH separator (Windows `;` | others `:`) - -Example (Windows): `C:\custom-ports\boost;C:\custom-ports\sqlite3` - -#### VCPKG_OVERLAY_TRIPLETS - -This environment variable allows users to add directories to search for triplets. -[Example: overlay triplets](../examples/overlay-triplets-linux-dynamic.md). -List paths to overlays using the platform dependent PATH separator (Windows `;`, others `:`) - -#### VCPKG_FORCE_SYSTEM_BINARIES - -This environment variable, if set, suppresses the downloading of CMake and Ninja and forces the use of the system binaries. - -#### VCPKG_KEEP_ENV_VARS - -This environment variable can be set to a list of environment variables, separated by `;`, which will be propagated to -the build environment. - -The values of the kept variables will not be tracked in package ABIs and will not cause rebuilds when they change. To -pass in environment variables that should cause rebuilds on change, see [`VCPKG_ENV_PASSTHROUGH`](triplets.md#VCPKG_ENV_PASSTHROUGH). - -Example: `FOO_SDK_DIR;BAR_SDK_DIR` - -#### VCPKG_MAX_CONCURRENCY - -This environment variables limits the amount of concurrency requested by underlying buildsystems. If unspecified, this defaults to logical cores + 1. - -#### VCPKG_DEFAULT_BINARY_CACHE - -This environment variable redirects the default location to store binary packages. See [Binary Caching](binarycaching.md#Configuration) for more details. - -#### VCPKG_BINARY_SOURCES - -This environment variable adds or removes binary sources. See [Binary Caching](binarycaching.md#Configuration) for more details. - -#### VCPKG_NUGET_REPOSITORY - -This environment variable changes the metadata of produced NuGet packages. See [Binary Caching](binarycaching.md#Configuration) for more details. - -#### VCPKG_USE_NUGET_CACHE - -This environment variable allows using NuGet's cache for every nuget-based binary source. See [Binary Caching](binarycaching.md#NuGets-cache) for more details. - -#### X_VCPKG_ASSET_SOURCES - -> Note: This is an experimental feature and may change or be removed at any time - -This environment variable allows using a private mirror for all SHA512-tagged assets. See [Asset Caching](assetcaching.md) for more details. diff --git a/docs/users/host-dependencies.md b/docs/users/host-dependencies.md deleted file mode 100644 index 6521d28dd961ba..00000000000000 --- a/docs/users/host-dependencies.md +++ /dev/null @@ -1,65 +0,0 @@ -# Host Dependencies - -Tools used at build time by other ports to generate code or implement a custom build system can be packaged inside vcpkg. - -## Consuming - -When consuming a port as a tool, you must set the dependency's `"host"` field to true. For example: -```json -{ - "name": "contoso-http-library", - "version-string": "1.0.0", - "description": "Contoso's http runtime library", - "dependencies": [ - "contoso-core-library", - { - "name": "contoso-code-generator", - "host": true - }, - { - "name": "contoso-build-system", - "host": true - } - ] -} -``` -In this case, the `contoso-code-generator` and `contoso-build-system` (including any transitive dependencies) will be built and installed for the host triplet before `contoso-http-library` is built. - ->Note: Consumers must use `vcpkg.json` instead of `CONTROL` as their metadata format. You can easily convert an existing `CONTROL` file using `vcpkg format-manifest /path/to/CONTROL`. - -Then, within the portfile of the consumer (`contoso-http-library` in the example), the CMake variable `CURRENT_HOST_INSTALLED_DIR` will be defined to `installed/` and should be used to locate any required assets. In the example, `contoso-code-generator` might have installed `tools/contoso-code-generator/ccg.exe` which the consumer would add to its local path via -```cmake -# ports/contoso-http-library/portfile.cmake -vcpkg_add_to_path(${CURRENT_HOST_INSTALLED_DIR}/tools/contoso-code-generator) -``` - -## Specifying the Host Triplet - -The default host triplets are chosen based on the host architecture and operating system, for example `x64-windows`, `x64-linux`, or `x64-osx`. They can be overridden via: - -1. In CMake-based manifest mode, calling `set(VCPKG_HOST_TRIPLET "" CACHE STRING "")` before the first `project()` directive -2. In MSBuild-based manifest mode, setting the `VcpkgHostTriplet` property -3. On the command line, via the flag `--host-triplet=...` -4. The `VCPKG_DEFAULT_HOST_TRIPLET` environment variable - -## Producing - -Producing a tool has no special requirements; tools should be authored as a standard port, following all the normal policies and practices. Notably, they should build against `TARGET_TRIPLET`, not `HOST_TRIPLET` within the context of their portfile. - -Sometimes, it can be useful to determine whether the current context is a cross-compiling one or not. This should be done by comparing the strings `TARGET_TRIPLET` and `HOST_TRIPLET`. For example: - -```cmake -string(COMPARE EQUAL "${TARGET_TRIPLET}" "${HOST_TRIPLET}" I_AM_NOT_CROSSCOMPILING) - -if(TARGET_TRIPLET STREQUAL HOST_TRIPLET) - # This is a native build -else() - # This is a cross build -endif() -``` - -## Host-only ports - -Some ports are host-only: script ports and tool ports are common examples. -In this case, you can use the `"native"` supports expression to describe this. -This supports expression is true when `TARGET_TRIPLET == HOST_TRIPLET`. diff --git a/docs/users/integration.md b/docs/users/integration.md deleted file mode 100644 index 15a3072e3c7a1a..00000000000000 --- a/docs/users/integration.md +++ /dev/null @@ -1,177 +0,0 @@ -# Buildsystem Integration - -**The latest version of this documentation is available on [GitHub](https://github.com/Microsoft/vcpkg/tree/master/docs/users/integration.md).** -## Table of Contents -- [MSBuild Integration (Visual Studio)](#msbuild-integration-visual-studio) - - [User-wide integration](#user-wide-integration) - - [Per-project Integration](#per-project-integration) - - [Changing the triplet](#msbuild-changing-the-triplet) -- [CMake Integration](#cmake-integration) - - [Using an environment variable instead of a command line option](#using-an-environment-variable-instead-of-a-command-line-option) - - [Using multiple toolchain files](#using-multiple-toolchain-files) - - [Changing the triplet](#cmake-changing-the-triplet) -- [Manual Compiler Setup](#manual-compiler-setup) -- [`export` Command](#export-command) - -The buildsystem-specific integration styles have heuristics to deduce the correct [triplet][]. This can be overridden in a native way for [MSBuild](#msbuild-changing-the-triplet) and [CMake](#cmake-changing-the-triplet). - -## MSBuild Integration (Visual Studio) - -**If you are using manifest mode(`vcpkg.json`) see [here](manifests.md#msbuild-integration) for additional configuration options.** -### User-wide integration -```no-highlight -vcpkg integrate install -``` -This will implicitly add Include Directories, Link Directories, and Link Libraries for all packages installed with Vcpkg to all VS2015, VS2017 and VS2019 MSBuild projects. We also add a post-build action for executable projects that will analyze and copy any DLLs you need to the output folder, enabling a seamless F5 experience. - -For the vast majority of libraries, this is all you need to do -- just File -> New Project and write code! However, some libraries perform conflicting behaviors such as redefining `main()`. Since you need to choose per-project which of these conflicting options you want, you will need to add those libraries to your linker inputs manually. - -Here are some examples, though this is not an exhaustive list: - -- Gtest provides `gtest`, `gmock`, `gtest_main`, and `gmock_main` -- SDL2 provides `SDL2main` -- SFML provides `sfml-main` -- Boost.Test provides `boost_test_exec_monitor` - -To get a full list for all your installed packages, run `vcpkg owns manual-link`. - -**If you are using manifest mode (`vcpkg.json`) see [here](manifests.md#msbuild-integration) for all available options.** - -### Per-project integration - -**Note: This approach is not recommended for new projects, since it makes them difficult to share with others.** - -**For a portable, self-contained NuGet package, see the [`export command`](#export-command)** - -We also provide individual VS project integration through a NuGet package. This will modify the project file, so we do not recommend this approach for open source projects. -```no-highlight -PS D:\src\vcpkg> .\vcpkg integrate project -Created nupkg: D:\src\vcpkg\scripts\buildsystems\vcpkg.D.src.vcpkg.1.0.0.nupkg - -With a project open, go to Tools->NuGet Package Manager->Package Manager Console and paste: - Install-Package vcpkg.D.src.vcpkg -Source "D:/src/vcpkg/scripts/buildsystems" -``` -*Note: The generated NuGet package does not contain the actual libraries. It instead acts like a shortcut (or symlink) to the vcpkg install and will "automatically" update with any changes (install/remove) to the libraries. You do not need to regenerate or update the NuGet package.* - - - -### Changing the triplet -You can see the automatically deduced triplet by setting your MSBuild verbosity to Normal or higher: - -> *Shortcut: Ctrl+Q "build and run"* -> -> Tools -> Options -> Projects and Solutions -> Build and Run -> MSBuild project build output verbosity - -To override the automatically chosen [triplet][], you can specify the MSBuild property `VcpkgTriplet` in your `.vcxproj`. We recommend adding this to the `Globals` PropertyGroup. -```xml - - - x86-windows-static - x64-windows-static - -``` - -## CMake Integration -```no-highlight -cmake ../my/project -DCMAKE_TOOLCHAIN_FILE=[vcpkg-root]/scripts/buildsystems/vcpkg.cmake -``` -Projects configured with the Vcpkg toolchain file will have the appropriate Vcpkg folders added to the cmake search paths. This makes all libraries available to be found through `find_package()`, `find_path()`, and `find_library()`. - -See [Installing and Using Packages Example: sqlite](../examples/installing-and-using-packages.md) for a fully worked example using our CMake toolchain. - -Note that we do not automatically add ourselves to your compiler include paths. To use a header-only library, simply use `find_path()`, which will correctly work on all platforms: -```cmake -# To find and use catch -find_path(CATCH_INCLUDE_DIR NAMES catch.hpp PATH_SUFFIXES catch2) -include_directories(${CATCH_INCLUDE_DIR}) -``` - -**If you are using manifest mode (`vcpkg.json`) see [here](manifests.md#cmake-integration) for all available options.** - -For different IDE integrations see [here](../../README.md#using-vcpkg-with-cmake). - -### Using an environment variable instead of a command line option - -The `CMAKE_TOOLCHAIN_FILE` setting simply must be set before the `project()` directive is first called. This means that you can easily read from an environment variable to avoid passing it on the configure line: - -```cmake -if(DEFINED ENV{VCPKG_ROOT} AND NOT DEFINED CMAKE_TOOLCHAIN_FILE) - set(CMAKE_TOOLCHAIN_FILE "$ENV{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake" - CACHE STRING "") -endif() - -project(myproject CXX) -``` - -### Using multiple toolchain files - -To use an external toolchain file with a project using vcpkg, you can set the cmake variable `VCPKG_CHAINLOAD_TOOLCHAIN_FILE` on the configure line: -```no-highlight -cmake ../my/project \ - -DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake \ - -DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=../my/project/compiler-settings-toolchain.cmake -``` - -Alternatively, you can include the vcpkg toolchain at the end of the primary toolchain file: -```cmake -# MyToolchain.cmake -set(CMAKE_CXX_COMPILER ...) -set(VCPKG_TARGET_TRIPLET x64-my-custom-windows-triplet) -include(/path/to/vcpkg/scripts/buildsystems/vcpkg.cmake) -``` -**Note: vcpkg does _not_ see the settings in your own triplets, such as your compiler or compilation flags. To change vcpkg's settings, you must make a [custom triplet file](triplets.md) (which can [share your own toolchain](triplets.md#VCPKG_CHAINLOAD_TOOLCHAIN_FILE))** - - - -### Changing the triplet -You can set `VCPKG_TARGET_TRIPLET` on the configure line: -```no-highlight -cmake ../my/project -DVCPKG_TARGET_TRIPLET=x64-windows-static -DCMAKE_TOOLCHAIN_FILE=... -``` -If you use `VCPKG_DEFAULT_TRIPLET` [environment variable](config-environment.md) to control the unqualified triplet in vcpkg command lines you can default `VCPKG_TARGET_TRIPLET` in CMake like [Using an environment variable instead of a command line option](#using-an-environment-variable-instead-of-a-command-line-option): - -```cmake -if(DEFINED ENV{VCPKG_DEFAULT_TRIPLET} AND NOT DEFINED VCPKG_TARGET_TRIPLET) - set(VCPKG_TARGET_TRIPLET "$ENV{VCPKG_DEFAULT_TRIPLET}" CACHE STRING "") -endif() -``` -Finally, if you have your own toolchain file, you can set `VCPKG_TARGET_TRIPLET` there: -```cmake -# MyToolchain.cmake -set(CMAKE_CXX_COMPILER ...) -set(VCPKG_TARGET_TRIPLET x64-my-custom-triplet) -``` - -## Manual Compiler Setup - -Libraries are installed into the `installed\` subfolder in classic mode, partitioned by triplet (e.g. x86-windows): - -* The header files are installed to `installed\x86-windows\include` -* Release `.lib` files are installed to `installed\x86-windows\lib` or `installed\x86-windows\lib\manual-link` -* Release `.dll` files are installed to `installed\x86-windows\bin` -* Debug `.lib` files are installed to `installed\x86-windows\debug\lib` or `installed\x86-windows\debug\lib\manual-link` -* Debug `.dll` files are installed to `installed\x86-windows\debug\bin` - -See your build system specific documentation for how to use prebuilt binaries. - -_On Windows dynamic triplets:_ To run any produced executables you will also need to either copy the needed DLL files to the same folder as your executable or *prepend* the correct `bin\` directory to your path. - -## Export Command -This command creates a shrinkwrapped archive containing a specific set of libraries (and their dependencies) that can be quickly and reliably shared with build servers or other users in your organization. - -- `--nuget`: NuGet package -- `--zip`: Zip archive -- `--7zip`: 7Zip archive -- `--raw`: Raw, uncompressed folder - -Each of these have the same internal layout which mimics the layout of a full vcpkg instance: - -- `installed\` contains the installed package files -- `scripts\buildsystems\vcpkg.cmake` is a toolchain file suitable for use with CMake - -Additionally, NuGet packages will contain a `build\native\vcpkg.targets` that integrates with MSBuild projects. - -Please also see our [blog post](https://blogs.msdn.microsoft.com/vcblog/2017/05/03/vcpkg-introducing-export-command/) for additional examples. - - -[triplet]: triplets.md diff --git a/docs/users/manifests.md b/docs/users/manifests.md index 89dcc25b30e563..7f9a82b0f20bc0 100644 --- a/docs/users/manifests.md +++ b/docs/users/manifests.md @@ -1,509 +1,6 @@ -# Manifest Mode - -**The latest version of this documentation is available on [GitHub](https://github.com/Microsoft/vcpkg/tree/master/docs/users/manifests.md).** - -vcpkg has two modes of consuming dependencies - classic mode and manifest mode. - -In classic mode, vcpkg produces an "installed" tree, whose contents are changed by explicit calls to `vcpkg install` or -`vcpkg remove`. The installed tree is intended for consumption by any number of projects: for example, installing a -bunch of libraries and then using those libraries from Visual Studio, without additional configuration. Because the -installed tree is not associated with an individual project, it's similar to tools like `brew` or `apt`, except that the -installed tree is vcpkg-installation-local, rather than global to a system or user. - -In manifest mode, an installed tree is associated with a particular project rather than the vcpkg installation. The set -of installed ports is controlled by editing the project's "manifest file", and the installed tree is placed in the -project directory or build directory. This mode acts more similarly to language package managers like Cargo, or npm. We -recommend using this manifest mode whenever possible, because it allows one to encode a project's dependencies -explicitly in a project file, rather than in the documentation, making your project much easier to consume. - -Manifest mode is in beta, but it can be used from the CMake or MSBuild integration, which will be stable when used via -things like `find_package`. This is the recommended way to use manifest mode. - -Check out the [manifest cmake example](../examples/manifest-mode-cmake.md) for an example project using CMake and -manifest mode. - -## Table of Contents - -- [Simple Example Manifest](#simple-example-manifest) -- [Manifest Syntax Reference](#manifest-syntax-reference) -- [Command Line Interface](#command-line-interface) -- [CMake Integration](#cmake-integration) -- [MSBuild Integration](#msbuild-integration) - -See also [the original specification](../specifications/manifests.md) for more low-level details. - -## Simple Example Manifest - -```json -{ - "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg/master/scripts/vcpkg.schema.json", - "name": "my-application", - "version": "0.15.2", - "dependencies": [ - "boost-system", - { - "name": "cpprestsdk", - "default-features": false - }, - "libxml2", - "yajl" - ] -} -``` - -## Manifest Syntax Reference - -A manifest is a JSON-formatted file named `vcpkg.json` which lies at the root of your project. -It contains all the information a person needs to know to get dependencies for your project, -as well as all the metadata about your project that a person who depends on you might be interested in. - -Manifests follow strict JSON: they can't contain C++-style comments (`//`) nor trailing commas. However -you can use field names that start with `$` to write your comments in any object that has a well-defined set of keys. -These comment fields are not allowed in any objects which permit user-defined keys (such as `"features"`). - -Each manifest contains a top level object with the fields documented below; the most important ones are -[`"name"`](#name), the [version fields](#version-fields), and [`"dependencies"`](#dependencies): - -### `"name"` - -This is the name of your project! It must be formatted in a way that vcpkg understands - in other words, -it must be lowercase alphabetic characters, digits, and hyphens, and it must not start nor end with a hyphen. -For example, `Boost.Asio` might be given the name `boost-asio`. - -This is a required field. - -### Version fields - -There is, at this point, only one version field - `"version-string"`. However, more will be added in the future. -You must have one (and only one) version field. There are different reasons to use each version field: - -* `"version-string"` - used for packages that don't have orderable versions. This is pretty uncommon, - but since we don't have any versioning constraints yet, this is the only one that you can use. - -Additionally, the `"port-version"` field is used by registries of packages, -as a way to version "the package gotten from `vcpkg install`" differently from the upstream package version. -You shouldn't need to worry about this at all. - -#### Additional version fields - -**Experimental behind the `versions` feature flag** - -See [versioning](versioning.md#version-schemes) for additional version types. - -### `"description"` - -This is where you describe your project. Give it a good description to help in searching for it! -This can be a single string, or it can be an array of strings; -in the latter case, the first string is treated as a summary, -while the remaining strings are treated as the full description. - -### `"builtin-baseline"` - -**Experimental behind the `versions` feature flag** - -This field indicates the commit of vcpkg which provides global minimum version information for your manifest. It is required for top-level manifest files using versioning. - -See also [versioning](versioning.md#builtin-baseline) for more semantic details. - -### `"dependencies"` - -This field lists all the dependencies you'll need to build your library (as well as any your dependents might need, -if they were to use you). It's an array of strings and objects: - -* A string dependency (e.g., `"dependencies": [ "zlib" ]`) is the simplest way one can depend on a library; - it means you don't depend on a single version, and don't need to write down any more information. -* On the other hand, an object dependency (e.g., `"dependencies": [ { "name": "zlib" } ]`) - allows you to add that extra information. - -#### Example: - -```json -"dependencies": [ - { - "name": "arrow", - "default-features": false, - "features": [ "json" ] - }, - "boost-asio", - "openssl", - { - "name": "picosha2", - "platform": "!windows" - } -] -``` - -#### `"name"` Field - -The name of the dependency. This follows the same restrictions as the [`"name"`](#name) property for a project. - -#### `"features"` and `"default-features"` Fields - -`"features"` is an array of feature names which tell you the set of features that the -dependencies need to have at a minimum, -while `"default-features"` is a boolean that tells vcpkg whether or not to -install the features the package author thinks should be "most common for most people to use". - -For example, `ffmpeg` is a library which supports many, many audio and video codecs; -however, for your specific project, you may only need mp3 encoding. -Then, you might just ask for: - -```json -{ - "name": "ffmpeg", - "default-features": false, - "features": [ "mp3lame" ] -} -``` - -#### `"platform"` Field - -The `"platform"` field defines the platforms where the dependency should be installed - for example, -you might need to use sha256, and so you use platform primitives on Windows, but `picosha2` on non-Windows platforms. - -```json -{ - "name": "picosha2", - "platform": "!windows" -} -``` - -This is a string field which takes boolean expressions of the form ``, -`!expression`, `expression { & expression & expression...}`, and `expression { | expression | expression...}`, -along with parentheses to denote precedence. -For example, a dependency that's only installed on the Windows OS, for the ARM64 architecture, -and on Linux on x64, would be written `(windows & arm64) | (linux & x64)`. - -The common identifiers are: - -- The operating system: `windows`, `uwp`, `linux`, `osx` (includes macOS), `android`, `emscripten` -- The architecture: `x86`, `x64`, `wasm32`, `arm64`, `arm` (includes both arm32 and arm64 due to backwards compatibility) - -although one can define their own. - -#### `"version>="` Field - -**Experimental behind the `versions` feature flag** - -A minimum version constraint on the dependency. - -This field specifies the minimum version of the dependency using a '#' suffix to denote port-version if non-zero. - -See also [versioning](versioning.md#version-1) for more semantic details. - -### `"overrides"` - -**Experimental behind the `versions` feature flag** - -This field enables version resolution to be ignored for certain dependencies and to use specific versions instead. - -See also [versioning](versioning.md#overrides) for more semantic details. - -#### Example: - -```json - "overrides": [ - { - "name": "arrow", "version": "1.2.3", "port-version": 7 - } - ] -``` - -### `"supports"` - -If your project doesn't support common platforms, you can tell your users this with the `"supports"` field. -It uses the same platform expressions as [`"platform"`](#platform), from dependencies, as well as the -`"supports"` field of features. -For example, if your library doesn't support linux, you might write `{ "supports": "!linux" }`. - - -### `"features"` and `"default-features"` - -The `"features"` field defines _your_ project's optional features, that others may either depend on or not. -It's an object, where the keys are the names of the features, and the values are objects describing the feature. -`"description"` is required, -and acts exactly like the [`"description"`](#description) field on the global package, -and `"dependencies"` are optional, -and again act exactly like the [`"dependencies"`](#dependencies) field on the global package. -There's also the `"supports"` field, -which again acts exactly like the [`"supports"`](#supports) field on the global package. - -You also have control over which features are default, if a person doesn't ask for anything specific, -and that's the `"default-features"` field, which is an array of feature names. - -#### Example: - -```json -{ - "name": "libdb", - "version": "1.0.0", - "description": [ - "An example database library.", - "Optionally can build with CBOR, JSON, or CSV as backends." - ], - "$default-features-explanation": "Users using this library transitively will get all backends automatically", - "default-features": [ "cbor", "csv", "json" ], - "features": { - "cbor": { - "description": "The CBOR backend", - "dependencies": [ - { - "$explanation": [ - "This is how you tell vcpkg that the cbor feature depends on the json feature of this package" - ], - "name": "libdb", - "default-features": false, - "features": [ "json" ] - } - ] - }, - "csv": { - "description": "The CSV backend", - "dependencies": [ - "fast-cpp-csv-parser" - ] - }, - "json": { - "description": "The JSON backend", - "dependencies": [ - "jsoncons" - ] - } - } -} -``` - -## Command Line Interface - -**Experimental behind the `manifests` feature flag** - -When invoked from any subdirectory of the directory containing `vcpkg.json`, `vcpkg install` with no package arguments -will install all manifest dependencies into `/vcpkg_installed/`. Most of `vcpkg -install`'s classic mode parameters function the same in manifest mode. - -### `--x-install-root=` - -**Experimental and may change or be removed at any time** - -Specifies an alternate install location than `/vcpkg_installed/`. - -### `--triplet=` - -Specify the triplet to be used for installation. - -Defaults to the same default triplet as in classic mode. - -### `--x-feature=` - -**Experimental and may change or be removed at any time** - -Specify an additional feature from the `vcpkg.json` to install dependencies from. - -### `--x-no-default-features` - -**Experimental and may change or be removed at any time** - -Disables automatic activation of all default features listed in the `vcpkg.json`. - -### `--x-manifest-root=` - -**Experimental and may change or be removed at any time** - -Specifies the directory containing `vcpkg.json`. - -Defaults to searching upwards from the current working directory. - -## CMake Integration - -Our [CMake Integration](integration.md#cmake) will automatically detect a `vcpkg.json` manifest file in the same -directory as the top-level `CMakeLists.txt` (`${CMAKE_SOURCE_DIR}/vcpkg.json`) and activate manifest mode. Vcpkg will be -automatically bootstrapped if missing and invoked to install your dependencies into your local build directory -(`${CMAKE_BINARY_DIR}/vcpkg_installed`). - -### Configuration - -All vcpkg-affecting variables must be defined before the first `project()` directive, such as via the command line or -`set()` statements. - -#### `VCPKG_TARGET_TRIPLET` - -This variable controls which triplet dependencies will be installed for. - -If unset, vcpkg will automatically detect an appropriate default triplet given the current compiler settings. - -#### `VCPKG_HOST_TRIPLET` - -This variable controls which triplet host dependencies will be installed for. - -If unset, vcpkg will automatically detect an appropriate native triplet (x64-windows, x64-osx, x64-linux). - -See also [Host Dependencies](host-dependencies.md). - -#### `VCPKG_MANIFEST_MODE` - -This variable controls whether vcpkg operates in manifest mode or in classic mode. To disable manifest mode even with a -`vcpkg.json`, set this to `OFF`. - -Defaults to `ON` when `VCPKG_MANIFEST_DIR` is non-empty or `${CMAKE_SOURCE_DIR}/vcpkg.json` exists. - -#### `VCPKG_MANIFEST_DIR` - -This variable can be defined to specify an alternate folder containing your `vcpkg.json` manifest. - -Defaults to `${CMAKE_SOURCE_DIR}` if `${CMAKE_SOURCE_DIR}/vcpkg.json` exists. - -#### `VCPKG_MANIFEST_INSTALL` - -This variable controls whether vcpkg will be automatically run to install your dependencies during your configure step. - -Defaults to `ON` if `VCPKG_MANIFEST_MODE` is `ON`. - -#### `VCPKG_BOOTSTRAP_OPTIONS` - -This variable can be set to additional command parameters to pass to `./bootstrap-vcpkg` (run in automatic restore mode -if the vcpkg tool does not exist). - -#### `VCPKG_OVERLAY_TRIPLETS` - -This variable can be set to a list of paths to be passed on the command line as `--overlay-triplets=...` - -#### `VCPKG_OVERLAY_PORTS` - -This variable can be set to a list of paths to be passed on the command line as `--overlay-ports=...` - -#### `VCPKG_MANIFEST_FEATURES` - -This variable can be set to a list of features to treat as active when installing from your manifest. - -For example, Features can be used by projects to control building with additional dependencies to enable tests or -samples: - -```json -{ - "name": "mylibrary", - "version": "1.0", - "dependencies": [ "curl" ], - "features": { - "samples": { - "description": "Build Samples", - "dependencies": [ "fltk" ] - }, - "tests": { - "description": "Build Tests", - "dependencies": [ "gtest" ] - } - } -} -``` -```cmake -# CMakeLists.txt - -option(BUILD_TESTING "Build tests" OFF) -if(BUILD_TESTING) - list(APPEND VCPKG_MANIFEST_FEATURES "tests") -endif() - -option(BUILD_SAMPLES "Build samples" OFF) -if(BUILD_SAMPLES) - list(APPEND VCPKG_MANIFEST_FEATURES "samples") -endif() - -project(myapp) - -# ... -``` - -#### `VCPKG_MANIFEST_NO_DEFAULT_FEATURES` - -This variable controls whether to automatically activate all default features in addition to those listed in -`VCPKG_MANIFEST_FEATURES`. If set to `ON`, default features will not be automatically activated. - -Defaults to `OFF`. - -#### `VCPKG_INSTALL_OPTIONS` - -This variable can be set to a list of additional command line parameters to pass to the vcpkg tool during automatic -installation. - -#### `VCPKG_PREFER_SYSTEM_LIBS` - -This variable controls whether vcpkg will appends instead of prepends its paths to `CMAKE_PREFIX_PATH`, `CMAKE_LIBRARY_PATH` and `CMAKE_FIND_ROOT_PATH` so that vcpkg libraries/packages are found after toolchain/system libraries/packages. - -Defaults to `OFF`. - -#### `VCPKG_FEATURE_FLAGS` - -This variable can be set to a list of feature flags to pass to the vcpkg tool during automatic installation to opt-in to -experimental behavior. - -See the `--feature-flags=` command line option for more information. - -## MSBuild Integration - -To use manifests with MSBuild, first you need to use an [existing integration method](integration.md#with-msbuild). -Then, add a vcpkg.json above your project file (such as in the root of your source repository) and set the -property `VcpkgEnableManifest` to `true`. You can set this property via the IDE in `Project Properties -> Vcpkg -> Use -Vcpkg Manifest`. - -As part of your project's build, vcpkg automatically be run and install any listed dependencies to `vcpkg_installed/$(VcpkgTriplet)/` -adjacent to the `vcpkg.json` file; these files will then automatically be included in and linked to your MSBuild -projects. - -### Known issues - -* Visual Studio 2015 does not correctly track edits to the `vcpkg.json` and `vcpkg-configuration.json` files, and will -not respond to changes unless a `.cpp` is edited. - -### MSBuild Properties - -When using Visual Studio 2015 integration, these properties can be set in your project file before the - - - -line, which unfortunately requires manual editing of the `.vcxproj` or passing on the msbuild command line with `/p:`. -With 2017 or later integration, These properties can additionally be set via the Visual Studio GUI under -`Project Properties -> Vcpkg` or via a common `.props` file imported between `Microsoft.Cpp.props` and -`Microsoft.Cpp.targets`. - -#### `VcpkgEnabled` (Use Vcpkg) - -This can be set to "false" to explicitly disable vcpkg integration for the project - -#### `VcpkgTriplet` (Triplet) - -This can be set to a custom triplet to use for integration (such as x64-windows-static) - -#### `VcpkgHostTriplet` (Host Triplet) - -This can be set to a custom triplet to use for resolving host dependencies. - -If unset, this will default to the "native" triplet (x64-windows, x64-osx, x64-linux). - -See also [Host Dependencies](host-dependencies.md). - -#### `VcpkgAdditionalInstallOptions` (Additional Options) - -When using a manifest, this option specifies additional command line flags to pass to the underlying vcpkg tool -invocation. This can be used to access features that have not yet been exposed through another option. - -#### `VcpkgConfiguration` (Vcpkg Configuration) - -If your configuration names are too complex for vcpkg to guess correctly, you can assign this property to `Release` or -`Debug` to explicitly tell vcpkg what variant of libraries you want to consume. - -#### `VcpkgEnableManifest` (Use Vcpkg Manifest) - -This property must be set to true in order to consume from a local vcpkg.json file. If set to false, any local -vcpkg.json files will be ignored. This will default to true in the future. - -#### `VcpkgManifestInstall` (Install Vcpkg Dependencies) - -*(Requires `Use Vcpkg Manifest` set to `true`)* - -This property can be set to "false" to disable automatic dependency restoration on project build. Dependencies can be -manually restored via the vcpkg command line. - -#### `VcpkgInstalledDir` (Installed Directory) - -This property defines the location where headers and binaries are consumed from. In manifest mode, this directory is -created and populated based on your manifest. +# Manifests + +The documentation for this topic has been moved to the following articles in [Microsoft Learn](https://learn.microsoft.com/vcpkg): + +* [Manifest mode](https://learn.microsoft.com/vcpkg/users/manifests) +* [vcpkg.json syntax](https://learn.microsoft.com/vcpkg/reference/vcpkg-json) diff --git a/docs/users/mingw.md b/docs/users/mingw.md deleted file mode 100644 index 0a6c7ef6770623..00000000000000 --- a/docs/users/mingw.md +++ /dev/null @@ -1,153 +0,0 @@ -# Vcpkg and Mingw-w64 - -**The latest version of this documentation is available on [GitHub](https://github.com/Microsoft/vcpkg/tree/master/docs/users/mingw.md).** - -*MinGW is community-supported and not tested as part of vcpkg repository's CI process.* - -## Table of Contents - - - [Mingw-w64 community triplets](#Mingw-w64-community-triplets) - - [Using Mingw-w64 natively on Windows](#Using-Mingw-w64-natively-on-Windows) - - [How to avoid mixing different installations](#How-to-avoid-mixing-different-installations) - - [Using Mingw-w64 to build Windows programs on other systems](#Using-Mingw-w64-to-build-Windows-programs-on-other-systems) - -## Mingw-w64 community triplets - -Vcpkg includes -[x64, x86, arm64 and arm community triplets](https://github.com/microsoft/vcpkg/tree/master/triplets/community) -for [Mingw-w64](http://mingw-w64.org/). They don't depend on Visual Studio and -can be used natively on Windows as well as for cross-compiling on -other operating systems. There are two variants of each triplet, -selecting between static and dynamic linking. The actual tools -(g++ etc.) are expected to be named with particular prefixes. - -| architecture | vcpkg community triplets | tool name prefix | -|--------------|-----------------------------------------|----------------------| -| x64 | x64-mingw-dynamic, x64-mingw-static | x86_64-w64-mingw32- | -| x86 | x86-mingw-dynamic, x86-mingw-static | i686-w64-mingw32- | -| arm64 | arm64-mingw-dynamic, arm64-mingw-static | aarch64-w64-mingw32- | -| arm | arm-mingw-dynamic, arm-mingw-static | armv7-w64-mingw32- | - -These triplets are not tested by continuous integration, so many ports -do not build, and even existing ports may break on port updates. -Because of this, community involvement is paramount! - -- [Discussions](https://github.com/microsoft/vcpkg/discussions?discussions_q=mingw) -- [Open issues](https://github.com/microsoft/vcpkg/issues?q=is%3Aissue+is%3Aopen+mingw) -- [Open pull requests](https://github.com/microsoft/vcpkg/pulls?q=is%3Apr+is%3Aopen+mingw) - -## Using Mingw-w64 natively on Windows - -With [MSYS2](https://www.msys2.org/), it is possible to easily create -a full environment for building ports with Mingw-w64 on a Windows PC. - -Note that for building software for native windows environments, you -must use a mingw subsystem of MSYS2, and install some packages -(with a specific prefix) for this subsystem. - -| architecture | vcpkg triplets | subsystem | package prefix | -|--------------|-------------------------------------|-----------|-------------------| -| x64 | x64-mingw-dynamic, x64-mingw-static | mingw64 | mingw-w64-x86_64- | -| x86 | x86-mingw-dynamic, x86-mingw-static | mingw32 | mingw-w64-i686- | - -After the basic installation of MSYS2, you will need to install a few -additional packages for software development, e.g. for x64: - -```bash -pacman -S --needed git base-devel mingw-w64-x86_64-toolchain -``` - -The active subsystem is selected by running the MSYS2 MinGW app, or -changed in a running terminal by - -```bash -source shell mingw64 # for x64, or "mingw32" for x86 -``` - -The bootstrapping of vcpkg shall be done by running bootstrap-vcpkg.bat. -This will download the official vcpkg.exe. - -```bash -git clone https://github.com/microsoft/vcpkg.git -cd vcpkg -./bootstrap-vcpkg.bat -``` - -For building packages, you need to tell vcpkg that you want to use the -mingw triplet. This can be done in different ways. When Visual Studio -is not installed, you must also set the host triplet to mingw. This is -needed to resolve host dependencies. For convenience, you can use -environment variables to set both triplets: - -```bash -export VCPKG_DEFAULT_TRIPLET=x64-mingw-dynamic -export VCPKG_DEFAULT_HOST_TRIPLET=x64-mingw-dynamic -``` - -Now you can test your setup: - -```bash -./vcpkg install zlib -``` - -### How to avoid mixing different installations - -[The MSYS2 project explicitly warns](https://www.msys2.org/wiki/MSYS2-introduction/#path) -that "mixing in programs from other MSYS2 installations, Cygwin installations, -compiler toolchains or even various other programs is not supported and will -probably break things in unexpected ways." For example, the proper passing of -command line arguments with quoting and escaping may fail. - -But Vcpkg ports implicitly create MSYS2 installations, e.g. for `pkg-config` -and for various other build tools needed to deal with packages based on -autoconf. In particular, when ports prepend the directory of tools to the -`PATH` environment variable, this may change which tool with a particular -name is actually invoked, and how arguments are passed between tools. - -To mitigate such issues when working with a full MSYS2 installation, -try to keep the directories of the msys subsystem (`/usr/bin`, `bin`) -out of the `PATH` environment variable as found by vcpkg. In bash, you -may modify the `PATH` just for a single call of vcpkg: - -```bash -PATH="${PATH/:\/usr\/bin:\/bin:/:}" ./vcpkg install libpq -``` - -Alternatively, you may run vcpkg from a regular Command Prompt, after -adding *only* the desired mingw directory (e.g. `C:\msys64\mingw64\bin`) -to the `PATH`. - -When using vcpkg for CI with standard images on Azure Pipelines, Github Actions -or similar, note that the default `PATH` might contain more directories -which create a mix of MSYS2 programs from different installations. You may -want to set the desired `PATH` manually, or remove directories which contain -`sh.exe`, `bash.exe`, `msys-2.0.dll` or `cygwin1.dll`. - -## Using Mingw-w64 to build Windows programs on other systems - -You can use the vcpkg mingw community triplets with toolchains on -non-Windows computers to cross-compile software to be run on Windows. -Many Linux distributions offer such toolchains in optional packages -with a mingw-w64 [suffix](https://repology.org/projects/?search=-mingw-w64) -or [prefix](https://repology.org/projects/?search=mingw-w64-). -As an example, for Debian-based distributions, you would start with -this installation command for the x64 toolchain: - -``` -sudo apt-get install gcc-mingw-w64-x86-64 g++-mingw-w64-x86-64 -``` - -Note that the packaged versions of Mingw-w64 toolchains on Linux distributions -might be older releases which lack some useful features or bug fixes. -An alternative independent toolchain is offered by [MXE](https://mxe.cc/). - -For vcpkg bootstrapping, clone the github repository and run the -`bootstrap-vcpkg.sh` script: - -```bash -git clone https://github.com/microsoft/vcpkg.git -cd vcpkg -./bootstrap-vcpkg.sh -./vcpkg install zlib:x64-mingw-dynamic -``` - diff --git a/docs/users/registries.md b/docs/users/registries.md index 53db7cb1f429fd..cf0b2e4cfb978c 100644 --- a/docs/users/registries.md +++ b/docs/users/registries.md @@ -1,135 +1,6 @@ -# Using Registries - -**The latest version of this documentation is available on [GitHub](https://github.com/Microsoft/vcpkg/tree/master/docs/users/registries.md).** - -There are two parts to using registries; this documents the use side of the -relationship. In order to learn more about creating registries for others to -use, please read [this documentation](../maintainers/registries.md). - -## Table of Contents - -- [Using Registries](#using-registries) - - [Table of Contents](#table-of-contents) - - [`vcpkg-configuration.json`](#vcpkg-configurationjson) - - [Registry Objects](#registry-objects) - - [Registry Objects: `"kind"`](#registry-objects-kind) - - [Registry Objects: `"baseline"`](#registry-objects-baseline) - - [Registry Objects: `"repository"`](#registry-objects-repository) - - [Registry Objects: `"path"`](#registry-objects-path) - - [Configuration: `"default-registry"`](#configuration-default-registry) - - [Configuration: `"registries"`](#configuration-registries) - - [Example Configuration File](#example-configuration-file) - - [Package Name Resolution](#package-name-resolution) - - [Versioning Support](#versioning-support) - -## `vcpkg-configuration.json` - -From a high level perspective, everything that a project needs to define -about registries is contained in the vcpkg configuration file. In classic -mode, the configuration file lies in the vcpkg root; for manifest mode, -the file must exist next to the project's `vcpkg.json` file. -This file is named `vcpkg-configuration.json`, and it's a simple top-level -object file. - -### Registry Objects - -Registries are defined in JSON as objects. They must contain at least the -`"kind"` and `"baseline"` fields, and additionally the different kinds of -registry will have their own way of defining where the registry can be found: - -- git registries require the `"repository"` field -- filesystem registries require the `"path"` field -- built-in registries do not require a field, since there is only one - built-in registry. - -#### Registry Objects: `"kind"` - -The `"kind"` field must be a string: - -- For git registries: `"git"` -- For filesystem registries: `"filesystem"` -- For the builtin registry: `"builtin"` - -#### Registry Objects: `"baseline"` - -The `"baseline"` field must be a string. For git registries and for the -built-in registry, it should be a 40-character commit ID. -For filesystem registries, it can be any string that the registry defines. - -#### Registry Objects: `"repository"` - -This should be a string, of any repository format that git understands: - -- `"https://github.com/microsoft/vcpkg"` -- `"git@github.com:microsoft/vcpkg"` -- `"/dev/vcpkg-registry"` - -#### Registry Objects: `"path"` - -This should be a path; it can be either absolute or relative; relative paths -will be based at the directory the `vcpkg-configuration.json` lives in. - -### Configuration: `"default-registry"` - -The `"default-registry"` field should be a registry object. It defines -the registry that is used for all packages that are not claimed by any -package registries. It may also be `null`, in which case no packages that -are not claimed by package registries may be installed. - -### Configuration: `"registries"` - -The `"registries"` field should be an array of registry objects, each of -which additionally contain a `"packages"` field, which should be an array of -package names. These define the package registries, which are used for -the specific packages named by the `"packages"` field. - -The `"packages"` fields of all the package registries must be disjoint. - -### Example Configuration File - -Let's assume that you have mirrored at -: this will be your default registry. -Additionally, you want to use North Wind Trader's registry for their -beison and beicode libraries. The following `vcpkg-configuration.json` -will work: - -```json -{ - "default-registry": { - "kind": "git", - "repository": "https://git.example.com/vcpkg", - "baseline": "eefee7408133f3a0fef711ef9c6a3677b7e06fd7" - }, - "registries": [ - { - "kind": "git", - "repository": "https://github.com/northwindtraders/vcpkg-registry", - "baseline": "dacf4de488094a384ca2c202b923ccc097956e0c", - "packages": [ "beicode", "beison" ] - } - ] -} -``` - -## Package Name Resolution - -The way package name resolution works in vcpkg is fairly distinct from many -package managers. It is very carefully designed to _never_ implicitly choose -the registry that a package is fetched from. Just from -`vcpkg-configuration.json`, one can tell exactly from which registry a -package definition will be fetched from. - -The name resolution algorithm is as follows: - -- If there is a package registry that claims the package name, - use that registry; otherwise -- If there is a default registry defined, use that registry; otherwise -- If the default registry is set to `null`, error out; otherwise -- use the built-in registry. - -### Versioning Support - -Versioning with custom registries works exactly as it does in the built-in -registry. You can read more about that in the [versioning documentation]. - -[versioning documentation]: versioning.md \ No newline at end of file +# Registries + +The documentation for this topic has been moved to the following articles in [Microsoft Learn](https://learn.microsoft.com/vcpkg): + +* [Using registries](https://learn.microsoft.com/vcpkg/users/registries) +* [Creating registries](https://learn.microsoft.com/vcpkg/maintainers/registries) diff --git a/docs/users/selecting-library-features.md b/docs/users/selecting-library-features.md deleted file mode 100644 index a780d640370cdb..00000000000000 --- a/docs/users/selecting-library-features.md +++ /dev/null @@ -1,92 +0,0 @@ -# Selecting Library Features - -**The latest version of this documentation is available on [GitHub](https://github.com/Microsoft/vcpkg/tree/master/docs/users/selecting-library-features.md).** - -## Installing a library - -We will look at [llvm](https://llvm.org/) as an example. You could install it using: - -```powershell -> vcpkg install llvm -``` -or via a manifest with -```json -{ - "dependencies": ["llvm"] -} -``` - -With llvm now installed, we can execute: - -```powershell -> installed\x86-windows\bin\llc.exe --version -``` - -we see: - -```powershell - Registered Targets: - x86 - 32-bit X86: Pentium-Pro and above - x86-64 - 64-bit X86: EM64T and AMD64 -``` - -## Installing additional features - -But [llvm supports many more targets](https://llvm.org/docs/GettingStarted.html#local-llvm-configuration), from ARM to SPARC to SystemZ. -However, clearly our current installation doesn't include ARM as a target; -thus, we need to learn how vcpkg allows us to install other LLVM targets. -The llvm port allows this via the "target-*" features. - -If we do: - -```powershell -> vcpkg search llvm -``` - -We can see: - -``` -llvm 10.0.0#6 The LLVM Compiler Infrastructure -llvm[clang] Build C Language Family Front-end. -llvm[clang-tools-extra] Build Clang tools. -... -llvm[target-all] Build with all backends. -llvm[target-amdgpu] Build with AMDGPU backend. -llvm[target-arm] Build with ARM backend. -... -``` - -We can install any of these targets by using the install-feature syntax: - -```powershell -> vcpkg install llvm[target-arm] # Installs LLVM with the ARM target -``` -```json -{ - "dependencies": [{ "name": "llvm", "features": ["target-arm"] }] -} -``` - -## Opting out of default features - -The llvm port includes a few default features that you as a user may not want: for example, -the `clang` feature is default, which means that `vcpkg install llvm` will also build and install clang. -If you are writing a compiler that uses LLVM as a backend, -you're likely not interested in installing clang as well, -and we can do that by disabling default features with the special `core` "feature": -```powershell -> vcpkg install llvm[core,target-arm] # removing the default-feature with "core" also removes all of the default targets you get -``` -or in manifest files: -```json -{ - "dependencies": [{ - "name": "llvm", - "default-features": false, - "features": ["target-arm"] - }] -} -``` - -# Further reading -- The [Feature Packages](../specifications/feature-packages.md) specification was the initial design for features. diff --git a/docs/users/triplets.md b/docs/users/triplets.md index 5394aa59cb2d1f..568116e967987c 100644 --- a/docs/users/triplets.md +++ b/docs/users/triplets.md @@ -1,218 +1,6 @@ -# Triplet Files - -**The latest version of this documentation is available on [GitHub](https://github.com/Microsoft/vcpkg/tree/master/docs/users/triplets.md).** - -Triplet is a standard term used in cross compiling as a way to completely capture the target environment (cpu, os, compiler, runtime, etc) in a single convenient name. - -In Vcpkg, we use triplets to describe an imaginary "target configuration set" for every library. Within a triplet, libraries are generally built with the same configuration, but it is not a requirement. For example, you could have one triplet that builds `openssl` statically and `zlib` dynamically, one that builds them both statically, and one that builds them both dynamically (all for the same target OS and architecture). A single build will consume files from a single triplet. - -We currently provide many triplets by default (run `vcpkg help triplet`). However, you can easily customize or add your own by copying a built-in triplet from the `triplets\` directory into a project local location. Then, use overlay triplets (such as [`$VCPKG_OVERLAY_TRIPLETS`](config-environment.md#vcpkg_overlay_triplets), [CMake Manifest Mode](manifests.md#vcpkg_overlay_triplets), or [MSBuild Manifest Mode](manifests.md#vcpkgadditionalinstalloptions-additional-options)) to add that directory to vcpkg. See our [overlay triplets example](../examples/overlay-triplets-linux-dynamic.md) for a more detailed walkthrough. - -To change the triplet used by your project away from the default, see our [Integration Document](integration.md#triplet-selection). - -## Community triplets - -Triplets contained in the `triplets\community` folder are not tested by continuous integration, but are commonly requested by the community. - -Because we do not have continuous coverage, port updates may break compatibility with community triplets. Because of this, community involvement is paramount! - -We will gladly accept and review contributions that aim to solve issues with these triplets. - -### Usage - -Community Triplets are enabled by default, when using a community triplet a message like the following one will be printed during a package install: - -```no-highlight --- Using community triplet x86-uwp. This triplet configuration is not guaranteed to succeed. --- [COMMUNITY] Loading triplet configuration from: D:\src\viromer\vcpkg\triplets\community\x86-uwp.cmake -``` - -## Variables -### VCPKG_TARGET_ARCHITECTURE -Specifies the target machine architecture. - -Valid options are `x86`, `x64`, `arm`, `arm64` and `wasm32`. - -### VCPKG_CRT_LINKAGE -Specifies the desired CRT linkage (for MSVC). - -Valid options are `dynamic` and `static`. - -### VCPKG_LIBRARY_LINKAGE -Specifies the preferred library linkage. - -Valid options are `dynamic` and `static`. Note that libraries can ignore this setting if they do not support the preferred linkage type. - -### VCPKG_CMAKE_SYSTEM_NAME -Specifies the target platform. - -Valid options include any CMake system name, such as: -- Empty (Windows Desktop for legacy reasons) -- `WindowsStore` (Universal Windows Platform) -- `MinGW` (Minimalist GNU for Windows) -- `Darwin` (Mac OSX) -- `iOS` (iOS) -- `Linux` (Linux) -- `Emscripten` (WebAssembly) - -### VCPKG_CMAKE_SYSTEM_VERSION -Specifies the target platform system version. - -This field is optional and, if present, will be passed into the build as `CMAKE_SYSTEM_VERSION`. - -See also the CMake documentation for `CMAKE_SYSTEM_VERSION`: https://cmake.org/cmake/help/latest/variable/CMAKE_SYSTEM_VERSION.html. - -### VCPKG_CHAINLOAD_TOOLCHAIN_FILE -Specifies an alternate CMake Toolchain file to use. - -This (if set) will override all other compiler detection logic. By default, a toolchain file is selected from `scripts/toolchains/` appropriate to the platform. - -See also the CMake documentation for toolchain files: https://cmake.org/cmake/help/v3.11/manual/cmake-toolchains.7.html. - -### VCPKG_CXX_FLAGS -Sets additional compiler flags to be used when not using `VCPKG_CHAINLOAD_TOOLCHAIN_FILE`. - -This option also has forms for configuration-specific and C flags: -- `VCPKG_CXX_FLAGS` -- `VCPKG_CXX_FLAGS_DEBUG` -- `VCPKG_CXX_FLAGS_RELEASE` -- `VCPKG_C_FLAGS` -- `VCPKG_C_FLAGS_DEBUG` -- `VCPKG_C_FLAGS_RELEASE` - -### VCPKG_LINKER_FLAGS -Sets additional linker flags to be used while building dynamic libraries and -executables in the absence of `VCPKG_CHAINLOAD_TOOLCHAIN_FILE`. - -This option also has forms for configuration-specific flags: -- `VCPKG_LINKER_FLAGS` -- `VCPKG_LINKER_FLAGS_DEBUG` -- `VCPKG_LINKER_FLAGS_RELEASE` - -### VCPKG_CMAKE_CONFIGURE_OPTIONS -Set additional CMake configure options that are appended to the configure command (in [`vcpkg_cmake_configure`](../maintainers/ports/vcpkg-cmake/vcpkg_cmake_configure.md)). - -This field is optional. - -Also available as build-type specific `VCPKG_CMAKE_CONFIGURE_OPTIONS_DEBUG` and `VCPKG_CMAKE_CONFIGURE_OPTIONS_RELEASE` variables. - -### VCPKG_MAKE_CONFIGURE_OPTIONS -Set additional automake / autoconf configure options that are appended to the configure command (in [`vcpkg_configure_make`](../maintainers/vcpkg_configure_make.md)). - -This field is optional. - -For example, to skip certain libtool checks that may errantly fail: -```cmake -set(VCPKG_MAKE_CONFIGURE_OPTIONS "lt_cv_deplibs_check_method=pass_all") -``` - -Also available as build-type specific `VCPKG_MAKE_CONFIGURE_OPTIONS_DEBUG` and `VCPKG_MAKE_CONFIGURE_OPTIONS_RELEASE` variables. - - -### VCPKG_DEP_INFO_OVERRIDE_VARS -Replaces the default computed list of triplet "Supports" terms. - -This option (if set) will override the default set of terms used for qualified dependency resolution and "Supports" field evaluation. - -See the [`"supports"`](../maintainers/manifest-files.md#supports) manifest file field documentation for more details. - -> Implementers' Note: this list is extracted via the `vcpkg_get_dep_info` mechanism. - -### VCPKG_DISABLE_COMPILER_TRACKING - -When this option is set to (true|1|on), the compiler is ignored in the abi tracking. - -## Windows Variables - - -### VCPKG_ENV_PASSTHROUGH -Instructs vcpkg to allow additional environment variables into the build process. - -On Windows, vcpkg builds packages in a special clean environment that is isolated from the current command prompt to -ensure build reliability and consistency. This triplet option can be set to a list of additional environment variables -that will be added to the clean environment. The values of these environment variables will be hashed into the package -abi -- to pass through environment variables without abi tracking, see `VCPKG_ENV_PASSTHROUGH_UNTRACKED`. - -See also the `vcpkg env` command for how you can inspect the precise environment that will be used. - -> Implementers' Note: this list is extracted via the `vcpkg_get_tags` mechanism. - -### VCPKG_ENV_PASSTHROUGH_UNTRACKED -Instructs vcpkg to allow additional environment variables into the build process without abi tracking. - -See `VCPKG_ENV_PASSTHROUGH`. - - -### VCPKG_VISUAL_STUDIO_PATH -Specifies the Visual Studio installation to use. - -To select the precise combination of Visual Studio instance and toolset version, we walk through the following algorithm: -1. Determine the setting for `VCPKG_VISUAL_STUDIO_PATH` from the triplet, or the environment variable `VCPKG_VISUAL_STUDIO_PATH`, or consider it unset -2. Determine the setting for `VCPKG_PLATFORM_TOOLSET` from the triplet or consider it unset -3. Gather a list of all pairs of Visual Studio Instances with all toolsets available in those instances - 1. This is ordered first by instance type (Stable, Prerelease, Legacy) and then by toolset version (v142, v141, v140) -4. Filter the list based on the settings for `VCPKG_VISUAL_STUDIO_PATH` and `VCPKG_PLATFORM_TOOLSET`. -5. Select the best remaining option - -The path should be absolute, formatted with backslashes, and have no trailing slash: -```cmake -set(VCPKG_VISUAL_STUDIO_PATH "C:\\Program Files (x86)\\Microsoft Visual Studio\\Preview\\Community") -``` - -### VCPKG_PLATFORM_TOOLSET -Specifies the VS-based C/C++ compiler toolchain to use. - -See [`VCPKG_VISUAL_STUDIO_PATH`](#VCPKG_VISUAL_STUDIO_PATH) for the full selection algorithm. - -Valid settings: -* The Visual Studio 2019 platform toolset is `v142`. -* The Visual Studio 2017 platform toolset is `v141`. -* The Visual Studio 2015 platform toolset is `v140`. - -### VCPKG_LOAD_VCVARS_ENV -If `VCPKG_CHAINLOAD_TOOLCHAIN_FILE` is used, VCPKG will not setup the Visual Studio environment. -Setting `VCPKG_LOAD_VCVARS_ENV` to (true|1|on) changes this behavior so that the Visual Studio environment is setup following the same rules as if `VCPKG_CHAINLOAD_TOOLCHAIN_FILE` was not set. - -## MacOS Variables - -### VCPKG_INSTALL_NAME_DIR -Sets the install name used when building macOS dynamic libraries. Default value is `@rpath`. See the CMake documentation for [CMAKE_INSTALL_NAME_DIR](https://cmake.org/cmake/help/latest/variable/CMAKE_INSTALL_NAME_DIR.html) for more information. - -### VCPKG_OSX_DEPLOYMENT_TARGET -Sets the minimum macOS version for compiled binaries. This also changes what versions of the macOS platform SDK that CMake will search for. See the CMake documentation for [CMAKE_OSX_DEPLOYMENT_TARGET](https://cmake.org/cmake/help/latest/variable/CMAKE_OSX_DEPLOYMENT_TARGET.html) for more information. - -### VCPKG_OSX_SYSROOT -Set the name or path of the macOS platform SDK that will be used by CMake. See the CMake documentation for [CMAKE_OSX_SYSROOT](https://cmake.org/cmake/help/latest/variable/CMAKE_OSX_SYSROOT.html) for more information. - - -### VCPKG_OSX_ARCHITECTURES -Set the macOS / iOS target architecture which will be used by CMake. See the CMake documentation for [CMAKE_OSX_ARCHITECTURES](https://cmake.org/cmake/help/latest/variable/CMAKE_OSX_ARCHITECTURES.html) for more information. - -## Per-port customization -The CMake Macro `PORT` will be set when interpreting the triplet file and can be used to change settings (such as `VCPKG_LIBRARY_LINKAGE`) on a per-port basis. - -Example: -```cmake -set(VCPKG_LIBRARY_LINKAGE static) -if(PORT MATCHES "qt5-") - set(VCPKG_LIBRARY_LINKAGE dynamic) -endif() -``` -This will build all the `qt5-*` libraries as DLLs, but every other library as a static library. - -For an example in a real project, see https://github.com/Intelight/vcpkg/blob/master/triplets/x86-windows-mixed.cmake. - -## Additional Remarks -The default triplet when running any vcpkg command is `%VCPKG_DEFAULT_TRIPLET%` or a platform-specific choice if that environment variable is undefined. - -- Windows: `x86-windows` -- Linux: `x64-linux` -- OSX: `x64-osx` - -We recommend using a systematic naming scheme when creating new triplets. The Android toolchain naming scheme is a good source of inspiration: https://developer.android.com/ndk/guides/standalone_toolchain.html. - -## Android triplets -See [android.md](android.md) - -## Mingw-w64 triplets -See [mingw.md](mingw.md) +# Triplets + +The documentation for this topic has been moved to the following articles in [Microsoft Learn](https://learn.microsoft.com/vcpkg): + +* [Triplet files](https://learn.microsoft.com/vcpkg/users/triplets) +* [Custom triplets](https://learn.microsoft.com/en-us/vcpkg/users/examples/overlay-triplets-linux-dynamic) diff --git a/docs/users/versioning.implementation-details.md b/docs/users/versioning.implementation-details.md deleted file mode 100644 index e264e9ebfcbfe6..00000000000000 --- a/docs/users/versioning.implementation-details.md +++ /dev/null @@ -1,134 +0,0 @@ -# Versioning: Implementation details - -**The latest version of this documentation is available on [GitHub](https://github.com/Microsoft/vcpkg/tree/master/docs/users/versioning.implementation-details.md).** - -## Contents - -* [Minimum versioning](#minimum-versioning) -* [Constraint resolution](#constraint-resolution) -* [Acquiring port versions](#acquiring-port-versions) - - -### Minimum versioning -Vcpkg uses a minimal selection approach to versioning, inspired by the one [used by Go](https://research.swtch.com/vgo-mvs). But modified in some ways: - -* Always starts from a fresh install, eliminates the need for upgrade/downgrade operations. -* Allow unconstrained dependencies by introducing baselines. - -The minimal selection principle, however, stays the same. Given a set of constraints, vcpkg will use the "oldest" possible versions of packages that can satisfy all the constraints. - -Using a minimum version approach has the following advantages: -* Is predictable and easy to understand. -* User controls when upgrades happen, as in, no upgrades are performed automatically when a new version is released. -* Avoids using a SAT solver. - -To give an example, consider the following package graph: -``` - (A 1.0) -> (B 1.0) - - (A 1.1) -> (B 1.0) - -> (C 3.0) - - (A 1.2) -> (B 2.0) - -> (C 3.0) - - (C 2.0) -``` - -And the following manifest: -``` -{ - "name": "example", - "version": "1.0.0", - "dependencies": [ - { "name": "A", "version>=": "1.1" }, - { "name": "C", "version>=": "2.0" } - ], - "builtin-baseline": "" -} -``` - -After accounting for transitive dependencies we have the following set of constraints: -* A >= 1.1 - * B >= 1.0 - * C >= 3.0 -* C >= 2.0 - -Since vcpkg has to satisfy all the constraints, the set of installed packages becomes: - -* `A 1.1`, even when `A 1.2` exists, there are no constraints higher than `1.1` so vcpkg selects the minimum version possible. -* `B 1.0`, transitively required by `A 1.1`. -* `C 3.0`, upgraded by the transitive constraint added by `B 1.0` in order to satisfy version constraints. - -## Constraint resolution -Given a manifest with a set of versioned dependencies, vcpkg will attempt to calculate a package installation plan that satisfies all the constraints. - -Version constraints come in the following flavors: -* **Declared constraints**: Constraints declared explicitly in the top-level manifest using `version>=`. -* **Baseline constraints**: Constraints added implicitly by the `builtin-baseline`. -* **Transitive constraints**: Constraints added indirectly by dependencies of your dependencies. -* **Overridden constraints**: Constraints overridden in the top-level manifest using `overrides` declarations. - -To compute an installation plan, vcpkg follows roughly these steps: - -* Add all top-level constraints to the plan. -* Recursively add transitive constraints to the plan. - * Each time a new package is added to the plan, also add its baseline constraint to the plan. - * Each time a constraint is added: - * If an override exists for the package - * Select the version in the override. - * Otherwise: - * If there is no previous version selected. - * Select the minimal version that satisfies the constraint. - * If there is a previous version selected: - * If the versioning scheme of the new constraint does not match that of the previously selected version: - * Add a version conflict. - * If the constraint's version is not comparable to the previously selected version. For example, comparing "version-string: apple" to "version-string: orange": - * Add a version conflict. - * If the constraints version is higher than the previously selected version: - * Select the highest version. - * Otherwise: - * Keep the previous selection. -* Review the plan: - * If there are no conflicts - * Install the selected packages - * Otherwise: - * Report the conflicts to the user - -## Acquiring port versions -Although the concept of package versions has always been present in vcpkg, the concept of version constraints has been not. - -With the introduction of versioning constraints, it is now possible that a package depends on a port version that does not match the one available locally. This raises a problem as vcpkg needs to know how to acquire the port files for the requested version. - -To solve this problem, a new set of metadata files was introduced. These files are located in the `versions/` directory at the root level of the vcpkg repository. - -The `versions/` directory, will contain JSON files for each one of the ports available in the registry. Each file will list all the versions available for a package and contain a Git tree-ish object that vcpkg can check out to obtain that version's portfiles. - -Example: `zlib.json` - -``` -{ - "versions": [ - { - "git-tree": "2dfc991c739ab9f2605c2ad91a58a7982eb15687", - "version-string": "1.2.11", - "port-version": 9 - }, - ... - { - "git-tree": "a516e5ee220c8250f21821077d0e3dd517f02631", - "version-string": "1.2.10", - "port-version": 0 - }, - { - "git-tree": "3309ec82cd96d752ff890c441cb20ef49b52bf94", - "version-string": "1.2.8", - "port-version": 0 - } - ] -} -``` - -For each port, its corresponding versions file should be located in `versions/{first letter of port name}-/{port name}.json`. For example, zlib's version file will be located in `versions/z-/zlib.json`. Aside from port version files, the current baseline file is located in `versions/baseline.json`. - - diff --git a/docs/users/versioning.md b/docs/users/versioning.md index bad49da0d7f8fc..b7e5d35833587b 100644 --- a/docs/users/versioning.md +++ b/docs/users/versioning.md @@ -1,257 +1,7 @@ # Versioning -**The latest version of this documentation is available on [GitHub](https://github.com/Microsoft/vcpkg/tree/master/docs/users/versioning.md).** - -Versioning allows you to deterministically control the precise revisions of dependencies used by -your project from within your manifest file. - -See our guide to [getting started with versioning](../examples/versioning.getting-started.md). - -## Contents - -* [Version schemes](#version-schemes) - * [`version`](#version) - * [`version-semver`](#version-semver) - * [`version-date`](#version-date) - * [`version-string`](#version-string) -* [Version constraints](#version-constraints) -* [Version files](#version-files) - -## Version schemes -Ports in vcpkg should attempt to follow the versioning conventions used by the package's authors. For that reason, when declaring a package's version the appropriate scheme should be used. - -Each versioning scheme defines its own rules on what is a valid version string and more importantly the rules for how to sort versions using the same scheme. - -The versioning schemes understood by vcpkg are: - -Manifest property | Versioning scheme -------------------|------------------------------------ -`version` | For dot-separated numeric versions -`version-semver` | For SemVer compliant versions -`version-date` | For dates in the format YYYY-MM-DD -`version-string` | For arbitrary strings - -A manifest must contain only one version declaration. - -_NOTE: By design, vcpkg does not compare versions that use different schemes. For example, a package -that has a `version-string: 7.1.3` cannot be compared with the same package using `version: 7.1.4`, even if the -conversion seems obvious._ - -#### `version` -Accepts version strings that follow a relaxed, dot-separated-, semver-like scheme. - -The version is logically composed of dot-separated (`.`) numeric sections. Each section must contain an integer positive number with no leading zeroes. - -The regex pattern for this versioning scheme is: `(0|[1-9]\d*)(\.(0|[1-9]\d*))*` - -_Sorting behavior_: When comparing two versions, each section is compared from left to right by their numeric value, until the first difference is found. A version with the smallest set of sections takes precedence over another with a larger set of sections, given that all their preceding sections compare equally. - -Example: -`0` < `0.1` < `0.1.0` < `1` < `1.0.0` < `1.0.1` < `1.1`< `2.0.0` - -#### `version-semver` -Accepts version strings that follow semantic versioning conventions as described in the [semantic versioning specification](https://semver.org/#semantic-versioning-specification-semver). - -_Sorting behavior_: Strings are sorted following the rules described in the semantic versioning specification. - -Example: -`1.0.0-1` < `1.0.0-alpha` < `1.0.0-beta` < `1.0.0` < `1.0.1` < `1.1.0` - -#### `version-date` - -Accepts version strings that can be parsed to a date following the ISO-8601 format `YYYY-MM-DD`. Disambiguation identifiers are allowed in the form of dot-separated-, positive-, integer-numbers with no leading zeroes. - -This is the recommended versioning scheme for "Live at HEAD" libraries that don't have established release versions. - -The regex pattern for this versioning scheme is: `\d{4}-\d{2}-\d{2}(\.(0|[1-9]\d*))*` - -_Sorting behavior_: Strings are sorted first by their date part, then by numeric comparison of their disambiguation identifiers. Disambiguation identifiers follow the rules of the relaxed (`version`) scheme. - -Examples: -`2021-01-01` < `2021-01-01.1` < `2021-02-01.1.2` < `2021-02-01.1.3` < `2021-02-01` - -#### `version-string` -For packages using version strings that do not fit any of the other schemes, it accepts most arbitrary strings. The `#` which is used to denote port versions is disallowed. - -_Sorting behavior_: No sorting is attempted on the version string itself. However, if the strings match exactly, their port versions can be compared and sorted. - -Examples: -* `apple` <> `orange` <> `orange.2` <> `orange2` -* `watermelon#0`< `watermelon#1` - -#### `port-version` -A positive integer value that increases each time a vcpkg-specific change is made to the port. - -The rules for port versions are: -* Start at 0 for the original version of the port, -* increase by 1 each time a vcpkg-specific change is made to the port that does not increase the version of the package, -* and reset to 0 each time the version of the package is updated. - -_NOTE: Whenever vcpkg output a version it follows the format `#`. For example `1.2.0#2` means version `1.2.0` port version `2`. When the port version is `0` the `#0` suffix is omitted (`1.2.0` implies version `1.2.0` port version `0`)._ - -_Sorting behavior_: If two versions compare equally, their port versions are compared by their numeric value, lower port versions take precedence. - -Examples: -* `1.2.0` < `1.2.0#1` < `1.2.0#2` < `1.2.0#10` -* `2021-01-01#20` < `2021-01-01.1` -* `windows#7` < `windows#8` - -## Version constraints - -### `builtin-baseline` -Accepts a Git commit ID. Vcpkg will try to find a baseline file in the given commit ID and use that to set the baseline versions (lower bounds) of all dependencies. - -Baselines provide stability and ease of development for top-level manifest files. They are not considered from ports consumed as a dependency. If a minimum version constraint is required during transitive version resolution, the port should use `version>=`. - -Example: -```json -{ - "name": "project", - "version": "1.0.0", - "dependencies": ["zlib", "fmt"], - "builtin-baseline":"9fd3bd594f41afb8747e20f6ac9619f26f333cbe" -} -``` - -You can get the current commit of your vcpkg instance either by adding an empty `"builtin-baseline"` field, installing, and examining the error message or by running `git rev-parse HEAD` in the root of the vcpkg instance. - -When resolving version constraints for a package, vcpkg will look for a baseline version by looking -at the baseline file in the given commit ID. -If the given commit ID doesn't have a `versions/baseline.json` file or if the baseline file exists -but it does not declare a baseline version for the package the invocation will fail. -### `version>=` -Expresses a minimum version requirement, `version>=` declarations put a lower boundary on the versions that can be used to satisfy a dependency. - -**Note: Vcpkg selects the lowest version that matches all constraints, so a less-than constraint is not required.** - -Example: -```json -{ - "name": "project", - "version-semver": "1.0.0", - "dependencies": [ - { "name": "zlib", "version>=": "1.2.11#9" }, - { "name": "fmt", "version>=": "7.1.3#1" } - ], - "builtin-baseline":"3426db05b996481ca31e95fff3734cf23e0f51bc" -} -``` - -As part of a version constraint declaration, a port version can be specified by adding the suffix `#`, in the previous example `1.2.11#9` refers to version `1.2.11` port version `9`. - -### `overrides` -Declaring an override forces vcpkg to ignore all other version constraints and use the version specified in the override. This is useful for pinning exact versions and for resolving version conflicts. - -Overrides are declared as an array of package version declarations. - -For an override to take effect, the overridden package must form part of the dependency graph. That means that a dependency must be declared either by the top-level manifest or be part of a transitive dependency. - -```json -{ - "name": "project", - "version-semver": "1.0.0", - "dependencies": [ - { "name": "zlib", "version>=": "1.2.11#9" }, - "fmt" - ], - "builtin-baseline":"3426db05b996481ca31e95fff3734cf23e0f51bc", - "overrides": [ - { "name": "fmt", "version": "6.0.0" } - ] -} -``` - -## Version files -Vcpkg uses a set of metadata files to power its versioning feature. - -These files are located in the following locations: -* `${VCPKG_ROOT}/versions/baseline.json`, (this file is common to all ports) and -* `${VCPKG_ROOT}/versions/${first-letter-of-portname}-/${portname}.json` (one per port). - -For example, for `zlib` the relevant files are: -* `${VCPKG_ROOT}/versions/baseline.json` -* `${VCPKG_ROOT}/versions/z-/zlib.json` - -The vcpkg public CI checks validate that each time a port is added or updated its respective version files are also updated. - -### Baseline file -The baseline file located in `${VCPKG_ROOT}/versions/baseline.json` is used to declared the current baseline versions of all packages. - -For example: -```json -{ - "default": { - "3fd": { "baseline": "2.6.3", "port-version": 0 }, - "7zip": { "baseline": "19.00", "port-version": 2 }, - "abseil": { "baseline": "2020-09-23", "port-version": 1 } - } -} -``` - -Provided that there are no local modifications to the ports, the versions of all packages in the baseline file should map to the version of their corresponding portfiles in the `ports/` directory. - -### Versions file -Each port in vcpkg has a corresponding versions file, the location of a port's versions file follows the pattern: - -```sh -${VCPKG_ROOT}/versions/${first-letter-of-portname}-/${portname}.json -``` - -For example, for `zlib` the corresponding versions file is: - -```sh -${VCPKG_ROOT}/versions/z-/zlib.json -``` - -These files contain an array of all the versions available for a given port. -For example, the contents of `versions/z-/zlib.json` declare the following versions: -```json -{ - "versions": [ - { - "git-tree": "827111046e37c98153d9d82bb6fa4183b6d728e4", - "version-string": "1.2.11", - "port-version": 9 - }, - { - "git-tree": "068430e3e24fa228c302c808ba99f8a48d126557", - "version-string": "1.2.11", - "port-version": 8 - }, - ... - ] -} -``` -Each version declared in this file uses the same syntax used in manifest files, but adds an extra `git-tree` property. The value of `git-tree` is the SHA hash, as calculated by Git, of the directory containing the portfiles for the declared version. You can ask Git for the object SHA via the syntax: -``` -git rev-parse : -``` -For example, -``` -git rev-parse HEAD:ports/zlib -``` - -### Updating the version files -The recommended method to update these files is to run the `x-add-version` command. - -For example, if you have made changes to `zlib`: - -``` -vcpkg x-add-version zlib -``` - -If you're updating multiple ports at the same time, instead you can run: - -``` -vcpkg x-add-version --all -``` - -To update the files for all modified ports at once. - -_NOTE: These commands require you to have committed your changes to the ports before running them. The reason is that the Git SHA of the port directory is required in these version files. But don't worry, the `x-add-version` command will warn you if you have local changes that haven't been committed._ - -## See Also - -* The [implementation details](versioning.implementation-details.md) -* The [original specification](../specifications/versioning.md) +The documentation for this topic has been moved to the following articles in [Microsoft Learn](https://learn.microsoft.com/vcpkg): +* [vcpkg.json version fields](https://learn.microsoft.com/vcpkg/reference/vcpkg-json#version) +* [Versioning reference](https://learn.microsoft.com/vcpkg/users/versioning) +* [Versioning resolution algorithm](https://learn.microsoft.com/vcpkg/users/versioning.concepts) diff --git a/ports/3fd/portfile.cmake b/ports/3fd/portfile.cmake index 294b0370cbd9f9..82ff6fc7b07e0d 100644 --- a/ports/3fd/portfile.cmake +++ b/ports/3fd/portfile.cmake @@ -1,16 +1,3 @@ -vcpkg_fail_port_install(ON_TARGET "osx" "linux") - -# Check architecture: -if (VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") - set(BUILD_ARCH "Win32") -elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") - set(BUILD_ARCH "x64") -elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") - set(BUILD_ARCH "ARM") -else() - message(FATAL_ERROR "Unsupported architecture: ${VCPKG_TARGET_ARCHITECTURE}") -endif() - # Check library linkage: vcpkg_check_linkage(ONLY_STATIC_LIBRARY ONLY_DYNAMIC_CRT) @@ -26,20 +13,16 @@ vcpkg_from_github( ) # Build: -if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") # UWP: - vcpkg_install_msbuild( +if (VCPKG_TARGET_IS_UWP) # UWP: + vcpkg_msbuild_install( SOURCE_PATH "${SOURCE_PATH}" PROJECT_SUBPATH "3FD/3FD.WinRT.UWP.vcxproj" - PLATFORM ${BUILD_ARCH} - USE_VCPKG_INTEGRATION ) -elseif (NOT VCPKG_CMAKE_SYSTEM_NAME) # Win32: - vcpkg_install_msbuild( +elseif (VCPKG_TARGET_IS_WINDOWS) # Win32: + vcpkg_msbuild_install( SOURCE_PATH "${SOURCE_PATH}" PROJECT_SUBPATH "3FD/3FD.vcxproj" - PLATFORM ${BUILD_ARCH} TARGET Build - USE_VCPKG_INTEGRATION ) else() message(FATAL_ERROR "Unsupported system: 3FD is not currently ported to VCPKG in ${VCPKG_CMAKE_SYSTEM_NAME}!") @@ -49,24 +32,24 @@ endif() file(GLOB HEADER_FILES LIST_DIRECTORIES false "${SOURCE_PATH}/3FD/*.h") file(INSTALL ${HEADER_FILES} - DESTINATION ${CURRENT_PACKAGES_DIR}/include/3FD + DESTINATION "${CURRENT_PACKAGES_DIR}/include/3FD" PATTERN "*_impl*.h" EXCLUDE PATTERN "*example*.h" EXCLUDE PATTERN "stdafx.h" EXCLUDE PATTERN "targetver.h" EXCLUDE ) -file(INSTALL ${SOURCE_PATH}/btree DESTINATION ${CURRENT_PACKAGES_DIR}/include/3FD) -file(INSTALL ${SOURCE_PATH}/OpenCL/CL DESTINATION ${CURRENT_PACKAGES_DIR}/include/3FD) +file(INSTALL "${SOURCE_PATH}/btree" DESTINATION "${CURRENT_PACKAGES_DIR}/include/3FD") +file(INSTALL "${SOURCE_PATH}/OpenCL/CL" DESTINATION "${CURRENT_PACKAGES_DIR}/include/3FD") -file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/3FD) +file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/share/3FD") file(INSTALL - ${SOURCE_PATH}/3FD/3fd-config-template.xml - DESTINATION ${CURRENT_PACKAGES_DIR}/share/3FD + "${SOURCE_PATH}/3FD/3fd-config-template.xml" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/3FD" ) # Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/3fd RENAME copyright) -file(INSTALL ${SOURCE_PATH}/Acknowledgements.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/3fd) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") +file(INSTALL "${SOURCE_PATH}/Acknowledgements.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/3fd") vcpkg_copy_pdbs() diff --git a/ports/3fd/vcpkg.json b/ports/3fd/vcpkg.json index 286cb8aa3cc56b..0c2fb98d943804 100644 --- a/ports/3fd/vcpkg.json +++ b/ports/3fd/vcpkg.json @@ -1,7 +1,7 @@ { "name": "3fd", "version": "2.6.3", - "port-version": 1, + "port-version": 4, "description": "C++ Framework For Fast Development", "supports": "windows & !static & !arm64", "dependencies": [ @@ -18,6 +18,11 @@ "platform": "windows" }, "rapidxml", - "sqlite3" + "sqlite3", + { + "name": "vcpkg-msbuild", + "host": true, + "platform": "windows" + } ] } diff --git a/ports/7zip/7zip-config.cmake.in b/ports/7zip/7zip-config.cmake.in new file mode 100644 index 00000000000000..442821af97acfa --- /dev/null +++ b/ports/7zip/7zip-config.cmake.in @@ -0,0 +1,5 @@ +@PACKAGE_INIT@ + +include("${CMAKE_CURRENT_LIST_DIR}/7zip-targets.cmake") + +check_required_components(7zip) diff --git a/ports/7zip/CMakeLists.txt b/ports/7zip/CMakeLists.txt index 4ed90058413b0c..5e84c276357560 100644 --- a/ports/7zip/CMakeLists.txt +++ b/ports/7zip/CMakeLists.txt @@ -1,23 +1,17 @@ -# Created from 7-zip v19.00 - 7zip/CPP/7zip/Bundles/Format7zF +cmake_minimum_required(VERSION 3.19) -cmake_minimum_required(VERSION 3.11) -cmake_policy(VERSION 3.11) +project(7zip LANGUAGES C CXX) -project(7zip LANGUAGES C CXX ASM_MASM) - -set(SRC_ASM - Asm/x86/AesOpt.asm - Asm/x86/7zCrcOpt.asm - Asm/x86/XzCrc64Opt.asm -) - -if(CMAKE_SIZEOF_VOID_P EQUAL 8) - set_source_files_properties(${SRC_ASM} PROPERTIES COMPILE_FLAGS "-Dx64") -else() - set_source_files_properties(${SRC_ASM} PROPERTIES COMPILE_FLAGS "-safeseh") +if(VCPKG_TARGET_IS_WINDOWS) + enable_language(ASM_MASM) +elseif(VCPKG_TARGET_IS_LINUX) + enable_language(ASM) endif() -set(SRC_COMPRESS +add_library(7zip) + +# Check makefile in srcdir/CPP/7zip/Archive/7z/makefile +target_sources(7zip PRIVATE CPP/7zip/Compress/Bcj2Coder.cpp CPP/7zip/Compress/Bcj2Register.cpp CPP/7zip/Compress/BcjCoder.cpp @@ -30,6 +24,7 @@ set(SRC_COMPRESS CPP/7zip/Compress/BZip2Decoder.cpp CPP/7zip/Compress/BZip2Encoder.cpp CPP/7zip/Compress/BZip2Register.cpp + CPP/7zip/Compress/CodecExports.cpp CPP/7zip/Compress/CopyCoder.cpp CPP/7zip/Compress/CopyRegister.cpp CPP/7zip/Compress/Deflate64Register.cpp @@ -37,7 +32,10 @@ set(SRC_COMPRESS CPP/7zip/Compress/DeflateEncoder.cpp CPP/7zip/Compress/DeflateRegister.cpp CPP/7zip/Compress/DeltaFilter.cpp + #CPP/7zip/Compress/DllExports2Compress.cpp + #CPP/7zip/Compress/DllExportsCompress.cpp CPP/7zip/Compress/ImplodeDecoder.cpp + CPP/7zip/Compress/ImplodeHuffmanDecoder.cpp CPP/7zip/Compress/LzfseDecoder.cpp CPP/7zip/Compress/LzhDecoder.cpp CPP/7zip/Compress/Lzma2Decoder.cpp @@ -64,13 +62,11 @@ set(SRC_COMPRESS CPP/7zip/Compress/XpressDecoder.cpp CPP/7zip/Compress/XzDecoder.cpp CPP/7zip/Compress/XzEncoder.cpp + CPP/7zip/Compress/ZDecoder.cpp CPP/7zip/Compress/ZlibDecoder.cpp CPP/7zip/Compress/ZlibEncoder.cpp - CPP/7zip/Compress/ZDecoder.cpp - CPP/7zip/Compress/CodecExports.cpp -) + CPP/7zip/Compress/ZstdDecoder.cpp -set(SRC_CRYPTO CPP/7zip/Crypto/7zAes.cpp CPP/7zip/Crypto/7zAesRegister.cpp CPP/7zip/Crypto/HmacSha1.cpp @@ -85,9 +81,7 @@ set(SRC_CRYPTO CPP/7zip/Crypto/WzAes.cpp CPP/7zip/Crypto/ZipCrypto.cpp CPP/7zip/Crypto/ZipStrong.cpp -) -set(SRC_C C/7zBuf2.c C/7zStream.c C/Alloc.c @@ -106,12 +100,12 @@ set(SRC_C C/Lzma2Dec.c C/Lzma2DecMt.c C/Lzma2Enc.c - C/LzmaDec.c C/LzmaEnc.c C/LzmaLib.c C/MtCoder.c C/MtDec.c C/Ppmd7.c + C/Ppmd7aDec.c C/Ppmd7Dec.c C/Ppmd7Enc.c C/Ppmd8.c @@ -120,6 +114,7 @@ set(SRC_C C/Sha1.c C/Sha256.c C/Sort.c + C/SwapBytes.c C/Threads.c C/Xz.c C/XzDec.c @@ -128,27 +123,23 @@ set(SRC_C C/Aes.c C/7zCrc.c C/XzCrc64.c -) - -set_source_files_properties( - ${SRC_COMPRESS} - ${SRC_CRYPTO} - ${SRC_C} - PROPERTIES - COMPILE_FLAGS $<$:"/O2"> -) + C/Xxh64.c + C/ZstdDec.c -set(SRC_OTHER CPP/Common/CRC.cpp CPP/Common/CrcReg.cpp CPP/Common/DynLimBuf.cpp CPP/Common/IntToString.cpp + CPP/Common/LzFindPrepare.cpp CPP/Common/MyMap.cpp CPP/Common/MyString.cpp CPP/Common/MyVector.cpp + CPP/Common/MyWindows.cpp CPP/Common/MyXml.cpp CPP/Common/NewHandler.cpp + CPP/Common/Sha1Prepare.cpp CPP/Common/Sha1Reg.cpp + CPP/Common/Sha256Prepare.cpp CPP/Common/Sha256Reg.cpp CPP/Common/StringConvert.cpp CPP/Common/StringToInt.cpp @@ -156,16 +147,7 @@ set(SRC_OTHER 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/7zip/Common/CreateCoder.cpp CPP/7zip/Common/CWrappers.cpp @@ -192,6 +174,7 @@ set(SRC_OTHER CPP/7zip/Archive/ApmHandler.cpp CPP/7zip/Archive/ArHandler.cpp CPP/7zip/Archive/ArjHandler.cpp + CPP/7zip/Archive/Base64Handler.cpp CPP/7zip/Archive/Bz2Handler.cpp CPP/7zip/Archive/ComHandler.cpp CPP/7zip/Archive/CpioHandler.cpp @@ -230,6 +213,7 @@ set(SRC_OTHER 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 @@ -303,82 +287,167 @@ set(SRC_OTHER CPP/7zip/Archive/Zip/ZipOut.cpp CPP/7zip/Archive/Zip/ZipUpdate.cpp CPP/7zip/Archive/Zip/ZipRegister.cpp -) -add_library(7zip - ${SRC_ASM} - ${SRC_OTHER} - ${SRC_COMPRESS} - ${SRC_CRYPTO} - ${SRC_C} CPP/7zip/Archive/Archive2.def C/Util/LzmaLib/LzmaLib.def ) +if(WIN32) + target_sources(7zip PRIVATE + 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 + ) +endif() + +# 7zCrcOpt +if(VCPKG_TARGET_IS_WINDOWS) + if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + target_sources(7zip PRIVATE Asm/x86/7zCrcOpt.asm) + set_source_files_properties(Asm/x86/7zCrcOpt.asm PROPERTIES LANGUAGE ASM_MASM) + else() + target_sources(7zip PRIVATE C/7zCrcOpt.c) + endif() +else() + target_sources(7zip PRIVATE C/7zCrcOpt.c) +endif() + +# AesOpt +if(VCPKG_TARGET_IS_WINDOWS) + if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + target_sources(7zip PRIVATE Asm/x86/AesOpt.asm) + set_source_files_properties(Asm/x86/AesOpt.asm PROPERTIES LANGUAGE ASM_MASM) + else() + target_sources(7zip PRIVATE C/AesOpt.c) + endif() +else() + target_sources(7zip PRIVATE C/AesOpt.c) +endif() + +# LzFindOpt +if(VCPKG_TARGET_IS_WINDOWS) + if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + target_sources(7zip PRIVATE Asm/x86/LzFindOpt.asm) + set_source_files_properties(Asm/x86/LzFindOpt.asm PROPERTIES LANGUAGE ASM_MASM) + else() + target_sources(7zip PRIVATE C/LzFindOpt.c) + endif() +else() + target_sources(7zip PRIVATE C/LzFindOpt.c) +endif() + +# LzmaDecOpt +target_sources(7zip PRIVATE C/LzmaDec.c) +if((VCPKG_TARGET_IS_WINDOWS AND VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") OR + (VCPKG_TARGET_IS_LINUX AND VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") + ) + if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + target_sources(7zip PRIVATE Asm/x86/LzmaDecOpt.asm) + set_source_files_properties(Asm/x86/LzmaDecOpt.asm PROPERTIES LANGUAGE ASM_MASM) + elseif(VCPKG_TARGET_IS_LINUX AND VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") + target_sources(7zip PRIVATE Asm/arm64/LzmaDecOpt.S) + set_source_files_properties(Asm/x86/LzmaDecOpt.asm PROPERTIES LANGUAGE ASM) + endif() + + get_source_file_property(defs C/LzmaDec.c COMPILE_DEFINITIONS) + list(APPEND defs "_LZMA_DEC_OPT") + set_source_files_properties(C/LzmaDec.c PROPERTIES COMPILE_DEFINITIONS "${defs}") +endif() + +# Sha1Opt +if(VCPKG_TARGET_IS_WINDOWS) + if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + target_sources(7zip PRIVATE Asm/x86/Sha1Opt.asm) + set_source_files_properties(Asm/x86/Sha1Opt.asm PROPERTIES LANGUAGE ASM_MASM) + else() + target_sources(7zip PRIVATE C/Sha1Opt.c) + endif() +else() + target_sources(7zip PRIVATE C/Sha1Opt.c) +endif() + +# Sha256Opt +if(VCPKG_TARGET_IS_WINDOWS) + if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + target_sources(7zip PRIVATE Asm/x86/Sha256Opt.asm) + set_source_files_properties(Asm/x86/Sha256Opt.asm PROPERTIES LANGUAGE ASM_MASM) + else() + target_sources(7zip PRIVATE C/Sha256Opt.c) + endif() +else() + target_sources(7zip PRIVATE C/Sha256Opt.c) +endif() + +# XzCrc64Opt +if(VCPKG_TARGET_IS_WINDOWS) + if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + target_sources(7zip PRIVATE Asm/x86/XzCrc64Opt.asm) + set_source_files_properties(Asm/x86/XzCrc64Opt.asm PROPERTIES LANGUAGE ASM_MASM) + else() + target_sources(7zip PRIVATE C/XzCrc64Opt.c) + endif() +else() + target_sources(7zip PRIVATE C/XzCrc64Opt.c) +endif() + target_compile_definitions(7zip PUBLIC + -D_REENTRANT + -D_FILE_OFFSET_BITS=64 + -D_LARGEFILE_SOURCE -DEXTERNAL_CODECS -D_7ZIP_LARGE_PAGES -DUNICODE -D_UNICODE ) -target_compile_options(7zip - PRIVATE - /wd5043 - $<$:/guard:cf> -) - target_include_directories(7zip INTERFACE $/7zip/CPP -) - -set(PUBLIC_HEADERS - C/7zTypes.h - C/Alloc.h - C/LzFind.h - C/LzFindMt.h - C/LzHash.h - C/LzmaDec.h - C/LzmaEnc.h - C/LzmaLib.h - C/Threads.h - CPP/7zip/Archive/IArchive.h - CPP/7zip/ICoder.h - CPP/7zip/IDecl.h - CPP/7zip/IPassword.h - CPP/7zip/IProgress.h - CPP/7zip/IStream.h - CPP/7zip/PropID.h - CPP/Common/Defs.h - CPP/Common/MyTypes.h - CPP/Common/MyUnknown.h - CPP/Common/MyWindows.h + $/7zip/C ) install( TARGETS 7zip - EXPORT 7zip + EXPORT 7zip-targets ARCHIVE DESTINATION lib LIBRARY DESTINATION lib RUNTIME DESTINATION bin ) # Headers makes relative includes so directory structure must be kept -foreach(HEADER ${PUBLIC_HEADERS}) - get_filename_component(HEADER_DIR ${HEADER} DIRECTORY) - install( - FILES ${HEADER} - CONFIGURATIONS Release - DESTINATION include/7zip/${HEADER_DIR} - ) -endforeach() + +file(GLOB HEADERS "${CMAKE_CURRENT_LIST_DIR}/C/*.h") +install(FILES ${HEADERS} DESTINATION "include/7zip/C") + +file(GLOB HEADERS "${CMAKE_CURRENT_LIST_DIR}/CPP/Common/*.h") +install(FILES ${HEADERS} DESTINATION "include/7zip/CPP/Common") + +file(GLOB HEADERS "${CMAKE_CURRENT_LIST_DIR}/CPP/7zip/*.h") +install(FILES ${HEADERS} DESTINATION "include/7zip/CPP/7zip") + +file(GLOB HEADERS "${CMAKE_CURRENT_LIST_DIR}/CPP/7zip/Archive/*.h") +install (FILES ${HEADERS} DESTINATION "include/7zip/CPP/7zip/Archive") + +include(CMakePackageConfigHelpers) +configure_package_config_file( + "${CMAKE_CURRENT_SOURCE_DIR}/7zip-config.cmake.in" + "${CMAKE_CURRENT_BINARY_DIR}/7zip-config.cmake" + INSTALL_DESTINATION "share/7zip" +) +install( + FILES "${CMAKE_CURRENT_BINARY_DIR}/7zip-config.cmake" + DESTINATION "share/7zip" +) install( - EXPORT 7zip + EXPORT 7zip-targets DESTINATION share/7zip - FILE 7zipConfig.cmake NAMESPACE 7zip:: - CONFIGURATIONS Release ) diff --git a/ports/7zip/License.txt b/ports/7zip/License.txt deleted file mode 100644 index e9113842cecc6f..00000000000000 --- a/ports/7zip/License.txt +++ /dev/null @@ -1,90 +0,0 @@ - 7-Zip source code - ~~~~~~~~~~~~~~~~~ - License for use and distribution - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - 7-Zip Copyright (C) 1999-2019 Igor Pavlov. - - The licenses for files are: - - 1) CPP/7zip/Compress/Rar* files: the "GNU LGPL" with "unRAR license restriction" - 2) CPP/7zip/Compress/LzfseDecoder.cpp: the "BSD 3-clause License" - 3) Some files are "public domain" files, if "public domain" status is stated in source file. - 4) the "GNU LGPL" for all other files. If there is no license information in - some source file, that file is under the "GNU LGPL". - - The "GNU LGPL" with "unRAR license restriction" means that you must follow both - "GNU LGPL" rules and "unRAR license restriction" rules. - - - - - GNU LGPL information - -------------------- - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - - - - BSD 3-clause License - -------------------- - - The "BSD 3-clause License" is used for the code in LzfseDecoder.cpp that implements LZFSE data decompression. - That code was derived from the code in the "LZFSE compression library" developed by Apple Inc, - that also uses the "BSD 3-clause License": - - ---- - Copyright (c) 2015-2016, Apple Inc. 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(s) nor the names of any 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 OWNER 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. - ---- - - - - - unRAR license restriction - ------------------------- - - The decompression engine for RAR archives was developed using source - code of unRAR program. - All copyrights to original unRAR code are owned by Alexander Roshal. - - The license for original unRAR code has the following restriction: - - The unRAR sources cannot be used to re-create the RAR compression algorithm, - which is proprietary. Distribution of modified unRAR sources in separate form - or as a part of other software is permitted, provided that it is clearly - stated in the documentation and source comments that the code may - not be used to develop a RAR (WinRAR) compatible archiver. - - - -- - Igor Pavlov diff --git a/ports/7zip/portfile.cmake b/ports/7zip/portfile.cmake index bffb9b4dfefb1e..abd7e77e256b08 100644 --- a/ports/7zip/portfile.cmake +++ b/ports/7zip/portfile.cmake @@ -1,32 +1,23 @@ -vcpkg_fail_port_install(ON_ARCH "arm" ON_TARGET "uwp" "linux" "osx") - -set(7ZIP_VERSION 19.00) -vcpkg_download_distfile(ARCHIVE - URLS "https://www.7-zip.org/a/7z1900-src.7z" - FILENAME "7z1900-src.7z" - SHA512 d68b308e175224770adc8b1495f1ba3cf3e7f67168a7355000643d3d32560ae01aa34266f0002395181ed91fb5e682b86e0f79c20625b42d6e2c62dd24a5df93 -) - -vcpkg_extract_source_archive_ex( +vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} - REF ${7ZIP_VERSION} - NO_REMOVE_ONE_LEVEL + REPO ip7z/7zip + REF "${VERSION}" + SHA512 5aa2a32a1d2ea81b0ee487e07efc444fda69967a67fb3a7d6e8fd06d32ebf9be76948ea23d258feade89877be698d09e1ef2ba79bbeda83752fdbb50a007af6c + HEAD_REF main ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") +file(COPY "${CMAKE_CURRENT_LIST_DIR}/7zip-config.cmake.in" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() - +vcpkg_cmake_install() vcpkg_copy_pdbs() -file( - INSTALL ${CMAKE_CURRENT_LIST_DIR}/License.txt - DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} - RENAME copyright -) +vcpkg_cmake_config_fixup() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/DOC/License.txt") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/7zip/unRarLicense.txt b/ports/7zip/unRarLicense.txt deleted file mode 100644 index 5f78b728da5500..00000000000000 --- a/ports/7zip/unRarLicense.txt +++ /dev/null @@ -1,41 +0,0 @@ - ****** ***** ****** unRAR - free utility for RAR archives - ** ** ** ** ** ** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ****** ******* ****** License for use and distribution of - ** ** ** ** ** ** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ** ** ** ** ** ** FREE portable version - ~~~~~~~~~~~~~~~~~~~~~ - - The source code of unRAR utility is freeware. This means: - - 1. All copyrights to RAR and the utility unRAR are exclusively - owned by the author - Alexander Roshal. - - 2. The unRAR sources may be used in any software to handle RAR - archives without limitations free of charge, but cannot be used - to re-create the RAR compression algorithm, which is proprietary. - Distribution of modified unRAR sources in separate form or as a - part of other software is permitted, provided that it is clearly - stated in the documentation and source comments that the code may - not be used to develop a RAR (WinRAR) compatible archiver. - - 3. The unRAR utility may be freely distributed. No person or company - may charge a fee for the distribution of unRAR without written - permission from the copyright holder. - - 4. THE RAR ARCHIVER AND THE UNRAR UTILITY ARE DISTRIBUTED "AS IS". - NO WARRANTY OF ANY KIND IS EXPRESSED OR IMPLIED. YOU USE AT - YOUR OWN RISK. THE AUTHOR WILL NOT BE LIABLE FOR DATA LOSS, - DAMAGES, LOSS OF PROFITS OR ANY OTHER KIND OF LOSS WHILE USING - OR MISUSING THIS SOFTWARE. - - 5. Installing and using the unRAR utility signifies acceptance of - these terms and conditions of the license. - - 6. If you don't agree with terms of the license you must remove - unRAR files from your storage devices and cease to use the - utility. - - Thank you for your interest in RAR and unRAR. - - - Alexander L. Roshal \ No newline at end of file diff --git a/ports/7zip/vcpkg.json b/ports/7zip/vcpkg.json index a8c7b6ce54dc00..6d12dea02d8cf1 100644 --- a/ports/7zip/vcpkg.json +++ b/ports/7zip/vcpkg.json @@ -1,8 +1,19 @@ { "name": "7zip", - "version-string": "19.00", - "port-version": 3, + "version-string": "24.08", + "port-version": 1, "description": "Library for archiving file with a high compression ratio.", "homepage": "https://www.7-zip.org", - "supports": "!(linux | osx | arm | uwp)" + "license": "LGPL-2.1-or-later", + "supports": "!uwp & !xbox", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/ableton-link/correct_cmake_include_directory.patch b/ports/ableton-link/correct_cmake_include_directory.patch new file mode 100644 index 00000000000000..0250fb942d607f --- /dev/null +++ b/ports/ableton-link/correct_cmake_include_directory.patch @@ -0,0 +1,20 @@ +diff --git "a/AbletonLinkConfig.cmake" "b/AbletonLinkConfig.cmake" +index 43b66e7..1e84fa5 100644 +--- "a/AbletonLinkConfig.cmake" ++++ "b/AbletonLinkConfig.cmake" +@@ -5,7 +5,7 @@ endif() + add_library(Ableton::Link IMPORTED INTERFACE) + set_property(TARGET Ableton::Link APPEND PROPERTY + INTERFACE_INCLUDE_DIRECTORIES +- ${CMAKE_CURRENT_LIST_DIR}/include ++ ${CMAKE_CURRENT_LIST_DIR}/../../include/ableton + ) + + # Force C++11 support for consuming targets +@@ -46,5 +46,5 @@ set_property(TARGET Ableton::Link APPEND PROPERTY + + set_property(TARGET Ableton::Link APPEND PROPERTY + INTERFACE_SOURCES +- ${CMAKE_CURRENT_LIST_DIR}/include/ableton/Link.hpp ++ ${CMAKE_CURRENT_LIST_DIR}/../../include/ableton/Link.hpp + ) diff --git a/ports/ableton-link/no-werror.patch b/ports/ableton-link/no-werror.patch new file mode 100644 index 00000000000000..f81b7c821424a0 --- /dev/null +++ b/ports/ableton-link/no-werror.patch @@ -0,0 +1,28 @@ +diff --git a/cmake_include/ConfigureCompileFlags.cmake b/cmake_include/ConfigureCompileFlags.cmake +index 63bdfec..80879f9 100644 +--- a/cmake_include/ConfigureCompileFlags.cmake ++++ b/cmake_include/ConfigureCompileFlags.cmake +@@ -25,7 +25,6 @@ if(UNIX) + set(build_flags_COMMON_LIST + ${build_flags_COMMON_LIST} + "-Weverything" +- "-Werror" + "-Wno-c++98-compat" + "-Wno-c++98-compat-pedantic" + "-Wno-deprecated" +@@ -44,7 +43,6 @@ if(UNIX) + elseif(${CMAKE_CXX_COMPILER_ID} STREQUAL GNU) + set(build_flags_COMMON_LIST + ${build_flags_COMMON_LIST} +- "-Werror" + "-Wno-multichar" + ) + endif() +@@ -87,7 +85,6 @@ elseif(${CMAKE_CXX_COMPILER_ID} STREQUAL MSVC) + ${build_flags_COMMON_LIST} + "/MP" + "/Wall" +- "/WX" + "/EHsc" + + ############################# diff --git a/ports/ableton-link/portfile.cmake b/ports/ableton-link/portfile.cmake new file mode 100644 index 00000000000000..4bfcc1a315f012 --- /dev/null +++ b/ports/ableton-link/portfile.cmake @@ -0,0 +1,84 @@ +#header-only library +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Ableton/link + REF "Link-${VERSION}" + SHA512 889aa8cf56df19631a15cc4e245f3b7165a1d08aa199446de3b209c5be58904c11776899e9202900e73cc90ea63d366c6c3b2628657dac96db5a16a5217b3df7 + HEAD_REF master + PATCHES + replace_local_asiostandalone_by_vcpkg_asio.patch + replace_asiosdk_download_by_vcpkg_asiosdk.patch + replace_local_catch_by_vcpkg_catch2.patch + no-werror.patch +) +# Note that the dependencies ASIO and ASIOSDK are completely different things: +# -ASIO (ASyncronous IO) is a cross-platform C++ library for network and low-level I/O programming +# -ASIOSDK is the SDK for the Steinberg ASIO (Audio Stream Input/Output) driver, for profesional Windows audio applications + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS +FEATURES + "discoverytest" LinkDiscoveryTest + "coretest" LinkCoreTest + "hut" LinkHut + "hutsilent" LinkHutSilent +) + +file(REMOVE_RECURSE "${SOURCE_PATH}/ci") +file(REMOVE_RECURSE "${SOURCE_PATH}/modules") +file(REMOVE_RECURSE "${SOURCE_PATH}/third_party") + +set(NEED_CATCH2 OFF) +if ("coretest" IN_LIST FEATURES) + set(NEED_CATCH2 ON) +endif() +if ("discoverytest" IN_LIST FEATURES) + set(NEED_CATCH2 ON) +endif() + +set(NEED_ASIOSDK OFF) +if ("hut" IN_LIST FEATURES) + 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() +endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DNEED_CATCH2=${NEED_CATCH2} + -DLINK_BUILD_ASIO=${NEED_ASIOSDK} +) + +if ("coretest" IN_LIST FEATURES) + vcpkg_cmake_build(TARGET LinkCoreTest) + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/bin/LinkCoreTest${VCPKG_TARGET_EXECUTABLE_SUFFIX}" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}") +endif() +if ("discoverytest" IN_LIST FEATURES) + vcpkg_cmake_build(TARGET LinkDiscoveryTest) + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/bin/LinkDiscoveryTest${VCPKG_TARGET_EXECUTABLE_SUFFIX}" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}") +endif() +if ("hut" IN_LIST FEATURES) + vcpkg_cmake_build(TARGET LinkHut) + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/bin/LinkHut${VCPKG_TARGET_EXECUTABLE_SUFFIX}" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}") +endif() +if ("hutsilent" IN_LIST FEATURES) + vcpkg_cmake_build(TARGET LinkHutSilent) + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/bin/LinkHutSilent${VCPKG_TARGET_EXECUTABLE_SUFFIX}" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}") +endif() + +# We must not correct the CMake include path before build +vcpkg_apply_patches( + SOURCE_PATH "${SOURCE_PATH}" + PATCHES + correct_cmake_include_directory.patch +) + +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 +file(INSTALL "${SOURCE_PATH}/LICENSE.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/ableton-link/replace_asiosdk_download_by_vcpkg_asiosdk.patch b/ports/ableton-link/replace_asiosdk_download_by_vcpkg_asiosdk.patch new file mode 100644 index 00000000000000..77e3dc52fe94cc --- /dev/null +++ b/ports/ableton-link/replace_asiosdk_download_by_vcpkg_asiosdk.patch @@ -0,0 +1,48 @@ +diff --git "a/examples/CMakeLists.txt" "b/examples/CMakeLists.txt" + +--- "a/examples/CMakeLists.txt" ++++ "b/examples/CMakeLists.txt" +@@ -9,28 +9,22 @@ project(LinkExamples) + # + + if(WIN32) +- function(configure_asio asio_sdk_path_OUT) +- # ASIO-related path/file variables +- set(asio_download_root "https://download.steinberg.net/sdk_downloads") +- set(asio_file_name "asiosdk_2.3.3_2019-06-14.zip") +- set(asio_dir_name "asiosdk_2.3.3_2019-06-14") +- set(asio_working_dir "${CMAKE_BINARY_DIR}/modules") +- set(asio_output_path "${asio_working_dir}/${asio_file_name}") +- +- message(STATUS "Downloading ASIO SDK") +- file(DOWNLOAD "${asio_download_root}/${asio_file_name}" ${asio_output_path}) +- file(SHA1 ${asio_output_path} asio_zip_hash) +- message(" ASIO SDK SHA1: ${asio_zip_hash}") +- +- message(" Extracting ASIO SDK") +- execute_process(COMMAND ${CMAKE_COMMAND} -E tar "xf" ${asio_output_path} --format=zip +- WORKING_DIRECTORY ${asio_working_dir} +- INPUT_FILE ${asio_output_path} +- ) ++ if(LINK_BUILD_ASIO) ++ function(configure_asio asio_sdk_path_OUT) ++ # ASIO-related path/file variables ++ find_package(ASIOSDK) ++ if(NOT ASIOSDK_FOUND) ++ message(FATAL_ERROR "Steinberg ASIO audio driver SDK not found") ++ else() ++ message(STATUS "Steinberg ASIO audio driver SDK root dir: ${ASIOSDK_ROOT_DIR}") ++ endif() ++ set(asio_working_dir "${ASIOSDK_ROOT_DIR}") ++ set(asio_output_path "${CMAKE_BINARY_DIR}/modules/asiosdk") + +- # Set the ASIO SDK path for the caller +- set(${asio_sdk_path_OUT} "${asio_working_dir}/${asio_dir_name}" PARENT_SCOPE) +- endfunction() ++ # Set the ASIO SDK path for the caller ++ set(${asio_sdk_path_OUT} "${asio_working_dir}" PARENT_SCOPE) ++ endfunction() ++ endif() + endif() + + # _ _ _ diff --git a/ports/ableton-link/replace_local_asiostandalone_by_vcpkg_asio.patch b/ports/ableton-link/replace_local_asiostandalone_by_vcpkg_asio.patch new file mode 100644 index 00000000000000..d9f1e0f48fadc8 --- /dev/null +++ b/ports/ableton-link/replace_local_asiostandalone_by_vcpkg_asio.patch @@ -0,0 +1,19 @@ +diff a/cmake_include/AsioStandaloneConfig.cmake b/AsioStandaloneConfig.cmake + +--- a/cmake_include/AsioStandaloneConfig.cmake ++++ b/cmake_include/AsioStandaloneConfig.cmake +@@ -1,6 +1,10 @@ + add_library(AsioStandalone::AsioStandalone IMPORTED INTERFACE) + +-set_property(TARGET AsioStandalone::AsioStandalone APPEND PROPERTY +- INTERFACE_INCLUDE_DIRECTORIES +- ${CMAKE_CURRENT_LIST_DIR}/../modules/asio-standalone/asio/include +-) ++find_package(asio REQUIRED) ++if(asio_FOUND) ++ message(STATUS "Dependency asio found in ${asio_DIR}") ++ set_property(TARGET AsioStandalone::AsioStandalone APPEND PROPERTY ++ INTERFACE_INCLUDE_DIRECTORIES ++ ${asio_DIR}/../../include ++ ) ++endif() diff --git a/ports/ableton-link/replace_local_catch_by_vcpkg_catch2.patch b/ports/ableton-link/replace_local_catch_by_vcpkg_catch2.patch new file mode 100644 index 00000000000000..01d716020ea31f --- /dev/null +++ b/ports/ableton-link/replace_local_catch_by_vcpkg_catch2.patch @@ -0,0 +1,88 @@ +--- ableton-link.orig/cmake_include/CatchConfig.cmake ++++ ableton-link/cmake_include/CatchConfig.cmake +@@ -1,6 +1,12 @@ +-add_library(Catch::Catch IMPORTED INTERFACE) ++if (NEED_CATCH2 MATCHES "ON") ++ add_library(Catch::Catch IMPORTED INTERFACE) + +-set_property(TARGET Catch::Catch APPEND PROPERTY +- INTERFACE_INCLUDE_DIRECTORIES +- ${CMAKE_CURRENT_LIST_DIR}/../third_party/catch +-) ++ find_package(Catch2 CONFIG REQUIRED) ++ if(Catch2_FOUND) ++ message(STATUS "Dependency Catch2 found in ${Catch2_DIR}") ++ set_property(TARGET Catch::Catch APPEND PROPERTY ++ INTERFACE_INCLUDE_DIRECTORIES ++ ${Catch2_DIR}/../../include ++ ) ++ endif() ++endif() + + +--- "a/src/CMakeLists.txt" ++++ "b/src/CMakeLists.txt" +@@ -77,4 +77,9 @@ function(configure_link_test_executable target) + function(configure_link_test_executable target) +- target_link_libraries(${target} Catch::Catch Ableton::Link) ++ if (NEED_CATCH2 MATCHES "ON") ++ target_link_libraries(${target} Catch2::Catch2WithMain Ableton::Link) + target_compile_definitions(${target} PRIVATE -DCATCH_CONFIG_ENABLE_BENCHMARKING=1) ++ else() ++ target_link_libraries(${target} Ableton::Link) ++ target_compile_definitions(${target} PRIVATE -DCATCH_CONFIG_ENABLE_BENCHMARKING=0) ++ endif() + endfunction() + + +--- "a/src/ableton/link/tst_LinearRegression.cpp" ++++ "b/src/ableton/link/tst_LinearRegression.cpp" +@@ -22,6 +22,8 @@ + #include + #include + ++using Catch::Approx; ++ + namespace ableton + { + namespace link + + +--- "a/src/ableton/link/tst_Beats.cpp" ++++ "b/src/ableton/link/tst_Beats.cpp" +@@ -20,6 +20,8 @@ + #include + #include + ++using Catch::Approx; ++ + namespace ableton + { + namespace link + + +--- "a/src/ableton/link/tst_Median.cpp" ++++ "b/src/ableton/link/tst_Median.cpp" +@@ -22,6 +22,8 @@ + #include + #include + ++using Catch::Approx; ++ + namespace ableton + { + namespace link + + +--- "a/src/ableton/link/tst_Tempo.cpp" ++++ "b/src/ableton/link/tst_Tempo.cpp" +@@ -20,6 +20,8 @@ + #include + #include + ++using Catch::Approx; ++ + namespace ableton + { + namespace link + diff --git a/ports/ableton-link/vcpkg.json b/ports/ableton-link/vcpkg.json new file mode 100644 index 00000000000000..9e95237a00cfdd --- /dev/null +++ b/ports/ableton-link/vcpkg.json @@ -0,0 +1,48 @@ +{ + "name": "ableton-link", + "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/", + "license": "GPL-2.0-or-later", + "dependencies": [ + "asio", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "coretest": { + "description": "Build LinkCoreTest suite", + "supports": "!uwp", + "dependencies": [ + "catch2" + ] + }, + "discoverytest": { + "description": "Build LinkDiscoveryTest suite", + "supports": "!uwp", + "dependencies": [ + "catch2" + ] + }, + "hut": { + "description": "Build LinkHut command line tool", + "dependencies": [ + { + "name": "asiosdk", + "platform": "windows" + } + ] + }, + "hutsilent": { + "description": "Build LinkHutSilent command line tool", + "supports": "!uwp" + } + } +} diff --git a/ports/gdcm2/portfile.cmake b/ports/ableton/portfile.cmake similarity index 100% rename from ports/gdcm2/portfile.cmake rename to ports/ableton/portfile.cmake diff --git a/ports/ableton/vcpkg.json b/ports/ableton/vcpkg.json new file mode 100644 index 00000000000000..ed7c7c0fec6985 --- /dev/null +++ b/ports/ableton/vcpkg.json @@ -0,0 +1,12 @@ +{ + "name": "ableton", + "version": "3.0.6", + "port-version": 2, + "description": "Meta-package for transitioning to abletonlink port.", + "homepage": "https://www.ableton.com/en/link/", + "documentation": "http://ableton.github.io/link/", + "license": "GPL-2.0-or-later", + "dependencies": [ + "ableton-link" + ] +} diff --git a/ports/abseil/fix-32-bit-arm.patch b/ports/abseil/fix-32-bit-arm.patch deleted file mode 100644 index bc9ba4f1471f67..00000000000000 --- a/ports/abseil/fix-32-bit-arm.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/absl/time/internal/cctz/src/zone_info_source.cc b/absl/time/internal/cctz/src/zone_info_source.cc -index 7209533..5ab5a59 100644 ---- a/absl/time/internal/cctz/src/zone_info_source.cc -+++ b/absl/time/internal/cctz/src/zone_info_source.cc -@@ -65,7 +65,7 @@ ZoneInfoSourceFactory zone_info_source_factory __attribute__((weak)) = - extern ZoneInfoSourceFactory zone_info_source_factory; - extern ZoneInfoSourceFactory default_factory; - ZoneInfoSourceFactory default_factory = DefaultFactory; --#if defined(_M_IX86) -+#if defined(_M_IX86) || defined(_M_ARM) - #pragma comment( \ - linker, \ - "/alternatename:?zone_info_source_factory@cctz_extension@time_internal@" ABSL_INTERNAL_MANGLED_NS \ -@@ -83,8 +83,7 @@ ZoneInfoSourceFactory default_factory = DefaultFactory; - "@@U?$default_delete@VZoneInfoSource@cctz@time_internal@" ABSL_INTERNAL_MANGLED_NS \ - "@@@std@@@std@@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z@" ABSL_INTERNAL_MANGLED_BACKREFERENCE \ - "@@ZA") --#elif defined(_M_IA_64) || defined(_M_AMD64) || defined(_M_ARM) || \ -- defined(_M_ARM64) -+#elif defined(_M_IA_64) || defined(_M_AMD64) || defined(_M_ARM64) - #pragma comment( \ - linker, \ - "/alternatename:?zone_info_source_factory@cctz_extension@time_internal@" ABSL_INTERNAL_MANGLED_NS \ diff --git a/ports/abseil/fix-cxx-standard.patch b/ports/abseil/fix-cxx-standard.patch deleted file mode 100644 index 19e1f54db3f100..00000000000000 --- a/ports/abseil/fix-cxx-standard.patch +++ /dev/null @@ -1,96 +0,0 @@ -diff --git a/CMake/abslConfig.cmake.in b/CMake/abslConfig.cmake.in -index 62d246d..00947cf 100644 ---- a/CMake/abslConfig.cmake.in -+++ b/CMake/abslConfig.cmake.in -@@ -6,3 +6,5 @@ find_dependency(Threads) - @PACKAGE_INIT@ - - include ("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") -+ -+set(ABSL_USE_CXX17 @ABSL_USE_CXX17@) -\ No newline at end of file -diff --git a/CMakeLists.txt b/CMakeLists.txt -index f0af6f6..927f4ed 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -57,6 +57,23 @@ else() - option(ABSL_ENABLE_INSTALL "Enable install rule" ON) - endif() - -+# CXX standard -+option(ABSL_USE_CXX17 "Enable CXX 17 standard" OFF) -+ -+if (ABSL_USE_CXX17) -+ set(CMAKE_CXX_STANDARD 17) -+ set(STD_ANY 1) -+ set(STD_OPTIONAL 1) -+ set(STD_STRING_VIEW 1) -+ set(STD_VARIANT 1) -+else() -+ set(CMAKE_CXX_STANDARD 11) -+ set(STD_ANY 0) -+ set(STD_OPTIONAL 0) -+ set(STD_STRING_VIEW 0) -+ set(STD_VARIANT 0) -+endif() -+ - list(APPEND CMAKE_MODULE_PATH - ${CMAKE_CURRENT_LIST_DIR}/CMake - ${CMAKE_CURRENT_LIST_DIR}/absl/copts -diff --git a/absl/base/CMakeLists.txt b/absl/base/CMakeLists.txt -index 9ff5aa2..315bee4 100644 ---- a/absl/base/CMakeLists.txt -+++ b/absl/base/CMakeLists.txt -@@ -87,6 +87,12 @@ absl_cc_library( - absl::errno_saver - ) - -+if (NOT EXISTS ${CMAKE_CURRENT_LIST_DIR}/options.h.in) -+ file(RENAME ${CMAKE_CURRENT_LIST_DIR}/options.h ${CMAKE_CURRENT_LIST_DIR}/options.h.in) -+endif() -+file(REMOVE ${CMAKE_CURRENT_LIST_DIR}/options.h) -+configure_file(${CMAKE_CURRENT_LIST_DIR}/options.h.in ${CMAKE_CURRENT_LIST_DIR}/options.h @ONLY) -+ - absl_cc_library( - NAME - config -diff --git a/absl/base/options.h b/absl/base/options.h -index 6a0fb07..54a9780 100644 ---- a/absl/base/options.h -+++ b/absl/base/options.h -@@ -100,7 +100,7 @@ - // User code should not inspect this macro. To check in the preprocessor if - // absl::any is a typedef of std::any, use the feature macro ABSL_USES_STD_ANY. - --#define ABSL_OPTION_USE_STD_ANY 2 -+#define ABSL_OPTION_USE_STD_ANY @STD_ANY@ - - - // ABSL_OPTION_USE_STD_OPTIONAL -@@ -127,7 +127,7 @@ - // absl::optional is a typedef of std::optional, use the feature macro - // ABSL_USES_STD_OPTIONAL. - --#define ABSL_OPTION_USE_STD_OPTIONAL 2 -+#define ABSL_OPTION_USE_STD_OPTIONAL @STD_OPTIONAL@ - - - // ABSL_OPTION_USE_STD_STRING_VIEW -@@ -154,7 +154,7 @@ - // absl::string_view is a typedef of std::string_view, use the feature macro - // ABSL_USES_STD_STRING_VIEW. - --#define ABSL_OPTION_USE_STD_STRING_VIEW 2 -+#define ABSL_OPTION_USE_STD_STRING_VIEW @STD_STRING_VIEW@ - - // ABSL_OPTION_USE_STD_VARIANT - // -@@ -180,7 +180,7 @@ - // absl::variant is a typedef of std::variant, use the feature macro - // ABSL_USES_STD_VARIANT. - --#define ABSL_OPTION_USE_STD_VARIANT 2 -+#define ABSL_OPTION_USE_STD_VARIANT @STD_VARIANT@ - - - // ABSL_OPTION_USE_INLINE_NAMESPACE diff --git a/ports/abseil/portfile.cmake b/ports/abseil/portfile.cmake index 6539cd271627d6..b708ef36a8dc43 100644 --- a/ports/abseil/portfile.cmake +++ b/ports/abseil/portfile.cmake @@ -1,32 +1,36 @@ -if (NOT VCPKG_TARGET_IS_WINDOWS) +if(NOT VCPKG_TARGET_IS_WINDOWS) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO abseil/abseil-cpp - REF 278e0a071885a22dcd2fd1b5576cc44757299343 #LTS 20210324, Patch 2 - SHA512 a9e8e9169ebcfb8bc2eca28152ad2f655f48e6281ea932eb712333f3d0aa0b6fa1a9b184f3e2ddd75d932a54b501cc5c7bb29a1c9de5d2146f82fc5754653895 + REF "${VERSION}" + SHA512 bd2cca8f007f2eee66f51c95a979371622b850ceb2ce3608d00ba826f7c494a1da0fba3c1427728f2c173fe50d59b701da35c2c9fdad2752a5a49746b1c8ef31 HEAD_REF master - PATCHES - # in C++17 mode, use std::any, std::optional, std::string_view, std::variant - # instead of the library replacement types - # in C++11 mode, force use of library replacement types, otherwise the automatic - # detection can cause ABI issues depending on which compiler options - # are enabled for consuming user code - fix-cxx-standard.patch - fix-32-bit-arm.patch ) -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. +set(ABSL_USE_CXX17_OPTION "") +if("cxx17" IN_LIST FEATURES) + set(ABSL_USE_CXX17_OPTION "-DCMAKE_CXX_STANDARD=17") +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 ${FEATURE_OPTIONS} + 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) - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/absl/base/config.h" - "#elif defined(ABSL_CONSUME_DLL)" "#elif 1" - ) - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/absl/base/internal/thread_identity.h" - "&& !defined(ABSL_CONSUME_DLL)" "&& 0" - ) - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/absl/container/internal/hashtablez_sampler.h" - "!defined(ABSL_CONSUME_DLL)" "0" - ) +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() -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/abseil/vcpkg.json b/ports/abseil/vcpkg.json index 9d6159b210726e..1b8bccfbae03b4 100644 --- a/ports/abseil/vcpkg.json +++ b/ports/abseil/vcpkg.json @@ -1,14 +1,13 @@ { "name": "abseil", - "version-string": "20210324.2", - "port-version": 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." ], "homepage": "https://github.com/abseil/abseil-cpp", + "license": "Apache-2.0", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/absent/portfile.cmake b/ports/absent/portfile.cmake index 1c8436aa8b7915..d0a4eb31bb4e15 100644 --- a/ports/absent/portfile.cmake +++ b/ports/absent/portfile.cmake @@ -5,29 +5,28 @@ vcpkg_from_github( SHA512 c7b7d29422ef8afc48e3093496e1dd055cfe9969ae037c2b06ea70fe4283e7a7e9129171efaa257e909c535e24df5861b992b24b00ec03f965730e6a22e13015 ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_TESTS=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets( +vcpkg_cmake_config_fixup( CONFIG_PATH lib/cmake/${PORT} ) file(REMOVE_RECURSE - ${CURRENT_PACKAGES_DIR}/debug - ${CURRENT_PACKAGES_DIR}/lib + "${CURRENT_PACKAGES_DIR}/debug" + "${CURRENT_PACKAGES_DIR}/lib" ) file(INSTALL - ${SOURCE_PATH}/README.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} + "${SOURCE_PATH}/README.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" ) file(INSTALL - ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright + "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright ) diff --git a/ports/absent/vcpkg.json b/ports/absent/vcpkg.json index 3f6ae21dcdd89d..3034fe368eb853 100644 --- a/ports/absent/vcpkg.json +++ b/ports/absent/vcpkg.json @@ -1,7 +1,17 @@ { "name": "absent", - "version-string": "0.3.1", - "port-version": 1, + "version": "0.3.1", + "port-version": 3, "description": "A small C++17 library meant to simplify the composition of nullable types in a generic, type-safe, and declarative way", - "homepage": "https://github.com/rvarago/absent" + "homepage": "https://github.com/rvarago/absent", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/ace/portfile.cmake b/ports/ace/portfile.cmake index 1be127756bcaa3..5875aca5670365 100644 --- a/ports/ace/portfile.cmake +++ b/ports/ace/portfile.cmake @@ -1,111 +1,98 @@ # Using zip archive under Linux would cause sh/perl to report "No such file or directory" or "bad interpreter" # when invoking `prj_install.pl`. # So far this issue haven't yet be triggered under WSL 1 distributions. Not sure the root cause of it. -set(ACE_VERSION 7.0.3) -string(REPLACE "." "_" ACE_VERSION_DIRECTORY ${ACE_VERSION}) +string(REPLACE "." "_" VERSION_DIRECTORY "${VERSION}") if("tao" IN_LIST FEATURES) - if(VCPKG_TARGET_IS_WINDOWS) - # 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-${ACE_VERSION_DIRECTORY}/ACE%2BTAO-src-${ACE_VERSION}.zip" - FILENAME ACE-TAO-${ACE_VERSION}.zip - SHA512 714d2c25bd4be44a03d350b2457b613b5d2d079fc294f287d10968ed02af5c9c82a2a0c10937acf46a4babfd4582cdc5fa23d6080dadd5cbc4f7f694037033f9 - ) - else() - # VCPKG_TARGET_IS_LINUX - vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/DOCGroup/ACE_TAO/releases/download/ACE%2BTAO-${ACE_VERSION_DIRECTORY}/ACE%2BTAO-src-${ACE_VERSION}.tar.gz" - FILENAME ACE-TAO-${ACE_VERSION}.tar.gz - SHA512 e48df1c63bfd02f3a14d049efbcb9a2f476597deaa2b9259d4d852ddfea2319af14e6a1071139b091bff856619e11c650771bfe92c3220d198ec6e931cdd35de - ) - endif() -else() - if(VCPKG_TARGET_IS_WINDOWS) # 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-${ACE_VERSION_DIRECTORY}/ACE-src-${ACE_VERSION}.zip" - FILENAME ACE-src-${ACE_VERSION}.zip - SHA512 3232ea5437b5fa4a36f4b9d5586c1435a5e2f2dcb34770919a1d1dfe6ebe12e33b316f3c0a1275cdc40c12135800f8cb000ac12b4775f9c31d3ddc48b41bd375 + 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 e1eb967920eca25a131cb798312877be60790790c97439a99c1db0819749fa26e06f04090c50aed6fac80bfaafd58473e396f67ec24724587104f2b33cdfb703 ) - else(VCPKG_TARGET_IS_WINDOWS) - # VCPKG_TARGET_IS_LINUX +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-${ACE_VERSION_DIRECTORY}/ACE-src-${ACE_VERSION}.tar.gz" - FILENAME ACE-src-${ACE_VERSION}.tar.gz - SHA512 019ec5c9f23c103d659ec57f6c7bfda3d6d12fc4ca77373353d6232c5fa24c03ffba222af45bd4afe997f02a81f834546cfbcb0e667000857b6e12f2ca3effaa + 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 2010dcb07758e3d8400fa267b48a4ac0090d620955bee16f1ab3f4f7670c34b7464872b965f8078c7b1eec48d586367ae136cd0095946a75a69bac379d3bf781 ) - endif() endif() -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" ) -set(ACE_ROOT ${SOURCE_PATH}) -set(ENV{ACE_ROOT} ${ACE_ROOT}) -set(ACE_SOURCE_PATH ${ACE_ROOT}/ace) +set(ACE_ROOT "${SOURCE_PATH}") +set(ENV{ACE_ROOT} "${ACE_ROOT}") +set(ACE_SOURCE_PATH "${ACE_ROOT}/ace") if("tao" IN_LIST FEATURES) - set(TAO_ROOT ${SOURCE_PATH}/TAO) - set(ENV{TAO_ROOT} ${TAO_ROOT}) - set(WORKSPACE ${TAO_ROOT}/TAO_ACE) + set(TAO_ROOT "${SOURCE_PATH}/TAO") + set(ENV{TAO_ROOT} "${TAO_ROOT}") + set(WORKSPACE "${TAO_ROOT}/TAO_ACE") else() - set(WORKSPACE ${ACE_ROOT}/ace/ace) + set(WORKSPACE "${ACE_ROOT}/ace/ace") endif() if("wchar" IN_LIST FEATURES) list(APPEND ACE_FEATURE_LIST "uses_wchar=1") endif() if("zlib" IN_LIST FEATURES) list(APPEND ACE_FEATURE_LIST "zlib=1") - set(ENV{ZLIB_ROOT} ${CURRENT_INSTALLED_DIR}) + set(ENV{ZLIB_ROOT} "${CURRENT_INSTALLED_DIR}") else() list(APPEND ACE_FEATURE_LIST "zlib=0") endif() if("ssl" IN_LIST FEATURES) list(APPEND ACE_FEATURE_LIST "ssl=1") list(APPEND ACE_FEATURE_LIST "openssl11=1") - set(ENV{SSL_ROOT} ${CURRENT_INSTALLED_DIR}) + set(ENV{SSL_ROOT} "${CURRENT_INSTALLED_DIR}") else() list(APPEND ACE_FEATURE_LIST "ssl=0") endif() -list(JOIN ACE_FEATURE_LIST "," ACE_FEATURES) - -if (VCPKG_LIBRARY_LINKAGE STREQUAL static) - set(MPC_STATIC_FLAG -static) +if("xml-utils" IN_LIST FEATURES) + list(APPEND ACE_FEATURE_LIST "xerces3=1") + set(ENV{XERCESCROOT} "${CURRENT_INSTALLED_DIR}") +else() + list(APPEND ACE_FEATURE_LIST "xerces3=0") endif() +list(JOIN ACE_FEATURE_LIST "," ACE_FEATURES) # Acquire Perl and add it to PATH (for execution of MPC) vcpkg_find_acquire_program(PERL) get_filename_component(PERL_PATH ${PERL} DIRECTORY) -vcpkg_add_to_path(${PERL_PATH}) - -if (TRIPLET_SYSTEM_ARCH MATCHES "x86") - set(MSBUILD_PLATFORM "Win32") -else () - set(MSBUILD_PLATFORM ${TRIPLET_SYSTEM_ARCH}) -endif() +vcpkg_add_to_path("${PERL_PATH}") # Add ace/config.h file # see https://htmlpreview.github.io/?https://github.com/DOCGroup/ACE_TAO/blob/master/ACE/ACE-INSTALL.html if(VCPKG_TARGET_IS_WINDOWS) - if(VCPKG_PLATFORM_TOOLSET MATCHES "v142") - set(SOLUTION_TYPE vs2019) + if(VCPKG_PLATFORM_TOOLSET MATCHES "v140") + set(SOLUTION_TYPE vc14) elseif(VCPKG_PLATFORM_TOOLSET MATCHES "v141") set(SOLUTION_TYPE vs2017) + elseif(VCPKG_PLATFORM_TOOLSET MATCHES "v142") + set(SOLUTION_TYPE vs2019) else() - set(SOLUTION_TYPE vc14) + set(SOLUTION_TYPE vs2022) + endif() + if (VCPKG_LIBRARY_LINKAGE STREQUAL "static") + set(MPC_STATIC_FLAG -static) endif() - file(WRITE ${ACE_SOURCE_PATH}/config.h "#include \"ace/config-windows.h\"") + set(config_h_contents "#include \"ace/config-windows.h\"\n") elseif(VCPKG_TARGET_IS_LINUX) set(SOLUTION_TYPE gnuace) - file(WRITE ${ACE_SOURCE_PATH}/config.h "#include \"ace/config-linux.h\"") - file(WRITE ${ACE_ROOT}/include/makeinclude/platform_macros.GNU "include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU") + set(config_h_contents "#include \"ace/config-linux.h\"\n") + file(WRITE "${ACE_ROOT}/include/makeinclude/platform_macros.GNU" "CCFLAGS += -fPIC\ninclude $(ACE_ROOT)/include/makeinclude/platform_linux.GNU") elseif(VCPKG_TARGET_IS_OSX) set(SOLUTION_TYPE gnuace) - file(WRITE ${ACE_SOURCE_PATH}/config.h "#include \"ace/config-macosx.h\"") - file(WRITE ${ACE_ROOT}/include/makeinclude/platform_macros.GNU "include $(ACE_ROOT)/include/makeinclude/platform_macosx.GNU") + set(config_h_contents "#include \"ace/config-macosx.h\"\n") + file(WRITE "${ACE_ROOT}/include/makeinclude/platform_macros.GNU" "include $(ACE_ROOT)/include/makeinclude/platform_macosx.GNU") +endif() + +if("wchar" IN_LIST FEATURES) + string(APPEND config_h_contents "#define ACE_USES_WCHAR 1\n") endif() +file(WRITE "${ACE_SOURCE_PATH}/config.h" "${config_h_contents}") if(VCPKG_TARGET_IS_UWP) set(MPC_VALUE_TEMPLATE -value_template link_options+=/APPCONTAINER) @@ -113,42 +100,24 @@ endif() # Invoke mwc.pl to generate the necessary solution and project files vcpkg_execute_build_process( - COMMAND ${PERL} ${ACE_ROOT}/bin/mwc.pl -type ${SOLUTION_TYPE} -features "${ACE_FEATURES}" ${WORKSPACE}.mwc ${MPC_STATIC_FLAG} ${MPC_VALUE_TEMPLATE} - WORKING_DIRECTORY ${ACE_ROOT} + COMMAND ${PERL} "${ACE_ROOT}/bin/mwc.pl" -type "${SOLUTION_TYPE}" -features "${ACE_FEATURES}" "${WORKSPACE}.mwc" ${MPC_STATIC_FLAG} ${MPC_VALUE_TEMPLATE} + WORKING_DIRECTORY "${ACE_ROOT}" LOGNAME mwc-${TARGET_TRIPLET} ) if("xml" IN_LIST FEATURES) vcpkg_execute_build_process( - COMMAND ${PERL} ${ACE_ROOT}/bin/mwc.pl -type ${SOLUTION_TYPE} -features "${ACE_FEATURES}" ${ACE_ROOT}/ACEXML/ACEXML.mwc ${MPC_STATIC_FLAG} ${MPC_VALUE_TEMPLATE} - WORKING_DIRECTORY ${ACE_ROOT}/ACEXML + COMMAND ${PERL} "${ACE_ROOT}/bin/mwc.pl" -type "${SOLUTION_TYPE}" -features "${ACE_FEATURES}" "${ACE_ROOT}/ACEXML/ACEXML.mwc" ${MPC_STATIC_FLAG} ${MPC_VALUE_TEMPLATE} + WORKING_DIRECTORY "${ACE_ROOT}/ACEXML" LOGNAME mwc-xml-${TARGET_TRIPLET} ) endif() if(VCPKG_TARGET_IS_WINDOWS) - if("tao" IN_LIST FEATURES OR "xml" IN_LIST FEATURES) - file(WRITE ${SOURCE_PATH}/Directory.Build.props " - - - - /MP - ${ACE_ROOT} - - - ${CURRENT_PACKAGES_DIR}/lib;${CURRENT_PACKAGES_DIR}/debug/lib;${CURRENT_INSTALLED_DIR}/lib;${CURRENT_INSTALLED_DIR}/debug/lib - - - ") - endif() - - file(RELATIVE_PATH PROJECT_SUBPATH ${SOURCE_PATH} ${WORKSPACE}.sln) - vcpkg_install_msbuild( - SOURCE_PATH ${SOURCE_PATH} - PROJECT_SUBPATH ${PROJECT_SUBPATH} - LICENSE_SUBPATH COPYING - PLATFORM ${MSBUILD_PLATFORM} - SKIP_CLEAN + file(RELATIVE_PATH PROJECT_SUBPATH "${SOURCE_PATH}" "${WORKSPACE}.sln") + vcpkg_msbuild_install( + SOURCE_PATH "${SOURCE_PATH}" + PROJECT_SUBPATH "${PROJECT_SUBPATH}" ) # ACE itself does not define an install target, so it is not clear which @@ -159,19 +128,18 @@ if(VCPKG_TARGET_IS_WINDOWS) file( GLOB HEADER_FILES - ${ORIGINAL_PATH}/${RELATIVE_PATH}/*.h - ${ORIGINAL_PATH}/${RELATIVE_PATH}/*.hpp - ${ORIGINAL_PATH}/${RELATIVE_PATH}/*.inl - ${ORIGINAL_PATH}/${RELATIVE_PATH}/*.cpp - ${ORIGINAL_PATH}/${RELATIVE_PATH}/*.idl - ${ORIGINAL_PATH}/${RELATIVE_PATH}/*.pidl) + "${ORIGINAL_PATH}/${RELATIVE_PATH}/*.h" + "${ORIGINAL_PATH}/${RELATIVE_PATH}/*.hpp" + "${ORIGINAL_PATH}/${RELATIVE_PATH}/*.inl" + "${ORIGINAL_PATH}/${RELATIVE_PATH}/*.cpp" + "${ORIGINAL_PATH}/${RELATIVE_PATH}/*.idl" + "${ORIGINAL_PATH}/${RELATIVE_PATH}/*.pidl") file(INSTALL ${HEADER_FILES} - DESTINATION ${CURRENT_PACKAGES_DIR}/include/${RELATIVE_PATH}) + DESTINATION "${CURRENT_PACKAGES_DIR}/include/${RELATIVE_PATH}") endforeach() endfunction() - get_filename_component(SOURCE_PATH_SUFFIX "${SOURCE_PATH}" NAME) - set(SOURCE_COPY_PATH ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/${SOURCE_PATH_SUFFIX}) + set(SOURCE_COPY_PATH "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") # Install headers in subdirectory set(ACE_INCLUDE_FOLDERS @@ -186,22 +154,22 @@ if(VCPKG_TARGET_IS_WINDOWS) "ace/os_include/net" "ace/os_include/netinet" "ace/os_include/sys") - install_includes(${SOURCE_COPY_PATH} "${ACE_INCLUDE_FOLDERS}") + install_includes("${SOURCE_COPY_PATH}" "${ACE_INCLUDE_FOLDERS}") if("ssl" IN_LIST FEATURES) - install_includes(${SOURCE_COPY_PATH} "ace/SSL") + install_includes("${SOURCE_COPY_PATH}" "ace/SSL") endif() if("tao" IN_LIST FEATURES) set(ACEXML_INCLUDE_FOLDERS "ACEXML/apps/svcconf" "ACEXML/common" "ACEXML/parser/parser") - install_includes(${SOURCE_COPY_PATH} "${ACEXML_INCLUDE_FOLDERS}") + install_includes("${SOURCE_COPY_PATH}" "${ACEXML_INCLUDE_FOLDERS}") set(ACE_PROTOCOLS_INCLUDE_FOLDERS "ace/HTBP" "ace/INet" "ace/RMCast" "ace/TMCast") - install_includes(${SOURCE_COPY_PATH}/protocols "${ACE_PROTOCOLS_INCLUDE_FOLDERS}") + install_includes("${SOURCE_COPY_PATH}/protocols" "${ACE_PROTOCOLS_INCLUDE_FOLDERS}") - install_includes(${SOURCE_COPY_PATH} "Kokyu") + install_includes("${SOURCE_COPY_PATH}" "Kokyu") set(TAO_ORBSVCS_INCLUDE_FOLDERS "orbsvcs" @@ -235,11 +203,11 @@ if(VCPKG_TARGET_IS_WINDOWS) if("ssl" IN_LIST FEATURES) list(APPEND TAO_ORBSVCS_INCLUDE_FOLDERS "orbsvcs/SSLIOP") endif() - install_includes(${SOURCE_COPY_PATH}/TAO/orbsvcs "${TAO_ORBSVCS_INCLUDE_FOLDERS}") + install_includes("${SOURCE_COPY_PATH}/TAO/orbsvcs" "${TAO_ORBSVCS_INCLUDE_FOLDERS}") set(TAO_ROOT_ORBSVCS_INCLUDE_FOLDERS "orbsvcs/FT_ReplicationManager" "orbsvcs/Notify_Service") - install_includes(${SOURCE_COPY_PATH}/TAO "${TAO_ROOT_ORBSVCS_INCLUDE_FOLDERS}") + install_includes("${SOURCE_COPY_PATH}/TAO" "${TAO_ROOT_ORBSVCS_INCLUDE_FOLDERS}") set(TAO_INCLUDE_FOLDERS "tao" @@ -281,52 +249,31 @@ if(VCPKG_TARGET_IS_WINDOWS) if("zlib" IN_LIST FEATURES) list(APPEND TAO_INCLUDE_FOLDERS "tao/Compression/zlib") endif() - install_includes(${SOURCE_COPY_PATH}/TAO "${TAO_INCLUDE_FOLDERS}") + install_includes("${SOURCE_COPY_PATH}/TAO" "${TAO_INCLUDE_FOLDERS}") endif() if("xml" IN_LIST FEATURES) - file(RELATIVE_PATH PROJECT_SUBPATH_XML ${SOURCE_PATH} ${ACE_ROOT}/ACEXML/ACEXML.sln) - vcpkg_install_msbuild( - SOURCE_PATH ${SOURCE_PATH} - PROJECT_SUBPATH ${PROJECT_SUBPATH_XML} - LICENSE_SUBPATH COPYING - PLATFORM ${MSBUILD_PLATFORM} - SKIP_CLEAN + file(RELATIVE_PATH PROJECT_SUBPATH_XML "${SOURCE_PATH}" "${ACE_ROOT}/ACEXML/ACEXML.sln") + vcpkg_msbuild_install( + SOURCE_PATH "${SOURCE_PATH}" + PROJECT_SUBPATH "${PROJECT_SUBPATH_XML}" ) set(ACEXML_INCLUDE_FOLDERS "ACEXML/common" "ACEXML/parser/parser") - install_includes(${SOURCE_COPY_PATH} "${ACEXML_INCLUDE_FOLDERS}") + install_includes("${SOURCE_COPY_PATH}" "${ACEXML_INCLUDE_FOLDERS}") endif() # Remove dlls without any export if("tao" IN_LIST FEATURES OR "xml" IN_LIST FEATURES) if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) file(REMOVE - ${CURRENT_PACKAGES_DIR}/bin/ACEXML_XML_Svc_Conf_Parser.dll - ${CURRENT_PACKAGES_DIR}/bin/ACEXML_XML_Svc_Conf_Parser.pdb - ${CURRENT_PACKAGES_DIR}/debug/bin/ACEXML_XML_Svc_Conf_Parserd.dll - ${CURRENT_PACKAGES_DIR}/debug/bin/ACEXML_XML_Svc_Conf_Parserd_dll.pdb) - endif() - endif() - - # remove (erroneous) duplicate libs - if("tao" IN_LIST FEATURES) - if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - file(REMOVE - ${CURRENT_PACKAGES_DIR}/debug/lib/tao_cosconcurrency.lib - ${CURRENT_PACKAGES_DIR}/debug/lib/tao_cosevent.lib - ${CURRENT_PACKAGES_DIR}/debug/lib/tao_coslifecycle.lib - ${CURRENT_PACKAGES_DIR}/debug/lib/tao_cosnaming.lib - ${CURRENT_PACKAGES_DIR}/debug/lib/tao_cosnotification.lib - ${CURRENT_PACKAGES_DIR}/debug/lib/tao_costrading.lib - ${CURRENT_PACKAGES_DIR}/debug/lib/tao_imr_activator.lib - ${CURRENT_PACKAGES_DIR}/debug/lib/tao_imr_locator.lib - ${CURRENT_PACKAGES_DIR}/debug/lib/tao_rtevent.lib) + "${CURRENT_PACKAGES_DIR}/bin/ACEXML_XML_Svc_Conf_Parser.dll" + "${CURRENT_PACKAGES_DIR}/bin/ACEXML_XML_Svc_Conf_Parser.pdb" + "${CURRENT_PACKAGES_DIR}/debug/bin/ACEXML_XML_Svc_Conf_Parserd.dll" + "${CURRENT_PACKAGES_DIR}/debug/bin/ACEXML_XML_Svc_Conf_Parserd_dll.pdb") endif() endif() - - vcpkg_clean_msbuild() elseif(VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_OSX) FIND_PROGRAM(MAKE make) IF (NOT MAKE) @@ -337,22 +284,27 @@ elseif(VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_OSX) list(APPEND _ace_makefile_macros "ssl=1") endif() - set(ENV{INSTALL_PREFIX} ${CURRENT_PACKAGES_DIR}) + if (VCPKG_LIBRARY_LINKAGE STREQUAL "static") + list(APPEND _ace_makefile_macros "static_libs_only=1") + endif() + + set(ENV{INSTALL_PREFIX} "${CURRENT_PACKAGES_DIR}") # Set `PWD` environment variable since ACE's `install` make target calculates install dir using this env. set(_prev_env $ENV{PWD}) - get_filename_component(WORKING_DIR ${WORKSPACE} DIRECTORY) - set(ENV{PWD} ${WORKING_DIR}) + 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}" - WORKING_DIRECTORY ${WORKING_DIR} + WORKING_DIRECTORY "${WORKING_DIR}" LOGNAME make-${TARGET_TRIPLET}-dbg ) if("xml" IN_LIST FEATURES) vcpkg_execute_build_process( COMMAND make ${_ace_makefile_macros} "debug=1" "optimize=0" "-j${VCPKG_CONCURRENCY}" - WORKING_DIRECTORY ${WORKING_DIR}/ACEXML + WORKING_DIRECTORY "${WORKING_DIR}/../ACEXML" LOGNAME make-xml-${TARGET_TRIPLET}-dbg ) endif() @@ -360,20 +312,20 @@ elseif(VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_OSX) message(STATUS "Packaging ${TARGET_TRIPLET}-dbg") vcpkg_execute_build_process( COMMAND make ${_ace_makefile_macros} install - WORKING_DIRECTORY ${WORKING_DIR} + WORKING_DIRECTORY "${WORKING_DIR}" LOGNAME install-${TARGET_TRIPLET}-dbg ) if("xml" IN_LIST FEATURES) vcpkg_execute_build_process( COMMAND make ${_ace_makefile_macros} install - WORKING_DIRECTORY ${WORKING_DIR}/ACEXML + WORKING_DIRECTORY "${WORKING_DIR}/../ACEXML" LOGNAME install-xml-${TARGET_TRIPLET}-dbg ) endif() - file(COPY ${CURRENT_PACKAGES_DIR}/lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug) + file(COPY "${CURRENT_PACKAGES_DIR}/lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug") - file(GLOB _pkg_components ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/*.pc) + file(GLOB _pkg_components "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/*.pc") foreach(_pkg_comp ${_pkg_components}) file(READ ${_pkg_comp} _content) string(REPLACE "libdir=${CURRENT_PACKAGES_DIR}/lib" "libdir=${CURRENT_PACKAGES_DIR}/debug/lib" _content ${_content}) @@ -383,27 +335,29 @@ elseif(VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_OSX) vcpkg_execute_build_process( COMMAND make ${_ace_makefile_macros} realclean - WORKING_DIRECTORY ${WORKING_DIR} + WORKING_DIRECTORY "${WORKING_DIR}" LOGNAME realclean-${TARGET_TRIPLET}-dbg ) if("xml" IN_LIST FEATURES) vcpkg_execute_build_process( COMMAND make ${_ace_makefile_macros} realclean - WORKING_DIRECTORY ${WORKING_DIR}/ACEXML + WORKING_DIRECTORY "${WORKING_DIR}/../ACEXML" 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}" - WORKING_DIRECTORY ${WORKING_DIR} + WORKING_DIRECTORY "${WORKING_DIR}" LOGNAME make-${TARGET_TRIPLET}-rel ) if("xml" IN_LIST FEATURES) vcpkg_execute_build_process( COMMAND make ${_ace_makefile_macros} "-j${VCPKG_CONCURRENCY}" - WORKING_DIRECTORY ${WORKING_DIR}/ACEXML + WORKING_DIRECTORY "${WORKING_DIR}/../ACEXML" LOGNAME make-xml-${TARGET_TRIPLET}-rel ) endif() @@ -411,29 +365,31 @@ elseif(VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_OSX) message(STATUS "Packaging ${TARGET_TRIPLET}-rel") vcpkg_execute_build_process( COMMAND make ${_ace_makefile_macros} install - WORKING_DIRECTORY ${WORKING_DIR} + WORKING_DIRECTORY "${WORKING_DIR}" LOGNAME install-${TARGET_TRIPLET}-rel ) if("xml" IN_LIST FEATURES) vcpkg_execute_build_process( COMMAND make ${_ace_makefile_macros} install - WORKING_DIRECTORY ${WORKING_DIR}/ACEXML + WORKING_DIRECTORY "${WORKING_DIR}/../ACEXML" LOGNAME install-xml-${TARGET_TRIPLET}-rel ) endif() if("tao" IN_LIST FEATURES) - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools) - file(RENAME ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/tools/${PORT}) + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools") + 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) - # Handle copyright - file(INSTALL ${ACE_ROOT}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/ace/bin/MakeProjectCreator") file(REMOVE "${CURRENT_PACKAGES_DIR}/share/ace/ace-devel.sh") + file(REMOVE "${CURRENT_PACKAGES_DIR}/share/tao/tao-devel.sh") endif() +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") + vcpkg_fixup_pkgconfig() diff --git a/ports/ace/vcpkg.json b/ports/ace/vcpkg.json index 55a5b76ece4662..d234d12ab4b6e7 100644 --- a/ports/ace/vcpkg.json +++ b/ports/ace/vcpkg.json @@ -1,9 +1,18 @@ { "name": "ace", - "version": "7.0.3", - "port-version": 3, + "version": "8.0.1", + "maintainers": "Johnny Willemsen ", "description": "The ADAPTIVE Communication Environment", - "homepage": "https://www.dre.vanderbilt.edu/~schmidt/ACE.html", + "homepage": "https://github.com/DOCGroup/ACE_TAO", + "license": "DOC", + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-msbuild", + "host": true, + "platform": "windows" + } + ], "features": { "ssl": { "description": "Enable SSL/TLS features in ACE", @@ -12,14 +21,27 @@ ] }, "tao": { - "description": "The ACE ORB" + "description": "The ACE ORB", + "supports": "native | !(windows & arm)" }, "wchar": { - "description": "Enable extra wide char functions in ACE" + "description": "Enable extra wide char functions in ACE", + "supports": "!osx" }, "xml": { "description": "Enable XML features in ACE" }, + "xml-utils": { + "description": "Include the ACE_XML_Utils library", + "dependencies": [ + { + "name": "xerces-c", + "features": [ + "xmlch-wchar" + ] + } + ] + }, "zlib": { "description": "Enable zlib support", "dependencies": [ diff --git a/ports/acl/portfile.cmake b/ports/acl/portfile.cmake new file mode 100644 index 00000000000000..4e4e102f957a01 --- /dev/null +++ b/ports/acl/portfile.cmake @@ -0,0 +1,35 @@ +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 c2d061dbfd28c00cecbc1ae614d67f3138202bf4d39b383f2df4c6a8b10b830f33acec620fb211f268478737dde4037d338a5823af445253cb088c48a135099b +) + +vcpkg_extract_source_archive( + SOURCE_PATH + 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_install_copyright(FILE_LIST "${SOURCE_PATH}/doc/COPYING.LGPL") diff --git a/ports/acl/vcpkg.json b/ports/acl/vcpkg.json new file mode 100644 index 00000000000000..591f32be33342a --- /dev/null +++ b/ports/acl/vcpkg.json @@ -0,0 +1,26 @@ +{ + "name": "acl", + "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/activemq-cppConfig.cmake b/ports/activemq-cpp/activemq-cppConfig.cmake index 5719f9b6bb30a1..0a1178414c44a4 100644 --- a/ports/activemq-cpp/activemq-cppConfig.cmake +++ b/ports/activemq-cpp/activemq-cppConfig.cmake @@ -62,7 +62,7 @@ macro(_activemq_cpp_windows_dependencies) endif() list(JOIN _ACTIVEMQ_CPP_MISSINGS ", " _ACTIVEMQ_CPP_MISSINGS_STR) list(LENGTH _ACTIVEMQ_CPP_MISSINGS _ACTIVEMQ_CPP_MISSINGS_COUNT) - if(_ACTIVEMQ_CPP_MISSINGS_COUNT EQUALS 1) + if(_ACTIVEMQ_CPP_MISSINGS_COUNT EQUAL 1) set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "Activemq-cpp vcpkg install dependency failure: Did not find windows dependency: ${_ACTIVEMQ_CPP_MISSINGS_STR}") else() set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "Activemq-cpp vcpkg install dependency failure: Did not find windows dependencies: ${_ACTIVEMQ_CPP_MISSINGS_STR}") @@ -133,9 +133,9 @@ if (ACTIVEMQ_CPP_DLL_RELEASE) # if (ACTIVEMQ_CPP_LIB_RELEASE AND ACTIVEMQ_CPP_DLL_DEBUG AND ACTIVEMQ_CPP_LIB_DEBUG) _set_exists(ACTIVEMQ_CPP_APR_LIB_RELEASE _ACTIVEMQ_CPP_APR_LIB_RELEASE_MISSING "${_IMPORT_PREFIX}/lib/libapr-1.lib") - _set_exists(ACTIVEMQ_CPP_APR_DLL_RELEASE _ACTIVEMQ_CPP_APR_DLL_RELEASE_MISSING "${_IMPORT_PREFIX}/lib/libapr-1.dll") + _set_exists(ACTIVEMQ_CPP_APR_DLL_RELEASE _ACTIVEMQ_CPP_APR_DLL_RELEASE_MISSING "${_IMPORT_PREFIX}/bin/libapr-1.dll") _set_exists(ACTIVEMQ_CPP_APR_LIB_DEBUG _ACTIVEMQ_CPP_APR_LIB_DEBUG_MISSING "${_IMPORT_PREFIX}/debug/lib/libapr-1.lib") - _set_exists(ACTIVEMQ_CPP_APR_DLL_DEBUG _ACTIVEMQ_CPP_APR_DLL_DEBUG_MISSING "${_IMPORT_PREFIX}/debug/lib/libapr-1.dll") + _set_exists(ACTIVEMQ_CPP_APR_DLL_DEBUG _ACTIVEMQ_CPP_APR_DLL_DEBUG_MISSING "${_IMPORT_PREFIX}/debug/bin/libapr-1.dll") if (ACTIVEMQ_CPP_APR_LIB_RELEASE AND ACTIVEMQ_CPP_APR_DLL_RELEASE AND ACTIVEMQ_CPP_APR_LIB_DEBUG AND ACTIVEMQ_CPP_APR_DLL_DEBUG) _activemq_cpp_windows_dependencies() if (${CMAKE_FIND_PACKAGE_NAME}_WINDOWS_DEPENDENCIES_FOUND) diff --git a/ports/activemq-cpp/portfile.cmake b/ports/activemq-cpp/portfile.cmake index 4700c5c3df60f4..229cfb532cc0bc 100644 --- a/ports/activemq-cpp/portfile.cmake +++ b/ports/activemq-cpp/portfile.cmake @@ -1,48 +1,48 @@ -vcpkg_fail_port_install( ON_TARGET "uwp" "osx") - -set(VERSION 3.9.5) +set(PATCHES ) +if (NOT VCPKG_TARGET_IS_LINUX) + set(PATCHES FunctionLevelLinkingOn.diff) + if(VCPKG_CRT_LINKAGE STREQUAL "static") + list(APPEND PATCHES fix-crt-linkage.patch) + else() + list(APPEND PATCHES fix-crt-linkage-dyn.patch) + endif() +endif() vcpkg_download_distfile(ARCHIVE - URLS "https://www.apache.org/dist/activemq/activemq-cpp/${VERSION}/activemq-cpp-library-${VERSION}-src.tar.bz2" + URLS "https://archive.apache.org/dist/activemq/activemq-cpp/${VERSION}/activemq-cpp-library-${VERSION}-src.tar.bz2" FILENAME "activemq-cpp-library-${VERSION}-src.tar.bz2" SHA512 83692d3dfd5ecf557fc88d204a03bf169ce6180bcff27be41b09409b8f7793368ffbeed42d98ef6374c6b6b477d9beb8a4a9ac584df9e56725ec59ceceaa6ae2 ) +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" + PATCHES ${PATCHES} +) -if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") - vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} - ) - +if (VCPKG_TARGET_IS_LINUX) vcpkg_configure_make( SOURCE_PATH "${SOURCE_PATH}" AUTOCONFIG OPTIONS "--with-openssl=${CURRENT_INSTALLED_DIR}" - "--with-apr=${CURRENT_INSTALLED_DIR}/tools/apr" + "--with-apr=${CURRENT_INSTALLED_DIR}/tools/apr" ) vcpkg_install_make() + file(RENAME "${CURRENT_PACKAGES_DIR}/include/activemq-cpp-${VERSION}/activemq" "${CURRENT_PACKAGES_DIR}/include/activemq") file(RENAME "${CURRENT_PACKAGES_DIR}/include/activemq-cpp-${VERSION}/cms" "${CURRENT_PACKAGES_DIR}/include/cms") file(RENAME "${CURRENT_PACKAGES_DIR}/include/activemq-cpp-${VERSION}/decaf" "${CURRENT_PACKAGES_DIR}/include/decaf") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/activemq-cpp-${VERSION}") vcpkg_copy_pdbs() -else() - set(PATCHES FunctionLevelLinkingOn.diff) - if(VCPKG_CRT_LINKAGE STREQUAL "static") - list(APPEND PATCHES fix-crt-linkage.patch) - else() - list(APPEND PATCHES fix-crt-linkage-dyn.patch) - endif() - - vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} - PATCHES ${PATCHES} - ) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin/activemqcpp-config" "${CURRENT_INSTALLED_DIR}" "`dirname $0`/../../..") + if(NOT VCPKG_BUILD_TYPE) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug/bin/activemqcpp-config" "${CURRENT_INSTALLED_DIR}/debug" "`dirname $0`/../../../..") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug/bin/activemqcpp-config" "${CURRENT_INSTALLED_DIR}" "`dirname $0`/../../..") + endif() +else() set(ACTIVEMQCPP_MSVC_PROJ "${SOURCE_PATH}/vs2010-build/activemq-cpp.vcxproj") string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" ACTIVEMQCPP_SHARED_LIB) @@ -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") @@ -63,62 +63,55 @@ else() vcpkg_replace_string("${ACTIVEMQCPP_MSVC_PROJ}" ";libapr-1.lib" ";apr-1.lib") endif() - if (VCPKG_TARGET_ARCHITECTURE MATCHES "x86") + if(VCPKG_TARGET_ARCHITECTURE MATCHES "x86") set(BUILD_ARCH "Win32") - elseif (VCPKG_TARGET_ARCHITECTURE MATCHES "x64") - set(BUILD_ARCH "x64") else() - message(FATAL_ERROR "Unsupported architecture: ${VCPKG_TARGET_ARCHITECTURE}") + set(BUILD_ARCH "${VCPKG_TARGET_ARCHITECTURE}") endif() string(REPLACE "/" "\\" WIN_SOURCE_PATH "${SOURCE_PATH}") vcpkg_replace_string("${ACTIVEMQCPP_MSVC_PROJ}" "ClCompile Include=\"..\\src" "ClCompile Include=\"${WIN_SOURCE_PATH}\\src") vcpkg_replace_string("${ACTIVEMQCPP_MSVC_PROJ}" "ClInclude Include=\"..\\src" "ClInclude Include=\"${WIN_SOURCE_PATH}\\src") vcpkg_replace_string("${ACTIVEMQCPP_MSVC_PROJ}" "../src/main" "${WIN_SOURCE_PATH}\\src\\main") - vcpkg_install_msbuild( + vcpkg_msbuild_install( SOURCE_PATH "${SOURCE_PATH}/vs2010-build" PROJECT_SUBPATH "activemq-cpp.vcxproj" RELEASE_CONFIGURATION ${RELEASE_CONF} DEBUG_CONFIGURATION ${DEBUG_CONF} PLATFORM ${BUILD_ARCH} - USE_VCPKG_INTEGRATION - ALLOW_ROOT_INCLUDES - SKIP_CLEAN ) - vcpkg_copy_pdbs() - if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") file(COPY - "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/vs2010-build/${BUILD_ARCH}/${RELEASE_CONF}/${ACTIVEMQCPP_LIB_PREFFIX}activemq-cpp.lib" + "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/${BUILD_ARCH}/${RELEASE_CONF}/${ACTIVEMQCPP_LIB_PREFFIX}activemq-cpp.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/lib" ) if (ACTIVEMQCPP_SHARED_LIB) file(COPY - "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/vs2010-build/${BUILD_ARCH}/${RELEASE_CONF}/activemq-cpp.dll" + "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/${BUILD_ARCH}/${RELEASE_CONF}/activemq-cpp.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/bin" ) file(COPY - "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/vs2010-build/${BUILD_ARCH}/${RELEASE_CONF}/activemq-cpp.pdb" + "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/${BUILD_ARCH}/${RELEASE_CONF}/activemq-cpp.pdb" DESTINATION "${CURRENT_PACKAGES_DIR}/bin" ) endif() endif() - if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + if(NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") file(COPY - "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/vs2010-build/${BUILD_ARCH}/${DEBUG_CONF}/${ACTIVEMQCPP_LIB_PREFFIX}activemq-cpp${ACTIVEMQCPP_LIB_SUFFIX}.lib" + "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/${BUILD_ARCH}/${DEBUG_CONF}/${ACTIVEMQCPP_LIB_PREFFIX}activemq-cpp${ACTIVEMQCPP_LIB_SUFFIX}.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib" ) - if (ACTIVEMQCPP_SHARED_LIB) + if(ACTIVEMQCPP_SHARED_LIB) file(COPY - "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/vs2010-build/${BUILD_ARCH}/${DEBUG_CONF}/activemq-cpp${ACTIVEMQCPP_LIB_SUFFIX}.dll" + "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/${BUILD_ARCH}/${DEBUG_CONF}/activemq-cpp${ACTIVEMQCPP_LIB_SUFFIX}.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin" ) file(COPY - "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/vs2010-build/${BUILD_ARCH}/${DEBUG_CONF}/activemq-cpp${ACTIVEMQCPP_LIB_SUFFIX}.pdb" + "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/${BUILD_ARCH}/${DEBUG_CONF}/activemq-cpp${ACTIVEMQCPP_LIB_SUFFIX}.pdb" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin" ) endif() @@ -127,8 +120,9 @@ else() file(COPY "${SOURCE_PATH}/src/main/activemq" DESTINATION "${CURRENT_PACKAGES_DIR}/include" FILES_MATCHING PATTERN *.h) file(COPY "${SOURCE_PATH}/src/main/cms" DESTINATION "${CURRENT_PACKAGES_DIR}/include" FILES_MATCHING PATTERN *.h) file(COPY "${SOURCE_PATH}/src/main/decaf" DESTINATION "${CURRENT_PACKAGES_DIR}/include" FILES_MATCHING PATTERN *.h) - vcpkg_clean_msbuild() endif() +vcpkg_fixup_pkgconfig() + file(INSTALL "${CURRENT_PORT_DIR}/activemq-cppConfig.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/activemq-cpp") -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/activemq-cpp/vcpkg.json b/ports/activemq-cpp/vcpkg.json index 9a804bf4bf7487..9e597e1f48d6e8 100644 --- a/ports/activemq-cpp/vcpkg.json +++ b/ports/activemq-cpp/vcpkg.json @@ -1,10 +1,20 @@ { "name": "activemq-cpp", "version-semver": "3.9.5", - "port-version": 5, + "port-version": 17, "description": "Apache ActiveMQ is the most popular and powerful open source messaging and Integration Patterns server.", - "supports": "!(uwp | osx)", + "license": "Apache-2.0", + "supports": "(windows & !uwp & (x86 | x64)) | (!windows & !osx)", "dependencies": [ - "apr" + "apr", + { + "name": "libuuid", + "platform": "!windows & !osx" + }, + { + "name": "vcpkg-msbuild", + "host": true, + "platform": "windows" + } ] } 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 new file mode 100644 index 00000000000000..431721cc4951c0 --- /dev/null +++ b/ports/ada-url/portfile.cmake @@ -0,0 +1,40 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO ada-url/ada + REF "v${VERSION}" + SHA512 bc876db537153d6b0599215ca8be8261bceca6d213fcc63af5fda13c1b32876496cb8d4e98c787f17317cf8ffd1940431551513807f1a18f9ce993fad35f5ec6 + HEAD_REF main + PATCHES + no-cpm.patch +) + +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + tools ADA_TOOLS +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DADA_BENCHMARKS=OFF + -DBUILD_TESTING=OFF + -DCMAKE_DISABLE_FIND_PACKAGE_Python3=ON + ${FEATURE_OPTIONS} + OPTIONS_DEBUG + -DADA_TOOLS=OFF +) + +vcpkg_cmake_install() + +vcpkg_copy_pdbs() + +vcpkg_cmake_config_fixup(PACKAGE_NAME ada CONFIG_PATH "lib/cmake/ada") + +if("tools" IN_LIST FEATURES) + vcpkg_copy_tools(TOOL_NAMES adaparse AUTO_CLEAN) +endif() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE-APACHE" "${SOURCE_PATH}/LICENSE-MIT") diff --git a/ports/ada-url/vcpkg.json b/ports/ada-url/vcpkg.json new file mode 100644 index 00000000000000..fb09b307f9e96f --- /dev/null +++ b/ports/ada-url/vcpkg.json @@ -0,0 +1,27 @@ +{ + "name": "ada-url", + "version": "2.9.2", + "description": "WHATWG-compliant and fast URL parser written in modern C++", + "homepage": "https://ada-url.com/", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "tools": { + "description": "Build CLI tools (adaparse)", + "supports": "!uwp", + "dependencies": [ + "cxxopts", + "fmt" + ] + } + } +} diff --git a/ports/ade/portfile.cmake b/ports/ade/portfile.cmake index 7af58d539a71e6..ccfb82cafe2c18 100644 --- a/ports/ade/portfile.cmake +++ b/ports/ade/portfile.cmake @@ -1,24 +1,23 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO opencv/ade - REF v0.1.1f - SHA512 fbdec8f3d5811a573abb81f1ceb6fb8d40274439013f749645db5430c6d9cdc52227c25203f1a68177b263d648bb65197ea7c2bea7871264a06585e59892631c + REF "v${VERSION}" + SHA512 46f2feee28d732a6940a5a95944f3283bde1b8c8e05466a8ca1c576623c54d1bed875ce2b24a941111d8976cb0c6ba5a4ac8408f042f5765debf1badf7d43348 HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS_DEBUG -DCMAKE_DEBUG_POSTFIX=d ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets() +vcpkg_cmake_config_fixup() -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") # Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/ade RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/ade/vcpkg.json b/ports/ade/vcpkg.json index 53fb3606d73169..9e3a46646d214d 100644 --- a/ports/ade/vcpkg.json +++ b/ports/ade/vcpkg.json @@ -1,6 +1,15 @@ { "name": "ade", - "version-string": "0.1.1f", - "port-version": 2, - "description": "ADE Framework is a graph construction, manipulation, and processing framework. ADE Framework is suitable for organizing data flow processing and execution." + "version-string": "0.1.2d", + "description": "ADE Framework is a graph construction, manipulation, and processing framework. ADE Framework is suitable for organizing data flow processing and execution.", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/adios2/portfile.cmake b/ports/adios2/portfile.cmake new file mode 100644 index 00000000000000..d2aef40f13b32c --- /dev/null +++ b/ports/adios2/portfile.cmake @@ -0,0 +1,63 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO ornladios/ADIOS2 + REF "v${VERSION}" + SHA512 05decc3ff14e7458df9ec16ca6230a9770ca992e7d0ce3a18b3c9295a19dad94d8a9367102e50347a9487c6a3f35a8d52fbaa6a6fd98807aaec9636e607541ee + HEAD_REF master +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + mpi ADIOS2_USE_MPI + cuda ADIOS2_USE_CUDA + python ADIOS2_USE_Python # requires numpy / mpi4py; so not exposed in the manifest yet + zfp ADIOS2_USE_ZFP +) + +set(disabled_options "") +list(APPEND disabled_options SZ LIBPRESSIO MGARD DAOS DataMan DataSpaces MHS SST BP5 IME Fortran SysVShMem Profiling) +list(TRANSFORM disabled_options PREPEND "-DADIOS2_USE_") +list(TRANSFORM disabled_options APPEND ":BOOL=OFF") +set(enabled_options "") +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") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} + ${disabled_options} + ${enabled_options} + -DBUILD_TESTING=OFF + -DADIOS2_BUILD_EXAMPLES=OFF + -DADIOS2_INSTALL_GENERATE_CONFIG=OFF + MAYBE_UNUSED_VARIABLES + ADIOS2_USE_DAOS + ADIOS2_USE_DataMan + ADIOS2_USE_DataSpaces + ADIOS2_USE_SysVShMem +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${PORT}") + +set(tools "adios2_reorganize" "bpls") +if(ADIOS2_USE_MPI) + list(APPEND tools "adios2_reorganize_mpi" "adios2_iotest") +endif() + +vcpkg_copy_tools(TOOL_NAMES ${tools} AUTO_CLEAN) +file(RENAME "${CURRENT_PACKAGES_DIR}/bin/adios2_deactivate_bp" "${CURRENT_PACKAGES_DIR}/tools/${PORT}/adios2_deactivate_bp") + +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_RECURSE "${CURRENT_PACKAGES_DIR}/include/adios2/toolkit/sst/dp" "${CURRENT_PACKAGES_DIR}/include/adios2/toolkit/sst/util") + +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/adios2/usage b/ports/adios2/usage new file mode 100644 index 00000000000000..eb6142ab3bc5b6 --- /dev/null +++ b/ports/adios2/usage @@ -0,0 +1,4 @@ +The package adios2 provides CMake targets: + + find_package(adios2 CONFIG REQUIRED) + target_link_libraries(main PRIVATE adios2::adios2) diff --git a/ports/adios2/vcpkg.json b/ports/adios2/vcpkg.json new file mode 100644 index 00000000000000..79d4631b5ebccd --- /dev/null +++ b/ports/adios2/vcpkg.json @@ -0,0 +1,65 @@ +{ + "name": "adios2", + "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", + "dependencies": [ + "blosc", + "bzip2", + { + "name": "hdf5", + "default-features": false + }, + "libffi", + "libpng", + "libsodium", + "pugixml", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "zeromq" + ], + "features": { + "cuda": { + "description": "Enable CUDA support", + "dependencies": [ + "cuda" + ] + }, + "mpi": { + "description": "Enable MPI support", + "dependencies": [ + { + "name": "hdf5", + "default-features": false, + "features": [ + "parallel" + ] + }, + "mpi" + ] + }, + "python": { + "description": "Enable Python bindings", + "dependencies": [ + "python3", + { + "name": "python3", + "host": true + } + ] + }, + "zfp": { + "description": "Enable zfp support", + "dependencies": [ + "zfp" + ] + } + } +} diff --git a/ports/air-ctl/portfile.cmake b/ports/air-ctl/portfile.cmake new file mode 100644 index 00000000000000..435539024df0df --- /dev/null +++ b/ports/air-ctl/portfile.cmake @@ -0,0 +1,18 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO inie0722/CTL + REF a19d7db16232b160901cc65b8398ece2526b5e41 #v1.1.2 + SHA512 867f3c07073a9c9ce60d95d8c6eff37e49bd10d45fd93891cbdd7b6e77e5302048b7b054b597d382f1f581636a8b3042291d87a9eadd7f2b33c4c532dc23ae5d + HEAD_REF master +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS "-DCTL_CACHE_LINE_SIZE=0" +) + +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) diff --git a/ports/air-ctl/vcpkg.json b/ports/air-ctl/vcpkg.json new file mode 100644 index 00000000000000..6864adec73e115 --- /dev/null +++ b/ports/air-ctl/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "air-ctl", + "version": "1.1.2", + "port-version": 2, + "description": "C template container library", + "homepage": "https://github.com/inie0722/CTL", + "license": "BSL-1.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/aixlog/portfile.cmake b/ports/aixlog/portfile.cmake index 5249e4d23d1f2c..2092d84ca126cf 100644 --- a/ports/aixlog/portfile.cmake +++ b/ports/aixlog/portfile.cmake @@ -3,10 +3,12 @@ vcpkg_from_github( REPO badaix/aixlog REF fd4a341740ee840092963de852584ec8ff811c4f # v1.5.0 SHA512 10ab07dcb1e67064c0d69ddcf9289d79d914c70fe6922f32179f9ac38d5c682a4ebe08b686d8160c699a6b966bc7aa2fd7d0268664570a10ce146850e78b292d - ) +) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_EXAMPLE=OFF ) vcpkg_cmake_install() diff --git a/ports/aixlog/vcpkg.json b/ports/aixlog/vcpkg.json index 978c86f3f67927..6670f4d9b3211e 100644 --- a/ports/aixlog/vcpkg.json +++ b/ports/aixlog/vcpkg.json @@ -1,7 +1,10 @@ { "name": "aixlog", - "version-semver": "1.5.0", + "version": "1.5.0", + "port-version": 1, "description": "Header-only C++ logging library", + "homepage": "https://github.com/badaix/aixlog", + "license": "MIT", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/akali/portfile.cmake b/ports/akali/portfile.cmake deleted file mode 100644 index e91bbd88f95e35..00000000000000 --- a/ports/akali/portfile.cmake +++ /dev/null @@ -1,42 +0,0 @@ -vcpkg_fail_port_install(ON_ARCH "arm" "arm64" ON_TARGET "UWP") - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO winsoft666/akali - REF 57fea619dea42aa116679b22340f56fc94eb83a9 - SHA512 b80f7e72396032e8b24464e159f4a6c24663d671bcbe9ffa46f68e5bc0398fd0caf3ac918f8ccb8d304be4d5a3fade2821f87f7270e02ec8aae722e2faeab0f3 - HEAD_REF master -) - -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" AKALI_STATIC) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - DISABLE_PARALLEL_CONFIGURE - OPTIONS - -DAKALI_STATIC:BOOL=${AKALI_STATIC} - -DBUILD_TESTS:BOOL=OFF -) - -vcpkg_install_cmake() - -if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/cmake/akali) - vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/akali) -elseif(EXISTS ${CURRENT_PACKAGES_DIR}/share/akali) - vcpkg_fixup_cmake_targets(CONFIG_PATH share/akali) -endif() - -file(READ ${CURRENT_PACKAGES_DIR}/include/akali/akali_export.h AKALI_EXPORT_H) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - string(REPLACE "#ifdef AKALI_STATIC" "#if 1" AKALI_EXPORT_H "${AKALI_EXPORT_H}") -else() - string(REPLACE "#ifdef AKALI_STATIC" "#if 0" AKALI_EXPORT_H "${AKALI_EXPORT_H}") -endif() -file(WRITE ${CURRENT_PACKAGES_DIR}/include/akali/akali_export.h "${AKALI_EXPORT_H}") - -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) - -vcpkg_copy_pdbs() diff --git a/ports/akali/vcpkg.json b/ports/akali/vcpkg.json deleted file mode 100644 index fb1cc78517e26e..00000000000000 --- a/ports/akali/vcpkg.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "akali", - "version-string": "1.42", - "port-version": 2, - "description": "C++ Common Library.", - "homepage": "https://github.com/winsoft666/akali", - "supports": "!(arm | arm64 | uwp)" -} diff --git a/ports/aklomp-base64/portfile.cmake b/ports/aklomp-base64/portfile.cmake new file mode 100644 index 00000000000000..b3602b76b83230 --- /dev/null +++ b/ports/aklomp-base64/portfile.cmake @@ -0,0 +1,27 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO aklomp/base64 + REF "v${VERSION}" + SHA512 9f8ca8a6e9feb8ad98158d675ec3331e83c77401d2633de0e43b62e794682a9d63c03e1c2599981ad3cdb249e263964f6a79084dbdf2ca19a1e1eed6195a98f4 + HEAD_REF master +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBASE64_BUILD_CLI=OFF + -DBASE64_REGENERATE_TABLES=OFF + -DBASE64_WERROR=OFF + -DBASE64_WITH_OpenMP=OFF +) + +vcpkg_cmake_install() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_cmake_config_fixup( + PACKAGE_NAME base64 + CONFIG_PATH "lib/cmake/base64" +) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/aklomp-base64/vcpkg.json b/ports/aklomp-base64/vcpkg.json new file mode 100644 index 00000000000000..ffacf3bb8a418b --- /dev/null +++ b/ports/aklomp-base64/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "aklomp-base64", + "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", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/alac-decoder/portfile.cmake b/ports/alac-decoder/portfile.cmake index 15c8152b35371f..877385ede05e34 100644 --- a/ports/alac-decoder/portfile.cmake +++ b/ports/alac-decoder/portfile.cmake @@ -6,27 +6,26 @@ vcpkg_download_distfile(ARCHIVE SHA512 4b37d4fe37681bfccaa4a27fbaf11eb2a1fba5f14e77d219a6d9814ff44d1168534d05eb19443dd2fd11e6fcdf4da3a22e3f3c79314cb7a6767c152351b13e29 ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" PATCHES remove_stdint_headers.patch no-pragma-warning.patch ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/decomp.c DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") +file(COPY "${CMAKE_CURRENT_LIST_DIR}/decomp.c" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON -DDISABLE_INSTALL_TOOLS=ON ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT}) +vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/${PORT}") -file(INSTALL ${SOURCE_PATH}/README DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/README" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/alac-decoder/vcpkg.json b/ports/alac-decoder/vcpkg.json index b844541009bfca..9792d5a6b74bee 100644 --- a/ports/alac-decoder/vcpkg.json +++ b/ports/alac-decoder/vcpkg.json @@ -1,7 +1,17 @@ { "name": "alac-decoder", - "version-string": "0.2", - "port-version": 5, + "version": "0.2", + "port-version": 7, "description": "ALAC C implementation of a decoder, written from reverse engineering the file format", - "homepage": "https://distfiles.macports.org/alac_decoder" + "homepage": "https://distfiles.macports.org/alac_decoder", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/alac/portfile.cmake b/ports/alac/portfile.cmake index d9dd83141e7dc4..427e75425be997 100644 --- a/ports/alac/portfile.cmake +++ b/ports/alac/portfile.cmake @@ -12,15 +12,16 @@ vcpkg_from_github( HEAD_REF master ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON -DDISABLE_INSTALL_TOOLS=ON +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS_DEBUG + -DDISABLE_INSTALL_HEADERS=ON + -DDISABLE_INSTALL_TOOLS=ON ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/alac) -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/alac RENAME copyright) +vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/${PORT}") +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/alac" RENAME copyright) diff --git a/ports/alac/vcpkg.json b/ports/alac/vcpkg.json index 74adbe459d0d26..f1e99550cf6dcf 100644 --- a/ports/alac/vcpkg.json +++ b/ports/alac/vcpkg.json @@ -1,8 +1,18 @@ { "name": "alac", - "version-string": "2017-11-03-c38887c5", - "port-version": 2, + "version": "2017-11-03-c38887c5", + "port-version": 4, "description": "The Apple Lossless Audio Codec (ALAC) is a lossless audio codec developed by Apple and deployed on all of its platforms and devices.", "homepage": "https://github.com/macosforge/alac", - "supports": "!uwp" + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/alembic/disable-warnings-as-error.patch b/ports/alembic/disable-warnings-as-error.patch deleted file mode 100644 index 48ad94b3036e11..00000000000000 --- a/ports/alembic/disable-warnings-as-error.patch +++ /dev/null @@ -1,19 +0,0 @@ -Workaround for https://github.com/alembic/alembic/issues/309 -diff --git a/CMakeLists.txt b/CMakeLists.txt ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -125,14 +125,6 @@ IF (CMAKE_CXX_COMPILER_ID STREQUAL "GNU") - SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden") - ENDIF() - --# Set some debug vs opt flags --if ("${CMAKE_BUILD_TYPE}" MATCHES "Debug" AND NOT MSVC) -- add_definitions(-Wall -Werror -Wextra -Wno-unused-parameter -Wno-deprecated) -- if((CMAKE_CXX_COMPILER_ID MATCHES "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 7.0) OR -- CMAKE_CXX_COMPILER_ID MATCHES "CLANG") -- add_definitions( -Wno-error=implicit-fallthrough) -- endif() --endif() - - IF (NOT ${WINDOWS}) - SET(EXTERNAL_MATH_LIBS "-lm") diff --git a/ports/alembic/fix-runtime-destination.patch b/ports/alembic/fix-runtime-destination.patch deleted file mode 100644 index 28a817be20632a..00000000000000 --- a/ports/alembic/fix-runtime-destination.patch +++ /dev/null @@ -1,31 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -73,7 +73,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 ---- a/lib/Alembic/CMakeLists.txt -+++ b/lib/Alembic/CMakeLists.txt -@@ -78,12 +78,11 @@ option(DOCS_PATH - ${ZLIB_LIBRARY} - ) - --SET( ALEMBIC_LIB_INSTALL_DIR lib CACHE PATH "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 7723a9b34f001a..2aff154b28b4af 100644 --- a/ports/alembic/portfile.cmake +++ b/ports/alembic/portfile.cmake @@ -1,19 +1,11 @@ -vcpkg_fail_port_install(ON_TARGET "UWP") -if(VCPKG_TARGET_IS_WINDOWS) - vcpkg_fail_port_install(ON_ARCH "x86") # see https://github.com/alembic/alembic/issues/372 -endif() - vcpkg_buildpath_length_warning(37) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO alembic/alembic - REF 1.8.3 - SHA512 0049c72d93e66e12d704d27e7ba36cd9c718667f2ce4f7baa1bee1613ed88ba53abea98f457e14f7f2144cb353810a4108d26c7dd1a1543ec2af576272f19036 + REF "${VERSION}" + SHA512 510cc85346b685833091cd616ad6d8a3ba602e716747ab8dea6573abbaa1a2d49eed80b2d566b68293df78f3f3b9cf412ff4e3515f0d37951d63b9634b207a08 HEAD_REF master - PATCHES - fix-runtime-destination.patch - disable-warnings-as-error.patch ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" ALEMBIC_SHARED_LIBS) @@ -29,6 +21,7 @@ vcpkg_cmake_configure( -DALEMBIC_SHARED_LIBS=${ALEMBIC_SHARED_LIBS} -DUSE_TESTS=OFF ${FEATURE_OPTIONS} + -DALEMBIC_DEBUG_WARNINGS_AS_ERRORS=OFF ) vcpkg_cmake_install() @@ -51,4 +44,4 @@ vcpkg_copy_tools( ) vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/${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/alembic/vcpkg.json b/ports/alembic/vcpkg.json index 52a28dae10ea40..bb6bc853a2eae1 100644 --- a/ports/alembic/vcpkg.json +++ b/ports/alembic/vcpkg.json @@ -1,6 +1,6 @@ { "name": "alembic", - "version": "1.8.3", + "version": "1.8.7", "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 6b3af2ab1fabeb..6414ae75c3b6ae 100644 --- a/ports/aliyun-oss-c-sdk/portfile.cmake +++ b/ports/aliyun-oss-c-sdk/portfile.cmake @@ -1,24 +1,18 @@ -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_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}/) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +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 3494e59994412a..fab5182972b662 100644 --- a/ports/aliyun-oss-c-sdk/vcpkg.json +++ b/ports/aliyun-oss-c-sdk/vcpkg.json @@ -1,11 +1,16 @@ { "name": "aliyun-oss-c-sdk", - "version-string": "3.10.0", - "port-version": 1, + "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", - "curl" + "curl", + { + "name": "vcpkg-cmake", + "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 new file mode 100644 index 00000000000000..5b736dbb1337d2 --- /dev/null +++ b/ports/allegro5/cmake-project-include.cmake @@ -0,0 +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/do-not-copy-pdbs-to-lib.patch b/ports/allegro5/do-not-copy-pdbs-to-lib.patch new file mode 100644 index 00000000000000..eabc5eb3ea2fe6 --- /dev/null +++ b/ports/allegro5/do-not-copy-pdbs-to-lib.patch @@ -0,0 +1,13 @@ +diff --git a/cmake/Common.cmake b/cmake/Common.cmake +index 86c194f..74edef8 100644 +--- a/cmake/Common.cmake ++++ b/cmake/Common.cmake +@@ -227,7 +227,7 @@ function(install_our_library target filename) + # Doesn't work, see below. + # PUBLIC_HEADER DESTINATION "include" + ) +- if(MSVC AND BUILD_SHARED_LIBS) ++ if(0) + install(FILES ${CMAKE_BINARY_DIR}/lib/\${CMAKE_INSTALL_CONFIG_NAME}/${filename}.pdb + DESTINATION lib + CONFIGURATIONS Debug RelWithDebInfo diff --git a/ports/allegro5/fix-pdb-install.patch b/ports/allegro5/fix-pdb-install.patch deleted file mode 100644 index 714c69cf55adc7..00000000000000 --- a/ports/allegro5/fix-pdb-install.patch +++ /dev/null @@ -1,34 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 72348fe..c6fbecb 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1010,14 +1010,9 @@ else() - set(PKG_CONFIG_FILES allegro ${ADDON_PKG_CONFIG_FILES}) - endif(WANT_MONOLITH) - --# Install pkg-config files on Unix, and when cross-compiling on Unix. -+# Install pkg-config files - --if(UNIX AND NOT WANT_FRAMEWORKS AND NOT IPHONE) -- set(INSTALL_PKG_CONFIG_FILES true) --endif() --if(CMAKE_CROSSCOMPILING AND CMAKE_HOST_UNIX) -- set(INSTALL_PKG_CONFIG_FILES true) --endif() -+set(INSTALL_PKG_CONFIG_FILES true) - - if(INSTALL_PKG_CONFIG_FILES) - append_lib_type_suffix(lib_type) -diff --git a/cmake/Common.cmake b/cmake/Common.cmake -index 782196f..de29535 100644 ---- a/cmake/Common.cmake -+++ b/cmake/Common.cmake -@@ -223,7 +223,7 @@ function(install_our_library target filename) - # PUBLIC_HEADER DESTINATION "include" - ) - if(MSVC AND BUILD_SHARED_LIBS) -- install(FILES ${CMAKE_BINARY_DIR}/lib/\${CMAKE_INSTALL_CONFIG_NAME}/${filename}.pdb -+ install(FILES ${CMAKE_BINARY_DIR}/lib/${filename}.pdb - DESTINATION lib - CONFIGURATIONS Debug RelWithDebInfo - ) 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/msvc-arm64-atomic.patch b/ports/allegro5/msvc-arm64-atomic.patch new file mode 100644 index 00000000000000..7b8a074b5ef040 --- /dev/null +++ b/ports/allegro5/msvc-arm64-atomic.patch @@ -0,0 +1,13 @@ +diff --git a/include/allegro5/internal/aintern_atomicops.h b/include/allegro5/internal/aintern_atomicops.h +index 5054552..a4310f1 100644 +--- a/include/allegro5/internal/aintern_atomicops.h ++++ b/include/allegro5/internal/aintern_atomicops.h +@@ -49,7 +49,7 @@ + return old - 1; + }) + +-#elif defined(_MSC_VER) && _M_IX86 >= 400 ++#elif defined(_MSC_VER) && (_M_IX86 >= 400 || defined(_M_ARM64)) + + /* MSVC, x86 */ + /* MinGW supports these too, but we already have asm code above. */ diff --git a/ports/allegro5/portfile.cmake b/ports/allegro5/portfile.cmake index 7748a4831ab876..f91e20f1559c2a 100644 --- a/ports/allegro5/portfile.cmake +++ b/ports/allegro5/portfile.cmake @@ -1,75 +1,63 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO liballeg/allegro5 - REF 5.2.6.0 - SHA512 d590c1a00d1b314c6946e0f6ad3e3a8b6e6309bada2ec38857186f817147ac99dae8a1c4412abe701af88da5dca3dd8f989a1da66630192643d3c08c0146b603 + REF ${VERSION} + SHA512 5466e547a20bf22d606a385eeb9facc57b43c7f64689c724f82a572d4730dc62b2860829435b739a716ebca85fdc01c071f3e630048cdfd4799157e61fe815e9 HEAD_REF master PATCHES - fix-pdb-install.patch + do-not-copy-pdbs-to-lib.patch + msvc-arm64-atomic.patch + minimp3-fix.patch ) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - set(VCPKG_BUILD_SHARED_LIBS ON) -else() - set(VCPKG_BUILD_SHARED_LIBS OFF) +if(VCPKG_TARGET_IS_ANDROID AND NOT ENV{ANDROID_HOME}) + message(FATAL_ERROR "${PORT} requires environment variable ANDROID_HOME to be set." ) endif() -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +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 - -DWANT_DOCS=OFF + "-DCMAKE_PROJECT_INCLUDE=${CMAKE_CURRENT_LIST_DIR}/cmake-project-include.cmake" + -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} + -DWANT_DOCS=OFF -DWANT_EXAMPLES=OFF - -DWANT_CURL_EXAMPLE=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_GLES2=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 - -DOPENAL_INCLUDE_DIR=${CURRENT_INSTALLED_DIR}/include/AL - -DZLIB_INCLUDE_DIR=${CURRENT_INSTALLED_DIR}/include - OPTIONS_RELEASE -DWANT_ALLOW_SSE=ON - OPTIONS_DEBUG -DWANT_ALLOW_SSE=OFF ) -vcpkg_install_cmake() -vcpkg_fixup_pkgconfig() - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(GLOB PDB_GLOB ${CURRENT_BUILDTREES_DIR}-dbg/lib/*.pdb) -file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}-dbg/lib/Debug) -file(COPY ${PDB_GLOB} DESTINATION ${CURRENT_BUILDTREES_DIR}-dbg/lib/Debug) +vcpkg_cmake_install() vcpkg_copy_pdbs() -file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/allegro5 RENAME copyright) +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") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") diff --git a/ports/allegro5/vcpkg.json b/ports/allegro5/vcpkg.json index fe3541d84aa038..8e5ba134cf6c84 100644 --- a/ports/allegro5/vcpkg.json +++ b/ports/allegro5/vcpkg.json @@ -1,22 +1,66 @@ { "name": "allegro5", - "version": "5.2.6.0", + "version": "5.2.9.1", "port-version": 1, "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", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "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/alpaca/portfile.cmake b/ports/alpaca/portfile.cmake new file mode 100644 index 00000000000000..139d7d00152747 --- /dev/null +++ b/ports/alpaca/portfile.cmake @@ -0,0 +1,28 @@ +#header-only library +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO p-ranav/alpaca + REF v${VERSION} + SHA512 3c61bd177f4118d8e270df24285d59e294d9eeb25daddac2d39d867188699955422fee92c875961c0fd1a77b46fe8d866310e578fd201e566e57c00539f85cfd + HEAD_REF master +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DALPACA_BUILD_TESTS=OFF + -DALPACA_BUILD_BENCHMARKS=OFF + -DALPACA_BUILD_SAMPLES=OFF +) + +vcpkg_cmake_install() + +#Copy missing details/types folder from source path +file(COPY "${SOURCE_PATH}/include/alpaca/detail/types" DESTINATION "${CURRENT_PACKAGES_DIR}/include/alpaca/detail/") + +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/alpaca PACKAGE_NAME alpaca) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug" "${CURRENT_PACKAGES_DIR}/lib") + +# Handle copyright +configure_file("${SOURCE_PATH}/LICENSE" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) diff --git a/ports/alpaca/vcpkg.json b/ports/alpaca/vcpkg.json new file mode 100644 index 00000000000000..9dcb72b8db8af4 --- /dev/null +++ b/ports/alpaca/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "alpaca", + "version": "0.2.1", + "description": "Alpaca is a serialization library written in C++17 - Pack C++ structs into a compact byte-array without any macros or boilerplate code", + "homepage": "https://github.com/p-ranav/alpaca", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/alpaka/portfile.cmake b/ports/alpaka/portfile.cmake new file mode 100644 index 00000000000000..f4468234fb5169 --- /dev/null +++ b/ports/alpaka/portfile.cmake @@ -0,0 +1,21 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO alpaka-group/alpaka + REF ${VERSION} + SHA512 ef161c43cafaa4e6cfa8944855dbdafe260d97b23e9275716608301ffffc0f088a3f8bf2f01dc34c38639cf40fe4266e4f48126684ba824a6db6ef3c13fd873f + HEAD_REF develop +) +set(VCPKG_BUILD_TYPE release) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}") + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/alpaka") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") +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/alpaka/usage b/ports/alpaka/usage new file mode 100644 index 00000000000000..dff3ff38094f9a --- /dev/null +++ b/ports/alpaka/usage @@ -0,0 +1,4 @@ +alpaka provides CMake targets: + + find_package(alpaka CONFIG REQUIRED) + target_link_libraries(main PRIVATE alpaka::alpaka) diff --git a/ports/alpaka/vcpkg.json b/ports/alpaka/vcpkg.json new file mode 100644 index 00000000000000..ec811a86a87fd9 --- /dev/null +++ b/ports/alpaka/vcpkg.json @@ -0,0 +1,25 @@ +{ + "name": "alpaka", + "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", + "dependencies": [ + { + "name": "boost-core", + "version>=": "1.74.0" + }, + { + "name": "boost-predef", + "version>=": "1.74.0" + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/alsa/0001-control-empty-fix-the-static-build.patch b/ports/alsa/0001-control-empty-fix-the-static-build.patch deleted file mode 100644 index c5ec3d124ac1ac..00000000000000 --- a/ports/alsa/0001-control-empty-fix-the-static-build.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 81e7923fbfad45b2f353a4d6e3053af51f5f7d0b Mon Sep 17 00:00:00 2001 -From: Jaroslav Kysela -Date: Tue, 15 Jun 2021 23:21:42 +0200 -Subject: [PATCH] control: empty - fix the static build - -Reported-by: Jan Palus -Fixes: https://github.com/alsa-project/alsa-lib/issues/157 -Signed-off-by: Jaroslav Kysela ---- - src/control/control_empty.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/control/control_empty.c b/src/control/control_empty.c -index 49d1026c..c9b048c1 100644 ---- a/src/control/control_empty.c -+++ b/src/control/control_empty.c -@@ -30,7 +30,7 @@ - - #ifndef PIC - /* entry for static linking */ --const char *_snd_module_ctl_empty = ""; -+const char *_snd_module_control_empty = ""; - #endif - - /*! \page control_plugins --- -2.33.0 - diff --git a/ports/alsa/fix-plugin-dir.patch b/ports/alsa/fix-plugin-dir.patch new file mode 100644 index 00000000000000..9194a90b386741 --- /dev/null +++ b/ports/alsa/fix-plugin-dir.patch @@ -0,0 +1,47 @@ +diff --git a/src/dlmisc.c b/src/dlmisc.c +index f64c716..a413233 100644 +--- a/src/dlmisc.c ++++ b/src/dlmisc.c +@@ -34,6 +34,9 @@ + #endif + #include + ++#include ++#include ++ + #if defined(HAVE_LIBDL) && defined(__GLIBC__) && !defined(__UCLIBC__) + #define DL_ORIGIN_AVAILABLE 1 + #endif +@@ -79,6 +82,16 @@ static void snd_dlinfo_origin(char *path, size_t path_len) + #endif + } + ++static unsigned int checkExist(const char* dirName) { ++ DIR* dir = opendir(dirName); ++ if(dir) { ++ closedir(dir); ++ return 1; ++ } else { ++ return 0; ++ } ++} ++ + /** + * + * \brief Compose the dynamic path +@@ -94,8 +107,14 @@ int snd_dlpath(char *path, size_t path_len, const char *name) + const char *env = getenv("ALSA_PLUGIN_DIR"); + if (env) { + snd_plugin_dir = strdup(env); ++ } else if(checkExist(ALSA_PLUGIN_DIR) ) { ++ snd_plugin_dir = strdup(ALSA_PLUGIN_DIR); ++ } else if(sizeof(void*) == 8 && checkExist("/usr/lib64/alsa-lib") ) { ++ snd_plugin_dir = strdup("/usr/lib64/alsa-lib"); ++ } else if(sizeof(void*) == 4 && checkExist("/usr/lib32/alsa-lib") ) { ++ snd_plugin_dir = strdup("/usr/lib32/alsa-lib"); + } else { +- snd_dlinfo_origin(path, path_len); ++ snd_plugin_dir = strdup("/usr/lib/alsa-lib"); + } + snd_plugin_dir_set = 1; + } 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 c0e6f2f3dacc6d..1b6922c12d3ad2 100644 --- a/ports/alsa/portfile.cmake +++ b/ports/alsa/portfile.cmake @@ -1,28 +1,48 @@ -if(NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") - message(FATAL_ERROR "Package only supports Linux platform.") -endif() - message( -"alsa currently requires the following libraries from the system package manager: - autoconf libtool -These can be installed on Ubuntu systems via sudo apt install autoconf libtool" +"alsa 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" +) + +vcpkg_download_distfile(ALSA_VERSION_SCRIPT_PATCH + URLS https://github.com/alsa-project/alsa-lib/commit/2a736a0d2543f206fd2653aaae8a08a4c42eb917.diff?full_index=1 + FILENAME alsa-version-script-2a736a.patch + SHA512 d3f2c73b8e8fbae36de43c1db6b59489a0a28c1bc7992f13f40e83f64dfcaaee2d6688b7133668f54685e2d92a2cc06ad03b2efdb40c3c1da7f020f9f0a04de7 ) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO alsa-project/alsa-lib - REF v1.2.5.1 - SHA512 1c8613e520bd24ec2332b677a35d1c49171781f6408be61c79ec90d143d424d8df6e1c9e22e082d331022e0fe858145f7ea214a7b731ed5e306762194b49d50e + REF "v${VERSION}" + SHA512 da9277007dd3b197fcafb748ced4ace89fdb1ab5eafae7596e91935ee9fb410be54fa76aabe86cdd83227e48cd073a7df319e90bdf06fa2da7c97470c085645d HEAD_REF master PATCHES - 0001-control-empty-fix-the-static-build.patch + fix-plugin-dir.patch + libdl.diff + ${ALSA_VERSION_SCRIPT_PATCH} ) -if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - set(BUILD_OPTS --enable-shared=yes --enable-static=no) +if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + set(ALSA_PLUGIN_DIR "/usr/lib/x86_64-linux-gnu/alsa-lib") +elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") + set(ALSA_PLUGIN_DIR "/usr/lib/aarch64-linux-gnu/alsa-lib") +elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") + set(ALSA_PLUGIN_DIR "/usr/lib/arm-linux-gnueabihf/alsa-lib") +elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "s390x") + set(ALSA_PLUGIN_DIR "/usr/lib/s390x-linux-gnu/alsa-lib") +elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "ppc64le") + set(ALSA_PLUGIN_DIR "/usr/lib/powerpc64le-linux-gnu/alsa-lib") else() - set(BUILD_OPTS --enable-shared=no --enable-static=yes) + set(ALSA_PLUGIN_DIR "/usr/lib/alsa-lib") endif() +set(ALSA_CONFIG_DIR "/usr/share/alsa") vcpkg_configure_make( SOURCE_PATH "${SOURCE_PATH}" @@ -30,13 +50,21 @@ vcpkg_configure_make( OPTIONS ${BUILD_OPTS} --disable-python + "--with-configdir=${ALSA_CONFIG_DIR}" + "--with-plugindir=${ALSA_PLUGIN_DIR}" ) vcpkg_install_make() 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/tools/alsa/debug") +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/debug/tools/alsa/debug" +) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") -configure_file("${SOURCE_PATH}/COPYING" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/alsa/usage b/ports/alsa/usage new file mode 100644 index 00000000000000..7a69ce572b2582 --- /dev/null +++ b/ports/alsa/usage @@ -0,0 +1,4 @@ +alsa is compatible with built-in CMake targets: + + 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 new file mode 100644 index 00000000000000..ae3b078abeb6a4 --- /dev/null +++ b/ports/alsa/vcpkg-cmake-wrapper.cmake @@ -0,0 +1,96 @@ +find_path( + ALSA_INCLUDE_DIR + NAMES alsa/asoundlib.h + PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include" + NO_DEFAULT_PATH +) + +find_library( + ALSA_LIBRARY_DEBUG + NAMES asound + PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/lib" + NO_DEFAULT_PATH +) + +find_library( + ALSA_LIBRARY_RELEASE + NAMES asound + PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib" + NO_DEFAULT_PATH +) + +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() + +_find_package(${ARGS}) + +if(TARGET ALSA::ALSA) + if(ALSA_LIBRARY_DEBUG) + set_property( + TARGET ALSA::ALSA + APPEND + PROPERTY IMPORTED_CONFIGURATIONS DEBUG + ) + set_target_properties( + ALSA::ALSA + PROPERTIES + IMPORTED_LOCATION_DEBUG "${ALSA_LIBRARY_DEBUG}" + ) + endif() + if(ALSA_LIBRARY_RELEASE) + set_property( + TARGET ALSA::ALSA + APPEND + PROPERTY IMPORTED_CONFIGURATIONS RELEASE + ) + set_target_properties( + ALSA::ALSA + PROPERTIES + IMPORTED_LOCATION_RELEASE "${ALSA_LIBRARY_RELEASE}" + ) + endif() + + find_library(Z_VCPKG_HAS_LIBM NAMES m) + if(Z_VCPKG_HAS_LIBM) + list(APPEND ALSA_LIBRARIES m) + set_property( + TARGET ALSA::ALSA + APPEND + PROPERTY INTERFACE_LINK_LIBRARIES m + ) + endif() + + if(CMAKE_DL_LIBS) + list(APPEND ALSA_LIBRARIES ${CMAKE_DL_LIBS}) + set_property( + TARGET ALSA::ALSA + APPEND + PROPERTY INTERFACE_LINK_LIBRARIES ${CMAKE_DL_LIBS} + ) + endif() + + find_package(Threads) + if(TARGET Threads::Threads) + list(APPEND ALSA_LIBRARIES Threads::Threads) + set_property( + TARGET ALSA::ALSA + APPEND + PROPERTY INTERFACE_LINK_LIBRARIES Threads::Threads + ) + endif() + + find_library(Z_VCPKG_HAS_LIBRT NAMES rt) + if(Z_VCPKG_HAS_LIBRT) + list(APPEND ALSA_LIBRARIES rt) + set_property( + TARGET ALSA::ALSA + APPEND + PROPERTY INTERFACE_LINK_LIBRARIES rt + ) + endif() +endif() diff --git a/ports/alsa/vcpkg.json b/ports/alsa/vcpkg.json index 6590e42eb6a6df..57d4b63c17e6f0 100644 --- a/ports/alsa/vcpkg.json +++ b/ports/alsa/vcpkg.json @@ -1,7 +1,9 @@ { "name": "alsa", - "version": "1.2.5.1", + "version": "1.2.11", + "port-version": 2, "description": "The Advanced Linux Sound Architecture (ALSA) - library", "homepage": "https://www.alsa-project.org/", + "license": "LGPL-2.1-or-later", "supports": "linux" } diff --git a/ports/amd-adl-sdk/portfile.cmake b/ports/amd-adl-sdk/portfile.cmake new file mode 100644 index 00000000000000..655cbfa25a363e --- /dev/null +++ b/ports/amd-adl-sdk/portfile.cmake @@ -0,0 +1,16 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO GPUOpen-LibrariesAndSDKs/display-library + REF "${VERSION}" + SHA512 805bc1a7f221b33955d79943833d04838b459f316c2a9ad5fa1831588b07c0bbe5975aca07c90117c10c6ff22ee12a69d5a26a75e7191eb6c40c1dccccd192af + HEAD_REF master +) + +# Install the ADL headers to the default vcpkg location +file(INSTALL "${SOURCE_PATH}/include/" DESTINATION "${CURRENT_PACKAGES_DIR}/include") + +file(WRITE "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" [[As of 2023-07-25, according to +https://github.com/GPUOpen-LibrariesAndSDKs/display-library/blob/master/Public-Documents/README.md#end-user-license-agreement +this software is bound by the "SOFTWARE DEVELOPMENT KIT LICENSE AGREEMENT" PDF located at +https://github.com/GPUOpen-LibrariesAndSDKs/display-library/blob/master/Public-Documents/ADL%20SDK%20EULA.pdf +]]) diff --git a/ports/amd-adl-sdk/vcpkg.json b/ports/amd-adl-sdk/vcpkg.json new file mode 100644 index 00000000000000..a0e1666f3b6bbb --- /dev/null +++ b/ports/amd-adl-sdk/vcpkg.json @@ -0,0 +1,8 @@ +{ + "name": "amd-adl-sdk", + "version": "17.1", + "description": "AMD Display Library (ADL) SDK", + "homepage": "https://gpuopen.com/adl/", + "license": null, + "supports": "!osx" +} diff --git a/ports/amd-amf/portfile.cmake b/ports/amd-amf/portfile.cmake new file mode 100644 index 00000000000000..107275963a34f0 --- /dev/null +++ b/ports/amd-amf/portfile.cmake @@ -0,0 +1,11 @@ +vcpkg_from_github( + 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 +file(INSTALL "${SOURCE_PATH}/amf/public/include/" DESTINATION "${CURRENT_PACKAGES_DIR}/include/AMF") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") diff --git a/ports/amd-amf/vcpkg.json b/ports/amd-amf/vcpkg.json new file mode 100644 index 00000000000000..3b1a4311b387d3 --- /dev/null +++ b/ports/amd-amf/vcpkg.json @@ -0,0 +1,8 @@ +{ + "name": "amd-amf", + "version": "1.4.35", + "description": "AMD Advanced Media Framework headers", + "homepage": "https://github.com/GPUOpen-LibrariesAndSDKs/AMF", + "license": "MIT", + "supports": "!osx" +} 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 96af62c254b2b1..bd978d9d50cacf 100644 --- a/ports/ampl-asl/portfile.cmake +++ b/ports/ampl-asl/portfile.cmake @@ -1,23 +1,18 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -vcpkg_fail_port_install(ON_TARGET "UWP") - 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_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_MCMODELLARGE=OFF -DBUILD_DYNRT_LIBS=OFF # CRT linkage uses C/CXX FLAGS in vcpkg @@ -25,13 +20,12 @@ vcpkg_configure_cmake( -DBUILD_CPP=ON ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-asl TARGET_PATH share/unofficial-asl) +vcpkg_cmake_config_fixup() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +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 5a9827dfdb2596..7e868c6fa44331 100644 --- a/ports/ampl-asl/vcpkg.json +++ b/ports/ampl-asl/vcpkg.json @@ -1,8 +1,18 @@ { "name": "ampl-asl", - "version-string": "2020-11-11", - "port-version": 1, + "version-date": "2024-02-01", "description": "AMPL Solver Library", "homepage": "https://github.com/ampl/asl", - "supports": "!uwp" + "license": "BSD-3-Clause", + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } 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-arm-build.patch b/ports/ampl-mp/fix-arm-build.patch index 443cdc457c8f35..99b236ce736262 100644 --- a/ports/ampl-mp/fix-arm-build.patch +++ b/ports/ampl-mp/fix-arm-build.patch @@ -2,6 +2,12 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt index 92089a3..d4c6762 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt +@@ -240,4 +240,4 @@ + set(MP_EXPR_INFO_FILE ${MP_SOURCE_DIR}/src/expr-info.cc) +-add_executable(gen-expr-info EXCLUDE_FROM_ALL ++add_executable(gen-expr-info + src/gen-expr-info.cc $) + if (MINGW) @@ -257,9 +257,15 @@ if (CMAKE_CROSSCOMPILING) COMMAND ${CMAKE_COMMAND} -E echo "warning: cannot re-generate ${MP_EXPR_INFO_FILE}") 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 730e687e62bf2d..bf1bff515d4c6c 100644 --- a/ports/ampl-mp/portfile.cmake +++ b/ports/ampl-mp/portfile.cmake @@ -1,7 +1,5 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -vcpkg_fail_port_install(ON_TARGET "UWP") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ampl/mp @@ -15,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}) @@ -23,9 +22,8 @@ if (NOT TARGET_TRIPLET STREQUAL HOST_TRIPLET) endif() endif() -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD=no -DBUILD_TESTING=OFF @@ -33,20 +31,20 @@ vcpkg_configure_cmake( -DARITHCHK_EXEC=${ARITHCHK_EXEC} ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() vcpkg_copy_tools(TOOL_NAMES gen-expr-info AUTO_CLEAN) -vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-mp TARGET_PATH share/unofficial-mp) +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-mp) file(REMOVE_RECURSE - ${CURRENT_PACKAGES_DIR}/debug/include - ${CURRENT_PACKAGES_DIR}/debug/share + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" # remove amplsig.dll and cp.dll, see https://github.com/ampl/mp/issues/130 - ${CURRENT_PACKAGES_DIR}/debug/bin - ${CURRENT_PACKAGES_DIR}/bin + "${CURRENT_PACKAGES_DIR}/debug/bin" + "${CURRENT_PACKAGES_DIR}/bin" ) -configure_file(${SOURCE_PATH}/LICENSE.rst ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) \ No newline at end of file +configure_file("${SOURCE_PATH}/LICENSE.rst" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) diff --git a/ports/ampl-mp/vcpkg.json b/ports/ampl-mp/vcpkg.json index 8e97a5ce05982a..69fcb6171c3088 100644 --- a/ports/ampl-mp/vcpkg.json +++ b/ports/ampl-mp/vcpkg.json @@ -1,7 +1,7 @@ { "name": "ampl-mp", - "version-string": "2020-11-11", - "port-version": 1, + "version-date": "2020-11-11", + "port-version": 5, "description": "An open-source library for mathematical programming", "homepage": "https://github.com/ampl/mp", "supports": "!uwp", @@ -10,6 +10,14 @@ { "name": "ampl-mp", "host": true + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true } ] } diff --git a/ports/amqpcpp/fix-max_min_macros.patch b/ports/amqpcpp/fix-max_min_macros.patch new file mode 100644 index 00000000000000..4d1e2ae205af37 --- /dev/null +++ b/ports/amqpcpp/fix-max_min_macros.patch @@ -0,0 +1,31 @@ +diff --git a/include/amqpcpp/message.h b/include/amqpcpp/message.h +index 0a35838..96b43e1 100644 +--- a/include/amqpcpp/message.h ++++ b/include/amqpcpp/message.h +@@ -80,7 +80,7 @@ protected: + // safety-check: on 32-bit platforms size_t is obviously also a 32-bit dword + // in which case casting the uint64_t to a size_t could result in truncation + // here we check whether the given size fits inside a size_t +- if (std::numeric_limits::max() < size) throw std::runtime_error("message is too big for this system"); ++ if ((std::numeric_limits::max)() < size) throw std::runtime_error("message is too big for this system"); + + // store the new size + _bodySize = size; +@@ -98,7 +98,7 @@ protected: + if (_mutableBody) + { + // prevent overflow +- size = std::min(size, _bodySize - _filled); ++ size = (std::min)(size, _bodySize - _filled); + + // append more data + memcpy(_mutableBody + _filled, buffer, (size_t)size); +@@ -121,7 +121,7 @@ protected: + _body = _mutableBody; + + // store the initial data +- _filled = std::min((size_t)size, (size_t)_bodySize); ++ _filled = (std::min)((size_t)size, (size_t)_bodySize); + memcpy(_mutableBody, buffer, _filled); + } + diff --git a/ports/amqpcpp/portfile.cmake b/ports/amqpcpp/portfile.cmake index b4a0a110e02d85..dbe9e20b02689b 100644 --- a/ports/amqpcpp/portfile.cmake +++ b/ports/amqpcpp/portfile.cmake @@ -1,15 +1,14 @@ -vcpkg_fail_port_install(ON_TARGET "UWP") - vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO CopernicaMarketingSoftware/AMQP-CPP - REF b891cc37a6ff63fcff59a112de281f5964344c91 #v4.3.15 - SHA512 5c55285e2445752669bfe51a276c3c9cb294eeae74e05124fa7427737e43419493b8a8e199bedba9ab7fba5822a8da530ca442afdbe45d12c2c0c54f9fd59a0c + REF "v${VERSION}" + SHA512 0fb280bfea6dc665d44efa7321a4b69c130a5f0b10be7ada7909e00ec8a3ca0b98125bd96475386f1b3627bac9f8e5c9bbd71b462868b46919737da32e021cb4 HEAD_REF master PATCHES find-openssl.patch + fix-max_min_macros.patch ) if(VCPKG_TARGET_IS_LINUX) @@ -19,7 +18,7 @@ else() endif() vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DAMQP-CPP_BUILD_SHARED=OFF -DAMQP-CPP_LINUX_TCP=${LINUX_TCP} @@ -28,8 +27,9 @@ vcpkg_cmake_configure( vcpkg_cmake_install() vcpkg_cmake_config_fixup(CONFIG_PATH cmake) -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) 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}/LICENSE") diff --git a/ports/amqpcpp/vcpkg.json b/ports/amqpcpp/vcpkg.json index c34f008483c073..3149d38556ffd7 100644 --- a/ports/amqpcpp/vcpkg.json +++ b/ports/amqpcpp/vcpkg.json @@ -1,8 +1,9 @@ { "name": "amqpcpp", - "version": "4.3.15", + "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", "supports": "!uwp", "dependencies": [ "openssl", diff --git a/ports/anari/portfile.cmake b/ports/anari/portfile.cmake new file mode 100644 index 00000000000000..baa13fd6c9d601 --- /dev/null +++ b/ports/anari/portfile.cmake @@ -0,0 +1,44 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO KhronosGroup/ANARI-SDK + REF "v${VERSION}" + SHA512 cf2c2e044b04d695e0a6c6c1abfb3495ea0996a018742ad3a6baccc6e0e3e9b83cb91b61eda8cf07e8f67f4beba24d07d927697a27606ae008a85fee9fa64fa8 + HEAD_REF main +) + +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 + -DBUILD_CTS=OFF + -DBUILD_EXAMPLES=OFF + -DBUILD_HELIDE_DEVICE=OFF + -DBUILD_TESTING=OFF + -DBUILD_VIEWER=OFF +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup( + CONFIG_PATH "lib/cmake/${PORT}-${VERSION}" +) +vcpkg_fixup_pkgconfig() +vcpkg_copy_pdbs() + +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() + +vcpkg_install_copyright( + FILE_LIST "${SOURCE_PATH}/LICENSE" +) diff --git a/ports/anari/vcpkg.json b/ports/anari/vcpkg.json new file mode 100644 index 00000000000000..d4610b6e4b32df --- /dev/null +++ b/ports/anari/vcpkg.json @@ -0,0 +1,19 @@ +{ + "name": "anari", + "version": "0.10.0", + "description": "Cross-Platform 3D Rendering Engine API.", + "homepage": "https://www.khronos.org/anari", + "license": "Apache-2.0", + "dependencies": [ + "glm", + "python3", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/anax/osx-arm.patch b/ports/anax/osx-arm.patch new file mode 100644 index 00000000000000..450cd82e200371 --- /dev/null +++ b/ports/anax/osx-arm.patch @@ -0,0 +1,15 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d427767..80965bc 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -154,10 +154,6 @@ set_target_properties(${ANAX_LIBRARY_NAME} PROPERTIES + SOVERSION ${ANAX_VERSION_MAJOR} + ) + +-if(APPLE) +- set_target_properties(${ANAX_LIBRARY_NAME} PROPERTIES OSX_ARCHITECTURES "i386;x86_64;") +-endif() +- + # Library files + install( + TARGETS ${ANAX_LIBRARY_NAME} diff --git a/ports/anax/portfile.cmake b/ports/anax/portfile.cmake index 411e0483078f4a..56c9156b8daa98 100644 --- a/ports/anax/portfile.cmake +++ b/ports/anax/portfile.cmake @@ -8,20 +8,19 @@ vcpkg_from_github( HEAD_REF master PATCHES Add-bin-output.patch + osx-arm.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" DISABLE_PARALLEL_CONFIGURE ) -vcpkg_install_cmake() +vcpkg_cmake_install() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") # Handle copyright -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/anax) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/anax/LICENSE ${CURRENT_PACKAGES_DIR}/share/anax/copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) vcpkg_copy_pdbs() diff --git a/ports/anax/vcpkg.json b/ports/anax/vcpkg.json index 1b44cd38d6e519..fbaeb17bbe40e1 100644 --- a/ports/anax/vcpkg.json +++ b/ports/anax/vcpkg.json @@ -1,7 +1,14 @@ { "name": "anax", - "version-string": "2.1.0", - "port-version": 7, + "version": "2.1.0", + "port-version": 8, "description": "An open source C++ entity system.", - "homepage": "https://github.com/miguelmartin75/anax" + "homepage": "https://github.com/miguelmartin75/anax", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/angelscript/LICENSE b/ports/angelscript/LICENSE deleted file mode 100644 index ea549c6e657dd9..00000000000000 --- a/ports/angelscript/LICENSE +++ /dev/null @@ -1,13 +0,0 @@ -AngelCode Scripting Library - -Copyright © 2003-2018 Andreas Jönsson - -This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: - - The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. - - Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. - - This notice may not be removed or altered from any source distribution. diff --git a/ports/angelscript/fix-dependency.patch b/ports/angelscript/fix-dependency.patch new file mode 100644 index 00000000000000..be5213f84a5f18 --- /dev/null +++ b/ports/angelscript/fix-dependency.patch @@ -0,0 +1,9 @@ +diff --git a/angelscript/projects/cmake/cmake/AngelscriptConfig.cmake b/angelscript/projects/cmake/cmake/AngelscriptConfig.cmake +index 4d1ef0f..ec14fe9 100644 +--- a/angelscript/projects/cmake/cmake/AngelscriptConfig.cmake ++++ b/angelscript/projects/cmake/cmake/AngelscriptConfig.cmake +@@ -1,2 +1,4 @@ + include("${CMAKE_CURRENT_LIST_DIR}/AngelscriptTargets.cmake") ++include(CMakeFindDependencyMacro) ++find_dependency(Threads REQUIRED) + diff --git a/ports/angelscript/portfile.cmake b/ports/angelscript/portfile.cmake index ab35b4c1b83e3d..437c5f90f5d327 100644 --- a/ports/angelscript/portfile.cmake +++ b/ports/angelscript/portfile.cmake @@ -1,33 +1,30 @@ -vcpkg_fail_port_install(ON_ARCH "arm") - vcpkg_download_distfile(ARCHIVE - URLS "https://angelcode.com/angelscript/sdk/files/angelscript_2.35.0.zip" - FILENAME "angelscript_2.35.0.zip" - SHA512 e54b58e78b21c2ff6aa34d5f55b18fcf8737d057c86aef8901ac0c11f14739fe7f1494f9bcfdbca6a8e54b6d0b36a04dd098780bcd02dea5764fd6d22984b6b0 + URLS "https://angelcode.com/angelscript/sdk/files/angelscript_${VERSION}.zip" + FILENAME "angelscript_${VERSION}.zip" + SHA512 ba7d88a42e1443fd12196da723538b24d999bc7ade92c0231237e4c5b8b0cb586931262c941898c62f454fd453d653724c74b6857e8a43eea6e34669795fc9cd ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" PATCHES - mark-threads-private.patch - precxx11.patch + mark-threads-private.patch + fix-dependency.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH}/angelscript/projects/cmake - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/angelscript/projects/cmake" ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/Angelscript) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/Angelscript) # Copy the addon files if("addons" IN_LIST FEATURES) - file(INSTALL ${SOURCE_PATH}/add_on/ DESTINATION ${CURRENT_PACKAGES_DIR}/include/angelscript FILES_MATCHING PATTERN "*.h" PATTERN "*.cpp") + file(INSTALL "${SOURCE_PATH}/add_on/" DESTINATION "${CURRENT_PACKAGES_DIR}/include/angelscript" FILES_MATCHING PATTERN "*.h" PATTERN "*.cpp") endif() -file(INSTALL ${CURRENT_PORT_DIR}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/docs/manual/doc_license.html") diff --git a/ports/angelscript/precxx11.patch b/ports/angelscript/precxx11.patch deleted file mode 100644 index bd4a93325e963b..00000000000000 --- a/ports/angelscript/precxx11.patch +++ /dev/null @@ -1,78 +0,0 @@ -commit 4684264c7ed39ff397f9c38c64370284ddac44b0 -Author: angelcode -Date: Thu Dec 10 19:13:44 2020 +0000 - - Changed code to be compatible with pre-C++11 - - git-svn-id: https://svn.code.sf.net/p/angelscript/code/trunk@2686 404ce1b2-830e-0410-a2e2-b09542c77caf - -diff --git a/angelscript/source/as_module.cpp b/angelscript/source/as_module.cpp -index 5ec55423..ddd3ed73 100644 ---- a/angelscript/source/as_module.cpp -+++ b/angelscript/source/as_module.cpp -@@ -1536,28 +1536,28 @@ int asCModule::UnbindAllImportedFunctions() - void asCModule::AddClassType(asCObjectType* type) - { - m_classTypes.PushLast(type); -- m_typeLookup.Insert({type->nameSpace, type->name}, type); -+ m_typeLookup.Insert(asSNameSpaceNamePair(type->nameSpace, type->name), type); - } - - // internal - void asCModule::AddEnumType(asCEnumType* type) - { - m_enumTypes.PushLast(type); -- m_typeLookup.Insert({type->nameSpace, type->name}, type); -+ m_typeLookup.Insert(asSNameSpaceNamePair(type->nameSpace, type->name), type); - } - - // internal - void asCModule::AddTypeDef(asCTypedefType* type) - { - m_typeDefs.PushLast(type); -- m_typeLookup.Insert({type->nameSpace, type->name}, type); -+ m_typeLookup.Insert(asSNameSpaceNamePair(type->nameSpace, type->name), type); - } - - // internal - void asCModule::AddFuncDef(asCFuncdefType* type) - { - m_funcDefs.PushLast(type); -- m_typeLookup.Insert({type->nameSpace, type->name}, type); -+ m_typeLookup.Insert(asSNameSpaceNamePair(type->nameSpace, type->name), type); - } - - // internal -@@ -1569,8 +1569,8 @@ void asCModule::ReplaceFuncDef(asCFuncdefType* type, asCFuncdefType* newType) - m_funcDefs[i] = newType; - - // Replace it in the lookup map too -- asSMapNode* result = nullptr; -- if(m_typeLookup.MoveTo(&result, {type->nameSpace, type->name})) -+ asSMapNode* result = 0; -+ if(m_typeLookup.MoveTo(&result, asSNameSpaceNamePair(type->nameSpace, type->name))) - { - asASSERT( result->value == type ); - result->value = newType; -@@ -1581,8 +1581,8 @@ void asCModule::ReplaceFuncDef(asCFuncdefType* type, asCFuncdefType* newType) - // internal - asCTypeInfo *asCModule::GetType(const asCString &type, asSNameSpace *ns) const - { -- asSMapNode* result = nullptr; -- if(m_typeLookup.MoveTo(&result, {ns, type})) -+ asSMapNode* result = 0; -+ if(m_typeLookup.MoveTo(&result, asSNameSpaceNamePair(ns, type))) - { - return result->value; - } -@@ -1592,8 +1592,8 @@ asCTypeInfo *asCModule::GetType(const asCString &type, asSNameSpace *ns) const - // internal - asCObjectType *asCModule::GetObjectType(const char *type, asSNameSpace *ns) const - { -- asSMapNode* result = nullptr; -- if(m_typeLookup.MoveTo(&result, {ns, type})) -+ asSMapNode* result = 0; -+ if(m_typeLookup.MoveTo(&result, asSNameSpaceNamePair(ns, type))) - { - return CastToObjectType(result->value); - } diff --git a/ports/angelscript/vcpkg.json b/ports/angelscript/vcpkg.json index 57d2d13a2c538a..7b0853b40e7a9e 100644 --- a/ports/angelscript/vcpkg.json +++ b/ports/angelscript/vcpkg.json @@ -1,9 +1,20 @@ { "name": "angelscript", - "version-string": "2.35.0", + "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", "supports": "!arm", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], "features": { "addons": { "description": "Installs all addons for use in compiling scripts addons" diff --git a/ports/angle/002-fix-builder-error.patch b/ports/angle/002-fix-builder-error.patch index 8c632d1b095e9c..a6d56ac62f9d09 100644 --- a/ports/angle/002-fix-builder-error.patch +++ b/ports/angle/002-fix-builder-error.patch @@ -26,3 +26,15 @@ index f4bb137f2..86495013b 100644 namespace angle { +diff --git a/include/GLSLANG/ShaderVars.h b/include/GLSLANG/ShaderVars.h +index 94cb93e..5593f66 100644 +--- a/include/GLSLANG/ShaderVars.h ++++ b/include/GLSLANG/ShaderVars.h +@@ -14,6 +14,7 @@ + #include + #include + #include ++#include + + namespace sh + { diff --git a/ports/angle/CMakeLists.txt b/ports/angle/CMakeLists.txt deleted file mode 100644 index 70a2e214361748..00000000000000 --- a/ports/angle/CMakeLists.txt +++ /dev/null @@ -1,737 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(angle CXX C) - -if(WIN32 AND NOT WINDOWS_STORE) - set(WINDOWS_DESKTOP 1) -else() - set(WINDOWS_DESKTOP 0) -endif() - -if(UNIX AND NOT APPLE) - set(LINUX 1) -else() - set(LINUX 0) -endif() - -if(MSVC) - add_compile_options(/d2guard4 /Wv:18 /guard:cf /permissive /bigobj) -else() - set(CMAKE_CXX_STANDARD 17) - set(CMAKE_CXX_STANDARD_REQUIRED ON) - set(CMAKE_POSITION_INDEPENDENT_CODE ON) -endif() - -if (APPLE) - set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -framework Cocoa -framework OpenGL -framework IOKit -framework CoreFoundation -framework IOSurface -framework QuartzCore -framework CoreGraphics") -endif() -set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS}") -set(CMAKE_STATIC_LIBRARY_PREFIX "") - -if (WINDOWS_STORE) - set(WINRT_DEFINES -DANGLE_ENABLE_WINDOWS_UWP -DWINAPI_FAMILY=WINAPI_FAMILY_PC_APP) -else() - set(WINRT_DEFINES) -endif() -add_definitions( - -D_CRT_SECURE_NO_DEPRECATE - -D_SCL_SECURE_NO_WARNINGS - -DGL_SILENCE_DEPRECATION - -D_HAS_EXCEPTIONS=0 - -DNOMINMAX - -DANGLE_STANDALONE_BUILD - ${WINRT_DEFINES} -) -add_compile_options("$<$:-DANGLE_ENABLE_DEBUG_ANNOTATIONS>") -if(WIN32) - add_definitions(-DANGLE_IS_WIN) -endif() -if(LINUX) - add_definitions(-DANGLE_IS_LINUX) -endif() -if(ANGLE_IS_64_BIT_CPU) - add_definitions(-DANGLE_IS_64_BIT_CPU) -elseif(ANGLE_IS_32_BIT_CPU) - add_definitions(-DANGLE_IS_32_BIT_CPU) -endif() - -configure_file(angle_commit.h include/id/commit.h COPYONLY) -#include_directories(include src ${CMAKE_CURRENT_BINARY_DIR}/include) -include_directories("$" "$" "$" "$") -########## -# angle::common -if(WINDOWS_DESKTOP) - set(ANGLE_COMMON_PLATFORM_FILTER "_linux|_apple|_mac|_ios|_posix|_winuwp") -elseif(WINDOWS_STORE) - set(ANGLE_COMMON_PLATFORM_FILTER "_linux|_apple|_mac|_ios|_posix|_win32") -elseif(LINUX) - set(ANGLE_COMMON_PLATFORM_FILTER "_win|_apple|_mac|_ios") -elseif(APPLE) - if(CMAKE_SYSTEM_NAME MATCHES "Darwin") # macOS - set(ANGLE_COMMON_PLATFORM_FILTER "_linux|_win|_ios") - else() # other Apple platforms (iOS, etc) - set(ANGLE_COMMON_PLATFORM_FILTER "_linux|_win|_mac") - endif() -endif() -file(GLOB ANGLE_COMMON_SOURCES - "src/common/*.h" - "src/common/*.inc" - "src/common/*.cpp" - "src/common/third_party/base/anglebase/*.h" - "src/common/third_party/base/anglebase/*.cc" - "src/common/third_party/base/anglebase/containers/*.h" - "src/common/third_party/base/anglebase/numerics/*.h" - "src/common/third_party/base/anglebase/numerics/*.cc" - "src/common/third_party/xxhash/*.h" - "src/common/third_party/xxhash/*.c" - "src/common/third_party/smhasher/src/*.h" - "src/common/third_party/smhasher/src/*.cpp") -list(FILTER ANGLE_COMMON_SOURCES EXCLUDE REGEX "_unittest|event_tracer|${ANGLE_COMMON_PLATFORM_FILTER}") -add_library(angle_common OBJECT ${ANGLE_COMMON_SOURCES}) -target_include_directories(angle_common PUBLIC "$") -add_library(angle::common ALIAS angle_common) - -########## -# angle::compression -file(GLOB ANGLE_COMPRESSION_UTILS_SOURCES "third_party/zlib/google/compression_utils_portable.*") -find_package(ZLIB REQUIRED) -add_library(angle_compression_utils OBJECT ${ANGLE_COMPRESSION_UTILS_SOURCES}) -target_link_libraries(angle_compression_utils PUBLIC ZLIB::ZLIB) -target_compile_definitions(angle_compression_utils PRIVATE - -DUSE_SYSTEM_ZLIB -) -target_include_directories(angle_compression_utils INTERFACE "$") -add_library(angle::compression ALIAS angle_compression_utils) - -########## -# angle::image_util -file(GLOB ANGLE_IMAGE_UTIL_SOURCES "src/image_util/*.h" "src/image_util/*.inc" "src/image_util/*.cpp") -add_library(angle_image_util OBJECT ${ANGLE_IMAGE_UTIL_SOURCES}) -target_link_libraries(angle_image_util PRIVATE angle::common) -add_library(angle::image_util ALIAS angle_image_util) - -########## -# angle::translator -file(GLOB TRANSLATOR_SOURCES - "src/compiler/translator/BaseTypes.h" - "src/compiler/translator/BuiltInFunctionEmulator.cpp" - "src/compiler/translator/BuiltInFunctionEmulator.h" - "src/compiler/translator/CallDAG.cpp" - "src/compiler/translator/CallDAG.h" - "src/compiler/translator/CodeGen.cpp" - "src/compiler/translator/CollectVariables.cpp" - "src/compiler/translator/CollectVariables.h" - "src/compiler/translator/Common.h" - "src/compiler/translator/Compiler.cpp" - "src/compiler/translator/Compiler.h" - "src/compiler/translator/ConstantUnion.cpp" - "src/compiler/translator/ConstantUnion.h" - "src/compiler/translator/Declarator.cpp" - "src/compiler/translator/Declarator.h" - "src/compiler/translator/Diagnostics.cpp" - "src/compiler/translator/Diagnostics.h" - "src/compiler/translator/DirectiveHandler.cpp" - "src/compiler/translator/DirectiveHandler.h" - "src/compiler/translator/ExtensionBehavior.cpp" - "src/compiler/translator/ExtensionBehavior.h" - "src/compiler/translator/FlagStd140Structs.cpp" - "src/compiler/translator/FlagStd140Structs.h" - "src/compiler/translator/FunctionLookup.cpp" - "src/compiler/translator/FunctionLookup.h" - "src/compiler/translator/HashNames.cpp" - "src/compiler/translator/HashNames.h" - "src/compiler/translator/ImmutableString.h" - "src/compiler/translator/ImmutableStringBuilder.cpp" - "src/compiler/translator/ImmutableStringBuilder.h" - "src/compiler/translator/InfoSink.cpp" - "src/compiler/translator/InfoSink.h" - "src/compiler/translator/Initialize.cpp" - "src/compiler/translator/Initialize.h" - "src/compiler/translator/InitializeDll.cpp" - "src/compiler/translator/InitializeDll.h" - "src/compiler/translator/InitializeGlobals.h" - "src/compiler/translator/IntermNode.cpp" - "src/compiler/translator/IntermNode.h" - "src/compiler/translator/IsASTDepthBelowLimit.cpp" - "src/compiler/translator/IsASTDepthBelowLimit.h" - "src/compiler/translator/Operator.cpp" - "src/compiler/translator/Operator.h" - "src/compiler/translator/OutputTree.cpp" - "src/compiler/translator/OutputTree.h" - "src/compiler/translator/ParseContext.cpp" - "src/compiler/translator/ParseContext.h" - "src/compiler/translator/ParseContext_ESSL_autogen.h" - "src/compiler/translator/ParseContext_complete_autogen.h" - "src/compiler/translator/ParseContext_interm.h" - "src/compiler/translator/PoolAlloc.cpp" - "src/compiler/translator/PoolAlloc.h" - "src/compiler/translator/Pragma.h" - "src/compiler/translator/QualifierTypes.cpp" - "src/compiler/translator/QualifierTypes.h" - "src/compiler/translator/Severity.h" - "src/compiler/translator/ShaderLang.cpp" - "src/compiler/translator/ShaderVars.cpp" - "src/compiler/translator/StaticType.h" - "src/compiler/translator/Symbol.cpp" - "src/compiler/translator/Symbol.h" - "src/compiler/translator/SymbolTable.cpp" - "src/compiler/translator/SymbolTable.h" - "src/compiler/translator/SymbolTable_autogen.h" - "src/compiler/translator/SymbolUniqueId.cpp" - "src/compiler/translator/SymbolUniqueId.h" - "src/compiler/translator/TranslatorESSL.h" - "src/compiler/translator/TranslatorGLSL.h" - "src/compiler/translator/TranslatorHLSL.h" - "src/compiler/translator/TranslatorMetal.h" - "src/compiler/translator/TranslatorVulkan.h" - "src/compiler/translator/Types.cpp" - "src/compiler/translator/Types.h" - "src/compiler/translator/ValidateAST.cpp" - "src/compiler/translator/ValidateAST.h" - "src/compiler/translator/ValidateBarrierFunctionCall.cpp" - "src/compiler/translator/ValidateBarrierFunctionCall.h" - "src/compiler/translator/ValidateClipCullDistance.cpp" - "src/compiler/translator/ValidateClipCullDistance.h" - "src/compiler/translator/ValidateGlobalInitializer.cpp" - "src/compiler/translator/ValidateGlobalInitializer.h" - "src/compiler/translator/ValidateLimitations.cpp" - "src/compiler/translator/ValidateLimitations.h" - "src/compiler/translator/ValidateMaxParameters.cpp" - "src/compiler/translator/ValidateMaxParameters.h" - "src/compiler/translator/ValidateOutputs.cpp" - "src/compiler/translator/ValidateOutputs.h" - "src/compiler/translator/ValidateSwitch.cpp" - "src/compiler/translator/ValidateSwitch.h" - "src/compiler/translator/ValidateVaryingLocations.cpp" - "src/compiler/translator/ValidateVaryingLocations.h" - "src/compiler/translator/VariablePacker.cpp" - "src/compiler/translator/VariablePacker.h" - "src/compiler/translator/blocklayout.cpp" - "src/compiler/translator/glslang.h" - "src/compiler/translator/glslang_lex_autogen.cpp" - "src/compiler/translator/glslang_tab_autogen.cpp" - "src/compiler/translator/glslang_tab_autogen.h" - "src/compiler/translator/glslang_wrapper.h" - "src/compiler/translator/length_limits.h" - "src/compiler/translator/tree_ops/*.cpp" - "src/compiler/translator/tree_ops/*.h" - "src/compiler/translator/tree_ops/gl/ClampFragDepth.h" - "src/compiler/translator/tree_ops/gl/RegenerateStructNames.h" - "src/compiler/translator/tree_ops/gl/RewriteRepeatedAssignToSwizzled.h" - "src/compiler/translator/tree_ops/gl/UseInterfaceBlockFields.h" - "src/compiler/translator/tree_ops/gl/VectorizeVectorScalarArithmetic.h" - "src/compiler/translator/tree_ops/gl/mac/AddAndTrueToLoopCondition.h" - "src/compiler/translator/tree_ops/gl/mac/RewriteDoWhile.h" - "src/compiler/translator/tree_ops/gl/mac/UnfoldShortCircuitAST.h" - "src/compiler/translator/tree_ops/vulkan/EarlyFragmentTestsOptimization.h" - "src/compiler/translator/tree_util/*.h" - "src/compiler/translator/tree_util/*.cpp" - "src/compiler/translator/util.cpp" - "src/compiler/translator/util.h" - "src/third_party/compiler/ArrayBoundsClamper.cpp" - "src/third_party/compiler/ArrayBoundsClamper.h" -) -list(FILTER TRANSLATOR_SOURCES EXCLUDE REGEX "_unittest") -file(GLOB TRANSLATOR_GLSL_BASE_SOURCES - "src/compiler/translator/OutputGLSLBase.cpp" - "src/compiler/translator/OutputGLSLBase.h" -) -file(GLOB TRANSLATOR_GLSL_AND_VULKAN_BASE_SOURCES - "src/compiler/translator/BuiltinsWorkaroundGLSL.cpp" - "src/compiler/translator/BuiltinsWorkaroundGLSL.h" - "src/compiler/translator/OutputGLSL.cpp" - "src/compiler/translator/OutputGLSL.h" -) -file(GLOB TRANSLATOR_ESSL_SOURCES - "src/compiler/translator/OutputESSL.cpp" - "src/compiler/translator/OutputESSL.h" - "src/compiler/translator/TranslatorESSL.cpp" - "src/compiler/translator/tree_ops/gl/RecordConstantPrecision.cpp" - "src/compiler/translator/tree_ops/gl/RecordConstantPrecision.h" -) -file(GLOB TRANSLATOR_GLSL_SOURCES - "src/compiler/translator/BuiltInFunctionEmulatorGLSL.cpp" - "src/compiler/translator/BuiltInFunctionEmulatorGLSL.h" - "src/compiler/translator/ExtensionGLSL.cpp" - "src/compiler/translator/ExtensionGLSL.h" - "src/compiler/translator/TranslatorGLSL.cpp" - "src/compiler/translator/VersionGLSL.cpp" - "src/compiler/translator/VersionGLSL.h" - "src/compiler/translator/tree_ops/gl/ClampFragDepth.cpp" - "src/compiler/translator/tree_ops/gl/RegenerateStructNames.cpp" - "src/compiler/translator/tree_ops/gl/RewriteRepeatedAssignToSwizzled.cpp" - "src/compiler/translator/tree_ops/gl/UseInterfaceBlockFields.cpp" - "src/compiler/translator/tree_ops/gl/VectorizeVectorScalarArithmetic.cpp" - "src/compiler/translator/tree_ops/gl/mac/RewriteRowMajorMatrices.h" - "src/compiler/translator/tree_ops/gl/mac/RewriteUnaryMinusOperatorFloat.h" -) -file(GLOB TRANSLATOR_GLSL_MAC_SOURCES - "src/compiler/translator/tree_ops/gl/mac/AddAndTrueToLoopCondition.cpp" - "src/compiler/translator/tree_ops/gl/mac/RewriteDoWhile.cpp" - "src/compiler/translator/tree_ops/gl/mac/RewriteRowMajorMatrices.cpp" - "src/compiler/translator/tree_ops/gl/mac/RewriteUnaryMinusOperatorFloat.cpp" - "src/compiler/translator/tree_ops/gl/mac/UnfoldShortCircuitAST.cpp" -) -file(GLOB TRANSLATOR_HLSL_SOURCES - "src/compiler/translator/*HLSL.h" - "src/compiler/translator/*HLSL.cpp" - "src/compiler/translator/emulated_builtin_functions_hlsl_autogen.cpp" - "src/compiler/translator/tree_ops/d3d/*.cpp" - "src/compiler/translator/tree_ops/d3d/*.h" -) -if(ANDROID) - list(APPEND TRANSLATOR_SOURCES "src/compiler/translator/ImmutableString_ESSL_autogen.cpp" "src/compiler/translator/SymbolTable_ESSL_autogen.cpp") -else() - list(APPEND TRANSLATOR_SOURCES "src/compiler/translator/ImmutableString_autogen.cpp" "src/compiler/translator/SymbolTable_autogen.cpp") -endif() -set(ANGLE_ENABLE_ESSL TRUE) -set(ANGLE_ENABLE_GLSL TRUE) -set(ANGLE_ENABLE_HLSL TRUE) -set(_needs_glsl_base FALSE) -set(_needs_glsl_and_vulkan_base FALSE) -add_library(angle_translator OBJECT ${TRANSLATOR_SOURCES}) -if(ANGLE_ENABLE_ESSL) - set(_needs_glsl_base TRUE) - target_sources(angle_translator PRIVATE ${TRANSLATOR_ESSL_SOURCES}) - target_compile_definitions(angle_translator PUBLIC -DANGLE_ENABLE_ESSL) -endif() -if(ANGLE_ENABLE_GLSL) - set(_needs_glsl_base TRUE) - set(_needs_glsl_and_vulkan_base TRUE) - target_sources(angle_translator PRIVATE ${TRANSLATOR_GLSL_SOURCES}) - if(APPLE) - target_sources(angle_translator PRIVATE ${TRANSLATOR_GLSL_MAC_SOURCES}) - endif() - target_compile_definitions(angle_translator PUBLIC -DANGLE_ENABLE_GLSL) -endif() -if(ANGLE_ENABLE_HLSL) - target_sources(angle_translator PRIVATE ${TRANSLATOR_HLSL_SOURCES}) - target_compile_definitions(angle_translator PUBLIC -DANGLE_ENABLE_HLSL) -endif() -if(_needs_glsl_base) - target_sources(angle_translator PRIVATE ${TRANSLATOR_GLSL_BASE_SOURCES}) -endif() -if(_needs_glsl_and_vulkan_base) - target_sources(angle_translator PRIVATE ${TRANSLATOR_GLSL_AND_VULKAN_BASE_SOURCES}) -endif() -target_link_libraries(angle_translator PRIVATE angle::common) -add_library(angle::translator ALIAS angle_translator) - -########## -# angle::preprocessor -file(GLOB PREPROCESSOR_SOURCES - "src/compiler/preprocessor/*.h" - "src/compiler/preprocessor/*.cpp" -) -add_library(angle_preprocessor OBJECT ${PREPROCESSOR_SOURCES}) -target_link_libraries(angle_preprocessor PRIVATE angle::common) -add_library(angle::preprocessor ALIAS angle_preprocessor) - -########## -# libANGLE - -## OpenGL Renderer -if(WINDOWS_DESKTOP OR LINUX OR APPLE) - if(WINDOWS_DESKTOP) - set(ANGLE_RENDERER_OPENGL_PLATFORM - "src/libANGLE/renderer/gl/wgl/*.cpp" - "src/libANGLE/renderer/gl/wgl/*.h" - ) - elseif(APPLE) - set(ANGLE_RENDERER_OPENGL_PLATFORM - "src/libANGLE/renderer/gl/cgl/*.mm" - "src/libANGLE/renderer/gl/cgl/*.cpp" - "src/libANGLE/renderer/gl/cgl/*.h" - "gpu_info_util/SystemInfo_macos.mm" - ) - elseif(LINUX) - set(ANGLE_RENDERER_OPENGL_PLATFORM - "src/libANGLE/renderer/gl/glx/*.cpp" - "src/libANGLE/renderer/gl/glx/*.h" - "src/libANGLE/renderer/gl/egl/*.cpp" - "src/libANGLE/renderer/gl/egl/*.h" - ) - endif() - - file(GLOB LIBANGLE_GL_SOURCES - "src/libANGLE/renderer/gl/*.cpp" - "src/libANGLE/renderer/gl/*.inc" - "src/libANGLE/renderer/gl/*.h" - - ${ANGLE_RENDERER_OPENGL_PLATFORM} - ) - list(FILTER LIBANGLE_GL_SOURCES EXCLUDE REGEX "_unittest") - add_library(angle_renderer_opengl INTERFACE) - target_sources(angle_renderer_opengl INTERFACE "$") - target_compile_definitions(angle_renderer_opengl INTERFACE -DANGLE_ENABLE_OPENGL -DANGLE_ENABLE_OPENGL_DESKTOP) - add_library(angle::renderer::opengl ALIAS angle_renderer_opengl) -endif() - -# D3D Renderers -if(WIN32) - ## All D3D Sources - file(GLOB_RECURSE LIBANGLE_D3D_SOURCES - "src/libANGLE/renderer/d3d/*.cpp" - "src/libANGLE/renderer/d3d/*.inc" - "src/libANGLE/renderer/d3d/*.h" - ) - list(FILTER LIBANGLE_D3D_SOURCES EXCLUDE REGEX "_unittest") - if(MINGW) - list(FILTER LIBANGLE_D3D_SOURCES EXCLUDE REGEX "CompositorNativeWindow11") - endif() - - ## WinRT D3D Renderer - if(WINDOWS_STORE) - set(LIBANGLE_D3D_WINRT_SOURCES ${LIBANGLE_D3D_SOURCES}) - list(FILTER LIBANGLE_D3D_WINRT_SOURCES INCLUDE REGEX "winrt") - add_library(angle_renderer_winrt INTERFACE) - target_sources(angle_renderer_winrt INTERFACE "$") - add_library(angle::renderer::winrt ALIAS angle_renderer_winrt) - endif() - - ## Win32/d3d9 D3D Renderer - if(WINDOWS_DESKTOP) - set(LIBANGLE_D3D_DESKTOP_SOURCES ${LIBANGLE_D3D_SOURCES}) - list(FILTER LIBANGLE_D3D_DESKTOP_SOURCES INCLUDE REGEX "d3d9|win32") - find_library(D3D9_LIB NAMES d3d9) - add_library(angle_renderer_win32 INTERFACE) - target_sources(angle_renderer_win32 INTERFACE "$") - target_compile_definitions(angle_renderer_win32 INTERFACE -DANGLE_ENABLE_D3D9) - target_link_libraries(angle_renderer_win32 INTERFACE d3d9) - add_library(angle::renderer::win32 ALIAS angle_renderer_win32) - endif() - - ## D3D11 Base renderer - list(FILTER LIBANGLE_D3D_SOURCES EXCLUDE REGEX "winrt|d3d9|win32") - find_library(DXGUID_LIB NAMES dxguid) - find_library(D3D11_LIB NAMES d3d11) - add_library(angle_renderer_d3d INTERFACE) - target_sources(angle_renderer_d3d INTERFACE "$") - target_compile_definitions(angle_renderer_d3d INTERFACE - -DANGLE_ENABLE_D3D11 - "-DANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ \"d3dcompiler_47.dll\", \"d3dcompiler_46.dll\", \"d3dcompiler_43.dll\" }" - ) - if(NOT MINGW) - target_compile_definitions(angle_renderer_d3d INTERFACE - -DANGLE_ENABLE_D3D11_COMPOSITOR_NATIVE_WINDOW - ) - endif() - target_link_libraries(angle_renderer_d3d INTERFACE d3d11 dxguid) - add_library(angle::renderer::d3d ALIAS angle_renderer_d3d) -endif() - -## angle::gpu_info_util -file(GLOB ANGLE_GPU_INFO_UTIL_SOURCES - "src/gpu_info_util/SystemInfo.h" - "src/gpu_info_util/SystemInfo_internal.h" - "src/gpu_info_util/SystemInfo.cpp" -) -add_library(angle_gpu_info_util OBJECT ${ANGLE_GPU_INFO_UTIL_SOURCES}) -if(WIN32) - target_sources(angle_gpu_info_util PRIVATE "src/gpu_info_util/SystemInfo_win.cpp") - target_link_libraries(angle_gpu_info_util PRIVATE setupapi.lib dxgi.lib) -elseif(APPLE) - target_sources(angle_gpu_info_util PRIVATE "src/gpu_info_util/SystemInfo_apple.mm") - if(CMAKE_SYSTEM_NAME MATCHES "Darwin") # macOS - target_sources(angle_gpu_info_util PRIVATE "src/gpu_info_util/SystemInfo_macos.mm") - endif() - find_library(IOKit IOKit) - find_library(CoreFoundation CoreFoundation) - find_library(CoreGraphics CoreGraphics) - target_link_libraries(angle_gpu_info_util PRIVATE ${IOKit} ${CoreFoundation} ${CoreGraphics}) -elseif(LINUX) - target_sources(angle_gpu_info_util PRIVATE "src/gpu_info_util/SystemInfo_linux.cpp" "src/gpu_info_util/SystemInfo_x11.cpp") - target_compile_definitions(angle_gpu_info_util PRIVATE GPU_INFO_USE_X11) - target_link_libraries(angle_gpu_info_util PRIVATE X11 Xi Xext) -elseif(ANDROID) - target_sources(angle_gpu_info_util PRIVATE "src/gpu_info_util/SystemInfo_android.cpp") -endif() -target_link_libraries(angle_gpu_info_util PRIVATE angle::common) -add_library(angle::gpu_info_util ALIAS angle_gpu_info_util) - -## Core libANGLE library -if(WIN32) - if(NOT WINDOWS_STORE) - set(LIBANGLE_SOURCES_PLATFORM - "src/third_party/systeminfo/SystemInfo.cpp" - ) - endif() -elseif(APPLE) - file(GLOB LIBANGLE_SOURCES_PLATFORM - "src/libANGLE/renderer/*.mm" - ) -else() - set(LIBANGLE_SOURCES_PLATFORM) -endif() - -file(GLOB LIBANGLE_SOURCES - "src/common/third_party/murmurhash/MurmurHash3.cpp" - "src/common/event_tracer.cpp" - - "src/libANGLE/*.cpp" - "src/libANGLE/*.inc" - "src/libANGLE/*.h" - - "src/libANGLE/renderer/*.cpp" - "src/libANGLE/renderer/*.h" - - "src/libANGLE/renderer/null/*.cpp" - "src/libANGLE/renderer/null/*.h" - - # The frame capture headers are always visible to libANGLE. - "src/libANGLE/capture/*.h" - - # angle_frame_capture_disabled - "src/libANGLE/capture/FrameCapture_mock.cpp" - "src/libANGLE/capture/frame_capture_utils_mock.cpp" - - # angle_gl_enum_utils - "src/libANGLE/capture/gl_enum_utils.cpp" - "src/libANGLE/capture/gl_enum_utils_autogen.cpp" - - ${LIBANGLE_SOURCES_PLATFORM} -) -list(FILTER LIBANGLE_SOURCES EXCLUDE REGEX "_unittest|glslang_wrapper|dxgi_|d3d_format") -if(WIN32) - set(LIBANGLE_D3D_FORMAT_TABLES_SOURCES_PLATFORM) - if(NOT WINDOWS_STORE) - list(APPEND LIBANGLE_D3D_FORMAT_TABLES_SOURCES_PLATFORM - "src/libANGLE/renderer/d3d_format.cpp" - "src/libANGLE/renderer/d3d_format.h" - ) - endif() - file(GLOB LIBANGLE_D3D_FORMAT_TABLES_SOURCES - "src/libANGLE/renderer/dxgi_format_map.h" - "src/libANGLE/renderer/dxgi_format_map_autogen.cpp" - "src/libANGLE/renderer/dxgi_support_table.h" - "src/libANGLE/renderer/dxgi_support_table_autogen.cpp" - - ${LIBANGLE_D3D_FORMAT_TABLES_SOURCES_PLATFORM} - ) - list(APPEND LIBANGLE_SOURCES "${LIBANGLE_D3D_FORMAT_TABLES_SOURCES}") -endif() - -if(LINUX OR APPLE) - set(LIBANGLE_RENDERER_PLATFORM - angle::renderer::opengl - ) -elseif(WINDOWS_STORE) - set(LIBANGLE_RENDERER_PLATFORM - angle::renderer::d3d - angle::renderer::winrt - ) -elseif(WINDOWS_DESKTOP) - set(LIBANGLE_RENDERER_PLATFORM - angle::renderer::d3d - angle::renderer::win32 - angle::renderer::opengl - gdi32 - ) -else() - set(LIBANGLE_RENDERER_PLATFORM ) -endif() - -if(LINUX) - find_package(X11) - include_directories(${X11_INCLUDE_DIR}) - list(APPEND LIBANGLE_RENDERER_PLATFORM ${X11_LIBRARIES}) - set(LIBANGLE_RENDERER_COMPILEDEF - -DANGLE_USE_X11 - ) -else() - set(LIBANGLE_RENDERER_COMPILEDEF ) -endif() - -add_library(libANGLE STATIC ${LIBANGLE_SOURCES}) -target_link_libraries(libANGLE PRIVATE - angle::common - angle::compression - angle::image_util - angle::gpu_info_util - angle::translator - angle::preprocessor - ${LIBANGLE_RENDERER_PLATFORM} -) -target_include_directories(libANGLE PRIVATE "$") -target_compile_definitions(libANGLE - PRIVATE -DANGLE_ENABLE_NULL - PUBLIC - -DLIBANGLE_IMPLEMENTATION - ${LIBANGLE_RENDERER_COMPILEDEF} - -DANGLE_EXPORT= - -DANGLE_UTIL_EXPORT= - -DEGLAPI= - -DGL_APICALL= - -DGL_API= - -DANGLE_CAPTURE_ENABLED=0 -) -add_library(angle::libANGLE ALIAS libANGLE) -if(BUILD_SHARED_LIBS) - target_compile_definitions(libANGLE - PRIVATE -DLIBANGLE_UTIL_IMPLEMENTATION - ) -endif() - -########## -# libGLESv2 -# Modified according to the file src/libGLESv2.gni -list(APPEND LIBGLESV2_SOURCES - "src/libGLESv2/egl_ext_stubs.cpp" - "src/libGLESv2/egl_ext_stubs_autogen.h" - "src/libGLESv2/egl_stubs.cpp" - "src/libGLESv2/egl_stubs_autogen.h" - "src/libGLESv2/entry_points_egl_autogen.cpp" - "src/libGLESv2/entry_points_egl_autogen.h" - "src/libGLESv2/entry_points_egl_ext_autogen.cpp" - "src/libGLESv2/entry_points_egl_ext_autogen.h" - "src/libGLESv2/entry_points_gles_1_0_autogen.cpp" - "src/libGLESv2/entry_points_gles_1_0_autogen.h" - "src/libGLESv2/entry_points_gles_2_0_autogen.cpp" - "src/libGLESv2/entry_points_gles_2_0_autogen.h" - "src/libGLESv2/entry_points_gles_3_0_autogen.cpp" - "src/libGLESv2/entry_points_gles_3_0_autogen.h" - "src/libGLESv2/entry_points_gles_3_1_autogen.cpp" - "src/libGLESv2/entry_points_gles_3_1_autogen.h" - "src/libGLESv2/entry_points_gles_3_2_autogen.cpp" - "src/libGLESv2/entry_points_gles_3_2_autogen.h" - "src/libGLESv2/entry_points_gles_ext_autogen.cpp" - "src/libGLESv2/entry_points_gles_ext_autogen.h" - "src/libGLESv2/global_state.cpp" - "src/libGLESv2/global_state.h" - "src/libGLESv2/libGLESv2_autogen.cpp" - "src/libGLESv2/proc_table_egl.h" - "src/libGLESv2/proc_table_egl_autogen.cpp" - "src/libGLESv2/resource.h" - "src/libGLESv2/libGLESv2_autogen.def" -) -add_library(libGLESv2 ${LIBGLESV2_SOURCES}) -target_link_libraries(libGLESv2 PRIVATE angle::common angle::libANGLE) -target_compile_definitions(libGLESv2 - PRIVATE -DLIBGLESV2_IMPLEMENTATION - PUBLIC - "-DGL_GLES_PROTOTYPES=1" - "-DGL_GLEXT_PROTOTYPES" - "-DEGL_EGL_PROTOTYPES=1" - "-DEGL_EGLEXT_PROTOTYPES" -) -if(BUILD_SHARED_LIBS) -else() - if(WIN32) - target_compile_definitions(libGLESv2 PRIVATE - "-DGL_API=" - "-DGL_APICALL=" - "-DEGLAPI=" - ) - else() - target_compile_definitions(libGLESv2 PRIVATE - "-DGL_API=__attribute__((visibility(\"default\")))" - "-DGL_APICALL=__attribute__((visibility(\"default\")))" - "-DEGLAPI=__attribute__((visibility(\"default\")))" - ) - endif() -endif() - -target_include_directories(libGLESv2 PUBLIC "$") - -########## -# libEGL -if(WIN32) - set(libEGL_def - "src/libEGL/libEGL_autogen.def" - ) -endif() -add_library(libEGL - "src/libEGL/egl_loader_autogen.h" - "src/libEGL/libEGL_autogen.cpp" - "src/libEGL/resource.h" - "src/libGLESv2/entry_points_egl_autogen.h" - "src/libGLESv2/entry_points_egl_ext_autogen.h" - ${libEGL_def} -) - -target_link_libraries(libEGL PRIVATE angle::common angle::libANGLE libGLESv2) -target_include_directories(libEGL PUBLIC "$" "$") -target_compile_definitions(libEGL - PRIVATE - "-DLIBEGL_IMPLEMENTATION" - PUBLIC - "-DGL_GLES_PROTOTYPES=1" - "-DGL_GLEXT_PROTOTYPES" - "-DEGL_EGL_PROTOTYPES=1" - "-DEGL_EGLEXT_PROTOTYPES" -) -add_library(GL_VISIBILITY INTERFACE) -if(WIN32) - target_compile_definitions(GL_VISIBILITY INTERFACE - "-DGL_API=" - "-DGL_APICALL=") -else() - target_compile_definitions(GL_VISIBILITY INTERFACE - "-DGL_API=__attribute__((visibility(\"default\")))" - "-DGL_APICALL=__attribute__((visibility(\"default\")))") -endif() -target_link_libraries(libEGL PRIVATE GL_VISIBILITY) -target_link_libraries(libGLESv2 PRIVATE GL_VISIBILITY) - -if(WIN32) - target_compile_definitions(libEGL PRIVATE - "-DEGLAPI=" - ) -else() - target_compile_definitions(libEGL PRIVATE - "-DEGLAPI=__attribute__((visibility(\"default\")))" - ) -endif() - -if(NOT BUILD_SHARED_LIBS) - add_definitions("-DANGLE_EXPORT=" "-DANGLE_UTIL_EXPORT=" "-DEGLAPI=" "-DGL_APICALL=" "-DGL_API=") -endif() - -set_target_properties(libANGLE PROPERTIES PREFIX "") -set_target_properties(libGLESv2 PROPERTIES PREFIX "" IMPORT_PREFIX "") -set_target_properties(libEGL PROPERTIES PREFIX "" IMPORT_PREFIX "") - -install(TARGETS libEGL libGLESv2 libANGLE angle_common angle_compression_utils angle_image_util angle_gpu_info_util angle_translator angle_preprocessor GL_VISIBILITY EXPORT ANGLEExport - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib -) - -if(WINDOWS_DESKTOP) - install(TARGETS angle_renderer_d3d angle_renderer_win32 angle_renderer_opengl EXPORT ANGLEExport - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib - ) -elseif(WINDOWS_STORE) - install(TARGETS angle_renderer_d3d angle_renderer_winrt EXPORT ANGLEExport - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib - ) -else() - install(TARGETS angle_renderer_opengl EXPORT ANGLEExport - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib - ) -endif() - -install(EXPORT ANGLEExport FILE unofficial-angle-config.cmake NAMESPACE unofficial::angle:: DESTINATION share/unofficial-angle) - -if(NOT DISABLE_INSTALL_HEADERS) - install( - DIRECTORY include/ - DESTINATION include - FILES_MATCHING - PATTERN "*.h" - PATTERN "*.inc" - PATTERN "CL" EXCLUDE - PATTERN "GLSLANG" EXCLUDE - PATTERN "egl.h" EXCLUDE - PATTERN "eglext.h" EXCLUDE - PATTERN "eglplatform.h" EXCLUDE - PATTERN "KHR" EXCLUDE - PATTERN "WGL" EXCLUDE - PATTERN "export.h" EXCLUDE - ) -endif() diff --git a/ports/angle/angle_commit.h b/ports/angle/angle_commit.h deleted file mode 100644 index 57a20e3b7ce6e4..00000000000000 --- a/ports/angle/angle_commit.h +++ /dev/null @@ -1,3 +0,0 @@ -#define ANGLE_COMMIT_HASH "invalid-hash" -#define ANGLE_COMMIT_HASH_SIZE 12 -#define ANGLE_COMMIT_DATE "invalid-date" diff --git a/ports/angle/angle_commit.h.in b/ports/angle/angle_commit.h.in new file mode 100644 index 00000000000000..60abdb851810af --- /dev/null +++ b/ports/angle/angle_commit.h.in @@ -0,0 +1,4 @@ +#cmakedefine ANGLE_COMMIT_HASH "@ANGLE_COMMIT_HASH@" +#cmakedefine ANGLE_COMMIT_HASH_SIZE @ANGLE_COMMIT_HASH_SIZE@ +#cmakedefine ANGLE_COMMIT_DATE "@ANGLE_COMMIT_DATE@" +#cmakedefine ANGLE_REVISION @ANGLE_REVISION@ diff --git a/ports/angle/cmake-buildsystem/CMakeLists.txt b/ports/angle/cmake-buildsystem/CMakeLists.txt new file mode 100644 index 00000000000000..110c5a09755d67 --- /dev/null +++ b/ports/angle/cmake-buildsystem/CMakeLists.txt @@ -0,0 +1,477 @@ +cmake_minimum_required(VERSION 3.8) +project(angle CXX C) + +set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake") +include(WebKitCommon-minimal) + +set(ANGLE_FRAMEWORK_HEADERS_DIR "${CMAKE_BINARY_DIR}/ANGLE/headers") + +set(USE_ANGLE_EGL ON) +if (NOT WINDOWS_STORE) + set(USE_OPENGL ON) +endif() + +if(MSVC) + add_compile_options(/d2guard4 /Wv:18 /guard:cf /permissive /bigobj) + add_link_options(/guard:cf) +endif() + +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_POSITION_INDEPENDENT_CODE ON) + +set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS}") +set(CMAKE_STATIC_LIBRARY_PREFIX "") +if(WIN32) + set(CMAKE_SHARED_LIBRARY_PREFIX "") +endif() + +if (WINDOWS_STORE) + set(WINRT_DEFINES -DANGLE_ENABLE_WINDOWS_UWP -DWINAPI_FAMILY=WINAPI_FAMILY_PC_APP) +else() + set(WINRT_DEFINES) +endif() +add_definitions( + -D_CRT_SECURE_NO_DEPRECATE + -D_SCL_SECURE_NO_WARNINGS + -DGL_SILENCE_DEPRECATION + -D_HAS_EXCEPTIONS=0 + -DNOMINMAX + -DANGLE_STANDALONE_BUILD + ${WINRT_DEFINES} +) +add_compile_options("$<$:-DANGLE_ENABLE_DEBUG_ANNOTATIONS>") +if(WIN32) + add_definitions(-DANGLE_IS_WIN) +endif() +if(LINUX) + add_definitions(-DANGLE_IS_LINUX) +endif() +if(ANGLE_IS_64_BIT_CPU) + add_definitions(-DANGLE_IS_64_BIT_CPU) +elseif(ANGLE_IS_32_BIT_CPU) + add_definitions(-DANGLE_IS_32_BIT_CPU) +endif() +if(ANGLE_USE_D3D11_COMPOSITOR_NATIVE_WINDOW) + if(NOT WIN32) + message(FATAL_ERROR "ANGLE_USE_D3D11_COMPOSITOR_NATIVE_WINDOW is set, but is only supported on Windows") + endif() + set(angle_enable_d3d11_compositor_native_window TRUE) +endif() +if(NOT BUILD_SHARED_LIBS) + add_definitions( + -DANGLE_EXPORT= + -DANGLE_STATIC=1 + -DANGLE_UTIL_EXPORT= + -DEGLAPI= + -DGL_APICALL= + -DGL_API= + ) +endif() + +find_package(ZLIB REQUIRED) + +################################################## + +# Derived from: https://github.com/WebKit/WebKit/blob/92dbcacf4c3e3a8fc6eea68e7022ca59401749e0/Source/ThirdParty/ANGLE/CMakeLists.txt +# With modifications for vcpkg port (marked with "VCPKG EDIT:" comments) + +set_property(DIRECTORY . PROPERTY FOLDER "ANGLE") + +# VCPKG EDIT: modified block +if (APPLE) + set(is_apple TRUE) + if (IOS) + set(is_ios TRUE) + if (USE_OPENGL) + set(angle_enable_eagl TRUE) + endif() + else() + set(is_mac TRUE) + endif() + if (USE_OPENGL AND NOT angle_enable_eagl) + set(angle_enable_cgl TRUE) + endif() +elseif (WIN32) + set(is_win TRUE) + if (NOT WINDOWS_STORE) + set(angle_is_winuwp FALSE) + else() + set(angle_is_winuwp TRUE) + set(target_os "winuwp") + endif() + if (NOT angle_is_winuwp) + set(angle_enable_d3d9 TRUE) + endif() + set(angle_enable_d3d11 TRUE) +elseif (UNIX) + set(is_linux TRUE) + if(LINUX) + set(angle_use_x11 TRUE) + endif() +endif () +# VCPKG EDIT: end vcpkg modified block + +include(Compiler.cmake) +include(GLESv2.cmake) + +# ANGLE Renderer backends +include(D3D.cmake) +include(GL.cmake) +include(Metal.cmake) + +set(no_gl_prototypes + GL_GLES_PROTOTYPES=0 + EGL_EGL_PROTOTYPES=0 +) + +set(gl_prototypes + GL_GLES_PROTOTYPES=1 + EGL_EGL_PROTOTYPES=1 + GL_GLEXT_PROTOTYPES + EGL_EGLEXT_PROTOTYPES +) + +# Default library types for ANGLE +# Override these in Platform*.cmake for your port as needed. +set(ANGLE_LIBRARY_TYPE STATIC) # libANGLE static library (matches expected behavior & prior behavior) +set(GLESv2_LIBRARY_TYPE) # VCPKG EDIT: Default to BUILD_SHARED_LIBS setting +set(EGL_LIBRARY_TYPE) # VCPKG EDIT: Default to BUILD_SHARED_LIBS setting + +# ANGLE makes a number of small static libraries that are then joined into a +# bigger library that is built shared. Rather than making the small libraries +# there will be a ANGLE whose sources are dependent on whether the library +# is being used as a compiler or as a GLES implementation. +# +# The corresponding gn targets are described below +# +# ANGLE (Compiler only) +# + angle_common +# + preprocessor +# + translator +# +# ANGLE (GLES) +# + ANGLE (Compiler only) +# + xxhash +# + angle_image_util +# + angle_system_utils (OS specific) +# + angle_(renderer) (Backend and OS specific) + +set(ANGLE_PRIVATE_INCLUDE_DIRECTORIES + "${CMAKE_CURRENT_SOURCE_DIR}/include" + "${CMAKE_CURRENT_SOURCE_DIR}/include/KHR" + "${CMAKE_CURRENT_SOURCE_DIR}/src" + "${CMAKE_CURRENT_SOURCE_DIR}/src/common/third_party/base" + "${CMAKE_CURRENT_SOURCE_DIR}/src/common/base" + "${CMAKE_CURRENT_SOURCE_DIR}/src/common/third_party/xxhash" + "${CMAKE_CURRENT_SOURCE_DIR}/third_party/zlib/google" + "${CMAKE_CURRENT_BINARY_DIR}/include" +) + +set(ANGLE_DEFINITIONS + ANGLE_ENABLE_ESSL + ANGLE_ENABLE_GLSL +) + +# VCPKG EDIT +list(APPEND ANGLE_DEFINITIONS ANGLE_CAPTURE_ENABLED=0) +if (NOT WIN32) + list(APPEND ANGLE_DEFINITIONS + "-DGL_API=__attribute__((visibility(\"default\")))" + "-DGL_APICALL=__attribute__((visibility(\"default\")))" + ) +endif() +# END VCPKG EDIT + +set(ANGLE_SOURCES + ${libangle_common_sources} + ${libangle_common_shader_state_sources} + ${angle_preprocessor_sources} + ${angle_translator_glsl_base_sources} + ${angle_translator_essl_sources} + ${angle_translator_essl_symbol_table_sources} + ${angle_translator_glsl_and_vulkan_base_sources} + ${angle_translator_glsl_sources} + ${angle_translator_sources} + ${angle_system_utils_sources} + src/common/angle_version_info.cpp + src/libANGLE/capture/FrameCapture_mock.cpp + src/libANGLE/capture/serialize_mock.cpp +) + +if (WIN32) + # FIXME: DX11 support will not compile if this preprocessor definition is set + # DirectX Documentation is setting that version to 0x700 but there is no + # corresponding value in sdkddkver.h + remove_definitions(-D_WIN32_WINNT=0x601 -DWINVER=0x601) + + list(APPEND ANGLE_SOURCES + "src/libANGLE/renderer/dxgi_format_map.h" + "src/libANGLE/renderer/dxgi_format_map_autogen.cpp" + "src/libANGLE/renderer/dxgi_support_table.h" + "src/libANGLE/renderer/dxgi_support_table_autogen.cpp" + ) + if (NOT angle_is_winuwp) + list(APPEND ANGLE_SOURCES + "src/libANGLE/renderer/d3d_format.cpp" + "src/libANGLE/renderer/d3d_format.h" + ) + endif() +endif () + +set(ANGLEGLESv2_LIBRARIES + ANGLE +) + +set(zlib_wrapper_sources + "third_party/zlib/google/compression_utils_portable.h" + "third_party/zlib/google/compression_utils_portable.cc" +) + +set(angle_gl_enum_utils # VCPKG EDIT: Update paths + "src/common/gl_enum_utils.cpp" + "src/common/gl_enum_utils.h" + "src/common/gl_enum_utils_autogen.cpp" + "src/common/gl_enum_utils_autogen.h" +) + +set(angle_glslang_wrapper + "src/libANGLE/renderer/ShaderInterfaceVariableInfoMap.cpp" + "src/libANGLE/renderer/ShaderInterfaceVariableInfoMap.h" + "src/libANGLE/renderer/glslang_wrapper_utils.cpp" + "src/libANGLE/renderer/glslang_wrapper_utils.h" +) + +WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS() + +add_subdirectory(include) + +add_library(ANGLEFramework INTERFACE) +add_dependencies(ANGLEFramework GLSLANGHeaders ANGLEHeaders) + +if (USE_ANGLE_EGL OR ENABLE_WEBGL) + add_library(ANGLE ${ANGLE_LIBRARY_TYPE} + ${ANGLE_SOURCES} + ${libangle_sources} + ${libangle_headers} + ${libangle_image_util_sources} + ${libangle_image_util_headers} + ${xxhash_sources} + ${zlib_wrapper_sources} + ${angle_gl_enum_utils} + ) + target_include_directories(ANGLE PRIVATE ${ANGLE_PRIVATE_INCLUDE_DIRECTORIES}) + target_compile_definitions(ANGLE PRIVATE + ${no_gl_prototypes} + LIBANGLE_IMPLEMENTATION + ) + target_compile_definitions(ANGLE PUBLIC ${ANGLE_DEFINITIONS}) + target_link_libraries(ANGLE PRIVATE ZLIB::ZLIB ${CMAKE_DL_LIBS}) + + target_compile_definitions(ANGLEFramework INTERFACE ${gl_prototypes}) + + add_library(GLESv2 ${GLESv2_LIBRARY_TYPE} + ${libglesv2_sources} + ) + target_include_directories(GLESv2 PRIVATE ${ANGLE_PRIVATE_INCLUDE_DIRECTORIES}) + target_compile_definitions(GLESv2 PRIVATE + ${no_gl_prototypes} + LIBGLESV2_IMPLEMENTATION + ) + + target_link_libraries(GLESv2 PRIVATE ${ANGLEGLESv2_LIBRARIES} ${CMAKE_DL_LIBS}) + + if (WIN32) + # Output library name according to the .def + target_sources(GLESv2 PRIVATE src/libGLESv2/libGLESv2_autogen.def) + set_target_properties(GLESv2 PROPERTIES OUTPUT_NAME libGLESv2) + endif () + # Rename libs to avoid conflict with system OpenGL + if(NOT VCPKG_TARGET_IS_WINDOWS) + set_target_properties(GLESv2 PROPERTIES OUTPUT_NAME libGLESv2_angle) + endif() + + add_library(GLESv2Framework INTERFACE) + target_link_libraries(GLESv2Framework INTERFACE GLESv2) + target_include_directories(GLESv2Framework INTERFACE ${ANGLE_FRAMEWORK_HEADERS_DIR}) + target_compile_definitions(GLESv2Framework INTERFACE USE_SYSTEM_EGL) + add_library(ANGLE::GLES ALIAS GLESv2Framework) + + if (USE_ANGLE_EGL) + add_library(EGL ${EGL_LIBRARY_TYPE} + ${libegl_sources} + ) + target_include_directories(EGL PRIVATE ${ANGLE_PRIVATE_INCLUDE_DIRECTORIES}) + target_compile_definitions(EGL PRIVATE + ${ANGLE_DEFINITIONS} + ${gl_prototypes} + EGLAPI= + ) + + target_link_libraries(EGL PRIVATE GLESv2 ${CMAKE_DL_LIBS}) + + set_target_properties(EGL PROPERTIES LINKER_LANGUAGE CXX) + if (WIN32) + # Output library names according to the .def + target_sources(EGL PRIVATE src/libEGL/libEGL_autogen.def) + set_target_properties(EGL PROPERTIES OUTPUT_NAME libEGL) + endif () + # Rename libs to avoid conflict with system OpenGL + if(NOT VCPKG_TARGET_IS_WINDOWS) + set_target_properties(EGL PROPERTIES OUTPUT_NAME libEGL_angle) + endif() + + add_library(EGLFramework INTERFACE) + target_include_directories(EGLFramework INTERFACE ${ANGLE_FRAMEWORK_HEADERS_DIR}/) + target_compile_definitions(EGLFramework INTERFACE ${gl_prototypes}) + target_link_libraries(EGLFramework INTERFACE EGL) + add_library(ANGLE::EGL ALIAS EGLFramework) + endif () +else () + add_library(ANGLE ${ANGLE_LIBRARY_TYPE} ${ANGLE_SOURCES}) + target_include_directories(ANGLE PRIVATE ${ANGLE_PRIVATE_INCLUDE_DIRECTORIES}) + target_link_libraries(ANGLE PRIVATE ${CMAKE_DL_LIBS}) + target_compile_definitions(ANGLE PRIVATE + ${ANGLE_DEFINITIONS} + ${no_gl_prototypes} + LIBANGLE_IMPLEMENTATION + ) +endif () + +if (ENABLE_WEBGL) + set(libglesv2_entry_points_headers + src/libGLESv2/entry_points_egl_autogen.h + src/libGLESv2/entry_points_egl_ext_autogen.h + src/libGLESv2/entry_points_gles_2_0_autogen.h + src/libGLESv2/entry_points_gles_3_0_autogen.h + src/libGLESv2/entry_points_gles_ext_autogen.h + ) + + WEBKIT_COPY_FILES(LibGLESv2EntryPointsHeaders + DESTINATION ${ANGLE_FRAMEWORK_HEADERS_DIR}/ANGLE + FILES ${libglesv2_entry_points_headers} + FLATTENED + ) + if (WIN32 AND TARGET GLESv2) + # GLESv2 needs to have a direct or indirect dependency to + # LibGLESv2EntryPointsHeaders for CMake Visual Studio generator + # to eliminate duplicated custom commands. Otherwise, + # entry_points_*.h will be copied twice in both projects. + add_dependencies(GLESv2 LibGLESv2EntryPointsHeaders) + endif () + + add_custom_target(ANGLE-webgl-headers + DEPENDS LibGLESv2EntryPointsHeaders ANGLEWebGLHeaders + COMMAND ${CMAKE_COMMAND} -E env + BUILT_PRODUCTS_DIR=${ANGLE_FRAMEWORK_HEADERS_DIR} + PUBLIC_HEADERS_FOLDER_PATH=/ANGLE + ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/adjust-angle-include-paths.py + VERBATIM + ) + add_dependencies(GLESv2Framework ANGLE-webgl-headers) +endif () + +if (COMPILER_IS_GCC_OR_CLANG) + foreach (angle_target ANGLE EGL GLESv2) + if (TARGET ${angle_target}) + WEBKIT_ADD_TARGET_C_FLAGS(${angle_target} -w) + WEBKIT_ADD_TARGET_CXX_FLAGS(${angle_target} -w) + endif () + endforeach () +endif () + +target_link_libraries(ANGLEFramework INTERFACE ANGLE) +target_include_directories(ANGLEFramework INTERFACE ${ANGLE_FRAMEWORK_HEADERS_DIR}) + +add_library(ANGLE::ANGLE ALIAS ANGLEFramework) + + +################################################## + +#### VCPKG EDIT: +#### various vcpkg additions and install commands + +# X11 support +if (angle_use_x11) + find_package(X11 COMPONENTS Xext Xi REQUIRED) + target_include_directories(ANGLE PRIVATE ${X11_INCLUDE_DIR}) + target_sources(ANGLE PRIVATE ${libangle_gpu_info_util_x11_sources}) + target_sources(ANGLE PRIVATE "src/gpu_info_util/SystemInfo_x11.cpp") + target_compile_definitions(ANGLE PRIVATE ANGLE_USE_X11 GPU_INFO_USE_X11) + target_link_libraries(ANGLE PRIVATE ${X11_LIBRARIES} X11::X11 X11::Xi X11::Xext) +endif() + +# set export names of some targets to match prior vcpkg port buildsystem +if(TARGET EGL) + set_target_properties(EGL PROPERTIES EXPORT_NAME libEGL) +endif() +if(TARGET GLESv2) + set_target_properties(GLESv2 PROPERTIES EXPORT_NAME libGLESv2) +endif() +set_target_properties(ANGLE PROPERTIES EXPORT_NAME libANGLE) + +set(_possibleTargets EGL GLESv2 ANGLE) +foreach(_target IN LISTS _possibleTargets) + if(TARGET ${_target}) + list(APPEND _installableTargets "${_target}") + endif() +endforeach() + +install(TARGETS ${_installableTargets} EXPORT ANGLEExport + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib +) + +install(EXPORT ANGLEExport FILE unofficial-angle-targets.cmake NAMESPACE unofficial::angle:: DESTINATION share/unofficial-angle) +install(FILES unofficial-angle-config.cmake DESTINATION share/unofficial-angle) + +install( + DIRECTORY "${ANGLE_FRAMEWORK_HEADERS_DIR}/" + DESTINATION include + FILES_MATCHING + PATTERN "*.h" + PATTERN "*.inc" + PATTERN "CL" EXCLUDE + PATTERN "GLSLANG" EXCLUDE + PATTERN "EGL/egl.h" EXCLUDE + PATTERN "EGL/eglext.h" EXCLUDE + PATTERN "EGL/eglplatform.h" EXCLUDE + PATTERN "KHR" EXCLUDE + PATTERN "WGL" EXCLUDE + PATTERN "export.h" EXCLUDE + PATTERN "GLES/egl.h" EXCLUDE + PATTERN "GLES/gl.h" EXCLUDE + PATTERN "GLES/glext.h" EXCLUDE + PATTERN "GLES/glplatform.h" EXCLUDE + PATTERN "GLES2/gl2.h" EXCLUDE + PATTERN "GLES2/gl2ext.h" EXCLUDE + PATTERN "GLES2/gl2platform.h" EXCLUDE + PATTERN "GLES3/gl3.h" EXCLUDE + PATTERN "GLES3/gl31.h" EXCLUDE + PATTERN "GLES3/gl32.h" EXCLUDE + PATTERN "GLES3/gl3platform.h" EXCLUDE +) +install( + DIRECTORY "${ANGLE_FRAMEWORK_HEADERS_DIR}/" + DESTINATION include/angle + FILES_MATCHING + PATTERN "*.h" + PATTERN "*.inc" + PATTERN "CL" EXCLUDE + PATTERN "GLSLANG" EXCLUDE + PATTERN "EGL/egl.h" EXCLUDE + PATTERN "EGL/eglext.h" EXCLUDE + PATTERN "EGL/eglplatform.h" EXCLUDE + PATTERN "KHR" EXCLUDE + PATTERN "WGL" EXCLUDE + PATTERN "export.h" EXCLUDE +) + +if(NOT BUILD_SHARED_LIBS) + foreach(angle_target EGL GLESv2 ANGLE) + if(TARGET ${angle_target}) + target_compile_definitions(${angle_target} INTERFACE $) + endif() + endforeach() +endif() diff --git a/ports/angle/cmake-buildsystem/PlatformLinux.cmake b/ports/angle/cmake-buildsystem/PlatformLinux.cmake new file mode 100644 index 00000000000000..018bf7f85e3970 --- /dev/null +++ b/ports/angle/cmake-buildsystem/PlatformLinux.cmake @@ -0,0 +1,30 @@ +list(APPEND ANGLE_DEFINITIONS ANGLE_PLATFORM_LINUX USE_SYSTEM_EGL) +include(linux.cmake) + +if (USE_OPENGL) + # Enable GLSL compiler output. + list(APPEND ANGLE_DEFINITIONS ANGLE_ENABLE_GLSL) +endif () + +if (USE_ANGLE_EGL OR ENABLE_WEBGL) + list(APPEND ANGLE_SOURCES + ${_gl_backend_sources} + + ${angle_system_utils_sources_linux} + ${angle_system_utils_sources_posix} + + ${angle_dma_buf_sources} + + ${libangle_gl_egl_dl_sources} + ${libangle_gl_egl_sources} + ${libangle_gl_sources} + + ${libangle_gpu_info_util_sources} + ${libangle_gpu_info_util_linux_sources} + ) + + list(APPEND ANGLE_DEFINITIONS + ANGLE_ENABLE_OPENGL + ) + +endif () diff --git a/ports/angle/cmake-buildsystem/PlatformMac.cmake b/ports/angle/cmake-buildsystem/PlatformMac.cmake new file mode 100644 index 00000000000000..4fda2ba46bb02d --- /dev/null +++ b/ports/angle/cmake-buildsystem/PlatformMac.cmake @@ -0,0 +1,59 @@ +find_package(ZLIB REQUIRED) + +list(APPEND ANGLE_SOURCES + ${libangle_gpu_info_util_mac_sources} + ${libangle_gpu_info_util_sources} + ${libangle_mac_sources} +) + +list(APPEND ANGLEGLESv2_LIBRARIES + "-framework CoreGraphics" + "-framework Foundation" + "-framework IOKit" + "-framework IOSurface" + "-framework Quartz" +) + +# Metal backend +if(USE_METAL) + list(APPEND ANGLE_SOURCES + ${_metal_backend_sources} + + ${angle_translator_lib_metal_sources} + + ${angle_glslang_wrapper} + ) + + list(APPEND ANGLE_DEFINITIONS + ANGLE_ENABLE_METAL + ) + + list(APPEND ANGLEGLESv2_LIBRARIES + "-framework Metal" + ) +endif() + +# OpenGL backend +if(USE_OPENGL) + list(APPEND ANGLE_SOURCES + ${angle_translator_glsl_base_sources} + ${angle_translator_glsl_sources} + ${angle_translator_apple_sources} + ) + # Enable GLSL compiler output. + list(APPEND ANGLE_DEFINITIONS ANGLE_ENABLE_GLSL ANGLE_ENABLE_GL_DESKTOP_BACKEND ANGLE_ENABLE_APPLE_WORKAROUNDS) +endif() + +if(USE_ANGLE_EGL OR ENABLE_WEBGL) + list(APPEND ANGLE_SOURCES + ${_gl_backend_sources} + + ${libangle_gl_egl_dl_sources} + ${libangle_gl_egl_sources} + ${libangle_gl_sources} + ) + + list(APPEND ANGLE_DEFINITIONS + ANGLE_ENABLE_OPENGL + ) +endif() diff --git a/ports/angle/cmake-buildsystem/PlatformWin.cmake b/ports/angle/cmake-buildsystem/PlatformWin.cmake new file mode 100644 index 00000000000000..97ac61915f74c5 --- /dev/null +++ b/ports/angle/cmake-buildsystem/PlatformWin.cmake @@ -0,0 +1,67 @@ +# We're targeting Windows 10 which will have DirectX 11 on it so require that +# but make DirectX 9 optional + +list(APPEND ANGLE_DEFINITIONS + GL_APICALL= + GL_API= + NOMINMAX +) + +# We're targeting Windows 10 which will have DirectX 11 +list(APPEND ANGLE_SOURCES + ${_d3d11_backend_sources} + ${_d3d_shared_sources} + + ${angle_translator_hlsl_sources} + + ${libangle_gpu_info_util_sources} + ${libangle_gpu_info_util_win_sources} +) + +list(APPEND ANGLE_DEFINITIONS + ANGLE_ENABLE_D3D11 + ANGLE_ENABLE_HLSL + # VCPKG EDIT: add ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES + "-DANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ \"d3dcompiler_47.dll\", \"d3dcompiler_46.dll\", \"d3dcompiler_43.dll\" }" +) + +list(APPEND ANGLEGLESv2_LIBRARIES dxguid dxgi) + +if(NOT angle_is_winuwp) # vcpkg EDIT: Exclude DirectX 9 on UWP + # DirectX 9 support should be optional but ANGLE will not compile without it + list(APPEND ANGLE_SOURCES ${_d3d9_backend_sources}) + list(APPEND ANGLE_DEFINITIONS ANGLE_ENABLE_D3D9) + list(APPEND ANGLEGLESv2_LIBRARIES d3d9) +endif() + +# VCPKG EDITS: + +# Do not specify library type here + +# Handle angle_enable_d3d11_compositor_native_window defines + +if(angle_enable_d3d11_compositor_native_window) + list(APPEND ANGLE_DEFINITIONS ANGLE_ENABLE_D3D11_COMPOSITOR_NATIVE_WINDOW) +endif() + +# OpenGL backend + +if(USE_OPENGL) + # Enable GLSL compiler output. + list(APPEND ANGLE_DEFINITIONS ANGLE_ENABLE_GLSL) + + if(USE_ANGLE_EGL OR ENABLE_WEBGL) + list(APPEND ANGLE_SOURCES + ${_gl_backend_sources} + + ${libangle_gl_egl_dl_sources} + ${libangle_gl_egl_sources} + ${libangle_gl_sources} + ) + + list(APPEND ANGLE_DEFINITIONS + ANGLE_ENABLE_OPENGL + ANGLE_ENABLE_GL_DESKTOP_BACKEND + ) + endif() +endif() diff --git a/ports/angle/cmake-buildsystem/cmake/WebKitCommon-minimal.cmake b/ports/angle/cmake-buildsystem/cmake/WebKitCommon-minimal.cmake new file mode 100644 index 00000000000000..b0df91f9533ea9 --- /dev/null +++ b/ports/angle/cmake-buildsystem/cmake/WebKitCommon-minimal.cmake @@ -0,0 +1,192 @@ +# VCPKG NOTE: A minimal version of WebKit's https://github.com/WebKit/WebKit/blob/647e67b23883960fef8890465c0f70d7ab6e63f1/Source/cmake/WebKitCommon.cmake +# To support the adapted ANGLE CMake buildsystem + +# ----------------------------------------------------------------------------- +# This file is included individually from various subdirectories (JSC, WTF, +# WebCore, WebKit) in order to allow scripts to build only part of WebKit. +# We want to run this file only once. +# ----------------------------------------------------------------------------- +if (NOT HAS_RUN_WEBKIT_COMMON) + set(HAS_RUN_WEBKIT_COMMON TRUE) + + if (NOT CMAKE_BUILD_TYPE) + message(WARNING "No CMAKE_BUILD_TYPE value specified, defaulting to RelWithDebInfo.") + set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING "Choose the type of build." FORCE) + else () + message(STATUS "The CMake build type is: ${CMAKE_BUILD_TYPE}") + endif () + + # ----------------------------------------------------------------------------- + # Determine which port will be built + # ----------------------------------------------------------------------------- + set(ALL_PORTS + AppleWin + Efl + FTW + GTK + JSCOnly + Mac + PlayStation + WPE + WinCairo + Linux # VCPKG EDIT: Add "Linux" so it's properly supported for ANGLE build + Win # VCPKG EDIT: Add "Win" so it's properly supported for ANGLE build + ) + set(PORT "NOPORT" CACHE STRING "choose which WebKit port to build (one of ${ALL_PORTS})") + + list(FIND ALL_PORTS ${PORT} RET) + if (${RET} EQUAL -1) + if (APPLE) + set(PORT "Mac") + else () + message(WARNING "Please choose which WebKit port to build (one of ${ALL_PORTS})") + endif () + endif () + + string(TOLOWER ${PORT} WEBKIT_PORT_DIR) + + # ----------------------------------------------------------------------------- + # Determine the compiler + # ----------------------------------------------------------------------------- + if (${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang" OR ${CMAKE_CXX_COMPILER_ID} STREQUAL "AppleClang") + set(COMPILER_IS_CLANG ON) + endif () + + if (${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU") + if (${CMAKE_CXX_COMPILER_VERSION} VERSION_LESS "9.3.0") + message(FATAL_ERROR "GCC 9.3 or newer is required to build WebKit. Use a newer GCC version or Clang.") + endif () + endif () + + if (CMAKE_COMPILER_IS_GNUCXX OR COMPILER_IS_CLANG) + set(COMPILER_IS_GCC_OR_CLANG ON) + endif () + + if (MSVC AND COMPILER_IS_CLANG) + set(COMPILER_IS_CLANG_CL ON) + endif () + + # ----------------------------------------------------------------------------- + # Determine the target processor + # ----------------------------------------------------------------------------- + # Use MSVC_CXX_ARCHITECTURE_ID instead of CMAKE_SYSTEM_PROCESSOR when defined, + # since the later one just resolves to the host processor on Windows. + if (MSVC_CXX_ARCHITECTURE_ID) + string(TOLOWER ${MSVC_CXX_ARCHITECTURE_ID} LOWERCASE_CMAKE_SYSTEM_PROCESSOR) + else () + string(TOLOWER ${CMAKE_SYSTEM_PROCESSOR} LOWERCASE_CMAKE_SYSTEM_PROCESSOR) + endif () + if (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "(^aarch64|^arm64|^cortex-?[am][2-7][2-8])") + set(WTF_CPU_ARM64 1) + elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "(^arm|^cortex)") + set(WTF_CPU_ARM 1) + elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "^mips64") + set(WTF_CPU_MIPS64 1) + elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "^mips") + set(WTF_CPU_MIPS 1) + elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "(x64|x86_64|amd64)") + # FORCE_32BIT is set in the build script when --32-bit is passed + # on a Linux/intel 64bit host. This allows us to produce 32bit + # binaries without setting the build up as a crosscompilation, + # which is the only way to modify CMAKE_SYSTEM_PROCESSOR. + if (FORCE_32BIT) + set(WTF_CPU_X86 1) + else () + set(WTF_CPU_X86_64 1) + endif () + elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "(i[3-6]86|x86)") + set(WTF_CPU_X86 1) + elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "ppc") + set(WTF_CPU_PPC 1) + elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "ppc64") + set(WTF_CPU_PPC64 1) + elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "ppc64le") + set(WTF_CPU_PPC64LE 1) + elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "^riscv64") + set(WTF_CPU_RISCV64 1) + elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "^loongarch64") + set(WTF_CPU_LOONGARCH64 1) + else () + set(WTF_CPU_UNKNOWN 1) + endif () + + # ----------------------------------------------------------------------------- + # Determine the operating system + # ----------------------------------------------------------------------------- + if (UNIX) + if (APPLE) + set(WTF_OS_MAC_OS_X 1) + elseif (CMAKE_SYSTEM_NAME MATCHES "Linux") + set(WTF_OS_LINUX 1) + else () + set(WTF_OS_UNIX 1) + endif () + elseif (CMAKE_SYSTEM_NAME MATCHES "Windows") + set(WTF_OS_WINDOWS 1) + elseif (CMAKE_SYSTEM_NAME MATCHES "Fuchsia") + set(WTF_OS_FUCHSIA 1) + else () + message(FATAL_ERROR "Unknown OS '${CMAKE_SYSTEM_NAME}'") + endif () + + # ----------------------------------------------------------------------------- + # Default library types + # ----------------------------------------------------------------------------- + + set(CMAKE_POSITION_INDEPENDENT_CODE True) + + # ----------------------------------------------------------------------------- + # Default output directories, which can be overwritten by ports + #------------------------------------------------------------------------------ + set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) + set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) + + # ----------------------------------------------------------------------------- + # Find common packages (used by all ports) + # ----------------------------------------------------------------------------- + if (WIN32) + list(APPEND CMAKE_PROGRAM_PATH $ENV{SystemDrive}/cygwin/bin) + endif () + + # ----------------------------------------------------------------------------- + # Helper macros and feature defines + # ----------------------------------------------------------------------------- + + # To prevent multiple inclusion, most modules should be included once here. + include(CheckCCompilerFlag) + include(CheckCXXCompilerFlag) + include(CheckCXXSourceCompiles) + include(CheckFunctionExists) + include(CheckIncludeFile) + include(CheckSymbolExists) + include(CheckStructHasMember) + include(CheckTypeSize) + include(CMakeDependentOption) + include(CMakeParseArguments) + include(CMakePushCheckState) + include(ProcessorCount) + + # include(WebKitPackaging) + include(WebKitMacros) + # include(WebKitFS) + # include(WebKitCCache) + include(WebKitCompilerFlags) + # include(WebKitStaticAnalysis) + # include(WebKitFeatures) + # include(WebKitFindPackage) + + # include(OptionsCommon) + # include(Options${PORT}) + + # ----------------------------------------------------------------------------- + # Job pool to avoid running too many memory hungry linker processes + # ----------------------------------------------------------------------------- + if (${CMAKE_BUILD_TYPE} STREQUAL "Release" OR ${CMAKE_BUILD_TYPE} STREQUAL "MinSizeRel") + set_property(GLOBAL PROPERTY JOB_POOLS link_pool_jobs=4) + else () + set_property(GLOBAL PROPERTY JOB_POOLS link_pool_jobs=2) + endif () + set(CMAKE_JOB_POOL_LINK link_pool_jobs) + +endif () diff --git a/ports/angle/cmake-buildsystem/linux.cmake b/ports/angle/cmake-buildsystem/linux.cmake new file mode 100644 index 00000000000000..f3d9cc06e03eb5 --- /dev/null +++ b/ports/angle/cmake-buildsystem/linux.cmake @@ -0,0 +1,6 @@ +if(is_android OR is_linux OR is_chromeos) + set(angle_dma_buf_sources + "src/common/linux/dma_buf_utils.cpp" + "src/common/linux/dma_buf_utils.h" + ) +endif() diff --git a/ports/angle/portfile.cmake b/ports/angle/portfile.cmake index ed604ecb420eb4..01c1d7166b4225 100644 --- a/ports/angle/portfile.cmake +++ b/ports/angle/portfile.cmake @@ -1,6 +1,6 @@ if (VCPKG_TARGET_IS_LINUX) message(WARNING "Building with a gcc version less than 6.1 is not supported.") - message(WARNING "${PORT} currently requires the following libraries from the system package manager:\n libx11-dev\n libmesa-dev\n libxi-dev\n libxext-dev\n\nThese can be installed on Ubuntu systems via apt-get install libx11-dev libmesa-dev libxi-dev libxext-dev.") + message(WARNING "${PORT} currently requires the following libraries from the system package manager:\n libx11-dev\n mesa-common-dev\n libxi-dev\n libxext-dev\n\nThese can be installed on Ubuntu systems via apt-get install libx11-dev mesa-common-dev libxi-dev libxext-dev.") endif() if (VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") @@ -15,11 +15,32 @@ else() message(FATAL_ERROR "Unsupported architecture: ${VCPKG_TARGET_ARCHITECTURE}") 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 VCPKG_TARGET_IS_MINGW) + set(ANGLE_USE_D3D11_COMPOSITOR_NATIVE_WINDOW "ON") + endif() +elseif (VCPKG_TARGET_IS_OSX) + set(ANGLE_BUILDSYSTEM_PORT "Mac") +elseif (VCPKG_TARGET_IS_LINUX) + set(ANGLE_BUILDSYSTEM_PORT "Linux") +else() + # default other platforms to "Linux" config + set(ANGLE_BUILDSYSTEM_PORT "Linux") +endif() + +# chromium/5414 +set(ANGLE_COMMIT aa63ea230e0c507e7b4b164a30e502fb17168c17) +set(ANGLE_VERSION 5414) +set(ANGLE_SHA512 a3b55d4b484e1e9ece515d60af1d47a80a0576b198d9a2397e4e68b16efd83468dcdfadc98dae57ff17f01d02d74526f8b59fdf00661b70a45b6dd266e5ffe38) +set(ANGLE_THIRDPARTY_ZLIB_COMMIT 44d9b490c721abdb923d5c6c23ac211e45ffb1a5) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/angle - REF d15be77864e18f407c317be6f6bc06ee2b7d070a # chromium/4472 - SHA512 aad8563ee65458a7865ec7c668d1f90ac2891583c569a22dcd2c557263b72b26386f56b74a7294398be2cf5c548df513159e4be53f3f096f19819ca06227d9ac + REF ${ANGLE_COMMIT} + SHA512 ${ANGLE_SHA512} # On update check headers against opengl-registry PATCHES 001-fix-uwp.patch @@ -27,73 +48,146 @@ vcpkg_from_github( 003-fix-mingw.patch ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/angle_commit.h DESTINATION ${SOURCE_PATH}) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/angle_commit.h DESTINATION ${SOURCE_PATH}/src/common) +# Generate angle_commit.h +set(ANGLE_COMMIT_HASH_SIZE 12) +string(SUBSTRING "${ANGLE_COMMIT}" 0 ${ANGLE_COMMIT_HASH_SIZE} ANGLE_COMMIT_HASH) +set(ANGLE_COMMIT_DATE "invalid-date") +set(ANGLE_REVISION "${ANGLE_VERSION}") +configure_file("${CMAKE_CURRENT_LIST_DIR}/angle_commit.h.in" "${SOURCE_PATH}/angle_commit.h" @ONLY) +configure_file("${CMAKE_CURRENT_LIST_DIR}/angle_commit.h.in" "${SOURCE_PATH}/src/common/angle_commit.h" @ONLY) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/unofficial-angle-config.cmake" DESTINATION "${SOURCE_PATH}") + +set(ANGLE_WEBKIT_BUILDSYSTEM_COMMIT "bb1da00b9ba878d228a5e9834a0767dbca2fee43") + +# Download WebKit gni-to-cmake.py conversion script +vcpkg_download_distfile(GNI_TO_CMAKE_PY + URLS "https://github.com/WebKit/WebKit/raw/${ANGLE_WEBKIT_BUILDSYSTEM_COMMIT}/Source/ThirdParty/ANGLE/gni-to-cmake.py" + FILENAME "gni-to-cmake.py" + SHA512 9da35caf2db2e849d6cc85721ba0b77eee06b6f65a7c5314fb80483db4949b0b6e9bf4b2d4fc63613665629b24e9b052e03fb1451b09313d881297771a4f2736 +) + +# Generate CMake files from GN / GNI files +vcpkg_find_acquire_program(PYTHON3) + +set(_root_gni_files_to_convert + "compiler.gni Compiler.cmake" + "libGLESv2.gni GLESv2.cmake" +) +set(_renderer_gn_files_to_convert + "libANGLE/renderer/d3d/BUILD.gn D3D.cmake" + "libANGLE/renderer/gl/BUILD.gn GL.cmake" + "libANGLE/renderer/metal/BUILD.gn Metal.cmake" +) -function(checkout_in_path_with_patches PATH URL REF PATCHES) +foreach(_root_gni_file IN LISTS _root_gni_files_to_convert) + separate_arguments(_file_values UNIX_COMMAND "${_root_gni_file}") + list(GET _file_values 0 _src_gn_file) + list(GET _file_values 1 _dst_file) + vcpkg_execute_required_process( + COMMAND "${PYTHON3}" "${GNI_TO_CMAKE_PY}" "src/${_src_gn_file}" "${_dst_file}" + WORKING_DIRECTORY "${SOURCE_PATH}" + LOGNAME "gni-to-cmake-${_dst_file}-${TARGET_TRIPLET}" + ) +endforeach() + +foreach(_renderer_gn_file IN LISTS _renderer_gn_files_to_convert) + separate_arguments(_file_values UNIX_COMMAND "${_renderer_gn_file}") + list(GET _file_values 0 _src_gn_file) + list(GET _file_values 1 _dst_file) + get_filename_component(_src_dir "${_src_gn_file}" DIRECTORY) + vcpkg_execute_required_process( + COMMAND "${PYTHON3}" "${GNI_TO_CMAKE_PY}" "src/${_src_gn_file}" "${_dst_file}" --prepend "src/${_src_dir}/" + WORKING_DIRECTORY "${SOURCE_PATH}" + LOGNAME "gni-to-cmake-${_dst_file}-${TARGET_TRIPLET}" + ) +endforeach() + +# Fetch additional CMake files from WebKit ANGLE buildsystem +vcpkg_download_distfile(WK_ANGLE_INCLUDE_CMAKELISTS + URLS "https://github.com/WebKit/WebKit/raw/${ANGLE_WEBKIT_BUILDSYSTEM_COMMIT}/Source/ThirdParty/ANGLE/include/CMakeLists.txt" + FILENAME "include_CMakeLists.txt" + SHA512 a7ddf3c6df7565e232f87ec651cc4fd84240b8866609e23e3e6e41d22532fd34c70e0f3b06120fd3d6d930ca29c1d0d470d4c8cb7003a66f8c1a840a42f32949 +) +configure_file("${WK_ANGLE_INCLUDE_CMAKELISTS}" "${SOURCE_PATH}/include/CMakeLists.txt" COPYONLY) + +vcpkg_download_distfile(WK_ANGLE_CMAKE_WEBKITCOMPILERFLAGS + URLS "https://github.com/WebKit/WebKit/raw/${ANGLE_WEBKIT_BUILDSYSTEM_COMMIT}/Source/cmake/WebKitCompilerFlags.cmake" + FILENAME "WebKitCompilerFlags.cmake" + SHA512 63f981694ae37d4c4ca4c34e2bf62b4d4602b6a1a660851304fa7a6ee834fc58fa6730eeb41ef4e075550f3c8b675823d4d00bdcd72ca869c6d5ab11196b33bb +) +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" + SHA512 0d126b1d1b0ca995c2ea6e51c73326db363f560f3f07912ce58c7c022d9257d27b963dac56aee0e9604ca7a3d74c5aa9f0451c243fec922fb485dd2253685ab6 +) +file(COPY "${WK_ANGLE_CMAKE_WEBKITMACROS}" DESTINATION "${SOURCE_PATH}/cmake") + +# Copy additional custom CMake buildsystem into appropriate folders +file(GLOB MAIN_BUILDSYSTEM "${CMAKE_CURRENT_LIST_DIR}/cmake-buildsystem/CMakeLists.txt" "${CMAKE_CURRENT_LIST_DIR}/cmake-buildsystem/*.cmake") +file(COPY ${MAIN_BUILDSYSTEM} DESTINATION "${SOURCE_PATH}") +file(GLOB MODULES "${CMAKE_CURRENT_LIST_DIR}/cmake-buildsystem/cmake/*.cmake") +file(COPY ${MODULES} DESTINATION "${SOURCE_PATH}/cmake") + +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}" - PATCHES ${PATCHES} ) file(RENAME "${DEP_SOURCE_PATH}" "${PATH}") file(REMOVE_RECURSE "${DEP_SOURCE_PATH}") endfunction() -checkout_in_path_with_patches( +checkout_in_path( "${SOURCE_PATH}/third_party/zlib" "https://chromium.googlesource.com/chromium/src/third_party/zlib" - "09490503d0f201b81e03f5ca0ab8ba8ee76d4a8e" - "third-party-zlib-far-undef.patch" + "${ANGLE_THIRDPARTY_ZLIB_COMMIT}" ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=1 OPTIONS - -D${ANGLE_CPU_BITNESS}=1 + "-D${ANGLE_CPU_BITNESS}=1" + "-DPORT=${ANGLE_BUILDSYSTEM_PORT}" + "-DANGLE_USE_D3D11_COMPOSITOR_NATIVE_WINDOW=${ANGLE_USE_D3D11_COMPOSITOR_NATIVE_WINDOW}" + "-DVCPKG_TARGET_IS_WINDOWS=${VCPKG_TARGET_IS_WINDOWS}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-angle TARGET_PATH share/unofficial-angle) +vcpkg_cmake_config_fixup(CONFIG_PATH share/unofficial-angle PACKAGE_NAME unofficial-angle) vcpkg_copy_pdbs() -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) - -# File conflict with opengl-registry! Make sure headers are similar on Update! -# angle defines some additional entrypoints. -# opengl-registry probably needs an upstream update to account for those -# Due to that all angle headers get moved to include/angle. -# If you want to use those instead of the onces provided by opengl-registry make sure -# VCPKG_INSTALLED_DIR/include/angle is before VCPKG_INSTALLED_DIR/include -file(GLOB_RECURSE angle_includes "${CURRENT_PACKAGES_DIR}/include") -file(COPY ${angle_includes} DESTINATION "${CURRENT_PACKAGES_DIR}/include/angle") - -set(_double_files - include/GLES/egl.h - include/GLES/gl.h - include/GLES/glext.h - include/GLES/glplatform.h - include/GLES2/gl2.h - include/GLES2/gl2ext.h - include/GLES2/gl2platform.h - include/GLES3/gl3.h - include/GLES3/gl31.h - include/GLES3/gl32.h - include/GLES3/gl3platform.h) -foreach(_file ${_double_files}) - if(EXISTS "${CURRENT_PACKAGES_DIR}/${_file}") - file(REMOVE "${CURRENT_PACKAGES_DIR}/${_file}") +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +# Remove empty directories inside include directory +file(GLOB directory_children RELATIVE "${CURRENT_PACKAGES_DIR}/include" "${CURRENT_PACKAGES_DIR}/include/*") +foreach(directory_child ${directory_children}) + if(IS_DIRECTORY "${CURRENT_PACKAGES_DIR}/include/${directory_child}") + file(GLOB_RECURSE subdirectory_children "${CURRENT_PACKAGES_DIR}/include/${directory_child}/*") + if("${subdirectory_children}" STREQUAL "") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/${directory_child}") + endif() endif() endforeach() +unset(subdirectory_children) +unset(directory_child) +unset(directory_children) - +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/angle/third-party-zlib-far-undef.patch b/ports/angle/third-party-zlib-far-undef.patch deleted file mode 100644 index c92b058d238eb4..00000000000000 --- a/ports/angle/third-party-zlib-far-undef.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/google/compression_utils_portable.h b/google/compression_utils_portable.h ---- a/google/compression_utils_portable.h -+++ b/google/compression_utils_portable.h -@@ -13,6 +13,9 @@ - * zlib. - */ - #if defined(USE_SYSTEM_ZLIB) -+# if defined(WIN32) && defined(FAR) -+# undef FAR -+# endif - #include - /* AOSP build requires relative paths. */ - #else diff --git a/ports/angle/unofficial-angle-config.cmake b/ports/angle/unofficial-angle-config.cmake new file mode 100644 index 00000000000000..79abf89d7849a0 --- /dev/null +++ b/ports/angle/unofficial-angle-config.cmake @@ -0,0 +1,7 @@ +include(CMakeFindDependencyMacro) +find_dependency(ZLIB) +if(UNIX AND NOT APPLE) + find_dependency(X11 COMPONENTS Xext Xi) +endif() + +include("${CMAKE_CURRENT_LIST_DIR}/unofficial-angle-targets.cmake") diff --git a/ports/angle/usage b/ports/angle/usage new file mode 100644 index 00000000000000..b1fdc146a148c3 --- /dev/null +++ b/ports/angle/usage @@ -0,0 +1,8 @@ +The package angle provides unofficial CMake targets: + + find_package(unofficial-angle REQUIRED CONFIG) + target_link_libraries(main PRIVATE unofficial::angle::libGLESv2) + + # Or use the EGL target + find_package(unofficial-angle REQUIRED CONFIG) + target_link_libraries(main PRIVATE unofficial::angle::libEGL) diff --git a/ports/angle/vcpkg.json b/ports/angle/vcpkg.json index e51cf097890bf8..a42d9356b2f0f1 100644 --- a/ports/angle/vcpkg.json +++ b/ports/angle/vcpkg.json @@ -1,15 +1,36 @@ { "name": "angle", - "version-string": "chromium_4472", - "port-version": 2, + "version-string": "chromium_5414", + "port-version": 9, "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." ], "homepage": "https://github.com/google/angle", + "license": "BSD-3-Clause", "dependencies": [ "egl-registry", + { + "name": "libx11", + "platform": "linux" + }, + { + "name": "libxext", + "platform": "linux" + }, + { + "name": "libxi", + "platform": "linux" + }, "opengl-registry", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, "zlib" ] } diff --git a/ports/ankurvdev-embedresource/portfile.cmake b/ports/ankurvdev-embedresource/portfile.cmake new file mode 100644 index 00000000000000..1c4acb61f5c77c --- /dev/null +++ b/ports/ankurvdev-embedresource/portfile.cmake @@ -0,0 +1,29 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO ankurvdev/embedresource + REF "v${VERSION}" + SHA512 90b4e40b84cd5b6de155a17890b5d8094cf772f56657230ad13a0c51a332e84fa4a38d8640a3890ae4b521a2eb897666d8c3f58e7cd9dc98e6eb3d55c84dfe44 + HEAD_REF main) + +vcpkg_cmake_configure( + SOURCE_PATH ${SOURCE_PATH} +) + +vcpkg_cmake_install() +vcpkg_copy_pdbs() + +# Handle copyright +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") +vcpkg_copy_tools(TOOL_NAMES embedresource AUTO_CLEAN) + +file(READ "${CURRENT_PACKAGES_DIR}/share/embedresource/EmbedResourceConfig.cmake" config_contents) +file(WRITE "${CURRENT_PACKAGES_DIR}/share/embedresource/EmbedResourceConfig.cmake" +"find_program( + EMBEDRESOURCE_EXECUTABLE embedresource + PATHS + \"\${CMAKE_CURRENT_LIST_DIR}/../../../${HOST_TRIPLET}/tools/${PORT}\" + NO_DEFAULT_PATH + REQUIRED) +${config_contents}" +) diff --git a/ports/ankurvdev-embedresource/vcpkg.json b/ports/ankurvdev-embedresource/vcpkg.json new file mode 100644 index 00000000000000..2aa1600f05cb77 --- /dev/null +++ b/ports/ankurvdev-embedresource/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "ankurvdev-embedresource", + "version": "0.0.11", + "description": "Cross Platform Resource Embedding", + "homepage": "https://github.com/ankurvdev/embedresource", + "license": "BSD-3-Clause", + "dependencies": [ + { + "name": "ankurvdev-embedresource", + "host": true + }, + { + "name": "vcpkg-cmake", + "host": true + } + ] +} diff --git a/ports/annoy/portfile.cmake b/ports/annoy/portfile.cmake new file mode 100644 index 00000000000000..d41003ac5cbe34 --- /dev/null +++ b/ports/annoy/portfile.cmake @@ -0,0 +1,20 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO spotify/annoy + REF "v${VERSION}" + SHA512 a8ec84440019a29dc2939b193ca1f894aad6bc95d2814a7f0296fbd5faf7bdb69072514db496a445993b20182133a8e4e6e774c75f17d3057d146e98bdde28ce + HEAD_REF master +) + +set(VCPKG_BUILD_TYPE "release") # header-only port + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/annoy) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/annoy/vcpkg.json b/ports/annoy/vcpkg.json new file mode 100644 index 00000000000000..96946d73c4cdc5 --- /dev/null +++ b/ports/annoy/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "annoy", + "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", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/antlr4/export_guid.patch b/ports/antlr4/export_guid.patch deleted file mode 100644 index 4974718a7a355d..00000000000000 --- a/ports/antlr4/export_guid.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff -urN a/runtime/src/support/guid.h b/runtime/src/support/guid.h ---- a/runtime/src/support/guid.h -+++ b/runtime/src/support/guid.h -@@ -38,7 +38,7 @@ - // 16 byte value that can be passed around by value. It also supports - // conversion to string (via the stream operator <<) and conversion from a - // string via constructor. --class Guid -+class ANTLR4CPP_PUBLIC Guid - { - public: - -@@ -90,7 +90,7 @@ - // function would no longer be cross-platform if we parameterized the android - // version. Instead, construction of the GuidGenerator may be different on - // each platform, but the use of newGuid is uniform. --class GuidGenerator -+class ANTLR4CPP_PUBLIC GuidGenerator - { - public: - #ifdef GUID_ANDROID - \ No newline at end of file diff --git a/ports/antlr4/fix_utfcpp_dependency.patch b/ports/antlr4/fix_utfcpp_dependency.patch deleted file mode 100644 index 629e12f38ec2c9..00000000000000 --- a/ports/antlr4/fix_utfcpp_dependency.patch +++ /dev/null @@ -1,45 +0,0 @@ -diff --git a/runtime/Cpp/runtime/CMakeLists.txt b/runtime/Cpp/runtime/CMakeLists.txt -index a8503bb61..e7b01b7cb 100644 ---- a/runtime/CMakeLists.txt -+++ b/runtime/CMakeLists.txt -@@ -1,17 +1,3 @@ -- --include(${CMAKE_ROOT}/Modules/ExternalProject.cmake) -- --set(THIRDPARTY_DIR ${CMAKE_BINARY_DIR}/runtime/thirdparty) --set(UTFCPP_DIR ${THIRDPARTY_DIR}/utfcpp) --ExternalProject_Add( -- utfcpp -- GIT_REPOSITORY "git://github.com/nemtrif/utfcpp" -- GIT_TAG "v3.1.1" -- SOURCE_DIR ${UTFCPP_DIR} -- UPDATE_DISCONNECTED 1 -- CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${UTFCPP_DIR}/install -Dgtest_force_shared_crt=ON -- TEST_AFTER_INSTALL 1 -- STEP_TARGETS build) - - - include_directories( -@@ -23,8 +13,6 @@ include_directories( - ${PROJECT_SOURCE_DIR}/runtime/src/tree - ${PROJECT_SOURCE_DIR}/runtime/src/tree/pattern - ${PROJECT_SOURCE_DIR}/runtime/src/tree/xpath -- ${UTFCPP_DIR}/install/include/utf8cpp -- ${UTFCPP_DIR}/install/include/utf8cpp/utf8 - ) - - -@@ -131,13 +119,6 @@ install(DIRECTORY "${PROJECT_SOURCE_DIR}/runtime/src/" - FILES_MATCHING PATTERN "*.h" - ) - --install(FILES "${UTFCPP_DIR}/source/utf8.h" -- DESTINATION "include/antlr4-runtime") --install(DIRECTORY "${UTFCPP_DIR}/source/utf8" -- DESTINATION "include/antlr4-runtime" -- COMPONENT dev -- FILES_MATCHING PATTERN "*.h" -- ) - - - diff --git a/ports/antlr4/fixed_build.patch b/ports/antlr4/fixed_build.patch deleted file mode 100644 index e0f8ff91f0b5d1..00000000000000 --- a/ports/antlr4/fixed_build.patch +++ /dev/null @@ -1,38 +0,0 @@ -diff -urN a/runtime/CMakeLists.txt b/runtime/CMakeLists.txt ---- a/runtime/CMakeLists.txt -+++ b/runtime/CMakeLists.txt -@@ -25,7 +25,7 @@ - add_library(antlr4_shared SHARED ${libantlrcpp_SRC}) - add_library(antlr4_static STATIC ${libantlrcpp_SRC}) - --set(LIB_OUTPUT_DIR "${CMAKE_HOME_DIRECTORY}/dist") # put generated libraries here. -+# set(LIB_OUTPUT_DIR "${CMAKE_HOME_DIRECTORY}/dist") # put generated libraries here. - message(STATUS "Output libraries to ${LIB_OUTPUT_DIR}") - - # make sure 'make' works fine even if ${LIB_OUTPUT_DIR} is deleted. -@@ -63,15 +63,15 @@ - set(extra_share_compile_flags "-DANTLR4CPP_EXPORTS") - set(extra_static_compile_flags "-DANTLR4CPP_STATIC") - endif(WIN32) --if(CMAKE_CXX_COMPILER_ID MATCHES "MSVC") -- if(WITH_STATIC_CRT) -- target_compile_options(antlr4_shared PRIVATE "/MT$<$:d>") -- target_compile_options(antlr4_static PRIVATE "/MT$<$:d>") -- else() -- target_compile_options(antlr4_shared PRIVATE "/MD$<$:d>") -- target_compile_options(antlr4_static PRIVATE "/MD$<$:d>") -- endif() --endif() -+# if(CMAKE_CXX_COMPILER_ID MATCHES "MSVC") -+# if(WITH_STATIC_CRT) -+# target_compile_options(antlr4_shared PRIVATE "/MT$<$:d>") -+# target_compile_options(antlr4_static PRIVATE "/MT$<$:d>") -+# else() -+# target_compile_options(antlr4_shared PRIVATE "/MD$<$:d>") -+# target_compile_options(antlr4_static PRIVATE "/MD$<$:d>") -+# endif() -+# endif() - - set(static_lib_suffix "") - if(CMAKE_CXX_COMPILER_ID MATCHES "MSVC") - \ No newline at end of file diff --git a/ports/antlr4/portfile.cmake b/ports/antlr4/portfile.cmake index 1770cabfc1dcac..367536e2cbcbaf 100644 --- a/ports/antlr4/portfile.cmake +++ b/ports/antlr4/portfile.cmake @@ -1,85 +1,35 @@ -vcpkg_fail_port_install(ON_TARGET "uwp") - -set(VERSION 4.9.1) - -vcpkg_download_distfile(ARCHIVE - URLS "http://www.antlr.org/download/antlr4-cpp-runtime-${VERSION}-source.zip" - FILENAME "antlr4-cpp-runtime-${VERSION}-source.zip" - SHA512 fe33005f73f8d408fcea8ebab62c0def119bbe0c075f04a66404d0df258126eb6caf0a8bbac34d5c4c9e79d4aa8896f32698a560d4be7d71a32dcc3457245cee -) - -# license not exist in antlr folder. -vcpkg_download_distfile(LICENSE - URLS https://raw.githubusercontent.com/antlr/antlr4/${VERSION}/LICENSE.txt - FILENAME "antlr4-copyright-${VERSION}" - SHA512 1e8414de5fdc211e3188a8ec3276c6b3c55235f5edaf48522045ae18fa79fd9049719cb8924d25145016f223ac9a178defada1eeb983ccff598a08b0c0f67a3b -) - -vcpkg_extract_source_archive_ex( +vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} - NO_REMOVE_ONE_LEVEL - REF ${VERSION} - PATCHES - fixed_build.patch - uuid_discovery_fix.patch - export_guid.patch - fix_utfcpp_dependency.patch + REPO antlr/antlr4 + HEAD_REF dev + REF "${VERSION}" + SHA512 afd8ecab637a0e70cddf98f63c918eab2b907f87207624e20e80a79f885d6502d4ab734a602b1707969d61944410828b689ec2f8b09c15314fe991024cde1613 + PATCHES + set-export-macro-define-as-private.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS_DEBUG -DLIB_OUTPUT_DIR=${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/dist - OPTIONS_RELEASE -DLIB_OUTPUT_DIR=${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/dist -) +set(RUNTIME_PATH "${SOURCE_PATH}/runtime/Cpp") -vcpkg_install_cmake() +message(INFO "Configure at '${RUNTIME_PATH}'") -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share/doc - ${CURRENT_PACKAGES_DIR}/debug/share - ${CURRENT_PACKAGES_DIR}/debug/include -) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED) -if (NOT VCPKG_CMAKE_SYSTEM_NAME) - if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/antlr4-runtime-static.lib - ${CURRENT_PACKAGES_DIR}/debug/lib/antlr4-runtime-static.lib - ) +vcpkg_cmake_configure( + SOURCE_PATH "${RUNTIME_PATH}" + OPTIONS + -DANTLR_BUILD_STATIC=${BUILD_STATIC} + -DANTLR_BUILD_SHARED=${BUILD_SHARED} + -DANTLR4_INSTALL=ON + -DANTLR_BUILD_CPP_TESTS=OFF +) - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) - file(RENAME ${CURRENT_PACKAGES_DIR}/lib/antlr4-runtime.dll ${CURRENT_PACKAGES_DIR}/bin/antlr4-runtime.dll) - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/antlr4-runtime.dll ${CURRENT_PACKAGES_DIR}/debug/bin/antlr4-runtime.dll) - else() - file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/antlr4-runtime.lib - ${CURRENT_PACKAGES_DIR}/lib/antlr4-runtime.dll - ${CURRENT_PACKAGES_DIR}/debug/lib/antlr4-runtime.lib - ${CURRENT_PACKAGES_DIR}/debug/lib/antlr4-runtime.dll - ) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME antlr4-generator CONFIG_PATH lib/cmake/antlr4-generator DO_NOT_DELETE_PARENT_CONFIG_PATH) +vcpkg_cmake_config_fixup(PACKAGE_NAME antlr4-runtime CONFIG_PATH lib/cmake/antlr4-runtime) - file(RENAME ${CURRENT_PACKAGES_DIR}/lib/antlr4-runtime-static.lib ${CURRENT_PACKAGES_DIR}/lib/antlr4-runtime.lib) - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/antlr4-runtime-static.lib ${CURRENT_PACKAGES_DIR}/debug/lib/antlr4-runtime.lib) - endif() -else() - if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/libantlr4-runtime.a - ${CURRENT_PACKAGES_DIR}/debug/lib/libantlr4-runtime.a - ) - elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL Linux) - file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/libantlr4-runtime.so - ${CURRENT_PACKAGES_DIR}/lib/libantlr4-runtime.so.${VERSION} - ${CURRENT_PACKAGES_DIR}/debug/lib/libantlr4-runtime.so - ${CURRENT_PACKAGES_DIR}/debug/lib/libantlr4-runtime.so.${VERSION} - ) - else() - file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/libantlr4-runtime.dylib - ${CURRENT_PACKAGES_DIR}/lib/libantlr4-runtime.${VERSION}.dylib - ${CURRENT_PACKAGES_DIR}/debug/lib/libantlr4-runtime.dylib - ${CURRENT_PACKAGES_DIR}/debug/lib/libantlr4-runtime.${VERSION}.dylib - ) - endif() -endif() +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") vcpkg_copy_pdbs() -file(INSTALL ${LICENSE} DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") diff --git a/ports/antlr4/set-export-macro-define-as-private.patch b/ports/antlr4/set-export-macro-define-as-private.patch new file mode 100644 index 00000000000000..c8c774f516274d --- /dev/null +++ b/ports/antlr4/set-export-macro-define-as-private.patch @@ -0,0 +1,13 @@ +diff --git a/runtime/Cpp/runtime/CMakeLists.txt b/runtime/Cpp/runtime/CMakeLists.txt +index 86fdab9..97486fb 100644 +--- a/runtime/Cpp/runtime/CMakeLists.txt ++++ b/runtime/Cpp/runtime/CMakeLists.txt +@@ -120,7 +120,7 @@ set(static_lib_suffix "") + if (WIN32) + set(static_lib_suffix "-static") + if (TARGET antlr4_shared) +- target_compile_definitions(antlr4_shared PUBLIC ANTLR4CPP_EXPORTS) ++ target_compile_definitions(antlr4_shared PRIVATE ANTLR4CPP_EXPORTS) + endif() + if (TARGET antlr4_static) + target_compile_definitions(antlr4_static PUBLIC ANTLR4CPP_STATIC) diff --git a/ports/antlr4/uuid_discovery_fix.patch b/ports/antlr4/uuid_discovery_fix.patch deleted file mode 100644 index 818a9307be9f45..00000000000000 --- a/ports/antlr4/uuid_discovery_fix.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff -urN a/CMakeLists.txt b/CMakeLists.txt ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -40,8 +40,10 @@ - endif() - - if(CMAKE_SYSTEM_NAME MATCHES "Linux") -- find_package(PkgConfig REQUIRED) -- pkg_check_modules(UUID REQUIRED uuid) -+ find_path(UUID_INCLUDE_DIR uuid/uuid.h) -+ find_library(UUID_LIBRARY NAMES uuid) -+ include_directories(${UUID_INCLUDE_DIR}) -+ link_libraries(${UUID_LIBRARY}) - endif() - if(APPLE) - find_library(COREFOUNDATION_LIBRARY CoreFoundation) -diff -urN a/runtime/src/support/guid.cpp b/runtime/src/support/guid.cpp ---- a/runtime/src/support/guid.cpp -+++ b/runtime/src/support/guid.cpp -@@ -22,6 +22,7 @@ - THE SOFTWARE. - */ - -+#include "antlr4-common.h" - #include "guid.h" - - #ifdef GUID_LIBUUID - \ No newline at end of file diff --git a/ports/antlr4/vcpkg.json b/ports/antlr4/vcpkg.json index 22a33dc30588e8..c985f70719c635 100644 --- a/ports/antlr4/vcpkg.json +++ b/ports/antlr4/vcpkg.json @@ -1,14 +1,22 @@ { "name": "antlr4", - "version-string": "4.9.1", - "port-version": 1, + "version": "4.13.2", "description": "ANother Tool for Language Recognition", "homepage": "https://www.antlr.org", + "license": "BSD-3-Clause", "supports": "!uwp", "dependencies": [ { "name": "libuuid", "platform": "!uwp & !windows & !osx" + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true } ] } diff --git a/ports/anyrpc/mingw.patch b/ports/anyrpc/mingw.patch new file mode 100644 index 00000000000000..e2a8e5428b685b --- /dev/null +++ b/ports/anyrpc/mingw.patch @@ -0,0 +1,216 @@ +diff --color -ur a/cmake/FindLog4cplus.cmake b/cmake/FindLog4cplus.cmake +--- a/cmake/FindLog4cplus.cmake 2020-01-13 18:31:55.000000000 +0100 ++++ b/cmake/FindLog4cplus.cmake 2022-07-19 19:35:41.701935383 +0200 +@@ -61,12 +61,12 @@ + + endif () + ++# needed to use find_package_handle_standard_args ++include(FindPackageHandleStandardArgs) ++ + if (LOG4CPLUS_INCLUDE_DIR) + # set the correct variable name for the header directories + set(LOG4CPLUS_INCLUDE_DIRS ${LOG4CPLUS_INCLUDE_DIR}) +- +- # needed to use find_package_handle_standard_args +- include(FindPackageHandleStandardArgs) + + if (LOG4CPLUS_LIBRARY_RELEASE AND LOG4CPLUS_LIBRARY_DEBUG) + # set the libaries varible to use the release and debug versions +diff --color -ur a/cmake/FindMsgpack.cmake b/cmake/FindMsgpack.cmake +--- a/cmake/FindMsgpack.cmake 2020-01-13 18:31:55.000000000 +0100 ++++ b/cmake/FindMsgpack.cmake 2022-07-19 19:35:41.702935385 +0200 +@@ -61,13 +61,13 @@ + + endif () + ++# needed to use find_package_handle_standard_args ++include(FindPackageHandleStandardArgs) ++ + if (MSGPACK_INCLUDE_DIR) + # set the correct variable name for the header directories + set(MSGPACK_INCLUDE_DIRS ${MSGPACK_INCLUDE_DIR}) + +- # needed to use find_package_handle_standard_args +- include(FindPackageHandleStandardArgs) +- + if (MSGPACK_LIBRARY_RELEASE AND MSGPACK_LIBRARY_DEBUG) + # set the libaries varible to use the release and debug versions + find_package_handle_standard_args(MSGPACK DEFAULT_MSG MSGPACK_INCLUDE_DIR MSGPACK_LIBRARY_RELEASE MSGPACK_LIBRARY_DEBUG) +diff --color -ur a/CMakeLists.txt b/CMakeLists.txt +--- a/CMakeLists.txt 2020-01-13 18:31:55.000000000 +0100 ++++ b/CMakeLists.txt 2022-07-19 19:36:01.112980511 +0200 +@@ -63,6 +63,7 @@ + set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc" ) + elseif (MINGW) + SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -U__STRICT_ANSI__" ) ++ add_definitions( -D _POSIX_THREAD_SAFE_FUNCTIONS ) + elseif (BUILD_WITH_ADDRESS_SANITIZE) + SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address -fno-omit-frame-pointer" ) + SET( ASAN_LIBRARY asan ) +diff --color -ur a/example/CMakeLists.txt b/example/CMakeLists.txt +--- a/example/CMakeLists.txt 2020-01-13 18:31:55.000000000 +0100 ++++ b/example/CMakeLists.txt 2022-07-19 19:35:41.696935371 +0200 +@@ -48,5 +48,13 @@ + + # Add the necessary external library references + target_link_libraries( ${SOURCEFILE} anyrpc ${ASAN_LIBRARY} ${LOG4CPLUS_LIBRARIES} ${MSGPACK_LIBRARIES}) ++ ++ if (WIN32) ++ target_compile_definitions(${SOURCEFILE} ++ PRIVATE ++ WINVER=0x0A00 ++ _WIN32_WINNT=0x0A00 ++ ) ++ endif () + endforeach () + +diff --color -ur a/include/anyrpc/connection.h b/include/anyrpc/connection.h +--- a/include/anyrpc/connection.h 2020-01-13 18:31:55.000000000 +0100 ++++ b/include/anyrpc/connection.h 2022-07-19 19:35:41.698935376 +0200 +@@ -22,11 +22,7 @@ + #define ANYRPC_CONNECTION_H_ + + #if defined(ANYRPC_THREADING) +-# if defined(__MINGW32__) +-# include "internal/mingw.thread.h" +-# else +-# include +-# endif // defined(__MINGW32__) ++# include + #endif // defined(ANYRPC_THREADING) + + #if defined(ANYRPC_REGEX) +diff --color -ur a/include/anyrpc/internal/time.h b/include/anyrpc/internal/time.h +--- a/include/anyrpc/internal/time.h 2020-01-13 18:31:55.000000000 +0100 ++++ b/include/anyrpc/internal/time.h 2022-07-19 19:35:41.698935376 +0200 +@@ -32,10 +32,6 @@ + int gettimeofday(struct timeval * tp, struct timezone * tzp); + #endif + +-#if defined(__MINGW32__) +-struct tm* localtime_r(const time_t *timep, struct tm *result); +-#endif +- + //! Compute the difference between the two times in milliseconds + ANYRPC_API int MilliTimeDiff(struct timeval &time1, struct timeval &time2); + +diff --color -ur a/include/anyrpc/server.h b/include/anyrpc/server.h +--- a/include/anyrpc/server.h 2020-01-13 18:31:55.000000000 +0100 ++++ b/include/anyrpc/server.h 2022-07-19 19:35:41.699935378 +0200 +@@ -22,24 +22,9 @@ + #define ANYRPC_SERVER_H_ + + #if defined(ANYRPC_THREADING) +-# if defined(__MINGW32__) +-// These constants are not defined for mingw but are needed in the following libraries +-# ifndef EOWNERDEAD +-# define EOWNERDEAD 133 /* File too big */ +-# endif +-# ifndef EPROTO +-# define EPROTO 134 /* Protocol error */ +-# endif +- +-# include "internal/mingw.thread.h" +-# include +-# include "internal/mingw.mutex.h" +-# include "internal/mingw.condition_variable.h" +-# else +-# include +-# include +-# include +-# endif //defined(__MINGW32__) ++# include ++# include ++# include + #endif //defined(ANYRPC_THREADING) + + namespace anyrpc +diff --color -ur a/src/CMakeLists.txt b/src/CMakeLists.txt +--- a/src/CMakeLists.txt 2020-01-13 18:31:55.000000000 +0100 ++++ b/src/CMakeLists.txt 2022-07-19 19:35:41.697935374 +0200 +@@ -57,6 +57,12 @@ + # Need the winsock library for Windows + if (WIN32) + target_link_libraries(anyrpc ws2_32) ++ ++ target_compile_definitions(anyrpc ++ PRIVATE ++ WINVER=0x0A00 ++ _WIN32_WINNT=0x0A00 ++ ) + endif () + + set_target_properties( anyrpc PROPERTIES VERSION ${ANYRPC_VERSION} SOVERSION ${ANYRPC_VERSION_MAJOR} ) +diff --color -ur a/src/internal/time.cpp b/src/internal/time.cpp +--- a/src/internal/time.cpp 2020-01-13 18:31:55.000000000 +0100 ++++ b/src/internal/time.cpp 2022-07-19 19:35:41.699935378 +0200 +@@ -26,11 +26,8 @@ + #include + #endif + +-#if defined(_MSC_VER) +-#elif defined(__MINGW32__) +-#include +-#else +-#include ++#if !defined(_MSC_VER) ++# include + #endif + + namespace anyrpc +@@ -57,16 +54,6 @@ + } + #endif + +-#if defined(__MINGW32__) +-struct tm* localtime_r(const time_t *timep, struct tm *result) +-{ +- // with Windows localtime is threadsafe since the pointer is to thread local storage +- struct tm *t=localtime(timep); +- memcpy(result,t,sizeof(struct tm)); +- return result; +-} +-#endif +- + int MilliTimeDiff( struct timeval &time1, struct timeval &time2 ) + { + return (time1.tv_sec - time2.tv_sec) * 1000 + (time1.tv_usec - time2.tv_usec)/1000; +diff --color -ur a/src/socket.cpp b/src/socket.cpp +--- a/src/socket.cpp 2020-01-13 18:31:55.000000000 +0100 ++++ b/src/socket.cpp 2022-07-19 19:35:41.701935383 +0200 +@@ -98,7 +98,7 @@ + int Socket::SetKeepAliveInterval(int startTime, int interval, int probeCount) + { + log_debug( "SetKeepAliveInterval: startTime=" << startTime << ", interval=" << interval << ", probeCount=" << probeCount); +-#if defined(_MSC_VER) ++#if defined(_MSC_VER) || defined(__MINGW32__) + DWORD outBytes; + tcp_keepalive tcp_ka; + tcp_ka.onoff = 1; +@@ -109,7 +109,7 @@ + if (result < 0) + log_debug( "SetKeepAliveInterval: result = " << result ); + return result; +-#elif defined(__MINGW32__) || defined(__CYGWIN__) ++#elif defined(__CYGWIN__) + // don't see how this can be performed right now + #elif (__APPLE__) + int result = setsockopt( fd_, IPPROTO_TCP, TCP_KEEPALIVE, (char*)&startTime, sizeof(startTime) ); +@@ -554,15 +554,11 @@ + + port = ntohs(receiveAddr.sin_port); + +-#if defined(__MINGW32__) +- // should be thread-safe since it would use the Windows call +- ipAddress = inet_ntoa(receiveAddr.sin_addr); +-#else + // Only need this buffer to perform the address conversion in a thread-safe call + const unsigned bufferLength = 100; + char addrBuffer[bufferLength]; + ipAddress = inet_ntop(AF_INET,&receiveAddr.sin_addr, addrBuffer, bufferLength); +-#endif ++ + log_debug("Udp Receive: address=" << ipAddress << ", port=" << port); + + eof = (numBytes == 0); diff --git a/ports/anyrpc/portfile.cmake b/ports/anyrpc/portfile.cmake index 3090d2db9cfec8..73e58ce92e0075 100644 --- a/ports/anyrpc/portfile.cmake +++ b/ports/anyrpc/portfile.cmake @@ -5,13 +5,14 @@ vcpkg_from_github( SHA512 8c674d29e80ec2522d6c1ec959663958ab4e1bf1135727c3c2aaa19e62a81ddbbd1e6a46f3e4679ee02894ad2ab26e70ca7e1e6c8750f3289994311069221b53 HEAD_REF master FILE_DISAMBIGUATOR 1 + PATCHES + mingw.patch # Remove this when https://github.com/sgieseking/anyrpc/pull/46 is released ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" ANYRPC_LIB_BUILD_SHARED) -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - PREFER_NINJA DISABLE_PARALLEL_CONFIGURE OPTIONS -DBUILD_EXAMPLES=OFF @@ -20,7 +21,7 @@ vcpkg_configure_cmake( -DANYRPC_LIB_BUILD_SHARED=${ANYRPC_LIB_BUILD_SHARED} ) -vcpkg_install_cmake() +vcpkg_cmake_install() 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/anyrpc/vcpkg.json b/ports/anyrpc/vcpkg.json index 02ffac66d9dc0a..9db74646cf3afc 100644 --- a/ports/anyrpc/vcpkg.json +++ b/ports/anyrpc/vcpkg.json @@ -1,6 +1,17 @@ { "name": "anyrpc", "version-date": "2021-08-24", + "port-version": 2, "description": "A multiprotocol remote procedure call system for C++.", - "homepage": "https://github.com/sgieseking/anyrpc" + "homepage": "https://github.com/sgieseking/anyrpc", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } 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 new file mode 100644 index 00000000000000..37a7166cc04694 --- /dev/null +++ b/ports/aom/aom-uninitialized-pointer.diff @@ -0,0 +1,13 @@ +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 aaad140a9971e1..b70e2ac9869a78 100644 --- a/ports/aom/portfile.cmake +++ b/ports/aom/portfile.cmake @@ -1,50 +1,57 @@ -vcpkg_fail_port_install(ON_ARCH "arm" ON_TARGET "UWP") - -# 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 6bbe6ae701d65bdf36bb72053db9b71f9739a083 - TAG v3.2.0 + REF 8ad484f8a18ed1853c094e7d3a4e023b2a92df28 # v3.9.1 + HEAD_REF main PATCHES aom-rename-static.diff - # Can be dropped when https://bugs.chromium.org/p/aomedia/issues/detail?id=3029 is merged into the upstream - aom-install.diff + aom-uninitialized-pointer.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 + # Also, disable assembly on ARM and ARM64 Windows to fix compilation issues. + 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 + ${aom_target_cpu} -DENABLE_DOCS=OFF -DENABLE_EXAMPLES=OFF -DENABLE_TESTDATA=OFF -DENABLE_TESTS=OFF -DENABLE_TOOLS=OFF + -DTHREADS_PREFER_PTHREAD_FLAGS=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}) +if(VCPKG_TARGET_IS_WINDOWS AND NOT VPCKG_TARGET_IS_MINGW) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/aom.pc" " -lm" "") + if(NOT VCPKG_BUILD_TYPE) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/aom.pc" " -lm" "") + endif() +endif() -# Remove duplicate files -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" +) -# Handle copyright -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/aom/vcpkg.json b/ports/aom/vcpkg.json index 4c129276311c9c..4d29e3feef91e3 100644 --- a/ports/aom/vcpkg.json +++ b/ports/aom/vcpkg.json @@ -1,10 +1,9 @@ { "name": "aom", - "version-semver": "3.2.0", - "port-version": 1, + "version-semver": "3.9.1", "description": "AV1 codec library", "homepage": "https://aomedia.googlesource.com/aom", - "supports": "!uwp & !arm", + "license": "BSD-2-Clause", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/apache-datasketches/portfile.cmake b/ports/apache-datasketches/portfile.cmake new file mode 100644 index 00000000000000..955fdfd80d2be9 --- /dev/null +++ b/ports/apache-datasketches/portfile.cmake @@ -0,0 +1,23 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO apache/datasketches-cpp + REF "${VERSION}" + SHA512 eb307d0e6468fc4784fb4ba2a49b894c59c2669386c5983afd671695dadd4e50711de6a50a2824d14af7c474fdbb0c6bbe2f3352d2481fb74fd16654674cbbfc + HEAD_REF master +) + +set(VCPKG_BUILD_TYPE release) # header-only port + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_TESTS=OFF +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME DataSketches CONFIG_PATH lib/DataSketches/cmake) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") + +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/apache-datasketches/usage b/ports/apache-datasketches/usage new file mode 100644 index 00000000000000..3897b28bb455e1 --- /dev/null +++ b/ports/apache-datasketches/usage @@ -0,0 +1,4 @@ +apache-datasketches provides CMake targets: + + find_package(DataSketches CONFIG REQUIRED) + target_link_libraries(main PRIVATE datasketches) diff --git a/ports/apache-datasketches/vcpkg.json b/ports/apache-datasketches/vcpkg.json new file mode 100644 index 00000000000000..b5323424029e84 --- /dev/null +++ b/ports/apache-datasketches/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "apache-datasketches", + "version": "5.0.2", + "description": "Apache DataSketches Core C++ Library Component.", + "homepage": "https://datasketches.apache.org/", + "license": "Apache-2.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/approval-tests-cpp/portfile.cmake b/ports/approval-tests-cpp/portfile.cmake index b6b55b28e762dd..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.0/ApprovalTests.v.10.12.0.hpp - FILENAME ApprovalTests.v.10.12.0.hpp - SHA512 a6a5030cc4f438f218bb55c25124ed3df749d36a0f032ff21b3a68ee4334eb4562944a0f5f73d0c253d674517f8a819349371e248eca271ce5577236f1598b8c + 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.0/LICENSE - FILENAME ApprovalTestsLicense.v.10.12.0 + 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 1c6ad01bb0d61f..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.0", + "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-util/portfile.cmake b/ports/apr-util/portfile.cmake index 1065bdb7234c0c..52b3c6cdbff609 100644 --- a/ports/apr-util/portfile.cmake +++ b/ports/apr-util/portfile.cmake @@ -1,54 +1,75 @@ vcpkg_download_distfile(ARCHIVE - URLS "http://archive.apache.org/dist/apr/apr-util-1.6.1.tar.bz2" - FILENAME "apr-util-1.6.1.tar.bz2" - SHA512 40eff8a37c0634f7fdddd6ca5e596b38de15fd10767a34c30bbe49c632816e8f3e1e230678034f578dd5816a94f246fb5dfdf48d644829af13bf28de3225205d + URLS "https://archive.apache.org/dist/apr/apr-util-${VERSION}.tar.bz2" + FILENAME "apr-util-${VERSION}.tar.bz2" + SHA512 8050a481eeda7532ef3751dbd8a5aa6c48354d52904a856ef9709484f4b0cc2e022661c49ddf55ec58253db22708ee0607dfa7705d9270e8fee117ae4f06a0fe +) +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS +FEATURES + crypto APU_HAVE_CRYPTO + crypto CMAKE_REQUIRE_FIND_PACKAGE_OpenSSL ) if(VCPKG_TARGET_IS_WINDOWS) - vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} + vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" PATCHES use-vcpkg-expat.patch apr.patch + unglue.patch ) - if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - set(APU_DECLARE_EXPORT ON) - set(APU_DECLARE_STATIC OFF) - else() - set(APU_DECLARE_EXPORT OFF) - set(APU_DECLARE_STATIC ON) - endif() - - vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA + vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DAPU_DECLARE_EXPORT=${APU_DECLARE_EXPORT} - -DAPU_DECLARE_STATIC=${APU_DECLARE_STATIC} + ${FEATURE_OPTIONS} OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON ) - vcpkg_install_cmake() + vcpkg_cmake_install() vcpkg_copy_pdbs() - file(READ ${CURRENT_PACKAGES_DIR}/include/apu.h APU_H) + # Upstream include/apu.h.in has: + # ``` + #elif defined(APU_DECLARE_STATIC) + #define APU_DECLARE(type) type __stdcall + #define APU_DECLARE_NONSTD(type) type __cdecl + #define APU_DECLARE_DATA + #elif defined(APU_DECLARE_EXPORT) + #define APU_DECLARE(type) __declspec(dllexport) type __stdcall + #define APU_DECLARE_NONSTD(type) __declspec(dllexport) type __cdecl + #define APU_DECLARE_DATA __declspec(dllexport) + #else + #define APU_DECLARE(type) __declspec(dllimport) type __stdcall + #define APU_DECLARE_NONSTD(type) __declspec(dllimport) type __cdecl + #define APU_DECLARE_DATA __declspec(dllimport) + #endif + # ``` + # When building, BUILD_SHARED_LIBS sets APU_DECLARE_STATIC to 0 and APU_DECLARE_EXPORT to 1 + # Not BUILD_SHARED_LIBS sets APU_DECLARE_STATIC to 1 and APU_DECLARE_EXPORT to 0 + # When consuming APU_DECLARE_EXPORT is always 0 (assumed), so we need only embed the static or not setting + # into the resulting headers: if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - string(REPLACE "defined(APU_DECLARE_EXPORT)" "1" APU_H "${APU_H}") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/apu.h" "defined(APU_DECLARE_STATIC)" "0") else() - string(REPLACE "defined(APU_DECLARE_STATIC)" "1" APU_H "${APU_H}") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/apu.h" "defined(APU_DECLARE_STATIC)" "1") endif() - file(WRITE ${CURRENT_PACKAGES_DIR}/include/apu.h "${APU_H}") - -else(VCPKG_TARGET_IS_WINDOWS) - vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} +else() + vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" ) + if ("crypto" IN_LIST FEATURES) + set(CRYPTO_OPTIONS + "--with-crypto=yes" + "--with-openssl=${CURRENT_INSTALLED_DIR}") + else() + set(CRYPTO_OPTIONS "--with-crypto=no") + endif() + # 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". # For example, to target aarch64-linux-gnu, triplets/aarch64-linux-gnu.cmake should contain (beyond the standard content): @@ -64,20 +85,24 @@ else(VCPKG_TARGET_IS_WINDOWS) vcpkg_configure_make( SOURCE_PATH "${SOURCE_PATH}" - NO_DEBUG - OPTIONS + OPTIONS "--prefix=${CURRENT_INSTALLED_DIR}" + ${CRYPTO_OPTIONS} "--with-apr=${CURRENT_INSTALLED_DIR}/tools/apr" - "--with-openssl=${CURRENT_INSTALLED_DIR}" - "-with-expat=${CURRENT_INSTALLED_DIR}" + "--with-expat=${CURRENT_INSTALLED_DIR}" "${CONFIGURE_PARAMETER_1}" "${CONFIGURE_PARAMETER_2}" "${CONFIGURE_PARAMETER_3}" ) vcpkg_install_make() - + vcpkg_fixup_pkgconfig() + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/apr-util/bin/apu-1-config" "${CURRENT_INSTALLED_DIR}" "`dirname $0`/../../..") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/apr-util/bin/apu-1-config" "${CURRENT_BUILDTREES_DIR}" "not/existing") + if(NOT VCPKG_BUILD_TYPE) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/apr-util/debug/bin/apu-1-config" "${CURRENT_INSTALLED_DIR}" "`dirname $0`/../../../..") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/apr-util/debug/bin/apu-1-config" "${CURRENT_BUILDTREES_DIR}" "not/existing") + endif() endif() -# Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/apr-util/unglue.patch b/ports/apr-util/unglue.patch new file mode 100644 index 00000000000000..5391a7cb0e8184 --- /dev/null +++ b/ports/apr-util/unglue.patch @@ -0,0 +1,17 @@ +diff --git a/include/apu_version.h b/include/apu_version.h +index e4fb2e64e..c6addf142 100644 +--- a/include/apu_version.h ++++ b/include/apu_version.h +@@ -98,9 +98,9 @@ + + /** An alternative formatted string of APR's version */ + /* macro for Win32 .rc files using numeric csv representation */ +-#define APU_VERSION_STRING_CSV APU_MAJOR_VERSION ##, \ +- ##APU_MINOR_VERSION ##, \ +- ##APU_PATCH_VERSION ++#define APU_VERSION_STRING_CSV APU_MAJOR_VERSION , \ ++ APU_MINOR_VERSION , \ ++ APU_PATCH_VERSION + + + #ifndef APU_VERSION_ONLY diff --git a/ports/apr-util/use-vcpkg-expat.patch b/ports/apr-util/use-vcpkg-expat.patch index 8a35f2bc56896d..6c9fa280a694db 100644 --- a/ports/apr-util/use-vcpkg-expat.patch +++ b/ports/apr-util/use-vcpkg-expat.patch @@ -1,124 +1,114 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 9ae90b1..71a50b0 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -21,16 +21,14 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.8) - - FIND_PACKAGE(OpenSSL) - --FIND_PACKAGE(expat) -- - OPTION(APU_HAVE_CRYPTO "Crypto support" OFF) - OPTION(APU_HAVE_ODBC "Build ODBC DBD driver" ON) - OPTION(APR_HAS_LDAP "LDAP support" ON) - OPTION(INSTALL_PDB "Install .pdb files (if generated)" ON) - OPTION(APR_BUILD_TESTAPR "Build the test suite" OFF) - OPTION(TEST_STATIC_LIBS "Test programs use APR static libraries instead of shared libraries?" OFF) --SET(APR_INCLUDE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE STRING "Directory with APR include files") --SET(APR_LIBRARIES "${CMAKE_INSTALL_PREFIX}/lib/libapr-1.lib" CACHE STRING "APR library to link with") -+find_path(APR_INCLUDE_DIR apr.h) -+find_library(APR_LIBRARIES NAMES libapr-1 apr-1) - - IF(NOT EXISTS "${APR_INCLUDE_DIR}/apr.h") - MESSAGE(FATAL_ERROR "APR include directory ${APR_INCLUDE_DIR} is not correct.") -@@ -61,13 +59,13 @@ IF(APR_HAS_LDAP) - SET(apr_has_ldap_10 1) - ENDIF() - --IF(NOT EXPAT_FOUND) -+find_package(expat) -+set(XMLLIB_INCLUDE_DIR ${EXPAT_INCLUDE_DIRS}) -+set(XMLLIB_LIBRARIES ${EXPAT_LIBRARIES}) -+IF(NOT XMLLIB_LIBRARIES) - MESSAGE(FATAL_ERROR "Expat is required, and it wasn't found!") - ENDIF() - --SET(XMLLIB_INCLUDE_DIR ${EXPAT_INCLUDE_DIRS}) --SET(XMLLIB_LIBRARIES ${EXPAT_LIBRARIES}) -- - SET(LDAP_LIBRARIES) - IF(APR_HAS_LDAP) - SET(LDAP_LIBRARIES wldap32) -@@ -229,17 +227,21 @@ SET(dbd_drivers) - # Note: The WINNT definition on some targets is used only by libaprutil.rc. - - # libaprutil-1 is shared, aprutil-1 is static -+if(BUILD_SHARED_LIBS) - ADD_LIBRARY(libaprutil-1 SHARED ${APR_SOURCES} ${APR_PUBLIC_HEADERS_GENERATED} libaprutil.rc) - SET(install_targets ${install_targets} libaprutil-1) - SET(install_bin_pdb ${install_bin_pdb} ${PROJECT_BINARY_DIR}/libaprutil-1.pdb) - TARGET_LINK_LIBRARIES(libaprutil-1 ${APR_LIBRARIES} ${XMLLIB_LIBRARIES}) --SET_TARGET_PROPERTIES(libaprutil-1 PROPERTIES COMPILE_DEFINITIONS "APU_DECLARE_EXPORT;APR_DECLARE_EXPORT;XML_STATIC;WINNT") -+SET_TARGET_PROPERTIES(libaprutil-1 PROPERTIES COMPILE_DEFINITIONS "APU_DECLARE_EXPORT;APR_DECLARE_IMPORT;XML_STATIC;WINNT") - -+else(BUILD_SHARED_LIBS) - ADD_LIBRARY(aprutil-1 STATIC ${APR_SOURCES} ${APR_PUBLIC_HEADERS_GENERATED}) - SET(install_targets ${install_targets} aprutil-1) - TARGET_LINK_LIBRARIES(aprutil-1 ${APR_LIBRARIES} ${XMLLIB_LIBRARIES}) - SET_TARGET_PROPERTIES(aprutil-1 PROPERTIES COMPILE_DEFINITIONS "APU_DECLARE_STATIC;APR_DECLARE_STATIC;APU_DSO_MODULE_BUILD;XML_STATIC") -+endif(BUILD_SHARED_LIBS) - -+if(BUILD_SHARED_LIBS) - IF(APU_HAVE_CRYPTO) - IF(NOT OPENSSL_FOUND) - MESSAGE(FATAL_ERROR "Only OpenSSL-based crypto is currently implemented in the cmake build") -@@ -249,7 +251,7 @@ IF(APU_HAVE_CRYPTO) - SET(install_bin_pdb ${install_bin_pdb} ${PROJECT_BINARY_DIR}/apr_crypto_openssl-1.pdb) - SET_TARGET_PROPERTIES(apr_crypto_openssl-1 PROPERTIES INCLUDE_DIRECTORIES "${APR_INCLUDE_DIRECTORIES};${OPENSSL_INCLUDE_DIR}") - SET_TARGET_PROPERTIES(apr_crypto_openssl-1 PROPERTIES COMPILE_DEFINITIONS "WINNT") -- SET_TARGET_PROPERTIES(apr_crypto_openssl-1 PROPERTIES COMPILE_FLAGS "-DAPR_DECLARE_EXPORT=1 -DAPU_DECLARE_EXPORT=1 -DDLL_NAME=apr_crypto_openssl") -+ SET_TARGET_PROPERTIES(apr_crypto_openssl-1 PROPERTIES COMPILE_FLAGS "-DAPR_DECLARE_IMPORT -DAPU_DECLARE_IMPORT -DDLL_NAME=apr_crypto_openssl") - TARGET_LINK_LIBRARIES(apr_crypto_openssl-1 libaprutil-1 ${APR_LIBRARIES} ${OPENSSL_LIBRARIES}) - ENDIF() - -@@ -260,8 +262,8 @@ IF(APU_HAVE_ODBC) - SET(dbd_drivers ${dbd_drivers} odbc) - TARGET_LINK_LIBRARIES(apr_dbd_odbc-1 libaprutil-1 ${APR_LIBRARIES} odbc32 odbccp32) - SET_PROPERTY(TARGET apr_dbd_odbc-1 APPEND PROPERTY LINK_FLAGS /export:apr_dbd_odbc_driver) -- SET_TARGET_PROPERTIES(apr_dbd_odbc-1 PROPERTIES COMPILE_DEFINITIONS "APU_HAVE_ODBC;HAVE_SQL_H;APU_DECLARE_EXPORT;APR_DECLARE_EXPORT;APU_DSO_MODULE_BUILD;WINNT") -- SET_TARGET_PROPERTIES(apr_dbd_odbc-1 PROPERTIES COMPILE_FLAGS "-DAPR_DECLARE_EXPORT=1 -DAPU_DECLARE_EXPORT=1 -DDLL_NAME=apr_dbd_odbc") -+ SET_TARGET_PROPERTIES(apr_dbd_odbc-1 PROPERTIES COMPILE_DEFINITIONS "APU_HAVE_ODBC;HAVE_SQL_H;APU_DECLARE_IMPORT;APR_DECLARE_IMPORT;APU_DSO_MODULE_BUILD;WINNT") -+ SET_TARGET_PROPERTIES(apr_dbd_odbc-1 PROPERTIES COMPILE_FLAGS "-DAPR_DECLARE_IMPORT -DAPU_DECLARE_IMPORT -DDLL_NAME=apr_dbd_odbc") - ENDIF() - - IF(APR_HAS_LDAP) -@@ -271,11 +273,12 @@ IF(APR_HAS_LDAP) - SET(install_bin_pdb ${install_bin_pdb} ${PROJECT_BINARY_DIR}/apr_ldap-1.pdb) - TARGET_LINK_LIBRARIES(apr_ldap-1 libaprutil-1 ${APR_LIBRARIES} ${LDAP_LIBRARIES}) - SET_TARGET_PROPERTIES(apr_ldap-1 PROPERTIES COMPILE_DEFINITIONS "WINNT") -- SET_TARGET_PROPERTIES(apr_ldap-1 PROPERTIES COMPILE_FLAGS "-DAPR_DECLARE_EXPORT=1 -DAPU_DECLARE_EXPORT=1 -DDLL_NAME=apr_ldap") -+ SET_TARGET_PROPERTIES(apr_ldap-1 PROPERTIES COMPILE_FLAGS "-DAPR_DECLARE_IMPORT -DAPU_DECLARE_IMPORT -DDLL_NAME=apr_ldap") - SET(apr_ldap_libraries apr_ldap-1) - ELSE() - SET(apr_ldap_libraries) - ENDIF() -+endif(BUILD_SHARED_LIBS) - - IF(APR_BUILD_TESTAPR) - ENABLE_TESTING() -@@ -289,7 +292,7 @@ IF(APR_BUILD_TESTAPR) - ${PROJECT_SOURCE_DIR}/test/data/billion-laughs.xml - ${PROJECT_BINARY_DIR}/data/billion-laughs.xml) - -- IF(TEST_STATIC_LIBS) -+ IF(NOT BUILD_SHARED_LIBS) - SET(whichapr aprutil-1) - SET(apiflag "-DAPR_DECLARE_STATIC -DAPU_DECLARE_STATIC") - ELSE() -@@ -325,13 +328,9 @@ INSTALL(TARGETS ${install_targets} - ARCHIVE DESTINATION lib - ) - --IF(INSTALL_PDB) -- INSTALL(FILES ${install_bin_pdb} -- DESTINATION bin -- CONFIGURATIONS RelWithDebInfo Debug) --ENDIF() -- --INSTALL(FILES ${APR_PUBLIC_HEADERS_STATIC} ${APR_PUBLIC_HEADERS_GENERATED} DESTINATION include) -+if(NOT DISABLE_INSTALL_HEADERS) -+ INSTALL(FILES ${APR_PUBLIC_HEADERS_STATIC} ${APR_PUBLIC_HEADERS_GENERATED} DESTINATION include) -+endif() - - STRING(TOUPPER "${CMAKE_BUILD_TYPE}" buildtype) - MESSAGE(STATUS "") +diff --git a/CMakeLists.txt b/CMakeLists.txt +index fcbfc58..7781131 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -21,16 +21,14 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.8) + + FIND_PACKAGE(OpenSSL) + +-FIND_PACKAGE(EXPAT) +- + OPTION(APU_HAVE_CRYPTO "Crypto support" OFF) + OPTION(APU_HAVE_ODBC "Build ODBC DBD driver" ON) + OPTION(APR_HAS_LDAP "LDAP support" ON) + OPTION(INSTALL_PDB "Install .pdb files (if generated)" ON) + OPTION(APR_BUILD_TESTAPR "Build the test suite" OFF) + OPTION(TEST_STATIC_LIBS "Test programs use APR static libraries instead of shared libraries?" OFF) +-SET(APR_INCLUDE_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE STRING "Directory with APR include files") +-SET(APR_LIBRARIES "${CMAKE_INSTALL_PREFIX}/lib/libapr-1.lib" CACHE STRING "APR library to link with") ++find_path(APR_INCLUDE_DIR apr.h) ++find_library(APR_LIBRARIES NAMES libapr-1 apr-1) + + IF(NOT EXISTS "${APR_INCLUDE_DIR}/apr.h") + MESSAGE(FATAL_ERROR "APR include directory ${APR_INCLUDE_DIR} is not correct.") +@@ -61,13 +59,13 @@ IF(APR_HAS_LDAP) + SET(apr_has_ldap_10 1) + ENDIF() + +-IF(NOT EXPAT_FOUND) ++find_package(expat) ++set(XMLLIB_INCLUDE_DIR ${EXPAT_INCLUDE_DIRS}) ++set(XMLLIB_LIBRARIES ${EXPAT_LIBRARIES}) ++IF(NOT XMLLIB_LIBRARIES) + MESSAGE(FATAL_ERROR "Expat is required, and it wasn't found!") + ENDIF() + +-SET(XMLLIB_INCLUDE_DIR ${EXPAT_INCLUDE_DIRS}) +-SET(XMLLIB_LIBRARIES ${EXPAT_LIBRARIES}) +- + SET(LDAP_LIBRARIES) + IF(APR_HAS_LDAP) + SET(LDAP_LIBRARIES wldap32) +@@ -229,17 +227,21 @@ SET(dbd_drivers) + # Note: The WINNT definition on some targets is used only by libaprutil.rc. + + # libaprutil-1 is shared, aprutil-1 is static ++if(BUILD_SHARED_LIBS) + ADD_LIBRARY(libaprutil-1 SHARED ${APR_SOURCES} ${APR_PUBLIC_HEADERS_GENERATED} libaprutil.rc) + SET(install_targets ${install_targets} libaprutil-1) + SET(install_bin_pdb ${install_bin_pdb} ${PROJECT_BINARY_DIR}/libaprutil-1.pdb) + TARGET_LINK_LIBRARIES(libaprutil-1 ${APR_LIBRARIES} ${XMLLIB_LIBRARIES}) + SET_TARGET_PROPERTIES(libaprutil-1 PROPERTIES COMPILE_DEFINITIONS "APU_DECLARE_EXPORT;APR_DECLARE_IMPORT;XML_STATIC;WINNT") + ++else(BUILD_SHARED_LIBS) + ADD_LIBRARY(aprutil-1 STATIC ${APR_SOURCES} ${APR_PUBLIC_HEADERS_GENERATED}) + SET(install_targets ${install_targets} aprutil-1) + TARGET_LINK_LIBRARIES(aprutil-1 ${APR_LIBRARIES} ${XMLLIB_LIBRARIES}) + SET_TARGET_PROPERTIES(aprutil-1 PROPERTIES COMPILE_DEFINITIONS "APU_DECLARE_STATIC;APR_DECLARE_STATIC;APU_DSO_MODULE_BUILD;XML_STATIC") ++endif() + ++if(BUILD_SHARED_LIBS) + IF(APU_HAVE_CRYPTO) + IF(NOT OPENSSL_FOUND) + MESSAGE(FATAL_ERROR "Only OpenSSL-based crypto is currently implemented in the cmake build") +@@ -265,7 +267,7 @@ IF(APU_HAVE_ODBC) + ENDIF() + + IF(APR_HAS_LDAP) +- ADD_LIBRARY(apr_ldap-1 SHARED ldap/apr_ldap_init.c ldap/apr_ldap_option.c ++ ADD_LIBRARY(apr_ldap-1 SHARED ldap/apr_ldap_init.c ldap/apr_ldap_option.c + ldap/apr_ldap_rebind.c libaprutil.rc) + SET(install_targets ${install_targets} apr_ldap-1) + SET(install_bin_pdb ${install_bin_pdb} ${PROJECT_BINARY_DIR}/apr_ldap-1.pdb) +@@ -276,6 +278,7 @@ IF(APR_HAS_LDAP) + ELSE() + SET(apr_ldap_libraries) + ENDIF() ++endif() + + IF(APR_BUILD_TESTAPR) + ENABLE_TESTING() +@@ -283,13 +286,13 @@ IF(APR_BUILD_TESTAPR) + ADD_CUSTOM_TARGET(check COMMAND ${CMAKE_CTEST_COMMAND} --verbose) + + # copy data files to build directory so that we can run programs from there +- EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E make_directory ++ EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E make_directory + ${PROJECT_BINARY_DIR}/data) +- EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E copy_if_different ++ EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E copy_if_different + ${PROJECT_SOURCE_DIR}/test/data/billion-laughs.xml + ${PROJECT_BINARY_DIR}/data/billion-laughs.xml) + +- IF(TEST_STATIC_LIBS) ++ IF(NOT BUILD_SHARED_LIBS) + SET(whichapr aprutil-1) + SET(apiflag "-DAPR_DECLARE_STATIC -DAPU_DECLARE_STATIC") + ELSE() +@@ -325,13 +328,9 @@ INSTALL(TARGETS ${install_targets} + ARCHIVE DESTINATION lib + ) + +-IF(INSTALL_PDB) +- INSTALL(FILES ${install_bin_pdb} +- DESTINATION bin +- CONFIGURATIONS RelWithDebInfo Debug) +-ENDIF() +- +-INSTALL(FILES ${APR_PUBLIC_HEADERS_STATIC} ${APR_PUBLIC_HEADERS_GENERATED} DESTINATION include) ++if(NOT DISABLE_INSTALL_HEADERS) ++ INSTALL(FILES ${APR_PUBLIC_HEADERS_STATIC} ${APR_PUBLIC_HEADERS_GENERATED} DESTINATION include) ++endif() + + STRING(TOUPPER "${CMAKE_BUILD_TYPE}" buildtype) + MESSAGE(STATUS "") diff --git a/ports/apr-util/vcpkg.json b/ports/apr-util/vcpkg.json index aa7937210aa20c..f1c815bf40ace5 100644 --- a/ports/apr-util/vcpkg.json +++ b/ports/apr-util/vcpkg.json @@ -1,12 +1,24 @@ { "name": "apr-util", - "version-string": "1.6.1", - "port-version": 4, + "version": "1.6.3", "description": "Apache Portable Runtime (APR) project mission is to create and maintain software libraries that provide a predictable and consistent interface to underlying platform-specific implementation", "homepage": "https://apr.apache.org/", + "license": "Apache-2.0", "dependencies": [ "apr", "expat", - "openssl" - ] + { + "name": "vcpkg-cmake", + "host": true, + "platform": "windows" + } + ], + "features": { + "crypto": { + "description": "Crypto support", + "dependencies": [ + "openssl" + ] + } + } } 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/portfile.cmake b/ports/apr/portfile.cmake index 1061497a5a0191..fee527df8c9c9e 100644 --- a/ports/apr/portfile.cmake +++ b/ports/apr/portfile.cmake @@ -1,53 +1,61 @@ - -set(VERSION 1.7.0) - vcpkg_download_distfile(ARCHIVE - URLS "https://www.apache.org/dist/apr/apr-${VERSION}.tar.bz2" + URLS "https://archive.apache.org/dist/apr/apr-${VERSION}.tar.bz2" FILENAME "apr-${VERSION}.tar.bz2" - SHA512 3dc42d5caf17aab16f5c154080f020d5aed761e22db4c5f6506917f6bfd2bf8becfb40af919042bd4ce1077d5de74aa666f5edfba7f275efba78e8893c115148 + SHA512 d8a7553642da0c81261ac3992536efd9d43ecb9154934ef1a10ae808d6a3ce8198b40433091d3a6d04f61e67c59426fb5276193a37e810ae4bc74a8a10fb651b ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH +vcpkg_extract_source_archive(SOURCE_PATH ARCHIVE "${ARCHIVE}" + PATCHES + 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 INSTALL_PRIVATE_H + 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 - -DAPR_INSTALL_PRIVATE_H=${INSTALL_PRIVATE_H} ${FEATURE_OPTIONS} + ${CROSSCOMPILING_OPTIONS} ) vcpkg_cmake_install() - + 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") - - # Both dynamic and static are built, so keep only the one needed - if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/apr-1.lib" - "${CURRENT_PACKAGES_DIR}/lib/aprapp-1.lib" - "${CURRENT_PACKAGES_DIR}/debug/lib/apr-1.lib" - "${CURRENT_PACKAGES_DIR}/debug/lib/aprapp-1.lib") - else() - file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/libapr-1.lib" - "${CURRENT_PACKAGES_DIR}/lib/libaprapp-1.lib" - "${CURRENT_PACKAGES_DIR}/debug/lib/libapr-1.lib" - "${CURRENT_PACKAGES_DIR}/debug/lib/libaprapp-1.lib") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") - endif() + 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". @@ -64,7 +72,6 @@ else() set(ENV{CFLAGS} "$ENV{CFLAGS} -Wno-error=implicit-function-declaration") vcpkg_configure_make( SOURCE_PATH "${SOURCE_PATH}" - NO_DEBUG OPTIONS "--prefix=${CURRENT_INSTALLED_DIR}" "${CONFIGURE_PARAMETER_1}" @@ -74,18 +81,37 @@ else() vcpkg_install_make() - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/apr-1.pc" - "-lapr-\${APR_MAJOR_VERSION}" "-lapr-1" - ) + if(NOT VCPKG_BUILD_TYPE) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/apr-1.pc" + "-lapr-\${APR_MAJOR_VERSION}" "-lapr-1" + ) + endif() + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/apr-1.pc" "-lapr-\${APR_MAJOR_VERSION}" "-lapr-1" ) vcpkg_fixup_pkgconfig(SYSTEM_LIBRARIES pthread rt dl uuid crypt) - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin/apr-1-config" "\"${CURRENT_INSTALLED_DIR}\"" "`dirname $0`/../../..") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug/bin/apr-1-config" "\"${CURRENT_INSTALLED_DIR}/debug\"" "`dirname $0`/../../../..") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin/apr-1-config" "\"${CURRENT_INSTALLED_DIR}\"" "$(realpath \"`dirname $0`/../../..\")") + 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" "" 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) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug/bin/apr-1-config" "\"${CURRENT_INSTALLED_DIR}/debug\"" "$(realpath \"`dirname $0`/../../../..\")") + 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" "" 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() + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") endif() # Handle copyright file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) - diff --git a/ports/apr/unglue.patch b/ports/apr/unglue.patch new file mode 100644 index 00000000000000..0ce518b8a7c209 --- /dev/null +++ b/ports/apr/unglue.patch @@ -0,0 +1,17 @@ +diff --git a/include/apr_version.h b/include/apr_version.h +index e96de3835..de3437d71 100644 +--- a/include/apr_version.h ++++ b/include/apr_version.h +@@ -114,9 +114,9 @@ + + /** An alternative formatted string of APR's version */ + /* macro for Win32 .rc files using numeric csv representation */ +-#define APR_VERSION_STRING_CSV APR_MAJOR_VERSION ##, \ +- ##APR_MINOR_VERSION ##, \ +- ##APR_PATCH_VERSION ++#define APR_VERSION_STRING_CSV APR_MAJOR_VERSION , \ ++ APR_MINOR_VERSION , \ ++ APR_PATCH_VERSION + + + #ifndef APR_VERSION_ONLY 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 67bca3b0a77f2f..7b4bbf485c73fc 100644 --- a/ports/apr/vcpkg.json +++ b/ports/apr/vcpkg.json @@ -1,15 +1,26 @@ { "name": "apr", - "version": "1.7.0", - "port-version": 5, + "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/", - "supports": "!uwp", + "license": "Apache-2.0", + "supports": "!uwp & !mingw", "dependencies": [ + { + "name": "apr", + "host": true, + "platform": "windows" + }, { "name": "vcpkg-cmake", "host": true, "platform": "windows" + }, + { + "name": "vcpkg-cmake-config", + "host": true, + "platform": "windows" } ], "features": { 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/portfile.cmake b/ports/apsi/portfile.cmake index 7e2266e00e4202..e3b37acea83fd0 100644 --- a/ports/apsi/portfile.cmake +++ b/ports/apsi/portfile.cmake @@ -1,15 +1,14 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -if("hexl" IN_LIST FEATURES) - vcpkg_fail_port_install(ON_ARCH "x86" "arm" "arm64") -endif() - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO microsoft/APSI - REF 4e412e6c89a2729a09aa2a998b212dec0fa9a0fc - SHA512 8cabe842884a90bd3de5156af964f68efe77c55c1ff773ce3a64a0c4e3380868dd5ee79f4db2033278eba2c7cf5561c225b1625313a7ac89f068218d5cb9f40c + REF "v${VERSION}" + SHA512 ad49e169970921175728705c6f5fe8062e74900a601ea25e9f836840a221175bfbb3169717787b1ca7e2e1a0b26630690dcef9bc91c0123877b856ea927e9e68 HEAD_REF main + PATCHES + fix-find-seal.patch + fix-c2398.patch ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS @@ -18,21 +17,30 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS zeromq APSI_USE_ZMQ ) +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='') + 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) + endif() +endif() + vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} - DISABLE_PARALLEL_CONFIGURE + SOURCE_PATH "${SOURCE_PATH}" 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(PACKAGE_NAME "APSI" CONFIG_PATH "lib/cmake/APSI-0.5") +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 6ee65d00369124..4616fb5a682277 100644 --- a/ports/apsi/vcpkg.json +++ b/ports/apsi/vcpkg.json @@ -1,17 +1,20 @@ { "name": "apsi", - "version-semver": "0.5.0", + "version-semver": "0.11.0", "description": "APSI is a research library for asymmetric private set intersection.", "homepage": "https://github.com/microsoft/APSI", - "supports": "static", + "license": "MIT", "dependencies": [ "flatbuffers", "jsoncpp", "kuku", { "name": "seal", + "default-features": false, "features": [ - "no-throw-tran" + "ms-gsl", + "no-throw-tran", + "zstd" ] }, { @@ -34,8 +37,7 @@ { "name": "seal", "features": [ - "hexl", - "no-throw-tran" + "hexl" ], "platform": "x64" } @@ -50,7 +52,8 @@ "zeromq": { "description": "Use ZeroMQ for networking.", "dependencies": [ - "cppzmq" + "cppzmq", + "zeromq" ] } } diff --git a/ports/arb/portfile.cmake b/ports/arb/portfile.cmake index b6c60304b75ffc..62879730adc43d 100644 --- a/ports/arb/portfile.cmake +++ b/ports/arb/portfile.cmake @@ -1,5 +1,3 @@ -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO fredrik-johansson/arb diff --git a/ports/arb/vcpkg.json b/ports/arb/vcpkg.json index 66b04428a7d41b..35e454c8a92bf9 100644 --- a/ports/arb/vcpkg.json +++ b/ports/arb/vcpkg.json @@ -1,8 +1,11 @@ { "name": "arb", "version": "2.21.1", + "port-version": 2, "description": "a C library for arbitrary-precision interval arithmetic", "homepage": "https://github.com/fredrik-johansson/arb", + "license": "LGPL-2.1", + "supports": "!xbox", "dependencies": [ "flint", { 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 d2777742ba946f..da0dcc4cf053bf 100644 --- a/ports/arcus/portfile.cmake +++ b/ports/arcus/portfile.cmake @@ -1,13 +1,12 @@ -vcpkg_fail_port_install(ON_TARGET "UWP") - 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) @@ -28,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) \ No newline at end of file +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/arcus/vcpkg.json b/ports/arcus/vcpkg.json index bf7b6b4db1d42b..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": 1, + "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 new file mode 100644 index 00000000000000..e70e85c3ef8742 --- /dev/null +++ b/ports/arg-router/portfile.cmake @@ -0,0 +1,33 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO cmannett85/arg_router + 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 +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DINSTALLATION_ONLY=ON +) + +vcpkg_cmake_install() +vcpkg_install_copyright( + FILE_LIST "${SOURCE_PATH}/LICENSE" +) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/usage" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" +) + +vcpkg_cmake_config_fixup( + PACKAGE_NAME arg_router +) + +file(REMOVE "${CURRENT_PACKAGES_DIR}/include/arg_router/LICENSE" + "${CURRENT_PACKAGES_DIR}/include/arg_router/README.md" +) + diff --git a/ports/arg-router/usage b/ports/arg-router/usage new file mode 100644 index 00000000000000..45a916a92230b7 --- /dev/null +++ b/ports/arg-router/usage @@ -0,0 +1,8 @@ +The package arg-router is a header-only library and so is typically used like this: + + find_package(arg_router REQUIRED) + target_link_libraries(my_exe PUBLIC arg_router::arg_router) + +For more information, see the docs here: + + https://github.com/cmannett85/arg_router diff --git a/ports/arg-router/vcpkg.json b/ports/arg-router/vcpkg.json new file mode 100644 index 00000000000000..09a57046d044f0 --- /dev/null +++ b/ports/arg-router/vcpkg.json @@ -0,0 +1,23 @@ +{ + "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/", + "license": "BSL-1.0", + "dependencies": [ + "boost-lexical-cast", + "boost-mp11", + "boost-preprocessor", + "span-lite", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/argagg/portfile.cmake b/ports/argagg/portfile.cmake index 54d32171adac65..018f0353b58ff1 100644 --- a/ports/argagg/portfile.cmake +++ b/ports/argagg/portfile.cmake @@ -3,23 +3,22 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO vietjtnguyen/argagg - REF 0.4.6 - SHA512 7d8cf04a7c679518f01120830637c68719dd67a765457789eb4afedbead7be9efadc6bcdf640999329aaaf8659a5e5d1896f66587068cc668a7c49703aca3070 + REF "${VERSION}" + SHA512 85634bff33236ffcb0aea03a6fa4b3529b6d1faa03f8e030f3c5401fc453bb5e1964f7d0644e4f3fc089ccd7751ea94c466e02b85f7c9701ce21adcc20c0b058 HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DARGAGG_BUILD_EXAMPLES=OFF -DARGAGG_BUILD_TESTS=OFF -DARGAGG_BUILD_DOCS=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") # Handle copyright -configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) +configure_file("${SOURCE_PATH}/LICENSE" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) diff --git a/ports/argagg/vcpkg.json b/ports/argagg/vcpkg.json index 73dc92e5d6d58c..616ef9e31db682 100644 --- a/ports/argagg/vcpkg.json +++ b/ports/argagg/vcpkg.json @@ -1,6 +1,15 @@ { "name": "argagg", - "version-string": "0.4.6", - "port-version": 1, - "description": "A simple C++11 command line argument parser" + "version": "0.4.7", + "description": "A simple C++11 command line argument parser", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/argh/portfile.cmake b/ports/argh/portfile.cmake index ccaec1449ee011..25df241ce74e68 100644 --- a/ports/argh/portfile.cmake +++ b/ports/argh/portfile.cmake @@ -3,32 +3,28 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO adishavit/argh - REF a1edee559757e076e570b8f6c2f555d8d00b373c - SHA512 a100c7ff20ef9ed39d53efeac5507a6ed59fb99ccba36ac4b5f8f5aaac6782f8e951b2f26b9b50f6c6fdbc53b5bceaabbb9dd9b9539f968fc1037733342e17a6 + REF "v${VERSION}" + SHA512 66073718ef1fc31fbd0feb9daf366a2e28c759de44fb1882dc46a6d10f7a44635ae1155882dff916f55c51fad88bedebdfe361418f7669fac241feead68f2b5b HEAD_REF master - PATCHES - remove_unnamespaced_license_file.patch # https://github.com/adishavit/argh/pull/51 ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - DISABLE_PARALLEL_CONFIGURE +set(VCPKG_BUILD_TYPE release) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_TESTS=OFF -DBUILD_EXAMPLES=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -if(EXISTS ${CURRENT_PACKAGES_DIR}/CMake) - vcpkg_fixup_cmake_targets(CONFIG_PATH CMake) -elseif(EXISTS ${CURRENT_PACKAGES_DIR}/lib/cmake/${PORT}) - vcpkg_fixup_cmake_targets(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 ${CURRENT_PACKAGES_DIR}/README.md) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/doc" "${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") diff --git a/ports/argh/remove_unnamespaced_license_file.patch b/ports/argh/remove_unnamespaced_license_file.patch deleted file mode 100644 index f6742c86c634b5..00000000000000 --- a/ports/argh/remove_unnamespaced_license_file.patch +++ /dev/null @@ -1,67 +0,0 @@ -From 83f364a2eb1b137453772ae9fcf5d7973770637f Mon Sep 17 00:00:00 2001 -From: Billy Robert O'Neal III -Date: Wed, 29 Apr 2020 13:01:31 -0700 -Subject: [PATCH] Don't install 'LICENSE' or 'README.md' directly to the - installation directory. - -This change unconditionally uses GNUInstallDirs which will correctly 'namespace' these files with the 'argh' project name. - -========= - -The names 'LICENSE' and 'README.md' are extremely common and likely to be taken by other ports. This happened in a recent full vcpkg catalog rebuild: - -Starting package 757/1254: qt-advanced-docking-system:x86-windows -Building package qt-advanced-docking-system[core]:x86-windows... -Could not locate cached archive: C:\agent\_work\1\s\archives\a1\a1507296ead5788137561997571557204aaac78f.zip --- Downloading https://github.com/githubuser0xFFFF/Qt-Advanced-Docking-System/archive/661d0c4356ab61d155b53718aa1bf6bab86dad13.tar.gz... --- Extracting source C:/agent/_work/1/s/downloads/githubuser0xFFFF-Qt-Advanced-Docking-System-661d0c4356ab61d155b53718aa1bf6bab86dad13.tar.gz --- Applying patch config_changes.patch --- Using source at C:/agent/_work/1/s/buildtrees/qt-advanced-docking-system/src/bab86dad13-3088149a9b --- Configuring x86-windows --- Building x86-windows-dbg --- Building x86-windows-rel --- Installing: C:/agent/_work/1/s/packages/qt-advanced-docking-system_x86-windows/share/qt-advanced-docking-system/copyright --- Performing post-build validation --- Performing post-build validation done -Stored binary cache: C:\agent\_work\1\s\archives\a1\a1507296ead5788137561997571557204aaac78f.zip -Building package qt-advanced-docking-system[core]:x86-windows... done -Installing package qt-advanced-docking-system[core]:x86-windows... -The following files are already installed in C:/agent/_work/1/s/installed/x86-windows and are in conflict with qt-advanced-docking-system:x86-windows - -Installed by argh:x86-windows - license/LICENSE - -Elapsed time for package qt-advanced-docking-system:x86-windows: 11.09 s ---- - CMakeLists.txt | 12 +++++------- - 1 file changed, 5 insertions(+), 7 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 13bc879..f6264f3 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -36,19 +36,17 @@ endif() - - install(TARGETS argh EXPORT arghTargets) - -+include(GNUInstallDirs) -+install(FILES "${CMAKE_CURRENT_LIST_DIR}/argh.h" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) -+install(FILES "${CMAKE_CURRENT_LIST_DIR}/LICENSE" DESTINATION ${CMAKE_INSTALL_DOCDIR}) -+install(FILES "${CMAKE_CURRENT_LIST_DIR}/README.md" DESTINATION ${CMAKE_INSTALL_DOCDIR}) -+ - if(CMAKE_SYSTEM_NAME STREQUAL Linux) - # this might be a bit too restrictive, since for other (BSD, ...) this might apply also - # but this can be fixed later in extra pull requests from people on the platform -- include(GNUInstallDirs) -- install(FILES "${CMAKE_CURRENT_LIST_DIR}/argh.h" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) -- install(FILES "${CMAKE_CURRENT_LIST_DIR}/LICENSE" DESTINATION ${CMAKE_INSTALL_DOCDIR}) -- install(FILES "${CMAKE_CURRENT_LIST_DIR}/README.md" DESTINATION ${CMAKE_INSTALL_DOCDIR}) - install(FILES argh-config.cmake DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/argh) - install(EXPORT arghTargets DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/argh) - else() -- install(FILES "${CMAKE_CURRENT_LIST_DIR}/argh.h" DESTINATION include) -- install(FILES "${CMAKE_CURRENT_LIST_DIR}/LICENSE" DESTINATION license) -- install(FILES "${CMAKE_CURRENT_LIST_DIR}/README.md" DESTINATION .) - install(FILES argh-config.cmake DESTINATION CMake) - install(EXPORT arghTargets DESTINATION CMake) - endif() diff --git a/ports/argh/vcpkg.json b/ports/argh/vcpkg.json index 38835e1cd37936..5dea74d0682c0e 100644 --- a/ports/argh/vcpkg.json +++ b/ports/argh/vcpkg.json @@ -1,6 +1,18 @@ { "name": "argh", - "version-string": "2018-12-18", - "port-version": 3, - "description": "Argh! A minimalist argument handler." + "version": "1.3.2", + "port-version": 1, + "description": "Argh! A minimalist argument handler.", + "homepage": "https://github.com/adishavit/argh", + "license": "BSD-3-Clause", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/argon2/CMakeLists.txt b/ports/argon2/CMakeLists.txt new file mode 100644 index 00000000000000..c42eec532f78f4 --- /dev/null +++ b/ports/argon2/CMakeLists.txt @@ -0,0 +1,75 @@ +cmake_minimum_required(VERSION 3.25) + +project(argon2 LANGUAGES C) + +option(WITH_OPTIMIZATIONS "Enable SSE2/AVX2/AVX512 optimizations") +option(BUILD_TOOL "Build the tool" OFF) + +if(BUILD_SHARED_LIBS) + if(CMAKE_C_COMPILER_ID MATCHES "Clang" OR CMAKE_C_COMPILER_ID STREQUAL "GNU") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fvisibility=hidden") + endif() +endif() + +find_package(Threads REQUIRED) + +set(ARGON2_HEADERS + include/argon2.h +) + +set (ARGON2_SRC + src/argon2.c + src/core.c + src/blake2/blake2b.c + src/thread.c + src/encoding.c +) +if (WITH_OPTIMIZATIONS) + list(APPEND ARGON2_SRC src/opt.c) +else() + list(APPEND ARGON2_SRC src/ref.c) +endif() + +add_library(libargon2 ${ARGON2_SRC}) +set_target_properties(libargon2 PROPERTIES OUTPUT_NAME argon2) +target_include_directories(libargon2 PUBLIC $ $ PRIVATE src) +target_link_libraries(libargon2 PRIVATE Threads::Threads) +if(BUILD_SHARED_LIBS) + if(WIN32) + target_compile_definitions(libargon2 PRIVATE "BUILDING_ARGON2_DLL" INTERFACE "USING_ARGON2_DLL") + else() + target_compile_definitions(libargon2 PRIVATE "A2_VISCTL") + endif() +endif() + +install(TARGETS libargon2 + EXPORT unofficial-argon2-targets + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib +) + +if(BUILD_TOOL) + add_executable(argon2 src/run.c) + target_link_libraries(argon2 PRIVATE libargon2) + set_target_properties(argon2 PROPERTIES PDB_NAME "argon2${CMAKE_EXECUTABLE_SUFFIX}.pdb") + + install(TARGETS argon2 RUNTIME DESTINATION bin) +endif() + +install(FILES ${ARGON2_HEADERS} DESTINATION include) + +install(EXPORT unofficial-argon2-targets + NAMESPACE unofficial::argon2:: + DESTINATION "share/unofficial-argon2" +) + +function(make_pc_file) + set(PREFIX "${CMAKE_INSTALL_PREFIX}") + set(INCLUDE "include") + set(HOST_MULTIARCH "lib") + set(EXTRA_LIBS "") + configure_file ("${CMAKE_SOURCE_DIR}/libargon2.pc.in" "${PROJECT_BINARY_DIR}/libargon2.pc" @ONLY) +endfunction() +make_pc_file() +install (FILES "${CMAKE_CURRENT_BINARY_DIR}/libargon2.pc" DESTINATION "lib/pkgconfig") diff --git a/ports/argon2/portfile.cmake b/ports/argon2/portfile.cmake new file mode 100644 index 00000000000000..2cc0c11bf4c67e --- /dev/null +++ b/ports/argon2/portfile.cmake @@ -0,0 +1,48 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO P-H-C/phc-winner-argon2 + REF 20190702 + SHA512 0a4cb89e8e63399f7df069e2862ccd05308b7652bf4ab74372842f66bcc60776399e0eaf979a7b7e31436b5e6913fe5b0a6949549d8c82ebd06e0629b106e85f + HEAD_REF master + PATCHES + visibility.patch + visibility-for-tool.patch + thread-header.patch +) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + hwopt WITH_OPTIMIZATIONS + tool BUILD_TOOL +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} + -DUPSTREAM_VER=${VERSION} + OPTIONS_DEBUG + -DBUILD_TOOL=OFF +) + +vcpkg_cmake_install() +vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() +file(COPY "${CMAKE_CURRENT_LIST_DIR}/unofficial-argon2-config.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/unofficial-argon2") +vcpkg_cmake_config_fixup(CONFIG_PATH share/unofficial-argon2 PACKAGE_NAME unofficial-argon2) +# Migration path +file(COPY "${CMAKE_CURRENT_LIST_DIR}/unofficial-libargon2-config.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/unofficial-libargon2") + +if(BUILD_TOOL) + vcpkg_copy_tools(TOOL_NAMES argon2 AUTO_CLEAN) +endif() + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/argon2.h" "defined(USING_ARGON2_DLL)" "1") +endif() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") + +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/argon2/thread-header.patch b/ports/argon2/thread-header.patch new file mode 100644 index 00000000000000..4edcf7a8b336d7 --- /dev/null +++ b/ports/argon2/thread-header.patch @@ -0,0 +1,12 @@ +diff --git a/src/thread.h b/src/thread.h +index d4ca10c..43bd542 100644 +--- a/src/thread.h ++++ b/src/thread.h +@@ -19,6 +19,7 @@ + #define ARGON2_THREAD_H + + #if !defined(ARGON2_NO_THREADS) ++#include + + /* + Here we implement an abstraction layer for the simpĺe requirements diff --git a/ports/argon2/unofficial-argon2-config.cmake b/ports/argon2/unofficial-argon2-config.cmake new file mode 100644 index 00000000000000..9034d40c742103 --- /dev/null +++ b/ports/argon2/unofficial-argon2-config.cmake @@ -0,0 +1,4 @@ +include(CMakeFindDependencyMacro) +find_dependency(Threads) + +include("${CMAKE_CURRENT_LIST_DIR}/unofficial-argon2-targets.cmake") diff --git a/ports/argon2/unofficial-libargon2-config.cmake b/ports/argon2/unofficial-libargon2-config.cmake new file mode 100644 index 00000000000000..dfe78b5af46517 --- /dev/null +++ b/ports/argon2/unofficial-libargon2-config.cmake @@ -0,0 +1,4 @@ +file(READ "${CMAKE_CURRENT_LIST_DIR}/../argon2/usage" usage) +message(WARNING "find_package(unofficial-libargon2) is deprecated.\n${usage}") +include(CMakeFindDependencyMacro) +find_dependency(unofficial-argon2 CONFIG) diff --git a/ports/argon2/usage b/ports/argon2/usage new file mode 100644 index 00000000000000..f874d576e53c72 --- /dev/null +++ b/ports/argon2/usage @@ -0,0 +1,4 @@ +argon2 provides CMake targets: + + find_package(unofficial-argon2 CONFIG REQUIRED) + target_link_libraries(main PRIVATE unofficial::argon2::libargon2) diff --git a/ports/argon2/vcpkg.json b/ports/argon2/vcpkg.json new file mode 100644 index 00000000000000..74bc563ec53a0a --- /dev/null +++ b/ports/argon2/vcpkg.json @@ -0,0 +1,27 @@ +{ + "name": "argon2", + "version": "20190702", + "port-version": 1, + "description": "Password-hashing library.", + "homepage": "https://github.com/P-H-C/phc-winner-argon2", + "license": "Apache-2.0 OR CC0-1.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "hwopt": { + "description": "Enable SSE2/AVX2/AVX512 optimizations", + "supports": "x86 | x64" + }, + "tool": { + "description": "Install the argon2 tool" + } + } +} diff --git a/ports/argon2/visibility-for-tool.patch b/ports/argon2/visibility-for-tool.patch new file mode 100644 index 00000000000000..8635305491b71e --- /dev/null +++ b/ports/argon2/visibility-for-tool.patch @@ -0,0 +1,13 @@ +diff --git a/src/core.h b/src/core.h +index 78000ba..91c7bcf 100644 +--- a/src/core.h ++++ b/src/core.h +@@ -135,7 +135,7 @@ void secure_wipe_memory(void *v, size_t n); + * @param mem Pointer to the memory + * @param s Memory size in bytes + */ +-void clear_internal_memory(void *v, size_t n); ++ARGON2_PUBLIC void clear_internal_memory(void *v, size_t n); + + /* + * Computes absolute position of reference block in the lane following a skewed diff --git a/ports/argon2/visibility.patch b/ports/argon2/visibility.patch new file mode 100644 index 00000000000000..d6e99510f31bd8 --- /dev/null +++ b/ports/argon2/visibility.patch @@ -0,0 +1,16 @@ +diff --git a/include/argon2.h b/include/argon2.h +index fc8682c..1401051 100644 +--- a/include/argon2.h ++++ b/include/argon2.h +@@ -30,7 +30,10 @@ extern "C" { + #ifdef A2_VISCTL + #define ARGON2_PUBLIC __attribute__((visibility("default"))) + #define ARGON2_LOCAL __attribute__ ((visibility ("hidden"))) +-#elif _MSC_VER ++#elif defined(_WIN32) && defined(USING_ARGON2_DLL) ++#define ARGON2_PUBLIC __declspec(dllimport) ++#define ARGON2_LOCAL ++#elif defined(_WIN32) && defined(BUILDING_ARGON2_DLL) + #define ARGON2_PUBLIC __declspec(dllexport) + #define ARGON2_LOCAL + #else diff --git a/ports/argparse/portfile.cmake b/ports/argparse/portfile.cmake index 82142c63eea73a..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 b0cb28ab177cdbd19d439c02cdc217bdfc508ba9 # v2.2 - SHA512 247f27aa45994ee4629b947e3fe1b1df8fae4e773992c740a7c3d544e45ce83a68ecdcfdedf38c461ccb81cf93d88dfee21dc4f7d027677a3c7d930170446971 + REF "v${VERSION}" + SHA512 31e03b7de44e091614c1680e76988e0f7f5bdc6baf0262ed0583c6311d6d0611b7e30fa73b4522fd99d8ea81e74e5a74a91888135a1352d9ab08bf4a5467d32d HEAD_REF master ) diff --git a/ports/argparse/vcpkg.json b/ports/argparse/vcpkg.json index ca94bbc8b9ae68..e7e5ec3dbe6bbc 100644 --- a/ports/argparse/vcpkg.json +++ b/ports/argparse/vcpkg.json @@ -1,6 +1,6 @@ { "name": "argparse", - "version": "2.2", + "version": "3.1", "description": "Argument parser for modern C++", "homepage": "https://github.com/p-ranav/argparse", "license": "MIT", diff --git a/ports/args/portfile.cmake b/ports/args/portfile.cmake index d91ae99fb16ed3..7164a32442a8d1 100644 --- a/ports/args/portfile.cmake +++ b/ports/args/portfile.cmake @@ -1,26 +1,25 @@ -#header-only library vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Taywee/args - REF 6.2.7 - SHA512 a6491b2680979feb2f09e7ffb4f3c939b75057b6b4b90136b6cb72eaf5a462d3079dfb5836744e53bf4946bd575d4449f87129d6e50045732d7fba11c2be57dd + REF "${VERSION}" + SHA512 5b433845ce4a8590e72c045a40ab62602b798dad46eb192210815c11507700026073a6a8a528aaf567786931d587ef58f90b459a747a91856ce1cc4f2835b0e9 HEAD_REF master ) +set(VCPKG_BUILD_TYPE release) # header-only port + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DARGS_BUILD_UNITTESTS=OFF - -DARGS_BUILD_EXAMPLE=OFF + -DARGS_BUILD_UNITTESTS=OFF + -DARGS_BUILD_EXAMPLE=OFF ) vcpkg_cmake_install() vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) vcpkg_fixup_pkgconfig() -# Put the licence file where vcpkg expects it -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) - -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") -vcpkg_copy_pdbs() +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/args/usage b/ports/args/usage new file mode 100644 index 00000000000000..0e720e7a8993b2 --- /dev/null +++ b/ports/args/usage @@ -0,0 +1,4 @@ +args provides CMake targets: + + find_package(args CONFIG REQUIRED) + target_link_libraries(main PRIVATE taywee::args) diff --git a/ports/args/vcpkg.json b/ports/args/vcpkg.json index 720c1be9725121..d62aebbcdf21e8 100644 --- a/ports/args/vcpkg.json +++ b/ports/args/vcpkg.json @@ -1,8 +1,9 @@ { "name": "args", - "version": "6.2.7", + "version": "6.4.6", "description": "A simple header-only C++ argument parser library.", "homepage": "https://github.com/Taywee/args", + "license": "MIT", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/argtable2/0003-add-dependence-getopt.patch b/ports/argtable2/0003-add-dependence-getopt.patch new file mode 100644 index 00000000000000..422f76eee5bedd --- /dev/null +++ b/ports/argtable2/0003-add-dependence-getopt.patch @@ -0,0 +1,42 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 8a4bd5b..7dc50f1 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -9,6 +9,7 @@ endif(COMMAND cmake_policy) + + OPTION( HAVE_GETOPT_H "Have the getopt library" 0 ) + IF( HAVE_GETOPT_H ) ++ find_package(unofficial-getopt-win32 REQUIRED) + ADD_DEFINITIONS( -DHAVE_GETOPT_H ) + ENDIF( HAVE_GETOPT_H ) + +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 03e112c..8c58082 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -1,7 +1,12 @@ + include(GNUInstallDirs) + + IF( WIN32 ) ++ if(HAVE_GETOPT_H) ++ ADD_LIBRARY( argtable2 arg_dbl.c arg_end.c arg_file.c arg_int.c arg_lit.c arg_rem.c arg_str.c argtable2.c argtable2.h) ++ target_link_libraries(argtable2 PRIVATE unofficial::getopt-win32::getopt) ++ else() + ADD_LIBRARY( argtable2 arg_dbl.c arg_end.c arg_file.c arg_int.c arg_lit.c arg_rem.c arg_str.c argtable2.c argtable2.h getopt.c getopt.h getopt1.c ) ++ endif() + ELSE( WIN32 ) + ADD_LIBRARY( argtable2 arg_date.c arg_dbl.c arg_end.c arg_file.c arg_int.c arg_lit.c arg_rem.c arg_rex.c arg_str.c argtable2.c argtable2.h getopt.c getopt.h getopt1.c ) + ENDIF( WIN32 ) +diff --git a/src/argtable2.c b/src/argtable2.c +index c4d210c..1bc0a3e 100644 +--- a/src/argtable2.c ++++ b/src/argtable2.c +@@ -46,7 +46,7 @@ USA. + #endif + + #include "argtable2.h" +-#include "./getopt.h" ++//#include "./getopt.h" + + static + void arg_register_error(struct arg_end *end, void *parent, int error, const char *argval) diff --git a/ports/argtable2/portfile.cmake b/ports/argtable2/portfile.cmake index cf394f65a8e6a3..9fc7186e3c0232 100644 --- a/ports/argtable2/portfile.cmake +++ b/ports/argtable2/portfile.cmake @@ -9,18 +9,23 @@ vcpkg_from_sourceforge( PATCHES 0001-fix-install-dirs.patch 0002-include-correct-headers.patch + 0003-add-dependence-getopt.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +set(HAVE_GETOPT_H "") +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + set(HAVE_GETOPT_H 1) +endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DCMAKE_DEBUG_POSTFIX=d + -DHAVE_GETOPT_H=${HAVE_GETOPT_H} ) -vcpkg_install_cmake() -vcpkg_copy_pdbs() +vcpkg_cmake_install() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +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/argtable2/vcpkg.json b/ports/argtable2/vcpkg.json index 54431fc6271f29..4d87c74c328868 100644 --- a/ports/argtable2/vcpkg.json +++ b/ports/argtable2/vcpkg.json @@ -1,8 +1,19 @@ { "name": "argtable2", - "version-string": "2.13", - "port-version": 9, + "version": "2.13", + "port-version": 10, "description": "Argtable is an ANSI C library for parsing GNU style command line options with a minimum of fuss.", "homepage": "http://argtable.sourceforge.net", - "supports": "!uwp" + "license": "LGPL-2.0-only", + "supports": "!uwp", + "dependencies": [ + { + "name": "getopt", + "platform": "windows & !mingw" + }, + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/argtable3/Fix-dependence-getopt.patch b/ports/argtable3/Fix-dependence-getopt.patch new file mode 100644 index 00000000000000..8f609cf6059e53 --- /dev/null +++ b/ports/argtable3/Fix-dependence-getopt.patch @@ -0,0 +1,16 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 2e0b519..6b455dd 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -79,6 +79,11 @@ endif() + add_library(${ARGTABLE3_PROJECT_NAME}::argtable3 ALIAS argtable3) + target_include_directories(argtable3 PRIVATE ${PROJECT_SOURCE_DIR}/src) + ++if(NOT ARGTABLE3_REPLACE_GETOPT) ++ find_package(unofficial-getopt-win32 REQUIRED) ++ target_link_libraries(argtable3 PRIVATE unofficial::getopt-win32::getopt) ++endif() ++ + set_target_properties(argtable3 PROPERTIES + VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH} + SOVERSION ${PROJECT_VERSION_MAJOR} diff --git a/ports/argtable3/portfile.cmake b/ports/argtable3/portfile.cmake index 5cb94bc151a9f6..71b188fdae4477 100644 --- a/ports/argtable3/portfile.cmake +++ b/ports/argtable3/portfile.cmake @@ -1,32 +1,36 @@ -vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/argtable/argtable3/releases/download/v3.2.1.52f24e5/argtable-v3.2.1.52f24e5.tar.gz" - FILENAME "argtable-v3.2.1.52f24e5.tar.gz" - SHA512 cec77d56048b38bb7af8553cb660e745972bbd90378eeea4e928579af78190c8a41fdb29c972263e18955e3a497e09c42f705f7c4d548c3c523c5cb104c97a10 -) - -vcpkg_extract_source_archive_ex( +vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} + REPO argtable/argtable3 + REF "v${VERSION}" + SHA512 623197142fd1749b2fd5bc3e51758ae49c58ec8699b6afa5ecb2d0199d98f9c05366f92c5169c8039b5c417f4774fb4a09c879a7b04ddbed9d5e43585692ed7f + HEAD_REF master + PATCHES Fix-dependence-getopt.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +set(ARGTABLE3_REPLACE_GETOPT ON) +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + set(ARGTABLE3_REPLACE_GETOPT OFF) +endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DARGTABLE3_ENABLE_CONAN=OFF -DARGTABLE3_ENABLE_TESTS=OFF + -DARGTABLE3_ENABLE_EXAMPLES=OFF + -DARGTABLE3_REPLACE_GETOPT=${ARGTABLE3_REPLACE_GETOPT} ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -if(EXISTS ${CURRENT_PACKAGES_DIR}/cmake) - vcpkg_fixup_cmake_targets(CONFIG_PATH cmake) -elseif(EXISTS ${CURRENT_PACKAGES_DIR}/lib/cmake/${PORT}) - vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) +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}) endif() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/argtable3/vcpkg.json b/ports/argtable3/vcpkg.json index d28ccb74573c56..2ab9e76b19a908 100644 --- a/ports/argtable3/vcpkg.json +++ b/ports/argtable3/vcpkg.json @@ -1,6 +1,21 @@ { "name": "argtable3", - "version-string": "3.2.1", + "version-string": "3.2.2.f25c624", "description": "A single-file, ANSI C, command-line parsing library that parses GNU-style command-line options", - "homepage": "www.argtable.org" + "homepage": "https://www.argtable.org/", + "license": "BSD-2-Clause-NetBSD AND TCL", + "dependencies": [ + { + "name": "getopt", + "platform": "windows & !mingw" + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/argumentum/portfile.cmake b/ports/argumentum/portfile.cmake index 52d7d1c7420ae7..7e37286481bf3a 100755 --- a/ports/argumentum/portfile.cmake +++ b/ports/argumentum/portfile.cmake @@ -3,25 +3,26 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO mmahnic/argumentum - REF v0.3.1 - SHA512 96f3a2077dacabf95d06120e24a50147b153090ddb0b6da17c960f8fe6724567bcd3337409f4729e1d8d15058550ed9f34a861da16fb6c999207554154e411c1 + REF "v${VERSION}" + SHA512 3efd7950de1f05d89900a3139d2cff8c4e68250d67edd4940ad0e035e037c6fd7c5bc0dc4a5c89382f8d73313d5a8d055c04cf9a8440bc38e42e50cae323a765 HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DARGUMENTUM_BUILD_EXAMPLES=OFF -DARGUMENTUM_BUILD_TESTS=OFF + -DARGUMENTUM_BUILD_STATIC_LIBS=ON + -DARGUMENTUM_INSTALL_HEADERONLY=OFF ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/Argumentum) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/Argumentum) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") # Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE - DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} +file(INSTALL "${SOURCE_PATH}/LICENSE" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/argumentum/vcpkg.json b/ports/argumentum/vcpkg.json index 282dbf6d3affc0..04c764e4eaa12f 100644 --- a/ports/argumentum/vcpkg.json +++ b/ports/argumentum/vcpkg.json @@ -1,7 +1,17 @@ { "name": "argumentum", - "version-string": "0.3.1", - "port-version": 1, + "version": "0.3.2", "description": "A C++17 command line argument parser inspired by Python argparse", - "homepage": "https://github.com/mmahnic/argumentum" + "homepage": "https://github.com/mmahnic/argumentum", + "license": "MPL-2.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/aricpp/portfile.cmake b/ports/aricpp/portfile.cmake index f9c96b5bdbfeb7..5f51f87f294fc5 100644 --- a/ports/aricpp/portfile.cmake +++ b/ports/aricpp/portfile.cmake @@ -1,21 +1,20 @@ +# Header-only library vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO daniele77/aricpp - REF v1.1.1 - SHA512 b1e02b9ba9afc1f3315e238cd61b98a8d28eee08ddbaccaf171aa77d27ecec2b3abfaa5aae6905f9c2a1c83b0095a135f2186c977a0ae0cfafb48e3690814183 + REF v1.1.3 + SHA512 5b4c2829177f338f46f5d48baee8d3dd35bdce11780ed1b4b20ddb738573d12227982574877be8f9a8cea355e202cac97eb85a16fd582d2e348a9404b34467fd HEAD_REF master ) vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" ) vcpkg_cmake_install() -vcpkg_copy_pdbs() vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/aricpp) - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib) -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) - vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug" "${CURRENT_PACKAGES_DIR}/lib") +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/aricpp/vcpkg.json b/ports/aricpp/vcpkg.json index acfc7e0fb5f162..53e52cea351ae5 100644 --- a/ports/aricpp/vcpkg.json +++ b/ports/aricpp/vcpkg.json @@ -1,9 +1,9 @@ { "name": "aricpp", - "version-semver": "1.1.1", - "port-version": 1, + "version-semver": "1.1.3", "description": "Asterisk ARI interface bindings for modern C++", "homepage": "https://github.com/daniele77/aricpp", + "license": "BSL-1.0", "dependencies": [ "boost-asio", "boost-beast", diff --git a/ports/armadillo/add-disable-find-package.patch b/ports/armadillo/add-disable-find-package.patch deleted file mode 100644 index b5d67d5c21a741..00000000000000 --- a/ports/armadillo/add-disable-find-package.patch +++ /dev/null @@ -1,60 +0,0 @@ -diff --git a/cmake_aux/Modules/ARMA_FindARPACK.cmake b/cmake_aux/Modules/ARMA_FindARPACK.cmake -index 1a709ad..3029c25 100644 ---- a/cmake_aux/Modules/ARMA_FindARPACK.cmake -+++ b/cmake_aux/Modules/ARMA_FindARPACK.cmake -@@ -4,6 +4,10 @@ - # ARPACK_FOUND - system has ARPACK - # ARPACK_LIBRARY - Link this to use ARPACK - -+if(CMAKE_DISABLE_FIND_PACKAGE_ARPACK) -+ set(ARPACK_FOUND NO) -+ return() -+endif() - - find_library(ARPACK_LIBRARY - NAMES arpack -diff --git a/cmake_aux/Modules/ARMA_FindATLAS.cmake b/cmake_aux/Modules/ARMA_FindATLAS.cmake -index 491a361..e40a0ff 100644 ---- a/cmake_aux/Modules/ARMA_FindATLAS.cmake -+++ b/cmake_aux/Modules/ARMA_FindATLAS.cmake -@@ -1,3 +1,8 @@ -+if(CMAKE_DISABLE_FIND_PACKAGE_ATLAS) -+ set(ATLAS_FOUND NO) -+ return() -+endif() -+ - find_path(ATLAS_CBLAS_INCLUDE_DIR - NAMES cblas.h - PATHS /usr/include/atlas/ /usr/include/ /usr/local/include/atlas/ /usr/local/include/ -diff --git a/cmake_aux/Modules/ARMA_FindMKL.cmake b/cmake_aux/Modules/ARMA_FindMKL.cmake -index 0fd5b06..d6bcd49 100644 ---- a/cmake_aux/Modules/ARMA_FindMKL.cmake -+++ b/cmake_aux/Modules/ARMA_FindMKL.cmake -@@ -6,6 +6,11 @@ - ## the link below explains why we're linking only with mkl_rt - ## https://software.intel.com/en-us/articles/a-new-linking-model-single-dynamic-library-mkl_rt-since-intel-mkl-103 - -+if(CMAKE_DISABLE_FIND_PACKAGE_MKL) -+ set(MKL_FOUND NO) -+ return() -+endif() -+ - set(MKL_NAMES ${MKL_NAMES} mkl_rt) - #set(MKL_NAMES ${MKL_NAMES} mkl_lapack) - #set(MKL_NAMES ${MKL_NAMES} mkl_intel_thread) -diff --git a/cmake_aux/Modules/ARMA_FindSuperLU5.cmake b/cmake_aux/Modules/ARMA_FindSuperLU5.cmake -index abf046d..e496cb0 100644 ---- a/cmake_aux/Modules/ARMA_FindSuperLU5.cmake -+++ b/cmake_aux/Modules/ARMA_FindSuperLU5.cmake -@@ -5,6 +5,11 @@ - # SuperLU_LIBRARY - Link this to use SuperLU - # SuperLU_INCLUDE_DIR - directory of SuperLU headers - -+if(CMAKE_DISABLE_FIND_PACKAGE_SuperLU) -+ set(SuperLU_FOUND OFF) -+ return() -+endif() -+ - find_path(SuperLU_INCLUDE_DIR slu_ddefs.h - /usr/include/superlu/ - /usr/include/SuperLU/ diff --git a/ports/armadillo/cmake-config.patch b/ports/armadillo/cmake-config.patch new file mode 100644 index 00000000000000..d0bb5a99b5e33e --- /dev/null +++ b/ports/armadillo/cmake-config.patch @@ -0,0 +1,13 @@ +diff --git a/cmake_aux/InstallFiles/ArmadilloConfig.cmake.in b/cmake_aux/InstallFiles/ArmadilloConfig.cmake.in +index bfe74ac..9caf2c8 100644 +--- a/cmake_aux/InstallFiles/ArmadilloConfig.cmake.in ++++ b/cmake_aux/InstallFiles/ArmadilloConfig.cmake.in +@@ -9,7 +9,7 @@ set(ARMADILLO_INCLUDE_DIRS "@ARMADILLO_INCLUDE_DIRS@") + set(ARMADILLO_LIBRARY_DIRS "@ARMADILLO_LIB_DIR@") + + # Our library dependencies (contains definitions for IMPORTED targets) +-include("@ARMADILLO_CMAKE_DIR@/ArmadilloLibraryDepends.cmake") ++include("${CMAKE_CURRENT_LIST_DIR}/ArmadilloLibraryDepends.cmake") + + # These are IMPORTED targets created by ArmadilloLibraryDepends.cmake + set(ARMADILLO_LIBRARIES armadillo) diff --git a/ports/armadillo/dependencies.patch b/ports/armadillo/dependencies.patch new file mode 100644 index 00000000000000..6dd22215d2892f --- /dev/null +++ b/ports/armadillo/dependencies.patch @@ -0,0 +1,45 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 5b27e3c..78d3952 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -260,7 +260,6 @@ message(STATUS "*** Looking for external libraries") + ## Find LAPACK and BLAS libraries, or their optimised versions + ## + +-set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake_aux/Modules/") + + if(APPLE) + message(STATUS "Detected macOS") +@@ -331,11 +330,16 @@ else() + set(FlexiBLAS_FOUND false) + endif() + ++ if(0) + include(ARMA_FindMKL) + include(ARMA_FindOpenBLAS) + include(ARMA_FindATLAS) # TODO: remove support for ATLAS in next major version + include(ARMA_FindBLAS) + include(ARMA_FindLAPACK) ++ else() ++ find_package(BLAS REQUIRED) ++ find_package(LAPACK REQUIRED) ++ endif() + + message(STATUS "FlexiBLAS_FOUND = ${FlexiBLAS_FOUND}" ) + message(STATUS " MKL_FOUND = ${MKL_FOUND}" ) +@@ -449,7 +453,6 @@ else() + endif() + + +-include(ARMA_FindARPACK) + message(STATUS "ARPACK_FOUND = ${ARPACK_FOUND}") + + if(ARPACK_FOUND) +@@ -457,7 +460,6 @@ if(ARPACK_FOUND) + set(ARMA_LIBS ${ARMA_LIBS} ${ARPACK_LIBRARY}) + endif() + +-include(ARMA_FindSuperLU5) + message(STATUS "SuperLU_FOUND = ${SuperLU_FOUND}") + + if(SuperLU_FOUND) diff --git a/ports/armadillo/fix-CMakePath.patch b/ports/armadillo/fix-CMakePath.patch deleted file mode 100644 index cfafc4f289ead3..00000000000000 --- a/ports/armadillo/fix-CMakePath.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index ea5516e..ecd14bc 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -615,7 +615,7 @@ install(EXPORT ArmadilloLibraryDepends DESTINATION - # and install it - set(ARMADILLO_INCLUDE_DIRS "${CMAKE_INSTALL_FULL_INCLUDEDIR}") - set(ARMADILLO_LIB_DIR "${CMAKE_INSTALL_FULL_LIBDIR}") --set(ARMADILLO_CMAKE_DIR "${CMAKE_INSTALL_FULL_DATADIR}/Armadillo/CMake") -+set(ARMADILLO_CMAKE_DIR "${CMAKE_INSTALL_FULL_DATADIR}/Armadillo") - - - message(STATUS "Generating '${PROJECT_BINARY_DIR}/InstallFiles/ArmadilloConfig.cmake'") diff --git a/ports/armadillo/pkgconfig.patch b/ports/armadillo/pkgconfig.patch new file mode 100644 index 00000000000000..548546225bc2b8 --- /dev/null +++ b/ports/armadillo/pkgconfig.patch @@ -0,0 +1,9 @@ +diff --git a/misc/armadillo.pc.in b/misc/armadillo.pc.in +index 27d35bb..1f079a5 100644 +--- a/misc/armadillo.pc.in ++++ b/misc/armadillo.pc.in +@@ -7,3 +7,4 @@ URL: http://arma.sourceforge.net + Version: @ARMA_VERSION_MAJOR@.@ARMA_VERSION_MINOR@.@ARMA_VERSION_PATCH@ + Cflags: -I${includedir} + Libs: -L${libdir} -larmadillo ++Requires.private: @REQUIRES_PRIVATE@ diff --git a/ports/armadillo/portfile.cmake b/ports/armadillo/portfile.cmake index c5d72826d98d59..55602e19f3dc77 100644 --- a/ports/armadillo/portfile.cmake +++ b/ports/armadillo/portfile.cmake @@ -3,45 +3,53 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_sourceforge( OUT_SOURCE_PATH SOURCE_PATH REPO arma - FILENAME "armadillo-10.6.2.tar.xz" - SHA512 ae04e993830ca04e7eddfaf9c40a50fb9139b10b9667412f5a18707ac73ee529b8e3a5a91337782e4e01bae61207b44f24bdd8a77c6c2404011a06006d849aba + FILENAME "armadillo-${VERSION}.tar.xz" + SHA512 55ee45be41ca240783edfd61f647401b0a32826850be82f5e957873c18de0dce87fc39d35e5f6363475ed912c3b1d08ff31151f25378d262d840aa6f15163ac8 PATCHES - remove_custom_modules.patch - fix-CMakePath.patch - add-disable-find-package.patch + cmake-config.patch + dependencies.patch + pkgconfig.patch ) -file(REMOVE "${SOURCE_PATH}/cmake_aux/Modules/ARMA_FindBLAS.cmake") -file(REMOVE "${SOURCE_PATH}/cmake_aux/Modules/ARMA_FindLAPACK.cmake") -file(REMOVE "${SOURCE_PATH}/cmake_aux/Modules/ARMA_FindOpenBLAS.cmake") +set(REQUIRES_PRIVATE "") +foreach(module IN ITEMS lapack blas) + if(EXISTS "${CURRENT_INSTALLED_DIR}/lib/pkgconfig/${module}.pc") + string(APPEND REQUIRES_PRIVATE " ${module}") + endif() +endforeach() vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" DISABLE_PARALLEL_CONFIGURE OPTIONS - -DDETECT_HDF5=false - -DCMAKE_DISABLE_FIND_PACKAGE_SuperLU=ON - -DCMAKE_DISABLE_FIND_PACKAGE_ARPACK=ON - -DCMAKE_DISABLE_FIND_PACKAGE_ATLAS=ON - -DCMAKE_DISABLE_FIND_PACKAGE_MKL=ON + -DALLOW_FLEXIBLAS_LINUX=OFF + "-DREQUIRES_PRIVATE=${REQUIRES_PRIVATE}" ) vcpkg_cmake_install() -vcpkg_cmake_config_fixup(PACKAGE_NAME Armadillo 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() -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/share/Armadillo/CMake" +) -file(GLOB SHARE_CONTENT "${CURRENT_PACKAGES_DIR}/share/Armadillo") -list(LENGTH SHARE_CONTENT SHARE_LEN) -if(SHARE_LEN EQUAL 0) +file(GLOB SHARE_ARMADILLO_FILES "${CURRENT_PACKAGES_DIR}/share/Armadillo/*") +if(SHARE_ARMADILLO_FILES STREQUAL "") # On case sensitive file system there is an extra empty directory created that should be removed file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/Armadillo") endif() -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_replace_string("${CURRENT_PACKAGES_DIR}/include/armadillo_bits/config.hpp" "#define ARMA_AUX_LIBS " "#define ARMA_AUX_LIBS //") -vcpkg_fixup_pkgconfig() +file(COPY "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +file(COPY "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") diff --git a/ports/armadillo/remove_custom_modules.patch b/ports/armadillo/remove_custom_modules.patch deleted file mode 100644 index 88631b573aab49..00000000000000 --- a/ports/armadillo/remove_custom_modules.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index ab7dbed..ea5516e 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -324,15 +324,15 @@ if(APPLE) - else() - - include(ARMA_FindMKL) -- include(ARMA_FindOpenBLAS) - include(ARMA_FindATLAS) -- include(ARMA_FindBLAS) -- include(ARMA_FindLAPACK) - - if(ALLOW_FLEXIBLAS_LINUX AND (${CMAKE_SYSTEM_NAME} MATCHES "Linux")) - include(ARMA_FindFlexiBLAS) - endif() - -+ find_package(BLAS) -+ find_package(LAPACK) -+ - message(STATUS " MKL_FOUND = ${MKL_FOUND}" ) - message(STATUS " OpenBLAS_FOUND = ${OpenBLAS_FOUND}" ) - message(STATUS " ATLAS_FOUND = ${ATLAS_FOUND}" ) diff --git a/ports/armadillo/usage b/ports/armadillo/usage index 58066f6a92b0e3..a6219b878fa9d7 100644 --- a/ports/armadillo/usage +++ b/ports/armadillo/usage @@ -1,4 +1,10 @@ -The package armadillo provides CMake targets: +armadillo provides CMake targets: find_package(Armadillo CONFIG REQUIRED) + target_link_libraries(main PRIVATE armadillo) + +armadillo is compatible with built-in CMake variables: + + find_package(Armadillo REQUIRED) + target_include_directories(main PRIVATE ${ARMADILLO_INCLUDE_DIRS}) target_link_libraries(main PRIVATE ${ARMADILLO_LIBRARIES}) diff --git a/ports/armadillo/vcpkg-cmake-wrapper.cmake b/ports/armadillo/vcpkg-cmake-wrapper.cmake new file mode 100644 index 00000000000000..639cc96c71eabf --- /dev/null +++ b/ports/armadillo/vcpkg-cmake-wrapper.cmake @@ -0,0 +1,15 @@ +cmake_policy(PUSH) +cmake_policy(SET CMP0057 NEW) +if("CONFIG" IN_LIST ARGS OR "NO_MODULE" IN_LIST ARGS OR NOT "${ARGS};" MATCHES "^Armadillo;") + _find_package(${ARGS}) +else() + list(REMOVE_AT ARGS 0) + list(REMOVE_ITEM ARGS "MODULE") + _find_package(ARMADILLO ${ARGS} NAMES Armadillo) + if(ARMADILLO_FOUND) + set(ARMADILLO_VERSION_STRING "${ARMADILLO_VERSION}") + file(STRINGS "${CMAKE_CURRENT_LIST_DIR}/../../include/armadillo_bits/arma_version.hpp" ARMADILLO_VERSION_NAME REGEX "#define ARMA_VERSION_NAME ") + string(REGEX REPLACE ".*#define ARMA_VERSION_NAME\ +\"([0-9a-zA-Z\ _-]+)\".*" "\\1" ARMADILLO_VERSION_NAME "${ARMADILLO_VERSION_NAME}") + endif() +endif() +cmake_policy(POP) diff --git a/ports/armadillo/vcpkg.json b/ports/armadillo/vcpkg.json index 02e934e2000ee4..4fcf11eafcbdc4 100644 --- a/ports/armadillo/vcpkg.json +++ b/ports/armadillo/vcpkg.json @@ -1,9 +1,9 @@ { "name": "armadillo", - "version": "10.6.2", - "port-version": 2, + "version": "14.0.3", "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": "http://arma.sourceforge.net", + "homepage": "https://arma.sourceforge.net/", + "license": "Apache-2.0", "dependencies": [ "blas", "lapack", diff --git a/ports/arpack-ng/portfile.cmake b/ports/arpack-ng/portfile.cmake new file mode 100644 index 00000000000000..51c9378f7d266b --- /dev/null +++ b/ports/arpack-ng/portfile.cmake @@ -0,0 +1,35 @@ +include(vcpkg_find_fortran) +vcpkg_find_fortran(FORTRAN_CMAKE) +set(VCPKG_POLICY_ALLOW_OBSOLETE_MSVCRT enabled) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO opencollab/arpack-ng + REF ${VERSION} + SHA512 1ca590a8c4f75aa74402f9bd62e63851039687f4cb11afa8acb05fce1f22a512bff5fd1709ea85fdbea90b344fbbc01e3944c770b5ddc4d1aabc98ac334f78d2 + HEAD_REF master +) + +if(NOT VCPKG_TARGET_IS_WINDOWS) + set(ENV{FFLAGS} "$ENV{FFLAGS} -fPIC") +endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FORTRAN_CMAKE} + -DMPI=OFF + -DICB=ON + -DICBEXMM=OFF + -DEXAMPLES=OFF + -DTESTS=OFF +) + +vcpkg_cmake_install() +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_cmake_config_fixup(PACKAGE_NAME arpackng CONFIG_PATH lib/cmake/arpackng) +vcpkg_fixup_pkgconfig() + +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) diff --git a/ports/arpack-ng/usage b/ports/arpack-ng/usage new file mode 100644 index 00000000000000..c8cd3f01ea45cd --- /dev/null +++ b/ports/arpack-ng/usage @@ -0,0 +1,4 @@ +The package arpack-ng provides CMake targets: + + find_package(arpackng CONFIG REQUIRED) + target_link_libraries(main PRIVATE ARPACK::ARPACK) \ No newline at end of file diff --git a/ports/arpack-ng/vcpkg.json b/ports/arpack-ng/vcpkg.json new file mode 100644 index 00000000000000..11df367d28afff --- /dev/null +++ b/ports/arpack-ng/vcpkg.json @@ -0,0 +1,24 @@ +{ + "name": "arpack-ng", + "version": "3.9.1", + "description": "ARPACK-NG is a collection of Fortran77 subroutines designed to solve large scale eigenvalue problems.", + "homepage": "https://github.com/opencollab/arpack-ng", + "license": "BSD-3-Clause", + "supports": "!uwp", + "dependencies": [ + "blas", + "lapack", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + { + "name": "vcpkg-gfortran", + "platform": "windows" + } + ] +} diff --git a/ports/arrayfire/build.patch b/ports/arrayfire/build.patch index b102dea9a677b2..a87c02ffb66481 100644 --- a/ports/arrayfire/build.patch +++ b/ports/arrayfire/build.patch @@ -218,3 +218,50 @@ index d618ff2..9f51739 100644 ) set_target_properties(opencl_sort_by_key_${SBK_TYPE} +diff --git a/src/backend/opencl/CMakeLists.txt b/src/backend/opencl/CMakeLists.txt +index b543433..9b5923b 100644 +--- a/src/backend/opencl/CMakeLists.txt ++++ b/src/backend/opencl/CMakeLists.txt +@@ -432,12 +432,9 @@ if(AF_OPENCL_BLAS_LIBRARY STREQUAL "clBLAS") + PRIVATE + clBLAS::clBLAS) + elseif(AF_OPENCL_BLAS_LIBRARY STREQUAL "CLBlast") +- include(build_CLBlast) ++ find_package(CLBlast CONFIG REQUIRED) + target_compile_definitions(afopencl PRIVATE USE_CLBLAST) +- target_link_libraries(afopencl +- PRIVATE +- CLBlast) +- add_dependencies(afopencl CLBlast-ext) ++ target_link_libraries(afopencl PRIVATE clblast) + endif() + + +diff --git a/src/backend/opencl/homography.cpp b/src/backend/opencl/homography.cpp +index 3b598b0..2815923 100644 +--- a/src/backend/opencl/homography.cpp ++++ b/src/backend/opencl/homography.cpp +@@ -39,7 +39,7 @@ int homography(Array &bestH, const Array &x_src, + ::std::min(iter, static_cast( + log(1.f - LMEDSConfidence) / + log(1.f - pow(1.f - LMEDSOutlierRatio, 4.f)))); +- err = createValueArray(af::dim4(nsamples, iter), FLT_MAX); ++ err = createValueArray(af::dim4(nsamples, iter), std::numeric_limits::max()); + } else { + // Avoid passing "null" cl_mem object to kernels + err = createEmptyArray(af::dim4(1)); +diff --git a/src/backend/opencl/kernel/homography.hpp b/src/backend/opencl/kernel/homography.hpp +index b84e599..90d0c80 100644 +--- a/src/backend/opencl/kernel/homography.hpp ++++ b/src/backend/opencl/kernel/homography.hpp +@@ -39,7 +39,9 @@ std::array getHomographyKernels(const af_homography_type htype) { + }; + options.emplace_back(getTypeBuildDefinition()); + options.emplace_back(DefineKeyValue( +- EPS, (std::is_same::value ? DBL_EPSILON : FLT_EPSILON))); ++ EPS, (std::is_same::value ++ ? std::numeric_limits::epsilon() ++ : std::numeric_limits::epsilon()))); + if (htype == AF_HOMOGRAPHY_RANSAC) { + options.emplace_back(DefineKey(RANSAC)); + } diff --git a/ports/arrayfire/fix-dependency-clfft.patch b/ports/arrayfire/fix-dependency-clfft.patch new file mode 100644 index 00000000000000..8072746e3ce008 --- /dev/null +++ b/ports/arrayfire/fix-dependency-clfft.patch @@ -0,0 +1,14 @@ +diff --git a/src/backend/opencl/CMakeLists.txt b/src/backend/opencl/CMakeLists.txt +index f970da0..b543433 100644 +--- a/src/backend/opencl/CMakeLists.txt ++++ b/src/backend/opencl/CMakeLists.txt +@@ -12,7 +12,8 @@ set_property(CACHE AF_OPENCL_BLAS_LIBRARY PROPERTY STRINGS "clBLAS" "CLBlast") + + af_deprecate(OPENCL_BLAS_LIBRARY AF_OPENCL_BLAS_LIBRARY) + +-include(build_clFFT) ++find_package(clFFT CONFIG REQUIRED) ++add_library(clFFT::clFFT ALIAS clFFT) + + file(GLOB kernel_src kernel/*.cl kernel/KParam.hpp) + 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 29322df6c38d3a..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 @@ -7,7 +14,10 @@ vcpkg_from_github( PATCHES 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 vcpkg_from_github( @@ -16,7 +26,7 @@ vcpkg_from_github( REF b666773940269179f19ef11c8f1eb77005e85d9a SHA512 b3e8b54acf3a588b1f821c2774d5da2d8f8441962c6d99808d513f7117278b9066eb050b8b501bddbd3882e68eb5cc5da0b2fca54e15ab1923fe068a3fe834f5 HEAD_REF master - ) +) # Get forge. We only need headers and aren't actually linking. # We don't want to use the vcpkg dependency since it is broken in many @@ -44,8 +54,17 @@ set(AF_DEFAULT_VCPKG_CMAKE_FLAGS -DAF_CPU_THREAD_PATH=${CPU_THREADS_PATH} # for building the arrayfire cpu threads lib -DAF_FORGE_PATH=${FORGE_PATH} # forge headers for building the graphics lib -DAF_BUILD_FORGE=OFF - -DAF_INSTALL_CMAKE_DIR=${CURRENT_PACKAGES_DIR}/share/${PORT} # for CMake configs/targets - ) +) + +if("cpu" IN_LIST FEATURES) + if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_CRT_LINKAGE STREQUAL "static") + list(APPEND AF_DEFAULT_VCPKG_CMAKE_FLAGS "-DMKL_THREAD_LAYER=Sequential") + endif() + if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + list(APPEND AF_DEFAULT_VCPKG_CMAKE_FLAGS "-DINT_SIZE=8") + # This seems scary but only selects the MKL interface. 4 = lp; 8 = ilp; Since x64 has ilp as the default use it! + endif() +endif() # bin/dll directory for Windows non-static builds for the unified backend dll if (VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_LIBRARY_LINKAGE STREQUAL "static") @@ -70,19 +89,33 @@ 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} - ) + MAYBE_UNUSED_VARIABLES + AF_CPU_THREAD_PATH +) vcpkg_cmake_install() vcpkg_copy_pdbs() -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/examples") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/LICENSES") +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}/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}") -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/arrayfire/vcpkg.json b/ports/arrayfire/vcpkg.json index 91a39717c7672a..6ccec696fd6cc3 100644 --- a/ports/arrayfire/vcpkg.json +++ b/ports/arrayfire/vcpkg.json @@ -1,7 +1,10 @@ { "name": "arrayfire", "version-semver": "3.8.0", + "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", "supports": "x64", "dependencies": [ "boost-compute", @@ -39,6 +42,8 @@ "opencl": { "description": "ArrayFire OpenCL backend", "dependencies": [ + "clblast", + "clfft", "opencl" ] }, diff --git a/ports/arrow/all.patch b/ports/arrow/all.patch deleted file mode 100644 index a9b3a26280cabe..00000000000000 --- a/ports/arrow/all.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/cpp/cmake_modules/BuildUtils.cmake b/cpp/cmake_modules/BuildUtils.cmake -index cd8290d1b..12c52c184 100644 ---- a/cpp/cmake_modules/BuildUtils.cmake -+++ b/cpp/cmake_modules/BuildUtils.cmake -@@ -427,7 +427,7 @@ function(ADD_ARROW_LIB LIB_NAME) - target_include_directories(${LIB_NAME}_static PRIVATE ${ARG_PRIVATE_INCLUDES}) - endif() - -- if(MSVC_TOOLCHAIN) -+ if(MSVC_TOOLCHAIN AND 0) - set(LIB_NAME_STATIC ${LIB_NAME}_static) - else() - set(LIB_NAME_STATIC ${LIB_NAME}) diff --git a/ports/arrow/android.patch b/ports/arrow/android.patch new file mode 100644 index 00000000000000..b228d8885f1724 --- /dev/null +++ b/ports/arrow/android.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/fix-dependencies.patch b/ports/arrow/fix-dependencies.patch deleted file mode 100644 index 3e22d18019e74b..00000000000000 --- a/ports/arrow/fix-dependencies.patch +++ /dev/null @@ -1,267 +0,0 @@ -diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt -index b5a39bf33..af1e16a9b 100644 ---- a/cpp/CMakeLists.txt -+++ b/cpp/CMakeLists.txt -@@ -668,7 +668,7 @@ endif() - - if(ARROW_WITH_BROTLI) - # Order is important for static linking -- set(ARROW_BROTLI_LIBS Brotli::brotlienc Brotli::brotlidec Brotli::brotlicommon) -+ set(ARROW_BROTLI_LIBS unofficial::brotli::brotlienc unofficial::brotli::brotlidec unofficial::brotli::brotlicommon) - list(APPEND ARROW_LINK_LIBS ${ARROW_BROTLI_LIBS}) - list(APPEND ARROW_STATIC_LINK_LIBS ${ARROW_BROTLI_LIBS}) - if(Brotli_SOURCE STREQUAL "SYSTEM") -@@ -684,9 +684,9 @@ if(ARROW_WITH_BZ2) - endif() - - if(ARROW_WITH_LZ4) -- list(APPEND ARROW_STATIC_LINK_LIBS LZ4::lz4) -+ list(APPEND ARROW_STATIC_LINK_LIBS lz4::lz4) - if(Lz4_SOURCE STREQUAL "SYSTEM") -- list(APPEND ARROW_STATIC_INSTALL_INTERFACE_LIBS LZ4::lz4) -+ list(APPEND ARROW_STATIC_INSTALL_INTERFACE_LIBS lz4::lz4) - endif() - endif() - -@@ -735,10 +735,10 @@ if(ARROW_S3) - endif() - - if(ARROW_WITH_UTF8PROC) -- list(APPEND ARROW_LINK_LIBS utf8proc::utf8proc) -- list(APPEND ARROW_STATIC_LINK_LIBS utf8proc::utf8proc) -+ list(APPEND ARROW_LINK_LIBS utf8proc) -+ list(APPEND ARROW_STATIC_LINK_LIBS utf8proc) - if(utf8proc_SOURCE STREQUAL "SYSTEM") -- list(APPEND ARROW_STATIC_INSTALL_INTERFACE_LIBS utf8proc::utf8proc) -+ list(APPEND ARROW_STATIC_INSTALL_INTERFACE_LIBS utf8proc) - endif() - endif() - -diff --git a/cpp/cmake_modules/ThirdpartyToolchain.cmake b/cpp/cmake_modules/ThirdpartyToolchain.cmake -index e6852d9c2..fc0973ffa 100644 ---- a/cpp/cmake_modules/ThirdpartyToolchain.cmake -+++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake -@@ -53,7 +53,7 @@ set(ARROW_THIRDPARTY_DEPENDENCIES - AWSSDK - benchmark - Boost -- Brotli -+ unofficial-brotli - BZip2 - c-ares - gflags -@@ -61,14 +61,14 @@ set(ARROW_THIRDPARTY_DEPENDENCIES - gRPC - GTest - LLVM -- Lz4 -+ lz4 - ORC - re2 - Protobuf - RapidJSON - Snappy - Thrift -- utf8proc -+ unofficial-utf8proc - xsimd - ZLIB - zstd) -@@ -945,7 +945,7 @@ macro(build_snappy) - endmacro() - - if(ARROW_WITH_SNAPPY) -- resolve_dependency(Snappy PC_PACKAGE_NAMES snappy) -+ resolve_dependency(Snappy USE_CONFIG TRUE PC_PACKAGE_NAMES snappy) - if(${Snappy_SOURCE} STREQUAL "SYSTEM" AND NOT snappy_PC_FOUND) - get_target_property(SNAPPY_LIB Snappy::snappy IMPORTED_LOCATION) - string(APPEND ARROW_PC_LIBS_PRIVATE " ${SNAPPY_LIB}") -@@ -1014,10 +1014,16 @@ macro(build_brotli) - endmacro() - - if(ARROW_WITH_BROTLI) -- resolve_dependency(Brotli PC_PACKAGE_NAMES libbrotlidec libbrotlienc) -+ set(unofficial-brotli_SOURCE "SYSTEM") -+ resolve_dependency(unofficial-brotli USE_CONFIG TRUE PC_PACKAGE_NAMES libbrotlidec libbrotlienc) - # TODO: Don't use global includes but rather target_include_directories -- get_target_property(BROTLI_INCLUDE_DIR Brotli::brotlicommon -- INTERFACE_INCLUDE_DIRECTORIES) -+ if (BUILD_SHARED_LIBS) -+ get_target_property(BROTLI_INCLUDE_DIR unofficial::brotli::brotlicommon -+ INTERFACE_INCLUDE_DIRECTORIES) -+ else() -+ get_target_property(BROTLI_INCLUDE_DIR unofficial::brotli::brotlicommon-static -+ INTERFACE_INCLUDE_DIRECTORIES) -+ endif() - include_directories(SYSTEM ${BROTLI_INCLUDE_DIR}) - endif() - -@@ -1133,7 +1139,7 @@ macro(build_glog) - endmacro() - - if(ARROW_USE_GLOG) -- resolve_dependency(GLOG PC_PACKAGE_NAMES libglog) -+ resolve_dependency(glog USE_CONFIG TRUE PC_PACKAGE_NAMES libglog) - # TODO: Don't use global includes but rather target_include_directories - get_target_property(GLOG_INCLUDE_DIR glog::glog INTERFACE_INCLUDE_DIRECTORIES) - include_directories(SYSTEM ${GLOG_INCLUDE_DIR}) -@@ -1206,8 +1212,7 @@ endmacro() - if(ARROW_NEED_GFLAGS) - set(ARROW_GFLAGS_REQUIRED_VERSION "2.1.0") - resolve_dependency(gflags -- HAVE_ALT -- TRUE -+ USE_CONFIG TRUE - REQUIRED_VERSION - ${ARROW_GFLAGS_REQUIRED_VERSION} - IS_RUNTIME_DEPENDENCY -@@ -1309,6 +1314,7 @@ if(ARROW_WITH_THRIFT) - if(NOT Thrift_FOUND AND NOT THRIFT_FOUND) - # Thrift c++ code generated by 0.13 requires 0.11 or greater - resolve_dependency(Thrift -+ USE_CONFIG TRUE - REQUIRED_VERSION - 0.11.0 - PC_PACKAGE_NAMES -@@ -1413,6 +1419,7 @@ if(ARROW_WITH_PROTOBUF) - set(ARROW_PROTOBUF_REQUIRED_VERSION "2.6.1") - endif() - resolve_dependency(Protobuf -+ USE_CONFIG TRUE - REQUIRED_VERSION - ${ARROW_PROTOBUF_REQUIRED_VERSION} - PC_PACKAGE_NAMES -@@ -1423,6 +1430,10 @@ if(ARROW_WITH_PROTOBUF) - endif() - - # TODO: Don't use global includes but rather target_include_directories -+ if (TARGET protobuf::libprotobuf) -+ get_target_property(PROTOBUF_INCLUDE_DIR protobuf::libprotobuf -+ INTERFACE_INCLUDE_DIRECTORIES) -+ endif() - include_directories(SYSTEM ${PROTOBUF_INCLUDE_DIR}) - - if(TARGET arrow::protobuf::libprotobuf) -@@ -1471,12 +1482,18 @@ if(ARROW_WITH_PROTOBUF) - - # Log protobuf paths as we often see issues with mixed sources for - # the libraries and protoc. -+ if (NOT TARGET protobuf::protoc) - get_target_property(PROTOBUF_PROTOC_EXECUTABLE ${ARROW_PROTOBUF_PROTOC} - IMPORTED_LOCATION) -+ endif() - message(STATUS "Found protoc: ${PROTOBUF_PROTOC_EXECUTABLE}") - # Protobuf_PROTOC_LIBRARY is set by all versions of FindProtobuf.cmake - message(STATUS "Found libprotoc: ${Protobuf_PROTOC_LIBRARY}") -+ if (NOT TARGET protobuf::libprotobuf) - get_target_property(PROTOBUF_LIBRARY ${ARROW_PROTOBUF_LIBPROTOBUF} IMPORTED_LOCATION) -+ else() -+ set(PROTOBUF_LIBRARY protobuf::libprotobuf) -+ endif() - message(STATUS "Found libprotobuf: ${PROTOBUF_LIBRARY}") - message(STATUS "Found protobuf headers: ${PROTOBUF_INCLUDE_DIR}") - endif() -@@ -1889,7 +1906,7 @@ endmacro() - if(ARROW_WITH_RAPIDJSON) - set(ARROW_RAPIDJSON_REQUIRED_VERSION "1.1.0") - resolve_dependency(RapidJSON -- HAVE_ALT -+ USE_CONFIG - TRUE - REQUIRED_VERSION - ${ARROW_RAPIDJSON_REQUIRED_VERSION} -@@ -2024,10 +2041,11 @@ macro(build_lz4) - endmacro() - - if(ARROW_WITH_LZ4) -- resolve_dependency(Lz4 PC_PACKAGE_NAMES liblz4) -+ set(lz4_SOURCE "SYSTEM") -+ resolve_dependency(lz4 USE_CONFIG TRUE PC_PACKAGE_NAMES liblz4) - - # TODO: Don't use global includes but rather target_include_directories -- get_target_property(LZ4_INCLUDE_DIR LZ4::lz4 INTERFACE_INCLUDE_DIRECTORIES) -+ get_target_property(LZ4_INCLUDE_DIR lz4::lz4 INTERFACE_INCLUDE_DIRECTORIES) - include_directories(SYSTEM ${LZ4_INCLUDE_DIR}) - endif() - -@@ -2090,7 +2108,7 @@ endmacro() - if(ARROW_WITH_ZSTD) - # ARROW-13384: ZSTD_minCLevel was added in v1.4.0, required by ARROW-13091 - resolve_dependency(zstd -- PC_PACKAGE_NAMES -+ USE_CONFIG TRUE PC_PACKAGE_NAMES - libzstd - REQUIRED_VERSION - 1.4.0) -@@ -2262,9 +2280,8 @@ macro(build_utf8proc) - endmacro() - - if(ARROW_WITH_UTF8PROC) -- resolve_dependency(utf8proc -- REQUIRED_VERSION -- "2.2.0" -+ resolve_dependency(unofficial-utf8proc -+ USE_CONFIG TRUE - PC_PACKAGE_NAMES - libutf8proc) - -@@ -2272,7 +2289,7 @@ if(ARROW_WITH_UTF8PROC) - - # TODO: Don't use global definitions but rather - # target_compile_definitions or target_link_libraries -- get_target_property(UTF8PROC_COMPILER_DEFINITIONS utf8proc::utf8proc -+ get_target_property(UTF8PROC_COMPILER_DEFINITIONS utf8proc - INTERFACE_COMPILER_DEFINITIONS) - if(UTF8PROC_COMPILER_DEFINITIONS) - add_definitions(-D${UTF8PROC_COMPILER_DEFINITIONS}) -@@ -2280,7 +2297,7 @@ if(ARROW_WITH_UTF8PROC) - - # TODO: Don't use global includes but rather - # target_include_directories or target_link_libraries -- get_target_property(UTF8PROC_INCLUDE_DIR utf8proc::utf8proc -+ get_target_property(UTF8PROC_INCLUDE_DIR utf8proc - INTERFACE_INCLUDE_DIRECTORIES) - include_directories(SYSTEM ${UTF8PROC_INCLUDE_DIR}) - endif() -@@ -2335,7 +2352,7 @@ endmacro() - - macro(build_grpc) - resolve_dependency(c-ares -- HAVE_ALT -+ USE_CONFIG - TRUE - PC_PACKAGE_NAMES - libcares) -@@ -2600,7 +2617,7 @@ endmacro() - if(ARROW_WITH_GRPC) - set(ARROW_GRPC_REQUIRED_VERSION "1.17.0") - resolve_dependency(gRPC -- HAVE_ALT -+ USE_CONFIG - TRUE - REQUIRED_VERSION - ${ARROW_GRPC_REQUIRED_VERSION} -@@ -2610,6 +2627,10 @@ if(ARROW_WITH_GRPC) - # TODO: Don't use global includes but rather target_include_directories - get_target_property(GRPC_INCLUDE_DIR gRPC::grpc++ INTERFACE_INCLUDE_DIRECTORIES) - include_directories(SYSTEM ${GRPC_INCLUDE_DIR}) -+ if (ABSL_USE_CXX17) -+ message(STATUS "Found absl uses CXX17, enable CXX17 feature.") -+ set(CMAKE_CXX_STANDARD 17) -+ endif() - - if(GRPC_VENDORED) - set(GRPCPP_PP_INCLUDE TRUE) -diff --git a/cpp/src/arrow/adapters/orc/CMakeLists.txt b/cpp/src/arrow/adapters/orc/CMakeLists.txt -index ca901b07d..4512a175f 100644 ---- a/cpp/src/arrow/adapters/orc/CMakeLists.txt -+++ b/cpp/src/arrow/adapters/orc/CMakeLists.txt -@@ -29,7 +29,7 @@ set(ORC_MIN_TEST_LIBS - GTest::gtest_main - GTest::gtest - Snappy::snappy -- LZ4::lz4 -+ lz4::lz4 - ZLIB::ZLIB) - - if(ARROW_BUILD_STATIC) diff --git a/ports/arrow/msvc-static-name.patch b/ports/arrow/msvc-static-name.patch new file mode 100644 index 00000000000000..45624f168983f8 --- /dev/null +++ b/ports/arrow/msvc-static-name.patch @@ -0,0 +1,13 @@ +diff --git a/cpp/cmake_modules/BuildUtils.cmake b/cpp/cmake_modules/BuildUtils.cmake +index 391c43e0a..50f6d3d3c 100644 +--- a/cpp/cmake_modules/BuildUtils.cmake ++++ b/cpp/cmake_modules/BuildUtils.cmake +@@ -427,7 +427,7 @@ function(ADD_ARROW_LIB LIB_NAME) + target_include_directories(${LIB_NAME}_static PRIVATE ${ARG_PRIVATE_INCLUDES}) + endif() + +- if(MSVC_TOOLCHAIN) ++ if(MSVC_TOOLCHAIN AND 0) + set(LIB_NAME_STATIC ${LIB_NAME}_static) + else() + set(LIB_NAME_STATIC ${LIB_NAME}) diff --git a/ports/arrow/portfile.cmake b/ports/arrow/portfile.cmake index e5a1dcc6c6245f..e2462494cb3e12 100644 --- a/ports/arrow/portfile.cmake +++ b/ports/arrow/portfile.cmake @@ -1,104 +1,150 @@ -vcpkg_fail_port_install(ON_ARCH "x86" "arm" "arm64") - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO apache/arrow - REF apache-arrow-5.0.0 - SHA512 68f4377f654423e7ea47c8c0170ddb030d0b020b936ec435854e216392e6515d870287f410d0acd48b36dcfec61be4c4a95794857f1d91c66745f3c6ed748034 - HEAD_REF master - PATCHES - all.patch - fix-dependencies.patch +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 4df30ab5561da695eaa864422626b9898555d86ca56835c3b8a8ca93a1dbaf081582bb36e2440d1daf7e1dd48c76941f1152a4f25ce0dbcc1c2abe244a00c05e ) - -file(REMOVE ${SOURCE_PATH}/cpp/cmake_modules/Findzstd.cmake - ${SOURCE_PATH}/cpp/cmake_modules/FindBrotli.cmake - ${SOURCE_PATH}/cpp/cmake_modules/Find-c-aresAlt.cmake - ${SOURCE_PATH}/cpp/cmake_modules/FindLz4.cmake - ${SOURCE_PATH}/cpp/cmake_modules/FindSnappy.cmake - ${SOURCE_PATH}/cpp/cmake_modules/FindThrift.cmake - ${SOURCE_PATH}/cpp/cmake_modules/FindGLOG.cmake - ${SOURCE_PATH}/cpp/cmake_modules/Findutf8proc.cmake - ${SOURCE_PATH}/cpp/cmake_modules/FindRapidJSONAlt.cmake - ${SOURCE_PATH}/cpp/cmake_modules/FindgRPCAlt.cmake - ${SOURCE_PATH}/cpp/cmake_modules/FindgflagsAlt.cmake +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE ${ARCHIVE_PATH} + PATCHES + android.patch + msvc-static-name.patch + utf8proc.patch + thrift.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 + mimalloc ARROW_MIMALLOC orc ARROW_ORC parquet ARROW_PARQUET parquet PARQUET_REQUIRE_ENCRYPTION s3 ARROW_S3 ) -if(VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_UWP) - set(MALLOC_OPTIONS -DARROW_JEMALLOC=OFF) -elseif("jemalloc" IN_LIST FEATURES) - set(MALLOC_OPTIONS -DARROW_JEMALLOC=ON) -else() - set(MALLOC_OPTIONS -DARROW_JEMALLOC=OFF) -endif() - -if(VCPKG_TARGET_IS_WINDOWS AND ("mimalloc" IN_LIST FEATURES)) - set(MALLOC_OPTIONS ${MALLOC_OPTIONS} -DARROW_MIMALLOC=ON) -else() - set(MALLOC_OPTIONS ${MALLOC_OPTIONS} -DARROW_MIMALLOC=OFF) +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + list(APPEND FEATURE_OPTIONS "-DARROW_USE_NATIVE_INT128=OFF") endif() string(COMPARE EQUAL ${VCPKG_LIBRARY_LINKAGE} "dynamic" ARROW_BUILD_SHARED) string(COMPARE EQUAL ${VCPKG_LIBRARY_LINKAGE} "static" ARROW_BUILD_STATIC) string(COMPARE EQUAL ${VCPKG_LIBRARY_LINKAGE} "dynamic" ARROW_DEPENDENCY_USE_SHARED) -if(VCPKG_TARGET_IS_WINDOWS) - set(THRIFT_USE_SHARED OFF) -else() - set(THRIFT_USE_SHARED ${ARROW_DEPENDENCY_USE_SHARED}) -endif() - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH}/cpp - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/cpp" OPTIONS ${FEATURE_OPTIONS} - ${MALLOC_OPTIONS} -DARROW_BUILD_SHARED=${ARROW_BUILD_SHARED} -DARROW_BUILD_STATIC=${ARROW_BUILD_STATIC} -DARROW_BUILD_TESTS=OFF -DARROW_DEPENDENCY_SOURCE=SYSTEM -DARROW_DEPENDENCY_USE_SHARED=${ARROW_DEPENDENCY_USE_SHARED} - -DARROW_THRIFT_USE_SHARED=${THRIFT_USE_SHARED} - -DBUILD_WARNING_LEVEL=PRODUCTION - -DARROW_WITH_BROTLI=ON + -DARROW_PACKAGE_KIND=vcpkg + -DARROW_WITH_BROTLI=ON -DARROW_WITH_BZ2=ON -DARROW_WITH_LZ4=ON -DARROW_WITH_SNAPPY=ON -DARROW_WITH_ZLIB=ON -DARROW_WITH_ZSTD=ON + -DBUILD_WARNING_LEVEL=PRODUCTION + -DCMAKE_SYSTEM_PROCESSOR=${VCPKG_TARGET_ARCHITECTURE} -DZSTD_MSVC_LIB_PREFIX= + MAYBE_UNUSED_VARIABLES + ZSTD_MSVC_LIB_PREFIX ) -vcpkg_install_cmake() - +vcpkg_cmake_install() vcpkg_copy_pdbs() -if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/arrow_static.lib) +vcpkg_fixup_pkgconfig() + +if(EXISTS "${CURRENT_PACKAGES_DIR}/lib/arrow_static.lib") message(FATAL_ERROR "Installed lib file should be named 'arrow.lib' via patching the upstream build.") endif() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/arrow) +if("dataset" IN_LIST FEATURES) + vcpkg_cmake_config_fixup( + PACKAGE_NAME arrowdataset + CONFIG_PATH lib/cmake/ArrowDataset + DO_NOT_DELETE_PARENT_CONFIG_PATH + ) +endif() + +if("acero" IN_LIST FEATURES) + vcpkg_cmake_config_fixup( + PACKAGE_NAME arrowacero + CONFIG_PATH lib/cmake/ArrowAcero + DO_NOT_DELETE_PARENT_CONFIG_PATH + ) +endif() + +if("flight" IN_LIST FEATURES) + vcpkg_cmake_config_fixup( + PACKAGE_NAME ArrowFlight + CONFIG_PATH lib/cmake/ArrowFlight + DO_NOT_DELETE_PARENT_CONFIG_PATH + ) +endif() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/cmake) +if("flightsql" IN_LIST FEATURES) + vcpkg_cmake_config_fixup( + PACKAGE_NAME ArrowFlightSql + CONFIG_PATH lib/cmake/ArrowFlightSql + DO_NOT_DELETE_PARENT_CONFIG_PATH + ) +endif() -file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +if("parquet" IN_LIST FEATURES) + vcpkg_cmake_config_fixup( + PACKAGE_NAME parquet + CONFIG_PATH lib/cmake/Parquet + DO_NOT_DELETE_PARENT_CONFIG_PATH + ) +endif() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/Arrow) -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}") +if("parquet" IN_LIST FEATURES) + file(READ "${CMAKE_CURRENT_LIST_DIR}/usage-parquet" usage-parquet) + file(APPEND "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" "${usage-parquet}") +endif() +if("dataset" IN_LIST FEATURES) + file(READ "${CMAKE_CURRENT_LIST_DIR}/usage-dataset" usage-dataset) + file(APPEND "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" "${usage-dataset}") +endif() +if("acero" IN_LIST FEATURES) + file(READ "${CMAKE_CURRENT_LIST_DIR}/usage-acero" usage-acero) + file(APPEND "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" "${usage-acero}") +endif() -vcpkg_fixup_pkgconfig() +if("flight" IN_LIST FEATURES) + file(READ "${CMAKE_CURRENT_LIST_DIR}/usage-flight" usage-flight) + 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() + +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") diff --git a/ports/arrow/thrift.patch b/ports/arrow/thrift.patch new file mode 100644 index 00000000000000..7c81e23dba7fe7 --- /dev/null +++ b/ports/arrow/thrift.patch @@ -0,0 +1,22 @@ +diff --git a/cpp/cmake_modules/FindThriftAlt.cmake b/cpp/cmake_modules/FindThriftAlt.cmake +index f3e4902..65ceac8 100644 +--- a/cpp/cmake_modules/FindThriftAlt.cmake ++++ b/cpp/cmake_modules/FindThriftAlt.cmake +@@ -45,7 +45,7 @@ endif() + # * https://github.com/apache/thrift/pull/2725 + # * https://github.com/apache/thrift/pull/2726 + # * https://github.com/conda-forge/thrift-cpp-feedstock/issues/68 +-if(NOT WIN32) ++ + set(find_package_args "") + if(ThriftAlt_FIND_VERSION) + list(APPEND find_package_args ${ThriftAlt_FIND_VERSION}) +@@ -61,7 +61,7 @@ if(NOT WIN32) + "${THRIFT_COMPILER}") + return() + endif() +-endif() ++ + + function(extract_thrift_version) + if(ThriftAlt_INCLUDE_DIR) diff --git a/ports/arrow/usage b/ports/arrow/usage new file mode 100644 index 00000000000000..a0043630037947 --- /dev/null +++ b/ports/arrow/usage @@ -0,0 +1,4 @@ +The package arrow provides CMake targets: + + find_package(Arrow CONFIG REQUIRED) + target_link_libraries(main PRIVATE "$,Arrow::arrow_static,Arrow::arrow_shared>") diff --git a/ports/arrow/usage-acero b/ports/arrow/usage-acero new file mode 100644 index 00000000000000..bde5ef80dabeda --- /dev/null +++ b/ports/arrow/usage-acero @@ -0,0 +1,3 @@ + + find_package(ArrowAcero CONFIG REQUIRED) + target_link_libraries(main PRIVATE "$,ArrowAcero::arrow_acero_static,ArrowAcero::arrow_acero_shared>") diff --git a/ports/arrow/usage-dataset b/ports/arrow/usage-dataset new file mode 100644 index 00000000000000..dcb9bda46bb00f --- /dev/null +++ b/ports/arrow/usage-dataset @@ -0,0 +1,3 @@ + + find_package(ArrowDataset CONFIG REQUIRED) + target_link_libraries(main PRIVATE "$,ArrowDataset::arrow_dataset_static,ArrowDataset::arrow_dataset_shared>") diff --git a/ports/arrow/usage-flight b/ports/arrow/usage-flight new file mode 100644 index 00000000000000..69abcf6c0c6d29 --- /dev/null +++ b/ports/arrow/usage-flight @@ -0,0 +1,3 @@ + + find_package(ArrowFlight CONFIG REQUIRED) + target_link_libraries(main PRIVATE "$,ArrowFlight::arrow_flight_static,ArrowFlight::arrow_flight_shared>") 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/usage-parquet b/ports/arrow/usage-parquet new file mode 100644 index 00000000000000..ddec5c5a5a6268 --- /dev/null +++ b/ports/arrow/usage-parquet @@ -0,0 +1,3 @@ + + find_package(Parquet CONFIG REQUIRED) + target_link_libraries(main PRIVATE "$,Parquet::parquet_static,Parquet::parquet_shared>") diff --git a/ports/arrow/utf8proc.patch b/ports/arrow/utf8proc.patch new file mode 100644 index 00000000000000..eea9ca59e2ed7e --- /dev/null +++ b/ports/arrow/utf8proc.patch @@ -0,0 +1,13 @@ +diff --git a/cpp/cmake_modules/Findutf8proc.cmake b/cpp/cmake_modules/Findutf8proc.cmake +index e347414..83f2aa1 100644 +--- a/cpp/cmake_modules/Findutf8proc.cmake ++++ b/cpp/cmake_modules/Findutf8proc.cmake +@@ -30,7 +30,7 @@ if(ARROW_PACKAGE_KIND STREQUAL "vcpkg") + if(utf8proc_FIND_REQUIRED) + list(APPEND find_package_args REQUIRED) + endif() +- find_package(utf8proc NAMES unofficial-utf8proc ${find_package_args}) ++ find_package(utf8proc NAMES unofficial-utf8proc) + if(utf8proc_FOUND) + add_library(utf8proc::utf8proc ALIAS utf8proc) + return() diff --git a/ports/arrow/vcpkg.json b/ports/arrow/vcpkg.json index cdddf011af6dc6..cdcff511383efe 100644 --- a/ports/arrow/vcpkg.json +++ b/ports/arrow/vcpkg.json @@ -1,10 +1,10 @@ { "name": "arrow", - "version": "5.0.0", - "port-version": 1, + "version": "18.0.0", "description": "Cross-language development platform for in-memory analytics", "homepage": "https://arrow.apache.org", - "supports": "x64", + "license": "Apache-2.0", + "supports": "x64 | (arm64 & !windows)", "dependencies": [ "boost-filesystem", "boost-multiprecision", @@ -12,13 +12,21 @@ "brotli", "bzip2", "gflags", - "glog", "lz4", "openssl", "re2", "snappy", "thrift", "utf8proc", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "xsimd", "zlib", "zstd" ], @@ -29,12 +37,27 @@ "parquet" ], "features": { + "acero": { + "description": "Acero support" + }, + "compute": { + "description": "Build all computational kernel functions" + }, "csv": { "description": "CSV support" }, + "cuda": { + "description": "cuda support", + "dependencies": [ + "cuda" + ] + }, "dataset": { "description": "Dataset support" }, + "example": { + "description": "Install the minimal example (source code)" + }, "filesystem": { "description": "Filesystem support" }, @@ -47,8 +70,33 @@ "protobuf" ] }, + "flightsql": { + "description": "FlightSQL support", + "dependencies": [ + { + "name": "arrow", + "default-features": false, + "features": [ + "flight" + ] + } + ] + }, + "gcs": { + "description": "GCS support", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "storage" + ] + } + ] + }, "jemalloc": { - "description": "jemalloc allocator" + "description": "jemalloc allocator", + "supports": "!windows" }, "json": { "description": "JSON support", @@ -57,7 +105,8 @@ ] }, "mimalloc": { - "description": "mimalloc allocator" + "description": "mimalloc allocator", + "supports": "windows" }, "orc": { "description": "ORC support", @@ -66,7 +115,10 @@ ] }, "parquet": { - "description": "Parquet support" + "description": "Parquet support", + "dependencies": [ + "rapidjson" + ] }, "s3": { "description": "S3 support", 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 new file mode 100644 index 00000000000000..61860895462fba --- /dev/null +++ b/ports/arsenalgear/portfile.cmake @@ -0,0 +1,27 @@ +# Github config +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO JustWhit3/arsenalgear-cpp + REF "v${VERSION}" + SHA512 fd7a9029b74483dce4bac331b61fc76b3b7d2d9cf2cc43e45b3c7f1c3f458ccb3ca9cae779896a16cadf7fe6730db96ec3fa8a49972f8822b86b3f085d19fc71 + HEAD_REF main + PATCHES + disable-cppcheck.patch +) + +# Main commands +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DARSENALGEAR_TESTS=OFF +) +vcpkg_cmake_install() + +# Move cmake configs +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/arsenalgear) + +# Remove duplicate files +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +# Install license +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/arsenalgear/vcpkg.json b/ports/arsenalgear/vcpkg.json new file mode 100644 index 00000000000000..b717b04c7070e8 --- /dev/null +++ b/ports/arsenalgear/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "arsenalgear", + "version": "2.1.1", + "description": "A library containing general purpose C++ utils.", + "homepage": "https://github.com/JustWhit3/arsenalgear-cpp", + "license": "MIT", + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/ashes/fix-cast.patch b/ports/ashes/fix-cast.patch deleted file mode 100644 index 27db3d2eb8c7fd..00000000000000 --- a/ports/ashes/fix-cast.patch +++ /dev/null @@ -1,39 +0,0 @@ -diff --git a/source/ashes/renderer/D3D11Renderer/ash_direct3d11.cpp b/source/ashes/renderer/D3D11Renderer/ash_direct3d11.cpp -index fb9a195a..3a97e126 100644 ---- a/source/ashes/renderer/D3D11Renderer/ash_direct3d11.cpp -+++ b/source/ashes/renderer/D3D11Renderer/ash_direct3d11.cpp -@@ -1688,7 +1688,7 @@ namespace ashes::d3d11 - VkPeerMemoryFeatureFlags * pPeerMemoryFeatures ) - { - reportUnsupported( device, "vkGetDeviceGroupPeerMemoryFeatures" ); -- *pPeerMemoryFeatures = VK_NULL_HANDLE; -+ *pPeerMemoryFeatures = static_cast(0); - } - - void VKAPI_CALL vkCmdSetDeviceMask( -diff --git a/source/ashes/renderer/GlRenderer/ash_opengl.cpp b/source/ashes/renderer/GlRenderer/ash_opengl.cpp -index 45a17148..eec2419f 100644 ---- a/source/ashes/renderer/GlRenderer/ash_opengl.cpp -+++ b/source/ashes/renderer/GlRenderer/ash_opengl.cpp -@@ -1700,7 +1700,7 @@ namespace ashes::gl - VkPeerMemoryFeatureFlags* pPeerMemoryFeatures ) - { - reportUnsupported( device, "vkGetDeviceGroupPeerMemoryFeatures" ); -- *pPeerMemoryFeatures = VK_NULL_HANDLE; -+ *pPeerMemoryFeatures = static_cast(0); - } - - void VKAPI_CALL vkCmdSetDeviceMask( -diff --git a/source/ashes/renderer/TestRenderer/ash_test.cpp b/source/ashes/renderer/TestRenderer/ash_test.cpp -index 741dd75c..b34647b8 100644 ---- a/source/ashes/renderer/TestRenderer/ash_test.cpp -+++ b/source/ashes/renderer/TestRenderer/ash_test.cpp -@@ -1735,7 +1735,7 @@ namespace ashes::test - VkPeerMemoryFeatureFlags* pPeerMemoryFeatures ) - { - reportUnsupported( device, "vkGetDeviceGroupPeerMemoryFeatures" ); -- *pPeerMemoryFeatures = VK_NULL_HANDLE; -+ *pPeerMemoryFeatures = static_cast(0); - } - - void VKAPI_CALL vkCmdSetDeviceMask( diff --git a/ports/ashes/portfile.cmake b/ports/ashes/portfile.cmake index ef2fcf40fd31f2..be6734486fc7e8 100644 --- a/ports/ashes/portfile.cmake +++ b/ports/ashes/portfile.cmake @@ -1,29 +1,41 @@ -vcpkg_fail_port_install(ON_TARGET "UWP" "iOS" "Android" ON_ARCH "x86" "arm") - -vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO DragonJoker/Ashes + REF c532e8ff5b6f64150d24348ef40a02df4e692017 + HEAD_REF master + SHA512 1c5833ce898532b3ae87961743a921223e08bd80c25ef33155ee11c241f2eaca9047f2cfca8d2661bd3302d22acabc4cf13ccccd2f25a48c4ebc9976ad193c24 +) vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO DragonJoker/Ashes - REF 0f4e6d0ea308eb60ae32274acc9a4d345a4977ff - SHA512 0ce74780786d018e7a447c4e49d3cd83ad53b238a79fc484025e2034cd49a64253363cd592d2da367befa7cd5443b90eb1c5dae54b22756f7b4a0cdecb93c588 - PATCHES - fix-cast.patch + OUT_SOURCE_PATH CMAKE_SOURCE_PATH + REPO DragonJoker/CMakeUtils + REF 988f2aab2257175e8fb15a33a3a350ff92d25b89 + HEAD_REF master + SHA512 961370c110e77f67ed6f426d410335636ca3b5812ba1837662cc5fea403791cafa443c1a25144b92aed5edfc5928eb6e706883ea7f1e68de1123845cb89acb86 ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - -DCMAKE_INSTALL_PREFIX=${CURRENT_INSTALLED_DIR} - -DPROJECTS_USE_PRECOMPILED_HEADERS=OFF - -DVCPKG_PACKAGE_BUILD=ON - -DASHES_BUILD_TEMPLATES=OFF - -DASHES_BUILD_TESTS=OFF - -DASHES_BUILD_INFO=OFF - -DASHES_BUILD_SAMPLES=OFF + +file(REMOVE_RECURSE "${SOURCE_PATH}/CMake") +file(COPY "${CMAKE_SOURCE_PATH}/" DESTINATION "${SOURCE_PATH}/CMake") + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + direct3d11 ASHES_BUILD_RENDERER_D3D11 + opengl ASHES_BUILD_RENDERER_OGL + vulkan ASHES_BUILD_RENDERER_VKN +) + +vcpkg_cmake_configure( + SOURCE_PATH ${SOURCE_PATH} + OPTIONS + -DVCPKG_PACKAGE_BUILD=ON + -DASHES_BUILD_TEMPLATES=OFF + -DASHES_BUILD_TESTS=OFF + -DASHES_BUILD_INFO=OFF + -DASHES_BUILD_SAMPLES=OFF + ${FEATURE_OPTIONS} ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/ashes) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/ashes) -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/ashes/vcpkg.json b/ports/ashes/vcpkg.json index cc2567786f3c4a..f7063b20528087 100644 --- a/ports/ashes/vcpkg.json +++ b/ports/ashes/vcpkg.json @@ -1,12 +1,36 @@ { "name": "ashes", - "version-date": "2021-06-18", + "version-date": "2023-03-12", "description": "Drop-in replacement to Vulkan's shared library, allowing the use of OpenGL or Direct3D11 in addition to Vulkan.", "homepage": "https://github.com/DragonJoker/Ashes", - "supports": "!osx & !linux & !ios & !android & !uwp & !x86 & !arm & !static", + "license": "MIT", + "supports": "!ios & !android & !uwp & !x86 & !arm32 & !static", "dependencies": [ "opengl", "spirv-cross", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, "vulkan-headers" - ] + ], + "default-features": [ + "opengl", + "vulkan" + ], + "features": { + "direct3d11": { + "description": "Compiles Direct3D11 renderer." + }, + "opengl": { + "description": "Compiles OpenGL renderer." + }, + "vulkan": { + "description": "Compiles Vulkan renderer." + } + } } diff --git a/ports/asio-grpc/portfile.cmake b/ports/asio-grpc/portfile.cmake index ee8bb3c8e2b20f..b58571fd7eba06 100644 --- a/ports/asio-grpc/portfile.cmake +++ b/ports/asio-grpc/portfile.cmake @@ -1,27 +1,24 @@ +set(VCPKG_BUILD_TYPE release) # header-only + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Tradias/asio-grpc - REF v1.3.1 - SHA512 c7a9f9c85e0611fd73a827270edf27deefe59b424e6d572efc8b532d305bf41e8fccb24a6507819dca0712f40e1d6abd56a4e6b099dbee729b125b0b610cd4fb + REF "v${VERSION}" + SHA512 4736b5e4e3e891417391374e21f06a51b135791ced82f7f1c4c0f0d6ead275ea81f8f97812a9570376463f4a18c8a43b73d6f75db624c19337b6553cedf8f2b3 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 ) vcpkg_cmake_install() -vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/asio-grpc) +vcpkg_cmake_config_fixup() -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug" "${CURRENT_PACKAGES_DIR}/lib") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") file(INSTALL "${CURRENT_PORT_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/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 fc67a0f0efa9c8..67e3712e4807af 100644 --- a/ports/asio-grpc/vcpkg.json +++ b/ports/asio-grpc/vcpkg.json @@ -1,8 +1,9 @@ { "name": "asio-grpc", - "version": "1.3.1", + "version": "3.2.1", "description": "Asynchronous gRPC with Asio/unified executors", "homepage": "https://github.com/Tradias/asio-grpc", + "license": "Apache-2.0", "dependencies": [ "grpc", { @@ -13,13 +14,5 @@ "name": "vcpkg-cmake-config", "host": true } - ], - "features": { - "boost-container": { - "description": "Use Boost.Container instead of ", - "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 32e00095a77fb9..b916a009315d05 100644 --- a/ports/asio/asio-config.cmake +++ b/ports/asio/asio-config.cmake @@ -1,6 +1,9 @@ -include ("${CMAKE_CURRENT_LIST_DIR}/asio-targets.cmake") -add_library(asio::asio INTERFACE IMPORTED) -target_link_libraries(asio::asio INTERFACE asio) +find_package(Threads) -get_target_property(_ASIO_INCLUDE_DIR asio INTERFACE_INCLUDE_DIRECTORIES) -set(ASIO_INCLUDE_DIR "${_ASIO_INCLUDE_DIR}") +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::asio INTERFACE_INCLUDE_DIRECTORIES) diff --git a/ports/asio/portfile.cmake b/ports/asio/portfile.cmake index 53621f4bf0204f..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-20-0 - SHA512 dc2def1f2b93866100b5d645f77c4a231fe3feae457010abf4e659df76b08b46870d608cf792a2f82e1b28c69c320055862647fb29aa0677a58d6141d58e76b2 + 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 7dce132e14c728..276b4ecd765382 100644 --- a/ports/asio/vcpkg.json +++ b/ports/asio/vcpkg.json @@ -1,9 +1,10 @@ { "name": "asio", - "version": "1.20.0", + "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.20.0/doc/", + "homepage": "https://think-async.com/Asio/", + "documentation": "https://think-async.com/Asio/Documentation.html", + "license": "BSL-1.0", "dependencies": [ { "name": "vcpkg-cmake", 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/asiosdk/Findasiosdk.cmake b/ports/asiosdk/Findasiosdk.cmake index b8f32f83078f7b..c88f7df3f2bccb 100644 --- a/ports/asiosdk/Findasiosdk.cmake +++ b/ports/asiosdk/Findasiosdk.cmake @@ -3,6 +3,13 @@ else(WIN32) message(FATAL_ERROR "Findasiosdk.cmake: Unsupported platform ${CMAKE_SYSTEM_NAME}" ) endif(WIN32) +# if this script is invoked multiple times, we end up adding +# "asiosdk" to the directory multiple times, leading to incorrect +# include paths +if (ASIOSDK_ROOT_DIR) + return() +endif() + find_path( ASIOSDK_ROOT_DIR asiosdk diff --git a/ports/asiosdk/portfile.cmake b/ports/asiosdk/portfile.cmake index 85042eabf1c879..3d3c2415a36456 100644 --- a/ports/asiosdk/portfile.cmake +++ b/ports/asiosdk/portfile.cmake @@ -1,31 +1,32 @@ -vcpkg_fail_port_install(ON_ARCH "arm" "arm64" ON_TARGET "Linux" "OSX" "uwp") - -set(VERSION 2.3.3) - vcpkg_download_distfile(ARCHIVE URLS "https://download.steinberg.net/sdk_downloads/asiosdk_2.3.3_2019-06-14.zip" - FILENAME "asiosdk_2.3.3_2019-06-14-eac6c1a57829.zip" - SHA512 eac6c1a57829b7f722a681c54b2f6469d54695523f08f727d0dd6744dcd7fce4f3249c57689bb15ed7a8bcb912833b226439d800913e122e0ef9ab73672f6542 + FILENAME "asiosdk_2.3.3_2019-06-14-d74c0bc09162.zip" + SHA512 d74c0bc09162640a377aaab2f2ce716f9ee7a6ef8d1aa1aa6bc223a4748c60fa900cc77b1cf6db66f8a4064a074b31a71d75cccc7de3634347865238d9c039af ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} - REF ${VERSION} +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" + SOURCE_BASE "${VERSION}" ) -file(INSTALL ${SOURCE_PATH}/asio/ DESTINATION ${CURRENT_PACKAGES_DIR}/include/asiosdk/asio) -file(INSTALL ${SOURCE_PATH}/common/ DESTINATION ${CURRENT_PACKAGES_DIR}/include/asiosdk/common) -file(INSTALL ${SOURCE_PATH}/driver/ DESTINATION ${CURRENT_PACKAGES_DIR}/include/asiosdk/driver) -file(INSTALL ${SOURCE_PATH}/host/ DESTINATION ${CURRENT_PACKAGES_DIR}/include/asiosdk/host) -file(INSTALL ${SOURCE_PATH}/readme.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) -file(INSTALL ${SOURCE_PATH}/readme.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) -file(INSTALL ${SOURCE_PATH}/changes.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) -file(INSTALL "${SOURCE_PATH}/Steinberg ASIO Logo Artwork.zip" DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) -file(INSTALL "${SOURCE_PATH}/Steinberg ASIO 2.3.3 Licensing Agreement 2.0.1 - 2019.pdf" DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) -file(INSTALL "${SOURCE_PATH}/ASIO SDK 2.3.pdf" DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +file(INSTALL "${SOURCE_PATH}/asio/" DESTINATION "${CURRENT_PACKAGES_DIR}/include/${PORT}/asio") +file(INSTALL "${SOURCE_PATH}/common/" DESTINATION "${CURRENT_PACKAGES_DIR}/include/${PORT}/common") +file(INSTALL "${SOURCE_PATH}/driver/" DESTINATION "${CURRENT_PACKAGES_DIR}/include/${PORT}/driver") +file(INSTALL "${SOURCE_PATH}/host/" DESTINATION "${CURRENT_PACKAGES_DIR}/include/${PORT}/host") -file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/Findasiosdk.cmake" DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) -file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/readme.txt") + +file( + INSTALL + "${SOURCE_PATH}/changes.txt" + "${SOURCE_PATH}/Steinberg ASIO Logo Artwork.zip" + "${SOURCE_PATH}/Steinberg ASIO 2.3.3 Licensing Agreement V2.0.3 - 2023.pdf" + "${SOURCE_PATH}/ASIO SDK 2.3.pdf" + "${CMAKE_CURRENT_LIST_DIR}/Findasiosdk.cmake" + "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" + DESTINATION + "${CURRENT_PACKAGES_DIR}/share/${PORT}" +) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/asiosdk/usage b/ports/asiosdk/usage index 1afa2ae84df3dc..3827cfa3df0e46 100644 --- a/ports/asiosdk/usage +++ b/ports/asiosdk/usage @@ -1,4 +1,4 @@ The package asiosdk provides CMake integration: find_package(asiosdk REQUIRED) - target_include_directories( PRIVATE ${ASIOSDK_INCLUDE_DIRS}) + target_include_directories(main PRIVATE ${ASIOSDK_INCLUDE_DIR}) diff --git a/ports/asiosdk/vcpkg.json b/ports/asiosdk/vcpkg.json index d4c04063f2fe19..dc44bde07c4aa9 100644 --- a/ports/asiosdk/vcpkg.json +++ b/ports/asiosdk/vcpkg.json @@ -1,7 +1,7 @@ { "name": "asiosdk", "version": "2.3.3", - "port-version": 3, + "port-version": 7, "description": "ASIO is a low latency audio API from Steinberg.", "homepage": "https://www.steinberg.net/en/company/developers.html", "supports": "windows & !(arm | uwp)" diff --git a/ports/asmjit/portfile.cmake b/ports/asmjit/portfile.cmake index 2914e4e5ffe946..59d90bd0d37f71 100644 --- a/ports/asmjit/portfile.cmake +++ b/ports/asmjit/portfile.cmake @@ -1,11 +1,9 @@ -vcpkg_fail_port_install(ON_ARCH "arm") - vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO asmjit/asmjit - REF d0d14ac774977d0060a351f66e35cb57ba0bf59c # accessed on 2021-10-26 - SHA512 2822763fcb3c18f6699119c1773404667d81f8afb86f8f2e8dbe627526a2877b049d16505557e680e4e310f0e0667263dc4ac442f682e95f2568bf0bf8b61b4b - HEAD_REF master + OUT_SOURCE_PATH SOURCE_PATH + REPO asmjit/asmjit + REF ffac9f36fb045dd2c6a81e1b5b9ccc115e5ef924 # commited on 2024-06-28 + SHA512 3a594bdea7095f66356f8c21e03a4db2535811988726c25a29e66721cb703dc9dceddeb5f8a6c7daeafba3fbf6dd07e71375446d8dfb182f57c14bce28192774 + HEAD_REF master ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" ASMJIT_STATIC) @@ -18,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") @@ -30,4 +27,4 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") ) endif() -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/asmjit/vcpkg.json b/ports/asmjit/vcpkg.json index 93eb16b3eb9f60..47e60ced5679b9 100644 --- a/ports/asmjit/vcpkg.json +++ b/ports/asmjit/vcpkg.json @@ -1,9 +1,10 @@ { "name": "asmjit", - "version-date": "2021-10-26", - "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/asmtk/fix-link-amsjit.patch b/ports/asmtk/fix-link-amsjit.patch new file mode 100644 index 00000000000000..720afbe94cf8f9 --- /dev/null +++ b/ports/asmtk/fix-link-amsjit.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d348072..d5b6be9 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -172,7 +172,7 @@ if (NOT ASMTK_EMBED) + $<$>:${ASMTK_PRIVATE_CFLAGS_REL}>) + + if(ASMJIT_EXTERNAL) +- target_link_libraries(asmtk PUBLIC ${ASMJIT_LIBRARY}) ++ target_link_libraries(asmtk PUBLIC asmjit::asmjit) + find_path(ASMJIT_INCLUDE_DIR NAMES asmjit/asmjit.h) + target_include_directories(asmtk PRIVATE ${ASMJIT_INCLUDE_DIR}) + else() diff --git a/ports/asmtk/portfile.cmake b/ports/asmtk/portfile.cmake new file mode 100644 index 00000000000000..4c0f6c95944564 --- /dev/null +++ b/ports/asmtk/portfile.cmake @@ -0,0 +1,37 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO asmjit/asmtk + REF 425b108d3afe510f8b94ca5523cd31ae29381422 # accessed on 2022-11-06 + SHA512 d825f488c66dca9ca4c3279992e4ea36a4d1b7ad65fa3e0c70b151ce0d2b1f9b5ad053ff1d447da38475bf843fe3b130706e3c9916a64f76560add9c8d796a5b + HEAD_REF master + PATCHES + fix-link-amsjit.patch +) + +set(ASMJIT_EXTERNAL ON) +set(ASMTK_EMBED OFF) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" ASMTK_STATIC) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DASMTK_STATIC=${ASMTK_STATIC} + -DASMJIT_EXTERNAL=${ASMJIT_EXTERNAL} + -DASMTK_EMBED=${ASMTK_EMBED} +) + +vcpkg_cmake_install() +vcpkg_copy_pdbs() + +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/asmtk) + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/asmtk/globals.h" "!defined(ASMTK_STATIC)" "0") +endif() + +set(cmakefile "${CURRENT_PACKAGES_DIR}/share/asmtk/asmtk-config.cmake") +file(READ "${cmakefile}" contents) +file(WRITE "${cmakefile}" "include(CMakeFindDependencyMacro)\nfind_dependency(asmjit)\n${contents}") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.md") diff --git a/ports/asmtk/vcpkg.json b/ports/asmtk/vcpkg.json new file mode 100644 index 00000000000000..ab7714643e10db --- /dev/null +++ b/ports/asmtk/vcpkg.json @@ -0,0 +1,19 @@ +{ + "name": "asmtk", + "version-date": "2022-11-06", + "port-version": 1, + "description": "Assembler toolkit based on AsmJit ", + "homepage": "https://github.com/asmjit/asmtk", + "supports": "!arm", + "dependencies": [ + "asmjit", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/assimp/build_fixes.patch b/ports/assimp/build_fixes.patch index 7590aec96fec6f..93ac902a809421 100644 --- a/ports/assimp/build_fixes.patch +++ b/ports/assimp/build_fixes.patch @@ -1,626 +1,527 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index dcafb64..761040d 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -51,7 +51,7 @@ IF(HUNTER_ENABLED) - add_definitions(-DASSIMP_USE_HUNTER) - ENDIF(HUNTER_ENABLED) - --PROJECT( Assimp VERSION 5.0.0 ) -+PROJECT( Assimp VERSION 5.0.1 ) - - # All supported options ############################################### - -@@ -130,6 +130,16 @@ OPTION ( IGNORE_GIT_HASH - OFF - ) - -+find_package(Stb REQUIRED) -+include_directories(${Stb_INCLUDE_DIR}) -+find_package(utf8cpp CONFIG REQUIRED) -+link_libraries(utf8cpp) -+find_package(RapidJSON CONFIG REQUIRED) -+include_directories(${RAPIDJSON_INCLUDE_DIRS}) -+find_path(UNZIP_INCLUDE_DIRS "minizip/unzip.h") -+include_directories(${UNZIP_INCLUDE_DIRS}/minizip) -+include_directories(${CMAKE_CURRENT_SOURCE_DIR}/contrib) -+ - IF (IOS AND NOT HUNTER_ENABLED) - IF (NOT CMAKE_BUILD_TYPE) - SET(CMAKE_BUILD_TYPE "Release") -@@ -230,10 +240,8 @@ SET(LIBASSIMP-DEV_COMPONENT "libassimp${ASSIMP_VERSION_MAJOR}.${ASSIMP_VERSION_M - SET(CPACK_COMPONENTS_ALL assimp-bin ${LIBASSIMP_COMPONENT} ${LIBASSIMP-DEV_COMPONENT} assimp-dev) - SET(ASSIMP_LIBRARY_SUFFIX "" CACHE STRING "Suffix to append to library names") - --IF( UNIX ) - # Use GNUInstallDirs for Unix predefined directories - INCLUDE(GNUInstallDirs) --ENDIF( UNIX ) - - # Grouped compiler settings - IF ((CMAKE_C_COMPILER_ID MATCHES "GNU") AND NOT CMAKE_COMPILER_IS_MINGW) -@@ -253,7 +261,6 @@ ELSEIF(MSVC) - IF(MSVC12) - ADD_COMPILE_OPTIONS(/wd4351) - ENDIF() -- SET(CMAKE_CXX_FLAGS_DEBUG "/D_DEBUG /MDd /Ob2 /DEBUG:FULL /Zi") - ELSEIF ( "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" ) - IF(NOT HUNTER_ENABLED) - SET(CMAKE_CXX_FLAGS "-fPIC -std=c++11 ${CMAKE_CXX_FLAGS}") -@@ -352,35 +359,21 @@ IF (NOT TARGET uninstall) - ADD_CUSTOM_TARGET(uninstall "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake") - ENDIF() - --IF(HUNTER_ENABLED) -- set(CONFIG_INSTALL_DIR "lib/cmake/${PROJECT_NAME}") -+ set(CONFIG_INSTALL_DIR "share/assimp") - set(INCLUDE_INSTALL_DIR "include") - -- set(GENERATED_DIR "${CMAKE_CURRENT_BINARY_DIR}/generated") -+ string(TOLOWER ${PROJECT_NAME} PROJECT_NAME_LOWERCASE) -+ set(NAMESPACE "${PROJECT_NAME_LOWERCASE}::") - -- # Configuration -- set(VERSION_CONFIG "${GENERATED_DIR}/${PROJECT_NAME}ConfigVersion.cmake") -- set(PROJECT_CONFIG "${GENERATED_DIR}/${PROJECT_NAME}Config.cmake") -- set(TARGETS_EXPORT_NAME "${PROJECT_NAME}Targets") -- set(NAMESPACE "${PROJECT_NAME}::") -+ set(TARGETS_EXPORT_NAME "${PROJECT_NAME_LOWERCASE}Config") -+ set(VERSION_CONFIG "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME_LOWERCASE}ConfigVersion.cmake") -+ set(NAMESPACE "${PROJECT_NAME_LOWERCASE}::") - -- # Include module with fuction 'write_basic_package_version_file' - include(CMakePackageConfigHelpers) -- -- # Note: PROJECT_VERSION is used as a VERSION -- write_basic_package_version_file("${VERSION_CONFIG}" COMPATIBILITY SameMajorVersion) -- -- # Use variables: -- # * TARGETS_EXPORT_NAME -- # * PROJECT_NAME -- configure_package_config_file( -- "cmake/assimp-hunter-config.cmake.in" -- "${PROJECT_CONFIG}" -- INSTALL_DESTINATION "${CONFIG_INSTALL_DIR}" -- ) -+ write_basic_package_version_file("${VERSION_CONFIG}" VERSION ${${PROJECT_NAME}_VERSION} COMPATIBILITY SameMajorVersion) - - install( -- FILES "${PROJECT_CONFIG}" "${VERSION_CONFIG}" -+ FILES ${VERSION_CONFIG} - DESTINATION "${CONFIG_INSTALL_DIR}" - ) - -@@ -389,30 +382,6 @@ IF(HUNTER_ENABLED) - NAMESPACE "${NAMESPACE}" - DESTINATION "${CONFIG_INSTALL_DIR}" - ) --ELSE(HUNTER_ENABLED) -- # cmake configuration files -- CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/assimp-config.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/assimp-config.cmake" @ONLY IMMEDIATE) -- CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/assimpTargets.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/assimpTargets.cmake" @ONLY IMMEDIATE) -- IF (is_multi_config) -- CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/assimpTargets-debug.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/assimpTargets-debug.cmake" @ONLY IMMEDIATE) -- CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/assimpTargets-release.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/assimpTargets-release.cmake" @ONLY IMMEDIATE) -- SET(PACKAGE_TARGETS_FILE "${CMAKE_CURRENT_BINARY_DIR}/assimpTargets-debug.cmake" "${CMAKE_CURRENT_BINARY_DIR}/assimpTargets-release.cmake") -- ELSEIF (CMAKE_BUILD_TYPE STREQUAL Debug) -- CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/assimpTargets-debug.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/assimpTargets-debug.cmake" @ONLY IMMEDIATE) -- SET(PACKAGE_TARGETS_FILE "${CMAKE_CURRENT_BINARY_DIR}/assimpTargets-debug.cmake") -- ELSE() -- CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/assimpTargets-release.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/assimpTargets-release.cmake" @ONLY IMMEDIATE) -- SET(PACKAGE_TARGETS_FILE "${CMAKE_CURRENT_BINARY_DIR}/assimpTargets-release.cmake") -- ENDIF() -- CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/assimp-config-version.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/assimp-config-version.cmake" @ONLY IMMEDIATE) -- #we should generated these scripts after CMake VERSION 3.0.2 using export(EXPORT ...) and write_basic_package_version_file(...) -- INSTALL(FILES -- "${CMAKE_CURRENT_BINARY_DIR}/assimp-config.cmake" -- "${CMAKE_CURRENT_BINARY_DIR}/assimp-config-version.cmake" -- "${CMAKE_CURRENT_BINARY_DIR}/assimpTargets.cmake" -- ${PACKAGE_TARGETS_FILE} -- DESTINATION "${ASSIMP_LIB_INSTALL_DIR}/cmake/assimp-${ASSIMP_VERSION_MAJOR}.${ASSIMP_VERSION_MINOR}" COMPONENT ${LIBASSIMP-DEV_COMPONENT}) --ENDIF(HUNTER_ENABLED) - - FIND_PACKAGE( DirectX ) - -@@ -422,63 +391,19 @@ ENDIF( BUILD_DOCS ) - - # Look for system installed irrXML - IF ( SYSTEM_IRRXML ) -- FIND_PACKAGE( IrrXML REQUIRED ) -+ FIND_PACKAGE( irrlicht CONFIG REQUIRED ) - ENDIF( SYSTEM_IRRXML ) - - # Search for external dependencies, and build them from source if not found - # Search for zlib --IF(HUNTER_ENABLED) -- hunter_add_package(ZLIB) -- find_package(ZLIB CONFIG REQUIRED) -+ 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) --ELSE(HUNTER_ENABLED) -- IF ( NOT ASSIMP_BUILD_ZLIB ) -- FIND_PACKAGE(ZLIB) -- ENDIF( NOT ASSIMP_BUILD_ZLIB ) -- -- IF( NOT ZLIB_FOUND ) -- MESSAGE(STATUS "compiling zlib from sources") -- INCLUDE(CheckIncludeFile) -- INCLUDE(CheckTypeSize) -- INCLUDE(CheckFunctionExists) -- -- # Explicitly turn off ASM686 and AMD64 cmake options. -- # The AMD64 option causes a build failure on MSVC and the ASM builds seem to have problems: -- # https://github.com/madler/zlib/issues/41#issuecomment-125848075 -- # Also prevents these options from "polluting" the cmake options if assimp is being -- # included as a submodule. -- set( ASM686 FALSE CACHE INTERNAL "Override ZLIB flag to turn off assembly" FORCE ) -- set( AMD64 FALSE CACHE INTERNAL "Override ZLIB flag to turn off assembly" FORCE ) -- -- # compile from sources -- ADD_SUBDIRECTORY(contrib/zlib) -- SET(ZLIB_FOUND 1) -- SET(ZLIB_LIBRARIES zlibstatic) -- SET(ZLIB_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/contrib/zlib ${CMAKE_CURRENT_BINARY_DIR}/contrib/zlib) -- # need to ensure we don't link with system zlib or minizip as well. -- SET(ASSIMP_BUILD_MINIZIP 1) -- ELSE(NOT ZLIB_FOUND) -- ADD_DEFINITIONS(-DASSIMP_BUILD_NO_OWN_ZLIB) -- SET(ZLIB_LIBRARIES_LINKED -lz) -- ENDIF(NOT ZLIB_FOUND) -+ set(ZLIB_LIBRARIES ZLIB::ZLIB) - INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIR}) --ENDIF(HUNTER_ENABLED) - --IF( NOT IOS ) -- IF( NOT ASSIMP_BUILD_MINIZIP ) -- use_pkgconfig(UNZIP minizip) -- ENDIF( NOT ASSIMP_BUILD_MINIZIP ) --ELSE ( NOT IOS ) -- IF( NOT BUILD_SHARED_LIBS ) -- IF( NOT ASSIMP_BUILD_MINIZIP ) -- use_pkgconfig(UNZIP minizip) -- ENDIF( NOT ASSIMP_BUILD_MINIZIP ) -- ENDIF ( NOT BUILD_SHARED_LIBS ) --ENDIF ( NOT IOS ) -+ find_package(minizip CONFIG REQUIRED) - - IF ( ASSIMP_NO_EXPORT ) - ADD_DEFINITIONS( -DASSIMP_BUILD_NO_EXPORT) -@@ -633,7 +558,7 @@ IF(CMAKE_CPACK_COMMAND AND UNIX AND ASSIMP_OPT_BUILD_PACKAGES) - INCLUDE(DebSourcePPA) - ENDIF() - --if(WIN32) -+if(0) - if (CMAKE_SIZEOF_VOID_P EQUAL 8) - SET(BIN_DIR "${PROJECT_SOURCE_DIR}/bin64/") - SET(LIB_DIR "${PROJECT_SOURCE_DIR}/lib64/") -@@ -677,4 +602,4 @@ if(WIN32) - ADD_CUSTOM_COMMAND(TARGET UpdateAssimpLibsDebugSymbolsAndDLLs COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/code/assimp-${ASSIMP_MSVC_VERSION}-mtd.pdb ${LIB_DIR}assimp-${ASSIMP_MSVC_VERSION}-mtd.pdb VERBATIM) - ENDIF() - ENDIF(MSVC12 OR MSVC14 OR MSVC15 ) --ENDIF (WIN32) -+ENDIF (0) -diff --git a/assimpTargets.cmake.in b/assimpTargets.cmake.in -index ab1a8d2..4b0729b 100644 ---- a/assimpTargets.cmake.in -+++ b/assimpTargets.cmake.in -@@ -5,6 +5,8 @@ if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.5) - endif() - cmake_policy(PUSH) - cmake_policy(VERSION 2.6) -+# Required for the evaluation of "if(@BUILD_SHARED_LIBS@)" below to function -+cmake_policy(SET CMP0012 NEW) - #---------------------------------------------------------------- - # Generated CMake target import file. - #---------------------------------------------------------------- -diff --git a/code/3MF/D3MFExporter.cpp b/code/3MF/D3MFExporter.cpp -index 1f388ad..1ccd2aa 100644 ---- a/code/3MF/D3MFExporter.cpp -+++ b/code/3MF/D3MFExporter.cpp -@@ -58,7 +58,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - #ifdef ASSIMP_USE_HUNTER - # include - #else --# include -+# include - #endif - - namespace Assimp { -@@ -255,7 +255,7 @@ void D3MFExporter::writeBaseMaterials() { - hexDiffuseColor.clear(); - tmp.clear(); - hexDiffuseColor = "#"; -- -+ - tmp = DecimalToHexa( color.r ); - hexDiffuseColor += tmp; - tmp = DecimalToHexa( color.g ); -diff --git a/code/Blender/BlenderTessellator.h b/code/Blender/BlenderTessellator.h -index 518e56c..ec4a653 100644 ---- a/code/Blender/BlenderTessellator.h -+++ b/code/Blender/BlenderTessellator.h -@@ -147,7 +147,7 @@ namespace Assimp - #ifdef ASSIMP_USE_HUNTER - # include - #else --# include "../contrib/poly2tri/poly2tri/poly2tri.h" -+# include - #endif - - namespace Assimp -diff --git a/code/CMakeLists.txt b/code/CMakeLists.txt -index 55538d9..f5553e5 100644 ---- a/code/CMakeLists.txt -+++ b/code/CMakeLists.txt -@@ -862,89 +862,24 @@ SET( Extra_SRCS - SOURCE_GROUP( Extra FILES ${Extra_SRCS}) - - # irrXML --IF(HUNTER_ENABLED) -- hunter_add_package(irrXML) - find_package(irrXML CONFIG REQUIRED) --ELSE(HUNTER_ENABLED) -- # irrXML already included in contrib directory by parent CMakeLists.txt. --ENDIF(HUNTER_ENABLED) -- --# utf8 --IF(HUNTER_ENABLED) -- hunter_add_package(utf8) -- find_package(utf8 CONFIG REQUIRED) --ELSE(HUNTER_ENABLED) -- # utf8 is header-only, so Assimp doesn't need to do anything. --ENDIF(HUNTER_ENABLED) - - # polyclipping --IF(HUNTER_ENABLED) -- hunter_add_package(polyclipping) - find_package(polyclipping CONFIG REQUIRED) --ELSE(HUNTER_ENABLED) - SET( Clipper_SRCS - ../contrib/clipper/clipper.hpp - ../contrib/clipper/clipper.cpp - ) - SOURCE_GROUP( Contrib\\Clipper FILES ${Clipper_SRCS}) --ENDIF(HUNTER_ENABLED) - - # poly2tri --IF(HUNTER_ENABLED) -- hunter_add_package(poly2tri) - find_package(poly2tri CONFIG REQUIRED) --ELSE(HUNTER_ENABLED) -- SET( Poly2Tri_SRCS -- ../contrib/poly2tri/poly2tri/common/shapes.cc -- ../contrib/poly2tri/poly2tri/common/shapes.h -- ../contrib/poly2tri/poly2tri/common/utils.h -- ../contrib/poly2tri/poly2tri/sweep/advancing_front.h -- ../contrib/poly2tri/poly2tri/sweep/advancing_front.cc -- ../contrib/poly2tri/poly2tri/sweep/cdt.cc -- ../contrib/poly2tri/poly2tri/sweep/cdt.h -- ../contrib/poly2tri/poly2tri/sweep/sweep.cc -- ../contrib/poly2tri/poly2tri/sweep/sweep.h -- ../contrib/poly2tri/poly2tri/sweep/sweep_context.cc -- ../contrib/poly2tri/poly2tri/sweep/sweep_context.h -- ) -- SOURCE_GROUP( Contrib\\Poly2Tri FILES ${Poly2Tri_SRCS}) --ENDIF(HUNTER_ENABLED) - - # minizip/unzip --IF(HUNTER_ENABLED) -- hunter_add_package(minizip) - find_package(minizip CONFIG REQUIRED) --ELSE(HUNTER_ENABLED) -- SET( unzip_SRCS -- ../contrib/unzip/crypt.h -- ../contrib/unzip/ioapi.c -- ../contrib/unzip/ioapi.h -- ../contrib/unzip/unzip.c -- ../contrib/unzip/unzip.h -- ) -- SOURCE_GROUP(Contrib\\unzip FILES ${unzip_SRCS}) --ENDIF(HUNTER_ENABLED) - - # zip (https://github.com/kuba--/zip) --IF(HUNTER_ENABLED) -- hunter_add_package(zip) -- find_package(zip CONFIG REQUIRED) --ELSE(HUNTER_ENABLED) -- SET( ziplib_SRCS -- ../contrib/zip/src/miniz.h -- ../contrib/zip/src/zip.c -- ../contrib/zip/src/zip.h -- ) -- -- # 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") -- add_definitions(-DMINIZ_USE_UNALIGNED_LOADS_AND_STORES=0) -- else() -- add_compile_definitions(MINIZ_USE_UNALIGNED_LOADS_AND_STORES=0) -- endif() -- -- SOURCE_GROUP( ziplib FILES ${ziplib_SRCS} ) --ENDIF(HUNTER_ENABLED) -+ find_package(kubazip CONFIG REQUIRED) - - # openddlparser - IF(HUNTER_ENABLED) -@@ -1021,13 +956,7 @@ ELSE () - ENDIF () - - # RapidJSON --IF(HUNTER_ENABLED) -- hunter_add_package(RapidJSON) - find_package(RapidJSON CONFIG REQUIRED) --ELSE(HUNTER_ENABLED) -- INCLUDE_DIRECTORIES( "../contrib/rapidjson/include" ) -- INCLUDE_DIRECTORIES( "../contrib" ) --ENDIF(HUNTER_ENABLED) - - # VC2010 fixes - if(MSVC10) -@@ -1044,15 +973,6 @@ if ( MSVC ) - ADD_DEFINITIONS( -D_CRT_SECURE_NO_WARNINGS ) - endif ( MSVC ) - --IF(NOT HUNTER_ENABLED) -- if (UNZIP_FOUND) -- SET (unzip_compile_SRCS "") -- else (UNZIP_FOUND) -- SET (unzip_compile_SRCS ${unzip_SRCS}) -- INCLUDE_DIRECTORIES( "../contrib/unzip/" ) -- endif (UNZIP_FOUND) --ENDIF(NOT HUNTER_ENABLED) -- - MESSAGE(STATUS "Enabled importer formats:${ASSIMP_IMPORTERS_ENABLED}") - MESSAGE(STATUS "Disabled importer formats:${ASSIMP_IMPORTERS_DISABLED}") - -@@ -1111,22 +1031,14 @@ TARGET_INCLUDE_DIRECTORIES ( assimp PUBLIC - $ - ) - --IF(HUNTER_ENABLED) - TARGET_LINK_LIBRARIES(assimp -- PUBLIC - polyclipping::polyclipping - irrXML::irrXML -- openddlparser::openddl_parser -- poly2tri::poly2tri - minizip::minizip -- ZLIB::zlib -- RapidJSON::rapidjson -- utf8::utf8 -- zip::zip -+ ZLIB::ZLIB -+ kubazip::kubazip -+ poly2tri::poly2tri - ) --ELSE(HUNTER_ENABLED) -- TARGET_LINK_LIBRARIES(assimp ${ZLIB_LIBRARIES} ${OPENDDL_PARSER_LIBRARIES} ${IRRXML_LIBRARY} ) --ENDIF(HUNTER_ENABLED) - - if(ASSIMP_ANDROID_JNIIOSYSTEM) - set(ASSIMP_ANDROID_JNIIOSYSTEM_PATH port/AndroidJNI) -@@ -1208,21 +1120,12 @@ ENDIF(APPLE) - - # Build against external unzip, or add ../contrib/unzip so - # assimp can #include "unzip.h" --IF(NOT HUNTER_ENABLED) -- if (UNZIP_FOUND) -- INCLUDE_DIRECTORIES(${UNZIP_INCLUDE_DIRS}) -- TARGET_LINK_LIBRARIES(assimp ${UNZIP_LIBRARIES}) -- else (UNZIP_FOUND) -- INCLUDE_DIRECTORIES("../") -- endif (UNZIP_FOUND) --ENDIF(NOT HUNTER_ENABLED) - - # Add RT-extension library for glTF importer with Open3DGC-compression. - IF (RT_FOUND AND ASSIMP_IMPORTER_GLTF_USE_OPEN3DGC) - TARGET_LINK_LIBRARIES(assimp ${RT_LIBRARY}) - ENDIF (RT_FOUND AND ASSIMP_IMPORTER_GLTF_USE_OPEN3DGC) - --IF(HUNTER_ENABLED) - INSTALL( TARGETS assimp - EXPORT "${TARGETS_EXPORT_NAME}" - LIBRARY DESTINATION ${ASSIMP_LIB_INSTALL_DIR} -@@ -1231,14 +1134,6 @@ IF(HUNTER_ENABLED) - FRAMEWORK DESTINATION ${ASSIMP_LIB_INSTALL_DIR} - COMPONENT ${LIBASSIMP_COMPONENT} - INCLUDES DESTINATION "include") --ELSE(HUNTER_ENABLED) --INSTALL( TARGETS assimp -- LIBRARY DESTINATION ${ASSIMP_LIB_INSTALL_DIR} -- ARCHIVE DESTINATION ${ASSIMP_LIB_INSTALL_DIR} -- RUNTIME DESTINATION ${ASSIMP_BIN_INSTALL_DIR} -- FRAMEWORK DESTINATION ${ASSIMP_LIB_INSTALL_DIR} -- COMPONENT ${LIBASSIMP_COMPONENT}) --ENDIF(HUNTER_ENABLED) - INSTALL( FILES ${PUBLIC_HEADERS} DESTINATION ${ASSIMP_INCLUDE_INSTALL_DIR}/assimp COMPONENT assimp-dev) - INSTALL( FILES ${COMPILER_HEADERS} DESTINATION ${ASSIMP_INCLUDE_INSTALL_DIR}/assimp/Compiler COMPONENT assimp-dev) - -diff --git a/code/Common/BaseImporter.cpp b/code/Common/BaseImporter.cpp -index b77bbfe..51cba43 100644 ---- a/code/Common/BaseImporter.cpp -+++ b/code/Common/BaseImporter.cpp -@@ -344,7 +344,7 @@ std::string BaseImporter::GetExtension( const std::string& file ) { - #ifdef ASSIMP_USE_HUNTER - # include - #else --# include "../contrib/utf8cpp/source/utf8.h" -+# include - #endif - - // ------------------------------------------------------------------------------------------------ -@@ -364,8 +364,8 @@ void BaseImporter::ConvertToUTF8(std::vector& data) - data.resize(data.size()-3); - return; - } -- -- -+ -+ - // UTF 32 BE with BOM - if(*((uint32_t*)&data.front()) == 0xFFFE0000) { - -@@ -507,7 +507,7 @@ struct Assimp::BatchData { - , next_id(0xffff) - , validate( validate ) { - ai_assert( nullptr != pIO ); -- -+ - pImporter = new Importer(); - pImporter->SetIOHandler( pIO ); - } -diff --git a/code/Importer/IFC/IFCGeometry.cpp b/code/Importer/IFC/IFCGeometry.cpp -index d1c7aee..8e11373 100644 ---- a/code/Importer/IFC/IFCGeometry.cpp -+++ b/code/Importer/IFC/IFCGeometry.cpp -@@ -51,9 +51,9 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - #ifdef ASSIMP_USE_HUNTER - # include --# include -+# include "../contrib/clipper/clipper.hpp" - #else --# include "../contrib/poly2tri/poly2tri/poly2tri.h" -+# include - # include "../contrib/clipper/clipper.hpp" - #endif - -diff --git a/code/Importer/IFC/IFCOpenings.cpp b/code/Importer/IFC/IFCOpenings.cpp -index d6c40b3..387c625 100644 ---- a/code/Importer/IFC/IFCOpenings.cpp -+++ b/code/Importer/IFC/IFCOpenings.cpp -@@ -51,9 +51,9 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - #ifdef ASSIMP_USE_HUNTER - # include --# include -+# include "../contrib/clipper/clipper.hpp" - #else --# include "../contrib/poly2tri/poly2tri/poly2tri.h" -+# include - # include "../contrib/clipper/clipper.hpp" - #endif - -@@ -911,14 +911,14 @@ size_t CloseWindows(ContourVector& contours, - // compare base poly normal and contour normal to detect if we need to reverse the face winding - if(curmesh.mVertcnt.size() > 0) { - IfcVector3 basePolyNormal = TempMesh::ComputePolygonNormal(curmesh.mVerts.data(), curmesh.mVertcnt.front()); -- -+ - std::vector worldSpaceContourVtx(it->contour.size()); -- -+ - for(size_t a = 0; a < it->contour.size(); ++a) - worldSpaceContourVtx[a] = minv * IfcVector3(it->contour[a].x, it->contour[a].y, 0.0); -- -+ - IfcVector3 contourNormal = TempMesh::ComputePolygonNormal(worldSpaceContourVtx.data(), worldSpaceContourVtx.size()); -- -+ - reverseCountourFaces = (contourNormal * basePolyNormal) > 0.0; - } - -diff --git a/code/Importer/STEPParser/STEPFileEncoding.cpp b/code/Importer/STEPParser/STEPFileEncoding.cpp -index 101dcdf..3f12403 100644 ---- a/code/Importer/STEPParser/STEPFileEncoding.cpp -+++ b/code/Importer/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/MMD/MMDPmxParser.cpp b/code/MMD/MMDPmxParser.cpp -index 80f0986..47725e2 100644 ---- a/code/MMD/MMDPmxParser.cpp -+++ b/code/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 - -@@ -102,7 +102,7 @@ namespace pmx - const unsigned int targetSize = size * 3; // enough to encode - char *targetStart = new char[targetSize]; - std::memset(targetStart, 0, targetSize * sizeof(char)); -- -+ - utf8::utf16to8( sourceStart, sourceStart + size/2, targetStart ); - - std::string result(targetStart); -diff --git a/code/SIB/SIBImporter.cpp b/code/SIB/SIBImporter.cpp -index 20cdc80..46e9a32 100644 ---- a/code/SIB/SIBImporter.cpp -+++ b/code/SIB/SIBImporter.cpp -@@ -63,7 +63,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - # include - #else - //# include "../contrib/ConvertUTF/ConvertUTF.h" --# include "../contrib/utf8cpp/source/utf8.h" -+# include - #endif - #include - #include -@@ -90,10 +90,10 @@ struct SIBChunk { - uint32_t Size; - } PACK_STRUCT; - --enum { -- POS, -- NRM, -- UV, -+enum { -+ POS, -+ NRM, -+ UV, - N - }; - -diff --git a/code/X3D/FIReader.cpp b/code/X3D/FIReader.cpp -index 9bb2c69..525a084 100644 ---- a/code/X3D/FIReader.cpp -+++ b/code/X3D/FIReader.cpp -@@ -63,7 +63,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/contrib/clipper/clipper.hpp b/contrib/clipper/clipper.hpp -index 7cdac6c..2728425 100644 ---- a/contrib/clipper/clipper.hpp -+++ b/contrib/clipper/clipper.hpp -@@ -302,5 +302,3 @@ class clipperException : public std::exception - } //ClipperLib namespace - - #endif //clipper_hpp -- -- -diff --git a/samples/SimpleTexturedOpenGL/SimpleTexturedOpenGL/src/model_loading.cpp b/samples/SimpleTexturedOpenGL/SimpleTexturedOpenGL/src/model_loading.cpp -index 8d25aaa..e4bc306 100644 ---- a/samples/SimpleTexturedOpenGL/SimpleTexturedOpenGL/src/model_loading.cpp -+++ b/samples/SimpleTexturedOpenGL/SimpleTexturedOpenGL/src/model_loading.cpp -@@ -19,7 +19,7 @@ - #include - - #define STB_IMAGE_IMPLEMENTATION --#include "contrib/stb_image/stb_image.h" -+#include - - #include - +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/irrlicht.patch b/ports/assimp/irrlicht.patch deleted file mode 100644 index 3457056c4f07cc..00000000000000 --- a/ports/assimp/irrlicht.patch +++ /dev/null @@ -1,61 +0,0 @@ -diff --git a/code/CMakeLists.txt b/code/CMakeLists.txt -index f5553e5..5cffa0c 100644 ---- a/code/CMakeLists.txt -+++ b/code/CMakeLists.txt -@@ -862,7 +862,7 @@ SET( Extra_SRCS - SOURCE_GROUP( Extra FILES ${Extra_SRCS}) - - # irrXML -- find_package(irrXML CONFIG REQUIRED) -+ find_package(irrlicht CONFIG REQUIRED) - - # polyclipping - find_package(polyclipping CONFIG REQUIRED) -@@ -1033,7 +1033,7 @@ TARGET_INCLUDE_DIRECTORIES ( assimp PUBLIC - - TARGET_LINK_LIBRARIES(assimp - polyclipping::polyclipping -- irrXML::irrXML -+ Irrlicht - minizip::minizip - ZLIB::ZLIB - kubazip::kubazip -diff --git a/code/X3D/FIReader.cpp b/code/X3D/FIReader.cpp -index 525a084..0cbca48 100644 ---- a/code/X3D/FIReader.cpp -+++ b/code/X3D/FIReader.cpp -@@ -654,8 +654,8 @@ public: - return currentNodeType; - } - -- virtual int getAttributeCount() const /*override*/ { -- return static_cast(attributes.size()); -+ virtual unsigned int getAttributeCount() const /*override*/ { -+ return static_cast(attributes.size()); - } - - virtual const char* getAttributeName(int idx) const /*override*/ { -@@ -1733,7 +1733,7 @@ public: - return reader->getNodeType(); - } - -- virtual int getAttributeCount() const /*override*/ { -+ virtual unsigned int getAttributeCount() const /*override*/ { - return reader->getAttributeCount(); - } - -diff --git a/include/assimp/irrXMLWrapper.h b/include/assimp/irrXMLWrapper.h -index 77cfd5e..ba584a0 100644 ---- a/include/assimp/irrXMLWrapper.h -+++ b/include/assimp/irrXMLWrapper.h -@@ -133,8 +133,8 @@ public: - - // ---------------------------------------------------------------------------------- - //! Returns size of file in bytes -- virtual int getSize() { -- return (int)data.size(); -+ virtual long getSize() const override { -+ return (long)data.size(); - } - - private: diff --git a/ports/assimp/portfile.cmake b/ports/assimp/portfile.cmake index 3527124ce163d5..523f81831c91f8 100644 --- a/ports/assimp/portfile.cmake +++ b/ports/assimp/portfile.cmake @@ -1,51 +1,50 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO assimp/assimp - REF 8f0c6b04b2257a520aaab38421b2e090204b69df # v5.0.1 - SHA512 59b213428e2f7494cb5da423e6b2d51556318f948b00cea420090d74d4f5f0f8970d38dba70cd47b2ef35a1f57f9e15df8597411b6cd8732b233395080147c0f + REF "v${VERSION}" + SHA512 4738db84068d36face8caf61c0789178fdfc1310fa8e81ffb9b025e14183bde546b784d691c92438ab310a79ab7b75ab62ee0247d5f01e81ddf04fb94b7a9c0b HEAD_REF master PATCHES build_fixes.patch - irrlicht.patch ) -file(REMOVE ${SOURCE_PATH}/cmake-modules/FindZLIB.cmake) -file(REMOVE ${SOURCE_PATH}/cmake-modules/FindIrrXML.cmake) -#file(REMOVE_RECURSE ${SOURCE_PATH}/contrib/clipper) # https://github.com/assimp/assimp/issues/788 -file(REMOVE_RECURSE ${SOURCE_PATH}/contrib/poly2tri) -file(REMOVE_RECURSE ${SOURCE_PATH}/contrib/zlib) -file(REMOVE_RECURSE ${SOURCE_PATH}/contrib/gtest) -file(REMOVE_RECURSE ${SOURCE_PATH}/contrib/irrXML) -file(REMOVE_RECURSE ${SOURCE_PATH}/contrib/rapidjson) -file(REMOVE_RECURSE ${SOURCE_PATH}/contrib/stb_image) -file(REMOVE_RECURSE ${SOURCE_PATH}/contrib/zip) -file(REMOVE_RECURSE ${SOURCE_PATH}/contrib/unzip) -file(REMOVE_RECURSE ${SOURCE_PATH}/contrib/utf8cpp) -#file(REMOVE_RECURSE ${SOURCE_PATH}/contrib/Open3DGC) #TODO -#file(REMOVE_RECURSE ${SOURCE_PATH}/contrib/openddlparser) #TODO +file(REMOVE "${SOURCE_PATH}/cmake-modules/FindZLIB.cmake") + +file(REMOVE_RECURSE "${SOURCE_PATH}/contrib/clipper") +file(REMOVE_RECURSE "${SOURCE_PATH}/contrib/draco") +file(REMOVE_RECURSE "${SOURCE_PATH}/contrib/gtest") +#file(REMOVE_RECURSE "${SOURCE_PATH}/contrib/Open3DGC") #TODO +#file(REMOVE_RECURSE "${SOURCE_PATH}/contrib/openddlparser") #TODO +file(REMOVE_RECURSE "${SOURCE_PATH}/contrib/poly2tri") +file(REMOVE_RECURSE "${SOURCE_PATH}/contrib/pugixml") +file(REMOVE_RECURSE "${SOURCE_PATH}/contrib/rapidjson") +file(REMOVE_RECURSE "${SOURCE_PATH}/contrib/stb") +file(REMOVE_RECURSE "${SOURCE_PATH}/contrib/unzip") +file(REMOVE_RECURSE "${SOURCE_PATH}/contrib/utf8cpp") +file(REMOVE_RECURSE "${SOURCE_PATH}/contrib/zip") +file(REMOVE_RECURSE "${SOURCE_PATH}/contrib/zlib") set(VCPKG_C_FLAGS "${VCPKG_C_FLAGS} -D_CRT_SECURE_NO_WARNINGS") set(VCPKG_CXX_FLAGS "${VCPKG_CXX_FLAGS} -D_CRT_SECURE_NO_WARNINGS") -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" ASSIMP_BUILD_SHARED_LIBS) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS -DASSIMP_BUILD_TESTS=OFF - -DASSIMP_BUILD_ASSIMP_VIEW=OFF - -DASSIMP_BUILD_ZLIB=OFF - -DASSIMP_BUILD_SHARED_LIBS=${ASSIMP_BUILD_SHARED_LIBS} - -DASSIMP_BUILD_ASSIMP_TOOLS=OFF - -DASSIMP_INSTALL_PDB=OFF - -DSYSTEM_IRRXML=ON - -DIGNORE_GIT_HASH=ON +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DASSIMP_BUILD_ZLIB=OFF + -DASSIMP_BUILD_ASSIMP_TOOLS=OFF + -DASSIMP_BUILD_TESTS=OFF + -DASSIMP_WARNINGS_AS_ERRORS=OFF + -DASSIMP_IGNORE_GIT_HASH=ON + -DASSIMP_INSTALL_PDB=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/assimp") + +vcpkg_copy_pdbs() if(VCPKG_TARGET_IS_WINDOWS) - set(VCVER vc140 vc141 vc142 ) + set(VCVER vc140 vc141 vc142 vc143) set(CRT mt md) set(DBG_NAMES) set(REL_NAMES) @@ -57,34 +56,34 @@ if(VCPKG_TARGET_IS_WINDOWS) endforeach() endif() -find_library(ASSIMP_REL NAMES assimp ${REL_NAMES} PATHS "${CURRENT_PACKAGES_DIR}/lib" NO_DEFAULT_PATH) +find_library(ASSIMP_REL NAMES assimp ${REL_NAMES} PATHS "${CURRENT_PACKAGES_DIR}/lib" NO_DEFAULT_PATH) find_library(ASSIMP_DBG NAMES assimp assimpd ${DBG_NAMES} PATHS "${CURRENT_PACKAGES_DIR}/debug/lib" NO_DEFAULT_PATH) if(ASSIMP_REL) get_filename_component(ASSIMP_NAME_REL "${ASSIMP_REL}" NAME_WLE) - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/assimp.pc" "-lassimp" "-l${ASSIMP_NAME_REL}") + 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}" IGNORE_UNCHANGED) endif() if(ASSIMP_DBG) get_filename_component(ASSIMP_NAME_DBG "${ASSIMP_DBG}" NAME_WLE) + string(REGEX REPLACE "^lib(.*)" "\\1" ASSIMP_NAME_DBG "${ASSIMP_NAME_DBG}") vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/assimp.pc" "-lassimp" "-l${ASSIMP_NAME_DBG}") endif() -vcpkg_fixup_cmake_targets() -vcpkg_fixup_pkgconfig() # Probably requires more fixing for static builds. See qt5-3d and the config changes below -vcpkg_copy_pdbs() +if("${VCPKG_LIBRARY_LINKAGE}" STREQUAL "static") + set(assimp_PC_REQUIRES "draco polyclipping pugixml minizip") + set(assimp_LIBS_REQUIRES "-lpoly2tri") + + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/assimp.pc" "Libs:" "Requires.private: ${assimp_PC_REQUIRES}\nLibs:") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/assimp.pc" "Libs.private:" "Libs.private: ${assimp_LIBS_REQUIRES}") + if(NOT VCPKG_BUILD_TYPE) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/assimp.pc" "Libs:" "Requires.private: ${assimp_PC_REQUIRES}\nLibs:") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/assimp.pc" "Libs.private:" "Libs.private: ${assimp_LIBS_REQUIRES}") + endif() +endif() -file(READ ${CURRENT_PACKAGES_DIR}/share/assimp/assimpConfig.cmake ASSIMP_CONFIG) -file(WRITE ${CURRENT_PACKAGES_DIR}/share/assimp/assimpConfig.cmake " -include(CMakeFindDependencyMacro) -find_dependency(ZLIB) -find_dependency(irrlicht CONFIG) -find_dependency(polyclipping CONFIG) -find_dependency(minizip CONFIG) -find_dependency(kubazip CONFIG) -find_dependency(poly2tri CONFIG) -find_dependency(utf8cpp CONFIG) -${ASSIMP_CONFIG}") +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/include") +file(REMOVE_RECURSE "${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/assimp/vcpkg.json b/ports/assimp/vcpkg.json index 3e573c17d5ac41..815910f39ef708 100644 --- a/ports/assimp/vcpkg.json +++ b/ports/assimp/vcpkg.json @@ -1,18 +1,27 @@ { "name": "assimp", - "version-string": "5.0.1", - "port-version": 5, + "version": "5.4.3", "description": "The Open Asset import library", "homepage": "https://github.com/assimp/assimp", + "license": "BSD-3-Clause", "dependencies": [ - "irrlicht", + "draco", + "jhasse-poly2tri", "kubazip", "minizip", - "poly2tri", "polyclipping", + "pugixml", "rapidjson", "stb", "utfcpp", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, "zlib" ] } 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 new file mode 100644 index 00000000000000..fe2eac89bc6794 --- /dev/null +++ b/ports/async-mqtt/portfile.cmake @@ -0,0 +1,33 @@ +set(VCPKG_BUILD_TYPE release) #header-only + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO redboltz/async_mqtt + REF "${VERSION}" + SHA512 cf76113f9fc3999c83781ca8213dbaa18edb5f4c081366b25ed1581cb955f8dfd562175bbd6ba5c127e560d5f9a0e013e42185211a4de77e76cdd44b279873a6 + HEAD_REF main +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + tls ASYNC_MQTT_USE_TLS +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} + -DASYNC_MQTT_BUILD_TOOLS=OFF + -DASYNC_MQTT_BUILD_EXAMPLES=OFF + -DASYNC_MQTT_BUILD_UNIT_TESTS=OFF + -DASYNC_MQTT_BUILD_SYSTEM_TESTS=OFF + -DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=ON +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(PACKAGE_NAME async_mqtt_iface CONFIG_PATH "lib/cmake/async_mqtt_iface") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/async-mqtt/vcpkg.json b/ports/async-mqtt/vcpkg.json new file mode 100644 index 00000000000000..702042f3fe4c8f --- /dev/null +++ b/ports/async-mqtt/vcpkg.json @@ -0,0 +1,92 @@ +{ + "name": "async-mqtt", + "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": [ + { + "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 + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "default-features": [ + "tls" + ], + "features": { + "tls": { + "description": "Enable TLS support", + "dependencies": [ + "openssl" + ] + } + } +} 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/asynch/vcpkg.json b/ports/asynch/vcpkg.json index 0ee8a5df26a511..9ee855beb6b8f7 100644 --- a/ports/asynch/vcpkg.json +++ b/ports/asynch/vcpkg.json @@ -1,7 +1,7 @@ { "name": "asynch", - "version-string": "2019-09-21", - "port-version": 2, + "version-date": "2019-09-21", + "port-version": 3, "description": "Async.h - asynchronous, stackless subroutines.", "homepage": "https://github.com/naasking/async.h" } diff --git a/ports/asyncplusplus/portfile.cmake b/ports/asyncplusplus/portfile.cmake index d412f1148b8dc3..db287ce739d5d2 100644 --- a/ports/asyncplusplus/portfile.cmake +++ b/ports/asyncplusplus/portfile.cmake @@ -3,28 +3,19 @@ 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 ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() -file(RENAME ${CURRENT_PACKAGES_DIR}/cmake/Async++.cmake ${CURRENT_PACKAGES_DIR}/cmake/Async++Targets.cmake) +vcpkg_cmake_config_fixup(CONFIG_PATH cmake PACKAGE_NAME async++) -vcpkg_fixup_cmake_targets(CONFIG_PATH cmake TARGET_PATH share/async++) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") -file(RENAME ${CURRENT_PACKAGES_DIR}/share/async++/Async++Targets.cmake ${CURRENT_PACKAGES_DIR}/share/async++/Async++.cmake) - -file(READ ${CURRENT_PACKAGES_DIR}/share/async++/Async++Config.cmake _contents) -file(WRITE ${CURRENT_PACKAGES_DIR}/share/async++/Async++Config.cmake "include(CMakeFindDependencyMacro)\n${_contents}") - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share) - -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/asyncplusplus) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/asyncplusplus/LICENSE ${CURRENT_PACKAGES_DIR}/share/asyncplusplus/copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/asyncplusplus/vcpkg.json b/ports/asyncplusplus/vcpkg.json index d768e7bed2f86a..413f125062cc86 100644 --- a/ports/asyncplusplus/vcpkg.json +++ b/ports/asyncplusplus/vcpkg.json @@ -1,7 +1,17 @@ { "name": "asyncplusplus", - "version-string": "1.1", - "port-version": 1, + "version": "1.2", "description": "Async++ is a lightweight concurrency framework for C++11", - "supports": "!uwp" + "license": "MIT", + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/at-spi2-atk/portfile.cmake b/ports/at-spi2-atk/portfile.cmake new file mode 100644 index 00000000000000..a0972148cb2f57 --- /dev/null +++ b/ports/at-spi2-atk/portfile.cmake @@ -0,0 +1,25 @@ +vcpkg_from_gitlab( + OUT_SOURCE_PATH SOURCE_PATH + GITLAB_URL https://gitlab.gnome.org + REPO GNOME/at-spi2-atk + REF AT_SPI2_ATK_2_38_0 + SHA512 d065a22e46f5d9459e14bc81050795e8b60ba8d6650ec9edf90ec6c205e68eb4ea3cc01f096cf636b066439b85892f203bc7a1c9d41f8ca899f29777556aa6cd +) + +vcpkg_configure_meson( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -Dtests=false +) + +vcpkg_install_meson() + +vcpkg_copy_pdbs() + +vcpkg_fixup_pkgconfig() + +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") +endif() diff --git a/ports/at-spi2-atk/vcpkg.json b/ports/at-spi2-atk/vcpkg.json new file mode 100644 index 00000000000000..232abaf70b4426 --- /dev/null +++ b/ports/at-spi2-atk/vcpkg.json @@ -0,0 +1,22 @@ +{ + "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, + "supports": "linux", + "dependencies": [ + "at-spi2-core", + "atk", + { + "name": "dbus", + "platform": "linux" + }, + "libxml2", + { + "name": "vcpkg-tool-meson", + "host": true + } + ] +} diff --git a/ports/at-spi2-core/portfile.cmake b/ports/at-spi2-core/portfile.cmake new file mode 100644 index 00000000000000..3084f71f36e51a --- /dev/null +++ b/ports/at-spi2-core/portfile.cmake @@ -0,0 +1,45 @@ +if(VCPKG_TARGET_IS_LINUX) + 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( + OUT_SOURCE_PATH SOURCE_PATH + GITLAB_URL https://gitlab.gnome.org + REPO GNOME/at-spi2-core + REF AT_SPI2_CORE_2_44_1 + SHA512 4e98b76e019f33af698a5e2b7ae7ce17ce0ff57784b4d505fe4bad58b097080899c1ca82b443502068c5504b60886e2d4a341bba833e0279ebef352211bf3813 +) + +vcpkg_configure_meson( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -Dintrospection=no + ADDITIONAL_BINARIES + glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal' + glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums' +) + +vcpkg_install_meson() + +vcpkg_copy_pdbs() + +vcpkg_fixup_pkgconfig() + +if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/atspi-2.pc" + "-DG_LOG_DOMAIN=\"dbind\"" "" + ) +endif() +if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/atspi-2.pc" + "-DG_LOG_DOMAIN=\"dbind\"" "" + ) +endif() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share" "${CURRENT_PACKAGES_DIR}/share/defaults") + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") +endif() diff --git a/ports/at-spi2-core/vcpkg.json b/ports/at-spi2-core/vcpkg.json new file mode 100644 index 00000000000000..b82464a6c93e9b --- /dev/null +++ b/ports/at-spi2-core/vcpkg.json @@ -0,0 +1,24 @@ +{ + "name": "at-spi2-core", + "version": "2.44.1", + "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", + "host": true + }, + { + "name": "vcpkg-tool-meson", + "host": true + } + ] +} diff --git a/ports/atk/portfile.cmake b/ports/atk/portfile.cmake index c7db3633489d9d..176c0624649e1c 100644 --- a/ports/atk/portfile.cmake +++ b/ports/atk/portfile.cmake @@ -1,31 +1,50 @@ -vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY ONLY_DYNAMIC_CRT) +vcpkg_minimum_required(VERSION 2022-10-12) # for ${VERSION} -set(ATK_VERSION 2.36.0) - -vcpkg_download_distfile(ARCHIVE - URLS "https://ftp.gnome.org/pub/GNOME/sources/atk/2.36/atk-${ATK_VERSION}.tar.xz" - FILENAME "atk-${ATK_VERSION}.tar.xz" - SHA512 d0f18204eaf96511e8448e3dfbc4b6953a7cf8b816151fb7caf5592cf578572b1cdb16836fe2157b11e3ad018ef171f1ca1bfdf255bb31bb455716d7519fd634 -) - -vcpkg_extract_source_archive_ex( +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.gnome.org/ OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} - PATCHES + REPO GNOME/atk + REF "${VERSION}" + HEAD_REF master + SHA512 f31951ecbdace6a18fb9f772616137cb8732163b37448fef4daf1af60ba8479c94d498dcdaf4880468c80012c77a446da585926a99704a9a940b80e546080cf3 ) +if("introspection" IN_LIST FEATURES) + list(APPEND OPTIONS_DEBUG -Dintrospection=false) + list(APPEND OPTIONS_RELEASE -Dintrospection=true) +else() + list(APPEND OPTIONS -Dintrospection=false) +endif() + +if(CMAKE_HOST_WIN32 AND VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + set(GIR_TOOL_DIR ${CURRENT_INSTALLED_DIR}) +else() + set(GIR_TOOL_DIR ${CURRENT_HOST_INSTALLED_DIR}) +endif() + vcpkg_configure_meson( - SOURCE_PATH ${SOURCE_PATH} - OPTIONS -Dintrospection=false - ADDITIONAL_NATIVE_BINARIES glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal' - glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums' - ADDITIONAL_CROSS_BINARIES glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal' - glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums' + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${OPTIONS} + OPTIONS_DEBUG + ${OPTIONS_DEBUG} + OPTIONS_RELEASE + ${OPTIONS_RELEASE} + ADDITIONAL_BINARIES + "glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal'" + "glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums'" + "g-ir-compiler='${CURRENT_HOST_INSTALLED_DIR}/tools/gobject-introspection/g-ir-compiler${VCPKG_HOST_EXECUTABLE_SUFFIX}'" + "g-ir-scanner='${GIR_TOOL_DIR}/tools/gobject-introspection/g-ir-scanner'" ) -vcpkg_install_meson() +vcpkg_install_meson(ADD_BIN_TO_PATH) vcpkg_copy_pdbs() vcpkg_fixup_pkgconfig() + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/atk-1.0/atk/atkmisc.h" "ifdef ATK_STATIC_COMPILATION" "if 1") +endif() + 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/atk/vcpkg.json b/ports/atk/vcpkg.json index d0a2e1f735a0ab..ec81afa24302b3 100644 --- a/ports/atk/vcpkg.json +++ b/ports/atk/vcpkg.json @@ -1,16 +1,37 @@ { "name": "atk", - "version": "2.36.0", - "port-version": 1, + "version": "2.38.0", + "port-version": 8, "description": "GNOME Accessibility Toolkit", "homepage": "https://developer.gnome.org/atk/", - "supports": "!arm", + "license": "LGPL-2.0-or-later", + "supports": "!xbox", "dependencies": [ "gettext", + { + "name": "gettext", + "host": true, + "default-features": false, + "features": [ + "tools" + ] + }, "glib", { "name": "glib", "host": true + }, + { + "name": "vcpkg-tool-meson", + "host": true + } + ], + "features": { + "introspection": { + "description": "build with introspection", + "dependencies": [ + "gobject-introspection" + ] } - ] + } } diff --git a/ports/atkmm/COPYING b/ports/atkmm/COPYING deleted file mode 100644 index 2d2d780e6014b8..00000000000000 --- a/ports/atkmm/COPYING +++ /dev/null @@ -1,510 +0,0 @@ - - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations -below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it -becomes a de-facto standard. To achieve this, non-free programs must -be allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control -compilation and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at least - three years, to give the same user the materials specified in - Subsection 6a, above, for a charge no more than the cost of - performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply, and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License -may add an explicit geographical distribution limitation excluding those -countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms -of the ordinary General Public License). - - To apply these terms, attach the following notices to the library. -It is safest to attach them to the start of each source file to most -effectively convey the exclusion of warranty; and each file should -have at least the "copyright" line and a pointer to where the full -notice is found. - - - - Copyright (C) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or -your school, if any, to sign a "copyright disclaimer" for the library, -if necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James - Random Hacker. - - , 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! - - diff --git a/ports/atkmm/portfile.cmake b/ports/atkmm/portfile.cmake index 9f7a7256002306..ac5af3c5d44603 100644 --- a/ports/atkmm/portfile.cmake +++ b/ports/atkmm/portfile.cmake @@ -2,27 +2,31 @@ if (VCPKG_TARGET_IS_WINDOWS) vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) endif() +# 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-2.36.0.tar.xz" - FILENAME "atkmm-2.36.0.tar.xz" - SHA512 8527dfa50191919a7dcf6db6699767352cb0dac800d834ee39ed21694eee3136a41a7532d600b8b3c0fcea52da6129b623e8e61ada728d806aa61fdc8dc8dedf + 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_ex( - OUT_SOURCE_PATH SOURCE_PATH +vcpkg_extract_source_archive( + SOURCE_PATH ARCHIVE ${ARCHIVE} - PATCHES ) vcpkg_configure_meson( - SOURCE_PATH ${SOURCE_PATH} - OPTIONS + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS -Dbuild-documentation=false -Dbuild-deprecated-api=true # Build deprecated API and include it in the library - -Dmsvc14x-parallel-installable=false) # Use separate DLL and LIB filenames for Visual Studio 2017 and 2019 + -Dmsvc14x-parallel-installable=false # Use separate DLL and LIB filenames for Visual Studio 2017 and 2019 +) vcpkg_install_meson() vcpkg_fixup_pkgconfig() -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) 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 c173ce9cee760d..d90046625b0cff 100644 --- a/ports/atkmm/vcpkg.json +++ b/ports/atkmm/vcpkg.json @@ -1,13 +1,18 @@ { "name": "atkmm", - "version": "2.36.0", - "port-version": 1, + "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", + "supports": "!xbox", "dependencies": [ "atk", "gettext", "glib", - "glibmm" + "glibmm", + { + "name": "vcpkg-tool-meson", + "host": true + } ] } diff --git a/ports/atl/portfile.cmake b/ports/atl/portfile.cmake new file mode 100644 index 00000000000000..61a207f7bfbaae --- /dev/null +++ b/ports/atl/portfile.cmake @@ -0,0 +1,10 @@ +find_path(ATLBASE_H + NAMES atlbase.h + PATHS $ENV{INCLUDE} +) + +if(NOT ATLBASE_H) + message(FATAL_ERROR "Unable to locate 'atlbase.h'. Ensure you have installed the Active Template Library (ATL) component of Visual Studio.") +endif() + +SET(VCPKG_POLICY_EMPTY_PACKAGE enabled) diff --git a/ports/atl/vcpkg.json b/ports/atl/vcpkg.json new file mode 100644 index 00000000000000..cd2350eb2bcd74 --- /dev/null +++ b/ports/atl/vcpkg.json @@ -0,0 +1,6 @@ +{ + "name": "atl", + "version": "0", + "description": "A stub package that ensures Visual Studio has Active Template Library (ATL) installed.", + "supports": "windows" +} 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/atlmfc/vcpkg.json b/ports/atlmfc/vcpkg.json index 5a8ce22d6b14e2..40f1377957854d 100644 --- a/ports/atlmfc/vcpkg.json +++ b/ports/atlmfc/vcpkg.json @@ -1,7 +1,10 @@ { "name": "atlmfc", - "version-string": "0", - "port-version": 1, - "description": "a stub package that ensures VS has ATL/MFC installed.", - "supports": "windows" + "version": "0", + "port-version": 3, + "description": "A stub package that ensures Visual Studio has ATL/MFC installed.", + "supports": "windows", + "dependencies": [ + "atl" + ] } 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 new file mode 100644 index 00000000000000..393e64db3af025 --- /dev/null +++ b/ports/attr/portfile.cmake @@ -0,0 +1,35 @@ +vcpkg_download_distfile(ARCHIVE + 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 f587ea544effb7cfed63b3027bf14baba2c2dbe3a9b6c0c45fc559f7e8cb477b3e9a4a826eae30f929409468c50d11f3e7dc6d2500f41e1af8662a7e96a30ef3 +) + +vcpkg_extract_source_archive( + SOURCE_PATH + 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/etc") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/doc/COPYING.LGPL") diff --git a/ports/attr/vcpkg.json b/ports/attr/vcpkg.json new file mode 100644 index 00000000000000..e21ee4a4fba6a9 --- /dev/null +++ b/ports/attr/vcpkg.json @@ -0,0 +1,23 @@ +{ + "name": "attr", + "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", + "supports": "linux", + "features": { + "nls": { + "description": "Enable native language support", + "dependencies": [ + { + "name": "gettext", + "host": true, + "features": [ + "tools" + ] + }, + "gettext-libintl" + ] + } + } +} diff --git a/ports/aubio/CMakeLists.txt b/ports/aubio/CMakeLists.txt index b711c9f39cd9ee..790a04685ebccf 100644 --- a/ports/aubio/CMakeLists.txt +++ b/ports/aubio/CMakeLists.txt @@ -56,6 +56,7 @@ if(WITH_DEPENDENCIES) endif() if(WIN32) + target_compile_definitions(aubio PRIVATE -DHAVE_WIN_HACKS=1) target_link_libraries(aubio PUBLIC ws2_32) endif() 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 e8d49dce4c0dbb..59128ae7909fe6 100644 --- a/ports/aubio/portfile.cmake +++ b/ports/aubio/portfile.cmake @@ -3,12 +3,14 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO aubio/aubio - REF 0.4.9 - SHA512 a22c7c581ce1f428270021591649273396e6dc222b3c7b3d46f5c4abf94a98be1ab89320cdbf1b6b60d4330eef23976439e3fc9e0f8d3cdd867dac4542fa48c9 + REF 152d6819b360c2e7b379ee3f373d444ab3df0895 + SHA512 923529eb27e460293bd2b8b8c53d5eb96553e3e1ece7071904808d8f20f86b7af70bde97d271da9a07ee1898d0840190f265e326e67f48c6f5cadefa034abf0f HEAD_REF master + PATCHES + ffmpeg7.patch ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES @@ -16,8 +18,7 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS ) vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA + SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${FEATURE_OPTIONS} OPTIONS_RELEASE -DTOOLS_INSTALLDIR=tools/aubio @@ -31,15 +32,11 @@ vcpkg_cmake_config_fixup() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") -# Handle copyright and credentials -file(COPY - ${SOURCE_PATH}/COPYING - ${SOURCE_PATH}/AUTHORS - ${SOURCE_PATH}/ChangeLog - ${SOURCE_PATH}/README.md - DESTINATION - ${CURRENT_PACKAGES_DIR}/share/${PORT}) - vcpkg_copy_pdbs() -vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT}) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/COPYING ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) \ No newline at end of file +if("tools" IN_LIST FEATURES) + vcpkg_copy_tools(TOOL_NAMES aubiomfcc aubionotes aubioonset aubiopitch aubioquiet aubiotrack + SEARCH_DIR ${CURRENT_PACKAGES_DIR}/tools/aubio + AUTO_CLEAN) +endif() + +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/aubio/vcpkg.json b/ports/aubio/vcpkg.json index dd977ac9242754..04188776c1fa1f 100644 --- a/ports/aubio/vcpkg.json +++ b/ports/aubio/vcpkg.json @@ -1,9 +1,10 @@ { "name": "aubio", - "version-semver": "0.4.9", - "port-version": 7, + "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", + "supports": "!xbox", "dependencies": [ { "name": "vcpkg-cmake", @@ -34,7 +35,10 @@ "libflac", "liblzma", "libogg", - "libsndfile", + { + "name": "libsndfile", + "default-features": false + }, "libvorbis" ] } diff --git a/ports/audiofile/fix-cmakeLists.patch b/ports/audiofile/fix-cmakeLists.patch index a7551d6ade776f..a281171a59e5c0 100644 --- a/ports/audiofile/fix-cmakeLists.patch +++ b/ports/audiofile/fix-cmakeLists.patch @@ -1,33 +1,9 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index d43c0c7..1bf21cf 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -4,6 +4,8 @@ cmake_minimum_required (VERSION 3.12) - project ("AudioFile" VERSION 1.0.9 - DESCRIPTION "A simple C++ library for reading and writing audio files." - HOMEPAGE_URL "https://github.com/adamstark/AudioFile") -+option(BUILD_EXAMPLES "Build examples" OFF) -+option(BUILD_TESTS "Build tests" OFF) +@@ -42,3 +42,10 @@ endif () #=============================================================================== - include (GNUInstallDirs) -@@ -21,10 +23,20 @@ target_include_directories ( - target_compile_features (${PROJECT_NAME} INTERFACE cxx_std_11) - - #=============================================================================== -+if(BUILD_EXAMPLES) - add_subdirectory (examples) -+endif() - -+if(BUILD_TESTS) - enable_testing() - add_subdirectory (tests) -- -+endif() - #=============================================================================== --set (CMAKE_SUPPRESS_REGENERATION true) -\ No newline at end of file -+set (CMAKE_SUPPRESS_REGENERATION true) + set (CMAKE_SUPPRESS_REGENERATION true) + +#install and export targets +install(TARGETS ${PROJECT_NAME} EXPORT ${PROJECT_NAME}Config) @@ -35,4 +11,3 @@ index d43c0c7..1bf21cf 100644 +install(EXPORT ${PROJECT_NAME}Config DESTINATION share/AudioFile FILE ${PROJECT_NAME}Config.cmake) +#install headers +install(FILES AudioFile.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) -\ No newline at end of file diff --git a/ports/audiofile/portfile.cmake b/ports/audiofile/portfile.cmake index df0fff37426b00..33c371f39c04c3 100644 --- a/ports/audiofile/portfile.cmake +++ b/ports/audiofile/portfile.cmake @@ -3,8 +3,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO adamstark/AudioFile - REF b7dd84abd5763f64fcf74e58499c4b5d779a396d # 1.0.9 - SHA512 daadbf7badadee4a189453af137b1ea5a5ba3486780d02664d1516f379c3705155b1036a9f8f7acd49b6a82269a07e510edcd5e9de55c73f47250244a510ccbb + REF "${VERSION}" + SHA512 b0612e6d6c440e52a168f27410d6ac14f7fcef2ba183e8a80e03f924e6fc778c01e4f46b40cab10dd73c48f8f10dc4112c58f602728fdeec0bc3e143852fc95e HEAD_REF master PATCHES fix-cmakeLists.patch diff --git a/ports/audiofile/vcpkg.json b/ports/audiofile/vcpkg.json index 8d982a697255a3..6b96e03181fd3b 100644 --- a/ports/audiofile/vcpkg.json +++ b/ports/audiofile/vcpkg.json @@ -1,9 +1,9 @@ { "name": "audiofile", - "version": "1.0.9", + "version": "1.1.1", "description": "A simple header-only C++ library for reading and writing audio files.", "homepage": "https://github.com/adamstark/AudioFile", - "license": "GPL-3.0", + "license": "MIT", "dependencies": [ { "name": "vcpkg-cmake", 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/disable-googletest.patch b/ports/aurora-au/disable-googletest.patch new file mode 100644 index 00000000000000..ff6f750dafa038 --- /dev/null +++ b/ports/aurora-au/disable-googletest.patch @@ -0,0 +1,41 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b18407f..f1be4c0 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -52,9 +52,6 @@ FetchContent_Declare( + # For Windows: Prevent overriding the parent project's compiler/linker settings + set(gtest_force_shared_crt ON CACHE BOOL "" FORCE) + +-FetchContent_MakeAvailable(googletest) +-include(GoogleTest) +- + add_subdirectory(au) + + # Configure how Au will be installed. +diff --git a/cmake/AuConfig.cmake.in b/cmake/AuConfig.cmake.in +index b121f76..65da38a 100644 +--- a/cmake/AuConfig.cmake.in ++++ b/cmake/AuConfig.cmake.in +@@ -14,9 +14,6 @@ + + @PACKAGE_INIT@ + +-include(CMakeFindDependencyMacro) +-find_dependency(googletest 1.12.1) +- + include(${CMAKE_CURRENT_LIST_DIR}/AuHeaders.cmake) + + check_required_components(Au) +diff --git a/cmake/HeaderOnlyLibrary.cmake b/cmake/HeaderOnlyLibrary.cmake +index 28daf00..f2bf389 100644 +--- a/cmake/HeaderOnlyLibrary.cmake ++++ b/cmake/HeaderOnlyLibrary.cmake +@@ -75,7 +75,7 @@ function(header_only_library) + ) + + # Add the test, if requested. +- if (DEFINED ARG_GTEST_SRCS) ++ if (0) + add_executable("${ARG_NAME}_test") + target_sources("${ARG_NAME}_test" PRIVATE ${ARG_GTEST_SRCS}) + target_link_libraries( diff --git a/ports/aurora-au/portfile.cmake b/ports/aurora-au/portfile.cmake new file mode 100644 index 00000000000000..afd21242bcc8d4 --- /dev/null +++ b/ports/aurora-au/portfile.cmake @@ -0,0 +1,23 @@ +set(VCPKG_BUILD_TYPE release) # header-only + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO aurora-opensource/au + REF "${VERSION}" + SHA512 4aa3282f6b76fbadd04ca572734f72c86b1b0b4e85fc21a03d1ab00b83d3aea319ab2dac3934361b5f6fa7c4a0dccece94fe0a57f3d73d208315b51b1950e374 + HEAD_REF main + PATCHES + disable-googletest.patch +) + +vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}") +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..25454f090e6872 --- /dev/null +++ b/ports/aurora-au/vcpkg.json @@ -0,0 +1,21 @@ +{ + "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json", + "name": "aurora-au", + "version-semver": "0.3.5", + "port-version": 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/aurora/vcpkg.json b/ports/aurora/vcpkg.json index e0efe0331e641e..7e89fcf296fc78 100644 --- a/ports/aurora/vcpkg.json +++ b/ports/aurora/vcpkg.json @@ -1,7 +1,7 @@ { "name": "aurora", - "version-string": "2017-06-21-c75699d2a8caa726260c29b6d7a0fd35f8f28933", - "port-version": 1, + "version": "2017-06-21-c75699d2a8caa726260c29b6d7a0fd35f8f28933", + "port-version": 2, "description": "Aurora is an open-source C++ library providing various rather uncommon C++ utilities", "homepage": "https://github.com/Bromeon/Aurora" } diff --git a/ports/autobahn/vcpkg.json b/ports/autobahn/vcpkg.json index cc755ff05796cd..3bd52ecc0734b2 100644 --- a/ports/autobahn/vcpkg.json +++ b/ports/autobahn/vcpkg.json @@ -1,7 +1,7 @@ { "name": "autobahn", - "version-string": "20.8.1", - "port-version": 1, + "version": "20.8.1", + "port-version": 2, "description": "WAMP for C++ in Boost/Asio", "homepage": "https://crossbar.io/autobahn", "dependencies": [ diff --git a/ports/autodock-vina/CMakeLists.txt b/ports/autodock-vina/CMakeLists.txt index 5099bc23edb193..251ce5119f7b2e 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.3) +set(GIT_VERSION v1.2.5) 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 new file mode 100644 index 00000000000000..e6af7c477482f7 --- /dev/null +++ b/ports/autodock-vina/fix-compatibility-with-boost-1.83.patch @@ -0,0 +1,46 @@ +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/fix-compatibility-with-boost-1.85.patch b/ports/autodock-vina/fix-compatibility-with-boost-1.85.patch new file mode 100644 index 00000000000000..bfe452eb58dd19 --- /dev/null +++ b/ports/autodock-vina/fix-compatibility-with-boost-1.85.patch @@ -0,0 +1,30 @@ + src/lib/vina.h | 2 +- + src/split/split.cpp | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/lib/vina.h b/src/lib/vina.h +index a44cf9b..daed498 100644 +--- a/src/lib/vina.h ++++ b/src/lib/vina.h +@@ -35,7 +35,7 @@ + #include + #include + #include +-#include // filesystem::basename ++#include // filesystem::basename + #include // hardware_concurrency // FIXME rm ? + #include + //#include +diff --git a/src/split/split.cpp b/src/split/split.cpp +index b42e78a..daee547 100644 +--- a/src/split/split.cpp ++++ b/src/split/split.cpp +@@ -30,7 +30,7 @@ + #include + #include + #include +-#include // filesystem::basename ++#include // filesystem::basename + + #include "file.h" + #include "parse_error.h" diff --git a/ports/autodock-vina/portfile.cmake b/ports/autodock-vina/portfile.cmake index b910a40e64b4f3..367c377e77ccf2 100644 --- a/ports/autodock-vina/portfile.cmake +++ b/ports/autodock-vina/portfile.cmake @@ -3,9 +3,12 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ccsb-scripps/AutoDock-Vina - REF v1.2.3 - SHA512 ea3d3008553665af5fbafa3b4dfe379df257d9c5b957d81a91ec8b92f06a8d0f4c2dfc30b515a64c0bc6dcc70acedfdd498c3bb9a21cac58e43d4da37d2ff606 + REF v${VERSION} + SHA512 d36908e5833d22bcbc4dae353ef32b905d6eb46511302f7583a291398bfadff5e75fc99ce7b380860578b2257e5c32434cc75b1ca51fafb4b5f12d9477a878e9 HEAD_REF develop + PATCHES + fix-compatibility-with-boost-1.83.patch + fix-compatibility-with-boost-1.85.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 c8d9df0fa65bd8..44f683ce12374a 100644 --- a/ports/autodock-vina/vcpkg.json +++ b/ports/autodock-vina/vcpkg.json @@ -1,6 +1,7 @@ { "name": "autodock-vina", - "version-semver": "1.2.3", + "version-semver": "1.2.5", + "port-version": 3, "description": "AutoDock Vina is one of the fastest and most widely used open-source docking engines.", "homepage": "http://vina.scripps.edu/", "dependencies": [ diff --git a/ports/avcpp/portfile.cmake b/ports/avcpp/portfile.cmake index 48ff0896b463a8..98dc5eedbe1a7b 100644 --- a/ports/avcpp/portfile.cmake +++ b/ports/avcpp/portfile.cmake @@ -1,11 +1,13 @@ -# avcpp doesn't export any symbols -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +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 fa9a1ef70bbf9e9f3963fbaa4540e8aac4ad8daa - SHA512 e0821d8e01e0fdb28d58564c87cafa7f9349b1b31dc90d4f2ea4c22c51fc16555f4a01f30d7575798138067921a011faa10e4d2ac2ac02acdf224546724e0338 + REF "v${VERSION}" + SHA512 365ed55e0c2bf2a699899ed6e303fe28fb9d51286579e9d7d1586132c8ab1b09c4b66e94f8061e860d73b60a28fa44769dcfdf030cb0947acfb7cdfd616127d9 HEAD_REF master PATCHES 0002-av_init_packet_deprecation.patch @@ -15,16 +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) +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() @@ -32,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 e619be0be25d53..d94158775a5696 100644 --- a/ports/avcpp/vcpkg.json +++ b/ports/avcpp/vcpkg.json @@ -1,9 +1,9 @@ { "name": "avcpp", - "version-date": "2021-06-14", - "port-version": 1, + "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", "dependencies": [ { "name": "ffmpeg", diff --git a/ports/avisynthplus/portfile.cmake b/ports/avisynthplus/portfile.cmake index af6641c3f97246..a3d8612511c3dc 100644 --- a/ports/avisynthplus/portfile.cmake +++ b/ports/avisynthplus/portfile.cmake @@ -1,10 +1,8 @@ -vcpkg_fail_port_install(ON_ARCH "arm" "arm64" ON_TARGET "UWP") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO AviSynth/AviSynthPlus - REF v3.7.0 - SHA512 0f2d5344c4472b810667b99d9e99a2ec8135923f4185dbd7e29ca65e696ce13500ea20ef09c995486573314149a671e1256a4dd0696c4ace8d3ec3716ffdcfc7 + REF "v${VERSION}" + SHA512 0e0daa83e3ab729fdc35a52c60c23c9142f1229187af893d0dbbd36f88eced36f63a3e8c767a3dc825edaa5395a49a5aad726f6b61de8f6b291557eec20de426 HEAD_REF master ) @@ -14,20 +12,19 @@ vcpkg_download_distfile(GHC_ARCHIVE SHA512 e3fe1e41b31f840ebc219fcd795e7be2973b80bb3843d6bb080786ad9e3e7f846a118673cb9e17d76bae66954e64e024a82622fb8cea7818d5d9357de661d3d1 ) -file(REMOVE_RECURSE ${SOURCE_PATH}/filesystem) +file(REMOVE_RECURSE "${SOURCE_PATH}/filesystem") vcpkg_extract_source_archive(extracted_archive ARCHIVE "${GHC_ARCHIVE}") file(RENAME "${extracted_archive}" "${SOURCE_PATH}/filesystem") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DENABLE_PLUGINS=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() 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) +file(INSTALL "${SOURCE_PATH}/distrib/gpl.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/avisynthplus/vcpkg.json b/ports/avisynthplus/vcpkg.json index 88e47ac016c0a5..209fea9a90b1c1 100644 --- a/ports/avisynthplus/vcpkg.json +++ b/ports/avisynthplus/vcpkg.json @@ -1,8 +1,14 @@ { "name": "avisynthplus", - "version-semver": "3.7.0", - "port-version": 1, + "version": "3.7.3", "description": "An improved version of the AviSynth frameserver, with improved features and developer friendliness", - "homepage": "http://avs-plus.net/", - "supports": "!arm & !uwp" + "homepage": "https://avs-plus.net/", + "license": "GPL-2.0", + "supports": "!arm & !uwp & !xbox", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/avro-c/avro.patch b/ports/avro-c/avro.patch index e916150024db10..513bbe0bb2c637 100644 --- a/ports/avro-c/avro.patch +++ b/ports/avro-c/avro.patch @@ -12,7 +12,7 @@ index aa923e1..9ee7937 100644 # Eliminates warning about linker paths when linking both zlib and # liblzma. cmake_policy(SET CMP0003 NEW) -@@ -149,50 +152,60 @@ else (ZLIB_FOUND) +@@ -149,20 +152,25 @@ else (ZLIB_FOUND) message("Disabled deflate codec. zlib not found.") endif (ZLIB_FOUND) @@ -38,24 +38,13 @@ index aa923e1..9ee7937 100644 -find_package(PkgConfig) -pkg_check_modules(LZMA liblzma) --if (LZMA_FOUND) +find_package(LibLZMA REQUIRED) -+if (LibLZMA_FOUND) ++set(LZMA_FOUND 1) ++set(LZMA_LIBRARIES LibLZMA::LibLZMA) + if (LZMA_FOUND) set(LZMA_PKG liblzma) add_definitions(-DLZMA_CODEC) -+ set(LZMA_LIBRARIES LibLZMA::LibLZMA) - include_directories(${LZMA_INCLUDE_DIRS}) - link_directories(${LZMA_LIBRARY_DIRS}) - message("Enabled lzma codec") --else (LZMA_FOUND) -+else (LibLZMA_FOUND) - set(LZMA_PKG "") - set(LZMA_LIBRARIES "") - message("Disabled lzma codec. liblzma not found.") --endif (LZMA_FOUND) -+endif (LibLZMA_FOUND) - - set(CODEC_LIBRARIES ${ZLIB_LIBRARIES} ${LZMA_LIBRARIES} ${SNAPPY_LIBRARIES}) +@@ -179,20 +187,26 @@ set(CODEC_LIBRARIES ${ZLIB_LIBRARIES} ${LZMA_LIBRARIES} ${SNAPPY_LIBRARIES}) set(CODEC_PKG "@ZLIB_PKG@ @LZMA_PKG@ @SNAPPY_PKG@") # Jansson JSON library diff --git a/ports/avro-c/portfile.cmake b/ports/avro-c/portfile.cmake index 07c14553b7a82b..94c61be6cadf56 100644 --- a/ports/avro-c/portfile.cmake +++ b/ports/avro-c/portfile.cmake @@ -1,5 +1,4 @@ vcpkg_buildpath_length_warning(37) -vcpkg_fail_port_install(ON_TARGET "uwp") if(VCPKG_TARGET_IS_WINDOWS) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) endif() @@ -7,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 @@ -27,6 +26,8 @@ vcpkg_cmake_install() vcpkg_copy_pdbs() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +# the files are broken and there is no way to fix it because the snappy dependency has no pkgconfig file +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/pkgconfig" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig") vcpkg_copy_tools(TOOL_NAMES avroappend avrocat AUTO_CLEAN) @@ -38,4 +39,4 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static" AND NOT VCPKG_TARGET_IS_WINDOWS) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") endif() -file(INSTALL "${SOURCE_PATH}/lang/c/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) \ No newline at end of file +file(INSTALL "${SOURCE_PATH}/lang/c/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/avro-c/vcpkg.json b/ports/avro-c/vcpkg.json index 19b569541e3f91..5c5c70cc1c12a2 100644 --- a/ports/avro-c/vcpkg.json +++ b/ports/avro-c/vcpkg.json @@ -1,8 +1,9 @@ { "name": "avro-c", - "version": "1.11.0", + "version": "1.11.3", "description": "Apache Avro is a data serialization system", "homepage": "https://github.com/apache/avro", + "license": "Apache-2.0", "supports": "!uwp", "dependencies": [ "jansson", diff --git a/ports/avro-cpp/fix-cmake.patch b/ports/avro-cpp/fix-cmake.patch new file mode 100644 index 00000000000000..dc55ed44301b57 --- /dev/null +++ b/ports/avro-cpp/fix-cmake.patch @@ -0,0 +1,97 @@ +diff --git a/lang/c++/CMakeLists.txt b/lang/c++/CMakeLists.txt +index 19059a4..c49e9c2 100644 +--- a/lang/c++/CMakeLists.txt ++++ b/lang/c++/CMakeLists.txt +@@ -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 ( +- -DNOMINMAX +- -DBOOST_REGEX_DYN_LINK +- -DBOOST_FILESYSTEM_DYN_LINK +- -DBOOST_SYSTEM_DYN_LINK +- -DBOOST_IOSTREAMS_DYN_LINK +- -DBOOST_PROGRAM_OPTIONS_DYN_LINK +- -DBOOST_ALL_NO_LIB) ++ -DNOMINMAX) + endif() + + if (CMAKE_COMPILER_IS_GNUCXX) +- 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 -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 +@@ -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 + ) + +-add_library (avrocpp SHARED ${AVRO_SOURCE_FILES}) ++add_library (avrocpp ${AVRO_SOURCE_FILES}) + + set_property (TARGET avrocpp + APPEND PROPERTY COMPILE_DEFINITIONS AVRO_DYN_LINK) +@@ -194,6 +180,7 @@ target_include_directories(avrocpp PUBLIC + $ + ) + ++if(BUILD_TESTING) + enable_testing() + + macro (unittest name) +@@ -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) + + set (CPACK_PACKAGE_FILE_NAME "avrocpp-${AVRO_VERSION_MAJOR}") + + include (CPack) + +-install (TARGETS avrocpp avrocpp_s +- LIBRARY DESTINATION lib +- 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-windows-build.patch b/ports/avro-cpp/fix-windows-build.patch deleted file mode 100644 index b20706fdc1485c..00000000000000 --- a/ports/avro-cpp/fix-windows-build.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff --git a/lang/c++/impl/avrogencpp.cc b/lang/c++/impl/avrogencpp.cc -index 61570413..0b6b35a2 100644 ---- a/lang/c++/impl/avrogencpp.cc -+++ b/lang/c++/impl/avrogencpp.cc -@@ -804,8 +804,8 @@ static string readGuard(const string &filename) { - - int main(int argc, char **argv) { - const string NS("namespace"); -- const string OUT("output"); -- const string IN("input"); -+ const string OUT_FILE("output"); -+ const string IN_FILE("input"); - const string INCLUDE_PREFIX("include-prefix"); - const string NO_UNION_TYPEDEF("no-union-typedef"); - -@@ -817,14 +817,14 @@ int main(int argc, char **argv) { - po::store(po::parse_command_line(argc, argv, desc), vm); - po::notify(vm); - -- if (vm.count("help") || vm.count(IN) == 0 || vm.count(OUT) == 0) { -+ if (vm.count("help") || vm.count(IN_FILE) == 0 || vm.count(OUT_FILE) == 0) { - std::cout << desc << std::endl; - return 1; - } - - string ns = vm.count(NS) > 0 ? vm[NS].as() : string(); -- string outf = vm.count(OUT) > 0 ? vm[OUT].as() : string(); -- string inf = vm.count(IN) > 0 ? vm[IN].as() : string(); -+ string outf = vm.count(OUT_FILE) > 0 ? vm[OUT_FILE].as() : string(); -+ string inf = vm.count(IN_FILE) > 0 ? vm[IN_FILE].as() : string(); - string incPrefix = vm[INCLUDE_PREFIX].as(); - bool noUnion = vm.count(NO_UNION_TYPEDEF) != 0; - if (incPrefix == "-") { diff --git a/ports/avro-cpp/install.patch b/ports/avro-cpp/install.patch deleted file mode 100644 index 1035b3bf35c8f1..00000000000000 --- a/ports/avro-cpp/install.patch +++ /dev/null @@ -1,106 +0,0 @@ -diff --git a/lang/c++/CMakeLists.txt b/lang/c++/CMakeLists.txt -index bf764ce4..e84524d0 100644 ---- a/lang/c++/CMakeLists.txt -+++ b/lang/c++/CMakeLists.txt -@@ -48,6 +48,8 @@ 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) -+ - if (WIN32 AND NOT CYGWIN AND NOT MSYS) - add_definitions (/EHa) - add_definitions ( -@@ -125,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 -@@ -160,37 +162,42 @@ 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) - --enable_testing() -+if(BUILD_TESTING) -+ enable_testing() -+endif() - - macro (unittest name) - add_executable (${name} test/${name}.cc) -- target_link_libraries (${name} avrocpp ${Boost_LIBRARIES} ${SNAPPY_LIBRARIES}) -+ 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) - --unittest (buffertest) --unittest (unittest) --unittest (SchemaTests) --unittest (LargeSchemaTests) --unittest (CodecTests) --unittest (StreamTests) --unittest (SpecificTests) --unittest (DataFileTests) --unittest (JsonTests) --unittest (AvrogencppTests) --unittest (CompilerTests) --unittest (AvrogencppTestReservedWords) -- --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) -+if(BUILD_TESTING) -+ unittest (buffertest) -+ unittest (unittest) -+ unittest (SchemaTests) -+ unittest (LargeSchemaTests) -+ unittest (CodecTests) -+ unittest (StreamTests) -+ unittest (SpecificTests) -+ unittest (DataFileTests) -+ unittest (JsonTests) -+ unittest (AvrogencppTests) -+ unittest (CompilerTests) -+ unittest (AvrogencppTestReservedWords) -+ -+ 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) -+ -+endif() - - include (InstallRequiredSystemLibraries) - -@@ -201,9 +208,9 @@ include (CPack) - install (TARGETS avrocpp avrocpp_s - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib -- RUNTIME DESTINATION lib) -+ RUNTIME DESTINATION bin) - --install (TARGETS avrogencpp RUNTIME DESTINATION bin) -+install (TARGETS avrogencpp RUNTIME DESTINATION tools/bin) - - install (DIRECTORY api/ DESTINATION include/avro - FILES_MATCHING PATTERN *.hh) diff --git a/ports/avro-cpp/portfile.cmake b/ports/avro-cpp/portfile.cmake index 43a2fd27814ffe..b6a2d8ea370f25 100644 --- a/ports/avro-cpp/portfile.cmake +++ b/ports/avro-cpp/portfile.cmake @@ -1,36 +1,52 @@ -vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO apache/avro - REF 2ab8fa85d05f04387bd5d63b10ad1c8fd2243616 - SHA512 fd21f0919b0e5e884bdf4d66c4d5ba056f04c426b309ec0b5ab26642a5f6b00d46f4dd965431b10130bc5f0d81699e2195780e90e127f63049ee5763403ef7c8 + REF "release-${VERSION}" + SHA512 8cc6ef3cf1e0a919118c8ba5817a1866dc4f891fa95873c0fe1b4b388858fbadee8ed50406fa0006882cab40807fcf00c5a2dcd500290f3868d9d06b287eacb6 HEAD_REF master PATCHES - install.patch - fix-windows-build.patch + fix-cmake.patch + fix-fmt.patch ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS INVERTED_FEATURES - snappy CMAKE_DISABLE_FIND_PACKAGE_Snappy + snappy CMAKE_DISABLE_FIND_PACKAGE_Snappy ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH}/lang/c++ - PREFER_NINJA - DISABLE_PARALLEL_CONFIGURE +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/lang/c++" OPTIONS -DBUILD_TESTING=OFF ${FEATURE_OPTIONS} - OPTIONS_DEBUG - -DAVRO_ADD_PROTECTOR_FLAGS=1 ) -vcpkg_install_cmake(ADD_BIN_TO_PATH) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-${PORT}) + +file(READ "${CURRENT_PACKAGES_DIR}/share/unofficial-avro-cpp/unofficial-avro-cpp-config.cmake" cmake_config) +if("snappy" IN_LIST FEATURES) + file(WRITE "${CURRENT_PACKAGES_DIR}/share/unofficial-avro-cpp/unofficial-avro-cpp-config.cmake" +"include(CMakeFindDependencyMacro) +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(Boost REQUIRED COMPONENTS filesystem iostreams program_options regex system) +find_dependency(fmt CONFIG) +${cmake_config} +") +endif() vcpkg_copy_pdbs() +vcpkg_copy_tools(TOOL_NAMES avrogencpp AUTO_CLEAN) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -file(INSTALL ${SOURCE_PATH}/lang/c++/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/lang/c++/LICENSE") +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/avro-cpp/usage b/ports/avro-cpp/usage new file mode 100644 index 00000000000000..243b52d86c7778 --- /dev/null +++ b/ports/avro-cpp/usage @@ -0,0 +1,4 @@ +avro-cpp provides CMake targets: + + find_package(unofficial-avro-cpp CONFIG REQUIRED) + target_link_libraries(main PRIVATE unofficial::avro-cpp::avrocpp) diff --git a/ports/avro-cpp/vcpkg.json b/ports/avro-cpp/vcpkg.json index 88c00cf79d421b..9756896069eb9d 100644 --- a/ports/avro-cpp/vcpkg.json +++ b/ports/avro-cpp/vcpkg.json @@ -1,25 +1,31 @@ { "name": "avro-cpp", - "version-date": "2021-06-01", - "port-version": 1, + "version": "1.12.0", "description": "Apache Avro is a data serialization system", "homepage": "https://github.com/apache/avro", - "supports": "!(windows & static)", + "license": "Apache-2.0", "dependencies": [ + "boost-algorithm", + "boost-any", "boost-crc", "boost-filesystem", "boost-format", "boost-iostreams", + "boost-lexical-cast", "boost-math", "boost-program-options", "boost-random", - "boost-test", - "boost-thread", - "bzip2", - "liblzma", - "libzip", - "zlib", - "zstd" + "boost-tuple", + "fmt", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "zlib" ], "features": { "snappy": { 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/fix-cmake-target-path.patch b/ports/aws-c-auth/fix-cmake-target-path.patch deleted file mode 100644 index 4eb3068a5b8a9c..00000000000000 --- a/ports/aws-c-auth/fix-cmake-target-path.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 6a00afa..eba3d43 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -118,7 +118,7 @@ else() - endif() - - install(EXPORT "${PROJECT_NAME}-targets" -- DESTINATION "${LIBRARY_DIRECTORY}/${PROJECT_NAME}/cmake/${TARGET_DIR}/" -+ DESTINATION "${LIBRARY_DIRECTORY}/${PROJECT_NAME}/cmake/" - NAMESPACE AWS:: - COMPONENT Development) - -diff --git a/cmake/aws-c-auth-config.cmake b/cmake/aws-c-auth-config.cmake -index 430c1d7..6adbe53 100644 ---- a/cmake/aws-c-auth-config.cmake -+++ b/cmake/aws-c-auth-config.cmake -@@ -5,9 +5,5 @@ find_dependency(aws-c-cal) - find_dependency(aws-c-io) - find_dependency(aws-c-http) - --if (BUILD_SHARED_LIBS) -- include(${CMAKE_CURRENT_LIST_DIR}/shared/@PROJECT_NAME@-targets.cmake) --else() -- include(${CMAKE_CURRENT_LIST_DIR}/static/@PROJECT_NAME@-targets.cmake) --endif() -+include(${CMAKE_CURRENT_LIST_DIR}/@CMAKE_PROJECT_NAME@-targets.cmake) - diff --git a/ports/aws-c-auth/portfile.cmake b/ports/aws-c-auth/portfile.cmake index c304bad4d04491..f0fb31b0a08f1d 100644 --- a/ports/aws-c-auth/portfile.cmake +++ b/ports/aws-c-auth/portfile.cmake @@ -1,39 +1,32 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO awslabs/aws-c-auth - REF 61b6524960ad5e0c7aa2e38b343425d5941781bf # v0.6.3 - SHA512 b5dda92e4a8796f3f1b8e2d326f57979a673f57325c921cdbc9c44273ada2f2a8eb6723f0292d223175ba4cca24508d2b635fad2af5ec7dd9e7b06db9588ede6 + REF "v${VERSION}" + SHA512 1847b7790590cf079785c4fb98fbcde9988cbc68254d18904a8676802bf96168e7038799642d4b67b834c6c772b7a35c6e7f7d35b93438cb9c0ceac9130e31ad HEAD_REF master - PATCHES fix-cmake-target-path.patch ) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - PREFER_NINJA OPTIONS "-DCMAKE_MODULE_PATH=${CURRENT_INSTALLED_DIR}/share/aws-c-common" # use extra cmake files + -DBUILD_TESTING=FALSE ) vcpkg_cmake_install() -vcpkg_cmake_config_fixup(CONFIG_PATH lib/aws-c-auth/cmake) - -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(REMOVE_RECURSE - "${CURRENT_PACKAGES_DIR}/bin" - "${CURRENT_PACKAGES_DIR}/debug/bin" - ) -endif() +string(REPLACE "dynamic" "shared" subdir "${VCPKG_LIBRARY_LINKAGE}") +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/${PORT}/cmake/${subdir}" DO_NOT_DELETE_PARENT_CONFIG_PATH) +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/${PORT}/cmake") +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/${PORT}/${PORT}-config.cmake" [[/${type}/]] "/") file(REMOVE_RECURSE - "${CURRENT_PACKAGES_DIR}/debug/include" - "${CURRENT_PACKAGES_DIR}/debug/lib/aws-c-auth" - "${CURRENT_PACKAGES_DIR}/lib/aws-c-auth" - ) + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/lib/${PORT}" + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/lib/${PORT}" +) vcpkg_copy_pdbs() -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/aws-c-auth/vcpkg.json b/ports/aws-c-auth/vcpkg.json index 1190e5ea9546ed..ee3f819350a25a 100644 --- a/ports/aws-c-auth/vcpkg.json +++ b/ports/aws-c-auth/vcpkg.json @@ -1,12 +1,14 @@ { "name": "aws-c-auth", - "version": "0.6.3", + "version": "0.7.31", "description": "C99 library implementation of AWS client-side authentication: standard credentials providers and signing.", "homepage": "https://github.com/awslabs/aws-c-auth", - "supports": "!arm & !uwp", + "license": "Apache-2.0", + "supports": "!(windows & arm) & !uwp", "dependencies": [ - "aws-c-common", + "aws-c-cal", "aws-c-http", + "aws-c-sdkutils", { "name": "s2n", "platform": "!uwp & !windows" diff --git a/ports/aws-c-cal/fix-cmake-target-path.patch b/ports/aws-c-cal/fix-cmake-target-path.patch deleted file mode 100644 index 25d6749b873012..00000000000000 --- a/ports/aws-c-cal/fix-cmake-target-path.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 6039819..b74b65c 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -158,7 +158,7 @@ else() - endif() - - install(EXPORT "${PROJECT_NAME}-targets" -- DESTINATION "${LIBRARY_DIRECTORY}/${PROJECT_NAME}/cmake/${TARGET_DIR}/" -+ DESTINATION "${LIBRARY_DIRECTORY}/${PROJECT_NAME}/cmake/" - NAMESPACE AWS:: - COMPONENT Development) - -diff --git a/cmake/aws-c-cal-config.cmake b/cmake/aws-c-cal-config.cmake -index 73e7311..e87c43a 100644 ---- a/cmake/aws-c-cal-config.cmake -+++ b/cmake/aws-c-cal-config.cmake -@@ -7,9 +7,5 @@ if (NOT BYO_CRYPTO AND NOT WIN32 AND NOT APPLE) - find_dependency(LibCrypto) - endif() - --if (BUILD_SHARED_LIBS) -- include(${CMAKE_CURRENT_LIST_DIR}/shared/@PROJECT_NAME@-targets.cmake) --else() -- include(${CMAKE_CURRENT_LIST_DIR}/static/@PROJECT_NAME@-targets.cmake) --endif() -+include(${CMAKE_CURRENT_LIST_DIR}/@CMAKE_PROJECT_NAME@-targets.cmake) - diff --git a/ports/aws-c-cal/portfile.cmake b/ports/aws-c-cal/portfile.cmake index c2eb3816c6a047..dc1b4e44dbb4b7 100644 --- a/ports/aws-c-cal/portfile.cmake +++ b/ports/aws-c-cal/portfile.cmake @@ -1,45 +1,33 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO awslabs/aws-c-cal - REF c4c5b175e05f2affe5e3f0203ca6c8bc5cdd8f51 # v0.5.12 - SHA512 25dd1d7f207f1324aed418555dda1c3d4ec64baf76431c9efd88fd3c34b163a2e5a6778192d2c0caf937f3efd31b2f21e6a0d0f7230684d176164da0e8bcc92e + REF "v${VERSION}" + SHA512 7c0fa1fe976e7b432b5126792bd1fad94cf5bacffb4e9a5e374e173f617722431bea880b6026c2c664372399635cbf9f129b6ad48c9aca7c087fb6f94fb81837 HEAD_REF master - PATCHES fix-cmake-target-path.patch - remove-libcrypto-messages.patch + PATCHES remove-libcrypto-messages.patch ) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - PREFER_NINJA - OPTIONS + OPTIONS "-DCMAKE_MODULE_PATH=${CURRENT_INSTALLED_DIR}/share/aws-c-common" # use extra cmake files + -DBUILD_TESTING=FALSE ) vcpkg_cmake_install() -vcpkg_cmake_config_fixup(CONFIG_PATH lib/aws-c-cal/cmake) - -vcpkg_copy_tools( - TOOL_NAMES sha256_profile - AUTO_CLEAN -) - -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(REMOVE_RECURSE - "${CURRENT_PACKAGES_DIR}/bin" - "${CURRENT_PACKAGES_DIR}/debug/bin" - ) -endif() +string(REPLACE "dynamic" "shared" subdir "${VCPKG_LIBRARY_LINKAGE}") +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/${PORT}/cmake/${subdir}" DO_NOT_DELETE_PARENT_CONFIG_PATH) +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/${PORT}/cmake") +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/${PORT}/${PORT}-config.cmake" [[/${type}/]] "/") file(REMOVE_RECURSE - "${CURRENT_PACKAGES_DIR}/debug/include" - "${CURRENT_PACKAGES_DIR}/debug/lib/aws-c-cal" - "${CURRENT_PACKAGES_DIR}/lib/aws-c-cal" - ) + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/lib/${PORT}" + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/lib/${PORT}" +) vcpkg_copy_pdbs() -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/aws-c-cal/remove-libcrypto-messages.patch b/ports/aws-c-cal/remove-libcrypto-messages.patch index 6115bb1d33683a..5a1d5dc35d01dd 100644 --- a/ports/aws-c-cal/remove-libcrypto-messages.patch +++ b/ports/aws-c-cal/remove-libcrypto-messages.patch @@ -1,14 +1,14 @@ -diff --git a/cmake/modules/FindLibCrypto.cmake b/cmake/modules/FindLibCrypto.cmake -index 564ba97..f748212 100644 ---- a/cmake/modules/FindLibCrypto.cmake -+++ b/cmake/modules/FindLibCrypto.cmake -@@ -89,9 +89,6 @@ else() - set(LIBCRYPTO_FOUND true) - set(LibCrypto_FOUND true) +diff --git a/cmake/modules/Findcrypto.cmake b/cmake/modules/Findcrypto.cmake +index fed83bb..9c1ae28 100644 +--- a/cmake/modules/Findcrypto.cmake ++++ b/cmake/modules/Findcrypto.cmake +@@ -105,9 +105,6 @@ else() + set(CRYPTO_FOUND true) + set(crypto_FOUND true) -- message(STATUS "LibCrypto Include Dir: ${LibCrypto_INCLUDE_DIR}") -- message(STATUS "LibCrypto Shared Lib: ${LibCrypto_SHARED_LIBRARY}") -- message(STATUS "LibCrypto Static Lib: ${LibCrypto_STATIC_LIBRARY}") - if (NOT TARGET crypto AND - (EXISTS "${LibCrypto_LIBRARY}") +- message(STATUS "LibCrypto Include Dir: ${crypto_INCLUDE_DIR}") +- message(STATUS "LibCrypto Shared Lib: ${crypto_SHARED_LIBRARY}") +- message(STATUS "LibCrypto Static Lib: ${crypto_STATIC_LIBRARY}") + if (NOT TARGET AWS::crypto AND + (EXISTS "${crypto_LIBRARY}") ) diff --git a/ports/aws-c-cal/vcpkg.json b/ports/aws-c-cal/vcpkg.json index 0f6d8c826a9f33..6baf2e77c75713 100644 --- a/ports/aws-c-cal/vcpkg.json +++ b/ports/aws-c-cal/vcpkg.json @@ -1,11 +1,16 @@ { "name": "aws-c-cal", - "version": "0.5.12", + "version": "0.7.4", "description": "C99 wrapper for cryptography primitives.", "homepage": "https://github.com/awslabs/aws-c-cal", - "supports": "!arm & !uwp", + "license": "Apache-2.0", + "supports": "!(windows & arm) & !uwp", "dependencies": [ "aws-c-common", + { + "name": "openssl", + "platform": "!windows & !osx" + }, { "name": "vcpkg-cmake", "host": true diff --git a/ports/aws-c-common/disable-internal-crt-option.patch b/ports/aws-c-common/disable-internal-crt-option.patch index 6fec4b214d190d..28cb478763f571 100644 --- a/ports/aws-c-common/disable-internal-crt-option.patch +++ b/ports/aws-c-common/disable-internal-crt-option.patch @@ -1,20 +1,20 @@ diff --git a/cmake/AwsCFlags.cmake b/cmake/AwsCFlags.cmake -index 249b7d5..41a31e2 100644 +index 470f6db..537536b 100644 --- a/cmake/AwsCFlags.cmake +++ b/cmake/AwsCFlags.cmake -@@ -38,15 +38,6 @@ function(aws_set_common_properties target) +@@ -82,15 +82,6 @@ function(aws_set_common_properties target) list(APPEND AWS_C_FLAGS /DAWS_SUPPORT_WIN7=1) endif() - -- string(TOUPPER "${CMAKE_BUILD_TYPE}" _CMAKE_BUILD_TYPE) -- if(STATIC_CRT) -- string(REPLACE "/MD" "/MT" _FLAGS "${CMAKE_C_FLAGS_${_CMAKE_BUILD_TYPE}}") + +- # Set MSVC runtime libary. +- # Note: there are other ways of doing this if we bump our CMake minimum to 3.14+ +- # See: https://cmake.org/cmake/help/latest/policy/CMP0091.html +- if (AWS_STATIC_MSVC_RUNTIME_LIBRARY OR STATIC_CRT) +- list(APPEND AWS_C_FLAGS "/MT$<$:d>") - else() -- string(REPLACE "/MT" "/MD" _FLAGS "${CMAKE_C_FLAGS_${_CMAKE_BUILD_TYPE}}") +- list(APPEND AWS_C_FLAGS "/MD$<$:d>") - endif() -- string(REPLACE " " ";" _FLAGS "${_FLAGS}") -- list(APPEND AWS_C_FLAGS "${_FLAGS}") - else() list(APPEND AWS_C_FLAGS -Wall -Wstrict-prototypes) - + diff --git a/ports/aws-c-common/fix-cmake-target-path.patch b/ports/aws-c-common/fix-cmake-target-path.patch deleted file mode 100644 index 9ab97f6798d6a5..00000000000000 --- a/ports/aws-c-common/fix-cmake-target-path.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 9b01f56..3cc541d 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -239,7 +239,7 @@ else() - endif() - - install(EXPORT "${PROJECT_NAME}-targets" -- DESTINATION "${LIBRARY_DIRECTORY}/${PROJECT_NAME}/cmake/${TARGET_DIR}" -+ DESTINATION "${LIBRARY_DIRECTORY}/${PROJECT_NAME}/cmake" - NAMESPACE AWS:: - COMPONENT Development) - -diff --git a/cmake/aws-c-common-config.cmake b/cmake/aws-c-common-config.cmake -index e495210..b7676c2 100644 ---- a/cmake/aws-c-common-config.cmake -+++ b/cmake/aws-c-common-config.cmake -@@ -4,9 +4,5 @@ if(WIN32 OR UNIX OR APPLE) - find_package(Threads REQUIRED) - endif() - --if (BUILD_SHARED_LIBS) -- include(${CMAKE_CURRENT_LIST_DIR}/shared/@PROJECT_NAME@-targets.cmake) --else() -- include(${CMAKE_CURRENT_LIST_DIR}/static/@PROJECT_NAME@-targets.cmake) --endif() -+include(${CMAKE_CURRENT_LIST_DIR}/@CMAKE_PROJECT_NAME@-targets.cmake) - diff --git a/ports/aws-c-common/portfile.cmake b/ports/aws-c-common/portfile.cmake index a6463c21e72f7c..79b57f894a86fc 100644 --- a/ports/aws-c-common/portfile.cmake +++ b/ports/aws-c-common/portfile.cmake @@ -1,33 +1,35 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO awslabs/aws-c-common - REF fdd4a10243903260f412f587cc748f0ac79629b4 # v0.6.9 - SHA512 969c9b85af58fc144480f6548e78126cf3fe758951ecbdffb579163b9a505a7ea58c32430390102ff620e828bf241dd24c0167f205306949d36dcf4504efa09a + REF "v${VERSION}" + SHA512 482bfeb5c7dac16486236417af0f5c0a20bc36c271aaf32088d188186861d61bf0b96c5da13a1c88853fdc6a1fb8b8db254a547c3648a659ec6e91177978dc9b HEAD_REF master PATCHES disable-internal-crt-option.patch # Disable internal crt option because vcpkg contains crt processing flow - fix-cmake-target-path.patch # Shared libraries and static libraries are not built at the same time ) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - PREFER_NINJA + OPTIONS + -DBUILD_TESTING=FALSE ) vcpkg_cmake_install() -vcpkg_cmake_config_fixup(CONFIG_PATH lib/aws-c-common/cmake) -vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake) # central macros +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +string(REPLACE "dynamic" "shared" subdir "${VCPKG_LIBRARY_LINKAGE}") +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/${PORT}/cmake/${subdir}" DO_NOT_DELETE_PARENT_CONFIG_PATH) +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/${PORT}/cmake") +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/${PORT}/${PORT}-config.cmake" [[/${type}/]] "/") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" - "${CURRENT_PACKAGES_DIR}/debug/lib/aws-c-common" - "${CURRENT_PACKAGES_DIR}/lib/aws-c-common" - ) + "${CURRENT_PACKAGES_DIR}/debug/lib/${PORT}" + "${CURRENT_PACKAGES_DIR}/lib/${PORT}" +) vcpkg_copy_pdbs() -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/aws-c-common/vcpkg.json b/ports/aws-c-common/vcpkg.json index 4b629754e30a87..20469aaef6e2e0 100644 --- a/ports/aws-c-common/vcpkg.json +++ b/ports/aws-c-common/vcpkg.json @@ -1,9 +1,10 @@ { "name": "aws-c-common", - "version": "0.6.9", + "version": "0.9.30", "description": "AWS common library for C", "homepage": "https://github.com/awslabs/aws-c-common", - "supports": "!arm & !uwp", + "license": "Apache-2.0", + "supports": "!(windows & arm) & !uwp", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/aws-c-compression/fix-cmake-target-path.patch b/ports/aws-c-compression/fix-cmake-target-path.patch deleted file mode 100644 index 035b96cae06245..00000000000000 --- a/ports/aws-c-compression/fix-cmake-target-path.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index e70e013..0639229 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -88,7 +88,7 @@ else() - endif() - - install(EXPORT "${PROJECT_NAME}-targets" -- DESTINATION "${LIBRARY_DIRECTORY}/${PROJECT_NAME}/cmake/${TARGET_DIR}" -+ DESTINATION "${LIBRARY_DIRECTORY}/${PROJECT_NAME}/cmake/" - NAMESPACE AWS:: - COMPONENT Development) - -diff --git a/cmake/aws-c-compression-config.cmake b/cmake/aws-c-compression-config.cmake -index d919e90..707ce3a 100644 ---- a/cmake/aws-c-compression-config.cmake -+++ b/cmake/aws-c-compression-config.cmake -@@ -2,9 +2,5 @@ include(CMakeFindDependencyMacro) - - find_dependency(aws-c-common) - --if (BUILD_SHARED_LIBS) -- include(${CMAKE_CURRENT_LIST_DIR}/shared/@PROJECT_NAME@-targets.cmake) --else() -- include(${CMAKE_CURRENT_LIST_DIR}/static/@PROJECT_NAME@-targets.cmake) --endif() -+include(${CMAKE_CURRENT_LIST_DIR}/@CMAKE_PROJECT_NAME@-targets.cmake) - diff --git a/ports/aws-c-compression/portfile.cmake b/ports/aws-c-compression/portfile.cmake index 53c9d1e002248f..1840cd27d85d5c 100644 --- a/ports/aws-c-compression/portfile.cmake +++ b/ports/aws-c-compression/portfile.cmake @@ -1,32 +1,32 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO awslabs/aws-c-compression - REF 5fab8bc5ab5321d86f6d153b06062419080820ec # v0.2.14 - SHA512 0063d0d644824d858211840115c17a33bfc2b67799e886c530ea8a42071b7bfc67bb6cf8135c538a292b8a7a6276b1d24bb7649f37ce335bc16938f2fca5cb7d + REF "v${VERSION}" + SHA512 8af6b6ff78fbcb37bf858d0b56cb371974742aa769f08581d0efb6262b93f5c01203b6fcce7f3e9d78c915379d2c75e0c677a374793d8cdd1302961c7299553d HEAD_REF master - PATCHES fix-cmake-target-path.patch ) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - PREFER_NINJA OPTIONS "-DCMAKE_MODULE_PATH=${CURRENT_INSTALLED_DIR}/share/aws-c-common" # use extra cmake files + -DBUILD_TESTING=FALSE ) vcpkg_cmake_install() -vcpkg_cmake_config_fixup(CONFIG_PATH lib/aws-c-compression/cmake) +string(REPLACE "dynamic" "shared" subdir "${VCPKG_LIBRARY_LINKAGE}") +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/${PORT}/cmake/${subdir}" DO_NOT_DELETE_PARENT_CONFIG_PATH) +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/${PORT}/cmake") +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/${PORT}/${PORT}-config.cmake" [[/${type}/]] "/") file(REMOVE_RECURSE - "${CURRENT_PACKAGES_DIR}/debug/include" - "${CURRENT_PACKAGES_DIR}/debug/lib/aws-c-compression" - "${CURRENT_PACKAGES_DIR}/lib/aws-c-compression" + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/lib/${PORT}" + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/lib/${PORT}" ) vcpkg_copy_pdbs() -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/aws-c-compression/vcpkg.json b/ports/aws-c-compression/vcpkg.json index 1a9c1573543807..521cb41d8f563f 100644 --- a/ports/aws-c-compression/vcpkg.json +++ b/ports/aws-c-compression/vcpkg.json @@ -1,9 +1,10 @@ { "name": "aws-c-compression", - "version": "0.2.14", + "version": "0.2.19", "description": "C99 implementation of huffman encoding/decoding", "homepage": "https://github.com/awslabs/aws-c-compression", - "supports": "!arm & !uwp", + "license": "Apache-2.0", + "supports": "!(windows & arm) & !uwp", "dependencies": [ "aws-c-common", { diff --git a/ports/aws-c-event-stream/fix-cmake-target-path.patch b/ports/aws-c-event-stream/fix-cmake-target-path.patch deleted file mode 100644 index 37d28ca9bc5015..00000000000000 --- a/ports/aws-c-event-stream/fix-cmake-target-path.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index daf434c..32d7851 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -91,7 +91,7 @@ else() - endif() - - install(EXPORT "${PROJECT_NAME}-targets" -- DESTINATION "${LIBRARY_DIRECTORY}/${PROJECT_NAME}/cmake/${TARGET_DIR}/" -+ DESTINATION "${LIBRARY_DIRECTORY}/${PROJECT_NAME}/cmake/" - NAMESPACE AWS:: - COMPONENT Development) - -diff --git a/cmake/aws-c-event-stream-config.cmake b/cmake/aws-c-event-stream-config.cmake -index 76adb84..7884368 100644 ---- a/cmake/aws-c-event-stream-config.cmake -+++ b/cmake/aws-c-event-stream-config.cmake -@@ -2,9 +2,5 @@ include(CMakeFindDependencyMacro) - find_dependency(aws-c-io) - find_dependency(aws-checksums) - --if (BUILD_SHARED_LIBS) -- include(${CMAKE_CURRENT_LIST_DIR}/shared/@PROJECT_NAME@-targets.cmake) --else() -- include(${CMAKE_CURRENT_LIST_DIR}/static/@PROJECT_NAME@-targets.cmake) --endif() -+include(${CMAKE_CURRENT_LIST_DIR}/@CMAKE_PROJECT_NAME@-targets.cmake) - diff --git a/ports/aws-c-event-stream/portfile.cmake b/ports/aws-c-event-stream/portfile.cmake index c1c307aa9e9d8e..8e7b289451788e 100644 --- a/ports/aws-c-event-stream/portfile.cmake +++ b/ports/aws-c-event-stream/portfile.cmake @@ -1,32 +1,32 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO awslabs/aws-c-event-stream - REF e87537be561d753ec82e783bc0929b1979c585f8 # v0.2.7 - SHA512 651b05ba6d87ad8f65f6cf7e8940b7ea500722848f3e65c2de0bf84d2e6321d0aa1631d4f64a78cf5ed5ed5adac6805a4e91e5c31b3ae86e8c37afb38da4c786 + REF "v${VERSION}" + SHA512 522ddc326dfc1865664727a48bcef041ecd3aa40a1fe8e680055059796a31d606a126ed73d8953b77935306ac26e162cc901b813b1ae3ba816a33122f2abc6ce HEAD_REF master - PATCHES fix-cmake-target-path.patch ) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - PREFER_NINJA - OPTIONS - "-DCMAKE_MODULE_PATH=${CURRENT_INSTALLED_DIR}/share/aws-c-common" + OPTIONS + "-DCMAKE_MODULE_PATH=${CURRENT_INSTALLED_DIR}/share/aws-c-common" + -DBUILD_TESTING=FALSE ) vcpkg_cmake_install() -vcpkg_cmake_config_fixup(CONFIG_PATH lib/aws-c-event-stream/cmake) +string(REPLACE "dynamic" "shared" subdir "${VCPKG_LIBRARY_LINKAGE}") +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/${PORT}/cmake/${subdir}" DO_NOT_DELETE_PARENT_CONFIG_PATH) +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/${PORT}/cmake") +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/${PORT}/${PORT}-config.cmake" [[/${type}/]] "/") file(REMOVE_RECURSE - "${CURRENT_PACKAGES_DIR}/debug/include" - "${CURRENT_PACKAGES_DIR}/debug/lib/aws-c-event-stream" - "${CURRENT_PACKAGES_DIR}/lib/aws-c-event-stream" - ) + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/lib/${PORT}" + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/lib/${PORT}" +) vcpkg_copy_pdbs() -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/aws-c-event-stream/vcpkg.json b/ports/aws-c-event-stream/vcpkg.json index de4c3296beea8e..f6d67804cc3e75 100644 --- a/ports/aws-c-event-stream/vcpkg.json +++ b/ports/aws-c-event-stream/vcpkg.json @@ -1,11 +1,11 @@ { "name": "aws-c-event-stream", - "version": "0.2.7", + "version": "0.4.3", "description": "C99 implementation of the vnd.amazon.event-stream content-type.", "homepage": "https://github.com/awslabs/aws-c-event-stream", - "supports": "!arm & !uwp", + "license": "Apache-2.0", + "supports": "!(windows & arm) & !uwp", "dependencies": [ - "aws-c-cal", "aws-c-common", "aws-c-io", "aws-checksums", diff --git a/ports/aws-c-http/fix-cmake-target-path.patch b/ports/aws-c-http/fix-cmake-target-path.patch deleted file mode 100644 index 1e2f4020913c51..00000000000000 --- a/ports/aws-c-http/fix-cmake-target-path.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 7b0d8e5..d46b498 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -83,7 +83,7 @@ else() - endif() - - install(EXPORT "${PROJECT_NAME}-targets" -- DESTINATION "${LIBRARY_DIRECTORY}/${PROJECT_NAME}/cmake/${TARGET_DIR}/" -+ DESTINATION "${LIBRARY_DIRECTORY}/${PROJECT_NAME}/cmake/" - NAMESPACE AWS:: - COMPONENT Development) - -diff --git a/cmake/aws-c-http-config.cmake b/cmake/aws-c-http-config.cmake -index 8633305..eb7f364 100644 ---- a/cmake/aws-c-http-config.cmake -+++ b/cmake/aws-c-http-config.cmake -@@ -3,9 +3,5 @@ include(CMakeFindDependencyMacro) - find_dependency(aws-c-io) - find_dependency(aws-c-compression) - --if (BUILD_SHARED_LIBS) -- include(${CMAKE_CURRENT_LIST_DIR}/shared/@PROJECT_NAME@-targets.cmake) --else() -- include(${CMAKE_CURRENT_LIST_DIR}/static/@PROJECT_NAME@-targets.cmake) --endif() -+include(${CMAKE_CURRENT_LIST_DIR}/@CMAKE_PROJECT_NAME@-targets.cmake) - diff --git a/ports/aws-c-http/portfile.cmake b/ports/aws-c-http/portfile.cmake index 032f9a22481de2..ccac21019dcb92 100644 --- a/ports/aws-c-http/portfile.cmake +++ b/ports/aws-c-http/portfile.cmake @@ -1,44 +1,32 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO awslabs/aws-c-http - REF 6ff61d621c374ab763f94584d26b1d29baa81c2e # v0.6.5 - SHA512 91a5f3c18e6c8d14368ad2b7275a1ebcc6398758f6b1f87ba6199998390a26e768e25c16b27f589e35371f7304b6784cfc21699ff724c811135f2f73732fe85b + REF "v${VERSION}" + SHA512 32b7e83ddae5997771136a5c7a6a7890b8cfa7f8808961e108e1519a9b85a39cccc4f0435526cebd3950607d530b6eb1645692dad4677b5f81f73dcc23ce5be0 HEAD_REF master - PATCHES fix-cmake-target-path.patch ) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - PREFER_NINJA OPTIONS "-DCMAKE_MODULE_PATH=${CURRENT_INSTALLED_DIR}/share/aws-c-common" # use extra cmake files + -DBUILD_TESTING=FALSE ) vcpkg_cmake_install() -vcpkg_cmake_config_fixup(CONFIG_PATH lib/aws-c-http/cmake) - -vcpkg_copy_tools( - TOOL_NAMES elasticurl - AUTO_CLEAN -) - -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(REMOVE_RECURSE - "${CURRENT_PACKAGES_DIR}/bin" - "${CURRENT_PACKAGES_DIR}/debug/bin" - ) -endif() +string(REPLACE "dynamic" "shared" subdir "${VCPKG_LIBRARY_LINKAGE}") +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/${PORT}/cmake/${subdir}" DO_NOT_DELETE_PARENT_CONFIG_PATH) +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/${PORT}/cmake") +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/${PORT}/${PORT}-config.cmake" [[/${type}/]] "/") file(REMOVE_RECURSE - "${CURRENT_PACKAGES_DIR}/debug/include" - "${CURRENT_PACKAGES_DIR}/debug/lib/aws-c-http" - "${CURRENT_PACKAGES_DIR}/lib/aws-c-http" - ) + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/lib/${PORT}" + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/lib/${PORT}" +) vcpkg_copy_pdbs() -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/aws-c-http/vcpkg.json b/ports/aws-c-http/vcpkg.json index af730c155b7974..975292e57cccad 100644 --- a/ports/aws-c-http/vcpkg.json +++ b/ports/aws-c-http/vcpkg.json @@ -1,9 +1,10 @@ { "name": "aws-c-http", - "version": "0.6.5", + "version": "0.8.10", "description": "C99 implementation of the HTTP/1.1 and HTTP/2 specifications", "homepage": "https://github.com/awslabs/aws-c-http", - "supports": "!arm & !uwp", + "license": "Apache-2.0", + "supports": "!(windows & arm) & !uwp", "dependencies": [ "aws-c-cal", "aws-c-common", diff --git a/ports/aws-c-io/fix-cmake-target-path.patch b/ports/aws-c-io/fix-cmake-target-path.patch deleted file mode 100644 index ca5d575e443e71..00000000000000 --- a/ports/aws-c-io/fix-cmake-target-path.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index a8a9099..a657782 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -215,7 +215,7 @@ else() - endif() - - install(EXPORT "${PROJECT_NAME}-targets" -- DESTINATION "${LIBRARY_DIRECTORY}/${PROJECT_NAME}/cmake/${TARGET_DIR}" -+ DESTINATION "${LIBRARY_DIRECTORY}/${PROJECT_NAME}/cmake/" - NAMESPACE AWS:: - COMPONENT Development) - -diff --git a/cmake/aws-c-io-config.cmake b/cmake/aws-c-io-config.cmake -index d4bc525..72a78ec 100644 ---- a/cmake/aws-c-io-config.cmake -+++ b/cmake/aws-c-io-config.cmake -@@ -7,8 +7,4 @@ endif() - find_dependency(aws-c-common) - find_dependency(aws-c-cal) - --if (BUILD_SHARED_LIBS) -- include(${CMAKE_CURRENT_LIST_DIR}/shared/@PROJECT_NAME@-targets.cmake) --else() -- include(${CMAKE_CURRENT_LIST_DIR}/static/@PROJECT_NAME@-targets.cmake) --endif() -+include(${CMAKE_CURRENT_LIST_DIR}/@CMAKE_PROJECT_NAME@-targets.cmake) diff --git a/ports/aws-c-io/portfile.cmake b/ports/aws-c-io/portfile.cmake index 6b9e7eba4975c7..c3b3e19121da9f 100644 --- a/ports/aws-c-io/portfile.cmake +++ b/ports/aws-c-io/portfile.cmake @@ -1,32 +1,32 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO awslabs/aws-c-io - REF 57b00febac48e78f8bf8cff4c82a249e6648842a # v0.10.7 - SHA512 ffcf5ba4ccdff23ca390fc4eb935f88040447589886348234aa1c24b531401521df99a6ac578c1679a3c1a06dfcef6deb833a0b9d53e31d42576a3ad03ade6fc + REF "v${VERSION}" + SHA512 3e690edc5a13bd603fd28917d60e3f96f1796bfc8194c1f9632447a94e02dc0be8297e3b96752cffb70a21d75fc57825acd64a99680189f9a3216e9ec6c3fa9f HEAD_REF master - PATCHES fix-cmake-target-path.patch ) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - PREFER_NINJA - OPTIONS + OPTIONS "-DCMAKE_MODULE_PATH=${CURRENT_INSTALLED_DIR}/share/aws-c-common" # use extra cmake files + -DBUILD_TESTING=FALSE ) vcpkg_cmake_install() -vcpkg_cmake_config_fixup(CONFIG_PATH lib/aws-c-io/cmake) +string(REPLACE "dynamic" "shared" subdir "${VCPKG_LIBRARY_LINKAGE}") +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/${PORT}/cmake/${subdir}" DO_NOT_DELETE_PARENT_CONFIG_PATH) +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/${PORT}/cmake") +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/${PORT}/${PORT}-config.cmake" [[/${type}/]] "/") file(REMOVE_RECURSE - "${CURRENT_PACKAGES_DIR}/debug/include" - "${CURRENT_PACKAGES_DIR}/debug/lib/aws-c-io" - "${CURRENT_PACKAGES_DIR}/lib/aws-c-io" - ) + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/lib/${PORT}" + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/lib/${PORT}" +) vcpkg_copy_pdbs() -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/aws-c-io/vcpkg.json b/ports/aws-c-io/vcpkg.json index 411589807e7367..f514cc0b704541 100644 --- a/ports/aws-c-io/vcpkg.json +++ b/ports/aws-c-io/vcpkg.json @@ -1,9 +1,10 @@ { "name": "aws-c-io", - "version": "0.10.7", + "version": "0.14.18", "description": "Handles all IO and TLS work for application protocols.", "homepage": "https://github.com/awslabs/aws-c-io", - "supports": "!arm & !uwp", + "license": "Apache-2.0", + "supports": "!(windows & arm) & !uwp", "dependencies": [ "aws-c-cal", "aws-c-common", diff --git a/ports/aws-c-mqtt/fix-cmake-target-path.patch b/ports/aws-c-mqtt/fix-cmake-target-path.patch deleted file mode 100644 index 9490f42b90c38c..00000000000000 --- a/ports/aws-c-mqtt/fix-cmake-target-path.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 3d80abb..36c027f 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -94,7 +94,7 @@ else() - endif() - - install(EXPORT "${PROJECT_NAME}-targets" -- DESTINATION "${LIBRARY_DIRECTORY}/${PROJECT_NAME}/cmake/${TARGET_DIR}" -+ DESTINATION "${LIBRARY_DIRECTORY}/${PROJECT_NAME}/cmake/" - NAMESPACE AWS:: - COMPONENT Development) - -diff --git a/cmake/aws-c-mqtt-config.cmake b/cmake/aws-c-mqtt-config.cmake -index 4a4dcbb..2ad48d2 100644 ---- a/cmake/aws-c-mqtt-config.cmake -+++ b/cmake/aws-c-mqtt-config.cmake -@@ -6,9 +6,5 @@ if (@MQTT_WITH_WEBSOCKETS@) - find_dependency(aws-c-http) - endif() - --if (BUILD_SHARED_LIBS) -- include(${CMAKE_CURRENT_LIST_DIR}/shared/@PROJECT_NAME@-targets.cmake) --else() -- include(${CMAKE_CURRENT_LIST_DIR}/static/@PROJECT_NAME@-targets.cmake) --endif() -+include(${CMAKE_CURRENT_LIST_DIR}/@CMAKE_PROJECT_NAME@-targets.cmake) - diff --git a/ports/aws-c-mqtt/portfile.cmake b/ports/aws-c-mqtt/portfile.cmake index 1df85966aa42fb..cb8fa4ad5cbd7f 100644 --- a/ports/aws-c-mqtt/portfile.cmake +++ b/ports/aws-c-mqtt/portfile.cmake @@ -1,44 +1,32 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO awslabs/aws-c-mqtt - REF 0a70bf814845e487b7e4862af7ad9e4a1199b5f4 # v0.7.6 - SHA512 9c8719004e9e4c56f270c5c5dcb41b5ecacb050dadf2a548ab2119a1a8f223c9117829346e2e86c8c77f6efe3502019085344fe4f470ccdd646dc87a3d4f4c3f + REF "v${VERSION}" + SHA512 4384d20020ee9dbb84db9db7c4feb32477f42990bf4c1412e48184675f10d9056b4433d825056ed8302654788dd1131c3150e99cb173c92520695f8d09311fe3 HEAD_REF master - PATCHES fix-cmake-target-path.patch ) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - PREFER_NINJA OPTIONS - "-DCMAKE_MODULE_PATH=${CURRENT_INSTALLED_DIR}/share/aws-c-common" # use extra cmake files + "-DCMAKE_MODULE_PATH=${CURRENT_INSTALLED_DIR}/share/aws-c-common" # use extra cmake files + -DBUILD_TESTING=FALSE ) vcpkg_cmake_install() -vcpkg_cmake_config_fixup(CONFIG_PATH lib/aws-c-mqtt/cmake) - -vcpkg_copy_tools( - TOOL_NAMES elastipubsub - AUTO_CLEAN -) - -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(REMOVE_RECURSE - "${CURRENT_PACKAGES_DIR}/bin" - "${CURRENT_PACKAGES_DIR}/debug/bin" - ) -endif() +string(REPLACE "dynamic" "shared" subdir "${VCPKG_LIBRARY_LINKAGE}") +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/${PORT}/cmake/${subdir}" DO_NOT_DELETE_PARENT_CONFIG_PATH) +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/${PORT}/cmake") +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/${PORT}/${PORT}-config.cmake" [[/${type}/]] "/") file(REMOVE_RECURSE - "${CURRENT_PACKAGES_DIR}/debug/include" - "${CURRENT_PACKAGES_DIR}/debug/lib/aws-c-mqtt" - "${CURRENT_PACKAGES_DIR}/lib/aws-c-mqtt" - ) + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/lib/${PORT}" + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/lib/${PORT}" +) vcpkg_copy_pdbs() -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/aws-c-mqtt/vcpkg.json b/ports/aws-c-mqtt/vcpkg.json index 540a2c32d91b63..5186e33c1e919e 100644 --- a/ports/aws-c-mqtt/vcpkg.json +++ b/ports/aws-c-mqtt/vcpkg.json @@ -1,10 +1,13 @@ { "name": "aws-c-mqtt", - "version": "0.7.6", + "version": "0.10.7", "description": "C99 implementation of the MQTT 3.1.1 specification.", "homepage": "https://github.com/awslabs/aws-c-mqtt", - "supports": "!arm & !uwp", + "license": "Apache-2.0", + "supports": "!(windows & arm) & !uwp", "dependencies": [ + "aws-c-http", + "aws-c-io", { "name": "s2n", "platform": "!uwp & !windows" diff --git a/ports/aws-c-s3/fix-cmake-target-path.patch b/ports/aws-c-s3/fix-cmake-target-path.patch deleted file mode 100644 index cedeca96a9f7b7..00000000000000 --- a/ports/aws-c-s3/fix-cmake-target-path.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 318b299..43f6d31 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -104,7 +104,7 @@ else() - endif() - - install(EXPORT "${PROJECT_NAME}-targets" -- DESTINATION "${LIBRARY_DIRECTORY}/${PROJECT_NAME}/cmake/${TARGET_DIR}/" -+ DESTINATION "${LIBRARY_DIRECTORY}/${PROJECT_NAME}/cmake/" - NAMESPACE AWS:: - COMPONENT Development) - -diff --git a/cmake/aws-c-s3-config.cmake b/cmake/aws-c-s3-config.cmake -index eb62a4b..24debd9 100644 ---- a/cmake/aws-c-s3-config.cmake -+++ b/cmake/aws-c-s3-config.cmake -@@ -3,8 +3,4 @@ include(CMakeFindDependencyMacro) - find_dependency(aws-c-auth) - find_dependency(aws-c-http) - --if (BUILD_SHARED_LIBS) -- include(${CMAKE_CURRENT_LIST_DIR}/shared/@PROJECT_NAME@-targets.cmake) --else() -- include(${CMAKE_CURRENT_LIST_DIR}/static/@PROJECT_NAME@-targets.cmake) --endif() -+include(${CMAKE_CURRENT_LIST_DIR}/@CMAKE_PROJECT_NAME@-targets.cmake) -\ No newline at end of file diff --git a/ports/aws-c-s3/portfile.cmake b/ports/aws-c-s3/portfile.cmake index e6193fa6501a78..947c5807e4a001 100644 --- a/ports/aws-c-s3/portfile.cmake +++ b/ports/aws-c-s3/portfile.cmake @@ -1,39 +1,32 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO awslabs/aws-c-s3 - REF e38bdad12bd4c618e8d10489374d87e6ae3f7a19 # v0.1.25 - SHA512 1ed3313419416ce28373968cb692cf67230b1efced4e187cd5047b146db3bc769dc283dff1af2e41b05ad6f50cbeea58718a34945a93645abacca2515f2a6cf1 + REF "v${VERSION}" + SHA512 20e364b50fdbf9cc0c9c515ccf15410c5771c545d585274db97e77f0459b05b3d7af82863a926d373d93590276020778345744db7e7ca575e686cd9bc627f8e2 HEAD_REF master - PATCHES fix-cmake-target-path.patch ) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - PREFER_NINJA OPTIONS "-DCMAKE_MODULE_PATH=${CURRENT_INSTALLED_DIR}/share/aws-c-common" # use extra cmake files + -DBUILD_TESTING=FALSE ) vcpkg_cmake_install() -vcpkg_cmake_config_fixup(CONFIG_PATH lib/aws-c-s3/cmake) - -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(REMOVE_RECURSE - "${CURRENT_PACKAGES_DIR}/bin" - "${CURRENT_PACKAGES_DIR}/debug/bin" - ) -endif() +string(REPLACE "dynamic" "shared" subdir "${VCPKG_LIBRARY_LINKAGE}") +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/${PORT}/cmake/${subdir}" DO_NOT_DELETE_PARENT_CONFIG_PATH) +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/${PORT}/cmake") +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/${PORT}/${PORT}-config.cmake" [[/${type}/]] "/") file(REMOVE_RECURSE - "${CURRENT_PACKAGES_DIR}/debug/include" - "${CURRENT_PACKAGES_DIR}/debug/lib/aws-c-s3" - "${CURRENT_PACKAGES_DIR}/lib/aws-c-s3" - ) + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/lib/${PORT}" + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/lib/${PORT}" +) vcpkg_copy_pdbs() -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/aws-c-s3/vcpkg.json b/ports/aws-c-s3/vcpkg.json index 041c095d1458c7..832c6a20e99d95 100644 --- a/ports/aws-c-s3/vcpkg.json +++ b/ports/aws-c-s3/vcpkg.json @@ -1,16 +1,15 @@ { "name": "aws-c-s3", - "version": "0.1.25", + "version": "0.6.6", "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", - "supports": "!arm & !uwp", + "license": "Apache-2.0", + "supports": "!(windows & arm) & !uwp", "dependencies": [ "aws-c-auth", - "aws-c-cal", - "aws-c-common", - "aws-c-compression", "aws-c-http", - "aws-c-io", + "aws-c-sdkutils", + "aws-checksums", { "name": "s2n", "platform": "!uwp & !windows" diff --git a/ports/aws-c-sdkutils/portfile.cmake b/ports/aws-c-sdkutils/portfile.cmake new file mode 100644 index 00000000000000..bc990b20f9f9be --- /dev/null +++ b/ports/aws-c-sdkutils/portfile.cmake @@ -0,0 +1,32 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO awslabs/aws-c-sdkutils + REF "v${VERSION}" + SHA512 a92576c7a4188a2cfa0cacac06ca363bc34dd86c8e8eed20d61aeeee08ed700f4c90d2cbc49a50214bb95fdc1de2fc4c344bcfb12aaeaa12bfe855fe3c585999 + HEAD_REF master +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + "-DCMAKE_MODULE_PATH=${CURRENT_INSTALLED_DIR}/share/aws-c-common" # use extra cmake files + -DBUILD_TESTING=FALSE +) + +vcpkg_cmake_install() + +string(REPLACE "dynamic" "shared" subdir "${VCPKG_LIBRARY_LINKAGE}") +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/${PORT}/cmake/${subdir}" DO_NOT_DELETE_PARENT_CONFIG_PATH) +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/${PORT}/cmake") +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/${PORT}/${PORT}-config.cmake" [[/${type}/]] "/") + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/lib/${PORT}" + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/lib/${PORT}" +) + +vcpkg_copy_pdbs() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/aws-c-sdkutils/vcpkg.json b/ports/aws-c-sdkutils/vcpkg.json new file mode 100644 index 00000000000000..ff87434be6161b --- /dev/null +++ b/ports/aws-c-sdkutils/vcpkg.json @@ -0,0 +1,19 @@ +{ + "name": "aws-c-sdkutils", + "version": "0.1.19", + "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", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/aws-checksums/fix-cmake-target-path.patch b/ports/aws-checksums/fix-cmake-target-path.patch deleted file mode 100644 index 101a5379f28b68..00000000000000 --- a/ports/aws-checksums/fix-cmake-target-path.patch +++ /dev/null @@ -1,25 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 888742b..efdd817 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -140,7 +140,7 @@ else() - endif() - - install(EXPORT "${PROJECT_NAME}-targets" -- DESTINATION "${LIBRARY_DIRECTORY}/${PROJECT_NAME}/cmake/${TARGET_DIR}" -+ DESTINATION "${LIBRARY_DIRECTORY}/${PROJECT_NAME}/cmake/" - NAMESPACE AWS:: - COMPONENT Development) - -diff --git a/cmake/aws-checksums-config.cmake b/cmake/aws-checksums-config.cmake -index 6de2e44..84d55d1 100644 ---- a/cmake/aws-checksums-config.cmake -+++ b/cmake/aws-checksums-config.cmake -@@ -1,6 +1,2 @@ --if (BUILD_SHARED_LIBS) -- include(${CMAKE_CURRENT_LIST_DIR}/shared/@PROJECT_NAME@-targets.cmake) --else() -- include(${CMAKE_CURRENT_LIST_DIR}/static/@PROJECT_NAME@-targets.cmake) --endif() -+include(${CMAKE_CURRENT_LIST_DIR}/@CMAKE_PROJECT_NAME@-targets.cmake) - diff --git a/ports/aws-checksums/portfile.cmake b/ports/aws-checksums/portfile.cmake index eaeab3ea9d39e2..9892b11ee3cce6 100644 --- a/ports/aws-checksums/portfile.cmake +++ b/ports/aws-checksums/portfile.cmake @@ -1,10 +1,9 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO awslabs/aws-checksums - REF 99bb0ad4b89d335d638536694352c45e0d2188f5 # v0.1.11 - SHA512 cb9c249496fd41fda1efb9330e823d8b965adca6c8f372a50fe97eda821e277780bf9af8f5977102c44121568993cca55edbb750967b41f323e07e06a93c50a8 + REF "v${VERSION}" + SHA512 9a352ef1a26032260874d0d78511c308ac49e074b27c1819fb9ae1ccc92decffb1c1a737aa4a18873e210e9df264a35cec4e7f4c4b406af0ff35ecd9f42b58d0 HEAD_REF master - PATCHES fix-cmake-target-path.patch ) if (VCPKG_CRT_LINKAGE STREQUAL static) @@ -15,25 +14,26 @@ endif() vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - PREFER_NINJA OPTIONS - "-DSTATIC_CRT=${STATIC_CRT_LNK}" + -DSTATIC_CRT=${STATIC_CRT_LNK} "-DCMAKE_MODULE_PATH=${CURRENT_INSTALLED_DIR}/share/aws-c-common" # use extra cmake files + -DBUILD_TESTING=FALSE ) vcpkg_cmake_install() -vcpkg_cmake_config_fixup(CONFIG_PATH lib/aws-checksums/cmake) +string(REPLACE "dynamic" "shared" subdir "${VCPKG_LIBRARY_LINKAGE}") +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/${PORT}/cmake/${subdir}" DO_NOT_DELETE_PARENT_CONFIG_PATH) +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/${PORT}/cmake") +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/${PORT}/${PORT}-config.cmake" [[/${type}/]] "/") file(REMOVE_RECURSE - "${CURRENT_PACKAGES_DIR}/debug/include" - "${CURRENT_PACKAGES_DIR}/debug/lib/aws-checksums" - "${CURRENT_PACKAGES_DIR}/lib/aws-checksums" + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/lib/${PORT}" + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/lib/${PORT}" ) vcpkg_copy_pdbs() -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/aws-checksums/vcpkg.json b/ports/aws-checksums/vcpkg.json index 7eb487646441d2..23f4022f1e3a91 100644 --- a/ports/aws-checksums/vcpkg.json +++ b/ports/aws-checksums/vcpkg.json @@ -1,10 +1,10 @@ { "name": "aws-checksums", - "version": "0.1.11", - "port-version": 1, + "version": "0.1.20", "description": "Cross-Platform HW accelerated CRC32c and CRC32 with fallback to efficient SW implementations.", "homepage": "https://github.com/awslabs/aws-checksums", - "supports": "!arm", + "license": "Apache-2.0", + "supports": "!(windows & arm)", "dependencies": [ "aws-c-common", { diff --git a/ports/aws-crt-cpp/fix-cmake-target-path.patch b/ports/aws-crt-cpp/fix-cmake-target-path.patch deleted file mode 100644 index 69158ef742fb2a..00000000000000 --- a/ports/aws-crt-cpp/fix-cmake-target-path.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 4d935e2..7b0501c 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -338,7 +338,7 @@ else() - endif() - - install(EXPORT "${PROJECT_NAME}-targets" -- DESTINATION "${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME}/cmake/${TARGET_DIR}" -+ DESTINATION "${LIBRARY_DIRECTORY}/${PROJECT_NAME}/cmake/" - NAMESPACE AWS:: - COMPONENT Development) - -diff --git a/cmake/aws-crt-cpp-config.cmake b/cmake/aws-crt-cpp-config.cmake -index 4b20a07..faac626 100644 ---- a/cmake/aws-crt-cpp-config.cmake -+++ b/cmake/aws-crt-cpp-config.cmake -@@ -7,8 +7,4 @@ find_dependency(aws-c-auth) - find_dependency(aws-c-event-stream) - find_dependency(aws-c-s3) - --if (BUILD_SHARED_LIBS) -- include(${CMAKE_CURRENT_LIST_DIR}/shared/@PROJECT_NAME@-targets.cmake) --else () -- include(${CMAKE_CURRENT_LIST_DIR}/static/@PROJECT_NAME@-targets.cmake) --endif() -+include(${CMAKE_CURRENT_LIST_DIR}/@CMAKE_PROJECT_NAME@-targets.cmake) -\ No newline at end of file diff --git a/ports/aws-crt-cpp/no-werror.patch b/ports/aws-crt-cpp/no-werror.patch new file mode 100644 index 00000000000000..27b7c8f8ab6ee9 --- /dev/null +++ b/ports/aws-crt-cpp/no-werror.patch @@ -0,0 +1,15 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +--- a/CMakeLists.txt (revision f2adef31d778cfe90b8a5bb377425f825ebf92f0) ++++ b/CMakeLists.txt (date 1675009099302) +@@ -337,9 +337,9 @@ + # set extra warning flags + if(AWS_WARNINGS_ARE_ERRORS) + if(MSVC) +- target_compile_options(${PROJECT_NAME} PRIVATE /W4 /WX /wd4068) ++ target_compile_options(${PROJECT_NAME} PRIVATE /W4 /wd4068) + else() +- target_compile_options(${PROJECT_NAME} PRIVATE -Wall -Wno-long-long -pedantic -Werror) ++ target_compile_options(${PROJECT_NAME} PRIVATE -Wall -Wno-long-long -pedantic) + endif() + endif() + diff --git a/ports/aws-crt-cpp/portfile.cmake b/ports/aws-crt-cpp/portfile.cmake index ffef30e943ad6c..66d3e414a55590 100644 --- a/ports/aws-crt-cpp/portfile.cmake +++ b/ports/aws-crt-cpp/portfile.cmake @@ -1,10 +1,10 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO awslabs/aws-crt-cpp - REF 9ef58ff20df19e613c91c5f761e381c763da6810 # v0.15.1 - SHA512 3409b3e6a546ed585b90180807383e8731b36b0db149b5ff92701a43164c4282b1cea4a551bf4c7b1edec7b264098575cf919faee8a2520bb10bbae62258d463 + REF "v${VERSION}" + SHA512 a341cb1354ac9d284b818df34e717239ed25b138045795771f80957b7907c2c7db97814f28271c50c1036f08dfebb95d7f62a5794aaf93e3d029c724ead0f9fa PATCHES - fix-cmake-target-path.patch + no-werror.patch ) string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" STATIC_CRT) @@ -14,34 +14,25 @@ vcpkg_cmake_configure( DISABLE_PARALLEL_CONFIGURE OPTIONS "-DSTATIC_CRT=${STATIC_CRT}" - "-DBUILD_DEPS=OFF" + -DBUILD_DEPS=OFF "-DCMAKE_MODULE_PATH=${CURRENT_INSTALLED_DIR}/share/aws-c-common" # use extra cmake files + -DBUILD_TESTING=FALSE ) vcpkg_cmake_install() -vcpkg_cmake_config_fixup(CONFIG_PATH lib/aws-crt-cpp/cmake) - -vcpkg_copy_tools( - TOOL_NAMES elasticurl_cpp - AUTO_CLEAN -) - -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(REMOVE_RECURSE - "${CURRENT_PACKAGES_DIR}/bin" - "${CURRENT_PACKAGES_DIR}/debug/bin" - ) -endif() +string(REPLACE "dynamic" "shared" subdir "${VCPKG_LIBRARY_LINKAGE}") +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/${PORT}/cmake/${subdir}" DO_NOT_DELETE_PARENT_CONFIG_PATH) +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/${PORT}/cmake") +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/${PORT}/${PORT}-config.cmake" [[/${type}/]] "/") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" - "${CURRENT_PACKAGES_DIR}/debug/lib/aws-crt-cpp" - "${CURRENT_PACKAGES_DIR}/lib/aws-crt-cpp" + "${CURRENT_PACKAGES_DIR}/debug/lib/${PORT}" + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/lib/${PORT}" ) vcpkg_copy_pdbs() -file(REMOVE_RECURSE "${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/aws-crt-cpp/vcpkg.json b/ports/aws-crt-cpp/vcpkg.json index fb109b1a441178..f3fa4f8276ffac 100644 --- a/ports/aws-crt-cpp/vcpkg.json +++ b/ports/aws-crt-cpp/vcpkg.json @@ -1,10 +1,10 @@ { "name": "aws-crt-cpp", - "version": "0.15.1", - "port-version": 1, - "description": "Cross-Platform HW accelerated CRC32c and CRC32 with fallback to efficient SW implementations.", + "version": "0.28.3", + "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", - "supports": "!arm & !uwp", + "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 714296ed18c6b9..2ff9b9ee3e942e 100644 --- a/ports/aws-lambda-cpp/portfile.cmake +++ b/ports/aws-lambda-cpp/portfile.cmake @@ -1,20 +1,18 @@ -vcpkg_fail_port_install(ON_TARGET "Windows" "OSX") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO awslabs/aws-lambda-cpp - REF 8bcd8a201f9da613581a2748ca737ab09adbdae5 # v0.2.7 - SHA512 c59310dd839622cfc9ac2a1df5a492e9a6d629b671ed929813dbe51dfe76d4a4e381e78b11b206b66c2bee131a1544c3c8dfc4644981b708b589492763c7ed59 + REF "v${VERSION}" + SHA512 a7be4a5c194139f4bd246b9212ea2b1718508a23b8650537fa5dc97873b4d58ce3d340740ba980958957c7f56d3f7aff535bd465ac48dae121b07d9a5be00d02 HEAD_REF master ) vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" ) vcpkg_cmake_install() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") vcpkg_copy_pdbs() @@ -25,4 +23,4 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/aws-lambda-runtime") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/aws-lambda-runtime") # 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/aws-lambda-cpp/vcpkg.json b/ports/aws-lambda-cpp/vcpkg.json index 7d65385fef50d6..7e74d52ac6eb42 100644 --- a/ports/aws-lambda-cpp/vcpkg.json +++ b/ports/aws-lambda-cpp/vcpkg.json @@ -1,7 +1,8 @@ { "name": "aws-lambda-cpp", - "version-string": "0.2.7", + "version": "0.2.10", "description": "C++ Runtime for AWS Lambda.", + "license": "Apache-2.0", "supports": "linux", "dependencies": [ "curl", diff --git a/ports/aws-sdk-cpp/compute_build_only.cmake b/ports/aws-sdk-cpp/compute_build_only.cmake deleted file mode 100644 index 05a4649c825646..00000000000000 --- a/ports/aws-sdk-cpp/compute_build_only.cmake +++ /dev/null @@ -1,835 +0,0 @@ -# Automatically generated by generateFeatures.ps1 -if("access-management" IN_LIST FEATURES) - list(APPEND BUILD_ONLY access-management) -endif() -if("accessanalyzer" IN_LIST FEATURES) - list(APPEND BUILD_ONLY accessanalyzer) -endif() -if("acm" IN_LIST FEATURES) - list(APPEND BUILD_ONLY acm) -endif() -if("acm-pca" IN_LIST FEATURES) - list(APPEND BUILD_ONLY acm-pca) -endif() -if("alexaforbusiness" IN_LIST FEATURES) - list(APPEND BUILD_ONLY alexaforbusiness) -endif() -if("amp" IN_LIST FEATURES) - list(APPEND BUILD_ONLY amp) -endif() -if("amplify" IN_LIST FEATURES) - list(APPEND BUILD_ONLY amplify) -endif() -if("amplifybackend" IN_LIST FEATURES) - list(APPEND BUILD_ONLY amplifybackend) -endif() -if("apigateway" IN_LIST FEATURES) - list(APPEND BUILD_ONLY apigateway) -endif() -if("apigatewaymanagementapi" IN_LIST FEATURES) - list(APPEND BUILD_ONLY apigatewaymanagementapi) -endif() -if("apigatewayv2" IN_LIST FEATURES) - list(APPEND BUILD_ONLY apigatewayv2) -endif() -if("appconfig" IN_LIST FEATURES) - list(APPEND BUILD_ONLY appconfig) -endif() -if("appflow" IN_LIST FEATURES) - list(APPEND BUILD_ONLY appflow) -endif() -if("appintegrations" IN_LIST FEATURES) - list(APPEND BUILD_ONLY appintegrations) -endif() -if("application-autoscaling" IN_LIST FEATURES) - list(APPEND BUILD_ONLY application-autoscaling) -endif() -if("application-insights" IN_LIST FEATURES) - list(APPEND BUILD_ONLY application-insights) -endif() -if("applicationcostprofiler" IN_LIST FEATURES) - list(APPEND BUILD_ONLY applicationcostprofiler) -endif() -if("appmesh" IN_LIST FEATURES) - list(APPEND BUILD_ONLY appmesh) -endif() -if("apprunner" IN_LIST FEATURES) - list(APPEND BUILD_ONLY apprunner) -endif() -if("appstream" IN_LIST FEATURES) - list(APPEND BUILD_ONLY appstream) -endif() -if("appsync" IN_LIST FEATURES) - list(APPEND BUILD_ONLY appsync) -endif() -if("athena" IN_LIST FEATURES) - list(APPEND BUILD_ONLY athena) -endif() -if("auditmanager" IN_LIST FEATURES) - list(APPEND BUILD_ONLY auditmanager) -endif() -if("autoscaling" IN_LIST FEATURES) - list(APPEND BUILD_ONLY autoscaling) -endif() -if("autoscaling-plans" IN_LIST FEATURES) - list(APPEND BUILD_ONLY autoscaling-plans) -endif() -if("awsmigrationhub" IN_LIST FEATURES) - list(APPEND BUILD_ONLY AWSMigrationHub) -endif() -if("awstransfer" IN_LIST FEATURES) - list(APPEND BUILD_ONLY awstransfer) -endif() -if("backup" IN_LIST FEATURES) - list(APPEND BUILD_ONLY backup) -endif() -if("batch" IN_LIST FEATURES) - list(APPEND BUILD_ONLY batch) -endif() -if("braket" IN_LIST FEATURES) - list(APPEND BUILD_ONLY braket) -endif() -if("budgets" IN_LIST FEATURES) - list(APPEND BUILD_ONLY budgets) -endif() -if("ce" IN_LIST FEATURES) - list(APPEND BUILD_ONLY ce) -endif() -if("chime" IN_LIST FEATURES) - list(APPEND BUILD_ONLY chime) -endif() -if("cloud9" IN_LIST FEATURES) - list(APPEND BUILD_ONLY cloud9) -endif() -if("clouddirectory" IN_LIST FEATURES) - list(APPEND BUILD_ONLY clouddirectory) -endif() -if("cloudformation" IN_LIST FEATURES) - list(APPEND BUILD_ONLY cloudformation) -endif() -if("cloudfront" IN_LIST FEATURES) - list(APPEND BUILD_ONLY cloudfront) -endif() -if("cloudhsm" IN_LIST FEATURES) - list(APPEND BUILD_ONLY cloudhsm) -endif() -if("cloudhsmv2" IN_LIST FEATURES) - list(APPEND BUILD_ONLY cloudhsmv2) -endif() -if("cloudsearch" IN_LIST FEATURES) - list(APPEND BUILD_ONLY cloudsearch) -endif() -if("cloudsearchdomain" IN_LIST FEATURES) - list(APPEND BUILD_ONLY cloudsearchdomain) -endif() -if("cloudtrail" IN_LIST FEATURES) - list(APPEND BUILD_ONLY cloudtrail) -endif() -if("codeartifact" IN_LIST FEATURES) - list(APPEND BUILD_ONLY codeartifact) -endif() -if("codebuild" IN_LIST FEATURES) - list(APPEND BUILD_ONLY codebuild) -endif() -if("codecommit" IN_LIST FEATURES) - list(APPEND BUILD_ONLY codecommit) -endif() -if("codedeploy" IN_LIST FEATURES) - list(APPEND BUILD_ONLY codedeploy) -endif() -if("codeguru-reviewer" IN_LIST FEATURES) - list(APPEND BUILD_ONLY codeguru-reviewer) -endif() -if("codeguruprofiler" IN_LIST FEATURES) - list(APPEND BUILD_ONLY codeguruprofiler) -endif() -if("codepipeline" IN_LIST FEATURES) - list(APPEND BUILD_ONLY codepipeline) -endif() -if("codestar" IN_LIST FEATURES) - list(APPEND BUILD_ONLY codestar) -endif() -if("codestar-connections" IN_LIST FEATURES) - list(APPEND BUILD_ONLY codestar-connections) -endif() -if("codestar-notifications" IN_LIST FEATURES) - list(APPEND BUILD_ONLY codestar-notifications) -endif() -if("cognito-identity" IN_LIST FEATURES) - list(APPEND BUILD_ONLY cognito-identity) -endif() -if("cognito-idp" IN_LIST FEATURES) - list(APPEND BUILD_ONLY cognito-idp) -endif() -if("cognito-sync" IN_LIST FEATURES) - list(APPEND BUILD_ONLY cognito-sync) -endif() -if("comprehend" IN_LIST FEATURES) - list(APPEND BUILD_ONLY comprehend) -endif() -if("comprehendmedical" IN_LIST FEATURES) - list(APPEND BUILD_ONLY comprehendmedical) -endif() -if("compute-optimizer" IN_LIST FEATURES) - list(APPEND BUILD_ONLY compute-optimizer) -endif() -if("config" IN_LIST FEATURES) - list(APPEND BUILD_ONLY config) -endif() -if("connect" IN_LIST FEATURES) - list(APPEND BUILD_ONLY connect) -endif() -if("connect-contact-lens" IN_LIST FEATURES) - list(APPEND BUILD_ONLY connect-contact-lens) -endif() -if("connectparticipant" IN_LIST FEATURES) - list(APPEND BUILD_ONLY connectparticipant) -endif() -if("cur" IN_LIST FEATURES) - list(APPEND BUILD_ONLY cur) -endif() -if("customer-profiles" IN_LIST FEATURES) - list(APPEND BUILD_ONLY customer-profiles) -endif() -if("databrew" IN_LIST FEATURES) - list(APPEND BUILD_ONLY databrew) -endif() -if("dataexchange" IN_LIST FEATURES) - list(APPEND BUILD_ONLY dataexchange) -endif() -if("datapipeline" IN_LIST FEATURES) - list(APPEND BUILD_ONLY datapipeline) -endif() -if("datasync" IN_LIST FEATURES) - list(APPEND BUILD_ONLY datasync) -endif() -if("dax" IN_LIST FEATURES) - list(APPEND BUILD_ONLY dax) -endif() -if("detective" IN_LIST FEATURES) - list(APPEND BUILD_ONLY detective) -endif() -if("devicefarm" IN_LIST FEATURES) - list(APPEND BUILD_ONLY devicefarm) -endif() -if("devops-guru" IN_LIST FEATURES) - list(APPEND BUILD_ONLY devops-guru) -endif() -if("directconnect" IN_LIST FEATURES) - list(APPEND BUILD_ONLY directconnect) -endif() -if("discovery" IN_LIST FEATURES) - list(APPEND BUILD_ONLY discovery) -endif() -if("dlm" IN_LIST FEATURES) - list(APPEND BUILD_ONLY dlm) -endif() -if("dms" IN_LIST FEATURES) - list(APPEND BUILD_ONLY dms) -endif() -if("docdb" IN_LIST FEATURES) - list(APPEND BUILD_ONLY docdb) -endif() -if("ds" IN_LIST FEATURES) - list(APPEND BUILD_ONLY ds) -endif() -if("dynamodb" IN_LIST FEATURES) - list(APPEND BUILD_ONLY dynamodb) -endif() -if("dynamodbstreams" IN_LIST FEATURES) - list(APPEND BUILD_ONLY dynamodbstreams) -endif() -if("ebs" IN_LIST FEATURES) - list(APPEND BUILD_ONLY ebs) -endif() -if("ec2" IN_LIST FEATURES) - list(APPEND BUILD_ONLY ec2) -endif() -if("ec2-instance-connect" IN_LIST FEATURES) - list(APPEND BUILD_ONLY ec2-instance-connect) -endif() -if("ecr" IN_LIST FEATURES) - list(APPEND BUILD_ONLY ecr) -endif() -if("ecr-public" IN_LIST FEATURES) - list(APPEND BUILD_ONLY ecr-public) -endif() -if("ecs" IN_LIST FEATURES) - list(APPEND BUILD_ONLY ecs) -endif() -if("eks" IN_LIST FEATURES) - list(APPEND BUILD_ONLY eks) -endif() -if("elastic-inference" IN_LIST FEATURES) - list(APPEND BUILD_ONLY elastic-inference) -endif() -if("elasticache" IN_LIST FEATURES) - list(APPEND BUILD_ONLY elasticache) -endif() -if("elasticbeanstalk" IN_LIST FEATURES) - list(APPEND BUILD_ONLY elasticbeanstalk) -endif() -if("elasticfilesystem" IN_LIST FEATURES) - list(APPEND BUILD_ONLY elasticfilesystem) -endif() -if("elasticloadbalancing" IN_LIST FEATURES) - list(APPEND BUILD_ONLY elasticloadbalancing) -endif() -if("elasticloadbalancingv2" IN_LIST FEATURES) - list(APPEND BUILD_ONLY elasticloadbalancingv2) -endif() -if("elasticmapreduce" IN_LIST FEATURES) - list(APPEND BUILD_ONLY elasticmapreduce) -endif() -if("elastictranscoder" IN_LIST FEATURES) - list(APPEND BUILD_ONLY elastictranscoder) -endif() -if("email" IN_LIST FEATURES) - list(APPEND BUILD_ONLY email) -endif() -if("emr-containers" IN_LIST FEATURES) - list(APPEND BUILD_ONLY emr-containers) -endif() -if("es" IN_LIST FEATURES) - list(APPEND BUILD_ONLY es) -endif() -if("eventbridge" IN_LIST FEATURES) - list(APPEND BUILD_ONLY eventbridge) -endif() -if("events" IN_LIST FEATURES) - list(APPEND BUILD_ONLY events) -endif() -if("finspace" IN_LIST FEATURES) - list(APPEND BUILD_ONLY finspace) -endif() -if("finspace-data" IN_LIST FEATURES) - list(APPEND BUILD_ONLY finspace-data) -endif() -if("firehose" IN_LIST FEATURES) - list(APPEND BUILD_ONLY firehose) -endif() -if("fis" IN_LIST FEATURES) - list(APPEND BUILD_ONLY fis) -endif() -if("fms" IN_LIST FEATURES) - list(APPEND BUILD_ONLY fms) -endif() -if("forecast" IN_LIST FEATURES) - list(APPEND BUILD_ONLY forecast) -endif() -if("forecastquery" IN_LIST FEATURES) - list(APPEND BUILD_ONLY forecastquery) -endif() -if("frauddetector" IN_LIST FEATURES) - list(APPEND BUILD_ONLY frauddetector) -endif() -if("fsx" IN_LIST FEATURES) - list(APPEND BUILD_ONLY fsx) -endif() -if("gamelift" IN_LIST FEATURES) - list(APPEND BUILD_ONLY gamelift) -endif() -if("glacier" IN_LIST FEATURES) - list(APPEND BUILD_ONLY glacier) -endif() -if("globalaccelerator" IN_LIST FEATURES) - list(APPEND BUILD_ONLY globalaccelerator) -endif() -if("glue" IN_LIST FEATURES) - list(APPEND BUILD_ONLY glue) -endif() -if("greengrass" IN_LIST FEATURES) - list(APPEND BUILD_ONLY greengrass) -endif() -if("greengrassv2" IN_LIST FEATURES) - list(APPEND BUILD_ONLY greengrassv2) -endif() -if("groundstation" IN_LIST FEATURES) - list(APPEND BUILD_ONLY groundstation) -endif() -if("guardduty" IN_LIST FEATURES) - list(APPEND BUILD_ONLY guardduty) -endif() -if("health" IN_LIST FEATURES) - list(APPEND BUILD_ONLY health) -endif() -if("healthlake" IN_LIST FEATURES) - list(APPEND BUILD_ONLY healthlake) -endif() -if("honeycode" IN_LIST FEATURES) - list(APPEND BUILD_ONLY honeycode) -endif() -if("iam" IN_LIST FEATURES) - list(APPEND BUILD_ONLY iam) -endif() -if("identity-management" IN_LIST FEATURES) - list(APPEND BUILD_ONLY identity-management) -endif() -if("identitystore" IN_LIST FEATURES) - list(APPEND BUILD_ONLY identitystore) -endif() -if("imagebuilder" IN_LIST FEATURES) - list(APPEND BUILD_ONLY imagebuilder) -endif() -if("importexport" IN_LIST FEATURES) - list(APPEND BUILD_ONLY importexport) -endif() -if("inspector" IN_LIST FEATURES) - list(APPEND BUILD_ONLY inspector) -endif() -if("iot" IN_LIST FEATURES) - list(APPEND BUILD_ONLY iot) -endif() -if("iot-data" IN_LIST FEATURES) - list(APPEND BUILD_ONLY iot-data) -endif() -if("iot-jobs-data" IN_LIST FEATURES) - list(APPEND BUILD_ONLY iot-jobs-data) -endif() -if("iot1click-devices" IN_LIST FEATURES) - list(APPEND BUILD_ONLY iot1click-devices) -endif() -if("iot1click-projects" IN_LIST FEATURES) - list(APPEND BUILD_ONLY iot1click-projects) -endif() -if("iotanalytics" IN_LIST FEATURES) - list(APPEND BUILD_ONLY iotanalytics) -endif() -if("iotdeviceadvisor" IN_LIST FEATURES) - list(APPEND BUILD_ONLY iotdeviceadvisor) -endif() -if("iotevents" IN_LIST FEATURES) - list(APPEND BUILD_ONLY iotevents) -endif() -if("iotevents-data" IN_LIST FEATURES) - list(APPEND BUILD_ONLY iotevents-data) -endif() -if("iotfleethub" IN_LIST FEATURES) - list(APPEND BUILD_ONLY iotfleethub) -endif() -if("iotsecuretunneling" IN_LIST FEATURES) - list(APPEND BUILD_ONLY iotsecuretunneling) -endif() -if("iotsitewise" IN_LIST FEATURES) - list(APPEND BUILD_ONLY iotsitewise) -endif() -if("iotthingsgraph" IN_LIST FEATURES) - list(APPEND BUILD_ONLY iotthingsgraph) -endif() -if("iotwireless" IN_LIST FEATURES) - list(APPEND BUILD_ONLY iotwireless) -endif() -if("ivs" IN_LIST FEATURES) - list(APPEND BUILD_ONLY ivs) -endif() -if("kafka" IN_LIST FEATURES) - list(APPEND BUILD_ONLY kafka) -endif() -if("kendra" IN_LIST FEATURES) - list(APPEND BUILD_ONLY kendra) -endif() -if("kinesis" IN_LIST FEATURES) - list(APPEND BUILD_ONLY kinesis) -endif() -if("kinesis-video-archived-media" IN_LIST FEATURES) - list(APPEND BUILD_ONLY kinesis-video-archived-media) -endif() -if("kinesis-video-media" IN_LIST FEATURES) - list(APPEND BUILD_ONLY kinesis-video-media) -endif() -if("kinesis-video-signaling" IN_LIST FEATURES) - list(APPEND BUILD_ONLY kinesis-video-signaling) -endif() -if("kinesisanalytics" IN_LIST FEATURES) - list(APPEND BUILD_ONLY kinesisanalytics) -endif() -if("kinesisanalyticsv2" IN_LIST FEATURES) - list(APPEND BUILD_ONLY kinesisanalyticsv2) -endif() -if("kinesisvideo" IN_LIST FEATURES) - list(APPEND BUILD_ONLY kinesisvideo) -endif() -if("kms" IN_LIST FEATURES) - list(APPEND BUILD_ONLY kms) -endif() -if("lakeformation" IN_LIST FEATURES) - list(APPEND BUILD_ONLY lakeformation) -endif() -if("lambda" IN_LIST FEATURES) - list(APPEND BUILD_ONLY lambda) -endif() -if("lex" IN_LIST FEATURES) - list(APPEND BUILD_ONLY lex) -endif() -if("lex-models" IN_LIST FEATURES) - list(APPEND BUILD_ONLY lex-models) -endif() -if("lexv2-models" IN_LIST FEATURES) - list(APPEND BUILD_ONLY lexv2-models) -endif() -if("lexv2-runtime" IN_LIST FEATURES) - list(APPEND BUILD_ONLY lexv2-runtime) -endif() -if("license-manager" IN_LIST FEATURES) - list(APPEND BUILD_ONLY license-manager) -endif() -if("lightsail" IN_LIST FEATURES) - list(APPEND BUILD_ONLY lightsail) -endif() -if("location" IN_LIST FEATURES) - list(APPEND BUILD_ONLY location) -endif() -if("logs" IN_LIST FEATURES) - list(APPEND BUILD_ONLY logs) -endif() -if("lookoutequipment" IN_LIST FEATURES) - list(APPEND BUILD_ONLY lookoutequipment) -endif() -if("lookoutmetrics" IN_LIST FEATURES) - list(APPEND BUILD_ONLY lookoutmetrics) -endif() -if("lookoutvision" IN_LIST FEATURES) - list(APPEND BUILD_ONLY lookoutvision) -endif() -if("machinelearning" IN_LIST FEATURES) - list(APPEND BUILD_ONLY machinelearning) -endif() -if("macie" IN_LIST FEATURES) - list(APPEND BUILD_ONLY macie) -endif() -if("macie2" IN_LIST FEATURES) - list(APPEND BUILD_ONLY macie2) -endif() -if("managedblockchain" IN_LIST FEATURES) - list(APPEND BUILD_ONLY managedblockchain) -endif() -if("marketplace-catalog" IN_LIST FEATURES) - list(APPEND BUILD_ONLY marketplace-catalog) -endif() -if("marketplace-entitlement" IN_LIST FEATURES) - list(APPEND BUILD_ONLY marketplace-entitlement) -endif() -if("marketplacecommerceanalytics" IN_LIST FEATURES) - list(APPEND BUILD_ONLY marketplacecommerceanalytics) -endif() -if("mediaconnect" IN_LIST FEATURES) - list(APPEND BUILD_ONLY mediaconnect) -endif() -if("mediaconvert" IN_LIST FEATURES) - list(APPEND BUILD_ONLY mediaconvert) -endif() -if("medialive" IN_LIST FEATURES) - list(APPEND BUILD_ONLY medialive) -endif() -if("mediapackage" IN_LIST FEATURES) - list(APPEND BUILD_ONLY mediapackage) -endif() -if("mediapackage-vod" IN_LIST FEATURES) - list(APPEND BUILD_ONLY mediapackage-vod) -endif() -if("mediastore" IN_LIST FEATURES) - list(APPEND BUILD_ONLY mediastore) -endif() -if("mediastore-data" IN_LIST FEATURES) - list(APPEND BUILD_ONLY mediastore-data) -endif() -if("mediatailor" IN_LIST FEATURES) - list(APPEND BUILD_ONLY mediatailor) -endif() -if("meteringmarketplace" IN_LIST FEATURES) - list(APPEND BUILD_ONLY meteringmarketplace) -endif() -if("mgn" IN_LIST FEATURES) - list(APPEND BUILD_ONLY mgn) -endif() -if("migrationhub-config" IN_LIST FEATURES) - list(APPEND BUILD_ONLY migrationhub-config) -endif() -if("mobile" IN_LIST FEATURES) - list(APPEND BUILD_ONLY mobile) -endif() -if("mobileanalytics" IN_LIST FEATURES) - list(APPEND BUILD_ONLY mobileanalytics) -endif() -if("monitoring" IN_LIST FEATURES) - list(APPEND BUILD_ONLY monitoring) -endif() -if("mq" IN_LIST FEATURES) - list(APPEND BUILD_ONLY mq) -endif() -if("mturk-requester" IN_LIST FEATURES) - list(APPEND BUILD_ONLY mturk-requester) -endif() -if("mwaa" IN_LIST FEATURES) - list(APPEND BUILD_ONLY mwaa) -endif() -if("neptune" IN_LIST FEATURES) - list(APPEND BUILD_ONLY neptune) -endif() -if("network-firewall" IN_LIST FEATURES) - list(APPEND BUILD_ONLY network-firewall) -endif() -if("networkmanager" IN_LIST FEATURES) - list(APPEND BUILD_ONLY networkmanager) -endif() -if("nimble" IN_LIST FEATURES) - list(APPEND BUILD_ONLY nimble) -endif() -if("opsworks" IN_LIST FEATURES) - list(APPEND BUILD_ONLY opsworks) -endif() -if("opsworkscm" IN_LIST FEATURES) - list(APPEND BUILD_ONLY opsworkscm) -endif() -if("organizations" IN_LIST FEATURES) - list(APPEND BUILD_ONLY organizations) -endif() -if("outposts" IN_LIST FEATURES) - list(APPEND BUILD_ONLY outposts) -endif() -if("personalize" IN_LIST FEATURES) - list(APPEND BUILD_ONLY personalize) -endif() -if("personalize-events" IN_LIST FEATURES) - list(APPEND BUILD_ONLY personalize-events) -endif() -if("personalize-runtime" IN_LIST FEATURES) - list(APPEND BUILD_ONLY personalize-runtime) -endif() -if("pi" IN_LIST FEATURES) - list(APPEND BUILD_ONLY pi) -endif() -if("pinpoint" IN_LIST FEATURES) - list(APPEND BUILD_ONLY pinpoint) -endif() -if("pinpoint-email" IN_LIST FEATURES) - list(APPEND BUILD_ONLY pinpoint-email) -endif() -if("polly" IN_LIST FEATURES) - list(APPEND BUILD_ONLY polly) -endif() -if("pricing" IN_LIST FEATURES) - list(APPEND BUILD_ONLY pricing) -endif() -if("qldb" IN_LIST FEATURES) - list(APPEND BUILD_ONLY qldb) -endif() -if("qldb-session" IN_LIST FEATURES) - list(APPEND BUILD_ONLY qldb-session) -endif() -if("queues" IN_LIST FEATURES) - list(APPEND BUILD_ONLY queues) -endif() -if("quicksight" IN_LIST FEATURES) - list(APPEND BUILD_ONLY quicksight) -endif() -if("ram" IN_LIST FEATURES) - list(APPEND BUILD_ONLY ram) -endif() -if("rds" IN_LIST FEATURES) - list(APPEND BUILD_ONLY rds) -endif() -if("rds-data" IN_LIST FEATURES) - list(APPEND BUILD_ONLY rds-data) -endif() -if("redshift" IN_LIST FEATURES) - list(APPEND BUILD_ONLY redshift) -endif() -if("redshift-data" IN_LIST FEATURES) - list(APPEND BUILD_ONLY redshift-data) -endif() -if("rekognition" IN_LIST FEATURES) - list(APPEND BUILD_ONLY rekognition) -endif() -if("resource-groups" IN_LIST FEATURES) - list(APPEND BUILD_ONLY resource-groups) -endif() -if("resourcegroupstaggingapi" IN_LIST FEATURES) - list(APPEND BUILD_ONLY resourcegroupstaggingapi) -endif() -if("robomaker" IN_LIST FEATURES) - list(APPEND BUILD_ONLY robomaker) -endif() -if("route53" IN_LIST FEATURES) - list(APPEND BUILD_ONLY route53) -endif() -if("route53domains" IN_LIST FEATURES) - list(APPEND BUILD_ONLY route53domains) -endif() -if("route53resolver" IN_LIST FEATURES) - list(APPEND BUILD_ONLY route53resolver) -endif() -if("s3" IN_LIST FEATURES) - list(APPEND BUILD_ONLY s3) -endif() -if("s3-crt" IN_LIST FEATURES) - list(APPEND BUILD_ONLY s3-crt) -endif() -if("s3-encryption" IN_LIST FEATURES) - list(APPEND BUILD_ONLY s3-encryption) -endif() -if("s3control" IN_LIST FEATURES) - list(APPEND BUILD_ONLY s3control) -endif() -if("s3outposts" IN_LIST FEATURES) - list(APPEND BUILD_ONLY s3outposts) -endif() -if("sagemaker" IN_LIST FEATURES) - list(APPEND BUILD_ONLY sagemaker) -endif() -if("sagemaker-a2i-runtime" IN_LIST FEATURES) - list(APPEND BUILD_ONLY sagemaker-a2i-runtime) -endif() -if("sagemaker-edge" IN_LIST FEATURES) - list(APPEND BUILD_ONLY sagemaker-edge) -endif() -if("sagemaker-featurestore-runtime" IN_LIST FEATURES) - list(APPEND BUILD_ONLY sagemaker-featurestore-runtime) -endif() -if("sagemaker-runtime" IN_LIST FEATURES) - list(APPEND BUILD_ONLY sagemaker-runtime) -endif() -if("savingsplans" IN_LIST FEATURES) - list(APPEND BUILD_ONLY savingsplans) -endif() -if("schemas" IN_LIST FEATURES) - list(APPEND BUILD_ONLY schemas) -endif() -if("sdb" IN_LIST FEATURES) - list(APPEND BUILD_ONLY sdb) -endif() -if("secretsmanager" IN_LIST FEATURES) - list(APPEND BUILD_ONLY secretsmanager) -endif() -if("securityhub" IN_LIST FEATURES) - list(APPEND BUILD_ONLY securityhub) -endif() -if("serverlessrepo" IN_LIST FEATURES) - list(APPEND BUILD_ONLY serverlessrepo) -endif() -if("service-quotas" IN_LIST FEATURES) - list(APPEND BUILD_ONLY service-quotas) -endif() -if("servicecatalog" IN_LIST FEATURES) - list(APPEND BUILD_ONLY servicecatalog) -endif() -if("servicecatalog-appregistry" IN_LIST FEATURES) - list(APPEND BUILD_ONLY servicecatalog-appregistry) -endif() -if("servicediscovery" IN_LIST FEATURES) - list(APPEND BUILD_ONLY servicediscovery) -endif() -if("sesv2" IN_LIST FEATURES) - list(APPEND BUILD_ONLY sesv2) -endif() -if("shield" IN_LIST FEATURES) - list(APPEND BUILD_ONLY shield) -endif() -if("signer" IN_LIST FEATURES) - list(APPEND BUILD_ONLY signer) -endif() -if("sms" IN_LIST FEATURES) - list(APPEND BUILD_ONLY sms) -endif() -if("sms-voice" IN_LIST FEATURES) - list(APPEND BUILD_ONLY sms-voice) -endif() -if("snowball" IN_LIST FEATURES) - list(APPEND BUILD_ONLY snowball) -endif() -if("sns" IN_LIST FEATURES) - list(APPEND BUILD_ONLY sns) -endif() -if("sqs" IN_LIST FEATURES) - list(APPEND BUILD_ONLY sqs) -endif() -if("ssm" IN_LIST FEATURES) - list(APPEND BUILD_ONLY ssm) -endif() -if("ssm-contacts" IN_LIST FEATURES) - list(APPEND BUILD_ONLY ssm-contacts) -endif() -if("ssm-incidents" IN_LIST FEATURES) - list(APPEND BUILD_ONLY ssm-incidents) -endif() -if("sso" IN_LIST FEATURES) - list(APPEND BUILD_ONLY sso) -endif() -if("sso-admin" IN_LIST FEATURES) - list(APPEND BUILD_ONLY sso-admin) -endif() -if("sso-oidc" IN_LIST FEATURES) - list(APPEND BUILD_ONLY sso-oidc) -endif() -if("states" IN_LIST FEATURES) - list(APPEND BUILD_ONLY states) -endif() -if("storagegateway" IN_LIST FEATURES) - list(APPEND BUILD_ONLY storagegateway) -endif() -if("sts" IN_LIST FEATURES) - list(APPEND BUILD_ONLY sts) -endif() -if("support" IN_LIST FEATURES) - list(APPEND BUILD_ONLY support) -endif() -if("swf" IN_LIST FEATURES) - list(APPEND BUILD_ONLY swf) -endif() -if("synthetics" IN_LIST FEATURES) - list(APPEND BUILD_ONLY synthetics) -endif() -if("text-to-speech" IN_LIST FEATURES) - list(APPEND BUILD_ONLY text-to-speech) -endif() -if("textract" IN_LIST FEATURES) - list(APPEND BUILD_ONLY textract) -endif() -if("timestream-query" IN_LIST FEATURES) - list(APPEND BUILD_ONLY timestream-query) -endif() -if("timestream-write" IN_LIST FEATURES) - list(APPEND BUILD_ONLY timestream-write) -endif() -if("transcribe" IN_LIST FEATURES) - list(APPEND BUILD_ONLY transcribe) -endif() -if("transcribestreaming" IN_LIST FEATURES) - list(APPEND BUILD_ONLY transcribestreaming) -endif() -if("transfer" IN_LIST FEATURES) - list(APPEND BUILD_ONLY transfer) -endif() -if("translate" IN_LIST FEATURES) - list(APPEND BUILD_ONLY translate) -endif() -if("waf" IN_LIST FEATURES) - list(APPEND BUILD_ONLY waf) -endif() -if("waf-regional" IN_LIST FEATURES) - list(APPEND BUILD_ONLY waf-regional) -endif() -if("wafv2" IN_LIST FEATURES) - list(APPEND BUILD_ONLY wafv2) -endif() -if("wellarchitected" IN_LIST FEATURES) - list(APPEND BUILD_ONLY wellarchitected) -endif() -if("workdocs" IN_LIST FEATURES) - list(APPEND BUILD_ONLY workdocs) -endif() -if("worklink" IN_LIST FEATURES) - list(APPEND BUILD_ONLY worklink) -endif() -if("workmail" IN_LIST FEATURES) - list(APPEND BUILD_ONLY workmail) -endif() -if("workmailmessageflow" IN_LIST FEATURES) - list(APPEND BUILD_ONLY workmailmessageflow) -endif() -if("workspaces" IN_LIST FEATURES) - list(APPEND BUILD_ONLY workspaces) -endif() -if("xray" IN_LIST FEATURES) - list(APPEND BUILD_ONLY xray) -endif() 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-aws-root.patch b/ports/aws-sdk-cpp/fix-aws-root.patch index 074e009aaae3bc..da4365ad72185e 100644 --- a/ports/aws-sdk-cpp/fix-aws-root.patch +++ b/ports/aws-sdk-cpp/fix-aws-root.patch @@ -1,16 +1,22 @@ diff --git a/cmake/AWSSDKConfig.cmake b/cmake/AWSSDKConfig.cmake -index 83eac0b..96bdbe7 100644 ---- a/cmake/AWSSDKConfig.cmake -+++ b/cmake/AWSSDKConfig.cmake -@@ -63,11 +63,9 @@ endif() +--- a/cmake/AWSSDKConfig.cmake (revision 2f90f9fd6c56460bd382243aa215fcddcb5883c8) ++++ b/cmake/AWSSDKConfig.cmake (date 1636913220527) +@@ -54,18 +54,14 @@ + string(REPLACE ";" "${AWS_MODULE_DIR};" SYSTEM_MODULE_PATH "${CMAKE_SYSTEM_PREFIX_PATH}${AWS_MODULE_DIR}") + list(APPEND CMAKE_MODULE_PATH ${AWS_MODULE_PATH} ${SYSTEM_MODULE_PATH}) + +-# On Windows, dlls are treated as runtime target and installed in bindir + if (WIN32 AND AWSSDK_INSTALL_AS_SHARED_LIBS) +- set(AWSSDK_INSTALL_LIBDIR "${AWSSDK_INSTALL_BINDIR}") + # If installed CMake scripts are associated with dll library, define USE_IMPORT_EXPORT for customers + add_definitions(-DUSE_IMPORT_EXPORT) + endif() # Compute the default installation root relative to this file. -# from prefix/lib/cmake/AWSSDK/xx.cmake to prefix get_filename_component(AWSSDK_DEFAULT_ROOT_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) +-get_filename_component(AWSSDK_DEFAULT_ROOT_DIR "${AWSSDK_DEFAULT_ROOT_DIR}" PATH) get_filename_component(AWSSDK_DEFAULT_ROOT_DIR "${AWSSDK_DEFAULT_ROOT_DIR}" PATH) get_filename_component(AWSSDK_DEFAULT_ROOT_DIR "${AWSSDK_DEFAULT_ROOT_DIR}" PATH) --get_filename_component(AWSSDK_DEFAULT_ROOT_DIR "${AWSSDK_DEFAULT_ROOT_DIR}" PATH) get_filename_component(AWS_NATIVE_SDK_ROOT "${CMAKE_CURRENT_SOURCE_DIR}" ABSOLUTE) - - set(CPP_STANDARD "11" CACHE STRING "Flag to upgrade the C++ standard used. The default is 11. The minimum is 11.") 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 89265ddbd4cc2c..299ef13583d670 100644 --- a/ports/aws-sdk-cpp/generateFeatures.ps1 +++ b/ports/aws-sdk-cpp/generateFeatures.ps1 @@ -1,73 +1,73 @@ -[CmdletBinding()] -param( - [Parameter(Mandatory=$true)][string]$SourcesRef, - [Parameter(Mandatory=$false)][string]$PortDirectory = $PSScriptRoot, - [Parameter(Mandatory=$false)][string]$vcpkg = "$PSScriptRoot/../../vcpkg" -) - -$ErrorActionPreference = "Stop" - -$ManifestIn = "$PortDirectory/vcpkg.in.json" -$ManifestOut = "$PortDirectory/vcpkg.json" -$CMakeFragmentFile = "$PortDirectory/compute_build_only.cmake" - -$ExtractedSources = "${env:TEMP}/aws-sdk-cpp-generateFeatures-$SourcesRef" -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 - Move-Item "$ExtractedSources.tmp" "$ExtractedSources" -} -Write-Host "Using sources directory: $ExtractedSources" - - -$subfolders = Get-Item $ExtractedSources\aws-cpp-sdk-* - -$manifest = Get-Content $ManifestIn | ConvertFrom-Json -$manifest | Add-Member ` - -NotePropertyName '$note' ` - -NotePropertyValue 'Automatically generated by generateFeatures.ps1' -$manifest | Add-Member -NotePropertyName 'features' -NotePropertyValue @{} - -$cmakefragmenttext = @("# Automatically generated by generateFeatures.ps1") - -function GetDescription($dir, $modulename) -{ - if (Test-Path "$dir\CMakeLists.txt") - { - $descs = @(Select-String -Path "$dir\CMakeLists.txt" -Pattern "`"C\+\+ SDK for the AWS [^`"]*`"") - if ($descs.count -eq 1) { - $desc = $descs[0].Matches.Value -replace "`"","" - "$desc" - } - else { "C++ SDK for the AWS $modulename service" } - } - else { "C++ SDK for the AWS $modulename service" } -} - -foreach ($subfolder in $subfolders) -{ - $modulename = $subfolder.name -replace "^aws-cpp-sdk-","" - if ($modulename -match "-tests`$") { continue } - if ($modulename -match "-sample`$") { continue } - if ($modulename -eq "core") { continue } - - $lowermodulename = $modulename.ToLower() - - $manifest.features.Add("$lowermodulename", @{ description=(GetDescription $subfolder $modulename) }) - - $cmakefragmenttext += @( - "if(`"$lowermodulename`" IN_LIST FEATURES)", - " list(APPEND BUILD_ONLY $modulename)", - "endif()" - ) -} - -[IO.File]::WriteAllText($ManifestOut, (ConvertTo-Json -Depth 5 -InputObject $manifest)) - -Write-Verbose ($cmakefragmenttext -join "`n") -[IO.File]::WriteAllText($CMakeFragmentFile, ($cmakefragmenttext -join "`n") +"`n") - -& $vcpkg format-manifest --feature-flags=-manifests $ManifestOut +[CmdletBinding()] +param( + [Parameter(Mandatory=$true)][string]$SourcesRef, + [Parameter(Mandatory=$false)][string]$PortDirectory = $PSScriptRoot, + [Parameter(Mandatory=$false)][string]$vcpkg = "$PSScriptRoot/../../vcpkg" +) + +$ErrorActionPreference = "Stop" + +$ManifestIn = "$PortDirectory/vcpkg.in.json" +$ManifestOut = "$PortDirectory/vcpkg.json" + +$ExtractedSources = "${env:TEMP}/aws-sdk-cpp-generateFeatures-$SourcesRef" +if (-not (Test-Path $ExtractedSources)) { + if (Test-Path "$ExtractedSources.tmp") { + Remove-Item -Force "$ExtractedSources.tmp" + } + git clone --depth=1 "https://github.com/aws/aws-sdk-cpp" "$ExtractedSources.tmp" | Out-Host + git -c "$ExtractedSources.tmp" checkout $SourcesRef + 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' +$manifest | Add-Member -NotePropertyName 'features' -NotePropertyValue @{} + +function GetDescription($dir, $modulename) +{ + if (Test-Path "$dir\CMakeLists.txt") + { + $descs = @(Select-String -Path "$dir\CMakeLists.txt" -Pattern "`"C\+\+ SDK for the AWS [^`"]*`"") + if ($descs.count -eq 1) { + $desc = $descs[0].Matches.Value -replace "`"","" + "$desc" + } + else { "C++ SDK for the AWS $modulename service" } + } + else { "C++ SDK for the AWS $modulename service" } +} + +$featureDependencies = @{} +Select-String -Path "$ExtractedSources\cmake\sdksCommon.cmake" -Pattern "list\(APPEND SDK_DEPENDENCY_LIST `"([\w-]+):([\w-,]+)`"\)" -AllMatches ` +| ForEach-Object { $_.Matches } ` +| ForEach-Object { $featureDependencies[$_.Groups[1].Value] = @($_.Groups[2].Value -split "," ` +| Where-Object { $_ -ne "core" }) } + +foreach ($subfolder in $subfolders) +{ + $modulename = $subfolder.name -replace "^aws-cpp-sdk-","" + if ($modulename -match "-tests`$") { continue } + if ($modulename -match "-sample`$") { continue } + if ($modulename -eq "core") { continue } + + $lowermodulename = $modulename.ToLower() + + $featureObj = @{ description = (GetDescription $subfolder $modulename) } + + if ($featureDependencies.ContainsKey($lowermodulename)) { + $featureObj.dependencies = ,@{ name = "aws-sdk-cpp"; "default-features" = $false; "features" = $featureDependencies[$lowermodulename] } + } + + $manifest.features.Add("$lowermodulename", $featureObj) +} + +[IO.File]::WriteAllText($ManifestOut, (ConvertTo-Json -Depth 10 -InputObject $manifest)) + +& $vcpkg format-manifest --feature-flags=-manifests $ManifestOut diff --git a/ports/aws-sdk-cpp/lock-curl-http-and-tls-settings.patch b/ports/aws-sdk-cpp/lock-curl-http-and-tls-settings.patch new file mode 100644 index 00000000000000..0f7a3b1918307b --- /dev/null +++ b/ports/aws-sdk-cpp/lock-curl-http-and-tls-settings.patch @@ -0,0 +1,20 @@ +diff --git a/src/aws-cpp-sdk-core/CMakeLists.txt b/src/aws-cpp-sdk-core/CMakeLists.txt +index c44546b0e..b66888362 100644 +--- a/src/aws-cpp-sdk-core/CMakeLists.txt ++++ b/src/aws-cpp-sdk-core/CMakeLists.txt +@@ -113,13 +113,8 @@ if(ENABLE_CURL_CLIENT) + int main() { + CURL* handle = curl_easy_init(); + return curl_easy_setopt(handle, CURLOPT_PROXY_SSLCERT, \"client.pem\"); }") +- if (CMAKE_CROSSCOMPILING) +- check_c_source_compiles("${CHECK_CURL_HAS_H2}" CURL_HAS_H2) +- check_c_source_compiles("${CHECK_CURL_HAS_TLS_PROXY}" CURL_HAS_TLS_PROXY) +- else() +- check_c_source_runs("${CHECK_CURL_HAS_H2}" CURL_HAS_H2) +- check_c_source_runs("${CHECK_CURL_HAS_TLS_PROXY}" CURL_HAS_TLS_PROXY) +- endif() ++ set(CURL_HAS_H2 OFF) ++ set(CURL_HAS_TLS_PROXY ON) + elseif(ENABLE_WINDOWS_CLIENT) + # NOTE: HTTP/2 is not supported when using IXML_HTTP_REQUEST_2 + if(USE_IXML_HTTP_REQUEST_2) 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 828647cc4365ce..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 a653e38628..76d6067646 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -142,7 +142,6 @@ else() - 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 512d1a95e2cafd..dde9d0508ca78e 100644 --- a/ports/aws-sdk-cpp/portfile.cmake +++ b/ports/aws-sdk-cpp/portfile.cmake @@ -1,110 +1,102 @@ -vcpkg_buildpath_length_warning(37) - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO aws/aws-sdk-cpp - REF b0204a7b6a33211f533a175e987a755f714bf7f3 # 1.9.96 - SHA512 456d3fc256a5a26843ecf16014242514b165ae5fa35f088d57aa54a744d19e2c38bd0bed9b6a4b76948c8a49cf87a06a4c722be5a910ed41dfd9c9b9a66b398d - PATCHES - patch-relocatable-rpath.patch - fix-aws-root.patch -) - -string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "dynamic" FORCE_SHARED_CRT) - -set(EXTRA_ARGS) -if(VCPKG_TARGET_IS_OSX OR VCPKG_TARGET_IS_IOS) - set(rpath "@loader_path") - set(EXTRA_ARGS - "-DCURL_HAS_H2_EXITCODE=0" - "-DCURL_HAS_H2_EXITCODE__TRYRUN_OUTPUT=\"\"" - "-DCURL_HAS_TLS_PROXY_EXITCODE=0" - "-DCURL_HAS_TLS_PROXY_EXITCODE__TRYRUN_OUTPUT=\"\"" - ) -elseif (VCPKG_TARGET_IS_ANDROID) - set(EXTRA_ARGS "-DTARGET_ARCH=ANDROID" - "-DGIT_EXECUTABLE=--invalid-git-executable--" - "-DGIT_FOUND=TRUE" - "-DNDK_DIR=$ENV{ANDROID_NDK_HOME}" - "-DANDROID_BUILD_ZLIB=FALSE" - "-DANDROID_BUILD_CURL=FALSE" - "-DANDROID_BUILD_OPENSSL=FALSE" - "-DENABLE_HW_OPTIMIZATION=OFF" - "-DCURL_HAS_H2_EXITCODE=0" - "-DCURL_HAS_H2_EXITCODE__TRYRUN_OUTPUT=\"\"" - "-DCURL_HAS_TLS_PROXY_EXITCODE=0" - "-DCURL_HAS_TLS_PROXY_EXITCODE__TRYRUN_OUTPUT=\"\"" - ) -else() - set(rpath "\$ORIGIN") -endif() - -set(BUILD_ONLY core) -include(${CMAKE_CURRENT_LIST_DIR}/compute_build_only.cmake) -vcpkg_cmake_configure( - SOURCE_PATH "${SOURCE_PATH}" - DISABLE_PARALLEL_CONFIGURE - OPTIONS - ${EXTRA_ARGS} - "-DENABLE_UNITY_BUILD=ON" - "-DENABLE_TESTING=OFF" - "-DFORCE_SHARED_CRT=${FORCE_SHARED_CRT}" - "-DBUILD_ONLY=${BUILD_ONLY}" - "-DBUILD_DEPS=OFF" - "-DBUILD_SHARED_LIBS=OFF" - "-DCMAKE_INSTALL_RPATH=${rpath}" - "-DCMAKE_MODULE_PATH=${CURRENT_INSTALLED_DIR}/share/aws-c-common" # use extra cmake files -) -vcpkg_cmake_install() - -foreach(TARGET IN LISTS BUILD_ONLY) - vcpkg_cmake_config_fixup(PACKAGE_NAME "aws-cpp-sdk-${TARGET}" 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_copy_pdbs() - -file(GLOB_RECURSE AWS_TARGETS "${CURRENT_PACKAGES_DIR}/share/*/*-targets-*.cmake") -foreach(AWS_TARGET IN LISTS AWS_TARGETS) - file(READ ${AWS_TARGET} _contents) - string(REGEX REPLACE - "bin\\/([A-Za-z0-9_.-]+\\.lib)" - "lib/\\1" - _contents "${_contents}") - file(WRITE ${AWS_TARGET} "${_contents}") -endforeach() - -file(GLOB AWS_CONFIGS "${CURRENT_PACKAGES_DIR}/share/*/aws-cpp-sdk-*-config.cmake") -list(FILTER AWS_CONFIGS EXCLUDE REGEX "aws-cpp-sdk-core-config\\.cmake\$") -foreach(AWS_CONFIG IN LISTS AWS_CONFIGS) - file(READ "${AWS_CONFIG}" _contents) - file(WRITE "${AWS_CONFIG}" "include(CMakeFindDependencyMacro)\nfind_dependency(aws-cpp-sdk-core)\n${_contents}") -endforeach() - -file(REMOVE_RECURSE - "${CURRENT_PACKAGES_DIR}/debug/include" - "${CURRENT_PACKAGES_DIR}/debug/share" - "${CURRENT_PACKAGES_DIR}/lib/pkgconfig" - "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig" - "${CURRENT_PACKAGES_DIR}/nuget" - "${CURRENT_PACKAGES_DIR}/debug/nuget" -) - -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) - file(REMOVE ${LIB_FILES}) - endif() - file(GLOB DEBUG_LIB_FILES ${CURRENT_PACKAGES_DIR}/debug/bin/*.lib) - if(DEBUG_LIB_FILES) - file(COPY ${DEBUG_LIB_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) - file(REMOVE ${DEBUG_LIB_FILES}) - endif() - - file(APPEND "${CURRENT_PACKAGES_DIR}/include/aws/core/SDKConfig.h" "#ifndef USE_IMPORT_EXPORT\n#define USE_IMPORT_EXPORT\n#endif") -endif() - -configure_file("${CURRENT_PORT_DIR}/usage" "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" @ONLY) - -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_buildpath_length_warning(37) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO aws/aws-sdk-cpp + REF "${VERSION}" + SHA512 01579a7be61b70cee534bc3ada89f921e1849d2b7927107ad38ec3ab972f92dc24c9b18a2bec28033db498bf90f03f20e2ae8541b8cb0f8a47208d4c485b3bc5 + PATCHES + fix-aws-root.patch + lock-curl-http-and-tls-settings.patch + fix_find_curl.patch + find-dependency.patch +) + +string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "dynamic" FORCE_SHARED_CRT) + +set(EXTRA_ARGS "") +if(VCPKG_TARGET_IS_OSX OR VCPKG_TARGET_IS_IOS) + set(rpath "@loader_path") +elseif (VCPKG_TARGET_IS_ANDROID) + set(EXTRA_ARGS "-DTARGET_ARCH=ANDROID" + "-DGIT_EXECUTABLE=--invalid-git-executable--" + "-DGIT_FOUND=TRUE" + "-DNDK_DIR=$ENV{ANDROID_NDK_HOME}" + "-DANDROID_BUILD_ZLIB=FALSE" + "-DANDROID_BUILD_CURL=FALSE" + "-DANDROID_BUILD_OPENSSL=FALSE" + ) +else() + set(rpath "\$ORIGIN") +endif() + +string(REPLACE "awsmigrationhub" "AWSMigrationHub" targets "${FEATURES}") +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + DISABLE_PARALLEL_CONFIGURE + OPTIONS + ${EXTRA_ARGS} + "-DENABLE_UNITY_BUILD=ON" + "-DENABLE_TESTING=OFF" + "-DFORCE_SHARED_CRT=${FORCE_SHARED_CRT}" + "-DBUILD_ONLY=${targets}" + "-DBUILD_DEPS=OFF" + "-DBUILD_SHARED_LIBS=OFF" + "-DAWS_SDK_WARNINGS_ARE_ERRORS=OFF" + "-DCMAKE_INSTALL_RPATH=${rpath}" + "-DCMAKE_MODULE_PATH=${CURRENT_INSTALLED_DIR}/share/aws-c-common" # use extra cmake files +) +vcpkg_cmake_install() + +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_copy_pdbs() + +file(GLOB_RECURSE AWS_TARGETS "${CURRENT_PACKAGES_DIR}/share/*/*-targets-*.cmake") +foreach(AWS_TARGET IN LISTS AWS_TARGETS) + file(READ ${AWS_TARGET} _contents) + string(REGEX REPLACE + "bin\\/([A-Za-z0-9_.-]+\\.lib)" + "lib/\\1" + _contents "${_contents}") + file(WRITE ${AWS_TARGET} "${_contents}") +endforeach() + +file(GLOB AWS_CONFIGS "${CURRENT_PACKAGES_DIR}/share/*/aws-cpp-sdk-*-config.cmake") +list(FILTER AWS_CONFIGS EXCLUDE REGEX "aws-cpp-sdk-core-config\\.cmake\$") +foreach(AWS_CONFIG IN LISTS AWS_CONFIGS) + file(READ "${AWS_CONFIG}" _contents) + file(WRITE "${AWS_CONFIG}" "include(CMakeFindDependencyMacro)\nfind_dependency(aws-cpp-sdk-core)\n${_contents}") +endforeach() + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/lib/pkgconfig" + "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig" + "${CURRENT_PACKAGES_DIR}/nuget" + "${CURRENT_PACKAGES_DIR}/debug/nuget" +) + +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) + file(REMOVE ${LIB_FILES}) + endif() + file(GLOB DEBUG_LIB_FILES ${CURRENT_PACKAGES_DIR}/debug/bin/*.lib) + if(DEBUG_LIB_FILES) + file(COPY ${DEBUG_LIB_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) + file(REMOVE ${DEBUG_LIB_FILES}) + endif() + + file(APPEND "${CURRENT_PACKAGES_DIR}/include/aws/core/SDKConfig.h" "#ifndef USE_IMPORT_EXPORT\n#define USE_IMPORT_EXPORT\n#endif") +endif() + +configure_file("${CURRENT_PORT_DIR}/usage" "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" @ONLY) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/aws-sdk-cpp/usage b/ports/aws-sdk-cpp/usage index c526d2c456125d..37e1f617b2cb38 100644 --- a/ports/aws-sdk-cpp/usage +++ b/ports/aws-sdk-cpp/usage @@ -1,12 +1,12 @@ -The package @PORT@:@TARGET_TRIPLET@ provides CMake targets: - - When using AWSSDK, AWSSDK_ROOT_DIR must be defined by the user. - find_package(AWSSDK CONFIG COMPONENTS core dynamodb kinesis s3 REQUIRED) - target_include_directories(main PRIVATE ${AWSSDK_INCLUDE_DIRS}) - target_link_libraries(main PRIVATE ${AWSSDK_LIBRARIES}) - - OR - - find_package(aws-cpp-sdk-core REQUIRED) - target_include_directories(main PRIVATE aws-cpp-sdk-core) - target_link_libraries(main PRIVATE aws-cpp-sdk-core) +The package @PORT@:@TARGET_TRIPLET@ provides CMake targets: + + When using AWSSDK, AWSSDK_ROOT_DIR must be defined by the user. + find_package(AWSSDK CONFIG COMPONENTS core dynamodb kinesis s3 REQUIRED) + target_include_directories(main PRIVATE ${AWSSDK_INCLUDE_DIRS}) + target_link_libraries(main PRIVATE ${AWSSDK_LIBRARIES}) + + OR + + find_package(aws-cpp-sdk-core REQUIRED) + target_include_directories(main PRIVATE aws-cpp-sdk-core) + target_link_libraries(main PRIVATE aws-cpp-sdk-core) diff --git a/ports/aws-sdk-cpp/vcpkg.in.json b/ports/aws-sdk-cpp/vcpkg.in.json new file mode 100644 index 00000000000000..e71d1612b2cad6 --- /dev/null +++ b/ports/aws-sdk-cpp/vcpkg.in.json @@ -0,0 +1,37 @@ +{ + "name": "aws-sdk-cpp", + "version": "1.11.352", + "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", + { + "name": "curl", + "default-features": false, + "features": [ + "ssl" + ], + "platform": "!uwp & !windows" + }, + { + "name": "openssl", + "platform": "!uwp & !windows" + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "zlib" + ], + "default-features": [ + "dynamodb", + "kinesis", + "s3" + ] +} diff --git a/ports/aws-sdk-cpp/vcpkg.json b/ports/aws-sdk-cpp/vcpkg.json index 8da48a4fbaa06d..9e89863265c2c7 100644 --- a/ports/aws-sdk-cpp/vcpkg.json +++ b/ports/aws-sdk-cpp/vcpkg.json @@ -1,15 +1,19 @@ { "$note": "Automatically generated by generateFeatures.ps1", "name": "aws-sdk-cpp", - "version": "1.9.96", - "port-version": 4, + "version": "1.11.428", "description": "AWS SDK for C++", "homepage": "https://github.com/aws/aws-sdk-cpp", - "supports": "!arm & !uwp", + "license": "Apache-2.0", + "supports": "!(windows & arm) & !uwp", "dependencies": [ "aws-crt-cpp", { "name": "curl", + "default-features": false, + "features": [ + "ssl" + ], "platform": "!uwp & !windows" }, { @@ -33,20 +37,30 @@ ], "features": { "access-management": { - "description": "C++ SDK for the AWS access-management service" + "description": "C++ SDK for the AWS access-management service", + "dependencies": [ + { + "name": "aws-sdk-cpp", + "default-features": false, + "features": [ + "cognito-identity", + "iam" + ] + } + ] }, "accessanalyzer": { "description": "C++ SDK for the AWS accessanalyzer service" }, + "account": { + "description": "C++ SDK for the AWS account service" + }, "acm": { "description": "C++ SDK for the AWS acm service" }, "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" }, @@ -56,6 +70,9 @@ "amplifybackend": { "description": "C++ SDK for the AWS amplifybackend service" }, + "amplifyuibuilder": { + "description": "C++ SDK for the AWS amplifyuibuilder service" + }, "apigateway": { "description": "C++ SDK for the AWS apigateway service" }, @@ -68,6 +85,12 @@ "appconfig": { "description": "C++ SDK for the AWS appconfig service" }, + "appconfigdata": { + "description": "C++ SDK for the AWS appconfigdata service" + }, + "appfabric": { + "description": "C++ SDK for the AWS appfabric service" + }, "appflow": { "description": "C++ SDK for the AWS appflow service" }, @@ -80,6 +103,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" }, @@ -95,6 +121,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" }, @@ -113,12 +148,36 @@ "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" + }, "batch": { "description": "C++ SDK for the AWS batch service" }, + "bcm-data-exports": { + "description": "C++ SDK for the AWS bcm-data-exports 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-runtime": { + "description": "C++ SDK for the AWS bedrock-runtime service" + }, + "billingconductor": { + "description": "C++ SDK for the AWS billingconductor service" + }, "braket": { "description": "C++ SDK for the AWS braket service" }, @@ -128,12 +187,39 @@ "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" }, + "chime-sdk-identity": { + "description": "C++ SDK for the AWS chime-sdk-identity service" + }, + "chime-sdk-media-pipelines": { + "description": "C++ SDK for the AWS chime-sdk-media-pipelines service" + }, + "chime-sdk-meetings": { + "description": "C++ SDK for the AWS chime-sdk-meetings service" + }, + "chime-sdk-messaging": { + "description": "C++ SDK for the AWS chime-sdk-messaging service" + }, + "chime-sdk-voice": { + "description": "C++ SDK for the AWS chime-sdk-voice service" + }, + "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" }, + "cloudcontrol": { + "description": "C++ SDK for the AWS cloudcontrol service" + }, "clouddirectory": { "description": "C++ SDK for the AWS clouddirectory service" }, @@ -143,6 +229,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" }, @@ -158,21 +247,33 @@ "cloudtrail": { "description": "C++ SDK for the AWS cloudtrail service" }, + "cloudtrail-data": { + "description": "C++ SDK for the AWS cloudtrail-data service" + }, "codeartifact": { "description": "C++ SDK for the AWS codeartifact service" }, "codebuild": { "description": "C++ SDK for the AWS codebuild service" }, + "codecatalyst": { + "description": "C++ SDK for the AWS codecatalyst service" + }, "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" }, "codeguru-reviewer": { "description": "C++ SDK for the AWS codeguru-reviewer service" }, + "codeguru-security": { + "description": "C++ SDK for the AWS codeguru-security service" + }, "codeguruprofiler": { "description": "C++ SDK for the AWS codeguruprofiler service" }, @@ -215,9 +316,24 @@ "connect-contact-lens": { "description": "C++ SDK for the AWS connect-contact-lens service" }, + "connectcampaigns": { + "description": "C++ SDK for the AWS connectcampaigns 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" }, @@ -236,9 +352,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" }, @@ -263,6 +385,12 @@ "docdb": { "description": "C++ SDK for the AWS docdb service" }, + "docdb-elastic": { + "description": "C++ SDK for the AWS docdb-elastic service" + }, + "drs": { + "description": "C++ SDK for the AWS drs service" + }, "ds": { "description": "C++ SDK for the AWS ds service" }, @@ -293,6 +421,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" }, @@ -323,6 +454,12 @@ "emr-containers": { "description": "C++ SDK for the AWS emr-containers service" }, + "emr-serverless": { + "description": "C++ SDK for the AWS emr-serverless service" + }, + "entityresolution": { + "description": "C++ SDK for the AWS entityresolution service" + }, "es": { "description": "C++ SDK for the AWS es service" }, @@ -332,6 +469,9 @@ "events": { "description": "C++ SDK for the AWS events service" }, + "evidently": { + "description": "C++ SDK for the AWS evidently service" + }, "finspace": { "description": "C++ SDK for the AWS finspace service" }, @@ -356,6 +496,9 @@ "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" }, @@ -371,6 +514,9 @@ "glue": { "description": "C++ SDK for the AWS glue service" }, + "grafana": { + "description": "C++ SDK for the AWS grafana service" + }, "greengrass": { "description": "C++ SDK for the AWS greengrass service" }, @@ -389,14 +535,21 @@ "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" }, "identity-management": { - "description": "C++ SDK for the AWS identity-management service" + "description": "C++ SDK for the AWS identity-management service", + "dependencies": [ + { + "name": "aws-sdk-cpp", + "default-features": false, + "features": [ + "cognito-identity", + "sts" + ] + } + ] }, "identitystore": { "description": "C++ SDK for the AWS identitystore service" @@ -410,6 +563,15 @@ "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" + }, "iot": { "description": "C++ SDK for the AWS iot service" }, @@ -440,6 +602,9 @@ "iotfleethub": { "description": "C++ SDK for the AWS iotfleethub service" }, + "iotfleetwise": { + "description": "C++ SDK for the AWS iotfleetwise service" + }, "iotsecuretunneling": { "description": "C++ SDK for the AWS iotsecuretunneling service" }, @@ -449,18 +614,36 @@ "iotthingsgraph": { "description": "C++ SDK for the AWS iotthingsgraph service" }, + "iottwinmaker": { + "description": "C++ SDK for the AWS iottwinmaker service" + }, "iotwireless": { "description": "C++ SDK for the AWS iotwireless service" }, "ivs": { "description": "C++ SDK for the AWS ivs service" }, + "ivs-realtime": { + "description": "C++ SDK for the AWS ivs-realtime service" + }, + "ivschat": { + "description": "C++ SDK for the AWS ivschat service" + }, "kafka": { "description": "C++ SDK for the AWS kafka service" }, + "kafkaconnect": { + "description": "C++ SDK for the AWS kafkaconnect service" + }, "kendra": { "description": "C++ SDK for the AWS kendra service" }, + "kendra-ranking": { + "description": "C++ SDK for the AWS kendra-ranking service" + }, + "keyspaces": { + "description": "C++ SDK for the AWS keyspaces service" + }, "kinesis": { "description": "C++ SDK for the AWS kinesis service" }, @@ -473,6 +656,9 @@ "kinesis-video-signaling": { "description": "C++ SDK for the AWS kinesis-video-signaling service" }, + "kinesis-video-webrtc-storage": { + "description": "C++ SDK for the AWS kinesis-video-webrtc-storage service" + }, "kinesisanalytics": { "description": "C++ SDK for the AWS kinesisanalytics service" }, @@ -491,6 +677,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" }, @@ -506,6 +695,12 @@ "license-manager": { "description": "C++ SDK for the AWS license-manager service" }, + "license-manager-linux-subscriptions": { + "description": "C++ SDK for the AWS license-manager-linux-subscriptions service" + }, + "license-manager-user-subscriptions": { + "description": "C++ SDK for the AWS license-manager-user-subscriptions service" + }, "lightsail": { "description": "C++ SDK for the AWS lightsail service" }, @@ -524,21 +719,33 @@ "lookoutvision": { "description": "C++ SDK for the AWS lookoutvision service" }, + "m2": { + "description": "C++ SDK for the AWS m2 service" + }, "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" }, @@ -560,6 +767,9 @@ "mediapackage-vod": { "description": "C++ SDK for the AWS mediapackage-vod service" }, + "mediapackagev2": { + "description": "C++ SDK for the AWS mediapackagev2 service" + }, "mediastore": { "description": "C++ SDK for the AWS mediastore service" }, @@ -569,21 +779,33 @@ "mediatailor": { "description": "C++ SDK for the AWS mediatailor service" }, + "medical-imaging": { + "description": "C++ SDK for the AWS medical-imaging service" + }, + "memorydb": { + "description": "C++ SDK for the AWS memorydb service" + }, "meteringmarketplace": { "description": "C++ SDK for the AWS meteringmarketplace service" }, "mgn": { "description": "C++ SDK for the AWS mgn service" }, + "migration-hub-refactor-spaces": { + "description": "C++ SDK for the AWS migration-hub-refactor-spaces service" + }, "migrationhub-config": { "description": "C++ SDK for the AWS migrationhub-config service" }, + "migrationhuborchestrator": { + "description": "C++ SDK for the AWS migrationhuborchestrator service" + }, + "migrationhubstrategy": { + "description": "C++ SDK for the AWS migrationhubstrategy service" + }, "mobile": { "description": "C++ SDK for the AWS mobile service" }, - "mobileanalytics": { - "description": "C++ SDK for the AWS mobileanalytics service" - }, "monitoring": { "description": "C++ SDK for the AWS monitoring service" }, @@ -599,15 +821,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" }, "networkmanager": { "description": "C++ SDK for the AWS networkmanager service" }, + "networkmonitor": { + "description": "C++ SDK for the AWS networkmonitor service" + }, "nimble": { "description": "C++ SDK for the AWS nimble service" }, + "oam": { + "description": "C++ SDK for the AWS oam service" + }, + "omics": { + "description": "C++ SDK for the AWS omics service" + }, + "opensearch": { + "description": "C++ SDK for the AWS opensearch service" + }, + "opensearchserverless": { + "description": "C++ SDK for the AWS opensearchserverless service" + }, "opsworks": { "description": "C++ SDK for the AWS opsworks service" }, @@ -617,9 +860,27 @@ "organizations": { "description": "C++ SDK for the AWS organizations service" }, + "osis": { + "description": "C++ SDK for the AWS osis service" + }, "outposts": { "description": "C++ SDK for the AWS outposts service" }, + "panorama": { + "description": "C++ SDK for the AWS panorama service" + }, + "payment-cryptography": { + "description": "C++ SDK for the AWS payment-cryptography service" + }, + "payment-cryptography-data": { + "description": "C++ SDK for the AWS payment-cryptography-data service" + }, + "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" + }, "personalize": { "description": "C++ SDK for the AWS personalize service" }, @@ -638,12 +899,30 @@ "pinpoint-email": { "description": "C++ SDK for the AWS pinpoint-email service" }, + "pinpoint-sms-voice-v2": { + "description": "C++ SDK for the AWS pinpoint-sms-voice-v2 service" + }, + "pipes": { + "description": "C++ SDK for the AWS pipes service" + }, "polly": { "description": "C++ SDK for the AWS polly service" }, "pricing": { "description": "C++ SDK for the AWS pricing service" }, + "privatenetworks": { + "description": "C++ SDK for the AWS privatenetworks service" + }, + "proton": { + "description": "C++ SDK for the AWS proton 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" }, @@ -651,7 +930,16 @@ "description": "C++ SDK for the AWS qldb-session service" }, "queues": { - "description": "C++ SDK for the AWS queues service" + "description": "C++ SDK for the AWS queues service", + "dependencies": [ + { + "name": "aws-sdk-cpp", + "default-features": false, + "features": [ + "sqs" + ] + } + ] }, "quicksight": { "description": "C++ SDK for the AWS quicksight service" @@ -659,6 +947,9 @@ "ram": { "description": "C++ SDK for the AWS ram service" }, + "rbin": { + "description": "C++ SDK for the AWS rbin service" + }, "rds": { "description": "C++ SDK for the AWS rds service" }, @@ -671,9 +962,21 @@ "redshift-data": { "description": "C++ SDK for the AWS redshift-data service" }, + "redshift-serverless": { + "description": "C++ SDK for the AWS redshift-serverless service" + }, "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" + }, + "resource-explorer-2": { + "description": "C++ SDK for the AWS resource-explorer-2 service" + }, "resource-groups": { "description": "C++ SDK for the AWS resource-groups service" }, @@ -683,15 +986,33 @@ "robomaker": { "description": "C++ SDK for the AWS robomaker service" }, + "rolesanywhere": { + "description": "C++ SDK for the AWS rolesanywhere service" + }, "route53": { "description": "C++ SDK for the AWS route53 service" }, + "route53-recovery-cluster": { + "description": "C++ SDK for the AWS route53-recovery-cluster service" + }, + "route53-recovery-control-config": { + "description": "C++ SDK for the AWS route53-recovery-control-config service" + }, + "route53-recovery-readiness": { + "description": "C++ SDK for the AWS route53-recovery-readiness service" + }, "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" }, + "rum": { + "description": "C++ SDK for the AWS rum service" + }, "s3": { "description": "C++ SDK for the AWS s3 service" }, @@ -699,7 +1020,17 @@ "description": "C++ SDK for the AWS s3-crt service" }, "s3-encryption": { - "description": "C++ SDK for the AWS s3-encryption service" + "description": "C++ SDK for the AWS s3-encryption service", + "dependencies": [ + { + "name": "aws-sdk-cpp", + "default-features": false, + "features": [ + "kms", + "s3" + ] + } + ] }, "s3control": { "description": "C++ SDK for the AWS s3control service" @@ -719,12 +1050,21 @@ "sagemaker-featurestore-runtime": { "description": "C++ SDK for the AWS sagemaker-featurestore-runtime service" }, + "sagemaker-geospatial": { + "description": "C++ SDK for the AWS sagemaker-geospatial service" + }, + "sagemaker-metrics": { + "description": "C++ SDK for the AWS sagemaker-metrics service" + }, "sagemaker-runtime": { "description": "C++ SDK for the AWS sagemaker-runtime service" }, "savingsplans": { "description": "C++ SDK for the AWS savingsplans service" }, + "scheduler": { + "description": "C++ SDK for the AWS scheduler service" + }, "schemas": { "description": "C++ SDK for the AWS schemas service" }, @@ -737,6 +1077,9 @@ "securityhub": { "description": "C++ SDK for the AWS securityhub service" }, + "securitylake": { + "description": "C++ SDK for the AWS securitylake service" + }, "serverlessrepo": { "description": "C++ SDK for the AWS serverlessrepo service" }, @@ -761,12 +1104,18 @@ "signer": { "description": "C++ SDK for the AWS signer service" }, + "simspaceweaver": { + "description": "C++ SDK for the AWS simspaceweaver service" + }, "sms": { "description": "C++ SDK for the AWS sms service" }, "sms-voice": { "description": "C++ SDK for the AWS sms-voice service" }, + "snow-device-management": { + "description": "C++ SDK for the AWS snow-device-management service" + }, "snowball": { "description": "C++ SDK for the AWS snowball service" }, @@ -785,6 +1134,9 @@ "ssm-incidents": { "description": "C++ SDK for the AWS ssm-incidents service" }, + "ssm-sap": { + "description": "C++ SDK for the AWS ssm-sap service" + }, "sso": { "description": "C++ SDK for the AWS sso service" }, @@ -803,27 +1155,51 @@ "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" }, + "support-app": { + "description": "C++ SDK for the AWS support-app service" + }, "swf": { "description": "C++ SDK for the AWS swf service" }, "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" + "description": "C++ SDK for the AWS text-to-speech service", + "dependencies": [ + { + "name": "aws-sdk-cpp", + "default-features": false, + "features": [ + "polly" + ] + } + ] }, "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" }, "timestream-write": { "description": "C++ SDK for the AWS timestream-write service" }, + "tnb": { + "description": "C++ SDK for the AWS tnb service" + }, "transcribe": { "description": "C++ SDK for the AWS transcribe service" }, @@ -831,11 +1207,32 @@ "description": "C++ SDK for the AWS transcribestreaming service" }, "transfer": { - "description": "C++ SDK for the AWS transfer service" + "description": "C++ SDK for the AWS transfer service", + "dependencies": [ + { + "name": "aws-sdk-cpp", + "default-features": false, + "features": [ + "s3" + ] + } + ] }, "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" + }, + "voice-id": { + "description": "C++ SDK for the AWS voice-id service" + }, + "vpc-lattice": { + "description": "C++ SDK for the AWS vpc-lattice service" + }, "waf": { "description": "C++ SDK for the AWS waf service" }, @@ -848,6 +1245,9 @@ "wellarchitected": { "description": "C++ SDK for the AWS wellarchitected service" }, + "wisdom": { + "description": "C++ SDK for the AWS wisdom service" + }, "workdocs": { "description": "C++ SDK for the AWS workdocs service" }, @@ -863,6 +1263,12 @@ "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" + }, "xray": { "description": "C++ SDK for the AWS xray service" } diff --git a/ports/azmq/portfile.cmake b/ports/azmq/portfile.cmake index c2d333f608e321..a222657cfbe333 100644 --- a/ports/azmq/portfile.cmake +++ b/ports/azmq/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO zeromq/azmq - REF 6bb101eecb357ad9735ebc36e276b7526652d42d # commit on 2019-05-01 - SHA512 18812fd73c3c57aca8b17c2df0af01afb7864253d6ac6ce042e01ef04e81dd454438c9d01f5bb0fd7a4a445082a2eb3dd334ca1e05dafbe4ba602cad95ce7134 + REF 2c1adac46bced4eb74ed9be7c74563bb113eaacf + SHA512 4614b9e8f502da067231cf0ce2b645289fd1343b9bc46f1028fecb9dad4bb8a5190d723c3bf888a7c708b7b588b6c72f7e4da637f499389481b6cf80f4999671 HEAD_REF master ) diff --git a/ports/azmq/vcpkg.json b/ports/azmq/vcpkg.json index 6344423fa7ca8e..45019327ffd2c0 100644 --- a/ports/azmq/vcpkg.json +++ b/ports/azmq/vcpkg.json @@ -1,7 +1,6 @@ { "name": "azmq", - "version-string": "2020-03-03", - "port-version": 1, + "version-date": "2023-03-23", "description": [ "Boost Asio style bindings for ZeroMQ", "This library is built on top of ZeroMQ's standard C interface and is intended to work well with C++ applications which use the Boost libraries in general, and Asio in particular.", 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.patch b/ports/azure-c-shared-utility/fix-install-location.patch new file mode 100644 index 00000000000000..56d5b363e515db --- /dev/null +++ b/ports/azure-c-shared-utility/fix-install-location.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index deeaae7d..c0c84275 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -689,7 +689,7 @@ install (TARGETS ${targets} EXPORT aziotsharedutilTargets + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/azureiot + ) +-install (FILES ${source_h_files} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/azure_c_shared_utility) ++install (FILES ${source_h_files} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/azureiot/azure_c_shared_utility) + install (FILES ${micromock_h_files_full_path} ${INSTALL_H_FILES} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/azureiot) + + 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.patch b/ports/azure-c-shared-utility/improve-dependencies.patch new file mode 100644 index 00000000000000..987cc67b5a30d3 --- /dev/null +++ b/ports/azure-c-shared-utility/improve-dependencies.patch @@ -0,0 +1,63 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 6eb607f0..5b0f60f6 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -553,8 +553,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}) +@@ -593,7 +592,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() +@@ -743,7 +742,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 +@@ -755,7 +754,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 2d7c733e..0e1e4d41 100644 +--- a/configs/azure_c_shared_utilityConfig.cmake ++++ b/configs/azure_c_shared_utilityConfig.cmake +@@ -1,11 +1,12 @@ + #Copyright (c) Microsoft. All rights reserved. + #Licensed under the MIT license. See LICENSE file in the project root for full license information. + +-if(UNIX) +- if(${use_http}) +- include(CMakeFindDependencyMacro) +- find_dependency(CURL) +- endif() ++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") 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 7bdb50aa127ccd..0c37e27b7d4205 100644 --- a/ports/azure-c-shared-utility/portfile.cmake +++ b/ports/azure-c-shared-utility/portfile.cmake @@ -1,49 +1,38 @@ -vcpkg_fail_port_install(ON_TARGET "UWP") - vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -if("public-preview" IN_LIST FEATURES) - vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO Azure/azure-c-shared-utility - REF 42574842914591aadc77701aac72f18cc72319ad - SHA512 dfe6ccede4bebdb3a39fbfea1dc55ddca57cced0d2656ee4bed1a5e5c9c434e1f2d892eb4e29bbb424cb9a02f2374a95fb9a020442bea580d39c242efad1b789 - HEAD_REF master - PATCHES - fix-utilityFunctions-conditions-preview.patch - disable-error.patch - ) -else() - vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO Azure/azure-c-shared-utility - REF 73a2039cc0de5ececf5755ebe731a6b5b98f85da - SHA512 6374b7b175a5c0206bee148c35eb6a3a79f1b149e87d2b51981a9fd1446809134a1aa0f28f4acf1318719ac5554f7bd8de225a5dca63eb6537012aed6b10e4cc - HEAD_REF master - PATCHES - fix-utilityFunctions-conditions.patch - disable-error.patch - ) -endif() - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Azure/azure-c-shared-utility + 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( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -Dskip_samples=ON -Duse_installed_dependencies=ON -Duse_default_uuid=ON -Dbuild_as_dynamic=OFF + MAYBE_UNUSED_VARIABLES + build_as_dynamic ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH cmake TARGET_PATH share/azure_c_shared_utility) +vcpkg_cmake_config_fixup(PACKAGE_NAME azure_c_shared_utility CONFIG_PATH lib/cmake/azure_c_shared_utility) -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") -file(COPY ${SOURCE_PATH}/configs/azure_iot_build_rules.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +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 7fa90c73e2cf17..91d0bc09141605 100644 --- a/ports/azure-c-shared-utility/vcpkg.json +++ b/ports/azure-c-shared-utility/vcpkg.json @@ -1,46 +1,29 @@ { "name": "azure-c-shared-utility", - "version-date": "2021-09-09", + "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", "supports": "!uwp", "dependencies": [ "azure-macro-utils-c", { "name": "curl", - "platform": "linux" + "platform": "!windows" }, { "name": "openssl", - "platform": "linux" + "platform": "!windows & !osx" }, - "umock-c" - ], - "features": { - "public-preview": { - "description": "Azure C SDKs common code (public preview)", - "dependencies": [ - { - "name": "azure-macro-utils-c", - "features": [ - "public-preview" - ] - }, - { - "name": "curl", - "platform": "linux" - }, - { - "name": "openssl", - "platform": "linux" - }, - { - "name": "umock-c", - "features": [ - "public-preview" - ] - } - ] + "umock-c", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true } - } + ] } diff --git a/ports/azure-core-amqp-cpp/portfile.cmake b/ports/azure-core-amqp-cpp/portfile.cmake new file mode 100644 index 00000000000000..8e1dbfb178df74 --- /dev/null +++ b/ports/azure-core-amqp-cpp/portfile.cmake @@ -0,0 +1,35 @@ +# 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_${VERSION}" + SHA512 92d5648b832c38587c2ceccaf3293252a7f5b976df7f57fc475b8fcd396ba3bb7fd2c18e46b3b06f6c8776aed6df1c4a36ef2b8bc5f07f1f23c771ff476a7af7 + HEAD_REF main + PATCHES + set_version.patch +) + +if(EXISTS "${SOURCE_PATH}/sdk/core/azure-core-amqp") + file(REMOVE_RECURSE "${SOURCE_PATH}/sdk/core/_") + file(REMOVE_RECURSE "${SOURCE_PATH}/sdk/_") + file(REMOVE_RECURSE "${SOURCE_PATH}/_") + + file(RENAME "${SOURCE_PATH}/sdk/core/azure-core-amqp" "${SOURCE_PATH}/sdk/core/_") + file(RENAME "${SOURCE_PATH}/sdk/core" "${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-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 new file mode 100644 index 00000000000000..a8357c35faebb4 --- /dev/null +++ b/ports/azure-core-amqp-cpp/vcpkg.json @@ -0,0 +1,34 @@ +{ + "$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.11", + "port-version": 1, + "description": [ + "Microsoft Azure AMQP SDK for C++", + "This library provides AMQP functionality to Azure SDK services." + ], + "homepage": "https://github.com/Azure/azure-sdk-for-cpp/tree/main/sdk/core/azure-core-amqp", + "license": "MIT", + "supports": "!uwp", + "dependencies": [ + "azure-c-shared-utility", + { + "name": "azure-core-cpp", + "default-features": false, + "version>=": "1.11.3" + }, + "azure-macro-utils-c", + "umock-c", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/azure-core-cpp/portfile.cmake b/ports/azure-core-cpp/portfile.cmake index 82279f8f189b31..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.3.1 - SHA512 affdd6387b5b40f0362d4151f91b1a0f3d0269189240baf981e31a9a1860b77d7fcfeb7819f93f9b1e5764ab1ba2190cf1c6261f23345e0928453550f8537de1 + REF "azure-core_${VERSION}" + SHA512 f639e8fcabfdc81816abcfe9869d6ebf2862e39398a4ee14e82e91345fad3aaf279159486cfc5c72d7cedefce539eeb63fc694d318fe7647e521f57173e980d2 + HEAD_REF main ) vcpkg_check_features( @@ -12,11 +16,23 @@ vcpkg_check_features( winhttp BUILD_TRANSPORT_WINHTTP ) +if(EXISTS "${SOURCE_PATH}/sdk/core/azure-core") + file(REMOVE_RECURSE "${SOURCE_PATH}/sdk/core/_") + file(REMOVE_RECURSE "${SOURCE_PATH}/sdk/_") + file(REMOVE_RECURSE "${SOURCE_PATH}/_") + + file(RENAME "${SOURCE_PATH}/sdk/core/azure-core" "${SOURCE_PATH}/sdk/core/_") + file(RENAME "${SOURCE_PATH}/sdk/core" "${SOURCE_PATH}/sdk/_") + file(RENAME "${SOURCE_PATH}/sdk" "${SOURCE_PATH}/_") +endif() + vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH}/sdk/core/azure-core/ + SOURCE_PATH "${SOURCE_PATH}/_/_/_" OPTIONS ${FEATURE_OPTIONS} -DWARNINGS_AS_ERRORS=OFF + -DBUILD_TESTING=OFF + -DNO_AUTOMATIC_TRANSPORT_BUILD=ON ) vcpkg_cmake_install() diff --git a/ports/azure-core-cpp/vcpkg.json b/ports/azure-core-cpp/vcpkg.json index 91bf1818164b37..316e2c811f3543 100644 --- a/ports/azure-core-cpp/vcpkg.json +++ b/ports/azure-core-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-core-cpp", - "version-semver": "1.3.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++." @@ -64,11 +68,13 @@ }, "winhttp": { "description": "WinHTTP HTTP transport implementation", + "supports": "windows & !uwp", "dependencies": [ { "name": "azure-core-cpp", "default-features": false - } + }, + "wil" ] } } diff --git a/ports/azure-core-tracing-opentelemetry-cpp/portfile.cmake b/ports/azure-core-tracing-opentelemetry-cpp/portfile.cmake new file mode 100644 index 00000000000000..9cb2fff0c06557 --- /dev/null +++ b/ports/azure-core-tracing-opentelemetry-cpp/portfile.cmake @@ -0,0 +1,36 @@ +# 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_${VERSION}" + SHA512 645c616fe54024f30a6e4b9c2626bfeaf906086be7bbeccc4a1155178670fb70d9818938db2f9fa8e3b9593ca45e0b10042dcd67fde04d2542f6f72a74884697 + HEAD_REF main + PATCHES + useragent.patch + set_version.patch +) + +if(EXISTS "${SOURCE_PATH}/sdk/core/azure-core-tracing-opentelemetry") + file(REMOVE_RECURSE "${SOURCE_PATH}/sdk/core/_") + file(REMOVE_RECURSE "${SOURCE_PATH}/sdk/_") + file(REMOVE_RECURSE "${SOURCE_PATH}/_") + + file(RENAME "${SOURCE_PATH}/sdk/core/azure-core-tracing-opentelemetry" "${SOURCE_PATH}/sdk/core/_") + file(RENAME "${SOURCE_PATH}/sdk/core" "${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-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 new file mode 100644 index 00000000000000..6d119f5bd676ea --- /dev/null +++ b/ports/azure-core-tracing-opentelemetry-cpp/vcpkg.json @@ -0,0 +1,35 @@ +{ + "$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": 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." + ], + "homepage": "https://github.com/Azure/azure-sdk-for-cpp/tree/main/sdk/core/azure-core-tracing-opentelemetry", + "license": "MIT", + "supports": "!(windows & !static)", + "dependencies": [ + { + "name": "azure-core-cpp", + "default-features": false, + "version>=": "1.8.0" + }, + { + "name": "opentelemetry-cpp", + "version>=": "1.3.0" + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/azure-data-tables-cpp/portfile.cmake b/ports/azure-data-tables-cpp/portfile.cmake new file mode 100644 index 00000000000000..6e1f60972acad9 --- /dev/null +++ b/ports/azure-data-tables-cpp/portfile.cmake @@ -0,0 +1,35 @@ +# 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 16d45e595b0ce2a16b8e65d1ac7ffd56d08ea3f51ca87592d9826a246690cda494d0b7aa20f3b59a0f3376be1bc724eb4b50330c5d7e93a484c866d0d349012f + HEAD_REF main + PATCHES + set_version.patch +) + +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/set_version.patch b/ports/azure-data-tables-cpp/set_version.patch new file mode 100644 index 00000000000000..491e1784a2b13a --- /dev/null +++ b/ports/azure-data-tables-cpp/set_version.patch @@ -0,0 +1,12 @@ +diff --git a/sdk/tables/azure-data-tables/CMakeLists.txt b/sdk/tables/azure-data-tables/CMakeLists.txt +index 038e267d7..f3b5e679c 100644 +--- a/sdk/tables/azure-data-tables/CMakeLists.txt ++++ b/sdk/tables/azure-data-tables/CMakeLists.txt +@@ -106,6 +106,7 @@ target_include_directories( + target_link_libraries(azure-data-tables PUBLIC Azure::azure-core) + + get_az_version("${CMAKE_CURRENT_SOURCE_DIR}/src/private/package_version.hpp") ++set_target_properties(azure-data-tables PROPERTIES VERSION ${AZ_LIBRARY_VERSION}) + generate_documentation(azure-data-tables ${AZ_LIBRARY_VERSION}) + + az_vcpkg_export( diff --git a/ports/azure-data-tables-cpp/vcpkg.json b/ports/azure-data-tables-cpp/vcpkg.json new file mode 100644 index 00000000000000..27e37faf20e668 --- /dev/null +++ b/ports/azure-data-tables-cpp/vcpkg.json @@ -0,0 +1,39 @@ +{ + "$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.4", + "port-version": 1, + "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 417698981c134a..966d394518099a 100644 --- a/ports/azure-identity-cpp/portfile.cmake +++ b/ports/azure-identity-cpp/portfile.cmake @@ -1,14 +1,29 @@ +# 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.1.0 - SHA512 83893ae2bc5edf7d63615e6017ea0474e9c620171e9320dabbe41d40b5659dca4f6d8a10599ec02054b2d3265eebfbd419ceab43669ba5ba0e04e72a38297a07 + REF "azure-identity_${VERSION}" + SHA512 09c2105d66e2cfc5cb68ae873979b380574307bd89b61126d0abbcf728f5005a67202728204dac3870a5875bede4c80cb44585a8de6e53cb0e2dd01c3a3fb6f3 + HEAD_REF main ) +if(EXISTS "${SOURCE_PATH}/sdk/identity/azure-identity") + file(REMOVE_RECURSE "${SOURCE_PATH}/sdk/identity/_") + file(REMOVE_RECURSE "${SOURCE_PATH}/sdk/_") + file(REMOVE_RECURSE "${SOURCE_PATH}/_") + + file(RENAME "${SOURCE_PATH}/sdk/identity/azure-identity" "${SOURCE_PATH}/sdk/identity/_") + file(RENAME "${SOURCE_PATH}/sdk/identity" "${SOURCE_PATH}/sdk/_") + file(RENAME "${SOURCE_PATH}/sdk" "${SOURCE_PATH}/_") +endif() + vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH}/sdk/identity/azure-identity/ + SOURCE_PATH "${SOURCE_PATH}/_/_/_" OPTIONS -DWARNINGS_AS_ERRORS=OFF + -DBUILD_TESTING=OFF ) vcpkg_cmake_install() diff --git a/ports/azure-identity-cpp/vcpkg.json b/ports/azure-identity-cpp/vcpkg.json index ec0ea4dbb02bee..e8f321b17600df 100644 --- a/ports/azure-identity-cpp/vcpkg.json +++ b/ports/azure-identity-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-identity-cpp", - "version-semver": "1.1.0", + "version-semver": "1.10.1", "description": [ "Microsoft Azure Identity SDK for C++", "This library provides common authentication-related abstractions for Azure SDK." @@ -10,7 +14,12 @@ "dependencies": [ { "name": "azure-core-cpp", - "default-features": false + "default-features": false, + "version>=": "1.14.0" + }, + { + "name": "openssl", + "platform": "!windows & !uwp" }, { "name": "vcpkg-cmake", @@ -19,6 +28,10 @@ { "name": "vcpkg-cmake-config", "host": true + }, + { + "name": "wil", + "platform": "windows & !uwp" } ] } diff --git a/ports/azure-iot-sdk-c/fix-cmake.patch b/ports/azure-iot-sdk-c/fix-cmake.patch deleted file mode 100644 index b75b4ca7c86e35..00000000000000 --- a/ports/azure-iot-sdk-c/fix-cmake.patch +++ /dev/null @@ -1,40 +0,0 @@ -diff --git a/provisioning_client/CMakeLists.txt b/provisioning_client/CMakeLists.txt -index c39188dca..d4ef43cb3 100644 ---- a/provisioning_client/CMakeLists.txt -+++ b/provisioning_client/CMakeLists.txt -@@ -359,7 +359,7 @@ if(${use_installed_dependencies}) - set(CMAKE_INSTALL_LIBDIR "lib") - endif() - -- install(TARGETS ${provisioning_libs} EXPORT azure_prov_sdksTargets -+ install(TARGETS ${provisioning_libs} EXPORT azure_iot_sdksTargets - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - RUNTIME DESTINATION ${CMAKE_INSTALL_LIBDIR}/../bin -@@ -374,26 +374,6 @@ if(${use_installed_dependencies}) - VERSION ${PROV_SDK_VERSION} - COMPATIBILITY SameMajorVersion - ) -- -- configure_file("../configs/${PROJECT_NAME}Config.cmake" -- "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}/${PROJECT_NAME}Config.cmake" -- COPYONLY -- ) -- -- install(EXPORT azure_prov_sdksTargets -- FILE -- "${PROJECT_NAME}Targets.cmake" -- DESTINATION -- ${package_location} -- ) -- -- install( -- FILES -- "../configs/${PROJECT_NAME}Config.cmake" -- "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}/${PROJECT_NAME}ConfigVersion.cmake" -- DESTINATION -- ${package_location} -- ) - else() - # Install Provisioning libs - if(NOT DEFINED CMAKE_INSTALL_LIBDIR) diff --git a/ports/azure-iot-sdk-c/fix-install-location.patch b/ports/azure-iot-sdk-c/fix-install-location.patch new file mode 100644 index 00000000000000..aeb0c817c8096d --- /dev/null +++ b/ports/azure-iot-sdk-c/fix-install-location.patch @@ -0,0 +1,40 @@ +diff --git a/provisioning_client/CMakeLists.txt b/provisioning_client/CMakeLists.txt +index 39f269d51..ff53ca32d 100644 +--- a/provisioning_client/CMakeLists.txt ++++ b/provisioning_client/CMakeLists.txt +@@ -357,7 +357,7 @@ if(${use_installed_dependencies}) + set(CMAKE_INSTALL_LIBDIR "lib") + endif() + +- install(TARGETS ${provisioning_libs} EXPORT azure_prov_sdksTargets ++ install(TARGETS ${provisioning_libs} EXPORT azure_iot_sdksTargets + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} +@@ -372,26 +372,6 @@ if(${use_installed_dependencies}) + VERSION ${PROV_SDK_VERSION} + COMPATIBILITY SameMajorVersion + ) +- +- configure_file("../configs/${PROJECT_NAME}Config.cmake" +- "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}/${PROJECT_NAME}Config.cmake" +- COPYONLY +- ) +- +- install(EXPORT azure_prov_sdksTargets +- FILE +- "${PROJECT_NAME}Targets.cmake" +- DESTINATION +- ${package_location} +- ) +- +- install( +- FILES +- "../configs/${PROJECT_NAME}Config.cmake" +- "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}/${PROJECT_NAME}ConfigVersion.cmake" +- DESTINATION +- ${package_location} +- ) + else() + # Install Provisioning libs + if(NOT DEFINED CMAKE_INSTALL_LIBDIR) diff --git a/ports/azure-iot-sdk-c/fix-iothubclient-includes.patch b/ports/azure-iot-sdk-c/fix-iothubclient-includes.patch new file mode 100644 index 00000000000000..1a5173629d8e4b --- /dev/null +++ b/ports/azure-iot-sdk-c/fix-iothubclient-includes.patch @@ -0,0 +1,14 @@ +diff --git a/iothub_client/CMakeLists.txt b/iothub_client/CMakeLists.txt +index 5a8f5573c..07ab3b7cb 100644 +--- a/iothub_client/CMakeLists.txt ++++ b/iothub_client/CMakeLists.txt +@@ -442,8 +442,6 @@ target_include_directories(iothub_client + PUBLIC + $ +- $ ++ $ +- $ +- $ + ) + applyXcodeBuildFlagsIfNeeded(iothub_client) + target_link_libraries(iothub_client ${iothub_client_libs}) diff --git a/ports/azure-iot-sdk-c/improve-external-deps.patch b/ports/azure-iot-sdk-c/improve-external-deps.patch index 171964bafc5047..0dbd27c50c15d9 100644 --- a/ports/azure-iot-sdk-c/improve-external-deps.patch +++ b/ports/azure-iot-sdk-c/improve-external-deps.patch @@ -1,82 +1,43 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index a8011fb..9fc05c7 100644 +index 427e82e..5a58e47 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -155,17 +155,6 @@ endif() - # Use solution folders. - set_property(GLOBAL PROPERTY USE_FOLDERS ON) +@@ -257,6 +257,9 @@ add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/deps) + if(${use_installed_dependencies}) + find_package(parson REQUIRED CONFIG) + endif() ++if(NOT TARGET parson) ++ add_library(parson ALIAS parson::parson) ++endif() --# build the parson library for json parsing --add_library(parson -- ./deps/parson/parson.c -- ./deps/parson/parson.h --) --if (MSVC) -- set_source_files_properties(../deps/parson/parson.c PROPERTIES COMPILE_FLAGS "/wd4244 /wd4232") --endif() --set(parson_h_install_files ./deps/parson/parson.h) --set(parson_install_libs parson) -- - if (IN_OPENWRT) - ADD_DEFINITIONS("$ENV{TARGET_LDFLAGS}" "$ENV{TARGET_CPPFLAGS}" "$ENV{TARGET_CFLAGS}") - INCLUDE_DIRECTORIES("$ENV{TOOLCHAIN_DIR}/usr/include" "$ENV{TARGET_LDFLAGS}" "$ENV{TARGET_CPPFLAGS}" "$ENV{TARGET_CFLAGS}") + include_directories(${MACRO_UTILS_INC_FOLDER}) + include_directories(${UMOCK_C_INC_FOLDER}) diff --git a/configs/azure_iot_sdksConfig.cmake b/configs/azure_iot_sdksConfig.cmake index b9c62e8..edf5847 100644 --- a/configs/azure_iot_sdksConfig.cmake +++ b/configs/azure_iot_sdksConfig.cmake -@@ -1,5 +1,10 @@ +@@ -1,5 +1,11 @@ #Copyright (c) Microsoft. All rights reserved. #Licensed under the MIT license. See LICENSE file in the project root for full license information. +include(CMakeFindDependencyMacro) -+find_dependency(unofficial-parson) ++find_dependency(parson) +find_dependency(uamqp) ++find_dependency(uhttp) +find_dependency(umqtt) +find_dependency(azure_c_shared_utility) include("${CMAKE_CURRENT_LIST_DIR}/azure_iot_sdksTargets.cmake") -diff --git a/dependencies.cmake b/dependencies.cmake -index fd06df6..c0e06fa 100644 ---- a/dependencies.cmake -+++ b/dependencies.cmake -@@ -18,6 +18,9 @@ if(${use_installed_dependencies}) - endif () - endif () - -+ find_package(unofficial-parson REQUIRED) -+ link_libraries(unofficial::parson::parson) -+ - else () - add_subdirectory(c-utility) - diff --git a/iothub_client/tests/iothubclient_amqp_dt_e2e/CMakeLists.txt b/iothub_client/tests/iothubclient_amqp_dt_e2e/CMakeLists.txt -index 161872a..d53e111 100644 +index 33b5b8709..45ef7b87a 100644 --- a/iothub_client/tests/iothubclient_amqp_dt_e2e/CMakeLists.txt +++ b/iothub_client/tests/iothubclient_amqp_dt_e2e/CMakeLists.txt -@@ -31,12 +31,10 @@ set(${theseTestsName}_nuget_c_files +@@ -22,11 +22,9 @@ set(${theseTestsName}_c_files set(${theseTestsName}_c_files ../../../certs/certs.c - ../../../deps/parson/parson.c ) - - set(${theseTestsName}_h_files - ../../../certs/certs.h -- ../../../deps/parson/parson.h - ../common_dt_e2e/iothubclient_common_dt_e2e.h - ) - -diff --git a/iothub_client/tests/iothubclient_mqtt_dt_e2e/CMakeLists.txt b/iothub_client/tests/iothubclient_mqtt_dt_e2e/CMakeLists.txt -index d472161..b0291e8 100644 ---- a/iothub_client/tests/iothubclient_mqtt_dt_e2e/CMakeLists.txt -+++ b/iothub_client/tests/iothubclient_mqtt_dt_e2e/CMakeLists.txt -@@ -31,12 +31,10 @@ set(${theseTestsName}_nuget_c_files - - set(${theseTestsName}_c_files - ../../../certs/certs.c -- ../../../deps/parson/parson.c - ) - set(${theseTestsName}_h_files ../../../certs/certs.h - ../../../deps/parson/parson.h @@ -87,7 +48,7 @@ diff --git a/iothub_client/tests/iothubclient_mqtt_dt_e2e_sfc/CMakeLists.txt b/i index d05d654..5872c8d 100644 --- a/iothub_client/tests/iothubclient_mqtt_dt_e2e_sfc/CMakeLists.txt +++ b/iothub_client/tests/iothubclient_mqtt_dt_e2e_sfc/CMakeLists.txt -@@ -31,12 +31,10 @@ set(${theseTestsName}_nuget_c_files +@@ -22,12 +22,10 @@ set(${theseTestsName}_nuget_c_files set(${theseTestsName}_c_files ../../../certs/certs.c @@ -100,18 +61,3 @@ index d05d654..5872c8d 100644 ../common_dt_e2e/iothubclient_common_dt_e2e.h ) -diff --git a/iothub_service_client/CMakeLists.txt b/iothub_service_client/CMakeLists.txt -index e47473e..b073513 100644 ---- a/iothub_service_client/CMakeLists.txt -+++ b/iothub_service_client/CMakeLists.txt -@@ -81,9 +81,7 @@ endif() - setSdkTargetBuildProperties(iothub_service_client) - - if(NOT ${nuget_e2e_tests}) -- target_link_libraries(iothub_service_client uamqp parson) --else() -- target_link_libraries(iothub_service_client parson) -+ target_link_libraries(iothub_service_client uamqp) - endif() - - if (NOT ${ARCHITECTURE} STREQUAL "ARM") diff --git a/ports/azure-iot-sdk-c/portfile.cmake b/ports/azure-iot-sdk-c/portfile.cmake index 8e6043d9283b29..0abc101dc31ff8 100644 --- a/ports/azure-iot-sdk-c/portfile.cmake +++ b/ports/azure-iot-sdk-c/portfile.cmake @@ -1,30 +1,16 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -if("public-preview" IN_LIST FEATURES) - vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO Azure/azure-iot-sdk-c - REF cb2e8d390df56ffa31d08ca0a79ab58ff96160cc - SHA512 6798b17d6768b3ccbd0eb66719b50f364cd951736eb71110e2dc9deca054a1566ff88b9e8c5e9b52536e4308cad6cd3cbebff3282c123083e3afaee5535e724b - HEAD_REF public-preview - PATCHES - improve-external-deps.patch - fix-cmake.patch - remove-werror.patch - ) -else() - vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO Azure/azure-iot-sdk-c - REF 808a5595f98853a5f2eae2c67dd9b3608a2338ea - SHA512 29cb04679b75a48a8a69713045465c7c416755764ec80781405c8528abd8225654c3262ed3816fb03a13f7505f6c811afbdc5dabc79b676b4f727feaf11e0583 - HEAD_REF master - PATCHES - improve-external-deps.patch - fix-cmake.patch - remove-werror.patch - ) -endif() +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Azure/azure-iot-sdk-c + REF 9c70f98b7b659e169ae44389a5142f3a386c5791 + SHA512 ba00534f9881f0be260008c13b91f87285690c11b2a6ca0b94b2f73bbe6dcf60433382b45df9f42340b121f846bc66a621672fdfa18323227600d031d99bb3cd + HEAD_REF master + PATCHES + fix-install-location.patch + improve-external-deps.patch + fix-iothubclient-includes.patch +) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES @@ -32,12 +18,11 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS use-prov-client use_prov_client ) -file(COPY ${CURRENT_INSTALLED_DIR}/share/azure-c-shared-utility/azure_iot_build_rules.cmake DESTINATION ${SOURCE_PATH}/deps/azure-c-shared-utility/configs/) -file(COPY ${SOURCE_PATH}/configs/azure_iot_sdksFunctions.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/cmake/azure_iot_sdks/) +file(COPY "${CURRENT_INSTALLED_DIR}/share/azure-c-shared-utility/azure_iot_build_rules.cmake" DESTINATION "${SOURCE_PATH}/deps/azure-c-shared-utility/configs/") +file(COPY "${SOURCE_PATH}/configs/azure_iot_sdksFunctions.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/cmake/azure_iot_sdks/") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${FEATURE_OPTIONS} -Dskip_samples=ON -Duse_installed_dependencies=ON @@ -45,14 +30,18 @@ vcpkg_configure_cmake( -Dbuild_as_dynamic=OFF -Duse_edge_modules=ON -Dwarnings_as_errors=OFF + -Dhsm_type_sastoken=OFF + MAYBE_UNUSED_VARIABLES + build_as_dynamic + warnings_as_errors ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH cmake TARGET_PATH share/azure_iot_sdks) +vcpkg_cmake_config_fixup(PACKAGE_NAME azure_iot_sdks CONFIG_PATH "lib/cmake/azure_iot_sdks") -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") -configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) +configure_file("${SOURCE_PATH}/LICENSE" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) vcpkg_copy_pdbs() diff --git a/ports/azure-iot-sdk-c/remove-werror.patch b/ports/azure-iot-sdk-c/remove-werror.patch deleted file mode 100644 index 694ae7929e89af..00000000000000 --- a/ports/azure-iot-sdk-c/remove-werror.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -34,14 +34,11 @@ - if (MSVC) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W4 /wd4232") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W4 /wd4232") - # Make warning as error -- add_definitions(/WX) - else() - # Make warning as error -- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror") -- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror") - endif() - - IF(WIN32) - # windows needs this define - add_definitions(-D_CRT_SECURE_NO_WARNINGS) - diff --git a/ports/azure-iot-sdk-c/vcpkg.json b/ports/azure-iot-sdk-c/vcpkg.json index a04e188d8745c1..480a83d5f28866 100644 --- a/ports/azure-iot-sdk-c/vcpkg.json +++ b/ports/azure-iot-sdk-c/vcpkg.json @@ -1,8 +1,9 @@ { "name": "azure-iot-sdk-c", - "version-date": "2021-09-09", + "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", "dependencies": [ "azure-c-shared-utility", "azure-macro-utils-c", @@ -10,50 +11,17 @@ "azure-uhttp-c", "azure-umqtt-c", "parson", - "umock-c" + "umock-c", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ], "features": { - "public-preview": { - "description": "A version of the azure-iot-sdk-c containing public-preview features.", - "dependencies": [ - { - "name": "azure-c-shared-utility", - "features": [ - "public-preview" - ] - }, - { - "name": "azure-macro-utils-c", - "features": [ - "public-preview" - ] - }, - { - "name": "azure-uamqp-c", - "features": [ - "public-preview" - ] - }, - { - "name": "azure-uhttp-c", - "features": [ - "public-preview" - ] - }, - { - "name": "azure-umqtt-c", - "features": [ - "public-preview" - ] - }, - { - "name": "umock-c", - "features": [ - "public-preview" - ] - } - ] - }, "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 new file mode 100644 index 00000000000000..7d3b1c3d7936f0 --- /dev/null +++ b/ports/azure-kinect-sensor-sdk/fix-build-imgui.patch @@ -0,0 +1,57 @@ +diff --git a/tools/k4aviewer/k4alogdockcontrol.cpp b/tools/k4aviewer/k4alogdockcontrol.cpp +index 4289f71..407e912 100644 +--- a/tools/k4aviewer/k4alogdockcontrol.cpp ++++ b/tools/k4aviewer/k4alogdockcontrol.cpp +@@ -161,7 +161,7 @@ K4ADockControlStatus K4ALogDockControl::Show() + + if (updated) + { +- ImGui::SetScrollHere(1.0f); ++ ImGui::SetScrollHereY(1.0f); + } + + 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..881d5abe2e8d6e 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() @@ -34,14 +34,13 @@ index 4f002b5..d48f3f2 100644 +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 bffcf83e8fd725..cedac7bdfed363 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 @@ -10,9 +10,12 @@ vcpkg_from_github( fix-dependency-imgui.patch 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}") @@ -23,43 +26,38 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS ) # .rc file needs windows.h, so do not use PREFER_NINJA here -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} +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 -DWITH_TEST=OFF - -DIMGUI_EXTERNAL_PATH=${CURRENT_INSTALLED_DIR}/include/bindings + -DIMGUI_EXTERNAL_PATH="${CURRENT_INSTALLED_DIR}/include/bindings" ) -vcpkg_install_cmake() +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) -file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cmake ${CURRENT_PACKAGES_DIR}/share) -vcpkg_fixup_cmake_targets(CONFIG_PATH share/k4a TARGET_PATH share/k4a) -vcpkg_fixup_cmake_targets(CONFIG_PATH share/k4arecord TARGET_PATH share/k4arecord) +file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/cmake" "${CURRENT_PACKAGES_DIR}/debug/share") +file(RENAME "${CURRENT_PACKAGES_DIR}/lib/cmake" "${CURRENT_PACKAGES_DIR}/share") + +vcpkg_cmake_config_fixup(PACKAGE_NAME k4a CONFIG_PATH share/k4a) +vcpkg_cmake_config_fixup(PACKAGE_NAME k4arecord CONFIG_PATH share/k4arecord) vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") if ("tool" IN_LIST FEATURES) - if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL release) - file(GLOB AZURE_TOOLS ${CURRENT_PACKAGES_DIR}/bin/*${VCPKG_TARGET_EXECUTABLE_SUFFIX}) - file(COPY ${AZURE_TOOLS} DESTINATION ${CURRENT_PACKAGES_DIR}/tools) - file(REMOVE ${AZURE_TOOLS}) - endif() - if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL debug) - file(GLOB AZURE_TOOLS ${CURRENT_PACKAGES_DIR}/debug/bin/*${VCPKG_TARGET_EXECUTABLE_SUFFIX}) - file(REMOVE ${AZURE_TOOLS}) - endif() + vcpkg_copy_tools(TOOL_NAMES k4arecorder k4aviewer AzureKinectFirmwareTool AUTO_CLEAN) endif() if (VCPKG_LIBRARY_LINKAGE STREQUAL static) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") endif() # Install Depth Engine @@ -69,8 +67,8 @@ vcpkg_download_distfile(ARCHIVE SHA512 17630a00f4e9ff3ef68945b62021f6d0390030b43c120c207afe934075a7a87c5848be1f46f4c35c7ecd5698012452ffcbb67f739e9048857410ec7077e5e8c6 ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH PACKAGE_PATH +vcpkg_extract_source_archive( + PACKAGE_PATH ARCHIVE ${ARCHIVE} NO_REMOVE_ONE_LEVEL ) @@ -84,14 +82,14 @@ else () 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) + 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") 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) + 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") 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 f20bbe2af61bf3..ced72efcfb5d17 100644 --- a/ports/azure-kinect-sensor-sdk/vcpkg.json +++ b/ports/azure-kinect-sensor-sdk/vcpkg.json @@ -1,10 +1,10 @@ { "name": "azure-kinect-sensor-sdk", "version": "1.4.1", - "port-version": 3, + "port-version": 7, "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", + "supports": "linux | windows", "dependencies": [ "azure-c-shared-utility", "cjson", @@ -21,7 +21,15 @@ }, "libyuv", "matroska", - "spdlog" + "spdlog", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ], "features": { "docs": { @@ -36,7 +44,7 @@ "name": "imgui", "features": [ "glfw-binding", - "opengl3-glew-binding" + "opengl3-binding" ] } ] diff --git a/ports/azure-macro-utils-c/portfile.cmake b/ports/azure-macro-utils-c/portfile.cmake index 225def8146bafd..b61022018a4752 100644 --- a/ports/azure-macro-utils-c/portfile.cmake +++ b/ports/azure-macro-utils-c/portfile.cmake @@ -1,35 +1,23 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -if("public-preview" IN_LIST FEATURES) - vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO Azure/azure-macro-utils-c - REF 7523af934fc4d9423111e358f49b19314ec9c3e3 - SHA512 441d2420be319195ef50d0b03028e44c470adedc316dc338245cbc51ec2e78863cb42a9665d84a628056d212927abb5aeaf5c489e7c36b5257b16a28b3652e6e - HEAD_REF master - FILE_DISAMBIGUATOR 1 - ) -else() - vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO Azure/azure-macro-utils-c - REF 5926caf4e42e98e730e6d03395788205649a3ada - SHA512 8f9fd02012202db6cff5b647edbc8332a2c03963e80182a630af6a884f23df96b8e24d60e5412bfc2a0a7f43240a54f9597040aa28a9d3e1566755e1d52aac62 - HEAD_REF master - FILE_DISAMBIGUATOR 1 - ) -endif() - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Azure/azure-macro-utils-c + REF 5926caf4e42e98e730e6d03395788205649a3ada + SHA512 8f9fd02012202db6cff5b647edbc8332a2c03963e80182a630af6a884f23df96b8e24d60e5412bfc2a0a7f43240a54f9597040aa28a9d3e1566755e1d52aac62 + HEAD_REF master + FILE_DISAMBIGUATOR 1 +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -Drun_int_tests=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH cmake TARGET_PATH share/azure_macro_utils_c) +vcpkg_cmake_config_fixup(PACKAGE_NAME azure_macro_utils_c CONFIG_PATH "cmake") file(COPY ${SOURCE_PATH}/inc/azure_macro_utils/macro_utils.h DESTINATION ${CURRENT_PACKAGES_DIR}/share/azure_macro_utils_c/include/azure_macro_utils) diff --git a/ports/azure-macro-utils-c/vcpkg.json b/ports/azure-macro-utils-c/vcpkg.json index 367a73a1746a22..ab060e5cf272b0 100644 --- a/ports/azure-macro-utils-c/vcpkg.json +++ b/ports/azure-macro-utils-c/vcpkg.json @@ -1,11 +1,17 @@ { "name": "azure-macro-utils-c", - "version-string": "2020-06-17", - "port-version": 3, + "version-date": "2022-01-21", + "port-version": 1, "description": "A library of macros for the Azure IoT SDK Suite", - "features": { - "public-preview": { - "description": "A library of macros for the Azure IoT SDK Suite (public-preview)" + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true } - } + ] } diff --git a/ports/azure-messaging-eventhubs-checkpointstore-blob-cpp/portfile.cmake b/ports/azure-messaging-eventhubs-checkpointstore-blob-cpp/portfile.cmake new file mode 100644 index 00000000000000..248ec2fbdceff8 --- /dev/null +++ b/ports/azure-messaging-eventhubs-checkpointstore-blob-cpp/portfile.cmake @@ -0,0 +1,36 @@ +# 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_${VERSION}" + SHA512 7c55eda0c04bbc57729a7b479d8d5874b0e06927aff1916833520a3a944e63b6fceabd3565fd91549ec00157f2c4af5a87a6a2db55a5c24df611cd96572f9a08 + HEAD_REF main + PATCHES + useragent.patch + set_version.patch +) + +if(EXISTS "${SOURCE_PATH}/sdk/eventhubs/azure-messaging-eventhubs-checkpointstore-blob") + file(REMOVE_RECURSE "${SOURCE_PATH}/sdk/eventhubs/_") + file(REMOVE_RECURSE "${SOURCE_PATH}/sdk/_") + file(REMOVE_RECURSE "${SOURCE_PATH}/_") + + file(RENAME "${SOURCE_PATH}/sdk/eventhubs/azure-messaging-eventhubs-checkpointstore-blob" "${SOURCE_PATH}/sdk/eventhubs/_") + file(RENAME "${SOURCE_PATH}/sdk/eventhubs" "${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-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 new file mode 100644 index 00000000000000..96636239929c17 --- /dev/null +++ b/ports/azure-messaging-eventhubs-checkpointstore-blob-cpp/vcpkg.json @@ -0,0 +1,40 @@ +{ + "$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." + ], + "homepage": "https://github.com/Azure/azure-sdk-for-cpp/tree/main/sdk/eventhubs/azure-messaging-eventhubs-checkpointstore-blob", + "license": "MIT", + "dependencies": [ + { + "name": "azure-core-amqp-cpp", + "default-features": false, + "version>=": "1.0.0-beta.2" + }, + { + "name": "azure-messaging-eventhubs-cpp", + "default-features": false, + "version>=": "1.0.0-beta.2" + }, + { + "name": "azure-storage-blobs-cpp", + "default-features": false, + "version>=": "12.8.0" + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/azure-messaging-eventhubs-cpp/portfile.cmake b/ports/azure-messaging-eventhubs-cpp/portfile.cmake new file mode 100644 index 00000000000000..ea0bf92a4fb2b3 --- /dev/null +++ b/ports/azure-messaging-eventhubs-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-messaging-eventhubs_${VERSION}" + SHA512 13f1ad09a4093ab3a591208e47d6ce5daad2a4e055f2c86fdb49a9dbee4826efb19ddb294c0d5d9a4e5f4e2318059bd57fc346fec5ae1cee26f20839030f4276 + HEAD_REF main +) + +if(EXISTS "${SOURCE_PATH}/sdk/eventhubs/azure-messaging-eventhubs") + file(REMOVE_RECURSE "${SOURCE_PATH}/sdk/eventhubs/_") + file(REMOVE_RECURSE "${SOURCE_PATH}/sdk/_") + file(REMOVE_RECURSE "${SOURCE_PATH}/_") + + file(RENAME "${SOURCE_PATH}/sdk/eventhubs/azure-messaging-eventhubs" "${SOURCE_PATH}/sdk/eventhubs/_") + file(RENAME "${SOURCE_PATH}/sdk/eventhubs" "${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-messaging-eventhubs-cpp/vcpkg.json b/ports/azure-messaging-eventhubs-cpp/vcpkg.json new file mode 100644 index 00000000000000..0bf6ceacecd23c --- /dev/null +++ b/ports/azure-messaging-eventhubs-cpp/vcpkg.json @@ -0,0 +1,34 @@ +{ + "$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.10", + "description": [ + "Microsoft Azure Messaging Event Hubs SDK for C++", + "This library provides Azure Messaging Event Hubs SDK." + ], + "homepage": "https://github.com/Azure/azure-sdk-for-cpp/tree/main/sdk/eventhubs/azure-messaging-eventhubs", + "license": "MIT", + "dependencies": [ + { + "name": "azure-core-amqp-cpp", + "default-features": false, + "version>=": "1.0.0-beta.9" + }, + { + "name": "azure-core-cpp", + "default-features": false, + "version>=": "1.14.1" + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} 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 new file mode 100644 index 00000000000000..cc04c8f3300b2e --- /dev/null +++ b/ports/azure-security-attestation-cpp/portfile.cmake @@ -0,0 +1,37 @@ +# 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_${VERSION}" + SHA512 bf5c0ab830122838045e3e5ff03aae38f81082b50b9b0c61fa21a8c101a2fd98ad98b136d49702665d720f59baa6a89c8af3f161a44c09d24ad747fb1828cbca + HEAD_REF main + PATCHES + context_syntax.patch + useragent.patch + set_version.patch +) + +if(EXISTS "${SOURCE_PATH}/sdk/attestation/azure-security-attestation") + file(REMOVE_RECURSE "${SOURCE_PATH}/sdk/attestation/_") + file(REMOVE_RECURSE "${SOURCE_PATH}/sdk/_") + file(REMOVE_RECURSE "${SOURCE_PATH}/_") + + file(RENAME "${SOURCE_PATH}/sdk/attestation/azure-security-attestation" "${SOURCE_PATH}/sdk/attestation/_") + file(RENAME "${SOURCE_PATH}/sdk/attestation" "${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-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 new file mode 100644 index 00000000000000..0fc6fd35ad6335 --- /dev/null +++ b/ports/azure-security-attestation-cpp/vcpkg.json @@ -0,0 +1,31 @@ +{ + "$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": 6, + "description": [ + "Microsoft Azure Attestation Service SDK for C++", + "This library provides API access to the Microsoft Azure Attestation service." + ], + "homepage": "https://github.com/Azure/azure-sdk-for-cpp/tree/main/sdk/attestation/azure-security-attestation", + "license": "MIT", + "dependencies": [ + { + "name": "azure-core-cpp", + "default-features": false, + "version>=": "1.8.0" + }, + "openssl", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/azure-security-keyvault-administration-cpp/portfile.cmake b/ports/azure-security-keyvault-administration-cpp/portfile.cmake new file mode 100644 index 00000000000000..0a992359288d86 --- /dev/null +++ b/ports/azure-security-keyvault-administration-cpp/portfile.cmake @@ -0,0 +1,35 @@ +# 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_${VERSION}" + SHA512 075364958d05b4eace3babbcc700706a02f2125577d3f903ef4ca2cc71245a45963ca5ac82f1e9bd3903c799d3c44846741802cbd917bbc8f65a92d047caf7ef + HEAD_REF main + PATCHES + set_version.patch +) + +if(EXISTS "${SOURCE_PATH}/sdk/keyvault/azure-security-keyvault-administration") + file(REMOVE_RECURSE "${SOURCE_PATH}/sdk/keyvault/_") + file(REMOVE_RECURSE "${SOURCE_PATH}/sdk/_") + file(REMOVE_RECURSE "${SOURCE_PATH}/_") + + file(RENAME "${SOURCE_PATH}/sdk/keyvault/azure-security-keyvault-administration" "${SOURCE_PATH}/sdk/keyvault/_") + file(RENAME "${SOURCE_PATH}/sdk/keyvault" "${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-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 new file mode 100644 index 00000000000000..1207ed01c40625 --- /dev/null +++ b/ports/azure-security-keyvault-administration-cpp/vcpkg.json @@ -0,0 +1,30 @@ +{ + "$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.5", + "port-version": 1, + "description": [ + "Microsoft Azure Key Vault Administration SDK for C++", + "This library provides Azure Key Vault Administration SDK." + ], + "homepage": "https://github.com/Azure/azure-sdk-for-cpp/tree/main/sdk/keyvault/azure-security-keyvault-administration", + "license": "MIT", + "dependencies": [ + { + "name": "azure-core-cpp", + "default-features": false, + "version>=": "1.9.0" + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/azure-security-keyvault-certificates-cpp/portfile.cmake b/ports/azure-security-keyvault-certificates-cpp/portfile.cmake index 5b0035e64d287a..1960aae4e67315 100644 --- a/ports/azure-security-keyvault-certificates-cpp/portfile.cmake +++ b/ports/azure-security-keyvault-certificates-cpp/portfile.cmake @@ -1,14 +1,32 @@ +# 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.0.0-beta.1 - SHA512 8cb7fccade755cb984a311430a808e777a041e663b607a40308a79b353431abea2eaef1c49c48c783ec9020b5d0e6e53fa101f2e2432bd71bba3b578bfe810ca + 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") + file(REMOVE_RECURSE "${SOURCE_PATH}/sdk/keyvault/_") + file(REMOVE_RECURSE "${SOURCE_PATH}/sdk/_") + file(REMOVE_RECURSE "${SOURCE_PATH}/_") + + file(RENAME "${SOURCE_PATH}/sdk/keyvault/azure-security-keyvault-certificates" "${SOURCE_PATH}/sdk/keyvault/_") + file(RENAME "${SOURCE_PATH}/sdk/keyvault" "${SOURCE_PATH}/sdk/_") + file(RENAME "${SOURCE_PATH}/sdk" "${SOURCE_PATH}/_") +endif() + vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH}/sdk/keyvault/azure-security-keyvault-certificates/ + 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 06b6ce023199f4..fa45bcd04f2090 100644 --- a/ports/azure-security-keyvault-certificates-cpp/vcpkg.json +++ b/ports/azure-security-keyvault-certificates-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-security-keyvault-certificates-cpp", - "version-semver": "4.0.0-beta.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." @@ -11,7 +16,7 @@ { "name": "azure-core-cpp", "default-features": false, - "version>=": "1.2.0" + "version>=": "1.9.0" }, { "name": "vcpkg-cmake", diff --git a/ports/azure-security-keyvault-common-cpp/portfile.cmake b/ports/azure-security-keyvault-common-cpp/portfile.cmake deleted file mode 100644 index e0f4762f6539f1..00000000000000 --- a/ports/azure-security-keyvault-common-cpp/portfile.cmake +++ /dev/null @@ -1,19 +0,0 @@ -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO Azure/azure-sdk-for-cpp - REF azure-security-keyvault-common_4.0.0-beta.3 - SHA512 bdd5b59b8e1e53cde8df9b38881e067328e9b434cbf80cf63b2a0ef17e9e30c7b42c7439bb4ea47c412a566478c44364618b918af8139765d789101549f6062e -) - -vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH}/sdk/keyvault/azure-security-keyvault-common/ - PREFER_NINJA - OPTIONS - -DWARNINGS_AS_ERRORS=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-security-keyvault-common-cpp/vcpkg.json b/ports/azure-security-keyvault-common-cpp/vcpkg.json deleted file mode 100644 index be5ed47776bda4..00000000000000 --- a/ports/azure-security-keyvault-common-cpp/vcpkg.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "name": "azure-security-keyvault-common-cpp", - "version-semver": "4.0.0-beta.3", - "description": [ - "Microsoft Azure Common Key Vault SDK for C++", - "This library provides common Azure Key Vault related abstractions for Azure SDK." - ], - "homepage": "https://github.com/Azure/azure-sdk-for-cpp/tree/master/sdk/keyvault/azure-security-keyvault-common", - "license": "MIT", - "dependencies": [ - { - "name": "azure-core-cpp", - "default-features": false - }, - { - "name": "vcpkg-cmake", - "host": true - }, - { - "name": "vcpkg-cmake-config", - "host": true - } - ] -} diff --git a/ports/azure-security-keyvault-keys-cpp/portfile.cmake b/ports/azure-security-keyvault-keys-cpp/portfile.cmake index 890652a7c333d6..ff865983bcd37f 100644 --- a/ports/azure-security-keyvault-keys-cpp/portfile.cmake +++ b/ports/azure-security-keyvault-keys-cpp/portfile.cmake @@ -1,14 +1,32 @@ +# 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.2.0 - SHA512 b7556019a23344c109f62120c9fc0451f81bf476700ef08c6968a3e731fa783522b2f9b4de411e6727cb1cb977cc4344303e32d825515c192544bb78d9517c32 + 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") + file(REMOVE_RECURSE "${SOURCE_PATH}/sdk/keyvault/_") + file(REMOVE_RECURSE "${SOURCE_PATH}/sdk/_") + file(REMOVE_RECURSE "${SOURCE_PATH}/_") + + file(RENAME "${SOURCE_PATH}/sdk/keyvault/azure-security-keyvault-keys" "${SOURCE_PATH}/sdk/keyvault/_") + file(RENAME "${SOURCE_PATH}/sdk/keyvault" "${SOURCE_PATH}/sdk/_") + file(RENAME "${SOURCE_PATH}/sdk" "${SOURCE_PATH}/_") +endif() + vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH}/sdk/keyvault/azure-security-keyvault-keys/ + 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 b214ba2dda913a..badfdb225590fb 100644 --- a/ports/azure-security-keyvault-keys-cpp/vcpkg.json +++ b/ports/azure-security-keyvault-keys-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-security-keyvault-keys-cpp", - "version-semver": "4.2.0", + "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." @@ -11,7 +16,7 @@ { "name": "azure-core-cpp", "default-features": false, - "version>=": "1.2.0" + "version>=": "1.9.0" }, { "name": "vcpkg-cmake", diff --git a/ports/azure-security-keyvault-secrets-cpp/portfile.cmake b/ports/azure-security-keyvault-secrets-cpp/portfile.cmake index 3e6b1c84faa044..5f17c65e035164 100644 --- a/ports/azure-security-keyvault-secrets-cpp/portfile.cmake +++ b/ports/azure-security-keyvault-secrets-cpp/portfile.cmake @@ -1,14 +1,32 @@ +# 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.0.0-beta.1 - SHA512 dc40606fdd5f0c6934f9720fc9722346a5bff02093cd9a1805ca6a2356854a8648fcdf689e3456162b0b93dc85bea916ca1532547a4937113067deb5abdb3ff7 + 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") + file(REMOVE_RECURSE "${SOURCE_PATH}/sdk/keyvault/_") + file(REMOVE_RECURSE "${SOURCE_PATH}/sdk/_") + file(REMOVE_RECURSE "${SOURCE_PATH}/_") + + file(RENAME "${SOURCE_PATH}/sdk/keyvault/azure-security-keyvault-secrets" "${SOURCE_PATH}/sdk/keyvault/_") + file(RENAME "${SOURCE_PATH}/sdk/keyvault" "${SOURCE_PATH}/sdk/_") + file(RENAME "${SOURCE_PATH}/sdk" "${SOURCE_PATH}/_") +endif() + vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH}/sdk/keyvault/azure-security-keyvault-secrets/ + 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 f95d098002d357..1bc75c16d822b7 100644 --- a/ports/azure-security-keyvault-secrets-cpp/vcpkg.json +++ b/ports/azure-security-keyvault-secrets-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-security-keyvault-secrets-cpp", - "version-semver": "4.0.0-beta.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." @@ -11,7 +16,7 @@ { "name": "azure-core-cpp", "default-features": false, - "version>=": "1.2.0" + "version>=": "1.9.0" }, { "name": "vcpkg-cmake", diff --git a/ports/azure-storage-blobs-cpp/portfile.cmake b/ports/azure-storage-blobs-cpp/portfile.cmake index bffc0c5ed56e03..5fb4f7c590a2ee 100644 --- a/ports/azure-storage-blobs-cpp/portfile.cmake +++ b/ports/azure-storage-blobs-cpp/portfile.cmake @@ -1,14 +1,31 @@ +# 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.2.1 - SHA512 7150b1d5c9ceb7ca2f500b3ff1fe45ca2f2769ec895191fa8b0fd0b63e5acc6f8fd58b3aec1b00ba5125d99a5f28c29335f8d13253af7d1d70b1575b98183810 + REF "azure-storage-blobs_${VERSION}" + SHA512 b8d060c0e26e48c590ecacbe0491361a93f41dbd14a1f76564056b288e47e472e5525588122ba7d12653f43110a56ac88dc66c0ea77fff02dc708978a9dfcfa3 + HEAD_REF main + PATCHES + set_version.patch ) +if(EXISTS "${SOURCE_PATH}/sdk/storage/azure-storage-blobs") + file(REMOVE_RECURSE "${SOURCE_PATH}/sdk/storage/_") + file(REMOVE_RECURSE "${SOURCE_PATH}/sdk/_") + file(REMOVE_RECURSE "${SOURCE_PATH}/_") + + file(RENAME "${SOURCE_PATH}/sdk/storage/azure-storage-blobs" "${SOURCE_PATH}/sdk/storage/_") + file(RENAME "${SOURCE_PATH}/sdk/storage" "${SOURCE_PATH}/sdk/_") + file(RENAME "${SOURCE_PATH}/sdk" "${SOURCE_PATH}/_") +endif() + vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH}/sdk/storage/azure-storage-blobs/ + SOURCE_PATH "${SOURCE_PATH}/_/_/_" OPTIONS -DWARNINGS_AS_ERRORS=OFF + -DBUILD_TESTING=OFF ) vcpkg_cmake_install() 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 8f0295819a723d..2295214c864dd4 100644 --- a/ports/azure-storage-blobs-cpp/vcpkg.json +++ b/ports/azure-storage-blobs-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-storage-blobs-cpp", - "version-semver": "12.2.1", + "version-semver": "12.13.0", + "port-version": 1, "description": [ "Microsoft Azure Storage Blobs SDK for C++", "This library provides Azure Storage Blobs SDK." @@ -11,7 +16,7 @@ { "name": "azure-storage-common-cpp", "default-features": false, - "version>=": "12.2.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 9843c83a34a6b7..26adb9d3b604cf 100644 --- a/ports/azure-storage-common-cpp/portfile.cmake +++ b/ports/azure-storage-common-cpp/portfile.cmake @@ -1,14 +1,29 @@ +# 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.2.0 - SHA512 59d7c755c9aca09e49487765c5571da242bd6cbf426f6fd07a2d7235f4e5c894f6a36e209f08908d1e6fc97d64d60fd5e7f4dd87d88416e21b6591fc88674663 + REF "azure-storage-common_${VERSION}" + SHA512 fad728edbbd062f00640027c5ce87fc2048674aff7269807160abcabfd0b36c1716f0bbf27e9724c0207585fc81600ce3886c0417b9ac2177bba54a111d8e081 + HEAD_REF main ) +if(EXISTS "${SOURCE_PATH}/sdk/storage/azure-storage-common") + file(REMOVE_RECURSE "${SOURCE_PATH}/sdk/storage/_") + file(REMOVE_RECURSE "${SOURCE_PATH}/sdk/_") + file(REMOVE_RECURSE "${SOURCE_PATH}/_") + + file(RENAME "${SOURCE_PATH}/sdk/storage/azure-storage-common" "${SOURCE_PATH}/sdk/storage/_") + file(RENAME "${SOURCE_PATH}/sdk/storage" "${SOURCE_PATH}/sdk/_") + file(RENAME "${SOURCE_PATH}/sdk" "${SOURCE_PATH}/_") +endif() + vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH}/sdk/storage/azure-storage-common/ + SOURCE_PATH "${SOURCE_PATH}/_/_/_" OPTIONS -DWARNINGS_AS_ERRORS=OFF + -DBUILD_TESTING=OFF ) vcpkg_cmake_install() diff --git a/ports/azure-storage-common-cpp/vcpkg.json b/ports/azure-storage-common-cpp/vcpkg.json index d1729985a9654f..c69d2702072d81 100644 --- a/ports/azure-storage-common-cpp/vcpkg.json +++ b/ports/azure-storage-common-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-common-cpp", - "version-semver": "12.2.0", + "version-semver": "12.9.0", "description": [ "Microsoft Azure Common Storage SDK for C++", "This library provides common Azure Storage-related abstractions for Azure SDK." @@ -11,10 +15,11 @@ { "name": "azure-core-cpp", "default-features": false, - "version>=": "1.0.0" + "version>=": "1.14.1" }, { "name": "libxml2", + "default-features": false, "platform": "!windows" }, { diff --git a/ports/azure-storage-cpp/portfile.cmake b/ports/azure-storage-cpp/portfile.cmake index c091b31c0c0942..ffde123979be56 100644 --- a/ports/azure-storage-cpp/portfile.cmake +++ b/ports/azure-storage-cpp/portfile.cmake @@ -1,5 +1,4 @@ message(WARNING "azure-storage-cpp is no longer actively developed. Instead, users should migrate to the new sdk:azure-core-cpp") -vcpkg_fail_port_install(ON_TARGET "UWP") vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH @@ -9,26 +8,26 @@ vcpkg_from_github( HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH}/Microsoft.WindowsAzure.Storage - PREFER_NINJA +vcpkg_replace_string("${SOURCE_PATH}/Microsoft.WindowsAzure.Storage/CMakeLists.txt" [[file(GLOB OPENSSL_ROOT_DIR /usr/local/Cellar/openssl/*)]] "") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/Microsoft.WindowsAzure.Storage" OPTIONS -DCMAKE_FIND_FRAMEWORK=LAST -DBUILD_TESTS=OFF -DBUILD_SAMPLES=OFF OPTIONS_RELEASE - -DGETTEXT_LIB_DIR=${CURRENT_INSTALLED_DIR}/lib + "-DGETTEXT_LIB_DIR=${CURRENT_INSTALLED_DIR}/lib" OPTIONS_DEBUG - -DGETTEXT_LIB_DIR=${CURRENT_INSTALLED_DIR}/debug/lib + "-DGETTEXT_LIB_DIR=${CURRENT_INSTALLED_DIR}/debug/lib" ) -vcpkg_install_cmake() +vcpkg_cmake_install() file(INSTALL - ${SOURCE_PATH}/LICENSE.txt - DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) + "${SOURCE_PATH}/LICENSE.txt" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) file(REMOVE_RECURSE - ${CURRENT_PACKAGES_DIR}/debug/include) + "${CURRENT_PACKAGES_DIR}/debug/include") vcpkg_copy_pdbs() - diff --git a/ports/azure-storage-cpp/vcpkg.json b/ports/azure-storage-cpp/vcpkg.json index 21180d49ff3332..fad1ab7270c2f4 100644 --- a/ports/azure-storage-cpp/vcpkg.json +++ b/ports/azure-storage-cpp/vcpkg.json @@ -1,7 +1,7 @@ { "name": "azure-storage-cpp", - "version-string": "7.5.0", - "port-version": 2, + "version": "7.5.0", + "port-version": 6, "description": [ "[legacy] Microsoft Azure Storage Client SDK for C++", "A client library for working with Microsoft Azure storage services including blobs, files, tables, and queues. This client library enables working with the Microsoft Azure storage services which include the blob service for storing binary and text data, the file service for storing binary and text data, the table service for storing structured non-relational data, and the queue service for storing messages that may be accessed by a client." @@ -36,6 +36,14 @@ { "name": "libxml2", "platform": "!windows & !uwp" + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true } ] } diff --git a/ports/azure-storage-files-datalake-cpp/portfile.cmake b/ports/azure-storage-files-datalake-cpp/portfile.cmake index fad24c17114d32..1fcccbf3611f98 100644 --- a/ports/azure-storage-files-datalake-cpp/portfile.cmake +++ b/ports/azure-storage-files-datalake-cpp/portfile.cmake @@ -1,14 +1,31 @@ +# 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.2.0 - SHA512 42e5fd30f76236cbe055ed51fdba3672421e9ad329addc665df1b2d29d5ea1df016932b5d4c28c7a0dd820bbab09d4b245711a7020d4b9a1e96d05657c05b94b + 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") + file(REMOVE_RECURSE "${SOURCE_PATH}/sdk/storage/_") + file(REMOVE_RECURSE "${SOURCE_PATH}/sdk/_") + file(REMOVE_RECURSE "${SOURCE_PATH}/_") + + file(RENAME "${SOURCE_PATH}/sdk/storage/azure-storage-files-datalake" "${SOURCE_PATH}/sdk/storage/_") + file(RENAME "${SOURCE_PATH}/sdk/storage" "${SOURCE_PATH}/sdk/_") + file(RENAME "${SOURCE_PATH}/sdk" "${SOURCE_PATH}/_") +endif() + vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH}/sdk/storage/azure-storage-files-datalake/ + SOURCE_PATH "${SOURCE_PATH}/_/_/_" OPTIONS -DWARNINGS_AS_ERRORS=OFF + -DBUILD_TESTING=OFF ) vcpkg_cmake_install() 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 b59f47fd39076a..b49b8cea7d8a5d 100644 --- a/ports/azure-storage-files-datalake-cpp/vcpkg.json +++ b/ports/azure-storage-files-datalake-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-storage-files-datalake-cpp", - "version-semver": "12.2.0", + "version-semver": "12.12.0", + "port-version": 1, "description": [ "Microsoft Azure Storage Files Data Lake SDK for C++", "This library provides Azure Storage Files Data Lake SDK." @@ -11,7 +16,7 @@ { "name": "azure-storage-blobs-cpp", "default-features": false, - "version>=": "12.2.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 420ee8925c841b..9bea8dd3d82650 100644 --- a/ports/azure-storage-files-shares-cpp/portfile.cmake +++ b/ports/azure-storage-files-shares-cpp/portfile.cmake @@ -1,12 +1,26 @@ +# 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.2.0 - SHA512 b3e0c0a6b4ab11ff9d4c3318a56621d4d6c453b393f692f5d61118a18c571fbb5a1b259c44bb2ba7ac14e056d3a30bde66e36601139d704baeb9cbc865c43ecd + REF "azure-storage-files-shares_${VERSION}" + SHA512 296e0798c9a831ba16bcfd9b29d2bc8613a2b7d6a117bfccb46f49f4d5d91caf8e1fbb82465dca5daae3305656cf44bee2f78ad0341a8e13b36940938317b45c + HEAD_REF main ) +if(EXISTS "${SOURCE_PATH}/sdk/storage/azure-storage-files-shares") + file(REMOVE_RECURSE "${SOURCE_PATH}/sdk/storage/_") + file(REMOVE_RECURSE "${SOURCE_PATH}/sdk/_") + file(REMOVE_RECURSE "${SOURCE_PATH}/_") + + file(RENAME "${SOURCE_PATH}/sdk/storage/azure-storage-files-shares" "${SOURCE_PATH}/sdk/storage/_") + file(RENAME "${SOURCE_PATH}/sdk/storage" "${SOURCE_PATH}/sdk/_") + file(RENAME "${SOURCE_PATH}/sdk" "${SOURCE_PATH}/_") +endif() + vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH}/sdk/storage/azure-storage-files-shares/ + SOURCE_PATH "${SOURCE_PATH}/_/_/_" OPTIONS -DWARNINGS_AS_ERRORS=OFF ) diff --git a/ports/azure-storage-files-shares-cpp/vcpkg.json b/ports/azure-storage-files-shares-cpp/vcpkg.json index 54807b9b469ca1..1dfc698487fbdf 100644 --- a/ports/azure-storage-files-shares-cpp/vcpkg.json +++ b/ports/azure-storage-files-shares-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-shares-cpp", - "version-semver": "12.2.0", + "version-semver": "12.12.0", "description": [ "Microsoft Azure Storage Files Shares SDK for C++", "This library provides Azure Storage Files Shares SDK." @@ -11,7 +15,7 @@ { "name": "azure-storage-common-cpp", "default-features": false, - "version>=": "12.2.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 6adb069928c52a..81c9a8bf3e6662 100644 --- a/ports/azure-storage-queues-cpp/portfile.cmake +++ b/ports/azure-storage-queues-cpp/portfile.cmake @@ -1,14 +1,31 @@ +# 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.0.0-beta.2 - SHA512 43815483aa8def6eb475683d765a5315a65218bceb9dbf95b9f4e154c23ed8af1af4a52943b4b89fed35b50318407c98674e8af4c4076e42be60f460a610a118 + REF "azure-storage-queues_${VERSION}" + SHA512 919353a8cf8c98906bfbe6795245c81ece5a82914f01c8d7083fd6e44f13877f42aefee3ed16c2078befa89e520339b8430e8dc115064bdffdd366b8c83684da + HEAD_REF main + PATCHES + set_version.patch ) +if(EXISTS "${SOURCE_PATH}/sdk/storage/azure-storage-queues") + file(REMOVE_RECURSE "${SOURCE_PATH}/sdk/storage/_") + file(REMOVE_RECURSE "${SOURCE_PATH}/sdk/_") + file(REMOVE_RECURSE "${SOURCE_PATH}/_") + + file(RENAME "${SOURCE_PATH}/sdk/storage/azure-storage-queues" "${SOURCE_PATH}/sdk/storage/_") + file(RENAME "${SOURCE_PATH}/sdk/storage" "${SOURCE_PATH}/sdk/_") + file(RENAME "${SOURCE_PATH}/sdk" "${SOURCE_PATH}/_") +endif() + vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH}/sdk/storage/azure-storage-queues/ + SOURCE_PATH "${SOURCE_PATH}/_/_/_" OPTIONS -DWARNINGS_AS_ERRORS=OFF + -DBUILD_TESTING=OFF ) vcpkg_cmake_install() 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 8a8fafe2178d53..f1f2be238d2c8b 100644 --- a/ports/azure-storage-queues-cpp/vcpkg.json +++ b/ports/azure-storage-queues-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-storage-queues-cpp", - "version-semver": "12.0.0-beta.2", + "version-semver": "12.4.0", + "port-version": 1, "description": [ "Microsoft Azure Storage Queues SDK for C++", "This library provides Azure Storage Queues SDK." @@ -11,7 +16,7 @@ { "name": "azure-storage-common-cpp", "default-features": false, - "version>=": "12.2.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 3b95f6447e6452..935de65c5547eb 100644 --- a/ports/azure-uamqp-c/portfile.cmake +++ b/ports/azure-uamqp-c/portfile.cmake @@ -1,40 +1,31 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -if("public-preview" IN_LIST FEATURES) - vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO Azure/azure-uamqp-c - REF 065ffdeeb47313ddbbc2a8e84ad52ab033e2e8d2 - SHA512 bade6fae2d5479b7690632dbcc58bda5dd871eb0aa63d6a56cb35e81630121b5148309cd3414e6339c1218ec59fc12ac318b4964d295b579f7a0cacf5593b7ba - HEAD_REF master - ) -else() - vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO Azure/azure-uamqp-c - REF b75cdb7e1736a388fe3e9fc2a99493aa1db6f43f - SHA512 a13da2bc8a471329cbcd63aaa6fb94265388f709bf8977d55017a6cdd5af21e3b08935498ff8bfebfa63791dfa04552806684fae82b664045a12d14a91df3183 - HEAD_REF master - ) -endif() +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Azure/azure-uamqp-c + REF 96d7179f60e558b2c350194ea0061c725377f7e0 + SHA512 29788744f46c72d042bda6622661bd045db493dcc4b29fbd4649bfa49673e86d3c5b6f9c9ce056e42283624ce9e13f6abf60eba3e41176b00acddcd9cd026727 + HEAD_REF master +) file(COPY ${CURRENT_INSTALLED_DIR}/share/azure-c-shared-utility/azure_iot_build_rules.cmake DESTINATION ${SOURCE_PATH}/deps/azure-c-shared-utility/configs/) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -Dskip_samples=ON -Duse_installed_dependencies=ON -Dbuild_as_dynamic=OFF + MAYBE_UNUSED_VARIABLES + build_as_dynamic ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH cmake TARGET_PATH share/uamqp) +vcpkg_cmake_config_fixup(PACKAGE_NAME uamqp CONFIG_PATH "cmake") -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") -configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) +configure_file("${SOURCE_PATH}/LICENSE" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) vcpkg_copy_pdbs() diff --git a/ports/azure-uamqp-c/vcpkg.json b/ports/azure-uamqp-c/vcpkg.json index 52dfd75fad1c85..b677ff85b71567 100644 --- a/ports/azure-uamqp-c/vcpkg.json +++ b/ports/azure-uamqp-c/vcpkg.json @@ -1,36 +1,20 @@ { "name": "azure-uamqp-c", - "version-date": "2021-09-09", + "version-date": "2024-08-12", "description": "AMQP library for C", "homepage": "https://github.com/Azure/azure-uamqp-c", + "license": "MIT", "dependencies": [ "azure-c-shared-utility", "azure-macro-utils-c", - "umock-c" - ], - "features": { - "public-preview": { - "description": "AMQP library for C (public preview)", - "dependencies": [ - { - "name": "azure-c-shared-utility", - "features": [ - "public-preview" - ] - }, - { - "name": "azure-macro-utils-c", - "features": [ - "public-preview" - ] - }, - { - "name": "umock-c", - "features": [ - "public-preview" - ] - } - ] + "umock-c", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true } - } + ] } diff --git a/ports/azure-uhttp-c/package-location-fix-preview.patch b/ports/azure-uhttp-c/package-location-fix-preview.patch new file mode 100644 index 00000000000000..8544ae63b982de --- /dev/null +++ b/ports/azure-uhttp-c/package-location-fix-preview.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 27eae0b..ef87ec0 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -138,7 +138,7 @@ if (NOT ${skip_samples}) + endif() + + # Install uhttp +-set(package_location "cmake") ++set(package_location "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}") + + if(NOT DEFINED CMAKE_INSTALL_LIBDIR) + set(CMAKE_INSTALL_LIBDIR "lib") diff --git a/ports/azure-uhttp-c/portfile.cmake b/ports/azure-uhttp-c/portfile.cmake index 4a3105c021c8e1..53729ca6956edd 100644 --- a/ports/azure-uhttp-c/portfile.cmake +++ b/ports/azure-uhttp-c/portfile.cmake @@ -1,41 +1,32 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -if("public-preview" IN_LIST FEATURES) - vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO Azure/azure-uhttp-c - REF d84a20609a2b5a555920389451fb3c9a2ed3656c - SHA512 4eadd7e120082cc3bcf696d6cd16bc7ee8e1082380dd7583fba7fad1bb95109f3456890495e25ae7675e656ef721fa12eff22eeb96d8a4cf359be5c96889cbd6 - HEAD_REF master - ) -else() - vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO Azure/azure-uhttp-c - REF db8ac9c1353fe05cf6917e8ec8bcb866bf4a6f11 - SHA512 4c9b053bcdc1086dbba6883a887e5af1f6aa4572bfb1e36c3b07c9bb93c35b188cb31f510fca5c4b2a0557df446dd965eafda993eab7c04b4502ed07b269c148 - HEAD_REF master - ) -endif() +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Azure/azure-uhttp-c + REF 65449ac08044475f9a14d3667ae04064a8767d76 + SHA512 ff55f3b81fbee4136af3172960c806811d7d9a49fd021c0e9dcf88fdc512b96a376711bbd6176880f9493d497b6a2f6782ad6ca6fb72687517e146eef780c86f + HEAD_REF master +) file(COPY ${CURRENT_INSTALLED_DIR}/share/azure-c-shared-utility/azure_iot_build_rules.cmake DESTINATION ${SOURCE_PATH}/deps/c-utility/configs/) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -Dskip_samples=ON -Duse_installed_dependencies=ON -Dbuild_as_dynamic=OFF -DCMAKE_INSTALL_INCLUDEDIR=include + MAYBE_UNUSED_VARIABLES + build_as_dynamic ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH cmake TARGET_PATH share/uhttp) +vcpkg_cmake_config_fixup(PACKAGE_NAME uhttp CONFIG_PATH "lib/cmake/uhttp") -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") -configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) +configure_file("${SOURCE_PATH}/LICENSE" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) vcpkg_copy_pdbs() diff --git a/ports/azure-uhttp-c/vcpkg.json b/ports/azure-uhttp-c/vcpkg.json index 11f6fea12c3f02..4618ebd436a037 100644 --- a/ports/azure-uhttp-c/vcpkg.json +++ b/ports/azure-uhttp-c/vcpkg.json @@ -1,36 +1,20 @@ { "name": "azure-uhttp-c", - "version-date": "2021-09-09", + "version-date": "2024-06-24", "description": "Azure HTTP Library written in C", "homepage": "https://github.com/Azure/azure-uhttp-c", + "license": "MIT", "dependencies": [ "azure-c-shared-utility", "azure-macro-utils-c", - "umock-c" - ], - "features": { - "public-preview": { - "description": "Azure HTTP Library written in C (public preview)", - "dependencies": [ - { - "name": "azure-c-shared-utility", - "features": [ - "public-preview" - ] - }, - { - "name": "azure-macro-utils-c", - "features": [ - "public-preview" - ] - }, - { - "name": "umock-c", - "features": [ - "public-preview" - ] - } - ] + "umock-c", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true } - } + ] } diff --git a/ports/azure-umqtt-c/package-location-fix-preview.patch b/ports/azure-umqtt-c/package-location-fix-preview.patch new file mode 100644 index 00000000000000..ec837b7c018cb2 --- /dev/null +++ b/ports/azure-umqtt-c/package-location-fix-preview.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 8fd08f0..c228519 100755 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -155,7 +155,7 @@ endif () + include(GNUInstallDirs) + + # Install umqtt +-set(package_location "cmake") ++set(package_location "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}") + + if(NOT DEFINED CMAKE_INSTALL_LIBDIR) + set(CMAKE_INSTALL_LIBDIR "lib") diff --git a/ports/azure-umqtt-c/portfile.cmake b/ports/azure-umqtt-c/portfile.cmake index a3e9246bb471f7..0f28641c255dc0 100644 --- a/ports/azure-umqtt-c/portfile.cmake +++ b/ports/azure-umqtt-c/portfile.cmake @@ -1,40 +1,31 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -if("public-preview" IN_LIST FEATURES) - vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO Azure/azure-umqtt-c - REF 7557db6de094b67818d3c410dc95a3cf07cd86a6 - SHA512 f2577379f711e2576fdd6dfecbc4d8a0b26c7670a77bc468238e8dd5fa43f208db85eddd06dd570fde4219ba19304338c712f671c059c6cc10abb4892d58ae40 - HEAD_REF master - ) -else() - vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO Azure/azure-umqtt-c - REF 12cb55ee5a926a124f22ad737c7cec35f6af7165 - SHA512 ed7d5c5132cfaa46574e70a99ce0181208b772fa2dca9122c8d16918af29240a2060705a25b121785c210eb5a4b917588a1623aedfd0bf9a4cf39df601b05dea - HEAD_REF master - ) -endif() - -file(COPY ${CURRENT_INSTALLED_DIR}/share/azure-c-shared-utility/azure_iot_build_rules.cmake DESTINATION ${SOURCE_PATH}/deps/c-utility/configs/) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Azure/azure-umqtt-c + REF f1cc7804df4213a8f4b87575b1272b2f16a27438 + SHA512 769160ae088b1fca3af6ac92cdfff860a42c001746c1c6e603764230c67e9f0e8e7a2e6f44da8e818094067283d562e242a90db8c31d1faa2e50fe78fa35de71 + HEAD_REF master +) + +file(COPY "${CURRENT_INSTALLED_DIR}/share/azure-c-shared-utility/azure_iot_build_rules.cmake" DESTINATION "${SOURCE_PATH}/deps/c-utility/configs/") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -Dskip_samples=ON -Duse_installed_dependencies=ON -Dbuild_as_dynamic=OFF + MAYBE_UNUSED_VARIABLES + build_as_dynamic ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH cmake TARGET_PATH share/umqtt) +vcpkg_cmake_config_fixup(PACKAGE_NAME umqtt CONFIG_PATH "lib/cmake/umqtt") -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") -configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) +configure_file("${SOURCE_PATH}/LICENSE" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) vcpkg_copy_pdbs() diff --git a/ports/azure-umqtt-c/vcpkg.json b/ports/azure-umqtt-c/vcpkg.json index 1ccfb1699f46a8..ba3b79501cfd10 100644 --- a/ports/azure-umqtt-c/vcpkg.json +++ b/ports/azure-umqtt-c/vcpkg.json @@ -1,36 +1,20 @@ { "name": "azure-umqtt-c", - "version-date": "2021-09-09", + "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", "dependencies": [ "azure-c-shared-utility", "azure-macro-utils-c", - "umock-c" - ], - "features": { - "public-preview": { - "description": "General purpose library for communication over the mqtt protocol (public preview)", - "dependencies": [ - { - "name": "azure-c-shared-utility", - "features": [ - "public-preview" - ] - }, - { - "name": "azure-macro-utils-c", - "features": [ - "public-preview" - ] - }, - { - "name": "umock-c", - "features": [ - "public-preview" - ] - } - ] + "umock-c", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true } - } + ] } diff --git a/ports/b64/CMakeLists.txt b/ports/b64/CMakeLists.txt index 274fc0788b3048..e40d14ef387116 100644 --- a/ports/b64/CMakeLists.txt +++ b/ports/b64/CMakeLists.txt @@ -18,18 +18,23 @@ if (BUILD_SHARED_LIBS) target_compile_definitions(b64 PRIVATE LIBB64_EXPORTS=1) endif() -target_include_directories(b64 PRIVATE include ${CMAKE_CURRENT_BINARY_DIR}) +target_include_directories(b64 + PRIVATE include ${CMAKE_CURRENT_BINARY_DIR} + INTERFACE $ +) set_property(TARGET b64 PROPERTY PUBLIC_HEADER ${HEADER_FILES}) install(TARGETS b64 - EXPORT b64-targets + EXPORT unofficial-b64-config LIBRARY DESTINATION lib PUBLIC_HEADER DESTINATION include/b64 ) -install(EXPORT b64-targets - FILE b64-targets.cmake - DESTINATION lib/cmake/b64) +install(EXPORT unofficial-b64-config + FILE unofficial-b64-config.cmake + NAMESPACE unofficial::b64:: + DESTINATION share/unofficial-b64 +) diff --git a/ports/b64/portfile.cmake b/ports/b64/portfile.cmake index dbe41a9372cf20..51ba61141fd286 100644 --- a/ports/b64/portfile.cmake +++ b/ports/b64/portfile.cmake @@ -19,7 +19,7 @@ vcpkg_cmake_install() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-b64) vcpkg_copy_pdbs() diff --git a/ports/b64/vcpkg.json b/ports/b64/vcpkg.json index ba4dba7a21fd0d..e9e289e5438f02 100644 --- a/ports/b64/vcpkg.json +++ b/ports/b64/vcpkg.json @@ -1,8 +1,10 @@ { - "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg/master/scripts/vcpkg.schema.json", + "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json", "name": "b64", "version": "2.0.0.1", + "port-version": 2, "description": "libb64 is a library of ANSI C routines for fast encoding/decoding data into and from a base64-encoded format", + "license": null, "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/backward-cpp/portfile.cmake b/ports/backward-cpp/portfile.cmake new file mode 100644 index 00000000000000..feaad6324f6fed --- /dev/null +++ b/ports/backward-cpp/portfile.cmake @@ -0,0 +1,20 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO bombela/backward-cpp + REF 51f0700452cf71c57d43c2d028277b24cde32502 # 2023-11-24 + SHA512 8831be0a1c0a2f2d2625c5e2065202445520e0f7591cdbf998c60f2c892880d1527f304f9361b057c831f84621be636e12fea018297c9a17d858ecc6c36c9ffb + HEAD_REF master +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBACKWARD_TESTS=OFF +) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/backward) + +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 new file mode 100644 index 00000000000000..a2560755659907 --- /dev/null +++ b/ports/backward-cpp/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "backward-cpp", + "version-date": "2023-11-24", + "port-version": 1, + "description": "A beautiful stack trace pretty printer for C++", + "homepage": "https://github.com/bombela/backward-cpp", + "supports": "!uwp & !(windows & arm)", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/baresip-libre/portfile.cmake b/ports/baresip-libre/portfile.cmake new file mode 100644 index 00000000000000..c1c17bc0072502 --- /dev/null +++ b/ports/baresip-libre/portfile.cmake @@ -0,0 +1,33 @@ +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO baresip/re + REF "v${VERSION}" + SHA512 8de8d847d317b18333813a0e5c28fab4aebb16e5e383c8acb6e963d1cf8b0a90e11fc46a3438c5202ae3ecfc8b6572a649161b6ea45b4467764413b689caad58 + HEAD_REF main + PATCHES +) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" LIBRE_BUILD_SHARED) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" LIBRE_BUILD_STATIC) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DLIBRE_BUILD_SHARED=${LIBRE_BUILD_SHARED} + -DLIBRE_BUILD_STATIC=${LIBRE_BUILD_STATIC} + -DCMAKE_DISABLE_FIND_PACKAGE_Backtrace=ON + -DCMAKE_REQUIRE_FIND_PACKAGE_OpenSSL=ON + -DCMAKE_REQUIRE_FIND_PACKAGE_ZLIB=ON +) +vcpkg_cmake_install() +vcpkg_fixup_pkgconfig() +vcpkg_cmake_config_fixup(PACKAGE_NAME libre CONFIG_PATH lib/cmake/libre) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +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/baresip-libre/usage b/ports/baresip-libre/usage new file mode 100644 index 00000000000000..c207427cd287ac --- /dev/null +++ b/ports/baresip-libre/usage @@ -0,0 +1,5 @@ +baresip-libre provides CMake targets: + + find_package(libre CONFIG REQUIRED) + target_link_libraries(main PRIVATE libre::libre) + diff --git a/ports/baresip-libre/vcpkg.json b/ports/baresip-libre/vcpkg.json new file mode 100644 index 00000000000000..b298eafb90d7a9 --- /dev/null +++ b/ports/baresip-libre/vcpkg.json @@ -0,0 +1,20 @@ +{ + "name": "baresip-libre", + "version": "3.17.0", + "description": "Generic library for real-time communications with async IO support", + "homepage": "https://github.com/baresip/re", + "license": "BSD-3-Clause", + "supports": "!uwp", + "dependencies": [ + "openssl", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "zlib" + ] +} 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/fix-addostream.patch b/ports/basisu/fix-addostream.patch deleted file mode 100644 index cd9308bf59549a..00000000000000 --- a/ports/basisu/fix-addostream.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/src/encoder/basisu_enc.h b/src/encoder/basisu_enc.h -index 05656da..468f43b 100644 ---- a/src/encoder/basisu_enc.h -+++ b/src/encoder/basisu_enc.h -@@ -22,6 +22,7 @@ - #include - #include - #include -+#include - - #ifndef _WIN32 - #include diff --git a/ports/basisu/portfile.cmake b/ports/basisu/portfile.cmake index 8873c52fc51344..0ac8010afc9ac8 100644 --- a/ports/basisu/portfile.cmake +++ b/ports/basisu/portfile.cmake @@ -1,40 +1,28 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO jherico/basis_universal - REF 497875f756ed0e3eb62e0ff08d55c62242f4be74 - SHA512 2293b78620a7ed510dbecf48bcae5f4b8524fe9020f864c8e79cf94ea9d95d51dddf83a5b4ea29cc95db19f87137bfef1cb68b7fbc6387e08bb42898d81c9303 + REPO BinomialLLC/basis_universal + REF "v1_50_0_2" + SHA512 845077e9c88a3610b4845bbf4856a2141d678751eb2b5eba26bb4cbbaa0199ad4eae6a37dee485bfcac9d583ee6dca983f300fb7e2b86dfbc9824b5059e11345 HEAD_REF master - PATCHES fix-addostream.patch + PATCHES + # Remove once https://github.com/BinomialLLC/basis_universal/pull/383 merged + 0001-cmake.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DBUILD_TESTS=OFF + -DEXAMPLES=OFF ) -vcpkg_install_cmake() - -#vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/basisu) -if (WIN32) - set(TOOL_NAME basisu_tool.exe) -else() - set(TOOL_NAME basisu_tool) -endif() - -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) -file(COPY ${CURRENT_PACKAGES_DIR}/bin/${TOOL_NAME} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/basisu) +vcpkg_cmake_install() +vcpkg_copy_pdbs() -vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/basisu) +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/include) -file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/${TOOL_NAME}) -file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/${TOOL_NAME}) +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_cmake_config_fixup(PACKAGE_NAME basisu CONFIG_PATH lib/cmake/basisu) -vcpkg_copy_pdbs() +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/basisu/vcpkg.json b/ports/basisu/vcpkg.json index a0fe5cc685326c..751683b0c0f18a 100644 --- a/ports/basisu/vcpkg.json +++ b/ports/basisu/vcpkg.json @@ -1,10 +1,19 @@ { "name": "basisu", - "version-string": "1.11", - "port-version": 5, + "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", + "supports": "!android & !arm", "dependencies": [ - "lodepng" + "lodepng", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/bcg729/disable-alt-packaging.patch b/ports/bcg729/disable-alt-packaging.patch new file mode 100644 index 00000000000000..b53c77d245bb41 --- /dev/null +++ b/ports/bcg729/disable-alt-packaging.patch @@ -0,0 +1,10 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 69dbaef..695f4d0 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -125,5 +125,4 @@ install(FILES + DESTINATION ${CONFIG_PACKAGE_LOCATION} + ) + +-add_subdirectory(build) + diff --git a/ports/bcg729/portfile.cmake b/ports/bcg729/portfile.cmake index 2dccea634ca35e..02b510a5bf9876 100644 --- a/ports/bcg729/portfile.cmake +++ b/ports/bcg729/portfile.cmake @@ -4,6 +4,8 @@ vcpkg_from_github( REF 1.1.1 SHA512 e8cc4b7486a9a29fb729ab9fd9e3c4a2155573f38cec16f5a53db3b416fc1119ea5f5a61243a8d37cb0b64580c5df1b632ff165dc7ff47421fa567dafffaacd8 HEAD_REF master + PATCHES + disable-alt-packaging.patch ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" ENABLE_STATIC) @@ -19,10 +21,26 @@ vcpkg_cmake_configure( vcpkg_cmake_install() vcpkg_cmake_config_fixup(PACKAGE_NAME Bcg729) - -file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +file(GLOB cmake_files "${CURRENT_PACKAGES_DIR}/share/Bcg729/cmake/*.cmake") +file(COPY ${cmake_files} DESTINATION "${CURRENT_PACKAGES_DIR}/share/bcg729") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/Bcg729/cmake") +file(GLOB_RECURSE remaining_files "${CURRENT_PACKAGES_DIR}/share/Bcg729/*") +if(NOT remaining_files) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/Bcg729") +endif() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") vcpkg_fixup_pkgconfig() + +file(READ "${SOURCE_PATH}/LICENSE.txt" GPL3) +file(WRITE "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" [[ +bcg729 is dual licensed, and is available either: + - under a GNU/GPLv3 license, for free (open source). See below. + - under a proprietary license, for a fee, to be used in closed source applications. + Contact Belledonne Communications (https://www.linphone.org/contact) + for any question about costs and services. + + +]] ${GPL3}) diff --git a/ports/bcg729/vcpkg.json b/ports/bcg729/vcpkg.json index 3f47ddac1b7696..4a08dcd9cc7355 100644 --- a/ports/bcg729/vcpkg.json +++ b/ports/bcg729/vcpkg.json @@ -1,7 +1,7 @@ { "name": "bcg729", "version": "1.1.1", - "port-version": 2, + "port-version": 3, "description": "Bcg729 is an open source implementation of the ITU G.729 Annex A and B codec.", "homepage": "https://github.com/BelledonneCommunications/bcg729", "dependencies": [ diff --git a/ports/bddisasm/portfile.cmake b/ports/bddisasm/portfile.cmake index 7d44789c42047b..45072a402595d6 100644 --- a/ports/bddisasm/portfile.cmake +++ b/ports/bddisasm/portfile.cmake @@ -1,11 +1,10 @@ -vcpkg_fail_port_install(ON_ARCH "arm") vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO bitdefender/bddisasm - REF v1.34.7 - SHA512 e4bd0895b285030f0aba4d5666a5da66cee6e1766e68a9527d1c2ca6160690270d55819ab8f6357b0f61fd52fb13b87ca7c15ee5694185564cc9bb55b62eb9ff + REF "v${VERSION}" + SHA512 254aa303f5957327de85715cc05c8bcf33f27bd18ad90959a74b2d817ee393d672878d66c83de63c9ec1e6d65df7ae2657e3a585ead24dbc093a035a7daeea4a HEAD_REF master ) @@ -17,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") @@ -30,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 23aec994670b68..99c3a5ab6bc566 100644 --- a/ports/bddisasm/vcpkg.json +++ b/ports/bddisasm/vcpkg.json @@ -1,12 +1,12 @@ { "name": "bddisasm", - "version": "1.34.7", + "version": "2.1.5", "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 63d4a8422529cb..cd86a2d101a306 100644 --- a/ports/bde/portfile.cmake +++ b/ports/bde/portfile.cmake @@ -1,138 +1,60 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -set(CONFIGURE_COMMON_ARGS ${CONFIGURE_COMMON_ARGS} --library-type=static) -set(BDE_VERSION 3.2.0.0) -set(BDE_TOOLS_VERSION 1.x) - -# Paths used in build -set(SOURCE_PATH_DEBUG ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/bde-${BDE_VERSION}) -set(SOURCE_PATH_RELEASE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bde-${BDE_VERSION}) - -# Acquire Python 2 and add it to PATH -vcpkg_find_acquire_program(PYTHON2) -get_filename_component(PYTHON2_EXE_PATH ${PYTHON2} DIRECTORY) +# 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 d4b1a7670829228f4ec81ecdccc598ce03ae8e80 - SHA512 80af734c080adb225d5369157301ae0af18e02b1912351e34d23f5f2ba4e19f9ae2b5a367923f036330c9f9afd11a90cdf12680eb3e59b4297a312a1b713f17f - HEAD_REF master + REF "${BDE_TOOLS_VER}" + SHA512 6a0eec25889a33fb0302af735ed2fcce38afa5ad2be9202d2589d76509f9fd85f9ddc0a73147df1b6471543f51df3b5b40e8c08d378ab1335d2703d89b5921e6 + HEAD_REF main ) + message(STATUS "Configure bde-tools-v${BDE_TOOLS_VERSION}") -if(VCPKG_CMAKE_SYSTEM_NAME) - set(ENV{PATH} "$ENV{PATH}:${PYTHON2_EXE_PATH}") - set(ENV{PATH} "$ENV{PATH}:${TOOLS_PATH}/bin") -else() - set(ENV{PATH} "$ENV{PATH};${PYTHON2_EXE_PATH}") - set(ENV{PATH} "$ENV{PATH};${TOOLS_PATH}/bin") -endif() +vcpkg_add_to_path("${PYTHON3_EXE_PATH}") +vcpkg_add_to_path("${TOOLS_PATH}/bin") # Acquire BDE sources vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO "bloomberg/bde" - REF 3720d132d0879f19b9084cca62ebc75f1f24e1a3 - SHA512 234ebb71997f5b7d3951584235ead10f977689cef323ae1c198629a6b1995b1481d8a1515d827c46df10209bdc66e1f3cc7780dafee9ca0ff4172be47c460d78 - HEAD_REF master -) - -# Clean up previous builds -file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel - ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg) - -# Identify waf executable and calculate configure args -if(VCPKG_CMAKE_SYSTEM_NAME) - set(WAF_COMMAND waf) -else() - set(WAF_COMMAND waf.bat) -endif() -set(CONFIGURE_COMMON_ARGS ${CONFIGURE_COMMON_ARGS} --use-flat-include-dir) -if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") - set(CONFIGURE_COMMON_ARGS ${CONFIGURE_COMMON_ARGS} --abi-bits=32) -elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") - set(CONFIGURE_COMMON_ARGS ${CONFIGURE_COMMON_ARGS} --abi-bits=64) -else() - message(FATAL_ERROR "Unsupported target architecture: ${VCPKG_TARGET_ARCHITECTURE}") -endif() -if(VCPKG_TARGET_IS_WINDOWS) - set(CONFIGURE_COMMON_ARGS ${CONFIGURE_COMMON_ARGS} --msvc-runtime-type=static) -else() - set(ENV{CFLAGS} "$ENV{CFLAGS} -Wno-error=implicit-function-declaration") -endif() - -# Configure debug -message(STATUS "Configuring ${TARGET_TRIPLET}-dbg") -vcpkg_execute_required_process( - COMMAND ${WAF_COMMAND} configure ${CONFIGURE_COMMON_ARGS} - --prefix=${CURRENT_PACKAGES_DIR}/debug --out=${SOURCE_PATH_DEBUG} - --build-type=debug - WORKING_DIRECTORY ${SOURCE_PATH} - LOGNAME configure-${TARGET_TRIPLET}--dbg + REF "${VERSION}" + SHA512 d25a17e213c6f50901c6a0e27366d6331c3b0506ef88fb34fd0496bfb214e04308f8adb6b1dd2f9a3821d230c444b04d8158cee730f540a6cb4984bc16d022d5 + HEAD_REF main +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBDE_BUILD_TARGET_CPP17=ON + -DCMAKE_CXX_STANDARD=17 + -DCMAKE_CXX_STANDARD_REQUIRED=ON + -DCMAKE_CXX_EXTENSIONS=OFF + -DBBS_BUILD_SYSTEM=1 + "-DBdeBuildSystem_DIR:PATH=${TOOLS_PATH}/BdeBuildSystem" + OPTIONS_RELEASE + -DBDE_BUILD_TARGET_OPT=1 + OPTIONS_DEBUG + -DBDE_BUILD_TARGET_DBG=1 ) -message(STATUS "Configuring ${TARGET_TRIPLET}-dbg done") - -# Build debug -message(STATUS "Building ${TARGET_TRIPLET}-dbg") -vcpkg_execute_required_process( - COMMAND ${WAF_COMMAND} build - WORKING_DIRECTORY ${SOURCE_PATH} - LOGNAME build-${TARGET_TRIPLET}--dbg -) -message(STATUS "Building ${TARGET_TRIPLET}-dbg done") - -# Install debug -message(STATUS "Installing ${TARGET_TRIPLET}-dbg") -vcpkg_execute_required_process( - COMMAND ${WAF_COMMAND} install - WORKING_DIRECTORY ${SOURCE_PATH} - LOGNAME install-${TARGET_TRIPLET}--dbg -) -# Include files should not be duplicated -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -# pkg-config files should point to correct include directory -file(GLOB PC_FILES "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/*.pc") -foreach(PC_FILE_NAME ${PC_FILES}) - file(READ "${PC_FILE_NAME}" _contents) - string(REPLACE "includedir=\${prefix}/include" "includedir=\${prefix}/../include" _contents "${_contents}") - file(WRITE "${PC_FILE_NAME}" "${_contents}") -endforeach() -message(STATUS "Installing ${TARGET_TRIPLET}-dbg done") - -# Configure release -message(STATUS "Configuring ${TARGET_TRIPLET}-rel") -vcpkg_execute_required_process( - COMMAND ${WAF_COMMAND} configure ${CONFIGURE_COMMON_ARGS} - --prefix=${CURRENT_PACKAGES_DIR} --out=${SOURCE_PATH_RELEASE} - --build-type=release - WORKING_DIRECTORY ${SOURCE_PATH} - LOGNAME configure-${TARGET_TRIPLET}--rel -) -message(STATUS "Configuring ${TARGET_TRIPLET}-rel done") # Build release -message(STATUS "Building ${TARGET_TRIPLET}-rel") -vcpkg_execute_required_process( - COMMAND ${WAF_COMMAND} build - WORKING_DIRECTORY ${SOURCE_PATH} - LOGNAME build-${TARGET_TRIPLET}--rel -) -message(STATUS "Building ${TARGET_TRIPLET}-rel done") +vcpkg_cmake_build() # Install release -message(STATUS "Installing ${TARGET_TRIPLET}-rel") -vcpkg_execute_required_process( - COMMAND ${WAF_COMMAND} install - WORKING_DIRECTORY ${SOURCE_PATH} - LOGNAME install-${TARGET_TRIPLET}--rel -) -message(STATUS "Installing ${TARGET_TRIPLET}-rel done") +vcpkg_cmake_install() +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +list(APPEND SUBPACKAGES "ryu" "inteldfp" "pcre2" "s_baltst" "bsl" "bdl" "bal") +include(GNUInstallDirs) # needed for CMAKE_INSTALL_LIBDIR +foreach(subpackage IN LISTS SUBPACKAGES) + vcpkg_cmake_config_fixup(PACKAGE_NAME ${subpackage} CONFIG_PATH /${CMAKE_INSTALL_LIBDIR}/cmake/${subpackage} DO_NOT_DELETE_PARENT_CONFIG_PATH) +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 7fffab8885a0c5..830494bc72bd6e 100644 --- a/ports/bde/vcpkg.json +++ b/ports/bde/vcpkg.json @@ -1,7 +1,20 @@ { + "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json", "name": "bde", - "version-string": "3.2.0.0", - "port-version": 4, + "version": "4.14.0.0", "description": "Basic Development Environment - a set of foundational C++ libraries used at Bloomberg.", - "supports": "!windows" + "homepage": "https://techatbloomberg.com/", + "documentation": "https://bloomberg.github.io/bde/", + "license": "Apache-2.0", + "supports": "!android & !(arm64 & windows) & !uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/bdwgc/portfile.cmake b/ports/bdwgc/portfile.cmake index 5e6f34dca0d640..c957d1bb872307 100644 --- a/ports/bdwgc/portfile.cmake +++ b/ports/bdwgc/portfile.cmake @@ -1,28 +1,26 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ivmai/bdwgc - REF 5fab1a01931a1a6934ccf1d5eaa1e51f0a8dac4d # v8.2.0-20211115 - SHA512 b1a97aad10df33bb242985eb48f1bb2d3082d88f26c34014efce3d0f233bcd18a0f43f1bd960600ad9e22bcb19ebf04e573c74dfc1abfb771aa6b8525053c14b + REF "v${VERSION}" + SHA512 da03597f7c947dd54adc3a489b781540d905b92ffb5fb6487d0c8b5121b301522ab07bdbda0a8930c7ac7655c7048d1dd0853786a56a7ff248e96745f0e36f43 HEAD_REF master ) -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - PREFER_NINJA OPTIONS -Denable_cplusplus=ON + -Denable_docs=OFF -DCFLAGS_EXTRA=-I${CURRENT_INSTALLED_DIR}/include # for libatomic_ops - OPTIONS_DEBUG - -Dinstall_headers=OFF ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/bdwgc) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/bdwgc) vcpkg_copy_pdbs() -# Handle copyright -file(INSTALL "${SOURCE_PATH}/README.QUICK" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") vcpkg_fixup_pkgconfig() + +file(INSTALL "${SOURCE_PATH}/README.QUICK" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/bdwgc/vcpkg.json b/ports/bdwgc/vcpkg.json index 35e3cd85b097c5..adef65e221be81 100644 --- a/ports/bdwgc/vcpkg.json +++ b/ports/bdwgc/vcpkg.json @@ -1,9 +1,18 @@ { "name": "bdwgc", - "version": "8.2.0", - "port-version": 2, + "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", "dependencies": [ - "libatomic-ops" + "libatomic-ops", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/beast/vcpkg.json b/ports/beast/vcpkg.json index 7fd6806ce5e75f..9f1d6b4a264d3a 100644 --- a/ports/beast/vcpkg.json +++ b/ports/beast/vcpkg.json @@ -1,7 +1,7 @@ { "name": "beast", - "version-string": "0", - "port-version": 1, + "version": "0", + "port-version": 2, "description": "HTTP/1 and WebSocket, header-only using Boost.Asio and C++11", "homepage": "https://www.boost.org/doc/libs/release/libs/beast/", "dependencies": [ diff --git a/ports/behaviortree-cpp/001_port_fixes.patch b/ports/behaviortree-cpp/001_port_fixes.patch deleted file mode 100644 index 9897caa1881e74..00000000000000 --- a/ports/behaviortree-cpp/001_port_fixes.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index a390aed..658f994 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -233,7 +233,7 @@ if( ZMQ_FOUND ) - endif() - - if(MSVC) -- target_compile_options(${BEHAVIOR_TREE_LIBRARY} PRIVATE /W3 /WX) -+ target_compile_options(${BEHAVIOR_TREE_LIBRARY} PRIVATE /W3 /wd4702) - else() - target_compile_options(${BEHAVIOR_TREE_LIBRARY} PRIVATE - -Wall -Wextra -Werror=return-type) diff --git a/ports/behaviortree-cpp/002_fix_dependencies.patch b/ports/behaviortree-cpp/002_fix_dependencies.patch deleted file mode 100644 index d554e37ce549ff..00000000000000 --- a/ports/behaviortree-cpp/002_fix_dependencies.patch +++ /dev/null @@ -1,34 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 658f994..a04cf27 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -14,7 +14,7 @@ if(MSVC) - endif() - - #---- Include boost to add coroutines ---- --find_package(Boost COMPONENTS coroutine QUIET) -+find_package(Boost REQUIRED) # coroutine2 is header-only - - if(Boost_FOUND) - string(REPLACE "." "0" Boost_VERSION_NODOT ${Boost_VERSION}) -@@ -46,17 +46,18 @@ option(BUILD_SHARED_LIBS "Build shared libraries" ON) - - #---- Find other packages ---- - find_package(Threads) --find_package(ZMQ) -+find_package(cppzmq) - - list(APPEND BEHAVIOR_TREE_PUBLIC_LIBRARIES - ${CMAKE_THREAD_LIBS_INIT} - ${CMAKE_DL_LIBS} - ) - --if( ZMQ_FOUND ) -+if( ZMQ_FOUND OR ON ) - message(STATUS "ZeroMQ found.") - add_definitions( -DZMQ_FOUND ) - list(APPEND BT_SOURCE src/loggers/bt_zmq_publisher.cpp) -+ list(APPEND BEHAVIOR_TREE_EXTERNAL_LIBRARIES cppzmq) - else() - message(WARNING "ZeroMQ NOT found. Skipping the build of [PublisherZMQ] and [bt_recorder].") - endif() diff --git a/ports/behaviortree-cpp/fix-x86_build.patch b/ports/behaviortree-cpp/fix-x86_build.patch new file mode 100644 index 00000000000000..164e9dff03d166 --- /dev/null +++ b/ports/behaviortree-cpp/fix-x86_build.patch @@ -0,0 +1,35 @@ +diff --git a/3rdparty/lexy/include/lexy/_detail/swar.hpp b/3rdparty/lexy/include/lexy/_detail/swar.hpp +index a268abb..d31bdaa 100644 +--- a/3rdparty/lexy/include/lexy/_detail/swar.hpp ++++ b/3rdparty/lexy/include/lexy/_detail/swar.hpp +@@ -141,8 +141,13 @@ constexpr std::size_t swar_find_difference(swar_int lhs, swar_int rhs) + auto bit_idx = __builtin_ctzll(mask); + #elif defined(_MSC_VER) + unsigned long bit_idx; +- if (!_BitScanForward64(&bit_idx, mask)) +- bit_idx = 64; ++ #if defined(_WIN64) ++ if (!_BitScanForward64(&bit_idx, mask)) ++ bit_idx = 64; ++ #elif defined(_WIN32) ++ if (!_BitScanForward(&bit_idx, mask)) ++ bit_idx = 32; ++ #endif + #else + # error "unsupported compiler; please file an issue" + #endif +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 295b317..0f1cd5c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -154,6 +154,10 @@ else() + add_library(${BTCPP_LIBRARY} STATIC ${BT_SOURCE}) + endif() + ++if (MSVC) ++ target_compile_definitions(${BTCPP_LIBRARY} PRIVATE NOMINMAX) ++endif () ++ + message(STATUS "BTCPP_EXTRA_LIBRARIES: ${BTCPP_EXTRA_LIBRARIES}") + + target_link_libraries(${BTCPP_LIBRARY} diff --git a/ports/behaviortree-cpp/portfile.cmake b/ports/behaviortree-cpp/portfile.cmake index 0782dbdfba5c9d..521e9b089471f8 100644 --- a/ports/behaviortree-cpp/portfile.cmake +++ b/ports/behaviortree-cpp/portfile.cmake @@ -1,40 +1,35 @@ -vcpkg_fail_port_install(ON_TARGET "UWP") - -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - -vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/BehaviorTree/BehaviorTree.CPP/archive/3.5.6.tar.gz" - FILENAME "BehaviorTree.CPP.3.5.6.tar.gz" - SHA512 cd3b15eb7c5bab68239b697da166220b4df8dd7e6cf5e831f316d411e24be56c9ed74e54a3e3dd332164d740159eaf9ce62d005601fd65133809dab29430c9b7 -) - -vcpkg_extract_source_archive_ex( +vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} + REPO BehaviorTree/BehaviorTree.CPP + REF ${VERSION} + SHA512 f2ee647c734e39e50f92405c5dc9fd2876602ff074a86416959fbf6548e37130d35f312cafb084ca4a40da7ee81386502a75ad839ce99a2859c30ff187820fdf + HEAD_REF master PATCHES - 001_port_fixes.patch - 002_fix_dependencies.patch + fix-x86_build.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_ament_cmake=1 -DCMAKE_DISABLE_FIND_PACKAGE_Curses=1 - -DBUILD_EXAMPLES=OFF - -DBUILD_UNIT_TESTS=OFF - -DBUILD_TOOLS=OFF + -DBTCPP_EXAMPLES=OFF + -DBTCPP_UNIT_TESTS=OFF + -DBTCPP_BUILD_TOOLS=OFF + -DBTCPP_GROOT_INTERFACE=OFF + -DBTCPP_SQLITE_LOGGING=OFF + MAYBE_UNUSED_VARIABLES + CMAKE_DISABLE_FIND_PACKAGE_Curses ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/BehaviorTreeV3/cmake TARGET_PATH share/behaviortreev3) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/behaviortree_cpp PACKAGE_NAME behaviortree_cpp) vcpkg_copy_pdbs() -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/include" - "${CURRENT_PACKAGES_DIR}/lib/BehaviorTreeV3" - "${CURRENT_PACKAGES_DIR}/debug/lib/BehaviorTreeV3" -) +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() diff --git a/ports/behaviortree-cpp/vcpkg.json b/ports/behaviortree-cpp/vcpkg.json index 4632b9786ab203..32f343b67070bd 100644 --- a/ports/behaviortree-cpp/vcpkg.json +++ b/ports/behaviortree-cpp/vcpkg.json @@ -1,12 +1,19 @@ { "name": "behaviortree-cpp", - "version": "3.5.6", - "port-version": 1, + "version": "4.3.7", "description": "Behavior Trees Library in C++.", "homepage": "https://www.behaviortree.dev", "supports": "!uwp", "dependencies": [ "boost-coroutine2", - "cppzmq" + "cppzmq", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/benchmark/portfile.cmake b/ports/benchmark/portfile.cmake index f1b79a6ca79b38..9a898f90e64906 100644 --- a/ports/benchmark/portfile.cmake +++ b/ports/benchmark/portfile.cmake @@ -1,20 +1,17 @@ -#https://github.com/google/benchmark/issues/661 -vcpkg_fail_port_install(ON_TARGET "uwp") - -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/benchmark - REF f91b6b42b1b9854772a90ae9501464a161707d1e # v1.6.0 - SHA512 5e3db75fcaa86b766d33e368f58cec5c5b2b9ba7fde658d13868d577679c13069756e68e86323b972daccc4f7d5e392d24d2d42e5308c1ae7e9955e651d45866 - HEAD_REF master + REF "v${VERSION}" + SHA512 0e91e0e5a2222d7650fd8bd9cafb2f0e7c1689cd1b87b2cc529c738db12bfef31162aa5a4da78f7b0aa7f0101dc08b626802c58d39862458f82f9fea9316ca25 + HEAD_REF main ) vcpkg_cmake_configure( SOURCE_PATH ${SOURCE_PATH} OPTIONS -DBENCHMARK_ENABLE_TESTING=OFF + -DBENCHMARK_INSTALL_DOCS=OFF + -Werror=old-style-cast ) vcpkg_cmake_install() @@ -28,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 713f0fa31669b1..65e1347970c67b 100644 --- a/ports/benchmark/vcpkg.json +++ b/ports/benchmark/vcpkg.json @@ -1,8 +1,10 @@ { + "$comment": "https://github.com/google/benchmark/issues/661 describes the missing UWP support upstream", "name": "benchmark", - "version-semver": "1.6.0", - "description": "A library to support the benchmarking of functions, similar to unit-tests.", + "version-semver": "1.9.0", + "description": "A library to benchmark code snippets, similar to unit tests.", "homepage": "https://github.com/google/benchmark", + "license": "Apache-2.0", "supports": "!uwp", "dependencies": [ { diff --git a/ports/bento4/LICENSE b/ports/bento4/LICENSE deleted file mode 100644 index c1d00b26c5e495..00000000000000 --- a/ports/bento4/LICENSE +++ /dev/null @@ -1,6 +0,0 @@ -Bento4 is developed by Axiomatic Systems LLC in San Francisco, California. - -This software is available under two different licenses -For applications that are entirely distributable under the terms of the GPL(https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html), the Bento4 GPL license applies. -For applications that cannot be entirely distributable under the terms of the GPL (either the application, or code modules linked with the application are not compatible with the terms of the GPL licence), a non-GPL commercial license is available from Axiomatic Systems LLC. -Contact Gilles Boccon-Gibod (licensing@axiosys.com or bok@bok.net) for more information. \ No newline at end of file diff --git a/ports/bento4/fix-install-and-c4996-error.patch b/ports/bento4/fix-install-and-c4996-error.patch deleted file mode 100644 index c99fdc411a96e8..00000000000000 --- a/ports/bento4/fix-install-and-c4996-error.patch +++ /dev/null @@ -1,43 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 2f08b2f..fccf2a8 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -35,6 +35,8 @@ endif() - - add_library(ap4 STATIC ${AP4_SOURCES}) - -+add_definitions(-D_CRT_SECURE_NO_WARNINGS) -+ - # Includes - include_directories( - ${SOURCE_CORE} -@@ -43,6 +45,14 @@ include_directories( - ${SOURCE_METADATA} - ) - -+# AP4 includes -+file(GLOB AP4_INCLUDES -+ ${SOURCE_CODECS}/*.h -+ ${SOURCE_CORE}/*.h -+ ${SOURCE_CRYPTO}/*.h -+ ${SOURCE_METADATA}/*.h -+) -+ - # Apps - file(GLOB BENTO4_APPS RELATIVE ${SOURCE_ROOT}/Apps ${SOURCE_ROOT}/Apps/*) - foreach(app ${BENTO4_APPS}) -@@ -50,3 +60,13 @@ foreach(app ${BENTO4_APPS}) - add_executable(${binary_name} ${SOURCE_ROOT}/Apps/${app}/${app}.cpp) - target_link_libraries(${binary_name} ap4) - endforeach() -+ -+# Install targets -+install(TARGETS ap4 -+ RUNTIME DESTINATION bin -+ LIBRARY DESTINATION lib -+ ARCHIVE DESTINATION lib -+) -+ -+# Install headers -+install(FILES ${AP4_INCLUDES} DESTINATION include) -\ No newline at end of file diff --git a/ports/bento4/portfile.cmake b/ports/bento4/portfile.cmake index 0e5cb143b45773..c4b635595b368e 100644 --- a/ports/bento4/portfile.cmake +++ b/ports/bento4/portfile.cmake @@ -3,21 +3,22 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO axiomatic-systems/Bento4 - REF v1.5.1-628 - SHA512 2bf44f55307178cc9128e323904acbfaa2f88e06beff26cf27fc0a7707875942de89778a0ee1a8315ef2c3b19754edad77d32fdb74f3d651f03c2623e7a9122d - HEAD_REF master - PATCHES fix-install-and-c4996-error.patch + REF "v${VERSION}" + SHA512 ad92c561a16a830ac63b0fbff98bd14f732dd2e38416de937191b14c750e632c793e5256b92361d3ff8867f9fd1cf727756ba78cd0122af1b79d62532d2ca427 + HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_APPS=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/bento4) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") vcpkg_copy_pdbs() -file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/Documents/LICENSE.txt") diff --git a/ports/bento4/vcpkg.json b/ports/bento4/vcpkg.json index d5278c24fb1fee..6d0b6f58c5871f 100644 --- a/ports/bento4/vcpkg.json +++ b/ports/bento4/vcpkg.json @@ -1,7 +1,17 @@ { "name": "bento4", - "version-string": "1.5.1", - "port-version": 629, + "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" + "homepage": "https://github.com/axiomatic-systems/Bento4", + "license": null, + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/berkeleydb/portfile.cmake b/ports/berkeleydb/portfile.cmake index 93d89fb3ebd8c2..48c93ae3055869 100644 --- a/ports/berkeleydb/portfile.cmake +++ b/ports/berkeleydb/portfile.cmake @@ -1,25 +1,22 @@ -vcpkg_fail_port_install( ON_TARGET "uwp" "linux" "osx") - vcpkg_download_distfile(ARCHIVE - URLS "http://download.oracle.com/berkeley-db/db-4.8.30.NC.zip" + URLS "https://download.oracle.com/berkeley-db/db-4.8.30.NC.zip" FILENAME "db-4.8.30.NC.zip" SHA512 59c1d2d5a3551f988ab1dc063900572b67ad087537e0d71760de34601f9ebd4d5c070a49b809bec4a599a62417e9a162683ce0f6442deb1a0dadb80764bf6eab ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" PATCHES fix-conflict-macro.patch ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS_DEBUG -DINSTALL_HEADERS=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/berkeleydb/vcpkg.json b/ports/berkeleydb/vcpkg.json index 318643530b6cc5..bf9fe13642c6ff 100644 --- a/ports/berkeleydb/vcpkg.json +++ b/ports/berkeleydb/vcpkg.json @@ -1,8 +1,18 @@ { "name": "berkeleydb", - "version-string": "4.8.30", - "port-version": 6, + "version": "4.8.30", + "port-version": 9, "description": "BDB - A high-performance embedded database for key/value data.", "homepage": "https://download.oracle.com/", - "supports": "!(uwp | linux | osx)" + "supports": "!(uwp | linux | osx)", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/better-enums/portfile.cmake b/ports/better-enums/portfile.cmake new file mode 100644 index 00000000000000..8b4a534a62903f --- /dev/null +++ b/ports/better-enums/portfile.cmake @@ -0,0 +1,11 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO aantron/better-enums + REF ${VERSION} + SHA512 5997c74932803fb96beabbe029d80f6fdeab7c46f781a4e11ef775242d294dfd82ca05cac99787dd68a622db62510fd5533e9c0e85a62c7792c0dbe6237af6d9 + HEAD_REF master +) + +file(COPY "${SOURCE_PATH}/enum.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include/better-enums") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.md") diff --git a/ports/better-enums/vcpkg.json b/ports/better-enums/vcpkg.json new file mode 100644 index 00000000000000..062b0d58da6ff5 --- /dev/null +++ b/ports/better-enums/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "better-enums", + "version": "0.11.3", + "description": "C++ compile-time enum to string, iteration, in a single header file.", + "homepage": "http://aantron.github.io/better-enums/", + "license": "BSD-2-Clause" +} diff --git a/ports/bext-di/portfile.cmake b/ports/bext-di/portfile.cmake index 8b123db7d2de4e..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 http://www.boost.org/LICENSE_1_0.txt + 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 3278462b4b5ada..4436ec18f83108 100644 --- a/ports/bext-di/vcpkg.json +++ b/ports/bext-di/vcpkg.json @@ -1,6 +1,12 @@ { "name": "bext-di", - "version-string": "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-mp/fix-build-flags.patch b/ports/bext-mp/fix-build-flags.patch new file mode 100644 index 00000000000000..960dfa20967b30 --- /dev/null +++ b/ports/bext-mp/fix-build-flags.patch @@ -0,0 +1,17 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index deaa67c..fb82294 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -34,10 +34,10 @@ target_sources(mp + if(PROJECT_IS_TOP_LEVEL) + if("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") + target_compile_options(mp INTERFACE +- $) ++ $) + target_link_options(mp INTERFACE $) + elseif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") +- target_compile_options(mp INTERFACE $) ++ target_compile_options(mp INTERFACE $) + endif() + endif() + diff --git a/ports/bext-mp/portfile.cmake b/ports/bext-mp/portfile.cmake new file mode 100644 index 00000000000000..0adc5fa237b6ad --- /dev/null +++ b/ports/bext-mp/portfile.cmake @@ -0,0 +1,22 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boost-ext/mp + REF d2dbdf89e543624be8351fd52308a9cf73374dbc + SHA512 15d56bf0dca2e4bfb9128b8552a6aa01ed6b1431ab9c152ed51473f6fa237c31fbf3d5baa22523e3786d14fd716acb5436ed26fe89d46812ba9375e2417bc67a + HEAD_REF main + PATCHES fix-build-flags.patch +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(PACKAGE_NAME mp CONFIG_PATH "share/cmake/mp-0.0.1") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") + +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/bext-mp/usage b/ports/bext-mp/usage new file mode 100644 index 00000000000000..247e07999037b4 --- /dev/null +++ b/ports/bext-mp/usage @@ -0,0 +1,5 @@ +The package bext-mp provides CMake targets: + + find_package(mp CONFIG REQUIRED) + target_link_libraries(main PRIVATE Boost::mp) + set_property(TARGET main PROPERTY CXX_EXTENSIONS OFF) diff --git a/ports/bext-mp/vcpkg.json b/ports/bext-mp/vcpkg.json new file mode 100644 index 00000000000000..413416c11b40cf --- /dev/null +++ b/ports/bext-mp/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "bext-mp", + "version-date": "2023-03-02", + "description": "C++20 ~~Template~~ Meta-Programming", + "homepage": "https://boost-ext.github.io/mp/", + "license": "BSL-1.0", + "supports": "!windows | mingw", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/bext-sml/portfile.cmake b/ports/bext-sml/portfile.cmake index 75d8f36aa98f37..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.4 - SHA512 0ded162e5d9d7cc9d8769fd9131d7a5cfc98187c8e9d98393eda9e0804c282e510707de38fe7229d2fe16aea70c9a8e300f14e992fff3ddedd0fa1b6a66ab1ba + 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 774e04321a704f..7eef04db1bae97 100644 --- a/ports/bext-sml/vcpkg.json +++ b/ports/bext-sml/vcpkg.json @@ -1,6 +1,7 @@ { "name": "bext-sml", - "version": "1.1.4", + "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" + "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 new file mode 100644 index 00000000000000..c034ec04fa4ae9 --- /dev/null +++ b/ports/bext-sml2/portfile.cmake @@ -0,0 +1,15 @@ +# Header-only library +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO qlibs/sml + REF "v${VERSION}" + SHA512 8c2406f1d35145b4f5896c41c8d1a616444cb151cc468f670daefc1b7dc4bd8aa6c9acc3c2c733158c0e6a21b4077cac4b519eea2b0fd3bc549dae726d0a23d7 + HEAD_REF master +) + +file(INSTALL "${SOURCE_PATH}/sml2" + DESTINATION "${CURRENT_PACKAGES_DIR}/include/boost" +) + +# Handle copyright +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/README.md") diff --git a/ports/bext-sml2/vcpkg.json b/ports/bext-sml2/vcpkg.json new file mode 100644 index 00000000000000..ebf94f6a5c01a8 --- /dev/null +++ b/ports/bext-sml2/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "bext-sml2", + "version": "2.0.0", + "description": "Your scalable C++20 one header only State Machine Library with no dependencies", + "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 14d456bc5b2ed9..87913301be926f 100644 --- a/ports/bext-ut/portfile.cmake +++ b/ports/bext-ut/portfile.cmake @@ -1,31 +1,31 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boost-ext/ut - REF v1.1.8 - SHA512 0df2f8ce784dc69c3cca5554a8b2be7c1664dd66bf52e83f305db5fae84d416a851e9282e9a8cfe50fbcada85b17da00fb25c1228d9cca32226a18bae18acb83 + REF "v${VERSION}" + SHA512 6894767ddae9d3ddd7aac2f77565f653e5051d213d39129a149405c6441a5f20a2878a5f548ad8d4ca37f70e44c6360c447f12df9c870149f9ed57a281214c24 HEAD_REF master ) -vcpkg_download_distfile(LICENSE_FILE - URLS https://www.boost.org/LICENSE_1_0.txt - FILENAME d6078467835dba893231.txt - SHA512 d6078467835dba8932314c1c1e945569a64b065474d7aced27c9a7acc391d52e9f234138ed9f1aa9cd576f25f12f557e0b733c14891d42c16ecdc4a7bd4d60b8 -) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS + -DBOOST_UT_ALLOW_CPM_USE=OFF -DBOOST_UT_BUILD_BENCHMARKS=OFF -DBOOST_UT_BUILD_EXAMPLES=OFF -DBOOST_UT_BUILD_TESTS=OFF + -DINCLUDE_INSTALL_DIR=include + -DBOOST_UT_DISABLE_MODULE=ON ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/ut TARGET_PATH share/ut) - -configure_file("${LICENSE_FILE}" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) +vcpkg_cmake_config_fixup(PACKAGE_NAME ut CONFIG_PATH lib/cmake/ut-${VERSION}) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug - ${CURRENT_PACKAGES_DIR}/lib +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 8a7c5d77f66132..2888766ecdd6b2 100644 --- a/ports/bext-ut/vcpkg.json +++ b/ports/bext-ut/vcpkg.json @@ -1,6 +1,17 @@ { "name": "bext-ut", - "version": "1.1.8", - "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": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/bext-wintls/portfile.cmake b/ports/bext-wintls/portfile.cmake index 14ac5c893e4698..1c87e893dd6b5a 100644 --- a/ports/bext-wintls/portfile.cmake +++ b/ports/bext-wintls/portfile.cmake @@ -1,11 +1,11 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO laudrup/boost-wintls - REF v0.9.5 - SHA512 5b6a88d64225c0f065d18f65319d44b90eb594431c53d9fbff72edfe2fc909613a966062b5636db7a3d0e36a389a0948dada0fbfa61b21b7b52b1af952d93071 + REF "v${VERSION}" + SHA512 b63f2634b194b9663376786ec788fd7ae1aa8281ab01899071c985311b694cc9655abb893e1b46dea7b1e7fca767fd236795b25ce1520af1b236a08589df5ae0 HEAD_REF master ) file(COPY "${SOURCE_PATH}/include/boost/" DESTINATION "${CURRENT_PACKAGES_DIR}/include/boost/") -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/bext-wintls/vcpkg.json b/ports/bext-wintls/vcpkg.json index cb39e3137c97f7..2470f35f019204 100644 --- a/ports/bext-wintls/vcpkg.json +++ b/ports/bext-wintls/vcpkg.json @@ -1,18 +1,10 @@ { "name": "bext-wintls", - "version": "0.9.5", + "version": "0.9.8", "description": "Native Windows TLS stream wrapper for use with boost::asio", "homepage": "https://github.com/laudrup/boost-wintls", - "supports": "windows", + "supports": "windows | mingw", "dependencies": [ - "boost-asio", - { - "name": "vcpkg-cmake", - "host": true - }, - { - "name": "vcpkg-cmake-config", - "host": true - } + "boost-asio" ] } diff --git a/ports/bfgroup-lyra/portfile.cmake b/ports/bfgroup-lyra/portfile.cmake index fb9848a4fdca56..e25fdd975d73e0 100644 --- a/ports/bfgroup-lyra/portfile.cmake +++ b/ports/bfgroup-lyra/portfile.cmake @@ -1,21 +1,24 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO bfgroup/Lyra - REF 1.5.1 - SHA512 e349c57614fe18cfee49b6a3977f133de3e567aa6b1c148abf9510432f7db34b75488739850e48c7943a15151fe2eedb129179d8d73eb61fb4f9a11c54b61086 - HEAD_REF master + REF "${VERSION}" + SHA512 643c25fbe996af2e888eacb99a715e3d420dbfc21d48756703cf301ab6ba0d1f8eea1cd0764bd5c173d2ddcef7c799448d8c3a77676024205163305e1363d461 + HEAD_REF release ) +set(VCPKG_BUILD_TYPE release) # header-only port + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" ) + vcpkg_cmake_install() vcpkg_cmake_config_fixup( PACKAGE_NAME lyra CONFIG_PATH share/lyra/cmake ) -# Library is header-only, so no debug content. -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") -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/bfgroup-lyra/usage b/ports/bfgroup-lyra/usage new file mode 100644 index 00000000000000..92538aa1d98871 --- /dev/null +++ b/ports/bfgroup-lyra/usage @@ -0,0 +1,4 @@ +bfgroup-lyra provides CMake targets: + + find_package(lyra CONFIG REQUIRED) + target_link_libraries(main PRIVATE bfg::lyra) diff --git a/ports/bfgroup-lyra/vcpkg.json b/ports/bfgroup-lyra/vcpkg.json index 88b0d01efb8581..25a353bd9e7632 100644 --- a/ports/bfgroup-lyra/vcpkg.json +++ b/ports/bfgroup-lyra/vcpkg.json @@ -1,8 +1,9 @@ { "name": "bfgroup-lyra", - "version": "1.5.1", + "version": "1.6.1", "description": "A simple to use, composable, command line parser for C++ 11 and beyond", "homepage": "https://bfgroup.github.io/Lyra/", + "license": "BSL-1.0", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/bgfx/portfile.cmake b/ports/bgfx/portfile.cmake new file mode 100644 index 00000000000000..de77c567588e36 --- /dev/null +++ b/ports/bgfx/portfile.cmake @@ -0,0 +1,64 @@ +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() + +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_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 +) + +if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + set(BGFX_LIBRARY_TYPE "SHARED") +else () + set(BGFX_LIBRARY_TYPE "STATIC") +endif () + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + 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 ("tools" IN_LIST FEATURES) + vcpkg_copy_tools(TOOL_NAMES bin2c shaderc geometryc geometryv texturec texturev AUTO_CLEAN) +endif () + +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" +) diff --git a/ports/bgfx/vcpkg-inject-packages.cmake b/ports/bgfx/vcpkg-inject-packages.cmake new file mode 100644 index 00000000000000..019fc19a63a768 --- /dev/null +++ b/ports/bgfx/vcpkg-inject-packages.cmake @@ -0,0 +1,8 @@ +find_package(miniz CONFIG REQUIRED) +set(MINIZ_LIBRARIES miniz::miniz) + +find_package(unofficial-libsquish CONFIG REQUIRED) +set(LIBSQUISH_LIBRARIES unofficial::libsquish::squish) + +find_package(tinyexr CONFIG REQUIRED) +set(TINYEXR_LIBRARIES unofficial::tinyexr::tinyexr) diff --git a/ports/bgfx/vcpkg.json b/ports/bgfx/vcpkg.json new file mode 100644 index 00000000000000..fff5bb3d03dcea --- /dev/null +++ b/ports/bgfx/vcpkg.json @@ -0,0 +1,39 @@ +{ + "name": "bgfx", + "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 AND CC0-1.0", + "dependencies": [ + "libsquish", + "miniz", + "tinyexr", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "default-features": [ + { + "name": "multithreaded", + "platform": "!emscripten" + } + ], + "features": { + "multithreaded": { + "description": "Encode and render on different threads", + "supports": "!emscripten" + }, + "tools": { + "$comment": "Use '\"host\": true' in dependencies of vcpkg.json in manifest mode.", + "description": "Shader, Texture and Geometry compilers for bgfx.", + "supports": "native" + } + } +} diff --git a/ports/bigint/portfile.cmake b/ports/bigint/portfile.cmake index 7231697501a63d..d194219d8660ca 100644 --- a/ports/bigint/portfile.cmake +++ b/ports/bigint/portfile.cmake @@ -6,21 +6,20 @@ vcpkg_download_distfile(ARCHIVE SHA512 bb64380e51991f97a2489c04801ab4372f795b5e23870ad12d71087f1a2afba9b32f74dcdbdcb5228ebf0dd74a37185285bac7653dd3c62d6118d63c298689af ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" PATCHES fix-osx-usage.patch ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets() +vcpkg_cmake_install() +vcpkg_cmake_config_fixup() -file(INSTALL ${SOURCE_PATH}/README DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/README" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/bigint/vcpkg.json b/ports/bigint/vcpkg.json index 6a70944a6a0d1d..c8d27e6568688d 100644 --- a/ports/bigint/vcpkg.json +++ b/ports/bigint/vcpkg.json @@ -1,7 +1,17 @@ { "name": "bigint", "version-string": "2010.04.30", - "port-version": 7, + "port-version": 8, "description": "C++ Big Integer Library", - "homepage": "https://mattmccutchen.net/bigint" + "homepage": "https://mattmccutchen.net/bigint", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/binlog/portfile.cmake b/ports/binlog/portfile.cmake new file mode 100644 index 00000000000000..8322e1b2263b43 --- /dev/null +++ b/ports/binlog/portfile.cmake @@ -0,0 +1,29 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO morganstanley/binlog + REF 3fef8846f5ef98e64211e7982c2ead67e0b185a6 + SHA512 106da76da3fc229211f8754306156bb7456d828678bfab18a0ad24f713ce1101debab4a75fe12bf7686bfab2f3f26eef66b57642447d7ddfb7de343f3ad8279d + HEAD_REF master +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBINLOG_BUILD_BREAD=OFF + -DBINLOG_BUILD_BRECOVERY=OFF + -DBINLOG_BUILD_EXAMPLES=OFF + -DBINLOG_BUILD_UNIT_TESTS=OFF + -DBINLOG_BUILD_INTEGRATION_TESTS=OFF + -DCMAKE_DISABLE_FIND_PACKAGE_benchmark=ON +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/binlog") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") +vcpkg_copy_pdbs() diff --git a/ports/binlog/vcpkg.json b/ports/binlog/vcpkg.json new file mode 100644 index 00000000000000..a11da3a0aedd1f --- /dev/null +++ b/ports/binlog/vcpkg.json @@ -0,0 +1,19 @@ +{ + "name": "binlog", + "version-date": "2021-04-16", + "port-version": 1, + "description": "Binlog is a high performance C++ log library to produce structured binary logs.", + "homepage": "http://opensource.morganstanley.com/binlog/", + "license": "Apache-2.0", + "supports": "!uwp & !(arm64 & windows)", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/binn/portfile.cmake b/ports/binn/portfile.cmake index 1ce3a8cd51d2cd..ebe87e01445854 100644 --- a/ports/binn/portfile.cmake +++ b/ports/binn/portfile.cmake @@ -10,17 +10,15 @@ vcpkg_from_github( 0001_fix_uwp.patch ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -file(INSTALL ${SOURCE_PATH}/src/binn.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/binn) +file(INSTALL "${SOURCE_PATH}/src/binn.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include/binn") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() # Handle copyright -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/binn) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/binn/LICENSE ${CURRENT_PACKAGES_DIR}/share/binn/copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/binn/vcpkg.json b/ports/binn/vcpkg.json index 09fc20cb203e7d..55ee55290d0dc6 100644 --- a/ports/binn/vcpkg.json +++ b/ports/binn/vcpkg.json @@ -1,6 +1,16 @@ { "name": "binn", - "version-string": "3.0", - "port-version": 1, - "description": "Binn is a binary data serialization format designed to be compact, fast and easy to use." + "version": "3.0", + "port-version": 3, + "description": "Binn is a binary data serialization format designed to be compact, fast and easy to use.", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } 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..ffbd2ab241b3f9 --- /dev/null +++ b/ports/bit7z/portfile.cmake @@ -0,0 +1,45 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO rikyoz/bit7z + REF "v${VERSION}" + SHA512 02ee10a66598e9a2f5b47f35392dc8f3de11e01dac9d657e1321d1de97baf9832b1f1559054160d122dddd0427f54076820d7252185912c38b2f277d9c5fa1c0 + HEAD_REF master + PATCHES + fix_install.patch + fix_dependency.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..bc1cc29b904732 --- /dev/null +++ b/ports/bit7z/vcpkg.json @@ -0,0 +1,24 @@ +{ + "name": "bit7z", + "version": "4.0.8", + "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 570aa610cf66df..eef702e6d7360a 100644 --- a/ports/bitmagic/portfile.cmake +++ b/ports/bitmagic/portfile.cmake @@ -2,12 +2,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO tlk00/BitMagic - REF v7.5.0 - SHA512 237D81D6AED1DAF612BF4F64DD7C883018198C1E1F5A58837B04D010971950C27C91B978AA8D774145B45A5B0C4121AC45CFF1094793E56066F2EFA8B4C3D6ED + 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 a41fde0ca4708c..4e3cd01ea16f78 100644 --- a/ports/bitmagic/vcpkg.json +++ b/ports/bitmagic/vcpkg.json @@ -1,6 +1,8 @@ { "name": "bitmagic", - "version": "7.5.0", + "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-rapidyaml/vcpkg.json b/ports/bitserializer-rapidyaml/vcpkg.json index c6fc4961ec5619..9d548ea4206eb9 100644 --- a/ports/bitserializer-rapidyaml/vcpkg.json +++ b/ports/bitserializer-rapidyaml/vcpkg.json @@ -1,9 +1,8 @@ { "name": "bitserializer-rapidyaml", "version-string": "alias", - "port-version": 2, + "port-version": 3, "description": "Deprecated alias for bitserializer-rapidyaml", - "supports": "!osx", "dependencies": [ { "name": "bitserializer", diff --git a/ports/bitserializer/portfile.cmake b/ports/bitserializer/portfile.cmake index 7e0f67a1d480b7..06ba5943b74576 100644 --- a/ports/bitserializer/portfile.cmake +++ b/ports/bitserializer/portfile.cmake @@ -1,8 +1,11 @@ -vcpkg_from_bitbucket( +# All components of BitSerializer is "header only" except CSV archive +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO Pavel_Kisliak/BitSerializer - REF 0.44 - SHA512 0629acc93807254bd51d9eed761a92be4780d01604a9ae4bf8a933af70fdb206ea9b4f4db3489805b4163f5071246529ea22f8b3e7fbcd77ed936c3ab24697b2 + REPO PavelKisliak/BitSerializer + REF v0.70 + SHA512 efd6d9e00bbbe9ef541b2bea8ee8417befcc6482e96241689f39ab130743a1e3fbf2e22ae81c4291d15091f63f94f20964ad873a8601c2f5d98e7021aaedc793 HEAD_REF master ) @@ -12,18 +15,27 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS "rapidjson-archive" BUILD_RAPIDJSON_ARCHIVE "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} - PREFER_NINJA + SOURCE_PATH "${SOURCE_PATH}" + DISABLE_PARALLEL_CONFIGURE OPTIONS ${FEATURE_OPTIONS} ) + vcpkg_cmake_install() -vcpkg_cmake_config_fixup(CONFIG_PATH share/bitserializer) +vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup() +vcpkg_fixup_pkgconfig() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib ${CURRENT_PACKAGES_DIR}/debug) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +if (NOT (${BUILD_CSV_ARCHIVE} OR ${BUILD_MSGPACK_ARCHIVE})) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") +endif() # Handle copyright -file(INSTALL ${SOURCE_PATH}/license.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME 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}") \ No newline at end of file diff --git a/ports/bitserializer/usage b/ports/bitserializer/usage new file mode 100644 index 00000000000000..b53e9bb853954e --- /dev/null +++ b/ports/bitserializer/usage @@ -0,0 +1,12 @@ +BitSerializer provides CMake targets: + + find_package(bitserializer CONFIG REQUIRED) + # Link only archives which you are specified in the features list when install + target_link_libraries(main PRIVATE + BitSerializer::cpprestjson-archive + BitSerializer::rapidjson-archive + 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 09a3a8b1b331d8..5cb6fabd2268fd 100644 --- a/ports/bitserializer/vcpkg.json +++ b/ports/bitserializer/vcpkg.json @@ -1,8 +1,9 @@ { "name": "bitserializer", - "version": "0.44", - "description": "C++ 17 library for serialization to JSON, XML, YAML", - "homepage": "https://bitbucket.org/Pavel_Kisliak/bitserializer", + "version": "0.70", + "description": "C++ 17 library for serialization to JSON, XML, YAML, CSV", + "homepage": "https://github.com/PavelKisliak/BitSerializer", + "license": "MIT", "dependencies": [ { "name": "vcpkg-cmake", @@ -20,6 +21,12 @@ "cpprestsdk" ] }, + "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": [ @@ -35,10 +42,7 @@ "rapidyaml-archive": { "description": "Module for support YAML (implementation based on the RapidYaml library)", "dependencies": [ - { - "name": "ryml", - "platform": "!osx" - } + "ryml" ] } } diff --git a/ports/bitsery/portfile.cmake b/ports/bitsery/portfile.cmake index 16fec4c35efa16..2fc9262f0b1980 100644 --- a/ports/bitsery/portfile.cmake +++ b/ports/bitsery/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO fraillt/bitsery - REF c0fc083c9de805e5825d7553507569febf6a6f93 # v5.2.2 - SHA512 a4c8660f6e8dcb5162f6f75e0f1e4716032b8403e9461f42e0628955eb07dc7c17aec9f774f45c2c15cce28a231699a71815d3d6d7d0f34a1367ee1e2d944305 + REF "v${VERSION}" + SHA512 26e525d799d1777e182753c6c970765be8695a557e0fef35224ab8f4629a094c04fd8d7e456da369938d74acb0ca84084f394f212ae1343fa62a27256dba971f HEAD_REF master ) diff --git a/ports/bitsery/vcpkg.json b/ports/bitsery/vcpkg.json index 4fad8826041445..4908314131e3eb 100644 --- a/ports/bitsery/vcpkg.json +++ b/ports/bitsery/vcpkg.json @@ -1,6 +1,6 @@ { "name": "bitsery", - "version": "5.2.2", + "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 new file mode 100644 index 00000000000000..2296275671248b --- /dev/null +++ b/ports/blake3/fix-windows-arm-build-error.patch @@ -0,0 +1,13 @@ +diff --git a/c/blake3_dispatch.c b/c/blake3_dispatch.c +index af6c3da..dce85b4 100644 +--- a/c/blake3_dispatch.c ++++ b/c/blake3_dispatch.c +@@ -31,7 +31,7 @@ + #define ATOMIC_INT _Atomic int + #define ATOMIC_LOAD(x) x + #define ATOMIC_STORE(x, y) x = y +-#elif 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 new file mode 100644 index 00000000000000..0fb2aed60a6c62 --- /dev/null +++ b/ports/blake3/portfile.cmake @@ -0,0 +1,21 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO BLAKE3-team/BLAKE3 + REF "${VERSION}" + SHA512 39b8c49f70a84ac23df1ddaf920ad3d829268db108077e67108b19bc7cdf7e18d468eba5d58a10d79269101204dad52c9463a5b1729d212e15f6c7a419fcfbe7 + HEAD_REF main + PATCHES + fix-windows-arm-build-error.patch +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/c" +) + +vcpkg_cmake_install() + +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_A2" "${SOURCE_PATH}/LICENSE_A2LLVM" "${SOURCE_PATH}/LICENSE_CC0") diff --git a/ports/blake3/vcpkg.json b/ports/blake3/vcpkg.json new file mode 100644 index 00000000000000..862a1a2d4b2b36 --- /dev/null +++ b/ports/blake3/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "blake3", + "version": "1.5.4", + "description": "BLAKE3 cryptographic hash function.", + "homepage": "https://github.com/BLAKE3-team/BLAKE3", + "license": "CC0-1.0 OR Apache-2.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} 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 f70aa46eabd3fb..af565beb9d6a00 100644 --- a/ports/blas/portfile.cmake +++ b/ports/blas/portfile.cmake @@ -1,5 +1,72 @@ -SET(VCPKG_POLICY_EMPTY_PACKAGE enabled) - -# Make sure BLAS can be found -vcpkg_configure_cmake(SOURCE_PATH ${CURRENT_PORT_DIR} - OPTIONS -DCMAKE_PREFIX_PATH="${CURRENT_PACKAGES_DIR}") +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 ew 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.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 aca4cf894e418c..994f24db1f6d68 100644 --- a/ports/blas/vcpkg.json +++ b/ports/blas/vcpkg.json @@ -1,9 +1,26 @@ { + "$comment": "Keep the platform expressions in sync with the wrappers installed by the portfiles!", "name": "blas", - "version-string": "1", + "version-date": "2023-04-14", "port-version": 1, "description": "Metapackage for packages which provide BLAS", + "license": null, + "supports": "!(android & arm32) & !(android & x64)", "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/fix-vm-build.patch b/ports/blaze/fix-vm-build.patch deleted file mode 100644 index 3936299e0a7a26..00000000000000 --- a/ports/blaze/fix-vm-build.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index e5ab1f460..a23c6dbf5 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -145,12 +145,13 @@ if (${BLAZE_CACHE_SIZE_AUTO}) - endif (flag EQUAL 0) - endif (APPLE) - -- if (flag) -+ string(REGEX MATCH "([0-9][0-9]+)" tmp ${tmp}) # Get a number containing at least 2 digits in the string tmp -+ -+ if (flag OR NOT tmp) - message("Cache size not found automatically. Using default value as cache size.") - set(tmp ${BLAZE_CACHE_SIZE_DEFAULT}) - endif (flag) - -- string(REGEX MATCH "([0-9][0-9]+)" tmp ${tmp}) # Get a number containing at least 2 digits in the string tmp - math(EXPR BLAZE_CACHE_SIZE ${tmp}*1024) # Convert to bytes (assuming that the value is given in kibibytes) - - endif (${BLAZE_CACHE_SIZE_AUTO}) diff --git a/ports/blaze/portfile.cmake b/ports/blaze/portfile.cmake index 8ef5792fd1891b..8cdd4955c02c3f 100644 --- a/ports/blaze/portfile.cmake +++ b/ports/blaze/portfile.cmake @@ -1,25 +1,29 @@ vcpkg_from_bitbucket( OUT_SOURCE_PATH SOURCE_PATH REPO blaze-lib/blaze - REF 0380370f0626de2ad0ec7ea815803e22bbf6b42e - SHA512 47df2a291febf0565787ed9c4222ee1958d03c5b76c54923e4d8e44f75321c266e81d69ba4512a4ab07d7e431c065d025e01269cf9c1d5f0927f133885def4c7 + REF "v${VERSION}" + SHA512 9786628159991f547902ceb44a159f0ba84d08be16ccc45bfb9aad3cfbf16eaede4ea43d2d4981d420a8a387a07721b113754f6038a6db2d9c7ed2ea967b5361 HEAD_REF master - PATCHES - fix-vm-build.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +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 ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/blaze/cmake) +vcpkg_cmake_config_fixup(CONFIG_PATH share/blaze/cmake) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) +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/blaze/vcpkg.json b/ports/blaze/vcpkg.json index 19a46638cbd977..f5a9c41f0e6efa 100644 --- a/ports/blaze/vcpkg.json +++ b/ports/blaze/vcpkg.json @@ -1,11 +1,34 @@ { "name": "blaze", - "version-string": "3.8", - "port-version": 2, + "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 + }, + { + "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 4b50bf92c7d026..d2225fe30eebc1 100644 --- a/ports/blend2d/portfile.cmake +++ b/ports/blend2d/portfile.cmake @@ -1,10 +1,8 @@ -vcpkg_fail_port_install(ON_ARCH "arm" ON_ARCH "wasm32" ON_TARGET "uwp") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO blend2d/blend2d - REF 92ba4eaa2f22331bc9823ddb47f53dd8ce683c8b - SHA512 bb5585d0b73c2acc815a96d613c53c334b5f0d398e99cbaa7b7cf0c63b7a17d36a9f505779d9f5b549b6c6de69414183aadf1b2b8117552bdb273ad7167d761e + REF 9a86b2700917ced827c008c3dd488108afb3490c # commited on 2024-07-08 + SHA512 741404d4c7044e8d338ad5b02e6b6e00b7e40f9c9cf03c53de4607447b552f559747d4a96d53c7b6311abb6348f4bf8a4abd6d726c51be8c1b7e65e540c4f128 HEAD_REF master ) @@ -13,49 +11,34 @@ 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 e7a728018e5d88ffa477430fa63bdebbf480fb02 - SHA512 99e0f40d6d90ff194cb9e3238c5090a7fb09f871eeaad24283c461214ef584002d4b00c066b303698f71c55b2ccdb926704ec485956d35fc70ea829eff4888a7 - 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_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DBLEND2D_STATIC=${BLEND2D_STATIC} + "-DBLEND2D_STATIC=${BLEND2D_STATIC}" + "-DBLEND2D_NO_FUTEX=OFF" + "-DBLEND2D_EXTERNAL_ASMJIT=ON" ${FEATURE_OPTIONS} ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${PORT}") -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +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() -# Handle copyright -configure_file(${SOURCE_PATH}/LICENSE.md ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) - -if(BLEND2D_STATIC) - # Install usage - configure_file(${CMAKE_CURRENT_LIST_DIR}/usage ${CURRENT_PACKAGES_DIR}/share/${PORT}/usage @ONLY) -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/blend2d/usage b/ports/blend2d/usage index b6d8a652cbdc7c..e5adf17e4acdb1 100644 --- a/ports/blend2d/usage +++ b/ports/blend2d/usage @@ -1 +1,4 @@ -Define BL_STATIC before any @PORT@ includes. +blend2d provides CMake targets: + + find_package(blend2d CONFIG REQUIRED) + target_link_libraries(main PRIVATE blend2d::blend2d) diff --git a/ports/blend2d/vcpkg.json b/ports/blend2d/vcpkg.json index 8c4eb58c2aeee9..cbd12836b94ada 100644 --- a/ports/blend2d/vcpkg.json +++ b/ports/blend2d/vcpkg.json @@ -1,24 +1,34 @@ { "name": "blend2d", - "version-date": "2021-03-17", - "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", - "supports": "!(arm | uwp)", + "license": "Zlib", + "supports": "!wasm32", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], "default-features": [ - "jit", - "logging", - "tls" + { + "name": "jit", + "platform": "!arm32" + } ], "features": { "jit": { - "description": "Default feature. Enables jit pipeline compilation. Not supported for ARM and UWP." - }, - "logging": { - "description": "Default feature. Enables logging." - }, - "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": [ + "asmjit" + ] } } } diff --git a/ports/blingfire/ninja.patch b/ports/blingfire/ninja.patch new file mode 100644 index 00000000000000..ae7e654f3e3a66 --- /dev/null +++ b/ports/blingfire/ninja.patch @@ -0,0 +1,9 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 818a3da..e8b3bed 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -19,3 +19,3 @@ IF (WIN32 AND MSVC) + set (CMAKE_CXX_FLAGS " -DNDEBUG") +- add_compile_options("/O2" "/W4" "/GS" "/Gy" "/guard:cf" "/Gm-" "/Zc:inline" "/fp:precise" "/GF" "/EHsc" "/ZH:SHA_256") ++ add_compile_options("/W4" "/GS" "/Gy" "/guard:cf" "/Gm-" "/Zc:inline" "/fp:precise" "/GF" "/EHsc" "/ZH:SHA_256") + add_compile_options("$<$:/Od>") diff --git a/ports/blingfire/portfile.cmake b/ports/blingfire/portfile.cmake new file mode 100644 index 00000000000000..ed09b83e4504ef --- /dev/null +++ b/ports/blingfire/portfile.cmake @@ -0,0 +1,31 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO microsoft/BlingFire + REF c0381c68b6aa6d1b4e569888bae1642e40494a99 + SHA512 0fa15791fc815a992023bae6f30c84dda1d477bcdedcf1343d4dbe4b09b51e17fd87bf130d58e50f378ca94982a6306d7f980e3ff4522091be036428684bdcbb + HEAD_REF master + PATCHES + ninja.patch +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${ADDITIONAL_OPTIONS} + ) + +vcpkg_cmake_install() + +file(GLOB BINS "${SOURCE_PATH}/nuget/lib/*.bin") + +foreach(BIN ${BINS}) + file(INSTALL "${BIN}" DESTINATION "${CURRENT_PACKAGES_DIR}/include") +endforeach() + +vcpkg_copy_pdbs() + +# Handle copyright +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") \ No newline at end of file diff --git a/ports/blingfire/vcpkg.json b/ports/blingfire/vcpkg.json new file mode 100644 index 00000000000000..57e11ede933b47 --- /dev/null +++ b/ports/blingfire/vcpkg.json @@ -0,0 +1,14 @@ +{ + "name": "blingfire", + "version": "0.1.8.1", + "port-version": 1, + "description": "BlingFire is a lightning fast Finite State machine and REgular expression manipulation library.", + "license": "MIT", + "supports": "windows & !static", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] +} diff --git a/ports/blitz/portfile.cmake b/ports/blitz/portfile.cmake index f8681cf36032fb..f2a0769d0070b5 100644 --- a/ports/blitz/portfile.cmake +++ b/ports/blitz/portfile.cmake @@ -1,5 +1,3 @@ -vcpkg_fail_port_install(ON_ARCH "arm" "arm64" ON_TARGET "UWP") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO blitzpp/blitz @@ -8,29 +6,34 @@ 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_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS -DBUILD_DOC=OFF - -DBUILD_TESTING=OFF + -DBUILD_TESTING=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +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) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") endif() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake) +vcpkg_fixup_pkgconfig() + +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) -vcpkg_fixup_pkgconfig() +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 2ef9a3c24e0166..bedb8f61a36842 100644 --- a/ports/blitz/vcpkg.json +++ b/ports/blitz/vcpkg.json @@ -1,8 +1,18 @@ { "name": "blitz", - "version-string": "2020-03-25", - "port-version": 2, + "version-date": "2020-03-25", + "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)" + "supports": "!(arm | arm64 | uwp)", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "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/0001-find-deps.patch b/ports/blosc/0001-find-deps.patch deleted file mode 100644 index af0f92150a1216..00000000000000 --- a/ports/blosc/0001-find-deps.patch +++ /dev/null @@ -1,107 +0,0 @@ -diff --git a/blosc/CMakeLists.txt b/blosc/CMakeLists.txt -index 1d1bebe..3a7a51c 100644 ---- a/blosc/CMakeLists.txt -+++ b/blosc/CMakeLists.txt -@@ -109,7 +109,7 @@ endif(NOT DEACTIVATE_ZLIB) - - if (NOT DEACTIVATE_ZSTD) - if (ZSTD_FOUND) -- set(LIBS ${LIBS} ${ZSTD_LIBRARY}) -+ set(LIBS ${LIBS} ${ZSTD_LIBRARIES}) - else (ZSTD_FOUND) - file(GLOB ZSTD_FILES - ${ZSTD_LOCAL_DIR}/common/*.c -diff --git a/cmake/FindLZ4.cmake b/cmake/FindLZ4.cmake -index e581a80..8ce17c5 100644 ---- a/cmake/FindLZ4.cmake -+++ b/cmake/FindLZ4.cmake -@@ -1,10 +1,13 @@ --find_path(LZ4_INCLUDE_DIR lz4.h) -+find_path(LZ4_INCLUDE_DIRS NAMES lz4.h) - --find_library(LZ4_LIBRARY NAMES lz4) -+find_library(LZ4_LIBRARY_DEBUG NAMES lz4d) -+find_library(LZ4_LIBRARY_RELEASE NAMES lz4) - --if (LZ4_INCLUDE_DIR AND LZ4_LIBRARY) -- set(LZ4_FOUND TRUE) -- message(STATUS "Found LZ4 library: ${LZ4_LIBRARY}") --else () -- message(STATUS "No LZ4 library found. Using internal sources.") --endif () -+include(SelectLibraryConfigurations) -+select_library_configurations(LZ4) -+ -+include(FindPackageHandleStandardArgs) -+find_package_handle_standard_args( -+ LZ4 -+ REQUIRED_VARS LZ4_LIBRARIES LZ4_INCLUDE_DIRS -+) -diff --git a/cmake/FindSnappy.cmake b/cmake/FindSnappy.cmake -index 688d4d5..c8b9a05 100644 ---- a/cmake/FindSnappy.cmake -+++ b/cmake/FindSnappy.cmake -@@ -1,10 +1,13 @@ --find_path(SNAPPY_INCLUDE_DIR snappy-c.h) -+find_path(SNAPPY_INCLUDE_DIR snappy.h) - --find_library(SNAPPY_LIBRARY NAMES snappy) -+find_library(SNAPPY_LIBRARY_DEBUG NAMES snappyd) -+find_library(SNAPPY_LIBRARY_RELEASE NAMES snappy) - --if (SNAPPY_INCLUDE_DIR AND SNAPPY_LIBRARY) -- set(SNAPPY_FOUND TRUE) -- message(STATUS "Found SNAPPY library: ${SNAPPY_LIBRARY}") --else () -- message(STATUS "No snappy found. Using internal sources.") --endif () -+include(SelectLibraryConfigurations) -+select_library_configurations(SNAPPY) -+ -+include(FindPackageHandleStandardArgs) -+FIND_PACKAGE_HANDLE_STANDARD_ARGS( -+ SNAPPY DEFAULT_MSG -+ SNAPPY_LIBRARY SNAPPY_INCLUDE_DIR -+) -diff --git a/cmake/FindZstd.cmake b/cmake/FindZstd.cmake -index 7db4bb9..ba20ba6 100644 ---- a/cmake/FindZstd.cmake -+++ b/cmake/FindZstd.cmake -@@ -1,10 +1,30 @@ -+include(FindPackageHandleStandardArgs) -+ - find_path(ZSTD_INCLUDE_DIR zstd.h) - --find_library(ZSTD_LIBRARY NAMES zstd) -+get_filename_component(_prefix_path ${ZSTD_INCLUDE_DIR} PATH) -+ -+find_library( -+ ZSTD_LIBRARY_DEBUG -+ NAMES zstdd -+ PATHS ${_prefix_path}/debug/lib -+ NO_DEFAULT_PATH -+) -+ -+find_library( -+ ZSTD_LIBRARY_RELEASE -+ NAMES zstd -+ PATHS ${_prefix_path}/lib -+ NO_DEFAULT_PATH -+) -+ -+unset(_prefix_path) -+ -+include(SelectLibraryConfigurations) -+select_library_configurations(ZSTD) - --if (ZSTD_INCLUDE_DIR AND ZSTD_LIBRARY) -- set(ZSTD_FOUND TRUE) -- message(STATUS "Found Zstd library: ${ZSTD_LIBRARY}") --else () -- message(STATUS "No Zstd library found. Using internal sources.") --endif () -+include(FindPackageHandleStandardArgs) -+find_package_handle_standard_args( -+ ZSTD -+ REQUIRED_VARS ZSTD_LIBRARIES ZSTD_INCLUDE_DIR -+) diff --git a/ports/blosc/0001-fix-CMake-config.patch b/ports/blosc/0001-fix-CMake-config.patch new file mode 100644 index 00000000000000..a1661794de9014 --- /dev/null +++ b/ports/blosc/0001-fix-CMake-config.patch @@ -0,0 +1,117 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 54d4817..07b551a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -134,7 +134,7 @@ include(GNUInstallDirs) + + if(NOT DEACTIVATE_LZ4) + if(PREFER_EXTERNAL_LZ4) +- find_package(LZ4) ++ find_package(LZ4 NAMES lz4 CONFIG REQUIRED) + else() + message(STATUS "Using LZ4 internal sources.") + endif() +@@ -144,7 +144,7 @@ if(NOT DEACTIVATE_LZ4) + endif() + + if(NOT DEACTIVATE_SNAPPY) +- find_package(Snappy) ++ find_package(Snappy CONFIG REQUIRED) + if(SNAPPY_FOUND) + message(STATUS "Activating support for SNAPPY.") + set(HAVE_SNAPPY TRUE) +@@ -157,7 +157,7 @@ if(NOT DEACTIVATE_ZLIB) + # import the ZLIB_ROOT environment variable to help finding the zlib library + if(PREFER_EXTERNAL_ZLIB) + set(ZLIB_ROOT $ENV{ZLIB_ROOT}) +- find_package(ZLIB) ++ find_package(ZLIB REQUIRED) + if(NOT ZLIB_FOUND ) + message(STATUS "No zlib found. Using internal sources.") + endif() +@@ -171,7 +171,7 @@ endif() + + if(NOT DEACTIVATE_ZSTD) + if(PREFER_EXTERNAL_ZSTD) +- find_package(Zstd) ++ find_package(zstd CONFIG REQUIRED) + else() + message(STATUS "Using ZSTD internal sources.") + endif() +diff --git a/blosc/CMakeLists.txt b/blosc/CMakeLists.txt +index 70f80a2..83d90d8 100644 +--- a/blosc/CMakeLists.txt ++++ b/blosc/CMakeLists.txt +@@ -88,7 +88,7 @@ endif(WIN32) + + if(NOT DEACTIVATE_LZ4) + if(LZ4_FOUND) +- set(LIBS ${LIBS} ${LZ4_LIBRARY}) ++ set(LIBS ${LIBS} lz4::lz4) + else(LZ4_FOUND) + file(GLOB LZ4_FILES ${LZ4_LOCAL_DIR}/*.c) + set(SOURCES ${SOURCES} ${LZ4_FILES}) +@@ -98,7 +98,7 @@ endif(NOT DEACTIVATE_LZ4) + + if(NOT DEACTIVATE_SNAPPY) + if(SNAPPY_FOUND) +- set(LIBS ${LIBS} ${SNAPPY_LIBRARY}) ++ set(LIBS ${LIBS} Snappy::snappy) + else(SNAPPY_FOUND) + file(GLOB SNAPPY_FILES ${SNAPPY_LOCAL_DIR}/*.cc) + set(SOURCES ${SOURCES} ${SNAPPY_FILES}) +@@ -108,7 +108,7 @@ endif(NOT DEACTIVATE_SNAPPY) + + if(NOT DEACTIVATE_ZLIB) + if(ZLIB_FOUND) +- set(LIBS ${LIBS} ${ZLIB_LIBRARY}) ++ set(LIBS ${LIBS} ZLIB::ZLIB) + else(ZLIB_FOUND) + file(GLOB ZLIB_FILES ${ZLIB_LOCAL_DIR}/*.c) + set(SOURCES ${SOURCES} ${ZLIB_FILES}) +@@ -136,6 +136,7 @@ if (NOT DEACTIVATE_ZSTD) + set(ZSTD_FILES ${ZSTD_COMMON_FILES} ${ZSTD_COMPRESS_FILES} + ${ZSTD_DECOMPRESS_FILES} ${ZSTD_DICT_FILES}) + set(SOURCES ${SOURCES} ${ZSTD_FILES}) ++ set(LIBS ${LIBS} $,zstd::libzstd_shared,zstd::libzstd_static>) + source_group("Zstd" FILES ${ZSTD_FILES}) + endif (ZSTD_FOUND) + endif (NOT DEACTIVATE_ZSTD) +@@ -207,7 +208,7 @@ endif() + + if (BUILD_SHARED) + target_link_libraries(blosc_shared ${LIBS}) +- target_include_directories(blosc_shared PUBLIC ${BLOSC_INCLUDE_DIRS}) ++ target_include_directories(blosc_shared PUBLIC $ $) + endif() + + if (BUILD_TESTS) +@@ -222,7 +223,7 @@ if(BUILD_STATIC) + set_target_properties(blosc_static PROPERTIES PREFIX lib) + endif() + target_link_libraries(blosc_static ${LIBS}) +- target_include_directories(blosc_static PUBLIC ${BLOSC_INCLUDE_DIRS}) ++ target_include_directories(blosc_static PUBLIC $ $) + endif(BUILD_STATIC) + + # install +@@ -230,12 +231,14 @@ if(BLOSC_INSTALL) + install(FILES blosc.h blosc-export.h + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} COMPONENT DEV) + if(BUILD_SHARED) +- install(TARGETS blosc_shared ++ install(TARGETS blosc_shared EXPORT blosc-config + LIBRARY COMPONENT LIB +- ARCHIVE COMPONENT DEV +- RUNTIME COMPONENT LIB) ++ ARCHIVE COMPONENT LIB ++ RUNTIME COMPONENT BIN) + endif(BUILD_SHARED) + if(BUILD_STATIC) +- install(TARGETS blosc_static COMPONENT DEV) ++ install(TARGETS blosc_static EXPORT blosc-config LIBRARY COMPONENT LIB) + endif(BUILD_STATIC) + endif(BLOSC_INSTALL) ++ ++install(EXPORT blosc-config DESTINATION share/blosc) +\ No newline at end of file diff --git a/ports/blosc/0002-export-blosc-config.patch b/ports/blosc/0002-export-blosc-config.patch deleted file mode 100644 index 31297f732d62c6..00000000000000 --- a/ports/blosc/0002-export-blosc-config.patch +++ /dev/null @@ -1,66 +0,0 @@ -diff --git a/blosc/CMakeLists.txt b/blosc/CMakeLists.txt -index f4e5c29..24641ad 100644 ---- a/blosc/CMakeLists.txt -+++ b/blosc/CMakeLists.txt -@@ -122,14 +122,14 @@ endif (NOT DEACTIVATE_ZSTD) - - # targets - if (BUILD_SHARED) -- add_library(blosc_shared SHARED ${SOURCES}) -- set_target_properties(blosc_shared PROPERTIES OUTPUT_NAME blosc) -- set_target_properties(blosc_shared PROPERTIES -+ add_library(blosc SHARED ${SOURCES}) -+ #set_target_properties(blosc_shared PROPERTIES OUTPUT_NAME blosc) -+ set_target_properties(blosc PROPERTIES - VERSION ${version_string} - SOVERSION 1 # Change this when an ABI change happens - ) - set_property( -- TARGET blosc_shared -+ TARGET blosc - APPEND PROPERTY COMPILE_DEFINITIONS BLOSC_SHARED_LIBRARY) - endif() - -@@ -192,8 +192,8 @@ if (BUILD_TESTS) - endif() - - if (BUILD_SHARED) -- target_link_libraries(blosc_shared ${LIBS}) -- target_include_directories(blosc_shared PUBLIC ${BLOSC_INCLUDE_DIRS}) -+ target_link_libraries(blosc ${LIBS}) -+ target_include_directories(blosc PUBLIC $ $) - endif() - - if (BUILD_TESTS) -@@ -202,22 +202,24 @@ if (BUILD_TESTS) - endif() - - if(BUILD_STATIC) -- add_library(blosc_static STATIC ${SOURCES}) -- set_target_properties(blosc_static PROPERTIES OUTPUT_NAME blosc) -+ add_library(blosc STATIC ${SOURCES}) -+ #set_target_properties(blosc_static PROPERTIES OUTPUT_NAME blosc) - if (MSVC) -- set_target_properties(blosc_static PROPERTIES PREFIX lib) -+ #set_target_properties(blosc_static PROPERTIES PREFIX lib) - endif() -- target_link_libraries(blosc_static ${LIBS}) -- target_include_directories(blosc_static PUBLIC ${BLOSC_INCLUDE_DIRS}) -+ target_link_libraries(blosc ${LIBS}) -+ target_include_directories(blosc PUBLIC $ $) - endif(BUILD_STATIC) - - # install - if(BLOSC_INSTALL) - install(FILES blosc.h blosc-export.h DESTINATION include COMPONENT DEV) - if(BUILD_SHARED) -- install(TARGETS blosc_shared LIBRARY DESTINATION ${lib_dir} ARCHIVE DESTINATION ${lib_dir} RUNTIME DESTINATION bin COMPONENT LIB) -+ install(TARGETS blosc EXPORT blosc-config RUNTIME DESTINATION bin ARCHIVE DESTINATION lib LIBRARY DESTINATION lib) - endif(BUILD_SHARED) - if(BUILD_STATIC) -- install(TARGETS blosc_static LIBRARY DESTINATION ${lib_dir} ARCHIVE DESTINATION ${lib_dir} RUNTIME DESTINATION bin COMPONENT DEV) -+ install(TARGETS blosc EXPORT blosc-config RUNTIME DESTINATION bin ARCHIVE DESTINATION lib LIBRARY DESTINATION lib) - endif(BUILD_STATIC) - endif(BLOSC_INSTALL) -+ -+install(EXPORT blosc-config DESTINATION share/cmake/blosc) diff --git a/ports/blosc/portfile.cmake b/ports/blosc/portfile.cmake index 01c42a5631ba0a..42d07f75b36445 100644 --- a/ports/blosc/portfile.cmake +++ b/ports/blosc/portfile.cmake @@ -1,45 +1,50 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Blosc/c-blosc - REF 9fae1c9acb659159321aca69aefcdbce663e2374 # v1.18.1 - SHA512 6cc77832100041aca8f320e44aa803adc0d3344b52742b995a3155b953e5d149534de65c8244d964448150b73715a81f54285d7d01f1b45d7b10fe07f5bdb141 + REF "v${VERSION}" + SHA512 f32ac9ca7dd473f32201cdf4b7bb61a89e8bc3e3d16e027d2c6dc1aa838cb47c42dfed6942c9108532b3920ed22a8c662e7451890177c9bbe6ec5b8ab65362b3 HEAD_REF master PATCHES - 0001-find-deps.patch - 0002-export-blosc-config.patch + 0001-fix-CMake-config.patch ) -if (VCPKG_LIBRARY_LINKAGE STREQUAL static) - set(BLOSC_STATIC ON) - set(BLOSC_SHARED OFF) -else() - set(BLOSC_STATIC OFF) - set(BLOSC_SHARED ON) -endif() +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BLOSC_STATIC) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BLOSC_SHARED) -file(REMOVE_RECURSE ${SOURCE_PATH}/internal-complibs) +file(REMOVE_RECURSE "${SOURCE_PATH}/internal-complibs") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS -DPREFER_EXTERNAL_LZ4=ON - -DPREFER_EXTERNAL_SNAPPY=ON - -DPREFER_EXTERNAL_ZLIB=ON - -DPREFER_EXTERNAL_ZSTD=ON - -DBUILD_TESTS=OFF - -DBUILD_BENCHMARKS=OFF - -DBUILD_STATIC=${BLOSC_STATIC} - -DBUILD_SHARED=${BLOSC_SHARED} +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + DISABLE_PARALLEL_CONFIGURE + OPTIONS + -DPREFER_EXTERNAL_LZ4=ON + -DPREFER_EXTERNAL_ZLIB=ON + -DPREFER_EXTERNAL_ZSTD=ON + -DBUILD_TESTS=OFF + -DBUILD_FUZZERS=OFF + -DBUILD_BENCHMARKS=OFF + -DBUILD_STATIC=${BLOSC_STATIC} + -DBUILD_SHARED=${BLOSC_SHARED} ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/blosc) +vcpkg_cmake_config_fixup(CONFIG_PATH share/${PORT}) -# cleanup -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/${PORT}/blosc-config.cmake" + [[# Generated by CMake]] + [[# Generated by CMake +include(CMakeFindDependencyMacro) +find_dependency(lz4 CONFIG) +find_dependency(zstd CONFIG) +find_dependency(Snappy CONFIG) +find_dependency(ZLIB) +find_dependency(Threads)]] +) +# cleanup +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") # Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSES/BLOSC.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/blosc RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") vcpkg_fixup_pkgconfig() diff --git a/ports/blosc/vcpkg.json b/ports/blosc/vcpkg.json index 47ea38da4861fc..ad5edf9e95a385 100644 --- a/ports/blosc/vcpkg.json +++ b/ports/blosc/vcpkg.json @@ -1,12 +1,20 @@ { "name": "blosc", - "version-string": "1.18.1", - "port-version": 3, + "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", "dependencies": [ "lz4", "snappy", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, "zlib", "zstd" ] diff --git a/ports/blpapi/portfile.cmake b/ports/blpapi/portfile.cmake new file mode 100644 index 00000000000000..e5286139bd6b08 --- /dev/null +++ b/ports/blpapi/portfile.cmake @@ -0,0 +1,60 @@ +# According to Bloomberg Helpdesk on 2023-07-18, the last digit of the version string is just a build identifier, +# not an actual version identifier, and can be different between the latest Linux and Windows distfiles. + +if (VCPKG_TARGET_IS_LINUX) + vcpkg_download_distfile(ARCHIVE + 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://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() + +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" + PATCHES update-blpapi-lib-include-dir.patch +) + +if ("${VCPKG_TARGET_ARCHITECTURE}" MATCHES "x86") + set(BITS_SUFFIX 32) +elseif ("${VCPKG_TARGET_ARCHITECTURE}" MATCHES "x64") + set(BITS_SUFFIX 64) +else() + message(FATAL_ERROR "Unrecognized architecture.") +endif() + +if (VCPKG_TARGET_IS_LINUX) + file(GLOB SO_FILES LIST_DIRECTORIES false "${SOURCE_PATH}/Linux/*${BITS_SUFFIX}.so") +else() + file(GLOB DLL_FILES LIST_DIRECTORIES false "${SOURCE_PATH}/lib/*${BITS_SUFFIX}.dll") + file(GLOB LIB_FILES LIST_DIRECTORIES false "${SOURCE_PATH}/lib/*${BITS_SUFFIX}.lib") +endif() + +if (VCPKG_TARGET_IS_LINUX) + file(COPY ${SO_FILES} DESTINATION "${CURRENT_PACKAGES_DIR}/lib") + if (NOT VCPKG_BUILD_TYPE) + file(COPY ${SO_FILES} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") + endif() +else() + file(COPY ${DLL_FILES} DESTINATION "${CURRENT_PACKAGES_DIR}/bin") + file(COPY ${LIB_FILES} DESTINATION "${CURRENT_PACKAGES_DIR}/lib") + if (NOT VCPKG_BUILD_TYPE) + file(COPY ${DLL_FILES} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin") + file(COPY ${LIB_FILES} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") + endif() +endif() + +file(COPY "${SOURCE_PATH}/include" DESTINATION "${CURRENT_PACKAGES_DIR}") + +file(GLOB CMAKE_FILES LIST_DIRECTORIES false "${SOURCE_PATH}/cmake/*.cmake") +file(COPY ${CMAKE_FILES} DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") + +configure_file("${CMAKE_CURRENT_LIST_DIR}/usage" "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" @ONLY) + +file(INSTALL "${SOURCE_PATH}/License.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/blpapi/update-blpapi-lib-include-dir.patch b/ports/blpapi/update-blpapi-lib-include-dir.patch new file mode 100644 index 00000000000000..401d77a13ea8d2 --- /dev/null +++ b/ports/blpapi/update-blpapi-lib-include-dir.patch @@ -0,0 +1,46 @@ +diff --git a/cmake/blpapiTargets-release.cmake b/cmake/blpapiTargets-release.cmake +index 12bcaa6..af5c135 100644 +--- a/cmake/blpapiTargets-release.cmake ++++ b/cmake/blpapiTargets-release.cmake +@@ -5,21 +5,18 @@ + # Import targets for configuration "Release". + + # Path to blpapi shared object in relation to blpapiConfig.cmake: +-# 1. On Windows +-# a. For release ../lib/ +-# 2. On other platforms +-# a. For release ..//. For example for linux it is ../Linux/ ++# 1. For release ../../lib/ + + # Windows + if(WIN32) + set(_BLPAPI_SHARED_OBJ_NAME "${_BLPAPI_PREFIX}_${_ARCH}.dll") + set(_BLPAPI_SHARED_IMP_OBJ_NAME "${_BLPAPI_PREFIX}_${_ARCH}.lib") +- set(_BLPAPI_SHARED_OBJ "${_BLPAPI_CONFIG_CMAKE_DIR}/../lib/${_BLPAPI_SHARED_OBJ_NAME}") +- set(_BLPAPI_IMP_OBJ "${_BLPAPI_CONFIG_CMAKE_DIR}/../lib/${_BLPAPI_SHARED_IMP_OBJ_NAME}") ++ set(_BLPAPI_SHARED_OBJ "${_BLPAPI_CONFIG_CMAKE_DIR}/../../bin/${_BLPAPI_SHARED_OBJ_NAME}") ++ set(_BLPAPI_IMP_OBJ "${_BLPAPI_CONFIG_CMAKE_DIR}/../../lib/${_BLPAPI_SHARED_IMP_OBJ_NAME}") + else() # Other platforms + set(_BLPAPI_SHARED_OBJ_NAME "lib${_BLPAPI_PREFIX}_${_ARCH}.so") + set(_BLPAPI_SHARED_OBJ +- "${_BLPAPI_CONFIG_CMAKE_DIR}/../${CMAKE_SYSTEM_NAME}/${_BLPAPI_SHARED_OBJ_NAME}") ++ "${_BLPAPI_CONFIG_CMAKE_DIR}/../../lib/${_BLPAPI_SHARED_OBJ_NAME}") + endif() + + set_property(TARGET blpapi APPEND PROPERTY IMPORTED_LOCATION "${_BLPAPI_SHARED_OBJ}") +diff --git a/cmake/blpapiTargets.cmake b/cmake/blpapiTargets.cmake +index b4c4a73..ef4421c 100644 +--- a/cmake/blpapiTargets.cmake ++++ b/cmake/blpapiTargets.cmake +@@ -47,9 +47,9 @@ unset(_expectedTargets) + # Create imported shared object target blpapi. + add_library(blpapi SHARED IMPORTED) + +-# Include headers can be found at ../include/ from location ++# Include headers can be found at ../../include/ from location + # of blpapiConfig.cmake file. +-set(_BLPAPI_LIB_INCLUDE_DIR "${_BLPAPI_CONFIG_CMAKE_DIR}/../include") ++set(_BLPAPI_LIB_INCLUDE_DIR "${_BLPAPI_CONFIG_CMAKE_DIR}/../../include") + + # Add path to the include directories. + set_property(TARGET blpapi APPEND PROPERTY diff --git a/ports/blpapi/usage b/ports/blpapi/usage new file mode 100644 index 00000000000000..3802d9009583a4 --- /dev/null +++ b/ports/blpapi/usage @@ -0,0 +1,4 @@ +The package blpapi provides CMake targets: + + find_package(blpapi CONFIG REQUIRED) + target_link_libraries(main PRIVATE blpapi) diff --git a/ports/blpapi/vcpkg.json b/ports/blpapi/vcpkg.json new file mode 100644 index 00000000000000..b53c7975db1966 --- /dev/null +++ b/ports/blpapi/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "blpapi", + "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/CMakeLists.txt b/ports/boinc/CMakeLists.txt index f00a67cdf1ef6d..c4a111a6c57288 100644 --- a/ports/boinc/CMakeLists.txt +++ b/ports/boinc/CMakeLists.txt @@ -32,6 +32,7 @@ set(LIBBOINC_HEADERS_APPLE set(LIBBOINC_HEADERS_GENERIC lib/app_ipc.h lib/base64.h + lib/boinc_stdio.h lib/cal_boinc.h lib/cc_config.h lib/cert_sig.h @@ -167,6 +168,12 @@ if(WIN32 OR APPLE) set_target_properties(boincapi PROPERTIES IMPORT_PREFIX "lib") endif() +# currently this is for MinGW only +set(build_options "") +if(HAVE_STRCASECMP) + list(APPEND build_options "-DHAVE_STRCASECMP") +endif() + if(APPLE) target_include_directories(boinc PUBLIC $ @@ -182,12 +189,14 @@ elseif(WIN32) -D_CRT_SECURE_NO_WARNINGS -DWIN32 -D_CONSOLE + ${build_options} ) target_compile_definitions(boincapi PUBLIC -D_CRT_SECURE_NO_WARNINGS -DWIN32 -D_CONSOLE + ${build_options} ) target_include_directories(boinc PUBLIC diff --git a/ports/boinc/portfile.cmake b/ports/boinc/portfile.cmake index d2e17db124eeb7..6b10083be5cf49 100644 --- a/ports/boinc/portfile.cmake +++ b/ports/boinc/portfile.cmake @@ -1,19 +1,16 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -if(VCPKG_TARGET_IS_WINDOWS) - vcpkg_fail_port_install(ON_TARGET "UWP" ON_ARCH "arm") -endif() - +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.18/7.18.1 - SHA512 200587a0896aec6a7e7247132811141909aa333cb2bb9350c5ba016ffdf056413b1c5346361b311c087634b2d29cdbb204486385d8561a299b68739244c5a532 + REF "client_release/${MAJOR_MINOR}/${VERSION}" + SHA512 0e0c4f7647325f8f1e8a87da0d7ff43d1a3e5d3ef0dc3daf1fb974a47c0e4fb7318b3fdde77d0ae6ec4f3d30be113a5ceff33658facc8f3c2c325c8c61942698 HEAD_REF master ) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) -if(VCPKG_TARGET_IS_LINUX) +if(VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_ANDROID) vcpkg_configure_make( SOURCE_PATH ${SOURCE_PATH} AUTOCONFIG @@ -33,13 +30,26 @@ if(VCPKG_TARGET_IS_LINUX) endif() endif() +set(build_options "") +if(VCPKG_TARGET_IS_MINGW) + list(APPEND build_options "-DHAVE_STRCASECMP=ON") +endif() + vcpkg_cmake_configure( SOURCE_PATH ${SOURCE_PATH} + OPTIONS + ${build_options} ) vcpkg_cmake_install() vcpkg_cmake_config_fixup() +file(READ "${CURRENT_PACKAGES_DIR}/share/boinc/boinc-config.cmake" BOINC_CONFIG) +file(WRITE "${CURRENT_PACKAGES_DIR}/share/boinc/boinc-config.cmake" " +include(CMakeFindDependencyMacro) +find_dependency(OpenSSL) +${BOINC_CONFIG} +") vcpkg_copy_pdbs() diff --git a/ports/boinc/vcpkg.json b/ports/boinc/vcpkg.json index cee86817d98042..2516a091e0ffd3 100644 --- a/ports/boinc/vcpkg.json +++ b/ports/boinc/vcpkg.json @@ -1,10 +1,10 @@ { "name": "boinc", - "version": "7.18.1", - "port-version": 2, + "version": "8.0.4", "description": "Open-source software for volunteer computing and grid computing.", "homepage": "https://boinc.berkeley.edu/", - "supports": "!(windows & arm) & !uwp", + "license": "LGPL-3.0-or-later", + "supports": "!(windows & arm) & !uwp & !xbox", "dependencies": [ "openssl", { 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 0d424e78f43edd..8809ba6367242b 100644 --- a/ports/bond/portfile.cmake +++ b/ports/bond/portfile.cmake @@ -1,30 +1,29 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -set(BOND_VER 9.0.3) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO microsoft/bond - REF ${BOND_VER} - SHA512 3a7884eb00e6d0ab40c688f4a40cb2d3f356c48b38d48a9a08c756047a94b82619ef345483f42c3240732f5da06816b65a61acb83bfebb3c2c6b44099ce71bf9 + REF "${VERSION}" + SHA512 b00e371686bbd8aca36d70ffb079a460323e9aecef7431d78018891d27c9af9fe0cad9f489b7e98b3c9ef9786192d75e72fe6835fb6933983ccb0ecf05bb99df HEAD_REF master - PATCHES fix-install-path.patch skip-grpc-compilation.patch + PATCHES + fix-install-path.patch ) if (VCPKG_TARGET_IS_WINDOWS) vcpkg_download_distfile(GBC_ARCHIVE - URLS "https://github.com/microsoft/bond/releases/download/${BOND_VER}/gbc-${BOND_VER}-amd64.zip" - FILENAME "gbc-${BOND_VER}-amd64.zip" - SHA512 41a4e01a9a0f6246a3c07f516f2c0cfc8a837eff2166c2bb787877e409d6f55eeb6084e63aabc3502492775a3fa7e381bf37fde0bdfced50a9d0b39dfaca7dfd + URLS "https://github.com/microsoft/bond/releases/download/${VERSION}/gbc-${VERSION}-amd64.zip" + FILENAME "gbc-${VERSION}-amd64.zip" + SHA512 4CD92F0665E36CB718311A237DF80B8CD93BFE33971F6460B88A1B74E9E2237D6AEA146766D6AE92674E2DDBBB3245CEBB199FF5BA82163FE69781340E0479AE ) # Clear the generator to prevent it from updating - file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/tools/) + file(REMOVE_RECURSE "${CURRENT_BUILDTREES_DIR}/tools/") # Extract the precompiled gbc vcpkg_extract_source_archive(extracted_tool_dir ARCHIVE "${GBC_ARCHIVE}" NO_REMOVE_ONE_LEVEL) file(RENAME "${extracted_tool_dir}" "${CURRENT_BUILDTREES_DIR}/tools") - set(FETCHED_GBC_PATH "${CURRENT_BUILDTREES_DIR}/tools/gbc-${BOND_VER}-amd64.exe") + set(FETCHED_GBC_PATH "${CURRENT_BUILDTREES_DIR}/tools/gbc-${VERSION}-amd64.exe") if(NOT EXISTS "${FETCHED_GBC_PATH}") message(FATAL_ERROR "Fetching GBC failed. Expected '${FETCHED_GBC_PATH}' to exist, but it doesn't.") endif() @@ -33,37 +32,38 @@ else() # The build needs a version of the Haskel Tool stack that is newer than some distros ship with. # For this reason the message is not guarded by checking to see if the tool is installed. 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_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + DISABLE_PARALLEL_CONFIGURE OPTIONS -DBOND_LIBRARIES_ONLY=TRUE -DBOND_GBC_PATH=${FETCHED_GBC_PATH} -DBOND_SKIP_GBC_TESTS=TRUE - -DBOND_ENABLE_COMM=FALSE -DBOND_FIND_RAPIDJSON=TRUE + -DBOND_SKIP_CORE_TESTS=TRUE -DBOND_STACK_OPTIONS=--allow-different-user ${FEATURE_OPTIONS} ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/bond TARGET_PATH share/bond) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/bond) vcpkg_copy_pdbs() +cmake_path(NATIVE_PATH SOURCE_PATH native_source_path) +foreach(header bond_apply.h bond_const_apply.h bond_const_enum.h bond_const_reflection.h bond_const_types.h bond_enum.h bond_reflection.h bond_types.h) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/bond/core/${header}" "${native_source_path}" "") +endforeach() + # There's no way to supress installation of the headers in the debug build, # so we just delete them. -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") # 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/bond/skip-grpc-compilation.patch b/ports/bond/skip-grpc-compilation.patch deleted file mode 100644 index 10906b13137b6b..00000000000000 --- a/ports/bond/skip-grpc-compilation.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff --git a/thirdparty/CMakeLists.txt b/thirdparty/CMakeLists.txt -index f8c7bf3..e69de29 100644 ---- a/thirdparty/CMakeLists.txt -+++ b/thirdparty/CMakeLists.txt -@@ -1,6 +0,0 @@ --include (Compiler) -- --if (BOND_ENABLE_GRPC) -- cxx_add_compile_options (Clang -Wno-unused-value) -- add_subdirectory(grpc) --endif() diff --git a/ports/bond/vcpkg.json b/ports/bond/vcpkg.json index 5155d3a4117b1d..51f162963f0246 100644 --- a/ports/bond/vcpkg.json +++ b/ports/bond/vcpkg.json @@ -1,7 +1,6 @@ { "name": "bond", - "version": "9.0.3", - "port-version": 2, + "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": [ @@ -9,14 +8,14 @@ "boost-config", "boost-locale", "boost-utility", - "rapidjson" - ], - "features": { - "bond-over-grpc": { - "description": "Bond-over-gRPC provides code generation from Bond IDL service definitions to send Bond objects via gRPC.", - "dependencies": [ - "grpc" - ] + "rapidjson", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true } - } + ] } diff --git a/ports/boolinq/portfile.cmake b/ports/boolinq/portfile.cmake index 08f1606fae6269..916f606bbce4f4 100644 --- a/ports/boolinq/portfile.cmake +++ b/ports/boolinq/portfile.cmake @@ -3,8 +3,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO k06a/boolinq - REF 3.0.2 - SHA512 9BE859485F7B0E8129D05E1AB92C7316C4C94EA9195779A363063ADA6BBB0E4231B0EF0A91807786B24E4CF694CF93E398782E57F9B46A57DADD436A6FF57E57 + REF 0df37ed90570a148c9d2395f5066313fd59247c9 #v3.0.4 + SHA512 c1c23cf4e3c3f2a02a6c6ea59faf1eb223fe0a6ba840b4f306671e3e866bfd156d0a7a46542b684eeba3d9c744d678c48d4f1d7471f07fb7f1ba0bb8812f548f HEAD_REF master ) diff --git a/ports/boolinq/vcpkg.json b/ports/boolinq/vcpkg.json index 9052b27ca03685..fbef717fe37c93 100644 --- a/ports/boolinq/vcpkg.json +++ b/ports/boolinq/vcpkg.json @@ -1,6 +1,6 @@ { "name": "boolinq", - "version": "3.0.2", + "version": "3.0.4", "description": "Super tiny C++11 single-file header-only LINQ library", "homepage": "https://github.com/k06a/boolinq" } diff --git a/ports/boost-accumulators/portfile.cmake b/ports/boost-accumulators/portfile.cmake index 117343e2c90605..69e1f269c8a865 100644 --- a/ports/boost-accumulators/portfile.cmake +++ b/ports/boost-accumulators/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/accumulators - REF boost-1.77.0 - SHA512 6d742d26ae382a753274d0c2055653d5b6368f939c0ccbd0e79283e993736a5369cdaacac648361730937dab8e5b412f265abf9f99de3c42de60baa34afe7029 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/accumulators + REF boost-${VERSION} + SHA512 72cb1c2bf3d58b8a97ca70765e73b98151b6767c80cc309f8117b4624909d45359cfbae7f4aab8e1f9a854bf9313be06cabd4d0d0d008ec3b5b755bbae11c0ed + HEAD_REF master +) + +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 204f6cf7e2b3ac..43fe61ddc5799f 100644 --- a/ports/boost-accumulators/vcpkg.json +++ b/ports/boost-accumulators/vcpkg.json @@ -1,29 +1,98 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-accumulators", - "version": "1.77.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": [ - "boost-array", - "boost-assert", - "boost-circular-buffer", - "boost-concept-check", - "boost-config", - "boost-core", - "boost-fusion", - "boost-iterator", - "boost-mpl", - "boost-numeric-conversion", - "boost-parameter", - "boost-preprocessor", - "boost-range", - "boost-serialization", - "boost-static-assert", - "boost-throw-exception", - "boost-tuple", - "boost-type-traits", - "boost-typeof", - "boost-ublas", - "boost-vcpkg-helpers" + { + "name": "boost-array", + "version>=": "1.86.0" + }, + { + "name": "boost-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-circular-buffer", + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-concept-check", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-core", + "version>=": "1.86.0" + }, + { + "name": "boost-fusion", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-iterator", + "version>=": "1.86.0" + }, + { + "name": "boost-mpl", + "version>=": "1.86.0" + }, + { + "name": "boost-numeric-conversion", + "version>=": "1.86.0" + }, + { + "name": "boost-parameter", + "version>=": "1.86.0" + }, + { + "name": "boost-preprocessor", + "version>=": "1.86.0" + }, + { + "name": "boost-range", + "version>=": "1.86.0" + }, + { + "name": "boost-serialization", + "version>=": "1.86.0" + }, + { + "name": "boost-static-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-throw-exception", + "version>=": "1.86.0" + }, + { + "name": "boost-tuple", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + }, + { + "name": "boost-typeof", + "version>=": "1.86.0" + }, + { + "name": "boost-ublas", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-algorithm/portfile.cmake b/ports/boost-algorithm/portfile.cmake index 35a3148e1abfcd..0494d1717db66c 100644 --- a/ports/boost-algorithm/portfile.cmake +++ b/ports/boost-algorithm/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/algorithm - REF boost-1.77.0 - SHA512 1be1d06c3233d2dad2941696ecbbd77ff2d0cb3304e7a9fee4aa59bd8209ca858520d45bc67148e20defe98bf2c49ac79acf39c07bcc2b2262c1a812514d568b - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/algorithm + REF boost-${VERSION} + SHA512 2ce673ab8693cca338a4499d0dbe0c63b8b4967f017463fefd59a2892a636bf1197b49bf625cef797c93efd0685a5c399daa1d55456c35bcbcd013d47476c72b + HEAD_REF master +) + +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 42fff1f9f09b2b..ad8812fbd3ccb1 100644 --- a/ports/boost-algorithm/vcpkg.json +++ b/ports/boost-algorithm/vcpkg.json @@ -1,26 +1,86 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-algorithm", - "version": "1.77.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": [ - "boost-array", - "boost-assert", - "boost-bind", - "boost-concept-check", - "boost-config", - "boost-core", - "boost-exception", - "boost-function", - "boost-iterator", - "boost-mpl", - "boost-range", - "boost-regex", - "boost-static-assert", - "boost-throw-exception", - "boost-tuple", - "boost-type-traits", - "boost-unordered", - "boost-vcpkg-helpers" + { + "name": "boost-array", + "version>=": "1.86.0" + }, + { + "name": "boost-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-bind", + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-concept-check", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-core", + "version>=": "1.86.0" + }, + { + "name": "boost-exception", + "version>=": "1.86.0" + }, + { + "name": "boost-function", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-iterator", + "version>=": "1.86.0" + }, + { + "name": "boost-mpl", + "version>=": "1.86.0" + }, + { + "name": "boost-range", + "version>=": "1.86.0" + }, + { + "name": "boost-regex", + "version>=": "1.86.0" + }, + { + "name": "boost-static-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-throw-exception", + "version>=": "1.86.0" + }, + { + "name": "boost-tuple", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + }, + { + "name": "boost-unordered", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-align/portfile.cmake b/ports/boost-align/portfile.cmake index 811ce936c13b8a..284536b611b285 100644 --- a/ports/boost-align/portfile.cmake +++ b/ports/boost-align/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/align - REF boost-1.77.0 - SHA512 786c63da7d5593282356dc0010a63b46b5f50236890228481c9676f543ab2d56cb5418d913bce2daad8c5bbad3feded7068ac2ab6d68481be9c25401b22ff7f6 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/align + REF boost-${VERSION} + SHA512 bffa9c6accb4e52fea876aca2fae3ed969f65deff578344c3cce48890650e30981f2010d64f19c642791f1a5d3798198502ebf56582096f0f734d5c2a665bb21 + HEAD_REF master +) + +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 9c1b7167fbcc4b..6bbd8f0f980ed0 100644 --- a/ports/boost-align/vcpkg.json +++ b/ports/boost-align/vcpkg.json @@ -1,13 +1,34 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-align", - "version": "1.77.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": [ - "boost-assert", - "boost-config", - "boost-core", - "boost-static-assert", - "boost-vcpkg-helpers" + { + "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-static-assert", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-any/portfile.cmake b/ports/boost-any/portfile.cmake index 9719e5136294cf..a160b5fbbd12cd 100644 --- a/ports/boost-any/portfile.cmake +++ b/ports/boost-any/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/any - REF boost-1.77.0 - SHA512 cfb7987b7dbbc959012786ded23f6241640cc5b308656318e3125d5903af61f3da2dc16a8cfe811b651f65eec0455f75c8cf31426267babd344c500e20869878 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/any + REF boost-${VERSION} + SHA512 721d3f1cd479994f8a6562333e76409c53c1baf2f7c77a074c9f1d07e896a88e3302eb570c3476d2fb7af5811fe7692a9e9c1b0b171deb00e8649cc588544f27 + HEAD_REF master +) + +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 3f15578da984c9..ae32df4016a613 100644 --- a/ports/boost-any/vcpkg.json +++ b/ports/boost-any/vcpkg.json @@ -1,16 +1,34 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-any", - "version": "1.77.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": [ - "boost-assert", - "boost-config", - "boost-core", - "boost-static-assert", - "boost-throw-exception", - "boost-type-index", - "boost-type-traits", - "boost-vcpkg-helpers" + { + "name": "boost-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-throw-exception", + "version>=": "1.86.0" + }, + { + "name": "boost-type-index", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-array/portfile.cmake b/ports/boost-array/portfile.cmake index c175b2962c3e28..98848c22d332af 100644 --- a/ports/boost-array/portfile.cmake +++ b/ports/boost-array/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/array - REF boost-1.77.0 - SHA512 e34d8e46ccb3d1efad8863a6babe59762c6cd7c5eaf45bd85402a68e445bde3202cd13c86d1ecef62d5b1855b4d32aa5d5bc62010213da38ee69b7c796669a53 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/array + REF boost-${VERSION} + SHA512 a3fe3e7230bd5d82874b4a7c73311f6656c37820eeec5f6186547dde77a43ce5c6264aa0aed87f41399ab50e14988d816d6dd5e66f7ee0fe307c1d15e14d4355 + HEAD_REF master +) + +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 c1e222945bae4d..abb32a85da3d82 100644 --- a/ports/boost-array/vcpkg.json +++ b/ports/boost-array/vcpkg.json @@ -1,14 +1,38 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-array", - "version": "1.77.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": [ - "boost-assert", - "boost-config", - "boost-core", - "boost-static-assert", - "boost-throw-exception", - "boost-vcpkg-helpers" + { + "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-static-assert", + "version>=": "1.86.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 0a56245fb079ff..34a0f260dba0d4 100644 --- a/ports/boost-asio/portfile.cmake +++ b/ports/boost-asio/portfile.cmake @@ -1,13 +1,17 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/asio - REF boost-1.77.0 - SHA512 b7387f03994ecb22c545ed162c9622676a806cb7434e29303a72ee91e776034626cc125271439e7fa5983c76c06a887472dc3843e2a8ffca3a6ff3caee763641 - HEAD_REF master - PATCHES windows_alloca_header.patch -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/asio + REF boost-${VERSION} + SHA512 379905acf0cc0352c8df32f4106c3e17ad0f02fd0367288c2dca319a7573bd34ebf435a0e9d876ee0d44a24189d896167c49c7727e1dc77c0fca887e9f7a6eca + HEAD_REF master + PATCHES + opt-dep.diff +) + +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 907244a5ff5eef..19b3ef82d6496c 100644 --- a/ports/boost-asio/vcpkg.json +++ b/ports/boost-asio/vcpkg.json @@ -1,30 +1,63 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-asio", - "version": "1.77.0", + "version": "1.86.0", "description": "Boost asio module", - "homepage": "https://github.com/boostorg/asio", - "supports": "!emscripten", + "homepage": "https://www.boost.org/libs/asio", + "license": "BSL-1.0", "dependencies": [ - "boost-align", - "boost-array", - "boost-assert", - "boost-bind", - "boost-chrono", - "boost-config", - "boost-core", + { + "name": "boost-align", + "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-context", + "platform": "!uwp & !emscripten", + "version>=": "1.86.0" + }, { "name": "boost-coroutine", - "platform": "!arm & !uwp & !emscripten" - }, - "boost-date-time", - "boost-function", - "boost-regex", - "boost-smart-ptr", - "boost-system", - "boost-throw-exception", - "boost-type-traits", - "boost-utility", - "boost-vcpkg-helpers", - "openssl" - ] + "platform": "!(arm & windows) & !uwp & !emscripten", + "version>=": "1.86.0" + }, + { + "name": "boost-date-time", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-system", + "version>=": "1.86.0" + }, + { + "name": "boost-throw-exception", + "version>=": "1.86.0" + } + ], + "features": { + "ssl": { + "description": "Build with SSL support", + "dependencies": [ + { + "name": "openssl", + "platform": "!emscripten" + } + ] + } + } } 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 e029a48ec5b718..e76b83cf5ebba7 100644 --- a/ports/boost-assert/portfile.cmake +++ b/ports/boost-assert/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/assert - REF boost-1.77.0 - SHA512 90116861cd0457ffa61b4b2ebecc978252f74196ad87d1f756702b28b4010fe366b4dd1e6a5b3726c6926b4fb1821d9f997a758fd02f8d3be5a45ef64e104e27 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/assert + REF boost-${VERSION} + SHA512 5774b88d43233d53a3449962c0768ff1362bde7a116130f0d433ae6e9937925f98a7575f6dc11743230940da5d1972664dabdae035722fa2881bcdef5e4bbbfc + HEAD_REF master +) + +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 568a16df39ecb2..0b021e430f1c02 100644 --- a/ports/boost-assert/vcpkg.json +++ b/ports/boost-assert/vcpkg.json @@ -1,10 +1,22 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-assert", - "version": "1.77.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": [ - "boost-config", - "boost-vcpkg-helpers" + { + "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-assign/portfile.cmake b/ports/boost-assign/portfile.cmake index 1e31ee9061c240..227cf4787cd154 100644 --- a/ports/boost-assign/portfile.cmake +++ b/ports/boost-assign/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/assign - REF boost-1.77.0 - SHA512 5c72f5637f0c456a060a4204533798ceea39f95a7d96e4f9e05cdd25d178244b8a3a596a7387228df5929b1e3141724503b2579db9b546fadbb0e70648fc99e1 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/assign + REF boost-${VERSION} + SHA512 c86e613bdd0cade0f2be229ea12fea2e869cbc220c8f95a743a0599d2c0e74a41e6feff71c40fb6197cc4f53a632c42ff8f7f2ec4e6ac8c769c6fea1820fa3cc + HEAD_REF master +) + +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 528dab79dfad9e..3ff81d04c996d9 100644 --- a/ports/boost-assign/vcpkg.json +++ b/ports/boost-assign/vcpkg.json @@ -1,21 +1,62 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-assign", - "version": "1.77.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": [ - "boost-array", - "boost-config", - "boost-core", - "boost-move", - "boost-mpl", - "boost-preprocessor", - "boost-ptr-container", - "boost-range", - "boost-static-assert", - "boost-throw-exception", - "boost-tuple", - "boost-type-traits", - "boost-vcpkg-helpers" + { + "name": "boost-array", + "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-move", + "version>=": "1.86.0" + }, + { + "name": "boost-preprocessor", + "version>=": "1.86.0" + }, + { + "name": "boost-ptr-container", + "version>=": "1.86.0" + }, + { + "name": "boost-range", + "version>=": "1.86.0" + }, + { + "name": "boost-static-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-throw-exception", + "version>=": "1.86.0" + }, + { + "name": "boost-tuple", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "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 331e57ee5d80bc..f8f95b3c569a40 100644 --- a/ports/boost-atomic/portfile.cmake +++ b/ports/boost-atomic/portfile.cmake @@ -1,25 +1,18 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/atomic - REF boost-1.77.0 - SHA512 fb3c0469e75eda40fd0d2a32bdc005fb0645cb52306468681a76c6ba4eaae608a5c4ad72a9363fdee6ecf432759667a850856b54500f5a4577ab34c701cf5c6a - HEAD_REF master -) - -file(READ "${SOURCE_PATH}/build/Jamfile.v2" _contents) -string(REPLACE - "project.load [ path.join [ path.make $(here:D) ] ../../config/checks/architecture ]" - "project.load [ path.join [ path.make $(here:D) ] config/checks/architecture ]" - _contents "${_contents}") -file(WRITE "${SOURCE_PATH}/build/Jamfile.v2" "${_contents}") -file(COPY "${CURRENT_INSTALLED_DIR}/share/boost-config/checks" DESTINATION "${SOURCE_PATH}/build/config") - -if(NOT DEFINED CURRENT_HOST_INSTALLED_DIR) - message(FATAL_ERROR "boost-atomic requires a newer version of vcpkg in order to build.") -endif() -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}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/atomic + REF boost-${VERSION} + SHA512 9296704de816cfa3a262d7d49b39431565ca24e65c9503fcef068c65f1bdd08f4c451a1355cb107ffd1c3d6dbf54a5a09c0e2b7b3658e78eeada1f4517494536 + HEAD_REF master + PATCHES + fix-include.patch + +) + +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-atomic/vcpkg.json b/ports/boost-atomic/vcpkg.json index 9eaa56e1b1e92e..773400e682aa1d 100644 --- a/ports/boost-atomic/vcpkg.json +++ b/ports/boost-atomic/vcpkg.json @@ -1,29 +1,46 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-atomic", - "version": "1.77.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": [ - "boost-align", - "boost-assert", { - "name": "boost-build", - "host": true + "name": "boost-align", + "version>=": "1.86.0" }, - "boost-config", { - "name": "boost-modular-build-helper", - "host": true + "name": "boost-assert", + "version>=": "1.86.0" }, - "boost-predef", - "boost-preprocessor", - "boost-static-assert", - "boost-type-traits", - "boost-vcpkg-helpers", - "boost-winapi", { - "name": "vcpkg-cmake", - "host": true + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-predef", + "version>=": "1.86.0" + }, + { + "name": "boost-preprocessor", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + }, + { + "name": "boost-winapi", + "version>=": "1.86.0" } ] } diff --git a/ports/boost-beast/portfile.cmake b/ports/boost-beast/portfile.cmake index a72efbe96c1ad8..d540d1f0abdd84 100644 --- a/ports/boost-beast/portfile.cmake +++ b/ports/boost-beast/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/beast - REF boost-1.77.0 - SHA512 e4176ff221f99e43c54b39d8e0626931941b13813374a5302dd65797745f740a791c7a22bb713d1af2e7a9a4d0d6100c0aabf4b2af2c0fa1903dc35fb5c3d0d8 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/beast + REF boost-${VERSION} + SHA512 342e78855354a8c35c0ca2297ce7abdb28fec2ef119bee419931994bbd1bb0251b7ac46061709b9373f3dd263a7a6a660063b6837d3419daea9327bbcb217130 + HEAD_REF master +) + +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 919ee0e83bc187..64ed266ce54b35 100644 --- a/ports/boost-beast/vcpkg.json +++ b/ports/boost-beast/vcpkg.json @@ -1,31 +1,103 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-beast", - "version": "1.77.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", - "platform": "!emscripten" - }, - "boost-assert", - "boost-bind", - "boost-config", - "boost-container", - "boost-core", - "boost-endian", - "boost-intrusive", - "boost-logic", - "boost-mp11", - "boost-optional", - "boost-smart-ptr", - "boost-static-assert", - "boost-system", - "boost-throw-exception", - "boost-type-traits", - "boost-utility", - "boost-vcpkg-helpers", - "boost-winapi" + "version>=": "1.86.0" + }, + { + "name": "boost-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-bind", + "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-container-hash", + "version>=": "1.86.0" + }, + { + "name": "boost-core", + "version>=": "1.86.0" + }, + { + "name": "boost-endian", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-intrusive", + "version>=": "1.86.0" + }, + { + "name": "boost-logic", + "version>=": "1.86.0" + }, + { + "name": "boost-mp11", + "version>=": "1.86.0" + }, + { + "name": "boost-optional", + "version>=": "1.86.0" + }, + { + "name": "boost-preprocessor", + "version>=": "1.86.0" + }, + { + "name": "boost-smart-ptr", + "version>=": "1.86.0" + }, + { + "name": "boost-static-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-static-string", + "version>=": "1.86.0" + }, + { + "name": "boost-system", + "version>=": "1.86.0" + }, + { + "name": "boost-throw-exception", + "version>=": "1.86.0" + }, + { + "name": "boost-type-index", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + }, + { + "name": "boost-winapi", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-bimap/portfile.cmake b/ports/boost-bimap/portfile.cmake index 94b16bc5b174b2..04fdd3dd42d2fa 100644 --- a/ports/boost-bimap/portfile.cmake +++ b/ports/boost-bimap/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/bimap - REF boost-1.77.0 - SHA512 bbb6c21d7678f49dcba4ad27d873a02a026751385a0e98633b17651183b2b25c541d18fc6ad703d8b1298137b770bdf4cc46e808c45083650f3c2db2a2d1bb28 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/bimap + REF boost-${VERSION} + SHA512 1bd2a7d5d07c1a96ece6dd3683374212b89343aa7096d2631f6fd8e4650f34e5cdca5cd920ad5a4d8d06adc190b890041343c89827a98cb2eac2de66da463979 + HEAD_REF master +) + +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 ac133a1e8ab044..4931cc2094769b 100644 --- a/ports/boost-bimap/vcpkg.json +++ b/ports/boost-bimap/vcpkg.json @@ -1,23 +1,70 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-bimap", - "version": "1.77.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": [ - "boost-concept-check", - "boost-config", - "boost-container-hash", - "boost-core", - "boost-iterator", - "boost-lambda", - "boost-mpl", - "boost-multi-index", - "boost-preprocessor", - "boost-serialization", - "boost-static-assert", - "boost-throw-exception", - "boost-type-traits", - "boost-utility", - "boost-vcpkg-helpers" + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-concept-check", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-container-hash", + "version>=": "1.86.0" + }, + { + "name": "boost-core", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-iterator", + "version>=": "1.86.0" + }, + { + "name": "boost-lambda", + "version>=": "1.86.0" + }, + { + "name": "boost-mpl", + "version>=": "1.86.0" + }, + { + "name": "boost-multi-index", + "version>=": "1.86.0" + }, + { + "name": "boost-preprocessor", + "version>=": "1.86.0" + }, + { + "name": "boost-static-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-throw-exception", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + }, + { + "name": "boost-utility", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-bind/portfile.cmake b/ports/boost-bind/portfile.cmake index 1dd362b89aff5b..baa9a6eeca32b5 100644 --- a/ports/boost-bind/portfile.cmake +++ b/ports/boost-bind/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/bind - REF boost-1.77.0 - SHA512 ad765f5ceb327ead0c2858f0c6b3d85c3e6de2a287edecd5be8410ae8a248528c3389f78c0b37efd0eb18e5dc41492eff2b5f939c75aeeacfd1ea3745697eb57 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/bind + REF boost-${VERSION} + SHA512 178fa4b8396b6a76c20cff40e029ae1b36d6f0b199636bda1b34ea7c2cb827d6f09e45e364547e30120e63e5e17c8280df62ecdda6e163f83919cc21bfaeb01a + HEAD_REF master +) + +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 020db9f5fc2171..20a16931aaf68d 100644 --- a/ports/boost-bind/vcpkg.json +++ b/ports/boost-bind/vcpkg.json @@ -1,11 +1,26 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-bind", - "version": "1.77.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": [ - "boost-config", - "boost-core", - "boost-vcpkg-helpers" + { + "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-build/0002-fix-get-version.patch b/ports/boost-build/0002-fix-get-version.patch new file mode 100644 index 00000000000000..cf35e7831c1e6c --- /dev/null +++ b/ports/boost-build/0002-fix-get-version.patch @@ -0,0 +1,13 @@ +diff --git a/src/tools/clang-linux.jam b/src/tools/clang-linux.jam +index 949e277..8934787 100644 +--- a/src/tools/clang-linux.jam ++++ b/src/tools/clang-linux.jam +@@ -97,7 +97,7 @@ rule init ( version ? : command * : options * ) { + + rule get-full-version ( command-string ) + { +- return [ common.match-command-output version : "version ([0-9.]+)" ++ return [ common.match-command-output version : "([0-9]+.[0-9]+.[0-9]+)" + : "$(command-string) --version" ] ; + } + diff --git a/ports/boost-build/0003-fix-emscripten.patch b/ports/boost-build/0003-fix-emscripten.patch new file mode 100644 index 00000000000000..31baf4ec78b68b --- /dev/null +++ b/ports/boost-build/0003-fix-emscripten.patch @@ -0,0 +1,21 @@ +diff --git a/src/tools/emscripten.jam b/src/tools/emscripten.jam +index 28175f6..c3c9968 100644 +--- a/src/tools/emscripten.jam ++++ b/src/tools/emscripten.jam +@@ -7,12 +7,16 @@ + import feature ; + import os ; + import toolset ; ++import generators ; + import common ; + import type ; + import version ; + + feature.extend toolset : emscripten ; + ++generators.override builtin.lib-generator : emscripten.prebuilt ; ++generators.override emscripten.searched-lib-generator : searched-lib-generator ; ++ + 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/0004-workaround-MSVC-codegen-bug-in-17.5-on-ARM64.patch b/ports/boost-build/0004-workaround-MSVC-codegen-bug-in-17.5-on-ARM64.patch new file mode 100644 index 00000000000000..3e1aa6dfe3679d --- /dev/null +++ b/ports/boost-build/0004-workaround-MSVC-codegen-bug-in-17.5-on-ARM64.patch @@ -0,0 +1,26 @@ +From 1004fb82914b8295fe4ec43afb510994babf2161 Mon Sep 17 00:00:00 2001 +From: Matt Gardner +Date: Fri, 17 Mar 2023 15:09:17 -0700 +Subject: [PATCH] workaround MSVC codegen bug in 17.5 on ARM64 + +--- + src/engine/glob.cpp | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/engine/glob.cpp b/src/engine/glob.cpp +index bec00ee56..1ce66c7e6 100644 +--- a/src/engine/glob.cpp ++++ b/src/engine/glob.cpp +@@ -111,6 +111,9 @@ int glob( const char * c, const char * s ) + * globchars() - build a bitlist to check for character group match. + */ + ++#if defined(_MSC_VER) && _MSC_VER == 1935 && defined(_M_ARM64) ++__declspec(noinline) ++#endif + static void globchars( const char * s, const char * e, char * b ) + { + int neg = 0; +-- +2.33.0.vfs.0.0 + diff --git a/ports/boost-build/portfile.cmake b/ports/boost-build/portfile.cmake index c0016203b07814..5fdfb8351a469c 100644 --- a/ports/boost-build/portfile.cmake +++ b/ports/boost-build/portfile.cmake @@ -4,14 +4,18 @@ if(CMAKE_HOST_WIN32 AND VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME return() endif() -set(BOOST_VERSION 1.77.0) +set(BOOST_VERSION ${VERSION}) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/build - REF boost-${BOOST_VERSION} - SHA512 35352daaa31b54ee0bfce764dda0863931ac0e90aa8e3facde26a7ba472ddd2d799fced7cfcca8fc3ffd7a0a7f7e7d095337ba28f200da10e5187b7ef39bb88b + REF boost-${VERSION} + SHA512 0214861d3c93f64fd3d211631304a42783eb019df946a4b6ed216163aa9d22b609056c6d1e8dcd62f5f00e9963aa56e84818f01d94465debfc615999baad6bab HEAD_REF master + PATCHES + 0002-fix-get-version.patch + 0003-fix-emscripten.patch + 0004-workaround-MSVC-codegen-bug-in-17.5-on-ARM64.patch ) vcpkg_download_distfile(ARCHIVE @@ -23,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 0daa0dd315f7e426e7b9ada9cc4dad03da2eb257456e551de3fb3b2a8244f0117ed41d9d1ff77b5a3eee7a3c5fb466d345b9bb2af46004fc630209043d4862e3 + SHA512 8bbd436749a1079ad2fb77cdf65b893f35260a9bdd52b360180780e83ff0f90595693f27641745d6db3a7dbc0e3ba5947e23790e99a8aeb94bfc5fb910d16df6 ) # https://github.com/boostorg/boost/pull/206 diff --git a/ports/boost-build/vcpkg.json b/ports/boost-build/vcpkg.json index 420e86f76d482f..a067b0eb992fa8 100644 --- a/ports/boost-build/vcpkg.json +++ b/ports/boost-build/vcpkg.json @@ -1,9 +1,15 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-build", - "version-string": "1.77.0", + "version": "1.86.0", + "port-version": 1, "description": "Boost.Build", "homepage": "https://github.com/boostorg/build", + "license": "BSL-1.0", "dependencies": [ - "boost-uninstall" + { + "name": "boost-uninstall", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-callable-traits/portfile.cmake b/ports/boost-callable-traits/portfile.cmake index 923c94793baed9..c7a6828ef57f6b 100644 --- a/ports/boost-callable-traits/portfile.cmake +++ b/ports/boost-callable-traits/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/callable_traits - REF boost-1.77.0 - SHA512 ad0e266c219dba57048b4f3010a5740c7b6f914564123ba73c64b89952a2edf5b7e275d2bc4c8c456a7bc54abb736dc05ab4bc95b644f5ea724160671ebd95cf - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/callable_traits + REF boost-${VERSION} + SHA512 625682baee6df7bea8eeb55dbc941cdd40546f90de271c3c4ff872cc9d51d68eba4991fc3fc2c8073f59182b4739934e6d940239e2a11d69a0b3a8438d95ba78 + HEAD_REF master +) + +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 9467c92e1f4a01..f2dd38e1647bfd 100644 --- a/ports/boost-callable-traits/vcpkg.json +++ b/ports/boost-callable-traits/vcpkg.json @@ -1,9 +1,22 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-callable-traits", - "version": "1.77.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": [ - "boost-vcpkg-helpers" + { + "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 9253abf4e2a2a5..2861cc98d0074d 100644 --- a/ports/boost-chrono/portfile.cmake +++ b/ports/boost-chrono/portfile.cmake @@ -1,17 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/chrono - REF boost-1.77.0 - SHA512 df6f3ebb5995b8cec0d0964625e3fd5c3a139178a6676c27a28163e2c1559fdb2289e05c4f4eaff94ee04dd1a01afbb30d99c1f7a0e09660c9d5bfe7414a4f51 - HEAD_REF master -) - -if(NOT DEFINED CURRENT_HOST_INSTALLED_DIR) - message(FATAL_ERROR "boost-chrono requires a newer version of vcpkg in order to build.") -endif() -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}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/chrono + REF boost-${VERSION} + SHA512 b10162a7e74fafd9f6841b20672adee3994937201d2928da6c17f47aa52c69819d76b33f85c727801dd02c4897b9e5e75b7975fd937665ae17b7b1fb5807a924 + HEAD_REF master +) + +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 dd8dca5c83cbf2..df285fe93c0d34 100644 --- a/ports/boost-chrono/vcpkg.json +++ b/ports/boost-chrono/vcpkg.json @@ -1,36 +1,78 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-chrono", - "version": "1.77.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": [ - "boost-assert", - { - "name": "boost-build", - "host": true - }, - "boost-config", - "boost-core", - "boost-integer", - { - "name": "boost-modular-build-helper", - "host": true - }, - "boost-move", - "boost-mpl", - "boost-predef", - "boost-ratio", - "boost-static-assert", - "boost-system", - "boost-throw-exception", - "boost-type-traits", - "boost-typeof", - "boost-utility", - "boost-vcpkg-helpers", - "boost-winapi", - { - "name": "vcpkg-cmake", - "host": true + { + "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-integer", + "version>=": "1.86.0" + }, + { + "name": "boost-move", + "version>=": "1.86.0" + }, + { + "name": "boost-mpl", + "version>=": "1.86.0" + }, + { + "name": "boost-predef", + "version>=": "1.86.0" + }, + { + "name": "boost-ratio", + "version>=": "1.86.0" + }, + { + "name": "boost-static-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-system", + "version>=": "1.86.0" + }, + { + "name": "boost-throw-exception", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + }, + { + "name": "boost-typeof", + "version>=": "1.86.0" + }, + { + "name": "boost-utility", + "version>=": "1.86.0" + }, + { + "name": "boost-winapi", + "version>=": "1.86.0" } ] } diff --git a/ports/boost-circular-buffer/portfile.cmake b/ports/boost-circular-buffer/portfile.cmake index 09a265da2fcc33..0b5b73eb3472bc 100644 --- a/ports/boost-circular-buffer/portfile.cmake +++ b/ports/boost-circular-buffer/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/circular_buffer - REF boost-1.77.0 - SHA512 ffa84cd072a1ba9d9b88681558f4c9f8e62bf41a3003a68d33e69fe124e428f1f6c46cad6af7907fcefc6caedf548d525ea2b5474981db5e9f58285523ef6fb9 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/circular_buffer + REF boost-${VERSION} + SHA512 475e9fbe37e87a4b09fefd12556b5c4efacb5a4af6a1204b40ded29856933d6140b9c5758f66e6dfb16d1f7e1d5d168fc218bf74f44de604a68aaa1a031e8d56 + HEAD_REF master +) + +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 1959cc56d41cae..f020b0f0e347eb 100644 --- a/ports/boost-circular-buffer/vcpkg.json +++ b/ports/boost-circular-buffer/vcpkg.json @@ -1,17 +1,50 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-circular-buffer", - "version": "1.77.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": [ - "boost-assert", - "boost-concept-check", - "boost-config", - "boost-core", - "boost-move", - "boost-static-assert", - "boost-throw-exception", - "boost-type-traits", - "boost-vcpkg-helpers" + { + "name": "boost-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-concept-check", + "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-move", + "version>=": "1.86.0" + }, + { + "name": "boost-static-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-throw-exception", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "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/portfile.cmake b/ports/boost-cobalt/portfile.cmake new file mode 100644 index 00000000000000..5bfee935b30570 --- /dev/null +++ b/ports/boost-cobalt/portfile.cmake @@ -0,0 +1,15 @@ +# 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 +) + +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..9fa189bb86256b --- /dev/null +++ b/ports/boost-cobalt/vcpkg.json @@ -0,0 +1,80 @@ +{ + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", + "name": "boost-cobalt", + "version": "1.86.0", + "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 new file mode 100644 index 00000000000000..8714e5f6149e11 --- /dev/null +++ b/ports/boost-compat/portfile.cmake @@ -0,0 +1,15 @@ +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/compat + REF boost-${VERSION} + SHA512 581ab370fffec2e4d531abcec84f6a8fa9a71152375f44147ab0892e7b8549deec10c32056bcc97137ad2d1dee11c0aca416231620185dd904ddc6344ded3c5d + HEAD_REF master +) + +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 new file mode 100644 index 00000000000000..0e4773f5249d40 --- /dev/null +++ b/ports/boost-compat/vcpkg.json @@ -0,0 +1,30 @@ +{ + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", + "name": "boost-compat", + "version": "1.86.0", + "description": "Boost compat module", + "homepage": "https://www.boost.org/libs/compat", + "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-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-throw-exception", + "version>=": "1.86.0" + } + ] +} diff --git a/ports/boost-compatibility/portfile.cmake b/ports/boost-compatibility/portfile.cmake index af9f20a0e01b36..9a51b45e05e8ce 100644 --- a/ports/boost-compatibility/portfile.cmake +++ b/ports/boost-compatibility/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/compatibility - REF boost-1.77.0 - SHA512 427d8c3f8fad551942b5003aefeea805ffd1a6bea7b6d9ad834e8814474b7168ac9040675c59fa4808d3389ac436a90d508dbbe0576dbb4b4b16bd479dd96538 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/compatibility + REF boost-${VERSION} + SHA512 bfc956d62e31929324820d97a17f597ad9397e4eadcfcfb669694fa09f0c743b622e2b8dd37a4eeb8a73e1ae142c9d28fa9c7f4b7e8b856704036609c961bdf0 + HEAD_REF master +) + +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 db5c4ac84e3fb6..ac94b97d9a8db0 100644 --- a/ports/boost-compatibility/vcpkg.json +++ b/ports/boost-compatibility/vcpkg.json @@ -1,9 +1,22 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-compatibility", - "version": "1.77.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": [ - "boost-vcpkg-helpers" + { + "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 d461a5f9be738d..5147aa2b890ce9 100644 --- a/ports/boost-compute/portfile.cmake +++ b/ports/boost-compute/portfile.cmake @@ -1,12 +1,17 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/compute - REF boost-1.77.0 - SHA512 1ca1ed9fdb87ea5c848bdac6e1a941b85927c31454143d06d98e214469fa1b902f1bc722c0a3e99acdc184b966789cb02d1ad2502aebd83315c3b54959dc79c0 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/compute + REF boost-${VERSION} + SHA512 2bbd253f0cf89d8cd34c4a3813b0b42dd8bd8e68c8e2a10b5637c247b3e532ff97ff2abb03be0f030f1710e655d89eab336e7a4b9fb92a3477f213daaf419f05 + HEAD_REF master + PATCHES + opt-filesystem.diff +) + +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 72e700266808a1..fa4a3320869ecb 100644 --- a/ports/boost-compute/vcpkg.json +++ b/ports/boost-compute/vcpkg.json @@ -1,39 +1,127 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-compute", - "version": "1.77.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": [ - "boost-algorithm", - "boost-array", - "boost-assert", - "boost-chrono", - "boost-config", - "boost-core", + { + "name": "boost-algorithm", + "version>=": "1.86.0" + }, + { + "name": "boost-array", + "version>=": "1.86.0" + }, + { + "name": "boost-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-chrono", + "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-filesystem", - "platform": "!uwp" - }, - "boost-function", - "boost-function-types", - "boost-fusion", - "boost-iterator", - "boost-lexical-cast", - "boost-mpl", - "boost-optional", - "boost-preprocessor", - "boost-property-tree", - "boost-proto", - "boost-range", - "boost-smart-ptr", - "boost-static-assert", - "boost-thread", - "boost-throw-exception", - "boost-tuple", - "boost-type-traits", - "boost-typeof", - "boost-utility", - "boost-uuid", - "boost-vcpkg-helpers" + "platform": "!uwp", + "version>=": "1.86.0" + }, + { + "name": "boost-function", + "version>=": "1.86.0" + }, + { + "name": "boost-function-types", + "version>=": "1.86.0" + }, + { + "name": "boost-fusion", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-iterator", + "version>=": "1.86.0" + }, + { + "name": "boost-lexical-cast", + "version>=": "1.86.0" + }, + { + "name": "boost-mpl", + "version>=": "1.86.0" + }, + { + "name": "boost-optional", + "version>=": "1.86.0" + }, + { + "name": "boost-preprocessor", + "version>=": "1.86.0" + }, + { + "name": "boost-property-tree", + "version>=": "1.86.0" + }, + { + "name": "boost-proto", + "version>=": "1.86.0" + }, + { + "name": "boost-range", + "version>=": "1.86.0" + }, + { + "name": "boost-smart-ptr", + "version>=": "1.86.0" + }, + { + "name": "boost-static-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-thread", + "version>=": "1.86.0" + }, + { + "name": "boost-throw-exception", + "version>=": "1.86.0" + }, + { + "name": "boost-tuple", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + }, + { + "name": "boost-typeof", + "version>=": "1.86.0" + }, + { + "name": "boost-utility", + "version>=": "1.86.0" + }, + { + "name": "boost-uuid", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-concept-check/portfile.cmake b/ports/boost-concept-check/portfile.cmake index 87184c7c618894..681486a4939eb9 100644 --- a/ports/boost-concept-check/portfile.cmake +++ b/ports/boost-concept-check/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/concept_check - REF boost-1.77.0 - SHA512 83963c83de619c7078fd174f7c64b9ab7d4bb831fdfdceb78eae7fd406dc44e0877c1a985e55134026173dee295430f4b223bdd8bbd3bf5c3c48f99d7319090f - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/concept_check + REF boost-${VERSION} + SHA512 5d959efc1dc930454552a7e6b896618c2e24242ff9c3d9e63cd30f1090fa84de0650fcd3226043fa3f6fc76d97fe31b9e19f807a553fb1209efda2fbc168cd10 + HEAD_REF master +) + +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 b25c16d80b49b7..113e7353555546 100644 --- a/ports/boost-concept-check/vcpkg.json +++ b/ports/boost-concept-check/vcpkg.json @@ -1,13 +1,34 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-concept-check", - "version": "1.77.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": [ - "boost-config", - "boost-preprocessor", - "boost-static-assert", - "boost-type-traits", - "boost-vcpkg-helpers" + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-preprocessor", + "version>=": "1.86.0" + }, + { + "name": "boost-static-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-config/fix-emscripten-compilation.patch b/ports/boost-config/fix-emscripten-compilation.patch deleted file mode 100644 index f85fa3c478341d..00000000000000 --- a/ports/boost-config/fix-emscripten-compilation.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 85292621ece3409a80929add91c971400ba724f3 Mon Sep 17 00:00:00 2001 -From: jzmaddock -Date: Fri, 10 Sep 2021 11:36:29 +0100 -Subject: [PATCH] Add emscripten testing and support. (#403) - -* Tentatively add emscripten testing and support. -Fixes https://github.com/boostorg/config/issues/402. ---- - include/boost/config/platform/wasm.hpp | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/include/boost/config/platform/wasm.hpp b/include/boost/config/platform/wasm.hpp -index c307812d..682b8485 100644 ---- a/include/boost/config/platform/wasm.hpp -+++ b/include/boost/config/platform/wasm.hpp -@@ -9,6 +9,12 @@ - - #define BOOST_PLATFORM "Wasm" - -+#ifdef __has_include -+#if __has_include() -+# define BOOST_HAS_UNISTD_H -+#endif -+#endif -+ - // boilerplate code: - #include - // --- -2.21.1 (Apple Git-122.3) - diff --git a/ports/boost-config/portfile.cmake b/ports/boost-config/portfile.cmake index c32b1dcb7e1e66..3db0316c7cf5dd 100644 --- a/ports/boost-config/portfile.cmake +++ b/ports/boost-config/portfile.cmake @@ -1,20 +1,22 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/config - REF boost-1.77.0 - SHA512 c6df16825b7bb27412667e00b6b6cdecbf56ee0707aa1df3505637c7de5c39c87335fabd7cd4361b29625d71c7664e6af865fc271ad0b3e70cc8872825f6155e - HEAD_REF master - PATCHES fix-emscripten-compilation.patch -) - -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") - -if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - 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) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/config + REF boost-${VERSION} + SHA512 d2ca9b1619905c60d7e2d82afab9570e84834e6d8d742e0a10693fd71319c69d8ad3b5a4c4dad007d8df2840aa8a79786e5e9a53ed2c44395bc319995e86bb9e + HEAD_REF master +) + +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") +endif() +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 3b56236a548af7..4dc1a95a9b2873 100644 --- a/ports/boost-config/vcpkg.json +++ b/ports/boost-config/vcpkg.json @@ -1,10 +1,18 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-config", - "version": "1.77.0", - "port-version": 2, + "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": [ - "boost-vcpkg-helpers" + { + "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 d8e4da4118ed66..df5478a9459578 100644 --- a/ports/boost-container-hash/portfile.cmake +++ b/ports/boost-container-hash/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/container_hash - REF boost-1.77.0 - SHA512 e7963ffdb8ca7a2eb35af104e44975f775c1f71a869835f4aedce2a19c484097dbbe83221f3680c9d9a0288ec35e12983de2abac0334cb3c7d1de429f9edd765 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/container_hash + REF boost-${VERSION} + SHA512 3abb573c4dccb23d706abf57d21f3a837baf49d9e976d5b7ff31cd41e0b827528e8218f2e63368440e14d6aeaada23db5bbdc389ba70f1cecf94d899ce3fcf1b + HEAD_REF master +) + +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 a422b05355796a..91b00a8905dfa2 100644 --- a/ports/boost-container-hash/vcpkg.json +++ b/ports/boost-container-hash/vcpkg.json @@ -1,16 +1,30 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-container-hash", - "version": "1.77.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": [ - "boost-assert", - "boost-config", - "boost-core", - "boost-detail", - "boost-integer", - "boost-static-assert", - "boost-type-traits", - "boost-vcpkg-helpers" + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-describe", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-mp11", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-container/portfile.cmake b/ports/boost-container/portfile.cmake index b52ba2406f520f..b7e8052d93f879 100644 --- a/ports/boost-container/portfile.cmake +++ b/ports/boost-container/portfile.cmake @@ -1,17 +1,17 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/container - REF boost-1.77.0 - SHA512 dec03159614a3d3017b2fae56b3c4ff5d6b3e0396490ea1b1015e54d3be1ec1c2c525ec6f410c2d94575025459d9053b9c29b9aa45d3a7a89656a82240fcfcda - HEAD_REF master -) - -if(NOT DEFINED CURRENT_HOST_INSTALLED_DIR) - message(FATAL_ERROR "boost-container requires a newer version of vcpkg in order to build.") -endif() -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}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/container + REF boost-${VERSION} + SHA512 bac716c525f83337551a029497d923eaad3b6e02b14a227bc5bffae593637bae8aac7715a0ff5819857999e2b9b9e526806c7d460203556dbb9baa0d4a216e66 + HEAD_REF master + PATCHES + posix-threads.diff +) + +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 c5dde650183ed5..5feae60f0fc20d 100644 --- a/ports/boost-container/vcpkg.json +++ b/ports/boost-container/vcpkg.json @@ -1,29 +1,34 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-container", - "version": "1.77.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": [ - "boost-assert", { - "name": "boost-build", - "host": true + "name": "boost-assert", + "version>=": "1.86.0" }, - "boost-config", - "boost-core", - "boost-intrusive", { - "name": "boost-modular-build-helper", - "host": true + "name": "boost-cmake", + "version>=": "1.86.0" }, - "boost-move", - "boost-static-assert", - "boost-type-traits", - "boost-vcpkg-helpers", - "boost-winapi", { - "name": "vcpkg-cmake", - "host": true + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-intrusive", + "version>=": "1.86.0" + }, + { + "name": "boost-move", + "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 a16d25fdbe95b7..00000000000000 --- a/ports/boost-context/b2-options.cmake.in +++ /dev/null @@ -1,29 +0,0 @@ - -if(@VCPKG_TARGET_IS_WINDOWS@) - list(APPEND B2_OPTIONS - abi=ms - binary-format=pe - ) -endif() - -if(@VCPKG_TARGET_IS_OSX@) - list(APPEND B2_OPTIONS - abi=sysv - binary-format=mach-o - ) -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 56ecba686ebe5f..10b3bafb0a2b42 100644 --- a/ports/boost-context/portfile.cmake +++ b/ports/boost-context/portfile.cmake @@ -1,30 +1,18 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/context - REF boost-1.77.0 - SHA512 a65c27fe09bddfc1398331414f88f8fe2606ee147b2db2c5690dad8af860c03c6a4e61ecd750f43243bdcee5e5217cee77d469deb57b9ea0b181161e82b7a5cf - HEAD_REF master -) - -file(READ "${SOURCE_PATH}/build/Jamfile.v2" _contents) -string(REPLACE "import ../../config/checks/config" "import config/checks/config" _contents "${_contents}") -file(WRITE "${SOURCE_PATH}/build/Jamfile.v2" "${_contents}") -file(COPY "${CURRENT_INSTALLED_DIR}/share/boost-config/checks" DESTINATION "${SOURCE_PATH}/build/config") - -if(NOT DEFINED CURRENT_HOST_INSTALLED_DIR) - message(FATAL_ERROR "boost-context requires a newer version of vcpkg in order to build.") -endif() -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}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/context + REF boost-${VERSION} + SHA512 cd21a4e834a09783c6c4c26fd9904df9a598ace34cd71f0963baf04801f9d78f62014a0aa48ff711b26e9ed0185fbda5d678e46a57eb7fcf058a5e7f3deecb56 + HEAD_REF master + PATCHES + marmasm.patch + +) + +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-context/vcpkg.json b/ports/boost-context/vcpkg.json index cd4d54f195abbf..b4ca2180a7880b 100644 --- a/ports/boost-context/vcpkg.json +++ b/ports/boost-context/vcpkg.json @@ -1,29 +1,47 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-context", - "version": "1.77.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": [ - "boost-assert", { - "name": "boost-build", - "host": true + "name": "boost-assert", + "version>=": "1.86.0" }, - "boost-config", - "boost-core", { - "name": "boost-modular-build-helper", - "host": true + "name": "boost-cmake", + "version>=": "1.86.0" }, - "boost-mp11", - "boost-pool", - "boost-predef", - "boost-smart-ptr", - "boost-vcpkg-helpers", { - "name": "vcpkg-cmake", - "host": true + "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-pool", + "version>=": "1.86.0" + }, + { + "name": "boost-predef", + "version>=": "1.86.0" + }, + { + "name": "boost-smart-ptr", + "version>=": "1.86.0" } ] } diff --git a/ports/boost-contract/portfile.cmake b/ports/boost-contract/portfile.cmake index 3ade7be44a9ea8..be10fbbf39ef78 100644 --- a/ports/boost-contract/portfile.cmake +++ b/ports/boost-contract/portfile.cmake @@ -1,17 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/contract - REF boost-1.77.0 - SHA512 f7d26121200a3e3f5f693423b50ae313477749446ba0c89b2e47ce26007a0f7dd636c2ab47a83b120412d9fe09f3b905ca4a4ce93550be1ae4acb9c23f1892de - HEAD_REF master -) - -if(NOT DEFINED CURRENT_HOST_INSTALLED_DIR) - message(FATAL_ERROR "boost-contract requires a newer version of vcpkg in order to build.") -endif() -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}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/contract + REF boost-${VERSION} + SHA512 4efee6cb0794408947c66f7731ac2745df910485ab58365adb059f4868737f45475eed835713bdcf50e05c74f3ece2911b70f22445607ee1bd3d98c908a15228 + HEAD_REF master +) + +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 8d0fed3e433957..2fe33751d0aa18 100644 --- a/ports/boost-contract/vcpkg.json +++ b/ports/boost-contract/vcpkg.json @@ -1,37 +1,82 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-contract", - "version": "1.77.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": [ - "boost-any", - "boost-assert", - { - "name": "boost-build", - "host": true - }, - "boost-config", - "boost-core", - "boost-exception", - "boost-function", - "boost-function-types", - { - "name": "boost-modular-build-helper", - "host": true - }, - "boost-mpl", - "boost-optional", - "boost-preprocessor", - "boost-smart-ptr", - "boost-static-assert", - "boost-thread", - "boost-type-traits", - "boost-typeof", - "boost-utility", - "boost-vcpkg-helpers", - { - "name": "vcpkg-cmake", - "host": true + { + "name": "boost-any", + "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-exception", + "version>=": "1.86.0" + }, + { + "name": "boost-function", + "version>=": "1.86.0" + }, + { + "name": "boost-function-types", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-mpl", + "version>=": "1.86.0" + }, + { + "name": "boost-optional", + "version>=": "1.86.0" + }, + { + "name": "boost-preprocessor", + "version>=": "1.86.0" + }, + { + "name": "boost-smart-ptr", + "version>=": "1.86.0" + }, + { + "name": "boost-static-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-thread", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + }, + { + "name": "boost-typeof", + "version>=": "1.86.0" + }, + { + "name": "boost-utility", + "version>=": "1.86.0" } ] } diff --git a/ports/boost-conversion/portfile.cmake b/ports/boost-conversion/portfile.cmake index fdb6ada69b3e76..1cea8e36f8eb5e 100644 --- a/ports/boost-conversion/portfile.cmake +++ b/ports/boost-conversion/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/conversion - REF boost-1.77.0 - SHA512 d0c866f7cf01be8bd98903a5ea92f678eb119f767b97caa8a2e5edaafd2cfbe838ee02c50301de0a9cf8082db95e3379f2fb1cd2b7ed835288c89171b2753da2 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/conversion + REF boost-${VERSION} + SHA512 16e50594633b77d584c3cea6430cea8eb4797c7b840291a2724ace112cf2cdfc5caa6519c6671c813c53cc295bafbd4cb12940e98668f51da39f0125c57543c2 + HEAD_REF master +) + +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 1bd0be804435b2..02cdc8312c8195 100644 --- a/ports/boost-conversion/vcpkg.json +++ b/ports/boost-conversion/vcpkg.json @@ -1,16 +1,34 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-conversion", - "version": "1.77.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": [ - "boost-assert", - "boost-config", - "boost-core", - "boost-smart-ptr", - "boost-throw-exception", - "boost-type-traits", - "boost-typeof", - "boost-vcpkg-helpers" + { + "name": "boost-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-smart-ptr", + "version>=": "1.86.0" + }, + { + "name": "boost-throw-exception", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-convert/portfile.cmake b/ports/boost-convert/portfile.cmake index 3331ec10bedc67..95cdefe37c9cbc 100644 --- a/ports/boost-convert/portfile.cmake +++ b/ports/boost-convert/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/convert - REF boost-1.77.0 - SHA512 5c682d0ebe3a23484beca5ae920351e29a8914f0f16bf4296569c03271466d7d2f1818e1674070d41994cf6ef7aa70560883f878c8108873932fdf1a15835f8b - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/convert + REF boost-${VERSION} + SHA512 8b3cbc66378a739c040a7cfdce5d3be391629b34734fc52e8babfec793789368ae0eeff90b46af835967a412155364eaa9205d541e44af2ecb684e332230b7d6 + HEAD_REF master +) + +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 f771279e7b0ba7..fc24bade16ef0f 100644 --- a/ports/boost-convert/vcpkg.json +++ b/ports/boost-convert/vcpkg.json @@ -1,20 +1,62 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-convert", - "version": "1.77.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": [ - "boost-config", - "boost-core", - "boost-function-types", - "boost-lexical-cast", - "boost-math", - "boost-mpl", - "boost-optional", - "boost-parameter", - "boost-range", - "boost-spirit", - "boost-type-traits", - "boost-vcpkg-helpers" + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-core", + "version>=": "1.86.0" + }, + { + "name": "boost-function-types", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-lexical-cast", + "version>=": "1.86.0" + }, + { + "name": "boost-math", + "version>=": "1.86.0" + }, + { + "name": "boost-mpl", + "version>=": "1.86.0" + }, + { + "name": "boost-optional", + "version>=": "1.86.0" + }, + { + "name": "boost-parameter", + "version>=": "1.86.0" + }, + { + "name": "boost-range", + "version>=": "1.86.0" + }, + { + "name": "boost-spirit", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-core/portfile.cmake b/ports/boost-core/portfile.cmake index 2c2ed7653fc73c..77d376f0dda099 100644 --- a/ports/boost-core/portfile.cmake +++ b/ports/boost-core/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/core - REF boost-1.77.0 - SHA512 2414c3ad43f7d1a2b6ded729a26825faaf69eb016b831be659f462e0e1f399e1e36a37ef46ea2f270423c409c5c40666b8516f30011b9094d679122da86436e9 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/core + REF boost-${VERSION} + SHA512 36e269dabb7c5c74416d2e55683a7354f47623c726fa95576c8a2c78745e65ce6e9ad5688cc96581f55ba939c00853da30e28d814aef71233080dfcfdb3428f0 + HEAD_REF master +) + +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 578f83aaea3a74..1a2a916068fdea 100644 --- a/ports/boost-core/vcpkg.json +++ b/ports/boost-core/vcpkg.json @@ -1,12 +1,34 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-core", - "version": "1.77.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": [ - "boost-assert", - "boost-config", - "boost-static-assert", - "boost-vcpkg-helpers" + { + "name": "boost-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-static-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-throw-exception", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-coroutine/portfile.cmake b/ports/boost-coroutine/portfile.cmake index 77e4b8ac4598cc..df1e37fccc0f17 100644 --- a/ports/boost-coroutine/portfile.cmake +++ b/ports/boost-coroutine/portfile.cmake @@ -1,17 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/coroutine - REF boost-1.77.0 - SHA512 f586cc1e96115341b396b4750e1bf99a0f40a353c219bf0d7a1c3926935d632f880394e1b06e39ce53fc416fa71b7850d8ce894880ad66cde8307606eb1dece4 - HEAD_REF master -) - -if(NOT DEFINED CURRENT_HOST_INSTALLED_DIR) - message(FATAL_ERROR "boost-coroutine requires a newer version of vcpkg in order to build.") -endif() -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}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/coroutine + REF boost-${VERSION} + SHA512 e41b0c22bdbc621cc6d1081a1c5050541894648c5ab8de760fc35e203933e4c13eee57c16060b0b2f28f94bef966e6b71eb26206fe495180e1a9905de5abf7ef + HEAD_REF master +) + +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 57f4afa936f43d..bc22d8fe1482e1 100644 --- a/ports/boost-coroutine/vcpkg.json +++ b/ports/boost-coroutine/vcpkg.json @@ -1,36 +1,60 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-coroutine", - "version": "1.77.0", + "version": "1.86.0", "description": "Boost coroutine module", - "homepage": "https://github.com/boostorg/coroutine", - "supports": "!arm & !uwp & !emscripten", + "homepage": "https://www.boost.org/libs/coroutine", + "license": "BSL-1.0", + "supports": "!(arm & windows) & !uwp & !emscripten", "dependencies": [ - "boost-assert", { - "name": "boost-build", - "host": true + "name": "boost-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" }, - "boost-config", { "name": "boost-context", - "platform": "!uwp & !emscripten" + "platform": "!uwp & !emscripten", + "version>=": "1.86.0" + }, + { + "name": "boost-core", + "version>=": "1.86.0" + }, + { + "name": "boost-exception", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-move", + "version>=": "1.86.0" + }, + { + "name": "boost-system", + "version>=": "1.86.0" + }, + { + "name": "boost-throw-exception", + "version>=": "1.86.0" }, - "boost-core", - "boost-exception", { - "name": "boost-modular-build-helper", - "host": true + "name": "boost-type-traits", + "version>=": "1.86.0" }, - "boost-move", - "boost-system", - "boost-thread", - "boost-throw-exception", - "boost-type-traits", - "boost-utility", - "boost-vcpkg-helpers", { - "name": "vcpkg-cmake", - "host": true + "name": "boost-utility", + "version>=": "1.86.0" } ] } diff --git a/ports/boost-coroutine2/portfile.cmake b/ports/boost-coroutine2/portfile.cmake index 9e32f0e5fc1d39..e8856e0d04f753 100644 --- a/ports/boost-coroutine2/portfile.cmake +++ b/ports/boost-coroutine2/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/coroutine2 - REF boost-1.77.0 - SHA512 6e44ff880f2eca082e9f95bc5ecd79b4e17ddf22351a8d6ec3c20ca4eb967c23581e861d81c5516b8b88a4b6ad854dbb3cfe5af80f892d71eaef11d0a1558bfd - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/coroutine2 + REF boost-${VERSION} + SHA512 11d84272ce98c6a251253f2bf766255115566d6e29fb2c8b67166666fb76dfda5ab6457368cdd8cf49999598ee03acb81b3abc05c12849681c6da3778a66b2be + HEAD_REF master +) + +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 5fe146960b888d..a1a4b816c88b92 100644 --- a/ports/boost-coroutine2/vcpkg.json +++ b/ports/boost-coroutine2/vcpkg.json @@ -1,16 +1,30 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-coroutine2", - "version": "1.77.0", + "version": "1.86.0", "description": "Boost coroutine2 module", - "homepage": "https://github.com/boostorg/coroutine2", - "supports": "!emscripten", + "homepage": "https://www.boost.org/libs/coroutine2", + "license": "BSL-1.0", "dependencies": [ - "boost-assert", - "boost-config", + { + "name": "boost-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, { "name": "boost-context", - "platform": "!uwp & !emscripten" + "version>=": "1.86.0" }, - "boost-vcpkg-helpers" + { + "name": "boost-headers", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-crc/portfile.cmake b/ports/boost-crc/portfile.cmake index 71cf71dd1c1ca8..582a5ce9e3eca4 100644 --- a/ports/boost-crc/portfile.cmake +++ b/ports/boost-crc/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/crc - REF boost-1.77.0 - SHA512 f82a3a89208d10f29eae521eb11ce81316351b4b75f882ce8af4e981966b2798a94ea4825a80b854bef1fcb29bb712f094da7481061f376d9bac593ac2085cf3 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/crc + REF boost-${VERSION} + SHA512 86ade360a2c4cd4e6f7e59a474838952a89275917acca1a6fcbabbf408ea82f5fcfe74ed3ff82dc528cd0d631c62d0dc7ae74a6e76ed67d756c44a79c787e9c9 + HEAD_REF master +) + +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 98c8a2e7958837..bd650bc39326c3 100644 --- a/ports/boost-crc/vcpkg.json +++ b/ports/boost-crc/vcpkg.json @@ -1,13 +1,22 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-crc", - "version": "1.77.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": [ - "boost-array", - "boost-config", - "boost-integer", - "boost-type-traits", - "boost-vcpkg-helpers" + { + "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-date-time/portfile.cmake b/ports/boost-date-time/portfile.cmake index 9e6ebe6ec012b3..5bd4ab8374acb8 100644 --- a/ports/boost-date-time/portfile.cmake +++ b/ports/boost-date-time/portfile.cmake @@ -1,17 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/date_time - REF boost-1.77.0 - SHA512 dc560858d38bae7be8fe70ced75f26fbb59b9b8f32ae5ae88cae9a6246db3f20ff3ab9d6b6e03d54ae4e93477801045891e6314d1bcca55ce97626da3c75191d - HEAD_REF master -) - -if(NOT DEFINED CURRENT_HOST_INSTALLED_DIR) - message(FATAL_ERROR "boost-date-time requires a newer version of vcpkg in order to build.") -endif() -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}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/date_time + REF boost-${VERSION} + SHA512 b5befffc1bc958b7167fd8b7154ded3a07ac47882007577a8aebbe26de0baebe99fdc71867f51e4446ad7e6f454ebe75fc02e1327089b22a4edd60c887a75c32 + HEAD_REF master +) + +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 d195fda68d76a0..36ac7cc99a571f 100644 --- a/ports/boost-date-time/vcpkg.json +++ b/ports/boost-date-time/vcpkg.json @@ -1,36 +1,78 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-date-time", - "version": "1.77.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": [ - "boost-algorithm", - "boost-assert", - { - "name": "boost-build", - "host": true - }, - "boost-config", - "boost-core", - "boost-io", - "boost-lexical-cast", - { - "name": "boost-modular-build-helper", - "host": true - }, - "boost-numeric-conversion", - "boost-range", - "boost-smart-ptr", - "boost-static-assert", - "boost-throw-exception", - "boost-tokenizer", - "boost-type-traits", - "boost-utility", - "boost-vcpkg-helpers", - "boost-winapi", - { - "name": "vcpkg-cmake", - "host": true + { + "name": "boost-algorithm", + "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-io", + "version>=": "1.86.0" + }, + { + "name": "boost-lexical-cast", + "version>=": "1.86.0" + }, + { + "name": "boost-numeric-conversion", + "version>=": "1.86.0" + }, + { + "name": "boost-range", + "version>=": "1.86.0" + }, + { + "name": "boost-smart-ptr", + "version>=": "1.86.0" + }, + { + "name": "boost-static-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-throw-exception", + "version>=": "1.86.0" + }, + { + "name": "boost-tokenizer", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + }, + { + "name": "boost-utility", + "version>=": "1.86.0" + }, + { + "name": "boost-winapi", + "version>=": "1.86.0" } ] } diff --git a/ports/boost-describe/portfile.cmake b/ports/boost-describe/portfile.cmake index 745fd29833c35c..6d6d9fed5fa1a1 100644 --- a/ports/boost-describe/portfile.cmake +++ b/ports/boost-describe/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/describe - REF boost-1.77.0 - SHA512 70b9283fb106ec99fea1cf72400f813abf92b44e74f1bd18411201e96ddd78b0f244bc445bf304a2259da28a2a119d20bc89e50b19852cf2fd8c45d2ba99a302 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/describe + REF boost-${VERSION} + SHA512 6dae1a712b2d3270163f37d7d1761e48c860f9339f1acb64e481056f1e9018222d44a176848a7a704e97a94d1c5b514fec7d5fb532ec179deca1d51984f11326 + HEAD_REF master +) + +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 4ced74c0e0696c..3dea38eb7aa606 100644 --- a/ports/boost-describe/vcpkg.json +++ b/ports/boost-describe/vcpkg.json @@ -1,10 +1,26 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-describe", - "version": "1.77.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": [ - "boost-mp11", - "boost-vcpkg-helpers" + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.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 7383a737410bb7..817ad026115b64 100644 --- a/ports/boost-detail/portfile.cmake +++ b/ports/boost-detail/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/detail - REF boost-1.77.0 - SHA512 c65810121889ba39e149b120b69a682f62aadb9a660100bb7009e5f27ad36e645cfa7b0d98a0fbaef12cd3c15738660aa9b9d6ef9cd5e91cb5cddfa3b171fd03 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/detail + REF boost-${VERSION} + SHA512 1235a8297c101a3f35cba4b74aca7bd9d8ded89fe60cf8d4868ea8a1eebe40ffdb50c385a16c11e3fce6dead37aa979c6bc55aa4bd067dc77fb7d1429daf3860 + HEAD_REF master +) + +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 a5280c098de151..b6c7cab4f97ecf 100644 --- a/ports/boost-detail/vcpkg.json +++ b/ports/boost-detail/vcpkg.json @@ -1,14 +1,38 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-detail", - "version": "1.77.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": [ - "boost-config", - "boost-core", - "boost-preprocessor", - "boost-static-assert", - "boost-type-traits", - "boost-vcpkg-helpers" + { + "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-preprocessor", + "version>=": "1.86.0" + }, + { + "name": "boost-static-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-dll/portfile.cmake b/ports/boost-dll/portfile.cmake index 247ea4b8f5ccdf..80df04792e5e5c 100644 --- a/ports/boost-dll/portfile.cmake +++ b/ports/boost-dll/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/dll - REF boost-1.77.0 - SHA512 051de508ad1a0c635692845732ea12e2b3872599af9fbe70ed0183e8278292d3e9f5920ef851a052ca9ee7c8967c8486d894254b862ec379e36790536bd076dd - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/dll + REF boost-${VERSION} + SHA512 da9a2c341a23930e50747d978dc23dc41e2cdbb41cf50f561f309a942adecd855284fc4ca6e6c6f751d721b0a02bf476266ea4a66fb3e67abfafc17d93c87dce + HEAD_REF master +) + +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 27d027222ee719..55e121b29143ac 100644 --- a/ports/boost-dll/vcpkg.json +++ b/ports/boost-dll/vcpkg.json @@ -1,27 +1,74 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-dll", - "version": "1.77.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": [ - "boost-assert", - "boost-config", - "boost-core", + { + "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-filesystem", - "platform": "!uwp" - }, - "boost-function", - "boost-move", - "boost-predef", - "boost-smart-ptr", - "boost-spirit", - "boost-static-assert", - "boost-system", - "boost-throw-exception", - "boost-type-index", - "boost-type-traits", - "boost-vcpkg-helpers", - "boost-winapi" + "version>=": "1.86.0" + }, + { + "name": "boost-function", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-move", + "version>=": "1.86.0" + }, + { + "name": "boost-predef", + "version>=": "1.86.0" + }, + { + "name": "boost-smart-ptr", + "version>=": "1.86.0" + }, + { + "name": "boost-spirit", + "version>=": "1.86.0" + }, + { + "name": "boost-system", + "version>=": "1.86.0" + }, + { + "name": "boost-throw-exception", + "version>=": "1.86.0" + }, + { + "name": "boost-type-index", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + }, + { + "name": "boost-winapi", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-dynamic-bitset/portfile.cmake b/ports/boost-dynamic-bitset/portfile.cmake index a3ebd00693d2e1..7fb956a6b50b41 100644 --- a/ports/boost-dynamic-bitset/portfile.cmake +++ b/ports/boost-dynamic-bitset/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/dynamic_bitset - REF boost-1.77.0 - SHA512 dcabd09d66003a7ff306d26f37399281bb2516021f76a1bc1960ef3bbfcf89767d1638fe69b237108aab165d45887468c5a34bb1016852f7277397ca965b6a3b - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/dynamic_bitset + REF boost-${VERSION} + SHA512 e86fc2ef217bdead342aa50d7e2e629b07b58059aecd99ca9d34414cd83cf1cc0effb707a18c140d9403766266098af03d758b5aaf61933a893430104b5d3b3e + HEAD_REF master +) + +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 1de96a61d4aa90..38309adc591f57 100644 --- a/ports/boost-dynamic-bitset/vcpkg.json +++ b/ports/boost-dynamic-bitset/vcpkg.json @@ -1,17 +1,50 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-dynamic-bitset", - "version": "1.77.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": [ - "boost-assert", - "boost-config", - "boost-container-hash", - "boost-core", - "boost-integer", - "boost-move", - "boost-static-assert", - "boost-throw-exception", - "boost-vcpkg-helpers" + { + "name": "boost-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-container-hash", + "version>=": "1.86.0" + }, + { + "name": "boost-core", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-integer", + "version>=": "1.86.0" + }, + { + "name": "boost-move", + "version>=": "1.86.0" + }, + { + "name": "boost-static-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-throw-exception", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-endian/portfile.cmake b/ports/boost-endian/portfile.cmake index bb3ff853a59f85..3c5bbfe91c9f8b 100644 --- a/ports/boost-endian/portfile.cmake +++ b/ports/boost-endian/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/endian - REF boost-1.77.0 - SHA512 f7ed33602a5d9860fa460bca51f9576a3d0c90b703b5e833e106ccf7e28b1449e86f230b353823578a669fcd65922d206ba03a390bfed258dd37edd8435736cd - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/endian + REF boost-${VERSION} + SHA512 022205042407ff55f28a24282b3de56a71bc94b7d55a8cfbb92b83d343d07456c3d77612aeda222327bde59fdc69942bd5dc06056bd4f61e146db180db3160a5 + HEAD_REF master +) + +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 a759a4a445e4d3..02aba836740647 100644 --- a/ports/boost-endian/vcpkg.json +++ b/ports/boost-endian/vcpkg.json @@ -1,13 +1,22 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-endian", - "version": "1.77.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": [ - "boost-config", - "boost-core", - "boost-static-assert", - "boost-type-traits", - "boost-vcpkg-helpers" + { + "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-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 e5f34243d58313..07d68b8c176de3 100644 --- a/ports/boost-exception/portfile.cmake +++ b/ports/boost-exception/portfile.cmake @@ -1,17 +1,16 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/exception - REF boost-1.77.0 - SHA512 90af6443bed8114466bce41b43c7d1d439f0b62dee4e1609da84f60c41313aa94e4a6d7bf82e448d612e2521450cfd59cb34cf85f5962718ea33aa7027f5c84f - HEAD_REF master -) - -if(NOT DEFINED CURRENT_HOST_INSTALLED_DIR) - message(FATAL_ERROR "boost-exception requires a newer version of vcpkg in order to build.") -endif() -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}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/exception + REF boost-${VERSION} + SHA512 1472e4e59d2397f30bbc32e0d9bc9965d36272fb290a9a923363b396ecd6a4f7d0a7e874eeb3f5d2b3ba5cada279eb10e948df5c96b45994439bbcda76b2105e + HEAD_REF master +) + +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 bca330a0a5d9b6..d1758ba0351384 100644 --- a/ports/boost-exception/vcpkg.json +++ b/ports/boost-exception/vcpkg.json @@ -1,28 +1,46 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-exception", - "version": "1.77.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": [ - "boost-assert", { - "name": "boost-build", - "host": true + "name": "boost-assert", + "version>=": "1.86.0" }, - "boost-config", - "boost-core", { - "name": "boost-modular-build-helper", - "host": true + "name": "boost-cmake", + "version>=": "1.86.0" }, - "boost-smart-ptr", - "boost-throw-exception", - "boost-tuple", - "boost-type-traits", - "boost-vcpkg-helpers", { - "name": "vcpkg-cmake", - "host": true + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-core", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-smart-ptr", + "version>=": "1.86.0" + }, + { + "name": "boost-throw-exception", + "version>=": "1.86.0" + }, + { + "name": "boost-tuple", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" } ] } diff --git a/ports/boost-fiber/portfile.cmake b/ports/boost-fiber/portfile.cmake index bfde32a75a4941..1de376545ca305 100644 --- a/ports/boost-fiber/portfile.cmake +++ b/ports/boost-fiber/portfile.cmake @@ -1,22 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/fiber - REF boost-1.77.0 - SHA512 f5ee6acc30902b2e68861a194f478a6a0a9ea8de096465fcb48c27756718fe6493c8c4d8e08b0473edd45162106061de735a95ff8679d54862cc3a62968aaa94 - HEAD_REF master -) - -file(READ "${SOURCE_PATH}/build/Jamfile.v2" _contents) -string(REPLACE "import ../../config/checks/config" "import config/checks/config" _contents "${_contents}") -file(WRITE "${SOURCE_PATH}/build/Jamfile.v2" "${_contents}") -file(COPY "${CURRENT_INSTALLED_DIR}/share/boost-config/checks" DESTINATION "${SOURCE_PATH}/build/config") - -if(NOT DEFINED CURRENT_HOST_INSTALLED_DIR) - message(FATAL_ERROR "boost-fiber requires a newer version of vcpkg in order to build.") -endif() -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}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/fiber + REF boost-${VERSION} + SHA512 9936195278181804a25b1b1b8a358c96cc3bc6e6d3952c0f01c29de349f1562503e063eb4f569deeca3589cb902ed1200e0db5289f9f7c0756934914e445caf5 + HEAD_REF master +) + +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-fiber/vcpkg.json b/ports/boost-fiber/vcpkg.json index f7654c22f9e16b..701cf96e52d676 100644 --- a/ports/boost-fiber/vcpkg.json +++ b/ports/boost-fiber/vcpkg.json @@ -1,38 +1,66 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-fiber", - "version": "1.77.0", + "version": "1.86.0", "description": "Boost fiber module", - "homepage": "https://github.com/boostorg/fiber", - "supports": "!osx & !uwp & !arm & !emscripten", + "homepage": "https://www.boost.org/libs/fiber", + "license": "BSL-1.0", + "supports": "!uwp & !(arm & windows) & !emscripten", "dependencies": [ - "boost-algorithm", - "boost-assert", { - "name": "boost-build", - "host": true + "name": "boost-algorithm", + "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" }, - "boost-config", { "name": "boost-context", - "platform": "!uwp & !emscripten" + "platform": "!uwp & !emscripten", + "version>=": "1.86.0" + }, + { + "name": "boost-core", + "version>=": "1.86.0" }, - "boost-core", { "name": "boost-filesystem", - "platform": "!uwp" + "platform": "!uwp", + "version>=": "1.86.0" }, - "boost-format", - "boost-intrusive", { - "name": "boost-modular-build-helper", - "host": true + "name": "boost-format", + "version>=": "1.86.0" }, - "boost-predef", - "boost-smart-ptr", - "boost-vcpkg-helpers", { - "name": "vcpkg-cmake", - "host": true + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-intrusive", + "version>=": "1.86.0" + }, + { + "name": "boost-predef", + "version>=": "1.86.0" + }, + { + "name": "boost-smart-ptr", + "version>=": "1.86.0" + } + ], + "features": { + "numa": { + "description": "Enable NUMA support" } - ] + } } diff --git a/ports/boost-filesystem/portfile.cmake b/ports/boost-filesystem/portfile.cmake index 0e1a1d02fe3bba..12f8008c16a696 100644 --- a/ports/boost-filesystem/portfile.cmake +++ b/ports/boost-filesystem/portfile.cmake @@ -1,17 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/filesystem - REF boost-1.77.0 - SHA512 ce63c951db9052bcc57f453628088791970245313f78af9131908731065b6fc906b885c05fd05bb8b902f52c191766858183f52a6954afe3cd4062c51b0592fd - HEAD_REF master -) - -if(NOT DEFINED CURRENT_HOST_INSTALLED_DIR) - message(FATAL_ERROR "boost-filesystem requires a newer version of vcpkg in order to build.") -endif() -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}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/filesystem + REF boost-${VERSION} + SHA512 cb036ab7a381ffd72c0a415d00b256c82445f4f777ce5b7b1490f9dcea53e28af8ccea67807a12195f44bfee6aa29e1bd7178cef2199f2cfd017c066c005d29c + HEAD_REF master +) + +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 9218ed31c7f174..85e376b343dd9e 100644 --- a/ports/boost-filesystem/vcpkg.json +++ b/ports/boost-filesystem/vcpkg.json @@ -1,35 +1,75 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-filesystem", - "version": "1.77.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": [ - "boost-assert", - "boost-atomic", - { - "name": "boost-build", - "host": true - }, - "boost-config", - "boost-container-hash", - "boost-core", - "boost-detail", - "boost-io", - "boost-iterator", - { - "name": "boost-modular-build-helper", - "host": true - }, - "boost-predef", - "boost-smart-ptr", - "boost-system", - "boost-type-traits", - "boost-vcpkg-helpers", - "boost-winapi", - { - "name": "vcpkg-cmake", - "host": true + { + "name": "boost-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-atomic", + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-container-hash", + "version>=": "1.86.0" + }, + { + "name": "boost-core", + "version>=": "1.86.0" + }, + { + "name": "boost-detail", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-io", + "version>=": "1.86.0" + }, + { + "name": "boost-iterator", + "version>=": "1.86.0" + }, + { + "name": "boost-predef", + "version>=": "1.86.0" + }, + { + "name": "boost-scope", + "version>=": "1.86.0" + }, + { + "name": "boost-smart-ptr", + "version>=": "1.86.0" + }, + { + "name": "boost-system", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + }, + { + "name": "boost-winapi", + "version>=": "1.86.0" } ] } diff --git a/ports/boost-flyweight/portfile.cmake b/ports/boost-flyweight/portfile.cmake index 64f9ed3f80e596..3af81e904381f6 100644 --- a/ports/boost-flyweight/portfile.cmake +++ b/ports/boost-flyweight/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/flyweight - REF boost-1.77.0 - SHA512 6175d43913ec8e9b96042dbc3babe4ab565bee97a3e87dc08282e624861f54b959dda61e73166f3b2d3aadec50c7cc100b3d32fa777083e90692cdcf89ef9fb9 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/flyweight + REF boost-${VERSION} + SHA512 dc5862df3f1f1b8d8704175952690011dd02e01cd396318b24da4d52e9b5c12da27903128a6003439b92934ce4fb3341b42972152793d17768a04acedcf0bde7 + HEAD_REF master +) + +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 9654c5c6b23e4f..468c4f24a5555b 100644 --- a/ports/boost-flyweight/vcpkg.json +++ b/ports/boost-flyweight/vcpkg.json @@ -1,23 +1,70 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-flyweight", - "version": "1.77.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": [ - "boost-assert", - "boost-config", - "boost-container-hash", - "boost-core", - "boost-detail", - "boost-interprocess", - "boost-mpl", - "boost-multi-index", - "boost-parameter", - "boost-preprocessor", - "boost-serialization", - "boost-smart-ptr", - "boost-throw-exception", - "boost-type-traits", - "boost-vcpkg-helpers" + { + "name": "boost-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-container-hash", + "version>=": "1.86.0" + }, + { + "name": "boost-core", + "version>=": "1.86.0" + }, + { + "name": "boost-detail", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-interprocess", + "version>=": "1.86.0" + }, + { + "name": "boost-mpl", + "version>=": "1.86.0" + }, + { + "name": "boost-multi-index", + "version>=": "1.86.0" + }, + { + "name": "boost-parameter", + "version>=": "1.86.0" + }, + { + "name": "boost-preprocessor", + "version>=": "1.86.0" + }, + { + "name": "boost-smart-ptr", + "version>=": "1.86.0" + }, + { + "name": "boost-throw-exception", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-foreach/portfile.cmake b/ports/boost-foreach/portfile.cmake index f16a626a9a7729..d501f9e8288290 100644 --- a/ports/boost-foreach/portfile.cmake +++ b/ports/boost-foreach/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/foreach - REF boost-1.77.0 - SHA512 45a4bfb69ea3524c69de90e1b3495d1a5972110dec37f3d8fd623cb223484b076f54a1d6c4245925722b8c263077c6e461b16b8c53d2d264e01386722f502c83 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/foreach + REF boost-${VERSION} + SHA512 9ec2431151570a7cc0efa8e9651a6ea5484e8e483a50067faa221e26c2bfbaf26e7ff97de7bb8fa82cbffaead5710f9df28ef1781aff83320e747110d678c531 + HEAD_REF master +) + +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 5304250e401477..470e7d65d7d8c3 100644 --- a/ports/boost-foreach/vcpkg.json +++ b/ports/boost-foreach/vcpkg.json @@ -1,15 +1,42 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-foreach", - "version": "1.77.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": [ - "boost-config", - "boost-core", - "boost-iterator", - "boost-mpl", - "boost-range", - "boost-type-traits", - "boost-vcpkg-helpers" + { + "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-iterator", + "version>=": "1.86.0" + }, + { + "name": "boost-mpl", + "version>=": "1.86.0" + }, + { + "name": "boost-range", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-format/portfile.cmake b/ports/boost-format/portfile.cmake index b2c0651aef1c7b..059de09e389df1 100644 --- a/ports/boost-format/portfile.cmake +++ b/ports/boost-format/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/format - REF boost-1.77.0 - SHA512 b83dd71f3b76773f852b5f680c5cdc62105b616b6343e87320eea718f13932ba4098f47b17a67f096855cbb0a717b01552c292c49397a093b3bacb009a48e675 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/format + REF boost-${VERSION} + SHA512 7b1d2bc208835e2d106265f98df005026a1e73f9f7f8414a379581e1aa4dd27458343855db0fb4ca8ae00d783c995c23e983e051b7f418110400df7674cc5de4 + HEAD_REF master +) + +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 c383b31c9abf64..b4c801f675582c 100644 --- a/ports/boost-format/vcpkg.json +++ b/ports/boost-format/vcpkg.json @@ -1,16 +1,46 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-format", - "version": "1.77.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": [ - "boost-assert", - "boost-config", - "boost-core", - "boost-optional", - "boost-smart-ptr", - "boost-throw-exception", - "boost-utility", - "boost-vcpkg-helpers" + { + "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-optional", + "version>=": "1.86.0" + }, + { + "name": "boost-smart-ptr", + "version>=": "1.86.0" + }, + { + "name": "boost-throw-exception", + "version>=": "1.86.0" + }, + { + "name": "boost-utility", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-function-types/portfile.cmake b/ports/boost-function-types/portfile.cmake index a017e85c88b830..48119a05a8c60d 100644 --- a/ports/boost-function-types/portfile.cmake +++ b/ports/boost-function-types/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/function_types - REF boost-1.77.0 - SHA512 7a530e9505daf5c67c14a01476c0317f3f85b9976082eb02a90cc79fc7c1b9a26d9d23740c1324e4df00cf4e85b1e1b2a2a9638eee74f85193ae3b3bfb936f92 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/function_types + REF boost-${VERSION} + SHA512 4b58a7b8b7f3f0115d85bf7c141b6d06f9b16a0e537cf9fce40c784a62accb289436c1dafaed11217e1658b32dd9b7834914aee80642248de07a495328968d5f + HEAD_REF master +) + +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 8f49bf9df71c7d..7aa91d0c5a4526 100644 --- a/ports/boost-function-types/vcpkg.json +++ b/ports/boost-function-types/vcpkg.json @@ -1,15 +1,42 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-function-types", - "version": "1.77.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": [ - "boost-config", - "boost-core", - "boost-detail", - "boost-mpl", - "boost-preprocessor", - "boost-type-traits", - "boost-vcpkg-helpers" + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-core", + "version>=": "1.86.0" + }, + { + "name": "boost-detail", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-mpl", + "version>=": "1.86.0" + }, + { + "name": "boost-preprocessor", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-function/portfile.cmake b/ports/boost-function/portfile.cmake index d86bc5aea726be..d2a66fb17c2c73 100644 --- a/ports/boost-function/portfile.cmake +++ b/ports/boost-function/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/function - REF boost-1.77.0 - SHA512 637f6d436614a805bb7d8e5dac0fc154896f4e77a51e1bf2d4509779bc412eaff1756dedcc9937490ca21d5bc15c8df6d911cfe9eebce51f80b5ec42a85d4155 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/function + REF boost-${VERSION} + SHA512 c3ff72eaad404c14cbcb5da18ae434390c5f2baac31809ce1862ecc2b71d76c844864c1147a8365ee51e6fc93cb42342782a3438d4b35f617582fc3cb0ca4580 + HEAD_REF master +) + +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 00181a35f653db..dc3dc9feb82e0f 100644 --- a/ports/boost-function/vcpkg.json +++ b/ports/boost-function/vcpkg.json @@ -1,19 +1,38 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-function", - "version": "1.77.0", + "version": "1.86.0", "description": "Boost function module", - "homepage": "https://github.com/boostorg/function", + "homepage": "https://www.boost.org/libs/function", + "license": "BSL-1.0", "dependencies": [ - "boost-assert", - "boost-bind", - "boost-config", - "boost-core", - "boost-integer", - "boost-preprocessor", - "boost-throw-exception", - "boost-type-index", - "boost-type-traits", - "boost-typeof", - "boost-vcpkg-helpers" + { + "name": "boost-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-bind", + "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-throw-exception", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-functional/portfile.cmake b/ports/boost-functional/portfile.cmake index 844ccd4fff26db..ee73c76aae064c 100644 --- a/ports/boost-functional/portfile.cmake +++ b/ports/boost-functional/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/functional - REF boost-1.77.0 - SHA512 0b0d675482ccaa0ca2eff5c2a9d4ffe4ec2374320a8a0766e791b57eb16be661422727c5d55f3bce2113d6410e07b05b29369e1ed551545e9ad427b92fd44c83 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/functional + REF boost-${VERSION} + SHA512 47bd14e4768bc2d71e450d3c82be006bb036526f9de2667aabd81646bc80da144a6f43e21a9e5d2d38272c268fb1aa48644a36fb75dc010ef879f2fbc4dfa633 + HEAD_REF master +) + +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 a00b0dc30355e2..7c03127dfaebe9 100644 --- a/ports/boost-functional/vcpkg.json +++ b/ports/boost-functional/vcpkg.json @@ -1,18 +1,54 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-functional", - "version": "1.77.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": [ - "boost-config", - "boost-core", - "boost-function", - "boost-function-types", - "boost-mpl", - "boost-preprocessor", - "boost-type-traits", - "boost-typeof", - "boost-utility", - "boost-vcpkg-helpers" + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-core", + "version>=": "1.86.0" + }, + { + "name": "boost-function", + "version>=": "1.86.0" + }, + { + "name": "boost-function-types", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-mpl", + "version>=": "1.86.0" + }, + { + "name": "boost-preprocessor", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + }, + { + "name": "boost-typeof", + "version>=": "1.86.0" + }, + { + "name": "boost-utility", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-fusion/portfile.cmake b/ports/boost-fusion/portfile.cmake index bcbbb77464a9d1..c54c2fa9d34dd0 100644 --- a/ports/boost-fusion/portfile.cmake +++ b/ports/boost-fusion/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/fusion - REF boost-1.77.0 - SHA512 c8ff639af2fe04a9a97d087ffdb023ca5530b6de0228f8f87150e6c18100aac6b500698fdfb2a431688be351b7d10e09f58006c9bf84660efe02fdd0c969446c - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/fusion + REF boost-${VERSION} + SHA512 335fdf5f66711cc755e9c44b9bb33b1312c5850e1ff864c71a90d5ff3db92e23286445975a0395b53bfec300c6d5a4619a30baa60956b244e8ece779d3bd0a1d + HEAD_REF master +) + +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 3b28a6b665ea7d..82532c0cd79646 100644 --- a/ports/boost-fusion/vcpkg.json +++ b/ports/boost-fusion/vcpkg.json @@ -1,20 +1,66 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-fusion", - "version": "1.77.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": [ - "boost-config", - "boost-container-hash", - "boost-core", - "boost-function-types", - "boost-mpl", - "boost-preprocessor", - "boost-static-assert", - "boost-tuple", - "boost-type-traits", - "boost-typeof", - "boost-utility", - "boost-vcpkg-helpers" + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-container-hash", + "version>=": "1.86.0" + }, + { + "name": "boost-core", + "version>=": "1.86.0" + }, + { + "name": "boost-function-types", + "version>=": "1.86.0" + }, + { + "name": "boost-functional", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-mpl", + "version>=": "1.86.0" + }, + { + "name": "boost-preprocessor", + "version>=": "1.86.0" + }, + { + "name": "boost-static-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-tuple", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + }, + { + "name": "boost-typeof", + "version>=": "1.86.0" + }, + { + "name": "boost-utility", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-geometry/portfile.cmake b/ports/boost-geometry/portfile.cmake index 9530fbff3df15e..c66604f1bd6a73 100644 --- a/ports/boost-geometry/portfile.cmake +++ b/ports/boost-geometry/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/geometry - REF boost-1.77.0 - SHA512 a5c6b1051bba1ec60ab5ad99421892ad868f9d31ac1d8da5a7bb995bd4ad27ec9e20daf2ad5646e48badb33e8b14c8ebb9343923b6ff7f725347c222e797cb67 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/geometry + REF boost-${VERSION} + SHA512 1dc66ddee35716c7891e9f4035ae8da8bcbb52b8130f16db2e464c0317fdcdf94e88ab252cee5a38ad4d3ce61925b77bdfa72abb35ef4b0948ef3d30d0f78ba7 + HEAD_REF master +) + +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 c1d574a84ac841..f9e7f45cd2cb18 100644 --- a/ports/boost-geometry/vcpkg.json +++ b/ports/boost-geometry/vcpkg.json @@ -1,42 +1,138 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-geometry", - "version": "1.77.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": [ - "boost-algorithm", - "boost-any", - "boost-array", - "boost-assert", - "boost-concept-check", - "boost-config", - "boost-container", - "boost-core", - "boost-function-types", - "boost-fusion", - "boost-integer", - "boost-iterator", - "boost-lexical-cast", - "boost-math", - "boost-move", - "boost-mpl", - "boost-multiprecision", - "boost-numeric-conversion", - "boost-polygon", - "boost-qvm", - "boost-range", - "boost-rational", - "boost-serialization", - "boost-smart-ptr", - "boost-static-assert", - "boost-thread", - "boost-throw-exception", - "boost-tokenizer", - "boost-tuple", - "boost-type-traits", - "boost-utility", - "boost-variant", - "boost-variant2", - "boost-vcpkg-helpers" + { + "name": "boost-algorithm", + "version>=": "1.86.0" + }, + { + "name": "boost-any", + "version>=": "1.86.0" + }, + { + "name": "boost-array", + "version>=": "1.86.0" + }, + { + "name": "boost-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-concept-check", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-container", + "version>=": "1.86.0" + }, + { + "name": "boost-core", + "version>=": "1.86.0" + }, + { + "name": "boost-function-types", + "version>=": "1.86.0" + }, + { + "name": "boost-fusion", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-integer", + "version>=": "1.86.0" + }, + { + "name": "boost-iterator", + "version>=": "1.86.0" + }, + { + "name": "boost-lexical-cast", + "version>=": "1.86.0" + }, + { + "name": "boost-math", + "version>=": "1.86.0" + }, + { + "name": "boost-mpl", + "version>=": "1.86.0" + }, + { + "name": "boost-multiprecision", + "version>=": "1.86.0" + }, + { + "name": "boost-numeric-conversion", + "version>=": "1.86.0" + }, + { + "name": "boost-polygon", + "version>=": "1.86.0" + }, + { + "name": "boost-qvm", + "version>=": "1.86.0" + }, + { + "name": "boost-range", + "version>=": "1.86.0" + }, + { + "name": "boost-rational", + "version>=": "1.86.0" + }, + { + "name": "boost-serialization", + "version>=": "1.86.0" + }, + { + "name": "boost-static-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-thread", + "version>=": "1.86.0" + }, + { + "name": "boost-throw-exception", + "version>=": "1.86.0" + }, + { + "name": "boost-tokenizer", + "version>=": "1.86.0" + }, + { + "name": "boost-tuple", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + }, + { + "name": "boost-variant", + "version>=": "1.86.0" + }, + { + "name": "boost-variant2", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-gil/portfile.cmake b/ports/boost-gil/portfile.cmake index b6dae42551f2e7..4243d2af427493 100644 --- a/ports/boost-gil/portfile.cmake +++ b/ports/boost-gil/portfile.cmake @@ -1,12 +1,17 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/gil - REF boost-1.77.0 - SHA512 a779a3a471509f0a5cbb9048ac4345bcde875cab1afb540bc4b0d051367b3bbd4eb41ebc2d0e50cc4dda9c7775e7b753cb3dd582ae6fe938ae94a71187de4089 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/gil + REF boost-${VERSION} + SHA512 97de2f6af8b60f826c330677646ebf9e94832f4e94bbe2be7ec799856956e2f6c809f6bbd00541642e7f6db4817d2f10343ab55babdb6710bb9c1c702c313c6e + HEAD_REF master + PATCHES + remove-boost-filesystem-dep.diff +) + +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 991dc51d6e4690..c340d2e5821653 100644 --- a/ports/boost-gil/vcpkg.json +++ b/ports/boost-gil/vcpkg.json @@ -1,20 +1,62 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-gil", - "version": "1.77.0", - "port-version": 1, + "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": [ - "boost-assert", - "boost-concept-check", - "boost-config", - "boost-core", - "boost-integer", - "boost-iterator", - "boost-mp11", - "boost-numeric-conversion", - "boost-preprocessor", - "boost-variant2", - "boost-vcpkg-helpers" + { + "name": "boost-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-concept-check", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-container-hash", + "version>=": "1.86.0" + }, + { + "name": "boost-core", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-integer", + "version>=": "1.86.0" + }, + { + "name": "boost-iterator", + "version>=": "1.86.0" + }, + { + "name": "boost-mp11", + "version>=": "1.86.0" + }, + { + "name": "boost-preprocessor", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + }, + { + "name": "boost-variant2", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-graph-parallel/portfile.cmake b/ports/boost-graph-parallel/portfile.cmake index b14dceb5008faf..9106ec9fe0adaa 100644 --- a/ports/boost-graph-parallel/portfile.cmake +++ b/ports/boost-graph-parallel/portfile.cmake @@ -1,17 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/graph_parallel - REF boost-1.77.0 - SHA512 2236b4ad0eae70c6dba7814003cb6e37505a09b29f26e2558cc6784d01b37a2e715acac0fdcacf553b94328fa6495fdcacabd9e7d00068ce4baccd29060faca1 - HEAD_REF master -) - -if(NOT DEFINED CURRENT_HOST_INSTALLED_DIR) - message(FATAL_ERROR "boost-graph-parallel requires a newer version of vcpkg in order to build.") -endif() -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}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/graph_parallel + REF boost-${VERSION} + SHA512 701e068240813a64aa1215e241a770b3497a8f9a054eeef98fd3d8462ac60fbf943c7e0d833f097ddb5f2e18b843459707027c2b144cb81517f60d4cc8672c6a + HEAD_REF master +) + +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 436b280efcea2b..9a809fc91ae070 100644 --- a/ports/boost-graph-parallel/vcpkg.json +++ b/ports/boost-graph-parallel/vcpkg.json @@ -1,55 +1,126 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-graph-parallel", - "version": "1.77.0", + "version": "1.86.0", "description": "Boost graph_parallel module", - "homepage": "https://github.com/boostorg/graph_parallel", - "supports": "!uwp", + "homepage": "https://www.boost.org/libs/graph_parallel", + "license": "BSL-1.0", "dependencies": [ - "boost-algorithm", - "boost-assert", { - "name": "boost-build", - "host": true + "name": "boost-algorithm", + "version>=": "1.86.0" + }, + { + "name": "boost-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-concept-check", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-container-hash", + "version>=": "1.86.0" + }, + { + "name": "boost-core", + "version>=": "1.86.0" + }, + { + "name": "boost-detail", + "version>=": "1.86.0" + }, + { + "name": "boost-dynamic-bitset", + "version>=": "1.86.0" }, - "boost-concept-check", - "boost-config", - "boost-container-hash", - "boost-core", - "boost-detail", - "boost-dynamic-bitset", { "name": "boost-filesystem", - "platform": "!uwp" + "platform": "!uwp", + "version>=": "1.86.0" + }, + { + "name": "boost-foreach", + "version>=": "1.86.0" + }, + { + "name": "boost-function", + "version>=": "1.86.0" + }, + { + "name": "boost-graph", + "version>=": "1.86.0" }, - "boost-foreach", - "boost-function", - "boost-graph", - "boost-iterator", - "boost-lexical-cast", { - "name": "boost-modular-build-helper", - "host": true + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-iterator", + "version>=": "1.86.0" + }, + { + "name": "boost-lexical-cast", + "version>=": "1.86.0" }, { "name": "boost-mpi", - "platform": "!uwp" - }, - "boost-mpl", - "boost-optional", - "boost-property-map", - "boost-property-map-parallel", - "boost-random", - "boost-serialization", - "boost-smart-ptr", - "boost-static-assert", - "boost-tuple", - "boost-type-traits", - "boost-variant", - "boost-vcpkg-helpers", - "mpi", - { - "name": "vcpkg-cmake", - "host": true - } + "platform": "!uwp", + "version>=": "1.86.0" + }, + { + "name": "boost-mpl", + "version>=": "1.86.0" + }, + { + "name": "boost-optional", + "version>=": "1.86.0" + }, + { + "name": "boost-property-map", + "version>=": "1.86.0" + }, + { + "name": "boost-property-map-parallel", + "version>=": "1.86.0" + }, + { + "name": "boost-random", + "platform": "!uwp", + "version>=": "1.86.0" + }, + { + "name": "boost-serialization", + "version>=": "1.86.0" + }, + { + "name": "boost-smart-ptr", + "version>=": "1.86.0" + }, + { + "name": "boost-static-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-tuple", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + }, + { + "name": "boost-variant", + "version>=": "1.86.0" + }, + "mpi" ] } diff --git a/ports/boost-graph/portfile.cmake b/ports/boost-graph/portfile.cmake index 61bf8a3b91c72e..f938b0b427a5ce 100644 --- a/ports/boost-graph/portfile.cmake +++ b/ports/boost-graph/portfile.cmake @@ -1,17 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/graph - REF boost-1.77.0 - SHA512 e7b318d18ec8586578d20398de862c852157f272bcc397b92a8808eb931aa1ca472df26972b052c123e3bed0213d41ad670bdc63621c6d5ef26495b66378bc76 - HEAD_REF master -) - -if(NOT DEFINED CURRENT_HOST_INSTALLED_DIR) - message(FATAL_ERROR "boost-graph requires a newer version of vcpkg in order to build.") -endif() -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}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/graph + REF boost-${VERSION} + SHA512 fcd2554e467f499352b3ae9166891c58e49edd60a56a79197e8adf5d0c188d12df143d89667aa27d78307548ef9c30d0cce3ecf5f39404ed610283c4f3f6a4cb + HEAD_REF master +) + +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 b4a2db93bf99fc..fdf04bf75bc5a4 100644 --- a/ports/boost-graph/vcpkg.json +++ b/ports/boost-graph/vcpkg.json @@ -1,62 +1,182 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-graph", - "version": "1.77.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": [ - "boost-algorithm", - "boost-any", - "boost-array", - "boost-assert", - "boost-bimap", - "boost-bind", - { - "name": "boost-build", - "host": true - }, - "boost-concept-check", - "boost-config", - "boost-container-hash", - "boost-conversion", - "boost-core", - "boost-detail", - "boost-foreach", - "boost-function", - "boost-integer", - "boost-iterator", - "boost-lexical-cast", - "boost-math", - { - "name": "boost-modular-build-helper", - "host": true - }, - "boost-move", - "boost-mpl", - "boost-multi-index", - "boost-optional", - "boost-parameter", - "boost-preprocessor", - "boost-property-map", - "boost-property-tree", - "boost-random", - "boost-range", - "boost-regex", - "boost-serialization", - "boost-smart-ptr", - "boost-spirit", - "boost-static-assert", - "boost-throw-exception", - "boost-tti", - "boost-tuple", - "boost-type-traits", - "boost-typeof", - "boost-unordered", - "boost-utility", - "boost-vcpkg-helpers", - "boost-xpressive", - { - "name": "vcpkg-cmake", - "host": true + { + "name": "boost-algorithm", + "version>=": "1.86.0" + }, + { + "name": "boost-any", + "version>=": "1.86.0" + }, + { + "name": "boost-array", + "version>=": "1.86.0" + }, + { + "name": "boost-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-bimap", + "version>=": "1.86.0" + }, + { + "name": "boost-bind", + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-concept-check", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-container-hash", + "version>=": "1.86.0" + }, + { + "name": "boost-conversion", + "version>=": "1.86.0" + }, + { + "name": "boost-core", + "version>=": "1.86.0" + }, + { + "name": "boost-detail", + "version>=": "1.86.0" + }, + { + "name": "boost-foreach", + "version>=": "1.86.0" + }, + { + "name": "boost-function", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-integer", + "version>=": "1.86.0" + }, + { + "name": "boost-iterator", + "version>=": "1.86.0" + }, + { + "name": "boost-lexical-cast", + "version>=": "1.86.0" + }, + { + "name": "boost-math", + "version>=": "1.86.0" + }, + { + "name": "boost-move", + "version>=": "1.86.0" + }, + { + "name": "boost-mpl", + "version>=": "1.86.0" + }, + { + "name": "boost-multi-index", + "version>=": "1.86.0" + }, + { + "name": "boost-optional", + "version>=": "1.86.0" + }, + { + "name": "boost-parameter", + "version>=": "1.86.0" + }, + { + "name": "boost-preprocessor", + "version>=": "1.86.0" + }, + { + "name": "boost-property-map", + "version>=": "1.86.0" + }, + { + "name": "boost-property-tree", + "version>=": "1.86.0" + }, + { + "name": "boost-random", + "version>=": "1.86.0" + }, + { + "name": "boost-range", + "version>=": "1.86.0" + }, + { + "name": "boost-regex", + "version>=": "1.86.0" + }, + { + "name": "boost-serialization", + "version>=": "1.86.0" + }, + { + "name": "boost-smart-ptr", + "version>=": "1.86.0" + }, + { + "name": "boost-spirit", + "version>=": "1.86.0" + }, + { + "name": "boost-static-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-throw-exception", + "version>=": "1.86.0" + }, + { + "name": "boost-tti", + "version>=": "1.86.0" + }, + { + "name": "boost-tuple", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + }, + { + "name": "boost-typeof", + "version>=": "1.86.0" + }, + { + "name": "boost-unordered", + "version>=": "1.86.0" + }, + { + "name": "boost-utility", + "version>=": "1.86.0" + }, + { + "name": "boost-xpressive", + "version>=": "1.86.0" } ] } diff --git a/ports/boost-hana/portfile.cmake b/ports/boost-hana/portfile.cmake index e4e5e22f89acd6..a52b40f42e9e0a 100644 --- a/ports/boost-hana/portfile.cmake +++ b/ports/boost-hana/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/hana - REF boost-1.77.0 - SHA512 763d772026c9a3ed0e945c92c698f76a8acfb63947bea0520f58040c5461b2c8032fa025fbd93d44b17ea7d83ddd645d84ec1362d7e86b937cbb83e8108536f4 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/hana + REF boost-${VERSION} + SHA512 16b3fbc6a95c980a5dae83d001bc5a4cf115c1379ecc9305eb10f5a737057160341c51354413b35040ff59778803fd173e6b0f0e0053a888734881b991a82109 + HEAD_REF master +) + +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 de7c4aa378e101..d62fd85f0834df 100644 --- a/ports/boost-hana/vcpkg.json +++ b/ports/boost-hana/vcpkg.json @@ -1,14 +1,38 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-hana", - "version": "1.77.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": [ - "boost-config", - "boost-core", - "boost-fusion", - "boost-mpl", - "boost-tuple", - "boost-vcpkg-helpers" + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-core", + "version>=": "1.86.0" + }, + { + "name": "boost-fusion", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-mpl", + "version>=": "1.86.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 33804f98450c66..13d0b05c7d53a8 100644 --- a/ports/boost-heap/portfile.cmake +++ b/ports/boost-heap/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/heap - REF boost-1.77.0 - SHA512 73885784757bbec1ec5ac77fad398498f0f80f7d52b69f82b6d0c93d99cec38ec19765e20157fa6fee7e4fec371ce98962589ee2fc42b280dfe831ba56b0afef - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/heap + REF boost-${VERSION} + SHA512 4585d61775ad0c3f374d5d67d817b471fa5d0f796f396a09a100192898837b318d87507c2b86e3ad9ae6e37de160b1b2ff884f7ade13bfb83300b8371b32fa2e + HEAD_REF master +) + +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 6553f69d26d5fe..766b41907be3a7 100644 --- a/ports/boost-heap/vcpkg.json +++ b/ports/boost-heap/vcpkg.json @@ -1,21 +1,66 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-heap", - "version": "1.77.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": [ - "boost-array", - "boost-assert", - "boost-bind", - "boost-concept-check", - "boost-config", - "boost-core", - "boost-intrusive", - "boost-iterator", - "boost-parameter", - "boost-static-assert", - "boost-throw-exception", - "boost-type-traits", - "boost-vcpkg-helpers" + { + "name": "boost-array", + "version>=": "1.86.0" + }, + { + "name": "boost-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-bind", + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-concept-check", + "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-intrusive", + "version>=": "1.86.0" + }, + { + "name": "boost-iterator", + "version>=": "1.86.0" + }, + { + "name": "boost-parameter", + "version>=": "1.86.0" + }, + { + "name": "boost-static-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-throw-exception", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-histogram/portfile.cmake b/ports/boost-histogram/portfile.cmake index 739a20889ee65e..fc428abaac9d83 100644 --- a/ports/boost-histogram/portfile.cmake +++ b/ports/boost-histogram/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/histogram - REF boost-1.77.0 - SHA512 bb802772651e1e850ffbf385c83685a0f745f4e90a48b18dc80b701c4bd865fe47e167a7a7a2d434d6d07fbde088b2c3344a67a08a1b5a9268b4f68d88256ee7 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/histogram + REF boost-${VERSION} + SHA512 3be9658d1938c62751428c6b76a315b4089832634d6ad1ac7836cd96ba21798fcf9c3810e04dbd04e71c585b1fd8e097d10fac99aa936fd3f552b7339c6e6a36 + HEAD_REF master +) + +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 1bdde815c66753..f5d75666d9ce70 100644 --- a/ports/boost-histogram/vcpkg.json +++ b/ports/boost-histogram/vcpkg.json @@ -1,15 +1,46 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-histogram", - "version": "1.77.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": [ - "boost-config", - "boost-core", - "boost-mp11", - "boost-serialization", - "boost-throw-exception", - "boost-variant2", - "boost-vcpkg-helpers" + { + "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-math", + "version>=": "1.86.0" + }, + { + "name": "boost-mp11", + "version>=": "1.86.0" + }, + { + "name": "boost-serialization", + "version>=": "1.86.0" + }, + { + "name": "boost-throw-exception", + "version>=": "1.86.0" + }, + { + "name": "boost-variant2", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-hof/portfile.cmake b/ports/boost-hof/portfile.cmake index 588a84b02697f1..43499d3fd2ea09 100644 --- a/ports/boost-hof/portfile.cmake +++ b/ports/boost-hof/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/hof - REF boost-1.77.0 - SHA512 8cbcc9ff6bf092c5ac90a44304a7e5eb2e969ad5d14d6913549941e941fe8bf1d2cabadfd6b4808fa494306eb53e9d1a5e6a9c7efa28db15b9844e87713e3cd6 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/hof + REF boost-${VERSION} + SHA512 b7babd4d1aad5f1a1fae4186248c07e9ec2d790c03abdaf847645d41b02517b3ca8e14ffb40f4973d8486b2c2ab0bd4b94e0d27c272b2d2b3aee1c81da003665 + HEAD_REF master +) + +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 065612d9399dbf..0a757b20232750 100644 --- a/ports/boost-hof/vcpkg.json +++ b/ports/boost-hof/vcpkg.json @@ -1,9 +1,22 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-hof", - "version": "1.77.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": [ - "boost-vcpkg-helpers" + { + "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 a50473f909c8f8..e59e81e2b66b99 100644 --- a/ports/boost-icl/portfile.cmake +++ b/ports/boost-icl/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/icl - REF boost-1.77.0 - SHA512 680119595e9743b70a0444ee65cace053269d6c04133c1a59e82cf2e41f7e73b4aab160a232902cbbc5c2d5f7f6633c1f00e1564c8c62b95beafd247ff482399 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/icl + REF boost-${VERSION} + SHA512 fd1346495ce408fed874e68baf24641552553f5754fa59e29d2b36b10ef5cae8cd655af13fe378620c1dff45afc5412ff63bf2bfbca33aad62631406eab181bf + HEAD_REF master +) + +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 8d4cdc50cad90f..2a1f578dc9c8ac 100644 --- a/ports/boost-icl/vcpkg.json +++ b/ports/boost-icl/vcpkg.json @@ -1,24 +1,78 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-icl", - "version": "1.77.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": [ - "boost-assert", - "boost-concept-check", - "boost-config", - "boost-container", - "boost-core", - "boost-date-time", - "boost-detail", - "boost-iterator", - "boost-move", - "boost-mpl", - "boost-range", - "boost-rational", - "boost-static-assert", - "boost-type-traits", - "boost-utility", - "boost-vcpkg-helpers" + { + "name": "boost-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-concept-check", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-container", + "version>=": "1.86.0" + }, + { + "name": "boost-core", + "version>=": "1.86.0" + }, + { + "name": "boost-date-time", + "version>=": "1.86.0" + }, + { + "name": "boost-detail", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-iterator", + "version>=": "1.86.0" + }, + { + "name": "boost-move", + "version>=": "1.86.0" + }, + { + "name": "boost-mpl", + "version>=": "1.86.0" + }, + { + "name": "boost-range", + "version>=": "1.86.0" + }, + { + "name": "boost-rational", + "version>=": "1.86.0" + }, + { + "name": "boost-static-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + }, + { + "name": "boost-utility", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-integer/portfile.cmake b/ports/boost-integer/portfile.cmake index e5d3e499e7dbb5..8ecad21499c8a8 100644 --- a/ports/boost-integer/portfile.cmake +++ b/ports/boost-integer/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/integer - REF boost-1.77.0 - SHA512 31a254a1ae2ea201b6e202c5f4c47291915a6fe76c947bb1fb254dd065b47beaf97ef54cec6bb29058c671b63d240a3db268e03bb90b133d375eb0606421106e - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/integer + REF boost-${VERSION} + SHA512 9bef2fc320f72c20b0eadef9b2693dc3288e7903650b11496b6cdba55b8a9e7e21cbdf47985b8611612f3a1aeb8354ca7cfdda8cedbf0d0ed7f5e5708628cdeb + HEAD_REF master +) + +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 d1b382d1987db7..c816846ea623f7 100644 --- a/ports/boost-integer/vcpkg.json +++ b/ports/boost-integer/vcpkg.json @@ -1,14 +1,42 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-integer", - "version": "1.77.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": [ - "boost-assert", - "boost-config", - "boost-core", - "boost-static-assert", - "boost-throw-exception", - "boost-vcpkg-helpers" + { + "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-static-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-throw-exception", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-interprocess/portfile.cmake b/ports/boost-interprocess/portfile.cmake index 431b05bd177b19..24dbe6b6c932da 100644 --- a/ports/boost-interprocess/portfile.cmake +++ b/ports/boost-interprocess/portfile.cmake @@ -1,12 +1,17 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/interprocess - REF boost-1.77.0 - SHA512 59ccd15b58a8ba343ca4c009a3c6a59a06248d7f9829dbb355320d7184b6476dcbf98d68853fe9d2522e7d8500e39ce36073fde1f17cbab01003abb8e5d2d425 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/interprocess + REF boost-${VERSION} + SHA512 f619d1e29e2ce2808d2edb6e022a877bcbf762ea1eb7bd2518dce2cd047be7402272f5e5bb7fc5120a7318f4643ab7107d908b4b7c15c4e3e0ee7231ed1fc7ee + HEAD_REF master + PATCHES + unused-link-libs.diff +) + +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 58f1ffb35e0a90..13a8ecfb2dcaed 100644 --- a/ports/boost-interprocess/vcpkg.json +++ b/ports/boost-interprocess/vcpkg.json @@ -1,20 +1,54 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-interprocess", - "version": "1.77.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": [ - "boost-assert", - "boost-config", - "boost-container", - "boost-core", - "boost-integer", - "boost-intrusive", - "boost-move", - "boost-static-assert", - "boost-type-traits", - "boost-unordered", - "boost-vcpkg-helpers", - "boost-winapi" + { + "name": "boost-assert", + "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-core", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-intrusive", + "version>=": "1.86.0" + }, + { + "name": "boost-move", + "version>=": "1.86.0" + }, + { + "name": "boost-static-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + }, + { + "name": "boost-winapi", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-interval/portfile.cmake b/ports/boost-interval/portfile.cmake index a73a59b11fc6ca..fc1513f6283280 100644 --- a/ports/boost-interval/portfile.cmake +++ b/ports/boost-interval/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/interval - REF boost-1.77.0 - SHA512 c1a4780e77063da68c5d08604afd06ed4a17a2149217622037e23d5753a0324073f58e2ab899fffcb2edc8c19e5bf87bae330116407849f9ac90a2c71aeb1b1d - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/interval + REF boost-${VERSION} + SHA512 918a84b539a0efa21d30c047f2ebcecdb794019cd048a56e44ca7fbc893eaedf1835eefb0c4bc7185b10207a576741ab452074e351432965542bc28f8ec33772 + HEAD_REF master +) + +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 5612c624c1f0a5..d8954b41ceaf86 100644 --- a/ports/boost-interval/vcpkg.json +++ b/ports/boost-interval/vcpkg.json @@ -1,12 +1,30 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-interval", - "version": "1.77.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": [ - "boost-config", - "boost-detail", - "boost-logic", - "boost-vcpkg-helpers" + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-detail", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-logic", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-intrusive/portfile.cmake b/ports/boost-intrusive/portfile.cmake index 26d2cfaf58f23b..95c19dad2aaf08 100644 --- a/ports/boost-intrusive/portfile.cmake +++ b/ports/boost-intrusive/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/intrusive - REF boost-1.77.0 - SHA512 9fed1756ca0c4abe1c64bd9794cc5f8548f71fef761d0cef25f6d10ee65d84cdc34216e20e4e29e34d7664a6addac7cbbc4f2f43d5faaa0c0660fad20a594ad3 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/intrusive + REF boost-${VERSION} + SHA512 bce80432295b596b0bdb3682353623fb6fd2fa5ff4f732ccf8c3806b8392e386e4d101de91901abc9c3028ab8d329266e0b07f23ed41f02239025d182b5bd74d + HEAD_REF master +) + +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 f79993cf332939..4a08572ae1bd67 100644 --- a/ports/boost-intrusive/vcpkg.json +++ b/ports/boost-intrusive/vcpkg.json @@ -1,15 +1,30 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-intrusive", - "version": "1.77.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": [ - "boost-assert", - "boost-config", - "boost-container-hash", - "boost-core", - "boost-move", - "boost-static-assert", - "boost-vcpkg-helpers" + { + "name": "boost-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-move", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-io/portfile.cmake b/ports/boost-io/portfile.cmake index 1a3fa780b00f7d..9b92d616be6d26 100644 --- a/ports/boost-io/portfile.cmake +++ b/ports/boost-io/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/io - REF boost-1.77.0 - SHA512 2806d3a5a66c0ea6b4a70fd19608e666eaa7569600a9cceee75313fa4945f652eac3522c67bc01a09f2ba5832b7f6e799e7f010d117a2112826c23a6753182e4 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/io + REF boost-${VERSION} + SHA512 060e3c5b6e2e1bfc804ef2722f1380683a92466b4f8b41a39d66d1be2f1951973936f60210bec94dcabfb88442170e6467d36c9db8936875ff81d6006fb7601d + HEAD_REF master +) + +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 08082c3cab3c3a..eb1b6b9b61e899 100644 --- a/ports/boost-io/vcpkg.json +++ b/ports/boost-io/vcpkg.json @@ -1,10 +1,22 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-io", - "version": "1.77.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": [ - "boost-config", - "boost-vcpkg-helpers" + { + "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-iostreams/b2-options.cmake b/ports/boost-iostreams/b2-options.cmake deleted file mode 100644 index 1271c81305a7aa..00000000000000 --- a/ports/boost-iostreams/b2-options.cmake +++ /dev/null @@ -1,86 +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" - ) - # Overwride debug library name - if(CMAKE_BUILD_TYPE STREQUAL "Debug") - list(APPEND B2_OPTIONS - -sLZMA_NAME=lzmad - ) - endif() - 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 debug library name - if(CMAKE_BUILD_TYPE STREQUAL "Debug") - if(WIN32) - set(ZLIB_NAME zlibd) - else() - set(ZLIB_NAME z) - 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" - ) - # Overwride debug library name - if(CMAKE_BUILD_TYPE STREQUAL "Debug") - list(APPEND B2_OPTIONS - -sZSTD_NAME=zstdd - ) - endif() - 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 827c7595b3f7f2..a1766540ac35e3 100644 --- a/ports/boost-iostreams/portfile.cmake +++ b/ports/boost-iostreams/portfile.cmake @@ -1,21 +1,19 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/iostreams - REF boost-1.77.0 - SHA512 0b656124e468c50623d4336a9bb357ca211d6d3989e0dc63a9036a2d13bfc352992a8673b7f13debf387b434cdf604c8fbb13ccf5b0b3fd8415b0f839aa4d7cf - HEAD_REF master - PATCHES Removeseekpos.patch -) - -if(NOT DEFINED CURRENT_HOST_INSTALLED_DIR) - message(FATAL_ERROR "boost-iostreams requires a newer version of vcpkg in order to build.") -endif() -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}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/iostreams + REF boost-${VERSION} + SHA512 4ceafacc4eb5797f3add43e45b7ea6232724abe553b1069d050bfdbcf82a236e9a4e662f88f8a11d6bc760b55fb43b898692bed006455f7753baf2c9a74baf6c + HEAD_REF master + PATCHES + Removeseekpos.patch + fix-zstd.diff +) + +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-iostreams/vcpkg.json b/ports/boost-iostreams/vcpkg.json index 4d694c8178d40d..53a1700e0f35ab 100644 --- a/ports/boost-iostreams/vcpkg.json +++ b/ports/boost-iostreams/vcpkg.json @@ -1,41 +1,92 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-iostreams", - "version": "1.77.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": [ - "boost-assert", - { - "name": "boost-build", - "host": true - }, - "boost-config", - "boost-core", - "boost-detail", - "boost-function", - "boost-integer", - "boost-iterator", - { - "name": "boost-modular-build-helper", - "host": true - }, - "boost-mpl", - "boost-numeric-conversion", - "boost-preprocessor", - "boost-random", - "boost-range", - "boost-regex", - "boost-smart-ptr", - "boost-static-assert", - "boost-throw-exception", - "boost-type-traits", - "boost-utility", - "boost-vcpkg-helpers", - { - "name": "vcpkg-cmake", - "host": true + { + "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-detail", + "version>=": "1.86.0" + }, + { + "name": "boost-function", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-integer", + "version>=": "1.86.0" + }, + { + "name": "boost-iterator", + "version>=": "1.86.0" + }, + { + "name": "boost-mpl", + "version>=": "1.86.0" + }, + { + "name": "boost-numeric-conversion", + "version>=": "1.86.0" + }, + { + "name": "boost-preprocessor", + "version>=": "1.86.0" + }, + { + "name": "boost-random", + "platform": "!uwp", + "version>=": "1.86.0" + }, + { + "name": "boost-range", + "version>=": "1.86.0" + }, + { + "name": "boost-regex", + "version>=": "1.86.0" + }, + { + "name": "boost-smart-ptr", + "version>=": "1.86.0" + }, + { + "name": "boost-static-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-throw-exception", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + }, + { + "name": "boost-utility", + "version>=": "1.86.0" } ], "default-features": [ diff --git a/ports/boost-iterator/portfile.cmake b/ports/boost-iterator/portfile.cmake index 0743a5bbcd9e1c..e7640716b58012 100644 --- a/ports/boost-iterator/portfile.cmake +++ b/ports/boost-iterator/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/iterator - REF boost-1.77.0 - SHA512 9d374cd58bf3494197235521a16ea63609ebb368a041a039adf833b28050a49614466d667f64f5bf825d32a8aad83ee9859ec5bde188b49ea7e3ee84d2fc6aaf - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/iterator + REF boost-${VERSION} + SHA512 1e6adfd1cc1236ccbdb91ec94f041720b5acd867a475f7091e3007adbacdd44c0a154d2044bfa319f4d0f945a268d16dac37d26e3dc478ee576cec3ce1ce868b + HEAD_REF master +) + +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 f581c57d707771..7db270cb9c5928 100644 --- a/ports/boost-iterator/vcpkg.json +++ b/ports/boost-iterator/vcpkg.json @@ -1,23 +1,70 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-iterator", - "version": "1.77.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": [ - "boost-assert", - "boost-concept-check", - "boost-config", - "boost-conversion", - "boost-core", - "boost-detail", - "boost-function-types", - "boost-fusion", - "boost-mpl", - "boost-optional", - "boost-smart-ptr", - "boost-static-assert", - "boost-type-traits", - "boost-utility", - "boost-vcpkg-helpers" + { + "name": "boost-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-concept-check", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-core", + "version>=": "1.86.0" + }, + { + "name": "boost-detail", + "version>=": "1.86.0" + }, + { + "name": "boost-function-types", + "version>=": "1.86.0" + }, + { + "name": "boost-fusion", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-mpl", + "version>=": "1.86.0" + }, + { + "name": "boost-optional", + "version>=": "1.86.0" + }, + { + "name": "boost-smart-ptr", + "version>=": "1.86.0" + }, + { + "name": "boost-static-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + }, + { + "name": "boost-utility", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-json/001-remove-checks.patch b/ports/boost-json/001-remove-checks.patch deleted file mode 100644 index cea25c9755bff7..00000000000000 --- a/ports/boost-json/001-remove-checks.patch +++ /dev/null @@ -1,30 +0,0 @@ - Jamfile | 2 +- - build/Jamfile | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/Jamfile b/Jamfile -index b999474..33bc8c9 100644 ---- a/Jamfile -+++ b/Jamfile -@@ -7,7 +7,7 @@ - # Official repository: https://github.com/boostorg/json - # - --import ../config/checks/config : requires ; -+rule requires ( checks * ) { } - - # These make sure we only build on - # compatible C++11 or later toolchains. -diff --git a/build/Jamfile b/build/Jamfile -index 8425ad3..86d1208 100644 ---- a/build/Jamfile -+++ b/build/Jamfile -@@ -7,7 +7,7 @@ - # Official repository: https://github.com/boostorg/json - # - --import ../../config/checks/config : requires ; -+rule requires ( checks * ) { } - - project boost/json - : requirements 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 b9c44818818691..488cfaaef8a87a 100644 --- a/ports/boost-json/portfile.cmake +++ b/ports/boost-json/portfile.cmake @@ -1,21 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/json - REF boost-1.77.0 - SHA512 538d749ae612b3c2e1681978d1aa9c87aed89a48ef7ce3f7cbd3caf72c4f2e2a232b86b7b089d5ddf63acf71e1a82146de370dfa8c8b881cd07db09885f421ce - HEAD_REF master - PATCHES 001-remove-checks.patch -) - -if(NOT DEFINED CURRENT_HOST_INSTALLED_DIR) - message(FATAL_ERROR "boost-json requires a newer version of vcpkg in order to build.") -endif() -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}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/json + REF boost-${VERSION} + SHA512 44788307fe747b417c42ded277fae4f0ae6d599d02971c65a55c020609435248a2013a8b42c8fcb25f7b39a73b5155d414cfbc729bcb157fed566962eff3b817 + HEAD_REF master +) + +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-json/vcpkg.json b/ports/boost-json/vcpkg.json index c3d3dfc6077c5f..dfacd6bd05cdbd 100644 --- a/ports/boost-json/vcpkg.json +++ b/ports/boost-json/vcpkg.json @@ -1,30 +1,66 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-json", - "version": "1.77.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": [ - "boost-align", - "boost-assert", { - "name": "boost-build", - "host": true + "name": "boost-align", + "version>=": "1.86.0" }, - "boost-config", - "boost-container", - "boost-exception", { - "name": "boost-modular-build-helper", - "host": true + "name": "boost-assert", + "version>=": "1.86.0" }, - "boost-mp11", - "boost-system", - "boost-throw-exception", - "boost-utility", - "boost-vcpkg-helpers", { - "name": "vcpkg-cmake", - "host": true + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-container", + "version>=": "1.86.0" + }, + { + "name": "boost-container-hash", + "version>=": "1.86.0" + }, + { + "name": "boost-core", + "version>=": "1.86.0" + }, + { + "name": "boost-describe", + "version>=": "1.86.0" + }, + { + "name": "boost-endian", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-mp11", + "version>=": "1.86.0" + }, + { + "name": "boost-static-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-system", + "version>=": "1.86.0" + }, + { + "name": "boost-throw-exception", + "version>=": "1.86.0" } ] } diff --git a/ports/boost-lambda/portfile.cmake b/ports/boost-lambda/portfile.cmake index f71d998d56c8d2..73b2e0889c362a 100644 --- a/ports/boost-lambda/portfile.cmake +++ b/ports/boost-lambda/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/lambda - REF boost-1.77.0 - SHA512 bf8514928f42618eb056fc61370606ac38c1914822c308a288342459b29a8c202f2ca6efe3c9317b371a5ca435da2c0b79f6f8de2df7a8a95033b9eb22331102 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/lambda + REF boost-${VERSION} + SHA512 35886bfdf1391f868fdc148905547a8b8090ca7c21913a565d698232715b93835a0908a2db73550bb69aeebfe38bc07b14f6b34bdf8e9de00f2cc5095912bf9e + HEAD_REF master +) + +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 f7a79b818f0a30..a51fea2db39f53 100644 --- a/ports/boost-lambda/vcpkg.json +++ b/ports/boost-lambda/vcpkg.json @@ -1,19 +1,58 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-lambda", - "version": "1.77.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": [ - "boost-bind", - "boost-config", - "boost-core", - "boost-detail", - "boost-iterator", - "boost-mpl", - "boost-preprocessor", - "boost-tuple", - "boost-type-traits", - "boost-utility", - "boost-vcpkg-helpers" + { + "name": "boost-bind", + "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-detail", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-iterator", + "version>=": "1.86.0" + }, + { + "name": "boost-mpl", + "version>=": "1.86.0" + }, + { + "name": "boost-preprocessor", + "version>=": "1.86.0" + }, + { + "name": "boost-tuple", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + }, + { + "name": "boost-utility", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-lambda2/portfile.cmake b/ports/boost-lambda2/portfile.cmake index a0c3f402375ab2..47136f6e53b1cd 100644 --- a/ports/boost-lambda2/portfile.cmake +++ b/ports/boost-lambda2/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/lambda2 - REF boost-1.77.0 - SHA512 2402ba5967082199d5c07f7bd03be9072b76173414a69029157e24bb3f65628febda7b609a128920e3b0f4bbc4265d6e692b24c985d39869b26f32168884df96 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/lambda2 + REF boost-${VERSION} + SHA512 5af711d0011f9deed59e23ab548d6ed15ef9eaa86616ea62756e833013e7b6564e129f009a93de5d8940e322f863297ba3c59aa77d680a81189de34fb36671fe + HEAD_REF master +) + +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 56067a693f4930..898c202b19fb39 100644 --- a/ports/boost-lambda2/vcpkg.json +++ b/ports/boost-lambda2/vcpkg.json @@ -1,9 +1,22 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-lambda2", - "version": "1.77.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": [ - "boost-vcpkg-helpers" + { + "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 27a688c0ab4d6f..a0e9366ea33e5d 100644 --- a/ports/boost-leaf/portfile.cmake +++ b/ports/boost-leaf/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/leaf - REF boost-1.77.0 - SHA512 46035f095b76cdc9fee7f608fe2d05d0ad7bd59eb7b87e675c371ce43d842176c797c19a388e010f9bd8bf418789953e6e659af7940c1b1de1c3f2ff717fff18 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/leaf + REF boost-${VERSION} + SHA512 8adcfc3447ed54b7696217060cf41a9da12a1ba11c1214cc28f39a6f4b54c1b479b2163c66ca7b21ae7b77070baf15faa2184bc02a8855f75739e6091c5eb22c + HEAD_REF master +) + +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 2831156c4a476a..1e69c917a43b20 100644 --- a/ports/boost-leaf/vcpkg.json +++ b/ports/boost-leaf/vcpkg.json @@ -1,9 +1,22 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-leaf", - "version": "1.77.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": [ - "boost-vcpkg-helpers" + { + "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 253eb1e5742649..426b8843a8de82 100644 --- a/ports/boost-lexical-cast/portfile.cmake +++ b/ports/boost-lexical-cast/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/lexical_cast - REF boost-1.77.0 - SHA512 1c9cfee10bb61f52f653f4adf68d7342fe952c24a180aa49a5cc83689567be3a0f68c05e96ade23025163262e1ba96b545ed4e182d9411deb2251b54bcfb7fab - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/lexical_cast + REF boost-${VERSION} + SHA512 f4ce81d6f1acc31b131bb60d2918147f3cdbb9ab38a1abf8d463fc437d5eea6cd8dcc676b09b28c3174c2ffeb7cabb2439cbc546bbea86f8ea01c2dee596f39d + HEAD_REF master +) + +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 b2e3aa390e3cb6..90b1a55566911a 100644 --- a/ports/boost-lexical-cast/vcpkg.json +++ b/ports/boost-lexical-cast/vcpkg.json @@ -1,20 +1,42 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-lexical-cast", - "version": "1.77.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": [ - "boost-array", - "boost-assert", - "boost-config", - "boost-container", - "boost-core", - "boost-integer", - "boost-numeric-conversion", - "boost-range", - "boost-static-assert", - "boost-throw-exception", - "boost-type-traits", - "boost-vcpkg-helpers" + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-container", + "version>=": "1.86.0" + }, + { + "name": "boost-core", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-integer", + "version>=": "1.86.0" + }, + { + "name": "boost-throw-exception", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-local-function/portfile.cmake b/ports/boost-local-function/portfile.cmake index db61899eed3e71..1d21941cf9616e 100644 --- a/ports/boost-local-function/portfile.cmake +++ b/ports/boost-local-function/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/local_function - REF boost-1.77.0 - SHA512 0e827aa35b9281abb2efc804c0eef554076fb39c29ce006b534a9e1f4bb6573e703a5f848fdb1ea5e3257ea9281bf1533239fce4e0275390e81740a4d2eed9e6 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/local_function + REF boost-${VERSION} + SHA512 68dec23a37e8594883aca078d0f1bda607234491f91ac234077317ff161386465e49c3d3c9dec3a29b8d18296ed46c456270cabf12d945556c53020f238492b7 + HEAD_REF master +) + +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 89c6386d471e3a..4dfd7148ea77cb 100644 --- a/ports/boost-local-function/vcpkg.json +++ b/ports/boost-local-function/vcpkg.json @@ -1,16 +1,46 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-local-function", - "version": "1.77.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": [ - "boost-config", - "boost-mpl", - "boost-preprocessor", - "boost-scope-exit", - "boost-type-traits", - "boost-typeof", - "boost-utility", - "boost-vcpkg-helpers" + { + "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.86.0" + }, + { + "name": "boost-preprocessor", + "version>=": "1.86.0" + }, + { + "name": "boost-scope-exit", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + }, + { + "name": "boost-typeof", + "version>=": "1.86.0" + }, + { + "name": "boost-utility", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-locale/0001-Fix-boost-ICU-support.patch b/ports/boost-locale/0001-Fix-boost-ICU-support.patch deleted file mode 100644 index cd02f742e93bfc..00000000000000 --- a/ports/boost-locale/0001-Fix-boost-ICU-support.patch +++ /dev/null @@ -1,100 +0,0 @@ ---- - libs/locale/build/Jamfile.v2 | 63 ++++++-------------------------------- - libs/locale/build/has_icu_test.cpp | 4 --- - libs/regex/build/Jamfile.v2 | 47 +++++++--------------------- - 3 files changed, 20 insertions(+), 94 deletions(-) - -diff --git a/libs/locale/build/Jamfile.v2 b/libs/locale/build/Jamfile.v2 -index 578e722..5f25917 100644 ---- a/build/Jamfile.v2 -+++ b/build/Jamfile.v2 -@@ -70,62 +70,17 @@ if $(ICU_LINK) - } - else - { -- searched-lib icuuc : : icuuc -- $(ICU_PATH)/lib -- shared -- shared ; -- -- searched-lib icuuc : : msvc -- debug -- icuucd -- $(ICU_PATH)/lib -- shared -- shared ; -- -- searched-lib icuuc : : this_is_an_invalid_library_name ; -- -- searched-lib icudt : : $(ICU_PATH)/lib -- icudata -- shared -- shared ; -- -- searched-lib icudt : : $(ICU_PATH)/lib -- icudt -- msvc -- shared -- shared ; -- -- searched-lib icudt : : this_is_an_invalid_library_name ; -- -- searched-lib icuin : : $(ICU_PATH)/lib -- icui18n -- shared -- shared ; -- -- searched-lib icuin : : msvc -- debug -- icuind -- $(ICU_PATH)/lib -- shared -- shared ; -- -- searched-lib icuin : : msvc -- release -- icuin -- $(ICU_PATH)/lib -- shared -- shared ; -- -- searched-lib icuin : : this_is_an_invalid_library_name ; -- -- explicit icuuc icudt icuin ; -+ alias icuuc : /user-config//icuuc ; -+ alias icuin : /user-config//icuin ; -+ alias icudt : /user-config//icudt ; -+ -+ explicit icuuc icuin icudt ; - - ICU_OPTS = $(ICU_PATH)/include -- icuuc/shared/shared -- icudt/shared/shared -- icuin/shared/shared -- $(ICU_PATH)/bin -- shared ; -+ icuuc -+ icuin -+ icudt -+ $(ICU_PATH)/bin ; - - - -diff --git a/libs/locale/build/has_icu_test.cpp b/libs/locale/build/has_icu_test.cpp -index 9419b30..ed9be05 100644 ---- a/build/has_icu_test.cpp -+++ b/build/has_icu_test.cpp -@@ -15,10 +15,6 @@ - #include - #include - --#if defined(_MSC_VER) && !defined(_DLL) --#error "Mixing ICU with a static runtime doesn't work" --#endif -- - int main() - { - icu::Locale loc; --- -2.12.2.windows.2 - diff --git a/ports/boost-locale/allow-force-finding-iconv.patch b/ports/boost-locale/allow-force-finding-iconv.patch deleted file mode 100644 index 134cb81a13ea8c..00000000000000 --- a/ports/boost-locale/allow-force-finding-iconv.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff --git a/libs/locale/build/Jamfile.v2 b/libs/locale/build/Jamfile.v2 -index 88a8cb1..e6a6b7f 100644 ---- a/build/Jamfile.v2 -+++ b/build/Jamfile.v2 -@@ -17,6 +17,7 @@ import feature ; - # 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 ; -@@ -164,6 +164,11 @@ local flags-result ; - - local found-iconv ; - -+ if on in $(properties) -+ { -+ found-iconv = true ; -+ } -+ - if on in $(properties) - || ! in $(properties:G) - && ! solaris in $(properties) 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/portfile.cmake b/ports/boost-locale/portfile.cmake index 2ea0a35325125e..276109217eba54 100644 --- a/ports/boost-locale/portfile.cmake +++ b/ports/boost-locale/portfile.cmake @@ -1,28 +1,16 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/locale - REF boost-1.77.0 - SHA512 363bf4bc970fb044fc1739405ced27fee00fb2d5925263069f29821204c505ba4e4dac344a27232c8d7e96cd09d90342623ba5d93112277f21cf08ef5bbfd0ff - HEAD_REF master - PATCHES - 0001-Fix-boost-ICU-support.patch - allow-force-finding-iconv.patch -) - -if(NOT DEFINED CURRENT_HOST_INSTALLED_DIR) - message(FATAL_ERROR "boost-locale requires a newer version of vcpkg in order to build.") -endif() -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}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/locale + REF boost-${VERSION} + SHA512 e66d2f11a29637a13dfb90fd67fb69374a869553e665452fbcb7b0909535526c57e66dd69c766cd2ade2ba74d790b07a80012937f86c0c7752e683b08d7ccd4d + HEAD_REF master +) + +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-locale/vcpkg.json b/ports/boost-locale/vcpkg.json index 6953dc449e6392..e5ccbe7f649b02 100644 --- a/ports/boost-locale/vcpkg.json +++ b/ports/boost-locale/vcpkg.json @@ -1,35 +1,51 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-locale", - "version": "1.77.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": [ - "boost-assert", { - "name": "boost-build", - "host": true + "name": "boost-assert", + "version>=": "1.86.0" }, - "boost-config", - "boost-function", - "boost-iterator", { - "name": "boost-modular-build-helper", - "host": true + "name": "boost-cmake", + "version>=": "1.86.0" }, - "boost-smart-ptr", - "boost-static-assert", - "boost-thread", - "boost-type-traits", - "boost-unordered", - "boost-vcpkg-helpers", { - "name": "libiconv", - "platform": "!uwp & !windows & !mingw" + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-core", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-iterator", + "version>=": "1.86.0" }, { - "name": "vcpkg-cmake", - "host": true + "name": "boost-predef", + "version>=": "1.86.0" + }, + { + "name": "boost-thread", + "version>=": "1.86.0" + }, + { + "name": "boost-utility", + "version>=": "1.86.0" + }, + { + "name": "libiconv", + "platform": "!uwp & !windows & !mingw" } ], "features": { diff --git a/ports/boost-lockfree/portfile.cmake b/ports/boost-lockfree/portfile.cmake index 124af670e09d72..9a33b5bf391866 100644 --- a/ports/boost-lockfree/portfile.cmake +++ b/ports/boost-lockfree/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/lockfree - REF boost-1.77.0 - SHA512 134e9f9d30b4ac124f2a18e0cf265c7ea7342279876625302bfeec8e25aff716e00ccd229389b0197b59d9ca85787eafb3fdec680a70d791497245dd8ca2cbec - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/lockfree + REF boost-${VERSION} + SHA512 1cfeb02576b8075449fb899ddc46dbb5d953b27abf768fe7d6a72506d1b45d6d93621a83189238f7366c5070ed915680b30c532d1a95b0c24d55bc6f17d09f27 + HEAD_REF master +) + +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 78b28dd4fd0734..e421212cc828f4 100644 --- a/ports/boost-lockfree/vcpkg.json +++ b/ports/boost-lockfree/vcpkg.json @@ -1,24 +1,78 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-lockfree", - "version": "1.77.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": [ - "boost-align", - "boost-array", - "boost-assert", - "boost-atomic", - "boost-config", - "boost-core", - "boost-integer", - "boost-iterator", - "boost-mpl", - "boost-parameter", - "boost-predef", - "boost-static-assert", - "boost-tuple", - "boost-type-traits", - "boost-utility", - "boost-vcpkg-helpers" + { + "name": "boost-align", + "version>=": "1.86.0" + }, + { + "name": "boost-array", + "version>=": "1.86.0" + }, + { + "name": "boost-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-atomic", + "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-integer", + "version>=": "1.86.0" + }, + { + "name": "boost-iterator", + "version>=": "1.86.0" + }, + { + "name": "boost-mpl", + "version>=": "1.86.0" + }, + { + "name": "boost-parameter", + "version>=": "1.86.0" + }, + { + "name": "boost-predef", + "version>=": "1.86.0" + }, + { + "name": "boost-static-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-tuple", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + }, + { + "name": "boost-utility", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-log/portfile.cmake b/ports/boost-log/portfile.cmake index 970942ccfc321d..79faccac61b993 100644 --- a/ports/boost-log/portfile.cmake +++ b/ports/boost-log/portfile.cmake @@ -1,30 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/log - REF boost-1.77.0 - SHA512 17203830dce28e3b5c2c7b78f412ecdcae8b08cfc6dd4ae251bc6c99d9c2c66b0b3b5df3c2620c8ef8f39e48b37fc7477f2a2d86ebcb69bc95eb9cb1a98d01a0 - 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}") -file(COPY "${CURRENT_INSTALLED_DIR}/share/boost-config/checks" DESTINATION "${SOURCE_PATH}/build/config") - -file(READ ${SOURCE_PATH}/build/log-arch-config.jam _contents) -string(REPLACE - "project.load [ path.join [ path.make $(here:D) ] ../../config/checks/architecture ]" - "project.load [ path.join [ path.make $(here:D) ] config/checks/architecture ]" - _contents "${_contents}") -file(WRITE ${SOURCE_PATH}/build/log-arch-config.jam "${_contents}") - -if(NOT DEFINED CURRENT_HOST_INSTALLED_DIR) - message(FATAL_ERROR "boost-log requires a newer version of vcpkg in order to build.") -endif() -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}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/log + REF boost-${VERSION} + SHA512 3772a3cdc39f52e04080e2e416452bd698b2b2a6ba12e51b2a4e70e8cc524b1c71c8f67fa4ebfedd0a6b4a4b62603d62b3242a6d65a93cdd48315e470dd9f1fd + HEAD_REF master +) + +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-log/vcpkg.json b/ports/boost-log/vcpkg.json index 6812f2ed4ec235..3d38daee5ad2fb 100644 --- a/ports/boost-log/vcpkg.json +++ b/ports/boost-log/vcpkg.json @@ -1,70 +1,169 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-log", - "version": "1.77.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": [ - "boost-align", - "boost-array", + { + "name": "boost-align", + "version>=": "1.86.0" + }, { "name": "boost-asio", - "platform": "!emscripten" + "version>=": "1.86.0" + }, + { + "name": "boost-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-atomic", + "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-date-time", + "version>=": "1.86.0" }, - "boost-assert", - "boost-atomic", - "boost-bind", { - "name": "boost-build", - "host": true + "name": "boost-exception", + "version>=": "1.86.0" }, - "boost-config", - "boost-container", - "boost-core", - "boost-date-time", - "boost-exception", { "name": "boost-filesystem", - "platform": "!uwp" - }, - "boost-function-types", - "boost-fusion", - "boost-interprocess", - "boost-intrusive", - "boost-io", - "boost-iterator", - "boost-lexical-cast", - { - "name": "boost-modular-build-helper", - "host": true - }, - "boost-move", - "boost-mpl", - "boost-optional", - "boost-parameter", - "boost-phoenix", - "boost-predef", - "boost-preprocessor", - "boost-property-tree", - "boost-proto", - "boost-random", - "boost-range", - "boost-regex", - "boost-smart-ptr", - "boost-spirit", - "boost-static-assert", - "boost-system", - "boost-thread", - "boost-throw-exception", - "boost-type-index", - "boost-type-traits", - "boost-utility", - "boost-vcpkg-helpers", - "boost-winapi", - "boost-xpressive", - { - "name": "vcpkg-cmake", - "host": true + "platform": "!uwp", + "version>=": "1.86.0" + }, + { + "name": "boost-function-types", + "version>=": "1.86.0" + }, + { + "name": "boost-fusion", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-interprocess", + "version>=": "1.86.0" + }, + { + "name": "boost-intrusive", + "version>=": "1.86.0" + }, + { + "name": "boost-io", + "version>=": "1.86.0" + }, + { + "name": "boost-iterator", + "version>=": "1.86.0" + }, + { + "name": "boost-move", + "version>=": "1.86.0" + }, + { + "name": "boost-mpl", + "version>=": "1.86.0" + }, + { + "name": "boost-optional", + "version>=": "1.86.0" + }, + { + "name": "boost-parameter", + "version>=": "1.86.0" + }, + { + "name": "boost-phoenix", + "version>=": "1.86.0" + }, + { + "name": "boost-predef", + "version>=": "1.86.0" + }, + { + "name": "boost-preprocessor", + "version>=": "1.86.0" + }, + { + "name": "boost-property-tree", + "version>=": "1.86.0" + }, + { + "name": "boost-proto", + "version>=": "1.86.0" + }, + { + "name": "boost-random", + "platform": "!uwp", + "version>=": "1.86.0" + }, + { + "name": "boost-range", + "version>=": "1.86.0" + }, + { + "name": "boost-regex", + "version>=": "1.86.0" + }, + { + "name": "boost-smart-ptr", + "version>=": "1.86.0" + }, + { + "name": "boost-spirit", + "version>=": "1.86.0" + }, + { + "name": "boost-system", + "version>=": "1.86.0" + }, + { + "name": "boost-thread", + "version>=": "1.86.0" + }, + { + "name": "boost-throw-exception", + "version>=": "1.86.0" + }, + { + "name": "boost-type-index", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + }, + { + "name": "boost-utility", + "version>=": "1.86.0" + }, + { + "name": "boost-winapi", + "version>=": "1.86.0" + }, + { + "name": "boost-xpressive", + "version>=": "1.86.0" } ] } diff --git a/ports/boost-logic/portfile.cmake b/ports/boost-logic/portfile.cmake index d44d928c12858c..c37cf9f06997cc 100644 --- a/ports/boost-logic/portfile.cmake +++ b/ports/boost-logic/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/logic - REF boost-1.77.0 - SHA512 e99a3b173e1d72c5e3228ada3061a8f5e09c544d5d9bb125495aecd863494ad007e3b7b4348e7f1940efe003446ea0e97b48b44af0180661d3f73621468c5ef1 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/logic + REF boost-${VERSION} + SHA512 47f41a660d6bcef88a81c1aef0b08a420553460ea8851a830f03da232aed04ce577f50316b0c2c055d0a66a4df4392e7c0281330430ce053169fc9356620a5c2 + HEAD_REF master +) + +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 4c33644bb1a374..333e145d779a45 100644 --- a/ports/boost-logic/vcpkg.json +++ b/ports/boost-logic/vcpkg.json @@ -1,11 +1,26 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-logic", - "version": "1.77.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": [ - "boost-config", - "boost-core", - "boost-vcpkg-helpers" + { + "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-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 3719fdda5f9e20..332b5a62c4fc74 100644 --- a/ports/boost-math/portfile.cmake +++ b/ports/boost-math/portfile.cmake @@ -1,21 +1,19 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/math - REF boost-1.77.0 - SHA512 8a35fff7ecb12bc8caf8951859555016caa21601d5aa21284aae83df19cde054bfe9ead4cb92341558b23794f2b7bfd37979acb9fc6b2f5546f50505adffd8d3 - HEAD_REF master - PATCHES 001-remove-checks.patch -) - -if(NOT DEFINED CURRENT_HOST_INSTALLED_DIR) - message(FATAL_ERROR "boost-math requires a newer version of vcpkg in order to build.") -endif() -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}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/math + REF boost-${VERSION} + SHA512 1cafc98a4bbfce1868f8eb92bc039473065dfc49a2b4909a045758e5ba65f4c1df7ffe4a4f82fb1d0d5fbf548dfce240fbc31e8b5fd1ec2d1d9809b8992bfc14 + HEAD_REF master + PATCHES + build-old-libs.patch + opt-random.diff +) + +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-math/vcpkg.json b/ports/boost-math/vcpkg.json index de22af32b91bee..15aec7a0ba4a7c 100644 --- a/ports/boost-math/vcpkg.json +++ b/ports/boost-math/vcpkg.json @@ -1,31 +1,64 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-math", - "version": "1.77.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": [ - "boost-assert", { - "name": "boost-build", - "host": true + "name": "boost-assert", + "version>=": "1.86.0" }, - "boost-concept-check", - "boost-config", - "boost-core", - "boost-integer", - "boost-lexical-cast", { - "name": "boost-modular-build-helper", - "host": true + "name": "boost-cmake", + "version>=": "1.86.0" }, - "boost-predef", - "boost-random", - "boost-static-assert", - "boost-throw-exception", - "boost-vcpkg-helpers", { - "name": "vcpkg-cmake", - "host": true + "name": "boost-concept-check", + "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-integer", + "version>=": "1.86.0" + }, + { + "name": "boost-lexical-cast", + "version>=": "1.86.0" + }, + { + "name": "boost-predef", + "version>=": "1.86.0" + }, + { + "name": "boost-random", + "platform": "!uwp", + "version>=": "1.86.0" + }, + { + "name": "boost-static-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-throw-exception", + "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 9240356058ba62..d3173d695db3df 100644 --- a/ports/boost-metaparse/portfile.cmake +++ b/ports/boost-metaparse/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/metaparse - REF boost-1.77.0 - SHA512 b46ebf646a8e00c42c817191c02353d0d1a7635b367066a1ebe56e095278ac1d17c147ce46ca6aa3ec9021960530867b8f0bd097201798ba83cf2108db0e7407 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/metaparse + REF boost-${VERSION} + SHA512 9e43a66f8e47ff850af444a20ae7bb9cb88bd5dd14e9a75c653a1635d4c3a962909c4278f7943032d58bd540fdb86792ade73f99055548a54f2efdf2fce338bd + HEAD_REF master +) + +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 157d5a1b4fb4b3..6b66a957d7d67d 100644 --- a/ports/boost-metaparse/vcpkg.json +++ b/ports/boost-metaparse/vcpkg.json @@ -1,15 +1,42 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-metaparse", - "version": "1.77.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": [ - "boost-config", - "boost-mpl", - "boost-predef", - "boost-preprocessor", - "boost-static-assert", - "boost-type-traits", - "boost-vcpkg-helpers" + { + "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.86.0" + }, + { + "name": "boost-predef", + "version>=": "1.86.0" + }, + { + "name": "boost-preprocessor", + "version>=": "1.86.0" + }, + { + "name": "boost-static-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "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 efddc5c9149d1a..00000000000000 --- a/ports/boost-modular-build-helper/CMakeLists.txt +++ /dev/null @@ -1,287 +0,0 @@ -cmake_minimum_required(VERSION 3.9) -project(boost CXX) - -# 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(B2_OPTIONS) - -#### 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() - -# 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(CMAKE_SIZEOF_VOID_P EQUAL 8) - list(APPEND B2_OPTIONS address-model=64) -else() - list(APPEND B2_OPTIONS address-model=32) -endif() - -if(CMAKE_HOST_SYSTEM_PROCESSOR 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) -else() - list(APPEND B2_OPTIONS architecture=x86) -endif() - -if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86" AND WIN32) - list(APPEND B2_OPTIONS "asmflags=/safeseh") -endif() - -if(MSVC) - set(USER_CONFIG_TOOLSET msvc) - if(MSVC_VERSION LESS 1900) - math(EXPR USER_CONFIG_TOOLSET_VERSION "${MSVC_VERSION} / 10 - 60") - else() - math(EXPR USER_CONFIG_TOOLSET_VERSION "${MSVC_VERSION} / 10 - 50") - endif() - list(APPEND B2_OPTIONS target-os=windows) -elseif(APPLE) - set(USER_CONFIG_TOOLSET clang) - list(APPEND B2_OPTIONS target-os=darwin) -elseif(WIN32) - set(USER_CONFIG_TOOLSET gcc) - list(APPEND B2_OPTIONS target-os=windows) -elseif(ANDROID) - set(USER_CONFIG_TOOLSET gcc) - list(APPEND B2_OPTIONS target-os=android) -else() - set(USER_CONFIG_TOOLSET gcc) - list(APPEND B2_OPTIONS target-os=linux) -endif() - -# Properly handle compiler and linker flags passed by VCPKG -if(CMAKE_BUILD_TYPE STREQUAL "Release") - set(CXXFLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_RELEASE}") - set(CFLAGS "${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS_RELEASE}") - if(BUILD_SHARED_LIBS) - set(LDFLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${CMAKE_SHARED_LINKER_FLAGS_RELEASE}") - else() - set(LDFLAGS "${CMAKE_STATIC_LINKER_FLAGS} ${CMAKE_STATIC_LINKER_FLAGS_RELEASE}") - endif() -elseif(CMAKE_BUILD_TYPE STREQUAL "Debug") - set(CXXFLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_DEBUG}") - set(CFLAGS "${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS_DEBUG}") - if(BUILD_SHARED_LIBS) - set(LDFLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${CMAKE_SHARED_LINKER_FLAGS_DEBUG}") - else() - set(LDFLAGS "${CMAKE_STATIC_LINKER_FLAGS} ${CMAKE_STATIC_LINKER_FLAGS_DEBUG}") - endif() -endif() - -if(APPLE) - if(CMAKE_OSX_DEPLOYMENT_TARGET) - set(CXXFLAGS "-mmacosx-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET} ${CXXFLAGS}") - set(CFLAGS "-mmacosx-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET} ${CFLAGS}") - set(LDFLAGS "-mmacosx-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET} ${LDFLAGS}") - endif() - - if(CMAKE_OSX_SYSROOT) - set(CXXFLAGS "-isysroot ${CMAKE_OSX_SYSROOT} ${CXXFLAGS}") - set(CFLAGS "-isysroot ${CMAKE_OSX_SYSROOT} ${CFLAGS}") - set(LDFLAGS "-isysroot ${CMAKE_OSX_SYSROOT} ${LDFLAGS}") - endif() - - # if specific architectures are set, configure them, - # if not set, this will still default to current arch - foreach(ARCH IN LISTS CMAKE_OSX_ARCHITECTURES) - set(CXXFLAGS "-arch ${ARCH} ${CXXFLAGS}") - set(CFLAGS "-arch ${ARCH} ${CFLAGS}") - set(LDFLAGS "-arch ${ARCH} ${LDFLAGS}") - endforeach() -endif() - -string(REGEX REPLACE "[ \t\r\n]+" " " CXXFLAGS "${CXXFLAGS}") -string(STRIP "${CXXFLAGS}" CXXFLAGS) -string(REGEX REPLACE "[ \t\r\n]+" " " CFLAGS "${CFLAGS}") -string(STRIP "${CFLAGS}" CFLAGS) -string(REGEX REPLACE "[ \t\r\n]+" " " LDFLAGS "${LDFLAGS}") -string(STRIP "${LDFLAGS}" LDFLAGS) - -if(NOT CXXFLAGS STREQUAL "") - string(REPLACE " " " " CXXFLAGS "${CXXFLAGS}") -endif() -if(NOT CFLAGS STREQUAL "") - string(REPLACE " " " " CFLAGS "${CFLAGS}") -endif() -if(NOT LDFLAGS STREQUAL "") - string(REPLACE " " " " LDFLAGS "${LDFLAGS}") -endif() - -if(CMAKE_CXX_COMPILER_TARGET AND CMAKE_CXX_COMPILE_OPTIONS_TARGET) - if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang") - string(APPEND CXXFLAGS " ${CMAKE_CXX_COMPILE_OPTIONS_TARGET}${CMAKE_CXX_COMPILER_TARGET}") - string(APPEND LDFLAGS " ${CMAKE_CXX_COMPILE_OPTIONS_TARGET}${CMAKE_CXX_COMPILER_TARGET}") - else() - string(APPEND CXXFLAGS " ${CMAKE_CXX_COMPILE_OPTIONS_TARGET} ${CMAKE_CXX_COMPILER_TARGET}") - string(APPEND LDFLAGS " ${CMAKE_CXX_COMPILE_OPTIONS_TARGET} ${CMAKE_CXX_COMPILER_TARGET}") - endif() -endif() - -if(CMAKE_CXX_COMPILER_EXTERNAL_TOOLCHAIN) - if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang") - string(APPEND CXXFLAGS " ${CMAKE_CXX_COMPILE_OPTIONS_EXTERNAL_TOOLCHAIN}${CMAKE_CXX_COMPILER_EXTERNAL_TOOLCHAIN}") - string(APPEND LDFLAGS " ${CMAKE_CXX_COMPILE_OPTIONS_EXTERNAL_TOOLCHAIN}${CMAKE_CXX_COMPILER_EXTERNAL_TOOLCHAIN}") - else() - string(APPEND CXXFLAGS " ${CMAKE_CXX_COMPILE_OPTIONS_EXTERNAL_TOOLCHAIN} ${CMAKE_CXX_COMPILER_EXTERNAL_TOOLCHAIN}") - string(APPEND LDFLAGS " ${CMAKE_CXX_COMPILE_OPTIONS_EXTERNAL_TOOLCHAIN} ${CMAKE_CXX_COMPILER_EXTERNAL_TOOLCHAIN}") - endif() -endif() - -if(CMAKE_SYSROOT AND CMAKE_CXX_COMPILE_OPTIONS_SYSROOT) - string(APPEND CXXFLAGS " ${CMAKE_CXX_COMPILE_OPTIONS_SYSROOT}${CMAKE_SYSROOT}") - string(APPEND LDFLAGS " ${CMAKE_CXX_COMPILE_OPTIONS_SYSROOT}${CMAKE_SYSROOT}") -endif() -foreach(INCDIR IN LISTS CMAKE_CXX_STANDARD_INCLUDE_DIRECTORIES) - string(APPEND CXXFLAGS " ${CMAKE_INCLUDE_FLAG_C}${CMAKE_INCLUDE_FLAG_C_SEP}${INCDIR}") -endforeach() - -if(APPLE) - string(APPEND CXXFLAGS " -D_DARWIN_C_SOURCE -std=c++11 -stdlib=libc++") - string(APPEND LDFLAGS " -stdlib=libc++") -endif() - -if(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 "\"") - # Apply: {\ -> \\} - list(TRANSFORM libpath_args REPLACE "\\\\" "\\\\\\\\") - # Apply: {" -> \"} - list(TRANSFORM libpath_args REPLACE "\\\"" "\\\\\"") - list(JOIN libpath_args " " libpath_arg) - - string(APPEND CXXFLAGS " \"${libpath_arg}\" /ZW \"/D_WIN32_WINNT=0x0A00\"") - string(APPEND CFLAGS " -Zl") - list(APPEND B2_OPTIONS windows-api=store) - list(APPEND B2_OPTIONS linkflags=WindowsApp.lib) -endif() - -set(USER_CONFIG_TOOLSET_INVOCATION_COMMAND "\"${CMAKE_CXX_COMPILER}\"") - -if(USER_CONFIG_TOOLSET STREQUAL "msvc") - file(TO_CMAKE_PATH "${CMAKE_CURRENT_LIST_DIR}/nothing.bat" NOTHING_BAT) - string(APPEND USER_CONFIG_TOOLSET_OPTIONS - " \"${NOTHING_BAT}\"\n" - " ${CXXFLAGS}\n" - " ${CFLAGS}\n" - " ${LDFLAGS}\n" - ) -else() - string(APPEND USER_CONFIG_TOOLSET_OPTIONS - " \"${CMAKE_RANLIB}\"\n" - " \"${CMAKE_AR}\"\n" - " ${CXXFLAGS}\n" - " ${CFLAGS}\n" - " ${LDFLAGS}\n" - ) -endif() - -if(WIN32 AND NOT USER_CONFIG_TOOLSET STREQUAL "msvc") - # 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() - -include(ProcessorCount) -ProcessorCount(NUMBER_OF_PROCESSORS) -if(NOT NUMBER_OF_PROCESSORS) - set(NUMBER_OF_PROCESSORS 1) -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${NUMBER_OF_PROCESSORS} - -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\") -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 6094cc8d1ccf89..00000000000000 --- a/ports/boost-modular-build-helper/Jamroot.jam.in +++ /dev/null @@ -1,171 +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 ; - -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" -{ - use-project /boost/atomic : . ; - - lib boost_atomic : : "@CURRENT_INSTALLED_DIR@/lib/@BOOST_LIB_PREFIX@boost_atomic@BOOST_LIB_RELEASE_SUFFIX@" release ; - lib boost_atomic : : "@CURRENT_INSTALLED_DIR@/debug/lib/@BOOST_LIB_PREFIX@boost_atomic@BOOST_LIB_DEBUG_SUFFIX@" debug ; - 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 ; -} - -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 d35b4f99112f30..00000000000000 --- a/ports/boost-modular-build-helper/boost-modular-build.cmake +++ /dev/null @@ -1,161 +0,0 @@ -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 1.77.0) -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) - endif() - else() - set(BOOST_LIB_PREFIX lib) - if(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() - - 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_configure( - SOURCE_PATH ${BOOST_BUILD_INSTALLED_DIR}/share/boost-build - GENERATOR Ninja - OPTIONS - "-DPORT=${PORT}" - "-DFEATURES=${FEATURES}" - "-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}" - ${configure_options} - MAYBE_UNUSED_VARIABLES - FEATURES - ) - - vcpkg_cmake_install() - - vcpkg_copy_pdbs() - - 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 "-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 fbd6f8d36e5e0b..00000000000000 --- a/ports/boost-modular-build-helper/user-config.jam.in +++ /dev/null @@ -1,61 +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@ - -if "@PORT@" = "boost-mpi" || "@PORT@" = "boost-graph-parallel" -{ - using mpi : : - "@CURRENT_INSTALLED_DIR@/lib" - "@CURRENT_INSTALLED_DIR@/include" - msmpi ; -} - -project user-config : ; - -if "@USER_CONFIG_TOOLSET@" = "msvc" -{ - 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 9daad0988434fa..00000000000000 --- a/ports/boost-modular-build-helper/vcpkg.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "boost-modular-build-helper", - "version": "1.77.0", - "port-version": 4, - "description": "Internal vcpkg port used to build Boost libraries", - "dependencies": [ - "boost-uninstall" - ] -} diff --git a/ports/boost-move/portfile.cmake b/ports/boost-move/portfile.cmake index e1a2e72783122d..4eface528418c2 100644 --- a/ports/boost-move/portfile.cmake +++ b/ports/boost-move/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/move - REF boost-1.77.0 - SHA512 16a911d10e142c3fae375abd5062c45cb771aae214cebc4b56a1bf88e26dc7f33d678f68d47c7f6b15e6a893080a6f9db09ef944f9980463b063fe16b745b0fd - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/move + REF boost-${VERSION} + SHA512 753ff955f350db2ee4289dde8b21d40905f6b22676935bd8ff4958d6307fbd4fb3fb4038055869a82219ec4988714a4adf2d5784a0a1762f0719b3ccb3b4f80b + HEAD_REF master +) + +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 0869b27f7cdcb4..a44bb2059d82c4 100644 --- a/ports/boost-move/vcpkg.json +++ b/ports/boost-move/vcpkg.json @@ -1,14 +1,22 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-move", - "version": "1.77.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": [ - "boost-assert", - "boost-config", - "boost-core", - "boost-static-assert", - "boost-vcpkg-helpers", - "boost-winapi" + { + "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-mp11/portfile.cmake b/ports/boost-mp11/portfile.cmake index 4eec827fce088d..08dec1bb697c8a 100644 --- a/ports/boost-mp11/portfile.cmake +++ b/ports/boost-mp11/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/mp11 - REF boost-1.77.0 - SHA512 02a93db3c0ee65b6742109c369c70300465ebc7d824f4c9bbf8f083395e68f0a4d2b4def8299f2fc29bc5c7cb0b18dc5a4d96d1f0e20216a49986ce9387ca5d1 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/mp11 + REF boost-${VERSION} + SHA512 de2df1ec464785891f457bf6c7aba6ed93a6fa9a7ca5b2eedbce28a4e5e23362c08282931fd639193c4c2e7434aec449ebacdcb3ea9e12655265b52aced8b89a + HEAD_REF master +) + +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 7578247b5dc084..fa86de33cecb89 100644 --- a/ports/boost-mp11/vcpkg.json +++ b/ports/boost-mp11/vcpkg.json @@ -1,9 +1,22 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-mp11", - "version": "1.77.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": [ - "boost-vcpkg-helpers" + { + "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/portfile.cmake b/ports/boost-mpi/portfile.cmake index 0dc764257259da..83ca5b27b55f7c 100644 --- a/ports/boost-mpi/portfile.cmake +++ b/ports/boost-mpi/portfile.cmake @@ -1,17 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/mpi - REF boost-1.77.0 - SHA512 9acefa7dfa5b103322bf16ac76f2b9977e6af598c8547e6e33299b610e43fe006409675b5829c3ddcf1a832e36d45d06ffee8e669950a45f64cca3f16faf0b1a - HEAD_REF master -) - -if(NOT DEFINED CURRENT_HOST_INSTALLED_DIR) - message(FATAL_ERROR "boost-mpi requires a newer version of vcpkg in order to build.") -endif() -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}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/mpi + REF boost-${VERSION} + SHA512 c229ac1cd354245da2d03d054f2725c63c500c87c1de8f50b0c8b1946a6095c9948715c5abd24d7ddae639616793c1535a2171c7e698d2ed25a8515eab37ceb2 + HEAD_REF master +) + +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 9cb9d09e77ff1b..9b7dc2d47ff481 100644 --- a/ports/boost-mpi/vcpkg.json +++ b/ports/boost-mpi/vcpkg.json @@ -1,44 +1,102 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-mpi", - "version": "1.77.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": [ - "boost-assert", - { - "name": "boost-build", - "host": true - }, - "boost-config", - "boost-core", - "boost-foreach", - "boost-function", - "boost-graph", - "boost-integer", - "boost-iterator", - "boost-lexical-cast", - { - "name": "boost-modular-build-helper", - "host": true - }, - "boost-mpl", - "boost-optional", - { - "name": "boost-python", - "platform": "!uwp & !(arm & windows) & !emscripten" - }, - "boost-serialization", - "boost-smart-ptr", - "boost-static-assert", - "boost-throw-exception", - "boost-type-traits", - "boost-utility", - "boost-vcpkg-helpers", - "mpi", - { - "name": "vcpkg-cmake", - "host": true + { + "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-foreach", + "version>=": "1.86.0" + }, + { + "name": "boost-function", + "version>=": "1.86.0" + }, + { + "name": "boost-graph", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-integer", + "version>=": "1.86.0" + }, + { + "name": "boost-iterator", + "version>=": "1.86.0" + }, + { + "name": "boost-lexical-cast", + "version>=": "1.86.0" + }, + { + "name": "boost-mpl", + "version>=": "1.86.0" + }, + { + "name": "boost-optional", + "version>=": "1.86.0" + }, + { + "name": "boost-serialization", + "version>=": "1.86.0" + }, + { + "name": "boost-smart-ptr", + "version>=": "1.86.0" + }, + { + "name": "boost-static-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-throw-exception", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + }, + { + "name": "boost-utility", + "version>=": "1.86.0" + }, + "mpi" + ], + "features": { + "python3": { + "description": "Build Python3 bindings", + "supports": "!static", + "dependencies": [ + { + "name": "boost-python", + "platform": "!uwp & !emscripten & !ios & !android", + "version>=": "1.86.0" + }, + "python3" + ] } - ] + } } diff --git a/ports/boost-mpl/portfile.cmake b/ports/boost-mpl/portfile.cmake index 10784dfc410ee9..0a4e869ac77c3b 100644 --- a/ports/boost-mpl/portfile.cmake +++ b/ports/boost-mpl/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/mpl - REF boost-1.77.0 - SHA512 8f43a32281aa33749fef93be450adb7ccc2774589afbb498bac335ff1cd95ad21e5899cb4c26cbdc2836764ca7264e1408e3d0c15a21d1488a56579304a29ba4 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/mpl + REF boost-${VERSION} + SHA512 a28099eeebb00369f3e1e8b7cfc0a1fbdf8bd6b162da48e2034004cdf1e8732fa2c1fdeffb3c3fc7fd13550b4b1a7da4f51f66842be39d723d3edc755ddf48be + HEAD_REF master +) + +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 f1d3dbca7d0e0b..3f6bf3886a63a2 100644 --- a/ports/boost-mpl/vcpkg.json +++ b/ports/boost-mpl/vcpkg.json @@ -1,16 +1,46 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-mpl", - "version": "1.77.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": [ - "boost-config", - "boost-core", - "boost-predef", - "boost-preprocessor", - "boost-static-assert", - "boost-type-traits", - "boost-utility", - "boost-vcpkg-helpers" + { + "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-predef", + "version>=": "1.86.0" + }, + { + "name": "boost-preprocessor", + "version>=": "1.86.0" + }, + { + "name": "boost-static-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + }, + { + "name": "boost-utility", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-msm/portfile.cmake b/ports/boost-msm/portfile.cmake index a6eb4db9e63ff9..98b77b93af3ac9 100644 --- a/ports/boost-msm/portfile.cmake +++ b/ports/boost-msm/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/msm - REF boost-1.77.0 - SHA512 b84162658b78cf8c1d60f3a390fa241293570f5956b31144fa56ffc74a22663c5a4c61a969c25db17c4265b44a4a216fc46becd40987ea8e6a198100191f7c03 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/msm + REF boost-${VERSION} + SHA512 400b175afa4a369c1a06ffbed35921b800880d65304a08ca9d53113f7ddcc72776d90a9af3f5a5468de848d2cb1bed7585a42caf6d08cd44b8acf32bb65ef00c + HEAD_REF master +) + +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 6b6a345466aabb..b03b3966cc06cf 100644 --- a/ports/boost-msm/vcpkg.json +++ b/ports/boost-msm/vcpkg.json @@ -1,26 +1,90 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-msm", - "version": "1.77.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": [ - "boost-any", - "boost-assert", - "boost-bind", - "boost-circular-buffer", - "boost-config", - "boost-core", - "boost-function", - "boost-fusion", - "boost-mpl", - "boost-parameter", - "boost-phoenix", - "boost-preprocessor", - "boost-proto", - "boost-serialization", - "boost-tuple", - "boost-type-traits", - "boost-typeof", - "boost-vcpkg-helpers" + { + "name": "boost-any", + "version>=": "1.86.0" + }, + { + "name": "boost-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-bind", + "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-core", + "version>=": "1.86.0" + }, + { + "name": "boost-function", + "version>=": "1.86.0" + }, + { + "name": "boost-fusion", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-mpl", + "version>=": "1.86.0" + }, + { + "name": "boost-parameter", + "version>=": "1.86.0" + }, + { + "name": "boost-phoenix", + "version>=": "1.86.0" + }, + { + "name": "boost-preprocessor", + "version>=": "1.86.0" + }, + { + "name": "boost-proto", + "version>=": "1.86.0" + }, + { + "name": "boost-serialization", + "version>=": "1.86.0" + }, + { + "name": "boost-tuple", + "version>=": "1.86.0" + }, + { + "name": "boost-type-index", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.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 78d172a5cb8fec..d87e7db1ed1ff4 100644 --- a/ports/boost-multi-array/portfile.cmake +++ b/ports/boost-multi-array/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/multi_array - REF boost-1.77.0 - SHA512 501bc069759a77535f85a309bdb13d0ef346ddc3d130145c5aa43797cc692cccf310bf3ebd7939e4d3452beec2314f1e07454017d8dc7c8b5ff079a7ba00f6de - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/multi_array + REF boost-${VERSION} + SHA512 c8b0430f7ea8fefe078029ee88867e3ba1f73a33a21e9f70a00c44ecccee2020ed2db78bd06d3c56da7717633e9ffc140f74a1af0b4903a2753ba04067ea4a6f + HEAD_REF master +) + +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 ac7da7e014b1bf..b0fdac7b011bd0 100644 --- a/ports/boost-multi-array/vcpkg.json +++ b/ports/boost-multi-array/vcpkg.json @@ -1,19 +1,58 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-multi-array", - "version": "1.77.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": [ - "boost-array", - "boost-assert", - "boost-concept-check", - "boost-config", - "boost-core", - "boost-functional", - "boost-iterator", - "boost-mpl", - "boost-static-assert", - "boost-type-traits", - "boost-vcpkg-helpers" + { + "name": "boost-array", + "version>=": "1.86.0" + }, + { + "name": "boost-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-concept-check", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-core", + "version>=": "1.86.0" + }, + { + "name": "boost-functional", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-iterator", + "version>=": "1.86.0" + }, + { + "name": "boost-mpl", + "version>=": "1.86.0" + }, + { + "name": "boost-static-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-multi-index/portfile.cmake b/ports/boost-multi-index/portfile.cmake index bd178e64d81623..bc3fb0e068804f 100644 --- a/ports/boost-multi-index/portfile.cmake +++ b/ports/boost-multi-index/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/multi_index - REF boost-1.77.0 - SHA512 0cd8af351a946dca8c34e68b2b7419c815380d3ac21bcb4698112264a59a395d3adff47fced46fa8312e84aef336fc5d9b6ddb7c37f84faeb8d377afcbd00323 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/multi_index + REF boost-${VERSION} + SHA512 e86ffc579e7274509f91ed1a87efcbb6f2d559a1f18a6b276aa2424d9acf54b3b0e418c9fee5935ec8e097f4602ba61e2501ee5c0e971879c7636078134e9252 + HEAD_REF master +) + +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 0c18de7a925873..49ee70cab686fb 100644 --- a/ports/boost-multi-index/vcpkg.json +++ b/ports/boost-multi-index/vcpkg.json @@ -1,27 +1,82 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-multi-index", - "version": "1.77.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": [ - "boost-assert", - "boost-bind", - "boost-config", - "boost-container-hash", - "boost-core", - "boost-foreach", - "boost-integer", - "boost-iterator", - "boost-move", - "boost-mpl", - "boost-preprocessor", - "boost-serialization", - "boost-smart-ptr", - "boost-static-assert", - "boost-throw-exception", - "boost-tuple", - "boost-type-traits", - "boost-utility", - "boost-vcpkg-helpers" + { + "name": "boost-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-bind", + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-container-hash", + "version>=": "1.86.0" + }, + { + "name": "boost-core", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-integer", + "version>=": "1.86.0" + }, + { + "name": "boost-iterator", + "version>=": "1.86.0" + }, + { + "name": "boost-move", + "version>=": "1.86.0" + }, + { + "name": "boost-mpl", + "version>=": "1.86.0" + }, + { + "name": "boost-preprocessor", + "version>=": "1.86.0" + }, + { + "name": "boost-smart-ptr", + "version>=": "1.86.0" + }, + { + "name": "boost-static-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-throw-exception", + "version>=": "1.86.0" + }, + { + "name": "boost-tuple", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + }, + { + "name": "boost-utility", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-multiprecision/portfile.cmake b/ports/boost-multiprecision/portfile.cmake index 684d8796fdff88..327f4b1580b3ce 100644 --- a/ports/boost-multiprecision/portfile.cmake +++ b/ports/boost-multiprecision/portfile.cmake @@ -1,12 +1,17 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/multiprecision - REF boost-1.77.0 - SHA512 bc29e03b4a43ddbb96e7be49a0cb45d9973571d2dff8e8e0c776a8fd8f9a5da13861764b4004768341dd19a2a04766785032cc414846005e44ee6263ebb1cb85 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/multiprecision + REF boost-${VERSION} + SHA512 e9f8f86180abcb2d9c7762cbf0200868645a9c99a792a5bd5b52df5e3038263a69ebdc12436284c8fc3982dab02bacf157120e838ecc432f99f749d4fc2d6bbd + HEAD_REF master + PATCHES + remove-random.diff +) + +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 cd4bfdf322e905..f318bfcb02a059 100644 --- a/ports/boost-multiprecision/vcpkg.json +++ b/ports/boost-multiprecision/vcpkg.json @@ -1,18 +1,55 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-multiprecision", - "version": "1.77.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": [ - "boost-assert", - "boost-config", - "boost-core", - "boost-integer", - "boost-lexical-cast", - "boost-math", - "boost-predef", - "boost-random", - "boost-rational", - "boost-vcpkg-helpers" + { + "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-integer", + "version>=": "1.86.0" + }, + { + "name": "boost-lexical-cast", + "version>=": "1.86.0" + }, + { + "name": "boost-math", + "version>=": "1.86.0" + }, + { + "name": "boost-predef", + "version>=": "1.86.0" + }, + { + "name": "boost-random", + "platform": "!uwp", + "version>=": "1.86.0" + }, + { + "name": "boost-throw-exception", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-mysql/portfile.cmake b/ports/boost-mysql/portfile.cmake new file mode 100644 index 00000000000000..5015a60d328a93 --- /dev/null +++ b/ports/boost-mysql/portfile.cmake @@ -0,0 +1,15 @@ +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/mysql + REF boost-${VERSION} + SHA512 c3a096515f631b92fb3b69eae5ab5fe30be93269fd0176dd87c65a9212539b7aec2ac1386bf5401d5a01c75f8151666ecb643813fa59f7742ff3372b54a46a57 + HEAD_REF master +) + +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 new file mode 100644 index 00000000000000..2f23b871e5d896 --- /dev/null +++ b/ports/boost-mysql/vcpkg.json @@ -0,0 +1,71 @@ +{ + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", + "name": "boost-mysql", + "version": "1.86.0", + "description": "Boost mysql module", + "homepage": "https://www.boost.org/libs/mysql", + "license": "BSL-1.0", + "dependencies": [ + { + "name": "boost-asio", + "version>=": "1.86.0" + }, + { + "name": "boost-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-charconv", + "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-describe", + "version>=": "1.86.0" + }, + { + "name": "boost-endian", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-intrusive", + "version>=": "1.86.0" + }, + { + "name": "boost-mp11", + "version>=": "1.86.0" + }, + { + "name": "boost-optional", + "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" + }, + "openssl" + ] +} diff --git a/ports/boost-nowide/001-remove-checks.patch b/ports/boost-nowide/001-remove-checks.patch deleted file mode 100644 index e097d8036d5e60..00000000000000 --- a/ports/boost-nowide/001-remove-checks.patch +++ /dev/null @@ -1,16 +0,0 @@ - build/Jamfile.v2 | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/build/Jamfile.v2 b/build/Jamfile.v2 -index 44cbc1c..a5605a7 100644 ---- a/build/Jamfile.v2 -+++ b/build/Jamfile.v2 -@@ -8,7 +8,7 @@ - # (See accompanying file LICENSE or www.boost.org/LICENSE_1_0.txt) - # See library home page at http://www.boost.org/libs/nowide - --import ../../config/checks/config : requires ; -+rule requires ( checks * ) { } - - local requirements = - shared:BOOST_NOWIDE_DYN_LINK=1 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 e058c66438d29d..306303758359ee 100644 --- a/ports/boost-nowide/portfile.cmake +++ b/ports/boost-nowide/portfile.cmake @@ -1,21 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/nowide - REF boost-1.77.0 - SHA512 7af7a33aed8a8e88d8da37db302bb2d560e71dad57e2be23086dfca5260fb7b15ab4513807c566e91b3ebe27b10d58614e967895b922bc408c774550625d15cf - HEAD_REF master - PATCHES 001-remove-checks.patch -) - -if(NOT DEFINED CURRENT_HOST_INSTALLED_DIR) - message(FATAL_ERROR "boost-nowide requires a newer version of vcpkg in order to build.") -endif() -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}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/nowide + REF boost-${VERSION} + SHA512 f3dd88c9c48360cf5603a152d16626479ac23a8fa90916658f9ca2b596f28ab3b37cbb6c70e91c5a98fd59d5b5e8054015131e1bafae8146f0f5f766946b159d + HEAD_REF master +) + +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-nowide/vcpkg.json b/ports/boost-nowide/vcpkg.json index 447705361d6be5..a0d598d9fa70ac 100644 --- a/ports/boost-nowide/vcpkg.json +++ b/ports/boost-nowide/vcpkg.json @@ -1,26 +1,27 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-nowide", - "version": "1.77.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 + "name": "boost-cmake", + "version>=": "1.86.0" }, - "boost-config", { - "name": "boost-filesystem", - "platform": "!uwp" + "name": "boost-config", + "version>=": "1.86.0" }, { - "name": "boost-modular-build-helper", - "host": true + "name": "boost-filesystem", + "platform": "!uwp", + "version>=": "1.86.0" }, - "boost-vcpkg-helpers", { - "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 cf4e640c595bcf..ffe8aad1589616 100644 --- a/ports/boost-numeric-conversion/portfile.cmake +++ b/ports/boost-numeric-conversion/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/numeric_conversion - REF boost-1.77.0 - SHA512 fa72f79ff3111c99ccddfa1af55d154665974096bb7f3c76ef28b6137212c263f95891b369a089d04b2f382cfbfbfee217631edf10d634f71ab644ef71c44afc - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/numeric_conversion + REF boost-${VERSION} + SHA512 b2f80515df47f92b5db2711c6fee577c1b776b302a712d6105caf7ade6727799cc0e30e09cc251b59f0315fbbb96593cc66b7fa5209ecce87b8476a4652df444 + HEAD_REF master +) + +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 4d1bd9593116f4..6b0a091a72b4ed 100644 --- a/ports/boost-numeric-conversion/vcpkg.json +++ b/ports/boost-numeric-conversion/vcpkg.json @@ -1,16 +1,46 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-numeric-conversion", - "version": "1.77.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": [ - "boost-config", - "boost-conversion", - "boost-core", - "boost-mpl", - "boost-preprocessor", - "boost-throw-exception", - "boost-type-traits", - "boost-vcpkg-helpers" + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-conversion", + "version>=": "1.86.0" + }, + { + "name": "boost-core", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-mpl", + "version>=": "1.86.0" + }, + { + "name": "boost-preprocessor", + "version>=": "1.86.0" + }, + { + "name": "boost-throw-exception", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "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 568f2dfc0ee7fa..0f2c829fc3a425 100644 --- a/ports/boost-odeint/portfile.cmake +++ b/ports/boost-odeint/portfile.cmake @@ -1,12 +1,18 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/odeint - REF boost-1.77.0 - SHA512 33f06b5450855c35c719418ed320ddcdf926c5f27f03d18b345cdaa7921fa749d626dfb8c7c3fdcb102074499e96cf526cb7bdaac1e1a67f6e9f2db5ca3bf481 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/odeint + REF boost-${VERSION} + SHA512 7e15d0eb8566a35e2d9968c779750a9135d43d9a3523789d9c2ba977c4d1dac1afbc3c62fb2d1efc8ab60d4b58f0b6c07fa03719d62acee76a7376726ecf26c6 + HEAD_REF master + PATCHES + opt-mpi.diff +) + +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 ffab599347768e..56d934f73131ba 100644 --- a/ports/boost-odeint/vcpkg.json +++ b/ports/boost-odeint/vcpkg.json @@ -1,37 +1,96 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-odeint", - "version": "1.77.0", - "port-version": 1, + "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": [ - "boost-array", - "boost-assert", - "boost-bind", - "boost-compute", - "boost-config", - "boost-core", - "boost-function", - "boost-fusion", - "boost-iterator", - "boost-math", - "boost-mpl", - "boost-multi-array", - "boost-preprocessor", - "boost-range", - "boost-static-assert", - "boost-throw-exception", - "boost-type-traits", - "boost-ublas", - "boost-units", - "boost-utility", - "boost-vcpkg-helpers" + { + "name": "boost-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-compute", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-core", + "version>=": "1.86.0" + }, + { + "name": "boost-fusion", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-iterator", + "version>=": "1.86.0" + }, + { + "name": "boost-math", + "version>=": "1.86.0" + }, + { + "name": "boost-mpl", + "version>=": "1.86.0" + }, + { + "name": "boost-multi-array", + "version>=": "1.86.0" + }, + { + "name": "boost-preprocessor", + "version>=": "1.86.0" + }, + { + "name": "boost-range", + "version>=": "1.86.0" + }, + { + "name": "boost-static-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-throw-exception", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + }, + { + "name": "boost-ublas", + "version>=": "1.86.0" + }, + { + "name": "boost-units", + "version>=": "1.86.0" + }, + { + "name": "boost-utility", + "version>=": "1.86.0" + } ], "features": { "mpi": { "description": "Support parallelization with MPI", "dependencies": [ - "boost-mpi" + { + "name": "boost-mpi", + "version>=": "1.86.0" + } ] } } diff --git a/ports/boost-optional/portfile.cmake b/ports/boost-optional/portfile.cmake index 83d100cff11e6c..6156892cf1972e 100644 --- a/ports/boost-optional/portfile.cmake +++ b/ports/boost-optional/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/optional - REF boost-1.77.0 - SHA512 aca6c679125d3e924a5f77e97ae06abfb2bb1794c70f84e1e72f79e3b7520f8ebe8cd3d980beb09a71b49dd62f450da0e3ccfa418d30306a6651cd029f43ff3f - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/optional + REF boost-${VERSION} + SHA512 1917bde44b4284c193e89de30f71681a71b414ed3aefebc07dec3df441a94f629fbc34a1175232604d99649979ef99dae0fc7072346eb601d5620775e2388184 + HEAD_REF master +) + +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 ba1c0e222bf2ee..7d4e485d96d732 100644 --- a/ports/boost-optional/vcpkg.json +++ b/ports/boost-optional/vcpkg.json @@ -1,19 +1,58 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-optional", - "version": "1.77.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": [ - "boost-assert", - "boost-config", - "boost-core", - "boost-detail", - "boost-move", - "boost-predef", - "boost-static-assert", - "boost-throw-exception", - "boost-type-traits", - "boost-utility", - "boost-vcpkg-helpers" + { + "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-detail", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-move", + "version>=": "1.86.0" + }, + { + "name": "boost-predef", + "version>=": "1.86.0" + }, + { + "name": "boost-static-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-throw-exception", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + }, + { + "name": "boost-utility", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-outcome/portfile.cmake b/ports/boost-outcome/portfile.cmake index 00c443393d0cd5..bad3ea2f531b92 100644 --- a/ports/boost-outcome/portfile.cmake +++ b/ports/boost-outcome/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/outcome - REF boost-1.77.0 - SHA512 de4e84b43c8906fe4059249a526ea80d805bd9458cc30d467dd232a5326d199b1c38973645bf9115f19933d75998d767d1fea06e2a10edee8bf4453335927505 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/outcome + REF boost-${VERSION} + SHA512 4082967c4bff31898b2a1706ac3f069c6a44bad92a3470c8001d375956f1742cd33a4f96c2184c502c1a61edc2ad40bdaae188e5c65c286683ebf4100c584b1a + HEAD_REF master +) + +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 7088f3e340e2f4..4fa9911762e1ab 100644 --- a/ports/boost-outcome/vcpkg.json +++ b/ports/boost-outcome/vcpkg.json @@ -1,13 +1,38 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-outcome", - "version": "1.77.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": [ - "boost-config", - "boost-exception", - "boost-system", - "boost-throw-exception", - "boost-vcpkg-helpers" + { + "name": "boost-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-exception", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-system", + "version>=": "1.86.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 34cc9d90abb52b..5d591ebf0a6de2 100644 --- a/ports/boost-parameter-python/portfile.cmake +++ b/ports/boost-parameter-python/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/parameter_python - REF boost-1.77.0 - SHA512 d3fb2f165cbb1917143ea92be4debbf5f02d43003d9f1ec2e1c19412e39b96e143ac9e0b64a7455d9ce05617f152f0b8b67fee737c92381f0cdbf8996c610b77 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/parameter_python + REF boost-${VERSION} + SHA512 64d32f11042db4d88f4c96e1f68c12cc9eee007398054ddd02c4b884247e2aa673ec69a3c51a7774e88d58c40758af63e2e523f46f0680bfd7ce3d5398cc3bb1 + HEAD_REF master +) + +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 f82c3750efa0bd..7ea447b5c8151a 100644 --- a/ports/boost-parameter-python/vcpkg.json +++ b/ports/boost-parameter-python/vcpkg.json @@ -1,17 +1,38 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-parameter-python", - "version": "1.77.0", + "version": "1.86.0", "description": "Boost parameter_python module", - "homepage": "https://github.com/boostorg/parameter_python", - "supports": "!emscripten", + "homepage": "https://www.boost.org/libs/parameter_python", + "license": "BSL-1.0", "dependencies": [ - "boost-mpl", - "boost-parameter", - "boost-preprocessor", { - "name": "boost-python", - "platform": "!uwp & !(arm & windows) & !emscripten" + "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.86.0" }, - "boost-vcpkg-helpers" + { + "name": "boost-parameter", + "version>=": "1.86.0" + }, + { + "name": "boost-preprocessor", + "version>=": "1.86.0" + }, + { + "name": "boost-python", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-parameter/portfile.cmake b/ports/boost-parameter/portfile.cmake index ba5c515792192c..1cd2e8e1ddbf73 100644 --- a/ports/boost-parameter/portfile.cmake +++ b/ports/boost-parameter/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/parameter - REF boost-1.77.0 - SHA512 a9a46096b62af9a938403fe007cdf6ea7a0a5f1bd47bbecaad0e947c8175f848ccc44028a10470af3815157a604f4c2156ddc59d1dda07a1a0c1213728062932 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/parameter + REF boost-${VERSION} + SHA512 42ca9ab48cd3f871104f9b435129ffe2e7a25c6dbb65102b4b9e3bd7ff2b5d5f69a2a876585607b6fc8199d4204839d7241eecfc5d2f9be6381c362f57124780 + HEAD_REF master +) + +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 4d1a532871776d..6e69b6d40a6753 100644 --- a/ports/boost-parameter/vcpkg.json +++ b/ports/boost-parameter/vcpkg.json @@ -1,19 +1,58 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-parameter", - "version": "1.77.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": [ - "boost-config", - "boost-core", - "boost-function", - "boost-fusion", - "boost-mp11", - "boost-mpl", - "boost-optional", - "boost-preprocessor", - "boost-type-traits", - "boost-utility", - "boost-vcpkg-helpers" + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-core", + "version>=": "1.86.0" + }, + { + "name": "boost-function", + "version>=": "1.86.0" + }, + { + "name": "boost-fusion", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-mp11", + "version>=": "1.86.0" + }, + { + "name": "boost-mpl", + "version>=": "1.86.0" + }, + { + "name": "boost-optional", + "version>=": "1.86.0" + }, + { + "name": "boost-preprocessor", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + }, + { + "name": "boost-utility", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-pfr/portfile.cmake b/ports/boost-pfr/portfile.cmake index 615a77b51586ad..58eba81ba9d403 100644 --- a/ports/boost-pfr/portfile.cmake +++ b/ports/boost-pfr/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/pfr - REF boost-1.77.0 - SHA512 2b77f879d9ac7f9c1d137d353c6a0665a243292adae75d71d3c324bba6ca3a22b4ef80b511757e95e33d3aa6a2597e86f67a6a70bf81089bbbb476bcbfe3ad06 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/pfr + REF boost-${VERSION} + SHA512 19e6c58ade33a01ca6686aa9d19d4725dec448ba8bdeced15f1e72b0a691092c8009b82b72d1ad7d632121b19953255d47446833b63943b1e964eaf3c487d61e + HEAD_REF master +) + +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 ea10cd7b610b66..1d6dc402613c78 100644 --- a/ports/boost-pfr/vcpkg.json +++ b/ports/boost-pfr/vcpkg.json @@ -1,9 +1,22 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-pfr", - "version": "1.77.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": [ - "boost-vcpkg-helpers" + { + "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/portfile.cmake b/ports/boost-phoenix/portfile.cmake index 5ce6dfe70b01c4..1a8de268acbac3 100644 --- a/ports/boost-phoenix/portfile.cmake +++ b/ports/boost-phoenix/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/phoenix - REF boost-1.77.0 - SHA512 d34a1625476dcb47afbb5f96c70d824bfb76b4fca287b09b491d1fe6396d827ecc984f5d2b9e87b6a868f25c5fa676524da9a7d0e37f7288a35595a44b8d9201 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/phoenix + REF boost-${VERSION} + SHA512 6d54655310d4ec03217bb8e88b28fa56bf8512a00223b602df072eaba3f35ead1f89aeb58e4084e955bb08f34497093707daf848678c324b857a51c6462eff80 + HEAD_REF master +) + +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 f4ea48609d3992..0263473834680b 100644 --- a/ports/boost-phoenix/vcpkg.json +++ b/ports/boost-phoenix/vcpkg.json @@ -1,23 +1,74 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-phoenix", - "version": "1.77.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": [ - "boost-assert", - "boost-bind", - "boost-config", - "boost-core", - "boost-function", - "boost-fusion", - "boost-mpl", - "boost-predef", - "boost-preprocessor", - "boost-proto", - "boost-range", - "boost-smart-ptr", - "boost-type-traits", - "boost-utility", - "boost-vcpkg-helpers" + { + "name": "boost-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-bind", + "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-function", + "version>=": "1.86.0" + }, + { + "name": "boost-fusion", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-mpl", + "version>=": "1.86.0" + }, + { + "name": "boost-predef", + "version>=": "1.86.0" + }, + { + "name": "boost-preprocessor", + "version>=": "1.86.0" + }, + { + "name": "boost-proto", + "version>=": "1.86.0" + }, + { + "name": "boost-range", + "version>=": "1.86.0" + }, + { + "name": "boost-smart-ptr", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + }, + { + "name": "boost-utility", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-poly-collection/portfile.cmake b/ports/boost-poly-collection/portfile.cmake index 9ced6b08a07179..52e6340f046694 100644 --- a/ports/boost-poly-collection/portfile.cmake +++ b/ports/boost-poly-collection/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/poly_collection - REF boost-1.77.0 - SHA512 94871d93bd92fd05a7d68838b7db9f92c7c3814ea71f23364486890ba8099b6374e59288a666890727e161d5e05fad417085f44b049e942617c99c9c11232639 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/poly_collection + REF boost-${VERSION} + SHA512 eee224078f2b9752156537f0e9672123b19426abd7f559cddc28d6cfbf44b5461b0e32c157cf207018a18ee91f9e03e6ebd83dd1389ce91ad416648dfae00682 + HEAD_REF master +) + +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 8a8378ad7dd334..3d1fa4c056f191 100644 --- a/ports/boost-poly-collection/vcpkg.json +++ b/ports/boost-poly-collection/vcpkg.json @@ -1,17 +1,50 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-poly-collection", - "version": "1.77.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": [ - "boost-assert", - "boost-config", - "boost-core", - "boost-iterator", - "boost-mp11", - "boost-mpl", - "boost-type-erasure", - "boost-type-traits", - "boost-vcpkg-helpers" + { + "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-iterator", + "version>=": "1.86.0" + }, + { + "name": "boost-mp11", + "version>=": "1.86.0" + }, + { + "name": "boost-mpl", + "version>=": "1.86.0" + }, + { + "name": "boost-type-erasure", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-polygon/portfile.cmake b/ports/boost-polygon/portfile.cmake index b0387c7b4424e0..d622520ca37147 100644 --- a/ports/boost-polygon/portfile.cmake +++ b/ports/boost-polygon/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/polygon - REF boost-1.77.0 - SHA512 939529b812c97d3c40e2b0954da12f4aff867fc953dae6c44c7b60860ec665467e5856ef8f16cad8795e490c59b2e17d3539ea5575e401e552aab7511c93d6d8 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/polygon + REF boost-${VERSION} + SHA512 85b77ef37d4e370ec463129da539f4767e2a1fc957d8f4349d4d36ada77ec9ad440733a93e55a756fc20c9f23bcdc6cd4b1aea6b65881e112e3c69853881e561 + HEAD_REF master +) + +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 1e0f3f14e20178..e617e117ce9bb5 100644 --- a/ports/boost-polygon/vcpkg.json +++ b/ports/boost-polygon/vcpkg.json @@ -1,10 +1,22 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-polygon", - "version": "1.77.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": [ - "boost-config", - "boost-vcpkg-helpers" + { + "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-pool/portfile.cmake b/ports/boost-pool/portfile.cmake index 332836b926d202..a2bcb1576d119c 100644 --- a/ports/boost-pool/portfile.cmake +++ b/ports/boost-pool/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/pool - REF boost-1.77.0 - SHA512 8b72d2a17f7295fd60660c5b3ec8d79f2279f97e4f870d88ffee35978f226ce3d9028322b84a484cd4555be2c0506f97edaccce7bf0ec76e6d89fd9fe7bd0285 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/pool + REF boost-${VERSION} + SHA512 56b22505892f282b95e37d314d1d233f2f1649c725fdadfbd4f59ab7551164a88412a641625957fc4e3442e116616437667c768e6e0c7dec8fb94a2188ee1a28 + HEAD_REF master +) + +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 6c8c3a451675b2..6a91157c9b8b1a 100644 --- a/ports/boost-pool/vcpkg.json +++ b/ports/boost-pool/vcpkg.json @@ -1,15 +1,42 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-pool", - "version": "1.77.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": [ - "boost-assert", - "boost-config", - "boost-integer", - "boost-throw-exception", - "boost-type-traits", - "boost-vcpkg-helpers", - "boost-winapi" + { + "name": "boost-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-integer", + "version>=": "1.86.0" + }, + { + "name": "boost-throw-exception", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + }, + { + "name": "boost-winapi", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-predef/portfile.cmake b/ports/boost-predef/portfile.cmake index dc4efd117e8b2c..8c19051edb8a10 100644 --- a/ports/boost-predef/portfile.cmake +++ b/ports/boost-predef/portfile.cmake @@ -1,14 +1,17 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/predef - REF boost-1.77.0 - SHA512 d3c6b0fc10200aa49d7b5db542e40a858f1697c457391fab777384a974718f2b855fc526f6f44fb329a74139b46e05cc17ce57db2e35fe0388c976ce80f1f964 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) - -file(COPY ${SOURCE_PATH}/tools/check DESTINATION ${CURRENT_PACKAGES_DIR}/share/boost-predef) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/predef + REF boost-${VERSION} + SHA512 b908034a88b91c1a35e2933207a09e06862994ee36f5c62d2e58842bbb4d2bcfe10069350bfb330276f6b4e1e0ff213a4f2f7b7f0ac54c12e022c6c397b32ef0 + HEAD_REF master +) + +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) + +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 5f561935c837e5..88067456841de6 100644 --- a/ports/boost-predef/vcpkg.json +++ b/ports/boost-predef/vcpkg.json @@ -1,9 +1,22 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-predef", - "version": "1.77.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": [ - "boost-vcpkg-helpers" + { + "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 09673725f6870c..4058e534c17895 100644 --- a/ports/boost-preprocessor/portfile.cmake +++ b/ports/boost-preprocessor/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/preprocessor - REF boost-1.77.0 - SHA512 26d7487d9978551596cd243172c9ac6effd3f030244026fb73cac4dc64a458b5d1f0383ff4ac695492c598629d1bc93c186169b5be655d3cf700cf599cb22610 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/preprocessor + REF boost-${VERSION} + SHA512 f7b4c108c8276da8b441136af2e24dba67842e1461f4f1add56722680c2f8194f87e06610be09ad8c65145e5fd1f74430027fa606599d1b2d2824a0805cfcf01 + HEAD_REF master +) + +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 7660f620f38a72..c8cf262624337e 100644 --- a/ports/boost-preprocessor/vcpkg.json +++ b/ports/boost-preprocessor/vcpkg.json @@ -1,9 +1,22 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-preprocessor", - "version": "1.77.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": [ - "boost-vcpkg-helpers" + { + "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/fix_include.patch b/ports/boost-process/fix_include.patch deleted file mode 100644 index 49d30691821059..00000000000000 --- a/ports/boost-process/fix_include.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/include/boost/process/detail/traits/wchar_t.hpp b/include/boost/process/detail/traits/wchar_t.hpp -index 812a92c..98026d3 100644 ---- a/include/boost/process/detail/traits/wchar_t.hpp -+++ b/include/boost/process/detail/traits/wchar_t.hpp -@@ -12,6 +12,8 @@ - #include - #include - -+#include -+ - namespace boost { namespace process { namespace detail { - - //template 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 efb0a5f91f6e1d..1c2996c6237619 100644 --- a/ports/boost-process/portfile.cmake +++ b/ports/boost-process/portfile.cmake @@ -1,13 +1,18 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/process - REF boost-1.77.0 - SHA512 00eb27f702f092a20fdf1669b8c9c993b751971592d0bc5aa50b02d99d985a75361621b624aa51eb550c9e7905e15877168ae9d0feb1957fc85f99c264b152fd - HEAD_REF master - PATCHES fix_include.patch -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/process + REF boost-${VERSION} + SHA512 a084c71effdd591b83a7fbff85bdea925da1436dc452267ceafd0f7bd875dcd9611cd28a92c06548e9130bb596703ea05932cd94063724cfecf6d861cceebe21 + HEAD_REF master + PATCHES + opt-filesystem.patch + +) + +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 84dd98d52064f7..b5e8a4fbf41e56 100644 --- a/ports/boost-process/vcpkg.json +++ b/ports/boost-process/vcpkg.json @@ -1,30 +1,92 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-process", - "version": "1.77.0", - "port-version": 2, + "version": "1.86.0", "description": "Boost process module", - "homepage": "https://github.com/boostorg/process", - "supports": "!emscripten", + "homepage": "https://www.boost.org/libs/process", + "license": "BSL-1.0", + "supports": "!uwp & !emscripten & !android", "dependencies": [ - "boost-algorithm", + { + "name": "boost-algorithm", + "version>=": "1.86.0" + }, { "name": "boost-asio", - "platform": "!emscripten" + "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" }, - "boost-config", - "boost-core", { "name": "boost-filesystem", - "platform": "!uwp" - }, - "boost-fusion", - "boost-iterator", - "boost-move", - "boost-optional", - "boost-system", - "boost-tokenizer", - "boost-type-index", - "boost-vcpkg-helpers", - "boost-winapi" + "platform": "!uwp", + "version>=": "1.86.0" + }, + { + "name": "boost-fusion", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-io", + "version>=": "1.86.0" + }, + { + "name": "boost-iterator", + "version>=": "1.86.0" + }, + { + "name": "boost-move", + "version>=": "1.86.0" + }, + { + "name": "boost-optional", + "version>=": "1.86.0" + }, + { + "name": "boost-system", + "version>=": "1.86.0" + }, + { + "name": "boost-throw-exception", + "version>=": "1.86.0" + }, + { + "name": "boost-tokenizer", + "version>=": "1.86.0" + }, + { + "name": "boost-type-index", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + }, + { + "name": "boost-utility", + "version>=": "1.86.0" + }, + { + "name": "boost-winapi", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-program-options/portfile.cmake b/ports/boost-program-options/portfile.cmake index 1988be92705926..925a08b29649f2 100644 --- a/ports/boost-program-options/portfile.cmake +++ b/ports/boost-program-options/portfile.cmake @@ -1,17 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/program_options - REF boost-1.77.0 - SHA512 9035f69d3b478db65c960e00887130ff1388d2af518ec7507dfc8708c601400aeefca091b693764dfeb539a1aa29583101360a55c6ae859053e1be88cb5e70aa - HEAD_REF master -) - -if(NOT DEFINED CURRENT_HOST_INSTALLED_DIR) - message(FATAL_ERROR "boost-program-options requires a newer version of vcpkg in order to build.") -endif() -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}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/program_options + REF boost-${VERSION} + SHA512 bf0fe8d2dc75fd29bc61eb594a1871cc73412467c61dfbac6f1996793426b406c48c7c61d7eb0db5264c70028529fde1181bf3d591980acd5fb465c44bd92d85 + HEAD_REF master +) + +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 28af65129ae361..c1c53eebce7ce3 100644 --- a/ports/boost-program-options/vcpkg.json +++ b/ports/boost-program-options/vcpkg.json @@ -1,34 +1,70 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-program-options", - "version": "1.77.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": [ - "boost-any", - "boost-bind", - { - "name": "boost-build", - "host": true - }, - "boost-config", - "boost-core", - "boost-detail", - "boost-function", - "boost-iterator", - "boost-lexical-cast", - { - "name": "boost-modular-build-helper", - "host": true - }, - "boost-smart-ptr", - "boost-static-assert", - "boost-throw-exception", - "boost-tokenizer", - "boost-type-traits", - "boost-vcpkg-helpers", - { - "name": "vcpkg-cmake", - "host": true + { + "name": "boost-any", + "version>=": "1.86.0" + }, + { + "name": "boost-bind", + "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-detail", + "version>=": "1.86.0" + }, + { + "name": "boost-function", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-iterator", + "version>=": "1.86.0" + }, + { + "name": "boost-lexical-cast", + "version>=": "1.86.0" + }, + { + "name": "boost-smart-ptr", + "version>=": "1.86.0" + }, + { + "name": "boost-static-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-throw-exception", + "version>=": "1.86.0" + }, + { + "name": "boost-tokenizer", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" } ] } diff --git a/ports/boost-property-map-parallel/portfile.cmake b/ports/boost-property-map-parallel/portfile.cmake index fe15c5e8febb32..3213bfe99f0499 100644 --- a/ports/boost-property-map-parallel/portfile.cmake +++ b/ports/boost-property-map-parallel/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/property_map_parallel - REF boost-1.77.0 - SHA512 e564ab747b9885002d983fd42196f2a84655ebf74a0fd42647067dca075b8a2462d5b88d65faa9e91284018a373c5b689749c42a9812922be222ebfb24064a91 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/property_map_parallel + REF boost-${VERSION} + SHA512 000cfb346a7c150af595541cc4dcbabdfaa668dee2f2c05ff780ba5c290f4013de6fc354687a2f16197c68831746ab210a1af6d1218d53231ffd3135909b2bf0 + HEAD_REF master +) + +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 accbd38746c614..ac8a43aaa67b2a 100644 --- a/ports/boost-property-map-parallel/vcpkg.json +++ b/ports/boost-property-map-parallel/vcpkg.json @@ -1,26 +1,70 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-property-map-parallel", - "version": "1.77.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": [ - "boost-assert", - "boost-bind", - "boost-concept-check", - "boost-config", - "boost-function", + { + "name": "boost-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-concept-check", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-function", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, { "name": "boost-mpi", - "platform": "!uwp" - }, - "boost-mpl", - "boost-multi-index", - "boost-optional", - "boost-property-map", - "boost-serialization", - "boost-smart-ptr", - "boost-static-assert", - "boost-type-traits", - "boost-vcpkg-helpers" + "version>=": "1.86.0" + }, + { + "name": "boost-mpl", + "version>=": "1.86.0" + }, + { + "name": "boost-multi-index", + "version>=": "1.86.0" + }, + { + "name": "boost-optional", + "version>=": "1.86.0" + }, + { + "name": "boost-property-map", + "version>=": "1.86.0" + }, + { + "name": "boost-serialization", + "version>=": "1.86.0" + }, + { + "name": "boost-smart-ptr", + "version>=": "1.86.0" + }, + { + "name": "boost-static-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-property-map/portfile.cmake b/ports/boost-property-map/portfile.cmake index 8ba04af74875bb..7540c23b765e5b 100644 --- a/ports/boost-property-map/portfile.cmake +++ b/ports/boost-property-map/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/property_map - REF boost-1.77.0 - SHA512 3ba808996ebb148e328778cc59fc210b3cf75f9b7baa2b14ce615d43a9253febe1e54160a534dc13eaade1dda96f0c9f406c2229c0f621033678842621cb7727 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/property_map + REF boost-${VERSION} + SHA512 d5d3c448695d5be850413a1c68fd91eaab94e2b0ad14f365f5fa96dc2d0e4cb9c13e6f4bfa9b14bdd9e4549b86e3205851e52c8c13f5c2c46ba6e495e12bb48e + HEAD_REF master +) + +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 1706a7c9432d2a..23a788283a0846 100644 --- a/ports/boost-property-map/vcpkg.json +++ b/ports/boost-property-map/vcpkg.json @@ -1,23 +1,78 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-property-map", - "version": "1.77.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": [ - "boost-any", - "boost-assert", - "boost-concept-check", - "boost-config", - "boost-core", - "boost-function", - "boost-iterator", - "boost-lexical-cast", - "boost-mpl", - "boost-smart-ptr", - "boost-static-assert", - "boost-throw-exception", - "boost-type-traits", - "boost-utility", - "boost-vcpkg-helpers" + { + "name": "boost-any", + "version>=": "1.86.0" + }, + { + "name": "boost-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-concept-check", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-core", + "version>=": "1.86.0" + }, + { + "name": "boost-function", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-iterator", + "version>=": "1.86.0" + }, + { + "name": "boost-lexical-cast", + "version>=": "1.86.0" + }, + { + "name": "boost-mpl", + "version>=": "1.86.0" + }, + { + "name": "boost-smart-ptr", + "version>=": "1.86.0" + }, + { + "name": "boost-static-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-throw-exception", + "version>=": "1.86.0" + }, + { + "name": "boost-type-index", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + }, + { + "name": "boost-utility", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-property-tree/portfile.cmake b/ports/boost-property-tree/portfile.cmake index f3ad60b71ca7a4..5c25f9fa7876aa 100644 --- a/ports/boost-property-tree/portfile.cmake +++ b/ports/boost-property-tree/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/property_tree - REF boost-1.77.0 - SHA512 60bbac071e1d62bf95e5f490e8ebde97313643ee0ad512f06247fddc89da9934322fe3351274233b7b32ac7d8602b80ae03e9161b2dbad477bdf2ff3f41aca22 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/property_tree + REF boost-${VERSION} + SHA512 5fc15952d51dd298adb8b3b9121bdae6eb7188aae0518ba3591dcd83ef0d73b57771f8b7ee9d939ff3a682d853feeb409b82d0d63f96bf7a720d6dde6be83399 + HEAD_REF master +) + +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 dceaf13214139b..9396137a0f4887 100644 --- a/ports/boost-property-tree/vcpkg.json +++ b/ports/boost-property-tree/vcpkg.json @@ -1,24 +1,74 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-property-tree", - "version": "1.77.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": [ - "boost-any", - "boost-assert", - "boost-bind", - "boost-config", - "boost-core", - "boost-format", - "boost-iterator", - "boost-mpl", - "boost-multi-index", - "boost-optional", - "boost-range", - "boost-serialization", - "boost-static-assert", - "boost-throw-exception", - "boost-type-traits", - "boost-vcpkg-helpers" + { + "name": "boost-any", + "version>=": "1.86.0" + }, + { + "name": "boost-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-bind", + "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-iterator", + "version>=": "1.86.0" + }, + { + "name": "boost-mpl", + "version>=": "1.86.0" + }, + { + "name": "boost-multi-index", + "version>=": "1.86.0" + }, + { + "name": "boost-optional", + "version>=": "1.86.0" + }, + { + "name": "boost-range", + "version>=": "1.86.0" + }, + { + "name": "boost-serialization", + "version>=": "1.86.0" + }, + { + "name": "boost-static-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-throw-exception", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-proto/portfile.cmake b/ports/boost-proto/portfile.cmake index 1866bf5d3aa0e4..0ea2396f336f70 100644 --- a/ports/boost-proto/portfile.cmake +++ b/ports/boost-proto/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/proto - REF boost-1.77.0 - SHA512 2c50272ffbf1e0c69cec467238f77b4617ed7099a197a45c51232587f38e063b5397d3ab00ecd66dcb23ff0ab2ad22885d56569bc11093613de4e31b7f8d6a5a - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/proto + REF boost-${VERSION} + SHA512 4e89061602f4a2646eeb570e65adf588dab169461527aa60cb3c2328a227c81ec233311af431dd14ab0fe1f14d64486b0b10cbcb9ddfa156289a11661abfb117 + HEAD_REF master +) + +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 7bfba355cb14a2..19e909f5eed764 100644 --- a/ports/boost-proto/vcpkg.json +++ b/ports/boost-proto/vcpkg.json @@ -1,19 +1,58 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-proto", - "version": "1.77.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": [ - "boost-config", - "boost-core", - "boost-fusion", - "boost-mpl", - "boost-preprocessor", - "boost-range", - "boost-static-assert", - "boost-type-traits", - "boost-typeof", - "boost-utility", - "boost-vcpkg-helpers" + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-core", + "version>=": "1.86.0" + }, + { + "name": "boost-fusion", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-mpl", + "version>=": "1.86.0" + }, + { + "name": "boost-preprocessor", + "version>=": "1.86.0" + }, + { + "name": "boost-range", + "version>=": "1.86.0" + }, + { + "name": "boost-static-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + }, + { + "name": "boost-typeof", + "version>=": "1.86.0" + }, + { + "name": "boost-utility", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-ptr-container/portfile.cmake b/ports/boost-ptr-container/portfile.cmake index 3ef8d6a1520a83..36eda75f06df85 100644 --- a/ports/boost-ptr-container/portfile.cmake +++ b/ports/boost-ptr-container/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/ptr_container - REF boost-1.77.0 - SHA512 31075bef92e568c125e03177ad6222f8708f86f09e469a894c676036e4fb57cee6befb709b22f23d0949fb7e9f5280417e6109d3ba2b756ec6e735783222d531 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/ptr_container + REF boost-${VERSION} + SHA512 fd45d221bc9dfb81822943c8bcfa02285f3054977bb07285c5754b8cef7c3db4ecb90e591410bc636e3474ae71ec2e232e5f2d3ea4a46caf14182633b1954213 + HEAD_REF master +) + +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 8b1c2ef5d33c91..a09092b2a1043c 100644 --- a/ports/boost-ptr-container/vcpkg.json +++ b/ports/boost-ptr-container/vcpkg.json @@ -1,23 +1,70 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-ptr-container", - "version": "1.77.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": [ - "boost-array", - "boost-assert", - "boost-circular-buffer", - "boost-config", - "boost-core", - "boost-iterator", - "boost-mpl", - "boost-range", - "boost-serialization", - "boost-smart-ptr", - "boost-static-assert", - "boost-type-traits", - "boost-unordered", - "boost-utility", - "boost-vcpkg-helpers" + { + "name": "boost-array", + "version>=": "1.86.0" + }, + { + "name": "boost-assert", + "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-core", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-iterator", + "version>=": "1.86.0" + }, + { + "name": "boost-mpl", + "version>=": "1.86.0" + }, + { + "name": "boost-range", + "version>=": "1.86.0" + }, + { + "name": "boost-smart-ptr", + "version>=": "1.86.0" + }, + { + "name": "boost-static-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + }, + { + "name": "boost-unordered", + "version>=": "1.86.0" + }, + { + "name": "boost-utility", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-python/b2-options.cmake b/ports/boost-python/b2-options.cmake deleted file mode 100644 index f9f2e0f6ae7f8c..00000000000000 --- a/ports/boost-python/b2-options.cmake +++ /dev/null @@ -1,38 +0,0 @@ -set(build_python_versions) - -if("python2" IN_LIST FEATURES) - # Find Python2 libraries. Can't use find_package here, but we already know where everything is - 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 build_python_versions "${python2_version}") -endif() - -if("python3" IN_LIST FEATURES) - # Find Python3 libraries. Can't use find_package here, but we already know where everything is - 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 build_python_versions "${python3_version}") -endif() - -if(NOT build_python_versions) - message(FATAL_ERROR "Boost.Python requires at least one Python specified as a feature.") -endif() - -string(REPLACE ";" "," build_python_versions "${build_python_versions}") -list(APPEND B2_OPTIONS - python=${build_python_versions} -) - -if(CMAKE_CXX_FLAGS_DEBUG MATCHES "BOOST_DEBUG_PYTHON" AND CMAKE_BUILD_TYPE STREQUAL "Debug") - list(APPEND B2_OPTIONS - python-debugging=on - ) -endif() diff --git a/ports/boost-python/portfile.cmake b/ports/boost-python/portfile.cmake index f8bcfccad20737..3e61d29d801025 100644 --- a/ports/boost-python/portfile.cmake +++ b/ports/boost-python/portfile.cmake @@ -1,20 +1,17 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/python - REF boost-1.77.0 - SHA512 755a5636e9c65586d0459d017d93a88e5d9973da262ac1b60486d8159c9601c289b9e1acb45fd67bcd24b73e7c841d6e224729dedc9f7996bc9aea52baaeca80 - HEAD_REF master -) - -if(NOT DEFINED CURRENT_HOST_INSTALLED_DIR) - message(FATAL_ERROR "boost-python requires a newer version of vcpkg in order to build.") -endif() -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}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/python + REF boost-${VERSION} + SHA512 8823bd211c2c505cc990ee7aeae6a064801538fba018dde80b6118b4434909029f2ffaa3b53cdbb6b51500adbd5314de37da01c6960afeebe57b15582cec322a + HEAD_REF master + PATCHES + remove_undef.diff +) + +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 51d50389b48ffb..7d154509bee8d1 100644 --- a/ports/boost-python/vcpkg.json +++ b/ports/boost-python/vcpkg.json @@ -1,61 +1,104 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-python", - "version": "1.77.0", - "port-version": 1, + "version": "1.86.0", "description": "Boost python module", - "homepage": "https://github.com/boostorg/python", - "supports": "!uwp & !(arm & windows) & !emscripten", + "homepage": "https://www.boost.org/libs/python", + "license": "BSL-1.0", + "supports": "!uwp & !emscripten & !ios & !android", "dependencies": [ - "boost-align", - "boost-bind", - { - "name": "boost-build", - "host": true - }, - "boost-config", - "boost-conversion", - "boost-core", - "boost-detail", - "boost-foreach", - "boost-function", - "boost-graph", - "boost-integer", - "boost-iterator", - "boost-lexical-cast", - { - "name": "boost-modular-build-helper", - "host": true - }, - "boost-mpl", - "boost-numeric-conversion", - "boost-preprocessor", - "boost-property-map", - "boost-smart-ptr", - "boost-static-assert", - "boost-tuple", - "boost-type-traits", - "boost-utility", - "boost-vcpkg-helpers", - { - "name": "vcpkg-cmake", - "host": true - } - ], - "default-features": [ + { + "name": "boost-align", + "version>=": "1.86.0" + }, + { + "name": "boost-bind", + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-conversion", + "version>=": "1.86.0" + }, + { + "name": "boost-core", + "version>=": "1.86.0" + }, + { + "name": "boost-detail", + "version>=": "1.86.0" + }, + { + "name": "boost-foreach", + "version>=": "1.86.0" + }, + { + "name": "boost-function", + "version>=": "1.86.0" + }, + { + "name": "boost-graph", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-integer", + "version>=": "1.86.0" + }, + { + "name": "boost-iterator", + "version>=": "1.86.0" + }, + { + "name": "boost-lexical-cast", + "version>=": "1.86.0" + }, + { + "name": "boost-mpl", + "version>=": "1.86.0" + }, + { + "name": "boost-numeric-conversion", + "version>=": "1.86.0" + }, + { + "name": "boost-preprocessor", + "version>=": "1.86.0" + }, + { + "name": "boost-property-map", + "version>=": "1.86.0" + }, + { + "name": "boost-smart-ptr", + "version>=": "1.86.0" + }, + { + "name": "boost-static-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-tuple", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + }, + { + "name": "boost-utility", + "version>=": "1.86.0" + }, "python3" - ], - "features": { - "python2": { - "description": "Build with Python2 support", - "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 2ced66419075b7..5286f47efd848d 100644 --- a/ports/boost-qvm/portfile.cmake +++ b/ports/boost-qvm/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/qvm - REF boost-1.77.0 - SHA512 23cc5a83a056270ec46e2e4a405da9319d08c551cec6011ecb0af67ce21bc6e0f2d992e2257c96de7bf5256910d527ad365afc3d2d9dfe16513ddfd4456eadf9 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/qvm + REF boost-${VERSION} + SHA512 93dc58a5de6576523478856863daea225a26667463b4b0f188a78c82f11fe2610095600f70491877e866f7eb1bf76616fbb339f951f9342e6edbe143ef57cb1c + HEAD_REF master +) + +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 2a92183a57066f..5849b7372aa723 100644 --- a/ports/boost-qvm/vcpkg.json +++ b/ports/boost-qvm/vcpkg.json @@ -1,9 +1,22 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-qvm", - "version": "1.77.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": [ - "boost-vcpkg-helpers" + { + "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 587d4db9da93c4..dc7545a5c97b24 100644 --- a/ports/boost-random/portfile.cmake +++ b/ports/boost-random/portfile.cmake @@ -1,17 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/random - REF boost-1.77.0 - SHA512 74b9bc57e685e79310c46d168f88cc04cff3bb58f37e66658b726d96e7ea3405ee8e3c50f6261e65d2dac2bf8edfa4fe30e987ce7d5cb31ed1cdf74ea4326814 - HEAD_REF master -) - -if(NOT DEFINED CURRENT_HOST_INSTALLED_DIR) - message(FATAL_ERROR "boost-random requires a newer version of vcpkg in order to build.") -endif() -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}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/random + REF boost-${VERSION} + SHA512 eb436d7cec4ff70b4532dc63b8d2f32ab1bc21a8734072dde91424b8beaf76a72c172c00ddea821882509ddd63385a260ea412064a74542cbe537b3e66ef0d89 + HEAD_REF master +) + +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 d2e9e6c4ff3244..b7b39818b1b8ec 100644 --- a/ports/boost-random/vcpkg.json +++ b/ports/boost-random/vcpkg.json @@ -1,34 +1,71 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-random", - "version": "1.77.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": [ - "boost-array", - "boost-assert", - { - "name": "boost-build", - "host": true - }, - "boost-config", - "boost-core", - "boost-dynamic-bitset", - "boost-integer", - "boost-io", - { - "name": "boost-modular-build-helper", - "host": true - }, - "boost-range", - "boost-static-assert", - "boost-system", - "boost-throw-exception", - "boost-type-traits", - "boost-utility", - "boost-vcpkg-helpers", - { - "name": "vcpkg-cmake", - "host": true + { + "name": "boost-array", + "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-dynamic-bitset", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-integer", + "version>=": "1.86.0" + }, + { + "name": "boost-io", + "version>=": "1.86.0" + }, + { + "name": "boost-range", + "version>=": "1.86.0" + }, + { + "name": "boost-static-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-system", + "version>=": "1.86.0" + }, + { + "name": "boost-throw-exception", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + }, + { + "name": "boost-utility", + "version>=": "1.86.0" } ] } diff --git a/ports/boost-range/portfile.cmake b/ports/boost-range/portfile.cmake index 605832012ef3c6..0b1fa980836d6c 100644 --- a/ports/boost-range/portfile.cmake +++ b/ports/boost-range/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/range - REF boost-1.77.0 - SHA512 502dfd6f4c08fd653fee6a9fac14c717ddcd53d3e9ff68c43b80ccac73b88bb98bfb92e88508b82eb8eafa96e29914fe43b0ab550f62e6708d5ea0465ae9d51e - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/range + REF boost-${VERSION} + SHA512 1da5bf0546ac612afe9dac522a8207ff27d2714144790729791d9b2b3151691d9f23fdea9a6a16517cf8de88e7717f1b8916c953d0c81fc4444ba2c399bea9d6 + HEAD_REF master +) + +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 254fc05370e37d..384054fd57e371 100644 --- a/ports/boost-range/vcpkg.json +++ b/ports/boost-range/vcpkg.json @@ -1,26 +1,86 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-range", - "version": "1.77.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": [ - "boost-array", - "boost-assert", - "boost-concept-check", - "boost-config", - "boost-container-hash", - "boost-conversion", - "boost-core", - "boost-detail", - "boost-iterator", - "boost-mpl", - "boost-optional", - "boost-preprocessor", - "boost-regex", - "boost-static-assert", - "boost-tuple", - "boost-type-traits", - "boost-utility", - "boost-vcpkg-helpers" + { + "name": "boost-array", + "version>=": "1.86.0" + }, + { + "name": "boost-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-concept-check", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-container-hash", + "version>=": "1.86.0" + }, + { + "name": "boost-conversion", + "version>=": "1.86.0" + }, + { + "name": "boost-core", + "version>=": "1.86.0" + }, + { + "name": "boost-detail", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-iterator", + "version>=": "1.86.0" + }, + { + "name": "boost-mpl", + "version>=": "1.86.0" + }, + { + "name": "boost-optional", + "version>=": "1.86.0" + }, + { + "name": "boost-preprocessor", + "version>=": "1.86.0" + }, + { + "name": "boost-regex", + "version>=": "1.86.0" + }, + { + "name": "boost-static-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-tuple", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + }, + { + "name": "boost-utility", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-ratio/portfile.cmake b/ports/boost-ratio/portfile.cmake index 352cbbe17e729b..1a9c95767b23a1 100644 --- a/ports/boost-ratio/portfile.cmake +++ b/ports/boost-ratio/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/ratio - REF boost-1.77.0 - SHA512 aa575893c00eac177cef6a5e8817747a457bae1ef83cd32b81d950b9f13cdc1b744e0f8336773361727f4cc374d4731e973aa3f33f19ef53830f2b0818bc8b0d - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/ratio + REF boost-${VERSION} + SHA512 5d355b1cfafc4a4548c049a7cb90faef9a3942934f798444ccdf322d720c62af1b257992f8e80ce3b48cefbbe3cdfd21b984fc4b5c3ed8cfcbc0222b1c9f2f34 + HEAD_REF master +) + +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 3638387894cadd..2c252d1a2bd947 100644 --- a/ports/boost-ratio/vcpkg.json +++ b/ports/boost-ratio/vcpkg.json @@ -1,16 +1,22 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-ratio", - "version": "1.77.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": [ - "boost-config", - "boost-core", - "boost-integer", - "boost-mpl", - "boost-rational", - "boost-static-assert", - "boost-type-traits", - "boost-vcpkg-helpers" + { + "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-rational/portfile.cmake b/ports/boost-rational/portfile.cmake index 915af079212486..916d3072b0212a 100644 --- a/ports/boost-rational/portfile.cmake +++ b/ports/boost-rational/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/rational - REF boost-1.77.0 - SHA512 aa5328efb8b614ebbb7e4997c4b6fb1888110ece16d2ccd003ee5a284f16f59c5088c6d2750f766c99beeeefc95eba47aed6e6861ebc04bd9b7c10a2b1feccdc - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/rational + REF boost-${VERSION} + SHA512 720b7fb736135c0f3d5ca237ad72d64b36394bccaff68ef0038f7f65f3da8d6914fafd4ed645e3a85b16702d65075f5130d18905ad10c390dabedeab4e6bfda3 + HEAD_REF master +) + +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 566d04c56b4f19..6c8755fbbdb771 100644 --- a/ports/boost-rational/vcpkg.json +++ b/ports/boost-rational/vcpkg.json @@ -1,17 +1,50 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-rational", - "version": "1.77.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": [ - "boost-assert", - "boost-config", - "boost-core", - "boost-integer", - "boost-static-assert", - "boost-throw-exception", - "boost-type-traits", - "boost-utility", - "boost-vcpkg-helpers" + { + "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-integer", + "version>=": "1.86.0" + }, + { + "name": "boost-static-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-throw-exception", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + }, + { + "name": "boost-utility", + "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 ecbbcf974b8d2a..00000000000000 --- a/ports/boost-regex/b2-options.cmake +++ /dev/null @@ -1,6 +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() -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 658d78cd3c95f9..4e2c7c1de211dc 100644 --- a/ports/boost-regex/portfile.cmake +++ b/ports/boost-regex/portfile.cmake @@ -1,20 +1,18 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/regex - REF boost-1.77.0 - SHA512 1723747db78ff927b5e713604cedf5c8a2eb436ccb2b8e36691376bbf814438ed3e6a4862539f6b85aff27cc3690e0d37b0af7c6925e60b755a907e4ac51378c - HEAD_REF master -) - -if(NOT DEFINED CURRENT_HOST_INSTALLED_DIR) - message(FATAL_ERROR "boost-regex requires a newer version of vcpkg in order to build.") -endif() -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}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/regex + REF boost-${VERSION} + SHA512 4c52620fd8f754e8053b5c70cab7a274e311751356c90546f7f54d2700d744638ffc0db0e974ae80ef15efc4564ce8c81a98c02604f8e6ed0a7cc9b94e0d8aae + HEAD_REF master + PATCHES + compat.diff +) + +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-regex/vcpkg.json b/ports/boost-regex/vcpkg.json index 131e77673466a8..62998145509d9d 100644 --- a/ports/boost-regex/vcpkg.json +++ b/ports/boost-regex/vcpkg.json @@ -1,33 +1,66 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-regex", - "version": "1.77.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": [ - "boost-assert", - { - "name": "boost-build", - "host": true - }, - "boost-concept-check", - "boost-config", - "boost-container-hash", - "boost-core", - "boost-integer", - { - "name": "boost-modular-build-helper", - "host": true - }, - "boost-mpl", - "boost-predef", - "boost-smart-ptr", - "boost-static-assert", - "boost-throw-exception", - "boost-type-traits", - "boost-vcpkg-helpers", - { - "name": "vcpkg-cmake", - "host": true + { + "name": "boost-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-concept-check", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-container-hash", + "version>=": "1.86.0" + }, + { + "name": "boost-core", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-integer", + "version>=": "1.86.0" + }, + { + "name": "boost-mpl", + "version>=": "1.86.0" + }, + { + "name": "boost-predef", + "version>=": "1.86.0" + }, + { + "name": "boost-smart-ptr", + "version>=": "1.86.0" + }, + { + "name": "boost-static-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-throw-exception", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" } ], "features": { diff --git a/ports/boost-safe-numerics/portfile.cmake b/ports/boost-safe-numerics/portfile.cmake index 986b9853b0614d..a4692abde38b9d 100644 --- a/ports/boost-safe-numerics/portfile.cmake +++ b/ports/boost-safe-numerics/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/safe_numerics - REF boost-1.77.0 - SHA512 780fc1c03763ff43f50c4672489427b61eed92168618ca7199160c0124ca79be4da5e1e3691ee85bf7b7f1e1d79897412b0bac6280f224ce6d4e7dea4862a363 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/safe_numerics + REF boost-${VERSION} + SHA512 b9fda40e3012af0431ca29982aba36caf6303e6a80f5738454f6c704f8c8f2e3c826f4f9338da826f61bf81aa0cd26dbf9155105ec4ecfac6c61e0e8506622e9 + HEAD_REF master +) + +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 d328b0575bc361..e3134f4b25632f 100644 --- a/ports/boost-safe-numerics/vcpkg.json +++ b/ports/boost-safe-numerics/vcpkg.json @@ -1,15 +1,42 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-safe-numerics", - "version": "1.77.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": [ - "boost-concept-check", - "boost-config", - "boost-core", - "boost-integer", - "boost-logic", - "boost-mp11", - "boost-vcpkg-helpers" + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-concept-check", + "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-integer", + "version>=": "1.86.0" + }, + { + "name": "boost-logic", + "version>=": "1.86.0" + }, + { + "name": "boost-mp11", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-scope-exit/portfile.cmake b/ports/boost-scope-exit/portfile.cmake index 92047249581e8a..5885523ffb6260 100644 --- a/ports/boost-scope-exit/portfile.cmake +++ b/ports/boost-scope-exit/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/scope_exit - REF boost-1.77.0 - SHA512 f0a73ba219f2c47ff6e1dc6c9648708e6d31b11c85f4579ba35a6cfa4b633390effcc3508d269370101f776c1217f087b2f677f2e6bb1b9f07b33240f2ce3c77 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/scope_exit + REF boost-${VERSION} + SHA512 28dbee1fe9f828c2ed31b1284959ef26fb54702823c0a680b1c4058bda829c7afdd77ce5df82f148ee43b4d924c60ba3067a44df1444063f68d3ca7c36e7b4fa + HEAD_REF master +) + +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 98eec990818d96..e964c0c594454f 100644 --- a/ports/boost-scope-exit/vcpkg.json +++ b/ports/boost-scope-exit/vcpkg.json @@ -1,14 +1,38 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-scope-exit", - "version": "1.77.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": [ - "boost-config", - "boost-function", - "boost-preprocessor", - "boost-type-traits", - "boost-typeof", - "boost-vcpkg-helpers" + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-function", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-preprocessor", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + }, + { + "name": "boost-typeof", + "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 51fe27f7707b23..b85372f5dbc6df 100644 --- a/ports/boost-serialization/portfile.cmake +++ b/ports/boost-serialization/portfile.cmake @@ -1,17 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/serialization - REF boost-1.77.0 - SHA512 107264f536f3068415b7abbb30103defb9a51ef75b09132000381a8092cccc8f2796d39769a70b911c7b4aa8dc4ba1d987107a653f9dc6360769d5ecc525fc8d - HEAD_REF master -) - -if(NOT DEFINED CURRENT_HOST_INSTALLED_DIR) - message(FATAL_ERROR "boost-serialization requires a newer version of vcpkg in order to build.") -endif() -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}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/serialization + REF boost-${VERSION} + SHA512 c2743ce8a74321aca1637dcf80bc1e43f842a8ca652a3474cdb015efbe1d0e60204d658ce3437939f1756ab312fbefd8c8b1b00f50726cc10b1369d61c97f529 + HEAD_REF master +) + +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 f75fe3b5fa0253..30ea8b3225f15a 100644 --- a/ports/boost-serialization/vcpkg.json +++ b/ports/boost-serialization/vcpkg.json @@ -1,42 +1,110 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-serialization", - "version": "1.77.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": [ - "boost-array", - "boost-assert", - { - "name": "boost-build", - "host": true - }, - "boost-config", - "boost-core", - "boost-detail", - "boost-function", - "boost-integer", - "boost-io", - "boost-iterator", - { - "name": "boost-modular-build-helper", - "host": true - }, - "boost-move", - "boost-mpl", - "boost-optional", - "boost-predef", - "boost-preprocessor", - "boost-smart-ptr", - "boost-spirit", - "boost-static-assert", - "boost-type-traits", - "boost-unordered", - "boost-utility", - "boost-variant", - "boost-vcpkg-helpers", - { - "name": "vcpkg-cmake", - "host": true + { + "name": "boost-array", + "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-detail", + "version>=": "1.86.0" + }, + { + "name": "boost-function", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-integer", + "version>=": "1.86.0" + }, + { + "name": "boost-io", + "version>=": "1.86.0" + }, + { + "name": "boost-iterator", + "version>=": "1.86.0" + }, + { + "name": "boost-move", + "version>=": "1.86.0" + }, + { + "name": "boost-mp11", + "version>=": "1.86.0" + }, + { + "name": "boost-mpl", + "version>=": "1.86.0" + }, + { + "name": "boost-optional", + "version>=": "1.86.0" + }, + { + "name": "boost-predef", + "version>=": "1.86.0" + }, + { + "name": "boost-preprocessor", + "version>=": "1.86.0" + }, + { + "name": "boost-smart-ptr", + "version>=": "1.86.0" + }, + { + "name": "boost-spirit", + "version>=": "1.86.0" + }, + { + "name": "boost-static-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-throw-exception", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + }, + { + "name": "boost-utility", + "version>=": "1.86.0" + }, + { + "name": "boost-variant", + "version>=": "1.86.0" + }, + { + "name": "boost-variant2", + "version>=": "1.86.0" } ] } diff --git a/ports/boost-signals2/portfile.cmake b/ports/boost-signals2/portfile.cmake index 49c102fcaaea33..60d34cd8cb87d9 100644 --- a/ports/boost-signals2/portfile.cmake +++ b/ports/boost-signals2/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/signals2 - REF boost-1.77.0 - SHA512 7391cff74532df1df43c107070bba15324d3511066ec6eb5062775f3bc1ca6be0846e1719dc638a9920e09ca7f2c943909434e8d36758d6535e192d7e5a4c298 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/signals2 + REF boost-${VERSION} + SHA512 ad1e6ec601aaea4f9129f6c9e86f4438bc57e0e0b1de3acb69205a9f686095d610ab536a2a68bbd6e1a0412aec6db9b57156a32742903e7f381203422218201c + HEAD_REF master +) + +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 4e3e790a8feaf1..f03478d75058d0 100644 --- a/ports/boost-signals2/vcpkg.json +++ b/ports/boost-signals2/vcpkg.json @@ -1,25 +1,82 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-signals2", - "version": "1.77.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": [ - "boost-assert", - "boost-bind", - "boost-config", - "boost-core", - "boost-function", - "boost-iterator", - "boost-mpl", - "boost-optional", - "boost-parameter", - "boost-predef", - "boost-preprocessor", - "boost-smart-ptr", - "boost-throw-exception", - "boost-tuple", - "boost-type-traits", - "boost-variant", - "boost-vcpkg-helpers" + { + "name": "boost-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-bind", + "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-function", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-iterator", + "version>=": "1.86.0" + }, + { + "name": "boost-move", + "version>=": "1.86.0" + }, + { + "name": "boost-mpl", + "version>=": "1.86.0" + }, + { + "name": "boost-optional", + "version>=": "1.86.0" + }, + { + "name": "boost-parameter", + "version>=": "1.86.0" + }, + { + "name": "boost-preprocessor", + "version>=": "1.86.0" + }, + { + "name": "boost-smart-ptr", + "version>=": "1.86.0" + }, + { + "name": "boost-throw-exception", + "version>=": "1.86.0" + }, + { + "name": "boost-tuple", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + }, + { + "name": "boost-variant", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-smart-ptr/portfile.cmake b/ports/boost-smart-ptr/portfile.cmake index 479c4c63b0caec..e30568bd6c9560 100644 --- a/ports/boost-smart-ptr/portfile.cmake +++ b/ports/boost-smart-ptr/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/smart_ptr - REF boost-1.77.0 - SHA512 b34396f4e1b5660391b850b84393c8df8f207f5a8bb753af3f4ebc7f27d867e300d29e977ecd2f307089b3666949059ce3df64b68ab492873dfa5776b099b172 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/smart_ptr + REF boost-${VERSION} + SHA512 5b56c43298cdf3dd636e68276954075a3bae9a1fd5736039b779935f106a252ea9e979e12362b89903375ad1de0078c9fa5c81779ffb91d8453e4e02d711e17e + HEAD_REF master +) + +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 a3b85edc9d3948..8e8c1c28abcf13 100644 --- a/ports/boost-smart-ptr/vcpkg.json +++ b/ports/boost-smart-ptr/vcpkg.json @@ -1,16 +1,46 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-smart-ptr", - "version": "1.77.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": [ - "boost-assert", - "boost-config", - "boost-core", - "boost-move", - "boost-static-assert", - "boost-throw-exception", - "boost-type-traits", - "boost-vcpkg-helpers" + { + "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-move", + "version>=": "1.86.0" + }, + { + "name": "boost-static-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-throw-exception", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-sort/portfile.cmake b/ports/boost-sort/portfile.cmake index eb6f92a64aeb2d..52f332d6e3c4e2 100644 --- a/ports/boost-sort/portfile.cmake +++ b/ports/boost-sort/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/sort - REF boost-1.77.0 - SHA512 b27b58ea45a0392b8d2151e2d39899383f3c5d2a487de67433c64d89d529eaa8d7ca07559b944f0b93986e70f1de8d366d2d726e0a425c973ad9d98e1f8946cd - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/sort + REF boost-${VERSION} + SHA512 6c6257bc3c7fc12cbef19e0a96390683d6f8a1cd293beafe86ad9b1d425bb58d00a5788bb45bf7b666ab8259f5934db9c07dd862662ec89f16c170f75c75bc1e + HEAD_REF master +) + +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 03e7f7b519b4bb..de5c864287231e 100644 --- a/ports/boost-sort/vcpkg.json +++ b/ports/boost-sort/vcpkg.json @@ -1,14 +1,38 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-sort", - "version": "1.77.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": [ - "boost-config", - "boost-core", - "boost-range", - "boost-static-assert", - "boost-type-traits", - "boost-vcpkg-helpers" + { + "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-range", + "version>=": "1.86.0" + }, + { + "name": "boost-static-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-spirit/portfile.cmake b/ports/boost-spirit/portfile.cmake index b5367ece548138..3591773aaafa45 100644 --- a/ports/boost-spirit/portfile.cmake +++ b/ports/boost-spirit/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/spirit - REF boost-1.77.0 - SHA512 6fa466b084daf1a8b7191114217345be45226316e178e6b6ba6154493e674c584d903bd9d0a4f88104f60e5b47a99ad7e44052fe9ac2bc86d9be3f68bde42897 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/spirit + REF boost-${VERSION} + SHA512 a1be8a441b62cad7bc96ecd86830b789495f7b8fa74507d3fc0c41dac3c04309f8480c7ca9d56bcf7cb3e9ad42342f05ab9e5a644d96ff7d397e87ac4d900d72 + HEAD_REF master +) + +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 081c5af52cab83..7c00cf4671ca0a 100644 --- a/ports/boost-spirit/vcpkg.json +++ b/ports/boost-spirit/vcpkg.json @@ -1,39 +1,134 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-spirit", - "version": "1.77.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": [ - "boost-array", - "boost-assert", - "boost-config", - "boost-core", - "boost-endian", - "boost-foreach", - "boost-function", - "boost-function-types", - "boost-fusion", - "boost-integer", - "boost-io", - "boost-iterator", - "boost-move", - "boost-mpl", - "boost-optional", - "boost-phoenix", - "boost-pool", - "boost-preprocessor", - "boost-proto", - "boost-range", - "boost-regex", - "boost-smart-ptr", - "boost-static-assert", - "boost-thread", - "boost-throw-exception", - "boost-type-traits", - "boost-typeof", - "boost-unordered", - "boost-utility", - "boost-variant", - "boost-vcpkg-helpers" + { + "name": "boost-array", + "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-endian", + "version>=": "1.86.0" + }, + { + "name": "boost-function", + "version>=": "1.86.0" + }, + { + "name": "boost-function-types", + "version>=": "1.86.0" + }, + { + "name": "boost-fusion", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-integer", + "version>=": "1.86.0" + }, + { + "name": "boost-io", + "version>=": "1.86.0" + }, + { + "name": "boost-iterator", + "version>=": "1.86.0" + }, + { + "name": "boost-move", + "version>=": "1.86.0" + }, + { + "name": "boost-mpl", + "version>=": "1.86.0" + }, + { + "name": "boost-optional", + "version>=": "1.86.0" + }, + { + "name": "boost-phoenix", + "version>=": "1.86.0" + }, + { + "name": "boost-pool", + "version>=": "1.86.0" + }, + { + "name": "boost-preprocessor", + "version>=": "1.86.0" + }, + { + "name": "boost-proto", + "version>=": "1.86.0" + }, + { + "name": "boost-range", + "version>=": "1.86.0" + }, + { + "name": "boost-regex", + "version>=": "1.86.0" + }, + { + "name": "boost-smart-ptr", + "version>=": "1.86.0" + }, + { + "name": "boost-static-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-thread", + "version>=": "1.86.0" + }, + { + "name": "boost-throw-exception", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + }, + { + "name": "boost-typeof", + "version>=": "1.86.0" + }, + { + "name": "boost-unordered", + "version>=": "1.86.0" + }, + { + "name": "boost-utility", + "version>=": "1.86.0" + }, + { + "name": "boost-variant", + "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 a849f0ccddeb0a..0c14baeaa38ca8 100644 --- a/ports/boost-stacktrace/portfile.cmake +++ b/ports/boost-stacktrace/portfile.cmake @@ -1,17 +1,18 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/stacktrace - REF boost-1.77.0 - SHA512 bb4605b14ab1e1fbb2a593f8723ed5a3ef9258b21d7d0860f75773faca6c696792a8818f2a24c60f52b65e679067ac372d7a229682e52e05430555ed8e475b15 - HEAD_REF master -) - -if(NOT DEFINED CURRENT_HOST_INSTALLED_DIR) - message(FATAL_ERROR "boost-stacktrace requires a newer version of vcpkg in order to build.") -endif() -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}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/stacktrace + REF boost-${VERSION} + SHA512 643338eaafb956dc184c33889fd038602df0fe626e01b7135cf34cb5d716dabaf94511f78f2eafbc27c05d8881b4e0a230cb86e916a9d3705c7b02a5ad42b22d + HEAD_REF master + PATCHES + fix_config-check.diff +) + +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 4398affb7edccb..b1b468d4b59b09 100644 --- a/ports/boost-stacktrace/vcpkg.json +++ b/ports/boost-stacktrace/vcpkg.json @@ -1,30 +1,69 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-stacktrace", - "version": "1.77.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": [ - "boost-array", { - "name": "boost-build", - "host": true + "name": "boost-assert", + "version>=": "1.86.0" }, - "boost-config", - "boost-container-hash", - "boost-core", { - "name": "boost-modular-build-helper", - "host": true + "name": "boost-cmake", + "version>=": "1.86.0" }, - "boost-predef", - "boost-static-assert", - "boost-type-traits", - "boost-vcpkg-helpers", - "boost-winapi", { - "name": "vcpkg-cmake", - "host": true + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-container-hash", + "version>=": "1.86.0" + }, + { + "name": "boost-core", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-predef", + "version>=": "1.86.0" + }, + { + "name": "boost-winapi", + "version>=": "1.86.0" + } + ], + "default-features": [ + { + "name": "backtrace", + "platform": "!windows" + }, + { + "name": "windbg", + "platform": "windows" + } + ], + "features": { + "backtrace": { + "description": "Use boost_stacktrace_backtrace", + "supports": "!windows", + "dependencies": [ + { + "name": "libbacktrace", + "platform": "!windows" + } + ] + }, + "windbg": { + "description": "Use boost_stacktrace_windbg", + "supports": "windows" } - ] + } } diff --git a/ports/boost-statechart/portfile.cmake b/ports/boost-statechart/portfile.cmake index c11e60481a78c4..820dc4a3bb21d3 100644 --- a/ports/boost-statechart/portfile.cmake +++ b/ports/boost-statechart/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/statechart - REF boost-1.77.0 - SHA512 6bbe4a45ae1ff8ec76282d4bf2579a7882fe4682531facd97743096da33c715ea800fbf5e006c0d5b19a96b273fd297ee15c83a1ef90f1e0984aff66977ecbf1 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/statechart + REF boost-${VERSION} + SHA512 1aaf8056b13bfe5f6a7dc51e23155e27af872961cc55e8afe470e4a9dc91eab42ccd7d720bc37ee4f7965f4ab37b33c6d7367308c213bacb5a6454ef960e3c51 + HEAD_REF master +) + +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 0664a3a7d6006c..854eb5cabc5a21 100644 --- a/ports/boost-statechart/vcpkg.json +++ b/ports/boost-statechart/vcpkg.json @@ -1,21 +1,66 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-statechart", - "version": "1.77.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": [ - "boost-assert", - "boost-bind", - "boost-config", - "boost-conversion", - "boost-core", - "boost-detail", - "boost-function", - "boost-mpl", - "boost-smart-ptr", - "boost-static-assert", - "boost-thread", - "boost-type-traits", - "boost-vcpkg-helpers" + { + "name": "boost-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-bind", + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-conversion", + "version>=": "1.86.0" + }, + { + "name": "boost-core", + "version>=": "1.86.0" + }, + { + "name": "boost-detail", + "version>=": "1.86.0" + }, + { + "name": "boost-function", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-mpl", + "version>=": "1.86.0" + }, + { + "name": "boost-smart-ptr", + "version>=": "1.86.0" + }, + { + "name": "boost-static-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-thread", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-static-assert/portfile.cmake b/ports/boost-static-assert/portfile.cmake index 418975fbb8fde2..ab9d853bc9f3c9 100644 --- a/ports/boost-static-assert/portfile.cmake +++ b/ports/boost-static-assert/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/static_assert - REF boost-1.77.0 - SHA512 465b6af0f0eb66b0587f97dd1869d86c31dcdb9eb2d7d55249d4dc2d4c77eca0a501d1ccb82e0f93fc3be80ed2983b1b854a116ec965654eac43bdaaa9d4b2dc - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/static_assert + REF boost-${VERSION} + SHA512 f32baa358fd0314a903bab2f87ed3ed50e4027830c38c544a5507207a2ecd4deaf698bc3cef1a1e1967dadc360a7a355b7d7eddf890d514acea21cbc4994ad0f + HEAD_REF master +) + +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 73445511f2014c..23a1790a437b9f 100644 --- a/ports/boost-static-assert/vcpkg.json +++ b/ports/boost-static-assert/vcpkg.json @@ -1,10 +1,22 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-static-assert", - "version": "1.77.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": [ - "boost-config", - "boost-vcpkg-helpers" + { + "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-static-string/portfile.cmake b/ports/boost-static-string/portfile.cmake index 67e382249d1c38..ddece620c89d0c 100644 --- a/ports/boost-static-string/portfile.cmake +++ b/ports/boost-static-string/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/static_string - REF boost-1.77.0 - SHA512 62e8f014e1b073282a56136591f3eebde2e43574f4d12a638483740483f768e844d2f9f741d31ba7acf9d541c6ac68c1b54f30741763d029091e7d4d1c64bd37 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/static_string + REF boost-${VERSION} + SHA512 81b975e2bd5b4c9e84a21ae920c989fcbb8119e81935e44e19cbe67ccb5a7a7a5239e8544d75bfa00e3aa654b8d942d73092c05f98e97c9fe6b9e3bc232a5448 + HEAD_REF master +) + +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 ee2674cadf8a14..2bba9a8de3785f 100644 --- a/ports/boost-static-string/vcpkg.json +++ b/ports/boost-static-string/vcpkg.json @@ -1,14 +1,46 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-static-string", - "version": "1.77.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": [ - "boost-assert", - "boost-container-hash", - "boost-static-assert", - "boost-throw-exception", - "boost-utility", - "boost-vcpkg-helpers" + { + "name": "boost-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-container-hash", + "version>=": "1.86.0" + }, + { + "name": "boost-core", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-static-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-throw-exception", + "version>=": "1.86.0" + }, + { + "name": "boost-utility", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-stl-interfaces/portfile.cmake b/ports/boost-stl-interfaces/portfile.cmake index 7d92dd19dfd9df..3a091c00bd6e7f 100644 --- a/ports/boost-stl-interfaces/portfile.cmake +++ b/ports/boost-stl-interfaces/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/stl_interfaces - REF boost-1.77.0 - SHA512 df752f05d8c6125cf93b79a5b2b2722e3890fba888e729fba5503500da75a930ee29f654225028d3874107e3d1d0c4ecb165656ecf90ab4ba456fa435fe60b18 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/stl_interfaces + REF boost-${VERSION} + SHA512 522f422512d2fc5a60caa8d471593983b04b3dc9132229a3e873b1e460a02a7627546588e560c31ed927e4d5f74b30d3a25c9f5748d806e461ecee75fbf91a2e + HEAD_REF master +) + +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 922a5f330e36a6..9729be889db966 100644 --- a/ports/boost-stl-interfaces/vcpkg.json +++ b/ports/boost-stl-interfaces/vcpkg.json @@ -1,11 +1,30 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-stl-interfaces", - "version": "1.77.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": [ - "boost-assert", - "boost-config", - "boost-vcpkg-helpers" + { + "name": "boost-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.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 bbae650e885c21..17055ae7fd34dc 100644 --- a/ports/boost-system/portfile.cmake +++ b/ports/boost-system/portfile.cmake @@ -1,19 +1,19 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_buildpath_length_warning(37) - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/system - REF boost-1.77.0 - SHA512 d546f9f46d3b3723f7f2e26f7378e700fff2a81d1da93e0f45feb9efbe6ebb5cb072f5b783765f48d39ce5e7cf57414d0cb69590f37a7eea6c181991f038ad55 - HEAD_REF master -) - -if(NOT DEFINED CURRENT_HOST_INSTALLED_DIR) - message(FATAL_ERROR "boost-system requires a newer version of vcpkg in order to build.") -endif() -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}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_buildpath_length_warning(37) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/system + REF boost-${VERSION} + SHA512 d51ecdaa3e5ab82b725f608516ce973224c383bdee90a681d099599bfc0dd5774f50f421075a691d52bf5209c1d0d85762217ec1425e39000eb7fb366f69757a + HEAD_REF master + PATCHES + compat.diff +) + +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 6ac3905da4f429..86866b5b20970d 100644 --- a/ports/boost-system/vcpkg.json +++ b/ports/boost-system/vcpkg.json @@ -1,23 +1,38 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-system", - "version": "1.77.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-build", - "host": true + "name": "boost-assert", + "version>=": "1.86.0" }, - "boost-config", { - "name": "boost-modular-build-helper", - "host": true + "name": "boost-cmake", + "version>=": "1.86.0" }, - "boost-vcpkg-helpers", - "boost-winapi", { - "name": "vcpkg-cmake", - "host": true + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-throw-exception", + "version>=": "1.86.0" + }, + { + "name": "boost-variant2", + "version>=": "1.86.0" + }, + { + "name": "boost-winapi", + "version>=": "1.86.0" } ] } diff --git a/ports/boost-test/portfile.cmake b/ports/boost-test/portfile.cmake index 79cc825047314c..85248914c0abc5 100644 --- a/ports/boost-test/portfile.cmake +++ b/ports/boost-test/portfile.cmake @@ -1,36 +1,28 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/test - REF boost-1.77.0 - SHA512 017807e1af6aec76211e6b452f5bdeba6d8df47916c4e9f119fd38b184bb380f97e4584febf6c60305f6de9386888bbac3c59fb93be2368338e4d4bbb293f916 - HEAD_REF master -) - -file(READ "${SOURCE_PATH}/build/Jamfile.v2" _contents) -string(REPLACE "import ../../predef/check/predef" "import predef/check/predef" _contents "${_contents}") -file(WRITE "${SOURCE_PATH}/build/Jamfile.v2" "${_contents}") -file(COPY "${CURRENT_INSTALLED_DIR}/share/boost-predef/check" DESTINATION "${SOURCE_PATH}/build/predef") - -if(NOT DEFINED CURRENT_HOST_INSTALLED_DIR) - message(FATAL_ERROR "boost-test requires a newer version of vcpkg in order to build.") -endif() -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(GLOB MONITOR_LIBS ${CURRENT_PACKAGES_DIR}/lib/*_exec_monitor*) - 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(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(REMOVE ${DEBUG_MONITOR_LIBS}) -endif() - +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/test + REF boost-${VERSION} + SHA512 16e06e677bddbdc04a4607c653a66ca36fbf812eef4fe82244197a1a0e428ff0a5e3ead3c423c123273d67bc857a634bae889888175119e04691fdd3e5ad2b27 + HEAD_REF master +) + +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) +if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + 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(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(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(REMOVE ${DEBUG_MONITOR_LIBS}) +endif() diff --git a/ports/boost-test/vcpkg.json b/ports/boost-test/vcpkg.json index 5187f8f638d022..5b016044f6edd1 100644 --- a/ports/boost-test/vcpkg.json +++ b/ports/boost-test/vcpkg.json @@ -1,40 +1,91 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-test", - "version": "1.77.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": [ - "boost-algorithm", - "boost-assert", - "boost-bind", - { - "name": "boost-build", - "host": true - }, - "boost-config", - "boost-core", - "boost-detail", - "boost-exception", - "boost-function", - "boost-io", - "boost-iterator", - { - "name": "boost-modular-build-helper", - "host": true - }, - "boost-mpl", - "boost-numeric-conversion", - "boost-optional", - "boost-preprocessor", - "boost-smart-ptr", - "boost-static-assert", - "boost-type-traits", - "boost-utility", - "boost-vcpkg-helpers", - { - "name": "vcpkg-cmake", - "host": true + { + "name": "boost-algorithm", + "version>=": "1.86.0" + }, + { + "name": "boost-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-bind", + "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-detail", + "version>=": "1.86.0" + }, + { + "name": "boost-exception", + "version>=": "1.86.0" + }, + { + "name": "boost-function", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-io", + "version>=": "1.86.0" + }, + { + "name": "boost-iterator", + "version>=": "1.86.0" + }, + { + "name": "boost-mpl", + "version>=": "1.86.0" + }, + { + "name": "boost-numeric-conversion", + "version>=": "1.86.0" + }, + { + "name": "boost-optional", + "version>=": "1.86.0" + }, + { + "name": "boost-preprocessor", + "version>=": "1.86.0" + }, + { + "name": "boost-smart-ptr", + "version>=": "1.86.0" + }, + { + "name": "boost-static-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + }, + { + "name": "boost-utility", + "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 2fa7472644891e..e436c49869b291 100644 --- a/ports/boost-thread/portfile.cmake +++ b/ports/boost-thread/portfile.cmake @@ -1,20 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/thread - REF boost-1.77.0 - SHA512 b23a35190f0b57b057ddfb035c8b0ed33ff876ee35e9b1998fb429be370f8476e99bae9462906b40b7a0fa7e67d00cd9aba9a2e891786b5e5ebdb9f219492cff - HEAD_REF master -) - -if(NOT DEFINED CURRENT_HOST_INSTALLED_DIR) - message(FATAL_ERROR "boost-thread requires a newer version of vcpkg in order to build.") -endif() -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}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/thread + REF boost-${VERSION} + SHA512 0c10698176e695011b70aea5b0f427bb4265032349297fd6d71cb8b4d82ff4144ce8b5a4bc7ed9587485e51e46764820d3d4688a1e576dd8ec375140bce1f708 + HEAD_REF master +) + +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-thread/vcpkg.json b/ports/boost-thread/vcpkg.json index b91791b014fc98..49a156f61c0485 100644 --- a/ports/boost-thread/vcpkg.json +++ b/ports/boost-thread/vcpkg.json @@ -1,50 +1,118 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-thread", - "version": "1.77.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": [ - "boost-algorithm", - "boost-assert", - "boost-atomic", - "boost-bind", - { - "name": "boost-build", - "host": true - }, - "boost-chrono", - "boost-concept-check", - "boost-config", - "boost-container", - "boost-container-hash", - "boost-core", - "boost-date-time", - "boost-exception", - "boost-function", - "boost-intrusive", - "boost-io", - "boost-iterator", - "boost-lexical-cast", - { - "name": "boost-modular-build-helper", - "host": true - }, - "boost-move", - "boost-optional", - "boost-predef", - "boost-preprocessor", - "boost-smart-ptr", - "boost-static-assert", - "boost-system", - "boost-throw-exception", - "boost-tuple", - "boost-type-traits", - "boost-utility", - "boost-vcpkg-helpers", - "boost-winapi", - { - "name": "vcpkg-cmake", - "host": true + { + "name": "boost-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-atomic", + "version>=": "1.86.0" + }, + { + "name": "boost-bind", + "version>=": "1.86.0" + }, + { + "name": "boost-chrono", + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-concept-check", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-container", + "version>=": "1.86.0" + }, + { + "name": "boost-container-hash", + "version>=": "1.86.0" + }, + { + "name": "boost-core", + "version>=": "1.86.0" + }, + { + "name": "boost-date-time", + "version>=": "1.86.0" + }, + { + "name": "boost-exception", + "version>=": "1.86.0" + }, + { + "name": "boost-function", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-io", + "version>=": "1.86.0" + }, + { + "name": "boost-move", + "version>=": "1.86.0" + }, + { + "name": "boost-optional", + "version>=": "1.86.0" + }, + { + "name": "boost-predef", + "version>=": "1.86.0" + }, + { + "name": "boost-preprocessor", + "version>=": "1.86.0" + }, + { + "name": "boost-smart-ptr", + "version>=": "1.86.0" + }, + { + "name": "boost-static-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-system", + "version>=": "1.86.0" + }, + { + "name": "boost-throw-exception", + "version>=": "1.86.0" + }, + { + "name": "boost-tuple", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + }, + { + "name": "boost-utility", + "version>=": "1.86.0" + }, + { + "name": "boost-winapi", + "version>=": "1.86.0" } ] } diff --git a/ports/boost-throw-exception/portfile.cmake b/ports/boost-throw-exception/portfile.cmake index c2f1f091473a21..7499b037697ad6 100644 --- a/ports/boost-throw-exception/portfile.cmake +++ b/ports/boost-throw-exception/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/throw_exception - REF boost-1.77.0 - SHA512 26f6f8269c597f15a1c9ab78ee1244befa41448e9a9f8549b6ee149d495d0258dad83471507228162b6532dd9f8144b584bbdecfb0ef7c934f460faae9e3a373 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/throw_exception + REF boost-${VERSION} + SHA512 5474c6bc6dbc2d3dca6ad4baa60be5638fb69863a21cc6e4d2f3b15f23be5f9a89202a806284fac0191532e2411ddaeddfd8f1f5f0feb6348edcd2aa7338ff23 + HEAD_REF master +) + +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 b543770aec786e..99d0a6bac55086 100644 --- a/ports/boost-throw-exception/vcpkg.json +++ b/ports/boost-throw-exception/vcpkg.json @@ -1,11 +1,26 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-throw-exception", - "version": "1.77.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": [ - "boost-assert", - "boost-config", - "boost-vcpkg-helpers" + { + "name": "boost-assert", + "version>=": "1.86.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-timer/portfile.cmake b/ports/boost-timer/portfile.cmake index 455aae9d571680..c62ad59ba85e7d 100644 --- a/ports/boost-timer/portfile.cmake +++ b/ports/boost-timer/portfile.cmake @@ -1,17 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/timer - REF boost-1.77.0 - SHA512 39b4081fc8a19565493687c7c438597ad14b93523a901b2909412c41fa46bc97d300caa509d4651b5985ec9c7f4272be888b4570c0aff622bdb89ddc75af2bff - HEAD_REF master -) - -if(NOT DEFINED CURRENT_HOST_INSTALLED_DIR) - message(FATAL_ERROR "boost-timer requires a newer version of vcpkg in order to build.") -endif() -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}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/timer + REF boost-${VERSION} + SHA512 464cde448fcd3254f3087f51ef4cfce6624f8e73f71e0c16f92471544df0559056c30a073b259bc3201cfea6452d2648ea576c0e30eece8b1fc37375ee612a4f + HEAD_REF master +) + +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 3c6d96c800d27b..414cc8a6cb2431 100644 --- a/ports/boost-timer/vcpkg.json +++ b/ports/boost-timer/vcpkg.json @@ -1,28 +1,30 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-timer", - "version": "1.77.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 + "name": "boost-cmake", + "version>=": "1.86.0" }, - "boost-chrono", - "boost-config", - "boost-core", - "boost-io", { - "name": "boost-modular-build-helper", - "host": true + "name": "boost-config", + "version>=": "1.86.0" }, - "boost-predef", - "boost-system", - "boost-throw-exception", - "boost-vcpkg-helpers", { - "name": "vcpkg-cmake", - "host": true + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-io", + "version>=": "1.86.0" + }, + { + "name": "boost-predef", + "version>=": "1.86.0" } ] } diff --git a/ports/boost-tokenizer/portfile.cmake b/ports/boost-tokenizer/portfile.cmake index 837dcda6baca7d..a6e43022999bf5 100644 --- a/ports/boost-tokenizer/portfile.cmake +++ b/ports/boost-tokenizer/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/tokenizer - REF boost-1.77.0 - SHA512 3e271ba5fd74ba532cb9fb37c9aabb2c37c7221d780dbcd20ac372109e8a93aae591b5bbdcf901325d3fa2e3bfb5f564601d9920397a78fe0a3a9efe58e992ad - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/tokenizer + REF boost-${VERSION} + SHA512 9aff6bdee0abcfd25febef7bf94bff96f6146356ea3c83549f11e6b05c730cce8c24c88fb1bf325f4f69a4aaea9de37be11d73f12c6844c9e56dfa46068b217e + HEAD_REF master +) + +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 93e53cb376d4ae..c4670df1bb7473 100644 --- a/ports/boost-tokenizer/vcpkg.json +++ b/ports/boost-tokenizer/vcpkg.json @@ -1,16 +1,42 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-tokenizer", - "version": "1.77.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": [ - "boost-assert", - "boost-config", - "boost-core", - "boost-iterator", - "boost-mpl", - "boost-throw-exception", - "boost-type-traits", - "boost-vcpkg-helpers" + { + "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-iterator", + "version>=": "1.86.0" + }, + { + "name": "boost-throw-exception", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-tti/portfile.cmake b/ports/boost-tti/portfile.cmake index 18564ada6c926f..d29122296cf122 100644 --- a/ports/boost-tti/portfile.cmake +++ b/ports/boost-tti/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/tti - REF boost-1.77.0 - SHA512 15a9237f78b2686aad1ddf215c3d49f2711add13cb5b5b5b591778776c17f2aa7a6fe7e4e5da5660fc58db1d24a9ea6f97fb6d1a8fe3bb5a66ef26c44d20e3e9 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/tti + REF boost-${VERSION} + SHA512 a05af5933e961634dec75971d3398562ba983367fde7387a76bdbf874b758049fe4fa2358d8b7fb480e71c1be813efe4ef87291816d8693eb5f61d0da594e033 + HEAD_REF master +) + +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 ae20d2496a98ac..3e7a5b3e338b2f 100644 --- a/ports/boost-tti/vcpkg.json +++ b/ports/boost-tti/vcpkg.json @@ -1,14 +1,38 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-tti", - "version": "1.77.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": [ - "boost-config", - "boost-function-types", - "boost-mpl", - "boost-preprocessor", - "boost-type-traits", - "boost-vcpkg-helpers" + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-function-types", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-mpl", + "version>=": "1.86.0" + }, + { + "name": "boost-preprocessor", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-tuple/portfile.cmake b/ports/boost-tuple/portfile.cmake index 270379b957f522..1a4743d4be2787 100644 --- a/ports/boost-tuple/portfile.cmake +++ b/ports/boost-tuple/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/tuple - REF boost-1.77.0 - SHA512 01ac85a757d96b3b7ec337bb43de202db3a3a7212c4e1eea740d83a0dfc947666e9ad713332751bafd0f1395da12600cd8354b6e23ec00818dde61114dee4c45 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/tuple + REF boost-${VERSION} + SHA512 7a2d8bfed1db0f99d6b19c77afa0b0ab55d01a4d5a49605395e65eb3919e24fb75b28c8db999f2c8e8f935d0a2a9f63abda1f2b024bc0b1d51e0ccee71f70e67 + HEAD_REF master +) + +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 48d98c5214e932..9a60931a3d9895 100644 --- a/ports/boost-tuple/vcpkg.json +++ b/ports/boost-tuple/vcpkg.json @@ -1,13 +1,34 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-tuple", - "version": "1.77.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": [ - "boost-config", - "boost-core", - "boost-static-assert", - "boost-type-traits", - "boost-vcpkg-helpers" + { + "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-static-assert", + "version>=": "1.86.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 625b6671f57c78..dd941111de34cd 100644 --- a/ports/boost-type-erasure/portfile.cmake +++ b/ports/boost-type-erasure/portfile.cmake @@ -1,17 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/type_erasure - REF boost-1.77.0 - SHA512 ed875163ee10eb9c25ae190933efbebdec0f5c8962e8cb6fc717bd036e2d0405bca2cd2613b8984dad348b0f54c87617e64882e7b8b00ef77a1fc533cdede76d - HEAD_REF master -) - -if(NOT DEFINED CURRENT_HOST_INSTALLED_DIR) - message(FATAL_ERROR "boost-type-erasure requires a newer version of vcpkg in order to build.") -endif() -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}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/type_erasure + REF boost-${VERSION} + SHA512 48c24dafdd631057b09c11fc790cee8674211ee21296e1880bd6211f094f409c15a25b453b5914fd89456730d6e42bd7e123376fab6f6c3093b4b788c5141e18 + HEAD_REF master +) + +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 48919ee7befa45..61e96d9c0c6da4 100644 --- a/ports/boost-type-erasure/vcpkg.json +++ b/ports/boost-type-erasure/vcpkg.json @@ -1,35 +1,74 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-type-erasure", - "version": "1.77.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": [ - "boost-assert", - { - "name": "boost-build", - "host": true - }, - "boost-config", - "boost-core", - "boost-fusion", - "boost-iterator", - { - "name": "boost-modular-build-helper", - "host": true - }, - "boost-mp11", - "boost-mpl", - "boost-preprocessor", - "boost-smart-ptr", - "boost-thread", - "boost-throw-exception", - "boost-type-traits", - "boost-typeof", - "boost-vcpkg-helpers", - "boost-vmd", - { - "name": "vcpkg-cmake", - "host": true + { + "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-fusion", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-iterator", + "version>=": "1.86.0" + }, + { + "name": "boost-mp11", + "version>=": "1.86.0" + }, + { + "name": "boost-mpl", + "version>=": "1.86.0" + }, + { + "name": "boost-preprocessor", + "version>=": "1.86.0" + }, + { + "name": "boost-smart-ptr", + "version>=": "1.86.0" + }, + { + "name": "boost-thread", + "version>=": "1.86.0" + }, + { + "name": "boost-throw-exception", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + }, + { + "name": "boost-typeof", + "version>=": "1.86.0" + }, + { + "name": "boost-vmd", + "version>=": "1.86.0" } ] } diff --git a/ports/boost-type-index/portfile.cmake b/ports/boost-type-index/portfile.cmake index d554a0b06c33aa..3d5bceccdecadd 100644 --- a/ports/boost-type-index/portfile.cmake +++ b/ports/boost-type-index/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/type_index - REF boost-1.77.0 - SHA512 b2f15d95fc0a357264f1dc90a334b926a53d8dfbb1eb2f0efdebc586e96a1071467e4785e2e36eb335071a6da6b1aa9cb56bdb99f86a561d7d7041f845a5fe4a - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/type_index + REF boost-${VERSION} + SHA512 be51ca7a6cbdaae4f13f30f73a075f2898ca5eb3048febd173a6d17cf42c3fbea2508f03f2cfb3364f469ef7d30a124e13a944a16e7be961dd0dfdd83781c4e5 + HEAD_REF master +) + +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 6b919889beccac..1f18c68ce9b622 100644 --- a/ports/boost-type-index/vcpkg.json +++ b/ports/boost-type-index/vcpkg.json @@ -1,16 +1,34 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-type-index", - "version": "1.77.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": [ - "boost-config", - "boost-container-hash", - "boost-core", - "boost-preprocessor", - "boost-static-assert", - "boost-throw-exception", - "boost-type-traits", - "boost-vcpkg-helpers" + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-container-hash", + "version>=": "1.86.0" + }, + { + "name": "boost-core", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-throw-exception", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-type-traits/portfile.cmake b/ports/boost-type-traits/portfile.cmake index 0bbde14fbbe6fd..f7c4d01902b361 100644 --- a/ports/boost-type-traits/portfile.cmake +++ b/ports/boost-type-traits/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/type_traits - REF boost-1.77.0 - SHA512 3509a752e476ebcd19a7f17d3f7b709df82459659ab91976e5979fdfa14726d2840e7e59a50d47b3b489f86fb44153def13e0e009bfa0db33c1f6ed4e952f1b5 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/type_traits + REF boost-${VERSION} + SHA512 35f59eb0ae7b854ee0a4b0a307cbc25514fb2d47684bfde760d4fbb8f6c6fb1b93ed919feef08d6fb6339dae25b7e1cc1eb0164a762d247a126e282a562cec98 + HEAD_REF master +) + +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 6858974585a970..f1f971e6643734 100644 --- a/ports/boost-type-traits/vcpkg.json +++ b/ports/boost-type-traits/vcpkg.json @@ -1,11 +1,26 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-type-traits", - "version": "1.77.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": [ - "boost-config", - "boost-static-assert", - "boost-vcpkg-helpers" + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-static-assert", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-typeof/portfile.cmake b/ports/boost-typeof/portfile.cmake index d8ce3c67251bcd..6ba59fbedbbfe0 100644 --- a/ports/boost-typeof/portfile.cmake +++ b/ports/boost-typeof/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/typeof - REF boost-1.77.0 - SHA512 4e1e4fc50d323d7604c9535eca11158dcd5fd8e3b7851316e9f6614b9c60f7f398c06d30b02a5699cd2d01941bec423824376623c98dbeff83c295b07dcf96d2 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/typeof + REF boost-${VERSION} + SHA512 08194c921a05ba1d5981e21c2515d575b16c42dcb25fda8a06362130583249659d920c78b0020ccf8f1ab447695aa9fae1f61333bfb3ae0c92387ed138e467f5 + HEAD_REF master +) + +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 d3977ed533f0b5..b65921079bc9f9 100644 --- a/ports/boost-typeof/vcpkg.json +++ b/ports/boost-typeof/vcpkg.json @@ -1,12 +1,22 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-typeof", - "version": "1.77.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": [ - "boost-config", - "boost-preprocessor", - "boost-type-traits", - "boost-vcpkg-helpers" + { + "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-ublas/portfile.cmake b/ports/boost-ublas/portfile.cmake index 93df8d66531fec..ccabee0c6aee26 100644 --- a/ports/boost-ublas/portfile.cmake +++ b/ports/boost-ublas/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/ublas - REF boost-1.77.0 - SHA512 7be4845bebb317181667a3b2b284bc9098ad68a2751b187054c6f051af625a4f0c7754943b12cfda2a7268bedec2b12cfaf8fba5e58084b836993850ea5af942 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/ublas + REF boost-${VERSION} + SHA512 456300b79bce700364ed3349cfd8ea8c33e68047b671d865035eb10e72a736d49a24825110264e5ca2fc4fb5f7472b27ff540976231e0547b4632a24017c5614 + HEAD_REF master +) + +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 ebccbb631cccd2..9e15e38c575ef2 100644 --- a/ports/boost-ublas/vcpkg.json +++ b/ports/boost-ublas/vcpkg.json @@ -1,22 +1,70 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-ublas", - "version": "1.77.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": [ - "boost-compute", - "boost-concept-check", - "boost-config", - "boost-core", - "boost-interval", - "boost-iterator", - "boost-mpl", - "boost-range", - "boost-serialization", - "boost-smart-ptr", - "boost-static-assert", - "boost-type-traits", - "boost-typeof", - "boost-vcpkg-helpers" + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-compute", + "version>=": "1.86.0" + }, + { + "name": "boost-concept-check", + "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-interval", + "version>=": "1.86.0" + }, + { + "name": "boost-iterator", + "version>=": "1.86.0" + }, + { + "name": "boost-mpl", + "version>=": "1.86.0" + }, + { + "name": "boost-range", + "version>=": "1.86.0" + }, + { + "name": "boost-serialization", + "version>=": "1.86.0" + }, + { + "name": "boost-smart-ptr", + "version>=": "1.86.0" + }, + { + "name": "boost-static-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + }, + { + "name": "boost-typeof", + "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 09aa7f2f383990..6be196923d909f 100644 --- a/ports/boost-uninstall/vcpkg.json +++ b/ports/boost-uninstall/vcpkg.json @@ -1,5 +1,7 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-uninstall", - "version": "1.77.0", - "description": "Internal vcpkg port used to uninstall Boost" + "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 3a4afc42bee612..bee59ecb961fa3 100644 --- a/ports/boost-units/portfile.cmake +++ b/ports/boost-units/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/units - REF boost-1.77.0 - SHA512 a3667c3e4f15e7612ed96f386aa05eafcb2448340c7000f4f2bd840b13bc326780a5700fb171db8535396ccc5d6342114953f3c3cc6da2b729964b3db683e1d5 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/units + REF boost-${VERSION} + SHA512 36923eeb494682959057d190c9900dc70b1f966bdb37f5029cade89bb1e1db2ae934825fa02fd11b069c3ed7866ce7c09af6eda86a28357d5f6092e3cd0a8c7d + HEAD_REF master +) + +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 c0fcd1274df853..46c45b785f315b 100644 --- a/ports/boost-units/vcpkg.json +++ b/ports/boost-units/vcpkg.json @@ -1,21 +1,66 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-units", - "version": "1.77.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": [ - "boost-assert", - "boost-config", - "boost-core", - "boost-integer", - "boost-io", - "boost-lambda", - "boost-math", - "boost-mpl", - "boost-preprocessor", - "boost-static-assert", - "boost-type-traits", - "boost-typeof", - "boost-vcpkg-helpers" + { + "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-integer", + "version>=": "1.86.0" + }, + { + "name": "boost-io", + "version>=": "1.86.0" + }, + { + "name": "boost-lambda", + "version>=": "1.86.0" + }, + { + "name": "boost-math", + "version>=": "1.86.0" + }, + { + "name": "boost-mpl", + "version>=": "1.86.0" + }, + { + "name": "boost-preprocessor", + "version>=": "1.86.0" + }, + { + "name": "boost-static-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + }, + { + "name": "boost-typeof", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-unordered/portfile.cmake b/ports/boost-unordered/portfile.cmake index b8cf77da97d0f5..59c3c63de7943b 100644 --- a/ports/boost-unordered/portfile.cmake +++ b/ports/boost-unordered/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/unordered - REF boost-1.77.0 - SHA512 a561c3b26142c870c15dcf6f38635a5035671c4beedd66877582dc9459ee658eddf067e0ee642d90ec292a6dbde8ff86ecbec66e1d1dd635ee699cbfa418aab4 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/unordered + REF boost-${VERSION} + SHA512 65865639d5e3d9f323cfffbdf532224b1f06f2c04a6a25e7f282a4051814101835c71747642bf7a8a704b6fbcde9006b03abac2e5a1e185a205fc88c3b3394e1 + HEAD_REF master +) + +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 b1084f5c3145fc..65a28b88874094 100644 --- a/ports/boost-unordered/vcpkg.json +++ b/ports/boost-unordered/vcpkg.json @@ -1,22 +1,46 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-unordered", - "version": "1.77.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": [ - "boost-assert", - "boost-config", - "boost-container", - "boost-container-hash", - "boost-core", - "boost-detail", - "boost-move", - "boost-predef", - "boost-preprocessor", - "boost-smart-ptr", - "boost-throw-exception", - "boost-tuple", - "boost-type-traits", - "boost-vcpkg-helpers" + { + "name": "boost-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-container-hash", + "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-predef", + "version>=": "1.86.0" + }, + { + "name": "boost-throw-exception", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-url/portfile.cmake b/ports/boost-url/portfile.cmake new file mode 100644 index 00000000000000..ab8e15f9321a10 --- /dev/null +++ b/ports/boost-url/portfile.cmake @@ -0,0 +1,15 @@ +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/url + REF boost-${VERSION} + SHA512 f03f2e3d00a9b1591a1e432613b76ae4e0c5bb633cb8e9725282833b93227edf7f929d4ac138f5a585fe6e66ce030cf00043c73cab02f5ac87edf6c4b07f8c31 + HEAD_REF master +) + +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-url/vcpkg.json b/ports/boost-url/vcpkg.json new file mode 100644 index 00000000000000..7d9d6397a51f6b --- /dev/null +++ b/ports/boost-url/vcpkg.json @@ -0,0 +1,62 @@ +{ + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", + "name": "boost-url", + "version": "1.86.0", + "description": "Boost url module", + "homepage": "https://www.boost.org/libs/url", + "license": "BSL-1.0", + "dependencies": [ + { + "name": "boost-align", + "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-optional", + "version>=": "1.86.0" + }, + { + "name": "boost-static-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-system", + "version>=": "1.86.0" + }, + { + "name": "boost-throw-exception", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + }, + { + "name": "boost-variant2", + "version>=": "1.86.0" + } + ] +} diff --git a/ports/boost-utility/portfile.cmake b/ports/boost-utility/portfile.cmake index 0702ca049e49d1..75551523f6bb27 100644 --- a/ports/boost-utility/portfile.cmake +++ b/ports/boost-utility/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/utility - REF boost-1.77.0 - SHA512 2461e9b91b59df84ba7dc19c86c5f52b95780d9e5998575755144b5d1885da4e584b35b27694030eb6a2520c0891b5370b2ff19e657a05a81e1a3eaffaee2ac9 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/utility + REF boost-${VERSION} + SHA512 ce7e43702f0e5f02448408abd21878002d6148e75ac1cf31fc568169807cafbf8128bea5ba3fca84ef977e62acc09342111c9c59ad152cef39da8d57e3cd6cb5 + HEAD_REF master +) + +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 da333b8348f863..64e1c6058d57fe 100644 --- a/ports/boost-utility/vcpkg.json +++ b/ports/boost-utility/vcpkg.json @@ -1,15 +1,46 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-utility", - "version": "1.77.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": [ - "boost-config", - "boost-core", - "boost-io", - "boost-preprocessor", - "boost-throw-exception", - "boost-type-traits", - "boost-vcpkg-helpers" + { + "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-io", + "version>=": "1.86.0" + }, + { + "name": "boost-preprocessor", + "version>=": "1.86.0" + }, + { + "name": "boost-throw-exception", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-uuid/portfile.cmake b/ports/boost-uuid/portfile.cmake index 89f4a492f011c9..41306c5e7fdb46 100644 --- a/ports/boost-uuid/portfile.cmake +++ b/ports/boost-uuid/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/uuid - REF boost-1.77.0 - SHA512 5548d3eed3f263595d9bb1babbd6f15d37b327c2c0e9ebd539e8d5f85e2fb59e7c9c932df615eb3eefcc2b48fa8e3c741a46a3b2ffad46b40a1a0cd4dde70c3f - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/uuid + REF boost-${VERSION} + SHA512 0c9ec80278696c7c1e1398e1f01bee52adc0afef647d3619c63ba700899329fc82520b7afda8871537163659229d96e6223bf30b6e962084a578051821707864 + HEAD_REF master +) + +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 73dbcda7504115..2a1809ae83b496 100644 --- a/ports/boost-uuid/vcpkg.json +++ b/ports/boost-uuid/vcpkg.json @@ -1,24 +1,34 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-uuid", - "version": "1.77.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": [ - "boost-assert", - "boost-config", - "boost-container-hash", - "boost-core", - "boost-io", - "boost-move", - "boost-numeric-conversion", - "boost-predef", - "boost-random", - "boost-serialization", - "boost-static-assert", - "boost-throw-exception", - "boost-tti", - "boost-type-traits", - "boost-vcpkg-helpers", - "boost-winapi" + { + "name": "boost-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-throw-exception", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-variant/portfile.cmake b/ports/boost-variant/portfile.cmake index c571ce509bc51d..9bbca15b60afd6 100644 --- a/ports/boost-variant/portfile.cmake +++ b/ports/boost-variant/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/variant - REF boost-1.77.0 - SHA512 60c5f185c183a9d186ffa00d9809aed79ef60d5d2731ad36275a0e9a0a239b682878d3c00ba9760621eb817601c0ca848794c7f2c4f34bced4a4bbcf9e71c95c - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/variant + REF boost-${VERSION} + SHA512 cb40d94f19955af79483ef0e3c01e32ffde6c57ca38b915867a8f9151a6db967117f22ca2382fa5f728d6222515355dedf6871a54ebc66b8038caa9cd2113e0a + HEAD_REF master +) + +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 771b5d8a025b96..01960f8d00e8c2 100644 --- a/ports/boost-variant/vcpkg.json +++ b/ports/boost-variant/vcpkg.json @@ -1,24 +1,70 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-variant", - "version": "1.77.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": [ - "boost-assert", - "boost-bind", - "boost-config", - "boost-container-hash", - "boost-core", - "boost-detail", - "boost-integer", - "boost-move", - "boost-mpl", - "boost-preprocessor", - "boost-static-assert", - "boost-throw-exception", - "boost-type-index", - "boost-type-traits", - "boost-utility", - "boost-vcpkg-helpers" + { + "name": "boost-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-container-hash", + "version>=": "1.86.0" + }, + { + "name": "boost-core", + "version>=": "1.86.0" + }, + { + "name": "boost-detail", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-integer", + "version>=": "1.86.0" + }, + { + "name": "boost-mpl", + "version>=": "1.86.0" + }, + { + "name": "boost-preprocessor", + "version>=": "1.86.0" + }, + { + "name": "boost-static-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-throw-exception", + "version>=": "1.86.0" + }, + { + "name": "boost-type-index", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + }, + { + "name": "boost-utility", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-variant2/portfile.cmake b/ports/boost-variant2/portfile.cmake index e28c1022ea6041..353172432ddbd0 100644 --- a/ports/boost-variant2/portfile.cmake +++ b/ports/boost-variant2/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/variant2 - REF boost-1.77.0 - SHA512 0f4741e29288b2856eaa09c33557117faab71900b50e12f76bc89fea711cf1319ebff4aa9b3efd4012e510192e22c006bf1179c37798b386c7cecc955819dd96 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/variant2 + REF boost-${VERSION} + SHA512 0b85a5d229ab6e75575ed1379922d28c227c89f6e6e72302ba723b3a32d4ab13740c2c7a09c35714c1713ed426be1bf7bf14ef5d4e05e894ecc6d1fd83f019ac + HEAD_REF master +) + +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 a823020a80bbb5..6bc09886fbf494 100644 --- a/ports/boost-variant2/vcpkg.json +++ b/ports/boost-variant2/vcpkg.json @@ -1,11 +1,30 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-variant2", - "version": "1.77.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": [ - "boost-config", - "boost-mp11", - "boost-vcpkg-helpers" + { + "name": "boost-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-mp11", + "version>=": "1.86.0" + } ] } 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 73350f053280ad..00000000000000 --- a/ports/boost-vcpkg-helpers/boost-modular-headers.cmake +++ /dev/null @@ -1,26 +0,0 @@ -function(boost_modular_headers) - cmake_parse_arguments(_bm "" "SOURCE_PATH" "" ${ARGN}) - - set(BOOST_VERSION 1.77.0) - - if(NOT DEFINED _bm_SOURCE_PATH) - message(FATAL_ERROR "SOURCE_PATH is a required argument to boost_modular_headers.") - endif() - - message(STATUS "Packaging headers") - - file( - COPY ${_bm_SOURCE_PATH}/include/boost - DESTINATION ${CURRENT_PACKAGES_DIR}/include - ) - - message(STATUS "Packaging headers done") - - vcpkg_download_distfile(ARCHIVE - URLS "https://raw.githubusercontent.com/boostorg/boost/boost-${BOOST_VERSION}/LICENSE_1_0.txt" - FILENAME "boost_LICENSE_1_0.txt" - SHA512 d6078467835dba8932314c1c1e945569a64b065474d7aced27c9a7acc391d52e9f234138ed9f1aa9cd576f25f12f557e0b733c14891d42c16ecdc4a7bd4d60b8 - ) - file(INSTALL ${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) - file(INSTALL ${ARCHIVE} 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 0233bda5aa7b1a..00000000000000 --- a/ports/boost-vcpkg-helpers/portfile.cmake +++ /dev/null @@ -1,8 +0,0 @@ - -file(COPY - ${CMAKE_CURRENT_LIST_DIR}/boost-modular-headers.cmake - ${CMAKE_CURRENT_LIST_DIR}/usage - DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} -) - -set(VCPKG_POLICY_EMPTY_PACKAGE enabled) 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 3b73dbb6c45148..00000000000000 --- a/ports/boost-vcpkg-helpers/vcpkg.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "boost-vcpkg-helpers", - "version": "1.77.0", - "description": "Internal vcpkg port used to modularize Boost", - "dependencies": [ - "boost-uninstall" - ] -} diff --git a/ports/boost-vmd/portfile.cmake b/ports/boost-vmd/portfile.cmake index 1af24d81373f2f..f813aa70042f03 100644 --- a/ports/boost-vmd/portfile.cmake +++ b/ports/boost-vmd/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/vmd - REF boost-1.77.0 - SHA512 2c7a5a631c78ff94a4557f102643f41add507b2bc80baed1705fbf13f76ae70672a4789cd310a3817e48d85e90477a8a81c68aab110aca53f714400dde438a7b - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/vmd + REF boost-${VERSION} + SHA512 9ec3e6cb7b269f8f0403404ee1afd775e993825f7939a960f2656a2dbe7bb6af0364009f24aaf3c6bb5f6cc2249780cb281ee7f4147401d0e479b3b2cdf24806 + HEAD_REF master +) + +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 cc21a448a0d604..6d49c4dff3e756 100644 --- a/ports/boost-vmd/vcpkg.json +++ b/ports/boost-vmd/vcpkg.json @@ -1,10 +1,26 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-vmd", - "version": "1.77.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": [ - "boost-preprocessor", - "boost-vcpkg-helpers" + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.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 a874786a820a07..824ae9d0798857 100644 --- a/ports/boost-wave/portfile.cmake +++ b/ports/boost-wave/portfile.cmake @@ -1,17 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/wave - REF boost-1.77.0 - SHA512 d7b940086776a54ab2907277bbdc6be40b99dd358fde333802076d1a7e671aaf09326fb1a3742f9d23036666e34efc0c9c58b7a421edd93f6807e10a1886d880 - HEAD_REF master -) - -if(NOT DEFINED CURRENT_HOST_INSTALLED_DIR) - message(FATAL_ERROR "boost-wave requires a newer version of vcpkg in order to build.") -endif() -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}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/wave + REF boost-${VERSION} + SHA512 2eb0b5327720dd6d58a083c9a5a2d0316bbc2b8d7618aa51929e3f97e6cff7d30b7f1cfce027801d9355dc1d5d78daa7bc2ca891598da25a8e759c82438e6ded + HEAD_REF master +) + +set(FEATURE_OPTIONS "") +boost_configure_and_install( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) diff --git a/ports/boost-wave/vcpkg.json b/ports/boost-wave/vcpkg.json index 761743a56514cd..2dff7b9755c6a7 100644 --- a/ports/boost-wave/vcpkg.json +++ b/ports/boost-wave/vcpkg.json @@ -1,43 +1,96 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-wave", - "version": "1.77.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": [ - "boost-assert", { - "name": "boost-build", - "host": true + "name": "boost-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-concept-check", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-core", + "version>=": "1.86.0" }, - "boost-concept-check", - "boost-config", - "boost-core", { "name": "boost-filesystem", - "platform": "!uwp" - }, - "boost-iterator", - "boost-lexical-cast", - { - "name": "boost-modular-build-helper", - "host": true - }, - "boost-mpl", - "boost-multi-index", - "boost-optional", - "boost-pool", - "boost-preprocessor", - "boost-serialization", - "boost-smart-ptr", - "boost-spirit", - "boost-static-assert", - "boost-throw-exception", - "boost-type-traits", - "boost-vcpkg-helpers", - { - "name": "vcpkg-cmake", - "host": true + "platform": "!uwp", + "version>=": "1.86.0" + }, + { + "name": "boost-format", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-iterator", + "version>=": "1.86.0" + }, + { + "name": "boost-lexical-cast", + "version>=": "1.86.0" + }, + { + "name": "boost-mpl", + "version>=": "1.86.0" + }, + { + "name": "boost-multi-index", + "version>=": "1.86.0" + }, + { + "name": "boost-optional", + "version>=": "1.86.0" + }, + { + "name": "boost-pool", + "version>=": "1.86.0" + }, + { + "name": "boost-preprocessor", + "version>=": "1.86.0" + }, + { + "name": "boost-serialization", + "version>=": "1.86.0" + }, + { + "name": "boost-smart-ptr", + "version>=": "1.86.0" + }, + { + "name": "boost-spirit", + "version>=": "1.86.0" + }, + { + "name": "boost-static-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-throw-exception", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" } ] } diff --git a/ports/boost-winapi/portfile.cmake b/ports/boost-winapi/portfile.cmake index e959cbb1987009..f5ff907e8fec48 100644 --- a/ports/boost-winapi/portfile.cmake +++ b/ports/boost-winapi/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/winapi - REF boost-1.77.0 - SHA512 a14aefe991dfb9f4845734990bcd567ef55f431658cabe8fb61a4380e323b5149652b8b2ed53e73215009b4e5672bac51bd5207d073a80d89dcbdaa736315f4e - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/winapi + REF boost-${VERSION} + SHA512 e03553565112ec318f63bd7af4829f0406c022ce4df5e0d46667971f6b6c7fc5f538644102591bdc864ac71f431efc606592bb457fe40688fdbf911ac064a28c + HEAD_REF master +) + +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 1e457e8be9fa5a..ccc417106348cd 100644 --- a/ports/boost-winapi/vcpkg.json +++ b/ports/boost-winapi/vcpkg.json @@ -1,11 +1,26 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-winapi", - "version": "1.77.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": [ - "boost-config", - "boost-predef", - "boost-vcpkg-helpers" + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-predef", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-xpressive/portfile.cmake b/ports/boost-xpressive/portfile.cmake index dd1f8f7def1609..dd306404ee5384 100644 --- a/ports/boost-xpressive/portfile.cmake +++ b/ports/boost-xpressive/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/xpressive - REF boost-1.77.0 - SHA512 79fcb6050c770590b0756d6cc2980bf6c8a4824affb56e41e3cbbefadcf1b5bfb04476691ebda57c61c8511eb2a50ee9618fdd8f8f75a7617ddabbda551531b1 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/xpressive + REF boost-${VERSION} + SHA512 cf9bb9b0680f43fbbcebe32441b81978ac036c20d1579fce375623e7a03c90276ba5b2b2363fe7988655afabaed42d296e8d2af5b6339a7bddd7b4b44d265054 + HEAD_REF master +) + +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 3f11022987540c..0d5269c3ab51f7 100644 --- a/ports/boost-xpressive/vcpkg.json +++ b/ports/boost-xpressive/vcpkg.json @@ -1,31 +1,106 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-xpressive", - "version": "1.77.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": [ - "boost-assert", - "boost-config", - "boost-conversion", - "boost-core", - "boost-exception", - "boost-fusion", - "boost-integer", - "boost-iterator", - "boost-lexical-cast", - "boost-mpl", - "boost-numeric-conversion", - "boost-optional", - "boost-preprocessor", - "boost-proto", - "boost-range", - "boost-smart-ptr", - "boost-spirit", - "boost-static-assert", - "boost-throw-exception", - "boost-type-traits", - "boost-typeof", - "boost-utility", - "boost-vcpkg-helpers" + { + "name": "boost-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-conversion", + "version>=": "1.86.0" + }, + { + "name": "boost-core", + "version>=": "1.86.0" + }, + { + "name": "boost-exception", + "version>=": "1.86.0" + }, + { + "name": "boost-fusion", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-integer", + "version>=": "1.86.0" + }, + { + "name": "boost-iterator", + "version>=": "1.86.0" + }, + { + "name": "boost-lexical-cast", + "version>=": "1.86.0" + }, + { + "name": "boost-mpl", + "version>=": "1.86.0" + }, + { + "name": "boost-numeric-conversion", + "version>=": "1.86.0" + }, + { + "name": "boost-optional", + "version>=": "1.86.0" + }, + { + "name": "boost-preprocessor", + "version>=": "1.86.0" + }, + { + "name": "boost-proto", + "version>=": "1.86.0" + }, + { + "name": "boost-range", + "version>=": "1.86.0" + }, + { + "name": "boost-smart-ptr", + "version>=": "1.86.0" + }, + { + "name": "boost-spirit", + "version>=": "1.86.0" + }, + { + "name": "boost-static-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-throw-exception", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + }, + { + "name": "boost-typeof", + "version>=": "1.86.0" + }, + { + "name": "boost-utility", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost-yap/portfile.cmake b/ports/boost-yap/portfile.cmake index 17b4dc1622b80d..f9379ba66a5077 100644 --- a/ports/boost-yap/portfile.cmake +++ b/ports/boost-yap/portfile.cmake @@ -1,12 +1,15 @@ -# Automatically generated by scripts/boost/generate-ports.ps1 - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO boostorg/yap - REF boost-1.77.0 - SHA512 95a65b2961ce0df5ac5a544d1fe83dc7a74992a032a3f6c707b84aad04402ec32fa4b872117632dea7133bedb651d6fbcfcd826b3ceac79fafd372a8852a8291 - HEAD_REF master -) - -include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) -boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) +# Automatically generated by scripts/boost/generate-ports.ps1 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/yap + REF boost-${VERSION} + SHA512 81bdbe0e6d14556fbcca7c13073f2d18811288e8420e775f97e43bce00ea0d34aed61c2aec30a9b0427caa63374d60366c6437e6818b5672d91b828ed6e9d88d + HEAD_REF master +) + +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 bdc57e0d11f8bd..5403cd0d2b81bf 100644 --- a/ports/boost-yap/vcpkg.json +++ b/ports/boost-yap/vcpkg.json @@ -1,12 +1,34 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost-yap", - "version": "1.77.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": [ - "boost-hana", - "boost-preprocessor", - "boost-type-index", - "boost-vcpkg-helpers" + { + "name": "boost-cmake", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-hana", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-preprocessor", + "version>=": "1.86.0" + }, + { + "name": "boost-type-index", + "version>=": "1.86.0" + } ] } diff --git a/ports/boost/usage b/ports/boost/usage deleted file mode 100644 index 28d4290106a1b8..00000000000000 --- a/ports/boost/usage +++ /dev/null @@ -1,5 +0,0 @@ -The package boost is compatible with built-in CMake targets: - - find_package(Boost REQUIRED [COMPONENTS ...]) - target_link_libraries(main PRIVATE ${Boost_LIBRARIES}) - target_include_directories(main PRIVATE ${Boost_INCLUDE_DIRS}) diff --git a/ports/boost/vcpkg.json b/ports/boost/vcpkg.json index 9dca95aea8e42c..d831b83de13465 100644 --- a/ports/boost/vcpkg.json +++ b/ports/boost/vcpkg.json @@ -1,208 +1,647 @@ { + "$comment": "Automatically generated by scripts/boost/generate-ports.ps1", "name": "boost", - "version": "1.77.0", - "port-version": 2, + "version": "1.86.0", "description": "Peer-reviewed portable C++ source libraries", "homepage": "https://boost.org", + "license": "BSL-1.0", "dependencies": [ - "boost-accumulators", - "boost-algorithm", - "boost-align", - "boost-any", - "boost-array", + { + "name": "boost-accumulators", + "version>=": "1.86.0" + }, + { + "name": "boost-algorithm", + "version>=": "1.86.0" + }, + { + "name": "boost-align", + "version>=": "1.86.0" + }, + { + "name": "boost-any", + "version>=": "1.86.0" + }, + { + "name": "boost-array", + "version>=": "1.86.0" + }, { "name": "boost-asio", - "platform": "!emscripten" + "version>=": "1.86.0" + }, + { + "name": "boost-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-assign", + "version>=": "1.86.0" + }, + { + "name": "boost-atomic", + "version>=": "1.86.0" }, - "boost-assert", - "boost-assign", - "boost-atomic", { "name": "boost-beast", - "platform": "!emscripten" - }, - "boost-bimap", - "boost-bind", - "boost-callable-traits", - "boost-chrono", - "boost-circular-buffer", - "boost-compatibility", - "boost-compute", - "boost-concept-check", - "boost-config", - "boost-container", - "boost-container-hash", + "platform": "!emscripten", + "version>=": "1.86.0" + }, + { + "name": "boost-bimap", + "version>=": "1.86.0" + }, + { + "name": "boost-bind", + "version>=": "1.86.0" + }, + { + "name": "boost-callable-traits", + "version>=": "1.86.0" + }, + { + "name": "boost-charconv", + "version>=": "1.86.0" + }, + { + "name": "boost-chrono", + "version>=": "1.86.0" + }, + { + "name": "boost-circular-buffer", + "version>=": "1.86.0" + }, + { + "name": "boost-cobalt", + "platform": "!osx & !ios & !android & !uwp", + "version>=": "1.86.0" + }, + { + "name": "boost-compat", + "version>=": "1.86.0" + }, + { + "name": "boost-compatibility", + "version>=": "1.86.0" + }, + { + "name": "boost-compute", + "version>=": "1.86.0" + }, + { + "name": "boost-concept-check", + "version>=": "1.86.0" + }, + { + "name": "boost-config", + "version>=": "1.86.0" + }, + { + "name": "boost-container", + "version>=": "1.86.0" + }, + { + "name": "boost-container-hash", + "version>=": "1.86.0" + }, { "name": "boost-context", - "platform": "!uwp & !emscripten" + "platform": "!uwp & !emscripten", + "version>=": "1.86.0" + }, + { + "name": "boost-contract", + "version>=": "1.86.0" + }, + { + "name": "boost-conversion", + "version>=": "1.86.0" + }, + { + "name": "boost-convert", + "version>=": "1.86.0" + }, + { + "name": "boost-core", + "version>=": "1.86.0" }, - "boost-contract", - "boost-conversion", - "boost-convert", - "boost-core", { "name": "boost-coroutine", - "platform": "!arm & !uwp & !emscripten" + "platform": "!(arm & windows) & !uwp & !emscripten", + "version>=": "1.86.0" }, { "name": "boost-coroutine2", - "platform": "!emscripten" + "platform": "!uwp & !emscripten", + "version>=": "1.86.0" + }, + { + "name": "boost-crc", + "version>=": "1.86.0" + }, + { + "name": "boost-date-time", + "version>=": "1.86.0" + }, + { + "name": "boost-describe", + "version>=": "1.86.0" + }, + { + "name": "boost-detail", + "version>=": "1.86.0" + }, + { + "name": "boost-dll", + "platform": "!uwp", + "version>=": "1.86.0" + }, + { + "name": "boost-dynamic-bitset", + "version>=": "1.86.0" + }, + { + "name": "boost-endian", + "version>=": "1.86.0" + }, + { + "name": "boost-exception", + "version>=": "1.86.0" }, - "boost-crc", - "boost-date-time", - "boost-describe", - "boost-detail", - "boost-dll", - "boost-dynamic-bitset", - "boost-endian", - "boost-exception", { "name": "boost-fiber", - "platform": "!osx & !uwp & !arm & !emscripten" + "platform": "!uwp & !(arm & windows) & !emscripten", + "version>=": "1.86.0" }, { "name": "boost-filesystem", - "platform": "!uwp" - }, - "boost-flyweight", - "boost-foreach", - "boost-format", - "boost-function", - "boost-function-types", - "boost-functional", - "boost-fusion", - "boost-geometry", - "boost-gil", - "boost-graph", - "boost-hana", - "boost-heap", - "boost-histogram", - "boost-hof", - "boost-icl", - "boost-integer", - "boost-interprocess", - "boost-interval", - "boost-intrusive", - "boost-io", + "platform": "!uwp", + "version>=": "1.86.0" + }, + { + "name": "boost-flyweight", + "version>=": "1.86.0" + }, + { + "name": "boost-foreach", + "version>=": "1.86.0" + }, + { + "name": "boost-format", + "version>=": "1.86.0" + }, + { + "name": "boost-function", + "version>=": "1.86.0" + }, + { + "name": "boost-function-types", + "version>=": "1.86.0" + }, + { + "name": "boost-functional", + "version>=": "1.86.0" + }, + { + "name": "boost-fusion", + "version>=": "1.86.0" + }, + { + "name": "boost-geometry", + "version>=": "1.86.0" + }, + { + "name": "boost-gil", + "version>=": "1.86.0" + }, + { + "name": "boost-graph", + "platform": "!uwp", + "version>=": "1.86.0" + }, + { + "name": "boost-hana", + "version>=": "1.86.0" + }, + { + "name": "boost-headers", + "version>=": "1.86.0" + }, + { + "name": "boost-heap", + "version>=": "1.86.0" + }, + { + "name": "boost-histogram", + "version>=": "1.86.0" + }, + { + "name": "boost-hof", + "version>=": "1.86.0" + }, + { + "name": "boost-icl", + "version>=": "1.86.0" + }, + { + "name": "boost-integer", + "version>=": "1.86.0" + }, + { + "name": "boost-interprocess", + "version>=": "1.86.0" + }, + { + "name": "boost-interval", + "version>=": "1.86.0" + }, + { + "name": "boost-intrusive", + "version>=": "1.86.0" + }, + { + "name": "boost-io", + "version>=": "1.86.0" + }, { "name": "boost-iostreams", - "platform": "!uwp" + "platform": "!uwp", + "version>=": "1.86.0" + }, + { + "name": "boost-iterator", + "version>=": "1.86.0" + }, + { + "name": "boost-json", + "version>=": "1.86.0" + }, + { + "name": "boost-lambda", + "version>=": "1.86.0" + }, + { + "name": "boost-lambda2", + "version>=": "1.86.0" + }, + { + "name": "boost-leaf", + "version>=": "1.86.0" + }, + { + "name": "boost-lexical-cast", + "version>=": "1.86.0" + }, + { + "name": "boost-local-function", + "version>=": "1.86.0" }, - "boost-iterator", - "boost-json", - "boost-lambda", - "boost-lambda2", - "boost-leaf", - "boost-lexical-cast", - "boost-local-function", { "name": "boost-locale", - "platform": "!uwp" + "platform": "!uwp", + "version>=": "1.86.0" + }, + { + "name": "boost-lockfree", + "version>=": "1.86.0" }, - "boost-lockfree", { "name": "boost-log", - "platform": "!uwp & !emscripten" - }, - "boost-logic", - "boost-math", - "boost-metaparse", - "boost-move", - "boost-mp11", - "boost-mpl", - "boost-msm", - "boost-multi-array", - "boost-multi-index", - "boost-multiprecision", - "boost-nowide", - "boost-numeric-conversion", - "boost-odeint", - "boost-optional", - "boost-outcome", - "boost-parameter", + "platform": "!uwp & !emscripten", + "version>=": "1.86.0" + }, + { + "name": "boost-logic", + "version>=": "1.86.0" + }, + { + "name": "boost-math", + "version>=": "1.86.0" + }, + { + "name": "boost-metaparse", + "version>=": "1.86.0" + }, + { + "name": "boost-move", + "version>=": "1.86.0" + }, + { + "name": "boost-mp11", + "version>=": "1.86.0" + }, + { + "name": "boost-mpl", + "version>=": "1.86.0" + }, + { + "name": "boost-msm", + "version>=": "1.86.0" + }, + { + "name": "boost-multi-array", + "version>=": "1.86.0" + }, + { + "name": "boost-multi-index", + "version>=": "1.86.0" + }, + { + "name": "boost-multiprecision", + "version>=": "1.86.0" + }, + { + "name": "boost-mysql", + "version>=": "1.86.0" + }, + { + "name": "boost-nowide", + "version>=": "1.86.0" + }, + { + "name": "boost-numeric-conversion", + "version>=": "1.86.0" + }, + { + "name": "boost-odeint", + "version>=": "1.86.0" + }, + { + "name": "boost-optional", + "version>=": "1.86.0" + }, + { + "name": "boost-outcome", + "version>=": "1.86.0" + }, + { + "name": "boost-parameter", + "version>=": "1.86.0" + }, { "name": "boost-parameter-python", - "platform": "!emscripten" + "platform": "!uwp & !emscripten & !ios & !android", + "version>=": "1.86.0" + }, + { + "name": "boost-pfr", + "version>=": "1.86.0" + }, + { + "name": "boost-phoenix", + "version>=": "1.86.0" + }, + { + "name": "boost-poly-collection", + "version>=": "1.86.0" + }, + { + "name": "boost-polygon", + "version>=": "1.86.0" + }, + { + "name": "boost-pool", + "version>=": "1.86.0" + }, + { + "name": "boost-predef", + "version>=": "1.86.0" + }, + { + "name": "boost-preprocessor", + "version>=": "1.86.0" }, - "boost-pfr", - "boost-phoenix", - "boost-poly-collection", - "boost-polygon", - "boost-pool", - "boost-predef", - "boost-preprocessor", { "name": "boost-process", - "platform": "!emscripten" + "platform": "!uwp & !emscripten & !android", + "version>=": "1.86.0" + }, + { + "name": "boost-program-options", + "version>=": "1.86.0" + }, + { + "name": "boost-property-map", + "version>=": "1.86.0" + }, + { + "name": "boost-property-tree", + "version>=": "1.86.0" + }, + { + "name": "boost-proto", + "version>=": "1.86.0" + }, + { + "name": "boost-ptr-container", + "version>=": "1.86.0" }, - "boost-program-options", - "boost-property-map", - "boost-property-tree", - "boost-proto", - "boost-ptr-container", { "name": "boost-python", - "platform": "!uwp & !(arm & windows) & !emscripten" - }, - "boost-qvm", - "boost-random", - "boost-range", - "boost-ratio", - "boost-rational", - "boost-regex", - "boost-safe-numerics", - "boost-scope-exit", - "boost-serialization", - "boost-signals2", - "boost-smart-ptr", - "boost-sort", - "boost-spirit", + "platform": "!uwp & !emscripten & !ios & !android", + "version>=": "1.86.0" + }, + { + "name": "boost-qvm", + "version>=": "1.86.0" + }, + { + "name": "boost-random", + "platform": "!uwp", + "version>=": "1.86.0" + }, + { + "name": "boost-range", + "version>=": "1.86.0" + }, + { + "name": "boost-ratio", + "version>=": "1.86.0" + }, + { + "name": "boost-rational", + "version>=": "1.86.0" + }, + { + "name": "boost-redis", + "version>=": "1.86.0" + }, + { + "name": "boost-regex", + "version>=": "1.86.0" + }, + { + "name": "boost-safe-numerics", + "version>=": "1.86.0" + }, + { + "name": "boost-scope", + "version>=": "1.86.0" + }, + { + "name": "boost-scope-exit", + "version>=": "1.86.0" + }, + { + "name": "boost-serialization", + "version>=": "1.86.0" + }, + { + "name": "boost-signals2", + "version>=": "1.86.0" + }, + { + "name": "boost-smart-ptr", + "version>=": "1.86.0" + }, + { + "name": "boost-sort", + "version>=": "1.86.0" + }, + { + "name": "boost-spirit", + "version>=": "1.86.0" + }, { "name": "boost-stacktrace", - "platform": "!uwp" + "platform": "!uwp", + "version>=": "1.86.0" + }, + { + "name": "boost-statechart", + "version>=": "1.86.0" + }, + { + "name": "boost-static-assert", + "version>=": "1.86.0" + }, + { + "name": "boost-static-string", + "version>=": "1.86.0" + }, + { + "name": "boost-stl-interfaces", + "version>=": "1.86.0" + }, + { + "name": "boost-system", + "version>=": "1.86.0" }, - "boost-statechart", - "boost-static-assert", - "boost-static-string", - "boost-stl-interfaces", - "boost-system", { "name": "boost-test", - "platform": "!uwp" - }, - "boost-thread", - "boost-throw-exception", - "boost-timer", - "boost-tokenizer", - "boost-tti", - "boost-tuple", - "boost-type-erasure", - "boost-type-index", - "boost-type-traits", - "boost-typeof", - "boost-ublas", - "boost-units", - "boost-unordered", - "boost-utility", - "boost-uuid", - "boost-variant", - "boost-variant2", - "boost-vmd", + "platform": "!uwp", + "version>=": "1.86.0" + }, + { + "name": "boost-thread", + "version>=": "1.86.0" + }, + { + "name": "boost-throw-exception", + "version>=": "1.86.0" + }, + { + "name": "boost-timer", + "version>=": "1.86.0" + }, + { + "name": "boost-tokenizer", + "version>=": "1.86.0" + }, + { + "name": "boost-tti", + "version>=": "1.86.0" + }, + { + "name": "boost-tuple", + "version>=": "1.86.0" + }, + { + "name": "boost-type-erasure", + "version>=": "1.86.0" + }, + { + "name": "boost-type-index", + "version>=": "1.86.0" + }, + { + "name": "boost-type-traits", + "version>=": "1.86.0" + }, + { + "name": "boost-typeof", + "version>=": "1.86.0" + }, + { + "name": "boost-ublas", + "version>=": "1.86.0" + }, + { + "name": "boost-units", + "version>=": "1.86.0" + }, + { + "name": "boost-unordered", + "version>=": "1.86.0" + }, + { + "name": "boost-url", + "version>=": "1.86.0" + }, + { + "name": "boost-utility", + "version>=": "1.86.0" + }, + { + "name": "boost-uuid", + "version>=": "1.86.0" + }, + { + "name": "boost-variant", + "version>=": "1.86.0" + }, + { + "name": "boost-variant2", + "version>=": "1.86.0" + }, + { + "name": "boost-vmd", + "version>=": "1.86.0" + }, { "name": "boost-wave", - "platform": "!uwp" + "platform": "!uwp", + "version>=": "1.86.0" + }, + { + "name": "boost-winapi", + "version>=": "1.86.0" }, - "boost-winapi", - "boost-xpressive", - "boost-yap" + { + "name": "boost-xpressive", + "version>=": "1.86.0" + }, + { + "name": "boost-yap", + "version>=": "1.86.0" + } ], "features": { "mpi": { "description": "Build with MPI support", "dependencies": [ - "boost-graph-parallel", - "boost-mpi", - "boost-property-map-parallel" + { + "name": "boost-graph-parallel", + "version>=": "1.86.0" + }, + { + "name": "boost-mpi", + "version>=": "1.86.0" + }, + { + "name": "boost-property-map-parallel", + "version>=": "1.86.0" + } ] } } diff --git a/ports/boringssl/0001-static-gtest.patch b/ports/boringssl/0001-static-gtest.patch new file mode 100644 index 00000000000000..1c76b4986bbd4a --- /dev/null +++ b/ports/boringssl/0001-static-gtest.patch @@ -0,0 +1,12 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -479,7 +479,7 @@ endif() + # Add minimal googletest targets. The provided one has many side-effects, and + # googletest has a very straightforward build. + add_library( +- boringssl_gtest ++ boringssl_gtest STATIC + third_party/googletest/googlemock/src/gmock-all.cc + third_party/googletest/googletest/src/gtest-all.cc + ) diff --git a/ports/boringssl/0001-vcpkg.patch b/ports/boringssl/0001-vcpkg.patch deleted file mode 100644 index f871dd92be529f..00000000000000 --- a/ports/boringssl/0001-vcpkg.patch +++ /dev/null @@ -1,32 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 893bca7..83ff477 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -562,7 +562,7 @@ endif() - - # Add minimal googletest targets. The provided one has many side-effects, and - # googletest has a very straightforward build. --add_library(boringssl_gtest third_party/googletest/src/gtest-all.cc) -+add_library(boringssl_gtest STATIC third_party/googletest/src/gtest-all.cc) - target_include_directories(boringssl_gtest PRIVATE third_party/googletest) - - include_directories(third_party/googletest/include) -@@ -649,3 +649,18 @@ add_custom_target( - WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} - DEPENDS all_tests bssl_shim handshaker fips_specific_tests_if_any - USES_TERMINAL) -+ -+install(TARGETS crypto ssl -+ RUNTIME DESTINATION bin -+ LIBRARY DESTINATION lib -+ ARCHIVE DESTINATION lib) -+ -+option(INSTALL_HEADERS "Install headers" ON) -+if(INSTALL_HEADERS) -+ install(DIRECTORY include/ DESTINATION include) -+endif() -+ -+option(INSTALL_TOOLS "Install bssl executable" OFF) -+if(INSTALL_TOOLS) -+ install(TARGETS bssl DESTINATION tools/boringssl) -+endif() diff --git a/ports/boringssl/0002-disable-waring-4065.patch b/ports/boringssl/0002-disable-waring-4065.patch deleted file mode 100644 index 88ffffaf0bdaea..00000000000000 --- a/ports/boringssl/0002-disable-waring-4065.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/decrepit/CMakeLists.txt b/decrepit/CMakeLists.txt -index ef95a6b..0b52c05 100644 ---- a/decrepit/CMakeLists.txt -+++ b/decrepit/CMakeLists.txt -@@ -40,6 +40,10 @@ add_executable( - - add_dependencies(decrepit_test global_target) - -+if(MSVC) -+ target_compile_options(decrepit PRIVATE /wd4065) -+endif() -+ - target_link_libraries(decrepit_test test_support_lib boringssl_gtest decrepit - crypto) - if(WIN32) diff --git a/ports/boringssl/0002-remove-WX-Werror.patch b/ports/boringssl/0002-remove-WX-Werror.patch new file mode 100644 index 00000000000000..a3ee79b7dd44ec --- /dev/null +++ b/ports/boringssl/0002-remove-WX-Werror.patch @@ -0,0 +1,28 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ce60e8daf..015adf4c0 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -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. +- 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. +@@ -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_C_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 new file mode 100644 index 00000000000000..8cf9d6bc1f4b33 --- /dev/null +++ b/ports/boringssl/0003-fix-shared-symbol-visibility.patch @@ -0,0 +1,37 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2308d5721..d14f02b66 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -237,8 +237,6 @@ if(FUZZ) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address,fuzzer-no-link -fsanitize-coverage=edge,indirect-calls") + endif() + +-add_definitions(-DBORINGSSL_IMPLEMENTATION) +- + if(BUILD_SHARED_LIBS) + add_definitions(-DBORINGSSL_SHARED_LIBRARY) + # Enable position-independent code globally. This is needed because +@@ -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_link_libraries(pki crypto) ++target_compile_definitions(pki PRIVATE BORINGSSL_IMPLEMENTATION) + + add_executable(pki_test ${PKI_TEST_SOURCES}) + target_link_libraries(pki_test test_support_lib boringssl_gtest pki crypto) diff --git a/ports/boringssl/install-pc-files.cmake b/ports/boringssl/install-pc-files.cmake new file mode 100644 index 00000000000000..47eab26cdc6a44 --- /dev/null +++ b/ports/boringssl/install-pc-files.cmake @@ -0,0 +1,51 @@ +function(install_pc_file name pc_data) + # fix platform-specific details + if (NOT VCPKG_TARGET_IS_WINDOWS) + string(REPLACE "-lcrypt32" "" pc_data "${pc_data}") + string(REPLACE "-lws2_32" "" pc_data "${pc_data}") + string(REPLACE "-llibssl" "-lssl" pc_data "${pc_data}") + string(REPLACE "-llibcrypto" "-lcrypto" pc_data "${pc_data}") + elseif (NOT VCPKG_TARGET_IS_MINGW) + string(REPLACE "-llibssl" "-lssl" pc_data "${pc_data}") + string(REPLACE "-llibcrypto" "-lcrypto" pc_data "${pc_data}") + endif() + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + configure_file("${CMAKE_CURRENT_LIST_DIR}/openssl.pc.in" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/${name}.pc" @ONLY) + endif() + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + if(VCPKG_TARGET_IS_WINDOWS) + if (NOT VCPKG_TARGET_IS_MINGW) + string(REPLACE "-lssl" "-lssld" pc_data "${pc_data}") + string(REPLACE "-lcrypto" "-lcryptod" pc_data "${pc_data}") + else() + string(REPLACE "-llibssl" "-llibssld" pc_data "${pc_data}") + string(REPLACE "-llibcrypto" "-llibcryptod" pc_data "${pc_data}") + endif() + endif() + configure_file("${CMAKE_CURRENT_LIST_DIR}/openssl.pc.in" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/${name}.pc" @ONLY) + endif() +endfunction() + +install_pc_file(openssl [[ +Name: BoringSSL +Description: Secure Sockets Layer and cryptography libraries and tools +Requires: libssl libcrypto +]]) + +install_pc_file(libssl [[ +Name: BoringSSL-libssl +Description: Secure Sockets Layer and cryptography libraries +Libs: -L"${libdir}" -llibssl +Requires: libcrypto +Cflags: -I"${includedir}" +]]) + +install_pc_file(libcrypto [[ +Name: BoringSSL-libcrypto +Description: OpenSSL cryptography library +Libs: -L"${libdir}" -llibcrypto +Libs.private: -lcrypt32 -lws2_32 +Cflags: -I"${includedir}" +]]) + +vcpkg_fixup_pkgconfig() diff --git a/ports/boringssl/openssl.pc.in b/ports/boringssl/openssl.pc.in new file mode 100644 index 00000000000000..3033e1804da0f4 --- /dev/null +++ b/ports/boringssl/openssl.pc.in @@ -0,0 +1,6 @@ +prefix=${pcfiledir}/../.. +exec_prefix=${prefix} +libdir=${exec_prefix}/lib +includedir=${prefix}/include +Version: @OPENSSL_VERSION@ +@pc_data@ diff --git a/ports/boringssl/portfile.cmake b/ports/boringssl/portfile.cmake index 71cef4ed35058f..b639d747e66216 100644 --- a/ports/boringssl/portfile.cmake +++ b/ports/boringssl/portfile.cmake @@ -1,51 +1,53 @@ -vcpkg_fail_port_install(ON_TARGET "UWP") - if(EXISTS "${CURRENT_INSTALLED_DIR}/include/openssl/ssl.h") message(FATAL_ERROR "Can't build BoringSSL if OpenSSL is installed. Please remove OpenSSL, and try to install BoringSSL again if you need it. Build will continue since BoringSSL is a drop-in replacement for OpenSSL") endif() vcpkg_find_acquire_program(PERL) -get_filename_component(PERL_EXE_PATH ${PERL} DIRECTORY) -vcpkg_add_to_path(${PERL_EXE_PATH}) +get_filename_component(PERL_EXE_PATH "${PERL}" DIRECTORY) +vcpkg_add_to_path("${PERL_EXE_PATH}") vcpkg_find_acquire_program(NASM) -get_filename_component(NASM_EXE_PATH ${NASM} DIRECTORY) -vcpkg_add_to_path(${NASM_EXE_PATH}) +get_filename_component(NASM_EXE_PATH "${NASM}" DIRECTORY) +vcpkg_add_to_path("${NASM_EXE_PATH}") vcpkg_find_acquire_program(GO) -get_filename_component(GO_EXE_PATH ${GO} DIRECTORY) -vcpkg_add_to_path(${GO_EXE_PATH}) - -vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - FEATURES - tools INSTALL_TOOLS -) +get_filename_component(GO_EXE_PATH "${GO}" DIRECTORY) +vcpkg_add_to_path("${GO_EXE_PATH}") vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/boringssl - REF 479adf98d54a21c1d154aac59b2ce120e1d1a6d6 - SHA512 74b5d001c0f5c1846b8818e9e668fa35de5171fc21a8f713d241f57b3e8abe42426fdc66b085cca1853b904def6f4bea573dfed40b8b1422894cca85b0b1a44a + REF 0.20240913.0 + SHA512 bfb36d7d0a90bbede3f77967525cd9377e7488114c3d0fb576015d0361e7f4460801aab8ef8a470908541bc9d7f76cdbdd823af4fd6aaebb4cac711ee5b5b9fa HEAD_REF master PATCHES - 0001-vcpkg.patch - 0002-disable-waring-4065.patch + 0001-static-gtest.patch + 0002-remove-WX-Werror.patch + 0003-fix-shared-symbol-visibility.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - ${FEATURE_OPTIONS} +if(VCPKG_TARGET_IS_WINDOWS) + # the FindOpenSSL.cmake script differentiates debug and release binaries using this suffix. + set(CMAKE_CONFIGURE_OPTIONS_DEBUG "-DCMAKE_DEBUG_POSTFIX=d") +endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS_DEBUG - -DINSTALL_HEADERS=OFF - -DINSTALL_TOOLS=OFF + ${CMAKE_CONFIGURE_OPTIONS_DEBUG} ) -vcpkg_install_cmake() +vcpkg_cmake_install() +vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup(PACKAGE_NAME OpenSSL CONFIG_PATH lib/cmake/OpenSSL) -if(IS_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/boringssl) - vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/boringssl") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +vcpkg_copy_tools(TOOL_NAMES bssl 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}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +include("${CMAKE_CURRENT_LIST_DIR}/install-pc-files.cmake") + +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/boringssl/usage b/ports/boringssl/usage new file mode 100644 index 00000000000000..13ef2475767e90 --- /dev/null +++ b/ports/boringssl/usage @@ -0,0 +1,4 @@ +boringssl can be found via the built-in CMake find-module: + + find_package(OpenSSL REQUIRED) + target_link_libraries(main PRIVATE OpenSSL::SSL OpenSSL::Crypto) \ No newline at end of file diff --git a/ports/boringssl/vcpkg.json b/ports/boringssl/vcpkg.json index e3aaec032fd75d..a9a24dec58b094 100644 --- a/ports/boringssl/vcpkg.json +++ b/ports/boringssl/vcpkg.json @@ -1,12 +1,17 @@ { "name": "boringssl", - "version-date": "2021-06-23", - "description": "BoringSSl is a fork of OpenSSL developed by Google", + "version-date": "2024-09-13", + "description": "BoringSSL is a fork of OpenSSL developed by Google", "homepage": "https://boringssl.googlesource.com/boringssl", "supports": "!uwp", - "features": { - "tools": { - "description": "Build bssl executable" + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true } - } + ] } 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/configure b/ports/botan/configure new file mode 100755 index 00000000000000..e125299738d133 --- /dev/null +++ b/ports/botan/configure @@ -0,0 +1,46 @@ +#!/usr/bin/env bash + +set -e + +declare -a OUT_OPTIONS + +INTERPRETER=python3 + +LAST_SEEN= +COPY_OPTIONS=no +COPY_PREFIX=yes +BUILD_TYPE=RELEASE +for OPTION; do + case "${OPTION},${COPY_OPTIONS}" in + */configure.py,no) + OUT_OPTIONS+=("${OPTION}") + INTERPRETER="${LAST_SEEN}" + COPY_OPTIONS=yes + ;; + --prefix=*,yes) + if [ "${COPY_PREFIX}" = "yes" ] ; then + OUT_OPTIONS+=("${OPTION}") + COPY_PREFIX=no + fi + ;; + --*=*,yes) + OUT_OPTIONS+=("${OPTION}") + ;; + *=*) + ;; + *,yes) + OUT_OPTIONS+=("${OPTION}") + if [ "${OPTION}" = "--debug-mode" ] ; then + BUILD_TYPE=DEBUG + fi + ;; + esac + LAST_SEEN="${OPTION}" +done + +set -x +export CXXFLAGS="$CPPFLAGS $CXXFLAGS" +"${INTERPRETER}" "${OUT_OPTIONS[@]}" + +sed -e "1i\\ +ZLIB_LIBS = \$(ZLIB_LIBS_${BUILD_TYPE})" -i -- Makefile diff --git a/ports/botan/configure-zlib.patch b/ports/botan/configure-zlib.patch new file mode 100644 index 00000000000000..5fda5fffe569a5 --- /dev/null +++ b/ports/botan/configure-zlib.patch @@ -0,0 +1,24 @@ +diff --git a/src/build-data/makefile.in b/src/build-data/makefile.in +index 5102933..0fa5920 100644 +--- a/src/build-data/makefile.in ++++ b/src/build-data/makefile.in +@@ -20,7 +20,7 @@ LDFLAGS = %{ldflags} + + EXE_LINK_CMD = %{exe_link_cmd} + +-LIB_LINKS_TO = %{external_link_cmd} %{link_to} ++LIB_LINKS_TO = %{external_link_cmd} $(ZLIB_LIBS) %{link_to} + BUILD_DIR_LINK_PATH = %{build_dir_link_path} + EXE_LINKS_TO = %{link_to_botan} $(LIB_LINKS_TO) %{extra_libs} + +diff --git a/src/lib/compression/zlib/info.txt b/src/lib/compression/zlib/info.txt +index 1102bc5..34047fa 100644 +--- a/src/lib/compression/zlib/info.txt ++++ b/src/lib/compression/zlib/info.txt +@@ -5,6 +5,4 @@ ZLIB -> 20160412 + load_on vendor + + +-all!windows -> z +-windows -> zlib + diff --git a/ports/botan/embed-debug-info.patch b/ports/botan/embed-debug-info.patch new file mode 100644 index 00000000000000..14d2a5ca4a18a5 --- /dev/null +++ b/ports/botan/embed-debug-info.patch @@ -0,0 +1,17 @@ +diff --git a/src/build-data/cc/msvc.txt b/src/build-data/cc/msvc.txt +index 64b6eae..66258ca 100644 +--- a/src/build-data/cc/msvc.txt ++++ b/src/build-data/cc/msvc.txt +@@ -20,10 +20,10 @@ optimization_flags "/O2 /Oi /Zc:throwingNew" + size_optimization_flags "/O1 /Os" + + # for debug info in the object file (required if using sccache): +-#debug_info_flags "/Z7" ++debug_info_flags "/Z7" + + # for using a PDB file: +-debug_info_flags "/Zi /FS" ++#debug_info_flags "/Zi /FS" + + 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-generate-build-path.patch b/ports/botan/fix-generate-build-path.patch deleted file mode 100644 index 455c1f1391897c..00000000000000 --- a/ports/botan/fix-generate-build-path.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/configure.py b/configure.py -index 89f87d4..ba7914f 100644 ---- a/configure.py -+++ b/configure.py -@@ -2076,7 +2076,7 @@ def create_template_vars(source_paths, build_paths, options, modules, cc, arch, - 'maintainer_mode': options.maintainer_mode, - - 'out_dir': build_dir, -- 'build_dir': build_paths.build_dir, -+ 'build_dir': os.path.abspath(build_paths.build_dir), - - 'doc_stamp_file': os.path.join(build_paths.build_dir, 'doc.stamp'), - 'makefile_path': os.path.join(build_paths.build_dir, '..', 'Makefile'), 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/pkgconfig.patch b/ports/botan/pkgconfig.patch new file mode 100644 index 00000000000000..1f4b921e6cccce --- /dev/null +++ b/ports/botan/pkgconfig.patch @@ -0,0 +1,14 @@ +diff --git a/src/build-data/botan.pc.in b/src/build-data/botan.pc.in +index c18b522..a5722c9 100644 +--- a/src/build-data/botan.pc.in ++++ b/src/build-data/botan.pc.in +@@ -1,7 +1,7 @@ + prefix=%{prefix} + exec_prefix=${prefix} +-libdir=%{libdir} +-includedir=${prefix}/include/botan-%{version_major} ++libdir=${prefix}/lib ++includedir=${prefix}/include + + Name: Botan + Description: Crypto and TLS for Modern C++ diff --git a/ports/botan/portfile.cmake b/ports/botan/portfile.cmake index ab66cf27532109..9f70d1d0016409 100644 --- a/ports/botan/portfile.cmake +++ b/ports/botan/portfile.cmake @@ -1,169 +1,205 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO randombit/botan - REF d4bd416702a65eddcc14ee06b9c1b674631e6ae3 # 2.18.1 - SHA512 6c8a8a772ff926402aa77ea1156e8a6b8fcaa18514107c94e9d2c7c76daaf9a02ef8c5c249d1ddf56655bab0ecd0d91490d907fc2239259689662533089b09ad + REF "${VERSION}" + SHA512 dcd9ac8e748422d55854c38e565704e4a239418b6855836bdea85bd4dc3ab45e218d320471b98b6a451fc63d8518895f3813a50c94dee90227c09d12d96ca1dc HEAD_REF master PATCHES - fix-generate-build-path.patch + 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}") -if(CMAKE_HOST_WIN32) - vcpkg_find_acquire_program(JOM) - set(build_tool "${JOM}") - set(parallel_build "/J${VCPKG_CONCURRENCY}") -else() - find_program(MAKE make) - set(build_tool "${MAKE}") - set(parallel_build "-j${VCPKG_CONCURRENCY}") +if(VCPKG_TARGET_IS_MINGW) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) endif() vcpkg_find_acquire_program(PYTHON3) -get_filename_component(PYTHON3_DIR "${PYTHON3}" DIRECTORY) -set(ENV{PATH} "$ENV{PATH};${PYTHON3_DIR}") -if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - set(BOTAN_FLAG_SHARED --enable-shared-library) - set(BOTAN_FLAG_STATIC --disable-static-library) -else() - set(BOTAN_FLAG_SHARED --disable-shared-library) - set(BOTAN_FLAG_STATIC --enable-static-library) +vcpkg_cmake_get_vars(cmake_vars_file) +include("${cmake_vars_file}") + +set(pkgconfig_syntax "") +if(VCPKG_DETECTED_CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") + set(pkgconfig_syntax "--msvc-syntax") endif() -if(VCPKG_CRT_LINKAGE STREQUAL dynamic) - set(BOTAN_MSVC_RUNTIME "--msvc-runtime=MD") -else() - set(BOTAN_MSVC_RUNTIME "--msvc-runtime=MT") +vcpkg_list(SET configure_arguments + "--distribution-info=vcpkg ${TARGET_TRIPLET}" + --disable-cc-tests + --with-pkg-config + --link-method=copy + --with-debug-info + --includedir=include + --bindir=bin + --libdir=lib + --without-documentation + "--with-external-includedir=${CURRENT_INSTALLED_DIR}/include" +) +vcpkg_list(SET pkgconfig_requires) + +if("amalgamation" IN_LIST FEATURES) + vcpkg_list(APPEND configure_arguments --amalgamation) +endif() + +set(ZLIB_LIBS_RELEASE "") +set(ZLIB_LIBS_DEBUG "") +if("zlib" IN_LIST FEATURES) + vcpkg_list(APPEND configure_arguments --with-zlib) + vcpkg_list(APPEND pkgconfig_requires zlib) + x_vcpkg_pkgconfig_get_modules(LIBS PREFIX "ZLIB" MODULES "zlib" ${pkgconfig_syntax}) endif() -if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") - set(BOTAN_FLAG_CPU 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") - set(BOTAN_FLAG_CPU x86_64) + vcpkg_list(APPEND configure_arguments --cpu=x86_64) elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") - set(BOTAN_FLAG_CPU arm32) + vcpkg_list(APPEND configure_arguments --cpu=arm32) elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") - set(BOTAN_FLAG_CPU arm64) + vcpkg_list(APPEND configure_arguments --cpu=arm64) else() message(FATAL_ERROR "Unsupported architecture") endif() -vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - FEATURES - amalgamation BOTAN_AMALGAMATION -) +# 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() -function(BOTAN_BUILD BOTAN_BUILD_TYPE) +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + vcpkg_list(APPEND configure_arguments --os=windows) - if(BOTAN_BUILD_TYPE STREQUAL "dbg") - set(BOTAN_FLAG_PREFIX "${CURRENT_PACKAGES_DIR}/debug") - set(BOTAN_FLAG_DEBUGMODE --debug-mode) - set(BOTAN_DEBUG_SUFFIX "") - set(BOTAN_MSVC_RUNTIME_SUFFIX "d") - else() - set(BOTAN_FLAG_DEBUGMODE) - set(BOTAN_FLAG_PREFIX "${CURRENT_PACKAGES_DIR}") - set(BOTAN_MSVC_RUNTIME_SUFFIX "") + if(VCPKG_DETECTED_CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") + vcpkg_list(APPEND configure_arguments --cc=msvc) endif() - message(STATUS "Configure ${TARGET_TRIPLET}-${BOTAN_BUILD_TYPE}") - - if(EXISTS ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${BOTAN_BUILD_TYPE}) - file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${BOTAN_BUILD_TYPE}) - endif() - make_directory(${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${BOTAN_BUILD_TYPE}) - - set(configure_arguments --cpu=${BOTAN_FLAG_CPU} - ${BOTAN_FLAG_SHARED} - ${BOTAN_FLAG_STATIC} - ${BOTAN_FLAG_DEBUGMODE} - "--distribution-info=vcpkg ${TARGET_TRIPLET}" - --prefix=${BOTAN_FLAG_PREFIX} - --with-pkg-config - --link-method=copy) - if(CMAKE_HOST_WIN32) - list(APPEND configure_arguments ${BOTAN_MSVC_RUNTIME}${BOTAN_MSVC_RUNTIME_SUFFIX}) + # 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("-DBOTAN_AMALGAMATION=ON" IN_LIST FEATURE_OPTIONS) - list(APPEND configure_arguments --amalgamation) + if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + vcpkg_list(APPEND configure_arguments --enable-shared-library --disable-static-library) + else() + vcpkg_list(APPEND configure_arguments --disable-shared-library --enable-static-library) endif() - vcpkg_execute_required_process( - COMMAND "${PYTHON3}" "${SOURCE_PATH}/configure.py" ${configure_arguments} - WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${BOTAN_BUILD_TYPE}" - LOGNAME configure-${TARGET_TRIPLET}-${BOTAN_BUILD_TYPE}) - message(STATUS "Configure ${TARGET_TRIPLET}-${BOTAN_BUILD_TYPE} done") - - message(STATUS "Build ${TARGET_TRIPLET}-${BOTAN_BUILD_TYPE}") - vcpkg_execute_build_process( - COMMAND "${build_tool}" ${parallel_build} - NO_PARALLEL_COMMAND "${build_tool}" - WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${BOTAN_BUILD_TYPE}" - LOGNAME build-${TARGET_TRIPLET}-${BOTAN_BUILD_TYPE}) - message(STATUS "Build ${TARGET_TRIPLET}-${BOTAN_BUILD_TYPE} done") - - message(STATUS "Package ${TARGET_TRIPLET}-${BOTAN_BUILD_TYPE}") - vcpkg_execute_required_process( - COMMAND "${PYTHON3}" "${SOURCE_PATH}/src/scripts/install.py" - --prefix=${BOTAN_FLAG_PREFIX} - --bindir=${BOTAN_FLAG_PREFIX}/bin - --libdir=${BOTAN_FLAG_PREFIX}/lib - --pkgconfigdir=${BOTAN_FLAG_PREFIX}/lib - --includedir=${BOTAN_FLAG_PREFIX}/include - WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${BOTAN_BUILD_TYPE}" - LOGNAME install-${TARGET_TRIPLET}-${BOTAN_BUILD_TYPE}) - - message(STATUS "Package ${TARGET_TRIPLET}-${BOTAN_BUILD_TYPE} done") -endfunction() - -if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - BOTAN_BUILD(rel) -endif() -if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - BOTAN_BUILD(dbg) -endif() + if(VCPKG_CRT_LINKAGE STREQUAL "dynamic") + set(BOTAN_MSVC_RUNTIME MD) + else() + set(BOTAN_MSVC_RUNTIME MT) + endif() -file(RENAME "${CURRENT_PACKAGES_DIR}/include/botan-2/botan" "${CURRENT_PACKAGES_DIR}/include/botan") + vcpkg_install_nmake( + SOURCE_PATH "${SOURCE_PATH}" + PROJECT_NAME "Makefile" + PREFER_JOM + PRERUN_SHELL_RELEASE + "${PYTHON3}" "${SOURCE_PATH}/configure.py" + ${configure_arguments} + "--prefix=${CURRENT_PACKAGES_DIR}" + "--msvc-runtime=${BOTAN_MSVC_RUNTIME}" + "--with-external-libdir=${CURRENT_INSTALLED_DIR}/lib" + PRERUN_SHELL_DEBUG + "${PYTHON3}" "${SOURCE_PATH}/configure.py" + ${configure_arguments} + "--prefix=${CURRENT_PACKAGES_DIR}/debug" + "--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 + "ZLIB_LIBS=${ZLIB_LIBS_DEBUG}" + ) + vcpkg_copy_tools(TOOL_NAMES botan-cli AUTO_CLEAN) + vcpkg_copy_pdbs() +else() + 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(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/lib/pkgconfig") - file(RENAME "${CURRENT_PACKAGES_DIR}/lib/botan-2.pc" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/botan-2.pc") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/botan-2.pc" - [[${prefix}/include/botan-2]] - [[${prefix}/include]] + 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) + endif() + # botan's install.py doesn't handle DESTDIR on windows host, + # so we must avoid the standard '--prefix' and 'DESTDIR' install. + vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + DISABLE_VERBOSE_FLAGS + NO_ADDITIONAL_PATHS + OPTIONS + "${PYTHON3}" "${SOURCE_PATH}/configure.py" + ${configure_arguments} + OPTIONS_RELEASE + "--prefix=${CURRENT_PACKAGES_DIR}" + "--with-external-libdir=${CURRENT_INSTALLED_DIR}/lib" + OPTIONS_DEBUG + --debug-mode + "--prefix=${CURRENT_PACKAGES_DIR}/debug" + "--with-external-libdir=${CURRENT_INSTALLED_DIR}/debug/lib" ) -endif() -if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig") - file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/botan-2.pc" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/botan-2.pc") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/botan-2.pc" - [[${prefix}/include/botan-2]] - [[${prefix}/include]] + vcpkg_build_make( + BUILD_TARGET install + OPTIONS + "ZLIB_LIBS_RELEASE=${ZLIB_LIBS_RELEASE}" + "ZLIB_LIBS_DEBUG=${ZLIB_LIBS_DEBUG}" ) + if(NOT VCPKG_TARGET_IS_EMSCRIPTEN) + vcpkg_copy_tools(TOOL_NAMES botan AUTO_CLEAN) + endif() endif() -vcpkg_fixup_pkgconfig() -vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/Botan-${VERSION}") -if(CMAKE_HOST_WIN32) - vcpkg_copy_tools(TOOL_NAMES botan-cli AUTO_CLEAN) -else() - vcpkg_copy_tools(TOOL_NAMES botan AUTO_CLEAN) +file(RENAME "${CURRENT_PACKAGES_DIR}/include/botan-3/botan" "${CURRENT_PACKAGES_DIR}/include/botan") + +if(pkgconfig_requires) + list(JOIN pkgconfig_requires ", " pkgconfig_requires) + file(APPEND "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/botan-3.pc" "Requires.private: ${pkgconfig_requires}") + if(NOT VCPKG_BUILD_TYPE) + file(APPEND "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/botan-3.pc" "Requires.private: ${pkgconfig_requires}") + endif() endif() +vcpkg_fixup_pkgconfig() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share" - "${CURRENT_PACKAGES_DIR}/include/botan-2" - "${CURRENT_PACKAGES_DIR}/share/doc") - -if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") -endif() + "${CURRENT_PACKAGES_DIR}/include/botan-3" +) 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)\"" "" 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}" "") -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/botan/vcpkg.json b/ports/botan/vcpkg.json index 1c2d7e1a30ebb2..e36048d8e239c9 100644 --- a/ports/botan/vcpkg.json +++ b/ports/botan/vcpkg.json @@ -1,13 +1,33 @@ { "name": "botan", - "version": "2.18.1", - "port-version": 4, + "version": "3.6.1", "description": "A cryptography library written in C++11", "homepage": "https://botan.randombit.net", - "supports": "!(windows & arm)", + "license": "BSD-2-Clause", + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake-config", + "host": true + }, + { + "name": "vcpkg-cmake-get-vars", + "host": true + } + ], "features": { "amalgamation": { "description": "Do an amalgamation build of the library" + }, + "zlib": { + "description": "Build with zlib. Enable compression pipes.", + "dependencies": [ + { + "name": "vcpkg-pkgconfig-get-modules", + "host": true + }, + "zlib" + ] } } } diff --git a/ports/botan/verbose-install.patch b/ports/botan/verbose-install.patch new file mode 100644 index 00000000000000..4f6101e10b1217 --- /dev/null +++ b/ports/botan/verbose-install.patch @@ -0,0 +1,13 @@ +diff --git a/src/build-data/makefile.in b/src/build-data/makefile.in +index 1d50a31..64789a5 100644 +--- a/src/build-data/makefile.in ++++ b/src/build-data/makefile.in +@@ -61,7 +61,7 @@ distclean: + "$(PYTHON_EXE)" "$(SCRIPTS_DIR)/cleanup.py" --build-dir="%{build_dir}" --distclean + + install: %{install_targets} +- "$(PYTHON_EXE)" "$(SCRIPTS_DIR)/install.py" --build-dir="%{build_dir}" ++ "$(PYTHON_EXE)" "$(SCRIPTS_DIR)/install.py" --build-dir="%{build_dir}" --verbose + + check: tests + "$(PYTHON_EXE)" "$(SCRIPTS_DIR)/check.py" --build-dir="%{build_dir}" diff --git a/ports/box2d/portfile.cmake b/ports/box2d/portfile.cmake index e6004f07951690..b7aca7a096a214 100644 --- a/ports/box2d/portfile.cmake +++ b/ports/box2d/portfile.cmake @@ -1,5 +1,3 @@ -vcpkg_fail_port_install(ON_TARGET "uwp") - vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( @@ -10,19 +8,18 @@ vcpkg_from_github( HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBOX2D_BUILD_UNIT_TESTS=OFF -DBOX2D_BUILD_TESTBED=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/box2d) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/box2d) vcpkg_copy_pdbs() -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/box2d/vcpkg.json b/ports/box2d/vcpkg.json index 38535d8fa8bfdf..2abd22581504ed 100644 --- a/ports/box2d/vcpkg.json +++ b/ports/box2d/vcpkg.json @@ -1,8 +1,18 @@ { "name": "box2d", "version-semver": "2.4.1", - "port-version": 1, + "port-version": 3, "description": "An open source C++ engine for simulating rigid bodies in 2D", "homepage": "https://box2d.org", - "supports": "!uwp" + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/braft/export-target.patch b/ports/braft/export-target.patch new file mode 100644 index 00000000000000..98b04e90129a5d --- /dev/null +++ b/ports/braft/export-target.patch @@ -0,0 +1,72 @@ +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..50cffc6 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -19,8 +19,10 @@ add_library(braft-static STATIC $) + endif() + + if (BUILD_SHARED_LIBS) ++target_include_directories(braft-shared PUBLIC $) + target_link_libraries(braft-shared PUBLIC ${DYNAMIC_LIB}) + else() ++target_include_directories(braft-static PUBLIC $) + target_link_libraries(braft-static PUBLIC ${DYNAMIC_LIB}) + endif() + +@@ -31,15 +33,32 @@ SET_TARGET_PROPERTIES(braft-shared PROPERTIES OUTPUT_NAME braft CLEAN_DIRECT_OUT + endif() + + if (NOT BUILD_SHARED_LIBS) +-install(TARGETS braft-static ++install(TARGETS braft-static EXPORT unofficial-braftTargets + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIBSUFFIX} + ARCHIVE DESTINATION lib${LIBSUFFIX} + ) + else() +-install(TARGETS braft-shared ++install(TARGETS braft-shared EXPORT unofficial-braftTargets + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIBSUFFIX} + ARCHIVE DESTINATION lib${LIBSUFFIX} + ) + endif() ++ ++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}") ++endforeach() ++]]) ++install(FILES "${CMAKE_CURRENT_BINARY_DIR}/unofficial-braft-config.cmake" DESTINATION share/unofficial-braft) ++ ++install(EXPORT unofficial-braftTargets ++ NAMESPACE unofficial::braft:: ++ DESTINATION share/unofficial-braft ++) diff --git a/ports/braft/fix-build.patch b/ports/braft/fix-build.patch new file mode 100644 index 00000000000000..1be7d3c9788a88 --- /dev/null +++ b/ports/braft/fix-build.patch @@ -0,0 +1,56 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a735c53..53ddaed 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -229,7 +229,9 @@ add_subdirectory(src) + if(BUILD_UNIT_TESTS) + add_subdirectory(test) + endif() ++if(BUILD_TOOLS) + add_subdirectory(tools) ++endif() + + file(COPY ${CMAKE_CURRENT_BINARY_DIR}/braft/ + DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/output/include/braft/ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index f587464..78adc56 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -12,22 +12,34 @@ include_directories(${CMAKE_SOURCE_DIR}/src) + add_library(OBJ_LIB OBJECT ${SOURCES}) + + set_property(TARGET ${OBJ_LIB} PROPERTY POSITION_INDEPENDENT_CODE 1) ++if (BUILD_SHARED_LIBS) + add_library(braft-shared SHARED $) ++else() + add_library(braft-static STATIC $) +-target_link_libraries(braft-shared ${DYNAMIC_LIB}) +-target_link_libraries(braft-static ${DYNAMIC_LIB}) ++endif() ++ ++if (BUILD_SHARED_LIBS) ++target_link_libraries(braft-shared PUBLIC ${DYNAMIC_LIB}) ++else() ++target_link_libraries(braft-static PUBLIC ${DYNAMIC_LIB}) ++endif() + ++if (NOT BUILD_SHARED_LIBS) + SET_TARGET_PROPERTIES(braft-static PROPERTIES OUTPUT_NAME braft CLEAN_DIRECT_OUTPUT 1) ++else() + SET_TARGET_PROPERTIES(braft-shared PROPERTIES OUTPUT_NAME braft CLEAN_DIRECT_OUTPUT 1) ++endif() + ++if (NOT BUILD_SHARED_LIBS) + install(TARGETS braft-static + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIBSUFFIX} + ARCHIVE DESTINATION lib${LIBSUFFIX} + ) +- ++else() + install(TARGETS braft-shared + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIBSUFFIX} + ARCHIVE DESTINATION lib${LIBSUFFIX} + ) ++endif() diff --git a/ports/braft/fix-dependency.patch b/ports/braft/fix-dependency.patch new file mode 100644 index 00000000000000..d875f352d58af1 --- /dev/null +++ b/ports/braft/fix-dependency.patch @@ -0,0 +1,31 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 53ddaed..3d75dd5 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -47,8 +47,9 @@ if ((NOT LEVELDB_INCLUDE_PATH) OR (NOT LEVELDB_LIB)) + message(FATAL_ERROR "Fail to find leveldb") + endif() + +-find_path(GFLAGS_INCLUDE_PATH NAMES gflags/gflags.h) +-find_library(GFLAGS_LIB NAMES gflags) ++find_package(gflags CONFIG REQUIRED) ++get_target_property(GFLAGS_INCLUDE_PATH gflags::gflags INTERFACE_INCLUDE_DIRECTORIES) ++set(GFLAGS_LIB gflags::gflags) + 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 new file mode 100644 index 00000000000000..8811e4f9b3c6ad --- /dev/null +++ b/ports/braft/portfile.cmake @@ -0,0 +1,37 @@ +vcpkg_download_distfile( + GCC_11_PATCH + URLS https://github.com/baidu/braft/commit/361ef01185b88baf90b7926f992c8e71fc4aefc2.patch?full_index=1 + SHA512 245470404885cc8a903893fbcde201b892d0b160d7c1f09758f20c83a0d8f476f4512ee8091aa7a1d3798c8315eb0dae8e9a8da7af8425df62ab6f837b025392 + FILENAME 361ef01185b88baf90b7926f992c8e71fc4aefc2.patch +) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO baidu/braft + REF 8d0128e02a2959f9cc427d5f97ed730ee6a6b410 + SHA512 f28afbf5fe8a354872c252580e2d679f7a66944a554f0c8e9331b8a68b6a87659d59fbbc41c3ada55e09a265032290bcef567c99a7428604d08f7885f97cf6d7 + HEAD_REF master + PATCHES + fix-build.patch + fix-dependency.patch + export-target.patch + "${GCC_11_PATCH}" + fix-glog.patch + protobuf.patch +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBRPC_WITH_GLOG=ON + -DBUILD_TOOLS=OFF +) + +vcpkg_cmake_install() +vcpkg_copy_pdbs() + +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-braft CONFIG_PATH share/unofficial-braft) + +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/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 new file mode 100644 index 00000000000000..2083b4d5cecbd9 --- /dev/null +++ b/ports/braft/vcpkg.json @@ -0,0 +1,25 @@ +{ + "name": "braft", + "version-date": "2021-26-04", + "port-version": 5, + "description": "Consensus algorithm library", + "homepage": "https://github.com/baidu/braft", + "license": "Apache-2.0", + "supports": "!windows", + "dependencies": [ + "brpc", + "gflags", + "glog", + "leveldb", + "protobuf", + "thrift", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/breakpad/CMakeLists.txt b/ports/breakpad/CMakeLists.txt index 3ff4bf3cd00ce7..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( @@ -17,19 +17,20 @@ set(CMAKE_DEBUG_POSTFIX d) string(COMPARE EQUAL "${CMAKE_BUILD_TYPE}" "Release" DEFAULT_INSTALL_HEADERS) option(INSTALL_HEADERS "Install header files" ${DEFAULT_INSTALL_HEADERS}) +option(INSTALL_TOOLS "Install tools" OFF) # libbreakpad target if(NOT CMAKE_SYSTEM_NAME STREQUAL Android) file(GLOB_RECURSE LIBBREAKPAD_SOURCES src/processor/*.cc) if(WIN32) list(FILTER LIBBREAKPAD_SOURCES EXCLUDE REGEX - "_unittest|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|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|synth_minidump|/tests|/testdata|/mac|/windows|/android|/solaris|microdump_stackwalk|minidump_dump|minidump_stackwalk") + "_unittest|_selftest|synth_minidump|/tests|/testdata|/mac|/windows|/android|/solaris|microdump_stackwalk|minidump_dump|minidump_stackwalk") endif() find_library(LIBDISASM_LIB NAMES libdisasmd libdisasm) @@ -92,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 $ @@ -99,6 +108,79 @@ target_include_directories(libbreakpad_client ) list(APPEND TARGETS libbreakpad_client) +if(INSTALL_TOOLS) + if(LINUX) + add_executable(microdump_stackwalk + src/processor/microdump_stackwalk.cc) + target_link_libraries(microdump_stackwalk PRIVATE libbreakpad libbreakpad_client) + install(TARGETS microdump_stackwalk DESTINATION bin) + + add_executable(minidump_dump + src/processor/minidump_dump.cc) + target_link_libraries(minidump_dump PRIVATE libbreakpad libbreakpad_client) + install(TARGETS minidump_dump DESTINATION bin) + + add_executable(minidump_stackwalk + src/processor/minidump_stackwalk.cc) + target_link_libraries(minidump_stackwalk PRIVATE libbreakpad libbreakpad_client) + install(TARGETS minidump_stackwalk DESTINATION bin) + + add_executable(core2md + src/tools/linux/core2md/core2md.cc) + target_link_libraries(core2md PRIVATE libbreakpad_client) + install(TARGETS core2md DESTINATION bin) + + add_executable(pid2md + src/tools/linux/pid2md/pid2md.cc) + target_link_libraries(pid2md PRIVATE libbreakpad_client) + install(TARGETS pid2md DESTINATION bin) + + add_executable(dump_syms + src/common/dwarf_cfi_to_module.cc + src/common/dwarf_cu_to_module.cc + src/common/dwarf_line_to_module.cc + src/common/dwarf_range_list_handler.cc + src/common/language.cc + src/common/module.cc + src/common/path_helper.cc + src/common/stabs_reader.cc + src/common/stabs_to_module.cc + src/common/dwarf/bytereader.cc + src/common/dwarf/dwarf2diehandler.cc + src/common/dwarf/dwarf2reader.cc + src/common/dwarf/elf_reader.cc + src/tools/linux/dump_syms/dump_syms.cc) + target_link_libraries(dump_syms PRIVATE libbreakpad_client) + install(TARGETS dump_syms DESTINATION bin) + + add_executable(minidump-2-core + src/common/linux/memory_mapped_file.cc + src/tools/linux/md2core/minidump-2-core.cc) + target_link_libraries(minidump-2-core PRIVATE libbreakpad_client) + install(TARGETS minidump-2-core DESTINATION bin) + + add_executable(minidump_upload + src/common/linux/http_upload.cc + src/tools/linux/symupload/minidump_upload.cc) + target_link_libraries(minidump_upload PRIVATE libbreakpad_client ${CMAKE_DL_LIBS}) + install(TARGETS minidump_upload DESTINATION bin) + + add_executable(sym_upload + src/common/linux/http_upload.cc + src/common/linux/libcurl_wrapper.cc + src/common/linux/symbol_collector_client.cc + src/common/linux/symbol_upload.cc + src/tools/linux/symupload/sym_upload.cc) + target_link_libraries(sym_upload PRIVATE libbreakpad_client ${CMAKE_DL_LIBS}) + install(TARGETS sym_upload DESTINATION bin) + + add_executable(core_handler + src/tools/linux/core_handler/core_handler.cc) + target_link_libraries(core_handler PRIVATE libbreakpad_client) + install(TARGETS core_handler DESTINATION bin) + endif() +endif() + # installation install(TARGETS ${TARGETS} EXPORT unofficial-breakpad-targets RUNTIME DESTINATION bin @@ -110,9 +192,9 @@ if(INSTALL_HEADERS) if(WIN32) set(HEADER_EXCLUDE_REGEX "/apple|/ios|/linux|/mac|/solaris|/android|/dwarf|/tests|/testdata|/unittests") elseif(APPLE) - set(HEADER_EXCLUDE_REGEX "/apple|/ios|/linux|/windows|/solaris|/android|/dwarf|/tests|/testdata|/unittests|/sender|/testapp|/*proj|/gcov") + set(HEADER_EXCLUDE_REGEX "/apple|/ios|/linux|/windows|/solaris|/android|/dwarf|/tests|/testdata|/unittests|/sender|/testapp|\.xcodeproj|/gcov") else() - set(HEADER_EXCLUDE_REGEX "/apple|/ios|/client/linux/data|/client/linux/sender|/windows|/mac|/solaris|/android|/dwarf|/tests|/testdata|/unittests") + set(HEADER_EXCLUDE_REGEX "/apple|/ios|/windows|/mac|/solaris|/android|/dwarf|/tests|/testdata|/unittests") install( DIRECTORY src/third_party/lss DESTINATION include/third_party @@ -131,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/fix-unordered_map.patch b/ports/breakpad/fix-unordered_map.patch deleted file mode 100644 index 0d131d2b8db3d7..00000000000000 --- a/ports/breakpad/fix-unordered_map.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/src/common/unordered.h b/src/common/unordered.h -index c9cbd58..7743eda 100644 ---- a/src/common/unordered.h -+++ b/src/common/unordered.h -@@ -46,7 +46,8 @@ struct unordered_map : public __gnu_cxx::hash_map {}; - template > - struct unordered_set : public __gnu_cxx::hash_set {}; - --#elif defined(_LIBCPP_VERSION) // c++11 -+#elif (__cplusplus >= 201103L) || defined(_LIBCPP_VERSION) || \ -+ (defined(_MSC_VER) && (_MSC_VER >= 1800)) // c++11 - #include - #include - using std::unordered_map; diff --git a/ports/breakpad/portfile.cmake b/ports/breakpad/portfile.cmake index 41a34342d178e2..c81c61f68bf33a 100644 --- a/ports/breakpad/portfile.cmake +++ b/ports/breakpad/portfile.cmake @@ -1,40 +1,69 @@ -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO google/breakpad - REF 9c4671f2e3a63c0f155d9b2511192d0b5fa7f760 # accessed on 2020-09-14 - SHA512 4c9ed9b675a772f9a6a84692865381130901820cb395b725511e7a9e2cbf4aaa5212a9ef5f87086baf58bb9d729082232b564bd827a205f87b5c1ffc1c53892a - HEAD_REF master - PATCHES - fix-unique_ptr.patch - fix-unordered_map.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_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA -) - -vcpkg_install_cmake() - -vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-breakpad TARGET_PATH share/unofficial-breakpad) - -vcpkg_copy_pdbs() - -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +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 fc9efed3df96be..51e58c652c3381 100644 --- a/ports/breakpad/vcpkg.json +++ b/ports/breakpad/vcpkg.json @@ -1,10 +1,34 @@ { "name": "breakpad", - "version-string": "2020-09-14", - "port-version": 3, + "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", + "supports": "!uwp & (!windows | !arm) & (!windows | !arm64)", "dependencies": [ - "libdisasm" - ] + { + "name": "atl", + "platform": "windows" + }, + "libdisasm", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + { + "name": "zlib", + "platform": "linux" + } + ], + "features": { + "tools": { + "description": "Build breakpad tools", + "supports": "linux" + } + } } diff --git a/ports/brigand/vcpkg.json b/ports/brigand/vcpkg.json index 99a5e0219c58d6..a8f65f7ed482cb 100644 --- a/ports/brigand/vcpkg.json +++ b/ports/brigand/vcpkg.json @@ -1,7 +1,7 @@ { "name": "brigand", - "version-string": "1.3.0", - "port-version": 2, + "version": "1.3.0", + "port-version": 3, "description": "Brigand is a light-weight, fully functional, instant-compile time C++ 11 meta-programming library.", "homepage": "https://github.com/edouarda/brigand", "dependencies": [ diff --git a/ports/brotli/emscripten.patch b/ports/brotli/emscripten.patch new file mode 100644 index 00000000000000..24696d73eb864d --- /dev/null +++ b/ports/brotli/emscripten.patch @@ -0,0 +1,15 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 0589fc1..9b32b60 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -153,10 +153,8 @@ foreach(lib ${BROTLI_LIBRARIES_CORE}) + set_property(TARGET ${lib} APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES "$" $) + endforeach() + +-if(NOT BROTLI_EMSCRIPTEN) + target_link_libraries(brotlidec brotlicommon) + target_link_libraries(brotlienc brotlicommon) +-endif() + + # For projects stuck on older versions of CMake, this will set the + # BROTLI_INCLUDE_DIRS and BROTLI_LIBRARIES variables so they still diff --git a/ports/brotli/fix-arm-uwp.patch b/ports/brotli/fix-arm-uwp.patch index 7ed3fcd3dc88fe..849c7dd08711cc 100644 --- a/ports/brotli/fix-arm-uwp.patch +++ b/ports/brotli/fix-arm-uwp.patch @@ -1,13 +1,13 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index e6c6054..2c4b757 100644 +index d868883..e4c5ecc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -124,6 +124,8 @@ elseif(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD") - add_definitions(-DOS_FREEBSD) - elseif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") +@@ -114,6 +114,8 @@ elseif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") add_definitions(-DOS_MACOSX) + set(CMAKE_MACOS_RPATH TRUE) + set(CMAKE_INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib") +elseif(MSVC) + add_definitions(-D_CRT_SECURE_NO_WARNINGS) endif() - function(transform_sources_list INPUT_FILE OUTPUT_FILE) + if(BROTLI_EMSCRIPTEN) diff --git a/ports/brotli/fix-ios.patch b/ports/brotli/fix-ios.patch deleted file mode 100644 index b3dee6aa03836d..00000000000000 --- a/ports/brotli/fix-ios.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index fcd9024..a717b87 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -225,6 +225,7 @@ if(NOT BROTLI_BUNDLED_MODE) - install( - TARGETS brotli - RUNTIME DESTINATION tools/brotli -+ BUNDLE DESTINATION tools/brotli - CONFIGURATIONS Release - ) - diff --git a/ports/brotli/install.patch b/ports/brotli/install.patch index af3d3f3ea8d2dd..c523f1c785741b 100644 --- a/ports/brotli/install.patch +++ b/ports/brotli/install.patch @@ -1,10 +1,10 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 4ff3401..46492d0 100644 +index 61378cd..d868883 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -185,14 +185,13 @@ endforeach() +@@ -142,14 +142,13 @@ endif() - foreach(lib IN LISTS BROTLI_SHARED_LIBS BROTLI_STATIC_LIBS) + foreach(lib ${BROTLI_LIBRARIES_CORE}) target_link_libraries(${lib} ${LIBM_LIBRARY}) - set_property(TARGET ${lib} APPEND PROPERTY INCLUDE_DIRECTORIES ${BROTLI_INCLUDE_DIRS}) set_target_properties(${lib} PROPERTIES @@ -13,39 +13,28 @@ index 4ff3401..46492d0 100644 if(NOT BROTLI_EMSCRIPTEN) set_target_properties(${lib} PROPERTIES POSITION_INDEPENDENT_CODE TRUE) endif() -- set_property(TARGET ${lib} APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${BROTLI_INCLUDE_DIRS}") +- set_property(TARGET ${lib} APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES "$") + set_property(TARGET ${lib} APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES "$" $) endforeach() if(NOT BROTLI_EMSCRIPTEN) -@@ -223,27 +222,35 @@ if(NOT BROTLI_EMSCRIPTEN) +@@ -176,11 +175,14 @@ target_link_libraries(brotli ${BROTLI_LIBRARIES}) if(NOT BROTLI_BUNDLED_MODE) install( TARGETS brotli - RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" + RUNTIME DESTINATION tools/brotli ++ BUNDLE DESTINATION tools/brotli + CONFIGURATIONS Release ) -+ if(BUILD_SHARED_LIBS) install( TARGETS ${BROTLI_LIBRARIES_CORE} + EXPORT brotli ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" - ) -- -+ else() - install( - TARGETS ${BROTLI_LIBRARIES_CORE_STATIC} -+ EXPORT brotli - ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" - LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" - RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" - ) -+ endif() - +@@ -189,7 +191,10 @@ if(NOT BROTLI_BUNDLED_MODE) install( DIRECTORY ${BROTLI_INCLUDE_DIRS}/brotli DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" @@ -54,5 +43,5 @@ index 4ff3401..46492d0 100644 + + install(EXPORT brotli FILE unofficial-brotli-config.cmake NAMESPACE unofficial::brotli:: DESTINATION share/unofficial-brotli) endif() # BROTLI_BUNDLED_MODE - endif() # BROTLI_EMSCRIPTEN + # Tests diff --git a/ports/brotli/pkgconfig.patch b/ports/brotli/pkgconfig.patch index c11e0d493ca7c4..e3c3fa38f12277 100644 --- a/ports/brotli/pkgconfig.patch +++ b/ports/brotli/pkgconfig.patch @@ -1,74 +1,17 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index b1c654b..fcd9024 100644 +index e4c5ecc..0589fc1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -390,7 +390,7 @@ function(generate_pkg_config_path outvar path) - set("${outvar}" "${${outvar}}" PARENT_SCOPE) - endfunction(generate_pkg_config_path) - --function(transform_pc_file INPUT_FILE OUTPUT_FILE VERSION) -+function(transform_pc_file INPUT_FILE OUTPUT_FILE VERSION SHARED_TARGET STATIC_TARGET) - file(READ ${INPUT_FILE} TEXT) - - set(PREFIX "${CMAKE_INSTALL_PREFIX}") -@@ -404,15 +404,22 @@ function(transform_pc_file INPUT_FILE OUTPUT_FILE VERSION) - string(REGEX REPLACE "@includedir@" "${INCLUDEDIR}" TEXT ${TEXT}) +@@ -348,6 +348,12 @@ function(transform_pc_file INPUT_FILE OUTPUT_FILE VERSION) string(REGEX REPLACE "@PACKAGE_VERSION@" "${VERSION}" TEXT ${TEXT}) -+ -+ if(BUILD_SHARED_LIBS) -+ set(LIB_NAME "${SHARED_TARGET}") -+ else() -+ set(LIB_NAME "${STATIC_TARGET}") -+ endif() -+ string(REGEX REPLACE "@lib_name@" "${LIB_NAME}" TEXT ${TEXT}) ++ if(NOT BUILD_SHARED_LIBS) ++ if(LIBM_LIBRARY) ++ string(REPLACE " -lbrotlicommon" " -lbrotlicommon -l${LIBM_LIBRARY}" TEXT ${TEXT}) ++ endif() ++ endif() ++ file(WRITE ${OUTPUT_FILE} ${TEXT}) endfunction() --transform_pc_file("scripts/libbrotlicommon.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/libbrotlicommon.pc" "${BROTLI_VERSION}") -+transform_pc_file("scripts/libbrotlicommon.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/libbrotlicommon.pc" "${BROTLI_VERSION}" brotlicommon brotlicommon-static) - --transform_pc_file("scripts/libbrotlidec.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/libbrotlidec.pc" "${BROTLI_VERSION}") -+transform_pc_file("scripts/libbrotlidec.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/libbrotlidec.pc" "${BROTLI_VERSION}" brotlidec brotlidec-static) - --transform_pc_file("scripts/libbrotlienc.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/libbrotlienc.pc" "${BROTLI_VERSION}") -+transform_pc_file("scripts/libbrotlienc.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/libbrotlienc.pc" "${BROTLI_VERSION}" brotlienc brotlienc-static) - - if(NOT BROTLI_EMSCRIPTEN) - if(NOT BROTLI_BUNDLED_MODE) -diff --git a/scripts/libbrotlicommon.pc.in b/scripts/libbrotlicommon.pc.in -index 10ca969..7736344 100644 ---- a/scripts/libbrotlicommon.pc.in -+++ b/scripts/libbrotlicommon.pc.in -@@ -7,5 +7,5 @@ Name: libbrotlicommon - URL: https://github.com/google/brotli - Description: Brotli common dictionary library - Version: @PACKAGE_VERSION@ --Libs: -L${libdir} -R${libdir} -lbrotlicommon -+Libs: -L${libdir} -l@lib_name@ - Cflags: -I${includedir} -diff --git a/scripts/libbrotlidec.pc.in b/scripts/libbrotlidec.pc.in -index e7c3124..a7dc8ce 100644 ---- a/scripts/libbrotlidec.pc.in -+++ b/scripts/libbrotlidec.pc.in -@@ -7,6 +7,6 @@ Name: libbrotlidec - URL: https://github.com/google/brotli - Description: Brotli decoder library - Version: @PACKAGE_VERSION@ --Libs: -L${libdir} -R${libdir} -lbrotlidec -+Libs: -L${libdir} -l@lib_name@ - Requires.private: libbrotlicommon >= 1.0.2 - Cflags: -I${includedir} -diff --git a/scripts/libbrotlienc.pc.in b/scripts/libbrotlienc.pc.in -index 4dd0811..eb2712e 100644 ---- a/scripts/libbrotlienc.pc.in -+++ b/scripts/libbrotlienc.pc.in -@@ -7,6 +7,6 @@ Name: libbrotlienc - URL: https://github.com/google/brotli - Description: Brotli encoder library - Version: @PACKAGE_VERSION@ --Libs: -L${libdir} -R${libdir} -lbrotlienc -+Libs: -L${libdir} -l@lib_name@ - Requires.private: libbrotlicommon >= 1.0.2 - Cflags: -I${includedir} diff --git a/ports/brotli/portfile.cmake b/ports/brotli/portfile.cmake index 9c1e3037dc5184..461b4f60bd333c 100644 --- a/ports/brotli/portfile.cmake +++ b/ports/brotli/portfile.cmake @@ -1,30 +1,35 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/brotli - REF e61745a6b7add50d380cfd7d3883dd6c62fc2c71 # v1.0.9 - SHA512 303444695600b70ce59708e06bf21647d9b8dd33d772c53bbe49320f2f8f95ca8a7d6df2d29b7f36ff99001967e2d28380e0e305d778031940a3a5c6585f9a4f + REF v${VERSION} # v1.1.0 + SHA512 6eb280d10d8e1b43d22d00fa535435923c22ce8448709419d676ff47d4a644102ea04f488fc65a179c6c09fee12380992e9335bad8dfebd5d1f20908d10849d9 HEAD_REF master PATCHES install.patch fix-arm-uwp.patch pkgconfig.patch - fix-ios.patch + emscripten.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS -DBROTLI_DISABLE_TESTS=ON +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBROTLI_DISABLE_TESTS=ON ) - -vcpkg_install_cmake() - +vcpkg_cmake_install() vcpkg_copy_pdbs() - -vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/brotli) -vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-brotli TARGET_PATH share/unofficial-brotli) vcpkg_fixup_pkgconfig() +vcpkg_cmake_config_fixup(CONFIG_PATH share/unofficial-brotli PACKAGE_NAME unofficial-brotli) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/tools") + +# Under emscripten the brotli executable tool is produced with .js extension but vcpkg_copy_tools +# has no special behaviour in this case and searches for the tool name with no extension +if(VCPKG_TARGET_IS_EMSCRIPTEN) + set(TOOL_SUFFIX ".js" ) +endif() +vcpkg_copy_tools(TOOL_NAMES "brotli${TOOL_SUFFIX}" SEARCH_DIR "${CURRENT_PACKAGES_DIR}/tools/brotli") -file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/unofficial-brotli) -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/brotli/usage b/ports/brotli/usage new file mode 100644 index 00000000000000..d3dde761ef4d40 --- /dev/null +++ b/ports/brotli/usage @@ -0,0 +1,7 @@ +brotli provides CMake targets: + + find_package(unofficial-brotli CONFIG REQUIRED) + # Brotli decoder library + target_link_libraries(main PRIVATE unofficial::brotli::brotlidec) + # Brotli encoder library + target_link_libraries(main PRIVATE unofficial::brotli::brotlienc) diff --git a/ports/brotli/vcpkg-cmake-wrapper.cmake b/ports/brotli/vcpkg-cmake-wrapper.cmake deleted file mode 100644 index 882106bcca6dcb..00000000000000 --- a/ports/brotli/vcpkg-cmake-wrapper.cmake +++ /dev/null @@ -1,11 +0,0 @@ -_find_package(${ARGS}) -foreach(T brotlicommon brotlidec brotlienc) - if(TARGET unofficial::brotli::${T} AND NOT TARGET unofficial::brotli::${T}-static) - _add_library(unofficial::brotli::${T}-static INTERFACE IMPORTED) - set_target_properties(unofficial::brotli::${T}-static PROPERTIES INTERFACE_LINK_LIBRARIES "unofficial::brotli::${T}") - endif() - if(NOT TARGET unofficial::brotli::${T} AND TARGET unofficial::brotli::${T}-static) - _add_library(unofficial::brotli::${T} INTERFACE IMPORTED) - set_target_properties(unofficial::brotli::${T} PROPERTIES INTERFACE_LINK_LIBRARIES "unofficial::brotli::${T}-static") - endif() -endforeach() diff --git a/ports/brotli/vcpkg.json b/ports/brotli/vcpkg.json index c5b7fc09dff7e5..1be0e557464f9a 100644 --- a/ports/brotli/vcpkg.json +++ b/ports/brotli/vcpkg.json @@ -1,7 +1,18 @@ { "name": "brotli", - "version-string": "1.0.9", - "port-version": 2, + "version": "1.1.0", + "port-version": 1, "description": "a generic-purpose lossless compression algorithm that compresses data using a combination of a modern variant of the LZ77 algorithm, Huffman coding and 2nd order context modeling.", - "homepage": "https://github.com/google/brotli" + "homepage": "https://github.com/google/brotli", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/brpc/fix-build.patch b/ports/brpc/fix-build.patch new file mode 100644 index 00000000000000..e48139fc5c5d6d --- /dev/null +++ b/ports/brpc/fix-build.patch @@ -0,0 +1,217 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b14fe178..9e9a776a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -68,7 +68,8 @@ endif() + + if(WITH_THRIFT) + set(THRIFT_CPP_FLAG "-DENABLE_THRIFT_FRAMED_PROTOCOL") +- find_library(THRIFT_LIB NAMES thrift) ++ find_package(Thrift CONFIG REQUIRED) ++ set(THRIFT_LIB "thrift::thrift") + 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) ++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) + ++find_package(leveldb CONFIG REQUIRED) + find_path(LEVELDB_INCLUDE_PATH NAMES leveldb/db.h) +-find_library(LEVELDB_LIB NAMES leveldb) ++set(LEVELDB_LIB leveldb::leveldb) + if ((NOT LEVELDB_INCLUDE_PATH) OR (NOT LEVELDB_LIB)) + message(FATAL_ERROR "Fail to find leveldb") + endif() +@@ -216,8 +221,9 @@ if(WITH_SNAPPY) + endif() + + if(WITH_GLOG) +- find_path(GLOG_INCLUDE_PATH NAMES glog/logging.h) +- find_library(GLOG_LIB NAMES glog) ++ find_package(glog CONFIG REQUIRED) ++ get_target_property(GLOG_INCLUDE_PATH glog::glog INTERFACE_INCLUDE_DIRECTORIES) ++ set(GLOG_LIB glog::glog) + if((NOT GLOG_INCLUDE_PATH) OR (NOT GLOG_LIB)) + message(FATAL_ERROR "Fail to find glog") + endif() +@@ -244,7 +250,7 @@ if(WITH_RDMA) + endif() + endif() + +-find_library(PROTOC_LIB NAMES protoc) ++set(PROTOC_LIB "protobuf::libprotoc") + if(NOT PROTOC_LIB) + message(FATAL_ERROR "Fail to find protoc lib") + endif() +@@ -259,7 +265,7 @@ else() + ) + endif() + +- find_package(OpenSSL) ++ find_package(OpenSSL REQUIRED) + include_directories(${OPENSSL_INCLUDE_DIR}) + endif() + +@@ -275,9 +281,10 @@ set(DYNAMIC_LIB + ${LEVELDB_LIB} + ${PROTOC_LIB} + ${CMAKE_THREAD_LIBS_INIT} ++ ${OPENSSL_SSL_LIBRARY} + ${THRIFT_LIB} + dl +- z) ++ ZLIB::ZLIB) + + 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 ++++ b/cmake/FindGFLAGS.cmake +@@ -24,7 +24,9 @@ if (GFLAGS_STATIC) + set(CMAKE_FIND_LIBRARY_SUFFIXES .a ${CMAKE_FIND_LIBRARY_SUFFIXES}) + endif (WIN32) + endif (GFLAGS_STATIC) +-find_library(GFLAGS_LIBRARY NAMES gflags libgflags) ++find_package(gflags CONFIG REQUIRED) ++set(GFLAGS_LIBRARY gflags::gflags) ++get_target_property(GFLAGS_INCLUDE_PATH gflags::gflags INTERFACE_INCLUDE_DIRECTORIES) + if(GFLAGS_INCLUDE_PATH AND GFLAGS_LIBRARY) + set(GFLAGS_FOUND TRUE) + endif(GFLAGS_INCLUDE_PATH AND GFLAGS_LIBRARY) +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 1b4b2332..638ec070 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -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) + ++if(NOT BUILD_SHARED_LIBS) + add_library(brpc-static STATIC $ + $ + $) +@@ -60,12 +63,19 @@ endfunction() + + + 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 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) + +@@ -74,36 +84,63 @@ set(protoc_gen_mcpack_SOURCES + ) + + add_executable(protoc-gen-mcpack ${protoc_gen_mcpack_SOURCES}) ++endif() + + if(BUILD_SHARED_LIBS) + add_library(brpc-shared SHARED $ + $ + $) +- target_link_libraries(brpc-shared ${DYNAMIC_LIB}) ++ target_link_libraries(brpc-shared PUBLIC ${DYNAMIC_LIB}) ++ target_include_directories(brpc-shared PUBLIC $) + if(WITH_GLOG) +- target_link_libraries(brpc-shared ${GLOG_LIB}) ++ target_link_libraries(brpc-shared PUBLIC ${GLOG_LIB}) + endif() + 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) ++ endif() + +- install(TARGETS brpc-shared ++ install(TARGETS brpc-shared EXPORT unofficial-brpcTargets + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + ) + else() ++if(0) + target_link_libraries(protoc-gen-mcpack brpc-static ${DYNAMIC_LIB} pthread) + endif() ++endif() + + +- +-install(TARGETS brpc-static ++if(NOT BUILD_SHARED_LIBS) ++install(TARGETS brpc-static EXPORT unofficial-brpcTargets + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + ) ++endif() ++ ++file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/unofficial-brpc-config.cmake" ++[[include(CMakeFindDependencyMacro) ++find_dependency(OpenSSL) ++find_dependency(Threads) ++find_dependency(ZLIB) ++find_dependency(gflags CONFIG) ++find_dependency(protobuf CONFIG) ++find_dependency(leveldb CONFIG) ++find_dependency(Thrift CONFIG) ++find_dependency(glog CONFIG) ++file(GLOB TARGET_FILES "${CMAKE_CURRENT_LIST_DIR}/unofficial-brpcTargets.cmake") ++foreach (TARGET_FILE ${TARGET_FILES}) ++ include("${TARGET_FILE}") ++endforeach() ++]]) ++install(FILES "${CMAKE_CURRENT_BINARY_DIR}/unofficial-brpc-config.cmake" DESTINATION share/unofficial-brpc) ++ ++install(EXPORT unofficial-brpcTargets ++ NAMESPACE unofficial::brpc:: ++ DESTINATION share/unofficial-brpc ++) diff --git a/ports/brpc/fix-protobuf-deprecated.patch b/ports/brpc/fix-protobuf-deprecated.patch deleted file mode 100644 index 564724c63bbf6f..00000000000000 --- a/ports/brpc/fix-protobuf-deprecated.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/brpc/protocol.cpp b/src/brpc/protocol.cpp -index 11297ea..c998edb 100644 ---- a/src/brpc/protocol.cpp -+++ b/src/brpc/protocol.cpp -@@ -203,7 +203,7 @@ BUTIL_FORCE_INLINE bool ParsePbFromZeroCopyStreamInlined( - // According to source code of pb, SetTotalBytesLimit is not a simple set, - // avoid calling the function when the limit is definitely unreached. - if (PB_TOTAL_BYETS_LIMITS < FLAGS_max_body_size) { -- decoder.SetTotalBytesLimit(INT_MAX, -1); -+ decoder.SetTotalBytesLimit(INT_MAX); - } - return msg->ParseFromCodedStream(&decoder) && decoder.ConsumedEntireMessage(); - } 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/fix_boost_ptr.patch b/ports/brpc/fix_boost_ptr.patch deleted file mode 100644 index 4ced79422bc7ce..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 eae081a0..39c92338 100755 ---- 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_thrift.patch b/ports/brpc/fix_thrift.patch deleted file mode 100644 index 699f42fb0aa0b9..00000000000000 --- a/ports/brpc/fix_thrift.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 3deb7342..737f6a70 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -62,8 +62,10 @@ if(WITH_DEBUG_SYMBOLS) - endif() - - if(WITH_THRIFT) -+ find_package(Thrift CONFIG REQUIRED) -+ # target_link_libraries(main PRIVATE thrift::thrift thriftz::thriftz thriftnb::thriftnb) - set(THRIFT_CPP_FLAG "-DENABLE_THRIFT_FRAMED_PROTOCOL") -- set(THRIFT_LIB "thrift") -+ set(THRIFT_LIB "thrift::thrift") - endif() - - include(GNUInstallDirs) -@@ -196,9 +198,10 @@ set(DYNAMIC_LIB - ${LEVELDB_LIB} - ${PROTOC_LIB} - ${CMAKE_THREAD_LIBS_INIT} -+ ${OPENSSL_CRYPTO_LIBRARY} -+ ${OPENSSL_SSL_LIBRARY} - ${THRIFT_LIB} - ${THRIFTNB_LIB} -- ${OPENSSL_CRYPTO_LIBRARY} - dl - z) - diff --git a/ports/brpc/portfile.cmake b/ports/brpc/portfile.cmake index b78f6e4ccc2489..ee474515daf978 100644 --- a/ports/brpc/portfile.cmake +++ b/ports/brpc/portfile.cmake @@ -1,34 +1,40 @@ -vcpkg_fail_port_install(ON_TARGET "windows") +vcpkg_download_distfile( + PROTOBUF_V5_PATCH + URLS https://github.com/apache/brpc/commit/282776acaf2c894791d2b5d4c294a28cfa2d4138.patch?full_index=1 + SHA512 2e62617ed56047a037f0e673a7dcc43e02c9bff46b6c9d1ae0098e4c73630f1a9a67c113e770bf1cc12d86d273f88f504f83af1ed69ee771f35cccac1a472990 + FILENAME 282776acaf2c894791d2b5d4c294a28cfa2d4138.patch +) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO apache/incubator-brpc - REF 1d6510aa50075cade5ed539ee09a11a1b8d7f990 # 0.9.7 - SHA512 9c9dbe2a202e58586010c56634bd371f6a9e3ff0d8c5341abbabd1f1dd204a3aec5e89061fa326b4fc8ae7202f9fc33f93a5acd845d18dab3915a3e2b81cbaf3 + REPO apache/brpc + REF "${VERSION}" + SHA512 eb2f9528f055a31db5b2bbf57d302b17d2229d387c3bc6afd7dec5f3d21d1f882275d43d49c04cb5190442c2daa746ac2a174b3741d943e531ebbbd82526d510 HEAD_REF master PATCHES - fix_boost_ptr.patch - fix_thrift.patch - fix-protobuf-deprecated.patch + fix-build.patch + fix-warnings.patch + ${PROTOBUF_V5_PATCH} ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + DISABLE_PARALLEL_CONFIGURE OPTIONS + -DBUILD_BRPC_TOOLS=OFF -DWITH_THRIFT=ON - -DWITH_MESALINK=OFF -DWITH_GLOG=ON + -DDOWNLOAD_GTEST=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-brpc CONFIG_PATH share/unofficial-brpc) -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}/include/butil/third_party/superfasthash") 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 8d7e722c7b4e2b..34badb8fdd8263 100644 --- a/ports/brpc/vcpkg.json +++ b/ports/brpc/vcpkg.json @@ -1,14 +1,17 @@ { "name": "brpc", - "version-string": "0.9.7", - "port-version": 3, + "version": "1.11.0", "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", - "supports": "!windows", + "homepage": "https://github.com/apache/brpc", + "license": "Apache-2.0", + "supports": "!windows & !(arm & android)", "dependencies": [ "gflags", "glog", - "leveldb", + { + "name": "leveldb", + "default-features": false + }, "openssl", { "name": "protobuf", @@ -16,6 +19,14 @@ "zlib" ] }, - "thrift" + "thrift", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/brunocodutra-metal/portfile.cmake b/ports/brunocodutra-metal/portfile.cmake index 8e43dca25a8e03..7dc6ce53094ca7 100644 --- a/ports/brunocodutra-metal/portfile.cmake +++ b/ports/brunocodutra-metal/portfile.cmake @@ -3,8 +3,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO brunocodutra/metal - REF 2.1.3 - SHA512 7a71f8bdbdb8a19084d0cabd4c78a4f2990514f2da56312aec8dfac02f6781c95f28bc33815ecbb3d9e3e8d2b47cc5dbcd4917751195a8318bea7c08fca29b23 + REF 9db9b403e58e0be0bbd295ff64f01e700965f25d + SHA512 b611d88d310893329f48111716c849571cb1459da1e71851bf3ec7393f18f8eb94077ce12410a9bcb1953e6b4ea0e8f2d2db5ce7f555a72ab2b7dae434b52d62 HEAD_REF master ) diff --git a/ports/brunocodutra-metal/vcpkg.json b/ports/brunocodutra-metal/vcpkg.json index b2d73955d64953..400950a7c02576 100644 --- a/ports/brunocodutra-metal/vcpkg.json +++ b/ports/brunocodutra-metal/vcpkg.json @@ -1,6 +1,6 @@ { "name": "brunocodutra-metal", - "version": "2.1.3", + "version": "2.1.4", "description": "A single header C++11 library designed to make you love template metaprogramming", "dependencies": [ { diff --git a/ports/brynet/portfile.cmake b/ports/brynet/portfile.cmake index f07030c495b88b..96c2a1ab11be53 100644 --- a/ports/brynet/portfile.cmake +++ b/ports/brynet/portfile.cmake @@ -3,8 +3,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO IronsDu/brynet - REF b33f44df85ca56ca315a560239db3a09a1aef4d7 # v1.11.0 - SHA512 0eaa212ab75a7b51ab546dbca10357d1cbb611ccfe09e3246050518c808a65cecb1374b60e2289023462b96f8b67aa8d19010f446364fecbec64115752234e60 + REF d9dda06cb2207f42e0a657c52c8278496fa4732c # v1.12.2 + SHA512 9900277bca019339cdca8da9a8d21b3df96f86ca6642e7d212fdf68a0899b48d2b9d803a334dc8ff4b372bc40c74a0095419a02dd8a6d4aa431a44666c19214e HEAD_REF master ) diff --git a/ports/brynet/vcpkg.json b/ports/brynet/vcpkg.json index 79dec2c58202d2..309842c5e697dc 100644 --- a/ports/brynet/vcpkg.json +++ b/ports/brynet/vcpkg.json @@ -1,7 +1,6 @@ { "name": "brynet", - "version-string": "1.11.0", - "port-version": 1, + "version": "1.12.2", "description": "A C++ header only cross platform high performance tcp network library, and support SSL/HTTP/Websocket.", "homepage": "https://github.com/IronsDu/brynet" } diff --git a/ports/bshoshany-thread-pool/portfile.cmake b/ports/bshoshany-thread-pool/portfile.cmake index b958693499299b..e9b47b2114baac 100644 --- a/ports/bshoshany-thread-pool/portfile.cmake +++ b/ports/bshoshany-thread-pool/portfile.cmake @@ -1,19 +1,13 @@ -#header-only library -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO bshoshany/thread-pool - REF v2.0.0 - SHA512 eac1674ea999d25d8d0b8f1b24714830330ba4d345e3f730e49359bae89d9259e429d48357a45f7b4355cbbe1a63f04e7fe2c4e0be08b3bbea51018c62721fcc - HEAD_REF master -) - -# Install headers (header-only): -file(GLOB HEADER_FILES LIST_DIRECTORIES false "${SOURCE_PATH}/*.hpp") -file(INSTALL - "${HEADER_FILES}" - DESTINATION "${CURRENT_PACKAGES_DIR}/include" - -) - -# Handle copyright -file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO bshoshany/thread-pool + REF "v${VERSION}" + SHA512 4908f00def23082e7ddc0b24a710e53b3fde51b02188e79cfcd9dabb22627ebd1b6e5b3c4bf1b366eae79660c26878cc034c171747c3d0b7ef8a98c85a77033b + HEAD_REF master +) + +file(GLOB HEADER_FILES LIST_DIRECTORIES false "${SOURCE_PATH}/include/*.hpp") + +file(INSTALL ${HEADER_FILES} DESTINATION "${CURRENT_PACKAGES_DIR}/include") + +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 86058533b0954c..9390a97180c19e 100644 --- a/ports/bshoshany-thread-pool/vcpkg.json +++ b/ports/bshoshany-thread-pool/vcpkg.json @@ -1,6 +1,9 @@ { "name": "bshoshany-thread-pool", - "version": "2.0.0", - "description": "A C++17 Thread Pool for High-Performance Scientific Computing", - "homepage": "https://github.com/bshoshany/thread-pool" + "version": "4.1.0", + "maintainers": "Barak Shoshany ", + "description": "BS::thread_pool: a fast, lightweight, and easy-to-use C++17 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 new file mode 100644 index 00000000000000..47eeec0e529363 --- /dev/null +++ b/ports/buck-yeh-bux-mariadb-client/portfile.cmake @@ -0,0 +1,15 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO buck-yeh/bux-mariadb-client + REF "${VERSION}" + SHA512 89ae1d7c49ed9f1bd600a4da91aa4ff0853cdb8a3e3724bf0902aecdcd8706f6ee1d5355926e1cf2a6225063b109a055efa28a40475e31d22f9c57a38582483a + 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 new file mode 100644 index 00000000000000..06f681f5f9c106 --- /dev/null +++ b/ports/buck-yeh-bux-mariadb-client/vcpkg.json @@ -0,0 +1,16 @@ +{ + "name": "buck-yeh-bux-mariadb-client", + "version": "1.0.4", + "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": "!(android | linux | osx | uwp)", + "dependencies": [ + "buck-yeh-bux", + "libmariadb", + { + "name": "vcpkg-cmake", + "host": true + } + ] +} diff --git a/ports/buck-yeh-bux-sqlite/portfile.cmake b/ports/buck-yeh-bux-sqlite/portfile.cmake new file mode 100644 index 00000000000000..6846f46018f31f --- /dev/null +++ b/ports/buck-yeh-bux-sqlite/portfile.cmake @@ -0,0 +1,15 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO buck-yeh/bux-sqlite + REF e8ab90da9586f61024b59aa1a4900efb94f1d3f4 # v1.0.1 + SHA512 27acefdb32dd00dbbef91479b5e682cf6a9281e13a596128d5050fe44ed4b8669d5e7279b4db30efbd4d016d268c6f2ce893f91bbdddff17f2a227ba3a292d01 + 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-sqlite/vcpkg.json b/ports/buck-yeh-bux-sqlite/vcpkg.json new file mode 100644 index 00000000000000..17dae253fda5e6 --- /dev/null +++ b/ports/buck-yeh-bux-sqlite/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "buck-yeh-bux-sqlite", + "version": "1.0.1", + "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)", + "dependencies": [ + "buck-yeh-bux", + "fmt", + "sqlite3", + { + "name": "vcpkg-cmake", + "host": true + } + ] +} diff --git a/ports/buck-yeh-bux/portfile.cmake b/ports/buck-yeh-bux/portfile.cmake index f1a754fddc0604..49bd996477a731 100644 --- a/ports/buck-yeh-bux/portfile.cmake +++ b/ports/buck-yeh-bux/portfile.cmake @@ -1,9 +1,8 @@ -vcpkg_fail_port_install(ON_ARCH "arm" "arm64" ON_TARGET "linux" "uwp" "osx") vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO buck-yeh/bux - REF 4e64bc28c482df45a2e15afd8fea928d82897783 # v1.6.2 - SHA512 b409cddc15116e4c1f6142f5d07449bfc44e4c7386bde6884ca232e30a7057a04144cd5564c4c9fb86e74160b9c52d097185f63ebbd751cfe8e7520e8181f404 + REF "${VERSION}" + SHA512 236145828dae5b0c69077ec4c5b40259b5e4b3d095e4ad138973ebf81f62a25a3ea72dcade5549c8608457e2868209f0ca7b292fa4f839399b9bbfee8c22aeff HEAD_REF main ) diff --git a/ports/buck-yeh-bux/vcpkg.json b/ports/buck-yeh-bux/vcpkg.json index 7c5365932591a7..5dae099da164c3 100644 --- a/ports/buck-yeh-bux/vcpkg.json +++ b/ports/buck-yeh-bux/vcpkg.json @@ -1,11 +1,11 @@ { "name": "buck-yeh-bux", - "version": "1.6.2", + "version": "1.9.0", "description": "A supplemental C++ library with functionalities not directly supported from Modern C++ standard.", "homepage": "https://github.com/buck-yeh/bux", - "supports": "!(arm | uwp | osx | linux)", + "license": "MIT", + "supports": "!(android | linux | osx | uwp)", "dependencies": [ - "fmt", { "name": "vcpkg-cmake", "host": true diff --git a/ports/bullet3/cmake-fix.patch b/ports/bullet3/cmake-fix.patch index 12457f4ca0fe7b..3b80ac00a080d5 100644 --- a/ports/bullet3/cmake-fix.patch +++ b/ports/bullet3/cmake-fix.patch @@ -35,7 +35,7 @@ index f5dc7bd..50b3d67 100644 + set(_DIR) +endif() diff --git a/CMakeLists.txt b/CMakeLists.txt -index a695b71..607edde 100644 +index a695b71..f98cf4d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ @@ -44,7 +44,7 @@ index a695b71..607edde 100644 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,7 +489,14 @@ IF (BUILD_UNIT_TESTS) +@@ -489,24 +489,33 @@ IF (BUILD_UNIT_TESTS) SUBDIRS(test) ENDIF() @@ -58,17 +58,19 @@ index a695b71..607edde 100644 + +set (BULLET_CONFIG_CMAKE_PATH share/bullet ) list (APPEND BULLET_DEFINITIONS ${BULLET_DOUBLE_DEF}) - list (APPEND BULLET_LIBRARIES LinearMath) +-list (APPEND BULLET_LIBRARIES LinearMath) list (APPEND BULLET_LIBRARIES Bullet3Common) -@@ -497,16 +504,18 @@ list (APPEND BULLET_LIBRARIES BulletInverseDynamics) - list (APPEND BULLET_LIBRARIES BulletCollision) + 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 diff --git a/ports/bullet3/portfile.cmake b/ports/bullet3/portfile.cmake index 79bcf0cda88bd4..503c81a35d69c2 100644 --- a/ports/bullet3/portfile.cmake +++ b/ports/bullet3/portfile.cmake @@ -1,33 +1,38 @@ -if (NOT VCPKG_TARGET_IS_OSX) - vcpkg_fail_port_install(ON_ARCH "arm" "arm64" ON_TARGET "UWP") -endif() - vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO bulletphysics/bullet3 - REF 3.17 - SHA512 a5105bf5f1dd365a64a350755c7d2c97942f74897a18dcdb3651e6732fd55cc1030a096f5808cf50575281f05e3ac09aa50a48d271a47b94cd61f5167a72b7cc + REF "${VERSION}" + SHA512 7086e5fcf69635801bb311261173cb8d173b712ca1bd78be03df48fad884674e85512861190e45a1a62d5627aaad65cde08c175c44a3be9afa410d3dfd5358d4 HEAD_REF master - PATCHES cmake-fix.patch + PATCHES + cmake-fix.patch ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES multithreading BULLET2_MULTITHREADING + double-precision USE_DOUBLE_PRECISION + extras BUILD_EXTRAS + INVERTED_FEATURES + rtti USE_MSVC_DISABLE_RTTI ) vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DUSE_MSVC_RUNTIME_LIBRARY_DLL=ON -DBUILD_CPU_DEMOS=OFF -DBUILD_BULLET2_DEMOS=OFF + -DBUILD_OPENGL3_DEMOS=OFF -DBUILD_BULLET3=OFF - -DBUILD_EXTRAS=OFF - -DBUILD_UNIT_TESTS=OFF + -DBUILD_BULLET_ROBOTICS_GUI_EXTRA=OFF + -DBUILD_BULLET_ROBOTICS_EXTRA=OFF + -DBUILD_GIMPACTUTILS_EXTRA=OFF + -DBUILD_UNIT_TESTS=OFF -DINSTALL_LIBS=ON + -DCMAKE_POLICY_DEFAULT_CMP0057=NEW ${FEATURE_OPTIONS} ) @@ -42,4 +47,5 @@ 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(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}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") diff --git a/ports/bullet3/usage b/ports/bullet3/usage index 43b6d667a36463..fde1ec356461ab 100644 --- a/ports/bullet3/usage +++ b/ports/bullet3/usage @@ -1,4 +1,4 @@ -The package bullet3 provides CMake targets: +Bullet3 provides CMake targets: -find_package(Bullet CONFIG REQUIRED) -target_link_libraries(main PRIVATE LinearMath Bullet3Common BulletDynamics BulletSoftBody) + find_package(Bullet CONFIG REQUIRED) + target_link_libraries(main PRIVATE ${BULLET_LIBRARIES}) diff --git a/ports/bullet3/vcpkg.json b/ports/bullet3/vcpkg.json index 6de08ff9fcb08f..6516e31babe51c 100644 --- a/ports/bullet3/vcpkg.json +++ b/ports/bullet3/vcpkg.json @@ -1,10 +1,10 @@ { "name": "bullet3", - "version": "3.17", - "port-version": 3, + "version": "3.25", + "port-version": 2, "description": "Bullet Physics is a professional collision detection, rigid body, and soft body dynamics library", "homepage": "https://github.com/bulletphysics/bullet3", - "supports": "!((windows | linux) & (arm | uwp))", + "license": "Zlib", "dependencies": [ { "name": "vcpkg-cmake", @@ -16,8 +16,17 @@ } ], "features": { + "double-precision": { + "description": "Use float64 doubles for bullet3" + }, + "extras": { + "description": "Build the extras" + }, "multithreading": { "description": "Multithreading functionality for bullet3" + }, + "rtti": { + "description": "Enable RTTI on windows" } } } diff --git a/ports/bustache/LICENSE b/ports/bustache/LICENSE deleted file mode 100644 index 6d2e4af1fcf09a..00000000000000 --- a/ports/bustache/LICENSE +++ /dev/null @@ -1,4 +0,0 @@ -Copyright (c) 2014-2018 Jamboree - -Distributed under the Boost Software License, Version 1.0. (See accompanying -file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/ports/bustache/portfile.cmake b/ports/bustache/portfile.cmake index 24c885770f3900..b720f024933cd6 100644 --- a/ports/bustache/portfile.cmake +++ b/ports/bustache/portfile.cmake @@ -6,16 +6,16 @@ vcpkg_from_github( HEAD_REF master ) -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - PREFER_NINJA ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH "share/bustache/cmake") +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH "share/bustache/cmake") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" ) -file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +# No license file --> use Readme +file(INSTALL "${SOURCE_PATH}/README.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/bustache/vcpkg.json b/ports/bustache/vcpkg.json index 92e11540891e97..fd4f73ddc2e053 100644 --- a/ports/bustache/vcpkg.json +++ b/ports/bustache/vcpkg.json @@ -1,11 +1,20 @@ { "name": "bustache", - "version-string": "1.1.0", - "port-version": 1, + "version": "1.1.0", + "port-version": 2, "description": "C++11 implementation of {{ mustache }}", "homepage": "https://github.com/jamboree/bustache", + "license": "BSL-1.0", "dependencies": [ "boost-unordered", - "boost-utility" + "boost-utility", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/butteraugli/portfile.cmake b/ports/butteraugli/portfile.cmake index 26ff21e4282de3..d74f7b4024cb0c 100644 --- a/ports/butteraugli/portfile.cmake +++ b/ports/butteraugli/portfile.cmake @@ -10,17 +10,18 @@ vcpkg_from_github( missing_header.patch ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON -DDISABLE_INSTALL_TOOLS=ON +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS_DEBUG + -DDISABLE_INSTALL_HEADERS=ON + -DDISABLE_INSTALL_TOOLS=ON ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT}) +vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/${PORT}") -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/butteraugli/vcpkg.json b/ports/butteraugli/vcpkg.json index d11da192d644c3..24aa8b5e1c8b84 100644 --- a/ports/butteraugli/vcpkg.json +++ b/ports/butteraugli/vcpkg.json @@ -1,11 +1,19 @@ { "name": "butteraugli", - "version-string": "2019-05-08", - "port-version": 2, + "version-date": "2019-05-08", + "port-version": 4, "description": "butteraugli estimates the psychovisual difference between two images", "homepage": "https://github.com/google/butteraugli", "dependencies": [ "libjpeg-turbo", - "libpng" + "libpng", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/bxzstr/portfile.cmake b/ports/bxzstr/portfile.cmake new file mode 100644 index 00000000000000..2ca9c6c31bad90 --- /dev/null +++ b/ports/bxzstr/portfile.cmake @@ -0,0 +1,23 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO tmaklin/bxzstr + REF "v${VERSION}" + SHA512 8ea73cc531be6b75cddc0ac3d633df5f0b647c61b57e788052273efa8ab3bb9c23760156db8876ab0d7d48e067af2ed49bd3aa8644b4e8ea518be84a284b2ef4 + HEAD_REF master +) + +file(INSTALL + "${SOURCE_PATH}/include/bxzstr.hpp" + "${SOURCE_PATH}/include/bz_stream_wrapper.hpp" + "${SOURCE_PATH}/include/compression_types.hpp" + "${SOURCE_PATH}/include/config.hpp" + "${SOURCE_PATH}/include/lzma_stream_wrapper.hpp" + "${SOURCE_PATH}/include/stream_wrapper.hpp" + "${SOURCE_PATH}/include/strict_fstream.hpp" + "${SOURCE_PATH}/include/z_stream_wrapper.hpp" + "${SOURCE_PATH}/include/zstd_stream_wrapper.hpp" + DESTINATION "${CURRENT_PACKAGES_DIR}/include/bxzstr") + +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/bxzstr/usage b/ports/bxzstr/usage new file mode 100644 index 00000000000000..35adcfe18f08e5 --- /dev/null +++ b/ports/bxzstr/usage @@ -0,0 +1,4 @@ +The package bxzstr is header only and can be used from CMake via: + + find_path(BXZSTR_INCLUDE_DIRS "bxzstr.hpp" PATH_SUFFIXES "include/bxzstr") + target_include_directories(main PRIVATE ${BXZSTR_INCLUDE_DIRS}) diff --git a/ports/bxzstr/vcpkg.json b/ports/bxzstr/vcpkg.json new file mode 100644 index 00000000000000..7d68d7c3c09a57 --- /dev/null +++ b/ports/bxzstr/vcpkg.json @@ -0,0 +1,14 @@ +{ + "name": "bxzstr", + "version": "1.2.2", + "description": "A C++ header-only ZLib/libBZ2/libLZMA/Zstandard wrapper.", + "homepage": "https://github.com/tmaklin/bxzstr", + "license": "MPL-2.0", + "supports": "!xbox", + "dependencies": [ + "bzip2", + "liblzma", + "zlib", + "zstd" + ] +} diff --git a/ports/bzip2/CMakeLists.txt b/ports/bzip2/CMakeLists.txt index e2da221d7debb2..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) @@ -17,7 +17,7 @@ set(BZ2_SOURCES add_library(bz2 ${BZ2_SOURCES}) set_target_properties(bz2 PROPERTIES DEBUG_POSTFIX d - VERSION 1.0.6 + VERSION "${BZ2_VERSION}" SOVERSION 1.0) if(BUILD_SHARED_LIBS) target_compile_definitions(bz2 PRIVATE -DBZ_BUILD_DLL) diff --git a/ports/bzip2/bzip2.pc.in b/ports/bzip2/bzip2.pc.in index 91153c13b532be..e8caf081ee2423 100644 --- a/ports/bzip2/bzip2.pc.in +++ b/ports/bzip2/bzip2.pc.in @@ -5,7 +5,7 @@ includedir=${prefix}/include Name: bzip2 Description: bzip2 -Version: 1.0.6 +Version: @VERSION@ Requires: Libs: -L${libdir} -l@bzname@ -Cflags: -I${includedir} \ No newline at end of file +Cflags: -I${includedir} diff --git a/ports/bzip2/portfile.cmake b/ports/bzip2/portfile.cmake index 36141ffcbc6e8b..d91aac67a24278 100644 --- a/ports/bzip2/portfile.cmake +++ b/ports/bzip2/portfile.cmake @@ -1,27 +1,34 @@ -set(BZIP2_VERSION 1.0.8) vcpkg_download_distfile(ARCHIVE - URLS "https://sourceware.org/pub/bzip2/bzip2-${BZIP2_VERSION}.tar.gz" - FILENAME "bzip2-${BZIP2_VERSION}.tar.gz" + 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 ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" PATCHES fix-import-export-macros.patch ) +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + INVERTED_FEATURES + tool BZIP2_SKIP_TOOLS +) + file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} + "-DBZ2_VERSION=${VERSION}" OPTIONS_DEBUG -DBZIP2_SKIP_HEADERS=ON -DBZIP2_SKIP_TOOLS=ON ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() file(READ "${CURRENT_PACKAGES_DIR}/include/bzlib.h" BZLIB_H) @@ -33,18 +40,18 @@ endif() file(WRITE "${CURRENT_PACKAGES_DIR}/include/bzlib.h" "${BZLIB_H}") if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - set(BZIP2_PREFIX "${CURRENT_INSTALLED_DIR}") - set(bzname bz2) - configure_file("${CMAKE_CURRENT_LIST_DIR}/bzip2.pc.in" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/bzip2.pc" @ONLY) + set(BZIP2_PREFIX "${CURRENT_INSTALLED_DIR}") + set(bzname bz2) + configure_file("${CMAKE_CURRENT_LIST_DIR}/bzip2.pc.in" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/bzip2.pc" @ONLY) endif() if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - set(BZIP2_PREFIX "${CURRENT_INSTALLED_DIR}/debug") - set(bzname bz2d) - configure_file("${CMAKE_CURRENT_LIST_DIR}/bzip2.pc.in" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/bzip2.pc" @ONLY) + set(BZIP2_PREFIX "${CURRENT_INSTALLED_DIR}/debug") + set(bzname bz2d) + configure_file("${CMAKE_CURRENT_LIST_DIR}/bzip2.pc.in" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/bzip2.pc" @ONLY) endif() vcpkg_fixup_pkgconfig() -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) 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/bzip2/vcpkg.json b/ports/bzip2/vcpkg.json index 2f8b8aabf328a9..1663999c5d3134 100644 --- a/ports/bzip2/vcpkg.json +++ b/ports/bzip2/vcpkg.json @@ -1,8 +1,23 @@ { "name": "bzip2", "version-semver": "1.0.8", - "port-version": 2, + "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" + "documentation": "https://sourceware.org/bzip2/docs.html", + "license": "bzip2-1.0.6", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ], + "default-features": [ + "tool" + ], + "features": { + "tool": { + "description": "Builds bzip2 executable" + } + } } diff --git a/ports/c-ares/avoid-docs.patch b/ports/c-ares/avoid-docs.patch new file mode 100644 index 00000000000000..cd505ecceb4922 --- /dev/null +++ b/ports/c-ares/avoid-docs.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 194485a..e903e50 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -618,7 +618,7 @@ ADD_SUBDIRECTORY (include) + ADD_SUBDIRECTORY (src) + + # Docs +-ADD_SUBDIRECTORY (docs) ++#ADD_SUBDIRECTORY (docs) + + # Tests + IF (CARES_BUILD_TESTS OR CARES_BUILD_CONTAINER_TESTS) diff --git a/ports/c-ares/portfile.cmake b/ports/c-ares/portfile.cmake index 4e9ee82663d265..0274d5cdb834cf 100644 --- a/ports/c-ares/portfile.cmake +++ b/ports/c-ares/portfile.cmake @@ -1,18 +1,18 @@ -vcpkg_fail_port_install(ON_TARGET "uwp") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO c-ares/c-ares - REF cares-1_17_2 - SHA512 1111f1e7eeb0e5d9e70d1a7c8566145d0a5e6e71b020f3fcaa02ecdf1931553ddeff83fdc152a1f9c5a780078e8afe3670164b631df56eecd2b638210cc59bb3 - HEAD_REF master + REF "v${VERSION}" + SHA512 0c4041ef3ec8e54d11826ae5ea3dbb3752fbd6dcfeb65c3777e56309dc0f4944068c24d54b39cced219c7ee440aae7a6704269558627c26a90001d872d99ded9 + HEAD_REF main + PATCHES + avoid-docs.patch ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED) vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DCARES_STATIC=${BUILD_STATIC} -DCARES_SHARED=${BUILD_SHARED} @@ -28,17 +28,17 @@ vcpkg_copy_pdbs() vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/c-ares) vcpkg_fixup_pkgconfig() -if(VCPKG_LIBRARY_LINKAGE STREQUAL static) +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() -if(VCPKG_LIBRARY_LINKAGE STREQUAL static OR NOT VCPKG_TARGET_IS_WINDOWS) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static" OR NOT VCPKG_TARGET_IS_WINDOWS) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") # Empty folders endif() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") -# Handle copyright -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}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.md") diff --git a/ports/c-ares/usage b/ports/c-ares/usage new file mode 100644 index 00000000000000..34e77f95dac4b1 --- /dev/null +++ b/ports/c-ares/usage @@ -0,0 +1,4 @@ +c-ares provides CMake targets: + + 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 da731a90c76ef3..69b230114f1122 100644 --- a/ports/c-ares/vcpkg.json +++ b/ports/c-ares/vcpkg.json @@ -1,10 +1,9 @@ { "name": "c-ares", - "version-semver": "1.17.2", - "port-version": 1, + "version-semver": "1.34.2", "description": "A C library for asynchronous DNS requests", "homepage": "https://github.com/c-ares/c-ares", - "supports": "!uwp", + "license": "MIT-CMU", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/c-dbg-macro/portfile.cmake b/ports/c-dbg-macro/portfile.cmake new file mode 100644 index 00000000000000..95dd96ceb679d7 --- /dev/null +++ b/ports/c-dbg-macro/portfile.cmake @@ -0,0 +1,14 @@ +# single header file library + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO eerimoq/dbg-macro + REF 78b7655bd0cfc2389fe96a3b6584d2930eb7ebd7 + SHA512 f755c8cf17b422f43f09dcd4f8232b6130a5933d0ce537ce4874ecb886ad2fd5dee26fe12c10cb1554a3720a1263d0ce07252c0893de395b8c9042c9330e60be + HEAD_REF master +) + +file(COPY ${SOURCE_PATH}/include/dbg.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) + +# Handle copyright +configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) diff --git a/ports/c-dbg-macro/vcpkg.json b/ports/c-dbg-macro/vcpkg.json new file mode 100644 index 00000000000000..0891d40d9e2f7c --- /dev/null +++ b/ports/c-dbg-macro/vcpkg.json @@ -0,0 +1,6 @@ +{ + "name": "c-dbg-macro", + "version-date": "2020-02-29", + "description": "A dbg(...) macro for C", + "homepage": "https://github.com/eerimoq/dbg-macro" +} diff --git a/ports/c4core/portfile.cmake b/ports/c4core/portfile.cmake index a2108192392237..a5fae1ed5a7cbc 100644 --- a/ports/c4core/portfile.cmake +++ b/ports/c4core/portfile.cmake @@ -4,76 +4,78 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO biojppm/c4core - REF 636f507c33f0c79dce491aec066455ff384d49dc - SHA512 3282876be5883b047e8d25ee392f62d2e9ae79af8fdd65c11b1e36d2fdb0648230fe6c7fb57472a4cbced166979351f12494215aa664977a113b74c26bb6f19b + REF "v${VERSION}" + SHA512 23e45d186d03a64701376fbb63b5e3608dfdac7188eefd869976e97149ee772c7547e460b305c938650a721eac0c0573b70b5a5a2cd7211192cf9c87f019548c HEAD_REF master ) set(CM_COMMIT_HASH fe41e86552046c3df9ba73a40bf3d755df028c1e) # Get cmake scripts for c4core -vcpkg_download_distfile(CMAKE_ARCHIVE +vcpkg_download_distfile( + CMAKE_ARCHIVE URLS "https://github.com/biojppm/cmake/archive/${CM_COMMIT_HASH}.zip" FILENAME "cmake-${CM_COMMIT_HASH}.zip" SHA512 7292f9856d9c41581f2731e73fdf08880e0f4353b757da38a13ec89b62c5c8cb52b9efc1a9ff77336efa0b6809727c17649e607d8ecacc965a9b2a7a49925237 ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH_CMAKE +vcpkg_extract_source_archive( + SOURCE_PATH_CMAKE ARCHIVE ${CMAKE_ARCHIVE} WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/src/deps" ) file(REMOVE_RECURSE "${SOURCE_PATH}/cmake") -file(RENAME ${SOURCE_PATH_CMAKE} "${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 +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_ex( - OUT_SOURCE_PATH SOURCE_PATH_DEBUGBREAK +vcpkg_extract_source_archive( + SOURCE_PATH_DEBUGBREAK ARCHIVE ${DEBUGBREAK_ARCHIVE} WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/src/deps" ) file(REMOVE_RECURSE "${SOURCE_PATH}/src/c4/ext/debugbreak") -file(RENAME ${SOURCE_PATH_DEBUGBREAK} "${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 +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_ex( - OUT_SOURCE_PATH SOURCE_PATH_FAST_FLOAT +vcpkg_extract_source_archive( + SOURCE_PATH_FAST_FLOAT ARCHIVE ${FAST_FLOAT_ARCHIVE} WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/src/deps" ) file(REMOVE_RECURSE "${SOURCE_PATH}/src/c4/ext/fast_float") -file(RENAME ${SOURCE_PATH_FAST_FLOAT} "${SOURCE_PATH}/src/c4/ext/fast_float") +file(RENAME "${SOURCE_PATH_FAST_FLOAT}" "${SOURCE_PATH}/src/c4/ext/fast_float") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() if(EXISTS ${CURRENT_PACKAGES_DIR}/cmake) - vcpkg_fixup_cmake_targets(CONFIG_PATH cmake) + vcpkg_cmake_config_fixup(CONFIG_PATH cmake) elseif(EXISTS ${CURRENT_PACKAGES_DIR}/lib/cmake/c4core) - vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/c4core) + vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/c4core) endif() # Fix paths in config file @@ -83,6 +85,4 @@ file(WRITE "${CURRENT_PACKAGES_DIR}/share/c4core/c4coreConfig.cmake" "${_content 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/c4core/vcpkg.json b/ports/c4core/vcpkg.json index e59d53476c3c8c..3d3b8fb19958ef 100644 --- a/ports/c4core/vcpkg.json +++ b/ports/c4core/vcpkg.json @@ -1,7 +1,18 @@ { "name": "c4core", - "version-date": "2021-07-18", - "port-version": 1, + "version": "0.2.1", "description": "Library of low-level C++ utilities", - "homepage": "https://github.com/biojppm/c4core" + "homepage": "https://github.com/biojppm/c4core", + "license": "MIT", + "supports": "!uwp & !(windows & arm)", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/c89stringutils/no_flags.patch b/ports/c89stringutils/no_flags.patch new file mode 100644 index 00000000000000..b95f040d189e40 --- /dev/null +++ b/ports/c89stringutils/no_flags.patch @@ -0,0 +1,17 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 9e3c005..75dee3f 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -24,12 +24,6 @@ if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15") + # the BUILD_INTERFACE genex + set(gcc_like "$") + set(msvc "$") +- target_compile_options( +- "${PROJECT_NAME}_compiler_flags" +- INTERFACE +- "$<${gcc_like}:$>" +- "$<${msvc}:$>" +- ) + endif (CMAKE_VERSION VERSION_GREATER_EQUAL "3.15") + # Set the build directories + if (CMAKE_SYSTEM_NAME STREQUAL "Windows" diff --git a/ports/c89stringutils/portfile.cmake b/ports/c89stringutils/portfile.cmake new file mode 100644 index 00000000000000..d97fa0f48b8614 --- /dev/null +++ b/ports/c89stringutils/portfile.cmake @@ -0,0 +1,23 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO offscale/c89stringutils + REF "${VERSION}" + SHA512 82edb341d5566c42eaffcd5c87d4fbd82a4e47b9c31a8533b08d28b9e1311ced281b59b3b6103e274355a82117095fcff1cb5f9c29eecc9563dc3cd962a37773 + HEAD_REF master + PATCHES + no_flags.patch +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_TESTING=OFF +) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup() +vcpkg_copy_pdbs() + +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-APACHE" "${SOURCE_PATH}/LICENSE-MIT") diff --git a/ports/c89stringutils/usage b/ports/c89stringutils/usage new file mode 100644 index 00000000000000..ed8b4292041e06 --- /dev/null +++ b/ports/c89stringutils/usage @@ -0,0 +1,4 @@ +c89stringutils provides CMake targets: + + find_package(c89stringutils CONFIG REQUIRED) + target_link_libraries(main PRIVATE c89stringutils) diff --git a/ports/c89stringutils/vcpkg.json b/ports/c89stringutils/vcpkg.json new file mode 100644 index 00000000000000..ebed5c7bf4e11b --- /dev/null +++ b/ports/c89stringutils/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "c89stringutils", + "version": "0.0.2", + "description": "string functions from newer standards / common non-standards for C89", + "homepage": "https://github.com/offscale/c89stringutils", + "license": "Apache-2.0 OR MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/c9y/portfile.cmake b/ports/c9y/portfile.cmake new file mode 100644 index 00000000000000..82328323fc0a59 --- /dev/null +++ b/ports/c9y/portfile.cmake @@ -0,0 +1,19 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO rioki/c9y + REF v0.8.0 + SHA512 f3161bde45fd534029ef4609b1b49d4edbeb636c9305e01e7e9cfa6a62cde0978632d46597510bea0ff96cae09b819905c0d8c5d2fd85cf641d7b47ea2a732b1 + ) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/c9y) +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) diff --git a/ports/c9y/vcpkg.json b/ports/c9y/vcpkg.json new file mode 100644 index 00000000000000..0c72352873e9a0 --- /dev/null +++ b/ports/c9y/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "c9y", + "version-semver": "0.8.0", + "description": "Concurency", + "homepage": "https://github.com/rioki/c9y", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/cachelib/fix-build.patch b/ports/cachelib/fix-build.patch new file mode 100644 index 00000000000000..e41ac9426e5fc8 --- /dev/null +++ b/ports/cachelib/fix-build.patch @@ -0,0 +1,53 @@ +diff --git a/cachelib/cachebench/util/JSONConfig.h b/cachelib/cachebench/util/JSONConfig.h +index 7da93fc4..cb46b33b 100644 +--- a/cachelib/cachebench/util/JSONConfig.h ++++ b/cachelib/cachebench/util/JSONConfig.h +@@ -146,10 +146,6 @@ struct Options {}; + + template + constexpr void checkCorrectSize() { +-#ifndef SKIP_OPTION_SIZE_VERIFY +- Options var = Options{}; +- (void)var; +-#endif + } + } // namespace cachebench + } // namespace cachelib +diff --git a/cachelib/common/CMakeLists.txt b/cachelib/common/CMakeLists.txt +index 1e6d1a88..fad14a18 100644 +--- a/cachelib/common/CMakeLists.txt ++++ b/cachelib/common/CMakeLists.txt +@@ -36,9 +36,6 @@ target_link_libraries(cachelib_common PUBLIC + FBThrift::thriftprotocol + Folly::folly + Folly::follybenchmark +- Folly::folly_exception_tracer +- Folly::folly_exception_tracer_base +- Folly::folly_exception_counter + ) + + install(TARGETS cachelib_common +diff --git a/cachelib/common/Utils.cpp b/cachelib/common/Utils.cpp +index 3e149469..0e6b6d9c 100644 +--- a/cachelib/common/Utils.cpp ++++ b/cachelib/common/Utils.cpp +@@ -15,7 +15,6 @@ + */ + + #include +-#include + #include + #include + #include +@@ -420,10 +419,6 @@ size_t getMemAvailable() { + } + + void printExceptionStackTraces() { +- auto exceptions = folly::exception_tracer::getCurrentExceptions(); +- for (auto& exc : exceptions) { +- std::cerr << exc << std::endl; +- } + } + + } // namespace util + 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/portfile.cmake b/ports/cachelib/portfile.cmake new file mode 100644 index 00000000000000..b40f547c9dfefe --- /dev/null +++ b/ports/cachelib/portfile.cmake @@ -0,0 +1,40 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO facebook/CacheLib + REF "v${VERSION}" + SHA512 0d67a5086222cf787d8f6205f68b783b462b4e7baed437caac9dc3952605b6fe392829a6802e4bd3ad366915f687c7d89dae1f5b903479aad7e8c5592adbabf7 + HEAD_REF main + PATCHES + fix-build.patch + fix-glog.patch + fix-fmt.patch +) + +FIND_PATH(NUMA_INCLUDE_DIR NAME numa.h + PATHS ENV NUMA_ROOT + HINTS "$ENV{HOME}/local/include" /opt/local/include /usr/local/include /usr/include +) + +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 + -DBUILD_TESTS=OFF + -DCMAKE_INSTALL_DIR=share/cachelib +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH share/cachelib PACKAGE_NAME cachelib) + +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}/LICENSE") + +vcpkg_fixup_pkgconfig() diff --git a/ports/cachelib/vcpkg.json b/ports/cachelib/vcpkg.json new file mode 100644 index 00000000000000..2635753092b224 --- /dev/null +++ b/ports/cachelib/vcpkg.json @@ -0,0 +1,32 @@ +{ + "name": "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", + "dependencies": [ + "fbthrift", + "fizz", + "fmt", + { + "name": "folly", + "features": [ + "libaio" + ] + }, + "gflags", + "glog", + "gtest", + "tsl-sparse-map", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "wangle" + ] +} diff --git a/ports/caf/fix_cxx17.patch b/ports/caf/fix_cxx17.patch new file mode 100644 index 00000000000000..7703ca0e4d3b85 --- /dev/null +++ b/ports/caf/fix_cxx17.patch @@ -0,0 +1,20 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 0622702..f44e0f5 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -158,7 +158,6 @@ install(TARGETS caf_internal EXPORT CAFTargets) + + # -- create the libcaf_test target ahead of time for caf_core ------------------ + +-add_library(libcaf_test) + + # -- add uninstall target if it does not exist yet ----------------------------- + +@@ -351,7 +350,6 @@ endfunction() + + add_subdirectory(libcaf_core) + +-add_subdirectory(libcaf_test) + + if(CAF_ENABLE_NET_MODULE) + add_subdirectory(libcaf_net) diff --git a/ports/caf/fix_dependency.patch b/ports/caf/fix_dependency.patch new file mode 100644 index 00000000000000..10636ba71bac1c --- /dev/null +++ b/ports/caf/fix_dependency.patch @@ -0,0 +1,11 @@ +diff --git a/cmake/CAFConfig.cmake.in b/cmake/CAFConfig.cmake.in +index 1a2348c..6c0d0b2 100644 +--- a/cmake/CAFConfig.cmake.in ++++ b/cmake/CAFConfig.cmake.in +@@ -5,5 +5,6 @@ include(CMakeFindDependencyMacro) + set(CMAKE_THREAD_PREFER_PTHREAD TRUE) + set(THREADS_PREFER_PTHREAD_FLAG TRUE) + find_dependency(Threads) ++find_dependency(OpenSSL REQUIRED) + + include("${CMAKE_CURRENT_LIST_DIR}/CAFTargets.cmake") diff --git a/ports/caf/openssl-version-override.patch b/ports/caf/openssl-version-override.patch deleted file mode 100644 index 5a03371341754e..00000000000000 --- a/ports/caf/openssl-version-override.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 2d908e8..d270297 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -495,6 +495,9 @@ if(NOT CAF_NO_OPENSSL) - message(STATUS - "Disable OpenSSL. Required >= 1.0.1 due to TLSv1.2 support.") - set(CAF_NO_OPENSSL yes) -+ elseif(CAF_OPENSSL_VERSION_OVERRIDE) -+ include_directories(BEFORE ${OPENSSL_INCLUDE_DIR}) -+ add_optional_caf_lib(openssl) - else() - if(NOT CMAKE_CROSSCOMPILING) - # Check if openssl headers and library versions match diff --git a/ports/caf/portfile.cmake b/ports/caf/portfile.cmake index 1c40312af350d3..93afa34335ef0a 100644 --- a/ports/caf/portfile.cmake +++ b/ports/caf/portfile.cmake @@ -1,45 +1,35 @@ -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO actor-framework/actor-framework - REF f7d4fc7ac679e18ba385f64434f8015c3cea9cb5 # 0.17.6 - SHA512 8b4719c26dfad68eed6f2528263702e42f9865bb7a9f2d40909dc6c3fc20bb7259fe44a5f89390ba714c7f9359db2d171ff44685641962c24a70f4e2aa3f3f65 - HEAD_REF master + REF "${VERSION}" + SHA512 496bca714b3d84dafe155f775229e1b6190aae092ab82f8c098af4b0268cd565b980624e93436f5ccba34bac350c62a03ff46b9bddaa1c9bc646d78a2338c53a + HEAD_REF main PATCHES - openssl-version-override.patch + fix_dependency.patch + fix_cxx17.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=ON - -DCAF_BUILD_STATIC=ON - -DCAF_BUILD_STATIC_ONLY=ON - -DCAF_NO_TOOLS=ON - -DCAF_NO_EXAMPLES=ON - -DCAF_NO_BENCHMARKS=ON - -DCAF_NO_UNIT_TESTS=ON - -DCAF_NO_PROTOBUF_EXAMPLES=ON - -DCAF_NO_QT_EXAMPLES=ON - -DCAF_NO_OPENCL=ON - -DCAF_NO_OPENSSL=OFF - -DCAF_NO_CURL_EXAMPLES=ON - -DCAF_OPENSSL_VERSION_OVERRIDE=ON - -DCAF_ENABLE_UTILITY_TARGETS=OFF + -DCAF_ENABLE_CURL_EXAMPLES=OFF + -DCAF_ENABLE_PROTOBUF_EXAMPLES=OFF + -DCAF_ENABLE_QT6_EXAMPLES=OFF + -DCAF_ENABLE_RUNTIME_CHECKS=OFF + -DCAF_ENABLE_ACTOR_PROFILER=OFF + -DCAF_ENABLE_EXAMPLES=OFF + -DCAF_ENABLE_TESTING=OFF + -DCAF_ENABLE_IO_MODULE=ON + -DCAF_ENABLE_EXCEPTIONS=ON ) -vcpkg_install_cmake() - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share) +vcpkg_cmake_install() -file(INSTALL - ${SOURCE_PATH}/LICENSE - DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) - -file(COPY ${SOURCE_PATH}/cmake/FindCAF.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) -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}) +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") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/caf/usage b/ports/caf/usage deleted file mode 100644 index 10083d8de8fdf7..00000000000000 --- a/ports/caf/usage +++ /dev/null @@ -1,5 +0,0 @@ -The package caf provides CMake targets: - - find_package(CAF REQUIRED COMPONENTS core io) - target_include_directories(main PRIVATE ${CAF_INCLUDE_DIRS}) - target_link_libraries(main PRIVATE ${CAF_LIBRARIES}) \ No newline at end of file diff --git a/ports/caf/vcpkg-cmake-wrapper.cmake b/ports/caf/vcpkg-cmake-wrapper.cmake deleted file mode 100644 index b01e408550c646..00000000000000 --- a/ports/caf/vcpkg-cmake-wrapper.cmake +++ /dev/null @@ -1,6 +0,0 @@ -set(CAF_PREV_MODULE_PATH ${CMAKE_MODULE_PATH}) -list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}) - -_find_package(${ARGS}) - -set(CMAKE_MODULE_PATH ${CAF_PREV_MODULE_PATH}) diff --git a/ports/caf/vcpkg.json b/ports/caf/vcpkg.json index fea50a3a51c0b8..1d74e3a5b272fd 100644 --- a/ports/caf/vcpkg.json +++ b/ports/caf/vcpkg.json @@ -1,10 +1,18 @@ { "name": "caf", - "version-string": "0.17.6", - "port-version": 2, - "description": "an open source C++11 actor model implementation featuring lightweight & fast actor implementations, pattern matching for messages, network transparent messaging, and more.", + "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", "dependencies": [ - "openssl" + "openssl", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/caffe2/fix-protobuf-deprecated.patch b/ports/caffe2/fix-protobuf-deprecated.patch deleted file mode 100644 index 4f594d4302caab..00000000000000 --- a/ports/caffe2/fix-protobuf-deprecated.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/caffe2/utils/proto_utils.cc b/caffe2/utils/proto_utils.cc -index ab2d756..2c36ec4 100644 ---- a/caffe2/utils/proto_utils.cc -+++ b/caffe2/utils/proto_utils.cc -@@ -102,10 +102,9 @@ bool ReadProtoFromBinaryFile(const char* filename, MessageLite* proto) { - ::google::protobuf::io::CopyingInputStreamAdaptor stream( - new IfstreamInputStream(filename)); - stream.SetOwnsCopyingStream(true); -- // Total bytes hard limit / warning limit are set to 1GB and 512MB -- // respectively. -+ // Total bytes hard limit is set to 1GB. - ::google::protobuf::io::CodedInputStream coded_stream(&stream); -- coded_stream.SetTotalBytesLimit(1024LL << 20, 512LL << 20); -+ coded_stream.SetTotalBytesLimit(1024LL << 20); - return proto->ParseFromCodedStream(&coded_stream); - } - -@@ -155,7 +154,7 @@ bool ReadProtoFromBinaryFile(const char* filename, MessageLite* proto) { - std::unique_ptr coded_input( - new CodedInputStream(raw_input.get())); - // A hack to manually allow using very large protocol buffers. -- coded_input->SetTotalBytesLimit(1073741824, 536870912); -+ coded_input->SetTotalBytesLimit(1073741824); - bool success = proto->ParseFromCodedStream(coded_input.get()); - coded_input.reset(); - raw_input.reset(); diff --git a/ports/caffe2/fix-space.patch b/ports/caffe2/fix-space.patch deleted file mode 100644 index 910f52f9c5c783..00000000000000 --- a/ports/caffe2/fix-space.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/cmake/Utils.cmake b/cmake/Utils.cmake -index e082298..25186e4 100644 ---- a/cmake/Utils.cmake -+++ b/cmake/Utils.cmake -@@ -386,7 +386,7 @@ function(caffe_add_whole_archive_flag lib output_var) - set(${output_var} -Wl,-force_load,$ PARENT_SCOPE) - elseif(MSVC) - # In MSVC, we will add whole archive in default. -- set(${output_var} -WHOLEARCHIVE:$ PARENT_SCOPE) -+ set(${output_var} -WHOLEARCHIVE:"$" PARENT_SCOPE) - else() - # Assume everything else is like gcc - set(${output_var} -Wl,--whole-archive ${lib} -Wl,--no-whole-archive PARENT_SCOPE) diff --git a/ports/caffe2/msvc-fixes.patch b/ports/caffe2/msvc-fixes.patch deleted file mode 100644 index 446dbd44ee64a8..00000000000000 --- a/ports/caffe2/msvc-fixes.patch +++ /dev/null @@ -1,396 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 8054d98..35934f5 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -56,6 +56,14 @@ option(USE_ROCKSDB "Use RocksDB" ON) - option(USE_SNPE "Use Qualcomm's SNPE library" OFF) - option(USE_THREADS "Use Threads" ON) - option(USE_ZMQ "Use ZMQ" OFF) -+if(MSVC) -+ if(BUILD_BUILD_SHARED_LIBS) -+ set(USE_STATIC_RUNTIME_DEFAULT OFF) -+ else() -+ set(USE_STATIC_RUNTIME_DEFAULT ON) -+ endif() -+ option(USE_STATIC_RUNTIME "Link to the static runtime (/MT) instead of dynamic (/MD)" ${USE_STATIC_RUNTIME_DEFAULT}) -+endif() - - # External projects - include(ExternalProject) -@@ -99,7 +107,7 @@ else() - foreach(flag_var - CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE - CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO) -- if (NOT ${BUILD_SHARED_LIBS}) -+ if (USE_STATIC_RUNTIME) - if(${flag_var} MATCHES "/MD") - string(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}") - endif(${flag_var} MATCHES "/MD") -diff --git a/caffe2/core/logging.cc b/caffe2/core/logging.cc -index 1b4468e..1379f3a 100644 ---- a/caffe2/core/logging.cc -+++ b/caffe2/core/logging.cc -@@ -117,7 +117,7 @@ using fLB::FLAGS_logtostderr; - - #endif // CAFFE2_USE_GFLAGS - --CAFFE2_DEFINE_int(caffe2_log_level, google::ERROR, -+CAFFE2_DEFINE_int(caffe2_log_level, google::GLOG_ERROR, - "The minimum log level that caffe2 will output."); - - // Google glog's api does not have an external function that allows one to check -@@ -134,15 +134,23 @@ bool IsGoogleLoggingInitialized(); - namespace caffe2 { - bool InitCaffeLogging(int* argc, char** argv) { - if (*argc == 0) return true; -- if (!::google::glog_internal_namespace_::IsGoogleLoggingInitialized()) { -+#if !(defined(_MSC_VER) && defined(GLOG_IS_A_DLL)) -+ // IsGoogleLoggingInitialized is not exported from the glog DLL -+ // so we can't call it. If our program calls InitGoogleLogging twice glog will -+ // abort it. -+ if (!::google::glog_internal_namespace_::IsGoogleLoggingInitialized()) -+#endif -+ { - ::google::InitGoogleLogging(argv[0]); -+#if !defined(_MSC_VER) - ::google::InstallFailureSignalHandler(); -+#endif - } - // If caffe2_log_level is set and is lower than the min log level by glog, - // we will transfer the caffe2_log_level setting to glog to override that. - FLAGS_minloglevel = std::min(FLAGS_caffe2_log_level, FLAGS_minloglevel); - // If caffe2_log_level is explicitly set, let's also turn on logtostderr. -- if (FLAGS_caffe2_log_level < google::ERROR) { -+ if (FLAGS_caffe2_log_level < google::GLOG_ERROR) { - FLAGS_logtostderr = 1; - } - // Also, transfer the caffe2_log_level verbose setting to glog. -@@ -154,7 +162,7 @@ bool InitCaffeLogging(int* argc, char** argv) { - - void ShowLogInfoToStderr() { - FLAGS_logtostderr = 1; -- FLAGS_minloglevel = std::min(FLAGS_minloglevel, google::INFO); -+ FLAGS_minloglevel = std::min(FLAGS_minloglevel, google::GLOG_INFO); - } - } // namespace caffe2 - -diff --git a/caffe2/core/logging_is_google_glog.h b/caffe2/core/logging_is_google_glog.h -index 7dd2b4f..2df4435 100644 ---- a/caffe2/core/logging_is_google_glog.h -+++ b/caffe2/core/logging_is_google_glog.h -@@ -8,7 +8,7 @@ - // it. Some mobile platforms do not like stl_logging, so we add an - // overload in that case as well. - --#if !defined(__CUDACC__) && !defined(CAFFE2_USE_MINIMAL_GOOGLE_GLOG) -+#if !defined(__CUDARCH__) && !defined(CAFFE2_USE_MINIMAL_GOOGLE_GLOG) - #include - #else // !defined(__CUDACC__) && !!defined(CAFFE2_USE_MINIMAL_GOOGLE_GLOG) - -diff --git a/caffe2/image/image_input_op.h b/caffe2/image/image_input_op.h -index 9604e98..7d90014 100644 ---- a/caffe2/image/image_input_op.h -+++ b/caffe2/image/image_input_op.h -@@ -214,13 +214,13 @@ ImageInputOp::ImageInputOp( - - // hard-coded PCA eigenvectors and eigenvalues, based on RBG channel order - color_lighting_eigvecs_.push_back( -- std::vector{-144.7125, 183.396, 102.2295}); -+ std::vector{-144.7125f, 183.396f, 102.2295f}); - color_lighting_eigvecs_.push_back( -- std::vector{-148.104, -1.1475, -207.57}); -+ std::vector{-148.104f, -1.1475f, -207.57f}); - color_lighting_eigvecs_.push_back( -- std::vector{-148.818, -177.174, 107.1765}); -+ std::vector{-148.818f, -177.174f, 107.1765f}); - -- color_lighting_eigvals_ = std::vector{0.2175, 0.0188, 0.0045}; -+ color_lighting_eigvals_ = std::vector{0.2175f, 0.0188f, 0.0045f}; - - CAFFE_ENFORCE_GT(batch_size_, 0, "Batch size should be nonnegative."); - if (use_caffe_datum_) { -diff --git a/caffe2/operators/batch_matmul_op.cc b/caffe2/operators/batch_matmul_op.cc -index c2e578d..28cf030 100644 ---- a/caffe2/operators/batch_matmul_op.cc -+++ b/caffe2/operators/batch_matmul_op.cc -@@ -34,7 +34,7 @@ size (C x K x N) where C is the batch size and i ranges from 0 to C-1. - b_dim1 = in[1].dims(2); - } - return vector { -- CreateTensorShape(vector { -+ CreateTensorShape(vector { - in[0].dims(0), a_dim0, b_dim1}, - in[0].data_type()) - }; -diff --git a/caffe2/operators/layer_norm_op.cu b/caffe2/operators/layer_norm_op.cu -index df13fc3..68bbc97 100644 ---- a/caffe2/operators/layer_norm_op.cu -+++ b/caffe2/operators/layer_norm_op.cu -@@ -252,8 +252,8 @@ bool LayerNormGradientOp::DoRunWithType() { - auto* ginput = Output(0); - - const auto canonical_axis = norm_inputs.canonical_axis_index(axis_); -- const int left = norm_inputs.size_to_dim(canonical_axis); -- const int right = norm_inputs.size_from_dim(canonical_axis); -+ const TIndex left = norm_inputs.size_to_dim(canonical_axis); -+ const TIndex right = norm_inputs.size_from_dim(canonical_axis); - - ginput->ResizeLike(norm_inputs); - std::vector stats_dims( -@@ -261,7 +261,7 @@ bool LayerNormGradientOp::DoRunWithType() { - stats_dims.push_back(1); - dmean_.Resize(stats_dims); - dstdev_.Resize(stats_dims); -- gscratch_.Resize(std::vector{left, right}); -+ gscratch_.Resize(std::vector{left, right}); - - std::vector segs(left + 1); - std::iota(segs.begin(), segs.end(), 0); -@@ -291,7 +291,7 @@ bool LayerNormGradientOp::DoRunWithType() { - dout.data(), - gscratch_.mutable_data()); - -- dstdev_.Resize(vector{left, 1}); -+ dstdev_.Resize(vector{left, 1}); - // dstdev = reduce(temp1) - allocScratchAndReduce( - gscratch_.data(), -diff --git a/caffe2/operators/lengths_top_k_op.cc b/caffe2/operators/lengths_top_k_op.cc -index c871d53..bad741a 100644 ---- a/caffe2/operators/lengths_top_k_op.cc -+++ b/caffe2/operators/lengths_top_k_op.cc -@@ -14,7 +14,7 @@ bool LengthsTopKOp::RunOnDevice() { - - output_topk_values->Resize(N * k_); - output_topk_indices->Resize(N * k_); -- std::vector output_dims = std::vector({N, k_}); -+ std::vector output_dims = std::vector({N, k_}); - output_topk_values->Reshape(output_dims); - output_topk_indices->Reshape(output_dims); - T* output_topk_values_data = output_topk_values->template mutable_data(); -diff --git a/caffe2/operators/pool_op_cudnn.cu b/caffe2/operators/pool_op_cudnn.cu -index a380d8d..b0cd326 100644 ---- a/caffe2/operators/pool_op_cudnn.cu -+++ b/caffe2/operators/pool_op_cudnn.cu -@@ -467,6 +467,15 @@ class CuDNNPoolGradientOp : public ConvPoolOpBase { - cudnnPoolingDescriptor_t pooling_desc_; - cudnnPoolingMode_t mode_; - -+// MSVC defines IN and OUT in minwindef.h -+#ifdef IN -+#undef IN -+#endif -+ -+#ifdef OUT -+#undef OUT -+#endif -+ - // Input: X, Y, dY - // Output: dX - INPUT_TAGS(IN, OUT, OUT_GRAD); -diff --git a/caffe2/operators/recurrent_op_cudnn.cc b/caffe2/operators/recurrent_op_cudnn.cc -index 7777813..58bc8c3 100644 ---- a/caffe2/operators/recurrent_op_cudnn.cc -+++ b/caffe2/operators/recurrent_op_cudnn.cc -@@ -115,10 +115,11 @@ void RecurrentBaseOp::initialize( - - // RNN setup - { -- CUDNN_ENFORCE(cudnnSetRNNDescriptor( -+// Do not use #if condition inside CUDNN_ENFORCE -+// to avoid macro expansion errors. - #if CUDNN_MAJOR >= 7 -+CUDNN_ENFORCE(cudnnSetRNNDescriptor( - cudnn_wrapper_.inline_cudnn_handle(), --#endif - rnnDesc_, - hiddenSize, - numLayers, -@@ -126,10 +127,19 @@ void RecurrentBaseOp::initialize( - rnnInput, - rnnDirection, - rnnMode, --#if CUDNN_MAJOR >= 7 - CUDNN_RNN_ALGO_STANDARD, // TODO: verify correctness / efficiency. --#endif - cudnnTypeWrapper::type)); -+#else -+ CUDNN_ENFORCE(cudnnSetRNNDescriptor( -+ rnnDesc_, -+ hiddenSize, -+ numLayers, -+ dropoutDesc_, -+ rnnInput, -+ rnnDirection, -+ rnnMode, -+ cudnnTypeWrapper::type)); -+#endif // CUDNN_MAJOR >= 7 - } - // X setup - { -diff --git a/caffe2/utils/CMakeLists.txt b/caffe2/utils/CMakeLists.txt -index f90af5a..919a638 100644 ---- a/caffe2/utils/CMakeLists.txt -+++ b/caffe2/utils/CMakeLists.txt -@@ -27,6 +27,10 @@ exclude(Caffe2_CPU_SRCS "${Caffe2_CPU_SRCS}" ${Caffe2_GPU_SRCS}) - # will directly link nnpack pthreadpool. - file(GLOB_RECURSE tmp pthreadpool*) - exclude(Caffe2_CPU_SRCS "${Caffe2_CPU_SRCS}" ${tmp}) -+if(MSVC) -+ file(GLOB_RECURSE tmp *ThreadPool.cc) -+ exclude(Caffe2_CPU_SRCS "${Caffe2_CPU_SRCS}" ${tmp}) -+endif() - - # ---[ GPU test files - file(GLOB_RECURSE tmp *_gpu_test.cc) -diff --git a/caffe2/utils/GpuBitonicSort.cuh b/caffe2/utils/GpuBitonicSort.cuh -index f52bb50..a199bcb 100644 ---- a/caffe2/utils/GpuBitonicSort.cuh -+++ b/caffe2/utils/GpuBitonicSort.cuh -@@ -39,9 +39,11 @@ __device__ inline void bitonicSort(K* keys, - // Assume the sort is taking place in shared memory - // static_assert(Power2SortSize * (sizeof(K) + sizeof(V)) < 32768, - // "sort data too large (>32768 bytes)"); -- static_assert(math::integerIsPowerOf2(Power2SortSize), -+ static_assert(math::integerIsPowerOf2( -+ std::integral_constant::value), - "sort size must be power of 2"); -- static_assert(math::integerIsPowerOf2(ThreadsPerBlock), -+ static_assert(math::integerIsPowerOf2( -+ std::integral_constant::value), - "threads in block must be power of 2"); - - // If what we are sorting is too small, then not all threads -@@ -107,7 +109,8 @@ __device__ inline void warpBitonicSort(K* keys, - // Smaller sorts should use a warp shuffle sort - static_assert(Power2SortSize > kWarpSize, - "sort not large enough"); -- static_assert(math::integerIsPowerOf2(Power2SortSize), -+ static_assert(math::integerIsPowerOf2( -+ std::integral_constant::value), - "sort size must be power of 2"); - static_assert(Power2SortSize <= kMaxBitonicSortSize, - "sort size <= 4096 only supported"); -diff --git a/caffe2/utils/math.h b/caffe2/utils/math.h -index 6c352dc..a1eda9d 100644 ---- a/caffe2/utils/math.h -+++ b/caffe2/utils/math.h -@@ -426,18 +426,10 @@ constexpr T roundUp(T a, T b) { - return divUp(a, b) * b; - } - --// Returns true if the given integer type is a power-of-2 (positive only) --// Note(jiayq): windows reported an error per --// https://github.com/caffe2/caffe2/issues/997 --// and as a result will make it a macro. --#ifdef _MSC_VER --#define integerIsPowerOf2(v) ((v) && !((v) & ((v) - 1))) --#else // _MSC_VER - template - constexpr bool integerIsPowerOf2(T v) { - return (v && !(v & (v - 1))); - } --#endif // _MSC_VER - - // Returns log2(n) for a positive integer type - template -diff --git a/cmake/Cuda.cmake b/cmake/Cuda.cmake -index df70e2f..ca1b123 100644 ---- a/cmake/Cuda.cmake -+++ b/cmake/Cuda.cmake -@@ -37,6 +37,10 @@ function(caffe2_detect_installed_gpus out_variable) - ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE) - - if(__nvcc_res EQUAL 0) -+ # nvcc outputs text containing line breaks when building with MSVC. -+ # The line below prevents CMake from inserting a variable with line -+ # breaks in the cache -+ string(REGEX MATCH "([1-9].[0-9])" __nvcc_out "${__nvcc_out}") - string(REPLACE "2.1" "2.1(2.0)" __nvcc_out "${__nvcc_out}") - set(CUDA_gpu_detect_output ${__nvcc_out} CACHE INTERNAL "Returned GPU architetures from caffe_detect_gpus tool" FORCE) - endif() -@@ -249,7 +253,7 @@ endif() - # Debug and Release symbol support - if (MSVC) - if (${CMAKE_BUILD_TYPE} MATCHES "Release") -- if (${BUILD_SHARED_LIBS}) -+ if (NOT USE_STATIC_RUNTIME) - list(APPEND CUDA_NVCC_FLAGS "-Xcompiler -MD") - else() - list(APPEND CUDA_NVCC_FLAGS "-Xcompiler -MT") -@@ -259,7 +263,7 @@ if (MSVC) - "Caffe2 currently does not support the combination of MSVC, Cuda " - "and Debug mode. Either set USE_CUDA=OFF or set the build type " - "to Release") -- if (${BUILD_SHARED_LIBS}) -+ if (NOT USE_STATIC_RUNTIME) - list(APPEND CUDA_NVCC_FLAGS "-Xcompiler -MDd") - else() - list(APPEND CUDA_NVCC_FLAGS "-Xcompiler -MTd") -diff --git a/cmake/Dependencies.cmake b/cmake/Dependencies.cmake -index afb6b68..bdad8b6 100644 ---- a/cmake/Dependencies.cmake -+++ b/cmake/Dependencies.cmake -@@ -182,6 +182,15 @@ if(USE_OPENCV) - message(WARNING "Not compiling with OpenCV. Suppress this warning with -DUSE_OPENCV=OFF") - set(USE_OPENCV OFF) - endif() -+ if(USE_OPENCV AND VCPKG_TARGET_TRIPLET MATCHES static) -+ find_package(LibLZMA QUIET) -+ if(LIBLZMA_FOUND) -+ list(APPEND Caffe2_DEPENDENCY_LIBS ${LIBLZMA_LIBRARIES}) -+ else() -+ message(WARNING "Not compiling with OpenCV. Could not find liblzma. Suppress this warning with -DUSE_OPENCV=OFF") -+ set(USE_OPENCV OFF) -+ endif() -+ endif() - endif() - - # ---[ FFMPEG -diff --git a/cmake/Modules/FindGlog.cmake b/cmake/Modules/FindGlog.cmake -index 1167532..9780ba5 100644 ---- a/cmake/Modules/FindGlog.cmake -+++ b/cmake/Modules/FindGlog.cmake -@@ -27,6 +27,10 @@ if(MSVC) - endif() - if(TARGET ${GLOG_LIBRARY}) - get_target_property(GLOG_INCLUDE_DIR ${GLOG_LIBRARY} INTERFACE_INCLUDE_DIRECTORIES) -+ get_target_property(GLOG_TYPE ${GLOG_LIBRARY} TYPE) -+ if("${GLOG_TYPE}" STREQUAL "SHARED_LIBRARY") -+ add_definitions(-DGLOG_IS_A_DLL=1) -+ endif() - endif() - else() - find_library(GLOG_LIBRARY glog -diff --git a/cmake/ProtoBuf.cmake b/cmake/ProtoBuf.cmake -index 89975c8..e37d6da 100644 ---- a/cmake/ProtoBuf.cmake -+++ b/cmake/ProtoBuf.cmake -@@ -13,6 +13,9 @@ function(custom_protobuf_find) - # so we turn it off here. - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated-declarations" PARENT_SCOPE) - endif() -+ if(MSVC) -+ set(protobuf_MSVC_STATIC_RUNTIME ${USE_STATIC_RUNTIME}) -+ endif() - add_subdirectory(${PROJECT_SOURCE_DIR}/third_party/protobuf/cmake) - caffe2_include_directories(${PROJECT_SOURCE_DIR}/third_party/protobuf/src) - list(APPEND Caffe2_DEPENDENCY_LIBS libprotobuf) -diff --git a/cmake/Summary.cmake b/cmake/Summary.cmake -index b7423a6..2996484 100644 ---- a/cmake/Summary.cmake -+++ b/cmake/Summary.cmake -@@ -19,6 +19,13 @@ function (Caffe2_print_configuration_summary) - message(STATUS " System : ${CMAKE_SYSTEM_NAME}") - message(STATUS " C++ compiler : ${CMAKE_CXX_COMPILER}") - message(STATUS " C++ compiler version : ${CMAKE_CXX_COMPILER_VERSION}") -+ if(MSVC) -+ if(USE_STATIC_RUNTIME) -+ message(STATUS " Runtime : static (/MT)") -+ else() -+ message(STATUS " Runtime : dynamic (/MD)") -+ endif() -+ endif() - message(STATUS " Protobuf compiler : ${PROTOBUF_PROTOC_EXECUTABLE}") - message(STATUS " CXX flags : ${CMAKE_CXX_FLAGS}") - message(STATUS " Build type : ${CMAKE_BUILD_TYPE}") diff --git a/ports/caffe2/portfile.cmake b/ports/caffe2/portfile.cmake deleted file mode 100644 index d7ec68e6a55912..00000000000000 --- a/ports/caffe2/portfile.cmake +++ /dev/null @@ -1,106 +0,0 @@ -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - -if (VCPKG_TARGET_ARCHITECTURE STREQUAL x86) - message(FATAL_ERROR "Caffe2 cannot be built for the x86 architecture") -endif() - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO caffe2/caffe2 - REF eab13a2d5c807bf5d49efd4584787b639a981b79 - SHA512 505a8540b0c28329c4e2ce443ac8e198c1ee613eb6b932927ee9d04c8afdc95081f3c4581408b7097d567840427b31f6d7626ea80f27e56532f2f2e6acd87023 - HEAD_REF master - PATCHES - msvc-fixes.patch - fix-space.patch - fix-protobuf-deprecated.patch -) - -if(VCPKG_CRT_LINKAGE STREQUAL static) - set(USE_STATIC_RUNTIME ON) -else() - set(USE_STATIC_RUNTIME OFF) -endif() - -if(CMAKE_HOST_WIN32) - set(EXECUTABLE_SUFFIX ".exe") -else() - set(EXECUTABLE_SUFFIX "") -endif() - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - # Set to ON to use python - -DBUILD_PYTHON=OFF - -DUSE_STATIC_RUNTIME=${USE_STATIC_RUNTIME} - -DUSE_GFLAGS=ON - -DUSE_GLOG=ON - # Cannot use OpenCV without USE_CUDA=ON right now - -DUSE_OPENCV=OFF - -DUSE_THREADS=ON - # Uncomment to use MKL - # -DBLAS=MKL - -DUSE_CUDA=OFF - -DUSE_FFMPEG=OFF - -DUSE_GLOO=OFF - -DUSE_LEVELDB=OFF - -DUSE_LITE_PROTO=OFF - -DUSE_METAL=OFF - -DUSE_MOBILE_OPENGL=OFF - -DUSE_MPI=OFF - -DUSE_NCCL=OFF - -DUSE_NERVANA_GPU=OFF - -DUSE_NNPACK=OFF - -DUSE_OBSERVERS=OFF - -DUSE_OPENMP=ON - -DUSE_REDIS=OFF - -DUSE_ROCKSDB=OFF - -DUSE_SNPE=OFF - -DUSE_ZMQ=OFF - -DBUILD_TEST=OFF - -DPROTOBUF_PROTOC_EXECUTABLE:FILEPATH=${CURRENT_INSTALLED_DIR}/tools/protobuf/protoc${EXECUTABLE_SUFFIX} -) - -vcpkg_install_cmake() - -# Remove folders from install -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/caffe) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/caffe2) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/caffe) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/caffe2) - -# Remove empty directories from include (should probably fix or -# patch caffe2 install script) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/caffe2/test) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/caffe2/python) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/caffe2/experiments/python) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/caffe2/contrib/opengl) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/caffe2/contrib/nnpack) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/caffe2/contrib/libopencl-stub) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/caffe2/contrib/docker-ubuntu-14.04) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/caffe2/binaries) - -# Move bin to tools -file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools) -file(GLOB BINARIES ${CURRENT_PACKAGES_DIR}/bin/*${EXECUTABLE_SUFFIX}) -foreach(binary ${BINARIES}) - get_filename_component(binary_name ${binary} NAME) - file(RENAME ${binary} ${CURRENT_PACKAGES_DIR}/tools/${binary_name}) -endforeach() - -# Remove bin directory -if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin) -endif() - -# Remove headers and tools from debug build -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) - -# install license -file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/caffe2) -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/caffe2 RENAME copyright) - -vcpkg_copy_pdbs() diff --git a/ports/caffe2/vcpkg.json b/ports/caffe2/vcpkg.json deleted file mode 100644 index eeecad53132972..00000000000000 --- a/ports/caffe2/vcpkg.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "name": "caffe2", - "version-string": "0.8.1", - "port-version": 5, - "description": "Caffe2 is a lightweight, modular, and scalable deep learning framework.", - "homepage": "https://github.com/caffe2/caffe2", - "supports": "!x86", - "dependencies": [ - "eigen3", - "gflags", - "glog", - "lmdb", - "protobuf" - ] -} diff --git a/ports/cairo/0001-meson-fix-macOS-build-and-add-macOS-ci.patch b/ports/cairo/0001-meson-fix-macOS-build-and-add-macOS-ci.patch deleted file mode 100644 index 5bc6ca8855267a..00000000000000 --- a/ports/cairo/0001-meson-fix-macOS-build-and-add-macOS-ci.patch +++ /dev/null @@ -1,112 +0,0 @@ -From d8d16562ec094593eba4446432e918704590ab20 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= -Date: Sat, 26 Sep 2020 19:25:21 +0100 -Subject: [PATCH] meson: fix macOS build and add macOS ci - -Fixes #441 ---- - .gitlab-ci.yml | 26 ++++++++++++++++++++ - meson.build | 61 ++++++++++++++++++++++------------------------- - meson_options.txt | 1 + - 3 files changed, 56 insertions(+), 32 deletions(-) - -diff --git a/meson.build b/meson.build -index 53a9af343..fe7757b1f 100644 ---- a/meson.build -+++ b/meson.build -@@ -371,37 +371,34 @@ if qtgui_dep.found() and false - deps += [qtgui_dep] - endif - --# Untested --if cc.has_header('ApplicationServices/ApplicationServices.h') -- if cc.has_header('CoreGraphics/CoreGraphics.h') -- quartz_extra_libs = ['-Xlinker', '-framework', '-Xlinker', 'CoreGraphics'] -- else -- quartz_extra_libs = ['-Xlinker', '-framework', '-Xlinker', 'ApplicationServices'] -+if host_machine.system() == 'darwin' and not get_option('quartz').disabled() -+ quartz_deps = dependency('appleframeworks', modules : ['CoreFoundation', 'ApplicationServices'], required: get_option('quartz')) -+ -+ if quartz_deps.found() -+ deps += [quartz_deps] -+ -+ feature_conf.set('CAIRO_HAS_QUARTZ_SURFACE', 1) -+ feature_conf.set('CAIRO_HAS_QUARTZ_FONT', 1) -+ feature_conf.set('CAIRO_HAS_QUARTZ_IMAGE_SURFACE', 1) -+ -+ built_features += [ -+ { -+ 'name': 'cairo-quartz', -+ 'description': 'Quartz surface backend', -+ 'deps': quartz_deps, -+ }, -+ { -+ 'name': 'cairo-quartz-image', -+ 'description': 'Quartz Image surface backend', -+ 'deps': quartz_deps, -+ }, -+ { -+ 'name': 'cairo-quartz-font', -+ 'description': 'Quartz font backend', -+ 'deps': quartz_deps, -+ }, -+ ] - endif -- -- extra_link_args += quartz_extra_libs -- -- feature_conf.set('CAIRO_HAS_QUARTZ_SURFACE', 1) -- feature_conf.set('CAIRO_HAS_QUARTZ_FONT', 1) -- feature_conf.set('CAIRO_HAS_QUARTZ_IMAGE_SURFACE', 1) -- -- built_features += [ -- { -- 'name': 'cairo-quartz', -- 'description': 'Quartz surface backend', -- 'libs': quartz_extra_libs, -- }, -- { -- 'name': 'cairo-quartz-image', -- 'description': 'Quartz Image surface backend', -- 'libs': quartz_extra_libs, -- }, -- { -- 'name': 'cairo-quartz-font', -- 'description': 'Quartz font backend', -- 'libs': quartz_extra_libs, -- }, -- ] - endif - - if host_machine.system() == 'windows' -@@ -887,13 +884,13 @@ foreach feature: built_features - feature_deps = feature.get('deps', []) - feature_libs = feature.get('libs', []) - feature_compile_deps = feature.get('compile-deps', []) -- pkgmod.generate(libraries: [libcairo] + feature_deps + feature_libs, -+ pkgmod.generate(libraries: [libcairo, feature_deps, feature_libs], - name: feature['name'], - description: feature['description'] + ' for cairo graphics library', - ) - meson.override_dependency(feature['name'], - declare_dependency(link_with: libcairo, -- dependencies: feature_deps + feature_compile_deps, -+ dependencies: [feature_deps, feature_compile_deps], - link_args: feature_libs, - ) - ) -diff --git a/meson_options.txt b/meson_options.txt -index ff11fe7ed..5cafe8bda 100644 ---- a/meson_options.txt -+++ b/meson_options.txt -@@ -13,6 +13,7 @@ option('glesv3', type : 'feature', value : 'disabled') - option('drm', type : 'feature', value : 'disabled') - option('openvg', type : 'feature', value : 'disabled') - option('png', type : 'feature', value : 'auto') # png and svg surfaces -+option('quartz', type : 'feature', value : 'auto') - option('qt', type : 'feature', value : 'disabled') - option('tee', type : 'feature', value : 'disabled') - option('xcb', type : 'feature', value : 'auto') --- -2.29.2 - 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 8030679b1dfaf3..00000000000000 --- a/ports/cairo/cairo_static_fix.patch +++ /dev/null @@ -1,92 +0,0 @@ -diff --git a/util/cairo-fdr/meson.build b/util/cairo-fdr/meson.build -index 3cb66c678..b12b90036 100644 ---- a/util/cairo-fdr/meson.build -+++ b/util/cairo-fdr/meson.build -@@ -4,7 +4,7 @@ cairo_fdr_sources = [ - - libcairofdr = library('cairo-fdr', cairo_fdr_sources, - include_directories: [incbase, incsrc], -- c_args: ['-DHAVE_CONFIG_H'], -+ c_args: ['-DHAVE_CONFIG_H'] + static_definition, - dependencies: deps, - install: true, - install_dir: join_paths(get_option('prefix'), get_option('libdir'), 'cairo'), -diff --git a/util/cairo-script/meson.build b/util/cairo-script/meson.build -index a782ec63f..7e21f6c04 100644 ---- a/util/cairo-script/meson.build -+++ b/util/cairo-script/meson.build -@@ -26,7 +26,7 @@ csi_trace_sources = [ - - libcairoscript = library('cairo-script-interpreter', - cairoscript_interpreter_sources, -- c_args: ['-DHAVE_CONFIG_H'], -+ c_args: ['-DHAVE_CONFIG_H'] + static_definition, - include_directories: [incbase, incsrc], - dependencies: deps, - link_with: [libcairo], -@@ -41,14 +41,14 @@ libcairoscript_dep = declare_dependency(link_with: libcairoscript, - include_directories: [incbase, inccairoscript]) - - csi_replay_exe = executable('csi-replay', csi_replay_sources, -- c_args: ['-DHAVE_CONFIG_H'], -+ c_args: ['-DHAVE_CONFIG_H'] + static_definition, - include_directories: [incbase, incsrc], - link_with: [libcairo, libcairoscript], - dependencies: deps, - ) - - csi_exec_exe = executable('csi-exec', csi_exec_sources, -- c_args: ['-DHAVE_CONFIG_H'], -+ c_args: ['-DHAVE_CONFIG_H'] + static_definition, - include_directories: [incbase, incsrc], - link_with: [libcairo, libcairoscript], - dependencies: deps, -@@ -56,7 +56,7 @@ csi_exec_exe = executable('csi-exec', csi_exec_sources, - - if feature_conf.get('CAIRO_HAS_SCRIPT_SURFACE', 0) == 1 and conf.get('HAVE_LIBGEN_H', 0) == 1 - csi_trace_exe = executable('csi-trace', csi_trace_sources, -- c_args: ['-DHAVE_CONFIG_H'], -+ c_args: ['-DHAVE_CONFIG_H'] + static_definition, - include_directories: [incbase, incsrc], - link_with: [libcairo, libcairoscript], - dependencies: deps, -diff --git a/util/cairo-trace/meson.build b/util/cairo-trace/meson.build -index e836f98cf..76ee372a2 100644 ---- a/util/cairo-trace/meson.build -+++ b/util/cairo-trace/meson.build -@@ -12,7 +12,7 @@ libcairotrace = library('cairo-trace', cairo_trace_sources, - include_directories: [incbase, incsrc], - dependencies: deps, - link_args: extra_link_args, -- c_args: ['-DSHARED_LIB_EXT="@0@"'.format(shared_lib_ext), '-DHAVE_CONFIG_H'] + pthread_c_args, -+ c_args: ['-DSHARED_LIB_EXT="@0@"'.format(shared_lib_ext), '-DHAVE_CONFIG_H'] + pthread_c_args + static_definition, - install: true, - install_dir: join_paths(get_option('prefix'), get_option('libdir'), 'cairo'), - ) -diff --git a/util/meson.build b/util/meson.build -index 016955cea..a90363115 100644 ---- a/util/meson.build -+++ b/util/meson.build -@@ -2,6 +2,14 @@ subdir('cairo-missing') - - cairo_utils = [] - -+static_definition=[] -+if host_machine.system() == 'windows' -+ lib_default = get_option('default_library') -+ if lib_default == 'static' -+ static_definition=['-DCAIRO_WIN32_STATIC_BUILD'] -+ endif -+endif -+ - if feature_conf.get('CAIRO_HAS_GOBJECT_FUNCTIONS', 0) == 1 - subdir('cairo-gobject') - endif -@@ -55,6 +63,7 @@ foreach util : cairo_utils - include_directories: [incbase, incsrc, inccairoscript], - dependencies: deps + util_deps, - link_with: [libcairo, libcairoscript], -+ c_args: static_definition - ) - endforeach - diff --git a/ports/cairo/fix_clang-cl_build.patch b/ports/cairo/fix_clang-cl_build.patch new file mode 100644 index 00000000000000..133afb7eb50baa --- /dev/null +++ b/ports/cairo/fix_clang-cl_build.patch @@ -0,0 +1,37 @@ +diff --git a/util/cairo-script/cairo-script-objects.c b/util/cairo-script/cairo-script-objects.c +index 2d7937be3..4d55ca848 100644 +--- a/util/cairo-script/cairo-script-objects.c ++++ b/util/cairo-script/cairo-script-objects.c +@@ -127,7 +127,7 @@ csi_array_append (csi_t *ctx, + return _csi_stack_push (ctx, &array->stack, csi_object_reference (obj)); + } + +-inline csi_status_t ++csi_status_t + _csi_array_execute (csi_t *ctx, csi_array_t *array) + { + csi_integer_t i; +diff --git a/meson.build b/meson.build +index 7b20c0c48..9cb4a82ba 100644 +--- a/meson.build ++++ b/meson.build +@@ -38,7 +38,7 @@ cc = meson.get_compiler('c') + + # Compiler flags + cflags = [] +-if cc.get_id() != 'msvc' ++if cc.get_argument_syntax() != 'msvc' + cflags += [ + '-Wmissing-declarations', + '-Werror-implicit-function-declaration', +@@ -159,8 +159,7 @@ check_headers = [ + + check_types = [ + ['uint64_t', {'headers': ['stdint.h']}], +- ['uint128_t', {'headers': ['stdint.h']}], +- ['__uint128_t'] ++ ['uint128_t', {'headers': ['stdint.h']}] + ] + + check_funcs = [ + \ No newline at end of file diff --git a/ports/cairo/msvc-convenience.diff b/ports/cairo/msvc-convenience.diff new file mode 100644 index 00000000000000..664d320bdd2bc2 --- /dev/null +++ b/ports/cairo/msvc-convenience.diff @@ -0,0 +1,15 @@ +diff --git a/src/win32/cairo-win32-private.h b/src/win32/cairo-win32-private.h +index d457b78..0b1b4ed 100644 +--- a/src/win32/cairo-win32-private.h ++++ b/src/win32/cairo-win32-private.h +@@ -53,6 +53,10 @@ + + #define WIN32_FONT_LOGICAL_SCALE 32 + ++#ifdef _MSC_VER ++#pragma comment(lib, "MSImg32.Lib") ++#endif ++ + CAIRO_BEGIN_DECLS + + /* Surface DC flag values */ diff --git a/ports/cairo/portfile.cmake b/ports/cairo/portfile.cmake index 61a7108b177eb2..d71cec33cb71fa 100644 --- a/ports/cairo/portfile.cmake +++ b/ports/cairo/portfile.cmake @@ -1,14 +1,18 @@ -set(CAIRO_VERSION 1.17.4) +set(EXTRA_PATCHES "") +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + list(APPEND EXTRA_PATCHES fix_clang-cl_build.patch) +endif() vcpkg_from_gitlab( - GITLAB_URL https://gitlab.freedesktop.org OUT_SOURCE_PATH SOURCE_PATH + GITLAB_URL https://gitlab.freedesktop.org REPO cairo/cairo - REF 156cd3eaaebfd8635517c2baf61fcf3627ff7ec2 #v1.17.4 - SHA512 2c516ad3ffe56cf646b2435d6ef3cf25e8c05aeb13d95dd18a7d0510d134d9990cba1b376063352ff99483cfc4e5d2af849afd2f9538f9136f22d44d34be362c - HEAD_REF master - PATCHES 0001-meson-fix-macOS-build-and-add-macOS-ci.patch - cairo_static_fix.patch + REF "${VERSION}" + SHA512 5731eaa48857561aad023214ebb7be70344579a4bc75d00c46f8c622b4d34be7f79ab02e2cd54a419086490a3bf31aafa2418d873833b475b9824e3f2f5b17b6 + PATCHES + cairo_add_lzo_feature_option.patch + msvc-convenience.diff + ${EXTRA_PATCHES} ) if("fontconfig" IN_LIST FEATURES) @@ -24,10 +28,7 @@ else() endif() if ("x11" IN_LIST FEATURES) - if (VCPKG_TARGET_IS_WINDOWS) - message(FATAL_ERROR "Feature x11 only support UNIX.") - endif() - message(WARNING "You will need to install Xorg dependencies to use feature x11:\napt install libx11-dev libxft-dev\n") + message(WARNING "You will need to install Xorg dependencies to use feature x11:\nsudo apt install libx11-dev libxft-dev libxext-dev\n") list(APPEND OPTIONS -Dxlib=enabled) else() list(APPEND OPTIONS -Dxlib=disabled) @@ -36,54 +37,45 @@ list(APPEND OPTIONS -Dxcb=disabled) list(APPEND OPTIONS -Dxlib-xcb=disabled) if("gobject" IN_LIST FEATURES) - if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL "static") - message(FATAL_ERROR "Feature gobject currently only supports dynamic build.") - endif() list(APPEND OPTIONS -Dglib=enabled) 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() vcpkg_configure_meson( - SOURCE_PATH ${SOURCE_PATH} - OPTIONS ${OPTIONS} + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${OPTIONS} -Dtests=disabled -Dzlib=enabled -Dpng=enabled -Dspectre=auto - -Dsymbol-lookup=disabled -Dgtk2-utils=disabled + -Dsymbol-lookup=disabled ) 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}") - -# Handle copyright -file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) 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() + +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/vcpkg.json b/ports/cairo/vcpkg.json index e7de197c48ad64..0e3f0b9c6d9031 100644 --- a/ports/cairo/vcpkg.json +++ b/ports/cairo/vcpkg.json @@ -1,16 +1,20 @@ { "name": "cairo", - "version": "1.17.4", - "port-version": 2, + "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", + "supports": "!xbox & !uwp", "dependencies": [ "dirent", "expat", "libpng", - "lzo", "pixman", "pthread", + { + "name": "vcpkg-tool-meson", + "host": true + }, "zlib" ], "default-features": [ @@ -19,25 +23,35 @@ ], "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/fix_include_path.patch b/ports/cairomm/fix_include_path.patch new file mode 100644 index 00000000000000..770df9e9fad5b5 --- /dev/null +++ b/ports/cairomm/fix_include_path.patch @@ -0,0 +1,45 @@ +diff --git a/meson.build b/meson.build +index b8c2191..8f280b4 100644 +--- a/meson.build ++++ b/meson.build +@@ -288,7 +288,7 @@ mm_conf_data.set('CAIROMM_MICRO_VERSION', cairomm_micro_version) + mm_conf_data.set('VERSION', meson.project_version()) # for MSVC_NMake/cairomm/cairomm.rc + + cairommconfig_h_meson = files('cairommconfig.h.meson') +-install_includeconfigdir = install_libdir / cairomm_pcname / 'include' ++install_includeconfigdir = install_includedir + configure_file( + input: cairommconfig_h_meson, + output: 'cairommconfig.h', +@@ -380,7 +380,7 @@ summary = [ + 'Directories:', + ' prefix: @0@'.format(install_prefix), + ' includedir: @0@'.format(install_prefix / install_includedir), +- ' includecairommdir: @0@'.format(install_prefix / install_includedir / cairomm_pcname), ++ ' includecairommdir: @0@'.format(install_prefix / install_includedir), + ' libdir: @0@'.format(install_prefix / install_libdir), + ' includeconfigdir: @0@'.format(install_prefix / install_includeconfigdir), + ' pkgconfigdir: @0@'.format(install_prefix / install_pkgconfigdir), +diff --git a/cairomm/meson.build b/cairomm/meson.build +index f940268..23b955e 100644 +--- a/cairomm/meson.build ++++ b/cairomm/meson.build +@@ -64,7 +64,7 @@ cairomm_private_h = [ + # docs/reference/meson.build needs this. + source_h_files = cairomm_public_h + +-install_headers(cairomm_public_h, subdir: cairomm_pcname / 'cairomm') ++install_headers(cairomm_public_h, subdir: 'cairomm') + + # Make sure we are exporting the symbols from the DLL + cairomm_cpp_args = ['-DCAIROMM_BUILD=1'] +diff --git a/data/cairomm.pc.in b/data/cairomm.pc.in +index b6d19a2..59a03f0 100644 +--- a/data/cairomm.pc.in ++++ b/data/cairomm.pc.in +@@ -16,4 +16,4 @@ Version: @PACKAGE_VERSION@ + URL: http://www.cairographics.org/cairomm/ + Requires: @CAIROMM_MODULES@ + Libs: -L${libdir} -lcairomm@MSVC_TOOLSET_VER@-@CAIROMM_API_VERSION@ @CAIROMM_EXTRA_LIBS@ +-Cflags: -I${includedir}/@CAIROMM_MODULE_NAME@ -I${libdir}/@CAIROMM_MODULE_NAME@/include ++Cflags: -I${includedir} diff --git a/ports/cairomm/portfile.cmake b/ports/cairomm/portfile.cmake index c20887b0da9064..a4d80711e1deb2 100644 --- a/ports/cairomm/portfile.cmake +++ b/ports/cairomm/portfile.cmake @@ -1,24 +1,23 @@ -set(CAIROMM_VERSION 1.16.0) -set(CAIROMM_HASH 51929620feeac45377da5d486ea7a091bbd10ad8376fb16525328947b9e6ee740cdc8e8bd190a247b457cc9fec685a829c81de29b26cabaf95383ef04cce80d3) - +vcpkg_minimum_required(VERSION 2022-10-12) # for ${VERSION} vcpkg_download_distfile(ARCHIVE - URLS "https://www.cairographics.org/releases/cairomm-${CAIROMM_VERSION}.tar.xz" - FILENAME "cairomm-${CAIROMM_VERSION}.tar.xz" - SHA512 ${CAIROMM_HASH} + URLS "https://www.cairographics.org/releases/cairomm-${VERSION}.tar.xz" + FILENAME "cairomm-${VERSION}.tar.xz" + SHA512 d358a765136e244773b4a0fdcb2d9c81dd0b76f7a27c7108f94df9765f2d790f5f50b5645c09c292efce3e012528f85114d51916450c5fe6fa87d09f5a405d4c ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" PATCHES - undef.win32.patch # because WIN32 is used as an ENUM identifier. + fix_include_path.patch ) vcpkg_configure_meson( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -Dbuild-examples=false -Dmsvc14x-parallel-installable=false # Use separate DLL and LIB filenames for Visual Studio 2017 and 2019 + -Dbuild-tests=false ) vcpkg_install_meson() @@ -27,15 +26,9 @@ vcpkg_copy_pdbs() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) - -if(VCPKG_LIBRARY_LINAKGE STREQUAL "static") - set(_file "${CURRENT_PACKAGES_DIR}/lib/cairomm-1.16/include/cairommconfig.h") - if(EXISTS "${_file}") - vcpkg_replace_string("${_file}" "# define CAIROMM_DLL 1" "# undef CAIROMM_DLL\n# define CAIROMM_STATIC_LIB 1") - endif() - set(_file "${CURRENT_PACKAGES_DIR}/debug/lib/cairomm-1.16/include/cairommconfig.h") - if(EXISTS "${_file}") - vcpkg_replace_string("${_file}" "# define CAIROMM_DLL 1" "# undef CAIROMM_DLL\n# define CAIROMM_STATIC_LIB 1") - endif() +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/cairommconfig.h" "# define CAIROMM_DLL 1" "# undef CAIROMM_DLL\n# define CAIROMM_STATIC_LIB 1") 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/cairomm/undef.win32.patch b/ports/cairomm/undef.win32.patch deleted file mode 100644 index e91db0bfe42b06..00000000000000 --- a/ports/cairomm/undef.win32.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/cairomm/surface.h b/cairomm/surface.h -index c923e6086..8cfaa76a3 100644 ---- a/cairomm/surface.h -+++ b/cairomm/surface.h -@@ -49,6 +49,7 @@ - #include - #endif // CAIRO_HAS_GLITZ_SURFACE - -+#undef WIN32 - - namespace Cairo - { diff --git a/ports/cairomm/usage b/ports/cairomm/usage new file mode 100644 index 00000000000000..7b0d0a68565f0c --- /dev/null +++ b/ports/cairomm/usage @@ -0,0 +1,5 @@ +cairomm provides usage: + + find_package(PkgConfig REQUIRED) + pkg_check_modules(CAIROMM REQUIRED IMPORTED_TARGET cairomm-1.16) + target_link_libraries(main PRIVATE PkgConfig::CAIROMM) diff --git a/ports/cairomm/vcpkg.json b/ports/cairomm/vcpkg.json index d760825a0ea7b7..31e78679ddf26f 100644 --- a/ports/cairomm/vcpkg.json +++ b/ports/cairomm/vcpkg.json @@ -1,10 +1,16 @@ { "name": "cairomm", - "version": "1.16.0", + "version": "1.18.0", "description": "A C++ wrapper for the cairo graphics library", "homepage": "https://www.cairographics.org", + "license": "LGPL-2.0-only", + "supports": "!xbox", "dependencies": [ "cairo", - "libsigcpp" + "libsigcpp", + { + "name": "vcpkg-tool-meson", + "host": true + } ] } diff --git a/ports/calceph/makefilevc.patch b/ports/calceph/makefilevc.patch deleted file mode 100755 index 796eeb2026c506..00000000000000 --- a/ports/calceph/makefilevc.patch +++ /dev/null @@ -1,56 +0,0 @@ -diff --git a/doc/Makefile.vc b/doc/Makefile.vc -index 60c7eee..1e783a0 100644 ---- a/doc/Makefile.vc -+++ b/doc/Makefile.vc -@@ -62,7 +62,7 @@ - # - - install: -- copy calceph_c.pdf $(DESTDIR)\doc -- copy calceph_fortran2003.pdf $(DESTDIR)\doc -- copy calceph_fortran77.pdf $(DESTDIR)\doc -- copy calceph_python.pdf $(DESTDIR)\doc -+ copy calceph_c.pdf "$(DESTDIR)"\doc -+ copy calceph_fortran2003.pdf "$(DESTDIR)"\doc -+ copy calceph_fortran77.pdf "$(DESTDIR)"\doc -+ copy calceph_python.pdf "$(DESTDIR)"\doc -diff --git a/mexapi/src/Makefile.vc b/mexapi/src/Makefile.vc -index 68e5d45..803c12f 100644 ---- a/mexapi/src/Makefile.vc -+++ b/mexapi/src/Makefile.vc -@@ -62,10 +62,10 @@ - # - - install: -- copy interfacemex.c $(DESTDIR)\libexec\calceph\mex -- copy CalcephBin.m $(DESTDIR)\libexec\calceph\mex -- copy calceph_compilemex.m $(DESTDIR)\libexec\calceph\mex -- copy Constants.m $(DESTDIR)\libexec\calceph\mex -- copy calceph_getversion_str.m $(DESTDIR)\libexec\calceph\mex -- copy NaifId.m $(DESTDIR)\libexec\calceph\mex -- copy calceph_seterrorhandler.m $(DESTDIR)\libexec\calceph\mex -+ copy interfacemex.c "$(DESTDIR)"\libexec\calceph\mex -+ copy CalcephBin.m "$(DESTDIR)"\libexec\calceph\mex -+ copy calceph_compilemex.m "$(DESTDIR)"\libexec\calceph\mex -+ copy Constants.m "$(DESTDIR)"\libexec\calceph\mex -+ copy calceph_getversion_str.m "$(DESTDIR)"\libexec\calceph\mex -+ copy NaifId.m "$(DESTDIR)"\libexec\calceph\mex -+ copy calceph_seterrorhandler.m "$(DESTDIR)"\libexec\calceph\mex -diff --git a/src/Makefile.vc b/src/Makefile.vc -index 730b4a7..9e790b1 100644 ---- a/src/Makefile.vc -+++ b/src/Makefile.vc -@@ -111,9 +111,9 @@ clean: - # install target: "nmake /f Makefile.vc install DESTDIR=xxx" to perform the installation. - # - install: all $(F2003INSTALL) -- copy f90calceph.h $(DESTDIR)\include -- copy calceph.h $(DESTDIR)\include -- copy $(LIBRARY) $(DESTDIR)\lib -+ copy f90calceph.h "$(DESTDIR)"\include -+ copy calceph.h "$(DESTDIR)"\include -+ copy $(LIBRARY) "$(DESTDIR)"\lib - - f2003install : -- copy f2003calceph.mod $(DESTDIR)\include -+ copy f2003calceph.mod "$(DESTDIR)"\include diff --git a/ports/calceph/portfile.cmake b/ports/calceph/portfile.cmake index 42acc5e59a4f13..e9af4b8da54d8d 100755 --- a/ports/calceph/portfile.cmake +++ b/ports/calceph/portfile.cmake @@ -1,51 +1,29 @@ -vcpkg_fail_port_install(ON_TARGET "uwp") - -set(CALCEPH_VERSION "3.5.0") -set(CALCEPH_HASH 12bb269d846aab93799656919cd9ca5a995248fb806727ea95667374b9380ca8f52c57dc6a5930c6995c13749bff1459c430eb2908b1533a8804fcb6b95c3de9) +set(CALCEPH_HASH 1b03bc62ab32ab56a95ca33612824a1f2104a8cca225b6cbedc656655ab4477a922053257341f36b95792f002b39cbee6a1dd2522cacdac36282aa044e121d86) vcpkg_download_distfile(ARCHIVE - URLS "https://www.imcce.fr/content/medias/recherche/equipes/asd/calceph/calceph-${CALCEPH_VERSION}.tar.gz" - FILENAME "calceph-${CALCEPH_VERSION}.tar.gz" + URLS "https://www.imcce.fr/content/medias/recherche/equipes/asd/calceph/calceph-${VERSION}.tar.gz" + FILENAME "calceph-${VERSION}.tar.gz" SHA512 ${CALCEPH_HASH} ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH +vcpkg_extract_source_archive( + SOURCE_PATH ARCHIVE ${ARCHIVE} - PATCHES makefilevc.patch ) -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") - file(INSTALL "${CURRENT_INSTALLED_DIR}/calceph/debug/lib/libcalceph.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") - 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_install_make() - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") - +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${PORT}") + +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(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 72c91d1d9a79d8..55099339eefd9d 100755 --- a/ports/calceph/vcpkg.json +++ b/ports/calceph/vcpkg.json @@ -1,8 +1,19 @@ { "name": "calceph", - "version": "3.5.0", + "version": "4.0.1", "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", - "supports": "!uwp" + "documentation": "https://calceph.imcce.fr/docs/latest/html/c/index.html", + "license": "CECILL-2.1 OR CECILL-B OR CECILL-C", + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/camport3/portfile.cmake b/ports/camport3/portfile.cmake index a46d4ded934d6c..3c5e4aea89a851 100644 --- a/ports/camport3/portfile.cmake +++ b/ports/camport3/portfile.cmake @@ -1,50 +1,40 @@ -if(VCPKG_TARGET_IS_WINDOWS) - vcpkg_fail_port_install(ON_LIBRARY_LINKAGE "static") - vcpkg_fail_port_install(ON_TARGET "uwp") - vcpkg_fail_port_install(ON_ARCH "arm" "arm64" "wasm32") -elseif(VCPKG_TARGET_IS_LINUX) - vcpkg_fail_port_install(ON_ARCH "wasm32") -else() - vcpkg_fail_port_install(ALWAYS) -endif() - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO percipioxyz/camport3 - REF v1.5.3 - SHA512 efa41e75b4ed7147f94270765138aa226a92ec51c99157776e916ec178ad2a9fe55aa6e6e746be46e2f2178852f4c4f9323b515f5a1b151ac70c21f8f923d901 + REF v1.6.2 + SHA512 e3b1fadb13b826e86aa174215430f5e4175aafd9a967f2401beb3768dcc489a8ce5a74c151d615bd3e34b837c81e201db55b290ef258612381141b0b94212fd1 HEAD_REF master ) -file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/include) -file(COPY - ${SOURCE_PATH}/include/TYApi.h - ${SOURCE_PATH}/include/TYCoordinateMapper.h - ${SOURCE_PATH}/include/TYImageProc.h - ${SOURCE_PATH}/include/TyIsp.h - DESTINATION ${CURRENT_PACKAGES_DIR}/include) +file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/include") +file(COPY + "${SOURCE_PATH}/include/TYApi.h" + "${SOURCE_PATH}/include/TYCoordinateMapper.h" + "${SOURCE_PATH}/include/TYImageProc.h" + "${SOURCE_PATH}/include/TyIsp.h" + DESTINATION "${CURRENT_PACKAGES_DIR}/include") if(VCPKG_TARGET_IS_WINDOWS) if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/lib) + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/lib") file(COPY - ${SOURCE_PATH}/lib/win/hostapp/${VCPKG_TARGET_ARCHITECTURE}/tycam.lib - DESTINATION ${CURRENT_PACKAGES_DIR}/lib + "${SOURCE_PATH}/lib/win/hostapp/${VCPKG_TARGET_ARCHITECTURE}/tycam.lib" + DESTINATION "${CURRENT_PACKAGES_DIR}/lib" ) file(COPY - ${SOURCE_PATH}/lib/win/hostapp/${VCPKG_TARGET_ARCHITECTURE}/tycam.dll - DESTINATION ${CURRENT_PACKAGES_DIR}/bin + "${SOURCE_PATH}/lib/win/hostapp/${VCPKG_TARGET_ARCHITECTURE}/tycam.dll" + DESTINATION "${CURRENT_PACKAGES_DIR}/bin" ) endif() if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/lib) + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/lib") file(COPY - ${SOURCE_PATH}/lib/win/hostapp/${VCPKG_TARGET_ARCHITECTURE}/tycam.lib - DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib + "${SOURCE_PATH}/lib/win/hostapp/${VCPKG_TARGET_ARCHITECTURE}/tycam.lib" + DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib" ) file(COPY - ${SOURCE_PATH}/lib/win/hostapp/${VCPKG_TARGET_ARCHITECTURE}/tycam.dll - DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin + "${SOURCE_PATH}/lib/win/hostapp/${VCPKG_TARGET_ARCHITECTURE}/tycam.dll" + DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin" ) endif() @@ -58,26 +48,26 @@ elseif(VCPKG_TARGET_IS_LINUX) else() set (CAMPORT3_ARCH ${VCPKG_TARGET_ARCHITECTURE}) endif() - + if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/lib) + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/lib") file(COPY - ${SOURCE_PATH}/lib/linux/lib_${CAMPORT3_ARCH}/libtycam.so - DESTINATION ${CURRENT_PACKAGES_DIR}/lib + "${SOURCE_PATH}/lib/linux/lib_${CAMPORT3_ARCH}/libtycam.so" + DESTINATION "${CURRENT_PACKAGES_DIR}/lib" ) endif() if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/lib) + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/lib") file(COPY - ${SOURCE_PATH}/lib/linux/lib_${CAMPORT3_ARCH}/libtycam.so - DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib + "${SOURCE_PATH}/lib/linux/lib_${CAMPORT3_ARCH}/libtycam.so" + DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib" ) endif() endif() file(INSTALL - ${SOURCE_PATH}/LICENSE - DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} + "${SOURCE_PATH}/LICENSE" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright ) diff --git a/ports/camport3/vcpkg.json b/ports/camport3/vcpkg.json index 0bf92791f34cf6..863706150e8408 100644 --- a/ports/camport3/vcpkg.json +++ b/ports/camport3/vcpkg.json @@ -1,7 +1,6 @@ { "name": "camport3", - "version-string": "1.5.3", - "port-version": 1, + "version": "1.6.2", "description": "percipio.xyz cameras SDK", "homepage": "https://github.com/percipioxyz/camport3", "supports": "((windows & !uwp & !arm & !arm64 & !static) | linux) & !wasm32" diff --git a/ports/canvas-ity/portfile.cmake b/ports/canvas-ity/portfile.cmake new file mode 100644 index 00000000000000..a76c0df3ccc4c4 --- /dev/null +++ b/ports/canvas-ity/portfile.cmake @@ -0,0 +1,13 @@ +#header-only library + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO a-e-k/canvas_ity + REF fc5c115d8ca8be0cf81c2247270cc955f78b6138 + SHA512 19560fa09e8a8eeb09c05b26cf562dc506e6c88e1e66767a2214d2310188cb52ffe03294bd6448531703bd972e2a1995446a3cc20684c9d617ebe65ac93dd37a + HEAD_REF master +) + +file(INSTALL "${SOURCE_PATH}/src/canvas_ity.hpp" DESTINATION "${CURRENT_PACKAGES_DIR}/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") diff --git a/ports/canvas-ity/vcpkg.json b/ports/canvas-ity/vcpkg.json new file mode 100644 index 00000000000000..75afea2efad6d0 --- /dev/null +++ b/ports/canvas-ity/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "canvas-ity", + "version": "1.0", + "description": "A tiny, single-header -like 2D rasterizer for C++", + "homepage": "https://github.com/a-e-k/canvas_ity", + "license": "ISC" +} diff --git a/ports/capnproto/portfile.cmake b/ports/capnproto/portfile.cmake index 7e12093501067f..7df078985b9545 100644 --- a/ports/capnproto/portfile.cmake +++ b/ports/capnproto/portfile.cmake @@ -1,16 +1,13 @@ -vcpkg_fail_port_install(ON_TARGET UWP) -if(VCPKG_TARGET_IS_WINDOWS) - vcpkg_fail_port_install(ON_ARCH arm arm64) -endif() - vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO capnproto/capnproto - REF v0.9.1 - SHA512 BDC5960F26214139744D768CA4558B085E2D359C375A8849CA532A4C458A2DAF0EE1A1F4D00745DE5ABF353AA1E4084A2D85E5523006F23F591F21FAC2D847FD + REF "v${VERSION}" + SHA512 56551ecad52cf06e5dd52401e6d848eae41126c6ba2bb31a9ec1c82e1b47e0e6171d69db923c118c614aec0d396ddf35724081cccef3a605c39d0b5379a2c03e HEAD_REF master + PATCHES + undef-KJ_USE_EPOLL-for-ANDROID_PLATFORM-23.patch ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS diff --git a/ports/capnproto/undef-KJ_USE_EPOLL-for-ANDROID_PLATFORM-23.patch b/ports/capnproto/undef-KJ_USE_EPOLL-for-ANDROID_PLATFORM-23.patch new file mode 100644 index 00000000000000..6fdc15a1701ca7 --- /dev/null +++ b/ports/capnproto/undef-KJ_USE_EPOLL-for-ANDROID_PLATFORM-23.patch @@ -0,0 +1,28 @@ +From 306220e57881064da99f89ad4192b3e19c7953a9 Mon Sep 17 00:00:00 2001 +From: Stig Hornang +Date: Thu, 31 Aug 2023 21:20:09 +0200 +Subject: [PATCH] Undef KJ_USE_EPOLL for ANDROID_PLATFORM < 23 + +--- + c++/src/kj/async-unix.h | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/c++/src/kj/async-unix.h b/c++/src/kj/async-unix.h +index 665305ea..c5f195cf 100644 +--- a/c++/src/kj/async-unix.h ++++ b/c++/src/kj/async-unix.h +@@ -34,7 +34,10 @@ + KJ_BEGIN_HEADER + + #if !defined(KJ_USE_EPOLL) && !defined(KJ_USE_KQUEUE) +-#if __linux__ ++ ++// Android NDK less than API version 23 doesn't have sigtimedwait ++// sigtimedwait is used in async-unix.c++ if KJ_USE_EPOLL is defined ++#if __linux__ && !(__ANDROID__ && __ANDROID_API__ < 23) + // Default to epoll on Linux. + #define KJ_USE_EPOLL 1 + #elif __APPLE__ || __FreeBSD__ || __OpenBSD__ || __NetBSD__ || __DragonFly__ +-- +2.41.0.windows.3 + diff --git a/ports/capnproto/vcpkg.json b/ports/capnproto/vcpkg.json index 97a39f16cee938..7d671e4a99e11a 100644 --- a/ports/capnproto/vcpkg.json +++ b/ports/capnproto/vcpkg.json @@ -1,10 +1,11 @@ { "name": "capnproto", - "version": "0.9.1", + "version": "1.0.2", "port-version": 1, "description": "Data interchange format and capability-based RPC system", "homepage": "https://capnproto.org/", - "supports": "!uwp & !((arm | arm64) & windows)", + "license": "MIT", + "supports": "!windows | (!uwp & !arm)", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/capstone/001-silence-windows-crt-secure-warnings.patch b/ports/capstone/001-silence-windows-crt-secure-warnings.patch new file mode 100644 index 00000000000000..a2e99e919798e9 --- /dev/null +++ b/ports/capstone/001-silence-windows-crt-secure-warnings.patch @@ -0,0 +1,15 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f5f4448..5e5cc7e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -87,6 +87,10 @@ if(CAPSTONE_BUILD_STATIC_RUNTIME) + set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") + endif() + ++if(WIN32) ++ add_compile_definitions(_CRT_SECURE_NO_WARNINGS) ++endif() ++ + ## sources + set(SOURCES_ENGINE + cs.c diff --git a/ports/capstone/portfile.cmake b/ports/capstone/portfile.cmake index bd28511cfec6ca..0b7fd77296feb3 100644 --- a/ports/capstone/portfile.cmake +++ b/ports/capstone/portfile.cmake @@ -1,13 +1,14 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REF 4.0.2 - REPO "aquynh/capstone" - SHA512 7f93534517307b737422a8825b66b2a1f3e1cca2049465d60ab12595940154aaf843ba40ed348fce58de58b990c19a0caef289060eb72898cb008a88c470970e - HEAD_REF v4 + REPO "capstone-engine/capstone" + REF "${VERSION}" + SHA512 2fd3194dd37065e6091d208c7670b12c0ca6872931eef794bd6b2dd624601c843e8ee6c5714eae0372e394e91a9bc1e4de7dfea6b1087542dd461226569101de + HEAD_REF next + PATCHES + 001-silence-windows-crt-secure-warnings.patch ) -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" CS_BUILD_STATIC) -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" CS_BUILD_SHARED) +string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" STATIC_CRT) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES @@ -17,40 +18,35 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS "m680x" CAPSTONE_M680X_SUPPORT "m68k" CAPSTONE_M68K_SUPPORT "mips" CAPSTONE_MIPS_SUPPORT - "osxkernel" CAPSTONE_OSXKERNEL_SUPPORT "ppc" CAPSTONE_PPC_SUPPORT "sparc" CAPSTONE_SPARC_SUPPORT "sysz" CAPSTONE_SYSZ_SUPPORT "tms320c64x" CAPSTONE_TMS320C64X_SUPPORT "x86" CAPSTONE_X86_SUPPORT - "x86-reduce" CAPSTONE_X86_REDUCE "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_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DCAPSTONE_BUILD_STATIC=${CS_BUILD_STATIC} - -DCAPSTONE_BUILD_SHARED=${CS_BUILD_SHARED} + -DCAPSTONE_ARCHITECTURE_DEFAULT=OFF -DCAPSTONE_BUILD_TESTS=OFF -DCAPSTONE_BUILD_CSTOOL=OFF - -DCAPSTONE_BUILD_STATIC_RUNTIME=OFF - -DCAPSTONE_X86_ONLY=OFF + -DCAPSTONE_BUILD_STATIC_RUNTIME=${STATIC_CRT} ${FEATURE_OPTIONS} ) -vcpkg_install_cmake() +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(GLOB EXES ${CURRENT_PACKAGES_DIR}/bin/*.exe ${CURRENT_PACKAGES_DIR}/debug/bin/*.exe) -if(EXES) - file(REMOVE ${EXES}) -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}/debug/include") -file(INSTALL ${SOURCE_PATH}/LICENSE.TXT DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE.TXT" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/capstone/vcpkg.json b/ports/capstone/vcpkg.json index 770f479438cb16..ea4ede784e91d5 100644 --- a/ports/capstone/vcpkg.json +++ b/ports/capstone/vcpkg.json @@ -1,9 +1,18 @@ { "name": "capstone", - "version": "4.0.2", - "port-version": 2, + "version": "5.0.3", "description": "Multi-architecture disassembly framework", - "homepage": "https://github.com/aquynh/capstone", + "homepage": "https://github.com/capstone-engine/capstone", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], "features": { "arm": { "description": "Capstone disassembly support for ARM" @@ -11,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)" }, @@ -26,12 +38,15 @@ "mips": { "description": "Capstone disassembly support for MIPS" }, - "osxkernel": { - "description": "Support for emedding Capstone into OSX Kernel extensions" + "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" }, @@ -41,20 +56,15 @@ "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" }, - "x86-reduce": { - "description": "Capstone disassembly support for x86 without support for less used instructions", - "dependencies": [ - { - "name": "capstone", - "features": [ - "x86" - ] - } - ] - }, "xcore": { "description": "Capstone disassembly support for XCore" } diff --git a/ports/cargs/portfile.cmake b/ports/cargs/portfile.cmake new file mode 100644 index 00000000000000..7b69414b5d9672 --- /dev/null +++ b/ports/cargs/portfile.cmake @@ -0,0 +1,22 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO likle/cargs + REF "v${VERSION}" + SHA512 56877e330745369585b1b6ed274e8c898381439915048375a22a3fed077c1818b5d21356a33a77f516571d834a3fce7f78e509df63ce0f93b8276ac0a93df02a + HEAD_REF master +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DENABLE_TESTS=OFF +) + +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 new file mode 100644 index 00000000000000..54d51f1cca418c --- /dev/null +++ b/ports/cargs/vcpkg.json @@ -0,0 +1,16 @@ +{ + "name": "cargs", + "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": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/cartographer/fix-find-packages.patch b/ports/cartographer/fix-find-packages.patch index 59e433c5fff55b..a1336c8840e621 100644 --- a/ports/cartographer/fix-find-packages.patch +++ b/ports/cartographer/fix-find-packages.patch @@ -1,5 +1,5 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 2e3a686..f36f15a 100644 +index 2e3a686..ed161e4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -25,27 +25,33 @@ option(BUILD_GRPC "build Cartographer gRPC support" false) @@ -15,8 +15,9 @@ index 2e3a686..f36f15a 100644 find_package(Ceres REQUIRED COMPONENTS SuiteSparse) find_package(Eigen3 REQUIRED) -find_package(LuaGoogle REQUIRED) +-find_package(Protobuf 3.0.0 REQUIRED) +find_package(Lua REQUIRED) - find_package(Protobuf 3.0.0 REQUIRED) ++find_package(Protobuf REQUIRED) +find_package(glog REQUIRED) +find_package(gflags REQUIRED) @@ -80,7 +81,7 @@ index 2e3a686..f36f15a 100644 if(${BUILD_GRPC}) google_binary(cartographer_grpc_server -@@ -213,8 +219,9 @@ target_include_directories(${PROJECT_NAME} SYSTEM PUBLIC +@@ -213,18 +219,16 @@ 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. @@ -90,45 +91,38 @@ index 2e3a686..f36f15a 100644 +#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}) +-target_include_directories(${PROJECT_NAME} SYSTEM PUBLIC +- "${CAIRO_INCLUDE_DIRS}") + target_link_libraries(${PROJECT_NAME} PUBLIC ${CAIRO_LIBRARIES}) + +-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}) ++target_link_libraries(${PROJECT_NAME} PUBLIC protobuf::libprotobuf) 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}") +@@ -237,7 +241,7 @@ endif() + set(TARGET_COMPILE_FLAGS "${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) +- ++if(0) + set(TEST_LIB + cartographer_test_library + ) +@@ -265,7 +269,7 @@ foreach(ABS_FIL ${ALL_TESTS}) endif() -- target_link_libraries("${TEST_TARGET_NAME}" PUBLIC ${TEST_LIB}) -+ #target_link_libraries("${TEST_TARGET_NAME}" PUBLIC ${TEST_LIB}) + target_link_libraries("${TEST_TARGET_NAME}" PUBLIC ${TEST_LIB}) endforeach() - +- ++endif() # Add the binary directory first, so that port.h is included after it has + # been generated. + target_include_directories(${PROJECT_NAME} PUBLIC diff --git a/cartographer/common/math.h b/cartographer/common/math.h index c4a77ef..0248f66 100644 --- a/cartographer/common/math.h diff --git a/ports/cartographer/portfile.cmake b/ports/cartographer/portfile.cmake index 13e4a764195942..50cab69d0a98da 100644 --- a/ports/cartographer/portfile.cmake +++ b/ports/cartographer/portfile.cmake @@ -3,7 +3,7 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO googlecartographer/cartographer - REF 1.0.0 + REF ${VERSION} SHA512 4e3b38ee40d9758cbd51f087578b82efb7d1199b4b7696d31f45938ac06250caaea2b4d85ccb0a848c958ba187a0101ee95c87323ca236c613995b23b215041c HEAD_REF master PATCHES @@ -12,26 +12,19 @@ vcpkg_from_github( fix-cmake-location.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - -DGFLAGS_PREFER_EXPORTED_GFLAGS_CMAKE_CONFIGURATION=OFF - -DGLOG_PREFER_EXPORTED_GLOG_CMAKE_CONFIGURATION=OFF - -Dgtest_disable_pthreads=ON - -DCMAKE_USE_PTHREADS_INIT=OFF +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS_DEBUG -DFORCE_DEBUG_BUILD=True ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets() +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) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -# Handle copyright of cartographer -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/cartographer) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/cartographer/LICENSE ${CURRENT_PACKAGES_DIR}/share/cartographer/copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/cartographer/vcpkg.json b/ports/cartographer/vcpkg.json index 78acff4dd15afb..bfd1ce508cc22f 100644 --- a/ports/cartographer/vcpkg.json +++ b/ports/cartographer/vcpkg.json @@ -1,7 +1,7 @@ { "name": "cartographer", "version": "1.0.0", - "port-version": 4, + "port-version": 6, "description": "Google 2D & 3D SLAM package", "homepage": "https://github.com/googlecartographer/cartographer", "dependencies": [ @@ -17,6 +17,14 @@ "glog", "gtest", "lua", - "protobuf" + "protobuf", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/casadi/portfile.cmake b/ports/casadi/portfile.cmake new file mode 100644 index 00000000000000..70a497e318ae9c --- /dev/null +++ b/ports/casadi/portfile.cmake @@ -0,0 +1,41 @@ +# Currently no upstream support for static libraries +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO casadi/casadi + REF "${VERSION}" + SHA512 2c95368281f0bda385c6c451e361c168589f13aa66af6bc6fadf01f899bcd6c785ea7da3dee0fb5835559e58982e499182a4d244af3ea208ac05f672ea99cfd1 + HEAD_REF main +) + +# Pending upstream fix https://github.com/casadi/casadi/issues/3896 +set(VCPKG_POLICY_SKIP_ABSOLUTE_PATHS_CHECK enabled) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DWITH_SELFCONTAINED=OFF + -DWITH_TINYXML=OFF + -DWITH_BUILD_TINYXML=OFF + -DWITH_QPOASES=OFF + -DWITH_SUNDIALS=OFF + -DWITH_CSPARSE=OFF + -DLIB_PREFIX:PATH=lib + -DBIN_PREFIX:PATH=bin + -DINCLUDE_PREFIX:PATH=include + -DCMAKE_PREFIX:PATH=share/${PORT} +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") + +vcpkg_fixup_pkgconfig() + +configure_file("${CMAKE_CURRENT_LIST_DIR}/usage" "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" COPYONLY) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +vcpkg_copy_tools(TOOL_NAMES casadi-cli AUTO_CLEAN) diff --git a/ports/casadi/usage b/ports/casadi/usage new file mode 100644 index 00000000000000..cbec5b01f539ea --- /dev/null +++ b/ports/casadi/usage @@ -0,0 +1,5 @@ +casadi provides CMake targets: + + find_package(casadi CONFIG REQUIRED) + target_link_libraries(main PRIVATE $) + \ No newline at end of file diff --git a/ports/casadi/vcpkg.json b/ports/casadi/vcpkg.json new file mode 100644 index 00000000000000..683ce0fe949683 --- /dev/null +++ b/ports/casadi/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "casadi", + "version": "3.6.7", + "description": "CasADi is a symbolic framework for numeric optimization implementing automatic differentiation in forward and reverse modes on sparse matrix-valued computational graphs. It supports self-contained C-code generation and interfaces state-of-the-art codes such as SUNDIALS, IPOPT etc. It can be used from C++, Python or Matlab/Octave.", + "homepage": "http://casadi.org", + "license": "LGPL-3.0-only", + "dependencies": [ + { + "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 d53cc8124aea40..aeac11120a4366 100644 --- a/ports/casclib/portfile.cmake +++ b/ports/casclib/portfile.cmake @@ -1,21 +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=${CASC_UNICODE} ) vcpkg_cmake_install() diff --git a/ports/casclib/vcpkg.json b/ports/casclib/vcpkg.json index 99aa90327ce6b8..da8628631f7f4f 100644 --- a/ports/casclib/vcpkg.json +++ b/ports/casclib/vcpkg.json @@ -1,6 +1,6 @@ { "name": "casclib", - "version-date": "2021-11-16", + "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/catch-classic/vcpkg.json b/ports/catch-classic/vcpkg.json index bfe9b7ef4aee9d..75d76b103e1c4c 100644 --- a/ports/catch-classic/vcpkg.json +++ b/ports/catch-classic/vcpkg.json @@ -1,7 +1,7 @@ { "name": "catch-classic", - "version-string": "1.12.2", - "port-version": 1, + "version": "1.12.2", + "port-version": 2, "description": [ "A modern, header-only test framework for unit tests", "This is specifically the legacy 1.x branch provided for compatibility", diff --git a/ports/catch2/fix-install-path.patch b/ports/catch2/fix-install-path.patch index c60e74b93d9937..c89dacdb58556b 100644 --- a/ports/catch2/fix-install-path.patch +++ b/ports/catch2/fix-install-path.patch @@ -1,17 +1,7 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 0370ea3..7cef01a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -146,7 +146,7 @@ if (NOT_SUBPROJECT) - EXPORT - Catch2Targets - DESTINATION -- ${CMAKE_INSTALL_LIBDIR} -+ ${CMAKE_INSTALL_LIBDIR}/manual-link - ) - - -@@ -226,7 +226,7 @@ if (NOT_SUBPROJECT) +@@ -164,7 +164,7 @@ ## Provide some pkg-config integration set(PKGCONFIG_INSTALL_DIR @@ -20,3 +10,36 @@ index 0370ea3..7cef01a 100644 CACHE PATH "Path where catch2.pc is installed" ) configure_file( +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -401,16 +401,28 @@ + install( + TARGETS + Catch2 +- Catch2WithMain + EXPORT + Catch2Targets + LIBRARY DESTINATION + ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION + ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION + ${CMAKE_INSTALL_BINDIR} + ) ++ ++ install( ++ TARGETS ++ Catch2WithMain ++ EXPORT ++ Catch2Targets ++ LIBRARY DESTINATION ++ ${CMAKE_INSTALL_LIBDIR}/manual-link ++ ARCHIVE DESTINATION ++ ${CMAKE_INSTALL_LIBDIR}/manual-link ++ RUNTIME DESTINATION ++ ${CMAKE_INSTALL_BINDIR} ++ ) + + + install( diff --git a/ports/catch2/portfile.cmake b/ports/catch2/portfile.cmake index 140e1cba1f2fc2..e0174f57ecb49c 100644 --- a/ports/catch2/portfile.cmake +++ b/ports/catch2/portfile.cmake @@ -1,41 +1,39 @@ +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO catchorg/Catch2 - REF v2.13.7 - SHA512 1c3cbdecc6a3b59360a97789c4784d79d027e1b63bdc42b0e152c3272f7bad647fcd1490aa5caf67f968a6311dc9624b5a70d5eb3fbc1d5179d520e09b76c9ed - HEAD_REF master - PATCHES fix-install-path.patch + REF v${VERSION} + SHA512 e04c676e6bb3d7791f51a1caa770c4675d79b5396c9ba029c01ca0938e53bfa374dce117fccf753a89f3663192c91356acc9bc195e4866d215855df0667faff0 + HEAD_REF devel + PATCHES + fix-install-path.patch ) -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC) - vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DBUILD_TESTING=OFF - -DCATCH_BUILD_EXAMPLES=OFF - -DCATCH_BUILD_STATIC_LIBRARY=${BUILD_STATIC} + -DCATCH_INSTALL_DOCS=OFF + -DCMAKE_CXX_STANDARD=17 ) vcpkg_cmake_install() -if (NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - file(RENAME "${CURRENT_PACKAGES_DIR}/share/Catch2" "${CURRENT_PACKAGES_DIR}/share/catch2_") - file(RENAME "${CURRENT_PACKAGES_DIR}/share/catch2_" "${CURRENT_PACKAGES_DIR}/share/catch2") -endif() -if (NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(RENAME "${CURRENT_PACKAGES_DIR}/debug/share/Catch2" "${CURRENT_PACKAGES_DIR}/debug/share/catch2_") - file(RENAME "${CURRENT_PACKAGES_DIR}/debug/share/catch2_" "${CURRENT_PACKAGES_DIR}/debug/share/catch2") -endif() -vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/Catch2") +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/Catch2) vcpkg_fixup_pkgconfig() +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/catch2-with-main.pc" [["-L${libdir}"]] [["-L${libdir}/manual-link"]]) +if(NOT VCPKG_BUILD_TYPE) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/catch2-with-main.pc" [["-L${libdir}"]] [["-L${libdir}/manual-link"]]) +endif() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -if(NOT EXISTS "${CURRENT_PACKAGES_DIR}/include/catch2/catch.hpp") - message(FATAL_ERROR "Main includes have moved. Please update the forwarder.") -endif() +# We remove these folders because they are empty and cause warnings on the library installation +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/catch2/benchmark/internal") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/catch2/generators/internal") -file(WRITE "${CURRENT_PACKAGES_DIR}/include/catch.hpp" "#include ") -file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +file(WRITE "${CURRENT_PACKAGES_DIR}/include/catch.hpp" "#include ") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") diff --git a/ports/catch2/vcpkg.json b/ports/catch2/vcpkg.json index 83dd9ff3df7a61..1c34870dbc91b5 100644 --- a/ports/catch2/vcpkg.json +++ b/ports/catch2/vcpkg.json @@ -1,9 +1,9 @@ { "name": "catch2", - "version-semver": "2.13.7", - "port-version": 1, - "description": "A modern, header-only test framework for unit testing.", + "version-semver": "3.7.1", + "description": "A modern, C++-native, test framework for unit-tests, TDD and BDD.", "homepage": "https://github.com/catchorg/Catch2", + "license": "BSL-1.0", "dependencies": [ { "name": "vcpkg-cmake", 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/ccd/portfile.cmake b/ports/ccd/portfile.cmake index c2c294d56d8cc6..d5055a0aae9ef6 100644 --- a/ports/ccd/portfile.cmake +++ b/ports/ccd/portfile.cmake @@ -14,22 +14,27 @@ vcpkg_from_github( ${STATIC_PATCH} ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + double-precision ENABLE_DOUBLE_PRECISION +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_TESTING=OFF + ${FEATURE_OPTIONS} ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/ccd) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/ccd) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -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(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/doc") -file(INSTALL ${SOURCE_PATH}/BSD-LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/BSD-LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) vcpkg_fixup_pkgconfig() diff --git a/ports/ccd/vcpkg.json b/ports/ccd/vcpkg.json index 15978fb00201ad..5716257df99f83 100644 --- a/ports/ccd/vcpkg.json +++ b/ports/ccd/vcpkg.json @@ -1,7 +1,23 @@ { "name": "ccd", - "version-string": "2.1-4", - "port-version": 3, + "version": "2.1", + "port-version": 4, "description": "Library for collision detection between two convex shapes", - "homepage": "https://github.com/danfis/libccd" + "homepage": "https://github.com/danfis/libccd", + "license": "BSD-3-Clause", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "double-precision": { + "description": "Use float64 doubles for ccd" + } + } } diff --git a/ports/ccfits/dll_exports.patch b/ports/ccfits/dll_exports.patch index 6321cbb4e42393..0f34c26e52bf56 100644 --- a/ports/ccfits/dll_exports.patch +++ b/ports/ccfits/dll_exports.patch @@ -311,45 +311,26 @@ new file mode 100644 index 0000000..a2540a6 100644 --- /dev/null +++ b/ccfits_export.h -@@ -0,0 +1,41 @@ +@@ -0,0 +1,22 @@ +#ifndef CCFITS_EXPORT_H +#define CCFITS_EXPORT_H + +#ifdef CCFITS_STATIC_DEFINE +# define CCFITS_EXPORT -+# define CCFITS_NO_EXPORT +#else +# ifndef CCFITS_EXPORT -+# ifdef CCfits_EXPORTS -+ /* We are building this library */ -+# define CCFITS_EXPORT __declspec(dllexport) ++# ifdef _MSC_VER ++# ifdef CCfits_EXPORTS ++ /* We are building this library */ ++# define CCFITS_EXPORT __declspec(dllexport) ++# else ++ /* We are using this library */ ++# define CCFITS_EXPORT __declspec(dllimport) ++# endif +# else -+ /* We are using this library */ -+# define CCFITS_EXPORT __declspec(dllimport) ++# define CCFITS_EXPORT __attribute__((visibility("default"))) +# endif +# endif -+ -+# ifndef CCFITS_NO_EXPORT -+# define CCFITS_NO_EXPORT -+# endif -+#endif -+ -+#ifndef CCFITS_DEPRECATED -+# define CCFITS_DEPRECATED __declspec(deprecated) -+#endif -+ -+#ifndef CCFITS_DEPRECATED_EXPORT -+# define CCFITS_DEPRECATED_EXPORT CCFITS_EXPORT CCFITS_DEPRECATED -+#endif -+ -+#ifndef CCFITS_DEPRECATED_NO_EXPORT -+# define CCFITS_DEPRECATED_NO_EXPORT CCFITS_NO_EXPORT CCFITS_DEPRECATED -+#endif -+ -+#if 0 /* DEFINE_NO_DEPRECATED */ -+# ifndef CCFITS_NO_DEPRECATED -+# define CCFITS_NO_DEPRECATED -+# endif +#endif + +#endif diff --git a/ports/ccfits/portfile.cmake b/ports/ccfits/portfile.cmake index 7c1f7e88afcb3e..103ce90d0306bb 100644 --- a/ports/ccfits/portfile.cmake +++ b/ports/ccfits/portfile.cmake @@ -4,9 +4,9 @@ vcpkg_download_distfile(ARCHIVE SHA512 63ab4d153063960510cf60651d5c832824cf85f937f84adc5390c7c2fb46eb8e9f5d8cda2554d79d24c7a4f1b6cf0b7a6e20958fb69920b65d7c362c0a5f26b5 ) -vcpkg_extract_source_archive_ex( +vcpkg_extract_source_archive( + SOURCE_PATH ARCHIVE "${ARCHIVE}" - OUT_SOURCE_PATH SOURCE_PATH PATCHES dll_exports.patch fix-dependency.patch @@ -14,15 +14,19 @@ vcpkg_extract_source_archive_ex( vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DCMAKE_CXX_STANDARD=11 # 17 removes std::binary_function ) vcpkg_cmake_install() if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/bin") - file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/bin") file(RENAME "${CURRENT_PACKAGES_DIR}/lib/CCfits.dll" "${CURRENT_PACKAGES_DIR}/bin/CCfits.dll") - file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/CCfits.dll" "${CURRENT_PACKAGES_DIR}/debug/bin/CCfits.dll") + if(NOT VCPKG_BUILD_TYPE) + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/bin") + file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/CCfits.dll" "${CURRENT_PACKAGES_DIR}/debug/bin/CCfits.dll") + endif() endif() # Remove duplicate include files @@ -31,11 +35,11 @@ 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 "#include \"longnam.h\"" "#include \"cfitsio/longnam.h\"" ) -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/ccfits/vcpkg.json b/ports/ccfits/vcpkg.json index 7124381b9978bd..4e90d192c03f41 100644 --- a/ports/ccfits/vcpkg.json +++ b/ports/ccfits/vcpkg.json @@ -1,9 +1,10 @@ { "name": "ccfits", "version": "2.5", - "port-version": 8, + "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", "dependencies": [ "cfitsio", { diff --git a/ports/cctag/portfile.cmake b/ports/cctag/portfile.cmake index a217d98f7c6520..8e4bf6918a9dd9 100644 --- a/ports/cctag/portfile.cmake +++ b/ports/cctag/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO alicevision/cctag - REF v1.0.1 - SHA512 94992141094162d44cf45ad85324517638bf794d693c6a059d6ba5d5ccbedea4f98664a0cc49ebca78f85d2860b637dfcb9d5315114493643a6c7f8fabab3073 + REF "v${VERSION}" + SHA512 65f8260213faab1965ff97e38b890d85f5599c5db5f50f09ab1ed2d73d7008d2e93693145d66a4d9af6342666817204736c3b0384885fa50402850f1dc5dceae HEAD_REF develop ) @@ -13,9 +13,7 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS ) if("cuda" IN_LIST FEATURES) - include(${CURRENT_INSTALLED_DIR}/share/cuda/vcpkg_find_cuda.cmake) vcpkg_find_cuda(OUT_CUDA_TOOLKIT_ROOT CUDA_TOOLKIT_ROOT) - message(STATUS "CUDA_TOOLKIT_ROOT ${CUDA_TOOLKIT_ROOT}") endif() @@ -30,7 +28,7 @@ vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/CCTag) vcpkg_copy_pdbs() -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") # remove test files file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/cctag/geometry/test" "${CURRENT_PACKAGES_DIR}/include/cctag/test") @@ -45,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/cctag RENAME copyright) \ No newline at end of file +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING.md") diff --git a/ports/cctag/vcpkg.json b/ports/cctag/vcpkg.json index 37d3e6460952d1..0977cbca51401b 100644 --- a/ports/cctag/vcpkg.json +++ b/ports/cctag/vcpkg.json @@ -1,11 +1,12 @@ { "name": "cctag", - "version-semver": "1.0.1", + "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", "documentation": "https://cctag.readthedocs.io/", - "supports": "!(uwp | arm | arm64 | android | x86)", + "license": "MPL-2.0", + "supports": "!(uwp | arm | arm64 | android | x86 | xbox)", "dependencies": [ "boost-accumulators", "boost-algorithm", @@ -13,9 +14,15 @@ "boost-date-time", "boost-exception", "boost-filesystem", + "boost-foreach", "boost-iterator", "boost-lexical-cast", - "boost-math", + { + "name": "boost-math", + "features": [ + "legacy" + ] + }, "boost-mpl", "boost-multi-array", "boost-program-options", @@ -31,7 +38,7 @@ "boost-type-traits", "boost-unordered", "eigen3", - "opencv3", + "opencv", "tbb", { "name": "vcpkg-cmake", diff --git a/ports/cctz/CMakeLists.txt b/ports/cctz/CMakeLists.txt deleted file mode 100644 index e21b1ca680e3de..00000000000000 --- a/ports/cctz/CMakeLists.txt +++ /dev/null @@ -1,40 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(cctz CXX) - -set(CMAKE_CXX_STANDARD 14) - -set(CMAKE_DEBUG_POSTFIX d) - -if(CMAKE_BUILD_TYPE STREQUAL "Release") - option(INSTALL_HEADERS "Install header files" ON) -else() - option(INSTALL_HEADERS "Install header files" OFF) -endif() - -find_package(benchmark CONFIG REQUIRED) - -file(GLOB SOURCES src/*.cc) -list(FILTER SOURCES EXCLUDE REGEX "_test.cc$|benchmarks|_tool.cc$") - -file(GLOB HEADERS include/cctz/*.h) - -add_library(cctz ${SOURCES}) -target_include_directories(cctz PUBLIC $ $) -target_link_libraries(cctz PRIVATE benchmark::benchmark benchmark::benchmark_main) - -if(INSTALL_HEADERS) - install(FILES ${HEADERS} DESTINATION "include/cctz") -endif() - -install(TARGETS cctz EXPORT unofficial-cctz-targets - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib -) - -install( - EXPORT unofficial-cctz-targets - FILE unofficial-cctz-config.cmake - NAMESPACE unofficial:: - DESTINATION share/unofficial-cctz -) diff --git a/ports/cctz/portfile.cmake b/ports/cctz/portfile.cmake index 195af4fe6c1765..5457d5939cbb78 100644 --- a/ports/cctz/portfile.cmake +++ b/ports/cctz/portfile.cmake @@ -1,28 +1,24 @@ -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 google/cctz - REF v2.3 - SHA512 e688ddac1bff108e8315bf94cb61483b72b0d16f601e4e1eeb0fd5c064aefe5a573eee66e8903401aa4c2be71ea9f10dd6c9a9cdf8379f5bb6073248a21a83ff + REF "v${VERSION}" + SHA512 6d50fe5263b66f93bc3f9aee0da395352d0e95187e6a761afd1b82a461c127823fe93e06139e9d8989f24875b70de3058aab6e66639b408c7930f117e1815e5e HEAD_REF master ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_TOOLS=OFF + -DBUILD_EXAMPLES=OFF + -DBUILD_TESTING=OFF ) -vcpkg_install_cmake() - -vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-cctz TARGET_PATH share/unofficial-cctz) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${PORT}") -vcpkg_copy_pdbs() +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/cctz RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") diff --git a/ports/cctz/vcpkg.json b/ports/cctz/vcpkg.json index aaf937dfb04e78..a74fb5c6417ab0 100644 --- a/ports/cctz/vcpkg.json +++ b/ports/cctz/vcpkg.json @@ -1,10 +1,16 @@ { "name": "cctz", - "version-string": "2.3", - "port-version": 3, + "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": [ - "benchmark" + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } 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 new file mode 100644 index 00000000000000..60b1312c2634c1 --- /dev/null +++ b/ports/cdt/portfile.cmake @@ -0,0 +1,32 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO artem-ogre/CDT + REF "${VERSION}" + SHA512 9b21553c6f377b257ef408d7f77e9b564175fdbe33dd5fdce6ddeb0aece258a5d77b00ad054d22dfa712952ba38a6717ef7b0a01b8950f97b073f6ebd81c3dd4 + HEAD_REF master +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + "64-bit-index-type" CDT_USE_64_BIT_INDEX_TYPE + "as-compiled-library" CDT_USE_AS_COMPILED_LIBRARY +) + +if (NOT CDT_USE_AS_COMPILED_LIBRARY) + set(VCPKG_BUILD_TYPE "release") # header-only +endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/CDT" + OPTIONS + ${FEATURE_OPTIONS} +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH cmake) + +if (CDT_USE_AS_COMPILED_LIBRARY) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +endif() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/cdt/vcpkg.json b/ports/cdt/vcpkg.json new file mode 100644 index 00000000000000..151da99a3e0ca3 --- /dev/null +++ b/ports/cdt/vcpkg.json @@ -0,0 +1,25 @@ +{ + "name": "cdt", + "version": "1.4.1", + "description": "Constrained Delaunay Triangulation", + "homepage": "https://github.com/artem-ogre/CDT.git", + "license": "MPL-2.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "64-bit-index-type": { + "description": "64bits are used to store vertex/triangle index types" + }, + "as-compiled-library": { + "description": "Templates for float and double will be instantiated and compiled into a library" + } + } +} diff --git a/ports/celero/fix-bin-install-path.patch b/ports/celero/fix-bin-install-path.patch new file mode 100644 index 00000000000000..3a73c36005200d --- /dev/null +++ b/ports/celero/fix-bin-install-path.patch @@ -0,0 +1,17 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 0158c4f..5be0fbc 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -220,9 +220,11 @@ install( + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} + ) + install( + TARGETS celero +- DESTINATION ${CMAKE_INSTALL_LIBDIR} + EXPORT celero-targets ++ RUNTIME DESTINATION bin ++ LIBRARY DESTINATION lib ++ ARCHIVE DESTINATION lib + ) + install( + EXPORT celero-targets diff --git a/ports/celero/portfile.cmake b/ports/celero/portfile.cmake index e39bac92d716df..a14db385bbfede 100644 --- a/ports/celero/portfile.cmake +++ b/ports/celero/portfile.cmake @@ -1,33 +1,33 @@ +vcpkg_minimum_required(VERSION 2022-10-12) # for ${VERSION} + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO DigitalInBlue/Celero - REF 6208b63dcd4baeea6817d3e84f79fb04ad99c720 #2.8.2 - SHA512 13a486dafba394cc3e072292008d00e8a3e1b12b4fe7c82cf2ce43b3d24629d08b5762494c19da0a12b186a70114cba101553ed1b4cea90d090514307b06dec8 + REF "v${VERSION}" + SHA512 17bb1525b2e02a78739f2c530aa8453e07ca4c803568264aeb7d99f219244f361bcfd4f7e2bf13b3b06e5da0581a5abe93b94e8efda4dac6b092afa9e65cd1df HEAD_REF master + PATCHES + fix-bin-install-path.patch ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" CELERO_COMPILE_DYNAMIC_LIBRARIES) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA # Disable this option if project cannot be built with Ninja +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DCELERO_ENABLE_EXPERIMENTS=OFF -DCELERO_ENABLE_TESTS=OFF - -DCELERO_RUN_EXAMPLE_ON_BUILD=OFF -DCELERO_COMPILE_DYNAMIC_LIBRARIES=${CELERO_COMPILE_DYNAMIC_LIBRARIES} - -DCELERO_TREAT_WARNINGS_AS_ERRORS=OFF + -DCELERO_ENABLE_WARNINGS_AS_ERRORS=OFF ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH share) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${PORT}") -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/include/celero/Export.h "ifdef CELERO_STATIC" "if 1") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/celero/Export.h" "#ifdef CELERO_STATIC" "#define CELERO_STATIC\n#ifdef CELERO_STATIC") endif() -file(RENAME ${CURRENT_PACKAGES_DIR}/share/celero/celero-target.cmake ${CURRENT_PACKAGES_DIR}/share/celero/celero-config.cmake) - -file(INSTALL ${SOURCE_PATH}/license.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/license.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/celero/vcpkg.json b/ports/celero/vcpkg.json index 5296cfa17d4032..01c919f64ba1c0 100644 --- a/ports/celero/vcpkg.json +++ b/ports/celero/vcpkg.json @@ -1,7 +1,17 @@ { "name": "celero", - "version-string": "2.8.2", - "port-version": 1, - "description": "Celero is a modern cross-platform (Windows, Linux, MacOS) Microbenchmarking library for C++.", - "homepage": "https://github.com/DigitalInBlue/Celero" + "version": "2.9.0", + "description": "Celero is a modern cross-platform (Windows, Linux, MacOS) Microbenchmarking library for C++ 11 and later.", + "homepage": "https://github.com/DigitalInBlue/Celero", + "license": "Apache-2.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } 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/portfile.cmake b/ports/cello/portfile.cmake index 279d5c4a86c35a..59a0497e5e3912 100644 --- a/ports/cello/portfile.cmake +++ b/ports/cello/portfile.cmake @@ -8,20 +8,19 @@ vcpkg_from_github( HEAD_REF master ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-${PORT} TARGET_PATH share/unofficial-${PORT}) +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-${PORT}) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") # Handle copyright -configure_file(${SOURCE_PATH}/LICENSE.md ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) +configure_file("${SOURCE_PATH}/LICENSE.md" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) diff --git a/ports/cello/vcpkg.json b/ports/cello/vcpkg.json index ebb509e68f4ac3..58a8aebf3b680f 100644 --- a/ports/cello/vcpkg.json +++ b/ports/cello/vcpkg.json @@ -1,7 +1,18 @@ { "name": "cello", - "version-string": "2019-07-23", - "port-version": 1, + "version-date": "2019-07-23", + "port-version": 4, "description": "Higher level programming in C", - "homepage": "http://libcello.org/" + "homepage": "https://libcello.org/", + "license": "BSD-2-Clause-Views", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/cereal/portfile.cmake b/ports/cereal/portfile.cmake index 833655e6d1f294..cf667b6f3740ca 100644 --- a/ports/cereal/portfile.cmake +++ b/ports/cereal/portfile.cmake @@ -3,24 +3,23 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO USCiLab/cereal - REF v1.3.0 - SHA512 2bb640a222d4efe7c624c6ec3e755fecae00ef59e91c4db462e233546c5afe73c065ba1d16d9600f7cd3cc185593109148008b0b2b870208e2f1d6984fd40c72 + REF v1.3.2 + SHA512 98d306d6292789129675f1c5c5aedcb90cfcc1029c4482893a8f9b23f3c9755e5ed4762d7a528f215345cae6392e87cd8d89467115b6f031b41c8673d6b4b109 HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DJUST_INSTALL_CEREAL=ON ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/cereal) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/cereal) # Clean -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") # Handle copyright -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/cereal) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/cereal/LICENSE ${CURRENT_PACKAGES_DIR}/share/cereal/copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/cereal/vcpkg.json b/ports/cereal/vcpkg.json index 432b330e26a826..aface78b9abcc3 100644 --- a/ports/cereal/vcpkg.json +++ b/ports/cereal/vcpkg.json @@ -1,7 +1,18 @@ { "name": "cereal", - "version-string": "1.3.0", + "version": "1.3.2", "port-version": 1, "description": "a header-only C++11 serialization library (built in support for binary, XML and JSon)", - "homepage": "https://github.com/USCiLab/cereal" + "homepage": "https://github.com/USCiLab/cereal", + "license": "BSD-3-Clause", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/ceres/0002_use_glog_target.patch b/ports/ceres/0002_use_glog_target.patch index 5405ea53df2fb5..01ac27d4aa1575 100644 --- a/ports/ceres/0002_use_glog_target.patch +++ b/ports/ceres/0002_use_glog_target.patch @@ -1,11 +1,11 @@ diff --git a/internal/ceres/CMakeLists.txt b/internal/ceres/CMakeLists.txt -index 3711222..8646bd0 100644 +index 0e33263..299b373 100644 --- a/internal/ceres/CMakeLists.txt +++ b/internal/ceres/CMakeLists.txt -@@ -174,17 +174,9 @@ endif (SCHUR_SPECIALIZATIONS) +@@ -101,17 +101,9 @@ endif() find_package(Threads QUIET) list(APPEND CERES_LIBRARY_PUBLIC_DEPENDENCIES Threads::Threads) - + -if (NOT MINIGLOG AND GLOG_FOUND) - list(APPEND CERES_LIBRARY_PUBLIC_DEPENDENCIES ${GLOG_LIBRARIES}) - if (gflags_FOUND) @@ -21,5 +21,5 @@ index 3711222..8646bd0 100644 + list(APPEND CERES_LIBRARY_PUBLIC_DEPENDENCIES glog::glog) +endif (NOT MINIGLOG) - if (SUITESPARSE AND SUITESPARSE_FOUND) + if (SUITESPARSE AND SuiteSparse_FOUND) # Define version information for use in Solver::FullReport. diff --git a/ports/ceres/0003_fix_exported_ceres_config.patch b/ports/ceres/0003_fix_exported_ceres_config.patch index 332ef595284066..9505707da17908 100644 --- a/ports/ceres/0003_fix_exported_ceres_config.patch +++ b/ports/ceres/0003_fix_exported_ceres_config.patch @@ -1,9 +1,9 @@ diff --git a/cmake/CeresConfig.cmake.in b/cmake/CeresConfig.cmake.in -index e5e2976..be1083a 100644 +index 4745483..b55462d 100644 --- a/cmake/CeresConfig.cmake.in +++ b/cmake/CeresConfig.cmake.in -@@ -213,55 +213,13 @@ else (EIGEN3_FOUND) - endif (EIGEN3_FOUND) +@@ -217,55 +217,14 @@ else (Eigen3_FOUND) + endif (Eigen3_FOUND) # glog (and maybe gflags). -# @@ -35,15 +35,15 @@ index e5e2976..be1083a 100644 - # Search quietly s/t we control the timing of the error message if not found. - find_package(Glog QUIET) - endif() -+include (CMakeFindDependencyMacro) -+find_dependency (glog NO_MODULE) - 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) @@ -59,7 +59,7 @@ index e5e2976..be1083a 100644 -endif(CERES_USES_MINIGLOG) +# SuiteSparse +if (@SUITESPARSE@) -+ find_dependency(suitesparse CONFIG) ++ find_dependency(SuiteSparse CONFIG) +endif() # Import exported Ceres targets, if they have not already been imported. diff --git a/ports/ceres/0004_fix_lib_path_linux.patch b/ports/ceres/0004_fix_lib_path_linux.patch deleted file mode 100644 index e2c9c56b4ffba1..00000000000000 --- a/ports/ceres/0004_fix_lib_path_linux.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index f24ce30..8e5759b 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -192,7 +192,7 @@ endif() - # install native libraries to lib64 rather than lib. Most distros seem to - # follow this convention with a couple notable exceptions (Debian-based and - # Arch-based distros) which we try to detect here. --if (CMAKE_SYSTEM_NAME MATCHES "Linux" AND -+if (0 AND CMAKE_SYSTEM_NAME MATCHES "Linux" AND - NOT DEFINED LIB_SUFFIX AND - NOT CMAKE_CROSSCOMPILING AND - CMAKE_SIZEOF_VOID_P EQUAL "8" AND diff --git a/ports/ceres/find-package-required.patch b/ports/ceres/find-package-required.patch index aae9cccdd47aa3..07785dd137e521 100644 --- a/ports/ceres/find-package-required.patch +++ b/ports/ceres/find-package-required.patch @@ -1,9 +1,9 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index b6a3d05..a78c027 100644 +index 2d241fe..b79454d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -245,7 +245,7 @@ if (EIGEN3_FOUND) - endif (EIGEN3_FOUND) +@@ -244,7 +244,7 @@ else (CUDA) + endif (CUDA) if (LAPACK) - find_package(LAPACK QUIET) @@ -11,48 +11,102 @@ index b6a3d05..a78c027 100644 if (LAPACK_FOUND) message("-- Found LAPACK library: ${LAPACK_LIBRARIES}") else (LAPACK_FOUND) -@@ -263,7 +263,7 @@ if (SUITESPARSE) +@@ -266,7 +266,8 @@ if (SUITESPARSE) # built with SuiteSparse support. # Check for SuiteSparse and dependencies. -- find_package(SuiteSparse) -+ find_package(SuiteSparse REQUIRED) - if (SUITESPARSE_FOUND) - # On Ubuntu the system install of SuiteSparse (v3.4.0) up to at least - # Ubuntu 13.10 cannot be used to link shared libraries. -@@ -300,7 +300,7 @@ endif (SUITESPARSE) +- 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) + if (CXSparse_FOUND) + set(CXSparse_DEPENDENCY "find_dependency(CXSparse ${CXSparse_VERSION})") # By default, if CXSparse and all dependencies are found, Ceres is - # built with CXSparse support. -@@ -336,7 +336,7 @@ endif(NOT SUITESPARSE AND NOT CXSPARSE AND NOT EIGENSPARSE) +@@ -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 REQUIRED) ++ find_package(gflags CONFIG REQUIRED) if (gflags_FOUND) - if (TARGET gflags) +- if (TARGET gflags) ++ if (TARGET gflags::gflags) ++ add_library(gflags ALIAS gflags::gflags) message("-- Found Google Flags (gflags) version ${gflags_VERSION}: ${gflags_DIR}") -@@ -537,7 +537,7 @@ else (NOT OPENMP AND NOT TBB AND NOT CXX11_THREADS) - set_ceres_threading_model("${CERES_THREADING_MODEL}") + 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) -- find_package(benchmark QUIET) -+ find_package(benchmark REQUIRED) + # 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() -@@ -782,7 +782,7 @@ if (BUILD_DOCUMENTATION) - set(CERES_DOCS_INSTALL_DIR "share/doc/ceres" CACHE STRING - "Ceres docs install path relative to CMAKE_INSTALL_PREFIX") +@@ -611,7 +613,7 @@ create_ceres_config("${CERES_COMPILE_OPTIONS}" + add_subdirectory(internal/ceres) -- find_package(Sphinx QUIET) + if (BUILD_DOCUMENTATION) +- find_package(Sphinx) + find_package(Sphinx REQUIRED) if (NOT SPHINX_FOUND) - message("-- Failed to find Sphinx, disabling build of documentation.") + 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 d0500faef27a05..6f856bed4bec59 100644 --- a/ports/ceres/portfile.cmake +++ b/ports/ceres/portfile.cmake @@ -1,7 +1,7 @@ set(MSVC_USE_STATIC_CRT_VALUE OFF) if(VCPKG_CRT_LINKAGE STREQUAL "static") if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - message(FATAL_ERROR "Ceres does not currently support mixing static CRT and dynamic library linkage") + message(FATAL_ERROR "Ceres does not support mixing static CRT and dynamic library linkage") endif() set(MSVC_USE_STATIC_CRT_VALUE ON) endif() @@ -9,37 +9,52 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ceres-solver/ceres-solver - REF 2.0.0 - SHA512 6379666ef57af4ea85026644fa21365ce18fbaa12d50bd452bcdae0743a7b013effdd42c961e90c31815991bf315bd6904553dcc1a382ff5ed8c7abe9edf9a6c + REF f68321e7de8929fbcdb95dd42877531e64f72f66 #2.1.0 + SHA512 67bbd8a9385a40fe69d118fbc84da0fcc9aa1fbe14dd52f5403ed09686504213a1d931e95a1a0148d293b27ab5ce7c1d618fbf2e8fed95f2bbafab851a1ef449 HEAD_REF master PATCHES 0001_cmakelists_fixes.patch 0002_use_glog_target.patch 0003_fix_exported_ceres_config.patch - 0004_fix_lib_path_linux.patch find-package-required.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) -file(REMOVE ${SOURCE_PATH}/cmake/FindSuiteSparse.cmake) +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") +file(REMOVE "${SOURCE_PATH}/cmake/FindSuiteSparse.cmake") +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 + "cuda" CUDA ) +if(VCPKG_TARGET_IS_UWP) + list(APPEND FEATURE_OPTIONS -DMINIGLOG=ON) +endif() + +foreach (FEATURE ${FEATURE_OPTIONS}) + message(STATUS "${FEATURE}") +endforeach() + +set(TARGET_OPTIONS ) +if(VCPKG_TARGET_IS_IOS) + # Note: CMake uses "OSX" not just for macOS, but also iOS, watchOS and tvOS. + list(APPEND TARGET_OPTIONS "-DIOS_DEPLOYMENT_TARGET=${VCPKG_OSX_DEPLOYMENT_TARGET}") +endif() -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${FEATURE_OPTIONS} + ${TARGET_OPTIONS} -DEXPORT_BUILD_DIR=ON -DBUILD_BENCHMARKS=OFF -DBUILD_EXAMPLES=OFF @@ -50,37 +65,13 @@ vcpkg_configure_cmake( -DLIB_SUFFIX=${LIB_SUFFIX} ) -vcpkg_install_cmake() +vcpkg_cmake_install() -if(VCPKG_TARGET_IS_WINDOWS) - vcpkg_fixup_cmake_targets(CONFIG_PATH CMake) -else() - vcpkg_fixup_cmake_targets(CONFIG_PATH lib${LIB_SUFFIX}/cmake/Ceres) -endif() -file(READ ${CURRENT_PACKAGES_DIR}/share/ceres/CeresConfig.cmake CERES_CONFIG) -string(REPLACE "set_target_properties(ceres PROPERTIES INTERFACE_LINK_LIBRARIES Ceres::ceres)" - "set_target_properties(ceres PROPERTIES INTERFACE_LINK_LIBRARIES Ceres::ceres) - set(CMAKE_CXX_STANDARD 14) - set(CMAKE_CXX_STANDARD_REQUIRED ON)" CERES_CONFIG "${CERES_CONFIG}") -file(WRITE ${CURRENT_PACKAGES_DIR}/share/ceres/CeresConfig.cmake "${CERES_CONFIG}") +vcpkg_cmake_config_fixup(CONFIG_PATH "lib${LIB_SUFFIX}/cmake/Ceres") vcpkg_copy_pdbs() -# Changes target search path -if(VCPKG_TARGET_IS_WINDOWS) - file(READ ${CURRENT_PACKAGES_DIR}/share/ceres/CeresConfig.cmake CERES_TARGETS) - string(REPLACE "get_filename_component(CURRENT_ROOT_INSTALL_DIR\n \${CERES_CURRENT_CONFIG_DIR}/../" - "get_filename_component(CURRENT_ROOT_INSTALL_DIR\n \${CERES_CURRENT_CONFIG_DIR}/../../" CERES_TARGETS "${CERES_TARGETS}") - file(WRITE ${CURRENT_PACKAGES_DIR}/share/ceres/CeresConfig.cmake "${CERES_TARGETS}") -else() - file(READ ${CURRENT_PACKAGES_DIR}/share/ceres/CeresConfig.cmake CERES_TARGETS) - string(REPLACE "get_filename_component(CURRENT_ROOT_INSTALL_DIR\n \${CERES_CURRENT_CONFIG_DIR}/../../../" - "get_filename_component(CURRENT_ROOT_INSTALL_DIR\n \${CERES_CURRENT_CONFIG_DIR}/../../" CERES_TARGETS "${CERES_TARGETS}") - file(WRITE ${CURRENT_PACKAGES_DIR}/share/ceres/CeresConfig.cmake "${CERES_TARGETS}") -endif() - -# Clean -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") file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/ceres/vcpkg.json b/ports/ceres/vcpkg.json index b1be6bde6f749c..d7471df4d44fb0 100644 --- a/ports/ceres/vcpkg.json +++ b/ports/ceres/vcpkg.json @@ -1,20 +1,41 @@ { "name": "ceres", - "version-semver": "2.0.0", + "version": "2.1.0", "port-version": 5, "description": "non-linear optimization package", "homepage": "https://github.com/ceres-solver/ceres-solver", + "license": "Apache-2.0", "dependencies": [ "eigen3", - "glog" + { + "name": "glog", + "platform": "!(arm & uwp)" + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ], "features": { + "cuda": { + "description": "Support for CUDA based dense solvers", + "supports": "linux | (!osx & !uwp & !(arm64 & windows))", + "dependencies": [ + "cuda" + ] + }, "cxsparse": { "description": "CXSparse support for Ceres", "dependencies": [ { - "name": "suitesparse", - "default-features": false + "name": "ceres", + "features": [ + "suitesparse" + ] } ] }, @@ -27,6 +48,9 @@ "lapack" ] }, + "schur": { + "description": "Enable fixed-size Schur specializations in Ceres" + }, "suitesparse": { "description": "SuiteSparse support for Ceres", "dependencies": [ diff --git a/ports/cfitsio/0005-fix-link2019-error.patch b/ports/cfitsio/0005-fix-link2019-error.patch new file mode 100644 index 00000000000000..0ab5886985ca9b --- /dev/null +++ b/ports/cfitsio/0005-fix-link2019-error.patch @@ -0,0 +1,25 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index fead70c..f05ae92 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -68,6 +68,7 @@ IF (USE_PTHREADS) + FIND_PACKAGE(pthreads REQUIRED) + INCLUDE_DIRECTORIES(${PTHREADS_INCLUDE_DIR}) + ADD_DEFINITIONS(-D_REENTRANT) ++ set(PTHREADS_LIBRARY PThreads4W::PThreads4W) + ENDIF() + + # Math library (not available in MSVC or MINGW) +diff --git a/fitsio2.h b/fitsio2.h +index 1adb17b..19f8511 100644 +--- a/fitsio2.h ++++ b/fitsio2.h +@@ -26,7 +26,7 @@ extern int Fitsio_Pthread_Status; + #define FFUNLOCK1(lockname) (Fitsio_Pthread_Status = pthread_mutex_unlock(&lockname)) + #define FFLOCK FFLOCK1(Fitsio_Lock) + #define FFUNLOCK FFUNLOCK1(Fitsio_Lock) +-#define ffstrtok(str, tok, save) strtok_r(str, tok, save) ++#define ffstrtok(str, tok, save) strtok_s(str, tok, save) + + #else + #define FFLOCK 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 05821771a0b3a5..f85f67cf680287 100644 --- a/ports/cfitsio/portfile.cmake +++ b/ports/cfitsio/portfile.cmake @@ -1,17 +1,19 @@ vcpkg_download_distfile(ARCHIVE - URLS "http://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/cfitsio-3.49.tar.gz" + URLS "https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/cfitsio-3.49.tar.gz" FILENAME "cfitsio-3.49.tar.gz" SHA512 9836a4af3bbbfed1ea1b4c70b9d500ac485d7c3d8131eb8a25ee6ef6662f46ba52b5161c45c709ed9a601ff0e9ec36daa5650eaaf4f2cc7d6f4bb5640f10da15 ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" PATCHES 0001-fix-dependencies.patch 0002-export-cmake-targets.patch 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( @@ -36,9 +38,8 @@ if ("pthreads" IN_LIST FEATURES) endif() endif() -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${FEATURE_OPTIONS} -DUSE_PTHREADS=${WITH_PTHREADS} @@ -46,12 +47,12 @@ vcpkg_configure_cmake( -DPKG_CONFIG_LIBS=-lcfitsio ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_fixup_pkgconfig(SYSTEM_LIBRARIES m) -vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-cfitsio TARGET_PATH share/unofficial-cfitsio) +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-cfitsio) -file(READ ${CURRENT_PACKAGES_DIR}/share/unofficial-cfitsio/unofficial-cfitsio-config.cmake ASSIMP_CONFIG) -file(WRITE ${CURRENT_PACKAGES_DIR}/share/unofficial-cfitsio/unofficial-cfitsio-config.cmake " +file(READ "${CURRENT_PACKAGES_DIR}/share/unofficial-cfitsio/unofficial-cfitsio-config.cmake" ASSIMP_CONFIG) +file(WRITE "${CURRENT_PACKAGES_DIR}/share/unofficial-cfitsio/unofficial-cfitsio-config.cmake" " include(CMakeFindDependencyMacro) ${FIND_CURL_DEPENDENCY} ${FIND_PTHREADS_DEPENDENCY} @@ -59,15 +60,16 @@ find_dependency(ZLIB) ${ASSIMP_CONFIG} ") -vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/share/unofficial-cfitsio/unofficial-cfitsio-config.cmake +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/unofficial-cfitsio/unofficial-cfitsio-config.cmake" "cmake_policy(VERSION 2.6)" "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) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/include/unistd.h" "${CURRENT_PACKAGES_DIR}/debug/share") -file(INSTALL ${SOURCE_PATH}/FindPthreads.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/unofficial-cfitsio) +file(INSTALL "${SOURCE_PATH}/FindPthreads.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/unofficial-cfitsio") -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/cfitsio/vcpkg.json b/ports/cfitsio/vcpkg.json index fe2794b54221db..f9ae0c3cef3e12 100644 --- a/ports/cfitsio/vcpkg.json +++ b/ports/cfitsio/vcpkg.json @@ -1,10 +1,18 @@ { "name": "cfitsio", "version": "3.49", - "port-version": 1, + "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": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, "zlib" ], "features": { diff --git a/ports/cgal/portfile.cmake b/ports/cgal/portfile.cmake index fcbbeb12c1f1c1..e23de109f7e57b 100644 --- a/ports/cgal/portfile.cmake +++ b/ports/cgal/portfile.cmake @@ -1,56 +1,56 @@ -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.3 - SHA512 b4093b5f1b4802cffe5dd6a47a7382a59ed83d30bb8cafa5f3fa8daef4579c9f3caf208bc2a58b7a41cf61ed825d0e549c7c442e9f5977bd82f553b2dfe8748f + REF v${VERSION} + SHA512 28963cdbf84d516290da69ca2ad5c90ec61dd9ca9cd97643ccf5b553c406e96a82621270214c0c81c32da7f8c388090a304d229925ed6e1548dbce3abcf1a259 HEAD_REF master ) - -vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - FEATURES - qt WITH_CGAL_Qt5 -) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DCGAL_HEADER_ONLY=ON -DCGAL_INSTALL_CMAKE_DIR=share/cgal + -DBUILD_TESTING=OFF + -DBUILD_DOC=OFF + -DCGAL_BUILD_THREE_DOC=OFF ${FEATURE_OPTIONS} + MAYBE_UNUSED_VARIABLES + CGAL_BUILD_THREE_DOC + CGAL_HEADER_ONLY ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets() +vcpkg_cmake_config_fixup() vcpkg_copy_pdbs() # Clean -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin") else() - foreach(ROOT ${CURRENT_PACKAGES_DIR}/bin) + foreach(ROOT "${CURRENT_PACKAGES_DIR}/bin") file(REMOVE - ${ROOT}/cgal_create_CMakeLists - ${ROOT}/cgal_create_cmake_script - ${ROOT}/cgal_make_macosx_app + "${ROOT}/cgal_create_CMakeLists" + "${ROOT}/cgal_create_cmake_script" + "${ROOT}/cgal_make_macosx_app" ) endforeach() endif() -file(INSTALL ${SOURCE_PATH}/Installation/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/doc" "${CURRENT_PACKAGES_DIR}/share/man") -file( - COPY - ${SOURCE_PATH}/Installation/LICENSE.BSL - ${SOURCE_PATH}/Installation/LICENSE.RFL - ${SOURCE_PATH}/Installation/LICENSE.GPL - ${SOURCE_PATH}/Installation/LICENSE.LGPL - DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} +set(LICENSES + "${SOURCE_PATH}/Installation/LICENSE" + "${SOURCE_PATH}/Installation/LICENSE.BSL" + "${SOURCE_PATH}/Installation/LICENSE.RFL" + "${SOURCE_PATH}/Installation/LICENSE.GPL" + "${SOURCE_PATH}/Installation/LICENSE.LGPL" ) -file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +vcpkg_install_copyright(FILE_LIST ${LICENSES}) + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/cgal/vcpkg.json b/ports/cgal/vcpkg.json index 7883bf7c6ded50..34ac287968c576 100644 --- a/ports/cgal/vcpkg.json +++ b/ports/cgal/vcpkg.json @@ -1,8 +1,10 @@ { "name": "cgal", - "version": "5.3", + "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", + "supports": "!xbox", "dependencies": [ "boost-accumulators", "boost-algorithm", @@ -13,6 +15,7 @@ "boost-core", "boost-detail", "boost-filesystem", + "boost-format", "boost-functional", "boost-fusion", "boost-geometry", @@ -25,6 +28,7 @@ "boost-logic", "boost-math", "boost-mpl", + "boost-multi-array", "boost-multi-index", "boost-multiprecision", "boost-numeric-conversion", @@ -47,6 +51,14 @@ "boost-variant", "gmp", "mpfr", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, "zlib" ], "features": { @@ -54,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/cgicc/portfile.cmake b/ports/cgicc/portfile.cmake index 0be8d18258a31d..c2b3fb1621fa5b 100644 --- a/ports/cgicc/portfile.cmake +++ b/ports/cgicc/portfile.cmake @@ -1,41 +1,41 @@ -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_ex( - ARCHIVE ${ARCHIVE} - OUT_SOURCE_PATH SOURCE_PATH +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" PATCHES fix-define.patch fix-static-build.patch ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +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 ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -file(READ ${CURRENT_PACKAGES_DIR}/include/cgicc/CgiDefs.h CGI_H) +file(READ "${CURRENT_PACKAGES_DIR}/include/cgicc/CgiDefs.h" CGI_H) if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) string(REPLACE "# ifdef CGICC_STATIC" "# if 0" CGI_H "${CGI_H}") else() string(REPLACE "# ifdef CGICC_STATIC" "# if 1" CGI_H "${CGI_H}") endif() -file(WRITE ${CURRENT_PACKAGES_DIR}/include/cgicc/CgiDefs.h "${CGI_H}") +file(WRITE "${CURRENT_PACKAGES_DIR}/include/cgicc/CgiDefs.h" "${CGI_H}") -file(INSTALL ${SOURCE_PATH}/COPYING.DOC DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/COPYING.DOC" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/cgicc/vcpkg.json b/ports/cgicc/vcpkg.json index 5d3b9b146aa632..754ba8ab1261e8 100644 --- a/ports/cgicc/vcpkg.json +++ b/ports/cgicc/vcpkg.json @@ -1,7 +1,17 @@ { "name": "cgicc", - "version-string": "3.2.19", - "port-version": 5, + "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/" + "homepage": "https://www.gnu.org/software/cgicc/", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/cgl/CMakeLists.txt b/ports/cgl/CMakeLists.txt deleted file mode 100644 index ce859f1929517d..00000000000000 --- a/ports/cgl/CMakeLists.txt +++ /dev/null @@ -1,125 +0,0 @@ -cmake_minimum_required(VERSION 3.11) - -project(Cgl LANGUAGES C CXX) - -set(PROJECT_VERSION 0.60.2) -set(PROJECT_VERSION_MAJOR 0) -set(PROJECT_VERSION_MINOR 60) -set(PROJECT_VERSION_PATCH 2) - -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/Coin" CACHE PATH "Path where headers will be installed") -set(INSTALL_CMAKE_DIR "share/cgl" CACHE PATH "Path where cmake configs will be installed") - -# Make relative paths absolute (needed later on) -set(RELATIVE_INSTALL_INCLUDE_DIR ${INSTALL_INCLUDE_DIR}) -foreach(p LIB BIN INCLUDE CMAKE) - set(var INSTALL_${p}_DIR) - if(NOT IS_ABSOLUTE "${${var}}") - set(${var} "${CMAKE_INSTALL_PREFIX}/${${var}}") - endif() -endforeach() - -find_package(CoinUtils REQUIRED) -find_package(Osi REQUIRED) -find_package(Clp REQUIRED) - -file(GLOB CGL_SOURCES - Cgl/src/CglConfig.h - Cgl/src/*.hpp - Cgl/src/*.cpp - Cgl/src/CglAllDifferent/*.cpp - Cgl/src/CglAllDifferent/*.hpp - Cgl/src/CglBKClique/*.cpp - Cgl/src/CglBKClique/*.hpp - Cgl/src/CglClique/*.cpp - Cgl/src/CglClique/*.hpp - Cgl/src/CglCliqueMerging/*.cpp - Cgl/src/CglCliqueMerging/*.hpp - Cgl/src/CglDuplicateRow/*.cpp - Cgl/src/CglDuplicateRow/*.hpp - Cgl/src/CglFlowCover/*.cpp - Cgl/src/CglFlowCover/*.hpp - Cgl/src/CglGMI/*.cpp - Cgl/src/CglGMI/*.hpp - Cgl/src/CglGomory/*.cpp - Cgl/src/CglGomory/*.hpp - Cgl/src/CglKnapsackCover/*.cpp - Cgl/src/CglKnapsackCover/*.hpp - Cgl/src/CglLandP/*.cpp - Cgl/src/CglLandP/*.hpp - Cgl/src/CglLiftAndProject/*.cpp - Cgl/src/CglLiftAndProject/*.hpp - Cgl/src/CglMixedIntegerRounding/*.cpp - Cgl/src/CglMixedIntegerRounding/*.hpp - Cgl/src/CglMixedIntegerRounding2/*.cpp - Cgl/src/CglMixedIntegerRounding2/*.hpp - Cgl/src/CglOddHole/*.cpp - Cgl/src/CglOddHole/*.hpp - Cgl/src/CglOddHoleWC/*.cpp - Cgl/src/CglOddHoleWC/*.hpp - Cgl/src/CglPreProcess/*.cpp - Cgl/src/CglPreProcess/*.hpp - Cgl/src/CglProbing/*.cpp - Cgl/src/CglProbing/*.hpp - Cgl/src/CglRedSplit/*.cpp - Cgl/src/CglRedSplit/*.hpp - Cgl/src/CglRedSplit2/*.cpp - Cgl/src/CglRedSplit2/*.hpp - Cgl/src/CglResidualCapacity/*.cpp - Cgl/src/CglResidualCapacity/*.hpp - Cgl/src/CglSimpleRounding/*.cpp - Cgl/src/CglSimpleRounding/*.hpp - Cgl/src/CglTwomir/*.cpp - Cgl/src/CglTwomir/*.hpp - Cgl/src/CglZeroHalf/*.cpp - Cgl/src/CglZeroHalf/*.hpp) - -add_library(${PROJECT_NAME} ${CGL_SOURCES}) - -target_include_directories(${PROJECT_NAME} - PUBLIC - $ - $) - -target_compile_definitions(${PROJECT_NAME} PRIVATE HAVE_CMATH) -target_compile_definitions(${PROJECT_NAME} PUBLIC COIN_HAS_CLP) - -target_link_libraries(${PROJECT_NAME} PRIVATE Coin::CoinUtils Coin::Osi Coin::Clp) - -install(DIRECTORY Cgl/src/ - DESTINATION ${INSTALL_INCLUDE_DIR} - FILES_MATCHING - PATTERN "*.h" - PATTERN "*.hpp" - PATTERN "config_default.h" EXCLUDE) - -install(TARGETS ${PROJECT_NAME} - EXPORT "${PROJECT_NAME}Targets" - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib - RUNTIME DESTINATION bin) - -include(CMakePackageConfigHelpers) - -set(version_config "${CMAKE_CURRENT_BINARY_DIR}/temp/${PROJECT_NAME}ConfigVersion.cmake") -set(project_config "${CMAKE_CURRENT_BINARY_DIR}/temp/${PROJECT_NAME}Config.cmake") -set(namespace "Coin::") - -write_basic_package_version_file("${version_config}" - COMPATIBILITY SameMajorVersion) - -configure_package_config_file("Config.cmake.in" - "${project_config}" - INSTALL_DESTINATION - "${INSTALL_CMAKE_DIR}") - -install(FILES "${project_config}" "${version_config}" - DESTINATION "${INSTALL_CMAKE_DIR}") - -install(EXPORT "${PROJECT_NAME}Targets" - NAMESPACE "${namespace}" - DESTINATION "${INSTALL_CMAKE_DIR}") \ No newline at end of file diff --git a/ports/cgl/Config.cmake.in b/ports/cgl/Config.cmake.in deleted file mode 100644 index a9af95692a4563..00000000000000 --- a/ports/cgl/Config.cmake.in +++ /dev/null @@ -1,5 +0,0 @@ - -@PACKAGE_INIT@ - -include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") -check_required_components("@PROJECT_NAME@") \ No newline at end of file diff --git a/ports/cgl/portfile.cmake b/ports/cgl/portfile.cmake deleted file mode 100644 index 97583b09701940..00000000000000 --- a/ports/cgl/portfile.cmake +++ /dev/null @@ -1,27 +0,0 @@ -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO coin-or/Cgl - REF 31797b2997219934db02a40d501c4b6d8efa7398 # 0.60.3 - SHA512 33e01acdfd2057541492f4e83c0554ed74489995c47cef0b954529d4603090d03457fdababb331132b3fd286c985e46a3c8e3abbdb2eed36e7eaa8102acd095e - PATCHES fix-c1083-error.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() - -vcpkg_copy_pdbs() - -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/cgl/vcpkg.json b/ports/cgl/vcpkg.json deleted file mode 100644 index 7b72af7618fbfa..00000000000000 --- a/ports/cgl/vcpkg.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "name": "cgl", - "version": "0.60.3", - "description": "The COIN-OR Cut Generation Library (Cgl) is a collection of cut generators that can be used with other COIN-OR packages that make use of cuts, such as, among others, the linear solver Clp or the mixed integer linear programming solvers Cbc or BCP.", - "homepage": "https://github.com/coin-or/Cgl", - "dependencies": [ - "clp", - "coinutils", - "osi", - { - "name": "vcpkg-cmake", - "host": true - }, - { - "name": "vcpkg-cmake-config", - "host": true - } - ] -} diff --git a/ports/cglm/portfile.cmake b/ports/cglm/portfile.cmake new file mode 100644 index 00000000000000..68fb7ebcdede5a --- /dev/null +++ b/ports/cglm/portfile.cmake @@ -0,0 +1,29 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO recp/cglm + REF "v${VERSION}" + SHA512 cfa836d5100912866d0678babca51e0ca818c1424ac8320c49ee55e5f9091403947a0d7b5c633bb0fb5df594d2b4fb01c2f634cc20cbe6266db5f7879488b02f +) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" CGLM_BUILD_SHARED) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" CGLM_BUILD_STATIC) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + "-DCGLM_SHARED=${CGLM_BUILD_SHARED}" + "-DCGLM_STATIC=${CGLM_BUILD_STATIC}" +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/cglm") +vcpkg_fixup_pkgconfig() + +vcpkg_copy_pdbs() + +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) +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/cglm/usage b/ports/cglm/usage new file mode 100644 index 00000000000000..aa79635fe60e65 --- /dev/null +++ b/ports/cglm/usage @@ -0,0 +1,4 @@ +cglm provides CMake targets: + + find_package(cglm CONFIG REQUIRED) + target_link_libraries(main PRIVATE cglm::cglm) diff --git a/ports/cglm/vcpkg.json b/ports/cglm/vcpkg.json new file mode 100644 index 00000000000000..0a0e1cae6c513b --- /dev/null +++ b/ports/cglm/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "cglm", + "version-semver": "0.9.4", + "description": "Highly Optimized Graphics Math (glm) for C", + "homepage": "https://github.com/recp/cglm", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/cgltf/portfile.cmake b/ports/cgltf/portfile.cmake index 181e95d98bd93f..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.11 - SHA512 b3350d34670dac6756ea010bd030c4709f3a6c86d43b5099d10b505437422951e5db7f8e521ec9590a7aada535146614936ff990533d07084b1e50c216572943 + 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 e787feea1ed13c..aa2628dbc2e6f9 100644 --- a/ports/cgltf/vcpkg.json +++ b/ports/cgltf/vcpkg.json @@ -1,6 +1,7 @@ { "name": "cgltf", - "version": "1.11", + "version": "1.14", "description": "Single-file glTF 2.0 loader and writer written in C99", - "homepage": "https://github.com/jkuhlmann/cgltf" + "homepage": "https://github.com/jkuhlmann/cgltf", + "license": "MIT" } diff --git a/ports/cgns/hdf5.patch b/ports/cgns/hdf5.patch index 67d08fa2d88b2d..82316913d5bed9 100644 --- a/ports/cgns/hdf5.patch +++ b/ports/cgns/hdf5.patch @@ -1,8 +1,8 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index d871a9dc8..d2c631023 100644 +index 60f9de4..e980ef7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -232,46 +232,12 @@ if (CGNS_ENABLE_HDF5) +@@ -261,51 +261,12 @@ if (CGNS_ENABLE_HDF5) cmake_policy(SET CMP0074 NEW) endif() @@ -10,79 +10,52 @@ index d871a9dc8..d2c631023 100644 - message (STATUS "HDF5 C libs:${HDF5_FOUND} static:${HDF5_static_C_FOUND} and shared:${HDF5_shared_C_FOUND}") - if (HDF5_FOUND) - if (NOT HDF5_static_C_FOUND AND NOT HDF5_shared_C_FOUND) -- set (FIND_HDF_COMPONENTS C) +- if (CG_HDF5_LINK_TYPE STREQUAL "shared") +- set(CG_HDF5_LINK_TYPE "static") +- set(CG_HDF5_LINK_TYPE_UPPER "STATIC") +- else() +- set(CG_HDF5_LINK_TYPE "shared") +- set(CG_HDF5_LINK_TYPE_UPPER "SHARED") +- endif() - -- find_package (HDF5 NAMES ${SEARCH_PACKAGE_NAME} COMPONENTS ${FIND_HDF_COMPONENTS}) -- message (STATUS "HDF5 libs:${HDF5_FOUND} C:${HDF5_C_FOUND}") -- set (LINK_LIBS ${LINK_LIBS} ${HDF5_LIBRARIES}) -- if (HDF5_BUILD_SHARED_LIBS) -- add_definitions (-DH5_BUILT_AS_DYNAMIC_LIB) -- else (HDF5_BUILD_SHARED_LIBS) -- add_definitions (-DH5_BUILT_AS_STATIC_LIB) -- endif (HDF5_BUILD_SHARED_LIBS) -- else (NOT HDF5_static_C_FOUND AND NOT HDF5_shared_C_FOUND) -- if (CGNS_BUILD_SHARED AND HDF5_shared_C_FOUND) -- set (LINK_LIBS ${LINK_LIBS} ${HDF5_C_SHARED_LIBRARY}) -- else (CGNS_BUILD_SHARED AND HDF5_shared_C_FOUND) -- set (LINK_LIBS ${LINK_LIBS} ${HDF5_C_STATIC_LIBRARY}) -- endif (CGNS_BUILD_SHARED AND HDF5_shared_C_FOUND) -- endif (NOT HDF5_static_C_FOUND AND NOT HDF5_shared_C_FOUND) +- set (FIND_HDF_COMPONENTS C ${CG_HDF5_LINK_TYPE}) - -- else (HDF5_FOUND) +- find_package (HDF5 NAMES ${SEARCH_PACKAGE_NAME} COMPONENTS ${FIND_HDF_COMPONENTS} REQUIRED) +- message (STATUS "HDF5 libs:${HDF5_FOUND} C:${HDF5_C_${CG_HDF5_LINK_TYPE_UPPER}_LIBRARY}") +- endif() +- +- set(LINK_LIBS ${HDF5_C_${CG_HDF5_LINK_TYPE_UPPER}_LIBRARY}) +- else () - find_package (HDF5) # Legacy find - - #Legacy find_package does not set HDF5_TOOLS_DIR, so we set it here - set(HDF5_TOOLS_DIR ${HDF5_LIBRARY}/../bin) - - #Legacy find_package does not set HDF5_BUILD_SHARED_LIBS, so we set it here -- if (CGNS_BUILD_SHARED AND EXISTS "${HDF5_LIBRARY}/libhdf5${CMAKE_SHARED_LIBRARY_SUFFIX}") +- set(GUESS_SHARED "${HDF5_LIBRARY}/libhdf5${CMAKE_SHARED_LIBRARY_SUFFIX}") +- foreach (ITEM ${HDF5_LIBRARIES}) +- if (ITEM MATCHES "(.*)hdf5${CMAKE_SHARED_LIBRARY_SUFFIX}") +- set(GUESS_SHARED "${ITEM}") +- break() +- endif() +- endforeach() +- if (CGNS_BUILD_SHARED AND EXISTS "${GUESS_SHARED}") - set (HDF5_BUILD_SHARED_LIBS 1) -- add_definitions (-DH5_BUILT_AS_DYNAMIC_LIB) +- set (CG_HDF5_LINK_TYPE "shared") +- set (CG_HDF5_LINK_TYPE_UPPER "SHARED") - else () - set (HDF5_BUILD_SHARED_LIBS 0) -- add_definitions (-DH5_BUILT_AS_STATIC_LIB) +- set (CG_HDF5_LINK_TYPE "static") +- set (CG_HDF5_LINK_TYPE_UPPER "STATIC") - endif () -- set (LINK_LIBS ${LINK_LIBS} ${HDF5_LIBRARIES}) -- -- endif (HDF5_FOUND) -- set (HDF5_PACKAGE_NAME ${SEARCH_PACKAGE_NAME}) +- set (LINK_LIBS ${HDF5_LIBRARIES}) + find_package (HDF5 CONFIG REQUIRED) + if (TARGET hdf5::hdf5-shared) + set (LINK_LIBS ${LINK_LIBS} hdf5::hdf5-shared) + else () + set (LINK_LIBS ${LINK_LIBS} hdf5::hdf5-static) -+ endif () + endif () +- set (HDF5_PACKAGE_NAME ${SEARCH_PACKAGE_NAME}) if (HDF5_FOUND) if (NOT DEFINED HDF5_INCLUDE_DIRS) -@@ -289,20 +255,10 @@ if (CGNS_ENABLE_HDF5) - endif (HDF5_FOUND) - - set(HDF5_NEED_ZLIB "OFF" CACHE BOOL "Does the HDF5 library require linking to zlib?") -- if(HDF5_NEED_ZLIB) -- find_library(ZLIB_LIBRARY z) -- mark_as_advanced(CLEAR ZLIB_LIBRARY) -- else (HDF5_NEED_ZLIB) -- mark_as_advanced(FORCE ZLIB_LIBRARY) -- endif(HDF5_NEED_ZLIB) -+ set(HDF5_NEED_ZLIB ${HDF5_ENABLE_Z_LIB_SUPPORT} CACHE INTERNAL "" FORCE) - - set(HDF5_NEED_SZIP "OFF" CACHE BOOL "Does the HDF5 library require linking to szip?") -- if (HDF5_NEED_SZIP) -- find_library(SZIP_LIBRARY szip) -- mark_as_advanced(CLEAR SZIP_LIBRARY) -- else (HDF5_NEED_SZIP) -- mark_as_advanced(FORCE SZIP_LIBRARY) -- endif (HDF5_NEED_SZIP) -+ set(HDF5_NEED_SZIP ${HDF5_ENABLE_SZIP_SUPPORT} CACHE INTERNAL "" FORCE) - - # Check if HDF5 version is 1.8 or greater - if (HDF5_VERSION VERSION_LESS "1.8.0") -@@ -310,6 +266,7 @@ if (CGNS_ENABLE_HDF5) - endif (HDF5_VERSION VERSION_LESS "1.8.0") - - set(HDF5_NEED_MPI "OFF" CACHE BOOL "Does the HDF5 library require linking to mpi? (Only true if using parallel HDF5)") -+ set(HDF5_NEED_MPI ${HDF5_ENABLE_PARALLEL} CACHE INTERNAL "" FORCE) - set(MPI_INC) - set(MPI_LIBS) - if (HDF5_NEED_MPI) diff --git a/ports/cgns/linux_lfs.patch b/ports/cgns/linux_lfs.patch index 3ccda64e27a304..af3d411cfba624 100644 --- a/ports/cgns/linux_lfs.patch +++ b/ports/cgns/linux_lfs.patch @@ -2,11 +2,11 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt index 46446da8a..a3d8cd98f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -82,6 +82,7 @@ if (CGNS_ENABLE_LFS) - else (WIN32) +@@ -116,6 +116,7 @@ if (CGNS_ENABLE_LFS) + else () check_symbol_exists(open64 "sys/types.h;sys/stat.h;unistd.h" HAVE_OPEN64) check_symbol_exists(lseek64 "sys/types.h;unistd.h" HAVE_LSEEK64) + add_definitions(-D_FILE_OFFSET_BITS=64 -D__LARGEFILE64_SOURCE -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE) - endif (WIN32) + endif () if (HAVE_OPEN64) - add_definitions(-DHAVE_OPEN64) + add_compile_definitions(HAVE_OPEN64) diff --git a/ports/cgns/portfile.cmake b/ports/cgns/portfile.cmake index bb75a9485ceae7..e3c80e0fa27159 100644 --- a/ports/cgns/portfile.cmake +++ b/ports/cgns/portfile.cmake @@ -2,8 +2,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO CGNS/CGNS - REF 86b686bce292eef7782cfb56b6acdb5123c96f49 # v4.2.0 - SHA512 88df741acc1b650724bcbeb82ab0f7e593bf01e0a30c04b14b9915f4ea4331725cc24b87715dd08d93d5a3708660ca7f7874bc0a9c5505b76471802cf033e35d + REF "v${VERSION}" + SHA512 86c16d40b524519362645c553c91bade9bb7e4bffde7bf4de96a7f471ae3779a15781efa91efa059b2af0b127f08a560d2e903df6b45e1c79eaec6061db226e9 HEAD_REF develop PATCHES hdf5.patch @@ -12,13 +12,14 @@ vcpkg_from_github( vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES - fortran CGNS_ENABLE_FORTRAN - tests CGNS_ENABLE_TESTS - hdf5 CGNS_ENABLE_HDF5 - lfs CGNS_ENABLE_LFS - legacy CGNS_ENABLE_LEGACY + "fortran" CGNS_ENABLE_FORTRAN + "tests" CGNS_ENABLE_TESTS + "hdf5" CGNS_ENABLE_HDF5 + "lfs" CGNS_ENABLE_LFS + "legacy" CGNS_ENABLE_LEGACY ) +set(CGNS_BUILD_OPTS "") if(VCPKG_TARGET_ARCHITECTURE MATCHES "64") list(APPEND CGNS_BUILD_OPTS "-DCGNS_ENABLE_64BIT=ON") endif() @@ -29,54 +30,61 @@ else() list(APPEND CGNS_BUILD_OPTS "-DCGNS_BUILD_SHARED=OFF;-DCGNS_USE_SHARED=OFF") endif() -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA # Disable this option if project cannot be built with Ninja - OPTIONS +# By default, when possible, vcpkg_cmake_configure uses ninja-build as its build system +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} ${CGNS_BUILD_OPTS} + -DCGNS_ENABLE_SCOPING:BOOL=ON ) -vcpkg_install_cmake() - -file(INSTALL ${CURRENT_PACKAGES_DIR}/include/cgnsBuild.defs DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) -file(REMOVE ${CURRENT_PACKAGES_DIR}/include/cgnsBuild.defs ${CURRENT_PACKAGES_DIR}/include/cgnsconfig.h) - -file(INSTALL ${CURRENT_PORT_DIR}/cgnsconfig.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) # the include is all that is needed +vcpkg_cmake_install() +vcpkg_copy_pdbs() + +# Moves all *.cmake files from /debug/lib/cmake/cgns/ to /share/cgns/ +# See /docs/maintainers/ports/vcpkg-cmake-config/vcpkg_cmake_config_fixup.md for more details +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/cgns") + +vcpkg_copy_tools( + TOOL_NAMES + cgnscheck + cgnscompress + cgnsconvert + cgnsdiff + cgnslist + cgnsnames + AUTO_CLEAN +) -set(TOOLS cgnscheck cgnscompress cgnsconvert cgnsdiff cgnslist cgnsnames) +set(TOOLS "cgnsupdate") +if("hdf5" IN_LIST FEATURES) + list(APPEND TOOLS "adf2hdf" "hdf2adf") +endif() +if(VCPKG_TARGET_IS_WINDOWS) + list(TRANSFORM TOOLS APPEND ".bat") +endif() -foreach(tool ${TOOLS}) - set(suffix ${VCPKG_TARGET_EXECUTABLE_SUFFIX}) - if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/bin/${tool}${suffix}") - file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/bin/${tool}${suffix}") - endif() - if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/${tool}${suffix}") - file(INSTALL "${CURRENT_PACKAGES_DIR}/bin/${tool}${suffix}" - DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}") - file(REMOVE "${CURRENT_PACKAGES_DIR}/bin/${tool}${suffix}") - endif() +foreach(TOOL ${TOOLS}) + file(INSTALL "${CURRENT_PACKAGES_DIR}/bin/${TOOL}" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}") + file(REMOVE "${CURRENT_PACKAGES_DIR}/bin/${TOOL}") endforeach() -vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT}) - -IF(EXISTS ${CURRENT_PACKAGES_DIR}/debug) - file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/include/cgnsBuild.defs ${CURRENT_PACKAGES_DIR}/debug/include/cgnsconfig.h) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static" OR NOT VCPKG_TARGET_IS_WINDOWS) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin" "${CURRENT_PACKAGES_DIR}/bin") endif() -file(REMOVE ${CURRENT_PACKAGES_DIR}/include/cgnsBuild.defs ${CURRENT_PACKAGES_DIR}/include/cgnsconfig.h) -file(GLOB_RECURSE BATCH_FILES ${CURRENT_PACKAGES_DIR}/bin/*.bat) +if (EXISTS "${CURRENT_PACKAGES_DIR}/debug") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +endif() -vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT}) +file(REMOVE "${CURRENT_PACKAGES_DIR}/include/cgnsBuild.defs" "${CURRENT_PACKAGES_DIR}/include/cgnsconfig.h") +file(INSTALL "${CURRENT_PORT_DIR}/cgnsconfig.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include") # the include is all that is needed -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) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/cgnslib.h" "defined(USE_DLL)" "1") endif() -# # Moves all .cmake files from /debug/share/cgns/ to /share/cgns/ -# # See /docs/maintainers/vcpkg_fixup_cmake_targets.md for more details -# vcpkg_fixup_cmake_targets(CONFIG_PATH cmake TARGET_PATH share/cgns) - -# # Handle copyright -file(INSTALL ${SOURCE_PATH}/license.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +# Handle copyright +configure_file("${SOURCE_PATH}/license.txt" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) diff --git a/ports/cgns/vcpkg.json b/ports/cgns/vcpkg.json index c738b9a3b6d904..52d746edbcfe27 100644 --- a/ports/cgns/vcpkg.json +++ b/ports/cgns/vcpkg.json @@ -1,8 +1,19 @@ { "name": "cgns", - "version-semver": "4.2.0", + "version-semver": "4.4.0", "description": "The CFD General Notation System (CGNS) provides a standard for recording and recovering computer data associated with the numerical solution of fluid dynamics equations.", "homepage": "http://cgns.org/", + "license": "Zlib", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], "default-features": [ "hdf5", "lfsselector" @@ -58,7 +69,7 @@ "description": "Build tests" }, "tools": { - "description": "Build tools" + "description": "No effects, preserved for upgrade compatibility" } } } diff --git a/ports/chaiscript/vcpkg.json b/ports/chaiscript/vcpkg.json index e4362e804165b2..bb52fb60fe2423 100644 --- a/ports/chaiscript/vcpkg.json +++ b/ports/chaiscript/vcpkg.json @@ -1,7 +1,7 @@ { "name": "chaiscript", - "version-string": "6.1.0", - "port-version": 2, + "version": "6.1.0", + "port-version": 3, "description": "Embedded Scripting Language Designed for C++", "homepage": "https://github.com/ChaiScript/ChaiScript" } 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/fix-debug-linux-build.patch b/ports/chakracore/fix-debug-linux-build.patch deleted file mode 100644 index 10c1ca5e7e947e..00000000000000 --- a/ports/chakracore/fix-debug-linux-build.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/lib/Common/Memory/RecyclerObjectGraphDumper.cpp b/lib/Common/Memory/RecyclerObjectGraphDumper.cpp -index 0885df3fb..12bdfb96e 100644 ---- a/lib/Common/Memory/RecyclerObjectGraphDumper.cpp -+++ b/lib/Common/Memory/RecyclerObjectGraphDumper.cpp -@@ -58,7 +58,7 @@ void RecyclerObjectGraphDumper::BeginDumpObject(void * objectAddress) - { - Assert(false); - this->dumpObjectTypeInfo = nullptr; -- this->dumpObjectIsArray = nullptr; -+ this->dumpObjectIsArray = 0; - } - } - #endif diff --git a/ports/chakracore/portfile.cmake b/ports/chakracore/portfile.cmake index 62277ecebe3f95..294191bade4095 100644 --- a/ports/chakracore/portfile.cmake +++ b/ports/chakracore/portfile.cmake @@ -1,69 +1,57 @@ -vcpkg_fail_port_install(ON_TARGET osx uwp) -if(WIN32) - vcpkg_fail_port_install(ON_CRT_LINKAGE static ON_LIBRARY_LINKAGE static) -endif() vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Microsoft/ChakraCore - REF 385409ee4b634b860e090606a28acbc99f4d2567 - SHA512 ef47db988c4ddd77fa87f4c5e1ac91d9f6b31b35aa6934d8b2863ee1274776d90a2b85dbad51eef069c96777d3cd7729349b89f23eda8c61b4cb637150bead71 + REF 2af598f04ab508f9231d6e26f0f82f5a57561413 + SHA512 a42138cb5906d8f6cbdab32fad042f626bacb62450839f66d6b27831fcd5bd93039f68423c82d460cf1147ce82908c04595442f90be3bf67e2066547d0fe0291 HEAD_REF master PATCHES - fix-debug-linux-build.patch + avoid_msvc_internal_STRINGIZE.patch ) -if(WIN32) - find_path(COR_H_PATH cor.h) - if(COR_H_PATH MATCHES "NOTFOUND") - message(FATAL_ERROR "Could not find . Ensure the NETFXSDK is installed.") +set(BUILDTREE_PATH "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}") +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") + set(additional_options NO_TOOLCHAIN_PROPS) # don't know how to fix the linker error about __guard_check_icall_thunk + endif() + if(VCPKG_TARGET_ARCHITECTURE MATCHES "x86") + set(PLATFORM_ARG PLATFORM x86) # it's x86, not Win32 in sln file endif() - get_filename_component(NETFXSDK_PATH "${COR_H_PATH}/../.." ABSOLUTE) -endif() - -set(BUILDTREE_PATH ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}) -file(REMOVE_RECURSE ${BUILDTREE_PATH}) -file(COPY ${SOURCE_PATH}/ DESTINATION ${BUILDTREE_PATH}) -if(WIN32) - set(CHAKRA_RUNTIME_LIB "static_library") # ChakraCore only supports static CRT linkage - vcpkg_build_msbuild( - PROJECT_PATH "${BUILDTREE_PATH}/Build/Chakra.Core.sln" + vcpkg_msbuild_install( + SOURCE_PATH "${SOURCE_PATH}" + PROJECT_SUBPATH Build/Chakra.Core.sln OPTIONS - "/p:DotNetSdkRoot=${NETFXSDK_PATH}/" "/p:CustomBeforeMicrosoftCommonTargets=${CMAKE_CURRENT_LIST_DIR}/no-warning-as-error.props" - "/p:RuntimeLib=${CHAKRA_RUNTIME_LIB}" + ${PLATFORM_ARG} + ${additional_options} ) + file(GLOB_RECURSE LIB_FILES "${CURRENT_PACKAGES_DIR}/lib/*.lib") + file(GLOB_RECURSE DEBUG_LIB_FILES "${CURRENT_PACKAGES_DIR}/debug/lib/*.lib") + foreach(file ${LIB_FILES} ${DEBUG_LIB_FILES}) + if(NOT file MATCHES "ChakraCore.lib") + file(REMOVE ${file}) + endif() + endforeach() else() if(VCPKG_TARGET_ARCHITECTURE MATCHES "x64") set(CHAKRACORE_TARGET_ARCH amd64) 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() - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + 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" - WORKING_DIRECTORY "${BUILDTREE_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() - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - list(APPEND configs "release") - execute_process( - COMMAND bash "build.sh" "--arch=${CHAKRACORE_TARGET_ARCH}" - WORKING_DIRECTORY "${BUILDTREE_PATH}" + COMMAND bash "build.sh" "--arch=${CHAKRACORE_TARGET_ARCH}" "--debug" "-j=${VCPKG_CONCURRENCY}" + WORKING_DIRECTORY "${SOURCE_PATH}" + OUTPUT_VARIABLE CHAKRA_BUILD_SH_OUT ERROR_VARIABLE CHAKRA_BUILD_SH_ERR RESULT_VARIABLE CHAKRA_BUILD_SH_RES @@ -71,80 +59,62 @@ 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 "${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}/lib/Jsrt/ChakraCore.h" - "${BUILDTREE_PATH}/lib/Jsrt/ChakraCommon.h" - "${BUILDTREE_PATH}/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(WIN32) + +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) file(INSTALL - "${BUILDTREE_PATH}/lib/Jsrt/ChakraCommonWindows.h" - "${BUILDTREE_PATH}/lib/Jsrt/ChakraCoreWindows.h" + "${BUILDTREE_PATH}-rel/lib/Jsrt/ChakraCommonWindows.h" + "${BUILDTREE_PATH}-rel/lib/Jsrt/ChakraCoreWindows.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include" ) - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(INSTALL - "${BUILDTREE_PATH}/Build/VcBuild/bin/${TRIPLET_SYSTEM_ARCH}_debug/ChakraCore.dll" - "${BUILDTREE_PATH}/Build/VcBuild/bin/${TRIPLET_SYSTEM_ARCH}_debug/ChakraCore.pdb" - DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin" - ) - file(INSTALL - "${BUILDTREE_PATH}/Build/VcBuild/bin/${TRIPLET_SYSTEM_ARCH}_debug/Chakracore.lib" - DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib" - ) - endif() - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - file(INSTALL - "${BUILDTREE_PATH}/Build/VcBuild/bin/${TRIPLET_SYSTEM_ARCH}_release/ChakraCore.dll" - "${BUILDTREE_PATH}/Build/VcBuild/bin/${TRIPLET_SYSTEM_ARCH}_release/ChakraCore.pdb" - DESTINATION "${CURRENT_PACKAGES_DIR}/bin" - ) - file(INSTALL - "${BUILDTREE_PATH}/Build/VcBuild/bin/${TRIPLET_SYSTEM_ARCH}_release/Chakracore.lib" - DESTINATION "${CURRENT_PACKAGES_DIR}/lib" - ) - file(INSTALL - "${BUILDTREE_PATH}/Build/VcBuild/bin/${TRIPLET_SYSTEM_ARCH}_release/ch.exe" - "${BUILDTREE_PATH}/Build/VcBuild/bin/${TRIPLET_SYSTEM_ARCH}_release/GCStress.exe" - "${BUILDTREE_PATH}/Build/VcBuild/bin/${TRIPLET_SYSTEM_ARCH}_release/rl.exe" - DESTINATION "${CURRENT_PACKAGES_DIR}/tools/chakracore" - ) - vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/chakracore") - endif() 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}/out/Debug") - set(out_dir_release "${BUILDTREE_PATH}/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 "${out_dir_release}/ch" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/chakracore" ) - vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/chakracore") + vcpkg_copy_tools(TOOL_NAMES ch + SEARCH_DIR "${out_dir_release}" + ) endif() -endif() -vcpkg_copy_pdbs() + +endif() file(INSTALL + "${CMAKE_CURRENT_LIST_DIR}/unofficial-chakracore-config.cmake" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/unofficial-${PORT}" +) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt" - DESTINATION "${CURRENT_PACKAGES_DIR}/share/chakracore" - RENAME copyright ) diff --git a/ports/chakracore/unofficial-chakracore-config.cmake b/ports/chakracore/unofficial-chakracore-config.cmake new file mode 100644 index 00000000000000..b1fab01d796e4e --- /dev/null +++ b/ports/chakracore/unofficial-chakracore-config.cmake @@ -0,0 +1,18 @@ +if(NOT TARGET unofficial::chakracore::chakracore) + add_library(unofficial::chakracore::chakracore UNKNOWN IMPORTED) + + find_path(ChakraCore_INCLUDE_DIR NAMES ChakraCore.h) + + set_target_properties(unofficial::chakracore::chakracore PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${ChakraCore_INCLUDE_DIR}" + ) + + find_library(ChakraCore_LIBRARY_RELEASE NAMES ChakraCore PATHS "${CMAKE_CURRENT_LIST_DIR}/../../lib" NO_DEFAULT_PATH REQUIRED) + find_library(ChakraCore_LIBRARY_DEBUG NAMES ChakraCore PATHS "${CMAKE_CURRENT_LIST_DIR}/../../debug/lib" NO_DEFAULT_PATH REQUIRED) + + set_target_properties(unofficial::chakracore::chakracore PROPERTIES + IMPORTED_LOCATION_DEBUG "${ChakraCore_LIBRARY_DEBUG}" + IMPORTED_LOCATION_RELEASE "${ChakraCore_LIBRARY_RELEASE}" + IMPORTED_CONFIGURATIONS "Release;Debug" + ) +endif() diff --git a/ports/chakracore/vcpkg.json b/ports/chakracore/vcpkg.json index 316fefa0a97c7b..c3a25331c612b2 100644 --- a/ports/chakracore/vcpkg.json +++ b/ports/chakracore/vcpkg.json @@ -1,7 +1,27 @@ { "name": "chakracore", - "version-string": "2021-04-22", + "version-date": "2022-11-09", + "port-version": 7, "description": "Core part of the Chakra Javascript engine", "homepage": "https://github.com/Microsoft/ChakraCore", - "supports": "!osx & !uwp & (linux | !static)" + "license": "MIT", + "supports": "!osx & !uwp & (linux | !static)", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + { + "name": "vcpkg-msbuild", + "host": true, + "features": [ + "pkg-config" + ], + "platform": "windows" + } + ] } diff --git a/ports/charls/portfile.cmake b/ports/charls/portfile.cmake index bbb9038c2062c9..1b62f621d6e390 100644 --- a/ports/charls/portfile.cmake +++ b/ports/charls/portfile.cmake @@ -1,25 +1,24 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO team-charls/charls - REF 0bafe4ecdc591f633303ad0d32f3f6c38d099802 #v2.2.0 - SHA512 56acb0085a4f653660166c11982934d7f8c8836db63339aaca700aabade2bf7cff8cba77f9f04a68bbc119b5b15800bf01ffb10628703fb2188f6e654d0e5f22 + REF "${VERSION}" + SHA512 4f1b587f008956ab6fb9d2473c37a7b1a842633113245be7f8bb29b8c64304a6d580a29fcfca97ba1ac75adedbaf89e29adc4ac9e4117e1af1aa5949dbd34df9 HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DCHARLS_BUILD_TESTS=OFF -DCHARLS_BUILD_SAMPLES=OFF -DCHARLS_BUILD_FUZZ_TEST=OFF ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/charls) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/charls) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL ${SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.md") vcpkg_copy_pdbs() diff --git a/ports/charls/vcpkg.json b/ports/charls/vcpkg.json index 3f07ca3c2eba0e..3cbf30ea608166 100644 --- a/ports/charls/vcpkg.json +++ b/ports/charls/vcpkg.json @@ -1,7 +1,17 @@ { "name": "charls", - "version-string": "2.2.0", - "port-version": 2, + "version": "2.4.2", "description": "CharLS, a C++ JPEG-LS library implementation.", - "homepage": "https://github.com/team-charls/charls" + "homepage": "https://github.com/team-charls/charls", + "license": "BSD-3-Clause", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/chartdir/portfile.cmake b/ports/chartdir/portfile.cmake index 6a9f786102bba2..05f39bb006d2bf 100644 --- a/ports/chartdir/portfile.cmake +++ b/ports/chartdir/portfile.cmake @@ -1,21 +1,21 @@ -vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) - -if(TRIPLET_SYSTEM_ARCH MATCHES "arm" OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" OR VCPKG_LIBRARY_LINKAGE STREQUAL static) - - set(VCPKG_POLICY_EMPTY_PACKAGE enabled) +# ChartDirector's DLL interface only contains primitive types, so it is CRT agnostic. +if("${VCPKG_LIBRARY_LINKAGE}" STREQUAL "static") + message(STATUS "Note: ${PORT} only supports dynamic library linkage. Building dynamic library.") + set(VCPKG_LIBRARY_LINKAGE dynamic) +endif() -elseif(VCPKG_TARGET_IS_WINDOWS) +if(VCPKG_TARGET_IS_WINDOWS) vcpkg_download_distfile(ARCHIVE_FILE - URLS "https://www.advsofteng.net/chartdir_cpp_win.zip" + URLS "https://www.advsofteng.com/vcpkg/chartdir_cpp_win_7.0.0.zip" FILENAME "chartdir_cpp_win-7.0.0.zip" - SHA512 38d9dae641c0341ccee4709138afd37ad4718c34def70a0dc569956bf9c3488d0d66072f604dca4663dc80bd09446a2ba27ef3806fc3b87dda6aaa5453a7316f + SHA512 e5b5d387cff693a7f5ee98c2d2df75f421129b006e4324ae30ace0cbaac58867f048868ddfacdb3224c7165c8f27219c4273f3c778be3330d39ef95260d4186b ) - vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH + vcpkg_extract_source_archive( + SOURCE_PATH ARCHIVE "${ARCHIVE_FILE}" - REF 7.0.0 + SOURCE_BASE 7.0.0 ) if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") @@ -34,15 +34,15 @@ elseif(VCPKG_TARGET_IS_WINDOWS) elseif(VCPKG_TARGET_IS_OSX) vcpkg_download_distfile(ARCHIVE_FILE - URLS "https://www.advsofteng.net/chartdir_cpp_mac.tar.gz" + URLS "https://www.advsofteng.com/vcpkg/chartdir_cpp_mac_7.0.0.tar.gz" FILENAME "chartdir_cpp_mac-7.0.0.tar.gz" - SHA512 3f00a4eb7c6b7fc1ebd4856c287ca9a76ca4ce813b4203350526c7ef10c946baa3768446178b664af8e8222275f10f9ee6f5f87cf1e23f23c4a221f431864744 + SHA512 fd46ac45e8906854ededb9e30ee3ba8bdd05588e6ca7c9fdf140254ee637d32565417d799da33b23228f1ade8111fcae037eed4cf978a11d35e70ab8861214a2 ) - vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH + vcpkg_extract_source_archive( + SOURCE_PATH ARCHIVE "${ARCHIVE_FILE}" - REF 7.0.0 + SOURCE_BASE 7.0.0 ) file(COPY "${SOURCE_PATH}/lib/libchartdir.7.dylib" DESTINATION "${CURRENT_PACKAGES_DIR}/lib") @@ -55,7 +55,7 @@ elseif(VCPKG_TARGET_IS_LINUX) if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") vcpkg_download_distfile(ARCHIVE_FILE - URLS "https://www.advsofteng.net/chartdir_cpp_linux_64.tar.gz" + URLS "https://www.advsofteng.com/vcpkg/chartdir_cpp_linux_64_7.0.0.tar.gz" FILENAME "chartdir_cpp_linux_64-7.0.0.tar.gz" SHA512 ea2e05f28dd9647fed49feaf130d8034065067463965f144b3fae4eae482579b1ecf528dc86d1b3602887d5ca0c3b1569404489b0f4cb2300b798fed940cd467 ) @@ -63,17 +63,17 @@ elseif(VCPKG_TARGET_IS_LINUX) else() vcpkg_download_distfile(ARCHIVE_FILE - URLS "https://www.advsofteng.net/chartdir_cpp_linux.tar.gz" + URLS "https://www.advsofteng.com/vcpkg/chartdir_cpp_linux_7.0.0.tar.gz" FILENAME "chartdir_cpp_linux-7.0.0.tar.gz" SHA512 54720fb431fa0fb34be3a187ec3886b0f2a7307ea52a0415fab8513117a157f64a8c0e0b01304aac1d313e4557768242e6b12002509fde2e5303d930c78c0e03 ) endif() - vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH + vcpkg_extract_source_archive( + SOURCE_PATH ARCHIVE "${ARCHIVE_FILE}" - REF 7.0.0 + SOURCE_BASE 7.0.0 ) file(COPY "${SOURCE_PATH}/lib/libchartdir.so.7.0.0" DESTINATION "${CURRENT_PACKAGES_DIR}/lib") @@ -88,6 +88,6 @@ endif() file(GLOB HEADERS "${SOURCE_PATH}/include/*.h") file(COPY ${HEADERS} DESTINATION "${CURRENT_PACKAGES_DIR}/include/${PORT}") file(COPY "${CMAKE_CURRENT_LIST_DIR}/chartdir.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include") -file(COPY "${SOURCE_PATH}/LICENSE.TXT" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright") configure_file("${CMAKE_CURRENT_LIST_DIR}/Config.cmake.in" "${CURRENT_PACKAGES_DIR}/share/${PORT}/chartdir-config.cmake" @ONLY) 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) diff --git a/ports/chartdir/vcpkg.json b/ports/chartdir/vcpkg.json index f10b4d17111695..46ebed2f495243 100644 --- a/ports/chartdir/vcpkg.json +++ b/ports/chartdir/vcpkg.json @@ -1,7 +1,9 @@ { "name": "chartdir", "version": "7.0.0", - "port-version": 1, + "port-version": 7, "description": "ChartDirector is a powerful chart component for creating professional looking charts for web and windows applications.", - "homepage": "https://www.advsofteng.com/" + "homepage": "https://www.advsofteng.com/", + "license": null, + "supports": "!(arm & windows) & !uwp" } diff --git a/ports/check/fix-lib-path.patch b/ports/check/fix-lib-path.patch index 1951c2bfe7c98f..d3086e74fe7087 100644 --- a/ports/check/fix-lib-path.patch +++ b/ports/check/fix-lib-path.patch @@ -29,17 +29,15 @@ index 38cbc53..d8a4272 100644 # vim: shiftwidth=2:softtabstop=2:tabstop=2:expandtab:autoindent diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 4a02dbe..ade4cfd 100644 +index 4a02dbe..3bf2fa6 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt -@@ -191,8 +191,8 @@ if(NOT THIS_IS_SUBPROJECT) +@@ -191,7 +191,7 @@ if(NOT THIS_IS_SUBPROJECT) install(TARGETS check checkShared EXPORT check-targets ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -- RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/manual-link -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}/manual-link + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} ) - endif() diff --git a/ports/check/linkage.patch b/ports/check/linkage.patch new file mode 100644 index 00000000000000..3c18c522f3c03c --- /dev/null +++ b/ports/check/linkage.patch @@ -0,0 +1,20 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 4a02dbe..3e147e4 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -188,7 +188,14 @@ target_include_directories(checkShared + ) + + if(NOT THIS_IS_SUBPROJECT) +- install(TARGETS check checkShared ++ if(BUILD_SHARED_LIBS) ++ set(lib checkShared) ++ set_target_properties(check PROPERTIES EXCLUDE_FROM_ALL 1) ++ else() ++ set(lib check) ++ set_target_properties(checkShared PROPERTIES EXCLUDE_FROM_ALL 1) ++ endif() ++ install(TARGETS ${lib} + EXPORT check-targets + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/manual-link diff --git a/ports/check/portfile.cmake b/ports/check/portfile.cmake index 0553e098195a02..3033360ad95ea7 100644 --- a/ports/check/portfile.cmake +++ b/ports/check/portfile.cmake @@ -1,30 +1,36 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libcheck/check - REF 11970a7e112dfe243a2e68773f014687df2900e8 # 0.15.2 + REF 11970a7e112dfe243a2e68773f014687df2900e8 # 0.15.2 SHA512 210c9617fa1c1ce16bef983b0e6cb587b1774c3f7ce27a53ca7799642dc7a14be8de567d69dc0e57845684c6f7991d772c73654f63c8755afda3b37a35c7156e HEAD_REF master - PATCHES fix-lib-path.patch + PATCHES + fix-lib-path.patch + linkage.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA # Disable this option if project cannot be built with Ninja +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_TESTING=OFF + -DCHECK_ENABLE_GCOV=OFF + -DCHECK_ENABLE_TESTS=OFF + -DCHECK_ENABLE_TIMEOUT_TESTS=OFF + -DENABLE_MEMORY_LEAKING_TESTS=OFF + -DINSTALL_CHECKMK=OFF ) -vcpkg_install_cmake() - -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/check) - +vcpkg_cmake_install() vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/check) +vcpkg_fixup_pkgconfig() -if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic" AND VCPKG_TARGET_IS_WINDOWS) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/check.h" "#define CK_DLL_EXP" "#define CK_DLL_EXP __declspec(dllimport)") endif() -# cleanup -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") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/man") -# Handle copyright -file(INSTALL ${SOURCE_PATH}/COPYING.LESSER DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) -vcpkg_fixup_pkgconfig() +file(COPY "${CURRENT_PORT_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING.LESSER") diff --git a/ports/check/usage b/ports/check/usage new file mode 100644 index 00000000000000..a511e134c93d19 --- /dev/null +++ b/ports/check/usage @@ -0,0 +1,4 @@ +check provides CMake targets: + + find_package(check CONFIG REQUIRED) + target_link_libraries(main PRIVATE $,Check::check,Check::checkShared>) diff --git a/ports/check/vcpkg.json b/ports/check/vcpkg.json index eb021bead0734b..dbc06c330762c6 100644 --- a/ports/check/vcpkg.json +++ b/ports/check/vcpkg.json @@ -1,7 +1,18 @@ { "name": "check", - "version-string": "0.15.2", - "port-version": 2, + "version": "0.15.2", + "port-version": 5, "description": "A unit testing framework for C", - "homepage": "https://github.com/libcheck/check" + "homepage": "https://github.com/libcheck/check", + "license": "LGPL-2.1-only", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } 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 f0f72cd6cb1425..727ad212b28b11 100644 --- a/ports/chipmunk/portfile.cmake +++ b/ports/chipmunk/portfile.cmake @@ -1,17 +1,26 @@ +vcpkg_download_distfile( + SYSCTL_REMOVED_PATCH + URLS https://github.com/slembcke/Chipmunk2D/commit/9a051e6fb970c7afe09ce2d564c163b81df050a8.patch?full_index=1 + SHA512 54ec8766529d301ea35e8e0e7f7e9803101454d0f3655f7be87b6c81414a71e6fd269c14cf1d89902eebea78bb20526b0e4da4c53cf660d169ebabe46dadd059 + FILENAME 9a051e6fb970c7afe09ce2d564c163b81df050a8.patch +) + 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) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" KEYSTONE_BUILD_SHARED) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_DEMOS=OFF -DBUILD_SHARED=${KEYSTONE_BUILD_SHARED} @@ -19,21 +28,12 @@ vcpkg_configure_cmake( -DINSTALL_STATIC=${KEYSTONE_BUILD_STATIC} ) -vcpkg_install_cmake() +vcpkg_cmake_install() 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 07bda6fcb914a8..5877bd206abeb6 100644 --- a/ports/chipmunk/vcpkg.json +++ b/ports/chipmunk/vcpkg.json @@ -1,7 +1,19 @@ { "name": "chipmunk", - "version-string": "7.0.3", - "port-version": 2, + "version": "7.0.3", + "port-version": 7, "description": "A fast and lightweight 2D game physics library.", - "homepage": "https://github.com/slembcke/Chipmunk2D" + "homepage": "https://github.com/slembcke/Chipmunk2D", + "license": "MIT", + "supports": "!(arm & !arm64 & android)", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } 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/all-platforms.patch b/ports/chmlib/all-platforms.patch new file mode 100644 index 00000000000000..62dca58ec21331 --- /dev/null +++ b/ports/chmlib/all-platforms.patch @@ -0,0 +1,20 @@ +diff --git a/src/chm_lib.c b/src/chm_lib.c +index 6c6736c..d532691 100644 +--- a/src/chm_lib.c ++++ b/src/chm_lib.c +@@ -175,8 +175,13 @@ typedef unsigned long UInt64; + + #else + +-/* yielding an error is preferable to yielding incorrect behavior */ +-#error "Please define the sized types for your platform in chm_lib.c" ++typedef unsigned char UChar; ++typedef int16_t Int16; ++typedef uint16_t UInt16; ++typedef int32_t Int32; ++typedef uint32_t UInt32; ++typedef int64_t Int64; ++typedef uint64_t UInt64; + #endif + + /* GCC */ diff --git a/ports/chmlib/portfile.cmake b/ports/chmlib/portfile.cmake index 32ac77243b491c..4a9c7d5c3f7b1d 100644 --- a/ports/chmlib/portfile.cmake +++ b/ports/chmlib/portfile.cmake @@ -11,23 +11,24 @@ vcpkg_download_distfile( SHA512 ad3b0d49fcf99e724c0c38b9c842bae9508d0e4ad47122b0f489c113160f5344223d311abb79f25cbb0b662bb00e2925d338d60dd20a0c309bda2822cda4cd24 ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" + PATCHES + all-platforms.patch + strings_h.patch ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS_RELEASE -DBUILD_TOOLS=ON OPTIONS_DEBUG -DBUILD_TOOLS=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -file(INSTALL ${SOURCE_PATH}/src/chm_lib.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) +file(INSTALL "${SOURCE_PATH}/src/chm_lib.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include") -file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/chmlib) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/chmlib/COPYING ${CURRENT_PACKAGES_DIR}/share/chmlib/copyright) +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) 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 f3fcf3d84c7e16..cf9899013bfc23 100644 --- a/ports/chmlib/vcpkg.json +++ b/ports/chmlib/vcpkg.json @@ -1,7 +1,14 @@ { "name": "chmlib", - "version-string": "0.40", - "port-version": 5, + "version": "0.40", + "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": "https://www.jedrea.com/chmlib/" + "homepage": "http://www.jedrea.com/chmlib/", + "license": "LGPL-2.1-or-later", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/chromaprint/fix_lrintf_detection.patch b/ports/chromaprint/fix_lrintf_detection.patch deleted file mode 100644 index 27248f0c802236..00000000000000 --- a/ports/chromaprint/fix_lrintf_detection.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 3a0eecb..4fa5e8d 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -17,6 +17,7 @@ set_property(CACHE FFT_LIB PROPERTY STRINGS avfft fftw3 fftw3f kissfft vdsp) - - include(CMakePushCheckState) - include(CheckFunctionExists) -+include(CheckSymbolExists) - include(CheckCXXCompilerFlag) - - find_package(Threads) -@@ -37,8 +38,8 @@ endif() - - cmake_push_check_state(RESET) - set(CMAKE_REQUIRED_LIBRARIES -lm) --check_function_exists(lrintf HAVE_LRINTF) --check_function_exists(round HAVE_ROUND) -+check_symbol_exists(lrintf math.h HAVE_LRINTF) -+check_symbol_exists(round math.h HAVE_ROUND) - cmake_pop_check_state() - - add_definitions( diff --git a/ports/chromaprint/portfile.cmake b/ports/chromaprint/portfile.cmake index 286edaeb38ae4c..681693fc87e0a9 100644 --- a/ports/chromaprint/portfile.cmake +++ b/ports/chromaprint/portfile.cmake @@ -1,18 +1,18 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO acoustid/chromaprint - REF v1.5.0 - SHA512 333114949928abdf5d4b11aba1db6ec487eebe526324c68d903b3fa80a3af87a28d942af765a2f873e63a1bf222b658b6438cd10cde4446f61b26ea91f537469 - PATCHES - fix_lrintf_detection.patch # submitted upstream as https://github.com/acoustid/chromaprint/pull/85 + REF "v${VERSION}" + SHA512 ea16e4d2b879c15b1d9b9ec93878da8b893f1834c70942663e1d2d106c2e0a661094fe2dd3bae7a6c2a1f9d5d8fab5e0b0ba493561090cf57b2228606fad1e66 + HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_TESTS=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() 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_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.md") diff --git a/ports/chromaprint/vcpkg.json b/ports/chromaprint/vcpkg.json index 271532380431c5..56d01d0ee30356 100644 --- a/ports/chromaprint/vcpkg.json +++ b/ports/chromaprint/vcpkg.json @@ -1,11 +1,15 @@ { "name": "chromaprint", - "version": "1.5.0", - "port-version": 1, + "version": "1.5.1", "description": "C library for generating audio fingerprints used by AcoustID", "homepage": "https://github.com/acoustid/chromaprint", "license": "LGPL-2.1-or-later", + "supports": "!xbox", "dependencies": [ - "ffmpeg" + "ffmpeg", + { + "name": "vcpkg-cmake", + "host": true + } ] } diff --git a/ports/chromium-base/portfile.cmake b/ports/chromium-base/portfile.cmake index 6f6d9728cd6b1b..d9e6e8e6a4f531 100644 --- a/ports/chromium-base/portfile.cmake +++ b/ports/chromium-base/portfile.cmake @@ -1,7 +1,3 @@ -vcpkg_fail_port_install( - ON_ARCH "x86" "arm" "arm64" - ON_TARGET "UWP") - # Patches may be provided at the end function(checkout_in_path PATH URL REF) if(EXISTS "${PATH}") @@ -12,7 +8,7 @@ function(checkout_in_path PATH URL REF) endif() file(REMOVE_RECURSE "${PATH}") endif() - + vcpkg_from_git( OUT_SOURCE_PATH DEP_SOURCE_PATH URL "${URL}" @@ -29,26 +25,26 @@ file(MAKE_DIRECTORY "${SOURCE_PATH}/third_party") set(CHROMIUM_GIT "https://chromium.googlesource.com/chromium/src") checkout_in_path( - "${SOURCE_PATH}/base" - "${CHROMIUM_GIT}/base" + "${SOURCE_PATH}/base" + "${CHROMIUM_GIT}/base" "25ce73258703a5ac018da0e203fb3d4a98c2136e" res/0001-base.patch) checkout_in_path( - "${SOURCE_PATH}/build" - "${CHROMIUM_GIT}/build" + "${SOURCE_PATH}/build" + "${CHROMIUM_GIT}/build" "312532ee66abdacbe58afb5df7ddf05e3a6399f9" res/0002-build.patch) checkout_in_path( - "${SOURCE_PATH}/third_party/apple_apsl" - "${CHROMIUM_GIT}/third_party/apple_apsl" + "${SOURCE_PATH}/third_party/apple_apsl" + "${CHROMIUM_GIT}/third_party/apple_apsl" "4cc25bbf65194f6726f7f10da0a885818e35d53e") checkout_in_path( - "${SOURCE_PATH}/third_party/ced" - "${CHROMIUM_GIT}/third_party/ced" + "${SOURCE_PATH}/third_party/ced" + "${CHROMIUM_GIT}/third_party/ced" "4cd87a44674edd9fe1f01c4cb5f1b73907ce4236") checkout_in_path( - "${SOURCE_PATH}/third_party/modp_b64" - "${CHROMIUM_GIT}/third_party/modp_b64" + "${SOURCE_PATH}/third_party/modp_b64" + "${CHROMIUM_GIT}/third_party/modp_b64" "509f005fa65e652dc4a6f636da6fa1002b6dce16") set(RES "${CMAKE_CURRENT_LIST_DIR}/res") @@ -72,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) @@ -80,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() @@ -92,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}\"") @@ -105,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() @@ -114,7 +110,7 @@ set(OPTIONS_REL "${OPTIONS} is_debug=false symbol_level=0") set(DEFINITIONS_DBG ${DEFINITIONS}) set(DEFINITIONS_REL ${DEFINITIONS}) -vcpkg_configure_gn( +vcpkg_gn_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS_DEBUG "${OPTIONS_DBG}" OPTIONS_RELEASE "${OPTIONS_REL}" @@ -125,16 +121,16 @@ set(NINJA_REBUILD "build build.ninja: gn\n generator = 1\n depfile = build.nin vcpkg_replace_string("${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/build.ninja" "${NINJA_REBUILD}" "") vcpkg_replace_string("${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/build.ninja" "${NINJA_REBUILD}" "") -set(TARGETS +set(TARGETS base base:base_static - base/third_party/dynamic_annotations + 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() -vcpkg_install_gn( +vcpkg_gn_install( SOURCE_PATH "${SOURCE_PATH}" TARGETS ${TARGETS} ) diff --git a/ports/chromium-base/vcpkg.json b/ports/chromium-base/vcpkg.json index 6ca5e8a9e14dc1..5fa9c7d57a4c29 100644 --- a/ports/chromium-base/vcpkg.json +++ b/ports/chromium-base/vcpkg.json @@ -1,8 +1,19 @@ { "name": "chromium-base", - "version-string": "86.0.4199.1", - "port-version": 2, + "version": "86.0.4199.1", + "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", - "supports": "x64 & (osx | windows | linux) & !uwp" + "license": "BSD-3-Clause", + "supports": "x64 & (osx | windows | linux) & !uwp", + "dependencies": [ + { + "name": "vcpkg-gn", + "host": true + }, + { + "name": "vcpkg-tool-gn", + "host": true + } + ] } diff --git a/ports/chronoengine/find_package_required.patch b/ports/chronoengine/find_package_required.patch new file mode 100644 index 00000000000000..60423ac66a9701 --- /dev/null +++ b/ports/chronoengine/find_package_required.patch @@ -0,0 +1,296 @@ +diff --git a/cmake/FindBLAS.cmake b/cmake/FindBLAS.cmake +index 6a8f0f9e1..c44f92eb4 100644 +--- a/cmake/FindBLAS.cmake ++++ b/cmake/FindBLAS.cmake +@@ -487,7 +487,7 @@ if (BLA_VENDOR MATCHES "Intel" OR BLA_VENDOR STREQUAL "All") + endif () + if (CMAKE_C_COMPILER_LOADED OR CMAKE_CXX_COMPILER_LOADED) + if(BLAS_FIND_QUIETLY OR NOT BLAS_FIND_REQUIRED) +- find_package(Threads) ++ find_package(Threads REQUIRED) + else() + find_package(Threads REQUIRED) + endif() +diff --git a/cmake/FindEigen3.cmake b/cmake/FindEigen3.cmake +index 0d2b3cedd..02c2b50d2 100644 +--- a/cmake/FindEigen3.cmake ++++ b/cmake/FindEigen3.cmake +@@ -1,7 +1,7 @@ + # - Try to find Eigen3 lib + # + # This module supports requiring a minimum version, e.g. you can do +-# find_package(Eigen3 3.1.2) ++# find_package(Eigen3 3.1.2 REQUIRED) + # to require version 3.1.2 or newer of Eigen3. + # + # Once done this will define +@@ -70,7 +70,7 @@ else (EIGEN3_INCLUDE_DIR) + # search first if an Eigen3Config.cmake is available in the system, + # if successful this would set EIGEN3_INCLUDE_DIR and the rest of + # the script will work as usual +- find_package(Eigen3 ${Eigen3_FIND_VERSION} NO_MODULE QUIET) ++ find_package(Eigen3 ${Eigen3_FIND_VERSION} NO_MODULE REQUIRED) + + if(NOT EIGEN3_INCLUDE_DIR) + find_path(EIGEN3_INCLUDE_DIR NAMES signature_of_eigen3_matrix_library +diff --git a/cmake/FindMKL.cmake b/cmake/FindMKL.cmake +index 6f8a2740f..acf43af4d 100644 +--- a/cmake/FindMKL.cmake ++++ b/cmake/FindMKL.cmake +@@ -7,7 +7,7 @@ + # + # Usage example: + # set(MKL_USE_STATIC_LIBS ON) +-# find_package(MKL) ++# find_package(MKL REQUIRED) + # if (MKL_FOUND) + # include_directories(${MKL_INCLUDE_DIRS}) + # link_directories(${MKL_LIBRARY_DIRS}) +diff --git a/cmake/FindMyGUI.cmake b/cmake/FindMyGUI.cmake +index b5563c801..2fc991246 100644 +--- a/cmake/FindMyGUI.cmake ++++ b/cmake/FindMyGUI.cmake +@@ -81,7 +81,7 @@ IF (WIN32) #Windows + ENDIF (OGRESOURCE) + ELSE (WIN32) #Unix + CMAKE_MINIMUM_REQUIRED(VERSION 2.4.7 FATAL_ERROR) +- FIND_PACKAGE(PkgConfig) ++ find_package(PkgConfig REQUIRED) + IF(MYGUI_STATIC) + # don't use pkgconfig on OS X, find freetype & append it's libs to resulting MYGUI_LIBRARIES + IF (NOT APPLE) +@@ -101,7 +101,7 @@ ELSE (WIN32) #Unix + ENDIF (MYGUI_INCLUDE_DIRS) + ELSE (NOT APPLE) + SET(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} ${MYGUI_DEPENDENCIES_DIR} ${OGRE_DEPENDENCIES_DIR}) +- FIND_PACKAGE(freetype) ++ find_package(freetype REQUIRED) + FIND_PATH(MYGUI_INCLUDE_DIRS MyGUI.h PATHS /usr/local/include /usr/include PATH_SUFFIXES MyGUI MYGUI) + FIND_LIBRARY(MYGUI_LIBRARIES MyGUIEngineStatic PATHS /usr/lib /usr/local/lib) + SET(MYGUI_PLATFORM_LIBRARIES "MyGUI.OgrePlatform") +diff --git a/cmake/FindOgre.cmake b/cmake/FindOgre.cmake +index 9e2081a0c..950ba0185 100644 +--- a/cmake/FindOgre.cmake ++++ b/cmake/FindOgre.cmake +@@ -262,17 +262,17 @@ endif () + # look for required Ogre dependencies in case of static build and/or threading + if (OGRE_STATIC) + set(OGRE_DEPS_FOUND TRUE) +- find_package(Cg QUIET) +- find_package(DirectX QUIET) +- find_package(FreeImage QUIET) +- find_package(Freetype QUIET) +- find_package(OpenGL QUIET) +- find_package(OpenGLES QUIET) +- find_package(OpenGLES2 QUIET) +- find_package(ZLIB QUIET) +- find_package(ZZip QUIET) ++ find_package(Cg REQUIRED) ++ find_package(DirectX REQUIRED) ++ find_package(FreeImage REQUIRED) ++ find_package(Freetype REQUIRED) ++ find_package(OpenGL REQUIRED) ++ find_package(OpenGLES REQUIRED) ++ find_package(OpenGLES2 REQUIRED) ++ find_package(ZLIB REQUIRED) ++ find_package(ZZip REQUIRED) + if (UNIX AND NOT APPLE AND NOT ANDROID) +- find_package(X11 QUIET) ++ find_package(X11 REQUIRED) + find_library(XAW_LIBRARY NAMES Xaw Xaw7 PATHS ${DEP_LIB_SEARCH_DIR} ${X11_LIB_SEARCH_PATH}) + if (NOT XAW_LIBRARY OR NOT X11_Xt_FOUND) + set(X11_FOUND FALSE) +@@ -310,7 +310,7 @@ endif() + endif() + + set(OGRE_BOOST_COMPONENTS thread date_time) +- find_package(Boost COMPONENTS ${OGRE_BOOST_COMPONENTS} QUIET) ++ find_package(Boost COMPONENTS ${OGRE_BOOST_COMPONENTS} REQUIRED) + if(Boost_FOUND AND Boost_VERSION GREATER 104900) + if(Boost_VERSION GREATER 105300) + set(OGRE_BOOST_COMPONENTS thread date_time system atomic chrono) +@@ -319,7 +319,7 @@ endif() + endif() + endif() + +- find_package(Boost COMPONENTS ${OGRE_BOOST_COMPONENTS} QUIET) ++ find_package(Boost COMPONENTS ${OGRE_BOOST_COMPONENTS} REQUIRED) + if (NOT Boost_THREAD_FOUND) + set(OGRE_DEPS_FOUND FALSE) + else () +@@ -327,7 +327,7 @@ endif() + set(OGRE_INCLUDE_DIRS ${OGRE_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS}) + endif () + elseif (OGRE_CONFIG_THREAD_PROVIDER EQUAL 2) +- find_package(POCO QUIET) ++ find_package(POCO REQUIRED) + if (NOT POCO_FOUND) + set(OGRE_DEPS_FOUND FALSE) + else () +@@ -335,7 +335,7 @@ endif() + set(OGRE_INCLUDE_DIRS ${OGRE_INCLUDE_DIRS} ${POCO_INCLUDE_DIRS}) + endif () + elseif (OGRE_CONFIG_THREAD_PROVIDER EQUAL 3) +- find_package(TBB QUIET) ++ find_package(TBB REQUIRED) + if (NOT TBB_FOUND) + set(OGRE_DEPS_FOUND FALSE) + else () +diff --git a/cmake/FindPkgMacros.cmake b/cmake/FindPkgMacros.cmake +index 53111e074..2f6881c61 100644 +--- a/cmake/FindPkgMacros.cmake ++++ b/cmake/FindPkgMacros.cmake +@@ -70,7 +70,7 @@ endmacro(clear_if_changed) + # Try to get some hints from pkg-config, if available + macro(use_pkgconfig PREFIX PKGNAME) + if(NOT ANDROID) +- find_package(PkgConfig) ++ find_package(PkgConfig REQUIRED) + if (PKG_CONFIG_FOUND) + pkg_check_modules(${PREFIX} ${PKGNAME}) + endif () +diff --git a/cmake/FindSDL2.cmake b/cmake/FindSDL2.cmake +index 4b8f7e915..e27895a2f 100644 +--- a/cmake/FindSDL2.cmake ++++ b/cmake/FindSDL2.cmake +@@ -112,7 +112,7 @@ ENDIF(NOT SDL2_BUILDING_LIBRARY) + # frameworks may already provide it. + # But for non-OSX systems, I will use the CMake Threads package. + IF(NOT APPLE) +- FIND_PACKAGE(Threads) ++ find_package(Threads REQUIRED) + ENDIF(NOT APPLE) + + # MinGW needs an additional library, mwindows +diff --git a/cmake/GetGitRevisionDescription.cmake b/cmake/GetGitRevisionDescription.cmake +index 319f307a9..68ec2dad7 100644 +--- a/cmake/GetGitRevisionDescription.cmake ++++ b/cmake/GetGitRevisionDescription.cmake +@@ -82,7 +82,7 @@ endfunction() + + function(git_describe _var) + if(NOT GIT_FOUND) +- find_package(Git QUIET) ++ find_package(Git REQUIRED) + endif() + get_git_head_revision(refspec hash) + if(NOT GIT_FOUND) +diff --git a/src/chrono_cascade/CMakeLists.txt b/src/chrono_cascade/CMakeLists.txt +index 3d38c8707..f9558baf8 100644 +--- a/src/chrono_cascade/CMakeLists.txt ++++ b/src/chrono_cascade/CMakeLists.txt +@@ -50,7 +50,7 @@ source_group("" FILES + #----------------------------------------------------------------------------- + # Find OpenCASCADE + +-find_package(OpenCASCADE CONFIG) ++find_package(OpenCASCADE CONFIG REQUIRED) + + if (NOT OpenCASCADE_FOUND) + message("Could not find OpenCASCADE or one of its required modules") +diff --git a/src/chrono_mumps/CMakeLists.txt b/src/chrono_mumps/CMakeLists.txt +index d8564600b..a2e1ea207 100644 +--- a/src/chrono_mumps/CMakeLists.txt ++++ b/src/chrono_mumps/CMakeLists.txt +@@ -88,7 +88,7 @@ unset(BLAS_FOUND) + unset(BLAS_LIBRARIES) + message(STATUS "Searching for BLAS...") + +-find_package(BLAS) ++find_package(BLAS REQUIRED) + + set(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH_BKP}) # restore original CMAKE_LIBRARY_PATH + +diff --git a/src/chrono_mumps/building_Mumps/CMakeLists_5.0.2.txt b/src/chrono_mumps/building_Mumps/CMakeLists_5.0.2.txt +index e179a6841..5a6852e4b 100644 +--- a/src/chrono_mumps/building_Mumps/CMakeLists_5.0.2.txt ++++ b/src/chrono_mumps/building_Mumps/CMakeLists_5.0.2.txt +@@ -78,7 +78,7 @@ endif() + SET(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} ${BLAS_LIBRARIES_USER} ${INTEL_LIBRARIES_DIRS} ) + + +-find_package(BLAS) ++find_package(BLAS REQUIRED) + SET(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH_BKP}) # restore original CMAKE_LIBRARY_PATH + + if (NOT BLAS_FOUND) +@@ -101,7 +101,7 @@ SET(GENERIC_COMPILER_FLAGS_C #aka OPTC + "-MD") + + +-find_package(OpenMP) ++find_package(OpenMP REQUIRED) + if (ENABLE_OPENMP AND OPENMP_FOUND) + SET(GENERIC_COMPILER_FLAGS_FORTRAN "${GENERIC_COMPILER_FLAGS_FORTRAN} ${OpenMP_Fortran_FLAGS}") + SET(GENERIC_COMPILER_FLAGS_C "${GENERIC_COMPILER_FLAGS_C} ${OpenMP_C_FLAGS}") +diff --git a/src/chrono_mumps/building_Mumps/CMakeLists_5.1.1.txt b/src/chrono_mumps/building_Mumps/CMakeLists_5.1.1.txt +index 1c3a3b3bb..115d3372e 100644 +--- a/src/chrono_mumps/building_Mumps/CMakeLists_5.1.1.txt ++++ b/src/chrono_mumps/building_Mumps/CMakeLists_5.1.1.txt +@@ -78,7 +78,7 @@ endif() + SET(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} ${BLAS_LIBRARIES_USER} ${INTEL_LIBRARIES_DIRS} ) + + # Looking for valid BLAS libraries +-find_package(BLAS) ++find_package(BLAS REQUIRED) + SET(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH_BKP}) # restore original CMAKE_LIBRARY_PATH + + if (NOT BLAS_FOUND) +@@ -121,7 +121,7 @@ SET(GENERIC_COMPILER_FLAGS_C #aka OPTC + "-MD") + + +-find_package(OpenMP) ++find_package(OpenMP REQUIRED) + if (ENABLE_OPENMP AND OPENMP_FOUND) + SET(GENERIC_COMPILER_FLAGS_FORTRAN "${GENERIC_COMPILER_FLAGS_FORTRAN} ${OpenMP_Fortran_FLAGS}") + SET(GENERIC_COMPILER_FLAGS_C "${GENERIC_COMPILER_FLAGS_C} ${OpenMP_C_FLAGS}") +diff --git a/src/chrono_opengl/CMakeLists.txt b/src/chrono_opengl/CMakeLists.txt +index a7b60f13d..9b76134fa 100644 +--- a/src/chrono_opengl/CMakeLists.txt ++++ b/src/chrono_opengl/CMakeLists.txt +@@ -41,10 +41,10 @@ endif() + + cmake_policy(SET CMP0072 NEW) + +-find_package(OpenGL) +-find_package(GLM) +-find_package(GLEW) +-find_package(GLFW) ++find_package(OpenGL REQUIRED) ++find_package(GLM REQUIRED) ++find_package(GLEW REQUIRED) ++find_package(GLFW REQUIRED) + + # On windows, ask for the GLEW and GLFW DLLs so that we can copy. This is + # optional. If not specified, it is the user's responsibility to make them +diff --git a/src/chrono_pardisomkl/CMakeLists.txt b/src/chrono_pardisomkl/CMakeLists.txt +index 8c35c5d70..8313af46e 100644 +--- a/src/chrono_pardisomkl/CMakeLists.txt ++++ b/src/chrono_pardisomkl/CMakeLists.txt +@@ -27,7 +27,7 @@ message(STATUS "Find MKL libraries") + + #set(MKL_USE_STATIC_LIBS ON) + #set(MKL_FIND_DEBUG ON) +-find_package(MKL) ++find_package(MKL REQUIRED) + + message(STATUS " MKL include dirs: ${MKL_INCLUDE_DIRS}") + message(STATUS " MKL libraries: ${MKL_LIBRARIES}") +diff --git a/src/chrono_sensor/CMakeLists.txt b/src/chrono_sensor/CMakeLists.txt +index 2b4102d5b..14c2f15e9 100644 +--- a/src/chrono_sensor/CMakeLists.txt ++++ b/src/chrono_sensor/CMakeLists.txt +@@ -29,9 +29,9 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "Windows") + mark_as_advanced(CLEAR GLFW_DLL) + endif() + +-find_package(GLFW OPTIONAL_COMPONENTS) +-find_package(OpenGL OPTIONAL_COMPONENTS) +-find_package(GLEW OPTIONAL_COMPONENTS) ++find_package(GLFW REQUIRED) ++find_package(OpenGL REQUIRED) ++find_package(GLEW REQUIRED) + + message(STATUS "OpenGL libraries: ${OPENGL_LIBRARIES}") + message(STATUS "GLEW libraries: ${GLEW_LIBRARY}") diff --git a/ports/chronoengine/fix_dependencies.patch b/ports/chronoengine/fix_dependencies.patch new file mode 100644 index 00000000000000..214857df3495c4 --- /dev/null +++ b/ports/chronoengine/fix_dependencies.patch @@ -0,0 +1,180 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index d75ce1055..a21acbd83 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -96,7 +96,7 @@ endif() + + message(STATUS "Searching for Threads...") + set(THREADS_PREFER_PTHREAD_FLAG TRUE) +-find_package(Threads) ++find_package(Threads REQUIRED) + + message(STATUS " Thread library: ${CMAKE_THREAD_LIBS_INIT}") + message(STATUS " Using Win32 threads? ${CMAKE_USE_WIN32_THREADS_INIT}") +@@ -112,8 +112,9 @@ set(CH_C_FLAGS "${CH_C_FLAGS} ${CMAKE_THREAD_LIBS_INIT}") + # main ChronoEngine library, regardless on whether or not OpenMP is found. + + message(STATUS "Searching for OpenMP...") +-find_package(OpenMP) +- ++if(0) ++find_package(OpenMP REQUIRED) ++endif() + # Determine OpenMP version. Prepare substitution variables that can be used in + # generating configuration header files. + +@@ -177,7 +178,7 @@ if(USE_SIMD) + + # Figure out SIMD support + message(STATUS "Testing SIMD capabilities...") +- find_package(SIMD) ++ find_package(SIMD REQUIRED) + + # Set substitution variables for configuration file + if(SIMD_SSE) +@@ -250,7 +251,7 @@ endif() + #----------------------------------------------------------------------------- + + message(STATUS "Searching for Eigen3...") +-find_package(Eigen3 3.3.0) ++find_package(Eigen3 3.3.0 REQUIRED) + if(EIGEN3_FOUND) + message(STATUS " Eigen3 version: ${EIGEN3_VERSION}") + message(STATUS " Eigen3 include directory: ${EIGEN3_INCLUDE_DIR}") +@@ -293,7 +294,9 @@ endif() + #----------------------------------------------------------------------------- + + message(STATUS "Searching for MPI...") +-find_package(MPI) ++if(0) ++find_package(MPI REQUIRED) ++endif() + if(MPI_FOUND) + message(STATUS " MPI compiler: ${MPI_CXX_COMPILER}") + message(STATUS " MPI compile flags: ${MPI_CXX_COMPILE_FLAGS}") +@@ -312,9 +315,9 @@ endif() + #----------------------------------------------------------------------------- + + message(STATUS "Searching for CUDA...") +- +-find_package(CUDA QUIET) +- ++if(0) ++find_package(CUDA REQUIRED) ++endif() + if(CUDA_FOUND) + set(CUDA_BINARY_DIR "${CUDA_TOOLKIT_ROOT_DIR}/bin") + +@@ -373,7 +376,7 @@ endif() + #----------------------------------------------------------------------------- + + message(STATUS "Searching for Thrust...") +- ++if(0) + if (${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD") + find_path(THRUST_INCLUDE_DIR NAMES thrust/version.h PATHS "/usr/local" "/usr/local/include") + if (THRUST_INCLUDE_DIR) +@@ -383,9 +386,9 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD") + set(${THRUST_FOUND} FALSE) + endif() + else() +- find_package(Thrust) ++ find_package(Thrust REQUIRED) ++endif() + endif() +- + if(THRUST_FOUND) + message(STATUS " Thrust version: ${THRUST_VERSION}") + message(STATUS " Thrust include dir: ${THRUST_INCLUDE_DIR}") +@@ -500,14 +503,14 @@ if(ENABLE_HDF5) + # HDF5_INCLUDE_DIRS + # HDF5_C_LIBRARIES + # HDF5_CXX_LIBRARIES +- find_package(HDF5 COMPONENTS CXX) ++ find_package(HDF5 COMPONENTS CXX REQUIRED) + + if(NOT HDF5_FOUND) + # Look for a package configuration file + # LIB_TYPE can be one of STATIC or SHARED. + set(LIB_TYPE SHARED) # STATIC or SHARED + string(TOLOWER ${LIB_TYPE} SEARCH_TYPE) +- find_package(HDF5 NAMES hdf5 COMPONENTS CXX ${SEARCH_TYPE}) ++ find_package(HDF5 NAMES hdf5 COMPONENTS CXX ${SEARCH_TYPE} REQUIRED) + + if (HDF5_FOUND) + set(HDF5_INCLUDE_DIRS ${HDF5_INCLUDE_DIR}) +diff --git a/src/chrono/CMakeLists.txt b/src/chrono/CMakeLists.txt +index 88f970fca..917452c4e 100644 +--- a/src/chrono/CMakeLists.txt ++++ b/src/chrono/CMakeLists.txt +@@ -1405,9 +1405,9 @@ endif() + # Add the ChronoEngine library to the project + add_library(ChronoEngine SHARED ${ChronoEngine_FILES}) + +-target_link_libraries(ChronoEngine ${OPENMP_LIBRARIES} ${CH_SOCKET_LIB}) ++target_link_libraries(ChronoEngine ${OPENMP_LIBRARIES} ${CH_SOCKET_LIB} TBB::tbb TBB::tbbmalloc) + if (UNIX) +- target_link_libraries(ChronoEngine pthread) ++ target_link_libraries(ChronoEngine pthread TBB::tbb TBB::tbbmalloc) + endif() + + # Set some custom properties of this target +diff --git a/src/chrono_irrlicht/CMakeLists.txt b/src/chrono_irrlicht/CMakeLists.txt +index acffe0cb6..bc0e938bc 100644 +--- a/src/chrono_irrlicht/CMakeLists.txt ++++ b/src/chrono_irrlicht/CMakeLists.txt +@@ -54,7 +54,7 @@ SOURCE_GROUP("" FILES + + set(CH_IRRLICHT_CXX_FLAGS "") + set(CH_IRRLICHT_C_FLAGS "") +- ++if(0) + IF(${CMAKE_SYSTEM_NAME} MATCHES "Windows") + SET(IRRLICHT_ROOT "C:/irrlicht-1.8.1" CACHE PATH "Path to Irrlicht SDK installation.") + IF("${CH_COMPILER}" STREQUAL "COMPILER_MSVC") +@@ -84,7 +84,8 @@ else() + FIND_LIBRARY(IRRLICHT_LIBRARY NAMES Irrlicht PATHS ${IRRLICHT_ROOT}/../../lib) + set(IRRLICHT_LIBRARY "${IRRLICHT_LIBRARY}") + ENDIF() +- ++endif() ++find_package(irrlicht REQUIRED) + # If using MSVC, disable warning 4275 (non-DLL-interface class used as base for DLL-interface class) + if(MSVC) + add_compile_options(/wd4275) +@@ -93,7 +94,7 @@ if(MSVC) + endif() + + # Add path to IRRLICHT headers +- ++if(0) + IF(EXISTS "${IRRLICHT_ROOT}/include/irrlicht") + SET(CH_IRRLICHTINC "${IRRLICHT_ROOT}/include/irrlicht") + ELSEIF(EXISTS "${IRRLICHT_ROOT}/include") +@@ -103,7 +104,7 @@ ELSE() + ENDIF() + + INCLUDE_DIRECTORIES( ${CH_IRRLICHTINC} ) +- ++endif(0) + + # Let some variables be visible also from outside this directory + +@@ -119,7 +120,7 @@ set(COMPILER_FLAGS "${CH_CXX_FLAGS} ${CH_IRRLICHT_CXX_FLAGS}") + set(LINKER_FLAGS "${CH_LINKERFLAG_SHARED}") + set(LIBRARIES + ChronoEngine +- ${IRRLICHT_LIBRARY} ++ Irrlicht + ) + + if (ENABLE_MODULE_POSTPROCESS) +@@ -168,7 +169,7 @@ endif() + # appropriate directory (depending on the build type); however, we use + # copy_if_different. + +-IF(${CMAKE_SYSTEM_NAME} MATCHES "Windows") ++IF(0) + + IF(DEFINED ENV{CONDA_BUILD}) + SET(CH_IRRLICHT_DLL "$ENV{PREFIX}/Library/bin/Irrlicht.dll") diff --git a/ports/chronoengine/portfile.cmake b/ports/chronoengine/portfile.cmake new file mode 100644 index 00000000000000..51936eac454c7a --- /dev/null +++ b/ports/chronoengine/portfile.cmake @@ -0,0 +1,49 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO projectchrono/chrono + REF ${VERSION} + SHA512 379609b5a968b56faf48d2e848b0bb85d95f266a4fea48d457f2242fad580fee88ae5974e1021e31e56ebdb7a49fcddba681eff4d56605c94fbe30032dc5906c + PATCHES + fix_dependencies.patch + find_package_required.patch +) + +file(REMOVE "${SOURCE_PATH}/cmake/FindTBB.cmake") + +vcpkg_check_features( + OUT_FEATURE_OPTIONS + FEATURE_OPTIONS + FEATURES + irrlicht ENABLE_MODULE_IRRLICHT + vehicle ENABLE_MODULE_VEHICLE +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DENABLE_MODULE_POSTPROCESS=ON + -DBUILD_DEMOS=OFF + -DBUILD_TESTING=OFF + -DBUILD_BENCHMARKING=OFF + ${FEATURE_OPTIONS} +) + +vcpkg_cmake_install() + +if (VCPKG_TARGET_IS_WINDOWS) + vcpkg_cmake_config_fixup( + CONFIG_PATH cmake + ) +else() + vcpkg_cmake_config_fixup( + CONFIG_PATH lib/cmake/Chrono + ) +endif() + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/include/chrono_thirdparty/chpf" +) + +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/chronoengine/vcpkg.json b/ports/chronoengine/vcpkg.json new file mode 100644 index 00000000000000..c9a616640c2f9d --- /dev/null +++ b/ports/chronoengine/vcpkg.json @@ -0,0 +1,31 @@ +{ + "name": "chronoengine", + "version": "8.0.0", + "description": "Multi-physics Simulation Engine.", + "homepage": "http://projectchrono.org/", + "license": "BSD-3-Clause", + "supports": "(windows & x64 & !static & !uwp) | linux | osx", + "dependencies": [ + "eigen3", + "tbb", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "irrlicht": { + "description": "Default visualization system for interactive 3D viewing of Chrono simulations.", + "dependencies": [ + "irrlicht" + ] + }, + "vehicle": { + "description": "Enables template-based ground vehicle modeling and simulation within Chrono." + } + } +} diff --git a/ports/cialloo-rcon/portfile.cmake b/ports/cialloo-rcon/portfile.cmake new file mode 100644 index 00000000000000..466fba808745b4 --- /dev/null +++ b/ports/cialloo-rcon/portfile.cmake @@ -0,0 +1,16 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO luckyweNda/rcon + REF 6ea49bbd54bbf7604e4e3f6fc2dbd4e507d7bd90 + SHA512 84fefc80e6c47decd9fedb2df1ce1c2671cf8159eb8d60d9b90e3208dd2bd5786eb1bbd526d1d252cd1fc4c6bbb0377712b224c8a4b7ea66b52c6184c241f85e + HEAD_REF main +) + +# Install include directory +file(INSTALL "${SOURCE_PATH}/include" DESTINATION "${CURRENT_PACKAGES_DIR}") + +# Handle copyright +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) + +# Copy usage file +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/cialloo-rcon/usage b/ports/cialloo-rcon/usage new file mode 100644 index 00000000000000..9c33607bbdcf56 --- /dev/null +++ b/ports/cialloo-rcon/usage @@ -0,0 +1,4 @@ +The package rcon is header only and can be used from CMake via: + + find_path(RCON_INCLUDE_DIRS "rcon.hpp") + target_include_directories(main PRIVATE ${RCON_INCLUDE_DIRS}) diff --git a/ports/cialloo-rcon/vcpkg.json b/ports/cialloo-rcon/vcpkg.json new file mode 100644 index 00000000000000..ea7d342984109c --- /dev/null +++ b/ports/cialloo-rcon/vcpkg.json @@ -0,0 +1,10 @@ +{ + "name": "cialloo-rcon", + "version": "1.0.0", + "description": "implementation in valve source rcon protocal", + "homepage": "https://github.com/luckyweNda/rcon", + "license": "MIT", + "dependencies": [ + "asio" + ] +} 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 new file mode 100644 index 00000000000000..f7f1eea9935523 --- /dev/null +++ b/ports/cista/portfile.cmake @@ -0,0 +1,24 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO felixguendling/cista + REF "v${VERSION}" + SHA512 581280b3bc2e762614034058653ddf21ef50dc19b8f49ee9a15bd1f5a4578b53f0bc03e55a1a92fe8d43836be2ed4932c8b9f1d8ed608b6d4d8b8d90426e8535 + HEAD_REF master +) + +set(VCPKG_BUILD_TYPE release) # header-only port + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DCISTA_INSTALL=ON +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/cista) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") + +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/cista/usage b/ports/cista/usage new file mode 100644 index 00000000000000..7954c2b5acf5af --- /dev/null +++ b/ports/cista/usage @@ -0,0 +1,4 @@ +cista provides CMake targets: + + find_package(cista CONFIG REQUIRED) + target_link_libraries(main PRIVATE cista::cista) diff --git a/ports/cista/vcpkg.json b/ports/cista/vcpkg.json new file mode 100644 index 00000000000000..7f4ac12c5c00d4 --- /dev/null +++ b/ports/cista/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "cista", + "version": "0.15", + "description": "Cista is a simple, high-performance, zero-copy C++ serialization & reflection library.", + "homepage": "https://github.com/felixguendling/cista", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/cityhash/portfile.cmake b/ports/cityhash/portfile.cmake index f904d8f4e12cc5..77cf701ea82f24 100644 --- a/ports/cityhash/portfile.cmake +++ b/ports/cityhash/portfile.cmake @@ -22,10 +22,6 @@ else() file(COPY "${SOURCE_PATH}/out/config.h" DESTINATION "${SOURCE_PATH}/src") endif() -if (VCPKG_TARGET_IS_WINDOWS AND VCPKG_TARGET_ARCHITECTURE STREQUAL "x86" AND "sse" IN_LIST FEATURES) - message(FATAL_ERROR "Feature 'sse' does not support Windows x86 triplet.") -endif() - vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES "sse" ENABLE_SSE diff --git a/ports/cityhash/vcpkg.json b/ports/cityhash/vcpkg.json index 431de018b83a62..afa9b46cac7690 100644 --- a/ports/cityhash/vcpkg.json +++ b/ports/cityhash/vcpkg.json @@ -1,7 +1,7 @@ { "name": "cityhash", "version-date": "2013-01-08", - "port-version": 2, + "port-version": 3, "description": "CityHash, a family of hash functions for strings.", "homepage": "https://github.com/google/cityhash", "dependencies": [ @@ -16,7 +16,8 @@ ], "features": { "sse": { - "description": "Build CityHash variants that depend on the _mm_crc32_u64 intrinsic." + "description": "Build CityHash variants that depend on the _mm_crc32_u64 intrinsic.", + "supports": "x64 | (x86 & !windows)" } } } diff --git a/ports/civetweb/disable_warnings.patch b/ports/civetweb/disable_warnings.patch new file mode 100644 index 00000000000000..8b10a435d08242 --- /dev/null +++ b/ports/civetweb/disable_warnings.patch @@ -0,0 +1,37 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1eb391f2c..2665fa73e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -360,6 +360,7 @@ if (CIVETWEB_ENABLE_CXX) + else() + add_cxx_compiler_flag(-std=${CIVETWEB_CXX_STANDARD}) + endif() ++ if(0) + add_cxx_compiler_flag(-Wall) + add_cxx_compiler_flag(-Wextra) + add_cxx_compiler_flag(-Wshadow) +@@ -377,6 +378,7 @@ if (CIVETWEB_ENABLE_CXX) + add_cxx_compiler_flag(-Werror) + add_cxx_compiler_flag(/WX) + endif() ++ endif() + add_cxx_compiler_flag(-pedantic-errors) + add_cxx_compiler_flag(-fvisibility=hidden) + add_cxx_compiler_flag(-fstack-protector-strong RELEASE) +@@ -403,6 +405,7 @@ endif() + + if (NOT ZEPHYR) + #Warnings: enable everything ++ if(0) + add_c_compiler_flag(-Wall) + add_c_compiler_flag(-Wextra) + add_c_compiler_flag(-Wshadow) +@@ -422,7 +425,7 @@ if (NOT ZEPHYR) + add_c_compiler_flag(-Wno-format-nonliteral) # printf(myFormatStringVar, ...) + add_c_compiler_flag(-Wno-cast-qual) # const cast + add_c_compiler_flag(/Wd4820) # padding +- ++ endif() + add_c_compiler_flag(-pedantic-errors) + add_c_compiler_flag(-fvisibility=hidden) + add_c_compiler_flag(-fstack-protector-strong RELEASE) diff --git a/ports/civetweb/fix-fseeko.patch b/ports/civetweb/fix-fseeko.patch new file mode 100644 index 00000000000000..3e2f58500b5f7d --- /dev/null +++ b/ports/civetweb/fix-fseeko.patch @@ -0,0 +1,17 @@ +diff --git a/src/civetweb.c b/src/civetweb.c +index 9e321ed..0f11407 100644 +--- a/src/civetweb.c ++++ b/src/civetweb.c +@@ -892,6 +892,12 @@ typedef unsigned short int in_port_t; + #if defined(USE_X_DOM_SOCKET) + #include + #endif ++ ++#if defined(__ANDROID_API__) && __ANDROID_API__ < 24 ++ // Cf. https://android.googlesource.com/platform/bionic/+/master/docs/32-bit-abi.md#32_bit-and ++ #define fseeko fseek ++#endif ++ + #endif + + #define vsnprintf_impl vsnprintf diff --git a/ports/civetweb/pkgconfig.patch b/ports/civetweb/pkgconfig.patch new file mode 100644 index 00000000000000..4c23cbff5ed92f --- /dev/null +++ b/ports/civetweb/pkgconfig.patch @@ -0,0 +1,49 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c5368c0..c297861 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -614,6 +614,10 @@ configure_package_config_file( + PATH_VARS CMAKE_INSTALL_INCLUDEDIR CMAKE_INSTALL_LIBDIR CIVETWEB_ENABLE_CXX + ) + ++set(PROJECT_VERSION "${VERSION}") ++if(CIVETWEB_ENABLE_SSL) ++ set(REQUIRES_OPENSSL openssl) ++endif() + configure_file( + cmake/${PROJECT_NAME}.pc.in + ${PROJECT_BINARY_DIR}/${PROJECT_NAME}.pc +@@ -629,13 +633,13 @@ configure_file( + install( + FILES + "${PROJECT_BINARY_DIR}/${PROJECT_NAME}.pc" +- DESTINATION "${CMAKE_INSTALL_DATADIR}/pkgconfig" ++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig" + ) + + install( + FILES + "${PROJECT_BINARY_DIR}/${PROJECT_NAME}-cpp.pc" +- DESTINATION "${CMAKE_INSTALL_DATADIR}/pkgconfig" ++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig" + ) + + write_basic_package_version_file(${PROJECT_NAME}-config-version.cmake +diff --git a/cmake/civetweb-cpp.pc.in b/cmake/civetweb-cpp.pc.in +index ca1232c..495da46 100644 +--- a/cmake/civetweb-cpp.pc.in ++++ b/cmake/civetweb-cpp.pc.in +@@ -10,3 +10,4 @@ Requires: + Libs: -L${libdir} -l@PROJECT_NAME@-cpp + Cflags: -I${includedir} + ++Requires.private: civetweb +diff --git a/cmake/civetweb.pc.in b/cmake/civetweb.pc.in +index 27cea8f..0826f61 100644 +--- a/cmake/civetweb.pc.in ++++ b/cmake/civetweb.pc.in +@@ -11,3 +11,4 @@ Libs: -L${libdir} -l@PROJECT_NAME@ + Cflags: -I${includedir} + + ++Requires.private: @REQUIRES_OPENSSL@ diff --git a/ports/civetweb/portfile.cmake b/ports/civetweb/portfile.cmake index 7a0837a8bc657d..caa0b3113035c8 100644 --- a/ports/civetweb/portfile.cmake +++ b/ports/civetweb/portfile.cmake @@ -1,23 +1,26 @@ -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - -vcpkg_fail_port_install(MESSAGE "${PORT} does not currently support UWP" ON_TARGET "UWP") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO civetweb/civetweb - REF eefb26f82b233268fc98577d265352720d477ba4 # v1.15 - SHA512 5ce962e31b3c07b7110cbc645458dba9c0e26e693fbe3b4a7ffe8a28563827049a22fc5596a911fbcea4d88a9adbef3f82000ff61027ff4387f40e4a4045c26d + REF "v${VERSION}" + SHA512 a0b943dfc76d7fd47f5a7d2c834fd38ddd4cf01a11730cf2f7cfaf32fea9698f59672f3a0f86ac80e0abc315d94d2367a500d37013f305c87d45e84cf39ca816 HEAD_REF master + PATCHES + disable_warnings.patch # cl will simply ignore the other invalid options. + fix-fseeko.patch + pkgconfig.patch ) +file(REMOVE_RECURSE "${SOURCE_PATH}/src/third_party") vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES ssl CIVETWEB_ENABLE_SSL ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - # PREFER_NINJA - See https://github.com/civetweb/civetweb/issues/1024 +# Fixes arm64-windows build. CIVETWEB_ARCHITECTURE is used only for CPack, which is not used by vcpkg +vcpkg_replace_string("${SOURCE_PATH}/CMakeLists.txt" "determine_target_architecture(CIVETWEB_ARCHITECTURE)" "") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DCIVETWEB_BUILD_TESTING=OFF -DCIVETWEB_ENABLE_DEBUG_TOOLS=OFF @@ -27,17 +30,25 @@ vcpkg_configure_cmake( -DCIVETWEB_ENABLE_SERVER_EXECUTABLE=OFF -DCIVETWEB_ENABLE_SSL_DYNAMIC_LOADING=OFF -DCIVETWEB_ENABLE_WEBSOCKETS=ON + -DCIVETWEB_ALLOW_WARNINGS=ON + -DCIVETWEB_ENABLE_ZLIB=ON + "-DVERSION=${VERSION}" ${FEATURE_OPTIONS} ) -vcpkg_install_cmake() - -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/civetweb) +vcpkg_cmake_install() +vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/civetweb) +vcpkg_fixup_pkgconfig() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/civetweb.h" "defined(CIVETWEB_DLL_IMPORTS)" 1) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/CivetServer.h" "defined(CIVETWEB_CXX_DLL_IMPORTS)" 1) +endif() -# Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/pkgconfig") -vcpkg_copy_pdbs() +file(COPY "${CURRENT_PORT_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.md") diff --git a/ports/civetweb/usage b/ports/civetweb/usage new file mode 100644 index 00000000000000..287a2ff668b201 --- /dev/null +++ b/ports/civetweb/usage @@ -0,0 +1,4 @@ +civetweb provides CMake targets: + + find_package(civetweb CONFIG REQUIRED) + target_link_libraries(main PRIVATE civetweb::civetweb) diff --git a/ports/civetweb/vcpkg.json b/ports/civetweb/vcpkg.json index f39eea59c5374c..bb2dd92aa34776 100644 --- a/ports/civetweb/vcpkg.json +++ b/ports/civetweb/vcpkg.json @@ -1,9 +1,21 @@ { "name": "civetweb", - "version": "1.15", + "version": "1.16", + "port-version": 2, "description": "Easy to use, powerful, C/C++ embeddable web server.", "homepage": "https://github.com/civetweb/civetweb", "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "zlib" + ], "features": { "ssl": { "description": "Enable SSL support", diff --git a/ports/cjson/portfile.cmake b/ports/cjson/portfile.cmake index 340de48e5b4f76..3f52be8415a71f 100644 --- a/ports/cjson/portfile.cmake +++ b/ports/cjson/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO DaveGamble/cJSON - REF v1.7.15 - SHA512 0b32a758c597fcc90c8ed0af493c9bccd611b9d4f9a03e87de3f7337bb9a28990b810befd44bc321a0cb42cbcd0b026d45761f9bab7bd798f920b7b6975fb124 + REF "v${VERSION}" + SHA512 2accb507c6b97222eb5f0232c015b356cf6d248d1247049928731aa8e897378245e62395c232b1ec57d28d1e53ac72c849be85e59c33616a382d40473649f66b HEAD_REF master ) @@ -29,7 +29,9 @@ vcpkg_cmake_configure( -DENABLE_HIDDEN_SYMBOLS=${DENABLE_HIDDEN_SYMBOLS} -DENABLE_TARGET_EXPORT=ON # Export CMake config files -DENABLE_CJSON_TEST=OFF + -DENABLE_CUSTOM_COMPILER_FLAGS=OFF -DENABLE_FUZZING=OFF + -DCMAKE_POLICY_DEFAULT_CMP0057=NEW ${FEATURE_OPTIONS} ) @@ -56,5 +58,5 @@ file(WRITE "${CURRENT_PACKAGES_DIR}/include/cjson/cJSON.h" "${_contents}") # Handle copyright configure_file("${SOURCE_PATH}/LICENSE" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) - -vcpkg_fixup_pkgconfig() + +vcpkg_fixup_pkgconfig() diff --git a/ports/cjson/vcpkg.json b/ports/cjson/vcpkg.json index cfdfb121e120b9..309a800532b096 100644 --- a/ports/cjson/vcpkg.json +++ b/ports/cjson/vcpkg.json @@ -1,9 +1,9 @@ { "name": "cjson", - "version": "1.7.15", - "port-version": 1, + "version": "1.7.18", "description": "Ultralightweight JSON parser in ANSI C", "homepage": "https://github.com/DaveGamble/cJSON", + "license": "MIT", "dependencies": [ { "name": "vcpkg-cmake", 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 ceb1ce7f573101..7f5a66b66c2e8f 100644 --- a/ports/clamav/portfile.cmake +++ b/ports/clamav/portfile.cmake @@ -1,11 +1,10 @@ -vcpkg_fail_port_install(ON_TARGET "uwp") 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 @@ -13,11 +12,11 @@ vcpkg_from_github( "cmakefiles.patch" "curl.patch" "mspack.patch" + "isnt.patch" ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DENABLE_LIBCLAMAV_ONLY=ON -DENABLE_DOCS=OFF @@ -26,10 +25,10 @@ vcpkg_configure_cmake( -DENABLE_EXTERNAL_MSPACK=ON ) -vcpkg_install_cmake() +vcpkg_cmake_install() # Handle copyright -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/clamav/vcpkg.json b/ports/clamav/vcpkg.json index dd6cbc928755da..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": 2, + "version-semver": "0.103.11", "description": "ClamAV is an open-source anti-virus toolkit.", "homepage": "https://www.clamav.net", "supports": "!uwp & !static", @@ -13,6 +12,14 @@ "openssl", "pcre2", "pthreads", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, "zlib" ] } 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 aa546e672be054..8516fc78d42052 100644 --- a/ports/clapack/FindLAPACK.cmake +++ b/ports/clapack/FindLAPACK.cmake @@ -2,238 +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() - -if(NOT LAPACK_LIBRARY) - find_library(LAPACK_LIBRARY_RELEASE NAMES lapack) - find_library(LAPACK_LIBRARY_DEBUG NAMES lapackd) - - #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() + get_property(LAPACK_LIBRARY_RELEASE TARGET lapack PROPERTY ${lib_prop}_RELEASE) + get_property(LAPACK_LIBRARY_DEBUG TARGET lapack PROPERTY ${lib_prop}_DEBUG) -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) + get_property(LAPACK_INCLUDE_DIR TARGET lapack PROPERTY INTERFACE_INCLUDE_DIRECTORIES) # Doesn't make much sense but ok. + select_library_configurations(LAPACK) -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) - -#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 986335e6d0a489..ab670c62c3eb0f 100644 --- a/ports/clapack/portfile.cmake +++ b/ports/clapack/portfile.cmake @@ -5,14 +5,14 @@ endif() vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_download_distfile(ARCHIVE - URLS "http://www.netlib.org/clapack/clapack-3.2.1-CMAKE.tgz" + URLS "https://www.netlib.org/clapack/clapack-3.2.1-CMAKE.tgz" FILENAME "clapack-3.2.1.tgz" SHA512 cf19c710291ddff3f6ead7d86bdfdeaebca21291d9df094bf0a8ef599546b007757fb2dbb19b56511bb53ef7456eac0c73973b9627bf4d02982c856124428b49 ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" PATCHES remove_internal_blas.patch fix-ConfigFile.patch @@ -44,24 +44,22 @@ Continuing with trying to run arithchk anyway.") endif() endif() -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DCMAKE_DEBUG_POSTFIX=d ${ARITH_PATH} ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() #TODO: fix the official exported targets, since they are broken (luckily it seems that no-one uses them for now) -vcpkg_fixup_cmake_targets(CONFIG_PATH share/clapack) +vcpkg_cmake_config_fixup(CONFIG_PATH share/clapack) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +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 ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME 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 f0fd61e8f63342..42091fd81abc06 100644 --- a/ports/clapack/vcpkg.json +++ b/ports/clapack/vcpkg.json @@ -1,10 +1,19 @@ { "name": "clapack", - "version-string": "3.2.1", - "port-version": 19, + "version": "3.2.1", + "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" + "blas", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/clara/vcpkg.json b/ports/clara/vcpkg.json index 7752fb5201856b..83def794df8fb2 100644 --- a/ports/clara/vcpkg.json +++ b/ports/clara/vcpkg.json @@ -1,7 +1,7 @@ { "name": "clara", - "version-string": "1.1.5", - "port-version": 1, + "version": "1.1.5", + "port-version": 2, "description": "A simple to use command line parser for C++", "homepage": "https://github.com/philsquared/Clara" } diff --git a/ports/clblas/abs-arm.patch b/ports/clblas/abs-arm.patch new file mode 100644 index 00000000000000..8bc6f3816c8598 --- /dev/null +++ b/ports/clblas/abs-arm.patch @@ -0,0 +1,24 @@ +diff --git a/src/library/blas/gens/gemv.c b/src/library/blas/gens/gemv.c +index 9835482..8bf3476 100644 +--- a/src/library/blas/gens/gemv.c ++++ b/src/library/blas/gens/gemv.c +@@ -21,6 +21,7 @@ + + #include + #include ++#include // for abs(int) + #include + #include + #include +diff --git a/src/library/blas/gens/symv.c b/src/library/blas/gens/symv.c +index 47c8f1d..31ab3c5 100644 +--- a/src/library/blas/gens/symv.c ++++ b/src/library/blas/gens/symv.c +@@ -21,6 +21,7 @@ + + #include + #include ++#include // for abs(int) + #include + #include + #include diff --git a/ports/clblas/portfile.cmake b/ports/clblas/portfile.cmake index eeeb71c3f75a4a..0e694036fcc0d5 100644 --- a/ports/clblas/portfile.cmake +++ b/ports/clblas/portfile.cmake @@ -7,17 +7,17 @@ vcpkg_from_github( PATCHES cmake.patch Fix-BuildDLL.patch + abs-arm.patch ) # v2.12 has a very old FindOpenCL.cmake using OPENCL_ vs. OpenCL_ var names # conflicting with the built-in, more modern FindOpenCL.cmake -file(REMOVE ${SOURCE_PATH}/src/FindOpenCL.cmake) +file(REMOVE "${SOURCE_PATH}/src/FindOpenCL.cmake") vcpkg_find_acquire_program(PYTHON3) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH}/src - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/src" OPTIONS -DBUILD_TEST=OFF -DBUILD_KTEST=OFF @@ -25,26 +25,27 @@ vcpkg_configure_cmake( -DPYTHON_EXECUTABLE=${PYTHON3} ) -vcpkg_install_cmake() +vcpkg_cmake_install() if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") endif() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") if(VCPKG_TARGET_IS_WINDOWS) file(REMOVE - ${CURRENT_PACKAGES_DIR}/debug/bin/clBLAS-tune.pdb - ${CURRENT_PACKAGES_DIR}/debug/bin/clBLAS-tune.exe - ${CURRENT_PACKAGES_DIR}/bin/clBLAS-tune.exe + "${CURRENT_PACKAGES_DIR}/debug/bin/clBLAS-tune.pdb" + "${CURRENT_PACKAGES_DIR}/debug/bin/clBLAS-tune.exe" + "${CURRENT_PACKAGES_DIR}/bin/clBLAS-tune.exe" ) endif() if(VCPKG_TARGET_IS_WINDOWS) - vcpkg_fixup_cmake_targets(CONFIG_PATH CMake) + vcpkg_cmake_config_fixup(CONFIG_PATH CMake) else() - vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/clBLAS) + vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/clBLAS) endif() vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION ${CURRENT_PACKAGES_DIR}/share/clblas RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/clblas" RENAME copyright) diff --git a/ports/clblas/vcpkg.json b/ports/clblas/vcpkg.json index 975a0982bc7600..79d9f12dc68124 100644 --- a/ports/clblas/vcpkg.json +++ b/ports/clblas/vcpkg.json @@ -1,9 +1,19 @@ { "name": "clblas", - "version-string": "2.12", - "port-version": 5, + "version": "2.12", + "port-version": 7, "description": "clBLAS is an OpenCL 1.2 accelerated BLAS (Basic Linear Algebra Subsystem) library.", + "license": "Apache-2.0", + "supports": "!(windows & arm)", "dependencies": [ - "opencl" + "opencl", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/clblast/portfile.cmake b/ports/clblast/portfile.cmake index ce749ae739fa43..82f7b80778d0e5 100644 --- a/ports/clblast/portfile.cmake +++ b/ports/clblast/portfile.cmake @@ -1,42 +1,23 @@ -vcpkg_fail_port_install(ON_LIBRARY_LINKAGE static) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO CNugteren/CLBlast - REF 1.5.2 - SHA512 6693704321bb7623a632ebfc71dcf07bbe4ba6c6f03a2ecf52bc10b401ae546bf82cdd3f6cc28aa9ea10f40dc7b2e86a6530f32cfbd522e24d4cf6a75c8c1100 + REF "${VERSION}" + SHA512 cc93afd4e4860789c4fed8a82bb0019f039285060e74aa65a1916bf061aaa67cc6dc675000b28500046062f40570472abd9c34c210d130e10b8e5c591ceb8ad7 HEAD_REF master ) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DTUNERS=OFF ) vcpkg_cmake_install() -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin") - -if(VCPKG_TARGET_IS_WINDOWS) - if(EXISTS "${CURRENT_PACKAGES_DIR}/lib/clblast.dll") - file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/bin") - file(RENAME "${CURRENT_PACKAGES_DIR}/lib/clblast.dll" "${CURRENT_PACKAGES_DIR}/bin/clblast.dll") - endif() - if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/lib/clblast.dll") - file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/bin") - file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/clblast.dll" "${CURRENT_PACKAGES_DIR}/debug/bin/clblast.dll") - endif() - file(GLOB EXE "${CURRENT_PACKAGES_DIR}/bin/*.exe") - file(GLOB DEBUG_EXE "${CURRENT_PACKAGES_DIR}/debug/bin/*.exe") - if(EXE OR DEBUG_EXE) - file(REMOVE ${EXE} ${DEBUG_EXE}) - endif() -endif() - -vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/clblast) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/CLBlast) 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) \ No newline at end of file +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/clblast/vcpkg.json b/ports/clblast/vcpkg.json index a5915a0daa69de..6b11ec0f9e3eca 100644 --- a/ports/clblast/vcpkg.json +++ b/ports/clblast/vcpkg.json @@ -1,9 +1,9 @@ { "name": "clblast", - "version": "1.5.2", + "version": "1.6.3", "description": "A modern, lightweight, performant and tunable OpenCL BLAS library written in C++11.", "homepage": "https://github.com/CNugteren/CLBlast", - "supports": "!static", + "license": "Apache-2.0", "dependencies": [ "opencl", { 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/fix-build.patch b/ports/clfft/fix-build.patch new file mode 100644 index 00000000000000..65c343945aa5ea --- /dev/null +++ b/ports/clfft/fix-build.patch @@ -0,0 +1,25 @@ +diff --git a/src/library/generator.transpose.cpp b/src/library/generator.transpose.cpp +index a04a43a..5c15882 100644 +--- a/src/library/generator.transpose.cpp ++++ b/src/library/generator.transpose.cpp +@@ -1089,8 +1089,18 @@ clfftStatus genSwapKernelGeneral(const FFTGeneratedTransposeNonSquareAction::Sig + + //std::string funcName = "swap_nonsquare_" + std::to_string(smaller_dim) + "_" + std::to_string(dim_ratio); + std::string funcName = "swap_nonsquare_"; +- std::string smaller_dim_str = static_cast(&(std::ostringstream() << smaller_dim))->str(); +- std::string dim_ratio_str = static_cast(&(std::ostringstream() << dim_ratio))->str(); ++ std::string smaller_dim_str; ++ { ++ std::ostringstream oss; ++ oss << smaller_dim; ++ smaller_dim_str = oss.str(); ++ } ++ std::string dim_ratio_str; ++ { ++ std::ostringstream oss; ++ oss << dim_ratio; ++ dim_ratio_str = oss.str(); ++ } + if(params.fft_N[0] > params.fft_N[1]) + funcName = funcName + smaller_dim_str + "_" + dim_ratio_str; + else diff --git a/ports/clfft/portfile.cmake b/ports/clfft/portfile.cmake index 592a84b1c50d21..64cda211d236bc 100644 --- a/ports/clfft/portfile.cmake +++ b/ports/clfft/portfile.cmake @@ -6,27 +6,29 @@ vcpkg_from_github( HEAD_REF master PATCHES tweak-install.patch + fix-build.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH}/src - PREFER_NINJA +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= ) -vcpkg_install_cmake() +vcpkg_cmake_install() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") if(VCPKG_TARGET_IS_WINDOWS) - vcpkg_fixup_cmake_targets(CONFIG_PATH CMake) + vcpkg_cmake_config_fixup(CONFIG_PATH CMake) else() - vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/clFFT) + vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/clFFT) endif() vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION ${CURRENT_PACKAGES_DIR}/share/clfft/copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/clfft/vcpkg.json b/ports/clfft/vcpkg.json index c3e287507552c4..dbb41001b361c8 100644 --- a/ports/clfft/vcpkg.json +++ b/ports/clfft/vcpkg.json @@ -1,10 +1,19 @@ { "name": "clfft", - "version-string": "2.12.2", - "port-version": 3, + "version": "2.12.2", + "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", "dependencies": [ - "opencl" + "opencl", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/cli/portfile.cmake b/ports/cli/portfile.cmake index a9dee4d7d59612..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.0.0 - SHA512 8a3e42d02f8bf757628fb876ccfa376771bbe66e7820d7fd5b34119fca262129f5122e67d939e0898b5964a162a8fd4538d5e6ffa96c4935a8c3979e5d5dbd9d + REF "v${VERSION}" + SHA512 c6d7421ca9c2c483f2c8adc4b44ab65da9eb78132784c53ff77ca63734c39619e590ec61814b100dfca6520af803cd0616ce8a54d4b4aa2312bf324f7d6a0ffc HEAD_REF master ) @@ -17,5 +17,4 @@ vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/cli) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug" "${CURRENT_PACKAGES_DIR}/lib") file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) - vcpkg_fixup_pkgconfig() diff --git a/ports/cli/vcpkg.json b/ports/cli/vcpkg.json index 96f9e55556db74..1ccea5cd890df1 100644 --- a/ports/cli/vcpkg.json +++ b/ports/cli/vcpkg.json @@ -1,9 +1,9 @@ { "name": "cli", - "version-semver": "2.0.0", - "port-version": 1, + "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", "dependencies": [ "boost-asio", { diff --git a/ports/cli11/portfile.cmake b/ports/cli11/portfile.cmake index 5adfb86314db74..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.1.2 - SHA512 3b21d015e046666d2e3df2b7cf1a6247c2daa26bf583e714dc1f0a94518785bf90993cd8530f88078b4daac02530dc517db0d5ad452d2a91521b3007f270ea55 + REF "v${VERSION}" + SHA512 fdb61c430f5b99a9495fda7f94bfc8d0fb5360c99beeccbcb3b8918713579aac97fa0dcbce296065d9043f141a538c505919c9810fd1d192661e8b48b6a2637a HEAD_REF main + PATCHES + revert-1012-pkgconfig.diff ) vcpkg_cmake_configure( @@ -12,13 +14,16 @@ vcpkg_cmake_configure( -DCLI11_BUILD_EXAMPLES=OFF -DCLI11_BUILD_DOCS=OFF -DCLI11_BUILD_TESTS=OFF + -DCLI11_PRECOMPILED=ON + -DCMAKE_CXX_STANDARD=17 ) vcpkg_cmake_install() vcpkg_cmake_config_fixup(CONFIG_PATH share/cmake/CLI11) vcpkg_fixup_pkgconfig() -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") +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 cb780687a6f980..4b8a4da48dc0b7 100644 --- a/ports/cli11/vcpkg.json +++ b/ports/cli11/vcpkg.json @@ -1,9 +1,11 @@ { "name": "cli11", - "version": "2.1.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/fix-deps-and-build-type.patch b/ports/clickhouse-cpp/fix-deps-and-build-type.patch new file mode 100644 index 00000000000000..06d29de1b90118 --- /dev/null +++ b/ports/clickhouse-cpp/fix-deps-and-build-type.patch @@ -0,0 +1,42 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index aed0d85..b5f36e2 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -63,21 +63,21 @@ PROJECT (CLICKHOUSE-CLIENT) + ENDIF () + + IF (WITH_SYSTEM_ABSEIL) +- FIND_PACKAGE(absl REQUIRED) ++ FIND_PACKAGE(absl CONFIG REQUIRED) + ELSE () + INCLUDE_DIRECTORIES (contrib/absl) + SUBDIRS (contrib/absl/absl) + ENDIF () + + IF (WITH_SYSTEM_LZ4) +- FIND_PACKAGE(lz4 REQUIRED) ++ FIND_PACKAGE(lz4 CONFIG REQUIRED) + ELSE () + INCLUDE_DIRECTORIES (contrib/lz4/lz4) + SUBDIRS (contrib/lz4/lz4) + ENDIF () + + IF (WITH_SYSTEM_CITYHASH) +- FIND_PACKAGE(cityhash REQUIRED) ++ FIND_PACKAGE(cityhash CONFIG REQUIRED) + ELSE () + INCLUDE_DIRECTORIES (contrib/cityhash/cityhash) + SUBDIRS (contrib/cityhash/cityhash) +diff --git a/clickhouse/CMakeLists.txt b/clickhouse/CMakeLists.txt +index 67663ec..e67ba81 100644 +--- a/clickhouse/CMakeLists.txt ++++ b/clickhouse/CMakeLists.txt +@@ -42,7 +42,7 @@ ADD_LIBRARY (clickhouse-cpp-lib ${clickhouse-cpp-lib-src}) + SET_TARGET_PROPERTIES (clickhouse-cpp-lib PROPERTIES LINKER_LANGUAGE CXX) + TARGET_LINK_LIBRARIES (clickhouse-cpp-lib + absl::int128 +- cityhash::cityhash ++ cityhash + lz4::lz4 + ) + TARGET_INCLUDE_DIRECTORIES (clickhouse-cpp-lib diff --git a/ports/clickhouse-cpp/fix-error-C4996.patch b/ports/clickhouse-cpp/fix-error-C4996.patch deleted file mode 100644 index 8da054b57f4994..00000000000000 --- a/ports/clickhouse-cpp/fix-error-C4996.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/clickhouse/CMakeLists.txt b/clickhouse/CMakeLists.txt -index 7e10ffd..cbbffdc 100644 ---- a/clickhouse/CMakeLists.txt -+++ b/clickhouse/CMakeLists.txt -@@ -31,6 +31,10 @@ SET ( clickhouse-cpp-lib-src - query.cpp - ) - -+if (MSVC) -+ add_compile_options(/wd4996) -+endif() -+ - ADD_LIBRARY (clickhouse-cpp-lib SHARED ${clickhouse-cpp-lib-src}) - SET_TARGET_PROPERTIES(clickhouse-cpp-lib PROPERTIES LINKER_LANGUAGE CXX) - TARGET_LINK_LIBRARIES (clickhouse-cpp-lib diff --git a/ports/clickhouse-cpp/fix-error-c2668.patch b/ports/clickhouse-cpp/fix-error-c2668.patch deleted file mode 100644 index 4ad1df95364850..00000000000000 --- a/ports/clickhouse-cpp/fix-error-c2668.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/clickhouse/columns/decimal.cpp b/clickhouse/columns/decimal.cpp -index 7334bb1..41d43b6 100644 ---- a/clickhouse/columns/decimal.cpp -+++ b/clickhouse/columns/decimal.cpp -@@ -27,7 +27,7 @@ inline bool mulOverflow(const Int128 & l, const T & r, Int128 * result) - - #else - template --inline bool getSignBit(const T & v) -+inline bool getSignBit(const T & (long double v)) - { - return std::signbit(v); - } diff --git a/ports/clickhouse-cpp/fix-timeval.patch b/ports/clickhouse-cpp/fix-timeval.patch new file mode 100644 index 00000000000000..0e4e9a97f627d0 --- /dev/null +++ b/ports/clickhouse-cpp/fix-timeval.patch @@ -0,0 +1,17 @@ +diff --git a/clickhouse/base/socket.cpp b/clickhouse/base/socket.cpp +index 48e90c7..73503fb 100644 +--- a/clickhouse/base/socket.cpp ++++ b/clickhouse/base/socket.cpp +@@ -129,10 +129,10 @@ void SetNonBlock(SOCKET fd, bool value) { + + void SetTimeout(SOCKET fd, const SocketTimeoutParams& timeout_params) { + #if defined(_unix_) +- timeval recv_timeout{ timeout_params.recv_timeout.count() / 1000, static_cast(timeout_params.recv_timeout.count() % 1000 * 1000) }; ++ timeval recv_timeout{ static_cast(timeout_params.recv_timeout.count() / 1000), static_cast(timeout_params.recv_timeout.count() % 1000 * 1000) }; + auto recv_ret = setsockopt(fd, SOL_SOCKET, SO_RCVTIMEO, &recv_timeout, sizeof(recv_timeout)); + +- timeval send_timeout{ timeout_params.send_timeout.count() / 1000, static_cast(timeout_params.send_timeout.count() % 1000 * 1000) }; ++ timeval send_timeout{ static_cast(timeout_params.send_timeout.count() / 1000), static_cast(timeout_params.send_timeout.count() % 1000 * 1000) }; + auto send_ret = setsockopt(fd, SOL_SOCKET, SO_SNDTIMEO, &send_timeout, sizeof(send_timeout)); + + if (recv_ret == -1 || send_ret == -1) { diff --git a/ports/clickhouse-cpp/portfile.cmake b/ports/clickhouse-cpp/portfile.cmake index 5837fb88f9d546..175d04c508879b 100644 --- a/ports/clickhouse-cpp/portfile.cmake +++ b/ports/clickhouse-cpp/portfile.cmake @@ -1,18 +1,31 @@ -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 ClickHouse/clickhouse-cpp - REF 1415b5936a2ac2f084850b09057e05fb5798b2f1 #v1.5.0 - SHA512 222b31b16744af64f0a874ec956568adcecb553e43f8d4a2d16c00d55b31015d917a4dc7bb30d5430a894459b1be5e05b292e2d0918bf6f5609046a60539f80f + REF "v${VERSION}" + SHA512 6e6632084906699d3702bbe4c59d8db0c81934b60d2bb6bb427b25004fa36f4e2955a0d4a6cd45a48721f992a3d162d6569fb4c0a3d6787a98356e5d5319d9d4 HEAD_REF master - PATCHES - fix-error-c2668.patch - fix-error-C4996.patch #fix x64-uwp error:std::uncaught_exception() is deprecated in C++17 + PATCHES + fix-deps-and-build-type.patch + fix-timeval.patch +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + openssl WITH_OPENSSL ) vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} + -DWITH_SYSTEM_ABSEIL=ON + -DWITH_SYSTEM_LZ4=ON + -DWITH_SYSTEM_CITYHASH=ON + -DDEBUG_DEPENDENCIES=OFF ) vcpkg_cmake_install() @@ -21,4 +34,4 @@ vcpkg_copy_pdbs() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -configure_file("${SOURCE_PATH}/LICENSE" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/clickhouse-cpp/vcpkg.json b/ports/clickhouse-cpp/vcpkg.json index e3a5b37f190989..e83ea1a77ecdc2 100644 --- a/ports/clickhouse-cpp/vcpkg.json +++ b/ports/clickhouse-cpp/vcpkg.json @@ -1,18 +1,24 @@ { "name": "clickhouse-cpp", - "version": "1.5.0", + "version": "2.5.1", "description": "C++ client for Yandex ClickHouse", "homepage": "https://github.com/ClickHouse/clickhouse-cpp", + "license": "Apache-2.0", "dependencies": [ + "abseil", "cityhash", "lz4", { "name": "vcpkg-cmake", "host": true - }, - { - "name": "vcpkg-cmake-config", - "host": true } - ] + ], + "features": { + "openssl": { + "description": "Enable OpenSSL support", + "dependencies": [ + "openssl" + ] + } + } } diff --git a/ports/clipboardxx/portfile.cmake b/ports/clipboardxx/portfile.cmake new file mode 100644 index 00000000000000..fa06e40cf4c0ec --- /dev/null +++ b/ports/clipboardxx/portfile.cmake @@ -0,0 +1,24 @@ +# Download the code from GitHub +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Arian8j2/ClipboardXX + REF d404c39ba384f8e16555610b3633cd7b58d84c59 + SHA512 503bc78cd9fd6096fa92524973d19cbc9169fca91450837a2af7f1518eb928dce10c01e446de1ab76ae0dc366b26831df403f021118fe5c3c2eaeb4d752f638f + HEAD_REF master +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" +) + +vcpkg_cmake_install() +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") + +configure_file( + "${CMAKE_CURRENT_LIST_DIR}/unofficial-clipboardxx-config.cmake.in" + "${CURRENT_PACKAGES_DIR}/share/unofficial-clipboardxx/unofficial-clipboardxx-config.cmake" + @ONLY +) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/clipboardxx/unofficial-clipboardxx-config.cmake.in b/ports/clipboardxx/unofficial-clipboardxx-config.cmake.in new file mode 100644 index 00000000000000..80e258e85dfdf8 --- /dev/null +++ b/ports/clipboardxx/unofficial-clipboardxx-config.cmake.in @@ -0,0 +1,19 @@ +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() + +add_library(unofficial::ClipboardXX INTERFACE IMPORTED) +set_target_properties(unofficial::ClipboardXX PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${PACKAGE_PREFIX_DIR}/include" +) + +if("@VCPKG_TARGET_IS_LINUX@") + set_target_properties(unofficial::ClipboardXX PROPERTIES + INTERFACE_LINK_LIBRARIES "xcb;pthread" + ) +endif() + +unset(_IMPORT_PREFIX) diff --git a/ports/clipboardxx/vcpkg.json b/ports/clipboardxx/vcpkg.json new file mode 100644 index 00000000000000..d274c9070a70be --- /dev/null +++ b/ports/clipboardxx/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "clipboardxx", + "version-date": "2022-02-04", + "description": "Header only, lightweight and cross platform C++ library for copy and paste text from clipboard.", + "homepage": "https://github.com/Arian8j2/ClipboardXX", + "license": "MIT", + "supports": "!osx", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/clipp/Fix-result_of-deprecated-in-C++20.patch b/ports/clipp/Fix-result_of-deprecated-in-C++20.patch new file mode 100644 index 00000000000000..6613d21f534fa4 --- /dev/null +++ b/ports/clipp/Fix-result_of-deprecated-in-C++20.patch @@ -0,0 +1,47 @@ +diff --git a/include/clipp.h b/include/clipp.h +index d7b101e..a1bec2d 100644 +--- a/include/clipp.h ++++ b/include/clipp.h +@@ -155,16 +155,27 @@ namespace traits { + * @brief function (class) signature type trait + * + *****************************************************************************/ ++#if defined(__cpp_lib_is_invocable) + template + constexpr auto + check_is_callable(int) -> decltype( + std::declval()(std::declval()...), + std::integral_constant::type>::value>{} ); ++ std::is_same::type>::value>{} ); + +-template ++template + constexpr auto +-check_is_callable(long) -> std::false_type; ++check_is_callable_without_arg(int) -> decltype( ++ std::declval()(), ++ std::integral_constant::type>::value>{} ); ++#else ++template ++constexpr auto ++check_is_callable(int) -> decltype( ++ std::declval()(std::declval()...), ++ std::integral_constant::type>::value>{} ); + + template + constexpr auto +@@ -172,6 +183,11 @@ check_is_callable_without_arg(int) -> decltype( + std::declval()(), + std::integral_constant::type>::value>{} ); ++#endif ++ ++template ++constexpr auto ++check_is_callable(long) -> std::false_type; + + template + constexpr auto diff --git a/ports/clipp/portfile.cmake b/ports/clipp/portfile.cmake index 4793be823071b1..3db19afaf7f3a7 100644 --- a/ports/clipp/portfile.cmake +++ b/ports/clipp/portfile.cmake @@ -4,14 +4,15 @@ vcpkg_from_github( REF 2c32b2f1f7cc530b1ec1f62c92f698643bb368db SHA512 4645fafe85a8099ea97b85e939747a12e9b3b92213b5b8207a9c277537377b77b5daebd88a4c090ea89cfff2937a9fc155da6e8b5558574d7129227c28826e1c HEAD_REF master + PATCHES + Fix-result_of-deprecated-in-C++20.patch # https://github.com/muellan/clipp/pull/54 ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/clipp RENAME copyright) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/clipp/vcpkg.json b/ports/clipp/vcpkg.json index e5fc0850cc518d..f3491d8f6080f9 100644 --- a/ports/clipp/vcpkg.json +++ b/ports/clipp/vcpkg.json @@ -1,6 +1,13 @@ { "name": "clipp", - "version-string": "2019-04-30", - "port-version": 1, - "description": "command line interfaces for modern C++" + "version-date": "2019-04-30", + "port-version": 2, + "description": "command line interfaces for modern C++", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/clipper2/portfile.cmake b/ports/clipper2/portfile.cmake new file mode 100644 index 00000000000000..66c9c308d0a968 --- /dev/null +++ b/ports/clipper2/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 AngusJohnson/Clipper2 + REF "Clipper2_${VERSION}" + 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") + +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/clipper2/usage b/ports/clipper2/usage new file mode 100644 index 00000000000000..42e883d7ed1a1c --- /dev/null +++ b/ports/clipper2/usage @@ -0,0 +1,21 @@ +The package clipper2 can be imported via CMake FindPkgConfig module: + + # Clipper2 + find_package(PkgConfig REQUIRED) + pkg_check_modules(Clipper2 REQUIRED IMPORTED_TARGET Clipper2) + target_link_libraries(main PkgConfig::Clipper2) + + # Clipper2Z + find_package(PkgConfig REQUIRED) + 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 new file mode 100644 index 00000000000000..b3ed5278065ce2 --- /dev/null +++ b/ports/clipper2/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "clipper2", + "version": "1.4.0", + "description": "Polygon Clipping and Offsetting", + "homepage": "http://www.angusj.com/clipper2", + "license": "BSL-1.0", + "dependencies": [ + { + "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 3c49b79be6608f..5ca33127f5a6c7 100644 --- a/ports/clockutils/portfile.cmake +++ b/ports/clockutils/portfile.cmake @@ -5,17 +5,20 @@ vcpkg_from_github( SHA512 ddb70cae9ced25de77a2df1854dac15e58a77347042ba3ee9c691f85f49edbc6539c84929a7477d429fb9161ba24c57d24d767793b8b1180216d5ddfc5d3ed6a HEAD_REF dev-1.2 PATCHES - "${CURRENT_PORT_DIR}/fix-warningC4643.patch" + fix-warningC4643.patch + add-missing-thread-header.patch ) -if (VCPKG_CRT_LINKAGE STREQUAL dynamic) - SET(SHARED_FLAG ON) -else() - SET(SHARED_FLAG OFF) +set(SHARED_FLAG OFF) +set(USE_MSBUILD "") +if("${VCPKG_LIBRARY_LINKAGE}" STREQUAL "dynamic") + set(SHARED_FLAG ON) + set(USE_MSBUILD WINDOWS_USE_MSBUILD) # MS Build only required for dynamic builds endif() -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + ${USE_MSBUILD} OPTIONS -DWITH_LIBRARY_ARGPARSER=ON -DWITH_LIBRARY_COMPRESSION=ON @@ -26,13 +29,11 @@ vcpkg_configure_cmake( -DCLOCKUTILS_BUILD_SHARED=${SHARED_FLAG} ) -vcpkg_install_cmake() +vcpkg_cmake_install() +vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE "${CURRENT_PACKAGES_DIR}/LICENSE") +file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/LICENSE") -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/clockUtils) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/clockUtils/LICENSE ${CURRENT_PACKAGES_DIR}/share/clockUtils/copyright) -file(REMOVE ${CURRENT_PACKAGES_DIR}/LICENSE) -file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/LICENSE) - -vcpkg_copy_pdbs() \ No newline at end of file +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/clockutils/vcpkg.json b/ports/clockutils/vcpkg.json index 066a9ccac7549c..d40cc4f116fdd9 100644 --- a/ports/clockutils/vcpkg.json +++ b/ports/clockutils/vcpkg.json @@ -1,7 +1,14 @@ { "name": "clockutils", - "version-string": "1.1.1-3651f232c27074c4ceead169e223edf5f00247c5", - "port-version": 4, + "version": "1.1.1", + "port-version": 2, "description": "A lightweight c++ library for commonly needed tasks. Optimized for simplicity and speed.", - "homepage": "https://github.com/ClockworkOrigins/clockUtils" + "homepage": "https://github.com/ClockworkOrigins/clockUtils", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/clp/CMakeLists.txt b/ports/clp/CMakeLists.txt deleted file mode 100644 index cced65c98a594d..00000000000000 --- a/ports/clp/CMakeLists.txt +++ /dev/null @@ -1,121 +0,0 @@ -cmake_minimum_required(VERSION 3.11) - -project(Clp LANGUAGES C CXX) - -set(PROJECT_VERSION 1.16.11) -set(PROJECT_VERSION_MAJOR 1) -set(PROJECT_VERSION_MINOR 16) -set(PROJECT_VERSION_PATCH 11) - -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/Coin" CACHE PATH "Path where headers will be installed") -set(INSTALL_CMAKE_DIR "share/clp" CACHE PATH "Path where cmake configs will be installed") - -# Make relative paths absolute (needed later on) -set(RELATIVE_INSTALL_INCLUDE_DIR ${INSTALL_INCLUDE_DIR}) -foreach(p LIB BIN INCLUDE CMAKE) - set(var INSTALL_${p}_DIR) - if(NOT IS_ABSOLUTE "${${var}}") - set(${var} "${CMAKE_INSTALL_PREFIX}/${${var}}") - endif() -endforeach() - -if(MSVC) - set( - CMAKE_CXX_FLAGS - "${CMAKE_CXX_FLAGS} /bigobj /MP /wd4996 /wd4819 /wd4251 /wd4267 /wd4244 /wd4275" - ) -endif() - -if(APPLE) - set( - CMAKE_CXX_FLAGS - "${CMAKE_CXX_FLAGS} -Wno-inconsistent-missing-override -Wno-unused-command-line-argument -Wno-unused-result -Wno-exceptions" - ) - set(CMAKE_OSX_DEPLOYMENT_TARGET "10.9" - CACHE STRING "Minimum OS X deployment version") -endif() - -find_package(CoinUtils REQUIRED) -find_package(Osi REQUIRED) - -file(GLOB CLP_SOURCES - Clp/src/*.hpp - Clp/src/*.cpp - Clp/src/OsiClp/*.hpp - Clp/src/OsiClp/*.cpp) -file(GLOB CLP_REMOVE - Clp/src/ClpCholeskyMumps.cpp - Clp/src/ClpCholeskyUfl.cpp - Clp/src/ClpCholeskyWssmp.cpp - Clp/src/ClpCholeskyWssmpKKT.cpp - Clp/src/ClpMain.cpp - Clp/src/*Abc*.cpp - Clp/src/ClpCholeskyMumps.hpp - Clp/src/ClpCholeskyUfl.hpp - Clp/src/ClpCholeskyWssmp.hpp - Clp/src/ClpCholeskyWssmpKKT.hpp - Clp/src/ClpMain.hpp - Clp/src/*Abc*.hpp - Clp/src/*Abc*.h) -list(REMOVE_ITEM CLP_SOURCES ${CLP_REMOVE}) - -add_library(${PROJECT_NAME} ${CLP_SOURCES}) - -target_include_directories(${PROJECT_NAME} - PUBLIC - $ - $ - $) - -if(MSVC) - target_compile_definitions(${PROJECT_NAME} PRIVATE _CRT_SECURE_NO_WARNINGS) -endif() -target_compile_definitions(${PROJECT_NAME} PRIVATE HAVE_CMATH) -target_compile_definitions(${PROJECT_NAME} PUBLIC COIN_HAS_CLP) - -target_link_libraries(${PROJECT_NAME} PRIVATE Coin::CoinUtils Coin::Osi) - -install(DIRECTORY Clp/src/ - DESTINATION ${INSTALL_INCLUDE_DIR} - FILES_MATCHING - PATTERN "*.h" - PATTERN "*.hpp" - PATTERN "config_default.h" EXCLUDE) - -install(DIRECTORY Clp/src/OsiClp/ - DESTINATION ${INSTALL_INCLUDE_DIR} - FILES_MATCHING - PATTERN "*.h" - PATTERN "*.hpp" - PATTERN "config_default.h" EXCLUDE) - -install(TARGETS ${PROJECT_NAME} - EXPORT "${PROJECT_NAME}Targets" - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib - RUNTIME DESTINATION bin) - -include(CMakePackageConfigHelpers) - -set(version_config "${CMAKE_CURRENT_BINARY_DIR}/temp/${PROJECT_NAME}ConfigVersion.cmake") -set(project_config "${CMAKE_CURRENT_BINARY_DIR}/temp/${PROJECT_NAME}Config.cmake") -set(namespace "Coin::") - -write_basic_package_version_file("${version_config}" - COMPATIBILITY SameMajorVersion) - -configure_package_config_file("Config.cmake.in" - "${project_config}" - INSTALL_DESTINATION - "${INSTALL_CMAKE_DIR}") - -install(FILES "${project_config}" "${version_config}" - DESTINATION "${INSTALL_CMAKE_DIR}") - -install(EXPORT "${PROJECT_NAME}Targets" - NAMESPACE "${namespace}" - DESTINATION "${INSTALL_CMAKE_DIR}") diff --git a/ports/clp/Config.cmake.in b/ports/clp/Config.cmake.in deleted file mode 100644 index 2c12f83f027dcf..00000000000000 --- a/ports/clp/Config.cmake.in +++ /dev/null @@ -1,5 +0,0 @@ - -@PACKAGE_INIT@ - -include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") -check_required_components("@PROJECT_NAME@") diff --git a/ports/clp/portfile.cmake b/ports/clp/portfile.cmake deleted file mode 100644 index 055ceea186f18a..00000000000000 --- a/ports/clp/portfile.cmake +++ /dev/null @@ -1,24 +0,0 @@ -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO coin-or/Clp - REF 756ddd3ed813eb1fa8b2d1b4fe813e6a4d7aa1eb # releases/1.17.6 - SHA512 579f6f47a4878ce82b69474880ef0796893279a8dac6e40feb7c29c5249180704c9b7a6443e717190b85811af3f1768d097511de2aa99396f725d6d02eb1a621 -) - -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/Config.cmake.in DESTINATION ${SOURCE_PATH}) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA -) - -vcpkg_install_cmake() -vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets() - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) - -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/clp RENAME copyright) diff --git a/ports/clp/vcpkg.json b/ports/clp/vcpkg.json deleted file mode 100644 index 7e598d1997df65..00000000000000 --- a/ports/clp/vcpkg.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name": "clp", - "version-string": "1.17.6", - "port-version": 1, - "description": "Clp (Coin-or linear programming) is an open-source linear programming solver written in C++. It is primarily meant to be used as a callable library, but a basic, stand-alone executable version is also available.", - "dependencies": [ - "coinutils", - "osi" - ] -} diff --git a/ports/clrng/portfile.cmake b/ports/clrng/portfile.cmake index d6a390a3e3f670..1c9fe2bb3571c2 100644 --- a/ports/clrng/portfile.cmake +++ b/ports/clrng/portfile.cmake @@ -1,5 +1,3 @@ -vcpkg_fail_port_install(ON_ARCH "arm64") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO clMathLibraries/clRNG @@ -20,9 +18,8 @@ endif() string(COMPARE EQUAL "${VCPKG_TARGET_ARCHITECTURE}" "x64" BUILD64) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED_LIBRARY) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH}/src - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/src" OPTIONS -DBUILD_SHARED_LIBRARY=${BUILD_SHARED_LIBRARY} -DBUILD64=${BUILD64} @@ -31,9 +28,9 @@ vcpkg_configure_cmake( ${R123_SSE_FLAG} ) -vcpkg_install_cmake() +vcpkg_cmake_install() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") file( REMOVE_RECURSE @@ -41,8 +38,8 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") "${CURRENT_PACKAGES_DIR}/debug/bin") endif() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/clRNG) - +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/clRNG) +vcpkg_fixup_pkgconfig() vcpkg_copy_pdbs() -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/clrng/vcpkg.json b/ports/clrng/vcpkg.json index a7415ab0bf8832..9e90dccd0ba07f 100644 --- a/ports/clrng/vcpkg.json +++ b/ports/clrng/vcpkg.json @@ -1,11 +1,19 @@ { "name": "clrng", - "version-string": "2020-12-01", - "port-version": 1, + "version-date": "2020-12-01", + "port-version": 3, "description": "clRNG is a library for uniform random number generation in OpenCL.", "homepage": "https://github.com/clMathLibraries/clRNG", "supports": "!arm64", "dependencies": [ - "opencl" + "opencl", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/cmakerc/portfile.cmake b/ports/cmakerc/portfile.cmake new file mode 100644 index 00000000000000..c249344390e11d --- /dev/null +++ b/ports/cmakerc/portfile.cmake @@ -0,0 +1,13 @@ +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO vector-of-bool/cmrc + REF 952ffddba731fc110bd50409e8d2b8a06abbd237 + SHA512 e00ff1a4166f62f66effe324551f3c3225a7bf0416a693ca39b1d04fdf696c162466da18718b2c44f84227c17e82fa6ca50882d28bfd6e0147fa6741008e58e5 + HEAD_REF master +) + +file(INSTALL "${SOURCE_PATH}/CMakeRC.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME cmakerc-config.cmake) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") +file(COPY "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/cmakerc/usage b/ports/cmakerc/usage new file mode 100644 index 00000000000000..248589fba22126 --- /dev/null +++ b/ports/cmakerc/usage @@ -0,0 +1,7 @@ +The package cmakerc provides additional cmake functions: + + find_package(CMakeRC CONFIG REQUIRED) + cmrc_add_resource_library(foo-resources ALIAS foo::rc NAMESPACE foo ...) + target_link_libraries(main PRIVATE foo::rc) + +See https://github.com/vector-of-bool/cmrc/blob/master/README.md diff --git a/ports/cmakerc/vcpkg.json b/ports/cmakerc/vcpkg.json new file mode 100644 index 00000000000000..06e4e29a089d69 --- /dev/null +++ b/ports/cmakerc/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "cmakerc", + "version-date": "2023-07-24", + "description": "A Resource Compiler in a Single CMake Script", + "homepage": "https://github.com/vector-of-bool/cmrc", + "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 b263deaca9e5ac..20de0cd36232c4 100644 --- a/ports/cmark/portfile.cmake +++ b/ports/cmark/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO commonmark/cmark - REF 977b128291c0cf6c5053cdcf2ac72e627f09c105 #0.30.1 - SHA512 ff8139fbb45549d6bea70e11c35ae1d8cf6108d0141688cc2b878afa6247147e0c15ac885e6ed8fa2263534dc79e88e398b30d3d3ae800f13dcdd878114adac8 + REF "${VERSION}" + SHA512 3b4f8b47d8ea270078ab986aa22fc32b227786459bd33c7225aac578d8dd014e3d8788a6add60ea10571fdb4c7dc6a1ece960815a02f04f153b1775c73ccff8f HEAD_REF master PATCHES add-feature-tools.patch @@ -11,10 +11,6 @@ vcpkg_from_github( string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" CMARK_STATIC) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" CMARK_SHARED) -if ("tools" IN_LIST FEATURES AND VCPKG_TARGET_IS_UWP) - message(FATAL_ERROR "${PORT} does no support to build tools on UWP") -endif() - vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES tools BUILD_TOOLS @@ -24,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} ) @@ -45,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 bfb1999a602bcd..922e55fac5fee5 100644 --- a/ports/cmark/vcpkg.json +++ b/ports/cmark/vcpkg.json @@ -1,8 +1,9 @@ { "name": "cmark", - "version-semver": "0.30.1", + "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", @@ -15,7 +16,8 @@ ], "features": { "tools": { - "description": "Build tools" + "description": "Build tools", + "supports": "!uwp" } } } diff --git a/ports/cmcstl2/portfile.cmake b/ports/cmcstl2/portfile.cmake deleted file mode 100644 index d1e7125a5e296e..00000000000000 --- a/ports/cmcstl2/portfile.cmake +++ /dev/null @@ -1,26 +0,0 @@ -# header-only library - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO CaseyCarter/cmcstl2 - REF cca84b9fd362ea37334ccbe09a66be4121768ac9 - SHA512 a528dda26964a8c29f2bf7ddb24a861f337246e9ab2bda19f62d4ca107951aa77e37070623db3b5574973404ccf2f201bc2020654b3d53de36d8a22de521e5b9 - HEAD_REF master -) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - -DSTL2_BUILD_EXAMPLES=OFF - -DSTL2_BUILD_TESTING=OFF -) - -vcpkg_install_cmake() - -vcpkg_fixup_cmake_targets(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 df0d6a2a52add9..00000000000000 --- a/ports/cmcstl2/vcpkg.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "name": "cmcstl2", - "version-string": "2019-07-20", - "port-version": 1, - "description": "An implementation of C++ Extensions for Ranges", - "homepage": "https://github.com/CaseyCarter/cmcstl2" -} diff --git a/ports/cminpack/portfile.cmake b/ports/cminpack/portfile.cmake index d01068df668d8a..b34977db1cb545 100644 --- a/ports/cminpack/portfile.cmake +++ b/ports/cminpack/portfile.cmake @@ -1,21 +1,44 @@ +# Must be removed on next release +vcpkg_download_distfile(DLLEXPORT_PATCH + URLS https://github.com/devernay/cminpack/commit/0d40c5359674448aa6f78accaddca1d79befff1f.patch?full_index=1 + FILENAME devernay-cminpack-pr-50-dllexport.patch + SHA512 558c21c4d43ff64a38945643810eafaee46c5f61c0e2a98931f9ba2283cf46e234a74f12ce6db4e64289de58f8da190af936f847f42636fd812fdf82ff733763 +) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO devernay/cminpack REF v1.3.8 SHA512 0cab275074a31af69dbaf3ef6d41b20184c7cf9f33c78014a69ae7a022246fa79e7b4851341c6934ca1e749955b7e1096a40b4300a109ad64ebb1b2ea5d1d8ae + PATCHES + ${DLLEXPORT_PATCH} ) +vcpkg_replace_string("${SOURCE_PATH}/CMakeLists.txt" [[ STRING "CMinpack]] [[) # ("CMinpack]]) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_EXAMPLES=OFF -DCMINPACK_LIB_INSTALL_DIR=lib + -DUSE_BLAS=OFF ) vcpkg_cmake_install() +vcpkg_cmake_config_fixup() vcpkg_fixup_pkgconfig() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -# # Handle copyright -file(INSTALL "${SOURCE_PATH}/CopyrightMINPACK.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/cminpack-1/cminpack.h" [[!defined(CMINPACK_NO_DLL)]] 0) +endif() +if(NOT VCPKG_BUILD_TYPE) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/cminpack.pc" "-lcminpack" "-lcminpack_d") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/cminpacks.pc" "-lcminpacks" "-lcminpacks_d") + if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/cminpackld.pc") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/cminpackld.pc" "-lcminpackld" "-lcminpackld_d") + endif() +endif() + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/CopyrightMINPACK.txt") diff --git a/ports/cminpack/usage b/ports/cminpack/usage new file mode 100644 index 00000000000000..d1a0fe724ab991 --- /dev/null +++ b/ports/cminpack/usage @@ -0,0 +1,9 @@ +cminpack provides CMake targets: + + find_package(CMinpack CONFIG REQUIRED) + target_link_libraries(main PRIVATE cminpack::cminpack) + + # alternative for single precision + target_link_libraries(main PRIVATE cminpack::cminpacks) + # alternative for long double precision + target_link_libraries(main PRIVATE cminpack::cminpackld) diff --git a/ports/cminpack/vcpkg.json b/ports/cminpack/vcpkg.json index aa37c1135ba975..d286b2062821c6 100644 --- a/ports/cminpack/vcpkg.json +++ b/ports/cminpack/vcpkg.json @@ -1,13 +1,18 @@ { "name": "cminpack", "version": "1.3.8", - "port-version": 1, + "port-version": 4, "description": "A C/C++ rewrite of the MINPACK software (originally in FORTRAN) for solving nonlinear equations and nonlinear least squares problems", "homepage": "http://devernay.free.fr/hacks/cminpack/", + "license": null, "dependencies": [ { "name": "vcpkg-cmake", "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true } ] } diff --git a/ports/cmocka/portfile.cmake b/ports/cmocka/portfile.cmake index 53c9aee69890ae..67105ce352d694 100644 --- a/ports/cmocka/portfile.cmake +++ b/ports/cmocka/portfile.cmake @@ -7,9 +7,8 @@ vcpkg_from_gitlab( HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DWITH_CMOCKERY_SUPPORT=ON -DUNIT_TESTING=OFF @@ -17,14 +16,14 @@ vcpkg_configure_cmake( -DPICKY_DEVELOPER=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) - -vcpkg_fixup_pkgconfig() +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) + +vcpkg_fixup_pkgconfig() diff --git a/ports/cmocka/vcpkg.json b/ports/cmocka/vcpkg.json index 8978acdb42c3da..dbc6fd5d7a4658 100644 --- a/ports/cmocka/vcpkg.json +++ b/ports/cmocka/vcpkg.json @@ -1,8 +1,18 @@ { "name": "cmocka", - "version-string": "2020-08-01", - "port-version": 1, + "version-date": "2020-08-01", + "port-version": 3, "description": "An elegant unit testing framework for C with support for mock objects", "homepage": "https://cmocka.org/", - "license": "Apache-2.0" + "license": "Apache-2.0", + "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 new file mode 100644 index 00000000000000..b43822dfd1b17b --- /dev/null +++ b/ports/cnats/fix-sodium-dep.patch @@ -0,0 +1,59 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 02adc2e..ccd5492 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -110,6 +110,11 @@ if(NATS_BUILD_STREAMING) + endif(NATS_BUILD_STREAMING) + + if(NATS_BUILD_USE_SODIUM) ++ find_package(libsodium NAMES unofficial-sodium CONFIG REQUIRED) ++ set(NATS_SODIUM_INCLUDE_DIRS "") ++ set(NATS_SODIUM_LIBRARIES unofficial-sodium::sodium) ++ add_definitions(-DNATS_USE_LIBSODIUM) ++elseif(0) + IF(DEFINED ENV{NATS_SODIUM_DIR}) + SET(NATS_SODIUM_DIR "$ENV{NATS_SODIUM_DIR}") + ENDIF() +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index ea536de..6198776 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -63,7 +63,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(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) + endif(NATS_BUILD_LIB_STATIC) + ++include(CMakePackageConfigHelpers) ++configure_package_config_file(${CMAKE_CURRENT_SOURCE_DIR}/Config.cmake.in "${CMAKE_CURRENT_BINARY_DIR}/cnats-config.cmake" INSTALL_DESTINATION ${NATS_LIBDIR}/cmake/cnats) ++install(FILES ${CMAKE_CURRENT_BINARY_DIR}/cnats-config.cmake DESTINATION ${NATS_LIBDIR}/cmake/cnats) ++ + install(FILES deprnats.h DESTINATION ${NATS_INCLUDE_DIR} RENAME nats.h) + install(FILES nats.h status.h version.h DESTINATION ${NATS_INCLUDE_DIR}/nats) + install(FILES adapters/libevent.h adapters/libuv.h DESTINATION ${NATS_INCLUDE_DIR}/nats/adapters) +diff --git a/src/Config.cmake.in b/src/Config.cmake.in +new file mode 100644 +index 0000000..aa1d6bf +--- /dev/null ++++ b/src/Config.cmake.in +@@ -0,0 +1,8 @@ ++@PACKAGE_INIT@ ++ ++include(CMakeFindDependencyMacro) ++if("@NATS_BUILD_USE_SODIUM@") ++ find_dependency(unofficial-sodium) ++endif() ++ ++include ( "${CMAKE_CURRENT_LIST_DIR}/cnats-targets.cmake" ) diff --git a/ports/cnats/fix_install_path.patch b/ports/cnats/fix_install_path.patch new file mode 100644 index 00000000000000..15c8ab24b272cd --- /dev/null +++ b/ports/cnats/fix_install_path.patch @@ -0,0 +1,28 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index b3f376c..8e6d06a 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -60,7 +60,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 +@@ -72,7 +75,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/lowercase_ws2_32.patch b/ports/cnats/lowercase_ws2_32.patch new file mode 100644 index 00000000000000..02c1b0eb962161 --- /dev/null +++ b/ports/cnats/lowercase_ws2_32.patch @@ -0,0 +1,19 @@ +Subject: [PATCH] Change "Ws2_32" to "ws2_32" for MinGW compatibility with no adverse effect for native Windows build. +--- +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 1cb8d8cacec14bb9760a50f712b5f62d16ddc91e) ++++ b/CMakeLists.txt (revision c1d98cd1d3484e3d41b7236fbd272295e9ef72ce) +@@ -196,7 +196,7 @@ + elseif(WIN32) + set(NATS_LIBDIR "lib") + set(NATS_INCLUDE_DIR "include") +- set(NATS_EXTRA_LIB "Ws2_32") ++ set(NATS_EXTRA_LIB "ws2_32") + set(NATS_OS "_WIN32") + set(NATS_PLATFORM_INCLUDE "win") + if(sodium_USE_STATIC_LIBS) diff --git a/ports/cnats/portfile.cmake b/ports/cnats/portfile.cmake new file mode 100644 index 00000000000000..9c4727e491e5d5 --- /dev/null +++ b/ports/cnats/portfile.cmake @@ -0,0 +1,80 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO nats-io/nats.c + REF "v${VERSION}" + SHA512 4cc127a461a5074d8a49d8cee633577951152cd54f57b4118ff6e4a8c0da73e2f61e9e54546a34c9e79a4557165a80bedc7e9cf6ed0fde28134019eb59a241b9 + HEAD_REF main + PATCHES + fix-sodium-dep.patch + fix_install_path.patch + lowercase_ws2_32.patch +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + "streaming" NATS_BUILD_STREAMING +) + +if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + list(APPEND OPTIONS -DNATS_BUILD_LIB_SHARED=ON) + list(APPEND OPTIONS -DNATS_BUILD_LIB_STATIC=OFF) + list(APPEND OPTIONS -DBUILD_TESTING=OFF) + list(APPEND OPTIONS -DNATS_BUILD_USE_SODIUM=ON) +else() + list(APPEND OPTIONS -DNATS_BUILD_LIB_SHARED=OFF) + list(APPEND OPTIONS -DNATS_BUILD_LIB_STATIC=ON) + list(APPEND OPTIONS -DBUILD_TESTING=ON) + if(VCPKG_TARGET_IS_WINDOWS) + list(APPEND OPTIONS -DNATS_BUILD_USE_SODIUM=OFF) + else() + list(APPEND OPTIONS -DNATS_BUILD_USE_SODIUM=ON) + endif() +endif() + +vcpkg_cmake_configure( + SOURCE_PATH ${SOURCE_PATH} + OPTIONS + ${FEATURE_OPTIONS} + ${OPTIONS} + -DNATS_BUILD_TLS_USE_OPENSSL_1_1_API=ON + -DNATS_BUILD_EXAMPLES=OFF +) + +vcpkg_cmake_install(ADD_BIN_TO_PATH) + +if(VCPKG_TARGET_IS_WINDOWS) + if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + if(EXISTS "${CURRENT_PACKAGES_DIR}/lib/nats.dll") + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/bin") + file(RENAME "${CURRENT_PACKAGES_DIR}/lib/nats.dll" "${CURRENT_PACKAGES_DIR}/bin/nats.dll") + endif() + if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/lib/natsd.dll") + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/bin") + file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/natsd.dll" "${CURRENT_PACKAGES_DIR}/debug/bin/natsd.dll") + endif() + endif() +endif() + +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) + +if(VCPKG_TARGET_IS_WINDOWS) + if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + if(EXISTS "${CURRENT_PACKAGES_DIR}/share/cnats/cnats-config-debug.cmake") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/cnats/cnats-config-debug.cmake" + "\${_IMPORT_PREFIX}/debug/lib/natsd.dll" "\${_IMPORT_PREFIX}/debug/bin/natsd.dll") + endif() + if(EXISTS "${CURRENT_PACKAGES_DIR}/share/cnats/cnats-config-release.cmake") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/cnats/cnats-config-release.cmake" + "\${_IMPORT_PREFIX}/lib/nats.dll" "\${_IMPORT_PREFIX}/bin/nats.dll") + endif() + endif() +endif() + +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/cnats/vcpkg.json b/ports/cnats/vcpkg.json new file mode 100644 index 00000000000000..711d0a1c8ee0d5 --- /dev/null +++ b/ports/cnats/vcpkg.json @@ -0,0 +1,26 @@ +{ + "name": "cnats", + "version": "3.8.2", + "description": "A C client for the NATS messaging system", + "homepage": "https://github.com/nats-io/nats.c", + "license": "Apache-2.0", + "dependencies": [ + "libsodium", + "openssl", + "protobuf-c", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "streaming": { + "description": "Include NATS Streaming APIs in the NATS library", + "supports": "!windows" + } + } +} diff --git a/ports/cnl/portfile.cmake b/ports/cnl/portfile.cmake index 13ba7327585ffb..7f5cdcad07842c 100644 --- a/ports/cnl/portfile.cmake +++ b/ports/cnl/portfile.cmake @@ -9,16 +9,15 @@ vcpkg_from_github( disable-test.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug" "${CURRENT_PACKAGES_DIR}/lib") # Handle copyright -configure_file(${SOURCE_PATH}/LICENSE_1_0.txt ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) +configure_file("${SOURCE_PATH}/LICENSE_1_0.txt" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) diff --git a/ports/cnl/vcpkg.json b/ports/cnl/vcpkg.json index 930fcdeed6706b..2078a2ec90b67a 100644 --- a/ports/cnl/vcpkg.json +++ b/ports/cnl/vcpkg.json @@ -1,7 +1,17 @@ { "name": "cnl", - "version-string": "1.1.7", - "port-version": 1, + "version": "1.1.7", + "port-version": 3, "description": "A Compositional Numeric Library for C++", - "homepage": "https://github.com/johnmcfarlane/cnl" + "homepage": "https://github.com/johnmcfarlane/cnl", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/co/portfile.cmake b/ports/co/portfile.cmake index 9e7dd7e1996c36..0015715fb66c72 100644 --- a/ports/co/portfile.cmake +++ b/ports/co/portfile.cmake @@ -1,39 +1 @@ -if(VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_UWP) - vcpkg_fail_port_install(ON_ARCH "arm" ON_TAREGT "uwp") -endif() - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO idealvin/co - REF 25915760f5cbcde1c5af625dd4d19a632ae43f12 #v2.0.2 - SHA512 892d70923409306ab548cf4568f15ffd13949047a5a7810c68d60c1afd184eafd2076f62eb6249ae64b38c409255cb873fa28740ceab37b908b70174ddf6d077 - HEAD_REF master - PATCHES - install-dll.patch - fix-event-destruct.patch -) - -string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" STATIC_CRT) - -vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - FEATURES - libcurl WITH_LIBCURL - openssl WITH_OPENSSL -) - -vcpkg_cmake_configure( - SOURCE_PATH "${SOURCE_PATH}" - OPTIONS - ${FEATURE_OPTIONS} - -DSTATIC_VS_CRT=${STATIC_CRT} - DISABLE_PARALLEL_CONFIGURE -) - -vcpkg_cmake_install() - -file(REMOVE_RECURSE - "${CURRENT_PACKAGES_DIR}/debug/include" - "${CURRENT_PACKAGES_DIR}/debug/share" -) - -file(INSTALL "${SOURCE_PATH}/LICENSE.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) \ No newline at end of file diff --git a/ports/co/vcpkg.json b/ports/co/vcpkg.json index e9f94ed5f75f0e..6bbd685889e3e5 100644 --- a/ports/co/vcpkg.json +++ b/ports/co/vcpkg.json @@ -1,34 +1,11 @@ { "name": "co", - "version-semver": "2.0.2", + "version-semver": "2.0.3", "port-version": 1, "description": "A go-style coroutine library in C++11 and more", - "homepage": "https://github.com/idealvin/co", + "homepage": "https://github.com/idealvin/cocoyaxi", "supports": "!uwp & !(arm & windows)", "dependencies": [ - { - "name": "vcpkg-cmake", - "host": true - } - ], - "features": { - "libcurl": { - "description": "libcurl with OpenSSL support", - "dependencies": [ - { - "name": "curl", - "default-features": false, - "features": [ - "openssl" - ] - } - ] - }, - "openssl": { - "description": "SSL support (OpenSSL)", - "dependencies": [ - "openssl" - ] - } - } + "cocoyaxi" + ] } diff --git a/ports/co/fix-event-destruct.patch b/ports/cocoyaxi/fix-event-destruct.patch similarity index 100% rename from ports/co/fix-event-destruct.patch rename to ports/cocoyaxi/fix-event-destruct.patch diff --git a/ports/co/install-dll.patch b/ports/cocoyaxi/install-dll.patch similarity index 100% rename from ports/co/install-dll.patch rename to ports/cocoyaxi/install-dll.patch diff --git a/ports/cocoyaxi/portfile.cmake b/ports/cocoyaxi/portfile.cmake new file mode 100644 index 00000000000000..1f8d01f3c4a0e6 --- /dev/null +++ b/ports/cocoyaxi/portfile.cmake @@ -0,0 +1,37 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO idealvin/coost + REF 43a8bb4c8fceafe8a86752f522f744301d2b8a7f #v3.0.0 + SHA512 e34c65853d4280412219d35f55a745e20475474bb59c208562b78edf49bc54852ea1e5d58d7a4bb8bf771f8c51c4eae1ad7426902a32b99c3ee5358bb9426740 + HEAD_REF master +) + +string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" STATIC_CRT) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + libcurl WITH_LIBCURL + openssl WITH_OPENSSL +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + DISABLE_PARALLEL_CONFIGURE + OPTIONS + ${FEATURE_OPTIONS} + -DSTATIC_VS_CRT=${STATIC_CRT} + MAYBE_UNUSED_VARIABLES + STATIC_VS_CRT +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/coost) + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" +) + +vcpkg_fixup_pkgconfig() + +file(INSTALL "${SOURCE_PATH}/LICENSE.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/cocoyaxi/vcpkg.json b/ports/cocoyaxi/vcpkg.json new file mode 100644 index 00000000000000..93128dcee462e7 --- /dev/null +++ b/ports/cocoyaxi/vcpkg.json @@ -0,0 +1,39 @@ +{ + "name": "cocoyaxi", + "version": "3.0.0", + "port-version": 1, + "description": "A go-style coroutine library in C++11 and more", + "homepage": "https://github.com/idealvin/cocoyaxi", + "license": "MIT", + "supports": "!uwp & !(arm & windows)", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "libcurl": { + "description": "libcurl with OpenSSL support", + "dependencies": [ + { + "name": "curl", + "default-features": false, + "features": [ + "openssl" + ] + } + ] + }, + "openssl": { + "description": "SSL support (OpenSSL)", + "dependencies": [ + "openssl" + ] + } + } +} diff --git a/ports/coin-or-buildtools/buildtools.patch b/ports/coin-or-buildtools/buildtools.patch new file mode 100644 index 00000000000000..da8c811dc033b6 --- /dev/null +++ b/ports/coin-or-buildtools/buildtools.patch @@ -0,0 +1,32 @@ +diff --git a/coin.m4 b/coin.m4 +index 46501b207..a0ff20a6f 100644 +--- a/coin.m4 ++++ b/coin.m4 +@@ -1312,11 +1312,11 @@ AC_DEFUN([AC_COIN_CHK_ZLIB], + if test x$coin_enable_zlib = xyes ; then + AC_CHECK_HEADER([zlib.h],[coin_has_zlib=yes]) + if test x$coin_has_zlib = xyes ; then +- AC_CHECK_LIB([z],[gzopen],[],[coin_has_zlib=no]) ++ AC_SEARCH_LIBS([gzopen],[z zlib zlibd],[],[coin_has_zlib=no]) + fi + if test x$coin_has_zlib = xyes ; then + m4_foreach_w([myvar],[$1], +- [m4_toupper(myvar)_LFLAGS="-lz $m4_toupper(myvar)_LFLAGS" ++ [m4_toupper(myvar)_LFLAGS="-l$ac_cv_search_gzopen $m4_toupper(myvar)_LFLAGS" + ]) + AC_DEFINE(m4_toupper(AC_PACKAGE_NAME)_HAS_ZLIB,[1],[Define to 1 if zlib is available]) + fi +@@ -1353,11 +1353,11 @@ AC_DEFUN([AC_COIN_CHK_BZLIB], + if test $coin_enable_bzlib = yes ; then + AC_CHECK_HEADER([bzlib.h],[coin_has_bzlib=yes]) + if test $coin_has_bzlib = yes ; then +- AC_CHECK_LIB([bz2],[BZ2_bzReadOpen],[],[coin_has_bzlib=no]) ++ AC_SEARCH_LIBS([BZ2_bzReadOpen],[bz2 bz2d],[],[coin_has_bzlib=no]) + fi + if test $coin_has_bzlib = yes ; then + m4_foreach_w([myvar],[$1], +- [m4_toupper(myvar)_LFLAGS="-lbz2 $m4_toupper(myvar)_LFLAGS" ++ [m4_toupper(myvar)_LFLAGS="-l$ac_cv_search_BZ2_bzReadOpen $m4_toupper(myvar)_LFLAGS" + ]) + AC_DEFINE(m4_toupper(AC_PACKAGE_NAME)_HAS_BZLIB,[1],[Define to 1 if bzlib is available]) + fi diff --git a/ports/coin-or-buildtools/buildtools2.patch b/ports/coin-or-buildtools/buildtools2.patch new file mode 100644 index 00000000000000..2e9c15c5d0fa0e --- /dev/null +++ b/ports/coin-or-buildtools/buildtools2.patch @@ -0,0 +1,54 @@ +diff --git a/coin.m4 b/coin.m4 +index a0ff20a6f..46e0519d1 100644 +--- a/coin.m4 ++++ b/coin.m4 +@@ -773,7 +773,6 @@ dnl Create a automake conditional and PKG_CONFIG variable + COIN_PKG_CONFIG_PATH="${PKG_CONFIG_PATH}" + AC_SUBST(COIN_PKG_CONFIG_PATH) + +- COIN_PKG_CONFIG_PATH="${expanded_libdir}/pkgconfig:${COIN_PKG_CONFIG_PATH}" + if test -n "$PKG_CONFIG"; then + AC_MSG_NOTICE([$PKG_CONFIG path is "$COIN_PKG_CONFIG_PATH"]) + fi +@@ -1316,7 +1315,7 @@ AC_DEFUN([AC_COIN_CHK_ZLIB], + fi + if test x$coin_has_zlib = xyes ; then + m4_foreach_w([myvar],[$1], +- [m4_toupper(myvar)_LFLAGS="-l$ac_cv_search_gzopen $m4_toupper(myvar)_LFLAGS" ++ [m4_toupper(myvar)_LFLAGS="$ac_cv_search_gzopen $m4_toupper(myvar)_LFLAGS" + ]) + AC_DEFINE(m4_toupper(AC_PACKAGE_NAME)_HAS_ZLIB,[1],[Define to 1 if zlib is available]) + fi +@@ -1357,7 +1356,7 @@ AC_DEFUN([AC_COIN_CHK_BZLIB], + fi + if test $coin_has_bzlib = yes ; then + m4_foreach_w([myvar],[$1], +- [m4_toupper(myvar)_LFLAGS="-l$ac_cv_search_BZ2_bzReadOpen $m4_toupper(myvar)_LFLAGS" ++ [m4_toupper(myvar)_LFLAGS="$ac_cv_search_BZ2_bzReadOpen $m4_toupper(myvar)_LFLAGS" + ]) + AC_DEFINE(m4_toupper(AC_PACKAGE_NAME)_HAS_BZLIB,[1],[Define to 1 if bzlib is available]) + fi +diff --git a/coin_chk_lapack.m4 b/coin_chk_lapack.m4 +index 6085069af..3314f97e2 100644 +--- a/coin_chk_lapack.m4 ++++ b/coin_chk_lapack.m4 +@@ -186,9 +186,7 @@ dnl links. We check for both to ensure that blas lib also appears on link line + dnl in case someone wants to use Blas functions but tests only for Lapack. + dnl We skip this if int64 + if test "$lapack_keep_looking" = yes ; then +- case " $2 " in +- *\ int64\ * ) ;; +- *) AC_COIN_CHK_MOD_EXISTS([lapack],[lapack blas], ++ AC_COIN_CHK_MOD_EXISTS([lapack],[lapack blas], + [lapack_what="generic module (lapack.pc blas.pc)" + AC_COIN_TRY_LINK([dsyev],[],[lapack], + [coin_has_lapack=yes +@@ -196,8 +194,6 @@ dnl We skip this if int64 + lapack_pcfiles="lapack blas"], + [AC_MSG_WARN([lapack.pc and blas.pc present, but could not find dsyev when trying to link with LAPACK.])],no) + ]) +- ;; +- esac + fi + dnl TODO do we need another check with lapack.pc only? + diff --git a/ports/coin-or-buildtools/portfile.cmake b/ports/coin-or-buildtools/portfile.cmake new file mode 100644 index 00000000000000..1fb0db69c607c8 --- /dev/null +++ b/ports/coin-or-buildtools/portfile.cmake @@ -0,0 +1,14 @@ +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) + +vcpkg_from_github( + OUT_SOURCE_PATH BUILD_SCRIPTS_PATH + REPO coin-or-tools/BuildTools + REF 1e473af11438bc0a9e8506252e31fc14b902a31e + SHA512 c142163a270848d1e1300a70713ee03ec822cc9d7583ba7aa685c02b7c25e0d4c0f7d958aad320dbf1824cc88fe0a49dc3357e0fe11588dc8c30e7fec8d239f6 + PATCHES buildtools.patch + buildtools2.patch +) + +file(COPY "${BUILD_SCRIPTS_PATH}/" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}/BuildTools") + +file(INSTALL "${BUILD_SCRIPTS_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/coin-or-buildtools/vcpkg.json b/ports/coin-or-buildtools/vcpkg.json new file mode 100644 index 00000000000000..e830313ce4e597 --- /dev/null +++ b/ports/coin-or-buildtools/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "coin-or-buildtools", + "version-date": "2023-02-02", + "description": "Macros and patches for GNU autotools ", + "homepage": "https://coin-or-tools.github.io/BuildTools/", + "license": "EPL-2.0" +} diff --git a/ports/coin-or-cbc/disable_glpk.patch b/ports/coin-or-cbc/disable_glpk.patch new file mode 100644 index 00000000000000..18785807977a7b --- /dev/null +++ b/ports/coin-or-cbc/disable_glpk.patch @@ -0,0 +1,14 @@ +diff --git a/src/CbcSolver.cpp b/src/CbcSolver.cpp +index 93da884..1c9d463 100644 +--- a/src/CbcSolver.cpp ++++ b/src/CbcSolver.cpp +@@ -32,6 +32,9 @@ + void CbcCrashHandler(int sig); + #endif + ++// glpk currently not supported ++#undef COINUTILS_HAS_GLPK ++ + #ifdef COINUTILS_HAS_GLPK + #include "glpk.h" + #endif diff --git a/ports/coin-or-cbc/pkgconf_win.patch b/ports/coin-or-cbc/pkgconf_win.patch new file mode 100644 index 00000000000000..a498394d1bb187 --- /dev/null +++ b/ports/coin-or-cbc/pkgconf_win.patch @@ -0,0 +1,13 @@ +diff --git a/configure b/configure +index 3a63499..2d12129 100755 +--- a/configure ++++ b/configure +@@ -17932,8 +17932,6 @@ fi + + COIN_PKG_CONFIG_PATH="${PKG_CONFIG_PATH}" + +- +- COIN_PKG_CONFIG_PATH="${expanded_libdir}/pkgconfig:${COIN_PKG_CONFIG_PATH}" + if test -n "$PKG_CONFIG"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $PKG_CONFIG path is \"$COIN_PKG_CONFIG_PATH\"" >&5 + printf "%s\n" "$as_me: $PKG_CONFIG path is \"$COIN_PKG_CONFIG_PATH\"" >&6;} diff --git a/ports/coin-or-cbc/portfile.cmake b/ports/coin-or-cbc/portfile.cmake new file mode 100644 index 00000000000000..08b30b289e455f --- /dev/null +++ b/ports/coin-or-cbc/portfile.cmake @@ -0,0 +1,39 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO coin-or/Cbc + REF ca088df34881ef0d58124e53b3d70bfa73e92713 + SHA512 9df1242910a42a9b942fd25dbf8a80b6278d75641c93e1218b39695224cf88bdf9d1a2d27e637ebb068b1e8733267a0f16c69b4db9a480e3f6b9cd732afb2d7a + PATCHES + pkgconf_win.patch + disable_glpk.patch +) + +file(COPY "${CURRENT_INSTALLED_DIR}/share/coin-or-buildtools/" DESTINATION "${SOURCE_PATH}") + +set(ENV{ACLOCAL} "aclocal -I \"${SOURCE_PATH}/BuildTools\"") + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + DETERMINE_BUILD_TRIPLET + USE_WRAPPERS + OPTIONS + --with-coinutils + --with-clp + --with-cgl + --with-osi + --without-ositests + --without-sample + --without-netlib + --without-miplib3 + --enable-relocatable + --disable-readline +) + +vcpkg_install_make() +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/coin-or-cbc/vcpkg.json b/ports/coin-or-cbc/vcpkg.json new file mode 100644 index 00000000000000..886dbaf00e213e --- /dev/null +++ b/ports/coin-or-cbc/vcpkg.json @@ -0,0 +1,13 @@ +{ + "name": "coin-or-cbc", + "version-date": "2024-06-04", + "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", + "dependencies": [ + "coin-or-cgl", + "coin-or-clp", + "coin-or-osi", + "coinutils" + ] +} diff --git a/ports/cgl/fix-c1083-error.patch b/ports/coin-or-cgl/fix-c1083-error.patch similarity index 100% rename from ports/cgl/fix-c1083-error.patch rename to ports/coin-or-cgl/fix-c1083-error.patch diff --git a/ports/coin-or-cgl/portfile.cmake b/ports/coin-or-cgl/portfile.cmake new file mode 100644 index 00000000000000..c370100c23d052 --- /dev/null +++ b/ports/coin-or-cgl/portfile.cmake @@ -0,0 +1,34 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO coin-or/Cgl + REF 3d7daa62b37e7b3504a372f2c93236052952d0f8 + SHA512 48014a5e5bec23ebda34d97f1c3aeb511271e17dac203258668a94a8004c01b7460ddfd7086b6db911d4e8800b61cf2bdc5a11b597cc22317cfef45364cf20fd +) + +file(COPY "${CURRENT_INSTALLED_DIR}/share/coin-or-buildtools/" DESTINATION "${SOURCE_PATH}") + +set(ENV{ACLOCAL} "aclocal -I \"${SOURCE_PATH}/BuildTools\"") + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG + OPTIONS + --with-coinutils + --with-osi + # The rest will be pulled in via being available. + # Since there are no features in the other coin-or-* ports + # yet there is no need to control them here. + --without-sample + --without-netlib + --enable-relocatable + --disable-readline +) + +vcpkg_install_make() +vcpkg_copy_pdbs() +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/coin-or-cgl/vcpkg.json b/ports/coin-or-cgl/vcpkg.json new file mode 100644 index 00000000000000..d87bef37860cf0 --- /dev/null +++ b/ports/coin-or-cgl/vcpkg.json @@ -0,0 +1,12 @@ +{ + "name": "coin-or-cgl", + "version-date": "2023-02-01", + "description": "The COIN-OR Cut Generation Library (Cgl) is a collection of cut generators that can be used with other COIN-OR packages that make use of cuts, such as, among others, the linear solver Clp or the mixed integer linear programming solvers Cbc or BCP.", + "homepage": "https://github.com/coin-or/Cgl", + "license": "EPL-2.0", + "dependencies": [ + "coin-or-clp", + "coin-or-osi", + "coinutils" + ] +} diff --git a/ports/coin-or-clp/dep.patch b/ports/coin-or-clp/dep.patch new file mode 100644 index 00000000000000..23e4da478ba3bb --- /dev/null +++ b/ports/coin-or-clp/dep.patch @@ -0,0 +1,31 @@ +diff --git a/configure.ac b/configure.ac +index a3f2fb9c4..e6f53f26c 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -16,6 +16,8 @@ All Rights Reserved. + This file is part of the open source package Clp which is distributed + under the Eclipse Public License.]) + ++AC_CONFIG_MACRO_DIR([m4]) ++ + # List one file in the package so that the configure script can test + # whether the package is actually there. + AC_CONFIG_SRCDIR(src/ClpSimplex.cpp) +@@ -63,7 +63,7 @@ AC_COIN_CHK_PKG(Osi,[OsiClpLib OsiClpUnitTest]) + AC_COIN_CHK_PKG(OsiTests,[OsiClpUnitTest],[osi-unittests]) + AC_COIN_CHK_PKG(Sample,,[coindatasample],[],dataonly) + AC_COIN_CHK_PKG(Netlib,,[coindatanetlib],[],dataonly) +-AC_COIN_CHK_PKG(Glpk,[ClpLib],[coinglpk]) ++AC_COIN_CHK_PKG(Glpk,[ClpLib],[glpk]) + + ############################################################################# + # Aboca # +@@ -96,7 +96,7 @@ AC_COIN_CHK_LIBHDR(CHOLMOD,[ClpLib],[-lcholmod],[-I/usr/include/suitesparse],[], + # bothered to build it, we should use it. If it's not present, try for a + # system installation. If we find it, define CLP_HAS_MUMPS for export to code + # using clp. +-AC_COIN_CHK_PKG(MUMPS,[ClpLib],[coinmumps]) ++AC_COIN_CHK_PKG(MUMPS,[ClpLib],[mumps]) + if test $coin_has_mumps = no ; then + AC_COIN_CHK_LIBHDR(MUMPS,[ClpLib],[-ldmumps],[-I/usr/include/MUMPS],[], + [dmumps_c((DMUMPS_STRUC_C*)0)], diff --git a/ports/coin-or-clp/portfile.cmake b/ports/coin-or-clp/portfile.cmake new file mode 100644 index 00000000000000..bb994c543eed44 --- /dev/null +++ b/ports/coin-or-clp/portfile.cmake @@ -0,0 +1,39 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO coin-or/Clp + REF 5315ef2e93f5f532a600e16ab604ac439a416e59 + SHA512 78dc8f562e7c1bff3e86c81eda4eda9780a4075921bcdd2338191f37820699baee94eec86b6f63b1b27e5bca7346a2611d669a7cdf3e47e1c032b072ca10bdab + PATCHES dep.patch +) + +file(COPY "${CURRENT_INSTALLED_DIR}/share/coin-or-buildtools/" DESTINATION "${SOURCE_PATH}") + +set(ENV{ACLOCAL} "aclocal -I \"${SOURCE_PATH}/BuildTools\"") + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG + OPTIONS + --with-coinutils + --with-glpk + --with-osi + --without-ositests + --without-sample + --without-netlib + --without-amd + --without-cholmod + --without-mumps + --enable-relocatable + --disable-readline +) + +vcpkg_install_make() +vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/coin-or/ClpModel.hpp" "\"glpk.h\"" "\"../glpk.h\"") + +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/coin-or-clp/vcpkg.json b/ports/coin-or-clp/vcpkg.json new file mode 100644 index 00000000000000..82f8c454d797f7 --- /dev/null +++ b/ports/coin-or-clp/vcpkg.json @@ -0,0 +1,10 @@ +{ + "name": "coin-or-clp", + "version-date": "2023-02-01", + "description": "Clp (Coin-or linear programming) is an open-source linear programming solver written in C++. It is primarily meant to be used as a callable library, but a basic, stand-alone executable version is also available.", + "license": "EPL-2.0", + "dependencies": [ + "coin-or-osi", + "coinutils" + ] +} diff --git a/ports/coin-or-ipopt/portfile.cmake b/ports/coin-or-ipopt/portfile.cmake new file mode 100644 index 00000000000000..17a6370369a7f1 --- /dev/null +++ b/ports/coin-or-ipopt/portfile.cmake @@ -0,0 +1,39 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO coin-or/Ipopt + REF ec43e37a06054246764fb116e50e3e30c9ada089 + SHA512 f5b30e81b4a1a178e9a0e2b51b4832f07441b2c3e9a2aa61a6f07807f94185998e985fcf3c34d96fbfde78f07b69f2e0a0675e1e478a4e668da6da60521e0fd6 + HEAD_REF master +) + # --with-precision floating-point precision to use: single or double + # (default) + # --with-intsize integer type to use: specify 32 for int or 64 for + # int64_t +file(COPY "${CURRENT_INSTALLED_DIR}/share/coin-or-buildtools/" DESTINATION "${SOURCE_PATH}") + +set(ENV{ACLOCAL} "aclocal -I \"${SOURCE_PATH}/BuildTools\"") + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG + OPTIONS + #--with-pardiso + --without-spral + #--without-wsmp + --without-hsl + --without-asl + --with-lapack + --without-mumps + --enable-relocatable + --disable-f77 + --disable-java +) + +vcpkg_install_make() +vcpkg_copy_pdbs() +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/coin-or-ipopt/vcpkg.json b/ports/coin-or-ipopt/vcpkg.json new file mode 100644 index 00000000000000..d3a9d58f39c80a --- /dev/null +++ b/ports/coin-or-ipopt/vcpkg.json @@ -0,0 +1,11 @@ +{ + "name": "coin-or-ipopt", + "version-date": "2023-02-01", + "description": "Ipopt (Interior Point OPTimizer, pronounced eye-pea-Opt) is a software package for large-scale nonlinear optimization", + "homepage": "https://github.com/coin-or/Ipopt", + "license": "EPL-2.0", + "dependencies": [ + "coinutils", + "intel-mkl" + ] +} diff --git a/ports/coin-or-osi/glpk.patch b/ports/coin-or-osi/glpk.patch new file mode 100644 index 00000000000000..5a730e9c9e2353 --- /dev/null +++ b/ports/coin-or-osi/glpk.patch @@ -0,0 +1,13 @@ +diff --git a/configure.ac b/configure.ac +index e4bd1361e..4c3a2a166 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -78,7 +78,7 @@ AC_COIN_CHK_HERE([OsiLib],[OsiCommonTestLib],[osi]) + # downloaded and built. The general flow here is as above: Initialise the + # library, add external components, finalize the flags, and add any components + # being built here. +-AC_COIN_CHK_PKG(Glpk,[OsiGlpkLib OsiTest],[coinglpk]) ++AC_COIN_CHK_PKG(Glpk,[OsiGlpkLib OsiTest],[glpk]) + + AC_LANG_PUSH(C++) + AC_COIN_CHK_LIBHDR(SoPlex,[OsiSpxLib OsiTest],[-lsoplex],[],[], diff --git a/ports/coin-or-osi/portfile.cmake b/ports/coin-or-osi/portfile.cmake new file mode 100644 index 00000000000000..c338eafddbaa6e --- /dev/null +++ b/ports/coin-or-osi/portfile.cmake @@ -0,0 +1,37 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO coin-or/Osi + REF 2420bb864d039a03e11c579b0c9087adbdaa26db + SHA512 27d501cb513a0570ad83247b6a8e7fc69cdbcd2cbec6c11aea0b5982627e76efa7ea6403e6d97419f6c984553434f088a748a7d8d54c1bf73cdbdfd5bef1f2b0 + PATCHES glpk.patch +) + +file(COPY "${CURRENT_INSTALLED_DIR}/share/coin-or-buildtools/" DESTINATION "${SOURCE_PATH}") + +set(ENV{ACLOCAL} "aclocal -I \"${SOURCE_PATH}/BuildTools\"") + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG + OPTIONS + --with-glpk + --with-lapack + --with-coinutils + --without-netlib + --without-sample + --without-gurobi + --without-xpress + --without-cplex + --without-soplex + --enable-relocatable + --disable-readline +) + +vcpkg_install_make() +vcpkg_copy_pdbs() +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/coin-or-osi/vcpkg.json b/ports/coin-or-osi/vcpkg.json new file mode 100644 index 00000000000000..bed12c05ea5719 --- /dev/null +++ b/ports/coin-or-osi/vcpkg.json @@ -0,0 +1,9 @@ +{ + "name": "coin-or-osi", + "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": [ + "coinutils" + ] +} 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 19ac9f120c032b..bda48dc695d5e7 100644 --- a/ports/coin/portfile.cmake +++ b/ports/coin/portfile.cmake @@ -1,13 +1,26 @@ -vcpkg_fail_port_install(ON_TARGET "UWP" ON_ARCH "arm" "arm64") +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) @@ -22,28 +35,28 @@ elseif(VCPKG_CRT_LINKAGE STREQUAL static) set(COIN_BUILD_MSVC_STATIC_RUNTIME ON) endif() -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +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} -DCOIN_BUILD_TESTS=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(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) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${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}/share/Coin/profiler) - -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/Coin/profiler") + +vcpkg_fixup_pkgconfig() 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 fbe97369e885e9..3865ef01bf2391 100644 --- a/ports/coin/vcpkg.json +++ b/ports/coin/vcpkg.json @@ -1,10 +1,10 @@ { "name": "coin", - "version-string": "4.0.0", - "port-version": 4, + "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", @@ -12,7 +12,15 @@ "boost-math", "boost-smart-ptr", "boost-static-assert", - "opengl-registry" + "opengl-registry", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ], "default-features": [ "simage", diff --git a/ports/coinutils/CMakeLists.txt b/ports/coinutils/CMakeLists.txt deleted file mode 100644 index 643bbec44aeab5..00000000000000 --- a/ports/coinutils/CMakeLists.txt +++ /dev/null @@ -1,95 +0,0 @@ -cmake_minimum_required(VERSION 3.11) - -project(CoinUtils LANGUAGES C CXX) - -set(PROJECT_VERSION 2.10.14) -set(PROJECT_VERSION_MAJOR 2) -set(PROJECT_VERSION_MINOR 10) -set(PROJECT_VERSION_PATCH 14) - -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/Coin" CACHE PATH "Path where headers will be installed") -set(INSTALL_CMAKE_DIR "share/coinutils" CACHE PATH "Path where cmake configs will be installed") - -# Make relative paths absolute (needed later on) -set(RELATIVE_INSTALL_INCLUDE_DIR ${INSTALL_INCLUDE_DIR}) -foreach(p LIB BIN INCLUDE CMAKE) - set(var INSTALL_${p}_DIR) - if(NOT IS_ABSOLUTE "${${var}}") - set(${var} "${CMAKE_INSTALL_PREFIX}/${${var}}") - endif() -endforeach() - -if(MSVC) - set( - CMAKE_CXX_FLAGS - "${CMAKE_CXX_FLAGS} /bigobj /MP /wd4996 /wd4819 /wd4251 /wd4267 /wd4244 /wd4275" - ) -endif() - -if(APPLE) - set( - CMAKE_CXX_FLAGS - "${CMAKE_CXX_FLAGS} -Wno-inconsistent-missing-override -Wno-unused-command-line-argument -Wno-unused-result -Wno-exceptions" - ) - set(CMAKE_OSX_DEPLOYMENT_TARGET "10.9" - CACHE STRING "Minimum OS X deployment version") -endif() - -include(CheckIncludeFileCXX) -include(CheckIncludeFile) -check_include_file_cxx("cmath" HAVE_CMATH) -check_include_file_cxx("cfloat" HAVE_CFLOAT) -if(NOT HAVE_CMATH OR NOT HAVE_CFLOAT) - message(FATAL_ERROR "Missing necessary include files, like cmath or cfloat") -endif() - -file(GLOB UTILS_SOURCES - CoinUtils/src/*.hpp - CoinUtils/src/*.cpp - CoinUtils/src/*.h) - -add_library(${PROJECT_NAME} ${UTILS_SOURCES}) - -target_include_directories(${PROJECT_NAME} PUBLIC $ $) - -if(MSVC) - target_compile_definitions(${PROJECT_NAME} PRIVATE _CRT_SECURE_NO_WARNINGS) -endif() -target_compile_definitions(${PROJECT_NAME} PRIVATE HAVE_CMATH HAVE_CFLOAT) - -install(DIRECTORY CoinUtils/src/ - DESTINATION ${INSTALL_INCLUDE_DIR} - FILES_MATCHING - PATTERN "*.h" - PATTERN "*.hpp") - -install(TARGETS ${PROJECT_NAME} - EXPORT "${PROJECT_NAME}Targets" - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib - RUNTIME DESTINATION bin) - -include(CMakePackageConfigHelpers) - -set(version_config "${CMAKE_CURRENT_BINARY_DIR}/temp/${PROJECT_NAME}ConfigVersion.cmake") -set(project_config "${CMAKE_CURRENT_BINARY_DIR}/temp/${PROJECT_NAME}Config.cmake") -set(namespace "Coin::") - -write_basic_package_version_file("${version_config}" - COMPATIBILITY SameMajorVersion) - -configure_package_config_file("Config.cmake.in" - "${project_config}" - INSTALL_DESTINATION - "${INSTALL_CMAKE_DIR}") - -install(FILES "${project_config}" "${version_config}" - DESTINATION "${INSTALL_CMAKE_DIR}") - -install(EXPORT "${PROJECT_NAME}Targets" - NAMESPACE "${namespace}" - DESTINATION "${INSTALL_CMAKE_DIR}") diff --git a/ports/coinutils/Config.cmake.in b/ports/coinutils/Config.cmake.in deleted file mode 100644 index 2c12f83f027dcf..00000000000000 --- a/ports/coinutils/Config.cmake.in +++ /dev/null @@ -1,5 +0,0 @@ - -@PACKAGE_INIT@ - -include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") -check_required_components("@PROJECT_NAME@") diff --git a/ports/coinutils/coinutils.patch b/ports/coinutils/coinutils.patch new file mode 100644 index 00000000000000..d12763b73f1e7c --- /dev/null +++ b/ports/coinutils/coinutils.patch @@ -0,0 +1,13 @@ +diff --git a/configure.ac b/configure.ac +index f35c22949..8787a1c0b 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -10,6 +10,8 @@ + + AC_INIT([CoinUtils],[devel],[https://github.com/coin-or/CoinUtils/issues/new],[coin-or-coinutils],[https://github.com/coin-or/CoinUtils]) + ++AC_CONFIG_MACRO_DIR([m4]) ++ + AC_COPYRIGHT([ + Copyright 2006 International Business Machines and others. + All Rights Reserved. diff --git a/ports/coinutils/coinutils2.patch b/ports/coinutils/coinutils2.patch new file mode 100644 index 00000000000000..55b367b82a5f75 --- /dev/null +++ b/ports/coinutils/coinutils2.patch @@ -0,0 +1,15 @@ +diff --git a/configure.ac b/configure.ac +index 8787a1c0b..504019b78 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -96,8 +96,8 @@ AC_COINUTILS_MEMPOOL(4096,no) + # Collect information required to use component libraries. + + AC_COIN_CHK_LAPACK(CoinUtilsLib) +-AC_COIN_CHK_PKG(Glpk,[CoinUtilsLib CoinUtilsTest],[coinglpk]) +-AC_COIN_CHK_PKG(ASL,[CoinUtilsLib],[coinasl]) ++AC_COIN_CHK_PKG(Glpk,[CoinUtilsLib CoinUtilsTest],[glpk]) ++AC_COIN_CHK_PKG(ASL,[CoinUtilsLib],[asl]) + AC_COIN_CHK_PKG(Sample,[],[coindatasample],[],dataonly) + AC_COIN_CHK_PKG(Netlib,[],[coindatanetlib],[],dataonly) + diff --git a/ports/coinutils/portfile.cmake b/ports/coinutils/portfile.cmake index dc479dbd194dc4..78a7aeff951f68 100644 --- a/ports/coinutils/portfile.cmake +++ b/ports/coinutils/portfile.cmake @@ -1,24 +1,47 @@ -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO coin-or/CoinUtils - REF f709081c9b57cc2dd32579d804b30689ca789982 # releases/2.11.4 - SHA512 1c2e7f796524d67d87253bc7938c1a6db3c8266acec6b6399aeb83c0fb253b77507e6b5e84f16b0b8e40098aef94676499f396d1c7f653b1e04cbadca7620185 + 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 ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/Config.cmake.in DESTINATION ${SOURCE_PATH}) +file(COPY "${CURRENT_INSTALLED_DIR}/share/coin-or-buildtools/" DESTINATION "${SOURCE_PATH}") + +set(ENV{ACLOCAL} "aclocal -I \"${SOURCE_PATH}/BuildTools\"") + +#--enable-msvc +set(options "") +if("glpk" IN_LIST FEATURES) + list(APPEND options "--with-glpk") +else() + list(APPEND options "--without-glpk") +endif() -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG + OPTIONS + ${options} + --with-lapack + --without-netlib + --without-sample + --without-asl + #--enable-coinutils-threads # only with -lrt + #--enable-coinutils-bigindex # only for x64 + --enable-relocatable + --disable-readline ) -vcpkg_install_cmake() +vcpkg_install_make() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets() +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/coin-or/CoinMpsIO.hpp" "\"glpk.h\"" "\"../glpk.h\"") -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/coinutils" RENAME copyright) -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/coinutils RENAME copyright) +file(COPY "${SOURCE_PATH}/m4" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/coinutils/vcpkg.json b/ports/coinutils/vcpkg.json index 2f71443767ea45..f4e7e6bbc2c3b2 100644 --- a/ports/coinutils/vcpkg.json +++ b/ports/coinutils/vcpkg.json @@ -1,6 +1,25 @@ { "name": "coinutils", - "version-string": "2.11.4", - "port-version": 1, - "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" + "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", + "supports": "!uwp", + "dependencies": [ + "bzip2", + "coin-or-buildtools", + "lapack", + "zlib" + ], + "features": { + "glpk": { + "description": "Build with Glpk", + "dependencies": [ + { + "name": "glpk", + "default-features": false + } + ] + } + } } 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/fix-emscripten.patch b/ports/collada-dom/fix-emscripten.patch new file mode 100644 index 00000000000000..ce70df3e03c4d8 --- /dev/null +++ b/ports/collada-dom/fix-emscripten.patch @@ -0,0 +1,23 @@ +diff --git a/dom/src/dae/daeUtils.cpp b/dom/src/dae/daeUtils.cpp +index 7e3dc9a..dc94b5b 100644 +--- a/dom/src/dae/daeUtils.cpp ++++ b/dom/src/dae/daeUtils.cpp +@@ -152,7 +152,7 @@ char cdom::getFileSeparator() { + const string& cdom::getSystemTmpDir() { + #ifdef WIN32 + static string tmpDir = string(getenv("TMP")) + getFileSeparator(); +-#elif defined(__linux__) || defined(__linux) ++#elif defined(__linux__) || defined(__linux) || defined(__EMSCRIPTEN__) + static string tmpDir = "/tmp/"; + #elif defined __APPLE_CC__ + static string tmpDir = string(getenv("TMPDIR")); +@@ -171,7 +171,7 @@ string cdom::getRandomFileName() { + std::string tmp(tmpnam(&tmpbuffer[0])); + #ifdef WIN32 + randomSegment = tmp.substr(tmp.find_last_of('\\')+1); +-#elif defined(__linux__) || defined(__linux) ++#elif defined(__linux__) || defined(__linux) || defined(__EMSCRIPTEN__) + randomSegment = tmp.substr(tmp.find_last_of('/')+1); + #elif defined __APPLE_CC__ + randomSegment = tmp.substr(tmp.find_last_of('/')+1); + \ No newline at end of file diff --git a/ports/collada-dom/portfile.cmake b/ports/collada-dom/portfile.cmake index a3deb51fd4790a..36127e9ec5f67d 100644 --- a/ports/collada-dom/portfile.cmake +++ b/ports/collada-dom/portfile.cmake @@ -9,20 +9,23 @@ vcpkg_from_github( use-uriparser.patch use-vcpkg-minizip.patch fix-shared-keyword.patch + fix-emscripten.patch + fix-compatibility-with-boost-1.85.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DCMAKE_CXX_STANDARD=11 ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/collada_dom-2.5) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/collada_dom-2.5) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") # Handle copyright -file(INSTALL ${SOURCE_PATH}/licenses/license_e.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) - -vcpkg_fixup_pkgconfig() +file(INSTALL "${SOURCE_PATH}/licenses/license_e.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) + +vcpkg_fixup_pkgconfig() diff --git a/ports/collada-dom/use-vcpkg-minizip.patch b/ports/collada-dom/use-vcpkg-minizip.patch index daaaf0f487c01d..61a595c167c077 100644 --- a/ports/collada-dom/use-vcpkg-minizip.patch +++ b/ports/collada-dom/use-vcpkg-minizip.patch @@ -1,13 +1,43 @@ -diff --git a/dom/src/modules/LIBXMLPlugin/daeLIBXMLPlugin.cpp b/dom/src/modules/LIBXMLPlugin/daeLIBXMLPlugin.cpp -index 4536275..77651f9 100644 ---- a/dom/src/modules/LIBXMLPlugin/daeLIBXMLPlugin.cpp -+++ b/dom/src/modules/LIBXMLPlugin/daeLIBXMLPlugin.cpp -@@ -32,7 +32,7 @@ - #include - using namespace std; - --#include // for saving compressed files -+#include // for saving compressed files - #ifdef _WIN32 - #include - #else +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f6c2bb6..3351ab0 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -222,7 +222,8 @@ else() + endif() + endif() + +-pkg_check_modules(minizip minizip) ++find_package(minizip NAMES unofficial-minizip REQUIRED) ++add_library(minizip ALIAS unofficial::minizip::minizip) + if(minizip_FOUND) + set(MINIZIP_INCLUDE_DIR ${minizip_INCLUDE_DIRS}) + else() +diff --git a/dom/include/dae/daeZAEUncompressHandler.h b/dom/include/dae/daeZAEUncompressHandler.h +index e9b0e9e..3d120da 100644 +--- a/dom/include/dae/daeZAEUncompressHandler.h ++++ b/dom/include/dae/daeZAEUncompressHandler.h +@@ -9,7 +9,7 @@ + #ifndef __DAE_ZAE_UNCOMPRESS_HANDLER_H__ + #define __DAE_ZAE_UNCOMPRESS_HANDLER_H__ + +-#include ++#include <../minizip/unzip.h> + #include + #include + +diff --git a/dom/src/modules/LIBXMLPlugin/daeLIBXMLPlugin.cpp b/dom/src/modules/LIBXMLPlugin/daeLIBXMLPlugin.cpp +index 4536275..2666959 100644 +--- a/dom/src/modules/LIBXMLPlugin/daeLIBXMLPlugin.cpp ++++ b/dom/src/modules/LIBXMLPlugin/daeLIBXMLPlugin.cpp +@@ -32,9 +32,9 @@ + #include + using namespace std; + +-#include // for saving compressed files ++#include <../minizip/zip.h> // for saving compressed files + #ifdef _WIN32 +-#include ++#include <../minizip/iowin32.h> + #else + #include + #endif diff --git a/ports/collada-dom/vcpkg.json b/ports/collada-dom/vcpkg.json index 66e14efe6a6545..7e0c3d5e2ee61c 100644 --- a/ports/collada-dom/vcpkg.json +++ b/ports/collada-dom/vcpkg.json @@ -1,16 +1,24 @@ { "name": "collada-dom", - "version-string": "2.5.0", - "port-version": 6, + "version": "2.5.0", + "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, "dependencies": [ "boost-filesystem", "boost-system", "libxml2", "minizip", - "pcre", "uriparser", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, "zlib" ] } diff --git a/ports/colmap/fix-dependency-freeimage.patch b/ports/colmap/fix-dependency-freeimage.patch deleted file mode 100644 index 29b591e34127fa..00000000000000 --- a/ports/colmap/fix-dependency-freeimage.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index b05097c..cdd8ca4 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -96,7 +96,8 @@ find_package(Boost REQUIRED COMPONENTS - - find_package(Eigen3 REQUIRED) - --find_package(FreeImage REQUIRED) -+find_package(freeimage CONFIG REQUIRED) -+set(FREEIMAGE_LIBRARIES freeimage::FreeImage) - - find_package(Glog REQUIRED) - diff --git a/ports/colmap/portfile.cmake b/ports/colmap/portfile.cmake index 4ab35bbc32a882..7cd675cb854194 100644 --- a/ports/colmap/portfile.cmake +++ b/ports/colmap/portfile.cmake @@ -1,12 +1,11 @@ -set(COLMAP_REF "3.6") +set(COLMAP_REF "0bd66d901c7549051e21e8f648777f802eb20a73") # v3.10 vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO colmap/colmap - REF ${COLMAP_REF} - SHA512 9a4b4f2a49891ce8ac32ab1f2e9b859336326bada889e6de49c017a069884bb6c8ab8a2ae430d955e58fc22377c63e8fba9ce80ff959713e2878e29814d44632 - HEAD_REF dev - PATCHES fix-dependency-freeimage.patch + REF "${VERSION}" + SHA512 1bcb6b1a740d07666e9f1dcc813bd4464113d0054238c0f86a0ed94099918947d1a58d83661f8ff3fc699727627436b2b555c5d51d37c8ebad7f590155dcb43d + HEAD_REF main ) if (NOT TRIPLET_SYSTEM_ARCH STREQUAL "x64" AND ("cuda" IN_LIST FEATURES OR "cuda-redist" IN_LIST FEATURES)) @@ -27,31 +26,38 @@ set(TESTS_ENABLED OFF) if("cuda" IN_LIST FEATURES) set(CUDA_ENABLED ON) + set(CUDA_ARCHITECTURES "native") endif() if("cuda-redist" IN_LIST FEATURES) set(CUDA_ENABLED ON) - set(CUDA_ARCHS "Common") + set(CUDA_ARCHITECTURES "all-major") endif() if("tests" IN_LIST FEATURES) set(TESTS_ENABLED ON) endif() -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +set(OPENMP_ENABLED ON) +if (VCPKG_TARGET_IS_OSX AND VCPKG_TARGET_ARCHITECTURE MATCHES "arm") + set(OPENMP_ENABLED Off) +endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + DISABLE_PARALLEL_CONFIGURE OPTIONS -DCUDA_ENABLED=${CUDA_ENABLED} - -DCUDA_ARCHS=${CUDA_ARCHS} + -DCMAKE_CUDA_ARCHITECTURES=${CUDA_ARCHITECTURES} -DTESTS_ENABLED=${TESTS_ENABLED} -DGIT_COMMIT_ID=${GIT_COMMIT_ID} -DGIT_COMMIT_DATE=${COLMAP_GIT_COMMIT_DATE} + -DOPENMP_ENABLED=${OPENMP_ENABLED} ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets() +vcpkg_cmake_config_fixup() file(GLOB TOOL_FILENAMES "${CURRENT_PACKAGES_DIR}/bin/*") foreach(TOOL_FILENAME ${TOOL_FILENAMES}) @@ -63,28 +69,21 @@ vcpkg_copy_tools(TOOL_NAMES ${COLMAP_TOOL_NAMES} AUTO_CLEAN) # remove empty folders and unused files file(REMOVE_RECURSE - ${CURRENT_PACKAGES_DIR}/debug/include - ${CURRENT_PACKAGES_DIR}/debug/share - ${CURRENT_PACKAGES_DIR}/debug/include/colmap/exe - ${CURRENT_PACKAGES_DIR}/debug/include/colmap/lib/Graclus/multilevelLib - ${CURRENT_PACKAGES_DIR}/debug/include/colmap/tools - ${CURRENT_PACKAGES_DIR}/debug/include/colmap/ui/media - ${CURRENT_PACKAGES_DIR}/debug/include/colmap/ui/shaders - ${CURRENT_PACKAGES_DIR}/include/colmap/exe - ${CURRENT_PACKAGES_DIR}/include/colmap/lib/Graclus/multilevelLib - ${CURRENT_PACKAGES_DIR}/include/colmap/tools - ${CURRENT_PACKAGES_DIR}/include/colmap/ui/media - ${CURRENT_PACKAGES_DIR}/include/colmap/ui/shaders - ${CURRENT_PACKAGES_DIR}/COLMAP.bat - ${CURRENT_PACKAGES_DIR}/RUN_TESTS.bat - ${CURRENT_PACKAGES_DIR}/debug/COLMAP.bat - ${CURRENT_PACKAGES_DIR}/debug/RUN_TESTS.bat - ${CURRENT_PACKAGES_DIR}/debug/bin + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/include/colmap/exe" + "${CURRENT_PACKAGES_DIR}/include/colmap/tools" + "${CURRENT_PACKAGES_DIR}/include/colmap/ui/media" + "${CURRENT_PACKAGES_DIR}/include/colmap/ui/shaders" + "${CURRENT_PACKAGES_DIR}/COLMAP.bat" + "${CURRENT_PACKAGES_DIR}/RUN_TESTS.bat" + "${CURRENT_PACKAGES_DIR}/debug/COLMAP.bat" + "${CURRENT_PACKAGES_DIR}/debug/RUN_TESTS.bat" + "${CURRENT_PACKAGES_DIR}/debug/bin" ) 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/usage b/ports/colmap/usage index b71316b3cf81a3..75f933163f7c14 100644 --- a/ports/colmap/usage +++ b/ports/colmap/usage @@ -7,4 +7,4 @@ For example, under Windows, execute COLMAP as: The package colmap provides CMake integration: find_package(COLMAP REQUIRED) - target_link_libraries(main ${COLMAP_LIBRARIES}) + target_link_libraries(main colmap::colmap) diff --git a/ports/colmap/vcpkg.json b/ports/colmap/vcpkg.json index 5a43d64f86129f..56da41beab5ced 100644 --- a/ports/colmap/vcpkg.json +++ b/ports/colmap/vcpkg.json @@ -1,15 +1,14 @@ { "name": "colmap", - "version-string": "3.6", - "port-version": 1, + "version": "3.10", "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)", "dependencies": [ "boost-filesystem", "boost-graph", "boost-program-options", - "boost-regex", "boost-system", "boost-test", { @@ -19,19 +18,23 @@ "suitesparse" ] }, - { - "name": "cgal", - "features": [ - "qt" - ] - }, + "cgal", "eigen3", + "flann", "freeimage", "gflags", "glew", "glog", "qt5-base", - "suitesparse" + "sqlite3", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ], "features": { "cuda": { @@ -47,7 +50,10 @@ ] }, "tests": { - "description": "Enable TESTS." + "description": "Build all tests.", + "dependencies": [ + "gtest" + ] } } } diff --git a/ports/color-console/portfile.cmake b/ports/color-console/portfile.cmake new file mode 100644 index 00000000000000..392a600a7e6ead --- /dev/null +++ b/ports/color-console/portfile.cmake @@ -0,0 +1,16 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO imfl/color-console + REF 745f57141e6322e20cdda59a74ab1e00d107ade1 + SHA512 d4d919eb211f2981daf6b9af93262fc8ac89bac0db755ba30b31d6aa1b981e5383fb23ef95d1ff004606d138fee630fd790c72e92440b684306c6780750bd9fd + HEAD_REF master +) + +# Install source file +file(INSTALL ${SOURCE_PATH}/include/color.hpp DESTINATION ${CURRENT_PACKAGES_DIR}/include RENAME colorconsole.hpp) + +# Install license +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) + +# Install usage +file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) \ No newline at end of file diff --git a/ports/color-console/usage b/ports/color-console/usage new file mode 100644 index 00000000000000..ec734688d95e6a --- /dev/null +++ b/ports/color-console/usage @@ -0,0 +1,4 @@ +The package zstr is header only and can be used from CMake via: + + find_path(COLORCONSOLE_INCLUDE_DIRS "colorconsole.hpp") + target_include_directories(main PRIVATE ${COLORCONSOLE_INCLUDE_DIRS}) \ No newline at end of file diff --git a/ports/color-console/vcpkg.json b/ports/color-console/vcpkg.json new file mode 100644 index 00000000000000..2475ce2cc4263e --- /dev/null +++ b/ports/color-console/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "color-console", + "version-date": "2022-03-20", + "description": "A lightweight header-only C++ library to bring colors to your Windows console with a very-easy-to-use API.", + "homepage": "https://github.com/imfl/color-console", + "license": "MIT" +} diff --git a/ports/comms-ublox/copyright b/ports/comms-ublox/copyright new file mode 100644 index 00000000000000..da9779cc8e6b57 --- /dev/null +++ b/ports/comms-ublox/copyright @@ -0,0 +1,5 @@ +The generated code has no license, the vendor is free to pick any as long as it's compatibile with the license(s) of the relevant CommsChampion Ecosystem project: + +The protocol definition uses the COMMS Library, which is provided under the MPL-2.0 licence. It allows usage in any closed source projects as long as modifications to the COMMS Library itself remain open source. +The CommsChampion Tools use open source Qt5 libraries, hence are licensed under the GPLv3. It means that any relevant plugin code must remain open source and is not really available to be used in the closed source commercial products. +The code of this project (libraries and tools it contains) is licensed under Apache v2.0 license. diff --git a/ports/comms-ublox/fix-comms.patch b/ports/comms-ublox/fix-comms.patch deleted file mode 100644 index d9620a4aa5811a..00000000000000 --- a/ports/comms-ublox/fix-comms.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index e2b69fe..aff5917 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -66,6 +66,7 @@ endif () - ###################################################################### - - # Use external CommsChampion project or compile it in place -+if(FALSE) - set (CC_EXTERNAL_TGT "comms_champion_external") - if (OPT_BUILD_TEST OR OPT_BUILD_PLUGIN) - set (external_cc_needed TRUE) -@@ -107,6 +108,10 @@ elseif (external_cc_needed) - find_package(CommsChampion NO_MODULE) - set (cc_compile_file "${OPT_CC_MAIN_INSTALL_DIR}/lib/LibComms/cmake/CC_Compile.cmake") - endif () -+else() -+ find_package(LibComms CONFIG REQUIRED) -+ set(cc_compile_file "${LibComms_DIR}/CC_Compile.cmake") -+endif() - - if (EXISTS ${cc_compile_file}) - # Set compiler flags diff --git a/ports/comms-ublox/portfile.cmake b/ports/comms-ublox/portfile.cmake index d5fd4bcea27fa0..a57793cee469eb 100644 --- a/ports/comms-ublox/portfile.cmake +++ b/ports/comms-ublox/portfile.cmake @@ -3,28 +3,23 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO commschamp/cc.ublox.generated - REF v0.20.2 - SHA512 5672d964ea3e505837e44a5fd928069a219a5731764cb54bfe8609e39c6c6dd0059660bcde317c6c60cd1bd8d1f7942d2faa022095bf651817568291bc6a7569 + REF v1.0 + SHA512 0c487d9409c2f2818024f6232832762527250c3563a5eb5c639ad49943931ceb24616db2432bcd752d1a84820ec5349522510dcd202508641d3f29aef41ca1e5 HEAD_REF master - PATCHES - fix-comms.patch ) -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - PREFER_NINJA OPTIONS - -DOPT_BUILD_TEST=OFF - -DOPT_BUILD_PLUGIN=OFF - -DOPT_NO_COMMS=ON - -DOPT_EXTERNALS_UPDATE_DISCONNECTED=ON + -DOPT_REQUIRE_COMMS_LIB=ON + -DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=ON ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/ublox/cmake TARGET_PATH share/ublox) +vcpkg_cmake_config_fixup(PACKAGE_NAME ublox CONFIG_PATH lib/ublox/cmake) # currently this is only a header only library. after moving lib/ublox to share this lib path will be empty file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") # Handle copyright -file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +file(INSTALL "${CURRENT_PORT_DIR}/copyright" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/comms-ublox/vcpkg.json b/ports/comms-ublox/vcpkg.json index 93668cae03b2ca..4b6fd80b6717f7 100644 --- a/ports/comms-ublox/vcpkg.json +++ b/ports/comms-ublox/vcpkg.json @@ -1,10 +1,19 @@ { "name": "comms-ublox", - "version-semver": "0.20.2", + "version-semver": "1.0.0", "description": "UBLOX (UBX) protocol definition, generated out of cc.ublox.commsdsl", "homepage": "https://commschamp.github.io/", "documentation": "https://github.com/commschamp/cc.ublox.generated", + "license": null, "dependencies": [ - "comms" + "comms", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/comms/portfile.cmake b/ports/comms/portfile.cmake index 3ec544e2fb4816..4ad341df22c6dd 100644 --- a/ports/comms/portfile.cmake +++ b/ports/comms/portfile.cmake @@ -1,61 +1,24 @@ #header-only library - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO commschamp/comms_champion - REF v3.4 - SHA512 573afbc0aebd72d8a047067410f0f54588675c4cbad37f824edbb6d8303e9c191c573ac9325bf5fec575dffd3d05562c04e75c1e5b748a34d01056bc8b766fb1 + REPO commschamp/comms + REF v4.0 + SHA512 ec83bef647dd6c32e6ba98ce51970c48befaa2b0ff9c26f538fb0ce72e46da14cd592a0c652af5f9f10906f7058ff623dcf13ac4b81c96c0aea1fd8a31551bb7 HEAD_REF master ) -vcpkg_check_features( - OUT_FEATURE_OPTIONS FEATURE_OPTIONS - FEATURES - tools CC_BUILD_TOOLS_LIBRARY - tools CC_INSTALL_TOOLS_LIBRARY - tools CC_BUILD_TOOLS - tools CC_INSTALL_TOOLS -) - -# check before configure -if("tools" IN_LIST FEATURES) - vcpkg_fail_port_install(ON_LIBRARY_LINKAGE "static" MESSAGE "Feature 'Tools' can't be built statically") -endif() - vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS - ${FEATURE_OPTIONS} - -DCC_INSTALL_COMMS_LIB=ON - -DCC_BUILD_UNIT_TESTS=OFF + -DCC_COMMS_BUILD_UNIT_TESTS=OFF + -DBUILD_TESTING=OFF -DCC_WARN_AS_ERR=OFF - -DCC_BUILD_DEMO_PROTOCOL=OFF - -DCC_INSTALL_DEMO_PROTOCOL=OFF ) vcpkg_cmake_install() -vcpkg_copy_pdbs() - -vcpkg_cmake_config_fixup(PACKAGE_NAME "LibComms" CONFIG_PATH "lib/LibComms/cmake" ) - -if("tools" IN_LIST FEATURES) - vcpkg_copy_tools( - TOOL_NAMES cc_dump cc_view - AUTO_CLEAN - ) - file(INSTALL "${CURRENT_PACKAGES_DIR}/lib/CommsChampion/plugin" - DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}/lib/CommsChampion/plugin") - vcpkg_cmake_config_fixup(PACKAGE_NAME "CommsChampion" CONFIG_PATH "lib/CommsChampion/cmake") +vcpkg_cmake_config_fixup(PACKAGE_NAME LibComms CONFIG_PATH lib/LibComms/cmake) - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/LibComms") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/CommsChampion") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/LibComms") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/CommsChampion") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -else() - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") -endif() +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) diff --git a/ports/comms/vcpkg.json b/ports/comms/vcpkg.json index 677032b1179745..0eea1ad2b1d095 100644 --- a/ports/comms/vcpkg.json +++ b/ports/comms/vcpkg.json @@ -1,9 +1,10 @@ { "name": "comms", - "version-semver": "3.4.0", + "version-semver": "4.0.0", "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_champion", + "documentation": "https://github.com/commschamp/comms", + "license": "MPL-2.0", "dependencies": [ { "name": "vcpkg-cmake", @@ -13,13 +14,5 @@ "name": "vcpkg-cmake-config", "host": true } - ], - "features": { - "tools": { - "description": "Builds CommsChampion tools", - "dependencies": [ - "qt5-base" - ] - } - } + ] } diff --git a/ports/commsdsl/portfile.cmake b/ports/commsdsl/portfile.cmake index 60cb2bbbc1116e..7dfdd75483dead 100644 --- a/ports/commsdsl/portfile.cmake +++ b/ports/commsdsl/portfile.cmake @@ -1,31 +1,37 @@ -vcpkg_fail_port_install(ON_TARGET "uwp") vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO commschamp/commsdsl - REF v3.6.4 - SHA512 dd997bb063baf4e6bc15666539e8d3e8cf435cfda88e8b115b8a1568c8c77cc2ca6dbf1a77ae2fcf9b24f68cb35aa2ae583852cf887fbc85f74e868230374055 + REF "v${VERSION}" + SHA512 21a1fd4a3a66f2c9389c19ab8ad0aadf09bc97db39492921385534de6d819b1cd5a1e65798abc71de8f8f6c436191fd199e8e77dc8b5c979b07d313a2b825fde HEAD_REF master ) -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - PREFER_NINJA OPTIONS - -DCOMMSDSL_NO_COMMS_CHAMPION=ON - -DCOMMSDSL_BUILD_APPS=ON -DCOMMSDSL_INSTALL_APPS=ON - -DCOMMSDSL_CHECKOUT_COMMS_CHAMPION=OFF + -DCOMMSDSL_INSTALL_LIBRARY=ON + -DCOMMSDSL_INSTALL_LIBRARY_HEADERS=ON -DCOMMSDSL_BUILD_UNIT_TESTS=OFF -DCOMMSDSL_WARN_AS_ERR=OFF + -DCOMMSDSL_WIN_ALLOW_LIBXML_BUILD=OFF + -DBUILD_TESTING=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_tools( TOOL_NAMES commsdsl2comms AUTO_CLEAN ) -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/LibCommsdsl/cmake TARGET_PATH share/LibCommsdsl) +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 ebfbd0c7254d43..6181970e7c8758 100644 --- a/ports/commsdsl/vcpkg.json +++ b/ports/commsdsl/vcpkg.json @@ -1,14 +1,20 @@ { "name": "commsdsl", - "version-semver": "3.6.4", + "version-semver": "6.3.3", "description": "DSL schemas parser and code generator for CommsChampion Ecosystem", "homepage": "https://commschamp.github.io/", "documentation": "https://github.com/commschamp/commsdsl", - "supports": "!uwp & !static", + "license": "Apache-2.0", + "supports": "!uwp", "dependencies": [ - "boost-algorithm", - "boost-filesystem", - "boost-program-options", - "libxml2" + "libxml2", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } 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/fix-include-path.patch b/ports/concurrencpp/fix-include-path.patch index 7b2da192009a17..7984255979acb7 100644 --- a/ports/concurrencpp/fix-include-path.patch +++ b/ports/concurrencpp/fix-include-path.patch @@ -1,13 +1,12 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 351aa65..ab06584 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -94,7 +94,7 @@ include(CMakePackageConfigHelpers) +@@ -117,7 +117,7 @@ include(CMakePackageConfigHelpers) include(GNUInstallDirs) set(concurrencpp_directory "concurrencpp-${PROJECT_VERSION}") -set(concurrencpp_include_directory "${CMAKE_INSTALL_INCLUDEDIR}/${concurrencpp_directory}") +set(concurrencpp_include_directory "${CMAKE_INSTALL_INCLUDEDIR}") - install(TARGETS concurrencpp - EXPORT concurrencppTargets + install( + TARGETS concurrencpp diff --git a/ports/concurrencpp/portfile.cmake b/ports/concurrencpp/portfile.cmake index 43578ea8849048..12d908766a5c60 100644 --- a/ports/concurrencpp/portfile.cmake +++ b/ports/concurrencpp/portfile.cmake @@ -1,11 +1,12 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO David-Haim/concurrencpp - REF v.0.1.3 - SHA512 2f4530ba93d768a7a1ae14c532c8ef443745e48cceeca8a0e9da9f91633876ae4971caad70eeff9e18c7a45e8cf7c0b7bb79720a62026850244fb2377ad10df7 + REF "v.${VERSION}" + SHA512 b87a6bd0593d6a7d35f911a0a9835e1afe416aa25d06e4d448789617c94ec2faeb5df07d68d5ccc7e986009f09016f90ef57016b1aabe567996d3ad9816add4c HEAD_REF master PATCHES fix-include-path.patch + add-include-string.patch ) vcpkg_cmake_configure( @@ -16,6 +17,6 @@ vcpkg_cmake_install() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/concurrencpp-0.1.3) +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/concurrencpp-${VERSION}") -file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/concurrencpp RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") diff --git a/ports/concurrencpp/vcpkg.json b/ports/concurrencpp/vcpkg.json index c4c8482f1de4b0..8cb19a33e81ac2 100644 --- a/ports/concurrencpp/vcpkg.json +++ b/ports/concurrencpp/vcpkg.json @@ -1,9 +1,10 @@ { "name": "concurrencpp", - "version-string": "0.1.3", + "version": "0.1.7", + "port-version": 1, "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/", - "supports": "(windows & static) | linux | osx", + "license": "MIT", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/concurrentqueue/portfile.cmake b/ports/concurrentqueue/portfile.cmake index ed5c189f9c00c8..17f4190721f3ba 100644 --- a/ports/concurrentqueue/portfile.cmake +++ b/ports/concurrentqueue/portfile.cmake @@ -1,30 +1,31 @@ # header-only library + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO cameron314/concurrentqueue - REF 3747268264d0fa113e981658a99ceeae4dad05b7# v1.0.3 - SHA512 798d61e8e5b87cd1870df20410db18e2fcbc5e4e1d849308663cc0403a0d50d29b72428fc0a39231ae8bcb460c946559bde0f2d22584c335fe849cbcbe607ec2 + REF v${VERSION} + SHA512 a27306d1a7ad725daf5155a8e33a93efd29839708b2147ba703d036c4a92e04cbd8a505d804d2596ccb4dd797e88aca030b1cb34a4eaf09c45abb0ab55e604ea HEAD_REF master ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-concurrentqueue TARGET_PATH share/unofficial-concurrentqueue) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-concurrentqueue) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") configure_file( - ${CMAKE_CURRENT_LIST_DIR}/unofficial-concurrentqueue-config.in.cmake - ${CURRENT_PACKAGES_DIR}/share/unofficial-concurrentqueue/unofficial-concurrentqueue-config.cmake + "${CMAKE_CURRENT_LIST_DIR}/unofficial-concurrentqueue-config.in.cmake" + "${CURRENT_PACKAGES_DIR}/share/unofficial-concurrentqueue/unofficial-concurrentqueue-config.cmake" @ONLY ) -file(GLOB HEADER_FILES ${SOURCE_PATH}/*.h) -file(INSTALL ${HEADER_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include/${PORT}) -file(INSTALL ${SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) \ No newline at end of file +file(GLOB HEADER_FILES "${SOURCE_PATH}/*.h") +file(INSTALL ${HEADER_FILES} DESTINATION "${CURRENT_PACKAGES_DIR}/include/${PORT}") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.md") diff --git a/ports/concurrentqueue/vcpkg.json b/ports/concurrentqueue/vcpkg.json index f091937d608593..3572aede27cbee 100644 --- a/ports/concurrentqueue/vcpkg.json +++ b/ports/concurrentqueue/vcpkg.json @@ -1,6 +1,17 @@ { "name": "concurrentqueue", - "version": "1.0.3", + "version": "1.0.4", "description": "A fast multi-producer, multi-consumer lock-free concurrent queue for C++11", - "homepage": "https://github.com/cameron314/concurrentqueue" + "homepage": "https://github.com/cameron314/concurrentqueue", + "license": "BSD-2-Clause OR BSL-1.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/configcat/portfile.cmake b/ports/configcat/portfile.cmake new file mode 100644 index 00000000000000..08918911122b7f --- /dev/null +++ b/ports/configcat/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 configcat/cpp-sdk + REF "v${VERSION}" + SHA512 3d14c84b1e682cf63951e6560fb0367b2bf9897e20367e047743ff532a194f71b2b05eff66fa8611dc3f5396ec8f281c64147511e0f8ac448bfd0db7fdc82571 + 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() + +vcpkg_cmake_config_fixup(CONFIG_PATH "share/cmake/configcat") + +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/configcat/vcpkg.json b/ports/configcat/vcpkg.json new file mode 100644 index 00000000000000..bcbfc7280f754d --- /dev/null +++ b/ports/configcat/vcpkg.json @@ -0,0 +1,47 @@ +{ + "name": "configcat", + "version": "4.0.3", + "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": [ + "nlohmann-json", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "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/console-bridge/portfile.cmake b/ports/console-bridge/portfile.cmake index cd43cf0df3effe..37b7f84e18c3d5 100644 --- a/ports/console-bridge/portfile.cmake +++ b/ports/console-bridge/portfile.cmake @@ -1,42 +1,40 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ros/console_bridge - REF 0a6c16ed68750837c32ed1cedee9fca7d61d4364 # 1.0.1 - SHA512 8b856bf8c0eec7d7f3f87e10c4de2b99369bd35cab5f9dd5ea3813fdd5a3fd4e7cd31b2336746920e093a515ad1175fd5af79f9d2f6a4648b1814b3131a1ef03 + REF 1.0.2 + SHA512 ed427da8e59f9629f8d70e0a14415f88177c06fbaf7334bee56135dde91d19a1b54f5c9c668e0fd68314ab8dfd61446a174b9f528304decc5d4626a7c98882cb HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_TESTING=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -if(EXISTS ${CURRENT_PACKAGES_DIR}/CMake) - vcpkg_fixup_cmake_targets(CONFIG_PATH CMake TARGET_PATH share/console_bridge) +if(EXISTS "${CURRENT_PACKAGES_DIR}/CMake") + vcpkg_cmake_config_fixup(PACKAGE_NAME console_bridge CONFIG_PATH CMake) else() - vcpkg_fixup_cmake_targets(CONFIG_PATH lib/console_bridge/cmake TARGET_PATH share/console_bridge) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/console_bridge) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/console_bridge) + vcpkg_cmake_config_fixup(PACKAGE_NAME console_bridge CONFIG_PATH lib/console_bridge/cmake) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/console_bridge") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/console_bridge") endif() -if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/pkgconfig) +if(EXISTS "${CURRENT_PACKAGES_DIR}/lib/pkgconfig") vcpkg_fixup_pkgconfig() endif() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(READ ${SOURCE_PATH}/src/console.cpp _contents) -string(SUBSTRING "${_contents}" 0 2000 license) -file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/console-bridge) -file(WRITE ${CURRENT_PACKAGES_DIR}/share/console-bridge/copyright "${license}") - -file(READ ${CURRENT_PACKAGES_DIR}/include/console_bridge_export.h _contents) +file(READ "${CURRENT_PACKAGES_DIR}/include/console_bridge/console_bridge_export.h" _contents) if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") string(REPLACE "ifdef CONSOLE_BRIDGE_STATIC_DEFINE" "if 1" _contents "${_contents}") else() string(REPLACE "ifdef CONSOLE_BRIDGE_STATIC_DEFINE" "if 0" _contents "${_contents}") endif() -file(WRITE ${CURRENT_PACKAGES_DIR}/include/console_bridge_export.h "${_contents}") +file(WRITE "${CURRENT_PACKAGES_DIR}/include/console_bridge/console_bridge_export.h" "${_contents}") + +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/console-bridge/vcpkg.json b/ports/console-bridge/vcpkg.json index d841bb9e868798..55788a26e1458d 100644 --- a/ports/console-bridge/vcpkg.json +++ b/ports/console-bridge/vcpkg.json @@ -1,7 +1,17 @@ { "name": "console-bridge", - "version-string": "1.0.1", - "port-version": 2, - "description": "a ROS-independent package for logging that seamlessly pipes into rosconsole/rosout for ROS-dependent packages.", - "homepage": "https://github.com/ros/console_bridge" + "version-semver": "1.0.2", + "description": "A ROS-independent package for logging that seamlessly pipes into rosconsole/rosout for ROS-dependent packages.", + "homepage": "https://github.com/ros/console_bridge", + "license": "BSD-3-Clause", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/constexpr-contracts/portfile.cmake b/ports/constexpr-contracts/portfile.cmake index d189ba43d9e5a1..c1334bb6984a0a 100644 --- a/ports/constexpr-contracts/portfile.cmake +++ b/ports/constexpr-contracts/portfile.cmake @@ -8,13 +8,12 @@ vcpkg_from_github( HEAD_REF main ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/constexpr-contracts) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib - ${CURRENT_PACKAGES_DIR}/debug) -file(INSTALL ${SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/constexpr-contracts) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib" + "${CURRENT_PACKAGES_DIR}/debug") +file(INSTALL "${SOURCE_PATH}/LICENSE.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/constexpr-contracts/vcpkg.json b/ports/constexpr-contracts/vcpkg.json index 1e5da41352de0e..5a4e0d75ef363c 100644 --- a/ports/constexpr-contracts/vcpkg.json +++ b/ports/constexpr-contracts/vcpkg.json @@ -1,7 +1,17 @@ { "name": "constexpr-contracts", - "version-string": "2020-08-09", - "port-version": 1, + "version-date": "2020-08-09", + "port-version": 3, "description": "A constexpr-friendly, optimisation-friendly contracts library.", - "homepage": "https://github.com/cjdb/constexpr-contracts" + "homepage": "https://github.com/cjdb/constexpr-contracts", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/constexpr/portfile.cmake b/ports/constexpr/portfile.cmake index 65773ccec22496..493e78d7b37e7c 100644 --- a/ports/constexpr/portfile.cmake +++ b/ports/constexpr/portfile.cmake @@ -7,10 +7,8 @@ vcpkg_from_github( HEAD_REF master ) -# Put the licence file where vcpkg expects it -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/constexpr/LICENSE) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/constexpr/LICENSE ${CURRENT_PACKAGES_DIR}/share/constexpr/copyright) - # Copy the constexpr header files -file(GLOB HEADER_FILES ${SOURCE_PATH}/src/include/*.h) -file(COPY ${HEADER_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include) +file(GLOB HEADER_FILES "${SOURCE_PATH}/src/include/*.h") +file(COPY ${HEADER_FILES} DESTINATION "${CURRENT_PACKAGES_DIR}/include") + +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/constexpr/vcpkg.json b/ports/constexpr/vcpkg.json index 85a8a46c97d8fc..b7f266515fbe80 100644 --- a/ports/constexpr/vcpkg.json +++ b/ports/constexpr/vcpkg.json @@ -1,7 +1,8 @@ { "name": "constexpr", - "version-string": "1.0", - "port-version": 2, + "version": "1.0", + "port-version": 3, "description": "Small MIT License Library of general stdlib functions written as C++11 constexpr functions.", - "homepage": "https://github.com/elbeno/constexpr" + "homepage": "https://github.com/elbeno/constexpr", + "license": "MIT" } diff --git a/ports/continuable/fix-cmakelists.patch b/ports/continuable/fix-cmakelists.patch index a2d73ad5b1d7ec..5d619e8f040a6a 100644 --- a/ports/continuable/fix-cmakelists.patch +++ b/ports/continuable/fix-cmakelists.patch @@ -1,49 +1,18 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -23,13 +23,6 @@ cmake_minimum_required(VERSION 3.11) - - project(continuable VERSION 4.0.0 LANGUAGES C CXX) - --if (CTI_CONTINUABLE_IS_FIND_INCLUDED) -- set(CTI_CONTINUABLE_IS_TOP_LEVEL_PROJECT OFF) --else() -- string(COMPARE EQUAL ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_SOURCE_DIR} -- CTI_CONTINUABLE_IS_TOP_LEVEL_PROJECT) --endif() -- - option(CTI_CONTINUABLE_WITH_INSTALL - "Add the continuable install targets" - ${CTI_CONTINUABLE_IS_TOP_LEVEL_PROJECT}) -@@ -80,7 +73,7 @@ if(NOT TARGET Threads::Threads) +Index: 4.2.0-0b164f3722.clean/CMakeLists.txt +=================================================================== +--- 4.2.0-0b164f3722.clean.orig/CMakeLists.txt ++++ 4.2.0-0b164f3722.clean/CMakeLists.txt +@@ -82,7 +82,7 @@ if(NOT TARGET Threads::Threads) find_package(Threads REQUIRED) endif() --if (CTI_CONTINUABLE_IS_TOP_LEVEL_PROJECT) -+if (FALSE) +-if(CTI_CONTINUABLE_IS_TOP_LEVEL_PROJECT) ++if(false) include(cmake/CMakeLists.txt) add_subdirectory(dep) else() -@@ -90,7 +83,7 @@ else() - endif() - - # continuable-base --if (CTI_CONTINUABLE_IS_TOP_LEVEL_PROJECT) -+if (TRUE) - add_library(continuable-base INTERFACE) - else() - add_library(continuable-base INTERFACE IMPORTED GLOBAL) -@@ -146,7 +139,7 @@ if (CTI_CONTINUABLE_WITH_UNHANDLED_EXCEPTIONS) - CONTINUABLE_WITH_UNHANDLED_EXCEPTIONS) - endif() - --if (CTI_CONTINUABLE_IS_TOP_LEVEL_PROJECT) -+if (TRUE) - add_library(continuable INTERFACE) - else() - add_library(continuable INTERFACE IMPORTED GLOBAL) -@@ -168,8 +161,8 @@ if (CTI_CONTINUABLE_WITH_INSTALL) - # Headers and license files +@@ -168,8 +168,8 @@ if(CTI_CONTINUABLE_WITH_INSTALL) + # Create an install target: Headers and license files install(DIRECTORY "${PROJECT_SOURCE_DIR}/include/continuable" DESTINATION "include") - install(FILES "LICENSE.txt" DESTINATION .) diff --git a/ports/continuable/portfile.cmake b/ports/continuable/portfile.cmake index e4dd72c839bf96..23498ccb1d764f 100644 --- a/ports/continuable/portfile.cmake +++ b/ports/continuable/portfile.cmake @@ -1,16 +1,15 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Naios/continuable - REF 4.1.0 - SHA512 b80b1c13b068382553b727fd3b346323e2051b1c92237efa151ba8ec92b6d722ca993ae4bbf0e6e308a92834ae92011a179e74fcf713a09beaa48676f7d08340 + REF "${VERSION}" + SHA512 069b1fe37d5dd3495639942af40b9d5fe90408ee0f92f61e85c8aab3e1132300eb75df216a84595cb05c35e0fcb1b789fda4dae3fd2b263ac70910f5374536cc HEAD_REF master PATCHES fix-cmakelists.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DCTI_CONTINUABLE_WITH_INSTALL=ON -DCTI_CONTINUABLE_WITH_TESTS=OFF @@ -21,10 +20,10 @@ vcpkg_configure_cmake( -DCTI_CONTINUABLE_WITH_EXPERIMENTAL_COROUTINE=ON -DCTI_CONTINUABLE_WITH_CPP_LATEST=ON # requires cxx_std_17 ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib - ${CURRENT_PACKAGES_DIR}/debug +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib" + "${CURRENT_PACKAGES_DIR}/debug" ) diff --git a/ports/continuable/vcpkg.json b/ports/continuable/vcpkg.json index d62451c96ad0c8..8ed3a9eea66af1 100644 --- a/ports/continuable/vcpkg.json +++ b/ports/continuable/vcpkg.json @@ -1,9 +1,18 @@ { "name": "continuable", - "version-string": "4.1.0", + "version": "4.2.2", "description": "C++14 asynchronous allocation aware futures (supporting then, exception handling, coroutines and connections)", "homepage": "https://naios.github.io/continuable/", + "license": "MIT", "dependencies": [ - "function2" + "function2", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/convectionkernels/CMakeLists.txt b/ports/convectionkernels/CMakeLists.txt new file mode 100644 index 00000000000000..9b289bdcbc2aa4 --- /dev/null +++ b/ports/convectionkernels/CMakeLists.txt @@ -0,0 +1,30 @@ +cmake_minimum_required(VERSION 3.3.0) + +project( convectionkernels ) + +file(GLOB SRC_FILES *.cpp) +file(GLOB HDR_FILES *.h) +add_library( ${PROJECT_NAME} + STATIC + ${HDR_FILES} + ${SRC_FILES} +) +set_property( TARGET ${PROJECT_NAME} + PROPERTY PUBLIC_HEADER ${HDR_FILES} +) +target_include_directories( ${PROJECT_NAME} + PRIVATE ${CMAKE_CURRENT_LIST_DIR} + INTERFACE $ +) +install( TARGETS ${PROJECT_NAME} + EXPORT unofficial-convectionkernels-config + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib + PUBLIC_HEADER DESTINATION include/convectionkernels +) +install( EXPORT unofficial-convectionkernels-config + FILE unofficial-convectionkernels-config.cmake + NAMESPACE unofficial::convectionkernels:: + DESTINATION share/unofficial-convectionkernels +) diff --git a/ports/convectionkernels/portfile.cmake b/ports/convectionkernels/portfile.cmake new file mode 100644 index 00000000000000..9ea14cd5bd056a --- /dev/null +++ b/ports/convectionkernels/portfile.cmake @@ -0,0 +1,21 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO elasota/ConvectionKernels + REF dc2dbbe0ae2cf2be06ef56d1021e2222a56c7fe2 + SHA512 2bf3aff1acb7b2365b882b4c1274ea8bcb9aea3015b5009e0ec50279122ecc623074d0f4fa04ddf8cd457e1f6868075a773bf8a2fa5b4fa9e2fd51d0a76d2560 + HEAD_REF master +) + +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-convectionkernels) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/convectionkernels/vcpkg.json b/ports/convectionkernels/vcpkg.json new file mode 100644 index 00000000000000..b43e3244c50290 --- /dev/null +++ b/ports/convectionkernels/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "convectionkernels", + "version-date": "2022-06-08", + "description": "Fast, high-quality texture compression library for many formats, also known as cvtt", + "homepage": "https://github.com/elasota/ConvectionKernels", + "license": null, + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/coolprop/cmake-project-include.cmake b/ports/coolprop/cmake-project-include.cmake new file mode 100644 index 00000000000000..4002296dba5e56 --- /dev/null +++ b/ports/coolprop/cmake-project-include.cmake @@ -0,0 +1,3 @@ +if(MSVC) + add_definitions(-D_CRT_SECURE_NO_WARNINGS) +endif() diff --git a/ports/coolprop/fix-builderror.patch b/ports/coolprop/fix-builderror.patch index 0c2f9c4ca2428f..de07acb3017d5d 100644 --- a/ports/coolprop/fix-builderror.patch +++ b/ports/coolprop/fix-builderror.patch @@ -1,5 +1,17 @@ +diff --git a/include/CPmsgpack.h b/include/CPmsgpack.h +index e11f6be..948cc65 100644 +--- a/include/CPmsgpack.h ++++ b/include/CPmsgpack.h +@@ -6,7 +6,6 @@ + + // Workaround MSVC endiannes issues + #if defined(_MSC_VER) && ( defined(_M_ARM) || defined(_M_ARM64) ) +-# define MSGPACK_ENDIAN_LITTLE_BYTE + #endif + + #include "msgpack.hpp" diff --git a/src/ODEIntegrators.cpp b/src/ODEIntegrators.cpp -index 4152f01..e5986ca 100644 +index 23bd4c4..beab710 100644 --- a/src/ODEIntegrators.cpp +++ b/src/ODEIntegrators.cpp @@ -4,6 +4,8 @@ @@ -9,5 +21,5 @@ index 4152f01..e5986ca 100644 +#undef max +#undef min - bool ODEIntegrators::AdaptiveRK54(AbstractODEIntegrator &ode, double tstart, double tend, double hmin, double hmax, double eps_allowed, double step_relax) - { + bool ODEIntegrators::AdaptiveRK54(AbstractODEIntegrator& ode, double tstart, double tend, double hmin, double hmax, double eps_allowed, + double step_relax) { diff --git a/ports/coolprop/fix-dependency.patch b/ports/coolprop/fix-dependency.patch index 69d3f180623a47..e89ccba465b7e7 100644 --- a/ports/coolprop/fix-dependency.patch +++ b/ports/coolprop/fix-dependency.patch @@ -1,19 +1,22 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 2d61aff..80ac50a 100644 +index 7bbf8d6..617ac93 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -237,10 +237,10 @@ list(REMOVE_ITEM APP_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/src/Tests/CoolProp-Te - list(REMOVE_ITEM APP_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/src/CoolPropLib.cpp") +@@ -247,13 +247,10 @@ list(REMOVE_ITEM APP_SOURCES + list(REMOVE_ITEM APP_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/src/CoolPropLib.cpp") - set (APP_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}") --list (APPEND APP_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/externals/Eigen") --list (APPEND APP_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/externals/msgpack-c/include") --list (APPEND APP_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/externals/fmtlib/include") --list (APPEND APP_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/externals/fmtlib") # should be deprecated + set(APP_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}") +-list(APPEND APP_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/externals/Eigen") +-list(APPEND APP_INCLUDE_DIRS +- "${CMAKE_CURRENT_SOURCE_DIR}/externals/msgpack-c/include") +-list(APPEND APP_INCLUDE_DIRS +- "${CMAKE_CURRENT_SOURCE_DIR}/externals/fmtlib/include") +-list(APPEND APP_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/externals/fmtlib" +-)# should be deprecated +find_package(Eigen3 CONFIG REQUIRED) -+find_package(msgpack CONFIG REQUIRED) ++find_package(msgpack-cxx CONFIG REQUIRED) +find_package(fmt CONFIG REQUIRED) -+link_libraries(Eigen3::Eigen msgpackc msgpackc-cxx fmt::fmt) - list (APPEND APP_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/include") - list (APPEND APP_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/src") ++link_libraries(Eigen3::Eigen msgpack-cxx fmt::fmt) + list(APPEND APP_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/include") + list(APPEND APP_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/src") diff --git a/ports/coolprop/fix-install.patch b/ports/coolprop/fix-install.patch index 73732f4dbd1d66..33bef8ffca9271 100644 --- a/ports/coolprop/fix-install.patch +++ b/ports/coolprop/fix-install.patch @@ -1,31 +1,45 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 80ac50a..36819dd 100644 +index 619dfeb..f856613 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -493,13 +493,13 @@ IF ( COOLPROP_OBJECT_LIBRARY OR COOLPROP_STATIC_LIBRARY OR COOLPROP_SHARED_LIBRA - SET_PROPERTY(TARGET ${LIB_NAME} PROPERTY RELEASE_POSTFIX ) - modify_msvc_flags("/MD") # Note that the default is not used if ${COOLPROP_MSVC_REL} or ${COOLPROP_MSVC_DBG} is set - ENDIF (MSVC) -- INSTALL(TARGETS ${LIB_NAME} DESTINATION static_library/${CMAKE_SYSTEM_NAME}/${BITNESS}bit_${CMAKE_CXX_COMPILER_ID}_${CMAKE_CXX_COMPILER_VERSION} ) -- INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${COOLPROP_LIBRARY_HEADER} DESTINATION static_library) -+ INSTALL(TARGETS ${LIB_NAME} RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib) -+ INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${COOLPROP_LIBRARY_HEADER} DESTINATION include) - ELSEIF (COOLPROP_SHARED_LIBRARY) - LIST(APPEND APP_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/${COOLPROP_LIBRARY_SOURCE}") - ADD_LIBRARY(${LIB_NAME} SHARED ${APP_SOURCES} ${COOLPROP_LIBRARY_EXPORTS}) -- INSTALL(TARGETS ${LIB_NAME} DESTINATION shared_library/${CMAKE_SYSTEM_NAME}/${BITNESS}bit${CONVENTION} ) -- INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${COOLPROP_LIBRARY_HEADER} DESTINATION shared_library) -+ INSTALL(TARGETS ${LIB_NAME} RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib) -+ INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${COOLPROP_LIBRARY_HEADER} DESTINATION include) - SET_PROPERTY (TARGET ${LIB_NAME} APPEND_STRING PROPERTY COMPILE_FLAGS " -DCOOLPROP_LIB") - # Now all the compiler specific settings for Visual Studio - IF (MSVC) -@@ -732,7 +732,7 @@ if (COOLPROP_EES_MODULE) - VERBATIM - ) +@@ -543,21 +543,24 @@ if(COOLPROP_OBJECT_LIBRARY + endif(MSVC) + install( + TARGETS ${LIB_NAME} +- DESTINATION +- static_library/${CMAKE_SYSTEM_NAME}/${BITNESS}bit_${CMAKE_CXX_COMPILER_ID}_${CMAKE_CXX_COMPILER_VERSION} ++ RUNTIME DESTINATION bin ++ LIBRARY DESTINATION lib ++ ARCHIVE DESTINATION lib + ) + install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${COOLPROP_LIBRARY_HEADER} +- DESTINATION static_library) ++ DESTINATION include) + elseif(COOLPROP_SHARED_LIBRARY) + list(APPEND APP_SOURCES + "${CMAKE_CURRENT_SOURCE_DIR}/${COOLPROP_LIBRARY_SOURCE}") + add_library(${LIB_NAME} SHARED ${APP_SOURCES} ${COOLPROP_LIBRARY_EXPORTS}) + install( + TARGETS ${LIB_NAME} +- DESTINATION shared_library/${CMAKE_SYSTEM_NAME}/${BITNESS}bit${CONVENTION} ++ RUNTIME DESTINATION bin ++ LIBRARY DESTINATION lib ++ ARCHIVE DESTINATION lib + ) + install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${COOLPROP_LIBRARY_HEADER} +- DESTINATION shared_library) ++ DESTINATION include) + set_property( + TARGET ${LIB_NAME} + APPEND_STRING +@@ -889,7 +892,9 @@ if(COOLPROP_EES_MODULE) + VERBATIM) # install the generated library and the other files -- install(TARGETS COOLPROP_EES DESTINATION "${CMAKE_INSTALL_PREFIX}/EES/${CMAKE_SYSTEM_NAME}") -+ install(TARGETS COOLPROP_EES RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib) - install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/wrappers/EES/CoolProp.htm" DESTINATION "${CMAKE_INSTALL_PREFIX}/EES/${CMAKE_SYSTEM_NAME}") - install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/wrappers/EES/CoolProp.LIB" DESTINATION "${CMAKE_INSTALL_PREFIX}/EES/${CMAKE_SYSTEM_NAME}") - install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/wrappers/EES/CoolProp_EES_Sample.EES" DESTINATION "${CMAKE_INSTALL_PREFIX}/EES/${CMAKE_SYSTEM_NAME}") + install(TARGETS COOLPROP_EES +- DESTINATION "${CMAKE_INSTALL_PREFIX}/EES/${CMAKE_SYSTEM_NAME}") ++ RUNTIME DESTINATION bin ++ LIBRARY DESTINATION lib ++ ARCHIVE DESTINATION lib) + install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/wrappers/EES/CoolProp.htm" + DESTINATION "${CMAKE_INSTALL_PREFIX}/EES/${CMAKE_SYSTEM_NAME}") + install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/wrappers/EES/CoolProp.LIB" diff --git a/ports/coolprop/fmt-fix.patch b/ports/coolprop/fmt-fix.patch index 9baeb2c628bbc2..805437741ce712 100644 --- a/ports/coolprop/fmt-fix.patch +++ b/ports/coolprop/fmt-fix.patch @@ -1,39 +1,156 @@ diff --git a/include/CPstrings.h b/include/CPstrings.h -index b99820a..fe6a2aa 100644 +index 711981cd..fda2f055 100644 --- a/include/CPstrings.h +++ b/include/CPstrings.h @@ -6,6 +6,8 @@ - #include - #include - #include -+ #include -+ #include + #include + #include + #include ++#include ++#include #if !defined(NO_FMTLIB) - #ifndef FMT_HEADER_ONLY -@@ -14,9 +16,6 @@ - #include "fmt/format.h" // For addition of the string formatting functions and macros from fmtlib - #include "fmt/printf.h" // For sprintf - #undef FMT_HEADER_ONLY --#else -- #include -- #include + # ifndef FMT_HEADER_ONLY +@@ -74,17 +76,16 @@ inline bool endswith(const std::string& s1, const std::string& s2) { + #if defined(NO_FMTLIB) + // Missing string formatting function, this old guy is needed for ancient gcc compilers on PowerPC for VxWorks + inline std::string format(const char* fmt, ...); ++#elif FMT_VERSION >= 50000 ++template ++inline std::string format(const char* format_str, const Args&... args) { ++ return fmt::sprintf(format_str, args...); ++} + #else +-// Missing std::string formatting function - provided by the fmtlib library + inline std::string format(const char* format, fmt::ArgList args) { + return fmt::sprintf(format, args); + } + FMT_VARIADIC(std::string, format, const char*) +-// For latest FMTLIB +-/*template +- inline std::string format(const char *format_str, const Args & ... args) { +- return fmt::sprintf(format_str, args); +- }*/ #endif - #include "Exceptions.h" -@@ -58,11 +57,11 @@ - // Missing string formatting function, this old guy is needed for ancient gcc compilers on PowerPC for VxWorks - inline std::string format(const char* fmt, ...); - #else -- // Missing std::string formatting function - provided by the fmtlib library -- inline std::string format(const char *format, fmt::ArgList args) { -- return fmt::sprintf(format, args); -+ template -+ std::string format(const Args & ... args) -+ { -+ return fmt::sprintf(args...); + // Missing string split - like in Python +diff --git a/include/CoolPropFluid.h b/include/CoolPropFluid.h +index 80fb9ff3..093bd294 100644 +--- a/include/CoolPropFluid.h ++++ b/include/CoolPropFluid.h +@@ -562,5 +562,19 @@ class CoolPropFluid + }; + }; + ++#if !defined(NO_FMTLIB) && FMT_VERSION >= 90000 ++static int format_as(ViscosityDiluteVariables::ViscosityDiluteType type) { ++ return fmt::underlying(type); ++} ++ ++static int format_as(TransportPropertyData::ViscosityHardcodedEnum viscosity) { ++ return fmt::underlying(viscosity); ++} ++ ++static int format_as(TransportPropertyData::ConductivityHardcodedEnum conductivity) { ++ return fmt::underlying(conductivity); ++} ++#endif ++ + } /* namespace CoolProp */ + #endif /* COOLPROPFLUID_H_ */ +diff --git a/include/DataStructures.h b/include/DataStructures.h +index 0aebc0b4..5265ac82 100644 +--- a/include/DataStructures.h ++++ b/include/DataStructures.h +@@ -473,5 +473,40 @@ void extract_backend_families(std::string backend_string, backend_families& f1, + void extract_backend_families_string(std::string backend_string, backend_families& f1, std::string& f2); + std::string get_backend_string(backends backend); + ++#if !defined(NO_FMTLIB) && FMT_VERSION >= 90000 ++/// Allows enums to be formatted ++static int format_as(parameters parameter) { ++ return fmt::underlying(parameter); ++} ++ ++static int format_as(phases phase) { ++ return fmt::underlying(phase); ++} ++ ++static int format_as(schemes scheme) { ++ return fmt::underlying(scheme); ++} ++ ++static int format_as(composition_types type) { ++ return fmt::underlying(type); ++} ++ ++static int format_as(fluid_types type) { ++ return fmt::underlying(type); ++} ++ ++static int format_as(input_pairs pair) { ++ return fmt::underlying(pair); ++} ++ ++static int format_as(backend_families family) { ++ return fmt::underlying(family); ++} ++ ++static int format_as(backends backend) { ++ return fmt::underlying(backend); ++} ++#endif ++ + } /* namespace CoolProp */ + #endif /* DATASTRUCTURES_H_ */ +diff --git a/include/IncompressibleFluid.h b/include/IncompressibleFluid.h +index 1ea41775..b641d2e0 100644 +--- a/include/IncompressibleFluid.h ++++ b/include/IncompressibleFluid.h +@@ -44,6 +44,12 @@ struct IncompressibleData + }; + }; + ++#if !defined(NO_FMTLIB) && FMT_VERSION >= 90000 ++static int format_as(IncompressibleData::IncompressibleTypeEnum type) { ++ return fmt::underlying(type); ++} ++#endif ++ + /// A property provider for incompressible solutions and pure fluids + /** + This fluid instance is populated using an entry from a JSON file +diff --git a/src/Backends/Helmholtz/VLERoutines.h b/src/Backends/Helmholtz/VLERoutines.h +index e13c0295..c63d0cbc 100644 +--- a/src/Backends/Helmholtz/VLERoutines.h ++++ b/src/Backends/Helmholtz/VLERoutines.h +@@ -97,6 +97,12 @@ struct saturation_PHSU_pure_options } -- FMT_VARIADIC(std::string, format, const char *) - // For latest FMTLIB - /*template - inline std::string format(const char *format_str, const Args & ... args) { + }; + ++#if !defined(NO_FMTLIB) && FMT_VERSION >= 90000 ++static int format_as(saturation_PHSU_pure_options::specified_variable_options option) { ++ return fmt::underlying(option); ++} ++#endif ++ + void saturation_PHSU_pure(HelmholtzEOSMixtureBackend& HEOS, CoolPropDbl specified_value, saturation_PHSU_pure_options& options); + + /* \brief This is a backup saturation_p solver for the case where the Newton solver cannot approach closely enough the solution +diff --git a/src/HumidAirProp.cpp b/src/HumidAirProp.cpp +index 640bd843..eb586a63 100644 +--- a/src/HumidAirProp.cpp ++++ b/src/HumidAirProp.cpp +@@ -76,6 +76,12 @@ enum givens + GIVEN_ISENTROPIC_EXPONENT + }; + ++#if !defined(NO_FMTLIB) && FMT_VERSION >= 90000 ++int format_as(givens given) { ++ return fmt::underlying(given); ++} ++#endif ++ + void _HAPropsSI_inputs(double p, const std::vector& input_keys, const std::vector& input_vals, double& T, double& psi_w); + double _HAPropsSI_outputs(givens OuputType, double p, double T, double psi_w); + double MoleFractionWater(double, double, int, double); diff --git a/ports/coolprop/portfile.cmake b/ports/coolprop/portfile.cmake index a1e7b978de3dbe..146e1dbfd03b99 100644 --- a/ports/coolprop/portfile.cmake +++ b/ports/coolprop/portfile.cmake @@ -1,10 +1,9 @@ -set(PORT_VERSION 6.1.0) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO CoolProp/CoolProp - REF f5ebb4e655add4c23bb327ab5209f3dbf919bc6d # v6.4.1 - SHA512 916d00777fe56035171ed0a6cbe09b8d4487317772802e4fe9b43f5965f3212dcb3754e18fe1db9c748a4d17facbbe6cb2244451cf5cf66334465760fc1701b7 + REF "v${VERSION}" + SHA512 ccd868cb297d86f054318acec4c3bf9f8ec07b54c320d5e887853c4190adefbd3b2d188e7453896656b5ad0e81b32d133fd0ce67bf58e647d58c96918bc993eb HEAD_REF master PATCHES fmt-fix.patch @@ -12,60 +11,14 @@ vcpkg_from_github( fix-dependency.patch fix-install.patch ) +vcpkg_replace_string("${SOURCE_PATH}/CMakeLists.txt" "CACHE LIST" "CACHE STRING") -vcpkg_find_acquire_program(PYTHON2) -get_filename_component(PYTHON2_DIR ${PYTHON2} DIRECTORY) -vcpkg_add_to_path(${PYTHON2_DIR}) - -file(REMOVE_RECURSE ${SOURCE_PATH}/externals) - -# Patch up the file locations -file(COPY - ${CURRENT_INSTALLED_DIR}/include/catch.hpp - DESTINATION ${SOURCE_PATH}/externals/Catch/single_include -) - -file(COPY - ${CURRENT_INSTALLED_DIR}/include/eigen3/Eigen - DESTINATION ${SOURCE_PATH}/externals/Eigen -) -file(COPY - ${CURRENT_INSTALLED_DIR}/include/eigen3/unsupported/Eigen - DESTINATION ${SOURCE_PATH}/externals/Eigen/unsupported -) - -file(COPY - ${CURRENT_INSTALLED_DIR}/include/rapidjson - DESTINATION ${SOURCE_PATH}/externals/rapidjson/include -) - -file(COPY - ${CURRENT_INSTALLED_DIR}/include/IF97.h - DESTINATION ${SOURCE_PATH}/externals/IF97 -) - -file(COPY - ${CURRENT_INSTALLED_DIR}/include/msgpack.h - ${CURRENT_INSTALLED_DIR}/include/msgpack.hpp - ${CURRENT_INSTALLED_DIR}/include/msgpack - DESTINATION ${SOURCE_PATH}/externals/msgpack-c/include -) - -file(COPY - ${CURRENT_INSTALLED_DIR}/include/fmt - DESTINATION ${SOURCE_PATH}/externals/cppformat -) - -file(COPY - ${CURRENT_INSTALLED_DIR}/include/REFPROP_lib.h - DESTINATION ${SOURCE_PATH}/externals/REFPROP-headers/ -) - -# Use a nasty hack to include the correct header -file(APPEND - ${SOURCE_PATH}/externals/msgpack-c/include/fmt/format.h - "#include \"fmt/printf.h\"" -) +file(REMOVE_RECURSE "${SOURCE_PATH}/externals") +file(COPY "${CURRENT_INSTALLED_DIR}/include/IF97.h" DESTINATION "${SOURCE_PATH}/externals/IF97") +file(COPY "${CURRENT_INSTALLED_DIR}/include/REFPROP_lib.h" DESTINATION "${SOURCE_PATH}/externals/REFPROP-headers/") +file(COPY "${CURRENT_INSTALLED_DIR}/include/rapidjson" DESTINATION "${SOURCE_PATH}/externals/rapidjson/include") +# Fix GCC warning when thread_local is substitude as __thread +vcpkg_replace_string("${SOURCE_PATH}/externals/rapidjson/include/rapidjson/document.h" "thread_local static " "static thread_local ") string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" COOLPROP_SHARED_LIBRARY) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" COOLPROP_STATIC_LIBRARY) @@ -73,21 +26,25 @@ string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" COOLPROP_STATIC_LIBRARY string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "dynamic" COOLPROP_MSVC_DYNAMIC) string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" COOLPROP_MSVC_STATIC) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_find_acquire_program(PYTHON3) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + DISABLE_PARALLEL_CONFIGURE OPTIONS + "-DCMAKE_PROJECT_INCLUDE=${CMAKE_CURRENT_LIST_DIR}/cmake-project-include.cmake" -DCOOLPROP_SHARED_LIBRARY=${COOLPROP_SHARED_LIBRARY} -DCOOLPROP_STATIC_LIBRARY=${COOLPROP_STATIC_LIBRARY} -DCOOLPROP_MSVC_DYNAMIC=${COOLPROP_MSVC_DYNAMIC} -DCOOLPROP_MSVC_STATIC=${COOLPROP_MSVC_STATIC} + "-DPYTHON_EXECUTABLE=${PYTHON3}" OPTIONS_RELEASE - -DCOOLPROP_INSTALL_PREFIX=${CURRENT_PACKAGES_DIR} + "-DCOOLPROP_INSTALL_PREFIX=${CURRENT_PACKAGES_DIR}" OPTIONS_DEBUG - -DCOOLPROP_INSTALL_PREFIX=${CURRENT_PACKAGES_DIR}/debug + "-DCOOLPROP_INSTALL_PREFIX=${CURRENT_PACKAGES_DIR}/debug" ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() if (VCPKG_TARGET_IS_WINDOWS AND COOLPROP_SHARED_LIBRARY) @@ -99,4 +56,4 @@ endif() 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/coolprop/vcpkg.json b/ports/coolprop/vcpkg.json index acd6b2f17ff339..bf69e28b5fb92a 100644 --- a/ports/coolprop/vcpkg.json +++ b/ports/coolprop/vcpkg.json @@ -1,17 +1,20 @@ { "name": "coolprop", - "version-semver": "6.4.1", - "port-version": 1, + "version-semver": "6.4.3", + "port-version": 3, "description": "Thermophysical properties for the masses", "homepage": "https://github.com/CoolProp/CoolProp", + "license": "MIT", "dependencies": [ - "catch", "eigen3", "fmt", "if97", "msgpack", - "pybind11", "rapidjson", - "refprop-headers" + "refprop-headers", + { + "name": "vcpkg-cmake", + "host": true + } ] } 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/coroutine/gsl-4_0_0.patch b/ports/coroutine/gsl-4_0_0.patch new file mode 100644 index 00000000000000..466d3ff13d74bb --- /dev/null +++ b/ports/coroutine/gsl-4_0_0.patch @@ -0,0 +1,80 @@ +diff --git a/interface/coroutine/net.h b/interface/coroutine/net.h +index 17b70a8..3c44827 100644 +--- a/interface/coroutine/net.h ++++ b/interface/coroutine/net.h +@@ -344,7 +344,7 @@ void poll_net_tasks(uint64_t nano) noexcept(false); + * @ingroup Network + */ + uint32_t get_address(const addrinfo& hint, // +- gsl::czstring<> host, gsl::czstring<> serv, ++ gsl::czstring host, gsl::czstring serv, + gsl::span output) noexcept; + + /** +@@ -361,7 +361,7 @@ uint32_t get_address(const addrinfo& hint, // + * @ingroup Network + */ + uint32_t get_address(const addrinfo& hint, // +- gsl::czstring<> host, gsl::czstring<> serv, ++ gsl::czstring host, gsl::czstring serv, + gsl::span output) noexcept; + + /** +@@ -377,7 +377,7 @@ uint32_t get_address(const addrinfo& hint, // + * @ingroup Network + */ + uint32_t get_name(const sockaddr_in& addr, // +- gsl::zstring name, gsl::zstring serv, ++ gsl::basic_zstring name, gsl::basic_zstring serv, + int32_t flags = NI_NUMERICHOST | NI_NUMERICSERV) noexcept; + + /** +@@ -392,7 +392,7 @@ uint32_t get_name(const sockaddr_in& addr, // + * @ingroup Network + */ + uint32_t get_name(const sockaddr_in6& addr, // +- gsl::zstring name, gsl::zstring serv, ++ gsl::basic_zstring name, gsl::basic_zstring serv, + int32_t flags = NI_NUMERICHOST | NI_NUMERICSERV) noexcept; + + } // namespace coro +diff --git a/modules/net/resolver.cpp b/modules/net/resolver.cpp +index 21a9800..5328939 100644 +--- a/modules/net/resolver.cpp ++++ b/modules/net/resolver.cpp +@@ -9,7 +9,7 @@ namespace coro { + + GSL_SUPPRESS(type .1) + uint32_t get_name(const sockaddr_in& addr, // +- gsl::zstring name, gsl::zstring serv, ++ gsl::basic_zstring name, gsl::basic_zstring serv, + int32_t flags) noexcept { + const auto* ptr = reinterpret_cast(addressof(addr)); + return ::getnameinfo(ptr, sizeof(sockaddr_in), // +@@ -20,7 +20,7 @@ uint32_t get_name(const sockaddr_in& addr, // + + GSL_SUPPRESS(type .1) + uint32_t get_name(const sockaddr_in6& addr, // +- gsl::zstring name, gsl::zstring serv, ++ gsl::basic_zstring name, gsl::basic_zstring serv, + int32_t flags) noexcept { + const auto* ptr = reinterpret_cast(addressof(addr)); + return ::getnameinfo(ptr, sizeof(sockaddr_in6), // +@@ -58,7 +58,7 @@ auto get_address(addrinfo* list, sockaddr_in6 addr) noexcept + } + + uint32_t get_address(const addrinfo& hint, // +- gsl::czstring<> host, gsl::czstring<> serv, ++ gsl::czstring host, gsl::czstring serv, + gsl::span output) noexcept { + addrinfo* list = nullptr; + if (const auto ec = ::getaddrinfo(host, serv, // +@@ -74,7 +74,7 @@ uint32_t get_address(const addrinfo& hint, // + } + + uint32_t get_address(const addrinfo& hint, // +- gsl::czstring<> host, gsl::czstring<> serv, ++ gsl::czstring host, gsl::czstring serv, + gsl::span output) noexcept { + addrinfo* list = nullptr; + if (const auto ec = ::getaddrinfo(host, serv, // diff --git a/ports/coroutine/portfile.cmake b/ports/coroutine/portfile.cmake index 1326b5a7dd5993..fb349a26c50634 100644 --- a/ports/coroutine/portfile.cmake +++ b/ports/coroutine/portfile.cmake @@ -1,5 +1,3 @@ -vcpkg_fail_port_install(ON_TARGET "UWP") - if(VCPKG_TARGET_IS_LINUX) message("Warning: `coroutine` requires libc++ and Clang or GCC 10+ on Linux") endif() @@ -13,22 +11,22 @@ vcpkg_from_github( PATCHES fix-errorC7651.patch add-noexcept-to-frame.patch + gsl-4_0_0.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DGSL_INCLUDE_DIR=${CURRENT_INSTALLED_DIR}/include + "-DGSL_INCLUDE_DIR=${CURRENT_INSTALLED_DIR}/include" -DBUILD_TESTING=False ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets() +vcpkg_cmake_install() +vcpkg_cmake_config_fixup() -file(INSTALL ${SOURCE_PATH}/LICENSE - DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} +file(INSTALL "${SOURCE_PATH}/LICENSE" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright ) vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/coroutine/vcpkg.json b/ports/coroutine/vcpkg.json index 8c557f6fa91578..cdae32b492fef8 100644 --- a/ports/coroutine/vcpkg.json +++ b/ports/coroutine/vcpkg.json @@ -1,11 +1,19 @@ { "name": "coroutine", - "version-string": "1.5.0", - "port-version": 2, + "version": "1.5.0", + "port-version": 5, "description": "C++ 20 Coroutines helper/example library", "homepage": "https://github.com/luncliff/coroutine", "supports": "!uwp", "dependencies": [ - "ms-gsl" + "ms-gsl", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/corrade/build-corrade-rc-always.patch b/ports/corrade/build-corrade-rc-always.patch new file mode 100644 index 00000000000000..0e46a5250106e2 --- /dev/null +++ b/ports/corrade/build-corrade-rc-always.patch @@ -0,0 +1,27 @@ +--- a/src/Corrade/Utility/CMakeLists.txt ++++ b/src/Corrade/Utility/CMakeLists.txt +@@ -185,13 +185,12 @@ + # corrade-rc when generating WinRT targets by setting + # set_target_properties(corrade-rc PROPERTIES VS_WINRT_COMPONENT OFF) + # Then this would be if(NOT CMAKE_CROSSCOMPILING OR CORRADE_TARGET_WINDOWS_RT). + # However, it seems like this feature never materialized, as doing this will + # result in corrade-rc that's looking for vcruntime140_app.dll in order to be + # run. Last checked: Nov 2019. +-if(NOT CMAKE_CROSSCOMPILING) + # Sources for standalone corrade-rc + set(CorradeUtilityRc_SRCS + Arguments.cpp + Debug.cpp + Directory.cpp + Configuration.cpp +@@ -235,9 +234,10 @@ + if(CORRADE_TARGET_UNIX) + target_link_libraries(corrade-rc PRIVATE ${CMAKE_DL_LIBS}) + endif() + set_target_properties(corrade-rc PROPERTIES FOLDER "Corrade/Utility") + install(TARGETS corrade-rc DESTINATION ${CORRADE_BINARY_INSTALL_DIR}) + ++if(NOT CMAKE_CROSSCOMPILING) + # Corrade::rc target alias for superprojects + add_executable(Corrade::rc ALIAS corrade-rc) + endif() diff --git a/ports/corrade/clang-16.patch b/ports/corrade/clang-16.patch new file mode 100644 index 00000000000000..a6e6fe1dff3670 --- /dev/null +++ b/ports/corrade/clang-16.patch @@ -0,0 +1,32 @@ +diff --git a/src/Corrade/Utility/StlForwardArray.h b/src/Corrade/Utility/StlForwardArray.h +index 0e78d61..363fafb 100644 +--- a/src/Corrade/Utility/StlForwardArray.h ++++ b/src/Corrade/Utility/StlForwardArray.h +@@ -55,7 +55,11 @@ possible or is unknown is equivalent to @cpp #include @ce. + + #ifdef CORRADE_TARGET_LIBCXX + /* https://github.com/llvm-mirror/libcxx/blob/73d2eccc78ac83d5947243c4d26a53f668b4f432/include/__tuple#L223 */ ++#if _LIBCPP_VERSION < 160000 + #include <__tuple> ++#else ++#include <__fwd/array.h> ++#endif + #elif defined(CORRADE_TARGET_DINKUMWARE) + /* MSVC has it defined next to std::pair */ + #include +diff --git a/src/Corrade/Utility/StlForwardTuple.h b/src/Corrade/Utility/StlForwardTuple.h +index 5701bc0..3292ec8 100644 +--- a/src/Corrade/Utility/StlForwardTuple.h ++++ b/src/Corrade/Utility/StlForwardTuple.h +@@ -55,7 +55,11 @@ is equivalent to @cpp #include @ce. + + #ifdef CORRADE_TARGET_LIBCXX + /* https://github.com/llvm-mirror/libcxx/blob/73d2eccc78ac83d5947243c4d26a53f668b4f432/include/__tuple#L163 */ ++#if _LIBCPP_VERSION < 160000 + #include <__tuple> ++#else ++#include <__fwd/tuple.h> ++#endif + #elif defined(CORRADE_TARGET_LIBSTDCXX) + /* https://github.com/gcc-mirror/gcc/blob/c014d57d57a03e6061a57fa8534e90979567392b/libstdc%2B%2B-v3/include/std/type_traits#L2465-L2466 */ + #include diff --git a/ports/corrade/portfile.cmake b/ports/corrade/portfile.cmake index 2d6b4920daf2d9..0680233a268b69 100644 --- a/ports/corrade/portfile.cmake +++ b/ports/corrade/portfile.cmake @@ -4,7 +4,10 @@ vcpkg_from_github( REF v2020.06 SHA512 94cc8959b0ee43ecd8d13a25307e7829d53dc6601628d97c32288d1704e2c0835b755bffc06b2105e6aa5a612f119a60e83cb475860b51e6a35999215c100227 HEAD_REF master - PATCHES fix-vs2019.patch + PATCHES + fix-vs2019.patch + build-corrade-rc-always.patch + clang-16.patch ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC) @@ -17,37 +20,44 @@ 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() vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES ${_COMPONENTS}) -vcpkg_configure_cmake( +set(corrade_rc_param "") +if(VCPKG_CROSSCOMPILING) + set(corrade_rc_param + "-DCORRADE_RC_EXECUTABLE=${CURRENT_HOST_INSTALLED_DIR}/tools/corrade/corrade-rc${VCPKG_HOST_EXECUTABLE_SUFFIX}" + ) +endif() + +vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - PREFER_NINJA # Disable this option if project cannot be built with Ninja OPTIONS ${FEATURE_OPTIONS} + "${corrade_rc_param}" -DUTILITY_USE_ANSI_COLORS=ON -DBUILD_STATIC=${BUILD_STATIC} + MAYBE_UNUSED_VARIABLES + CORRADE_RC_EXECUTABLE + UTILITY_USE_ANSI_COLORS ) -vcpkg_install_cmake() +vcpkg_cmake_install() # Debug includes and share are the same as release file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -# Install tools -if("utility" IN_LIST FEATURES) - # Drop a copy of tools - vcpkg_copy_tools(TOOL_NAMES "corrade-rc" AUTO_CLEAN) -endif() +# corrade-rc is not built when CMAKE_CROSSCOMPILING +vcpkg_copy_tools(TOOL_NAMES "corrade-rc" AUTO_CLEAN) # Ensure no empty folders are left behind -if(NOT FEATURES) - # No features, no binaries (only Corrade.h). +if(FEATURES STREQUAL "core") + # No features, no libs (only Corrade.h). file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/lib" @@ -67,4 +77,4 @@ file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) -vcpkg_copy_pdbs() \ No newline at end of file +vcpkg_copy_pdbs() diff --git a/ports/corrade/vcpkg.json b/ports/corrade/vcpkg.json index d727769a188036..6bb6ed736f0519 100644 --- a/ports/corrade/vcpkg.json +++ b/ports/corrade/vcpkg.json @@ -1,9 +1,24 @@ { "name": "corrade", "version-string": "2020.06", - "port-version": 3, + "port-version": 8, "description": "C++11/C++14 multiplatform utility library.", "homepage": "https://magnum.graphics/corrade/", + "dependencies": [ + { + "name": "corrade", + "host": true, + "default-features": false + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], "default-features": [ "interconnect", "pluginmanager", @@ -11,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" ] @@ -27,7 +56,12 @@ "dependencies": [ { "name": "corrade", + "default-features": false, "features": [ + { + "name": "dynamic-pluginmanager", + "platform": "!ios & !uwp & !android" + }, "utility" ] } @@ -38,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-async/portfile.cmake b/ports/cpp-async/portfile.cmake new file mode 100644 index 00000000000000..a67b9aa14df5e3 --- /dev/null +++ b/ports/cpp-async/portfile.cmake @@ -0,0 +1,13 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO microsoft/cpp-async + REF "v${VERSION}" + SHA512 6351329db0b485ae26bda74fe78bfbd0890a46e6f89325a953b058f88da4826a139d0ae90d75411680e1ee3c13c3c02f30907653e3643bd0b9556a4be7ea6707 + HEAD_REF main +) + +file(COPY "${SOURCE_PATH}/include/async" 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/cpp-async/usage b/ports/cpp-async/usage new file mode 100644 index 00000000000000..13d5608235909d --- /dev/null +++ b/ports/cpp-async/usage @@ -0,0 +1,4 @@ +cpp-async is header-only and can be used from CMake via: + + find_path(CPP_ASYNC_INCLUDE_DIRS "async/task.h") + target_include_directories(main PRIVATE ${CPP_ASYNC_INCLUDE_DIRS}) diff --git a/ports/cpp-async/vcpkg.json b/ports/cpp-async/vcpkg.json new file mode 100644 index 00000000000000..9c442ddd1d5beb --- /dev/null +++ b/ports/cpp-async/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "cpp-async", + "version": "1.1.0", + "description": "Support types and functions for C++20 coroutines", + "homepage": "https://github.com/microsoft/cpp-async", + "license": "MIT" +} diff --git a/ports/cpp-httplib/fix-find-brotli.patch b/ports/cpp-httplib/fix-find-brotli.patch new file mode 100644 index 00000000000000..e01297071e0441 --- /dev/null +++ b/ports/cpp-httplib/fix-find-brotli.patch @@ -0,0 +1,53 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e27481b..51bfdf1 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -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() + +@@ -223,9 +223,9 @@ target_link_libraries(${PROJECT_NAME} ${_INTERFACE_OR_PUBLIC} + # Needed for API from MacOS Security framework + "$<$,$,$>:-framework CoreFoundation -framework Security>" + # Can't put multiple targets in a single generator expression or it bugs out. +- $<$:Brotli::common> +- $<$:Brotli::encoder> +- $<$:Brotli::decoder> ++ $<$:unofficial::brotli::brotlicommon> ++ $<$:unofficial::brotli::brotlienc> ++ $<$:unofficial::brotli::brotlidec> + $<$:ZLIB::ZLIB> + $<$:OpenSSL::SSL> + $<$:OpenSSL::Crypto> +@@ -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" +- # Install it so it can be used later by the httplibConfig.cmake file. +- # Put it in the same dir as our config file instead of a global path so we don't potentially stomp on other packages. +- "${CMAKE_CURRENT_SOURCE_DIR}/cmake/FindBrotli.cmake" + 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 07c0cfda97b7de..02fddc8a2beff5 100644 --- a/ports/cpp-httplib/portfile.cmake +++ b/ports/cpp-httplib/portfile.cmake @@ -1,13 +1,35 @@ -# Header-only library -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO yhirose/cpp-httplib - REF v0.9.7 - SHA512 7c12ff7b5cfba1a814cb14bdc28c949a97817668e1e6cee030fe1ea5e8748460677908ddb83fd1d06d96dd79a910004071076d1486d39103b6280f628ba38e2d - HEAD_REF master -) - -file(COPY "${SOURCE_PATH}/httplib.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include") - -# Handle copyright -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO yhirose/cpp-httplib + REF "v${VERSION}" + SHA512 35ff903d51fee5428d7a95a0406460f8a18d1b5653f6ec8f353d7a2f1084598e599b24d0401f7214d5ee8d9764c74a4e617fff55acd4e6733ab1b9f2d7d4403c + HEAD_REF master + PATCHES + fix-find-brotli.patch +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + brotli HTTPLIB_REQUIRE_BROTLI + openssl HTTPLIB_REQUIRE_OPENSSL + zlib HTTPLIB_REQUIRE_ZLIB +) + +set(VCPKG_BUILD_TYPE release) # header-only port + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} + -DHTTPLIB_USE_OPENSSL_IF_AVAILABLE=OFF + -DHTTPLIB_USE_ZLIB_IF_AVAILABLE=OFF + -DHTTPLIB_USE_BROTLI_IF_AVAILABLE=OFF +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME httplib CONFIG_PATH lib/cmake/httplib) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") + +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/cpp-httplib/usage b/ports/cpp-httplib/usage new file mode 100644 index 00000000000000..8ee7571a36a051 --- /dev/null +++ b/ports/cpp-httplib/usage @@ -0,0 +1,4 @@ +cpp-httplib provides CMake targets: + + find_package(httplib CONFIG REQUIRED) + target_link_libraries(main PRIVATE httplib::httplib) diff --git a/ports/cpp-httplib/vcpkg.json b/ports/cpp-httplib/vcpkg.json index 20b17553942e17..5e243dda25c1f4 100644 --- a/ports/cpp-httplib/vcpkg.json +++ b/ports/cpp-httplib/vcpkg.json @@ -1,6 +1,40 @@ { "name": "cpp-httplib", - "version": "0.9.7", + "version": "0.18.0", "description": "A single file C++11 header-only HTTP/HTTPS server and client library", - "homepage": "https://github.com/yhirose/cpp-httplib" + "homepage": "https://github.com/yhirose/cpp-httplib", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "default-features": [ + "brotli" + ], + "features": { + "brotli": { + "description": "Enables brotli compression support using brotli", + "dependencies": [ + "brotli" + ] + }, + "openssl": { + "description": "Enables HTTPS support using OpenSSL", + "dependencies": [ + "openssl" + ] + }, + "zlib": { + "description": "Enables gzip compression support using zlib", + "dependencies": [ + "zlib" + ] + } + } } diff --git a/ports/cpp-ipc/portfile.cmake b/ports/cpp-ipc/portfile.cmake index 4842897fb51201..4ce891fccbe99c 100644 --- a/ports/cpp-ipc/portfile.cmake +++ b/ports/cpp-ipc/portfile.cmake @@ -1,10 +1,8 @@ -vcpkg_fail_port_install(ON_TARGET "OSX") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO mutouyun/cpp-ipc - REF a5722957b25a2a429e4e893c427ecd278f2eb0fe #v1.0.1 - SHA512 e5eb7dbec8a3932db78f658422dfe32d377edf50ec594810765718896b32f61b4e6c02e29225cb103279e3313650e31e2b4241ac1adb538172af50fc75a6b0bb + REF 035d76d5aaaa420a61d5e08be841cc20e585adde #v1.3.0 + SHA512 fea7054befc143ca1b4c55f3ffb72eb81353ce08f761e7c1ca79dd016449f76fbfc19bdb046a68e4d84df0f24da0312a0f560d9a25257811689041267bb42f1a HEAD_REF master ) @@ -36,4 +34,4 @@ vcpkg_copy_pdbs() file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") \ No newline at end of file +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") diff --git a/ports/cpp-ipc/vcpkg.json b/ports/cpp-ipc/vcpkg.json index b0d59447b46208..0f18fc7a4c58c1 100644 --- a/ports/cpp-ipc/vcpkg.json +++ b/ports/cpp-ipc/vcpkg.json @@ -1,6 +1,6 @@ { "name": "cpp-ipc", - "version": "1.0.1", + "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-jwt/portfile.cmake b/ports/cpp-jwt/portfile.cmake index 148fbb395ddcb1..45af1f4dcd2661 100644 --- a/ports/cpp-jwt/portfile.cmake +++ b/ports/cpp-jwt/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO arun11299/cpp-jwt - REF 0d662241daf54d8b9911bf8f54784bd2da5a3d19 - SHA512 06a508872f0920ed078b5f9250fe1d5011ad41773c4b8631d7c7947d9f9be4d5e24ca4a7d98c79eb8cd14118effa8893a862089bdc90af6d75031bbb9fc2ee5f + REF 4b66cf74e5ece16e7f7e8c3d8c0c63d01b4cc9aa + SHA512 b66c6f482feb03621926ee6739d081b7f03dcc963a57ba59fce62fb61a3f5082d4eb75db682b567d299ea6e80f37078c033b31c966cbad6f4c234850b0b81cd0 HEAD_REF master ) @@ -16,8 +16,8 @@ vcpkg_cmake_configure( vcpkg_cmake_install() -vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${PORT}") +vcpkg_cmake_config_fixup(CONFIG_PATH "share/cmake/${PORT}") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug" "${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-jwt/vcpkg.json b/ports/cpp-jwt/vcpkg.json index 88e12684f66f12..082a27ca6a01e7 100644 --- a/ports/cpp-jwt/vcpkg.json +++ b/ports/cpp-jwt/vcpkg.json @@ -1,8 +1,10 @@ { "name": "cpp-jwt", - "version-date": "2021-10-18", + "version-date": "2022-08-27", + "port-version": 1, "description": "JSON Web Token library for C++", "homepage": "https://github.com/arun11299/cpp-jwt", + "license": "MIT", "dependencies": [ "nlohmann-json", "openssl", 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-netlib/fix-compatibility-with-boost-1.83.patch b/ports/cpp-netlib/fix-compatibility-with-boost-1.83.patch new file mode 100644 index 00000000000000..530b342bafc57e --- /dev/null +++ b/ports/cpp-netlib/fix-compatibility-with-boost-1.83.patch @@ -0,0 +1,24 @@ + boost/network/protocol/http/server/impl/parsers.ipp | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/boost/network/protocol/http/server/impl/parsers.ipp b/boost/network/protocol/http/server/impl/parsers.ipp +index c31e60ea..3272c2fa 100644 +--- a/boost/network/protocol/http/server/impl/parsers.ipp ++++ b/boost/network/protocol/http/server/impl/parsers.ipp +@@ -13,6 +13,7 @@ + #include + #include + #include ++#include + + #ifdef BOOST_NETWORK_NO_LIB + #ifndef BOOST_NETWORK_INLINE +@@ -32,7 +33,7 @@ typedef std::basic_string u32_string; + template <> // + struct assign_to_container_from_value { + static void call(u32_string const& val, std::string& attr) { +- u32_to_u8_iterator begin = val.begin(), ++ boost::u32_to_u8_iterator begin = val.begin(), + end = val.end(); + for (; begin != end; ++begin) attr += *begin; + } diff --git a/ports/cpp-netlib/portfile.cmake b/ports/cpp-netlib/portfile.cmake index adfe9ad29b46d0..5e36bfdb51feeb 100644 --- a/ports/cpp-netlib/portfile.cmake +++ b/ports/cpp-netlib/portfile.cmake @@ -1,5 +1,3 @@ -vcpkg_fail_port_install(ON_TARGET "UWP") - vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( @@ -11,25 +9,26 @@ vcpkg_from_github( # Updator's note: cpp-netlib has many templates that are not fully instantiated when not building examples. # This patch specifically fixes one of those issues # To test updates, enable building examples below (may also require patching out uses of cxxopts) - PATCHES stream-handler-executor.patch + PATCHES + fix-compatibility-with-boost-1.83.patch + stream-handler-executor.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DCPP-NETLIB_BUILD_TESTS=OFF -DCPP-NETLIB_BUILD_EXAMPLES=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") if (VCPKG_TARGET_IS_WINDOWS) - vcpkg_fixup_cmake_targets(CONFIG_PATH cmake TARGET_PATH share/cppnetlib) + vcpkg_cmake_config_fixup(CONFIG_PATH cmake PACKAGE_NAME cppnetlib) else() - vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/cppnetlib TARGET_PATH share/cppnetlib) + vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/cppnetlib PACKAGE_NAME cppnetlib) endif() -file(INSTALL ${SOURCE_PATH}/LICENSE_1_0.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE_1_0.txt") diff --git a/ports/cpp-netlib/vcpkg.json b/ports/cpp-netlib/vcpkg.json index 22a7c7b9ed3087..61044d46d2768e 100644 --- a/ports/cpp-netlib/vcpkg.json +++ b/ports/cpp-netlib/vcpkg.json @@ -1,7 +1,7 @@ { "name": "cpp-netlib", - "version-string": "0.13.0", - "port-version": 5, + "version": "0.13.0", + "port-version": 9, "description": "A collection of network-related routines/implementations geared towards providing a robust cross-platform networking library", "homepage": "https://cpp-netlib.org/", "supports": "!uwp", @@ -12,6 +12,14 @@ "boost-program-options", "boost-scope-exit", "boost-smart-ptr", - "boost-spirit" + "boost-spirit", + { + "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 75bf34fd9d9fc5..7a060bb5ca4265 100644 --- a/ports/cpp-peglib/portfile.cmake +++ b/ports/cpp-peglib/portfile.cmake @@ -1,16 +1,16 @@ #header-only library vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO yhirose/cpp-peglib - REF v0.1.0 - SHA512 7efe9da8fe75d766a50d6508c81369b71981aa1e36c0d9981d57b75822fde81074b8803753bfa599ab4ce2a7047be731c22476d0938728ebb9a9dbf63aaeb9e6 - HEAD_REF master - ) + OUT_SOURCE_PATH SOURCE_PATH + REPO yhirose/cpp-peglib + REF "v${VERSION}" + SHA512 084e2770a6f73a66a90b43bae0f2c372c1767ca975e2ca2581f38b1828c3587bcfe400868cb5710b7546b499e516040fe33145a2c4098c15de11d384f6377bf4 + HEAD_REF master +) - file(COPY ${SOURCE_PATH}/peglib.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib) +file(COPY "${SOURCE_PATH}/peglib.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") + +# Handle copyright +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/cpp-peglib" RENAME copyright) - # Handle copyright - file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/cpp-peglib) - file(RENAME ${CURRENT_PACKAGES_DIR}/share/cpp-peglib/LICENSE ${CURRENT_PACKAGES_DIR}/share/cpp-peglib/copyright) diff --git a/ports/cpp-peglib/vcpkg.json b/ports/cpp-peglib/vcpkg.json index b7e97849632314..1fbc0a504736c8 100644 --- a/ports/cpp-peglib/vcpkg.json +++ b/ports/cpp-peglib/vcpkg.json @@ -1,6 +1,6 @@ { "name": "cpp-peglib", - "version-string": "0.1.0", - "port-version": 1, - "description": "C++11 header-only PEG (Parsing Expression Grammars) library." + "version": "1.9.0", + "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-redis/fix-sleep_for.patch b/ports/cpp-redis/fix-sleep_for.patch new file mode 100644 index 00000000000000..54bc953f3a9625 --- /dev/null +++ b/ports/cpp-redis/fix-sleep_for.patch @@ -0,0 +1,12 @@ +diff --git a/sources/core/client.cpp b/sources/core/client.cpp +index 7ea20e2..c5d2c40 100644 +--- a/sources/core/client.cpp ++++ b/sources/core/client.cpp +@@ -23,6 +23,7 @@ + #include + #include + #include ++#include + + namespace cpp_redis { + diff --git a/ports/cpp-redis/portfile.cmake b/ports/cpp-redis/portfile.cmake index 033878abff6fe2..f12a5709bee255 100644 --- a/ports/cpp-redis/portfile.cmake +++ b/ports/cpp-redis/portfile.cmake @@ -6,6 +6,8 @@ vcpkg_from_github( REF 4.3.1 SHA512 abf372542c53f37f504b3211b840b100d07a8f4b2e7f5584cc7550ab16ed617838e2df79064374c7a409458d8567f4834686318ea3a40249c767e36c744c7a47 HEAD_REF master + PATCHES + "fix-sleep_for.patch" ) file(COPY ${CMAKE_CURRENT_LIST_DIR}/tacopie/CMakeLists.txt DESTINATION ${SOURCE_PATH}/tacopie) @@ -22,14 +24,13 @@ if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" OR NOT VCPKG_CMAKE_SYSTEM_NAM set(VCPKG_C_FLAGS_DEBUG "${VCPKG_C_FLAGS_DEBUG} -RTC1") endif() -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA OPTIONS -DMSVC_RUNTIME_LIBRARY_CONFIG=${MSVC_RUNTIME_LIBRARY_CONFIG} ) -vcpkg_install_cmake() +vcpkg_cmake_install() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) diff --git a/ports/cpp-redis/vcpkg.json b/ports/cpp-redis/vcpkg.json index e04ec8d84b1224..604bfd19d78a70 100644 --- a/ports/cpp-redis/vcpkg.json +++ b/ports/cpp-redis/vcpkg.json @@ -1,10 +1,19 @@ { "name": "cpp-redis", - "version-string": "4.3.1", - "port-version": 4, + "version": "4.3.1", + "port-version": 5, "description": "cpp-redis is a C++11 Asynchronous Multi-Platform Lightweight Redis Client, with support for synchronous operations and pipelining.", "homepage": "https://github.com/cpp-redis/cpp_redis", + "license": "MIT", "dependencies": [ - "tacopie" + "tacopie", + { + "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 new file mode 100644 index 00000000000000..4dd46a968dd64e --- /dev/null +++ b/ports/cpp-sort/portfile.cmake @@ -0,0 +1,24 @@ +set(VCPKG_BUILD_TYPE release) # header-only + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Morwenn/cpp-sort + REF "${VERSION}" + SHA512 9a9098170cae99aaaed071c05b8bdb6af2d60379bc55f1a59d5e261769df9313517f449c1a9ea13aa96770b47ad5d628a5e0e5a93b019bf02f1918db582bcf19 + HEAD_REF 1.x.y-develop +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DCPPSORT_BUILD_TESTING=OFF +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/cpp-sort") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") diff --git a/ports/cpp-sort/vcpkg.json b/ports/cpp-sort/vcpkg.json new file mode 100644 index 00000000000000..597dd0515c0c6c --- /dev/null +++ b/ports/cpp-sort/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "cpp-sort", + "version": "1.16.0", + "description": "Sorting algorithms & related tools for C++14", + "homepage": "https://github.com/Morwenn/cpp-sort/", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/cpp-taskflow/vcpkg.json b/ports/cpp-taskflow/vcpkg.json index ca690bb21f0996..2a1da640b21043 100644 --- a/ports/cpp-taskflow/vcpkg.json +++ b/ports/cpp-taskflow/vcpkg.json @@ -1,7 +1,7 @@ { "name": "cpp-taskflow", - "version-string": "2.6.0", - "port-version": 1, + "version": "2.6.0", + "port-version": 2, "description": "Fast Parallel Tasking Programming Library using Modern C++.", "homepage": "https://github.com/taskflow/taskflow", "dependencies": [ diff --git a/ports/cpp-timsort/portfile.cmake b/ports/cpp-timsort/portfile.cmake index b5a5e47be87240..2d50533f32a3f5 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 4110017fa25055724a896367f572f1119f0635c7be787f600d68714e4438dd73d0d023f3d021c3c15a3b09a47b13c43a927a2674e5ca601ef5a202b9bc56b849 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..9f8a27141f15cb 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.0", "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 3de2570379bb4d..60be8f22411577 100644 --- a/ports/cppad/portfile.cmake +++ b/ports/cppad/portfile.cmake @@ -1,15 +1,9 @@ -# the compilation fails on arm and uwp. Please check the related issue: -# https://github.com/microsoft/vcpkg/pull/12560#issuecomment-668412073 -vcpkg_fail_port_install(ON_TARGET "uwp" and "arm") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO coin-or/CppAD - REF 90c510458b61049c51f937fc6ed2e611fbb17b8b #20210000.7 - SHA512 112a4663a3e13f2d852c4ce4e57f6bee2dc7584915fcbab75972568258faab0d4a5761c4eaa4c664543cb8674e8e70c0623054c07dff933f9513a47f1c7d6261 + REF "${VERSION}" + SHA512 a2e9b90246a78319d2a50347e03ee7a4e807e059200d834290981b5fc4ff99e1964c420f606a36b6cacb21d5b254f34edbafa660242b260a828e2259686f40cd HEAD_REF master - PATCHES - windows-fix.patch ) vcpkg_cmake_configure( @@ -19,7 +13,6 @@ vcpkg_cmake_configure( -Dcppad_prefix=${CURRENT_PACKAGES_DIR} OPTIONS_RELEASE -Dcmake_install_libdirs=lib - -Dcppad_debug_which:STRING=debug_none OPTIONS_DEBUG -Dcmake_install_libdirs=debug/lib ) @@ -29,4 +22,4 @@ vcpkg_fixup_pkgconfig() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/pkgconfig") # Add the copyright -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/cppad/vcpkg.json b/ports/cppad/vcpkg.json index 48ae8fa4eb06fa..6e8c99cf560641 100644 --- a/ports/cppad/vcpkg.json +++ b/ports/cppad/vcpkg.json @@ -1,18 +1,15 @@ { + "$comment": "See related issue for compilation failure on UWP and ARM: https://github.com/microsoft/vcpkg/pull/12560#issuecomment-668412073", "name": "cppad", - "version-string": "20210000.7", - "port-version": 2, + "version": "20240000.7", "description": "CppAD: A Package for Differentiation of C++ Algorithms", "homepage": "https://github.com/coin-or/CppAD", + "license": "EPL-2.0", "supports": "!(arm | uwp)", "dependencies": [ { "name": "vcpkg-cmake", "host": true - }, - { - "name": "vcpkg-cmake-config", - "host": true } ] } diff --git a/ports/cppad/windows-fix.patch b/ports/cppad/windows-fix.patch deleted file mode 100644 index 585e3294e08426..00000000000000 --- a/ports/cppad/windows-fix.patch +++ /dev/null @@ -1,48 +0,0 @@ -diff --git a/include/cppad/local/cppad_colpack.hpp b/include/cppad/local/cppad_colpack.hpp -index ee96ab5fe..6dd022180 100644 ---- a/include/cppad/local/cppad_colpack.hpp -+++ b/include/cppad/local/cppad_colpack.hpp -@@ -59,7 +59,7 @@ it is not the case that both - This routine tries to minimize, with respect to the choice of colors, - the number of colors. - */ --extern void cppad_colpack_general( -+CPPAD_LIB_EXPORT void cppad_colpack_general( - CppAD::vector& color , - size_t m , - size_t n , -@@ -91,7 +91,7 @@ The properties of this coloring have not yet been determined; see - Efficient Computation of Sparse Hessians Using Coloring - and Automatic Differentiation (pdf/ad/gebemedhin14.pdf) - */ --extern void cppad_colpack_symmetric( -+CPPAD_LIB_EXPORT void cppad_colpack_symmetric( - CppAD::vector& color , - size_t n , - const CppAD::vector& adolc_pattern -diff --git a/include/cppad/local/graph/json_parser.hpp b/include/cppad/local/graph/json_parser.hpp -index 17bcc7c7e..a28d2c045 100644 ---- a/include/cppad/local/graph/json_parser.hpp -+++ b/include/cppad/local/graph/json_parser.hpp -@@ -42,7 +42,7 @@ Upon return it is a $cref cpp_ad_graph$$ representation of this function. - $head Prototype$$ - $srccode%hpp% */ - namespace CppAD { namespace local { namespace graph { -- void json_parser( -+ CPPAD_LIB_EXPORT void json_parser( - const std::string& json , - cpp_graph& graph_obj - ); -diff --git a/include/cppad/local/graph/json_writer.hpp b/include/cppad/local/graph/json_writer.hpp -index 36a4cb39f..299c56cc0 100644 ---- a/include/cppad/local/graph/json_writer.hpp -+++ b/include/cppad/local/graph/json_writer.hpp -@@ -41,7 +41,7 @@ This is a $code cpp_graph$$ object. - $head Prototype$$ - $srccode%hpp% */ - namespace CppAD { namespace local { namespace graph { -- void json_writer( -+ CPPAD_LIB_EXPORT void json_writer( - std::string& json , - const cpp_graph& graph_obj - ); 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/fix_narrowing_error.patch b/ports/cppcms/fix_narrowing_error.patch new file mode 100644 index 00000000000000..12c7b038ddb530 --- /dev/null +++ b/ports/cppcms/fix_narrowing_error.patch @@ -0,0 +1,13 @@ +diff --git a/src/session_win32_file_storage.cpp b/src/session_win32_file_storage.cpp +index ce3fba330..a5e54be84 100644 +--- a/src/session_win32_file_storage.cpp ++++ b/src/session_win32_file_storage.cpp +@@ -186,7 +186,7 @@ void session_file_storage::save_to_file(HANDLE h,time_t timeout,std::string cons + int64_t timeout; + uint32_t crc; + uint32_t size; +- } tmp = { timeout, 0, in.size() }; ++ } tmp = { timeout, 0, static_cast(in.size()) }; + impl::crc32_calc crc_calc; + crc_calc.process_bytes(in.data(),in.size()); + tmp.crc=crc_calc.checksum(); diff --git a/ports/cppcms/no-tests-and-examples.patch b/ports/cppcms/no-tests-and-examples.patch new file mode 100644 index 00000000000000..091484271670dc --- /dev/null +++ b/ports/cppcms/no-tests-and-examples.patch @@ -0,0 +1,33 @@ +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 d25c1b18ef6328..f47954fc8f82a5 100644 --- a/ports/cppcms/portfile.cmake +++ b/ports/cppcms/portfile.cmake @@ -1,30 +1,40 @@ -vcpkg_fail_port_install( ON_TARGET "linux" "osx") - -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_SHARED) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" DISABLE_STATIC) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +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_SHARED} + -DDISABLE_STATIC=${DISABLE_STATIC} + -DDISABLE_GCRYPT=ON + -DDISABLE_ICONV=ON ) -vcpkg_install_cmake() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +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(GLOB EXE_DEBUG_FILES ${CURRENT_PACKAGES_DIR}/debug/bin/*.exe) -file(REMOVE ${EXE_DEBUG_FILES}) -file(GLOB EXE_FILES ${CURRENT_PACKAGES_DIR}/bin/*.exe) -file(REMOVE ${EXE_FILES}) +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 0991668efc1a9d..f1f83019d811c2 100644 --- a/ports/cppcms/vcpkg.json +++ b/ports/cppcms/vcpkg.json @@ -1,14 +1,19 @@ { "name": "cppcms", - "version-string": "1.2.1", - "port-version": 3, + "version": "1.2.1", + "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", - "supports": "!(linux | osx)", + "license": null, + "supports": "!uwp", "dependencies": [ "icu", "openssl", "pcre", + { + "name": "vcpkg-cmake", + "host": true + }, "zlib" ] } diff --git a/ports/cppcodec/0001-Fix-62.patch b/ports/cppcodec/0001-Fix-62.patch new file mode 100644 index 00000000000000..af12439e9a10e7 --- /dev/null +++ b/ports/cppcodec/0001-Fix-62.patch @@ -0,0 +1,28 @@ +From 9f67d7026d3dee8fc6a0af614d97f9365cee2872 Mon Sep 17 00:00:00 2001 +From: Gabriele_Frau +Date: Wed, 17 Oct 2018 14:35:54 +0200 +Subject: [PATCH] Fix #62 + + includes macro definitions named max and min, wrap the call to max and min with parentheses, which prevent the macro expansion +--- + cppcodec/detail/stream_codec.hpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/cppcodec/detail/stream_codec.hpp b/cppcodec/detail/stream_codec.hpp +index d4204bc..4d8d054 100644 +--- a/cppcodec/detail/stream_codec.hpp ++++ b/cppcodec/detail/stream_codec.hpp +@@ -187,8 +187,8 @@ template + static CPPCODEC_ALWAYS_INLINE constexpr size_t num_possible_values() + { + return static_cast( +- static_cast(std::numeric_limits::max()) +- - static_cast(std::numeric_limits::min()) + 1); ++ static_cast((std::numeric_limits::max)()) ++ - static_cast((std::numeric_limits::min)()) + 1); + } + + template +-- +2.32.0.windows.1 + diff --git a/ports/cppcodec/portfile.cmake b/ports/cppcodec/portfile.cmake index 792e734f5d4607..4fad950680ddc1 100644 --- a/ports/cppcodec/portfile.cmake +++ b/ports/cppcodec/portfile.cmake @@ -4,21 +4,21 @@ vcpkg_from_github( REF v0.2 SHA512 50c9c81cdb12560c87e513e1fd22c1ad24ea37b7d20a0e3044d43fb887f4c6494c69468e4d0811cd2fc1ae8fdb01b01cfb9f3cfdd8611d4bb0221cbd38cbead3 HEAD_REF master + PATCHES 0001-Fix-62.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_TESTING=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug" "${CURRENT_PACKAGES_DIR}/lib") -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) - -vcpkg_fixup_pkgconfig() + +vcpkg_fixup_pkgconfig() diff --git a/ports/cppcodec/vcpkg.json b/ports/cppcodec/vcpkg.json index 1066a7b85b689c..f22508c8f6f140 100644 --- a/ports/cppcodec/vcpkg.json +++ b/ports/cppcodec/vcpkg.json @@ -1,6 +1,16 @@ { "name": "cppcodec", - "version-string": "0.2", - "port-version": 2, - "description": "Header-only C++11 library to encode/decode base64, base64url, base32, base32hex and hex (a.k.a. base16) as specified in RFC 4648, plus Crockford's base32." + "version": "0.2", + "port-version": 4, + "description": "Header-only C++11 library to encode/decode base64, base64url, base32, base32hex and hex (a.k.a. base16) as specified in RFC 4648, plus Crockford's base32.", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/cppcoro/portfile.cmake b/ports/cppcoro/portfile.cmake index 7938a65ba067c3..eab7e397a3fe96 100644 --- a/ports/cppcoro/portfile.cmake +++ b/ports/cppcoro/portfile.cmake @@ -1,4 +1,3 @@ -vcpkg_fail_port_install(ON_TARGET "uwp") vcpkg_check_linkage(ONLY_STATIC_LIBRARY) if(VCPKG_TARGET_IS_LINUX) @@ -8,30 +7,29 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO lewissbaker/cppcoro - REF 92892f31d0c41b8e34e6292d7c9d99228da5c501 - SHA512 d1997b7449f1c5c0790575d0755ffbb5f9eef13a7610f3ec666a585bdbb93bb1553f79214c1023a1ef23aaeef64078ca6ee3784107645d7a75c7bba943c10b84 + REF 391215262bd40d68ac6534810164131f5f9eb148 #2022-10-25 + SHA512 22372a0385d6628e81d44cb3096186f7f79f53dff7786815546bfe6d8e1f5af4eae769c6b23e7d18aa123105418780d022239ebd48d25237fe6face9b74e42e8 HEAD_REF master ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt - DESTINATION ${SOURCE_PATH} +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" + DESTINATION "${SOURCE_PATH}" ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_TESTING=False ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets() +vcpkg_cmake_config_fixup() -file(INSTALL ${SOURCE_PATH}/LICENSE.txt - DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} +file(INSTALL "${SOURCE_PATH}/LICENSE.txt" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright ) vcpkg_copy_pdbs() -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") diff --git a/ports/cppcoro/vcpkg.json b/ports/cppcoro/vcpkg.json index e5e116dc85e503..53e75578e8ef65 100644 --- a/ports/cppcoro/vcpkg.json +++ b/ports/cppcoro/vcpkg.json @@ -1,8 +1,18 @@ { "name": "cppcoro", - "version-string": "2020-2-28", - "port-version": 2, + "version-date": "2022-10-25", "description": "A library of C++ coroutine abstractions for the Coroutines TS", "homepage": "https://github.com/lewissbaker/cppcoro", - "supports": "!uwp" + "license": "MIT", + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/cppdap/portfile.cmake b/ports/cppdap/portfile.cmake new file mode 100644 index 00000000000000..f4f08875570bd6 --- /dev/null +++ b/ports/cppdap/portfile.cmake @@ -0,0 +1,21 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO google/cppdap + REF "dap-${VERSION}" + SHA512 36f31cf7b90190820f5a5b7df679a3ca1a4f51b58a7a4c46f85c7b55b0ad9dbeba3436992b5eb8a3fd4499fc38bbf2b16f834f5f1989717f151abf13c262c747 + HEAD_REF main +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DCPPDAP_USE_EXTERNAL_NLOHMANN_JSON_PACKAGE=ON +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/cppdap") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/cppdap/vcpkg.json b/ports/cppdap/vcpkg.json new file mode 100644 index 00000000000000..6e9563e80a53f0 --- /dev/null +++ b/ports/cppdap/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "cppdap", + "version-semver": "1.58.0-a", + "description": "A C++11 library (\"SDK\") implementation of the Debug Adapter Protocol, providing an API for implementing a DAP client or server.", + "homepage": "https://github.com/google/cppdap", + "license": "Apache-2.0", + "dependencies": [ + "nlohmann-json", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/cppfs/LibCrypto-fix.patch b/ports/cppfs/LibCrypto-fix.patch deleted file mode 100644 index 144d2aabe723de..00000000000000 --- a/ports/cppfs/LibCrypto-fix.patch +++ /dev/null @@ -1,53 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index ea9fd15..af63d1e 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -7,7 +7,7 @@ - cmake_minimum_required(VERSION 3.0 FATAL_ERROR) - - # Include cmake modules --list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") -+# list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") - - include(GenerateExportHeader) - -diff --git a/source/cppfs/CMakeLists.txt b/source/cppfs/CMakeLists.txt -index aa37eda..d29176a 100644 ---- a/source/cppfs/CMakeLists.txt -+++ b/source/cppfs/CMakeLists.txt -@@ -4,18 +4,18 @@ - # - - find_package(LibSSH2) --find_package(LibCrypto) -+# find_package(LibCrypto) - find_package(ZLIB) - find_package(OpenSSL) - --if (LibSSH2_FOUND AND LibCrypto_FOUND AND ZLIB_FOUND AND OpenSSL_FOUND) -+if (LibSSH2_FOUND AND ZLIB_FOUND AND OpenSSL_FOUND) - set(SSH_DEPS_MET TRUE) - else() - set(SSH_DEPS_MET FALSE) - endif() - - if (OPTION_BUILD_SSH_BACKEND AND NOT SSH_DEPS_MET) -- message(FATAL_ERROR "Requested to build ssh module but not all dependencies are found! LibSSH2: ${LibSSH2_FOUND}, LibCrypto: ${LibCrypto_FOUND}, ZLIB: ${ZLIB_FOUND}, OpenSSL: ${OpenSSL_FOUND}") -+ message(FATAL_ERROR "Requested to build ssh module but not all dependencies are found! LibSSH2: ${LibSSH2_FOUND}, ZLIB: ${ZLIB_FOUND}, OpenSSL: ${OpenSSL_FOUND}") - endif() - - -@@ -207,10 +207,9 @@ target_link_libraries(${target} - if (OPTION_BUILD_SSH_BACKEND) - target_link_libraries(${target} - PRIVATE -- ${OPENSSL_LIBRARIES} -- ${LIBSSH2_LIBRARY} -- ${LIBCRYPTO_LIBRARY} -- ${ZLIB_LIBRARY} -+ Libssh2::libssh2 -+ OpenSSL::SSL OpenSSL::Crypto -+ ZLIB::ZLIB - ) - - if("${CMAKE_SYSTEM_NAME}" MATCHES "Windows") diff --git a/ports/cppfs/cmake-export-fix.patch b/ports/cppfs/cmake-export-fix.patch deleted file mode 100644 index 34470000249e09..00000000000000 --- a/ports/cppfs/cmake-export-fix.patch +++ /dev/null @@ -1,46 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index ea9fd15..c62c6fd 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -124,7 +124,7 @@ endif() - if((UNIX AND SYSTEM_DIR_INSTALL) OR OPTION_FORCE_SYSTEM_DIR_INSTALL) - # Install into the system (/usr/bin or /usr/local/bin) - set(INSTALL_ROOT "share/${project}") # /usr/[local]/share/ -- set(INSTALL_CMAKE "share/${project}/cmake") # /usr/[local]/share//cmake -+ set(INSTALL_CMAKE "share/${project}") # /usr/[local]/share/ - set(INSTALL_EXAMPLES "share/${project}") # /usr/[local]/share/ - set(INSTALL_DATA "share/${project}") # /usr/[local]/share/ - set(INSTALL_BIN "bin") # /usr/[local]/bin -@@ -183,7 +183,7 @@ add_subdirectory(deploy) - install(FILES "${PROJECT_BINARY_DIR}/VERSION" DESTINATION ${INSTALL_ROOT} COMPONENT runtime) - - # Install cmake find script for the project --install(FILES ${META_PROJECT_NAME}-config.cmake DESTINATION ${INSTALL_ROOT} COMPONENT dev) -+# install(FILES ${META_PROJECT_NAME}-config.cmake DESTINATION ${INSTALL_ROOT} COMPONENT dev) - - # Install the project meta files - install(FILES AUTHORS DESTINATION ${INSTALL_ROOT} COMPONENT runtime) -diff --git a/source/cppfs/CMakeLists.txt b/source/cppfs/CMakeLists.txt -index aa37eda..e8a59e0 100644 ---- a/source/cppfs/CMakeLists.txt -+++ b/source/cppfs/CMakeLists.txt -@@ -283,7 +283,7 @@ perform_health_checks( - - # Library - install(TARGETS ${target} -- EXPORT "${target}-export" COMPONENT dev -+ EXPORT "${target}-config" COMPONENT dev - RUNTIME DESTINATION ${INSTALL_BIN} COMPONENT runtime - LIBRARY DESTINATION ${INSTALL_SHARED} COMPONENT runtime - ARCHIVE DESTINATION ${INSTALL_LIB} COMPONENT dev -@@ -302,8 +302,8 @@ install(DIRECTORY - ) - - # CMake config --install(EXPORT ${target}-export -+install(EXPORT ${target}-config - NAMESPACE ${META_PROJECT_NAME}:: -- DESTINATION ${INSTALL_CMAKE}/${target} -+ DESTINATION ${INSTALL_CMAKE} - COMPONENT dev - ) diff --git a/ports/cppfs/portfile.cmake b/ports/cppfs/portfile.cmake index ce7c696ad478c9..183069f25d177e 100644 --- a/ports/cppfs/portfile.cmake +++ b/ports/cppfs/portfile.cmake @@ -5,36 +5,42 @@ vcpkg_from_github( SHA512 da1e09f79d9e65e7676784f47196645aabe1e1284f0ea5e48e845a244f5d49f5ea4b032f9e2e38c8e6a29657ebe636c9b1c9a4601c4bbc7637e7f592c52a8961 HEAD_REF master PATCHES - LibCrypto-fix.patch - cmake-export-fix.patch + ssh-dependencies.diff ) -if(${TARGET_TRIPLET} MATCHES "uwp") - message(FATAL_ERROR "cppfs does not support uwp") -endif() - -set(SSH_BACKEND OFF) -if("ssh" IN_LIST FEATURES) - set(SSH_BACKEND ON) - if("${VCPKG_TARGET_ARCHITECTURE}" STREQUAL "arm64") - message(FATAL_ERROR "SSH backend of cppfs does not support arm64.") - endif() -endif() +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + ssh OPTION_BUILD_SSH_BACKEND + ssh CMAKE_REQUIRE_FIND_PACKAGE_LibSSH2 + ssh CMAKE_REQUIRE_FIND_PACKAGE_OpenSSL + ssh CMAKE_REQUIRE_FIND_PACKAGE_ZLIB +) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DOPTION_BUILD_SSH_BACKEND=${SSH_BACKEND} - -DOPTION_BUILD_TESTS=Off - -DOPTION_FORCE_SYSTEM_DIR_INSTALL=On + -DCMAKE_DISABLE_FIND_PACKAGE_cppcheck=ON + -DCMAKE_DISABLE_FIND_PACKAGE_clang_tidy=ON + -DOPTION_BUILD_TESTS=OFF + -DOPTION_FORCE_SYSTEM_DIR_INSTALL=ON + ${FEATURE_OPTIONS} ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets() +vcpkg_cmake_config_fixup(CONFIG_PATH "share/cppfs/cmake/cppfs") +# Overwriting original config +file(WRITE "${CURRENT_PACKAGES_DIR}/share/cppfs/cppfs-config.cmake" " +if(NOT \"${BUILD_SHARED_LIBS}\" AND \"${OPTION_BUILD_SSH_BACKEND}\") + include(CMakeFindDependencyMacro) + find_dependency(Libssh2 CONFIG) + find_dependency(OpenSSL) + find_dependency(ZLIB) +endif() +include(\"\${CMAKE_CURRENT_LIST_DIR}/cppfs-export.cmake\") +") -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/cppfs RENAME copyright) +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/cppfs" RENAME copyright) diff --git a/ports/cppfs/ssh-dependencies.diff b/ports/cppfs/ssh-dependencies.diff new file mode 100644 index 00000000000000..24cd8ef13d82d6 --- /dev/null +++ b/ports/cppfs/ssh-dependencies.diff @@ -0,0 +1,44 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ea9fd15..af63d1e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -7,7 +7,7 @@ + cmake_minimum_required(VERSION 3.0 FATAL_ERROR) + + # Include cmake modules +-list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") ++# list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") + + include(GenerateExportHeader) + +diff --git a/source/cppfs/CMakeLists.txt b/source/cppfs/CMakeLists.txt +index aa37eda..d29176a 100644 +--- a/source/cppfs/CMakeLists.txt ++++ b/source/cppfs/CMakeLists.txt +@@ -4,9 +4,9 @@ + # + +-find_package(LibSSH2) +-find_package(LibCrypto) ++find_package(LibSSH2 NAMES libssh2) + find_package(ZLIB) + find_package(OpenSSL) ++set(LibCrypto_FOUND "${OpenSSL_FOUND}") + + if (LibSSH2_FOUND AND LibCrypto_FOUND AND ZLIB_FOUND AND OpenSSL_FOUND) + set(SSH_DEPS_MET TRUE) +@@ -207,10 +207,10 @@ target_link_libraries(${target} + if (OPTION_BUILD_SSH_BACKEND) + target_link_libraries(${target} + PRIVATE +- ${OPENSSL_LIBRARIES} +- ${LIBSSH2_LIBRARY} +- ${LIBCRYPTO_LIBRARY} +- ${ZLIB_LIBRARY} ++ OpenSSL::SSL ++ libssh2::libssh2 ++ OpenSSL::Crypto ++ ZLIB::ZLIB + ) + + if("${CMAKE_SYSTEM_NAME}" MATCHES "Windows") diff --git a/ports/cppfs/vcpkg.json b/ports/cppfs/vcpkg.json index 75db6fc3e70457..c9f69100e0d622 100644 --- a/ports/cppfs/vcpkg.json +++ b/ports/cppfs/vcpkg.json @@ -1,9 +1,20 @@ { "name": "cppfs", - "version-string": "1.3.0", - "port-version": 1, + "version": "1.3.0", + "port-version": 4, "description": "Cross-platform C++ file system library supporting multiple backends", + "license": "MIT", "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], "features": { "ssh": { "description": "SSH backend for cppfs", diff --git a/ports/cppgraphqlgen/portfile.cmake b/ports/cppgraphqlgen/portfile.cmake index 476d68956f38e3..da4ae262fad1a8 100644 --- a/ports/cppgraphqlgen/portfile.cmake +++ b/ports/cppgraphqlgen/portfile.cmake @@ -1,19 +1,33 @@ +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 v3.6.0 - SHA512 148751b1db1b3e917e74ef93fe3533a29153f0b5d1a20544eda32d0376e2c6f5cfc2d60fbc9d077d595e7072d0b6a36dbf8f2524903db40b576ee48196b2c3e8 + REF "v${VERSION}" + SHA512 1de45784485c285890200d31ce228a55ba19ed0d1bf0a3c18ea3c73d1938269f25833da1c28e8e155d875bdcf2fdf9916872f30ef9946de6bf58c1dfde451f4b HEAD_REF main + PATCHES + ${LINUX_PATCH} ) -vcpkg_configure_cmake( +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + rapidjson GRAPHQL_USE_RAPIDJSON +) + +vcpkg_cmake_configure( SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA OPTIONS -DGRAPHQL_BUILD_TESTS=OFF -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 @@ -22,16 +36,14 @@ vcpkg_configure_cmake( -DGRAPHQL_INSTALL_TOOLS_DIR=${CURRENT_PACKAGES_DIR}/debug/tools ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets() +vcpkg_cmake_config_fixup() vcpkg_copy_tools( - TOOL_NAMES schemagen + TOOL_NAMES schemagen clientgen SEARCH_DIR ${CURRENT_PACKAGES_DIR}/tools/cppgraphqlgen) 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/cppgraphqlgen/vcpkg.json b/ports/cppgraphqlgen/vcpkg.json index ace8b4ea886daf..c12ec19b59860b 100644 --- a/ports/cppgraphqlgen/vcpkg.json +++ b/ports/cppgraphqlgen/vcpkg.json @@ -1,11 +1,31 @@ { "name": "cppgraphqlgen", - "version-semver": "3.6.0", + "version": "4.5.7", + "port-version": 1, "description": "C++ GraphQL schema service generator", "homepage": "https://github.com/microsoft/cppgraphqlgen", + "license": "MIT", "dependencies": [ "boost-program-options", "pegtl", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "default-features": [ "rapidjson" - ] + ], + "features": { + "rapidjson": { + "description": "Build the graphqljson library with RapidJSON.", + "dependencies": [ + "rapidjson" + ] + } + } } diff --git a/ports/cppitertools/portfile.cmake b/ports/cppitertools/portfile.cmake index 8d92a0f2292dea..8516467590eac4 100644 --- a/ports/cppitertools/portfile.cmake +++ b/ports/cppitertools/portfile.cmake @@ -6,20 +6,19 @@ vcpkg_from_github( HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -Dcppitertools_INSTALL_CMAKE_DIR=share ) -vcpkg_install_cmake() +vcpkg_cmake_install() file(REMOVE_RECURSE - ${CURRENT_PACKAGES_DIR}/debug - ${CURRENT_PACKAGES_DIR}/share/cppitertools-config-version.cmake) + "${CURRENT_PACKAGES_DIR}/debug" + "${CURRENT_PACKAGES_DIR}/share/cppitertools-config-version.cmake") # Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE.md - DESTINATION ${CURRENT_PACKAGES_DIR}/share/cppitertools +file(INSTALL "${SOURCE_PATH}/LICENSE.md" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/cppitertools" RENAME copyright) diff --git a/ports/cppitertools/vcpkg.json b/ports/cppitertools/vcpkg.json index 936e372f98810f..3f1529d9fba9d0 100644 --- a/ports/cppitertools/vcpkg.json +++ b/ports/cppitertools/vcpkg.json @@ -1,10 +1,18 @@ { "name": "cppitertools", "version": "2.1", - "port-version": 2, + "port-version": 3, "description": "Range-based for loop add-ons inspired by the Python builtins and itertools library", "homepage": "https://github.com/ryanhaining/cppitertools", "dependencies": [ - "boost-optional" + "boost-optional", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/cppkafka/0001-Fix-static-lib.patch b/ports/cppkafka/0001-Fix-static-lib.patch new file mode 100644 index 00000000000000..be5d7c30addb01 --- /dev/null +++ b/ports/cppkafka/0001-Fix-static-lib.patch @@ -0,0 +1,38 @@ +From fb7cbb0648948b51f71aefaa6b2354846f72439f Mon Sep 17 00:00:00 2001 +From: Nikita Vakula +Date: Mon, 1 May 2023 23:12:09 +0200 +Subject: [PATCH 1/2] Use correct rdkafka .pc + +Signed-off-by: Nikita Vakula +--- + CMakeLists.txt | 1 + + cmake/cppkafka.pc.in | 2 +- + 2 files changed, 2 insertions(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c4e44e6..e34c071 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -92,6 +92,7 @@ endif() + + if (CPPKAFKA_RDKAFKA_STATIC_LIB) + add_definitions("-DLIBRDKAFKA_STATICLIB") ++ set(RDKAFKA_STATIC "-static") + endif() + + if (NOT CPPKAFKA_CONFIG_DIR) +diff --git a/cmake/cppkafka.pc.in b/cmake/cppkafka.pc.in +index b5d432c..4e50860 100644 +--- a/cmake/cppkafka.pc.in ++++ b/cmake/cppkafka.pc.in +@@ -9,6 +9,6 @@ Url: https://github.com/mfontanini/cppkafka + Description: C++ wrapper library on top of RdKafka + Version: @CPPKAFKA_VERSION@ + Requires: +-Requires.private: rdkafka >= 0.9.4 ++Requires.private: rdkafka@RDKAFKA_STATIC@ >= 0.9.4 + Libs: -L${libdir} -L${sharedlibdir} -lcppkafka + Cflags: -I${includedir} -I${includedir}/cppkafka -I@Boost_INCLUDE_DIRS@ +-- +2.37.1 (Apple Git-137.1) + diff --git a/ports/cppkafka/0002-Remove-min-max-macros.patch b/ports/cppkafka/0002-Remove-min-max-macros.patch new file mode 100644 index 00000000000000..c06277c888da0c --- /dev/null +++ b/ports/cppkafka/0002-Remove-min-max-macros.patch @@ -0,0 +1,27 @@ +From e2c9c0a1cee07c6cacedd682d3506b447c2c561b Mon Sep 17 00:00:00 2001 +From: Nikita Vakula +Date: Mon, 1 May 2023 23:11:19 +0200 +Subject: [PATCH 2/2] Remove min/max macros + +Signed-off-by: Nikita Vakula +--- + src/CMakeLists.txt | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 5b8649b..5c818ee 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -36,6 +36,9 @@ set(NAMESPACE "${PROJECT_NAME}::") + set(TARGET_EXPORT_NAME ${PROJECT_NAME}Targets) + + add_library(${TARGET_NAME} ${CPPKAFKA_LIBRARY_TYPE} ${SOURCES}) ++if (MSVC) ++ target_compile_definitions(${TARGET_NAME} PRIVATE NOMINMAX) ++endif () + target_include_directories(${TARGET_NAME} PUBLIC $) + set_target_properties(${TARGET_NAME} PROPERTIES + ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_INSTALL_LIBDIR}" +-- +2.37.1 (Apple Git-137.1) + diff --git a/ports/cppkafka/fix-dynamic.patch b/ports/cppkafka/fix-dynamic.patch deleted file mode 100644 index f18a0fbf76e731..00000000000000 --- a/ports/cppkafka/fix-dynamic.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 5d31078..b1d3634 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -43,6 +43,7 @@ target_include_directories(cppkafka PUBLIC ${PROJECT_SOURCE_DIR}/include) - - install( - TARGETS cppkafka -+ RUNTIME DESTINATION bin - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib - COMPONENT dev diff --git a/ports/cppkafka/portfile.cmake b/ports/cppkafka/portfile.cmake index ccaee4ed4dcc48..5fb7f55d1a983b 100644 --- a/ports/cppkafka/portfile.cmake +++ b/ports/cppkafka/portfile.cmake @@ -1,32 +1,47 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO mfontanini/cppkafka - REF v0.3.1 - SHA512 60d01ce1dd9bd9119676be939ed5ab03539abb1f945c1b31e432edfe0f06542778f7fef37696f5ff19c53024f44d5cbd8aeddbbb231c38b098e05285d3ff0cab + REF "${VERSION}" + SHA512 86ac1500bdf6746a5e44e9ca4a4063eabcacec68b26c6846f7e7d47fe947309fc98a47986ab060d793096665d1cdc24044334267eb579cdb191f539bf96a3294 HEAD_REF master - PATCHES fix-dynamic.patch + PATCHES + 0001-Fix-static-lib.patch + 0002-Remove-min-max-macros.patch ) if (VCPKG_LIBRARY_LINKAGE STREQUAL "static") set(CPPKAFKA_BUILD_SHARED OFF) + set(CPPKAFKA_RDKAFKA_STATIC_LIB ON) else() set(CPPKAFKA_BUILD_SHARED ON) + set(CPPKAFKA_RDKAFKA_STATIC_LIB OFF) endif() -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + DISABLE_PARALLEL_CONFIGURE OPTIONS + -DCMAKE_CXX_STANDARD=11 -DCPPKAFKA_BUILD_SHARED=${CPPKAFKA_BUILD_SHARED} -DCPPKAFKA_DISABLE_TESTS=ON -DCPPKAFKA_DISABLE_EXAMPLES=ON + -DCPPKAFKA_PKGCONFIG_DIR=lib/pkgconfig + -DCPPKAFKA_RDKAFKA_STATIC_LIB=${CPPKAFKA_RDKAFKA_STATIC_LIB} ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +vcpkg_cmake_config_fixup( + CONFIG_PATH lib/cmake/CppKafka +) + +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) \ No newline at end of file +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") +vcpkg_fixup_pkgconfig() diff --git a/ports/cppkafka/vcpkg.json b/ports/cppkafka/vcpkg.json index 00473d9725c836..f9be36ab9768fd 100644 --- a/ports/cppkafka/vcpkg.json +++ b/ports/cppkafka/vcpkg.json @@ -1,11 +1,19 @@ { "name": "cppkafka", - "version-string": "0.3.1", - "port-version": 3, + "version": "0.4.0", "description": "cppkafka allows C++ applications to consume and produce messages using the Apache Kafka protocol. The library is built on top of librdkafka, and provides a high level API that uses modern C++ features to make it easier to write code while keeping the wrapper's performance overhead to a minimum.", "homepage": "https://github.com/mfontanini/cppkafka", + "license": "BSD-2-Clause", "dependencies": [ "boost-program-options", - "librdkafka" + "librdkafka", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/cppmicroservices/fix-dependency-gtest.patch b/ports/cppmicroservices/fix-dependency-gtest.patch deleted file mode 100644 index 9eb9459f10127b..00000000000000 --- a/ports/cppmicroservices/fix-dependency-gtest.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 136edff..9d29522 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -288,6 +288,10 @@ if(US_COMPILER_APPLE_CLANG OR US_COMPILER_CLANG) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++") - endif() - -+# Dependency -+find_package(GTest CONFIG REQUIRED) -+link_libraries(GTest::gtest GTest::gmock) -+ - #----------------------------------------------------------------------------- - # Testing configuration - #----------------------------------------------------------------------------- -@@ -338,7 +342,7 @@ if(US_BUILD_TESTING) - endif() - - if(US_USE_SYSTEM_GTEST) -- find_package(GTest REQUIRED) -+ find_package(GTest CONFIG REQUIRED) - else() - # This keeps GTest CMake variables hidden from users unless they explicitly want to view/modify them. - us_cache_var(BUILD_GMOCK ON BOOL "Build GMock" ADVANCED FORCE) diff --git a/ports/cppmicroservices/fix-warning-c4834.patch b/ports/cppmicroservices/fix-warning-c4834.patch deleted file mode 100644 index 893b28d30e827f..00000000000000 --- a/ports/cppmicroservices/fix-warning-c4834.patch +++ /dev/null @@ -1,25 +0,0 @@ -diff --git a/httpservice/src/ServletContainer.cpp b/httpservice/src/ServletContainer.cpp -index b4af8c9..8713066 100644 ---- a/httpservice/src/ServletContainer.cpp -+++ b/httpservice/src/ServletContainer.cpp -@@ -279,7 +279,9 @@ void ServletContainer::SetContextPath(const std::string& path) - - std::string ServletContainer::GetContextPath() const - { -- return Lock(d->m_Mutex), d->m_ContextPath; -+ Lock l(d->m_Mutex); -+ US_UNUSED(l); -+ return d->m_ContextPath; - } - - void ServletContainer::Start() -@@ -306,6 +308,8 @@ std::shared_ptr ServletContainer::GetContext( - std::string ServletContainer::GetContextPath( - const ServletContext* /*context*/) const - { -- return Lock(d->m_Mutex), d->m_ContextPath; -+ Lock l(d->m_Mutex); -+ US_UNUSED(l); -+ return d->m_ContextPath; - } - } diff --git a/ports/cppmicroservices/fix_strnicmp.patch b/ports/cppmicroservices/fix_strnicmp.patch new file mode 100644 index 00000000000000..1a9245f6a4331b --- /dev/null +++ b/ports/cppmicroservices/fix_strnicmp.patch @@ -0,0 +1,13 @@ +diff --git a/framework/src/util/PropsCheck.h b/framework/src/util/PropsCheck.h +index 26acd33..930a328 100644 +--- a/framework/src/util/PropsCheck.h ++++ b/framework/src/util/PropsCheck.h +@@ -47,7 +47,7 @@ + + #ifdef US_PLATFORM_WINDOWS + # include +-# define ci_compare strnicmp ++# define ci_compare _strnicmp + #else + # include + # define ci_compare strncasecmp diff --git a/ports/cppmicroservices/portfile.cmake b/ports/cppmicroservices/portfile.cmake index f8f94aec13f7e0..ad7b3cc77aad5c 100644 --- a/ports/cppmicroservices/portfile.cmake +++ b/ports/cppmicroservices/portfile.cmake @@ -1,32 +1,43 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO CppMicroServices/CppMicroservices - REF v3.6.0 - SHA512 C1407E1D3C2FD31675C32D8C00F7D005C09B03A835D5B09411B0043DDEAF5E3A1A0C7A5FA34FA04D5A643169D222D0E8D3A3C31CDA69FB64CDF1A8CCA276BE18 + REF "v${VERSION}" + SHA512 4743846a8ba45e6bd320c93bb3bd443b5dac16ea0bbf55bda6212e9200a40ee29031fd74c6141de4c6b5ef9ad3e70789d13fda25b40638547782d386a12dd7e2 HEAD_REF development PATCHES werror.patch - fix-dependency-gtest.patch - fix-warning-c4834.patch + fix_strnicmp.patch + remove-wx.patch ) -vcpkg_configure_cmake( +#nowide download +vcpkg_from_github( + OUT_SOURCE_PATH NOWIDE_SOURCE_PATH + REPO boostorg/nowide + REF 02f40f0b5f5686627fcddae93ff88ca399db4766 + SHA512 e68e0704896726c7a94b8ace0e03c5206b4c7acd23a6b05f6fb2660abe30611ac6913cf5fab7b57eaff1990a7c28aeee8c9f526b60f7094c0c201f90b715d6c6 + HEAD_REF develop +) + +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}" - PREFER_NINJA OPTIONS -DTOOLS_INSTALL_DIR:STRING=tools/cppmicroservices -DAUXILIARY_INSTALL_DIR:STRING=share/cppmicroservices -DUS_USE_SYSTEM_GTEST=TRUE ) -vcpkg_install_cmake() +vcpkg_cmake_install() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -vcpkg_fixup_cmake_targets() +vcpkg_cmake_config_fixup() # Handle copyright -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") # CppMicroServices uses a custom resource compiler to compile resources # the zipped resources are then appended to the target which cause the linker to crash diff --git a/ports/cppmicroservices/remove-wx.patch b/ports/cppmicroservices/remove-wx.patch new file mode 100644 index 00000000000000..dadae53f59804a --- /dev/null +++ b/ports/cppmicroservices/remove-wx.patch @@ -0,0 +1,13 @@ +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 1ddf09e6e5c1df..4a7a4be789cdcb 100644 --- a/ports/cppmicroservices/vcpkg.json +++ b/ports/cppmicroservices/vcpkg.json @@ -1,9 +1,19 @@ { "name": "cppmicroservices", - "version": "3.6.0", + "version": "3.7.6", + "port-version": 1, "description": "An OSGi-like C++ dynamic module system and service registry", "homepage": "https://github.com/CppMicroServices/CppMicroServices", + "license": "Apache-2.0", "dependencies": [ - "gtest" + "gtest", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } 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/fix-uwp.patch b/ports/cpprestsdk/fix-uwp.patch new file mode 100644 index 00000000000000..c7e77ebf6cdda4 --- /dev/null +++ b/ports/cpprestsdk/fix-uwp.patch @@ -0,0 +1,28 @@ +diff --git a/Release/CMakeLists.txt b/Release/CMakeLists.txt +index b8f3809..3857cfc 100644 +--- a/Release/CMakeLists.txt ++++ b/Release/CMakeLists.txt +@@ -187,7 +187,7 @@ elseif(CMAKE_CXX_COMPILER_ID MATCHES "MSVC") + set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} /profile /OPT:REF /OPT:ICF") + + if (WINDOWS_STORE OR WINDOWS_PHONE) +- add_compile_options(/ZW) ++ # add_compile_options(/ZW) + else() + if (NOT (MSVC_VERSION LESS 1920)) + add_compile_options(/permissive-) +diff --git a/Release/src/CMakeLists.txt b/Release/src/CMakeLists.txt +index 128f6d6..098d33f 100644 +--- a/Release/src/CMakeLists.txt ++++ b/Release/src/CMakeLists.txt +@@ -47,6 +47,10 @@ target_include_directories(cpprest + pch + ) + ++if (CMAKE_CXX_COMPILER_ID MATCHES "MSVC" AND (WINDOWS_STORE OR WINDOWS_PHONE)) ++ target_compile_options(cpprest PUBLIC /ZW) ++endif() ++ + ## Sub-components + # Websockets component + if(CPPREST_WEBSOCKETS_IMPL STREQUAL "none") diff --git a/ports/cpprestsdk/fix_narrowing.patch b/ports/cpprestsdk/fix_narrowing.patch new file mode 100644 index 00000000000000..975a759ca96e0c --- /dev/null +++ b/ports/cpprestsdk/fix_narrowing.patch @@ -0,0 +1,50 @@ +diff --git a/Release/src/CMakeLists.txt b/Release/src/CMakeLists.txt +index e15aeb7fc..128f6d6af 100644 +--- a/Release/src/CMakeLists.txt ++++ b/Release/src/CMakeLists.txt +@@ -185,12 +185,12 @@ endif() + + configure_pch(cpprest stdafx.h pch/stdafx.cpp /Zm120) + +-if(CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR CMAKE_CXX_COMPILER_ID MATCHES "GNU") ++if(CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR CMAKE_CXX_COMPILER_ID MATCHES "GNU" AND NOT MSVC) + if(WERROR) + target_compile_options(cpprest PRIVATE -Werror) + endif() + target_compile_options(cpprest PRIVATE -pedantic ${WARNINGS}) +-elseif(CMAKE_CXX_COMPILER_ID MATCHES "MSVC") ++elseif(CMAKE_CXX_COMPILER_ID MATCHES "MSVC" OR CMAKE_CXX_COMPILER_FRONTEND_VARIANT MATCHES "MSVC") + if(WERROR) + target_compile_options(cpprest PRIVATE /WX ${WARNINGS}) + endif() +diff --git a/Release/src/streams/fileio_win32.cpp b/Release/src/streams/fileio_win32.cpp +index 057dd9b67..a65439cb7 100644 +--- a/Release/src/streams/fileio_win32.cpp ++++ b/Release/src/streams/fileio_win32.cpp +@@ -616,7 +616,7 @@ size_t _fill_buffer_fsb(_In_ _file_info_impl* fInfo, + // pending + return read; + +- case (-1): ++ case ((size_t)(-1)): + // error + delete cb; + return read; +@@ -668,7 +668,7 @@ size_t _fill_buffer_fsb(_In_ _file_info_impl* fInfo, + // pending + return read; + +- case (-1): ++ case ((size_t)(-1)): + // error + delete cb; + return read; +@@ -719,7 +719,7 @@ size_t _fill_buffer_fsb(_In_ _file_info_impl* fInfo, + // pending + return read; + +- case (-1): ++ case ((size_t)(-1)): + // error + delete cb; + return read; diff --git a/ports/cpprestsdk/portfile.cmake b/ports/cpprestsdk/portfile.cmake index 4682018089808b..7ed7db93b5a519 100644 --- a/ports/cpprestsdk/portfile.cmake +++ b/ports/cpprestsdk/portfile.cmake @@ -1,10 +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 + 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) @@ -23,9 +28,13 @@ vcpkg_check_features( websockets CPPREST_EXCLUDE_WEBSOCKETS ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH}/Release - PREFER_NINJA +if(VCPKG_TARGET_IS_UWP) + set(configure_opts WINDOWS_USE_MSBUILD) +endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/Release" + ${configure_opts} OPTIONS ${OPTIONS} ${FEATURE_OPTIONS} @@ -38,16 +47,16 @@ vcpkg_configure_cmake( -DCPPREST_INSTALL_HEADERS=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/share/${PORT}) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/share ${CURRENT_PACKAGES_DIR}/lib/share) +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/share/${PORT}") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/share" "${CURRENT_PACKAGES_DIR}/lib/share") if (VCPKG_LIBRARY_LINKAGE STREQUAL static) - vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/include/cpprest/details/cpprest_compat.h + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/cpprest/details/cpprest_compat.h" "#ifdef _NO_ASYNCRTIMP" "#if 1") endif() -file(INSTALL ${SOURCE_PATH}/license.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/license.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) 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/test.patch b/ports/cpprestsdk/test.patch new file mode 100644 index 00000000000000..c5507e88add8e1 --- /dev/null +++ b/ports/cpprestsdk/test.patch @@ -0,0 +1,23 @@ +diff --git a/Release/src/CMakeLists.txt b/Release/src/CMakeLists.txt +index 098d33f..7f1f650 100644 +--- a/Release/src/CMakeLists.txt ++++ b/Release/src/CMakeLists.txt +@@ -218,15 +218,15 @@ if (WIN32 AND NOT WINDOWS_STORE AND NOT WINDOWS_PHONE) + crypt32.lib + ) + elseif(WINDOWS_STORE) +- if(NOT CMAKE_GENERATOR MATCHES "Visual Studio .*") +- target_compile_definitions(cpprest PRIVATE -DWINAPI_FAMILY=WINAPI_FAMILY_PC_APP) ++ ++ target_compile_definitions(cpprest PUBLIC -DWINAPI_FAMILY=WINAPI_FAMILY_PC_APP) + get_target_property(LINK_FLAGS cpprest LINK_FLAGS) + if(NOT LINK_FLAGS) + set(LINK_FLAGS "") + endif() + set(LINK_FLAGS "${LINK_FLAGS} /APPCONTAINER") + set_target_properties(cpprest PROPERTIES LINK_FLAGS "${LINK_FLAGS}") +- endif() ++ + endif() + + set_target_properties(cpprest PROPERTIES OUTPUT_NAME "cpprest${CPPREST_ABI_TAG}") diff --git a/ports/cpprestsdk/vcpkg.json b/ports/cpprestsdk/vcpkg.json index d33e61ed9345aa..5250a300913258 100644 --- a/ports/cpprestsdk/vcpkg.json +++ b/ports/cpprestsdk/vcpkg.json @@ -1,11 +1,13 @@ { "name": "cpprestsdk", - "version-string": "2.10.18", + "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." ], "homepage": "https://github.com/Microsoft/cpprestsdk", + "license": "MIT", "dependencies": [ { "name": "boost-asio", @@ -42,10 +44,22 @@ { "name": "openssl", "platform": "!uwp & !windows" + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true } ], "default-features": [ - "default-features" + { + "name": "brotli", + "platform": "windows" + }, + "compression" ], "features": { "brotli": { @@ -67,25 +81,6 @@ "zlib" ] }, - "default-features": { - "description": "Features installed by default", - "dependencies": [ - { - "name": "cpprestsdk", - "default-features": false, - "features": [ - "compression" - ] - }, - { - "name": "cpprestsdk", - "features": [ - "brotli" - ], - "platform": "windows" - } - ] - }, "websockets": { "description": "Websockets support", "dependencies": [ diff --git a/ports/cppslippi/portfile.cmake b/ports/cppslippi/portfile.cmake new file mode 100644 index 00000000000000..6770cc217b27cd --- /dev/null +++ b/ports/cppslippi/portfile.cmake @@ -0,0 +1,21 @@ +vcpkg_from_sourceforge( + OUT_SOURCE_PATH SOURCE_PATH + REPO cppslippi + FILENAME "CppSlippi-${VERSION}.zip" + SHA512 3857e96f693daa25a9b753884b4f4bd2511d5c3b47fd52045553f007483dfdaeebe1a4e17052694eb4d81bd6d0e580872d2c22d3ba3bbf483322d10bbc8944ca + NO_REMOVE_ONE_LEVEL +) + +vcpkg_cmake_configure( + SOURCE_PATH ${SOURCE_PATH} + OPTIONS + -DBUILD_TESTING=False +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/CppSlippi) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") + +file(COPY "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +file(COPY "${SOURCE_PATH}/README.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/cppslippi/usage b/ports/cppslippi/usage new file mode 100644 index 00000000000000..b81dea18519466 --- /dev/null +++ b/ports/cppslippi/usage @@ -0,0 +1,4 @@ +The package cppslippi provides CMake targets: + + find_package(CppSlippi CONFIG REQUIRED) + target_link_libraries(main PRIVATE CppSlippi::CppSlippi) diff --git a/ports/cppslippi/vcpkg.json b/ports/cppslippi/vcpkg.json new file mode 100644 index 00000000000000..30f20234540bd0 --- /dev/null +++ b/ports/cppslippi/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "cppslippi", + "version": "1.4.3.16", + "description": "C++ Slippi replay file parser.", + "homepage": "https://sourceforge.net/projects/cppslippi/", + "license": "MIT", + "dependencies": [ + "nlohmann-json", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/cpptoml/portfile.cmake b/ports/cpptoml/portfile.cmake index 62ea5fdec4453f..0a3472ed39aa86 100644 --- a/ports/cpptoml/portfile.cmake +++ b/ports/cpptoml/portfile.cmake @@ -1,14 +1,27 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO skystrife/cpptoml - - REF fededad7169e538ca47e11a9ee9251bc361a9a65 - SHA512 2ec50f4585bca33bb343170470048a7d7e7902f1ffa5709cf84ddf9f53a899ff1cc9ffa49e059f6dad93d13823c4d2661bc8109e4356078cdbdfef1a2be6a622 - + REF "v${VERSION}" + SHA512 14edce576514d53a7e13562d7f8d2b66ea2b95f44038396c0e26232ec81783042ebecec31ee272a99afef96d5c8582a8e81ea5167a787844b98de6ee6f545cc5 HEAD_REF master ) -file(INSTALL ${SOURCE_PATH}/include DESTINATION ${CURRENT_PACKAGES_DIR} FILES_MATCHING PATTERN "*.h") +if(NOT VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_MINGW) + list(APPEND OPTIONS -DENABLE_LIBCXX=OFF) +endif() -# Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/cpptoml RENAME copyright) +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${OPTIONS} + -DCPPTOML_BUILD_EXAMPLES=OFF + -DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=ON +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${PORT}") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/cpptoml/vcpkg.json b/ports/cpptoml/vcpkg.json index 13afe69b4caa2c..af9a005189b532 100644 --- a/ports/cpptoml/vcpkg.json +++ b/ports/cpptoml/vcpkg.json @@ -1,6 +1,18 @@ { "name": "cpptoml", - "version-string": "v0.1.1", - "port-version": 1, - "description": "A header-only library for parsing TOML configuration files." + "version": "0.1.1", + "port-version": 4, + "description": "A header-only library for parsing TOML configuration files.", + "homepage": "https://github.com/skystrife/cpptoml", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/cpptrace/portfile.cmake b/ports/cpptrace/portfile.cmake new file mode 100644 index 00000000000000..bb5faa33c987e8 --- /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 476db9964d4b8b353015e998e6e74ff811957f05319d8066bafd3f0858c945e7bdfd922f286ca6152a3094c5ad93ccac0790d70e248223c129020eddd7eee72d + 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..74f0cff7fa9b07 --- /dev/null +++ b/ports/cpptrace/vcpkg.json @@ -0,0 +1,22 @@ +{ + "name": "cpptrace", + "version": "0.7.2", + "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/cppunit/portfile.cmake b/ports/cppunit/portfile.cmake index 01522579ffb3f9..8eefa5a0602ac7 100644 --- a/ports/cppunit/portfile.cmake +++ b/ports/cppunit/portfile.cmake @@ -1,14 +1,11 @@ -# UWP is not supported -vcpkg_fail_port_install(ON_TARGET "uwp") - vcpkg_download_distfile(ARCHIVE - URLS "http://dev-www.libreoffice.org/src/cppunit-1.15.1.tar.gz" + URLS "https://dev-www.libreoffice.org/src/cppunit-1.15.1.tar.gz" FILENAME "cppunit-1.15.1.tar.gz" SHA512 0feb47faec451357bb4c4e287efa17bb60fd3ad966d5350e9f25b414aaab79e94921024b0c0497672f8d3eeb22a599213d2d71d9e1d28b243b3e37f3a9a43691 ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH +vcpkg_extract_source_archive( + SOURCE_PATH ARCHIVE "${ARCHIVE}" ) @@ -62,4 +59,4 @@ file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/CppUnitConfig.cmake" DESTINATION "${CURR file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share" -) \ No newline at end of file +) diff --git a/ports/cppunit/vcpkg.json b/ports/cppunit/vcpkg.json index 221f330a05e254..354fd4065bee7d 100644 --- a/ports/cppunit/vcpkg.json +++ b/ports/cppunit/vcpkg.json @@ -1,7 +1,7 @@ { "name": "cppunit", "version": "1.15.1", - "port-version": 1, + "port-version": 4, "description": "Unit testing framework module for the C++ programming language", "homepage": "https://www.freedesktop.org/wiki/Software/cppunit", "supports": "!uwp", diff --git a/ports/cpputest/portfile.cmake b/ports/cpputest/portfile.cmake index 4745ea469588aa..2643742f83d401 100644 --- a/ports/cpputest/portfile.cmake +++ b/ports/cpputest/portfile.cmake @@ -10,51 +10,42 @@ vcpkg_from_github( fix-arm-build-error.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/CppUTest/cmake TARGET_PATH share/CppUTest) -if (EXISTS ${CURRENT_PACKAGES_DIR}/lib/CppUTest) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/CppUTest) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/CppUTest/cmake ) +if (EXISTS "${CURRENT_PACKAGES_DIR}/lib/CppUTest") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/CppUTest") endif() -if (EXISTS ${CURRENT_PACKAGES_DIR}/debug/lib/CppUTest) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/CppUTest) +if (EXISTS "${CURRENT_PACKAGES_DIR}/debug/lib/CppUTest") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/CppUTest") endif() if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/lib/manual-link) - file(GLOB CPPUTEST_LIBS ${CURRENT_PACKAGES_DIR}/lib/*${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}) - file(COPY ${CPPUTEST_LIBS} DESTINATION ${CURRENT_PACKAGES_DIR}/lib/manual-link) + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/lib/manual-link") + file(GLOB CPPUTEST_LIBS "${CURRENT_PACKAGES_DIR}/lib/*${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}") + file(COPY ${CPPUTEST_LIBS} DESTINATION "${CURRENT_PACKAGES_DIR}/lib/manual-link") file(REMOVE ${CPPUTEST_LIBS}) - file(READ ${CURRENT_PACKAGES_DIR}/share/CppUTest/CppUTestTargets-release.cmake RELEASE_CONFIG) - # Replace CppUTestExt first - string(REPLACE "\${_IMPORT_PREFIX}/lib/" - "\${_IMPORT_PREFIX}/lib/manual-link/" RELEASE_CONFIG "${RELEASE_CONFIG}") - file(WRITE ${CURRENT_PACKAGES_DIR}/share/CppUTest/CppUTestTargets-release.cmake "${RELEASE_CONFIG}") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/${PORT}/CppUTestTargets-release.cmake" "\${_IMPORT_PREFIX}/lib/" "\${_IMPORT_PREFIX}/lib/manual-link/") endif() if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link) - file(GLOB CPPUTEST_LIBS ${CURRENT_PACKAGES_DIR}/debug/lib/*${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}) - file(COPY ${CPPUTEST_LIBS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link) + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/lib/manual-link") + file(GLOB CPPUTEST_LIBS "${CURRENT_PACKAGES_DIR}/debug/lib/*${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}") + file(COPY ${CPPUTEST_LIBS} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib/manual-link") file(REMOVE ${CPPUTEST_LIBS}) - file(READ ${CURRENT_PACKAGES_DIR}/share/CppUTest/CppUTestTargets-debug.cmake DEBUG_CONFIG) - # Replace CppUTestExt first - string(REPLACE "\${_IMPORT_PREFIX}/debug/lib/" - "\${_IMPORT_PREFIX}/debug/lib/manual-link/" DEBUG_CONFIG "${DEBUG_CONFIG}") - file(WRITE ${CURRENT_PACKAGES_DIR}/share/CppUTest/CppUTestTargets-debug.cmake "${DEBUG_CONFIG}") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/${PORT}/CppUTestTargets-debug.cmake" "\${_IMPORT_PREFIX}/debug/lib/" "\${_IMPORT_PREFIX}/debug/lib/manual-link/") endif() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig ${CURRENT_PACKAGES_DIR}/lib/pkgconfig) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig") # Handle copyright -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/cpputest/vcpkg.json b/ports/cpputest/vcpkg.json index 3e5867d70766b3..ca41ae1f99bf5f 100644 --- a/ports/cpputest/vcpkg.json +++ b/ports/cpputest/vcpkg.json @@ -1,7 +1,18 @@ { "name": "cpputest", - "version-string": "2019-9-16", - "port-version": 2, + "version": "2019-9-16", + "port-version": 3, "description": "CppUTest unit testing and mocking framework for C/C++.", - "homepage": "https://github.com/cpputest/cpputest" + "homepage": "https://github.com/cpputest/cpputest", + "license": "BSD-3-Clause", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } 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 a875a5a5e84b84..634b1241f9510e 100644 --- a/ports/cppwinrt/portfile.cmake +++ b/ports/cppwinrt/portfile.cmake @@ -1,10 +1,72 @@ -find_path(CPPWINRT_BASE_H - NAMES winrt/base.h - PATHS $ENV{INCLUDE} + +vcpkg_download_distfile(ARCHIVE + URLS "https://www.nuget.org/api/v2/package/Microsoft.Windows.CppWinRT/${VERSION}" + FILENAME "cppwinrt.${VERSION}.zip" + SHA512 74460c233655e180dcceebdf16ad2d2f19d178c7c592c0677c623361558126930581556e39f6e12bd8ac4f57792be2d3f1b80188ef1a5de7cd7e8c72b7d598c1 +) + +vcpkg_extract_source_archive( + src + ARCHIVE "${ARCHIVE}" + NO_REMOVE_ONE_LEVEL ) -if(NOT CPPWINRT_BASE_H) - message(FATAL_ERROR "Unable to locate cppwinrt. Please install Windows SDK version 10.0.17134.0 or newer.") +if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + set(CPPWINRT_ARCH win32) +else() + set(CPPWINRT_ARCH ${VCPKG_TARGET_ARCHITECTURE}) endif() -SET(VCPKG_POLICY_EMPTY_PACKAGE enabled) \ No newline at end of file +set(CPPWINRT_TOOL "${src}/bin/cppwinrt.exe") + +#--- Find Windows SDK Version +if (NOT EXISTS "$ENV{WindowsSDKDir}/Lib/$ENV{WindowsSDKVersion}.") + message(FATAL_ERROR "ERROR: Cannot locate the Windows SDK. Please define %WindowsSDKDir% and %WindowsSDKVersion%. +(Expected file to exist: $ENV{WindowsSDKDir}/Lib/$ENV{WindowsSDKVersion})") +endif() +if (NOT EXISTS "$ENV{WindowsSDKDir}References/$ENV{WindowsSDKVersion}Windows.Foundation.FoundationContract") + message(FATAL_ERROR "ERROR: The Windows SDK is too old (needs 14393 or later, found $ENV{WindowsSDKVersion}).") +endif() + +file(TO_CMAKE_PATH "$ENV{WindowsSDKDir}References/$ENV{WindowsSDKVersion}" winsdk) + +file(GLOB winmds "${winsdk}/*/*/*.winmd") + +#--- Create response file +set(args "") +foreach(winmd IN LISTS winmds) + string(APPEND args "-input \"${winmd}\"\n") +endforeach() + +file(REMOVE_RECURSE "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}") +file(MAKE_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}") +file(WRITE "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/cppwinrt.rsp" "${args}") + +#--- Generate headers +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" + -output "${CURRENT_PACKAGES_DIR}/include" + -verbose + WORKING_DIRECTORY "${CURRENT_PACKAGES_DIR}" + LOGNAME "cppwinrt-generate-${TARGET_TRIPLET}" +) + +set(CPPWINRT_LIB "${src}/build/native/lib/${CPPWINRT_ARCH}/cppwinrt_fast_forwarder.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(INSTALL "${CPPWINRT_TOOL}" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/cppwinrt") + +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 new file mode 100644 index 00000000000000..fa7449e707b735 --- /dev/null +++ b/ports/cppwinrt/usage @@ -0,0 +1,6 @@ +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 7ff77b5d7502a7..7e0dd601a07273 100644 --- a/ports/cppwinrt/vcpkg.json +++ b/ports/cppwinrt/vcpkg.json @@ -1,7 +1,9 @@ { "name": "cppwinrt", - "version-string": "windows-sdk", + "version": "2.0.240405.15", "description": "C++/WinRT is a standard C++ language projection for the Windows Runtime.", - "homepage": "https://github.com/Microsoft/cppwinrt", + "homepage": "https://github.com/microsoft/cppwinrt", + "documentation": "https://docs.microsoft.com/windows/uwp/cpp-and-winrt-apis/", + "license": "MIT", "supports": "windows" } diff --git a/ports/cppxaml/portfile.cmake b/ports/cppxaml/portfile.cmake new file mode 100644 index 00000000000000..0a76e0e7ab70d3 --- /dev/null +++ b/ports/cppxaml/portfile.cmake @@ -0,0 +1,11 @@ +#header-only library +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO asklar/xaml-islands + REF 0.0.16 + SHA512 30fba1ef9264bf2eeaf0e48898c6b138adef9ee98d758ac91bcc7f2c90e50f00ec35925705347c3fc5c84b97652caeece7b3854be5b468a02e51fed23eda8007 + HEAD_REF main +) + +file(INSTALL "${SOURCE_PATH}/inc/cppxaml" DESTINATION "${CURRENT_PACKAGES_DIR}/include") +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/cppxaml/vcpkg.json b/ports/cppxaml/vcpkg.json new file mode 100644 index 00000000000000..8953b4a4cb5bc7 --- /dev/null +++ b/ports/cppxaml/vcpkg.json @@ -0,0 +1,9 @@ +{ + "name": "cppxaml", + "version": "0.0.16", + "port-version": 1, + "description": "CppXaml is a library to facilitate usage of the XAML UI framework in C++ Windows apps.", + "homepage": "https://asklar.github.io/xaml-islands", + "license": "MIT", + "supports": "windows & !xbox" +} diff --git a/ports/cppzmq/portfile.cmake b/ports/cppzmq/portfile.cmake index a4642d308035c4..f672510997217d 100644 --- a/ports/cppzmq/portfile.cmake +++ b/ports/cppzmq/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO zeromq/cppzmq - REF v4.8.1 - SHA512 02F9B77F67DD46557705511195EB3F4F4E52381256BC9687F36D3E69DB6A628C19CFFF02209B6E6B53822A60781AB0850EB064D8F020E059FC1ACA4D191B66DB + REF "v${VERSION}" + SHA512 4a4f3c2a270b9b21591b08a81f2ab6a72693af213c115f2c0aa5b737fd0363d09dba92437f48268ff982e6c27d6830f79244599bd9198e3402c6cca566cea27a HEAD_REF master ) @@ -20,8 +20,9 @@ vcpkg_cmake_configure( vcpkg_cmake_install() vcpkg_cmake_config_fixup(CONFIG_PATH share/cmake/cppzmq) +vcpkg_fixup_pkgconfig() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug" "${CURRENT_PACKAGES_DIR}/share/${PORT}/libzmq-pkg-config") # 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/cppzmq/vcpkg.json b/ports/cppzmq/vcpkg.json index 0fe1d26b36163a..0accde959ed376 100644 --- a/ports/cppzmq/vcpkg.json +++ b/ports/cppzmq/vcpkg.json @@ -1,8 +1,9 @@ { "name": "cppzmq", - "version": "4.8.1", - "description": "lightweight messaging kernel, C++ bindings", + "version": "4.10.0", + "description": "Header-only C++ binding for ZeroMQ", "homepage": "https://github.com/zeromq/cppzmq", + "license": "MIT", "dependencies": [ { "name": "vcpkg-cmake", @@ -16,7 +17,16 @@ ], "features": { "draft": { - "description": "Build and install draft" + "description": "Build and install draft", + "dependencies": [ + { + "name": "zeromq", + "default-features": false, + "features": [ + "draft" + ] + } + ] } } } diff --git a/ports/cpr/001-cpr-config.patch b/ports/cpr/001-cpr-config.patch deleted file mode 100644 index 0b972c9b046b2f..00000000000000 --- a/ports/cpr/001-cpr-config.patch +++ /dev/null @@ -1,32 +0,0 @@ -diff --git a/cpr/CMakeLists.txt b/cpr/CMakeLists.txt -index 8061a14..e8daf19 100644 ---- a/cpr/CMakeLists.txt -+++ b/cpr/CMakeLists.txt -@@ -21,6 +21,7 @@ add_library(cpr - - add_library(cpr::cpr ALIAS cpr) - -+target_include_directories(cpr PUBLIC $) - target_link_libraries(cpr PUBLIC CURL::libcurl) # todo should be private, but first dependencys in ssl_options need to be removed - - # Set version for shared libraries. -@@ -29,4 +30,18 @@ set_target_properties(cpr - VERSION ${${PROJECT_NAME}_VERSION} - SOVERSION ${${PROJECT_NAME}_VERSION_MAJOR}) - --install(TARGETS cpr) -+set(TARGETS_EXPORT_NAME "${PROJECT_NAME}Targets") -+install(TARGETS cpr -+ EXPORT ${TARGETS_EXPORT_NAME} -+ RUNTIME DESTINATION bin -+ LIBRARY DESTINATION lib -+ ARCHIVE DESTINATION lib) -+ -+install( -+ EXPORT ${TARGETS_EXPORT_NAME} -+ DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}" -+) -+ -+if (NOT DISABLE_INSTALL_HEADERS) -+ install(DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/../include/cpr DESTINATION include) -+endif() diff --git a/ports/cpr/cprConfig.cmake b/ports/cpr/cprConfig.cmake deleted file mode 100644 index 85e433c4b94700..00000000000000 --- a/ports/cpr/cprConfig.cmake +++ /dev/null @@ -1,31 +0,0 @@ -####### Expanded from @PACKAGE_INIT@ by configure_package_config_file() ####### -####### Any changes to this file will be overwritten by the next CMake run #### -####### The input file was Config.cmake.in ######## - -get_filename_component(PACKAGE_PREFIX_DIR "${CMAKE_CURRENT_LIST_DIR}/../../" ABSOLUTE) - -macro(set_and_check _var _file) - set(${_var} "${_file}") - if(NOT EXISTS "${_file}") - message(FATAL_ERROR "File or directory ${_file} referenced by variable ${_var} does not exist !") - endif() -endmacro() - -macro(check_required_components _NAME) - foreach(comp ${${_NAME}_FIND_COMPONENTS}) - if(NOT ${_NAME}_${comp}_FOUND) - if(${_NAME}_FIND_REQUIRED_${comp}) - set(${_NAME}_FOUND FALSE) - endif() - endif() - endforeach() -endmacro() - -#################################################################################### - -include("${CMAKE_CURRENT_LIST_DIR}/cprTargets.cmake") -check_required_components("cpr") - -include(CMakeFindDependencyMacro) -find_dependency(ZLIB REQUIRED) -find_dependency(CURL REQUIRED) diff --git a/ports/cpr/disable_werror.patch b/ports/cpr/disable_werror.patch new file mode 100644 index 00000000000000..73cc120439c29a --- /dev/null +++ b/ports/cpr/disable_werror.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 70d3296..293ce95 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -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") + if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") diff --git a/ports/cpr/fix-uwp.patch b/ports/cpr/fix-uwp.patch deleted file mode 100644 index e91eb62b5f8f45..00000000000000 --- a/ports/cpr/fix-uwp.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 8575b2f..87de55c 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -46,7 +46,7 @@ message(STATUS "=======================================================") - include(GNUInstallDirs) - include(FetchContent) - include(cmake/code_coverage.cmake) --include(cmake/sanitizer.cmake) -+#include(cmake/sanitizer.cmake) - include(cmake/gcc_analyze.cmake) - - # SSL diff --git a/ports/cpr/portfile.cmake b/ports/cpr/portfile.cmake index 49c6ef4dfcc75e..9c6349206a072a 100644 --- a/ports/cpr/portfile.cmake +++ b/ports/cpr/portfile.cmake @@ -1,37 +1,37 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -if(VCPKG_TARGET_IS_UWP) - set(UWP_PATCH fix-uwp.patch) -endif() - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libcpr/cpr - REF 1.6.2 - SHA512 77afd1dc81274aa1d37bf17abaf2614b63802f17fc08bdf8453d96d8fa2bd4b025511db9fadbde51160d7dde31a0363694422d3407ca9cdac3cd79b744a82888 + REF ${VERSION} + SHA512 c314fc576fb8be36bf43326a8a2d8b22d6b2fbb3b494695b84dd8077fc0401981e49890172fc2229d1c68292be2820cd4231d58bcb64326cbe4b73933c092d76 HEAD_REF master PATCHES - 001-cpr-config.patch - ${UWP_PATCH} + disable_werror.patch +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + ssl CPR_ENABLE_SSL ) vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} - OPTIONS + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS -DCPR_BUILD_TESTS=OFF - -DCPR_FORCE_USE_SYSTEM_CURL=ON - OPTIONS_DEBUG - -DDISABLE_INSTALL_HEADERS=ON + -DCPR_USE_SYSTEM_CURL=ON + ${FEATURE_OPTIONS} + # 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() - -file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/cprConfig.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/lib/cmake/cpr) vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/cpr) -vcpkg_copy_pdbs() - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +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/cpr/vcpkg.json b/ports/cpr/vcpkg.json index 27b1a87af4fc1e..3f8f0ef36f5fda 100644 --- a/ports/cpr/vcpkg.json +++ b/ports/cpr/vcpkg.json @@ -1,9 +1,9 @@ { "name": "cpr", - "version-semver": "1.6.2", - "port-version": 1, + "version-semver": "1.11.0", "description": "C++ Requests is a simple wrapper around libcurl inspired by the excellent Python Requests project.", "homepage": "https://github.com/libcpr/cpr", + "license": "MIT", "dependencies": [ { "name": "curl", @@ -17,5 +17,26 @@ "name": "vcpkg-cmake-config", "host": true } - ] + ], + "default-features": [ + "ssl" + ], + "features": { + "ssl": { + "description": "Enable SSL support", + "dependencies": [ + { + "name": "curl", + "default-features": false, + "features": [ + "ssl" + ] + }, + { + "name": "openssl", + "platform": "linux" + } + ] + } + } } diff --git a/ports/cpu-features/make_list_cpu_features_optional.patch b/ports/cpu-features/make_list_cpu_features_optional.patch deleted file mode 100644 index bceeb6f64af206..00000000000000 --- a/ports/cpu-features/make_list_cpu_features_optional.patch +++ /dev/null @@ -1,70 +0,0 @@ -From 68ece3bba0d79ab721a0c50ee1e6014a37f759dc Mon Sep 17 00:00:00 2001 -From: Wei Dai -Date: Mon, 24 May 2021 10:02:07 -0700 -Subject: [PATCH] Added an option to disable the executable target - list_cpu_feature. - ---- - CMakeLists.txt | 23 ++++++++++++++++++----- - 1 file changed, 18 insertions(+), 5 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index f9daeac..48eea0e 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -17,6 +17,8 @@ if(NOT CMAKE_BUILD_TYPE) - FORCE) - endif(NOT CMAKE_BUILD_TYPE) - -+# An option to disable the executable target list_cpu_features. -+option(BUILD_EXECUTABLE "Build list_cpu_features executable." ON) - # BUILD_TESTING is a standard CMake variable, but we declare it here to make it - # prominent in the GUI. - option(BUILD_TESTING "Enable test (depends on googletest)." OFF) -@@ -157,9 +159,11 @@ add_library(CpuFeature::cpu_features ALIAS cpu_features) - # program : list_cpu_features - # - --add_executable(list_cpu_features ${PROJECT_SOURCE_DIR}/src/utils/list_cpu_features.c) --target_link_libraries(list_cpu_features PRIVATE cpu_features) --add_executable(CpuFeature::list_cpu_features ALIAS list_cpu_features) -+if(BUILD_EXECUTABLE) -+ add_executable(list_cpu_features ${PROJECT_SOURCE_DIR}/src/utils/list_cpu_features.c) -+ target_link_libraries(list_cpu_features PRIVATE cpu_features) -+ add_executable(CpuFeature::list_cpu_features ALIAS list_cpu_features) -+endif() - - # - # ndk_compat -@@ -223,17 +227,26 @@ if(BUILD_TESTING) - endif() - - # --# Install cpu_features and list_cpu_features -+# Install cpu_features and optionally list_cpu_features - # - - include(GNUInstallDirs) --install(TARGETS cpu_features list_cpu_features -+install(TARGETS cpu_features - EXPORT CpuFeaturesTargets - PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/cpu_features - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - ) -+if(BUILD_EXECUTABLE) -+ install(TARGETS list_cpu_features -+ EXPORT CpuFeaturesTargets -+ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/cpu_features -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} -+ ) -+endif() - install(EXPORT CpuFeaturesTargets - NAMESPACE CpuFeatures:: - DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/CpuFeatures --- -2.25.1 - diff --git a/ports/cpu-features/portfile.cmake b/ports/cpu-features/portfile.cmake index 0e7602fdc4e397..af2bea7ce605ee 100644 --- a/ports/cpu-features/portfile.cmake +++ b/ports/cpu-features/portfile.cmake @@ -1,18 +1,13 @@ -vcpkg_fail_port_install(ON_ARCH "arm" ON_TARGET "uwp") - vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/cpu_features - REF a8397ba4591237c17d18e4acc091f5f3ebe7391e # 0.6.0 - SHA512 71a583e8190699d6df3dfa2857886089265cdfbcb916d9828a3611a1d6d23487464d6448b900b49637f015dd7d4e18bb206e0249af0932928f8ced13a081d42b + REF "v${VERSION}" + SHA512 4e732f46b3b9efe48f0b6d06cfa87b3b25ed00e51c42de84c74cbbd4d66bd0974ff1a757b91574c6a3064cba6e5c2460117dd23b79b4136e5d1cd7e78dda47b1 HEAD_REF master - PATCHES make_list_cpu_features_optional.patch ) -# If feature "tools" is not specified, disable building/exporting executable targets. -# This is necessary so that downstream find_package(CpuFeatures) does not fail. vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES tools BUILD_EXECUTABLE @@ -22,11 +17,17 @@ vcpkg_cmake_configure( SOURCE_PATH ${SOURCE_PATH} OPTIONS ${FEATURE_OPTIONS} + -DBUILD_TESTING=OFF ) vcpkg_cmake_install() -vcpkg_cmake_config_fixup(PACKAGE_NAME "CpuFeatures" CONFIG_PATH "lib/cmake/CpuFeatures") +if(VCPKG_TARGET_IS_ANDROID) + vcpkg_cmake_config_fixup(PACKAGE_NAME "CpuFeatures" CONFIG_PATH "lib/cmake/CpuFeatures" DO_NOT_DELETE_PARENT_CONFIG_PATH) + vcpkg_cmake_config_fixup(PACKAGE_NAME "CpuFeaturesNdkCompat" CONFIG_PATH "lib/cmake/CpuFeaturesNdkCompat") +else() + vcpkg_cmake_config_fixup(PACKAGE_NAME "CpuFeatures" CONFIG_PATH "lib/cmake/CpuFeatures") +endif() if("tools" IN_LIST FEATURES) vcpkg_copy_tools(TOOL_NAMES "list_cpu_features" AUTO_CLEAN) @@ -34,4 +35,9 @@ 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") +if(VCPKG_TARGET_IS_ANDROID) + file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage_android" 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/cpu-features/usage b/ports/cpu-features/usage new file mode 100644 index 00000000000000..c9c863a0c4539a --- /dev/null +++ b/ports/cpu-features/usage @@ -0,0 +1,4 @@ +cpu-features provides CMake targets: + + find_package(CpuFeatures CONFIG REQUIRED) + target_link_libraries(main PRIVATE CpuFeatures::cpu_features) diff --git a/ports/cpu-features/usage_android b/ports/cpu-features/usage_android new file mode 100644 index 00000000000000..8fa0d5194a609f --- /dev/null +++ b/ports/cpu-features/usage_android @@ -0,0 +1,7 @@ +cpu-features provides CMake targets: + + find_package(CpuFeatures CONFIG REQUIRED) + target_link_libraries(main PRIVATE CpuFeatures::cpu_features) + + find_package(CpuFeaturesNdkCompat CONFIG REQUIRED) + target_link_libraries(main PRIVATE CpuFeatures::ndk_compat) diff --git a/ports/cpu-features/vcpkg.json b/ports/cpu-features/vcpkg.json index 8980a30b5db2e5..5260b649bcd444 100644 --- a/ports/cpu-features/vcpkg.json +++ b/ports/cpu-features/vcpkg.json @@ -1,10 +1,10 @@ { "name": "cpu-features", - "version": "0.6.0", + "version": "0.9.0", "description": "A cross-platform C library to retrieve CPU features (such as available instructions) at runtime", "homepage": "https://github.com/google/cpu_features", "license": "Apache-2.0", - "supports": "!(arm | uwp)", + "supports": "!uwp", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/cpuid/fix-build.patch b/ports/cpuid/fix-build.patch new file mode 100644 index 00000000000000..02ce135cc6c3c1 --- /dev/null +++ b/ports/cpuid/fix-build.patch @@ -0,0 +1,11 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -38,7 +38,6 @@ endif(UNIX) + + # Include subdirectories + add_subdirectory(libcpuid) +-add_subdirectory(cpuid_tool) + if(LIBCPUID_TESTS) + add_subdirectory(tests) + endif() diff --git a/ports/cpuid/portfile.cmake b/ports/cpuid/portfile.cmake index 306ccd5ac4025f..d2d966fd495de2 100644 --- a/ports/cpuid/portfile.cmake +++ b/ports/cpuid/portfile.cmake @@ -1,12 +1,11 @@ -vcpkg_fail_port_install(ON_TARGET "UWP" ON_ARCH "arm" "arm64") -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO anrieff/libcpuid - REF 179fbcb713566c2084a1903729b6eebba68a4424 #0.5.1 - SHA512 76eef8147a9ed2f116ddfd07ab95f76126bee0e23d0e6b5be54d157a1456b769fb698a4799a43c5f81ac12368d76fe8904bff735a698342ad8ee41d43e72645b + REF "v${VERSION}" + SHA512 855dab45ec12b817fb18948442cebc22abaf915a7230e3d1a3f0e2fc7d0e3fe4a39e7c5744be1f4c7e3cb7b082012e6b0b0677a967beba5d404c6c48467eedce HEAD_REF master + PATCHES + fix-build.patch ) vcpkg_cmake_configure( @@ -18,11 +17,10 @@ vcpkg_cmake_configure( vcpkg_cmake_install() vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/cpuid) +vcpkg_fixup_pkgconfig() vcpkg_copy_pdbs() -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin" "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) - -vcpkg_fixup_pkgconfig() +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/cpuid/vcpkg.json b/ports/cpuid/vcpkg.json index a2ae5e99bfd2bc..b70b15acf39f27 100644 --- a/ports/cpuid/vcpkg.json +++ b/ports/cpuid/vcpkg.json @@ -1,10 +1,10 @@ { "name": "cpuid", - "version": "0.5.1", - "port-version": 2, + "version": "0.6.4", "description": "Provides CPU identification for the x86 (and x86_64)", "homepage": "https://github.com/anrieff/libcpuid", - "supports": "x86 | x64", + "license": "MIT", + "supports": "(x86 | x64) & !uwp", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/cpuinfo/fix-install.patch b/ports/cpuinfo/fix-install.patch deleted file mode 100644 index 86080f52290151..00000000000000 --- a/ports/cpuinfo/fix-install.patch +++ /dev/null @@ -1,81 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index e2d7d53..6d380e9 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -15,6 +15,28 @@ OPTION(CPUINFO_BUILD_UNIT_TESTS "Build cpuinfo unit tests" ON) - OPTION(CPUINFO_BUILD_MOCK_TESTS "Build cpuinfo mock tests" ON) - OPTION(CPUINFO_BUILD_BENCHMARKS "Build cpuinfo micro-benchmarks" ON) - -+# Configuration -+set(config_install_dir "lib/cmake/unofficial-${PROJECT_NAME}") -+set(generated_dir "${CMAKE_CURRENT_BINARY_DIR}/generated") -+set(project_config "${generated_dir}/unofficial-${PROJECT_NAME}Config.cmake") -+set(targets_export_name "unofficial-${PROJECT_NAME}Targets") -+set(namespace "unofficial::${PROJECT_NAME}::") -+ -+# Include module with fuction 'write_basic_package_version_file' -+include(CMakePackageConfigHelpers) -+configure_package_config_file( -+ "cmake/Config.cmake.in" -+ "${project_config}" -+ INSTALL_DESTINATION "${config_install_dir}" -+) -+install(FILES "${project_config}" -+ DESTINATION "${config_install_dir}" -+) -+install(EXPORT "${targets_export_name}" -+ NAMESPACE "${namespace}" -+ DESTINATION "${config_install_dir}" -+) -+ - # ---[ CMake options - INCLUDE(GNUInstallDirs) - -@@ -210,7 +232,7 @@ IF(CMAKE_SYSTEM_NAME MATCHES "^(Windows|CYGWIN|MSYS)$") - TARGET_COMPILE_DEFINITIONS(cpuinfo_internals PRIVATE _WIN32_WINNT=0x0601) - ENDIF() - SET_TARGET_PROPERTIES(cpuinfo PROPERTIES PUBLIC_HEADER include/cpuinfo.h) --TARGET_INCLUDE_DIRECTORIES(cpuinfo BEFORE PUBLIC include) -+TARGET_INCLUDE_DIRECTORIES(cpuinfo BEFORE PUBLIC $ $) - TARGET_INCLUDE_DIRECTORIES(cpuinfo BEFORE PRIVATE src) - TARGET_INCLUDE_DIRECTORIES(cpuinfo_internals BEFORE PUBLIC include src) - IF(CPUINFO_LOG_LEVEL STREQUAL "default") -@@ -261,6 +283,7 @@ TARGET_LINK_LIBRARIES(cpuinfo PRIVATE clog) - TARGET_LINK_LIBRARIES(cpuinfo_internals PRIVATE clog) - - INSTALL(TARGETS cpuinfo -+ EXPORT "${targets_export_name}" - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) -diff --git a/cmake/Config.cmake.in b/cmake/Config.cmake.in -new file mode 100644 -index 0000000..9b4c9ee ---- /dev/null -+++ b/cmake/Config.cmake.in -@@ -0,0 +1,4 @@ -+@PACKAGE_INIT@ -+ -+include("${CMAKE_CURRENT_LIST_DIR}/@targets_export_name@.cmake") -+check_required_components("@PROJECT_NAME@") -diff --git a/deps/clog/CMakeLists.txt b/deps/clog/CMakeLists.txt -index 083f519..43b5c78 100644 ---- a/deps/clog/CMakeLists.txt -+++ b/deps/clog/CMakeLists.txt -@@ -57,7 +57,7 @@ SET_TARGET_PROPERTIES(clog PROPERTIES - C_EXTENSIONS NO) - CLOG_TARGET_RUNTIME_LIBRARY(clog) - SET_TARGET_PROPERTIES(clog PROPERTIES PUBLIC_HEADER include/clog.h) --TARGET_INCLUDE_DIRECTORIES(clog BEFORE PUBLIC include) -+TARGET_INCLUDE_DIRECTORIES(clog PUBLIC $ $) - IF(CLOG_LOG_TO_STDIO) - TARGET_COMPILE_DEFINITIONS(clog PRIVATE CLOG_LOG_TO_STDIO=1) - ELSE() -@@ -68,6 +68,7 @@ IF(ANDROID AND NOT CLOG_LOG_TO_STDIO) - ENDIF() - - INSTALL(TARGETS clog -+ EXPORT ${targets_export_name} - LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" - ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" - PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") diff --git a/ports/cpuinfo/portfile.cmake b/ports/cpuinfo/portfile.cmake index c670c0459b0d54..dd52c6c5e5ae8e 100644 --- a/ports/cpuinfo/portfile.cmake +++ b/ports/cpuinfo/portfile.cmake @@ -1,14 +1,14 @@ # On Windows, we can get a cpuinfo.dll, but it exports no symbols. -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 pytorch/cpuinfo - REF 5916273f79a21551890fd3d56fc5375a78d1598d - SHA512 50e537b61d991e8579577fb1ecf8d9ceb2171dbad96dfe159a062eadfdc0b2372b94988fc6f223c20e327453c7f55042ee06779f5b5fe0922f4470f746c9686b + REF 5e63739504f0f8e18e941bd63b2d6d42536c7d90 + SHA512 6a61f4574661a55771c2ec31bb0919a51d0bd8c770477b254a5c14dc5323716af275c7fe3abc5aa96720d7cc929559ca66f614265d3940e076b8db2fa15c8e36 HEAD_REF master - PATCHES - fix-install.patch ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS @@ -16,32 +16,48 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS tools CPUINFO_BUILD_TOOLS ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS_DEBUG - -DCPUINFO_BUILD_TOOLS=OFF - -DCPUINFO_LOG_LEVEL=debug - OPTIONS_RELEASE - ${FEATURE_OPTIONS} - -DCPUINFO_LOG_LEVEL=default +set(LINK_OPTIONS "") +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + list(APPEND LINK_OPTIONS -DCPUINFO_LIBRARY_TYPE=shared) +else() + list(APPEND LINK_OPTIONS -DCPUINFO_LIBRARY_TYPE=static) +endif() + +if(VCPKG_CRT_LINKAGE STREQUAL "dynamic") + list(APPEND LINK_OPTIONS -DCPUINFO_RUNTIME_TYPE=shared) +else() + list(APPEND LINK_OPTIONS -DCPUINFO_RUNTIME_TYPE=static) +endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS + ${FEATURE_OPTIONS} + ${LINK_OPTIONS} -DCPUINFO_BUILD_UNIT_TESTS=OFF -DCPUINFO_BUILD_MOCK_TESTS=OFF -DCPUINFO_BUILD_BENCHMARKS=OFF + OPTIONS_DEBUG + -DCPUINFO_LOG_LEVEL=debug + OPTIONS_RELEASE + -DCPUINFO_LOG_LEVEL=default ) -vcpkg_install_cmake() +vcpkg_cmake_install() +vcpkg_cmake_config_fixup() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/unofficial-${PORT} TARGET_PATH share/unofficial-${PORT}) +vcpkg_fixup_pkgconfig() # pkg_check_modules(libcpuinfo) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") if("tools" IN_LIST FEATURES) + set(additional_tools "") + if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/cpuid-dump${VCPKG_TARGET_EXECUTABLE_SUFFIX}") + list(APPEND additional_tools "cpuid-dump") + endif() vcpkg_copy_tools( - TOOL_NAMES cache-info cpuid-dump cpu-info isa-info + TOOL_NAMES cache-info cpu-info isa-info ${additional_tools} AUTO_CLEAN ) endif() -# Handle copyright -configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/cpuinfo/vcpkg.json b/ports/cpuinfo/vcpkg.json index a67a77bae077b1..f546ba01191e6d 100644 --- a/ports/cpuinfo/vcpkg.json +++ b/ports/cpuinfo/vcpkg.json @@ -1,11 +1,25 @@ { "name": "cpuinfo", - "version-date": "2021-04-04", + "version-date": "2022-07-19", + "port-version": 3, "description": "CPU INFOrmation library (x86/x86-64/ARM/ARM64, Linux/Windows/Android/macOS/iOS)", "homepage": "https://github.com/pytorch/cpuinfo", + "license": "BSD-2-Clause", + "supports": "!(uwp & arm32)", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], "features": { "tools": { - "description": "Build cpuinfo command-line tools" + "description": "Build cpuinfo command-line tools", + "supports": "!uwp" } } } diff --git a/ports/cr/vcpkg.json b/ports/cr/vcpkg.json index a80ef70595a9d8..5385b51a87f290 100644 --- a/ports/cr/vcpkg.json +++ b/ports/cr/vcpkg.json @@ -1,7 +1,7 @@ { "name": "cr", - "version-string": "2020-04-26", - "port-version": 1, + "version-date": "2020-04-26", + "port-version": 2, "description": "cr.h: A Simple C Hot Reload Header-only Library", "homepage": "https://fungos.github.io/cr-simple-c-hot-reload/" } diff --git a/ports/crashpad/crashpadConfig.cmake.in b/ports/crashpad/crashpadConfig.cmake.in index 1c95bf1b77eef7..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) +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) -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 30026d5c151a0a..e868e9b1294834 100644 --- a/ports/crashpad/portfile.cmake +++ b/ports/crashpad/portfile.cmake @@ -1,35 +1,39 @@ -vcpkg_fail_port_install( - ON_ARCH "x86" "arm" "arm64" - ON_TARGET "UWP" "LINUX") - vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_git( OUT_SOURCE_PATH SOURCE_PATH URL https://chromium.googlesource.com/crashpad/crashpad - REF 9a31d3f8e9815774026a753a1ff6155347cd549f + REF 7e0af1d4d45b526f01677e74a56f4a951b70517d + PATCHES + fix-linux.patch + fix-lib-name-conflict.patch ) -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() +vcpkg_find_acquire_program(PYTHON3) +vcpkg_replace_string("${SOURCE_PATH}/.gn" "script_executable = \"python3\"" "script_executable = \"${PYTHON3}\"") # 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" - "c426ff98e1d9e9d59777fe8b883a5c0ceeca9ca3" -) +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(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) unset(_LIBRARY_DEB CACHE) @@ -62,28 +66,39 @@ 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) - # Load toolchains - if(NOT VCPKG_CHAINLOAD_TOOLCHAIN_FILE) - set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${SCRIPTS}/toolchains/windows.cmake") - endif() - include("${VCPKG_CHAINLOAD_TOOLCHAIN_FILE}") +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\"") - foreach(_VAR CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS - CMAKE_C_FLAGS_RELEASE CMAKE_CXX_FLAGS_RELEASE) - string(STRIP "${${_VAR}}" ${_VAR}) - endforeach() + # Load toolchains + vcpkg_cmake_get_vars(cmake_vars_file) + include("${cmake_vars_file}") set(OPTIONS_DBG "${OPTIONS_DBG} \ - extra_cflags_c=\"${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS_DEBUG}\" \ - extra_cflags_cc=\"${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_DEBUG}\"") + extra_cflags_c=\"${VCPKG_COMBINED_C_FLAGS_DEBUG}\" \ + extra_cflags_cc=\"${VCPKG_COMBINED_CXX_FLAGS_DEBUG}\" \ + extra_ldflags=\"${VCPKG_COMBINED_SHARED_LINKER_FLAGS_DEBUG}\" \ + extra_arflags=\"${VCPKG_COMBINED_STATIC_LINKER_FLAGS_DEBUG}\"") set(OPTIONS_REL "${OPTIONS_REL} \ - extra_cflags_c=\"${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS_RELEASE}\" \ - extra_cflags_cc=\"${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_RELEASE}\"") + extra_cflags_c=\"${VCPKG_COMBINED_C_FLAGS_RELEASE}\" \ + extra_cflags_cc=\"${VCPKG_COMBINED_CXX_FLAGS_RELEASE}\" \ + extra_ldflags=\"${VCPKG_COMBINED_SHARED_LINKER_FLAGS_RELEASE}\" \ + extra_arflags=\"${VCPKG_COMBINED_STATIC_LINKER_FLAGS_RELEASE}\"") set(DISABLE_WHOLE_PROGRAM_OPTIMIZATION "\ extra_cflags=\"/GL-\" \ @@ -94,15 +109,16 @@ if(CMAKE_HOST_WIN32) set(OPTIONS_REL "${OPTIONS_REL} ${DISABLE_WHOLE_PROGRAM_OPTIMIZATION}") endif() -vcpkg_configure_gn( +vcpkg_gn_configure( SOURCE_PATH "${SOURCE_PATH}" + OPTIONS "${OPTIONS}" OPTIONS_DEBUG "${OPTIONS_DBG}" OPTIONS_RELEASE "${OPTIONS_REL}" ) -vcpkg_install_gn( +vcpkg_gn_install( SOURCE_PATH "${SOURCE_PATH}" - TARGETS client util third_party/mini_chromium/mini_chromium/base handler:crashpad_handler + TARGETS client client:common util third_party/mini_chromium/mini_chromium/base handler:crashpad_handler ) message(STATUS "Installing headers...") @@ -115,15 +131,27 @@ 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(VCPKG_TARGET_IS_OSX) + file(COPY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/obj/util/libmig_output.a" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") + file(COPY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/obj/util/libmig_output.a" DESTINATION "${CURRENT_PACKAGES_DIR}/lib") +endif() + +vcpkg_copy_tools( + TOOL_NAMES crashpad_handler + SEARCH_DIR "${CURRENT_PACKAGES_DIR}/tools") + # remove empty directories -file(REMOVE_RECURSE - "${PACKAGES_INCLUDE_DIR}/util/net/testdata" +file(REMOVE_RECURSE + "${PACKAGES_INCLUDE_DIR}/util/net/testdata" "${PACKAGES_INCLUDE_DIR}/build/ios") configure_file("${CMAKE_CURRENT_LIST_DIR}/crashpadConfig.cmake.in" "${CURRENT_PACKAGES_DIR}/share/${PORT}/crashpadConfig.cmake" @ONLY) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/${PORT}/build/config") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/${PORT}/util/mach/__pycache__") + 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/crashpad/vcpkg.json b/ports/crashpad/vcpkg.json index a470314994806f..5c4aaa4633bde9 100644 --- a/ports/crashpad/vcpkg.json +++ b/ports/crashpad/vcpkg.json @@ -1,14 +1,32 @@ { "name": "crashpad", - "version-string": "2020-03-18", - "port-version": 1, + "version-date": "2024-04-11", + "port-version": 4, "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", - "supports": "x64 & (osx | windows)", + "license": "Apache-2.0", + "supports": "android | linux | osx | (windows & !uwp)", "dependencies": [ + { + "name": "curl", + "default-features": false, + "platform": "linux" + }, + { + "name": "vcpkg-cmake-get-vars", + "host": true + }, + { + "name": "vcpkg-gn", + "host": true + }, + { + "name": "vcpkg-tool-gn", + "host": true + }, "zlib" ] } diff --git a/ports/crashrpt/002-fix-wtl-includepath.patch b/ports/crashrpt/002-fix-wtl-includepath.patch new file mode 100644 index 00000000000000..8c2d37aac7feae --- /dev/null +++ b/ports/crashrpt/002-fix-wtl-includepath.patch @@ -0,0 +1,148 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ed9e3d3..d842aa7 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -122,7 +122,7 @@ if(NOT TINYXML_INCLUDE_DIR) + message(FATAL_ERROR "tinyxml include dir not found") + endif() + +-find_path(WTL_INCLUDE_DIR wtl/atlapp.h) ++find_path(WTL_INCLUDE_DIR atlapp.h) + if(NOT WTL_INCLUDE_DIR) + message(FATAL_ERROR "WTL include dir not found") + endif() +diff --git a/processing/crashrptprobe/CrashRptProbe.rc b/processing/crashrptprobe/CrashRptProbe.rc +index e12b8e9..a08f63e 100644 +--- a/processing/crashrptprobe/CrashRptProbe.rc ++++ b/processing/crashrptprobe/CrashRptProbe.rc +@@ -7,7 +7,7 @@ + // + // Generated from the TEXTINCLUDE 2 resource. + // +-#include "wtl/atlres.h" ++#include "atlres.h" + + ///////////////////////////////////////////////////////////////////////////// + #undef APSTUDIO_READONLY_SYMBOLS +@@ -32,7 +32,7 @@ END + + 2 TEXTINCLUDE + BEGIN +- "#include ""wtl/atlres.h""\r\n" ++ "#include ""atlres.h""\r\n" + "\0" + END + +diff --git a/processing/crashrptprobe/stdafx.h b/processing/crashrptprobe/stdafx.h +index 0b60659..2b027b2 100644 +--- a/processing/crashrptprobe/stdafx.h ++++ b/processing/crashrptprobe/stdafx.h +@@ -70,13 +70,13 @@ namespace ATL + }; + #endif // _WTL_SUPPORT_SDK_ATL3 + +-#include ++#include + extern CAppModule _Module; + #include + + // CString-related includes + #define _WTL_USE_CSTRING +-#include ++#include + + #if _MSC_VER<1400 + #define WCSNCPY_S(strDest, sizeInBytes, strSource, count) wcsncpy(strDest, strSource, count) +diff --git a/reporting/crashrpt/CrashRpt.rc b/reporting/crashrpt/CrashRpt.rc +index a8c821b..95e7502 100644 +--- a/reporting/crashrpt/CrashRpt.rc ++++ b/reporting/crashrpt/CrashRpt.rc +@@ -7,7 +7,7 @@ + // + // Generated from the TEXTINCLUDE 2 resource. + // +-#include "wtl/atlres.h" ++#include "atlres.h" + + ///////////////////////////////////////////////////////////////////////////// + #undef APSTUDIO_READONLY_SYMBOLS +@@ -32,7 +32,7 @@ END + + 2 TEXTINCLUDE + BEGIN +- "#include ""wtl/atlres.h""\r\n" ++ "#include ""atlres.h""\r\n" + "\0" + END + +diff --git a/reporting/crashrpt/StdAfx.h b/reporting/crashrpt/StdAfx.h +index 13bbe50..3ed0a55 100644 +--- a/reporting/crashrpt/StdAfx.h ++++ b/reporting/crashrpt/StdAfx.h +@@ -54,12 +54,12 @@ namespace ATL + }; + #endif // _WTL_SUPPORT_SDK_ATL3 + +-#include ++#include + extern CAppModule _Module; + #include + // CString-related includes + #define _WTL_USE_CSTRING +-#include ++#include + #include + #include + #include +diff --git a/reporting/crashsender/CrashSender.rc b/reporting/crashsender/CrashSender.rc +index e10e269..0502962 100644 +--- a/reporting/crashsender/CrashSender.rc ++++ b/reporting/crashsender/CrashSender.rc +@@ -7,7 +7,7 @@ + // + // Generated from the TEXTINCLUDE 2 resource. + // +-#include "wtl/atlres.h" ++#include "atlres.h" + + ///////////////////////////////////////////////////////////////////////////// + #undef APSTUDIO_READONLY_SYMBOLS +@@ -243,7 +243,7 @@ END + + 2 TEXTINCLUDE + BEGIN +- "#include ""wtl/atlres.h""\r\n" ++ "#include ""atlres.h""\r\n" + "\0" + END + +diff --git a/reporting/crashsender/stdafx.h b/reporting/crashsender/stdafx.h +index 4494d3a..9bbbe3a 100644 +--- a/reporting/crashsender/stdafx.h ++++ b/reporting/crashsender/stdafx.h +@@ -61,19 +61,19 @@ namespace ATL + }; + #endif // _WTL_SUPPORT_SDK_ATL3 + +-#include ++#include + + extern CAppModule _Module; + + #include + +-#include +-#include +-#include +-#include ++#include ++#include ++#include ++#include + + #define _WTL_USE_CSTRING +-#include ++#include + + #include + #include diff --git a/ports/crashrpt/003-add-definition-UNICODE.patch b/ports/crashrpt/003-add-definition-UNICODE.patch new file mode 100644 index 00000000000000..1a8b60ac69522c --- /dev/null +++ b/ports/crashrpt/003-add-definition-UNICODE.patch @@ -0,0 +1,39 @@ +diff --git a/processing/crashrptprobe/CMakeLists.txt b/processing/crashrptprobe/CMakeLists.txt +index c513c6d..8ac306a 100644 +--- a/processing/crashrptprobe/CMakeLists.txt ++++ b/processing/crashrptprobe/CMakeLists.txt +@@ -13,7 +13,7 @@ list(REMOVE_ITEM srcs_using_precomp ./CrashRptProbe.rc ./CrashRptProbe.def ./st + add_msvc_precompiled_header(stdafx.h ./stdafx.cpp srcs_using_precomp) + + # Define _UNICODE (use wide-char encoding) +-add_definitions(-D_UNICODE) ++add_definitions(-D_UNICODE -DUNICODE) + + fix_default_compiler_settings_() + +diff --git a/reporting/crashrpt/CMakeLists.txt b/reporting/crashrpt/CMakeLists.txt +index c7e4fd6..da9cef1 100644 +--- a/reporting/crashrpt/CMakeLists.txt ++++ b/reporting/crashrpt/CMakeLists.txt +@@ -12,7 +12,7 @@ list(REMOVE_ITEM srcs_using_precomp ./CrashRpt.rc ./StdAfx.cpp ./CrashRpt.def) + add_msvc_precompiled_header(stdafx.h ./StdAfx.cpp srcs_using_precomp) + + # Define _UNICODE (use wide-char encoding) +-add_definitions(-D_UNICODE -D_CRT_SECURE_NO_DEPRECATE) ++add_definitions(-D_UNICODE -DUNICODE -D_CRT_SECURE_NO_DEPRECATE) + + # Modify default compiler settings + fix_default_compiler_settings_() +diff --git a/reporting/crashsender/CMakeLists.txt b/reporting/crashsender/CMakeLists.txt +index aa4ab8a..f081254 100644 +--- a/reporting/crashsender/CMakeLists.txt ++++ b/reporting/crashsender/CMakeLists.txt +@@ -15,7 +15,7 @@ list(APPEND source_files + ${CMAKE_SOURCE_DIR}/reporting/CrashRpt/SharedMem.cpp) + + # Define _UNICODE (use wide-char encoding) +-add_definitions(-D_UNICODE ) ++add_definitions(-D_UNICODE -DUNICODE) + + fix_default_compiler_settings_() + diff --git a/ports/crashrpt/portfile.cmake b/ports/crashrpt/portfile.cmake index ffc83aa98b1976..12212d84cf2276 100644 --- a/ports/crashrpt/portfile.cmake +++ b/ports/crashrpt/portfile.cmake @@ -1,11 +1,9 @@ -vcpkg_fail_port_install(ON_TARGET "OSX" "Linux" "UWP") - if(VCPKG_TARGET_ARCHITECTURE STREQUAL x86) set(ARCH_DIR "") elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL x64) set(ARCH_DIR "x64/") else() - vcpkg_fail_port_install(MESSAGE "${PORT} only supports x86 and x64 architectures" ALWAYS) + message(FATAL_ERROR "${PORT} only supports x86 and x64 architectures") endif() vcpkg_from_git( @@ -14,13 +12,15 @@ vcpkg_from_git( REF 4616504670be5a425a525376648d912a72ce18f2 PATCHES 001-add-install-target-and-find-deps.patch + 002-fix-wtl-includepath.patch + 003-add-definition-UNICODE.patch ) # Remove vendored dependencies to ensure they are not picked up by the build # Vendored minizip is still used since it contains modifications needed for CrashRpt foreach(DEPENDENCY dbghelp jpeg libogg libpng libtheora tinyxml wtl zlib) - if(EXISTS ${SOURCE_PATH}/thirdparty/${DEPENDENCY}) - file(REMOVE_RECURSE ${SOURCE_PATH}/thirdparty/${DEPENDENCY}) + if(EXISTS "${SOURCE_PATH}/thirdparty/${DEPENDENCY}") + file(REMOVE_RECURSE "${SOURCE_PATH}/thirdparty/${DEPENDENCY}") endif() endforeach() @@ -34,21 +34,18 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS demos CRASHRPT_BUILD_DEMOS ) -# PREFER_NINJA is not used below since CrashSender fails to build with errors like this one: -# C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.23.28105\ATLMFC\include\atlconv.h(788): error C2440: 'return': cannot convert from 'LPCTSTR' to 'LPCOLESTR' -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - # PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DCRASHRPT_BUILD_SHARED_LIBS=${CRASHRPT_BUILD_SHARED_LIBS} -DCRASHRPT_LINK_CRT_AS_DLL=${CRASHRPT_LINK_CRT_AS_DLL} ${FEATURE_OPTIONS} ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT}) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL ${SOURCE_PATH}/License.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/License.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/crashrpt/vcpkg.json b/ports/crashrpt/vcpkg.json index 3ed55e7312b515..774ff5c30f06f4 100644 --- a/ports/crashrpt/vcpkg.json +++ b/ports/crashrpt/vcpkg.json @@ -1,9 +1,11 @@ { "name": "crashrpt", "version": "1.4.3", - "port-version": 1, + "port-version": 3, "description": "A crash reporting system for Windows applications", "homepage": "http://crashrpt.sourceforge.net/", + "license": "BSD-3-Clause", + "supports": "!osx & !linux & !uwp & (x86 | x64)", "dependencies": [ "dbghelp", "libjpeg-turbo", @@ -11,6 +13,10 @@ "libpng", "libtheora", "tinyxml", + { + "name": "vcpkg-cmake", + "host": true + }, "wtl", "zlib" ], diff --git a/ports/crc32c/fix_clang-cl.patch b/ports/crc32c/fix_clang-cl.patch new file mode 100644 index 00000000000000..d120243209c177 --- /dev/null +++ b/ports/crc32c/fix_clang-cl.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 84907285c..8c446b0c8 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -22,7 +22,7 @@ if(NOT CMAKE_CXX_STANDARD) + endif(NOT CMAKE_CXX_STANDARD) + + # https://github.com/izenecloud/cmake/blob/master/SetCompilerWarningAll.cmake +-if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") ++if(MSVC) + # Use the highest warning level for Visual Studio. + set(CMAKE_CXX_WARNING_LEVEL 4) + if(CMAKE_CXX_FLAGS MATCHES "/W[0-4]") diff --git a/ports/crc32c/portfile.cmake b/ports/crc32c/portfile.cmake index 63a61302858da7..0280002fd2a580 100644 --- a/ports/crc32c/portfile.cmake +++ b/ports/crc32c/portfile.cmake @@ -6,6 +6,8 @@ vcpkg_from_github( REF 1.1.2 SHA512 6325c52b5a6850b9f90086e0c0c86798c008af36e7cfd3a0216184a2d37b3bf7323481ddc6bfe4cbd5b31288b3ee6c69772d03085a13094cf95d00a9756a7196 HEAD_REF master + PATCHES + fix_clang-cl.patch ) vcpkg_cmake_configure( diff --git a/ports/crc32c/vcpkg.json b/ports/crc32c/vcpkg.json index ac03f93e31b5a2..3f8718aaa919b0 100644 --- a/ports/crc32c/vcpkg.json +++ b/ports/crc32c/vcpkg.json @@ -1,8 +1,10 @@ { "name": "crc32c", "version": "1.1.2", + "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/portfile.cmake b/ports/crfsuite/portfile.cmake index 19b2399bed3e21..dac715441e0a19 100644 --- a/ports/crfsuite/portfile.cmake +++ b/ports/crfsuite/portfile.cmake @@ -1,26 +1,22 @@ -vcpkg_fail_port_install(ON_TARGET uwp) - vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO chokkan/crfsuite - REF 5d1bd3b803bb26582ed5cc274d6b5af6cc7f9cae - SHA512 e7f329f96fb0dc0e347b3e7a3e26b23ceb45e6fae7b59ace05633a24d58a31665826ebc5280e5a864f50598772791e4b5b3e7da7f46994655cbe03806f823f73 + REF a2a1547727985e3aff6a35cffe073f57f0223e9d + SHA512 d80f72fe13288bc516772542438c09439c6abbd4c15b06650f1de1fee7f7f710c1eed924d4300141807b8f86af398ae5d217974c13a65044515ceb163de441a4 HEAD_REF master ) - list(REMOVE_ITEM SOURCE_FILE "${SOURCE_PATH}/win32/liblbfgs/lbfgs.lib") list(REMOVE_ITEM SOURCE_FILE "${SOURCE_PATH}/win32/liblbfgs/lbfgs_debug.lib") file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - PREFIX_NINJA ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/crfsuite/vcpkg.json b/ports/crfsuite/vcpkg.json index aa62f95bf1b0ba..bfb71241242e84 100644 --- a/ports/crfsuite/vcpkg.json +++ b/ports/crfsuite/vcpkg.json @@ -1,11 +1,16 @@ { "name": "crfsuite", - "version-date": "2019-07-21", + "version-date": "2020-08-27", "port-version": 1, "description": "CRFSuite is an implementation of Conditional Random Fields (CRFs) for labeling sequential data.", - "homepage": "http://www.chokkan.org/software/crfsuite/", + "homepage": "https://www.chokkan.org/software/crfsuite/", + "license": null, "supports": "!uwp", "dependencies": [ - "liblbfgs" + "liblbfgs", + { + "name": "vcpkg-cmake", + "host": true + } ] } diff --git a/ports/croncpp/0001-fix-cmake.patch b/ports/croncpp/0001-fix-cmake.patch deleted file mode 100644 index 735c9df34a7072..00000000000000 --- a/ports/croncpp/0001-fix-cmake.patch +++ /dev/null @@ -1,82 +0,0 @@ -From 30db118abd484c59efada27d9d6956b5f68bcee6 Mon Sep 17 00:00:00 2001 -From: Robert Kesterson -Date: Fri, 4 Sep 2020 16:31:55 +0000 -Subject: [PATCH] vcpkg - ---- - CMakeLists.txt | 47 +++++++++++++++++++++++++++++++++++++++++++-- - croncppConfig.cmake | 1 + - 2 files changed, 46 insertions(+), 2 deletions(-) - create mode 100644 croncppConfig.cmake - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 9114b39..8d46e6b 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1,5 +1,5 @@ - cmake_minimum_required(VERSION 3.7.0) --project(croncpp) -+project(croncpp VERSION 1.0.0) - - if(WIN32) - message(status "Setting MSVC flags") -@@ -24,4 +24,47 @@ if(BUILD_TESTS) - endif() - - add_subdirectory(benchmark) --add_subdirectory(test) -\ No newline at end of file -+add_subdirectory(test) -+ -+add_library( croncpp INTERFACE ) -+add_library( croncpp::croncpp ALIAS croncpp ) -+ -+include(GNUInstallDirs) -+target_include_directories( croncpp INTERFACE -+ $ -+ $ ) -+ -+if (CMAKE_VERSION VERSION_GREATER_EQUAL 3.15) -+ # public headers will get installed: -+ set_target_properties( croncpp PROPERTIES PUBLIC_HEADER include/croncpp.h ) -+endif () -+ -+ -+set( version_config "${CMAKE_CURRENT_BINARY_DIR}/croncppConfigVersion.cmake" ) -+ -+include( CMakePackageConfigHelpers ) -+write_basic_package_version_file( "${version_config}" -+ VERSION ${PROJECT_VERSION} -+ COMPATIBILITY SameMajorVersion ) -+ -+message(STATUS "CMAKE_INSTALL_INCLUDEDIR = ${CMAKE_INSTALL_INCLUDEDIR}") -+ -+install( TARGETS croncpp -+ EXPORT croncppConfig -+ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/croncpp ) -+export( TARGETS croncpp NAMESPACE croncpp:: FILE croncppTargets.cmake ) -+if (CMAKE_VERSION VERSION_LESS 3.15) -+ install( -+ FILES include/croncpp.h -+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/croncpp ) -+endif () -+ -+set( CONFIG_LOC "share/croncpp" ) -+ -+install( EXPORT croncppConfig -+ FILE croncppTargets.cmake -+ NAMESPACE croncpp:: -+ DESTINATION ${CONFIG_LOC} ) -+install ( -+ FILES croncppConfig.cmake "${version_config}" -+ DESTINATION ${CONFIG_LOC}) -diff --git a/croncppConfig.cmake b/croncppConfig.cmake -new file mode 100644 -index 0000000..3c4702c ---- /dev/null -+++ b/croncppConfig.cmake -@@ -0,0 +1 @@ -+include( "${CMAKE_CURRENT_LIST_DIR}/croncppTargets.cmake" ) --- -2.20.1 - diff --git a/ports/croncpp/portfile.cmake b/ports/croncpp/portfile.cmake index ebf35895bc3732..5c67633813d63f 100644 --- a/ports/croncpp/portfile.cmake +++ b/ports/croncpp/portfile.cmake @@ -1,23 +1,24 @@ +set(VCPKG_BUILD_TYPE release) # header-only port vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO mariusbancila/croncpp - REF 11cce4666a06c40346c7ba380ddd90c53806809d #master on 9/4/2020 - SHA512 8f4d892ce90d8eca3711b21728bb599bf64857b20c0b143c5277687d0b6e5d5b8bf3e6dc7f9e8d028ba4e5ee711a5a9e750bcc2f771177d2f659c0c19e12207a + REF e817348a2dcd77b968c0b87a43274932b9800f4b # 2023-03-30 + SHA512 aee687f4e8d7ce85aa9ba3a9e551443353abc20af9face62b618ce55ffa7a4632a4cd0c02c46e43c52b7f1797d62006183776a2d7fad48473bb964af79c2d531 HEAD_REF master - PATCHES 0001-fix-cmake.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DCRONCPP_BUILD_TESTS=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets() +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${PORT}") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") -# # Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/croncpp RENAME copyright) +# Handle copyright +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/croncpp/vcpkg.json b/ports/croncpp/vcpkg.json index d1b9e05dea43a6..ec003cab84b54e 100644 --- a/ports/croncpp/vcpkg.json +++ b/ports/croncpp/vcpkg.json @@ -1,7 +1,17 @@ { "name": "croncpp", - "version-string": "2020-09-04", - "port-version": 2, - "description": "croncpp is a C++17 header-only cross-platform library for handling CRON expressions.", - "homepage": "https://github.com/mariusbancila/croncpp" + "version-date": "2023-03-30", + "description": "croncpp is a C++11/14/17 header-only cross-platform library for handling CRON expressions.", + "homepage": "https://github.com/mariusbancila/croncpp", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/crossguid/missing-include-cstdint.patch b/ports/crossguid/missing-include-cstdint.patch new file mode 100644 index 00000000000000..a93011591c1b33 --- /dev/null +++ b/ports/crossguid/missing-include-cstdint.patch @@ -0,0 +1,12 @@ +diff --git a/include/crossguid/guid.hpp b/include/crossguid/guid.hpp +index 61e0f17..70966f2 100644 +--- a/include/crossguid/guid.hpp ++++ b/include/crossguid/guid.hpp +@@ -29,6 +29,7 @@ THE SOFTWARE. + #include + #endif + ++#include + #include + #include + #include diff --git a/ports/crossguid/portfile.cmake b/ports/crossguid/portfile.cmake index f390d92c1bcd84..00b670ea465167 100644 --- a/ports/crossguid/portfile.cmake +++ b/ports/crossguid/portfile.cmake @@ -6,6 +6,9 @@ vcpkg_from_github( REF ca1bf4b810e2d188d04cb6286f957008ee1b7681 #2021-10-22 SHA512 f0a80d8e99b10473bcfdfde3d1c5fd7b766959819f0d1c0595ac84ce46db9007a5fbfde9a55aca60530c46cb7f8ef4c7e472c6191559ded92f868589c141ccaf HEAD_REF master + PATCHES + warnings.patch + missing-include-cstdint.patch ) vcpkg_cmake_configure( @@ -18,6 +21,8 @@ vcpkg_cmake_install() vcpkg_cmake_config_fixup(CONFIG_PATH share/crossguid/cmake) +vcpkg_fixup_pkgconfig() + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") # Handle copyright diff --git a/ports/crossguid/vcpkg.json b/ports/crossguid/vcpkg.json index d8fe3c1076dbdc..ebdac5380942f1 100644 --- a/ports/crossguid/vcpkg.json +++ b/ports/crossguid/vcpkg.json @@ -1,11 +1,12 @@ { "name": "crossguid", "version-date": "2021-10-22", + "port-version": 3, "description": "CrossGuid is a minimal, cross platform, C++ GUID library.", "dependencies": [ { "name": "libuuid", - "platform": "!windows & !uwp & !osx & !android" + "platform": "!windows & !osx & !android" }, { "name": "vcpkg-cmake", diff --git a/ports/crossguid/warnings.patch b/ports/crossguid/warnings.patch new file mode 100644 index 00000000000000..d0ffc790aaf6cb --- /dev/null +++ b/ports/crossguid/warnings.patch @@ -0,0 +1,20 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 76b5a62..174d981 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -40,15 +40,6 @@ else() + target_compile_definitions(crossguid PRIVATE GUID_LIBUUID) + endif() + +-if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") +- set(WARNINGS "-Werror" "-Wall") +-elseif(CMAKE_CXX_COMPILER_ID MATCHES "Clang") +- set(WARNINGS "-Werror" "-Wall") +-elseif(MSVC) +- set(WARNINGS "/WX" "/W4") +-endif() +-target_compile_options(crossguid PRIVATE ${WARNINGS}) +- + set_target_properties(crossguid + PROPERTIES + VERSION ${PROJECT_VERSION} diff --git a/ports/crow/portfile.cmake b/ports/crow/portfile.cmake index c1b710fffeea44..a4ed0c9a415302 100644 --- a/ports/crow/portfile.cmake +++ b/ports/crow/portfile.cmake @@ -1,11 +1,21 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO CrowCpp/crow - REF a166a6d3cb08b10e9b00b57fd2216b9c4329d4e6 #0.3+3 - SHA512 5a32f66c96376c9c17f82492a7bc6f77417aa9dd808c082a2aeae983d05e895c27c2a01c46f8b5fdf9d30267ad14e8ba64a629ba354dce6ce0f7a2ff5d0a7fb2 - FILE_DISAMBIGUATOR 1 + REF "v${VERSION}" + SHA512 0fdba3c3697f53ff231cc1637b613f382b5c0230b700745548c1a0ef03c3b25f92ec15f8d1f9bca1a74cffe07053d7a829732475a8a392ee8c682ccfba91539e HEAD_REF master ) -file(INSTALL "${SOURCE_PATH}/include/" DESTINATION "${CURRENT_PACKAGES_DIR}/include") +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DCROW_BUILD_EXAMPLES=OFF + -DCROW_BUILD_TESTS=OFF +) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/Crow) + +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/crow/vcpkg.json b/ports/crow/vcpkg.json index dc57251d7c302f..1cedcc7c7ce564 100644 --- a/ports/crow/vcpkg.json +++ b/ports/crow/vcpkg.json @@ -1,6 +1,18 @@ { "name": "crow", - "version": "0.3.3", + "version": "1.2.0", "description": "Very fast and easy to use C++ micro web framework", - "homepage": "https://github.com/CrowCpp/crow" + "homepage": "https://github.com/CrowCpp/crow", + "license": "BSD-3-Clause", + "dependencies": [ + "asio", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/cryptopp/cmake.patch b/ports/cryptopp/cmake.patch deleted file mode 100644 index 8502ff17c0183e..00000000000000 --- a/ports/cryptopp/cmake.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 1683961..f63c71e 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -395,6 +395,10 @@ if (MSVC) - list(APPEND CRYPTOPP_COMPILE_OPTIONS /FI winapifamily.h) - endif () - -+if(WINDOWS_STORE) -+ add_definitions(-DCRYPTOPP_DISABLE_NACL=1) -+endif() -+ - # Enable PIC for all target machines except 32-bit i386 due to register pressures. - if (NOT CRYPTOPP_I386) - SET(CMAKE_POSITION_INDEPENDENT_CODE 1) 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/patch.patch b/ports/cryptopp/patch.patch index c202564e9eab14..5e168d2fe2efc8 100644 --- a/ports/cryptopp/patch.patch +++ b/ports/cryptopp/patch.patch @@ -1,8 +1,30 @@ -diff --git a/config_os.h b/config_os.h -index da27de22..9703f77d 100644 ---- a/config_os.h -+++ b/config_os.h -@@ -126,6 +126,7 @@ +diff --git a/config_cxx.h b/config_cxx.h +index ffd57ad..353d7ce 100644 +--- a/config_cxx.h ++++ b/config_cxx.h +@@ -217,7 +217,7 @@ + // Also see https://github.com/weidai11/cryptopp/issues/980. I'm not sure what + // to do when the compiler defines __cpp_lib_uncaught_exceptions but the platform + // does not support std::uncaught_exceptions. What was Apple thinking??? +-#if defined(__clang__) ++#if defined(__clang__) && !defined(CRYPTOPP_MSC_VERSION) + # if __EXCEPTIONS && __has_feature(cxx_exceptions) + # if __cpp_lib_uncaught_exceptions >= 201411L + # define CRYPTOPP_CXX17_UNCAUGHT_EXCEPTIONS 1 +diff --git a/config_os.h b/config_os.h +index 0994563..4546585 100644 +--- a/config_os.h ++++ b/config_os.h +@@ -29,7 +29,7 @@ + // https://www.cryptopp.com/wiki/Release_Process#Self_Tests + // The problems with Clang pretending to be other compilers is + // discussed at http://github.com/weidai11/cryptopp/issues/147. +-#if (defined(_MSC_VER) && defined(__clang__)) ++#if (defined(_MSC_VER) && _MSC_VER < 1930 && defined(__clang__)) + # error: "Unsupported configuration" + #endif + +@@ -126,6 +126,7 @@ #endif #ifdef CRYPTOPP_WIN32_AVAILABLE diff --git a/ports/cryptopp/portfile.cmake b/ports/cryptopp/portfile.cmake index 03612d3057aeb7..70df01300f6b83 100644 --- a/ports/cryptopp/portfile.cmake +++ b/ports/cryptopp/portfile.cmake @@ -1,26 +1,30 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +string(REPLACE "." "_" CRYPTOPP_VERSION "${VERSION}") vcpkg_from_github( OUT_SOURCE_PATH CMAKE_SOURCE_PATH - REPO noloader/cryptopp-cmake - REF CRYPTOPP_8_5_0 - SHA512 758633786c81f5a34ade0ab99983b3262bb3a028b086e734b1f8ddb618c801453d517f67176178936f87ec36a91fca93fba9bcaec4301705138954e6eb49d136 + REPO abdes/cryptopp-cmake + REF "CRYPTOPP_${CRYPTOPP_VERSION}" + SHA512 3ec33b107ab627a514e1ebbc4b6522ee8552525f36730d9b5feb85e61ba7fc24fd36eb6050e328c6789ff60d47796beaa8eebf7dead787a34395294fae9bb733 HEAD_REF master - PATCHES - cmake.patch ) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO weidai11/cryptopp - REF CRYPTOPP_8_5_0 - SHA512 e8dd210c9e9d4925edc456e4d68780deaa224d85e11394ad5da835dcb1a1e6b3e899aa473acf20449f9721116960884b6d88b29335479b305bb7e29faa87e6c0 + REF "CRYPTOPP_${CRYPTOPP_VERSION}" + SHA512 28a67141155c9c15e3e6a2173b3a8487cc38a2a2ade73bf4a09814ca541be6b06e9a501be26f7e2f42a2f80df21b076aa5d8ad4224dc0a1f8d7f3b24deae465e HEAD_REF master - PATCHES patch.patch + PATCHES + patch.patch + cryptopp.patch ) -file(COPY ${CMAKE_SOURCE_PATH}/cryptopp-config.cmake DESTINATION ${SOURCE_PATH}) -file(COPY ${CMAKE_SOURCE_PATH}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_SOURCE_PATH}/cryptopp" DESTINATION "${SOURCE_PATH}") +file(COPY "${CMAKE_SOURCE_PATH}/cmake" DESTINATION "${SOURCE_PATH}") +file(COPY "${CMAKE_SOURCE_PATH}/test" DESTINATION "${SOURCE_PATH}") +file(COPY "${CMAKE_SOURCE_PATH}/cryptopp/cryptoppConfig.cmake" DESTINATION "${SOURCE_PATH}") +file(COPY "${CMAKE_SOURCE_PATH}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") if("pem-pack" IN_LIST FEATURES) vcpkg_from_github( @@ -35,13 +39,13 @@ if("pem-pack" IN_LIST FEATURES) ${PEM_PACK_SOURCE_PATH}/*.h ${PEM_PACK_SOURCE_PATH}/*.cpp ) - file(COPY ${PEM_PACK_FILES} DESTINATION ${SOURCE_PATH}) + file(INSTALL ${PEM_PACK_FILES} DESTINATION "${CURRENT_PACKAGES_DIR}/include/${PORT}") endif() # disable assembly on ARM Windows to fix broken build if (VCPKG_TARGET_IS_WINDOWS AND VCPKG_TARGET_ARCHITECTURE MATCHES "^arm") set(CRYPTOPP_DISABLE_ASM "ON") -else() +elseif(NOT DEFINED CRYPTOPP_DISABLE_ASM) # Allow disabling using a triplet file set(CRYPTOPP_DISABLE_ASM "OFF") endif() @@ -51,23 +55,41 @@ endif() # https://www.cryptopp.com/wiki/Visual_Studio#Dynamic_Runtime_Linking # https://www.cryptopp.com/wiki/Visual_Studio#The_DLL -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DBUILD_SHARED=OFF + -DCRYPTOPP_SOURCES=${SOURCE_PATH} + -DCRYPTOPP_BUILD_SHARED=OFF -DBUILD_STATIC=ON - -DBUILD_TESTING=OFF - -DBUILD_DOCUMENTATION=OFF + -DCRYPTOPP_BUILD_TESTING=OFF + -DCRYPTOPP_BUILD_DOCUMENTATION=OFF -DDISABLE_ASM=${CRYPTOPP_DISABLE_ASM} + -DUSE_INTERMEDIATE_OBJECTS_TARGET=OFF # Not required when we build static only + -DCMAKE_POLICY_DEFAULT_CMP0063=NEW # Honor "_VISIBILITY_PRESET" properties + MAYBE_UNUSED_VARIABLES + BUILD_STATIC + USE_INTERMEDIATE_OBJECTS_TARGET + CMAKE_POLICY_DEFAULT_CMP0063 ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/cryptopp) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH share/cmake/cryptopp) + +if(NOT VCPKG_BUILD_TYPE) + file(RENAME "${CURRENT_PACKAGES_DIR}/debug/share/pkgconfig" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig") +endif() +file(RENAME "${CURRENT_PACKAGES_DIR}/share/pkgconfig" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig") +vcpkg_fixup_pkgconfig() # There is no way to suppress installation of the headers and resource files in debug build. -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +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" "${CURRENT_PACKAGES_DIR}/debug/bin") +endif() # Handle copyright -file(COPY ${SOURCE_PATH}/License.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/cryptopp) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/cryptopp/License.txt ${CURRENT_PACKAGES_DIR}/share/cryptopp/copyright) +file(COPY "${SOURCE_PATH}/License.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +file(RENAME "${CURRENT_PACKAGES_DIR}/share/${PORT}/License.txt" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright") diff --git a/ports/cryptopp/vcpkg.json b/ports/cryptopp/vcpkg.json index e75fa21625bf38..7dc2c2de6b1757 100644 --- a/ports/cryptopp/vcpkg.json +++ b/ports/cryptopp/vcpkg.json @@ -1,9 +1,20 @@ { "name": "cryptopp", - "version-string": "8.5.0", + "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", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], "features": { "pem-pack": { "description": "Crypto++ with PEM pack" diff --git a/ports/cserialport/portfile.cmake b/ports/cserialport/portfile.cmake new file mode 100644 index 00000000000000..2e49f3c76ac87e --- /dev/null +++ b/ports/cserialport/portfile.cmake @@ -0,0 +1,28 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO itas109/CSerialPort + REF "v${VERSION}" + SHA512 a642087f3683ec1c97009f1cbc0b1d277101cf08b3bf43207b9474f657e11d711160b011c5aeed6f99ca1307d90ec44f7c664533f7eaa112805cf994a0ce365e + HEAD_REF master +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DCSERIALPORT_BUILD_EXAMPLES=OFF + -DCSERIALPORT_BUILD_TEST=OFF +) + +vcpkg_cmake_install() +vcpkg_copy_pdbs() + +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/CSerialPort) +vcpkg_fixup_pkgconfig() + +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") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/cserialport/vcpkg.json b/ports/cserialport/vcpkg.json new file mode 100644 index 00000000000000..2dd530641223ee --- /dev/null +++ b/ports/cserialport/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "cserialport", + "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", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/cspice/CMakeLists.txt b/ports/cspice/CMakeLists.txt index 899a94033bb727..042a7af81e7be0 100644 --- a/ports/cspice/CMakeLists.txt +++ b/ports/cspice/CMakeLists.txt @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 3.1) project(cspice LANGUAGES C) -set(SOVERSION 66) +set(SOVERSION 67) # Include all *.c files from the library file(GLOB CSPICE_SOURCE ${PROJECT_SOURCE_DIR}/cspice/src/cspice/*.c) @@ -29,7 +29,7 @@ endif () if (NOT _SKIP_HEADERS) file(GLOB SPICE_HEADERS ${INCLUDE_PATH}/*.h) - install(FILES ${SPICE_HEADERS} DESTINATION include) + install(FILES ${SPICE_HEADERS} DESTINATION include/cspice) endif() set_target_properties( diff --git a/ports/cspice/portfile.cmake b/ports/cspice/portfile.cmake index 667785cac5a019..a0bd3bb7e5e205 100644 --- a/ports/cspice/portfile.cmake +++ b/ports/cspice/portfile.cmake @@ -1,52 +1,42 @@ -if (VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") - if (VCPKG_TARGET_IS_WINDOWS) - vcpkg_download_distfile(ARCHIVE - URLS "https://naif.jpl.nasa.gov/pub/naif/toolkit/C/PC_Windows_VisualC_32bit/packages/cspice.zip" - FILENAME "cspice_32bit.zip" - SHA512 4f6129b26543729f4eb4f8240b43ca87530db9c6d9a5c0e3f43faf30561eaad95dcf507e3fecfd1c3d4388ccaa4e22a76df7bf7945b6ce9a68eb3b4893885992 - ) - elseif (VCPKG_TARGET_IS_OSX) - vcpkg_download_distfile(ARCHIVE - URLS "https://naif.jpl.nasa.gov/pub/naif/toolkit//C/MacIntel_OSX_AppleC_32bit/packages/cspice.tar.Z" - FILENAME "cspice_32bit.tar.Z" - SHA512 bd5cc20206e48b3712c5077a2beb05c98cd58a25ce374ed363699a04998eb8ba93e42b5f7c2104c5296db95b3bccdc7cc9b6a2ba45875454d0c3914834aa4c42 - ) - else () - vcpkg_download_distfile(ARCHIVE - URLS "https://naif.jpl.nasa.gov/pub/naif/toolkit/C/PC_Linux_GCC_32bit/packages/cspice.tar.Z" - FILENAME "cspice_32bit.tar.Z" - SHA512 b387bc2cfca4deccc451d198af49564ea0b19cf665ba143d39196ed532639cbc11aad7e1d63f71f1bb88d72c0e6ac30757b6e1babca9e0ee3b92f9c205c1b908 - ) +if (VCPKG_TARGET_IS_WINDOWS) + if (VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + set(SUBPATH "PC_Windows_VisualC_32bit/packages/cspice.zip") + set(SHA512 1949fd12b30ca0e42f53311a97d8571e68737f6a667a56946d3415ee715dda0a1adca9bfc985b9b9447084189c50d261f2c00960cbe2ddf6a1d1d92cf8fa17ab) + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + set(SUBPATH "PC_Windows_VisualC_64bit/packages/cspice.zip") + set(SHA512 5457f24279fb485b0ac92713dab026d1c1ed766a358fcf7d9ce3f70693e75da85a656e72b1ada4dc334e9e68d6c0eb42b2a31f3ad0c83b491dd3afc79e5cda98) + endif() +elseif(VCPKG_TARGET_IS_OSX) + if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + set(SUBPATH "MacIntel_OSX_AppleC_64bit/packages/cspice.tar.Z") + set(SHA512 ea9a32c763cd54303de180b4895a195cd5ef6774051f18a1812f2fff39adc0ca9d5dd7878853af40e766882e79a0f542a45139656fb79fb4b436c4bc5bdecddc) + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") + set(SUBPATH "MacM1_OSX_clang_64bit/packages/cspice.tar.Z") + set(SHA512 a64f028ec1935dbc7f8d03c903fbfa40cfff097ec4aa0ca4aa1d2ee08561833000e7caf99d6550b06d2a0874cbaf1767382e7a9aea6a39228f3eaa89c6c31a6d) endif() else() - if (VCPKG_TARGET_IS_WINDOWS) - vcpkg_download_distfile(ARCHIVE - URLS "https://naif.jpl.nasa.gov/pub/naif/toolkit/C/PC_Windows_VisualC_64bit/packages/cspice.zip" - FILENAME "cspice_64bit.zip" - SHA512 7b5353c638fdba67ed2e9fd21c4f78ac56c0afba408caa70f910f23bb025f6dc822fbaa7d6d7fa277d1038f835e6a962563f4b11a6adf63150d48354959e3c62 - ) - elseif (VCPKG_TARGET_IS_OSX) - vcpkg_download_distfile(ARCHIVE - URLS "https://naif.jpl.nasa.gov/pub/naif/toolkit//C/MacIntel_OSX_AppleC_64bit/packages/cspice.tar.Z" - FILENAME "cspice_64bit.tar.Z" - SHA512 0d4ef95dfa65d127c1d6f9cf1f637d41ca6680660ee3003f357652f12ed9d04a21888ef796f347ba90354a445b5aea9ffca7dedc6c1617f253b0002683d54a0f - ) - else () - vcpkg_download_distfile(ARCHIVE - URLS "https://naif.jpl.nasa.gov/pub/naif/toolkit/C/PC_Linux_GCC_64bit/packages/cspice.tar.Z" - FILENAME "cspice_64bit.tar.Z" - SHA512 7d090e9196596436740b53180a7c6ca885c12e301771a83fc62d625a63691129c69012cb0385a6c8f246cc5edf1c1af57ffac8a9d766061e1bde8584c57c6ca4 - ) + if ((VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") OR (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm")) + set(SUBPATH "PC_Linux_GCC_32bit/packages/cspice.tar.Z") + set(SHA512 22a6250376e9f98d75ecc8682c5432a07a89addc9812010ad97059491e2c19cab418d7aa3f591bded9df132fcfb6865686f0ecfe70821ad31061ae2f7b165f2b) + elseif((VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") OR (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")) + set(SUBPATH "PC_Linux_GCC_64bit/packages/cspice.tar.Z") + set(SHA512 59946f628284cd31c75a23c152d725ae7e01b179f97c52b98518eceeda54bc38875b1dd93dc17574c0bf00e706e0ee35d06ecb5d7871d49633baa8f16eb6c7c8) endif() endif() +set(VERSION 67) +set(URL "https://naif.jpl.nasa.gov/pub/naif/misc/toolkit_N00${VERSION}/C/${SUBPATH}") +get_filename_component(ext "${SUBPATH}" EXT) +string(SUBSTRING "${SHA512}" 0 6 subsha) +vcpkg_download_distfile(ARCHIVE URLS "${URL}" FILENAME "cspice-${subsha}${ext}" SHA512 "${SHA512}") + set(PATCHES isatty.patch) if (NOT VCPKG_TARGET_IS_WINDOWS) set(PATCHES ${PATCHES} mktemp.patch) endif() -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH +vcpkg_extract_source_archive( + SOURCE_PATH ARCHIVE ${ARCHIVE} NO_REMOVE_ONE_LEVEL PATCHES ${PATCHES} @@ -63,14 +53,13 @@ if (VCPKG_TARGET_IS_UWP) set(VCPKG_CXX_FLAGS "/sdl- ${VCPKG_CXX_FLAGS}") endif() -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA OPTIONS -D_STATIC_BUILD=${_STATIC_BUILD} OPTIONS_DEBUG -D_SKIP_HEADERS=ON ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() diff --git a/ports/cspice/vcpkg.json b/ports/cspice/vcpkg.json index abbf6dfaf58792..726655884c9d81 100644 --- a/ports/cspice/vcpkg.json +++ b/ports/cspice/vcpkg.json @@ -1,7 +1,19 @@ { "name": "cspice", - "version-string": "66", - "port-version": 5, + "version": "67", + "port-version": 3, "description": "NASA C SPICE toolkit", - "homepage": "https://naif.jpl.nasa.gov/naif/toolkit_C.html" + "homepage": "https://naif.jpl.nasa.gov/naif/toolkit_C.html", + "license": null, + "supports": "!((arm | arm64) & windows)", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/ctbench/portfile.cmake b/ports/ctbench/portfile.cmake new file mode 100644 index 00000000000000..038b8ad34a7bd4 --- /dev/null +++ b/ports/ctbench/portfile.cmake @@ -0,0 +1,33 @@ +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 862bfa72c4e98983fe8ac954de02b8f931c672ad3072ca84a0b9d527baa7572cafe235400d28e1f92b86154c9007d40cc2f034510ceda638e25c63625cb9cbf9 + HEAD_REF main + PATCHES + "${BOOST_1_86_FIX}" +) + +vcpkg_cmake_configure( + SOURCE_PATH ${SOURCE_PATH} + OPTIONS + -DCTBENCH_ENABLE_TESTS=OFF + -DCTBENCH_ENABLE_DOCS=OFF +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/ctbench + TOOLS_PATH bin/) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") diff --git a/ports/ctbench/vcpkg.json b/ports/ctbench/vcpkg.json new file mode 100644 index 00000000000000..db24fdd0b1d732 --- /dev/null +++ b/ports/ctbench/vcpkg.json @@ -0,0 +1,29 @@ +{ + "name": "ctbench", + "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/", + "license": "MIT", + "supports": "!windows", + "dependencies": [ + "boost-container", + "boost-process", + "fmt", + { + "name": "llvm", + "default-features": false + }, + "nlohmann-json", + "sciplot", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} 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 9bafbc9bac6658..650ad8ecd8a703 100644 --- a/ports/ctbignum/portfile.cmake +++ b/ports/ctbignum/portfile.cmake @@ -4,25 +4,25 @@ vcpkg_from_github( REF cf3233d8b7dcff59f29a7389204959ee2228a4af SHA512 8cd5e187836f48165a088a171c87ce438393e66f7362af1b67a253ae6ef0b17c41468e21e0dfe337094796f2b2a2fa5062cc9a9231afc377f187baf1ead1257e HEAD_REF master + PATCHES + no-boost.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DCTBIGNUM_BuildTests=OFF -DCTBIGNUM_BuildBenchmarks=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() # Move CMake files to the right place -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) # Remove empty files -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") # Handle copyright -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/ctbignum/vcpkg.json b/ports/ctbignum/vcpkg.json index 093dfbcfbf6b38..57e333306f81c0 100644 --- a/ports/ctbignum/vcpkg.json +++ b/ports/ctbignum/vcpkg.json @@ -1,10 +1,17 @@ { "name": "ctbignum", - "version-string": "2019-08-02", - "port-version": 1, + "version-date": "2019-08-02", + "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 + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/ctemplate/portfile.cmake b/ports/ctemplate/portfile.cmake index f55a7c7e031e05..5377c9d1dc493d 100644 --- a/ports/ctemplate/portfile.cmake +++ b/ports/ctemplate/portfile.cmake @@ -6,19 +6,18 @@ vcpkg_from_github( HEAD_REF master ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") vcpkg_find_acquire_program(PYTHON3) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS -DPYTHON_EXECUTABLE=${PYTHON3} +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS "-DPYTHON_EXECUTABLE=${PYTHON3}" OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON ) -vcpkg_install_cmake() +vcpkg_cmake_install() -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/ctemplate RENAME copyright) +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/ctemplate" RENAME copyright) vcpkg_copy_pdbs() diff --git a/ports/ctemplate/vcpkg.json b/ports/ctemplate/vcpkg.json index 2f3d6bd4133236..040c6e8ff9b07a 100644 --- a/ports/ctemplate/vcpkg.json +++ b/ports/ctemplate/vcpkg.json @@ -1,7 +1,18 @@ { "name": "ctemplate", "version-date": "2020-09-14", - "port-version": 2, + "port-version": 5, "description": "C++ CTemplate system", - "homepage": "https://github.com/OlafvdSpek/ctemplate" + "homepage": "https://github.com/OlafvdSpek/ctemplate", + "supports": "windows & !arm", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/ctp/portfile.cmake b/ports/ctp/portfile.cmake index 2c291b8ab6d3e3..077deedbc6c519 100644 --- a/ports/ctp/portfile.cmake +++ b/ports/ctp/portfile.cmake @@ -17,15 +17,15 @@ if("datacollect" IN_LIST FEATURES) ) endif() -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH TRADEAPI_UNPACK_PATH +vcpkg_extract_source_archive( + TRADEAPI_UNPACK_PATH ARCHIVE ${TRADEAPI_ARCHIVE} NO_REMOVE_ONE_LEVEL ) if("datacollect" IN_LIST FEATURES) - vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH DATACOLLECT_UNPACK_PATH + vcpkg_extract_source_archive( + DATACOLLECT_UNPACK_PATH ARCHIVE ${DATACOLLECT_ARCHIVE} NO_REMOVE_ONE_LEVEL ) @@ -37,8 +37,8 @@ if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") elseif(VCPKG_TARGET_IS_WINDOWS AND VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") set(TRADEAPI_SOURCE_PATH "${TRADEAPI_UNPACK_PATH}/v6.6.1_P1_20210406_winApi/tradeapi/20210406_tradeapi64_se_windows") elseif(VCPKG_TARGET_IS_LINUX AND VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") - vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH TRADEAPI_LINUX_TAR_PATH + vcpkg_extract_source_archive( + TRADEAPI_LINUX_TAR_PATH ARCHIVE "${TRADEAPI_UNPACK_PATH}/v6.6.1_P1_20210406_api_tradeapi_linux64.tar" ) set(TRADEAPI_SOURCE_PATH "${TRADEAPI_LINUX_TAR_PATH}/v6.6.1_P1_20210406_api_tradeapi_se_linux64") @@ -52,8 +52,8 @@ if("datacollect" IN_LIST FEATURES) elseif(VCPKG_TARGET_IS_WINDOWS AND VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") set(DATACOLLECT_SOURCE_PATH "${DATACOLLECT_UNPACK_PATH}/v6.3.19_P1_20200106_winApi/20200106_clientdll64_windows") elseif(VCPKG_TARGET_IS_LINUX AND VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") - vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH DATACOLLECT_LINUX_TAR_PATH + vcpkg_extract_source_archive( + DATACOLLECT_LINUX_TAR_PATH ARCHIVE "${DATACOLLECT_UNPACK_PATH}/v6.3.19_P1_20200106_api.tar" ) set(DATACOLLECT_SOURCE_PATH "${DATACOLLECT_LINUX_TAR_PATH}/v6.3.19_P1_20200106_api_clientdatacollectdll_linux64") diff --git a/ports/ctp/vcpkg.json b/ports/ctp/vcpkg.json index e568df5f701fd2..5549d01379b738 100644 --- a/ports/ctp/vcpkg.json +++ b/ports/ctp/vcpkg.json @@ -1,10 +1,10 @@ { "name": "ctp", "version-string": "6.6.1_P1_20210406_se", - "port-version": 2, + "port-version": 4, "description": "The Comprehensive Transaction Platform (CTP) is a future brokerage management system developed specially for futures companies. CTP API client library allows users to connect to CTP gateway for algorithmic trading.", "homepage": "http://www.sfit.com.cn/index.htm", - "supports": "!osx & !uwp & !arm", + "supports": "!osx & !uwp & !arm & !(static & staticcrt)", "features": { "datacollect": { "description": "Data collect support of CTP" diff --git a/ports/ctpg/portfile.cmake b/ports/ctpg/portfile.cmake new file mode 100644 index 00000000000000..88f5c1b6177938 --- /dev/null +++ b/ports/ctpg/portfile.cmake @@ -0,0 +1,24 @@ +vcpkg_minimum_required(VERSION 2022-10-12) # for ${VERSION} + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO peter-winter/ctpg + REF "v${VERSION}" + SHA512 630fb49e0dd46dfede6ea8ae1b62019e2b3119ff18abe0e398a771d83d9980e4e47f57d500f2d69d34ef7f4653e4a5edcdacf0634fcd014c6bdb2824023a96a4 + HEAD_REF master +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DCTPG_ENABLE_INSTALL=ON + -DCTPG_ENABLE_TESTS=OFF + -DCTPG_WARNING_FLAGS=OFF +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH share/${PORT}/cmake) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") diff --git a/ports/ctpg/vcpkg.json b/ports/ctpg/vcpkg.json new file mode 100644 index 00000000000000..b6482ccc81f4b9 --- /dev/null +++ b/ports/ctpg/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "ctpg", + "version": "1.3.7", + "port-version": 2, + "description": "Compile Time Parser Generator is a C++ single header library which takes a language description as a C++ code and turns it into a LR1 table parser with a deterministic finite automaton lexical analyzer, all in compile time.", + "homepage": "https://github.com/peter-winter/ctpg", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/ctre/portfile.cmake b/ports/ctre/portfile.cmake index 112ad13d5c8126..4d4686ddb88d2c 100644 --- a/ports/ctre/portfile.cmake +++ b/ports/ctre/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO hanickadot/compile-time-regular-expressions - REF v3.4.1 - SHA512 a7b44df9c30fb46373e34d8b98fe3ef3fd0486d33ba4d7bbf58a29eef05b22b8c903bf79ae539008a564f46e0bdee3e7700819d8d072c00537f8d175af59be3e + REF "v${VERSION}" + SHA512 252f4e8c516be8b240e4907de2751e17c97cb0154e6b0104f743e3ac70d58bcced24068fdca8eb3b56e16f52cfcbe8d549140033c1f7cd36269b60a80e017046 HEAD_REF main ) @@ -17,4 +17,4 @@ vcpkg_cmake_config_fixup(CONFIG_PATH "share/cmake/ctre") 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/ctre/vcpkg.json b/ports/ctre/vcpkg.json index 724d2c9b167fa5..6784227cbee2fe 100644 --- a/ports/ctre/vcpkg.json +++ b/ports/ctre/vcpkg.json @@ -1,8 +1,9 @@ { "name": "ctre", - "version-semver": "3.4.1", + "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", "dependencies": [ { "name": "vcpkg-cmake", 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/cub/fix-usage.patch b/ports/cub/fix-usage.patch new file mode 100644 index 00000000000000..353818cb7ff3e7 --- /dev/null +++ b/ports/cub/fix-usage.patch @@ -0,0 +1,12 @@ +diff --git a/cub/cmake/cub-config.cmake b/cub/cmake/cub-config.cmake +index ebe40ef..884ce65 100644 +--- a/cub/cmake/cub-config.cmake ++++ b/cub/cmake/cub-config.cmake +@@ -11,6 +11,7 @@ endif() + # Minimum supported libcudacxx version: + set(cub_libcudacxx_version 1.8.0) + ++include("${CMAKE_CURRENT_LIST_DIR}/cub-header-search.cmake") + function(_cub_declare_interface_alias alias_name ugly_name) + # 1) Only IMPORTED and ALIAS targets can be placed in a namespace. + # 2) When an IMPORTED library is linked to another target, its include diff --git a/ports/cub/portfile.cmake b/ports/cub/portfile.cmake index d15c623f8b643e..9049648f0d3c02 100644 --- a/ports/cub/portfile.cmake +++ b/ports/cub/portfile.cmake @@ -1,11 +1,31 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO NVlabs/cub - REF 7cdf6dfc7ed60e4f44d025b84ea8260755f298e6 #v1.12.0 - SHA512 aff3ba375a33844efdc57f8ba190e8880db6247bc1245340b2fe87f8933d3abfcbc7dcdffffd45cf00db4981cd2e37029061fca7161554a4c7c779a7d414aada + REF "${VERSION}" + SHA512 f88fdf80c81b8b5d3d09797bf5e9a9e82e1365950b358e0ffc2141b465646c2054ce7e6a30ae07735fbaa69d07c9a8e9bab57c8ddb8a0db8426b27eadd045197 HEAD_REF master + PATCHES fix-usage.patch ) -file(COPY ${SOURCE_PATH}/cub/ DESTINATION ${CURRENT_PACKAGES_DIR}/include/cub) +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DCUB_ENABLE_INSTALL_RULES=ON + -DCUB_ENABLE_HEADER_TESTING=OFF + -DCUB_ENABLE_TESTING=OFF + -DCUB_ENABLE_EXAMPLES=OFF + -DCUB_ENABLE_CPP_DIALECT_IN_NAMES=ON +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/cub) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/cub/cmake" + "${CURRENT_PACKAGES_DIR}/debug" + "${CURRENT_PACKAGES_DIR}/lib" +) + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -configure_file(${SOURCE_PATH}/LICENSE.TXT ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) +file(INSTALL "${SOURCE_PATH}/LICENSE.TXT" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/cub/usage b/ports/cub/usage new file mode 100644 index 00000000000000..bea0cf58524b43 --- /dev/null +++ b/ports/cub/usage @@ -0,0 +1,4 @@ +The package cub is header only and can be used from CMake via: + + find_package(cub CONFIG REQUIRED) + target_include_directories(main PRIVATE CUB::CUB) diff --git a/ports/cub/vcpkg.json b/ports/cub/vcpkg.json index 85f29e6fb1fa9c..2162ca5a631e5e 100644 --- a/ports/cub/vcpkg.json +++ b/ports/cub/vcpkg.json @@ -1,9 +1,18 @@ { "name": "cub", - "version": "1.12.0", + "version": "2.1.0", "description": "CUB is a flexible library of cooperative threadblock primitives and other utilities for CUDA kernel programming", "homepage": "https://github.com/NVIDIA/cub", + "license": "BSD-3-Clause", "dependencies": [ - "cuda" + "cuda", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/cubeb/portfile.cmake b/ports/cubeb/portfile.cmake new file mode 100644 index 00000000000000..f6758162740a97 --- /dev/null +++ b/ports/cubeb/portfile.cmake @@ -0,0 +1,24 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO mozilla/cubeb + REF f1bfefbbd412eaa0fe89f5afb3c11b427dc2446a + SHA512 541bdcdc17c02f51e6faae1c90e0ddf30f40b137bb47498f7845919107190a4acb97d88e26ccf4877dbce7aeddee0f6538fd34c71396bc6a81644438a1a3242e + HEAD_REF master +) + +vcpkg_cmake_configure( + SOURCE_PATH ${SOURCE_PATH} + OPTIONS + -DUSE_SANITIZERS=OFF + -DBUILD_TESTS=OFF + -DBUILD_TOOLS=OFF + -DDOXYGEN_EXECUTABLE= # Prevents the generation of documentation +) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/cubeb) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") + +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() diff --git a/ports/cubeb/vcpkg.json b/ports/cubeb/vcpkg.json new file mode 100644 index 00000000000000..74a0756b215f1b --- /dev/null +++ b/ports/cubeb/vcpkg.json @@ -0,0 +1,19 @@ +{ + "name": "cubeb", + "version-date": "2023-09-26", + "port-version": 1, + "description": "Cross platform audio library", + "homepage": "https://github.com/mozilla/cubeb", + "license": "ISC", + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/cuda-api-wrappers/portfile.cmake b/ports/cuda-api-wrappers/portfile.cmake new file mode 100644 index 00000000000000..aa143e63788598 --- /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 5281557d05faa95f25a509a03d331ecf60b881cfbe0d80f560a9a1be1957d5b3b7a9afa99e1ffb35175f30b357fea3103058665f56bcecea55df9efa23179619 + 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..aeb5856dfa794f --- /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) diff --git a/ports/cuda-api-wrappers/vcpkg.json b/ports/cuda-api-wrappers/vcpkg.json new file mode 100644 index 00000000000000..07dba7e88311e1 --- /dev/null +++ b/ports/cuda-api-wrappers/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "cuda-api-wrappers", + "version": "0.7.1", + "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/cuda/portfile.cmake b/ports/cuda/portfile.cmake index a4b202cd9b1a18..b5ea25636feb3c 100644 --- a/ports/cuda/portfile.cmake +++ b/ports/cuda/portfile.cmake @@ -4,10 +4,12 @@ #note: this port must be kept in sync with CUDNN and NCCL ports: every time one is upgraded, the other must be too -include(${CMAKE_CURRENT_LIST_DIR}/vcpkg_find_cuda.cmake) +include("${CMAKE_CURRENT_LIST_DIR}/vcpkg_find_cuda.cmake") vcpkg_find_cuda(OUT_CUDA_TOOLKIT_ROOT CUDA_TOOLKIT_ROOT) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg_find_cuda.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/vcpkg-port-config.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +file(COPY "${CMAKE_CURRENT_LIST_DIR}/vcpkg_find_cuda.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +file(INSTALL "${VCPKG_ROOT_DIR}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) -set(VCPKG_POLICY_EMPTY_PACKAGE enabled) +set(VCPKG_POLICY_CMAKE_HELPER_PORT enabled) diff --git a/ports/cuda/vcpkg-port-config.cmake b/ports/cuda/vcpkg-port-config.cmake new file mode 100644 index 00000000000000..c8b23036855952 --- /dev/null +++ b/ports/cuda/vcpkg-port-config.cmake @@ -0,0 +1 @@ +include("${CMAKE_CURRENT_LIST_DIR}/vcpkg_find_cuda.cmake") diff --git a/ports/cuda/vcpkg.json b/ports/cuda/vcpkg.json index a448794d30090d..969232998ca05e 100644 --- a/ports/cuda/vcpkg.json +++ b/ports/cuda/vcpkg.json @@ -1,7 +1,9 @@ { "name": "cuda", - "version-string": "10.1", - "port-version": 8, + "version": "10.1", + "port-version": 13, "description": "A parallel computing platform and programming model", - "homepage": "https://developer.nvidia.com/cuda-toolkit" + "homepage": "https://developer.nvidia.com/cuda-toolkit", + "license": null, + "supports": "(windows & x64 & !uwp & !xbox) | (linux & x64) | (linux & arm64)" } diff --git a/ports/cuda/vcpkg_find_cuda.cmake b/ports/cuda/vcpkg_find_cuda.cmake index 64b7585404c89f..a6265b78b7192a 100644 --- a/ports/cuda/vcpkg_find_cuda.cmake +++ b/ports/cuda/vcpkg_find_cuda.cmake @@ -42,6 +42,8 @@ function(vcpkg_find_cuda) endif() endforeach() + vcpkg_list(APPEND CUDA_PATHS /usr/bin) + find_program(NVCC NAMES nvcc PATHS diff --git a/ports/cudnn/FindCUDNN.cmake b/ports/cudnn/FindCUDNN.cmake index 4e013bca705da4..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 - 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/ - 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 5fd95634c40a3e..99a21742db959c 100644 --- a/ports/cudnn/portfile.cmake +++ b/ports/cudnn/portfile.cmake @@ -1,26 +1,19 @@ -if(VCPKG_TARGET_IS_UWP OR VCPKG_TARGET_IS_OSX) - message(FATAL_ERROR "This port is only for Windows Desktop or Linux") -endif() - -if(NOT VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") - message(FATAL_ERROR "This port is only for x64 architectures") -endif() - -vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY ONLY_DYNAMIC_CRT) - set(MINIMUM_CUDNN_VERSION "7.6.5") -include(${CURRENT_INSTALLED_DIR}/share/cuda/vcpkg_find_cuda.cmake) 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 - 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/ - 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) @@ -66,11 +59,11 @@ 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() -file(INSTALL "${CURRENT_PORT_DIR}/FindCUDNN.cmake" DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) -file(INSTALL "${CURRENT_PORT_DIR}/usage" DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) -file(INSTALL "${CURRENT_PORT_DIR}/vcpkg-cmake-wrapper.cmake" DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) \ No newline at end of file +file(INSTALL "${CURRENT_PORT_DIR}/FindCUDNN.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +file(INSTALL "${CURRENT_PORT_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +file(INSTALL "${CURRENT_PORT_DIR}/vcpkg-cmake-wrapper.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/cudnn/vcpkg.json b/ports/cudnn/vcpkg.json index 7c52ccc7ac8219..ee26880a3448f8 100644 --- a/ports/cudnn/vcpkg.json +++ b/ports/cudnn/vcpkg.json @@ -1,10 +1,11 @@ { "name": "cudnn", "version": "7.6.5", - "port-version": 4, + "port-version": 14, "description": "NVIDIA's cuDNN deep neural network acceleration library.", "homepage": "https://developer.nvidia.com/cudnn", - "supports": "(windows | linux) & x64", + "license": null, + "supports": "(windows & x64 & !uwp) | (linux & x64) | (linux & arm64)", "dependencies": [ "cuda" ] diff --git a/ports/cunit/CMakeLists.txt b/ports/cunit/CMakeLists.txt index b796355aa73c78..cd82e2343f4b32 100644 --- a/ports/cunit/CMakeLists.txt +++ b/ports/cunit/CMakeLists.txt @@ -1,9 +1,8 @@ cmake_minimum_required (VERSION 3.8.0) -project (libcunit C) +project (cunit C) set(HEADERS_DIR "${PROJECT_SOURCE_DIR}/CUnit/Headers") set(SOURCES_DIR "${PROJECT_SOURCE_DIR}/CUnit/Sources") -set(EXAMPLES_DIR "${PROJECT_SOURCE_DIR}/Examples") if(MSVC) add_compile_options(/W3 /wd4005 /wd4996 -D_CRT_SECURE_NO_WARNINGS) @@ -12,6 +11,7 @@ endif() configure_file( "${HEADERS_DIR}/CUnit.h.in" "${PROJECT_BINARY_DIR}/CUnit.h" + @ONLY ) file(READ "${PROJECT_BINARY_DIR}/CUnit.h" CUNIT_H) @@ -25,7 +25,7 @@ file(WRITE "${PROJECT_BINARY_DIR}/CUnit.h" "${CUNIT_H}") include_directories("${PROJECT_BINARY_DIR}") include_directories(${HEADERS_DIR}) -add_library(libcunit +add_library(cunit "${SOURCES_DIR}/Automated/Automated.c" "${SOURCES_DIR}/Basic/Basic.c" "${SOURCES_DIR}/Console/Console.c" @@ -35,27 +35,18 @@ add_library(libcunit "${SOURCES_DIR}/Framework/TestRun.c" "${SOURCES_DIR}/Framework/Util.c" ) -target_compile_definitions(libcunit PRIVATE -DCU_BUILD_DLL) +target_compile_definitions(cunit PRIVATE -DCU_BUILD_DLL) +target_include_directories(cunit INTERFACE $) -if(BUILD_EXAMPLES) - include_directories(${EXAMPLES_DIR}) - add_executable(AutomatedTest ${EXAMPLES_DIR}/AutomatedTest/AutomatedTest.c "${EXAMPLES_DIR}/ExampleTests.c") - add_executable(BasicTest ${EXAMPLES_DIR}/BasicTest/BasicTest.c "${EXAMPLES_DIR}/ExampleTests.c") - add_executable(ConsoleTest ${EXAMPLES_DIR}/ConsoleTest/ConsoleTest.c "${EXAMPLES_DIR}/ExampleTests.c") +install(TARGETS cunit EXPORT unofficial-cunit-config) - target_link_libraries(AutomatedTest libcunit) - target_link_libraries(BasicTest libcunit) - target_link_libraries(ConsoleTest libcunit) -endif() - -install( - TARGETS libcunit - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib +install(EXPORT unofficial-cunit-config + NAMESPACE unofficial::cunit:: + DESTINATION share/unofficial-cunit + FILE unofficial-cunit-config.cmake ) if(NOT DISABLE_INSTALL_HEADERS) - install(DIRECTORY "${HEADERS_DIR}/" DESTINATION include/cunit FILES_MATCHING PATTERN "*.h") - install(FILES "${PROJECT_BINARY_DIR}/CUnit.h" DESTINATION include/cunit) + install(DIRECTORY "${HEADERS_DIR}/" DESTINATION include/CUnit FILES_MATCHING PATTERN "*.h") + install(FILES "${PROJECT_BINARY_DIR}/CUnit.h" DESTINATION include/CUnit) endif() diff --git a/ports/cunit/portfile.cmake b/ports/cunit/portfile.cmake index 88b9be6b5bac40..94893a2c4d71e5 100644 --- a/ports/cunit/portfile.cmake +++ b/ports/cunit/portfile.cmake @@ -1,21 +1,27 @@ +set(VERSION 2.1) +set(RELEASE 3) + vcpkg_from_sourceforge( OUT_SOURCE_PATH SOURCE_PATH REPO cunit/CUnit - REF 2.1-3 - FILENAME "CUnit-2.1-3.tar.bz2" + REF "${VERSION}-${RELEASE}" + FILENAME "CUnit-${VERSION}-${RELEASE}.tar.bz2" SHA512 547b417109332446dfab8fda17bf4ccd2da841dc93f824dc90a20635bcf1fb80fb2176500d8a0906940f3f3d3e2f77b2d70a71090c9ab84ad9af43f3582bc487 ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + "-DVERSION=${VERSION}" + "-DRELEASE=${RELEASE}" + OPTIONS_DEBUG + -DDISABLE_INSTALL_HEADERS=ON ) -vcpkg_install_cmake() - +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-cunit) vcpkg_copy_pdbs() -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/cunit/vcpkg.json b/ports/cunit/vcpkg.json index c3b2d3032e7128..7857b54f7b5b97 100644 --- a/ports/cunit/vcpkg.json +++ b/ports/cunit/vcpkg.json @@ -1,7 +1,18 @@ { "name": "cunit", - "version-string": "2.1.3", - "port-version": 7, + "version": "2.1.3", + "port-version": 8, "description": "CUnit is a lightweight system for writing, administering, and running unit tests in C. It provides C programmers a basic testing functionality with a flexible variety of user interfaces", - "homepage": "https://sourceforge.net/projects/cunit/" + "homepage": "https://sourceforge.net/projects/cunit/", + "license": "LGPL-2.0-only", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/curl/0002_fix_uwp.patch b/ports/curl/0002_fix_uwp.patch deleted file mode 100644 index c1572624a3775f..00000000000000 --- a/ports/curl/0002_fix_uwp.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt -index 62b7b33..8a4bd71 100644 ---- a/lib/CMakeLists.txt -+++ b/lib/CMakeLists.txt -@@ -107,6 +107,10 @@ endif() - - target_link_libraries(${LIB_NAME} ${CURL_LIBS}) - -+if(CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") -+ add_definitions(-D_WINSOCK_DEPRECATED_NO_WARNINGS) -+endif() -+ - if(WIN32) - add_definitions(-D_USRDLL) - endif() - diff --git a/ports/curl/0005_remove_imp_suffix.patch b/ports/curl/0005_remove_imp_suffix.patch index 83ec1051336796..5fe94196a5789e 100644 --- a/ports/curl/0005_remove_imp_suffix.patch +++ b/ports/curl/0005_remove_imp_suffix.patch @@ -1,14 +1,12 @@ -diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt -index 1d71e14..62b7b33 100644 ---- a/lib/CMakeLists.txt -+++ b/lib/CMakeLists.txt -@@ -128,7 +128,7 @@ if(CURL_HAS_LTO) - INTERPROCEDURAL_OPTIMIZATION_RELWITHDEBINFO TRUE) - endif() - --if(WIN32) -+if(WIN32 AND 0) - if(BUILD_SHARED_LIBS) - if(MSVC) - # Add "_imp" as a suffix before the extension to avoid conflicting with - # the statically linked "libcurl.lib" +diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt +index b838245..3199160 100644 +--- a/lib/CMakeLists.txt ++++ b/lib/CMakeLists.txt +@@ -92,7 +92,6 @@ endif() + if(WIN32 AND + NOT IMPORT_LIB_SUFFIX AND + CMAKE_STATIC_LIBRARY_SUFFIX STREQUAL CMAKE_IMPORT_LIBRARY_SUFFIX) +- set(IMPORT_LIB_SUFFIX "_imp") + endif() + + # Whether to do a single compilation pass for libcurl sources and reuse these diff --git a/ports/curl/0006_fix_tool_depends.patch b/ports/curl/0006_fix_tool_depends.patch deleted file mode 100644 index a918b08e2d752c..00000000000000 --- a/ports/curl/0006_fix_tool_depends.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 26e3cfe..74d00dd 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -61,6 +61,8 @@ if(MSVC) - list(APPEND CURL_FILES curl.rc) - endif() - -+find_package(ZLIB REQUIRED) -+ - # CURL_FILES comes from Makefile.inc - add_executable( - ${EXE_NAME} -@@ -91,7 +93,7 @@ include_directories( - ) - - #Build curl executable --target_link_libraries(${EXE_NAME} libcurl ${CURL_LIBS}) -+target_link_libraries(${EXE_NAME} libcurl ${CURL_LIBS} ZLIB::ZLIB) - - ################################################################################ - diff --git a/ports/curl/0007_disable_tool_export_curl_target.patch b/ports/curl/0007_disable_tool_export_curl_target.patch deleted file mode 100644 index 689104a938cc18..00000000000000 --- a/ports/curl/0007_disable_tool_export_curl_target.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 74d00dd..5838805 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -103,8 +103,8 @@ target_link_libraries(${EXE_NAME} libcurl ${CURL_LIBS} ZLIB::ZLIB) - - #INCLUDE(ModuleInstall OPTIONAL) - --install(TARGETS ${EXE_NAME} EXPORT ${TARGETS_EXPORT_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR}) --export(TARGETS ${EXE_NAME} -- APPEND FILE ${PROJECT_BINARY_DIR}/curl-target.cmake -- NAMESPACE ${PROJECT_NAME}:: --) -+install(TARGETS ${EXE_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR}) -+#export(TARGETS ${EXE_NAME} -+# APPEND FILE ${PROJECT_BINARY_DIR}/curl-target.cmake -+# NAMESPACE ${PROJECT_NAME}:: -+#) diff --git a/ports/curl/0011_fix_static_build.patch b/ports/curl/0011_fix_static_build.patch deleted file mode 100644 index a50fa287f54cfe..00000000000000 --- a/ports/curl/0011_fix_static_build.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt -index 8a4bd71..1927fb0 100644 ---- a/lib/CMakeLists.txt -+++ b/lib/CMakeLists.txt -@@ -111,7 +111,7 @@ if(CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - add_definitions(-D_WINSOCK_DEPRECATED_NO_WARNINGS) - endif() - --if(WIN32) -+if(WIN32 AND BUILD_SHARED_LIBS) - add_definitions(-D_USRDLL) - endif() - diff --git a/ports/curl/0012-fix-dependency-idn2.patch b/ports/curl/0012-fix-dependency-idn2.patch deleted file mode 100644 index 9388f91a0b2497..00000000000000 --- a/ports/curl/0012-fix-dependency-idn2.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 9f6de81..6702845 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -632,6 +632,9 @@ endif() - option(USE_LIBIDN2 "Use libidn2 for IDN support" ON) - set(HAVE_LIBIDN2 OFF) - if(USE_LIBIDN2) -+ set(HAVE_LIBIDN2 TRUE) -+ list(APPEND CURL_LIBS ${LIBIDN2_LIBRARIES}) -+elseif(0) - check_library_exists_concat("idn2" idn2_lookup_ul HAVE_LIBIDN2) - endif() - diff --git a/ports/curl/0020-fix-pc-file.patch b/ports/curl/0020-fix-pc-file.patch index c9967ac2c22c92..723745535f45ca 100644 --- a/ports/curl/0020-fix-pc-file.patch +++ b/ports/curl/0020-fix-pc-file.patch @@ -1,59 +1,15 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 8b2e428..ea430f4 100644 +index c4ba74d..8a52c2a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -1462,7 +1462,26 @@ 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}) -+function(flatten input output) -+ set(output_libs "${${output}}") -+ set(input_libs "${${input}}") -+ while(input_libs) -+ list(POP_BACK input_libs lib) -+ if(NOT "${lib}" IN_LIST output_libs) -+ if(TARGET "${lib}") -+ get_target_property(link_libs "${lib}" INTERFACE_LINK_LIBRARIES) -+ if(link_libs) -+ flatten(link_libs output_libs) -+ endif() -+ endif() -+ list(PREPEND output_libs "${lib}") -+ endif() -+ endwhile() -+ set("${output}" "${output_libs}" PARENT_SCOPE) -+endfunction() -+set(CURL_LIBS_FLAT "") -+flatten(CURL_LIBS CURL_LIBS_FLAT) -+foreach(_lib ${CURL_LIBS_FLAT}) - if(TARGET "${_lib}") - set(_libname "${_lib}") - get_target_property(_libtype "${_libname}" TYPE) -@@ -1473,12 +1492,26 @@ foreach(_lib ${CMAKE_C_IMPLICIT_LINK_LIBRARIES} ${CURL_LIBS}) - # this information in the .pc file. - continue() - endif() -+ set(_lib NOTFOUND) -+ if(DEFINED CMAKE_BUILD_TYPE) -+ string(TOUPPER "${CMAKE_BUILD_TYPE}" config) -+ get_target_property(_lib "${_libname}" IMPORTED_LOCATION_${config}) -+ endif() -+ if(NOT _lib) - get_target_property(_lib "${_libname}" LOCATION) -+ endif() - if(NOT _lib) - message(WARNING "Bad lib in library list: ${_libname}") - continue() - endif() +@@ -2089,7 +2089,9 @@ if(NOT CURL_DISABLE_INSTALL) + set(_implicit_libs ${CMAKE_C_IMPLICIT_LINK_LIBRARIES}) endif() -+ if(_lib MATCHES "^(.*)/([^/]*)[.]framework$") -+ if(CMAKE_MATCH_1 IN_LIST CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES) -+ set(_lib "-framework ${CMAKE_MATCH_2}") -+ else() -+ set(_lib "-framework ${_lib}") -+ endif() -+ endif() - if(_lib MATCHES ".*/.*" OR _lib MATCHES "^-") - set(LIBCURL_LIBS "${LIBCURL_LIBS} ${_lib}") - else() + +- foreach(_lib IN LISTS _implicit_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/0021-normaliz.patch b/ports/curl/0021-normaliz.patch deleted file mode 100644 index ca331cf9afdfac..00000000000000 --- a/ports/curl/0021-normaliz.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 6d209be..9f6de81 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -638,7 +638,7 @@ endif() - if(WIN32) - option(USE_WIN32_IDN "Use WinIDN for IDN support" OFF) - if(USE_WIN32_IDN) -- list(APPEND CURL_LIBS "Normaliz") -+ list(APPEND CURL_LIBS "normaliz") - set(WANT_IDN_PROTOTYPES ON) - endif() - endif() diff --git a/ports/curl/0022-deduplicate-libs.patch b/ports/curl/0022-deduplicate-libs.patch index bd027d4cb41442..3bb4d088db3c7d 100644 --- a/ports/curl/0022-deduplicate-libs.patch +++ b/ports/curl/0022-deduplicate-libs.patch @@ -1,25 +1,15 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 09d82f1..f0d99e6 100644 +index da69699..3a9b844 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -1507,6 +1507,7 @@ else() - set(ENABLE_SHARED "no") - set(ENABLE_STATIC "yes") - set(LIBCURL_NO_SHARED "${LIBCURL_LIBS}") -+ set(LIBCURL_LIBS "") - endif() - # "a" (Linux) or "lib" (Windows) - string(REPLACE "." "" libext "${CMAKE_STATIC_LIBRARY_SUFFIX}") -diff --git a/curl-config.in b/curl-config.in -index 8b4a29a..e756ae8 100644 ---- a/curl-config.in -+++ b/curl-config.in -@@ -172,7 +172,7 @@ while test $# -gt 0; do - - --static-libs) - if test "X@ENABLE_STATIC@" != "Xno" ; then -- echo @libdir@/libcurl.@libext@ @LDFLAGS@ @LIBCURL_LIBS@ -+ echo @libdir@/libcurl.@libext@ @LDFLAGS@ @LIBCURL_NO_SHARED@ - else - echo "curl was built with static libraries disabled" >&2 - exit 1 +@@ -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 new file mode 100644 index 00000000000000..1e980cdf311c74 --- /dev/null +++ b/ports/curl/cmake-config.patch @@ -0,0 +1,12 @@ +diff --git a/CMake/curl-config.cmake.in b/CMake/curl-config.cmake.in +index a013adf..2f39949 100644 +--- a/CMake/curl-config.cmake.in ++++ b/CMake/curl-config.cmake.in +@@ -46,5 +46,6 @@ check_required_components("@PROJECT_NAME@") + + # Alias for either shared or static library + 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() diff --git a/ports/curl/cmake-project-include.cmake b/ports/curl/cmake-project-include.cmake new file mode 100644 index 00000000000000..dc342947753308 --- /dev/null +++ b/ports/curl/cmake-project-include.cmake @@ -0,0 +1,97 @@ +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}}") + else() + string(REGEX REPLACE ";debug;[^;]*|;optimized" "" input_libs "VCPKG;${${input}}") + endif() + list(REMOVE_AT input_libs 0) + while(input_libs) + list(POP_BACK input_libs lib) + string(REGEX REPLACE "^.\$" "\\1" lib "${lib}") + if(TARGET "${lib}") + set(import_lib "") + set(import_location "") + get_target_property(type "${lib}" TYPE) + if(NOT type STREQUAL "INTERFACE_LIBRARY") + if(CMAKE_BUILD_TYPE STREQUAL "Debug") + get_target_property(link_libs "${lib}" IMPORTED_LINK_INTERFACE_LIBRARIES_DEBUG) + get_target_property(import_lib "${lib}" IMPORTED_IMPLIB_DEBUG) + get_target_property(import_location "${lib}" IMPORTED_LOCATION_DEBUG) + else() + get_target_property(link_libs "${lib}" IMPORTED_LINK_INTERFACE_LIBRARIES_RELEASE) + get_target_property(import_lib "${lib}" IMPORTED_IMPLIB_RELEASE) + get_target_property(import_location "${lib}" IMPORTED_LOCATION_RELEASE) + endif() + if(link_libs) + vcpkg_curl_flatten(link_libs output_libs) + endif() + get_target_property(link_libs "${lib}" IMPORTED_LINK_INTERFACE_LIBRARIES) + if(link_libs) + vcpkg_curl_flatten(link_libs output_libs) + endif() + if(NOT import_lib) + get_target_property(import_lib "${lib}" IMPORTED_IMPLIB) + endif() + if(NOT import_location) + get_target_property(import_location "${lib}" IMPORTED_LOCATION) + endif() + endif() + get_target_property(link_libs "${lib}" INTERFACE_LINK_LIBRARIES) + if(link_libs) + vcpkg_curl_flatten(link_libs output_libs) + endif() + if(import_lib) + set(lib "${import_lib}") + elseif(import_location) + set(lib "${import_location}") + endif() + endif() + if(lib MATCHES "^(.*)/([^/]*)[.]framework$") + if(CMAKE_MATCH_1 IN_LIST CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES) + set(lib "-framework ${CMAKE_MATCH_2}") + else() + set(lib "-framework ${lib}") + endif() + 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_SHARED_LIBRARY_PREFIX}([^/]*)${SHARED_LIBRARY_SUFFIX}\$") + set(lib -l${CMAKE_MATCH_1}) + endif() + if(NOT "${lib}" IN_LIST output_libs) + list(PREPEND output_libs "${lib}") + endif() + endwhile() + set("${output}" "${output_libs}" PARENT_SCOPE) +endfunction() + +if(NOT CURL_DISABLE_LDAP AND NOT WIN32) + find_package(PkgConfig REQUIRED) + 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 new file mode 100644 index 00000000000000..686f35f3ff92e3 --- /dev/null +++ b/ports/curl/dependencies.patch @@ -0,0 +1,147 @@ +diff --git a/CMake/curl-config.cmake.in b/CMake/curl-config.cmake.in +index aa9eb51..c290064 100644 +--- a/CMake/curl-config.cmake.in ++++ b/CMake/curl-config.cmake.in +@@ -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) ++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 db3a5ee..a6604e9 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -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 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() + + 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) ++ find_package(BROTLI NAMES unofficial-brotli REQUIRED) ++ set(BROTLI_INCLUDE_DIRS "") ++ set(BROTLI_LIBRARIES "unofficial::brotli::brotlidec") + if(BROTLI_FOUND) + set(HAVE_BROTLI ON) + list(APPEND CURL_LIBS ${BROTLI_LIBRARIES}) +@@ -773,7 +771,9 @@ endif() + option(CURL_ZSTD "Use zstd" OFF) + set(HAVE_ZSTD OFF) + if(CURL_ZSTD) +- find_package(Zstd REQUIRED) ++ find_package(ZSTD NAMES zstd REQUIRED) ++ set(ZSTD_INCLUDE_DIRS "") ++ set(ZSTD_LIBRARIES zstd::libzstd) + if(ZSTD_FOUND AND NOT ZSTD_VERSION VERSION_LESS 1.0.0) + set(HAVE_ZSTD ON) + list(APPEND CURL_LIBS ${ZSTD_LIBRARIES}) +@@ -1104,7 +1104,9 @@ option(USE_LIBIDN2 "Use libidn2 for IDN support" ON) + set(HAVE_IDN2_H OFF) + set(HAVE_LIBIDN2 OFF) + if(USE_LIBIDN2 AND NOT USE_APPLE_IDN AND NOT USE_WIN32_IDN) +- find_package(Libidn2) ++ find_package(PkgConfig REQUIRED) ++ pkg_check_modules(LIBIDN2 REQUIRED libidn2) ++ set(LIBIDN2_LIBRARIES "${LIBIDN2_LINK_LIBRARIES}") + if(LIBIDN2_FOUND) + set(CURL_LIBS "${LIBIDN2_LIBRARIES};${CURL_LIBS}") + list(APPEND CURL_LIBDIRS ${LIBIDN2_LIBRARY_DIRS}) +@@ -1125,7 +1127,17 @@ mark_as_advanced(CURL_USE_LIBPSL) + set(USE_LIBPSL OFF) + + if(CURL_USE_LIBPSL) +- find_package(Libpsl) # TODO: add REQUIRED to match autotools ++ find_package(PkgConfig REQUIRED) ++ pkg_check_modules(LIBPSL REQUIRED libpsl) ++ # Remove standard win32 libs pulled in transitively from icu ++ string(REPLACE " " "|" win32_standard_libraries "/(${CMAKE_C_STANDARD_LIBRARIES})[.]lib\$") ++ foreach(lib IN LISTS LIBPSL_LINK_LIBRARIES) ++ string(TOLOWER "${lib}" lib_lower) ++ if(lib_lower MATCHES win32_standard_libraries) ++ list(REMOVE_ITEM LIBPSL_LINK_LIBRARIES "${lib}") ++ endif() ++ endforeach() ++ set(LIBPSL_LIBRARIES "${LIBPSL_LINK_LIBRARIES}") + if(LIBPSL_FOUND) + list(APPEND CURL_LIBS ${LIBPSL_LIBRARIES}) + list(APPEND LIBCURL_PC_REQUIRES_PRIVATE "libpsl") +@@ -1142,7 +1154,9 @@ mark_as_advanced(CURL_USE_LIBSSH2) + set(USE_LIBSSH2 OFF) + + if(CURL_USE_LIBSSH2) +- find_package(Libssh2) ++ find_package(LIBSSH2 NAMES libssh2 REQUIRED) ++ set(LIBSSH2_LIBRARIES libssh2::libssh2) ++ get_target_property(LIBSSH2_INCLUDE_DIRS "${LIBSSH2_LIBRARIES}" INTERFACE_INCLUDE_DIRECTORIES) + if(LIBSSH2_FOUND) + list(APPEND CURL_LIBS ${LIBSSH2_LIBRARIES}) + list(APPEND LIBCURL_PC_REQUIRES_PRIVATE "libssh2") +@@ -1189,7 +1203,8 @@ endif() + option(CURL_USE_GSASL "Use libgsasl" OFF) + mark_as_advanced(CURL_USE_GSASL) + if(CURL_USE_GSASL) +- find_package(Libgsasl REQUIRED) ++ find_package(PkgConfig REQUIRED) ++ pkg_check_modules(GSASL REQUIRED libgsasl) + if(LIBGSASL_FOUND) + list(APPEND CURL_LIBS ${LIBGSASL_LIBRARIES}) + list(APPEND CURL_LIBDIRS ${LIBGSASL_LIBRARY_DIRS}) +@@ -1207,7 +1222,10 @@ option(CURL_USE_GSSAPI "Use GSSAPI implementation" OFF) + mark_as_advanced(CURL_USE_GSSAPI) + + if(CURL_USE_GSSAPI) +- find_package(GSS) ++ find_package(PkgConfig REQUIRED) ++ pkg_check_modules(GSS REQUIRED krb5-gssapi) ++ pkg_get_variable(GSS_FLAVOUR krb5-gssapi vendor) ++ list(APPEND GSS_LINK_LIBRARIES resolv) # Fixme: move to krb5 pc files + + set(HAVE_GSSAPI ${GSS_FOUND}) + if(GSS_FOUND) diff --git a/ports/curl/export-components.patch b/ports/curl/export-components.patch new file mode 100644 index 00000000000000..242981e5b2aad9 --- /dev/null +++ b/ports/curl/export-components.patch @@ -0,0 +1,22 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index fbb33a1..db3a5ee 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -2254,7 +2254,17 @@ if(NOT CURL_DISABLE_INSTALL) + DESTINATION ${_install_cmake_dir}) + endif() + ++ set(components_file "${CMAKE_CURRENT_BINARY_DIR}/CURLConfigComponents.cmake") ++ file(CONFIGURE OUTPUT "${components_file}" CONTENT [[ ++ foreach(z_vcpkg_curl_component IN ITEMS @SUPPORT_FEATURES@ @SUPPORT_PROTOCOLS@) ++ if(z_vcpkg_curl_component MATCHES "^[-_a-zA-Z0-9]*$") ++ set(CURL_${z_vcpkg_curl_component}_FOUND TRUE) ++ endif() ++ endforeach() ++ ]] @ONLY) ++ + install(FILES ${_version_config} ${_project_config} ++ ${components_file} + DESTINATION ${_install_cmake_dir}) + + # Workaround for MSVS10 to avoid the Dialog Hell diff --git a/ports/curl/portfile.cmake b/ports/curl/portfile.cmake index 02977602ed2c1c..841bd7e0f05669 100644 --- a/ports/curl/portfile.cmake +++ b/ports/curl/portfile.cmake @@ -1,100 +1,84 @@ +string(REPLACE "." "_" curl_version "curl-${VERSION}") + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO curl/curl - REF c7aef0a945f9b6fb6d3f91716a21dfe2f4ea635f #curl-7_79_1 - SHA512 105e945e0acb47950d756382c7e45abbf0d0b12526eb0170af23e68653c1b7e3be27d547d537c4f36d099ebcb04870e8cd571d2baec996373b2032f8451b63e0 + REF ${curl_version} + SHA512 d18f453b6ee683a13828ef746cb8d3639f96c759a082736602d7cadaea9dc51bd9b095e5f663aeb9429c2063be3783a24f642ccdb9495b0e0942c501b186322e HEAD_REF master PATCHES - 0002_fix_uwp.patch + redact-input-vars.diff 0005_remove_imp_suffix.patch - 0006_fix_tool_depends.patch - 0007_disable_tool_export_curl_target.patch - 0011_fix_static_build.patch - 0012-fix-dependency-idn2.patch 0020-fix-pc-file.patch - 0021-normaliz.patch # for mingw on case-sensitive file system 0022-deduplicate-libs.patch + export-components.patch + dependencies.patch + cmake-config.patch ) -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" CURL_STATICLIB) - -# schannel will enable sspi, but sspi do not support uwp -foreach(feature IN ITEMS "schannel" "sspi" "tool" "winldap") - if(feature IN_LIST FEATURES AND VCPKG_TARGET_IS_UWP) - message(FATAL_ERROR "Feature ${feature} is not supported on UWP.") - endif() -endforeach() - -if("sectransp" IN_LIST FEATURES AND NOT VCPKG_TARGET_IS_OSX) - message(FATAL_ERROR "sectransp is not supported on non-Apple platforms") -endif() - -foreach(feature IN ITEMS "winldap" "winidn") - if(feature IN_LIST FEATURES AND NOT VCPKG_TARGET_IS_WINDOWS) - message(FATAL_ERROR "Feature ${feature} is not supported on non-Windows platforms.") - endif() -endforeach() - vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES # Support HTTP2 TLS Download https://curl.haxx.se/ca/cacert.pem rename to curl-ca-bundle.crt, copy it to libcurl.dll location. http2 USE_NGHTTP2 - openssl CMAKE_USE_OPENSSL - mbedtls CMAKE_USE_MBEDTLS - ssh CMAKE_USE_LIBSSH2 + wolfssl CURL_USE_WOLFSSL + openssl CURL_USE_OPENSSL + mbedtls CURL_USE_MBEDTLS + ssh CURL_USE_LIBSSH2 tool BUILD_CURL_EXE c-ares ENABLE_ARES sspi CURL_WINDOWS_SSPI brotli CURL_BROTLI - schannel CMAKE_USE_SCHANNEL - sectransp CMAKE_USE_SECTRANSP + schannel CURL_USE_SCHANNEL + sectransp CURL_USE_SECTRANSP idn2 USE_LIBIDN2 winidn USE_WIN32_IDN - winldap USE_WIN32_LDAP + zstd CURL_ZSTD + psl CURL_USE_LIBPSL + gssapi CURL_USE_GSSAPI + gsasl CURL_USE_GSASL + gnutls CURL_USE_GNUTLS INVERTED_FEATURES + ldap CURL_DISABLE_LDAP + ldap CURL_DISABLE_LDAPS non-http HTTP_ONLY - winldap CURL_DISABLE_LDAP # Only WinLDAP support ATM + websockets CURL_DISABLE_WEBSOCKETS ) -set(OPTIONS_RELEASE "") -set(OPTIONS_DEBUG "") -if("idn2" IN_LIST FEATURES) - x_vcpkg_pkgconfig_get_modules(PREFIX libidn2 MODULES libidn2 LIBS) - list(APPEND OPTIONS_RELEASE "-DLIBIDN2_LIBRARIES=${libidn2_LIBS_RELEASE}") - list(APPEND OPTIONS_DEBUG "-DLIBIDN2_LIBRARIES=${libidn2_LIBS_DEBUG}") -endif() +set(OPTIONS "") -set(SECTRANSP_OPTIONS "") if("sectransp" IN_LIST FEATURES) - set(SECTRANSP_OPTIONS -DCURL_CA_PATH=none) + list(APPEND OPTIONS -DCURL_CA_PATH=none -DCURL_CA_BUNDLE=none) endif() # UWP targets -set(UWP_OPTIONS "") if(VCPKG_TARGET_IS_UWP) - set(UWP_OPTIONS + list(APPEND OPTIONS -DCURL_DISABLE_TELNET=ON -DENABLE_IPV6=OFF -DENABLE_UNIX_SOCKETS=OFF ) endif() +if(VCPKG_TARGET_IS_WINDOWS) + list(APPEND OPTIONS -DENABLE_UNICODE=ON) +endif() + +vcpkg_find_acquire_program(PKGCONFIG) + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS + "-DCMAKE_PROJECT_INCLUDE=${CMAKE_CURRENT_LIST_DIR}/cmake-project-include.cmake" + "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}" ${FEATURE_OPTIONS} - ${UWP_OPTIONS} - ${SECTRANSP_OPTIONS} + ${OPTIONS} -DBUILD_TESTING=OFF - -DENABLE_MANUAL=OFF - -DCURL_STATICLIB=${CURL_STATICLIB} - -DCMAKE_DISABLE_FIND_PACKAGE_Perl=ON - -DENABLE_DEBUG=ON + -DENABLE_CURL_MANUAL=OFF -DCURL_CA_FALLBACK=ON - OPTIONS_RELEASE - ${OPTIONS_RELEASE} - OPTIONS_DEBUG - ${OPTIONS_DEBUG} + -DCURL_USE_PKGCONFIG=OFF + -DCMAKE_DISABLE_FIND_PACKAGE_Perl=ON + MAYBE_UNUSED_VARIABLES + PKG_CONFIG_EXECUTABLE ) vcpkg_cmake_install() vcpkg_copy_pdbs() @@ -105,24 +89,34 @@ endif() vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/CURL) -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +vcpkg_fixup_pkgconfig() +set(namespec "curl") +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + set(namespec "libcurl") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libcurl.pc" " -lcurl" " -l${namespec}") +endif() +if(NOT DEFINED VCPKG_BUILD_TYPE) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libcurl.pc" " -lcurl" " -l${namespec}-d") +endif() #Fix install path vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/bin/curl-config" "${CURRENT_PACKAGES_DIR}" "\${prefix}") -vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/bin/curl-config" "${CURRENT_INSTALLED_DIR}" "\${prefix}") -vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/bin/curl-config" "\nprefix=\${prefix}" [=[prefix=$(CDPATH= cd -- "$(dirname -- "$0")"/../../.. && pwd -P)]=]) +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/bin/curl-config" "${CURRENT_INSTALLED_DIR}" "\${prefix}" IGNORE_UNCHANGED) +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/bin/curl-config" "\nprefix='\${prefix}'" [=[prefix=$(CDPATH= cd -- "$(dirname -- "$0")"/../../.. && pwd -P)]=]) file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin") file(RENAME "${CURRENT_PACKAGES_DIR}/bin/curl-config" "${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin/curl-config") if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/bin/curl-config") vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/bin/curl-config" "${CURRENT_PACKAGES_DIR}" "\${prefix}") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/bin/curl-config" "${CURRENT_INSTALLED_DIR}" "\${prefix}") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/bin/curl-config" "\nprefix=\${prefix}/debug" [=[prefix=$(CDPATH= cd -- "$(dirname -- "$0")"/../../../.. && pwd -P)]=]) - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/bin/curl-config" "-lcurl" "-lcurl-d") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/bin/curl-config" "${CURRENT_INSTALLED_DIR}" "\${prefix}" IGNORE_UNCHANGED) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/bin/curl-config" "\nprefix='\${prefix}/debug'" [=[prefix=$(CDPATH= cd -- "$(dirname -- "$0")"/../../../.. && pwd -P)]=]) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/bin/curl-config" "-lcurl" "-l${namespec}-d") vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/bin/curl-config" "curl." "curl-d.") file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug/bin") file(RENAME "${CURRENT_PACKAGES_DIR}/debug/bin/curl-config" "${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug/bin/curl-config") endif() +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") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin") @@ -135,10 +129,22 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") ) endif() -vcpkg_fixup_pkgconfig() -if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libcurl.pc") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libcurl.pc" " -lcurl" " -lcurl-d") -endif() - file(INSTALL "${CURRENT_PORT_DIR}/vcpkg-cmake-wrapper.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +file(INSTALL "${CURRENT_PORT_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") + +file(READ "${SOURCE_PATH}/lib/krb5.c" krb5_c) +string(REGEX REPLACE "#i.*" "" krb5_c "${krb5_c}") +set(krb5_copyright "${CURRENT_BUILDTREES_DIR}/krb5.c Notice") +file(WRITE "${krb5_copyright}" "${krb5_c}") + +file(READ "${SOURCE_PATH}/lib/inet_ntop.c" inet_ntop_c) +string(REGEX REPLACE "#i.*" "" inet_ntop_c "${inet_ntop_c}") +set(inet_ntop_copyright "${CURRENT_BUILDTREES_DIR}/inet_ntop.c and inet_pton.c Notice") +file(WRITE "${inet_ntop_copyright}" "${inet_ntop_c}") + +vcpkg_install_copyright( + FILE_LIST + "${SOURCE_PATH}/COPYING" + "${krb5_copyright}" + "${inet_ntop_copyright}" +) diff --git a/ports/curl/redact-input-vars.diff b/ports/curl/redact-input-vars.diff new file mode 100644 index 00000000000000..b3f2e53c66ddcc --- /dev/null +++ b/ports/curl/redact-input-vars.diff @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c4ba74d..0e8d45f 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -59,7 +59,7 @@ foreach(_cache_var ${_cache_vars}) + else() + set(_cache_var_type ":${_cache_var_type}") + endif() +- set(_cmake_args "${_cmake_args} -D${_cache_var}${_cache_var_type}=\"${${_cache_var}}\"") ++ set(_cmake_args "${_cmake_args} -D${_cache_var}${_cache_var_type}=\"\"") + endif() + endforeach() + diff --git a/ports/curl/usage b/ports/curl/usage new file mode 100644 index 00000000000000..eea11400eee9f1 --- /dev/null +++ b/ports/curl/usage @@ -0,0 +1,4 @@ +curl is compatible with built-in CMake targets: + + find_package(CURL REQUIRED) + target_link_libraries(main PRIVATE CURL::libcurl) diff --git a/ports/curl/vcpkg-cmake-wrapper.cmake b/ports/curl/vcpkg-cmake-wrapper.cmake index 955d9353aca299..9ff5a7b9541519 100644 --- a/ports/curl/vcpkg-cmake-wrapper.cmake +++ b/ports/curl/vcpkg-cmake-wrapper.cmake @@ -1,44 +1,75 @@ -list(REMOVE_ITEM ARGS "NO_MODULE") -list(REMOVE_ITEM ARGS "CONFIG") -list(REMOVE_ITEM ARGS "MODULE") - +cmake_policy(PUSH) cmake_policy(SET CMP0012 NEW) +cmake_policy(SET CMP0054 NEW) +cmake_policy(SET CMP0057 NEW) + +if(NOT CMAKE_VERSION VERSION_LESS 3.14 AND COMPONENTS IN_LIST ARGS) + include("${CMAKE_CURRENT_LIST_DIR}/CURLConfigComponents.cmake") +endif() +list(REMOVE_ITEM ARGS "NO_MODULE" "CONFIG" "MODULE") _find_package(${ARGS} CONFIG) -if(TARGET CURL::libcurl) - set(CURL_FOUND TRUE) +if(CURL_FOUND) + include("${CMAKE_ROOT}/Modules/SelectLibraryConfigurations.cmake") - get_target_property(_curl_include_dirs CURL::libcurl INTERFACE_INCLUDE_DIRECTORIES) - get_target_property(_curl_link_libraries CURL::libcurl INTERFACE_LINK_LIBRARIES) + set(_curl_target CURL::libcurl_shared) + if(TARGET CURL::libcurl_static) + set(_curl_target CURL::libcurl_static) + endif() + get_target_property(_curl_include_dirs ${_curl_target} INTERFACE_INCLUDE_DIRECTORIES) + get_target_property(_curl_link_libraries ${_curl_target} INTERFACE_LINK_LIBRARIES) + if(NOT _curl_link_libraries) + set(_curl_link_libraries "") + endif() + if(_curl_link_libraries MATCHES "ZLIB::ZLIB") + string(REGEX REPLACE "([\$]<[^;]*)?ZLIB::ZLIB([^;]*>)?" "${ZLIB_LIBRARIES}" _curl_link_libraries "${_curl_link_libraries}") + endif() + if(_curl_link_libraries MATCHES "OpenSSL::") + string(REGEX REPLACE "([\$]<[^;]*)?OpenSSL::(SSL|Crypto)([^;]*>)?" "${OPENSSL_LIBRARIES}" _curl_link_libraries "${_curl_link_libraries}") + endif() + 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) + get_target_property(_libssh2_LIBRARY_DEBUG "${_libssh2_target}" IMPORTED_IMPLIB_DEBUG) + get_target_property(_libssh2_LIBRARY_RELEASE "${_libssh2_target}" IMPORTED_IMPLIB_RELEASE) + if(NOT IMPORTED_IMPLIB_DEBUG AND NOT IMPORTED_IMPLIB_RELEASE) + get_target_property(_libssh2_LIBRARY_DEBUG "${_libssh2_target}" IMPORTED_LOCATION_DEBUG) + get_target_property(_libssh2_LIBRARY_RELEASE "${_libssh2_target}" IMPORTED_LOCATION_RELEASE) + endif() + select_library_configurations(_libssh2) + string(REGEX REPLACE "([\$]<[^;]*)?${_libssh2_target}([^;]*>)?" "${_libssh2_LIBRARIES}" _curl_link_libraries "${_curl_link_libraries}") + unset(_libssh2_LIBRARIES) + unset(_libssh2_LIBRARY_DEBUG) + unset(_libssh2_LIBRARY_RELEASE) + unset(_libssh2_target) + endif() + if(_curl_link_libraries MATCHES "::") + message(WARNING "CURL_LIBRARIES list at least one target. This will not work for use cases where targets are not resolved.") + endif() if (CMAKE_SYSTEM_NAME STREQUAL "Windows" OR CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - get_target_property(_curl_location_debug CURL::libcurl IMPORTED_IMPLIB_DEBUG) - get_target_property(_curl_location_release CURL::libcurl IMPORTED_IMPLIB_RELEASE) + get_target_property(_curl_location_debug ${_curl_target} IMPORTED_IMPLIB_DEBUG) + get_target_property(_curl_location_release ${_curl_target} IMPORTED_IMPLIB_RELEASE) endif() if(NOT _curl_location_debug AND NOT _curl_location_release) - get_target_property(_curl_location_debug CURL::libcurl IMPORTED_LOCATION_DEBUG) - get_target_property(_curl_location_release CURL::libcurl IMPORTED_LOCATION_RELEASE) - endif() - - if(NOT _curl_link_libraries) - set(_curl_link_libraries) + get_target_property(_curl_location_debug ${_curl_target} IMPORTED_LOCATION_DEBUG) + get_target_property(_curl_location_release ${_curl_target} IMPORTED_LOCATION_RELEASE) endif() set(CURL_INCLUDE_DIRS "${_curl_include_dirs}") - set(CURL_LIBRARY_DEBUG "${_curl_location_debug}") - set(CURL_LIBRARY_RELEASE "${_curl_location_release}") - - #For builds which rely on CURL_LIBRAR(Y/IES) - include(${CMAKE_ROOT}/Modules/SelectLibraryConfigurations.cmake) + set(CURL_LIBRARY_DEBUG "${_curl_location_debug}" CACHE INTERNAL "vcpkg") + set(CURL_LIBRARY_RELEASE "${_curl_location_release}" CACHE INTERNAL "vcpkg") select_library_configurations(CURL) - set(CURL_LIBRARIES ${CURL_LIBRARY} ${_curl_link_libraries}) set(CURL_VERSION_STRING "${CURL_VERSION}") - set(_curl_include_dirs) - set(_curl_link_libraries) - set(_curl_location_debug) - set(_curl_location_release) + unset(_curl_include_dirs) + unset(_curl_link_libraries) + unset(_curl_location_debug) + unset(_curl_location_release) + unset(_curl_target) endif() +cmake_policy(POP) diff --git a/ports/curl/vcpkg.json b/ports/curl/vcpkg.json index aafc6cccd97694..5fa5e1cf4df40b 100644 --- a/ports/curl/vcpkg.json +++ b/ports/curl/vcpkg.json @@ -1,8 +1,10 @@ { "name": "curl", - "version": "7.79.1", + "version": "8.11.0", + "port-version": 1, "description": "A library for transferring data with URLs", - "homepage": "https://github.com/curl/curl", + "homepage": "https://curl.se/", + "license": "curl AND ISC AND BSD-3-Clause", "dependencies": [ { "name": "vcpkg-cmake", @@ -31,6 +33,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": [ @@ -68,10 +96,23 @@ "idn2": { "description": "idn2 support (libidn2)", "dependencies": [ - "libidn2", + "libidn2" + ] + }, + "ldap": { + "description": "LDAP support", + "supports": "!uwp", + "dependencies": [ { - "name": "vcpkg-pkgconfig-get-modules", - "host": true + "name": "curl", + "default-features": false, + "features": [ + "non-http" + ] + }, + { + "name": "openldap", + "platform": "!windows" } ] }, @@ -90,8 +131,15 @@ "openssl" ] }, + "psl": { + "description": "Use psl support (libpsl)", + "dependencies": [ + "libpsl" + ] + }, "schannel": { "description": "SSL support (Secure Channel)", + "supports": "windows & !uwp", "dependencies": [ { "name": "curl", @@ -103,7 +151,8 @@ ] }, "sectransp": { - "description": "SSL support (sectransp)" + "description": "SSL support (sectransp)", + "supports": "osx | ios" }, "ssh": { "description": "SSH support via libssh2", @@ -134,7 +183,7 @@ "features": [ "sectransp" ], - "platform": "osx" + "platform": "osx | ios" }, { "name": "curl", @@ -150,33 +199,40 @@ "features": [ "openssl" ], - "platform": "(uwp | !windows) & !osx & !mingw" + "platform": "(uwp | !windows) & !(osx | ios) & !mingw" } ] }, "sspi": { - "description": "SSPI support" + "description": "SSPI support", + "supports": "windows & !uwp" }, "tool": { - "description": "Builds curl executable" + "description": "Builds curl executable", + "supports": "!uwp" + }, + "websockets": { + "description": "WebSocket support" }, "winidn": { - "description": "WinIDN support" + "description": "WinIDN support", + "supports": "windows" }, "winldap": { - "description": "LDAP support (WinLDAP). This feature does not include LDAPS support.", + "description": "Obsolete. Use feature 'ldap' instead.", "dependencies": [ { "name": "curl", "default-features": false, "features": [ - "non-http" + "ldap" ] } ] }, "winssl": { "description": "Legacy name for schannel", + "supports": "windows & !uwp", "dependencies": [ { "name": "curl", @@ -186,6 +242,18 @@ ] } ] + }, + "wolfssl": { + "description": "SSL support (wolfSSL)", + "dependencies": [ + "wolfssl" + ] + }, + "zstd": { + "description": "ZStandard support (zstd)", + "dependencies": [ + "zstd" + ] } } } 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 f589a73bb0d821..49a15b208a4cff 100644 --- a/ports/curlpp/portfile.cmake +++ b/ports/curlpp/portfile.cmake @@ -7,30 +7,40 @@ vcpkg_from_github( PATCHES fix-cmake.patch fix-findzliberror.patch + obsolete-curlopt.diff ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT} TARGET_PATH share/unofficial-${PORT}) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT} PACKAGE_NAME unofficial-${PORT}) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +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 + "${CURRENT_PACKAGES_DIR}/bin" + "${CURRENT_PACKAGES_DIR}/debug/bin" ) endif() -vcpkg_copy_pdbs() - -file(INSTALL ${SOURCE_PATH}/doc/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) -file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/unofficial-${PORT}) +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`/..") + if(NOT VCPKG_BUILD_TYPE) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/bin/curlpp-config" "${CURRENT_PACKAGES_DIR}" "`dirname $0`/../..") + 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() + +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 4486c433db6be4..95ae9444a7fd81 100644 --- a/ports/curlpp/vcpkg.json +++ b/ports/curlpp/vcpkg.json @@ -1,9 +1,22 @@ { "name": "curlpp", - "version-string": "2018-06-15", - "port-version": 5, + "version-date": "2018-06-15", + "port-version": 10, "description": "C++ wrapper around libcURL", + "homepage": "https://github.com/jpbarrette/curlpp", + "license": "MIT", "dependencies": [ - "curl" + { + "name": "curl", + "default-features": false + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/cute-headers/vcpkg.json b/ports/cute-headers/vcpkg.json index bd12b94b48cb45..145333c8584a32 100644 --- a/ports/cute-headers/vcpkg.json +++ b/ports/cute-headers/vcpkg.json @@ -1,7 +1,7 @@ { "name": "cute-headers", - "version-string": "2019-09-20", - "port-version": 1, + "version-date": "2019-09-20", + "port-version": 2, "description": "Collection of cross-platform one-file C/C++ libraries with no dependencies", "homepage": "https://github.com/RandyGaul/cute_headers" } diff --git a/ports/cutelyst2/portfile.cmake b/ports/cutelyst2/portfile.cmake index 98d84ed31f020e..10a5d4d344ba37 100644 --- a/ports/cutelyst2/portfile.cmake +++ b/ports/cutelyst2/portfile.cmake @@ -12,38 +12,42 @@ if (VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL static) set(BUILD_WIN_STATIC ON) endif() -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_TESTS:BOOL=OFF -DBUILD_WIN_STATIC=${BUILD_WIN_STATIC} ) -vcpkg_install_cmake() +vcpkg_cmake_install() # Move CMake config files to the right place -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/Cutelyst2Qt5 TARGET_PATH share/cutelyst2qt5) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/Cutelyst2Qt5) -file(GLOB EXES ${CURRENT_PACKAGES_DIR}/bin/cutelyst2 ${CURRENT_PACKAGES_DIR}/bin/cutelyst2-wsgi ${CURRENT_PACKAGES_DIR}/bin/cutelyst2.exe ${CURRENT_PACKAGES_DIR}/bin/cutelyst-wsgi2.exe) -file(GLOB DEBUG_EXES ${CURRENT_PACKAGES_DIR}/debug/bin/cutelyst2 ${CURRENT_PACKAGES_DIR}/debug/bin/cutelyst2-wsgi ${CURRENT_PACKAGES_DIR}/debug/bin/cutelyst2.exe ${CURRENT_PACKAGES_DIR}/debug/bin/cutelyst-wsgi2.exe) +file(GLOB EXES "${CURRENT_PACKAGES_DIR}/bin/cutelyst2" "${CURRENT_PACKAGES_DIR}/bin/cutelyst2-wsgi" "${CURRENT_PACKAGES_DIR}/bin/cutelyst2.exe" "${CURRENT_PACKAGES_DIR}/bin/cutelyst-wsgi2.exe") +file(GLOB DEBUG_EXES "${CURRENT_PACKAGES_DIR}/debug/bin/cutelyst2" "${CURRENT_PACKAGES_DIR}/debug/bin/cutelyst2-wsgi" "${CURRENT_PACKAGES_DIR}/debug/bin/cutelyst2.exe" "${CURRENT_PACKAGES_DIR}/debug/bin/cutelyst-wsgi2.exe") if(EXES OR DEBUG_EXES) - file(COPY ${EXES} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/cutelyst2) + file(COPY ${EXES} DESTINATION "${CURRENT_PACKAGES_DIR}/tools/cutelyst2") file(REMOVE ${EXES} ${DEBUG_EXES}) - vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/cutelyst2) + vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/cutelyst2") endif() -if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/cutelyst2-plugins/ActionREST.dll) - file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cutelyst2-plugins ${CURRENT_PACKAGES_DIR}/bin/cutelyst2-plugins) +if(EXISTS "${CURRENT_PACKAGES_DIR}/lib/cutelyst2-plugins/ActionREST.dll") + file(RENAME "${CURRENT_PACKAGES_DIR}/lib/cutelyst2-plugins" "${CURRENT_PACKAGES_DIR}/bin/cutelyst2-plugins") endif() -if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/lib/cutelyst2-plugins/ActionREST.dll) - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/cutelyst2-plugins ${CURRENT_PACKAGES_DIR}/debug/bin/cutelyst2-plugins) +if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/lib/cutelyst2-plugins/ActionREST.dll") + file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/cutelyst2-plugins" "${CURRENT_PACKAGES_DIR}/debug/bin/cutelyst2-plugins") endif() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") # Handle copyright -configure_file(${SOURCE_PATH}/COPYING ${CURRENT_PACKAGES_DIR}/share/cutelyst2/copyright COPYONLY) +configure_file("${SOURCE_PATH}/COPYING" "${CURRENT_PACKAGES_DIR}/share/cutelyst2/copyright" COPYONLY) vcpkg_copy_pdbs() +if(VCPKG_TARGET_IS_WINDOWS) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/pkgconfig" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig") +else() + vcpkg_fixup_pkgconfig() +endif() diff --git a/ports/cutelyst2/vcpkg.json b/ports/cutelyst2/vcpkg.json index 2a0bdda3f7d737..928b6140ef38b9 100644 --- a/ports/cutelyst2/vcpkg.json +++ b/ports/cutelyst2/vcpkg.json @@ -1,12 +1,20 @@ { "name": "cutelyst2", - "version-string": "2.12.0", - "port-version": 1, + "version": "2.12.0", + "port-version": 2, "description": "A C++ Web Framework built on top of Qt, using the simple approach of Catalyst (Perl) framework", "dependencies": [ { "name": "qt5-base", "default-features": false + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true } ] } diff --git a/ports/cwalk/portfile.cmake b/ports/cwalk/portfile.cmake index a795d1a4019ae1..df713f1bcd51d1 100644 --- a/ports/cwalk/portfile.cmake +++ b/ports/cwalk/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO likle/cwalk - REF v1.2.6 - SHA512 d43f339178367facd2f80944f5491631edab24fa4a92e30fd8f4d9c533ec3a2edbc04105066148be8458b64d0fac9e7d86408ca9601db291b93df222dc875fd4 + REF "v${VERSION}" + 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 d3e1cf9c10d869..8e34f60e4bb4c1 100644 --- a/ports/cwalk/vcpkg.json +++ b/ports/cwalk/vcpkg.json @@ -1,6 +1,6 @@ { "name": "cwalk", - "version": "1.2.6", + "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 new file mode 100644 index 00000000000000..9003affe2aa3c8 --- /dev/null +++ b/ports/cxxgraph/portfile.cmake @@ -0,0 +1,15 @@ +set(VCPKG_BUILD_TYPE release) # Header-only library + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO ZigRazor/CXXGraph + REF "v${VERSION}" + 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") +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 new file mode 100644 index 00000000000000..3e9c69231140d9 --- /dev/null +++ b/ports/cxxgraph/usage @@ -0,0 +1,4 @@ +To use CXXGraph header files: + + 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 new file mode 100644 index 00000000000000..459886ba24ea7e --- /dev/null +++ b/ports/cxxgraph/vcpkg.json @@ -0,0 +1,16 @@ +{ + "name": "cxxgraph", + "version": "4.1.0", + "description": "CXXGraph is a header only comprehensive C++ graph library.", + "homepage": "https://github.com/ZigRazor/CXXGraph", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/cxxopts/fix-uwp-error.patch b/ports/cxxopts/fix-uwp-error.patch deleted file mode 100644 index da1d4559572488..00000000000000 --- a/ports/cxxopts/fix-uwp-error.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 440490b..0ceb003 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -54,6 +54,8 @@ endif() - - add_library(cxxopts INTERFACE) - -+add_definitions(-D_CRT_SECURE_NO_WARNINGS) -+ - # optionally, enable unicode support using the ICU library - set(CXXOPTS_USE_UNICODE_HELP FALSE CACHE BOOL "Use ICU Unicode library") - if(CXXOPTS_USE_UNICODE_HELP) diff --git a/ports/cxxopts/portfile.cmake b/ports/cxxopts/portfile.cmake index 552e877d287c25..0da4a4b46f4fba 100644 --- a/ports/cxxopts/portfile.cmake +++ b/ports/cxxopts/portfile.cmake @@ -1,25 +1,25 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO jarro2783/cxxopts - REF 302302b30839505703d37fb82f536c53cf9172fa # v2.2.1 - SHA512 ba4fe586772979929e090310557b1cba66c7350593ae170e3c7bd6577cf147b20dbe3ba834f2ed6e1044a1b38d5166bfd0491ab573df68e678ff2dc792a3c442 + REF "v${VERSION}" + SHA512 7841fb3e6c3c2a057917c962e29fc0090e6ed06f5515aaa5e2a868fef59071a9a99b74d81c32cf613ecf10a68a4d96d6ad07805f48c7c3951ded096a2317dc3d HEAD_REF master - PATCHES - fix-uwp-error.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DCXXOPTS_BUILD_EXAMPLES=OFF - -DCXXOPTS_BUILD_TESTS=OFF + -DCXXOPTS_BUILD_TESTS=OFF + -DCXXOPTS_ENABLE_WARNINGS=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/cxxopts) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/cxxopts) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib) +vcpkg_fixup_pkgconfig() -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/cxxopts RENAME copyright) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug" "${CURRENT_PACKAGES_DIR}/lib") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/cxxopts/vcpkg.json b/ports/cxxopts/vcpkg.json index 213f5cefcc357d..85fe9490909361 100644 --- a/ports/cxxopts/vcpkg.json +++ b/ports/cxxopts/vcpkg.json @@ -1,7 +1,17 @@ { "name": "cxxopts", - "version-string": "2.2.1", - "port-version": 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" + "homepage": "https://github.com/jarro2783/cxxopts", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/cyclonedds-cxx/portfile.cmake b/ports/cyclonedds-cxx/portfile.cmake new file mode 100644 index 00000000000000..2b46ebc0228c5c --- /dev/null +++ b/ports/cyclonedds-cxx/portfile.cmake @@ -0,0 +1,27 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO eclipse-cyclonedds/cyclonedds-cxx + REF "${VERSION}" + SHA512 fd03beca1f2b7140c213a2be8c19390c308469b625e2bafd66935258d4e6bec6a8c01940c208501f2619c36f0a04f6538b17b1b7ca562ab5a7533be0747e5bef + HEAD_REF master +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + "idllib" BUILD_IDLLIB +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/CycloneDDS-CXX") + +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/cyclonedds-cxx/vcpkg.json b/ports/cyclonedds-cxx/vcpkg.json new file mode 100644 index 00000000000000..5e09d0164cd67c --- /dev/null +++ b/ports/cyclonedds-cxx/vcpkg.json @@ -0,0 +1,36 @@ +{ + "name": "cyclonedds-cxx", + "version": "0.10.5", + "description": "C++ binding for Eclipse Cyclone DDS", + "homepage": "https://cyclonedds.io", + "license": "EPL-2.0", + "dependencies": [ + { + "name": "cyclonedds", + "default-features": false + }, + "openssl", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "idllib": { + "description": "Build IDL preprocessor lib", + "dependencies": [ + { + "name": "cyclonedds", + "default-features": false, + "features": [ + "idlc" + ] + } + ] + } + } +} diff --git a/ports/cyclonedds/enable-security.patch b/ports/cyclonedds/enable-security.patch new file mode 100644 index 00000000000000..a41427298693e4 --- /dev/null +++ b/ports/cyclonedds/enable-security.patch @@ -0,0 +1,13 @@ +diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt +index 148fb3f2..c9c4d96c 100644 +--- a/src/core/CMakeLists.txt ++++ b/src/core/CMakeLists.txt +@@ -43,7 +43,7 @@ endif() + + # Support the OMG DDS Security within ddsc adds quite a bit of code. + if(ENABLE_SECURITY) +- target_link_libraries(ddsc PRIVATE security_core) ++ target_link_libraries(ddsc PRIVATE $) + target_include_directories( + ddsc PUBLIC + $>) diff --git a/ports/cyclonedds/idlc-generate.patch b/ports/cyclonedds/idlc-generate.patch new file mode 100644 index 00000000000000..5c9715e7fec535 --- /dev/null +++ b/ports/cyclonedds/idlc-generate.patch @@ -0,0 +1,35 @@ +diff --git a/cmake/Modules/Generate.cmake b/cmake/Modules/Generate.cmake +index 0ed67d63..9037fe05 100644 +--- a/cmake/Modules/Generate.cmake ++++ b/cmake/Modules/Generate.cmake +@@ -157,11 +157,25 @@ function(IDLC_GENERATE_GENERIC) + endforeach() + + list(APPEND _outputs ${_file_outputs}) +- add_custom_command( +- OUTPUT ${_file_outputs} +- COMMAND ${_idlc_executable} +- ARGS ${_language} ${IDLC_ARGS} ${IDLC_INCLUDE_DIRS} ${_file} +- DEPENDS ${_files} ${_depends}) ++ if(APPLE) ++ add_custom_command( ++ OUTPUT ${_file_outputs} ++ COMMAND ${CMAKE_COMMAND} ++ ARGS -E env "DYLD_LIBRARY_PATH=$/../../lib" $ ${_language} ${IDLC_ARGS} ${IDLC_INCLUDE_DIRS} ${_file} ++ DEPENDS ${_files} ${_depends}) ++ elseif(UNIX) ++ add_custom_command( ++ OUTPUT ${_file_outputs} ++ COMMAND ${CMAKE_COMMAND} ++ ARGS -E env "LD_LIBRARY_PATH=$/../../lib" $ ${_language} ${IDLC_ARGS} ${IDLC_INCLUDE_DIRS} ${_file} ++ DEPENDS ${_files} ${_depends}) ++ else() ++ add_custom_command( ++ OUTPUT ${_file_outputs} ++ COMMAND ${_idlc_executable} ++ ARGS ${_language} ${IDLC_ARGS} ${IDLC_INCLUDE_DIRS} ${_file} ++ DEPENDS ${_files} ${_depends}) ++ endif() + endforeach() + + add_custom_target("${_target}_generate" DEPENDS "${_outputs}") diff --git a/ports/cyclonedds/portfile.cmake b/ports/cyclonedds/portfile.cmake new file mode 100644 index 00000000000000..ac81d03135eee1 --- /dev/null +++ b/ports/cyclonedds/portfile.cmake @@ -0,0 +1,51 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO eclipse-cyclonedds/cyclonedds + REF "${VERSION}" + SHA512 de63a7207c36ff1b185b1a108d697d37675078ac15c34a940429b619b048593056dd8c4c920fb708235b972f94536452973eb40a8e66da1d57cb9b9b03005f30 + HEAD_REF master + PATCHES + enable-security.patch + idlc-generate.patch +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + "ddsperf" BUILD_DDSPERF + "deadline-missed" ENABLE_DEADLINE_MISSED + "ipv6" ENABLE_IPV6 + "idlc" BUILD_IDLC + "lifespan" ENABLE_LIFESPAN + "security" ENABLE_SECURITY + "shm" ENABLE_SHM + "source-specific-multicast" ENABLE_SOURCE_SPECIFIC_MULTICAST + "ssl" ENABLE_SSL + "topic-discovery" ENABLE_TOPIC_DISCOVERY + "type-discovery" ENABLE_TYPE_DISCOVERY +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/CycloneDDS") + +if(BUILD_IDLC) + vcpkg_copy_tools(TOOL_NAMES idlc AUTO_CLEAN) +endif() + +if(BUILD_DDSPERF) + vcpkg_copy_tools(TOOL_NAMES ddsperf AUTO_CLEAN) +endif() + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" +) + +vcpkg_fixup_pkgconfig() +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/cyclonedds/usage b/ports/cyclonedds/usage new file mode 100644 index 00000000000000..dcc8c83136e461 --- /dev/null +++ b/ports/cyclonedds/usage @@ -0,0 +1,4 @@ +cyclonedds provides CMake targets: + + find_package(CycloneDDS CONFIG REQUIRED) + target_link_libraries(main PRIVATE CycloneDDS::ddsc) diff --git a/ports/cyclonedds/vcpkg.json b/ports/cyclonedds/vcpkg.json new file mode 100644 index 00000000000000..1f1875bf664283 --- /dev/null +++ b/ports/cyclonedds/vcpkg.json @@ -0,0 +1,88 @@ +{ + "name": "cyclonedds", + "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", + "supports": "!uwp & !(arm64 & windows)", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "default-features": [ + "deadline-missed", + "ipv6", + "lifespan", + "security", + "source-specific-multicast", + "topic-discovery", + "type-discovery" + ], + "features": { + "ddsperf": { + "description": "Build ddsperf tool", + "dependencies": [ + { + "name": "cyclonedds", + "host": true, + "default-features": false, + "features": [ + "idlc" + ] + } + ] + }, + "deadline-missed": { + "description": "Enable Deadline Missed QoS suppor" + }, + "idlc": { + "description": "Build IDL preprocessor" + }, + "ipv6": { + "description": "Enable ipv6 support" + }, + "lifespan": { + "description": "Enable Lifespan QoS support" + }, + "security": { + "description": "Enable OMG DDS Security support" + }, + "shm": { + "description": "Enable shared memory support", + "supports": "!windows", + "dependencies": [ + "iceoryx" + ] + }, + "source-specific-multicast": { + "description": "Enable support for source-specific multicast" + }, + "ssl": { + "description": "Enable OpenSSL support", + "dependencies": [ + "openssl" + ] + }, + "topic-discovery": { + "description": "Enable Topic Discovery support", + "dependencies": [ + { + "name": "cyclonedds", + "default-features": false, + "features": [ + "type-discovery" + ] + } + ] + }, + "type-discovery": { + "description": "Enable Type Discovery support" + } + } +} 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 a24d0be9a6de83..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} ) @@ -62,14 +63,16 @@ file(COPY DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" ) -if ("tool" IN_LIST FEATURES) - vcpkg_copy_tools(TOOL_NAMES zmakecert) -endif() - -vcpkg_clean_executables_in_bin(FILE_NAMES zmakecert) +vcpkg_copy_tools(TOOL_NAMES zmakecert AUTO_CLEAN) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") +# Remove headers with "common" names that conflict with other packages which aren't intended to be installed +# See https://github.com/zeromq/czmq/issues/2197 +foreach(FILE readme.txt sha1.h sha1.inc_c slre.h slre.inc_c zgossip_engine.inc zgossip_msg.h zhash_primes.inc zsock_option.inc) + file(REMOVE "${CURRENT_PACKAGES_DIR}/include/${FILE}") +endforeach() + if(VCPKG_LIBRARY_LINKAGE STREQUAL static) vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/include/czmq_library.h "if defined CZMQ_STATIC" @@ -78,4 +81,4 @@ 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") diff --git a/ports/czmq/vcpkg.json b/ports/czmq/vcpkg.json index 326c881d6bf6ae..6cbe67481560c9 100644 --- a/ports/czmq/vcpkg.json +++ b/ports/czmq/vcpkg.json @@ -1,9 +1,11 @@ { "name": "czmq", "version-semver": "4.2.1", + "port-version": 4, "description": "High-level C binding for ZeroMQ", "homepage": "https://github.com/zeromq/czmq", "license": "MPL-2.0", + "supports": "!xbox", "dependencies": [ { "name": "vcpkg-cmake", 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 884610b06184cc..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} PRIVATE "src/") - -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 89a4093bb4e6df..942e92fb4689b2 100644 --- a/ports/d3d12-memory-allocator/portfile.cmake +++ b/ports/d3d12-memory-allocator/portfile.cmake @@ -1,17 +1,16 @@ -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} + SOURCE_PATH "${SOURCE_PATH}" ) vcpkg_cmake_install() @@ -19,4 +18,4 @@ vcpkg_copy_pdbs() vcpkg_cmake_config_fixup(CONFIG_PATH cmake/) 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/d3d12-memory-allocator/vcpkg.json b/ports/d3d12-memory-allocator/vcpkg.json index b31b48509a0dab..8cd975176d1dcf 100644 --- a/ports/d3d12-memory-allocator/vcpkg.json +++ b/ports/d3d12-memory-allocator/vcpkg.json @@ -1,8 +1,8 @@ { "name": "d3d12-memory-allocator", - "version-date": "2021-05-05", + "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/d3dx12/vcpkg.json b/ports/d3dx12/vcpkg.json index 1886ec5a1fed18..3b7d929b9264cd 100644 --- a/ports/d3dx12/vcpkg.json +++ b/ports/d3dx12/vcpkg.json @@ -1,6 +1,9 @@ { "name": "d3dx12", "version-string": "may2021", + "port-version": 1, "description": "The D3D12 Helper Library", - "homepage": "https://docs.microsoft.com/en-us/windows/win32/direct3d12/helper-structures-and-functions-for-d3d12" + "homepage": "https://docs.microsoft.com/en-us/windows/win32/direct3d12/helper-structures-and-functions-for-d3d12", + "license": "MIT", + "supports": "(windows & !xbox) | linux" } diff --git a/ports/darknet/portfile.cmake b/ports/darknet/portfile.cmake index cd1f9716f3a133..ef514b7e5add75 100644 --- a/ports/darknet/portfile.cmake +++ b/ports/darknet/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO AlexeyAB/darknet - REF 5853e51d604712918bd2fb23bab0ec82d19a88f9 - SHA512 d61e94209d66db3b71ad14d83c83a4d562879119b67881e9eacc60efb16e44496b291000c8c545055db5ae0e542cfb149fdbed2058584962fa52b604353ddccd + REF 19dde2f296941a75b0b9202cccd59528bde7f65a + SHA512 3f24fd5c69a00032e63fc8479d46dedf9008909c5e0f37847f0427c39f35e68f35a5ee89820cd0a179cb282e49730e6b1465a027d89bef585e9a1cfca6e3d3a2 HEAD_REF master ) @@ -14,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() @@ -26,39 +26,39 @@ if ("cuda" IN_LIST FEATURES) endif() #make sure we don't use any integrated pre-built library nor any unnecessary CMake module -file(REMOVE_RECURSE ${SOURCE_PATH}/3rdparty) -file(REMOVE ${SOURCE_PATH}/cmake/Modules/FindPThreads_windows.cmake) -file(REMOVE ${SOURCE_PATH}/cmake/Modules/FindCUDNN.cmake) -file(REMOVE ${SOURCE_PATH}/cmake/Modules/FindStb.cmake) +file(REMOVE_RECURSE "${SOURCE_PATH}/3rdparty") +file(REMOVE_RECURSE "${SOURCE_PATH}/cmake/Modules") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" DISABLE_PARALLEL_CONFIGURE - PREFER_NINJA - 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_install_cmake() -vcpkg_copy_tools(AUTO_CLEAN TOOL_NAMES darknet uselib) -if ("opencv-cuda" IN_LIST FEATURES OR "opencv3-cuda" IN_LIST FEATURES) +vcpkg_cmake_install() +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() -file(COPY ${SOURCE_PATH}/cfg DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT}) -file(COPY ${SOURCE_PATH}/data DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT}) +file(COPY "${SOURCE_PATH}/cfg" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}") +file(COPY "${SOURCE_PATH}/data" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}") if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") endif() -vcpkg_fixup_cmake_targets() +vcpkg_cmake_config_fixup() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -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(INSTALL ${SOURCE_PATH}/scripts/download_weights.ps1 DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT}/scripts) +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") -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/darknet/vcpkg.json b/ports/darknet/vcpkg.json index d599397c63f908..a5dc0999cbc743 100644 --- a/ports/darknet/vcpkg.json +++ b/ports/darknet/vcpkg.json @@ -1,12 +1,24 @@ { "name": "darknet", - "version-date": "2021-04-16", - "port-version": 1, + "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, "dependencies": [ + { + "name": "getopt", + "platform": "windows & !mingw" + }, "pthreads", - "stb" + "stb", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ], "features": { "cuda": { @@ -41,8 +53,6 @@ { "name": "opencv", "features": [ - "contrib", - "dnn", "ffmpeg" ] } @@ -52,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/darts-clone/portfile.cmake b/ports/darts-clone/portfile.cmake index 7ed6e4d5920086..88e352fc37e53c 100644 --- a/ports/darts-clone/portfile.cmake +++ b/ports/darts-clone/portfile.cmake @@ -9,19 +9,18 @@ vcpkg_from_github( HEAD_REF master ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -file(REMOVE ${CURRENT_PACKAGES_DIR}/include/Makefile.am) +file(REMOVE "${CURRENT_PACKAGES_DIR}/include/Makefile.am") -file(INSTALL ${SOURCE_PATH}/COPYING.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/darts-clone RENAME copyright) +file(INSTALL "${SOURCE_PATH}/COPYING.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/darts-clone/vcpkg.json b/ports/darts-clone/vcpkg.json index e99a2315ff725a..575064863c7b36 100644 --- a/ports/darts-clone/vcpkg.json +++ b/ports/darts-clone/vcpkg.json @@ -1,6 +1,16 @@ { "name": "darts-clone", "version-string": "1767ab87cffe", - "port-version": 2, - "description": "A static double-array trie structure" + "port-version": 3, + "description": "A static double-array trie structure", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/dartsim/disable_unit_tests_examples_and_tutorials.patch b/ports/dartsim/disable_unit_tests_examples_and_tutorials.patch index e20d8de079b60a..5836b28434eb1d 100644 --- a/ports/dartsim/disable_unit_tests_examples_and_tutorials.patch +++ b/ports/dartsim/disable_unit_tests_examples_and_tutorials.patch @@ -1,13 +1,26 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 9940065eb8..b25fa4919a 100644 +index 100bfb8b59be..b0779885c788 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -298,7 +298,7 @@ add_subdirectory(dart) +@@ -292,7 +292,7 @@ add_subdirectory(dart) set(DART_IN_SOURCE_BUILD TRUE) -if(TARGET dart) -+if(false) ++if(0) # Add a "tests" target to build unit tests. enable_testing() +diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt +index 08ef983cdcfa..7092d89bb17d 100644 +--- a/python/CMakeLists.txt ++++ b/python/CMakeLists.txt +@@ -1,6 +1,8 @@ + set(DART_DARTPY_BUILD_DIR "${CMAKE_CURRENT_BINARY_DIR}/dartpy") + + add_subdirectory(dartpy) ++if(0) + add_subdirectory(tests) + add_subdirectory(examples) + add_subdirectory(tutorials) ++endif() diff --git a/ports/dartsim/fix-pc-dependencies.patch b/ports/dartsim/fix-pc-dependencies.patch new file mode 100644 index 00000000000000..f2b4d82c81088a --- /dev/null +++ b/ports/dartsim/fix-pc-dependencies.patch @@ -0,0 +1,8 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -70,3 +70,3 @@ + set(DART_PKG_DESC "Dynamic Animation and Robotics Toolkit.") +-set(DART_PKG_EXTERNAL_DEPS "eigen, ccd, fcl, assimp, boost") ++set(DART_PKG_EXTERNAL_DEPS "assimp, ccd, eigen3, fcl, octomap") + diff --git a/ports/dartsim/portfile.cmake b/ports/dartsim/portfile.cmake index d2a7b276fdc637..7086f3f86b364c 100644 --- a/ports/dartsim/portfile.cmake +++ b/ports/dartsim/portfile.cmake @@ -4,15 +4,16 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO dartsim/dart - REF v6.11.0 - SHA512 01fbff039bcec71d41334db2d07d0973b1ba58d30d05b29e35e1e3cee853917753b64e1101881113a33adb801559855d38d274fbb3383cfb24d85565254d112d + REF v${VERSION} + SHA512 6d04da37d0eb40a35a3aaec583af024e2edf71d68bb38b6832760de21a349221387644ed9be0cc1e451c669bbf48eb53d8d0cd3be1b1b265a30be2aa17c7e48b HEAD_REF main PATCHES disable_unit_tests_examples_and_tutorials.patch + fix-pc-dependencies.patch ) vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DDART_VERBOSE=ON -DDART_MSVC_DEFAULT_OPTIONS=ON @@ -20,17 +21,27 @@ vcpkg_cmake_configure( -DDART_SKIP_FLANN=ON -DDART_SKIP_IPOPT=ON -DDART_SKIP_NLOPT=ON - -DDART_SKIP_OPENGL=ON -DDART_SKIP_pagmo=ON + -Durdfdom_headers_VERSION_MAJOR=1 # urdfdom-headers does not expose a header macro for its version. + -Durdfdom_headers_VERSION_MINOR=0 # versions of at least 1.0.0 use std:: constructs in their ABI instead of boost:: ones. + -Durdfdom_headers_VERSION_PATCH=0 + MAYBE_UNUSED_VARIABLES + DART_MSVC_DEFAULT_OPTIONS ) vcpkg_cmake_install() vcpkg_cmake_config_fixup(CONFIG_PATH share/dart/cmake PACKAGE_NAME dart) -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(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/doc") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +# only used for tests and examples (we removed the examples in share/doc above): +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/\"" "") # Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME 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 6590d1814070b5..a0f8610cb019c3 100644 --- a/ports/dartsim/vcpkg.json +++ b/ports/dartsim/vcpkg.json @@ -1,9 +1,10 @@ { "name": "dartsim", - "version": "6.11.0", - "port-version": 1, + "version": "6.12.2", + "port-version": 3, "description": "Dynamic Animation and Robotics Toolkit", "homepage": "https://dartsim.github.io/", + "license": "BSD-2-Clause", "dependencies": [ "assimp", "boost-algorithm", @@ -18,8 +19,11 @@ "ccd", "eigen3", "fcl", + "fmt", + "freeglut", "octomap", "ode", + "opengl", "tinyxml2", "urdfdom", { diff --git a/ports/dataframe/portfile.cmake b/ports/dataframe/portfile.cmake index 0694da42f1bf95..9420d2c6b493fa 100644 --- a/ports/dataframe/portfile.cmake +++ b/ports/dataframe/portfile.cmake @@ -1,25 +1,22 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO hosseinmoein/DataFrame - REF 1.19.0 - SHA512 4415644b04d9c3b5ab3487ee896d0f020f0659d71b8bc128a649e14c6edb22c4848d228016a0108a122060d5aa9452260a3936761cf228eb7a7a436a64f031ff + REF "${VERSION}" + SHA512 0586c114091dcc030d25a16dfe5f8bc9eeaedd1f8d7be6ceeb14538fd848fab45515367de0bb095b8a91b4570111a76c37ffe1cb406b136afef2dcf0fd977ac7 HEAD_REF master ) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DENABLE_TESTING:BOOL=OFF + -DHMDF_TESTING:BOOL=OFF ) vcpkg_cmake_install() -if(VCPKG_TARGET_IS_WINDOWS) - vcpkg_cmake_config_fixup(CONFIG_PATH cmake) -else() - vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/DataFrame) -endif() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/DataFrame) + 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/dataframe/vcpkg.json b/ports/dataframe/vcpkg.json index dbfb63e385782c..b0f0fea56e41c2 100644 --- a/ports/dataframe/vcpkg.json +++ b/ports/dataframe/vcpkg.json @@ -1,8 +1,9 @@ { "name": "dataframe", - "version": "1.19.0", - "description": "This is a C++ statistical library that provides an interface similar to Pandas package in Python", + "version": "3.3.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", "dependencies": [ { diff --git a/ports/date/0001-fix-uwp.patch b/ports/date/0001-fix-uwp.patch index b414722cd85f9d..534f432f46c1bf 100644 --- a/ports/date/0001-fix-uwp.patch +++ b/ports/date/0001-fix-uwp.patch @@ -1,8 +1,8 @@ -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 @@ +diff --git a/include/date/date.h b/include/date/date.h +index beb627e..ba48515 100644 +--- a/include/date/date.h ++++ b/include/date/date.h +@@ -81,7 +81,7 @@ #ifdef _MSC_VER # pragma warning(push) // warning C4127: conditional expression is constant @@ -11,3 +11,80 @@ index fce6200..6a77ad4 100644 #endif namespace date +diff --git a/src/tz.cpp b/src/tz.cpp +index 82e4312..9481afa 100644 +--- a/src/tz.cpp ++++ b/src/tz.cpp +@@ -202,35 +202,6 @@ namespace + using co_task_mem_ptr = std::unique_ptr; + } + +-static +-std::wstring +-convert_utf8_to_utf16(const std::string& s) +-{ +- std::wstring out; +- const int size = MultiByteToWideChar(CP_UTF8, 0, s.c_str(), -1, NULL, 0); +- +- if (size == 0) +- { +- std::string msg = "Failed to determine required size when converting \""; +- msg += s; +- msg += "\" to UTF-16."; +- throw std::runtime_error(msg); +- } +- +- out.resize(size); +- const int check = MultiByteToWideChar(CP_UTF8, 0, s.c_str(), -1, &out[0], size); +- +- if (size != check) +- { +- std::string msg = "Failed to convert \""; +- msg += s; +- msg += "\" to UTF-16."; +- throw std::runtime_error(msg); +- } +- +- return out; +-} +- + // We might need to know certain locations even if not using the remote API, + // so keep these routines out of that block for now. + static +@@ -268,6 +239,36 @@ get_download_folder() + # endif // !INSTALL + + # endif // WINRT ++ ++static ++std::wstring ++convert_utf8_to_utf16(const std::string& s) ++{ ++ std::wstring out; ++ const int size = MultiByteToWideChar(CP_UTF8, 0, s.c_str(), -1, NULL, 0); ++ ++ if (size == 0) ++ { ++ std::string msg = "Failed to determine required size when converting \""; ++ msg += s; ++ msg += "\" to UTF-16."; ++ throw std::runtime_error(msg); ++ } ++ ++ out.resize(size); ++ const int check = MultiByteToWideChar(CP_UTF8, 0, s.c_str(), -1, &out[0], size); ++ ++ if (size != check) ++ { ++ std::string msg = "Failed to convert \""; ++ msg += s; ++ msg += "\" to UTF-16."; ++ throw std::runtime_error(msg); ++ } ++ ++ return out; ++} ++ + # else // !_WIN32 + + # if !defined(INSTALL) diff --git a/ports/date/0002-fix-cmake-3.14.patch b/ports/date/0002-fix-cmake-3.14.patch deleted file mode 100644 index 4fece8fa81d92d..00000000000000 --- a/ports/date/0002-fix-cmake-3.14.patch +++ /dev/null @@ -1,32 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index ad74900..42d55af 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -73,7 +73,7 @@ target_sources( date INTERFACE - $ - $ - ) --if (CMAKE_VERSION VERSION_GREATER_EQUAL 3.15) -+if (0) - # public headers will get installed: - set_target_properties( date PROPERTIES PUBLIC_HEADER include/date/date.h ) - endif () -@@ -144,7 +144,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,8 +169,8 @@ write_basic_package_version_file( "${version_config}" - COMPATIBILITY SameMajorVersion ) - - install( TARGETS date -- EXPORT dateConfig -- PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/date ) -+ EXPORT dateConfig ) -+install( FILES include/date/date.h ${TZ_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/date ) - export( TARGETS date NAMESPACE date:: FILE dateTargets.cmake ) - if (CMAKE_VERSION VERSION_LESS 3.15) - install( diff --git a/ports/date/0002-fix-cmake-install.patch b/ports/date/0002-fix-cmake-install.patch new file mode 100644 index 00000000000000..aa404f1ce95c75 --- /dev/null +++ b/ports/date/0002-fix-cmake-install.patch @@ -0,0 +1,63 @@ +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/portfile.cmake b/ports/date/portfile.cmake index b06d29f923ba4d..d442f34f696304 100644 --- a/ports/date/portfile.cmake +++ b/ports/date/portfile.cmake @@ -8,12 +8,12 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO HowardHinnant/date - REF v3.0.1 - SHA512 6BDC7CBA821D66E17A559250CC0CE0095808E9DB81CEC9E16EAA4C31ABDFA705299C67B72016D9B06B302BC306D063E83A374EB00728071B83A5AD650D59034F + REF 1ead6715dec030d340a316c927c877a3c4e5a00c + SHA512 a0b5dd2d94788929a2ba98bd629d64d188ff0ae40affd9338d3d7a94c848ae4d6addc72613964e7fad7f62e4ee20b7170b2133cb39d4e018c604ba35c68d1cff HEAD_REF master PATCHES 0001-fix-uwp.patch - 0002-fix-cmake-3.14.patch + 0002-fix-cmake-install.patch ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS @@ -29,15 +29,11 @@ vcpkg_cmake_configure( ) vcpkg_cmake_install() - -if(VCPKG_TARGET_IS_WINDOWS) - vcpkg_cmake_config_fixup(CONFIG_PATH CMake) -else() - vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/date) -endif() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/date) 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") +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/date/usage b/ports/date/usage new file mode 100644 index 00000000000000..41d8671b71d70e --- /dev/null +++ b/ports/date/usage @@ -0,0 +1,4 @@ +date provides CMake targets: + + find_package(date CONFIG REQUIRED) + target_link_libraries(main PRIVATE date::date date::date-tz) diff --git a/ports/date/vcpkg.json b/ports/date/vcpkg.json index 46e059b5e8a0b3..8c1ac3e2d0bb07 100644 --- a/ports/date/vcpkg.json +++ b/ports/date/vcpkg.json @@ -1,8 +1,9 @@ { "name": "date", - "version": "3.0.1", + "version-date": "2024-05-14", "description": "A date and time library based on the C++17 header", "homepage": "https://github.com/HowardHinnant/date", + "license": "MIT", "dependencies": [ { "name": "vcpkg-cmake", @@ -16,6 +17,7 @@ "features": { "remote-api": { "description": "support automatic download of tz data", + "supports": "!uwp", "dependencies": [ "curl" ] 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/patch_underscore_prefix.patch b/ports/dav1d/patch_underscore_prefix.patch deleted file mode 100644 index 30506faf59ed00..00000000000000 --- a/ports/dav1d/patch_underscore_prefix.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/meson.build b/meson.build -index 07b2586..02acd91 100644 ---- a/meson.build -+++ b/meson.build -@@ -370,7 +370,7 @@ endif - - cdata.set10('ARCH_PPC64LE', host_machine.cpu() == 'ppc64le') - --if cc.symbols_have_underscore_prefix() -+if cc.symbols_have_underscore_prefix() or (host_machine.cpu_family() == 'x86' and host_machine.system() == 'windows') - cdata.set10('PREFIX', true) - cdata_asm.set10('PREFIX', true) - endif diff --git a/ports/dav1d/portfile.cmake b/ports/dav1d/portfile.cmake index cc109ff43926d7..487086843215df 100644 --- a/ports/dav1d/portfile.cmake +++ b/ports/dav1d/portfile.cmake @@ -1,18 +1,22 @@ -vcpkg_fail_port_install(ON_ARCH "arm" "x86" ON_TARGET "uwp") - vcpkg_from_gitlab( GITLAB_URL https://code.videolan.org OUT_SOURCE_PATH SOURCE_PATH REPO videolan/dav1d - REF 0.8.2 - SHA512 2f48c88fdbe627f089eb378f43b8f18e1c5cff4645148ee7e14b8f3f8e9d690b28e58fc9cb466e7a9a4c147f06b0d34c47c132070acefbd01abe23cd3c6047d8 - PATCHES - "patch_underscore_prefix.patch" + REF "${VERSION}" + SHA512 1a7ed31a5c56362d7e62a7b96eeb13d636309cef892fab7bedee2421e1c6cea8676abb640318a2eb5c7bb597110c53cac1b4583ba3b844581d96a54cad3dbd9e ) -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 "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}) if (LIBRARY_TYPE STREQUAL "dynamic") @@ -20,7 +24,7 @@ if (LIBRARY_TYPE STREQUAL "dynamic") endif(LIBRARY_TYPE STREQUAL "dynamic") vcpkg_configure_meson( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" OPTIONS --default-library=${LIBRARY_TYPE} -Denable_tests=false @@ -31,4 +35,5 @@ vcpkg_install_meson() vcpkg_copy_pdbs() vcpkg_fixup_pkgconfig() -configure_file("${SOURCE_PATH}/COPYING" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) +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/dav1d/usage b/ports/dav1d/usage new file mode 100644 index 00000000000000..52ca523eaa358c --- /dev/null +++ b/ports/dav1d/usage @@ -0,0 +1,6 @@ +The package dav1d can be imported via CMake FindPkgConfig module: + + find_package(PkgConfig REQUIRED) + pkg_check_modules(dav1d REQUIRED IMPORTED_TARGET dav1d) + target_link_libraries(main PkgConfig::dav1d) + \ No newline at end of file diff --git a/ports/dav1d/vcpkg.json b/ports/dav1d/vcpkg.json index aa63b1a8ceeff2..17c62c09ea57a2 100644 --- a/ports/dav1d/vcpkg.json +++ b/ports/dav1d/vcpkg.json @@ -1,11 +1,14 @@ { "name": "dav1d", - "version-semver": "0.8.2", - "port-version": 1, + "version": "1.4.3", "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", - "supports": "!(uwp | arm | x86)", + "license": "BSD-2-Clause", + "supports": "!(windows & x86 & !static)", "dependencies": [ - "tool-meson" + { + "name": "vcpkg-tool-meson", + "host": true + } ] } diff --git a/ports/daw-header-libraries/portfile.cmake b/ports/daw-header-libraries/portfile.cmake index 5bd908cebe8a01..ec9a47fa1bbdbe 100644 --- a/ports/daw-header-libraries/portfile.cmake +++ b/ports/daw-header-libraries/portfile.cmake @@ -2,8 +2,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO beached/header_libraries - REF bd372e81e04e256a6ba88217c4b99a3601fb5ef7 #v1.29.7 - SHA512 7aad017e70e79c3244011cbcb719afb385a639e1e4d37955be074bd1d2f501052dcae9347d094a8ef970f3762ebdfe33c90318b2e6891f4b354e823acfee7188 + REF "v${VERSION}" + SHA512 39042e60a5d6d3380dc70f28a88f436c0b40999bce9dc3ac3499ef4380bb1085f4b90c53f3c900e63a9b443a2f4d6424afcf68c4b196a76cf0330aaf722ca6ff HEAD_REF master ) @@ -15,4 +15,4 @@ vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) # remove empty lib and debug/lib directories (and duplicate files from debug/include) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug" "${CURRENT_PACKAGES_DIR}/lib") -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/daw-header-libraries/vcpkg.json b/ports/daw-header-libraries/vcpkg.json index d203e9597fb968..c36bf8ce613352 100644 --- a/ports/daw-header-libraries/vcpkg.json +++ b/ports/daw-header-libraries/vcpkg.json @@ -1,8 +1,9 @@ { "name": "daw-header-libraries", - "version-semver": "1.29.7", + "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", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/daw-json-link/portfile.cmake b/ports/daw-json-link/portfile.cmake index c9f417ef89ada4..f6967a07a6511d 100644 --- a/ports/daw-json-link/portfile.cmake +++ b/ports/daw-json-link/portfile.cmake @@ -2,11 +2,12 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO beached/daw_json_link - REF 828565f48bd077e776fcef322457186d8f01e7eb #v2.10.2 - SHA512 8c870d778c9abb295d323ae913d9e2bb0255f176c7e4f1d8cdf424af9bbe4c5eb650436065bb47e3e8745ff1c12234959526c8dcdf2c169ab55af4b150e6b477 - HEAD_REF master + REF "v${VERSION}" + SHA512 b8fc270e72ed092d43128978e29551da21402c6dbff0b73f7e28257a86585d73a5389f82ea91884bb634b193a7f4b82bcf856087688cd343e032d823503b8891 + HEAD_REF release ) +file(REMOVE "${SOURCE_PATH}/include/daw/daw_tuple_forward.h") vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS @@ -37,4 +38,4 @@ file(APPEND "${SOURCE_PATH}/copyright" [=[ file(READ "${SOURCE_PATH}/LICENSE_Dragonbox" dragonbox_copywrite) file(APPEND "${SOURCE_PATH}/copyright" ${dragonbox_copywrite}) -file(INSTALL "${SOURCE_PATH}/copyright" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/copyright") diff --git a/ports/daw-json-link/vcpkg.json b/ports/daw-json-link/vcpkg.json index c9470ecc86eecc..f22e6695a062e4 100644 --- a/ports/daw-json-link/vcpkg.json +++ b/ports/daw-json-link/vcpkg.json @@ -1,8 +1,9 @@ { "name": "daw-json-link", - "version-semver": "2.10.2", + "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", "dependencies": [ "daw-utf-range", { diff --git a/ports/daw-utf-range/portfile.cmake b/ports/daw-utf-range/portfile.cmake index cabdf720be05c4..7e6a684526403e 100644 --- a/ports/daw-utf-range/portfile.cmake +++ b/ports/daw-utf-range/portfile.cmake @@ -2,8 +2,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO beached/utf_range - REF cd45b91a1530a68ce019b876a32b1694b4031613 #v2.2.0 - SHA512 21943b488b4efb8696bfe95f80c8043beed8f5f3cc9a34cfb95d34186d6a0ac2354943ebfd767bd6df42837c29e3c467a107d2f8556a7f719833d43f566afa40 + REF "v${VERSION}" + SHA512 91ce2a335f5305f481d2bd7fd5954ae4f0ea66f32244cf3a0111ec4185080d90a9850dedbd38c077a66c46d99ca2045620702cf1e06683b6105651efbc6b5300 HEAD_REF master ) @@ -19,4 +19,4 @@ vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) # remove empty lib and debug/lib directories (and duplicate files from debug/include) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug" "${CURRENT_PACKAGES_DIR}/lib") -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/daw-utf-range/vcpkg.json b/ports/daw-utf-range/vcpkg.json index 60581e13dc3942..fed7a1f1f847c6 100644 --- a/ports/daw-utf-range/vcpkg.json +++ b/ports/daw-utf-range/vcpkg.json @@ -1,8 +1,9 @@ { "name": "daw-utf-range", - "version-semver": "2.2.0", + "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", "dependencies": [ "daw-header-libraries", { diff --git a/ports/daxa/fix-std-sort.patch b/ports/daxa/fix-std-sort.patch new file mode 100644 index 00000000000000..34595803011ad2 --- /dev/null +++ b/ports/daxa/fix-std-sort.patch @@ -0,0 +1,12 @@ +diff --git a/src/impl_instance.cpp b/src/impl_instance.cpp +index 1c49a91..300d0db 100644 +--- a/src/impl_instance.cpp ++++ b/src/impl_instance.cpp +@@ -3,6 +3,7 @@ + #include "impl_device.hpp" + #include "impl_features.hpp" + ++#include + #include + + // --- Begin API Functions --- diff --git a/ports/daxa/portfile.cmake b/ports/daxa/portfile.cmake new file mode 100644 index 00000000000000..beecabb87e1e12 --- /dev/null +++ b/ports/daxa/portfile.cmake @@ -0,0 +1,55 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Ipotrick/Daxa + REF ${VERSION} + SHA512 53e31bd89170ee18f404ae778c6fd0d5a1cefa2faf9f28e98d793c79dddeb03acda5525c98b875e45024de5db9c5e9cd9216042978c3a107587fefb6343db1e0 + HEAD_REF master + PATCHES + fix-std-sort.patch #https://github.com/Ipotrick/Daxa/pull/96 +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + 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 "-DDAXA_INSTALL=true") + +if(WITH_UTILS_IMGUI) + list(APPEND DAXA_DEFINES "-DDAXA_ENABLE_UTILS_IMGUI=true") +endif() +if(WITH_UTILS_MEM) + list(APPEND DAXA_DEFINES "-DDAXA_ENABLE_UTILS_MEM=true") +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() +if(WITH_UTILS_TASK_GRAPH) + list(APPEND DAXA_DEFINES "-DDAXA_ENABLE_UTILS_TASK_GRAPH=true") +endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${DAXA_DEFINES} + -DCMAKE_REQUIRE_FIND_PACKAGE_X11=ON + -DCMAKE_REQUIRE_FIND_PACKAGE_WAYLAND=ON + MAYBE_UNUSED_VARIABLES + CMAKE_REQUIRE_FIND_PACKAGE_X11 + CMAKE_REQUIRE_FIND_PACKAGE_WAYLAND +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup() +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/daxa/vcpkg.json b/ports/daxa/vcpkg.json new file mode 100644 index 00000000000000..d007aa149fd3cb --- /dev/null +++ b/ports/daxa/vcpkg.json @@ -0,0 +1,60 @@ +{ + "name": "daxa", + "version": "3.0.2", + "port-version": 1, + "description": "Daxa C++ Vulkan Abstraction", + "homepage": "https://github.com/Ipotrick/Daxa", + "license": "MIT", + "supports": "(windows | linux) & !x86", + "dependencies": [ + "fmt", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "vulkan", + "vulkan-headers", + "vulkan-memory-allocator", + { + "name": "wayland", + "default-features": false, + "platform": "linux" + } + ], + "features": { + "utils-imgui": { + "description": "The ImGUI Daxa utility", + "dependencies": [ + "imgui" + ] + }, + "utils-mem": { + "description": "The Mem Daxa utility" + }, + "utils-pipeline-manager-glslang": { + "description": "Build with glslang", + "dependencies": [ + "glslang" + ] + }, + "utils-pipeline-manager-slang": { + "description": "Build with Slang", + "dependencies": [ + "shader-slang" + ] + }, + "utils-pipeline-manager-spirv-validation": { + "description": "Build with SPIR-V validation", + "dependencies": [ + "spirv-tools" + ] + }, + "utils-task-graph": { + "description": "The Task-Graph Daxa utility" + } + } +} diff --git a/ports/dbg-macro/portfile.cmake b/ports/dbg-macro/portfile.cmake index 15fd2aabd7c4e3..a8dac28edc437e 100644 --- a/ports/dbg-macro/portfile.cmake +++ b/ports/dbg-macro/portfile.cmake @@ -3,12 +3,12 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO sharkdp/dbg-macro - REF 4db61805d90cb66d91bcc56c2703591a0127ed11 - SHA512 68afaedce857f6007edbb65527745aa07ab3dd736e65602b4c6da04646730ef4c09d9a239a9bcae1806c5a0bc0f70b5766edf245b2fd5f84d64cc03a5cadc5c8 + REF "v${VERSION}" + SHA512 9aa41745168409f7c8c9e36e9bae58e2b3b356edd6d5f2414acd7dee9a79d2faa7b63d789821702e33781449b42213855c2ff71dcc39956f5f69c083827118c1 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 -configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/dbg-macro/vcpkg.json b/ports/dbg-macro/vcpkg.json index 77d5be57ef0162..a6b303e91f8118 100644 --- a/ports/dbg-macro/vcpkg.json +++ b/ports/dbg-macro/vcpkg.json @@ -1,6 +1,8 @@ { "name": "dbg-macro", - "version-date": "2021-11-02", + "version": "0.5.1", + "port-version": 1, "description": "A dbg(...) macro for C++", - "homepage": "https://github.com/sharkdp/dbg-macro" + "homepage": "https://github.com/sharkdp/dbg-macro", + "license": "MIT" } diff --git a/ports/dbghelp/portfile.cmake b/ports/dbghelp/portfile.cmake index 832bec6d74c498..1b902cff347a75 100644 --- a/ports/dbghelp/portfile.cmake +++ b/ports/dbghelp/portfile.cmake @@ -1,4 +1,3 @@ -vcpkg_fail_port_install(ON_TARGET "OSX" "Linux") vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) vcpkg_get_windows_sdk(WINDOWS_SDK) diff --git a/ports/dbghelp/vcpkg.json b/ports/dbghelp/vcpkg.json index cb7786a83e03b1..85c4d7c8fbfaf9 100644 --- a/ports/dbghelp/vcpkg.json +++ b/ports/dbghelp/vcpkg.json @@ -1,7 +1,7 @@ { "name": "dbghelp", - "version-string": "0.0", - "port-version": 1, + "version": "0", + "port-version": 2, "description": "Windows Debug Help Library", "supports": "windows" } diff --git a/ports/dbow2/portfile.cmake b/ports/dbow2/portfile.cmake index 1518c782075e8b..5e6661e0416b71 100644 --- a/ports/dbow2/portfile.cmake +++ b/ports/dbow2/portfile.cmake @@ -8,21 +8,18 @@ vcpkg_from_github( HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_Demo=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() # Move CMake files to the right place -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/DBoW2) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/DBoW2) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/DBoW2/DBoW2Config.cmake) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/DBoW2/DBoW2Config.cmake") # Handle copyright -file(COPY ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) - +file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/dbow2/vcpkg.json b/ports/dbow2/vcpkg.json index 6f0fec46d324ab..d71ae20bc59f10 100644 --- a/ports/dbow2/vcpkg.json +++ b/ports/dbow2/vcpkg.json @@ -1,10 +1,18 @@ { "name": "dbow2", - "version-string": "2019-08-05", - "port-version": 1, + "version-date": "2019-08-05", + "port-version": 3, "description": "DBoW2 is an improved version of the DBow library, an open source C++ library for indexing and converting images into a bag-of-word representation.", "homepage": "https://github.com/dorian3d/DBoW2", "dependencies": [ - "opencv" + "opencv", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/dbow3/fix_cmake.patch b/ports/dbow3/fix_cmake.patch index 0b802425e3279a..81b6a7e200c1b0 100644 --- a/ports/dbow3/fix_cmake.patch +++ b/ports/dbow3/fix_cmake.patch @@ -1,632 +1,293 @@ -From d72cb42f5147f7648c462ee1b211070c1691a887 Mon Sep 17 00:00:00 2001 -From: Ramadan -Date: Thu, 15 Aug 2019 12:27:19 +0200 -Subject: [PATCH 1/2] Fix CMakeLists.txt and installation - ---- - .gitignore | 249 ++++++++++ - CMakeLists.txt | 275 +---------- - Lib/CMakeLists.txt | 99 ++++ - Lib/DBow3Config.cmake | 4 + - {src => Lib/include/DBow3}/BowVector.h | 1 + - {src => Lib/include/DBow3}/DBoW3.h | 0 - {src => Lib/include/DBow3}/Database.h | 0 - {src => Lib/include/DBow3}/DescManip.h | 0 - {src => Lib/include/DBow3}/FeatureVector.h | 0 - {src => Lib/include/DBow3}/QueryResults.h | 0 - {src => Lib/include/DBow3}/ScoringObject.h | 0 - {src => Lib/include/DBow3}/Vocabulary.h | 0 - {src => Lib/include/DBow3}/exports.h | 16 +- - {src => Lib/include/DBow3}/quicklz.h | 0 - {src => Lib/include/DBow3}/timers.h | 0 - {src => Lib/src}/BowVector.cpp | 2 +- - {src => Lib/src}/Database.cpp | 2 +- - {src => Lib/src}/DescManip.cpp | 546 ++++++++++----------- - {src => Lib/src}/FeatureVector.cpp | 2 +- - {src => Lib/src}/QueryResults.cpp | 2 +- - {src => Lib/src}/ScoringObject.cpp | 4 +- - {src => Lib/src}/Vocabulary.cpp | 8 +- - {src => Lib/src}/quicklz.c | 2 +- - cmake/instructionSet.cmake | 13 + - cmake_uninstall.cmake.in | 28 -- - config.cmake.in | 36 -- - {utils => examples}/CMakeLists.txt | 0 - {utils => examples}/create_voc_step0.cpp | 252 +++++----- - {utils => examples}/create_voc_step1.cpp | 142 +++--- - {utils => examples}/demo_general.cpp | 404 +++++++-------- - {utils => examples}/images/image0.png | Bin - {utils => examples}/images/image1.png | Bin - {utils => examples}/images/image2.png | Bin - {utils => examples}/images/image3.png | Bin - src/CMakeLists.txt | 35 -- - orbvoc.dbow3 => voc/orbvoc.dbow3 | Bin - 36 files changed, 1072 insertions(+), 1050 deletions(-) - create mode 100644 .gitignore - create mode 100644 Lib/CMakeLists.txt - create mode 100644 Lib/DBow3Config.cmake - rename {src => Lib/include/DBow3}/BowVector.h (99%) - rename {src => Lib/include/DBow3}/DBoW3.h (100%) - rename {src => Lib/include/DBow3}/Database.h (100%) - rename {src => Lib/include/DBow3}/DescManip.h (100%) - rename {src => Lib/include/DBow3}/FeatureVector.h (100%) - rename {src => Lib/include/DBow3}/QueryResults.h (100%) - rename {src => Lib/include/DBow3}/ScoringObject.h (100%) - rename {src => Lib/include/DBow3}/Vocabulary.h (100%) - rename {src => Lib/include/DBow3}/exports.h (78%) - rename {src => Lib/include/DBow3}/quicklz.h (100%) - rename {src => Lib/include/DBow3}/timers.h (100%) - rename {src => Lib/src}/BowVector.cpp (99%) - rename {src => Lib/src}/Database.cpp (99%) - rename {src => Lib/src}/DescManip.cpp (96%) - rename {src => Lib/src}/FeatureVector.cpp (98%) - rename {src => Lib/src}/QueryResults.cpp (97%) - rename {src => Lib/src}/ScoringObject.cpp (99%) - rename {src => Lib/src}/Vocabulary.cpp (99%) - rename {src => Lib/src}/quicklz.c (99%) - create mode 100644 cmake/instructionSet.cmake - delete mode 100644 cmake_uninstall.cmake.in - delete mode 100644 config.cmake.in - rename {utils => examples}/CMakeLists.txt (100%) - rename {utils => examples}/create_voc_step0.cpp (97%) - rename {utils => examples}/create_voc_step1.cpp (97%) - rename {utils => examples}/demo_general.cpp (96%) - rename {utils => examples}/images/image0.png (100%) - rename {utils => examples}/images/image1.png (100%) - rename {utils => examples}/images/image2.png (100%) - rename {utils => examples}/images/image3.png (100%) - delete mode 100644 src/CMakeLists.txt - rename orbvoc.dbow3 => voc/orbvoc.dbow3 (100%) - -diff --git a/.gitignore b/.gitignore -new file mode 100644 -index 0000000..8c4285e ---- /dev/null -+++ b/.gitignore -@@ -0,0 +1,249 @@ -+## Ignore Visual Studio temporary files, build results, and -+## files generated by popular Visual Studio add-ons. -+ -+# User-specific files -+*.suo -+*.user -+*.userosscache -+*.sln.docstates -+ -+# User-specific files (MonoDevelop/Xamarin Studio) -+*.userprefs -+ -+# Build results -+[Dd]ebug/ -+[Dd]ebugPublic/ -+[Rr]elease/ -+[Rr]eleases/ -+[Xx]64/ -+[Xx]86/ -+[Bb]uild/ -+bld/ -+[Bb]in/ -+[Oo]bj/ -+ -+# Visual Studio 2015 cache/options directory -+.vs/ -+out/ -+# Uncomment if you have tasks that create the project's static files in wwwroot -+#wwwroot/ -+ -+# MSTest test Results -+[Tt]est[Rr]esult*/ -+[Bb]uild[Ll]og.* -+ -+# NUNIT -+*.VisualState.xml -+TestResult.xml -+ -+# Build Results of an ATL Project -+[Dd]ebugPS/ -+[Rr]eleasePS/ -+dlldata.c -+ -+# DNX -+project.lock.json -+artifacts/ -+ -+*_i.c -+*_p.c -+*_i.h -+*.ilk -+*.meta -+*.obj -+*.pch -+*.pdb -+*.pgc -+*.pgd -+*.rsp -+*.sbr -+*.tlb -+*.tli -+*.tlh -+*.tmp -+*.tmp_proj -+*.log -+*.vspscc -+*.vssscc -+.builds -+*.pidb -+*.svclog -+*.scc -+*.tlog -+*.idb -+# Chutzpah Test files -+_Chutzpah* -+ -+# Visual C++ cache files -+ipch/ -+*.aps -+*.ncb -+*.opendb -+*.opensdf -+*.sdf -+*.cachefile -+*.VC.db -+ -+# Visual Studio profiler -+*.psess -+*.vsp -+*.vspx -+*.sap -+ -+# TFS 2012 Local Workspace -+$tf/ -+ -+# Guidance Automation Toolkit -+*.gpState -+ -+# ReSharper is a .NET coding add-in -+_ReSharper*/ -+*.[Rr]e[Ss]harper -+*.DotSettings.user -+ -+# JustCode is a .NET coding add-in -+.JustCode -+ -+# TeamCity is a build add-in -+_TeamCity* -+ -+# DotCover is a Code Coverage Tool -+*.dotCover -+ -+# NCrunch -+_NCrunch_* -+.*crunch*.local.xml -+nCrunchTemp_* -+ -+# MightyMoose -+*.mm.* -+AutoTest.Net/ -+ -+# Web workbench (sass) -+.sass-cache/ -+ -+# Installshield output folder -+[Ee]xpress/ -+ -+# DocProject is a documentation generator add-in -+DocProject/buildhelp/ -+DocProject/Help/*.HxT -+DocProject/Help/*.HxC -+DocProject/Help/*.hhc -+DocProject/Help/*.hhk -+DocProject/Help/*.hhp -+DocProject/Help/Html2 -+DocProject/Help/html -+ -+# Click-Once directory -+publish/ -+ -+# Publish Web Output -+*.[Pp]ublish.xml -+*.azurePubxml -+ -+# TODO: Un-comment the next line if you do not want to checkin -+# your web deploy settings because they may include unencrypted -+# passwords -+#*.pubxml -+*.publishproj -+ -+# NuGet Packages -+*.nupkg -+# The packages folder can be ignored because of Package Restore -+**/packages/* -+# except build/, which is used as an MSBuild target. -+!**/packages/build/ -+# Uncomment if necessary however generally it will be regenerated when needed -+#!**/packages/repositories.config -+# NuGet v3's project.json files produces more ignoreable files -+*.nuget.props -+*.nuget.targets -+ -+# Microsoft Azure Build Output -+csx/ -+*.build.csdef -+ -+# Microsoft Azure Emulator -+ecf/ -+rcf/ -+ -+# Microsoft Azure ApplicationInsights config file -+ApplicationInsights.config -+ -+# Windows Store app package directory -+AppPackages/ -+BundleArtifacts/ -+ -+# Visual Studio cache files -+# files ending in .cache can be ignored -+*.[Cc]ache -+# but keep track of directories ending in .cache -+!*.[Cc]ache/ -+ -+# Others -+ClientBin/ -+[Ss]tyle[Cc]op.* -+~$* -+*~ -+*.dbmdl -+*.dbproj.schemaview -+*.pfx -+*.publishsettings -+node_modules/ -+orleans.codegen.cs -+ -+# RIA/Silverlight projects -+Generated_Code/ -+ -+# Backup & report files from converting an old project file -+# to a newer Visual Studio version. Backup files are not needed, -+# because we have git ;-) -+_UpgradeReport_Files/ -+Backup*/ -+UpgradeLog*.XML -+UpgradeLog*.htm -+ -+# SQL Server files -+*.mdf -+*.ldf -+ -+# Business Intelligence projects -+*.rdl.data -+*.bim.layout -+*.bim_*.settings -+ -+# Microsoft Fakes -+FakesAssemblies/ -+ -+# GhostDoc plugin setting file -+*.GhostDoc.xml -+ -+# Node.js Tools for Visual Studio -+.ntvs_analysis.dat -+ -+# Visual Studio 6 build log -+*.plg -+ -+# Visual Studio 6 workspace options file -+*.opt -+ -+# Visual Studio LightSwitch build output -+**/*.HTMLClient/GeneratedArtifacts -+**/*.DesktopClient/GeneratedArtifacts -+**/*.DesktopClient/ModelManifest.xml -+**/*.Server/GeneratedArtifacts -+**/*.Server/ModelManifest.xml -+_Pvt_Extensions -+ -+# LightSwitch generated files -+GeneratedArtifacts/ -+ModelManifest.xml -+ -+# Paket dependency manager -+.paket/paket.exe -+ -+# FAKE - F# Make -+.fake/ -+html -+xml -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 9541cd7..a2a563a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,268 +1,25 @@ --# ---------------------------------------------------------------------------- --# Basic Configuration --# ---------------------------------------------------------------------------- --CMAKE_MINIMUM_REQUIRED(VERSION 2.8) -+cmake_minimum_required(VERSION 3.10) - --set(CMAKE_CXX_STANDARD 11) -+project(DBow3 VERSION 1.0.0) - --PROJECT(DBoW3) --set(PROJECT_VERSION "0.0.1") --string(REGEX MATCHALL "[0-9]" PROJECT_VERSION_PARTS "${PROJECT_VERSION}") --list(GET PROJECT_VERSION_PARTS 0 PROJECT_VERSION_MAJOR) --list(GET PROJECT_VERSION_PARTS 1 PROJECT_VERSION_MINOR) --list(GET PROJECT_VERSION_PARTS 2 PROJECT_VERSION_PATCH) --set(PROJECT_SOVERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}") -+option(BUILD_EXAMPLES "Set to ON to build examples" OFF) -+option(BUILD_TESTS "Set to ON to build tests" OFF) -+option(BUILD_SHARED_LIBS "Set to OFF to build static libraries" ON) - --message("LIB_INSTALL_DIR: ${LIB_INSTALL_DIR}") -+# OpenCV -+option(USE_OPENCV_CONTRIB "Set on to use opencv-contrib" ON) - --#------------------------------------------------------ --# Build type --#------------------------------------------------------ -+# Optimization -+option(USE_SIMD "Set on to enabel avx optimization" ON) - --IF(NOT CMAKE_BUILD_TYPE ) -- SET( CMAKE_BUILD_TYPE "Release" ) --ENDIF() - --#------------------------------------------------------ --# Lib Names and Dirs --#------------------------------------------------------ -+add_subdirectory(Lib) - --if(WIN32) -- # Postfix of DLLs: -- SET(PROJECT_DLLVERSION "${PROJECT_VERSION_MAJOR}${PROJECT_VERSION_MINOR}${PROJECT_VERSION_PATCH}") -- SET(RUNTIME_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin CACHE PATH "Directory for dlls and binaries") -- SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin CACHE PATH "Directory for binaries") -- SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin CACHE PATH "Directory for dlls") --else() -- # Postfix of so's: -- set(PROJECT_DLLVERSION) -- set(LIB_INSTALL_DIR lib CACHE STRING "Install location of libraries (e.g. lib32 or lib64 for multilib installations)") -- SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_INSTALL_PREFIX}/${LIB_INSTALL_DIR}/cmake/ /usr/${LIB_INSTALL_DIR}/cmake ) --endif() -+if(BUILD_EXAMPLES) -+ add_subdirectory(examples) -+endif(BUILD_EXAMPLES) - -+if(BUILD_TESTS) -+ add_subdirectory(tests) -+endif(BUILD_TESTS) - -- --# --OPTION(BUILD_UTILS "Set to OFF to not build utils" ON) --OPTION(USE_CONTRIB "Set to ON if contrib are installed" OFF) --OPTION(BUILD_SHARED_LIBS "Set to OFF to build static libraries" ON) -- --# ---------------------------------------------------------------------------- --# Find Dependencies --# ---------------------------------------------------------------------------- --find_package(OpenCV REQUIRED) --IF(USE_CONTRIB) --add_definitions(-DUSE_CONTRIB) --ENDIF() --if(NOT OpenCV_VERSION VERSION_LESS "3.0") -- ADD_DEFINITIONS(-DOPENCV_VERSION_3) -- SET(OPENCV_VERSION_3 ON) --ELSE() -- SET(OPENCV_VERSION_3 OFF) --ENDIF() -- --include_directories(${OpenCV_INCLUDE_DIRS}) -- --SET(REQUIRED_LIBRARIES ${REQUIRED_LIBRARIES} ${OpenCV_LIBS}) -- --# ---------------------------------------------------------------------------- --# PROJECT CONFIGURATION --# force some variables that could be defined in the command line to be written to cache --# ---------------------------------------------------------------------------- --OPTION(INSTALL_DOC "Set to ON to build/install Documentation" OFF) --IF (INSTALL_DOC) -- FIND_PACKAGE(Doxygen REQUIRED) -- MESSAGE( STATUS "INSTALL_DOC: ${INSTALL_DOC} ") -- INCLUDE("${PROJECT_SOURCE_DIR}/generateDoc.cmake") -- GENERATE_DOCUMENTATION(${PROJECT_SOURCE_DIR}/dox.in) --ENDIF() -- --# ---------------------------------------------------------------------------- --# Uninstall target, for "make uninstall" --# ---------------------------------------------------------------------------- --CONFIGURE_FILE( "${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake" IMMEDIATE @ONLY) --ADD_CUSTOM_TARGET(uninstall "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake") -- --# ---------------------------------------------------------------------------- --# create configuration file from .in file (If you use windows take care with paths) --# ---------------------------------------------------------------------------- -- --CONFIGURE_FILE("${PROJECT_SOURCE_DIR}/config.cmake.in" "${PROJECT_BINARY_DIR}/Find${PROJECT_NAME}.cmake") --CONFIGURE_FILE("${PROJECT_SOURCE_DIR}/config.cmake.in" "${PROJECT_BINARY_DIR}/${PROJECT_NAME}Config.cmake") --INSTALL(FILES "${PROJECT_BINARY_DIR}/Find${PROJECT_NAME}.cmake" DESTINATION ${LIB_INSTALL_DIR}/cmake/ ) --INSTALL(FILES "${PROJECT_BINARY_DIR}/${PROJECT_NAME}Config.cmake" DESTINATION ${LIB_INSTALL_DIR}/cmake/${PROJECT_NAME} ) -- -- -- -- --# ---------------------------------------------------------------------------- --# Program Optimization and debug (Extracted from OpenCV) --# ---------------------------------------------------------------------------- --set(WARNINGS_ARE_ERRORS OFF CACHE BOOL "Treat warnings as errors") --set(WHOLE_PROGRAM_OPTIMIZATION OFF CACHE BOOL "Flags for whole program optimization.") -- --set(EXTRA_C_FLAGS "") --set(EXTRA_C_FLAGS_RELEASE "") --set(EXTRA_C_FLAGS_DEBUG "") --set(EXTRA_EXE_LINKER_FLAGS "") --set(EXTRA_EXE_LINKER_FLAGS_RELEASE "") --set(EXTRA_EXE_LINKER_FLAGS_DEBUG "") -- --IF(CMAKE_COMPILER_IS_GNUCXX OR MINGW) -- set(ENABLE_PROFILING OFF CACHE BOOL "Enable profiling in the GCC compiler (Add flags: -g -pg)") -- set(USE_OMIT_FRAME_POINTER ON CACHE BOOL "Enable -fomit-frame-pointer for GCC") -- if(${CMAKE_SYSTEM_PROCESSOR} MATCHES arm*) # We can use only -O2 because the -O3 causes gcc crash -- set(USE_O2 ON CACHE BOOL "Enable -O2 for GCC") -- set(USE_FAST_MATH OFF CACHE BOOL "Enable -ffast-math for GCC") -- endif() -- if(${CMAKE_SYSTEM_PROCESSOR} MATCHES powerpc*) -- set(USE_O3 ON CACHE BOOL "Enable -O3 for GCC") -- set(USE_POWERPC ON CACHE BOOL "Enable PowerPC for GCC") -- endif () -- if(${CMAKE_SYSTEM_PROCESSOR} MATCHES amd64* OR ${CMAKE_SYSTEM_PROCESSOR} MATCHES x86_64*) -- set(USE_O3 ON CACHE BOOL "Enable -O3 for GCC") -- set(USE_FAST_MATH OFF CACHE BOOL "Enable -ffast-math for GCC") -- set(USE_MMX ON CACHE BOOL "Enable MMX for GCC") -- set(USE_SSE ON CACHE BOOL "Enable SSE for GCC") -- set(USE_SSE2 ON CACHE BOOL "Enable SSE2 for GCC") -- set(USE_SSE3 ON CACHE BOOL "Enable SSE3 for GCC") -- endif() -- if(${CMAKE_SYSTEM_PROCESSOR} MATCHES i686* OR ${CMAKE_SYSTEM_PROCESSOR} MATCHES x86) -- set(USE_O3 ON CACHE BOOL "Enable -O3 for GCC") -- set(USE_FAST_MATH OFF CACHE BOOL "Enable -ffast-math for GCC") -- set(USE_MMX ON CACHE BOOL "Enable MMX for GCC") -- set(USE_SSE OFF CACHE BOOL "Enable SSE for GCC") -- set(USE_SSE2 OFF CACHE BOOL "Enable SSE2 for GCC") -- set(USE_SSE3 OFF CACHE BOOL "Enable SSE3 for GCC") -- endif () -- -- set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} -Wall") -- -- if(WARNINGS_ARE_ERRORS) -- set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} -Werror") -- endif() -- -- # The -Wno-long-long is required in 64bit systems when including sytem headers. -- if(${CMAKE_SYSTEM_PROCESSOR} MATCHES x86_64* OR ${CMAKE_SYSTEM_PROCESSOR} MATCHES amd64*) -- set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} -Wno-long-long") -- endif() -- -- # Whole program optimization -- if(WHOLE_PROGRAM_OPTIMIZATION) -- set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -fwhole-program --combine") -- endif() -- -- # Other optimizations -- if(USE_OMIT_FRAME_POINTER) -- set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -fomit-frame-pointer") -- endif() -- if(USE_O2) -- set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -O2") -- endif() -- if(USE_O3) -- set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -O3") -- endif() -- if(USE_FAST_MATH) -- set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -ffast-math") -- endif() -- if(USE_POWERPC) -- set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -mcpu=G3 -mtune=G5") -- endif() -- if(USE_MMX) -- set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -mmmx") -- endif() -- if(USE_SSE) -- set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -msse") -- endif() -- if(USE_SSE2) -- set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -msse2") -- endif() -- if(USE_SSE3 AND NOT MINGW) # SSE3 should be disabled under MingW because it generates compiler errors -- set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -msse3") -- endif() -- -- if(ENABLE_PROFILING) -- set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -pg -g") -- else() -- if(NOT APPLE) -- set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} -ffunction-sections") -- endif() -- endif() -- -- -- set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -DNDEBUG ") -- set(EXTRA_C_FLAGS_DEBUG "-g3 -O0 -DDEBUG -D_DEBUG -W -Wextra -Wno-return-type ") -- -- MESSAGE( STATUS "-------------------------------------------------------------------------------" ) -- message( STATUS "GNU COMPILER") -- MESSAGE( STATUS "-------------------------------------------------------------------------------" ) -- -- -- -- --ELSE() # MSVC -- -- --ENDIF()#END OF COMPILER SPECIFIC OPTIONS --SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS} ${EXTRA_C_FLAGS_RELEASE}") --SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS} ${EXTRA_C_FLAGS_DEBUG}") --SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -std=c++11") --SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -std=c++11") --set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELEASE} ${CMAKE_C_FLAGS_DEBUG}") --set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELEASE} ${CMAKE_CXX_FLAGS_DEBUG}") --SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${EXTRA_EXE_LINKER_FLAGS}") --SET(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} ${EXTRA_EXE_LINKER_FLAGS_RELEASE}") --SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} ${EXTRA_EXE_LINKER_FLAGS_DEBUG}") -- -- -- --#------------------------------------------------ --# DIRS --#------------------------------------------------ --ADD_SUBDIRECTORY(src) --IF (BUILD_UTILS) --ADD_SUBDIRECTORY(utils) --ENDIF() -- --IF (BUILD_TESTS) --ADD_SUBDIRECTORY(tests) --ENDIF() -- -- --# ---------------------------------------------------------------------------- --# display status message for important variables --# ---------------------------------------------------------------------------- --message( STATUS ) --MESSAGE( STATUS "-------------------------------------------------------------------------------" ) --message( STATUS "General configuration for ${PROJECT_NAME} ${PROJECT_VERSION}") --MESSAGE( STATUS "-------------------------------------------------------------------------------" ) --message(" Built as dynamic libs?:" ${BUILD_SHARED_LIBS}) --message(" Compiler:" "${CMAKE_COMPILER}" "${CMAKE_CXX_COMPILER}") -- --message( STATUS "Build Type: ${CMAKE_BUILD_TYPE}") --message( STATUS "C++ flags (Release): ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_RELEASE}") --message( STATUS "C++ flags (Debug): ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_DEBUG}") --message( STATUS "C++ flags (Relase+Debug): ${CMAKE_CXX_FLAGS_RELWITHDEBINFO}") -- --message( STATUS "CMAKE_CXX_FLAGS: ${CMAKE_CXX_FLAGS}") --message( STATUS "CMAKE_BINARY_DIR: ${CMAKE_BINARY_DIR}") -- --MESSAGE( STATUS ) --MESSAGE( STATUS "CMAKE_SYSTEM_PROCESSOR = ${CMAKE_SYSTEM_PROCESSOR}" ) --MESSAGE( STATUS "CMAKE_INSTALL_PREFIX = ${CMAKE_INSTALL_PREFIX}" ) --MESSAGE( STATUS "CMAKE_BUILD_TYPE = ${CMAKE_BUILD_TYPE}" ) --MESSAGE( STATUS "CMAKE_MODULE_PATH = ${CMAKE_MODULE_PATH}" ) --MESSAGE( STATUS "BUILD_UTILS= ${BUILD_UTILS}" ) --MESSAGE( STATUS "BUILD_TESTS= ${BUILD_TESTS}" ) --MESSAGE( STATUS "OPENCV_DIR= ${OpenCV_DIR} VERSION=${OpenCV_VERSION}" ) -- --MESSAGE( STATUS "USE_CONTRIB= ${USE_CONTRIB}" ) -- --MESSAGE( STATUS ) --MESSAGE( STATUS "OpenCV_LIB_DIR=${OpenCV_LIB_DIR}") --MESSAGE( STATUS "CMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}") -- --MESSAGE( STATUS ) --MESSAGE( STATUS ) --MESSAGE( STATUS "Change a value with: cmake -D=" ) --MESSAGE( STATUS ) -diff --git a/Lib/CMakeLists.txt b/Lib/CMakeLists.txt -new file mode 100644 -index 0000000..e56077b +-# ---------------------------------------------------------------------------- +-# Basic Configuration +-# ---------------------------------------------------------------------------- +-CMAKE_MINIMUM_REQUIRED(VERSION 2.8) ++cmake_minimum_required(VERSION 3.10) + +-set(CMAKE_CXX_STANDARD 11) ++project(DBow3 VERSION 1.0.0) + +-PROJECT(DBoW3) +-set(PROJECT_VERSION "0.0.1") +-string(REGEX MATCHALL "[0-9]" PROJECT_VERSION_PARTS "${PROJECT_VERSION}") +-list(GET PROJECT_VERSION_PARTS 0 PROJECT_VERSION_MAJOR) +-list(GET PROJECT_VERSION_PARTS 1 PROJECT_VERSION_MINOR) +-list(GET PROJECT_VERSION_PARTS 2 PROJECT_VERSION_PATCH) +-set(PROJECT_SOVERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}") ++option(BUILD_EXAMPLES "Set to ON to build examples" OFF) ++option(BUILD_TESTS "Set to ON to build tests" OFF) ++option(BUILD_SHARED_LIBS "Set to OFF to build static libraries" ON) + +-message("LIB_INSTALL_DIR: ${LIB_INSTALL_DIR}") ++# OpenCV ++option(USE_OPENCV_CONTRIB "Set on to use opencv-contrib" ON) + +-#------------------------------------------------------ +-# Build type +-#------------------------------------------------------ ++# Optimization ++option(USE_SIMD "Set on to enabel avx optimization" ON) + +-IF(NOT CMAKE_BUILD_TYPE ) +- SET( CMAKE_BUILD_TYPE "Release" ) +-ENDIF() + +-#------------------------------------------------------ +-# Lib Names and Dirs +-#------------------------------------------------------ ++add_subdirectory(Lib) + +-if(WIN32) +- # Postfix of DLLs: +- SET(PROJECT_DLLVERSION "${PROJECT_VERSION_MAJOR}${PROJECT_VERSION_MINOR}${PROJECT_VERSION_PATCH}") +- SET(RUNTIME_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin CACHE PATH "Directory for dlls and binaries") +- SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin CACHE PATH "Directory for binaries") +- SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin CACHE PATH "Directory for dlls") +-else() +- # Postfix of so's: +- set(PROJECT_DLLVERSION) +- set(LIB_INSTALL_DIR lib CACHE STRING "Install location of libraries (e.g. lib32 or lib64 for multilib installations)") +- SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_INSTALL_PREFIX}/${LIB_INSTALL_DIR}/cmake/ /usr/${LIB_INSTALL_DIR}/cmake ) +-endif() ++if(BUILD_EXAMPLES) ++ add_subdirectory(examples) ++endif(BUILD_EXAMPLES) + ++if(BUILD_TESTS) ++ add_subdirectory(tests) ++endif(BUILD_TESTS) + +- +-# +-OPTION(BUILD_UTILS "Set to OFF to not build utils" ON) +-OPTION(USE_CONTRIB "Set to ON if contrib are installed" OFF) +-OPTION(BUILD_SHARED_LIBS "Set to OFF to build static libraries" ON) +- +-# ---------------------------------------------------------------------------- +-# Find Dependencies +-# ---------------------------------------------------------------------------- +-find_package(OpenCV REQUIRED) +-IF(USE_CONTRIB) +-add_definitions(-DUSE_CONTRIB) +-ENDIF() +-if(NOT OpenCV_VERSION VERSION_LESS "3.0") +- ADD_DEFINITIONS(-DOPENCV_VERSION_3) +- SET(OPENCV_VERSION_3 ON) +-ELSE() +- SET(OPENCV_VERSION_3 OFF) +-ENDIF() +- +-include_directories(${OpenCV_INCLUDE_DIRS}) +- +-SET(REQUIRED_LIBRARIES ${REQUIRED_LIBRARIES} ${OpenCV_LIBS}) +- +-# ---------------------------------------------------------------------------- +-# PROJECT CONFIGURATION +-# force some variables that could be defined in the command line to be written to cache +-# ---------------------------------------------------------------------------- +-OPTION(INSTALL_DOC "Set to ON to build/install Documentation" OFF) +-IF (INSTALL_DOC) +- FIND_PACKAGE(Doxygen REQUIRED) +- MESSAGE( STATUS "INSTALL_DOC: ${INSTALL_DOC} ") +- INCLUDE("${PROJECT_SOURCE_DIR}/generateDoc.cmake") +- GENERATE_DOCUMENTATION(${PROJECT_SOURCE_DIR}/dox.in) +-ENDIF() +- +-# ---------------------------------------------------------------------------- +-# Uninstall target, for "make uninstall" +-# ---------------------------------------------------------------------------- +-CONFIGURE_FILE( "${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake" IMMEDIATE @ONLY) +-ADD_CUSTOM_TARGET(uninstall "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake") +- +-# ---------------------------------------------------------------------------- +-# create configuration file from .in file (If you use windows take care with paths) +-# ---------------------------------------------------------------------------- +- +-CONFIGURE_FILE("${PROJECT_SOURCE_DIR}/config.cmake.in" "${PROJECT_BINARY_DIR}/Find${PROJECT_NAME}.cmake") +-CONFIGURE_FILE("${PROJECT_SOURCE_DIR}/config.cmake.in" "${PROJECT_BINARY_DIR}/${PROJECT_NAME}Config.cmake") +-INSTALL(FILES "${PROJECT_BINARY_DIR}/Find${PROJECT_NAME}.cmake" DESTINATION ${LIB_INSTALL_DIR}/cmake/ ) +-INSTALL(FILES "${PROJECT_BINARY_DIR}/${PROJECT_NAME}Config.cmake" DESTINATION ${LIB_INSTALL_DIR}/cmake/${PROJECT_NAME} ) +- +- +- +- +-# ---------------------------------------------------------------------------- +-# Program Optimization and debug (Extracted from OpenCV) +-# ---------------------------------------------------------------------------- +-set(WARNINGS_ARE_ERRORS OFF CACHE BOOL "Treat warnings as errors") +-set(WHOLE_PROGRAM_OPTIMIZATION OFF CACHE BOOL "Flags for whole program optimization.") +- +-set(EXTRA_C_FLAGS "") +-set(EXTRA_C_FLAGS_RELEASE "") +-set(EXTRA_C_FLAGS_DEBUG "") +-set(EXTRA_EXE_LINKER_FLAGS "") +-set(EXTRA_EXE_LINKER_FLAGS_RELEASE "") +-set(EXTRA_EXE_LINKER_FLAGS_DEBUG "") +- +-IF(CMAKE_COMPILER_IS_GNUCXX OR MINGW) +- set(ENABLE_PROFILING OFF CACHE BOOL "Enable profiling in the GCC compiler (Add flags: -g -pg)") +- set(USE_OMIT_FRAME_POINTER ON CACHE BOOL "Enable -fomit-frame-pointer for GCC") +- if(${CMAKE_SYSTEM_PROCESSOR} MATCHES arm*) # We can use only -O2 because the -O3 causes gcc crash +- set(USE_O2 ON CACHE BOOL "Enable -O2 for GCC") +- set(USE_FAST_MATH OFF CACHE BOOL "Enable -ffast-math for GCC") +- endif() +- if(${CMAKE_SYSTEM_PROCESSOR} MATCHES powerpc*) +- set(USE_O3 ON CACHE BOOL "Enable -O3 for GCC") +- set(USE_POWERPC ON CACHE BOOL "Enable PowerPC for GCC") +- endif () +- if(${CMAKE_SYSTEM_PROCESSOR} MATCHES amd64* OR ${CMAKE_SYSTEM_PROCESSOR} MATCHES x86_64*) +- set(USE_O3 ON CACHE BOOL "Enable -O3 for GCC") +- set(USE_FAST_MATH OFF CACHE BOOL "Enable -ffast-math for GCC") +- set(USE_MMX ON CACHE BOOL "Enable MMX for GCC") +- set(USE_SSE ON CACHE BOOL "Enable SSE for GCC") +- set(USE_SSE2 ON CACHE BOOL "Enable SSE2 for GCC") +- set(USE_SSE3 ON CACHE BOOL "Enable SSE3 for GCC") +- endif() +- if(${CMAKE_SYSTEM_PROCESSOR} MATCHES i686* OR ${CMAKE_SYSTEM_PROCESSOR} MATCHES x86) +- set(USE_O3 ON CACHE BOOL "Enable -O3 for GCC") +- set(USE_FAST_MATH OFF CACHE BOOL "Enable -ffast-math for GCC") +- set(USE_MMX ON CACHE BOOL "Enable MMX for GCC") +- set(USE_SSE OFF CACHE BOOL "Enable SSE for GCC") +- set(USE_SSE2 OFF CACHE BOOL "Enable SSE2 for GCC") +- set(USE_SSE3 OFF CACHE BOOL "Enable SSE3 for GCC") +- endif () +- +- set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} -Wall") +- +- if(WARNINGS_ARE_ERRORS) +- set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} -Werror") +- endif() +- +- # The -Wno-long-long is required in 64bit systems when including sytem headers. +- if(${CMAKE_SYSTEM_PROCESSOR} MATCHES x86_64* OR ${CMAKE_SYSTEM_PROCESSOR} MATCHES amd64*) +- set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} -Wno-long-long") +- endif() +- +- # Whole program optimization +- if(WHOLE_PROGRAM_OPTIMIZATION) +- set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -fwhole-program --combine") +- endif() +- +- # Other optimizations +- if(USE_OMIT_FRAME_POINTER) +- set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -fomit-frame-pointer") +- endif() +- if(USE_O2) +- set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -O2") +- endif() +- if(USE_O3) +- set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -O3") +- endif() +- if(USE_FAST_MATH) +- set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -ffast-math") +- endif() +- if(USE_POWERPC) +- set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -mcpu=G3 -mtune=G5") +- endif() +- if(USE_MMX) +- set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -mmmx") +- endif() +- if(USE_SSE) +- set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -msse") +- endif() +- if(USE_SSE2) +- set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -msse2") +- endif() +- if(USE_SSE3 AND NOT MINGW) # SSE3 should be disabled under MingW because it generates compiler errors +- set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -msse3") +- endif() +- +- if(ENABLE_PROFILING) +- set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -pg -g") +- else() +- if(NOT APPLE) +- set(EXTRA_C_FLAGS "${EXTRA_C_FLAGS} -ffunction-sections") +- endif() +- endif() +- +- +- set(EXTRA_C_FLAGS_RELEASE "${EXTRA_C_FLAGS_RELEASE} -DNDEBUG ") +- set(EXTRA_C_FLAGS_DEBUG "-g3 -O0 -DDEBUG -D_DEBUG -W -Wextra -Wno-return-type ") +- +- MESSAGE( STATUS "-------------------------------------------------------------------------------" ) +- message( STATUS "GNU COMPILER") +- MESSAGE( STATUS "-------------------------------------------------------------------------------" ) +- +- +- +- +-ELSE() # MSVC +- +- +-ENDIF()#END OF COMPILER SPECIFIC OPTIONS +-SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS} ${EXTRA_C_FLAGS_RELEASE}") +-SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS} ${EXTRA_C_FLAGS_DEBUG}") +-SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -std=c++11") +-SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -std=c++11") +-set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELEASE} ${CMAKE_C_FLAGS_DEBUG}") +-set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELEASE} ${CMAKE_CXX_FLAGS_DEBUG}") +-SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${EXTRA_EXE_LINKER_FLAGS}") +-SET(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} ${EXTRA_EXE_LINKER_FLAGS_RELEASE}") +-SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} ${EXTRA_EXE_LINKER_FLAGS_DEBUG}") +- +- +- +-#------------------------------------------------ +-# DIRS +-#------------------------------------------------ +-ADD_SUBDIRECTORY(src) +-IF (BUILD_UTILS) +-ADD_SUBDIRECTORY(utils) +-ENDIF() +- +-IF (BUILD_TESTS) +-ADD_SUBDIRECTORY(tests) +-ENDIF() +- +- +-# ---------------------------------------------------------------------------- +-# display status message for important variables +-# ---------------------------------------------------------------------------- +-message( STATUS ) +-MESSAGE( STATUS "-------------------------------------------------------------------------------" ) +-message( STATUS "General configuration for ${PROJECT_NAME} ${PROJECT_VERSION}") +-MESSAGE( STATUS "-------------------------------------------------------------------------------" ) +-message(" Built as dynamic libs?:" ${BUILD_SHARED_LIBS}) +-message(" Compiler:" "${CMAKE_COMPILER}" "${CMAKE_CXX_COMPILER}") +- +-message( STATUS "Build Type: ${CMAKE_BUILD_TYPE}") +-message( STATUS "C++ flags (Release): ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_RELEASE}") +-message( STATUS "C++ flags (Debug): ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_DEBUG}") +-message( STATUS "C++ flags (Relase+Debug): ${CMAKE_CXX_FLAGS_RELWITHDEBINFO}") +- +-message( STATUS "CMAKE_CXX_FLAGS: ${CMAKE_CXX_FLAGS}") +-message( STATUS "CMAKE_BINARY_DIR: ${CMAKE_BINARY_DIR}") +- +-MESSAGE( STATUS ) +-MESSAGE( STATUS "CMAKE_SYSTEM_PROCESSOR = ${CMAKE_SYSTEM_PROCESSOR}" ) +-MESSAGE( STATUS "CMAKE_INSTALL_PREFIX = ${CMAKE_INSTALL_PREFIX}" ) +-MESSAGE( STATUS "CMAKE_BUILD_TYPE = ${CMAKE_BUILD_TYPE}" ) +-MESSAGE( STATUS "CMAKE_MODULE_PATH = ${CMAKE_MODULE_PATH}" ) +-MESSAGE( STATUS "BUILD_UTILS= ${BUILD_UTILS}" ) +-MESSAGE( STATUS "BUILD_TESTS= ${BUILD_TESTS}" ) +-MESSAGE( STATUS "OPENCV_DIR= ${OpenCV_DIR} VERSION=${OpenCV_VERSION}" ) +- +-MESSAGE( STATUS "USE_CONTRIB= ${USE_CONTRIB}" ) +- +-MESSAGE( STATUS ) +-MESSAGE( STATUS "OpenCV_LIB_DIR=${OpenCV_LIB_DIR}") +-MESSAGE( STATUS "CMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}") +- +-MESSAGE( STATUS ) +-MESSAGE( STATUS ) +-MESSAGE( STATUS "Change a value with: cmake -D=" ) +-MESSAGE( STATUS ) --- /dev/null +++ b/Lib/CMakeLists.txt -@@ -0,0 +1,99 @@ +@@ -0,0 +1,92 @@ +cmake_minimum_required(VERSION 3.10) + +find_package(OpenCV REQUIRED) @@ -684,13 +345,6 @@ index 0000000..e56077b +) +endif() + -+if(USE_SIMD) -+ target_link_libraries(DBow3 -+ PRIVATE -+ SIMD::SSE4.1 -+ ) -+endif() -+ +target_compile_definitions(DBow3 + PUBLIC + NOMINMAX @@ -727,9 +381,6 @@ index 0000000..e56077b +install(FILES DBow3Config.cmake ${CMAKE_CURRENT_BINARY_DIR}/DBow3ConfigVersion.cmake + DESTINATION cmake/DBow3) \ No newline at end of file -diff --git a/Lib/DBow3Config.cmake b/Lib/DBow3Config.cmake -new file mode 100644 -index 0000000..9720a14 --- /dev/null +++ b/Lib/DBow3Config.cmake @@ -0,0 +1,4 @@ @@ -858,279 +509,279 @@ index d6331af..430ce2b 100644 --- a/src/DescManip.cpp +++ b/Lib/src/DescManip.cpp @@ -1,273 +1,273 @@ --/** -- * File: DescManip.cpp -- * Date: June 2012 -- * Author: Dorian Galvez-Lopez -- * Description: functions for ORB descriptors -- * License: see the LICENSE.txt file -- * -- */ -- --#include --#include --#include --#include --#include --#include -- --#include "DescManip.h" -- --using namespace std; -- --namespace DBoW3 { -- --// -------------------------------------------------------------------------- -- --void DescManip::meanValue(const std::vector &descriptors, -- cv::Mat &mean) --{ -- -- if(descriptors.empty()) return; -- -- if(descriptors.size() == 1) -- { -- mean = descriptors[0].clone(); -- return; -- } -- //binary descriptor -- if (descriptors[0].type()==CV_8U ){ -- //determine number of bytes of the binary descriptor -- int L= getDescSizeBytes( descriptors[0]); -- vector sum( L * 8, 0); -- -- for(size_t i = 0; i < descriptors.size(); ++i) -- { -- const cv::Mat &d = descriptors[i]; -- const unsigned char *p = d.ptr(); -- -- for(int j = 0; j < d.cols; ++j, ++p) -- { -- if(*p & (1 << 7)) ++sum[ j*8 ]; -- if(*p & (1 << 6)) ++sum[ j*8 + 1 ]; -- if(*p & (1 << 5)) ++sum[ j*8 + 2 ]; -- if(*p & (1 << 4)) ++sum[ j*8 + 3 ]; -- if(*p & (1 << 3)) ++sum[ j*8 + 4 ]; -- if(*p & (1 << 2)) ++sum[ j*8 + 5 ]; -- if(*p & (1 << 1)) ++sum[ j*8 + 6 ]; -- if(*p & (1)) ++sum[ j*8 + 7 ]; -- } -- } -- -- mean = cv::Mat::zeros(1, L, CV_8U); -- unsigned char *p = mean.ptr(); -- -- const int N2 = (int)descriptors.size() / 2 + descriptors.size() % 2; -- for(size_t i = 0; i < sum.size(); ++i) -- { -- if(sum[i] >= N2) -- { -- // set bit -- *p |= 1 << (7 - (i % 8)); -- } -- -- if(i % 8 == 7) ++p; -- } -- } -- //non binary descriptor -- else{ -- assert(descriptors[0].type()==CV_32F );//ensure it is float -- -- mean.create(1, descriptors[0].cols,descriptors[0].type()); -- mean.setTo(cv::Scalar::all(0)); -- float inv_s =1./double( descriptors.size()); -- for(size_t i=0;i(); // a & b are actually CV_8U -- pb = b.ptr(); -- -- uint64_t v, ret = 0; -- for(size_t i = 0; i < a.cols / sizeof(uint64_t); ++i, ++pa, ++pb) -- { -- v = *pa ^ *pb; -- v = v - ((v >> 1) & (uint64_t)~(uint64_t)0/3); -- v = (v & (uint64_t)~(uint64_t)0/15*3) + ((v >> 2) & -- (uint64_t)~(uint64_t)0/15*3); -- v = (v + (v >> 4)) & (uint64_t)~(uint64_t)0/255*15; -- ret += (uint64_t)(v * ((uint64_t)~(uint64_t)0/255)) >> -- (sizeof(uint64_t) - 1) * CHAR_BIT; -- } -- -- return ret; -- } -- else{ -- double sqd = 0.; -- assert(a.type()==CV_32F); -- assert(a.rows==1); -- const float *a_ptr=a.ptr(0); -- const float *b_ptr=b.ptr(0); -- for(int i = 0; i < a.cols; i ++) -- sqd += (a_ptr[i ] - b_ptr[i ])*(a_ptr[i ] - b_ptr[i ]); -- return sqd; -- } --} -- -- -- -- --// -------------------------------------------------------------------------- -- --std::string DescManip::toString(const cv::Mat &a) --{ -- stringstream ss; -- //introduce a magic value to distinguish from DBOw2 -- ss<<"dbw3 "; -- //save size and type -- -- -- ss <(); -- for(int i = 0; i < a.cols; ++i, ++p) -- ss << (int)*p << " "; -- }else{ -- -- const float *p = a.ptr(); -- for(int i = 0; i < a.cols; ++i, ++p) -- ss << *p << " "; -- -- } -- -- return ss.str(); --} -- --// -------------------------------------------------------------------------- -- --void DescManip::fromString(cv::Mat &a, const std::string &s) --{ -- -- //check if the dbow3 is present -- string ss_aux;ss_aux.reserve(10); -- for(size_t i=0;i<10 && i data;data.reserve(100); -- while( ss>>val) data.push_back(val); -- //copy to a -- a.create(1,data.size(),CV_8UC1); -- memcpy(a.ptr(0),&data[0],data.size()); -- } -- else { -- char szSign[10]; -- int type,cols; -- stringstream ss(s); -- ss >> szSign >> type >> cols; -- a.create(1, cols, type); -- if(type==CV_8UC1){ -- unsigned char *p = a.ptr(); -- int n; -- for(int i = 0; i < a.cols; ++i, ++p) -- if ( ss >> n) *p = (unsigned char)n; -- } -- else{ -- float *p = a.ptr(); -- for(int i = 0; i < a.cols; ++i, ++p) -- if ( !(ss >> *p))cerr<<"Error reading. Unexpected EOF. DescManip::fromString"< &descriptors, -- cv::Mat &mat) --{ -- if(descriptors.empty()) -- { -- mat.release(); -- return; -- } -- -- if(descriptors[0].type()==CV_8UC1){ -- -- const size_t N = descriptors.size(); -- int L=getDescSizeBytes(descriptors[0]); -- mat.create(N, L*8, CV_32F); -- float *p = mat.ptr(); -- -- for(size_t i = 0; i < N; ++i) -- { -- const int C = descriptors[i].cols; -- const unsigned char *desc = descriptors[i].ptr(); -- -- for(int j = 0; j < C; ++j, p += 8) -- { -- p[0] = (desc[j] & (1 << 7) ? 1 : 0); -- p[1] = (desc[j] & (1 << 6) ? 1 : 0); -- p[2] = (desc[j] & (1 << 5) ? 1 : 0); -- p[3] = (desc[j] & (1 << 4) ? 1 : 0); -- p[4] = (desc[j] & (1 << 3) ? 1 : 0); -- p[5] = (desc[j] & (1 << 2) ? 1 : 0); -- p[6] = (desc[j] & (1 << 1) ? 1 : 0); -- p[7] = desc[j] & (1); -- } -- } -- } -- else{ -- assert(descriptors[0].type()==CV_32F); -- const int N = descriptors.size(); -- int L=descriptors[0].cols; -- mat.create(N, L, CV_32F); -- for(int i = 0; i < N; ++i) -- memcpy(mat.ptr(i),descriptors[i].ptr(0),sizeof(float)*L); -- } --} -- --void DescManip::toStream(const cv::Mat &m,std::ostream &str){ -- assert(m.rows==1 || m.isContinuous()); -- int type=m.type(); -- int cols=m.cols; -- int rows=m.rows; -- str.write((char*)&cols,sizeof(cols)); -- str.write((char*)&rows,sizeof(rows)); -- str.write((char*)&type,sizeof(type)); -- str.write((char*)m.ptr(0),m.elemSize()*m.cols); --} -- --void DescManip::fromStream(cv::Mat &m,std::istream &str){ -- int type,cols,rows; -- str.read((char*)&cols,sizeof(cols)); -- str.read((char*)&rows,sizeof(rows)); -- str.read((char*)&type,sizeof(type)); -- m.create(rows,cols,type); -- str.read((char*)m.ptr(0),m.elemSize()*m.cols); --} -- -- --// -------------------------------------------------------------------------- -- --} // namespace DBoW3 -- +-/** +- * File: DescManip.cpp +- * Date: June 2012 +- * Author: Dorian Galvez-Lopez +- * Description: functions for ORB descriptors +- * License: see the LICENSE.txt file +- * +- */ +- +-#include +-#include +-#include +-#include +-#include +-#include +- +-#include "DescManip.h" +- +-using namespace std; +- +-namespace DBoW3 { +- +-// -------------------------------------------------------------------------- +- +-void DescManip::meanValue(const std::vector &descriptors, +- cv::Mat &mean) +-{ +- +- if(descriptors.empty()) return; +- +- if(descriptors.size() == 1) +- { +- mean = descriptors[0].clone(); +- return; +- } +- //binary descriptor +- if (descriptors[0].type()==CV_8U ){ +- //determine number of bytes of the binary descriptor +- int L= getDescSizeBytes( descriptors[0]); +- vector sum( L * 8, 0); +- +- for(size_t i = 0; i < descriptors.size(); ++i) +- { +- const cv::Mat &d = descriptors[i]; +- const unsigned char *p = d.ptr(); +- +- for(int j = 0; j < d.cols; ++j, ++p) +- { +- if(*p & (1 << 7)) ++sum[ j*8 ]; +- if(*p & (1 << 6)) ++sum[ j*8 + 1 ]; +- if(*p & (1 << 5)) ++sum[ j*8 + 2 ]; +- if(*p & (1 << 4)) ++sum[ j*8 + 3 ]; +- if(*p & (1 << 3)) ++sum[ j*8 + 4 ]; +- if(*p & (1 << 2)) ++sum[ j*8 + 5 ]; +- if(*p & (1 << 1)) ++sum[ j*8 + 6 ]; +- if(*p & (1)) ++sum[ j*8 + 7 ]; +- } +- } +- +- mean = cv::Mat::zeros(1, L, CV_8U); +- unsigned char *p = mean.ptr(); +- +- const int N2 = (int)descriptors.size() / 2 + descriptors.size() % 2; +- for(size_t i = 0; i < sum.size(); ++i) +- { +- if(sum[i] >= N2) +- { +- // set bit +- *p |= 1 << (7 - (i % 8)); +- } +- +- if(i % 8 == 7) ++p; +- } +- } +- //non binary descriptor +- else{ +- assert(descriptors[0].type()==CV_32F );//ensure it is float +- +- mean.create(1, descriptors[0].cols,descriptors[0].type()); +- mean.setTo(cv::Scalar::all(0)); +- float inv_s =1./double( descriptors.size()); +- for(size_t i=0;i(); // a & b are actually CV_8U +- pb = b.ptr(); +- +- uint64_t v, ret = 0; +- for(size_t i = 0; i < a.cols / sizeof(uint64_t); ++i, ++pa, ++pb) +- { +- v = *pa ^ *pb; +- v = v - ((v >> 1) & (uint64_t)~(uint64_t)0/3); +- v = (v & (uint64_t)~(uint64_t)0/15*3) + ((v >> 2) & +- (uint64_t)~(uint64_t)0/15*3); +- v = (v + (v >> 4)) & (uint64_t)~(uint64_t)0/255*15; +- ret += (uint64_t)(v * ((uint64_t)~(uint64_t)0/255)) >> +- (sizeof(uint64_t) - 1) * CHAR_BIT; +- } +- +- return ret; +- } +- else{ +- double sqd = 0.; +- assert(a.type()==CV_32F); +- assert(a.rows==1); +- const float *a_ptr=a.ptr(0); +- const float *b_ptr=b.ptr(0); +- for(int i = 0; i < a.cols; i ++) +- sqd += (a_ptr[i ] - b_ptr[i ])*(a_ptr[i ] - b_ptr[i ]); +- return sqd; +- } +-} +- +- +- +- +-// -------------------------------------------------------------------------- +- +-std::string DescManip::toString(const cv::Mat &a) +-{ +- stringstream ss; +- //introduce a magic value to distinguish from DBOw2 +- ss<<"dbw3 "; +- //save size and type +- +- +- ss <(); +- for(int i = 0; i < a.cols; ++i, ++p) +- ss << (int)*p << " "; +- }else{ +- +- const float *p = a.ptr(); +- for(int i = 0; i < a.cols; ++i, ++p) +- ss << *p << " "; +- +- } +- +- return ss.str(); +-} +- +-// -------------------------------------------------------------------------- +- +-void DescManip::fromString(cv::Mat &a, const std::string &s) +-{ +- +- //check if the dbow3 is present +- string ss_aux;ss_aux.reserve(10); +- for(size_t i=0;i<10 && i data;data.reserve(100); +- while( ss>>val) data.push_back(val); +- //copy to a +- a.create(1,data.size(),CV_8UC1); +- memcpy(a.ptr(0),&data[0],data.size()); +- } +- else { +- char szSign[10]; +- int type,cols; +- stringstream ss(s); +- ss >> szSign >> type >> cols; +- a.create(1, cols, type); +- if(type==CV_8UC1){ +- unsigned char *p = a.ptr(); +- int n; +- for(int i = 0; i < a.cols; ++i, ++p) +- if ( ss >> n) *p = (unsigned char)n; +- } +- else{ +- float *p = a.ptr(); +- for(int i = 0; i < a.cols; ++i, ++p) +- if ( !(ss >> *p))cerr<<"Error reading. Unexpected EOF. DescManip::fromString"< &descriptors, +- cv::Mat &mat) +-{ +- if(descriptors.empty()) +- { +- mat.release(); +- return; +- } +- +- if(descriptors[0].type()==CV_8UC1){ +- +- const size_t N = descriptors.size(); +- int L=getDescSizeBytes(descriptors[0]); +- mat.create(N, L*8, CV_32F); +- float *p = mat.ptr(); +- +- for(size_t i = 0; i < N; ++i) +- { +- const int C = descriptors[i].cols; +- const unsigned char *desc = descriptors[i].ptr(); +- +- for(int j = 0; j < C; ++j, p += 8) +- { +- p[0] = (desc[j] & (1 << 7) ? 1 : 0); +- p[1] = (desc[j] & (1 << 6) ? 1 : 0); +- p[2] = (desc[j] & (1 << 5) ? 1 : 0); +- p[3] = (desc[j] & (1 << 4) ? 1 : 0); +- p[4] = (desc[j] & (1 << 3) ? 1 : 0); +- p[5] = (desc[j] & (1 << 2) ? 1 : 0); +- p[6] = (desc[j] & (1 << 1) ? 1 : 0); +- p[7] = desc[j] & (1); +- } +- } +- } +- else{ +- assert(descriptors[0].type()==CV_32F); +- const int N = descriptors.size(); +- int L=descriptors[0].cols; +- mat.create(N, L, CV_32F); +- for(int i = 0; i < N; ++i) +- memcpy(mat.ptr(i),descriptors[i].ptr(0),sizeof(float)*L); +- } +-} +- +-void DescManip::toStream(const cv::Mat &m,std::ostream &str){ +- assert(m.rows==1 || m.isContinuous()); +- int type=m.type(); +- int cols=m.cols; +- int rows=m.rows; +- str.write((char*)&cols,sizeof(cols)); +- str.write((char*)&rows,sizeof(rows)); +- str.write((char*)&type,sizeof(type)); +- str.write((char*)m.ptr(0),m.elemSize()*m.cols); +-} +- +-void DescManip::fromStream(cv::Mat &m,std::istream &str){ +- int type,cols,rows; +- str.read((char*)&cols,sizeof(cols)); +- str.read((char*)&rows,sizeof(rows)); +- str.read((char*)&type,sizeof(type)); +- m.create(rows,cols,type); +- str.read((char*)m.ptr(0),m.elemSize()*m.cols); +-} +- +- +-// -------------------------------------------------------------------------- +- +-} // namespace DBoW3 +- +/** + * File: DescManip.cpp + * Date: June 2012 @@ -1549,42 +1200,42 @@ index 9d15feb..0000000 --- a/config.cmake.in +++ /dev/null @@ -1,36 +0,0 @@ --# =================================================================================== --# @PROJECT_NAME@ CMake configuration file --# --# ** File generated automatically, do not modify ** --# --# Usage from an external project: --# In your CMakeLists.txt, add these lines: --# --# FIND_PACKAGE(@PROJECT_NAME@ REQUIRED ) --# TARGET_LINK_LIBRARIES(MY_TARGET_NAME ${@PROJECT_NAME@_LIBS}) --# --# This file will define the following variables: --# - @PROJECT_NAME@_LIBS : The list of libraries to links against. --# - @PROJECT_NAME@_LIB_DIR : The directory where lib files are. Calling LINK_DIRECTORIES --# with this path is NOT needed. --# - @PROJECT_NAME@_VERSION : The version of this PROJECT_NAME build. Example: "1.2.0" --# - @PROJECT_NAME@_VERSION_MAJOR : Major version part of VERSION. Example: "1" --# - @PROJECT_NAME@_VERSION_MINOR : Minor version part of VERSION. Example: "2" --# - @PROJECT_NAME@_VERSION_PATCH : Patch version part of VERSION. Example: "0" --# --# =================================================================================== --INCLUDE_DIRECTORIES("@CMAKE_INSTALL_PREFIX@/include") --SET(@PROJECT_NAME@_INCLUDE_DIRS "@CMAKE_INSTALL_PREFIX@/include") -- --LINK_DIRECTORIES("@CMAKE_INSTALL_PREFIX@/@LIB_INSTALL_DIR@") --SET(@PROJECT_NAME@_LIB_DIR "@CMAKE_INSTALL_PREFIX@/@LIB_INSTALL_DIR@") -- --SET(@PROJECT_NAME@_LIBS @REQUIRED_LIBRARIES@ @PROJECT_NAME@@PROJECT_DLLVERSION@) --SET(@PROJECT_NAME@_LIBRARIES @REQUIRED_LIBRARIES@ @PROJECT_NAME@@PROJECT_DLLVERSION@) -- --SET(@PROJECT_NAME@_FOUND YES) --SET(@PROJECT_NAME@_FOUND "YES") --SET(@PROJECT_NAME@_VERSION @PROJECT_VERSION@) --SET(@PROJECT_NAME@_VERSION_MAJOR @PROJECT_VERSION_MAJOR@) --SET(@PROJECT_NAME@_VERSION_MINOR @PROJECT_VERSION_MINOR@) --SET(@PROJECT_NAME@_VERSION_PATCH @PROJECT_VERSION_PATCH@) +-# =================================================================================== +-# @PROJECT_NAME@ CMake configuration file +-# +-# ** File generated automatically, do not modify ** +-# +-# Usage from an external project: +-# In your CMakeLists.txt, add these lines: +-# +-# FIND_PACKAGE(@PROJECT_NAME@ REQUIRED ) +-# TARGET_LINK_LIBRARIES(MY_TARGET_NAME ${@PROJECT_NAME@_LIBS}) +-# +-# This file will define the following variables: +-# - @PROJECT_NAME@_LIBS : The list of libraries to links against. +-# - @PROJECT_NAME@_LIB_DIR : The directory where lib files are. Calling LINK_DIRECTORIES +-# with this path is NOT needed. +-# - @PROJECT_NAME@_VERSION : The version of this PROJECT_NAME build. Example: "1.2.0" +-# - @PROJECT_NAME@_VERSION_MAJOR : Major version part of VERSION. Example: "1" +-# - @PROJECT_NAME@_VERSION_MINOR : Minor version part of VERSION. Example: "2" +-# - @PROJECT_NAME@_VERSION_PATCH : Patch version part of VERSION. Example: "0" +-# +-# =================================================================================== +-INCLUDE_DIRECTORIES("@CMAKE_INSTALL_PREFIX@/include") +-SET(@PROJECT_NAME@_INCLUDE_DIRS "@CMAKE_INSTALL_PREFIX@/include") +- +-LINK_DIRECTORIES("@CMAKE_INSTALL_PREFIX@/@LIB_INSTALL_DIR@") +-SET(@PROJECT_NAME@_LIB_DIR "@CMAKE_INSTALL_PREFIX@/@LIB_INSTALL_DIR@") +- +-SET(@PROJECT_NAME@_LIBS @REQUIRED_LIBRARIES@ @PROJECT_NAME@@PROJECT_DLLVERSION@) +-SET(@PROJECT_NAME@_LIBRARIES @REQUIRED_LIBRARIES@ @PROJECT_NAME@@PROJECT_DLLVERSION@) +- +-SET(@PROJECT_NAME@_FOUND YES) +-SET(@PROJECT_NAME@_FOUND "YES") +-SET(@PROJECT_NAME@_VERSION @PROJECT_VERSION@) +-SET(@PROJECT_NAME@_VERSION_MAJOR @PROJECT_VERSION_MAJOR@) +-SET(@PROJECT_NAME@_VERSION_MINOR @PROJECT_VERSION_MINOR@) +-SET(@PROJECT_NAME@_VERSION_PATCH @PROJECT_VERSION_PATCH@) diff --git a/utils/CMakeLists.txt b/examples/CMakeLists.txt similarity index 100% rename from utils/CMakeLists.txt @@ -1597,132 +1248,132 @@ index 4fd78f6..c48a3c4 100644 --- a/utils/create_voc_step0.cpp +++ b/examples/create_voc_step0.cpp @@ -1,126 +1,126 @@ -- --//First step of creating a vocabulary is extracting features from a set of images. We save them to a file for next step --#include --#include -- --// DBoW3 --#include "DBoW3.h" -- --// OpenCV --#include --#include --#include --#ifdef USE_CONTRIB --#include --#include --#endif --#include "DescManip.h" -- --using namespace DBoW3; --using namespace std; -- -- --//command line parser --class CmdLineParser{int argc; char **argv; public: CmdLineParser(int _argc,char **_argv):argc(_argc),argv(_argv){} bool operator[] ( string param ) {int idx=-1; for ( int i=0; i readImagePaths(int argc,char **argv,int start){ -- vector paths; -- for(int i=start;i loadFeatures( std::vector path_to_images,string descriptor="") throw (std::exception){ -- //select detector -- cv::Ptr fdetector; -- if (descriptor=="orb") fdetector=cv::ORB::create(); -- else if (descriptor=="brisk") fdetector=cv::BRISK::create(); --#ifdef OPENCV_VERSION_3 -- else if (descriptor=="akaze") fdetector=cv::AKAZE::create(); --#endif --#ifdef USE_CONTRIB -- else if(descriptor=="surf" ) fdetector=cv::xfeatures2d::SURF::create(400, 4, 2, EXTENDED_SURF); --#endif -- -- else throw std::runtime_error("Invalid descriptor"); -- assert(!descriptor.empty()); -- vector features; -- -- -- cout << "Extracting features..." << endl; -- for(size_t i = 0; i < path_to_images.size(); ++i) -- { -- vector keypoints; -- cv::Mat descriptors; -- cout<<"reading image: "<detectAndCompute(image, cv::Mat(), keypoints, descriptors); -- features.push_back(descriptors); -- cout<<"done detecting features"< &features){ -- -- //test it is not created -- std::ifstream ifile(filename); -- if (ifile.is_open()){cerr<<"ERROR::: Output File "<(0),f.total()*f.elemSize()); -- } --} -- --// ---------------------------------------------------------------------------- -- --int main(int argc,char **argv) --{ -- -- try{ -- CmdLineParser cml(argc,argv); -- if (cml["-h"] || argc==1){ -- cerr<<"Usage: descriptor_name output image0 image1 ... \n\t descriptors:brisk,surf,orb(default),akaze(only if using opencv 3)"< features= loadFeatures(images,descriptor); -- -- //save features to file -- saveToFile(argv[2],features); -- -- }catch(std::exception &ex){ -- cerr< +-#include +- +-// DBoW3 +-#include "DBoW3.h" +- +-// OpenCV +-#include +-#include +-#include +-#ifdef USE_CONTRIB +-#include +-#include +-#endif +-#include "DescManip.h" +- +-using namespace DBoW3; +-using namespace std; +- +- +-//command line parser +-class CmdLineParser{int argc; char **argv; public: CmdLineParser(int _argc,char **_argv):argc(_argc),argv(_argv){} bool operator[] ( string param ) {int idx=-1; for ( int i=0; i readImagePaths(int argc,char **argv,int start){ +- vector paths; +- for(int i=start;i loadFeatures( std::vector path_to_images,string descriptor="") throw (std::exception){ +- //select detector +- cv::Ptr fdetector; +- if (descriptor=="orb") fdetector=cv::ORB::create(); +- else if (descriptor=="brisk") fdetector=cv::BRISK::create(); +-#ifdef OPENCV_VERSION_3 +- else if (descriptor=="akaze") fdetector=cv::AKAZE::create(); +-#endif +-#ifdef USE_CONTRIB +- else if(descriptor=="surf" ) fdetector=cv::xfeatures2d::SURF::create(400, 4, 2, EXTENDED_SURF); +-#endif +- +- else throw std::runtime_error("Invalid descriptor"); +- assert(!descriptor.empty()); +- vector features; +- +- +- cout << "Extracting features..." << endl; +- for(size_t i = 0; i < path_to_images.size(); ++i) +- { +- vector keypoints; +- cv::Mat descriptors; +- cout<<"reading image: "<detectAndCompute(image, cv::Mat(), keypoints, descriptors); +- features.push_back(descriptors); +- cout<<"done detecting features"< &features){ +- +- //test it is not created +- std::ifstream ifile(filename); +- if (ifile.is_open()){cerr<<"ERROR::: Output File "<(0),f.total()*f.elemSize()); +- } +-} +- +-// ---------------------------------------------------------------------------- +- +-int main(int argc,char **argv) +-{ +- +- try{ +- CmdLineParser cml(argc,argv); +- if (cml["-h"] || argc==1){ +- cerr<<"Usage: descriptor_name output image0 image1 ... \n\t descriptors:brisk,surf,orb(default),akaze(only if using opencv 3)"< features= loadFeatures(images,descriptor); +- +- //save features to file +- saveToFile(argv[2],features); +- +- }catch(std::exception &ex){ +- cerr< @@ -1857,77 +1508,77 @@ index 8d9de7d..1f82c66 100644 --- a/utils/create_voc_step1.cpp +++ b/examples/create_voc_step1.cpp @@ -1,71 +1,71 @@ --//Second step,creates the vocabulary from the set of features. It can be slow --#include --#include -- --// DBoW3 --#include "DBoW3.h" -- --// OpenCV --#include --using namespace DBoW3; --using namespace std; -- --//command line parser --class CmdLineParser{int argc; char **argv; public: CmdLineParser(int _argc,char **_argv):argc(_argc),argv(_argv){} bool operator[] ( string param ) {int idx=-1; for ( int i=0; i readFeaturesFromFile(string filename){ --vector features; -- //test it is not created -- std::ifstream ifile(filename); -- if (!ifile.is_open()){cerr<<"could not open input file"<(0),features[i].total()*features[i].elemSize()); -- } -- return features; --} -- --// ---------------------------------------------------------------------------- -- --int main(int argc,char **argv) --{ -- -- try{ -- CmdLineParser cml(argc,argv); -- if (cml["-h"] || argc!=3){ -- cerr<<"Usage: features output_voc.yml[.gz]"< +-#include +- +-// DBoW3 +-#include "DBoW3.h" +- +-// OpenCV +-#include +-using namespace DBoW3; +-using namespace std; +- +-//command line parser +-class CmdLineParser{int argc; char **argv; public: CmdLineParser(int _argc,char **_argv):argc(_argc),argv(_argv){} bool operator[] ( string param ) {int idx=-1; for ( int i=0; i readFeaturesFromFile(string filename){ +-vector features; +- //test it is not created +- std::ifstream ifile(filename); +- if (!ifile.is_open()){cerr<<"could not open input file"<(0),features[i].total()*features[i].elemSize()); +- } +- return features; +-} +- +-// ---------------------------------------------------------------------------- +- +-int main(int argc,char **argv) +-{ +- +- try{ +- CmdLineParser cml(argc,argv); +- if (cml["-h"] || argc!=3){ +- cerr<<"Usage: features output_voc.yml[.gz]"< +#include @@ -2007,208 +1658,208 @@ index 63db40b..b4bc391 100644 --- a/utils/demo_general.cpp +++ b/examples/demo_general.cpp @@ -1,202 +1,202 @@ --/** -- * Date: 2016 -- * Author: Rafael Muñoz Salinas -- * Description: demo application of DBoW3 -- * License: see the LICENSE.txt file -- */ -- --#include --#include -- --// DBoW3 --#include "DBoW3.h" -- --// OpenCV --#include --#include --#include --#ifdef USE_CONTRIB --#include --#include --#endif --#include "DescManip.h" -- --using namespace DBoW3; --using namespace std; -- -- --//command line parser --class CmdLineParser{int argc; char **argv; public: CmdLineParser(int _argc,char **_argv):argc(_argc),argv(_argv){} bool operator[] ( string param ) {int idx=-1; for ( int i=0; i readImagePaths(int argc,char **argv,int start){ -- vector paths; -- for(int i=start;i loadFeatures( std::vector path_to_images,string descriptor="") throw (std::exception){ -- //select detector -- cv::Ptr fdetector; -- if (descriptor=="orb") fdetector=cv::ORB::create(); -- else if (descriptor=="brisk") fdetector=cv::BRISK::create(); --#ifdef OPENCV_VERSION_3 -- else if (descriptor=="akaze") fdetector=cv::AKAZE::create(); --#endif --#ifdef USE_CONTRIB -- else if(descriptor=="surf" ) fdetector=cv::xfeatures2d::SURF::create(400, 4, 2, EXTENDED_SURF); --#endif -- -- else throw std::runtime_error("Invalid descriptor"); -- assert(!descriptor.empty()); -- vector features; -- -- -- cout << "Extracting features..." << endl; -- for(size_t i = 0; i < path_to_images.size(); ++i) -- { -- vector keypoints; -- cv::Mat descriptors; -- cout<<"reading image: "<detectAndCompute(image, cv::Mat(), keypoints, descriptors); -- features.push_back(descriptors); -- cout<<"done detecting features"< &features) --{ -- // branching factor and depth levels -- const int k = 9; -- const int L = 3; -- const WeightingType weight = TF_IDF; -- const ScoringType score = L1_NORM; -- -- DBoW3::Vocabulary voc(k, L, weight, score); -- -- cout << "Creating a small " << k << "^" << L << " vocabulary..." << endl; -- voc.create(features); -- cout << "... done!" << endl; -- -- cout << "Vocabulary information: " << endl -- << voc << endl << endl; -- -- // lets do something with this vocabulary -- cout << "Matching images against themselves (0 low, 1 high): " << endl; -- BowVector v1, v2; -- for(size_t i = 0; i < features.size(); i++) -- { -- voc.transform(features[i], v1); -- for(size_t j = 0; j < features.size(); j++) -- { -- voc.transform(features[j], v2); -- -- double score = voc.score(v1, v2); -- cout << "Image " << i << " vs Image " << j << ": " << score << endl; -- } -- } -- -- // save the vocabulary to disk -- cout << endl << "Saving vocabulary..." << endl; -- voc.save("small_voc.yml.gz"); -- cout << "Done" << endl; --} -- --////// ---------------------------------------------------------------------------- -- --void testDatabase(const vector &features) --{ -- cout << "Creating a small database..." << endl; -- -- // load the vocabulary from disk -- Vocabulary voc("small_voc.yml.gz"); -- -- Database db(voc, false, 0); // false = do not use direct index -- // (so ignore the last param) -- // The direct index is useful if we want to retrieve the features that -- // belong to some vocabulary node. -- // db creates a copy of the vocabulary, we may get rid of "voc" now -- -- // add images to the database -- for(size_t i = 0; i < features.size(); i++) -- db.add(features[i]); -- -- cout << "... done!" << endl; -- -- cout << "Database information: " << endl << db << endl; -- -- // and query the database -- cout << "Querying the database: " << endl; -- -- QueryResults ret; -- for(size_t i = 0; i < features.size(); i++) -- { -- db.query(features[i], ret, 4); -- -- // ret[0] is always the same image in this case, because we added it to the -- // database. ret[1] is the second best match. -- -- cout << "Searching for Image " << i << ". " << ret << endl; -- } -- -- cout << endl; -- -- // we can save the database. The created file includes the vocabulary -- // and the entries added -- cout << "Saving database..." << endl; -- db.save("small_db.yml.gz"); -- cout << "... done!" << endl; -- -- // once saved, we can load it again -- cout << "Retrieving database once again..." << endl; -- Database db2("small_db.yml.gz"); -- cout << "... done! This is: " << endl << db2 << endl; --} -- -- --// ---------------------------------------------------------------------------- -- --int main(int argc,char **argv) --{ -- -- try{ -- CmdLineParser cml(argc,argv); -- if (cml["-h"] || argc<=2){ -- cerr<<"Usage: descriptor_name image0 image1 ... \n\t descriptors:brisk,surf,orb ,akaze(only if using opencv 3)"< features= loadFeatures(images,descriptor); -- testVocCreation(features); -- -- -- testDatabase(features); -- -- }catch(std::exception &ex){ -- cerr< +-#include +- +-// DBoW3 +-#include "DBoW3.h" +- +-// OpenCV +-#include +-#include +-#include +-#ifdef USE_CONTRIB +-#include +-#include +-#endif +-#include "DescManip.h" +- +-using namespace DBoW3; +-using namespace std; +- +- +-//command line parser +-class CmdLineParser{int argc; char **argv; public: CmdLineParser(int _argc,char **_argv):argc(_argc),argv(_argv){} bool operator[] ( string param ) {int idx=-1; for ( int i=0; i readImagePaths(int argc,char **argv,int start){ +- vector paths; +- for(int i=start;i loadFeatures( std::vector path_to_images,string descriptor="") throw (std::exception){ +- //select detector +- cv::Ptr fdetector; +- if (descriptor=="orb") fdetector=cv::ORB::create(); +- else if (descriptor=="brisk") fdetector=cv::BRISK::create(); +-#ifdef OPENCV_VERSION_3 +- else if (descriptor=="akaze") fdetector=cv::AKAZE::create(); +-#endif +-#ifdef USE_CONTRIB +- else if(descriptor=="surf" ) fdetector=cv::xfeatures2d::SURF::create(400, 4, 2, EXTENDED_SURF); +-#endif +- +- else throw std::runtime_error("Invalid descriptor"); +- assert(!descriptor.empty()); +- vector features; +- +- +- cout << "Extracting features..." << endl; +- for(size_t i = 0; i < path_to_images.size(); ++i) +- { +- vector keypoints; +- cv::Mat descriptors; +- cout<<"reading image: "<detectAndCompute(image, cv::Mat(), keypoints, descriptors); +- features.push_back(descriptors); +- cout<<"done detecting features"< &features) +-{ +- // branching factor and depth levels +- const int k = 9; +- const int L = 3; +- const WeightingType weight = TF_IDF; +- const ScoringType score = L1_NORM; +- +- DBoW3::Vocabulary voc(k, L, weight, score); +- +- cout << "Creating a small " << k << "^" << L << " vocabulary..." << endl; +- voc.create(features); +- cout << "... done!" << endl; +- +- cout << "Vocabulary information: " << endl +- << voc << endl << endl; +- +- // lets do something with this vocabulary +- cout << "Matching images against themselves (0 low, 1 high): " << endl; +- BowVector v1, v2; +- for(size_t i = 0; i < features.size(); i++) +- { +- voc.transform(features[i], v1); +- for(size_t j = 0; j < features.size(); j++) +- { +- voc.transform(features[j], v2); +- +- double score = voc.score(v1, v2); +- cout << "Image " << i << " vs Image " << j << ": " << score << endl; +- } +- } +- +- // save the vocabulary to disk +- cout << endl << "Saving vocabulary..." << endl; +- voc.save("small_voc.yml.gz"); +- cout << "Done" << endl; +-} +- +-////// ---------------------------------------------------------------------------- +- +-void testDatabase(const vector &features) +-{ +- cout << "Creating a small database..." << endl; +- +- // load the vocabulary from disk +- Vocabulary voc("small_voc.yml.gz"); +- +- Database db(voc, false, 0); // false = do not use direct index +- // (so ignore the last param) +- // The direct index is useful if we want to retrieve the features that +- // belong to some vocabulary node. +- // db creates a copy of the vocabulary, we may get rid of "voc" now +- +- // add images to the database +- for(size_t i = 0; i < features.size(); i++) +- db.add(features[i]); +- +- cout << "... done!" << endl; +- +- cout << "Database information: " << endl << db << endl; +- +- // and query the database +- cout << "Querying the database: " << endl; +- +- QueryResults ret; +- for(size_t i = 0; i < features.size(); i++) +- { +- db.query(features[i], ret, 4); +- +- // ret[0] is always the same image in this case, because we added it to the +- // database. ret[1] is the second best match. +- +- cout << "Searching for Image " << i << ". " << ret << endl; +- } +- +- cout << endl; +- +- // we can save the database. The created file includes the vocabulary +- // and the entries added +- cout << "Saving database..." << endl; +- db.save("small_db.yml.gz"); +- cout << "... done!" << endl; +- +- // once saved, we can load it again +- cout << "Retrieving database once again..." << endl; +- Database db2("small_db.yml.gz"); +- cout << "... done! This is: " << endl << db2 << endl; +-} +- +- +-// ---------------------------------------------------------------------------- +- +-int main(int argc,char **argv) +-{ +- +- try{ +- CmdLineParser cml(argc,argv); +- if (cml["-h"] || argc<=2){ +- cerr<<"Usage: descriptor_name image0 image1 ... \n\t descriptors:brisk,surf,orb ,akaze(only if using opencv 3)"< features= loadFeatures(images,descriptor); +- testVocCreation(features); +- +- +- testDatabase(features); +- +- }catch(std::exception &ex){ +- cerr<${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/ports/dbus/vcpkg.json b/ports/dbus/vcpkg.json new file mode 100644 index 00000000000000..53e68a39067a44 --- /dev/null +++ b/ports/dbus/vcpkg.json @@ -0,0 +1,44 @@ +{ + "name": "dbus", + "version": "1.15.8", + "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 & !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/ports/dcmtk/dependencies.diff b/ports/dcmtk/dependencies.diff new file mode 100644 index 00000000000000..73d5f39128306b --- /dev/null +++ b/ports/dcmtk/dependencies.diff @@ -0,0 +1,55 @@ +diff --git a/CMake/3rdparty.cmake b/CMake/3rdparty.cmake +index c355922..33ddc73 100644 +--- a/CMake/3rdparty.cmake ++++ b/CMake/3rdparty.cmake +@@ -1,3 +1,11 @@ ++set(CMAKE_REQUIRE_FIND_PACKAGE_Iconv "${DCMTK_WITH_ICONV}") ++set(CMAKE_REQUIRE_FIND_PACKAGE_ICU "${DCMTK_WITH_ICU}") ++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 +50,7 @@ if(DCMTK_USE_FIND_PACKAGE) + message(STATUS "Info: DCMTK TIFF support will be enabled") + include_directories(${TIFF_INCLUDE_DIR} ${JPEG_INCLUDE_DIR}) + endif() +- set(LIBTIFF_LIBS ${TIFF_LIBRARY} ${TIFF_EXTRA_LIBS_STATIC} ${JPEG_LIBRARY}) ++ set(LIBTIFF_LIBS ${TIFF_LIBRARIES}) + endif() + endif() + +@@ -57,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() + +@@ -102,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() +@@ -140,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/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 a9b60e95a92de0..9278e376358c64 100644 --- a/ports/dcmtk/portfile.cmake +++ b/ports/dcmtk/portfile.cmake @@ -1,46 +1,183 @@ -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO DCMTK/dcmtk - REF 6cb30bd7fb42190e0188afbd8cb961c62a6fb9c9 # DCMTK-3.6.6 - SHA512 3fbd524bc0b9dced2cdddca850c88d8785ca5f333c5f1598ffbffb8e5c33d11eebdce9ed935245048ac45a7ccd7bd9e4ca79eaacf752cba64a5534b76e5efcdb + REF 59f75a8b50e50ae1bb1ff12098040c6327500740 # DCMTK-3.6.8 + SHA512 2719e2163d57339a81f079c8c28d4e9e3ee6b1b85bc3db5b94a2279e3dd9881ab619d432d64984e6371569866d7aa4f01bf8b41841b773bcd60bbb8ad2118cac HEAD_REF master - PATCHES ${CMAKE_CURRENT_LIST_DIR}/dcmtk.patch + PATCHES + dcmtk.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/FindICU.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 + "xml2" DCMTK_WITH_XML + "zlib" DCMTK_WITH_ZLIB + "tools" BUILD_APPS ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +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 - -DDCMTK_WITH_DOXYGEN=OFF - -DDCMTK_WITH_ZLIB=OFF - -DDCMTK_WITH_OPENSSL=OFF - -DDCMTK_WITH_PNG=OFF - -DDCMTK_WITH_TIFF=OFF - -DDCMTK_WITH_XML=OFF - -DDCMTK_WITH_ICONV=OFF - -DDCMTK_FORCE_FPIC_ON_UNIX=ON - -DDCMTK_OVERWRITE_WIN32_COMPILER_FLAGS=OFF - -DDCMTK_ENABLE_BUILTIN_DICTIONARY=ON + ${FEATURE_OPTIONS} + -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 - -DBUILD_APPS=OFF - -DDCMTK_ENABLE_CXX11=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 - -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_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup() +vcpkg_fixup_pkgconfig() + +if ("tools" IN_LIST FEATURES) + set(_tools + cda2dcm + dcm2json + dcm2pdf + dcm2pnm + dcm2xml + dcmcjpeg + 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 + dcmprscu + dcmpschk + dcmpsmk + dcmpsprt + dcmpsrcv + dcmpssnd + dcmqridx + dcmqrscp + dcmqrti + dcmquant + dcmrecv + dcmrt_tests + dcmscale + dcmseg_tests + dcmsend + dcmsign + dcmsr_tests + dcmtls_tests + dcod2lum + dconvlum + drtdump + drttest + dsr2html + dsr2xml + dsrdump + dump2dcm + echoscu + findscu + getscu + img2dcm + mkcsmapper + mkesdb + mkreport + movescu + msgserv + oficonv_tests + ofstd_tests + pdf2dcm + stl2dcm + storescp + storescu + termscu + wlmscpfs + wltest + xml2dcm + xml2dsr + ) + vcpkg_copy_tools(TOOL_NAMES ${_tools} AUTO_CLEAN) +endif() -vcpkg_fixup_cmake_targets() +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +# 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 +) -# Handle copyright -file(INSTALL ${SOURCE_PATH}/COPYRIGHT DESTINATION ${CURRENT_PACKAGES_DIR}/share/dcmtk RENAME copyright) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +file(RENAME "${CURRENT_PACKAGES_DIR}/share/${PORT}/doc-${VERSION}/COPYRIGHT" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright") diff --git a/ports/dcmtk/usage b/ports/dcmtk/usage new file mode 100644 index 00000000000000..76cdf38e862c32 --- /dev/null +++ b/ports/dcmtk/usage @@ -0,0 +1,9 @@ +dcmtk provides CMake targets: + + find_package(DCMTK CONFIG REQUIRED) + target_link_libraries(main PRIVATE DCMTK::DCMTK) + # You may also select specific modules using DCMTK::. + +dcmtk provides pkg-config modules: + + dcmtk diff --git a/ports/dcmtk/vcpkg.json b/ports/dcmtk/vcpkg.json index a75b5a7bd4bf44..d2cdffc213a31d 100644 --- a/ports/dcmtk/vcpkg.json +++ b/ports/dcmtk/vcpkg.json @@ -1,6 +1,76 @@ { "name": "dcmtk", - "version-string": "3.6.6", - "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." + "version": "3.6.8", + "port-version": 9, + "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": null, + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "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": [ + "openssl" + ] + }, + "png": { + "description": "Enable PNG support", + "dependencies": [ + "libpng" + ] + }, + "tiff": { + "description": "Enable TIFF support", + "dependencies": [ + { + "name": "tiff", + "default-features": false + } + ] + }, + "tools": { + "description": "Build apps" + }, + "xml2": { + "description": "Enable XML support", + "dependencies": [ + "libxml2" + ] + }, + "zlib": { + "description": "Enable zlib support", + "dependencies": [ + "zlib" + ] + } + } } diff --git a/ports/debug-assert/portfile.cmake b/ports/debug-assert/portfile.cmake index 41f9385fff7018..afac8483b8181d 100644 --- a/ports/debug-assert/portfile.cmake +++ b/ports/debug-assert/portfile.cmake @@ -1,24 +1,23 @@ 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 ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DDEBUG_ASSERT_INSTALL=ON ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/debug_assert TARGET_PATH share/debug_assert) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/debug_assert PACKAGE_NAME debug_assert) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug" "${CURRENT_PACKAGES_DIR}/lib") vcpkg_copy_pdbs() -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/debug-assert/vcpkg.json b/ports/debug-assert/vcpkg.json index 413b23d303d7c8..81564b75a9bff9 100644 --- a/ports/debug-assert/vcpkg.json +++ b/ports/debug-assert/vcpkg.json @@ -1,6 +1,16 @@ { "name": "debug-assert", - "version-string": "1.3.3", + "version": "1.3.4", "description": "Provides flexible DEBUG_ASSERT() macro.", - "homepage": "https://github.com/foonathan/debug_assert" + "homepage": "https://github.com/foonathan/debug_assert", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/decimal-for-cpp/portfile.cmake b/ports/decimal-for-cpp/portfile.cmake index cbb464ad10b709..c84b65c5c83d97 100644 --- a/ports/decimal-for-cpp/portfile.cmake +++ b/ports/decimal-for-cpp/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO vpiotr/decimal_for_cpp - REF 375633343aa0af812a3ebf4bd06adaeff112ead4 - SHA512 7692fbb1643ed77b0b44fee1cf9a603fa257a5cf64ea66193c571fca61d138c6465a359db21955a4e2a234677f1806d47e05811daf2954004b108e09d3c8d4fa + REF 98265a57385ec14ae84fc0b2b0f15c770b30f548 + SHA512 b8779ffb81567309ab07fa17eb6d3eb8bb94f77f5a388fd395433a304923ccf75e753a5822f36e5ad9d8959ee1a92b660639367d3a443f353e3e22d36a056f4d HEAD_REF master ) diff --git a/ports/decimal-for-cpp/vcpkg.json b/ports/decimal-for-cpp/vcpkg.json index 16ba18fc3a9a3a..d54b2139814180 100644 --- a/ports/decimal-for-cpp/vcpkg.json +++ b/ports/decimal-for-cpp/vcpkg.json @@ -1,6 +1,6 @@ { "name": "decimal-for-cpp", - "version-string": "1.16", - "port-version": 2, + "version": "1.18", + "port-version": 1, "description": "Decimal data type support, for COBOL-like fixed-point operations on currency values." } 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/detours/portfile.cmake b/ports/detours/portfile.cmake index c09d61b7f84732..7b573e84512124 100644 --- a/ports/detours/portfile.cmake +++ b/ports/detours/portfile.cmake @@ -11,7 +11,7 @@ vcpkg_from_github( ) vcpkg_build_nmake( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" PROJECT_SUBPATH "src" PROJECT_NAME "Makefile" OPTIONS "PROCESSOR_ARCHITECTURE=${VCPKG_TARGET_ARCHITECTURE}" @@ -33,3 +33,4 @@ else() 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/detours/usage b/ports/detours/usage new file mode 100644 index 00000000000000..00f978fb68a468 --- /dev/null +++ b/ports/detours/usage @@ -0,0 +1,7 @@ +detours can be used from CMake via: + + find_path(DETOURS_INCLUDE_DIRS "detours/detours.h") + find_library(DETOURS_LIBRARY detours REQUIRED) + + target_include_directories(main PRIVATE ${DETOURS_INCLUDE_DIRS}) + target_link_libraries(main PRIVATE ${DETOURS_LIBRARY}) diff --git a/ports/detours/vcpkg.json b/ports/detours/vcpkg.json index 269215381c0937..b0f745daf607f6 100644 --- a/ports/detours/vcpkg.json +++ b/ports/detours/vcpkg.json @@ -1,7 +1,9 @@ { "name": "detours", - "version-string": "4.0.1", - "port-version": 4, + "version": "4.0.1", + "port-version": 8, "description": "Detours is a software package for monitoring and instrumenting API calls on Windows.", - "homepage": "https://github.com/microsoft/Detours" + "homepage": "https://github.com/microsoft/Detours", + "license": "MIT", + "supports": "windows & !uwp" } diff --git a/ports/devicenameresolver/portfile.cmake b/ports/devicenameresolver/portfile.cmake index c62478202a6a05..027cf63f363c2d 100644 --- a/ports/devicenameresolver/portfile.cmake +++ b/ports/devicenameresolver/portfile.cmake @@ -1,5 +1,3 @@ -vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) - vcpkg_from_bitbucket( OUT_SOURCE_PATH SOURCE_PATH REPO mrexodia/devicenameresolver @@ -9,20 +7,17 @@ vcpkg_from_bitbucket( PATCHES add-string-headfile.patch ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -file(READ ${CURRENT_PACKAGES_DIR}/include/DeviceNameResolver.h _contents) -string(REPLACE "__declspec(dllexport)" "" _contents "${_contents}") -file(WRITE ${CURRENT_PACKAGES_DIR}/include/DeviceNameResolver.h "${_contents}") +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/DeviceNameResolver.h" "__declspec(dllexport)" "") -file(INSTALL ${SOURCE_PATH}/readme.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/devicenameresolver RENAME copyright) +file(INSTALL "${SOURCE_PATH}/readme.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/devicenameresolver" RENAME copyright) diff --git a/ports/devicenameresolver/vcpkg.json b/ports/devicenameresolver/vcpkg.json index b52d9c4fd4a569..97bcbb4f40b5ea 100644 --- a/ports/devicenameresolver/vcpkg.json +++ b/ports/devicenameresolver/vcpkg.json @@ -1,6 +1,14 @@ { "name": "devicenameresolver", - "version-string": "2016-06-26-0850d88fa6", - "port-version": 2, - "description": "a little library that resolves a path from a (virtual) device name." + "version-date": "2016-06-26", + "port-version": 4, + "description": "a little library that resolves a path from a (virtual) device name.", + "license": null, + "supports": "windows & !uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "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/jasper-4.patch b/ports/devil/jasper-4.patch new file mode 100644 index 00000000000000..2373a0fffde99d --- /dev/null +++ b/ports/devil/jasper-4.patch @@ -0,0 +1,28 @@ +diff --git a/DevIL/src-IL/src/il_jp2.cpp b/DevIL/src-IL/src/il_jp2.cpp +index a419c1484..7b7e3cb12 100644 +--- a/DevIL/src-IL/src/il_jp2.cpp ++++ b/DevIL/src-IL/src/il_jp2.cpp +@@ -314,9 +314,9 @@ ILboolean iLoadJp2Internal(jas_stream_t *Stream, ILimage *Image) + + + #ifdef __APPLE__ +-static int iJp2_file_read(void *obj, char *buf, unsigned int cnt) ++static ssize_t iJp2_file_read(void *obj, char *buf, size_t cnt) + #else +-static int iJp2_file_read(jas_stream_obj_t *obj, char *buf, unsigned int cnt) ++static ssize_t iJp2_file_read(jas_stream_obj_t *obj, char *buf, size_t cnt) + #endif + { + obj; +@@ -324,9 +324,9 @@ static int iJp2_file_read(jas_stream_obj_t *obj, char *buf, unsigned int cnt) + } + + #ifdef __APPLE__ +-static int iJp2_file_write(void *obj, const char *buf, unsigned int cnt) ++static ssize_t iJp2_file_write(void *obj, const char *buf, size_t cnt) + #else +-static int iJp2_file_write(jas_stream_obj_t *obj, const char *buf, unsigned int cnt) ++static ssize_t iJp2_file_write(jas_stream_obj_t *obj, const char *buf, size_t cnt) + #endif + { + obj; diff --git a/ports/devil/portfile.cmake b/ports/devil/portfile.cmake index bb5d4357bb015d..fb0aca69716aaf 100644 --- a/ports/devil/portfile.cmake +++ b/ports/devil/portfile.cmake @@ -12,9 +12,11 @@ vcpkg_from_github( 0004_compatible-jasper-2-0-20.patch 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) +file(REMOVE "${SOURCE_PATH}/DevIL/src-IL/cmake/FindOpenEXR.cmake") vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES @@ -27,9 +29,8 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS lcms IL_NO_LCMS ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH}/DevIL - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/DevIL" DISABLE_PARALLEL_CONFIGURE OPTIONS ${FEATURE_OPTIONS} @@ -38,12 +39,12 @@ vcpkg_configure_cmake( -DIL_USE_DXTC_SQUISH=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() vcpkg_fixup_pkgconfig() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") # Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/devil/vcpkg.json b/ports/devil/vcpkg.json index 2d716cbe65147b..b6171654327d65 100644 --- a/ports/devil/vcpkg.json +++ b/ports/devil/vcpkg.json @@ -1,9 +1,20 @@ { "name": "devil", "version": "1.8.0", - "port-version": 8, + "port-version": 13, "description": "A full featured cross-platform image library", "homepage": "https://github.com/DentonW/DevIL", + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], "default-features": [ "jasper", "lcms", @@ -46,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 ceb07c04466756..cee86ff6b40b38 100644 --- a/ports/dimcli/portfile.cmake +++ b/ports/dimcli/portfile.cmake @@ -1,28 +1,28 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO gknowles/dimcli - REF a4dbb4b1c8a3825fc304bbbad3438dbe1840feae # v5.0.2 - SHA512 25cc9002fd46856854545934f385d8578f207b1ce01802a172e49e008cdf1db0db11db7cefeef18258b99c13570af9193e83f5826613d8b0a118d7bae3f0d03f + REF "v${VERSION}" + SHA512 fff7ac643b42c9c4464ac34c80369ef1e3d9d87677a3c7c660fd6a697b57348599b445794ac278d87a9a8d31c00adfded5932ecaa54e8ed918cb4665023fd8d5 HEAD_REF master ) -set(staticCrt OFF) -if(VCPKG_CRT_LINKAGE STREQUAL "static") - set(staticCrt ON) -endif() +string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" staticCrt) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + DISABLE_PARALLEL_CONFIGURE OPTIONS -DLINK_STATIC_RUNTIME:BOOL=${staticCrt} -DINSTALL_LIBS:BOOL=ON -DBUILD_PROJECT_NAME=dimcli + -DBUILD_TESTING=OFF + -DINSTALL_TOOLS=OFF + -DINSTALL_TESTS=OFF ) -vcpkg_install_cmake() +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 6845445db5ea1e..4892c0c66c4613 100644 --- a/ports/dimcli/vcpkg.json +++ b/ports/dimcli/vcpkg.json @@ -1,7 +1,15 @@ { "name": "dimcli", - "version-semver": "5.0.2", - "port-version": 2, + "version-semver": "7.3.0", "description": "C++ command line parser toolkit", - "homepage": "https://github.com/gknowles/dimcli" + "homepage": "https://github.com/gknowles/dimcli", + "documentation": "https://gknowles.github.io/dimcli", + "license": "BSL-1.0", + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } 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 new file mode 100644 index 00000000000000..a0c2d382a6d9f1 --- /dev/null +++ b/ports/directx-dxc/directx-dxc-config.cmake.in @@ -0,0 +1,24 @@ +get_filename_component(_dxc_root "${CMAKE_CURRENT_LIST_DIR}" PATH) +get_filename_component(_dxc_root "${_dxc_root}" PATH) + +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_root) diff --git a/ports/directx-dxc/portfile.cmake b/ports/directx-dxc/portfile.cmake new file mode 100644 index 00000000000000..b220d2a8d6923d --- /dev/null +++ b/ports/directx-dxc/portfile.cmake @@ -0,0 +1,122 @@ +set(VCPKG_POLICY_DLLS_IN_STATIC_LIBRARY enabled) + +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.") +endif() + +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 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 82ce347a400fb2d7c9fe298a79b3da64bfb1ab8dabdf1394b1f93a0b1f02bded35cbea67b8541da5568d06682808271fbcba0e7dfc17ce5cead3172e19cb5f7e + ) +endif() + +vcpkg_download_distfile( + LICENSE_TXT + URLS "https://raw.githubusercontent.com/microsoft/DirectXShaderCompiler/${DIRECTX_DXC_TAG}/LICENSE.TXT" + FILENAME "LICENSE.${DIRECTX_DXC_VERSION}" + SHA512 9feaa85ca6d42d5a2d6fe773706bbab8241e78390a9d61ea9061c8f0eeb5a3e380ff07c222e02fbf61af7f2b2f6dd31c5fc87247a94dae275dc0a20cdfcc8c9d +) + +vcpkg_extract_source_archive( + PACKAGE_PATH + ARCHIVE ${ARCHIVE} + NO_REMOVE_ONE_LEVEL +) + +if (VCPKG_TARGET_IS_LINUX) + file(INSTALL + "${PACKAGE_PATH}/include/dxc/dxcapi.h" + "${PACKAGE_PATH}/include/dxc/dxcerrors.h" + "${PACKAGE_PATH}/include/dxc/dxcisense.h" + "${PACKAGE_PATH}/include/dxc/WinAdapter.h" + DESTINATION "${CURRENT_PACKAGES_DIR}/include/${PORT}") + + file(INSTALL + "${PACKAGE_PATH}/lib/libdxcompiler.so" + "${PACKAGE_PATH}/lib/libdxil.so" + DESTINATION "${CURRENT_PACKAGES_DIR}/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}/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 "tools/${PORT}/dxc") +else() + # VCPKG_TARGET_IS_WINDOWS + if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") + set(DXC_ARCH arm64) + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + set(DXC_ARCH x86) + else() + set(DXC_ARCH x64) + endif() + + file(INSTALL + "${PACKAGE_PATH}/inc/dxcapi.h" + "${PACKAGE_PATH}/inc/dxcerrors.h" + "${PACKAGE_PATH}/inc/dxcisense.h" + "${PACKAGE_PATH}/inc/d3d12shader.h" + DESTINATION "${CURRENT_PACKAGES_DIR}/include/${PORT}") + + file(INSTALL "${PACKAGE_PATH}/lib/${DXC_ARCH}/dxcompiler.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/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") + + 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}/") + + file(INSTALL + "${PACKAGE_PATH}/bin/${DXC_ARCH}/dxc.exe" + "${PACKAGE_PATH}/bin/${DXC_ARCH}/dxcompiler.dll" + "${PACKAGE_PATH}/bin/${DXC_ARCH}/dxil.dll" + DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}/") + + set(dll_name_dxc "dxcompiler.dll") + set(dll_name_dxil "dxil.dll") + set(dll_dir "bin") + set(lib_name "dxcompiler.lib") + set(tool_path "tools/${PORT}/dxc.exe") +endif() + +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 new file mode 100644 index 00000000000000..4363ab61cd0408 --- /dev/null +++ b/ports/directx-dxc/vcpkg.json @@ -0,0 +1,24 @@ +{ + "name": "directx-dxc", + "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", + "license": null, + "supports": "(windows & !arm32 & !uwp & !xbox) | (linux & x64)", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "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 8d1bb0beb68916..7f182d8229f251 100644 --- a/ports/directx-headers/portfile.cmake +++ b/ports/directx-headers/portfile.cmake @@ -1,22 +1,21 @@ -vcpkg_fail_port_install(ON_TARGET "OSX") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Microsoft/DirectX-Headers - REF v1.4.9 - SHA512 439d28a8344ef3a012428f53fcb9d2d9823d51c61786363d87f8ba15921326c220478b2557aab3f641a2406f1e5f299a8e21a82547febff3b9cd7b26b09b1c22 - HEAD_REF master + REF v${VERSION} + SHA512 934108052b9aa54b888c301f358a9d5b8f9ce1a5902e33b80c3273c963d10984faa7da167f1fed203462fe016e30443cb5e0d014de63fc9c0a81a674f757a7a9 + HEAD_REF main ) -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS -DDXHEADERS_BUILD_TEST=OFF + OPTIONS -DDXHEADERS_INSTALL=ON -DDXHEADERS_BUILD_TEST=OFF -DDXHEADERS_BUILD_GOOGLE_TEST=OFF ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/directx-headers/cmake) +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 66658e2f48d721..0baae6e1942bdd 100644 --- a/ports/directx-headers/vcpkg.json +++ b/ports/directx-headers/vcpkg.json @@ -1,7 +1,19 @@ { "name": "directx-headers", - "version": "1.4.9", + "version": "1.614.1", "description": "Official DirectX 12 Headers", "homepage": "https://devblogs.microsoft.com/directx/", - "supports": "windows | linux" + "documentation": "https://devblogs.microsoft.com/directx/gettingstarted-dx12agility/", + "license": "MIT", + "supports": "(windows & !arm32 & !xbox) | linux", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } 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..275391ae5b61c7 --- /dev/null +++ b/ports/directx12-agility/portfile.cmake @@ -0,0 +1,45 @@ +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") + +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..de29548a6aee42 --- /dev/null +++ b/ports/directx12-agility/vcpkg.json @@ -0,0 +1,20 @@ +{ + "name": "directx12-agility", + "version": "1.614.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/portfile.cmake b/ports/directxmath/portfile.cmake index b9a509edafcf5e..d74cc61c69c954 100644 --- a/ports/directxmath/portfile.cmake +++ b/ports/directxmath/portfile.cmake @@ -1,33 +1,36 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Microsoft/DirectXMath - REF jan2021 - SHA512 8288f9e4d30b4947e98122f298ca25b8e2f82091c1257d3a0fd4d8de44c4c9a97d4549c105b388afbefad11ad6f30429e875e3e70eb4aa7865be6d4c08d6d1f3 - HEAD_REF master - FILE_DISAMBIGUATOR 2 + REF oct2024 + SHA512 501a3c8b51cd6d3d4fbcc511c2c37f1d0511bd84d546d5254c2bc81238c11242b9d62c7a153ee110dc9d96a0c7d2544428d8de832c943b680b0cb09d8e3760f2 + HEAD_REF main ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH cmake) +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/directxmath) 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 e0ffe0e44029fe..1458bf1881a71d 100644 --- a/ports/directxmath/vcpkg.json +++ b/ports/directxmath/vcpkg.json @@ -1,9 +1,19 @@ { "name": "directxmath", - "version-string": "jan2021", - "port-version": 1, + "version-date": "2024-10-15", "description": "DirectXMath SIMD C++ math library", "homepage": "https://github.com/Microsoft/DirectXMath", - "documentation": "https://docs.microsoft.com/en-us/windows/win32/dxmath/directxmath-portal", - "license": "MIT" + "documentation": "https://docs.microsoft.com/windows/win32/dxmath/directxmath-portal", + "license": "MIT", + "supports": "!arm32", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/directxmesh/portfile.cmake b/ports/directxmesh/portfile.cmake index 51f921fa4c248b..bdf5d05cba7ca6 100644 --- a/ports/directxmesh/portfile.cmake +++ b/ports/directxmesh/portfile.cmake @@ -1,64 +1,81 @@ -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +set(DIRECTXMESH_TAG oct2024) -vcpkg_fail_port_install(ON_TARGET "OSX") +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Microsoft/DirectXMesh - REF nov2021 - SHA512 d33ae04b5fc7dae715a0b9ceadcde02bb10807a8d26362b074caa31a631fba173f773ee49a143c44a1bdfdad19893bcca69a3bc806fbb26f74ca39194821a953 - HEAD_REF master + REF ${DIRECTXMESH_TAG} + SHA512 a7d6eca75315a8f24fdc7753fd0e0b26b1b170ef0ffa1954065164f5da567ba09d1605c45cae91cf73dccc04f52162c3ad62f6a83eddf33c076e6ffb4723276d + HEAD_REF main ) vcpkg_check_features( OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES dx12 BUILD_DX12 + spectre ENABLE_SPECTRE_MITIGATION + tools BUILD_TOOLS ) if (VCPKG_HOST_IS_LINUX) message(WARNING "Build ${PORT} requires GCC version 9 or later") endif() -if(VCPKG_TARGET_IS_UWP) - set(EXTRA_OPTIONS -DBUILD_TOOLS=OFF) -else() - set(EXTRA_OPTIONS -DBUILD_TOOLS=ON) -endif() - vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} - OPTIONS ${FEATURE_OPTIONS} ${EXTRA_OPTIONS} + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} ) vcpkg_cmake_install() -vcpkg_cmake_config_fixup(CONFIG_PATH cmake) +vcpkg_fixup_pkgconfig() +vcpkg_cmake_config_fixup(CONFIG_PATH share/directxmesh) -if((VCPKG_HOST_IS_WINDOWS) AND (VCPKG_TARGET_ARCHITECTURE MATCHES x64)) - vcpkg_download_distfile( - MESHCONVERT_EXE - URLS "https://github.com/Microsoft/DirectXMesh/releases/download/nov2021/meshconvert.exe" - FILENAME "meshconvert-nov2021.exe" - SHA512 0f97ac49ce292b1cb90372884f1d6a4fc10eb3e92125a854ee9b7030fd9d0564536cdd88199aa4838832ae2a1e9c2df2c9e32c106705b6b06f156994b9476360 - ) +if("tools" IN_LIST FEATURES) file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/directxmesh/") - file(INSTALL - ${MESHCONVERT_EXE} - DESTINATION ${CURRENT_PACKAGES_DIR}/tools/directxmesh/) + if(VCPKG_TARGET_ARCHITECTURE STREQUAL x64) + + vcpkg_download_distfile( + MESHCONVERT_EXE + URLS "https://github.com/Microsoft/DirectXMesh/releases/download/${DIRECTXMESH_TAG}/meshconvert.exe" + FILENAME "meshconvert-${DIRECTXMESH_TAG}.exe" + SHA512 6b437004ee3b8a44d475db51f01558d777bf3c65b1ea132606b9b682ab6310dbdf0c939ecdf7b621255b6130a424de6db368dd73b8d22393bd932342fd3f45e0 + ) - file(RENAME ${CURRENT_PACKAGES_DIR}/tools/directxmesh/meshconvert-nov2021.exe ${CURRENT_PACKAGES_DIR}/tools/directxmesh/meshconvert.exe) + file(INSTALL + "${MESHCONVERT_EXE}" + DESTINATION "${CURRENT_PACKAGES_DIR}/tools/directxmesh/") -elseif((VCPKG_TARGET_IS_WINDOWS) AND (NOT VCPKG_TARGET_IS_UWP)) + file(RENAME "${CURRENT_PACKAGES_DIR}/tools/directxmesh/meshconvert-${DIRECTXMESH_TAG}.exe" "${CURRENT_PACKAGES_DIR}/tools/directxmesh/meshconvert.exe") - vcpkg_copy_tools( - TOOL_NAMES meshconvert - SEARCH_DIR ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bin/CMake + 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 e4f9eb983ea6cfbf18c342d5f1a52210d933ca6bbe7fe5dbca4fee516106f02ac4936804ab222c337ac42eb809c16f06132d51ffa44fb67315c2f28f282afdf3 ) + file(INSTALL + "${MESHCONVERT_EXE}" + DESTINATION "${CURRENT_PACKAGES_DIR}/tools/directxmesh/") + + file(RENAME "${CURRENT_PACKAGES_DIR}/tools/directxmesh/meshconvert-${DIRECTXMESH_TAG}-arm64.exe" "${CURRENT_PACKAGES_DIR}/tools/directxmesh/meshconvert.exe") + + else() + + vcpkg_copy_tools( + TOOL_NAMES meshconvert + SEARCH_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bin" + ) + + endif() endif() 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/directxmesh/usage b/ports/directxmesh/usage new file mode 100644 index 00000000000000..73b783e1537c21 --- /dev/null +++ b/ports/directxmesh/usage @@ -0,0 +1,8 @@ +The DirectXMesh package provides CMake targets: + + find_package(directxmesh CONFIG REQUIRED) + target_link_libraries(main PRIVATE Microsoft::DirectXMesh) + +The utilities headers FlexibleVertexFormat.h and WaveFrontReader.h have their own target: + + target_link_libraries(main PRIVATE Microsoft::DirectXMesh::Utilities) diff --git a/ports/directxmesh/vcpkg.json b/ports/directxmesh/vcpkg.json index f5b41215197332..89d0d4cf187317 100644 --- a/ports/directxmesh/vcpkg.json +++ b/ports/directxmesh/vcpkg.json @@ -1,14 +1,21 @@ { "name": "directxmesh", - "version-string": "nov2021", + "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": [ - "directx-headers", + { + "name": "directx-headers", + "platform": "mingw | linux" + }, "directxmath", + { + "name": "ms-gdkx", + "platform": "xbox" + }, { "name": "vcpkg-cmake", "host": true @@ -20,7 +27,20 @@ ], "features": { "dx12": { - "description": "Build with DirectX12 support for Windows 10" + "description": "Build with DirectX12 support for Windows 10/Windows 11", + "dependencies": [ + { + "name": "directx-headers", + "platform": "windows & !xbox" + } + ] + }, + "spectre": { + "description": "Build Spectre-mitigated library" + }, + "tools": { + "description": "meshconvert command-line tool", + "supports": "windows & !uwp & !xbox" } } } diff --git a/ports/directxsdk/portfile.cmake b/ports/directxsdk/portfile.cmake index 67551cffa3b045..ac2c22b67286c8 100644 --- a/ports/directxsdk/portfile.cmake +++ b/ports/directxsdk/portfile.cmake @@ -1,5 +1,3 @@ -vcpkg_fail_port_install(ON_TARGET "LINUX" "OSX" "UWP" "ANDROID" ON_ARCH "arm") - if(EXISTS "${CURRENT_INSTALLED_DIR}/share/dxsdk-d3dx/copyright") message(FATAL_ERROR "Can't build ${PORT} if dxsdk-d3dx is installed. Please remove dxsdk-d3dx, and try to install ${PORT} again if you need it.") endif() @@ -12,8 +10,8 @@ vcpkg_download_distfile(ARCHIVE SHA512 24e1e9bda319b780124b865f4640822cfc44e4d18fbdcc8456d48fe54081652ce4ddb63d3bd8596351057cbae50fc824b8297e99f0f7c97547153162562ba73f ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH +vcpkg_extract_source_archive( + SOURCE_PATH ARCHIVE ${ARCHIVE} ) @@ -35,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 @@ -72,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 0d093e5bb658ca..4591dc653b2690 100644 --- a/ports/directxsdk/vcpkg.json +++ b/ports/directxsdk/vcpkg.json @@ -1,10 +1,11 @@ { "name": "directxsdk", "version-string": "jun10", - "port-version": 4, + "port-version": 8, "description": "Legacy DirectX SDK", "homepage": "https://docs.microsoft.com/en-us/windows/win32/directx-sdk--august-2009-", - "supports": "windows & !uwp & !arm", + "license": null, + "supports": "windows & !uwp & !xbox & !arm", "features": { "xaudio2-7": { "description": "Include headers/libs for legacy XAudio 2.7 (prefer use of XAudio2Redist)" 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/enable_openexr_support.patch b/ports/directxtex/enable_openexr_support.patch deleted file mode 100644 index 2fef1f9d7dfefe..00000000000000 --- a/ports/directxtex/enable_openexr_support.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/DirectXTexEXR.cpp b/DirectXTexEXR.cpp -index 9ac601f..204bde2 100644 ---- a/DirectXTex/DirectXTexEXR.cpp -+++ b/DirectXTex/DirectXTexEXR.cpp -@@ -8,7 +8,7 @@ - //-------------------------------------------------------------------------------------- - - //Uncomment if you add DirectXTexEXR to your copy of the DirectXTex library --//#include "DirectXTexP.h" -+#include "DirectXTexP.h" - - #include "DirectXTexEXR.h" - -@@ -56,7 +56,7 @@ using namespace DirectX; - using PackedVector::XMHALF4; - - // Comment out this first anonymous namespace if you add the include of DirectXTexP.h above --#ifdef WIN32 -+#if 0 - namespace - { - struct handle_closer { void operator()(HANDLE h) { assert(h != INVALID_HANDLE_VALUE); if (h) CloseHandle(h); } }; diff --git a/ports/directxtex/portfile.cmake b/ports/directxtex/portfile.cmake index 3df7c99fa0d62f..18dd8a20dddb74 100644 --- a/ports/directxtex/portfile.cmake +++ b/ports/directxtex/portfile.cmake @@ -1,109 +1,145 @@ -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +set(DIRECTXTEX_TAG oct2024) -vcpkg_fail_port_install(ON_TARGET "OSX") +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Microsoft/DirectXTex - REF nov2021 - SHA512 c96a35c6959caaa3ea6a033404889460363a71f8035a43c91db19d7b608c38adcebe59c428b480b6c6f2e1519a3cd72ce1a828a3771a2c301d831e5b7a4212b9 - HEAD_REF master -) - -if("openexr" IN_LIST FEATURES) - vcpkg_download_distfile( - DIRECTXTEX_EXR_HEADER - URLS "https://raw.githubusercontent.com/wiki/Microsoft/DirectXTex/DirectXTexEXR.h" - FILENAME "DirectXTexEXR-2.h" - SHA512 54163820996f7f3c47d0e34da7d717ba51a4363458d77e8f3750d2b6b38bcf803f199b913b4fd7b8dcdd3f520cd0c2bb42a9f79d30f5805fccdece6af368dd12 + REF ${DIRECTXTEX_TAG} + SHA512 4ac9307ab6e36aa727afa5bd5bb945fb431c89fa01c9c8283eebf512707acfb15a0d7cd84f72349d4271b0eef2e13bca38a38226c1afafd8f1e36b38c1c4b07f + HEAD_REF main + PATCHES + FixStdByteAndCMake.patch ) - vcpkg_download_distfile( - DIRECTXTEX_EXR_SOURCE - URLS "https://raw.githubusercontent.com/wiki/Microsoft/DirectXTex/DirectXTexEXR.cpp" - FILENAME "DirectXTexEXR-2.cpp" - SHA512 fbf5a330961f3ac80e4425e8451e9a696240cd89fabca744a19f1f110ae188bae7d8eb5b058aaf66015066d919d4f581b14494d78d280147b23355d8a32745b9 - ) - - file(COPY ${DIRECTXTEX_EXR_HEADER} DESTINATION "${SOURCE_PATH}/DirectXTex") - file(COPY ${DIRECTXTEX_EXR_SOURCE} DESTINATION "${SOURCE_PATH}/DirectXTex") - file(RENAME "${SOURCE_PATH}/DirectXTex/DirectXTexEXR-2.h" "${SOURCE_PATH}/DirectXTex/DirectXTexEXR.h") - file(RENAME "${SOURCE_PATH}/DirectXTex/DirectXTexEXR-2.cpp" "${SOURCE_PATH}/DirectXTex/DirectXTexEXR.cpp") - vcpkg_apply_patches(SOURCE_PATH "${SOURCE_PATH}" PATCHES enable_openexr_support.patch) -endif() - vcpkg_check_features( OUT_FEATURE_OPTIONS FEATURE_OPTIONS 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 ) -if (VCPKG_HOST_IS_LINUX) - message(WARNING "Build ${PORT} requires GCC version 9 or later") +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.") +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_TARGET_IS_UWP) - set(EXTRA_OPTIONS -DBUILD_TOOLS=OFF) -else() - set(EXTRA_OPTIONS -DBUILD_TOOLS=ON) +if (VCPKG_HOST_IS_LINUX) + message(WARNING "Build ${PORT} requires GCC version 9 or later") endif() vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - OPTIONS - ${FEATURE_OPTIONS} - ${EXTRA_OPTIONS} - -DBC_USE_OPENMP=ON - -DBUILD_DX11=ON + OPTIONS ${FEATURE_OPTIONS} ${EXTRA_OPTIONS} ) vcpkg_cmake_install() -vcpkg_cmake_config_fixup(CONFIG_PATH cmake) - -if((VCPKG_HOST_IS_WINDOWS) AND (VCPKG_TARGET_ARCHITECTURE MATCHES x64) AND (NOT ("openexr" IN_LIST FEATURES))) - vcpkg_download_distfile( - TEXASSEMBLE_EXE - URLS "https://github.com/Microsoft/DirectXTex/releases/download/nov2021/texassemble.exe" - FILENAME "texassemble-nov2021.exe" - SHA512 a31151d368d41f50b58b417e8d27987fe0e3caa2c4e0d0abe7bef472db51429526277b0c554df2825c6892bb2021111f59d3d8f321ad68c71c0a153852d2c81f - ) - - vcpkg_download_distfile( - TEXCONV_EXE - URLS "https://github.com/Microsoft/DirectXTex/releases/download/nov2021/texconv.exe" - FILENAME "texconv-nov2021.exe" - SHA512 7cb70b3cbf46c78b99aa18c28b043fc5930b6b254729efd447868fcf8cb8b77987d41b570082bdfb3bab01452e67d17e81b966bf2534036a3415fa918ddc2956 - ) - - vcpkg_download_distfile( - TEXDIAG_EXE - URLS "https://github.com/Microsoft/DirectXTex/releases/download/nov2021/texdiag.exe" - FILENAME "texdiag-nov2021.exe" - SHA512 7826c594fa42978da8a15bd771fafe4d4f5b97d611ce62a806ddff77204cabf63eea6ac24e3409c2720631681260b7e3fa6ad5f33b2162d2266457462e6b13c9 - ) +vcpkg_fixup_pkgconfig() +vcpkg_cmake_config_fixup(CONFIG_PATH share/directxtex) + +if("tools" IN_LIST FEATURES) file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/directxtex/") - file(INSTALL - ${TEXASSEMBLE_EXE} - ${TEXCONV_EXE} - ${TEXDIAG_EXE} - DESTINATION "${CURRENT_PACKAGES_DIR}/tools/directxtex/") + if((VCPKG_TARGET_ARCHITECTURE STREQUAL x64) AND (NOT (("openexr" IN_LIST FEATURES) OR ("xbox" IN_LIST FEATURES)))) - file(RENAME "${CURRENT_PACKAGES_DIR}/tools/directxtex/texassemble-nov2021.exe" "${CURRENT_PACKAGES_DIR}/tools/directxtex/texassemble.exe") - file(RENAME "${CURRENT_PACKAGES_DIR}/tools/directxtex/texconv-nov2021.exe" "${CURRENT_PACKAGES_DIR}/tools/directxtex/texconv.exe") - file(RENAME "${CURRENT_PACKAGES_DIR}/tools/directxtex/texdiag-nov2021.exe" "${CURRENT_PACKAGES_DIR}/tools/directxtex/texadiag.exe") + vcpkg_download_distfile( + TEXASSEMBLE_EXE + URLS "https://github.com/Microsoft/DirectXTex/releases/download/${DIRECTXTEX_TAG}/texassemble.exe" + FILENAME "texassemble-${DIRECTXTEX_TAG}.exe" + 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 6376ee91dca0b53c043e1e86ec56f418029591885dd9fd49f8e932aa635e6668d430aeb30b497daa4e8c1f02ac42f7dc901ebec107d8bc1e611c9a0ec8747029 + ) + + vcpkg_download_distfile( + TEXDIAG_EXE + URLS "https://github.com/Microsoft/DirectXTex/releases/download/${DIRECTXTEX_TAG}/texdiag.exe" + FILENAME "texdiag-${DIRECTXTEX_TAG}.exe" + SHA512 31261ceefc17ce30c7f21dff961bfe03b2dc65619f60c64891a5fc56847cd7468a6629c36b1fcbf4c6f967232ad88eb85cf5c2ea874084dfe0d8da4ffabc12c8 + ) + + file(INSTALL + "${TEXASSEMBLE_EXE}" + "${TEXCONV_EXE}" + "${TEXDIAG_EXE}" + DESTINATION "${CURRENT_PACKAGES_DIR}/tools/directxtex/") + + file(RENAME "${CURRENT_PACKAGES_DIR}/tools/directxtex/texassemble-${DIRECTXTEX_TAG}.exe" "${CURRENT_PACKAGES_DIR}/tools/directxtex/texassemble.exe") + 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) OR (VCPKG_TARGET_ARCHITECTURE STREQUAL arm64ec)) AND (NOT ("openexr" IN_LIST FEATURES))) -elseif((VCPKG_TARGET_IS_WINDOWS) AND (NOT VCPKG_TARGET_IS_UWP)) + 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 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 53f319be7e739d9e3addc2e86648022ec802315a94c600eb6886a4474232aa25de0c9fb8d72868d2871d29eb36ee1dd6a186094edb6d9ab8f249b4eb4849a10c + ) - vcpkg_copy_tools( - TOOL_NAMES texassemble texconv texdiag - SEARCH_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bin/CMake" + 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 638b6b8443767ca390efdfdb8e4e8a655f0cc370a81b946678414481a6c3fc0c431a7082d08206fa86bc4ccf9c8b0027a427d483474a8c3d1ff0a030011779f7 ) + file(INSTALL + "${TEXASSEMBLE_EXE}" + "${TEXCONV_EXE}" + "${TEXDIAG_EXE}" + DESTINATION "${CURRENT_PACKAGES_DIR}/tools/directxtex/") + + file(RENAME "${CURRENT_PACKAGES_DIR}/tools/directxtex/texassemble-${DIRECTXTEX_TAG}-arm64.exe" "${CURRENT_PACKAGES_DIR}/tools/directxtex/texassemble.exe") + file(RENAME "${CURRENT_PACKAGES_DIR}/tools/directxtex/texconv-${DIRECTXTEX_TAG}-arm64.exe" "${CURRENT_PACKAGES_DIR}/tools/directxtex/texconv.exe") + file(RENAME "${CURRENT_PACKAGES_DIR}/tools/directxtex/texdiag-${DIRECTXTEX_TAG}-arm64.exe" "${CURRENT_PACKAGES_DIR}/tools/directxtex/texadiag.exe") + + elseif("dx11" IN_LIST FEATURES) + + vcpkg_copy_tools( + TOOL_NAMES texassemble texconv texdiag + SEARCH_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bin" + ) + + endif() endif() 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/directxtex/usage b/ports/directxtex/usage new file mode 100644 index 00000000000000..6066b0ccb7449f --- /dev/null +++ b/ports/directxtex/usage @@ -0,0 +1,11 @@ +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 0cea8803d72ad2..50c8d71f153222 100644 --- a/ports/directxtex/vcpkg.json +++ b/ports/directxtex/vcpkg.json @@ -1,14 +1,21 @@ { "name": "directxtex", - "version-string": "nov2021", + "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": [ - "directx-headers", + { + "name": "directx-headers", + "platform": "mingw | linux" + }, "directxmath", + { + "name": "ms-gdkx", + "platform": "xbox" + }, { "name": "vcpkg-cmake", "host": true @@ -18,15 +25,55 @@ "host": true } ], + "default-features": [ + "dx11" + ], "features": { + "dx11": { + "description": "Build with DirectX11 support" + }, "dx12": { - "description": "Build with DirectX12 support for Windows 10" + "description": "Build with DirectX12 support for Windows 10/Windows 11", + "dependencies": [ + { + "name": "directx-headers", + "platform": "windows & !xbox" + } + ] + }, + "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 73aa3c430741ab..be1be87a9ab651 100644 --- a/ports/directxtk/portfile.cmake +++ b/ports/directxtk/portfile.cmake @@ -1,71 +1,91 @@ +set(DIRECTXTK_TAG oct2024) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -vcpkg_fail_port_install(ON_TARGET "OSX" "Linux") +if(VCPKG_TARGET_IS_MINGW) + message(NOTICE "Building ${PORT} for MinGW requires the HLSL Compiler fxc.exe also be in the PATH. See https://aka.ms/windowssdk.") +endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Microsoft/DirectXTK - REF nov2021 - SHA512 bf9297c88b4c80e70562593d0f2a7d8cf438b0bbc731f4725287ff1155e8879e538d339e72dfb4eceb2c94a8f410ff24421a12560013ea65c4e43fe57756109c - HEAD_REF master + REF ${DIRECTXTK_TAG} + 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 xaudio2-8 BUILD_XAUDIO_WIN8 xaudio2redist BUILD_XAUDIO_WIN7 ) -if(VCPKG_TARGET_IS_UWP) - set(EXTRA_OPTIONS -DBUILD_TOOLS=OFF) -else() - set(EXTRA_OPTIONS -DBUILD_TOOLS=ON) -endif() - vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - OPTIONS ${FEATURE_OPTIONS} ${EXTRA_OPTIONS} + OPTIONS ${FEATURE_OPTIONS} ) vcpkg_cmake_install() -vcpkg_cmake_config_fixup(CONFIG_PATH cmake) +vcpkg_fixup_pkgconfig() +vcpkg_cmake_config_fixup(CONFIG_PATH share/directxtk) -if((VCPKG_HOST_IS_WINDOWS) AND (VCPKG_TARGET_ARCHITECTURE MATCHES x64)) - vcpkg_download_distfile( - MAKESPRITEFONT_EXE - URLS "https://github.com/Microsoft/DirectXTK/releases/download/nov2021/MakeSpriteFont.exe" - FILENAME "makespritefont-nov2021.exe" - SHA512 0aab40aced022588d9c1089c5b2f297b0521497d0ae559ead98f99e1e73f2daf9f38ebecadb413095abd2a6c207183fbca582d47528c6f21258df3ac391134e5 - ) +if("tools" IN_LIST FEATURES) vcpkg_download_distfile( - XWBTOOL_EXE - URLS "https://github.com/Microsoft/DirectXTK/releases/download/nov2021/XWBTool.exe" - FILENAME "xwbtool-nov2021.exe" - SHA512 f2f291c496500e593c0a4795fee9fafc685666682f23a38a25546bb67ec083533a26f2ce0562b819abea44bd8b403a2f246fbf978e366c457eb8a0f836fd5a2e + MAKESPRITEFONT_EXE + URLS "https://github.com/Microsoft/DirectXTK/releases/download/${DIRECTXTK_TAG}/MakeSpriteFont.exe" + FILENAME "makespritefont-${DIRECTXTK_TAG}.exe" + SHA512 b7cc8a4b1920d85a0b826a4aac6053f0f0e7411dd115d3afc5fb5d2542661d47de11e81cc94830059ca29b0511f585913479fdba24da7f5bff03627a8117a60d ) file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/directxtk/") - file(INSTALL - ${MAKESPRITEFONT_EXE} - ${XWBTOOL_EXE} - DESTINATION "${CURRENT_PACKAGES_DIR}/tools/directxtk/") + file(INSTALL "${MAKESPRITEFONT_EXE}" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/directxtk/") - file(RENAME "${CURRENT_PACKAGES_DIR}/tools/directxtk/makespritefont-nov2021.exe" "${CURRENT_PACKAGES_DIR}/tools/directxtk/makespritefont.exe") - file(RENAME "${CURRENT_PACKAGES_DIR}/tools/directxtk/xwbtool-nov2021.exe" "${CURRENT_PACKAGES_DIR}/tools/directxtk/xwbtool.exe") + file(RENAME "${CURRENT_PACKAGES_DIR}/tools/directxtk/makespritefont-${DIRECTXTK_TAG}.exe" "${CURRENT_PACKAGES_DIR}/tools/directxtk/makespritefont.exe") -elseif(NOT VCPKG_TARGET_IS_UWP) + if(VCPKG_TARGET_ARCHITECTURE STREQUAL x64) - vcpkg_copy_tools( - TOOL_NAMES XWBTool - SEARCH_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bin/CMake" + vcpkg_download_distfile( + XWBTOOL_EXE + URLS "https://github.com/Microsoft/DirectXTK/releases/download/${DIRECTXTK_TAG}/XWBTool.exe" + FILENAME "xwbtool-${DIRECTXTK_TAG}.exe" + 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) 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 b25000552c74081b0da117b4b762b98eb68c5de6f6b65a8208811900316f8138f717e6050a30dcb7c71e3e2c01cba12b8dc6d4a9ade45da39abfd2fc3ef679e3 + ) + + file(INSTALL "${XWBTOOL_EXE}" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/directxtk/") + + file(RENAME "${CURRENT_PACKAGES_DIR}/tools/directxtk/xwbtool-${DIRECTXTK_TAG}-arm64.exe" "${CURRENT_PACKAGES_DIR}/tools/directxtk/xwbtool.exe") + + else() + + vcpkg_copy_tools( + TOOL_NAMES XWBTool + SEARCH_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bin" + ) + + endif() endif() 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/directxtk/usage b/ports/directxtk/usage new file mode 100644 index 00000000000000..e1f79f6e7256da --- /dev/null +++ b/ports/directxtk/usage @@ -0,0 +1,4 @@ +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 f0379d8fa08afb..a87334d617c2c2 100644 --- a/ports/directxtk/vcpkg.json +++ b/ports/directxtk/vcpkg.json @@ -1,11 +1,11 @@ { "name": "directxtk", - "version-string": "nov2021", + "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", + "supports": "windows & !xbox & !arm32", "dependencies": [ "directxmath", { @@ -18,19 +18,30 @@ } ], "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" + }, "xaudio2-8": { "description": "Build with XAudio 2.8 support for Windows 8.x or later" }, "xaudio2-9": { - "description": "Build with XAudio 2.9 support for Windows 10" + "description": "Build with XAudio 2.9 support for Windows 10/11" }, "xaudio2redist": { "description": "Build with XAudio2Redist support for Windows 7 SP1 or later", "dependencies": [ - { - "name": "xaudio2redist", - "platform": "!uwp & !arm" - } + "xaudio2redist" ] } } diff --git a/ports/directxtk12/portfile.cmake b/ports/directxtk12/portfile.cmake index 583eef246d8521..57ede521fa3dd7 100644 --- a/ports/directxtk12/portfile.cmake +++ b/ports/directxtk12/portfile.cmake @@ -1,49 +1,86 @@ -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +set(DIRECTXTK_TAG oct2024) -vcpkg_fail_port_install(ON_TARGET "OSX" "Linux") +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Microsoft/DirectXTK12 - REF nov2021 - SHA512 c47dbc877599ad09240d182301198e0d8074ce319abf38958372d13c06a2a1921e2aff6c3acfb0a37a44be681933d1e86542da8491a5ca3f2b9c33fdca73beef - HEAD_REF master + REF ${DIRECTXTK_TAG} + 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 "") + +if(NOT VCPKG_TARGET_IS_XBOX) + set(DXCPATH "${CURRENT_HOST_INSTALLED_DIR}/tools/directx-dxc") + list(APPEND EXTRA_OPTIONS -DBUILD_DXIL_SHADERS=ON "-DDIRECTX_DXC_PATH=${DXCPATH}") +endif() + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - OPTIONS -DBUILD_XAUDIO_WIN10=ON -DBUILD_DXIL_SHADERS=ON + OPTIONS ${FEATURE_OPTIONS} ${EXTRA_OPTIONS} ) vcpkg_cmake_install() -vcpkg_cmake_config_fixup(CONFIG_PATH cmake) +vcpkg_fixup_pkgconfig() +vcpkg_cmake_config_fixup(CONFIG_PATH share/directxtk12) -if((VCPKG_HOST_IS_WINDOWS) AND (VCPKG_TARGET_ARCHITECTURE MATCHES x64)) - vcpkg_download_distfile( - MAKESPRITEFONT_EXE - URLS "https://github.com/Microsoft/DirectXTK12/releases/download/nov2021/MakeSpriteFont.exe" - FILENAME "makespritefont-nov2021.exe" - SHA512 0aab40aced022588d9c1089c5b2f297b0521497d0ae559ead98f99e1e73f2daf9f38ebecadb413095abd2a6c207183fbca582d47528c6f21258df3ac391134e5 - ) +if("tools" IN_LIST FEATURES) vcpkg_download_distfile( - XWBTOOL_EXE - URLS "https://github.com/Microsoft/DirectXTK12/releases/download/nov2021/XWBTool.exe" - FILENAME "xwbtool-nov2021.exe" - SHA512 f2f291c496500e593c0a4795fee9fafc685666682f23a38a25546bb67ec083533a26f2ce0562b819abea44bd8b403a2f246fbf978e366c457eb8a0f836fd5a2e + MAKESPRITEFONT_EXE + URLS "https://github.com/Microsoft/DirectXTK12/releases/download/${DIRECTXTK_TAG}/MakeSpriteFont.exe" + FILENAME "makespritefont-${DIRECTXTK_TAG}.exe" + SHA512 b7cc8a4b1920d85a0b826a4aac6053f0f0e7411dd115d3afc5fb5d2542661d47de11e81cc94830059ca29b0511f585913479fdba24da7f5bff03627a8117a60d ) file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/directxtk12/") - file(INSTALL - ${MAKESPRITEFONT_EXE} - ${XWBTOOL_EXE} - DESTINATION "${CURRENT_PACKAGES_DIR}/tools/directxtk12/") + file(INSTALL "${MAKESPRITEFONT_EXE}" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/directxtk12/") + + file(RENAME "${CURRENT_PACKAGES_DIR}/tools/directxtk12/makespritefont-${DIRECTXTK_TAG}.exe" "${CURRENT_PACKAGES_DIR}/tools/directxtk12/makespritefont.exe") + + if(VCPKG_TARGET_ARCHITECTURE STREQUAL x64) + + vcpkg_download_distfile( + XWBTOOL_EXE + URLS "https://github.com/Microsoft/DirectXTK12/releases/download/${DIRECTXTK_TAG}/XWBTool.exe" + FILENAME "xwbtool-${DIRECTXTK_TAG}.exe" + 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) 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 b25000552c74081b0da117b4b762b98eb68c5de6f6b65a8208811900316f8138f717e6050a30dcb7c71e3e2c01cba12b8dc6d4a9ade45da39abfd2fc3ef679e3 + ) + + file(INSTALL "${XWBTOOL_EXE}" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/directxtk12/") + + file(RENAME "${CURRENT_PACKAGES_DIR}/tools/directxtk12/xwbtool-${DIRECTXTK_TAG}-arm64.exe" "${CURRENT_PACKAGES_DIR}/tools/directxtk12/xwbtool.exe") + + endif() - file(RENAME "${CURRENT_PACKAGES_DIR}/tools/directxtk12/makespritefont-nov2021.exe" "${CURRENT_PACKAGES_DIR}/tools/directxtk12/makespritefont.exe") - file(RENAME "${CURRENT_PACKAGES_DIR}/tools/directxtk12/xwbtool-nov2021.exe" "${CURRENT_PACKAGES_DIR}/tools/directxtk12/xwbtool.exe") endif() 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/directxtk12/usage b/ports/directxtk12/usage new file mode 100644 index 00000000000000..5a2893111ab14f --- /dev/null +++ b/ports/directxtk12/usage @@ -0,0 +1,4 @@ +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 cd7d64b7041e64..34f8ec33e43748 100644 --- a/ports/directxtk12/vcpkg.json +++ b/ports/directxtk12/vcpkg.json @@ -1,14 +1,26 @@ { "name": "directxtk12", - "version-string": "nov2021", + "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": [ - "directx-headers", + { + "name": "directx-dxc", + "host": true, + "platform": "windows & !xbox" + }, + { + "name": "directx-headers", + "platform": "windows & !xbox" + }, "directxmath", + { + "name": "ms-gdkx", + "platform": "xbox" + }, { "name": "vcpkg-cmake", "host": true @@ -17,5 +29,33 @@ "name": "vcpkg-cmake-config", "host": true } - ] + ], + "default-features": [ + "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 | arm64ec)" + }, + "xaudio2-9": { + "description": "Build with XAudio 2.9 support for Windows 10/11" + }, + "xaudio2redist": { + "description": "Build with XAudio2Redist", + "dependencies": [ + "xaudio2redist" + ] + } + } } diff --git a/ports/dirent/portfile.cmake b/ports/dirent/portfile.cmake index 945f6017af0f1f..ad02af3261f1ef 100644 --- a/ports/dirent/portfile.cmake +++ b/ports/dirent/portfile.cmake @@ -6,12 +6,12 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO tronkko/dirent - REF 1.23.2 - SHA512 e7a991445ee9ca8f1118753df559d28beb283b3c0d25edcfb23dd5322f2bdfeadffe802d0c908bb6d4dfc17bf5ec38bdecfa717319fb4e26682bee0ba0d14c5c + REF "${VERSION}" + SHA512 bdfc5cd41034719a7bcb3b04ad1c821b73e8ab37768b831362bdd36dceb2bab832ecb56ed6e99db145d38b15e295c0971496320b0482cb339dc973a9870bb72d HEAD_REF master ) file(INSTALL ${SOURCE_PATH}/include/ DESTINATION ${CURRENT_PACKAGES_DIR}/include) -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/dirent RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") vcpkg_copy_pdbs() set(VCPKG_POLICY_ALLOW_RESTRICTED_HEADERS enabled) diff --git a/ports/dirent/vcpkg.json b/ports/dirent/vcpkg.json index 82a21b2ced5ca7..c07b74319c34e6 100644 --- a/ports/dirent/vcpkg.json +++ b/ports/dirent/vcpkg.json @@ -1,7 +1,7 @@ { "name": "dirent", - "version-string": "1.23.2", - "port-version": 1, + "version": "1.24", "description": "Dirent is a C/C++ programming interface that allows programmers to retrieve information about files and directories under Linux/UNIX. This project provides Linux compatible Dirent interface for Microsoft Windows.", - "homepage": "https://github.com/tronkko/dirent" + "homepage": "https://github.com/tronkko/dirent", + "license": "MIT" } diff --git a/ports/discord-game-sdk/include-cstdint.patch b/ports/discord-game-sdk/include-cstdint.patch index 6e61c4c252d915..05df0232e8109b 100644 --- a/ports/discord-game-sdk/include-cstdint.patch +++ b/ports/discord-game-sdk/include-cstdint.patch @@ -1,6 +1,6 @@ From 91fab7c4b8f7da3182f07f5392ebe9388f979157 Mon Sep 17 00:00:00 2001 -From: Maki -Date: Wed, 3 Jun 2020 01:40:58 +0100 +From: l3nn0x +Date: Wed, 17 Mai 2023 11:40:58 +0100 Subject: [PATCH] Include cstdint --- @@ -11,15 +11,12 @@ diff --git a/cpp/types.h b/cpp/types.h index 8c7cc2b..122dc71 100644 --- a/cpp/types.h +++ b/cpp/types.h -@@ -3,6 +3,8 @@ - #include "ffi.h" - #include "event.h" - -+#include +@@ -6,6 +6,8 @@ + #include + #include + #endif + - namespace discord { ++#include - enum class Result { --- -2.26.2 + namespace discord { diff --git a/ports/discord-game-sdk/portfile.cmake b/ports/discord-game-sdk/portfile.cmake index ab85a7d72b7aa4..b39e770999166f 100644 --- a/ports/discord-game-sdk/portfile.cmake +++ b/ports/discord-game-sdk/portfile.cmake @@ -1,30 +1,27 @@ -vcpkg_fail_port_install(ON_ARCH "arm" "arm64" ON_TARGET "android" "uwp") -if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86" AND NOT VCPKG_TARGET_IS_WINDOWS) - vcpkg_fail_port_install(MESSAGE "The GameSDK only supports x86 on Windows." ALWAYS) -endif() - vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) vcpkg_download_distfile(ARCHIVE - URLS https://dl-game-sdk.discordapp.net/2.5.6/discord_game_sdk.zip + URLS https://dl-game-sdk.discordapp.net/3.2.1/discord_game_sdk.zip FILENAME discord_game_sdk.zip - SHA512 4c8f72c7bdf92bc969fb86b96ea0d835e01b9bab1a2cc27ae00bdac1b9733a1303ceadfe138c24a7609b76d61d49999a335dd596cf3f335d894702e2aa23406f + SHA512 4851cb70f428eb391959018aa7206e11232348189f7e47f9b8e15535f02a8b114ef825198b0d772979b77ca47061ee7fa764ca90a1dc39370eb9802e8bf04541 ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" NO_REMOVE_ONE_LEVEL - PATCHES - include-cstdint.patch # allows compiling on newer versions of GCC + PATCHES + include-cstdint.patch # allows compiling on newer versions of GCC ) -file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") set(ARCH_FOLDER "x86") -else(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") +elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") set(ARCH_FOLDER "x86_64") +elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") + set(ARCH_FOLDER "aarch64") endif() if(VCPKG_TARGET_IS_WINDOWS) @@ -40,13 +37,12 @@ elseif(VCPKG_TARGET_IS_LINUX) file(INSTALL "${SOURCE_PATH}/lib/${ARCH_FOLDER}/discord_game_sdk.so" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib" RENAME "libdiscord_game_sdk.so") endif() -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS "-DSDK_LIB_FOLDER=${CURRENT_PACKAGES_DIR}/lib" ) -vcpkg_install_cmake() +vcpkg_cmake_install() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/copyright" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/discord-game-sdk/vcpkg.json b/ports/discord-game-sdk/vcpkg.json index 3a35dc4592c66e..2fba2a0d280d08 100644 --- a/ports/discord-game-sdk/vcpkg.json +++ b/ports/discord-game-sdk/vcpkg.json @@ -1,8 +1,17 @@ { "name": "discord-game-sdk", - "version": "2.5.6", - "port-version": 3, + "version": "3.2.1", "description": "The Discord GameSDK is an easy drop-in SDK to help you manage all the hard things that come with making a game.", "homepage": "https://discord.com/developers/docs/game-sdk/sdk-starter-guide", - "supports": "((x64 & (windows | osx | linux)) | (x86 & windows)) & !uwp & !static" + "supports": "((x64 & (windows | osx | linux)) | (x86 & windows) | (arm64 & osx)) & !uwp & !static", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/discord-rpc/portfile.cmake b/ports/discord-rpc/portfile.cmake index 9553f4de94107e..e2d7b0a3f983cb 100644 --- a/ports/discord-rpc/portfile.cmake +++ b/ports/discord-rpc/portfile.cmake @@ -1,34 +1,31 @@ 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 ) string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" STATIC_CRT) -file(REMOVE_RECURSE ${SOURCE_PATH}/thirdparty) +file(REMOVE_RECURSE "${SOURCE_PATH}/thirdparty") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DUSE_STATIC_CRT=${STATIC_CRT} -DBUILD_EXAMPLES=OFF - -DRAPIDJSONTEST=TRUE - -DRAPIDJSON=${CURRENT_INSTALLED_DIR} + "-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() -vcpkg_install_cmake() +vcpkg_cmake_install() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +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 12ab91796302b3..addeb8e677ce1a 100644 --- a/ports/discord-rpc/vcpkg.json +++ b/ports/discord-rpc/vcpkg.json @@ -1,10 +1,15 @@ { "name": "discord-rpc", - "version-string": "3.4.0", - "port-version": 1, + "version": "3.4.0", + "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" + "rapidjson", + { + "name": "vcpkg-cmake", + "host": true + } ] } diff --git a/ports/discordcoreapi/portfile.cmake b/ports/discordcoreapi/portfile.cmake new file mode 100644 index 00000000000000..fcbf82491fb0a0 --- /dev/null +++ b/ports/discordcoreapi/portfile.cmake @@ -0,0 +1,27 @@ +if(VCPKG_TARGET_IS_LINUX) + message(WARNING "DiscordCoreAPI only supports g++ 11 on linux.") +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO RealTimeChris/DiscordCoreAPI + REF "v${VERSION}" + SHA512 344e960491e17e9626f6ab4a42f28fe59842c0c15cf32ef2508e850099105667c651feaa6dd642207413fbeac43283310fe2b9a98a2ebfd4a49716da43e5cade + HEAD_REF main +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(NO_PREFIX_CORRECTION) + +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() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/License.md") diff --git a/ports/discordcoreapi/vcpkg.json b/ports/discordcoreapi/vcpkg.json new file mode 100644 index 00000000000000..10fc18de5f837f --- /dev/null +++ b/ports/discordcoreapi/vcpkg.json @@ -0,0 +1,22 @@ +{ + "name": "discordcoreapi", + "version": "2.0.7", + "description": "A Discord bot library written in C++ using custom asynchronous coroutines.", + "homepage": "https://discordcoreapi.com", + "license": "MIT", + "supports": "(windows & x64 & !xbox) | (linux & x64) | (osx & x64)", + "dependencies": [ + "jsonifier", + "libsodium", + "openssl", + "opus", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/discount/disable-deprecated-warnings.patch b/ports/discount/disable-deprecated-warnings.patch index e8f4f0fb7721fb..1684c74009c790 100644 --- a/ports/discount/disable-deprecated-warnings.patch +++ b/ports/discount/disable-deprecated-warnings.patch @@ -1,11 +1,11 @@ diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt -index 11fa675..34cc9ed 100644 +index ae859a3..77a936a 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt -@@ -20,6 +20,11 @@ set(${PROJECT_NAME}_INSTALL_SAMPLES OFF CACHE BOOL - set(${PROJECT_NAME}_ONLY_LIBRARY OFF CACHE BOOL - "Set to ON to only build markdown library (default is OFF)") - +@@ -23,6 +23,11 @@ set(${PROJECT_NAME}_ONLY_LIBRARY OFF CACHE BOOL + set(${PROJECT_NAME}_CXX_BINDING OFF CACHE BOOL + "Set to ON to install header files with c++ wrappers (default is OFF)") + +# MSVC deprecated warnings (C4996,strdup, ...) +if(MSVC) + add_definitions(-D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS) diff --git a/ports/discount/portfile.cmake b/ports/discount/portfile.cmake index bac98be811c119..2cf70ff2c74077 100644 --- a/ports/discount/portfile.cmake +++ b/ports/discount/portfile.cmake @@ -4,11 +4,10 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Orc/discount - REF v2.2.6 - SHA512 4c5956dea78aacd3a105ddac13f1671d811a5b2b04990cdf8485c36190c8872c4b1b9432a7236f669c34b07564ecd0096632dced54d67de9eaf4f23641417ecc + REF "v${VERSION}" + SHA512 ab24722bb8513f64eed59bb2770276b91615033b494a0492a331f36c5fcd2e32b7a9f3bd7ef0bb74c107f1e0e955522c83ddba6c482fca7f18cf275334707c4d HEAD_REF master PATCHES - cmake.patch generate-blocktags-command.patch disable-deprecated-warnings.patch ) @@ -23,17 +22,17 @@ if(NOT GENERATE_BLOCKTAGS) message(STATUS "Copied blocktags") endif() -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}/cmake" - PREFER_NINJA DISABLE_PARALLEL_CONFIGURE OPTIONS -DDISCOUNT_ONLY_LIBRARY=ON -DGENERATE_BLOCKTAGS=${GENERATE_BLOCKTAGS} ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/discount) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/discount) +vcpkg_fixup_pkgconfig() vcpkg_copy_pdbs() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/discount/vcpkg.json b/ports/discount/vcpkg.json index 7fcbc5103fc27c..d11f44d7ed30bf 100644 --- a/ports/discount/vcpkg.json +++ b/ports/discount/vcpkg.json @@ -1,7 +1,16 @@ { "name": "discount", - "version-string": "2.2.6", - "port-version": 1, + "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" + "homepage": "https://github.com/Orc/discount", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/discreture/portfile.cmake b/ports/discreture/portfile.cmake index 51bec5feb3d650..e3ba24b4163136 100644 --- a/ports/discreture/portfile.cmake +++ b/ports/discreture/portfile.cmake @@ -6,16 +6,14 @@ vcpkg_from_github( HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() -file(REMOVE_RECURSE - ${CURRENT_PACKAGES_DIR}/debug) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") # Handle copyright -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}) +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}") diff --git a/ports/discreture/vcpkg.json b/ports/discreture/vcpkg.json index f5869ba4cf5dd6..84e04896aaad01 100644 --- a/ports/discreture/vcpkg.json +++ b/ports/discreture/vcpkg.json @@ -1,11 +1,19 @@ { "name": "discreture", - "version-string": "2020-01-29", - "port-version": 1, + "version-date": "2020-01-29", + "port-version": 3, "description": "A modern C++ library for efficiently and easily iterating through common combinatorial objects, such as combinations, permutations, partitions and more.", "homepage": "https://github.com/mraggi/discreture", "dependencies": [ "boost-container", - "boost-iterator" + "boost-iterator", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/dlfcn-win32/portfile.cmake b/ports/dlfcn-win32/portfile.cmake index 1e1fdccb1414ce..4dd5098182d429 100644 --- a/ports/dlfcn-win32/portfile.cmake +++ b/ports/dlfcn-win32/portfile.cmake @@ -1,30 +1,24 @@ -set(SOURCE_VERSION 1.1.1) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO dlfcn-win32/dlfcn-win32 - REF v${SOURCE_VERSION} - SHA512 557729511546f574487f8c7de437c53bcf5ae11640349c338ead9965a4ac0f937de647839b63c821003be54dca5bcbf28f2899d2348acf7dfef31e487da1cba1 + REF "v${VERSION}" + SHA512 2ddcaad7fff09be654589642af14689ebbc15212caea5b5fb0238b34188c87cd9cb53d7aee45c7ae4dd6ddf6e637ee945567d7b858b97ceefff8f1ec46b786ae HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() -file(READ ${CURRENT_PACKAGES_DIR}/debug/share/dlfcn-win32/dlfcn-win32-targets-debug.cmake dlfcn-win32_DEBUG_MODULE) -string(REPLACE "\${_IMPORT_PREFIX}" "\${_IMPORT_PREFIX}/debug" dlfcn-win32_DEBUG_MODULE "${dlfcn-win32_DEBUG_MODULE}") -file(WRITE ${CURRENT_PACKAGES_DIR}/share/dlfcn-win32/dlfcn-win32-targets-debug.cmake "${dlfcn-win32_DEBUG_MODULE}") +vcpkg_cmake_config_fixup() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") vcpkg_copy_pdbs() -file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/COPYING ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) set(VCPKG_POLICY_ALLOW_RESTRICTED_HEADERS enabled) diff --git a/ports/dlfcn-win32/vcpkg.json b/ports/dlfcn-win32/vcpkg.json index 505674d5b232c0..aa27ecba5d8bdc 100644 --- a/ports/dlfcn-win32/vcpkg.json +++ b/ports/dlfcn-win32/vcpkg.json @@ -1,7 +1,18 @@ { "name": "dlfcn-win32", - "version-string": "1.1.1", - "port-version": 5, + "version": "1.4.1", "description": "dlfcn-win32 is an implementation of dlfcn for Windows.", - "homepage": "https://github.com/dlfcn-win32/dlfcn-win32" + "homepage": "https://github.com/dlfcn-win32/dlfcn-win32", + "license": "MIT", + "supports": "windows & !uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/dlib/find_blas.patch b/ports/dlib/find_blas.patch index 3ea8d30aebd915..47b07a483209ac 100644 --- a/ports/dlib/find_blas.patch +++ b/ports/dlib/find_blas.patch @@ -1,8 +1,10 @@ +diff --git a/dlib/cmake_utils/find_blas.cmake b/dlib/cmake_utils/find_blas.cmake +index 806b938..507f871 100644 --- a/dlib/cmake_utils/find_blas.cmake +++ b/dlib/cmake_utils/find_blas.cmake -@@ -414,7 +414,7 @@ +@@ -438,7 +438,7 @@ endif() + # If using lapack, determine whether to mangle functions if (lapack_found) - include(CheckFunctionExists) include(CheckFortranFunctionExists) - set(CMAKE_REQUIRED_LIBRARIES ${lapack_libraries}) + set(CMAKE_REQUIRED_LIBRARIES ${lapack_libraries} ${blas_libraries}) diff --git a/ports/dlib/fix-dependencies.patch b/ports/dlib/fix-dependencies.patch new file mode 100644 index 00000000000000..06e17db437388f --- /dev/null +++ b/ports/dlib/fix-dependencies.patch @@ -0,0 +1,80 @@ +diff --git a/dlib/CMakeLists.txt b/dlib/CMakeLists.txt +index cfe6ad9..75cfd54 100644 +--- a/dlib/CMakeLists.txt ++++ b/dlib/CMakeLists.txt +@@ -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} ) +@@ -833,6 +834,10 @@ if (NOT TARGET dlib) + + + if (DLIB_LINK_WITH_SQLITE3) ++ find_package(unofficial-sqlite3 CONFIG REQUIRED) ++ list(APPEND dlib_needed_libraries unofficial::sqlite3::sqlite3) ++ string(APPEND pkg_config_dlib_requires_private " sqlite3") ++ elseif(0) + find_library(sqlite sqlite3) + # make sure sqlite3.h is in the include path + find_path(sqlite_path sqlite3.h) +@@ -848,6 +853,10 @@ if (NOT TARGET dlib) + + + if (DLIB_USE_FFTW) ++ find_package(FFTW3 CONFIG REQUIRED) ++ list(APPEND dlib_needed_libraries FFTW3::fftw3) ++ string(APPEND pkg_config_dlib_requires_private " fftw3") ++ elseif(0) + find_library(fftw fftw3) + # make sure fftw3.h is in the include path + find_path(fftw_path fftw3.h) +@@ -998,6 +1007,8 @@ if (NOT TARGET dlib) + + ## dlib-1.pc generation and installation + ++ string (REGEX REPLACE " m " " -lm " pkg_config_dlib_needed_libraries "${pkg_config_dlib_needed_libraries} ") ++ string (REGEX REPLACE "[^ ]*::[^ ]*" "" pkg_config_dlib_needed_libraries "${pkg_config_dlib_needed_libraries}") + 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") +@@ -1011,7 +1022,7 @@ if (NOT TARGET dlib) + + endif() + +-if (MSVC) ++if (0) + # Give the output library files names that are unique functions of the + # visual studio mode that compiled them. We do this so that people who + # compile dlib and then copy the .lib files around (which they shouldn't be +diff --git a/dlib/cmake_utils/dlib.pc.in b/dlib/cmake_utils/dlib.pc.in +index 9060110..2ec27e8 100644 +--- a/dlib/cmake_utils/dlib.pc.in ++++ b/dlib/cmake_utils/dlib.pc.in +@@ -6,3 +6,4 @@ Description: Numerical and networking C++ library + Version: @VERSION@ + Libs: -L${libdir} -ldlib @pkg_config_dlib_needed_libraries@ + Cflags: -I${includedir} @pkg_config_dlib_needed_includes@ ++Requires.private: @pkg_config_dlib_requires_private@ +diff --git a/dlib/cmake_utils/dlibConfig.cmake.in b/dlib/cmake_utils/dlibConfig.cmake.in +index 2667a2e..cc7b4a2 100644 +--- a/dlib/cmake_utils/dlibConfig.cmake.in ++++ b/dlib/cmake_utils/dlibConfig.cmake.in +@@ -31,6 +31,14 @@ if(NOT TARGET dlib-shared AND NOT dlib_BINARY_DIR) + unset(dlib_deps_threads_check) + endif() + ++include(CMakeFindDependencyMacro) ++if("@DLIB_USE_FFTW@") ++ find_dependency(FFTW3 CONFIG) ++endif() ++if("@DLIB_LINK_WITH_SQLITE3@") ++ find_dependency(unofficial-sqlite3 CONFIG) ++endif() ++ + set(dlib_LIBRARIES dlib::dlib) + set(dlib_LIBS dlib::dlib) + set(dlib_INCLUDE_DIRS "@CMAKE_INSTALL_FULL_INCLUDEDIR@" "@dlib_needed_includes@") diff --git a/ports/dlib/fix-sqlite3-fftw-linkage.patch b/ports/dlib/fix-sqlite3-fftw-linkage.patch deleted file mode 100644 index 41ba700b420872..00000000000000 --- a/ports/dlib/fix-sqlite3-fftw-linkage.patch +++ /dev/null @@ -1,57 +0,0 @@ -diff --git a/dlib/CMakeLists.txt b/dlib/CMakeLists.txt ---- a/dlib/CMakeLists.txt -+++ b/dlib/CMakeLists.txt -@@ -747,32 +750,15 @@ - - - if (DLIB_LINK_WITH_SQLITE3) -- find_library(sqlite sqlite3) -- # make sure sqlite3.h is in the include path -- find_path(sqlite_path sqlite3.h) -- if (sqlite AND sqlite_path) -- set(dlib_needed_includes ${dlib_needed_includes} ${sqlite_path}) -- set(dlib_needed_libraries ${dlib_needed_libraries} ${sqlite} ) -- else() -- set(DLIB_LINK_WITH_SQLITE3 OFF CACHE STRING ${DLIB_LINK_WITH_SQLITE3_STR} FORCE ) -- endif() -- mark_as_advanced(sqlite sqlite_path) -+ find_package(unofficial-sqlite3 CONFIG) -+ set(dlib_needed_libraries ${dlib_needed_libraries} unofficial::sqlite3::sqlite3) - endif() - - - - if (DLIB_USE_FFTW) -- find_library(fftw fftw3) -- # make sure fftw3.h is in the include path -- find_path(fftw_path fftw3.h) -- if (fftw AND fftw_path) -- set(dlib_needed_includes ${dlib_needed_includes} ${fftw_path}) -- set(dlib_needed_libraries ${dlib_needed_libraries} ${fftw} ) -- else() -- set(DLIB_USE_FFTW OFF CACHE STRING ${DLIB_USE_FFTW_STR} FORCE ) -- toggle_preprocessor_switch(DLIB_USE_FFTW) -- endif() -- mark_as_advanced(fftw fftw_path) -+ find_package(FFTW3 CONFIG) -+ set(dlib_needed_libraries ${dlib_needed_libraries} FFTW3::fftw3) - endif() - - ---- a/dlib/cmake_utils/dlibConfig.cmake.in -+++ b/dlib/cmake_utils/dlibConfig.cmake.in -@@ -28,6 +28,14 @@ - include("${dlib_CMAKE_DIR}/dlib.cmake") - endif() - -+include(CMakeFindDependencyMacro) -+if("@DLIB_USE_FFTW@") -+ find_dependency(FFTW3 CONFIG) -+endif() -+if("@DLIB_LINK_WITH_SQLITE3@") -+ find_dependency(unofficial-sqlite3 CONFIG) -+endif() -+ - set(dlib_LIBRARIES dlib::dlib) - set(dlib_LIBS dlib::dlib) - set(dlib_INCLUDE_DIRS "@CMAKE_INSTALL_FULL_INCLUDEDIR@" "@dlib_needed_includes@") diff --git a/ports/dlib/force_finding_packages.patch b/ports/dlib/force_finding_packages.patch deleted file mode 100644 index 558b75f1fe881d..00000000000000 --- a/ports/dlib/force_finding_packages.patch +++ /dev/null @@ -1,44 +0,0 @@ -diff --git a/dlib/cmake_utils/find_libjpeg.cmake b/dlib/cmake_utils/find_libjpeg.cmake -index 3b9e656..d741f31 100644 ---- a/dlib/cmake_utils/find_libjpeg.cmake -+++ b/dlib/cmake_utils/find_libjpeg.cmake -@@ -14,7 +14,7 @@ if (DEFINED JPEG_FOUND) - return() - endif() - --find_package(JPEG QUIET) -+find_package(JPEG REQUIRED) - - if(JPEG_FOUND) - set(JPEG_TEST_CMAKE_FLAGS -@@ -31,7 +31,7 @@ if(JPEG_FOUND) - message (STATUS "Found system copy of libjpeg: ${JPEG_LIBRARY}") - if(NOT test_for_libjpeg_worked) - set(JPEG_FOUND 0) -- message (STATUS "System copy of libjpeg is broken or too old. Will build our own libjpeg and use that instead.") -+ message (FATAL_ERROR "System copy of libjpeg is broken or too old. Will build our own libjpeg and use that instead.") - endif() - endif() - -diff --git a/dlib/cmake_utils/find_libpng.cmake b/dlib/cmake_utils/find_libpng.cmake -index 1b35604..489a4c8 100644 ---- a/dlib/cmake_utils/find_libpng.cmake -+++ b/dlib/cmake_utils/find_libpng.cmake -@@ -14,7 +14,7 @@ if (DEFINED PNG_FOUND) - return() - endif() - --find_package(PNG QUIET) -+find_package(PNG REQUIRED) - - if(PNG_FOUND) - set(PNG_TEST_CMAKE_FLAGS -@@ -31,7 +31,7 @@ if(PNG_FOUND) - message (STATUS "Found system copy of libpng: ${PNG_LIBRARIES}") - if(NOT test_for_libpng_worked) - set(PNG_FOUND 0) -- message (STATUS "System copy of libpng is broken. Will build our own libpng and use that instead.") -+ message (FATAL_ERROR "System copy of libpng is broken. Will build our own libpng and use that instead.") - endif() - endif() - diff --git a/ports/dlib/portfile.cmake b/ports/dlib/portfile.cmake index 29a43c144e189e..d7d4baa9aa39fd 100644 --- a/ports/dlib/portfile.cmake +++ b/ports/dlib/portfile.cmake @@ -3,23 +3,15 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO davisking/dlib - REF v19.21 - SHA512 57133cdcbc5017d324a368ff36a628de55001f1ec0b3ac078b4ad49a63c8c9fb48674617c6a5838ca4e381a6b001fe4aa5a7b3353eb288c58062d2a8fc7b171e + REF "v${VERSION}" + SHA512 548f15fcd345a56b6e7a0a568fa7c694beeeda3b863492f59bdaa0b0e6d48b21d6705e2ac56a06f349aa26b0e9b79aa0a437870940170772b5b30cf35841cbb4 HEAD_REF master PATCHES - fix-sqlite3-fftw-linkage.patch - force_finding_packages.patch + fix-dependencies.patch find_blas.patch ) -file(REMOVE_RECURSE ${SOURCE_PATH}/dlib/external/libjpeg) -file(REMOVE_RECURSE ${SOURCE_PATH}/dlib/external/libpng) -file(REMOVE_RECURSE ${SOURCE_PATH}/dlib/external/zlib) - -# This fixes static builds; dlib doesn't pull in the needed transitive dependencies -file(READ "${SOURCE_PATH}/dlib/CMakeLists.txt" DLIB_CMAKE) -string(REPLACE "PNG_LIBRARY" "PNG_LIBRARIES" DLIB_CMAKE "${DLIB_CMAKE}") -file(WRITE "${SOURCE_PATH}/dlib/CMakeLists.txt" "${DLIB_CMAKE}") +file(REMOVE_RECURSE "${SOURCE_PATH}/dlib/external") vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES @@ -28,54 +20,67 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS "cuda" DLIB_USE_CUDA ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +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 ${FEATURE_OPTIONS} + ${COMMON_OPTIONS} -DDLIB_PNG_SUPPORT=ON + -DCMAKE_REQUIRE_FIND_PACKAGE_PNG=ON -DDLIB_JPEG_SUPPORT=ON + -DCMAKE_REQUIRE_FIND_PACKAGE_JPEG=ON -DDLIB_USE_BLAS=ON -DDLIB_USE_LAPACK=ON -DDLIB_GIF_SUPPORT=OFF + -DDLIB_WEBP_SUPPORT=OFF -DDLIB_USE_MKL_FFT=OFF - -DCMAKE_DEBUG_POSTFIX=d + -DDLIB_USE_FFMPEG=OFF OPTIONS_DEBUG - -DDLIB_ENABLE_ASSERTS=ON + ${dbg_opts} #-DDLIB_ENABLE_STACK_TRACE=ON ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/dlib) +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() -# There is no way to suppress installation of the headers and resource files in debug build. -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/dlib) -# Remove other files not required in package -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/dlib/all) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/dlib/appveyor) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/dlib/test) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/dlib/travis) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/dlib/cmake_utils/test_for_neon) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/dlib/cmake_utils/test_for_cudnn) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/dlib/cmake_utils/test_for_cuda) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/dlib/cmake_utils/test_for_cpp11) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/dlib/cmake_utils/test_for_avx) -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/external/libpng/arm) +vcpkg_fixup_pkgconfig() -# Dlib encodes debug/release in its config.h. Patch it to respond to the NDEBUG macro instead. -file(READ ${CURRENT_PACKAGES_DIR}/include/dlib/config.h _contents) -string(REPLACE "/* #undef ENABLE_ASSERTS */" "#if defined(_DEBUG)\n#define ENABLE_ASSERTS\n#endif" _contents ${_contents}) -string(REPLACE "#define DLIB_DISABLE_ASSERTS" "#if !defined(_DEBUG)\n#define DLIB_DISABLE_ASSERTS\n#endif" _contents ${_contents}) -file(WRITE ${CURRENT_PACKAGES_DIR}/include/dlib/config.h "${_contents}") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/doc") -# Handle copyright -file(INSTALL ${SOURCE_PATH}/dlib/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share/doc) +# Remove other files not required in package +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/dlib/all") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/dlib/appveyor") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/dlib/test") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/dlib/travis") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/dlib/cmake_utils/test_for_neon") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/dlib/cmake_utils/test_for_cudnn") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/dlib/cmake_utils/test_for_cuda") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/dlib/cmake_utils/test_for_cpp11") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/dlib/cmake_utils/test_for_avx") +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") -vcpkg_fixup_pkgconfig() +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/dlib/LICENSE.txt") diff --git a/ports/dlib/vcpkg.json b/ports/dlib/vcpkg.json index a67b77498f7428..323e919d686e85 100644 --- a/ports/dlib/vcpkg.json +++ b/ports/dlib/vcpkg.json @@ -1,14 +1,23 @@ { "name": "dlib", - "version": "19.21", - "port-version": 6, + "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", "libjpeg-turbo", - "libpng" + "libpng", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ], "default-features": [ "fftw3", diff --git a/ports/dlpack/portfile.cmake b/ports/dlpack/portfile.cmake new file mode 100644 index 00000000000000..bac36394544d6b --- /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 1669d5145904918499682ed80db7a444d012708c7b8c1d03410ef8fa8bcacd95e56450e95a842b0b4d900f973d04e24bd86e33f54b8afe80dd5dbbb02d04fc13 + 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..80b64d26aeb9d9 --- /dev/null +++ b/ports/dlpack/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "dlpack", + "version": "0.8", + "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/dmlc/cxx-fix.patch b/ports/dmlc/cxx-fix.patch new file mode 100644 index 00000000000000..4b3f0d3d5860e6 --- /dev/null +++ b/ports/dmlc/cxx-fix.patch @@ -0,0 +1,12 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 46aa280..f66b286 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -59,6 +59,7 @@ if(USE_AZURE) + endif() + + add_library(dmlc ${SOURCE}) ++target_compile_features(dmlc PUBLIC cxx_std_${CMAKE_CXX_STANDARD}) + + # Sanitizer + if (DMLC_USE_SANITIZER) diff --git a/ports/dmlc/portfile.cmake b/ports/dmlc/portfile.cmake index 3e4c7baeb39e13..16d819590ab19a 100644 --- a/ports/dmlc/portfile.cmake +++ b/ports/dmlc/portfile.cmake @@ -1,13 +1,13 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -vcpkg_fail_port_install(ON_TARGET "UWP") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO dmlc/dmlc-core - REF d3fd7c5e9b9c280d3081ada3fb62705547c00bf1 - SHA512 6887d52ddd00949866c27bea3c860abb8a7ecf61feeac79d67d260635e9c3e490b6f0538cbc0ccc1f03e90ab4094bfc0fcb938adb3fb5afe9fea813d47cc7430 - HEAD_REF master + REF dfd9365264a060a5096734b7d892e1858b6d2722 + SHA512 0dc2ecd3c981d88de27bf5184f7b380261335c474934d0db59028adfe75f6b3ee2da5b831135acfaad7943acb3eaa7007c0faf0f14e63b39865354898f64fcea + HEAD_REF main + PATCHES + cxx-fix.patch # from https://github.com/dmlc/dmlc-core/pull/676 ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS @@ -21,20 +21,19 @@ else() set(DMLC_FORCE_SHARED_CRT OFF) endif() -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" DISABLE_PARALLEL_CONFIGURE OPTIONS -DDMLC_FORCE_SHARED_CRT=${DMLC_FORCE_SHARED_CRT} -DUSE_OPENMP=${ENABLE_OPENMP} ) -vcpkg_install_cmake() +vcpkg_cmake_install() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/dmlc) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/dmlc) # Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/dmlc/vcpkg.json b/ports/dmlc/vcpkg.json index 36a4e03953a68a..22652c3ce44496 100644 --- a/ports/dmlc/vcpkg.json +++ b/ports/dmlc/vcpkg.json @@ -1,10 +1,20 @@ { "name": "dmlc", - "version-date": "2019-08-12", - "port-version": 6, + "version-date": "2022-06-22", "description": "DMLC-Core is the backbone library to support all DMLC projects, offers the bricks to build efficient and scalable distributed machine learning libraries.", "homepage": "https://github.com/dmlc/dmlc-core", + "license": "Apache-2.0", "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], "features": { "openmp": { "description": "Build with openmp" 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 03c6fd63735c4c..2f80d5d6b60918 100644 --- a/ports/docopt/portfile.cmake +++ b/ports/docopt/portfile.cmake @@ -1,44 +1,38 @@ 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_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DWITH_EXAMPLE=OFF -DWITH_TESTS=OFF -DUSE_BOOST_REGEX=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/docopt) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/docopt) +vcpkg_fixup_pkgconfig() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +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}") - file(WRITE ${CURRENT_PACKAGES_DIR}/include/docopt/docopt.h "${_contents}") + file(READ "${CURRENT_PACKAGES_DIR}/include/docopt/docopt.h" _contents) + string(REPLACE "#ifdef DOCOPT_DLL" "#ifdef _WIN32" _contents "${_contents}") + file(WRITE "${CURRENT_PACKAGES_DIR}/include/docopt/docopt.h" "${_contents}") endif() # Header-only style when DOCOPT_HEADER_ONLY is defined file(COPY - ${SOURCE_PATH}/docopt.cpp - DESTINATION ${CURRENT_PACKAGES_DIR}/include/docopt) + "${SOURCE_PATH}/docopt.cpp" + 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 8e17436c418154..8cf0a4fcfe20c8 100644 --- a/ports/docopt/vcpkg.json +++ b/ports/docopt/vcpkg.json @@ -1,6 +1,17 @@ { "name": "docopt", - "version-string": "2018-11-01", + "version-date": "2022-03-15", "port-version": 1, - "description": "Command line arguments parser that will make you smile (C++11 port)." + "description": "Command line arguments parser that will make you smile (C++11 port).", + "license": "MIT OR BSL-1.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/doctest/portfile.cmake b/ports/doctest/portfile.cmake index 170c48578a6ffb..c5db02dc8bfd00 100644 --- a/ports/doctest/portfile.cmake +++ b/ports/doctest/portfile.cmake @@ -1,21 +1,23 @@ +# header-only library vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO onqtam/doctest - REF 2.4.6 - SHA512 A5CCCF085AF946003140AF688F071A6407D42FC685324A537E3B704EF9DE0F2228BD06EABFD1DF8DA70DEC001420DD0B2813E5E4320B5C1DA450CB0AADD63788 + REPO doctest/doctest + REF "v${VERSION}" + SHA512 04425686057079d3f1a6f767c487f1953050f553dbff9fc42b42dde1358fe26e46bf6219881bbfce625f15cb9c229474d82688120eb2cb2b1d8138db0cc91b3c HEAD_REF master ) -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - PREFER_NINJA + DISABLE_PARALLEL_CONFIGURE OPTIONS -DDOCTEST_WITH_TESTS=OFF ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/doctest) +vcpkg_cmake_install() -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") -file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) \ No newline at end of file +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug" "${CURRENT_PACKAGES_DIR}/lib") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") diff --git a/ports/doctest/vcpkg.json b/ports/doctest/vcpkg.json index 060fecff60039d..334c6a36770396 100644 --- a/ports/doctest/vcpkg.json +++ b/ports/doctest/vcpkg.json @@ -1,6 +1,17 @@ { "name": "doctest", - "version": "2.4.6", - "description": "The fastest feature-rich C++ single-header testing framework for unit tests and TDD", - "homepage": "https://github.com/onqtam/doctest" + "version": "2.4.11", + "description": "The fastest feature-rich C++11/14/17/20 single-header testing framework", + "homepage": "https://github.com/doctest/doctest", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/double-conversion/portfile.cmake b/ports/double-conversion/portfile.cmake index 5ede45da1add0f..9f1fa7aa4b9749 100644 --- a/ports/double-conversion/portfile.cmake +++ b/ports/double-conversion/portfile.cmake @@ -1,28 +1,25 @@ -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/double-conversion - REF v3.1.5 - SHA512 0aeabdbfa06c3c4802905ac4bf8c2180840577677b47d45e1c91034fe07746428c9db79260ce6bdbdf8b584746066cea9247ba43a9c38155caf1ef44e214180a + REF "v${VERSION}" + SHA512 51e84eb7a5c407f7bc8f8b8ca19932ece5c9d8ac18aedff7b7620fc67369d9b2aa8c5a6b133e7f8633d7cc5e3788bad6e60b0e48ac08d0a4bc5e4abe7cee1334 HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() -# Rename exported target files into something vcpkg_fixup_cmake_targets expects -if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/cmake/double-conversion) - vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/double-conversion) +# Rename exported target files into something vcpkg_cmake_config_fixup expects +if(EXISTS "${CURRENT_PACKAGES_DIR}/lib/cmake/${PORT}") + vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${PORT}") endif() vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") # Handle copyright -configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/double-conversion/copyright COPYONLY) +configure_file("${SOURCE_PATH}/LICENSE" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) diff --git a/ports/double-conversion/vcpkg.json b/ports/double-conversion/vcpkg.json index 541bf7701b881c..f7c1da8618ddec 100644 --- a/ports/double-conversion/vcpkg.json +++ b/ports/double-conversion/vcpkg.json @@ -1,7 +1,16 @@ { "name": "double-conversion", - "version-string": "3.1.5", - "port-version": 1, + "version": "3.3.0", "description": "Efficient binary-decimal and decimal-binary conversion routines for IEEE doubles.", - "homepage": "https://github.com/google/double-conversion" + "homepage": "https://github.com/google/double-conversion", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/dp-thread-pool/portfile.cmake b/ports/dp-thread-pool/portfile.cmake new file mode 100644 index 00000000000000..d7db6b6e9cbe21 --- /dev/null +++ b/ports/dp-thread-pool/portfile.cmake @@ -0,0 +1,29 @@ +set(VCPKG_BUILD_TYPE release) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO DeveloperPaul123/thread-pool + REF ${VERSION} + SHA512 fccd39616f7961fbd4ff6c2f845b4d1494e50a85e44d1799c30308bdee0b2e13f55011c5a535a555857a91157a7dddf4ec38e1020f693ae33bf0977d8fb97451 + HEAD_REF master +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DTP_BUILD_TESTS=OFF + -DTP_BUILD_EXAMPLES=OFF + -DTP_BUILD_BENCHMARKS=OFF + -DTP_CXX_STANDARD=20 +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup( + PACKAGE_NAME thread-pool + CONFIG_PATH lib/cmake/thread-pool-${VERSION} +) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/dp-thread-pool/vcpkg.json b/ports/dp-thread-pool/vcpkg.json new file mode 100644 index 00000000000000..626e9dbada18b8 --- /dev/null +++ b/ports/dp-thread-pool/vcpkg.json @@ -0,0 +1,19 @@ +{ + "name": "dp-thread-pool", + "version": "0.6.2", + "port-version": 1, + "maintainers": "Paul Tsouchlos ", + "description": "dp::thread_pool - fast, lightweight C++20 thread pool.", + "homepage": "https://github.com/DeveloperPaul123/thread-pool", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/dpdk/CMakeLists.txt b/ports/dpdk/CMakeLists.txt deleted file mode 100644 index 1952227ae0d65e..00000000000000 --- a/ports/dpdk/CMakeLists.txt +++ /dev/null @@ -1,63 +0,0 @@ -CMAKE_MINIMUM_REQUIRED(VERSION 3.9) -PROJECT(dpdk C) - -LIST(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}") -LIST(APPEND CMAKE_PREFIX_PATH "${CMAKE_SOURCE_DIR}") - -INCLUDE(ProcessorCount) -PROCESSORCOUNT(PROCS) - -#ARCH can be: i686, x86_64, ppc_64, arm64 -#MACHINE can be: native, power8, armv8a -#EXECENV can be: linuxapp, bsdapp -#TOOLCHAIN can be: gcc, icc - -SET(ARCH x86_64) -SET(MACHINE native) -SET(EXECENV linuxapp) -SET(TOOLCHAIN gcc) - -IF (CMAKE_SYSTEM_PROCESSOR MATCHES "^i.86$") - SET(ARCH "i686") -ELSEIF (CMAKE_SYSTEM_PROCESSOR MATCHES "^arm") - SET(MACHINE arm8a) -ELSEIF (CMAKE_SYSTEM_PROCESSOR MATCHES "^(powerpc|ppc)64") - SET(MACHINE power8) - SET(ARCH ppc_64) -ENDIF () - -IF (CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") - SET(EXECENV bsdapp) -ENDIF () - -FIND_PACKAGE(Numa REQUIRED) -FIND_PROGRAM(MAKE make) - -SET(DPDK_CFLAGS "-fPIC") -IF (CMAKE_BUILD_TYPE STREQUAL Debug) - STRING(APPEND ${DPDK_CFLAGS} "-O0 -g") -ENDIF () - -SET(DPDK_TARGET ${ARCH}-${MACHINE}-${EXECENV}-${TOOLCHAIN}) -#SET(DPDK_CONFIG O=${CMAKE_BUILD_TYPE}/build T=${DPDK_TARGET}) -SET(DPDK_CONFIG "T=${DPDK_TARGET}") - -IF (SOURCE_PATH) - SET(CMAKE_SOURCE_DIR ${SOURCE_PATH}) -ENDIF () - -ADD_CUSTOM_TARGET(dpdk-configure - COMMAND ${MAKE} config ${DPDK_CONFIG} - WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/ - VERBATIM - ) - -ADD_CUSTOM_TARGET(dpdk ALL - COMMAND ${MAKE} EXTRA_CFLAGS=\"${DPDK_CFLAGS}\" MAKEFLAGS=\"${DPDK_CONFIG} -j ${PROCS}\" - WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/ - ) - -ADD_DEPENDENCIES(dpdk dpdk-configure) - -INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/build/lib - DESTINATION ${CMAKE_SOURCE_DIR}/${CMAKE_BUILD_TYPE}/) diff --git a/ports/dpdk/FindNuma.cmake b/ports/dpdk/FindNuma.cmake deleted file mode 100644 index d5bb6143559541..00000000000000 --- a/ports/dpdk/FindNuma.cmake +++ /dev/null @@ -1,26 +0,0 @@ -INCLUDE(FindPackageHandleStandardArgs) - -FIND_PATH(NUMA_ROOT_DIR - NAMES include/numa.h - PATHS ENV NUMA_ROOT - DOC "NUMA library root directory") - -FIND_PATH(NUMA_INCLUDE_DIR - NAMES numa.h - HINTS ${NUMA_ROOT_DIR} - PATH_SUFFIXES include - DOC "NUMA include directory") - -FIND_LIBRARY(NUMA_LIBRARY - NAMES numa - HINTS ${NUMA_ROOT_DIR} - DOC "NUMA library file") - -IF (NUMA_LIBRARY) - GET_FILENAME_COMPONENT(NUMA_LIBRARY_DIR ${NUMA_LIBRARY} PATH) - MARK_AS_ADVANCED(NUMA_INCLUDE_DIR NUMA_LIBRARY_DIR NUMA_LIBRARY) - FIND_PACKAGE_HANDLE_STANDARD_ARGS(NUMA REQUIRED_VARS NUMA_ROOT_DIR NUMA_INCLUDE_DIR NUMA_LIBRARY) -ELSE () - SET(NUMA_FOUND FALSE) - MESSAGE(FATAL_ERROR "Numa library not found.\nTry: 'sudo yum install numactl numactl-devel' (or sudo apt-get install libnuma1 libnuma-dev)") -ENDIF () diff --git a/ports/dpdk/dpdkConfig.cmake b/ports/dpdk/dpdkConfig.cmake deleted file mode 100644 index d60265a77bdeec..00000000000000 --- a/ports/dpdk/dpdkConfig.cmake +++ /dev/null @@ -1,31 +0,0 @@ - -FUNCTION(SET_LIBRARY_TARGET NAMESPACE LIB_NAME DEBUG_LIB_FILE_NAME RELEASE_LIB_FILE_NAME INCLUDE_DIR) - ADD_LIBRARY(${NAMESPACE}::${LIB_NAME} STATIC IMPORTED) - SET_TARGET_PROPERTIES(${NAMESPACE}::${LIB_NAME} PROPERTIES - IMPORTED_CONFIGURATIONS "RELEASE;DEBUG" - IMPORTED_LOCATION_RELEASE "${RELEASE_LIB_FILE_NAME}" - IMPORTED_LOCATION_DEBUG "${DEBUG_LIB_FILE_NAME}" - INTERFACE_INCLUDE_DIRECTORIES "${INCLUDE_DIR}" - ) - SET(${NAMESPACE}_${LIB_NAME}_FOUND 1) -ENDFUNCTION() - -GET_FILENAME_COMPONENT(DPDK_ROOT "${CMAKE_CURRENT_LIST_FILE}" PATH) -GET_FILENAME_COMPONENT(DPDK_ROOT "${DPDK_ROOT}" PATH) -GET_FILENAME_COMPONENT(DPDK_ROOT "${DPDK_ROOT}" PATH) - -SET_LIBRARY_TARGET("DPDK" "dpdk" "${DPDK_ROOT}/debug/lib/libdpdk.a" "${DPDK_ROOT}/lib/libdpdk.a" "${DPDK_ROOT}/include/dpdk") - -IF (CMAKE_BUILD_TYPE STREQUAL Debug) - LINK_DIRECTORIES(${DPDK_ROOT}/debug/lib/) -ELSE () - LINK_DIRECTORIES(${DPDK_ROOT}/lib/) -ENDIF () - -FILE(GLOB DPDK_LIBS ${DPDK_ROOT}/lib/librte*.*) -FOREACH (LIB_FILE_NAME ${DPDK_LIBS}) - GET_FILENAME_COMPONENT(LIB_NAME ${LIB_FILE_NAME} NAME_WE) - GET_FILENAME_COMPONENT(FULL_LIB_NAME ${LIB_FILE_NAME} NAME) - STRING(REPLACE "lib" "" LIB_NAME "${LIB_NAME}") - SET_LIBRARY_TARGET("DPDK" "${LIB_NAME}" "${DPDK_ROOT}/debug/lib/${FULL_LIB_NAME}" "${DPDK_ROOT}/lib/${FULL_LIB_NAME}" "${DPDK_ROOT}/include/dpdk") -ENDFOREACH () diff --git a/ports/dpdk/enable-either-static-or-shared-build.patch b/ports/dpdk/enable-either-static-or-shared-build.patch new file mode 100644 index 00000000000000..c3248e892a3128 --- /dev/null +++ b/ports/dpdk/enable-either-static-or-shared-build.patch @@ -0,0 +1,83 @@ +diff --git a/config/meson.build b/config/meson.build +index 9484987..722e114 100644 +--- a/config/meson.build ++++ b/config/meson.build +@@ -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. +-if not is_windows ++if get_option('default_library') == 'static' ++ # skip ++elif not is_windows + meson.add_install_script('../buildtools/symlink-drivers-solibs.sh', + 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 66931d4..65ded2e 100644 +--- a/drivers/meson.build ++++ b/drivers/meson.build +@@ -247,7 +247,7 @@ foreach subpath:subdirs + include_directories: includes, + dependencies: static_deps, + c_args: cflags, +- install: true) ++ install: get_option('default_library') == 'static') + + # now build the shared driver + version_map = '@0@/@1@/version.map'.format(meson.current_source_dir(), drv_path) +@@ -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, +@@ -313,10 +313,13 @@ foreach subpath:subdirs + shared_dep = declare_dependency(link_with: shared_lib, + include_directories: includes, + dependencies: shared_deps) ++ endif + 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 1622877..8ca5780 100644 +--- a/lib/meson.build ++++ b/lib/meson.build +@@ -249,7 +249,7 @@ foreach l:libraries + c_args: cflags, + dependencies: static_deps, + include_directories: includes, +- install: true) ++ install: get_option('default_library') == 'static') + static_dep = declare_dependency( + include_directories: includes, + dependencies: static_deps) +@@ -311,6 +311,7 @@ foreach l:libraries + output: name + '.sym_chk') + endif + ++ if get_option('default_library') == 'shared' + shared_lib = shared_library(libname, + sources, + objects: objs, +@@ -327,6 +328,9 @@ foreach l:libraries + dependencies: shared_deps) + + dpdk_libraries = [shared_lib] + dpdk_libraries ++ else ++ shared_dep = static_dep ++ endif + dpdk_static_libraries = [static_lib] + dpdk_static_libraries + + set_variable('shared_rte_' + name, shared_dep) diff --git a/ports/dpdk/fix-dependencies.patch b/ports/dpdk/fix-dependencies.patch new file mode 100644 index 00000000000000..d1f8cf9402401c --- /dev/null +++ b/ports/dpdk/fix-dependencies.patch @@ -0,0 +1,42 @@ +diff --git a/config/meson.build b/config/meson.build +index 722e114..0eb717b 100644 +--- a/config/meson.build ++++ b/config/meson.build +@@ -234,12 +234,10 @@ if meson.is_cross_build() and not meson.get_cross_property('numa', true) + find_libnuma = false + endif + if find_libnuma +- numa_dep = cc.find_library('numa', required: false) +- if numa_dep.found() and cc.has_header('numaif.h') ++ numa_dep = dependency('numa', method: 'pkg-config') ++ if numa_dep.found() + dpdk_conf.set10('RTE_HAS_LIBNUMA', true) + has_libnuma = true +- add_project_link_arguments('-lnuma', language: 'c') +- dpdk_extra_ldflags += '-lnuma' + endif + endif + +diff --git a/lib/eal/linux/meson.build b/lib/eal/linux/meson.build +index e99ebed..672c705 100644 +--- a/lib/eal/linux/meson.build ++++ b/lib/eal/linux/meson.build +@@ -21,5 +21,6 @@ sources += files( + + deps += ['kvargs', 'telemetry'] + if has_libnuma ++ ext_deps += numa_dep + dpdk_conf.set10('RTE_EAL_NUMA_AWARE_HUGEPAGES', true) + endif +diff --git a/lib/vhost/meson.build b/lib/vhost/meson.build +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 ++ ext_deps += numa_dep + dpdk_conf.set10('RTE_LIBRTE_VHOST_NUMA', true) + endif + if (toolchain == 'gcc' and cc.version().version_compare('>=8.3.0')) diff --git a/ports/dpdk/no-absolute-driver-path.patch b/ports/dpdk/no-absolute-driver-path.patch new file mode 100644 index 00000000000000..5c54a9734dcf9d --- /dev/null +++ b/ports/dpdk/no-absolute-driver-path.patch @@ -0,0 +1,13 @@ +diff --git a/config/meson.build b/config/meson.build +index 7f7b6c92fd..51c3572793 100644 +--- a/config/meson.build ++++ b/config/meson.build +@@ -375,7 +375,7 @@ if not dpdk_conf.has('RTE_MAX_NUMA_NODES') + endif + + # set the install path for the drivers +-dpdk_conf.set_quoted('RTE_EAL_PMD_PATH', eal_pmd_path) ++dpdk_conf.set_quoted('RTE_EAL_PMD_PATH', '') + + install_headers(['rte_config.h'], + subdir: get_option('include_subdir_arch')) diff --git a/ports/dpdk/portfile.cmake b/ports/dpdk/portfile.cmake index 9ac5fa161f3c58..1697ee66a8f18a 100644 --- a/ports/dpdk/portfile.cmake +++ b/ports/dpdk/portfile.cmake @@ -1,43 +1,86 @@ -IF (NOT VCPKG_CMAKE_SYSTEM_NAME OR NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") - MESSAGE(FATAL_ERROR "Intel dpdk currently only supports Linux/BSD platforms") -ENDIF () - -VCPKG_FROM_GITHUB( - OUT_SOURCE_PATH SOURCE_PATH - REPO DPDK/dpdk - REF v19.02 - SHA512 e0cc7081b163b4e264b65c1abb7e0f8aa29211539cecc5cf52986699b800eb4d4f2026377c3048c5c3bd2791e41f21645bb655797a3300740aa83633fb87626e - HEAD_REF master +if(VCPKG_TARGET_IS_LINUX) + execute_process( + COMMAND uname --kernel-release + OUTPUT_VARIABLE KERNEL_VERSION + OUTPUT_STRIP_TRAILING_WHITESPACE) + if(KERNEL_VERSION VERSION_LESS 4.4) + message( + WARNING + " Kernel version requires >= 4.4 on Linux (current version: ${KERNEL_VERSION})\n" + " Building may fail or have functional defects. See\n" + " https://doc.dpdk.org/guides/linux_gsg/sys_reqs.html#system-software" + ) + endif() + + execute_process( + COMMAND sh -c "ldd --version | head -n1 | rev | cut -d' ' -f 1 | rev" + OUTPUT_VARIABLE GLIBC_VERSION + OUTPUT_STRIP_TRAILING_WHITESPACE) + + if(GLIBC_VERSION VERSION_LESS 2.7) + message( + FATAL_ERROR + "glibc version requires >= 2.7 (for features related to cpuset)") + endif() +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO DPDK/dpdk + REF "v${VERSION}" + SHA512 1599ae78228307f612776e43160e8002c71024940813bc655b3e2631bfe3de9a93b09f2d5caae48d3d83e07c48e953838ba45f4965d2eb21d1e7955edbaa7d0d + HEAD_REF main + PATCHES + enable-either-static-or-shared-build.patch + fix-dependencies.patch + remove-examples-src-from-datadir.patch + stop-building-apps.patch + no-absolute-driver-path.patch ) -FIND_PATH(NUMA_INCLUDE_DIR NAME numa.h - PATHS ENV NUMA_ROOT - HINTS $ENV{HOME}/local/include /opt/local/include /usr/local/include /usr/include - ) -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 () - -VCPKG_CONFIGURE_CMAKE( - SOURCE_PATH ${CMAKE_CURRENT_LIST_DIR} - PREFER_NINJA - OPTIONS - -DSOURCE_PATH=${SOURCE_PATH} +macro(append_bool_option feature_name option_name) + if("${feature_name}" IN_LIST FEATURES) + list(APPEND DPDK_OPTIONS -D${option_name}=true) + else() + list(APPEND DPDK_OPTIONS -D${option_name}=false) + endif() +endmacro() + +set(DPDK_OPTIONS "") +append_bool_option("docs" "enable_docs") +append_bool_option("kmods" "enable_kmods") +append_bool_option("tests" "tests") +append_bool_option("trace" "enable_trace_fp") +string(REPLACE "-Denable_docs=true" "-Denable_docs=false" DPDK_OPTIONS_DEBUG "${DPDK_OPTIONS}") + +list(APPEND PYTHON_PACKAGES pyelftools) +if("docs" IN_LIST FEATURES) + list(APPEND PYTHON_PACKAGES packaging sphinx) +endif() +x_vcpkg_get_python_packages(PYTHON_VERSION "3" PACKAGES ${PYTHON_PACKAGES}) + +vcpkg_configure_meson(SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -Ddisable_drivers=regex/cn9k + -Dexamples= + OPTIONS_RELEASE + ${DPDK_OPTIONS} + OPTIONS_DEBUG + ${DPDK_OPTIONS_DEBUG} ) +vcpkg_install_meson() + +set(tools dpdk-devbind.py dpdk-pmdinfo.py dpdk-telemetry.py dpdk-hugepages.py) +vcpkg_copy_tools(TOOL_NAMES ${tools} AUTO_CLEAN) + +vcpkg_fixup_pkgconfig() + +if("docs" IN_LIST FEATURES) + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/share/dpdk") + file(RENAME "${CURRENT_PACKAGES_DIR}/share/doc/dpdk" "${CURRENT_PACKAGES_DIR}/share/dpdk/doc") +endif() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share" "${CURRENT_PACKAGES_DIR}/share/doc") -VCPKG_INSTALL_CMAKE() - -# Headers are symbolic links here, gather all, resolve and copy real files -FILE(GLOB_RECURSE HEADERS FOLLOW_SYMLINKS "${SOURCE_PATH}/build/include/*") -SET(REAL_FILES "") -FOREACH (HEADER ${HEADERS}) - GET_FILENAME_COMPONENT(REAL_FILE "${HEADER}" REALPATH) - LIST(APPEND REAL_FILES "${REAL_FILE}") -ENDFOREACH () - -FILE(INSTALL ${SOURCE_PATH}/Release/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/lib) -FILE(INSTALL ${SOURCE_PATH}/Debug/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) -FILE(INSTALL ${REAL_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include/${PORT}) -FILE(INSTALL ${CMAKE_CURRENT_LIST_DIR}/dpdkConfig.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) -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) +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +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 new file mode 100644 index 00000000000000..4fca27cdbce6a8 --- /dev/null +++ b/ports/dpdk/remove-examples-src-from-datadir.patch @@ -0,0 +1,15 @@ +diff --git a/meson.build b/meson.build +index 8b248d4..c546c62 100644 +--- a/meson.build ++++ b/meson.build +@@ -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') +-install_subdir('examples', +- install_dir: get_option('datadir') + '/dpdk', +- exclude_files: ex_file_excludes) + + # build kernel modules + subdir('kernel') diff --git a/ports/dpdk/stop-building-apps.patch b/ports/dpdk/stop-building-apps.patch new file mode 100644 index 00000000000000..fbf79c0ff5cbc3 --- /dev/null +++ b/ports/dpdk/stop-building-apps.patch @@ -0,0 +1,13 @@ +diff --git a/app/meson.build b/app/meson.build +index 5b2c80c..d3ec534 100644 +--- a/app/meson.build ++++ b/app/meson.build +@@ -52,7 +52,7 @@ endif + + foreach app:apps + name = app +- build = true ++ build = false + reason = '' # set if build == false to explain + sources = [] + includes = [] diff --git a/ports/dpdk/usage b/ports/dpdk/usage index 6ecb606ddb5703..5e058c3a4d8ee5 100644 --- a/ports/dpdk/usage +++ b/ports/dpdk/usage @@ -1,4 +1,6 @@ -The package dpdk is compatible with built-in CMake targets: - - FIND_PACKAGE(dpdk CONFIGURE REQUIRED) - TARGET_LINK_LIBRARIES(main PRIVATE DPDK::dpdk) +The package dpdk can be imported via CMake FindPkgConfig module: + + find_package(PkgConfig) + pkg_check_modules(DPDK REQUIRED IMPORTED_TARGET libdpdk) + + target_link_libraries(main PRIVATE PkgConfig::DPDK) diff --git a/ports/dpdk/vcpkg.json b/ports/dpdk/vcpkg.json index 111defe838e75b..07c5f2f1b44cfb 100644 --- a/ports/dpdk/vcpkg.json +++ b/ports/dpdk/vcpkg.json @@ -1,7 +1,42 @@ { "name": "dpdk", - "version-string": "19.02", - "port-version": 1, + "version-string": "24.07", "description": "A set of libraries and drivers for fast packet processing", - "supports": "linux" + "homepage": "https://www.dpdk.org/", + "documentation": "https://doc.dpdk.org/guides/index.html", + "license": "BSD-3-Clause", + "supports": "linux | freebsd", + "dependencies": [ + { + "name": "libarchive", + "default-features": false + }, + { + "name": "numactl", + "platform": "linux" + }, + "python3", + { + "name": "vcpkg-get-python-packages", + "host": true + }, + { + "name": "vcpkg-tool-meson", + "host": true + } + ], + "features": { + "docs": { + "description": "Build and install docs" + }, + "kmods": { + "description": "Build and install kernel modules" + }, + "tests": { + "description": "Build and install tests" + }, + "trace": { + "description": "Build with fast path traces enabled" + } + } } diff --git a/ports/dpp/portfile.cmake b/ports/dpp/portfile.cmake new file mode 100644 index 00000000000000..3dd80845f39978 --- /dev/null +++ b/ports/dpp/portfile.cmake @@ -0,0 +1,26 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO brainboxdotcc/DPP + REF "v${VERSION}" + SHA512 66ae46cfe31414d857cf5c694836d725ed7f0408615c4f21848fc91320fe35c54dce869268cc9da2db3178be9d02adadbcd6a86d43f49f74e124636a8de749e8 +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + DISABLE_PARALLEL_CONFIGURE +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(NO_PREFIX_CORRECTION) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share/dpp") +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}/LICENSE") + +file(COPY "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/dpp/usage b/ports/dpp/usage new file mode 100644 index 00000000000000..4c9c1b3735c262 --- /dev/null +++ b/ports/dpp/usage @@ -0,0 +1,3 @@ +dpp provides CMake targets: + find_package(dpp CONFIG REQUIRED) + target_link_libraries(main PRIVATE dpp::dpp) diff --git a/ports/dpp/vcpkg.json b/ports/dpp/vcpkg.json new file mode 100644 index 00000000000000..5e01ecfa21262e --- /dev/null +++ b/ports/dpp/vcpkg.json @@ -0,0 +1,22 @@ +{ + "name": "dpp", + "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": [ + "nlohmann-json", + "openssl", + "opus", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "zlib" + ] +} diff --git a/ports/draco/disable-symlinks.patch b/ports/draco/disable-symlinks.patch index 62221b9830dbde..df39449e23c127 100644 --- a/ports/draco/disable-symlinks.patch +++ b/ports/draco/disable-symlinks.patch @@ -1,31 +1,29 @@ diff --git a/cmake/draco_targets.cmake b/cmake/draco_targets.cmake -index f2acc72..fb8ce4a 100644 +index c8c79f5..1cec5b8 100644 --- a/cmake/draco_targets.cmake +++ b/cmake/draco_targets.cmake -@@ -102,10 +102,6 @@ macro(draco_add_executable) +@@ -111,9 +111,6 @@ macro(draco_add_executable) - add_executable(${exe_NAME} ${exe_SOURCES}) + target_compile_features(${exe_NAME} PUBLIC cxx_std_11) - if(NOT EMSCRIPTEN) - set_target_properties(${exe_NAME} PROPERTIES VERSION ${DRACO_VERSION}) - endif() -- + if(exe_OUTPUT_NAME) set_target_properties(${exe_NAME} PROPERTIES OUTPUT_NAME ${exe_OUTPUT_NAME}) - endif() -@@ -337,15 +333,6 @@ macro(draco_add_library) +@@ -364,14 +361,6 @@ macro(draco_add_library) set_target_properties(${lib_NAME} PROPERTIES PREFIX "") endif() - if(NOT EMSCRIPTEN) - # VERSION and SOVERSION as necessary - if((lib_TYPE STREQUAL BUNDLE OR lib_TYPE STREQUAL SHARED) AND NOT MSVC) -- set_target_properties(${lib_NAME} -- PROPERTIES VERSION ${DRACO_SOVERSION} SOVERSION -- ${DRACO_SOVERSION_MAJOR}) +- set_target_properties( +- ${lib_NAME} PROPERTIES VERSION ${DRACO_SOVERSION} +- SOVERSION ${DRACO_SOVERSION_MAJOR}) - endif() - endif() -- + if(BUILD_SHARED_LIBS AND (MSVC OR WIN32)) if(lib_TYPE STREQUAL SHARED) - target_compile_definitions(${lib_NAME} PRIVATE "DRACO_BUILDING_DLL=1") diff --git a/ports/draco/fix-compile-error-uwp.patch b/ports/draco/fix-compile-error-uwp.patch index 63f672d816f7fc..ca68cb5986e585 100644 --- a/ports/draco/fix-compile-error-uwp.patch +++ b/ports/draco/fix-compile-error-uwp.patch @@ -1,5 +1,19 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a93267d..3a3ccf7 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -85,6 +85,9 @@ draco_set_cxx_flags() + draco_set_exe_linker_flags() + draco_generate_features_h() + ++if (MSVC) ++ add_compile_options(/wd4996) ++endif() + # Draco source file listing variables. + list( + APPEND draco_attributes_sources diff --git a/src/draco/io/parser_utils.cc b/src/draco/io/parser_utils.cc -index 6e42a58..3c302b9 100644 +index 378de73..be7e032 100644 --- a/src/draco/io/parser_utils.cc +++ b/src/draco/io/parser_utils.cc @@ -152,7 +152,9 @@ bool ParseSignedInt(DecoderBuffer *buffer, int32_t *value) { @@ -13,18 +27,3 @@ index 6e42a58..3c302b9 100644 return true; } -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 7e79da7..c4d9880 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -70,6 +70,10 @@ draco_set_build_definitions() - draco_set_cxx_flags() - draco_generate_features_h() - -+if (MSVC) -+ add_compile_options(/wd4996) -+endif() -+ - # Draco source file listing variables. - list(APPEND draco_attributes_sources - "${draco_src_root}/attributes/attribute_octahedron_transform.cc" diff --git a/ports/draco/fix-pkgconfig.patch b/ports/draco/fix-pkgconfig.patch new file mode 100644 index 00000000000000..b4e3f2100907e6 --- /dev/null +++ b/ports/draco/fix-pkgconfig.patch @@ -0,0 +1,13 @@ +diff --git a/cmake/draco.pc.template b/cmake/draco.pc.template +index 050219c..2886bfc 100644 +--- a/cmake/draco.pc.template ++++ b/cmake/draco.pc.template +@@ -1,6 +1,6 @@ + Name: @PROJECT_NAME@ + Description: Draco geometry de(com)pression library. + Version: @DRACO_VERSION@ +-Cflags: -I@includes_path@ +-Libs: -L@libs_path@ -ldraco ++Cflags: -I@CMAKE_INSTALL_FULL_INCLUDEDIR@ ++Libs: -L@CMAKE_INSTALL_FULL_LIBDIR@ -ldraco + Libs.private: @CMAKE_THREAD_LIBS_INIT@ 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 bde70c6645538c..82c5eb59e4976e 100644 --- a/ports/draco/portfile.cmake +++ b/ports/draco/portfile.cmake @@ -1,38 +1,39 @@ -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/draco - REF 1.4.3 - SHA512 f2220d5e84a4ca2d14c6bbc3dca0a2ed5c988849d3a98ce3dea910efe005e0ccdff06677d782cdb1673db9e158905aa91a9305432dc5621e8947b2d90f5996d3 + REF "${VERSION}" + 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) +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") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") vcpkg_copy_pdbs() -# 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/draco/vcpkg.json b/ports/draco/vcpkg.json index 288be5537a01b7..d248165a9dd6b7 100644 --- a/ports/draco/vcpkg.json +++ b/ports/draco/vcpkg.json @@ -1,8 +1,9 @@ { "name": "draco", - "version": "1.4.3", + "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", "dependencies": [ { "name": "vcpkg-cmake", 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/drlibs/portfile.cmake b/ports/drlibs/portfile.cmake index 5e4fa4419a6a01..5fd271a22f28b6 100644 --- a/ports/drlibs/portfile.cmake +++ b/ports/drlibs/portfile.cmake @@ -2,8 +2,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO mackron/dr_libs - REF f13cbcfd06afe7287f99b1bb5982cefdf3d6a974 - SHA512 c108db409389f912bdcb979bc0dfe31658b8bcd7ce327145a77bdb9a168512e2c1a94cb59677b5d6bfa213e412498360a8ec25d5424bb2ba292edaf88bf5f195 + REF d35a3bc5efd02455d98cbe12b94647136f09b42d + SHA512 34126c8eb65f0735b77f058db9f1618b3c4e820698804b47f7a629c47df571e9cbbeefd4cce193409ebd715d37ed5faf1c3c27a7240e0f5418089cffe853f1ea HEAD_REF master ) @@ -11,5 +11,4 @@ vcpkg_from_github( file(GLOB HEADER_FILES "${SOURCE_PATH}/*.h") file(COPY ${HEADER_FILES} DESTINATION "${CURRENT_PACKAGES_DIR}/include") -# Put the licence file where vcpkg expects it -configure_file("${SOURCE_PATH}/LICENSE" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/drlibs/vcpkg.json b/ports/drlibs/vcpkg.json index 73a1cb4e2f3cfc..4ee6e5f3c34b4b 100644 --- a/ports/drlibs/vcpkg.json +++ b/ports/drlibs/vcpkg.json @@ -1,6 +1,7 @@ { "name": "drlibs", - "version-date": "2021-11-02", + "version-date": "2023-08-16", "description": "Single-file audio decoding libraries for C/C++", - "homepage": "https://github.com/mackron/dr_libs" + "homepage": "https://github.com/mackron/dr_libs", + "license": "Unlicense OR MIT-0" } diff --git a/ports/drogon/0001-vcpkg.patch b/ports/drogon/0001-vcpkg.patch new file mode 100644 index 00000000000000..a4f4631122519f --- /dev/null +++ b/ports/drogon/0001-vcpkg.patch @@ -0,0 +1,29 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index fbe2288..d7218a6 100755 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -367,11 +367,10 @@ endif (NOT WIN32) + + if (BUILD_POSTGRESQL) + # find postgres +- find_package(pg) +- if (pg_FOUND) +- message(STATUS "libpq inc path:" ${PG_INCLUDE_DIRS}) +- message(STATUS "libpq lib:" ${PG_LIBRARIES}) +- target_link_libraries(${PROJECT_NAME} PRIVATE pg_lib) ++ find_package(PostgreSQL REQUIRED) ++ if(PostgreSQL_FOUND) ++ set(pg_FOUND true) ++ target_link_libraries(${PROJECT_NAME} PRIVATE PostgreSQL::PostgreSQL) + set(DROGON_SOURCES + ${DROGON_SOURCES} + orm_lib/src/postgresql_impl/PostgreSQLResultImpl.cc +@@ -401,7 +400,7 @@ if (BUILD_POSTGRESQL) + ${private_headers} + orm_lib/src/postgresql_impl/PgConnection.h) + endif (libpq_supports_batch) +- endif (pg_FOUND) ++ endif (PostgreSQL_FOUND) + endif (BUILD_POSTGRESQL) + + if (BUILD_MYSQL) diff --git a/ports/drogon/drogon_config.patch b/ports/drogon/0002-drogon-config.patch similarity index 100% rename from ports/drogon/drogon_config.patch rename to ports/drogon/0002-drogon-config.patch diff --git a/ports/drogon/0003-deps-redis.patch b/ports/drogon/0003-deps-redis.patch new file mode 100644 index 00000000000000..be59e49d18bcee --- /dev/null +++ b/ports/drogon/0003-deps-redis.patch @@ -0,0 +1,30 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d7218a6..ccd08cb 100755 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -467,10 +467,10 @@ if (BUILD_SQLITE) + endif (BUILD_SQLITE) + + if (BUILD_REDIS) +- find_package(Hiredis) ++ find_package(Hiredis NAMES hiredis CONFIG REQUIRED) + if (Hiredis_FOUND) + add_definitions(-DUSE_REDIS) +- target_link_libraries(${PROJECT_NAME} PRIVATE Hiredis_lib) ++ target_link_libraries(${PROJECT_NAME} PRIVATE hiredis::hiredis) + set(DROGON_SOURCES + ${DROGON_SOURCES} + nosql_lib/redis/src/RedisClientImpl.cc +diff --git a/cmake/templates/DrogonConfig.cmake.in b/cmake/templates/DrogonConfig.cmake.in +index 48eb393..9a9742e 100644 +--- a/cmake/templates/DrogonConfig.cmake.in ++++ b/cmake/templates/DrogonConfig.cmake.in +@@ -38,7 +38,7 @@ if(@COZ-PROFILER_FOUND@) + find_dependency(coz-profiler) + endif() + if(@Hiredis_FOUND@) +-find_dependency(Hiredis) ++find_dependency(hiredis CONFIG) + endif() + if(@yaml-cpp_FOUND@) + find_dependency(yaml-cpp) diff --git a/ports/drogon/0004-drogon-ctl.patch b/ports/drogon/0004-drogon-ctl.patch new file mode 100644 index 00000000000000..5672f25b6448bb --- /dev/null +++ b/ports/drogon/0004-drogon-ctl.patch @@ -0,0 +1,30 @@ +diff --git a/cmake/DrogonUtilities.cmake b/cmake/DrogonUtilities.cmake +index 7cb9799..5462572 100644 +--- a/cmake/DrogonUtilities.cmake ++++ b/cmake/DrogonUtilities.cmake +@@ -3,6 +3,7 @@ + # [TRUE to use_path_as_namespace] [prefixed namespace]) + # ############################################################################## + function(drogon_create_views arg) ++ find_program(DROGON_CTL_COMMAND drogon_ctl REQUIRED) + if(ARGC LESS 3) + message(STATUS "arguments error when calling drogon_create_views") + return() +@@ -39,7 +40,7 @@ function(drogon_create_views arg) + set(ns "") + endif() + add_custom_command(OUTPUT ${ARGV2}/${outputFile}.h ${ARGV2}/${outputFile}.cc +- COMMAND drogon_ctl ++ COMMAND ${DROGON_CTL_COMMAND} + ARGS + create + view +@@ -55,7 +56,7 @@ function(drogon_create_views arg) + else() + get_filename_component(classname ${cspFile} NAME_WE) + add_custom_command(OUTPUT ${ARGV2}/${classname}.h ${ARGV2}/${classname}.cc +- COMMAND drogon_ctl ++ COMMAND ${DROGON_CTL_COMMAND} + ARGS + create + view diff --git a/ports/drogon/0005-drogon-cross-compile.patch b/ports/drogon/0005-drogon-cross-compile.patch new file mode 100644 index 00000000000000..2a7dd8589b9701 --- /dev/null +++ b/ports/drogon/0005-drogon-cross-compile.patch @@ -0,0 +1,25 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c36d29a2..437e5d73 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -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 04b790d3..854f7139 100755 +--- a/drogon_ctl/CMakeLists.txt ++++ b/drogon_ctl/CMakeLists.txt +@@ -43,7 +43,7 @@ foreach(cspFile ${SCP_LIST}) + get_filename_component(classname ${cspFile} NAME_WE) + message(STATUS "view classname:" ${classname}) + add_custom_command(OUTPUT ${classname}.h ${classname}.cc +- COMMAND $ ++ COMMAND $,${DROGON_CTL_TOOL},$> + ARGS + create + view diff --git a/ports/drogon/Fix-Drogon-not-building-caused-by-FindFilesystem-105.patch b/ports/drogon/Fix-Drogon-not-building-caused-by-FindFilesystem-105.patch deleted file mode 100644 index 70adbe2ea73a02..00000000000000 --- a/ports/drogon/Fix-Drogon-not-building-caused-by-FindFilesystem-105.patch +++ /dev/null @@ -1,58 +0,0 @@ -From e2eb67478157bbdf5ff91ca5dea2f9435af4488f Mon Sep 17 00:00:00 2001 -From: Martin Chang -Date: Thu, 21 Oct 2021 19:43:53 +0800 -Subject: [PATCH] Fix Drogon not building caused by FindFilesystem (#1056) - -* fix FindFilesystem not using the correct header for printf - -* fix FS not found on Yocto ---- - CMakeLists.txt | 6 +++++- - cmake_modules/FindFilesystem.cmake | 7 ++++++- - 2 files changed, 11 insertions(+), 2 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 0b2b8d4..3f929a4 100755 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -191,7 +191,11 @@ if(NEED_BOOST_FS) - option(HAS_STD_FILESYSTEM_PATH "use boost::filesystem" OFF) - else() - option(HAS_STD_FILESYSTEM_PATH "use std::filesystem" ON) -- target_link_libraries(${PROJECT_NAME} PUBLIC std::filesystem) -+ # HACK: Needed to be compiled on Yocto Linux -+ get_property(CAN_LINK_FS TARGET std::filesystem PROPERTY INTERFACE_LINK_LIBRARIES DEFINED) -+ if ( CAN_LINK_FS ) -+ target_link_libraries(${PROJECT_NAME} PUBLIC std::filesystem) -+ endif() - endif() - - # jsoncpp -diff --git a/cmake_modules/FindFilesystem.cmake b/cmake_modules/FindFilesystem.cmake -index c8d9a57..73dd763 100644 ---- a/cmake_modules/FindFilesystem.cmake -+++ b/cmake_modules/FindFilesystem.cmake -@@ -194,7 +194,7 @@ set(_found FALSE) - if(CXX_FILESYSTEM_HAVE_FS) - # We have some filesystem library available. Do link checks - string(CONFIGURE [[ -- #include -+ #include - #include <@CXX_FILESYSTEM_HEADER@> - - int main() { -@@ -204,6 +204,11 @@ if(CXX_FILESYSTEM_HAVE_FS) - } - ]] code @ONLY) - -+ # HACK: Needed to compile correctly on Yocto Linux -+ if(CMAKE_CXX_COMPILER_ID STREQUAL "GCC" OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang" -+ OR CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang") -+ set(CMAKE_REQUIRED_FLAGS ${prev_req_flags} -std=c++17) -+ endif () - # Check a simple filesystem program without any linker flags - _cmcm_check_cxx_source("${code}" CXX_FILESYSTEM_NO_LINK_NEEDED) - --- -2.33.0 - diff --git a/ports/drogon/portfile.cmake b/ports/drogon/portfile.cmake index fcb2dc25d7ac2e..deabcecae9ec01 100644 --- a/ports/drogon/portfile.cmake +++ b/ports/drogon/portfile.cmake @@ -1,16 +1,22 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO an-tao/drogon - REF v1.7.3 - SHA512 20146bf59898704f3b44778fa46e919d9124ef8a33eb1cfcce7f437507c20920829a0074e1c9e2493a1764b8a36b1a91b03f117fd78e740253b15d2146dca628 + REF "v${VERSION}" + SHA512 6970705a4b875361e79001ab02789a2c02ef301fcb04b1149e59eb8060a4eeff0ea12f7909819ac7c0e02568fb4989792017e820593c3e5eb53a30ab9fac4b0c HEAD_REF master PATCHES - vcpkg.patch - drogon_config.patch - static-brotli.patch - Fix-Drogon-not-building-caused-by-FindFilesystem-105.patch + 0001-vcpkg.patch + 0002-drogon-config.patch + 0003-deps-redis.patch + 0004-drogon-ctl.patch + 0005-drogon-cross-compile.patch ) +set(DROGON_CTL_TOOL "") +if(VCPKG_CROSSCOMPILING) + set(DROGON_CTL_TOOL "${CURRENT_HOST_INSTALLED_DIR}/tools/drogon/drogon_ctl${VCPKG_HOST_EXECUTABLE_SUFFIX}") +endif() + vcpkg_check_features( OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES @@ -21,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) @@ -29,9 +36,11 @@ vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" DISABLE_PARALLEL_CONFIGURE OPTIONS - -DBUILD_DROGON_SHARED=${BUILD_DROGON_SHARED} + -DBUILD_SHARED_LIBS=${BUILD_DROGON_SHARED} -DBUILD_EXAMPLES=OFF -DCMAKE_DISABLE_FIND_PACKAGE_Boost=ON + -DUSE_SUBMODULE=OFF + "-DDROGON_CTL_TOOL=${DROGON_CTL_TOOL}" ${FEATURE_OPTIONS} MAYBE_UNUSED_VARIABLES CMAKE_DISABLE_FIND_PACKAGE_Boost @@ -56,7 +65,7 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") endif() -# Handle copyright +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) # Copy pdb files diff --git a/ports/drogon/static-brotli.patch b/ports/drogon/static-brotli.patch deleted file mode 100644 index a44a40cc59ebd9..00000000000000 --- a/ports/drogon/static-brotli.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/cmake_modules/FindBrotli.cmake b/cmake_modules/FindBrotli.cmake -index da5b6d2..6b631ab 100755 ---- a/cmake_modules/FindBrotli.cmake -+++ b/cmake_modules/FindBrotli.cmake -@@ -23,9 +23,9 @@ include(FindPackageHandleStandardArgs) - - find_path(BROTLI_INCLUDE_DIR "brotli/decode.h") - --find_library(BROTLICOMMON_LIBRARY NAMES brotlicommon) --find_library(BROTLIDEC_LIBRARY NAMES brotlidec) --find_library(BROTLIENC_LIBRARY NAMES brotlienc) -+find_library(BROTLICOMMON_LIBRARY NAMES brotlicommon brotlicommon-static) -+find_library(BROTLIDEC_LIBRARY NAMES brotlidec brotlidec-static) -+find_library(BROTLIENC_LIBRARY NAMES brotlienc brotlienc-static) - - find_package_handle_standard_args(Brotli - REQUIRED_VARS diff --git a/ports/drogon/usage b/ports/drogon/usage new file mode 100644 index 00000000000000..7887e3474216ff --- /dev/null +++ b/ports/drogon/usage @@ -0,0 +1,4 @@ +The package drogon provides CMake targets: + + find_package(Drogon CONFIG REQUIRED) + target_link_libraries(main PRIVATE Drogon::Drogon) diff --git a/ports/drogon/vcpkg.json b/ports/drogon/vcpkg.json index 7130dca81141d5..777348260236aa 100644 --- a/ports/drogon/vcpkg.json +++ b/ports/drogon/vcpkg.json @@ -1,16 +1,17 @@ { "name": "drogon", - "version-semver": "1.7.3", + "version-semver": "1.9.7", "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/", "license": "MIT", + "supports": "!uwp", "dependencies": [ "brotli", "jsoncpp", { "name": "libuuid", - "platform": "!windows" + "platform": "!windows & !osx" }, "trantor", { @@ -25,7 +26,17 @@ ], "features": { "ctl": { - "description": "Build drogon_ctl tool." + "description": "Build drogon_ctl tool.", + "dependencies": [ + { + "name": "drogon", + "host": true, + "default-features": false, + "features": [ + "ctl" + ] + } + ] }, "mysql": { "description": "Support reading and writing from/to MySQL databases.", @@ -72,7 +83,8 @@ "features": [ "orm" ] - } + }, + "hiredis" ] }, "sqlite3": { @@ -86,6 +98,12 @@ }, "sqlite3" ] + }, + "yaml": { + "description": "Support YAML Drogon configuration files", + "dependencies": [ + "yaml-cpp" + ] } } } diff --git a/ports/drogon/vcpkg.patch b/ports/drogon/vcpkg.patch deleted file mode 100644 index 489acd938926ab..00000000000000 --- a/ports/drogon/vcpkg.patch +++ /dev/null @@ -1,52 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -120,9 +120,9 @@ if (WIN32) - PRIVATE $) - endif (WIN32) - --add_subdirectory(trantor) -+find_package(Trantor CONFIG REQUIRED) - --target_link_libraries(${PROJECT_NAME} PUBLIC trantor) -+target_link_libraries(${PROJECT_NAME} PUBLIC Trantor::Trantor) - - if(${CMAKE_SYSTEM_NAME} STREQUAL "Haiku") - target_link_libraries(${PROJECT_NAME} PRIVATE network) -@@ -316,11 +316,10 @@ endif (NOT WIN32) - - if (BUILD_POSTGRESQL) - # find postgres -- find_package(pg) -- if (pg_FOUND) -- message(STATUS "libpq inc path:" ${PG_INCLUDE_DIRS}) -- message(STATUS "libpq lib:" ${PG_LIBRARIES}) -- target_link_libraries(${PROJECT_NAME} PRIVATE pg_lib) -+ find_package(PostgreSQL REQUIRED) -+ if(PostgreSQL_FOUND) -+ set(pg_FOUND true) -+ target_link_libraries(${PROJECT_NAME} PRIVATE PostgreSQL::PostgreSQL) - set(DROGON_SOURCES - ${DROGON_SOURCES} - orm_lib/src/postgresql_impl/PostgreSQLResultImpl.cc) -@@ -348,7 +348,7 @@ if (BUILD_POSTGRESQL) - ${private_headers} - orm_lib/src/postgresql_impl/PgConnection.h) - endif (libpq_supports_batch) -- endif (pg_FOUND) -+ endif (PostgreSQL_FOUND) - endif (BUILD_POSTGRESQL) - - if (BUILD_MYSQL) -diff --git a/drogon_ctl/CMakeLists.txt b/drogon_ctl/CMakeLists.txt ---- a/drogon_ctl/CMakeLists.txt -+++ b/drogon_ctl/CMakeLists.txt -@@ -19,7 +19,7 @@ add_executable(_drogon_ctl - target_link_libraries(_drogon_ctl ${PROJECT_NAME}) - if (WIN32 AND BUILD_DROGON_SHARED) - set(DROGON_FILE $) -- set(TRANTOR_FILE $) -+ set(TRANTOR_FILE $) - add_custom_command(TARGET _drogon_ctl POST_BUILD - COMMAND ${CMAKE_COMMAND} - -DCTL_FILE=${DROGON_FILE} diff --git a/ports/dstorage/dstorage-config.cmake.in b/ports/dstorage/dstorage-config.cmake.in new file mode 100644 index 00000000000000..a84ba21f73dacb --- /dev/null +++ b/ports/dstorage/dstorage-config.cmake.in @@ -0,0 +1,33 @@ + +get_filename_component(_dstorage_root "${CMAKE_CURRENT_LIST_FILE}" PATH) +get_filename_component(_dstorage_root "${_dstorage_root}" PATH) +get_filename_component(_dstorage_root "${_dstorage_root}" PATH) + +set(_dstorage_root_lib "${_dstorage_root}/lib/dstorage.lib") +if (EXISTS "${_dstorage_root_lib}") + + add_library(Microsoft::DirectStorage SHARED IMPORTED) + set_target_properties(Microsoft::DirectStorage PROPERTIES + IMPORTED_LOCATION "${_dstorage_root}/bin/dstorage.dll" + IMPORTED_IMPLIB "${_dstorage_root_lib}" + INTERFACE_INCLUDE_DIRECTORIES "${_dstorage_root}/include" + IMPORTED_LINK_INTERFACE_LANGUAGES "C") + + add_library(Microsoft::DirectStorageCore SHARED IMPORTED) + set_target_properties(Microsoft::DirectStorageCore PROPERTIES + IMPORTED_LOCATION "${_dstorage_root}/bin/dstoragecore.dll" + IMPORTED_IMPLIB "${_dstorage_root_lib}" + IMPORTED_LINK_INTERFACE_LANGUAGES "C") + + target_link_libraries(Microsoft::DirectStorage INTERFACE Microsoft::DirectStorageCore) + + set(dstorage_FOUND TRUE) + +else() + + set(dstorage_FOUND FALSE) + +endif() + +unset(_dstorage_root_lib) +unset(_dstorage_root) diff --git a/ports/dstorage/portfile.cmake b/ports/dstorage/portfile.cmake new file mode 100644 index 00000000000000..92d3c1f34898ae --- /dev/null +++ b/ports/dstorage/portfile.cmake @@ -0,0 +1,39 @@ +# Set VCPKG_POLICY_DLLS_IN_STATIC_LIBRARY instead of using `vcpkg_check_linkage` because +# these DLLs don't link with a CRT. +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 7d457f314d8ab61832d60dc8a6b1b7f7ab76a8ba89cdf5a2f80ccd34ec6a2b792058d1e1710284625c6803431d5a220b72fdfb87045cbd3d293884d87d6b2846 +) + +vcpkg_extract_source_archive( + PACKAGE_PATH + ARCHIVE ${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/${DS_ARCH}/dstorage.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/lib") + +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 "${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 new file mode 100644 index 00000000000000..198f8de51b4a96 --- /dev/null +++ b/ports/dstorage/vcpkg.json @@ -0,0 +1,10 @@ +{ + "name": "dstorage", + "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 & !arm32 & !uwp & !xbox" +} diff --git a/ports/dtl/portfile.cmake b/ports/dtl/portfile.cmake index d36e30760eda63..66134173577098 100644 --- a/ports/dtl/portfile.cmake +++ b/ports/dtl/portfile.cmake @@ -4,12 +4,12 @@ include(CMakePackageConfigHelpers) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO cubicdaiya/dtl - REF v1.19 - SHA512 77c767451b1b78ce49085da6ff5bb8a23c96dec56a37d96ef357a6b69a1b2cd45e2c6c4e8f91ee34ca080ce03a26518c478ff207309326a4bc7e729eaa2824b2 + REF "v${VERSION}" + SHA512 53a448ce499d96c5030ff787db68dd4cb52ee9686453da81aeb5c143e21d4a10fcc4c9b88ebf86d71824cb919d6e4ebf39df52b74bd9333f411935e5f23bfa86 HEAD_REF master ) -file(INSTALL ${SOURCE_PATH}/dtl - DESTINATION ${CURRENT_PACKAGES_DIR}/include) -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION - ${CURRENT_PACKAGES_DIR}/share/dtl RENAME copyright) +file(INSTALL "${SOURCE_PATH}/${PORT}" + DESTINATION "${CURRENT_PACKAGES_DIR}/include") +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION + "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/dtl/vcpkg.json b/ports/dtl/vcpkg.json index d4a6964742dfb3..c37c61321db9dd 100644 --- a/ports/dtl/vcpkg.json +++ b/ports/dtl/vcpkg.json @@ -1,6 +1,6 @@ { "name": "dtl", - "version-string": "1.19", - "port-version": 1, - "description": "Diff template library" + "version": "1.21", + "description": "Diff template library", + "license": "BSD-4-Clause" } diff --git a/ports/duckx/fix_dependencies.patch b/ports/duckx/fix_dependencies.patch new file mode 100644 index 00000000000000..c48daacb0e0172 --- /dev/null +++ b/ports/duckx/fix_dependencies.patch @@ -0,0 +1,66 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f45218659..1ec4250c0 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -9,9 +9,11 @@ endif() + option(BUILD_SHARED_LIBS "Build shared instead of static library" OFF) + option(BUILD_SAMPLE "Build provided sample" OFF) + +-set(HEADERS src/duckx.hpp src/zip.h src/miniz.h +- src/pugixml.hpp src/pugiconfig.hpp) +-set(SOURCES src/duckx.cpp src/zip.c src/pugixml.cpp) ++find_package(libzip REQUIRED) ++find_package(pugixml REQUIRED) ++ ++set(HEADERS src/duckx.hpp) ++set(SOURCES src/duckx.cpp) + + if(BUILD_SHARED_LIBS) + add_library(duckx SHARED ${HEADERS} ${SOURCES}) +@@ -19,6 +21,8 @@ else() + add_library(duckx STATIC ${HEADERS} ${SOURCES}) + endif() + ++target_link_libraries(duckx PUBLIC libzip::zip pugixml::pugixml) ++ + add_library(duckx::duckx ALIAS duckx) + + target_include_directories(duckx PUBLIC +@@ -38,12 +42,22 @@ endif() + include(GNUInstallDirs) + install( + TARGETS duckx +- EXPORT duckxConfig ++ EXPORT duckxTargets + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${INSTALL_SUFFIX} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${INSTALL_SUFFIX} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + ) +-install(EXPORT duckxConfig NAMESPACE duckx:: DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/duckx) ++install(EXPORT duckxTargets NAMESPACE duckx:: DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/duckx) ++include(CMakePackageConfigHelpers) ++configure_package_config_file("${CMAKE_CURRENT_SOURCE_DIR}/duckxConfig.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/duckxConfig.cmake" ++ INSTALL_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/duckx" ++ NO_SET_AND_CHECK_MACRO ++ NO_CHECK_REQUIRED_COMPONENTS_MACRO) ++write_basic_package_version_file("${CMAKE_CURRENT_BINARY_DIR}/duckxConfigVersion.cmake" COMPATIBILITY ExactVersion) ++install(FILES "${CMAKE_CURRENT_BINARY_DIR}/duckxConfig.cmake" ++ "${CMAKE_CURRENT_BINARY_DIR}/duckxConfigVersion.cmake" ++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/duckx") ++ + install(FILES ${HEADERS} DESTINATION include) + + +diff --git a/duckxConfig.cmake.in b/duckxConfig.cmake.in +new file mode 100644 +index 000000000..960b03b3b +--- /dev/null ++++ b/duckxConfig.cmake.in +@@ -0,0 +1,6 @@ ++@PACKAGE_INIT@ ++ ++include(CMakeFindDependencyMacro) ++find_dependency(libzip) ++find_dependency(pugixml) ++include("${CMAKE_CURRENT_LIST_DIR}/duckxTargets.cmake") +\ No newline at end of file diff --git a/ports/duckx/portfile.cmake b/ports/duckx/portfile.cmake index be1170ea35a434..9ee068c1b0667c 100644 --- a/ports/duckx/portfile.cmake +++ b/ports/duckx/portfile.cmake @@ -1,18 +1,26 @@ +if (VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO amiremohamadi/DuckX - REF v1.0.0 - SHA512 21db28f5c62a5695363cb844ce0ca45057433dd622dad44278459dd0582c92a8ca98d8bf597955426636ad31776abdcfdbe51a7fbfe256cfa8adcb8a2fd9410d + REF v1.2.2 + SHA512 3f1e626973b4638adaffcc0a20f59791f3a70abda1d2d09fddca9312014cef86d097f24873e74ef58c775b27c71a637e44f340da01a301b00ef334600bd412d6 + PATCHES fix_dependencies.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_TESTING=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/duckx) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(COPY ${SOURCE_PATH}/README.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/duckx) -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/duckx RENAME copyright) +file(COPY "${SOURCE_PATH}/README.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/duckx/vcpkg.json b/ports/duckx/vcpkg.json index f38749088ba67a..36de4bea712197 100644 --- a/ports/duckx/vcpkg.json +++ b/ports/duckx/vcpkg.json @@ -1,7 +1,20 @@ { "name": "duckx", - "version-string": "1.0.0", + "version": "1.2.2", "port-version": 1, "description": "DuckX is a library for creation of Office docx files.", - "homepage": "https://github.com/amiremohamadi/DuckX" + "homepage": "https://github.com/amiremohamadi/DuckX", + "license": "MIT", + "dependencies": [ + "libzip", + "pugixml", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/duilib/portfile.cmake b/ports/duilib/portfile.cmake index 272691914c7bc0..06d536cfa3d4fa 100644 --- a/ports/duilib/portfile.cmake +++ b/ports/duilib/portfile.cmake @@ -12,26 +12,25 @@ vcpkg_from_github( "enable-unicode-for-vcpkg.patch" ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH}/DuiLib - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/DuiLib" NO_CHARSET_FLAG ) -vcpkg_build_cmake() +vcpkg_cmake_build() -file(INSTALL ${SOURCE_PATH}/DuiLib DESTINATION ${CURRENT_PACKAGES_DIR}/include FILES_MATCHING PATTERN *.h) +file(INSTALL "${SOURCE_PATH}/DuiLib" DESTINATION "${CURRENT_PACKAGES_DIR}/include" FILES_MATCHING PATTERN *.h) 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) + 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") 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) + 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") endif() -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +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 6c08b75db2ad4b..3c9946e1cdc77f 100644 --- a/ports/duilib/vcpkg.json +++ b/ports/duilib/vcpkg.json @@ -1,7 +1,14 @@ { "name": "duilib", - "version-string": "2019-4-28", - "port-version": 4, + "version-date": "2019-04-28", + "port-version": 5, "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" + "homepage": "https://github.com/duilib/duilib", + "supports": "windows & !uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/dukglue/portfile.cmake b/ports/dukglue/portfile.cmake new file mode 100644 index 00000000000000..412e2fa065a3a2 --- /dev/null +++ b/ports/dukglue/portfile.cmake @@ -0,0 +1,11 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Aloshi/dukglue + REF c3ec2a463a03a4fa34715aa75273537d39900edb #2022-11-08 + HEAD_REF master + SHA512 60bf0274113fa7d547ed2890268782176c507ab0b7ea601362640bb2d4d637ce013a4dabeffbd8a82ed672b2de7778355b6e79642d70cfc2c1f1cf2c2fd9f6c1 +) + +file(COPY "${SOURCE_PATH}/include/dukglue" DESTINATION "${CURRENT_PACKAGES_DIR}/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.md") diff --git a/ports/dukglue/vcpkg.json b/ports/dukglue/vcpkg.json new file mode 100644 index 00000000000000..c18249e9879522 --- /dev/null +++ b/ports/dukglue/vcpkg.json @@ -0,0 +1,10 @@ +{ + "name": "dukglue", + "version-date": "2022-11-08", + "description": "A C++ binding/wrapper library for the Duktape JavaScript interpreter.", + "homepage": "https://github.com/Aloshi/dukglue", + "license": "MIT", + "dependencies": [ + "duktape" + ] +} diff --git a/ports/duktape/CMakeLists.txt b/ports/duktape/CMakeLists.txt index 746aaa910b70d0..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 4) -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 abdc8aa1d7ce23..f4e3a9f9599d1f 100644 --- a/ports/duktape/portfile.cmake +++ b/ports/duktape/portfile.cmake @@ -1,76 +1,37 @@ -if(VCPKG_TARGET_IS_LINUX) - message("${PORT} currently requires the following tools from the system package manager:\n python-yaml\n\nThis can be installed on Ubuntu systems via apt-get install python-yaml PYTHON2-yaml (depending on your current python default interpreter)") -endif() - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO svaarala/duktape - REF 6001888049cb42656f8649db020e804bcdeca6a7 # v2.5.0 - SHA512 ffbc7f1b16b7469ddfc0af0054a7891ffda128cc099e693773c6b4597ee6a96f8a08d354f7a7cf3a1f16369bef7b7a94c2670a617ec0355cc3614f56e1668dc4 - HEAD_REF master +vcpkg_download_distfile( + ARCHIVE + URLS https://github.com/svaarala/duktape/releases/download/v2.7.0/duktape-2.7.0.tar.xz + FILENAME duktape-2.7.0.tar.xz + SHA512 8ff5465c9c335ea08ebb0d4a06569c991b9dc4661b63e10da6b123b882e7375e82291d6b883c2644902d68071a29ccc880dae8229447cebe710c910b54496c1d ) -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_TARGET_IS_WINDOWS) - set(EXECUTABLE_SUFFIX ".exe") - set(PYTHON_OPTION "") -else() - set(EXECUTABLE_SUFFIX "") - set(PYTHON_OPTION "--user") -endif() - -vcpkg_find_acquire_program(PYTHON2) -get_filename_component(PYTHON2_DIR "${PYTHON2}" DIRECTORY) -vcpkg_add_to_path("${PYTHON2_DIR}") - -if(NOT EXISTS ${PYTHON2_DIR}/easy_install${EXECUTABLE_SUFFIX}) - if(NOT EXISTS ${PYTHON2_DIR}/Scripts/pip${EXECUTABLE_SUFFIX}) - vcpkg_from_github( - OUT_SOURCE_PATH PYFILE_PATH - REPO pypa/get-pip - REF 309a56c5fd94bd1134053a541cb4657a4e47e09d #2019-08-25 - SHA512 bb4b0745998a3205cd0f0963c04fb45f4614ba3b6fcbe97efe8f8614192f244b7ae62705483a5305943d6c8fedeca53b2e9905aed918d2c6106f8a9680184c7a - HEAD_REF master - ) - execute_process(COMMAND ${PYTHON2_DIR}/python${EXECUTABLE_SUFFIX} ${PYFILE_PATH}/get-pip.py ${PYTHON_OPTION}) - endif() - execute_process(COMMAND ${PYTHON2_DIR}/Scripts/pip${EXECUTABLE_SUFFIX} install pyyaml ${PYTHON_OPTION}) -else() - execute_process(COMMAND ${PYTHON2_DIR}/easy_install${EXECUTABLE_SUFFIX} pyyaml) -endif() - -vcpkg_execute_required_process( - COMMAND ${PYTHON2} tools/configure.py --source-directory src-input --output-directory src --config-metadata config -DDUK_USE_FASTINT - WORKING_DIRECTORY ${SOURCE_PATH} - LOGNAME pre-configure +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" ) -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}") +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") + +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_configure_cmake( - PREFER_NINJA - SOURCE_PATH ${SOURCE_PATH} +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + "-DVERSION=${VERSION}" ) -vcpkg_install_cmake() +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) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -vcpkg_fixup_cmake_targets() -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 59a78b9d6dcc7f..73d6258662dbac 100644 --- a/ports/duktape/vcpkg.json +++ b/ports/duktape/vcpkg.json @@ -1,7 +1,18 @@ { "name": "duktape", - "version-string": "2.5.0", + "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" + "homepage": "https://github.com/svaarala/duktape", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/dumb/check-for-math-lib.patch b/ports/dumb/check-for-math-lib.patch new file mode 100644 index 00000000000000..7365dad3e71afd --- /dev/null +++ b/ports/dumb/check-for-math-lib.patch @@ -0,0 +1,16 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a793bba..6fd094c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -223,7 +223,10 @@ IF(CMAKE_SYSTEM_NAME STREQUAL "Darwin") + set_target_properties(dumb PROPERTIES INSTALL_NAME_DIR ${CMAKE_INSTALL_FULL_LIBDIR}) + ENDIF(CMAKE_SYSTEM_NAME STREQUAL "Darwin") + ++find_library(HAS_MATH_LIB NAMES "m") ++if(HAS_MATH_LIB) + target_link_libraries(dumb m) ++endif() + + install(FILES ${PKG_CONFIG_FILE} DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) + install(FILES ${INSTALL_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) + diff --git a/ports/dumb/do-not-overwrite-cflags.patch b/ports/dumb/do-not-overwrite-cflags.patch new file mode 100644 index 00000000000000..acc685595c0738 --- /dev/null +++ b/ports/dumb/do-not-overwrite-cflags.patch @@ -0,0 +1,26 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a793bba..585ef78 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -29,17 +29,17 @@ check_and_add_c_compiler_flag("-Wall" CMAKE_C_FLAGS) + add_definitions("-D_FILE_OFFSET_BITS=64") + add_definitions("-DDUMB_DECLARE_DEPRECATED") + +-set(CMAKE_C_FLAGS_DEBUG "-DDEBUGMODE=1 -D_DEBUG") ++set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DDEBUGMODE=1 -D_DEBUG") + check_and_add_c_compiler_flag("-ggdb" CMAKE_C_FLAGS_DEBUG) + check_and_add_c_compiler_flag("-Zi" CMAKE_C_FLAGS_DEBUG) + +-set(CMAKE_C_FLAGS_RELEASE "-ffast-math -O2 -DNDEBUG") ++set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -ffast-math -O2 -DNDEBUG") + +-set(CMAKE_C_FLAGS_RELWITHDEBINFO "-ffast-math -O2 -DNDEBUG") ++set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -ffast-math -O2 -DNDEBUG") + check_and_add_c_compiler_flag("-g" CMAKE_C_FLAGS_RELWITHDEBINFO) + check_and_add_c_compiler_flag("-Zi" CMAKE_C_FLAGS_RELWITHDEBINFO) + +-set(CMAKE_C_FLAGS_MINSIZEREL "-ffast-math -Os -DNDEBUG") ++set(CMAKE_C_FLAGS_MINSIZEREL "${CMAKE_C_FLAGS_MINSIZEREL} -ffast-math -Os -DNDEBUG") + + if(USE_SSE) + check_c_compiler_flag("-msse" "CC_HAS_MSSE") diff --git a/ports/dumb/portfile.cmake b/ports/dumb/portfile.cmake new file mode 100644 index 00000000000000..6b723d0712fcf2 --- /dev/null +++ b/ports/dumb/portfile.cmake @@ -0,0 +1,44 @@ +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO kode54/dumb + REF "${VERSION}" + SHA512 18b10a507d69a754cdf97fbeae41c17f211a6ba1f166a822276bdb6769d3edc326919067a3f4d1247d6715d7a5a8276669d83b9427e7336c6d111593fb7e36cf + HEAD_REF master + PATCHES + "check-for-math-lib.patch" + "do-not-overwrite-cflags.patch" +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_EXAMPLES=OFF + -DBUILD_ALLEGRO4=OFF +) + +vcpkg_cmake_install() +vcpkg_fixup_pkgconfig() +vcpkg_copy_pdbs() + +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/dumb.pc" "-llibdumb" "-ldumb") +if(NOT VCPKG_BUILD_TYPE) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/dumb.pc" "-llibdumb" "-ldumbd") +endif() + +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/dumb.pc" " -lm" "") + if(NOT VCPKG_BUILD_TYPE) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/dumb.pc" " -lm" "") + endif() +endif() + +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/dumb/vcpkg.json b/ports/dumb/vcpkg.json new file mode 100644 index 00000000000000..3a96b5aef7d560 --- /dev/null +++ b/ports/dumb/vcpkg.json @@ -0,0 +1,13 @@ +{ + "name": "dumb", + "version": "2.0.3", + "description": "Module/tracker based music format parser and player library", + "homepage": "https://github.com/kode54/dumb", + "license": null, + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] +} diff --git a/ports/dv-processing/cmake-project-include.cmake b/ports/dv-processing/cmake-project-include.cmake new file mode 100644 index 00000000000000..d83c58059bfac8 --- /dev/null +++ b/ports/dv-processing/cmake-project-include.cmake @@ -0,0 +1,5 @@ +if(MSVC) + # This port's tools use C++20, but Qt6 (via OpenCV4) uses C++17. + # Assuming that no coroutines are passed between the two. + add_definitions(-D_ALLOW_COROUTINE_ABI_MISMATCH) +endif() diff --git a/ports/dv-processing/portfile.cmake b/ports/dv-processing/portfile.cmake new file mode 100644 index 00000000000000..d0fd2ba56a31d8 --- /dev/null +++ b/ports/dv-processing/portfile.cmake @@ -0,0 +1,63 @@ +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 + REPO dv/dv-processing + REF 9cd21eede0c38e079e462cdce8434fcbe2a4d037 + SHA512 fc5d0083166ff4708e6d540d437429784f9f62b7c3b7fb4631abc27ee0e6f46e60314f5fcf571c6141352571fef52a32c85a8160c951b5243910a02a281b0855 + HEAD_REF rel_1.7 + PATCHES + "${XCODE_15_3_FIX_PATCH}" +) + +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.com/inivation + OUT_SOURCE_PATH CMAKEMOD_SOURCE_PATH + REPO dv/cmakemod + REF d107c76b73a49a16c3ac733749152037406a515e + SHA512 fe87530ce5fecfe5d1ccdc6a06addc652167c67c4707d9039bf2f022ced2966dc8295b8ed69c3d4154b965f0dd22f43a8830eb4f03e99ff3edfe38de759bd0d5 + HEAD_REF d107c76b73a49a16c3ac733749152037406a515e +) +file(GLOB CMAKEMOD_FILES "${CMAKEMOD_SOURCE_PATH}/*") +file(COPY ${CMAKEMOD_FILES} DESTINATION "${SOURCE_PATH}/cmake/modules") + +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + 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 + -DCMAKE_REQUIRE_FIND_PACKAGE_lz4=ON + -DCMAKE_REQUIRE_FIND_PACKAGE_zstd=ON + -DENABLE_TESTS=OFF + -DENABLE_SAMPLES=OFF + -DENABLE_PYTHON=OFF + -DBUILD_CONFIG_VCPKG=ON +) +vcpkg_cmake_install() + +if(ENABLE_UTILITIES) + vcpkg_copy_tools(TOOL_NAMES dv-filestat dv-imu-bias-estimation dv-list-devices dv-tcpstat AUTO_CLEAN) +endif() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") # pkgconfig only, but incomplete + +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/dv-processing/usage b/ports/dv-processing/usage new file mode 100644 index 00000000000000..0f18bdbcc32953 --- /dev/null +++ b/ports/dv-processing/usage @@ -0,0 +1,6 @@ +dv-processing provides CMake targets: + + find_package(dv-processing CONFIG REQUIRED) + target_link_libraries(main PRIVATE dv::processing) + +Using dv-processing requires a C++20 compliant compiler. diff --git a/ports/dv-processing/vcpkg.json b/ports/dv-processing/vcpkg.json new file mode 100644 index 00000000000000..b1adc2af0ac8dd --- /dev/null +++ b/ports/dv-processing/vcpkg.json @@ -0,0 +1,46 @@ +{ + "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", + "dependencies": [ + "boost-algorithm", + { + "name": "boost-asio", + "features": [ + "ssl" + ] + }, + "boost-callable-traits", + "boost-circular-buffer", + "boost-core", + "boost-endian", + "boost-geometry", + "boost-lockfree", + "boost-nowide", + "boost-property-tree", + "boost-stacktrace", + "cli11", + "eigen3", + "fmt", + "libcaer", + "lz4", + { + "name": "opencv4", + "default-features": false + }, + "openssl", + { + "name": "vcpkg-cmake", + "host": true + }, + "zstd" + ], + "features": { + "tools": { + "description": "Build CLI utilities" + } + } +} diff --git a/ports/dx/vcpkg.json b/ports/dx/vcpkg.json index ddee4841024627..8d1eefd905e7d9 100644 --- a/ports/dx/vcpkg.json +++ b/ports/dx/vcpkg.json @@ -1,7 +1,7 @@ { "name": "dx", - "version-string": "1.0.1", - "port-version": 2, + "version": "1.0.1", + "port-version": 3, "description": "A modern C++ library for DirectX programming", "homepage": "https://github.com/sdcb/dx" } diff --git a/ports/dxsdk-d3dx/dxsdk-d3dx-config.cmake.in b/ports/dxsdk-d3dx/dxsdk-d3dx-config.cmake.in new file mode 100644 index 00000000000000..95cd1c2e1881c5 --- /dev/null +++ b/ports/dxsdk-d3dx/dxsdk-d3dx-config.cmake.in @@ -0,0 +1,47 @@ + +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") +if (EXISTS "${_d3dx_root_lib}") + + add_library(Microsoft::D3DX9 SHARED IMPORTED) + set_target_properties(Microsoft::D3DX9 PROPERTIES + IMPORTED_LOCATION_RELEASE "${_d3dx_root}/bin/D3DX9_43.dll" + IMPORTED_IMPLIB_RELEASE "${_d3dx_root_lib}" + IMPORTED_LOCATION_DEBUG "${_d3dx_root}/debug/bin/D3DX9d_43.dll" + IMPORTED_IMPLIB_DEBUG "${_d3dx_root}/debug/lib/d3dx9d.lib" + INTERFACE_INCLUDE_DIRECTORIES "${_d3dx_root}/include/dxsdk-d3dx" + IMPORTED_CONFIGURATIONS "Debug;Release" + IMPORTED_LINK_INTERFACE_LANGUAGES "C") + + add_library(Microsoft::D3DX10 SHARED IMPORTED) + set_target_properties(Microsoft::D3DX10 PROPERTIES + IMPORTED_LOCATION_RELEASE "${_d3dx_root}/bin/d3dx10_43.dll" + IMPORTED_IMPLIB_RELEASE "${_d3dx_root}/lib/d3dx10.lib" + IMPORTED_LOCATION_DEBUG "${_d3dx_root}/debug/bin/D3DX10d_43.dll" + IMPORTED_IMPLIB_DEBUG "${_d3dx_root}/debug/lib/d3dx10d.lib" + INTERFACE_INCLUDE_DIRECTORIES "${_d3dx_root}/include/dxsdk-d3dx" + IMPORTED_CONFIGURATIONS "Debug;Release" + IMPORTED_LINK_INTERFACE_LANGUAGES "C") + + add_library(Microsoft::D3DX11 SHARED IMPORTED) + set_target_properties(Microsoft::D3DX11 PROPERTIES + IMPORTED_LOCATION_RELEASE "${_d3dx_root}/bin/d3dx11_43.dll" + IMPORTED_IMPLIB_RELEASE "${_d3dx_root}/lib/d3dx11.lib" + IMPORTED_LOCATION_DEBUG "${_d3dx_root}/debug/bin/D3DX11d_43.dll" + IMPORTED_IMPLIB_DEBUG "${_d3dx_root}/debug/lib/d3dx11d.lib" + INTERFACE_INCLUDE_DIRECTORIES "${_d3dx_root}/include/dxsdk-d3dx" + IMPORTED_CONFIGURATIONS "Debug;Release" + IMPORTED_LINK_INTERFACE_LANGUAGES "C") + + set(dxsdk-d3dx_FOUND TRUE) + +else() + + set(dxsdk-d3dx_FOUND FALSE) + +endif() + +unset(_d3dx_root_lib) +unset(_d3dx_root) diff --git a/ports/dxsdk-d3dx/portfile.cmake b/ports/dxsdk-d3dx/portfile.cmake index 71ff4d33249c5f..143bc9e51f6682 100644 --- a/ports/dxsdk-d3dx/portfile.cmake +++ b/ports/dxsdk-d3dx/portfile.cmake @@ -1,13 +1,10 @@ -vcpkg_fail_port_install(ON_TARGET "LINUX" "OSX" "UWP" "ANDROID" ON_ARCH "arm") - if(EXISTS "${CURRENT_INSTALLED_DIR}/share/directxsdk/copyright") message(FATAL_ERROR "Can't build ${PORT} if directxsdk is installed. Please remove directxsdk, and try to install ${PORT} again if you need it.") 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 @@ -16,8 +13,8 @@ vcpkg_download_distfile(ARCHIVE SHA512 9f6a95ed858555c1c438a85219ede32c82729068b21dd7ecf11de01cf3cdd525b2f04a58643bfcc14c48a29403dc1c80246f0a12a1ef4377b91b855f6d6d7986 ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH PACKAGE_PATH +vcpkg_extract_source_archive( + PACKAGE_PATH ARCHIVE ${ARCHIVE} NO_REMOVE_ONE_LEVEL ) @@ -28,13 +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 "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright(FILE_LIST "${PACKAGE_PATH}/LICENSE.txt") -file(INSTALL "${PACKAGE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +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 bc50df96521c5f..1b9a2171fe93ea 100644 --- a/ports/dxsdk-d3dx/vcpkg.json +++ b/ports/dxsdk-d3dx/vcpkg.json @@ -1,8 +1,9 @@ { "name": "dxsdk-d3dx", "version": "9.29.952.8", - "port-version": 1, + "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/", - "supports": "windows & !arm & !uwp & !static" + "license": null, + "supports": "windows & !arm & !uwp & !xbox" } diff --git a/ports/dxut/portfile.cmake b/ports/dxut/portfile.cmake index 118bedd7b35238..9f2bc2c7ff6c0e 100644 --- a/ports/dxut/portfile.cmake +++ b/ports/dxut/portfile.cmake @@ -1,23 +1,29 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -vcpkg_fail_port_install(ON_TARGET "LINUX" "OSX" "UWP" "ANDROID") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO microsoft/DXUT - REF jun2021 - SHA512 4c95cefcf685e95b26677d0aba3d118df7860e3bf1b99b567013d326f890a3f67657be2c60677d3d996cccacce30f70d0c2fc60a692372053cce50318fa79a70 - HEAD_REF master + REF aug2024 + SHA512 9ae3ff34308446b9d145306c4eee6a70319c103540e76e3df305bed6b9d4348b508976d930fbbaac29d560879afc5e53367bdd81142a02920dd28c4fc9013136 + HEAD_REF main +) + +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + dxtk DIRECTXTK_INTEGRATION + spectre ENABLE_SPECTRE_MITIGATION ) -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA + OPTIONS ${FEATURE_OPTIONS} ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH cmake) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH share/dxut) 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/dxut/usage b/ports/dxut/usage new file mode 100644 index 00000000000000..f290ab4960f9d8 --- /dev/null +++ b/ports/dxut/usage @@ -0,0 +1,4 @@ +The DXUT for Direct3D 11 package is compatible with built-in CMake targets: + + find_package(dxut CONFIG REQUIRED) + target_link_libraries(main PRIVATE Microsoft::DXUTOpt Microsoft::DXUT) diff --git a/ports/dxut/vcpkg.json b/ports/dxut/vcpkg.json index ede994b81c61cd..1fd03c75a3d92a 100644 --- a/ports/dxut/vcpkg.json +++ b/ports/dxut/vcpkg.json @@ -1,12 +1,31 @@ { "name": "dxut", - "version": "11.26", + "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", "license": "MIT", - "supports": "windows & !uwp", + "supports": "windows & !uwp & !xbox", "dependencies": [ - "directxmath" - ] + "directxmath", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "dxtk": { + "description": "Support integration with DirectX Tool Kit for DX11", + "dependencies": [ + "directxtk" + ] + }, + "spectre": { + "description": "Build Spectre-mitigated library" + } + } } 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/eabase/portfile.cmake b/ports/eabase/portfile.cmake index 8ebb2ab1498f72..7191eb44a70abc 100644 --- a/ports/eabase/portfile.cmake +++ b/ports/eabase/portfile.cmake @@ -10,21 +10,20 @@ vcpkg_from_github( fix_cmake_install.patch ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/EABaseConfig.cmake.in DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/EABaseConfig.cmake.in" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DEABASE_BUILD_TESTS:BOOL=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/EABase) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/EABase) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug" "${CURRENT_PACKAGES_DIR}/lib") vcpkg_copy_pdbs() # Handle copyright -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) \ No newline at end of file diff --git a/ports/eabase/vcpkg.json b/ports/eabase/vcpkg.json index d9032602ca520d..1b503d8c71f462 100644 --- a/ports/eabase/vcpkg.json +++ b/ports/eabase/vcpkg.json @@ -1,7 +1,17 @@ { "name": "eabase", "version-string": "2.09.12", - "port-version": 2, + "port-version": 3, "description": "Electronic Arts Base. EABase is a small set of header files that define platform-independent data types and macros.", - "homepage": "https://github.com/electronicarts/EABase" + "homepage": "https://github.com/electronicarts/EABase", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/earcut-hpp/portfile.cmake b/ports/earcut-hpp/portfile.cmake new file mode 100644 index 00000000000000..b1007c8839fc3c --- /dev/null +++ b/ports/earcut-hpp/portfile.cmake @@ -0,0 +1,13 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO mapbox/earcut.hpp + REF "v${VERSION}" + SHA512 87f52bf99273dc47f78ebacd4ee0ccbab4edd3f9b85d97aed1c0d1165b3e2523e1a71f3a37a118e82170e79d57a2e09644d4115facb63dc6f704affb9c428e6b + HEAD_REF master +) + +# This is a header only library +file(INSTALL "${SOURCE_PATH}/include/mapbox/earcut.hpp" DESTINATION "${CURRENT_PACKAGES_DIR}/include/mapbox") + +# Handle copyright +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME "copyright") diff --git a/ports/earcut-hpp/vcpkg.json b/ports/earcut-hpp/vcpkg.json new file mode 100644 index 00000000000000..1ad0baf505bcea --- /dev/null +++ b/ports/earcut-hpp/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "earcut-hpp", + "version": "2.2.4", + "description": "earcut.hpp is a C++ port of earcut.js, a fast, header-only polygon triangulation library.", + "homepage": "https://github.com/mapbox/earcut.hpp", + "license": "ISC" +} diff --git a/ports/eastl/0001-fix-cmake-install.patch b/ports/eastl/0001-fix-cmake-install.patch new file mode 100644 index 00000000000000..ceace103e56af8 --- /dev/null +++ b/ports/eastl/0001-fix-cmake-install.patch @@ -0,0 +1,78 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e3eb444..74b4938 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -4,6 +4,9 @@ + cmake_minimum_required(VERSION 3.1) + project(EASTL CXX) + ++include(GNUInstallDirs) ++include(CMakePackageConfigHelpers) ++ + #------------------------------------------------------------------------------------------- + # Options + #------------------------------------------------------------------------------------------- +@@ -11,6 +14,8 @@ option(EASTL_BUILD_BENCHMARK "Enable generation of build files for benchmark" OF + option(EASTL_BUILD_TESTS "Enable generation of build files for tests" OFF) + option(EASTL_STD_ITERATOR_CATEGORY_ENABLED "Enable compatibility with std:: iterator categories" OFF) + ++find_package(EABase CONFIG REQUIRED) ++ + #------------------------------------------------------------------------------------------- + # Compiler Flags + #------------------------------------------------------------------------------------------- +@@ -54,7 +59,10 @@ endif() + #------------------------------------------------------------------------------------------- + # Include dirs + #------------------------------------------------------------------------------------------- +-target_include_directories(EASTL PUBLIC include) ++target_include_directories(EASTL PUBLIC ++ $ ++ $ ++ ) + + #------------------------------------------------------------------------------------------- + # Dependencies +@@ -63,7 +71,41 @@ if (NOT TARGET EABase) + add_subdirectory(test/packages/EABase) + endif() + +-target_link_libraries(EASTL EABase) ++target_link_libraries(EASTL PUBLIC EABase) ++ ++# create and install an export set for eabase target as EABase::EABase ++set(EASTL_CMAKE_CONFIG_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/EASTL") ++ ++configure_package_config_file( ++ EASTLConfig.cmake.in ++ ${CMAKE_CURRENT_BINARY_DIR}/EASTLConfig.cmake ++ INSTALL_DESTINATION ${EASTL_CMAKE_CONFIG_DESTINATION} ++) ++ ++# create and install an export set for Terra target as Terra ++install( ++ TARGETS EASTL EXPORT EASTLTargets ++ DESTINATION ${CMAKE_INSTALL_LIBDIR} ++) ++ ++ ++install(EXPORT EASTLTargets DESTINATION ${EASTL_CMAKE_CONFIG_DESTINATION}) ++ ++write_basic_package_version_file( ++ "${CMAKE_CURRENT_BINARY_DIR}/EASTLConfigVersion.cmake" ++ VERSION 3.16.05 ++ COMPATIBILITY SameMajorVersion ++) ++ ++install(TARGETS EASTL LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}") ++install(DIRECTORY "include/" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") ++ ++install( ++ FILES ++ "${CMAKE_CURRENT_BINARY_DIR}/EASTLConfig.cmake" ++ "${CMAKE_CURRENT_BINARY_DIR}/EASTLConfigVersion.cmake" ++ DESTINATION ${EASTL_CMAKE_CONFIG_DESTINATION} ++) + + #------------------------------------------------------------------------------------------- + # Installation diff --git a/ports/eastl/0002-fix-error-C2338.patch b/ports/eastl/0002-fix-error-C2338.patch new file mode 100644 index 00000000000000..61d75dddc6461a --- /dev/null +++ b/ports/eastl/0002-fix-error-C2338.patch @@ -0,0 +1,14 @@ +diff --git a/scripts/CMake/CommonCppFlags.cmake b/scripts/CMake/CommonCppFlags.cmake +index 08b6af5..281665e 100644 +--- a/scripts/CMake/CommonCppFlags.cmake ++++ b/scripts/CMake/CommonCppFlags.cmake +@@ -74,6 +74,9 @@ elseif(CMAKE_CXX_COMPILER_ID MATCHES "GNU") + endif() + elseif(CMAKE_CXX_COMPILER_ID MATCHES "MSVC") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /std:c++latest /W4 /permissive-") ++ if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "19.31.30911.95") ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Zc:static_assert-") ++ endif() + endif() + + diff --git a/ports/eastl/Fix-error-C2338.patch b/ports/eastl/Fix-error-C2338.patch new file mode 100644 index 00000000000000..61d75dddc6461a --- /dev/null +++ b/ports/eastl/Fix-error-C2338.patch @@ -0,0 +1,14 @@ +diff --git a/scripts/CMake/CommonCppFlags.cmake b/scripts/CMake/CommonCppFlags.cmake +index 08b6af5..281665e 100644 +--- a/scripts/CMake/CommonCppFlags.cmake ++++ b/scripts/CMake/CommonCppFlags.cmake +@@ -74,6 +74,9 @@ elseif(CMAKE_CXX_COMPILER_ID MATCHES "GNU") + endif() + elseif(CMAKE_CXX_COMPILER_ID MATCHES "MSVC") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /std:c++latest /W4 /permissive-") ++ if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "19.31.30911.95") ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Zc:static_assert-") ++ endif() + endif() + + diff --git a/ports/eastl/fix_cmake_install.patch b/ports/eastl/fix_cmake_install.patch deleted file mode 100644 index a2dbfd8215744d..00000000000000 --- a/ports/eastl/fix_cmake_install.patch +++ /dev/null @@ -1,75 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index e8700dc..6d3e2f1 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -4,12 +4,17 @@ - cmake_minimum_required(VERSION 3.1) - project(EASTL CXX) - -+include(GNUInstallDirs) -+include(CMakePackageConfigHelpers) -+ - #------------------------------------------------------------------------------------------- - # Options - #------------------------------------------------------------------------------------------- - option(EASTL_BUILD_BENCHMARK "Enable generation of build files for benchmark" OFF) - option(EASTL_BUILD_TESTS "Enable generation of build files for tests" OFF) - -+find_package(EABase CONFIG REQUIRED) -+ - #------------------------------------------------------------------------------------------- - # Compiler Flags - #------------------------------------------------------------------------------------------- -@@ -41,7 +46,10 @@ add_definitions(-DEASTL_OPENSOURCE=1) - #------------------------------------------------------------------------------------------- - # Include dirs - #------------------------------------------------------------------------------------------- --target_include_directories(EASTL PUBLIC include) -+target_include_directories(EASTL PUBLIC -+ $ -+ $ -+ ) - - #------------------------------------------------------------------------------------------- - # Dependencies -@@ -50,5 +58,39 @@ if (NOT TARGET EABase) - add_subdirectory(test/packages/EABase) - endif() - --target_link_libraries(EASTL EABase) -+target_link_libraries(EASTL PUBLIC EABase) -+ -+# create and install an export set for eabase target as EABase::EABase -+set(EASTL_CMAKE_CONFIG_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/EASTL") -+ -+configure_package_config_file( -+ EASTLConfig.cmake.in -+ ${CMAKE_CURRENT_BINARY_DIR}/EASTLConfig.cmake -+ INSTALL_DESTINATION ${EASTL_CMAKE_CONFIG_DESTINATION} -+) -+ -+# create and install an export set for Terra target as Terra -+install( -+ TARGETS EASTL EXPORT EASTLTargets -+ DESTINATION ${CMAKE_INSTALL_LIBDIR} -+) -+ -+ -+install(EXPORT EASTLTargets DESTINATION ${EASTL_CMAKE_CONFIG_DESTINATION}) -+ -+write_basic_package_version_file( -+ "${CMAKE_CURRENT_BINARY_DIR}/EASTLConfigVersion.cmake" -+ VERSION 3.16.05 -+ COMPATIBILITY SameMajorVersion -+) -+ -+install(TARGETS EASTL LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}") -+install(DIRECTORY "include/" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") -+ -+install( -+ FILES -+ "${CMAKE_CURRENT_BINARY_DIR}/EASTLConfig.cmake" -+ "${CMAKE_CURRENT_BINARY_DIR}/EASTLConfigVersion.cmake" -+ DESTINATION ${EASTL_CMAKE_CONFIG_DESTINATION} -+) - diff --git a/ports/eastl/portfile.cmake b/ports/eastl/portfile.cmake index d362ac0f41d1d5..b5479e2da8c8ef 100644 --- a/ports/eastl/portfile.cmake +++ b/ports/eastl/portfile.cmake @@ -3,11 +3,12 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO electronicarts/EASTL - REF e8bdd5531ed79c30ccef2fd71e070f5ab9f1222a #v3.18.00 - SHA512 3e5d97a77b8610a2efdb9156b47c91e8a8dd5629ff95ea6d2c65016b067ab645df5beddc8c7f93d89c3d1a6f404ff71282efc6db9885a6e6240fa444fe2be79c + REF "${VERSION}" + SHA512 412f894a1d1d0fdcc8f5ae130e977872a8ff243691cf9dfc76a520389f514739511afca63e1aeaaf127132f5dfc3dd482af3e5f80844b5d6d33eae1c68628267 HEAD_REF master PATCHES - fix_cmake_install.patch + 0001-fix-cmake-install.patch + 0002-fix-error-C2338.patch ) file(COPY "${CMAKE_CURRENT_LIST_DIR}/EASTLConfig.cmake.in" DESTINATION "${SOURCE_PATH}") diff --git a/ports/eastl/vcpkg.json b/ports/eastl/vcpkg.json index e496d68076cd63..66f32b59a57240 100644 --- a/ports/eastl/vcpkg.json +++ b/ports/eastl/vcpkg.json @@ -1,9 +1,9 @@ { "name": "eastl", - "version-string": "3.18.00", - "port-version": 1, + "version": "3.21.12", "description": "Electronic Arts Standard Template Library. It is a C++ template library of containers, algorithms, and iterators useful for runtime and tool development across multiple platforms. It is a fairly extensive and robust implementation of such a library and has an emphasis on high performance above all other considerations.", "homepage": "https://github.com/electronicarts/EASTL", + "license": "BSD-3-Clause", "dependencies": [ "eabase", { diff --git a/ports/easycl/vcpkg.json b/ports/easycl/vcpkg.json index 2df4f360900dbf..c97eaf6655ec18 100644 --- a/ports/easycl/vcpkg.json +++ b/ports/easycl/vcpkg.json @@ -1,7 +1,7 @@ { "name": "easycl", - "version-string": "0.3", - "port-version": 1, + "version": "0.3", + "port-version": 2, "description": "OpenCL based lightweight c++ computing library", "homepage": "https://github.com/architector1324/EasyCL", "dependencies": [ diff --git a/ports/easyexif/CMakeLists.txt b/ports/easyexif/CMakeLists.txt new file mode 100644 index 00000000000000..c2793430ea94a7 --- /dev/null +++ b/ports/easyexif/CMakeLists.txt @@ -0,0 +1,21 @@ +cmake_minimum_required(VERSION 3.11) +project(easyexif CXX) +include(GNUInstallDirs) + +add_library(easyexif STATIC + exif.h + exif.cpp +) + +set_target_properties(easyexif +PROPERTIES + CXX_STANDARD 11 + PUBLIC_HEADER exif.h +) + +install(TARGETS easyexif + PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} +) +install(FILES LICENSE DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/${PROJECT_NAME}) # share/easyexif diff --git a/ports/easyexif/portfile.cmake b/ports/easyexif/portfile.cmake new file mode 100644 index 00000000000000..d229ef87f8bc9d --- /dev/null +++ b/ports/easyexif/portfile.cmake @@ -0,0 +1,20 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO mayanklahiri/easyexif + REF cd994a3b6009bc3c1f84062e96bd7f5ad16e85f6 + SHA512 f421ff0900ae456165917106caa1c222ed8005706edc62983ad1ea72baffdfc99c581a015cf00132c7255ac32e64ec24bd8d65c9b32e9f4d05809baf7f37516d + HEAD_REF master +) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") + +vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}") +vcpkg_cmake_install() + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/share" +) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/easyexif/vcpkg.json b/ports/easyexif/vcpkg.json new file mode 100644 index 00000000000000..e9bcfdf2a6be75 --- /dev/null +++ b/ports/easyexif/vcpkg.json @@ -0,0 +1,13 @@ +{ + "name": "easyexif", + "version-date": "2022-10-07", + "description": "Tiny ISO-compliant C++ EXIF parsing library, third-party dependency free", + "homepage": "https://github.com/mayanklahiri/easyexif", + "license": null, + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] +} diff --git a/ports/easyhook/fix-build.patch b/ports/easyhook/fix-build.patch index 230faf65d8656a..b8802afc899a35 100644 --- a/ports/easyhook/fix-build.patch +++ b/ports/easyhook/fix-build.patch @@ -126,3 +126,29 @@ index ec66f91..5773555 100644 false false +diff --git a/EasyHookDll/EasyHookDll_32.rc b/EasyHookDll/EasyHookDll_32.rc +index 2a8dfb6..abf5ae3 100644 +--- a/EasyHookDll/EasyHookDll_32.rc ++++ b/EasyHookDll/EasyHookDll_32.rc +@@ -7,7 +7,7 @@ + // + // Generated from the TEXTINCLUDE 2 resource. + // +-#include "afxres.h" ++#include "windows.h" + + ///////////////////////////////////////////////////////////////////////////// + #undef APSTUDIO_READONLY_SYMBOLS +diff --git a/EasyHookDll/EasyHookDll_64.rc b/EasyHookDll/EasyHookDll_64.rc +index 163a2f0..b32a4d4 100644 +--- a/EasyHookDll/EasyHookDll_64.rc ++++ b/EasyHookDll/EasyHookDll_64.rc +@@ -7,7 +7,7 @@ + // + // Generated from the TEXTINCLUDE 2 resource. + // +-#include "afxres.h" ++#include "windows.h" + + ///////////////////////////////////////////////////////////////////////////// + #undef APSTUDIO_READONLY_SYMBOLS diff --git a/ports/easyhook/portfile.cmake b/ports/easyhook/portfile.cmake index 9b34f51a9c4735..8580c5c6db1bc9 100644 --- a/ports/easyhook/portfile.cmake +++ b/ports/easyhook/portfile.cmake @@ -1,6 +1,4 @@ -vcpkg_fail_port_install(ON_TARGET "Linux" "OSX" "UWP" ON_ARCH "arm" ON_LIBRARY_LINKAGE "static") - -message(WARNING ".Net framework 4.0 is required, please install it before install easyhook.") +message(WARNING ".Net framework 4.7.2 is required, please install it before installing easyhook.") vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH @@ -11,14 +9,6 @@ vcpkg_from_github( PATCHES fix-build.patch ) -if (VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") - set(BUILD_ARCH "Win32") -elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") - set(BUILD_ARCH "x64") -else() - message(FATAL_ERROR "Unsupported architecture: ${VCPKG_TARGET_ARCHITECTURE}") -endif() - # Use /Z7 rather than /Zi to avoid "fatal error C1090: PDB API call failed, error code '23': (0x00000006)" foreach(VCXPROJ IN ITEMS "${SOURCE_PATH}/EasyHookDll/EasyHookDll.vcxproj" @@ -40,13 +30,48 @@ foreach(VCXPROJ IN ITEMS ) endforeach() -vcpkg_install_msbuild( - SOURCE_PATH ${SOURCE_PATH} +# Use modern .NET Framework +foreach(CSPROJ IN ITEMS + "${SOURCE_PATH}/EasyHook/EasyHook.csproj" + "${SOURCE_PATH}/EasyHookSvc/EasyHookSvc.csproj" + "${SOURCE_PATH}/EasyLoad/EasyLoad.csproj" + "${SOURCE_PATH}/Examples/FileMon/FileMon.csproj" + "${SOURCE_PATH}/Examples/FileMonInject/FileMonInject.csproj" + "${SOURCE_PATH}/Examples/FileMonitorController/FileMonitorController.csproj" + "${SOURCE_PATH}/Examples/FileMonitorInterceptor/FileMonitorInterceptor.csproj" + "${SOURCE_PATH}/Examples/FileMonitorInterface/FileMonitorInterface.csproj" + "${SOURCE_PATH}/Examples/ProcessMonitor/ProcessMonitor.csproj" + "${SOURCE_PATH}/Examples/ProcMonInject/ProcMonInject.csproj" + "${SOURCE_PATH}/Test/ComplexParameterInject/ComplexParameterInject.csproj" + "${SOURCE_PATH}/Test/ComplexParameterTest/ComplexParameterTest.csproj" + "${SOURCE_PATH}/Test/EasyHook.Tests/EasyHook.Tests.csproj" + "${SOURCE_PATH}/Test/ManagedTarget/ManagedTarget.csproj" + "${SOURCE_PATH}/Test/ManagedTest/ManagedTest.csproj" + "${SOURCE_PATH}/Test/MultipleHooks/MultipleHooks/MultipleHooks.csproj" + "${SOURCE_PATH}/Test/MultipleHooks/SimpleHook1/SimpleHook1.csproj" + "${SOURCE_PATH}/Test/MultipleHooks/SimpleHook2/SimpleHook2.csproj" + "${SOURCE_PATH}/Test/TestFuncHooks/TestFuncHooks.csproj") + + vcpkg_replace_string( + "${CSPROJ}" + "v4.0" + "4.7.2" + IGNORE_UNCHANGED + ) + vcpkg_replace_string( + "${CSPROJ}" + "Client" + "" + IGNORE_UNCHANGED + ) +endforeach() + +vcpkg_msbuild_install( + SOURCE_PATH "${SOURCE_PATH}" PROJECT_SUBPATH EasyHook.sln TARGET EasyHookDll RELEASE_CONFIGURATION "netfx4-Release" DEBUG_CONFIGURATION "netfx4-Debug" - PLATFORM ${BUILD_ARCH} ) # Remove the mismatch rebuild library @@ -78,4 +103,4 @@ endif() file(INSTALL "${SOURCE_PATH}/Public/easyhook.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include/easyhook") # 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/easyhook/vcpkg.json b/ports/easyhook/vcpkg.json index 5e6093aabdbadd..258da74ef56778 100644 --- a/ports/easyhook/vcpkg.json +++ b/ports/easyhook/vcpkg.json @@ -1,8 +1,15 @@ { "name": "easyhook", "version": "2.7.7097.0", - "port-version": 2, + "port-version": 8, "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 | arm | uwp)" + "supports": "windows & !static & !uwp & (x86 | x64)", + "dependencies": [ + { + "name": "vcpkg-msbuild", + "host": true, + "platform": "windows" + } + ] } diff --git a/ports/easyloggingpp/0001_add_cmake_options.patch b/ports/easyloggingpp/0001_add_cmake_options.patch new file mode 100644 index 00000000000000..3e2f3f92889495 --- /dev/null +++ b/ports/easyloggingpp/0001_add_cmake_options.patch @@ -0,0 +1,34 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 8604a54..e08df91 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -25,6 +25,10 @@ option(test "Build all tests" OFF) + option(build_static_lib "Build easyloggingpp as a static library" OFF) + option(lib_utc_datetime "Build library with UTC date/time logging" OFF) + ++option(no_default_logfile "Do not write to default log file \"myeasylog.log\" (define ELPP_NO_DEFAULT_LOG_FILE)" OFF) ++option(thread_safe "Build easyloggingpp thread safe (define ELPP_THREAD_SAFE)" OFF) ++option(use_std_threads "Use standard library thread synchronization (define ELPP_FORCE_USE_STD_THREAD)" OFF) ++ + set(ELPP_MAJOR_VERSION "9") + set(ELPP_MINOR_VERSION "96") + set(ELPP_PATCH_VERSION "7") +@@ -57,6 +61,18 @@ if (build_static_lib) + add_definitions(-DELPP_UTC_DATETIME) + endif() + ++ if (no_default_logfile) ++ add_definitions(-DELPP_NO_DEFAULT_LOG_FILE) ++ endif() ++ ++ if (thread_safe) ++ add_definitions(-DELPP_THREAD_SAFE) ++ endif() ++ ++ if (use_std_threads) ++ add_definitions(-DELPP_FORCE_USE_STD_THREAD) ++ endif() ++ + require_cpp14() + add_library(easyloggingpp STATIC src/easylogging++.cc) + set_property(TARGET easyloggingpp PROPERTY POSITION_INDEPENDENT_CODE ON) diff --git a/ports/easyloggingpp/0002_fix_build_uwp.patch b/ports/easyloggingpp/0002_fix_build_uwp.patch new file mode 100644 index 00000000000000..7120ac191619a5 --- /dev/null +++ b/ports/easyloggingpp/0002_fix_build_uwp.patch @@ -0,0 +1,22 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e08df91..7c02adf 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -28,6 +28,7 @@ option(lib_utc_datetime "Build library with UTC date/time logging" OFF) + option(no_default_logfile "Do not write to default log file \"myeasylog.log\" (define ELPP_NO_DEFAULT_LOG_FILE)" OFF) + option(thread_safe "Build easyloggingpp thread safe (define ELPP_THREAD_SAFE)" OFF) + option(use_std_threads "Use standard library thread synchronization (define ELPP_FORCE_USE_STD_THREAD)" OFF) ++option(is_uwp "The compilation platform is uwp." OFF) + + set(ELPP_MAJOR_VERSION "9") + set(ELPP_MINOR_VERSION "96") +@@ -76,6 +77,9 @@ if (build_static_lib) + require_cpp14() + add_library(easyloggingpp STATIC src/easylogging++.cc) + set_property(TARGET easyloggingpp PROPERTY POSITION_INDEPENDENT_CODE ON) ++ if(is_uwp) ++ target_compile_definitions(easyloggingpp PUBLIC WIN32_LEAN_AND_MEAN ELPP_WINSOCK2) ++ endif() + + install(TARGETS + easyloggingpp 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 22f8b5ab9f3ecc..6c61854c98bc6c 100644 --- a/ports/easyloggingpp/portfile.cmake +++ b/ports/easyloggingpp/portfile.cmake @@ -2,22 +2,42 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO muflihun/easyloggingpp - REF v9.97.0 - SHA512 e45789edaf7a43ad6a73861840d24ccce9b9d6bba1aaacf93c6ac26ff7449957251d2ca322c9da85130b893332dd305b13a2499eaffc65ecfaaafa3e11f8d63d + REPO abumq/easyloggingpp + REF "v${VERSION}" + SHA512 3df813f7f9796c81c974ba794624db2602253e14b938370deb4c851fe8725f5c7ebf71d7ae0277fcb770b043ccf8f04bbf8e770d14565f4cb704328973473387 HEAD_REF master + PATCHES + 0001_add_cmake_options.patch + 0002_fix_build_uwp.patch + 0003_fix_pkgconfig.patch ) +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + std-locking use_std_threads + thread-safe thread_safe + no-defaultfile no_default_logfile +) +if(VCPKG_TARGET_IS_UWP) + set(TARGET_IS_UWP ON) +endif() vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS + ${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") -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +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 8a5e5bbe1d965a..49e71469af6207 100644 --- a/ports/easyloggingpp/vcpkg.json +++ b/ports/easyloggingpp/vcpkg.json @@ -1,9 +1,10 @@ { "name": "easyloggingpp", - "version": "9.97.0", - "port-version": 2, + "version": "9.97.1", + "port-version": 1, "description": "Easylogging++ is a single header efficient logging library for C++ applications.", - "homepage": "https://github.com/amrayn/easyloggingpp", + "homepage": "https://github.com/abumq/easyloggingpp", + "license": "MIT", "dependencies": [ { "name": "vcpkg-cmake", @@ -13,5 +14,16 @@ "name": "vcpkg-cmake-config", "host": true } - ] + ], + "features": { + "no-defaultfile": { + "description": "Do not write to default log file \"myeasylog.log\" (compile with ELPP_NO_DEFAULT_LOG_FILE)" + }, + "std-locking": { + "description": "Use std::mutex for thread synchronization (compile with ELPP_FORCE_USE_STD_THREAD)" + }, + "thread-safe": { + "description": "Make easyloggingpp thread safe (compile with ELPP_THREAD_SAFE)" + } + } } diff --git a/ports/eathread/portfile.cmake b/ports/eathread/portfile.cmake index 5d4d9669a91d15..04f7e998d017f8 100644 --- a/ports/eathread/portfile.cmake +++ b/ports/eathread/portfile.cmake @@ -1,5 +1,4 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -vcpkg_fail_port_install(ON_TARGET "UWP" ON_ARCH "arm" "arm64") vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH @@ -7,27 +6,26 @@ vcpkg_from_github( REF e4367a36f2e55d10b2b994bfbae8edf21f15bafd SHA512 cd5a2aa6cdfe6fa538067919aa49e5ecd901898e12929dc852068ce66efe386032eb1fe667ea7d9b7a3d73a7bef1d90a683c0b90b6fb0d6d9a27950b05c4ab6a HEAD_REF master - PATCHES + PATCHES fix_cmake_install.patch ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/EAThreadConfig.cmake.in DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/EAThreadConfig.cmake.in" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DEATHREAD_BUILD_TESTS=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/EAThread) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/EAThread) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") vcpkg_copy_pdbs() # Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) -file(INSTALL ${SOURCE_PATH}/3RDPARTYLICENSES.TXT DESTINATION ${CURRENT_PACKAGES_DIR}/share/eathread) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +file(INSTALL "${SOURCE_PATH}/3RDPARTYLICENSES.TXT" DESTINATION "${CURRENT_PACKAGES_DIR}/share/eathread") diff --git a/ports/eathread/vcpkg.json b/ports/eathread/vcpkg.json index b5ad4d3cf3f6a9..dd634f9193e5ee 100644 --- a/ports/eathread/vcpkg.json +++ b/ports/eathread/vcpkg.json @@ -1,11 +1,20 @@ { "name": "eathread", "version-string": "1.32.09", - "port-version": 2, + "port-version": 5, "description": "Electronic Arts Thread Library. EAThread implements a unified cross-platform interface for multithreaded programming on various platforms.", "homepage": "https://github.com/electronicarts/EAThread", + "supports": "!uwp & x64", "dependencies": [ "eabase", - "eastl" + "eastl", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/ebml/portfile.cmake b/ports/ebml/portfile.cmake index 2a4d232ae9fe72..36b9722823043d 100644 --- a/ports/ebml/portfile.cmake +++ b/ports/ebml/portfile.cmake @@ -1,12 +1,8 @@ -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 Matroska-Org/libebml - REF release-1.4.2 - SHA512 2A03CA1D82A41EE05CFE4DD2726CC79295FA06A4D8ECEB93FE8F41BDFF09F04897B434B49DD1F496E1C014289B14C3F3416EAB4C8B1E745652FF1AB4A620BF83 + REF "release-${VERSION}" + SHA512 284da9b7a1415585bbcfffc87101c63f1dd242bb09d88a731597127732a2f8064fd35e0a718fdcde464714b71e3f7dcc8285f291889629aba6997c38e0575dfb HEAD_REF master ) @@ -23,3 +19,5 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") # Handle copyright file(INSTALL "${SOURCE_PATH}/LICENSE.LGPL" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) + +vcpkg_copy_pdbs() diff --git a/ports/ebml/vcpkg.json b/ports/ebml/vcpkg.json index f90e93d79f9fcb..e0ea38c617d4f2 100644 --- a/ports/ebml/vcpkg.json +++ b/ports/ebml/vcpkg.json @@ -1,9 +1,8 @@ { "name": "ebml", - "version": "1.4.2", + "version": "1.4.5", "description": "A C++ library to parse EBML files", "homepage": "https://github.com/Matroska-Org/libebml", - "supports": "!uwp", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/ecal/0001-disable-app-plugins.patch b/ports/ecal/0001-disable-app-plugins.patch new file mode 100644 index 00000000000000..ce4eb786632dfc --- /dev/null +++ b/ports/ecal/0001-disable-app-plugins.patch @@ -0,0 +1,15 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 4f2fc25d2..e82e353e0 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -357,8 +357,10 @@ endif() + # -------------------------------------------------------- + # ecal rec addon sdk + # -------------------------------------------------------- ++if (BUILD_APPS) + add_subdirectory(app/rec/rec_addon_core) + add_subdirectory(app/rec/rec_addon_dummy) ++endif() + + # -------------------------------------------------------- + # ecal time diff --git a/ports/ecal/0002-fix-build.patch b/ports/ecal/0002-fix-build.patch new file mode 100644 index 00000000000000..b2811b162cb740 --- /dev/null +++ b/ports/ecal/0002-fix-build.patch @@ -0,0 +1,166 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e82e353e0..19d8f2a93 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -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) + +@@ -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) + string(TOUPPER ${dep} dep_upper) + string(TOLOWER ${dep} dep_lower) +@@ -336,7 +339,9 @@ add_subdirectory(ecal/core) + # custom libs + # -------------------------------------------------------- + add_subdirectory(lib/ThreadingUtils) +-add_subdirectory(lib/CustomTclap) ++# Removed due to only being used by the apps, which are disabled, and for ++# publicly linking tclap::tclap which doesn't exist outside of eCAL ++# add_subdirectory(lib/CustomTclap) + add_subdirectory(lib/ecal_utils) + + if(HAS_QT) +@@ -559,7 +564,9 @@ endif() + # -------------------------------------------------------- + # create package + # -------------------------------------------------------- ++if(CPACK_PACK_WITH_INNOSETUP) + include(cpack/cpack_variables.cmake) ++endif() + + message(STATUS "Build Options:") + message(STATUS "--------------------------------------------------------------------------------") +diff --git a/contrib/ecalhdf5/CMakeLists.txt b/contrib/ecalhdf5/CMakeLists.txt +index d5285101c..3b7eb705a 100644 +--- a/contrib/ecalhdf5/CMakeLists.txt ++++ b/contrib/ecalhdf5/CMakeLists.txt +@@ -55,7 +55,12 @@ set(ecalhdf5_header_base + include/ecalhdf5/eh5_types.h + ) + ++if (WIN32) ++# This library, ecal::hdf5 does not export any symbols on Windows. Must be static ++ecal_add_static_library(${PROJECT_NAME} ${ecalhdf5_src} ${ecalhdf5_header_base}) ++else() + ecal_add_library(${PROJECT_NAME} ${ecalhdf5_src} ${ecalhdf5_header_base}) ++endif() + add_library(eCAL::${PROJECT_NAME} ALIAS ${PROJECT_NAME}) + + target_include_directories(${PROJECT_NAME} +diff --git a/contrib/ecalproto/CMakeLists.txt b/contrib/ecalproto/CMakeLists.txt +index 04f1a1b9a..58df32705 100644 +--- a/contrib/ecalproto/CMakeLists.txt ++++ b/contrib/ecalproto/CMakeLists.txt +@@ -37,7 +37,12 @@ set(ecal_protobuf_header + include/ecal/protobuf/ecal_proto_visitor.h + ) + ++if (WIN32) ++# This library, ecal::proto does not export any symbols on Windows. Must be static ++ecal_add_static_library(${PROJECT_NAME} ${ecal_protobuf_src} ${ecal_protobuf_header}) ++else() + ecal_add_library(${PROJECT_NAME} ${ecal_protobuf_src} ${ecal_protobuf_header}) ++endif() + add_library(eCAL::${PROJECT_NAME} ALIAS ${PROJECT_NAME}) + target_include_directories(${PROJECT_NAME} PUBLIC + $ +diff --git a/ecal/core/CMakeLists.txt b/ecal/core/CMakeLists.txt +index f18dd6291..8655d134a 100644 +--- a/ecal/core/CMakeLists.txt ++++ b/ecal/core/CMakeLists.txt +@@ -20,8 +20,6 @@ project(core VERSION ${eCAL_VERSION_STRING}) + + find_package(Threads REQUIRED) + find_package(asio REQUIRED) +-find_package(tclap REQUIRED) +-find_package(simpleini REQUIRED) + find_package(tcp_pubsub REQUIRED) + if (ECAL_NPCAP_SUPPORT) + find_package(udpcap REQUIRED) +@@ -549,8 +547,6 @@ target_link_libraries(${PROJECT_NAME} + $<$:wsock32> + $<$:socket> + asio::asio +- tclap::tclap +- simpleini::simpleini + eCAL::core_pb + Threads::Threads + eCAL::ecal-utils +@@ -558,6 +554,14 @@ target_link_libraries(${PROJECT_NAME} + ecal_service + ) + ++# tclap is header only and only used for implementation ++find_path(TCLAP_INCLUDE_DIRS "tclap/Arg.h") ++target_include_directories(${PROJECT_NAME} PRIVATE ${TCLAP_INCLUDE_DIRS}) ++ ++# simpleini is header only and only used for implementation ++find_path(SIMPLEINI_INCLUDE_DIRS "ConvertUTF.c") ++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) + +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() + ++if(CPACK_PACK_WITH_INNOSETUP) + include(cmake/cpack_variables.cmake) ++endif() +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_windeployqt.cmake +- ) +-endif() + + set(file_list_no_include + protoc_functions/protoc_generate_cpp.cmake + protoc_functions/protoc_generate_python.cmake + ) + +-if(WIN32) +- list(APPEND file_list_no_include +- qt/qt_windeployqt_threadsafe_cmake.bat.in +- ) +-endif() + + # Set list of all files to be installed by CMake Script. + set(file_list diff --git a/ports/ecal/0003-fix-dependencies.patch b/ports/ecal/0003-fix-dependencies.patch new file mode 100644 index 00000000000000..275977f8823e73 --- /dev/null +++ b/ports/ecal/0003-fix-dependencies.patch @@ -0,0 +1,20 @@ +diff --git a/contrib/ecalhdf5/CMakeLists.txt b/contrib/ecalhdf5/CMakeLists.txt +index c167bacd4..45e754340 100644 +--- a/contrib/ecalhdf5/CMakeLists.txt ++++ b/contrib/ecalhdf5/CMakeLists.txt +@@ -18,9 +18,14 @@ + + project(hdf5 LANGUAGES C CXX) + +-if(NOT CMAKE_CROSSCOMPILING) ++if(1) + find_package(HDF5 COMPONENTS C REQUIRED) + find_package(Threads REQUIRED) ++ if (TARGET hdf5::hdf5-shared) ++ set(ECAL_LINK_HDF5_SHARED 1) ++ else() ++ set(ECAL_LINK_HDF5_SHARED 0) ++ endif() + else() + find_library(hdf5_path NAMES hdf5 REQUIRED PATH_SUFFIXES hdf5/serial) + find_path(hdf5_include NAMES hdf5.h PATH_SUFFIXES hdf5/serial REQUIRED) diff --git a/ports/ecal/0004-install-cmake-files-to-share.patch b/ports/ecal/0004-install-cmake-files-to-share.patch new file mode 100644 index 00000000000000..1de1065b1a9b44 --- /dev/null +++ b/ports/ecal/0004-install-cmake-files-to-share.patch @@ -0,0 +1,32 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 19d8f2a93..dca8948be 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -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}) +-set(eCAL_install_cmake_dir ${CMAKE_INSTALL_LIBDIR}/cmake/eCAL) ++set(eCAL_install_cmake_dir share/eCAL) + 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/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) + +-if (MSVC) +-# Variable definitions +-set(cmake_functions_install_cmake_dir cmake) +-else (MSVC) +-set(cmake_functions_install_cmake_dir lib/cmake/${PROJECT_NAME}-${PROJECT_VERSION}) +-endif (MSVC) ++set(cmake_functions_install_cmake_dir "share/${PROJECT_NAME}") ++ + set(cmake_functions_config ${CMAKE_CURRENT_BINARY_DIR}/cmake/${PROJECT_NAME}Config.cmake) + set(cmake_functions_config_version ${CMAKE_CURRENT_BINARY_DIR}/cmake/${PROJECT_NAME}ConfigVersion.cmake) + diff --git a/ports/ecal/0005-remove-install-prefix-macro-value.patch b/ports/ecal/0005-remove-install-prefix-macro-value.patch new file mode 100644 index 00000000000000..5fde0a9ee8490a --- /dev/null +++ b/ports/ecal/0005-remove-install-prefix-macro-value.patch @@ -0,0 +1,12 @@ +diff --git a/ecal/core/src/ecal_defs.h.in b/ecal/core/src/ecal_defs.h.in +index c792a26d1..e5119582b 100644 +--- a/ecal/core/src/ecal_defs.h.in ++++ b/ecal/core/src/ecal_defs.h.in +@@ -39,6 +39,6 @@ + #define ECAL_INSTALL_LIB_DIR "@eCAL_install_lib_dir@" + #define ECAL_INSTALL_CONFIG_DIR "@eCAL_install_config_dir@" + #define ECAL_INSTALL_INCLUDE_DIR "@eCAL_install_include_dir@" +-#define ECAL_INSTALL_PREFIX "@CMAKE_INSTALL_PREFIX@" ++#define ECAL_INSTALL_PREFIX "" + + #endif // ecal_defs_h_included diff --git a/ports/ecal/0006-use-find_dependency-in-cmake-config.patch b/ports/ecal/0006-use-find_dependency-in-cmake-config.patch new file mode 100644 index 00000000000000..e38039b86762c6 --- /dev/null +++ b/ports/ecal/0006-use-find_dependency-in-cmake-config.patch @@ -0,0 +1,36 @@ +diff --git a/cmake/eCALConfig.cmake.in b/cmake/eCALConfig.cmake.in +index 704da4de8..e8cfb765c 100644 +--- a/cmake/eCALConfig.cmake.in ++++ b/cmake/eCALConfig.cmake.in +@@ -25,12 +25,21 @@ set(eCAL_VERSION_MAJOR @eCAL_VERSION_MAJOR@) + set(eCAL_VERSION_MINOR @eCAL_VERSION_MINOR@) + set(eCAL_VERSION_PATCH @eCAL_VERSION_PATCH@) + set(eCAL_VERSION_STRING @eCAL_VERSION_STRING@) ++set(eCAL_IS_SHARED @BUILD_SHARED_LIBS@) + + # eCAL is provided only with Release and Debug Version, thus map the other configs to Release build. + set(CMAKE_MAP_IMPORTED_CONFIG_MINSIZEREL Release "") + set(CMAKE_MAP_IMPORTED_CONFIG_RELWITHDEBINFO Release "") + +-find_package(Protobuf REQUIRED) ++include(CMakeFindDependencyMacro) ++find_dependency(Protobuf CONFIG) ++ ++# Ensure transitive dependencies are present for static builds ++if(NOT eCAL_IS_SHARED) ++ find_dependency(asio) ++ find_dependency(tcp_pubsub) ++ find_dependency(HDF5) ++endif() + + include("@PACKAGE_eCAL_install_cmake_dir@/helper_functions/ecal_add_functions.cmake") + include("@PACKAGE_eCAL_install_cmake_dir@/helper_functions/ecal_helper_functions.cmake") +@@ -44,6 +53,6 @@ include("@PACKAGE_eCAL_install_cmake_dir@/eCALTargets.cmake") + # list(APPEND CMAKE_PREFIX_PATH "${PACKAGE_PREFIX_DIR}/../../../../cmake") + #endif() + +-find_package(CMakeFunctions REQUIRED) ++find_dependency(CMakeFunctions CONFIG) + +-find_package(Threads REQUIRED) ++find_dependency(Threads) diff --git a/ports/ecal/0007-allow-static-build-of-core.patch b/ports/ecal/0007-allow-static-build-of-core.patch new file mode 100644 index 00000000000000..90ece50f18e3ed --- /dev/null +++ b/ports/ecal/0007-allow-static-build-of-core.patch @@ -0,0 +1,77 @@ +diff --git a/ecal/core/CMakeLists.txt b/ecal/core/CMakeLists.txt +index 8655d134a..03d0f7c81 100644 +--- a/ecal/core/CMakeLists.txt ++++ b/ecal/core/CMakeLists.txt +@@ -449,7 +449,7 @@ set(ecal_header_public + ${ecal_header_msg} + ) + +-ecal_add_ecal_shared_library(${PROJECT_NAME} ++ecal_add_library(${PROJECT_NAME} + ${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}) ++ecal_add_library(${PROJECT_NAME}_c ${ecal_c_src} ${ecal_c_win_src}) + + add_library(eCAL::${PROJECT_NAME} ALIAS ${PROJECT_NAME}) + add_library(eCAL::${PROJECT_NAME}_c ALIAS ${PROJECT_NAME}_c) +@@ -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) ++ target_compile_definitions(${PROJECT_NAME} PUBLIC eCAL_SHARED_LIB) ++endif() ++ + if(ECAL_NPCAP_SUPPORT) + target_compile_definitions(${PROJECT_NAME} + PRIVATE ECAL_NPCAP_SUPPORT) +@@ -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) + +-ecal_install_ecal_shared_library(${PROJECT_NAME}_c) +-ecal_install_ecal_shared_library(${PROJECT_NAME}) ++ecal_install_ecal_library(${PROJECT_NAME}_c) ++ecal_install_ecal_library(${PROJECT_NAME}) + + 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 2b051d893..f24cdc325 100644 +--- a/ecal/core/include/ecal/ecal_os.h ++++ b/ecal/core/include/ecal/ecal_os.h +@@ -47,7 +47,7 @@ + #define ECAL_OS_FREEBSD + #endif + +-#ifdef _MSC_VER ++#if defined(_MSC_VER) && defined(eCAL_SHARED_LIB) + #ifdef eCAL_EXPORTS + #define ECALC_API __declspec(dllexport) + #else /* eCAL_EXPORTS */ +@@ -65,11 +65,15 @@ + + #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 +-- +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 new file mode 100644 index 00000000000000..a23297798cb658 --- /dev/null +++ b/ports/ecal/portfile.cmake @@ -0,0 +1,77 @@ +if (VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO eclipse-ecal/ecal + REF v${VERSION} + SHA512 fde579c21ef31f5cd7902129d5d00717ddab1105d58cc5b352c374c14cbd2f61297a788d3ac5fa548946035b1759130857561f830a36e546e2a6ca88dbf63854 + HEAD_REF master + PATCHES + 0001-disable-app-plugins.patch + 0002-fix-build.patch + 0003-fix-dependencies.patch + 0004-install-cmake-files-to-share.patch + 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( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DHAS_HDF5=ON + -DHAS_QT5=OFF + -DHAS_CURL=OFF + -DHAS_CAPNPROTO=OFF + -DHAS_FTXUI=OFF + -DBUILD_DOCS=OFF + -DBUILD_APPS=OFF + -DBUILD_SAMPLES=OFF + -DBUILD_TIME=OFF + -DBUILD_PY_BINDING=OFF + -DBUILD_CSHARP_BINDING=OFF + -DBUILD_ECAL_TESTS=OFF + -DECAL_INCLUDE_PY_SAMPLES=OFF + -DECAL_INSTALL_SAMPLE_SOURCES=OFF + -DECAL_NPCAP_SUPPORT=OFF + -DECAL_THIRDPARTY_BUILD_CMAKE_FUNCTIONS=ON + -DECAL_THIRDPARTY_BUILD_SPDLOG=OFF + -DECAL_THIRDPARTY_BUILD_TINYXML2=OFF + -DECAL_THIRDPARTY_BUILD_FINEFTP=OFF + -DECAL_THIRDPARTY_BUILD_TERMCOLOR=OFF + -DECAL_THIRDPARTY_BUILD_TCP_PUBSUB=OFF + -DECAL_THIRDPARTY_BUILD_RECYCLE=OFF + -DECAL_THIRDPARTY_BUILD_FTXUI=OFF + -DECAL_THIRDPARTY_BUILD_GTEST=OFF + -DECAL_THIRDPARTY_BUILD_UDPCAP=OFF + -DECAL_THIRDPARTY_BUILD_PROTOBUF=OFF + -DECAL_THIRDPARTY_BUILD_YAML-CPP=OFF + -DECAL_THIRDPARTY_BUILD_CURL=OFF + -DECAL_THIRDPARTY_BUILD_HDF5=OFF + -DCPACK_PACK_WITH_INNOSETUP=OFF + -DECAL_BUILD_VERSION="${VERSION}" +) + +vcpkg_cmake_install() +vcpkg_copy_pdbs() + +vcpkg_cmake_config_fixup(PACKAGE_NAME eCAL CONFIG_PATH share/eCAL) +vcpkg_cmake_config_fixup(PACKAGE_NAME CMakeFunctions CONFIG_PATH share/CMakeFunctions) + +# Remove extra debug files +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +# global ini files not strictly required +if (VCPKG_TARGET_IS_WINDOWS) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/cfg" "${CURRENT_PACKAGES_DIR}/debug/cfg") +else() +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/etc" "${CURRENT_PACKAGES_DIR}/debug/etc") +endif() + +# Install copyright and usage +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/ecal/usage b/ports/ecal/usage new file mode 100644 index 00000000000000..4d8af57a46c804 --- /dev/null +++ b/ports/ecal/usage @@ -0,0 +1,4 @@ +The package eCAL provides CMake targets: + + find_package(eCAL CONFIG REQUIRED) + target_link_libraries(main PRIVATE eCAL::core eCAL::core_c eCAL::core_pb eCAL::hdf5) \ No newline at end of file diff --git a/ports/ecal/vcpkg.json b/ports/ecal/vcpkg.json new file mode 100644 index 00000000000000..d74e41b4371559 --- /dev/null +++ b/ports/ecal/vcpkg.json @@ -0,0 +1,30 @@ +{ + "name": "ecal", + "version-semver": "5.13.2", + "description": "eCAL - enhanced Communication Abstraction Layer", + "homepage": "https://eclipse-ecal.github.io/ecal/", + "license": "Apache-2.0", + "supports": "!emscripten", + "dependencies": [ + "asio", + { + "name": "hdf5", + "default-features": false + }, + { + "name": "protobuf", + "default-features": false + }, + "simpleini", + "tclap", + "tcp-pubsub", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/ecm/fix_canberra.patch b/ports/ecm/fix_canberra.patch deleted file mode 100644 index dcfcaba6f0a40e..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 REQUIRED 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_generateqmltypes.patch b/ports/ecm/fix_generateqmltypes.patch new file mode 100644 index 00000000000000..5ed5dc525b3fe4 --- /dev/null +++ b/ports/ecm/fix_generateqmltypes.patch @@ -0,0 +1,31 @@ +diff --git a/modules/ECMGenerateQmlTypes.cmake b/modules/ECMGenerateQmlTypes.cmake +index d6e124266308028b8533203da63f572f6e99b308..7d7cecb5201521019764102eba0da2abf8b4d911 100644 +--- a/modules/ECMGenerateQmlTypes.cmake ++++ b/modules/ECMGenerateQmlTypes.cmake +@@ -1,4 +1,5 @@ + # SPDX-FileCopyrightText: 2017 Aleix Pol Gonzalez ++# SPDX-FileCopyrightText: 2021 Dawid Wrobel + # + # SPDX-License-Identifier: BSD-3-Clause + +@@ -18,10 +19,7 @@ our project offers. These files offer introspection upon our plugin and are + useful for integrating with IDE language support of our plugin. It offers + information about the objects its methods and their argument types. + +-The developer will be in charge of making sure that these files are up to date. +-The plugin.qmltypes file will sit in the source directory. This function will +-include the code that installs the file in the right place and a small unit +-test named qmltypes-pluginname-version that makes sure that it doesn't need updating. ++This function installs the file in DESTINATION folder. + + + Since 5.33.0 +@@ -40,7 +38,7 @@ function(ecm_generate_qmltypes) + set(targetname "qmltypes-${ARG_UNPARSED_ARGUMENTS}") + string(REPLACE ";" - targetname "${targetname}") + +- set(generatedFile ${CMAKE_CURRENT_SOURCE_DIR}/plugins.qmltypes) ++ set(generatedFile plugins.qmltypes) + add_custom_target(${targetname} + BYPRODUCTS ${generatedFile} + COMMAND qmlplugindump -nonrelocatable ${ARG_UNPARSED_ARGUMENTS} ${KDE_INSTALL_QMLDIR} > ${generatedFile} diff --git a/ports/ecm/fix_python_version.patch b/ports/ecm/fix_python_version.patch deleted file mode 100644 index a443bb1a64faa3..00000000000000 --- a/ports/ecm/fix_python_version.patch +++ /dev/null @@ -1,61 +0,0 @@ -From 12f4266eb71b30da1df92a5d628d402ea1a45b3b Mon Sep 17 00:00:00 2001 -From: Michael Pyne -Date: Sun, 4 Jul 2021 18:47:45 -0400 -Subject: [PATCH] python: Bump maximum version for Python 3 module generator - check. - -The proximate problem is that the Python Module generator cmake script -has started failing for people with Python 3.10, which a CMake backtrace -pointing into FindPythonModuleGeneration.cmake with an error of the form -"The max python version in PythonModuleGeneration must be updated." - -At least one distro has addressed this by simply patching out modules -that happen to use this CMake module [1]. - -From what I can tell and the testing I've done, the cause is pretty -simple: The CMake script attempts to find the best Python 3 version by -starting from an impossible version and working backwards until it finds -a version that is installed. - -As a sanity check, if the "impossible" version is actually present, it -aborts. But this appears to be just a sanity check, and not any sort of -guard against buggy version handling code later. - -While the best fix is probably to start from a known *good* version and -move up until we stop finding better versions, there's problems here -(e.g. a user with 3.6 and 3.8 installed would fail to see 3.7 and so be -left with 3.6 as the "best" match), so I opted just to increase the max -version significantly, and improve the documentation as to what's -happening and whether it is safe to repeat the step again later. - -[1]: https://bugs.gentoo.org/746866 ---- - find-modules/FindPythonModuleGeneration.cmake | 9 +++++++-- - 1 file changed, 7 insertions(+), 2 deletions(-) - -diff --git a/find-modules/FindPythonModuleGeneration.cmake b/find-modules/FindPythonModuleGeneration.cmake -index 210ba662..6104c1f4 100644 ---- a/find-modules/FindPythonModuleGeneration.cmake -+++ b/find-modules/FindPythonModuleGeneration.cmake -@@ -162,14 +162,19 @@ endif() - - if (NOT GPB_PYTHON3_LIBRARY) - set(_PYTHON3_MIN_VERSION 4) -- set(_PYTHON3_MAX_VERSION 10) - -- _find_python(3 ${_PYTHON3_MAX_VERSION}) # Canary check -+ # This value is safe to increment over time, it is used only as a reasonable -+ # upper bound to start searching from -+ set(_PYTHON3_MAX_VERSION 50) -+ -+ _find_python(3 ${_PYTHON3_MAX_VERSION}) - - if (GPB_PYTHON3_LIBRARY) - message(FATAL_ERROR "The max python version in ${CMAKE_FIND_PACKAGE_NAME} must be updated.") - endif() - -+ # Look for the highest supported version of Python 3 by looking for a minor -+ # version that doesn't exist and decrementing until we find a match. - set(_PYTHON3_FIND_VERSION ${_PYTHON3_MAX_VERSION}) - - while(NOT GPB_PYTHON3_LIBRARY diff --git a/ports/ecm/portfile.cmake b/ports/ecm/portfile.cmake index 19105838303a6e..2d0b905406fb9d 100644 --- a/ports/ecm/portfile.cmake +++ b/ports/ecm/portfile.cmake @@ -1,12 +1,11 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KDE/extra-cmake-modules - REF v5.84.0 - SHA512 d49397bcf0d49a95c86c9d9a4e653015ee8b3ef1261b2842439bba7ff3363ac06351fa2df4035c2cb36397d2fc64375a14966ada29f231df51ba26d8e196d6ef + REF "v${VERSION}" + SHA512 d62091185c26c4eec83f7b2e06468c3c3691ae0e71f4d60aafaf32be262677affc686a4e54159f487005854bdf46c4c3a2214775daf850039b733ad02edc3936 HEAD_REF master PATCHES - fix_canberra.patch - fix_python_version.patch # Remove on next release + fix_generateqmltypes.patch # https://invent.kde.org/frameworks/extra-cmake-modules/-/merge_requests/201 ) vcpkg_cmake_configure( @@ -20,12 +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 11a544924b15ae..1c26bf35ead59a 100644 --- a/ports/ecm/vcpkg.json +++ b/ports/ecm/vcpkg.json @@ -1,7 +1,6 @@ { "name": "ecm", - "version": "5.84.0", - "port-version": 2, + "version": "6.7.0", "description": "Extra CMake Modules (ECM), extra modules and scripts for CMake", "homepage": "https://github.com/KDE/extra-cmake-modules", "dependencies": [ diff --git a/ports/ecos/portfile.cmake b/ports/ecos/portfile.cmake index 213d3266f5a37b..226af887218182 100644 --- a/ports/ecos/portfile.cmake +++ b/ports/ecos/portfile.cmake @@ -3,21 +3,20 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO embotech/ecos - REF v2.0.8 - SHA512 c1adb188d6b2c400f817de15272472adfd013e2a174f49ec0bb2f7f889f26ba2b7ea165d9bedac3031bd2da7a770f2a285ad825d5b22ccc6cf43c756a20f844f + REF "v${VERSION}" + SHA512 b79434c194b5681f323b275eff0126f56beba792d270bd1773307cdf33297bee550b13bd2f96f5923dc4b8e200216d897ea01978f65da69dd81f1a669f8fd6e2 HEAD_REF develop ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/ecos RENAME copyright) +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -vcpkg_fixup_cmake_targets(CONFIG_PATH "share/ecos") \ No newline at end of file +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +vcpkg_cmake_config_fixup(CONFIG_PATH "share/ecos") \ No newline at end of file diff --git a/ports/ecos/vcpkg.json b/ports/ecos/vcpkg.json index a6e6dfbe0b517b..4396dabbf50587 100644 --- a/ports/ecos/vcpkg.json +++ b/ports/ecos/vcpkg.json @@ -1,6 +1,15 @@ { "name": "ecos", - "version-string": "2.0.8", - "port-version": 1, - "description": "A lightweight conic solver for second-order cone programming." + "version": "2.0.10", + "description": "A lightweight conic solver for second-order cone programming.", + "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 5cbf085bf81e51..00000000000000 --- a/ports/ecsutil/portfile.cmake +++ /dev/null @@ -1,47 +0,0 @@ - -vcpkg_fail_port_install(ON_ARCH "arm" ON_TARGET "UWP" "Linux" "OSX") -if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") - set(PLATFORM x86) -endif() - -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_install_msbuild( - SOURCE_PATH ${SOURCE_PATH} - PROJECT_SUBPATH ECSUtil.sln - PLATFORM ${PLATFORM} - LICENSE_SUBPATH license.txt - TARGET ECSUtil - RELEASE_CONFIGURATION ${ECSUtil_CONFIGURATION_RELEASE} - DEBUG_CONFIGURATION ${ECSUtil_CONFIGURATION_DEBUG} -) - -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 fc372275695bda..00000000000000 --- a/ports/ecsutil/vcpkg.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "name": "ecsutil", - "version-string": "1.0.7.15", - "port-version": 1, - "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)", - "dependencies": [ - { - "name": "atlmfc", - "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/CMakeLists.txt b/ports/edflib/CMakeLists.txt new file mode 100644 index 00000000000000..8358e27a9c1961 --- /dev/null +++ b/ports/edflib/CMakeLists.txt @@ -0,0 +1,75 @@ +cmake_minimum_required(VERSION 3.5) + +project(EDFlib LANGUAGES C) + +option(BUILD_TOOLS "Build EDFlib tools." OFF) + +include(GNUInstallDirs) + +set(sources edflib.h edflib.c) + +add_library(EDFlib ${sources}) + +if(BUILD_SHARED_LIBS) + target_compile_definitions(EDFlib + PUBLIC + EDFLIB_SO_DLL + PRIVATE + $ + ) +endif() + +if(CMAKE_C_COMPILER_ID STREQUAL "GNU") + target_compile_definitions(EDFlib PRIVATE _LARGEFILE64_SOURCE _LARGEFILE_SOURCE) + target_compile_options(EDFlib PRIVATE -Wall -Wextra -Wshadow -Wformat-nonliteral -Wformat-security) +endif() + +set_target_properties(EDFlib PROPERTIES PUBLIC_HEADER edflib.h) + +install(TARGETS EDFlib + EXPORT EDFlibTargets + PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" + ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" + LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" + INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" +) + +install(EXPORT EDFlibTargets + FILE unofficial-EDFlibConfig.cmake + DESTINATION "share/unofficial-EDFlib" +) + +if(BUILD_TOOLS) + include(CheckSymbolExists) + + # https://stackoverflow.com/questions/32816646/can-cmake-detect-if-i-need-to-link-to-libm-when-using-pow-in-c + if(NOT POW_FUNCTION_EXISTS AND NOT NEED_LINKING_AGAINST_LIBM) + check_symbol_exists(pow "math.h" POW_FUNCTION_EXISTS) + if(NOT POW_FUNCTION_EXISTS) + unset(POW_FUNCTION_EXISTS CACHE) + list(APPEND CMAKE_REQUIRED_LIBRARIES m) + check_symbol_exists(pow "math.h" POW_FUNCTION_EXISTS) + if(POW_FUNCTION_EXISTS) + set(NEED_LINKING_AGAINST_LIBM True CACHE BOOL "" FORCE) + else() + message(FATAL_ERROR "Failed making the pow() function available") + endif() + endif() + endif() + + add_executable(sine_generator sine_generator.c) + target_link_libraries(sine_generator PRIVATE EDFlib) + + add_executable(sweep_generator sweep_generator.c) + target_link_libraries(sweep_generator PRIVATE EDFlib) + + if(NEED_LINKING_AGAINST_LIBM) + target_link_libraries(sine_generator PRIVATE m) + target_link_libraries(sweep_generator PRIVATE m) + endif() + + install(TARGETS sine_generator sweep_generator + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" + ) +endif() diff --git a/ports/edflib/portfile.cmake b/ports/edflib/portfile.cmake new file mode 100644 index 00000000000000..6b4b80c7834048 --- /dev/null +++ b/ports/edflib/portfile.cmake @@ -0,0 +1,49 @@ +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.com + OUT_SOURCE_PATH SOURCE_PATH + REPO Teuniz/EDFlib + REF "v${VERSION}" + SHA512 ad5f9be5a10d0e83a80242cdb088db8ae697ee6e723a7c5459cef95b5eba16c54d8bc2493b66d5114a8d1782505b2d2c63c9a5ce96c09dcca89489cd43fa6012 + HEAD_REF master +) + +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") + +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + tools BUILD_TOOLS +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} +) + +vcpkg_cmake_install() + +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + vcpkg_replace_string( + "${CURRENT_PACKAGES_DIR}/include/edflib.h" + "#if defined(EDFLIB_SO_DLL)" + "#if 1 // defined(EDFLIB_SO_DLL)" + ) +endif() + +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-EDFlib) + +if ("tools" IN_LIST FEATURES) + vcpkg_copy_tools( + TOOL_NAMES + sine_generator + sweep_generator + AUTO_CLEAN + ) +endif() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/edflib/vcpkg.json b/ports/edflib/vcpkg.json new file mode 100644 index 00000000000000..40bbe06815e008 --- /dev/null +++ b/ports/edflib/vcpkg.json @@ -0,0 +1,22 @@ +{ + "name": "edflib", + "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", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "tools": { + "description": "Build tools" + } + } +} diff --git a/ports/effects11/portfile.cmake b/ports/effects11/portfile.cmake index e5ebf84abc7af0..e6464ccdb9f729 100644 --- a/ports/effects11/portfile.cmake +++ b/ports/effects11/portfile.cmake @@ -1,24 +1,27 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -vcpkg_fail_port_install(ON_TARGET "LINUX" "OSX" "ANDROID") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO microsoft/FX11 - REF feb2021 - SHA512 bdf35347582646e782c20a96180c8286786da46583527b76b2d348cd76a75285a31ebb88297962cd279c09bbd416c15c0d25ae91881ffebbf9e8ce2f21912f16 - HEAD_REF master - FILE_DISAMBIGUATOR 1 + REF jun2023 + SHA512 93a90b42efbc8e1e9cb76de80c959bc24406536af9d943d21e324a82be677d695c201deb995490e331ecfcda301d8b42285b90577fbed9acd5bb61c753efd66c + HEAD_REF main ) -vcpkg_configure_cmake( +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + spectre ENABLE_SPECTRE_MITIGATION +) +vcpkg_cmake_configure( SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA + OPTIONS ${FEATURE_OPTIONS} ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH cmake) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH share/effects11) 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/effects11/usage b/ports/effects11/usage new file mode 100644 index 00000000000000..f3dc35f641932d --- /dev/null +++ b/ports/effects11/usage @@ -0,0 +1,4 @@ +The Effects (FX) system for Direct3D 11 package is compatible with built-in CMake targets: + + find_package(effects11 CONFIG REQUIRED) + target_link_libraries(main PRIVATE Microsoft::Effects11) diff --git a/ports/effects11/vcpkg.json b/ports/effects11/vcpkg.json index 4edddcd8d3cae0..d7376d131e4d8c 100644 --- a/ports/effects11/vcpkg.json +++ b/ports/effects11/vcpkg.json @@ -1,10 +1,25 @@ { "name": "effects11", - "version": "11.26", - "port-version": 1, + "version": "11.29", + "port-version": 3, "description": "Effects for Direct3D 11 (FX11) is a management runtime for authoring HLSL shaders, render state, and runtime variables together.", "homepage": "https://github.com/Microsoft/FX11", "documentation": "https://github.com/microsoft/FX11/wiki", "license": "MIT", - "supports": "windows" + "supports": "windows & !xbox & !mingw", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "spectre": { + "description": "Build Spectre-mitigated library" + } + } } diff --git a/ports/effolkronium-random/portfile.cmake b/ports/effolkronium-random/portfile.cmake index 0afcc104360ecc..6ed197b9b0ee74 100644 --- a/ports/effolkronium-random/portfile.cmake +++ b/ports/effolkronium-random/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO effolkronium/random - REF v1.4.0 - SHA512 B3DDEC048BBFB48877FD12295D4E0492E25976E1C4FE66F13E9E6E611DAAF654BD8D4AE75EA75125CB5AB420B82472C1CC1AB0BED3AEF632911B0934B45B23AF + REF "v${VERSION}" + SHA512 778667d3b3a4bd51b67ef7d1842652dcf6d7df210345f667d0474cdfe48bb75fa2c891f8843f3fc4946fb2ef71da652c296eaaa03718ed889dee4926d743b7dd HEAD_REF master ) diff --git a/ports/effolkronium-random/vcpkg.json b/ports/effolkronium-random/vcpkg.json index 2e7502540c7466..e3c29efa9e3332 100644 --- a/ports/effolkronium-random/vcpkg.json +++ b/ports/effolkronium-random/vcpkg.json @@ -1,9 +1,9 @@ { "name": "effolkronium-random", - "version": "1.4.0", - "port-version": 1, + "version": "1.5.0", "description": "Random with a modern C++ API", "homepage": "https://github.com/effolkronium/random", + "license": "MIT", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/efsw/portfile.cmake b/ports/efsw/portfile.cmake index 289d4354d403a9..df4335741949e4 100644 --- a/ports/efsw/portfile.cmake +++ b/ports/efsw/portfile.cmake @@ -1,28 +1,30 @@ -vcpkg_fail_port_install(ON_TARGET "UWP") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO SpartanJ/efsw - REF b62d04829bb0a6f3cacc7859e0b046a3c053bc50 - SHA512 fc16ef6ad330941dc0a1112ce645b57bd126d353556d50f45fadf150f25edd42c1d4946bc54d629d94c208d67d4ce17dbf5d1079cbeed51f0f6b1ccbe2199132 + REF "${VERSION}" + SHA512 f1439c75b44acfa93a34cae21ee5470cfea5a475eeb6cbc83fbe8e39767b7c72abc37960d85184cb1071e61196740ae7649b86288f164f927df95792c4ece230 HEAD_REF master ) -vcpkg_configure_cmake( +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} - PREFER_NINJA OPTIONS -DVERBOSE=OFF -DBUILD_TEST_APP=OFF + -DBUILD_SHARED_LIBS=${EFSW_BUILD_SHARED_LIB} + -DBUILD_STATIC_LIBS=0 ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/efsw) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/efsw) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") vcpkg_copy_pdbs() -# 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/efsw/vcpkg.json b/ports/efsw/vcpkg.json index a001ada8f61327..32e322d224669c 100644 --- a/ports/efsw/vcpkg.json +++ b/ports/efsw/vcpkg.json @@ -1,8 +1,18 @@ { "name": "efsw", - "version-string": "2020-06-08", - "port-version": 2, + "version": "1.4.0", "description": "efsw is a C++ cross-platform file system watcher and notifier.", "homepage": "https://github.com/SpartanJ/efsw", - "supports": "!uwp" + "license": "MIT", + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } 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 bfdca5b71d7535..7586c67f33f572 100644 --- a/ports/egl-registry/portfile.cmake +++ b/ports/egl-registry/portfile.cmake @@ -1,26 +1,22 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KhronosGroup/EGL-Registry - REF 11478904448bbdf5757b798c856a525aa2b351b1 - SHA512 f1e54810cb2948e9d8798d65507069bba4ee6534d719e792db11e36d600ef37e59a34262809d8b1e41160ae1e45a283fa322cd9d9a647985c48a6d7d6d1706ee + REF 7db3005d4c2cb439f129a0adc931f3274f9019e6 + SHA512 474d7a4d614efed18151e0ff18840aaa8349ec0b01ec3cc4e6ff3f60fdb918e0b8c68dbb13e09dc5e7b081a9eb637b008b48b1a4be537d360f9a6d247b7b8802 HEAD_REF master ) file( COPY - ${SOURCE_PATH}/api/KHR - ${SOURCE_PATH}/api/EGL - DESTINATION ${CURRENT_PACKAGES_DIR}/include + "${SOURCE_PATH}/api/KHR" + "${SOURCE_PATH}/api/EGL" + DESTINATION "${CURRENT_PACKAGES_DIR}/include" ) file( COPY - ${SOURCE_PATH}/api/egl.xml - DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} + "${SOURCE_PATH}/api/egl.xml" + 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 229edb6773d8dd..2c4f8b3d4c608c 100644 --- a/ports/egl-registry/vcpkg.json +++ b/ports/egl-registry/vcpkg.json @@ -1,7 +1,6 @@ { "name": "egl-registry", - "version-string": "2020-02-20", - "port-version": 1, - "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/egl/egl.pc.in b/ports/egl/egl.pc.in new file mode 100644 index 00000000000000..17c012cb2dcc6e --- /dev/null +++ b/ports/egl/egl.pc.in @@ -0,0 +1,12 @@ +prefix=${pcfiledir}/../.. +libdir=${prefix}/lib +includedir=${prefix}/include + +Name: EGL +Description: EGL library and headers. +Version: @VERSION@ +Requires.private: zlib opengl # angle +Libs: -L${libdir} -llibEGL +Libs.private: -llibGLESv2 -llibANGLE -ld3d9 -ldxguid -ldxgi +Cflags: -I${includedir} +Cflags.private: -DKHRONOS_STATIC diff --git a/ports/egl/portfile.cmake b/ports/egl/portfile.cmake new file mode 100644 index 00000000000000..fa9fc8fe1e7fab --- /dev/null +++ b/ports/egl/portfile.cmake @@ -0,0 +1,11 @@ +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) + +configure_file("${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" "${CURRENT_PACKAGES_DIR}/share/egl/vcpkg-cmake-wrapper.cmake" @ONLY) + +if(VCPKG_TARGET_IS_WINDOWS) + configure_file("${CMAKE_CURRENT_LIST_DIR}/egl.pc.in" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/egl.pc" @ONLY) + if (NOT VCPKG_BUILD_TYPE) + configure_file("${CMAKE_CURRENT_LIST_DIR}/egl.pc.in" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/egl.pc" @ONLY) + endif() + vcpkg_fixup_pkgconfig() +endif() diff --git a/ports/egl/vcpkg-cmake-wrapper.cmake b/ports/egl/vcpkg-cmake-wrapper.cmake new file mode 100644 index 00000000000000..aee1e982dee94e --- /dev/null +++ b/ports/egl/vcpkg-cmake-wrapper.cmake @@ -0,0 +1,22 @@ +# Wrapper for FindEGL.cmake in extra-cmake-modules (port ecm) and its vendored copies + +if(UNIX) + find_package(OpenGL COMPONENTS EGL) + if(OPENGL_egl_LIBRARY) + set(EGL_LIBRARY "${OPENGL_egl_LIBRARY}" CACHE STRING "") + set(EGL_INCLUDE_DIR "${OPENGL_EGL_INCLUDE_DIRS}" CACHE STRING "") + endif() +elseif(WIN32) + find_package(unofficial-angle CONFIG) + if(TARGET unofficial::angle::libEGL) + set(EGL_LIBRARY unofficial::angle::libEGL) + if(NOT TARGET EGL::EGL) + add_library(EGL::EGL INTERFACE IMPORTED) + set_target_properties(EGL::EGL PROPERTIES + INTERFACE_LINK_LIBRARIES unofficial::angle::libEGL + ) + endif() + endif() +endif() + +_find_package(${ARGS}) diff --git a/ports/egl/vcpkg.json b/ports/egl/vcpkg.json new file mode 100644 index 00000000000000..59d95070f754c0 --- /dev/null +++ b/ports/egl/vcpkg.json @@ -0,0 +1,14 @@ +{ + "name": "egl", + "version-date": "2022-12-04", + "description": "EGL is an interface between Khronos rendering APIs (such as OpenGL, OpenGL ES or OpenVG) and the underlying native platform windowing system.", + "license": null, + "dependencies": [ + { + "$comment": "alternativly this can be supplied by mesa; angle translates to Direct 3D", + "name": "angle", + "platform": "windows" + }, + "opengl" + ] +} diff --git a/ports/eigen3/disable_pkgconfig_absolute_path_check.patch b/ports/eigen3/disable_pkgconfig_absolute_path_check.patch deleted file mode 100644 index cfa96434059774..00000000000000 --- a/ports/eigen3/disable_pkgconfig_absolute_path_check.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index dbb9bcf..84c413c 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -407,11 +407,13 @@ set(PKGCONFIG_INSTALL_DIR - CACHE STRING "The directory relative to CMAKE_PREFIX_PATH where eigen3.pc is installed" - ) - -+if(0) - foreach(var INCLUDE_INSTALL_DIR CMAKEPACKAGE_INSTALL_DIR PKGCONFIG_INSTALL_DIR) - if(IS_ABSOLUTE "${${var}}") - message(FATAL_ERROR "${var} must be relative to CMAKE_PREFIX_PATH. Got: ${${var}}") - endif() - endforeach() -+endif() - - # similar to set_target_properties but append the property instead of overwriting it - macro(ei_add_target_property target prop value) diff --git a/ports/eigen3/fix-cuda-error.patch b/ports/eigen3/fix-cuda-error.patch deleted file mode 100644 index 9123806df07563..00000000000000 --- a/ports/eigen3/fix-cuda-error.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff --git a/Eigen/src/Core/arch/CUDA/Half.h b/Eigen/src/Core/arch/CUDA/Half.h -index 755e620..85e445b 100644 ---- a/Eigen/src/Core/arch/CUDA/Half.h -+++ b/Eigen/src/Core/arch/CUDA/Half.h -@@ -209,7 +209,11 @@ namespace half_impl { - // conversion steps back and forth. - - EIGEN_STRONG_INLINE __device__ half operator + (const half& a, const half& b) { -+#if defined(EIGEN_CUDACC_VER) && EIGEN_CUDACC_VER >= 90000 -+ return __hadd(::__half(a), ::__half(b)); -+#else - return __hadd(a, b); -+#endif - } - EIGEN_STRONG_INLINE __device__ half operator * (const half& a, const half& b) { - return __hmul(a, b); -@@ -218,9 +222,13 @@ EIGEN_STRONG_INLINE __device__ half operator - (const half& a, const half& b) { - return __hsub(a, b); - } - EIGEN_STRONG_INLINE __device__ half operator / (const half& a, const half& b) { -+#if defined(EIGEN_CUDACC_VER) && EIGEN_CUDACC_VER >= 90000 -+ return __hdiv(a, b); -+#else - float num = __half2float(a); - float denom = __half2float(b); - return __float2half(num / denom); -+#endif - } - EIGEN_STRONG_INLINE __device__ half operator - (const half& a) { - return __hneg(a); diff --git a/ports/eigen3/fix-vectorized-reductions-half.patch b/ports/eigen3/fix-vectorized-reductions-half.patch new file mode 100644 index 00000000000000..1c5e592db52fa5 --- /dev/null +++ b/ports/eigen3/fix-vectorized-reductions-half.patch @@ -0,0 +1,26 @@ +diff --git a/Eigen/src/Core/PartialReduxEvaluator.h b/Eigen/src/Core/PartialReduxEvaluator.h +index 29abf35..4051fcf 100644 +--- a/Eigen/src/Core/PartialReduxEvaluator.h ++++ b/Eigen/src/Core/PartialReduxEvaluator.h +@@ -54,12 +54,19 @@ struct packetwise_redux_traits + /* Value to be returned when size==0 , by default let's return 0 */ + template + EIGEN_DEVICE_FUNC +-PacketType packetwise_redux_empty_value(const Func& ) { return pset1(0); } ++PacketType packetwise_redux_empty_value(const Func& ) { ++ const typename unpacket_traits::type zero(0); ++ return pset1(zero); ++} ++ + + /* For products the default is 1 */ + template + EIGEN_DEVICE_FUNC +-PacketType packetwise_redux_empty_value(const scalar_product_op& ) { return pset1(1); } ++PacketType packetwise_redux_empty_value(const scalar_product_op& ) { ++ return pset1(Scalar(1)); ++} ++ + + /* Perform the actual reduction */ + template= 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 ) -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() endif() -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} +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)") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" DISABLE_PARALLEL_CONFIGURE - PREFER_NINJA - 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_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/embree TARGET_PATH share/embree) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/embree-${VERSION} PACKAGE_NAME embree) +set(config_file "${CURRENT_PACKAGES_DIR}/share/embree/embree-config.cmake") +# Fix details in config. +file(READ "${config_file}" contents) +string(REPLACE "SET(EMBREE_BUILD_TYPE Release)" "" contents "${contents}") +string(REPLACE "/../../../" "/../../" contents "${contents}") +string(REPLACE "FIND_PACKAGE" "include(CMakeFindDependencyMacro)\n find_dependency" contents "${contents}") +string(REPLACE "REQUIRED" "COMPONENTS" contents "${contents}") +string(REPLACE "/lib/cmake/embree-${VERSION}" "/share/embree" contents "${contents}") + +if(NOT VCPKG_BUILD_TYPE) + string(REPLACE "/lib/embree3.lib" "$<$:/debug>/lib/embree3.lib" contents "${contents}") +endif() +file(WRITE "${config_file}" "${contents}") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -if(VCPKG_LIBRARY_LINKAGE STREQUAL static) +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) \ No newline at end of file +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") diff --git a/ports/embree3/vcpkg.json b/ports/embree3/vcpkg.json index 80e51d51436e94..072d75a573e333 100644 --- a/ports/embree3/vcpkg.json +++ b/ports/embree3/vcpkg.json @@ -1,33 +1,79 @@ { "name": "embree3", - "version-semver": "3.12.2", - "port-version": 2, + "version": "3.13.5", + "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 + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ], "default-features": [ - "avx", - "avx2", - "sse2", - "sse42" + "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." + }, + "compact-polys": { + "description": "Enables double indexed poly layout." + }, + "filter-function": { + "description": "Enables filter functions." + }, + "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." + }, + "geometry-subdivision": { + "description": "Enables support for subdiv geometries." + }, + "geometry-triangle": { + "description": "Enables support for triangle geometries." }, - "avx2": { - "description": "Enables AVX2 ISA." + "geometry-user": { + "description": "Enables support for user geometries." }, - "avx512": { - "description": "Enables AVX512 ISA." + "ray-mask": { + "description": "Enables ray mask support." }, - "sse2": { - "description": "Enables SSE2 ISA." + "ray-packets": { + "description": "Enabled support for ray packets." }, - "sse42": { - "description": "Enables SSE4.2 ISA." + "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 a82e7aa4a7427a..00000000000000 --- a/ports/enet/CMakeLists.txt +++ /dev/null @@ -1,103 +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) - -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 7d2a4289af6ba7..c85c7f19aaef3d 100644 --- a/ports/enet/vcpkg.json +++ b/ports/enet/vcpkg.json @@ -1,7 +1,6 @@ { "name": "enet", - "version": "1.3.17", - "port-version": 1, + "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 new file mode 100644 index 00000000000000..c9b92378078aa7 --- /dev/null +++ b/ports/enkits/portfile.cmake @@ -0,0 +1,29 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO dougbinks/enkiTS + REF "03e6a2c0c97208ade44478d617d2002b0f95faf4" + SHA512 2889a7b015319115f6acf74036f709b30786602f3b7205bdf401644172e2d92307f325719ccc02ad93a09557a9155e31db4d8e07f9f77e0c700d5a3365091ad3 + HEAD_REF master + PATCHES + fix_shared_install.patch +) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DENKITS_BUILD_C_INTERFACE=ON + -DENKITS_BUILD_EXAMPLES=OFF + -DENKITS_BUILD_SHARED=${BUILD_SHARED} + -DENKITS_INSTALL=ON +) + +vcpkg_cmake_install() +vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() +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}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/License.txt") diff --git a/ports/enkits/usage b/ports/enkits/usage new file mode 100644 index 00000000000000..ffb68ab7f4b180 --- /dev/null +++ b/ports/enkits/usage @@ -0,0 +1,4 @@ + enkits provides CMake targets: + + find_package(enkiTS CONFIG REQUIRED) + target_link_libraries(main PRIVATE enkiTS::enkiTS) diff --git a/ports/enkits/vcpkg.json b/ports/enkits/vcpkg.json new file mode 100644 index 00000000000000..4b5fc3b8141547 --- /dev/null +++ b/ports/enkits/vcpkg.json @@ -0,0 +1,18 @@ +{ + "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", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/ensmallen/dependencies.patch b/ports/ensmallen/dependencies.patch new file mode 100644 index 00000000000000..a6d92a15fac0e8 --- /dev/null +++ b/ports/ensmallen/dependencies.patch @@ -0,0 +1,26 @@ +diff --git a/CMake/ensmallen-config.cmake.in b/CMake/ensmallen-config.cmake.in +index 3a9a93c..a067e08 100644 +--- a/CMake/ensmallen-config.cmake.in ++++ b/CMake/ensmallen-config.cmake.in +@@ -1,4 +1,6 @@ + @PACKAGE_INIT@ ++include(CMakeFindDependencyMacro) ++find_dependency(Armadillo CONFIG) + + include(${CMAKE_CURRENT_LIST_DIR}/@TARGETS_EXPORT_NAME@.cmake) + check_required_components(ensmallen) +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 205fe1b..7fcd207 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -57,8 +57,8 @@ if(USE_OPENMP) + endif() + + # Find Armadillo and link it. +-find_package(Armadillo 9.800.0 REQUIRED) +-target_link_libraries(ensmallen INTERFACE Armadillo::Armadillo) ++find_package(Armadillo CONFIG REQUIRED) ++target_link_libraries(ensmallen INTERFACE armadillo) + + # Set helper variables for creating the version, config and target files. + include(CMakePackageConfigHelpers) diff --git a/ports/ensmallen/portfile.cmake b/ports/ensmallen/portfile.cmake index 2e1a71e1e123a6..d02e97c519d1e7 100644 --- a/ports/ensmallen/portfile.cmake +++ b/ports/ensmallen/portfile.cmake @@ -1,13 +1,16 @@ +vcpkg_minimum_required(VERSION 2022-10-12) # for ${VERSION} vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO mlpack/ensmallen - REF 9bd4bc25275066fa03173f65e1cbd789472e8f9b # 2.17.0 - SHA512 8b665e6307e73ad3273eb28c17ec62e8d0d968623d41b5460771be41a74f6a8088ddadb1764b9b4dc496dbceae6e791895cee0997de8614dc9a7426b6db663e0 + REF "${VERSION}" + SHA512 1e86fc28a58694057262a8d036af8080be084c889f7b659b77a08fd4e0957d0f03d8866e47b682a1868b5ac2198cca85c591a334b284096659a123196de95a66 HEAD_REF master + PATCHES + dependencies.patch ) vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_TESTS=OFF ) @@ -15,7 +18,7 @@ vcpkg_cmake_install() vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/ensmallen) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") file(INSTALL "${SOURCE_PATH}/COPYRIGHT.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/ensmallen/vcpkg.json b/ports/ensmallen/vcpkg.json index f5648353cbf4b3..e0090d1027de87 100644 --- a/ports/ensmallen/vcpkg.json +++ b/ports/ensmallen/vcpkg.json @@ -1,8 +1,9 @@ { "name": "ensmallen", - "version-semver": "2.17.0", + "version-semver": "2.21.1", "description": "A header-only C++ library for mathematical optimization", - "homepage": "https://github.com/mlpack/ensmallen", + "homepage": "http://ensmallen.org/", + "license": "BSD-3-Clause", "dependencies": [ "armadillo", "blas", diff --git a/ports/entityx/portfile.cmake b/ports/entityx/portfile.cmake index d0f83eef4f08d3..3a731ea121a986 100644 --- a/ports/entityx/portfile.cmake +++ b/ports/entityx/portfile.cmake @@ -8,19 +8,18 @@ vcpkg_from_github( HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" DISABLE_PARALLEL_CONFIGURE - PREFER_NINJA OPTIONS + -DCMAKE_CXX_STANDARD=11 # std::iterator is deprecated in C++17 -DENTITYX_BUILD_TESTING=false -DENTITYX_BUILD_SHARED=0 ) -vcpkg_install_cmake() +vcpkg_cmake_install() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") # Handle copyright -file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/entityx) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/entityx/COPYING ${CURRENT_PACKAGES_DIR}/share/entityx/copyright) +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/entityx" RENAME copyright) diff --git a/ports/entityx/vcpkg.json b/ports/entityx/vcpkg.json index 101eb1fa0b6cfa..722271401e2171 100644 --- a/ports/entityx/vcpkg.json +++ b/ports/entityx/vcpkg.json @@ -1,7 +1,13 @@ { "name": "entityx", - "version-string": "1.3.0", - "port-version": 3, + "version": "1.3.0", + "port-version": 6, "description": "EntityX - A fast, type-safe C++ Entity-Component system.", - "homepage": "https://github.com/alecthomas/entityx" + "homepage": "https://github.com/alecthomas/entityx", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/entt/portfile.cmake b/ports/entt/portfile.cmake index f683c1a096f7f8..527bbcde6fc735 100644 --- a/ports/entt/portfile.cmake +++ b/ports/entt/portfile.cmake @@ -1,36 +1,26 @@ -if ("experimental" IN_LIST FEATURES) - vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO skypjack/entt - HEAD_REF experimental - ) -else() - vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO skypjack/entt - REF 2d5a3f24aa6dc38ed0c4eee9d4d625586d8e921e #v3.8.0 - SHA512 36b7be2550be5a919548e5c91db218ed9b062804d4f43073d6fc6b432fa2d358b5d36098490359ca2392370b2bf1b99d20e564504eaac619f5cd7f9612d91e2e - HEAD_REF master - ) -endif() +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO skypjack/entt + REF "v${VERSION}" + SHA512 153cd353aa211a93c8f2f8650d55a0fd2ea9abb836386ef827285b6ab96ad680e92cac65c4b23db50c7882078d599200ac6a9eb3326a2a33160e62fc624202c7 + HEAD_REF master +) + +set(VCPKG_BUILD_TYPE release) # header-only port -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - DISABLE_PARALLEL_CONFIGURE - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DENTT_BUILD_TESTING=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/EnTT/cmake) -if(EXISTS ${CURRENT_PACKAGES_DIR}/cmake) - vcpkg_fixup_cmake_targets(CONFIG_PATH cmake) -else() - vcpkg_fixup_cmake_targets(CONFIG_PATH lib/EnTT/cmake) -endif() +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib) +# Install natvis files +file(INSTALL "${SOURCE_PATH}/natvis/entt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}/natvis") -# Handle copyright -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/entt/usage b/ports/entt/usage new file mode 100644 index 00000000000000..5de642338f8de7 --- /dev/null +++ b/ports/entt/usage @@ -0,0 +1,4 @@ +entt provides CMake targets: + + find_package(EnTT CONFIG REQUIRED) + target_link_libraries(main PRIVATE EnTT::EnTT) diff --git a/ports/entt/vcpkg.json b/ports/entt/vcpkg.json index 43beae304f298c..91eb1b0b59eca7 100644 --- a/ports/entt/vcpkg.json +++ b/ports/entt/vcpkg.json @@ -1,12 +1,17 @@ { "name": "entt", - "version": "3.8.0", - "port-version": 1, + "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", - "features": { - "experimental": { - "description": "Use experimental features right away" + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true } - } + ] } diff --git a/ports/epsilon/portfile.cmake b/ports/epsilon/portfile.cmake index 525974ab575546..e753526972272b 100644 --- a/ports/epsilon/portfile.cmake +++ b/ports/epsilon/portfile.cmake @@ -1,5 +1,3 @@ -vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) - vcpkg_from_sourceforge( OUT_SOURCE_PATH SOURCE_PATH REPO epsilon-project/epsilon @@ -43,6 +41,13 @@ vcpkg_install_nmake( vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +vcpkg_copy_tools(TOOL_NAMES epsilon SEARCH_DIR "${CURRENT_PACKAGES_DIR}/tools") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/tools") + +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(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/epsilon/vcpkg.json b/ports/epsilon/vcpkg.json index d19ef5749b4126..9377d9dda3169c 100644 --- a/ports/epsilon/vcpkg.json +++ b/ports/epsilon/vcpkg.json @@ -1,10 +1,11 @@ { "name": "epsilon", - "version-string": "0.9.2", - "port-version": 6, + "version": "0.9.2", + "port-version": 8, "description": "EPSILON is an Open Source wavelet image compressor, that is aimed on parallel and robust image processing.", "homepage": "https://sourceforge.net/projects/epsilon-project/", - "supports": "windows", + "license": "GPL-2.0-only OR LGPL-2.0-only", + "supports": "windows & !xbox", "dependencies": [ "libpopt" ] diff --git a/ports/ereignis/portfile.cmake b/ports/ereignis/portfile.cmake new file mode 100644 index 00000000000000..8840c2d6bafeb7 --- /dev/null +++ b/ports/ereignis/portfile.cmake @@ -0,0 +1,14 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Soundux/ereignis + REF "v${VERSION}" + SHA512 b8c8bbb40bf3501e4612cddfbdbf8117f0e89c7781dfa551f1a62e825566dfd9755889d2c953827679d94198ebfbd8f01e85478d7ac0529b0d564d45788ca707 + HEAD_REF master +) + +vcpkg_cmake_configure(SOURCE_PATH ${SOURCE_PATH}) + +vcpkg_cmake_install() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/ereignis/vcpkg.json b/ports/ereignis/vcpkg.json new file mode 100644 index 00000000000000..eb3aa937b78307 --- /dev/null +++ b/ports/ereignis/vcpkg.json @@ -0,0 +1,13 @@ +{ + "name": "ereignis", + "version": "2.3", + "description": "A thread-safe C++17 Event Library", + "homepage": "https://github.com/Soundux/ereignis", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] +} diff --git a/ports/etcd-cpp-apiv3/portfile.cmake b/ports/etcd-cpp-apiv3/portfile.cmake new file mode 100644 index 00000000000000..b4f416fe0832bd --- /dev/null +++ b/ports/etcd-cpp-apiv3/portfile.cmake @@ -0,0 +1,35 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO etcd-cpp-apiv3/etcd-cpp-apiv3 + REF "v${VERSION}" + SHA512 52f3cf14ad5594c04a086786d3459aee0986017a0314dfdf3fff1715677ff7a7ebedcc0afc28e1d7e75b8991ab6ede95eeded472d85ac1def84343cc1c54a30a + HEAD_REF master +) +file(WRITE "${SOURCE_PATH}/cmake/UploadPPA.cmake" "") + +vcpkg_cmake_configure( + 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 +) + +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") + +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/etcd-cpp-apiv3/usage b/ports/etcd-cpp-apiv3/usage new file mode 100644 index 00000000000000..3bc2f537387050 --- /dev/null +++ b/ports/etcd-cpp-apiv3/usage @@ -0,0 +1,4 @@ +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 new file mode 100644 index 00000000000000..6277692437da84 --- /dev/null +++ b/ports/etcd-cpp-apiv3/vcpkg.json @@ -0,0 +1,28 @@ +{ + "name": "etcd-cpp-apiv3", + "version": "0.15.4", + "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", + "dependencies": [ + "boost-asio", + "boost-random", + "boost-system", + "boost-thread", + { + "name": "cpprestsdk", + "default-features": false + }, + "grpc", + "openssl", + "protobuf", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/etl/portfile.cmake b/ports/etl/portfile.cmake new file mode 100644 index 00000000000000..d03cd298260ac5 --- /dev/null +++ b/ports/etl/portfile.cmake @@ -0,0 +1,27 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO ETLCPP/etl + REF "${VERSION}" + SHA512 27204220da2bc0d6028a689005ebd9150edffae78e6be6beae2ee361e3ef6dce90d1345637fc3ae4f03ef60404de9967ff40c694447c0f85f79772fde39f224f + HEAD_REF master +) + +# header-only +set(VCPKG_BUILD_TYPE "release") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_TESTS=OFF +) + +vcpkg_cmake_install() +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 new file mode 100644 index 00000000000000..b032d36c6a7b04 --- /dev/null +++ b/ports/etl/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "etl", + "version": "20.39.4", + "description": "A C++ template library for embedded applications", + "homepage": "https://www.etlcpp.com", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/eve/portfile.cmake b/ports/eve/portfile.cmake new file mode 100644 index 00000000000000..bccc8c46fa2735 --- /dev/null +++ b/ports/eve/portfile.cmake @@ -0,0 +1,29 @@ +vcpkg_minimum_required(VERSION 2022-10-12) # for ${VERSION} + +string(REGEX REPLACE "^(v[0-9]+)[.]([0-9])[.]([0-9]+)\$" "\\1.0\\2.\\3" git_ref "v${VERSION}") +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO jfalcou/eve + REF "${git_ref}" + SHA512 20b55996465fa5016d43cee95541510b6470b2358635b0e269965d3fb43731e83b92bc2df0502fcdfadd31de47f877f22b1c6ae84638f1f3db92c70315cc1b29 + HEAD_REF main +) + +set(VCPKG_BUILD_TYPE release) # header-only port + +vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}") + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/eve-${VERSION}") +if(NOT EXISTS "${CURRENT_PACKAGES_DIR}/share/eve/eve-config.cmake") + message(FATAL_ERROR "CMake config is missing") +endif() + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/lib" + "${CURRENT_PACKAGES_DIR}/share/doc" +) + +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) diff --git a/ports/eve/usage b/ports/eve/usage new file mode 100644 index 00000000000000..ca0652227e426f --- /dev/null +++ b/ports/eve/usage @@ -0,0 +1,7 @@ +eve provides CMake targets: + + find_package(eve CONFIG REQUIRED) + target_link_libraries(main PRIVATE eve::eve) + +Using eve requires a C++20 compliant compiler. +GCC-11 and clang-12 are known to work. diff --git a/ports/eve/vcpkg.json b/ports/eve/vcpkg.json new file mode 100644 index 00000000000000..434ac600ea3df9 --- /dev/null +++ b/ports/eve/vcpkg.json @@ -0,0 +1,19 @@ +{ + "name": "eve", + "version": "2023.2.15", + "description": "EVE - the Expressive Vector Engine : C++20 SIMD Programming Library", + "homepage": "https://github.com/jfalcou/eve", + "documentation": "https://jfalcou.github.io/eve/", + "license": "BSL-1.0", + "supports": "!windows, mingw", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/eventpp/portfile.cmake b/ports/eventpp/portfile.cmake new file mode 100644 index 00000000000000..7d0e7327fae5d3 --- /dev/null +++ b/ports/eventpp/portfile.cmake @@ -0,0 +1,21 @@ +set(VCPKG_BUILD_TYPE release) # header-only + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO wqking/eventpp + REF "v${VERSION}" + SHA512 b39994e9bd581d6bb61b634c434c46075e41ec2217e1174578fefd206a927bd725744ae0724d319cde8f2b2a43d2e030a04c271197500d94c6b1afd849f779fd + HEAD_REF master +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/eventpp") + +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 new file mode 100644 index 00000000000000..ebb984960aa498 --- /dev/null +++ b/ports/eventpp/vcpkg.json @@ -0,0 +1,18 @@ +{ + "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", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/evpp/Add-static-shared-handling.patch b/ports/evpp/Add-static-shared-handling.patch new file mode 100644 index 00000000000000..f597bfe70b1e60 --- /dev/null +++ b/ports/evpp/Add-static-shared-handling.patch @@ -0,0 +1,98 @@ +diff --git a/apps/evmc/CMakeLists.txt b/apps/evmc/CMakeLists.txt +index 9918919..f8cffa7 100644 +--- a/apps/evmc/CMakeLists.txt ++++ b/apps/evmc/CMakeLists.txt +@@ -9,6 +9,7 @@ add_library(evmc_static STATIC ${evmc_SRCS}) + target_link_libraries(evmc_static ${LIBRARIES}) + + if (UNIX) ++ if(BUILD_SHARED_LIBS) + add_library(evmc SHARED ${evmc_SRCS}) + target_link_libraries(evmc ${LIBRARIES}) + +@@ -25,6 +26,7 @@ if (UNIX) + TARGETS evmc + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib) ++ endif() + endif (UNIX) + + install ( +diff --git a/apps/evnsq/CMakeLists.txt b/apps/evnsq/CMakeLists.txt +index c510814..65f15cd 100644 +--- a/apps/evnsq/CMakeLists.txt ++++ b/apps/evnsq/CMakeLists.txt +@@ -5,6 +5,7 @@ add_library(evnsq_static STATIC ${evnsq_SRCS}) + target_link_libraries(evnsq_static ${LIBRARIES}) + + if (UNIX) ++ if(BUILD_SHARED_LIBS) + add_library(evnsq SHARED ${evnsq_SRCS}) + target_link_libraries(evnsq ${LIBRARIES}) + +@@ -21,6 +22,7 @@ if (UNIX) + TARGETS evnsq + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib) ++ endif() + endif (UNIX) + + install ( +diff --git a/evpp/CMakeLists.txt b/evpp/CMakeLists.txt +index 031659f..c16d708 100644 +--- a/evpp/CMakeLists.txt ++++ b/evpp/CMakeLists.txt +@@ -22,24 +22,19 @@ target_link_libraries(evpp_lite_static ${DEPENDENT_LIBRARIES}) + target_compile_features(evpp_lite_static PRIVATE cxx_std_11) + + if (UNIX) ++ if(BUILD_SHARED_LIBS) + add_library(evpp SHARED ${evpp_SRCS}) + target_link_libraries(evpp ${DEPENDENT_LIBRARIES}) + + # boost lockfree queue + add_library(evpp_boost SHARED ${evpp_SRCS}) +- add_library(evpp_boost_static STATIC ${evpp_SRCS}) + target_compile_definitions(evpp_boost PRIVATE -DH_HAVE_BOOST=1) +- target_compile_definitions(evpp_boost_static PRIVATE -DH_HAVE_BOOST=1) + target_link_libraries(evpp_boost ${DEPENDENT_LIBRARIES}) +- target_link_libraries(evpp_boost_static ${DEPENDENT_LIBRARIES}) + + # https://github.com/cameron314/concurrentqueue + add_library(evpp_concurrentqueue SHARED ${evpp_SRCS}) +- add_library(evpp_concurrentqueue_static STATIC ${evpp_SRCS}) + target_compile_definitions(evpp_concurrentqueue PRIVATE -DH_HAVE_CAMERON314_CONCURRENTQUEUE=1) +- target_compile_definitions(evpp_concurrentqueue_static PRIVATE -DH_HAVE_CAMERON314_CONCURRENTQUEUE=1) + target_link_libraries(evpp_concurrentqueue ${DEPENDENT_LIBRARIES}) +- target_link_libraries(evpp_concurrentqueue_static ${DEPENDENT_LIBRARIES}) + + set (CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake") + include (utils) +@@ -51,11 +46,26 @@ if (UNIX) + ) + + install ( +- TARGETS evpp evpp_static evpp_lite_static evpp_boost evpp_boost_static evpp_concurrentqueue evpp_concurrentqueue_static ++ TARGETS evpp evpp_boost evpp_concurrentqueue + EXPORT ${PACKAGE_NAME} + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib) ++ else() ++ add_library(evpp_boost_static STATIC ${evpp_SRCS}) ++ target_compile_definitions(evpp_boost_static PRIVATE -DH_HAVE_BOOST=1) ++ target_link_libraries(evpp_boost_static ${DEPENDENT_LIBRARIES}) ++ ++ add_library(evpp_concurrentqueue_static STATIC ${evpp_SRCS}) ++ target_compile_definitions(evpp_concurrentqueue_static PRIVATE -DH_HAVE_CAMERON314_CONCURRENTQUEUE=1) ++ target_link_libraries(evpp_concurrentqueue_static ${DEPENDENT_LIBRARIES}) ++ ++ install ( ++ TARGETS evpp_static evpp_lite_static evpp_boost_static evpp_concurrentqueue_static ++ EXPORT ${PACKAGE_NAME} ++ LIBRARY DESTINATION lib ++ ARCHIVE DESTINATION lib) ++ endif() + + else (UNIX) + install ( diff --git a/ports/evpp/Export-unofficial-target.patch b/ports/evpp/Export-unofficial-target.patch new file mode 100644 index 00000000000000..dfe7c82bbc9b3a --- /dev/null +++ b/ports/evpp/Export-unofficial-target.patch @@ -0,0 +1,168 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d325df7..772da36 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -88,3 +88,17 @@ include (packages) + + include (CPack) + include (CTest) ++ ++install(EXPORT unofficial-evpp-target ++ FILE unofficial-evpp-target.cmake ++ NAMESPACE unofficial::evpp:: ++ DESTINATION share/unofficial-evpp ++) ++ ++file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/unofficial-evpp-config.cmake" ++[[include(CMakeFindDependencyMacro) ++find_dependency(glog CONFIG) ++find_dependency(Libevent CONFIG) ++include("${CMAKE_CURRENT_LIST_DIR}/unofficial-evpp-target.cmake") ++]]) ++install(FILES ${CMAKE_CURRENT_BINARY_DIR}/unofficial-evpp-config.cmake DESTINATION "share/unofficial-evpp") +\ No newline at end of file +diff --git a/apps/evmc/CMakeLists.txt b/apps/evmc/CMakeLists.txt +index f8cffa7..91663d6 100644 +--- a/apps/evmc/CMakeLists.txt ++++ b/apps/evmc/CMakeLists.txt +@@ -7,12 +7,13 @@ file(GLOB evmc_PUBLIC_HEADERS *.h) + + add_library(evmc_static STATIC ${evmc_SRCS}) + target_link_libraries(evmc_static ${LIBRARIES}) ++target_include_directories(evmc_static INTERFACE $) + + if (UNIX) + if(BUILD_SHARED_LIBS) + add_library(evmc SHARED ${evmc_SRCS}) + target_link_libraries(evmc ${LIBRARIES}) +- ++ target_include_directories(evmc INTERFACE $) + set (CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake") + include (utils) + include (packages) +@@ -24,6 +25,8 @@ if (UNIX) + + install ( + TARGETS evmc ++ EXPORT unofficial-evpp-target ++ RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib) + endif() +@@ -31,6 +34,7 @@ endif (UNIX) + + install ( + TARGETS evmc_static ++ EXPORT unofficial-evpp-target + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib) + install (FILES ${evmc_PUBLIC_HEADERS} DESTINATION "include/evmc") +diff --git a/apps/evnsq/CMakeLists.txt b/apps/evnsq/CMakeLists.txt +index 65f15cd..7c9fbf5 100644 +--- a/apps/evnsq/CMakeLists.txt ++++ b/apps/evnsq/CMakeLists.txt +@@ -3,12 +3,13 @@ file(GLOB evnsq_PUBLIC_HEADERS *.h) + + add_library(evnsq_static STATIC ${evnsq_SRCS}) + target_link_libraries(evnsq_static ${LIBRARIES}) ++target_include_directories(evnsq_static INTERFACE $) + + if (UNIX) + if(BUILD_SHARED_LIBS) + add_library(evnsq SHARED ${evnsq_SRCS}) + target_link_libraries(evnsq ${LIBRARIES}) +- ++ target_include_directories(evnsq INTERFACE $) + set (CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake") + include (utils) + include (packages) +@@ -20,6 +21,8 @@ if (UNIX) + + install ( + TARGETS evnsq ++ EXPORT unofficial-evpp-target ++ RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib) + endif() +@@ -27,6 +30,7 @@ endif (UNIX) + + install ( + TARGETS evnsq_static ++ EXPORT unofficial-evpp-target + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib) + install (FILES ${evnsq_PUBLIC_HEADERS} DESTINATION "include/evnsq") +diff --git a/evpp/CMakeLists.txt b/evpp/CMakeLists.txt +index c16d708..1c17f04 100644 +--- a/evpp/CMakeLists.txt ++++ b/evpp/CMakeLists.txt +@@ -16,26 +16,28 @@ 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) + if(BUILD_SHARED_LIBS) + add_library(evpp SHARED ${evpp_SRCS}) + target_link_libraries(evpp ${DEPENDENT_LIBRARIES}) +- ++ target_include_directories(evpp INTERFACE $) + # boost lockfree queue + add_library(evpp_boost SHARED ${evpp_SRCS}) + target_compile_definitions(evpp_boost PRIVATE -DH_HAVE_BOOST=1) + target_link_libraries(evpp_boost ${DEPENDENT_LIBRARIES}) +- ++ target_include_directories(evpp_boost INTERFACE $) + # https://github.com/cameron314/concurrentqueue + add_library(evpp_concurrentqueue SHARED ${evpp_SRCS}) + target_compile_definitions(evpp_concurrentqueue PRIVATE -DH_HAVE_CAMERON314_CONCURRENTQUEUE=1) + target_link_libraries(evpp_concurrentqueue ${DEPENDENT_LIBRARIES}) +- ++ target_include_directories(evpp_concurrentqueue INTERFACE $) + set (CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake") + include (utils) + include (packages) +@@ -47,7 +49,7 @@ if (UNIX) + + install ( + TARGETS evpp evpp_boost evpp_concurrentqueue +- EXPORT ${PACKAGE_NAME} ++ EXPORT unofficial-evpp-target + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib) +@@ -55,14 +57,14 @@ if (UNIX) + add_library(evpp_boost_static STATIC ${evpp_SRCS}) + target_compile_definitions(evpp_boost_static PRIVATE -DH_HAVE_BOOST=1) + target_link_libraries(evpp_boost_static ${DEPENDENT_LIBRARIES}) +- ++ target_include_directories(evpp_boost_static INTERFACE $) + add_library(evpp_concurrentqueue_static STATIC ${evpp_SRCS}) + target_compile_definitions(evpp_concurrentqueue_static PRIVATE -DH_HAVE_CAMERON314_CONCURRENTQUEUE=1) + target_link_libraries(evpp_concurrentqueue_static ${DEPENDENT_LIBRARIES}) +- ++ target_include_directories(evpp_concurrentqueue_static INTERFACE $) + install ( + TARGETS evpp_static evpp_lite_static evpp_boost_static evpp_concurrentqueue_static +- EXPORT ${PACKAGE_NAME} ++ EXPORT unofficial-evpp-target + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib) + endif() +@@ -70,8 +72,7 @@ if (UNIX) + else (UNIX) + install ( + TARGETS evpp_static evpp_lite_static +- EXPORT ${PACKAGE_NAME} +- RUNTIME DESTINATION bin ++ EXPORT unofficial-evpp-target + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib) + diff --git a/ports/evpp/compile-features.patch b/ports/evpp/compile-features.patch new file mode 100644 index 00000000000000..c80e5515b86125 --- /dev/null +++ b/ports/evpp/compile-features.patch @@ -0,0 +1,31 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 47eb0a6..d325df7 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -53,7 +53,9 @@ if (UNIX) + list(APPEND DEPENDENT_INCLUDE_DIRS "${GLOG_INCLUDE_DIRS}/../") + SET(DEPENDENT_LIBRARIES libevent::core libevent::extra libevent::openssl glog::glog pthread) + else (UNIX) +- SET(DEPENDENT_LIBRARIES event glog) ++ find_package(glog CONFIG REQUIRED) ++ find_package(Libevent CONFIG REQUIRED) ++ SET(DEPENDENT_LIBRARIES libevent::core libevent::extra libevent::openssl glog::glog) + endif (UNIX) + + if (CMAKE_BENCHMARK_TESTING) +diff --git a/evpp/CMakeLists.txt b/evpp/CMakeLists.txt +index b2e470d..031659f 100644 +--- a/evpp/CMakeLists.txt ++++ b/evpp/CMakeLists.txt +@@ -15,9 +15,11 @@ 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) + + 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) + + if (UNIX) + add_library(evpp SHARED ${evpp_SRCS}) diff --git a/ports/evpp/portfile.cmake b/ports/evpp/portfile.cmake index b3edaf3aadf9cc..de461f457a72f8 100644 --- a/ports/evpp/portfile.cmake +++ b/ports/evpp/portfile.cmake @@ -10,20 +10,26 @@ vcpkg_from_github( fix-rapidjson-1-1.patch fix-linux-build.patch fix-osx-build.patch + 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) +file(REMOVE_RECURSE "${SOURCE_PATH}/3rdparty/rapidjson" "${SOURCE_PATH}/3rdparty/concurrentqueue") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DEVPP_VCPKG_BUILD=ON ) -vcpkg_install_cmake() +vcpkg_cmake_install() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-evpp) + +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) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) 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 ee95a96a78957d..76be4d4082f48e 100644 --- a/ports/evpp/vcpkg.json +++ b/ports/evpp/vcpkg.json @@ -1,9 +1,10 @@ { "name": "evpp", - "version-string": "0.7.0", - "port-version": 5, + "version": "0.7.0", + "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", "dependencies": [ { "name": "boost-lockfree", @@ -14,17 +15,20 @@ "platform": "!windows" }, "glog", - { - "name": "libevent", - "platform": "windows" - }, { "name": "libevent", "features": [ "openssl" - ], - "platform": "!windows" + ] }, - "rapidjson" + "rapidjson", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } 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/fix-ninja-error.patch b/ports/exiv2/fix-ninja-error.patch deleted file mode 100644 index 71f52f5615e62e..00000000000000 --- a/ports/exiv2/fix-ninja-error.patch +++ /dev/null @@ -1,42 +0,0 @@ -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index c52b352..b19c438 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -149,7 +149,7 @@ set_target_properties( exiv2lib_int PROPERTIES - - target_include_directories(exiv2lib_int PRIVATE ${ZLIB_INCLUDE_DIR}) - target_include_directories(exiv2lib PRIVATE -- $ -+ ${PROJECT_SOURCE_DIR}/xmpsdk/include - ${ZLIB_INCLUDE_DIR} - ) - -@@ -215,7 +215,7 @@ else() - endif() - - if( EXIV2_ENABLE_PNG ) -- target_link_libraries( exiv2lib PRIVATE $) -+ target_link_libraries( exiv2lib PRIVATE ${ZLIB_LIBRARIES}) - endif() - - if( EXIV2_ENABLE_NLS ) -diff --git a/xmpsdk/CMakeLists.txt b/xmpsdk/CMakeLists.txt -index a22698f..ca6ffe0 100644 ---- a/xmpsdk/CMakeLists.txt -+++ b/xmpsdk/CMakeLists.txt -@@ -27,13 +27,12 @@ add_library(exiv2-xmp STATIC - ) - - target_link_libraries(exiv2-xmp -- PRIVATE -- $ -+ PRIVATE ${EXPAT_LIBRARY} - ) - - target_include_directories(exiv2-xmp - PRIVATE -- $ -+ ${PROJECT_SOURCE_DIR}/xmpsdk/include - ${EXPAT_INCLUDE_DIR} - ) - diff --git a/ports/exiv2/portfile.cmake b/ports/exiv2/portfile.cmake index ff544138e5448c..5fcb41aa2dc773 100644 --- a/ports/exiv2/portfile.cmake +++ b/ports/exiv2/portfile.cmake @@ -1,34 +1,30 @@ -#https://github.com/Exiv2/exiv2/issues/1063 -vcpkg_fail_port_install(ON_TARGET "uwp") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Exiv2/exiv2 - REF 15098f4ef50cc721ad0018218acab2ff06e60beb #v0.27.4 - SHA512 4be0a9c4c64c65a9ca85291ba2cf54efacc5a88dae534c2d9252986df4e12212899c33093b07695369108e3763b3d74592a6153d832743694ec95c9a03c7e2c3 + REF "v${VERSION}" + SHA512 c8338a118feefa104d73932890c732247c884ab9ce1d170c43a22ab5884517a0e2a7fd1febde7705b8290fbbbc29e64738610404816e4db2b56a70fc444ca049 HEAD_REF master PATCHES - fix-ninja-error.patch + dependencies.diff ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES - unicode EXIV2_ENABLE_WIN_UNICODE 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) -if("unicode" IN_LIST FEATURES AND NOT VCPKG_TARGET_IS_WINDOWS) - message(FATAL_ERROR "Feature unicode only supports Windows platform.") -endif() +vcpkg_add_to_path(PREPEND "${CURRENT_HOST_INSTALLED_DIR}/tools/gettext/bin") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${FEATURE_OPTIONS} -DEXIV2_BUILD_EXIV2_COMMAND=OFF @@ -36,43 +32,27 @@ vcpkg_configure_cmake( -DEXIV2_BUILD_SAMPLES=OFF -DEXIV2_BUILD_DOC=OFF -DEXIV2_ENABLE_EXTERNAL_XMP=OFF - -DEXIV2_ENABLE_PRINTUCS2=OFF -DEXIV2_ENABLE_LENSDATA=ON -DEXIV2_ENABLE_DYNAMIC_RUNTIME=${EXIV2_CRT_DYNAMIC} -DEXIV2_ENABLE_WEBREADY=OFF -DEXIV2_ENABLE_CURL=OFF - -DEXIV2_ENABLE_SSH=OFF - -DEXIV2_ENABLE_BMFF=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_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/exiv2) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/exiv2) vcpkg_fixup_pkgconfig() - -if("nls" IN_LIST FEATURES) - set(EXIV2_ENABLE_NLS ON) -else() - set(EXIV2_ENABLE_NLS OFF) -endif() -configure_file( - ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake - ${CURRENT_PACKAGES_DIR}/share/${PORT} - @ONLY -) - vcpkg_copy_pdbs() -# Clean -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/exiv2 ${CURRENT_PACKAGES_DIR}/lib/exiv2) - -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" +) -# Handle copyright -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/exiv2/vcpkg-cmake-wrapper.cmake b/ports/exiv2/vcpkg-cmake-wrapper.cmake deleted file mode 100644 index 62f4ecca347b39..00000000000000 --- a/ports/exiv2/vcpkg-cmake-wrapper.cmake +++ /dev/null @@ -1,16 +0,0 @@ -_find_package(${ARGS}) - -if("@VCPKG_LIBRARY_LINKAGE@" STREQUAL "static") - find_package(Iconv REQUIRED) - if(@EXIV2_ENABLE_NLS@) - find_package(Intl REQUIRED) - endif() - if(TARGET exiv2lib) - set_property(TARGET exiv2lib APPEND PROPERTY INTERFACE_LINK_LIBRARIES - Iconv::Iconv - ) - if(@EXIV2_ENABLE_NLS@) - set_property(TARGET exiv2lib APPEND PROPERTY INTERFACE_LINK_LIBRARIES ${Intl_LIBRARIES}) - endif() - endif() -endif() diff --git a/ports/exiv2/vcpkg.json b/ports/exiv2/vcpkg.json index 5ed357690aab2e..27ea742e4730ff 100644 --- a/ports/exiv2/vcpkg.json +++ b/ports/exiv2/vcpkg.json @@ -1,32 +1,54 @@ { "name": "exiv2", - "version": "0.27.4", + "version": "0.28.3", "port-version": 2, "description": "Image metadata library and tools", - "homepage": "https://www.exiv2.org", - "supports": "!uwp", + "homepage": "https://exiv2.org", + "license": "GPL-2.0-or-later", + "supports": "!xbox", "dependencies": [ - "libiconv" + "inih", + { + "name": "libiconv", + "platform": "!windows" + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ], "features": { + "bmff": { + "description": "Support for BMFF files (e.g., CR3, HEIF, HEIC, AVIF, and JPEG XL)", + "dependencies": [ + "brotli" + ] + }, "nls": { "description": "Build native language support", "dependencies": [ - "gettext" + { + "name": "gettext", + "host": true, + "features": [ + "tools" + ] + }, + "gettext-libintl" ] }, "png": { - "description": "Build with png support (requires libz)", + "description": "Build with png support", "dependencies": [ - "libpng", "zlib" ] }, - "unicode": { - "description": "Compile with unicode support on windows" - }, "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/pkgconfig.patch b/ports/expat/pkgconfig.patch deleted file mode 100644 index 98ea4b2df9c1fb..00000000000000 --- a/ports/expat/pkgconfig.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/expat/CMakeLists.txt b/expat/CMakeLists.txt -index cd12a99..03c2c4d 100644 ---- a/expat/CMakeLists.txt -+++ b/expat/CMakeLists.txt -@@ -419,6 +419,8 @@ expat_install(FILES lib/expat.h lib/expat_external.h DESTINATION ${CMAKE_INSTALL - # - # pkg-config file - # -+string(TOUPPER "${CMAKE_BUILD_TYPE}" BUILD_TYPE_UPPER) -+set(_EXPAT_OUTPUT_NAME ${_EXPAT_OUTPUT_NAME}${CMAKE_${BUILD_TYPE_UPPER}_POSTFIX}) - if(EXPAT_BUILD_PKGCONFIG) - set(prefix ${CMAKE_INSTALL_PREFIX}) - set(exec_prefix "\${prefix}") diff --git a/ports/expat/portfile.cmake b/ports/expat/portfile.cmake index 4de88bce1134b6..3caeee497cbe2e 100644 --- a/ports/expat/portfile.cmake +++ b/ports/expat/portfile.cmake @@ -1,50 +1,43 @@ -set (EX_VERSION 2.4.1) +string(REPLACE "." "_" REF "R_${VERSION}") vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libexpat/libexpat - REF a28238bdeebc087071777001245df1876a11f5ee #v2.4.1 - SHA512 2c22f2dfab50644637a7777229849c91630ae8c50683df6ad6409d473690ce01b59ce9f98e66b0aeac8c650507f04edbb5d9738130c88b87bbc1adb7831c22a9 + REF "${REF}" + SHA512 370c1c8d6f6d55190ad60141c694ca16b33b020c300efd39fe90f084e3f23a63be4886bb954d126c0cecc87d8c9e8c29f38ed2b2d47775ec0293b2d63ef921d4 HEAD_REF master - PATCHES - pkgconfig.patch ) -if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - set(EXPAT_LINKAGE ON) -else() - set(EXPAT_LINKAGE OFF) -endif() +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" EXPAT_LINKAGE) +string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" EXPAT_CRT_LINKAGE) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH}/expat - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/expat" OPTIONS -DEXPAT_BUILD_EXAMPLES=OFF -DEXPAT_BUILD_TESTS=OFF -DEXPAT_BUILD_TOOLS=OFF + -DEXPAT_BUILD_DOCS=OFF -DEXPAT_SHARED_LIBS=${EXPAT_LINKAGE} + -DEXPAT_MSVC_STATIC_CRT=${EXPAT_CRT_LINKAGE} -DEXPAT_BUILD_PKGCONFIG=ON + MAYBE_UNUSED_VARIABLES + EXPAT_MSVC_STATIC_CRT ) -vcpkg_install_cmake() - -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/expat-${EX_VERSION}) +vcpkg_cmake_install() +vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/expat-${VERSION}") 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/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() - -#Handle copyright -file(INSTALL ${SOURCE_PATH}/expat/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) - -file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/expat/COPYING") diff --git a/ports/expat/vcpkg-cmake-wrapper.cmake b/ports/expat/vcpkg-cmake-wrapper.cmake index 4d3e9e05d9c84d..2bdace20c71ee7 100644 --- a/ports/expat/vcpkg-cmake-wrapper.cmake +++ b/ports/expat/vcpkg-cmake-wrapper.cmake @@ -24,4 +24,4 @@ if(EXPAT_FOUND AND TARGET EXPAT::EXPAT) endif() unset(EXPATNAMES) -unset(DEBUGNAMES) \ No newline at end of file +unset(DEBUGNAMES) diff --git a/ports/expat/vcpkg.json b/ports/expat/vcpkg.json index 6444ec7d2a62e0..9a28b9184f3bda 100644 --- a/ports/expat/vcpkg.json +++ b/ports/expat/vcpkg.json @@ -1,6 +1,17 @@ { "name": "expat", - "version-semver": "2.4.1", + "version": "2.6.3", "description": "XML parser library written in C", - "homepage": "https://github.com/libexpat/libexpat" + "homepage": "https://github.com/libexpat/libexpat", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/expected-lite/portfile.cmake b/ports/expected-lite/portfile.cmake index 33079f6746144a..b3244c69235105 100644 --- a/ports/expected-lite/portfile.cmake +++ b/ports/expected-lite/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO martinmoene/expected-lite - REF v0.5.0 - SHA512 6dd8974d518db0c79fe7bd0e407a85436c6ad222f8e5ed84efb34925d9a665b5b83ff08529b3e985034ed9a9201c80575f6a956132408ef6577c9c47cac55eae + REF "v${VERSION}" + SHA512 1e2b36e4966d66aa202c9fd9c251e643593cd3e08d5ecbff8849e2a41abab199188aaca25f1d4e84f1b3cb2387875a9750900dfc4ee56c2dbf153af9c2520943 HEAD_REF master ) @@ -24,6 +24,4 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib" ) -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/expected-lite/vcpkg.json b/ports/expected-lite/vcpkg.json index 3093555aabb987..d8c6d9228645e5 100644 --- a/ports/expected-lite/vcpkg.json +++ b/ports/expected-lite/vcpkg.json @@ -1,8 +1,9 @@ { "name": "expected-lite", - "version": "0.5.0", + "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", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/exprtk/copyright b/ports/exprtk/copyright index f360b8332b9f60..f52eae229b5a4d 100644 --- a/ports/exprtk/copyright +++ b/ports/exprtk/copyright @@ -1,5 +1,5 @@ -Copyright 1999-2021 Arash Partow -http://www.partow.net/programming/exprtk/index.html +Copyright 1999-2022 Arash Partow +https://www.partow.net/programming/exprtk/index.html 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: diff --git a/ports/exprtk/portfile.cmake b/ports/exprtk/portfile.cmake index 8ebab1b62db09a..3217882ebd973f 100644 --- a/ports/exprtk/portfile.cmake +++ b/ports/exprtk/portfile.cmake @@ -1,8 +1,9 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ArashPartow/exprtk - REF ca5c577917646ddba3f71ce6d5dd7d01f351ee80 - SHA512 bb4e36cec74c5e583c417000e4b20dc878572f0eeceffdae021dcdc0cc3e4186be150ca446722ce6a497c9cd4f8bbe51098894207ce711b33139fffb5dd2f6a4 + REF 806C519C91FD08BA4FA19380DBF3F6E42DE9E2D1 + SHA512 A323CCAF161FD0087FD8208D1B24C2A3FD422F8875E29B22AE70E6DD2F10F396F6BF1AD36D3FFDC10D32314AE8F83749974301A349BE0F27733292BCF5193640 + HEAD_REF master ) file(COPY ${SOURCE_PATH}/exprtk.hpp DESTINATION ${CURRENT_PACKAGES_DIR}/include) diff --git a/ports/exprtk/vcpkg.json b/ports/exprtk/vcpkg.json index 9a1d1a1a288028..90bc3a4283a571 100644 --- a/ports/exprtk/vcpkg.json +++ b/ports/exprtk/vcpkg.json @@ -1,7 +1,8 @@ { "name": "exprtk", - "version-string": "2021-01-01", - "port-version": 1, + "version-date": "2022-01-01", + "port-version": 2, "description": "Simple to use, easy to integrate and extremely efficient run-time C++ mathematical expression parser and evaluation engine.", - "homepage": "http://www.partow.net/programming/exprtk/index.html" + "homepage": "https://www.partow.net/programming/exprtk/index.html", + "license": "MIT" } diff --git a/ports/ezc3d/portfile.cmake b/ports/ezc3d/portfile.cmake index 3c402b6f9cb6d7..1a8ce98491d080 100644 --- a/ports/ezc3d/portfile.cmake +++ b/ports/ezc3d/portfile.cmake @@ -1,39 +1,21 @@ -vcpkg_from_github(ARCHIVE +vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO pyomeca/ezc3d - REF Release_1.4.6 - SHA512 f63da7e715c09c6a757fe923fd397c09e1cbd0a58a78b1d8fa52bd1a41230ecab2cbb17ecc3d4f66656f3234bfe4c8588164f1d4964dcce729da091e99daab2d + REF "Release_${VERSION}" + SHA512 343b4c6a03ff6cdf01e4443929a05eb15c14ed50d77f3a4e7783ace118f628e16873c8cd41ac58ecc2f29bf1ee6dd58851d45e5d64e2afc0d283c8c0a4eca576 HEAD_REF dev ) -if(WIN32) - vcpkg_cmake_configure( - SOURCE_PATH "${SOURCE_PATH}" - OPTIONS - -DBUILD_EXAMPLE=OFF - -Dezc3d_LIB_FOLDER="lib" - -Dezc3d_BIN_FOLDER="bin" - ) -else() - vcpkg_cmake_configure( - SOURCE_PATH "${SOURCE_PATH}" - OPTIONS - -DBUILD_EXAMPLE=OFF - ) -endif() - +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_EXAMPLE=OFF +) vcpkg_cmake_install() +vcpkg_copy_pdbs() -if(WIN32) - vcpkg_cmake_config_fixup(CONFIG_PATH "CMake") -else() - vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake") -endif() - -# # Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/ezc3d") -# # Remove duplicated include directory file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -vcpkg_copy_pdbs() +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/ezc3d/vcpkg.json b/ports/ezc3d/vcpkg.json index 36a9afbf17dc69..ed7e28d17cd027 100644 --- a/ports/ezc3d/vcpkg.json +++ b/ports/ezc3d/vcpkg.json @@ -1,8 +1,9 @@ { "name": "ezc3d", - "version": "1.4.6", + "version": "1.5.11", "description": "C3D reader/writer", "homepage": "https://github.com/pyomeca/ezc3d", + "license": "MIT", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/ezfoundation/ezFoundation_vcpkg.patch b/ports/ezfoundation/ezFoundation_vcpkg.patch new file mode 100644 index 00000000000000..f4b40c554003f4 --- /dev/null +++ b/ports/ezfoundation/ezFoundation_vcpkg.patch @@ -0,0 +1,185 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a04be90..f853a0c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,5 +1,9 @@ + cmake_minimum_required(VERSION 3.19) + ++if(CMAKE_BUILD_TYPE STREQUAL Release) ++ set(CMAKE_BUILD_TYPE "Shipping" CACHE STRING "Release overridden with Shipping" FORCE) ++endif() ++ + if (${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR}) + message(FATAL_ERROR "In-source builds are not supported. Please choose a different binary directory.") + return() +diff --git a/Code/Engine/CMakeLists.txt b/Code/Engine/CMakeLists.txt +index fb4bef4..ccda93d 100644 +--- a/Code/Engine/CMakeLists.txt ++++ b/Code/Engine/CMakeLists.txt +@@ -20,5 +20,3 @@ execute_process( + OUTPUT_VARIABLE EZ_GIT_BRANCH_NAME + OUTPUT_STRIP_TRAILING_WHITESPACE + ) +- +-configure_file("${CMAKE_CURRENT_LIST_DIR}/ezBuildInfo.h.in" "${CMAKE_CURRENT_LIST_DIR}/ezBuildInfo.h" NEWLINE_STYLE LF) +\ No newline at end of file +diff --git a/Code/Engine/Foundation/Basics/Assert.cpp b/Code/Engine/Foundation/Basics/Assert.cpp +index 7a55afc..778fadd 100644 +--- a/Code/Engine/Foundation/Basics/Assert.cpp ++++ b/Code/Engine/Foundation/Basics/Assert.cpp +@@ -66,16 +66,6 @@ bool ezDefaultAssertHandler(const char* szSourceFile, ezUInt32 uiLine, const cha + + #if EZ_ENABLED(EZ_PLATFORM_WINDOWS) + +- // make sure the cursor is definitely shown, since the user must be able to click buttons +-# if EZ_ENABLED(EZ_PLATFORM_WINDOWS_UWP) +- // Todo: Use modern Windows API to show cursor in current window. +- // http://stackoverflow.com/questions/37956628/change-mouse-pointer-in-uwp-app +-# else +- ezInt32 iHideCursor = 1; +- while (ShowCursor(true) < 0) +- ++iHideCursor; +-# endif +- + # if EZ_ENABLED(EZ_COMPILE_FOR_DEBUG) + + ezInt32 iRes = _CrtDbgReport(_CRT_ASSERT, szSourceFile, uiLine, nullptr, "'%s'\nFunction: %s\nMessage: %s", szExpression, szFunction, szAssertMsg); +@@ -83,24 +73,9 @@ bool ezDefaultAssertHandler(const char* szSourceFile, ezUInt32 uiLine, const cha + // currently we will ALWAYS trigger the breakpoint / crash (except for when the user presses 'ignore') + if (iRes == 0) + { +- // when the user ignores the assert, restore the cursor show/hide state to the previous count +-# if EZ_ENABLED(EZ_PLATFORM_WINDOWS_UWP) +- // Todo: Use modern Windows API to restore cursor. +-# else +- for (ezInt32 i = 0; i < iHideCursor; ++i) +- ShowCursor(false); +-# endif +- + return false; + } + +-# else +- +- +-# if EZ_ENABLED(EZ_PLATFORM_WINDOWS_DESKTOP) +- MessageBoxA(nullptr, szTemp, "Assertion", MB_ICONERROR); +-# endif +- + # endif + + #endif +diff --git a/Code/Engine/Foundation/Logging/Implementation/Log.cpp b/Code/Engine/Foundation/Logging/Implementation/Log.cpp +index 1a0d2ed..afcde54 100644 +--- a/Code/Engine/Foundation/Logging/Implementation/Log.cpp ++++ b/Code/Engine/Foundation/Logging/Implementation/Log.cpp +@@ -260,12 +260,7 @@ void ezLog::OsMessageBox(const ezFormatString& text) + title = ezApplication::GetApplicationInstance()->GetApplicationName(); + } + +-#if EZ_ENABLED(EZ_PLATFORM_WINDOWS_DESKTOP) +- MessageBoxW(nullptr, ezStringWChar(display).GetData(), ezStringWChar(title), MB_OK); +-#else + ezLog::Print(display); +- EZ_ASSERT_NOT_IMPLEMENTED; +-#endif + } + + void ezLog::GenerateFormattedTimestamp(TimestampMode mode, ezStringBuilder& sTimestampOut) +diff --git a/Code/Engine/Foundation/Math/Implementation/Math_inl.h b/Code/Engine/Foundation/Math/Implementation/Math_inl.h +index 1a2962e..9b31f01 100644 +--- a/Code/Engine/Foundation/Math/Implementation/Math_inl.h ++++ b/Code/Engine/Foundation/Math/Implementation/Math_inl.h +@@ -80,6 +80,7 @@ namespace ezMath + #endif + } + ++#if EZ_ENABLED(EZ_PLATFORM_64BIT) + EZ_ALWAYS_INLINE ezUInt32 FirstBitLow(ezUInt64 value) + { + EZ_ASSERT_DEBUG(value != 0, "FirstBitLow is undefined for 0"); +@@ -95,6 +96,7 @@ namespace ezMath + return 0; + #endif + } ++#endif + + EZ_ALWAYS_INLINE ezUInt32 FirstBitHigh(ezUInt32 value) + { +@@ -112,6 +114,7 @@ namespace ezMath + #endif + } + ++#if EZ_ENABLED(EZ_PLATFORM_64BIT) + EZ_ALWAYS_INLINE ezUInt32 FirstBitHigh(ezUInt64 value) + { + EZ_ASSERT_DEBUG(value != 0, "FirstBitHigh is undefined for 0"); +@@ -127,6 +130,7 @@ namespace ezMath + return 0; + #endif + } ++#endif + + EZ_ALWAYS_INLINE ezUInt32 CountTrailingZeros(ezUInt32 bitmask) { return (bitmask == 0) ? 32 : FirstBitLow(bitmask); } + +diff --git a/Code/Engine/Foundation/Memory/Implementation/AllocatorBase_inl.h b/Code/Engine/Foundation/Memory/Implementation/AllocatorBase_inl.h +index fb839b3..21e2ec1 100644 +--- a/Code/Engine/Foundation/Memory/Implementation/AllocatorBase_inl.h ++++ b/Code/Engine/Foundation/Memory/Implementation/AllocatorBase_inl.h +@@ -60,7 +60,11 @@ namespace ezInternal + template + EZ_FORCE_INLINE T* CreateRawBuffer(ezAllocatorBase* pAllocator, size_t uiCount) + { ++#if EZ_ENABLED(EZ_PLATFORM_64BIT) + ezUInt64 safeAllocationSize = ezMath::SafeMultiply64(uiCount, sizeof(T)); ++#else ++ ezUInt32 safeAllocationSize = ezMath::SafeMultiply32(uiCount, sizeof(T)); ++#endif + return static_cast(pAllocator->Allocate(safeAllocationSize, EZ_ALIGNMENT_OF(T))); + } + +diff --git a/Code/Engine/Foundation/System/Implementation/Win/StackTracer_win.h b/Code/Engine/Foundation/System/Implementation/Win/StackTracer_win.h +index 54939fb..15f928a 100644 +--- a/Code/Engine/Foundation/System/Implementation/Win/StackTracer_win.h ++++ b/Code/Engine/Foundation/System/Implementation/Win/StackTracer_win.h +@@ -229,11 +229,23 @@ ezUInt32 ezStackTracer::GetStackTrace(ezArrayPtr& trace, void* pContext) + frame.AddrFrame.Offset = context.Rbp; + frame.AddrStack.Offset = context.Rsp; + machine_type = IMAGE_FILE_MACHINE_AMD64; +-#else ++#elif defined(_M_IX86) + frame.AddrPC.Offset = context.Eip; + frame.AddrFrame.Offset = context.Ebp; + frame.AddrStack.Offset = context.Esp; + machine_type = IMAGE_FILE_MACHINE_I386; ++#elif defined(_M_ARM64) ++ frame.AddrPC.Offset = context.Pc; ++ frame.AddrFrame.Offset = context.Fp; ++ frame.AddrStack.Offset = context.Sp; ++ machine_type = IMAGE_FILE_MACHINE_ARM64; ++#elif defined(_M_ARM) ++ frame.AddrPC.Offset = context.Pc; ++ frame.AddrFrame.Offset = context.R11; ++ frame.AddrStack.Offset = context.Sp; ++ machine_type = IMAGE_FILE_MACHINE_ARM; ++#else ++ #error Unknown architecture + #endif + for (ezInt32 i = 0; i < (ezInt32)trace.GetCount(); i++) + { +diff --git b/Code/Engine/ezBuildInfo.h b/Code/Engine/ezBuildInfo.h +new file mode 100644 +index 0000000..763271c +--- /dev/null ++++ b/Code/Engine/ezBuildInfo.h +@@ -0,0 +1,10 @@ ++// ++// This file is auto-generated by CMake. ++// ++ ++#pragma once ++ ++#define EZ_GIT_COMMIT_HASH_SHORT ++#define EZ_GIT_COMMIT_HASH_LONG ++#define EZ_GIT_BRANCH_NAME "" ++ diff --git a/ports/ezfoundation/portfile.cmake b/ports/ezfoundation/portfile.cmake new file mode 100644 index 00000000000000..c93b4389a7f2bc --- /dev/null +++ b/ports/ezfoundation/portfile.cmake @@ -0,0 +1,62 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO ezEngine/ezEngine + REF 1448308ab99bae0d8d2a292ad345ff3a757f3124 #21.10 + SHA512 20da87772366d1612795f534b31600123c0d04beba252d27d895c3c3cff7dae65952bd890629d79a7a691c2f3444601552c4b4eca99e8f8a99dc935ce2ebd284 + PATCHES + ezFoundation_vcpkg.patch +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DEZ_3RDPARTY_ENET_SUPPORT=OFF + -DEZ_3RDPARTY_ZSTD_SUPPORT=OFF + -DEZ_3RDPARTY_ZLIB_SUPPORT=OFF + -DEZ_BUILD_FILTER=FoundationOnly + -DEZ_BUILD_UNITTESTS=OFF + -DEZ_ENABLE_FOLDER_UNITY_FILES=OFF + -DEZ_ENABLE_QT_SUPPORT=OFF + -DEZ_USE_PCH=OFF + OPTIONS_DEBUG + -DEZ_OUTPUT_DIRECTORY_LIB=${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/Output/Lib + -DEZ_OUTPUT_DIRECTORY_DLL=${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/Output/Bin + OPTIONS_RELEASE + -DEZ_OUTPUT_DIRECTORY_LIB=${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/Output/Lib + -DEZ_OUTPUT_DIRECTORY_DLL=${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/Output/Bin +) + +vcpkg_cmake_build(TARGET Foundation) + +# EzEngine does not support CMake-based install; copy headers and libraries manually. +file(GLOB_RECURSE FOUNDATION_INCLUDE_FILES RELATIVE "${SOURCE_PATH}/Code/Engine/Foundation" "${SOURCE_PATH}/Code/Engine/Foundation/*.h") +foreach(SOURCE_FILE ${FOUNDATION_INCLUDE_FILES}) + get_filename_component(SOURCE_FILE_DIR "${SOURCE_FILE}" DIRECTORY) + if(SOURCE_FILE_DIR STREQUAL "") + set(TARGET_DIR "${CURRENT_PACKAGES_DIR}/include/Foundation") + else() + set(TARGET_DIR "${CURRENT_PACKAGES_DIR}/include/Foundation/${SOURCE_FILE_DIR}") + endif() + file(COPY "${SOURCE_PATH}/Code/Engine/Foundation/${SOURCE_FILE}" DESTINATION "${TARGET_DIR}") +endforeach() + +if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL debug) + set(LIB_SOURCE_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/Output/Lib") + set(LIB_TARGET_DIR "${CURRENT_PACKAGES_DIR}/debug/lib") + file(GLOB_RECURSE LIB_FILES "${LIB_SOURCE_DIR}/*.lib") + foreach(LIB_FILE ${LIB_FILES}) + file(COPY "${LIB_FILE}" DESTINATION "${LIB_TARGET_DIR}") + endforeach() +endif() +if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL release) + set(LIB_SOURCE_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/Output/Lib") + set(LIB_TARGET_DIR "${CURRENT_PACKAGES_DIR}/lib") + file(GLOB_RECURSE LIB_FILES "${LIB_SOURCE_DIR}/*.lib") + foreach(LIB_FILE ${LIB_FILES}) + file(COPY "${LIB_FILE}" DESTINATION "${LIB_TARGET_DIR}") + endforeach() +endif() + +file(INSTALL "${SOURCE_PATH}/LICENSE.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/ezfoundation/vcpkg.json b/ports/ezfoundation/vcpkg.json new file mode 100644 index 00000000000000..6b60fd29d4a4b7 --- /dev/null +++ b/ports/ezfoundation/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "ezfoundation", + "version": "21.10", + "description": "Foundation library out of ezEngine", + "homepage": "https://ezengine.net/", + "license": "MIT", + "supports": "windows | uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/faad2/0001-Fix-non-x86-msvc.patch b/ports/faad2/0001-Fix-non-x86-msvc.patch deleted file mode 100644 index 821dfb09b5e12b..00000000000000 --- a/ports/faad2/0001-Fix-non-x86-msvc.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/libfaad/common.h b/libfaad/common.h -index 897a0f0..8b78807 100644 ---- a/libfaad/common.h -+++ b/libfaad/common.h -@@ -313,7 +313,7 @@ char *strchr(), *strrchr(); - } - - -- #if defined(_WIN32) && !defined(_WIN64) && !defined(__MINGW32__) -+ #if defined(_WIN32) && defined(_M_IX86) && !defined(__MINGW32__) - #ifndef HAVE_LRINTF - #define HAS_LRINTF - static INLINE int lrintf(float f) diff --git a/ports/faad2/0002-Fix-unary-minus.patch b/ports/faad2/0002-Fix-unary-minus.patch deleted file mode 100644 index 28e11603fa25e4..00000000000000 --- a/ports/faad2/0002-Fix-unary-minus.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff --git a/libfaad/decoder.c b/libfaad/decoder.c -index 4f4b011..9bed248 100644 ---- a/libfaad/decoder.c -+++ b/libfaad/decoder.c -@@ -239,7 +239,7 @@ static int latmCheck(latm_header *latm, bitfile *ld) - while (ld->bytes_left) - { - bits = faad_latm_frame(latm, ld); -- if(bits==-1U) -+ if(bits==0xFFFFFFFF) - bad++; - else - { -diff --git a/libfaad/syntax.c b/libfaad/syntax.c -index c992543..be8c541 100644 ---- a/libfaad/syntax.c -+++ b/libfaad/syntax.c -@@ -2644,5 +2644,5 @@ uint32_t faad_latm_frame(latm_header *latm, bitfile *ld) - return (len*8)-(endpos-initpos); - //faad_getbits(ld, initpos-endpos); //go back to initpos, but is valid a getbits(-N) ? - } -- return -1U; -+ return 0xFFFFFFFF; - } diff --git a/ports/faad2/0003-Initialize-pointers.patch b/ports/faad2/0003-Initialize-pointers.patch deleted file mode 100644 index 29c572597a70a0..00000000000000 --- a/ports/faad2/0003-Initialize-pointers.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff --git a/frontend/main.c b/frontend/main.c -index e1d3c7d..25881c7 100644 ---- a/frontend/main.c -+++ b/frontend/main.c -@@ -462,9 +462,9 @@ static int decodeAACfile(char *aacfile, char *sndfile, char *adts_fn, int to_std - unsigned char channels; - void *sample_buffer; - -- audio_file *aufile; -+ audio_file *aufile = NULL; - -- FILE *adtsFile; -+ FILE *adtsFile = NULL; - unsigned char *adtsData; - int adtsDataSize; - -@@ -796,9 +796,9 @@ static int decodeMP4file(char *mp4file, char *sndfile, char *adts_fn, int to_std - - long sampleId, startSampleId; - -- audio_file *aufile; -+ audio_file *aufile = NULL; - -- FILE *adtsFile; -+ FILE *adtsFile = NULL; - unsigned char *adtsData; - int adtsDataSize; - diff --git a/ports/faad2/CMakeLists.txt b/ports/faad2/CMakeLists.txt deleted file mode 100644 index 70f9c587974464..00000000000000 --- a/ports/faad2/CMakeLists.txt +++ /dev/null @@ -1,38 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project (faad VERSION 2.9.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) -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 8596e1a8bae054..a8e9dad9b53e84 100644 --- a/ports/faad2/portfile.cmake +++ b/ports/faad2/portfile.cmake @@ -1,31 +1,29 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO knik0/faad2 - REF 043d37b60cdded2abed7c4054f954e # 2_9_1 - SHA512 8658256bbcb3ce641eef67c4f5d22d54b348805a06b2954718a44910861a9882371c887feb085060c524f955993ae26c211c6bb4fb8d95f9e9d1d0b5dca0ebe4 + REF "${VERSION}" + SHA512 b8f17680610b2f47344ea52b54412a02810a85eaf9d4c91b97ca09b2c6415c62d4af1b0771bfcacb9dfee400ed34504c0bd3c28369921c0392b3809e7de46ec5 HEAD_REF master PATCHES - 0001-Fix-non-x86-msvc.patch # https://github.com/knik0/faad2/pull/42 - 0002-Fix-unary-minus.patch # https://github.com/knik0/faad2/pull/43 - 0003-Initialize-pointers.patch # https://github.com/knik0/faad2/pull/44 -) - -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 + 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(VCPKG_TARGET_IS_WINDOWS) + vcpkg_copy_tools(TOOL_NAMES faad_cli AUTO_CLEAN) +else() + vcpkg_copy_tools(TOOL_NAMES faad AUTO_CLEAN) +endif() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -file(INSTALL "${SOURCE_PATH}/include" DESTINATION "${CURRENT_PACKAGES_DIR}") -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/faad2/vcpkg.json b/ports/faad2/vcpkg.json index f456d0b2d3093b..1d2dd484beb6be 100644 --- a/ports/faad2/vcpkg.json +++ b/ports/faad2/vcpkg.json @@ -1,19 +1,13 @@ { "name": "faad2", - "version": "2.9.1", - "port-version": 4, + "version": "2.11.1", "description": "Freeware Advanced Audio (AAC) Decoder", "homepage": "https://sourceforge.net/projects/faac/", - "supports": "windows", + "license": "GPL-2.0-or-later", "dependencies": [ { "name": "vcpkg-cmake", "host": true } - ], - "features": { - "build-decoder": { - "description": "Build the embedded decoder executable" - } - } + ] } diff --git a/ports/fadbad/portfile.cmake b/ports/fadbad/portfile.cmake index 35c0ff8f5cb698..8892c48f13a7eb 100644 --- a/ports/fadbad/portfile.cmake +++ b/ports/fadbad/portfile.cmake @@ -4,8 +4,8 @@ vcpkg_download_distfile(ARCHIVE SHA512 7a82c51c03acb0806d673853f391379ea974e304c831ee15ef05a90c30661736ff572481b5b8254b2646c63968043ee90a06cba88261b87fc34d01f92403360a ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH +vcpkg_extract_source_archive( + SOURCE_PATH ARCHIVE ${ARCHIVE} ) diff --git a/ports/fadbad/vcpkg.json b/ports/fadbad/vcpkg.json index 162be37066f264..a559df4ab276bf 100644 --- a/ports/fadbad/vcpkg.json +++ b/ports/fadbad/vcpkg.json @@ -1,7 +1,7 @@ { "name": "fadbad", - "version-string": "2.1.0", - "port-version": 1, + "version": "2.1.0", + "port-version": 2, "description": "FADBAD++ Templates for Automatic Differentiation", "homepage": "https://www.fadbad.com/" } 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 f2670da79aca36..7c918021406173 100644 --- a/ports/faiss/portfile.cmake +++ b/ports/faiss/portfile.cmake @@ -1,10 +1,8 @@ -vcpkg_fail_port_install(ON_ARCH "x86" ON_TARGET "uwp" "osx") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO facebookresearch/faiss - REF cff072b78ef019998990c6ba02df83dd7d3c8d38 # v1.7.1 - SHA512 08d4acf30b6a2a0f326cb71035b58e65f05e70817edbf9dda7d5f8b53d4fb722909c2412d42dca4d88d0576a3da528c2db869fb4fd6fb2343b7acad80066051d + 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 dfc5e14b17f442..a62e88db6e439e 100644 --- a/ports/faiss/vcpkg.json +++ b/ports/faiss/vcpkg.json @@ -1,10 +1,10 @@ { "name": "faiss", - "version-semver": "1.7.1", + "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 9e649c04ba65e4..0b2d4e79c77f80 100644 --- a/ports/fakeit/portfile.cmake +++ b/ports/fakeit/portfile.cmake @@ -1,11 +1,26 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO eranpeer/FakeIt - REF 514ca290b78d15f4fb46e1696f47189cf2524376 #v2.0.9 - SHA512 679808f5f7e036bdb465a4a8ded79e539e4d9992f27e87de1a23be221bc983146183c26087f16a8c7dafab58e337a050b78402c23189ce02cad0afc7ab7718b5 + REF "${VERSION}" + 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 8be673e3e3c9e3..44ef830901827d 100644 --- a/ports/fakeit/vcpkg.json +++ b/ports/fakeit/vcpkg.json @@ -1,6 +1,17 @@ { "name": "fakeit", - "version": "2.0.9", + "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" + "homepage": "https://github.com/eranpeer/FakeIt", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/fameta-counter/portfile.cmake b/ports/fameta-counter/portfile.cmake new file mode 100644 index 00000000000000..60e2dca5f78425 --- /dev/null +++ b/ports/fameta-counter/portfile.cmake @@ -0,0 +1,11 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO falemagn/fameta-counter + REF 35f4421524b61eaa658c23e9c3667dc914df72fa + SHA512 624baa2646a4141a1b326910f567d8a4799b72ee4cf569497940a877be2f035a19cf9a709f3bb64be7055175bd72c698d3f82df5bd47996eacbe6bbc2f4a42cd + HEAD_REF master +) + +file(COPY "${SOURCE_PATH}/include/fameta/counter.hpp" DESTINATION "${CURRENT_PACKAGES_DIR}/include/fameta-counter") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/fameta-counter/vcpkg.json b/ports/fameta-counter/vcpkg.json new file mode 100644 index 00000000000000..6bb487499e239b --- /dev/null +++ b/ports/fameta-counter/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "fameta-counter", + "version-date": "2021-02-13", + "description": "Compile time counter that works with all major modern compilers, compatible with C++11 and above.", + "homepage": "https://github.com/falemagn/fameta-counter", + "license": "Unlicense" +} diff --git a/ports/fann/fix-build_type.patch b/ports/fann/fix-build_type.patch new file mode 100644 index 00000000000000..14af5c8fd97665 --- /dev/null +++ b/ports/fann/fix-build_type.patch @@ -0,0 +1,12 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2c35ea2..fafd904 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -68,7 +68,6 @@ set (FANN_VERSION_MINOR 2) + set (FANN_VERSION_PATCH 0) + set (FANN_VERSION_STRING ${FANN_VERSION_MAJOR}.${FANN_VERSION_MINOR}.${FANN_VERSION_PATCH}) + +-option(BUILD_SHARED_LIBS "build shared/static libs" ON) + + INCLUDE(DefineInstallationPaths) + diff --git a/ports/fann/fix-installation.patch b/ports/fann/fix-installation.patch index 270f0877a42fe7..3a7dae2bd628c3 100644 --- a/ports/fann/fix-installation.patch +++ b/ports/fann/fix-installation.patch @@ -1,70 +1,35 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 12ea06c..6c33c25 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -156,10 +156,5 @@ install (FILES + + ################# compile tests ################ + +-ADD_SUBDIRECTORY( lib/googletest ) +- +-if(COMPILER_SUPPORTS_CXX11) +- ADD_SUBDIRECTORY( tests ) +-endif() + + ENDIF() diff --git a/cmake/Modules/DefineInstallationPaths.cmake b/cmake/Modules/DefineInstallationPaths.cmake -index 644cf1b..81e7c74 100644 +index 2969533..e70c4b7 100644 --- a/cmake/Modules/DefineInstallationPaths.cmake +++ b/cmake/Modules/DefineInstallationPaths.cmake -@@ -3,7 +3,7 @@ if (UNIX) - MESSAGE(STATUS "${PROJECT_NAME} is used as APPLICATION_NAME") - SET(APPLICATION_NAME ${PROJECT_NAME}) - ENDIF (NOT APPLICATION_NAME) -- -+if (0) - # Suffix for Linux - SET(LIB_SUFFIX - CACHE STRING "Define suffix of directory name (32/64)" -@@ -122,9 +122,10 @@ if (UNIX) - CACHE PATH "The ${APPLICATION_NAME} info install dir (default prefix/info)" - FORCE - ) -+endif() - endif (UNIX) +@@ -127,7 +127,7 @@ if (UNIX OR MINGW OR WIN32) + set (PKGCONFIG_INSTALL_DIR "${LIB_INSTALL_DIR}/pkgconfig" CACHE PATH "pkgconfig dir" FORCE) + endif () --if (WIN32) +-if (MSCV) +if (0) # Same same SET(BIN_INSTALL_DIR .) SET(SBIN_INSTALL_DIR .) -@@ -134,5 +135,5 @@ if (WIN32) +@@ -137,5 +137,5 @@ if (MSCV) SET(ICON_INSTALL_DIR .) SET(SOUND_INSTALL_DIR .) SET(LOCALE_INSTALL_DIR lang) --endif (WIN32) -+endif (0) - -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index fade00c..a4e6c3f 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -14,7 +14,7 @@ floatfann.c - ADD_LIBRARY(floatfann SHARED ${floatfann_LIB_SRCS}) - - SET_TARGET_PROPERTIES(floatfann PROPERTIES VERSION ${VERSION} SOVERSION 2 ) --INSTALL(TARGETS floatfann DESTINATION ${LIB_INSTALL_DIR} ) -+INSTALL(TARGETS floatfann RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib ) - - - ########### next target ############### -@@ -26,7 +26,7 @@ doublefann.c - ADD_LIBRARY(doublefann SHARED ${doublefann_LIB_SRCS}) - - SET_TARGET_PROPERTIES(doublefann PROPERTIES VERSION ${VERSION} SOVERSION 2 ) --INSTALL(TARGETS doublefann DESTINATION ${LIB_INSTALL_DIR} ) -+INSTALL(TARGETS doublefann RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib ) - - - ########### next target ############### -@@ -38,7 +38,7 @@ fixedfann.c - ADD_LIBRARY(fixedfann SHARED ${fixedfann_LIB_SRCS}) - - SET_TARGET_PROPERTIES(fixedfann PROPERTIES VERSION ${VERSION} SOVERSION 2 ) --INSTALL(TARGETS fixedfann DESTINATION ${LIB_INSTALL_DIR} ) -+INSTALL(TARGETS fixedfann RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib ) - - - ########### next target ############### -@@ -50,5 +50,5 @@ floatfann.c - ADD_LIBRARY(fann SHARED ${fann_LIB_SRCS}) - - SET_TARGET_PROPERTIES(fann PROPERTIES VERSION ${VERSION} SOVERSION 2 ) --INSTALL(TARGETS fann DESTINATION ${LIB_INSTALL_DIR} ) -+INSTALL(TARGETS fann RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib ) +-endif (MSCV) ++endif () diff --git a/ports/fann/fix-uwp-build.patch b/ports/fann/fix-uwp-build.patch index dd42358bd4d38b..bcd12e1f0bc16b 100644 --- a/ports/fann/fix-uwp-build.patch +++ b/ports/fann/fix-uwp-build.patch @@ -1,10 +1,10 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index b91f6fb..22c39d7 100644 +index 6c33c25..2c35ea2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -22,6 +22,10 @@ SET(PKGCONFIG_INSTALL_DIR /lib/pkgconfig) +@@ -82,6 +82,10 @@ configure_file (cmake/fann.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/fann.pc @ONLY) - INSTALL_FILES( ${PKGCONFIG_INSTALL_DIR} FILES fann.pc ) + install (FILES ${CMAKE_CURRENT_BINARY_DIR}/fann.pc DESTINATION ${PKGCONFIG_INSTALL_DIR}) +if (MSVC) + add_compile_options(/wd4996) diff --git a/ports/fann/portfile.cmake b/ports/fann/portfile.cmake index 716bf3e8b94579..b1829693e87ebc 100644 --- a/ports/fann/portfile.cmake +++ b/ports/fann/portfile.cmake @@ -1,30 +1,29 @@ -# Official design -vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libfann/fann - REF 2.2.0 - SHA512 b307539a39d93078a489710ac77aa8c6e324f3cf5ef80299ce257d10c043913764abef83aceac5278a5bd243b1ee245b4e8331a9e13c774aa63c9cb604f86bdd + REF 8409b42d308bf9428b9d3e60927595e53a797bbc + SHA512 4ad66808d7c88911d4c6d63368240ece2d0cbc73d89a95d32261b95dc551c47c46b3a34cc81b8cb0e03fe3f9ea61cb304e028780357bcf332d660824b066fd1e HEAD_REF master PATCHES fix-installation.patch fix-uwp-build.patch + fix-build_type.patch + remove-nouse-target.patch ) -set(INSTALL_BASE_DIR_DBG ${CURRENT_PACKAGES_DIR}/debug) -set(INSTALL_BASE_DIR_REL ${CURRENT_PACKAGES_DIR}) +set(INSTALL_BASE_DIR_DBG "${CURRENT_PACKAGES_DIR}/debug") +set(INSTALL_BASE_DIR_REL "${CURRENT_PACKAGES_DIR}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS_DEBUG -DBIN_INSTALL_DIR=${INSTALL_BASE_DIR_DBG}/bin -DSBIN_INSTALL_DIR=${INSTALL_BASE_DIR_DBG}/sbin - -DLIB_INSTALL_DIR=${INSTALL_BASE_DIR_DBG}/bin + -DLIB_INSTALL_DIR=${INSTALL_BASE_DIR_DBG}/lib -DEXEC_INSTALL_PREFIX=${INSTALL_BASE_DIR_DBG}/tools/${PORT} -DXDG_APPS_DIR=${INSTALL_BASE_DIR_DBG}/tools/${PORT} -DPLUGIN_INSTALL_DIR=${INSTALL_BASE_DIR_DBG}/tools/${PORT} + -DINCLUDE_INSTALL_DIR=${INSTALL_BASE_DIR_DBG}/include -DSHARE_INSTALL_PREFIX=${INSTALL_BASE_DIR_DBG}/share/${PORT} -DDATA_INSTALL_PREFIX=${INSTALL_BASE_DIR_DBG}/share/${PORT} -DHTML_INSTALL_DIR=${INSTALL_BASE_DIR_DBG}/share/${PORT}/doc @@ -36,10 +35,11 @@ vcpkg_configure_cmake( OPTIONS_RELEASE -DBIN_INSTALL_DIR=${INSTALL_BASE_DIR_REL}/bin -DSBIN_INSTALL_DIR=${INSTALL_BASE_DIR_REL}/sbin - -DLIB_INSTALL_DIR=${INSTALL_BASE_DIR_REL}/bin + -DLIB_INSTALL_DIR=${INSTALL_BASE_DIR_REL}/lib -DEXEC_INSTALL_PREFIX=${INSTALL_BASE_DIR_REL}/tools/${PORT} -DXDG_APPS_DIR=${INSTALL_BASE_DIR_REL}/tools/${PORT} -DPLUGIN_INSTALL_DIR=${INSTALL_BASE_DIR_REL}/tools/${PORT} + -DINCLUDE_INSTALL_DIR=${INSTALL_BASE_DIR_REL}/include -DSHARE_INSTALL_PREFIX=${INSTALL_BASE_DIR_REL}/share/${PORT} -DDATA_INSTALL_PREFIX=${INSTALL_BASE_DIR_REL}/share/${PORT} -DHTML_INSTALL_DIR=${INSTALL_BASE_DIR_REL}/share/${PORT}/doc @@ -50,12 +50,15 @@ vcpkg_configure_cmake( -DINFO_INSTALL_DIR=${INSTALL_BASE_DIR_REL}/share/${PORT}/info ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() vcpkg_fixup_pkgconfig() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +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") -file(INSTALL ${SOURCE_PATH}/COPYING.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) \ No newline at end of file +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.md") diff --git a/ports/fann/remove-nouse-target.patch b/ports/fann/remove-nouse-target.patch new file mode 100644 index 00000000000000..82a26667900b14 --- /dev/null +++ b/ports/fann/remove-nouse-target.patch @@ -0,0 +1,85 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index ac3ff73..2fb9a59 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -23,15 +23,12 @@ SET(floatfann_LIB_SRCS + floatfann.c + ) + +-ADD_LIBRARY(floatfann SHARED ${floatfann_LIB_SRCS}) +-ADD_LIBRARY(floatfann_static STATIC ${floatfann_LIB_SRCS}) ++ADD_LIBRARY(floatfann ${floatfann_LIB_SRCS}) + + SET_TARGET_PROPERTIES(floatfann PROPERTIES VERSION ${FANN_VERSION_STRING} SOVERSION ${FANN_VERSION_MAJOR}) +-SET_TARGET_PROPERTIES(floatfann_static PROPERTIES VERSION ${FANN_VERSION_STRING} SOVERSION ${FANN_VERSION_MAJOR}) + if (UNIX) +- SET_TARGET_PROPERTIES(floatfann_static PROPERTIES OUTPUT_NAME floatfann) + endif(UNIX) +-INSTALL(TARGETS floatfann floatfann_static LIBRARY DESTINATION ${LIB_INSTALL_DIR} ++INSTALL(TARGETS floatfann LIBRARY DESTINATION ${LIB_INSTALL_DIR} + ARCHIVE DESTINATION ${LIB_INSTALL_DIR} + RUNTIME DESTINATION ${BIN_INSTALL_DIR} ) + +@@ -42,15 +39,12 @@ SET(doublefann_LIB_SRCS + doublefann.c + ) + +-ADD_LIBRARY(doublefann SHARED ${doublefann_LIB_SRCS}) +-ADD_LIBRARY(doublefann_static STATIC ${doublefann_LIB_SRCS}) ++ADD_LIBRARY(doublefann ${doublefann_LIB_SRCS}) + + SET_TARGET_PROPERTIES(doublefann PROPERTIES VERSION ${FANN_VERSION_STRING} SOVERSION ${FANN_VERSION_MAJOR}) +-SET_TARGET_PROPERTIES(doublefann_static PROPERTIES VERSION ${FANN_VERSION_STRING} SOVERSION ${FANN_VERSION_MAJOR}) + if (UNIX) +- SET_TARGET_PROPERTIES(doublefann_static PROPERTIES OUTPUT_NAME doublefann) + endif(UNIX) +-INSTALL(TARGETS doublefann doublefann_static LIBRARY DESTINATION ${LIB_INSTALL_DIR} ++INSTALL(TARGETS doublefann LIBRARY DESTINATION ${LIB_INSTALL_DIR} + ARCHIVE DESTINATION ${LIB_INSTALL_DIR} + RUNTIME DESTINATION ${BIN_INSTALL_DIR} ) + +@@ -61,20 +55,16 @@ SET(fixedfann_LIB_SRCS + fixedfann.c + ) + +-ADD_LIBRARY(fixedfann SHARED ${fixedfann_LIB_SRCS}) +-ADD_LIBRARY(fixedfann_static STATIC ${fixedfann_LIB_SRCS}) ++ADD_LIBRARY(fixedfann ${fixedfann_LIB_SRCS}) + + if(NOT MSVC) + TARGET_LINK_LIBRARIES(fixedfann m) +-TARGET_LINK_LIBRARIES(fixedfann_static m) + endif(NOT MSVC) + + SET_TARGET_PROPERTIES(fixedfann PROPERTIES VERSION ${FANN_VERSION_STRING} SOVERSION ${FANN_VERSION_MAJOR}) +-SET_TARGET_PROPERTIES(fixedfann_static PROPERTIES VERSION ${FANN_VERSION_STRING} SOVERSION ${FANN_VERSION_MAJOR}) + if (UNIX) +- SET_TARGET_PROPERTIES(fixedfann_static PROPERTIES OUTPUT_NAME fixedfann) + endif(UNIX) +-INSTALL(TARGETS fixedfann fixedfann_static LIBRARY DESTINATION ${LIB_INSTALL_DIR} ++INSTALL(TARGETS fixedfann LIBRARY DESTINATION ${LIB_INSTALL_DIR} + ARCHIVE DESTINATION ${LIB_INSTALL_DIR} + RUNTIME DESTINATION ${BIN_INSTALL_DIR} ) + +@@ -85,19 +75,15 @@ SET(fann_LIB_SRCS + floatfann.c + ) + +-ADD_LIBRARY(fann SHARED ${fann_LIB_SRCS}) +-ADD_LIBRARY(fann_static STATIC ${fann_LIB_SRCS}) ++ADD_LIBRARY(fann ${fann_LIB_SRCS}) + + if(NOT MSVC) + TARGET_LINK_LIBRARIES(fann m) +-TARGET_LINK_LIBRARIES(fann_static m) + endif(NOT MSVC) + + SET_TARGET_PROPERTIES(fann PROPERTIES VERSION ${FANN_VERSION_STRING} SOVERSION ${FANN_VERSION_MAJOR}) +-SET_TARGET_PROPERTIES(fann_static PROPERTIES VERSION ${FANN_VERSION_STRING} SOVERSION ${FANN_VERSION_MAJOR}) + if (UNIX) +- SET_TARGET_PROPERTIES(fann_static PROPERTIES OUTPUT_NAME fann) + endif(UNIX) +-INSTALL(TARGETS fann fann_static LIBRARY DESTINATION ${LIB_INSTALL_DIR} ++INSTALL(TARGETS fann LIBRARY DESTINATION ${LIB_INSTALL_DIR} + ARCHIVE DESTINATION ${LIB_INSTALL_DIR} + RUNTIME DESTINATION ${BIN_INSTALL_DIR} ) diff --git a/ports/fann/vcpkg.json b/ports/fann/vcpkg.json index c4bc01717c8b4e..0441b07ee396b9 100644 --- a/ports/fann/vcpkg.json +++ b/ports/fann/vcpkg.json @@ -1,7 +1,17 @@ { "name": "fann", - "version": "2.2.0", - "port-version": 2, + "version-date": "2023-01-26", "description": "Fast Artificial Neural Network (FANN) Library is a free open source neural network library, which implements multilayer artificial neural networks in C with support for both fully connected and sparsely connected networks.", - "homepage": "https://github.com/libfann/fann" + "homepage": "https://github.com/libfann/fann", + "license": "LGPL-2.1-only", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/farmhash/portfile.cmake b/ports/farmhash/portfile.cmake index 496e5e317ec4f1..dcc594fe73d74c 100644 --- a/ports/farmhash/portfile.cmake +++ b/ports/farmhash/portfile.cmake @@ -2,9 +2,9 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_download_distfile(WIN_PR_PATCH - URLS "https://github.com/google/farmhash/pull/40.diff" + URLS "https://github.com/google/farmhash/pull/40.diff?full_index=1" FILENAME farmhash-pr-40.patch - SHA512 265f5c15c17da2b88c82e6016a181abe73d2d94492cdb0cba892acf67a9d40815d54fa81e07351254fe2a39aea143b125924db0e7df14aac84a7469a78612cbd + SHA512 a479450e3e2c4810ef67bb0704c30c2779e12a8768524f179235fae8687d064e62ee225b4b167a30fda59c39de40587629813804f452841badf308e1e76607a7 ) vcpkg_from_github( @@ -35,3 +35,5 @@ file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/farmhashConfig.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/farmhash/vcpkg.json b/ports/farmhash/vcpkg.json index 9624088907b812..af9bc261656933 100644 --- a/ports/farmhash/vcpkg.json +++ b/ports/farmhash/vcpkg.json @@ -1,8 +1,9 @@ { "name": "farmhash", - "version-string": "1.1", - "port-version": 4, + "version": "1.1", + "port-version": 6, "description": "FarmHash, a family of hash functions.", "homepage": "https://github.com/google/farmhash", + "license": "MIT", "supports": "!arm" } diff --git a/ports/fast-cpp-csv-parser/portfile.cmake b/ports/fast-cpp-csv-parser/portfile.cmake index 212c97ed947a9d..cd27a4d9a3d636 100644 --- a/ports/fast-cpp-csv-parser/portfile.cmake +++ b/ports/fast-cpp-csv-parser/portfile.cmake @@ -8,7 +8,7 @@ vcpkg_from_github( HEAD_REF master ) -file(COPY ${SOURCE_PATH}/csv.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) +file(COPY "${SOURCE_PATH}/csv.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include/${PORT}") # 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/fast-cpp-csv-parser/vcpkg.json b/ports/fast-cpp-csv-parser/vcpkg.json index 8e2640a61f564d..efd02ed6c80f4e 100644 --- a/ports/fast-cpp-csv-parser/vcpkg.json +++ b/ports/fast-cpp-csv-parser/vcpkg.json @@ -1,7 +1,8 @@ { "name": "fast-cpp-csv-parser", - "version-string": "2021-01-03", - "port-version": 1, + "version-date": "2021-01-03", + "port-version": 2, "description": "A small, easy-to-use and fast header-only library for reading comma separated value (CSV) files", - "homepage": "https://github.com/ben-strasser/fast-cpp-csv-parser" + "homepage": "https://github.com/ben-strasser/fast-cpp-csv-parser", + "license": "BSD-3-Clause" } 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 4044e5871c0632..e96dc773013f10 100644 --- a/ports/fast-float/portfile.cmake +++ b/ports/fast-float/portfile.cmake @@ -1,19 +1,23 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO fastfloat/fast_float - REF v0.8.0 - SHA512 d3f39457859ff0132f773222db3684f9b1d4a8ed549dfceb7cfb12d8f5871f5282dfa9eb01d39646cf93ed42dd640cb6487831ec15079b4b154f5002ac74edd7 + REF "v${VERSION}" + SHA512 d2dbd2537f433329a76539c061238af080125526b7822fbfdf0f70ac0a6800114848b9be0fdf9c51dbb22211af3bdcf9829ed9cc4a47fd28ecdeecf7c5d4b663 HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +set(VCPKG_BUILD_TYPE release) # header-only port + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DFASTFLOAT_INSTALL=ON ) -vcpkg_install_cmake() +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME FastFloat CONFIG_PATH share/cmake/FastFloat) -vcpkg_fixup_cmake_targets(CONFIG_PATH share/FastFloat TARGET_PATH share/FastFloat) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") -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 +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE-APACHE" "${SOURCE_PATH}/LICENSE-BOOST" "${SOURCE_PATH}/LICENSE-MIT") +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/fast-float/usage b/ports/fast-float/usage new file mode 100644 index 00000000000000..3282afc6acedc8 --- /dev/null +++ b/ports/fast-float/usage @@ -0,0 +1,4 @@ +fast-float provides CMake targets: + + find_package(FastFloat CONFIG REQUIRED) + target_link_libraries(main PRIVATE FastFloat::fast_float) diff --git a/ports/fast-float/vcpkg.json b/ports/fast-float/vcpkg.json index d750f44b2981b3..879d398f24aed2 100644 --- a/ports/fast-float/vcpkg.json +++ b/ports/fast-float/vcpkg.json @@ -1,6 +1,17 @@ { "name": "fast-float", - "version-string": "0.8.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" + "homepage": "https://github.com/fastfloat/fast_float", + "license": "Apache-2.0 OR BSL-1.0 OR MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/fastcdr/install-cmake.patch b/ports/fastcdr/install-cmake.patch deleted file mode 100644 index 04296897b2f55b..00000000000000 --- a/ports/fastcdr/install-cmake.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/cpp/CMakeLists.txt b/src/cpp/CMakeLists.txt -index 14747c9..65c3ddb 100644 ---- a/src/cpp/CMakeLists.txt -+++ b/src/cpp/CMakeLists.txt -@@ -155,7 +155,7 @@ elseif(NOT EPROSIMA_INSTALLER) - COMPONENT cmake - ) - -- if(MSVC OR MSVC_IDE) -+ if(MSVC OR MSVC_IDE AND 0) - if(TARGET_TYPE STREQUAL "SHARED_LIBRARY") - # Install pdb files - install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/Debug/ diff --git a/ports/fastcdr/pdb-file.patch b/ports/fastcdr/pdb-file.patch new file mode 100644 index 00000000000000..03306a1b76a9c8 --- /dev/null +++ b/ports/fastcdr/pdb-file.patch @@ -0,0 +1,13 @@ +diff --git a/src/cpp/CMakeLists.txt b/src/cpp/CMakeLists.txt +index 7ac643b..a70750d 100644 +--- a/src/cpp/CMakeLists.txt ++++ b/src/cpp/CMakeLists.txt +@@ -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} + COMPONENT symbols diff --git a/ports/fastcdr/portfile.cmake b/ports/fastcdr/portfile.cmake index 1bd5034a716bf3..404fb1567f4cda 100644 --- a/ports/fastcdr/portfile.cmake +++ b/ports/fastcdr/portfile.cmake @@ -1,36 +1,28 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO eProsima/Fast-CDR - REF 065d49248bd4afbae670836ee1f1c718b9760dde # v1.0.15 - SHA512 1e011f1848abace94299368a5150f9f7513a676ccdc2b2247cebcb098f7b397e9bd20f5663bc35ea9921b1c91654af39e19b867b73c38bdc5612e0e2b926743a + REF "v${VERSION}" + SHA512 cf664c036e673f6eb2f11fb949b89f85cef830bae46116df1826f14d1985a856a46f0c5986657ea4d90feb488c94032038e294f368b9e5a31b0ed0d2043c2071 HEAD_REF master - PATCHES install-cmake.patch + PATCHES + pdb-file.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - -DCMAKE_DISABLE_FIND_PACKAGE_GTest=ON -) +vcpkg_cmake_configure( + SOURCE_PATH ${SOURCE_PATH}) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/fastcdr) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/fastcdr) vcpkg_copy_pdbs() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/lib/fastcdr ${CURRENT_PACKAGES_DIR}/debug/lib/fastcdr) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(READ ${CURRENT_PACKAGES_DIR}/include/fastcdr/eProsima_auto_link.h EPROSIMA_AUTO_LINK_H) - string(REPLACE "#define EPROSIMA_LIB_PREFIX \"lib\"" "#define EPROSIMA_LIB_PREFIX" EPROSIMA_AUTO_LINK_H "${EPROSIMA_AUTO_LINK_H}") - file(WRITE ${CURRENT_PACKAGES_DIR}/include/fastcdr/eProsima_auto_link.h "${EPROSIMA_AUTO_LINK_H}") -else() - file(READ ${CURRENT_PACKAGES_DIR}/include/fastcdr/config.h FASTCDR_H) - string(REPLACE "#define _FASTCDR_CONFIG_H_" "#define _FASTCDR_CONFIG_H_\r\n#define FASTCDR_DYN_LINK" FASTCDR_H "${FASTCDR_H}") - file(WRITE ${CURRENT_PACKAGES_DIR}/include/fastcdr/config.h "${FASTCDR_H}") +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/fastcdr/eProsima_auto_link.h" "(defined(_DLL) || defined(_RTLDLL)) && defined(EPROSIMA_DYN_LINK)" "1") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/fastcdr/fastcdr_dll.h" "defined(FASTCDR_DYN_LINK)" "1") 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/fastcdr/vcpkg.json b/ports/fastcdr/vcpkg.json index 0f2241e4ebd021..85465b24c78bff 100644 --- a/ports/fastcdr/vcpkg.json +++ b/ports/fastcdr/vcpkg.json @@ -1,7 +1,17 @@ { "name": "fastcdr", - "version-semver": "1.0.15", - "port-version": 1, + "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" + "homepage": "https://github.com/eProsima/Fast-CDR", + "license": "Apache-2.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/fastcgi/dll.patch b/ports/fastcgi/dll.patch new file mode 100644 index 00000000000000..14e94faeff6e31 --- /dev/null +++ b/ports/fastcgi/dll.patch @@ -0,0 +1,109 @@ +diff --git a/include/fcgi_stdio.h b/include/fcgi_stdio.h +index 6d242f36f..ec57131ce 100644 +--- a/include/fcgi_stdio.h ++++ b/include/fcgi_stdio.h +@@ -23,14 +23,6 @@ + extern "C" { + #endif + +-#ifndef DLLAPI +-#if defined (_WIN32) && defined (_MSC_VER) +-#define DLLAPI __declspec(dllimport) +-#else +-#define DLLAPI +-#endif +-#endif +- + /* + * Wrapper type for FILE + */ +diff --git a/include/fcgiapp.h b/include/fcgiapp.h +index 8cadde16d..9b034def3 100644 +--- a/include/fcgiapp.h ++++ b/include/fcgiapp.h +@@ -23,11 +23,19 @@ + #endif + + #ifndef DLLAPI +-#if defined (_WIN32) && defined (_MSC_VER) +-#define DLLAPI __declspec(dllimport) +-#else +-#define DLLAPI +-#endif ++# if defined (_WIN32) && defined (_MSC_VER) ++# if defined(DLL_EXPORT) && defined(LIBFCGI_BUILD) ++# define DLLAPI __declspec(dllexport) ++# else ++# ifdef LIBFCGI_DLL_IMPORT ++# define DLLAPI extern __declspec(dllimport) ++# else ++# define DLLAPI ++# endif ++# endif ++# else ++# define DLLAPI ++# endif + #endif + + #if defined (c_plusplus) || defined (__cplusplus) +diff --git a/include/fcgio.h b/include/fcgio.h +index ce8b930a8..81981974a 100644 +--- a/include/fcgio.h ++++ b/include/fcgio.h +@@ -34,14 +34,6 @@ + + #include "fcgiapp.h" + +-#ifndef DLLAPI +-#if defined (_WIN32) && defined (_MSC_VER) +-#define DLLAPI __declspec(dllimport) +-#else +-#define DLLAPI +-#endif +-#endif +- + #if ! HAVE_STREAMBUF_CHAR_TYPE + typedef char char_type; + #endif +diff --git a/include/fcgios.h b/include/fcgios.h +index 206973137..7a2f5333a 100644 +--- a/include/fcgios.h ++++ b/include/fcgios.h +@@ -50,11 +50,19 @@ extern "C" { + #endif /* !_WIN32 */ + + #ifndef DLLAPI +-#if defined (_WIN32) && defined (_MSC_VER) +-#define DLLAPI __declspec(dllimport) +-#else +-#define DLLAPI +-#endif ++# if defined (_WIN32) && defined (_MSC_VER) ++# if defined(DLL_EXPORT) && defined(LIBFCGI_BUILD) ++# define DLLAPI __declspec(dllexport) ++# else ++# ifdef LIBFCGI_DLL_IMPORT ++# define DLLAPI extern __declspec(dllimport) ++# else ++# define DLLAPI ++# endif ++# endif ++# else ++# define DLLAPI ++# endif + #endif + + +diff --git a/libfcgi/Makefile.am b/libfcgi/Makefile.am +index 42d507253..26f06f550 100644 +--- a/libfcgi/Makefile.am ++++ b/libfcgi/Makefile.am +@@ -1,7 +1,7 @@ + # $Id: Makefile.am,v 1.9 2001/12/22 03:16:20 robs Exp $ + + INCLUDEDIR = ../include +-AM_CPPFLAGS = -I$(top_srcdir)/include -W -Wall -pedantic -Wno-unused-parameter ++AM_CPPFLAGS = -I$(top_srcdir)/include -DLIBFCGI_BUILD + + INCLUDE_FILES = $(INCLUDEDIR)/fastcgi.h \ + $(INCLUDEDIR)/fcgiapp.h \ diff --git a/ports/fastcgi/portfile.cmake b/ports/fastcgi/portfile.cmake index 61d0fc839f58af..56fa6f8630f30e 100644 --- a/ports/fastcgi/portfile.cmake +++ b/ports/fastcgi/portfile.cmake @@ -4,66 +4,44 @@ vcpkg_from_github( REF fc8c6547ae38faf9926205a23075c47fbd4370c8 SHA512 7f27b1060fbeaf0de9b8a43aa4ff954a004c49e99f7d6ea11119a438fcffe575fb469ba06262e71ac8132f92e74189e2097fd049595a6a61d4d5a5bac2733f7a HEAD_REF master + PATCHES + dll.patch ) -if (VCPKG_TARGET_IS_WINDOWS) - # Check build system first - find_program(NMAKE nmake REQUIRED) - - list(APPEND NMAKE_OPTIONS_REL - CFG=release - ) - - list(APPEND NMAKE_OPTIONS_DBG - CFG=debug - ) +# Check build system first +if(VCPKG_TARGET_IS_OSX) + message("${PORT} currently requires the following library from the system package manager:\n gettext\n automake\n libtool\n\nIt can be installed with brew install gettext automake libtool") +elseif(NOT VCPKG_TARGET_IS_WINDOWS) + message("${PORT} currently requires the following library from the system package manager:\n gettext\n automake\n libtool\n libtool-bin\n\nIt can be installed with apt-get install gettext automake libtool libtool-bin") +endif() - file(RENAME "${SOURCE_PATH}/include/fcgi_config_x86.h" "${SOURCE_PATH}/include/fcgi_config.h") - vcpkg_build_nmake( +vcpkg_configure_make( SOURCE_PATH "${SOURCE_PATH}" - PROJECT_SUBPATH libfcgi - PROJECT_NAME libfcgi.mak - OPTIONS_RELEASE - "${NMAKE_OPTIONS_REL}" - OPTIONS_DEBUG - "${NMAKE_OPTIONS_DBG}" - ) - - file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/include" DESTINATION "${CURRENT_PACKAGES_DIR}/include" RENAME ${PORT}) - file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/libfcgi/Release/libfcgi.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/lib") - file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/libfcgi/Debug/libfcgi.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") - if (NOT VCPKG_CRT_LINKAGE STREQUAL static) - file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/libfcgi/Release/libfcgi.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/bin") - file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/libfcgi/Debug/libfcgi.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin") - endif() - -elseif (VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_OSX) # Build in UNIX - # Check build system first - if(VCPKG_TARGET_IS_OSX) - message("${PORT} currently requires the following library from the system package manager:\n gettext\n automake\n libtool\n\nIt can be installed with brew install gettext automake libtool") - else() - message("${PORT} currently requires the following library from the system package manager:\n gettext\n automake\n libtool\n libtool-bin\n\nIt can be installed with apt-get install gettext automake libtool libtool-bin") - endif() - + AUTOCONFIG + COPY_SOURCE + OPTIONS + --disable-examples +) - vcpkg_configure_make( - SOURCE_PATH "${SOURCE_PATH}" - AUTOCONFIG - COPY_SOURCE - ) +vcpkg_install_make() - vcpkg_install_make() +# switch ${PORT} into /${PORT} +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/${PORT}") - # switch ${PORT} into /${PORT} - 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/${PORT}") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +vcpkg_fixup_pkgconfig() +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/fcgi.pc" "Version: 2.4.2\n" "Version: 2.4.2\nCflags: -I\"\${prefix}/include/fastcgi\"\n") +if(NOT VCPKG_BUILD_TYPE) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/fcgi.pc" "Version: 2.4.2\n" "Version: 2.4.2\nCflags: -I\"\${prefix}/../include/fastcgi\"\n") +endif() - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") - vcpkg_fixup_pkgconfig() -else() # Other build system - vcpkg_fail_port_install(ALWAYS) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic" AND VCPKG_TARGET_IS_WINDOWS) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/${PORT}/fcgiapp.h" "ifdef LIBFCGI_DLL_IMPORT" "if 1") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/${PORT}/fcgios.h" "ifdef LIBFCGI_DLL_IMPORT" "if 1") endif() +vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/${PORT}") # Handle copyright file(INSTALL "${SOURCE_PATH}/LICENSE.TERMS" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/fastcgi/vcpkg.json b/ports/fastcgi/vcpkg.json index 957dcfa21551d1..a85856361b4f75 100644 --- a/ports/fastcgi/vcpkg.json +++ b/ports/fastcgi/vcpkg.json @@ -1,7 +1,9 @@ { "name": "fastcgi", "version-date": "2020-09-11", - "port-version": 2, + "port-version": 5, "description": "The FastCGI interface combines the best aspects of CGI and vendor APIs. Like CGI, FastCGI applications run in separate, isolated processes.", - "homepage": "https://fastcgi-archives.github.io/" + "homepage": "https://fastcgi-archives.github.io/", + "license": "OML", + "supports": "!uwp" } diff --git a/ports/fastdds/disable-symlink.patch b/ports/fastdds/disable-symlink.patch new file mode 100644 index 00000000000000..680308477d9025 --- /dev/null +++ b/ports/fastdds/disable-symlink.patch @@ -0,0 +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 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/fastfeat/portfile.cmake b/ports/fastfeat/portfile.cmake index 18ec525ca25e7d..d76f392e439b60 100644 --- a/ports/fastfeat/portfile.cmake +++ b/ports/fastfeat/portfile.cmake @@ -8,20 +8,19 @@ vcpkg_from_github( file(COPY -${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt - ${CMAKE_CURRENT_LIST_DIR}/fastfeat.def -DESTINATION ${SOURCE_PATH} +"${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" +"${CMAKE_CURRENT_LIST_DIR}/fastfeat.def" +DESTINATION "${SOURCE_PATH}" ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() # Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/fastfeat RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/fastfeat" RENAME copyright) diff --git a/ports/fastfeat/vcpkg.json b/ports/fastfeat/vcpkg.json index 550c8b70822556..597ce506f729df 100644 --- a/ports/fastfeat/vcpkg.json +++ b/ports/fastfeat/vcpkg.json @@ -1,6 +1,12 @@ { "name": "fastfeat", "version-string": "391d5e9", - "port-version": 2, - "description": "FAST feature detectors in C" + "port-version": 4, + "description": "FAST feature detectors in C", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/fastgltf/portfile.cmake b/ports/fastgltf/portfile.cmake new file mode 100644 index 00000000000000..87d2a699ce7ffb --- /dev/null +++ b/ports/fastgltf/portfile.cmake @@ -0,0 +1,45 @@ +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 7fbc479e03b26ef246625abd86b005ed1dde84e607346e890b71abffc2b26cf7b59880ab286526da5b811dd1f74cff9a6d44d65e128154fcd0f1c540dc11f1f5 + HEAD_REF main + PATCHES + "${PATCH_FIX_ANDROID_ISSUE_74}" + "${PATCH_UWP_DISABLE_MEMORYMAPPEDFILE}" + "${PATCH_UWP_WINAPI_FAMILY}" +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" +) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.md") +vcpkg_copy_pdbs() + +file(READ "${CURRENT_PACKAGES_DIR}/share/fastgltf/fastgltfConfig.cmake" contents) +file(WRITE "${CURRENT_PACKAGES_DIR}/share/fastgltf/fastgltfConfig.cmake" " +include(CMakeFindDependencyMacro) +find_dependency(simdjson) +${contents}") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/fastgltf/vcpkg.json b/ports/fastgltf/vcpkg.json new file mode 100644 index 00000000000000..918b3c1664b203 --- /dev/null +++ b/ports/fastgltf/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "fastgltf", + "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": [ + "simdjson", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/fastio/portfile.cmake b/ports/fastio/portfile.cmake new file mode 100644 index 00000000000000..d711474ffbb397 --- /dev/null +++ b/ports/fastio/portfile.cmake @@ -0,0 +1,20 @@ +# header-only library +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO cppfastio/fast_io + REF 621b461a12af1d4c52d867127753b2bc0b60f946 + SHA512 bdc651a06071d5e9b043d0295396351ef05552e98f80161f6026b0ba32ff6f65397cd95daa1da47e4811b2eb94c12a7d0dd47219385b7278e668bb117128f774 + HEAD_REF master +) + +set(VCPKG_BUILD_TYPE release) # header-only port + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" +) + +vcpkg_cmake_install() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/license.txt") diff --git a/ports/fastio/vcpkg.json b/ports/fastio/vcpkg.json new file mode 100644 index 00000000000000..13e39fac2945b7 --- /dev/null +++ b/ports/fastio/vcpkg.json @@ -0,0 +1,13 @@ +{ + "name": "fastio", + "version-date": "2024-07-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", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] +} diff --git a/ports/fastlz/portfile.cmake b/ports/fastlz/portfile.cmake index b9923d374d6d57..1c8059d90f3c7c 100644 --- a/ports/fastlz/portfile.cmake +++ b/ports/fastlz/portfile.cmake @@ -3,21 +3,20 @@ 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 ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +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 c27e1a60124250..32c2725b0ac089 100644 --- a/ports/fastlz/vcpkg.json +++ b/ports/fastlz/vcpkg.json @@ -1,6 +1,12 @@ { "name": "fastlz", - "version-date": "2021-05-10", + "version-date": "2024-08-02", "description": "A lightning-fast lossless compression library", - "homepage": "https://github.com/ariya/FastLZ" + "homepage": "https://github.com/ariya/FastLZ", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/fastor/portfile.cmake b/ports/fastor/portfile.cmake new file mode 100644 index 00000000000000..c47c81641e1bdc --- /dev/null +++ b/ports/fastor/portfile.cmake @@ -0,0 +1,21 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO romeric/Fastor + REF "V${VERSION}" + SHA512 6f636cf93b6fcd3fed83c4c7e4d0e762c2ca03368cc5fa38805913173a35b5919a030190744edc90e13ba4e463f1be742b1aa97b849cc48e93d9bcb6b635774a + HEAD_REF master +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_TESTING=OFF +) + +vcpkg_cmake_install() +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") + diff --git a/ports/fastor/vcpkg.json b/ports/fastor/vcpkg.json new file mode 100644 index 00000000000000..47743b464ffb8d --- /dev/null +++ b/ports/fastor/vcpkg.json @@ -0,0 +1,16 @@ +{ + "name": "fastor", + "version": "0.6.4", + "description": "a high performance tensor library for modern C++", + "homepage": "https://github.com/romeric/Fastor", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/fastrtps/disable-symlink.patch b/ports/fastrtps/disable-symlink.patch deleted file mode 100644 index a35558a19b1497..00000000000000 --- a/ports/fastrtps/disable-symlink.patch +++ /dev/null @@ -1,16 +0,0 @@ -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 -@@ -124,7 +124,7 @@ if(NOT BUILD_SHARED_LIBS) - 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/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/portfile.cmake b/ports/fastrtps/portfile.cmake deleted file mode 100644 index 48342bd53a2f97..00000000000000 --- a/ports/fastrtps/portfile.cmake +++ /dev/null @@ -1,69 +0,0 @@ -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO eProsima/Fast-DDS - REF v2.4.0 - SHA512 2E9C0378AF86DD657391D577F6951096DD45970A2C4D9C384EE5A452A1DD129E6E0AED91E0B908A35A04CAF979253700560561D34082DA81FE737FE104C149AF - HEAD_REF master - PATCHES - fix-find-package-asio.patch - disable-symlink.patch -) - -vcpkg_cmake_configure( - SOURCE_PATH "${SOURCE_PATH}" -) - -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() - -if (VCPKG_LIBRARY_LINKAGE STREQUAL "static") - 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(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/fastrtps/vcpkg.json b/ports/fastrtps/vcpkg.json deleted file mode 100644 index 6c846645cb813e..00000000000000 --- a/ports/fastrtps/vcpkg.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "name": "fastrtps", - "version": "2.4.0", - "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/", - "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/fawdlstty-libfv/portfile.cmake b/ports/fawdlstty-libfv/portfile.cmake new file mode 100644 index 00000000000000..f5eed2bd228c11 --- /dev/null +++ b/ports/fawdlstty-libfv/portfile.cmake @@ -0,0 +1,21 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO fawdlstty/libfv + REF v0.0.8 + SHA512 66071db541269de9793c643fba6154d1743b047ac32486067207c88d61b706e81266ce365a5c96c203a1cea0ec4e406927d8a8df1e047bb8b9218cf741dae4f1 + HEAD_REF master +) + +file(WRITE "${CURRENT_PACKAGES_DIR}/share/fawdlstty-libfv/fawdlstty-libfv-config.cmake" " +include(CMakeFindDependencyMacro) +find_dependency(OpenSSL) +find_dependency(ZLIB) +if(NOT TARGET fawdlstty-libfv::libfv) + add_library(fawdlstty-libfv::libfv INTERFACE IMPORTED) + target_include_directories(fawdlstty-libfv::libfv INTERFACE \"\${CMAKE_CURRENT_LIST_DIR}/../../include\") + target_link_libraries(fawdlstty-libfv::libfv INTERFACE ZLIB::ZLIB OpenSSL::SSL) +endif() +") + +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +file(INSTALL "${SOURCE_PATH}/include" DESTINATION "${CURRENT_PACKAGES_DIR}") diff --git a/ports/fawdlstty-libfv/vcpkg.json b/ports/fawdlstty-libfv/vcpkg.json new file mode 100644 index 00000000000000..c3c8f00a5120c3 --- /dev/null +++ b/ports/fawdlstty-libfv/vcpkg.json @@ -0,0 +1,15 @@ +{ + "name": "fawdlstty-libfv", + "version": "0.0.8", + "description": "libfv is C++20 header-only network library, support TCP/SSL/Http/websocket server and client", + "homepage": "https://github.com/fawdlstty/libfv", + "license": "MIT", + "dependencies": [ + "asio", + "fmt", + "gzip-hpp", + "nlohmann-json", + "openssl", + "zlib" + ] +} diff --git a/ports/fbgemm/fix-cmakelists.patch b/ports/fbgemm/fix-cmakelists.patch index 1d26e80a9628ec..d209c795eeec64 100644 --- a/ports/fbgemm/fix-cmakelists.patch +++ b/ports/fbgemm/fix-cmakelists.patch @@ -1,146 +1,146 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 6f19a16..3c758d2 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -6,7 +6,6 @@ list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules") - include(GNUInstallDirs) - - # function to extract filelists from defs.bzl file --find_package(PythonInterp) - function(get_filelist name outputvar) - execute_process( - COMMAND "${PYTHON_EXECUTABLE}" -c -@@ -19,9 +18,6 @@ endfunction() - - project(fbgemm VERSION 0.1 LANGUAGES CXX C) - --set(FBGEMM_LIBRARY_TYPE "default" CACHE STRING -- "Type of library (shared, static, or default) to build") --set_property(CACHE FBGEMM_LIBRARY_TYPE PROPERTY STRINGS default static shared) - option(FBGEMM_BUILD_TESTS "Build fbgemm unit tests" ON) - option(FBGEMM_BUILD_BENCHMARKS "Build fbgemm benchmarks" ON) - option(FBGEMM_BUILD_DOCS "Build fbgemm documentation" OFF) -@@ -101,18 +97,11 @@ set_target_properties(fbgemm_generic fbgemm_avx2 fbgemm_avx512 PROPERTIES - #2) MSVC uses /MD in default cxx compiling flags, - #need to change it to /MT in static case - if(MSVC) -- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4244 /wd4267 /wd4305 /wd4309") -- if(FBGEMM_LIBRARY_TYPE STREQUAL "static") -+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4244 /wd4267 /wd4305 /wd4309 /wd4703") -+ if(NOT BUILD_SHARED_LIBS) - target_compile_definitions(fbgemm_generic PRIVATE ASMJIT_STATIC) - target_compile_definitions(fbgemm_avx2 PRIVATE ASMJIT_STATIC) - target_compile_definitions(fbgemm_avx512 PRIVATE ASMJIT_STATIC) -- foreach(flag_var -- 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() - target_compile_options(fbgemm_avx2 PRIVATE "/arch:AVX2") - target_compile_options(fbgemm_avx512 PRIVATE "/arch:AVX512") -@@ -145,7 +134,8 @@ message(WARNING "CMAKE_CXX_FLAGS_DEBUG is ${CMAKE_CXX_FLAGS_DEBUG}") - message(WARNING "CMAKE_CXX_FLAGS_RELEASE is ${CMAKE_CXX_FLAGS_RELEASE}") - message(WARNING "==========") - --if(NOT TARGET asmjit) -+find_package(asmjit CONFIG REQUIRED) # target 'asmjit::asmjit' -+if(FALSE) - #Download asmjit from github if ASMJIT_SRC_DIR is not specified. - if(NOT DEFINED ASMJIT_SRC_DIR) - set(ASMJIT_SRC_DIR "${FBGEMM_SOURCE_DIR}/third_party/asmjit" -@@ -164,7 +154,8 @@ if(NOT TARGET asmjit) - set_property(TARGET asmjit PROPERTY POSITION_INDEPENDENT_CODE ON) - endif() - --if(NOT TARGET cpuinfo) -+find_package(unofficial-cpuinfo CONFIG REQUIRED) # target 'unofficial::cpuinfo::cpuinfo' -+if(FALSE) - #Download cpuinfo from github if CPUINFO_SOURCE_DIR is not specified. - if(NOT DEFINED CPUINFO_SOURCE_DIR) - set(CPUINFO_SOURCE_DIR "${FBGEMM_SOURCE_DIR}/third_party/cpuinfo" -@@ -185,49 +176,38 @@ endif() - target_include_directories(fbgemm_generic BEFORE - PUBLIC $ - PUBLIC $ -- PRIVATE "${ASMJIT_SRC_DIR}/src" -- PRIVATE "${CPUINFO_SOURCE_DIR}/include") -+) -+target_link_libraries(fbgemm_generic PUBLIC asmjit::asmjit unofficial::cpuinfo::cpuinfo) - - target_include_directories(fbgemm_avx2 BEFORE - PUBLIC $ - PUBLIC $ -- PRIVATE "${ASMJIT_SRC_DIR}/src" -- PRIVATE "${CPUINFO_SOURCE_DIR}/include") -+) -+target_link_libraries(fbgemm_avx2 PUBLIC asmjit::asmjit unofficial::cpuinfo::cpuinfo) - - target_include_directories(fbgemm_avx512 BEFORE - PUBLIC $ - PUBLIC $ -- PRIVATE "${ASMJIT_SRC_DIR}/src" -- PRIVATE "${CPUINFO_SOURCE_DIR}/include") -- --if(FBGEMM_LIBRARY_TYPE STREQUAL "default") -- add_library(fbgemm -- $ -- $ -- $) --elseif(FBGEMM_LIBRARY_TYPE STREQUAL "shared") -- add_library(fbgemm SHARED -- $ -- $ -- $) -+) -+target_link_libraries(fbgemm_avx512 PUBLIC asmjit::asmjit unofficial::cpuinfo::cpuinfo) -+ -+add_library(fbgemm -+ $ -+ $ -+ $) -+if(BUILD_SHARED_LIBS) - set_property(TARGET fbgemm_generic PROPERTY POSITION_INDEPENDENT_CODE ON) - set_property(TARGET fbgemm_avx2 PROPERTY POSITION_INDEPENDENT_CODE ON) - set_property(TARGET fbgemm_avx512 PROPERTY POSITION_INDEPENDENT_CODE ON) - set_target_properties(fbgemm PROPERTIES - CXX_VISIBILITY_PRESET hidden) --elseif(FBGEMM_LIBRARY_TYPE STREQUAL "static") -- add_library(fbgemm STATIC -- $ -- $ -- $) -+else() - #MSVC need to define FBGEMM_STATIC for fbgemm_generic also to - #avoid generating _dllimport functions. - target_compile_definitions(fbgemm_generic PRIVATE FBGEMM_STATIC) - target_compile_definitions(fbgemm_avx2 PRIVATE FBGEMM_STATIC) - target_compile_definitions(fbgemm_avx512 PRIVATE FBGEMM_STATIC) - target_compile_definitions(fbgemm PRIVATE FBGEMM_STATIC) --else() -- message(FATAL_ERROR "Unsupported library type ${FBGEMM_LIBRARY_TYPE}") - endif() - - if(USE_SANITIZER) -@@ -239,9 +219,7 @@ target_include_directories(fbgemm BEFORE - PUBLIC $ - PUBLIC $) - --target_link_libraries(fbgemm $ -- $) --add_dependencies(fbgemm asmjit cpuinfo) -+target_link_libraries(fbgemm PUBLIC asmjit::asmjit unofficial::cpuinfo::cpuinfo) - - install(TARGETS fbgemm EXPORT fbgemmLibraryConfig - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} -@@ -254,7 +232,7 @@ install(FILES ${FBGEMM_PUBLIC_HEADERS} - install(EXPORT fbgemmLibraryConfig DESTINATION share/cmake/fbgemm - FILE fbgemmLibraryConfig.cmake) - --if(MSVC) -+if(FALSE) - if(FBGEMM_LIBRARY_TYPE STREQUAL "shared") - install( - FILES $ $ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 58dcb9a..513a152 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -6,7 +6,6 @@ list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules") + include(GNUInstallDirs) + + # function to extract filelists from defs.bzl file +-find_package(PythonInterp) + function(get_filelist name outputvar) + execute_process( + COMMAND "${PYTHON_EXECUTABLE}" -c +@@ -43,9 +42,6 @@ endfunction() + + project(fbgemm VERSION 0.1 LANGUAGES CXX C) + +-set(FBGEMM_LIBRARY_TYPE "default" CACHE STRING +- "Type of library (shared, static, or default) to build") +-set_property(CACHE FBGEMM_LIBRARY_TYPE PROPERTY STRINGS default static shared) + option(FBGEMM_BUILD_TESTS "Build fbgemm unit tests" ON) + option(FBGEMM_BUILD_BENCHMARKS "Build fbgemm benchmarks" ON) + option(FBGEMM_BUILD_DOCS "Build fbgemm documentation" OFF) +@@ -126,18 +122,11 @@ set_target_properties(fbgemm_generic fbgemm_avx2 fbgemm_avx512 PROPERTIES + #2) MSVC uses /MD in default cxx compiling flags, + #need to change it to /MT in static case + if(MSVC) +- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4244 /wd4267 /wd4305 /wd4309") +- if(FBGEMM_LIBRARY_TYPE STREQUAL "static") ++ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4244 /wd4267 /wd4305 /wd4309 /wd4703 /bigobj") ++ if(NOT BUILD_SHARED_LIBS) + target_compile_definitions(fbgemm_generic PRIVATE ASMJIT_STATIC) + target_compile_definitions(fbgemm_avx2 PRIVATE ASMJIT_STATIC) + target_compile_definitions(fbgemm_avx512 PRIVATE ASMJIT_STATIC) +- foreach(flag_var +- 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() + target_compile_options(fbgemm_avx2 PRIVATE "/arch:AVX2") + target_compile_options(fbgemm_avx512 PRIVATE "/arch:AVX512") +@@ -189,7 +178,8 @@ message(WARNING "CMAKE_CXX_FLAGS_DEBUG is ${CMAKE_CXX_FLAGS_DEBUG}") + message(WARNING "CMAKE_CXX_FLAGS_RELEASE is ${CMAKE_CXX_FLAGS_RELEASE}") + message(WARNING "==========") + +-if(NOT TARGET asmjit) ++find_package(asmjit CONFIG REQUIRED) # target 'asmjit::asmjit' ++if(FALSE) + #Download asmjit from github if ASMJIT_SRC_DIR is not specified. + if(NOT DEFINED ASMJIT_SRC_DIR) + set(ASMJIT_SRC_DIR "${FBGEMM_SOURCE_DIR}/third_party/asmjit" +@@ -218,7 +208,8 @@ if(NOT TARGET asmjit) + endif() + endif() + +-if(NOT TARGET cpuinfo) ++find_package(cpuinfo CONFIG REQUIRED) # target 'cpuinfo::cpuinfo' ++if(FALSE) + #Download cpuinfo from github if CPUINFO_SOURCE_DIR is not specified. + if(NOT DEFINED CPUINFO_SOURCE_DIR) + set(CPUINFO_SOURCE_DIR "${FBGEMM_SOURCE_DIR}/third_party/cpuinfo" +@@ -239,49 +230,38 @@ endif() + target_include_directories(fbgemm_generic BEFORE + PUBLIC $ + PUBLIC $ +- PRIVATE "${ASMJIT_SRC_DIR}/src" +- PRIVATE "${CPUINFO_SOURCE_DIR}/include") ++) ++target_link_libraries(fbgemm_generic PUBLIC asmjit::asmjit cpuinfo::cpuinfo) + + target_include_directories(fbgemm_avx2 BEFORE + PUBLIC $ + PUBLIC $ +- PRIVATE "${ASMJIT_SRC_DIR}/src" +- PRIVATE "${CPUINFO_SOURCE_DIR}/include") ++) ++target_link_libraries(fbgemm_avx2 PUBLIC asmjit::asmjit cpuinfo::cpuinfo) + + target_include_directories(fbgemm_avx512 BEFORE + PUBLIC $ + PUBLIC $ +- PRIVATE "${ASMJIT_SRC_DIR}/src" +- PRIVATE "${CPUINFO_SOURCE_DIR}/include") +- +-if(FBGEMM_LIBRARY_TYPE STREQUAL "default") +- add_library(fbgemm +- $ +- $ +- $) +-elseif(FBGEMM_LIBRARY_TYPE STREQUAL "shared") +- add_library(fbgemm SHARED +- $ +- $ +- $) ++) ++target_link_libraries(fbgemm_avx512 PUBLIC asmjit::asmjit cpuinfo::cpuinfo) ++ ++add_library(fbgemm ++ $ ++ $ ++ $) ++if(BUILD_SHARED_LIBS) + set_property(TARGET fbgemm_generic PROPERTY POSITION_INDEPENDENT_CODE ON) + set_property(TARGET fbgemm_avx2 PROPERTY POSITION_INDEPENDENT_CODE ON) + set_property(TARGET fbgemm_avx512 PROPERTY POSITION_INDEPENDENT_CODE ON) + set_target_properties(fbgemm PROPERTIES + CXX_VISIBILITY_PRESET hidden) +-elseif(FBGEMM_LIBRARY_TYPE STREQUAL "static") +- add_library(fbgemm STATIC +- $ +- $ +- $) ++else() + #MSVC need to define FBGEMM_STATIC for fbgemm_generic also to + #avoid generating _dllimport functions. + target_compile_definitions(fbgemm_generic PRIVATE FBGEMM_STATIC) + target_compile_definitions(fbgemm_avx2 PRIVATE FBGEMM_STATIC) + target_compile_definitions(fbgemm_avx512 PRIVATE FBGEMM_STATIC) + target_compile_definitions(fbgemm PRIVATE FBGEMM_STATIC) +-else() +- message(FATAL_ERROR "Unsupported library type ${FBGEMM_LIBRARY_TYPE}") + endif() + + if(USE_SANITIZER) +@@ -293,9 +273,7 @@ target_include_directories(fbgemm BEFORE + PUBLIC $ + PUBLIC $) + +-target_link_libraries(fbgemm $ +- $) +-add_dependencies(fbgemm asmjit cpuinfo) ++target_link_libraries(fbgemm PUBLIC asmjit::asmjit cpuinfo::cpuinfo) + + install(TARGETS fbgemm EXPORT fbgemmLibraryConfig + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} +@@ -308,7 +286,7 @@ install(FILES ${FBGEMM_PUBLIC_HEADERS} + install(EXPORT fbgemmLibraryConfig DESTINATION share/cmake/fbgemm + FILE fbgemmLibraryConfig.cmake) + +-if(MSVC) ++if(FALSE) + if(FBGEMM_LIBRARY_TYPE STREQUAL "shared") + install( + FILES $ $ diff --git a/ports/fbgemm/portfile.cmake b/ports/fbgemm/portfile.cmake index ee0da8e8081363..b03555175799bf 100644 --- a/ports/fbgemm/portfile.cmake +++ b/ports/fbgemm/portfile.cmake @@ -1,13 +1,11 @@ -vcpkg_fail_port_install(ON_ARCH "x86" ON_TARGET "uwp") - # The project's CMakeLists.txt uses Python to select source files. Check if it is available in advance. vcpkg_find_acquire_program(PYTHON3) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO pytorch/fbgemm - REF 51bc2ecc7086980fd9e6190163b04486cd37ac2a - SHA512 43e59ff25ec9365061be6a8db7ec592f096e74897e338dd3e17401f2188986cf3b7e26f82f7c1e2adf34496fb32cb4b50d40731bee3bf9fa5b1f2ac92a09e671 + REF 64833b5185893cbc71ea80c9b01443f762b5cba4 + SHA512 f256177f22d3a4abd9c861bafd96e12df33e7604416c26ac06c9e480fd5f1e0b4149132b3216790704ebf73d47a7277235f058d58f0ecafa8de23360022f202d PATCHES fix-cmakelists.patch ) diff --git a/ports/fbgemm/vcpkg.json b/ports/fbgemm/vcpkg.json index aeddbfe0dc1f91..d81314e00d0d6d 100644 --- a/ports/fbgemm/vcpkg.json +++ b/ports/fbgemm/vcpkg.json @@ -1,10 +1,11 @@ { "name": "fbgemm", - "version-date": "2021-03-18", - "port-version": 2, + "version": "0.4.1", + "port-version": 1, "description": "FB (Facebook) + GEMM (General Matrix-Matrix Multiplication)", "homepage": "https://code.fb.com/ml-applications/fbgemm/", - "supports": "!(x86 | uwp)", + "license": "BSD-3-Clause", + "supports": "!arm & !x86 & !uwp", "dependencies": [ "asmjit", "cpuinfo", diff --git a/ports/fbthrift/fix-annotation.patch b/ports/fbthrift/fix-annotation.patch new file mode 100644 index 00000000000000..cd78095bcb25a4 --- /dev/null +++ b/ports/fbthrift/fix-annotation.patch @@ -0,0 +1,20 @@ +diff --git a/thrift/compiler/compiler.cc b/thrift/compiler/compiler.cc +index 55d8fcaff7..97b0db790b 100644 +--- a/thrift/compiler/compiler.cc ++++ b/thrift/compiler/compiler.cc +@@ -735,6 +735,7 @@ std::unique_ptr parse_and_mutate( + const parsing_params& pparams, + const gen_params& gparams) { + auto found_or_error = source_manager::path_or_error(); ++#ifndef THRIFT_OSS + if (bundle_annotations()) { + const std::string scope_path = "thrift/annotation/scope.thrift"; + found_or_error = +@@ -747,6 +748,7 @@ std::unique_ptr parse_and_mutate( + scope_path, std::string(content.data(), content.size())); + } + } ++#endif + + // Parse it! + std::unique_ptr program_bundle = parse_ast( 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-sodium-target.patch b/ports/fbthrift/fix-sodium-target.patch deleted file mode 100644 index 89d32e53db647d..00000000000000 --- a/ports/fbthrift/fix-sodium-target.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/build/fbcode_builder/CMake/FindSodium.cmake b/build/fbcode_builder/CMake/FindSodium.cmake -index c664ccbe3..3c3f1245c 100644 ---- a/build/fbcode_builder/CMake/FindSodium.cmake -+++ b/build/fbcode_builder/CMake/FindSodium.cmake -@@ -254,7 +254,10 @@ if(sodium_USE_STATIC_LIBS) - else() - set(_LIB_TYPE SHARED) - endif() --add_library(sodium ${_LIB_TYPE} IMPORTED) -+ -+if(NOT TARGET sodium) -+ add_library(sodium ${_LIB_TYPE} IMPORTED) -+endif() - - set_target_properties(sodium PROPERTIES - INTERFACE_INCLUDE_DIRECTORIES "${sodium_INCLUDE_DIR}" diff --git a/ports/fbthrift/fix-zlib.patch b/ports/fbthrift/fix-zlib.patch deleted file mode 100644 index d9a185ad1ffeaa..00000000000000 --- a/ports/fbthrift/fix-zlib.patch +++ /dev/null @@ -1,100 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 150671504a9..7b248a0105e 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -106,7 +106,7 @@ if(lib_only OR build_all) - find_package(fizz CONFIG REQUIRED) - find_package(fmt CONFIG REQUIRED) - find_package(wangle CONFIG REQUIRED) -- find_package(Zlib REQUIRED) -+ find_package(ZLIB REQUIRED) - find_package(Zstd REQUIRED) - # https://cmake.org/cmake/help/v3.9/module/FindThreads.html - set(THREADS_PREFER_PTHREAD_FLAG ON) -@@ -115,7 +115,6 @@ if(lib_only OR build_all) - ${LIBGFLAGS_INCLUDE_DIR} - ${GLOG_INCLUDE_DIRS} - ${OPENSSL_INCLUDE_DIR} -- ${ZLIB_INCLUDE_DIRS} - ${ZSTD_INCLUDE_DIRS} - ${Boost_INCLUDE_DIRS} - ) -diff --git a/thrift/cmake/FBThriftConfig.cmake.in b/thrift/cmake/FBThriftConfig.cmake.in -index 69b29b948c5..e1297ed18c3 100644 ---- a/thrift/cmake/FBThriftConfig.cmake.in -+++ b/thrift/cmake/FBThriftConfig.cmake.in -@@ -28,6 +28,8 @@ else() - set_and_check(FBTHRIFT_COMPILER "@PACKAGE_BIN_INSTALL_DIR@/thrift1") - endif() - -+find_dependency(ZLIB REQUIRED) -+ - if (NOT TARGET FBThrift::thriftcpp2) - include("${FBTHRIFT_CMAKE_DIR}/FBThriftTargets.cmake") - endif() -diff --git a/thrift/cmake/FindZlib.cmake b/thrift/cmake/FindZlib.cmake -deleted file mode 100644 -index c15525b411f..00000000000 ---- a/thrift/cmake/FindZlib.cmake -+++ /dev/null -@@ -1,46 +0,0 @@ --# Copyright (c) Facebook, Inc. and its affiliates. --# --# 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. -- --# --# - Try to find Facebook zstd library --# This will define --# ZLIB_FOUND --# ZLIB_INCLUDE_DIR --# ZLIB_LIBRARIES --# -- --find_path( -- ZLIB_INCLUDE_DIRS zlib.h -- HINTS -- $ENV{ZLIB_ROOT}/include -- ${ZLIB_ROOT}/include --) -- --find_library( -- ZLIB_LIBRARIES z zlib -- HINTS -- $ENV{ZLIB_ROOT}/lib -- ${ZLIB_ROOT}/lib --) -- --# For some reason ZLIB_FOUND is never marked as TRUE --set(ZLIB_FOUND TRUE) --mark_as_advanced(ZLIB_INCLUDE_DIRS ZLIB_LIBRARIES) -- --include(FindPackageHandleStandardArgs) --find_package_handle_standard_args(Zstd ZLIB_INCLUDE_DIRS ZLIB_LIBRARIES) -- --if(ZLIB_FOUND AND NOT ZLIB_FIND_QUIETLY) -- message(STATUS "ZLIB: ${ZLIB_INCLUDE_DIRS}") --endif() -diff --git a/thrift/lib/cpp/CMakeLists.txt b/thrift/lib/cpp/CMakeLists.txt -index 681622594c9..3df0b5717db 100644 ---- a/thrift/lib/cpp/CMakeLists.txt -+++ b/thrift/lib/cpp/CMakeLists.txt -@@ -77,8 +77,8 @@ target_link_libraries( - thrift-core - rpcmetadata - Folly::folly -+ ZLIB::ZLIB - ${OPENSSL_LIBRARIES} -- ${ZLIB_LIBRARIES} - ${ZSTD_LIBRARIES} - ) - diff --git a/ports/fbthrift/portfile.cmake b/ports/fbthrift/portfile.cmake index 016fac181af6a6..f2299a2410e378 100644 --- a/ports/fbthrift/portfile.cmake +++ b/ports/fbthrift/portfile.cmake @@ -1,56 +1,87 @@ -vcpkg_fail_port_install(ON_ARCH "x86" "arm") - -vcpkg_find_acquire_program(FLEX) -vcpkg_find_acquire_program(BISON) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO facebook/fbthrift - REF v2021.06.14.00 - SHA512 e59465adcd57722626e5a4407529b164472cde3942bd100b3d6e92c5057f88f1a8544b7181a01e05ed3077ffd2b3811b687aa6741d08aedef6b79aea02305798 - HEAD_REF master + REF "v${VERSION}" + SHA512 b2175eac20ef9b4f15b5d9002583db7339549f660d03a1ced34289009cd99a4308a9ce340b9a37b9771a32340e80b7877b7c5498619241819cf0664e1e395bf7 + HEAD_REF main PATCHES - fix-sodium-target.patch # fixed in master - fix-zlib.patch # fixed in master + fix-deps.patch + fix-annotation.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +file(REMOVE "${SOURCE_PATH}/thrift/cmake/FindGMock.cmake") +file(REMOVE "${SOURCE_PATH}/thrift/cmake/FindOpenSSL.cmake") +file(REMOVE "${SOURCE_PATH}/thrift/cmake/FindZstd.cmake") +file(REMOVE "${SOURCE_PATH}/build/fbcode_builder/CMake/FindGflags.cmake") +file(REMOVE "${SOURCE_PATH}/build/fbcode_builder/CMake/FindGlog.cmake") +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) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/fbthrift) - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +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/util/test - ${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/transport/http2/server/test - ${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/transport/http2/common/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/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/py3/test - ${CURRENT_PACKAGES_DIR}/include/thrift/lib/py3/benchmark - ${CURRENT_PACKAGES_DIR}/include/thrift/lib/thrift/annotation + "${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/async/metadata/test" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/cpp2/debug_thrift_data_difference/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/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/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/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/py3/benchmark" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/py3/test" + "${CURRENT_PACKAGES_DIR}/include/thrift/lib/thrift/annotation" ) vcpkg_copy_tools(TOOL_NAMES thrift1 AUTO_CLEAN) vcpkg_copy_pdbs() +if(EXISTS "${CURRENT_PACKAGES_DIR}/share/fbthrift/FBThriftConfig.cmake") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/fbthrift/FBThriftConfig.cmake" + "${PACKAGE_PREFIX_DIR}/lib/cmake/fbthrift" "${PACKAGE_PREFIX_DIR}/share/fbthrift") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/fbthrift/FBThriftConfig.cmake" + "${PACKAGE_PREFIX_DIR}/bin/thrift1.exe" "${PACKAGE_PREFIX_DIR}/tools/fbthrift/thrift1.exe") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/fbthrift/FBThriftConfig.cmake" + "${PACKAGE_PREFIX_DIR}/bin/thrift1" "${PACKAGE_PREFIX_DIR}/tools/fbthrift/thrift1") +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\\\"" "" IGNORE_UNCHANGED) + # 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/fbthrift/vcpkg.json b/ports/fbthrift/vcpkg.json index 4e9237e2c5f6ed..c9452e809613b9 100644 --- a/ports/fbthrift/vcpkg.json +++ b/ports/fbthrift/vcpkg.json @@ -1,9 +1,10 @@ { "name": "fbthrift", - "version-string": "2021.06.14.00", + "version-string": "2024.11.04.00", "description": "Facebook's branch of Apache Thrift, including a new C++ server.", "homepage": "https://github.com/facebook/fbthrift", - "supports": "x64", + "license": "Apache-2.0", + "supports": "x64 & static", "dependencies": [ "boost-context", "boost-filesystem", @@ -16,8 +17,18 @@ "folly", "gflags", "glog", + "mvfst", "openssl", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "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 4b44fb0626885b..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}") -file(INSTALL "${SOURCE_PATH}/NOTICE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME "copyright") + 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 046d06500152d3..bc2eb0a1e869f5 100644 --- a/ports/fdk-aac/vcpkg.json +++ b/ports/fdk-aac/vcpkg.json @@ -1,9 +1,10 @@ { "name": "fdk-aac", "version-semver": "2.0.2", - "port-version": 1, + "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", "dependencies": [ { "name": "vcpkg-cmake", @@ -16,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/fdlibm/portfile.cmake b/ports/fdlibm/portfile.cmake index f822cef95bd944..0f673e9f2a8ed8 100644 --- a/ports/fdlibm/portfile.cmake +++ b/ports/fdlibm/portfile.cmake @@ -4,19 +4,18 @@ vcpkg_from_git( REF 59f7335e4dd8275a7dc2f8aeb4fd00758fde37ac ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/libm5.def DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") +file(COPY "${CMAKE_CURRENT_LIST_DIR}/libm5.def" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() # Handle copyright -configure_file(${SOURCE_PATH}/NOTICE ${CURRENT_PACKAGES_DIR}/share/fdlibm/copyright COPYONLY) +configure_file("${SOURCE_PATH}/NOTICE" "${CURRENT_PACKAGES_DIR}/share/fdlibm/copyright" COPYONLY) diff --git a/ports/fdlibm/vcpkg.json b/ports/fdlibm/vcpkg.json index f90a637c991e71..cbe67e7bbe34ed 100644 --- a/ports/fdlibm/vcpkg.json +++ b/ports/fdlibm/vcpkg.json @@ -1,6 +1,12 @@ { "name": "fdlibm", - "version-string": "5.3", - "port-version": 5, - "description": "FDLIBM (Freely Distributable LIBM) is a C math library for machines that support IEEE 754 floating-point arithmetic" + "version": "5.3", + "port-version": 7, + "description": "FDLIBM (Freely Distributable LIBM) is a C math library for machines that support IEEE 754 floating-point arithmetic", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } 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 493e24c1bb02f0..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 -@@ -5352,15 +5352,17 @@ case $target_os in +@@ -5697,17 +5697,19 @@ case $target_os in ;; win32|win64) disable symver @@ -16,7 +16,9 @@ index 34c2adb..1c8008a 100755 - fi +# disable static +# 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" diff --git a/ports/ffmpeg/0002-fix-msvc-link.patch b/ports/ffmpeg/0002-fix-msvc-link.patch new file mode 100644 index 00000000000000..c9aa7e752375ef --- /dev/null +++ b/ports/ffmpeg/0002-fix-msvc-link.patch @@ -0,0 +1,11 @@ +diff --git a/configure b/configure +--- a/configure ++++ b/configure +@@ -6162,6 +6162,7 @@ EOF + test -n "$extern_prefix" && append X86ASMFLAGS "-DPREFIX" + case "$objformat" in + elf*) enabled debug && append X86ASMFLAGS $x86asm_debug ;; ++ win*) enabled debug && append X86ASMFLAGS "-g" ;; + esac + + enabled avx512 && check_x86asm avx512_external "vmovdqa32 [eax]{k1}{z}, zmm0" diff --git a/ports/ffmpeg/0003-fix-windowsinclude.patch b/ports/ffmpeg/0003-fix-windowsinclude.patch index 8ac04c8656bf0c..8b2e22b476f834 100644 --- a/ports/ffmpeg/0003-fix-windowsinclude.patch +++ b/ports/ffmpeg/0003-fix-windowsinclude.patch @@ -1,13 +1,13 @@ diff --git a/fftools/cmdutils.c b/fftools/cmdutils.c -index 9cfbc45..e3447e6 100644 --- a/fftools/cmdutils.c +++ b/fftools/cmdutils.c -@@ -63,6 +63,8 @@ - #include - #endif +@@ -51,6 +51,8 @@ + #include "fopen_utf8.h" + #include "opt_common.h" #ifdef _WIN32 +#define _WIN32_WINNT 0x0502 +#define WIN32_LEAN_AND_MEAN #include + #include "compat/w32dlfcn.h" #endif 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 f1ea01e6b513e5..00000000000000 --- a/ports/ffmpeg/0004-fix-debug-build.patch +++ /dev/null @@ -1,43 +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#--}" -@@ -6152,8 +6153,13 @@ - - 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 lzma && check_lib lzma lzma.h lzma_version_number -llzma -+if enabled debug_configure; then -+ enabled bzlib && check_lib bzlib bzlib.h BZ2_bzlibVersion -lbz2d -+ enabled lzma && check_lib lzma lzma.h lzma_version_number -llzmad -+else -+ enabled bzlib && check_lib bzlib bzlib.h BZ2_bzlibVersion -lbz2 -+ enabled lzma && check_lib lzma lzma.h lzma_version_number -llzma -+fi - - # On some systems dynamic loading requires no extra linker flags - check_lib libdl dlfcn.h "dlopen dlsym" || check_lib libdl dlfcn.h "dlopen dlsym" -ldl -@@ -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 -lsnappyd -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 new file mode 100644 index 00000000000000..68b7503b24422c --- /dev/null +++ b/ports/ffmpeg/0005-fix-nasm.patch @@ -0,0 +1,78 @@ +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 ce5c2f9e38f6e5..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 || -@@ -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 7e4aa7102e67d8..c22f9c1999d0c8 100644 --- a/ports/ffmpeg/0007-fix-lib-naming.patch +++ b/ports/ffmpeg/0007-fix-lib-naming.patch @@ -2,14 +2,11 @@ diff --git a/configure b/configure index d6c4388..75b96c3 100644 --- a/configure +++ b/configure -@@ -4378,6 +4378,10 @@ 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 ;; -+ -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/0010-Fix-x264-detection.patch b/ports/ffmpeg/0010-Fix-x264-detection.patch deleted file mode 100644 index 2cbf85eaf81a8b..00000000000000 --- a/ports/ffmpeg/0010-Fix-x264-detection.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/configure b/configure -index b137669dd3..34a2e644c4 100755 ---- a/configure -+++ b/configure -@@ -6443,7 +6443,7 @@ enabled libwebp && { - enabled libwebp_encoder && require_pkg_config libwebp "libwebp >= 0.2.0" webp/encode.h WebPGetEncoderVersion - enabled libwebp_anim_encoder && check_pkg_config libwebp_anim_encoder "libwebpmux >= 0.4.0" webp/mux.h WebPAnimEncoderOptionsInit; } - enabled libx264 && { check_pkg_config libx264 x264 "stdint.h x264.h" x264_encoder_encode || -- { require libx264 "stdint.h x264.h" x264_encoder_encode "-lx264 $pthreads_extralibs $libm_extralibs" && -+ { require libx264 "stdint.h x264.h" x264_encoder_encode "-lx264 $pthreads_extralibs $libm_extralibs -ldl" && - warn "using libx264 without pkg-config"; } } && - require_cpp_condition libx264 x264.h "X264_BUILD >= 118" && - check_cpp_condition libx262 x264.h "X264_MPEG2" - diff --git a/ports/ffmpeg/0011-Fix-x265-detection.patch b/ports/ffmpeg/0011-Fix-x265-detection.patch deleted file mode 100644 index 69c6380a1f8379..00000000000000 --- a/ports/ffmpeg/0011-Fix-x265-detection.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/configure b/configure -index 34a2e644c4..0ea64bd306 100755 ---- a/configure -+++ b/configure -@@ -6447,7 +6447,10 @@ enabled libx264 && { check_pkg_config libx264 x264 "stdint.h x264.h" x - warn "using libx264 without pkg-config"; } } && - require_cpp_condition libx264 x264.h "X264_BUILD >= 118" && - 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 >= 70" - 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 e9dd21553913aa..00000000000000 --- a/ports/ffmpeg/0012-Fix-ssl-110-detection.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/configure b/configure -index 2be953f7e7..e075949ffc 100755 ---- a/configure -+++ b/configure -@@ -6497,6 +6497,7 @@ enabled omx_rpi && { test_code cc OMX_Core.h OMX_IndexConfigBrcmVideoR - enabled omx && require_headers OMX_Core.h - enabled openssl && { 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/0014-avfilter-dependency-fix.patch b/ports/ffmpeg/0014-avfilter-dependency-fix.patch deleted file mode 100644 index bc9dc0219dd44a..00000000000000 --- a/ports/ffmpeg/0014-avfilter-dependency-fix.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/configure b/configure -index a092a6b457..41e55b4101 100755 ---- a/configure -+++ b/configure -@@ -3666,6 +3666,18 @@ vpp_qsv_filter_select="qsvvpp" - xfade_opencl_filter_deps="opencl" - yadif_cuda_filter_deps="ffnvcodec" - yadif_cuda_filter_deps_any="cuda_nvcc cuda_llvm" -+ametadata_filter_deps="avformat" -+metadata_filter_deps="avformat" -+headphone_filter_deps="avcodec" -+headphone_filter_select="fft" -+showspatial_filter_deps="avcodec" -+showspatial_filter_select="fft" -+superequalizer_filter_deps="avcodec" -+superequalizer_filter_select="rdft" -+surround_filter_deps="avcodec" -+surround_filter_select="rdft" -+sinc_filter_deps="avcodec" -+sinc_filter_select="rdft" - - # examples - avio_list_dir_deps="avformat avutil" 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/0016-configure-dnn-needs-avformat.patch b/ports/ffmpeg/0016-configure-dnn-needs-avformat.patch deleted file mode 100644 index e789e5bec27f02..00000000000000 --- a/ports/ffmpeg/0016-configure-dnn-needs-avformat.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 7ca15b7f337b00a71384f748d05fce89fcf15a8d Mon Sep 17 00:00:00 2001 -From: "Matthias C. M. Troffaes" -Date: Tue, 4 May 2021 13:03:17 +0100 -Subject: [PATCH] configure: dnn needs avformat - ---- - configure | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure b/configure -index 9e45c0822c..8725a94f8a 100755 ---- a/configure -+++ b/configure -@@ -2660,7 +2660,7 @@ cbs_vp9_select="cbs" - dct_select="rdft" - dirac_parse_select="golomb" - dnn_suggest="libtensorflow libopenvino" --dnn_deps="swscale" -+dnn_deps="avformat swscale" - error_resilience_select="me_cmp" - faandct_deps="faan" - faandct_select="fdctdsp" --- -2.25.1 - diff --git a/ports/ffmpeg/0017-Patch-for-ticket-9019-CUDA-Compile-Broken-Using-MSVC.patch b/ports/ffmpeg/0017-Patch-for-ticket-9019-CUDA-Compile-Broken-Using-MSVC.patch deleted file mode 100644 index c80e51ad757971..00000000000000 --- a/ports/ffmpeg/0017-Patch-for-ticket-9019-CUDA-Compile-Broken-Using-MSVC.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 6dd12a7210fb4cf2e69b6c83628021d83ba132c3 Mon Sep 17 00:00:00 2001 -From: "Don C. Bigler" -Date: Fri, 4 Dec 2020 12:39:55 -0500 -Subject: [PATCH] Patch for ticket #9019 CUDA Compile Broken Using MSVC - -Signed-off-by: Don C. Bigler ---- - compat/cuda/ptx2c.sh | 7 ++++--- - configure | 1 + - 2 files changed, 5 insertions(+), 3 deletions(-) - -diff --git a/compat/cuda/ptx2c.sh b/compat/cuda/ptx2c.sh -index 48452379c2..1c486dc30e 100755 ---- a/compat/cuda/ptx2c.sh -+++ b/compat/cuda/ptx2c.sh -@@ -26,9 +26,10 @@ OUT="$1" - IN="$2" - NAME="$(basename "$IN" | sed 's/\..*//')" - --printf "const char %s_ptx[] = \\" "$NAME" > "$OUT" -+printf "const char %s_ptx[] = {\\" "$NAME" > "$OUT" - echo >> "$OUT" --sed -e "$(printf 's/\r//g')" -e 's/["\\]/\\&/g' -e "$(printf 's/^/\t"/')" -e 's/$/\\n"/' < "$IN" >> "$OUT" --echo ";" >> "$OUT" -+xxd -i < "$IN" >> "$OUT" -+echo " ,0x00" >> "$OUT" -+echo "};" >> "$OUT" - - exit 0 -diff --git a/configure b/configure -index 1b1b140d6f..048e02355f 100755 ---- a/configure -+++ b/configure -@@ -1050,6 +1050,7 @@ test_nvcc(){ - tmpo_=$TMPO - [ -x "$(command -v cygpath)" ] && tmpcu_=$(cygpath -m $tmpcu_) && tmpo_=$(cygpath -m $tmpo_) - test_cmd $nvcc $nvccflags "$@" $NVCC_C $(nvcc_o $tmpo_) $tmpcu_ -+ test_cmd xxd - } - - check_nvcc() { --- -2.26.2.windows.1 - diff --git a/ports/ffmpeg/0018-libaom-Dont-use-aom_codec_av1_dx_algo.patch b/ports/ffmpeg/0018-libaom-Dont-use-aom_codec_av1_dx_algo.patch deleted file mode 100644 index f70c2a0297cfd6..00000000000000 --- a/ports/ffmpeg/0018-libaom-Dont-use-aom_codec_av1_dx_algo.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 6ff9f56f2b0bface43c6b0810cfda458695600f3 Mon Sep 17 00:00:00 2001 -From: Matt Oliver -Date: Wed, 20 Oct 2021 06:55:48 +1100 -Subject: [PATCH] libaom: Dont use aom_codec_av1_dx_algo. - -This fixes linking errors where variables cannot be correctly linked in from an external shared library such as with msvc. ---- - libavcodec/libaomdec.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/libavcodec/libaomdec.c b/libavcodec/libaomdec.c -index 75ecc08970..d6b822fda2 100644 ---- a/libavcodec/libaomdec.c -+++ b/libavcodec/libaomdec.c -@@ -223,7 +223,7 @@ static av_cold int aom_free(AVCodecContext *avctx) - - static av_cold int av1_init(AVCodecContext *avctx) - { -- return aom_init(avctx, &aom_codec_av1_dx_algo); -+ return aom_init(avctx, aom_codec_av1_dx()); - } - - AVCodec ff_libaom_av1_decoder = { --- -2.33.1.windows.1 - diff --git a/ports/ffmpeg/0019-libx264-Do-not-explicitly-set-X264_API_IMPORTS.patch b/ports/ffmpeg/0019-libx264-Do-not-explicitly-set-X264_API_IMPORTS.patch deleted file mode 100644 index 7a0fb4bcacc7f6..00000000000000 --- a/ports/ffmpeg/0019-libx264-Do-not-explicitly-set-X264_API_IMPORTS.patch +++ /dev/null @@ -1,47 +0,0 @@ -From d5fca748d76602a912590b64022560283db6fae6 Mon Sep 17 00:00:00 2001 -From: Matt Oliver -Date: Sat, 30 Oct 2021 14:09:29 +1100 -Subject: [PATCH] libx264: Do not explicitly set X264_API_IMPORTS - ---- - configure | 8 +++----- - libavcodec/libx264.c | 4 ---- - 2 files changed, 3 insertions(+), 9 deletions(-) - -diff --git a/configure b/configure -index ede8f9777b..b35728aace 100755 ---- a/configure -+++ b/configure -@@ -6535,11 +6535,9 @@ enabled libvpx && { - enabled libwebp && { - enabled libwebp_encoder && require_pkg_config libwebp "libwebp >= 0.2.0" webp/encode.h WebPGetEncoderVersion - enabled libwebp_anim_encoder && check_pkg_config libwebp_anim_encoder "libwebpmux >= 0.4.0" webp/mux.h WebPAnimEncoderOptionsInit; } --enabled libx264 && { check_pkg_config libx264 x264 "stdint.h x264.h" x264_encoder_encode || -- { require libx264 "stdint.h x264.h" x264_encoder_encode "-lx264 $pthreads_extralibs $libm_extralibs -ldl" && -- warn "using libx264 without pkg-config"; } } && -- require_cpp_condition libx264 x264.h "X264_BUILD >= 118" && -- check_cpp_condition libx262 x264.h "X264_MPEG2" -+enabled libx264 && check_pkg_config libx264 x264 "stdint.h x264.h" x264_encoder_encode && -+ require_cpp_condition libx264 x264.h "X264_BUILD >= 158" && -+ check_cpp_condition libx264 x264.h "X264_MPEG2" - 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++"; } && -diff --git a/libavcodec/libx264.c b/libavcodec/libx264.c -index 21f434d06d..efbc9608c7 100644 ---- a/libavcodec/libx264.c -+++ b/libavcodec/libx264.c -@@ -34,10 +34,6 @@ - #include "packet_internal.h" - #include "atsc_a53.h" - --#if defined(_MSC_VER) --#define X264_API_IMPORTS 1 --#endif -- - #include - #include - #include --- -2.33.1.windows.1 - diff --git a/ports/ffmpeg/0020-fix-aarch64-libswscale.patch b/ports/ffmpeg/0020-fix-aarch64-libswscale.patch new file mode 100644 index 00000000000000..f47e82ed8a2070 --- /dev/null +++ b/ports/ffmpeg/0020-fix-aarch64-libswscale.patch @@ -0,0 +1,28 @@ +diff --git a/libswscale/aarch64/yuv2rgb_neon.S b/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 + +-.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 + .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 + .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 + .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 + .endif + 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 0c98b655884f97..1b36f1779101b3 100644 --- a/ports/ffmpeg/FindFFMPEG.cmake.in +++ b/ports/ffmpeg/FindFFMPEG.cmake.in @@ -50,17 +50,22 @@ function(append_dependencies out) set(config RELEASE) set(path "${CURRENT_INSTALLED_DIR}/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++") + if("${CMAKE_CXX_IMPLICIT_LINK_LIBRARIES}" STREQUAL "") + enable_language(CXX) + endif() + set(pass_through + ${CMAKE_CXX_IMPLICIT_LINK_LIBRARIES} + bcrypt 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) @@ -104,9 +109,6 @@ endif() if(@ENABLE_AVCODEC@) FFMPEG_FIND(libavcodec avcodec avcodec.h) endif() -if(@ENABLE_AVRESAMPLE@) - FFMPEG_FIND(libavresample avresample avresample.h) -endif() if(@ENABLE_POSTPROC@) FFMPEG_FIND(libpostproc postproc postprocess.h) endif() @@ -135,9 +137,6 @@ if (FFMPEG_libavutil_FOUND) if(FFMPEG_libavformat_FOUND) set(FFMPEG_libavformat_VERSION "@LIBAVFORMAT_VERSION@" CACHE STRING "") endif() - if(FFMPEG_libavresample_FOUND) - set(FFMPEG_libavresample_VERSION "@LIBAVRESAMPLE_VERSION@" CACHE STRING "") - endif() if(FFMPEG_libswresample_FOUND) set(FFMPEG_libswresample_VERSION "@LIBSWRESAMPLE_VERSION@" CACHE STRING "") endif() @@ -162,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 b7e53982c14f2c..5d9237edf39187 100644 --- a/ports/ffmpeg/build.sh.in +++ b/ports/ffmpeg/build.sh.in @@ -1,20 +1,7 @@ -#!/bin/sh +#!/usr/bin/env bash set -e -export PATH="/usr/bin:$PATH" - -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@ @@ -88,14 +69,40 @@ OSX_ARCH_COUNT=0@OSX_ARCH_COUNT@ # Default to hardware concurrency if unset. : ${JOBS:=$(nproc)} +# Disable asm and x86asm on all android targets because they trigger build failures: +# arm64 Android build fails with 'relocation R_AARCH64_ADR_PREL_PG_HI21 cannot be used against symbol ff_cos_32; recompile with -fPIC' +# x86 Android build fails with 'error: inline assembly requires more registers than available'. +# x64 Android build fails with 'relocation R_X86_64_PC32 cannot be used against symbol ff_h264_cabac_tables; recompile with -fPIC' +if [ "@VCPKG_CMAKE_SYSTEM_NAME@" = "Android" ]; then + OPTIONS_arm=" --disable-asm --disable-x86asm" + OPTIONS_arm64=" --disable-asm --disable-x86asm" + OPTIONS_x86=" --disable-asm --disable-x86asm" + OPTIONS_x86_64="${OPTIONS_x86}" +else + OPTIONS_arm=" --disable-asm --disable-x86asm" + OPTIONS_arm64=" --enable-asm --disable-x86asm" + OPTIONS_x86=" --enable-asm --enable-x86asm" + OPTIONS_x86_64="${OPTIONS_x86}" +fi + build_ffmpeg() { + # extract build architecture + BUILD_ARCH=$1 + shift + + echo "BUILD_ARCH=${BUILD_ARCH}" + + # get architecture-specific options + OPTION_VARIABLE="OPTIONS_${BUILD_ARCH}" + echo "OPTION_VARIABLE=${OPTION_VARIABLE}" + echo "=== CONFIGURING ===" - sh "$PATH_TO_SRC_DIR/configure" "--prefix=$PATH_TO_PACKAGE_DIR" @CONFIGURE_OPTIONS@ $@ + sh "$PATH_TO_SRC_DIR/configure" "--prefix=$PATH_TO_PACKAGE_DIR" @CONFIGURE_OPTIONS@ --arch=${BUILD_ARCH} ${!OPTION_VARIABLE} $@ echo "=== BUILDING ===" - make -j${JOBS} + make -j${JOBS} V=1 echo "=== INSTALLING ===" @@ -104,13 +111,13 @@ build_ffmpeg() { cd "$PATH_TO_BUILD_DIR" -if [ $OSX_ARCH_COUNT -gt 1 ]; then +if [ $OSX_ARCH_COUNT -gt 0 ]; then for ARCH in $OSX_ARCHS; do echo "=== CLEANING FOR $ARCH ===" make clean && make distclean - build_ffmpeg --enable-cross-compile --arch=$ARCH --extra-cflags=-arch --extra-cflags=$ARCH --extra-ldflags=-arch --extra-ldflags=$ARCH + build_ffmpeg $ARCH --extra-cflags=-arch --extra-cflags=$ARCH --extra-ldflags=-arch --extra-ldflags=$ARCH echo "=== COLLECTING BINARIES FOR $ARCH ===" @@ -122,5 +129,5 @@ if [ $OSX_ARCH_COUNT -gt 1 ]; then merge_binaries $PATH_TO_PACKAGE_DIR $PATH_TO_BUILD_DIR/stage $OSX_ARCHS else - build_ffmpeg + build_ffmpeg @BUILD_ARCH@ fi diff --git a/ports/ffmpeg/portfile.cmake b/ports/ffmpeg/portfile.cmake index 668f07e414874c..afb5fc7785b5d3 100644 --- a/ports/ffmpeg/portfile.cmake +++ b/ports/ffmpeg/portfile.cmake @@ -1,246 +1,175 @@ -#Check for unsupported features - -if("ffmpeg" IN_LIST FEATURES) - vcpkg_fail_port_install(ON_TARGET "UWP" MESSAGE "Feature 'ffmpeg' does not support 'uwp'") -endif() - -if("ffplay" IN_LIST FEATURES) - vcpkg_fail_port_install(ON_TARGET "UWP" MESSAGE "Feature 'ffplay' does not support 'uwp'") -endif() - -if("ffprobe" IN_LIST FEATURES) - vcpkg_fail_port_install(ON_TARGET "UWP" MESSAGE "Feature 'ffprobe' does not support 'uwp'") -endif() - - -if("aom" IN_LIST FEATURES) - if (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64" OR VCPKG_TARGET_IS_UWP) - message(FATAL_ERROR "Feature 'aom' does not support 'uwp | arm'") - endif() -endif() - -if("ass" IN_LIST FEATURES) - if (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64" OR VCPKG_TARGET_IS_UWP) - message(FATAL_ERROR "Feature 'ass' does not support 'uwp | arm'") - endif() -endif() - -if("avisynthplus" IN_LIST FEATURES) - if (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64" OR (NOT VCPKG_TARGET_IS_WINDOWS) OR (VCPKG_LIBRARY_LINKAGE STREQUAL "static")) - message(FATAL_ERROR "Feature 'avisynthplus' does not support '!windows | arm | uwp | static'") - endif() -endif() - -if("dav1d" IN_LIST FEATURES) - if (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "x86" OR VCPKG_TARGET_IS_UWP OR VCPKG_TARGET_IS_OSX) - message(FATAL_ERROR "Feature 'dav1d' does not support 'uwp | arm | x86 | osx'") - endif() -endif() - -if("fontconfig" IN_LIST FEATURES) - if (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64" OR VCPKG_TARGET_IS_UWP OR (VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL "static")) - message(FATAL_ERROR "Feature 'fontconfig' does not support 'uwp | arm | (windows & static)'") - endif() -endif() - -if("fribidi" IN_LIST FEATURES) - if (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64" OR VCPKG_TARGET_IS_UWP) - message(FATAL_ERROR "Feature 'fribidi' does not support 'uwp | arm'") - endif() -endif() - -if("ilbc" IN_LIST FEATURES) - if ((VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") AND VCPKG_TARGET_IS_UWP) - message(FATAL_ERROR "Feature 'ilbc' does not support 'uwp & arm'") - endif() -endif() - -if("modplug" IN_LIST FEATURES) - if (VCPKG_TARGET_IS_UWP) - message(FATAL_ERROR "Feature 'modplug' does not support 'uwp'") - endif() -endif() - -if("nvcodec" IN_LIST FEATURES) - if (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64" OR ((NOT VCPKG_TARGET_IS_WINDOWS) AND (NOT VCPKG_TARGET_IS_LINUX))) - message(FATAL_ERROR "Feature 'nvcodec' does not support '!(windows | linux) | uwp | arm'") - endif() -endif() - -if("opencl" IN_LIST FEATURES) - vcpkg_fail_port_install(ON_TARGET "UWP" MESSAGE "Feature 'opencl' does not support 'uwp'") -endif() - -if("opengl" IN_LIST FEATURES) - if (((VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") AND VCPKG_TARGET_IS_WINDOWS) OR VCPKG_TARGET_IS_UWP) - message(FATAL_ERROR "Feature 'opengl' does not support 'uwp | (windows & arm)") - endif() -endif() - -if("openh264" IN_LIST FEATURES) - vcpkg_fail_port_install(ON_TARGET "UWP" MESSAGE "Feature 'openh264' does not support 'uwp'") -endif() - -if("sdl2" IN_LIST FEATURES) - vcpkg_fail_port_install(ON_TARGET "OSX" MESSAGE "Feature 'sdl2' does not support 'osx'") -endif() - -if("ssh" IN_LIST FEATURES) - if (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64" OR VCPKG_TARGET_IS_UWP OR VCPKG_LIBRARY_LINKAGE STREQUAL "static") - message(FATAL_ERROR "Feature 'ssh' does not support 'uwp | arm | static'") - endif() -endif() - -if("tensorflow" IN_LIST FEATURES) - if (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64" OR VCPKG_TARGET_IS_UWP OR VCPKG_LIBRARY_LINKAGE STREQUAL "static" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") - message(FATAL_ERROR "Feature 'tensorflow' does not support 'x86 | arm | uwp | static'") - endif() -endif() - -if("tesseract" IN_LIST FEATURES) - if (((VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") AND VCPKG_TARGET_IS_WINDOWS) OR VCPKG_TARGET_IS_UWP OR VCPKG_LIBRARY_LINKAGE STREQUAL "static") - message(FATAL_ERROR "Feature 'tesseract' does not support 'uwp | (windows & arm) | static'") - endif() -endif() - -if("wavpack" IN_LIST FEATURES) - if (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") - message(FATAL_ERROR "Feature 'wavpack' does not support 'arm'") - endif() -endif() - -if("x264" IN_LIST FEATURES) - if (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") - message(FATAL_ERROR "Feature 'x264' does not support 'arm'") - endif() -endif() - -if("x265" IN_LIST FEATURES) - if (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64" OR VCPKG_TARGET_IS_UWP) - message(FATAL_ERROR "Feature 'x265' does not support 'uwp | arm'") - endif() -endif() - -if("xml2" IN_LIST FEATURES) - if (VCPKG_LIBRARY_LINKAGE STREQUAL "static") - message(FATAL_ERROR "Feature 'xml2' does not support 'static'") - endif() -endif() - -if(VCPKG_TARGET_IS_WINDOWS) - set(PATCHES 0017-Patch-for-ticket-9019-CUDA-Compile-Broken-Using-MSVC.patch) # https://trac.ffmpeg.org/ticket/9019 -endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ffmpeg/ffmpeg - REF n4.4.1 - SHA512 a53e617937f9892c5cfddb00896be9ad8a3e398dc7cf3b6c893b52ff38aff6ff0cbc61a44cd5f93d9a28f775e71ae82996a5e2b699a769c1de8f882aab34c797 + REF "n${VERSION}" + SHA512 3b273769ef1a1b63aed0691eef317a760f8c83b1d0e1c232b67bbee26db60b4864aafbc88df0e86d6bebf07185bbd057f33e2d5258fde6d97763b9994cd48b6f HEAD_REF master PATCHES 0001-create-lib-libraries.patch + 0002-fix-msvc-link.patch 0003-fix-windowsinclude.patch - 0004-fix-debug-build.patch - 0006-fix-StaticFeatures.patch + 0004-dependencies.patch + 0005-fix-nasm.patch 0007-fix-lib-naming.patch - 0009-Fix-fdk-detection.patch - 0010-Fix-x264-detection.patch - 0011-Fix-x265-detection.patch - 0012-Fix-ssl-110-detection.patch 0013-define-WINVER.patch - 0014-avfilter-dependency-fix.patch # http://ffmpeg.org/pipermail/ffmpeg-devel/2021-February/275819.html - 0015-Fix-xml2-detection.patch - 0016-configure-dnn-needs-avformat.patch # http://ffmpeg.org/pipermail/ffmpeg-devel/2021-May/279926.html - ${PATCHES} - 0018-libaom-Dont-use-aom_codec_av1_dx_algo.patch - 0019-libx264-Do-not-explicitly-set-X264_API_IMPORTS.patch + 0020-fix-aarch64-libswscale.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 " ") +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(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") - # ffmpeg nasm build gives link error on x86, so fall back to yasm - vcpkg_find_acquire_program(YASM) - get_filename_component(YASM_EXE_PATH ${YASM} DIRECTORY) - vcpkg_add_to_path(${YASM_EXE_PATH}) -else() +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) - #We're assuming that if we're building for Windows we're using MSVC - set(INCLUDE_VAR "INCLUDE") - set(LIB_PATH_VAR "LIB") -else() - set(INCLUDE_VAR "CPATH") - set(LIB_PATH_VAR "LIBRARY_PATH") + get_filename_component(NASM_EXE_PATH "${NASM}" DIRECTORY) + vcpkg_add_to_path("${NASM_EXE_PATH}") endif() -set(OPTIONS "--enable-pic --disable-doc --enable-debug --enable-runtime-cpudetect") +set(OPTIONS "--enable-pic --disable-doc --enable-debug --enable-runtime-cpudetect --disable-autodetect") -if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") - set(OPTIONS "${OPTIONS} --disable-asm --disable-x86asm") -endif() -if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") - set(OPTIONS "${OPTIONS} --enable-asm --disable-x86asm") -endif() -if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") - set(OPTIONS "${OPTIONS} --enable-asm --enable-x86asm") +if(VCPKG_TARGET_IS_MINGW) + if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + string(APPEND OPTIONS " --target-os=mingw32") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + string(APPEND OPTIONS " --target-os=mingw64") + endif() +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-d3d12va --enable-mediafoundation") +elseif(VCPKG_TARGET_IS_WINDOWS) + 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 --enable-jni --enable-mediacodec") +elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "QNX") + string(APPEND OPTIONS " --target-os=qnx") +endif() + +if(VCPKG_TARGET_IS_OSX) + list(JOIN VCPKG_OSX_ARCHITECTURES " " OSX_ARCHS) + list(LENGTH VCPKG_OSX_ARCHITECTURES OSX_ARCH_COUNT) endif() -if(VCPKG_TARGET_IS_WINDOWS) - if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") - vcpkg_acquire_msys(MSYS_ROOT - DIRECT_PACKAGES - # Required for "cpp.exe" preprocessor - "https://repo.msys2.org/msys/x86_64/gcc-9.3.0-1-x86_64.pkg.tar.xz" - 76af0192a092278e6b26814b2d92815a2c519902a3fec056b057faec19623b1770ac928a59a39402db23cfc23b0d7601b7f88b367b27269361748c69d08654b2 - "https://repo.msys2.org/msys/x86_64/isl-0.22.1-1-x86_64.pkg.tar.xz" - f4db50d00bad0fa0abc6b9ad965b0262d936d437a9faa35308fa79a7ee500a474178120e487b2db2259caf51524320f619e18d92acf4f0b970b5cbe5cc0f63a2 - "https://repo.msys2.org/msys/x86_64/zlib-1.2.11-1-x86_64.pkg.tar.xz" - b607da40d3388b440f2a09e154f21966cd55ad77e02d47805f78a9dee5de40226225bf0b8335fdfd4b83f25ead3098e9cb974d4f202f28827f8468e30e3b790d - "https://repo.msys2.org/msys/x86_64/mpc-1.1.0-1-x86_64.pkg.tar.xz" - 7d0715c41c27fdbf91e6dcc73d6b8c02ee62c252e027f0a17fa4bfb974be8a74d8e3a327ef31c2460721902299ef69a7ef3c7fce52c8f02ce1cb47f0b6e073e9 - "https://repo.msys2.org/msys/x86_64/mpfr-4.1.0-1-x86_64.pkg.tar.zst" - d64fa60e188124591d41fc097d7eb51d7ea4940bac05cdcf5eafde951ed1eaa174468f5ede03e61106e1633e3428964b34c96de76321ed8853b398fbe8c4d072 - "https://repo.msys2.org/msys/x86_64/gmp-6.2.0-1-x86_64.pkg.tar.xz" - 1389a443e775bb255d905665dd577bef7ed71d51a8c24d118097f8119c08c4dfe67505e88ddd1e9a3764dd1d50ed8b84fa34abefa797d257e90586f0cbf54de8 - ) +vcpkg_cmake_get_vars(cmake_vars_file) +include("${cmake_vars_file}") +if(VCPKG_DETECTED_MSVC) + string(APPEND OPTIONS " --disable-inline-asm") # clang-cl has inline assembly but this leads to undefined symbols. + set(OPTIONS "--toolchain=msvc ${OPTIONS}") + # This is required because ffmpeg depends upon optimizations to link correctly + string(APPEND VCPKG_COMBINED_C_FLAGS_DEBUG " -O2") + string(REGEX REPLACE "(^| )-RTC1( |$)" " " VCPKG_COMBINED_C_FLAGS_DEBUG "${VCPKG_COMBINED_C_FLAGS_DEBUG}") + string(REGEX REPLACE "(^| )-Od( |$)" " " VCPKG_COMBINED_C_FLAGS_DEBUG "${VCPKG_COMBINED_C_FLAGS_DEBUG}") + string(REGEX REPLACE "(^| )-Ob0( |$)" " " VCPKG_COMBINED_C_FLAGS_DEBUG "${VCPKG_COMBINED_C_FLAGS_DEBUG}") +endif() + +string(APPEND VCPKG_COMBINED_C_FLAGS_DEBUG " -I \"${CURRENT_INSTALLED_DIR}/include\"") +string(APPEND VCPKG_COMBINED_C_FLAGS_RELEASE " -I \"${CURRENT_INSTALLED_DIR}/include\"") + +## Setup vcpkg toolchain + +set(prog_env "") + +if(VCPKG_DETECTED_CMAKE_C_COMPILER) + get_filename_component(CC_path "${VCPKG_DETECTED_CMAKE_C_COMPILER}" DIRECTORY) + 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}") + list(APPEND prog_env "${CC_path}") +endif() + +if(VCPKG_DETECTED_CMAKE_CXX_COMPILER) + get_filename_component(CXX_path "${VCPKG_DETECTED_CMAKE_CXX_COMPILER}" DIRECTORY) + get_filename_component(CXX_filename "${VCPKG_DETECTED_CMAKE_CXX_COMPILER}" NAME) + set(ENV{CXX} "${CXX_filename}") + string(APPEND OPTIONS " --cxx=${CXX_filename}") + #string(APPEND OPTIONS " --host_cxx=${CC_filename}") + list(APPEND prog_env "${CXX_path}") +endif() + +if(VCPKG_DETECTED_CMAKE_RC_COMPILER) + get_filename_component(RC_path "${VCPKG_DETECTED_CMAKE_RC_COMPILER}" DIRECTORY) + get_filename_component(RC_filename "${VCPKG_DETECTED_CMAKE_RC_COMPILER}" NAME) + set(ENV{WINDRES} "${RC_filename}") + string(APPEND OPTIONS " --windres=${RC_filename}") + list(APPEND prog_env "${RC_path}") +endif() + +if(VCPKG_DETECTED_CMAKE_LINKER AND VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + get_filename_component(LD_path "${VCPKG_DETECTED_CMAKE_LINKER}" DIRECTORY) + get_filename_component(LD_filename "${VCPKG_DETECTED_CMAKE_LINKER}" NAME) + set(ENV{LD} "${LD_filename}") + string(APPEND OPTIONS " --ld=${LD_filename}") + #string(APPEND OPTIONS " --host_ld=${LD_filename}") + list(APPEND prog_env "${LD_path}") +endif() + +if(VCPKG_DETECTED_CMAKE_NM) + get_filename_component(NM_path "${VCPKG_DETECTED_CMAKE_NM}" DIRECTORY) + get_filename_component(NM_filename "${VCPKG_DETECTED_CMAKE_NM}" NAME) + set(ENV{NM} "${NM_filename}") + string(APPEND OPTIONS " --nm=${NM_filename}") + list(APPEND prog_env "${NM_path}") +endif() + +if(VCPKG_DETECTED_CMAKE_AR) + get_filename_component(AR_path "${VCPKG_DETECTED_CMAKE_AR}" DIRECTORY) + get_filename_component(AR_filename "${VCPKG_DETECTED_CMAKE_AR}" NAME) + if(AR_filename MATCHES [[^(llvm-)?lib\.exe$]]) + set(ENV{AR} "ar-lib ${AR_filename}") + string(APPEND OPTIONS " --ar='ar-lib ${AR_filename}'") else() - vcpkg_acquire_msys(MSYS_ROOT) + set(ENV{AR} "${AR_filename}") + string(APPEND OPTIONS " --ar='${AR_filename}'") endif() + list(APPEND prog_env "${AR_path}") +endif() - set(SHELL ${MSYS_ROOT}/usr/bin/bash.exe) - if(VCPKG_TARGET_IS_MINGW) - if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") - set(OPTIONS "--target-os=mingw32 ${OPTIONS}") - elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") - set(OPTIONS "--target-os=mingw64 ${OPTIONS}") - endif() - else() - set(OPTIONS "--toolchain=msvc ${OPTIONS}") - endif() -else() - set(SHELL /bin/sh) +if(VCPKG_DETECTED_CMAKE_RANLIB) + get_filename_component(RANLIB_path "${VCPKG_DETECTED_CMAKE_RANLIB}" DIRECTORY) + get_filename_component(RANLIB_filename "${VCPKG_DETECTED_CMAKE_RANLIB}" NAME) + set(ENV{RANLIB} "${RANLIB_filename}") + string(APPEND OPTIONS " --ranlib=${RANLIB_filename}") + list(APPEND prog_env "${RANLIB_path}") endif() -vcpkg_cmake_get_vars(cmake_vars_file) -include("${cmake_vars_file}") +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_TARGET_IS_OSX AND VCPKG_DETECTED_CMAKE_OSX_DEPLOYMENT_TARGET) - set(OPTIONS "--extra-cflags=-mmacosx-version-min=${VCPKG_DETECTED_CMAKE_OSX_DEPLOYMENT_TARGET} ${OPTIONS}") - set(OPTIONS "--extra-ldflags=-mmacosx-version-min=${VCPKG_DETECTED_CMAKE_OSX_DEPLOYMENT_TARGET} ${OPTIONS}") +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() -set(ENV{${INCLUDE_VAR}} "${CURRENT_INSTALLED_DIR}/include${VCPKG_HOST_PATH_SEPARATOR}$ENV{${INCLUDE_VAR}}") +list(REMOVE_DUPLICATES prog_env) +vcpkg_add_to_path(PREPEND ${prog_env}) -set(_csc_PROJECT_PATH ffmpeg) +# More? OBJCC BIN2C -file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel) +file(REMOVE_RECURSE "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg" "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") set(FFMPEG_PKGCONFIG_MODULES libavutil) @@ -337,28 +266,32 @@ else() set(ENABLE_SWSCALE OFF) endif() -set(ENABLE_AVRESAMPLE OFF) -if("avresample" IN_LIST FEATURES) - set(OPTIONS "${OPTIONS} --enable-avresample") - set(ENABLE_AVRESAMPLE ON) - list(APPEND FFMPEG_PKGCONFIG_MODULES libavresample) +if ("alsa" IN_LIST FEATURES) + set(OPTIONS "${OPTIONS} --enable-alsa") +else() + set(OPTIONS "${OPTIONS} --disable-alsa") endif() -set(STATIC_LINKAGE OFF) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - set(STATIC_LINKAGE ON) +if("amf" IN_LIST FEATURES) + set(OPTIONS "${OPTIONS} --enable-amf") +else() + set(OPTIONS "${OPTIONS} --disable-amf") 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) @@ -375,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) @@ -391,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() @@ -405,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) @@ -442,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) @@ -454,26 +409,47 @@ 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) set(OPTIONS "${OPTIONS} --enable-openssl") else() set(OPTIONS "${OPTIONS} --disable-openssl") + if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_UWP) + 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) @@ -484,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) @@ -520,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) @@ -566,100 +564,167 @@ else() set(OPTIONS "${OPTIONS} --disable-zlib") endif() -if (VCPKG_TARGET_IS_OSX) - # if the sysroot isn't set in the triplet we fall back to whatever CMake detected for us - if ("${VCPKG_OSX_SYSROOT}" STREQUAL "") - set(VCPKG_OSX_SYSROOT ${VCPKG_DETECTED_CMAKE_OSX_SYSROOT}) - 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() - set(OPTIONS "${OPTIONS} --disable-vdpau") # disable vdpau in OSX - set(OPTIONS "${OPTIONS} --extra-cflags=\"-isysroot ${VCPKG_OSX_SYSROOT}\"") - set(OPTIONS "${OPTIONS} --extra-ldflags=\"-isysroot ${VCPKG_OSX_SYSROOT}\"") +if ("qsv" IN_LIST FEATURES) + 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() - list(JOIN VCPKG_OSX_ARCHITECTURES " " OSX_ARCHS) - LIST(LENGTH VCPKG_OSX_ARCHITECTURES OSX_ARCH_COUNT) +set(OPTIONS_CROSS "--enable-cross-compile") + +# ffmpeg needs --cross-prefix option to use appropriate tools for cross-compiling. +if(VCPKG_DETECTED_CMAKE_C_COMPILER MATCHES "([^\/]*-)gcc$") + string(APPEND OPTIONS_CROSS " --cross-prefix=${CMAKE_MATCH_1}") endif() -set(OPTIONS_CROSS "") +if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + set(BUILD_ARCH "x86_64") +else() + set(BUILD_ARCH ${VCPKG_TARGET_ARCHITECTURE}) +endif() if (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") if(VCPKG_TARGET_IS_WINDOWS) - set(OPTIONS_CROSS " --enable-cross-compile --target-os=win32 --arch=${VCPKG_TARGET_ARCHITECTURE}") 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}") + vcpkg_add_to_path("${GAS_ITEM_PATH}") endforeach(GAS_PATH) - elseif(VCPKG_TARGET_IS_OSX AND NOT VCPKG_TARGET_ARCHITECTURE STREQUAL "${VCPKG_DETECTED_CMAKE_SYSTEM_PROCESSOR}") # VCPKG_TARGET_ARCHITECTURE = arm64 - # get the number of architectures requested - list(LENGTH VCPKG_OSX_ARCHITECTURES ARCHITECTURE_COUNT) - - # ideally we should check the CMAKE_HOST_SYSTEM_PROCESSOR, but that seems to be - # broken when inside a vcpkg port, so we only set it when doing a simple build - # for a single platform. multi-platform builds use a different script - if (ARCHITECTURE_COUNT LESS 2) - message(STATUS "Building on host: ${CMAKE_SYSTEM_PROCESSOR}") - set(OPTIONS_CROSS " --enable-cross-compile --target-os=darwin --arch=arm64 --extra-ldflags=-arch --extra-ldflags=arm64 --extra-cflags=-arch --extra-cflags=arm64 --extra-cxxflags=-arch --extra-cxxflags=arm64") - endif() - endif() -elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") - if(VCPKG_TARGET_IS_OSX) - set(OPTIONS_CROSS " --enable-cross-compile --target-os=darwin --arch=x86_64 --extra-ldflags=-arch --extra-ldflags=x86_64 --extra-cflags=-arch --extra-cflags=x86_64 --extra-cxxflags=-arch --extra-cxxflags=x86_64") endif() -elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") -else() - message(FATAL_ERROR "Unsupported architecture") endif() if(VCPKG_TARGET_IS_UWP) set(ENV{LIBPATH} "$ENV{LIBPATH};$ENV{_WKITS10}references\\windows.foundation.foundationcontract\\2.0.0.0\\;$ENV{_WKITS10}references\\windows.foundation.universalapicontract\\3.0.0.0\\") - set(OPTIONS "${OPTIONS} --disable-programs") - set(OPTIONS "${OPTIONS} --extra-cflags=-DWINAPI_FAMILY=WINAPI_FAMILY_APP --extra-cflags=-D_WIN32_WINNT=0x0A00") - set(OPTIONS_CROSS " --enable-cross-compile --target-os=win32 --arch=${VCPKG_TARGET_ARCHITECTURE}") -endif() - -set(OPTIONS_DEBUG "--debug") # Note: --disable-optimizations can't be used due to http://ffmpeg.org/pipermail/libav-user/2013-March/003945.html -set(OPTIONS_RELEASE "") + string(APPEND OPTIONS " --disable-programs") + string(APPEND OPTIONS " --extra-cflags=-DWINAPI_FAMILY=WINAPI_FAMILY_APP --extra-cflags=-D_WIN32_WINNT=0x0A00") + string(APPEND OPTIONS " --extra-ldflags=-APPCONTAINER --extra-ldflags=WindowsApp.lib") +endif() + +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}") if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") set(OPTIONS "${OPTIONS} --disable-static --enable-shared") - if (VCPKG_TARGET_IS_UWP) - set(OPTIONS "${OPTIONS} --extra-ldflags=-APPCONTAINER --extra-ldflags=WindowsApp.lib") - endif() endif() if(VCPKG_TARGET_IS_MINGW) set(OPTIONS "${OPTIONS} --extra_cflags=-D_WIN32_WINNT=0x0601") elseif(VCPKG_TARGET_IS_WINDOWS) set(OPTIONS "${OPTIONS} --extra-cflags=-DHAVE_UNISTD_H=0") - if(VCPKG_CRT_LINKAGE STREQUAL "dynamic") - set(OPTIONS_DEBUG "${OPTIONS_DEBUG} --extra-cflags=-MDd --extra-cxxflags=-MDd") - set(OPTIONS_RELEASE "${OPTIONS_RELEASE} --extra-cflags=-MD --extra-cxxflags=-MD") - else() - set(OPTIONS_DEBUG "${OPTIONS_DEBUG} --extra-cflags=-MTd --extra-cxxflags=-MTd") - set(OPTIONS_RELEASE "${OPTIONS_RELEASE} --extra-cflags=-MT --extra-cxxflags=-MT") - endif() 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() -set(ENV_LIB_PATH "$ENV{${LIB_PATH_VAR}}") - message(STATUS "Building Options: ${OPTIONS}") # Release build if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + if (VCPKG_DETECTED_MSVC) + set(OPTIONS_RELEASE "${OPTIONS_RELEASE} --extra-ldflags=-libpath:\"${CURRENT_INSTALLED_DIR}/lib\"") + else() + set(OPTIONS_RELEASE "${OPTIONS_RELEASE} --extra-ldflags=-L\"${CURRENT_INSTALLED_DIR}/lib\"") + endif() message(STATUS "Building Release Options: ${OPTIONS_RELEASE}") - set(ENV{${LIB_PATH_VAR}} "${CURRENT_INSTALLED_DIR}/lib${VCPKG_HOST_PATH_SEPARATOR}${ENV_LIB_PATH}") - set(ENV{CFLAGS} "${VCPKG_C_FLAGS} ${VCPKG_C_FLAGS_RELEASE}") - set(ENV{LDFLAGS} "${VCPKG_LINKER_FLAGS}") - set(ENV{PKG_CONFIG_PATH} "${CURRENT_INSTALLED_DIR}/lib/pkgconfig") - message(STATUS "Building ${_csc_PROJECT_PATH} for Release") - file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel) + 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 + set(crsp "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/cflags.rsp") + string(REGEX REPLACE "-arch [A-Za-z0-9_]+" "" VCPKG_COMBINED_C_FLAGS_RELEASE_SANITIZED "${VCPKG_COMBINED_C_FLAGS_RELEASE}") + file(WRITE "${crsp}" "${VCPKG_COMBINED_C_FLAGS_RELEASE_SANITIZED}") + set(ldrsp "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/ldflags.rsp") + string(REGEX REPLACE "-arch [A-Za-z0-9_]+" "" VCPKG_COMBINED_SHARED_LINKER_FLAGS_RELEASE_SANITIZED "${VCPKG_COMBINED_SHARED_LINKER_FLAGS_RELEASE}") + file(WRITE "${ldrsp}" "${VCPKG_COMBINED_SHARED_LINKER_FLAGS_RELEASE_SANITIZED}") + set(ENV{CFLAGS} "@${crsp}") + # All tools except the msvc arm{,64} assembler accept @... as response file syntax. + # For that assembler, there is no known way to pass in flags. We must hope that not passing flags will work acceptably. + if(NOT VCPKG_DETECTED_MSVC OR NOT VCPKG_TARGET_ARCHITECTURE MATCHES "^arm") + set(ENV{ASFLAGS} "@${crsp}") + endif() + set(ENV{LDFLAGS} "@${ldrsp}") + set(ENV{ARFLAGS} "${VCPKG_COMBINED_STATIC_LINKER_FLAGS_RELEASE}") set(BUILD_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") set(CONFIGURE_OPTIONS "${OPTIONS} ${OPTIONS_RELEASE}") @@ -667,22 +732,40 @@ 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 + 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 if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + if (VCPKG_DETECTED_MSVC) + set(OPTIONS_DEBUG "${OPTIONS_DEBUG} --extra-ldflags=-libpath:\"${CURRENT_INSTALLED_DIR}/debug/lib\"") + else() + set(OPTIONS_DEBUG "${OPTIONS_DEBUG} --extra-ldflags=-L\"${CURRENT_INSTALLED_DIR}/debug/lib\"") + endif() message(STATUS "Building Debug Options: ${OPTIONS_DEBUG}") - set(ENV{${LIB_PATH_VAR}} "${CURRENT_INSTALLED_DIR}/debug/lib${VCPKG_HOST_PATH_SEPARATOR}${ENV_LIB_PATH}") - set(ENV{CFLAGS} "${VCPKG_C_FLAGS} ${VCPKG_C_FLAGS_DEBUG}") - set(ENV{LDFLAGS} "${VCPKG_LINKER_FLAGS}") - set(ENV{PKG_CONFIG_PATH} "${CURRENT_INSTALLED_DIR}/debug/lib/pkgconfig") - message(STATUS "Building ${_csc_PROJECT_PATH} for Debug") - file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg) + 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") + string(REGEX REPLACE "-arch [A-Za-z0-9_]+" "" VCPKG_COMBINED_C_FLAGS_DEBUG_SANITIZED "${VCPKG_COMBINED_C_FLAGS_DEBUG}") + file(WRITE "${crsp}" "${VCPKG_COMBINED_C_FLAGS_DEBUG_SANITIZED}") + set(ldrsp "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/ldflags.rsp") + string(REGEX REPLACE "-arch [A-Za-z0-9_]+" "" VCPKG_COMBINED_SHARED_LINKER_FLAGS_DEBUG_SANITIZED "${VCPKG_COMBINED_SHARED_LINKER_FLAGS_DEBUG}") + file(WRITE "${ldrsp}" "${VCPKG_COMBINED_SHARED_LINKER_FLAGS_DEBUG_SANITIZED}") + set(ENV{CFLAGS} "@${crsp}") + if(NOT VCPKG_DETECTED_MSVC OR NOT VCPKG_TARGET_ARCHITECTURE MATCHES "^arm") + set(ENV{ASFLAGS} "@${crsp}") + endif() + set(ENV{LDFLAGS} "@${ldrsp}") + set(ENV{ARFLAGS} "${VCPKG_COMBINED_STATIC_LINKER_FLAGS_DEBUG}") set(BUILD_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") set(CONFIGURE_OPTIONS "${OPTIONS} ${OPTIONS_DEBUG}") @@ -690,15 +773,20 @@ 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 + 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) - file(GLOB DEF_FILES ${CURRENT_PACKAGES_DIR}/lib/*.def ${CURRENT_PACKAGES_DIR}/debug/lib/*.def) + file(GLOB DEF_FILES "${CURRENT_PACKAGES_DIR}/lib/*.def" "${CURRENT_PACKAGES_DIR}/debug/lib/*.def") if(NOT VCPKG_TARGET_IS_MINGW) if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") @@ -721,21 +809,21 @@ if(VCPKG_TARGET_IS_WINDOWS) file(TO_NATIVE_PATH "${DEF_FILE_DIR}/${OUT_FILE_NAME}" OUT_FILE_NATIVE) message(STATUS "Generating ${OUT_FILE_NATIVE}") vcpkg_execute_required_process( - COMMAND lib.exe /def:${DEF_FILE_NATIVE} /out:${OUT_FILE_NATIVE} ${LIB_MACHINE_ARG} - WORKING_DIRECTORY ${CURRENT_PACKAGES_DIR} - LOGNAME libconvert-${TARGET_TRIPLET} + COMMAND lib.exe "/def:${DEF_FILE_NATIVE}" "/out:${OUT_FILE_NATIVE}" ${LIB_MACHINE_ARG} + WORKING_DIRECTORY "${CURRENT_PACKAGES_DIR}" + LOGNAME "libconvert-${TARGET_TRIPLET}" ) endforeach() endif() - file(GLOB EXP_FILES ${CURRENT_PACKAGES_DIR}/lib/*.exp ${CURRENT_PACKAGES_DIR}/debug/lib/*.exp) - file(GLOB LIB_FILES ${CURRENT_PACKAGES_DIR}/bin/*${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX} ${CURRENT_PACKAGES_DIR}/debug/bin/*${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}) + file(GLOB EXP_FILES "${CURRENT_PACKAGES_DIR}/lib/*.exp" "${CURRENT_PACKAGES_DIR}/debug/lib/*.exp") + file(GLOB LIB_FILES "${CURRENT_PACKAGES_DIR}/bin/*${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}" "${CURRENT_PACKAGES_DIR}/debug/bin/*${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}") if(VCPKG_TARGET_IS_MINGW) - file(GLOB LIB_FILES_2 ${CURRENT_PACKAGES_DIR}/bin/*.lib ${CURRENT_PACKAGES_DIR}/debug/bin/*.lib) + file(GLOB LIB_FILES_2 "${CURRENT_PACKAGES_DIR}/bin/*.lib" "${CURRENT_PACKAGES_DIR}/debug/bin/*.lib") endif() - list(APPEND FILES_TO_REMOVE ${EXP_FILES} ${LIB_FILES} ${LIB_FILES_2} ${DEF_FILES}) - if(FILES_TO_REMOVE) - file(REMOVE ${FILES_TO_REMOVE}) + set(files_to_remove ${EXP_FILES} ${LIB_FILES} ${LIB_FILES_2} ${DEF_FILES}) + if(files_to_remove) + file(REMOVE ${files_to_remove}) endif() endif() @@ -749,10 +837,10 @@ if("ffplay" IN_LIST FEATURES) vcpkg_copy_tools(TOOL_NAMES ffplay AUTO_CLEAN) endif() -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") if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") endif() vcpkg_copy_pdbs() @@ -765,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}") @@ -797,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() @@ -815,13 +882,13 @@ 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:.+") list(TRANSFORM contents REPLACE "^-Wl,-framework," "-l") list(FILTER contents EXCLUDE REGEX "^-Wl,.+") list(TRANSFORM contents REPLACE "^-l" "") - list(FILTER contents EXCLUDE REGEX "^avresample$") list(FILTER contents EXCLUDE REGEX "^avutil$") list(FILTER contents EXCLUDE REGEX "^avcodec$") list(FILTER contents EXCLUDE REGEX "^avdevice$") @@ -850,20 +917,31 @@ list(REMOVE_DUPLICATES FFMPEG_DEPENDENCIES_DEBUG) list(REVERSE FFMPEG_DEPENDENCIES_RELEASE) list(REVERSE FFMPEG_DEPENDENCIES_DEBUG) -message("Dependencies (release): ${FFMPEG_DEPENDENCIES_RELEASE}") -message("Dependencies (debug): ${FFMPEG_DEPENDENCIES_DEBUG}") +message(STATUS "Dependencies (release): ${FFMPEG_DEPENDENCIES_RELEASE}") +message(STATUS "Dependencies (debug): ${FFMPEG_DEPENDENCIES_DEBUG}") # Handle version strings function(extract_regex_from_file out) - cmake_parse_arguments(PARSE_ARGV 1 "arg" "" "FILE;REGEX" "") - file(READ "${arg_FILE}" contents) + cmake_parse_arguments(PARSE_ARGV 1 "arg" "MAJOR" "FILE_WITHOUT_EXTENSION;REGEX" "") + file(READ "${arg_FILE_WITHOUT_EXTENSION}.h" contents) if (contents MATCHES "${arg_REGEX}") if(NOT CMAKE_MATCH_COUNT EQUAL 1) message(FATAL_ERROR "Could not identify match group in regular expression \"${arg_REGEX}\"") endif() else() - message(FATAL_ERROR "Could not find line matching \"${arg_REGEX}\" in file \"${arg_FILE}\"") + if (arg_MAJOR) + file(READ "${arg_FILE_WITHOUT_EXTENSION}_major.h" contents) + if (contents MATCHES "${arg_REGEX}") + if(NOT CMAKE_MATCH_COUNT EQUAL 1) + message(FATAL_ERROR "Could not identify match group in regular expression \"${arg_REGEX}\"") + endif() + else() + message(WARNING "Could not find line matching \"${arg_REGEX}\" in file \"${arg_FILE_WITHOUT_EXTENSION}_major.h\"") + endif() + else() + message(WARNING "Could not find line matching \"${arg_REGEX}\" in file \"${arg_FILE_WITHOUT_EXTENSION}.h\"") + endif() endif() set("${out}" "${CMAKE_MATCH_1}" PARENT_SCOPE) endfunction() @@ -873,22 +951,23 @@ function(extract_version_from_component out) string(TOLOWER "${arg_COMPONENT}" component_lower) string(TOUPPER "${arg_COMPONENT}" component_upper) extract_regex_from_file(major_version - FILE "${SOURCE_PATH}/${component_lower}/version.h" + FILE_WITHOUT_EXTENSION "${SOURCE_PATH}/${component_lower}/version" + MAJOR REGEX "#define ${component_upper}_VERSION_MAJOR[ ]+([0-9]+)" ) extract_regex_from_file(minor_version - FILE "${SOURCE_PATH}/${component_lower}/version.h" + FILE_WITHOUT_EXTENSION "${SOURCE_PATH}/${component_lower}/version" REGEX "#define ${component_upper}_VERSION_MINOR[ ]+([0-9]+)" ) extract_regex_from_file(micro_version - FILE "${SOURCE_PATH}/${component_lower}/version.h" + FILE_WITHOUT_EXTENSION "${SOURCE_PATH}/${component_lower}/version" REGEX "#define ${component_upper}_VERSION_MICRO[ ]+([0-9]+)" ) set("${out}" "${major_version}.${minor_version}.${micro_version}" PARENT_SCOPE) endfunction() extract_regex_from_file(FFMPEG_VERSION - FILE "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/libavutil/ffversion.h" + FILE_WITHOUT_EXTENSION "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/libavutil/ffversion" REGEX "#define FFMPEG_VERSION[ ]+\"(.+)\"" ) @@ -900,17 +979,15 @@ extract_version_from_component(LIBAVDEVICE_VERSION COMPONENT libavdevice) extract_version_from_component(LIBAVFILTER_VERSION COMPONENT libavfilter) -extract_version_from_component( LIBAVFORMAT_VERSION +extract_version_from_component(LIBAVFORMAT_VERSION COMPONENT libavformat) -extract_version_from_component(LIBAVRESAMPLE_VERSION - COMPONENT libavresample) extract_version_from_component(LIBSWRESAMPLE_VERSION COMPONENT libswresample) extract_version_from_component(LIBSWSCALE_VERSION COMPONENT libswscale) # Handle copyright -file(STRINGS ${CURRENT_BUILDTREES_DIR}/build-${TARGET_TRIPLET}-rel-out.log LICENSE_STRING REGEX "License: .*" LIMIT_COUNT 1) +file(STRINGS "${CURRENT_BUILDTREES_DIR}/build-${TARGET_TRIPLET}-rel-out.log" LICENSE_STRING REGEX "License: .*" LIMIT_COUNT 1) if(LICENSE_STRING STREQUAL "License: LGPL version 2.1 or later") set(LICENSE_FILE "COPYING.LGPLv2.1") elseif(LICENSE_STRING STREQUAL "License: LGPL version 3 or later") @@ -921,11 +998,12 @@ elseif(LICENSE_STRING STREQUAL "License: GPL version 3 or later") set(LICENSE_FILE "COPYING.GPLv3") elseif(LICENSE_STRING STREQUAL "License: nonfree and unredistributable") set(LICENSE_FILE "COPYING.NONFREE") - file(WRITE ${SOURCE_PATH}/${LICENSE_FILE} ${LICENSE_STRING}) + file(WRITE "${SOURCE_PATH}/${LICENSE_FILE}" "${LICENSE_STRING}") else() message(FATAL_ERROR "Failed to identify license (${LICENSE_STRING})") 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}) -file(INSTALL ${SOURCE_PATH}/${LICENSE_FILE} DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +configure_file("${CMAKE_CURRENT_LIST_DIR}/FindFFMPEG.cmake.in" "${CURRENT_PACKAGES_DIR}/share/${PORT}/FindFFMPEG.cmake" @ONLY) +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 91e065ecf6cd1b..de90c54006e760 100644 --- a/ports/ffmpeg/vcpkg.json +++ b/ports/ffmpeg/vcpkg.json @@ -1,14 +1,16 @@ { "name": "ffmpeg", - "version": "4.4.1", + "version": "7.1", + "port-version": 1, "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", + "license": null, "dependencies": [ { - "name": "vcpkg-cmake", + "name": "vcpkg-cmake-get-vars", "host": true }, { @@ -32,17 +34,25 @@ "name": "ffmpeg", "default-features": false, "features": [ + "sdl2" + ] + }, + { + "name": "ffmpeg", + "default-features": false, + "features": [ + "aom", "avcodec", "avdevice", "avfilter", "avformat", - "avresample", "bzip2", "freetype", "iconv", "lzma", "mp3lame", "openjpeg", + "openmpt", "opus", "snappy", "soxr", @@ -53,6 +63,7 @@ "vorbis", "vpx", "webp", + "xml2", "zlib" ] }, @@ -60,15 +71,15 @@ "name": "ffmpeg", "default-features": false, "features": [ - "sdl2" + "alsa" ], - "platform": "!osx" + "platform": "linux" }, { "name": "ffmpeg", "default-features": false, "features": [ - "modplug" + "ass" ], "platform": "!uwp" }, @@ -76,7 +87,7 @@ "name": "ffmpeg", "default-features": false, "features": [ - "opencl" + "fontconfig" ], "platform": "!uwp" }, @@ -84,7 +95,7 @@ "name": "ffmpeg", "default-features": false, "features": [ - "openh264" + "fribidi" ], "platform": "!uwp" }, @@ -92,39 +103,39 @@ "name": "ffmpeg", "default-features": false, "features": [ - "xml2" + "modplug" ], - "platform": "!static" + "platform": "!uwp" }, { "name": "ffmpeg", "default-features": false, "features": [ - "ilbc" + "openh264" ], - "platform": "!(arm & uwp)" + "platform": "!uwp" }, { "name": "ffmpeg", "default-features": false, "features": [ - "aom" + "srt" ], - "platform": "!(uwp | arm)" + "platform": "!uwp" }, { "name": "ffmpeg", "default-features": false, "features": [ - "ass" + "ilbc" ], - "platform": "!(uwp | arm)" + "platform": "!(arm & uwp)" }, { "name": "ffmpeg", "default-features": false, "features": [ - "fribidi" + "ssh" ], "platform": "!(uwp | arm)" }, @@ -132,25 +143,25 @@ "name": "ffmpeg", "default-features": false, "features": [ - "ssh" + "amf" ], - "platform": "!(uwp | arm) & !static" + "platform": "!osx & !uwp" }, { "name": "ffmpeg", "default-features": false, "features": [ - "opengl" + "opencl" ], - "platform": "!uwp & !(windows & arm)" + "platform": "!uwp & !osx" }, { "name": "ffmpeg", "default-features": false, "features": [ - "dav1d" + "opengl" ], - "platform": "!(uwp | arm | x86 | osx)" + "platform": "!uwp & !(arm64 & windows)" }, { "name": "ffmpeg", @@ -158,15 +169,15 @@ "features": [ "tensorflow" ], - "platform": "!(x86 | arm | uwp) & !static" + "platform": "x64 & !static & !uwp & !windows" }, { "name": "ffmpeg", "default-features": false, "features": [ - "nvcodec" + "dav1d" ], - "platform": "(windows | linux) & !uwp & !arm" + "platform": "!(uwp | (windows & x86 & !static))" }, { "name": "ffmpeg", @@ -174,15 +185,23 @@ "features": [ "tesseract" ], - "platform": "!uwp & !(windows & arm) & !static" + "platform": "!(windows & arm) & !static & !uwp" }, { "name": "ffmpeg", "default-features": false, "features": [ - "fontconfig" + "qsv" + ], + "platform": "linux | (!osx & !uwp & !(arm & windows))" + }, + { + "name": "ffmpeg", + "default-features": false, + "features": [ + "nvcodec" ], - "platform": "!(windows & static) & !(uwp | arm)" + "platform": "linux | (!osx & !uwp & !(arm64 & windows))" } ] }, @@ -204,7 +223,7 @@ "features": [ "x264" ], - "platform": "!arm" + "platform": "!(arm & windows)" }, { "name": "ffmpeg", @@ -212,7 +231,7 @@ "features": [ "x265" ], - "platform": "!arm & !uwp" + "platform": "!uwp & !(arm & windows)" }, { "name": "ffmpeg", @@ -239,6 +258,18 @@ } ] }, + "alsa": { + "description": "Enable ALSA support", + "dependencies": [ + "alsa" + ] + }, + "amf": { + "description": "AMD AMF codec support", + "dependencies": [ + "amd-amf" + ] + }, "aom": { "description": "AV1 video encoding/decoding via libaom support in ffmpeg", "dependencies": [ @@ -284,6 +315,7 @@ }, "avisynthplus": { "description": "Reading of AviSynth script files", + "supports": "windows & !static", "dependencies": [ "avisynthplus", { @@ -310,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": [ @@ -331,6 +390,7 @@ }, "ffmpeg": { "description": "Build the ffmpeg application", + "supports": "!uwp", "dependencies": [ { "name": "ffmpeg", @@ -345,6 +405,7 @@ }, "ffplay": { "description": "Build the ffplay application", + "supports": "!uwp", "dependencies": [ { "name": "ffmpeg", @@ -362,6 +423,7 @@ }, "ffprobe": { "description": "Build the ffprobe application", + "supports": "!uwp", "dependencies": [ { "name": "ffmpeg", @@ -429,18 +491,21 @@ }, "nvcodec": { "description": "Nvidia video decoding/encoding acceleration", + "supports": "linux | (!osx & !uwp & !(arm64 & windows))", "dependencies": [ "ffnvcodec" ] }, "opencl": { "description": "OpenCL processing", + "supports": "!uwp", "dependencies": [ "opencl" ] }, "opengl": { "description": "OpenGL rendering", + "supports": "!uwp", "dependencies": [ "opengl", "opengl-registry" @@ -458,6 +523,12 @@ "openjpeg" ] }, + "openmpt": { + "description": "Decoding tracked files via libopenmpt", + "dependencies": [ + "libopenmpt" + ] + }, "openssl": { "description": "Needed for https support if gnutls, libtls or mbedtls is not used", "dependencies": [ @@ -465,7 +536,7 @@ "name": "ffmpeg", "default-features": false, "features": [ - "nonfree" + "version3" ] }, "openssl" @@ -489,6 +560,12 @@ } ] }, + "qsv": { + "description": "Intel QSV Codec", + "dependencies": [ + "mfx-dispatch" + ] + }, "sdl2": { "description": "Sdl2 support", "dependencies": [ @@ -531,6 +608,13 @@ "speex" ] }, + "srt": { + "description": "Haivision SRT protocol", + "supports": "!uwp", + "dependencies": [ + "libsrt" + ] + }, "ssh": { "description": "SFTP protocol via libssh", "dependencies": [ @@ -545,12 +629,14 @@ }, "tensorflow": { "description": "TensorFlow as a DNN module backend for DNN based filters like sr", + "supports": "!static", "dependencies": [ "tensorflow" ] }, "tesseract": { "description": "Tesseract, needed for ocr filter", + "supports": "!static", "dependencies": [ "tesseract" ] @@ -573,6 +659,13 @@ "vpx": { "description": "VP8 and VP9 de/encoding via libvpx", "dependencies": [ + { + "name": "ffmpeg", + "default-features": false, + "features": [ + "avcodec" + ] + }, "libvpx" ] }, diff --git a/ports/ffnvcodec/portfile.cmake b/ports/ffnvcodec/portfile.cmake index 1b67cba6fa5520..5092e09bdf9a18 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 b641a195edbe3ac9788e681e22c2e2fad8aacddb # 11.1.5.0 - SHA512 e8b4c21ddc9c39dadd9b69ebdfcf38cf1e61f19ffb88d0a4d9086ddbf69285d2c8c946bb02bde3ee943accae559a72468f096718ad69ac03a43746c1eb0ed483 + REF "n${VERSION}" + SHA512 dd2f1c7ff54890016ab17500449620cdf3690aa1d34dec78f1b27bdc0d51ec1335a66fda5942ddb43e1a1310de95874aef5232a1e676c21882fae08472d17808 HEAD_REF master ) diff --git a/ports/ffnvcodec/vcpkg.json b/ports/ffnvcodec/vcpkg.json index 7ef678a4b8095c..b02718f8f3bad5 100644 --- a/ports/ffnvcodec/vcpkg.json +++ b/ports/ffnvcodec/vcpkg.json @@ -1,7 +1,7 @@ { "name": "ffnvcodec", - "version": "11.1.5.0", + "version": "12.2.72.0", "description": "FFmpeg version of Nvidia Codec SDK headers.", "homepage": "https://github.com/FFmpeg/nv-codec-headers", - "supports": "(windows | linux) & !uwp" + "supports": "linux | (!osx & !uwp & !(arm64 & windows))" } diff --git a/ports/fftw3/bigobj.patch b/ports/fftw3/bigobj.patch new file mode 100644 index 00000000000000..1ca38658874c0d --- /dev/null +++ b/ports/fftw3/bigobj.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 64db20b6a..ce438a379 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -315,7 +315,7 @@ endif () + add_library (${fftw3_lib} ${SOURCEFILES}) + target_include_directories (${fftw3_lib} INTERFACE $) + if (MSVC AND NOT (CMAKE_C_COMPILER_ID STREQUAL "Intel")) +- target_compile_definitions (${fftw3_lib} PRIVATE /bigobj) ++ target_compile_options (${fftw3_lib} PRIVATE "/bigobj") + endif () + if (HAVE_SSE) + target_compile_options (${fftw3_lib} PRIVATE ${SSE_FLAG}) diff --git a/ports/fftw3/fix-openmp.patch b/ports/fftw3/fix-openmp.patch new file mode 100644 index 00000000000000..27b874803b8e57 --- /dev/null +++ b/ports/fftw3/fix-openmp.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ce438a3..43c74be 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -356,7 +356,7 @@ if (OPENMP_FOUND) + target_link_libraries (${fftw3_lib}_omp ${fftw3_lib}) + target_link_libraries (${fftw3_lib}_omp ${CMAKE_THREAD_LIBS_INIT}) + list (APPEND subtargets ${fftw3_lib}_omp) +- target_compile_options (${fftw3_lib}_omp PRIVATE ${OpenMP_C_FLAGS}) ++ target_link_libraries (${fftw3_lib}_omp OpenMP::OpenMP_C) + endif () + + foreach(subtarget ${subtargets}) 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/install-subtargets.patch b/ports/fftw3/install-subtargets.patch new file mode 100644 index 00000000000000..c313d3fef7c667 --- /dev/null +++ b/ports/fftw3/install-subtargets.patch @@ -0,0 +1,18 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d1e4dff..ea5d579 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -361,12 +361,8 @@ endif () + + foreach(subtarget ${subtargets}) + set_target_properties (${subtarget} PROPERTIES SOVERSION 3.6.9 VERSION 3) +- install (TARGETS ${subtarget} +- RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} +- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} +- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + endforeach () +-install(TARGETS ${fftw3_lib} ++install(TARGETS ${subtargets} + EXPORT FFTW3LibraryDepends + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} diff --git a/ports/fftw3/omp_test.patch b/ports/fftw3/omp_test.patch deleted file mode 100644 index 6123798a21cf95..00000000000000 --- a/ports/fftw3/omp_test.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index f3cfc20..9826bff 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -385,6 +385,12 @@ if (BUILD_TESTS) - target_link_libraries (bench ${fftw3_lib}) - endif () - -+ if (ENABLE_OPENMP) -+ target_link_libraries (bench ${fftw3_lib}_omp) -+ else () -+ target_link_libraries (bench ${fftw3_lib}) -+ endif () -+ - - enable_testing () - diff --git a/ports/fftw3/patch_targets.patch b/ports/fftw3/patch_targets.patch deleted file mode 100644 index a0df5cf90c4147..00000000000000 --- a/ports/fftw3/patch_targets.patch +++ /dev/null @@ -1,41 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 335808a..90772b4 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -358,7 +358,7 @@ foreach(subtarget ${subtargets}) - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) - endforeach () - install(TARGETS ${fftw3_lib} -- EXPORT FFTW3LibraryDepends -+ EXPORT FFTW3${PREC_SUFFIX}LibraryDepends - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) -@@ -419,11 +419,11 @@ configure_file (FFTW3ConfigVersion.cmake.in FFTW3${PREC_SUFFIX}ConfigVersion.cma - install (FILES - ${CMAKE_CURRENT_BINARY_DIR}/FFTW3${PREC_SUFFIX}Config.cmake - ${CMAKE_CURRENT_BINARY_DIR}/FFTW3${PREC_SUFFIX}ConfigVersion.cmake -- DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/fftw3${PREC_SUFFIX} -+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake - COMPONENT Development) - --export (TARGETS ${fftw3_lib} NAMESPACE FFTW3:: FILE ${PROJECT_BINARY_DIR}/FFTW3LibraryDepends.cmake) --install(EXPORT FFTW3LibraryDepends -+export (TARGETS ${fftw3_lib} NAMESPACE FFTW3:: FILE ${PROJECT_BINARY_DIR}/FFTW3${PREC_SUFFIX}LibraryDepends.cmake) -+install(EXPORT FFTW3${PREC_SUFFIX}LibraryDepends - NAMESPACE FFTW3:: -- DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/fftw3${PREC_SUFFIX} -+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake - COMPONENT Development) ---- a/FFTW3Config.cmake.in -+++ b/FFTW3Config.cmake.in -@@ -10,7 +10,7 @@ set (FFTW3@PREC_SUFFIX@_LIBRARIES fftw3@PREC_SUFFIX@) - set (FFTW3@PREC_SUFFIX@_LIBRARY_DIRS @CMAKE_INSTALL_FULL_LIBDIR@) - set (FFTW3@PREC_SUFFIX@_INCLUDE_DIRS @CMAKE_INSTALL_FULL_INCLUDEDIR@) - --include ("${CMAKE_CURRENT_LIST_DIR}/FFTW3LibraryDepends.cmake") -+include ("${CMAKE_CURRENT_LIST_DIR}/FFTW3@PREC_SUFFIX@LibraryDepends.cmake") - - if (CMAKE_VERSION VERSION_LESS 2.8.3) - set (CMAKE_CURRENT_LIST_DIR) - \ No newline at end of file diff --git a/ports/fftw3/portfile.cmake b/ports/fftw3/portfile.cmake index 45a9052e727d1a..4eaea9136a0af3 100644 --- a/ports/fftw3/portfile.cmake +++ b/ports/fftw3/portfile.cmake @@ -1,62 +1,60 @@ vcpkg_download_distfile(ARCHIVE - URLS "http://www.fftw.org/fftw-3.3.10.tar.gz" + URLS "https://www.fftw.org/fftw-3.3.10.tar.gz" FILENAME "fftw-3.3.10.tar.gz" SHA512 2d34b5ccac7b08740dbdacc6ebe451d8a34cf9d9bfec85a5e776e87adf94abfd803c222412d8e10fbaa4ed46f504aa87180396af1b108666cde4314a55610b40 ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" PATCHES - omp_test.patch - patch_targets.patch fftw3_arch_fix.patch aligned_malloc.patch + bigobj.patch + fix-openmp.patch + install-subtargets.patch + fix-wrong-version.patch # https://github.com/FFTW/fftw3/commit/0842f00ae6b6e1f3aade155bc0edd17a7313fa6a ) vcpkg_check_features( OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES - openmp ENABLE_OPENMP + openmp ENABLE_OPENMP + openmp CMAKE_REQUIRE_FIND_PACKAGE_OpenMP threads ENABLE_THREADS threads WITH_COMBINED_THREADS - avx2 ENABLE_AVX2 - avx ENABLE_AVX - sse2 ENABLE_SSE2 - sse ENABLE_SSE + avx2 ENABLE_AVX2 + avx ENABLE_AVX + sse2 ENABLE_SSE2 + sse ENABLE_SSE ) -set(ENABLE_FLOAT_CMAKE fftw3f) -set(ENABLE_LONG_DOUBLE_CMAKE fftw3l) -set(ENABLE_DEFAULT_PRECISION_CMAKE fftw3) +set(package_names fftw3 fftw3f fftw3l) +set(fftw3_options "") +set(fftw3f_options -DENABLE_FLOAT=ON) +set(fftw3l_options -DENABLE_LONG_DOUBLE=ON -DENABLE_AVX2=OFF -DENABLE_AVX=OFF -DENABLE_SSE2=OFF) -foreach(PRECISION ENABLE_FLOAT ENABLE_LONG_DOUBLE ENABLE_DEFAULT_PRECISION) - if(PRECISION STREQUAL "ENABLE_LONG_DOUBLE") - vcpkg_cmake_configure( +foreach(package_name IN LISTS package_names) + message(STATUS "${package_name}...") + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" + LOGFILE_BASE "config-${package_name}-${TARGET_TRIPLET}" OPTIONS - -D${PRECISION}=ON - -DENABLE_OPENMP=${ENABLE_OPENMP} - -DENABLE_THREADS=${HAVE_THREADS} - -DWITH_COMBINED_THREADS=${HAVE_THREADS} - -DBUILD_TESTS=OFF - ) - else() - vcpkg_cmake_configure( - SOURCE_PATH "${SOURCE_PATH}" - OPTIONS - -D${PRECISION}=ON ${FEATURE_OPTIONS} + ${${package_name}_options} # may override FEATURE_OPTIONS -DBUILD_TESTS=OFF - ) - endif() - - vcpkg_cmake_install() - + MAYBE_UNUSED_VARIABLES + CMAKE_REQUIRE_FIND_PACKAGE_OpenMP + ) + vcpkg_cmake_build( + LOGFILE_BASE "install-${package_name}" + TARGET install + ) vcpkg_copy_pdbs() - vcpkg_cmake_config_fixup(PACKAGE_NAME ${${PRECISION}_CMAKE} CONFIG_PATH lib/cmake) + vcpkg_cmake_config_fixup(PACKAGE_NAME "${package_name}" CONFIG_PATH "lib/cmake/${package_name}") endforeach() +vcpkg_fixup_pkgconfig() file(READ "${SOURCE_PATH}/api/fftw3.h" _contents) if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") @@ -69,6 +67,4 @@ file(WRITE "${SOURCE_PATH}/include/fftw3.h" "${_contents}") 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_fixup_pkgconfig() +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/fftw3/vcpkg.json b/ports/fftw3/vcpkg.json index 53d4932318f809..deb93c90a6d0f0 100644 --- a/ports/fftw3/vcpkg.json +++ b/ports/fftw3/vcpkg.json @@ -1,9 +1,10 @@ { "name": "fftw3", "version": "3.3.10", - "port-version": 2, + "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", "dependencies": [ { "name": "vcpkg-cmake", @@ -16,19 +17,23 @@ ], "features": { "avx": { - "description": "Builds part of the library with avx, sse2, sse" + "description": "Builds part of the library with avx, sse2, sse", + "supports": "!arm" }, "avx2": { - "description": "Builds part of the library with avx2, fma, avx, sse2, sse" + "description": "Builds part of the library with avx2, fma, avx, sse2, sse", + "supports": "!arm" }, "openmp": { "description": "Builds openmp enabled lib" }, "sse": { - "description": "Builds part of the library with sse" + "description": "Builds part of the library with sse", + "supports": "!arm" }, "sse2": { - "description": "Builds part of the library with sse2, sse" + "description": "Builds part of the library with sse2, sse", + "supports": "!arm" }, "threads": { "description": "Enable threads in fftw3" diff --git a/ports/fftwpp/vcpkg.json b/ports/fftwpp/vcpkg.json index e702a1b933d0af..175e29ab34f354 100644 --- a/ports/fftwpp/vcpkg.json +++ b/ports/fftwpp/vcpkg.json @@ -1,8 +1,8 @@ { "name": "fftwpp", - "version-string": "2019-12-19", - "port-version": 1, - "description": "FFTW++ is a C++ header/MPI transpose for Version 3 of the highly optimized FFTW (http://www.fftw.org) Fourier Transform library.", + "version-date": "2019-12-19", + "port-version": 2, + "description": "FFTW++ is a C++ header/MPI transpose for Version 3 of the highly optimized FFTW (https://www.fftw.org) Fourier Transform library.", "homepage": "https://www.fftw.org/", "dependencies": [ "fftw3" diff --git a/ports/field3d/0001_fix_build_errors.patch b/ports/field3d/0001_fix_build_errors.patch deleted file mode 100644 index 95149e39d893fd..00000000000000 --- a/ports/field3d/0001_fix_build_errors.patch +++ /dev/null @@ -1,148 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 1610c2e..b012008 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -31,25 +31,17 @@ - - # Author : Nicholas Yue yue.nicholas@gmail.com - --CMAKE_MINIMUM_REQUIRED( VERSION 2.8 ) -+CMAKE_MINIMUM_REQUIRED( VERSION 3.17 ) - - PROJECT ( field3d ) - - set( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}/cmake ) - - FIND_PACKAGE (Doxygen) --FIND_PACKAGE (HDF5 COMPONENTS C) --IF ( CMAKE_HOST_WIN32 ) --# f3dinfo relies on program_options but don't include it, since --# for some reason, unlike all the other boost components, a link is --# forced via a pragma. --FIND_PACKAGE (Boost COMPONENTS regex thread) --ELSE () --FIND_PACKAGE (Boost COMPONENTS regex thread program_options system) --FIND_PACKAGE (MPI) --ENDIF () -+FIND_PACKAGE (HDF5 COMPONENTS C REQUIRED) -+FIND_PACKAGE (Boost COMPONENTS regex thread program_options system REQUIRED) - --FIND_PACKAGE (ILMBase) -+FIND_PACKAGE (OpenEXR REQUIRED) - - # Allow the developer to select if Dynamic or Static libraries are built - OPTION (BUILD_SHARED_LIBS "Build Shared Libraries" ON) -@@ -79,26 +71,14 @@ IF ( CMAKE_HOST_UNIX ) - ENDIF ( ) - IF ( CMAKE_HOST_WIN32 ) - ADD_DEFINITIONS ( -- -D_HAS_ITERATOR_DEBUGGING=0 - -D_CRT_SECURE_NO_WARNINGS=1 - ) - ENDIF ( ) - - SET ( LIB_TYPE SHARED ) - IF ( NOT BUILD_SHARED_LIBS ) -- IF ( CMAKE_HOST_WIN32 ) -- # User wants to build static libraries, so change the LIB_TYPE variable to CMake keyword 'STATIC' - SET ( LIB_TYPE STATIC ) - ADD_DEFINITIONS( -DFIELD3D_STATIC ) -- ENDIF() --ELSE () -- IF ( CMAKE_HOST_WIN32 ) -- ADD_DEFINITIONS ( -- -DOPENEXR_DLL -- -D_HDF5USEDLL_ -- -DHDF5CPP_USEDLL -- ) -- ENDIF() - ENDIF ( NOT BUILD_SHARED_LIBS ) - - ADD_LIBRARY ( Field3D ${LIB_TYPE} -@@ -147,24 +128,22 @@ IF ( CMAKE_HOST_UNIX ) - ${MPI_LIBRARIES} ) - ENDIF ( MPI_FOUND ) - LIST ( APPEND Field3D_Libraries_Shared -- Iex Half IlmThread Imath - pthread dl z ) - SET ( Field3D_DSO_Libraries ${Field3D_Libraries_Shared} ) - SET ( Field3D_BIN_Libraries Field3D ${Field3D_Libraries_Shared} - ${Boost_LIBRARIES} ) - ENDIF ( ) - IF ( CMAKE_HOST_WIN32 ) -- # Add OpenEXR and zlib release/debug -- FOREACH ( lib Iex Half IlmThread Imath zdll ) -+ FOREACH ( lib zlib ) - LIST ( APPEND Field3D_Libraries_Shared - optimized ${lib} -- debug ${lib}_d ) -+ debug ${lib}d ) - ENDFOREACH() - SET ( Field3D_DSO_Libraries ${Field3D_Libraries_Shared} Shlwapi.lib) - SET ( Field3D_BIN_Libraries Field3D ${Boost_LIBRARIES} ) - ENDIF () - --TARGET_LINK_LIBRARIES ( Field3D ${Field3D_DSO_Libraries} ${Boost_LIBRARIES}) -+TARGET_LINK_LIBRARIES ( Field3D ${Field3D_DSO_Libraries} ${Boost_LIBRARIES} OpenEXR::IlmImf) - - # Parase version and soversion from export/ns.h - -@@ -214,33 +193,7 @@ ADD_EXECUTABLE ( f3dinfo - - TARGET_LINK_LIBRARIES ( f3dinfo ${Field3D_BIN_Libraries} ) - --# field3d - sparse_field_io --ADD_EXECUTABLE ( sparse_field_io -- apps/sample_code/sparse_field_io/main.cpp -- ) -- --TARGET_LINK_LIBRARIES ( sparse_field_io ${Field3D_BIN_Libraries} ) -- --# field3d - read --ADD_EXECUTABLE ( read -- apps/sample_code/read/main.cpp -- ) - --TARGET_LINK_LIBRARIES ( read ${Field3D_BIN_Libraries} ) -- --# field3d - mixed_types --ADD_EXECUTABLE ( mixed_types -- apps/sample_code/mixed_types/main.cpp -- ) -- --TARGET_LINK_LIBRARIES ( mixed_types ${Field3D_BIN_Libraries} ) -- --# field3d - create_and_write --ADD_EXECUTABLE ( create_and_write -- apps/sample_code/create_and_write/main.cpp -- ) -- --TARGET_LINK_LIBRARIES ( create_and_write ${Field3D_BIN_Libraries} ) - - IF (DOXYGEN_FOUND) - ADD_CUSTOM_TARGET ( doc -@@ -249,7 +202,7 @@ IF (DOXYGEN_FOUND) - WORKING_DIRECTORY ${CMAKE_HOME_DIRECTORY} - ) - IF (INSTALL_DOCS) -- INSTALL (DIRECTORY -+ INSTALL (DIRECTORY - ${CMAKE_HOME_DIRECTORY}/docs - DESTINATION ${CMAKE_INSTALL_PREFIX} - ) -@@ -263,12 +216,11 @@ INSTALL ( TARGETS - - FILE(GLOB Field3d_Includes "${CMAKE_CURRENT_SOURCE_DIR}/export/*.h") - --INSTALL ( FILES -- ${Field3d_Includes} -+INSTALL ( FILES -+ ${Field3d_Includes} - DESTINATION include/Field3D - ) - --INSTALL ( TARGETS f3dinfo -+INSTALL ( TARGETS f3dinfo - RUNTIME DESTINATION bin - ) -- diff --git a/ports/field3d/0002_improve_win_compatibility.patch b/ports/field3d/0002_improve_win_compatibility.patch deleted file mode 100644 index 08167be692f4c0..00000000000000 --- a/ports/field3d/0002_improve_win_compatibility.patch +++ /dev/null @@ -1,43 +0,0 @@ -diff --git a/include/UtilFoundation.h b/include/UtilFoundation.h -index 2eb6290..a449b5b 100644 ---- a/include/UtilFoundation.h -+++ b/include/UtilFoundation.h -@@ -90,6 +90,9 @@ - #ifndef WIN32_LEAN_AND_MEAN - #define WIN32_LEAN_AND_MEAN - #endif -+#ifndef NOMINMAX -+#define NOMINMAX -+#endif - - // needed for mutex stuff - #include -diff --git a/src/FieldMapping.cpp b/src/FieldMapping.cpp -index b1f1a1f..90612b1 100644 ---- a/src/FieldMapping.cpp -+++ b/src/FieldMapping.cpp -@@ -49,9 +49,6 @@ - #include "FieldMapping.h" - #include "Types.h" - --#ifdef WIN32 --#define isnan(__x__) _isnan(__x__) --#endif - - //----------------------------------------------------------------------------// - -diff --git a/src/Log.cpp b/src/Log.cpp -index f78229c..d095a50 100644 ---- a/src/Log.cpp -+++ b/src/Log.cpp -@@ -40,8 +40,9 @@ - */ - - //----------------------------------------------------------------------------// -- -+#ifndef _WIN32 - #include -+#endif - #include - #include - diff --git a/ports/field3d/0003_hdf5_api.patch b/ports/field3d/0003_hdf5_api.patch deleted file mode 100644 index 183a49c9e6e071..00000000000000 --- a/ports/field3d/0003_hdf5_api.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index b57057f..e809880 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -35,6 +35,7 @@ CMAKE_MINIMUM_REQUIRED( VERSION 3.17 ) - - PROJECT ( field3d ) - -+add_definitions(-DH5_USE_110_API) - set( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}/cmake ) - - FIND_PACKAGE (Doxygen) diff --git a/ports/field3d/portfile.cmake b/ports/field3d/portfile.cmake deleted file mode 100644 index a23e042494b94a..00000000000000 --- a/ports/field3d/portfile.cmake +++ /dev/null @@ -1,35 +0,0 @@ -vcpkg_fail_port_install(ON_TARGET "UWP") - -if(VCPKG_TARGET_IS_WINDOWS) - vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -endif() - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO imageworks/Field3D - REF 0cf75ad982917e0919f59e5cb3d483517d06d7da - SHA512 e6f137013dd7b64b51b2ec3cc3ed8f4dbfadb85858946f08393653d78136cf8f93ae124716db11358e325c5e64ba04802afd4b89ca36ad65a14dd3db17f3072c - HEAD_REF master - PATCHES - 0001_fix_build_errors.patch - 0002_improve_win_compatibility.patch - 0003_hdf5_api.patch # Switches the HDF5 default API for this port to 1.10 -) - -file(REMOVE ${SOURCE_PATH}/cmake/FindILMBase.cmake) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - "-DINSTALL_DOCS:BOOL=OFF" -) - -vcpkg_install_cmake() - -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) - -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/field3d/vcpkg.json b/ports/field3d/vcpkg.json deleted file mode 100644 index 21ca20bdc1e486..00000000000000 --- a/ports/field3d/vcpkg.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "field3d", - "version-string": "1.7.3", - "port-version": 2, - "description": "An open source library for storing voxel data. It provides C++ classes that handle in-memory storage and a file format based on HDF5 that allows the C++ objects to be written to and read from disk.", - "homepage": "https://github.com/imageworks/Field3D", - "supports": "!uwp", - "dependencies": [ - "boost-foreach", - "boost-format", - "boost-program-options", - "boost-regex", - "boost-system", - "boost-test", - "boost-thread", - "boost-timer", - "hdf5", - "openexr" - ] -} diff --git a/ports/fineftp/asio.patch b/ports/fineftp/asio.patch new file mode 100644 index 00000000000000..a5d008f4be62f6 --- /dev/null +++ b/ports/fineftp/asio.patch @@ -0,0 +1,13 @@ +diff --git a/fineftp-server/CMakeLists.txt b/fineftp-server/CMakeLists.txt +index e4e3152..9e609d9 100644 +--- a/fineftp-server/CMakeLists.txt ++++ b/fineftp-server/CMakeLists.txt +@@ -10,7 +10,7 @@ set(CMAKE_CXX_VISIBILITY_PRESET hidden) + set(CMAKE_VISIBILITY_INLINES_HIDDEN 1) + + find_package(Threads REQUIRED) +-find_package(asio REQUIRED) ++find_package(asio CONFIG REQUIRED) + + # Include GenerateExportHeader that will create export macros for us + include(GenerateExportHeader) diff --git a/ports/fineftp/portfile.cmake b/ports/fineftp/portfile.cmake new file mode 100644 index 00000000000000..c8738520fc87e4 --- /dev/null +++ b/ports/fineftp/portfile.cmake @@ -0,0 +1,26 @@ +#Get release from GitHub +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO eclipse-ecal/fineftp-server + REF "v${VERSION}" + SHA512 dcced2cf743434a55314ad661ca729efc1c4883ae0c0883335f43a12ed47568ebcb50d233dab8a1410bb526587b24f1cf19938241bf649cfe54b11ffe264124b + HEAD_REF master + PATCHES + asio.patch +) + +# Configure +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup( + PACKAGE_NAME fineftp + CONFIG_PATH lib/cmake/fineftp +) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/fineftp/vcpkg.json b/ports/fineftp/vcpkg.json new file mode 100644 index 00000000000000..60b9832f29905e --- /dev/null +++ b/ports/fineftp/vcpkg.json @@ -0,0 +1,20 @@ +{ + "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json", + "name": "fineftp", + "version": "1.3.4", + "description": "FineFTP is a minimal FTP server library for Windows and Unix flavors.", + "homepage": "https://github.com/eclipse-ecal/fineftp-server", + "license": "MIT", + "supports": "!uwp & !android", + "dependencies": [ + "asio", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/fins/portfile.cmake b/ports/fins/portfile.cmake new file mode 100644 index 00000000000000..dea5315e26cb33 --- /dev/null +++ b/ports/fins/portfile.cmake @@ -0,0 +1,25 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO lammertb/libfins + REF 5525ef513137507ec3ecab68c698a21b30497bc3 + SHA512 6d5c039cefa55183460b14c226a77e24a93200a288486fca6fd5a3639d78e028a89a7eb25775c802cd78fdb371b0cae05236926612395896f56b23f61f5e5e87 + HEAD_REF master +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" +) + +vcpkg_cmake_install() +vcpkg_copy_pdbs() +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/fins/vcpkg.json b/ports/fins/vcpkg.json new file mode 100644 index 00000000000000..40e9f409265a1a --- /dev/null +++ b/ports/fins/vcpkg.json @@ -0,0 +1,20 @@ +{ + "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json", + "name": "fins", + "version-date": "2023-07-31", + "maintainers": "Lammert Bies", + "description": "LibFINS is an MIT licensed library written in C implementing the FINS/TCP protocol used for communication between Omron PLCs. The library contains all the documented client FINS functions. This open source library is a spin-off of a larger project which also implements FINS/UDP client communication and a FINS server engine.", + "homepage": "https://www.libfins.org", + "documentation": "https://www.libfins.org/api-reference/", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} 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/fixed-string/portfile.cmake b/ports/fixed-string/portfile.cmake index 760d2d0a632d90..5442bfeaa4e69f 100644 --- a/ports/fixed-string/portfile.cmake +++ b/ports/fixed-string/portfile.cmake @@ -3,25 +3,24 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO unterumarmung/fixed_string - REF v0.1.0 - SHA512 759c228e3bc4bc06d58b59bc19756ceb27a6f6104cb0c58288bf3156ca0958e6099741870fa09ba88a5572d17988529992cc5198faab30847118665e626c2ea4 + REF v0.1.1 + SHA512 8367f7cf898dd88918913f6e788cc5841eab7cd56d61f3ea21636bf3253f450d5dd6207a259d4c5980d863c2ce55fba35e3e8944341f56dbfd56faa29c39746e HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DFIXED_STRING_OPT_BUILD_EXAMPLES=OFF -DFIXED_STRING_OPT_BUILD_TESTS=OFF -DFIXED_STRING_OPT_INSTALL=ON ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/fixed_string TARGET_PATH share/fixed_string) +vcpkg_cmake_config_fixup(PACKAGE_NAME fixed_string CONFIG_PATH lib/cmake/fixed_string) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug" "${CURRENT_PACKAGES_DIR}/lib") # Handle copyright -configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) +configure_file("${SOURCE_PATH}/LICENSE" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) diff --git a/ports/fixed-string/vcpkg.json b/ports/fixed-string/vcpkg.json index b7ed3e4d7aee68..cbb1a272af1795 100644 --- a/ports/fixed-string/vcpkg.json +++ b/ports/fixed-string/vcpkg.json @@ -1,7 +1,17 @@ { "name": "fixed-string", - "version-string": "0.1.0", - "port-version": 1, + "version": "0.1.1", "description": "Header-only C++17 library provides a string class with std::array fixed-size semantic.", - "homepage": "https://github.com/unterumarmung/fixed_string" + "homepage": "https://github.com/unterumarmung/fixed_string", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } 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/fix-zlib.patch b/ports/fizz/fix-zlib.patch deleted file mode 100644 index 88b6fabe9d727d..00000000000000 --- a/ports/fizz/fix-zlib.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff --git a/fizz/CMakeLists.txt b/fizz/CMakeLists.txt -index 485e38fc..471d61a5 100644 ---- a/fizz/CMakeLists.txt -+++ b/fizz/CMakeLists.txt -@@ -87,6 +87,8 @@ else() - list(APPEND CMAKE_REQUIRED_INCLUDES ${LIBGFLAGS_INCLUDE_DIR}) - endif() - -+find_package(ZLIB REQUIRED) -+ - find_package(Libevent CONFIG QUIET) - if(TARGET event) - message(STATUS "Found libevent from package config") -@@ -246,6 +248,7 @@ target_link_libraries(fizz - ${OPENSSL_LIBRARIES} - sodium - Threads::Threads -+ ZLIB::ZLIB - PRIVATE - ${GLOG_LIBRARIES} - ${GFLAGS_LIBRARIES} -diff --git a/fizz/cmake/fizz-config.cmake.in b/fizz/cmake/fizz-config.cmake.in -index d9918469..679b0e61 100644 ---- a/fizz/cmake/fizz-config.cmake.in -+++ b/fizz/cmake/fizz-config.cmake.in -@@ -25,7 +25,10 @@ endif() - - set(FIZZ_LIBRARIES fizz::fizz) - -+include(CMakeFindDependencyMacro) - find_dependency(Sodium) -+find_dependency(folly CONFIG) -+find_dependency(ZLIB) - - if (NOT fizz_FIND_QUIETLY) - message(STATUS "Found fizz: ${PACKAGE_PREFIX_DIR}") diff --git a/ports/fizz/portfile.cmake b/ports/fizz/portfile.cmake index 8af6d336fdc7d8..7838c7cbd40f16 100644 --- a/ports/fizz/portfile.cmake +++ b/ports/fizz/portfile.cmake @@ -3,38 +3,41 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO facebookincubator/fizz - REF v2021.06.14.00 - SHA512 ff55f933d55031128b5355707fd025649ad90d261d91ec5f9d793433a77e63d3c2527a7f0111d6a3151667ab29f4117f96a505bcb80c1a4a99bd60346f05f4de - HEAD_REF master + REF "v${VERSION}" + SHA512 004665bca243ac835be3628e2196450fee30852e414b068ae98555193c3e9788800536a6280e218614df89061c3f05e501dfd89f08f3c5ba3942c3e9d476bf2c + HEAD_REF main PATCHES - fix-zlib.patch + fix-build.patch ) # Prefer installed config files file(REMOVE - ${SOURCE_PATH}/fizz/cmake/FindGflags.cmake - ${SOURCE_PATH}/fizz/cmake/FindGlog.cmake + "${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_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}/fizz" - PREFER_NINJA OPTIONS -DBUILD_TESTS=OFF -DBUILD_EXAMPLES=OFF -DINCLUDE_INSTALL_DIR:STRING=include ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/fizz) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/fizz) 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(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) \ No newline at end of file + "${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 efc70e89783540..262285e5e6fb78 100644 --- a/ports/fizz/vcpkg.json +++ b/ports/fizz/vcpkg.json @@ -1,13 +1,27 @@ { "name": "fizz", - "version-string": "2021.06.14.00", + "version-string": "2024.11.04.00", "description": "a TLS 1.3 implementation by Facebook", "homepage": "https://github.com/facebookincubator/fizz", + "license": "BSD-3-Clause", "dependencies": [ + "double-conversion", "fmt", "folly", + "gflags", + "glog", + "gtest", + "libevent", "libsodium", "openssl", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, "zstd" ] } 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/flann/fix-build-error.patch b/ports/flann/fix-build-error.patch index 4f48aee556607a..5b5530eb0d73f3 100644 --- a/ports/flann/fix-build-error.patch +++ b/ports/flann/fix-build-error.patch @@ -23,12 +23,12 @@ index f4b94d2..33b2c26 100644 # set output path for tests set(TEST_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/test) -+option(BUILD_DYNAMIC "Build shared version of libs" ON) -+option(BUILD_STATIC "Build static version of libs" ON) ++option(BUILD_SHARED_LIBS "Build shared version of libs" ON) ++option(WITH_HDF5 "Build hdf5 library" OFF) option(BUILD_C_BINDINGS "Build C bindings" ON) option(BUILD_PYTHON_BINDINGS "Build Python bindings" ON) option(BUILD_MATLAB_BINDINGS "Build Matlab bindings" ON) -@@ -146,8 +148,8 @@ if (BUILD_CUDA_LIB) +@@ -146,8 +148,9 @@ if (BUILD_CUDA_LIB) endif(CUDA_FOUND) endif(BUILD_CUDA_LIB) @@ -36,6 +36,7 @@ index f4b94d2..33b2c26 100644 -pkg_check_modules(LZ4 REQUIRED liblz4) +find_package(PkgConfig) +find_package(lz4 CONFIG REQUIRED) ++set(PKG_EXTERNAL_DEPS "${PKG_EXTERNAL_DEPS} liblz4") #set the C/C++ include path to the "include" directory include_directories(BEFORE ${PROJECT_SOURCE_DIR}/src/cpp) @@ -43,13 +44,14 @@ diff --git a/cmake/Config.cmake.in b/cmake/Config.cmake.in index 6b95a71..e8bb3f7 100644 --- a/cmake/Config.cmake.in +++ b/cmake/Config.cmake.in -@@ -1,5 +1,10 @@ +@@ -1,5 +1,11 @@ @PACKAGE_INIT@ +# Get definition of 'find_dependency' macro +include(CMakeFindDependencyMacro) +# Find lz4. This will create 'lz4::lz4' target +find_dependency(lz4) ++@CMAKE_EXTERNAL_DEPS@ + include("${CMAKE_CURRENT_LIST_DIR}/@targets_export_name@.cmake") check_required_components("flann") @@ -85,7 +87,7 @@ index b421abb..474cd7e 100644 - add_library(flann_cpp SHARED "") - set_target_properties(flann_cpp PROPERTIES LINKER_LANGUAGE CXX) - target_link_libraries(flann_cpp -Wl,-whole-archive flann_cpp_s -Wl,-no-whole-archive) -+if(BUILD_STATIC) ++if(NOT BUILD_SHARED_LIBS) + add_library(flann_cpp_s STATIC ${CPP_SOURCES}) + target_link_libraries(flann_cpp_s PUBLIC lz4::lz4) + set_property(TARGET flann_cpp_s PROPERTY OUTPUT_NAME flann_cpp) @@ -103,7 +105,7 @@ index b421abb..474cd7e 100644 - if (BUILD_CUDA_LIB) - cuda_add_library(flann_cuda SHARED "") -+if(BUILD_DYNAMIC) ++if(BUILD_SHARED_LIBS) + if(CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_COMPILER_IS_GNUCC) + add_library(flann_cpp SHARED ${CPP_SOURCES}) + set_target_properties(flann_cpp PROPERTIES LINKER_LANGUAGE CXX) @@ -170,7 +172,7 @@ index b421abb..474cd7e 100644 if (USE_MPI AND HDF5_IS_PARALLEL) - add_executable(flann_mpi_server flann/mpi/flann_mpi_server.cpp) - target_link_libraries(flann_mpi_server flann_cpp ${HDF5_LIBRARIES} ${MPI_LIBRARIES} ${Boost_LIBRARIES}) -+ if(BUILD_DYNAMIC) ++ if(BUILD_SHARED_LIBS) + add_executable(flann_mpi_server flann/mpi/flann_mpi_server.cpp) + target_link_libraries(flann_mpi_server flann_cpp ${HDF5_LIBRARIES} ${MPI_LIBRARIES} ${Boost_LIBRARIES}) @@ -188,7 +190,7 @@ index b421abb..474cd7e 100644 - if (BUILD_C_BINDINGS) -+ if(BUILD_STATIC) ++ if(NOT BUILD_SHARED_LIBS) add_library(flann_s STATIC ${C_SOURCES}) - target_link_libraries(flann_s -Wl,--push-state,--no-as-needed ${LZ4_LIBRARIES} -Wl,--pop-state) + target_link_libraries(flann_s PUBLIC lz4::lz4) @@ -200,7 +202,7 @@ index b421abb..474cd7e 100644 - + endif() + -+ if(BUILD_DYNAMIC) ++ if(BUILD_SHARED_LIBS) if(CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_COMPILER_IS_GNUCC) - add_library(flann SHARED "") + add_library(flann SHARED ${C_SOURCES}) @@ -236,12 +238,12 @@ index b421abb..474cd7e 100644 + endif() endif(WIN32) -+if(BUILD_STATIC) ++if(NOT BUILD_SHARED_LIBS) + list(APPEND FLANN_TARGETS_CPP "flann_cpp_s") + list(APPEND FLANN_TARGETS_C "flann_s") + list(APPEND FLANN_TARGETS_CUDA "flann_cuda_s") +endif() -+if(BUILD_DYNAMIC) ++if(BUILD_SHARED_LIBS) + list(APPEND FLANN_TARGETS_CPP "flann_cpp") + list(APPEND FLANN_TARGETS_C "flann") + list(APPEND FLANN_TARGETS_CUDA "flann_cuda") diff --git a/ports/flann/fix-dependency-hdf5.patch b/ports/flann/fix-dependency-hdf5.patch index 39df0a31302a63..1d5e6ee01e6269 100644 --- a/ports/flann/fix-dependency-hdf5.patch +++ b/ports/flann/fix-dependency-hdf5.patch @@ -1,16 +1,16 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 7ff331a..155cabe 100644 +index 9f1dbcb74..5587c896e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -75,11 +75,17 @@ if (NOT PYTHON_EXECUTABLE) +@@ -77,11 +77,19 @@ if (NOT PYTHON_EXECUTABLE) endif() endif() +-find_hdf5() +if (WITH_HDF5) - find_hdf5() --if (NOT HDF5_FOUND) ++find_package(HDF5 CONFIG REQUIRED) + if (NOT HDF5_FOUND) - message(WARNING "hdf5 library not found, some tests will not be run") -+if (NOT hdf5_FOUND) + message(ERROR "hdf5 library not found") else() - include_directories(${HDF5_INCLUDE_DIR}) @@ -19,10 +19,13 @@ index 7ff331a..155cabe 100644 + elseif (TARGET hdf5::hdf5-static) + link_libraries(hdf5::hdf5-static) + endif() ++ set(PKG_EXTERNAL_DEPS "${PKG_EXTERNAL_DEPS} hdf5") ++ set(CMAKE_EXTERNAL_DEPS "find_dependency(HDF5)") +endif() endif() if (USE_MPI OR HDF5_IS_PARALLEL) + diff --git a/cmake/flann_utils.cmake b/cmake/flann_utils.cmake index 8aef8e0..747414f 100644 --- a/cmake/flann_utils.cmake diff --git a/ports/flann/fix_undefined_pot_t.patch b/ports/flann/fix_undefined_pot_t.patch new file mode 100644 index 00000000000000..459727e0b926b0 --- /dev/null +++ b/ports/flann/fix_undefined_pot_t.patch @@ -0,0 +1,13 @@ +diff --git a/src/cpp/flann/algorithms/dist.h b/src/cpp/flann/algorithms/dist.h +index 4e6eb73..bbcdda1 100644 +--- a/src/cpp/flann/algorithms/dist.h ++++ b/src/cpp/flann/algorithms/dist.h +@@ -519,7 +519,7 @@ struct HammingPopcnt + #else + HammingLUT lut; + result = lut(reinterpret_cast (a), +- reinterpret_cast (b), size * sizeof(pop_t)); ++ reinterpret_cast (b), size); + #endif + return result; + } diff --git a/ports/flann/portfile.cmake b/ports/flann/portfile.cmake index 4c15477150e0e3..8eb96a4b5a0f68 100644 --- a/ports/flann/portfile.cmake +++ b/ports/flann/portfile.cmake @@ -9,40 +9,35 @@ vcpkg_from_github( PATCHES fix-build-error.patch fix-dependency-hdf5.patch + fix_undefined_pot_t.patch # https://github.com/opencv/opencv/pull/13270/ ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES hdf5 WITH_HDF5 - cuda WITH_CUDA + cuda BUILD_CUDA_LIB ) -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" FLANN_BUILD_STATIC) -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" FLANN_BUILD_DYNAMIC) - -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA DISABLE_PARALLEL_CONFIGURE OPTIONS ${FEATURE_OPTIONS} - -DBUILD_DYNAMIC=${FLANN_BUILD_DYNAMIC} - -DBUILD_STATIC=${FLANN_BUILD_STATIC} - -DBUILD_CUDA_LIB=${WITH_CUDA} -DBUILD_EXAMPLES=OFF -DBUILD_TESTS=OFF -DBUILD_DOC=OFF -DBUILD_PYTHON_BINDINGS=OFF -DBUILD_MATLAB_BINDINGS=OFF + -DUSE_OPENMP=OFF + OPTIONS_DEBUG -DCMAKE_DEBUG_POSTFIX=d - -DHDF5_NO_FIND_PACKAGE_CONFIG_FILE=ON ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) # Handle copyright -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/flann RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") vcpkg_fixup_pkgconfig() diff --git a/ports/flann/vcpkg.json b/ports/flann/vcpkg.json index 0074e93dc6ef36..c93f374d020fb9 100644 --- a/ports/flann/vcpkg.json +++ b/ports/flann/vcpkg.json @@ -1,11 +1,20 @@ { "name": "flann", "version-date": "2019-04-07", - "port-version": 3, + "port-version": 7, "description": "Fast Library for Approximate Nearest Neighbors", "homepage": "https://github.com/mariusmuja/flann", + "license": "BSD-3-Clause", "dependencies": [ - "lz4" + "lz4", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ], "features": { "cuda": { diff --git a/ports/flash-runtime-extensions/README.md b/ports/flash-runtime-extensions/README.md new file mode 100644 index 00000000000000..6915690e59fd6f --- /dev/null +++ b/ports/flash-runtime-extensions/README.md @@ -0,0 +1,2 @@ +# flash-runtime-extensions +CMake port of FlashRuntimeExtensions for vcpkg diff --git a/ports/flash-runtime-extensions/portfile.cmake b/ports/flash-runtime-extensions/portfile.cmake new file mode 100644 index 00000000000000..9275d347c0cca7 --- /dev/null +++ b/ports/flash-runtime-extensions/portfile.cmake @@ -0,0 +1,23 @@ +set(VCPKG_POLICY_MISMATCHED_NUMBER_OF_BINARIES enabled) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO al-sabr/FlashRuntimeExtensions + REF v2.4 + SHA512 16db340a9c8d868c64b9771e3ac9a20e775fa145f36158e798733b788fd99d1ac101bfae93b8f88b0e5a0a530e0261c1fbdf7d367031dd3108c14ee00a106c10 + HEAD_REF main +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup() + +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") \ No newline at end of file diff --git a/ports/flash-runtime-extensions/vcpkg.json b/ports/flash-runtime-extensions/vcpkg.json new file mode 100644 index 00000000000000..0fdd91d7371b7c --- /dev/null +++ b/ports/flash-runtime-extensions/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "flash-runtime-extensions", + "version": "2.4", + "port-version": 1, + "description": "Adobe AIR Native Extension API for Windows/MacOS/Linux", + "homepage": "https://github.com/al-sabr/FlashRuntimeExtensions", + "supports": "!(arm | uwp)", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/flashlight-cpu/portfile.cmake b/ports/flashlight-cpu/portfile.cmake index cf4f1cdcc3a987..11459b6d055e84 100644 --- a/ports/flashlight-cpu/portfile.cmake +++ b/ports/flashlight-cpu/portfile.cmake @@ -35,20 +35,19 @@ vcpkg_check_features( ) # Build and install -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${FL_DEFAULT_VCPKG_CMAKE_FLAGS} ${FEATURE_OPTIONS} OPTIONS_DEBUG - -DFL_INSTALL_CMAKE_DIR=${CURRENT_PACKAGES_DIR}/debug/share/flashlight + "-DFL_INSTALL_CMAKE_DIR=${CURRENT_PACKAGES_DIR}/debug/share/flashlight" OPTIONS_RELEASE - -DFL_INSTALL_CMAKE_DIR=${CURRENT_PACKAGES_DIR}/share/flashlight + "-DFL_INSTALL_CMAKE_DIR=${CURRENT_PACKAGES_DIR}/share/flashlight" ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/flashlight TARGET_PATH share/flashlight) +vcpkg_cmake_config_fixup(PACKAGE_NAME flashlight) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") @@ -85,4 +84,4 @@ if (NUM_TOOLS GREATER 0) endif() # Copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/flashlight-cpu/vcpkg.json b/ports/flashlight-cpu/vcpkg.json index 98a934d244dff8..2794691a6158c0 100644 --- a/ports/flashlight-cpu/vcpkg.json +++ b/ports/flashlight-cpu/vcpkg.json @@ -1,10 +1,21 @@ { "name": "flashlight-cpu", "version": "0.3", - "port-version": 2, + "port-version": 5, "description": "A C++ standalone library for machine learning. CPU backend.", "homepage": "https://github.com/facebookresearch/flashlight", + "license": "MIT", "supports": "!(windows | osx)", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], "default-features": [ "fl" ], @@ -20,7 +31,13 @@ ] }, "gflags", - "libsndfile" + { + "name": "libsndfile", + "default-features": false, + "features": [ + "external-libs" + ] + } ] }, "fl": { diff --git a/ports/flashlight-cuda/portfile.cmake b/ports/flashlight-cuda/portfile.cmake index 9935ea94eb1914..49582ffb691cb9 100644 --- a/ports/flashlight-cuda/portfile.cmake +++ b/ports/flashlight-cuda/portfile.cmake @@ -34,20 +34,19 @@ vcpkg_check_features( ) # Build and install -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${FL_DEFAULT_VCPKG_CMAKE_FLAGS} ${FEATURE_OPTIONS} OPTIONS_DEBUG - -DFL_INSTALL_CMAKE_DIR=${CURRENT_PACKAGES_DIR}/debug/share/flashlight + "-DFL_INSTALL_CMAKE_DIR=${CURRENT_PACKAGES_DIR}/debug/share/flashlight" OPTIONS_RELEASE - -DFL_INSTALL_CMAKE_DIR=${CURRENT_PACKAGES_DIR}/share/flashlight + "-DFL_INSTALL_CMAKE_DIR=${CURRENT_PACKAGES_DIR}/share/flashlight" ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/flashlight TARGET_PATH share/flashlight) +vcpkg_cmake_config_fixup(PACKAGE_NAME flashlight) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") @@ -84,4 +83,4 @@ if (NUM_TOOLS GREATER 0) endif() # Copyright -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) \ No newline at end of file diff --git a/ports/flashlight-cuda/vcpkg.json b/ports/flashlight-cuda/vcpkg.json index c0e0a026f4cd22..e950197c888c45 100644 --- a/ports/flashlight-cuda/vcpkg.json +++ b/ports/flashlight-cuda/vcpkg.json @@ -1,10 +1,21 @@ { "name": "flashlight-cuda", "version": "0.3", - "port-version": 2, + "port-version": 6, "description": "A C++ standalone library for machine learning. CUDA backend.", "homepage": "https://github.com/facebookresearch/flashlight", + "license": "MIT", "supports": "!(windows | osx)", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], "default-features": [ "fl" ], @@ -20,7 +31,13 @@ ] }, "gflags", - "libsndfile" + { + "name": "libsndfile", + "default-features": false, + "features": [ + "external-libs" + ] + } ] }, "fl": { diff --git a/ports/flashlight-sequence/portfile.cmake b/ports/flashlight-sequence/portfile.cmake new file mode 100644 index 00000000000000..3e591dd3638be2 --- /dev/null +++ b/ports/flashlight-sequence/portfile.cmake @@ -0,0 +1,33 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO flashlight/sequence + REF v${VERSION} + SHA512 215bb4988fbdd31573965c3c5d88d40b247cbca49f092dcdb89b5f2ca422d5774e941de843433fd3effd8f09569a7e0c2cc61364b5f0a210f156933e4c00f16b + HEAD_REF main +) + +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + openmp FL_SEQUENCE_USE_OPENMP + cuda FL_SEQUENCE_USE_CUDA +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DFL_SEQUENCE_BUILD_TESTS=OFF + -DFL_SEQUENCE_BUILD_STANDALONE=OFF + ${FEATURE_OPTIONS} + OPTIONS_DEBUG + "-DFL_INSTALL_CMAKE_DIR=${CURRENT_PACKAGES_DIR}/debug/share/${PORT}" + OPTIONS_RELEASE + "-DFL_INSTALL_CMAKE_DIR=${CURRENT_PACKAGES_DIR}/share/${PORT}" +) +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/flashlight-sequence/vcpkg.json b/ports/flashlight-sequence/vcpkg.json new file mode 100644 index 00000000000000..96db8ea65658dc --- /dev/null +++ b/ports/flashlight-sequence/vcpkg.json @@ -0,0 +1,28 @@ +{ + "name": "flashlight-sequence", + "version": "0.0.1", + "description": "Flashlight Sequence is a library containing fast implementations of sequence loss algorithms.", + "homepage": "https://github.com/flashlight/sequence", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "cuda": { + "description": "Build CUDA components", + "dependencies": [ + "cuda" + ] + }, + "openmp": { + "description": "Build with OpenMP" + } + } +} diff --git a/ports/flashlight-text/portfile.cmake b/ports/flashlight-text/portfile.cmake new file mode 100644 index 00000000000000..2b6a5efea1c20a --- /dev/null +++ b/ports/flashlight-text/portfile.cmake @@ -0,0 +1,33 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO flashlight/text + REF v${VERSION} + SHA512 d9ed9b687c441e356b19a035ecef1abc76d90e3e0d8a9c32899bd7a81e379a9ae51bc6d68e7bae10cf83b87ec76289afbd81909d70799ca8d24f996e8667ad85 + HEAD_REF main +) + +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + kenlm FL_TEXT_USE_KENLM +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DFL_TEXT_BUILD_TESTS=OFF + -DFL_TEXT_BUILD_STANDALONE=OFF + ${FEATURE_OPTIONS} + OPTIONS_DEBUG + "-DFL_INSTALL_CMAKE_DIR=${CURRENT_PACKAGES_DIR}/debug/share/${PORT}" + OPTIONS_RELEASE + "-DFL_INSTALL_CMAKE_DIR=${CURRENT_PACKAGES_DIR}/share/${PORT}" + +) +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/flashlight-text/vcpkg.json b/ports/flashlight-text/vcpkg.json new file mode 100644 index 00000000000000..39fdad28bb2a69 --- /dev/null +++ b/ports/flashlight-text/vcpkg.json @@ -0,0 +1,25 @@ +{ + "name": "flashlight-text", + "version": "0.0.4", + "description": "Flashlight Text is a library for tokenization, beam search, and text processing.", + "homepage": "https://github.com/flashlight/text", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "kenlm": { + "description": "Build with KenLM", + "dependencies": [ + "kenlm" + ] + } + } +} diff --git a/ports/flat/portfile.cmake b/ports/flat/portfile.cmake new file mode 100644 index 00000000000000..3cc80336b04f2c --- /dev/null +++ b/ports/flat/portfile.cmake @@ -0,0 +1,15 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO pubby/flat + REF 7ddca21388ad45d5b830d836b256d47d1289315f + SHA512 eecb9683c681e46e166140c491536f87ec78c6ed456ad0295f2b53631c377c6356fea6bb8a2d17ca27457807a03f9e188bf27b3ff489d78624ab997957279cf3 + HEAD_REF master +) + +file(INSTALL ${SOURCE_PATH}/ + DESTINATION ${CURRENT_PACKAGES_DIR}/include/flat + FILES_MATCHING PATTERN "*.hpp") + +file(INSTALL ${SOURCE_PATH}/LICENSE_1_0.txt + DESTINATION ${CURRENT_PACKAGES_DIR}/share/flat + RENAME copyright) diff --git a/ports/flat/vcpkg.json b/ports/flat/vcpkg.json new file mode 100644 index 00000000000000..87ac782b59cff7 --- /dev/null +++ b/ports/flat/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "flat", + "version-date": "2022-08-30", + "description": "Flat Containers Library", + "homepage": "https://github.com/pubby/flat", + "license": "BSL-1.0" +} diff --git a/ports/flatbuffers/fix-uwp-build.patch b/ports/flatbuffers/fix-uwp-build.patch index 44513b9e8ba6dc..8495b26a6cc0cc 100644 --- a/ports/flatbuffers/fix-uwp-build.patch +++ b/ports/flatbuffers/fix-uwp-build.patch @@ -1,8 +1,8 @@ diff --git a/src/util.cpp b/src/util.cpp -index 3670a019..fb5d884f 100644 +index aabc23a..06e9ebe 100644 --- a/src/util.cpp +++ b/src/util.cpp -@@ -255,9 +255,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/ignore_use_of_cmake_toolchain_file.patch b/ports/flatbuffers/ignore_use_of_cmake_toolchain_file.patch deleted file mode 100644 index 8bd99db36613e6..00000000000000 --- a/ports/flatbuffers/ignore_use_of_cmake_toolchain_file.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index ec782239..f163b64d 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -216,7 +216,7 @@ set(FlatBuffers_GRPCTest_SRCS - # source_group(Compiler FILES ${FlatBuffers_Compiler_SRCS}) - # source_group(Tests FILES ${FlatBuffers_Tests_SRCS}) - --if(EXISTS "${CMAKE_TOOLCHAIN_FILE}") -+if(EXISTS "${CMAKE_TOOLCHAIN_FILE}" AND NOT DEFINED VCPKG_TOOLCHAIN) - # do not apply any global settings if the toolchain - # is being configured externally - message(STATUS "Using toolchain file: ${CMAKE_TOOLCHAIN_FILE}.") diff --git a/ports/flatbuffers/no-werror.patch b/ports/flatbuffers/no-werror.patch deleted file mode 100644 index dcc5cde41181fb..00000000000000 --- a/ports/flatbuffers/no-werror.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index ec782239..57566c5a 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -233,13 +233,17 @@ elseif(CMAKE_COMPILER_IS_GNUCXX) - "${CMAKE_CXX_FLAGS} -std=c++0x") - endif(CYGWIN) - set(CMAKE_CXX_FLAGS -- "${CMAKE_CXX_FLAGS} -Wall -pedantic -Werror -Wextra -Werror=shadow") -+ "${CMAKE_CXX_FLAGS} -Wall -pedantic -Wextra -Werror=shadow") - set(FLATBUFFERS_PRIVATE_CXX_FLAGS "-Wold-style-cast") - if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 4.4) - if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 7.0) - set(CMAKE_CXX_FLAGS - "${CMAKE_CXX_FLAGS} -faligned-new -Werror=implicit-fallthrough=2") - endif() -+ if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 7.0) -+ set(CMAKE_CXX_FLAGS -+ "${CMAKE_CXX_FLAGS} -Wextra") -+ endif() - set(CMAKE_CXX_FLAGS - "${CMAKE_CXX_FLAGS} -Wunused-result -Werror=unused-result -Wunused-parameter -Werror=unused-parameter") - endif() diff --git a/ports/flatbuffers/portfile.cmake b/ports/flatbuffers/portfile.cmake index e0feff81b6aeeb..5e1d93c359f066 100644 --- a/ports/flatbuffers/portfile.cmake +++ b/ports/flatbuffers/portfile.cmake @@ -3,48 +3,47 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/flatbuffers - REF v2.0.0 - SHA512 26a06b572c0e4c9685743bd2d2162ac7dcd74b9324624cc3f3ef5b154c0cee7c52a04b77cdc184245d2d6ae38dfdcc4fd66001c318aa8ca001d2bf1d85d66a89 + REF "v${VERSION}" + SHA512 e2a614f4fc526ce07bfe1e1bc79efd3c87acbdb93aee7b42994d4855abd2593f36b5ca1edb53c7dcd470d5fbe14a3e394bd75dcebb4458cc0aeb33d622a3c662 HEAD_REF master PATCHES - ignore_use_of_cmake_toolchain_file.patch - no-werror.patch fix-uwp-build.patch ) -set(OPTIONS) -if(VCPKG_TARGET_IS_UWP OR VCPKG_TARGET_IS_IOS) - list(APPEND OPTIONS -DFLATBUFFERS_BUILD_FLATC=OFF -DFLATBUFFERS_BUILD_FLATHASH=OFF) +set(options "") +if(VCPKG_CROSSCOMPILING) + list(APPEND options -DFLATBUFFERS_BUILD_FLATC=OFF -DFLATBUFFERS_BUILD_FLATHASH=OFF) + if(VCPKG_TARGET_IS_OSX OR VCPKG_TARGET_IS_IOS) + # The option may cause "#error Unsupported architecture" + list(APPEND options -DFLATBUFFERS_OSX_BUILD_UNIVERSAL=OFF) + endif() endif() -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DFLATBUFFERS_BUILD_TESTS=OFF -DFLATBUFFERS_BUILD_GRPCTEST=OFF - ${OPTIONS} + ${options} + OPTIONS_DEBUG + -DFLATBUFFERS_BUILD_FLATC=OFF ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/flatbuffers) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/flatbuffers) +vcpkg_fixup_pkgconfig() file(GLOB flatc_path ${CURRENT_PACKAGES_DIR}/bin/flatc*) if(flatc_path) - make_directory(${CURRENT_PACKAGES_DIR}/tools/flatbuffers) - get_filename_component(flatc_executable ${flatc_path} NAME) - file( - RENAME - ${flatc_path} - ${CURRENT_PACKAGES_DIR}/tools/flatbuffers/${flatc_executable} - ) - vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/flatbuffers) + vcpkg_copy_tools(TOOL_NAMES flatc AUTO_CLEAN) +else() + file(APPEND "${CURRENT_PACKAGES_DIR}/share/flatbuffers/flatbuffers-config.cmake" +"\ninclude(\"\${CMAKE_CURRENT_LIST_DIR}/../../../${HOST_TRIPLET}/share/flatbuffers/FlatcTargets.cmake\")\n") endif() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) - -# Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +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") -vcpkg_fixup_pkgconfig() +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/flatbuffers/vcpkg.json b/ports/flatbuffers/vcpkg.json index 911c5f189cb341..664506025d1096 100644 --- a/ports/flatbuffers/vcpkg.json +++ b/ports/flatbuffers/vcpkg.json @@ -1,10 +1,21 @@ { "name": "flatbuffers", - "version-string": "2.0.0", - "port-version": 2, - "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." - ], - "homepage": "https://google.github.io/flatbuffers/" + "version": "24.3.25", + "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": [ + { + "name": "flatbuffers", + "host": true + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/flatbush/portfile.cmake b/ports/flatbush/portfile.cmake new file mode 100644 index 00000000000000..2962d241528efe --- /dev/null +++ b/ports/flatbush/portfile.cmake @@ -0,0 +1,19 @@ +# Header-only library +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO chusitoo/flatbush + REF "v${VERSION}" + SHA512 6640265e921998d7de1fca8ee628007687081ba6ab1fb0bd5a0951eac0e76e59b89c441a9baf6abd90ec32271b943974bc8becb1ccfb36fe74811025106620de + HEAD_REF master +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH share/flatbush) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") + +# Handle copyright +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/flatbush/vcpkg.json b/ports/flatbush/vcpkg.json new file mode 100644 index 00000000000000..4def2c538f3d44 --- /dev/null +++ b/ports/flatbush/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "flatbush", + "version": "1.2.1", + "description": "A C++11 header-only single file port of Flatbush", + "homepage": "https://github.com/chusitoo/flatbush", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/flecs/portfile.cmake b/ports/flecs/portfile.cmake new file mode 100644 index 00000000000000..1bbd2de2c0f731 --- /dev/null +++ b/ports/flecs/portfile.cmake @@ -0,0 +1,38 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO SanderMertens/flecs + REF "v${VERSION}" + SHA512 da4986002e0b57619a349665fff0531053159b7c4775d1ba39b81095e9df91bc3ada7a3c7bf03f4ee1dadd0b5a1065bea2806c9fb9e8b51425662a67cb24b212 + HEAD_REF master +) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" FLECS_STATIC_LIBS) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" FLECS_SHARED_LIBS) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DFLECS_STATIC=${FLECS_STATIC_LIBS} + -DFLECS_SHARED=${FLECS_SHARED_LIBS} +) + +vcpkg_cmake_install() + +vcpkg_copy_pdbs() + +if(FLECS_STATIC_LIBS) + vcpkg_replace_string( + "${CURRENT_PACKAGES_DIR}/include/${PORT}/bake_config.h" + "#ifndef flecs_STATIC" + "#if 0 // #ifndef flecs_STATIC" + ) +endif() + +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) + +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(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/flecs/usage b/ports/flecs/usage new file mode 100644 index 00000000000000..c513e501903f58 --- /dev/null +++ b/ports/flecs/usage @@ -0,0 +1,4 @@ +The package flecs provides CMake targets: + + find_package(flecs CONFIG REQUIRED) + target_link_libraries(main PRIVATE $,flecs::flecs,flecs::flecs_static>) diff --git a/ports/flecs/vcpkg-cmake-wrapper.cmake b/ports/flecs/vcpkg-cmake-wrapper.cmake new file mode 100644 index 00000000000000..194a66af4c342e --- /dev/null +++ b/ports/flecs/vcpkg-cmake-wrapper.cmake @@ -0,0 +1,9 @@ +_find_package(${ARGS}) + +if(TARGET flecs::flecs AND NOT TARGET flecs::flecs_static) + add_library(flecs::flecs_static INTERFACE IMPORTED) + set_target_properties(flecs::flecs_static PROPERTIES INTERFACE_LINK_LIBRARIES flecs::flecs) +elseif(TARGET flecs::flecs_static AND NOT TARGET flecs::flecs) + add_library(flecs::flecs INTERFACE IMPORTED) + set_target_properties(flecs::flecs PROPERTIES INTERFACE_LINK_LIBRARIES flecs::flecs_static) +endif() diff --git a/ports/flecs/vcpkg.json b/ports/flecs/vcpkg.json new file mode 100644 index 00000000000000..e36477505e9025 --- /dev/null +++ b/ports/flecs/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "flecs", + "version": "4.0.3", + "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": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/flint/portfile.cmake b/ports/flint/portfile.cmake index 1f78e896ae0789..90bc0233516b4d 100644 --- a/ports/flint/portfile.cmake +++ b/ports/flint/portfile.cmake @@ -1,18 +1,14 @@ -vcpkg_fail_port_install(ON_TARGET "uwp") - -set(FLINT_VERSION 2.8.0) -set(FLINT_HASH "916285d13a55d12a041236195a9d7bbc5c1c3c30c3aa2f169efee6063b800d34f96ad3235f1c77285b04305ce685e5890169c984108d50d0c9ee7a77c3f6e73d") vcpkg_download_distfile(ARCHIVE - URLS "http://www.flintlib.org/flint-${FLINT_VERSION}.zip" - FILENAME "flint-${FLINT_VERSION}.zip" - SHA512 ${FLINT_HASH} + URLS "http://www.flintlib.org/flint-${VERSION}.zip" + FILENAME "flint-${VERSION}.zip" + SHA512 3dd9a4e79e08ab6bc434a786c8d4398eba6cb04e57bcb8d01677f4912cddf20ed3a971160a3e2d533d9a07b728678b0733cc8315bcb39a3f13475b6efa240062 ) vcpkg_find_acquire_program(PYTHON3) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH +vcpkg_extract_source_archive( + SOURCE_PATH ARCHIVE ${ARCHIVE} PATCHES fix-cmakelists.patch @@ -23,7 +19,7 @@ vcpkg_cmake_configure( OPTIONS -DPYTHON_EXECUTABLE=${PYTHON3} -DWITH_NTL=OFF - -DWITH_CBLAS=OFF + -DWITH_CBLAS=OFF ) vcpkg_cmake_install() @@ -36,4 +32,4 @@ if (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic" AND VCPKG_TARGET_IS_WINDOWS) ) endif() -file(INSTALL "${SOURCE_PATH}/gpl-2.0.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) \ No newline at end of file +file(INSTALL "${SOURCE_PATH}/gpl-2.0.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/flint/vcpkg.json b/ports/flint/vcpkg.json index 533818fe55bbe2..bdf8ed6fa2a251 100644 --- a/ports/flint/vcpkg.json +++ b/ports/flint/vcpkg.json @@ -1,6 +1,6 @@ { "name": "flint", - "version-semver": "2.8.0", + "version-semver": "2.9.0", "description": "Fast Library for Number Theory", "homepage": "https://www.flintlib.org/", "supports": "!uwp", diff --git a/ports/fltk/dependencies.patch b/ports/fltk/dependencies.patch new file mode 100644 index 00000000000000..848399824ab898 --- /dev/null +++ b/ports/fltk/dependencies.patch @@ -0,0 +1,97 @@ +diff --git a/CMake/options.cmake b/CMake/options.cmake +index d1e299f..d20e9c8 100644 +--- a/CMake/options.cmake ++++ b/CMake/options.cmake +@@ -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 AND NOT WIN32) +- include (FindX11) ++ find_package(X11) + if (X11_FOUND) + set (USE_X11 1) + list (APPEND FLTK_LDLIBS -lX11) +@@ -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) + +- include (FindThreads) ++ find_package(Threads REQUIRED) + + if (CMAKE_HAVE_THREADS_LIBRARY) + add_definitions ("-D_THREAD_SAFE -D_REENTRANT") +diff --git a/CMake/resources.cmake b/CMake/resources.cmake +index a763fb6..5fdb3d5 100644 +--- a/CMake/resources.cmake ++++ b/CMake/resources.cmake +@@ -39,7 +39,7 @@ endmacro (fl_find_header) + # Include FindPkgConfig for later use of pkg-config + ####################################################################### + +-include (FindPkgConfig) ++find_package(PkgConfig) + + # fl_debug_var (PKG_CONFIG_FOUND) + # fl_debug_var (PKG_CONFIG_EXECUTABLE) +@@ -131,8 +131,7 @@ mark_as_advanced (HAVE_X11_XREGION_H) + + # where to find freetype headers + +-find_path (FREETYPE_PATH freetype.h PATH_SUFFIXES freetype2) +-find_path (FREETYPE_PATH freetype/freetype.h PATH_SUFFIXES freetype2) ++set(FREETYPE_PATH "" CACHE INTERNAL "Obsolete") + + if (FREETYPE_PATH) + include_directories (${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) +- find_library (LIB_fontconfig fontconfig) ++ find_package(Fontconfig REQUIRED) ++ set(LIB_fontconfig "${Fontconfig_LIBRARIES}" CACHE INTERNAL "") + 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 NAMES GLEW glew32) diff --git a/ports/fltk/findlibsfix.patch b/ports/fltk/findlibsfix.patch deleted file mode 100644 index 80cfa7fa076820..00000000000000 --- a/ports/fltk/findlibsfix.patch +++ /dev/null @@ -1,47 +0,0 @@ -diff --git a/CMake/resources.cmake b/CMake/resources.cmake -index 57173f2..149aa62 100644 ---- a/CMake/resources.cmake -+++ b/CMake/resources.cmake -@@ -52,10 +52,8 @@ include (FindPkgConfig) - fl_find_header (HAVE_ALSA_ASOUNDLIB_H alsa/asoundlib.h) - fl_find_header (HAVE_DLFCN_H dlfcn.h) - fl_find_header (HAVE_GL_GLU_H GL/glu.h) --fl_find_header (HAVE_LIBPNG_PNG_H libpng/png.h) - fl_find_header (HAVE_LOCALE_H locale.h) - fl_find_header (HAVE_OPENGL_GLU_H OpenGL/glu.h) --fl_find_header (HAVE_PNG_H png.h) - fl_find_header (HAVE_STDIO_H stdio.h) - fl_find_header (HAVE_STRINGS_H strings.h) - fl_find_header (HAVE_SYS_SELECT_H sys/select.h) -@@ -64,6 +62,17 @@ fl_find_header (HAVE_SYS_STDTYPES_H sys/stdtypes.h) - fl_find_header (HAVE_X11_XREGION_H "X11/Xlib.h;X11/Xregion.h") - fl_find_header (HAVE_XDBE_H "X11/Xlib.h;X11/extensions/Xdbe.h") - -+find_package(PNG REQUIRED) -+if(PNG_FOUND) -+ set(LIB_png ${PNG_LIBRARIES}) -+ set(HAVE_PNG_H ${PNG_FOUND}) -+ -+endif() -+find_package(ZLIB REQUIRED) -+if(ZLIB_FOUND) -+ set(LIB_zlib ${ZLIB_LIBRARIES}) -+endif() -+ - if (WIN32 AND NOT CYGWIN) - # we don't use pthreads on Windows (except for Cygwin, see options.cmake) - set (HAVE_PTHREAD_H 0) -@@ -171,12 +180,10 @@ find_library (LIB_GL GL) - find_library (LIB_MesaGL MesaGL) - find_library (LIB_GLEW GLEW) - find_library (LIB_jpeg jpeg) --find_library (LIB_png png) --find_library (LIB_zlib z) - - mark_as_advanced (LIB_dl LIB_fontconfig LIB_freetype) - mark_as_advanced (LIB_GL LIB_MesaGL LIB_GLEW) --mark_as_advanced (LIB_jpeg LIB_png LIB_zlib) -+mark_as_advanced (LIB_jpeg) - - ####################################################################### - # functions 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-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/fltk_version.dat b/ports/fltk/fltk_version.dat deleted file mode 100644 index 8ed486ab78b528..00000000000000 --- a/ports/fltk/fltk_version.dat +++ /dev/null @@ -1 +0,0 @@ -1.3.7 \ No newline at end of file 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/math-h-polyfill.patch b/ports/fltk/math-h-polyfill.patch new file mode 100644 index 00000000000000..1591f19a7a8d84 --- /dev/null +++ b/ports/fltk/math-h-polyfill.patch @@ -0,0 +1,13 @@ +diff --git a/FL/math.h b/FL/math.h +index b574000..216a2ad 100644 +--- a/FL/math.h ++++ b/FL/math.h +@@ -47,7 +47,7 @@ + # define M_SQRT1_2 0.70710678118654752440 + # endif // !M_SQRT2 + +-# if (defined(WIN32) || defined(CRAY)) && !defined(__MINGW32__) && !defined(__MWERKS__) ++# if defined(FLTK_ENABLE_MATH_H_POLYFILL) + + inline double rint(double v) {return floor(v+.5);} + inline double copysign(double a, double b) {return b<0 ? -a : a;} diff --git a/ports/fltk/portfile.cmake b/ports/fltk/portfile.cmake index 9a32c019e3c0df..415c4815804437 100644 --- a/ports/fltk/portfile.cmake +++ b/ports/fltk/portfile.cmake @@ -1,79 +1,114 @@ # FLTK has many improperly shared global variables that get duplicated into every DLL vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -vcpkg_fail_port_install(ON_TARGET "UWP") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO fltk/fltk - REF release-1.3.7 - SHA512 aad131027e88fac3fe73d7e0abfc2602cdc195388f14b29b58d654cb49b780e6ff2ef4270935730b45cd3d366f9e8c8fa3c27a4f17b1f6e8c8fd1f9a0a73c308 + REF "release-${VERSION}" + SHA512 2dfeeed9fdc6db62a6620e7c846dbe0bf97dacce3077832e314a35bf16ba6a45803373188a7b3954eada5829385b9914241270b71f12aaf3e9e3df45eb2b1b95 PATCHES - findlibsfix.patch + dependencies.patch config-path.patch include.patch fix-system-link.patch + math-h-polyfill.patch + fix-build-executable.patch #https://github.com/fltk/fltk/commit/63d7c71e1a926f487f22aa26042a2582624b3b17 +) +file(REMOVE_RECURSE + "${SOURCE_PATH}/jpeg" + "${SOURCE_PATH}/png" + "${SOURCE_PATH}/zlib" ) -# Remove these 2 lines when the next update -file(COPY ${CMAKE_CURRENT_LIST_DIR}/fltk_version.dat DESTINATION ${SOURCE_PATH}) -file(REMOVE ${SOURCE_PATH}/VERSION) +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + opengl OPTION_USE_GL +) + +set(fluid_path_param "") +if(VCPKG_CROSSCOMPILING) + set(fluid_path_param "-DFLUID_PATH=${CURRENT_HOST_INSTALLED_DIR}/tools/fltk/fluid${VCPKG_HOST_EXECUTABLE_SUFFIX}") +endif() -if (VCPKG_TARGET_ARCHITECTURE MATCHES "arm" OR VCPKG_TARGET_ARCHITECTURE MATCHES "arm64") - set(OPTION_USE_GL "-DOPTION_USE_GL=OFF") -else() - set(OPTION_USE_GL "-DOPTION_USE_GL=ON") +set(runtime_dll "ON") +if(VCPKG_CRT_LINKAGE STREQUAL "static") + set(runtime_dll "OFF") endif() -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS + ${FEATURE_OPTIONS} -DFLTK_BUILD_TEST=OFF -DOPTION_LARGE_FILE=ON - -DOPTION_USE_THREADS=ON + -DHAVE_ALSA_ASOUNDLIB_H=OFF # tests only -DOPTION_USE_SYSTEM_ZLIB=ON -DOPTION_USE_SYSTEM_LIBPNG=ON -DOPTION_USE_SYSTEM_LIBJPEG=ON -DOPTION_BUILD_SHARED_LIBS=OFF - -DFLTK_CONFIG_PATH=share/fltk - ${OPTION_USE_GL} + -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 ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/fltk) +vcpkg_cmake_config_fixup() vcpkg_copy_pdbs() -if(VCPKG_TARGET_IS_OSX) - vcpkg_copy_tools(TOOL_NAMES fluid.app fltk-config AUTO_CLEAN) -elseif(VCPKG_TARGET_IS_WINDOWS) - file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/fltk-config ${CURRENT_PACKAGES_DIR}/debug/bin/fltk-config) - vcpkg_copy_tools(TOOL_NAMES fluid AUTO_CLEAN) -else() - vcpkg_copy_tools(TOOL_NAMES fluid fltk-config AUTO_CLEAN) +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`/../..") + 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" "{prefix}/include" "{prefix}/../include") + endif() endif() - -if(VCPKG_LIBRARY_LINKAGE STREQUAL static) +if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/fluid${VCPKG_TARGET_EXECUTABLE_SUFFIX}" OR + EXISTS "${CURRENT_PACKAGES_DIR}/bin/fluid${VCPKG_TARGET_BUNDLE_SUFFIX}") + file(REMOVE "${CURRENT_PACKAGES_DIR}/bin/fluid.icns" "${CURRENT_PACKAGES_DIR}/debug/bin/fluid.icns") + vcpkg_copy_tools(TOOL_NAMES fluid AUTO_CLEAN) +elseif(VCPKG_LIBRARY_LINKAGE STREQUAL "static") file(REMOVE_RECURSE - ${CURRENT_PACKAGES_DIR}/debug/bin - ${CURRENT_PACKAGES_DIR}/bin + "${CURRENT_PACKAGES_DIR}/debug/bin" + "${CURRENT_PACKAGES_DIR}/bin" ) endif() file(REMOVE_RECURSE - ${CURRENT_PACKAGES_DIR}/debug/include - ${CURRENT_PACKAGES_DIR}/debug/share + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" ) -foreach(FILE Fl_Export.H fl_utf8.h) - file(READ ${CURRENT_PACKAGES_DIR}/include/FL/${FILE} FLTK_HEADER) - if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - string(REPLACE "defined(FL_DLL)" "0" FLTK_HEADER "${FLTK_HEADER}") +foreach(FILE IN ITEMS Fl_Export.H fl_utf8.h) + if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/FL/${FILE}" "defined(FL_DLL)" "0") else() - string(REPLACE "defined(FL_DLL)" "1" FLTK_HEADER "${FLTK_HEADER}") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/FL/${FILE}" "defined(FL_DLL)" "1") endif() - file(WRITE ${CURRENT_PACKAGES_DIR}/include/FL/${FILE} "${FLTK_HEADER}") endforeach() -file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/fltk/UseFLTK.cmake" "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel;${SOURCE_PATH}" [[${CMAKE_CURRENT_LIST_DIR}/../../include]]) + +set(copyright_files "${SOURCE_PATH}/COPYING") +if("opengl" IN_LIST FEATURES) + file(READ "${SOURCE_PATH}/src/freeglut_geometry.cxx" freeglut_copyright) + string(REGEX MATCH " [*] Copyright.*" freeglut_copyright "${freeglut_copyright}" ) + string(REGEX REPLACE "[*]/.*" "" freeglut_copyright "${freeglut_copyright}") + file(WRITE "${CURRENT_BUILDTREES_DIR}/Freeglut code copyright" "${freeglut_copyright}") + list(APPEND copyright_files "${CURRENT_BUILDTREES_DIR}/Freeglut code copyright") + + file(READ "${SOURCE_PATH}/src/freeglut_teapot.cxx" teapot_copyright) + string(REGEX MATCH " [*][^*]*Silicon Graphics, Inc.*" teapot_copyright "${teapot_copyright}") + string(REGEX REPLACE "[*]/.*" "" teapot_copyright "${teapot_copyright}") + file(WRITE "${CURRENT_BUILDTREES_DIR}/Original teapot code copyright" "${teapot_copyright}") + list(APPEND copyright_files "${CURRENT_BUILDTREES_DIR}/Original teapot code copyright") +endif() +vcpkg_install_copyright(FILE_LIST ${copyright_files}) diff --git a/ports/fltk/vcpkg.json b/ports/fltk/vcpkg.json index 0dcc3f21e4f099..b1b9b58b390f2f 100644 --- a/ports/fltk/vcpkg.json +++ b/ports/fltk/vcpkg.json @@ -1,11 +1,46 @@ { "name": "fltk", - "version": "1.3.7", + "version": "1.3.9", + "port-version": 1, "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, + "supports": "!uwp", "dependencies": [ + { + "name": "fltk", + "host": true, + "default-features": false + }, + { + "name": "fontconfig", + "platform": "!osx" + }, + { + "name": "freetype", + "default-features": false + }, "libjpeg-turbo", "libpng", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, "zlib" - ] + ], + "default-features": [ + "opengl" + ], + "features": { + "opengl": { + "description": "OpenGL support", + "dependencies": [ + "opengl" + ] + } + } } diff --git a/ports/fluidlite/fix-dependencies.patch b/ports/fluidlite/fix-dependencies.patch new file mode 100644 index 00000000000000..4d3bd691790f6c --- /dev/null +++ b/ports/fluidlite/fix-dependencies.patch @@ -0,0 +1,26 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 4aead6c369f129f50d79d77e6ac8f58afba91fa5..83f3f5026861dd904060293be8754c9e265047ab 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -113,7 +113,7 @@ endif() + + set(FLUIDLITE_VENDORED FALSE) + if (ENABLE_SF3 AND NOT STB_VORBIS) +- find_package(Vorbis QUIET) ++ find_package(Vorbis CONFIG REQUIRED) + if (NOT TARGET Vorbis::vorbisfile) + message(WARNING "Using vendored libogg/libvorbis") + +diff --git a/fluidlite-config.cmake.in b/fluidlite-config.cmake.in +index 8c40ff0eb077fc0fd530f052500214d75e96899d..46940e4cd218d245014f40f1097f7193cc8952b3 100644 +--- a/fluidlite-config.cmake.in ++++ b/fluidlite-config.cmake.in +@@ -15,7 +15,7 @@ endif() + if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@-static-targets.cmake") + include(CMakeFindDependencyMacro) + if("${FLUIDLITE_SF3_SUPPORT}" STREQUAL "SF3_XIPH_VORBIS" AND NOT FLUIDLITE_VENDORED AND NOT TARGET Vorbis::vorbisfile) +- find_dependency(Vorbis) ++ find_dependency(Vorbis CONFIG) + endif() + + include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@-static-targets.cmake") diff --git a/ports/fluidlite/portfile.cmake b/ports/fluidlite/portfile.cmake index 8e99d8f01d24f7..b6d2e8ee7e5d6e 100644 --- a/ports/fluidlite/portfile.cmake +++ b/ports/fluidlite/portfile.cmake @@ -1,33 +1,38 @@ -if(EXISTS "${CURRENT_INSTALLED_DIR}/include/fluidsynth/settings.h") - message(FATAL_ERROR "Can't build fluidlite if fluidsynth is installed. Please remove fluidsynth, and try to install fluidlite again if you need it.") -endif() - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO divideconcept/FluidLite - REF fdd05bad03cdb24d1f78b5fe3453842890c1b0e8 - SHA512 8118bec2cb5ee48b8064ed2111610f1917ee8e6f1dc213121b2311d056da21d7f618ef50735e7653d2cccf1e96652f3ccf026101fccb9863448008918add53e0 - HEAD_REF master + REF d59d2328818f913b7d1a6a59aed695c47a8ce388 + SHA512 d08ddd0b61dc16c26e5ebc8e54e2efef163f8d0b4da6ce4a040b49756feb105220d48ec6238568b00c68dfa244fac0ab53e3c59c066d4b92dc248df3715c388c + PATCHES + fix-dependencies.patch ) -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" FLUIDLITE_BUILD_STATIC) -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" FLUIDLITE_BUILD_SHARED) +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + sf3 ENABLE_SF3 +) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DFLUIDLITE_BUILD_STATIC=${FLUIDLITE_BUILD_STATIC} - -DFLUIDLITE_BUILD_SHARED=${FLUIDLITE_BUILD_SHARED} - -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON + ${FEATURE_OPTIONS} +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup( + PACKAGE_NAME fluidlite + CONFIG_PATH lib/cmake/fluidlite ) -vcpkg_install_cmake() +vcpkg_fixup_pkgconfig() + +vcpkg_copy_pdbs() -# Remove unnecessary files -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/debug/include" +) -# Handle copyright -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_fixup_pkgconfig() +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/fluidlite/usage b/ports/fluidlite/usage new file mode 100644 index 00000000000000..d408e9cd56bb78 --- /dev/null +++ b/ports/fluidlite/usage @@ -0,0 +1,4 @@ +fluidlite provides CMake targets: + + find_package(fluidlite CONFIG REQUIRED) + target_link_libraries(main PRIVATE $,fluidlite::fluidlite,fluidlite::fluidlite-static>) diff --git a/ports/fluidlite/vcpkg.json b/ports/fluidlite/vcpkg.json index ea960e89ba005e..a0d05e9ac4c833 100644 --- a/ports/fluidlite/vcpkg.json +++ b/ports/fluidlite/vcpkg.json @@ -1,7 +1,28 @@ { "name": "fluidlite", - "version-string": "2020-08-27", - "port-version": 2, + "version-date": "2023-04-18", "description": "FluidLite is a very light version of FluidSynth designed to be hardware, platform and external dependency independant.", - "homepage": "https://github.com/divideconcept/FluidLite" + "homepage": "https://github.com/divideconcept/FluidLite", + "license": "LGPL-2.1-or-later", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "default-features": [ + "sf3" + ], + "features": { + "sf3": { + "description": "Enable SF3 files (ogg/vorbis compressed samples)", + "dependencies": [ + "libvorbis" + ] + } + } } diff --git a/ports/fluidsynth/force-x86-gentables.patch b/ports/fluidsynth/force-x86-gentables.patch deleted file mode 100644 index 7f909ec510d36c..00000000000000 --- a/ports/fluidsynth/force-x86-gentables.patch +++ /dev/null @@ -1,38 +0,0 @@ -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 356bb73..b4c43d7 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -410,14 +410,23 @@ set (GENTAB_BDIR ${CMAKE_CURRENT_BINARY_DIR}/gentables) - # To fix cross-compiling fluidsynth from Win32 to ARM (using vcpkg), we need to pass the current generator - # on to the external project, otherwise (for some unknown reason) the target compiler will be used rather - # than the host compiler. --ExternalProject_Add(gentables -- DOWNLOAD_COMMAND "" -- SOURCE_DIR ${GENTAB_SDIR} -- BINARY_DIR ${GENTAB_BDIR} -- CONFIGURE_COMMAND -- "${CMAKE_COMMAND}" -DCMAKE_VERBOSE_MAKEFILE=${CMAKE_VERBOSE_MAKEFILE} -G "${CMAKE_GENERATOR}" -B "${GENTAB_BDIR}" "${GENTAB_SDIR}" -- BUILD_COMMAND -- "${CMAKE_COMMAND}" --build "${GENTAB_BDIR}" -- INSTALL_COMMAND ${GENTAB_BDIR}/make_tables.exe "${CMAKE_BINARY_DIR}/" --) -+if(VCPKG_TARGET_ARCHITECTURE STREQUAL arm OR VCPKG_TARGET_ARCHITECTURE STREQUAL arm64) -+ ExternalProject_Add(gentables -+ DOWNLOAD_COMMAND "" -+ SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/gentables -+ BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/gentables -+ CONFIGURE_COMMAND -+ "${CMAKE_COMMAND}" "${CMAKE_CURRENT_SOURCE_DIR}/gentables" -G "${CMAKE_GENERATOR}" -A Win32 -B "${CMAKE_CURRENT_BINARY_DIR}/gentables" -+ BUILD_COMMAND -+ "${CMAKE_COMMAND}" --build "${CMAKE_CURRENT_BINARY_DIR}/gentables" -+ INSTALL_COMMAND ${CMAKE_CURRENT_BINARY_DIR}/gentables/make_tables.exe "${CMAKE_BINARY_DIR}/" -+ ) -+else() -+ ExternalProject_Add(gentables -+ DOWNLOAD_COMMAND "" -+ SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/gentables -+ BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/gentables -+ INSTALL_COMMAND ${CMAKE_CURRENT_BINARY_DIR}/gentables/make_tables.exe "${CMAKE_BINARY_DIR}/" -+ ) -+endif() - add_dependencies(libfluidsynth-OBJ gentables) diff --git a/ports/fluidsynth/gentables.patch b/ports/fluidsynth/gentables.patch new file mode 100644 index 00000000000000..6faa5f8c5aaf1f --- /dev/null +++ b/ports/fluidsynth/gentables.patch @@ -0,0 +1,51 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index e86a6429..9240e091 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -538,6 +538,9 @@ install(EXPORT FluidSynthTargets + + # ******* Auto Generated Lookup Tables ****** + ++if(VCPKG_BUILD_MAKE_TABLES) ++ add_subdirectory(gentables) ++elseif(0) + include(ExternalProject) + + set (GENTAB_SDIR ${CMAKE_CURRENT_SOURCE_DIR}/gentables) +@@ -557,4 +560,11 @@ ExternalProject_Add(gentables + "${CMAKE_COMMAND}" --build "${GENTAB_BDIR}" + INSTALL_COMMAND ${GENTAB_BDIR}/make_tables.exe "${FluidSynth_BINARY_DIR}/" + ) ++endif() ++if(TARGET make_tables AND NOT CMAKE_CROSSCOMPILING) ++ set(GENTABLES make_tables) ++else() ++ find_program(GENTABLES make_tables REQUIRED) ++endif() ++add_custom_target(gentables COMMAND "${GENTABLES}" "${CMAKE_BINARY_DIR}/") + add_dependencies(libfluidsynth-OBJ gentables) +diff --git a/src/gentables/CMakeLists.txt b/src/gentables/CMakeLists.txt +index 9cb69f2b..c393a670 100644 +--- a/src/gentables/CMakeLists.txt ++++ b/src/gentables/CMakeLists.txt +@@ -12,6 +12,7 @@ unset(ENV{LDFLAGS}) + + project (gentables C) + ++if (0) + set ( CMAKE_BUILD_TYPE Debug ) + + # hardcode ".exe" as suffix to the binary, else in case of cross-platform cross-compiling the calling cmake will not know the suffix used here and fail to find the binary +@@ -20,6 +21,7 @@ set ( CMAKE_EXECUTABLE_SUFFIX ".exe" ) + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_BINARY_DIR}) + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_BINARY_DIR}) ++endif() + + # Add the executable that generates the table + add_executable( make_tables +@@ -34,3 +36,4 @@ if ( WIN32 ) + else ( WIN32 ) + target_link_libraries (make_tables "m") + endif () ++install(TARGETS make_tables DESTINATION bin) diff --git a/ports/fluidsynth/portfile.cmake b/ports/fluidsynth/portfile.cmake index a92c17268b56fc..830275044ffb3b 100644 --- a/ports/fluidsynth/portfile.cmake +++ b/ports/fluidsynth/portfile.cmake @@ -1,42 +1,97 @@ +if("pulseaudio" IN_LIST FEATURES) + message( + "${PORT} with pulseaudio feature currently requires the following from the system package manager: + libpulse-dev pulseaudio + These can be installed on Ubuntu systems via sudo apt install libpulse-dev pulseaudio" + ) +endif() + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO FluidSynth/fluidsynth - REF 90a6c52e1c347d1c4283b0de9f860ed2fbc413bc #v2.2.1 - SHA512 311a078e95204baf9b348fb8c83370003982fad59553de945437fec7647c9237dd4382f9f8f70080ed472745c66fe528764cd898581d628ab4422427c3d58b3a + REF "v${VERSION}" + SHA512 57770597e26140011324cac14dd81aa1f5fc52ec0c256a4e16f629b81b8d477279ad714cc9d1e375d74aabb348e1436eafd06746cdf10fa29196468645bf7600 HEAD_REF master PATCHES - force-x86-gentables.patch + gentables.patch +) + +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + buildtools VCPKG_BUILD_MAKE_TABLES + sndfile enable-libsndfile + pulseaudio enable-pulseaudio ) -set(feature_list dbus jack libinstpatch libsndfile midishare opensles oboe oss sdl2 pulseaudio readline lash alsa systemd coreaudio coremidi dart) -set(FEATURE_OPTIONS) -foreach(_feature IN LISTS feature_list) - list(APPEND FEATURE_OPTIONS -Denable-${_feature}:BOOL=OFF) +# enable platform-specific features, force the build to fail if the required libraries are not found, +# and disable all other features to avoid system libraries to be picked up +set(WINDOWS_OPTIONS enable-dsound enable-wasapi enable-waveout enable-winmidi HAVE_MMSYSTEM_H HAVE_DSOUND_H HAVE_OBJBASE_H) +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-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) + +if(VCPKG_TARGET_IS_WINDOWS) + set(OPTIONS_TO_ENABLE ${WINDOWS_OPTIONS}) + set(OPTIONS_TO_DISABLE ${MACOS_OPTIONS} ${LINUX_OPTIONS} ${ANDROID_OPTIONS}) +elseif(VCPKG_TARGET_IS_OSX) + set(OPTIONS_TO_ENABLE ${MACOS_OPTIONS}) + set(OPTIONS_TO_DISABLE ${WINDOWS_OPTIONS} ${LINUX_OPTIONS} ${ANDROID_OPTIONS}) +elseif(VCPKG_TARGET_IS_LINUX) + set(OPTIONS_TO_ENABLE ${LINUX_OPTIONS}) + set(OPTIONS_TO_DISABLE ${WINDOWS_OPTIONS} ${MACOS_OPTIONS} ${ANDROID_OPTIONS}) +elseif(VCPKG_TARGET_IS_ANDROID) + set(OPTIONS_TO_ENABLE ${ANDROID_OPTIONS}) + set(OPTIONS_TO_DISABLE ${WINDOWS_OPTIONS} ${MACOS_OPTIONS} ${LINUX_OPTIONS}) +endif() + +foreach(_option IN LISTS OPTIONS_TO_ENABLE) + list(APPEND ENABLED_OPTIONS "-D{_option}:BOOL=ON") +endforeach() + +foreach(_option IN LISTS OPTIONS_TO_DISABLE IGNORED_OPTIONS) + list(APPEND DISABLED_OPTIONS "-D${_option}:BOOL=OFF") endforeach() vcpkg_find_acquire_program(PKGCONFIG) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - OPTIONS +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + "-DVCPKG_HOST_TRIPLET=${HOST_TRIPLET}" ${FEATURE_OPTIONS} - -DPKG_CONFIG_EXECUTABLE=${PKGCONFIG} - -DLIB_INSTALL_DIR=lib - OPTIONS_DEBUG - -Denable-debug:BOOL=ON + ${ENABLED_OPTIONS} + ${DISABLED_OPTIONS} + "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}" + MAYBE_UNUSED_VARIABLES + ${OPTIONS_TO_DISABLE} + VCPKG_BUILD_MAKE_TABLES + enable-coverage + enable-framework + enable-ubsan ) -vcpkg_install_cmake() +vcpkg_cmake_install() -# Copy fluidsynth.exe to tools dir -vcpkg_copy_tools(TOOL_NAMES fluidsynth AUTO_CLEAN) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/fluidsynth) -# Remove unnecessary files -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +vcpkg_fixup_pkgconfig() -if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) +set(tools fluidsynth) +if("buildtools" IN_LIST FEATURES) + list(APPEND tools make_tables) endif() +vcpkg_copy_tools(TOOL_NAMES ${tools} AUTO_CLEAN) + +vcpkg_copy_pdbs() + +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") -# Handle copyright -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}") diff --git a/ports/fluidsynth/usage b/ports/fluidsynth/usage new file mode 100644 index 00000000000000..98d79a631135e6 --- /dev/null +++ b/ports/fluidsynth/usage @@ -0,0 +1,5 @@ +The package fluidsynth provides CMake targets: + + find_package(FluidSynth CONFIG REQUIRED) + target_link_libraries(main PRIVATE FluidSynth::libfluidsynth) + add_custom_command(OUTPUT result COMMAND FluidSynth::fluidsynth ARGS ...) diff --git a/ports/fluidsynth/vcpkg.json b/ports/fluidsynth/vcpkg.json index c248a67cce37e0..c77c1f785058e0 100644 --- a/ports/fluidsynth/vcpkg.json +++ b/ports/fluidsynth/vcpkg.json @@ -1,10 +1,52 @@ { "name": "fluidsynth", - "version": "2.2.1", - "port-version": 1, + "version": "2.4.0", "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", + "supports": "!xbox", "dependencies": [ - "glib" - ] + { + "name": "alsa", + "platform": "linux" + }, + { + "name": "fluidsynth", + "host": true, + "default-features": false, + "features": [ + "buildtools" + ] + }, + "glib", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "buildtools": { + "description": "Build tools gentables" + }, + "pulseaudio": { + "description": "Build with PulseAudio support", + "supports": "linux" + }, + "sndfile": { + "description": "Enable rendering to file and SF3 support", + "dependencies": [ + { + "name": "libsndfile", + "default-features": false, + "features": [ + "external-libs" + ] + } + ] + } + } } diff --git a/ports/flux/portfile.cmake b/ports/flux/portfile.cmake new file mode 100644 index 00000000000000..9f6d94becbc665 --- /dev/null +++ b/ports/flux/portfile.cmake @@ -0,0 +1,23 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO tcbrindle/flux + REF "v${VERSION}" + SHA512 ac6f373d2b6b7f568528ba489aa0b1785ce9e25ba1c75ec23a3a7b517d54534491be0f808a09778e651791e61cc4bf407b8c18ff6aa53af4ae7cd9b518a8df43 + HEAD_REF master +) + +set(VCPKG_BUILD_TYPE release) # header-only port + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DFLUX_BUILD_EXAMPLES=OFF + -DFLUX_BUILD_TESTS=OFF +) + + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/flux) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug" "${CURRENT_PACKAGES_DIR}/lib") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE_1_0.txt") diff --git a/ports/flux/vcpkg.json b/ports/flux/vcpkg.json new file mode 100644 index 00000000000000..2f912a2cfdef21 --- /dev/null +++ b/ports/flux/vcpkg.json @@ -0,0 +1,16 @@ +{ + "name": "flux", + "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": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/fmem/portfile.cmake b/ports/fmem/portfile.cmake index 36e4e45f3bb41e..de0c0bb6d40f25 100644 --- a/ports/fmem/portfile.cmake +++ b/ports/fmem/portfile.cmake @@ -6,18 +6,17 @@ vcpkg_from_github( HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_TESTING=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") vcpkg_copy_pdbs() # Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/fmem RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/fmem" RENAME copyright) diff --git a/ports/fmem/vcpkg.json b/ports/fmem/vcpkg.json index 17d54850a86e42..52d0dc2a041a5e 100644 --- a/ports/fmem/vcpkg.json +++ b/ports/fmem/vcpkg.json @@ -1,6 +1,12 @@ { "name": "fmem", "version-string": "c-libs-2ccee3d2fb", - "port-version": 1, - "description": "A cross-platform library for opening memory-backed libc streams." + "port-version": 3, + "description": "A cross-platform library for opening memory-backed libc streams.", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/fmilib/0001-remove-install-prefix.patch b/ports/fmilib/0001-remove-install-prefix.patch deleted file mode 100644 index 42ba75701e5a15..00000000000000 --- a/ports/fmilib/0001-remove-install-prefix.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 04bb359c724308e30268840c64932ea1d05b9077 Mon Sep 17 00:00:00 2001 -From: Nicole Mazzuca -Date: Wed, 23 Sep 2020 10:00:23 -0700 -Subject: [PATCH 1/2] remove install prefix - ---- - CMakeLists.txt | 4 ---- - 1 file changed, 4 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index f7372bf..f3c11f1 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -26,7 +26,6 @@ set(FMILIBRARYHOME ${FMILibrary_SOURCE_DIR}) - set(FMILIBRARYBUILD ${FMILibrary_BINARY_DIR}) - - # User configuration options and parameters --SET(FMILIB_INSTALL_PREFIX ${FMILibrary_BINARY_DIR}/../install CACHE PATH "Prefix prepended to install directories") - set(FMILIB_THIRDPARTYLIBS ${FMILibrary_SOURCE_DIR}/ThirdParty CACHE PATH "Path to the ThirdParty library dir" ) - set(FMILIB_FMI_STANDARD_HEADERS ${FMILIB_THIRDPARTYLIBS}/FMI/default CACHE PATH "Path to the FMI standard headers dir" ) - -@@ -84,7 +83,6 @@ IF(NOT CMAKE_BUILD_TYPE) - SET(CMAKE_BUILD_TYPE ${FMILIB_DEFAULT_BUILD_TYPE}) - ENDIF(NOT CMAKE_BUILD_TYPE) - --SET(CMAKE_INSTALL_PREFIX ${FMILIB_INSTALL_PREFIX} CACHE INTERNAL "Prefix prepended to install directories" FORCE) - - # debug_message is used to trace the build script - function(debug_message) -@@ -350,7 +348,6 @@ endfunction() - - if(FMILIB_GENERATE_DOXYGEN_DOC) - -- file(MAKE_DIRECTORY "${FMILIB_INSTALL_PREFIX}/doc") - - set(DOXYFILE_IN ${FMILIBRARYHOME}/Config.cmake/fmilib_doxydoc.conf CACHE INTERNAL "Doxygen config file") - set(DOXYFILE_IMAGE_DIR "${FMILIBRARYHOME}/images" CACHE INTERNAL "Doxygen images" FORCE) -@@ -372,7 +369,6 @@ if(FMILIB_GENERATE_DOXYGEN_DOC) - set(DOXYFILE_SOURCE_DIR "${FMILIBRARYBUILD}/doc" CACHE INTERNAL "Doxygen default source dir" FORCE) - set(DOXYFILE_EXTRA_SOURCES "${DOXYFILE_EXTRA_SOURCES} \"${FMILIBRARYHOME}/Test\"") - -- set(DOXYFILE_OUTPUT_DIR "${FMILIB_INSTALL_PREFIX}/doc") - - set(DOXYFILE_STRIP_FROM_PATH "${FMILIBRARYHOME}") - --- -2.24.3 (Apple Git-128) - diff --git a/ports/fmilib/0002-include-sys-stat.h-for-mkdir.patch b/ports/fmilib/0002-include-sys-stat.h-for-mkdir.patch deleted file mode 100644 index a39617e4743a70..00000000000000 --- a/ports/fmilib/0002-include-sys-stat.h-for-mkdir.patch +++ /dev/null @@ -1,20 +0,0 @@ -From 080876bf3735efeedaab0b211d2be7b3c3524d97 Mon Sep 17 00:00:00 2001 -From: Nicole Mazzuca -Date: Wed, 23 Sep 2020 10:03:30 -0700 -Subject: [PATCH 2/2] include sys/stat.h for mkdir - ---- - ThirdParty/Minizip/minizip/miniunz.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/ThirdParty/Minizip/minizip/miniunz.c b/ThirdParty/Minizip/minizip/miniunz.c -index 2264705..e0167d5 100644 ---- a/ThirdParty/Minizip/minizip/miniunz.c -+++ b/ThirdParty/Minizip/minizip/miniunz.c -@@ -53,5 +53,6 @@ - #else - # include - # include -+# include - #endif - diff --git a/ports/fmilib/devendor-sublibs.diff b/ports/fmilib/devendor-sublibs.diff new file mode 100644 index 00000000000000..8845c35de848b9 --- /dev/null +++ b/ports/fmilib/devendor-sublibs.diff @@ -0,0 +1,54 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 690ee5f..2816987 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -230,7 +230,7 @@ configure_file ( + "${FMILibrary_BINARY_DIR}/fmilib_config.h" + ) + +-set(FMILIB_SHARED_SUBLIBS ${FMIXML_LIBRARIES} ${FMIZIP_LIBRARIES} ${FMICAPI_LIBRARIES} expat minizip zlib c99snprintf) ++set(FMILIB_SHARED_SUBLIBS ${FMIXML_LIBRARIES} ${FMIZIP_LIBRARIES} ${FMICAPI_LIBRARIES} minizip c99snprintf) + set(FMILIB_SUBLIBS ${FMIIMPORT_LIBRARIES} ${JMUTIL_LIBRARIES} ${FMILIB_SHARED_SUBLIBS}) + set(FMILIB_SHARED_SRC ${FMIIMPORTSOURCE} ${JMUTILSOURCE} ${FMIIMPORTHEADERS}) + +diff --git a/Config.cmake/fmixml.cmake b/Config.cmake/fmixml.cmake +index ddd3c1f..3bafac3 100644 +--- a/Config.cmake/fmixml.cmake ++++ b/Config.cmake/fmixml.cmake +@@ -137,6 +137,7 @@ set(FMIXMLSOURCE + src/FMI2/fmi2_xml_variable.c + ) + ++if(0) + include(ExternalProject) + + # The *_POSTFIX variables are set because it makes it easier to determine the name of +@@ -211,7 +212,10 @@ if(FMILIB_INSTALL_SUBLIBS) + DESTINATION lib) + endif() + ++endif(0) + set(EXPAT_INCLUDE_DIRS ${CMAKE_BINARY_DIR}/ExpatEx/install/include) ++find_package(expat CONFIG REQUIRED) ++add_library(expat ALIAS expat::expat) + + include_directories("${EXPAT_INCLUDE_DIRS}" "${FMILIB_THIRDPARTYLIBS}/FMI/" "${FMIXMLGENDIR}/FMI1" "${FMIXMLGENDIR}/FMI2") + +diff --git a/Config.cmake/fmizip.cmake b/Config.cmake/fmizip.cmake +index c046d47..50e82b3 100644 +--- a/Config.cmake/fmizip.cmake ++++ b/Config.cmake/fmizip.cmake +@@ -20,7 +20,12 @@ if(NOT FMIZIPDIR) + + set(FMIZIP_LIBRARIES fmizip) + +- add_subdirectory(Config.cmake/Minizip) ++ add_library(minizip OBJECT ++ "${FMILIB_THIRDPARTYLIBS}/Minizip/minizip/miniunz.c" ++ "${FMILIB_THIRDPARTYLIBS}/Minizip/minizip/minizip.c" ++ ) ++ find_package(unofficial-minizip CONFIG REQUIRED) ++ target_link_libraries(minizip PRIVATE unofficial::minizip::minizip) + + include_directories("${FMIZIPDIR}/include" "${FMILIB_THIRDPARTYLIBS}/Minizip/minizip" "${FMILIB_THIRDPARTYLIBS}/FMI" "${FMILIB_THIRDPARTYLIBS}/Zlib/zlib-1.2.6" "${FMILibrary_BINARY_DIR}/zlib") + diff --git a/ports/fmilib/fix-mergestaticlibs.diff b/ports/fmilib/fix-mergestaticlibs.diff new file mode 100644 index 00000000000000..05fbcc432e58df --- /dev/null +++ b/ports/fmilib/fix-mergestaticlibs.diff @@ -0,0 +1,20 @@ +diff --git a/Config.cmake/mergestaticlibs.cmake b/Config.cmake/mergestaticlibs.cmake +index 858a026..67eccb7 100644 +--- a/Config.cmake/mergestaticlibs.cmake ++++ b/Config.cmake/mergestaticlibs.cmake +@@ -21,6 +21,15 @@ function(merge_static_libs outlib ) + file(WRITE ${dummyfile} "const char * dummy = \"${dummyfile}\";") + + add_library(${outlib} STATIC ${dummyfile}) ++ foreach(lib IN LISTS libs) ++ target_sources(${outlib} PRIVATE "$") ++ get_target_property(link_libs ${lib} INTERFACE_LINK_LIBRARIES) ++ if(link_libs) ++ list(REMOVE_ITEM link_libs ${libs}) ++ target_link_libraries(${outlib} ${link_libs}) ++ endif() ++ endforeach() ++ return() + + if("${CMAKE_CFG_INTDIR}" STREQUAL ".") + set(multiconfig FALSE) diff --git a/ports/fmilib/minizip.patch b/ports/fmilib/minizip.patch new file mode 100644 index 00000000000000..abd3ec131892d2 --- /dev/null +++ b/ports/fmilib/minizip.patch @@ -0,0 +1,52 @@ +diff --git a/ThirdParty/Minizip/minizip/miniunz.c b/ThirdParty/Minizip/minizip/miniunz.c +index 1931161..d7a8be1 100644 +--- a/ThirdParty/Minizip/minizip/miniunz.c ++++ b/ThirdParty/Minizip/minizip/miniunz.c +@@ -45,6 +45,7 @@ + #include + #include + #include ++#include + #include + + #ifdef _WIN32 +@@ -107,7 +108,7 @@ void change_file_date(filename,dosdate,tmu_date) + SetFileTime(hFile,&ftm,&ftLastAcc,&ftm); + CloseHandle(hFile); + #else +-#ifdef unix || __APPLE__ ++#if defined(unix) || defined(__APPLE__) + struct utimbuf ut; + struct tm newdate; + newdate.tm_sec = tmu_date.tm_sec; +@@ -137,7 +138,7 @@ int mymkdir(dirname) + int ret=0; + #ifdef _WIN32 + ret = _mkdir(dirname); +-#elif unix ++#elif 1 + ret = mkdir (dirname,0775); + #elif __APPLE__ + ret = mkdir (dirname,0775); +diff --git a/ThirdParty/Minizip/minizip/minizip.c b/ThirdParty/Minizip/minizip/minizip.c +index e22f80d..548b6ca 100644 +--- a/ThirdParty/Minizip/minizip/minizip.c ++++ b/ThirdParty/Minizip/minizip/minizip.c +@@ -101,7 +101,7 @@ uLong filetime(f, tmzip, dt) + return ret; + } + #else +-#ifdef unix || __APPLE__ ++#if defined(unix) || defined(__APPLE__) + uLong filetime(f, tmzip, dt) + char *f; /* name of file to get info on */ + tm_zip *tmzip; /* return value: access, modific. and creation times */ +@@ -453,7 +453,7 @@ int minizip(argc,argv) + } + if( lastslash != NULL ) + { +- savefilenameinzip = lastslash+1; // base filename follows last slash. ++ savefilenameinzip = lastslash+1; + } + } + diff --git a/ports/fmilib/portfile.cmake b/ports/fmilib/portfile.cmake index 6164254aac5baa..7556110492e5cd 100644 --- a/ports/fmilib/portfile.cmake +++ b/ports/fmilib/portfile.cmake @@ -1,67 +1,56 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -vcpkg_download_distfile(ARCHIVE - URLS "https://jmodelica.org/fmil/FMILibrary-2.0.3-src.zip" - FILENAME "FMILibrary-2.0.3-src.zip" - SHA512 86e4b5019d8f2a76b01141411845d977fb3949617604de0b34351f23647e3e8b378477de184e1c4f2f59297bc4c7de3155e0edba9099b8924594a36b37b04cc8 -) - -vcpkg_extract_source_archive_ex( +vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} + REPO modelon-community/fmi-library + REF "${VERSION}" + SHA512 65c2dc11116737e4e2ee91a4ec58d2cf24003774fd6d9b8b1d6521f046be9e8f8a963ebedb50a161ad264927062f41ce757c84563cfe628d47614910e8730349 + HEAD_REF master PATCHES - 0001-remove-install-prefix.patch - 0002-include-sys-stat.h-for-mkdir.patch + devendor-sublibs.diff + minizip.patch + fix-mergestaticlibs.diff + unofficial-export.diff ) -# Note that if you have configured and built both static and shared library on Windows -# but want to link with the static library compile time define "FMILIB_BUILDING_LIBRARY" must be set. -if ((NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") AND VCPKG_LIBRARY_LINKAGE STREQUAL static) - SET(FMILIB_BUILDING_LIBRARY ON) -else() - SET(FMILIB_BUILDING_LIBRARY OFF) -endif() - -# Use static run-time libraries (/MT or /MTd code generation flags) -# This is only used when generating Microsoft Visual Studio solutions. If the options is on then the library will -# be built against static runtime, otherwise - dynamic runtime (/MD or /MDd). Make sure the client code is using -# matching runtime -if ((NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") AND VCPKG_CRT_LINKAGE STREQUAL static) - SET(FMILIB_BUILD_WITH_STATIC_RTLIB ON) -else() - SET(FMILIB_BUILD_WITH_STATIC_RTLIB OFF) -endif() - -# On LINUX position independent code (-fPIC) must be used on all files to be linked into a shared library (.so file). -# On other systems this is not needed (either is default or relocation is done). Set this option to OFF if you -# are building an application on Linux and use static library only -if ((VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux" OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin") AND VCPKG_LIBRARY_LINKAGE STREQUAL static) - SET(FMILIB_BUILD_FOR_SHARED_LIBS OFF) -else() - SET(FMILIB_BUILD_FOR_SHARED_LIBS ON) -endif() +file(GLOB vendored_minizip "${SOURCE_PATH}/ThirdParty/Minizip/minizip/*") +list(FILTER vendored_minizip EXCLUDE REGEX "/minizip.[ch]\$|/miniunz.[ch]\$") +file(REMOVE_RECURSE + ${vendored_minizip} + "${SOURCE_PATH}/ThirdParty/Expat" + "${SOURCE_PATH}/ThirdParty/Zlib" +) -# Only build the requested library -if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - SET(FMILIB_BUILD_STATIC_LIB ON) - SET(FMILIB_BUILD_SHARED_LIB OFF) -else() - SET(FMILIB_BUILD_STATIC_LIB OFF) - SET(FMILIB_BUILD_SHARED_LIB ON) -endif() +string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" FMILIB_BUILD_WITH_STATIC_RTLIB) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS + -Wno-dev -DFMILIB_BUILD_TESTS=OFF - -DFMILIB_BUILD_STATIC_LIB=${FMILIB_BUILD_STATIC_LIB} - -DFMILIB_BUILD_SHARED_LIB=${FMILIB_BUILD_SHARED_LIB} - -DFMILIB_BUILDING_LIBRARY=${FMILIB_BUILDING_LIBRARY} + -DFMILIB_BUILD_STATIC_LIB=${BUILD_STATIC} + -DFMILIB_BUILD_SHARED_LIB=${BUILD_SHARED} -DFMILIB_BUILD_WITH_STATIC_RTLIB=${FMILIB_BUILD_WITH_STATIC_RTLIB} + -DFMILIB_GENERATE_DOXYGEN_DOC=OFF + OPTIONS_DEBUG + "-DFMILIB_INSTALL_PREFIX=${CURRENT_PACKAGES_DIR}/debug" + OPTIONS_RELEASE + "-DFMILIB_INSTALL_PREFIX=${CURRENT_PACKAGES_DIR}" + MAYBE_UNUSED_VARIABLES + FMILIB_BUILD_WITH_STATIC_RTLIB ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(INSTALL ${SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/unofficial-fmilib-config.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/unofficial-fmilib") +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-fmilib) + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/doc" + "${CURRENT_PACKAGES_DIR}/doc" +) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.md") diff --git a/ports/fmilib/unofficial-export.diff b/ports/fmilib/unofficial-export.diff new file mode 100644 index 00000000000000..f621e18da9386e --- /dev/null +++ b/ports/fmilib/unofficial-export.diff @@ -0,0 +1,23 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 583e15b..0319e3a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -300,10 +300,17 @@ endif() + + file(COPY "${FMILIBRARYHOME}/Config.cmake/fmilib.h" DESTINATION "${FMILibrary_BINARY_DIR}") + ++target_include_directories(${FMILIB_TARGETS} INTERFACE $) + install(TARGETS ${FMILIB_TARGETS} ++ EXPORT unofficial-fmilib-targets + ARCHIVE DESTINATION lib + LIBRARY DESTINATION lib +- RUNTIME DESTINATION lib ++ RUNTIME DESTINATION bin ++) ++install(EXPORT unofficial-fmilib-targets ++ FILE unofficial-fmilib-targets.cmake ++ NAMESPACE unofficial::fmilib:: ++ DESTINATION share/unofficial-fmilib + ) + install(FILES + "${FMILIBRARYHOME}/FMILIB_Readme.txt" diff --git a/ports/fmilib/unofficial-fmilib-config.cmake b/ports/fmilib/unofficial-fmilib-config.cmake new file mode 100644 index 00000000000000..3ad246ef9ac006 --- /dev/null +++ b/ports/fmilib/unofficial-fmilib-config.cmake @@ -0,0 +1,4 @@ +include(CMakeFindDependencyMacro) +find_dependency(expat CONFIG) +find_dependency(unofficial-minizip CONFIG) +include("${CMAKE_CURRENT_LIST_DIR}/unofficial-fmilib-targets.cmake") diff --git a/ports/fmilib/vcpkg.json b/ports/fmilib/vcpkg.json index 6f0afd8aab9f9d..55a9744902b446 100644 --- a/ports/fmilib/vcpkg.json +++ b/ports/fmilib/vcpkg.json @@ -1,7 +1,21 @@ { "name": "fmilib", - "version-string": "2.0.3", - "port-version": 4, + "version": "2.4.1", + "port-version": 2, "description": "FMI library is intended as a foundation for applications interfacing FMUs (Functional Mockup Units) that follow FMI Standard. This version of the library supports FMI 1.0 and FMI2.0.", - "homepage": "https://www.fmi-standard.org/" + "homepage": "https://www.fmi-standard.org/", + "license": "BSD-3-Clause", + "supports": "!uwp", + "dependencies": [ + "expat", + "minizip", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } 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 39208f6fb544a2..66824ea20a0eba 100644 --- a/ports/fmt/portfile.cmake +++ b/ports/fmt/portfile.cmake @@ -1,11 +1,12 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO fmtlib/fmt - REF d141cdbeb0fb422a3fb7173b285fd38e0d1772dc # v8.0.1 - SHA512 1171f0305bed07497d2957b4053e8802030f448921c5bc1b066345dc1e77fbdb96d2c7f323452a32278ae4adb01e69e80b816119b0821e37d50980800e7406f8 + REF "${VERSION}" + SHA512 47ff6d289dcc22681eea6da465b0348172921e7cafff8fd57a1540d3232cc6b53250a4625c954ee0944c87963b17680ecbc3ea123e43c2c822efe0dc6fa6cef3 HEAD_REF master PATCHES fix-write-batch.patch + fix-pass-utf-8-only-if-the-compiler-is-MSVC-at-build.patch # remove in next release ) vcpkg_cmake_configure( @@ -17,49 +18,21 @@ vcpkg_cmake_configure( ) vcpkg_cmake_install() -file(INSTALL "${SOURCE_PATH}/LICENSE.rst" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) -if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - if(VCPKG_TARGET_IS_WINDOWS) - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/lib/fmtd.dll") - file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/bin") - file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/fmtd.dll" "${CURRENT_PACKAGES_DIR}/debug/bin/fmtd.dll") - endif() - endif() - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - if(EXISTS "${CURRENT_PACKAGES_DIR}/lib/fmt.dll") - file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/bin") - file(RENAME "${CURRENT_PACKAGES_DIR}/lib/fmt.dll" "${CURRENT_PACKAGES_DIR}/bin/fmt.dll") - endif() - endif() - endif() +vcpkg_cmake_config_fixup() +vcpkg_fixup_pkgconfig() +vcpkg_copy_pdbs() - vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/include/fmt/core.h +if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/fmt/base.h" "defined(FMT_SHARED)" "1" ) endif() -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -vcpkg_cmake_config_fixup() -vcpkg_fixup_pkgconfig() - -if(VCPKG_TARGET_IS_WINDOWS) - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/share/fmt/fmt-targets-debug.cmake - "lib/fmtd.dll" - "bin/fmtd.dll" - ) - endif() - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/share/fmt/fmt-targets-release.cmake - "lib/fmt.dll" - "bin/fmt.dll" - ) - endif() -endif() -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" +) -# Handle post-build CMake instructions -vcpkg_copy_pdbs() 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/fmt/vcpkg.json b/ports/fmt/vcpkg.json index 67e7d2041a63d0..f2610d46f162bf 100644 --- a/ports/fmt/vcpkg.json +++ b/ports/fmt/vcpkg.json @@ -1,8 +1,10 @@ { "name": "fmt", - "version-semver": "8.0.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": [ { "name": "vcpkg-cmake", diff --git a/ports/folly/FindLZ4.cmake b/ports/folly/FindLZ4.cmake deleted file mode 100644 index f80962c66e40ba..00000000000000 --- a/ports/folly/FindLZ4.cmake +++ /dev/null @@ -1,13 +0,0 @@ -find_path(LZ4_INCLUDE_DIR lz4.h) - -find_library(LZ4_LIBRARY_DEBUG NAMES lz4d) -find_library(LZ4_LIBRARY_RELEASE NAMES lz4) - -include(SelectLibraryConfigurations) -select_library_configurations(LZ4) - -include(FindPackageHandleStandardArgs) -FIND_PACKAGE_HANDLE_STANDARD_ARGS( - LZ4 DEFAULT_MSG - LZ4_LIBRARY LZ4_INCLUDE_DIR -) diff --git a/ports/folly/FindSnappy.cmake b/ports/folly/FindSnappy.cmake deleted file mode 100644 index 253d0d84cf2571..00000000000000 --- a/ports/folly/FindSnappy.cmake +++ /dev/null @@ -1,13 +0,0 @@ -find_path(SNAPPY_INCLUDE_DIR snappy.h) - -find_library(SNAPPY_LIBRARY_DEBUG NAMES snappyd) -find_library(SNAPPY_LIBRARY_RELEASE NAMES snappy) - -include(SelectLibraryConfigurations) -select_library_configurations(SNAPPY) - -include(FindPackageHandleStandardArgs) -FIND_PACKAGE_HANDLE_STANDARD_ARGS( - SNAPPY DEFAULT_MSG - SNAPPY_LIBRARY SNAPPY_INCLUDE_DIR -) 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-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-deps.patch b/ports/folly/fix-deps.patch new file mode 100644 index 00000000000000..c1eb61336690a6 --- /dev/null +++ b/ports/folly/fix-deps.patch @@ -0,0 +1,227 @@ +diff --git a/CMake/folly-config.cmake.in b/CMake/folly-config.cmake.in +index 0b96f0a..34f5b53 100644 +--- a/CMake/folly-config.cmake.in ++++ b/CMake/folly-config.cmake.in +@@ -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() ++if (@CMAKE_REQUIRE_FIND_PACKAGE_ZLIB@) ++ find_dependency(ZLIB MODULE) ++endif() ++find_dependency(OpenSSL MODULE) ++if (NOT @CMAKE_DISABLE_FIND_PACKAGE_unofficial-sodium@) ++ find_dependency(unofficial-sodium CONFIG) ++endif() ++if (NOT @CMAKE_DISABLE_FIND_PACKAGE_Snappy@) ++ find_dependency(Snappy CONFIG) ++endif() ++if (NOT @CMAKE_DISABLE_FIND_PACKAGE_LZ4@) ++ find_dependency(lz4 CONFIG) ++endif() + + set(Boost_USE_STATIC_LIBS "@FOLLY_BOOST_LINK_STATIC@") +-find_dependency(Boost 1.51.0 MODULE ++find_dependency(Boost + COMPONENTS + context + filesystem +diff --git a/CMake/folly-deps.cmake b/CMake/folly-deps.cmake +index 6ce4c67..701bb55 100644 +--- a/CMake/folly-deps.cmake ++++ b/CMake/folly-deps.cmake +@@ -35,7 +35,7 @@ else() + endif() + set(Boost_USE_STATIC_LIBS "${FOLLY_BOOST_LINK_STATIC}") + +-find_package(Boost 1.51.0 MODULE ++find_package(Boost + COMPONENTS + context + filesystem +@@ -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) + 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(FastFloat MODULE REQUIRED) +-list(APPEND FOLLY_INCLUDE_DIRECTORIES ${FASTFLOAT_INCLUDE_DIR}) +- +-find_package(Gflags MODULE) +-set(FOLLY_HAVE_LIBGFLAGS ${LIBGFLAGS_FOUND}) +-if(LIBGFLAGS_FOUND) +- list(APPEND FOLLY_LINK_LIBRARIES ${LIBGFLAGS_LIBRARY}) +- list(APPEND FOLLY_INCLUDE_DIRECTORIES ${LIBGFLAGS_INCLUDE_DIR}) +- 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) ++ list(APPEND FOLLY_LINK_LIBRARIES gflags::gflags) ++ 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}) ++find_package(Libevent CONFIG REQUIRED) ++list(APPEND FOLLY_LINK_LIBRARIES libevent::core libevent::extra) ++if(NOT WIN32) ++ list(APPEND FOLLY_LINK_LIBRARIES libevent::pthreads) ++endif() + +-find_package(ZLIB MODULE) +-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}) ++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() + endif() + + find_package(OpenSSL 1.1.1 MODULE REQUIRED) +@@ -106,25 +107,29 @@ if (LIBLZMA_FOUND) + list(APPEND FOLLY_LINK_LIBRARIES ${LIBLZMA_LIBRARIES}) + endif() + +-find_package(LZ4 MODULE) +-set(FOLLY_HAVE_LIBLZ4 ${LZ4_FOUND}) +-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) ++ find_package(lz4 CONFIG) ++ if(TARGET lz4::lz4) ++ list(APPEND FOLLY_LINK_LIBRARIES lz4::lz4) ++ endif() + endif() + +-find_package(Zstd MODULE) +-set(FOLLY_HAVE_LIBZSTD ${ZSTD_FOUND}) +-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() + endif() + +-find_package(Snappy MODULE) +-set(FOLLY_HAVE_LIBSNAPPY ${SNAPPY_FOUND}) +-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() + endif() + + find_package(LibDwarf) +@@ -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}) ++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() ++endif() + + list(APPEND FOLLY_LINK_LIBRARIES ${CMAKE_DL_LIBS}) + list(APPEND CMAKE_REQUIRED_LIBRARIES ${CMAKE_DL_LIBS}) +@@ -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}) + endif() + if (CMAKE_SYSTEM_NAME MATCHES "FreeBSD") + list(APPEND FOLLY_LINK_LIBRARIES "execinfo") +@@ -310,11 +322,7 @@ endif() + + add_library(folly_deps INTERFACE) + +-find_package(fmt CONFIG) +-if (NOT DEFINED fmt_CONFIG) +- # Fallback on a normal search on the current system +- find_package(Fmt MODULE REQUIRED) +-endif() ++find_package(fmt CONFIG REQUIRED) + target_link_libraries(folly_deps INTERFACE fmt::fmt) + + list(REMOVE_DUPLICATES FOLLY_INCLUDE_DIRECTORIES) 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/portfile.cmake b/ports/folly/portfile.cmake index 0d195a0552a1ce..5b9a6be60f5ee2 100644 --- a/ports/folly/portfile.cmake +++ b/ports/folly/portfile.cmake @@ -1,9 +1,3 @@ -if (VCPKG_TARGET_IS_WINDOWS) - vcpkg_fail_port_install(ON_TARGET "UWP" ON_ARCH "x86" "arm" "arm64") -else() - vcpkg_fail_port_install(ON_ARCH "x86" "arm") -endif() - vcpkg_check_linkage(ONLY_STATIC_LIBRARY) # Required to run build/generate_escape_tables.py et al. @@ -14,22 +8,31 @@ vcpkg_add_to_path("${PYTHON3_DIR}") vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO facebook/folly - REF v2021.06.14.00 - SHA512 aee5adc1a44d9b193f3f41b5fc9fa7575c677d8bf27ed3a3b612a2fbe53505f82481ce78f13fb41ae3ca81ca25446426fbdfdc578f503f919b4af5abe56ad71c + REF "v${VERSION}" + SHA512 e81e9862682e75703d7a5bf55e423386879503e4bed96d332a0844b87147e55976c980a602366b4aeade8911eba1f1db243293666ef005832e89d7f37a494b1e 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 + disable-uninitialized-resize-on-new-stl.patch + fix-unistd-include.patch + fix-libunwind.patch ) -file(COPY - ${CMAKE_CURRENT_LIST_DIR}/FindLZ4.cmake - ${CMAKE_CURRENT_LIST_DIR}/FindSnappy.cmake - DESTINATION ${SOURCE_PATH}/CMake/ -) -file(REMOVE ${SOURCE_PATH}/CMake/FindGFlags.cmake) +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") +file(REMOVE "${SOURCE_PATH}/CMake/FindSnappy.cmake") +file(REMOVE "${SOURCE_PATH}/CMake/FindLZ4.cmake") +file(REMOVE "${SOURCE_PATH}/build/fbcode_builder/CMake/FindDoubleConversion.cmake") +file(REMOVE "${SOURCE_PATH}/build/fbcode_builder/CMake/FindGMock.cmake") +file(REMOVE "${SOURCE_PATH}/build/fbcode_builder/CMake/FindGflags.cmake") +file(REMOVE "${SOURCE_PATH}/build/fbcode_builder/CMake/FindGlog.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") if(VCPKG_CRT_LINKAGE STREQUAL static) set(MSVC_USE_STATIC_RUNTIME ON) @@ -37,65 +40,52 @@ else() set(MSVC_USE_STATIC_RUNTIME OFF) endif() -set(FEATURE_OPTIONS) - -macro(feature FEATURENAME PACKAGENAME) - if("${FEATURENAME}" IN_LIST FEATURES) - list(APPEND FEATURE_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_${PACKAGENAME}=OFF) - else() - list(APPEND FEATURE_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_${PACKAGENAME}=ON) - endif() -endmacro() - -feature(zlib ZLIB) -feature(bzip2 BZip2) -feature(lzma LibLZMA) -feature(lz4 LZ4) -feature(zstd Zstd) -feature(snappy Snappy) +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 + "lz4" CMAKE_DISABLE_FIND_PACKAGE_LZ4 + "zstd" CMAKE_DISABLE_FIND_PACKAGE_Zstd + "snappy" CMAKE_DISABLE_FIND_PACKAGE_Snappy + "libsodium" CMAKE_DISABLE_FIND_PACKAGE_unofficial-sodium +) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -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 - -DLIBURCU_FOUND=OFF - -DCMAKE_DISABLE_FIND_PACKAGE_LibURCU=ON -DCMAKE_INSTALL_DIR=share/folly ${FEATURE_OPTIONS} + MAYBE_UNUSED_VARIABLES + MSVC_USE_STATIC_RUNTIME ) -vcpkg_install_cmake(ADD_BIN_TO_PATH) +vcpkg_cmake_install(ADD_BIN_TO_PATH) vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets() +configure_file("${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" "${CURRENT_PACKAGES_DIR}/share/${PORT}/vcpkg-cmake-wrapper.cmake" @ONLY) + +vcpkg_cmake_config_fixup() # Release folly-targets.cmake does not link to the right libraries in debug mode. # We substitute with generator expressions so that the right libraries are linked for debug and release. set(FOLLY_TARGETS_CMAKE "${CURRENT_PACKAGES_DIR}/share/folly/folly-targets.cmake") FILE(READ ${FOLLY_TARGETS_CMAKE} _contents) -string(REPLACE "\${_IMPORT_PREFIX}/lib/zlib.lib" "ZLIB::ZLIB" _contents "${_contents}") -STRING(REPLACE "\${_IMPORT_PREFIX}/lib/" "\${_IMPORT_PREFIX}/\$<\$:debug/>lib/" _contents "${_contents}") -STRING(REPLACE "\${_IMPORT_PREFIX}/debug/lib/" "\${_IMPORT_PREFIX}/\$<\$:debug/>lib/" _contents "${_contents}") +string(REPLACE "\${VCPKG_IMPORT_PREFIX}/lib/zlib.lib" "ZLIB::ZLIB" _contents "${_contents}") +STRING(REPLACE "\${VCPKG_IMPORT_PREFIX}/lib/" "\${VCPKG_IMPORT_PREFIX}/\$<\$:debug/>lib/" _contents "${_contents}") +STRING(REPLACE "\${VCPKG_IMPORT_PREFIX}/debug/lib/" "\${VCPKG_IMPORT_PREFIX}/\$<\$:debug/>lib/" _contents "${_contents}") string(REPLACE "-vc140-mt.lib" "-vc140-mt\$<\$:-gd>.lib" _contents "${_contents}") FILE(WRITE ${FOLLY_TARGETS_CMAKE} "${_contents}") -FILE(READ ${CURRENT_PACKAGES_DIR}/share/folly/folly-config.cmake _contents) -FILE(WRITE ${CURRENT_PACKAGES_DIR}/share/folly/folly-config.cmake -"include(CMakeFindDependencyMacro) -find_dependency(Threads) -find_dependency(glog CONFIG) -find_dependency(gflags CONFIG REQUIRED) -find_dependency(ZLIB) -${_contents}") -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +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") vcpkg_fixup_pkgconfig() 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-cmake-wrapper.cmake b/ports/folly/vcpkg-cmake-wrapper.cmake new file mode 100644 index 00000000000000..cce45a2e43e66e --- /dev/null +++ b/ports/folly/vcpkg-cmake-wrapper.cmake @@ -0,0 +1,6 @@ +set(FOLLY_PREV_MODULE_PATH ${CMAKE_MODULE_PATH}) +list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}) + +_find_package(${ARGS}) + +set(CMAKE_MODULE_PATH ${FOLLY_PREV_MODULE_PATH}) \ No newline at end of file diff --git a/ports/folly/vcpkg.json b/ports/folly/vcpkg.json index 64d892bf556549..06333a603fc539 100644 --- a/ports/folly/vcpkg.json +++ b/ports/folly/vcpkg.json @@ -1,10 +1,11 @@ { "name": "folly", - "version-string": "2021.06.14.00", - "port-version": 3, + "version-string": "2024.11.04.00", + "port-version": 1, "description": "An open-source C++ library developed and used at Facebook. The library is UNSTABLE on Windows", "homepage": "https://github.com/facebook/folly", - "supports": "x64 | (arm64 & !windows)", + "license": "Apache-2.0", + "supports": "(windows & x64 & !uwp & !mingw) | (!windows & (x64 | arm64))", "dependencies": [ "boost-chrono", "boost-context", @@ -18,12 +19,27 @@ "boost-smart-ptr", "boost-system", "boost-thread", + "boost-variant", "double-conversion", + "fast-float", "fmt", "gflags", "glog", "libevent", - "openssl" + "liblzma", + { + "name": "libunwind", + "platform": "linux" + }, + "openssl", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ], "default-features": [ "zlib" @@ -35,6 +51,26 @@ "bzip2" ] }, + "libaio": { + "description": "Support compile with libaio", + "supports": "linux", + "dependencies": [ + "libaio" + ] + }, + "libsodium": { + "description": "Support libsodium for cryto", + "dependencies": [ + "libsodium" + ] + }, + "liburing": { + "description": "Support compile with liburing", + "supports": "linux", + "dependencies": [ + "liburing" + ] + }, "lz4": { "description": "Support lz4 for compression", "dependencies": [ diff --git a/ports/font-util/build.patch b/ports/font-util/build.patch new file mode 100644 index 00000000000000..72fa5fa6567eee --- /dev/null +++ b/ports/font-util/build.patch @@ -0,0 +1,33 @@ +diff --git a/bdftruncate.c b/bdftruncate.c +index 2b317c0b0..3ab84978f 100644 +--- a/bdftruncate.c ++++ b/bdftruncate.c +@@ -40,7 +40,13 @@ + #include + #include + #include +- ++#if defined(_MSC_VER) ++# if defined(_M_X64) || defined(_M_ARM64) ++# define SSIZE_MAX LLONG_MAX ++# else ++# define SSIZE_MAX LONG_MAX ++# endif ++#endif + #if (defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 205)) \ + || (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590)) + # define ATTR_NORETURN __attribute((noreturn)) +diff --git a/ucs2any.c b/ucs2any.c +index 1f575d14f..75b662b3d 100644 +--- a/ucs2any.c ++++ b/ucs2any.c +@@ -49,7 +49,9 @@ + #include + #include + #include ++#ifdef HAVE_UNISTD_H + #include ++#endif + + /* global variable for argv[0] */ + static const char *my_name = NULL; diff --git a/ports/font-util/portfile.cmake b/ports/font-util/portfile.cmake new file mode 100644 index 00000000000000..c4a84b976369d4 --- /dev/null +++ b/ports/font-util/portfile.cmake @@ -0,0 +1,57 @@ +set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) + +if(NOT X_VCPKG_FORCE_VCPKG_X_LIBRARIES AND NOT VCPKG_TARGET_IS_WINDOWS) + message(STATUS "Utils and libraries provided by '${PORT}' should be provided by your system! Install the required packages or force vcpkg libraries by setting X_VCPKG_FORCE_VCPKG_X_LIBRARIES in your triplet!") + set(VCPKG_POLICY_EMPTY_PACKAGE enabled) +else() + +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.freedesktop.org/xorg + OUT_SOURCE_PATH SOURCE_PATH + REPO font/util + REF "font-util-${VERSION}" + SHA512 93285c2e8c5c01f069a7621dba0bbb1175c0ebbea27d521395b40f036443c162fc1948c4d3cb34fe6c509d1818d95ed7e6d38919e3f7857dfa53e388aadb9128 + HEAD_REF master + PATCHES build.patch +) + +set(ENV{ACLOCAL} "aclocal -I \"${CURRENT_INSTALLED_DIR}/share/xorg/aclocal/\"") + +if(VCPKG_TARGET_IS_WINDOWS) + list(APPEND VCPKG_C_FLAGS " /DNEED_BASENAME") + list(APPEND VCPKG_CXX_FLAGS " /DNEED_BASENAME") +endif() + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG +) + +vcpkg_install_make() +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/share/xorg/") +file(RENAME "${CURRENT_PACKAGES_DIR}/share/${PORT}/aclocal/" "${CURRENT_PACKAGES_DIR}/share/xorg/aclocal") +file(RENAME "${CURRENT_PACKAGES_DIR}/share/${PORT}/fonts/" "${CURRENT_PACKAGES_DIR}/share/xorg/fonts") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/debug") + +set(_file "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/fontutil.pc") +file(READ "${_file}" _contents) +string(REPLACE "datarootdir=\${prefix}/share/${PORT}" "datarootdir=\${prefix}/share/xorg" _contents "${_contents}") +string(REPLACE "exec_prefix=\${prefix}" "exec_prefix=\${prefix}/tools/${PORT}" _contents "${_contents}") +file(WRITE "${_file}" "${_contents}") + +if(NOT VCPKG_BUILD_TYPE) + set(_file "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/fontutil.pc") + file(READ "${_file}" _contents) + string(REPLACE "datarootdir=\${prefix}/share/${PORT}" "datarootdir=\${prefix}/../share/xorg" _contents "${_contents}") + string(REPLACE "exec_prefix=\${prefix}" "exec_prefix=\${prefix}/../tools/${PORT}" _contents "${_contents}") + file(WRITE "${_file}" "${_contents}") +endif() +# Handle copyright +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME "copyright") +endif() diff --git a/ports/font-util/vcpkg.json b/ports/font-util/vcpkg.json new file mode 100644 index 00000000000000..0adc619d35d93e --- /dev/null +++ b/ports/font-util/vcpkg.json @@ -0,0 +1,10 @@ +{ + "name": "font-util", + "version": "1.4.1", + "description": "X.Org font package creation/installation utilities", + "homepage": "https://gitlab.freedesktop.org/xorg/font/util", + "license": null, + "dependencies": [ + "xorg-macros" + ] +} 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 new file mode 100644 index 00000000000000..db430165e9b843 --- /dev/null +++ b/ports/fontconfig/libgetopt.patch @@ -0,0 +1,130 @@ +diff --git a/fc-cache/meson.build b/fc-cache/meson.build +index 5e40fac..3c3e46b 100644 +--- a/fc-cache/meson.build ++++ b/fc-cache/meson.build +@@ -1,6 +1,7 @@ + fccache = executable('fc-cache', ['fc-cache.c', fcstdint_h, alias_headers, ft_alias_headers], + include_directories: [incbase, incsrc], + link_with: [libfontconfig], ++ dependencies: [getopt_dep], + c_args: c_args, + install: true, + ) +diff --git a/fc-cat/meson.build b/fc-cat/meson.build +index f26e4b8..476c0f9 100644 +--- a/fc-cat/meson.build ++++ b/fc-cat/meson.build +@@ -1,6 +1,7 @@ + fccat = executable('fc-cat', ['fc-cat.c', fcstdint_h, alias_headers, ft_alias_headers], + include_directories: [incbase, incsrc], + link_with: [libfontconfig], ++ dependencies: [getopt_dep], + c_args: c_args, + install: true, + ) +diff --git a/fc-conflist/meson.build b/fc-conflist/meson.build +index f543cf9..f06640b 100644 +--- a/fc-conflist/meson.build ++++ b/fc-conflist/meson.build +@@ -1,6 +1,7 @@ + fcconflist = executable('fc-conflist', ['fc-conflist.c', fcstdint_h, alias_headers, ft_alias_headers], + include_directories: [incbase, incsrc], + link_with: [libfontconfig], ++ dependencies: [getopt_dep], + c_args: c_args, + install: true, + ) +diff --git a/fc-list/meson.build b/fc-list/meson.build +index 2f679d5..4b0fb62 100644 +--- a/fc-list/meson.build ++++ b/fc-list/meson.build +@@ -1,6 +1,7 @@ + fclist = executable('fc-list', ['fc-list.c', fcstdint_h, alias_headers, ft_alias_headers], + include_directories: [incbase, incsrc], + link_with: [libfontconfig], ++ dependencies: [getopt_dep], + c_args: c_args, + install: true, + ) +diff --git a/fc-match/meson.build b/fc-match/meson.build +index aca8bc8..cab4f09 100644 +--- a/fc-match/meson.build ++++ b/fc-match/meson.build +@@ -1,6 +1,7 @@ + fcmatch = executable('fc-match', ['fc-match.c', fcstdint_h, alias_headers, ft_alias_headers], + include_directories: [incbase, incsrc], + link_with: [libfontconfig], ++ dependencies: [getopt_dep], + c_args: c_args, + install: true, + ) +diff --git a/fc-pattern/meson.build b/fc-pattern/meson.build +index 07de245..b957c67 100644 +--- a/fc-pattern/meson.build ++++ b/fc-pattern/meson.build +@@ -1,6 +1,7 @@ + fcpattern = executable('fc-pattern', ['fc-pattern.c', fcstdint_h, alias_headers, ft_alias_headers], + include_directories: [incbase, incsrc], + link_with: [libfontconfig], ++ dependencies: [getopt_dep], + c_args: c_args, + install: true, + ) +diff --git a/fc-query/meson.build b/fc-query/meson.build +index d0f2dd4..940b021 100644 +--- a/fc-query/meson.build ++++ b/fc-query/meson.build +@@ -1,7 +1,7 @@ + fcquery = executable('fc-query', ['fc-query.c', fcstdint_h, alias_headers, ft_alias_headers], + include_directories: [incbase, incsrc], + link_with: [libfontconfig], +- dependencies: [freetype_dep], ++ dependencies: [freetype_dep, getopt_dep], + c_args: c_args, + install: true, + ) +diff --git a/fc-scan/meson.build b/fc-scan/meson.build +index 4de2134..c5b2b67 100644 +--- a/fc-scan/meson.build ++++ b/fc-scan/meson.build +@@ -1,7 +1,7 @@ + fcscan = executable('fc-scan', ['fc-scan.c', fcstdint_h, alias_headers, ft_alias_headers], + include_directories: [incbase, incsrc], + link_with: [libfontconfig], +- dependencies: [freetype_dep], ++ dependencies: [freetype_dep, getopt_dep], + c_args: c_args, + install: true, + ) +diff --git a/fc-validate/meson.build b/fc-validate/meson.build +index e2b956e..8902d59 100644 +--- a/fc-validate/meson.build ++++ b/fc-validate/meson.build +@@ -1,7 +1,7 @@ + fcvalidate = executable('fc-validate', ['fc-validate.c', fcstdint_h, alias_headers, ft_alias_headers], + include_directories: [incbase, incsrc], + link_with: [libfontconfig], +- dependencies: [freetype_dep], ++ dependencies: [freetype_dep, getopt_dep], + c_args: c_args, + install: true, + ) +diff --git a/meson.build b/meson.build +index f616600..6d82a16 100644 +--- a/meson.build ++++ b/meson.build +@@ -202,6 +202,14 @@ if cc.links(files('meson-cc-tests/solaris-atomic-operations.c'), name: 'Solaris + conf.set('HAVE_SOLARIS_ATOMIC_OPS', 1) + endif + ++if host_machine.system() == 'windows' ++ conf.set('HAVE_GETOPT', 1) ++ conf.set('HAVE_GETOPT_LONG', 1) ++ getopt_dep = cc.find_library('getopt', required: false) ++else ++ getopt_dep = dependency('', required: false) ++endif ++ + + # Check iconv support + iconv_dep = [] diff --git a/ports/fontconfig/no-etc-symlinks.patch b/ports/fontconfig/no-etc-symlinks.patch new file mode 100644 index 00000000000000..774640ca0d3857 --- /dev/null +++ b/ports/fontconfig/no-etc-symlinks.patch @@ -0,0 +1,19 @@ +--- a/conf.d/link_confs.py 2022-03-24 04:13:59.000982000 +0900 ++++ b/conf.d/link_confs.py 2022-03-24 04:14:46.271964000 +0900 +@@ -4,6 +4,7 @@ + import sys + import argparse + import platform ++import shutil + from pathlib import PurePath + + if __name__=='__main__': +@@ -32,7 +33,7 @@ + except FileNotFoundError: + pass + try: +- os.symlink(os.path.relpath(src, start=args.confpath), dst) ++ shutil.copyfile(src, dst) + except NotImplementedError: + # Not supported on this version of Windows + break diff --git a/ports/fontconfig/portfile.cmake b/ports/fontconfig/portfile.cmake index 78cb81111b2c47..9cf2635b8f9d0e 100644 --- a/ports/fontconfig/portfile.cmake +++ b/ports/fontconfig/portfile.cmake @@ -1,28 +1,52 @@ -set(FONTCONFIG_VERSION 2.13.94) - vcpkg_from_gitlab( GITLAB_URL https://gitlab.freedesktop.org OUT_SOURCE_PATH SOURCE_PATH REPO fontconfig/fontconfig - REF ${FONTCONFIG_VERSION} - SHA512 815f999146970c7f0e6c15a21f218d4b3f75b26d4ef14d36711bc0a1de19e59cc62d6a2c53993dd38b963ae30820c4db29f103380d5001886d55b6a7df361154 + REF ${VERSION} + SHA512 daa6d1e6058e12c694d9e1512e09be957ff7f3fa375246b9d13eb0a8cf2f21e1512a5cabe93f270e96790e2c20420bf7422d213e43ab9749da3255286ea65a7c HEAD_REF master + PATCHES + no-etc-symlinks.patch + libgetopt.patch + fix-wasm-shared-memory-atomics.patch +) + +vcpkg_add_to_path(PREPEND "${CURRENT_HOST_INSTALLED_DIR}/tools/gperf") + +vcpkg_configure_meson( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -Ddoc=disabled + -Dcache-build=disabled + -Diconv=enabled + -Dtests=disabled ) -vcpkg_find_acquire_program(GPERF) -get_filename_component(GPERF_PATH ${GPERF} DIRECTORY) -vcpkg_add_to_path(${GPERF_PATH}) +# https://www.freedesktop.org/software/fontconfig/fontconfig-user.html +# Adding OPTIONS for e.g. baseconfig-dir etc. won't work since meson will try to install into those dirs! +# Since adding OPTIONS does not work use a replacement in the generated config.h instead +set(replacement "") +if(VCPKG_TARGET_IS_WINDOWS) + set(replacement "**invalid-fontconfig-dir-do-not-use**") +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\"" 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\"" IGNORE_UNCHANGED) +endif() -vcpkg_configure_meson(SOURCE_PATH ${SOURCE_PATH}) vcpkg_install_meson(ADD_BIN_TO_PATH) vcpkg_copy_pdbs() #Fix missing libintl static dependency -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/fontconfig.pc" "-liconv" "-liconv -lintl") +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/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() @@ -38,23 +62,20 @@ endif() # Make path to cache in fonts.conf relative set(_file "${CURRENT_PACKAGES_DIR}/etc/fonts/fonts.conf") if(EXISTS "${_file}") - file(READ "${_file}" _contents) - string(REPLACE "${CURRENT_INSTALLED_DIR}/var/cache/fontconfig" "./../../var/cache/fontconfig" _contents "${_contents}") - string(REPLACE "/var" "/../var" _contents "${_contents}") - file(WRITE "${_file}" "${_contents}") + vcpkg_replace_string("${_file}" "${CURRENT_PACKAGES_DIR}/var/cache/fontconfig" "./../../var/cache/fontconfig" IGNORE_UNCHANGED) endif() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/var" "${CURRENT_PACKAGES_DIR}/debug/share" "${CURRENT_PACKAGES_DIR}/debug/etc") -if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") if(VCPKG_TARGET_IS_WINDOWS) set(DEFINE_FC_PUBLIC "#define FcPublic __declspec(dllimport)") else() set(DEFINE_FC_PUBLIC "#define FcPublic __attribute__((visibility(\"default\")))") endif() - foreach(HEADER fcfreetype.h fontconfig.h) + foreach(HEADER IN ITEMS fcfreetype.h fontconfig.h) vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/fontconfig/${HEADER}" "#define FcPublic" "${DEFINE_FC_PUBLIC}" @@ -62,29 +83,11 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) endforeach() endif() -file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) - - -# Build the fontconfig cache -if(NOT VCPKG_TARGET_IS_WINDOWS) - set(ENV{FONTCONFIG_PATH} "${CURRENT_PACKAGES_DIR}/etc/fonts") - set(ENV{FONTCONFIG_FILE} "${CURRENT_PACKAGES_DIR}/etc/fonts/fonts.conf") - vcpkg_execute_required_process(COMMAND "${CURRENT_PACKAGES_DIR}/bin/fc-cache${VCPKG_TARGET_EXECUTABLE_SUFFIX}" --verbose - WORKING_DIRECTORY "${CURRENT_PACKAGES_DIR}/bin" - LOGNAME fc-cache-${TARGET_TRIPLET}) -endif() - -if(VCPKG_TARGET_IS_WINDOWS) - # Unnecessary make rule creating the fontconfig cache dir on windows. - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}LOCAL_APPDATA_FONTCONFIG_CACHE") -endif() - -if(NOT VCPKG_TARGET_IS_LINUX) - set(VCPKG_TARGET_IS_LINUX 0) # To not leave empty AND statements in the wrapper -endif() -configure_file("${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake.in" "${CURRENT_PACKAGES_DIR}/share/${PORT}/vcpkg-cmake-wrapper.cmake" @ONLY) - 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 ) + +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) diff --git a/ports/fontconfig/usage b/ports/fontconfig/usage new file mode 100644 index 00000000000000..9d14caf70de12d --- /dev/null +++ b/ports/fontconfig/usage @@ -0,0 +1,4 @@ +fontconfig is compatible with built-in CMake targets: + + find_package(Fontconfig REQUIRED) # since CMake 3.14 + target_link_libraries(main PRIVATE Fontconfig::Fontconfig) diff --git a/ports/fontconfig/vcpkg-cmake-wrapper.cmake.in b/ports/fontconfig/vcpkg-cmake-wrapper.cmake.in index ab2b5679b681e1..5e1a2d99b26820 100644 --- a/ports/fontconfig/vcpkg-cmake-wrapper.cmake.in +++ b/ports/fontconfig/vcpkg-cmake-wrapper.cmake.in @@ -1,46 +1,51 @@ _find_package(${ARGS}) if(Fontconfig_FOUND) # theoretically this could be skipped. If the wrapper is installed it should be found! + if(NOT TARGET Fontconfig::Fontconfig) + # Simplify wrapper for case of vendored FindFontconfig.cmake + add_library(Fontconfig::Fontconfig UNKNOWN IMPORTED) + endif() + include(SelectLibraryConfigurations) + find_library(Fontconfig_LIBRARY_DEBUG NAMES fontconfig fontconfigd NAMES_PER_DIR PATH_SUFFIXES lib PATHS "${_INSTALLED_DIR}/debug" NO_DEFAULT_PATH) + find_library(Fontconfig_LIBRARY_RELEASE NAMES fontconfig NAMES_PER_DIR PATH_SUFFIXES lib PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}" NO_DEFAULT_PATH) + select_library_configurations(Fontconfig) + set_target_properties(Fontconfig::Fontconfig PROPERTIES + IMPORTED_CONFIGURATIONS "Release" + IMPORTED_LOCATION_RELEASE "${Fontconfig_LIBRARY_RELEASE}" + ) + if(Fontconfig_LIBRARY_DEBUG) + set_property(TARGET Fontconfig::Fontconfig APPEND PROPERTY IMPORTED_CONFIGURATIONS "Debug") + set_target_properties(Fontconfig::Fontconfig PROPERTIES IMPORTED_LOCATION_DEBUG "${Fontconfig_LIBRARY_DEBUG}") + endif() find_package(Freetype) - if(Freetype_FOUND AND TARGET Fontconfig::Fontconfig) + if(Freetype_FOUND) + list(APPEND Fontconfig_LIBRARIES "${FREETYPE_LIBRARIES}") if(TARGET Freetype::Freetype) - set_property(TARGET Fontconfig::Fontconfig APPEND PROPERTY INTERFACE_LINK_LIBRARIES "Freetype::Freetype") + set_property(TARGET Fontconfig::Fontconfig APPEND PROPERTY INTERFACE_LINK_LIBRARIES "\$") else() - # TODO link Freetype libraries to the target if the target Freetype::Freetype is not defined; + # TODO link FREETYPE_LIBRARIES transformed for $. endif() endif() - if(FREETYPE_LIBRARIES) - list(APPEND Fontconfig_LIBRARIES "${FREETYPE_LIBRARIES}") - endif() find_package(EXPAT) - if(EXPAT_FOUND AND TARGET Fontconfig::Fontconfig) - set_property(TARGET Fontconfig::Fontconfig APPEND PROPERTY INTERFACE_LINK_LIBRARIES "EXPAT::EXPAT") - endif() - if(EXPAT_LIBRARIES) + if(EXPAT_FOUND) list(APPEND Fontconfig_LIBRARIES "${EXPAT_LIBRARIES}") + if(TARGET EXPAT::EXPAT) + set_property(TARGET Fontconfig::Fontconfig APPEND PROPERTY INTERFACE_LINK_LIBRARIES "\$") + else() + # TODO link EXPAT_LIBRARIES transformed for $. + endif() endif() - include(SelectLibraryConfigurations) - find_library(Fontconfig_LIBRARY_DEBUG NAMES fontconfig fontconfigd NAMES_PER_DIR PATH_SUFFIXES lib PATHS "${_INSTALLED_DIR}/debug" NO_DEFAULT_PATH) - find_library(Fontconfig_LIBRARY_RELEASE NAMES fontconfig NAMES_PER_DIR PATH_SUFFIXES lib PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}" NO_DEFAULT_PATH) - select_library_configurations(Fontconfig) - if(@VCPKG_TARGET_IS_LINUX@) + if("@VCPKG_TARGET_IS_LINUX@") find_library(UUID_LIBRARY_DEBUG NAMES uuid uuidd uuid_d NAMES_PER_DIR PATH_SUFFIXES lib PATHS "${_INSTALLED_DIR}/debug" NO_DEFAULT_PATH) find_library(UUID_LIBRARY_RELEASE NAMES uuid NAMES_PER_DIR PATH_SUFFIXES lib PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}" NO_DEFAULT_PATH) select_library_configurations(UUID) - endif() - if(Fontconfig_LIBRARY_DEBUG AND TARGET Fontconfig::Fontconfig) - set_target_properties(Fontconfig::Fontconfig PROPERTIES IMPORTED_LOCATION_DEBUG "${Fontconfig_LIBRARY_DEBUG}") - if(UUID_LIBRARY_DEBUG AND @VCPKG_TARGET_IS_LINUX@) - set_property(TARGET Fontconfig::Fontconfig APPEND PROPERTY INTERFACE_LINK_LIBRARIES "$<$:${UUID_LIBRARY_DEBUG}>") + if(UUID_LIBRARIES) + list(APPEND Fontconfig_LIBRARIES "${UUID_LIBRARIES}") + if(UUID_LIBRARY_DEBUG) + set_property(TARGET Fontconfig::Fontconfig APPEND PROPERTY INTERFACE_LINK_LIBRARIES "$<$>:${UUID_LIBRARY_RELEASE}>") + set_property(TARGET Fontconfig::Fontconfig APPEND PROPERTY INTERFACE_LINK_LIBRARIES "$<$:${UUID_LIBRARY_DEBUG}>") + else() + set_property(TARGET Fontconfig::Fontconfig APPEND PROPERTY INTERFACE_LINK_LIBRARIES "${UUID_LIBRARY_RELEASE}") + endif() endif() endif() - if(Fontconfig_LIBRARY_RELEASE AND TARGET Fontconfig::Fontconfig) - set_target_properties(Fontconfig::Fontconfig PROPERTIES IMPORTED_LOCATION_RELEASE "${Fontconfig_LIBRARY_RELEASE}") - if(UUID_LIBRARY_RELEASE AND @VCPKG_TARGET_IS_LINUX@) - set_property(TARGET Fontconfig::Fontconfig APPEND PROPERTY INTERFACE_LINK_LIBRARIES "$<$>:${UUID_LIBRARY_RELEASE}>") - endif() - endif() - - if(UUID_LIBRARIES AND @VCPKG_TARGET_IS_LINUX@) - list(APPEND Fontconfig_LIBRARIES "${UUID_LIBRARIES}") - endif() endif() diff --git a/ports/fontconfig/vcpkg.json b/ports/fontconfig/vcpkg.json index c0e13fdb83c94a..81d0ad316c6bf8 100644 --- a/ports/fontconfig/vcpkg.json +++ b/ports/fontconfig/vcpkg.json @@ -1,19 +1,32 @@ { "name": "fontconfig", - "version": "2.13.94", + "version": "2.15.0", + "port-version": 1, "description": "Library for configuring and customizing font access.", - "homepage": "https://www.freedesktop.org/software/fontconfig/front.html", + "homepage": "https://www.freedesktop.org/wiki/Software/fontconfig", + "license": "MIT", "dependencies": [ "dirent", "expat", "freetype", + "getopt", "gettext", - "json-c", - "libiconv", + { + "name": "gperf", + "host": true + }, + { + "name": "libiconv", + "platform": "!windows" + }, { "name": "libuuid", "platform": "!windows & !osx & !mingw" }, - "pthread" + "pthread", + { + "name": "vcpkg-tool-meson", + "host": true + } ] } diff --git a/ports/foonathan-lexy/portfile.cmake b/ports/foonathan-lexy/portfile.cmake new file mode 100644 index 00000000000000..46a7cde94c43cd --- /dev/null +++ b/ports/foonathan-lexy/portfile.cmake @@ -0,0 +1,31 @@ +vcpkg_minimum_required(VERSION 2022-10-12) # for ${VERSION} + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO foonathan/lexy + REF "v${VERSION}" + SHA512 ca263ecb9e3faf8d7a8fd48451f462bcac2c1d34e13d37d99a69135112c6db5b4bc9a9c1b4dd8371ab19f72b408de9fa9f0fa6dc7727a26e8d3a5d22f5f65442 + HEAD_REF main +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DLEXY_BUILD_BENCHMARKS=OFF + -DLEXY_BUILD_EXAMPLES=OFF + -DLEXY_BUILD_TESTS=OFF + -DLEXY_BUILD_DOCS=OFF + -DLEXY_BUILD_PACKAGE=OFF + -DLEXY_ENABLE_INSTALL=ON +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup( + PACKAGE_NAME lexy + CONFIG_PATH lib/cmake/lexy +) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/foonathan-lexy/vcpkg.json b/ports/foonathan-lexy/vcpkg.json new file mode 100644 index 00000000000000..0daa53974a8ca7 --- /dev/null +++ b/ports/foonathan-lexy/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "foonathan-lexy", + "version": "2022.12.1", + "description": "C++ parsing DSL", + "homepage": "https://github.com/foonathan/lexy", + "license": "BSL-1.0", + "supports": "x64 | arm64", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/foonathan-memory/fix-foonathan-memory-include-install-dir.patch b/ports/foonathan-memory/fix-foonathan-memory-include-install-dir.patch new file mode 100644 index 00000000000000..29e76ed2e4f411 --- /dev/null +++ b/ports/foonathan-memory/fix-foonathan-memory-include-install-dir.patch @@ -0,0 +1,22 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ddbc459..06c4165 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -20,7 +20,7 @@ set(CMAKE_DEBUG_POSTFIX "-dbg") + if(UNIX OR VXWORKS) + include(GNUInstallDirs) + +- set(FOONATHAN_MEMORY_INC_INSTALL_DIR "${CMAKE_INSTALL_INCLUDEDIR}/foonathan_memory") ++ set(FOONATHAN_MEMORY_INC_INSTALL_DIR "${CMAKE_INSTALL_INCLUDEDIR}") + set(FOONATHAN_MEMORY_RUNTIME_INSTALL_DIR "${CMAKE_INSTALL_BINDIR}") + set(FOONATHAN_MEMORY_LIBRARY_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}") + set(FOONATHAN_MEMORY_ARCHIVE_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}") +@@ -29,7 +29,7 @@ if(UNIX OR VXWORKS) + set(FOONATHAN_MEMORY_CMAKE_CONFIG_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/foonathan_memory/cmake") + set(FOONATHAN_MEMORY_ADDITIONAL_FILES_INSTALL_DIR "${CMAKE_INSTALL_DATADIR}/foonathan_memory") + elseif(WIN32) +- set(FOONATHAN_MEMORY_INC_INSTALL_DIR "include/foonathan_memory") ++ set(FOONATHAN_MEMORY_INC_INSTALL_DIR "include/") + set(FOONATHAN_MEMORY_RUNTIME_INSTALL_DIR "bin") + set(FOONATHAN_MEMORY_LIBRARY_INSTALL_DIR "bin") + set(FOONATHAN_MEMORY_ARCHIVE_INSTALL_DIR "lib") diff --git a/ports/foonathan-memory/portfile.cmake b/ports/foonathan-memory/portfile.cmake index 170eb43692f439..d883ffd6452cda 100644 --- a/ports/foonathan-memory/portfile.cmake +++ b/ports/foonathan-memory/portfile.cmake @@ -1,13 +1,19 @@ -# 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 + FILENAME foonathan-memory-abb0bff7a232572b1fce304dd2e2a2d5c0a6806c.patch + SHA512 9f16c9465a6475771241470925f34ead2281c5e2f7d9c4ddaceab77fa3775b8a63ccb6dde00061d74924f838a6d204ab70427f9ae5369245b5e9e971472e862f +) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO foonathan/memory - REF 885a9d97bebe9a2f131d21d3c0928c42ab377c8b - SHA512 7ce78a6e67d590a41b7f8a3d4ae0f6c1fa157c561b718a63973dffc000df74a9f0a0d7955a099e84fbeb3cf4085092eb866a6b8cec8bafd50bdcee94d069f65d + REF "v0.7-3" + SHA512 302a046e204d1cd396a4a36b559d3360d17801d99f0f22b58314ff66706ae86ce4f364731004c1c293e01567a9510229cda7fc4978e0e47740176026d47e8403 HEAD_REF master + PATCHES + fix-foonathan-memory-include-install-dir.patch + "${REMOVE_TOOL_STATIC_LINKING_CROSS_COMPILATION_PATCH}" ) vcpkg_from_github( @@ -18,56 +24,39 @@ vcpkg_from_github( HEAD_REF master ) -file(COPY ${COMP_SOURCE_PATH}/comp_base.cmake DESTINATION ${SOURCE_PATH}/cmake/comp) +file(COPY "${COMP_SOURCE_PATH}/comp_base.cmake" DESTINATION "${SOURCE_PATH}/cmake/comp") -vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES tool FOONATHAN_MEMORY_BUILD_TOOLS ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${FEATURE_OPTIONS} -DFOONATHAN_MEMORY_BUILD_EXAMPLES=OFF -DFOONATHAN_MEMORY_BUILD_TESTS=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -if(EXISTS ${CURRENT_PACKAGES_DIR}/cmake) - vcpkg_fixup_cmake_targets(CONFIG_PATH cmake TARGET_PATH share/foonathan_memory) -elseif(EXISTS ${CURRENT_PACKAGES_DIR}/share/foonathan_memory/cmake) - vcpkg_fixup_cmake_targets(CONFIG_PATH share/foonathan_memory/cmake TARGET_PATH share/foonathan_memory) +if(EXISTS "${CURRENT_PACKAGES_DIR}/lib/foonathan_memory/cmake") + vcpkg_cmake_config_fixup(CONFIG_PATH lib/foonathan_memory/cmake PACKAGE_NAME foonathan_memory) +elseif(EXISTS "${CURRENT_PACKAGES_DIR}/share/foonathan_memory/cmake") + vcpkg_cmake_config_fixup(CONFIG_PATH share/foonathan_memory/cmake PACKAGE_NAME foonathan_memory) endif() vcpkg_copy_pdbs() # Place header files into the right folders # The original layout is not a problem for CMake-based project. -file(COPY - ${CURRENT_PACKAGES_DIR}/include/foonathan_memory/foonathan - DESTINATION ${CURRENT_PACKAGES_DIR}/include -) -file(GLOB - COMP_INCLUDE_FILES - ${CURRENT_PACKAGES_DIR}/include/foonathan_memory/comp/foonathan/*.hpp -) file(COPY ${COMP_INCLUDE_FILES} - DESTINATION ${CURRENT_PACKAGES_DIR}/include/foonathan + DESTINATION "${CURRENT_PACKAGES_DIR}/include/foonathan" ) -file(COPY - ${CURRENT_PACKAGES_DIR}/include/foonathan_memory/config_impl.hpp - DESTINATION ${CURRENT_PACKAGES_DIR}/include/foonathan/memory -) -file(REMOVE_RECURSE - ${CURRENT_PACKAGES_DIR}/include/foonathan_memory -) -vcpkg_replace_string( - ${CURRENT_PACKAGES_DIR}/share/foonathan_memory/foonathan_memory-config.cmake - "\${_IMPORT_PREFIX}/include/foonathan_memory/comp;\${_IMPORT_PREFIX}/include/foonathan_memory" - "\${_IMPORT_PREFIX}/include" +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/lib/foonathan_memory" + "${CURRENT_PACKAGES_DIR}/debug/lib/foonathan_memory" ) # Place header files into the right folders - Done! @@ -77,21 +66,21 @@ vcpkg_replace_string( # #define FOONATHAN_MEMORY_DEBUG_FILL 0 # We only have the Release version header files installed, however. vcpkg_replace_string( - ${CURRENT_PACKAGES_DIR}/include/foonathan/memory/detail/debug_helpers.hpp + "${CURRENT_PACKAGES_DIR}/include/foonathan/memory/detail/debug_helpers.hpp" "#if FOONATHAN_MEMORY_DEBUG_FILL" "#ifndef NDEBUG //#if FOONATHAN_MEMORY_DEBUG_FILL" ) file(REMOVE_RECURSE - ${CURRENT_PACKAGES_DIR}/debug/include - ${CURRENT_PACKAGES_DIR}/debug/share + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" ) file(REMOVE - ${CURRENT_PACKAGES_DIR}/debug/LICENSE - ${CURRENT_PACKAGES_DIR}/debug/README.md - ${CURRENT_PACKAGES_DIR}/LICENSE - ${CURRENT_PACKAGES_DIR}/README.md + "${CURRENT_PACKAGES_DIR}/debug/LICENSE" + "${CURRENT_PACKAGES_DIR}/debug/README.md" + "${CURRENT_PACKAGES_DIR}/LICENSE" + "${CURRENT_PACKAGES_DIR}/README.md" ) if(NOT VCPKG_CMAKE_SYSTEM_NAME OR @@ -101,25 +90,25 @@ else() set(EXECUTABLE_SUFFIX "") endif() -if(EXISTS ${CURRENT_PACKAGES_DIR}/bin/nodesize_dbg${EXECUTABLE_SUFFIX}) +if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/nodesize_dbg${EXECUTABLE_SUFFIX}") file(COPY - ${CURRENT_PACKAGES_DIR}/bin/nodesize_dbg${EXECUTABLE_SUFFIX} - DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT} + "${CURRENT_PACKAGES_DIR}/bin/nodesize_dbg${EXECUTABLE_SUFFIX}" + DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}" ) - vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT}) + vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/${PORT}") if(VCPKG_LIBRARY_LINKAGE STREQUAL static) file(REMOVE_RECURSE - ${CURRENT_PACKAGES_DIR}/bin - ${CURRENT_PACKAGES_DIR}/debug/bin + "${CURRENT_PACKAGES_DIR}/bin" + "${CURRENT_PACKAGES_DIR}/debug/bin" ) else() file(REMOVE - ${CURRENT_PACKAGES_DIR}/bin/nodesize_dbg${EXECUTABLE_SUFFIX} - ${CURRENT_PACKAGES_DIR}/debug/bin/nodesize_dbg${EXECUTABLE_SUFFIX} + "${CURRENT_PACKAGES_DIR}/bin/nodesize_dbg${EXECUTABLE_SUFFIX}" + "${CURRENT_PACKAGES_DIR}/debug/bin/nodesize_dbg${EXECUTABLE_SUFFIX}" ) endif() 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 e668bd94f54734..a029fc81e36bf5 100644 --- a/ports/foonathan-memory/vcpkg.json +++ b/ports/foonathan-memory/vcpkg.json @@ -1,9 +1,20 @@ { "name": "foonathan-memory", - "version-string": "2019-07-21", + "version": "0.7.3", "port-version": 2, "description": "STL compatible C++ memory allocator library", "homepage": "https://foonathan.net/doc/memory/", + "license": "Zlib", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], "default-features": [ "tool" ], diff --git a/ports/forge/portfile.cmake b/ports/forge/portfile.cmake index 956de3d37472e4..0cde669e4352b6 100644 --- a/ports/forge/portfile.cmake +++ b/ports/forge/portfile.cmake @@ -1,6 +1,3 @@ -if(NOT VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") - message(FATAL_ERROR "This port currently only supports x64 architecture") -endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH @@ -10,19 +7,19 @@ vcpkg_from_github( HEAD_REF master PATCHES cmake_config.patch ) -file(REMOVE ${SOURCE_PATH}/CMakeModules/FindOpenGL.cmake) +file(REMOVE "${SOURCE_PATH}/CMakeModules/FindOpenGL.cmake") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DFG_BUILD_DOCS=OFF -DFG_BUILD_EXAMPLES=OFF -DFG_INSTALL_BIN_DIR=bin - -DFG_INSTALL_CMAKE_DIR=share/Forge + -DFG_INSTALL_CMAKE_DIR=share/forge ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/Forge TARGET_PATH share/Forge) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup() file(GLOB DLLS ${CURRENT_PACKAGES_DIR}/bin/* ${CURRENT_PACKAGES_DIR}/debug/bin/*) list(FILTER DLLS EXCLUDE REGEX "forge\\.dll\$") @@ -34,4 +31,4 @@ file(REMOVE_RECURSE ${DLLS} ) -file(INSTALL ${SOURCE_PATH}/.github/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/.github/LICENSE") diff --git a/ports/forge/vcpkg.json b/ports/forge/vcpkg.json index afd8df8d39098f..7346d40c598723 100644 --- a/ports/forge/vcpkg.json +++ b/ports/forge/vcpkg.json @@ -1,11 +1,13 @@ { "name": "forge", "version-semver": "1.0.8", + "port-version": 3, "description": "An OpenGL interop library that can be used with ArrayFire or any other application using CUDA or OpenCL compute backend.", "homepage": "https://github.com/arrayfire/forge", - "supports": "x64", + "license": "BSD-3-Clause", + "supports": "!(windows & (arm | uwp))", "dependencies": [ - "boost-functional", + "boost-container-hash", { "name": "fontconfig", "platform": "!windows" @@ -14,6 +16,14 @@ "freetype", "glad", "glfw3", - "glm" + "glm", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/foxi/portfile.cmake b/ports/foxi/portfile.cmake new file mode 100644 index 00000000000000..5517378b896a24 --- /dev/null +++ b/ports/foxi/portfile.cmake @@ -0,0 +1,20 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO houseroad/foxi + REF c278588e34e535f0bb8f00df3880d26928038cad + SHA512 ad42cfd70e40ba0f0a9187b34ae9e3bd361c8c0038669f4c1591c4f7421d12ad93f76f42b33c2575eea1a3ddb3ff781da2895cdc636df5b60422598f450203c7 + PATCHES + remove-test-targets.patch +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" +) +vcpkg_cmake_install() + +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" +) diff --git a/ports/foxi/remove-test-targets.patch b/ports/foxi/remove-test-targets.patch new file mode 100644 index 00000000000000..9e53390bad1187 --- /dev/null +++ b/ports/foxi/remove-test-targets.patch @@ -0,0 +1,60 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b406d0f..c5d04d5 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -65,7 +65,7 @@ if(MSVC) + add_msvc_runtime_flag(foxi_loader) + endif() + +-if (NOT ANDROID AND NOT IOS) ++if (FALSE) + # ---[ FOXI wrapper + add_library(foxi_wrapper MODULE foxi/onnxifi_wrapper.c) + target_include_directories(foxi_wrapper PRIVATE +@@ -93,17 +93,6 @@ if (NOT ANDROID AND NOT IOS) + endif() + endif() + +-# ---[ FOXI dummy backend +-add_library(foxi_dummy SHARED foxi/onnxifi_dummy.c) +-target_include_directories(foxi_dummy PRIVATE +- $ +- $) +-target_link_libraries(foxi_dummy PUBLIC foxi ${CMAKE_DL_LIBS}) +-target_compile_definitions(foxi_dummy PRIVATE ONNXIFI_BUILD_LIBRARY=TRUE) +-if(MSVC) +- add_msvc_runtime_flag(foxi_dummy) +-endif() +- + install(DIRECTORY ${FOXI_ROOT}/foxi + DESTINATION include + FILES_MATCHING +@@ -114,10 +103,10 @@ install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/foxi + PATTERN "*.h") + + install(TARGETS +- foxi foxi_dummy foxi_loader ++ foxi_loader + EXPORT ONNXTargets DESTINATION lib) + +-if(NOT ANDROID AND NOT IOS) ++if(FALSE) + install(TARGETS foxi_wrapper + EXPORT ONNXTargets DESTINATION lib) + endif() + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c5d04d5..cc7d18a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -61,9 +61,6 @@ set_target_properties(foxi_loader + C_EXTENSIONS + NO) + target_link_libraries(foxi_loader PUBLIC foxi ${CMAKE_DL_LIBS}) +-if(MSVC) +- add_msvc_runtime_flag(foxi_loader) +-endif() + + if (FALSE) + # ---[ FOXI wrapper + diff --git a/ports/foxi/vcpkg.json b/ports/foxi/vcpkg.json new file mode 100644 index 00000000000000..4fbccecb48101e --- /dev/null +++ b/ports/foxi/vcpkg.json @@ -0,0 +1,14 @@ +{ + "name": "foxi", + "version-date": "2021-12-01", + "description": "ONNXIFI with Facebook Extension", + "homepage": "https://github.com/houseroad/foxi", + "license": "MIT", + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] +} diff --git a/ports/fp16/portfile.cmake b/ports/fp16/portfile.cmake index 101255b8b908bf..d292128e7841f6 100644 --- a/ports/fp16/portfile.cmake +++ b/ports/fp16/portfile.cmake @@ -6,14 +6,13 @@ vcpkg_from_github( PATCHES find-psimd.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DFP16_BUILD_TESTS=OFF -DFP16_BUILD_BENCHMARKS=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") diff --git a/ports/fp16/vcpkg.json b/ports/fp16/vcpkg.json index 76eac902f7e055..4e5bc35af6466c 100644 --- a/ports/fp16/vcpkg.json +++ b/ports/fp16/vcpkg.json @@ -1,9 +1,14 @@ { "name": "fp16", "version-date": "2021-02-21", + "port-version": 2, "description": "Header-only library for conversion to/from half-precision floating point formats", "homepage": "https://github.com/Maratyszcza/FP16", "dependencies": [ - "psimd" + "psimd", + { + "name": "vcpkg-cmake", + "host": true + } ] } diff --git a/ports/fplus/portfile.cmake b/ports/fplus/portfile.cmake deleted file mode 100644 index 5969cd318c5ad1..00000000000000 --- a/ports/fplus/portfile.cmake +++ /dev/null @@ -1,22 +0,0 @@ -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO Dobiasd/FunctionalPlus - REF v0.2.14-p0 - SHA512 f6232140fc343521bc484c7fa1a9d4942fbfc078be1cefa7b34c33632ec23d55827d13319f7b7a5535c5eedeb3161e15f84ecb80aa110685dbfc2c932c57284b - HEAD_REF master -) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - -DFPLUS_BUILD_EXAMPLES=OFF - -DFunctionalPlus_INSTALL_CMAKEDIR=share/FunctionalPlus -) - -vcpkg_install_cmake() - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib) - -configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) diff --git a/ports/fplus/vcpkg.json b/ports/fplus/vcpkg.json deleted file mode 100644 index 0e4c7ad713ab45..00000000000000 --- a/ports/fplus/vcpkg.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "fplus", - "version-semver": "0.2.14-p0", - "description": "Functional Programming Library for C++. Write concise and readable C++ code", - "homepage": "https://github.com/Dobiasd/FunctionalPlus" -} diff --git a/ports/freealut/portfile.cmake b/ports/freealut/portfile.cmake index 668b64e3a02bfe..429847754058e8 100644 --- a/ports/freealut/portfile.cmake +++ b/ports/freealut/portfile.cmake @@ -10,8 +10,7 @@ vcpkg_from_github( ) vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA + SOURCE_PATH "${SOURCE_PATH}" DISABLE_PARALLEL_CONFIGURE OPTIONS -DBUILD_EXAMPLES=OFF @@ -19,7 +18,7 @@ vcpkg_cmake_configure( ) vcpkg_cmake_install() -vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${PORT}") vcpkg_fixup_pkgconfig() vcpkg_copy_pdbs() @@ -27,16 +26,11 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share" "${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 "${CURRENT_PACKAGES_DIR}/bin/freealut-config") +file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/bin/freealut-config") -if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/freealut-config") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin/freealut-config") -endif() - -if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/bin/freealut-config") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin/freealut-config") +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 ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/freealut/vcpkg.json b/ports/freealut/vcpkg.json index 81739956c98f74..f3a16be68388bd 100644 --- a/ports/freealut/vcpkg.json +++ b/ports/freealut/vcpkg.json @@ -1,13 +1,14 @@ { "name": "freealut", "version": "1.1.0", - "port-version": 1, + "port-version": 4, "description": [ "FreeALUT is a free implementation of OpenAL's ALUT standard.", "ALUT is a set of portable functions which remove the annoying details of getting an audio application started. It is the OpenAL counterpart of what GLUT is for OpenGL. " ], "homepage": "https://github.com/vancegroup/freealut", - "supports": "!uwp", + "license": "LGPL-2.0-only", + "supports": "!uwp & !xbox", "dependencies": [ "openal-soft", { 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/gcc10.patch b/ports/freeglut/gcc10.patch deleted file mode 100644 index dc5193b6ac090f..00000000000000 --- a/ports/freeglut/gcc10.patch +++ /dev/null @@ -1,31 +0,0 @@ -diff --git a/src/fg_gl2.h b/src/fg_gl2.h -index ab8ba5c..a1a52da 100644 ---- a/src/fg_gl2.h -+++ b/src/fg_gl2.h -@@ -67,13 +67,19 @@ typedef void (APIENTRY *FGH_PFNGLENABLEVERTEXATTRIBARRAYPROC) (GLuint index); - typedef void (APIENTRY *FGH_PFNGLDISABLEVERTEXATTRIBARRAYPROC) (GLuint); - typedef void (APIENTRY *FGH_PFNGLVERTEXATTRIBPOINTERPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer); - --FGH_PFNGLGENBUFFERSPROC fghGenBuffers; --FGH_PFNGLDELETEBUFFERSPROC fghDeleteBuffers; --FGH_PFNGLBINDBUFFERPROC fghBindBuffer; --FGH_PFNGLBUFFERDATAPROC fghBufferData; --FGH_PFNGLENABLEVERTEXATTRIBARRAYPROC fghEnableVertexAttribArray; --FGH_PFNGLDISABLEVERTEXATTRIBARRAYPROC fghDisableVertexAttribArray; --FGH_PFNGLVERTEXATTRIBPOINTERPROC fghVertexAttribPointer; -+#if __GNUC__ > 9 -+#define FG_ATTRIBUTE_COMMON __attribute__((__common__)) -+#else -+#define FG_ATTRIBUTE_COMMON -+#endif -+ -+FGH_PFNGLGENBUFFERSPROC FG_ATTRIBUTE_COMMON fghGenBuffers; -+FGH_PFNGLDELETEBUFFERSPROC FG_ATTRIBUTE_COMMON fghDeleteBuffers; -+FGH_PFNGLBINDBUFFERPROC FG_ATTRIBUTE_COMMON fghBindBuffer; -+FGH_PFNGLBUFFERDATAPROC FG_ATTRIBUTE_COMMON fghBufferData; -+FGH_PFNGLENABLEVERTEXATTRIBARRAYPROC FG_ATTRIBUTE_COMMON fghEnableVertexAttribArray; -+FGH_PFNGLDISABLEVERTEXATTRIBARRAYPROC FG_ATTRIBUTE_COMMON fghDisableVertexAttribArray; -+FGH_PFNGLVERTEXATTRIBPOINTERPROC FG_ATTRIBUTE_COMMON fghVertexAttribPointer; - - # endif - 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/macOS_Xquartz.patch b/ports/freeglut/macOS_Xquartz.patch deleted file mode 100644 index c154dceb554bab..00000000000000 --- a/ports/freeglut/macOS_Xquartz.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 6f403af..ce6f9f2 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -258,6 +258,16 @@ ENDIF() - IF(FREEGLUT_GLES) - LIST(APPEND PUBLIC_DEFINITIONS -DFREEGLUT_GLES) - LIST(APPEND LIBS GLESv2 GLESv1_CM EGL) -+ELSEIF(APPLE) -+ # on OSX FindOpenGL uses framework version of OpenGL, but we need X11 version -+ FIND_PATH(GLX_INCLUDE_DIR GL/glx.h -+ PATHS /opt/X11/include /usr/X11/include /usr/X11R6/include) -+ FIND_LIBRARY(OPENGL_gl_LIBRARY GL -+ PATHS /opt/X11/lib /usr/X11/lib /usr/X11R6/lib) -+ FIND_LIBRARY(OPENGL_glu_LIBRARY GLU -+ PATHS /opt/X11/lib /usr/X11/lib /usr/X11R6/lib) -+ LIST(APPEND LIBS ${OPENGL_gl_LIBRARY}) -+ INCLUDE_DIRECTORIES(${GLX_INCLUDE_DIR}) - ELSE() - FIND_PACKAGE(OpenGL REQUIRED) - LIST(APPEND LIBS ${OPENGL_gl_LIBRARY}) diff --git a/ports/freeglut/portfile.cmake b/ports/freeglut/portfile.cmake index b281d12c7ef1e3..1d5a3f2fc3828b 100755 --- a/ports/freeglut/portfile.cmake +++ b/ports/freeglut/portfile.cmake @@ -1,61 +1,57 @@ -vcpkg_from_sourceforge( +vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO freeglut/freeglut - REF 3.2.1 - FILENAME "freeglut-3.2.1.tar.gz" - SHA512 aced4bbcd36269ce6f4ee1982e0f9e3fffbf18c94f785d3215ac9f4809b992e166c7ada496ed6174e13d77c0f7ef3ca4c57d8a282e96cbbe6ff086339ade3b08 - PATCHES - use_targets_to_export_x11_dependency.patch - macOS_Xquartz.patch - gcc10.patch + REPO FreeGLUTProject/freeglut + REF "v${VERSION}" + SHA512 4bb6d6c086bac7a9c0ec78062dce58987555785abe6375f462ee249f65210a964a28fb10ba7ee8a42d7fafb00eb8d196eb403d65d255f02f88467369c187228b + HEAD_REF master + 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() -if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - set(FREEGLUT_STATIC OFF) - set(FREEGLUT_DYNAMIC ON) -else() - set(FREEGLUT_STATIC ON) - set(FREEGLUT_DYNAMIC OFF) -endif() - -# Patch header -file(READ ${SOURCE_PATH}/include/GL/freeglut_std.h FREEGLUT_STDH) -string(REGEX REPLACE "\"freeglut_static.lib\"" - "\"freeglut.lib\"" FREEGLUT_STDH "${FREEGLUT_STDH}") -string(REGEX REPLACE "\"freeglut_staticd.lib\"" - "\"freeglutd.lib\"" FREEGLUT_STDH "${FREEGLUT_STDH}") -file(WRITE ${SOURCE_PATH}/include/GL/freeglut_std.h "${FREEGLUT_STDH}") +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" FREEGLUT_STATIC) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" FREEGLUT_DYNAMIC) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DFREEGLUT_BUILD_STATIC_LIBS=${FREEGLUT_STATIC} -DFREEGLUT_BUILD_SHARED_LIBS=${FREEGLUT_DYNAMIC} + -DFREEGLUT_REPLACE_GLUT=ON -DFREEGLUT_BUILD_DEMOS=OFF -DINSTALL_PDB=OFF # Installing pdbs failed on debug static. So, disable it and let vcpkg_copy_pdbs() do it ) +vcpkg_cmake_install() +vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/FreeGLUT) +vcpkg_fixup_pkgconfig() -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/FreeGLUT) +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() -# Rename static lib (otherwise it's incompatible with FindGLUT.cmake) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - if(NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL release) - file(RENAME ${CURRENT_PACKAGES_DIR}/lib/freeglut_static.lib ${CURRENT_PACKAGES_DIR}/lib/freeglut.lib) - endif() - if(NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL debug) - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/freeglut_staticd.lib ${CURRENT_PACKAGES_DIR}/debug/lib/freeglutd.lib) +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() +endif() +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") vcpkg_replace_string( "${CURRENT_PACKAGES_DIR}/include/GL/freeglut_std.h" "ifdef FREEGLUT_STATIC" @@ -64,16 +60,9 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") endif() # Clean -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) - -# Handle copyright -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) - -vcpkg_copy_pdbs() -file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") - file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/glut) -endif() +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/glut") -vcpkg_fixup_pkgconfig() +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) diff --git a/ports/freeglut/usage b/ports/freeglut/usage index 40e214fde07c51..30c5e6351b8608 100644 --- a/ports/freeglut/usage +++ b/ports/freeglut/usage @@ -1,4 +1,9 @@ -The package freeglut is compatible with built-in CMake targets: +freeglut provides CMake targets: + + find_package(FreeGLUT CONFIG REQUIRED) + target_link_libraries(main PRIVATE $,FreeGLUT::freeglut,FreeGLUT::freeglut_static>) + +freeglut is compatible with built-in CMake targets: find_package(GLUT REQUIRED) target_link_libraries(main PRIVATE GLUT::GLUT) diff --git a/ports/freeglut/use_targets_to_export_x11_dependency.patch b/ports/freeglut/use_targets_to_export_x11_dependency.patch deleted file mode 100644 index 2f9e6b1bf29f52..00000000000000 --- a/ports/freeglut/use_targets_to_export_x11_dependency.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 6f403af..4ced28a 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -72,7 +72,7 @@ SET(FREEGLUT_HEADERS - include/GL/freeglut_ext.h - include/GL/freeglut_std.h - ) --IF(FREEGLUT_REPLACE_GLUT) -+IF(TRUE) - LIST(APPEND FREEGLUT_HEADERS - include/GL/glut.h - ) -@@ -312,8 +312,7 @@ ENDIF(CMAKE_COMPILER_IS_GNUCC) - INCLUDE(CheckIncludeFiles) - IF(UNIX AND NOT(ANDROID OR BLACKBERRY OR FREEGLUT_WAYLAND)) - FIND_PACKAGE(X11 REQUIRED) -- INCLUDE_DIRECTORIES(${X11_X11_INCLUDE_PATH}) -- LIST(APPEND LIBS ${X11_X11_LIB}) -+ LIST(APPEND LIBS X11::X11) - IF(X11_Xrandr_FOUND) - SET(HAVE_X11_EXTENSIONS_XRANDR_H TRUE) - LIST(APPEND LIBS ${X11_Xrandr_LIB}) diff --git a/ports/freeglut/vcpkg-cmake-wrapper.cmake b/ports/freeglut/vcpkg-cmake-wrapper.cmake index 5d57ad49020929..f7f792c3a60612 100644 --- a/ports/freeglut/vcpkg-cmake-wrapper.cmake +++ b/ports/freeglut/vcpkg-cmake-wrapper.cmake @@ -1,10 +1,37 @@ _find_package(${ARGS}) -if(GLUT_FOUND) - find_library(XRANDR_LIBRARY NAMES xrandr Xrandr) - if(XRANDR_LIBRARY) - list(APPEND GLUT_LIBRARIES ${XRANDR_LIBRARY}) - if(TARGET GLUT::GLUT) - set_property(TARGET GLUT::GLUT APPEND PROPERTY INTERFACE_LINK_LIBRARIES ${XRANDR_LIBRARY}) +if(GLUT_FOUND AND UNIX AND NOT ANDROID) + cmake_policy(PUSH) + cmake_policy(SET CMP0012 NEW) + cmake_policy(SET CMP0054 NEW) + cmake_policy(SET CMP0057 NEW) + + if(GLUT_LINK_LIBRARIES) + # Since CMake 3.22, FindGLUT.cmake loads the glut pkg-config module. + # We need `-lglut` resolved to an absolute path. + set(GLUT_LIBRARIES "${GLUT_LINK_LIBRARIES}") + else() + find_package(X11) + # Before CMake 3.14, FindX11.cmake doesn't create imported targets. + # For X11, we simply assume shared linkage of system libs, + # so order and transitive usage requirements don't matter. + if(X11_FOUND AND NOT "X11" IN_LIST GLUT_LIBRARIES) + list(APPEND GLUT_LIBRARIES "${X11_X11_LIB}") + set_property(TARGET GLUT::GLUT APPEND PROPERTY INTERFACE_LINK_LIBRARIES "${X11_X11_LIB}") + endif() + if(X11_Xrandr_FOUND AND NOT "Xrandr" IN_LIST GLUT_LIBRARIES) + list(APPEND GLUT_LIBRARIES "${X11_Xrandr_LIB}") + set_property(TARGET GLUT::GLUT APPEND PROPERTY INTERFACE_LINK_LIBRARIES "${X11_Xrandr_LIB}") + endif() + # X11_xf86vmode_FOUND for CMake < 3.14 + if((X11_Xxf86vm_FOUND OR X11_xf86vmode_FOUND) AND NOT "Xxf86vm" IN_LIST GLUT_LIBRARIES) + list(APPEND GLUT_LIBRARIES "${X11_Xxf86vm_LIB}") + set_property(TARGET GLUT::GLUT APPEND PROPERTY INTERFACE_LINK_LIBRARIES "${X11_Xxf86vm_LIB}") + endif() + if(X11_Xi_FOUND AND NOT GLUT_Xi_LIBRARY AND NOT "Xi" IN_LIST GLUT_LIBRARIES) + list(APPEND GLUT_LIBRARIES "${X11_Xi_LIB}") + set_property(TARGET GLUT::GLUT APPEND PROPERTY INTERFACE_LINK_LIBRARIES "${X11_Xi_LIB}") endif() endif() + + cmake_policy(POP) endif() diff --git a/ports/freeglut/vcpkg.json b/ports/freeglut/vcpkg.json index dc95985d8a1d84..8b613e4d888a30 100644 --- a/ports/freeglut/vcpkg.json +++ b/ports/freeglut/vcpkg.json @@ -1,7 +1,20 @@ { "name": "freeglut", - "version-string": "3.2.1", - "port-version": 7, - "description": "Open source implementation of GLUT with source and binary backwards compatibility.", - "homepage": "https://sourceforge.net/projects/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", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/freeglut/windows-output-name.patch b/ports/freeglut/windows-output-name.patch new file mode 100644 index 00000000000000..705be2225f4a1e --- /dev/null +++ b/ports/freeglut/windows-output-name.patch @@ -0,0 +1,35 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 98d07c9..5b79f06 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -436,12 +436,12 @@ IF(WIN32) + LIST(APPEND LIBS winmm gdi32) + IF(FREEGLUT_BUILD_SHARED_LIBS) + TARGET_COMPILE_DEFINITIONS(freeglut PRIVATE FREEGLUT_EXPORTS) +- SET_TARGET_PROPERTIES(freeglut PROPERTIES OUTPUT_NAME ${LIBNAME}) ++ SET_TARGET_PROPERTIES(freeglut PROPERTIES OUTPUT_NAME freeglut) + ENDIF() + IF(FREEGLUT_BUILD_STATIC_LIBS) + TARGET_COMPILE_DEFINITIONS(freeglut_static PUBLIC FREEGLUT_STATIC) + IF(FREEGLUT_REPLACE_GLUT) +- SET_TARGET_PROPERTIES(freeglut_static PROPERTIES OUTPUT_NAME ${LIBNAME}) ++ SET_TARGET_PROPERTIES(freeglut_static PROPERTIES OUTPUT_NAME freeglut) + ENDIF() + ENDIF() + ELSE() +diff --git a/include/GL/freeglut_std.h b/include/GL/freeglut_std.h +index a5efb3b..6bdcdfb 100644 +--- a/include/GL/freeglut_std.h ++++ b/include/GL/freeglut_std.h +@@ -71,9 +71,9 @@ + /* Link with Win32 static freeglut lib */ + # if FREEGLUT_LIB_PRAGMAS + # if defined(NDEBUG) || !defined(_DEBUG) +-# pragma comment (lib, "freeglut_static.lib") ++# pragma comment (lib, "freeglut.lib") + # else +-# pragma comment (lib, "freeglut_staticd.lib") ++# pragma comment (lib, "freeglutd.lib") + # endif + # endif + diff --git a/ports/freeglut/x11-dependencies-export.patch b/ports/freeglut/x11-dependencies-export.patch new file mode 100644 index 00000000000000..fd25986849376f --- /dev/null +++ b/ports/freeglut/x11-dependencies-export.patch @@ -0,0 +1,20 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 5568b63..bec3de5 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -620,6 +620,15 @@ ELSE() + SET(PC_LIBS_PRIVATE "-lX11 -lXxf86vm -lXrandr -lGL -lm") + ENDIF() + ENDIF() ++if(NOT X11_Xrandr_FOUND) ++ string(REPLACE " -lXrandr" "" PC_LIBS_PRIVATE "${PC_LIBS_PRIVATE}") ++endif() ++if(NOT X11_xf86vmode_FOUND) ++ string(REPLACE " -lXxf86vm" "" PC_LIBS_PRIVATE "${PC_LIBS_PRIVATE}") ++endif() ++if(X11_Xinput_FOUND) ++ string(REPLACE "-lX11 " "-lX11 -lXi " PC_LIBS_PRIVATE "${PC_LIBS_PRIVATE}") ++endif() + # Client applications need to define FreeGLUT GLES version to + # bootstrap headers inclusion in freeglut_std.h: + SET(PC_LIBNAME ${LIBNAME}) diff --git a/ports/freeimage/CMakeLists.txt b/ports/freeimage/CMakeLists.txt index 2c2fb129ee4931..60f9783acbd525 100644 --- a/ports/freeimage/CMakeLists.txt +++ b/ports/freeimage/CMakeLists.txt @@ -9,15 +9,15 @@ if(MSVC) set(CMAKE_CXX_FLAGS "/wd4828 ${CMAKE_CXX_FLAGS}") endif() -find_package(ZLIB REQUIRED) -find_package(PNG REQUIRED) -find_package(JPEG REQUIRED) -find_package(TIFF REQUIRED) -find_package(OpenJPEG REQUIRED) -find_package(WebP REQUIRED) -find_package(JXR REQUIRED) -find_package(LibRaw REQUIRED) -find_package(OpenEXR REQUIRED) +find_package(ZLIB REQUIRED) +find_package(PNG REQUIRED) +find_package(JPEG REQUIRED) +find_package(TIFF REQUIRED) +find_package(OpenJPEG REQUIRED) +find_package(WebP CONFIG REQUIRED) +find_package(JXR REQUIRED) +find_package(LibRaw REQUIRED) +find_package(OpenEXR REQUIRED) option(BUILD_SHARED_LIBS "Build shared libraries" ON) option(INSTALL_HEADERS "Install the development headers" ON) @@ -93,7 +93,6 @@ target_include_directories(FreeImage PRIVATE ${REAL_SOURCE_DIR} ${TIFF_INCLUDE_DIRS} ${PNG_INCLUDE_DIRS} ${OPENJPEG_INCLUDE_DIRS} - ${WEBP_INCLUDE_DIRS} ${JXR_INCLUDE_DIRS} ${LibRaw_INCLUDE_DIRS} ${CMAKE_CURRENT_BINARY_DIR} @@ -105,10 +104,11 @@ target_link_libraries(FreeImage ${ZLIB_LIBRARIES} ${TIFF_LIBRARIES} ${PNG_LIBRARIES} ${OPENJPEG_LIBRARIES} - ${WEBP_LIBRARIES} + WebP::webp WebP::webpdemux WebP::libwebpmux WebP::webpdecoder ${JXR_LIBRARIES} ${LibRaw_LIBRARIES} - OpenEXR::IlmImf) + OpenEXR::OpenEXR + Imath::Imath) target_compile_definitions(FreeImage PRIVATE ${PNG_DEFINITIONS}) @@ -150,10 +150,11 @@ find_dependency(PNG) find_dependency(JPEG) find_dependency(TIFF) find_dependency(OpenJPEG) -find_dependency(WebP) +find_dependency(WebP CONFIG) find_dependency(JXR) find_dependency(LibRaw) find_dependency(OpenEXR) +find_dependency(Imath) include(\"\${CMAKE_CURRENT_LIST_DIR}/freeimage-targets.cmake\") ") diff --git a/ports/freeimage/portfile.cmake b/ports/freeimage/portfile.cmake index ce1b86821cc544..2c0554e19d8942 100644 --- a/ports/freeimage/portfile.cmake +++ b/ports/freeimage/portfile.cmake @@ -18,34 +18,40 @@ vcpkg_from_sourceforge( fix-function-overload.patch use-typedef-as-already-declared.patch 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 DESTINATION ${SOURCE_PATH}) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/FreeImageConfig-static.h DESTINATION ${SOURCE_PATH}) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/FreeImageConfig-dynamic.h DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" + "${CMAKE_CURRENT_LIST_DIR}/FreeImageConfig-static.h" + "${CMAKE_CURRENT_LIST_DIR}/FreeImageConfig-dynamic.h" + DESTINATION "${SOURCE_PATH}" +) # This is not strictly necessary, but to make sure # that no "internal" libraries are used we remove them -file(REMOVE_RECURSE ${SOURCE_PATH}/Source/LibJPEG) -file(REMOVE_RECURSE ${SOURCE_PATH}/Source/LibPNG) -file(REMOVE_RECURSE ${SOURCE_PATH}/Source/LibTIFF4) -file(REMOVE_RECURSE ${SOURCE_PATH}/Source/ZLib) -file(REMOVE_RECURSE ${SOURCE_PATH}/Source/LibOpenJPEG) -file(REMOVE_RECURSE ${SOURCE_PATH}/Source/LibJXR) -file(REMOVE_RECURSE ${SOURCE_PATH}/Source/LibWebP) -file(REMOVE_RECURSE ${SOURCE_PATH}/Source/LibRawLite) -file(REMOVE_RECURSE ${SOURCE_PATH}/Source/OpenEXR) +file(REMOVE_RECURSE + "${SOURCE_PATH}/Source/LibJPEG" + "${SOURCE_PATH}/Source/LibPNG" + "${SOURCE_PATH}/Source/LibTIFF4" + "${SOURCE_PATH}/Source/ZLib" + "${SOURCE_PATH}/Source/LibOpenJPEG" + "${SOURCE_PATH}/Source/LibJXR" + "${SOURCE_PATH}/Source/LibWebP" + "${SOURCE_PATH}/Source/LibRawLite" + "${SOURCE_PATH}/Source/OpenEXR" +) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS_DEBUG - -DINSTALL_HEADERS=OFF + -DINSTALL_HEADERS=OFF ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets() +vcpkg_cmake_install() +vcpkg_cmake_config_fixup() vcpkg_copy_pdbs() -file(INSTALL ${SOURCE_PATH}/license-fi.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/license-fi.txt") diff --git a/ports/freeimage/rawlib-build-fix.patch b/ports/freeimage/rawlib-build-fix.patch new file mode 100644 index 00000000000000..b5b53dc1eb8aa8 --- /dev/null +++ b/ports/freeimage/rawlib-build-fix.patch @@ -0,0 +1,31 @@ +diff --git a/Source/FreeImage/PluginRAW.cpp b/Source/FreeImage/PluginRAW.cpp +index c7f8758a..a57fd5f1 100644 +--- a/Source/FreeImage/PluginRAW.cpp ++++ b/Source/FreeImage/PluginRAW.cpp +@@ -46,6 +46,14 @@ private: + long _eof; + INT64 _fsize; + ++ // Minimal change to make version 3.18.0 of FreeImage compile with ++ // LibRaw 0.20 and later versions. ++ // Once the port of FreeImage has been updated to a version greater ++ // than 3.18.0, this patch should be removed as it will not be needed. ++#if LIBRAW_COMPILE_CHECK_VERSION_NOTLESS(0, 20) ++ LibRaw_abstract_datastream * const substream = nullptr; ++#endif ++ + public: + LibRaw_freeimage_datastream(FreeImageIO *io, fi_handle handle) : _io(io), _handle(handle) { + long start_pos = io->tell_proc(handle); +@@ -694,7 +702,11 @@ Load(FreeImageIO *io, fi_handle handle, int page, int flags, void *data) { + // -------------------------------------------- + + // (-s [0..N-1]) Select one raw image from input file ++#if LIBRAW_COMPILE_CHECK_VERSION_NOTLESS(0, 20) ++ RawProcessor->imgdata.rawparams.shot_select = 0; ++#else + RawProcessor->imgdata.params.shot_select = 0; ++#endif + // (-w) Use camera white balance, if possible (otherwise, fallback to auto_wb) + RawProcessor->imgdata.params.use_camera_wb = 1; + // (-M) Use any color matrix from the camera metadata. This option only affects Olympus, Leaf, and Phase One cameras. diff --git a/ports/freeimage/remove_auto_ptr.patch b/ports/freeimage/remove_auto_ptr.patch new file mode 100644 index 00000000000000..65315e2a7b1537 --- /dev/null +++ b/ports/freeimage/remove_auto_ptr.patch @@ -0,0 +1,35 @@ +diff --git a/Source/FreeImage/MultiPage.cpp b/Source/FreeImage/MultiPage.cpp +index 4f2605188..8af384aff 100644 +--- a/Source/FreeImage/MultiPage.cpp ++++ b/Source/FreeImage/MultiPage.cpp +@@ -31,6 +31,8 @@ + #pragma warning (disable : 4786) // identifier was truncated to 'number' characters + #endif + ++#include ++ + #include "CacheFile.h" + #include "FreeImageIO.h" + #include "Plugin.h" +@@ -271,8 +273,8 @@ FreeImage_OpenMultiBitmap(FREE_IMAGE_FORMAT fif, const char *filename, BOOL crea + } + } + +- std::auto_ptr bitmap (new FIMULTIBITMAP); +- std::auto_ptr header (new MULTIBITMAPHEADER); ++ std::unique_ptr bitmap (new FIMULTIBITMAP); ++ std::unique_ptr header (new MULTIBITMAPHEADER); + header->m_filename = filename; + // io is default + header->node = node; +@@ -337,8 +339,8 @@ FreeImage_OpenMultiBitmapFromHandle(FREE_IMAGE_FORMAT fif, FreeImageIO *io, fi_h + PluginNode *node = list->FindNodeFromFIF(fif); + + if (node) { +- std::auto_ptr bitmap (new FIMULTIBITMAP); +- std::auto_ptr header (new MULTIBITMAPHEADER); ++ std::unique_ptr bitmap (new FIMULTIBITMAP); ++ std::unique_ptr header (new MULTIBITMAPHEADER); + header->io = *io; + header->node = node; + header->fif = fif; 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/use-external-openexr.patch b/ports/freeimage/use-external-openexr.patch index 08915da7268073..4f02f71329fa48 100644 --- a/ports/freeimage/use-external-openexr.patch +++ b/ports/freeimage/use-external-openexr.patch @@ -25,10 +25,38 @@ index b286430..82b3b72 100644 +#include +#include +#include -+#include ++#include // ========================================================== +@@ -66,11 +66,11 @@ public: + return ((unsigned)n != _io->read_proc(c, 1, n, _handle)); + } + +- virtual Imath::Int64 tellg() { ++ virtual uint64_t tellg() { + return _io->tell_proc(_handle); + } + +- virtual void seekg(Imath::Int64 pos) { ++ virtual void seekg(uint64_t pos) { + _io->seek_proc(_handle, (unsigned)pos, SEEK_SET); + } + +@@ -100,11 +100,11 @@ public: + } + } + +- virtual Imath::Int64 tellp() { ++ virtual uint64_t tellp() { + return _io->tell_proc(_handle); + } + +- virtual void seekp(Imath::Int64 pos) { ++ virtual void seekp(uint64_t pos) { + _io->seek_proc(_handle, (unsigned)pos, SEEK_SET); + } + }; diff --git a/Source/FreeImage/PluginTIFF.cpp b/Source/FreeImage/PluginTIFF.cpp index 562fdd7..ce12649 100644 --- a/Source/FreeImage/PluginTIFF.cpp @@ -38,7 +66,7 @@ index 562fdd7..ce12649 100644 #include #include "../Metadata/FreeImageTag.h" -#include "../OpenEXR/Half/half.h" -+#include ++#include #include "FreeImageIO.h" #include "PSDParser.h" diff --git a/ports/freeimage/vcpkg.json b/ports/freeimage/vcpkg.json index 3d68598ad5da2f..a4d10ce021cba9 100644 --- a/ports/freeimage/vcpkg.json +++ b/ports/freeimage/vcpkg.json @@ -1,21 +1,35 @@ { "name": "freeimage", "version": "3.18.0", - "port-version": 21, + "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", "dependencies": [ + "imath", "jxrlib", "libjpeg-turbo", "libpng", "libraw", { "name": "libwebp", + "default-features": false, "platform": "!uwp" }, "openexr", "openjpeg", - "tiff", + { + "name": "tiff", + "default-features": false + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, "zlib" ] } diff --git a/ports/freeopcua/portfile.cmake b/ports/freeopcua/portfile.cmake index 566c7a52744fe3..47450efcf8e74b 100644 --- a/ports/freeopcua/portfile.cmake +++ b/ports/freeopcua/portfile.cmake @@ -15,9 +15,8 @@ vcpkg_from_github( fix-std-headers.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_PYTHON=OFF -DBUILD_TESTING=OFF @@ -25,12 +24,12 @@ vcpkg_configure_cmake( -DCMAKE_DEBUG_POSTFIX=d ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +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) +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/freeopcua" RENAME copyright) vcpkg_fixup_pkgconfig() diff --git a/ports/freeopcua/vcpkg.json b/ports/freeopcua/vcpkg.json index 02da47e65d08bc..91498a4013e7a9 100644 --- a/ports/freeopcua/vcpkg.json +++ b/ports/freeopcua/vcpkg.json @@ -1,7 +1,7 @@ { "name": "freeopcua", - "version-string": "20190125", - "port-version": 5, + "version": "20190125", + "port-version": 7, "description": "OPC-UA server and client library written in C++ and with a lot of code auto-generated from xml specification using python.", "dependencies": [ "boost-asio", @@ -12,6 +12,14 @@ "boost-program-options", "boost-property-tree", "boost-system", - "boost-thread" + "boost-thread", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } 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/cmake-project-include.cmake b/ports/freerdp/cmake-project-include.cmake new file mode 100644 index 00000000000000..a8be06032b066a --- /dev/null +++ b/ports/freerdp/cmake-project-include.cmake @@ -0,0 +1,21 @@ +find_package(PkgConfig REQUIRED) +if(CHANNEL_URBDRC) + pkg_check_modules(vcpkg_libusb REQUIRED libusb-1.0) + set(LIBUSB_1_INCLUDE_DIR "${vcpkg_libusb_INCLUDE_DIRS}") + set(LIBUSB_1_LIBRARY "${vcpkg_libusb_LINK_LIBRARIES}") + string(REPLACE "-Wl,-framework," "-framework " libusb_frameworks "${vcpkg_libusb_LDFLAGS}") + list(FILTER libusb_frameworks INCLUDE REGEX "^-framework ") + list(APPEND LIBUSB_1_LIBRARY ${libusb_frameworks}) +endif() +if(WITH_FFMPEG) + # Exact pkg_check_modules signature as in project + pkg_check_modules(AVCODEC libavcodec) + set(AVCODEC_LIBRARY "${AVCODEC_LINK_LIBRARIES}") + pkg_check_modules(AVUTIL libavutil) + set(AVUTIL_LIBRARY "${AVUTIL_LINK_LIBRARIES}") + string(REPLACE "-Wl,-framework," "-framework " avutil_frameworks "${AVUTIL_LDFLAGS}") + list(FILTER avutil_frameworks INCLUDE REGEX "^-framework ") + list(APPEND AVUTIL_LIBRARY ${avutil_frameworks}) + pkg_check_modules(SWRESAMPLE libswresample) + set(SWRESAMPLE_LIBRARY "${SWRESAMPLE_LINK_LIBRARIES}") +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/fix-include-path.patch b/ports/freerdp/fix-include-path.patch deleted file mode 100644 index dc65230806b4cc..00000000000000 --- a/ports/freerdp/fix-include-path.patch +++ /dev/null @@ -1,52 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 97ba2f9..64a2f33 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -107,7 +107,7 @@ else() - endif() - message("FREERDP_VERSION=${FREERDP_VERSION_FULL}") - --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 a94090a..08b6b88 100644 ---- a/winpr/CMakeLists.txt -+++ b/winpr/CMakeLists.txt -@@ -215,7 +215,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-libusb.patch b/ports/freerdp/fix-libusb.patch deleted file mode 100644 index 51f98b4719c443..00000000000000 --- a/ports/freerdp/fix-libusb.patch +++ /dev/null @@ -1,45 +0,0 @@ -diff --git a/channels/urbdrc/client/libusb/libusb_udevice.c b/channels/urbdrc/client/libusb/libusb_udevice.c -index 814540756..56809fe45 100644 ---- a/channels/urbdrc/client/libusb/libusb_udevice.c -+++ b/channels/urbdrc/client/libusb/libusb_udevice.c -@@ -232,7 +232,7 @@ static void async_transfer_user_data_free(ASYNC_TRANSFER_USER_DATA* user_data) - } - } - --static void func_iso_callback(struct libusb_transfer* transfer) -+static void LIBUSB_CALL func_iso_callback(struct libusb_transfer* transfer) - { - ASYNC_TRANSFER_USER_DATA* user_data = (ASYNC_TRANSFER_USER_DATA*)transfer->user_data; - const UINT32 streamID = stream_id_from_buffer(transfer); -@@ -331,7 +331,7 @@ static const LIBUSB_ENDPOINT_DESCEIPTOR* func_get_ep_desc(LIBUSB_CONFIG_DESCRIPT - return NULL; - } - --static void func_bulk_transfer_cb(struct libusb_transfer* transfer) -+static void LIBUSB_CALL func_bulk_transfer_cb(struct libusb_transfer* transfer) - { - ASYNC_TRANSFER_USER_DATA* user_data; - uint32_t streamID; -diff --git a/channels/urbdrc/client/libusb/libusb_udevman.c b/channels/urbdrc/client/libusb/libusb_udevman.c -index 1638b8c13..b1440f300 100644 ---- a/channels/urbdrc/client/libusb/libusb_udevman.c -+++ b/channels/urbdrc/client/libusb/libusb_udevman.c -@@ -580,7 +580,7 @@ static BOOL device_is_filtered(struct libusb_device* dev, - return filtered; - } - --static int hotplug_callback(struct libusb_context* ctx, struct libusb_device* dev, -+static int LIBUSB_CALL hotplug_callback(struct libusb_context* ctx, struct libusb_device* dev, - libusb_hotplug_event event, void* user_data) - { - VID_PID_PAIR pair; -@@ -859,7 +859,7 @@ static BOOL poll_libusb_events(UDEVMAN* udevman) - return rc > 0; - } - --static DWORD poll_thread(LPVOID lpThreadParameter) -+static DWORD __stdcall poll_thread(LPVOID lpThreadParameter) - { - libusb_hotplug_callback_handle handle; - UDEVMAN* udevman = (UDEVMAN*)lpThreadParameter; - \ No newline at end of file diff --git a/ports/freerdp/fix-linux-build.patch b/ports/freerdp/fix-linux-build.patch deleted file mode 100644 index 92f2cd4c14d547..00000000000000 --- a/ports/freerdp/fix-linux-build.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/winpr/tools/makecert-cli/CMakeLists.txt b/winpr/tools/makecert-cli/CMakeLists.txt -index 48fda5b..4e15a22 100644 ---- a/winpr/tools/makecert-cli/CMakeLists.txt -+++ b/winpr/tools/makecert-cli/CMakeLists.txt -@@ -42,7 +42,7 @@ add_executable(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS}) - - set(${MODULE_PREFIX}_LIBS winpr-tools) - --target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS} winpr) -+target_link_libraries(${MODULE_NAME} ${OPENSSL_LIBRARIES} ${${MODULE_PREFIX}_LIBS} winpr) - - set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "WinPR/Tools") - diff --git a/ports/freerdp/install-dirs.patch b/ports/freerdp/install-dirs.patch deleted file mode 100644 index 5b5e178beb07be..00000000000000 --- a/ports/freerdp/install-dirs.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 5e67ef9..4ef3e8e 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -18,7 +18,7 @@ - # See the License for the specific language governing permissions and - # limitations under the License. - --cmake_minimum_required(VERSION 2.8) -+cmake_minimum_required(VERSION 3.11) - - project(FreeRDP C CXX) - 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/openssl_threads.patch b/ports/freerdp/openssl_threads.patch deleted file mode 100644 index ca312df4015e4f..00000000000000 --- a/ports/freerdp/openssl_threads.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 97ba2f9..fc36185 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -907,6 +907,7 @@ if(OPENSSL_FOUND) - add_definitions("-DWITH_OPENSSL") - message(STATUS "Using OpenSSL Version: ${OPENSSL_VERSION}") - include_directories(${OPENSSL_INCLUDE_DIR}) -+ list(APPEND OPENSSL_LIBRARIES Threads::Threads) - endif() - - if(MBEDTLS_FOUND) diff --git a/ports/freerdp/portfile.cmake b/ports/freerdp/portfile.cmake index e2367700d4aaad..d23c75483d7050 100644 --- a/ports/freerdp/portfile.cmake +++ b/ports/freerdp/portfile.cmake @@ -1,141 +1,131 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO FreeRDP/FreeRDP - REF 647a48dfa7b19ef6bbfa68a69b5d87717541ef21 #2.4.0 - SHA512 c72072df6f2b3ebc1b632f2e3b40bdcc732e25e7c4ef97b93bc5c5351566b553f682b615e6383ac7c5a1b5ecf8ed0fa9a305ea8c904031d4c78d7c3179323032 + REF "${VERSION}" + SHA512 72d978326a3641e69706c158cd5c4b1a4138dedbe1bf8c0f1c02fbb03291c1a49ff36afdaf8cf432fee84952bbaecf8801efa3f1afb50f600490e36ec3d577ef HEAD_REF master PATCHES - DontInstallSystemRuntimeLibs.patch - fix-linux-build.patch - openssl_threads.patch - fix-include-path.patch - fix-libusb.patch - install-dirs.patch + dependencies.patch + install-layout.patch + windows-linkage.patch ) +file(WRITE "${SOURCE_PATH}/.source_version" "${VERSION}-vcpkg") +file(WRITE "${SOURCE_PATH}/CMakeCPack.cmake" "") -if (NOT VCPKG_TARGET_IS_WINDOWS) - message(WARNING "${PORT} currently requires the following libraries from the system package manager:\n libxfixes-dev\n") +if("x11" IN_LIST FEATURES) + message(STATUS "${PORT} currently requires the following libraries from the system package manager:\n libxfixes-dev\n") endif() -set(FREERDP_WITH_CLIENT) -if (VCPKG_TARGET_IS_OSX OR VCPKG_TARGET_IS_LINUX) - set(FREERDP_WITH_CLIENT -DWITH_CLIENT=OFF) -endif() - -set(FREERDP_CRT_LINKAGE) -if(VCPKG_CRT_LINKAGE STREQUAL "static") - set(FREERDP_CRT_LINKAGE -DMSVC_RUNTIME=static) -endif() - -get_filename_component(SOURCE_VERSION "${SOURCE_PATH}" NAME) -file(WRITE "${SOURCE_PATH}/.source_version" "${SOURCE_VERSION}-vcpkg") - -file(REMOVE ${SOURCE_PATH}/cmake/FindOpenSSL.cmake) # Remove outdated Module vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES - urbdrc CHANNEL_URBDRC + ffmpeg WITH_FFMPEG + ffmpeg WITH_SWSCALE + server WITH_SERVER + urbdrc CHANNEL_URBDRC + wayland WITH_WAYLAND + winpr-tools WITH_WINPR_TOOLS + x11 WITH_X11 ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_list(SET GENERATOR_OPTION) +if(VCPKG_TARGET_IS_OSX) + list(APPEND GENERATOR_OPTION GENERATOR "Unix Makefiles") +endif() + +vcpkg_find_acquire_program(PKGCONFIG) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + ${GENERATOR_OPTION} OPTIONS - ${FREERDP_CRT_LINKAGE} - ${FREERDP_WITH_CLIENT} ${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, 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 ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() - -file(GLOB_RECURSE TOOLS_RELEASE ${CURRENT_PACKAGES_DIR}/bin/*.exe) - -if(TOOLS_RELEASE) - file(COPY ${TOOLS_RELEASE} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT}) - - file(GLOB_RECURSE TOOLS_DEBUG ${CURRENT_PACKAGES_DIR}/debug/bin/*.exe) - file(REMOVE ${TOOLS_RELEASE} ${TOOLS_DEBUG}) +vcpkg_fixup_pkgconfig() + +vcpkg_list(SET tools) +if(VCPKG_TARGET_IS_WINDOWS) + if("server" IN_LIST FEATURES) + list(APPEND tools wfreerdp-server-cli) + endif() +elseif(VCPKG_TARGET_IS_OSX) + if("server" IN_LIST FEATURES) + list(APPEND tools mfreerdp-server) + endif() endif() - -vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT}) - -if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - file(GLOB_RECURSE FREERDP_DLLS "${CURRENT_PACKAGES_DIR}/lib/*.dll") - foreach(FREERDP_DLL ${FREERDP_DLLS}) - file(COPY ${FREERDP_DLL} DESTINATION ${CURRENT_PACKAGES_DIR}/bin) - file(REMOVE ${FREERDP_DLL}) - endforeach() - - file(GLOB_RECURSE FREERDP_DLLS "${CURRENT_PACKAGES_DIR}/debug/lib/*.dll") - foreach(FREERDP_DLL ${FREERDP_DLLS}) - file(COPY ${FREERDP_DLL} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) - file(REMOVE ${FREERDP_DLL}) - endforeach() -else() - file(GLOB_RECURSE FREERDP_TOOLS "${CURRENT_PACKAGES_DIR}/bin/*") - foreach(FREERDP_TOOL ${FREERDP_TOOLS}) - file(COPY ${FREERDP_TOOL} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT}) - file(REMOVE ${FREERDP_TOOL}) - endforeach() - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) +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("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() +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) -foreach(PACKAGE FreeRDP-Client2 FreeRDP2 WinPR2) - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/lib/cmake/${PACKAGE}_temp) - file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cmake/${PACKAGE} ${CURRENT_PACKAGES_DIR}/lib/cmake/${PACKAGE}_temp/${PACKAGE}) - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/lib/cmake/${PACKAGE}_temp) - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/cmake/${PACKAGE} ${CURRENT_PACKAGES_DIR}/debug/lib/cmake/${PACKAGE}_temp/${PACKAGE}) -endforeach() - -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/FreeRDP-Client2_temp/FreeRDP-Client2 TARGET_PATH share/FreeRDP-Client) -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/FreeRDP2_temp/FreeRDP2 TARGET_PATH share/FreeRDP) -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/WinPR2_temp/WinPR2 TARGET_PATH share/WinPR) - -vcpkg_fixup_pkgconfig(SKIP_CHECK) - -vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/share/WinPR/WinPRTargets-debug.cmake - "debug/lib/winpr2${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}" - "debug/bin/winpr2${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}" -) -vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/share/WinPR/WinPRTargets-debug.cmake - "debug/lib/winpr-tools2${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}" - "debug/bin/winpr-tools2${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}" -) -vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/share/WinPR/WinPRTargets-release.cmake - "lib/winpr2${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}" - "bin/winpr2${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}" -) -vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/share/WinPR/WinPRTargets-release.cmake - "lib/winpr-tools2${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}" - "bin/winpr-tools2${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}" -) -vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/share/FreeRDP/FreeRDPTargets-debug.cmake - "debug/lib/freerdp2${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}" - "debug/bin/freerdp2${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}" -) -vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/share/FreeRDP/FreeRDPTargets-release.cmake - "lib/freerdp2${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}" - "bin/freerdp2${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}" -) -vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/share/FreeRDP-Client/FreeRDP-ClientTargets-debug.cmake - "debug/lib/freerdp-client2${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}" - "debug/bin/freerdp-client2${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}" -) -vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/share/FreeRDP-Client/FreeRDP-ClientTargets-release.cmake - "lib/freerdp-client2${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}" - "bin/freerdp-client2${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}" -) +if(tools) + vcpkg_copy_tools(TOOL_NAMES ${tools} AUTO_CLEAN) +endif() -if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(GLOB OBJS ${CURRENT_PACKAGES_DIR}/debug/*.lib) - file(REMOVE ${OBJS}) - file(GLOB OBJS ${CURRENT_PACKAGES_DIR}/*.lib) - file(REMOVE ${OBJS}) +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(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include - ${CURRENT_PACKAGES_DIR}/debug/share - ${CURRENT_PACKAGES_DIR}/debug/lib/cmake - ${CURRENT_PACKAGES_DIR}/lib/cmake) +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/vcpkg.json b/ports/freerdp/vcpkg.json index f93e95b23a3d6b..974c49696e0790 100644 --- a/ports/freerdp/vcpkg.json +++ b/ports/freerdp/vcpkg.json @@ -1,23 +1,75 @@ { "name": "freerdp", - "version": "2.4.0", - "port-version": 1, + "version": "3.8.0", "description": "A free implementation of the Remote Desktop Protocol (RDP)", "homepage": "https://github.com/FreeRDP/FreeRDP", - "supports": "!(arm | uwp)", + "license": "Apache-2.0", + "supports": "!uwp", "dependencies": [ + "cjson", + "openssl", { - "name": "glib", - "platform": "!windows" + "name": "vcpkg-cmake", + "host": true }, - "openssl" + { + "name": "vcpkg-cmake-config", + "host": true + }, + "zlib" ], "features": { + "ffmpeg": { + "description": "Enable image scaling, video and audio with ffmpeg", + "supports": "!windows", + "dependencies": [ + { + "name": "ffmpeg", + "default-features": false, + "features": [ + "avcodec", + "swresample", + "swscale" + ] + } + ] + }, + "server": { + "description": "Build server components", + "supports": "!android & !ios & !uwp", + "dependencies": [ + { + "name": "freerdp", + "default-features": false, + "features": [ + "winpr-tools" + ] + } + ] + }, "urbdrc": { "description": "USB redirection channel support", "dependencies": [ "libusb" ] + }, + "wayland": { + "description": "Enable wayland support", + "supports": "!android & !ios & !openbsd & !osx & !windows", + "dependencies": [ + "wayland" + ] + }, + "winpr-tools": { + "description": "Build winpr tools", + "supports": "!android & !ios & !uwp" + }, + "x11": { + "description": "Enable X11 support", + "supports": "!android & !ios & !windows & !osx", + "dependencies": [ + "xcb" + ] } } } 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/freetds/disable-tests.patch b/ports/freetds/disable-tests.patch new file mode 100644 index 00000000000000..0cf0c6ee06a869 --- /dev/null +++ b/ports/freetds/disable-tests.patch @@ -0,0 +1,94 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 7ac6cc58..1a6a4f0e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -64,9 +64,9 @@ math(EXPR BUILD_NUMBER "${BUILD_NUMBER}") + + set(FREETDS_TOPDIR ${CMAKE_CURRENT_LIST_DIR}) + +-enable_testing() +-set(CMAKE_CTEST_COMMAND ctest) +-add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND}) ++#enable_testing() ++#set(CMAKE_CTEST_COMMAND ctest) ++#add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND}) + + # TODO depends on configure + add_definitions(-D_REENTRANT -D_THREAD_SAFE) +@@ -459,9 +459,11 @@ add_subdirectory(src/tds) + add_subdirectory(src/ctlib) + add_subdirectory(src/dblib) + add_subdirectory(src/odbc) +-add_subdirectory(src/apps) ++if(WITH_TOOLS) ++ add_subdirectory(src/apps) ++ add_subdirectory(src/pool) ++endif() + add_subdirectory(src/server) +-add_subdirectory(src/pool) + + configure_file(${CMAKE_BINARY_DIR}/include/config.h.in ${CMAKE_BINARY_DIR}/include/config.h) + configure_file(${CMAKE_SOURCE_DIR}/include/tds_sysdep_public.h.in ${CMAKE_BINARY_DIR}/include/tds_sysdep_public.h) +diff --git a/src/ctlib/CMakeLists.txt b/src/ctlib/CMakeLists.txt +index e83b0b1a..017d571a 100644 +--- a/src/ctlib/CMakeLists.txt ++++ b/src/ctlib/CMakeLists.txt +@@ -1,4 +1,4 @@ +-add_subdirectory(unittests) ++#add_subdirectory(unittests) + + set(static_lib_name ct) + if(WIN32) +diff --git a/src/dblib/CMakeLists.txt b/src/dblib/CMakeLists.txt +index 5f1766f4..c70e87a3 100644 +--- a/src/dblib/CMakeLists.txt ++++ b/src/dblib/CMakeLists.txt +@@ -1,4 +1,4 @@ +-add_subdirectory(unittests) ++#add_subdirectory(unittests) + + if(WIN32) + set(win_SRCS winmain.c dblib.def dbopen.c) +diff --git a/src/odbc/CMakeLists.txt b/src/odbc/CMakeLists.txt +index ec8eaadd..6f9f32c9 100644 +--- a/src/odbc/CMakeLists.txt ++++ b/src/odbc/CMakeLists.txt +@@ -1,4 +1,4 @@ +-add_subdirectory(unittests) ++#add_subdirectory(unittests) + + # TODO checks + add_definitions(-DUNIXODBC -DHAVE_SQLGETPRIVATEPROFILESTRING) +diff --git a/src/replacements/CMakeLists.txt b/src/replacements/CMakeLists.txt +index 48d7e536..f7b490f8 100644 +--- a/src/replacements/CMakeLists.txt ++++ b/src/replacements/CMakeLists.txt +@@ -41,7 +41,7 @@ if (NOT WIN32) + set_target_properties(replacements PROPERTIES POSITION_INDEPENDENT_CODE ON) + endif() + +-add_subdirectory(unittests) ++#add_subdirectory(unittests) + + + INSTALL(TARGETS replacements +diff --git a/src/tds/CMakeLists.txt b/src/tds/CMakeLists.txt +index 134a30cb..5426571b 100644 +--- a/src/tds/CMakeLists.txt ++++ b/src/tds/CMakeLists.txt +@@ -1,4 +1,4 @@ +-add_subdirectory(unittests) ++#add_subdirectory(unittests) + + if(PERL_FOUND AND NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/tds_willconvert.h") + if (NOT GPERF) +diff --git a/src/utils/CMakeLists.txt b/src/utils/CMakeLists.txt +index 2a1935c9..a46483e0 100644 +--- a/src/utils/CMakeLists.txt ++++ b/src/utils/CMakeLists.txt +@@ -1,4 +1,4 @@ +-add_subdirectory(unittests) ++#add_subdirectory(unittests) + + if(WIN32) + set(add_SRCS md5.c) diff --git a/ports/freetds/portfile.cmake b/ports/freetds/portfile.cmake index c3f0b5f948e05a..288f2de314677e 100644 --- a/ports/freetds/portfile.cmake +++ b/ports/freetds/portfile.cmake @@ -1,74 +1,53 @@ -vcpkg_fail_port_install(ON_TARGET "uwp" "linux" "osx") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO freetds/freetds - REF 16f7a6280c7a19bfe5c60e5d61cc08e3f2dff991 # See https://github.com/microsoft/vcpkg/pull/14120#issuecomment-715896755 + REF v1.3.10 HEAD_REF master - SHA512 34ff10764156bac24444a74b636fafa56adc0097a62a3f3249d4bc09a0cdcaa88aa0c4f26761260c56dd47edf738ff68f647e045f32cac28e0be7f6760f7f90b + SHA512 78b494c04e3436bfdc4997e6f0196baef27246bb7ad825c487a16f247d13c99324a39d52bfe8f5306164ae3f5c7eb43ca83944b24a3ce6b4bcd733849b4064ad + PATCHES + disable-tests.patch ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES openssl WITH_OPENSSL + tools WITH_TOOLS ) vcpkg_find_acquire_program(PERL) get_filename_component(PERL_PATH ${PERL} DIRECTORY) -vcpkg_add_to_path(${PERL_PATH}) +vcpkg_add_to_path("${PERL_PATH}") -if (VCPKG_TARGET_IS_WINDOWS) - vcpkg_find_acquire_program(GPERF) - get_filename_component(GPERF_PATH ${GPERF} DIRECTORY) - vcpkg_add_to_path(${GPERF_PATH}) -else() - if (NOT EXISTS /usr/bin/gperf) - message(FATAL_ERROR "freetds requires gperf, these can be installed on Ubuntu systems via apt-get install gperf.") - endif() +vcpkg_add_to_path(PREPEND "${CURRENT_HOST_INSTALLED_DIR}/tools/gperf") + +set(_WCHAR_SUPPORT ON) +if(NOT VCPKG_TARGET_IS_WINDOWS) + set(_WCHAR_SUPPORT OFF) endif() -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" DISABLE_PARALLEL_CONFIGURE - OPTIONS ${FEATURE_OPTIONS} + OPTIONS + ${FEATURE_OPTIONS} + -DENABLE_ODBC_WIDE=${_WCHAR_SUPPORT} ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/bsqldb.exe) -file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/bsqlodbc.exe) -file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/datacopy.exe) -file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/defncopy.exe) -file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/freebcp.exe) -file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/tdspool.exe) -file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/tsql.exe) -file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/bsqldb) -file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/bsqlodbc) -file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/datacopy) -file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/defncopy) -file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/freebcp) -file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/tdspool) -file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/tsql) -file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/bsqldb.exe) -file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/bsqlodbc.exe) -file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/datacopy.exe) -file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/defncopy.exe) -file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/freebcp.exe) -file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/tdspool.exe) -file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/tsql.exe) -file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/bsqldb) -file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/bsqlodbc) -file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/datacopy) -file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/defncopy) -file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/freebcp) -file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/tdspool) -file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/tsql) +if("tools" IN_LIST FEATURES) + vcpkg_copy_tools(TOOL_NAMES bsqldb bsqlodbc datacopy defncopy freebcp tdspool tsql AUTO_CLEAN) + if(EXISTS "${CURRENT_PACKAGES_DIR}/etc") + file(INSTALL "${CURRENT_PACKAGES_DIR}/etc" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}/etc") + endif() +endif() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/etc" "${CURRENT_PACKAGES_DIR}/debug/etc") if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") endif() -file(INSTALL ${SOURCE_PATH}/COPYING.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/COPYING.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/freetds/vcpkg.json b/ports/freetds/vcpkg.json index b653876fcb2600..be1146fd765757 100644 --- a/ports/freetds/vcpkg.json +++ b/ports/freetds/vcpkg.json @@ -1,10 +1,29 @@ { "name": "freetds", - "version-string": "1.2.11", - "port-version": 1, + "version": "1.3.10", + "port-version": 2, "description": "Implementation of the Tabular Data Stream protocol", "homepage": "https://www.freetds.org", - "supports": "windows & !uwp", + "license": "GPL-2.0-only", + "supports": "windows & !uwp & !xbox", + "dependencies": [ + { + "name": "gperf", + "host": true + }, + { + "name": "libmysql", + "platform": "windows" + }, + { + "name": "unixodbc", + "platform": "!windows" + }, + { + "name": "vcpkg-cmake", + "host": true + } + ], "default-features": [ "openssl" ], @@ -14,6 +33,9 @@ "dependencies": [ "openssl" ] + }, + "tools": { + "description": "Build tools" } } } diff --git a/ports/freetype-gl/0001-Link-to-dependencies-also-for-static-build.patch b/ports/freetype-gl/0001-Link-to-dependencies-also-for-static-build.patch new file mode 100644 index 00000000000000..d81093da392f2c --- /dev/null +++ b/ports/freetype-gl/0001-Link-to-dependencies-also-for-static-build.patch @@ -0,0 +1,43 @@ +From 1ad7d07765445511d51f3888ffdedba2cb282e84 Mon Sep 17 00:00:00 2001 +From: Stig Hornang +Date: Sun, 1 May 2022 21:57:18 +0200 +Subject: [PATCH 1/4] Link to dependencies also for static build + +--- + CMakeLists.txt | 13 +++++++------ + 1 file changed, 7 insertions(+), 6 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2ccbf9a..b5db60a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -185,12 +185,6 @@ if(freetype-gl_BUILD_SHARED) + PROPERTIES + VERSION 0.3.2 + SOVERSION 0) +- target_link_libraries (freetype-gl +- ${OPENGL_LIBRARY} +- ${FREETYPE_LIBRARIES} +- ${MATH_LIBRARY} +- ${GLEW_LIBRARY} +- ) + else() + add_library(freetype-gl STATIC + ${FREETYPE_GL_SRC} +@@ -198,6 +192,13 @@ else() + ) + endif() + ++target_link_libraries(freetype-gl ++ ${OPENGL_LIBRARY} ++ ${FREETYPE_LIBRARIES} ++ ${MATH_LIBRARY} ++ ${GLEW_LIBRARY} ++) ++ + if(freetype-gl_BUILD_MAKEFONT) + add_executable(makefont makefont.c) + +-- +2.27.0 + diff --git a/ports/freetype-gl/0002-Remove-duplicate-installs.patch b/ports/freetype-gl/0002-Remove-duplicate-installs.patch new file mode 100644 index 00000000000000..2006d4ee3a15cc --- /dev/null +++ b/ports/freetype-gl/0002-Remove-duplicate-installs.patch @@ -0,0 +1,31 @@ +From 9af89db45ef951d5fd8e8be5b4029136f59e94a1 Mon Sep 17 00:00:00 2001 +From: Stig Hornang +Date: Sun, 1 May 2022 22:00:38 +0200 +Subject: [PATCH 2/4] Remove duplicate installs + +--- + CMakeLists.txt | 11 ----------- + 1 file changed, 11 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b5db60a..09163ec 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -249,14 +249,3 @@ if ("${LIB64}" STREQUAL "TRUE") + else() + set(LIBSUFFIX "") + endif() +- +-set(INSTALL_LIB_DIR lib${LIBSUFFIX} CACHE PATH "Installation directory for libraries") +-mark_as_advanced(INSTALL_LIB_DIR) +- +-install(TARGETS freetype-gl +- ARCHIVE DESTINATION ${INSTALL_LIB_DIR} +- LIBRARY DESTINATION ${INSTALL_LIB_DIR} +- COMPONENT library) +-install(FILES ${FREETYPE_GL_HDR} DESTINATION include +- COMPONENT headers) +- +-- +2.27.0 + diff --git a/ports/freetype-gl/0003-Add-exports.patch b/ports/freetype-gl/0003-Add-exports.patch new file mode 100644 index 00000000000000..2fdfe8ae6e9e5e --- /dev/null +++ b/ports/freetype-gl/0003-Add-exports.patch @@ -0,0 +1,34 @@ +From 2c2e7e6cc7cb55eff502889421fe7a207cec932d Mon Sep 17 00:00:00 2001 +From: Stig Hornang +Date: Sun, 1 May 2022 22:01:00 +0200 +Subject: [PATCH 3/4] Add exports + +--- + CMakeLists.txt | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 09163ec..fd40e68 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -217,7 +217,7 @@ if(freetype-gl_BUILD_MAKEFONT) + endif() + endif() + +-install(TARGETS freetype-gl ++install(TARGETS freetype-gl EXPORT freetype-glConfig + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib) +@@ -249,3 +249,8 @@ if ("${LIB64}" STREQUAL "TRUE") + else() + set(LIBSUFFIX "") + endif() ++ ++install( ++ EXPORT freetype-glConfig ++ DESTINATION share/freetype-gl ++) +-- +2.27.0 + diff --git a/ports/freetype-gl/0004-Change-install-dir-for-pkgconfig.patch b/ports/freetype-gl/0004-Change-install-dir-for-pkgconfig.patch new file mode 100644 index 00000000000000..8938ce606282cb --- /dev/null +++ b/ports/freetype-gl/0004-Change-install-dir-for-pkgconfig.patch @@ -0,0 +1,25 @@ +From ad0c57a370a15e8114447b8170ecddf14f21d352 Mon Sep 17 00:00:00 2001 +From: Stig Hornang +Date: Tue, 3 May 2022 20:27:09 +0200 +Subject: [PATCH 4/4] Change install dir for pkgconfig + +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index fd40e68..4f8d7dd 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -172,7 +172,7 @@ if(NOT MSVC) + set(PKG_CONFIG_LIBDIR "\${exec_prefix}/lib") + set(PKG_CONFIG_INCLUDEDIR "\${prefix}/include") + configure_file(freetype-gl.pc.in ${CMAKE_CURRENT_BINARY_DIR}/freetype-gl.pc @ONLY) +- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/freetype-gl.pc DESTINATION ${PKG_CONFIG_PREFIX}/share/pkgconfig) ++ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/freetype-gl.pc DESTINATION ${PKG_CONFIG_PREFIX}/lib/pkgconfig) + endif() + + if(freetype-gl_BUILD_SHARED) +-- +2.27.0 + diff --git a/ports/freetype-gl/0005-add-version.patch b/ports/freetype-gl/0005-add-version.patch new file mode 100644 index 00000000000000..f23c2e4cab4a06 --- /dev/null +++ b/ports/freetype-gl/0005-add-version.patch @@ -0,0 +1,11 @@ +diff --git a/freetype-gl.pc.in b/freetype-gl.pc.in +index 3b33096..a5ae350 100644 +--- a/freetype-gl.pc.in ++++ b/freetype-gl.pc.in +@@ -5,5 +5,6 @@ includedir=@PKG_CONFIG_INCLUDEDIR@ + + Name: freetype-gl + Description: OpenGL text using one vertex buffer, one texture and FreeType ++Version: 2022-01-17 + Libs: -L${libdir} -lfreetype-gl + Cflags: -I${includedir} diff --git a/ports/freetype-gl/glew.patch b/ports/freetype-gl/glew.patch deleted file mode 100644 index 01b7f616d9c940..00000000000000 --- a/ports/freetype-gl/glew.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 1c2e89fba..9e2d112c4 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -92,7 +92,7 @@ include_directories( - ${OPENGL_INCLUDE_DIRS} - ${FREETYPE_INCLUDE_DIRS} - ${CMAKE_CURRENT_SOURCE_DIR} -- ${GLEW_INCLUDE_PATH} -+ ${GLEW_INCLUDE_DIRS} - ) - - if(MSVC) diff --git a/ports/freetype-gl/portfile.cmake b/ports/freetype-gl/portfile.cmake index 59815437b4cf9d..45e30cbe7ea3eb 100644 --- a/ports/freetype-gl/portfile.cmake +++ b/ports/freetype-gl/portfile.cmake @@ -3,55 +3,42 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO rougier/freetype-gl - REF 1a8c007f3fe7b1441f9e5616bc23d7455f4b07dd # accessed on 2020-09-14 - SHA512 ce858b5d5e892162daf6f5bff3476938e15cb9f04adbf2dc2b4c538bfda56b023278b3acb62940a9388c46b89edfd22c9c1c99891f8fcf9d926ffedb8af2b38e + REF 85d7850744465ac1dcd00b202787d72a4a3a1f5d + SHA512 4505b2162610500336ab975a5a0ac2c09503f51b2fb52b433018059f628ef6f6add9618c940a80efebc311d82fe96fa813d356acbd858cc2dbac6a1829ab3031 HEAD_REF master - PATCHES glew.patch + PATCHES + 0001-Link-to-dependencies-also-for-static-build.patch + 0002-Remove-duplicate-installs.patch + 0003-Add-exports.patch + 0004-Change-install-dir-for-pkgconfig.patch + 0005-add-version.patch ) -# make sure that no "internal" libraries are used by removing them -file(REMOVE_RECURSE ${SOURCE_PATH}/windows/freetype) -file(REMOVE_RECURSE ${SOURCE_PATH}/windows/AntTweakBar) -file(REMOVE_RECURSE ${SOURCE_PATH}/windows/glew) -file(REMOVE ${SOURCE_PATH}/cmake/Modules/FindGLEW.cmake) +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + "glew" freetype-gl_WITH_GLEW + "glad" freetype-gl_WITH_GLAD +) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -Dfreetype-gl_BUILD_APIDOC=OFF -Dfreetype-gl_BUILD_DEMOS=OFF -Dfreetype-gl_BUILD_TESTS=OFF -Dfreetype-gl_BUILD_MAKEFONT=OFF + ${FEATURE_OPTIONS} ) -# We may soon install using a modified cmake process with install target - -# Although FreeType-GL uses CMake as its build system, the implementation -# (*.cmake,CMakeLists.txt) doesn't provide for any type of installation. -# Presumably, it has been used as-is, in-tree, without ever needing to install -# itself within a larger system. -vcpkg_build_cmake(LOGFILE_ROOT install) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup() -file(GLOB HEADER_FILES "${SOURCE_PATH}/*.h") -file(INSTALL ${HEADER_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include/freetype-gl) - -# LIB -file(GLOB LIBS - "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/*${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}" - "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/Release/*${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}" - "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/*/Release/*${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}" -) -file(GLOB DEBUG_LIBS - "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/*${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}" - "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/Debug/*${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}" - "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/*/Debug/*${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}" -) +vcpkg_copy_pdbs() -file(INSTALL ${LIBS} DESTINATION ${CURRENT_PACKAGES_DIR}/lib) -file(INSTALL ${DEBUG_LIBS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() -# Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/freetype-gl RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/freetype-gl/vcpkg.json b/ports/freetype-gl/vcpkg.json index 6ac62331cbd916..f3f70985a85f22 100644 --- a/ports/freetype-gl/vcpkg.json +++ b/ports/freetype-gl/vcpkg.json @@ -1,11 +1,35 @@ { "name": "freetype-gl", - "version-string": "2020-09-14", - "port-version": 1, + "version-date": "2022-01-17", + "port-version": 3, "description": "OpenGL text using one vertex buffer, one texture and FreeType", "homepage": "https://github.com/rougier/freetype-gl", "dependencies": [ "freetype", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "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/brotli-static.patch b/ports/freetype/brotli-static.patch index 6d657aa5a3ca22..d872e8dfecd537 100644 --- a/ports/freetype/brotli-static.patch +++ b/ports/freetype/brotli-static.patch @@ -2,7 +2,7 @@ diff --git a/builds/cmake/FindBrotliDec.cmake b/builds/cmake/FindBrotliDec.cmake index 46356b1fd..ed4cc2409 100644 --- a/builds/cmake/FindBrotliDec.cmake +++ b/builds/cmake/FindBrotliDec.cmake -@@ -35,10 +35,17 @@ find_path(BROTLIDEC_INCLUDE_DIRS +@@ -35,10 +35,15 @@ find_path(BROTLIDEC_INCLUDE_DIRS PATH_SUFFIXES brotli) find_library(BROTLIDEC_LIBRARIES @@ -11,13 +11,11 @@ index 46356b1fd..ed4cc2409 100644 HINTS ${PC_BROTLIDEC_LIBDIR} ${PC_BROTLIDEC_LIBRARY_DIRS}) -+if(BROTLIDEC_LIBRARIES MATCHES "-static") + find_library(BROTLICOMMON_LIBRARIES -+ NAMES brotlicommon-static ++ NAMES brotlicommon-static brotlicommon NAMES_PER_DIR + HINTS ${PC_BROTLIDEC_LIBDIR} + ${PC_BROTLIDEC_LIBRARY_DIRS}) -+ set(BROTLIDEC_LIBRARIES ${BROTLIDEC_LIBRARIES} ${BROTLICOMMON_LIBRARIES}) -+endif() ++ set(BROTLIDEC_LIBRARIES "${BROTLIDEC_LIBRARIES};${BROTLICOMMON_LIBRARIES}") include(FindPackageHandleStandardArgs) find_package_handle_standard_args( diff --git a/ports/freetype/bzip2.patch b/ports/freetype/bzip2.patch new file mode 100644 index 00000000000000..c0f9101f758b97 --- /dev/null +++ b/ports/freetype/bzip2.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 469a141a2..eec19c7d0 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -517,7 +517,7 @@ if (BZIP2_FOUND) + if (PC_BZIP2_FOUND) + list(APPEND PKGCONFIG_REQUIRES_PRIVATE "bzip2") + else () +- list(APPEND PKGCONFIG_LIBS_PRIVATE "-lbz2") ++ list(APPEND PKGCONFIG_REQUIRES_PRIVATE "bzip2") + endif () + endif () + if (PNG_FOUND) diff --git a/ports/freetype/fix-2.11-msvc-build.patch b/ports/freetype/fix-2.11-msvc-build.patch deleted file mode 100644 index 49b7e8f2cd6400..00000000000000 --- a/ports/freetype/fix-2.11-msvc-build.patch +++ /dev/null @@ -1,152 +0,0 @@ -diff --git a/src/autofit/afglobal.c b/src/autofit/afglobal.c -index aedb74ddd..5d53dfb71 100644 ---- a/src/autofit/afglobal.c -+++ b/src/autofit/afglobal.c -@@ -19,6 +19,7 @@ - #include "afglobal.h" - #include "afranges.h" - #include "afshaper.h" -+#include "afws_dec.h" - #include - - -@@ -32,11 +33,6 @@ - #define FT_COMPONENT afglobal - - -- /* get writing system specific header files */ --#undef WRITING_SYSTEM --#define WRITING_SYSTEM( ws, WS ) /* empty */ --#include "afwrtsys.h" -- - #include "aferrors.h" - - -@@ -74,7 +70,7 @@ - af_writing_system_classes[] = - { - --#include "afwrtsys.h" -+#include "afws_itr.h" - - NULL /* do not remove */ - }; -diff --git a/src/autofit/aftypes.h b/src/autofit/aftypes.h -index e76b103ed..a036a0f56 100644 ---- a/src/autofit/aftypes.h -+++ b/src/autofit/aftypes.h -@@ -198,7 +198,6 @@ extern void* _af_debug_hints; - * outline according to the results of the glyph analyzer. - */ - --#define AFWRTSYS_H_ /* don't load header files */ - #undef WRITING_SYSTEM - #define WRITING_SYSTEM( ws, WS ) \ - AF_WRITING_SYSTEM_ ## WS, -@@ -207,14 +206,12 @@ extern void* _af_debug_hints; - typedef enum AF_WritingSystem_ - { - --#include "afwrtsys.h" -+#include "afws_itr.h" - - AF_WRITING_SYSTEM_MAX /* do not remove */ - - } AF_WritingSystem; - --#undef AFWRTSYS_H_ -- - - typedef struct AF_WritingSystemClassRec_ - { -diff --git a/src/autofit/afws_dec.h b/src/autofit/afws_dec.h -new file mode 100644 -index 000000000..39e707c5a ---- /dev/null -+++ b/src/autofit/afws_dec.h -@@ -0,0 +1,30 @@ -+/**************************************************************************** -+ * -+ * afws_dec.h -+ * -+ * Auto-fitter writing systems (specification only). -+ * -+ * Copyright (C) 2013-2021 by -+ * David Turner, Robert Wilhelm, and Werner Lemberg. -+ * -+ * This file is part of the FreeType project, and may only be used, -+ * modified, and distributed under the terms of the FreeType project -+ * license, LICENSE.TXT. By continuing to use, modify, or distribute -+ * this file you indicate that you have read the license and -+ * understand and accept it fully. -+ * -+ */ -+ -+ -+#ifndef AFWS_DEC_H_ -+#define AFWS_DEC_H_ -+ -+ /* Since preprocessor directives can't create other preprocessor */ -+ /* directives, we have to include the header files manually. */ -+ -+#include "afdummy.h" -+#include "aflatin.h" -+#include "afcjk.h" -+#include "afindic.h" -+ -+#endif /* AFWS_DEC_H_ */ -diff --git a/src/autofit/afwrtsys.h b/src/autofit/afws_itr.h -similarity index 66% -rename from src/autofit/afwrtsys.h -rename to src/autofit/afws_itr.h -index 39aa12112..2da77d459 100644 ---- a/src/autofit/afwrtsys.h -+++ b/src/autofit/afws_itr.h -@@ -1,6 +1,6 @@ - /**************************************************************************** - * -- * afwrtsys.h -+ * afws_itr.h - * - * Auto-fitter writing systems (specification only). - * -@@ -15,23 +15,8 @@ - * - */ - -- --#ifndef AFWRTSYS_H_ --#define AFWRTSYS_H_ -- -- /* Since preprocessor directives can't create other preprocessor */ -- /* directives, we have to include the header files manually. */ -- --#include "afdummy.h" --#include "aflatin.h" --#include "afcjk.h" --#include "afindic.h" -- --#endif /* AFWRTSYS_H_ */ -- -- -- /* The following part can be included multiple times. */ -- /* Define `WRITING_SYSTEM' as needed. */ -+ /* This header may be included multiple times. */ -+ /* Define `WRITING_SYSTEM' as needed. */ - - - /* Add new writing systems here. The arguments are the writing system */ -diff --git a/src/autofit/rules.mk b/src/autofit/rules.mk -index 19b3bcadb..a5438ecba 100644 ---- a/src/autofit/rules.mk -+++ b/src/autofit/rules.mk -@@ -48,7 +48,8 @@ AUTOF_DRV_H := $(AUTOF_DRV_SRC:%c=%h) \ - $(AUTOF_DIR)/afscript.h \ - $(AUTOF_DIR)/afstyles.h \ - $(AUTOF_DIR)/aftypes.h \ -- $(AUTOF_DIR)/afwrtsys.h -+ $(AUTOF_DIR)/afws_dec.h \ -+ $(AUTOF_DIR)/afws_itr.h - - - # AUTOF driver object(s) diff --git a/ports/freetype/fix-bzip2-pc.patch b/ports/freetype/fix-bzip2-pc.patch deleted file mode 100644 index dac43924c07e24..00000000000000 --- a/ports/freetype/fix-bzip2-pc.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index cb1b9a0f2..53d0bfc68 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -503,7 +503,7 @@ endif () - if (BZIP2_FOUND) - target_link_libraries(freetype PRIVATE ${BZIP2_LIBRARIES}) - target_include_directories(freetype PRIVATE ${BZIP2_INCLUDE_DIR}) # not BZIP2_INCLUDE_DIRS -- list(APPEND PKG_CONFIG_LIBS_PRIVATE "-lbz2") -+ list(APPEND PKG_CONFIG_REQUIRED_PRIVATE "bzip2") - endif () - if (PNG_FOUND) - target_link_libraries(freetype PRIVATE ${PNG_LIBRARIES}) diff --git a/ports/freetype/fix-exports.patch b/ports/freetype/fix-exports.patch index 44dea78010d1f0..7b12dc48772bb4 100644 --- a/ports/freetype/fix-exports.patch +++ b/ports/freetype/fix-exports.patch @@ -2,14 +2,14 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt index cb1b9a0f2..edca5d579 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -496,7 +496,7 @@ set(PKG_CONFIG_REQUIRED_PRIVATE "") - set(PKG_CONFIG_LIBS_PRIVATE "") +@@ -508,7 +508,6 @@ set(PKG_CONFIG_REQUIRED_PRIVATE "") + set(PKGCONFIG_LIBS_PRIVATE "") if (ZLIB_FOUND) -- target_link_libraries(freetype PRIVATE ${ZLIB_LIBRARIES}) -+ target_link_libraries(freetype PRIVATE ZLIB::ZLIB) - target_include_directories(freetype PRIVATE ${ZLIB_INCLUDE_DIRS}) - list(APPEND PKG_CONFIG_REQUIRED_PRIVATE "zlib") +- target_link_libraries(freetype PRIVATE ${ZLIB_LIBRARIES}) ++ target_link_libraries(freetype PRIVATE ZLIB::ZLIB) +- target_include_directories(freetype PRIVATE ${ZLIB_INCLUDE_DIRS}) + list(APPEND PKGCONFIG_REQUIRES_PRIVATE "zlib") endif () @@ -596,12 +596,25 @@ if (NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL) install( @@ -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 7cf312572fac44..f2a6c0b6ca01d6 100644 --- a/ports/freetype/portfile.cmake +++ b/ports/freetype/portfile.cmake @@ -1,36 +1,42 @@ -set(FT_VERSION 2.11.0) +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 bf1991f3c382832586be1d21ae73c20840ee8546807ba60d0eb0215134545656c0c8de488f27357d4a4f6497d7cb540998cda98ec59061a3e640036fb209147d + REPO freetype/freetype + REF "VER-${VERSION_HYPHEN}" + SHA512 fccfaa15eb79a105981bf634df34ac9ddf1c53550ec0b334903a1b21f9f8bf5eb2b3f9476e554afa112a0fca58ec85ab212d674dfd853670efec876bacbe8a53 + HEAD_REF master PATCHES 0003-Fix-UWP.patch - fix-bzip2-pc.patch # we have a bzip2 file that we can use - https://gitlab.freedesktop.org/freetype/freetype/-/commit/b2aeca5fda870751f3c9d645e0dca4c80fa1ae5a brotli-static.patch + bzip2.patch fix-exports.patch - fix-2.11-msvc-build.patch + ${SUBPIXEL_RENDERING_PATCH} ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES - zlib FT_WITH_ZLIB - bzip2 FT_WITH_BZIP2 - png FT_WITH_PNG - brotli FT_WITH_BROTLI + zlib FT_REQUIRE_ZLIB + bzip2 FT_REQUIRE_BZIP2 + error-strings FT_ENABLE_ERROR_STRINGS + png FT_REQUIRE_PNG + brotli FT_REQUIRE_BROTLI INVERTED_FEATURES - zlib CMAKE_DISABLE_FIND_PACKAGE_ZLIB - bzip2 CMAKE_DISABLE_FIND_PACKAGE_BZip2 - png CMAKE_DISABLE_FIND_PACKAGE_PNG - brotli CMAKE_DISABLE_FIND_PACKAGE_BrotliDec + zlib FT_DISABLE_ZLIB + bzip2 FT_DISABLE_BZIP2 + png FT_DISABLE_PNG + brotli FT_DISABLE_BROTLI ) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DCMAKE_DISABLE_FIND_PACKAGE_HarfBuzz=ON + -DFT_DISABLE_HARFBUZZ=ON ${FEATURE_OPTIONS} ) @@ -54,7 +60,7 @@ string(REPLACE "\${_IMPORT_PREFIX}/lib/brotlidec.lib" [[\$<\$:${BROTLIDEC_LIBRARY_DEBUG}>) - set_property(TARGET Freetype::Freetype APPEND PROPERTY INTERFACE_LINK_LIBRARIES $<$:${BROTLICOMMON_LIBRARY_DEBUG}>) - endif() - if(BROTLIDEC_LIBRARY_RELEASE) - set_property(TARGET Freetype::Freetype APPEND PROPERTY INTERFACE_LINK_LIBRARIES $<$>:${BROTLIDEC_LIBRARY_RELEASE}>) - set_property(TARGET Freetype::Freetype APPEND PROPERTY INTERFACE_LINK_LIBRARIES $<$>:${BROTLICOMMON_LIBRARY_RELEASE}>) - endif() - 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(FREETYPE_LIBRARIES) - if(@USE_ZLIB@) - list(APPEND FREETYPE_LIBRARIES ${ZLIB_LIBRARIES}) +if("@VCPKG_LIBRARY_LINKAGE@" STREQUAL "static") + if("@FT_REQUIRE_ZLIB@") + find_package(ZLIB) endif() - - if(@USE_BZIP2@) - list(APPEND FREETYPE_LIBRARIES ${BZIP2_LIBRARIES}) + if("@FT_REQUIRE_BZIP2@") + find_package(BZip2) + endif() + if("@FT_REQUIRE_PNG@") + find_package(PNG) endif() + if("@FT_REQUIRE_BROTLI@") + find_library(BROTLIDEC_LIBRARY_RELEASE NAMES brotlidec brotlidec-static PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}" PATH_SUFFIXES lib NO_DEFAULT_PATH) + find_library(BROTLIDEC_LIBRARY_DEBUG NAMES brotlidec brotlidec-static brotlidecd brotlidec-staticd PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug" PATH_SUFFIXES lib NO_DEFAULT_PATH) + find_library(BROTLICOMMON_LIBRARY_RELEASE NAMES brotlicommon brotlicommon-static PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}" PATH_SUFFIXES lib NO_DEFAULT_PATH) + find_library(BROTLICOMMON_LIBRARY_DEBUG NAMES brotlicommon brotlicommon-static brotlicommond brotlicommon-staticd PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug" PATH_SUFFIXES lib NO_DEFAULT_PATH) + include(SelectLibraryConfigurations) + select_library_configurations(BROTLIDEC) + select_library_configurations(BROTLICOMMON) + endif("@FT_REQUIRE_BROTLI@") - if(@USE_PNG@) - list(APPEND FREETYPE_LIBRARIES ${PNG_LIBRARIES}) + if(TARGET Freetype::Freetype) + if("@FT_REQUIRE_ZLIB@") + set_property(TARGET Freetype::Freetype APPEND PROPERTY INTERFACE_LINK_LIBRARIES ZLIB::ZLIB) + endif() + if("@FT_REQUIRE_BZIP2@") + set_property(TARGET Freetype::Freetype APPEND PROPERTY INTERFACE_LINK_LIBRARIES BZip2::BZip2) + endif() + if("@FT_REQUIRE_PNG@") + set_property(TARGET Freetype::Freetype APPEND PROPERTY INTERFACE_LINK_LIBRARIES PNG::PNG) + endif() + if("@FT_REQUIRE_BROTLI@") + if(BROTLIDEC_LIBRARY_DEBUG) + set_property(TARGET Freetype::Freetype APPEND PROPERTY INTERFACE_LINK_LIBRARIES "\$<\$:${BROTLIDEC_LIBRARY_DEBUG}>") + set_property(TARGET Freetype::Freetype APPEND PROPERTY INTERFACE_LINK_LIBRARIES "\$<\$:${BROTLICOMMON_LIBRARY_DEBUG}>") + endif() + if(BROTLIDEC_LIBRARY_RELEASE) + set_property(TARGET Freetype::Freetype APPEND PROPERTY INTERFACE_LINK_LIBRARIES "\$<\$>:${BROTLIDEC_LIBRARY_RELEASE}>") + set_property(TARGET Freetype::Freetype APPEND PROPERTY INTERFACE_LINK_LIBRARIES "\$<\$>:${BROTLICOMMON_LIBRARY_RELEASE}>") + endif() + endif() endif() - if(@USE_BROTLI@) - list(APPEND FREETYPE_LIBRARIES ${BROTLIDEC_LIBRARIES} ${BROTLICOMMON_LIBRARIES}) + if(FREETYPE_LIBRARIES) + if("@FT_REQUIRE_ZLIB@") + list(APPEND FREETYPE_LIBRARIES ${ZLIB_LIBRARIES}) + endif() + if("@FT_REQUIRE_BZIP2@") + list(APPEND FREETYPE_LIBRARIES ${BZIP2_LIBRARIES}) + endif() + if("@FT_REQUIRE_PNG@") + list(APPEND FREETYPE_LIBRARIES ${PNG_LIBRARIES}) + endif() + if("@FT_REQUIRE_BROTLI@") + list(APPEND FREETYPE_LIBRARIES ${BROTLIDEC_LIBRARIES} ${BROTLICOMMON_LIBRARIES}) + endif() endif() endif() +cmake_policy(POP) diff --git a/ports/freetype/vcpkg.json b/ports/freetype/vcpkg.json index 23f9e81339e7e4..7181e99080b57d 100644 --- a/ports/freetype/vcpkg.json +++ b/ports/freetype/vcpkg.json @@ -1,9 +1,9 @@ { "name": "freetype", - "version-semver": "2.11.0", - "port-version": 2, + "version": "2.13.3", "description": "A library to render fonts.", "homepage": "https://www.freetype.org/", + "license": "FTL OR GPL-2.0-or-later", "dependencies": [ { "name": "vcpkg-cmake", @@ -33,12 +33,18 @@ "bzip2" ] }, + "error-strings": { + "description": "Enable support for meaningful error descriptions." + }, "png": { "description": "Support PNG compressed OpenType embedded bitmaps.", "dependencies": [ "libpng" ] }, + "subpixel-rendering": { + "description": "Enables subpixel rendering." + }, "zlib": { "description": "Use zlib instead of internal library for DEFLATE", "dependencies": [ diff --git a/ports/freexl/dependencies.patch b/ports/freexl/dependencies.patch new file mode 100644 index 00000000000000..e6c414753059e9 --- /dev/null +++ b/ports/freexl/dependencies.patch @@ -0,0 +1,47 @@ +diff --git a/configure.ac b/configure.ac +index d79099f..a820b17 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -66,10 +66,12 @@ AC_CONFIG_FILES([Makefile \ + AC_CHECK_HEADERS(iconv.h,, [AC_MSG_ERROR([cannot find iconv.h, bailing out])]) + # on some systems "iconv()" lives in libc. On others it lives in libiconv + # on older systems "libiconv()" lives in libiconv ++SAVED_LIBS="${LIBS}" + AC_SEARCH_LIBS(iconv,iconv,, + AC_SEARCH_LIBS(libiconv,iconv,,AC_MSG_ERROR(['libiconv' is required but it doesn't seem to be installed on this system.]),)) + AC_SEARCH_LIBS(locale_charset,charset,, + AC_SEARCH_LIBS(nl_langinfo,c,,AC_MSG_ERROR(['libcharset' is required but it doesn't seem to be installed on this system.]),)) ++AC_SUBST(ICONV_LIBS, "${LIBS%${SAVED_LIBS}}") + + #----------------------------------------------------------------------- + # --enable-xmldocs +@@ -77,14 +79,14 @@ AC_SEARCH_LIBS(locale_charset,charset,, + AC_ARG_ENABLE(xmldocs, [AS_HELP_STRING( + [--enable-xmldocs], [enables XML documents support [default=yes]])], + [], [enable_xmldocs=yes]) ++PKG_PROG_PKG_CONFIG + if test x"$enable_xmldocs" != "xyes"; then + AC_DEFINE(OMIT_XMLDOC) + else +-AC_CHECK_HEADERS(minizip/unzip.h,, [AC_MSG_ERROR([cannot find minizip/unzip.h, bailing out])]) +-AC_SEARCH_LIBS(unzLocateFile, minizip,,AC_MSG_ERROR(['libminizip' is required but it doesn't seem to be installed on this system.])) +- +-AC_CHECK_HEADERS(expat.h,, [AC_MSG_ERROR([cannot find expat.h, bailing out])]) +-AC_CHECK_LIB(expat,XML_ParserCreate,,AC_MSG_ERROR(['expat' is required but it doesn't seem to be installed on this system.])) ++ PKG_CHECK_MODULES(MINIZIP, [minizip], [], [AC_MSG_ERROR([[minizip is required]])]) ++ PKG_CHECK_MODULES(EXPAT, [expat], [], [AC_MSG_ERROR([[expat is required]])]) ++ CFLAGS="${EXPAT_CFLAGS} ${MINIZIP_CFLAGS} ${CFLAGS}" ++ LIBS="${EXPAT_LIBS} ${MINIZIP_LIBS} ${LIBS}" + fi + #----------------------------------------------------------------------- + +diff --git a/freexl.pc.in b/freexl.pc.in +index 5813e68..4393590 100644 +--- a/freexl.pc.in ++++ b/freexl.pc.in +@@ -10,3 +10,5 @@ Description: a simple library extracting data from .xls (Excel BIFF) files + Version: @VERSION@ + Libs: -L${libdir} -lfreexl -lm + Cflags: -I${includedir} ++Libs.private: @ICONV_LIBS@ ++Requires.private: expat minizip diff --git a/ports/freexl/fix-makefiles.patch b/ports/freexl/fix-makefiles.patch deleted file mode 100644 index f6e8251c71d233..00000000000000 --- a/ports/freexl/fix-makefiles.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/makefile.vc b/makefile.vc -index cb8bd36..85c0352 100644 ---- a/makefile.vc -+++ b/makefile.vc -@@ -23,9 +23,9 @@ freexl.lib: $(LIBOBJ) - $(FREEXL_DLL): freexl_i.lib - - freexl_i.lib: $(LIBOBJ) -- link /debug /dll /out:$(FREEXL_DLL) \ -+ link $(LINK_FLAGS) /dll /out:$(FREEXL_DLL) \ - /implib:freexl_i.lib $(LIBOBJ) \ -- C:\OSGeo4w\lib\iconv.lib -+ $(LIBS_ALL) - if exist $(FREEXL_DLL).manifest mt -manifest \ - $(FREEXL_DLL).manifest -outputresource:$(FREEXL_DLL);2 - diff --git a/ports/freexl/fix-pc-file.patch b/ports/freexl/fix-pc-file.patch deleted file mode 100644 index 5a429026de0010..00000000000000 --- a/ports/freexl/fix-pc-file.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/configure.ac b/configure.ac -index a44dbf4..55bd768 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -64,9 +64,11 @@ AC_CONFIG_FILES([Makefile \ - AC_CHECK_HEADERS(iconv.h,, [AC_MSG_ERROR([cannot find iconv.h, bailing out])]) - # on some systems "iconv()" lives in libc. On others it lives in libiconv - # on older systems "libiconv()" lives in libiconv -+SAVED_LIBS="${LIBS}" - AC_SEARCH_LIBS(iconv,iconv,, - AC_SEARCH_LIBS(libiconv,iconv,,AC_MSG_ERROR(['libiconv' is required but it doesn't seem to be installed on this system.]),)) - AC_SEARCH_LIBS(locale_charset,charset,, - AC_SEARCH_LIBS(nl_langinfo,c,,AC_MSG_ERROR(['libcharset' is required but it doesn't seem to be installed on this system.]),)) -+AC_SUBST(ICONV_LIBS, "${LIBS%${SAVED_LIBS}}") - - AC_OUTPUT - -diff --git a/freexl.pc.in b/freexl.pc.in -index 5813e68..8fc671d 100644 ---- a/freexl.pc.in -+++ b/freexl.pc.in -@@ -10,3 +10,4 @@ Description: a simple library extracting data from .xls (Excel BIFF) files - Version: @VERSION@ - Libs: -L${libdir} -lfreexl -lm - Cflags: -I${includedir} -+Libs.private: @ICONV_LIBS@ diff --git a/ports/freexl/fix-sources.patch b/ports/freexl/fix-sources.patch deleted file mode 100644 index ffac02751a3168..00000000000000 --- a/ports/freexl/fix-sources.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/config-msvc.h b/config-msvc.h -index a39d4e7..37f1c0b 100644 ---- a/config-msvc.h -+++ b/config-msvc.h -@@ -66,7 +66,7 @@ - #define HAVE_SYS_TYPES_H 1 - - /* Define to 1 if you have the header file. */ --#define HAVE_UNISTD_H 1 -+#undef HAVE_UNISTD_H - - /* Define to 1 if `lstat' dereferences a symlink specified with a trailing - slash. */ diff --git a/ports/freexl/portfile.cmake b/ports/freexl/portfile.cmake index b337c80301a040..285dd03c4a7e5b 100644 --- a/ports/freexl/portfile.cmake +++ b/ports/freexl/portfile.cmake @@ -1,86 +1,31 @@ -set(FREEXL_VERSION_STR "1.0.6") - vcpkg_download_distfile(ARCHIVE - URLS "https://www.gaia-gis.it/gaia-sins/freexl-sources/freexl-${FREEXL_VERSION_STR}.tar.gz" - FILENAME "freexl-${FREEXL_VERSION_STR}.tar.gz" - SHA512 efbbe261e57d5c05167ad8e1d5a5b348a7e702c0a4030b18dd2a8c60a38332caccbb073ff604bdf5bafac827310b41c7b79f9fa519ea512d6de2eafd9c1f71f6 + URLS "https://www.gaia-gis.it/gaia-sins/freexl-sources/freexl-${VERSION}.tar.gz" + FILENAME "freexl-${VERSION}.tar.gz" + SHA512 663ccc321c2f0dcab8ad9255b2a77066c2046d531a0aa723fb114301fa27b53bf980787dd2548c46541036eceef988c5eedf2bec053adf628929470e67ddc17a ) -vcpkg_extract_source_archive_ex( +vcpkg_extract_source_archive( + SOURCE_PATH ARCHIVE "${ARCHIVE}" - OUT_SOURCE_PATH SOURCE_PATH PATCHES - fix-makefiles.patch - fix-sources.patch - fix-pc-file.patch + dependencies.patch + subdirs.patch ) -if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) - set(OPTFLAGS "/nologo /fp:precise /W3 /D_CRT_SECURE_NO_WARNINGS /DDLL_EXPORT") - set(LIBS_ALL "iconv.lib charset.lib") - if(VCPKG_TARGET_IS_UWP) - string(APPEND OPTFLAGS " /DWINAPI_FAMILY=WINAPI_FAMILY_APP") - string(APPEND LIBS_ALL " WindowsApp.lib /APPCONTAINER") - endif() - cmake_path(NATIVE_PATH CURRENT_PACKAGES_DIR INSTDIR) - vcpkg_install_nmake( - SOURCE_PATH "${SOURCE_PATH}" - OPTIONS - "OPTFLAGS=${OPTFLAGS}" - "CFLAGS=-I. -Iheaders ${OPTFLAGS}" - "LIBS_ALL=${LIBS_ALL}" - OPTIONS_DEBUG - "INSTDIR=${INSTDIR}\\debug" - "LINK_FLAGS=/debug /LIBPATH:\"${CURRENT_INSTALLED_DIR}/debug/lib\"" - OPTIONS_RELEASE - "INSTDIR=${INSTDIR}" - "LINK_FLAGS=/LIBPATH:\"${CURRENT_INSTALLED_DIR}/lib\"" - ) - - if (VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin") - file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/freexl_i.lib") - file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/lib/freexl_i.lib") - else() - file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/freexl.lib") - file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/lib/freexl.lib") - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - file(RENAME "${CURRENT_PACKAGES_DIR}/lib/freexl_i.lib" "${CURRENT_PACKAGES_DIR}/lib/freexl.lib") - endif() - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/freexl_i.lib" "${CURRENT_PACKAGES_DIR}/debug/lib/freexl.lib") - endif() - endif() +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG +) +vcpkg_install_make() - set(VERSION "${FREEXL_VERSION_STR}") - set(libdir [[${prefix}/lib]]) - set(exec_prefix [[${prefix}]]) - set(ICONV_LIBS "-liconv -lcharset") - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - set(includedir [[${prefix}/include]]) - set(outfile "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/freexl.pc") - configure_file("${SOURCE_PATH}/freexl.pc.in" "${outfile}" @ONLY) - vcpkg_replace_string("${outfile}" " -lm" "") - endif() - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - set(includedir [[${prefix}/../include]]) - set(outfile "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/freexl.pc") - configure_file("${SOURCE_PATH}/freexl.pc.in" "${outfile}" @ONLY) - vcpkg_replace_string("${outfile}" " -lm" "") +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/freexl.pc" " -lm" " -liconv -lcharset") + if(NOT DEFINED VCPKG_BUILD_TYPE) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/freexl.pc" " -lm" " -liconv -lcharset") endif() - -else() - - vcpkg_configure_make( - SOURCE_PATH "${SOURCE_PATH}" - AUTOCONFIG - ) - vcpkg_install_make() - endif() - vcpkg_fixup_pkgconfig() 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/freexl/subdirs.patch b/ports/freexl/subdirs.patch new file mode 100644 index 00000000000000..3beb115264021c --- /dev/null +++ b/ports/freexl/subdirs.patch @@ -0,0 +1,12 @@ +diff --git a/Makefile.am b/Makefile.am +index 50dc7f6..cbc99ca 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -1,6 +1,6 @@ + ACLOCAL_AMFLAGS = -I m4 + +-SUBDIRS = headers src tests examples ++SUBDIRS = headers src + + EXTRA_DIST = makefile.vc nmake.opt makefile64.vc nmake64.opt \ + images/piazza.jpg images/piazza.eps mainpage.doxy config-msvc.h diff --git a/ports/freexl/vcpkg.json b/ports/freexl/vcpkg.json index 39faf316c990b3..04cf20761d0696 100644 --- a/ports/freexl/vcpkg.json +++ b/ports/freexl/vcpkg.json @@ -1,9 +1,12 @@ { "name": "freexl", - "version-string": "1.0.6", + "version": "2.0.0", "description": "FreeXL is an open source library to extract valid data from within an Excel (.xls) spreadsheet", "homepage": "https://www.gaia-gis.it/gaia-sins/freexl-sources", + "license": "MPL-1.1 OR GPL-2.0-or-later OR LGPL-2.1-or-later", "dependencies": [ - "libiconv" + "expat", + "libiconv", + "minizip" ] } diff --git a/ports/fribidi/meson-crosscompile.patch b/ports/fribidi/meson-crosscompile.patch new file mode 100644 index 00000000000000..07368a08791bd9 --- /dev/null +++ b/ports/fribidi/meson-crosscompile.patch @@ -0,0 +1,36 @@ +diff --git a/gen.tab/meson.build b/gen.tab/meson.build +index 8c21e98..1cd9960 100644 +--- a/gen.tab/meson.build ++++ b/gen.tab/meson.build +@@ -1,5 +1,10 @@ + # gen.tab + ++if get_option('pregenerated_tab') != '' ++ generated_tab_include_files = [] ++ fribidi_unicode_version_h = files() ++ add_project_arguments('-I' + get_option('pregenerated_tab'), language: 'c') ++else + native_cc = meson.get_compiler('c') + + # Don't pick up top-level config.h, as that has defines for the cross-compiler +@@ -75,7 +80,10 @@ foreach tab : tabs + input: gen_prog_inputs, + output: gen_prog_out, + command: [gen_exe, COMPRESSION, '@INPUT@', gen_prog_name], ++ install: true, ++ install_dir: 'share/fribidi/gen.tab', + capture: true) + + generated_tab_include_files += [tab_inc_file] + endforeach ++endif +diff --git a/meson_options.txt b/meson_options.txt +index f54a639..8f60205 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -8,3 +8,5 @@ option('tests', type : 'boolean', value : true, + description: 'Build tests') + option('fuzzer_ldflags', type : 'string', + description: 'Extra LDFLAGS used during linking of fuzzing binaries') ++option('pregenerated_tab', type: 'string', ++ description: 'Path to pregenerated table sources') diff --git a/ports/fribidi/portfile.cmake b/ports/fribidi/portfile.cmake index 351681839d5a8a..a53ca143dcab52 100644 --- a/ports/fribidi/portfile.cmake +++ b/ports/fribidi/portfile.cmake @@ -1,14 +1,25 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO fribidi/fribidi - REF v1.0.11 - SHA512 9ddb0dbfb28ee4f1d9dd5d46fe1fff75c5446bfdacaabf8647847c36ef72eec823f6e6d6d1369d67c292d680004f7113c9e69114a8fae1d73ab11a58c66a8b8a + REF v${VERSION} + SHA512 13d7104f80e1b480d65a4c47fd694f5930222f3db843b8b6c1b6af58c43ee74b08635ce6166d005451498d060e549e4c666aa30c46d4df003d9ad63dba1d854a HEAD_REF master + PATCHES meson-crosscompile.patch ) +set(gen_tab_subdir "share/${PORT}/gen.tab") + +set(options "") +if(VCPKG_CROSSCOMPILING) + set(gen_tab "${CURRENT_HOST_INSTALLED_DIR}/${gen_tab_subdir}") + cmake_path(NATIVE_PATH gen_tab gen_tab) + set(options "-Dpregenerated_tab=${gen_tab}") +endif() + vcpkg_configure_meson( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" OPTIONS + ${options} -Ddocs=false -Dbin=false -Dtests=false @@ -19,13 +30,25 @@ 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( + COPY "${gen_tab}/fribidi-unicode-version.h" + DESTINATION "${CURRENT_PACKAGES_DIR}/include/fribidi" + ) +else() + file( + COPY "${CURRENT_PACKAGES_DIR}/include/fribidi/fribidi-unicode-version.h" + DESTINATION "${CURRENT_PACKAGES_DIR}/${gen_tab_subdir}" + ) +endif() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") # Handle copyright -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) \ No newline at end of file +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/fribidi/vcpkg.json b/ports/fribidi/vcpkg.json index 486571ca17b405..2d8e02bdbe1ed2 100644 --- a/ports/fribidi/vcpkg.json +++ b/ports/fribidi/vcpkg.json @@ -1,9 +1,18 @@ { "name": "fribidi", - "version": "1.0.11", + "version": "1.0.16", "description": "GNU FriBidi is an implementation of the Unicode Bidirectional Algorithm (bidi)", - "supports": "!(uwp | arm)", + "homepage": "https://www.gnu.org/software/fribidi", + "license": "LGPL-2.1-or-later", + "supports": "!uwp", "dependencies": [ - "tool-meson" + { + "name": "fribidi", + "host": true + }, + { + "name": "vcpkg-tool-meson", + "host": true + } ] } diff --git a/ports/frozen/portfile.cmake b/ports/frozen/portfile.cmake index d3f125b10aeb3a..d1e4d716c6d676 100644 --- a/ports/frozen/portfile.cmake +++ b/ports/frozen/portfile.cmake @@ -1,13 +1,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO serge-sans-paille/frozen - REF 867b33916044ced463ed42874b2aa1514ef66bec - SHA512 0cace261bf6068a382dc7c2d2b1c7d50de882e966adcdaaee7c358cc2e55b736d41c6ce2cefb30c231f550e4576cfdc5b2a10379a8affa084f1eb9202db7200e + REF "${VERSION}" + SHA512 644b29f60458fc5193a3fb16a347c190f9694d1bdbc75202aafe8d43eb72ce0433bbeaeb692f8ca485000d68b451ddc0236a1880ebbd64477f73198043d046b3 HEAD_REF master ) vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -Dfrozen.benchmark=OFF -Dfrozen.coverage=OFF @@ -18,6 +18,6 @@ vcpkg_cmake_install() vcpkg_cmake_config_fixup(CONFIG_PATH share/cmake/frozen) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/frozen/vcpkg.json b/ports/frozen/vcpkg.json index b10042839725c1..51dcd56f229a4d 100644 --- a/ports/frozen/vcpkg.json +++ b/ports/frozen/vcpkg.json @@ -1,8 +1,9 @@ { "name": "frozen", - "version-date": "2021-04-22", + "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", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/frugally-deep/portfile.cmake b/ports/frugally-deep/portfile.cmake index 1350a728cfe785..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 v0.15.10-p0 - SHA512 e665df59c83fea5fc0a89158639c83f9c72cba1fc8c61086032db60c395606dab4e9085f1380714e4f8a82c1f2b143aa22ff6212d9180c368283e1965e6dea87 + REF "v${VERSION}" + SHA512 d36063ecfe5cfc2a96e0b0db85270e81b714d5ad8103ce9eca3ee3c465c5911a398664e4f97184b3f5f5a5d55b27ba27f4aaa7facf544d66a57406c798227d05 HEAD_REF master ) @@ -11,18 +11,17 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS double FDEEP_USE_DOUBLE ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DFDEEP_BUILD_UNITTEST=OFF -DFDEEP_USE_TOOLCHAIN=ON ${FEATURE_OPTIONS} ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/frugally-deep TARGET_PATH share/${PORT}) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/frugally-deep) 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/frugally-deep/vcpkg.json b/ports/frugally-deep/vcpkg.json index 8dfe3eca9a2615..0dc47d6f3b7811 100644 --- a/ports/frugally-deep/vcpkg.json +++ b/ports/frugally-deep/vcpkg.json @@ -1,12 +1,21 @@ { "name": "frugally-deep", - "version-semver": "0.15.10-p0", + "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", - "nlohmann-json" + "functionalplus", + "nlohmann-json", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ], "features": { "double": { diff --git a/ports/fruit/portfile.cmake b/ports/fruit/portfile.cmake index 8fc652387ed297..8bab51d71b4f3f 100644 --- a/ports/fruit/portfile.cmake +++ b/ports/fruit/portfile.cmake @@ -2,21 +2,20 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/fruit - REF 29c9fd265cfa72ee72fb64257fe4b72198d87264 # v3.6.0 - SHA512 1a8f5b126492dd81fe40bbedd0ead839fd25dac6ea569dd51879e288a4c5850c6618754547ac201d82875781ee0490261372df7a0d1cf50e90c3a9b9da9aaed4 + REF "v${VERSION}" + SHA512 82e86b939ce7d1c0f092255211cd0825e7cf96e56b4af44dcbb67c863c41cb398afbbf9098a934b7eea848acc0b48d3dee3a67cf907f9b9ef2a0d59d92507f30 HEAD_REF master ) # TODO: Make boost an optional dependency? -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA OPTIONS -DFRUIT_USES_BOOST=False -DFRUIT_TESTS_USE_PRECOMPILED_HEADERS=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) # Handle copyright diff --git a/ports/fruit/vcpkg.json b/ports/fruit/vcpkg.json index b182643b35a5bb..5475689963c383 100644 --- a/ports/fruit/vcpkg.json +++ b/ports/fruit/vcpkg.json @@ -1,7 +1,13 @@ { "name": "fruit", - "version-string": "3.6.0", - "port-version": 1, + "version": "3.7.1", "description": "Fruit, a dependency injection framework for C++ by Google", - "homepage": "https://github.com/google/fruit" + "homepage": "https://github.com/google/fruit", + "license": "Apache-2.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } 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-headersFilePath.patch b/ports/ftgl/Fix-headersFilePath.patch deleted file mode 100644 index f3459352a3885f..00000000000000 --- a/ports/ftgl/Fix-headersFilePath.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 693e49f..c47ff3c 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -1,9 +1,5 @@ -- -- -- - INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/cmake) - -- - ADD_DEFINITIONS(-DPACKAGE_VERSION="${VERSION_SERIES}.${VERSION_MAJOR}.${VERSION_MINOR}") - - IF(WIN32) -@@ -26,7 +22,7 @@ SET(libftgl_la_SOURCES - FTGlyphContainer.h - FTInternals.h - FTLibrary.cpp -- FTLibrary.h -+ FTGL/FTLibrary.h - FTList.h - FTPoint.cpp - FTSize.cpp 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 0c98215fa242d0..cd6a2c17b4bf8c 100644 --- a/ports/ftgl/portfile.cmake +++ b/ports/ftgl/portfile.cmake @@ -1,22 +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 483639219095ad080538e07ceb5996de901d4e74 - SHA512 d5bf95db8db6a5c9f710bd274cb9bb82e3e67569e8f3ec55b36e068636a09252e6f191e36d8279e61b5d12408c065ce51829fc38d4d7afe5bda724752d2f084f + REF v${VERSION} + SHA512 5a0d05dbb32952e5aa81d2537d604192ca19710cd57289ae056acc5e3ae6d403d7f0ffc8cf6c1aada6c3c23a8df4a8d0eabb81433036ade810bca1894fdfde54 HEAD_REF master PATCHES - Fix-headersFilePath.patch - 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() @@ -26,6 +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") -file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_fixup_pkgconfig() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/ftgl/vcpkg.json b/ports/ftgl/vcpkg.json index d1f92b187439c7..0ec81373c33291 100644 --- a/ports/ftgl/vcpkg.json +++ b/ports/ftgl/vcpkg.json @@ -1,15 +1,19 @@ { "name": "ftgl", - "version-string": "2.4.0", - "port-version": 4, + "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.", "FTGL uses the Freetype (www.freetype.org) font library to open and 'decode' the fonts. It then takes that output and stores it in a format most efficient for OpenGL rendering." ], "homepage": "https://github.com/frankheckenbach/ftgl", + "license": "MIT", "dependencies": [ - "freetype", + { + "name": "freetype", + "default-features": false + }, "opengl", { "name": "vcpkg-cmake", diff --git a/ports/ftxui/portfile.cmake b/ports/ftxui/portfile.cmake index bdb21781fc95c0..e5dac575826c94 100644 --- a/ports/ftxui/portfile.cmake +++ b/ports/ftxui/portfile.cmake @@ -1,12 +1,10 @@ -vcpkg_fail_port_install(ON_TARGET "uwp") - vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ArthurSonzogni/FTXUI - REF 3d5e4eb6ca11a0827bff68a04f4bf68ca9820e20 - SHA512 670b0e5d95f7e6132ca7115005efdb1dee645146af82566af3e48bfff64d82dbc058c2f524b8b9d1d92182e4835ff6024067f0eab8dd6204514efa0207b3d33c + REF "v${VERSION}" + SHA512 be5ed7f2b3c90a7de874115a131c75c69ad9dd6db4c3bc0cfd7036cfe449b8d16af3df8f1aa1bcb057347bd726837e3f1c42e30a06cf3ad34b50e7bd26ba4883 HEAD_REF master ) @@ -23,6 +21,8 @@ vcpkg_cmake_install() vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) +vcpkg_fixup_pkgconfig() + file(REMOVE_RECURSE "${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/ftxui/vcpkg.json b/ports/ftxui/vcpkg.json index 34557d19ac9c94..ebcc09be94ed82 100644 --- a/ports/ftxui/vcpkg.json +++ b/ports/ftxui/vcpkg.json @@ -1,6 +1,6 @@ { "name": "ftxui", - "version-date": "2021-06-17", + "version-semver": "5.0.0", "description": "C++ Functional Terminal User Interface", "homepage": "https://github.com/ArthurSonzogni/FTXUI", "license": "MIT", diff --git a/ports/function2/portfile.cmake b/ports/function2/portfile.cmake index f3b06e923e255b..b0dbb40612c293 100644 --- a/ports/function2/portfile.cmake +++ b/ports/function2/portfile.cmake @@ -1,27 +1,23 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Naios/function2 - REF 02ca99831de59c7c3a4b834789260253cace0ced # 4.2.0 - SHA512 5b14d95584586c7365119f5171c86c7556ce402ae3c5db09e4e54e1225fc71e40f88ab77188986ecf9dac5eecbfd6330c5a7ecfe0375cb37773d007ebef1ba93 + REF "${VERSION}" + SHA512 a70cc4d5cdcd9a108c930ef6f18662f649405b2c6d0c0e25526af555392503f467bfa7755d0f00651ad61c339102315cc2a1c9354326433bfaa3f8110517a79c HEAD_REF master PATCHES disable-testing.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() - -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) +vcpkg_cmake_install() +vcpkg_copy_pdbs() -file(REMOVE ${CURRENT_PACKAGES_DIR}/Readme.md) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib) +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${PORT}") -# Put the installed licence file where vcpkg expects it -file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/${PORT}) -file(RENAME ${CURRENT_PACKAGES_DIR}/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) +file(REMOVE "${CURRENT_PACKAGES_DIR}/LICENSE.txt" "${CURRENT_PACKAGES_DIR}/Readme.md") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug" "${CURRENT_PACKAGES_DIR}/lib") -vcpkg_copy_pdbs() +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") diff --git a/ports/function2/vcpkg.json b/ports/function2/vcpkg.json index 6bea8f2aaa7235..e41ff0c0cdfa5f 100644 --- a/ports/function2/vcpkg.json +++ b/ports/function2/vcpkg.json @@ -1,7 +1,17 @@ { "name": "function2", - "version-string": "4.2.0", - "port-version": 1, + "version-semver": "4.2.4", "description": "Improved drop-in replacement to std::function", - "homepage": "https://github.com/Naios/function2" + "homepage": "https://github.com/Naios/function2", + "license": "BSL-1.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } 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/functions-framework-cpp/fix-integral-include.patch b/ports/functions-framework-cpp/fix-integral-include.patch new file mode 100644 index 00000000000000..06358535683119 --- /dev/null +++ b/ports/functions-framework-cpp/fix-integral-include.patch @@ -0,0 +1,12 @@ +diff --git a/google/cloud/functions/internal/parse_options.cc b/google/cloud/functions/internal/parse_options.cc +index ba3a2b5..54daf29 100644 +--- a/google/cloud/functions/internal/parse_options.cc ++++ b/google/cloud/functions/internal/parse_options.cc +@@ -17,6 +17,7 @@ + #include + #include + #include ++#include + + namespace google::cloud::functions_internal { + FUNCTIONS_FRAMEWORK_CPP_INLINE_NAMESPACE_BEGIN diff --git a/ports/functions-framework-cpp/portfile.cmake b/ports/functions-framework-cpp/portfile.cmake index 58b21e9572e719..4567e13fb79b0f 100644 --- a/ports/functions-framework-cpp/portfile.cmake +++ b/ports/functions-framework-cpp/portfile.cmake @@ -4,28 +4,28 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO GoogleCloudPlatform/functions-framework-cpp - REF v1.0.0 - SHA512 caaf39014cc651f0f929fce60059592ce17dfa67ac3d93104d97b96c7a1e06e85c0945dfdff6169ac5a5193be84631e27b35877a4d5b022a7319f6476efa17be + REF "v${VERSION}" + SHA512 3832e205a2505152ed6955d7cf5630b2045133221ddd96e2bef62e66cad58cea326f32428e2f494bbe1a10f5d66453d09ae46e6b972a7ed13f211efbb79527a8 HEAD_REF main + PATCHES fix-integral-include.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" DISABLE_PARALLEL_CONFIGURE OPTIONS -DBUILD_TESTING=OFF ) -vcpkg_install_cmake(ADD_BIN_TO_PATH) +vcpkg_cmake_install(ADD_BIN_TO_PATH) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake TARGET_PATH share) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +vcpkg_cmake_config_fixup(PACKAGE_NAME functions_framework_cpp CONFIG_PATH lib/cmake/functions_framework_cpp) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") file( - INSTALL ${SOURCE_PATH}/LICENSE - DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} + INSTALL "${SOURCE_PATH}/LICENSE" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) vcpkg_copy_pdbs() diff --git a/ports/functions-framework-cpp/vcpkg.json b/ports/functions-framework-cpp/vcpkg.json index dbb15a285e238d..007fbf2dd7ca68 100644 --- a/ports/functions-framework-cpp/vcpkg.json +++ b/ports/functions-framework-cpp/vcpkg.json @@ -1,15 +1,23 @@ { "name": "functions-framework-cpp", - "version": "1.0.0", - "port-version": 1, + "version": "1.2.0", "description": "Functions Framework for C++.", "homepage": "https://github.com/GoogleCloudPlatform/functions-framework-cpp/", "license": "Apache-2.0", + "supports": "!uwp", "dependencies": [ "abseil", "boost-beast", "boost-program-options", "boost-serialization", - "nlohmann-json" + "nlohmann-json", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/fuzzylite/no-werror.patch b/ports/fuzzylite/no-werror.patch new file mode 100644 index 00000000000000..a5b15b8ac35588 --- /dev/null +++ b/ports/fuzzylite/no-werror.patch @@ -0,0 +1,13 @@ +diff --git a/fuzzylite/CMakeLists.txt b/fuzzylite/CMakeLists.txt +index 28435e2..3824c8f 100644 +--- a/fuzzylite/CMakeLists.txt ++++ b/fuzzylite/CMakeLists.txt +@@ -74,7 +74,7 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY bin) + if(NOT MSVC) + #TODO: Remove -Werror before release. + #Add Unix compilation flags +- set(CMAKE_CXX_FLAGS "-pedantic -Wall -Wextra -Werror ${CMAKE_CXX_FLAGS}") ++ set(CMAKE_CXX_FLAGS "-pedantic -Wall -Wextra ${CMAKE_CXX_FLAGS}") + + set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}") + set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}") diff --git a/ports/fuzzylite/portfile.cmake b/ports/fuzzylite/portfile.cmake index cd79ecc7cdbb07..0ca3373434b84f 100644 --- a/ports/fuzzylite/portfile.cmake +++ b/ports/fuzzylite/portfile.cmake @@ -4,19 +4,15 @@ vcpkg_from_github( REF v6.0 SHA512 6f5d40d0359458e109ac2aebfbf571f61867a8b49920f4a5e1b5d86bdf578dba038b942c9e05eab0d4620f73e8cded770abe7b5e597a3b4c39dbcf6a1259f4af HEAD_REF master + PATCHES + no-werror.patch ) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - set(FL_BUILD_SHARED ON) - set(FL_BUILD_STATIC OFF) -else() - set(FL_BUILD_SHARED OFF) - set(FL_BUILD_STATIC ON) -endif() +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" FL_BUILD_STATIC) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" FL_BUILD_SHARED) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH}/fuzzylite - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/fuzzylite" OPTIONS -DFL_BUILD_SHARED=${FL_BUILD_SHARED} -DFL_BUILD_STATIC=${FL_BUILD_STATIC} @@ -24,23 +20,23 @@ vcpkg_configure_cmake( -DFL_BUILD_TESTS=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/pkgconfig) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) - -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(RENAME ${CURRENT_PACKAGES_DIR}/lib/fuzzylite-static.lib ${CURRENT_PACKAGES_DIR}/lib/fuzzylite.lib) - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/fuzzylite-static-debug.lib ${CURRENT_PACKAGES_DIR}/debug/lib/fuzzylite-debug.lib) -endif() +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/pkgconfig") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/include/fl/fuzzylite.h + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/fl/fuzzylite.h" "#elif defined(FL_IMPORT_LIBRARY)" "#elif 1" ) +elseif(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/fl/fuzzylite.h" + "#elif defined(FL_IMPORT_LIBRARY)" + "#elif 0" + ) endif() -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/fuzzylite/vcpkg.json b/ports/fuzzylite/vcpkg.json index 2bddccc38c22ce..1956b46a51c0fa 100644 --- a/ports/fuzzylite/vcpkg.json +++ b/ports/fuzzylite/vcpkg.json @@ -1,7 +1,15 @@ { "name": "fuzzylite", - "version-string": "6.0", - "port-version": 4, + "version": "6.0", + "port-version": 6, "description": "A fuzzy logic control library in C++", - "homepage": "https://github.com/fuzzylite/fuzzylite" + "homepage": "https://github.com/fuzzylite/fuzzylite", + "license": "GPL-3.0", + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/fxdiv/portfile.cmake b/ports/fxdiv/portfile.cmake index a62cefcd8e261d..06eaa4b7ec84c3 100644 --- a/ports/fxdiv/portfile.cmake +++ b/ports/fxdiv/portfile.cmake @@ -5,14 +5,14 @@ vcpkg_from_github( REF 63058eff77e11aa15bf531df5dd34395ec3017c8 SHA512 da33eab4d006645f383a1f24fc3e747db3aeb0613219297ec0ae69aa2617f07ba050ebd6a64a8cbde6d25481f176d0ec3b9753a95d1fbcead2136595f3e50e97 ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DFXDIV_BUILD_TESTS=OFF -DFXDIV_BUILD_BENCHMARKS=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() +vcpkg_copy_pdbs() -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") diff --git a/ports/fxdiv/vcpkg.json b/ports/fxdiv/vcpkg.json index e120815ee41831..444f5243edc1a5 100644 --- a/ports/fxdiv/vcpkg.json +++ b/ports/fxdiv/vcpkg.json @@ -1,6 +1,13 @@ { "name": "fxdiv", - "version-string": "2021-02-21", + "version-date": "2021-02-21", + "port-version": 2, "description": "C99/C++ header-only library for division via fixed-point multiplication by inverse", - "homepage": "https://github.com/Maratyszcza/FXdiv" + "homepage": "https://github.com/Maratyszcza/FXdiv", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/g2o/csparse.diff b/ports/g2o/csparse.diff new file mode 100644 index 00000000000000..c939deef0ca5e3 --- /dev/null +++ b/ports/g2o/csparse.diff @@ -0,0 +1,32 @@ +diff --git a/cmake_modules/FindCSparse.cmake b/cmake_modules/FindCSparse.cmake +index 5af693d..8be574f 100644 +--- a/cmake_modules/FindCSparse.cmake ++++ b/cmake_modules/FindCSparse.cmake +@@ -15,6 +15,8 @@ find_path(CSPARSE_INCLUDE_DIR NAMES cs.h + ) + + find_library(CSPARSE_LIBRARY NAMES cxsparse libcxsparse ++ cxsparsed libcxsparsed ++ NAMES_PER_DIR + PATHS + /usr/lib + /usr/local/lib +diff --git a/g2o/solvers/csparse/CMakeLists.txt b/g2o/solvers/csparse/CMakeLists.txt +index 60d1269..e6b80fc 100644 +--- a/g2o/solvers/csparse/CMakeLists.txt ++++ b/g2o/solvers/csparse/CMakeLists.txt +@@ -2,13 +2,13 @@ if(NOT G2O_USE_CSPARSE) + return() + endif() + +-include_directories(${CSPARSE_INCLUDE_DIR}) + + add_library(csparse_extension ${G2O_LGPL_LIB_TYPE} + csparse_helper.cpp csparse_helper.h + csparse_extension.cpp csparse_extension.h + g2o_csparse_extension_api.h + ) ++target_include_directories(csparse_extension PUBLIC ${CSPARSE_INCLUDE_DIR}) + set_target_properties(csparse_extension PROPERTIES OUTPUT_NAME ${LIB_PREFIX}csparse_extension) + if (APPLE) + set_target_properties(csparse_extension PROPERTIES INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib") diff --git a/ports/g2o/portfile.cmake b/ports/g2o/portfile.cmake index 010a10ccf255a1..fbfad1b96087d7 100644 --- a/ports/g2o/portfile.cmake +++ b/ports/g2o/portfile.cmake @@ -4,24 +4,26 @@ vcpkg_from_github( REF fcba4eaca6f20d9a5792404cc8ef303aeb8ba5d2 SHA512 41e5a6d40db10d66182653d56f937f29264bf4f9412dfa651be949caeb055741c9d9ba75a122180892aafe7d45b334d50470284121148c0561e1d49f6ba5e20a HEAD_REF master + PATCHES + csparse.diff ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_LGPL_SHARED_LIBS) +file(REMOVE "${SOURCE_PATH}/cmake_modules/FindBLAS.cmake") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_LGPL_SHARED_LIBS=${BUILD_LGPL_SHARED_LIBS} -DG2O_BUILD_EXAMPLES=OFF -DG2O_BUILD_APPS=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/g2o) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/g2o) if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) file(GLOB_RECURSE HEADERS "${CURRENT_PACKAGES_DIR}/include/*") @@ -32,12 +34,12 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) endforeach() endif() -file(GLOB EXE ${CURRENT_PACKAGES_DIR}/bin/*.exe) -file(GLOB DEBUG_EXE ${CURRENT_PACKAGES_DIR}/debug/bin/*.exe) +file(GLOB EXE "${CURRENT_PACKAGES_DIR}/bin/*.exe") +file(GLOB DEBUG_EXE "${CURRENT_PACKAGES_DIR}/debug/bin/*.exe") if(EXE OR DEBUG_EXE) file(REMOVE ${EXE} ${DEBUG_EXE}) 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") -file(INSTALL ${SOURCE_PATH}/doc/license-bsd.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/doc/license-bsd.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/g2o/vcpkg.json b/ports/g2o/vcpkg.json index b81b5d65c9f8fc..efabcdf092cc50 100644 --- a/ports/g2o/vcpkg.json +++ b/ports/g2o/vcpkg.json @@ -1,13 +1,21 @@ { "name": "g2o", - "version-string": "2020-02-07", - "port-version": 2, + "version-date": "2020-02-07", + "port-version": 6, "description": "g2o: A General Framework for Graph Optimization", "homepage": "https://openslam.org/g2o.html", "dependencies": [ "ceres", "eigen3", "lapack", - "suitesparse" + "suitesparse", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/g3log/portfile.cmake b/ports/g3log/portfile.cmake index a9dc7c4c44fad9..1bdfc7f3a11bfc 100644 --- a/ports/g3log/portfile.cmake +++ b/ports/g3log/portfile.cmake @@ -1,22 +1,17 @@ -vcpkg_fail_port_install(ON_ARCH "arm" ON_TARGET "uwp") - +vcpkg_minimum_required(VERSION 2022-10-12) # for ${VERSION} vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KjellKod/g3log - REF 2fca06ff6da5c67465b591f4d45e8fd14d531142 #v1.3.4 - SHA512 8dba89e5a08e44d585478470725e25e37486685d8fe4d3cb5e97c81013389c95d96bdde658244e425008169bc8a9fc2d34a065b83b110c62e73d3ccab9b2b9e1 + REF "${VERSION}" + SHA512 f48c5bb30d734fc218a5bfb19a406101c89deaee4a2f76b21c7105215a29f558efc2759ee1c1664f62cb37e2d8ae0666f99fdce9b863221e4a9efc9814cdf30c HEAD_REF master ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" G3_SHARED_LIB) string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "dynamic" G3_SHARED_RUNTIME) -# https://github.com/KjellKod/g3log#prerequisites -set(VERSION "1.3.4") - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DG3_SHARED_LIB=${G3_SHARED_LIB} # Options.cmake -DG3_SHARED_RUNTIME=${G3_SHARED_RUNTIME} # Options.cmake @@ -26,11 +21,11 @@ vcpkg_configure_cmake( -DVERSION=${VERSION} ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/g3log) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/g3log) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) diff --git a/ports/g3log/vcpkg.json b/ports/g3log/vcpkg.json index 7770e4a22aa786..9309227dfece86 100644 --- a/ports/g3log/vcpkg.json +++ b/ports/g3log/vcpkg.json @@ -1,8 +1,18 @@ { "name": "g3log", - "version": "1.3.4", - "port-version": 1, + "version": "2.4", "description": "Asynchronous logger with Dynamic Sinks", "homepage": "https://github.com/KjellKod/g3log", - "supports": "!(arm | uwp)" + "license": "Unlicense", + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/gainput/fix-build.patch b/ports/gainput/fix-build.patch new file mode 100644 index 00000000000000..912828713cfc0d --- /dev/null +++ b/ports/gainput/fix-build.patch @@ -0,0 +1,47 @@ +set(XINPUT, "xinput") sets the variable "XINPUT," to "xinput", +so this variable is never used anyways + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a443b66..61ff7b8 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -9,11 +9,11 @@ option(GAINPUT_TESTS "Build Tests for Gainput" ON) + option(GAINPUT_BUILD_SHARED "BUILD_SHARED" ON) + option(GAINPUT_BUILD_STATIC "BUILD_STATIC" ON) + +-if(!WIN32) ++if(NOT WIN32) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -pedantic -Wextra") + else() + set(XINPUT "Xinput9_1_0") +- if ( ${CMAKE_SYSTEM_VERSION} LESS 6.1 ) ++ if ( 0 ) + set(XINPUT, "xinput") + endif() + endif() +diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt +index cb7232f..a6ae3d9 100644 +--- a/lib/CMakeLists.txt ++++ b/lib/CMakeLists.txt +@@ -55,15 +55,21 @@ elseif(APPLE) + find_library(FOUNDATION Foundation) + find_library(IOKIT IOKit) + find_library(GAME_CONTROLLER GameController) ++ if (GAINPUT_BUILD_SHARED) + target_link_libraries(gainput ${FOUNDATION} ${IOKIT} ${GAME_CONTROLLER}) ++ endif() + if(IOS) + find_library(UIKIT UIKit) + find_library(COREMOTION CoreMotion) + find_library(QUARTZCORE QuartzCore) ++ if (GAINPUT_BUILD_SHARED) + target_link_libraries(gainput ${UIKIT} ${COREMOTION}) ++ endif() + else() + find_library(APPKIT AppKit) ++ if (GAINPUT_BUILD_SHARED) + target_link_libraries(gainput ${APPKIT}) ++ endif() + endif() + endif() + diff --git a/ports/gainput/portfile.cmake b/ports/gainput/portfile.cmake index 65ded761c2b5b4..33814724920d3e 100644 --- a/ports/gainput/portfile.cmake +++ b/ports/gainput/portfile.cmake @@ -1,3 +1,7 @@ +if (VCPKG_TARGET_IS_OSX) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO jkuhlmann/gainput @@ -5,23 +9,15 @@ vcpkg_from_github( SHA512 56fdc4c0613d7260861885b270ebe9e624e940175f41e3ac82516e2eb0d6d229e405fbcc2e54608e7d6751c1d8658b5b5e186153193badc6487274cb284a8cd6 HEAD_REF master PATCHES - "install_as_cmake_package.patch" + install_as_cmake_package.patch + fix-build.patch ) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - set(GAINPUT_BUILD_SHARED OFF) - set(GAINPUT_BUILD_STATIC ON) -else() - set(GAINPUT_BUILD_SHARED ON) - set(GAINPUT_BUILD_STATIC OFF) -endif() -if(APPLE) - set(GAINPUT_BUILD_SHARED ON) -endif() +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" GAINPUT_BUILD_STATIC) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" GAINPUT_BUILD_SHARED) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DGAINPUT_BUILD_SHARED=${GAINPUT_BUILD_SHARED} -DGAINPUT_BUILD_STATIC=${GAINPUT_BUILD_STATIC} @@ -29,9 +25,10 @@ vcpkg_configure_cmake( -DGAINPUT_SAMPLES=OFF ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-gainput TARGET_PATH share/unofficial-gainput) +vcpkg_cmake_install() vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) \ No newline at end of file +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-gainput CONFIG_PATH share/unofficial-gainput) + +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/gainput/vcpkg.json b/ports/gainput/vcpkg.json index 85da1c0d174149..ca764891c5bf1e 100644 --- a/ports/gainput/vcpkg.json +++ b/ports/gainput/vcpkg.json @@ -1,7 +1,19 @@ { "name": "gainput", - "version-string": "1.0.0", - "port-version": 4, + "version": "1.0.0", + "port-version": 6, "description": "Gainput is a multiplatform C++ input library, supporting mouse, keyboard and controllers", - "homepage": "https://github.com/jkuhlmann/gainput" + "homepage": "https://github.com/jkuhlmann/gainput", + "license": "MIT", + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/gamedev-framework/portfile.cmake b/ports/gamedev-framework/portfile.cmake index efdd5f2d450d4d..31f5e798f61b8a 100644 --- a/ports/gamedev-framework/portfile.cmake +++ b/ports/gamedev-framework/portfile.cmake @@ -2,36 +2,33 @@ if (VCPKG_HOST_IS_LINUX) message(WARNING "gamedev-framework requires gcc version 8.3 or later.") endif() -vcpkg_fail_port_install( - ON_ARCH "arm" -) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO GamedevFramework/gf HEAD_REF master - REF v0.20.0 - SHA512 57b0e87f8713268d7bd4e68fb65f57715af6617582e3ce342a10a66f2ebfeeacdd11e1df0abbd13a2d1d9e6222def94bcf7b522ef5411043668e4c6f0fea1dd7 + REF v1.2.0 + SHA512 2043d0b015af7127887df44a9e2e035000c93c20a713d7297736fb05e46923684e330c7a541a115c110ea8737f0ddbfb0c0ef13498102732cfb2a4b243fd22cd ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DGF_VCPKG=ON -DGF_USE_EMBEDDED_LIBS=OFF -DGF_BUILD_GAMES=OFF -DGF_BUILD_EXAMPLES=OFF -DGF_BUILD_DOCUMENTATION=OFF - -DGF_SINGLE_COMPILTATION_UNIT=ON -DBUILD_TESTING=OFF + -DCMAKE_UNITY_BUILD=ON -DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} OPTIONS_RELEASE -DGF_DEBUG=OFF OPTIONS_DEBUG -DGF_DEBUG=ON ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/gf TARGET_PATH share/gf) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup( + PACKAGE_NAME gf + CONFIG_PATH lib/cmake/gf +) vcpkg_copy_pdbs() file(REMOVE_RECURSE diff --git a/ports/gamedev-framework/vcpkg.json b/ports/gamedev-framework/vcpkg.json index e8b63f2126d85c..17bcae7c3eba93 100644 --- a/ports/gamedev-framework/vcpkg.json +++ b/ports/gamedev-framework/vcpkg.json @@ -1,7 +1,6 @@ { "name": "gamedev-framework", - "version-semver": "0.20.0", - "port-version": 1, + "version-semver": "1.2.0", "maintainers": [ "Julien Bernard ", "Arthur Hugeat " @@ -9,7 +8,7 @@ "description": "gamedev-framework is a framework to build 2D games in C++17", "homepage": "https://gamedevframework.github.io/", "license": "Zlib", - "supports": "!arm", + "supports": "!arm & !android", "dependencies": [ "boost-algorithm", "boost-container", @@ -30,6 +29,14 @@ "platform": "!linux" }, "stb", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, "zlib" ] } 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/gamenetworkingsockets/fix-depend-protobuf.patch b/ports/gamenetworkingsockets/fix-depend-protobuf.patch new file mode 100644 index 00000000000000..d596d39aff48f0 --- /dev/null +++ b/ports/gamenetworkingsockets/fix-depend-protobuf.patch @@ -0,0 +1,12 @@ +diff --git a/cmake/GameNetworkingSocketsConfig.cmake.in b/cmake/GameNetworkingSocketsConfig.cmake.in +index 1a27988..5076a6e 100644 +--- a/cmake/GameNetworkingSocketsConfig.cmake.in ++++ b/cmake/GameNetworkingSocketsConfig.cmake.in +@@ -3,6 +3,7 @@ + include(CMakeFindDependencyMacro) + + find_dependency(Threads) ++find_dependency(Protobuf) + + if(@USE_CRYPTO@ STREQUAL "OpenSSL") + find_dependency(OpenSSL) diff --git a/ports/gamenetworkingsockets/portfile.cmake b/ports/gamenetworkingsockets/portfile.cmake index c0b2e487d0b197..9c57f34604dbcf 100644 --- a/ports/gamenetworkingsockets/portfile.cmake +++ b/ports/gamenetworkingsockets/portfile.cmake @@ -3,30 +3,32 @@ vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ValveSoftware/GameNetworkingSockets - REF 9875f39ad3fae8c913daa310c7ff0a7a54b1e6c2 # v1.3.0 - SHA512 edf814ef10a11b67045d90d589a3bd6471fa46bc3f16cf1e83d1806df6bb48306dcda4096a2ff80fee78b24ce36d164cd46808680c9f5f8f546455fce7bf9aa0 + REF 505c697d0abef5da2ff3be35aa4ea3687597c3e9 # v1.4.1 + SHA512 3e4b4da138f2b356169e6504aa899c9eca4fba5b5fcaed2a0ae8a2f5828976dd00af9f3262c75bd6d820300da87ebe32da152fecddc278a651f3b33eb59142df HEAD_REF master + PATCHES + fix-depend-protobuf.patch ) set(CRYPTO_BACKEND OpenSSL) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DGAMENETWORKINGSOCKETS_BUILD_TESTS=OFF - -DGAMENETWORKINGSOCKETS_BUILD_EXAMPLES=OFF + -DBUILD_TESTS=OFF + -DBUILD_EXAMPLES=OFF + -DBUILD_TOOLS=OFF -DUSE_CRYPTO=${CRYPTO_BACKEND} -DUSE_CRYPTO25519=${CRYPTO_BACKEND} ) -vcpkg_install_cmake() -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/GameNetworkingSockets" TARGET_PATH "share/GameNetworkingSockets") +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/GameNetworkingSockets") vcpkg_fixup_pkgconfig() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") vcpkg_copy_pdbs() +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/gamenetworkingsockets/vcpkg.json b/ports/gamenetworkingsockets/vcpkg.json index 84aff5eaeadb5c..c291a058d629a5 100644 --- a/ports/gamenetworkingsockets/vcpkg.json +++ b/ports/gamenetworkingsockets/vcpkg.json @@ -1,12 +1,21 @@ { "name": "gamenetworkingsockets", - "version": "1.3.0", + "version": "1.4.1", + "port-version": 1, "description": "GameNetworkingSockets is a basic transport layer for games.", "homepage": "https://github.com/ValveSoftware/GameNetworkingSockets", "license": "BSD-3-Clause", "supports": "!(static & windows) & !uwp & !(arm64 & windows)", "dependencies": [ "openssl", - "protobuf" + "protobuf", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/games101-cgl/portfile.cmake b/ports/games101-cgl/portfile.cmake new file mode 100644 index 00000000000000..708d56b62736fd --- /dev/null +++ b/ports/games101-cgl/portfile.cmake @@ -0,0 +1,21 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO endingly/games101-cgl + REF v${VERSION} + SHA512 609bc549a5bb20254fa8ae8a765b688352d017bf4f1fa278385b534da3c75eb81fc893dd1736db7efd0ab13c62de3597ccb678a3c2a6f31c0ee6549f6d5c9f3d + HEAD_REF main +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" +) + +vcpkg_cmake_install() +vcpkg_copy_pdbs() +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") +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") \ No newline at end of file diff --git a/ports/games101-cgl/usage b/ports/games101-cgl/usage new file mode 100644 index 00000000000000..77f4156d822b44 --- /dev/null +++ b/ports/games101-cgl/usage @@ -0,0 +1,7 @@ +The package games101-cgl provides CMake targets: + + find_package(games101-cgl CONFIG REQUIRED) + target_link_libraries(main PRIVATE games101-cgl) + + And include header file like: + #include diff --git a/ports/games101-cgl/vcpkg.json b/ports/games101-cgl/vcpkg.json new file mode 100644 index 00000000000000..d17b44b8f89b0b --- /dev/null +++ b/ports/games101-cgl/vcpkg.json @@ -0,0 +1,21 @@ +{ + "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json", + "name": "games101-cgl", + "version": "0.1.0", + "description": "The package is for Games101's homework8 subproject.", + "homepage": "https://github.com/endingly/games101-cgl", + "license": "MIT", + "dependencies": [ + "freetype", + "glew", + "glfw3", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/gamma/portfile.cmake b/ports/gamma/portfile.cmake index 0437842d85219d..f004b443a79f9c 100644 --- a/ports/gamma/portfile.cmake +++ b/ports/gamma/portfile.cmake @@ -10,16 +10,15 @@ vcpkg_from_github( HEAD_REF master ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=1 ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() # Handle copyright -file(INSTALL ${SOURCE_PATH}/COPYRIGHT DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/COPYRIGHT" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/gamma/vcpkg.json b/ports/gamma/vcpkg.json index 9e13ebd52ce97b..1b4606b4f28fe2 100644 --- a/ports/gamma/vcpkg.json +++ b/ports/gamma/vcpkg.json @@ -1,11 +1,22 @@ { "name": "gamma", "version-string": "gamma-2018-01-27", - "port-version": 3, + "port-version": 6, "description": "Gamma is a cross-platform, C++ library for doing generic synthesis and filtering of signals. It is oriented towards real-time sound and graphics applications, but is equally useful for non-real-time tasks. Gamma is designed to be \"light-footed\" in terms of memory and processing making it highly suitable for plug-in development or embedding in other C++ projects.", "homepage": "https://github.com/LancePutnam/Gamma", + "license": "MIT", "dependencies": [ - "libsndfile", - "portaudio" + { + "name": "libsndfile", + "default-features": false, + "features": [ + "external-libs" + ] + }, + "portaudio", + { + "name": "vcpkg-cmake", + "host": true + } ] } 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/gasol/portfile.cmake b/ports/gasol/portfile.cmake index 5d3ed6b59665ec..25a61d45edf04d 100644 --- a/ports/gasol/portfile.cmake +++ b/ports/gasol/portfile.cmake @@ -1,5 +1,3 @@ -vcpkg_fail_port_install(ON_TARGET "UWP" ON_ARCH "arm" "arm64") - vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( @@ -13,13 +11,13 @@ vcpkg_from_github( fix-install.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() +vcpkg_copy_pdbs() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/gasol/vcpkg.json b/ports/gasol/vcpkg.json index 8b979704f3cbed..ad2c96493e8507 100644 --- a/ports/gasol/vcpkg.json +++ b/ports/gasol/vcpkg.json @@ -1,7 +1,14 @@ { "name": "gasol", - "version-string": "2018-01-04", - "port-version": 1, + "version-date": "2018-01-04", + "port-version": 4, "description": "A general Genetic Algorithm Solver in C++", - "homepage": "https://github.com/PytLab/GASol " + "homepage": "https://github.com/PytLab/GASol", + "supports": "!uwp & !arm", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/gaussianlib/portfile.cmake b/ports/gaussianlib/portfile.cmake index 45f6b7ff4c1110..f8fdad1ff75629 100644 --- a/ports/gaussianlib/portfile.cmake +++ b/ports/gaussianlib/portfile.cmake @@ -3,8 +3,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO LukasBanana/GaussianLib - REF 8630d4ac14a37f01c71bdf0c1c653e3746aa08da - SHA512 70de394496f20fe7037782d16cfa4bcd85beefdb25094247b8b572e6bb55866be6e2c82722d705141919b91f24428dde7b32f3d8a39670e7ef324c81b1ebe7e2 + REF 9b4a163a9a97c900b0febd93e22dc1be3faf6e20 + SHA512 f16c3cd699e30d3fbd3ef6e80f64716d72383a1f2dc073325f785b63c2ba6edc62e2a7d360eba6a92a42bf4a2ad32accd4ce3e249ee510ff5133745b897a4f55 HEAD_REF master ) diff --git a/ports/gaussianlib/vcpkg.json b/ports/gaussianlib/vcpkg.json index 81ed9e4467c035..a117097421958a 100644 --- a/ports/gaussianlib/vcpkg.json +++ b/ports/gaussianlib/vcpkg.json @@ -1,7 +1,6 @@ { "name": "gaussianlib", - "version-string": "2019-08-04", - "port-version": 1, + "version-date": "2023-02-17", "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 new file mode 100644 index 00000000000000..a933d6884f9b04 --- /dev/null +++ b/ports/gazebo/0001-Fix-deps.patch @@ -0,0 +1,102 @@ +diff --git a/cmake/SearchForStuff.cmake b/cmake/SearchForStuff.cmake +index 4085b5aaeb..f89ac88333 100644 +--- a/cmake/SearchForStuff.cmake ++++ b/cmake/SearchForStuff.cmake +@@ -179,7 +179,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) + elseif(WIN32) +@@ -225,7 +225,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) + elseif(WIN32) +@@ -513,7 +513,7 @@ if (PKG_CONFIG_FOUND) + endif () + + if (libavutil_FOUND AND libavformat_FOUND AND libavcodec_FOUND AND +- libswscale_FOUND) ++ libswscale_FOUND AND FFMPEG_FEATURE) + set (HAVE_FFMPEG TRUE) + else () + set (HAVE_FFMPEG FALSE) +@@ -538,7 +538,7 @@ if (PKG_CONFIG_FOUND) + ######################################## + # Find GNU Triangulation Surface Library + pkg_check_modules(gts gts) +- if (gts_FOUND) ++ if (GTS_FEATURE) + message (STATUS "Looking for GTS - found") + set (HAVE_GTS TRUE) + else () +@@ -551,13 +551,14 @@ 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 +- pkg_check_modules(BULLET bullet>=2.82) ++ find_package(BULLET CONFIG 2.82) + if (NOT BULLET_FOUND) + pkg_check_modules(BULLET bullet2.82>=2.82) + 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) + ######################################## + # Find libusb + pkg_check_modules(libusb-1.0 libusb-1.0) +- if (NOT libusb-1.0_FOUND) ++ if (NO_LIBUSB_FEATURE) + 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 () + ######################################## + # Find gdal + include (FindGDAL) +-if (NOT GDAL_FOUND) ++if (NO_GDAL_FEATURE) + 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() + ######################################## + # Find graphviz + include (${gazebo_cmake_dir}/FindGraphviz.cmake) +-if (NOT GRAPHVIZ_FOUND) ++if (NO_GRAPHVIZ_FEATURE) + message (STATUS "Looking for libgraphviz-dev - not found") + 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 +--- 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 + + if (GAZEBO_HAS_BULLET) + if (PKG_CONFIG_FOUND) +- pkg_check_modules(BULLET bullet>=2.82) ++ find_package(BULLET CONFIG 2.82) + if (NOT BULLET_FOUND) + pkg_check_modules(BULLET bullet2.82>=2.82) + endif() + + if (BULLET_FOUND) ++ set(BULLET_VERSION ${BULLET_VERSION_STRING}) + add_definitions(-DLIBBULLET_VERSION=${BULLET_VERSION}) + else() + message(FATAL_ERROR "Error: Bullet > 2.82 not found, please install libbullet2.82-dev.") diff --git a/ports/gazebo/fix-tbb.patch b/ports/gazebo/fix-tbb.patch new file mode 100644 index 00000000000000..b494c93bc7615a --- /dev/null +++ b/ports/gazebo/fix-tbb.patch @@ -0,0 +1,443 @@ +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 new file mode 100644 index 00000000000000..c6322c64b9e295 --- /dev/null +++ b/ports/gazebo/portfile.cmake @@ -0,0 +1,67 @@ +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 + 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 + FEATURES + openal HAVE_OPENAL + ffmpeg FFMPEG_FEATURE + gts GTS_FEATURE + INVERTED_FEATURES + simbody CMAKE_DISABLE_FIND_PACKAGE_Simbody + dart CMAKE_DISABLE_FIND_PACKAGE_DART + bullet CMAKE_DISABLE_FIND_PACKAGE_BULLET + libusb NO_LIBUSB_FEATURE + gdal NO_GDAL_FEATURE + graphviz NO_GRAPHVIZ_FEATURE +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DUSE_EXTERNAL_TINY_PROCESS_LIBRARY=ON + "-DPKG_CONFIG_EXECUTABLE=${CURRENT_HOST_INSTALLED_DIR}/tools/pkgconf/pkgconf${VCPKG_HOST_EXECUTABLE_SUFFIX}" + ${FEATURE_OPTIONS} + -DBUILD_TESTING=OFF # Not enabled by default, but to be sure +) + +vcpkg_cmake_install(ADD_BIN_TO_PATH) +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/gazebo") +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/gazebo-11/gazebo/test") + +foreach(postfix "" "-11") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/${PORT}${postfix}/setup.sh" "${CURRENT_PACKAGES_DIR}" "`dirname $0`/../..") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/${PORT}${postfix}/setup.sh" "${CURRENT_INSTALLED_DIR}" "`dirname $0`/../..") +endforeach() + +vcpkg_copy_tools( + TOOL_NAMES gazebo gz gzclient gzserver + AUTO_CLEAN +) +set(EXTRA_OGRE_LIBS Codec_EXR Codec_FreeImage Codec_STBI OgreBites OgreMain OgreMeshLodGenerator OgreOverlay OgrePaging OgreProperty OgreRTShaderSystem OgreTerrain OgreVolume Plugin_BSPSceneManager Plugin_DotScene Plugin_OctreeSceneManager Plugin_OctreeZone Plugin_ParticleFX Plugin_PCZSceneManager RenderSystem_Direct3D11 RenderSystem_GL RenderSystem_GL3Plus) +foreach(LIB IN LISTS EXTRA_OGRE_LIBS) + set(FILE_NAME "${CMAKE_SHARED_LIBRARY_PREFIX}${LIB}${CMAKE_SHARED_LIBRARY_SUFFIX}") + file(COPY "${CURRENT_INSTALLED_DIR}/bin/${FILE_NAME}" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}") +endforeach() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") + +vcpkg_fixup_pkgconfig() +# Handle copyright +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/gazebo/vcpkg.json b/ports/gazebo/vcpkg.json new file mode 100644 index 00000000000000..44cb543488966e --- /dev/null +++ b/ports/gazebo/vcpkg.json @@ -0,0 +1,126 @@ +{ + "name": "gazebo", + "version-date": "2022-01-20", + "port-version": 5, + "description": "Open source robotics simulator.", + "homepage": "http://gazebosim.org", + "license": "Apache-2.0", + "dependencies": [ + "boost-asio", + "boost-date-time", + "boost-filesystem", + "boost-format", + "boost-interprocess", + "boost-iostreams", + "boost-program-options", + "boost-property-tree", + "boost-regex", + "boost-system", + "boost-thread", + "boost-uuid", + "ccd", + { + "name": "hdf5", + "features": [ + "cpp" + ] + }, + "ignition-common3", + "ignition-fuel-tools4", + "ignition-math6", + "ignition-msgs5", + "ignition-transport8", + "ogre", + { + "name": "pkgconf", + "host": true + }, + "protobuf", + "qwt", + "sdformat9", + "tbb", + "tiny-process-library", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "default-features": [ + "bullet", + "dart", + "ffmpeg", + "gdal", + "graphviz", + "gts", + "libusb", + "openal", + "simbody" + ], + "features": { + "bullet": { + "description": "Use the bullet physics engine", + "dependencies": [ + "bullet3" + ] + }, + "dart": { + "description": "Use the dart physics engine", + "dependencies": [ + "dartsim" + ] + }, + "ffmpeg": { + "description": "Enable audio-video capabilities", + "dependencies": [ + { + "name": "ffmpeg", + "features": [ + "avcodec", + "avformat", + "swscale" + ] + } + ] + }, + "gdal": { + "description": "Enable digital elevation terrains support", + "dependencies": [ + "gdal" + ] + }, + "graphviz": { + "description": "Enable model editor's schematic view", + "dependencies": [ + "graphviz" + ] + }, + "gts": { + "description": "Enable CSG support", + "dependencies": [ + "gts" + ] + }, + "libusb": { + "description": "Enable USB peripheral support", + "dependencies": [ + "libusb" + ] + }, + "openal": { + "description": "Enable audio support", + "dependencies": [ + "openal-soft" + ] + }, + "simbody": { + "description": "Use the simbody physics engine", + "dependencies": [ + "simbody" + ] + } + } +} diff --git a/ports/gcem/portfile.cmake b/ports/gcem/portfile.cmake index 7d7a7124aa4a83..8c91780cd84baf 100644 --- a/ports/gcem/portfile.cmake +++ b/ports/gcem/portfile.cmake @@ -1,22 +1,21 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO kthohr/gcem - REF a20b0fc0206ff7d99a96fe4afdfe8205b01c8220 # v1.13.1 - SHA512 baede14856ddcf8f132c7a16b19d4d646a1fc2d5e3a536a46694a8d7c656ce4ffb2fd61f50a1df78ce7ed31528828152b4e881fe10bcead553985b6103018804 + REF "v${VERSION}" + SHA512 b9bbf16cfc3488a99ab371db36879bdde1699f0890db609278c03fb161cdffef0fbd34dbbf6004d6352e9e90c49e08e6b77357c4a424b0b5e174198b42dc049c HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/gcem) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/gcem) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") # Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/gcem/vcpkg.json b/ports/gcem/vcpkg.json index ef9aef7151a9ff..9580206b8631bd 100644 --- a/ports/gcem/vcpkg.json +++ b/ports/gcem/vcpkg.json @@ -1,6 +1,17 @@ { "name": "gcem", - "version-string": "1.13.1", - "port-version": 1, - "description": "A C++ compile-time math library using generalized constant expressions" + "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", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/gdal/0001-Fix-debug-crt-flags.patch b/ports/gdal/0001-Fix-debug-crt-flags.patch deleted file mode 100644 index 76af77b9085067..00000000000000 --- a/ports/gdal/0001-Fix-debug-crt-flags.patch +++ /dev/null @@ -1,43 +0,0 @@ -diff --git a/gdal/nmake.opt b/gdal/nmake.opt -index 8253ae2..9456b79 100644 ---- a/gdal/nmake.opt -+++ b/gdal/nmake.opt -@@ -148,16 +148,26 @@ GDAL_PDB = $(GDAL_ROOT)\gdal$(VERSION)$(POSTFIX).pdb - !ENDIF - - !IFDEF WITH_PDB --CXX_PDB_FLAGS=/Zi /Fd$(GDAL_PDB) -+CXX_PDB_FLAGS=/Z7 /Fd$(GDAL_PDB) - !ELSE - CXX_PDB_FLAGS= - !ENDIF - -+# Flags to choose CRT variant to link against (e.g. static: /MT, /MTd, dynamic: /MD, /MDd) -+# Ensure MRSID_CONFIG in mrsid/nmake.opt is set appropriately as well -+!IFNDEF CXX_CRT_FLAGS -+!IFNDEF DEBUG -+CXX_CRT_FLAGS=/MD -+!ELSE -+CXX_CRT_FLAGS=/MDd -+!ENDIF -+!ENDIF -+ - !IFNDEF OPTFLAGS - !IF "$(DEBUG)" == "0" --OPTFLAGS= $(CXX_ANALYZE_FLAGS) $(CXX_PDB_FLAGS) /nologo /MP$(CPU_COUNT) /MD /EHsc /Ox /FC /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE /DNDEBUG -+OPTFLAGS= $(CXX_ANALYZE_FLAGS) $(CXX_PDB_FLAGS) /nologo /MP$(CPU_COUNT) $(CXX_CRT_FLAGS) /EHsc /Ox /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE /DNDEBUG - !ELSE --OPTFLAGS= $(CXX_ANALYZE_FLAGS) $(CXX_PDB_FLAGS) /nologo /MP$(CPU_COUNT) /MDd /EHsc /FC /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE /DDEBUG -+OPTFLAGS= $(CXX_ANALYZE_FLAGS) $(CXX_PDB_FLAGS) /nologo /MP$(CPU_COUNT) $(CXX_CRT_FLAGS) /EHsc /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE /DDEBUG - !ENDIF - !ENDIF # OPTFLAGS - -@@ -175,7 +185,7 @@ OPTFLAGS= $(CXX_ANALYZE_FLAGS) $(CXX_PDB_FLAGS) /nologo /MP$(CPU_COUNT) /MDd /EH - # 4351: new behavior: elements of array 'array' will be default initialized (needed for https://trac.osgeo.org/gdal/changeset/35593) - # 4611: interaction between '_setjmp' and C++ object destruction is non-portable - # --WARNFLAGS = /W4 /wd4127 /wd4251 /wd4275 /wd4786 /wd4100 /wd4245 /wd4206 /wd4351 /wd4611 -+WARNFLAGS = /W3 /wd4127 /wd4251 /wd4275 /wd4786 /wd4100 /wd4245 /wd4206 /wd4351 /wd4611 - - !ENDIF - diff --git a/ports/gdal/0002-Fix-build.patch b/ports/gdal/0002-Fix-build.patch deleted file mode 100644 index 9b62737d228e9c..00000000000000 --- a/ports/gdal/0002-Fix-build.patch +++ /dev/null @@ -1,38 +0,0 @@ -diff --git a/gdal/makefile.vc b/gdal/makefile.vc -index 9e0bd44..8559f79 100644 ---- a/gdal/makefile.vc -+++ b/gdal/makefile.vc -@@ -84,7 +84,7 @@ staticlib: $(LIB_DEPENDS) - call < --#include -+#include - - #include - #include diff --git a/ports/gdal/0005-Fix-configure.patch b/ports/gdal/0005-Fix-configure.patch deleted file mode 100644 index 771f2c3d3fc588..00000000000000 --- a/ports/gdal/0005-Fix-configure.patch +++ /dev/null @@ -1,303 +0,0 @@ -diff --git a/gdal/configure.ac b/gdal/configure.ac -index 30cd613..43f1daf 100644 ---- a/gdal/configure.ac -+++ b/gdal/configure.ac -@@ -48,6 +48,8 @@ dnl Compute the canonical host-system (the system we are building for) - dnl type variable $host - AC_CANONICAL_HOST - -+PKG_PROG_PKG_CONFIG([0.21]) -+ - dnl Enable as much warnings as possible - AC_LANG_PUSH([C]) - AX_COMPILER_VENDOR -@@ -1336,12 +1338,15 @@ AC_MSG_CHECKING([for libtiff]) - - if test "x${with_libtiff}" = "xyes" -o "x${with_libtiff}" = "x" ; then - -- dnl Only automatically pick up the external libtiff if it is >= 4.0. -- AC_CHECK_LIB(tiff,TIFFScanlineSize64,TIFF_SETTING=external HAVE_BIGTIFF=yes,TIFF_SETTING=internal HAVE_BIGTIFF=yes,) -+ PKG_CHECK_MODULES([TIFF],[libtiff-4 > 4.0], [TIFF_SETTING=external], [TIFF_SETTING=internal HAVE_BIGTIFF=yes]) - - if test "$TIFF_SETTING" = "external" ; then -- LIBS="-ltiff $LIBS" - AC_MSG_RESULT([using pre-installed libtiff.]) -+ EXTRA_INCLUDES="$TIFF_CFLAGS $EXTRA_INCLUDES" -+ SAVED_LIBS="$LIBS" -+ LIBS="$TIFF_LIBS" -+ AC_SEARCH_LIBS(TIFFScanlineSize64,[],HAVE_BIGTIFF=yes,HAVE_BIGTIFF=no,) -+ LIBS="$TIFF_LIBS $SAVED_LIBS" - else - AC_MSG_RESULT([using internal TIFF code.]) - fi -@@ -1402,22 +1407,28 @@ AC_ARG_WITH(curl, - dnl Clear some cache variables - unset ac_cv_path_LIBCURL - -+LIBCURL_MODVERSION= - if test "`basename xx/$with_curl`" = "curl-config" ; then - LIBCURL_CONFIG="$with_curl" - elif test "$with_curl" = "no" ; then - LIBCURL_CONFIG=no -+elif test "$with_curl" = "yes" -o "$with_curl" = "" ; then -+ PKG_CHECK_EXISTS([libcurl], [LIBCURL_CONFIG="${PKG_CONFIG} libcurl"], [LIBCURL_CONFIG=false]) -+ LIBCURL_MODVERSION=`$LIBCURL_CONFIG --modversion` - else - AC_PATH_PROG(LIBCURL_CONFIG, curl-config, no) - fi - - if test "$LIBCURL_CONFIG" != "no" ; then - -- CURL_VERNUM=`$LIBCURL_CONFIG --vernum` -- CURL_VER=`$LIBCURL_CONFIG --version | awk '{print $2}'` -+ CURL_VER="`$LIBCURL_CONFIG --version | awk '{print $2}'`$LIBCURL_MODVERSION" - - AC_MSG_RESULT([ found libcurl version $CURL_VER]) - -- AC_CHECK_LIB(curl,curl_global_init,CURL_SETTING=yes,CURL_SETTING=no,`$LIBCURL_CONFIG --libs`) -+ SAVED_LIBS="$LIBS" -+ LIBS=`$LIBCURL_CONFIG --libs` -+ AC_SEARCH_LIBS(curl_global_init,[],CURL_SETTING=yes,CURL_SETTING=no,) -+ LIBS="$SAVED_LIBS" - - fi - -@@ -1431,7 +1442,9 @@ dnl Proj depends on it so it must appear before. - dnl --------------------------------------------------------------------------- - - SQLITE3_REQ_VERSION="3.0.0" --AX_LIB_SQLITE3($SQLITE3_REQ_VERSION) -+AC_CHECK_LIB(sqlite3,sqlite3_open,HAVE_SQLITE3=yes,AC_MSG_ERROR([vcpkg sqlite3 not found]),) -+SQLITE3_CFLAGS= -+SQLITE3_LDFLAGS=-lsqlite3 - - if test "$HAVE_SQLITE3" = "yes"; then - LIBS="$SQLITE3_LDFLAGS $LIBS" -@@ -1639,6 +1652,19 @@ dnl --------------------------------------------------------------------------- - AC_ARG_WITH(liblzma,[ --with-liblzma[=ARG] Include liblzma support (ARG=yes/no)],,) - - if test "$with_liblzma" = "yes" ; then -+ PKG_CHECK_MODULES([LIBLZMA],[liblzma],[HAVE_LIBLZMA_PC=yes],[HAVE_LIBLZMA_PC=no]) -+ SAVED_LIBS="$LIBS" -+ LIBS="$LIBLZMA_LIBS" -+ AC_SEARCH_LIBS(lzma_code,[],LIBLZMA_SETTING=yes,LIBLZMA_SETTING=no,) -+ if test "$LIBLZMA_SETTING" = "yes" ; then -+ LIBS="$LIBLZMA_LIBS $SAVED_LIBS" -+ elif test "$HAVE_LIBLZMA_PC" = "yes" ; then -+ AC_MSG_ERROR([vcpkg liblzma broken]) -+ else -+ LIBS="$SAVED_LIBS" -+ fi -+ -+elif false; then - AC_CHECK_LIB(lzma,lzma_code,LIBLZMA_SETTING=yes,LIBLZMA_SETTING=no,) - AC_CHECK_HEADERS(lzma.h) - -@@ -1661,6 +1687,19 @@ dnl --------------------------------------------------------------------------- - AC_ARG_WITH(zstd,[ --with-zstd[=ARG] Include zstd support (ARG=yes/no/installation_prefix)],,) - - if test "$with_zstd" = "" -o "$with_zstd" = "yes" ; then -+ PKG_CHECK_MODULES([ZSTD],[libzstd],[HAVE_LIBZSTD_PC=yes],[HAVE_LIBZSTD_PC=no]) -+ SAVED_LIBS="$LIBS" -+ LIBS="$ZSTD_LIBS" -+ AC_SEARCH_LIBS(ZSTD_decompressStream,[],ZSTD_SETTING=yes,ZSTD_SETTING=no,) -+ if test "$ZSTD_SETTING" = "yes" ; then -+ LIBS="$ZSTD_LIBS $SAVED_LIBS" -+ elif test "$HAVE_LIBZSTD_PC" = "yes" ; then -+ AC_MSG_ERROR([vcpkg libzstd broken]) -+ else -+ LIBS="$SAVED_LIBS" -+ fi -+ -+elif false; then - AC_CHECK_LIB(zstd,ZSTD_decompressStream,ZSTD_SETTING=yes,ZSTD_SETTING=no,) - - if test "$ZSTD_SETTING" = "yes" ; then -@@ -1962,6 +2001,12 @@ else - SAVED_LIBS="${LIBS}" - LIBS="${PG_LIB}" - AC_CHECK_LIB(pq,PQconnectdb,HAVE_PG=yes,HAVE_PG=no) -+ if test "${HAVE_PG}" = "no" ; then -+ unset ac_cv_lib_pq_PQconnectdb -+ PG_LIB="${PG_LIB} -lpgcommon -lpgport" -+ LIBS="${PG_LIB} ${SAVED_LIBS}" -+ AC_CHECK_LIB(pq,PQconnectdb,HAVE_PG=yes,HAVE_PG=no,[-lpgcommon -lpgport]) -+ fi - LIBS="${SAVED_LIBS}" - if test "${HAVE_PG}" = "yes" ; then - LIBS="${PG_LIB} ${LIBS}" -@@ -2322,6 +2367,15 @@ AC_ARG_WITH(geotiff,[ --with-geotiff=ARG Libgeotiff library to use (ARG=inte - - if test "$with_geotiff" = "yes" -o "$with_geotiff" = "" ; then - -+ AC_CHECK_LIB(geotiff,GTIFAttachPROJContext,GEOTIFF_SETTING=external,GEOTIFF_SETTING=internal) -+ if test $GEOTIFF_SETTING = "external" ; then -+ LIBS="-lgeotiff $LIBS" -+ else -+ AC_MSG_ERROR([vcpkg geotiff broken]) -+ fi -+ -+elif false; then -+ - if test "$TIFF_SETTING" = "internal" ; then - GEOTIFF_SETTING=internal - else -@@ -3005,7 +3059,7 @@ elif test "$with_hdf5" = "yes" -o "$with_hdf5" = "" ; then - # Test that the package found is for the right architecture - saved_LIBS="$LIBS" - LIBS="$HDF5_LIBS" -- AC_CHECK_LIB(hdf5,H5Fopen, [HAVE_HDF5=yes], [HAVE_HDF5=no]) -+ AC_SEARCH_LIBS(H5Fopen,[],[HAVE_HDF5=yes],[HAVE_HDF5=no],) - LIBS="$saved_LIBS" - - if test "$HAVE_HDF5" = "yes"; then -@@ -3135,6 +3189,24 @@ if test "$with_netcdf" = "no" ; then - - echo "netCDF support disabled." - -+elif true ; then -+ -+ PKG_CHECK_MODULES([NETCDF],[netcdf],[HAVE_NETCDF_PC=yes],[HAVE_NETCDF_PC=no]) -+ SAVED_LIBS="$LIBS" -+ LIBS="$NETCDF_LIBS" -+ AC_SEARCH_LIBS(nc_open,[],NETCDF_SETTING=yes,NETCDF_SETTING=no,) -+ if test "$NETCDF_SETTING" = "yes" ; then -+ LIBS="$NETCDF_LIBS $SAVED_LIBS" -+ EXTRA_INCLUDES="$NETCDF_CFLAGS $EXTRA_INCLUDES" -+ PKG_CHECK_VAR([NETCDF_ROOT],[netcdf],[prefix],,) -+ PKG_CHECK_VAR([NETCDF_INCLUDEDIR],[netcdf],[includedir],,) -+ NETCDF_NCCONFIG= -+ elif test "$HAVE_NETCDF_PC" = "yes" ; then -+ AC_MSG_ERROR([vcpkg netcdf-c broken]) -+ else -+ LIBS="$SAVED_LIBS" -+ fi -+ - else - - dnl find nc-config location -@@ -3355,6 +3427,21 @@ if test "$with_openjpeg" = "no" ; then - - AC_MSG_NOTICE([OpenJPEG (JPEG2000) support disabled.]) - -+elif true ; then -+ -+ PKG_CHECK_MODULES([OPENJPEG],[libopenjp2 >= 2.1.0],[HAVE_LIBOPENJP2_PC=yes],[HAVE_LIBOPENJP2_PC=no]) -+ SAVED_LIBS="$LIBS" -+ LIBS="$OPENJPEG_LIBS" -+ AC_SEARCH_LIBS(opj_setup_decoder,[],HAVE_OPENJPEG=yes,HAVE_OPENJPEG=no,) -+ if test "$HAVE_OPENJPEG" = "yes" ; then -+ EXTRA_INCLUDES="$OPENJPEG_CFLAGS $EXTRA_INCLUDES" -+ LIBS="$OPENJPEG_LIBS $SAVED_LIBS" -+ elif test "$HAVE_LIBOPENJP2_PC" = "yes" ; then -+ AC_MSG_ERROR([vcpkg libopenjpeg broken]) -+ else -+ LIBS="$SAVED_LIBS" -+ fi -+ - else - - PKG_PROG_PKG_CONFIG([0.21]) -@@ -4046,7 +4133,9 @@ dnl --------------------------------------------------------------------------- - - dnl Expat 1.95.0 released in 2000-09-28 - EXPAT_REQ_VERSION="1.95.0" --AX_LIB_EXPAT($EXPAT_REQ_VERSION) -+AC_CHECK_LIB(expat,XML_ParserCreate,HAVE_EXPAT=yes,AC_MSG_ERROR([vcpkg expat not found])) -+EXPAT_LDFLAGS="-lexpat" -+EXPAT_INCLUDE="" - - if test "$HAVE_EXPAT" = "yes"; then - LIBS="$EXPAT_LDFLAGS $LIBS" -@@ -4069,7 +4158,13 @@ dnl Check for Google libkml support. - dnl --------------------------------------------------------------------------- - - LIBKML_REQ_VERSION="1.3.0" -+if test "x${with_libkml}" = "xno"; then -+ echo "libkml support disabled." -+ HAVE_LIBKML="no" -+ LIBKML_CFLAGS= -+else - AX_LIB_LIBKML($LIBKML_REQ_VERSION) -+fi - - if test "$HAVE_LIBKML" = "yes"; then - LIBS="$LIBKML_LDFLAGS $LIBS" -@@ -4252,8 +4347,8 @@ else - dnl Add curl to LIBS; it might be local to DODS or generally installed - if test -x $DODS_BIN/curl-config; then - LIBS="$LIBS `$DODS_BIN/curl-config --libs`" -- elif which curl-config > /dev/null 2>&1; then -- LIBS="$LIBS `curl-config --libs`" -+ elif test "$CURL_SETTING" = "yes"; then -+ LIBS="$LIBS $CURL_LIB" - else - AC_MSG_ERROR([You gave a dods root, but I can't find curl!]) - fi -@@ -4295,7 +4390,7 @@ if test "x$with_xml2" = "xyes" -o "x$with_xml2" = "x" ; then - if test "${HAVE_LIBXML2}" = "yes"; then - SAVED_LIBS="${LIBS}" - LIBS="${LIBXML2_LIBS}" -- AC_CHECK_LIB(xml2,xmlParseDoc,HAVE_LIBXML2=yes,HAVE_LIBXML2=no) -+ AC_SEARCH_LIBS(xmlParseDoc,[],HAVE_LIBXML2=yes,HAVE_LIBXML2=no,) - LIBS="${SAVED_LIBS}" - fi - -@@ -4509,6 +4604,22 @@ WEBP_SETTING=no - - if test "$with_webp" = "yes" -o "$with_webp" = "" ; then - -+ PKG_CHECK_MODULES([WEBP],[libwebp],[HAVE_LIBWEBP_PC=yes],[HAVE_LIBWEBP_PC=no]) -+ SAVED_LIBS="$LIBS" -+ LIBS="$WEBP_LIBS" -+ AC_SEARCH_LIBS(WebPDecodeRGB,[],WEBP_SETTING=yes,WEBP_SETTING=no,) -+ -+ if test "$WEBP_SETTING" = "yes" ; then -+ LIBS="$WEBP_LIBS $SAVED_LIBS" -+ elif test "$HAVE_LIBWEBP_PC" = "yes" ; then -+ AC_MSG_ERROR([vcpkg libwebp broken]) -+ else -+ echo "libwebp not found - WEBP support disabled" -+ LIBS="$SAVED_LIBS" -+ fi -+ -+elif false ; then -+ - AC_CHECK_LIB(webp,WebPDecodeRGB,WEBP_SETTING=yes,WEBP_SETTING=no,) - - if test "$WEBP_SETTING" = "yes" ; then -@@ -4540,7 +4651,7 @@ dnl --------------------------------------------------------------------------- - dnl Check if geos library is available. - dnl --------------------------------------------------------------------------- - --GEOS_INIT(3.1.0) -+PKG_CHECK_MODULES(GEOS,geos >= 3.1.0,HAVE_GEOS=yes,AC_MSG_ERROR([vcpkg geos not found])) - if test "${HAVE_GEOS}" = "yes" ; then - AC_MSG_NOTICE([Using C API from GEOS $GEOS_VERSION]) - STRIP_SYSTEM_LIBRARY_PATHS("${GEOS_LIBS}") -@@ -4779,6 +4890,16 @@ dnl --------------------------------------------------------------------------- - - AC_ARG_WITH(libjson-c,[ --with-libjson-c[=ARG] Include libjson-c support (ARG=internal or libjson-c directory)],,) - -+PKG_CHECK_MODULES([JSONC],[json-c],[HAVE_JSONC=yes],[HAVE_JSONC=no]) -+SAVED_LIBS="$LIBS" -+LIBS="$JSONC_LIBS" -+AC_SEARCH_LIBS(json_object_set_serializer,[],LIBJSONC_SETTING=external,LIBJSONC_SETTING=,) -+if test "$LIBJSONC_SETTING" = "external" ; then -+ LIBS="$JSONC_LIBS $SAVED_LIBS" -+ JSON_INCLUDE="$JSONC_CFLAGS" -+else -+ LIBS="$SAVED_LIBS" -+ - if test "$with_libjson_c" = "external" -o "$with_libjson_c" = "" -o "$with_libjson_c" = "yes" ; then - AC_CHECK_LIB(json-c,json_object_set_serializer,LIBJSONC_SETTING=external,LIBJSONC_SETTING=internal,) - elif test "$with_libjson_c" = "internal" ; then -@@ -4807,6 +4928,8 @@ else - AC_MSG_RESULT([using internal libjson-c code]) - fi - -+fi # json-c.pc -+ - AC_SUBST(LIBJSONC_SETTING,$LIBJSONC_SETTING) - AC_SUBST(JSON_INCLUDE,$JSON_INCLUDE) - diff --git a/ports/gdal/0006-Fix-mingw-dllexport.patch b/ports/gdal/0006-Fix-mingw-dllexport.patch deleted file mode 100644 index a07dc0ec3b2a8e..00000000000000 --- a/ports/gdal/0006-Fix-mingw-dllexport.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/gdal/port/cpl_port.h b/gdal/port/cpl_port.h -index 98805cf..a6a1846 100644 ---- a/gdal/port/cpl_port.h -+++ b/gdal/port/cpl_port.h -@@ -343,7 +343,7 @@ typedef unsigned int GUIntptr_t; - #endif - - #ifndef CPL_DLL --#if defined(_MSC_VER) && !defined(CPL_DISABLE_DLL) -+#if defined(WIN32) && !defined(CPL_DISABLE_DLL) - # ifdef GDAL_COMPILATION - # define CPL_DLL __declspec(dllexport) - # else diff --git a/ports/gdal/0007-Control-tools.patch b/ports/gdal/0007-Control-tools.patch deleted file mode 100644 index fd1f5c9a35ecf7..00000000000000 --- a/ports/gdal/0007-Control-tools.patch +++ /dev/null @@ -1,83 +0,0 @@ -diff --git a/gdal/GDALmake.opt.in b/gdal/GDALmake.opt.in -index e8d2b05..1f19a4b 100644 ---- a/gdal/GDALmake.opt.in -+++ b/gdal/GDALmake.opt.in -@@ -662,3 +662,6 @@ O_OBJ = $(foreach file,$(OBJ),../o/$(file)) - - %-clean: - $(MAKE) -C $* clean -+ -+ -+BUILD_TOOLS = @BUILD_TOOLS@ -\ No newline at end of file -diff --git a/gdal/apps/GNUmakefile b/gdal/apps/GNUmakefile -index 9624cf7..f91403d 100644 ---- a/gdal/apps/GNUmakefile -+++ b/gdal/apps/GNUmakefile -@@ -43,6 +43,11 @@ NON_DEFAULT_LIST = multireadtest$(EXE) dumpoverviews$(EXE) \ - gdaltorture$(EXE) gdal2ogr$(EXE) test_ogrsf$(EXE) \ - gdalasyncread$(EXE) testreprojmulti$(EXE) - -+ifeq ($(BUILD_TOOLS),no) -+BIN_LIST = -+NON_DEFAULT_LIST = -+endif -+ - default: gdal-config-inst gdal-config $(BIN_LIST) - - all: default $(NON_DEFAULT_LIST) -diff --git a/gdal/apps/makefile.vc b/gdal/apps/makefile.vc -index 6e1fc9b..66f9b29 100644 ---- a/gdal/apps/makefile.vc -+++ b/gdal/apps/makefile.vc -@@ -20,6 +20,7 @@ GNM_PROGRAMS = gnmmanage.exe gnmanalyse.exe - !ENDIF - - -+!IF "$(BUILD_TOOLS)" == "1" - default: gdal_translate.exe gdalinfo.exe gdaladdo.exe gdalwarp.exe \ - nearblack.exe gdalmanage.exe gdalenhance.exe gdaltransform.exe\ - gdaldem.exe gdallocationinfo.exe gdalsrsinfo.exe gdalmdiminfo.exe \ -@@ -28,6 +29,10 @@ default: gdal_translate.exe gdalinfo.exe gdaladdo.exe gdalwarp.exe \ - all: default multireadtest.exe \ - dumpoverviews.exe gdalwarpsimple.exe gdalflattenmask.exe \ - gdaltorture.exe gdal2ogr.exe test_ogrsf.exe -+!ELSE -+default: -+all: -+!ENDIF - OBJ = commonutils.obj gdalinfo_lib.obj gdal_translate_lib.obj gdalwarp_lib.obj ogr2ogr_lib.obj \ - gdaldem_lib.obj nearblack_lib.obj gdal_grid_lib.obj gdal_rasterize_lib.obj gdalbuildvrt_lib.obj \ - gdalmdiminfo_lib.obj gdalmdimtranslate_lib.obj -@@ -223,5 +228,9 @@ clean: - -del *.manifest - -del *.exp - -+!IF "$(BUILD_TOOLS)" == "1" - install: default - copy *.exe $(BINDIR) -+!ELSE -+install: -+!ENDIF -\ No newline at end of file -diff --git a/gdal/configure.ac b/gdal/configure.ac -index 1098b39..e4d985e 100644 ---- a/gdal/configure.ac -+++ b/gdal/configure.ac -@@ -6165,6 +6165,16 @@ case "${host_os}" in - ;; - esac - -+BUILD_TOOLS=yes -+AC_ARG_WITH([tools], AS_HELP_STRING([--with-tools], [Build the tools]),,) -+if test "$with_tools" = "yes"; then -+ AC_MSG_RESULT([enabled]) -+else -+ BUILD_TOOLS=no -+ AC_MSG_RESULT([disabled by user]) -+fi -+AC_SUBST(BUILD_TOOLS,$BUILD_TOOLS) -+ - AC_CONFIG_FILES([GDALmake.opt]) - AC_OUTPUT - diff --git a/ports/gdal/0008-Fix-absl-string_view.patch b/ports/gdal/0008-Fix-absl-string_view.patch deleted file mode 100644 index ff5af90f6dcf31..00000000000000 --- a/ports/gdal/0008-Fix-absl-string_view.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/gdal/ogr/ogrsf_frmts/flatgeobuf/flatbuffers/base.h b/gdal/ogr/ogrsf_frmts/flatgeobuf/flatbuffers/base.h -index 9557380..17edcf8 100644 ---- a/gdal/ogr/ogrsf_frmts/flatgeobuf/flatbuffers/base.h -+++ b/gdal/ogr/ogrsf_frmts/flatgeobuf/flatbuffers/base.h -@@ -213,7 +213,7 @@ namespace flatbuffers { - } - #define FLATBUFFERS_HAS_STRING_VIEW 1 - // Check for absl::string_view -- #elif __has_include("absl/strings/string_view.h") -+ #elif __has_include("absl/strings/string_view.h") && 0 - #include "absl/strings/string_view.h" - namespace flatbuffers { - typedef absl::string_view string_view; diff --git a/ports/gdal/cmake-project-include.cmake b/ports/gdal/cmake-project-include.cmake new file mode 100644 index 00000000000000..409b7b1a6436fc --- /dev/null +++ b/ports/gdal/cmake-project-include.cmake @@ -0,0 +1,13 @@ +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) + set(GDAL_CHECK_PACKAGE_WebP_NAMES WebP CACHE INTERNAL "vcpkg") + set(GDAL_CHECK_PACKAGE_WebP_TARGETS WebP::webp CACHE INTERNAL "vcpkg") +endif() diff --git a/ports/gdal/dependency_win.cmake b/ports/gdal/dependency_win.cmake deleted file mode 100644 index c72851a26a26db..00000000000000 --- a/ports/gdal/dependency_win.cmake +++ /dev/null @@ -1,257 +0,0 @@ -macro(find_dependency_win) - # Setup proj4 libraries + include path - set(PROJ_INCLUDE_DIR "${CURRENT_INSTALLED_DIR}/include") - set(PROJ_LIBRARY_REL "${CURRENT_INSTALLED_DIR}/lib/proj.lib") - set(PROJ_LIBRARY_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/proj_d.lib") - - # Setup libpng libraries + include path - set(PNG_INCLUDE_DIR "${CURRENT_INSTALLED_DIR}/include") - set(PNG_LIBRARY_REL "${CURRENT_INSTALLED_DIR}/lib/libpng16.lib" ) - set(PNG_LIBRARY_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/libpng16d.lib" ) - - # Setup zlib libraries + include path - set(ZLIB_INCLUDE_DIR "${CURRENT_INSTALLED_DIR}/include" ) - set(ZLIB_LIBRARY_REL "${CURRENT_INSTALLED_DIR}/lib/zlib.lib" ) - set(ZLIB_LIBRARY_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/zlibd.lib" ) - - # Setup geos libraries + include path - set(GEOS_INCLUDE_DIR "${CURRENT_INSTALLED_DIR}/include" ) - set(GEOS_LIBRARY_REL "${CURRENT_INSTALLED_DIR}/lib/geos_c.lib ${CURRENT_INSTALLED_DIR}/lib/geos.lib" ) - set(GEOS_LIBRARY_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/geos_cd.lib ${CURRENT_INSTALLED_DIR}/debug/lib/geosd.lib" ) - - # Setup expat libraries + include path - set(EXPAT_INCLUDE_DIR "${CURRENT_INSTALLED_DIR}/include" ) - if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - set(EXPAT_LIBRARY_REL "${CURRENT_INSTALLED_DIR}/lib/libexpatMD.lib" ) - set(EXPAT_LIBRARY_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/libexpatdMD.lib" ) - else() - set(EXPAT_LIBRARY_REL "${CURRENT_INSTALLED_DIR}/lib/libexpat.lib" ) - set(EXPAT_LIBRARY_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/libexpatd.lib" ) - endif() - - # Setup curl libraries + include path - set(CURL_INCLUDE_DIR "${CURRENT_INSTALLED_DIR}/include" ) - if(EXISTS "${CURRENT_INSTALLED_DIR}/lib/libcurl.lib") - set(CURL_LIBRARY_REL "${CURRENT_INSTALLED_DIR}/lib/libcurl.lib" ) - elseif(EXISTS "${CURRENT_INSTALLED_DIR}/lib/libcurl_imp.lib") - set(CURL_LIBRARY_REL "${CURRENT_INSTALLED_DIR}/lib/libcurl_imp.lib" ) - endif() - if(EXISTS "${CURRENT_INSTALLED_DIR}/debug/lib/libcurl-d.lib") - set(CURL_LIBRARY_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/libcurl-d.lib" ) - elseif(EXISTS "${CURRENT_INSTALLED_DIR}/debug/lib/libcurl-d_imp.lib") - set(CURL_LIBRARY_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/libcurl-d_imp.lib" ) - endif() - - # Setup sqlite3 libraries + include path - set(SQLITE_INCLUDE_DIR "${CURRENT_INSTALLED_DIR}/include" ) - set(SQLITE_LIBRARY_REL "${CURRENT_INSTALLED_DIR}/lib/sqlite3.lib" ) - set(SQLITE_LIBRARY_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/sqlite3.lib" ) - - # Setup PostgreSQL libraries + include path - set(PGSQL_INCLUDE_DIR "${CURRENT_INSTALLED_DIR}/include" ) - set(PGSQL_LIBRARY_REL "${CURRENT_INSTALLED_DIR}/lib/libpq.lib" ) - set(PGSQL_LIBRARY_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/libpq.lib" ) - - set(TMP_REL "${CURRENT_INSTALLED_DIR}/lib/libpgcommon.lib" ) - set(TMP_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/libpgcommon.lib" ) - set(PGSQL_LIBRARY_REL "${PGSQL_LIBRARY_REL} ${TMP_REL}") - set(PGSQL_LIBRARY_DBG "${PGSQL_LIBRARY_DBG} ${TMP_DBG}") - - set(TMP_REL "${CURRENT_INSTALLED_DIR}/lib/libpgport.lib" ) - set(TMP_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/libpgport.lib" ) - set(PGSQL_LIBRARY_REL "${PGSQL_LIBRARY_REL} ${TMP_REL}") - set(PGSQL_LIBRARY_DBG "${PGSQL_LIBRARY_DBG} ${TMP_DBG}") - - # Setup OpenJPEG libraries + include path - set(OPENJPEG_INCLUDE_DIR "${CURRENT_INSTALLED_DIR}/include" ) - set(OPENJPEG_LIBRARY_REL "${CURRENT_INSTALLED_DIR}/lib/openjp2.lib" ) - set(OPENJPEG_LIBRARY_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/openjp2.lib" ) - - # Setup WebP libraries + include path - set(WEBP_INCLUDE_DIR "${CURRENT_INSTALLED_DIR}/include" ) - set(WEBP_LIBRARY_REL "${CURRENT_INSTALLED_DIR}/lib/webp.lib" ) - set(WEBP_LIBRARY_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/webpd.lib" ) - - # Setup libxml2 libraries + include path - set(XML2_INCLUDE_DIR "${CURRENT_INSTALLED_DIR}/include" ) - set(XML2_LIBRARY_REL "${CURRENT_INSTALLED_DIR}/lib/libxml2.lib" ) - set(XML2_LIBRARY_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/libxml2.lib" ) - - # Setup liblzma libraries + include path - set(LZMA_INCLUDE_DIR "${CURRENT_INSTALLED_DIR}/include" ) - set(LZMA_LIBRARY_REL "${CURRENT_INSTALLED_DIR}/lib/lzma.lib" ) - set(LZMA_LIBRARY_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/lzmad.lib" ) - - # Setup openssl libraries path - set(OPENSSL_LIBRARY_REL "${CURRENT_INSTALLED_DIR}/lib/libcrypto.lib ${CURRENT_INSTALLED_DIR}/lib/libssl.lib" ) - set(OPENSSL_LIBRARY_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/libcrypto.lib ${CURRENT_INSTALLED_DIR}/debug/lib/libssl.lib" ) - - # Setup libiconv libraries path - set(ICONV_LIBRARY_REL "${CURRENT_INSTALLED_DIR}/lib/iconv.lib ${CURRENT_INSTALLED_DIR}/lib/charset.lib" ) - set(ICONV_LIBRARY_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/iconv.lib ${CURRENT_INSTALLED_DIR}/debug/lib/charset.lib" ) - - # Setup jpeg libraries - if(EXISTS "${CURRENT_INSTALLED_DIR}/lib/jpeg.lib") - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" JPEG_INCLUDE) - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/jpeg.lib" JPEG_LIBRARY_REL) - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/jpeg.lib" JPEG_LIBRARY_DBG) - list(APPEND NMAKE_OPTIONS JPEG_EXTERNAL_LIB=1) - list(APPEND NMAKE_OPTIONS JPEGDIR=${JPEG_INCLUDE}) - list(APPEND NMAKE_OPTIONS_REL JPEG_LIB=${JPEG_LIBRARY_REL}) - list(APPEND NMAKE_OPTIONS_DBG JPEG_LIB=${JPEG_LIBRARY_DBG}) - endif() - - # Setup zstd libraries - if(EXISTS "${CURRENT_INSTALLED_DIR}/lib/zstd.lib") - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" ZSTD_INCLUDE) - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/zstd.lib" ZSTD_LIBRARY_REL) - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/zstdd.lib" ZSTD_LIBRARY_DBG) - list(APPEND NMAKE_OPTIONS ZSTD_CFLAGS=-I${ZSTD_INCLUDE}) - list(APPEND NMAKE_OPTIONS_REL ZSTD_LIBS=${ZSTD_LIBRARY_REL}) - list(APPEND NMAKE_OPTIONS_DBG ZSTD_LIBS=${ZSTD_LIBRARY_DBG}) - endif() - - # Setup tiff libraries - if(EXISTS "${CURRENT_INSTALLED_DIR}/lib/tiff.lib") - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" TIFF_INCLUDE) - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/tiff.lib" TIFF_LIBRARY_REL) - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/tiffd.lib" TIFF_LIBRARY_DBG) - list(APPEND NMAKE_OPTIONS TIFF_INC=-I${TIFF_INCLUDE}) - list(APPEND NMAKE_OPTIONS TIFF_OPTS=-DBIGTIFF_SUPPORT) - list(APPEND NMAKE_OPTIONS_REL TIFF_LIB=${TIFF_LIBRARY_REL}) - list(APPEND NMAKE_OPTIONS_DBG TIFF_LIB=${TIFF_LIBRARY_DBG}) - endif() - - # Setup geotiff libraries - if(EXISTS "${CURRENT_INSTALLED_DIR}/lib/geotiff_i.lib") - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" GEOTIFF_INCLUDE) - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/geotiff_i.lib" GEOTIFF_LIBRARY_REL) - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/geotiff_d_i.lib" GEOTIFF_LIBRARY_DBG) - list(APPEND NMAKE_OPTIONS GEOTIFF_INC=-I${GEOTIFF_INCLUDE}) - list(APPEND NMAKE_OPTIONS_REL GEOTIFF_LIB=${GEOTIFF_LIBRARY_REL}) - list(APPEND NMAKE_OPTIONS_DBG GEOTIFF_LIB=${GEOTIFF_LIBRARY_DBG}) - endif() - - # Setup Xerces libraries - if(EXISTS "${CURRENT_INSTALLED_DIR}/lib/xerces-c_3.lib") - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}" XERCES_DIR) - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" XERCES_INCLUDE) - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/xerces-c_3.lib" XERCES_LIBRARY_REL) - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/xerces-c_3D.lib" XERCES_LIBRARY_DBG) - list(APPEND NMAKE_OPTIONS ILI_ENABLED=YES) - list(APPEND NMAKE_OPTIONS XERCES_DIR=${XERCES_DIR}) - list(APPEND NMAKE_OPTIONS "XERCES_INCLUDE=-I${XERCES_INCLUDE} -I${XERCES_INCLUDE}/xercesc") - list(APPEND NMAKE_OPTIONS_REL XERCES_LIB=${XERCES_LIBRARY_REL}) - list(APPEND NMAKE_OPTIONS_DBG XERCES_LIB=${XERCES_LIBRARY_DBG}) - endif() - - # Setup freexl libraries - if(EXISTS "${CURRENT_INSTALLED_DIR}/lib/freexl.lib") - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" FREEXL_INCLUDE) - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/freexl.lib" FREEXL_LIBRARY_REL) - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/freexl.lib" FREEXL_LIBRARY_DBG) - list(APPEND NMAKE_OPTIONS FREEXL_CFLAGS=-I${FREEXL_INCLUDE}) - list(APPEND NMAKE_OPTIONS_REL FREEXL_LIBS=${FREEXL_LIBRARY_REL}) - list(APPEND NMAKE_OPTIONS_DBG FREEXL_LIBS=${FREEXL_LIBRARY_DBG}) - endif() - - # Setup Cryptopp libraries - if(EXISTS "${CURRENT_INSTALLED_DIR}/lib/cryptopp-static.lib") - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" CRYPTOPP_INCLUDE) - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/cryptopp-static.lib" CRYPTOPP_LIBRARY_REL) - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/cryptopp-static.lib" CRYPTOPP_LIBRARY_DBG) - list(APPEND NMAKE_OPTIONS CRYPTOPP_INC=-I${CRYPTOPP_INCLUDE}) - list(APPEND NMAKE_OPTIONS_REL CRYPTOPP_LIB=${CRYPTOPP_LIBRARY_REL}) - list(APPEND NMAKE_OPTIONS_DBG CRYPTOPP_LIB=${CRYPTOPP_LIBRARY_DBG}) - endif() - - # Setup netcdf libraries - if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - if(EXISTS "${CURRENT_INSTALLED_DIR}/lib/netcdf.lib") - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" NETCDF_INCLUDE) - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/netcdf.lib" NETCDF_LIBRARY_REL) - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/netcdf.lib" NETCDF_LIBRARY_DBG) - list(APPEND NMAKE_OPTIONS NETCDF_PLUGIN=NO) - list(APPEND NMAKE_OPTIONS NETCDF_SETTING=yes) - list(APPEND NMAKE_OPTIONS NETCDF_INC_DIR=${NETCDF_INCLUDE}) - list(APPEND NMAKE_OPTIONS_REL NETCDF_LIB=${NETCDF_LIBRARY_REL}) - list(APPEND NMAKE_OPTIONS_DBG NETCDF_LIB=${NETCDF_LIBRARY_DBG}) - endif() - endif() - if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}" HDF5_DIR) - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/hdf5_D.lib" HDF5_LIBRARY_DBG) - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/hdf5.lib" HDF5_LIBRARY_REL) - list(APPEND NMAKE_OPTIONS HDF5_PLUGIN=NO) - list(APPEND NMAKE_OPTIONS HDF5_H5_IS_DLL=YES) - list(APPEND NMAKE_OPTIONS HDF5_DIR=${HDF5_DIR}) - list(APPEND NMAKE_OPTIONS_REL HDF5_LIB=${HDF5_LIBRARY_REL}) - list(APPEND NMAKE_OPTIONS_DBG HDF5_LIB=${HDF5_LIBRARY_DBG}) - endif() - - # Setup libkml libraries - if(EXISTS "${CURRENT_INSTALLED_DIR}/lib/kmlbase.lib") - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}" LIBKML_DIR) - list(APPEND NMAKE_OPTIONS LIBKML_DIR=${LIBKML_DIR}) - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" LIBKML_INCLUDE) - list(APPEND NMAKE_OPTIONS LIBKML_INCLUDE=-I${LIBKML_INCLUDE}) - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/kmlbase.lib" KMLBASE_REL) - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/kmlbase.lib" KMLBASE_DBG) - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/kmlconvenience.lib" KMLCONVENIENCE_REL) - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/kmlconvenience.lib" KMLCONVENIENCE_DBG) - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/kmldom.lib" KMLDOM_REL) - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/kmldom.lib" KMLDOM_DBG) - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/kmlengine.lib" KMLENGINE_REL) - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/kmlengine.lib" KMLENGINE_DBG) - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/kmlregionator.lib" KMLREGIONATOR_REL) - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/kmlregionator.lib" KMLREGIONATOR_DBG) - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/kmlxsd.lib" KMLXSD_REL) - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/kmlxsd.lib" KMLXSD_DBG) - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/bz2.lib" BZIP2_REL) - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/bz2d.lib" BZIP2_DBG) - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/minizip.lib" MINIZIP_REL) - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/minizip.lib" MINIZIP_DBG) - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/uriparser.lib" URIPARSER_REL) - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/uriparser.lib" URIPARSER_DBG) - list(APPEND NMAKE_OPTIONS_REL "LIBKML_LIBS=${KMLBASE_REL} ${KMLCONVENIENCE_REL} ${KMLDOM_REL} ${KMLENGINE_REL} ${KMLREGIONATOR_REL} ${KMLXSD_REL} ${BZIP2_REL} ${MINIZIP_REL} ${URIPARSER_REL} ${EXPAT_LIBRARY_REL} ${ZLIB_LIBRARY_REL}") - list(APPEND NMAKE_OPTIONS_DBG "LIBKML_LIBS=${KMLBASE_DBG} ${KMLCONVENIENCE_DBG} ${KMLDOM_DBG} ${KMLENGINE_DBG} ${KMLREGIONATOR_DBG} ${KMLXSD_DBG} ${BZIP2_DBG} ${MINIZIP_DBG} ${URIPARSER_DBG} ${EXPAT_LIBRARY_DBG} ${ZLIB_LIBRARY_DBG}") - endif() - - if("mysql-libmysql" IN_LIST FEATURES OR "mysql-libmariadb" IN_LIST FEATURES) - # Setup MySQL libraries + include path - if("mysql-libmysql" IN_LIST FEATURES) - set(MYSQL_INCLUDE_DIR "${CURRENT_INSTALLED_DIR}/include/mysql" ) - set(MYSQL_LIBRARY_REL "${CURRENT_INSTALLED_DIR}/lib/libmysql.lib" ) - set(MYSQL_LIBRARY_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/libmysql.lib" ) - endif() - - if("mysql-libmariadb" IN_LIST FEATURES) - set(MYSQL_INCLUDE_DIR "${CURRENT_INSTALLED_DIR}/include/mysql" ) - set(MYSQL_LIBRARY_REL "${CURRENT_INSTALLED_DIR}/lib/libmariadb.lib" ) - set(MYSQL_LIBRARY_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/libmariadb.lib" ) - endif() - endif() - - if ("libspatialite" IN_LIST FEATURES) - # Setup spatialite libraries + include path - set(SPATIALITE_INCLUDE_DIR "${CURRENT_INSTALLED_DIR}/include/spatialite" ) - if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - set(SPATIALITE_LIBRARY_REL "${CURRENT_INSTALLED_DIR}/lib/librttopo.lib" "${CURRENT_INSTALLED_DIR}/lib/spatialite.lib") - set(SPATIALITE_LIBRARY_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/librttopo.lib" "${CURRENT_INSTALLED_DIR}/debug/lib/spatialite.lib") - else() - set(SPATIALITE_LIBRARY_REL "${CURRENT_INSTALLED_DIR}/lib/spatialite.lib" ) - set(SPATIALITE_LIBRARY_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/spatialite.lib" ) - endif() - set(HAVE_SPATIALITE "-DHAVE_SPATIALITE") - endif() - - if ("cfitsio" IN_LIST FEATURES) - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" FITS_INCLUDE) - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/cfitsio.lib" FITS_LIBRARY_REL) - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/cfitsio.lib" FITS_LIBRARY_DBG) - list(APPEND NMAKE_OPTIONS FITS_PLUGIN=YES) - list(APPEND NMAKE_OPTIONS FITS_INC_DIR=${FITS_INCLUDE}) - list(APPEND NMAKE_OPTIONS_REL FITS_LIB=${FITS_LIBRARY_REL}) - list(APPEND NMAKE_OPTIONS_DBG FITS_LIB=${FITS_LIBRARY_DBG}) - endif() -endmacro() diff --git a/ports/gdal/find-link-libraries.patch b/ports/gdal/find-link-libraries.patch new file mode 100644 index 00000000000000..a802e42645f1d9 --- /dev/null +++ b/ports/gdal/find-link-libraries.patch @@ -0,0 +1,109 @@ +diff --git a/cmake/modules/packages/FindFreeXL.cmake b/cmake/modules/packages/FindFreeXL.cmake +index 6c86fb8..0634412 100644 +--- a/cmake/modules/packages/FindFreeXL.cmake ++++ b/cmake/modules/packages/FindFreeXL.cmake +@@ -37,7 +37,15 @@ include(SelectLibraryConfigurations) + + find_package(PkgConfig QUIET) + if(PKG_CONFIG_FOUND) +- pkg_check_modules(PC_FREEXL QUIET freexl) ++ pkg_check_modules(PC_FREEXL QUIET IMPORTED_TARGET freexl) ++endif() ++if(PC_FREEXL_FOUND) ++ set(FREEXL_INCLUDE_DIR "${PC_FREEXL_INCLUDE_DIRS}" CACHE STRING "") ++ set(FREEXL_LIBRARY "${PC_FREEXL_LIBRARIES}" CACHE STRING "") ++ if(NOT TARGET FREEXL::freexl) ++ add_library(FREEXL::freexl INTERFACE IMPORTED) ++ set_target_properties(FREEXL::freexl PROPERTIES INTERFACE_LINK_LIBRARIES PkgConfig::PC_FREEXL) ++ endif() + endif() + + find_path(FREEXL_INCLUDE_DIR +diff --git a/cmake/modules/packages/FindOpenJPEG.cmake b/cmake/modules/packages/FindOpenJPEG.cmake +index c697484..6e83222 100644 +--- a/cmake/modules/packages/FindOpenJPEG.cmake ++++ b/cmake/modules/packages/FindOpenJPEG.cmake +@@ -32,9 +32,18 @@ endfunction() + + find_package(PkgConfig QUIET) + 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}) + endif() ++if(PC_OPENJPEG_FOUND) ++ set(OPENJPEG_INCLUDE_DIR "${PC_OPENJPEG_INCLUDE_DIRS}" CACHE STRING "") ++ set(OPENJPEG_LIBRARY "${PC_OPENJPEG_LIBRARIES}" CACHE STRING "") ++ if(NOT TARGET OPENJPEG::OpenJPEG) ++ add_library(OPENJPEG::OpenJPEG INTERFACE IMPORTED) ++ set_target_properties(OPENJPEG::OpenJPEG PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${PC_OPENJPEG_INCLUDE_DIRS}") ++ set_target_properties(OPENJPEG::OpenJPEG PROPERTIES INTERFACE_LINK_LIBRARIES PkgConfig::PC_OPENJPEG) ++ endif() ++endif() + + + find_path(OPENJPEG_INCLUDE_DIR opj_config.h +diff --git a/cmake/modules/packages/FindPoppler.cmake b/cmake/modules/packages/FindPoppler.cmake +index 3807ec0..8059eb4 100644 +--- a/cmake/modules/packages/FindPoppler.cmake ++++ b/cmake/modules/packages/FindPoppler.cmake +@@ -42,11 +42,19 @@ This module defines the following variables: + + find_package(PkgConfig QUIET) + if(PKG_CONFIG_FOUND) +- pkg_check_modules(PC_Poppler QUIET poppler) ++ pkg_check_modules(PC_Poppler QUIET IMPORTED_TARGET poppler) + if(PC_Poppler_VERSION) + set(Poppler_VERSION_STRING ${PC_Poppler_VERSION}) + endif() + endif() ++if(PC_Poppler_FOUND) ++ find_path(Poppler_INCLUDE_DIR NAMES Object.h PATHS ${PC_Poppler_INCLUDE_DIRS} NO_DEFAULT_PATH) ++ set(Poppler_LIBRARY "${PC_Poppler_LIBRARIES}" CACHE STRING "") ++ if(NOT TARGET Poppler::Poppler) ++ add_library(Poppler::Poppler INTERFACE IMPORTED) ++ set_target_properties(Poppler::Poppler PROPERTIES INTERFACE_LINK_LIBRARIES PkgConfig::PC_Poppler) ++ endif() ++endif() + find_path(Poppler_INCLUDE_DIR NAMES "poppler-config.h" "cpp/poppler-version.h" "qt5/poppler-qt5.h" "qt4/poppler-qt4.h" + "glib/poppler.h" + HINTS ${PC_Poppler_INCLUDE_DIRS} +@@ -77,6 +85,15 @@ endforeach() + foreach(_comp IN LISTS Poppler_known_components) + list(FIND Poppler_FIND_COMPONENTS "${_comp}" _nextcomp) + if(_nextcomp GREATER -1) ++ pkg_check_modules(PC_Poppler_${_comp} QUIET IMPORTED_TARGET ${Poppler_${_comp}_pkg_config}) ++ if(PC_Poppler_${_comp}_FOUND) ++ set(Poppler_${_comp}_INCLUDE_DIR "${PC_Poppler_${_comp}_INCLUDE_DIRS}" CACHE STRING "") ++ set(Poppler_${_comp}_LIBRARY "${PC_Poppler_${_comp}_LIBRARIES}" CACHE STRING "") ++ if(NOT TARGET Poppler::Poppler_${_comp}) ++ add_library(Poppler::${_comp} INTERFACE IMPORTED) ++ set_target_properties(Poppler::${_comp} PROPERTIES INTERFACE_LINK_LIBRARIES PkgConfig::PC_Poppler_${_comp}) ++ endif() ++ endif() + find_path(Poppler_${_comp}_INCLUDE_DIR + NAMES ${Poppler_${_comp}_header} + PATH_SUFFIXES poppler +diff --git a/cmake/modules/packages/FindSPATIALITE.cmake b/cmake/modules/packages/FindSPATIALITE.cmake +index 00612b0..6388719 100644 +--- a/cmake/modules/packages/FindSPATIALITE.cmake ++++ b/cmake/modules/packages/FindSPATIALITE.cmake +@@ -38,9 +38,17 @@ endif() + + find_package(PkgConfig QUIET) + if(PKG_CONFIG_FOUND) +- pkg_check_modules(PC_SPATIALITE QUIET spatialite) ++ pkg_check_modules(PC_SPATIALITE QUIET IMPORTED_TARGET spatialite) + set(SPATIALITE_VERSION_STRING ${PC_SPATIALITE_VERSION}) + endif() ++if(PC_SPATIALITE_FOUND) ++ set(SPATIALITE_INCLUDE_DIR "${PC_SPATIALITE_INCLUDE_DIRS}" CACHE STRING "") ++ set(SPATIALITE_LIBRARY "${PC_SPATIALITE_LIBRARIES}" CACHE STRING "") ++ if(NOT TARGET SPATIALITE::SPATIALITE) ++ add_library(SPATIALITE::SPATIALITE INTERFACE IMPORTED) ++ set_target_properties(SPATIALITE::SPATIALITE PROPERTIES INTERFACE_LINK_LIBRARIES PkgConfig::PC_SPATIALITE) ++ endif() ++endif() + + find_path(SPATIALITE_INCLUDE_DIR + NAMES spatialite.h diff --git a/ports/gdal/fix-gdal-target-interfaces.patch b/ports/gdal/fix-gdal-target-interfaces.patch new file mode 100644 index 00000000000000..bf159fce593af3 --- /dev/null +++ b/ports/gdal/fix-gdal-target-interfaces.patch @@ -0,0 +1,15 @@ +diff --git a/cmake/helpers/GdalDriverHelper.cmake b/cmake/helpers/GdalDriverHelper.cmake +index 838f0fd..380e20d 100644 +--- a/cmake/helpers/GdalDriverHelper.cmake ++++ b/cmake/helpers/GdalDriverHelper.cmake +@@ -248,6 +248,10 @@ function(gdal_target_interfaces _TARGET) + if (_res) + target_compile_options(${_TARGET} PRIVATE ${_res}) + endif () ++ get_property(_res TARGET ${_LIB} PROPERTY INTERFACE_LINK_LIBRARIES) ++ if (_res) ++ gdal_target_interfaces(${_TARGET} ${_res}) ++ endif () + endif () + endforeach () + endfunction() diff --git a/ports/gdal/libkml.patch b/ports/gdal/libkml.patch new file mode 100644 index 00000000000000..ef25d06de52551 --- /dev/null +++ b/ports/gdal/libkml.patch @@ -0,0 +1,46 @@ +diff --git a/cmake/modules/packages/FindLibKML.cmake b/cmake/modules/packages/FindLibKML.cmake +index 9418247..589b83d 100644 +--- a/cmake/modules/packages/FindLibKML.cmake ++++ b/cmake/modules/packages/FindLibKML.cmake +@@ -56,6 +56,8 @@ find_library(LIBKML_BASE_LIBRARY + HINTS ${PC_LIBKML_LIBRARY_DIRS} ) + mark_as_advanced(LIBKML_BASE_LIBRARY) + ++cmake_policy(PUSH) ++cmake_policy(SET CMP0057 NEW) + set(libkml_known_components DOM CONVENIENCE ENGINE REGIONATOR) + foreach(_comp IN LISTS libkml_known_components) + if(${_comp} IN_LIST LibKML_FIND_COMPONENTS) +@@ -99,21 +101,20 @@ find_package_handle_standard_args(LibKML + if(LIBKML_FOUND) + set(LIBKML_INCLUDE_DIRS "${LIBKML_INCLUDE_DIR}") + set(LIBKML_LIBRARIES "${LIBKML_BASE_LIBRARY}") ++ find_package(LibKML CONFIG REQUIRED) + if(NOT TARGET LIBKML::LibKML) +- add_library(LIBKML::LibKML UNKNOWN IMPORTED) ++ add_library(LIBKML::LibKML INTERFACE IMPORTED) + set_target_properties(LIBKML::LibKML PROPERTIES +- INTERFACE_INCLUDE_DIRECTORIES "${LIBKML_INCLUDE_DIR}" +- IMPORTED_LINK_INTERFACE_LANGUAGES "C++" +- IMPORTED_LOCATION "${LIBKML_BASE_LIBRARY}") ++ INTERFACE_LINK_LIBRARIES kmlbase) + endif() + foreach(_comp IN LISTS libkml_known_components) + if(${_comp} IN_LIST LibKML_FIND_COMPONENTS) ++ string(TOLOWER ${_comp} _name) + list(APPEND LIBKML_LIBRARIES "${LIBKML_${_comp}_LIBRARY}") + if(NOT TARGET LIBKML::${_comp}) +- add_library(LIBKML::${_comp} UNKNOWN IMPORTED) ++ add_library(LIBKML::${_comp} INTERFACE IMPORTED) + set_target_properties(LIBKML::${_comp} PROPERTIES +- IMPORTED_LINK_INTERFACE_LANGUAGES "C++" +- IMPORTED_LOCATION "${LIBKML_${_comp}_LIBRARY}") ++ INTERFACE_LINK_LIBRARIES kml${_name}) + endif() + endif() + endforeach() +@@ -129,3 +130,4 @@ if(LIBKML_FOUND) + endif() + endforeach() + endif() ++cmake_policy(POP) diff --git a/ports/gdal/portfile.cmake b/ports/gdal/portfile.cmake index 0556278a8df83f..d5403d82862ffc 100644 --- a/ports/gdal/portfile.cmake +++ b/ports/gdal/portfile.cmake @@ -1,147 +1,127 @@ -set(GDAL_PATCHES - 0001-Fix-debug-crt-flags.patch - 0002-Fix-build.patch - 0004-Fix-cfitsio.patch - 0005-Fix-configure.patch - 0007-Control-tools.patch - 0008-Fix-absl-string_view.patch -) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - list(APPEND GDAL_PATCHES 0006-Fix-mingw-dllexport.patch) -endif() - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO OSGeo/gdal - REF d699b38a744301368070ef780f797340da4a9c3c # 3.4.0 - SHA512 709523740a51a0a2a144debcfa5fbc5a5b3d93cc3632856cfbc37f7ca52f2e83f4942d9a27d4c723ee19d2397cc91a4b1ba4543547afdfefb3980a7ba6684bd7 + REF "v${VERSION}" + SHA512 4e0431c9bb9b7c54508afdcaa936445eee8878aa47f404e2ff00c8ce786c1dd58247c2cee76cb0e0e26cef04419d7c6c4884f2d9078e9d292c4a1c720deae3ed HEAD_REF master - PATCHES ${GDAL_PATCHES} + PATCHES + find-link-libraries.patch + fix-gdal-target-interfaces.patch + libkml.patch + target-is-valid.patch ) # `vcpkg clean` stumbles over one subdir file(REMOVE_RECURSE "${SOURCE_PATH}/autotest") -if (VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) - set(NATIVE_DATA_DIR "${CURRENT_PACKAGES_DIR}/share/gdal") - set(NATIVE_HTML_DIR "${CURRENT_PACKAGES_DIR}/share/gdal/html") - - set(NMAKE_OPTIONS "") - set(NMAKE_OPTIONS_REL "") - set(NMAKE_OPTIONS_DBG "") - - include("${CMAKE_CURRENT_LIST_DIR}/dependency_win.cmake") - find_dependency_win() - - if("mysql-libmysql" IN_LIST FEATURES OR "mysql-libmariadb" IN_LIST FEATURES) - list(APPEND NMAKE_OPTIONS "MYSQL_INC_DIR=${MYSQL_INCLUDE_DIR}") - list(APPEND NMAKE_OPTIONS_REL "MYSQL_LIB=${MYSQL_LIBRARY_REL}") - list(APPEND NMAKE_OPTIONS_DBG "MYSQL_LIB=${MYSQL_LIBRARY_DBG}") - endif() - - list(APPEND NMAKE_OPTIONS - "DATADIR=${NATIVE_DATA_DIR}" - "HTMLDIR=${NATIVE_HTML_DIR}" - "GEOS_DIR=${GEOS_INCLUDE_DIR}" - "GEOS_CFLAGS=-I${GEOS_INCLUDE_DIR} -DHAVE_GEOS" - "PROJ_INCLUDE=-I${PROJ_INCLUDE_DIR}" - "EXPAT_DIR=${EXPAT_INCLUDE_DIR}" - "EXPAT_INCLUDE=-I${EXPAT_INCLUDE_DIR}" - "CURL_INC=-I${CURL_INCLUDE_DIR}" - "SQLITE_INC=-I${SQLITE_INCLUDE_DIR} ${HAVE_SPATIALITE}" - "PG_INC_DIR=${PGSQL_INCLUDE_DIR}" - OPENJPEG_ENABLED=YES - "OPENJPEG_CFLAGS=-I${OPENJPEG_INCLUDE_DIR}" - OPENJPEG_VERSION=20100 - WEBP_ENABLED=YES - "WEBP_CFLAGS=-I${WEBP_INCLUDE_DIR}" - "LIBXML2_INC=-I${XML2_INCLUDE_DIR}" - PNG_EXTERNAL_LIB=1 - "PNGDIR=${PNG_INCLUDE_DIR}" - "ZLIB_INC=-I${ZLIB_INCLUDE_DIR}" - ZLIB_EXTERNAL_LIB=1 - MSVC_VER=1900 - ) - - if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") - list(APPEND NMAKE_OPTIONS WIN64=YES) - endif() - - if (VCPKG_LIBRARY_LINKAGE STREQUAL "static") - list(APPEND NMAKE_OPTIONS CURL_CFLAGS=-DCURL_STATICLIB) - list(APPEND NMAKE_OPTIONS DLLBUILD=0) - list(APPEND NMAKE_OPTIONS "PROJ_FLAGS=-DPROJ_STATIC -DPROJ_VERSION=5") - else() - # Enables PDBs for release and debug builds - list(APPEND NMAKE_OPTIONS WITH_PDB=1) - list(APPEND NMAKE_OPTIONS DLLBUILD=1) - endif() - - if (VCPKG_CRT_LINKAGE STREQUAL "static") - set(LINKAGE_FLAGS "/MT") - else() - set(LINKAGE_FLAGS "/MD") - endif() - - list(APPEND NMAKE_OPTIONS_REL - ${NMAKE_OPTIONS} - "GDAL_HOME=${CURRENT_PACKAGES_DIR}" - "CXX_CRT_FLAGS=${LINKAGE_FLAGS}" - "PROJ_LIBRARY=${PROJ_LIBRARY_REL}" - "PNG_LIB=${PNG_LIBRARY_REL}" - "GEOS_LIB=${GEOS_LIBRARY_REL}" - "EXPAT_LIB=${EXPAT_LIBRARY_REL}" - "CURL_LIB=${CURL_LIBRARY_REL} wsock32.lib wldap32.lib winmm.lib" - "SQLITE_LIB=${SQLITE_LIBRARY_REL} ${SPATIALITE_LIBRARY_REL}" - "OPENJPEG_LIB=${OPENJPEG_LIBRARY_REL}" - "WEBP_LIBS=${WEBP_LIBRARY_REL}" - "LIBXML2_LIB=${XML2_LIBRARY_REL} ${ICONV_LIBRARY_REL} ${LZMA_LIBRARY_REL}" - "ZLIB_LIB=${ZLIB_LIBRARY_REL}" - "PG_LIB=${PGSQL_LIBRARY_REL} Secur32.lib Shell32.lib Advapi32.lib Crypt32.lib Gdi32.lib ${OPENSSL_LIBRARY_REL}" - ) - - list(APPEND NMAKE_OPTIONS_DBG - ${NMAKE_OPTIONS} - "GDAL_HOME=${CURRENT_PACKAGES_DIR}/debug" - "CXX_CRT_FLAGS=${LINKAGE_FLAGS}d" - "PROJ_LIBRARY=${PROJ_LIBRARY_DBG}" - "PNG_LIB=${PNG_LIBRARY_DBG}" - "GEOS_LIB=${GEOS_LIBRARY_DBG}" - "EXPAT_LIB=${EXPAT_LIBRARY_DBG}" - "CURL_LIB=${CURL_LIBRARY_DBG} wsock32.lib wldap32.lib winmm.lib" - "SQLITE_LIB=${SQLITE_LIBRARY_DBG} ${SPATIALITE_LIBRARY_DBG}" - "OPENJPEG_LIB=${OPENJPEG_LIBRARY_DBG}" - "WEBP_LIBS=${WEBP_LIBRARY_DBG}" - "LIBXML2_LIB=${XML2_LIBRARY_DBG} ${ICONV_LIBRARY_DBG} ${LZMA_LIBRARY_DBG}" - "ZLIB_LIB=${ZLIB_LIBRARY_DBG}" - "PG_LIB=${PGSQL_LIBRARY_DBG} Secur32.lib Shell32.lib Advapi32.lib Crypt32.lib Gdi32.lib ${OPENSSL_LIBRARY_DBG}" - DEBUG=1 - ) - - if("tools" IN_LIST FEATURES) - list(APPEND NMAKE_OPTIONS_REL "BUILD_TOOLS=1") - else() - list(APPEND NMAKE_OPTIONS_REL "BUILD_TOOLS=0") - endif() - list(APPEND NMAKE_OPTIONS_DBG "BUILD_TOOLS=0") +# Avoid abseil, no matter if vcpkg or system +vcpkg_replace_string("${SOURCE_PATH}/ogr/ogrsf_frmts/flatgeobuf/flatbuffers/base.h" [[__has_include("absl/strings/string_view.h")]] "(0)") + +# Cf. cmake/helpers/CheckDependentLibraries.cmake +# The default for all `GDAL_USE_` dependencies is `OFF`. +# Here, we explicitly control dependencies provided via vpcpkg. +# "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 + freexl GDAL_USE_FREEXL + geos GDAL_USE_GEOS + core GDAL_USE_GEOTIFF + gif GDAL_USE_GIF + hdf5 GDAL_USE_HDF5 + 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 + libxml2 GDAL_USE_LIBXML2 + mysql-libmariadb GDAL_USE_MYSQL + netcdf GDAL_USE_NETCDF + odbc GDAL_USE_ODBC + openjpeg GDAL_USE_OPENJPEG + openssl GDAL_USE_OPENSSL + pcre2 GDAL_USE_PCRE2 + png GDAL_USE_PNG + poppler GDAL_USE_POPPLER + postgresql GDAL_USE_POSTGRESQL + qhull GDAL_USE_QHULL + #core GDAL_USE_SHAPELIB # https://github.com/OSGeo/gdal/issues/5711, https://github.com/microsoft/vcpkg/issues/16041 + core GDAL_USE_SHAPELIB_INTERNAL + libspatialite GDAL_USE_SPATIALITE + sqlite3 GDAL_USE_SQLITE3 + core GDAL_USE_TIFF + webp GDAL_USE_WEBP + core GDAL_USE_ZLIB + zstd GDAL_USE_ZSTD + tools BUILD_APPS + INVERTED_FEATURES + libspatialite CMAKE_DISABLE_FIND_PACKAGE_SPATIALITE +) +if(GDAL_USE_ICONV AND VCPKG_TARGET_IS_WINDOWS) + list(APPEND FEATURE_OPTIONS -D_ICONV_SECOND_ARGUMENT_IS_NOT_CONST=ON) +endif() - # Begin build process - vcpkg_install_nmake( - SOURCE_PATH "${SOURCE_PATH}/gdal" - TARGET devinstall - OPTIONS_RELEASE - "${NMAKE_OPTIONS_REL}" - OPTIONS_DEBUG - "${NMAKE_OPTIONS_DBG}" - ) +# 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")) + list(APPEND FEATURE_OPTIONS -DBUILD_WITHOUT_64BIT_OFFSET=ON) +endif() - if(NOT VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/share/gdal/html") - endif() +string(REPLACE "dynamic" "" qhull_target "Qhull::qhull${VCPKG_LIBRARY_LINKAGE}_r") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DVCPKG_HOST_TRIPLET=${HOST_TRIPLET} # for host pkgconf in PATH + ${FEATURE_OPTIONS} + -DBUILD_DOCS=OFF + -DBUILD_PYTHON_BINDINGS=OFF + -DBUILD_TESTING=OFF + -DCMAKE_DISABLE_FIND_PACKAGE_CSharp=ON + -DCMAKE_DISABLE_FIND_PACKAGE_Java=ON + -DCMAKE_DISABLE_FIND_PACKAGE_JNI=ON + -DCMAKE_DISABLE_FIND_PACKAGE_SWIG=ON + -DCMAKE_DISABLE_FIND_PACKAGE_Arrow=ON + -DGDAL_USE_INTERNAL_LIBS=OFF + -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 + -DGDAL_CHECK_PACKAGE_NetCDF_NAMES=netCDF + -DGDAL_CHECK_PACKAGE_NetCDF_TARGETS=netCDF::netcdf + -DGDAL_CHECK_PACKAGE_QHULL_NAMES=Qhull + "-DGDAL_CHECK_PACKAGE_QHULL_TARGETS=${qhull_target}" + "-DQHULL_LIBRARY=${qhull_target}" + "-DCMAKE_PROJECT_INCLUDE=${CMAKE_CURRENT_LIST_DIR}/cmake-project-include.cmake" + OPTIONS_DEBUG + -DBUILD_APPS=OFF + MAYBE_UNUSED_VARIABLES + QHULL_LIBRARY +) +vcpkg_cmake_install() +vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/gdal) +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/gdal/GDALConfig.cmake" + "include(CMakeFindDependencyMacro)" + "include(CMakeFindDependencyMacro) +# gdal needs a pkg-config tool. A host dependency provides pkgconf. +get_filename_component(vcpkg_host_prefix \"\${CMAKE_CURRENT_LIST_DIR}/../../../${HOST_TRIPLET}\" ABSOLUTE) +list(APPEND CMAKE_PROGRAM_PATH \"\${vcpkg_host_prefix}/tools/pkgconf\")" +) - if("tools" IN_LIST FEATURES) - set(GDAL_EXES +if (BUILD_APPS) + vcpkg_copy_tools( + TOOL_NAMES gdal_contour gdal_create + gdal_footprint gdal_grid gdal_rasterize gdal_translate @@ -166,215 +146,28 @@ if (VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) ogrinfo ogrlineref ogrtindex - testepsg - ) - # vcpkg_copy_tools removed the bin directories for us so no need to remove again - vcpkg_copy_tools(TOOL_NAMES ${GDAL_EXES} AUTO_CLEAN) - elseif(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}/share/gdal/html") - - vcpkg_copy_pdbs() - - if(NOT VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/gdal204.pdb") - endif() - -else() - # See https://github.com/microsoft/vcpkg/issues/16990 - file(TOUCH "${SOURCE_PATH}/gdal/config.rpath") - - set(CONF_OPTS - --with-hide-internal-symbols=yes - --with-perl=no - --with-python=no - --with-java=no - ) - set(CONF_CHECKS "") - function(add_config option check) - list(APPEND CONF_OPTS "${option}") - set(CONF_OPTS "${CONF_OPTS}" PARENT_SCOPE) - list(APPEND CONF_CHECKS "${check}") - set(CONF_CHECKS "${CONF_CHECKS}" PARENT_SCOPE) - endfunction() - # parameters in the same order as the dependencies in vcpkg.json - add_config("--with-curl=yes" "cURL support .wms/wcs/....:yes") - add_config("--with-expat=yes" "Expat support: yes") - add_config("--with-geos=yes" "GEOS support: yes") - add_config("--with-gif=yes" "LIBGIF support: external") - add_config("--with-hdf5=yes" "HDF5 support: yes") - add_config("--with-libjson=yes" "checking for JSONC... yes") - add_config("--with-geotiff=yes" "LIBGEOTIFF support: external") - add_config("--with-jpeg=yes" "LIBJPEG support: external") - add_config("--with-liblzma=yes" "LIBLZMA support: yes") - add_config("--with-png=yes" "LIBPNG support: external") - add_config("--with-pg=yes" "PostgreSQL support: yes") - add_config("--with-webp=yes" "WebP support: yes") - add_config("--with-xml2=yes" "libxml2 support: yes") - add_config("--with-netcdf=yes" "NetCDF support: yes") - add_config("--with-openjpeg=yes" "OpenJPEG support: yes") - add_config("--with-proj=yes" "PROJ >= 6: yes") - add_config("--with-sqlite3=yes" "SQLite support: yes") - add_config("--with-libtiff=yes" "LIBTIFF support: external") - add_config("--with-libz=yes" "LIBZ support: external") - add_config("--with-zstd=yes" "ZSTD support: yes") - - if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - list(APPEND CONF_OPTS --without-libtool --without-ld-shared) - endif() - - if("system-libraries" IN_LIST FEATURES) - set(DISABLE_SYSTEM_LIBRARIES OFF) - else() - set(DISABLE_SYSTEM_LIBRARIES ON) - endif() - - if ("libspatialite" IN_LIST FEATURES) - add_config("--with-spatialite=yes" "SpatiaLite support: yes") - elseif(DISABLE_SYSTEM_LIBRARIES) - add_config("--with-spatialite=no" "SpatiaLite support: no") - endif() - - if ("mysql-libmariadb" IN_LIST FEATURES) - add_config("--with-mysql=yes" "MySQL support: yes") - elseif(DISABLE_SYSTEM_LIBRARIES) - add_config("--with-mysql=no" "MySQL support: no") - endif() - - if ("cfitsio" IN_LIST FEATURES) - add_config("--with-cfitsio=yes" "CFITSIO support: external") - elseif(DISABLE_SYSTEM_LIBRARIES) - add_config("--with-cfitsio=no" "CFITSIO support: no") - endif() - - if(DISABLE_SYSTEM_LIBRARIES) - list(APPEND CONF_OPTS - # Too much: --disable-all-optional-drivers - # alphabetical order - --with-armadillo=no - --with-charls=no - --with-crypto=no - --with-cryptopp=no - --with-dds=no - --with-dods-root=no - --with-ecw=no - --with-epsilon=no - --with-exr=no - --with-fgdb=no - --with-fme=no - --with-freexl=no - --with-grass=no - --with-gta=no - --with-hdf4=no - --with-hdfs=no - --with-heif=no - --with-idb=no - --with-ingres=no - --with-jasper=no - --with-jp2lura=no - --with-kakadu=no - --with-kea=no - --with-libdeflate=no - --with-libgrass=no - --with-libkml=no - --with-mdb=no - --with-mrsid=no - --with-mrsid_lidar=no - --with-msg=no - --with-mongocxx=no - --with-mongocxxv3=no - --with-oci=no - --with-odbc=no - --with-ogdi=no - --with-opencl=no - --with-pcidsk=no - --with-pcraster=no - --with-pcre=no - --with-pdfium=no - --with-podofo=no - --with-poppler=no - --with-qhull=no - --with-rasdaman=no - --with-rasterlite2=no - --with-rdb=no - --with-sfcgal=no - --with-sosi=no - --with-teigha=no - --with-tiledb=no - --with-xerces=no - ) - endif() - - # proj needs a C++ runtime library - if(VCPKG_TARGET_IS_OSX) - list(APPEND CONF_OPTS "--with-proj-extra-lib-for-test=-lc++") - else() - list(APPEND CONF_OPTS "--with-proj-extra-lib-for-test=-lstdc++") - endif() - - if("tools" IN_LIST FEATURES) - list(APPEND CONF_OPTS "--with-tools=yes") - else() - list(APPEND CONF_OPTS "--with-tools=no") - endif() - - vcpkg_configure_make( - SOURCE_PATH "${SOURCE_PATH}/gdal" - AUTOCONFIG - COPY_SOURCE - OPTIONS - ${CONF_OPTS} - OPTIONS_DEBUG - --enable-debug - --with-tools=no - ) + sozip + AUTO_CLEAN + ) +endif() - # Verify configuration results (tightly coupled to vcpkg_configure_make) - function(check_config logfile) - set(failed_checks "") - file(READ "${logfile}" log) - foreach(check IN LISTS CONF_CHECKS) - if(NOT log MATCHES "${check}") - string(APPEND failed_checks "\n ${check}") - endif() - endforeach() - if(failed_checks) - get_filename_component(file "${logfile}" NAME_WE) - message(FATAL_ERROR "${file}: Configuration failed for ${failed_checks}") - endif() - endfunction() - foreach(suffix IN ITEMS rel dbg) - set(log "${CURRENT_BUILDTREES_DIR}/config-${TARGET_TRIPLET}-${suffix}-out.log") - if(EXISTS "${log}") - check_config("${log}") - endif() - endforeach() +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" +) - vcpkg_install_make(MAKEFILE GNUmakefile) +file(REMOVE "${CURRENT_PACKAGES_DIR}/bin/gdal-config" "${CURRENT_PACKAGES_DIR}/debug/bin/gdal-config") +file(GLOB bin_files "${CURRENT_PACKAGES_DIR}/bin/*") +if(NOT bin_files) file(REMOVE_RECURSE - "${CURRENT_PACKAGES_DIR}/lib/gdalplugins" - "${CURRENT_PACKAGES_DIR}/debug/lib/gdalplugins" - "${CURRENT_PACKAGES_DIR}/debug/share" - ) - - vcpkg_fixup_pkgconfig() - set(pc_file_debug "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/gdal.pc") - if(EXISTS "${pc_file_debug}") - vcpkg_replace_string("${pc_file_debug}" "${prefix}/../../include" "${prefix}/../include") - vcpkg_replace_string("${pc_file_debug}" "${exec_prefix}/include" "${prefix}/../include") - endif() - - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/gdal/bin/gdal-config" "${CURRENT_INSTALLED_DIR}" "`dirname $0`/../../..") - if(NOT VCPKG_BUILD_TYPE) - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/gdal/debug/bin/gdal-config" "${CURRENT_INSTALLED_DIR}" "`dirname $0`/../../../..") - endif() - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/cpl_config.h" "#define GDAL_PREFIX \"${CURRENT_INSTALLED_DIR}\"" "") + "${CURRENT_PACKAGES_DIR}/bin" + "${CURRENT_PACKAGES_DIR}/debug/bin" + ) 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_replace_string("${CURRENT_PACKAGES_DIR}/include/cpl_config.h" "#define GDAL_PREFIX \"${CURRENT_PACKAGES_DIR}\"" "") -# Handle copyright -file(INSTALL "${SOURCE_PATH}/gdal/LICENSE.TXT" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +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}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.TXT") 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/usage b/ports/gdal/usage index 63a67bc07d0748..6982a9a2425985 100644 --- a/ports/gdal/usage +++ b/ports/gdal/usage @@ -1,5 +1,4 @@ The package GDAL provides CMake targets: - find_package(GDAL REQUIRED) - target_include_directories(main PRIVATE ${GDAL_INCLUDE_DIRS}) - target_link_libraries(main PRIVATE ${GDAL_LIBRARIES}) + find_package(GDAL CONFIG REQUIRED) + target_link_libraries(main PRIVATE GDAL::GDAL) diff --git a/ports/gdal/vcpkg-cmake-wrapper.cmake b/ports/gdal/vcpkg-cmake-wrapper.cmake index 28a1750fedddda..5b70b673b0979d 100644 --- a/ports/gdal/vcpkg-cmake-wrapper.cmake +++ b/ports/gdal/vcpkg-cmake-wrapper.cmake @@ -1,108 +1,23 @@ -include(SelectLibraryConfigurations) +cmake_policy(PUSH) +cmake_policy(SET CMP0012 NEW) +cmake_policy(SET CMP0054 NEW) -find_path(GDAL_INCLUDE_DIR - NAMES gdal.h - PATHS "${CMAKE_CURRENT_LIST_DIR}/../../include" - NO_DEFAULT_PATH -) -find_library(GDAL_LIBRARY_DEBUG - NAMES gdal_d gdal_i_d gdal - NAMES_PER_DIR - PATHS "${CMAKE_CURRENT_LIST_DIR}/../../debug/lib" - NO_DEFAULT_PATH -) -find_library(GDAL_LIBRARY_RELEASE - NAMES gdal_i gdal - NAMES_PER_DIR - PATHS "${CMAKE_CURRENT_LIST_DIR}/../../lib" - NO_DEFAULT_PATH -) -select_library_configurations(GDAL) - -if(NOT GDAL_INCLUDE_DIR OR NOT GDAL_LIBRARY) - message(FATAL_ERROR "Installation of vcpkg port gdal is broken.") +list(REMOVE_ITEM ARGS "NO_MODULE" "CONFIG" "MODULE") +list(APPEND ARGS "CONFIG") +# The current port version should satisfy GDAL 3.0 ... 3.5 +list(GET ARGS 1 vcpkg_gdal_maybe_version) +if(vcpkg_gdal_maybe_version MATCHES "(^3\$|^3[.][0-5])") + list(REMOVE_AT ARGS "1") endif() - -set(GDAL_LIBRARY "${GDAL_LIBRARY}" CACHE STRING "") - -set(FindGDAL_SKIP_GDAL_CONFIG TRUE) - -_find_package(${ARGS}) - -set(_gdal_dep_find_args "") -if(";${ARGS};" MATCHES ";REQUIRED;") - list(APPEND _gdal_dep_find_args "REQUIRED") -endif() -function(_gdal_add_dependency target package) - find_package(${package} ${ARGN} ${_gdal_dep_find_args}) - if(${package}_FOUND) - foreach(suffix IN ITEMS "" "-shared" "_shared" "-static" "_static" "-NOTFOUND") - set(dependency "${target}${suffix}") - if(TARGET ${dependency}) - break() - endif() - endforeach() - if(NOT TARGET ${dependency}) - string(TOUPPER ${package} _gdal_deps_package) - if(DEFINED ${_gdal_deps_package}_LIBRARIES) - set(dependency ${${_gdal_deps_package}_LIBRARIES}) - elseif(DEFINED ${package}_LIBRARIES) - set(dependency ${${package}_LIBRARIES}) - elseif(DEFINED ${_gdal_deps_package}_LIBRARY) - set(dependency ${${_gdal_deps_package}_LIBRARY}) - elseif(DEFINED ${package}_LIBRARY) - set(dependency ${${package}_LIBRARY}) - endif() - endif() - if(dependency) - if(TARGET GDAL::GDAL) # CMake 3.14 - set_property(TARGET GDAL::GDAL APPEND PROPERTY INTERFACE_LINK_LIBRARIES ${dependency}) - endif() - if(NOT GDAL_LIBRARIES STREQUAL "GDAL::GDAL") - set(GDAL_LIBRARIES "${GDAL_LIBRARIES};${dependency}" PARENT_SCOPE) - endif() - else() - message(WARNING "Did not find which libraries are exported by ${package}") - set(GDAL_FOUND false PARENT_SCOPE) - endif() - else() - message(WARNING "Could not find package ${package}") - set(GDAL_FOUND false PARENT_SCOPE) - endif() -endfunction() +unset(vcpkg_gdal_maybe_version) +_find_package(${ARGS} CONFIG) if(GDAL_FOUND) - cmake_policy(PUSH) - cmake_policy(SET CMP0057 NEW) - set(Z_VCPKG_PORT_FEATURES "@FEATURES@") - if("cfitsio" IN_LIST Z_VCPKG_PORT_FEATURES) - _gdal_add_dependency(cfitsio unofficial-cfitsio CONFIG) - endif() - _gdal_add_dependency(CURL::libcurl CURL CONFIG) - _gdal_add_dependency(expat::expat expat CONFIG) - _gdal_add_dependency(GEOS::geos_c geos CONFIG) - _gdal_add_dependency(GIF::GIF GIF) - _gdal_add_dependency(hdf5::hdf5 hdf5 CONFIG) - if(NOT WIN32 OR MINGW) - _gdal_add_dependency(json-c::json-c json-c CONFIG) - endif() - _gdal_add_dependency(geotiff_library GeoTIFF CONFIG) - _gdal_add_dependency(JPEG::JPEG JPEG) - _gdal_add_dependency(liblzma::liblzma liblzma CONFIG) - _gdal_add_dependency(png libpng CONFIG) - _gdal_add_dependency(PostgreSQL::PostgreSQL PostgreSQL) - _gdal_add_dependency(WebP::webp WebP CONFIG) - _gdal_add_dependency(LibXml2::LibXml2 LibXml2) - _gdal_add_dependency(netCDF::netcdf netCDF CONFIG) - _gdal_add_dependency(openjp2 OpenJPEG CONFIG) - _gdal_add_dependency(PROJ::proj PROJ4 CONFIG) - _gdal_add_dependency(unofficial::sqlite3::sqlite3 unofficial-sqlite3 CONFIG) - _gdal_add_dependency(TIFF::TIFF TIFF) - _gdal_add_dependency(ZLIB::ZLIB ZLIB) - _gdal_add_dependency(zstd::libzstd zstd CONFIG) - list(FIND ARGS "REQUIRED" required) - if(NOT GDAL_FOUND AND NOT required EQUAL "-1") - message(FATAL_ERROR "Failed to find dependencies of GDAL") - endif() - unset(Z_VCPKG_PORT_FEATURES) - cmake_policy(POP) + get_filename_component(vcpkg_gdal_prefix "${CMAKE_CURRENT_LIST_DIR}/../.." ABSOLUTE) + set(GDAL_INCLUDE_DIR "${vcpkg_gdal_prefix}/include" CACHE INTERNAL "") + set(GDAL_INCLUDE_DIRS "${GDAL_INCLUDE_DIR}") + set(GDAL_LIBRARY GDAL::GDAL CACHE INTERNAL "") + set(GDAL_LIBRARIES "${GDAL_LIBRARY}") + unset(vcpkg_gdal_prefix) endif() + +cmake_policy(POP) diff --git a/ports/gdal/vcpkg.json b/ports/gdal/vcpkg.json index e17bd14689826e..466e47ee050bda 100644 --- a/ports/gdal/vcpkg.json +++ b/ports/gdal/vcpkg.json @@ -1,60 +1,329 @@ { "name": "gdal", - "version-semver": "3.4.0", - "port-version": 1, + "version-semver": "3.10.0", "description": "The Geographic Data Abstraction Library for reading and writing geospatial raster and vector data", "homepage": "https://gdal.org", - "supports": "!(arm & windows)", + "license": null, + "supports": "!uwp", "dependencies": [ - "curl", - "expat", - "geos", - "giflib", - "hdf5", + "json-c", + "libgeotiff", { - "name": "json-c", - "platform": "!windows | mingw" + "name": "pkgconf", + "host": true }, - "libgeotiff", - "libjpeg-turbo", - "liblzma", - "libpng", - "libpq", - "libwebp", - "libxml2", - "netcdf-c", - "openjpeg", - "proj4", - "sqlite3", - "tiff", - "zlib", - "zstd" + { + "name": "proj", + "default-features": false, + "features": [ + "tiff" + ] + }, + { + "name": "tiff", + "default-features": false + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + { + "name": "vcpkg-pkgconfig-get-modules", + "host": true + }, + "zlib" + ], + "default-features": [ + "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": [ + "atl" + ] + }, "cfitsio": { "description": "Enable cfitsio support", "dependencies": [ "cfitsio" ] }, + "curl": { + "description": "Enable CURL network support", + "dependencies": [ + { + "name": "curl", + "default-features": false + } + ] + }, + "default-features": { + "description": "Default set of features, including recommended features", + "dependencies": [ + { + "name": "gdal", + "default-features": false, + "features": [ + "gif", + "iconv", + "libkml", + "libxml2", + "lzma", + "openjpeg", + "openssl", + "pcre2", + "recommended-features", + "webp", + "zstd" + ] + }, + { + "name": "gdal", + "default-features": false, + "features": [ + "libspatialite", + "postgresql" + ], + "platform": "!uwp" + }, + { + "name": "gdal", + "default-features": false, + "features": [ + "hdf5", + "netcdf" + ], + "platform": "!uwp & !(windows & arm64) & !android & !ios" + } + ] + }, + "expat": { + "description": "Use EXPAT library", + "dependencies": [ + "expat" + ] + }, + "freexl": { + "description": "Enable FREEXL support", + "dependencies": [ + "freexl" + ] + }, + "geos": { + "description": "Enable GEOS support", + "dependencies": [ + "geos" + ] + }, + "gif": { + "description": "Enable GIF support", + "dependencies": [ + "giflib" + ] + }, + "hdf5": { + "description": "Enable HDF5 support", + "dependencies": [ + { + "name": "hdf5", + "default-features": false, + "features": [ + "cpp" + ] + } + ] + }, + "iconv": { + "description": "Use iconv library", + "dependencies": [ + "libiconv" + ] + }, + "jpeg": { + "description": "Use JPEG compression library", + "dependencies": [ + "libjpeg-turbo" + ] + }, + "kea": { + "description": "Enable KEA driver", + "dependencies": [ + { + "name": "gdal", + "default-features": false, + "features": [ + "hdf5" + ] + }, + "kealib" + ] + }, + "lerc": { + "description": "Enable LERC support", + "dependencies": [ + "lerc" + ] + }, + "libkml": { + "description": "Enable the LibKML driver", + "dependencies": [ + "libkml" + ] + }, "libspatialite": { "description": "Create or update SpatiaLite databases using libspatialite", "dependencies": [ "libspatialite" ] }, + "libxml2": { + "description": "Use LibXML2 library", + "dependencies": [ + "libxml2" + ] + }, + "lzma": { + "description": "Use LZMA library", + "dependencies": [ + "liblzma" + ] + }, "mysql-libmariadb": { "description": "Add mysql support using libmariadb", "dependencies": [ "libmariadb" ] }, + "netcdf": { + "description": "Enable NetCDF support", + "dependencies": [ + { + "name": "netcdf-c", + "default-features": false + } + ] + }, + "openjpeg": { + "description": "Use OpenJPEG library", + "dependencies": [ + "openjpeg" + ] + }, + "openssl": { + "description": "Use OpenSSL library", + "dependencies": [ + "openssl" + ] + }, + "pcre2": { + "description": "Enable PCRE2 support for sqlite3", + "dependencies": [ + "pcre2" + ] + }, + "png": { + "description": "Use PNG compression library", + "dependencies": [ + "libpng" + ] + }, + "poppler": { + "description": "Enable PDF reading support via poppler", + "dependencies": [ + { + "name": "poppler", + "default-features": false, + "features": [ + "private-api" + ] + } + ] + }, + "postgresql": { + "description": "Enable PostgreSQL support", + "dependencies": [ + "libpq" + ] + }, + "qhull": { + "description": "Use QHULL library", + "dependencies": [ + "qhull" + ] + }, + "recommended-features": { + "description": "Features that are explicity marked as recommended by GDAL.", + "dependencies": [ + { + "name": "gdal", + "default-features": false, + "features": [ + "curl", + "expat", + "geos", + "jpeg", + "lerc", + "png", + "qhull", + "sqlite3" + ] + } + ] + }, + "sqlite3": { + "description": "Enable SQLite3 support", + "dependencies": [ + { + "name": "sqlite3", + "features": [ + "rtree" + ] + } + ] + }, + "supported-default-features": { + "description": "This feature is an alias for default-features. It is retained for compatibility.", + "dependencies": [ + { + "name": "gdal", + "features": [ + "default-features" + ] + } + ] + }, "system-libraries": { "$supports": "!windows", - "description": "Include drivers which need additional libraries" + "description": "This feature does nothing. It is retained for compatibility." }, "tools": { "description": "Builds gdal and ogr executables" + }, + "webp": { + "description": "Enable WEBP support", + "dependencies": [ + "libwebp" + ] + }, + "zstd": { + "description": "Use ZSTD library", + "dependencies": [ + "zstd" + ] } } } 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-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 e5aaf46ccf131d..3e8a1c48d05e3f 100644 --- a/ports/gdcm/portfile.cmake +++ b/ports/gdcm/portfile.cmake @@ -1,41 +1,35 @@ -vcpkg_fail_port_install(ON_TARGET "uwp") - -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO malaterre/GDCM - REF c0824c0ae66e9f9e3c8bddba8b65238c1c28481d # v3.0.7 - SHA512 1889f18f7164e1395e2cf5fe29b6ccd615f9a31433d1a7bda19cac472b20bc52018ef45bd9d9ca72ecb248c9fd5d895b94bfd111157693f70e0b90cf7b582edd + REF "v${VERSION}" + SHA512 2fe28444cee171a536d63f26c1ad7308a03b946e79dc8b7d648b5c7e6f4a8f52c0c32ec9cf463d95b876db31becc81541638b97fc7f15b79ae04de5988d6941e HEAD_REF master PATCHES - use-openjpeg-config.patch - fix-share-path.patch - Fix-Cmake_DIR.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() +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 + -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 @@ -43,19 +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}\"" "") - -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") -endif() - -file(INSTALL "${SOURCE_PATH}/Copyright.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +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 7d09f844eed6e4..b3ad627bafca56 100644 --- a/ports/gdcm/vcpkg.json +++ b/ports/gdcm/vcpkg.json @@ -1,12 +1,16 @@ { "name": "gdcm", - "version": "3.0.7", - "port-version": 3, + "version": "3.0.24", "description": "Grassroots DICOM library", "homepage": "https://github.com/malaterre/GDCM", - "supports": "!uwp & !(windows & (arm | arm64))", + "license": null, + "supports": "!uwp", "dependencies": [ "expat", + { + "name": "libiconv", + "platform": "!windows" + }, "openjpeg", { "name": "vcpkg-cmake", 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/fix_build.patch b/ports/gdk-pixbuf/fix_build.patch deleted file mode 100644 index 2afdd9c86c4741..00000000000000 --- a/ports/gdk-pixbuf/fix_build.patch +++ /dev/null @@ -1,67 +0,0 @@ -diff --git a/build-aux/post-install.bat b/build-aux/post-install.bat -index 6994d49e1..b4789dd62 100644 ---- a/build-aux/post-install.bat -+++ b/build-aux/post-install.bat -@@ -7,8 +7,8 @@ set binary_version=%3 - set libdir_windows=%libdir:/=\% - - if not "%DESTDIR%" == "" goto warn_msg --if not exist %libdir_windows%\gdk-pixbuf-2.0\%binary_version%\ mkdir %libdir_windows%\gdk-pixbuf-2.0\%binary_version% --%bindir%\gdk-pixbuf-query-loaders > %libdir_windows%\gdk-pixbuf-2.0\%binary_version%\loaders.cache -+if not exist %libdir_windows%\..\gdk-pixbuf-2.0\%binary_version%\ mkdir %libdir_windows%\..\gdk-pixbuf-2.0\%binary_version% -+%bindir%\gdk-pixbuf-query-loaders > %libdir_windows%\..\gdk-pixbuf-2.0\%binary_version%\loaders.cache - - goto end - -@@ -18,7 +18,7 @@ echo *** Warning: loaders.cache not built - echo *** - echo *** You should generate this file manually on the host system - echo *** using: --echo *** gdk-pixbuf-query-loaders ^> %libdir_windows%\gdk-pixbuf-2.0\%binary_version%\loaders.cache -+echo *** gdk-pixbuf-query-loaders ^> %libdir_windows%\..\gdk-pixbuf-2.0\%binary_version%\loaders.cache - echo *** - - :end -diff --git a/build-aux/post-install.sh b/build-aux/post-install.sh -index 661bceeef..0b1a46527 100644 ---- a/build-aux/post-install.sh -+++ b/build-aux/post-install.sh -@@ -5,14 +5,14 @@ libdir="$2" - binary_version="$3" - - if [ -z "$DESTDIR" ]; then -- mkdir -p "$libdir/gdk-pixbuf-2.0/$binary_version" -- $bindir/gdk-pixbuf-query-loaders > "$libdir/gdk-pixbuf-2.0/$binary_version/loaders.cache" -+ mkdir -p "$libdir/../gdk-pixbuf-2.0/$binary_version" -+ $bindir/gdk-pixbuf-query-loaders > "$libdir/../gdk-pixbuf-2.0/$binary_version/loaders.cache" - else - echo "***" - echo "*** Warning: loaders.cache not built" - echo "***" - echo "*** You should generate this file manually on the host system" - echo "*** using:" -- echo "*** gdk-pixbuf-query-loaders > $libdir/gdk-pixbuf-2.0/$binary_version/loaders.cache" -+ echo "*** gdk-pixbuf-query-loaders > $libdir/../gdk-pixbuf-2.0/$binary_version/loaders.cache" - echo "***" - fi -diff --git a/meson.build b/meson.build -index c38607029..4b5df91ae 100644 ---- a/meson.build -+++ b/meson.build -@@ -308,12 +310,12 @@ endif - # Don't check and build the jpeg loader if native_windows_loaders is true - if get_option('jpeg') and not native_windows_loaders - if cc.has_header('jpeglib.h') -- jpeg_dep = cc.find_library('jpeg', required: false) -- if cc.get_id() == 'msvc' and not jpeg_dep.found() -+ jpeg_dep = dependency('libjpeg', required: false) -+ #if cc.get_id() == 'msvc' and not jpeg_dep.found() - # The IJG JPEG library builds the .lib file as libjpeg.lib in its MSVC build system, - # so look for it as well when jpeg.lib cannot be found -- jpeg_dep = cc.find_library('libjpeg', required: false) -- endif -+ # jpeg_dep = cc.find_library('libjpeg', required: false) -+ #endif - if jpeg_dep.found() and cc.has_function('jpeg_destroy_decompress', dependencies: jpeg_dep) - enabled_loaders += 'jpeg' - loaders_deps += jpeg_dep diff --git a/ports/gdk-pixbuf/fix_build_error_windows.patch b/ports/gdk-pixbuf/fix_build_error_windows.patch index b6f6332dac9189..b213ac865fd79a 100644 --- a/ports/gdk-pixbuf/fix_build_error_windows.patch +++ b/ports/gdk-pixbuf/fix_build_error_windows.patch @@ -1,8 +1,6 @@ -diff --git a/meson.build b/meson.build -index b39c55d..4b050c7 100644 --- a/meson.build +++ b/meson.build -@@ -89,8 +89,14 @@ if cc.has_function('round', dependencies: mathlib_dep) +@@ -90,8 +90,14 @@ gdk_pixbuf_conf.set('HAVE_ROUND', 1) endif @@ -18,4 +16,4 @@ index b39c55d..4b050c7 100644 + endif endif - if cc.has_function('bind_textdomain_codeset', prefix: '#include ') + intl_dep = cc.find_library('intl', required: false) diff --git a/ports/gdk-pixbuf/loaders-cache.patch b/ports/gdk-pixbuf/loaders-cache.patch new file mode 100644 index 00000000000000..d0a8ce94410a64 --- /dev/null +++ b/ports/gdk-pixbuf/loaders-cache.patch @@ -0,0 +1,20 @@ +diff --git a/gdk-pixbuf/meson.build b/gdk-pixbuf/meson.build +index 54ff9dd..27f8512 100644 +--- a/gdk-pixbuf/meson.build ++++ b/gdk-pixbuf/meson.build +@@ -348,7 +348,14 @@ foreach bin: gdkpixbuf_bin + set_variable(bin_name.underscorify(), bin) + endforeach + +-if not meson.is_cross_build() ++if dynamic_loaders.length() == 0 ++ # skip tool invocation ++ cmake = find_program('cmake', required : true) ++ loaders_cache = custom_target('loaders.cache', output: 'loaders.cache', capture: true, ++ command: [ cmake, '-E', 'echo', '# No dynamic loaders enabled at build time' ], ++ build_by_default: true) ++ loaders_dep = declare_dependency(sources: [ loaders_cache ]) ++elif not meson.is_cross_build() + # The 'loaders.cache' used for testing, so we don't accidentally + # load the installed cache; we always build it by default + loaders_cache = custom_target('loaders.cache', diff --git a/ports/gdk-pixbuf/portfile.cmake b/ports/gdk-pixbuf/portfile.cmake index bf16064f89e9ea..313e39a0b6101f 100644 --- a/ports/gdk-pixbuf/portfile.cmake +++ b/ports/gdk-pixbuf/portfile.cmake @@ -1,71 +1,98 @@ -set(GDK_PIXBUF_VERSION 2.42) -set(GDK_PIXBUF_PATCH 2) - -vcpkg_download_distfile(ARCHIVE - URLS "https://ftp.gnome.org/pub/GNOME/sources/gdk-pixbuf/${GDK_PIXBUF_VERSION}/gdk-pixbuf-${GDK_PIXBUF_VERSION}.${GDK_PIXBUF_PATCH}.tar.xz" - FILENAME "gdk-pixbuf-${GDK_PIXBUF_VERSION}.${GDK_PIXBUF_PATCH}.tar.xz" - SHA512 f341d032ea410efed7a35f8ca6a7389bf988f663dae16e774d114d6f11611e9e182c835e90d752b71c258c905cc5c4c785ea697feed5e6921a2a676c9deaa5f2 -) - -vcpkg_extract_source_archive_ex( +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.gnome.org/ OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} + REPO GNOME/gdk-pixbuf + REF "${VERSION}" + SHA512 f95c92974ed6efac9845790ef5c4ed74dd6e28b182ea3732013c46b016166e92f8bc10c1994358d79ff53e988c615c43cb1a2130c6ef531ef9d84c2fdcc87e52 + HEAD_REF master PATCHES - fix_build.patch fix_build_error_windows.patch + loaders-cache.patch + use-libtiff-4-pkgconfig.patch + fix-static-deps.patch ) + +if("introspection" IN_LIST FEATURES) + list(APPEND OPTIONS_DEBUG -Dintrospection=disabled) + list(APPEND OPTIONS_RELEASE -Dintrospection=enabled) +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() + set(GIR_TOOL_DIR ${CURRENT_HOST_INSTALLED_DIR}) +endif() + if(VCPKG_TARGET_IS_WINDOWS) #list(APPEND OPTIONS -Dnative_windows_loaders=true) # Use Windows system components to handle BMP, EMF, GIF, ICO, JPEG, TIFF and WMF images, overriding jpeg and tiff. To build this into gdk-pixbuf, pass in windows" with the other loaders to build in or use "all" with the builtin_loaders option endif() vcpkg_configure_meson( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -Dman=false # Whether to generate man pages (requires xlstproc) -Dgtk_doc=false # Whether to generate the API reference (requires GTK-Doc) -Ddocs=false - -Dpng=true # Enable PNG loader (requires libpng) - -Dtiff=true # Enable TIFF loader (requires libtiff), disabled on Windows if "native_windows_loaders" is used - -Djpeg=true # Enable JPEG loader (requires libjpeg), disabled on Windows if "native_windows_loaders" is used - -Dintrospection=disabled # Whether to generate the API introspection data (requires GObject-Introspection) -Drelocatable=true # Whether to enable application bundle relocation support + -Dtests=false -Dinstalled_tests=false -Dgio_sniffing=false # Perform file type detection using GIO (Unused on MacOS and Windows) - -Dbuiltin_loaders=all # since it is unclear where loadable plugins should be located; + -Dbuiltin_loaders=all # since it is unclear where loadable plugins should be located; # Comma-separated list of loaders to build into gdk-pixbuf, or "none", or "all" to build all buildable loaders into gdk-pixbuf - ADDITIONAL_NATIVE_BINARIES glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal' - glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums' - ADDITIONAL_CROSS_BINARIES glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal' - glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums' - ) + ${OPTIONS} + OPTIONS_DEBUG + ${OPTIONS_DEBUG} + OPTIONS_RELEASE + ${OPTIONS_RELEASE} + ADDITIONAL_BINARIES + glib-compile-resources='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-compile-resources' + glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal' + glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums' + g-ir-compiler='${CURRENT_HOST_INSTALLED_DIR}/tools/gobject-introspection/g-ir-compiler${VCPKG_HOST_EXECUTABLE_SUFFIX}' + g-ir-scanner='${GIR_TOOL_DIR}/tools/gobject-introspection/g-ir-scanner' +) vcpkg_install_meson(ADD_BIN_TO_PATH) -# Fix paths in pc file. -set(_file "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/gdk-pixbuf-2.0.pc") -if(EXISTS "${_file}") - file(READ "${_file}" _contents) - string(REPLACE [[${bindir}]] "\${bindir}/../../tools/${PORT}" _contents "${_contents}") - string(REPLACE [[gdk_pixbuf_binarydir=${libdir}/gdk-pixbuf-2.0/2.10.0]] "gdk_pixbuf_binarydir=\${libdir}/../gdk-pixbuf-2.0/2.10.0" _contents "${_contents}") - file(WRITE "${_file}" "${_contents}") -endif() -set(_file "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/gdk-pixbuf-2.0.pc") -if(EXISTS "${_file}") - file(READ "${_file}" _contents) - string(REPLACE [[${bindir}]] "\${bindir}/../tools/${PORT}" _contents "${_contents}") - string(REPLACE [[gdk_pixbuf_binarydir=${libdir}/gdk-pixbuf-2.0/2.10.0]] "gdk_pixbuf_binarydir=\${libdir}/../gdk-pixbuf-2.0/2.10.0" _contents "${_contents}") - file(WRITE "${_file}" "${_contents}") +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/gdk-pixbuf-2.0.pc" [[${bindir}]] "\${prefix}/tools/${PORT}") +if(NOT VCPKG_BUILD_TYPE) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/gdk-pixbuf-2.0.pc" [[${bindir}]] "\${prefix}/../tools/${PORT}") endif() - vcpkg_fixup_pkgconfig() -set(TOOL_NAMES gdk-pixbuf-csource gdk-pixbuf-pixdata gdk-pixbuf-query-loaders gdk-pixbuf-thumbnailer) - -if(VCPKG_TARGET_ARCHITECTURE MATCHES "arm" AND VCPKG_TARGET_IS_WINDOWS) - list(REMOVE_ITEM TOOL_NAMES gdk-pixbuf-thumbnailer) +set(TOOL_NAMES gdk-pixbuf-csource gdk-pixbuf-pixdata gdk-pixbuf-query-loaders) +# gdk-pixbuf-thumbnailer is not compiled for cross-compiling +# vcpkg-meson cross-build configuration differs from VCPKG_CROSSCOMPILING +if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/gdk-pixbuf-thumbnailer${VCPKG_TARGET_EXECUTABLE_SUFFIX}") + list(APPEND TOOL_NAMES gdk-pixbuf-thumbnailer) endif() - vcpkg_copy_pdbs() vcpkg_copy_tools(TOOL_NAMES ${TOOL_NAMES} AUTO_CLEAN) -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/gdk-pixbuf/use-libtiff-4-pkgconfig.patch b/ports/gdk-pixbuf/use-libtiff-4-pkgconfig.patch new file mode 100644 index 00000000000000..be8cb0065fd238 --- /dev/null +++ b/ports/gdk-pixbuf/use-libtiff-4-pkgconfig.patch @@ -0,0 +1,13 @@ +diff --git a/meson.build b/meson.build +index b5280f3..4927ed5 100644 +--- a/meson.build ++++ b/meson.build +@@ -333,7 +333,7 @@ tiff_opt = get_option('tiff') + if not tiff_opt.disabled() and not native_windows_loaders + # We currently don't have a fallback subproject, but this handles error + # reporting if tiff_opt is enabled. +- tiff_dep = dependency(is_msvc_like ? 'tiff' : 'libtiff-4', required: tiff_opt) ++ tiff_dep = dependency(false ? 'tiff' : 'libtiff-4', required: tiff_opt) + + if tiff_dep.found() + enabled_loaders += 'tiff' diff --git a/ports/gdk-pixbuf/vcpkg.json b/ports/gdk-pixbuf/vcpkg.json index ca65da57a9f2f3..424ae57be9451b 100644 --- a/ports/gdk-pixbuf/vcpkg.json +++ b/ports/gdk-pixbuf/vcpkg.json @@ -1,18 +1,65 @@ { "name": "gdk-pixbuf", - "version": "2.42.2", + "version": "2.42.12", "port-version": 1, "description": "Image loading library.", - "homepage": "https://developer.gnome.org/gdk-pixbuf/", + "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", - "tiff", - "zlib" - ] + { + "name": "vcpkg-tool-meson", + "host": true + } + ], + "default-features": [ + "jpeg", + "png", + "tiff" + ], + "features": { + "introspection": { + "description": "build with introspection", + "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/genann/portfile.cmake b/ports/genann/portfile.cmake index 56bcd4aeefc31b..8f83bc0c86cede 100644 --- a/ports/genann/portfile.cmake +++ b/ports/genann/portfile.cmake @@ -8,18 +8,16 @@ vcpkg_from_github( HEAD_REF master ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS_RELEASE -DINSTALL_HEADERS=ON OPTIONS_DEBUG -DINSTALL_HEADERS=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() # Handle copyright -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/genann) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/genann/LICENSE ${CURRENT_PACKAGES_DIR}/share/genann/copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/genann/vcpkg.json b/ports/genann/vcpkg.json index 7e9de881533bc8..9a75adceef84cc 100644 --- a/ports/genann/vcpkg.json +++ b/ports/genann/vcpkg.json @@ -1,7 +1,13 @@ { "name": "genann", - "version-string": "2019-07-10", - "port-version": 1, + "version-date": "2019-07-10", + "port-version": 3, "description": "Genann is a minimal, well-tested library for training and using feedforward artificial neural networks (ANN) in C.", - "homepage": "https://github.com/codeplea/genann" + "homepage": "https://github.com/codeplea/genann", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/geogram/fix-vcpkg-install.patch b/ports/geogram/fix-vcpkg-install.patch index e859b7890e4a1f..b05a53f62d9238 100644 --- a/ports/geogram/fix-vcpkg-install.patch +++ b/ports/geogram/fix-vcpkg-install.patch @@ -1,17 +1,17 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 8713b2f..0e034fa 100644 +index 1fd796c..05bd735 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -51,7 +51,7 @@ set(VORPALINE_VERSION_MINOR 7) - set(VORPALINE_VERSION_PATCH 6) - set(VORPALINE_VERSION ${VORPALINE_VERSION_MAJOR}.${VORPALINE_VERSION_MINOR}.${VORPALINE_VERSION_PATCH}) +@@ -53,7 +53,7 @@ endif() + include(cmake/geogram.cmake) + -set(VORPALINE_INCLUDE_SUBPATH geogram${VORPALINE_VERSION_MAJOR}) +set(VORPALINE_INCLUDE_SUBPATH ./) # Determine the current Build-OS (Build-platform without the compiler info) string(REGEX REPLACE "-[^-]+$" "" VORPALINE_OS ${VORPALINE_PLATFORM}) -@@ -116,6 +116,7 @@ endif() +@@ -115,6 +115,7 @@ endif() add_subdirectory(src/lib/third_party) if(GEOGRAM_WITH_GRAPHICS) @@ -19,7 +19,7 @@ index 8713b2f..0e034fa 100644 add_subdirectory(src/lib/geogram_gfx) endif() -@@ -146,7 +147,44 @@ file(REMOVE ${CMAKE_BINARY_DIR}/doc/LICENSE.txt) +@@ -145,7 +146,44 @@ file(REMOVE ${CMAKE_BINARY_DIR}/doc/LICENSE.txt) # FindGeogram.cmake @@ -66,10 +66,19 @@ index 8713b2f..0e034fa 100644 # Configure CPack diff --git a/src/lib/geogram/CMakeLists.txt b/src/lib/geogram/CMakeLists.txt -index 49cb2ba..8985137 100644 +index ed2dca0..30f87b7 100644 --- a/src/lib/geogram/CMakeLists.txt +++ b/src/lib/geogram/CMakeLists.txt -@@ -61,8 +61,19 @@ if(WIN32) +@@ -45,7 +45,7 @@ target_include_directories(geogram PRIVATE + # 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 +-target_include_directories(geogram PUBLIC ${PROJECT_SOURCE_DIR}/src/lib) ++target_include_directories(geogram PUBLIC $) + + if(ANDROID) + target_include_directories(geogram PRIVATE +@@ -72,8 +72,19 @@ if(WIN32) target_link_libraries(geogram psapi) endif() @@ -91,10 +100,10 @@ index 49cb2ba..8985137 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 b155975..ad66440 100644 +index a6f8372..195b1e2 100644 --- a/src/lib/geogram_gfx/CMakeLists.txt +++ b/src/lib/geogram_gfx/CMakeLists.txt -@@ -47,14 +47,21 @@ if(VORPALINE_BUILD_DYNAMIC) +@@ -52,14 +52,21 @@ if(VORPALINE_BUILD_DYNAMIC) endif() # Install the library @@ -118,7 +127,7 @@ index b155975..ad66440 100644 ) # Install include files for the full devkit -@@ -62,7 +69,7 @@ install( +@@ -67,7 +74,7 @@ install( DIRECTORY . DESTINATION include/${VORPALINE_INCLUDE_SUBPATH}/geogram_gfx COMPONENT devkit-full @@ -128,38 +137,36 @@ index b155975..ad66440 100644 install( diff --git a/src/lib/third_party/numerics/CMakeLists.txt b/src/lib/third_party/numerics/CMakeLists.txt -index 8fd39b0..46d5cc6 100644 +index 5faf2fa..33c9bdd 100644 --- a/src/lib/third_party/numerics/CMakeLists.txt +++ b/src/lib/third_party/numerics/CMakeLists.txt -@@ -10,17 +10,19 @@ endif() +@@ -14,10 +14,11 @@ endif() include_directories(${GEOGRAM_SOURCE_DIR}/src/lib/third_party/numerics/INCLUDE) --aux_source_directories(SOURCES "Source Files" .) +set(LAPACK_lapack_WORKS TRUE) +find_package(BLAS REQUIRED) +find_package(LAPACK REQUIRED) -+ aux_source_directories(SOURCES "Source Files" .) + aux_source_directories(SOURCES "Source Files" .) aux_source_directories(SOURCES "Source Files\\LIBF2C" LIBF2C) -aux_source_directories(SOURCES "Source Files\\CBLAS" CBLAS) -aux_source_directories(SOURCES "Source Files\\CLAPACK" CLAPACK) aux_source_directories(SOURCES "Source Files\\SUPERLU" SUPERLU) aux_source_directories(SOURCES "Source Files\\ARPACK" ARPACK) aux_source_directories(SOURCES "Source Files\\ARPACK_UTIL" ARPACK_UTIL) +@@ -28,6 +29,7 @@ list(REMOVE_ITEM SOURCES "LIBF2C/system_.c") add_library(geogram_num_3rdparty ${SOURCES}) --if(UNIX) +target_link_libraries(geogram_num_3rdparty ${BLAS_LIBRARIES} ${LAPACK_LIBRARIES}) -+ if(UNIX) + if(UNIX) target_link_libraries(geogram_num_3rdparty m) endif() - -diff --git a/src/lib/third_party/numerics/LIBF2C/getarg_.c b/src/lib/third_party/numerics/LIBF2C/getarg_.c -index 2b69a1e..a504538 100644 ---- a/src/lib/third_party/numerics/LIBF2C/getarg_.c -+++ b/src/lib/third_party/numerics/LIBF2C/getarg_.c -@@ -17,20 +17,20 @@ VOID getarg_(n, s, ls) ftnint *n; char *s; ftnlen ls; +diff --git a/src/lib/third_party/numerics/LIBF2C/libf2c_getarg_.c b/src/lib/third_party/numerics/LIBF2C/libf2c_getarg_.c +index 2b69a1e..a4b4c55 100644 +--- a/src/lib/third_party/numerics/LIBF2C/libf2c_getarg_.c ++++ b/src/lib/third_party/numerics/LIBF2C/libf2c_getarg_.c +@@ -17,20 +17,21 @@ VOID getarg_(n, s, ls) ftnint *n; char *s; ftnlen ls; void getarg_(ftnint *n, char *s, ftnlen ls) #endif { @@ -182,21 +189,22 @@ index 2b69a1e..a504538 100644 - *s++ = ' '; - } + // if(*n>=0 && *n,$>:-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-exported-config.patch b/ports/geos/fix-exported-config.patch index 40aa835e0c397f..7f26a29421426f 100644 --- a/ports/geos/fix-exported-config.patch +++ b/ports/geos/fix-exported-config.patch @@ -1,10 +1,10 @@ diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt -index bc0e774..e3ca0bd 100644 +index a8c034fb2..a5cd14c13 100644 --- a/tools/CMakeLists.txt +++ b/tools/CMakeLists.txt -@@ -45,11 +45,18 @@ function(configure_install_geos_pc) - set(includedir "$\{prefix\}/${CMAKE_INSTALL_INCLUDEDIR}") - set(libdir "$\{exec_prefix\}/${CMAKE_INSTALL_LIBDIR}") +@@ -61,11 +61,18 @@ function(configure_install_geos_pc) + set(libdir "$\{exec_prefix\}/${CMAKE_INSTALL_LIBDIR}") + endif() set(VERSION ${GEOS_VERSION}) - set(EXTRA_LIBS "-lstdc++") + if(APPLE OR CMAKE_ANDROID_STL_TYPE MATCHES "^c\\+\\+") @@ -22,7 +22,7 @@ index bc0e774..e3ca0bd 100644 configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/geos.pc.in -@@ -61,9 +68,9 @@ function(configure_install_geos_pc) +@@ -77,9 +84,9 @@ function(configure_install_geos_pc) DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) endfunction() @@ -34,7 +34,7 @@ index bc0e774..e3ca0bd 100644 option(BUILD_ASTYLE "Build astyle (Artistic Style) tool" OFF) diff --git a/tools/geos-config.in b/tools/geos-config.in -index 6eff1eb..8827f6a 100644 +index 6eff1eb14..8827f6ac6 100644 --- a/tools/geos-config.in +++ b/tools/geos-config.in @@ -1,9 +1,11 @@ @@ -54,7 +54,7 @@ index 6eff1eb..8827f6a 100644 usage() { @@ -47,16 +49,16 @@ while test $# -gt 0; do - echo -L${libdir} -lgeos-@VERSION_RELEASE@ + echo -L${libdir} -lgeos ;; --clibs) - echo -L${libdir} -lgeos_c @@ -65,11 +65,11 @@ index 6eff1eb..8827f6a 100644 + echo -L${libdir} -lgeos $(if test "@BUILD_SHARED_LIBS@" != "ON"; then echo "@EXTRA_LIBS@"; fi) ;; --static-clibs) -- echo -L${libdir} -lgeos_c -lgeos -lm +- echo -L${libdir} -lgeos_c -lgeos -lstdc++ -lm + echo -L${libdir} -lgeos_c -lgeos @EXTRA_LIBS@ ;; --static-cclibs) -- echo -L${libdir} -lgeos -lm +- echo -L${libdir} -lgeos -lstdc++ -lm + echo -L${libdir} -lgeos @EXTRA_LIBS@ ;; --cflags) diff --git a/ports/geos/install-hpp-files.patch b/ports/geos/install-hpp-files.patch deleted file mode 100644 index c5d4b21e79289e..00000000000000 --- a/ports/geos/install-hpp-files.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 20c8907..accc1a2 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -367,7 +367,7 @@ install(DIRECTORY - "${CMAKE_CURRENT_LIST_DIR}/include/geos" - "${CMAKE_CURRENT_BINARY_DIR}/include/geos" - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} -- FILES_MATCHING PATTERN "*.h") -+ FILES_MATCHING PATTERN "*.h" PATTERN "*.hpp") - if(NOT DISABLE_GEOS_INLINE) - install(DIRECTORY - "${CMAKE_CURRENT_LIST_DIR}/include/geos" diff --git a/ports/geos/portfile.cmake b/ports/geos/portfile.cmake index 7be171ac2fcf90..7d266271a35d43 100644 --- a/ports/geos/portfile.cmake +++ b/ports/geos/portfile.cmake @@ -1,26 +1,21 @@ -set(GEOS_VERSION 3.10.0) - vcpkg_download_distfile(ARCHIVE - URLS "https://download.osgeo.org/geos/geos-${GEOS_VERSION}.tar.bz2" - FILENAME "geos-${GEOS_VERSION}.tar.bz2" - SHA512 12657c6649bfbf6efa3232a054969c6229bb23fc16a7c72d6ca5fdb662e0d08e14bbcaa6944a17de8972b6c236608d94c870ead0b04fada2d2af3d42c238058e + URLS "https://download.osgeo.org/geos/geos-${VERSION}.tar.bz2" + FILENAME "geos-${VERSION}.tar.bz2" + 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_ex( - OUT_SOURCE_PATH SOURCE_PATH +vcpkg_extract_source_archive(SOURCE_PATH ARCHIVE "${ARCHIVE}" - REF ${GEOS_VERSION} + SOURCE_BASE "v${VERSION}" PATCHES - disable-warning-4996.patch fix-exported-config.patch - install-hpp-files.patch + "${msvc_2017_patch}" ) -if(VCPKG_TARGET_IS_MINGW) - set(_CMAKE_EXTRA_OPTIONS "-DDISABLE_GEOS_INLINE=ON") -else() - set(_CMAKE_EXTRA_OPTIONS "") -endif() - vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS @@ -29,36 +24,22 @@ vcpkg_cmake_configure( -DBUILD_GEOSOP=OFF -DBUILD_TESTING=OFF -DBUILD_BENCHMARKS=OFF - ${_CMAKE_EXTRA_OPTIONS} - OPTIONS_DEBUG - -DCMAKE_DEBUG_POSTFIX=d # Legacy decision, hard coded in depending ports ) vcpkg_cmake_install() vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/GEOS) vcpkg_fixup_pkgconfig() -function(geos_add_debug_postfix config_file) - file(READ "${config_file}" contents) - string(REGEX REPLACE "(-lgeos(_c)?)d?([^-_d])" "\\1d\\3" fixed_contents "${contents}") - file(WRITE "${config_file}" "${fixed_contents}") -endfunction() -if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - if(NOT VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_MINGW) - file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin") - file(RENAME "${CURRENT_PACKAGES_DIR}/bin/geos-config" "${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin/geos-config") - file(CHMOD "${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin/geos-config" FILE_PERMISSIONS - OWNER_READ OWNER_WRITE OWNER_EXECUTE - GROUP_READ GROUP_EXECUTE - WORLD_READ WORLD_EXECUTE - ) - endif() -endif() -if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - geos_add_debug_postfix("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/geos.pc") - if(NOT VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_MINGW) +if(NOT VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_MINGW) + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin") + file(RENAME "${CURRENT_PACKAGES_DIR}/bin/geos-config" "${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin/geos-config") + file(CHMOD "${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin/geos-config" FILE_PERMISSIONS + OWNER_READ OWNER_WRITE OWNER_EXECUTE + GROUP_READ GROUP_EXECUTE + WORLD_READ WORLD_EXECUTE + ) + if(NOT VCPKG_BUILD_TYPE) file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug/bin") file(RENAME "${CURRENT_PACKAGES_DIR}/debug/bin/geos-config" "${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug/bin/geos-config") - geos_add_debug_postfix("${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug/bin/geos-config") file(CHMOD "${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug/bin/geos-config" FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE @@ -72,8 +53,7 @@ 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() -# Handle copyright -configure_file("${SOURCE_PATH}/COPYING" "${CURRENT_PACKAGES_DIR}/share/geos/copyright" COPYONLY) - vcpkg_copy_pdbs() + 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/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 3a55c644241807..27dbaf5e65e414 100644 --- a/ports/geos/vcpkg.json +++ b/ports/geos/vcpkg.json @@ -1,8 +1,10 @@ { "name": "geos", - "version": "3.10.0", + "version": "3.13.0", + "port-version": 1, "description": "Geometry Engine Open Source", - "homepage": "https://www.osgeo.org/projects/geos/", + "homepage": "https://libgeos.org/", + "license": "LGPL-2.1-only", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/geotrans/portfile.cmake b/ports/geotrans/portfile.cmake index 6b56785bcc7ab8..1c38a8dabd5839 100644 --- a/ports/geotrans/portfile.cmake +++ b/ports/geotrans/portfile.cmake @@ -4,34 +4,33 @@ set(VCPKG_LIBRARY_LINKAGE "dynamic") # which we re-build anyway. There is no source only package provided or it would be preferred (and smaller). vcpkg_download_distfile(ARCHIVE URLS "https://earth-info.nga.mil/php/download.php?file=wgs-mastertgz" - FILENAME "geotrans-3.8-master.tgz" - SHA512 359704ee9700762111006d126872feab9f644af0cebd433a657473347ea48f4eb172681f5f564fbca171bbf58fe0e8fb0829597403958770b7d22ad380afeac3 + FILENAME "geotrans-3.9-master-adf1935.tgz" + SHA512 adf19357edc62681a2515e7210a752b0e09214b6ce69024e60150e0780059c08a9ab5a162a0562dbc37127438783a24bcde1adb88b559bc95ff9a5bea0eb8b39 ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} +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}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() configure_file( - ${CMAKE_CURRENT_LIST_DIR}/geotrans-config.in.cmake - ${CURRENT_PACKAGES_DIR}/share/${PORT}/geotrans-config.cmake + "${CMAKE_CURRENT_LIST_DIR}/geotrans-config.in.cmake" + "${CURRENT_PACKAGES_DIR}/share/${PORT}/geotrans-config.cmake" @ONLY ) -configure_file(${CMAKE_CURRENT_LIST_DIR}/usage ${CURRENT_PACKAGES_DIR}/share/${PORT} @ONLY) +configure_file("${CMAKE_CURRENT_LIST_DIR}/usage" "${CURRENT_PACKAGES_DIR}/share/${PORT}" @ONLY) # Handle copyright -file(INSTALL ${SOURCE_PATH}/GEOTRANS3/docs/MSP_Geotrans_Terms_Of_Use.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/GEOTRANS3/docs/MSP_Geotrans_Terms_Of_Use.txt") # Install the geo model data -file(COPY ${SOURCE_PATH}/data DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) \ No newline at end of file +file(COPY "${SOURCE_PATH}/data" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/geotrans/usage b/ports/geotrans/usage index 83430e426c2a99..13533b44052496 100644 --- a/ports/geotrans/usage +++ b/ports/geotrans/usage @@ -7,5 +7,5 @@ The package geotrans provides CMake targets: The geotrans library depends on being able to read it's model data so you'll need to set an environment variable to let geotrans know where the models are installed: -export MSPCCS_DATA=@CURRENT_INSTALLED_DIR@/share/@PORT@/data +export MSPCCS_DATA=/share/@PORT@/data diff --git a/ports/geotrans/vcpkg.json b/ports/geotrans/vcpkg.json index ba21e7c0503cd5..61212b5f03d6ca 100644 --- a/ports/geotrans/vcpkg.json +++ b/ports/geotrans/vcpkg.json @@ -1,8 +1,15 @@ { "name": "geotrans", - "version": "3.8", + "version": "3.9", "port-version": 1, "description": "GEOTRANS is an application that allows you to convert geographic coordinates among a wide variety of coordinate systems, map projections, grids, and datums. GEOTRANS runs in Microsoft Windows and LINUX environments.", "homepage": "https://earth-info.nga.mil/GandG/update/index.php?action=home", - "supports": "!uwp" + "license": null, + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/getdns/disable-docs.patch b/ports/getdns/disable-docs.patch new file mode 100644 index 00000000000000..3d0670e27d16ef --- /dev/null +++ b/ports/getdns/disable-docs.patch @@ -0,0 +1,40 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 9170be7..def3758 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1036,9 +1036,9 @@ configure_file(src/version.c.in version.c) + + set(version ${PACKAGE_VERSION}) + set(date ${API_VERSION}) +-file(GLOB mans doc/*.3.in) +-file(MAKE_DIRECTORY man3) +-foreach (man ${mans}) ++#file(GLOB mans doc/*.3.in) ++#file(MAKE_DIRECTORY man3) ++if (FALSE) + get_filename_component(out ${man} NAME_WE) + configure_file(${man} man3/${out}.3 @ONLY) + +@@ -1058,7 +1058,7 @@ foreach (man ${mans}) + configure_file(${man} man3/${alt}.3 @ONLY) + endif () + endforeach() +-endforeach() ++endif() + + set(prefix ${CMAKE_INSTALL_PREFIX}) + 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 ${CMAKE_INSTALL_MANDIR}) ++#install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/man3 DESTINATION ${CMAKE_INSTALL_MANDIR}) + +-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 c1411e621aa08b..64eccdfdd353dd 100644 --- a/ports/getdns/portfile.cmake +++ b/ports/getdns/portfile.cmake @@ -1,23 +1,26 @@ -vcpkg_fail_port_install(ON_TARGET "uwp") - -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_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} - REF ${GETDNS_VERSION} +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" + PATCHES + disable-docs.patch + fix-include.patch + fix-libuv-deps.patch ) +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + set(VCPKG_CXX_FLAGS "/D_CRT_DECLARE_NONSTDC_NAMES ${VCPKG_CXX_FLAGS}") + set(VCPKG_C_FLAGS "/D_CRT_DECLARE_NONSTDC_NAMES ${VCPKG_C_FLAGS}") +endif() + vcpkg_check_features( OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES @@ -44,6 +47,6 @@ vcpkg_copy_pdbs() 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) +vcpkg_fixup_pkgconfig() -vcpkg_fixup_pkgconfig() \ No newline at end of file +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/getdns/vcpkg.json b/ports/getdns/vcpkg.json index 9f657dcd104c8a..92ee276fbf62d8 100644 --- a/ports/getdns/vcpkg.json +++ b/ports/getdns/vcpkg.json @@ -1,8 +1,9 @@ { "name": "getdns", - "version": "1.7.0", + "version": "1.7.3", "description": "GetDNS is a modern asynchronous DNS API", "homepage": "https://getdnsapi.net/", + "license": "BSD-3-Clause", "supports": "!uwp", "dependencies": [ "libidn2", diff --git a/ports/getopt-win32/CMakeLists.txt b/ports/getopt-win32/CMakeLists.txt new file mode 100644 index 00000000000000..5bf9b11c8d48de --- /dev/null +++ b/ports/getopt-win32/CMakeLists.txt @@ -0,0 +1,29 @@ +cmake_minimum_required(VERSION 3.14) + +project(getopt-win32 C) + +if(BUILD_SHARED_LIBS) + add_definitions(-DEXPORTS_GETOPT) +else() + add_definitions(-DSTATIC_GETOPT) +endif() + +add_library(getopt getopt.c) + +TARGET_INCLUDE_DIRECTORIES(getopt INTERFACE $) + +install( + TARGETS getopt + EXPORT unofficial-getopt-win32 + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib + INCLUDES DESTINATION include +) + +install( + EXPORT unofficial-getopt-win32 + NAMESPACE unofficial::getopt-win32:: + DESTINATION share/unofficial-getopt-win32 + FILE unofficial-getopt-win32-config.cmake +) diff --git a/ports/getopt-win32/portfile.cmake b/ports/getopt-win32/portfile.cmake index 2e80cf943e8363..5b1eb8f6d480c1 100644 --- a/ports/getopt-win32/portfile.cmake +++ b/ports/getopt-win32/portfile.cmake @@ -1,47 +1,34 @@ -if(VCPKG_CMAKE_SYSTEM_NAME) - message(FATAL_ERROR "getopt-win32 only supports building on Windows Desktop") -endif() - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO libimobiledevice-win32/getopt - REF 0.1 - SHA512 40e2a901241a5d751cec741e5de423c8f19b105572c7cae18adb6e69be0b408efc6c9a2ecaeb62f117745eac0d093f30d6b91d88c1a27e1f7be91f0e84fdf199 - HEAD_REF master -) - -if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - list(APPEND OPTIONS "/p:ConfigurationType=StaticLibrary") -else() - list(APPEND OPTIONS "/p:ConfigurationType=DynamicLibrary") -endif() - -set(_file "${SOURCE_PATH}/getopt.vcxproj") -file(READ "${_file}" _contents) -if(VCPKG_CRT_LINKAGE STREQUAL static) - string(REPLACE "MultiThreadedDLL" "MultiThreaded" _contents "${_contents}") - string(REPLACE "MultiThreadedDebugDLL" "MultiThreadedDebug" _contents "${_contents}") -else() - string(REPLACE "MultiThreaded" "MultiThreadedDLL" _contents "${_contents}") - string(REPLACE "MultiThreadedDebug" "MultiThreadedDebugDLL" _contents "${_contents}") -endif() -file(WRITE "${_file}" "${_contents}") - - - -vcpkg_install_msbuild( - SOURCE_PATH ${SOURCE_PATH} - PROJECT_SUBPATH getopt.vcxproj - LICENSE_SUBPATH LICENSE - OPTIONS ${OPTIONS} -) - -# Copy header -file(COPY "${SOURCE_PATH}/getopt.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include/") -if (VCPKG_LIBRARY_LINKAGE STREQUAL static) - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/getopt.h" - " #define __GETOPT_H_" " #define __GETOPT_H_\n #define STATIC_GETOPT" - ) -endif() - -set(VCPKG_POLICY_ALLOW_RESTRICTED_HEADERS enabled) +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO xiaozhuai/getopt-win32 + REF b69a586f0b1aa37b77c3cf0a9dedba1900007678 + SHA512 6e52b6f198073e85b3a29a2fe21435c591fce02c68cb8cf9b546791dd1197e9b91dd9104af449071b4a1d1485817a483f1989a2e585c2d0470cfd079290fe155 + HEAD_REF master +) + +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") + +vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}") +vcpkg_cmake_install() +vcpkg_fixup_pkgconfig() + +file(COPY "${SOURCE_PATH}/getopt.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include") + +if (VCPKG_LIBRARY_LINKAGE STREQUAL "static") + vcpkg_replace_string( + "${CURRENT_PACKAGES_DIR}/include/getopt.h" + "defined(STATIC_GETOPT)" + "1" + ) +endif() + +vcpkg_cmake_config_fixup( + CONFIG_PATH "share/unofficial-getopt-win32" + PACKAGE_NAME "unofficial-getopt-win32" +) + +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}") +set(VCPKG_POLICY_ALLOW_RESTRICTED_HEADERS "enabled") diff --git a/ports/getopt-win32/usage b/ports/getopt-win32/usage new file mode 100644 index 00000000000000..42843a09cf5352 --- /dev/null +++ b/ports/getopt-win32/usage @@ -0,0 +1,4 @@ +getopt-win32 provides CMake targets: + + find_package(unofficial-getopt-win32 REQUIRED) + target_link_libraries(main PRIVATE unofficial::getopt-win32::getopt) diff --git a/ports/getopt-win32/vcpkg.json b/ports/getopt-win32/vcpkg.json index 8f68d57f2959d6..7429396920feab 100644 --- a/ports/getopt-win32/vcpkg.json +++ b/ports/getopt-win32/vcpkg.json @@ -1,8 +1,18 @@ { "name": "getopt-win32", - "version-string": "0.1", - "port-version": 1, + "version": "1.1.0.20220925", "description": "An implementation of getopt.", - "homepage": "https://github.com/libimobiledevice-win32", - "supports": "windows" + "homepage": "https://www.codeproject.com/Articles/157001/Full-getopt-Port-for-Unicode-and-Multibyte-Microso/", + "license": "LGPL-3.0-only", + "supports": "windows & !mingw", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/getopt/vcpkg.json b/ports/getopt/vcpkg.json index cd31a24416feb4..3c36900f22bc1a 100644 --- a/ports/getopt/vcpkg.json +++ b/ports/getopt/vcpkg.json @@ -1,13 +1,13 @@ { "name": "getopt", - "version-string": "0", - "port-version": 1, + "version": "0", + "port-version": 3, "description": "The getopt and getopt_long functions automate some of the chore involved in parsing typical unix command line options.", "supports": "!uwp", "dependencies": [ { "name": "getopt-win32", - "platform": "windows" + "platform": "windows & !mingw" } ] } diff --git a/ports/gettext-libintl/0003-Fix-win-unicode-paths.patch b/ports/gettext-libintl/0003-Fix-win-unicode-paths.patch new file mode 100644 index 00000000000000..e15e08755fa59b --- /dev/null +++ b/ports/gettext-libintl/0003-Fix-win-unicode-paths.patch @@ -0,0 +1,62 @@ +diff --git a/gettext-runtime/intl/loadmsgcat.c b/gettext-runtime/intl/loadmsgcat.c +index d5a5fe1..5c47f48 100644 +--- a/gettext-runtime/intl/loadmsgcat.c ++++ b/gettext-runtime/intl/loadmsgcat.c +@@ -390,9 +390,56 @@ char *alloca (); + # define munmap(addr, len) __munmap (addr, len) + #elif defined _WIN32 && !defined __CYGWIN__ + /* On native Windows, don't require linking with '-loldnames'. */ +-# define open _open ++# define open(name, flags) _open_utf8_windows_wrapper(name, flags) + # define read _read + # define close _close ++ ++/* Provide wrapper of "open" for Windows that supports UTF-8 filenames. */ ++# ifndef WIN32_LEAN_AND_MEAN ++# define WIN32_LEAN_AND_MEAN ++# endif ++# ifndef WIN32_EXTRA_LEAN ++# define WIN32_EXTRA_LEAN ++# endif ++# ifndef NOMINMAX ++# define NOMINMAX ++# endif ++# include // For: MultiByteToWideChar ++# include ++# include ++ ++int _open_utf8_windows_wrapper( ++ const char *filename, ++ int flags ++) ++{ ++ int wstr_len = -1; ++ wchar_t* pUtf16FileName = NULL; ++ int fh = -1; ++ ++ // on Windows, convert the filename from UTF-8 to UTF-16 ++ wstr_len = MultiByteToWideChar(CP_UTF8, 0, filename, -1, NULL, 0); ++ if (wstr_len <= 0) ++ { ++ // MultiByteToWideChar failed ++ errno = ENOENT; ++ return -1; ++ } ++ pUtf16FileName = malloc(wstr_len * sizeof(wchar_t)); ++ if (MultiByteToWideChar(CP_UTF8, 0, filename, -1, pUtf16FileName, wstr_len) == 0) ++ { ++ // MultiByteToWideChar failed ++ free(pUtf16FileName); ++ errno = ENOENT; ++ return -1; ++ } ++ ++ // and call _wopen ++ fh = _wopen(pUtf16FileName, flags); ++ ++ free(pUtf16FileName); ++ return fh; ++} + #endif + + /* For those losing systems which don't have `alloca' we have to add diff --git a/ports/gettext-libintl/bashify.cmake b/ports/gettext-libintl/bashify.cmake new file mode 100644 index 00000000000000..8b3d87e7b80b50 --- /dev/null +++ b/ports/gettext-libintl/bashify.cmake @@ -0,0 +1,16 @@ +# By using bash builtin expansion, we can avoid +# expensively spawing three sub-processes (bash, echo, sed). +foreach(dir IN LISTS SOURCE_DIRS) + file(READ "${dir}/configure" script) + string(REGEX REPLACE + "(\n[a-zA-Z0-9_]*)='`[\$]ECHO \"[\$]([^\"]*)\" \\| [\$]SED \"[\$]delay_single_quote_subst\"`'" + [[\1='${\2//\\'/\\'\\\\\\'\\'}']] + script "${script}" + ) + string(REPLACE + [[ case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in]] + [[ case "\${!var}" in]] + script "${script}" + ) + file(WRITE "${dir}/configure" "${script}") +endforeach() 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 new file mode 100644 index 00000000000000..d3f30149d1766c --- /dev/null +++ b/ports/gettext-libintl/portfile.cmake @@ -0,0 +1,126 @@ +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 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() + +set(VCPKG_POLICY_ALLOW_RESTRICTED_HEADERS enabled) + +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 d8b22d7fba10052a2045f477f0a5b684d932513bdb3b295c22fbd9dfc2a9d8fccd9aefd90692136c62897149aa2f7d1145ce6618aa1f0be787cb88eba5bc09be +) + +vcpkg_extract_source_archive(SOURCE_PATH + ARCHIVE "${ARCHIVE}" + PATCHES + uwp.patch + 0003-Fix-win-unicode-paths.patch +) + +if(VCPKG_HOST_IS_WINDOWS) + message(STATUS "Modifying 'configure' to use fast bash variable expansion") + set(ENV{CONFIG_SHELL} "/usr/bin/bash") + vcpkg_execute_required_process( + COMMAND "${CMAKE_COMMAND}" + "-DSOURCE_DIRS=gettext-runtime" + -P "${CMAKE_CURRENT_LIST_DIR}/bashify.cmake" + WORKING_DIRECTORY "${SOURCE_PATH}" + LOGNAME "bashify-${TARGET_TRIPLET}" + ) +endif() + +set(OPTIONS + --no-recursion + --enable-relocatable #symbol duplication with glib-init.c? + --with-included-gettext + --without-libintl-prefix + --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 + # 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 + # Don't take from port getopt-win32 + ac_cv_header_getopt_h=no + # Don't take from port pthreads + ac_cv_header_pthread_h=no + # Detected 'no' everywhere except x64-windows-static + ac_cv_func_snprintf=no + # Detected x64 values for gnulib, overriding guesses for cross builds + gl_cv_func_mbrtowc_empty_input=no + # Detected x64 values for gettext, overriding guesses for x86 & x64-uwp + gt_cv_int_divbyzero_sigfpe=no + ) + endif() +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/intl" + DETERMINE_BUILD_TRIPLET + USE_WRAPPERS + OPTIONS + ${OPTIONS} + OPTIONS_RELEASE + "--cache-file=${CURRENT_BUILDTREES_DIR}/config.cache-${TARGET_TRIPLET}-rel.log" + OPTIONS_DEBUG + "--cache-file=${CURRENT_BUILDTREES_DIR}/config.cache-${TARGET_TRIPLET}-dbg.log" + ) + +# This helps with Windows build times, but should work everywhere in vcpkg. +# - 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}*/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() +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +file(COPY "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/intl") +file(COPY "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/gettext-runtime/intl/COPYING.LIB") diff --git a/ports/gettext-libintl/usage b/ports/gettext-libintl/usage new file mode 100644 index 00000000000000..35472de10fecd0 --- /dev/null +++ b/ports/gettext-libintl/usage @@ -0,0 +1,4 @@ +gettext-libintl is compatible with built-in CMake targets: + + find_package(Intl REQUIRED) + target_link_libraries(main PRIVATE Intl::Intl) # since CMake 3.20 diff --git a/ports/gettext-libintl/uwp.patch b/ports/gettext-libintl/uwp.patch new file mode 100644 index 00000000000000..c16a0f5f4309e5 --- /dev/null +++ b/ports/gettext-libintl/uwp.patch @@ -0,0 +1,39 @@ +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/gnulib-lib/localcharset.c b/gettext-runtime/intl/gnulib-lib/localcharset.c +index ec75427..9e063e4 100644 +--- 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 + # include ++# if !defined(WINAPI_FAMILY_PARTITION) ++# define WINAPI_FAMILY_PARTITION(x) (0) ++# endif + #endif + + #if defined __EMX__ +@@ -912,6 +915,8 @@ locale_charset (void) + /* The canonical name cannot be determined. */ + codeset = ""; + ++# elif WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) ++ codeset = ""; + # elif defined WINDOWS_NATIVE + + char buf[2 + 10 + 1]; diff --git a/ports/gettext-libintl/vcpkg-cmake-wrapper.cmake b/ports/gettext-libintl/vcpkg-cmake-wrapper.cmake new file mode 100644 index 00000000000000..10708b64679919 --- /dev/null +++ b/ports/gettext-libintl/vcpkg-cmake-wrapper.cmake @@ -0,0 +1,23 @@ +_find_package(${ARGS}) + +if(Intl_FOUND AND Intl_LIBRARIES) + include(SelectLibraryConfigurations) + find_library(Intl_LIBRARY_DEBUG NAMES intl libintl intl-8 NAMES_PER_DIR PATH_SUFFIXES lib PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug" NO_DEFAULT_PATH) + find_library(Intl_LIBRARY_RELEASE NAMES intl libintl intl-8 NAMES_PER_DIR PATH_SUFFIXES lib PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}" NO_DEFAULT_PATH) + unset(Intl_LIBRARIES) + unset(Intl_LIBRARIES CACHE) + select_library_configurations(Intl) + 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 new file mode 100644 index 00000000000000..3451ce066cae9c --- /dev/null +++ b/ports/gettext-libintl/vcpkg.json @@ -0,0 +1,20 @@ +{ + "name": "gettext-libintl", + "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", + "supports": "!xbox", + "dependencies": [ + { + "name": "libiconv", + "platform": "!linux" + }, + { + "name": "vcpkg-cmake", + "host": true, + "platform": "linux" + } + ] +} diff --git a/ports/gettext/0002-Fix-uwp-build.patch b/ports/gettext/0002-Fix-uwp-build.patch deleted file mode 100644 index ba98e2665d5d4f..00000000000000 --- a/ports/gettext/0002-Fix-uwp-build.patch +++ /dev/null @@ -1,80 +0,0 @@ -diff --git "a/gettext-runtime/intl/langprefs.c" "b/gettext-runtime/intl/langprefs.c" -index aeb1c4e9..2ac531be 100644 ---- "a/gettext-runtime/intl/langprefs.c" -+++ "b/gettext-runtime/intl/langprefs.c" -@@ -33,7 +33,13 @@ extern void _nl_locale_name_canonicalize (char *name); - #endif - - #if defined _WIN32 --# define WIN32_NATIVE -+# if !defined(WINAPI_FAMILY) -+# define WIN32_NATIVE -+# else -+# if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM) -+# define WIN32_NATIVE -+# endif -+# endif - #endif - - #ifdef WIN32_NATIVE -diff --git "a/gettext-runtime/intl/localcharset.c" "b/gettext-runtime/intl/localcharset.c" -index 670b8e6c..035a96bd 100644 ---- "a/gettext-runtime/intl/localcharset.c" -+++ "b/gettext-runtime/intl/localcharset.c" -@@ -36,6 +36,16 @@ - # include - #endif - -+#if defined _WIN32 -+# if !defined(WINAPI_FAMILY) -+# define HAVE_ACP -+# else -+# if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM) -+# define HAVE_ACP -+# endif -+# endif -+#endif -+ - #if defined __EMX__ - /* Assume EMX program runs on OS/2, even if compiled under DOS. */ - # ifndef OS2 -@@ -830,7 +830,7 @@ STATIC - const char * - locale_charset (void) - { -- const char *codeset; -+ const char *codeset = NULL; - - /* This function must be multithread-safe. To achieve this without using - thread-local storage, we use a simple strcpy or memcpy to fill this static -@@ -912,7 +912,7 @@ locale_charset (void) - /* The canonical name cannot be determined. */ - codeset = ""; - --# elif defined WINDOWS_NATIVE -+# elif defined WINDOWS_NATIVE && defined HAVE_ACP - - char buf[2 + 10 + 1]; - static char resultbuf[2 + 10 + 1]; -diff --git "a/gettext-runtime/intl/localename.c" "b/gettext-runtime/intl/localename.c" -index 108dd6f1..ace3aa88 100644 ---- "a/gettext-runtime/intl/localename.c" -+++ "b/gettext-runtime/intl/localename.c" -@@ -75,10 +75,16 @@ - #endif - - #if defined _WIN32 && !defined __CYGWIN__ --# define WINDOWS_NATIVE -+# if !defined(WINAPI_FAMILY) -+# define WINDOWS_NATIVE -+# else -+# if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM) -+# define WINDOWS_NATIVE -+# endif -+# endif - # if !defined IN_LIBINTL - # include "glthread/lock.h" - # endif - #endif - - #if defined WINDOWS_NATIVE || defined __CYGWIN__ /* Native Windows or Cygwin */ diff --git a/ports/gettext/0003-Fix-win-unicode-paths.patch b/ports/gettext/0003-Fix-win-unicode-paths.patch index d8e52719f43e37..e15e08755fa59b 100644 --- a/ports/gettext/0003-Fix-win-unicode-paths.patch +++ b/ports/gettext/0003-Fix-win-unicode-paths.patch @@ -1,12 +1,16 @@ -diff --git "a/gettext-runtime/intl/loadmsgcat.c" "b/gettext-runtime/intl/loadmsgcat.c" -index 63351523..c078de3f 100644 +diff --git a/gettext-runtime/intl/loadmsgcat.c b/gettext-runtime/intl/loadmsgcat.c +index d5a5fe1..5c47f48 100644 --- a/gettext-runtime/intl/loadmsgcat.c +++ b/gettext-runtime/intl/loadmsgcat.c -@@ -388,6 +388,55 @@ char *alloca (); +@@ -390,9 +390,56 @@ char *alloca (); # define munmap(addr, len) __munmap (addr, len) - #endif - -+#ifdef _WIN32 + #elif defined _WIN32 && !defined __CYGWIN__ + /* On native Windows, don't require linking with '-loldnames'. */ +-# define open _open ++# define open(name, flags) _open_utf8_windows_wrapper(name, flags) + # define read _read + # define close _close ++ +/* Provide wrapper of "open" for Windows that supports UTF-8 filenames. */ +# ifndef WIN32_LEAN_AND_MEAN +# define WIN32_LEAN_AND_MEAN @@ -14,8 +18,9 @@ index 63351523..c078de3f 100644 +# ifndef WIN32_EXTRA_LEAN +# define WIN32_EXTRA_LEAN +# endif -+# undef NOMINMAX -+# define NOMINMAX ++# ifndef NOMINMAX ++# define NOMINMAX ++# endif +# include // For: MultiByteToWideChar +# include +# include @@ -52,9 +57,6 @@ index 63351523..c078de3f 100644 + free(pUtf16FileName); + return fh; +} -+# define open(name, flags) _open_utf8_windows_wrapper(name, flags) -+#endif // #ifdef _WIN32 -+ + #endif + /* For those losing systems which don't have `alloca' we have to add - some additional code emulating it. */ - #ifdef HAVE_ALLOCA diff --git a/ports/gettext/Makefile b/ports/gettext/Makefile deleted file mode 100644 index b2b36d2ab5658c..00000000000000 --- a/ports/gettext/Makefile +++ /dev/null @@ -1,70 +0,0 @@ -all: build-gettext-runtime-intl build-gettext-runtime-po build-gettext-runtime-src -all: build-gettext-tools build-gettext-tools-gnulib build-gettext-tools-its build-gettext-tools-m4 build-gettext-tools-misc build-gettext-tools-po build-gettext-tools-projects build-gettext-tools-styles -all: build-libtextstyle - -install: install-gettext-runtime-intl install-gettext-runtime-po install-gettext-runtime-src -install: install-gettext-tools install-gettext-tools-gnulib install-gettext-tools-its install-gettext-tools-m4 install-gettext-tools-misc install-gettext-tools-po install-gettext-tools-projects install-gettext-tools-styles -install: install-libtextstyle - -build-intl: - $(MAKE) -C intl all -install-intl: - $(MAKE) -C intl install - -build-gettext-runtime-gnulib: build-gettext-runtime-intl - $(MAKE) -C gettext-runtime/gnulib-lib all -build-gettext-runtime-intl: - $(MAKE) -C gettext-runtime/intl all -build-gettext-runtime-po: - $(MAKE) -C gettext-runtime/po all -build-gettext-runtime-src: build-gettext-runtime-intl build-gettext-runtime-gnulib - $(MAKE) -C gettext-runtime/src all -build-gettext-tools: build-gettext-runtime-intl build-libtextstyle build-gettext-tools-gnulib build-gettext-tools-intl build-gettext-tools-libgrep build-gnulib-local - $(MAKE) -C gettext-tools/src all -build-gettext-tools-gnulib: build-gettext-tools-intl - $(MAKE) -C gettext-tools/gnulib-lib all -build-gettext-tools-libgrep: build-gettext-tools-gnulib - $(MAKE) -C gettext-tools/libgrep all -build-gettext-tools-intl: - $(MAKE) -C gettext-tools/intl all -build-gettext-tools-its: - $(MAKE) -C gettext-tools/its all -build-gettext-tools-m4: - $(MAKE) -C gettext-tools/m4 all -build-gettext-tools-misc: - $(MAKE) -C gettext-tools/misc all -build-gettext-tools-po: - $(MAKE) -C gettext-tools/po all -build-gettext-tools-projects: - $(MAKE) -C gettext-tools/projects all -build-gettext-tools-styles: - $(MAKE) -C gettext-tools/styles all -build-gnulib-local: - $(MAKE) -C gnulib-local all -build-libtextstyle: - $(MAKE) -C libtextstyle/lib all - -install-gettext-runtime-intl: - $(MAKE) -C gettext-runtime/intl install -install-gettext-runtime-po: - $(MAKE) -C gettext-runtime/po install -install-gettext-runtime-src: - $(MAKE) -C gettext-runtime/src install -install-gettext-tools: - $(MAKE) -C gettext-tools/src install -install-gettext-tools-gnulib: - $(MAKE) -C gettext-tools/gnulib-lib install -install-gettext-tools-its: - $(MAKE) -C gettext-tools/its install -install-gettext-tools-m4: - $(MAKE) -C gettext-tools/m4 install -install-gettext-tools-misc: - $(MAKE) -C gettext-tools/misc install -install-gettext-tools-po: - $(MAKE) -C gettext-tools/po install -install-gettext-tools-projects: - $(MAKE) -C gettext-tools/projects install -install-gettext-tools-styles: - $(MAKE) -C gettext-tools/styles install -install-libtextstyle: - $(MAKE) -C libtextstyle/lib install 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/bashify.cmake b/ports/gettext/bashify.cmake new file mode 100644 index 00000000000000..8b3d87e7b80b50 --- /dev/null +++ b/ports/gettext/bashify.cmake @@ -0,0 +1,16 @@ +# By using bash builtin expansion, we can avoid +# expensively spawing three sub-processes (bash, echo, sed). +foreach(dir IN LISTS SOURCE_DIRS) + file(READ "${dir}/configure" script) + string(REGEX REPLACE + "(\n[a-zA-Z0-9_]*)='`[\$]ECHO \"[\$]([^\"]*)\" \\| [\$]SED \"[\$]delay_single_quote_subst\"`'" + [[\1='${\2//\\'/\\'\\\\\\'\\'}']] + script "${script}" + ) + string(REPLACE + [[ case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in]] + [[ case "\${!var}" in]] + script "${script}" + ) + file(WRITE "${dir}/configure" "${script}") +endforeach() 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/gettext-tools_woe32dll_gettextsrc-exports.c.patch b/ports/gettext/gettext-tools_woe32dll_gettextsrc-exports.c.patch deleted file mode 100644 index 1eedbecd2b290f..00000000000000 --- a/ports/gettext/gettext-tools_woe32dll_gettextsrc-exports.c.patch +++ /dev/null @@ -1,14 +0,0 @@ -X-Git-Url: https://git.savannah.gnu.org/gitweb/?p=gettext.git;a=blobdiff_plain;f=gettext-tools%2Fwoe32dll%2Fgettextsrc-exports.c;h=6d760895961db57e013552b6b3f248bfa8eb17c2;hp=4477ae8d4b2e887592d4019432b91ea31b84ba59;hb=7cf68dffb2adb76375bfb0781e277510523a1f3e;hpb=3564f5f885544514bd2e345c36b74e5d91cad3e8 - -diff --git a/gettext-tools/woe32dll/gettextsrc-exports.c b/gettext-tools/woe32dll/gettextsrc-exports.c -index 4477ae8..6d76089 100644 ---- a/gettext-tools/woe32dll/gettextsrc-exports.c -+++ b/gettext-tools/woe32dll/gettextsrc-exports.c -@@ -50,6 +50,7 @@ VARIABLE(formatstring_python) - VARIABLE(formatstring_python_brace) - VARIABLE(formatstring_qt) - VARIABLE(formatstring_qt_plural) -+VARIABLE(formatstring_ruby) - VARIABLE(formatstring_scheme) - VARIABLE(formatstring_sh) - VARIABLE(formatstring_smalltalk) diff --git a/ports/gettext/install-autopoint.cmake b/ports/gettext/install-autopoint.cmake index 45f806b4a7b712..59e383b1c3907e 100644 --- a/ports/gettext/install-autopoint.cmake +++ b/ports/gettext/install-autopoint.cmake @@ -1,8 +1,7 @@ function(install_autopoint) # variables for configuring autopoint.in set(PACKAGE "gettext-tools") - set(VERSION "${GETTEXT_VERSION}") - set(ARCHIVE_VERSION "${GETTEXT_VERSION}") + set(ARCHIVE_VERSION "${VERSION}") set(ARCHIVE_FORMAT "dirgz") set(bindir [[${prefix}/tools/gettext/bin]]) set(datadir [[${datarootdir}]]) @@ -27,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/parallel-gettext-tools.patch b/ports/gettext/parallel-gettext-tools.patch new file mode 100644 index 00000000000000..65199bc1281da8 --- /dev/null +++ b/ports/gettext/parallel-gettext-tools.patch @@ -0,0 +1,25 @@ +diff --git a/gettext-tools/src/Makefile.in b/gettext-tools/src/Makefile.in +index 5d60b99..d86232d 100644 +--- a/gettext-tools/src/Makefile.in ++++ b/gettext-tools/src/Makefile.in +@@ -3625,7 +3625,10 @@ USEJAVA_no = 0 + + # Version information according to Woe32 conventions. + @WOE32_TRUE@WOE32_LDADD = gettext.res +-all: $(BUILT_SOURCES) ++@USE_INSTALLED_LIBTEXTSTYLE_FALSE@all: textstyle.h ++all: ++ $(MAKE) $(AM_MAKEFLAGS) all-parallel ++all-parallel: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) all-am + + .SUFFIXES: +@@ -5045,7 +5048,7 @@ uninstall-tcl: + # namely those which build textstyle.h, po-gram-gen.c, cldr-plural.c. + # See . + # So, turn off parallel execution in this Makefile. +-.NOTPARALLEL: ++# .NOTPARALLEL: + + # Tell versions [3.59,3.63) of GNU make to not export all variables. + # Otherwise a system limit (for SysV at least) may be exceeded. diff --git a/ports/gettext/portfile.cmake b/ports/gettext/portfile.cmake index 73e68ca1d7a7fa..4ea1ffadeffb83 100644 --- a/ports/gettext/portfile.cmake +++ b/ports/gettext/portfile.cmake @@ -1,163 +1,210 @@ -if(VCPKG_TARGET_IS_LINUX AND NOT EXISTS "/usr/include/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." - ) -endif() - -set(VCPKG_POLICY_ALLOW_RESTRICTED_HEADERS enabled) - -#Based on https://github.com/winlibs/gettext - -set(GETTEXT_VERSION 0.21) +# This port is just to provide gettext tools and build data, not libs. +# The "core" feature depends on port gettext-libintl which provides libintl. +# The "core" feature also installs enough for running autoreconf. +# The actual tools are only enabled by opt-in features. +# These features are typically used as a host dependency. +# For fast builds in particular on Windows, the following choices are made: +# - only release build type +# - namespacing disabled (windows only) +# - configuration cache +# - using preinstalled gettext-libintl +# - skipping some subdirs +set(VCPKG_BUILD_TYPE release) +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) vcpkg_download_distfile(ARCHIVE - URLS "https://ftp.gnu.org/pub/gnu/gettext/gettext-${GETTEXT_VERSION}.tar.gz" "https://www.mirrorservice.org/sites/ftp.gnu.org/gnu/gettext/gettext-${GETTEXT_VERSION}.tar.gz" - FILENAME "gettext-${GETTEXT_VERSION}.tar.gz" - SHA512 bbe590c5dd3580c75bf30ff768da99a88eb8d466ec1ac9eea20be4cab4357ecf72448e6b81b47425e39d50fa6320ba426632914d7898dfebb4f159abc39c31d1 + 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 d8b22d7fba10052a2045f477f0a5b684d932513bdb3b295c22fbd9dfc2a9d8fccd9aefd90692136c62897149aa2f7d1145ce6618aa1f0be787cb88eba5bc09be ) -set(PATCHES "") -if(VCPKG_TARGET_IS_UWP) - set(PATCHES uwp_remove_localcharset.patch) -endif() -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH + +vcpkg_extract_source_archive(SOURCE_PATH ARCHIVE "${ARCHIVE}" - REF "${GETTEXT_VERSION}" PATCHES - 0002-Fix-uwp-build.patch - 0003-Fix-win-unicode-paths.patch + assume-modern-darwin.patch + uwp.patch rel_path.patch - android.patch - gettext-tools_woe32dll_gettextsrc-exports.c.patch - ${PATCHES} + subdirs.patch + parallel-gettext-tools.patch + config-step-order.patch ) -vcpkg_find_acquire_program(BISON) -get_filename_component(BISON_PATH "${BISON}" DIRECTORY) -vcpkg_add_to_path("${BISON_PATH}") -set(OPTIONS - --enable-relocatable #symbol duplication with glib-init.c? - --enable-c++ - --disable-acl - --disable-csharp - --disable-curses - --disable-java - --disable-openmp -) -if(VCPKG_TARGET_IS_WINDOWS) - list(APPEND OPTIONS - # Avoid unnecessary test. +set(subdirs "") +if("runtime-tools" IN_LIST FEATURES) + string(APPEND subdirs " gettext-runtime") +endif() +if("tools" IN_LIST FEATURES) + string(APPEND subdirs " libtextstyle gettext-tools") +endif() +if(subdirs) + set(ENV{VCPKG_GETTEXT_SUBDIRS} "${subdirs}") + + vcpkg_find_acquire_program(BISON) + 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) + message(STATUS "Modifying build system for less forks") + set(ENV{CONFIG_SHELL} "/usr/bin/bash") + vcpkg_execute_required_process( + COMMAND "${CMAKE_COMMAND}" + "-DSOURCE_DIRS=.;gettext-runtime;libtextstyle;gettext-tools" + -P "${CMAKE_CURRENT_LIST_DIR}/bashify.cmake" + WORKING_DIRECTORY "${SOURCE_PATH}" + LOGNAME "bashify-${TARGET_TRIPLET}" + ) + endif() + + set(OPTIONS + --enable-relocatable #symbol duplication with glib-init.c? + --enable-c++ + --disable-acl + --disable-csharp + --disable-curses + --disable-java + --disable-openmp + --disable-dependency-tracking + # Avoiding system dependencies and unnecessary tests --with-included-glib - # 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 - # The following are required for a full gettext built (libintl and tools). - gl_cv_func_printf_directive_n=no # segfaults otherwise with popup window - ac_cv_func_memset=yes # not detected in release builds - ac_cv_header_pthread_h=no - ac_cv_header_dirent_h=no + --with-included-libxml # libtextstyle won't use external libxml + --with-included-libunistring + --with-installed-libtextstyle=no + --without-cvs + --without-emacs + --without-git + --without-libcurses-prefix + --without-libncurses-prefix + --without-libtermcap-prefix + --without-libxcurses-prefix + "INTLBISON=${BISON_NAME}" + "TOOLS_BISON=${BISON_NAME}" ) -endif() -# These functions scope any changes to VCPKG_BUILD_TYPE -function(build_libintl_and_tools) - cmake_parse_arguments(arg "" "BUILD_TYPE" "" ${ARGN}) - if(DEFINED arg_BUILD_TYPE) - set(VCPKG_BUILD_TYPE "${arg_BUILD_TYPE}") + 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 + --disable-namespacing + # Avoid unnecessary tests. + am_cv_func_iconv_works=yes + "--with-libiconv-prefix=${CURRENT_INSTALLED_DIR}" + "--with-libintl-prefix=${CURRENT_INSTALLED_DIR}" + # 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 + # The following are required for a full gettext built (libintl and tools). + gl_cv_func_printf_directive_n=no # segfaults otherwise with popup window + ac_cv_func_memset=yes # not detected in release builds + ) + if(NOT VCPKG_TARGET_IS_MINGW) + list(APPEND OPTIONS + # Don't take from port dirent + ac_cv_header_dirent_h=no + # Don't take from port getopt-win32 + ac_cv_header_getopt_h=no + # Don't take from port pthreads + ac_cv_header_pthread_h=no + ac_cv_header_sched_h=no + ac_cv_header_semaphore_h=no + # Detected 'no' everywhere except x64-windows-static + ac_cv_func_snprintf=no + # Detected x64 values for gnulib, overriding guesses for cross builds + gl_cv_func_fopen_mode_x=yes + gl_cv_func_frexpl_works=yes + gl_cv_func_getcwd_null=yes + gl_cv_func_mbrtowc_empty_input=no + gl_cv_func_mbsrtowcs_works=yes + gl_cv_func_printf_flag_zero=yes + gl_cv_func_printf_infinite_long_double=yes + gl_cv_func_printf_precision=yes + gl_cv_func_snprintf_truncation_c99=yes + # Detected x64 values for gettext, overriding guesses for x86 & x64-uwp + gt_cv_int_divbyzero_sigfpe=no + ) + endif() endif() + + file(REMOVE "${CURRENT_BUILDTREES_DIR}/config.cache-${TARGET_TRIPLET}-rel.log") vcpkg_configure_make(SOURCE_PATH "${SOURCE_PATH}" DETERMINE_BUILD_TRIPLET USE_WRAPPERS - ADD_BIN_TO_PATH # So configure can check for working iconv ADDITIONAL_MSYS_PACKAGES gzip OPTIONS ${OPTIONS} + OPTIONS_RELEASE + "--cache-file=${CURRENT_BUILDTREES_DIR}/config.cache-${TARGET_TRIPLET}-rel.log" ) - vcpkg_install_make(MAKEFILE "${CMAKE_CURRENT_LIST_DIR}/Makefile") -endfunction() -function(build_libintl_only) - cmake_parse_arguments(arg "" "BUILD_TYPE" "" ${ARGN}) - if(DEFINED arg_BUILD_TYPE) - set(VCPKG_BUILD_TYPE "${arg_BUILD_TYPE}") - endif() - vcpkg_configure_make(SOURCE_PATH "${SOURCE_PATH}/gettext-runtime" - DETERMINE_BUILD_TRIPLET - USE_WRAPPERS - ADD_BIN_TO_PATH # So configure can check for working iconv - OPTIONS - ${OPTIONS} - ) - vcpkg_install_make( - MAKEFILE "${CMAKE_CURRENT_LIST_DIR}/Makefile" - BUILD_TARGET build-intl - INSTALL_TARGET install-intl - ) -endfunction() + # This helps with Windows build times, but should work everywhere in vcpkg. + # - 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}*/*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}") + file(WRITE "${file}" "${rules}") + endforeach() -if("tools" IN_LIST FEATURES) - # Minimization of gettext tools build time by: - # - building tools only for release configuration - # - custom top-level Makefile - # - configuration cache - list(APPEND OPTIONS "--cache-file=../config.cache-${TARGET_TRIPLET}") - file(REMOVE_RECURSE "${CURRENT_BUILDTREES_DIR}/config.cache-${TARGET_TRIPLET}") - build_libintl_and_tools(BUILD_TYPE "release") + vcpkg_install_make() + vcpkg_copy_pdbs() vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin") - file(GLOB tool_libs - LIST_DIRECTORIES false - "${CURRENT_PACKAGES_DIR}/bin/*" - "${CURRENT_PACKAGES_DIR}/lib/*" + file(GLOB unix_runtime LIST_DIRECTORIES false + "${CURRENT_PACKAGES_DIR}/lib/libgettext*${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}*" + "${CURRENT_PACKAGES_DIR}/lib/libtextstyle*${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}*" ) - list(FILTER tool_libs EXCLUDE REGEX "intl[^/\\\\]*$") - file(REMOVE ${tool_libs}) - file(GLOB tool_includes - LIST_DIRECTORIES true - "${CURRENT_PACKAGES_DIR}/include/*" - ) - list(FILTER tool_includes EXCLUDE REGEX "intl[^/\\\\]*$") - file(REMOVE_RECURSE ${tool_includes}) - if(VCPKG_TARGET_IS_LINUX) - set(VCPKG_POLICY_EMPTY_PACKAGE enabled) - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") - elseif(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}.release") - file(RENAME "${CURRENT_PACKAGES_DIR}" "${CURRENT_PACKAGES_DIR}.release") - file(READ "${CURRENT_BUILDTREES_DIR}/config.cache-${TARGET_TRIPLET}" config_cache) - string(REGEX REPLACE "\nac_cv_env[^\n]*" "" config_cache "${config_cache}") # Eliminate build type flags - file(WRITE "${CURRENT_BUILDTREES_DIR}/config.cache-${TARGET_TRIPLET}" "${config_cache}") - build_libintl_only(BUILD_TYPE "debug") - file(RENAME "${CURRENT_PACKAGES_DIR}/debug" "${CURRENT_PACKAGES_DIR}.release/debug") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}") - file(RENAME "${CURRENT_PACKAGES_DIR}.release" "${CURRENT_PACKAGES_DIR}") + if(unix_runtime) + file(INSTALL ${unix_runtime} DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin") endif() + file(GLOB link_libs LIST_DIRECTORIES false "${CURRENT_PACKAGES_DIR}/lib/*" "${CURRENT_PACKAGES_DIR}/bin/*.dll") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include" ${link_libs}) +endif() + +if("tools" IN_LIST FEATURES) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/gettext/user-email" "${CURRENT_INSTALLED_DIR}" "`dirname $0`/../.." IGNORE_UNCHANGED) else() - if(VCPKG_TARGET_IS_LINUX) - set(VCPKG_POLICY_EMPTY_PACKAGE enabled) - else() - list(APPEND OPTIONS "--config-cache") - build_libintl_only() - endif() - # A fast installation of the autopoint tool and data, needed for autotools + # A fast installation of the autopoint tool and data, needed for autoconfig include("${CMAKE_CURRENT_LIST_DIR}/install-autopoint.cmake") install_autopoint() endif() -# Handle copyright -configure_file("${SOURCE_PATH}/COPYING" "${CURRENT_PACKAGES_DIR}/share/gettext/copyright" COPYONLY) - -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") - -vcpkg_copy_pdbs() +# These files can be needed to run `autoreconf`. +# 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" + "${SOURCE_PATH}/gettext-runtime/m4/nls.m4" + "${SOURCE_PATH}/gettext-runtime/m4/po.m4" + "${SOURCE_PATH}/gettext-runtime/m4/progtest.m4" + "${SOURCE_PATH}/gettext-runtime/gnulib-m4/host-cpu-c-abi.m4" + "${SOURCE_PATH}/gettext-runtime/gnulib-m4/lib-ld.m4" + "${SOURCE_PATH}/gettext-runtime/gnulib-m4/lib-link.m4" + "${SOURCE_PATH}/gettext-runtime/gnulib-m4/lib-prefix.m4" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/gettext/aclocal" +) -if(NOT VCPKG_TARGET_IS_LINUX) - file(COPY "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/intl") -endif() -if("tools" IN_LIST FEATURES AND NOT VCPKG_CROSSCOMPILING) +if(NOT VCPKG_CROSSCOMPILING) file(COPY "${CMAKE_CURRENT_LIST_DIR}/vcpkg-port-config.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/gettext") endif() -if(EXISTS "${CURRENT_PACKAGES_DIR}/lib/gettext/user-email") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/gettext/user-email" "${CURRENT_INSTALLED_DIR}" "`dirname $0`/../..") -endif() +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/gettext-runtime/COPYING" "${SOURCE_PATH}/COPYING") diff --git a/ports/gettext/subdirs.patch b/ports/gettext/subdirs.patch new file mode 100644 index 00000000000000..9931fed01602bd --- /dev/null +++ b/ports/gettext/subdirs.patch @@ -0,0 +1,127 @@ +diff --git a/configure b/configure +index 904bdf5..e751ffc 100755 +--- a/configure ++++ b/configure +@@ -2797,7 +2797,7 @@ am__tar='${AMTAR} chf - --format=ustar --owner=root --group=root "$$tardir"' + + + +-subdirs="$subdirs gettext-runtime libtextstyle gettext-tools" ++subdirs="$subdirs gettext-runtime $(echo ${VCPKG_GETTEXT_SUBDIRS} | sed 's/gettext-runtime//')" + + + +diff --git a/Makefile.in b/Makefile.in +index a287d38..075ddc5 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -311,7 +311,7 @@ top_builddir = @top_builddir@ + top_srcdir = @top_srcdir@ + AUTOMAKE_OPTIONS = 1.5 gnu no-dependencies + ACLOCAL_AMFLAGS = -I m4 +-SUBDIRS = gnulib-local gettext-runtime libtextstyle gettext-tools ++SUBDIRS = $(VCPKG_GETTEXT_SUBDIRS) + changelog_etc = \ + gettext-runtime/ChangeLog.0 \ + gettext-runtime/doc/ChangeLog.0 \ +diff --git a/gettext-runtime/Makefile.in b/gettext-runtime/Makefile.in +index 8b8b5bc..bb75447 100644 +--- a/gettext-runtime/Makefile.in ++++ b/gettext-runtime/Makefile.in +@@ -1487,7 +1487,7 @@ ACLOCAL_AMFLAGS = -I m4 -I ../m4 -I gnulib-m4 + # The list of subdirectories depends on whether --disable-libasprintf was + # specified. + @ENABLE_LIBASPRINTF_TRUE@SUBDIR_libasprintf = libasprintf +-SUBDIRS = doc intl intl-java intl-csharp gnulib-lib $(SUBDIR_libasprintf) src po man m4 tests ++SUBDIRS = $(VCPKG_INTL) gnulib-lib src po + + # Allow users to use "gnulib-tool --update". + +diff --git a/gettext-runtime/configure b/gettext-runtime/configure +index a7594ed..296f3b7 100644 +--- a/gettext-runtime/configure ++++ b/gettext-runtime/configure +@@ -26906,7 +26906,7 @@ printf "%s\n" "$ac_res" >&6; } + + 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" != pristine-gettext-runtime \ + && test "$PACKAGE" != gettext-tools \ + && test "$PACKAGE" != libintl; }; then + gt_use_preinstalled_gnugettext=yes +diff --git a/gettext-runtime/libasprintf/configure b/gettext-runtime/libasprintf/configure +--- a/gettext-runtime/libasprintf/configure ++++ b/gettext-runtime/libasprintf/configure +index ff1c212..0c0dbcd 100644 +@@ -11,6 +11,7 @@ + # + # This configure script is free software; the Free Software Foundation + # gives unlimited permission to copy, distribute and modify it. ++exit 0; + ## -------------------- ## + ## M4sh Initialization. ## + ## -------------------- ## +diff --git a/gettext-tools/Makefile.in b/gettext-tools/Makefile.in +index 59e81a8..107856d 100644 +--- a/gettext-tools/Makefile.in ++++ b/gettext-tools/Makefile.in +@@ -2872,7 +2872,7 @@ top_builddir = @top_builddir@ + 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 = 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". + +diff --git a/gettext-tools/configure b/gettext-tools/configure +index 056a830..9abca7e 100644 +--- a/gettext-tools/configure ++++ b/gettext-tools/configure +@@ -29661,7 +29661,7 @@ printf "%s\n" "$ac_res" >&6; } + 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 \ ++ && test "$PACKAGE" != pristine-gettext-tools \ + && test "$PACKAGE" != libintl; }; then + gt_use_preinstalled_gnugettext=yes + else +diff --git a/gettext-tools/examples/configure b/gettext-tools/examples/configure +--- a/gettext-tools/examples/configure ++++ b/gettext-tools/examples/configure +index ff1c212..0c0dbcd 100644 +@@ -11,6 +11,7 @@ + # + # This configure script is free software; the Free Software Foundation + # gives unlimited permission to copy, distribute and modify it. ++exit 0; + ## -------------------- ## + ## 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 ++++ b/libtextstyle/Makefile.in +@@ -1667,7 +1667,7 @@ AUTOMAKE_OPTIONS = 1.13 gnu no-dependencies + ACLOCAL_AMFLAGS = -I m4 -I gnulib-m4 + + # The list of subdirectories containing Makefiles. +-SUBDIRS = lib tests adhoc-tests doc ++SUBDIRS = lib + + # Allow users to use "gnulib-tool --update". + diff --git a/ports/gettext/uwp.patch b/ports/gettext/uwp.patch new file mode 100644 index 00000000000000..6fb61e5677df9d --- /dev/null +++ b/ports/gettext/uwp.patch @@ -0,0 +1,56 @@ +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/gnulib-lib/localcharset.c b/gettext-runtime/gnulib-lib/localcharset.c +index ec75427..9e063e4 100644 +--- 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 + # include ++# if !defined(WINAPI_FAMILY_PARTITION) ++# define WINAPI_FAMILY_PARTITION(x) (0) ++# endif + #endif + + #if defined __EMX__ +@@ -912,6 +915,8 @@ locale_charset (void) + /* The canonical name cannot be determined. */ + codeset = ""; + ++# elif WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) ++ codeset = ""; + # elif defined WINDOWS_NATIVE + + char buf[2 + 10 + 1]; +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/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__ + # define WINDOWS_NATIVE ++# if defined(WINAPI_FAMILY_PARTITION) ++# if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) ++# undef WIN32_NATIVE ++# endif ++# endif + # include "glthread/lock.h" + #endif + diff --git a/ports/gettext/uwp_remove_localcharset.patch b/ports/gettext/uwp_remove_localcharset.patch deleted file mode 100644 index 285f81cf19eafa..00000000000000 --- a/ports/gettext/uwp_remove_localcharset.patch +++ /dev/null @@ -1,79 +0,0 @@ -diff --git a/gettext-runtime/intl/Makefile.in b/gettext-runtime/intl/Makefile.in -index 7999d3456..b3ef40340 100644 ---- a/gettext-runtime/intl/Makefile.in -+++ b/gettext-runtime/intl/Makefile.in -@@ -252,7 +252,7 @@ am__libgnuintl_la_SOURCES_DIST = bindtextdom.c dcgettext.c dgettext.c \ - gettext.c finddomain.c hash-string.c loadmsgcat.c \ - localealias.c textdomain.c l10nflist.c explodename.c \ - dcigettext.c dcngettext.c dngettext.c ngettext.c plural.y \ -- plural-exp.c localcharset.c threadlib.c lock.c relocatable.c \ -+ plural-exp.c threadlib.c lock.c relocatable.c \ - langprefs.c localename.c localename-table.c log.c printf.c \ - setlocale.c setlocale-lock.c setlocale_null.c version.c \ - xsize.c osdep.c intl-compat.c windows-mutex.c windows-rwlock.c \ -@@ -264,7 +264,7 @@ am__objects_2 = bindtextdom.lo dcgettext.lo dgettext.lo gettext.lo \ - finddomain.lo hash-string.lo loadmsgcat.lo localealias.lo \ - textdomain.lo l10nflist.lo explodename.lo dcigettext.lo \ - dcngettext.lo dngettext.lo ngettext.lo plural.lo plural-exp.lo \ -- localcharset.lo threadlib.lo lock.lo relocatable.lo \ -+ threadlib.lo lock.lo relocatable.lo \ - langprefs.lo localename.lo localename-table.lo log.lo \ - printf.lo setlocale.lo setlocale-lock.lo setlocale_null.lo \ - version.lo xsize.lo osdep.lo intl-compat.lo $(am__objects_1) -@@ -282,7 +282,7 @@ am__libintl_la_SOURCES_DIST = bindtextdom.c dcgettext.c dgettext.c \ - gettext.c finddomain.c hash-string.c loadmsgcat.c \ - localealias.c textdomain.c l10nflist.c explodename.c \ - dcigettext.c dcngettext.c dngettext.c ngettext.c plural.y \ -- plural-exp.c localcharset.c threadlib.c lock.c relocatable.c \ -+ plural-exp.c threadlib.c lock.c relocatable.c \ - langprefs.c localename.c localename-table.c log.c printf.c \ - setlocale.c setlocale-lock.c setlocale_null.c version.c \ - xsize.c osdep.c intl-compat.c windows-mutex.c windows-rwlock.c \ -@@ -1387,7 +1387,7 @@ AUTOMAKE_OPTIONS = 1.10 gnu no-dependencies - - # Miscellaneous files. - EXTRA_DIST = gmo.h gettextP.h hash-string.h loadinfo.h plural-exp.h \ -- eval-plural.h localcharset.h lock.h windows-mutex.h \ -+ eval-plural.h lock.h windows-mutex.h \ - windows-rwlock.h windows-recmutex.h windows-once.h \ - windows-initguard.h relocatable.h arg-nonnull.h attribute.h \ - filename.h flexmember.h localename-table.in.h setlocale_null.h \ -@@ -1543,7 +1543,7 @@ LIBINTLSOURCES = bindtextdom.c dcgettext.c dgettext.c gettext.c \ - finddomain.c hash-string.c loadmsgcat.c localealias.c \ - textdomain.c l10nflist.c explodename.c dcigettext.c \ - dcngettext.c dngettext.c ngettext.c plural.y plural-exp.c \ -- localcharset.c threadlib.c lock.c relocatable.c langprefs.c \ -+ threadlib.c lock.c relocatable.c langprefs.c \ - localename.c localename-table.c log.c printf.c setlocale.c \ - setlocale-lock.c setlocale_null.c version.c xsize.c osdep.c \ - intl-compat.c $(am__append_2) -@@ -2016,8 +2016,6 @@ plural.lo: $(srcdir)/plural.c - $(AM_V_CC)$(LTCOMPILE) -c -o $@ $(srcdir)/plural.c - plural-exp.lo: $(srcdir)/plural-exp.c - $(AM_V_CC)$(LTCOMPILE) -c -o $@ $(srcdir)/plural-exp.c --localcharset.lo: $(srcdir)/localcharset.c -- $(AM_V_CC)$(LTCOMPILE) -c -o $@ $(srcdir)/localcharset.c - threadlib.lo: $(srcdir)/threadlib.c - $(AM_V_CC)$(LTCOMPILE) -c -o $@ $(srcdir)/threadlib.c - lock.lo: $(srcdir)/lock.c -@@ -2074,7 +2072,6 @@ dngettext.lo: ../config.h $(srcdir)/gettextP.h libgnuintl.h $(srcdir)/gmo - ngettext.lo: ../config.h $(srcdir)/gettextP.h libgnuintl.h $(srcdir)/gmo.h $(srcdir)/loadinfo.h $(srcdir)/lock.h $(srcdir)/windows-mutex.h $(srcdir)/windows-rwlock.h $(srcdir)/windows-recmutex.h $(srcdir)/windows-once.h $(srcdir)/windows-initguard.h - plural.lo: ../config.h $(srcdir)/plural-exp.h $(PLURAL_DEPS) - plural-exp.lo: ../config.h $(srcdir)/plural-exp.h --localcharset.lo: ../config.h $(srcdir)/localcharset.h - threadlib.lo: ../config.h - lock.lo: ../config.h $(srcdir)/lock.h $(srcdir)/windows-mutex.h $(srcdir)/windows-rwlock.h $(srcdir)/windows-recmutex.h $(srcdir)/windows-once.h $(srcdir)/windows-initguard.h - relocatable.lo: ../config.h $(srcdir)/relocatable.h -diff --git a/gettext-runtime/intl/localcharset.c b/gettext-runtime/intl/localcharset.c -index 1a1627888..3e6582f17 100644 ---- a/gettext-runtime/intl/localcharset.c -+++ b/gettext-runtime/intl/localcharset.c -@@ -1021,7 +1021,7 @@ locale_charset (void) - - # else - --# error "Add code for other platforms here." -+//# error "Add code for other platforms here." - - # endif - diff --git a/ports/gettext/vcpkg-cmake-wrapper.cmake b/ports/gettext/vcpkg-cmake-wrapper.cmake deleted file mode 100644 index 03bcb0569defbc..00000000000000 --- a/ports/gettext/vcpkg-cmake-wrapper.cmake +++ /dev/null @@ -1,14 +0,0 @@ -_find_package(${ARGS}) - -if(Intl_FOUND AND Intl_LIBRARIES) - include(SelectLibraryConfigurations) - find_library(Intl_LIBRARY_DEBUG NAMES intl libintl intl-8 NAMES_PER_DIR PATH_SUFFIXES lib PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug" NO_DEFAULT_PATH) - find_library(Intl_LIBRARY_RELEASE NAMES intl libintl intl-8 NAMES_PER_DIR PATH_SUFFIXES lib PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}" NO_DEFAULT_PATH) - unset(Intl_LIBRARIES) - unset(Intl_LIBRARIES CACHE) - select_library_configurations(Intl) - find_package(Iconv) # Since CMake 3.11 - if(Iconv_FOUND AND NOT Iconv_IS_BUILT_IN) - list(APPEND Intl_LIBRARIES ${Iconv_LIBRARIES}) - endif() -endif() diff --git a/ports/gettext/vcpkg.json b/ports/gettext/vcpkg.json index 94af3e586034ae..91e2921350d01e 100644 --- a/ports/gettext/vcpkg.json +++ b/ports/gettext/vcpkg.json @@ -1,15 +1,31 @@ { "name": "gettext", - "version": "0.21", - "port-version": 7, - "description": "GNU gettext provides libintl and a set of tools to help produce multi-lingual messages.", + "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", + "supports": "!xbox", "dependencies": [ - "libiconv" + "gettext-libintl" ], "features": { + "nls": { + "description": "Enable native language support" + }, + "runtime-tools": { + "description": "Build runtime tools for internationalization of scripts", + "supports": "!uwp", + "dependencies": [ + "libiconv" + ] + }, "tools": { - "description": "Build gettext tools" + "description": "Build gettext tools", + "supports": "!uwp", + "dependencies": [ + "libiconv" + ] } } } diff --git a/ports/gettimeofday/portfile.cmake b/ports/gettimeofday/portfile.cmake index 0d08bacc8197f9..0b4d4b8158d109 100644 --- a/ports/gettimeofday/portfile.cmake +++ b/ports/gettimeofday/portfile.cmake @@ -1,9 +1,8 @@ -vcpkg_configure_cmake( - SOURCE_PATH ${CMAKE_CURRENT_LIST_DIR} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${CMAKE_CURRENT_LIST_DIR}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/gettimeofday/vcpkg.json b/ports/gettimeofday/vcpkg.json index 9528e9a2c57b4b..c4b387f8ee31b2 100644 --- a/ports/gettimeofday/vcpkg.json +++ b/ports/gettimeofday/vcpkg.json @@ -1,6 +1,12 @@ { "name": "gettimeofday", - "version-string": "2017-10-14", - "port-version": 4, - "description": "An implementation of gettimeofday for WIN32" + "version-date": "2017-10-14", + "port-version": 6, + "description": "An implementation of gettimeofday for WIN32", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/gflags/portfile.cmake b/ports/gflags/portfile.cmake index f1c22ff1aa6055..7fa6a86079111f 100644 --- a/ports/gflags/portfile.cmake +++ b/ports/gflags/portfile.cmake @@ -13,31 +13,29 @@ vcpkg_from_github( fix_cmake_config.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -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_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/gflags) - -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin ${CURRENT_PACKAGES_DIR}/bin) +vcpkg_cmake_install() +vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/gflags) +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) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +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 3b8d22a06ff163..32d0edbab20321 100644 --- a/ports/gflags/vcpkg.json +++ b/ports/gflags/vcpkg.json @@ -1,8 +1,19 @@ { "name": "gflags", - "version-string": "2.2.2", - "port-version": 5, + "version": "2.2.2", + "port-version": 9, "description": "A C++ library that implements commandline flags processing", "homepage": "https://github.com/gflags/gflags", - "supports": "!uwp" + "license": "BSD-3-Clause", + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/ghc-filesystem/portfile.cmake b/ports/ghc-filesystem/portfile.cmake index 369cc089316cac..a1d5e9b3841c0a 100644 --- a/ports/ghc-filesystem/portfile.cmake +++ b/ports/ghc-filesystem/portfile.cmake @@ -1,11 +1,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO gulrak/filesystem - REF v1.5.10 + REF "v${VERSION}" HEAD_REF master - SHA512 470dd9e1c4358f9d8d9f531d8c3c6716cdd156c815315748436a1dc3caf095d320e58eae2274df8c15e293cc96170752fb00aed8ad2210d417b174c13297fbac + SHA512 6eae921485ecdaf4b8329a568b1f4f612ee491fc5fdeafce9c8000b9bf1a73b6fa4e07d0d4ddf05be49efe79e9bddfbcc0aba85529cb016668797a8d89eb9b82 ) +set(VCPKG_BUILD_TYPE release) # header-only port + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS @@ -16,9 +18,9 @@ vcpkg_cmake_configure( vcpkg_cmake_install() vcpkg_cmake_config_fixup( PACKAGE_NAME ghc_filesystem - CONFIG_PATH lib/cmake/ghc_filesystem + CONFIG_PATH "lib/cmake/ghc_filesystem" ) -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug" "${CURRENT_PACKAGES_DIR}/lib") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/ghc-filesystem/vcpkg.json b/ports/ghc-filesystem/vcpkg.json index 03117dfae17915..11e4a5c4262bc4 100644 --- a/ports/ghc-filesystem/vcpkg.json +++ b/ports/ghc-filesystem/vcpkg.json @@ -1,8 +1,9 @@ { "name": "ghc-filesystem", - "version": "1.5.10", + "version": "1.5.14", "description": "An implementation of C++17 std::filesystem for C++11/C++14/C++17/C++20 on Windows, macOS, Linux and FreeBSD", "homepage": "https://github.com/gulrak/filesystem", + "license": "MIT", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/gherkin-c/fix-include-path.patch b/ports/gherkin-c/fix-include-path.patch new file mode 100644 index 00000000000000..ddaf80d310d622 --- /dev/null +++ b/ports/gherkin-c/fix-include-path.patch @@ -0,0 +1,22 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 74b9ffb..6af4645 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -60,7 +60,7 @@ LIST(APPEND GHERKIN_SRS + ) + + add_library(gherkin ${GHERKIN_SRS}) +-target_include_directories(gherkin PUBLIC "$") ++target_include_directories(gherkin PUBLIC "$" "$") + + if (BUILD_GHERKIN_TESTS) + LIST(APPEND GENERATE_TOKEN +@@ -96,7 +96,7 @@ if (BUILD_GHERKIN_TESTS) + ENDFOREACH() + endif() + +-set(include_install_dir "include") ++set(include_install_dir "include/gherkin-c") + set(lib_install_dir "lib/") + set(bin_install_dir "bin/") + set(config_install_dir "lib/cmake/") diff --git a/ports/gherkin-c/fix-install-error.patch b/ports/gherkin-c/fix-install-error.patch new file mode 100644 index 00000000000000..a695e0c7b97c57 --- /dev/null +++ b/ports/gherkin-c/fix-install-error.patch @@ -0,0 +1,12 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 3227bf5..74b9ffb 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -131,7 +131,3 @@ install( + # NAMESPACE "${namespace}" + # DESTINATION "${config_install_dir}") + +-add_custom_target(install_${PROJECT_NAME} +- $(MAKE) install +- DEPENDS gherkin +- COMMENT "Installing ${PROJECT_NAME}") diff --git a/ports/gherkin-c/portfile.cmake b/ports/gherkin-c/portfile.cmake index 68c2049d14980d..3e4a7ad0a12660 100644 --- a/ports/gherkin-c/portfile.cmake +++ b/ports/gherkin-c/portfile.cmake @@ -4,19 +4,20 @@ vcpkg_from_github( REF dd180edc7d092311f2e90a0c4957061156d39dd3 SHA512 c6b38ab0e7a0fd1061d86b0ff9d9140f8c3d6f15cfc1673e947254c6c03a66d3e6aae5b267b074aa10fa30ba2850190c9e9ea7c12e340e4f8c5575b9bf31bab3 HEAD_REF master + PATCHES + fix-install-error.patch + fix-include-path.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_GHERKIN_TESTS=OFF ) -vcpkg_install_cmake() - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) - +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/gherkin-c RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/gherkin-c" RENAME copyright) diff --git a/ports/gherkin-c/vcpkg.json b/ports/gherkin-c/vcpkg.json index 462f19b78e5bf5..a91fd90b574304 100644 --- a/ports/gherkin-c/vcpkg.json +++ b/ports/gherkin-c/vcpkg.json @@ -1,6 +1,12 @@ { "name": "gherkin-c", - "version-string": "2019-10-07", - "port-version": 2, - "description": "Gherkin parser/compiler in C" + "version-date": "2019-10-07", + "port-version": 3, + "description": "Gherkin parser/compiler in C", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } 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 8a58b690a18fce..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} ) @@ -29,4 +25,6 @@ vcpkg_cmake_configure( vcpkg_cmake_install() vcpkg_copy_pdbs() +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/gif") +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) diff --git a/ports/giflib/usage b/ports/giflib/usage new file mode 100644 index 00000000000000..ebd07d1c12d93e --- /dev/null +++ b/ports/giflib/usage @@ -0,0 +1,4 @@ +The package giflib is compatible with built-in CMake targets: + + find_package(GIF REQUIRED) + target_link_libraries(main PRIVATE GIF::GIF) diff --git a/ports/giflib/vcpkg-cmake-wrapper.cmake b/ports/giflib/vcpkg-cmake-wrapper.cmake new file mode 100644 index 00000000000000..8812b5ab17cae7 --- /dev/null +++ b/ports/giflib/vcpkg-cmake-wrapper.cmake @@ -0,0 +1,25 @@ +find_path(GIF_INCLUDE_DIR NAMES gif_lib.h PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include" NO_DEFAULT_PATH) +find_library(GIF_LIBRARY_RELEASE NAMES gif PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib" NO_DEFAULT_PATH) +find_library(GIF_LIBRARY_DEBUG NAMES gif PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/lib" NO_DEFAULT_PATH) +include(SelectLibraryConfigurations) +select_library_configurations(GIF) +set(GIF_LIBRARY "${GIF_LIBRARY}" CACHE STRING "") +unset(GIF_LIBRARY) +unset(GIF_FOUND) +if(NOT TARGET GIF::GIF) + add_library(GIF::GIF UNKNOWN IMPORTED) + set_target_properties(GIF::GIF PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${GIF_INCLUDE_DIR}" + IMPORTED_CONFIGURATIONS RELEASE + IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "C" + IMPORTED_LOCATION_RELEASE "${GIF_LIBRARY_RELEASE}" + ) + if("${GIF_LIBRARY_DEBUG}") + set_property(TARGET GIF::GIF APPEND PROPERTY + IMPORTED_CONFIGURATIONS DEBUG) + set_target_properties(GIF::GIF PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "C" + IMPORTED_LOCATION_DEBUG "${GIF_LIBRARY_DEBUG}") + endif() +endif() +_find_package(${ARGS}) diff --git a/ports/giflib/vcpkg.json b/ports/giflib/vcpkg.json index 965fa663bc77a1..ef139f5226de03 100644 --- a/ports/giflib/vcpkg.json +++ b/ports/giflib/vcpkg.json @@ -1,8 +1,9 @@ { "name": "giflib", - "version": "5.2.1", + "version": "5.2.2", "description": "A library for reading and writing gif images.", "homepage": "https://sourceforge.net/projects/giflib/", + "license": "MIT", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/ginkgo/portfile.cmake b/ports/ginkgo/portfile.cmake index b2926fa9aec741..704542270eb0d5 100644 --- a/ports/ginkgo/portfile.cmake +++ b/ports/ginkgo/portfile.cmake @@ -1,28 +1,24 @@ -vcpkg_download_distfile(WINDOWS_SYMBOLS_PATCH - URLS https://github.com/ginkgo-project/ginkgo/commit/7481b2fffb51d73492ef9017045450b29b820f81.diff - FILENAME 7481b2fffb51d73492ef9017045450b29b820f81.diff - SHA512 f81c57aacc30680383ccfb21ca08987d8ea19a23c0c7bbc5ae590c3c7eca4eed72cea84410357e080e5bb35f08f6b57834b3cdace6d91cc3fde0a1930aa4270a -) +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ginkgo-project/ginkgo - REF v1.4.0 - SHA512 9bfcb2c415c7a1a70cf8e49f20adf62d02cab83bb23b6fcecfeaeeb322b2d4e1ad8d8fa6582735073753f9a05eac8688b9bd1ff1d4203957c1a80702d117e807 + REF "v${VERSION}" + SHA512 9d121a5eec9f5d17d1bd4b8924ebb32985a68e8087addc7385b619e365ed260a40ab73eb7a8a16f46a590d3162a78c9311ff41dd3dc74a9117a61e0445d96c52 HEAD_REF master - PATCHES - ${WINDOWS_SYMBOLS_PATCH} ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES openmp GINKGO_BUILD_OMP cuda GINKGO_BUILD_CUDA + mpi GINKGO_BUILD_MPI ) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - PREFER_NINJA OPTIONS -DGINKGO_BUILD_REFERENCE=ON -DGINKGO_BUILD_TESTS=OFF @@ -34,7 +30,6 @@ vcpkg_cmake_configure( -DGINKGO_DEVEL_TOOLS=OFF -DGINKGO_SKIP_DEPENDENCY_UPDATE=ON -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON - -DGinkgo_NAME=ginkgo ${FEATURE_OPTIONS} ) @@ -46,3 +41,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 c7db13df5531a5..866247458f085d 100644 --- a/ports/ginkgo/vcpkg.json +++ b/ports/ginkgo/vcpkg.json @@ -1,7 +1,10 @@ { "name": "ginkgo", - "version-semver": "1.4.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.8.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)", "dependencies": [ { "name": "vcpkg-cmake", @@ -19,8 +22,15 @@ "cuda" ] }, + "mpi": { + "description": "Build the distributed MPI backend of Ginkgo", + "dependencies": [ + "mpi" + ] + }, "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 new file mode 100644 index 00000000000000..9a711154ff7639 --- /dev/null +++ b/ports/gklib/build-fixes.patch @@ -0,0 +1,90 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 9cd1b4b..3912b26 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,4 +1,4 @@ +-cmake_minimum_required(VERSION 2.8) ++cmake_minimum_required(VERSION 3.22) + project(GKlib C) + + option(BUILD_SHARED_LIBS "Build shared libraries (.dll/.so) instead of static ones (.lib/.a)" OFF) +@@ -22,10 +22,11 @@ if(UNIX) + target_link_libraries(GKlib m) + endif(UNIX) + +-include_directories("test") +-add_subdirectory("test") + + install(TARGETS GKlib +- ARCHIVE DESTINATION lib/${LINSTALL_PATH} +- LIBRARY DESTINATION lib/${LINSTALL_PATH}) ++ EXPORT GKlibTargets ++ INCLUDES DESTINATION "include/GKlib" ++) ++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 31a1cf1..172a386 100644 +--- a/GKlibSystem.cmake ++++ b/GKlibSystem.cmake +@@ -18,7 +18,6 @@ option(NO_X86 "enable NO_X86 support" OFF) + + # Add compiler flags. + if(MSVC) +- set(GKlib_COPTS "/Ox") + set(GKlib_COPTIONS "-DWIN32 -DMSC -D_CRT_SECURE_NO_DEPRECATE -DUSE_GKREGEX") + elseif(MINGW) + set(GKlib_COPTS "-DUSE_GKREGEX") +@@ -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") ++ string(REPLACE " -Werror " " " GKlib_COPTIONS "${GKlib_COPTIONS}") + elseif(${CMAKE_C_COMPILER_ID} MATCHES "Sun") + # Sun insists on -xc99. + set(GKlib_COPTIONS "${GKlib_COPTIONS} -xc99") +@@ -75,6 +77,8 @@ endif(NO_X86) + if(GDB) + set(GKlib_COPTS "${GKlib_COPTS} -g") + set(GKlib_COPTIONS "${GKlib_COPTIONS} -Werror") ++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 @@ + + #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 @@ + + #ifndef _MSC_STDINT_H_ // [ + #define _MSC_STDINT_H_ ++#include ++#elif 0 + + #if _MSC_VER > 1000 + #pragma once diff --git a/ports/gklib/portfile.cmake b/ports/gklib/portfile.cmake new file mode 100644 index 00000000000000..f19d651b71d765 --- /dev/null +++ b/ports/gklib/portfile.cmake @@ -0,0 +1,26 @@ +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO KarypisLab/GKlib + REF 8bd6bad750b2b0d90800c632cf18e8ee93ad72d7 + SHA512 128cd9a48047b18b8013288162556f0b0f1d81845f5445f7cc62590ab28c06ee0a6c602cc999ce268ab27237eca3e8295df6432d377e45071946b98558872997 + PATCHES + android.patch + build-fixes.patch +) + +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") diff --git a/ports/gklib/vcpkg.json b/ports/gklib/vcpkg.json new file mode 100644 index 00000000000000..5878b88bf34981 --- /dev/null +++ b/ports/gklib/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "gklib", + "version-date": "2023-03-27", + "description": "General helper libraries for KarypisLab.", + "homepage": "https://github.com/KarypisLab/GKlib/", + "license": "Apache-2.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/gl2ps/portfile.cmake b/ports/gl2ps/portfile.cmake index d18d2fcb4ba401..d48897f2890b41 100644 --- a/ports/gl2ps/portfile.cmake +++ b/ports/gl2ps/portfile.cmake @@ -1,21 +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_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DCMAKE_DISABLE_FIND_PACKAGE_GLUT=ON + OPTIONS_DEBUG + -DDISABLE_INSTALL_HEADERS=ON ) -vcpkg_install_cmake() +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 4230bc45cbd86a..c4b26d3bdead90 100644 --- a/ports/gl2ps/vcpkg.json +++ b/ports/gl2ps/vcpkg.json @@ -1,12 +1,17 @@ { "name": "gl2ps", - "version-string": "1.4.2", - "port-version": 1, + "version": "1.4.2", + "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 + }, "zlib" ] } diff --git a/ports/gl3w/portfile.cmake b/ports/gl3w/portfile.cmake index 1cf3e0f2beba9f..741ad862d792e5 100644 --- a/ports/gl3w/portfile.cmake +++ b/ports/gl3w/portfile.cmake @@ -8,34 +8,30 @@ vcpkg_from_github( 0001-enable-shared-build.patch ) -# Download khrplatform.h with vcpkg instead of gl3w_gen.py so that our downloader settings are used -vcpkg_download_distfile(KHRPLATFORM_H - URLS "https://www.khronos.org/registry/EGL/api/KHR/khrplatform.h" - FILENAME khrplatform.h - SHA512 93d9075718eddb69c44482acdc72bbbd3511741272a6124d05ab1ef0702ef03e918501403b6fd334faf2c61f3332f34b7730158aa090db3d448c32b5dd9d9e67 - ) - file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") file(COPY "${CURRENT_INSTALLED_DIR}/include/GL/glcorearb.h" DESTINATION "${SOURCE_PATH}/include/GL") -file(COPY "${KHRPLATFORM_H}" DESTINATION "${SOURCE_PATH}/include/KHR") +file(COPY "${CURRENT_INSTALLED_DIR}/include/KHR/khrplatform.h" DESTINATION "${SOURCE_PATH}/include/KHR") 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 ) -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - PREFER_NINJA OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets() +vcpkg_cmake_config_fixup() if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/GL/gl3w.h" "#define GL3W_API" "#define GL3W_API __declspec(dllimport)") diff --git a/ports/gl3w/vcpkg.json b/ports/gl3w/vcpkg.json index f38702da242839..dedfee6795f415 100644 --- a/ports/gl3w/vcpkg.json +++ b/ports/gl3w/vcpkg.json @@ -1,10 +1,24 @@ { "name": "gl3w", "version-date": "2018-05-31", - "port-version": 3, + "port-version": 5, "description": "Simple OpenGL core profile loading", "homepage": "https://github.com/skaslev/gl3w", "dependencies": [ - "opengl-registry" - ] + "egl-registry", + "opengl-registry", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "ext": { + "description": "include the GL Extensions in output header" + } + } } diff --git a/ports/glad/portfile.cmake b/ports/glad/portfile.cmake index e29d97d561ba18..a64bb54112a996 100644 --- a/ports/glad/portfile.cmake +++ b/ports/glad/portfile.cmake @@ -3,10 +3,12 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Dav1dde/glad - REF 7ece538856bf124d798ab323c8e1e64ebb83cb50 - SHA512 f6a8ba7d0d09b89c23b6f76962d3e6eef1babc8e1a659e238d30e143eb33ccba424957e5a6d46d99a714bfa2967523b193586d0ff24e29ad8d86c92c9faf9c02 + REF 1ecd45775d96f35170458e6b148eb0708967e402 # 0.1.36 + SHA512 f6292e9dbce503a95b6eca927a90cf8a06f5e3de39b84f9a47e0d9273a6ea3f6591a64d35f2e33b5ea353e0c784f15c38579fc15aa6c5b180154e241ccbb16fe HEAD_REF master - PATCHES encoding.patch find_python.patch + PATCHES + encoding.patch + find_python.patch ) if(NOT GLAD_PROFILE) @@ -112,18 +114,17 @@ string(REPLACE ";" "," GLAD_API "${GLAD_API}") vcpkg_find_acquire_program(PYTHON3) file(COPY - ${CURRENT_INSTALLED_DIR}/include/KHR/khrplatform.h - ${CURRENT_INSTALLED_DIR}/include/EGL/eglplatform.h - ${CURRENT_INSTALLED_DIR}/share/egl-registry/egl.xml - ${CURRENT_INSTALLED_DIR}/share/opengl-registry/gl.xml - ${CURRENT_INSTALLED_DIR}/share/opengl-registry/glx.xml - ${CURRENT_INSTALLED_DIR}/share/opengl-registry/wgl.xml - DESTINATION ${SOURCE_PATH}/glad/files + "${CURRENT_INSTALLED_DIR}/include/KHR/khrplatform.h" + "${CURRENT_INSTALLED_DIR}/include/EGL/eglplatform.h" + "${CURRENT_INSTALLED_DIR}/share/opengl/egl.xml" + "${CURRENT_INSTALLED_DIR}/share/opengl/gl.xml" + "${CURRENT_INSTALLED_DIR}/share/opengl/glx.xml" + "${CURRENT_INSTALLED_DIR}/share/opengl/wgl.xml" + DESTINATION "${SOURCE_PATH}/glad/files" ) vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DGLAD_EXPORT=OFF -DGLAD_INSTALL=ON @@ -143,7 +144,8 @@ vcpkg_cmake_install() vcpkg_copy_pdbs() vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/glad) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/include/KHR) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/include/EGL) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/include/KHR") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/include/EGL") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/glad/vcpkg.json b/ports/glad/vcpkg.json index 8843c744b68757..dec813399b2374 100644 --- a/ports/glad/vcpkg.json +++ b/ports/glad/vcpkg.json @@ -1,7 +1,6 @@ { "name": "glad", - "version": "0.1.34", - "port-version": 1, + "version": "0.1.36", "description": "Multi-Language Vulkan/GL/GLES/EGL/GLX/WGL Loader-Generator based on the official specs.", "homepage": "https://github.com/Dav1dde/glad", "documentation": "https://github.com/Dav1dde/glad/wiki", @@ -341,13 +340,15 @@ ] }, "glx": { - "description": "Use `glx` spec instead of `gl`. Only available with the X Window System." + "description": "Use `glx` spec instead of `gl`. Only available with the X Window System.", + "supports": "!(windows | uwp)" }, "loader": { "description": "Generate loader logic." }, "wgl": { - "description": "Use `wgl` spec instead of `gl`. Only available for Windows and UWP platforms." + "description": "Use `wgl` spec instead of `gl`. Only available for Windows and UWP platforms.", + "supports": "!(linux | osx)" } } } diff --git a/ports/glaze/portfile.cmake b/ports/glaze/portfile.cmake new file mode 100644 index 00000000000000..a892c5aa0e0163 --- /dev/null +++ b/ports/glaze/portfile.cmake @@ -0,0 +1,25 @@ +if(VCPKG_TARGET_IS_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 ddc90ddb1af4f485a899b2ecb360ebb8d39d0b54b08b79ce4f79898c7fab624f70f57711e22e99381eff42e2576048eba00d8bfb42e4d60c836e299930983f03 + HEAD_REF main +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -Dglaze_DEVELOPER_MODE=OFF + -Dglaze_BUILD_EXAMPLES=OFF +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/glaze/vcpkg.json b/ports/glaze/vcpkg.json new file mode 100644 index 00000000000000..58b9e9aa6a7bfa --- /dev/null +++ b/ports/glaze/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "glaze", + "version": "3.6.1", + "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", + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/glbinding/portfile.cmake b/ports/glbinding/portfile.cmake index 6aa2e4e393e0e5..bc6d11c9e3e5f5 100644 --- a/ports/glbinding/portfile.cmake +++ b/ports/glbinding/portfile.cmake @@ -11,21 +11,21 @@ vcpkg_from_github( 0004_fix-config-expected-paths.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DOPTION_BUILD_TESTS=OFF - -DOPTION_BUILD_GPU_TESTS=OFF -DOPTION_BUILD_TOOLS=OFF -DOPTION_BUILD_EXAMPLES=OFF -DGIT_REV=0 -DCMAKE_DISABLE_FIND_PACKAGE_cpplocate=ON -DOPTION_BUILD_EXAMPLES=OFF + MAYBE_UNUSED_VARIABLES + CMAKE_DISABLE_FIND_PACKAGE_cpplocate ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/glbinding) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup() vcpkg_copy_pdbs() ## _IMPORT_PREFIX needs to go up one extra level in the directory tree. @@ -48,12 +48,12 @@ get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) file(WRITE ${TARGET_CMAKE} "${_contents}") endforeach() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") # Remove files already published by egl-registry -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/KHR) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/KHR") # Handle copyright -file(RENAME ${CURRENT_PACKAGES_DIR}/share/glbinding/LICENSE ${CURRENT_PACKAGES_DIR}/share/glbinding/copyright) -configure_file(${CMAKE_CURRENT_LIST_DIR}/usage ${CURRENT_PACKAGES_DIR}/share/glbinding/usage @ONLY) +file(RENAME "${CURRENT_PACKAGES_DIR}/share/${PORT}/LICENSE" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright") +configure_file("${CMAKE_CURRENT_LIST_DIR}/usage" "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" @ONLY) diff --git a/ports/glbinding/vcpkg.json b/ports/glbinding/vcpkg.json index 4a13308968ca2a..0112b09202a96c 100644 --- a/ports/glbinding/vcpkg.json +++ b/ports/glbinding/vcpkg.json @@ -1,10 +1,19 @@ { "name": "glbinding", - "version-string": "3.1.0", - "port-version": 3, + "version": "3.1.0", + "port-version": 4, "description": "glbinding is an MIT licensed, cross-platform C++ binding for the OpenGL API", "homepage": "https://github.com/cginternals/glbinding", + "license": "MIT", "dependencies": [ - "egl-registry" + "egl-registry", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/glew/base_address.patch b/ports/glew/base_address.patch new file mode 100644 index 00000000000000..466381efe95178 --- /dev/null +++ b/ports/glew/base_address.patch @@ -0,0 +1,13 @@ +--- a/build/cmake/CMakeLists.txt Mon Apr 24 15:54:00 2023 ++++ b/build/cmake/CMakeLists.txt Mon Apr 24 16:06:57 2023 +@@ -143,7 +143,9 @@ + # add options from visual studio project + target_compile_definitions (glew PRIVATE "GLEW_BUILD;VC_EXTRALEAN") + target_compile_definitions (glew_s PRIVATE "GLEW_STATIC;VC_EXTRALEAN") +- target_link_libraries (glew LINK_PRIVATE -BASE:0x62AA0000) ++ if(CMAKE_SYSTEM_PROCESSOR MATCHES "^(i?86|x86|x86_32)$") ++ target_link_libraries (glew LINK_PRIVATE -BASE:0x62AA0000) ++ endif() + # kill security checks which are dependent on stdlib + target_compile_options (glew PRIVATE -GS-) + target_compile_options (glew_s PRIVATE -GS-) diff --git a/ports/glew/portfile.cmake b/ports/glew/portfile.cmake index dc64a2aca978e1..0757e2cd95dd7d 100644 --- a/ports/glew/portfile.cmake +++ b/ports/glew/portfile.cmake @@ -10,12 +10,13 @@ vcpkg_download_distfile(ARCHIVE SHA512 57453646635609d54f62fb32a080b82b601fd471fcfd26e109f479b3fef6dfbc24b83f4ba62916d07d62cd06d1409ad7aa19bc1cd7cf3639c103c815b8be31d1 ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH +vcpkg_extract_source_archive( + SOURCE_PATH ARCHIVE ${ARCHIVE} - REF glew + SOURCE_BASE glew PATCHES fix-LNK2019.patch + base_address.patch # Accepted upstream as https://github.com/nigels-com/glew/commit/ef7d12ecb7f1f336f6d3a80cebd6163b2c094108 ) vcpkg_cmake_configure( diff --git a/ports/glew/vcpkg.json b/ports/glew/vcpkg.json index 7468ecadf894a3..a0c251e58d2694 100644 --- a/ports/glew/vcpkg.json +++ b/ports/glew/vcpkg.json @@ -1,8 +1,10 @@ { "name": "glew", - "version-string": "2.2.0", + "version": "2.2.0", + "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 4eb911174b16a0..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 3.3.5 - SHA512 cbb8ebf25d3d826eb1daeff3ad2e0e965ce9def3352955f297743d918f625d96bc05bf87c90f7b57ec53376a0f2f6ce62f80b57fac4e81e023400de275e97beb + REF ${VERSION} + SHA512 39ad7a4521267fbebc35d2ff0c389a56236ead5fa4bdff33db113bd302f70f5f2869ff4e6db1979512e1542813292dff5a482e94dfce231750f0746c301ae9ed HEAD_REF master ) @@ -13,16 +21,29 @@ if(VCPKG_TARGET_IS_LINUX) xcursor xorg libglu1-mesa + pkg-config + +These can be installed on Ubuntu systems via sudo apt install libxinerama-dev libxcursor-dev xorg-dev libglu1-mesa-dev pkg-config + +Alternatively, when targeting the Wayland display server, use the packages listed in the GLFW documentation here: -These can be installed on Ubuntu systems via sudo apt install libxinerama-dev libxcursor-dev xorg-dev libglu1-mesa-dev") +https://www.glfw.org/docs/3.3/compile.html#compile_deps_wayland") endif() +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + wayland GLFW_BUILD_WAYLAND +) + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DGLFW_BUILD_EXAMPLES=OFF -DGLFW_BUILD_TESTS=OFF -DGLFW_BUILD_DOCS=OFF + ${FEATURE_OPTIONS} + MAYBE_UNUSED_VARIABLES + GLFW_USE_WAYLAND ) vcpkg_cmake_install() @@ -33,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 581dae957f02dc..14c4fcd542993e 100644 --- a/ports/glfw3/vcpkg.json +++ b/ports/glfw3/vcpkg.json @@ -1,8 +1,10 @@ { "name": "glfw3", - "version-semver": "3.3.5", + "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", "dependencies": [ { "name": "vcpkg-cmake", @@ -12,5 +14,14 @@ "name": "vcpkg-cmake-config", "host": true } - ] + ], + "features": { + "wayland": { + "description": "Use Wayland display server", + "supports": "linux", + "dependencies": [ + "wayland" + ] + } + } } diff --git a/ports/gli/portfile.cmake b/ports/gli/portfile.cmake index 5168aca1e5d738..e4a4edb42223ec 100644 --- a/ports/gli/portfile.cmake +++ b/ports/gli/portfile.cmake @@ -10,19 +10,18 @@ vcpkg_from_github( disable-test.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/gli) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/gli) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib) -file(REMOVE ${CURRENT_PACKAGES_DIR}/include/gli/CMakeLists.txt) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") +file(REMOVE "${CURRENT_PACKAGES_DIR}/include/gli/CMakeLists.txt") # Put the license file where vcpkg expects it # manual.md contains the "licenses" section for the project -file(INSTALL ${SOURCE_PATH}/manual.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) \ No newline at end of file +file(INSTALL "${SOURCE_PATH}/manual.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) \ No newline at end of file diff --git a/ports/gli/vcpkg.json b/ports/gli/vcpkg.json index e1d746619608c9..732f3c25a01816 100644 --- a/ports/gli/vcpkg.json +++ b/ports/gli/vcpkg.json @@ -1,9 +1,18 @@ { "name": "gli", "version-date": "2021-07-06", + "port-version": 2, "description": "OpenGL Image (GLI)", "homepage": "https://gli.g-truc.net", "dependencies": [ - "glm" + "glm", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } 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/fix-libintl-detection.patch b/ports/glib/fix-libintl-detection.patch deleted file mode 100644 index 0ee0063b4c46de..00000000000000 --- a/ports/glib/fix-libintl-detection.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/meson.build b/meson.build ---- a/meson.build -+++ b/meson.build -@@ -2029,6 +2029,9 @@ else - libintl = disabler() - endif - endif -+ if not libintl.found() -+ libintl = dependency('Intl', required : false, method : 'cmake') -+ endif - if not libintl.found() - libintl = subproject('proxy-libintl').get_variable('intl_dep') - libintl_deps = [libintl] + libintl_deps diff --git a/ports/glib/libintl.patch b/ports/glib/libintl.patch new file mode 100644 index 00000000000000..48a518e1f2e88c --- /dev/null +++ b/ports/glib/libintl.patch @@ -0,0 +1,17 @@ +diff --git a/meson.build b/meson.build +--- a/meson.build ++++ b/meson.build +@@ -2134,10 +2135,10 @@ libz_dep = dependency('zlib') + # proxy-libintl subproject. + # FIXME: glib-gettext.m4 has much more checks to detect broken/uncompatible + # implementations. This could be extended if issues are found in some platforms. +-libintl_deps = [] + libintl_prefix = '#include ' +-libintl = dependency('intl', required: false) +-if libintl.found() and libintl.type_name() != 'internal' ++libintl = dependency('intl', required : true) ++libintl_deps = [libintl] ++if false + # libintl supports different threading APIs, which may not + # require additional flags, but it defaults to using pthreads if + # found. Meson's "threads" dependency does not allow you to diff --git a/ports/glib/portfile.cmake b/ports/glib/portfile.cmake index b686970253584b..2aec3a1d0af346 100644 --- a/ports/glib/portfile.cmake +++ b/ports/glib/portfile.cmake @@ -1,119 +1,134 @@ -# Glib uses winapi functions not available in WindowsStore -vcpkg_fail_port_install(ON_TARGET "UWP") - -# Glib relies on DllMain on Windows -if (VCPKG_TARGET_IS_WINDOWS) - vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) - #remove if merged: https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1655 -endif() +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 1514d62aeb4c4a1a1048ae0f84f7db7f0dbf355772b2dadf6a34ec547045b163a5e28331b096e7616fe3c9c19bed98025a0202b05073f5d7ee901d0efaffe143 +) -set(GLIB_MAJOR_MINOR 2.66) -set(GLIB_PATCH 4) -vcpkg_download_distfile(ARCHIVE - URLS "https://ftp.gnome.org/pub/gnome/sources/glib/${GLIB_MAJOR_MINOR}/glib-${GLIB_MAJOR_MINOR}.${GLIB_PATCH}.tar.xz" - FILENAME "glib-${GLIB_MAJOR_MINOR}.${GLIB_PATCH}.tar.xz" - SHA512 b3bc3e6e5cca793139848940e5c0894f1c7e3bd3a770b213a1ea548ac54a2432aebb140ed54518712fb8af36382b3b13d5f7ffd3d87ff63cba9e2f55434f7260) - -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} - REF ${GLIB_VERSION} +vcpkg_extract_source_archive(SOURCE_PATH + ARCHIVE "${GLIB_ARCHIVE}" PATCHES use-libiconv-on-windows.patch - fix-libintl-detection.patch + libintl.patch + 0005-pr-4133-4143-avoid-package-packaging.patch # Backport from 2.81.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) if (selinux IN_LIST FEATURES) - if(NOT VCPKG_TARGET_IS_WINDOWS AND NOT EXISTS "/usr/include/selinux") - message("Selinux was not found in its typical system location. Your build may fail. You can install Selinux with \"apt-get install selinux\".") + if(NOT EXISTS "/usr/include/selinux") + message(WARNING "SELinux was not found in its typical system location. Your build may fail. You can install SELinux with \"apt-get install selinux libselinux1-dev\".") endif() list(APPEND OPTIONS -Dselinux=enabled) else() list(APPEND OPTIONS -Dselinux=disabled) endif() -if(VCPKG_TARGET_IS_WINDOWS) - list(APPEND OPTIONS -Diconv=external) +if (libmount IN_LIST FEATURES) + list(APPEND OPTIONS -Dlibmount=enabled) else() - #list(APPEND OPTIONS -Diconv=libc) ? + list(APPEND OPTIONS -Dlibmount=disabled) +endif() + +vcpkg_list(SET ADDITIONAL_BINARIES) +if(VCPKG_HOST_IS_WINDOWS) + # Presence of bash and sh enables installation of auxiliary components. + vcpkg_list(APPEND ADDITIONAL_BINARIES "bash = ['${CMAKE_COMMAND}', '-E', 'false']") + vcpkg_list(APPEND ADDITIONAL_BINARIES "sh = ['${CMAKE_COMMAND}', '-E', 'false']") endif() vcpkg_configure_meson( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" + LANGUAGES ${LANGUAGES} + ADDITIONAL_BINARIES + ${ADDITIONAL_BINARIES} OPTIONS - -Dbuild_tests=false - -Dinstalled_tests=false ${OPTIONS} - -Dinternal_pcre=false + -Ddocumentation=false + -Dinstalled_tests=false + -Dintrospection=disabled + -Dlibelf=disabled + -Dman-pages=disabled + -Dtests=false + -Dxattr=false ) -#-Dnls=true -#-Dlibelf=false -#-Dlibmount=false -#-Dxattr=true? - vcpkg_install_meson(ADD_BIN_TO_PATH) - vcpkg_copy_pdbs() -set(GLIB_TOOLS gdbus - gio - gio-querymodules - glib-compile-resources - glib-compile-schemas - gobject-query - gresource - gsettings - ) - -if(NOT VCPKG_TARGET_IS_WINDOWS) - if(NOT VCPKG_TARGET_IS_OSX) - list(APPEND GLIB_TOOLS gapplication) - endif() - list(APPEND GLIB_TOOLS glib-gettextize gtester) -endif() -set(GLIB_SCRIPTS gdbus-codegen glib-genmarshal glib-mkenums gtester-report) - - -if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_TARGET_ARCHITECTURE MATCHES "x64|arm64") - list(APPEND GLIB_TOOLS gspawn-win64-helper${VCPKG_EXECUTABLE_SUFFIX} - gspawn-win64-helper-console${VCPKG_EXECUTABLE_SUFFIX}) -elseif(VCPKG_TARGET_IS_WINDOWS AND VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") - list(APPEND GLIB_TOOLS gspawn-win32-helper${VCPKG_EXECUTABLE_SUFFIX} - gspawn-win32-helper-console${VCPKG_EXECUTABLE_SUFFIX}) -endif() -vcpkg_copy_tools(TOOL_NAMES ${GLIB_TOOLS} AUTO_CLEAN) +file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/${PORT}") +set(GLIB_SCRIPTS + gdbus-codegen + glib-genmarshal + glib-gettextize + glib-mkenums + gtester-report +) foreach(script IN LISTS GLIB_SCRIPTS) file(RENAME "${CURRENT_PACKAGES_DIR}/bin/${script}" "${CURRENT_PACKAGES_DIR}/tools/${PORT}/${script}") file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/bin/${script}") endforeach() -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" "${CURRENT_PACKAGES_DIR}/debug/bin") +set(GLIB_TOOLS + gapplication + gdbus + gi-compile-repository + gi-decompile-typelib + gi-inspect-typelib + gio + gio-querymodules + glib-compile-resources + glib-compile-schemas + gobject-query + gresource + gsettings + gtester +) +if(VCPKG_TARGET_IS_WINDOWS) + list(REMOVE_ITEM GLIB_TOOLS gapplication gtester) + if(VCPKG_TARGET_ARCHITECTURE MATCHES "x64|arm64") + list(APPEND GLIB_TOOLS gspawn-win64-helper gspawn-win64-helper-console) + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + list(APPEND GLIB_TOOLS gspawn-win32-helper gspawn-win32-helper-console) + endif() +elseif(VCPKG_TARGET_IS_OSX) + list(REMOVE_ITEM GLIB_TOOLS gapplication) endif() - -IF(VCPKG_TARGET_IS_WINDOWS) - set(SYSTEM_LIBRARIES dnsapi iphlpapi winmm lshlwapi) +vcpkg_copy_tools(TOOL_NAMES ${GLIB_TOOLS} AUTO_CLEAN) + +vcpkg_fixup_pkgconfig() + +if(VCPKG_TARGET_IS_WINDOWS) + set(LIBINTL_NAME "intl.lib") else() - set(SYSTEM_LIBRARIES resolv mount blkid selinux) -endif() -if(EXISTS "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/gio-2.0.pc") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/gio-2.0.pc" "\${bindir}" "\${bindir}/../tools/${PORT}") -endif() -if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/gio-2.0.pc") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/gio-2.0.pc" "\${bindir}" "\${bindir}/../../tools/${PORT}") -endif() -if(EXISTS "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/glib-2.0.pc") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/glib-2.0.pc" "\${bindir}" "\${bindir}/../tools/${PORT}") -endif() -if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/glib-2.0.pc") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/glib-2.0.pc" "\${bindir}" "\${bindir}/../../tools/${PORT}") + set(LIBINTL_NAME "libintl") + if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + string(APPEND LIBINTL_NAME "${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}") + else() + string(APPEND LIBINTL_NAME "${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}") + endif() endif() -vcpkg_fixup_pkgconfig(SYSTEM_LIBRARIES ${SYSTEM_LIBRARIES}) -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +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" 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" IGNORE_UNCHANGED) + endif() +endforeach() + +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/gio-2.0.pc" "\${bindir}" "\${prefix}/tools/${PORT}") +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/glib-2.0.pc" "\${bindir}" "\${prefix}/tools/${PORT}") +if(NOT VCPKG_BUILD_TYPE) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/gio-2.0.pc" "\${bindir}" "\${prefix}/../tools/${PORT}") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/glib-2.0.pc" "\${bindir}" "\${prefix}/../tools/${PORT}") +endif() # Fix python scripts set(_file "${CURRENT_PACKAGES_DIR}/tools/${PORT}/gdbus-codegen") @@ -122,10 +137,18 @@ string(REPLACE "elif os.path.basename(filedir) == 'bin':" "elif os.path.basename string(REPLACE "path = os.path.join(filedir, '..', 'share', 'glib-2.0')" "path = os.path.join(filedir, '../..', 'share', 'glib-2.0')" _contents "${_contents}") string(REPLACE "path = os.path.join(filedir, '..')" "path = os.path.join(filedir, '../../share/glib-2.0')" _contents "${_contents}") string(REPLACE "path = os.path.join('${CURRENT_PACKAGES_DIR}/share', 'glib-2.0')" "path = os.path.join('unuseable/share', 'glib-2.0')" _contents "${_contents}") - file(WRITE "${_file}" "${_contents}") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/gdb") -if(EXISTS "${CURRENT_PACKAGES_DIR}/tools/glib/glib-gettextize") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/glib/glib-gettextize" "${CURRENT_PACKAGES_DIR}" "`dirname $0`/../..") +if(EXISTS "${CURRENT_PACKAGES_DIR}/tools/${PORT}/glib-gettextize") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/${PORT}/glib-gettextize" "${CURRENT_PACKAGES_DIR}" "`dirname $0`/../..") endif() + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/share/gdb" + "${CURRENT_PACKAGES_DIR}/debug/lib/gio" + "${CURRENT_PACKAGES_DIR}/lib/gio" +) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSES/LGPL-2.1-or-later.txt") diff --git a/ports/glib/use-libiconv-on-windows.patch b/ports/glib/use-libiconv-on-windows.patch index a8ccde0a5ff6c5..684148b59fd7d5 100644 --- a/ports/glib/use-libiconv-on-windows.patch +++ b/ports/glib/use-libiconv-on-windows.patch @@ -1,8 +1,8 @@ diff --git a/glib/gconvert.c b/glib/gconvert.c -index 3deac78..134ded9 100644 +index 829fe38de..e01ad8884 100644 --- a/glib/gconvert.c +++ b/glib/gconvert.c -@@ -30,7 +30,8 @@ +@@ -32,7 +32,8 @@ #include #ifdef G_OS_WIN32 @@ -13,16 +13,16 @@ index 3deac78..134ded9 100644 #ifdef G_PLATFORM_WIN32 diff --git a/meson.build b/meson.build -index d938ddf51..2ba256115 100644 +index d465253af..34ce69e4d 100644 --- a/meson.build +++ b/meson.build -@@ -1914,7 +1914,8 @@ glibconfig_conf.set10('G_HAVE_GROWING_STACK', growing_stack) - # the built-in implementation - iconv_opt = get_option('iconv') +@@ -2038,7 +2038,8 @@ glibconfig_conf.set10('G_HAVE_GROWING_STACK', growing_stack) if host_system == 'windows' + # We have a #include "win_iconv.c" in gconvert.c on Windows, so we don't need + # any external library for it - libiconv = [] + libiconv = [cc.find_library('iconv')] + found_iconv = true - # We have a #include "win_iconv.c" in gconvert.c on Windows, so we don't need - # any external library for it - if iconv_opt != 'auto' + else + libiconv = dependency('iconv') + endif diff --git a/ports/glib/vcpkg.json b/ports/glib/vcpkg.json index 5095a59b823866..3d86408cff42c2 100644 --- a/ports/glib/vcpkg.json +++ b/ports/glib/vcpkg.json @@ -1,22 +1,42 @@ { "name": "glib", - "version": "2.66.4", + "version": "2.80.0", "port-version": 1, "description": "Portable, general-purpose utility library.", "homepage": "https://developer.gnome.org/glib/", - "supports": "!uwp & !(windows & static)", + "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", - "pcre", - "tool-meson", + "pcre2", + { + "name": "vcpkg-tool-meson", + "host": true + }, "zlib" ], "features": { + "libmount": { + "description": "Build with libmount support.", + "supports": "linux", + "dependencies": [ + "libmount" + ] + }, "selinux": { - "description": "Build with selinux support." + "description": "Build with selinux support.", + "supports": "linux" } } } diff --git a/ports/glibmm/CMakeLists.txt b/ports/glibmm/CMakeLists.txt deleted file mode 100644 index 3e34075d9dfe70..00000000000000 --- a/ports/glibmm/CMakeLists.txt +++ /dev/null @@ -1,149 +0,0 @@ -cmake_minimum_required(VERSION 3.9) -project(glibmm) - -set(CMAKE_CXX_STANDARD 17) - -set(GLIBMM_DLL_SUFFIX 2) -set(GLIBMM_LIB_SUFFIX 2.0) -set(GLIBMM_EXTRA_LIB_SUFFIX 2.4) - -find_path(GLIB_INCLUDE_DIR NAMES glib.h) -find_library(GLIB_LIBRARY NAMES glib-2.0) -find_library(GIO_LIBRARY NAMES gio-2.0) -find_library(GOBJECT_LIBRARY NAMES gobject-2.0) -find_library(GMODULE_LIBRARY NAMES gmodule-2.0) -find_library(GTHREAD_LIBRARY NAMES gthread-2.0) -find_program(GLIB_COMPILE_SCHEMAS NAMES glib-compile-schemas) -find_library(PCRE_LIBRARY NAMES pcre) -find_library(SIGC_LIBRARY NAMES sigc-2.0) -find_library(FFI_LIBRARY NAMES ffi libffi) - -include_directories(${GLIB_INCLUDE_DIR}) -link_libraries( - ${GIO_LIBRARY} - ${GOBJECT_LIBRARY} - ${GMODULE_LIBRARY} - ${GTHREAD_LIBRARY} - ${GLIB_LIBRARY} - ${PCRE_LIBRARY} - ${SIGC_LIBRARY} - ${FFI_LIBRARY} -) - -find_package(Intl REQUIRED) -find_package(Iconv REQUIRED) -link_libraries(${Intl_LIBRARIES} Iconv::Iconv) - -if(APPLE) - find_library(COREFOUNDATION_LIBRARY CoreFoundation) - find_library(CORESERVICES_LIBRARY CoreServices) - find_library(FOUNDATION_LIBRARY Foundation) - link_libraries(${COREFOUNDATION_LIBRARY} ${CORESERVICES_LIBRARY} ${FOUNDATION_LIBRARY}) -endif() - -# Activate workaround for exporting all symbols from Windows DLLs to mimic the -# behavior on Linux, where dynamic libraries always export all symbols. -# The same approach was already used by the upstream MSVC build (see MSVC_NMake/gendef/gendef.cc) -if (WIN32) - set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS TRUE) -endif() - -if(NOT BUILD_SHARED_LIBS) - add_definitions(-DGLIBMM_STATIC_LIB -DGIOMM_STATIC_LIB) -endif() - -if(WIN32) - add_compile_options(/FI${WARNINGS_HEADER} -DSIZEOF_WCHAR_T=2) -else() - set(THREADS_PREFER_PTHREAD_FLAG ON) - find_package(Threads REQUIRED) - link_libraries(Threads::Threads ${CMAKE_DL_LIBS}) -endif() - -if(WIN32) - configure_file(MSVC_Net2013/giomm/giommconfig.h ${CMAKE_BINARY_DIR}/config/gio/giommconfig.h COPYONLY) - configure_file(MSVC_Net2013/glibmm/glibmmconfig.h ${CMAKE_BINARY_DIR}/config/glib/glibmmconfig.h COPYONLY) -else() - set(ENV{GLIB_COMPILE_SCHEMAS} "${GLIB_COMPILE_SCHEMAS}") - set(ENV{GLIBMM_CFLAGS} -I${GLIB_INCLUDE_DIR}) - set(ENV{GLIBMM_LIBS} "${GLIB_LIBRARY}") - set(ENV{GIOMM_CFLAGS} -I${GLIB_INCLUDE_DIR}) - set(ENV{GIOMM_LIBS} "${GIO_LIBRARY}") - set(ENV{PKG_CONFIG} "echo") - - file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/config) - execute_process( - COMMAND "${CMAKE_SOURCE_DIR}/configure" - WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/config - RESULT_VARIABLE res - ) - if(NOT res EQUAL 0) - message(FATAL_ERROR "Configure failed.") - endif() -endif() - -file(GLOB GLIBMM_SOURCES glib/glibmm/*.cc) -add_library(glibmm ${GLIBMM_SOURCES}) -target_compile_definitions(glibmm PRIVATE -DGLIBMM_BUILD) -target_include_directories(glibmm PUBLIC glib ${CMAKE_BINARY_DIR}/config/glib) -set_target_properties(glibmm PROPERTIES OUTPUT_NAME glibmm-${GLIBMM_DLL_SUFFIX} ARCHIVE_OUTPUT_NAME glibmm-${GLIBMM_LIB_SUFFIX}) - -set(GLIBMM_EXTRA_SOURCES tools/extra_defs_gen/generate_extra_defs.cc) -add_library(glibmm_generate_extra_defs ${GLIBMM_EXTRA_SOURCES}) -target_include_directories(glibmm_generate_extra_defs PUBLIC glib ${CMAKE_BINARY_DIR}/config/glib) -set_target_properties(glibmm_generate_extra_defs PROPERTIES - OUTPUT_NAME glibmm_generate_extra_defs-${GLIBMM_EXTRA_LIB_SUFFIX} - ARCHIVE_OUTPUT_NAME glibmm_generate_extra_defs-${GLIBMM_EXTRA_LIB_SUFFIX}) - -set(prefix ${CMAKE_INSTALL_PREFIX}) -set(exec_prefix ${CMAKE_INSTALL_PREFIX}) -set(libdir ${CMAKE_INSTALL_PREFIX}/lib) -set(includedir ${CMAKE_INSTALL_PREFIX}/include) -set(GLIBMM_API_VERSION 2.0) -set(GLIBMM_MODULE_NAME glibmm) -set(PACKAGE_VERSION 2.52.1) -configure_file("${CMAKE_CURRENT_SOURCE_DIR}/glib/glibmm.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/glibmm.pc" @ONLY) -install(FILES "${CMAKE_CURRENT_BINARY_DIR}/glibmm.pc" DESTINATION lib/pkgconfig) -install(FILES "${CMAKE_CURRENT_BINARY_DIR}/glibmm.pc" DESTINATION lib/pkgconfig RENAME glibmm-2.4.pc) - -file(GLOB GIOMM_SOURCES gio/giomm/*.cc) -if(WIN32) - list(FILTER GIOMM_SOURCES EXCLUDE REGEX "desktopappinfo.cc\$|/unix[^/]+.cc\$") -endif() -add_library(giomm ${GIOMM_SOURCES}) -target_compile_definitions(giomm PRIVATE -DGIOMM_BUILD) -target_link_libraries(giomm PUBLIC glibmm) -target_include_directories(giomm PUBLIC gio ${CMAKE_BINARY_DIR}/config/gio) - -install( - TARGETS glibmm giomm glibmm_generate_extra_defs - RUNTIME DESTINATION bin - ARCHIVE DESTINATION lib - LIBRARY DESTINATION lib -) - -if(NOT DISABLE_INSTALL_HEADERS) - install( - FILES - ${CMAKE_BINARY_DIR}/config/gio/giommconfig.h - gio/giomm.h - ${CMAKE_BINARY_DIR}/config/glib/glibmmconfig.h - glib/glibmm.h - DESTINATION include - ) - install( - DIRECTORY gio/giomm glib/glibmm - DESTINATION include - FILES_MATCHING PATTERN *.h - ) - install( - DIRECTORY tools/extra_defs_gen/ - DESTINATION include/glibmm_generate_extra_defs/ - FILES_MATCHING PATTERN *.h - ) -endif() - -if(NOT DISABLE_EXAMPLES) - add_executable(options examples/options/main.cc) - target_link_libraries(options PRIVATE giomm) -endif() diff --git a/ports/glibmm/msvc_recommended_pragmas.h b/ports/glibmm/msvc_recommended_pragmas.h deleted file mode 100644 index c0eb1d5edf4cd5..00000000000000 --- a/ports/glibmm/msvc_recommended_pragmas.h +++ /dev/null @@ -1,34 +0,0 @@ -#ifndef _MSC_VER -#pragma error "This header is for Microsoft VC only." -#endif /* _MSC_VER */ - -/* Make MSVC more pedantic, this is a recommended pragma list - * from _Win32_Programming_ by Rector and Newcomer. - */ -#pragma warning(error:4002) /* too many actual parameters for macro */ -#pragma warning(error:4003) /* not enough actual parameters for macro */ -#pragma warning(1:4010) /* single-line comment contains line-continuation character */ -#pragma warning(error:4013) /* 'function' undefined; assuming extern returning int */ -#pragma warning(1:4016) /* no function return type; using int as default */ -#pragma warning(error:4020) /* too many actual parameters */ -#pragma warning(error:4021) /* too few actual parameters */ -#pragma warning(error:4027) /* function declared without formal parameter list */ -#pragma warning(error:4029) /* declared formal parameter list different from definition */ -#pragma warning(error:4033) /* 'function' must return a value */ -#pragma warning(error:4035) /* 'function' : no return value */ -#pragma warning(error:4045) /* array bounds overflow */ -#pragma warning(error:4047) /* different levels of indirection */ -#pragma warning(error:4049) /* terminating line number emission */ -#pragma warning(error:4053) /* An expression of type void was used as an operand */ -#pragma warning(error:4071) /* no function prototype given */ -#pragma warning(disable:4101) /* unreferenced local variable */ -#pragma warning(error:4150) - -#pragma warning(disable:4244) /* No possible loss of data warnings */ -#pragma warning(disable:4305) /* No truncation from int to char warnings */ - -#pragma warning(error:4819) /* The file contains a character that cannot be represented in the current code page */ - -/* work around Microsoft's premature attempt to deprecate the C-Library */ -#define _CRT_SECURE_NO_WARNINGS -#define _CRT_NONSTDC_NO_WARNINGS diff --git a/ports/glibmm/portfile.cmake b/ports/glibmm/portfile.cmake index a6a4307dde3075..23e13eee0a039a 100644 --- a/ports/glibmm/portfile.cmake +++ b/ports/glibmm/portfile.cmake @@ -1,28 +1,35 @@ # Glib uses winapi functions not available in WindowsStore -vcpkg_fail_port_install(ON_TARGET "UWP") - -vcpkg_download_distfile(ARCHIVE - URLS "https://ftp.gnome.org/pub/GNOME/sources/glibmm/2.68/glibmm-2.68.1.tar.xz" - FILENAME "glibmm-2.68.1.tar.xz" - SHA512 ca164f986da651e66bb5b98a760853e73d57ff84e035809d4c3b2c0a1b6ddf8ca68ffc49a71d0e0b2e14eca1c00e2e727e3bf3821e0b2b3a808397c3d33c6d5c +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 5ace15c492be553e2c6abd8d0699197239261feaa2b45ff77181f59bb98b584dc822bdd46dbdee35691cc5a955a3b88e03f58532459236fd780823354c35d0a6 ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${GLIBMM_ARCHIVE}" ) vcpkg_configure_meson( - SOURCE_PATH ${SOURCE_PATH} - OPTIONS + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS -Dbuild-examples=false -Dmsvc14x-parallel-installable=false ) + vcpkg_install_meson() vcpkg_copy_pdbs() +# intentionally 2.68 - glib does not install glibmm-2.7x files +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/lib/glibmm-2.68/proc" + "${CURRENT_PACKAGES_DIR}/lib/glibmm-2.68/proc" +) + vcpkg_fixup_pkgconfig() -# Handle copyright and readme +# Handle copyright and readmes file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) -file(INSTALL "${SOURCE_PATH}/README" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME readme.txt) +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/glibmm/vcpkg.json b/ports/glibmm/vcpkg.json index feb01216f9a978..b3cdc8541297f6 100644 --- a/ports/glibmm/vcpkg.json +++ b/ports/glibmm/vcpkg.json @@ -1,9 +1,10 @@ { "name": "glibmm", - "version": "2.68.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.", - "supports": "!uwp", + "license": "LGPL-2.1-or-later", + "supports": "!uwp & !xbox", "dependencies": [ "gettext", "glib", @@ -11,6 +12,10 @@ "libiconv", "libsigcpp-3", "pcre", + { + "name": "vcpkg-tool-meson", + "host": true + }, "zlib" ] } diff --git a/ports/glm/CMakeLists.txt b/ports/glm/CMakeLists.txt deleted file mode 100644 index c8a92c151de436..00000000000000 --- a/ports/glm/CMakeLists.txt +++ /dev/null @@ -1,27 +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-config - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}/ - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}/ - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/ -) - -install( - EXPORT glm-config - NAMESPACE glm:: - DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/glm -) - -install( - DIRECTORY ${CMAKE_SOURCE_DIR}/glm - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} - FILES_MATCHING PATTERN "*.hpp*" PATTERN "*.inl*" PATTERN "*.h*" -) 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 40d5115acece90..00ba3076543a05 100644 --- a/ports/glm/portfile.cmake +++ b/ports/glm/portfile.cmake @@ -1,22 +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. ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DGLM_BUILD_LIBRARY=ON + -DGLM_BUILD_TESTS=OFF + -DGLM_BUILD_INSTALL=ON ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets() +vcpkg_cmake_install() +vcpkg_cmake_config_fixup() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) +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) \ No newline at end of file +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 45a3b3c71a262d..cd29c8f060f11a 100644 --- a/ports/glm/vcpkg.json +++ b/ports/glm/vcpkg.json @@ -1,7 +1,18 @@ { "name": "glm", - "version-string": "0.9.9.8", - "port-version": 1, + "version": "1.0.1", + "port-version": 3, "description": "OpenGL Mathematics (GLM)", - "homepage": "https://glm.g-truc.net" + "homepage": "https://glm.g-truc.net", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/globjects/portfile.cmake b/ports/globjects/portfile.cmake index 4103fd3ab44e5e..1ecdbb1003a0a1 100644 --- a/ports/globjects/portfile.cmake +++ b/ports/globjects/portfile.cmake @@ -9,22 +9,21 @@ vcpkg_from_github( fix-dependency-glm.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DOPTION_BUILD_TESTS=OFF -DOPTION_BUILD_GPU_TESTS=OFF -DGIT_REV=0 ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/globjects/cmake/globjects) +vcpkg_cmake_config_fixup(CONFIG_PATH share/globjects/cmake/globjects) -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") -file(WRITE ${CURRENT_PACKAGES_DIR}/share/globjects/globjects-config.cmake "include(CMakeFindDependencyMacro) +file(WRITE "${CURRENT_PACKAGES_DIR}/share/globjects/globjects-config.cmake" "include(CMakeFindDependencyMacro) find_dependency(glm) find_dependency(glbinding) @@ -32,6 +31,6 @@ include(\${CMAKE_CURRENT_LIST_DIR}/globjects-export.cmake) ") # Handle copyright -file(RENAME ${CURRENT_PACKAGES_DIR}/share/globjects/LICENSE ${CURRENT_PACKAGES_DIR}/share/globjects/copyright) +file(RENAME "${CURRENT_PACKAGES_DIR}/share/${PORT}/LICENSE" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright") vcpkg_copy_pdbs() diff --git a/ports/globjects/vcpkg.json b/ports/globjects/vcpkg.json index 8878d28659a741..6dd9aa1379b29f 100644 --- a/ports/globjects/vcpkg.json +++ b/ports/globjects/vcpkg.json @@ -1,11 +1,19 @@ { "name": "globjects", - "version-string": "1.1.0", - "port-version": 4, + "version": "1.1.0", + "port-version": 6, "description": "C++ library strictly wrapping OpenGL objects", "homepage": "https://github.com/cginternals/globjects", "dependencies": [ "glbinding", - "glm" + "glm", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/glog/fix_cplusplus_macro.patch b/ports/glog/fix_cplusplus_macro.patch new file mode 100644 index 00000000000000..bd9d0e111a7983 --- /dev/null +++ b/ports/glog/fix_cplusplus_macro.patch @@ -0,0 +1,15 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 985f5f5..bf6600e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -476,6 +476,10 @@ if (CYGWIN OR WIN32) + target_compile_definitions (glog PUBLIC GLOG_NO_ABBREVIATED_SEVERITIES) + endif (CYGWIN OR WIN32) + ++if ((MSVC) AND (MSVC_VERSION GREATER_EQUAL 1914)) ++ target_compile_options(glog INTERFACE "$<$>:/Zc:__cplusplus>") ++endif() ++ + 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 new file mode 100644 index 00000000000000..e94ce8f7972cc0 --- /dev/null +++ b/ports/glog/fix_crosscompile_symbolize.patch @@ -0,0 +1,22 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index fe1d85f..985f5f5 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -243,6 +243,9 @@ endif (HAVE_EXECINFO_BACKTRACE AND HAVE_EXECINFO_BACKTRACE_SYMBOLS) + + if (WITH_SYMBOLIZE) + if (WIN32 OR CYGWIN) ++ if(CMAKE_CROSSCOMPILING) ++ set(HAVE_SYMBOLIZE 0) ++ else() + cmake_push_check_state (RESET) + set (CMAKE_REQUIRED_LIBRARIES DbgHelp) + +@@ -273,6 +276,7 @@ if (WITH_SYMBOLIZE) + ]=] HAVE_SYMBOLIZE) + + cmake_pop_check_state () ++ endif() + + if (HAVE_SYMBOLIZE) + set (HAVE_STACKTRACE 1) diff --git a/ports/glog/fix_glog_CMAKE_MODULE_PATH.patch b/ports/glog/fix_glog_CMAKE_MODULE_PATH.patch new file mode 100644 index 00000000000000..39bda83795fe78 --- /dev/null +++ b/ports/glog/fix_glog_CMAKE_MODULE_PATH.patch @@ -0,0 +1,33 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b787631..41bf110 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1000,7 +1000,7 @@ write_basic_package_version_file ( + + export (TARGETS glog NAMESPACE glog:: FILE glog-targets.cmake) + export (PACKAGE glog) +- ++if(0) + get_filename_component (_PREFIX "${CMAKE_INSTALL_PREFIX}" ABSOLUTE) + + # Directory containing the find modules relative to the config install +@@ -1036,6 +1036,7 @@ file (INSTALL + " + COMPONENT Development + ) ++endif() + + install (FILES + ${glog_BINARY_DIR}/glog-config.cmake +diff --git a/glog-config.cmake.in b/glog-config.cmake.in +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@) + @PACKAGE_INIT@ + + include (CMakeFindDependencyMacro) +-include (${CMAKE_CURRENT_LIST_DIR}/glog-modules.cmake) + + find_dependency (Threads) + diff --git a/ports/glog/glog_disable_debug_postfix.patch b/ports/glog/glog_disable_debug_postfix.patch index 7b882e1faf6917..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 808330e..de0e477 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -44,7 +44,7 @@ include (CTest) - include (DetermineGflagsNamespace) - include (GNUInstallDirs) - --set (CMAKE_DEBUG_POSTFIX d) -+#set (CMAKE_DEBUG_POSTFIX d) - set (CMAKE_THREAD_PREFER_PTHREAD 1) - - if (WITH_GFLAGS) +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 41bf110..fe1d85f 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -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) + + find_package (GTest NO_MODULE) + diff --git a/ports/glog/portfile.cmake b/ports/glog/portfile.cmake index 8487cc19219055..76cd91e512e085 100644 --- a/ports/glog/portfile.cmake +++ b/ports/glog/portfile.cmake @@ -1,26 +1,50 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/glog - REF v0.4.0 - SHA512 b585f1819ade2075f6b61dc5aaca5c3f9d25601dba2bd08b6c49b96ac5f79db23c6b7f2042df003f7130497dd7241fcaa8b107d1f97385cb66ce52d3c554b176 + REF "v${VERSION}" + SHA512 2dabac87d44e4fe58beceb31b22be732b47df84c22f1af8c0e7d0f262de939889de1f16025c1256539f2833ef3393bc92034e983aa2886752bb8705801a68630 HEAD_REF master PATCHES - glog_disable_debug_postfix.patch + fix_glog_CMAKE_MODULE_PATH.patch + glog_disable_debug_postfix.patch + fix_crosscompile_symbolize.patch + fix_cplusplus_macro.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + unwind WITH_UNWIND + customprefix WITH_CUSTOM_PREFIX + INVERTED_FEATURES + unwind CMAKE_DISABLE_FIND_PACKAGE_Unwind +) +file(REMOVE "${SOURCE_PATH}/glog-modules.cmake.in") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_TESTING=OFF + ${FEATURE_OPTIONS} ) -vcpkg_install_cmake() - -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/glog) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/glog) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() + +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() -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/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 6a0da077d82841..da170c218d6028 100644 --- a/ports/glog/vcpkg.json +++ b/ports/glog/vcpkg.json @@ -1,10 +1,30 @@ { "name": "glog", - "version-string": "0.4.0", - "port-version": 4, + "version": "0.7.1", "description": "C++ implementation of the Google logging module", "homepage": "https://github.com/google/glog", + "license": "BSD-3-Clause", "dependencies": [ - "gflags" - ] + "gflags", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "customprefix": { + "description": "Enable support for user-generated message prefixes" + }, + "unwind": { + "description": "Enable libunwind support", + "supports": "linux", + "dependencies": [ + "libunwind" + ] + } + } } diff --git a/ports/gloo/portfile.cmake b/ports/gloo/portfile.cmake index cc168af4a3ce59..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( @@ -18,15 +18,15 @@ if ("cuda" IN_LIST FEATURES) list(APPEND GLOO_FEATURE_OPTIONS "-DUSE_CUDA=1" "-DUSE_NCCL=1") endif() -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${GLOO_FEATURE_OPTIONS} ) -vcpkg_install_cmake() +vcpkg_cmake_install() +vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/Gloo) +vcpkg_cmake_config_fixup(CONFIG_PATH share/cmake/Gloo) 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) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/gloo/vcpkg.json b/ports/gloo/vcpkg.json index 15c4593c1d3c43..03a382327b1d61 100644 --- a/ports/gloo/vcpkg.json +++ b/ports/gloo/vcpkg.json @@ -1,9 +1,19 @@ { "name": "gloo", - "version-string": "20201203", + "version": "20240626", "description": "Collective communications library with various primitives for multi-machine training.", "homepage": "https://github.com/facebookincubator/gloo", "supports": "x64 & linux", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], "features": { "cuda": { "description": "for CUDA aware algorithms", diff --git a/ports/glpk/configure.ac.patch b/ports/glpk/configure.ac.patch new file mode 100644 index 00000000000000..e05600ad82aa63 --- /dev/null +++ b/ports/glpk/configure.ac.patch @@ -0,0 +1,23 @@ +--- configure.ac.original 2022-12-15 13:46:24.222223600 -0500 ++++ configure.ac 2022-12-28 09:30:59.301984700 -0500 +@@ -114,6 +114,12 @@ + LIBODBC="libodbc.dylib" + LIBMYSQL="libmysqlclient.dylib" + ;; ++ cygwin* | mingw*) ++ LIBIODBC="odbc32.dll" ++ LIBODBC="odbc32.dll" ++ LIBMYSQL="libmysql.dll" ++ AC_DEFINE([__WOE__], [1], [N/A]) ++ ;; + *) + LIBIODBC="libiodbc.so" + LIBODBC="libodbc.so" +@@ -145,7 +151,6 @@ + AC_MSG_ERROR([--enable-mysql requires --enable-dl]) + fi + AC_MSG_RESULT([yes]) +- CPPFLAGS="-I/usr/include/mysql $CPPFLAGS" + AC_DEFINE_UNQUOTED([MYSQL_DLNAME], ["$LIBMYSQL"], [N/A]) + else + AC_MSG_RESULT([no]) diff --git a/ports/glpk/glpk.pc.in b/ports/glpk/glpk.pc.in new file mode 100644 index 00000000000000..b1ac85180b5d69 --- /dev/null +++ b/ports/glpk/glpk.pc.in @@ -0,0 +1,12 @@ +prefix=${pcfiledir}/../.. +exec_prefix=${prefix} +libdir=${prefix}/lib +includedir=${prefix}/include + +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.private: @requires@ diff --git a/ports/glpk/portfile.cmake b/ports/glpk/portfile.cmake new file mode 100644 index 00000000000000..9fd4a88230e554 --- /dev/null +++ b/ports/glpk/portfile.cmake @@ -0,0 +1,67 @@ +set(DISTFILE_SHA512_HASH 4e92195fa058c707146f2690f3a38b46c33add948c852f67659ca005a6aa980bbf97be96528b0f8391690facb880ac2126cd60198c6c175e7f3f06cca7e29f9d) + +vcpkg_download_distfile( + DISTFILE + FILENAME "glpk.tar.gz" + URLS "https://ftpmirror.gnu.org/gnu/glpk/glpk-${VERSION}.tar.gz" "https://ftp.gnu.org/gnu/glpk/glpk-${VERSION}.tar.gz" + SHA512 ${DISTFILE_SHA512_HASH} +) + +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${DISTFILE}" + PATCHES + configure.ac.patch +) + +vcpkg_list(SET CONFIGURE_OPTIONS) +if("dl" IN_LIST FEATURES) + vcpkg_list(APPEND CONFIGURE_OPTIONS --enable-dl=dlfcn "LIBS=-ldl \$LIBS") +else() + vcpkg_list(APPEND CONFIGURE_OPTIONS --disable-dl) +endif() + +if("gmp" IN_LIST FEATURES) + vcpkg_list(APPEND CONFIGURE_OPTIONS --with-gmp) + string(APPEND requires " gmp") +else() + vcpkg_list(APPEND CONFIGURE_OPTIONS --without-gmp) +endif() + +if("mysql" IN_LIST FEATURES) + vcpkg_list(APPEND CONFIGURE_OPTIONS + --enable-mysql + "CPPFLAGS=-I${CURRENT_INSTALLED_DIR}/include/mysql \$CPPFLAGS" + ) + 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) +else() + vcpkg_list(APPEND CONFIGURE_OPTIONS --disable-odbc) +endif() + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG + NO_ADDITIONAL_PATHS + DETERMINE_BUILD_TRIPLET + OPTIONS + ${CONFIGURE_OPTIONS} +) + +vcpkg_install_make() +set(libname glpk) +configure_file("${CMAKE_CURRENT_LIST_DIR}/glpk.pc.in" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/glpk.pc" @ONLY) +if(NOT VCPKG_BUILD_TYPE) + configure_file("${CMAKE_CURRENT_LIST_DIR}/glpk.pc.in" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/glpk.pc" @ONLY) +endif() +vcpkg_fixup_pkgconfig() + +vcpkg_copy_pdbs() +vcpkg_copy_tools(TOOL_NAMES glpsol AUTO_CLEAN) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/glpk/vcpkg.json b/ports/glpk/vcpkg.json new file mode 100644 index 00000000000000..58e820d435eb21 --- /dev/null +++ b/ports/glpk/vcpkg.json @@ -0,0 +1,58 @@ +{ + "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json", + "name": "glpk", + "version": "5.0", + "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.", + "GLPK includes the following main components:", + "Primal and dual simplex methods", + "Primal-dual interior-point method", + "Branch-and-cut method", + "Translator for GNU MathProg", + "Application program interface (API)", + "Stand-alone LP/MIP solver " + ], + "homepage": "https://www.gnu.org/software/glpk/", + "documentation": "https://www.gnu.org/software/glpk/#documentation", + "license": "GPL-3.0-or-later", + "supports": "!xbox", + "features": { + "dl": { + "description": "Enable shared library support", + "dependencies": [ + "dlfcn-win32" + ] + }, + "gmp": { + "description": "Use the GNU Multiple Precision Arithmetic Library", + "dependencies": [ + "gmp" + ] + }, + "mysql": { + "description": "Sharing between MathProg objects and MySQL databases (libmysql)", + "dependencies": [ + { + "name": "glpk", + "features": [ + "dl" + ] + }, + "libmysql" + ] + }, + "odbc": { + "description": "Sharing between MathProg objects and databases through ODBC (libiodbc)", + "dependencies": [ + { + "name": "glpk", + "features": [ + "dl" + ] + } + ] + } + } +} diff --git a/ports/glslang/always-install-resource-limits.patch b/ports/glslang/always-install-resource-limits.patch deleted file mode 100644 index 56c34dfc44386a..00000000000000 --- a/ports/glslang/always-install-resource-limits.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/StandAlone/CMakeLists.txt b/StandAlone/CMakeLists.txt -index 751d1cd71..0f5cf0dc0 100644 ---- a/StandAlone/CMakeLists.txt -+++ b/StandAlone/CMakeLists.txt -@@ -98,7 +98,7 @@ if(ENABLE_GLSLANG_INSTALL) - install(EXPORT spirv-remapTargets DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake) - endif() - -- if(BUILD_SHARED_LIBS) -+ if(BUILD_SHARED_LIBS OR TRUE) - install(TARGETS glslang-default-resource-limits EXPORT glslang-default-resource-limitsTargets - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} diff --git a/ports/glslang/glslang-config.cmake b/ports/glslang/glslang-config.cmake deleted file mode 100644 index 5eb356151f53ae..00000000000000 --- a/ports/glslang/glslang-config.cmake +++ /dev/null @@ -1,7 +0,0 @@ -include(CMakeFindDependencyMacro) - -find_dependency(Threads) - -foreach(targets OGLCompiler OSDependent glslang glslang-default-resource-limits glslangValidator HLSL SPIRV spirv-remap SPVRemapper) - include("${CMAKE_CURRENT_LIST_DIR}/${targets}Targets.cmake" OPTIONAL) -endforeach() diff --git a/ports/glslang/ignore-crt.patch b/ports/glslang/ignore-crt.patch deleted file mode 100644 index 0835b49a9f2239..00000000000000 --- a/ports/glslang/ignore-crt.patch +++ /dev/null @@ -1,9 +0,0 @@ -diff --git a/ChooseMSVCCRT.cmake b/ChooseMSVCCRT.cmake -index b1561263..b6c8c3a6 100644 ---- a/ChooseMSVCCRT.cmake -+++ b/ChooseMSVCCRT.cmake -@@ -135,4 +135,3 @@ set(MSVC_CRT - MT - MTd) - --choose_msvc_crt(MSVC_CRT) diff --git a/ports/glslang/portfile.cmake b/ports/glslang/portfile.cmake index 08609f2a7e8e2f..ac3eb8e47d1c8f 100644 --- a/ports/glslang/portfile.cmake +++ b/ports/glslang/portfile.cmake @@ -1,55 +1,55 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO KhronosGroup/glslang - REF 2fb89a0072ae7316af1c856f22663fde4928128a #11.6.0 - SHA512 e22b85bb0c98d35c80f06dd6352d98c34ea0b965c5bec077d122d9aa346293672a11aec4964b410db8a6050c70dbc0a46fbbb599e178424d78234608075c110e - HEAD_REF master - PATCHES - ignore-crt.patch - always-install-resource-limits.patch + OUT_SOURCE_PATH SOURCE_PATH + REPO KhronosGroup/glslang + REF "${VERSION}" + SHA512 b246c6f280891b7c9b6cd0b5e85e03ccf1fe173cdfc40e566339a5698176cbcfe23eb7aeaba277f071222d76b9f2a00376d790d4d604aedad82e6196fab7fc70 + HEAD_REF master ) -vcpkg_find_acquire_program(PYTHON3) -get_filename_component(PYTHON_PATH ${PYTHON3} DIRECTORY) -vcpkg_add_to_path("${PYTHON_PATH}") +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(VCPKG_TARGET_IS_IOS) - # this case will report error since all executable will require BUNDLE DESTINATION - set(BUILD_BINARIES OFF) -else() - set(BUILD_BINARIES ON) +if(ENABLE_GLSLANG_BINARIES) + vcpkg_find_acquire_program(PYTHON3) + get_filename_component(PYTHON_PATH ${PYTHON3} DIRECTORY) + vcpkg_add_to_path("${PYTHON_PATH}") endif() vcpkg_cmake_configure( - SOURCE_PATH "${SOURCE_PATH}" - OPTIONS - -DSKIP_GLSLANG_INSTALL=OFF - -DBUILD_EXTERNAL=OFF - -DENABLE_GLSLANG_BINARIES=${BUILD_BINARIES} + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_EXTERNAL=OFF + -DGLSLANG_TESTS=OFF + ${FEATURE_OPTIONS} ) vcpkg_cmake_install() -vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake) - -vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/glslang DO_NOT_DELETE_PARENT_CONFIG_PATH) +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/${PORT}/glslang-config.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(NOT BUILD_BINARIES) - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin") -else() - vcpkg_copy_tools(TOOL_NAMES glslangValidator spirv-remap AUTO_CLEAN) +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() -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" - "${CURRENT_PACKAGES_DIR}/debug/bin") -if(EXISTS "${CURRENT_PACKAGES_DIR}/share/glslang/glslang-config.cmake" OR EXISTS "${CURRENT_PACKAGES_DIR}/share/glslang/glslangConfig.cmake") - message(FATAL_ERROR "glslang has been updated to provide a -config file -- please remove the vcpkg provided version from the portfile") +vcpkg_copy_pdbs() + +if(ENABLE_GLSLANG_BINARIES) + vcpkg_copy_tools(TOOL_NAMES glslang glslangValidator spirv-remap AUTO_CLEAN) endif() -file(COPY - "${CMAKE_CURRENT_LIST_DIR}/glslang-config.cmake" - DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" -) +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 +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/glslang/usage b/ports/glslang/usage new file mode 100644 index 00000000000000..6512fec48a908d --- /dev/null +++ b/ports/glslang/usage @@ -0,0 +1,4 @@ +glslang provides CMake targets: + + find_package(glslang CONFIG REQUIRED) + 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 e17f25a972bfca..d171ebaff83ee7 100644 --- a/ports/glslang/vcpkg.json +++ b/ports/glslang/vcpkg.json @@ -1,8 +1,9 @@ { "name": "glslang", - "version": "11.6.0", - "description": "Khronos reference front-end for GLSL and ESSL, and sample SPIR-V generator", + "version": "15.0.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", "dependencies": [ { "name": "vcpkg-cmake", @@ -12,5 +13,20 @@ "name": "vcpkg-cmake-config", "host": true } - ] + ], + "features": { + "opt": { + "description": "Build with spirv-opt capability", + "dependencies": [ + "spirv-tools" + ] + }, + "rtti": { + "description": "Build with dynamic typeinfo" + }, + "tools": { + "description": "Build the glslangValidator and spirv-remap binaries", + "supports": "!ios" + } + } } diff --git a/ports/glui/portfile.cmake b/ports/glui/portfile.cmake index a3b37a597141b3..00a1ae192cee8e 100644 --- a/ports/glui/portfile.cmake +++ b/ports/glui/portfile.cmake @@ -8,30 +8,29 @@ vcpkg_from_github( install-one-flavor.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) file(COPY - ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake - DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} + "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" ) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) vcpkg_replace_string( - ${CURRENT_PACKAGES_DIR}/include/GL/glui.h + "${CURRENT_PACKAGES_DIR}/include/GL/glui.h" "ifdef GLUIDLL" "if 1 //ifdef GLUIDLL" ) endif() -file(INSTALL ${SOURCE_PATH}/license.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/license.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/glui/vcpkg.json b/ports/glui/vcpkg.json index c585a4f2bfbc88..e9ce83d89eaafd 100644 --- a/ports/glui/vcpkg.json +++ b/ports/glui/vcpkg.json @@ -1,10 +1,20 @@ { "name": "glui", - "version-string": "2019-11-30", - "port-version": 1, + "version-date": "2019-11-30", + "port-version": 4, "description": "GLUI is a GLUT-based C++ user interface library", "homepage": "https://github.com/libglui/glui", + "supports": "!android", "dependencies": [ - "freeglut" + "freeglut", + "opengl", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/gmime/CMakeLists.txt b/ports/gmime/CMakeLists.txt index b957e4656e5fba..ce185ec39c8fd4 100644 --- a/ports/gmime/CMakeLists.txt +++ b/ports/gmime/CMakeLists.txt @@ -10,7 +10,7 @@ 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) -find_library(IDN_LIBRARY NAMES libidn2) +pkg_check_modules(IDN2 libidn2 IMPORTED_TARGET) if(MSVC) add_definitions(-D_CRT_SECURE_NO_DEPRECATE) @@ -46,7 +46,7 @@ set_target_properties(${PROJECT_NAME} PROPERTIES ) target_include_directories(${PROJECT_NAME} PRIVATE . ./util) -target_link_libraries(${PROJECT_NAME} PRIVATE Iconv::Iconv ZLIB::ZLIB ${IDN_LIBRARY}) +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) diff --git a/ports/gmime/portfile.cmake b/ports/gmime/portfile.cmake index d1e145a8381afa..dbdc226e4e342b 100644 --- a/ports/gmime/portfile.cmake +++ b/ports/gmime/portfile.cmake @@ -9,31 +9,30 @@ vcpkg_download_distfile(ARCHIVE SHA512 a60d3f9f1aa8490865c22cd9539544e9c9f3ceb4037b9749cf9e5c279f97aa88fc4cd077bf2aff314ba0db2a1b7bbe76f9b1ca5a17fffcbd6315ecebc5414a3d ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} - REF ${LIB_VERSION} +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" + SOURCE_BASE "${LIB_VERSION}" ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") # 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) +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_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DPKG_CONFIG_EXECUTABLE=${PKGCONFIG} + "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") # License and man -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${LIB_NAME} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${LIB_NAME}" RENAME copyright) vcpkg_copy_pdbs() diff --git a/ports/gmime/vcpkg.json b/ports/gmime/vcpkg.json index 356f24e44e7277..349a31b7051f2a 100644 --- a/ports/gmime/vcpkg.json +++ b/ports/gmime/vcpkg.json @@ -1,14 +1,19 @@ { "name": "gmime", "version": "3.2.6", - "port-version": 2, + "port-version": 6, "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/", - "supports": "windows", + "license": "LGPL-2.1-or-later", + "supports": "windows & !xbox", "dependencies": [ "glib", "libiconv", "libidn2", + { + "name": "vcpkg-cmake", + "host": true + }, "zlib" ] } diff --git a/ports/gmmlib/portfile.cmake b/ports/gmmlib/portfile.cmake index eef38b62225e2a..4f3e24d6d84507 100644 --- a/ports/gmmlib/portfile.cmake +++ b/ports/gmmlib/portfile.cmake @@ -7,14 +7,13 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO intel/gmmlib - REF intel-gmmlib-21.3.2 - SHA512 155f7077f3135ff812b9fe759e56fecd595f1c5dde9a377df31a9acedcfeea9d93751badba68077c00929a21cb87e1bd69b8fe3961ac61765fabbc5d6d89e6be + REF "intel-gmmlib-${VERSION}" + SHA512 516e2cc0d678d8fd44d8d2b1bfdf61c05670c01c906bd7f55a807846cd6399d4b616f86e6a1d85e2a6a0480c4616a40e9d5b29a3f45fbf588cc4d725ada71d49 HEAD_REF master ) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - OPTIONS -DARCH=64 ) vcpkg_cmake_install() @@ -24,5 +23,7 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/igdgmm/GmmLib/Scripts") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/igdgmm/GmmLib/Resource") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/igdgmm/GmmLib/GlobalInfo") +vcpkg_fixup_pkgconfig() + # Handle copyright configure_file("${SOURCE_PATH}/LICENSE.md" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) diff --git a/ports/gmmlib/vcpkg.json b/ports/gmmlib/vcpkg.json index 96a697a3db4877..90b14a1ba83b11 100644 --- a/ports/gmmlib/vcpkg.json +++ b/ports/gmmlib/vcpkg.json @@ -1,8 +1,9 @@ { "name": "gmmlib", - "version": "21.3.2", + "version": "22.5.2", "description": "Intel(R) Graphics Memory Management Library", "homepage": "https://github.com/intel/gmmlib", + "license": "MIT", "supports": "linux", "dependencies": [ { diff --git a/ports/gmp/adddef.patch b/ports/gmp/adddef.patch deleted file mode 100644 index c2276ffc10b2d6..00000000000000 --- a/ports/gmp/adddef.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/SMP/libgmp.def b/SMP/libgmp.def -index 289f0e2d1..632274ab2 100644 ---- a/SMP/libgmp.def -+++ b/SMP/libgmp.def -@@ -16,6 +16,7 @@ __gmp_randclear - __gmp_urandomb_ui - __gmp_urandomm_ui - __gmp_asprintf -+__gmp_vasprintf - __gmp_fprintf - __gmp_printf - __gmp_snprintf diff --git a/ports/gmp/arm64-coff.patch b/ports/gmp/arm64-coff.patch new file mode 100644 index 00000000000000..67bf5bf2073a2a --- /dev/null +++ b/ports/gmp/arm64-coff.patch @@ -0,0 +1,73 @@ +diff --git a/configure.ac b/configure.ac +index bd92bc4..bd2c0af 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -3704,6 +3704,8 @@ if test "$gmp_asm_syntax_testing" != no; then + case $host in + *-*-darwin*) + GMP_INCLUDE_MPN(arm64/darwin.m4) ;; ++ *-pc-mingw32) ++ GMP_INCLUDE_MPN(arm64/coff.m4) ;; + *) + GMP_INCLUDE_MPN(arm64/arm64-defs.m4) ;; + esac +diff --git a/mpn/arm64/coff.m4 b/mpn/arm64/coff.m4 +new file mode 100644 +index 0000000..88605b3 +--- /dev/null ++++ b/mpn/arm64/coff.m4 +@@ -0,0 +1,54 @@ ++divert(-1) ++ ++dnl m4 macros for ARM64 COFF assembler. ++ ++dnl Copyright 2020 Free Software Foundation, Inc. ++ ++dnl This file is part of the GNU MP Library. ++dnl ++dnl The GNU MP Library is free software; you can redistribute it and/or modify ++dnl it under the terms of either: ++dnl ++dnl * the GNU Lesser General Public License as published by the Free ++dnl Software Foundation; either version 3 of the License, or (at your ++dnl option) any later version. ++dnl ++dnl or ++dnl ++dnl * the GNU General Public License as published by the Free Software ++dnl Foundation; either version 2 of the License, or (at your option) any ++dnl later version. ++dnl ++dnl or both in parallel, as here. ++dnl ++dnl The GNU MP Library is distributed in the hope that it will be useful, but ++dnl WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY ++dnl or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ++dnl for more details. ++dnl ++dnl You should have received copies of the GNU General Public License and the ++dnl GNU Lesser General Public License along with the GNU MP Library. If not, ++dnl see https://www.gnu.org/licenses/. ++ ++ ++dnl Standard commenting is with @, the default m4 # is for constants and we ++dnl don't want to disable macro expansions in or after them. ++ ++changecom ++ ++ ++dnl LEA_HI(reg,gmp_symbol), LEA_LO(reg,gmp_symbol) ++dnl ++dnl Load the address of gmp_symbol into a register. We split this into two ++dnl parts to allow separation for manual insn scheduling. ++ ++define(`LEA_HI', `ldr $1, =$2')dnl ++define(`LEA_LO')dnl ++ ++dnl Usage: ALIGN(bytes) ++dnl ++dnl Emit a ".align" directive. ++ ++define(`ALIGN', ` .align 8')dnl ++ ++divert`'dnl diff --git a/ports/gmp/asmflags.patch b/ports/gmp/asmflags.patch new file mode 100644 index 00000000000000..f519b8c9a3a251 --- /dev/null +++ b/ports/gmp/asmflags.patch @@ -0,0 +1,46 @@ +diff --git a/acinclude.m4 b/acinclude.m4 +index 86175ce42..8228d20dc 100644 +--- a/acinclude.m4 ++++ b/acinclude.m4 +@@ -1649,7 +1649,7 @@ AC_DEFUN([GMP_TRY_ASSEMBLE], + [cat >conftest.s <&AC_FD_CC + ifelse([$2],,:,[$2]) +@@ -2382,7 +2382,7 @@ for tmp_underscore in "" "_"; do + ${tmp_gsym_prefix}main$gmp_cv_asm_label_suffix + addl $ ${tmp_underscore}_GLOBAL_OFFSET_TABLE_, %ebx + EOF +- gmp_compile="$CCAS $CFLAGS $CPPFLAGS $lt_prog_compiler_pic conftest.s >&AC_FD_CC && $CC $CFLAGS $CPPFLAGS $lt_prog_compiler_pic conftest.$OBJEXT >&AC_FD_CC" ++ gmp_compile="$CCAS $CPPFLAGS $ASMFLAGS $lt_prog_compiler_pic conftest.s >&AC_FD_CC && $CC $CPPFLAGS $ASMFLAGS $lt_prog_compiler_pic conftest.$OBJEXT >&AC_FD_CC" + if AC_TRY_EVAL(gmp_compile); then + if test "$tmp_underscore" = "_"; then + gmp_cv_asm_x86_got_underscore=yes +@@ -2556,7 +2556,7 @@ movq-bug) + AC_MSG_WARN([+----------------------------------------------------------]) + AC_MSG_WARN([| WARNING WARNING WARNING]) + AC_MSG_WARN([| Host CPU has MMX code, but the assembler]) +- AC_MSG_WARN([| $CCAS $CFLAGS $CPPFLAGS]) ++ AC_MSG_WARN([| $CCAS $CPPFLAGS $ASMFLAGS]) + AC_MSG_WARN([| has the Solaris 2.6 and 2.7 bug where register to register]) + AC_MSG_WARN([| movq operands are reversed.]) + AC_MSG_WARN([| Non-MMX replacements will be used.]) +diff --git a/mpn/Makeasm.am b/mpn/Makeasm.am +index 5d7306c22..75692128d 100644 +--- a/mpn/Makeasm.am ++++ b/mpn/Makeasm.am +@@ -31,8 +31,9 @@ + + # COMPILE minus CC. + # ++# Only used with CCAS + COMPILE_FLAGS = $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ +- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) $(ASMFLAGS) ++ $(CPPFLAGS) $(ASMFLAGS) + + # Flags used for preprocessing (in ansi2knr rules). + # diff --git a/ports/gmp/cross-tools.patch b/ports/gmp/cross-tools.patch new file mode 100644 index 00000000000000..422fecaaa7b184 --- /dev/null +++ b/ports/gmp/cross-tools.patch @@ -0,0 +1,113 @@ +diff --git a/Makefile.am b/Makefile.am +index 03356e0..9651b59 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -1,3 +1,7 @@ ++# Using native tools, either this build or from host triplet ++HOST_TOOLS_PREFIX ?= . ++CC_FOR_BUILD = $(CC) $(CPPFLAGS) $(CFLAGS) ++ + ## Process this file with automake to generate Makefile.in + + +@@ -345,8 +349,8 @@ install-data-hook: + + EXTRA_DIST += bootstrap.c + +-fac_table.h: gen-fac$(EXEEXT_FOR_BUILD) +- ./gen-fac $(GMP_LIMB_BITS) $(GMP_NAIL_BITS) >fac_table.h || (rm -f fac_table.h; exit 1) ++fac_table.h: $(HOST_TOOLS_PREFIX)/gen-fac$(EXEEXT_FOR_BUILD) ++ $(HOST_TOOLS_PREFIX)/gen-fac $(GMP_LIMB_BITS) $(GMP_NAIL_BITS) >fac_table.h || (rm -f fac_table.h; exit 1) + BUILT_SOURCES += fac_table.h + + gen-fac$(EXEEXT_FOR_BUILD): gen-fac$(U_FOR_BUILD).c bootstrap.c +@@ -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) ++fib_table.h: $(HOST_TOOLS_PREFIX)/gen-fib$(EXEEXT_FOR_BUILD) ++ $(HOST_TOOLS_PREFIX)/gen-fib header $(GMP_LIMB_BITS) $(GMP_NAIL_BITS) >fib_table.h || (rm -f fib_table.h; exit 1) + BUILT_SOURCES += fib_table.h + +-mpn/fib_table.c: gen-fib$(EXEEXT_FOR_BUILD) +- ./gen-fib table $(GMP_LIMB_BITS) $(GMP_NAIL_BITS) >mpn/fib_table.c || (rm -f mpn/fib_table.c; exit 1) ++mpn/fib_table.c: $(HOST_TOOLS_PREFIX)/gen-fib$(EXEEXT_FOR_BUILD) ++ $(HOST_TOOLS_PREFIX)/gen-fib table $(GMP_LIMB_BITS) $(GMP_NAIL_BITS) >mpn/fib_table.c || (rm -f mpn/fib_table.c; exit 1) + BUILT_SOURCES += mpn/fib_table.c + + gen-fib$(EXEEXT_FOR_BUILD): gen-fib$(U_FOR_BUILD).c bootstrap.c +@@ -378,12 +382,12 @@ DISTCLEANFILES += gen-fib$(EXEEXT_FOR_BUILD) + EXTRA_DIST += gen-fib.c + + +-mp_bases.h: gen-bases$(EXEEXT_FOR_BUILD) +- ./gen-bases header $(GMP_LIMB_BITS) $(GMP_NAIL_BITS) >mp_bases.h || (rm -f mp_bases.h; exit 1) ++mp_bases.h: $(HOST_TOOLS_PREFIX)/gen-bases$(EXEEXT_FOR_BUILD) ++ $(HOST_TOOLS_PREFIX)/gen-bases header $(GMP_LIMB_BITS) $(GMP_NAIL_BITS) >mp_bases.h || (rm -f mp_bases.h; exit 1) + BUILT_SOURCES += mp_bases.h + +-mpn/mp_bases.c: gen-bases$(EXEEXT_FOR_BUILD) +- ./gen-bases table $(GMP_LIMB_BITS) $(GMP_NAIL_BITS) >mpn/mp_bases.c || (rm -f mpn/mp_bases.c; exit 1) ++mpn/mp_bases.c: $(HOST_TOOLS_PREFIX)/gen-bases$(EXEEXT_FOR_BUILD) ++ $(HOST_TOOLS_PREFIX)/gen-bases table $(GMP_LIMB_BITS) $(GMP_NAIL_BITS) >mpn/mp_bases.c || (rm -f mpn/mp_bases.c; exit 1) + BUILT_SOURCES += mpn/mp_bases.c + + gen-bases$(EXEEXT_FOR_BUILD): gen-bases$(U_FOR_BUILD).c bootstrap.c +@@ -392,8 +396,8 @@ DISTCLEANFILES += gen-bases$(EXEEXT_FOR_BUILD) + EXTRA_DIST += gen-bases.c + + +-trialdivtab.h: gen-trialdivtab$(EXEEXT_FOR_BUILD) +- ./gen-trialdivtab $(GMP_LIMB_BITS) 8000 >trialdivtab.h || (rm -f trialdivtab.h; exit 1) ++trialdivtab.h: $(HOST_TOOLS_PREFIX)/gen-trialdivtab$(EXEEXT_FOR_BUILD) ++ $(HOST_TOOLS_PREFIX)/gen-trialdivtab $(GMP_LIMB_BITS) 8000 >trialdivtab.h || (rm -f trialdivtab.h; exit 1) + BUILT_SOURCES += trialdivtab.h + + gen-trialdivtab$(EXEEXT_FOR_BUILD): gen-trialdivtab$(U_FOR_BUILD).c bootstrap.c +@@ -402,8 +406,8 @@ DISTCLEANFILES += gen-trialdivtab$(EXEEXT_FOR_BUILD) + EXTRA_DIST += gen-trialdivtab.c + + +-mpn/jacobitab.h: gen-jacobitab$(EXEEXT_FOR_BUILD) +- ./gen-jacobitab >mpn/jacobitab.h || (rm -f mpn/jacobitab.h; exit 1) ++mpn/jacobitab.h: $(HOST_TOOLS_PREFIX)/gen-jacobitab$(EXEEXT_FOR_BUILD) ++ $(HOST_TOOLS_PREFIX)/gen-jacobitab >mpn/jacobitab.h || (rm -f mpn/jacobitab.h; exit 1) + BUILT_SOURCES += mpn/jacobitab.h + + gen-jacobitab$(EXEEXT_FOR_BUILD): gen-jacobitab$(U_FOR_BUILD).c +@@ -412,8 +416,8 @@ DISTCLEANFILES += gen-jacobitab$(EXEEXT_FOR_BUILD) + EXTRA_DIST += gen-jacobitab.c + + +-mpn/perfsqr.h: gen-psqr$(EXEEXT_FOR_BUILD) +- ./gen-psqr $(GMP_LIMB_BITS) $(GMP_NAIL_BITS) >mpn/perfsqr.h || (rm -f mpn/perfsqr.h; exit 1) ++mpn/perfsqr.h: $(HOST_TOOLS_PREFIX)/gen-psqr$(EXEEXT_FOR_BUILD) ++ $(HOST_TOOLS_PREFIX)/gen-psqr $(GMP_LIMB_BITS) $(GMP_NAIL_BITS) >mpn/perfsqr.h || (rm -f mpn/perfsqr.h; exit 1) + BUILT_SOURCES += mpn/perfsqr.h + + gen-psqr$(EXEEXT_FOR_BUILD): gen-psqr$(U_FOR_BUILD).c bootstrap.c +diff --git a/acinclude.m4 b/acinclude.m4 +index aea4c38..aaef13a 100644 +--- a/acinclude.m4 ++++ b/acinclude.m4 +@@ -3833,6 +3833,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 + cc_for_build_works=yes + fi ++ cc_for_build_works=yes # forced + fi + rm -f conftest* a.out b.out a.exe a_out.exe + AC_MSG_RESULT($cc_for_build_works) diff --git a/ports/gmp/msvc_symbol.patch b/ports/gmp/msvc_symbol.patch new file mode 100644 index 00000000000000..a7dc88f762b392 --- /dev/null +++ b/ports/gmp/msvc_symbol.patch @@ -0,0 +1,28 @@ +diff --git a/configure.ac b/configure.ac +index cafdb3c..3c3e3c8 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2702,9 +2702,7 @@ Use "--disable-static --enable-shared" to build just a DLL.]) + # __isascii, but for some reason not the plain isascii. + # + if test "$enable_shared" = yes; then +- GMP_LDFLAGS="$GMP_LDFLAGS -no-undefined -Wl,--export-all-symbols" +- LIBGMP_LDFLAGS="$LIBGMP_LDFLAGS -Wl,--output-def,.libs/libgmp-3.dll.def" +- LIBGMPXX_LDFLAGS="$LIBGMP_LDFLAGS -Wl,--output-def,.libs/libgmpxx-3.dll.def" ++ GMP_LDFLAGS="$GMP_LDFLAGS -no-undefined" + LIBGMP_DLL=1 + fi + ;; +diff --git a/gmp-h.in b/gmp-h.in +index 3d449d4..18a03b7 100644 +--- a/gmp-h.in ++++ b/gmp-h.in +@@ -398,7 +398,7 @@ typedef __mpq_struct *mpq_ptr; + + /* Microsoft's C compiler accepts __inline */ + #ifdef _MSC_VER +-#define __GMP_EXTERN_INLINE __inline ++#define __GMP_EXTERN_INLINE static __inline + #endif + + /* Recent enough Sun C compilers want "inline" */ diff --git a/ports/gmp/portfile.cmake b/ports/gmp/portfile.cmake index 6007ad9c60dd3b..11b662b3ee77fd 100644 --- a/ports/gmp/portfile.cmake +++ b/ports/gmp/portfile.cmake @@ -2,116 +2,130 @@ 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() -if(VCPKG_TARGET_IS_WINDOWS) - vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO ShiftMediaProject/gmp - REF 0018c44e8dfcc3b64b43e0aea4b3f419f0b65fd0 #v6.2.1-2 - SHA512 2405e2536ca9fe0b890f44f54c936ac0e4b5a9ebe6a19e1c48a9c21b7211d2a1b45865852e3c65a98a6735216a4e27bea75c0fd6e52efeed4baecd95da9895a5 - HEAD_REF master - PATCHES - vs.build.patch - runtime.patch - adddef.patch - ) +vcpkg_download_distfile( + ARCHIVE + URLS + "https://ftpmirror.gnu.org/gmp/gmp-${VERSION}.tar.xz" + "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 e85a0dab5195889948a3462189f0e0598d331d3457612e2d3350799dba2e244316d256f8161df5219538eb003e4b5343f989aaa00f96321559063ed8c8f29fd2 +) - yasm_tool_helper(OUT_VAR YASM) - file(TO_NATIVE_PATH "${YASM}" YASM) +vcpkg_extract_source_archive(SOURCE_PATH + ARCHIVE "${ARCHIVE}" + SOURCE_BASE "v${VERSION}" + PATCHES + asmflags.patch + cross-tools.patch + subdirs.patch + msvc_symbol.patch + arm64-coff.patch +) - if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - set(CONFIGURATION_RELEASE ReleaseDLL) - set(CONFIGURATION_DEBUG DebugDLL) - else() - set(CONFIGURATION_RELEASE Release) - set(CONFIGURATION_DEBUG Debug) - endif() +vcpkg_list(SET OPTIONS) +if("fat" IN_LIST FEATURES) + vcpkg_list(APPEND OPTIONS "--enable-fat") +endif() - if(VCPKG_TARGET_IS_UWP) - string(APPEND CONFIGURATION_RELEASE WinRT) - string(APPEND CONFIGURATION_DEBUG WinRT) - endif() +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + vcpkg_list(APPEND OPTIONS + "ac_cv_func_memset=yes" + "gmp_cv_asm_w32=.word" + "gmp_cv_check_libm_for_build=no" + ) +endif() - #Setup YASM integration - set(_porjectfile) - if(VCPKG_TARGET_IS_UWP) - set(_porjectfile "${SOURCE_PATH}/SMP/libgmp_winrt.vcxproj") +set(disable_assembly OFF) +set(ccas "") +set(asmflags "-c") +vcpkg_cmake_get_vars(cmake_vars_file) +include("${cmake_vars_file}") +if(VCPKG_DETECTED_CMAKE_C_COMPILER_ID STREQUAL "MSVC") + if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + string(APPEND asmflags " --target=i686-pc-windows-msvc") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + string(APPEND asmflags " --target=x86_64-pc-windows-msvc") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") + string(APPEND asmflags " --target=arm64-pc-windows-msvc") else() - set(_porjectfile "${SOURCE_PATH}/SMP/libgmp.vcxproj") + set(disable_assembly ON) endif() - set(_file "${_porjectfile}") - file(READ "${_file}" _contents) - string(REPLACE [[]] - "" - _contents "${_contents}") - string(REPLACE [[]] - "" - _contents "${_contents}") - file(WRITE "${_file}" "${_contents}") - - vcpkg_install_msbuild( - USE_VCPKG_INTEGRATION - SOURCE_PATH ${SOURCE_PATH} - PROJECT_SUBPATH SMP/libgmp.sln - PLATFORM ${TRIPLET_SYSTEM_ARCH} - LICENSE_SUBPATH COPYING.LESSERv3 - TARGET Rebuild - RELEASE_CONFIGURATION ${CONFIGURATION_RELEASE} - DEBUG_CONFIGURATION ${CONFIGURATION_DEBUG} - SKIP_CLEAN - OPTIONS "/p:YasmPath=${YASM}" - ) - get_filename_component(SOURCE_PATH_SUFFIX "${SOURCE_PATH}" NAME) - file(RENAME "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/${SOURCE_PATH_SUFFIX}/msvc/include" "${CURRENT_PACKAGES_DIR}/include") - set(PACKAGE_VERSION 6.2.1) - set(PACKAGE_NAME gmp) - set(prefix "${CURRENT_INSTALLED_DIR}") - set(exec_prefix "\${prefix}") - set(libdir "\${prefix}/lib") - set(includedir "\${prefix}/include") - set(LIBS -lgmp) - configure_file("${SOURCE_PATH}/gmp.pc.in" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/gmp.pc" @ONLY) - configure_file("${SOURCE_PATH}/gmpxx.pc.in" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/gmpxx.pc" @ONLY) - set(prefix "${CURRENT_INSTALLED_DIR}/debug") - set(exec_prefix "\${prefix}") - set(libdir "\${prefix}/lib") - set(includedir "\${prefix}/../include") - set(LIBS -lgmpd) - configure_file("${SOURCE_PATH}/gmp.pc.in" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/gmp.pc" @ONLY) - configure_file("${SOURCE_PATH}/gmpxx.pc.in" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/gmpxx.pc" @ONLY) - vcpkg_fixup_pkgconfig() - if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/gmp.h" - "#if defined(DLL_EXPORT) && defined(NO_ASM)" - "#if 1") + if(NOT disable_assembly) + vcpkg_find_acquire_program(CLANG) + set(ccas "${CLANG}") endif() +elseif(VCPKG_TARGET_IS_MINGW AND VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + # not exporting asm functions + set(disable_assembly ON) +elseif(VCPKG_TARGET_IS_LINUX AND VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + set(ccas "${VCPKG_DETECTED_CMAKE_C_COMPILER}") + vcpkg_list(APPEND OPTIONS "ABI=32") + string(APPEND asmflags " -m32") else() - vcpkg_download_distfile( - ARCHIVE - URLS https://gmplib.org/download/gmp/gmp-6.2.1.tar.xz - FILENAME gmp-6.2.1.tar.xz - SHA512 c99be0950a1d05a0297d65641dd35b75b74466f7bf03c9e8a99895a3b2f9a0856cd17887738fa51cf7499781b65c049769271cbcb77d057d2e9f1ec52e07dd84 - ) + set(ccas "${VCPKG_DETECTED_CMAKE_C_COMPILER}") +endif() - vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} - REF gmp-6.2.1 - PATCHES - tools.patch - ) +if(disable_assembly) + vcpkg_list(APPEND OPTIONS "--enable-assembly=no") +elseif(ccas) + cmake_path(GET ccas PARENT_PATH ccas_dir) + vcpkg_add_to_path("${ccas_dir}") + cmake_path(GET ccas FILENAME ccas_command) +endif() +vcpkg_list(APPEND OPTIONS "CCAS=${ccas_command}" "ASMFLAGS=${asmflags}") - vcpkg_configure_make( - SOURCE_PATH ${SOURCE_PATH} - AUTOCONFIG - OPTIONS - --enable-cxx - ) +if(VCPKG_CROSSCOMPILING) + set(ENV{HOST_TOOLS_PREFIX} "${CURRENT_HOST_INSTALLED_DIR}/manual-tools/${PORT}") +endif() - vcpkg_install_make() - vcpkg_fixup_pkgconfig() - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share/") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +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 + --with-pic + --with-readline=no + "gmp_cv_prog_exeext_for_build=${VCPKG_HOST_EXECUTABLE_SUFFIX}" +) +vcpkg_install_make() +vcpkg_fixup_pkgconfig() - # # Handle copyright - file(INSTALL "${SOURCE_PATH}/COPYINGv3" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +if(NOT VCPKG_CROSSCOMPILING) + file(INSTALL + "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/gen-bases${VCPKG_HOST_EXECUTABLE_SUFFIX}" + "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/gen-fac${VCPKG_HOST_EXECUTABLE_SUFFIX}" + "${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 + ) + vcpkg_copy_tool_dependencies("${CURRENT_HOST_INSTALLED_DIR}/manual-tools/${PORT}") endif() + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/share" + "${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}/README" + "${SOURCE_PATH}/COPYING.LESSERv3" + "${SOURCE_PATH}/COPYINGv3" + "${SOURCE_PATH}/COPYINGv2" +) diff --git a/ports/gmp/runtime.patch b/ports/gmp/runtime.patch deleted file mode 100644 index f219e3dc740043..00000000000000 --- a/ports/gmp/runtime.patch +++ /dev/null @@ -1,180 +0,0 @@ -diff --git a/SMP/smp.props b/SMP/smp.props -index fc70bd8..d515523 100644 ---- a/SMP/smp.props -+++ b/SMP/smp.props -@@ -86,7 +86,7 @@ - - - -- lib$(RootNamespace)d -+ $(RootNamespace)d - $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated -@@ -94,7 +94,7 @@ - MSB8012 - - -- lib$(RootNamespace)d -+ $(RootNamespace)d - $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated -@@ -118,7 +118,7 @@ - MSB8012 - - -- lib$(RootNamespace) -+ $(RootNamespace) - $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated -@@ -126,7 +126,7 @@ - MSB8012 - - -- lib$(RootNamespace) -+ $(RootNamespace) - $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated -@@ -159,6 +159,7 @@ - $(OutDir)\lib\x86\$(TargetName).pdb - false - 4113;%(TreatSpecificWarningsAsErrors) -+ MultiThreadedDebug - - - $(OutDir)\lib\x86\$(TargetName)$(TargetExt) -@@ -177,6 +178,7 @@ - $(OutDir)\lib\x64\$(TargetName).pdb - false - 4113;%(TreatSpecificWarningsAsErrors) -+ MultiThreadedDebug - - - $(OutDir)\lib\x64\$(TargetName)$(TargetExt) -@@ -196,6 +198,7 @@ - $(IntDir)$(TargetName).pdb - false - 4113;%(TreatSpecificWarningsAsErrors) -+ MultiThreadedDebugDLL - - - $(OutDir)\bin\x86\$(TargetName)$(TargetExt) -@@ -219,6 +222,7 @@ - $(IntDir)$(TargetName).pdb - false - 4113;%(TreatSpecificWarningsAsErrors) -+ MultiThreadedDebugDLL - - - $(OutDir)\bin\x64\$(TargetName)$(TargetExt) -@@ -248,6 +252,7 @@ - SingleFile - $(OutDir)\lib\x86\$(TargetName).pdb - 4113;%(TreatSpecificWarningsAsErrors) -+ MultiThreaded - - - $(OutDir)\lib\x86\$(TargetName)$(TargetExt) -@@ -273,6 +278,7 @@ - SingleFile - $(OutDir)\lib\x64\$(TargetName).pdb - 4113;%(TreatSpecificWarningsAsErrors) -+ MultiThreaded - - - $(OutDir)\lib\x64\$(TargetName)$(TargetExt) -@@ -297,6 +303,7 @@ - $(OutDir)\include;$(ProjectDir)\..\..\prebuilt\include;%(AdditionalIncludeDirectories) - $(IntDir)$(TargetName).pdb - 4113;%(TreatSpecificWarningsAsErrors) -+ MultiThreadedDLL - - - true -@@ -328,6 +335,7 @@ - $(OutDir)\include;$(ProjectDir)\..\..\prebuilt\include;%(AdditionalIncludeDirectories) - $(IntDir)$(TargetName).pdb - 4113;%(TreatSpecificWarningsAsErrors) -+ MultiThreadedDLL - - - true -diff --git a/SMP/smp_winrt.props b/SMP/smp_winrt.props -index cb5f090..19b2b8d 100644 ---- a/SMP/smp_winrt.props -+++ b/SMP/smp_winrt.props -@@ -97,7 +97,7 @@ - - - -- lib$(RootNamespace)d_winrt -+ l$(RootNamespace)d - $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated -@@ -105,7 +105,7 @@ - MSB8012 - - -- lib$(RootNamespace)d_winrt -+ $(RootNamespace)d - $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated -@@ -113,7 +113,7 @@ - MSB8012 - - -- $(RootNamespace)d_winrt -+ $(RootNamespace)d - $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated -@@ -121,7 +121,7 @@ - MSB8012 - - -- $(RootNamespace)d_winrt -+ $(RootNamespace)d - $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated -@@ -129,7 +129,7 @@ - MSB8012 - - -- lib$(RootNamespace)_winrt -+ $(RootNamespace) - $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated -@@ -137,7 +137,7 @@ - MSB8012 - - -- lib$(RootNamespace)_winrt -+ $(RootNamespace) - $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated -@@ -145,7 +145,7 @@ - MSB8012 - - -- $(RootNamespace)_winrt -+ $(RootNamespace) - $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated -@@ -153,7 +153,7 @@ - MSB8012 - - -- $(RootNamespace)_winrt -+ $(RootNamespace) - $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated diff --git a/ports/gmp/subdirs.patch b/ports/gmp/subdirs.patch new file mode 100644 index 00000000000000..4c5033f7b6b29a --- /dev/null +++ b/ports/gmp/subdirs.patch @@ -0,0 +1,13 @@ +diff --git a/Makefile.am b/Makefile.am +index 9f92a4f..e35629d 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -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 ++SUBDIRS = mpn mpz mpq mpf printf rand cxx + + EXTRA_DIST = configfsf.guess configfsf.sub .gdbinit INSTALL.autoconf \ + COPYING.LESSERv3 COPYINGv2 COPYINGv3 diff --git a/ports/gmp/tools.patch b/ports/gmp/tools.patch deleted file mode 100644 index 193f3835b80990..00000000000000 --- a/ports/gmp/tools.patch +++ /dev/null @@ -1,58 +0,0 @@ -diff --git a/Makefile.am b/Makefile.am -index 1c24694..656aa3a 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -349,7 +349,7 @@ fac_table.h: gen-fac$(EXEEXT_FOR_BUILD) - BUILT_SOURCES += fac_table.h - - gen-fac$(EXEEXT_FOR_BUILD): gen-fac$(U_FOR_BUILD).c bootstrap.c -- $(CC_FOR_BUILD) `test -f 'gen-fac$(U_FOR_BUILD).c' || echo '$(srcdir)/'`gen-fac$(U_FOR_BUILD).c -o gen-fac$(EXEEXT_FOR_BUILD) -+ $(CC_FOR_BUILD) `test -f 'gen-fac$(U_FOR_BUILD).c' || echo '$(srcdir)/'`gen-fac$(U_FOR_BUILD).c $(CFLAGS) -o gen-fac$(EXEEXT_FOR_BUILD) - DISTCLEANFILES += gen-fac$(EXEEXT_FOR_BUILD) - EXTRA_DIST += gen-fac.c - -@@ -363,7 +363,7 @@ mpn/fib_table.c: gen-fib$(EXEEXT_FOR_BUILD) - BUILT_SOURCES += mpn/fib_table.c - - gen-fib$(EXEEXT_FOR_BUILD): gen-fib$(U_FOR_BUILD).c bootstrap.c -- $(CC_FOR_BUILD) `test -f 'gen-fib$(U_FOR_BUILD).c' || echo '$(srcdir)/'`gen-fib$(U_FOR_BUILD).c -o gen-fib$(EXEEXT_FOR_BUILD) -+ $(CC_FOR_BUILD) `test -f 'gen-fib$(U_FOR_BUILD).c' || echo '$(srcdir)/'`gen-fib$(U_FOR_BUILD).c $(CFLAGS) -o gen-fib$(EXEEXT_FOR_BUILD) - DISTCLEANFILES += gen-fib$(EXEEXT_FOR_BUILD) - EXTRA_DIST += gen-fib.c - -@@ -377,7 +377,7 @@ mpn/mp_bases.c: gen-bases$(EXEEXT_FOR_BUILD) - BUILT_SOURCES += mpn/mp_bases.c - - gen-bases$(EXEEXT_FOR_BUILD): gen-bases$(U_FOR_BUILD).c bootstrap.c -- $(CC_FOR_BUILD) `test -f 'gen-bases$(U_FOR_BUILD).c' || echo '$(srcdir)/'`gen-bases$(U_FOR_BUILD).c -o gen-bases$(EXEEXT_FOR_BUILD) $(LIBM_FOR_BUILD) -+ $(CC_FOR_BUILD) `test -f 'gen-bases$(U_FOR_BUILD).c' || echo '$(srcdir)/'`gen-bases$(U_FOR_BUILD).c $(CFLAGS) -o gen-bases$(EXEEXT_FOR_BUILD) $(LIBM_FOR_BUILD) - DISTCLEANFILES += gen-bases$(EXEEXT_FOR_BUILD) - EXTRA_DIST += gen-bases.c - -@@ -387,7 +387,7 @@ trialdivtab.h: gen-trialdivtab$(EXEEXT_FOR_BUILD) - BUILT_SOURCES += trialdivtab.h - - gen-trialdivtab$(EXEEXT_FOR_BUILD): gen-trialdivtab$(U_FOR_BUILD).c bootstrap.c -- $(CC_FOR_BUILD) `test -f 'gen-trialdivtab$(U_FOR_BUILD).c' || echo '$(srcdir)/'`gen-trialdivtab$(U_FOR_BUILD).c -o gen-trialdivtab$(EXEEXT_FOR_BUILD) $(LIBM_FOR_BUILD) -+ $(CC_FOR_BUILD) `test -f 'gen-trialdivtab$(U_FOR_BUILD).c' || echo '$(srcdir)/'`gen-trialdivtab$(U_FOR_BUILD).c $(CFLAGS) -o gen-trialdivtab$(EXEEXT_FOR_BUILD) $(LIBM_FOR_BUILD) - DISTCLEANFILES += gen-trialdivtab$(EXEEXT_FOR_BUILD) - EXTRA_DIST += gen-trialdivtab.c - -@@ -397,7 +397,7 @@ mpn/jacobitab.h: gen-jacobitab$(EXEEXT_FOR_BUILD) - BUILT_SOURCES += mpn/jacobitab.h - - gen-jacobitab$(EXEEXT_FOR_BUILD): gen-jacobitab$(U_FOR_BUILD).c -- $(CC_FOR_BUILD) `test -f 'gen-jacobitab$(U_FOR_BUILD).c' || echo '$(srcdir)/'`gen-jacobitab$(U_FOR_BUILD).c -o gen-jacobitab$(EXEEXT_FOR_BUILD) -+ $(CC_FOR_BUILD) `test -f 'gen-jacobitab$(U_FOR_BUILD).c' || echo '$(srcdir)/'`gen-jacobitab$(U_FOR_BUILD).c $(CFLAGS) -o gen-jacobitab$(EXEEXT_FOR_BUILD) - DISTCLEANFILES += gen-jacobitab$(EXEEXT_FOR_BUILD) - EXTRA_DIST += gen-jacobitab.c - -@@ -407,7 +407,7 @@ mpn/perfsqr.h: gen-psqr$(EXEEXT_FOR_BUILD) - BUILT_SOURCES += mpn/perfsqr.h - - gen-psqr$(EXEEXT_FOR_BUILD): gen-psqr$(U_FOR_BUILD).c bootstrap.c -- $(CC_FOR_BUILD) `test -f 'gen-psqr$(U_FOR_BUILD).c' || echo '$(srcdir)/'`gen-psqr$(U_FOR_BUILD).c -o gen-psqr$(EXEEXT_FOR_BUILD) $(LIBM_FOR_BUILD) -+ $(CC_FOR_BUILD) `test -f 'gen-psqr$(U_FOR_BUILD).c' || echo '$(srcdir)/'`gen-psqr$(U_FOR_BUILD).c $(CFLAGS) -o gen-psqr$(EXEEXT_FOR_BUILD) $(LIBM_FOR_BUILD) - DISTCLEANFILES += gen-psqr$(EXEEXT_FOR_BUILD) - EXTRA_DIST += gen-psqr.c - diff --git a/ports/gmp/usage b/ports/gmp/usage new file mode 100644 index 00000000000000..c8ff10a975d4ac --- /dev/null +++ b/ports/gmp/usage @@ -0,0 +1,11 @@ +The package gmp can be imported via CMake FindPkgConfig module: + + # gmp + find_package(PkgConfig REQUIRED) + pkg_check_modules(gmp REQUIRED IMPORTED_TARGET gmp) + target_link_libraries(main PkgConfig::gmp) + + # gmpxx + find_package(PkgConfig REQUIRED) + pkg_check_modules(gmpxx REQUIRED IMPORTED_TARGET gmpxx) + target_link_libraries(main PkgConfig::gmpxx) diff --git a/ports/gmp/vcpkg.json b/ports/gmp/vcpkg.json index f907a9babdb175..b8278e524d3491 100644 --- a/ports/gmp/vcpkg.json +++ b/ports/gmp/vcpkg.json @@ -1,20 +1,25 @@ { "name": "gmp", - "version-string": "6.2.1", - "port-version": 7, + "version": "6.3.0", + "port-version": 1, "description": "The GNU Multiple Precision Arithmetic Library", "homepage": "https://gmplib.org", - "supports": "!(windows & (arm | arm64))", + "license": "LGPL-3.0-only OR GPL-2.0-only", + "supports": "!xbox", "dependencies": [ { - "name": "vs-yasm", - "host": true, - "platform": "windows" + "name": "gmp", + "host": true }, { - "name": "yasm-tool", - "host": true, - "platform": "windows" + "name": "vcpkg-cmake-get-vars", + "host": true } - ] + ], + "features": { + "fat": { + "description": "Enable runtime selection of optimized low level routines", + "supports": "!windows | mingw" + } + } } diff --git a/ports/gmp/vs.build.patch b/ports/gmp/vs.build.patch deleted file mode 100644 index 4c04d0c1659645..00000000000000 --- a/ports/gmp/vs.build.patch +++ /dev/null @@ -1,172 +0,0 @@ -diff --git a/SMP/smp.props b/SMP/smp.props -index e2ed214..fc70bd8 100644 ---- a/SMP/smp.props -+++ b/SMP/smp.props -@@ -87,7 +87,7 @@ - - - lib$(RootNamespace)d -- $(ProjectDir)..\..\..\msvc\ -+ $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated - Clean -@@ -95,7 +95,7 @@ - - - lib$(RootNamespace)d -- $(ProjectDir)..\..\..\msvc\ -+ $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated - Clean -@@ -103,7 +103,7 @@ - - - $(RootNamespace)d -- $(ProjectDir)..\..\..\msvc\ -+ $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated - Clean -@@ -111,7 +111,7 @@ - - - $(RootNamespace)d -- $(ProjectDir)..\..\..\msvc\ -+ $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated - Clean -@@ -119,7 +119,7 @@ - - - lib$(RootNamespace) -- $(ProjectDir)..\..\..\msvc\ -+ $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated - Clean -@@ -127,7 +127,7 @@ - - - lib$(RootNamespace) -- $(ProjectDir)..\..\..\msvc\ -+ $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated - Clean -@@ -135,7 +135,7 @@ - - - $(RootNamespace) -- $(ProjectDir)..\..\..\msvc\ -+ $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated - Clean -@@ -143,7 +143,7 @@ - - - $(RootNamespace) -- $(ProjectDir)..\..\..\msvc\ -+ $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated - Clean -diff --git a/SMP/smp_winrt.props b/SMP/smp_winrt.props -index 9b453a5..cb5f090 100644 ---- a/SMP/smp_winrt.props -+++ b/SMP/smp_winrt.props -@@ -98,7 +98,7 @@ - - - lib$(RootNamespace)d_winrt -- $(ProjectDir)..\..\..\msvc\ -+ $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated - Clean -@@ -106,7 +106,7 @@ - - - lib$(RootNamespace)d_winrt -- $(ProjectDir)..\..\..\msvc\ -+ $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated - Clean -@@ -114,7 +114,7 @@ - - - $(RootNamespace)d_winrt -- $(ProjectDir)..\..\..\msvc\ -+ $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated - Clean -@@ -122,7 +122,7 @@ - - - $(RootNamespace)d_winrt -- $(ProjectDir)..\..\..\msvc\ -+ $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated - Clean -@@ -130,7 +130,7 @@ - - - lib$(RootNamespace)_winrt -- $(ProjectDir)..\..\..\msvc\ -+ $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated - Clean -@@ -138,7 +138,7 @@ - - - lib$(RootNamespace)_winrt -- $(ProjectDir)..\..\..\msvc\ -+ $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated - Clean -@@ -146,7 +146,7 @@ - - - $(RootNamespace)_winrt -- $(ProjectDir)..\..\..\msvc\ -+ $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated - Clean -@@ -154,7 +154,7 @@ - - - $(RootNamespace)_winrt -- $(ProjectDir)..\..\..\msvc\ -+ $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated - Clean -diff --git a/gmp.pc.in b/gmp.pc.in -index bf1c799..d0c81be 100644 ---- a/gmp.pc.in -+++ b/gmp.pc.in -@@ -8,4 +8,4 @@ Description: GNU Multiple Precision Arithmetic Library - URL: https://gmplib.org - Version: @PACKAGE_VERSION@ - Cflags: -I${includedir} --Libs: -L${libdir} -lgmp -+Libs: -L${libdir} @LIBS@ -diff --git a/gmpxx.pc.in b/gmpxx.pc.in -index 181cc70..2b697ce 100644 ---- a/gmpxx.pc.in -+++ b/gmpxx.pc.in -@@ -9,4 +9,4 @@ URL: https://gmplib.org - Version: @PACKAGE_VERSION@ - Requires: gmp - Cflags: -I${includedir} --Libs: -L${libdir} -lgmpxx -+Libs: -L${libdir} @LIBS@ diff --git a/ports/gmsh/fix-install.patch b/ports/gmsh/fix-install.patch new file mode 100644 index 00000000000000..3d37dcb582f17c --- /dev/null +++ b/ports/gmsh/fix-install.patch @@ -0,0 +1,46 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2e65c4f..50bea50 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -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") +-install(TARGETS gmsh DESTINATION ${GMSH_BIN} OPTIONAL) ++install( ++ TARGETS gmsh ++ RUNTIME DESTINATION bin ++ OPTIONAL ++) + if(ENABLE_BUILD_LIB) +- install(TARGETS lib DESTINATION ${GMSH_LIB} OPTIONAL) ++ install( ++ TARGETS lib ++ 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 ++ ) ++ 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 new file mode 100644 index 00000000000000..e8ba10180a3511 --- /dev/null +++ b/ports/gmsh/portfile.cmake @@ -0,0 +1,115 @@ +string(REPLACE "." "_" UNDERSCORES_VERSION "${VERSION}") + +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.onelab.info + OUT_SOURCE_PATH SOURCE_PATH + REPO gmsh/gmsh + REF "${PORT}_${UNDERSCORES_VERSION}" + SHA512 af2574ec3aadfddeedf981faced20a6736be06fe30c7670b682837612ca5a42248444f7a782ca5e75556cb957b5cf4467d5e972ba3f60559cc719690e73f3dca + HEAD_REF master + PATCHES fix-install.patch +) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_LIB) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED) +string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" STATIC_RUNTIME) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + opencascade ENABLE_OCC + opencascade ENABLE_OCC_CAF + opencascade ENABLE_OCC_TBB + mpi ENABLE_MPI + zipper ENABLE_ZIPPER +) + + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + DISABLE_PARALLEL_CONFIGURE + OPTIONS + ${FEATURE_OPTIONS} + -DENABLE_BUILD_LIB=${BUILD_LIB} + -DENABLE_BUILD_SHARED=${BUILD_SHARED} + -DENABLE_MSVC_STATIC_RUNTIME=${STATIC_RUNTIME} + -DGMSH_RELEASE=ON + -DENABLE_PACKAGE_STRIP=ON + -DENABLE_SYSTEM_CONTRIB=ON + # Not implement + -DENABLE_GRAPHICS=OFF # Requires mesh, post, plugins and onelab + -DENABLE_POST=OFF + -DENABLE_PLUGINS=OFF + -DENABLE_MESH=OFF + -DENABLE_PARSER=OFF + -DENABLE_PROFILE=OFF + -DENABLE_PRIVATE_API=OFF + -DENABLE_QUADMESHINGTOOLS=OFF + -DENABLE_PRO=OFF + -DENABLE_TOUCHBAR=OFF + -DENABLE_VISUDEV=OFF + -DENABLE_BLAS_LAPACK=OFF + -DENABLE_CAIRO=OFF + -DENABLE_CGNS=OFF + -DENABLE_CGNS_CPEX0045=OFF + -DENABLE_EIGEN=OFF + -DENABLE_GMP=OFF + -DENABLE_OPENMP=OFF + -DENABLE_POPPLER=OFF + -DENABLE_WRAP_JAVA=OFF + -DENABLE_WRAP_PYTHON=OFF + # Requies dependencies which not included in vcpkg yet + -DENABLE_3M=OFF + -DENABLE_ALGLIB=OFF + -DENABLE_ANN=OFF + -DENABLE_BAMG=OFF + -DENABLE_BLOSSOM=OFF + -DENABLE_BUILD_DYNAMIC=OFF # Needs gfortran + -DENABLE_FLTK=OFF # Needs executable fltk-config + -DENABLE_DINTEGRATION=OFF + -DENABLE_GEOMETRYCENTRAL=OFF + -DENABLE_DOMHEX=OFF + -DENABLE_GETDP=OFF + -DENABLE_GMM=OFF + -DENABLE_HXT=OFF + -DENABLE_KBIPACK=OFF + -DENABLE_MATHEX=OFF + -DENABLE_MED=OFF + -DENABLE_METIS=OFF + -DENABLE_MMG=OFF + -DENABLE_MPEG_ENCODE=OFF + -DENABLE_MUMPS=OFF + -DENABLE_NUMPY=OFF + -DENABLE_NETGEN=OFF + -DENABLE_PETSC4PY=OFF + -DENABLE_ONELAB_METAMODEL=OFF + -DENABLE_ONELAB=OFF + -DENABLE_OPENACC=OFF + -DENABLE_OPTHOM=OFF + -DENABLE_OSMESA=OFF + -DENABLE_P4EST=OFF + -DENABLE_PETSC=OFF + -DENABLE_QUADTRI=OFF + -DENABLE_REVOROPT=OFF + -DENABLE_SLEPC=OFF + -DENABLE_SOLVER=OFF + -DENABLE_TCMALLOC=OFF + -DENABLE_VOROPP=OFF + -DENABLE_WINSLOWUNTANGLER=OFF + # experimental + -DENABLE_BUILD_ANDROID=OFF + -DENABLE_BUILD_IOS=OFF + + -DENABLE_OS_SPECIFIC_INSTALL=OFF # Needs system permission + -DENABLE_RPATH=OFF # Should use dependencies in vcpkg + -DENABLE_TESTS=OFF +) + +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 new file mode 100644 index 00000000000000..8bb6b57297682d --- /dev/null +++ b/ports/gmsh/vcpkg.json @@ -0,0 +1,51 @@ +{ + "name": "gmsh", + "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", + "supports": "!uwp", + "dependencies": [ + "blas", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "graphics": { + "description": "Enable building graphics lib even without GUI (advanced)", + "dependencies": [ + "libjpeg-turbo", + "libpng", + "opengl", + "zlib" + ] + }, + "mpi": { + "description": "Enable MPI (experimental, not used for meshing)", + "dependencies": [ + "openmpi" + ] + }, + "occ": { + "description": "Enable OpenCASCADE modules", + "dependencies": [ + "caf", + "freetype", + "opencascade", + "tbb" + ] + }, + "zipper": { + "description": "Enable Zip file compression/decompression", + "dependencies": [ + "zlib" + ] + } + } +} diff --git a/ports/gobject-introspection/0001-g-ir-tool-template.in.patch b/ports/gobject-introspection/0001-g-ir-tool-template.in.patch new file mode 100644 index 00000000000000..c3d4e35de32894 --- /dev/null +++ b/ports/gobject-introspection/0001-g-ir-tool-template.in.patch @@ -0,0 +1,23 @@ +--- a/tools/g-ir-tool-template.in 2021-09-17 23:02:42.601052000 +0700 ++++ b/tools/g-ir-tool-template.in 2021-12-29 21:41:52.987141900 +0700 +@@ -59,7 +59,7 @@ + builtins.__dict__['GIRDIR'] = [girdir] + + # Again, relative paths first so that the installation prefix is relocatable +-pylibdir = os.path.abspath(os.path.join(filedir, '..', 'lib', 'gobject-introspection')) ++pylibdir = os.path.abspath(os.path.join(filedir, '..', '..', 'lib', 'gobject-introspection')) + + # EXT_SUFFIX for py3 SO for py2 + py_mod_suffix = sysconfig.get_config_var('EXT_SUFFIX') or sysconfig.get_config_var('SO') +@@ -91,6 +91,11 @@ + + sys.path.insert(0, pylibdir) + ++pkg_config_path = os.getenv('PKG_CONFIG_PATH', '') ++if pkg_config_path: ++ pkg_config_path = os.pathsep + pkg_config_path ++os.environ['PKG_CONFIG_PATH'] = os.path.normpath(os.path.join(pylibdir, '..', 'pkgconfig')) + pkg_config_path ++ + from giscanner.utils import dll_dirs + dll_dirs = dll_dirs() + dll_dirs.add_dll_dirs(['gio-2.0']) diff --git a/ports/gobject-introspection/0002-cross-build.patch b/ports/gobject-introspection/0002-cross-build.patch new file mode 100644 index 00000000000000..aa962c9d0f7af1 --- /dev/null +++ b/ports/gobject-introspection/0002-cross-build.patch @@ -0,0 +1,60 @@ +--- a/gir/meson.build 2021-09-17 23:02:42.502052000 +0700 ++++ b/gir/meson.build 2022-01-05 02:31:25.960457800 +0700 +@@ -42,7 +42,7 @@ + install_data(gir_files, install_dir: girdir) + + scanner_command = [ +- find_program('g-ir-scanner', native: true), ++ find_program('g-ir-scanner'), + '--output=@OUTPUT@', + '--no-libtool', + '--quiet', +@@ -495,6 +495,7 @@ + ) + + typelibs = [] ++gircompiler = find_program('g-ir-compiler') + if get_option('gi_cross_binary_wrapper') != '' + gircompiler_command = [get_option('gi_cross_binary_wrapper'), gircompiler.full_path(), ] + else +@@ -510,7 +511,7 @@ + typelibs += custom_target('generate-typelib-@0@'.format(gir).underscorify(), + input: gir, + output: '@BASENAME@.typelib', +- depends: [gobject_gir, gircompiler, ], ++ depends: [gobject_gir, ], + command: gircompiler_command, + install: true, + install_dir: typelibdir, +--- a/tools/meson.build 2021-09-17 23:02:42.601052000 +0700 ++++ b/tools/meson.build 2022-01-05 02:36:06.103763400 +0700 +@@ -64,7 +64,9 @@ + install: true, + c_args: custom_c_args, + ) +-meson.override_find_program('g-ir-compiler', gircompiler) ++if not get_option('gi_cross_use_prebuilt_gi') ++ meson.override_find_program('g-ir-compiler', gircompiler) ++endif + + girgenerate = executable('g-ir-generate', 'generate.c', + dependencies: [ +@@ -74,11 +76,15 @@ + install: true, + c_args: custom_c_args, + ) +-meson.override_find_program('g-ir-generate', girgenerate) ++if not get_option('gi_cross_use_prebuilt_gi') ++ meson.override_find_program('g-ir-generate', girgenerate) ++endif + + girinspect = executable('g-ir-inspect', 'g-ir-inspect.c', + dependencies: girepo_dep, + install: true, + c_args: custom_c_args, + ) +-meson.override_find_program('g-ir-inspect', girinspect) ++if not get_option('gi_cross_use_prebuilt_gi') ++ meson.override_find_program('g-ir-inspect', girinspect) ++endif +\ No newline at end of file diff --git a/ports/gobject-introspection/0003-fix-paths.patch b/ports/gobject-introspection/0003-fix-paths.patch new file mode 100644 index 00000000000000..b305da4472f365 --- /dev/null +++ b/ports/gobject-introspection/0003-fix-paths.patch @@ -0,0 +1,22 @@ +diff --git a/tools/g-ir-tool-template.in b/tools/g-ir-tool-template.in +index 75c35a7..499ed01 100644 +--- a/tools/g-ir-tool-template.in ++++ b/tools/g-ir-tool-template.in +@@ -46,7 +46,7 @@ if debug: + filedir = os.path.dirname(__file__) + + # Try using relative paths first so that the installation prefix is relocatable +-datadir = os.path.abspath(os.path.join(filedir, '..', 'share')) ++datadir = os.path.abspath(os.path.join(filedir, '..', '..', 'share')) + # Fallback to hard-coded paths if the relocatable paths are wrong + if not os.path.isdir(os.path.join(datadir, 'gir-1.0')): + datadir = "@datarootdir@" +@@ -55,7 +55,7 @@ builtins.__dict__['DATADIR'] = datadir + + # Respect gir_dir_prefix + girdir = '' +-girdir = os.path.abspath(os.path.join(filedir, '..', '@gir_dir_prefix@')) ++girdir = datadir + builtins.__dict__['GIRDIR'] = [girdir] + + # Again, relative paths first so that the installation prefix is relocatable 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 new file mode 100644 index 00000000000000..b4828b5ea62f7f --- /dev/null +++ b/ports/gobject-introspection/portfile.cmake @@ -0,0 +1,89 @@ + +set(GI_MAJOR_MINOR 1.72) +set(GI_PATCH 0) + +vcpkg_download_distfile(ARCHIVE + URLS "https://download.gnome.org/sources/gobject-introspection/${GI_MAJOR_MINOR}/gobject-introspection-${GI_MAJOR_MINOR}.${GI_PATCH}.tar.xz" + FILENAME "gobject-introspection-${GI_MAJOR_MINOR}.${GI_PATCH}.tar.xz" + SHA512 b8fba2bd12e93776c55228acf3487bef36ee40b1abdc7f681b827780ac94a8bfa1f59b0c30d60fa5a1fea2f610de78b9e52029f411128067808f17eb6374cdc5 +) + +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" + PATCHES + 0001-g-ir-tool-template.in.patch + 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) +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( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS_DEBUG + ${OPTIONS_DEBUG} + OPTIONS_RELEASE + ${OPTIONS_RELEASE} + ADDITIONAL_BINARIES + flex='${FLEX}' + bison='${BISON}' + 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") +vcpkg_host_path_list(APPEND ENV{LIB} "${CURRENT_INSTALLED_DIR}/lib") +vcpkg_install_meson(ADD_BIN_TO_PATH) + +vcpkg_copy_pdbs() + +vcpkg_fixup_pkgconfig() + +set(GI_TOOLS + g-ir-compiler + g-ir-generate + g-ir-inspect +) +set(GI_SCRIPTS + g-ir-annotation-tool + g-ir-scanner +) + +vcpkg_copy_tools(TOOL_NAMES ${GI_TOOLS} AUTO_CLEAN) +foreach(script IN LISTS GI_SCRIPTS) + file(READ "${CURRENT_PACKAGES_DIR}/bin/${script}" _contents) + string(REPLACE "#!/usr/bin/env ${PYTHON3}" "#!/usr/bin/env python3" _contents "${_contents}") + string(REPLACE "datadir = \"${CURRENT_PACKAGES_DIR}/share\"" "raise Exception('could not find right path') " _contents "${_contents}") + string(REPLACE "pylibdir = os.path.join('${CURRENT_PACKAGES_DIR}/lib', 'gobject-introspection')" "raise Exception('could not find right path') " _contents "${_contents}") + file(WRITE "${CURRENT_PACKAGES_DIR}/tools/${PORT}/${script}" "${_contents}") + + file(REMOVE "${CURRENT_PACKAGES_DIR}/bin/${script}") + file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/bin/${script}") +endforeach() + +if(VCPKG_TARGET_IS_WINDOWS) + file(GLOB _pyd_lib_files "${CURRENT_PACKAGES_DIR}/lib/gobject-introspection/giscanner/_giscanner.*.lib") + file(REMOVE ${_pyd_lib_files}) +endif() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/${PORT}") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/man") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/gobject-introspection/python.patch b/ports/gobject-introspection/python.patch new file mode 100644 index 00000000000000..95e7f8163acda1 --- /dev/null +++ b/ports/gobject-introspection/python.patch @@ -0,0 +1,29 @@ +diff --git a/giscanner/meson.build b/giscanner/meson.build +index e63a5ab78..3d7dc678a 100644 +--- a/giscanner/meson.build ++++ b/giscanner/meson.build +@@ -97,11 +97,11 @@ giscanner_lib = static_library('giscanner', + dependencies: [glib_dep, gobject_dep, gio_dep, gmodule_dep], + ) + + # https://github.com/mesonbuild/meson/issues/4117 + if host_machine.system() == 'windows' ++ python_ext_dep = libpython_dep +- python_ext_dep = python.dependency() + else ++ python_ext_dep = libpython_dep +- python_ext_dep = python.dependency().partial_dependency(compile_args: true) + endif + + if not python_ext_dep.found() +diff --git a/meson.build b/meson.build +index 2a9d68556..cffe9014c 100644 +--- a/meson.build ++++ b/meson.build +@@ -156,4 +156,5 @@ libffi_dep = dependency('libffi', + + # python headers +-cc.check_header('Python.h', dependencies: [python.dependency()], required: true) ++libpython_dep = dependency('python-@0@'.format(python_version), method : 'pkg-config') ++cc.check_header('Python.h', dependencies: [libpython_dep], required: true) + diff --git a/ports/gobject-introspection/vcpkg.json b/ports/gobject-introspection/vcpkg.json new file mode 100644 index 00000000000000..25f5694c54375f --- /dev/null +++ b/ports/gobject-introspection/vcpkg.json @@ -0,0 +1,37 @@ +{ + "name": "gobject-introspection", + "version": "1.72.0", + "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", + "dependencies": [ + { + "name": "cairo", + "default-features": false, + "features": [ + "gobject" + ] + }, + "glib", + { + "name": "glib", + "host": true + }, + { + "name": "gobject-introspection", + "host": true + }, + "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 e860f9e585c74c..007ff646d210d2 100644 --- a/ports/google-cloud-cpp/portfile.cmake +++ b/ports/google-cloud-cpp/portfile.cmake @@ -1,23 +1,43 @@ -vcpkg_fail_port_install(ON_TARGET "uwp") - vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO googleapis/google-cloud-cpp - REF v1.33.0 - SHA512 fda083368db3b31dbfa6b6d6b02254a2c2b71a61389c94d8f62a5fcd729691bbe54745e1887fe36b244411af09fcaf7968e535ea9a3dc4833892859e7201bf67 + REF "v${VERSION}" + SHA512 a29606ccd17b17388c8383d555b29ad8ca851e9ceb8337dd26e2945e81c3791f723e68053035c891533b7be5d79d44e3efe3beeff30a4adee6aa13e411638440 HEAD_REF main ) -vcpkg_add_to_path(PREPEND "${CURRENT_HOST_INSTALLED_DIR}/tools/grpc") +if ("grpc-common" IN_LIST FEATURES) + vcpkg_add_to_path(PREPEND "${CURRENT_HOST_INSTALLED_DIR}/tools/grpc") +endif () set(GOOGLE_CLOUD_CPP_ENABLE "${FEATURES}") list(REMOVE_ITEM GOOGLE_CLOUD_CPP_ENABLE "core") +# This feature does not exist, but allows us to simplify the vcpkg.json +# file. +list(REMOVE_ITEM GOOGLE_CLOUD_CPP_ENABLE "grpc-common") +list(REMOVE_ITEM GOOGLE_CLOUD_CPP_ENABLE "rest-common") list(REMOVE_ITEM GOOGLE_CLOUD_CPP_ENABLE "googleapis") +# google-cloud-cpp uses dialogflow_cx and dialogflow_es. Underscores +# are invalid in `vcpkg` features, we use dashes (`-`) as a separator +# for the `vcpkg` feature name, and convert it here to something that +# `google-cloud-cpp` would like. +if ("dialogflow-cx" IN_LIST FEATURES) + list(REMOVE_ITEM GOOGLE_CLOUD_CPP_ENABLE "dialogflow-cx") + list(APPEND GOOGLE_CLOUD_CPP_ENABLE "dialogflow_cx") +endif () +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} + SOURCE_PATH "${SOURCE_PATH}" DISABLE_PARALLEL_CONFIGURE OPTIONS "-DGOOGLE_CLOUD_CPP_ENABLE=${GOOGLE_CLOUD_CPP_ENABLE}" @@ -26,55 +46,40 @@ vcpkg_cmake_configure( -DGOOGLE_CLOUD_CPP_ENABLE_CCACHE=OFF -DGOOGLE_CLOUD_CPP_ENABLE_EXAMPLES=OFF -DBUILD_TESTING=OFF + -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. +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +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) - 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) -endforeach() - -# These packages are only for backwards compability. The google-cloud-cpp team -# is planning to remove them around 2022-02-15. -foreach(package - googleapis - bigtable_client - pubsub_client - spanner_client - storage_client) - set(config_path "lib/cmake/${package}") - if(NOT IS_DIRECTORY "${CURRENT_PACKAGES_DIR}/${config_path}") - continue() - endif() - vcpkg_cmake_config_fixup(PACKAGE_NAME "${package}" - 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" "${CURRENT_PACKAGES_DIR}/debug/lib/cmake" - "${CURRENT_PACKAGES_DIR}/debug/share") -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) + "${CURRENT_PACKAGES_DIR}/debug/share") +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) vcpkg_copy_pdbs() diff --git a/ports/google-cloud-cpp/vcpkg.json b/ports/google-cloud-cpp/vcpkg.json index 9bc82c6c8a9087..3d7842ba80a2da 100644 --- a/ports/google-cloud-cpp/vcpkg.json +++ b/ports/google-cloud-cpp/vcpkg.json @@ -1,12 +1,16 @@ { "name": "google-cloud-cpp", - "version": "1.33.0", + "version": "2.31.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", + { + "name": "openssl", + "platform": "!windows" + }, { "name": "vcpkg-cmake", "host": true @@ -25,114 +29,1763 @@ "storage" ], "features": { - "bigquery": { - "description": "The Google Cloud BigQuery C++ client library", + "accessapproval": { + "description": "Access Approval API C++ Client Library", "dependencies": [ - "grpc", { - "name": "grpc", - "host": true - }, - "protobuf", + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "accesscontextmanager": { + "description": "Access Context Manager API C++ Client Library", + "dependencies": [ { - "name": "protobuf", - "host": true + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] } ] }, - "bigtable": { - "description": "The Google Cloud Bigtable C++ client library", + "advisorynotifications": { + "description": "Advisory Notifications API C++ Client Library", "dependencies": [ - "grpc", { - "name": "grpc", - "host": true - }, - "protobuf", + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "aiplatform": { + "description": "Vertex AI API C++ Client Library", + "dependencies": [ { - "name": "protobuf", - "host": true + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] } ] }, - "experimental-storage-grpc": { - "description": "The GCS+gRPC plugin", + "alloydb": { + "description": "Alloy DB API C++ Client Library", "dependencies": [ { "name": "google-cloud-cpp", "default-features": false, "features": [ - "storage" + "grpc-common" ] - }, - "grpc", + } + ] + }, + "apigateway": { + "description": "API Gateway API C++ Client Library", + "dependencies": [ { - "name": "grpc", - "host": true - }, - "protobuf", + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "apigeeconnect": { + "description": "Apigee Connect API C++ Client Library", + "dependencies": [ { - "name": "protobuf", - "host": true + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] } ] }, - "iam": { - "description": "The Google Cloud IAM C++ client library", + "apikeys": { + "description": "API Keys API C++ Client Library", "dependencies": [ - "grpc", { - "name": "grpc", - "host": true - }, - "protobuf", + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "appengine": { + "description": "App Engine Admin API C++ Client Library", + "dependencies": [ { - "name": "protobuf", - "host": true + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] } ] }, - "pubsub": { + "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": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "asset": { + "description": "Cloud Asset API C++ Client Library", + "supports": "!windows", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "accesscontextmanager", + "grpc-common", + "osconfig" + ] + } + ] + }, + "assuredworkloads": { + "description": "Assured Workloads API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "automl": { + "description": "Cloud AutoML API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "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": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "batch": { + "description": "Batch API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "beyondcorp": { + "description": "BeyondCorp API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "bigquery": { + "description": "The Google Cloud BigQuery C++ client library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "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": [ - "grpc", { - "name": "grpc", - "host": true - }, - "protobuf", + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "billing": { + "description": "Cloud Billing Budget API C++ Client Library", + "dependencies": [ { - "name": "protobuf", - "host": true + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] } ] }, - "spanner": { - "description": "The Google Cloud Spanner C++ client library", + "binaryauthorization": { + "description": "Binary Authorization API C++ Client Library", "dependencies": [ - "grpc", { - "name": "grpc", - "host": true - }, - "protobuf", + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grafeas", + "grpc-common" + ] + } + ] + }, + "certificatemanager": { + "description": "Certificate Manager API C++ Client Library", + "dependencies": [ { - "name": "protobuf", - "host": true + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] } ] }, - "storage": { - "description": "The Google Cloud Storage C++ client library", + "channel": { + "description": "Cloud Channel API C++ Client Library", + "supports": "!windows", "dependencies": [ - "crc32c", { - "name": "curl", + "name": "google-cloud-cpp", + "default-features": false, "features": [ - "ssl" + "grpc-common" ] - }, - "nlohmann-json" + } + ] + }, + "cloudbuild": { + "description": "Cloud Build API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "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": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "composer": { + "description": "Cloud Composer C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "compute": { + "description": "Compute Engine C++ Client Library", + "supports": "!windows", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common", + "rest-common" + ] + } + ] + }, + "confidentialcomputing": { + "description": "Confidential Computing API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "config": { + "description": "Infrastructure Manager API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "connectors": { + "description": "Connectors API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "contactcenterinsights": { + "description": "Contact Center AI Insights API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "container": { + "description": "Kubernetes Engine API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "containeranalysis": { + "description": "Container Analysis API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grafeas", + "grpc-common" + ] + } + ] + }, + "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": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "datafusion": { + "description": "Cloud Data Fusion API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "datamigration": { + "description": "Database Migration API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "dataplex": { + "description": "Cloud Dataplex API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "dataproc": { + "description": "Cloud Dataproc API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "datastore": { + "description": "Cloud Datastore API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "datastream": { + "description": "Datastream API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "deploy": { + "description": "Google Cloud Deploy API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "developerconnect": { + "description": "Developer Connect API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "dialogflow-cx": { + "description": "Cloud Dialogflow CX API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "dialogflow-es": { + "description": "Cloud Dialogflow ES API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "discoveryengine": { + "description": "Discovery Engine API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "dlp": { + "description": "Cloud Data Loss Prevention (DLP) API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "documentai": { + "description": "Cloud Document AI API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "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": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "edgenetwork": { + "description": "Distributed Cloud Edge Network API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "essentialcontacts": { + "description": "Essential Contacts API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "eventarc": { + "description": "Eventarc API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "filestore": { + "description": "Cloud Filestore API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "functions": { + "description": "Cloud Functions API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "gkebackup": { + "description": "Backup for GKE API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "gkeconnect": { + "description": "GKE Connect Gateway API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "gkehub": { + "description": "GKE Hub C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "gkemulticloud": { + "description": "Anthos Multi-Cloud C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "grafeas": { + "description": "Protocol buffers implementing the 'Grafeas API' (metadata about software artifacts)", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "grpc-common": { + "description": "Dependencies used by all gRPC-based libraries", + "dependencies": [ + "grpc", + { + "name": "grpc", + "host": true + }, + "protobuf", + { + "name": "protobuf", + "host": true + } + ] + }, + "iam": { + "description": "The Google Cloud IAM C++ client library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "iap": { + "description": "Cloud Identity-Aware Proxy API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "ids": { + "description": "Cloud IDS API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "kms": { + "description": "Cloud Key Management Service (KMS) API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "language": { + "description": "Cloud Natural Language API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "logging": { + "description": "Google Cloud Logging C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "managedidentities": { + "description": "Managed Service for Microsoft Active Directory API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "managedkafka": { + "description": "Manage Apache Kafka clusters and resources.", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "memcache": { + "description": "Cloud Memorystore for Memcached API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "metastore": { + "description": "Dataproc Metastore API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "migrationcenter": { + "description": "Migration Center API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "monitoring": { + "description": "Cloud Monitoring API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "netapp": { + "description": "NetApp API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "networkconnectivity": { + "description": "Network Connectivity API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "networkmanagement": { + "description": "Network Management API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "networksecurity": { + "description": "Secure Web Proxy API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "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": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "oauth2": { + "description": "OAuth2 Access Token Generation Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "rest-common" + ] + } + ] + }, + "opentelemetry": { + "description": "OpenTelemetry C++ GCP Exporter Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "monitoring", + "rest-common", + "trace" + ] + }, + "opentelemetry-cpp" + ] + }, + "optimization": { + "description": "Cloud Optimization API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "orgpolicy": { + "description": "Organization Policy API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "osconfig": { + "description": "Cloud OS Config API C++ Client library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "oslogin": { + "description": "Cloud OS Login API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "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": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "policytroubleshooter": { + "description": "Policy Troubleshooter API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "privateca": { + "description": "Certificate Authority API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "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": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "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": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "rapidmigrationassessment": { + "description": "Rapid Migration Assessment C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "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": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "redis": { + "description": "Google Cloud Memorystore for Redis API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "resourcemanager": { + "description": "Cloud Resource Manager API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "resourcesettings": { + "description": "Resource Settings API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "rest-common": { + "description": "Dependencies used by all REST-based libraries", + "dependencies": [ + { + "name": "curl", + "features": [ + "ssl" + ] + }, + "nlohmann-json" + ] + }, + "retail": { + "description": "Retail API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "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": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "scheduler": { + "description": "Cloud Scheduler API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "secretmanager": { + "description": "The Google Cloud Secret Manager C++ client library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "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": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "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": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "servicedirectory": { + "description": "Service Directory API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "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": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "serviceusage": { + "description": "Service Usage API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "shell": { + "description": "Cloud Shell API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "spanner": { + "description": "The Google Cloud Spanner C++ client library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "speech": { + "description": "The Google Cloud Speech-to-Text C++ client library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "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": [ + "crc32c", + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "rest-common" + ] + } + ] + }, + "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": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "storagetransfer": { + "description": "Storage Transfer API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "support": { + "description": "Cloud Support API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "talent": { + "description": "Cloud Talent Solution API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "tasks": { + "description": "The Google Cloud Tasks C++ client library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "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": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "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": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "trace": { + "description": "Stackdriver Trace API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "translate": { + "description": "Cloud Translation API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "video": { + "description": "Video Services C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "videointelligence": { + "description": "Cloud Video Intelligence API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "vision": { + "description": "Cloud Vision API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "vmmigration": { + "description": "VM Migration API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "vmwareengine": { + "description": "VMware Engine API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "vpcaccess": { + "description": "Serverless VPC Access API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "webrisk": { + "description": "Web Risk API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "websecurityscanner": { + "description": "Web Security Scanner API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "workflows": { + "description": "Workflow Executions API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } + ] + }, + "workstations": { + "description": "Workstations API C++ Client Library", + "dependencies": [ + { + "name": "google-cloud-cpp", + "default-features": false, + "features": [ + "grpc-common" + ] + } ] } } diff --git a/ports/googleapis/usage b/ports/googleapis/usage deleted file mode 100644 index 00ca628e56f504..00000000000000 --- a/ports/googleapis/usage +++ /dev/null @@ -1,6 +0,0 @@ -The package googleapis is compatible with built-in CMake targets: - - find_package(googleapis CONFIG REQUIRED) - - # Then link against the proto libraries that you want to use, for example: - target_link_libraries(main PRIVATE googleapis-c++::bigtable_protos gRPC::grpc gRPC::grpc++) diff --git a/ports/googleapis/vcpkg.json b/ports/googleapis/vcpkg.json index 37755f8dbe5cf9..79d5e1585644ee 100644 --- a/ports/googleapis/vcpkg.json +++ b/ports/googleapis/vcpkg.json @@ -1,7 +1,7 @@ { "name": "googleapis", "version-string": "alias", - "port-version": 1, + "port-version": 2, "description": "Deprecated, use google-cloud-cpp instead.", "dependencies": [ "google-cloud-cpp" diff --git a/ports/gperf/portfile.cmake b/ports/gperf/portfile.cmake index 8531426fca02a2..487dcaba763fa5 100644 --- a/ports/gperf/portfile.cmake +++ b/ports/gperf/portfile.cmake @@ -1,5 +1,3 @@ -vcpkg_fail_port_install(ON_TARGET "UWP") - set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) vcpkg_download_distfile(ARCHIVE @@ -8,20 +6,22 @@ vcpkg_download_distfile(ARCHIVE SHA512 855ebce5ff36753238a44f14c95be7afdc3990b085960345ca2caf1a2db884f7db74d406ce9eec2f4a52abb8a063d4ed000a36b317c9a353ef4e25e2cca9a3f4 ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH +vcpkg_extract_source_archive( + SOURCE_PATH ARCHIVE ${ARCHIVE} + PATCHES + remove_register_keyword_cpp17.patch ) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) file(COPY ${CMAKE_CURRENT_LIST_DIR}/config.h.in DESTINATION ${SOURCE_PATH}) -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH ${SOURCE_PATH} - OPTIONS_RELEASE -DCMAKE_INSTALL_BINDIR=tools + OPTIONS_RELEASE -DCMAKE_INSTALL_BINDIR=tools/gperf ) -vcpkg_install_cmake() +vcpkg_cmake_install() file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) diff --git a/ports/gperf/remove_register_keyword_cpp17.patch b/ports/gperf/remove_register_keyword_cpp17.patch new file mode 100644 index 00000000000000..bb8c414a1a26cb --- /dev/null +++ b/ports/gperf/remove_register_keyword_cpp17.patch @@ -0,0 +1,13 @@ +diff --git a/lib/getline.cc b/lib/getline.cc +index c57c633..0984a7c 100644 +--- a/lib/getline.cc ++++ b/lib/getline.cc +@@ -55,7 +55,7 @@ getstr (char **lineptr, size_t *n, FILE *stream, char terminator, size_t offset) + + for (;;) + { +- register int c = getc (stream); ++ int c = getc (stream); + + /* We always want at least one char left in the buffer, since we + always (unless we get an error while reading the first char) diff --git a/ports/gperf/vcpkg.json b/ports/gperf/vcpkg.json index 248f4da4c3f794..3f3dfc04d6e9e8 100644 --- a/ports/gperf/vcpkg.json +++ b/ports/gperf/vcpkg.json @@ -1,7 +1,17 @@ { "name": "gperf", - "version-string": "3.1", - "port-version": 2, + "version": "3.1", + "port-version": 6, "description": "GNU perfect hash function generator", - "homepage": "https://www.gnu.org/software/gperf/" + "homepage": "https://www.gnu.org/software/gperf/", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } 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 00b72fefc63d62..289401cc531e5f 100644 --- a/ports/gperftools/portfile.cmake +++ b/ports/gperftools/portfile.cmake @@ -1,84 +1,65 @@ -vcpkg_fail_port_install(ON_ARCH "arm" "arm64" ON_TARGET "uwp") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO gperftools/gperftools - REF fe62a0baab87ba3abca12f4a621532bf67c9a7d2 - SHA512 fc0fb2c56d38046ac7bc2d36863dabf073b7aede7ce18916228d7b9f64cf33ae754708bff028353ada52bf4b79a7cd3e3334c1558a9ba64b06326b1537faf690 + 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 - 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 6aeb5dd81d2eaf..449eac15eba969 100644 --- a/ports/gperftools/vcpkg.json +++ b/ports/gperftools/vcpkg.json @@ -1,23 +1,29 @@ { "name": "gperftools", - "version-date": "2019-09-02", - "port-version": 2, - "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 | arm64 | uwp)", + "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" + "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/disable-tests.patch b/ports/gpgme/disable-tests.patch deleted file mode 100644 index c7158508f82eb9..00000000000000 --- a/ports/gpgme/disable-tests.patch +++ /dev/null @@ -1,51 +0,0 @@ -From b05747aea79083106b27ac7d829db3e65e192682 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Dawid=20Wro=CC=81bel?= -Date: Thu, 29 Oct 2020 13:23:56 -0400 -Subject: [PATCH] cpp,python: Respect --disable-gpg-test for tests - -* lang/cpp/Makefile.am: Respect --disable-gpg-test -* lang/python/Makefile.am: Respect --disable-gpg-test - -This is similar to the qt that had it already enabled ---- - lang/cpp/Makefile.am | 8 +++++++- - lang/python/Makefile.am | 8 +++++++- - 2 files changed, 14 insertions(+), 2 deletions(-) - -diff --git a/lang/cpp/Makefile.am b/lang/cpp/Makefile.am -index 724da6ca..70ca7462 100644 ---- a/lang/cpp/Makefile.am -+++ b/lang/cpp/Makefile.am -@@ -18,6 +18,12 @@ - # License along with this program; if not, see . - # SPDX-License-Identifier: LGPL-2.1-or-later - --SUBDIRS = src tests -+if RUN_GPG_TESTS -+tests = tests -+else -+tests = -+endif -+ -+SUBDIRS = src ${tests} - - EXTRA_DIST = README -diff --git a/lang/python/Makefile.am b/lang/python/Makefile.am -index 845b7b17..68b98e8e 100644 ---- a/lang/python/Makefile.am -+++ b/lang/python/Makefile.am -@@ -23,7 +23,13 @@ EXTRA_DIST = \ - gpgme.i \ - helpers.c helpers.h private.h - --SUBDIRS = . tests examples doc src -+if RUN_GPG_TESTS -+tests = tests -+else -+tests = -+endif -+ -+SUBDIRS = . ${tests} examples doc src - - .PHONY: prepare - prepare: copystamp diff --git a/ports/gpgme/portfile.cmake b/ports/gpgme/portfile.cmake index bf4c34bbbcd3a0..af8c7d1be79810 100644 --- a/ports/gpgme/portfile.cmake +++ b/ports/gpgme/portfile.cmake @@ -1,35 +1,67 @@ -vcpkg_fail_port_install(MESSAGE "${PORT} currently only supports unix platform" ON_TARGET "Windows") - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO gpg/gpgme - REF gpgme-1.14.0 - SHA512 b4608fd1d9a4122d8886917274e323afc9a30494c13a3dea51e17e9779f925bf8d67e584434d6a13018f274a6cbcf0a5e36f2fea794a065906bbb556b765398e - HEAD_REF master - PATCHES - disable-tests.patch - disable-docs.patch +vcpkg_download_distfile(tarball + URLS + "https://gnupg.org/ftp/gcrypt/gpgme/gpgme-${VERSION}.tar.bz2" + "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 6cfcd07e81a93de240582de5a46545420cee93d1f27fe20ea2c983780fdd3036b69fdba073cf549d68a20791e189bf4b3cdde14a43f912d2ab9ef3414c83ac75 ) +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${tarball}" + PATCHES + disable-docs.patch + ) -list(REMOVE_ITEM FEATURES core) -string(REPLACE ";" "," LANGUAGES "${FEATURES}") +vcpkg_list(SET LANGUAGES) +if("cpp" IN_LIST FEATURES) + vcpkg_list(APPEND LANGUAGES "cpp") +endif() vcpkg_configure_make( AUTOCONFIG - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" OPTIONS --disable-gpgconf-test --disable-gpg-test --disable-gpgsm-test --disable-g13-test --enable-languages=${LANGUAGES} - --with-libgpg-error-prefix=${CURRENT_INSTALLED_DIR}/tools/libgpg-error - --with-libassuan-prefix=${CURRENT_INSTALLED_DIR}/tools/libassuan + GPG_ERROR_CONFIG=/ # fake absolute path; gpgrt-config is used instead + OPTIONS_RELEASE + "GPGRT_CONFIG=${CURRENT_INSTALLED_DIR}/tools/libgpg-error/bin/gpgrt-config" + OPTIONS_DEBUG + "GPGRT_CONFIG=${CURRENT_INSTALLED_DIR}/tools/libgpg-error/debug/bin/gpgrt-config" ) vcpkg_install_make() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/Gpgmepp) -vcpkg_copy_pdbs() +vcpkg_copy_pdbs() + +# This port doesn't support the windows-only glib integration. +file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/gpgme-glib.pc" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/gpgme-glib.pc") +vcpkg_fixup_pkgconfig() + +# CMake config needs work for linkage and build type. +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/cmake" "${CURRENT_PACKAGES_DIR}/debug/lib/cmake") -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +set(install_prefix "${CURRENT_INSTALLED_DIR}") +if(VCPKG_HOST_IS_WINDOWS) + string(REGEX REPLACE "^([a-zA-Z]):/" "/\\1/" install_prefix "${install_prefix}") +endif() +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin/gpgme-config" "${install_prefix}" "`dirname $0`/../../..") +if(NOT VCPKG_BUILD_TYPE) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug/bin/gpgme-config" "${install_prefix}" "`dirname $0`/../../../..") +endif() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +vcpkg_install_copyright(COMMENT [[ +The library is distributed under the terms of the GNU Lesser General Public License (LGPL). +The helper programs are distributed under the terms of the GNU General Public License (GPL). +There are additonal notices about contributions that require these additional notices are distributed. +]] + FILE_LIST + "${SOURCE_PATH}/COPYING.LESSER" + "${SOURCE_PATH}/COPYING" + "${SOURCE_PATH}/LICENSES" +) diff --git a/ports/gpgme/vcpkg.json b/ports/gpgme/vcpkg.json index 1c36254c618f07..01d3838e96bc9c 100644 --- a/ports/gpgme/vcpkg.json +++ b/ports/gpgme/vcpkg.json @@ -1,10 +1,10 @@ { "name": "gpgme", - "version-string": "1.14.0", - "port-version": 1, + "version": "1.23.2", "description": "A library designed to make access to GnuPG easier for applications", - "homepage": "https://gnupg.org/software/gpgme/index.html", - "supports": "!windows", + "homepage": "https://gnupg.org/software/gpgme/", + "license": null, + "supports": "!windows | mingw", "dependencies": [ "libassuan", "libgpg-error" diff --git a/ports/gpgmm/portfile.cmake b/ports/gpgmm/portfile.cmake new file mode 100644 index 00000000000000..3339a87d854c21 --- /dev/null +++ b/ports/gpgmm/portfile.cmake @@ -0,0 +1,31 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO intel/gpgmm + REF "v${VERSION}" + SHA512 1e949e87110e555aa139e564a667a030150e77fd9b174f11bd3238b1fc3e7ae7ef17cc483b8afc9b0b7c346ce36564c94959454e27509c520bec18ef8396b5a1 + HEAD_REF main +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + DISABLE_PARALLEL_CONFIGURE + OPTIONS + -DGPGMM_STANDALONE=OFF + -DGPGMM_ENABLE_TESTS=OFF + -DGPGMM_ENABLE_VK=OFF +) + +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") + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") +endif() + +file(GLOB_RECURSE GPGMM_INCLUDE "${SOURCE_PATH}/include/*.h") +file(INSTALL ${GPGMM_INCLUDE} DESTINATION "${CURRENT_PACKAGES_DIR}/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/gpgmm/vcpkg.json b/ports/gpgmm/vcpkg.json new file mode 100644 index 00000000000000..4f07dc580626e9 --- /dev/null +++ b/ports/gpgmm/vcpkg.json @@ -0,0 +1,19 @@ +{ + "name": "gpgmm", + "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", + "supports": "windows & !(arm | uwp)", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/gppanel/fix-missing-headers.patch b/ports/gppanel/fix-missing-headers.patch new file mode 100644 index 00000000000000..62474987dc2086 --- /dev/null +++ b/ports/gppanel/fix-missing-headers.patch @@ -0,0 +1,14 @@ +diff --git a/include/baseXYData.h b/include/baseXYData.h +index 2877e4f..f018b35 100644 +--- a/include/baseXYData.h ++++ b/include/baseXYData.h +@@ -5,6 +5,9 @@ + #include "CMinMax.h" + #include "xyMultimapLabel.h" + #include ++#include ++#include ++#include + + //This possible to handle a lot of data quicker + //plot just second 1000 point to display.. diff --git a/ports/gppanel/portfile.cmake b/ports/gppanel/portfile.cmake index b05377133fc6b4..47befccaf72f7b 100644 --- a/ports/gppanel/portfile.cmake +++ b/ports/gppanel/portfile.cmake @@ -6,19 +6,23 @@ vcpkg_from_github( REF f58a9028f7c9a8e9b4324ff2165951f558365f90 SHA512 4ec5fbef4c487d351c60f48b0c0e41c5d077989ab96f827b9fd5ef01c167d50f39a313bd82db1b5df19d14025983e83db4d19cc4048c1c50fc8ef9128de15575 HEAD_REF master - PATCHES 00001-fix-build.patch + PATCHES + 00001-fix-build.patch + use-complex-header.patch + fix-missing-headers.patch # https://github.com/woollybah/gppanel/pull/5 ) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DCMAKE_CXX_STANDARD=11 ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/gpPanel) +vcpkg_cmake_config_fixup(CONFIG_PATH share/cmake/gpPanel) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) diff --git a/ports/gppanel/use-complex-header.patch b/ports/gppanel/use-complex-header.patch new file mode 100644 index 00000000000000..aa9c553f0a42dd --- /dev/null +++ b/ports/gppanel/use-complex-header.patch @@ -0,0 +1,14 @@ +diff --git a/include/Fourier.h b/include/Fourier.h +index af55d2a..4283be8 100644 +--- a/include/Fourier.h ++++ b/include/Fourier.h +@@ -13,7 +13,8 @@ + //============================================================================== + // FORWARD DECLARATION + //============================================================================== +-namespace std { template class complex; } ++#include ++ + #define SQUARE(real,imag) sqrt((real)*(real)+(imag)*(imag)) + + //============================================================================== diff --git a/ports/gppanel/vcpkg.json b/ports/gppanel/vcpkg.json index 2493d41a8172b7..6b6d2dbf294b27 100644 --- a/ports/gppanel/vcpkg.json +++ b/ports/gppanel/vcpkg.json @@ -1,10 +1,20 @@ { "name": "gppanel", "version-date": "2020-05-20", - "port-version": 1, + "port-version": 4, "description": "gpPanel is chart library for wxWidget. It inheritance from wxPanel and use modified wxMathPlot library at chart engine.", "homepage": "https://github.com/woollybah/gppanel", + "license": "GPL-2.0-or-later WITH WxWindows-exception-3.1", + "supports": "!xbox", "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, "wxwidgets" ] } diff --git a/ports/grantlee/portfile.cmake b/ports/grantlee/portfile.cmake new file mode 100644 index 00000000000000..f5478e4ac9f69c --- /dev/null +++ b/ports/grantlee/portfile.cmake @@ -0,0 +1,26 @@ +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO steveire/grantlee + REF v5.3.1 + SHA512 dc7192fe0553954fffc3e2c584e4fdd80fc1f22d25846cacc5f2dcd1db2673ca62464c8492a4ed3bfc9dfc3e62ef13322809dd29bd56fa4a3a153a8d373ddde5 + HEAD_REF master +) + +vcpkg_cmake_configure ( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DGRANTLEE_BUILD_WITH_QT6=ON + -DBUILD_TESTS=OFF +) + +vcpkg_replace_string("${SOURCE_PATH}/CMakeLists.txt" [[set( PLUGIN_INSTALL_DIR ${LIB_INSTALL_DIR}/grantlee/${Grantlee5_MAJOR_MINOR_VERSION_STRING} )]] [[set( PLUGIN_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/bin)]]) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/Grantlee5) +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(INSTALL "${SOURCE_PATH}/COPYING.LIB" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/grantlee/vcpkg.json b/ports/grantlee/vcpkg.json new file mode 100644 index 00000000000000..bea4842ecd4518 --- /dev/null +++ b/ports/grantlee/vcpkg.json @@ -0,0 +1,20 @@ +{ + "name": "grantlee", + "version": "5.3.1", + "port-version": 2, + "description": "Libraries for text templating with Qt", + "homepage": "https://github.com/steveire/grantlee", + "license": "LGPL-2.1-or-later", + "supports": "!staticcrt & !xbox", + "dependencies": [ + "qtdeclarative", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/graphene/fix_clang-cl.patch b/ports/graphene/fix_clang-cl.patch new file mode 100644 index 00000000000000..0b71ea3bbbe479 --- /dev/null +++ b/ports/graphene/fix_clang-cl.patch @@ -0,0 +1,40 @@ +diff --git a/meson.build b/meson.build +index 1a93dbb95..2f5f7c891 100644 +--- a/meson.build ++++ b/meson.build +@@ -55,7 +55,7 @@ conf = configuration_data() + common_cflags = [] + common_ldflags = [] + +-if cc.get_id() == 'msvc' ++if cc.get_argument_syntax() == 'msvc' + # Make MSVC more pedantic, this is a recommended pragma list + # from _Win32_Programming_ by Rector and Newcomer. Taken from + # glib's msvc_recommended_pragmas.h--please see that file for +@@ -117,7 +117,7 @@ endif + common_cflags = cc.get_supported_arguments(test_cflags) + + # MSVC: Let C4819 error out if we do not have the -utf-8 compiler flag +-if cc.get_id() == 'msvc' ++if cc.get_argument_syntax() == 'msvc' + if not common_cflags.contains('-utf-8') + common_cflags += cc.get_supported_arguments('-we4819') + endif +@@ -202,7 +202,7 @@ if get_option('default_library') != 'static' + if host_system == 'windows' + conf.set('DLL_EXPORT', true) + conf.set('_GRAPHENE_PUBLIC', '__declspec(dllexport) extern') +- if cc.get_id() != 'msvc' ++ if cc.get_argument_syntax() != 'msvc' + extra_args += ['-fvisibility=hidden'] + endif + else +@@ -226,7 +226,7 @@ if get_option('gobject_types') + ) + build_gobject = gobject.found() + if build_gobject +- if cc.get_id() == 'msvc' ++ if cc.get_argument_syntax() == 'msvc' + extra_args += ['/FImsvc_recommended_pragmas.h'] + endif + endif diff --git a/ports/graphene/portfile.cmake b/ports/graphene/portfile.cmake index 8b50663679bb62..9b420b66d7145d 100644 --- a/ports/graphene/portfile.cmake +++ b/ports/graphene/portfile.cmake @@ -1,35 +1,55 @@ - -set(VERSION 1.10.2) - vcpkg_download_distfile(ARCHIVE URLS "https://download.gnome.org/sources/graphene/1.10/graphene-${VERSION}.tar.xz" FILENAME "graphene-${VERSION}.tar.xz" - SHA512 a8a8ef1e4ccffee2313a18b9b8dda06c7ede6d49fdde8578694500634e3c90278fd30af7d88938d5ecb08c519cc3e09d21fe69d0f21cb766e056ceedbb3eafb0 + SHA512 c56dab6712cf58387d0512a213cd0cd456679e46a495ee5cfd9bc25440cda2d72d56974af4e462f3c863869a1e2e506b702f468933045609d35fdf006212c67d ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" + PATCHES + fix_clang-cl.patch ) +if("introspection" IN_LIST FEATURES) + if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL "static") + message(FATAL_ERROR "Feature introspection currently only supports dynamic build.") + endif() + list(APPEND OPTIONS_DEBUG -Dintrospection=disabled) + list(APPEND OPTIONS_RELEASE -Dintrospection=enabled) +else() + list(APPEND OPTIONS -Dintrospection=disabled) +endif() + +if(CMAKE_HOST_WIN32 AND VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + set(GIR_TOOL_DIR ${CURRENT_INSTALLED_DIR}) +else() + set(GIR_TOOL_DIR ${CURRENT_HOST_INSTALLED_DIR}) +endif() + vcpkg_configure_meson( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -Dgtk_doc=false #Enable generating the API reference (depends on GTK-Doc) -Dgobject_types=true #Enable GObject types (depends on GObject) - -Dintrospection=false #Enable GObject Introspection (depends on GObject)' -Dtests=false -Dinstalled_tests=false - ADDITIONAL_NATIVE_BINARIES glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal' - glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums' - ADDITIONAL_CROSS_BINARIES glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal' - glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums' + ${OPTIONS} + OPTIONS_DEBUG + ${OPTIONS_DEBUG} + OPTIONS_RELEASE + ${OPTIONS_RELEASE} + ADDITIONAL_BINARIES + glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal' + glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums' + g-ir-compiler='${CURRENT_HOST_INSTALLED_DIR}/tools/gobject-introspection/g-ir-compiler${VCPKG_HOST_EXECUTABLE_SUFFIX}' + g-ir-scanner='${GIR_TOOL_DIR}/tools/gobject-introspection/g-ir-scanner' ) -vcpkg_install_meson() +vcpkg_install_meson(ADD_BIN_TO_PATH) vcpkg_copy_pdbs() vcpkg_fixup_pkgconfig() -file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/graphene/vcpkg.json b/ports/graphene/vcpkg.json index 8849b4d42d4ce9..b024349d824e0e 100644 --- a/ports/graphene/vcpkg.json +++ b/ports/graphene/vcpkg.json @@ -1,9 +1,10 @@ { "name": "graphene", - "version": "1.10.2", - "port-version": 1, + "version": "1.10.8", + "port-version": 2, "description": "A thin layer of types for graphic libraries.", "homepage": "https://www.gtk.org/", + "license": "MIT", "supports": "!(arm & windows)", "dependencies": [ "gettext", @@ -11,6 +12,25 @@ { "name": "glib", "host": true + }, + { + "name": "vcpkg-tool-meson", + "host": true + } + ], + "features": { + "introspection": { + "description": "build with introspection", + "dependencies": [ + { + "name": "gobject-introspection", + "host": true + }, + { + "name": "gobject-introspection", + "platform": "windows & x86" + } + ] } - ] + } } diff --git a/ports/graphicsmagick/CMakeLists.txt b/ports/graphicsmagick/CMakeLists.txt index 7e6be2992629fb..c71495951fbf62 100644 --- a/ports/graphicsmagick/CMakeLists.txt +++ b/ports/graphicsmagick/CMakeLists.txt @@ -40,6 +40,7 @@ string(REPLACE "#undef HasTTF" "#define HasTTF" CONFIG_H "${CONFIG_H}") string(REPLACE "#undef HAVE_FT2BUILD_H" "#define HAVE_FT2BUILD_H" CONFIG_H "${CONFIG_H}") string(REPLACE "#undef HasZLIB" "#define HasZLIB" CONFIG_H "${CONFIG_H}") string(REPLACE "#undef HasJBIG" "#define HasJBIG" CONFIG_H "${CONFIG_H}") +string(REPLACE "#undef HasWEBP" "#define HasWEBP" CONFIG_H "${CONFIG_H}") string(REPLACE "#undef QuantumDepth" "#define QuantumDepth 16" CONFIG_H "${CONFIG_H}") string(REPLACE "#undef restrict" "#define restrict" CONFIG_H "${CONFIG_H}") string(REPLACE "#undef size_t" "/* #undef size_t */" CONFIG_H "${CONFIG_H}") @@ -82,14 +83,14 @@ add_library(graphicsmagick coders/art.c coders/avs.c coders/tiff.c coders/tile.c coders/tim.c coders/topol.c coders/ttf.c coders/txt.c coders/uil.c coders/url.c coders/uyvy.c coders/vicar.c coders/vid.c coders/viff.c - coders/wbmp.c coders/wmf.c coders/wpg.c + coders/wbmp.c coders/webp.c coders/wmf.c coders/wpg.c coders/x.c coders/xbm.c coders/xc.c coders/xcf.c coders/xpm.c coders/xtrn.c coders/xwd.c coders/yuv.c filters/analyze.c magick/analyze.c magick/animate.c magick/annotate.c magick/attribute.c magick/average.c magick/bit_stream.c magick/blob.c magick/cdl.c - magick/channel.c magick/color.c magick/colormap.c magick/colorspace.c - magick/color_lookup.c magick/command.c magick/compare.c magick/composite.c + magick/channel.c magick/color.c magick/color_lookup.c magick/colormap.c + magick/colorspace.c magick/command.c magick/compare.c magick/composite.c magick/compress.c magick/confirm_access.c magick/constitute.c magick/decorate.c magick/delegate.c magick/deprecate.c magick/describe.c magick/display.c magick/draw.c magick/effect.c magick/enhance.c magick/enum_strings.c magick/error.c magick/export.c @@ -122,6 +123,7 @@ TARGET_LINK_LIBRARIES(graphicsmagick PRIVATE PNG::PNG TIFF::TIFF Freetype::Freetype + WebP::webp WebP::webpdemux WebP::libwebpmux WebP::webpdecoder ) target_include_directories(graphicsmagick INTERFACE $) @@ -143,6 +145,7 @@ find_package(JPEG REQUIRED) find_package(PNG REQUIRED) find_package(TIFF REQUIRED) find_package(Freetype REQUIRED) +find_package(WebP CONFIG REQUIRED) file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/unofficial-graphicsmagick-config.cmake " include(CMakeFindDependencyMacro) @@ -152,6 +155,7 @@ find_dependency(JPEG) find_dependency(PNG) find_dependency(TIFF) find_dependency(Freetype) +find_dependency(WebP) include(\${CMAKE_CURRENT_LIST_DIR}/unofficial-graphicsmagick-targets.cmake) ") @@ -248,7 +252,7 @@ if (INSTALL_HEADERS) install(FILES magick/version.h DESTINATION include/magick) install(FILES magick/widget.h DESTINATION include/magick) install(FILES magick/xwindow.h DESTINATION include/magick) - + install(FILES Magick++/lib/Magick++.h DESTINATION include) install(FILES Magick++/lib/Magick++/Blob.h DESTINATION include/Magick++) diff --git a/ports/graphicsmagick/portfile.cmake b/ports/graphicsmagick/portfile.cmake index 11b1252dc6ee36..f63b32f9fa091e 100644 --- a/ports/graphicsmagick/portfile.cmake +++ b/ports/graphicsmagick/portfile.cmake @@ -1,11 +1,11 @@ -set(GM_VERSION 1.3.36) +set(GM_VERSION 1.3.41) vcpkg_from_sourceforge( OUT_SOURCE_PATH SOURCE_PATH REPO graphicsmagick/graphicsmagick REF ${GM_VERSION} - FILENAME "GraphicsMagick-${GM_VERSION}-windows-source.7z" - SHA512 4976816acb9d348b83cc33c1ad2b0a3f9c4174c8983b3a3f867bcd6369984bea34b203a4e168f52f556c94288b9340db1357f614e8ff3a8802bef859378bdd31 + FILENAME "GraphicsMagick-${GM_VERSION}-windows.7z" + SHA512 4790081136af67bf406b94e3de88feff295cc98fd3b125776e014436b12dbb31331af4ee4f8497ccc39d4afda08145b5e4bfeb45b3210a50e17b14e4dc2a220d PATCHES # GM always requires a dynamic BZIP2. This patch makes this dependent if _DLL is defined dynamic_bzip2.patch @@ -17,31 +17,30 @@ vcpkg_from_sourceforge( disable_graphicsmagick_modules.patch ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/magick_types.h DESTINATION ${SOURCE_PATH}/magick) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") +file(COPY "${CMAKE_CURRENT_LIST_DIR}/magick_types.h" DESTINATION "${SOURCE_PATH}/magick") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS_DEBUG -DINSTALL_HEADERS=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-graphicsmagick TARGET_PATH share/unofficial-graphicsmagick) +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-graphicsmagick) # copy license -file(INSTALL ${SOURCE_PATH}/Copyright.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/Copyright.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) # copy config -file(COPY ${SOURCE_PATH}/config/colors.mgk DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}/config) -file(COPY ${SOURCE_PATH}/config/log.mgk DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}/config) -file(COPY ${SOURCE_PATH}/config/modules.mgk DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}/config) +file(COPY "${SOURCE_PATH}/config/colors.mgk" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}/config") +file(COPY "${SOURCE_PATH}/config/log.mgk" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}/config") +file(COPY "${SOURCE_PATH}/config/modules.mgk" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}/config") -file(READ ${SOURCE_PATH}/config/type-windows.mgk.in TYPE_MGK) +file(READ "${SOURCE_PATH}/config/type-windows.mgk.in" TYPE_MGK) string(REPLACE "@windows_font_dir@" "$ENV{SYSTEMROOT}/Fonts/" TYPE_MGK "${TYPE_MGK}") -file(WRITE ${CURRENT_PACKAGES_DIR}/share/graphicsmagick/config/type.mgk "${TYPE_MGK}") +file(WRITE "${CURRENT_PACKAGES_DIR}/share/graphicsmagick/config/type.mgk" "${TYPE_MGK}") -configure_file(${SOURCE_PATH}/config/delegates.mgk.in ${CURRENT_PACKAGES_DIR}/share/${PORT}/config/delegates.mgk @ONLY) +configure_file("${SOURCE_PATH}/config/delegates.mgk.in" "${CURRENT_PACKAGES_DIR}/share/${PORT}/config/delegates.mgk" @ONLY) vcpkg_copy_pdbs() diff --git a/ports/graphicsmagick/vcpkg.json b/ports/graphicsmagick/vcpkg.json index 7e8ef699e00f45..dfbab6d92e2ebe 100644 --- a/ports/graphicsmagick/vcpkg.json +++ b/ports/graphicsmagick/vcpkg.json @@ -1,6 +1,6 @@ { "name": "graphicsmagick", - "version-string": "1.3.36", + "version": "1.3.41", "port-version": 1, "description": "Image processing library", "homepage": "https://sourceforge.net/projects/graphicsmagick/", @@ -9,7 +9,19 @@ "freetype", "libjpeg-turbo", "libpng", - "tiff", + "libwebp", + { + "name": "tiff", + "default-features": false + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, "zlib" ] } 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 308810ba265c51..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_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - ) -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_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - 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_install_cmake() - -vcpkg_copy_pdbs() - -# Handle copyright -configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/graphqlparser/copyright COPYONLY) - -vcpkg_fixup_pkgconfig() 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 77770b16d64a62..00000000000000 --- a/ports/graphqlparser/vcpkg.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "graphqlparser", - "version-string": "0.7.0", - "port-version": 3, - "description": "A GraphQL query parser in C++ with C and C++ APIs" -} 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/0001-Fix-build.patch b/ports/graphviz/0001-Fix-build.patch deleted file mode 100644 index 4accf3e9432fbb..00000000000000 --- a/ports/graphviz/0001-Fix-build.patch +++ /dev/null @@ -1,94 +0,0 @@ -diff --git a/cmake/FindCairo.cmake b/cmake/FindCairo.cmake -index dce05ea96..cbd879fee 100644 ---- a/cmake/FindCairo.cmake -+++ b/cmake/FindCairo.cmake -@@ -1,6 +1,6 @@ - include(FindPackageHandleStandardArgs) - --if (WIN32) -+if (false) - find_path(Cairo_INCLUDE_DIR cairo/cairo.h) - - find_library(Cairo_LIBRARY NAMES cairo) -diff --git a/cmake/FindPangoCairo.cmake b/cmake/FindPangoCairo.cmake -index 0937e41ef..bb876ce46 100644 ---- a/cmake/FindPangoCairo.cmake -+++ b/cmake/FindPangoCairo.cmake -@@ -1,6 +1,6 @@ - include(FindPackageHandleStandardArgs) - --if (WIN32) -+if (false) - find_path(PangoCairo_INCLUDE_DIR pango/pangocairo.h PATH_SUFFIXES pango-1.0) - find_path(GLIB_INCLUDE_DIR glib.h PATH_SUFFIXES glib-2.0) - find_path(GLIBCONFIG_INCLUDE_DIR glibconfig.h PATH_SUFFIXES glib-2.0/include) -@@ -69,6 +69,9 @@ if (WIN32) - else() - find_package(PkgConfig) - pkg_check_modules(PangoCairo pangocairo) -+ list(REMOVE_ITEM PangoCairo_LINK_LIBRARIES ffi) -+ find_library(ACTUAL_FFI libffi PangoCairo_LIBRARY_DIRS) -+ list(APPEND PangoCairo_LINK_LIBRARIES ${ACTUAL_FFI}) - - # prior to CMake 3.12, PkgConfig does not set *_LINK_LIBRARIES, so do it - # manually -diff --git a/cmd/tools/CMakeLists.txt b/cmd/tools/CMakeLists.txt -index 8d7b88484..58f8d80fe 100644 ---- a/cmd/tools/CMakeLists.txt -+++ b/cmd/tools/CMakeLists.txt -@@ -392,14 +392,14 @@ tool_defaults(sccmap) - - # ===================== Install third party DLLs on Windows ==================== - --if (WIN32 AND EXPAT_FOUND) -+if (false) - install( - FILES ${EXPAT_RUNTIME_LIBRARIES} - DESTINATION ${BINARY_INSTALL_DIR} - ) --endif(WIN32 AND EXPAT_FOUND) -+endif(false) - --if (WIN32) -+if (false) - install( - FILES ${Getopt_RUNTIME_LIBRARIES} - DESTINATION ${BINARY_INSTALL_DIR} -diff --git a/lib/common/CMakeLists.txt b/lib/common/CMakeLists.txt -index 144c442ae..fa56739b0 100644 ---- a/lib/common/CMakeLists.txt -+++ b/lib/common/CMakeLists.txt -@@ -93,6 +93,7 @@ target_include_directories(common_obj PRIVATE - ${GRAPHVIZ_LIB_DIR} - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_BINARY_DIR} -+ ${EXPAT_INCLUDE_DIRS} - ${GRAPHVIZ_LIB_DIR}/cdt - ${GRAPHVIZ_LIB_DIR}/cgraph - ${GRAPHVIZ_LIB_DIR}/gvc -diff --git a/lib/gvc/CMakeLists.txt b/lib/gvc/CMakeLists.txt -index 745841176..57e2dd32b 100644 ---- a/lib/gvc/CMakeLists.txt -+++ b/lib/gvc/CMakeLists.txt -@@ -134,7 +134,7 @@ set_target_properties(gvc PROPERTIES - ) - - # Include DLLs with this library on Windows --if (WIN32 AND EXPAT_FOUND) -+if (false) - install( - FILES - ${EXPAT_RUNTIME_LIBRARIES} -diff --git a/plugin/gd/CMakeLists.txt b/plugin/gd/CMakeLists.txt -index fe7ed264d..dce635185 100644 ---- a/plugin/gd/CMakeLists.txt -+++ b/plugin/gd/CMakeLists.txt -@@ -36,7 +36,7 @@ install( - ) - - # Include DLLs with this library on Windows --if (WIN32) -+if (false) - install( - FILES - ${GD_RUNTIME_LIBRARIES} diff --git a/ports/graphviz/cmake-project-include.cmake b/ports/graphviz/cmake-project-include.cmake new file mode 100644 index 00000000000000..81a50f91bfaeb4 --- /dev/null +++ b/ports/graphviz/cmake-project-include.cmake @@ -0,0 +1,10 @@ +if(MSVC) + find_package(unofficial-getopt-win32 CONFIG REQUIRED) + set(GETOPT_LIBRARY "unofficial::getopt-win32::getopt" CACHE INTERNAL "vcpkg") + set(GETOPT_RUNTIME_LIBRARY "unused" CACHE INTERNAL "vcpkg") +endif() + +if(MINGW AND BUILD_SHARED_LIBS AND NOT CMAKE_CROSSCOMPILING) + # Prevent running `configure_plugins.cmake`. + set(CMAKE_CROSSCOMPILING 1) +endif() diff --git a/ports/graphviz/disable-pragma-lib.patch b/ports/graphviz/disable-pragma-lib.patch new file mode 100644 index 00000000000000..b7dd0c1647e3ec --- /dev/null +++ b/ports/graphviz/disable-pragma-lib.patch @@ -0,0 +1,36 @@ +diff --git a/cmd/gvedit/main.cpp b/cmd/gvedit/main.cpp +index 98a2a4a..e810c36 100644 +--- a/cmd/gvedit/main.cpp ++++ b/cmd/gvedit/main.cpp +@@ -30,6 +30,7 @@ + + + #ifdef _MSC_VER ++#elif 0 + #pragma comment( lib, "cgraph.lib" ) + #pragma comment( lib, "gvc.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 ++++ b/plugin/gdk/gvloadimage_gdk.c +@@ -22,6 +22,7 @@ + #include + + #ifdef _MSC_VER //*dependencies ++#elif 0 + #pragma comment( lib, "gvc.lib" ) + #pragma comment( lib, "glib-2.0.lib" ) + #pragma comment( lib, "cairo.lib" ) +diff --git a/plugin/webp/gvloadimage_webp.c b/plugin/webp/gvloadimage_webp.c +index c983556..446d43f 100644 +--- a/plugin/webp/gvloadimage_webp.c ++++ b/plugin/webp/gvloadimage_webp.c +@@ -24,6 +24,7 @@ + #include + + #ifdef _MSC_VER //*dependencies ++#elif 0 + #pragma comment( lib, "gvc.lib" ) + #pragma comment( lib, "glib-2.0.lib" ) + #pragma comment( lib, "pango-1.0.lib" ) diff --git a/ports/graphviz/fix-dependencies.patch b/ports/graphviz/fix-dependencies.patch new file mode 100644 index 00000000000000..72ccafeee89d70 --- /dev/null +++ b/ports/graphviz/fix-dependencies.patch @@ -0,0 +1,151 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 12fd424..11371df 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -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) ++ set(LASI_FOUND 0) ++ set(POPPLER_FOUND 0) + 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(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 ++++ b/cmake/FindCAIRO.cmake +@@ -1,6 +1,6 @@ + include(FindPackageHandleStandardArgs) + +-if(WIN32) ++if(0) + find_path( + CAIRO_INCLUDE_DIR cairo.h + PATH_SUFFIXES cairo +@@ -39,7 +39,9 @@ if(WIN32) + ) + else() + find_package(PkgConfig) +- pkg_check_modules(CAIRO cairo) ++ pkg_check_modules(CAIRO cairo IMPORTED_TARGET) ++ set(CAIRO_LIBRARIES PkgConfig::CAIRO) ++ set(CAIRO_LINK_LIBRARIES PkgConfig::CAIRO) + + find_package_handle_standard_args(CAIRO DEFAULT_MSG + CAIRO_INCLUDE_DIRS +diff --git a/cmake/FindGD.cmake b/cmake/FindGD.cmake +index 0deb5e6..ef42889 100644 +--- a/cmake/FindGD.cmake ++++ b/cmake/FindGD.cmake +@@ -1,3 +1,11 @@ ++find_package(PkgConfig) ++pkg_check_modules(GD gdlib IMPORTED_TARGET) ++set(GD_LIBRARIES PkgConfig::GD) ++foreach(item IN ITEMS FONTCONFIG FREETYPE GIF JPEG PNG) ++ set(HAVE_GD_${item} 1) ++endforeach() ++return() ++ + find_path(GD_INCLUDE_DIR gd.h) + find_library(GD_LIBRARY NAMES gd libgd) + find_program(GD_RUNTIME_LIBRARY libgd.dll) +diff --git a/cmake/FindGTS.cmake b/cmake/FindGTS.cmake +index 8e544e9..88dd849 100644 +--- a/cmake/FindGTS.cmake ++++ b/cmake/FindGTS.cmake +@@ -1,5 +1,5 @@ + include(FindPackageHandleStandardArgs) +-if(WIN32) ++if(0) + find_path(GTS_INCLUDE_DIR gts.h) + find_path(GLIB_INCLUDE_DIR glib.h PATH_SUFFIXES glib-2.0) + find_path(GLIBCONFIG_INCLUDE_DIR glibconfig.h +@@ -40,7 +40,8 @@ if(WIN32) + ) + else() + find_package(PkgConfig) +- pkg_check_modules(GTS gts) ++ pkg_check_modules(GTS gts IMPORTED_TARGET) ++ set(GTS_LINK_LIBRARIES PkgConfig::GTS) + + find_package_handle_standard_args(GTS DEFAULT_MSG + GTS_INCLUDE_DIRS +diff --git a/cmake/FindLTDL.cmake b/cmake/FindLTDL.cmake +index e955b74..046e9e8 100644 +--- a/cmake/FindLTDL.cmake ++++ b/cmake/FindLTDL.cmake +@@ -17,4 +17,7 @@ mark_as_advanced(LTDL_INCLUDE_DIR LTDL_LIBRARY) + set(LTDL_INCLUDE_DIRS ${LTDL_INCLUDE_DIR}) + if(NOT WIN32 OR MINGW) + set(LTDL_LIBRARIES ${LTDL_LIBRARY}) ++ if(CMAKE_DL_LIBS AND NOT BUILD_SHARED_LIBS) ++ set(LTDL_LIBRARIES "${LTDL_LIBRARIES};${CMAKE_DL_LIBS}") ++ endif() + endif() +diff --git a/cmake/FindPANGOCAIRO.cmake b/cmake/FindPANGOCAIRO.cmake +index b92e5be..01c4cc7 100644 +--- a/cmake/FindPANGOCAIRO.cmake ++++ b/cmake/FindPANGOCAIRO.cmake +@@ -1,6 +1,6 @@ + include(FindPackageHandleStandardArgs) + +-if(WIN32) ++if(0) + find_path(PANGOCAIRO_INCLUDE_DIR pango/pangocairo.h PATH_SUFFIXES pango-1.0) + find_path(GLIB_INCLUDE_DIR glib.h PATH_SUFFIXES glib-2.0) + find_path(GLIBCONFIG_INCLUDE_DIR glibconfig.h +@@ -78,7 +78,9 @@ if(WIN32) + ) + else() + find_package(PkgConfig) +- pkg_check_modules(PANGOCAIRO pangocairo) ++ pkg_check_modules(PANGOCAIRO pangocairo IMPORTED_TARGET) ++ set(PANGOCAIRO_LIBRARIES PkgConfig::PANGOCAIRO) ++ set(PANGOCAIRO_LINK_LIBRARIES PkgConfig::PANGOCAIRO) # https://gitlab.kitware.com/cmake/cmake/-/issues/16154 + + find_package_handle_standard_args(PANGOCAIRO DEFAULT_MSG + PANGOCAIRO_INCLUDE_DIRS +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 +@@ -146,7 +146,6 @@ endif() + + find_package(PkgConfig) + if(PkgConfig_FOUND) +- pkg_check_modules(GTS gts) + if(GTS_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 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 new file mode 100644 index 00000000000000..2f18d47c5eceb0 --- /dev/null +++ b/ports/graphviz/no-absolute-paths.patch @@ -0,0 +1,10 @@ +diff --git a/lib/gvc/CMakeLists.txt b/lib/gvc/CMakeLists.txt +index b437bde..04fe8e8 100644 +--- a/lib/gvc/CMakeLists.txt ++++ b/lib/gvc/CMakeLists.txt +@@ -1,4 +1,4 @@ +-add_definitions(-DGVC_EXPORTS -DGVLIBDIR="${LIBRARY_INSTALL_DIR}/graphviz") ++add_definitions(-DGVC_EXPORTS -DGVLIBDIR="") + + add_library(gvc + # Header files diff --git a/ports/graphviz/portfile.cmake b/ports/graphviz/portfile.cmake index 6a4b451063a832..45a2dd7b716f22 100644 --- a/ports/graphviz/portfile.cmake +++ b/ports/graphviz/portfile.cmake @@ -1,16 +1,39 @@ +set(VCPKG_POLICY_DLLS_IN_STATIC_LIBRARY enabled) # for plugins +set(VCPKG_POLICY_DLLS_WITHOUT_EXPORTS enabled) # kitty and vt plugin not ready yet? + vcpkg_from_gitlab( GITLAB_URL https://gitlab.com OUT_SOURCE_PATH SOURCE_PATH REPO graphviz/graphviz - REF 2.49.1 - SHA512 ac14303f67d0840b260c5f2f99c53049a1e444a963d31387ae7a44ffc24757bd44f1c40ddd3fdb6a8d0e0bb1dde0e15d320f613729fb631efd4f078fcb3a4f62 + REF "${VERSION}" + SHA512 6b0cffaf4bde7df260894b1b9d74e8a1d5aec11736511a86d99bc369e3f8db99f7050ae917cf1a066cc7d87695a57ef5b9c19521d211fee48c8a0c41ad0f4aac HEAD_REF main PATCHES - 0001-Fix-build.patch + disable-pragma-lib.patch + fix-dependencies.patch + no-absolute-paths.patch + select-plugins.patch + static-linkage.patch + webp-install.patch ) -vcpkg_acquire_msys(MSYS_ROOT PACKAGES gawk) -vcpkg_add_to_path("${MSYS_ROOT}/usr/bin") +vcpkg_list(SET OPTIONS) +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + vcpkg_download_distfile( + LTDL_H_PATH + URLS "https://gitlab.com/graphviz/graphviz-windows-dependencies/-/raw/141d3a21be904fa8dc2ae3ed01d36684db07a35d/x64/include/ltdl.h" + FILENAME graphviz-ltdl-141d3a21.h + SHA512 f2d20e849e35060536265f47014c40eb70e57dacd600a9db112fc465fbfa6a66217b44a8c3dc33039c260a27f09d9034b329b03cc28c32a22ec503fcd17b78cd + ) + file(INSTALL "${LTDL_H_PATH}" DESTINATION "${SOURCE_PATH}/libltdl" RENAME ltdl.h) + vcpkg_list(APPEND OPTIONS "-DLTDL_INCLUDE_DIR=${SOURCE_PATH}/libltdl") +endif() + +if(VCPKG_HOST_IS_WINDOWS) + vcpkg_acquire_msys(MSYS_ROOT PACKAGES gawk) + vcpkg_add_to_path("${MSYS_ROOT}/usr/bin") + unset(ENV{MSYSTEM_PREFIX}) +endif() vcpkg_find_acquire_program(BISON) vcpkg_find_acquire_program(FLEX) @@ -19,28 +42,114 @@ vcpkg_find_acquire_program(PYTHON3) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - - DISABLE_PARALLEL_CONFIGURE OPTIONS - -DBISON_EXECUTABLE=${BISON} - -DFLEX_EXECUTABLE=${FLEX} - -DGIT_EXECUTABLE=${GIT} - -DPython3_EXECUTABLE=${PYTHON3} - -DPKG_CONFIG_EXECUTABLE=${CURRENT_INSTALLED_DIR}/tools/pkgconf/pkgconf - -Denable_ltdl=OFF + "-DVERSION=${VERSION}" + "-DBISON_EXECUTABLE=${BISON}" + "-DFLEX_EXECUTABLE=${FLEX}" + "-DGIT=${GIT}" + "-DPython3_EXECUTABLE=${PYTHON3}" + "-DPKG_CONFIG_EXECUTABLE=${CURRENT_HOST_INSTALLED_DIR}/tools/pkgconf/pkgconf" + "-DCMAKE_PROJECT_INCLUDE=${CMAKE_CURRENT_LIST_DIR}/cmake-project-include.cmake" + -Dinstall_win_dependency_dlls=OFF + -Duse_win_pre_inst_libs=OFF + -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 + -DCMAKE_REQUIRE_FIND_PACKAGE_LTDL=ON + -DCMAKE_REQUIRE_FIND_PACKAGE_PANGOCAIRO=ON + ${OPTIONS} + MAYBE_UNUSED_VARIABLES + install_win_dependency_dlls ) +vcpkg_cmake_install(ADD_BIN_TO_PATH) +vcpkg_fixup_pkgconfig() -vcpkg_cmake_install() +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") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/share/man" +) +file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/${PORT}") +foreach(script_or_link IN ITEMS "dot2gxl${VCPKG_TARGET_EXECUTABLE_SUFFIX}" gvmap.sh) + if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/${script_or_link}") + file(RENAME "${CURRENT_PACKAGES_DIR}/bin/${script_or_link}" "${CURRENT_PACKAGES_DIR}/tools/${PORT}/${script_or_link}") + file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/bin/${script_or_link}") + endif() +endforeach() vcpkg_copy_tools( - TOOL_NAMES acyclic bcomps ccomps circo dijkstra dot fdp gc gml2gv graphml2gv gv2gml gvcolor gvgen gvpack gvpr gxl2gv mm2gv neato nop osage patchwork sccmap sfdp tred twopi unflatten + TOOL_NAMES + acyclic + bcomps + ccomps + circo + cluster + diffimg + dijkstra + dot + edgepaint + fdp + gc + gml2gv + graphml2gv + gv2gml + gv2gxl + gvcolor + gvgen + gvmap + gvpack + gvpr + gxl2dot + gxl2gv + mm2gv + neato + nop + osage + patchwork + prune + sccmap + sfdp + tred + twopi + unflatten AUTO_CLEAN ) -# # Handle copyright -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) - -vcpkg_fixup_pkgconfig() +file(GLOB plugin_config "${CURRENT_PACKAGES_DIR}/lib/graphviz/config*" "${CURRENT_PACKAGES_DIR}/bin/config*") +if(NOT plugin_config) + message(WARNING + "In order to create the plugin configuration file, " + "you must run `dot -c` on the target system." + ) +endif() + +if(VCPKG_TARGET_IS_WINDOWS) + file(GLOB plugins "${CURRENT_PACKAGES_DIR}/bin/gvplugin_*") + file(COPY ${plugins} ${plugin_config} DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}") +else() + file(COPY "${CURRENT_PACKAGES_DIR}/lib/graphviz" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}") +endif() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/graphviz/select-plugins.patch b/ports/graphviz/select-plugins.patch new file mode 100644 index 00000000000000..eea774936b1839 --- /dev/null +++ b/ports/graphviz/select-plugins.patch @@ -0,0 +1,20 @@ +diff --git a/plugin/CMakeLists.txt b/plugin/CMakeLists.txt +index c8cac8e..d14bf9c 100644 +--- a/plugin/CMakeLists.txt ++++ b/plugin/CMakeLists.txt +@@ -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(gs) + add_subdirectory(kitty) +-add_subdirectory(lasi) + add_subdirectory(neato_layout) + add_subdirectory(pango) +-add_subdirectory(poppler) + add_subdirectory(quartz) + add_subdirectory(rsvg) + add_subdirectory(vt) diff --git a/ports/graphviz/static-linkage.patch b/ports/graphviz/static-linkage.patch new file mode 100644 index 00000000000000..7913275a00cade --- /dev/null +++ b/ports/graphviz/static-linkage.patch @@ -0,0 +1,39 @@ +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 76bbbf2..f877fa7 100644 +--- a/plugin/gd/gvrender_gd.c ++++ b/plugin/gd/gvrender_gd.c +@@ -242,7 +242,7 @@ static void gdgen_end_page(GVJ_t * job) + #else + #define GD_IMPORT + #endif +-GD_IMPORT extern gdFontPtr gdFontTiny, gdFontSmall, gdFontMediumBold, gdFontLarge, gdFontGiant; ++BGD_EXPORT_DATA_PROT extern gdFontPtr gdFontTiny, gdFontSmall, gdFontMediumBold, gdFontLarge, gdFontGiant; + + void gdgen_text(gdImagePtr im, pointf spf, pointf epf, int fontcolor, double fontsize, int fontdpi, double fontangle, char *fontname, char *str) + { +diff --git a/plugin/pango/CMakeLists.txt b/plugin/pango/CMakeLists.txt +index aca7eec..901f118 100644 +--- a/plugin/pango/CMakeLists.txt ++++ b/plugin/pango/CMakeLists.txt +@@ -58,6 +58,7 @@ if(CAIRO_FOUND AND PANGOCAIRO_FOUND) + set_target_properties(gvplugin_pango PROPERTIES + VERSION ${GRAPHVIZ_PLUGIN_VERSION}.0.0 + SOVERSION ${GRAPHVIZ_PLUGIN_VERSION} ++ LINKER_LANGUAGE CXX # for cairo + ) + + if(MINGW) diff --git a/ports/graphviz/vcpkg.json b/ports/graphviz/vcpkg.json index 249daf03cbcc88..3ef8af4cabd2f2 100644 --- a/ports/graphviz/vcpkg.json +++ b/ports/graphviz/vcpkg.json @@ -1,19 +1,42 @@ { "name": "graphviz", - "version-semver": "2.49.1", - "port-version": 1, + "version-semver": "10.0.1", + "port-version": 2, "description": "Graph Visualization Tools", "homepage": "https://graphviz.org/", + "license": "EPL-1.0", + "supports": "!staticcrt", "dependencies": [ - "cairo", + { + "name": "cairo", + "default-features": false + }, + "expat", + "gdk-pixbuf", "getopt", - "libffi", - "libgd", + "gts", + { + "name": "libgd", + "default-features": false, + "features": [ + "fontconfig", + "freetype", + "jpeg", + "png", + "tiff" + ] + }, + "librsvg", + "libwebp", "pango", - "pkgconf", + { + "name": "pkgconf", + "host": true + }, { "name": "vcpkg-cmake", "host": true - } + }, + "zlib" ] } 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 80146babb0cb11..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 1911144984..8f78306f77 100644 +index ec370e9..4f7d770 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -181,6 +181,9 @@ if(UNIX) +@@ -237,6 +237,9 @@ if(UNIX) endif() if(WIN32) set(_gRPC_PLATFORM_WINDOWS ON) @@ -11,18 +11,18 @@ index 1911144984..8f78306f77 100644 + endif() endif() - # Use C99 standard -@@ -219,6 +222,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") + if(_gRPC_PLATFORM_UWP) + add_definitions(-DGRPC_ARES=0) + endif() - endif() - if (MINGW) - add_definitions(-D_WIN32_WINNT=0x600) -@@ -286,6 +292,10 @@ file(MAKE_DIRECTORY ${_gRPC_PROTO_GENS_DIR}) + # Silences thousands of trucation warnings + set(_gRPC_C_CXX_FLAGS "${_gRPC_C_CXX_FLAGS} /wd4503") + # Tell MSVC to build grpc using utf-8 +@@ -439,6 +445,10 @@ file(MAKE_DIRECTORY ${_gRPC_PROTO_GENS_DIR}) # ``.proto`` files # function(protobuf_generate_grpc_cpp) @@ -33,7 +33,7 @@ index 1911144984..8f78306f77 100644 if(NOT ARGN) message(SEND_ERROR "Error: PROTOBUF_GENERATE_GRPC_CPP() called without any proto files") return() -@@ -358,6 +368,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,40 +41,27 @@ index 1911144984..8f78306f77 100644 add_custom_target(plugins DEPENDS ${_gRPC_PLUGIN_LIST} ) -@@ -376,6 +387,7 @@ add_custom_target(tools_cxx +@@ -575,6 +586,7 @@ add_custom_target(tools_cxx add_custom_target(tools DEPENDS tools_c tools_cxx) +endif() - protobuf_generate_grpc_cpp( - src/proto/grpc/channelz/channelz.proto -diff --git a/src/core/lib/iomgr/resource_quota.cc b/src/core/lib/iomgr/resource_quota.cc -index dbe84e3466..cda40b6435 100644 ---- a/src/core/lib/iomgr/resource_quota.cc -+++ b/src/core/lib/iomgr/resource_quota.cc -@@ -945,7 +945,7 @@ bool grpc_resource_user_alloc(grpc_resource_user* resource_user, size_t size, - void grpc_resource_user_free(grpc_resource_user* resource_user, size_t size) { - gpr_mu_lock(&resource_user->mu); - grpc_resource_quota* resource_quota = resource_user->resource_quota; -- gpr_atm prior = gpr_atm_no_barrier_fetch_add(&resource_quota->used, -size); -+ gpr_atm prior = gpr_atm_no_barrier_fetch_add(&resource_quota->used, -static_cast(size)); - GPR_ASSERT(prior >= static_cast(size)); - bool was_zero_or_negative = resource_user->free_pool <= 0; - resource_user->free_pool += static_cast(size); + 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 59432cff36..fed574d5bc 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 3f540a53444cc9..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 99a32980aa..f55db67113 100644 ---- a/src/core/lib/transport/transport.cc -+++ b/src/core/lib/transport/transport.cc -@@ -97,6 +97,8 @@ void grpc_stream_ref_init(grpc_stream_refcount* refcount, int /*initial_refs*/, - refcount, &refcount->slice_refcount); - } - -+#undef move64 -+ - static void move64(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 e30e94f3d9ec33..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 e09f8fcc1e..ec1714687e 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -278,7 +278,7 @@ elseif(UNIX) - endif() - - if(WIN32) -- set(_gRPC_BASELIB_LIBRARIES wsock32 ws2_32 crypt32) -+ set(_gRPC_BASELIB_LIBRARIES wsock32 ws2_32 crypt32 gdi32) - endif() - - # Create directory for generated .proto 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 ff86f68febe3fa..2070760803b580 100644 --- a/ports/grpc/00005-fix-uwp-error.patch +++ b/ports/grpc/00005-fix-uwp-error.patch @@ -1,8 +1,21 @@ +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 0dacbfef3e..0743a1b003 100644 +index f2d49e0bf4..c86a75f1a3 100644 --- a/src/core/lib/slice/slice.cc +++ b/src/core/lib/slice/slice.cc -@@ -234,6 +234,7 @@ grpc_slice grpc_slice_from_moved_buffer(grpc_core::UniquePtr p, +@@ -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; @@ -10,7 +23,7 @@ index 0dacbfef3e..0743a1b003 100644 if (len <= sizeof(slice.data.inlined.bytes)) { slice.refcount = nullptr; slice.data.inlined.length = len; -@@ -253,7 +254,7 @@ grpc_slice grpc_slice_from_moved_string(grpc_core::UniquePtr p) { +@@ -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) { @@ -19,12 +32,12 @@ index 0dacbfef3e..0743a1b003 100644 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 c94551545d..3fd9797316 100644 ---- a/src/core/lib/surface/server.cc -+++ b/src/core/lib/surface/server.cc -@@ -878,7 +878,7 @@ grpc_call_error Server::QueueRequestedCall(size_t cq_idx, RequestedCall* rc) { - GRPC_ERROR_CREATE_FROM_STATIC_STRING("Server Shutdown")); +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; diff --git a/ports/grpc/00006-utf8-range.patch b/ports/grpc/00006-utf8-range.patch new file mode 100644 index 00000000000000..0f69b423a28c11 --- /dev/null +++ b/ports/grpc/00006-utf8-range.patch @@ -0,0 +1,110 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2008859625..73462d8285 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -3931,7 +3931,7 @@ if(gRPC_INSTALL) + ) + endif() + +- ++if(0) + add_library(utf8_range_lib + third_party/utf8_range/utf8_range.c + ) +@@ -3981,6 +3981,7 @@ if(gRPC_INSTALL) + ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR} + ) + endif() ++endif() + + if(gRPC_BUILD_TESTS) + +@@ -37649,9 +37650,9 @@ generate_pkgconfig( + "high performance general RPC framework" + "${gRPC_CORE_VERSION}" + "absl_algorithm_container absl_any_invocable absl_base absl_bind_front 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_message_lib -lupb_mem_lib -lupb_base_lib -lutf8_range_lib" ++ "-laddress_sorting -lupb_textformat_lib -lupb_json_lib -lupb_message_lib -lupb_mem_lib -lupb_base_lib" + "grpc.pc") + + # grpc_unsecure .pc file +@@ -37660,9 +37661,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_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_message_lib -lupb_mem_lib -lupb_base_lib -lutf8_range_lib" ++ "-laddress_sorting -lupb_message_lib -lupb_mem_lib -lupb_base_lib" + "grpc_unsecure.pc") + + # grpc++ .pc file +@@ -37671,9 +37672,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_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_message_lib -lupb_mem_lib -lupb_base_lib -lutf8_range_lib" ++ "-laddress_sorting -lupb_textformat_lib -lupb_json_lib -lupb_message_lib -lupb_mem_lib -lupb_base_lib" + "grpc++.pc") + + # grpc++_unsecure .pc file +@@ -37682,18 +37683,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_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_message_lib -lupb_mem_lib -lupb_base_lib -lutf8_range_lib" ++ "-laddress_sorting -lupb_message_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_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_message_lib -lupb_mem_lib -lupb_base_lib -lutf8_range_lib" ++ "-laddress_sorting -lupb_textformat_lib -lupb_json_lib -lupb_message_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..5323b5f10d 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 index e40b27dbbfbf8f..d74b41412118cb 100644 --- a/ports/grpc/00009-use-system-upb.patch +++ b/ports/grpc/00009-use-system-upb.patch @@ -1,78 +1,151 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 1c3146b..ae06ea3 100644 +index 43fa8f6d97..8c28c3fc32 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -84,6 +84,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") +@@ -3345,16 +3345,6 @@ add_library(grpc_unsecure + src/core/util/json/json_object_loader.cc + src/core/util/json/json_reader.cc + src/core/util/json/json_writer.cc +- third_party/upb/upb/mini_descriptor/build_enum.c +- third_party/upb/upb/mini_descriptor/decode.c +- third_party/upb/upb/mini_descriptor/internal/base92.c +- third_party/upb/upb/mini_descriptor/internal/encode.c +- third_party/upb/upb/mini_descriptor/link.c +- third_party/upb/upb/wire/decode.c +- third_party/upb/upb/wire/encode.c +- third_party/upb/upb/wire/eps_copy_input_stream.c +- third_party/upb/upb/wire/internal/decode_fast.c +- third_party/upb/upb/wire/reader.c + ${gRPC_ADDITIONAL_DLL_SRC} + ) -+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") +@@ -3593,7 +3583,7 @@ target_link_libraries(gtest -@@ -1504,7 +1507,6 @@ target_link_libraries(gpr - absl::synchronization - absl::time - absl::optional -- upb - ) - if(_gRPC_PLATFORM_ANDROID) - target_link_libraries(gpr -@@ -3927,6 +3929,7 @@ endif() endif() - -+if (gRPC_UPB_PROVIDER STREQUAL "module") - add_library(upb - third_party/upb/upb/decode_fast.c - third_party/upb/upb/decode.c -@@ -3984,7 +3987,7 @@ if(gRPC_INSTALL) +- ++if(0) + add_library(upb_base_lib + third_party/upb/upb/base/status.c + ) +@@ -3644,7 +3634,6 @@ if(gRPC_INSTALL) ) endif() - + add_library(upb_json_lib ${_gRPC_STATIC_WIN32} + third_party/upb/upb/json/decode.c + third_party/upb/upb/json/encode.c +@@ -3981,6 +3970,7 @@ if(gRPC_INSTALL) + ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR} + ) + endif() +endif() - add_executable(check_epollexclusive - test/build/check_epollexclusive.c + if(gRPC_BUILD_TESTS) + +@@ -5416,16 +5406,6 @@ add_library(grpc_authorization_provider + src/core/tsi/transport_security_grpc.cc + src/core/util/json/json_reader.cc + src/core/util/json/json_writer.cc +- third_party/upb/upb/mini_descriptor/build_enum.c +- third_party/upb/upb/mini_descriptor/decode.c +- third_party/upb/upb/mini_descriptor/internal/base92.c +- third_party/upb/upb/mini_descriptor/internal/encode.c +- third_party/upb/upb/mini_descriptor/link.c +- third_party/upb/upb/wire/decode.c +- third_party/upb/upb/wire/encode.c +- third_party/upb/upb/wire/eps_copy_input_stream.c +- third_party/upb/upb/wire/internal/decode_fast.c +- third_party/upb/upb/wire/reader.c + ) + + target_compile_features(grpc_authorization_provider PUBLIC cxx_std_14) +@@ -37649,9 +37629,9 @@ generate_pkgconfig( + "high performance general RPC framework" + "${gRPC_CORE_VERSION}" + "absl_algorithm_container absl_any_invocable absl_base absl_bind_front 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_message_lib -lupb_mem_lib -lupb_base_lib -lutf8_range_lib" ++ "-laddress_sorting -lupb" + "grpc.pc") + + # grpc_unsecure .pc file +@@ -37660,9 +37640,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_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_message_lib -lupb_mem_lib -lupb_base_lib -lutf8_range_lib" ++ "-laddress_sorting -lupb" + "grpc_unsecure.pc") + + # grpc++ .pc file +@@ -37671,9 +37651,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_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_message_lib -lupb_mem_lib -lupb_base_lib -lutf8_range_lib" ++ "-laddress_sorting -lupb" + "grpc++.pc") + + # grpc++_unsecure .pc file +@@ -37682,11 +37662,12 @@ 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_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_message_lib -lupb_mem_lib -lupb_base_lib -lutf8_range_lib" ++ "-laddress_sorting -lupb" + "grpc++_unsecure.pc") + ++if(gRPC_BUILD_GRPCPP_OTEL_PLUGIN) + # grpcpp_otel_plugin .pc file + generate_pkgconfig( + "gRPC++ OpenTelemetry Plugin" +@@ -37697,3 +37678,4 @@ generate_pkgconfig( + "-lgrpcpp_otel_plugin" + "-laddress_sorting -lupb_textformat_lib -lupb_json_lib -lupb_message_lib -lupb_mem_lib -lupb_base_lib -lutf8_range_lib" + "grpcpp_otel_plugin.pc") ++endif() diff --git a/cmake/gRPCConfig.cmake.in b/cmake/gRPCConfig.cmake.in -index 3623f4a..df6ced5 100644 +index d552e0bb4e..d40c07ce7a 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@ +@@ -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_UPB@ # Targets include(${CMAKE_CURRENT_LIST_DIR}/gRPCTargets.cmake) diff --git a/cmake/upb.cmake b/cmake/upb.cmake -index f2a0e50..ac6d397 100644 +index 9156e5f48f..3cc7ad4005 100644 --- a/cmake/upb.cmake +++ b/cmake/upb.cmake -@@ -12,9 +12,21 @@ - # See the License for the specific language governing permissions and - # limitations under the License. +@@ -14,7 +14,14 @@ -+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_INCLUDE_DIR "${UPB_ROOT_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/third_party/utf8_range") ++set(_gRPC_UPB_INCLUDE_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) + -+ -+elseif(gRPC_UPB_PROVIDER STREQUAL "package") -+ find_package(upb CONFIG REQUIRED) -+ set(_gRPC_UPB_LIBRARIES upb::upb) -+ set(_gRPC_UPB_INCLUDE_DIR) -+ set(upb ${_gRPC_UPB_LIBRARIES}) -+ set(_gRPC_FIND_UPB "if(NOT upb_FOUND)\n find_package(upb CONFIG REQUIRED)\nendif()") -+endif() -\ No newline at end of file ++find_package(upb CONFIG REQUIRED) ++set(_gRPC_FIND_UPB "find_dependency(upb CONFIG)") ++add_library(upb_json_lib ALIAS upb::upb) ++add_library(upb_textformat_lib ALIAS upb::upb) ++add_library(upb_message_lib ALIAS upb::upb) ++add_library(utf8_range_lib ALIAS utf8_range::utf8_range) diff --git a/ports/grpc/00010-add-feature-absl-sync.patch b/ports/grpc/00010-add-feature-absl-sync.patch deleted file mode 100644 index 2c7df5c876afba..00000000000000 --- a/ports/grpc/00010-add-feature-absl-sync.patch +++ /dev/null @@ -1,34 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index ae06ea3..8b64438 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -2180,6 +2180,8 @@ target_link_libraries(grpc - ${_gRPC_UPB_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - absl::flat_hash_map -+ absl::time -+ absl::synchronization - absl::inlined_vector - absl::bind_front - absl::statusor -@@ -2733,6 +2735,8 @@ target_link_libraries(grpc_unsecure - ${_gRPC_UPB_LIBRARIES} - ${_gRPC_ALLTARGETS_LIBRARIES} - absl::flat_hash_map -+ absl::time -+ absl::synchronization - absl::inlined_vector - absl::bind_front - absl::statusor -diff --git a/cmake/abseil-cpp.cmake b/cmake/abseil-cpp.cmake -index c89ba26..68ae4fd 100644 ---- a/cmake/abseil-cpp.cmake -+++ b/cmake/abseil-cpp.cmake -@@ -35,3 +35,6 @@ elseif(gRPC_ABSL_PROVIDER STREQUAL "package") - find_package(absl REQUIRED CONFIG) - endif() - set(_gRPC_FIND_ABSL "if(NOT TARGET absl::strings)\n find_package(absl CONFIG)\nendif()") -+ if (gRPC_ABSL_SYNC_ENABLE) -+ add_definitions(-DGPR_ABSEIL_SYNC=1) -+ endif() -\ No newline at end of file diff --git a/ports/grpc/00011-fix-csharp_plugin.patch b/ports/grpc/00011-fix-csharp_plugin.patch deleted file mode 100644 index fb258f9006d109..00000000000000 --- a/ports/grpc/00011-fix-csharp_plugin.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index ae77375eae..ad8815d2f9 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1960,10 +1960,14 @@ endif() - - if(gRPC_BUILD_CSHARP_EXT) - --add_library(grpc_csharp_ext SHARED -+add_library(grpc_csharp_ext - src/csharp/ext/grpc_csharp_ext.c - ) - -+if (WIN32 AND BUILD_SHARED_LIBS) -+ target_compile_definitions(grpc_csharp_ext PUBLIC GPR_WINDOWS) -+endif() -+ - set_target_properties(grpc_csharp_ext PROPERTIES - VERSION ${gRPC_CORE_VERSION} - SOVERSION ${gRPC_CORE_SOVERSION} -@@ -1977,6 +1981,12 @@ if(WIN32 AND MSVC) - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/grpc_csharp_ext.pdb - DESTINATION ${gRPC_INSTALL_LIBDIR} OPTIONAL - ) -+ -+ install(TARGETS grpc_csharp_ext -+ RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR} -+ LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR} -+ ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR} -+ ) - endif() - endif() - diff --git a/ports/grpc/00012-fix-use-cxx17.patch b/ports/grpc/00012-fix-use-cxx17.patch deleted file mode 100644 index ea425c9635a835..00000000000000 --- a/ports/grpc/00012-fix-use-cxx17.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 4573027..4615602 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -271,6 +271,12 @@ include(cmake/upb.cmake) - include(cmake/xxhash.cmake) - include(cmake/zlib.cmake) - -+ -+if (ABSL_USE_CXX17) -+ message(STATUS "Found absl uses CXX17, enable CXX17 feature.") -+ set(CMAKE_CXX_STANDARD 17) -+endif() -+ - if(_gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_IOS) - set(_gRPC_ALLTARGETS_LIBRARIES ${CMAKE_DL_LIBS} m pthread) - elseif(_gRPC_PLATFORM_ANDROID) diff --git a/ports/grpc/00013-build-upbdefs.patch b/ports/grpc/00013-build-upbdefs.patch deleted file mode 100644 index 9a601ec5aea7fc..00000000000000 --- a/ports/grpc/00013-build-upbdefs.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff --git a/cmake/upb.cmake b/cmake/upb.cmake -index 59d6813..1ce8bce 100644 ---- a/cmake/upb.cmake -+++ b/cmake/upb.cmake -@@ -24,8 +24,21 @@ set(_gRPC_UPB_LIBRARIES upb) - - elseif(gRPC_UPB_PROVIDER STREQUAL "package") - find_package(upb CONFIG REQUIRED) -- set(_gRPC_UPB_LIBRARIES upb::upb) -+ set(_gRPC_UPB_LIBRARIES upb) - set(_gRPC_UPB_INCLUDE_DIR) -- set(upb ${_gRPC_UPB_LIBRARIES}) -+ add_library(upb STATIC -+ ${CMAKE_CURRENT_SOURCE_DIR}/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.c -+ ${CMAKE_CURRENT_SOURCE_DIR}/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c -+ ) -+ set_target_properties(upb PROPERTIES OUTPUT_NAME grpc_upbdefs) -+ target_include_directories(upb PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/src/core/ext/upb-generated" "${CMAKE_CURRENT_SOURCE_DIR}/src/core/ext/upbdefs-generated") -+ target_link_libraries(upb PUBLIC upb::all_libs) -+ if(gRPC_INSTALL) -+ install(TARGETS upb EXPORT gRPCTargets -+ RUNTIME DESTINATION ${gRPC_INSTALL_BINDIR} -+ LIBRARY DESTINATION ${gRPC_INSTALL_LIBDIR} -+ ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR} -+ ) -+ endif() - set(_gRPC_FIND_UPB "if(NOT upb_FOUND)\n find_package(upb CONFIG REQUIRED)\nendif()") - endif() diff --git a/ports/grpc/00014-pkgconfig-upbdefs.patch b/ports/grpc/00014-pkgconfig-upbdefs.patch deleted file mode 100644 index 2aa257b3ec3183..00000000000000 --- a/ports/grpc/00014-pkgconfig-upbdefs.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index f7d677c..d527ff4 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -17705,7 +17705,7 @@ generate_pkgconfig( - "high performance general RPC framework" - "${gRPC_CORE_VERSION}" - "gpr openssl absl_base absl_bind_front absl_cord absl_core_headers absl_flat_hash_map absl_inlined_vector absl_memory absl_optional absl_status absl_statusor absl_str_format absl_strings absl_synchronization absl_time absl_variant" -- "-lgrpc -laddress_sorting -lre2 -lupb -lcares -lz" -+ "-lgrpc -lgrpc_upbdefs -laddress_sorting -lre2 -lupb_fastdecode -lupb_json -lupb_pb -lupb_handlers -lupb_textformat -lupb_reflection -lupb -lcares -lz" - "" - "grpc.pc") - diff --git a/ports/grpc/00015-disable-download-archive.patch b/ports/grpc/00015-disable-download-archive.patch new file mode 100644 index 00000000000000..675c2519dcf4a0 --- /dev/null +++ b/ports/grpc/00015-disable-download-archive.patch @@ -0,0 +1,12 @@ +diff --git a/cmake/download_archive.cmake b/cmake/download_archive.cmake +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}) + # Note that strip_prefix strips the directory path prefix of the extracted + # archive content, and it may strip multiple directories. + function(download_archive destination url hash strip_prefix) ++ return() + # Fetch and validate + set(_TEMPORARY_FILE ${_download_archive_TEMPORARY_DIR}/${strip_prefix}.tar.gz) + message(STATUS "Downloading from ${url}, if failed, please try configuring again") 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..dc0cffb117e95f --- /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 37a8f85cc5..b319f17aaf 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/gRPCTargets-vcpkg-tools.cmake b/ports/grpc/gRPCTargets-vcpkg-tools.cmake index 08e3ee3afc4011..1ed3509c940800 100644 --- a/ports/grpc/gRPCTargets-vcpkg-tools.cmake +++ b/ports/grpc/gRPCTargets-vcpkg-tools.cmake @@ -1,10 +1,10 @@ -file(GLOB GRPC_PLUGINS "${_IMPORT_PREFIX}/../@HOST_TRIPLET@/tools/grpc/grpc_*_plugin*") - -foreach(PLUGIN ${GRPC_PLUGINS}) - get_filename_component(PLUGIN_NAME "${PLUGIN}" NAME_WE) - add_executable(gRPC::${PLUGIN_NAME} IMPORTED) - set_property(TARGET gRPC::${PLUGIN_NAME} APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) - set_target_properties(gRPC::${PLUGIN_NAME} PROPERTIES - IMPORTED_LOCATION_RELEASE "${PLUGIN}" - ) -endforeach() +file(GLOB GRPC_PLUGINS "${_IMPORT_PREFIX}/../@HOST_TRIPLET@/tools/grpc/grpc_*_plugin*") + +foreach(PLUGIN ${GRPC_PLUGINS}) + get_filename_component(PLUGIN_NAME "${PLUGIN}" NAME_WE) + add_executable(gRPC::${PLUGIN_NAME} IMPORTED) + set_property(TARGET gRPC::${PLUGIN_NAME} APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) + set_target_properties(gRPC::${PLUGIN_NAME} PROPERTIES + IMPORTED_LOCATION_RELEASE "${PLUGIN}" + ) +endforeach() diff --git a/ports/grpc/portfile.cmake b/ports/grpc/portfile.cmake index a0015372524c74..7e7b1ca8e8e70b 100644 --- a/ports/grpc/portfile.cmake +++ b/ports/grpc/portfile.cmake @@ -5,25 +5,31 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO grpc/grpc - REF fc662b7964384b701af5bd3ce6994d2180080eb4 # v1.41.0 - SHA512 ebb534b5d55f1a84c5ee2ea75f2ef871819d278966dec2610877c2f8ddd87bae80a63cbab0393fb37b81844f261327848821ac641b55963583288e6ec3b94e62 + REF "v${VERSION}" + SHA512 a930bd9d8d0308f62fdda7ca215321b69a0cca8d8e0ce654b6938cd71dfd568fe63b5dd6ab0ee537e67751211e240b19cc23e07f5927dac318cf9be778d9fec2 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 - 00010-add-feature-absl-sync.patch - 00011-fix-csharp_plugin.patch - snprintf.patch - 00012-fix-use-cxx17.patch - 00013-build-upbdefs.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 +) +# 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() @@ -39,7 +45,6 @@ endif() vcpkg_check_features( OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES - absl-sync gRPC_ABSL_SYNC_ENABLE codegen gRPC_BUILD_CODEGEN ) @@ -54,17 +59,16 @@ 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 -DgRPC_INSTALL_LIBDIR:STRING=lib -DgRPC_INSTALL_INCLUDEDIR:STRING=include -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}" + "-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 MAYBE_UNUSED_VARIABLES gRPC_MSVC_STATIC_RUNTIME ) @@ -89,11 +93,13 @@ else() configure_file("${CMAKE_CURRENT_LIST_DIR}/gRPCTargets-vcpkg-tools.cmake" "${CURRENT_PACKAGES_DIR}/share/grpc/gRPCTargets-vcpkg-tools.cmake" @ONLY) endif() -# Ignore the C# extension DLL in bin/ -SET(VCPKG_POLICY_EMPTY_PACKAGE enabled) -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share" "${CURRENT_PACKAGES_DIR}/debug/include") vcpkg_copy_pdbs() +if (VCPKG_TARGET_IS_WINDOWS) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/pkgconfig" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig") +else() + vcpkg_fixup_pkgconfig() +endif() -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}/vcpkg-cmake-wrapper.cmake" @ONLY) +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 e8577e6dea1b12..82474a3b039364 100644 --- a/ports/grpc/vcpkg.json +++ b/ports/grpc/vcpkg.json @@ -1,8 +1,9 @@ { "name": "grpc", - "version-semver": "1.41.0", - "description": "An RPC library and framework", + "version-semver": "1.65.5", + "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": [ "abseil", { @@ -23,7 +24,7 @@ "host": true }, "re2", - "upb", + "utf8-range", { "name": "vcpkg-cmake", "host": true @@ -35,11 +36,9 @@ "zlib" ], "features": { - "absl-sync": { - "description": "Use abseil synchronization module" - }, "codegen": { - "description": "Build code generator machinery" + "description": "Build code generator machinery", + "supports": "!uwp" } } } diff --git a/ports/grppi/portfile.cmake b/ports/grppi/portfile.cmake index 058f39fd0a55ba..11543d49b86d9a 100644 --- a/ports/grppi/portfile.cmake +++ b/ports/grppi/portfile.cmake @@ -1,25 +1,34 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO arcosuc3m/grppi - REF v0.4.0 + REF v0.4.0 SHA512 f8235af6832958de420a68d4465a6c63701ab4385f3430d32f77c1d5e8212001262aad1a8aae04261ba889d592798cd3963843b190d325bddc1fe7dcc4aebd7d HEAD_REF master PATCHES fix-build-error.patch fix-support-other-compilers.patch + tbb.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +file(REMOVE "${SOURCE_PATH}/cmake.modules/FindTBB.cmake") + +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + tbb GRPPI_TBB_ENABLE +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DGRPPI_DOXY_ENABLE=OFF - -DGRPPI_EXAMPLE_APPLICATIONS_ENABLE=OFF - -DGRPPI_UNIT_TEST_ENABLE=OFF + ${FEATURE_OPTIONS} + -DGRPPI_DOXY_ENABLE=OFF + -DGRPPI_EXAMPLE_APPLICATIONS_ENABLE=OFF + -DGRPPI_UNIT_TEST_ENABLE=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/grppi/tbb.patch b/ports/grppi/tbb.patch new file mode 100644 index 00000000000000..8d17ee35fb7769 --- /dev/null +++ b/ports/grppi/tbb.patch @@ -0,0 +1,24 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 09f1f9b..d58b972 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -53,15 +53,10 @@ endif() + include_directories("${CMAKE_SOURCE_DIR}/include") + + # TBB Library +-find_package( TBB ) +-if( TBB_FOUND ) +- option(GRPPI_TBB_ENABLE "Require TBB library" ON) +- message(STATUS "TBB found") +-else( TBB_FOUND ) +- option(GRPPI_TBB_ENABLE "Require TBB library" OFF ) +- set(GRPPI_TBB_ENABLE OFF CACHE BOOL "Require TBB library" FORCE) +- message(STATUS "TBB not found") +-endif( TBB_FOUND ) ++option(GRPPI_TBB_ENABLE "Enable TBB backend" OFF) ++if(GRPPI_TBB_ENABLE) ++ find_package(TBB CONFIG REQUIRED) ++endif() + + message( STATUS "TBB: " ${GRPPI_TBB_ENABLE} ) + if( GRPPI_TBB_ENABLE ) diff --git a/ports/grppi/vcpkg.json b/ports/grppi/vcpkg.json index 1cc832ab3ed7e1..126b90f7cf7ac6 100644 --- a/ports/grppi/vcpkg.json +++ b/ports/grppi/vcpkg.json @@ -1,7 +1,22 @@ { "name": "grppi", - "version-string": "0.4.0", - "port-version": 1, + "version": "0.4.0", + "port-version": 2, "description": "GrPPI is an open source generic and reusable parallel pattern programming interface developed at University Carlos III of Madrid.", - "homepage": "https://github.com/arcosuc3m/grppi" + "homepage": "https://github.com/arcosuc3m/grppi", + "license": "Apache-2.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ], + "features": { + "tbb": { + "description": "Enable tbb backend", + "dependencies": [ + "tbb" + ] + } + } } 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 1cc23b2c7c0c72..eb0355b61b80d9 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 4b5e9ab7474841fc2d7efc2e0064ef81785535d1 - SHA512 d5678743f2aebf9b8311e1484d8d22d995f4920632c55ff2f45e463f435a087d25bbf79749c179cfa2f96e799a55e5ee2e59eb2cc6962b8f5922ea56789e16b1 + REF 755ba124b54914e672737acace6a9314f59e8d6f + SHA512 d0b8397afc7704c5c9510fb62ce01f35faf9cc1cfd05ac3853bdc4b9fc4874aaa85aa70e93ff37867dc263b97926b15af2316e49a5787b246984fa086bf85563 HEAD_REF master ) diff --git a/ports/gsl-lite/vcpkg.json b/ports/gsl-lite/vcpkg.json index 0fdc05f4195ec2..b62ab3f8112d35 100644 --- a/ports/gsl-lite/vcpkg.json +++ b/ports/gsl-lite/vcpkg.json @@ -1,6 +1,6 @@ { "name": "gsl-lite", - "version": "0.40.0", + "version": "0.41.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/CMakeLists.txt b/ports/gsl/CMakeLists.txt index 2d37f37e98bd98..5bc98746e961d4 100644 --- a/ports/gsl/CMakeLists.txt +++ b/ports/gsl/CMakeLists.txt @@ -40,7 +40,7 @@ foreach(DIR IN LISTS FOLDERS) endforeach() file(READ gsl_types.h GSLTYPES_H) -string(REPLACE "#ifdef WIN32" "#if 1 /*WIN32*/" GSLTYPES_H "${GSLTYPES_H}") +string(REPLACE "#ifdef WIN32" "#ifdef _WIN32" GSLTYPES_H "${GSLTYPES_H}") if(BUILD_SHARED_LIBS) string(REPLACE "# ifdef GSL_DLL" "# if 1 /*GSL_DLL*/" GSLTYPES_H "${GSLTYPES_H}") endif() @@ -75,6 +75,9 @@ if(INSTALL_HEADERS) set(TARGET_INSTALL_OPTIONS PUBLIC_HEADER DESTINATION include/gsl) endif() +configure_file("${CMAKE_CURRENT_SOURCE_DIR}/gsl.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/gsl.pc" @ONLY) +install(FILES "${CMAKE_CURRENT_BINARY_DIR}/gsl.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") + install(TARGETS gsl gslcblas RUNTIME DESTINATION bin LIBRARY DESTINATION lib diff --git a/ports/gsl/portfile.cmake b/ports/gsl/portfile.cmake index 5e1358ca2872db..86ae54f8821cec 100644 --- a/ports/gsl/portfile.cmake +++ b/ports/gsl/portfile.cmake @@ -1,13 +1,13 @@ -set(GSL_VERSION 2.7) +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 a14ac5400acaf4884620430dbeb6f0b28eafe946923b792ab0eccc2a2abc9113d8ce342f4b1e5396f05247649f7d6f953944a8e6bdbf9ee1adb9e67b7c3df2b5 + SHA512 4427f6ce59dc14eabd6d31ef1fcac1849b4d7357faf48873aef642464ddf21cc9b500d516f08b410f02a2daa9a6ff30220f3995584b0a6ae2f73c522d1abb66b ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH +vcpkg_extract_source_archive( + SOURCE_PATH ARCHIVE ${ARCHIVE} PATCHES 0001-configure.patch @@ -24,6 +24,8 @@ vcpkg_cmake_configure( vcpkg_cmake_install() vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() + 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) configure_file("${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" "${CURRENT_PACKAGES_DIR}/share/${PORT}/vcpkg-cmake-wrapper.cmake" @ONLY) \ No newline at end of file diff --git a/ports/gsl/vcpkg.json b/ports/gsl/vcpkg.json index e09fe1f11bedb2..921c690e152d4a 100644 --- a/ports/gsl/vcpkg.json +++ b/ports/gsl/vcpkg.json @@ -1,8 +1,9 @@ { "name": "gsl", - "version": "2.7", + "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", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/gsoap/portfile.cmake b/ports/gsoap/portfile.cmake index 3ba596bc424097..04a482f5623439 100644 --- a/ports/gsoap/portfile.cmake +++ b/ports/gsoap/portfile.cmake @@ -1,7 +1,5 @@ message(FATAL_ERROR "gsoap does not offer permanent public downloads of its sources; all versions except the latest are removed from sourceforge. Therefore, vcpkg cannot support this library directly in the central catalog. If you would like to use gsoap, you can use this port as a starting point (${CMAKE_CURRENT_LIST_DIR}) and update it to use a permanent commercial copy or the latest public download. Do not report issues with this library to the vcpkg GitHub.") -vcpkg_fail_port_install(ON_TARGET "Linux" "OSX" "UWP" ON_ARCH "arm" "arm64") - vcpkg_from_sourceforge( OUT_SOURCE_PATH SOURCE_PATH REPO gsoap2 @@ -13,50 +11,41 @@ vcpkg_from_sourceforge( set(BUILD_ARCH "Win32") -# Handle binary files and includes -file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/gsoap ${CURRENT_PACKAGES_DIR}/debug/tools) +file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/gsoap" "${CURRENT_PACKAGES_DIR}/debug/tools") if (VCPKG_TARGET_IS_WINDOWS) - vcpkg_build_msbuild( - USE_VCPKG_INTEGRATION - PROJECT_PATH ${SOURCE_PATH}/gsoap/VisualStudio2005/soapcpp2/soapcpp2.sln + vcpkg_msbuild_install( + PROJECT_PATH "${SOURCE_PATH}/gsoap/VisualStudio2005/soapcpp2/soapcpp2.sln" PLATFORM ${BUILD_ARCH} TARGET Build ) - vcpkg_build_msbuild( - USE_VCPKG_INTEGRATION - PROJECT_PATH ${SOURCE_PATH}/gsoap/VisualStudio2005/wsdl2h/wsdl2h.sln + vcpkg_msbuild_install( + PROJECT_PATH "${SOURCE_PATH}/gsoap/VisualStudio2005/wsdl2h/wsdl2h.sln" PLATFORM ${BUILD_ARCH} TARGET Build ) - - file(COPY ${SOURCE_PATH}/gsoap/VisualStudio2005/soapcpp2/release/soapcpp2.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools/gsoap/) - file(COPY ${SOURCE_PATH}/gsoap/VisualStudio2005/wsdl2h/release/wsdl2h.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools/gsoap/) - file(COPY ${SOURCE_PATH}/gsoap/VisualStudio2005/soapcpp2/debug/soapcpp2.exe DESTINATION ${CURRENT_PACKAGES_DIR}/debug/tools/gsoap/) - file(COPY ${SOURCE_PATH}/gsoap/VisualStudio2005/wsdl2h/debug/wsdl2h.exe DESTINATION ${CURRENT_PACKAGES_DIR}/debug/tools/gsoap/) else() message(FATAL_ERROR "Sorry but gsoap only can be build in Windows temporary") endif() -file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/include) -file(COPY ${SOURCE_PATH}/gsoap/stdsoap2.h ${SOURCE_PATH}/gsoap/stdsoap2.c ${SOURCE_PATH}/gsoap/stdsoap2.cpp ${SOURCE_PATH}/gsoap/dom.c ${SOURCE_PATH}/gsoap/dom.cpp DESTINATION ${CURRENT_PACKAGES_DIR}/include) - -# Handle import files -file(COPY ${SOURCE_PATH}/gsoap/import DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/include") -# Handle custom files -file(COPY ${SOURCE_PATH}/gsoap/custom DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) - -# Handle plugin files -file(COPY ${SOURCE_PATH}/gsoap/plugin DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +file(COPY + "${SOURCE_PATH}/gsoap/stdsoap2.h" + "${SOURCE_PATH}/gsoap/stdsoap2.c" + "${SOURCE_PATH}/gsoap/stdsoap2.cpp" + "${SOURCE_PATH}/gsoap/dom.c" + "${SOURCE_PATH}/gsoap/dom.cpp" + DESTINATION "${CURRENT_PACKAGES_DIR}/include" +) -# Cleanup surplus empty directory -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/gsoap/plugin/.deps") +file(COPY "${SOURCE_PATH}/gsoap/import" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +file(COPY "${SOURCE_PATH}/gsoap/custom" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +file(COPY "${SOURCE_PATH}/gsoap/plugin" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -# Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) -file(INSTALL ${SOURCE_PATH}/INSTALL.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME install) -file(INSTALL ${SOURCE_PATH}/README.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME readme) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/gsoap/plugin/.deps") -vcpkg_copy_pdbs() +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") +file(INSTALL "${SOURCE_PATH}/INSTALL.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME install) +file(INSTALL "${SOURCE_PATH}/README.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME readme) diff --git a/ports/gsoap/vcpkg.json b/ports/gsoap/vcpkg.json index ffa37c5d2b5aab..c7fa38a0334509 100644 --- a/ports/gsoap/vcpkg.json +++ b/ports/gsoap/vcpkg.json @@ -1,7 +1,15 @@ { "name": "gsoap", "version": "2.8.112", + "port-version": 2, "description": "The gSOAP toolkit is a C and C++ software development toolkit for SOAP and REST XML Web services and generic C/C++ XML data bindings.", "homepage": "https://sourceforge.net/projects/gsoap2/", - "supports": "!(linux | osx | arm | uwp)" + "supports": "!(linux | osx | arm | uwp)", + "dependencies": [ + { + "name": "vcpkg-msbuild", + "host": true, + "platform": "windows" + } + ] } diff --git a/ports/gst-rtsp-server/portfile.cmake b/ports/gst-rtsp-server/portfile.cmake index d184c1affc5d1d..b945e716334aaf 100644 --- a/ports/gst-rtsp-server/portfile.cmake +++ b/ports/gst-rtsp-server/portfile.cmake @@ -1,34 +1,56 @@ vcpkg_from_gitlab( GITLAB_URL https://gitlab.freedesktop.org OUT_SOURCE_PATH SOURCE_PATH - REPO gstreamer/gst-rtsp-server - REF 1.19.2 - SHA512 a227471c790ea4f399748233128558cbd43e941ad9774b99ecd88c1b521a0adfe2932212e7d854f041892a7c3bfc63a1b3ea9dd06d2f0b75b7eee38e392d8c51 + REPO gstreamer/gstreamer + REF 1.20.5 + SHA512 2a996d8ac0f70c34dbbc02c875026df6e89346f0844fbaa25475075bcb6e57c81ceb7d71e729c3259eace851e3d7222cb3fe395e375d93eb45b1262a6ede1fdb HEAD_REF master ) +set(SOURCE_PATH "${SOURCE_PATH}/subprojects/gst-rtsp-server") + vcpkg_configure_meson( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -Dgstreamer:examples=disabled - -Dgstreamer:tests=disabled + -Dexamples=disabled + -Dtests=disabled + -Dintrospection=disabled -Dpackage-origin="vcpkg" + OPTIONS_RELEASE + -Dgobject-cast-checks=disabled + -Dglib-asserts=disabled + -Dglib-checks=disabled ) vcpkg_install_meson() -if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - file(GLOB DBG_BINS ${CURRENT_PACKAGES_DIR}/debug/lib/gstreamer-1.0/*.dll - ${CURRENT_PACKAGES_DIR}/debug/lib/gstreamer-1.0/*.pdb - ) - file(COPY ${DBG_BINS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) - file(GLOB REL_BINS ${CURRENT_PACKAGES_DIR}/lib/gstreamer-1.0/*.dll - ${CURRENT_PACKAGES_DIR}/lib/gstreamer-1.0/*.pdb +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + if(NOT VCPKG_BUILD_TYPE) + file(GLOB DBG_BINS "${CURRENT_PACKAGES_DIR}/debug/lib/gstreamer-1.0/${CMAKE_SHARED_LIBRARY_PREFIX}*${CMAKE_SHARED_LIBRARY_SUFFIX}" + "${CURRENT_PACKAGES_DIR}/debug/lib/gstreamer-1.0/*.pdb" + ) + file(COPY ${DBG_BINS} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/plugins/gstreamer") + endif() + file(GLOB REL_BINS "${CURRENT_PACKAGES_DIR}/lib/gstreamer-1.0/${CMAKE_SHARED_LIBRARY_PREFIX}*${CMAKE_SHARED_LIBRARY_SUFFIX}" + "${CURRENT_PACKAGES_DIR}/lib/gstreamer-1.0/*.pdb" ) - file(COPY ${REL_BINS} DESTINATION ${CURRENT_PACKAGES_DIR}/bin) + file(COPY ${REL_BINS} DESTINATION "${CURRENT_PACKAGES_DIR}/plugins/gstreamer") file(REMOVE ${DBG_BINS} ${REL_BINS}) + if(NOT VCPKG_TARGET_IS_WINDOWS) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/gstreamer-1.0" "${CURRENT_PACKAGES_DIR}/lib/gstreamer-1.0") + endif() +endif() + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + # Move plugin pkg-config files + file(GLOB pc_files "${CURRENT_PACKAGES_DIR}/lib/gstreamer-1.0/pkgconfig/*") + file(COPY ${pc_files} DESTINATION "${CURRENT_PACKAGES_DIR}/lib/pkgconfig") + file(GLOB pc_files_dbg "${CURRENT_PACKAGES_DIR}/debug/lib/gstreamer-1.0/pkgconfig/*") + file(COPY ${pc_files_dbg} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/gstreamer-1.0/pkgconfig/" + "${CURRENT_PACKAGES_DIR}/lib/gstreamer-1.0/pkgconfig/") endif() 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/gst-rtsp-server/vcpkg.json b/ports/gst-rtsp-server/vcpkg.json index f9f495c64b760e..b3af8a48b298d6 100644 --- a/ports/gst-rtsp-server/vcpkg.json +++ b/ports/gst-rtsp-server/vcpkg.json @@ -1,8 +1,23 @@ { "name": "gst-rtsp-server", - "version": "1.19.2", + "version": "1.20.5", + "port-version": 2, "description": "gst-rtsp-server is a library on top of GStreamer for building an RTSP server", + "homepage": "https://gstreamer.freedesktop.org/", + "license": "LGPL-2.1-only", + "supports": "!xbox", "dependencies": [ - "gstreamer" + "glib", + { + "name": "gstreamer", + "default-features": false, + "features": [ + "plugins-base" + ] + }, + { + "name": "vcpkg-tool-meson", + "host": true + } ] } diff --git a/ports/gstreamer/base-must-be-enabled.patch b/ports/gstreamer/base-must-be-enabled.patch new file mode 100644 index 00000000000000..5a4d3abeb32107 --- /dev/null +++ b/ports/gstreamer/base-must-be-enabled.patch @@ -0,0 +1,13 @@ +diff --git a/meson.build b/meson.build +index 6d07929..df015cb 100644 +--- a/meson.build ++++ b/meson.build +@@ -159,7 +159,7 @@ foreach sp : subprojects + subproj = subproject(project_name, required: is_required, default_options: default_options) + endif + +- if project_name == 'gst-plugins-base' ++ if project_name == 'gst-plugins-base' and subproj.found() + gst_base_orc_req = subproj.get_variable('orc_req', '') + if gst_base_orc_req != orc_req + error('orc_req is "@0@" but it should be "@1@" from subprojects/gst-plugins-base/meson.build' diff --git a/ports/gstreamer/fix-bz2-windows-debug-dependency.patch b/ports/gstreamer/fix-bz2-windows-debug-dependency.patch new file mode 100644 index 00000000000000..2be3d28aeec44e --- /dev/null +++ b/ports/gstreamer/fix-bz2-windows-debug-dependency.patch @@ -0,0 +1,26 @@ +diff --git a/subprojects/gst-plugins-bad/ext/bz2/meson.build b/subprojects/gst-plugins-bad/ext/bz2/meson.build +index 08d1596..be5fa02 100644 +--- a/subprojects/gst-plugins-bad/ext/bz2/meson.build ++++ b/subprojects/gst-plugins-bad/ext/bz2/meson.build +@@ -4,7 +4,7 @@ bz2_sources = [ + 'gstbz2enc.c', + ] + +-bz2_dep = cc.find_library('bz2', required : get_option('bz2')) ++bz2_dep = dependency('bzip2', required : get_option('bz2')) + + if bz2_dep.found() and cc.has_header_symbol('bzlib.h', 'BZ2_bzlibVersion') + gstbz2 = library('gstbz2', +diff --git a/subprojects/gst-plugins-good/gst/matroska/meson.build b/subprojects/gst-plugins-good/gst/matroska/meson.build +index d8a6a96..dd03de2 100644 +--- a/subprojects/gst-plugins-good/gst/matroska/meson.build ++++ b/subprojects/gst-plugins-good/gst/matroska/meson.build +@@ -12,7 +12,7 @@ matroska_sources = [ + 'lzo.c', + ] + +-bz2_dep = cc.find_library('bz2', required : get_option('bz2')) ++bz2_dep = dependency('bzip2', required : get_option('bz2')) + cdata.set('HAVE_BZ2', bz2_dep.found() and cc.has_header('bzlib.h')) + + gstmatroska = library('gstmatroska', diff --git a/ports/gstreamer/fix-clang-cl-bad.patch b/ports/gstreamer/fix-clang-cl-bad.patch new file mode 100644 index 00000000000000..7c6db3c23fcda1 --- /dev/null +++ b/ports/gstreamer/fix-clang-cl-bad.patch @@ -0,0 +1,84 @@ +diff --git a/subprojects/gst-plugins-bad/ext/dts/meson.build b/subprojects/gst-plugins-bad/ext/dts/meson.build +index c4868a4..6b34cb7 100644 +--- a/subprojects/gst-plugins-bad/ext/dts/meson.build ++++ b/subprojects/gst-plugins-bad/ext/dts/meson.build +@@ -20,7 +20,7 @@ if not dca_dep.found() + endif + + no_warn_c_args = [] +-if cc.get_id() != 'msvc' ++if cc.get_argument_syntax() != 'msvc' + # 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/meson.build b/subprojects/gst-plugins-bad/meson.build +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) + +-if cc.get_id() == 'msvc' ++if cc.get_argument_syntax() == 'msvc' + msvc_args = [ + # Ignore several spurious warnings for things gstreamer does very commonly + # If a warning is completely useless and spammy, use '/wdXXXX' to suppress it +diff --git a/subprojects/gst-plugins-bad/sys/asio/meson.build b/subprojects/gst-plugins-bad/sys/asio/meson.build +index c61ad4e..b30793c 100644 +--- a/subprojects/gst-plugins-bad/sys/asio/meson.build ++++ b/subprojects/gst-plugins-bad/sys/asio/meson.build +@@ -15,7 +15,7 @@ endif + + # FIXME: non-msvc is not tested, and unlikely supported yet because of + # tool-chain issue +-if cxx.get_id() != 'msvc' ++if cxx.get_argument_syntax() != 'msvc' + if asio_option.enabled() + 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 ff557be..d5bf0db 100644 +--- a/subprojects/gst-plugins-bad/sys/d3d11/meson.build ++++ b/subprojects/gst-plugins-bad/sys/d3d11/meson.build +@@ -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 +-if cc.get_id() != 'msvc' ++if cc.get_argument_syntax() != 'msvc' + extra_mingw_args = cc.get_supported_arguments([ + '-Wno-redundant-decls', + ]) +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 ++++ b/subprojects/gst-plugins-bad/sys/mediafoundation/meson.build +@@ -54,7 +54,7 @@ if host_system != 'windows' or mf_option.disabled() + subdir_done() + endif + +-if cc.get_id() != 'msvc' ++if cc.get_argument_syntax() != 'msvc' + if mf_option.enabled() + 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 51bf953..e30e138 100644 +--- a/subprojects/gst-plugins-bad/sys/msdk/meson.build ++++ b/subprojects/gst-plugins-bad/sys/msdk/meson.build +@@ -175,12 +175,12 @@ if use_onevpl and have_mfx_ver205 + endif + + if host_machine.system() == 'windows' +- if cc.get_id() != 'msvc' and msdk_option.enabled() ++ if cc.get_argument_syntax() != 'msvc' and msdk_option.enabled() + error('msdk plugin can only be built with MSVC') + endif + legacy_stdio_dep = cc.find_library('legacy_stdio_definitions', required: get_option('msdk')) + msdk_deps = declare_dependency(dependencies: [gstd3d11_dep, legacy_stdio_dep]) +- msdk_deps_found = gstd3d11_dep.found() and legacy_stdio_dep.found() and cc.get_id() == 'msvc' ++ 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'), allow_fallback: true) diff --git a/ports/gstreamer/fix-clang-cl-base.patch b/ports/gstreamer/fix-clang-cl-base.patch new file mode 100644 index 00000000000000..227a7e05ba6594 --- /dev/null +++ b/ports/gstreamer/fix-clang-cl-base.patch @@ -0,0 +1,13 @@ +diff --git a/subprojects/gst-plugins-base/meson.build b/subprojects/gst-plugins-base/meson.build +index c040bc9..ce9071c 100644 +--- a/subprojects/gst-plugins-base/meson.build ++++ b/subprojects/gst-plugins-base/meson.build +@@ -51,7 +51,7 @@ gst_libraries = [] + + cc = meson.get_compiler('c') + +-if cc.get_id() == 'msvc' ++if cc.get_argument_syntax() == 'msvc' + msvc_args = [ + # Ignore several spurious warnings for things gstreamer does very commonly + # If a warning is completely useless and spammy, use '/wdXXXX' to suppress it diff --git a/ports/gstreamer/fix-clang-cl-good.patch b/ports/gstreamer/fix-clang-cl-good.patch new file mode 100644 index 00000000000000..10be6030a4572c --- /dev/null +++ b/ports/gstreamer/fix-clang-cl-good.patch @@ -0,0 +1,22 @@ +diff --git a/subprojects/gst-plugins-good/meson.build b/subprojects/gst-plugins-good/meson.build +index 64705379f..0c55b9732 100644 +--- a/subprojects/gst-plugins-good/meson.build ++++ b/subprojects/gst-plugins-good/meson.build +@@ -30,7 +30,7 @@ plugins = [] + cc = meson.get_compiler('c') + host_system = host_machine.system() + +-if cc.get_id() == 'msvc' ++if cc.get_argument_syntax() == 'msvc' + msvc_args = [ + # Ignore several spurious warnings for things gstreamer does very commonly + # If a warning is completely useless and spammy, use '/wdXXXX' to suppress it +@@ -183,7 +183,7 @@ cdata.set('SIZEOF_OFF_T', cc.sizeof('off_t')) + # Here be fixmes. + # FIXME: check if this is correct + cdata.set('HAVE_CPU_X86_64', host_machine.cpu() == 'amd64') +-cdata.set('HAVE_GCC_ASM', cc.get_id() != 'msvc') ++cdata.set('HAVE_GCC_ASM', cc.get_argument_syntax() != 'msvc') + cdata.set_quoted('VERSION', gst_version) + cdata.set_quoted('PACKAGE_VERSION', gst_version) + cdata.set_quoted('GST_LICENSE', 'LGPL') diff --git a/ports/gstreamer/fix-clang-cl-gstreamer.patch b/ports/gstreamer/fix-clang-cl-gstreamer.patch new file mode 100644 index 00000000000000..a89167b303e9a5 --- /dev/null +++ b/ports/gstreamer/fix-clang-cl-gstreamer.patch @@ -0,0 +1,39 @@ +diff --git a/subprojects/gstreamer/gst/parse/meson.build b/subprojects/gstreamer/gst/parse/meson.build +index b79a07c..891f907 100644 +--- a/subprojects/gstreamer/gst/parse/meson.build ++++ b/subprojects/gstreamer/gst/parse/meson.build +@@ -16,7 +16,7 @@ else + endif + + flex_cdata.set('FLEX', flex.full_path()) +-if cc.get_id() == 'msvc' ++if cc.get_argument_syntax() == 'msvc' + flex_cdata.set('FLEX_ARGS', '--nounistd') + else + flex_cdata.set('FLEX_ARGS', '') +diff --git a/subprojects/gstreamer/meson.build b/subprojects/gstreamer/meson.build +index 941bedc..cd37a40 100644 +--- a/subprojects/gstreamer/meson.build ++++ b/subprojects/gstreamer/meson.build +@@ -47,7 +47,7 @@ endif + + cdata = configuration_data() + +-if cc.get_id() == 'msvc' ++if cc.get_argument_syntax() == 'msvc' + msvc_args = [ + # Ignore several spurious warnings for things gstreamer does very commonly + # If a warning is completely useless and spammy, use '/wdXXXX' to suppress it +@@ -347,8 +347,10 @@ static __uint128_t v2 = 10; + static __uint128_t u; + u = v1 / v2; + }''' +-if cc.compiles(uint128_t_src, name : '__uint128_t available') +- cdata.set('HAVE_UINT128_T', 1) ++if cc.get_argument_syntax() != 'msvc' ++ if cc.compiles(uint128_t_src, name : '__uint128_t available') ++ cdata.set('HAVE_UINT128_T', 1) ++ endif + endif + + # All supported platforms have long long now diff --git a/ports/gstreamer/fix-clang-cl-ugly.patch b/ports/gstreamer/fix-clang-cl-ugly.patch new file mode 100644 index 00000000000000..100b6a7b628ef7 --- /dev/null +++ b/ports/gstreamer/fix-clang-cl-ugly.patch @@ -0,0 +1,13 @@ +diff --git a/subprojects/gst-plugins-ugly/meson.build b/subprojects/gst-plugins-ugly/meson.build +index 14be48c4c..83d019874 100644 +--- a/subprojects/gst-plugins-ugly/meson.build ++++ b/subprojects/gst-plugins-ugly/meson.build +@@ -31,7 +31,7 @@ if have_cxx + cxx = meson.get_compiler('cpp') + endif + +-if cc.get_id() == 'msvc' ++if cc.get_argument_syntax() == 'msvc' + msvc_args = [ + # Ignore several spurious warnings for things gstreamer does very commonly + # If a warning is completely useless and spammy, use '/wdXXXX' to suppress it diff --git a/ports/gstreamer/fix-clang-cl.patch b/ports/gstreamer/fix-clang-cl.patch new file mode 100644 index 00000000000000..ac00b9e1357b21 --- /dev/null +++ b/ports/gstreamer/fix-clang-cl.patch @@ -0,0 +1,22 @@ +diff --git a/meson.build b/meson.build +index 1316366ed..daeaf3cb1 100644 +--- a/meson.build ++++ b/meson.build +@@ -62,7 +62,7 @@ endif + # Ensure that MSVC interprets all source code as UTF-8. Only do this when we're + # not a subproject, because subprojects are not allowed to call + # add_global_arguments(). +-if not meson.is_subproject() and cc.get_id() == 'msvc' ++if not meson.is_subproject() and cc.get_argument_syntax() == 'msvc' + add_global_arguments( + cc.get_supported_arguments(['/utf-8']), # set the input encoding to utf-8 + language: ['c', 'cpp']) +@@ -316,7 +316,7 @@ if get_option('default_library') == 'static' + if cc.has_link_argument(link_arg) + gstfull_link_args += link_arg + link_deps += symbol_map +- elif cc.get_id() == 'msvc' ++ elif cc.get_argument_syntax() == 'msvc' + warning('FIXME: Provide a def file to publish the public symbols') + else + warning('FIXME: Linker does not support the supplied version script (' + symbol_map + '), please disable the "gst-full-version-script" option') diff --git a/ports/gstreamer/gstreamer-disable-no-unused.patch b/ports/gstreamer/gstreamer-disable-no-unused.patch new file mode 100644 index 00000000000000..b2f2306c69beaa --- /dev/null +++ b/ports/gstreamer/gstreamer-disable-no-unused.patch @@ -0,0 +1,13 @@ +diff --git a/subprojects/gstreamer/meson.build b/subprojects/gstreamer/meson.build +index 3b2cbba..18dd8d0 100644 +--- a/subprojects/gstreamer/meson.build ++++ b/subprojects/gstreamer/meson.build +@@ -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') + 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 new file mode 100644 index 00000000000000..917a35263e6a50 --- /dev/null +++ b/ports/gstreamer/plugin-base-disable-no-unused.patch @@ -0,0 +1,21 @@ +diff --git a/subprojects/gst-plugins-base/meson.build b/subprojects/gst-plugins-base/meson.build +index 2c09e7b..e51f5a8 100644 +--- a/subprojects/gst-plugins-base/meson.build ++++ b/subprojects/gst-plugins-base/meson.build +@@ -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_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 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/plugins-base-use-zlib.patch b/ports/gstreamer/plugins-base-use-zlib.patch deleted file mode 100644 index 57b997ca7d9d8c..00000000000000 --- a/ports/gstreamer/plugins-base-use-zlib.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/gst-libs/gst/tag/meson.build b/gst-libs/gst/tag/meson.build -index 5ec3739..a6cff8d 100644 ---- a/gst-libs/gst/tag/meson.build -+++ b/gst-libs/gst/tag/meson.build -@@ -70,7 +70,7 @@ endif - core_conf.set('HAVE_ISO_CODES', have_iso_codes) - - # could drop optional zlib dep and use g_zlib_decompressor_new() --zlib_dep = dependency('zlib', required : false) -+zlib_dep = dependency('zlib', required : true) - if not zlib_dep.found() - zlib_dep = cc.find_library('z', required : false) - if not zlib_dep.found() or not cc.has_header('zlib.h') diff --git a/ports/gstreamer/plugins-base-x11.patch b/ports/gstreamer/plugins-base-x11.patch new file mode 100644 index 00000000000000..f42551948ca852 --- /dev/null +++ b/ports/gstreamer/plugins-base-x11.patch @@ -0,0 +1,13 @@ +diff --git a/subprojects/gst-plugins-base/meson.build b/subprojects/gst-plugins-base/meson.build +index 9b00253a0f..e3c3a0d920 100644 +--- a/subprojects/gst-plugins-base/meson.build ++++ b/subprojects/gst-plugins-base/meson.build +@@ -316,7 +316,7 @@ else + gtk_quartz_dep = dependency('', required : false) + endif + +-core_conf.set('HAVE_X11', x11_dep.found()) ++core_conf.set('HAVE_X11', false) + core_conf.set('HAVE_GIO_UNIX_2_0', giounix_dep.found()) + + if gio_dep.type_name() == 'pkgconfig' diff --git a/ports/gstreamer/plugins-good-use-zlib.patch b/ports/gstreamer/plugins-good-use-zlib.patch deleted file mode 100644 index efea351f165ea6..00000000000000 --- a/ports/gstreamer/plugins-good-use-zlib.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/meson.build b/meson.build -index 9de3b01..091a7f0 100644 ---- a/meson.build -+++ b/meson.build -@@ -326,7 +326,7 @@ if have_gstgl - endif - endif - --zlib_dep = dependency('zlib', required : false) -+zlib_dep = dependency('zlib', required : true) - if not zlib_dep.found() - zlib_dep = cc.find_library('z', required : false) - if not zlib_dep.found() or not cc.has_header('zlib.h') diff --git a/ports/gstreamer/portfile.cmake b/ports/gstreamer/portfile.cmake index 20d94fef7842a2..44d62f3f0f0b7b 100644 --- a/ports/gstreamer/portfile.cmake +++ b/ports/gstreamer/portfile.cmake @@ -1,73 +1,37 @@ -vcpkg_fail_port_install(ON_ARCH "arm" ON_TARGET "uwp" "emscripten" "wasm32" "android" "ios") - -vcpkg_from_github( - OUT_SOURCE_PATH GST_BUILD_SOURCE_PATH - REPO gstreamer/gst-build - REF 1.19.2 - SHA512 d6b8e9fc195a60dfb83fe8a49040c21ca5603e3ada2036d56851e6e61a1cd2653ad45f33e39388bde859dfb4806f4a60d9dbfac5fe41b6d2a8b395c44d4525e3 - HEAD_REF master -) -vcpkg_from_github( - OUT_SOURCE_PATH GST_SOURCE_PATH - REPO gstreamer/gstreamer - REF 1.19.2 - SHA512 6070f1febf2a1bcc6e68f1e03c1b76891db210773065696e26fac20f0bd3ff47e1634222a49f93a10f6e47717ff21084c9ae0feed6a20facb9650aeb879cc380 - HEAD_REF master -) if(VCPKG_TARGET_IS_WINDOWS) - list(APPEND PLUGIN_BASE_PATCHES plugins-base-use-zlib.patch) - list(APPEND PLUGIN_GOOD_PATCHES plugins-good-use-zlib.patch) + set(PATCHES + plugin-base-disable-no-unused.patch + ) endif() -vcpkg_from_github( - OUT_SOURCE_PATH GST_PLUGIN_BASE_SOURCE_PATH - REPO gstreamer/gst-plugins-base - REF 1.19.2 - SHA512 d2005e6a3bda5f08395b131347e8f4054c2469e04e65d1acc1a1572bf10d81d4dad4e43d6a8600346b6175a2310f81157a0cd27398ef69b5363b16346febfb39 - HEAD_REF master - PATCHES ${PLUGIN_BASE_PATCHES} -) -vcpkg_from_github( - OUT_SOURCE_PATH GST_PLUGIN_GOOD_SOURCE_PATH - REPO gstreamer/gst-plugins-good - REF 1.19.2 - SHA512 71e9f36d407db3b75d9a68f6447093aa011b2b586b06e0a1bb79c7db37c9114de505699e99a4dad06d8d9c742e91f48dd35457283babe440f88a9e40d3da465b - HEAD_REF master - PATCHES ${PLUGIN_GOOD_PATCHES} -) -vcpkg_from_github( - OUT_SOURCE_PATH GST_PLUGIN_BAD_SOURCE_PATH - REPO gstreamer/gst-plugins-bad - REF 1.19.2 - SHA512 f63ca3abf380bba92dca4ac3a51cba5ea95093693cf64d167a7a9c0bf6341c35a74fd42332673dbd1581ea70da0a35026aa3e2ce99b5e573268ccb55b5491c1d - HEAD_REF master -) -vcpkg_from_github( - OUT_SOURCE_PATH GST_PLUGIN_UGLY_SOURCE_PATH - REPO gstreamer/gst-plugins-ugly - REF 1.19.2 - SHA512 70dcd4a36d3bd35f680eaa3c980842fbb57f55f17d1453c6a95640709b1b33a263689bf54caa367154267d281e5474686fedaa980de24094de91886a57b6547a - HEAD_REF master -) + vcpkg_from_gitlab( GITLAB_URL https://gitlab.freedesktop.org - OUT_SOURCE_PATH GST_MESON_PORTS_SOURCE_PATH - REPO gstreamer/meson-ports/gl-headers - REF 5c8c7c0d3ca1f0b783272dac0b95e09414e49bc8 # master commit. Date 2021-04-21 - SHA512 d001535e1c1b5bb515ac96c7d15b25ca51460a5af0c858df53b11c7bae87c4a494e4a1b1b9c3c41a5989001db083645dde2054b82acbbeab7f9939308b676f9c - HEAD_REF master + OUT_SOURCE_PATH SOURCE_PATH + REPO gstreamer/gstreamer + REF "${VERSION}" + SHA512 c181c8048ef859dfdd17d2bf1487d078704fdd289fed4e13fc00aebca055965c186286e60f3703c69d816734ef4be344b32650058d72517576927f9df18db2df + HEAD_REF main + PATCHES + fix-clang-cl.patch + fix-clang-cl-gstreamer.patch + fix-clang-cl-base.patch + fix-clang-cl-good.patch + fix-clang-cl-bad.patch + fix-clang-cl-ugly.patch + gstreamer-disable-no-unused.patch + srtp_fix.patch + fix-bz2-windows-debug-dependency.patch + no-downloads.patch + ${PATCHES} ) -file(RENAME ${GST_SOURCE_PATH} ${GST_BUILD_SOURCE_PATH}/subprojects/gstreamer) -file(RENAME ${GST_PLUGIN_BASE_SOURCE_PATH} ${GST_BUILD_SOURCE_PATH}/subprojects/gst-plugins-base) -file(RENAME ${GST_PLUGIN_GOOD_SOURCE_PATH} ${GST_BUILD_SOURCE_PATH}/subprojects/gst-plugins-good) -file(RENAME ${GST_PLUGIN_BAD_SOURCE_PATH} ${GST_BUILD_SOURCE_PATH}/subprojects/gst-plugins-bad) -file(RENAME ${GST_PLUGIN_UGLY_SOURCE_PATH} ${GST_BUILD_SOURCE_PATH}/subprojects/gst-plugins-ugly) -file(RENAME ${GST_MESON_PORTS_SOURCE_PATH} ${GST_BUILD_SOURCE_PATH}/subprojects/gl-headers) +vcpkg_find_acquire_program(FLEX) +vcpkg_find_acquire_program(BISON) +vcpkg_find_acquire_program(NASM) if(VCPKG_TARGET_IS_OSX) - # In Darwin platform, there can be an old version of `bison`, + # In Darwin platform, there can be an old version of `bison`, # Which can't be used for `gst-build`. It requires 2.4+ - vcpkg_find_acquire_program(BISON) execute_process( COMMAND ${BISON} --version OUTPUT_VARIABLE BISON_OUTPUT @@ -81,184 +45,371 @@ if(VCPKG_TARGET_IS_OSX) endif() endif() -# make tools like 'glib-mkenums' visible -get_filename_component(GLIB_TOOL_DIR ${CURRENT_INSTALLED_DIR}/tools/glib ABSOLUTE) -message(STATUS "Using glib tools: ${GLIB_TOOL_DIR}") -vcpkg_add_to_path(PREPEND ${GLIB_TOOL_DIR}) +# General features +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + gpl gpl + libav libav + nls nls + ges ges -if("plugins-bad" IN_LIST FEATURES) - # requires 'libdrm', 'dssim', 'libmicrodns' - message(FATAL_ERROR "The feature 'plugins-bad' is not supported in this port version") - set(PLUGIN_BAD_SUPPORT enabled) -else() - set(PLUGIN_BAD_SUPPORT disabled) -endif() -if("plugins-ugly" IN_LIST FEATURES) - set(PLUGIN_UGLY_SUPPORT enabled) + plugins-base base + gl-graphene gst-plugins-base:gl-graphene + alsa gst-plugins-base:alsa + ogg gst-plugins-base:ogg + opus-base gst-plugins-base:opus + pango gst-plugins-base:pango + vorbis gst-plugins-base:vorbis + x11-base gst-plugins-base:x11 + x11-base gst-plugins-base:xshm + + plugins-good good + bzip2-good gst-plugins-good:bz2 + cairo gst-plugins-good:cairo + flac gst-plugins-good:flac + gdk-pixbuf gst-plugins-good:gdk-pixbuf + jpeg gst-plugins-good:jpeg + mpg123 gst-plugins-good:mpg123 + png gst-plugins-good:png + speex gst-plugins-good:speex + taglib gst-plugins-good:taglib + vpx gst-plugins-good:vpx + + plugins-ugly ugly + x264 gst-plugins-ugly:x264 + + 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 + closedcaption gst-plugins-bad:closedcaption + colormanagement gst-plugins-bad:colormanagement + dash gst-plugins-bad:dash + dc1394 gst-plugins-bad:dc1394 + dtls gst-plugins-bad:dtls + faad gst-plugins-bad:faad + fdkaac gst-plugins-bad:fdkaac + fluidsynth gst-plugins-bad:fluidsynth + libde265 gst-plugins-bad:libde265 + microdns gst-plugins-bad:microdns + modplug gst-plugins-bad:modplug + nvcodec gst-plugins-bad:nvcodec + openal gst-plugins-bad:openal + openh264 gst-plugins-bad:openh264 + openjpeg gst-plugins-bad:openjpeg + openmpt gst-plugins-bad:openmpt + opus-bad gst-plugins-bad:opus + smoothstreaming gst-plugins-bad:smoothstreaming + sndfile gst-plugins-bad:sndfile + soundtouch gst-plugins-bad:soundtouch + srt gst-plugins-bad:srt + srtp gst-plugins-bad:srtp + webp gst-plugins-bad:webp + webrtc gst-plugins-bad:webrtc + wildmidi gst-plugins-bad:wildmidi + x11-bad gst-plugins-bad:x11 + x265 gst-plugins-bad:x265 + asio gst-plugins-bad:asio +) + +string(REPLACE "OFF" "disabled" FEATURE_OPTIONS "${FEATURE_OPTIONS}") +string(REPLACE "ON" "enabled" FEATURE_OPTIONS "${FEATURE_OPTIONS}") + +if(VCPKG_TARGET_IS_WINDOWS) + set(PLUGIN_BASE_WINDOW_SYSTEM win32) + set(PLUGIN_BASE_GL_PLATFORM wgl) else() - set(PLUGIN_UGLY_SUPPORT disabled) + set(PLUGIN_BASE_WINDOW_SYSTEM auto) + set(PLUGIN_BASE_GL_PLATFORM auto) endif() -if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - set(LIBRARY_LINKAGE "shared") +if("asio" IN_LIST FEATURES) + set(PLUGIN_BAD_ASIO_SDK_PATH ${CURRENT_INSTALLED_DIR}/include/asiosdk) else() - set(LIBRARY_LINKAGE "static") + set(PLUGIN_BAD_ASIO_SDK_PATH "") endif() -# gst-build's meson configuration needs git. Make the tool visible. -vcpkg_find_acquire_program(GIT) -get_filename_component(GIT_DIR "${GIT}" DIRECTORY) -vcpkg_add_to_path("${GIT_DIR}") - -# -# check scripts/cmake/vcpkg_configure_meson.cmake -# --wrap-mode=nodownload # # References -# https://github.com/GStreamer/gst-build/blob/1.18.4/meson_options.txt -# https://github.com/GStreamer/gst-plugins-base/blob/1.18.4/meson_options.txt -# https://github.com/GStreamer/gst-plugins-good/blob/1.18.4/meson_options.txt -# https://github.com/GStreamer/gst-plugins-bad/blob/1.18.4/meson_options.txt -# https://github.com/GStreamer/gst-plugins-ugly/blob/1.18.4/meson_options.txt +# https://gitlab.freedesktop.org/gstreamer/gstreamer/-/blob/1.20.4/subprojects/gstreamer/meson_options.txt +# https://gitlab.freedesktop.org/gstreamer/gstreamer/-/blob/1.20.4/subprojects/gst-plugins-base/meson_options.txt +# https://gitlab.freedesktop.org/gstreamer/gstreamer/-/blob/1.20.4/subprojects/gst-plugins-good/meson_options.txt +# https://gitlab.freedesktop.org/gstreamer/gstreamer/-/blob/1.20.4/subprojects/gst-plugins-ugly/meson_options.txt +# https://gitlab.freedesktop.org/gstreamer/gstreamer/-/blob/1.20.4/subprojects/gst-plugins-bad/meson_options.txt +# +# Rationale for added options +# Common options are added below systematically +# Feature options are added below only if the feature needs an external dependency +# Feature options that are dependent on the operating system type (like wasapi or osxaudio) are set to auto +# Every other feature options are made available if the dependency is available on vcpkg and if the plugin has managed to build during tests # + vcpkg_configure_meson( - SOURCE_PATH ${GST_BUILD_SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" OPTIONS - # gstreamer - -Dgstreamer:default_library=${LIBRARY_LINKAGE} - -Dgstreamer:check=disabled - -Dgstreamer:libunwind=disabled - -Dgstreamer:libdw=disabled - -Dgstreamer:dbghelp=disabled - -Dgstreamer:bash-completion=disabled - -Dgstreamer:coretracers=disabled - -Dgstreamer:examples=disabled - -Dgstreamer:tests=disabled - -Dgstreamer:benchmarks=disabled - -Dgstreamer:tools=disabled - -Dgstreamer:gtk_doc=disabled - -Dgstreamer:introspection=disabled - -Dgstreamer:nls=disabled - # gst-plugins-base - -Dgst-plugins-base:default_library=${LIBRARY_LINKAGE} - -Dgst-plugins-base:examples=disabled - -Dgst-plugins-base:tests=disabled - -Dgst-plugins-base:tools=disabled - -Dgst-plugins-base:introspection=disabled - -Dgst-plugins-base:nls=disabled - -Dgst-plugins-base:orc=disabled - -Dgst-plugins-base:pango=disabled - # gst-plugins-good - -Dgst-plugins-good:default_library=${LIBRARY_LINKAGE} - -Dgst-plugins-good:qt5=disabled - -Dgst-plugins-good:soup=disabled - -Dgst-plugins-good:cairo=auto # cairo[gobject] - -Dgst-plugins-good:speex=auto # speex - -Dgst-plugins-good:taglib=auto # taglib - -Dgst-plugins-good:vpx=auto # libvpx - -Dgst-plugins-good:examples=disabled - -Dgst-plugins-good:tests=disabled - -Dgst-plugins-good:nls=disabled - -Dgst-plugins-good:orc=disabled - # gst-plugins-bad - -Dbad=${PLUGIN_BAD_SUPPORT} - -Dgst-plugins-bad:default_library=${LIBRARY_LINKAGE} - -Dgst-plugins-bad:opencv=disabled - -Dgst-plugins-bad:hls-crypto=openssl - -Dgst-plugins-bad:examples=disabled - -Dgst-plugins-bad:tests=disabled - -Dgst-plugins-bad:introspection=disabled - -Dgst-plugins-bad:nls=${LIBRARY_LINKAGE} - -Dgst-plugins-bad:orc=disabled - # gst-plugins-ugly - -Dugly=${PLUGIN_UGLY_SUPPORT} - -Dgst-plugins-ugly:default_library=${LIBRARY_LINKAGE} - -Dgst-plugins-ugly:tests=disabled - -Dgst-plugins-ugly:nls=disabled - -Dgst-plugins-ugly:orc=disabled - # see ${GST_BUILD_SOURCE_PATH}/meson_options.txt + ${FEATURE_OPTIONS} + # General options -Dpython=disabled - -Dlibav=disabled - -Dlibnice=disabled # libnice + -Dlibnice=disabled -Ddevtools=disabled - -Dges=disabled -Drtsp_server=disabled - -Domx=disabled -Dvaapi=disabled -Dsharp=disabled -Drs=disabled -Dgst-examples=disabled -Dtls=disabled - -Dtests=disabled # common options + -Dqt5=disabled + # Common options + -Dtests=disabled -Dexamples=disabled -Dintrospection=disabled - -Dnls=disabled - -Dorc=disabled + -Dorc=disabled # gstreamer requires a specific version of orc which is not available in vcpkg -Ddoc=disabled -Dgtk_doc=disabled - -Ddevtools=disabled - OPTIONS_DEBUG - -Dgstreamer:gst_debug=true # plugins will reference this value + # gstreamer + -Dgstreamer:check=disabled + -Dgstreamer:libunwind=disabled + -Dgstreamer:libdw=disabled + -Dgstreamer:dbghelp=disabled + -Dgstreamer:bash-completion=disabled + -Dgstreamer:coretracers=disabled + -Dgstreamer:benchmarks=disabled + -Dgstreamer:gst_debug=true + # gst-plugins-base + -Dgst-plugins-base:gl_winsys=${PLUGIN_BASE_WINDOW_SYSTEM} + -Dgst-plugins-base:gl_platform=${PLUGIN_BASE_GL_PLATFORM} + -Dgst-plugins-base:cdparanoia=disabled + -Dgst-plugins-base:libvisual=disabled + -Dgst-plugins-base:theora=disabled + -Dgst-plugins-base:tremor=disabled + -Dgst-plugins-base:xvideo=disabled + # gst-plugins-good + -Dgst-plugins-good:aalib=disabled + -Dgst-plugins-good:directsound=auto + -Dgst-plugins-good:dv=disabled + -Dgst-plugins-good:dv1394=disabled + -Dgst-plugins-good:gtk3=disabled # GTK version 3 only + -Dgst-plugins-good:jack=disabled + -Dgst-plugins-good:lame=disabled + -Dgst-plugins-good:libcaca=disabled + -Dgst-plugins-good:oss=disabled + -Dgst-plugins-good:oss4=disabled + -Dgst-plugins-good:osxaudio=auto + -Dgst-plugins-good:osxvideo=auto + -Dgst-plugins-good:pulse=auto + -Dgst-plugins-good:qt5=disabled + -Dgst-plugins-good:shout2=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: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:avtp=disabled + -Dgst-plugins-bad:androidmedia=auto + -Dgst-plugins-bad:applemedia=auto + -Dgst-plugins-bad:asio-sdk-path=${PLUGIN_BAD_ASIO_SDK_PATH} + -Dgst-plugins-bad:bluez=disabled + -Dgst-plugins-bad:bs2b=disabled + -Dgst-plugins-bad:curl=disabled # Error during plugin build + -Dgst-plugins-bad:curl-ssh2=disabled + -Dgst-plugins-bad:d3dvideosink=auto + -Dgst-plugins-bad:d3d11=auto + -Dgst-plugins-bad:decklink=disabled + -Dgst-plugins-bad:directfb=disabled + -Dgst-plugins-bad:directsound=auto + -Dgst-plugins-bad:dts=disabled + -Dgst-plugins-bad:dvb=auto + -Dgst-plugins-bad:faac=disabled + -Dgst-plugins-bad:fbdev=auto + -Dgst-plugins-bad:flite=disabled + -Dgst-plugins-bad:gl=auto + -Dgst-plugins-bad:gme=disabled + -Dgst-plugins-bad:gs=disabled # Error during plugin configuration (abseil pkg-config file missing) + -Dgst-plugins-bad:gsm=disabled + -Dgst-plugins-bad:ipcpipeline=auto + -Dgst-plugins-bad:iqa=disabled + -Dgst-plugins-bad:kms=disabled + -Dgst-plugins-bad:ladspa=disabled + -Dgst-plugins-bad:ldac=disabled + -Dgst-plugins-bad:lv2=disabled # Error during plugin configuration (lilv pkg-config file missing) + -Dgst-plugins-bad:mediafoundation=auto + -Dgst-plugins-bad:mpeg2enc=disabled + -Dgst-plugins-bad:mplex=disabled + -Dgst-plugins-bad:msdk=disabled + -Dgst-plugins-bad:musepack=disabled + -Dgst-plugins-bad:neon=disabled + -Dgst-plugins-bad:onnx=disabled # libonnxruntime not found + -Dgst-plugins-bad:openaptx=disabled + -Dgst-plugins-bad:opencv=disabled # opencv not found + -Dgst-plugins-bad:openexr=disabled # OpenEXR::IlmImf target not found + -Dgst-plugins-bad:openni2=disabled # libopenni2 not found + -Dgst-plugins-bad:opensles=disabled + -Dgst-plugins-bad:qroverlay=disabled + -Dgst-plugins-bad:resindvd=disabled + -Dgst-plugins-bad:rsvg=disabled # librsvg-2.0 not found + -Dgst-plugins-bad:rtmp=disabled # librtmp not found + -Dgst-plugins-bad:sbc=disabled + -Dgst-plugins-bad:sctp=auto + -Dgst-plugins-bad:shm=disabled + -Dgst-plugins-bad:spandsp=disabled + -Dgst-plugins-bad:svthevcenc=disabled + -Dgst-plugins-bad:teletext=disabled + -Dgst-plugins-bad:tinyalsa=disabled + -Dgst-plugins-bad:transcode=disabled + -Dgst-plugins-bad:ttml=disabled + -Dgst-plugins-bad:uvch264=disabled + -Dgst-plugins-bad:va=disabled + -Dgst-plugins-bad:voaacenc=disabled + -Dgst-plugins-bad:voamrwbenc=disabled + -Dgst-plugins-bad:vulkan=auto + -Dgst-plugins-bad:wasapi=auto + -Dgst-plugins-bad:wasapi2=auto + -Dgst-plugins-bad:wayland=auto + -Dgst-plugins-bad:winks=disabled + -Dgst-plugins-bad:winscreencap=auto + -Dgst-plugins-bad:zbar=disabled # Error during plugin build + -Dgst-plugins-bad:zxing=disabled # Error during plugin build + -Dgst-plugins-bad:wpe=disabled + -Dgst-plugins-bad:magicleap=disabled + -Dgst-plugins-bad:v4l2codecs=disabled + -Dgst-plugins-bad:isac=disabled OPTIONS_RELEASE - -Dgstreamer:gst_debug=false - -Dgstreamer:gobject-cast-checks=disabled - -Dgstreamer:glib-asserts=disabled - -Dgstreamer:glib-checks=disabled + -Dgobject-cast-checks=disabled + -Dglib-asserts=disabled + -Dglib-checks=disabled -Dgstreamer:extra-checks=disabled - -Dgst-plugins-base:gobject-cast-checks=disabled - -Dgst-plugins-base:glib-asserts=disabled - -Dgst-plugins-base:glib-checks=disabled - -Dgst-plugins-good:gobject-cast-checks=disabled - -Dgst-plugins-good:glib-asserts=disabled - -Dgst-plugins-good:glib-checks=disabled - -Dgst-plugins-bad:gobject-cast-checks=disabled - -Dgst-plugins-bad:glib-asserts=disabled - -Dgst-plugins-bad:glib-checks=disabled + ADDITIONAL_BINARIES + flex='${FLEX}' + bison='${BISON}' + nasm='${NASM}' + glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal' + glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums' ) -if(VCPKG_TARGET_IS_WINDOWS) - # note: can't find where z.lib comes from. replace it to appropriate library name manually - get_filename_component(BUILD_NINJA_DBG ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/build.ninja ABSOLUTE) - vcpkg_replace_string(${BUILD_NINJA_DBG} "z.lib" "zlibd.lib") - get_filename_component(BUILD_NINJA_REL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/build.ninja ABSOLUTE) - vcpkg_replace_string(${BUILD_NINJA_REL} "z.lib" "zlib.lib") - vcpkg_replace_string(${BUILD_NINJA_REL} "\"-Wno-unused\"" "") # todo: may need a patch for `gst_debug=false` -endif() + vcpkg_install_meson() # Remove duplicated GL headers (we already have `opengl-registry`) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/KHR - ${CURRENT_PACKAGES_DIR}/include/GL +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) + 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" + ) +endif() + +list(APPEND GST_BIN_TOOLS + gst-inspect-1.0 + gst-launch-1.0 + gst-stats-1.0 + gst-typefind-1.0 ) -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 +list(APPEND GST_LIBEXEC_TOOLS + gst-plugin-scanner ) -file(INSTALL ${GST_BUILD_SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share - ${CURRENT_PACKAGES_DIR}/debug/libexec - ${CURRENT_PACKAGES_DIR}/debug/lib/gstreamer-1.0/include - ${CURRENT_PACKAGES_DIR}/libexec - ${CURRENT_PACKAGES_DIR}/lib/gstreamer-1.0/include +if("ges" IN_LIST FEATURES) + list(APPEND GST_BIN_TOOLS ges-launch-1.0) +endif() + +if("plugins-base" IN_LIST FEATURES) + list(APPEND GST_BIN_TOOLS + gst-device-monitor-1.0 + gst-discoverer-1.0 + gst-play-1.0 + ) +endif() + +if("plugins-bad" IN_LIST FEATURES) + list(APPEND GST_BIN_TOOLS + gst-transcoder-1.0 + ) +endif() + +vcpkg_copy_tools( + TOOL_NAMES ${GST_BIN_TOOLS} + AUTO_CLEAN +) + +vcpkg_copy_tools( + TOOL_NAMES ${GST_LIBEXEC_TOOLS} + SEARCH_DIR "${CURRENT_PACKAGES_DIR}/libexec/gstreamer-1.0" + AUTO_CLEAN ) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/debug/libexec" + "${CURRENT_PACKAGES_DIR}/debug/lib/gstreamer-1.0/include" + "${CURRENT_PACKAGES_DIR}/libexec" + "${CURRENT_PACKAGES_DIR}/lib/gstreamer-1.0/include" + "${CURRENT_PACKAGES_DIR}/share/gdb" +) + if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin - ${CURRENT_PACKAGES_DIR}/bin + # Move plugin pkg-config files + file(GLOB pc_files "${CURRENT_PACKAGES_DIR}/lib/gstreamer-1.0/pkgconfig/*") + file(COPY ${pc_files} DESTINATION "${CURRENT_PACKAGES_DIR}/lib/pkgconfig") + file(GLOB pc_files_dbg "${CURRENT_PACKAGES_DIR}/debug/lib/gstreamer-1.0/pkgconfig/*") + file(COPY ${pc_files_dbg} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/gstreamer-1.0/pkgconfig/" + "${CURRENT_PACKAGES_DIR}/lib/gstreamer-1.0/pkgconfig/") + + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin" + "${CURRENT_PACKAGES_DIR}/bin" ) - set(PREFIX ${CMAKE_SHARED_LIBRARY_PREFIX}) - set(SUFFIX ${CMAKE_SHARED_LIBRARY_SUFFIX}) - file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/${PREFIX}gstreamer-full-1.0${SUFFIX} - ${CURRENT_PACKAGES_DIR}/lib/${PREFIX}gstreamer-full-1.0${SUFFIX} + set(PREFIX "${CMAKE_SHARED_LIBRARY_PREFIX}") + set(SUFFIX "${CMAKE_SHARED_LIBRARY_SUFFIX}") + file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/lib/${PREFIX}gstreamer-full-1.0${SUFFIX}" + "${CURRENT_PACKAGES_DIR}/lib/${PREFIX}gstreamer-full-1.0${SUFFIX}" ) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/gstreamer-1.0/gst/gstconfig.h" "!defined(GST_STATIC_COMPILATION)" "0") endif() -if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - file(GLOB DBG_BINS ${CURRENT_PACKAGES_DIR}/debug/lib/gstreamer-1.0/*.dll - ${CURRENT_PACKAGES_DIR}/debug/lib/gstreamer-1.0/*.pdb - ) - file(COPY ${DBG_BINS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) - file(GLOB REL_BINS ${CURRENT_PACKAGES_DIR}/lib/gstreamer-1.0/*.dll - ${CURRENT_PACKAGES_DIR}/lib/gstreamer-1.0/*.pdb + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + # move plugins to ${prefix}/plugins/${PORT} instead of ${prefix}/lib/gstreamer-1.0 + if(NOT VCPKG_BUILD_TYPE) + file(GLOB DBG_BINS "${CURRENT_PACKAGES_DIR}/debug/lib/gstreamer-1.0/${CMAKE_SHARED_LIBRARY_PREFIX}*${CMAKE_SHARED_LIBRARY_SUFFIX}" + "${CURRENT_PACKAGES_DIR}/debug/lib/gstreamer-1.0/*.pdb" + ) + file(COPY ${DBG_BINS} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/plugins/${PORT}") + endif() + file(GLOB REL_BINS "${CURRENT_PACKAGES_DIR}/lib/gstreamer-1.0/${CMAKE_SHARED_LIBRARY_PREFIX}*${CMAKE_SHARED_LIBRARY_SUFFIX}" + "${CURRENT_PACKAGES_DIR}/lib/gstreamer-1.0/*.pdb" ) - file(COPY ${REL_BINS} DESTINATION ${CURRENT_PACKAGES_DIR}/bin) + file(COPY ${REL_BINS} DESTINATION "${CURRENT_PACKAGES_DIR}/plugins/${PORT}") file(REMOVE ${DBG_BINS} ${REL_BINS}) + if(NOT VCPKG_TARGET_IS_WINDOWS) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/gstreamer-1.0" "${CURRENT_PACKAGES_DIR}/lib/gstreamer-1.0") + endif() + + set(_file "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/gstreamer-1.0.pc") + if(EXISTS "${_file}") + file(READ "${_file}" _contents) + string(REPLACE [[toolsdir=${exec_prefix}/bin]] "toolsdir=\${prefix}/../tools/${PORT}" _contents "${_contents}") + string(REPLACE [[pluginscannerdir=${libexecdir}/gstreamer-1.0]] "pluginscannerdir=\${prefix}/../tools/${PORT}" _contents "${_contents}") + string(REPLACE [[pluginsdir=${libdir}/gstreamer-1.0]] "pluginsdir=\${prefix}/plugins/${PORT}" _contents "${_contents}") + file(WRITE "${_file}" "${_contents}") + endif() + + set(_file "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/gstreamer-1.0.pc") + if(EXISTS "${_file}") + file(READ "${_file}" _contents) + string(REPLACE [[toolsdir=${exec_prefix}/bin]] "toolsdir=\${prefix}/tools/${PORT}" _contents "${_contents}") + string(REPLACE [[pluginscannerdir=${libexecdir}/gstreamer-1.0]] "pluginscannerdir=\${prefix}/tools/${PORT}" _contents "${_contents}") + string(REPLACE [[pluginsdir=${libdir}/gstreamer-1.0]] "pluginsdir=\${prefix}/plugins/${PORT}" _contents "${_contents}") + file(WRITE "${_file}" "${_contents}") + endif() endif() + vcpkg_fixup_pkgconfig() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/gstreamer/remove_x264_define.patch b/ports/gstreamer/remove_x264_define.patch new file mode 100644 index 00000000000000..044fb926bd0fd7 --- /dev/null +++ b/ports/gstreamer/remove_x264_define.patch @@ -0,0 +1,18 @@ +diff --git a/ext/x264/gstx264enc.h b/ext/x264/gstx264enc.h +index 6cbfc5c3d..ba7845b20 100644 +--- a/ext/x264/gstx264enc.h ++++ b/ext/x264/gstx264enc.h +@@ -31,13 +31,6 @@ + #include + #endif + +-/* The x264.h header says this isn't needed with MinGW, but sometimes the +- * compiler is unable to correctly do the pointer indirection for us, which +- * leads to a segfault when you try to dereference any const values provided +- * by x264.dll. See: https://bugzilla.gnome.org/show_bug.cgi?id=779249 */ +-#if defined(_WIN32) && !defined(X264_API_IMPORTS) +-# define X264_API_IMPORTS +-#endif + #include + + G_BEGIN_DECLS diff --git a/ports/gstreamer/srtp_fix.patch b/ports/gstreamer/srtp_fix.patch new file mode 100644 index 00000000000000..21bc9b3056a2f6 --- /dev/null +++ b/ports/gstreamer/srtp_fix.patch @@ -0,0 +1,31 @@ +diff --git a/subprojects/gst-plugins-bad/ext/srtp/meson.build b/subprojects/gst-plugins-bad/ext/srtp/meson.build +index d15d58c..0a3b1a2 100644 +--- a/subprojects/gst-plugins-bad/ext/srtp/meson.build ++++ b/subprojects/gst-plugins-bad/ext/srtp/meson.build +@@ -6,6 +6,8 @@ srtp_sources = [ + 'gstsrtpenc.c', + ] + ++gst_plugins_install_dir = join_paths(get_option('libdir'), 'gstreamer-1.0') ++ + srtp_cargs = [] + 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, 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 +@@ -39,7 +41,7 @@ if srtp_dep.found() + include_directories : [configinc], + dependencies : [gstrtp_dep, gstvideo_dep, srtp_dep], + install : true, +- install_dir : plugins_install_dir, ++ install_dir : gst_plugins_install_dir, + ) + plugins += [gstsrtp] + endif diff --git a/ports/gstreamer/vcpkg.json b/ports/gstreamer/vcpkg.json index d6d984817953b5..e574d4b89e7498 100644 --- a/ports/gstreamer/vcpkg.json +++ b/ports/gstreamer/vcpkg.json @@ -1,76 +1,840 @@ { "name": "gstreamer", - "version": "1.19.2", - "port-version": 1, + "version": "1.24.7", "description": "GStreamer open-source multimedia framework core library", "homepage": "https://gstreamer.freedesktop.org/", - "license": "LGPL-2.0", - "supports": "(windows | osx) & (x64 | x86)", + "license": "LGPL-2.0-only", + "supports": "!uwp & !xbox", "dependencies": [ - { - "name": "cairo", - "features": [ - "gobject" - ], - "platform": "windows | osx" - }, - { - "name": "freetype", - "features": [ - "brotli", - "png", - "zlib" - ] - }, + "glib", { "name": "glib", "host": true }, - "graphene", - "libnice", - "libxml2", { - "name": "opengl-registry", + "name": "opengl", "platform": "windows | osx" }, - "openssl", - "tool-meson", { - "name": "yasm-tool-helper", - "platform": "windows" + "name": "vcpkg-tool-meson", + "host": true } ], "default-features": [ - "plugins-good", - "plugins-ugly" + "plugins-base" ], "features": { + "aes": { + "description": "Enable support for AES encryption/decryption", + "dependencies": [ + { + "name": "gstreamer", + "default-features": false, + "features": [ + "plugins-bad" + ] + }, + "openssl" + ] + }, + "alsa": { + "description": "Enable support for ALSA (Advanced Linux Sound Architecture)", + "supports": "linux", + "dependencies": [ + { + "name": "alsa", + "platform": "linux" + }, + { + "name": "gstreamer", + "default-features": false, + "features": [ + "plugins-base" + ] + } + ] + }, + "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": [ + { + "name": "asiosdk", + "platform": "windows" + }, + { + "name": "gstreamer", + "default-features": false, + "features": [ + "plugins-bad" + ] + } + ] + }, + "assrender": { + "description": "Enable support for the ASS/SSA subtitle renderer", + "dependencies": [ + { + "name": "gstreamer", + "default-features": false, + "features": [ + "plugins-bad" + ] + }, + "libass" + ] + }, + "bzip2-bad": { + "description": "Enable bzip2 stream compression in bad plugins", + "dependencies": [ + "bzip2", + { + "name": "gstreamer", + "default-features": false, + "features": [ + "plugins-bad" + ] + } + ] + }, + "bzip2-good": { + "description": "Enable bzip2 stream compression in good plugins", + "dependencies": [ + "bzip2", + { + "name": "gstreamer", + "default-features": false, + "features": [ + "plugins-good" + ] + } + ] + }, + "cairo": { + "description": "Enable support for the cairo graphics library", + "dependencies": [ + { + "name": "cairo", + "features": [ + "gobject" + ] + }, + { + "name": "gstreamer", + "default-features": false, + "features": [ + "plugins-good" + ] + } + ] + }, + "chromaprint": { + "description": "Enable support for the Chromaprint audio fingerprint library", + "dependencies": [ + "chromaprint", + { + "name": "gstreamer", + "default-features": false, + "features": [ + "plugins-bad" + ] + } + ] + }, + "closedcaption": { + "description": "Enable support for the closed caption extractor, decoder, and overlay", + "dependencies": [ + { + "name": "gstreamer", + "default-features": false, + "features": [ + "plugins-bad" + ] + }, + "pango" + ] + }, + "colormanagement": { + "description": "Enable support for the color management correction", + "dependencies": [ + { + "name": "gstreamer", + "default-features": false, + "features": [ + "plugins-bad" + ] + }, + "lcms" + ] + }, + "dash": { + "description": "Enable support for the DASH demuxer", + "dependencies": [ + { + "name": "gstreamer", + "default-features": false, + "features": [ + "plugins-bad" + ] + }, + "libxml2" + ] + }, + "dc1394": { + "description": "Enable support for the libdc1394 IIDC camera source", + "supports": "!windows", + "dependencies": [ + { + "name": "gstreamer", + "default-features": false, + "features": [ + "plugins-bad" + ] + }, + "libdc1394" + ] + }, + "dtls": { + "description": "Enable support for the DTLS encoder and decoder", + "dependencies": [ + { + "name": "gstreamer", + "default-features": false, + "features": [ + "plugins-bad" + ] + }, + "openssl" + ] + }, + "faad": { + "description": "Enable support for the free AAC audio decoder (GPL licensed)", + "dependencies": [ + "faad2", + { + "name": "gstreamer", + "default-features": false, + "features": [ + "gpl", + "plugins-bad" + ] + } + ] + }, + "fdkaac": { + "description": "Enable support for the Fraunhofer AAC audio codec", + "dependencies": [ + "fdk-aac", + { + "name": "gstreamer", + "default-features": false, + "features": [ + "plugins-bad" + ] + } + ] + }, + "flac": { + "description": "Enable support for FLAC: Free Lossless Audio Codec", + "dependencies": [ + { + "name": "gstreamer", + "default-features": false, + "features": [ + "ogg", + "plugins-good" + ] + }, + "libflac" + ] + }, + "fluidsynth": { + "description": "Enable support for the Fluidsynth MIDI decoder", + "supports": "!windows", + "dependencies": [ + { + "name": "fluidsynth", + "platform": "!windows" + }, + { + "name": "gstreamer", + "default-features": false, + "features": [ + "plugins-bad" + ] + } + ] + }, + "gdk-pixbuf": { + "description": "Enable support for gdk-pixbuf image loader", + "dependencies": [ + "gdk-pixbuf", + { + "name": "gstreamer", + "default-features": false, + "features": [ + "plugins-good" + ] + } + ] + }, + "ges": { + "description": "Enable support for GStreamer Editing Services", + "dependencies": [ + { + "name": "gstreamer", + "default-features": false, + "features": [ + "plugins-base" + ] + } + ] + }, + "gl-graphene": { + "description": "Use Graphene in OpenGL plugin", + "dependencies": [ + "graphene", + { + "name": "gstreamer", + "default-features": false, + "features": [ + "plugins-base" + ] + } + ] + }, + "gpl": { + "description": "Allow build of plugins that have (A)GPL-licensed dependencies", + "dependencies": [ + { + "name": "gstreamer", + "default-features": false, + "features": [ + "plugins-base" + ] + } + ] + }, + "jpeg": { + "description": "Enable support for the JPEG file format", + "dependencies": [ + { + "name": "gstreamer", + "default-features": false, + "features": [ + "plugins-base", + "plugins-good" + ] + }, + "libjpeg-turbo" + ] + }, + "libav": { + "description": "libav plugins", + "dependencies": [ + { + "name": "ffmpeg", + "default-features": false + }, + { + "name": "gstreamer", + "default-features": false, + "features": [ + "plugins-base" + ] + } + ] + }, + "libde265": { + "description": "Enable support for the HEVC/H.265 video decoder", + "dependencies": [ + { + "name": "gstreamer", + "default-features": false, + "features": [ + "plugins-bad" + ] + }, + "libde265" + ] + }, + "microdns": { + "description": "Enable support for the microdns device provider", + "dependencies": [ + { + "name": "gstreamer", + "default-features": false, + "features": [ + "plugins-bad" + ] + }, + "libmicrodns" + ] + }, + "modplug": { + "description": "Enable support for the ModPlug audio decoder", + "supports": "!uwp", + "dependencies": [ + { + "name": "gstreamer", + "default-features": false, + "features": [ + "plugins-bad" + ] + }, + { + "name": "libmodplug", + "platform": "!uwp" + } + ] + }, + "mpg123": { + "description": "Enable support for the MPG123 decoding library", + "dependencies": [ + { + "name": "gstreamer", + "default-features": false, + "features": [ + "plugins-good" + ] + }, + "mpg123" + ] + }, + "nls": { + "description": "National language support", + "dependencies": [ + "gettext", + { + "name": "gettext", + "host": true, + "default-features": false, + "features": [ + "tools" + ] + }, + { + "name": "gstreamer", + "default-features": false, + "features": [ + "plugins-base" + ] + } + ] + }, + "nvcodec": { + "description": "Enable support for the NVCODEC encoders and decoders", + "supports": "!osx & !ios & !android & !emscripten", + "dependencies": [ + { + "name": "gstreamer", + "default-features": false, + "features": [ + "plugins-bad" + ] + } + ] + }, + "ogg": { + "description": "Enable support for the Ogg container format (commonly used by Vorbis, Theora and flac)", + "dependencies": [ + { + "name": "gstreamer", + "default-features": false, + "features": [ + "plugins-base" + ] + }, + "libogg" + ] + }, + "openal": { + "description": "Enable support for the OpenAL audio library", + "dependencies": [ + { + "name": "gstreamer", + "default-features": false, + "features": [ + "plugins-bad" + ] + }, + "openal-soft" + ] + }, + "openh264": { + "description": "Enable support for the OpenH264 codec", + "dependencies": [ + { + "name": "gstreamer", + "default-features": false, + "features": [ + "plugins-bad" + ] + }, + "openh264" + ] + }, + "openjpeg": { + "description": "Enable support for the JPEG2000 codec", + "dependencies": [ + { + "name": "gstreamer", + "default-features": false, + "features": [ + "plugins-bad" + ] + }, + "openjpeg" + ] + }, + "openmpt": { + "description": "Enable support for the OpenMPT codec", + "dependencies": [ + { + "name": "gstreamer", + "default-features": false, + "features": [ + "plugins-bad" + ] + }, + "libopenmpt" + ] + }, + "opus-bad": { + "description": "Enable support for the Opus codec in bad plugins", + "dependencies": [ + { + "name": "gstreamer", + "default-features": false, + "features": [ + "plugins-bad" + ] + }, + "opus" + ] + }, + "opus-base": { + "description": "Enable support for the Opus codec in base plugins", + "dependencies": [ + { + "name": "gstreamer", + "default-features": false, + "features": [ + "plugins-base" + ] + }, + "opus" + ] + }, + "pango": { + "description": "Enable support for pango font rendering", + "dependencies": [ + { + "name": "gstreamer", + "default-features": false, + "features": [ + "plugins-base" + ] + }, + "pango" + ] + }, "plugins-bad": { "description": "'Bad' GStreamer plugins and helper libraries", "dependencies": [ - "openh264" + { + "name": "gstreamer", + "default-features": false, + "features": [ + "plugins-base" + ] + } + ] + }, + "plugins-base": { + "description": "'Base' GStreamer plugins and helper libraries", + "dependencies": [ + "zlib" ] }, "plugins-good": { "description": "'Good' GStreamer plugins and helper libraries", "dependencies": [ - "bzip2", - "jack2", - "libflac", - "libjpeg-turbo", - "libpng", - "libraw", - "libvpx", - "mpg123", - "speex", - "taglib" + { + "name": "gstreamer", + "default-features": false, + "features": [ + "plugins-base" + ] + }, + "zlib" ] }, "plugins-ugly": { "description": "'Ugly' GStreamer plugins and helper libraries", "dependencies": [ + { + "name": "gstreamer", + "default-features": false, + "features": [ + "plugins-base" + ] + } + ] + }, + "png": { + "description": "Enable support for the PNG image format", + "dependencies": [ + { + "name": "gstreamer", + "default-features": false, + "features": [ + "plugins-good" + ] + }, + "libpng" + ] + }, + "smoothstreaming": { + "description": "Enable support for the Microsoft Smooth Streaming format", + "dependencies": [ + { + "name": "gstreamer", + "default-features": false, + "features": [ + "plugins-bad" + ] + }, + "libxml2" + ] + }, + "sndfile": { + "description": "Enable support for the SndFile file reader/writer", + "dependencies": [ + { + "name": "gstreamer", + "default-features": false, + "features": [ + "plugins-bad" + ] + }, + "libsndfile" + ] + }, + "soundtouch": { + "description": "Enable support for the SoundTouch audio processing library", + "dependencies": [ + { + "name": "gstreamer", + "default-features": false, + "features": [ + "plugins-bad" + ] + }, + "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": [ + { + "name": "gstreamer", + "default-features": false, + "features": [ + "plugins-good" + ] + }, + "speex" + ] + }, + "srt": { + "description": "Enable support for the SRT protocol", + "dependencies": [ + { + "name": "gstreamer", + "default-features": false, + "features": [ + "plugins-bad" + ] + }, + "libsrt" + ] + }, + "srtp": { + "description": "Enable support for the SRTP protocol", + "dependencies": [ + { + "name": "gstreamer", + "default-features": false, + "features": [ + "plugins-bad" + ] + }, + "libsrtp" + ] + }, + "taglib": { + "description": "Enable support for the taglib library", + "dependencies": [ + { + "name": "gstreamer", + "default-features": false, + "features": [ + "plugins-good" + ] + }, + "taglib" + ] + }, + "vorbis": { + "description": "Enable support for the OggVorbis audio codec", + "dependencies": [ + { + "name": "gstreamer", + "default-features": false, + "features": [ + "ogg", + "plugins-base" + ] + }, + "libvorbis" + ] + }, + "vpx": { + "description": "Enable support for the VP8 and VP9 codecs", + "dependencies": [ + { + "name": "gstreamer", + "default-features": false, + "features": [ + "plugins-good" + ] + }, + "libvpx" + ] + }, + "webp": { + "description": "Enable support for WebP image format", + "dependencies": [ + { + "name": "gstreamer", + "default-features": false, + "features": [ + "plugins-bad" + ] + }, + "libwebp" + ] + }, + "webrtc": { + "description": "Enable support for WebRTC", + "dependencies": [ + { + "name": "gstreamer", + "default-features": false, + "features": [ + "plugins-bad" + ] + }, + "libnice" + ] + }, + "wildmidi": { + "description": "Enable support for the WildMIDI synthesizer", + "dependencies": [ + { + "name": "gstreamer", + "default-features": false, + "features": [ + "plugins-bad" + ] + }, + "wildmidi" + ] + }, + "x11-bad": { + "description": "Enable support for X11 in bad plugins", + "supports": "!windows", + "dependencies": [ + { + "name": "gstreamer", + "default-features": false, + "features": [ + "plugins-bad" + ] + }, + "libxkbcommon", + "xcb" + ] + }, + "x11-base": { + "description": "Enable support for X11 in base plugins", + "supports": "!windows", + "dependencies": [ + { + "name": "gstreamer", + "default-features": false, + "features": [ + "plugins-good" + ] + }, + "libx11", + "libxext" + ] + }, + "x264": { + "description": "Enable support for the x264 encoder (GPL license)", + "dependencies": [ + { + "name": "gstreamer", + "default-features": false, + "features": [ + "gpl", + "plugins-ugly" + ] + }, "x264" ] + }, + "x265": { + "description": "Enable support for the x265 encoder (GPL license)", + "dependencies": [ + { + "name": "gstreamer", + "default-features": false, + "features": [ + "gpl", + "plugins-bad" + ] + }, + "x265" + ] } } } diff --git a/ports/gtest/001-fix-UWP-death-test.patch b/ports/gtest/001-fix-UWP-death-test.patch new file mode 100644 index 00000000000000..03484908f1b4e8 --- /dev/null +++ b/ports/gtest/001-fix-UWP-death-test.patch @@ -0,0 +1,13 @@ +diff --git a/googletest/src/gtest.cc b/googletest/src/gtest.cc +index a64e887c..45ff24c3 100644 +--- a/googletest/src/gtest.cc ++++ b/googletest/src/gtest.cc +@@ -5434,7 +5434,7 @@ int UnitTest::Run() { + // used for the duration of the program. + impl()->set_catch_exceptions(GTEST_FLAG_GET(catch_exceptions)); + +-#ifdef GTEST_OS_WINDOWS ++#if defined(GTEST_OS_WINDOWS) && defined(GTEST_HAS_DEATH_TEST) + // Either the user wants Google Test to catch exceptions thrown by the + // tests or this is executing in the context of death test child + // process. In either case the user does not want to see pop-up dialogs diff --git a/ports/gtest/clang-tidy-no-lint.patch b/ports/gtest/clang-tidy-no-lint.patch new file mode 100644 index 00000000000000..588a1d637f4050 --- /dev/null +++ b/ports/gtest/clang-tidy-no-lint.patch @@ -0,0 +1,13 @@ +diff --git a/googletest/include/gtest/gtest-matchers.h b/googletest/include/gtest/gtest-matchers.h +index 2bd3dcf6..12cd60f6 100644 +--- a/googletest/include/gtest/gtest-matchers.h ++++ b/googletest/include/gtest/gtest-matchers.h +@@ -403,6 +403,7 @@ class MatcherBase : private MatcherDescriberInterface { + }; + + void Destroy() { ++ // NOLINTNEXTLINE + if (IsShared() && buffer_.shared->Unref()) { + vtable_->shared_destroy(buffer_.shared); + } + diff --git a/ports/gtest/fix-main-lib-path.patch b/ports/gtest/fix-main-lib-path.patch index c2998f3e4479d9..2cfd2c44f3c226 100644 --- a/ports/gtest/fix-main-lib-path.patch +++ b/ports/gtest/fix-main-lib-path.patch @@ -1,57 +1,62 @@ 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 -@@ -120,7 +120,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 -@@ -148,7 +148,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 -@@ -315,11 +315,15 @@ function(install_project) - install(DIRECTORY "${PROJECT_SOURCE_DIR}/include/" +@@ -302,12 +302,16 @@ function(install_project) + COMPONENT "${PROJECT_NAME}" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") # Install the project targets. + set (LIB_INSTALL_DST ${CMAKE_INSTALL_LIBDIR}) + if (${ARGN} MATCHES "_main") + set (LIB_INSTALL_DST ${CMAKE_INSTALL_LIBDIR}/manual-link) -+ endif() ++ endif() install(TARGETS ${ARGN} EXPORT ${targets_export_name} + COMPONENT "${PROJECT_NAME}" RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" - ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" - LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}") + ARCHIVE DESTINATION "${LIB_INSTALL_DST}" + LIBRARY DESTINATION "${LIB_INSTALL_DST}") if(CMAKE_CXX_COMPILER_ID MATCHES "MSVC") - # Install PDBs + # Install PDBs. foreach(t ${ARGN}) -@@ -328,7 +332,7 @@ function(install_project) - get_target_property(t_pdb_output_directory ${t} PDB_OUTPUT_DIRECTORY) +@@ -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}" - DESTINATION ${CMAKE_INSTALL_LIBDIR} + DESTINATION ${LIB_INSTALL_DST} OPTIONAL) diff --git a/ports/gtest/portfile.cmake b/ports/gtest/portfile.cmake index b7e609242c8e41..3f24686c187b4a 100644 --- a/ports/gtest/portfile.cmake +++ b/ports/gtest/portfile.cmake @@ -5,33 +5,33 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/googletest - REF release-1.11.0 - SHA512 6fcc7827e4c4d95e3ae643dd65e6c4fc0e3d04e1778b84f6e06e390410fe3d18026c131d828d949d2f20dde6327d30ecee24dcd3ef919e21c91e010d149f3a28 - HEAD_REF master + REF "v${VERSION}" + SHA512 9046841044a2bf7edfd96854ad9c44ffae4fcb9fb59a075b367507c0762a98eb32cb6968d46663228272e26321e96f4dd287c95baa22c6af9bad902b8b6ede4e + HEAD_REF main PATCHES + 001-fix-UWP-death-test.patch + clang-tidy-no-lint.patch fix-main-lib-path.patch ) string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "dynamic" GTEST_FORCE_SHARED_CRT) -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA OPTIONS -DBUILD_GMOCK=ON - -DBUILD_GTEST=ON - -DCMAKE_DEBUG_POSTFIX=d -Dgtest_force_shared_crt=${GTEST_FORCE_SHARED_CRT} ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/GTest TARGET_PATH share/GTest) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/GTest) file( INSTALL "${SOURCE_PATH}/googletest/src/gtest.cc" "${SOURCE_PATH}/googletest/src/gtest_main.cc" "${SOURCE_PATH}/googletest/src/gtest-all.cc" + "${SOURCE_PATH}/googletest/src/gtest-assertion-result.cc" "${SOURCE_PATH}/googletest/src/gtest-death-test.cc" "${SOURCE_PATH}/googletest/src/gtest-filepath.cc" "${SOURCE_PATH}/googletest/src/gtest-internal-inl.h" @@ -58,3 +58,5 @@ endif() vcpkg_copy_pdbs() 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}") diff --git a/ports/gtest/vcpkg.json b/ports/gtest/vcpkg.json index 5c878ed29ad032..ffe40cfc54dbd6 100644 --- a/ports/gtest/vcpkg.json +++ b/ports/gtest/vcpkg.json @@ -1,7 +1,17 @@ { "name": "gtest", - "version-semver": "1.11.0", - "port-version": 2, - "description": "GoogleTest and GoogleMock testing frameworks", - "homepage": "https://github.com/google/googletest" + "version-semver": "1.15.2", + "description": "Google Testing and Mocking Framework", + "homepage": "https://github.com/google/googletest", + "license": "BSD-3-Clause", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/gtk/0001-build.patch b/ports/gtk/0001-build.patch new file mode 100644 index 00000000000000..40e3529f031d18 --- /dev/null +++ b/ports/gtk/0001-build.patch @@ -0,0 +1,13 @@ +diff --git a/meson.build b/meson.build +index 5efd8a9..d51af19 100644 +--- a/meson.build ++++ b/meson.build +@@ -857,7 +857,7 @@ subdir('po') + + subdir('docs/reference') + +-if not meson.is_cross_build() ++if false + gnome.post_install( + glib_compile_schemas: true, + gio_querymodules: gio_module_dirs, diff --git a/ports/gtk/build.patch b/ports/gtk/build.patch deleted file mode 100644 index 9b01b2c43374e2..00000000000000 --- a/ports/gtk/build.patch +++ /dev/null @@ -1,47 +0,0 @@ -diff --git a/meson.build b/meson.build -index 9fe9cd5ac..19a19e5c6 100644 ---- a/meson.build -+++ b/meson.build -@@ -845,24 +845,24 @@ subdir('po-properties') - subdir('docs/tools') - subdir('docs/reference') - --if not meson.is_cross_build() -- if meson.version().version_compare('>=0.57.0') -- gnome.post_install( -- glib_compile_schemas: true, -- gio_querymodules: gio_module_dirs, -- gtk_update_icon_cache: true, -- ) -- else -- meson.add_install_script('build-aux/meson/post-install.py', -- gtk_api_version, -- gtk_binary_version, -- gtk_libdir, -- gtk_datadir, -- gtk_bindir) -- endif --else -- message('Not executing post-install steps automatically when cross compiling') --endif -+#if not meson.is_cross_build() -+# if meson.version().version_compare('>=0.57.0') -+# gnome.post_install( -+# glib_compile_schemas: true, -+# gio_querymodules: gio_module_dirs, -+# gtk_update_icon_cache: true, -+# ) -+# else -+# meson.add_install_script('build-aux/meson/post-install.py', -+# gtk_api_version, -+# gtk_binary_version, -+# gtk_libdir, -+# gtk_datadir, -+# gtk_bindir) -+# endif -+#else -+# message('Not executing post-install steps automatically when cross compiling') -+#endif - - if not meson.is_subproject() - meson.add_dist_script('build-aux/meson/dist-data.py') 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 ca9c0cae01e16e..ab1d5b4b2f7ea2 100644 --- a/ports/gtk/portfile.cmake +++ b/ports/gtk/portfile.cmake @@ -1,15 +1,17 @@ - -set(GTK_VERSION 4.3.0) +# 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 40ebed3a03aef096addc0af09fec4ec529d882a0 #v4.3.0 - SHA512 6f68e1e2f18a4bf0299f0563ccf091cbee3a1dc1db0819565216d50f98f3f3ad4904eef746357d9bc2fdac8a5e29c5cbed5d4df5dd0f89bb941f7438ae3cd096 + REF ${VERSION} + SHA512 2e2d3135ebf8cb176a4e5e6f1faa26ae9ea5c3e2441e2c820372a76b78e641f207257600d6a207aa05883e04f29fac1452673bffa0395789b8e482cc6b204673 HEAD_REF master # branch name - PATCHES build.patch -) + PATCHES + 0001-build.patch + fix_vulkan_enabled.patch +) vcpkg_find_acquire_program(PKGCONFIG) get_filename_component(PKGCONFIG_DIR "${PKGCONFIG}" DIRECTORY ) @@ -21,7 +23,7 @@ set(win32 false) set(osx false) if(VCPKG_TARGET_IS_LINUX) set(OPTIONS -Dwayland-backend=false) # CI missing at least wayland-protocols - set(x11 true) + set(x11 true) # Enable the wayland gdk backend (only when building on Unix except for macOS) elseif(VCPKG_TARGET_IS_WINDOWS) set(win32 true) @@ -34,88 +36,67 @@ list(APPEND OPTIONS -Dbroadway-backend=false) #Enable the broadway (HTML5) gdk b list(APPEND OPTIONS -Dwin32-backend=${win32}) #Enable the Windows gdk backend (only when building on Windows) list(APPEND OPTIONS -Dmacos-backend=${osx}) #Enable the macOS gdk backend (only when building on macOS) +if("introspection" IN_LIST FEATURES) + list(APPEND OPTIONS_DEBUG -Dintrospection=disabled) + list(APPEND OPTIONS_RELEASE -Dintrospection=enabled) +else() + list(APPEND OPTIONS -Dintrospection=disabled) +endif() + +if(CMAKE_HOST_WIN32 AND VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + set(GIR_TOOL_DIR ${CURRENT_INSTALLED_DIR}) +else() + set(GIR_TOOL_DIR ${CURRENT_HOST_INSTALLED_DIR}) +endif() + vcpkg_configure_meson( SOURCE_PATH ${SOURCE_PATH} OPTIONS ${OPTIONS} - -Ddemos=false + -Dbuild-demos=false + -Dbuild-testsuite=false -Dbuild-examples=false -Dbuild-tests=false - -Dinstall-tests=false - -Dgtk_doc=false + -Ddocumentation=false -Dman-pages=false - -Dintrospection=disabled - -Dsassc=enabled # Rebuild themes using sassc - -Dmedia-ffmpeg=disabled # Build the ffmpeg media backend -Dmedia-gstreamer=disabled # Build the gstreamer media backend -Dprint-cups=disabled # Build the cups print backend - -Dprint-cloudprint=disabled # Build the cloudprint print backend -Dvulkan=disabled # Enable support for the Vulkan graphics API - -Dxinerama=disabled # Enable support for the X11 Xinerama extension -Dcloudproviders=disabled # Enable the cloudproviders support -Dsysprof=disabled # include tracing support for sysprof -Dtracker=disabled # Enable Tracker3 filechooser search -Dcolord=disabled # Build colord support for the CUPS printing backend - ADDITIONAL_NATIVE_BINARIES glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal' - glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums' - glib-compile-resources='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-compile-resources${VCPKG_HOST_EXECUTABLE_SUFFIX}' - gdbus-codegen='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/gdbus-codegen' - glib-compile-schemas='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-compile-schemas${VCPKG_HOST_EXECUTABLE_SUFFIX}' - sassc='${CURRENT_INSTALLED_DIR}/tools/sassc/bin/sassc${VCPKG_HOST_EXECUTABLE_SUFFIX}' - ADDITIONAL_CROSS_BINARIES glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal' - glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums' - glib-compile-resources='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-compile-resources${VCPKG_HOST_EXECUTABLE_SUFFIX}' - gdbus-codegen='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/gdbus-codegen' - glib-compile-schemas='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-compile-schemas${VCPKG_HOST_EXECUTABLE_SUFFIX}' - sassc='${CURRENT_INSTALLED_DIR}/tools/sassc/bin/sassc${VCPKG_HOST_EXECUTABLE_SUFFIX}' + -Df16c=disabled # Enable F16C fast paths (requires F16C) + OPTIONS_DEBUG + ${OPTIONS_DEBUG} + OPTIONS_RELEASE + ${OPTIONS_RELEASE} + ADDITIONAL_BINARIES + glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal' + glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums' + glib-compile-resources='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-compile-resources${VCPKG_HOST_EXECUTABLE_SUFFIX}' + gdbus-codegen='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/gdbus-codegen' + glib-compile-schemas='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-compile-schemas${VCPKG_HOST_EXECUTABLE_SUFFIX}' + sassc='${CURRENT_HOST_INSTALLED_DIR}/tools/sassc/bin/sassc${VCPKG_HOST_EXECUTABLE_SUFFIX}' + g-ir-compiler='${CURRENT_HOST_INSTALLED_DIR}/tools/gobject-introspection/g-ir-compiler${VCPKG_HOST_EXECUTABLE_SUFFIX}' + g-ir-scanner='${GIR_TOOL_DIR}/tools/gobject-introspection/g-ir-scanner' ) -vcpkg_install_meson() - -# If somebody finds out how to access and forward env variables to -# the meson install script be my guest. Nevertheless the script still -# needs manual execution in the crosscompiling case. -vcpkg_find_acquire_program(PYTHON3) -foreach(_config release debug) - if(_config STREQUAL "release") - set(_short rel) - set(_path_suffix) - else() - set(_short dbg) - set(_path_suffix /debug) - endif() - if(NOT EXISTS "${CURRENT_PACKAGES_DIR}${_path_suffix}/lib") - continue() - endif() - message(STATUS "Running post install script: ${TARGET_TRIPLET}-${_short}") - - set(PKGCONFIG_INSTALLED_DIR "${CURRENT_INSTALLED_DIR}${_path_suffix}/lib/pkgconfig/") - set(ENV{PKG_CONFIG_PATH} "${PKGCONFIG_INSTALLED_DIR}") - #file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}${_path_suffix}/lib/gtk-4.0/4.0.0/media") - #file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}${_path_suffix}/lib/gtk-4.0/4.0.0/immodules") - #file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}${_path_suffix}/lib/gtk-4.0/4.0.0/printbackends") - vcpkg_execute_required_process( - COMMAND "${PYTHON3}" "${SOURCE_PATH}/build-aux/meson/post-install.py" 4.0 4.0.0 "${CURRENT_PACKAGES_DIR}${_path_suffix}/lib" "${CURRENT_PACKAGES_DIR}${_path_suffix}/share" "${CURRENT_PACKAGES_DIR}${_path_suffix}/bin" - WORKING_DIRECTORY ${SOURCE_PATH} - LOGNAME post-install-${TARGET_TRIPLET}-${_short} - ) - unset(ENV{PKG_CONFIG_PATH}) - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}${_path_suffix}/lib/gtk-4.0") - #file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}${_path_suffix}/bin/gtk-4.0") - #file(RENAME "${CURRENT_PACKAGES_DIR}${_path_suffix}/lib/gtk-4.0/" "${CURRENT_PACKAGES_DIR}${_path_suffix}/bin/gtk-4.0") - message(STATUS "Post install ${TARGET_TRIPLET}-${_short} done") -endforeach() +vcpkg_install_meson(ADD_BIN_TO_PATH) 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") -set(TOOL_NAMES gtk4-builder-tool - gtk4-encode-symbolic-svg - gtk4-query-settings - gtk4-update-icon-cache) +set(TOOL_NAMES gtk4-builder-tool + gtk4-encode-symbolic-svg + gtk4-path-tool + gtk4-query-settings + 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 ca024dccb50121..1a483173e4cbcd 100644 --- a/ports/gtk/vcpkg.json +++ b/ports/gtk/vcpkg.json @@ -1,8 +1,10 @@ { "name": "gtk", - "version": "4.3.0", + "version": "4.16.3", "description": "Portable library for creating graphical user interfaces.", "homepage": "https://www.gtk.org/", + "license": "LGPL-2.0-only", + "supports": "!xbox", "dependencies": [ "atk", { @@ -21,15 +23,71 @@ "platform": "linux" }, "gdk-pixbuf", - "gettext", + { + "name": "gettext", + "host": true, + "default-features": false, + "features": [ + "tools" + ] + }, + "gettext-libintl", "glib", { "name": "glib", "host": true }, "graphene", + { + "name": "harfbuzz", + "features": [ + "glib" + ] + }, "libepoxy", "pango", - "sassc" - ] + { + "name": "sassc", + "host": true + }, + { + "name": "vcpkg-tool-meson", + "host": true + } + ], + "features": { + "introspection": { + "description": "build with introspection", + "dependencies": [ + { + "name": "atk", + "default-features": false, + "features": [ + "introspection" + ] + }, + { + "name": "gdk-pixbuf", + "default-features": false, + "features": [ + "introspection" + ] + }, + { + "name": "graphene", + "default-features": false, + "features": [ + "introspection" + ] + }, + { + "name": "pango", + "default-features": false, + "features": [ + "introspection" + ] + } + ] + } + } } diff --git a/ports/gtk3/0001-build.patch b/ports/gtk3/0001-build.patch new file mode 100644 index 00000000000000..a6881182689586 --- /dev/null +++ b/ports/gtk3/0001-build.patch @@ -0,0 +1,13 @@ +diff --git a/meson.build b/meson.build +index c599843..0cafd79 100644 +--- a/meson.build ++++ b/meson.build +@@ -1008,7 +1008,7 @@ subdir('docs/reference') + + install_data('m4macros/gtk-3.0.m4', install_dir: join_paths(get_option('datadir'), 'aclocal')) + +-if not meson.is_cross_build() ++if false + gnome.post_install( + glib_compile_schemas: true, + gio_querymodules: gio_module_dirs, diff --git a/ports/gtk3/cairo-cpp-linkage.patch b/ports/gtk3/cairo-cpp-linkage.patch new file mode 100644 index 00000000000000..c36a7aaeb3fb41 --- /dev/null +++ b/ports/gtk3/cairo-cpp-linkage.patch @@ -0,0 +1,62 @@ +diff --git a/gtk/meson.build b/gtk/meson.build +index 79f4f0d..33a7723 100644 +--- a/gtk/meson.build ++++ b/gtk/meson.build +@@ -1074,6 +1074,7 @@ gtk_query_settings = executable( + 'gtk-query-settings.c', + c_args: gtk_cargs, + dependencies: libgtk_dep, ++ link_language: 'cpp', + install: true + ) + gtk_tools += gtk_query_settings +@@ -1083,6 +1084,7 @@ gtk_builder_tool = executable( + 'gtk-builder-tool.c', + c_args: gtk_cargs, + dependencies: libgtk_dep, ++ link_language: 'cpp', + install: true + ) + gtk_tools += gtk_builder_tool +@@ -1115,6 +1117,7 @@ gtk_update_icon_cache = executable( + extra_update_icon_cache_objs, + c_args: gtk_cargs, + dependencies: libgtk_dep, ++ link_language: 'cpp', + install: true + ) + gtk_tools += gtk_update_icon_cache +@@ -1125,6 +1128,7 @@ gtk_query_immodules = executable( + 'gtkutils.c', + c_args: gtk_cargs, + dependencies: libgtk_dep, ++ link_language: 'cpp', + install: true + ) + gtk_tools += gtk_query_immodules +@@ -1134,6 +1138,7 @@ gtk_encode_symbolic_svg = executable( + 'encodesymbolic.c', + c_args: gtk_cargs, + dependencies: libgtk_dep, ++ link_language: 'cpp', + install: true + ) + gtk_tools += gtk_encode_symbolic_svg +@@ -1143,6 +1148,7 @@ gtk_launch = executable( + 'gtk-launch.c', + c_args: gtk_cargs, + dependencies: libgtk_dep, ++ link_language: 'cpp', + install: true + ) + gtk_tools += gtk_launch +diff --git a/meson.build b/meson.build +index 287f0cb..d35106f 100644 +--- a/meson.build ++++ b/meson.build +@@ -1,4 +1,4 @@ +-project('gtk+', 'c', ++project('gtk+', 'c', 'cpp', + version: '3.24.38', + default_options: [ + 'buildtype=debugoptimized', diff --git a/ports/gtk3/portfile.cmake b/ports/gtk3/portfile.cmake new file mode 100644 index 00000000000000..400aefd6ffbef9 --- /dev/null +++ b/ports/gtk3/portfile.cmake @@ -0,0 +1,98 @@ +set(warning_length 24) +string(LENGTH "${CURRENT_BUILDTREES_DIR}" buildtrees_path_length) +if(buildtrees_path_length GREATER warning_length AND CMAKE_HOST_WIN32) + message(WARNING "${PORT}'s buildsystem uses very long paths and may fail on your system.\n" + "We recommend moving vcpkg to a short path such as 'C:\\vcpkg' or using the subst command." + ) +endif() + +vcpkg_from_gitlab( + OUT_SOURCE_PATH SOURCE_PATH + GITLAB_URL https://gitlab.gnome.org + REPO GNOME/gtk + REF "${VERSION}" + SHA512 ffb52ee34074be6e88fda40a025044b653d05b69c35819eed159a020a6f1c881a83735aa7bec943470c465328bb3bb20b34afeb3b98cdcfca9d2eaaed3ab61ef + PATCHES + 0001-build.patch + cairo-cpp-linkage.patch +) + +vcpkg_find_acquire_program(PKGCONFIG) +get_filename_component(PKGCONFIG_DIR "${PKGCONFIG}" DIRECTORY ) +vcpkg_add_to_path("${PKGCONFIG_DIR}") # Post install script runs pkg-config so it needs to be on PATH +vcpkg_add_to_path("${CURRENT_HOST_INSTALLED_DIR}/tools/glib/") +vcpkg_add_to_path("${CURRENT_HOST_INSTALLED_DIR}/tools/gdk-pixbuf") +vcpkg_add_to_path("${CURRENT_HOST_INSTALLED_DIR}/tools/gettext/bin") + + +vcpkg_list(SET ADDITIONAL_BINARIES) +if("introspection" IN_LIST FEATURES) + list(APPEND OPTIONS_DEBUG -Dintrospection=false) + list(APPEND OPTIONS_RELEASE -Dintrospection=true) + if(CMAKE_HOST_WIN32 AND VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + set(GIR_TOOL_DIR "${CURRENT_INSTALLED_DIR}") + else() + set(GIR_TOOL_DIR "${CURRENT_HOST_INSTALLED_DIR}") + endif() + vcpkg_list(APPEND ADDITIONAL_BINARIES + "g-ir-compiler='${CURRENT_HOST_INSTALLED_DIR}/tools/gobject-introspection/g-ir-compiler${VCPKG_HOST_EXECUTABLE_SUFFIX}'" + "g-ir-scanner='${GIR_TOOL_DIR}/tools/gobject-introspection/g-ir-scanner'" + ) +else() + list(APPEND OPTIONS -Dintrospection=false) +endif() + +vcpkg_configure_meson( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${OPTIONS} + -Dwayland_backend=false + -Ddemos=false + -Dexamples=false + -Dtests=false + -Dgtk_doc=false + -Dman=false + -Dxinerama=no # Enable support for the X11 Xinerama extension + -Dcloudproviders=false # Enable the cloudproviders support + -Dprofiler=false # include tracing support for sysprof + -Dtracker3=false # Enable Tracker3 filechooser search + -Dcolord=no # Build colord support for the CUPS printing backend + OPTIONS_DEBUG + ${OPTIONS_DEBUG} + OPTIONS_RELEASE + ${OPTIONS_RELEASE} + ADDITIONAL_BINARIES + "glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal'" + "glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums'" + "glib-compile-resources='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-compile-resources${VCPKG_HOST_EXECUTABLE_SUFFIX}'" + "gdbus-codegen='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/gdbus-codegen'" + "glib-compile-schemas='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-compile-schemas${VCPKG_HOST_EXECUTABLE_SUFFIX}'" + ${ADDITIONAL_BINARIES} +) + +# Reduce command line lengths, in particular for static windows builds. +foreach(dir IN ITEMS "${TARGET_TRIPLET}-dbg" "${TARGET_TRIPLET}-rel") + if(EXISTS "${CURRENT_BUILDTREES_DIR}/${dir}/build.ninja") + vcpkg_replace_string("${CURRENT_BUILDTREES_DIR}/${dir}/build.ninja" "/${dir}/../src/" "/src/") + endif() +endforeach() +vcpkg_install_meson(ADD_BIN_TO_PATH) + +vcpkg_copy_pdbs() + +vcpkg_fixup_pkgconfig() + +set(GTK_TOOLS + gtk-builder-tool + gtk-encode-symbolic-svg + gtk-launch + gtk-query-immodules-3.0 + gtk-query-settings + gtk-update-icon-cache +) +vcpkg_copy_tools(TOOL_NAMES ${GTK_TOOLS} AUTO_CLEAN) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/etc") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/gtk3/vcpkg.json b/ports/gtk3/vcpkg.json new file mode 100644 index 00000000000000..a7e4151488fe2a --- /dev/null +++ b/ports/gtk3/vcpkg.json @@ -0,0 +1,92 @@ +{ + "name": "gtk3", + "version": "3.24.38", + "port-version": 1, + "description": "Portable library for creating graphical user interfaces.", + "homepage": "https://www.gtk.org/", + "license": null, + "dependencies": [ + { + "name": "at-spi2-atk", + "platform": "linux" + }, + "atk", + { + "name": "cairo", + "default-features": false, + "features": [ + "gobject" + ] + }, + { + "name": "cairo", + "default-features": false, + "features": [ + "x11" + ], + "platform": "linux" + }, + "gdk-pixbuf", + { + "name": "gdk-pixbuf", + "host": true + }, + "gettext", + { + "name": "gettext", + "host": true, + "default-features": false, + "features": [ + "tools" + ] + }, + "glib", + { + "name": "glib", + "host": true + }, + "libepoxy", + "pango", + { + "name": "vcpkg-tool-meson", + "host": true + } + ], + "features": { + "introspection": { + "description": "build with introspection", + "supports": "!windows | !static", + "dependencies": [ + { + "name": "atk", + "default-features": false, + "features": [ + "introspection" + ] + }, + { + "name": "gdk-pixbuf", + "host": true, + "default-features": false, + "features": [ + "introspection" + ] + }, + { + "name": "gdk-pixbuf", + "default-features": false, + "features": [ + "introspection" + ] + }, + { + "name": "pango", + "default-features": false, + "features": [ + "introspection" + ] + } + ] + } + } +} diff --git a/ports/gtkmm/portfile.cmake b/ports/gtkmm/portfile.cmake index 5287256224432e..30fa7451fe3326 100644 --- a/ports/gtkmm/portfile.cmake +++ b/ports/gtkmm/portfile.cmake @@ -1,13 +1,12 @@ -vcpkg_fail_port_install(ON_TARGET "uwp") - +string(REGEX MATCH "^([0-9]*[.][0-9]*)" GTKMM_MAJOR_MINOR "${VERSION}") vcpkg_download_distfile(ARCHIVE - URLS "https://ftp.gnome.org/pub/GNOME/sources/gtkmm/4.0/gtkmm-4.0.1.tar.xz" - FILENAME "gtkmm-4.0.1.tar.xz" - SHA512 5b9f9f32fe85ee7a281c9d3d3b266b1265924926058d778f48302808812cad7047c09440c317497fa0069816984d3556868a703a5488e0bfd8cd26fc64afcb1b + URLS "https://ftp.gnome.org/pub/GNOME/sources/gtkmm/${GTKMM_MAJOR_MINOR}/gtkmm-${VERSION}.tar.xz" + FILENAME "gtkmm-${VERSION}.tar.xz" + SHA512 94cf1f764e539b8b1fdff101f6e134c5e2bc9379f1dae3b6daef66ab94e90f5e70a41d8eb94842fd54c0f8706c565e975fa2adf6e4c6913cecaeb3c8cf00a1cd ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH +vcpkg_extract_source_archive( + SOURCE_PATH ARCHIVE ${ARCHIVE} ) @@ -17,8 +16,8 @@ vcpkg_configure_meson( -Dmsvc14x-parallel-installable=false # Use separate DLL and LIB filenames for Visual Studio 2017 and 2019 -Dbuild-tests=false -Dbuild-demos=false - ADDITIONAL_NATIVE_BINARIES glib-compile-resources='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-compile-resources${VCPKG_HOST_EXECUTABLE_SUFFIX}' - ADDITIONAL_CROSS_BINARIES glib-compile-resources='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-compile-resources${VCPKG_HOST_EXECUTABLE_SUFFIX}' + ADDITIONAL_BINARIES + glib-compile-resources='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-compile-resources${VCPKG_HOST_EXECUTABLE_SUFFIX}' ) vcpkg_install_meson() @@ -27,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 f394a6c8009038..88f39b647b5d9d 100644 --- a/ports/gtkmm/vcpkg.json +++ b/ports/gtkmm/vcpkg.json @@ -1,25 +1,20 @@ { "name": "gtkmm", - "version": "4.0.1", + "version": "4.14.0", "description": "gtkmm is the official C++ interface for the popular GUI library GTK+.", "homepage": "https://www.gtkmm.org/", - "supports": "!uwp", + "license": "LGPL-3.0-or-later", + "supports": "!uwp & !xbox", "dependencies": [ - "atk", - "atkmm", - "cairo", "cairomm", "gdk-pixbuf", - "gettext", - "glib", - { - "name": "glib", - "host": true - }, "glibmm", "gtk", "libepoxy", - "pango", - "pangomm" + "pangomm", + { + "name": "vcpkg-tool-meson", + "host": true + } ] } diff --git a/ports/gtl/portfile.cmake b/ports/gtl/portfile.cmake new file mode 100644 index 00000000000000..47e707b0f35032 --- /dev/null +++ b/ports/gtl/portfile.cmake @@ -0,0 +1,25 @@ +#header-only library + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO greg7mdp/gtl + REF "v${VERSION}" + SHA512 068d37b7028979538884db5956a76e1de301202eb6b015104c6d8b246e894f9166b1d2b97aff47b2641b6948e7dd1cd20a74396f1a6d276e2ade74469d27c3c2 + HEAD_REF main +) + +# Use greg7mdp/gtl's own build process, skipping examples and tests +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DGTL_BUILD_TESTS=OFF + -DGTL_BUILD_EXAMPLES=OFF + -DGTL_BUILD_BENCHMARKS=OFF +) +vcpkg_cmake_install() + +# Delete redundant directories +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib" "${CURRENT_PACKAGES_DIR}/debug" "${CURRENT_PACKAGES_DIR}/share/doc") + +# Put the licence file where vcpkg expects it +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/gtl/vcpkg.json b/ports/gtl/vcpkg.json new file mode 100644 index 00000000000000..95e81db5504a7a --- /dev/null +++ b/ports/gtl/vcpkg.json @@ -0,0 +1,13 @@ +{ + "name": "gtl", + "version": "1.2.0", + "description": "Greg's Template Library of useful classes.", + "homepage": "https://github.com/greg7mdp/gtl", + "license": "Apache-2.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] +} diff --git a/ports/gts/CMakeLists.txt b/ports/gts/CMakeLists.txt new file mode 100644 index 00000000000000..625e3540bdc2dc --- /dev/null +++ b/ports/gts/CMakeLists.txt @@ -0,0 +1,47 @@ +cmake_minimum_required(VERSION 3.14) + +project(gts VERSION "${VERSION}" LANGUAGES C) + +find_package(PkgConfig REQUIRED) +pkg_check_modules(GLIB2 glib-2.0 IMPORTED_TARGET) + +if(WIN32) + add_definitions(-DNATIVE_WIN32 -D_USE_MATH_DEFINES) +else() + include(CheckIncludeFile) + check_include_file("fpu_control.h" HAVE_FPU_CONTROL_H) + if(HAVE_FPU_CONTROL_H) + add_definitions(-DHAVE_FPU_CONTROL_H) + endif() +endif() + +add_definitions( + -DGTS_COMPILATION + -DGTS_MAJOR_VERSION=${PROJECT_VERSION_MAJOR} + -DGTS_MINOR_VERSION=${PROJECT_VERSION_MINOR} + -DGTS_MICRO_VERSION=${PROJECT_VERSION_PATCH} + -DGTS_INTERFACE_AGE=1 + -DGTS_BINARY_AGE=1 + -DGTS_VERSION=${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH} +) + +file(GLOB src src/*.c src/gts.def) +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 + $ + $ + $ +) +target_link_libraries(gts PUBLIC PkgConfig::GLIB2) + +set(prefix ?) +set(exec_prefix \${prefix}) +set(libdir \${prefix}/lib) +set(includedir \${prefix}/include) +configure_file(gts.pc.in gts.pc @ONLY) + +install(FILES src/gts.h src/gtsconfig.h DESTINATION include) +install(TARGETS gts) +install(FILES "${CMAKE_CURRENT_BINARY_DIR}/gts.pc" DESTINATION lib/pkgconfig) diff --git a/ports/gts/fix-M_PI-in-windows.patch b/ports/gts/fix-M_PI-in-windows.patch deleted file mode 100644 index d573ef080ff918..00000000000000 --- a/ports/gts/fix-M_PI-in-windows.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff --git a/src/curvature.c b/src/curvature.c -index 70f6af2..a5c0187 100644 ---- a/src/curvature.c -+++ b/src/curvature.c -@@ -17,6 +17,9 @@ - * Boston, MA 02111-1307, USA. - */ - -+#ifdef _WIN32 -+#define _USE_MATH_DEFINES -+#endif - #include - #include "gts.h" - -diff --git a/src/triangle.c b/src/triangle.c -index 1d82869..47170c6 100644 ---- a/src/triangle.c -+++ b/src/triangle.c -@@ -17,6 +17,9 @@ - * Boston, MA 02111-1307, USA. - */ - -+#ifdef _WIN32 -+#define _USE_MATH_DEFINES -+#endif - #include - #include "gts.h" - diff --git a/ports/gts/fix-dllexport.patch b/ports/gts/fix-dllexport.patch new file mode 100644 index 00000000000000..dd9eb175e7545f --- /dev/null +++ b/ports/gts/fix-dllexport.patch @@ -0,0 +1,13 @@ +diff --git a/src/gts.h b/src/gts.h +index 1b76915..ae1d888 100644 +--- a/src/gts.h ++++ b/src/gts.h +@@ -38,7 +38,7 @@ extern "C" { + * we prefix variable declarations so they can + * properly get exported in windows dlls. + */ +-#ifdef NATIVE_WIN32 ++#if 0 + # ifdef GTS_COMPILATION + # define GTS_C_VAR __declspec(dllexport) + # else /* not GTS_COMPILATION */ diff --git a/ports/gts/fix-pkgconfig.patch b/ports/gts/fix-pkgconfig.patch deleted file mode 100644 index 59deeca22fd57b..00000000000000 --- a/ports/gts/fix-pkgconfig.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index f458c35..8035507 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -124,3 +124,11 @@ INSTALL(FILES - src/gtsconfig.h - DESTINATION include COMPONENT Development - ) -+ -+set(prefix ${CMAKE_INSTALL_PREFIX}) -+set(exec_prefix ${CMAKE_INSTALL_PREFIX}) -+set(libdir ${CMAKE_INSTALL_PREFIX}/lib) -+set(includedir ${CMAKE_INSTALL_PREFIX}/include) -+ -+configure_file("${CMAKE_CURRENT_SOURCE_DIR}/gts.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/gts.pc" @ONLY) -+install(FILES "${CMAKE_CURRENT_BINARY_DIR}/gts.pc" DESTINATION lib/pkgconfig) -\ No newline at end of file -diff --git a/gts.pc.in b/gts.pc.in -index 39626d7..bcd4014 100644 ---- a/gts.pc.in -+++ b/gts.pc.in -@@ -7,5 +7,5 @@ Name: GTS - Description: GNU Triangulated Surface Library - Version: @VERSION@ - Requires: glib-2.0,gthread-2.0,gmodule-2.0 --Libs: -L${libdir} @LIBS@ -lgts -lm -+Libs: -L${libdir} @LIBS@ -lgts - Cflags: -I${includedir} diff --git a/ports/gts/glib2.patch b/ports/gts/glib2.patch deleted file mode 100644 index 60de77c70d9e16..00000000000000 --- a/ports/gts/glib2.patch +++ /dev/null @@ -1,54 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 941e9b96b..ea031828d 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -85,30 +85,35 @@ include_directories( - ${CMAKE_CURRENT_SOURCE_DIR}/src - ) - --find_library(glib_LIBRARY NAMES glib libglib glib-2.0 libglib-2.0 -- HINTS ${glib_BINARY_DIR}) -+find_package(PkgConfig REQUIRED) -+pkg_check_modules(GLIB2 glib-2.0 IMPORTED_TARGET) - --get_filename_component(glib_LIBRARY_DIR ${glib_LIBRARY} DIRECTORY) --get_filename_component(glib_LIBRARY_NAME ${glib_LIBRARY} NAME) --string(REGEX REPLACE "\\.[^.]*$" "" glib_LIBRARY_NAME ${glib_LIBRARY_NAME}) -+# find_library(glib_LIBRARY NAMES glib libglib glib-2.0 libglib-2.0 -+ # HINTS ${glib_BINARY_DIR}) - --find_path(glib_H NAMES glib.h -- HINTS ${glib_LIBRARY_DIR}/../include) --get_filename_component(glib_INCLUDE_DIR ${glib_H} DIRECTORY) -+# get_filename_component(glib_LIBRARY_DIR ${glib_LIBRARY} DIRECTORY) -+# get_filename_component(glib_LIBRARY_NAME ${glib_LIBRARY} NAME) -+# string(REGEX REPLACE "\\.[^.]*$" "" glib_LIBRARY_NAME ${glib_LIBRARY_NAME}) - --set(glib_CONFIG_H) --find_path(glib_CONFIG_H NAMES glibconfig.h -- HINTS ${glib_LIBRARY_DIR}/${glib_LIBRARY_NAME}/include) -+# find_path(glib_H NAMES glib.h -+ # HINTS ${glib_LIBRARY_DIR}/../include) -+# get_filename_component(glib_INCLUDE_DIR ${glib_H} DIRECTORY) - --get_filename_component(glibconfig_INCLUDE_DIR ${glib_CONFIG_H} DIRECTORY) --include_directories(${glib_INCLUDE_DIR} ${glib_CONFIG_H}) -+# set(glib_CONFIG_H) -+# find_path(glib_CONFIG_H NAMES glibconfig.h -+ # HINTS ${glib_LIBRARY_DIR}/${glib_LIBRARY_NAME}/include) -+ -+# get_filename_component(glibconfig_INCLUDE_DIR ${glib_CONFIG_H} DIRECTORY) -+# include_directories(${glib_INCLUDE_DIR} ${glib_CONFIG_H}) -+include_directories(${GLIB2_INCLUDE_DIRS}) - - if (NOT WIN32 AND BUILD_SHARED_LIBS) - add_definitions(/DGTS_COMPILATION) - endif() - - add_library(${kit} SHARED ${srcs}) --target_link_libraries(${kit} ${glib_LIBRARY}) -+target_include_directories(${kit} PUBLIC ${GLIB2_INCLUDE_DIRS}) -+target_link_libraries(${kit} PkgConfig::GLIB2) - - if(MSVC) - SET_TARGET_PROPERTIES(${kit} PROPERTIES LINK_FLAGS "/DEF:\"${CMAKE_CURRENT_SOURCE_DIR}/src/gts.def\"") diff --git a/ports/gts/portfile.cmake b/ports/gts/portfile.cmake index 98ea07a8fab5ae..4695d9e8f777f8 100644 --- a/ports/gts/portfile.cmake +++ b/ports/gts/portfile.cmake @@ -1,29 +1,29 @@ -vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY ONLY_DYNAMIC_CRT) - -vcpkg_from_github( +vcpkg_from_sourceforge( OUT_SOURCE_PATH SOURCE_PATH - REPO finetjul/gts - REF c4da61ae075f355d9ecc9f2d4767acf777f54c2b #0.7.6 - SHA512 e53d11213c26cbda08ae62e6388aee0a14d2884de72268ad25d10a23e77baa53a2b1151c5cc7643b059ded82b8edf0da79144c3108949fdc515168cac13ffca9 - HEAD_REF master + REPO gts/gts + REF 0.7.6 + FILENAME gts-0.7.6.tar.gz + SHA512 645123b72dba3d04dad3c5d936d7e55947826be0fb25e84595368919b720deccddceb7c3b30865a5a40f2458254c2af793b7c014e6719cf07e7f8e6ff30890f8 PATCHES - fix-M_PI-in-windows.patch - support-unix.patch - fix-pkgconfig.patch - glib2.patch + fix-dllexport.patch ) + +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") +file(COPY "${CMAKE_CURRENT_LIST_DIR}/predicates_init.h" DESTINATION "${SOURCE_PATH}/src") + vcpkg_find_acquire_program(PKGCONFIG) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DPKG_CONFIG_EXECUTABLE=${PKGCONFIG} + "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}" + "-DVERSION=${VERSION}" ) -vcpkg_install_cmake() - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) - +vcpkg_cmake_install() vcpkg_fixup_pkgconfig() vcpkg_copy_pdbs() -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +file(COPY "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/gts/predicates_init.h b/ports/gts/predicates_init.h new file mode 100644 index 00000000000000..059ecf6ffb3989 --- /dev/null +++ b/ports/gts/predicates_init.h @@ -0,0 +1,26 @@ +/* This file was generated automatically by predicates_init + * + * This file is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This file is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + */ + +static double splitter = 134217729.000000; +static double resulterrbound = 3.330669073875471e-16; +static double ccwerrboundA = 3.330669073875472e-16; +static double ccwerrboundB = 2.220446049250315e-16; +static double ccwerrboundC = 1.109335647967049e-31; +static double o3derrboundA = 7.771561172376103e-16; +static double o3derrboundB = 3.330669073875473e-16; +static double o3derrboundC = 3.204747427460364e-31; +static double iccerrboundA = 1.110223024625158e-15; +static double iccerrboundB = 4.440892098500632e-16; +static double iccerrboundC = 5.423418723394464e-31; +static double isperrboundA = 1.776356839400253e-15; +static double isperrboundB = 5.551115123125792e-16; +static double isperrboundC = 8.751425667295619e-31; diff --git a/ports/gts/support-unix.patch b/ports/gts/support-unix.patch deleted file mode 100644 index 597b4f54520004..00000000000000 --- a/ports/gts/support-unix.patch +++ /dev/null @@ -1,190 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index c35100c..f458c35 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 3.1) - add_executable(predicates_init src/predicates_init.c) - - execute_process( -- COMMAND predicates_init.exe -+ COMMAND predicates_init - OUTPUT_FILE predicates_init.h - OUTPUT_VARIABLE OUTVAR) - -@@ -12,6 +12,31 @@ MESSAGE("${OUTVAR}") - set(kit gts) - project(${kit}) - -+if (NOT WIN32) -+ set(CPP_HAS_WARNING 1) -+ set(HAVE_DLFCN_H 1) -+ set(HAVE_FLOATINGPOINT_H 1) -+ set(HAVE_FPU_CONTROL_H 1) -+ set(HAVE_GETOPT_H 1) -+ set(HAVE_GETOPT_LONG 1) -+ set(HAVE_INTTYPES_H 1) -+ set(HAVE_MEMORY_H 1) -+ set(HAVE_STDINT_H 1) -+ set(HAVE_STDLIB_H 1) -+ set(HAVE_STRINGS_H 1) -+ set(HAVE_STRING_H 1) -+ set(HAVE_SYS_STAT_H 1) -+ set(HAVE_SYS_TYPES_H 1) -+ set(HAVE_UNISTD_H 1) -+ set(PACKAGE_BUGREPORT 0) -+ set(PACKAGE_NAME "gts") -+ set(PACKAGE_STRING "0.7.6") -+ set(PACKAGE_TARNAME "gts") -+ set(PACKAGE_URL "") -+ set(PACKAGE_VERSION "0.7.6") -+ set(STDC_HEADERS) -+endif() -+ - set(srcs - src/bbtree.c - src/boolean.c -@@ -49,7 +74,11 @@ set(srcs - src/vopt.c - ) - -+if (WIN32) - configure_file(src/config.h.win32 config.h) -+else() -+configure_file(config.h.in config.h @ONLY) -+endif() - - SET(CMAKE_INCLUDE_CURRENT_DIR ON) - include_directories( -@@ -74,7 +103,9 @@ find_path(glib_CONFIG_H NAMES glibconfig.h - get_filename_component(glibconfig_INCLUDE_DIR ${glib_CONFIG_H} DIRECTORY) - include_directories(${glib_INCLUDE_DIR} ${glib_CONFIG_H}) - -+if (NOT WIN32 AND BUILD_SHARED_LIBS) - add_definitions(/DGTS_COMPILATION) -+endif() - - add_library(${kit} SHARED ${srcs}) - target_link_libraries(${kit} ${glib_LIBRARY}) -diff --git a/config.h.in b/config.h.in -index ad95945..fe6c945 100644 ---- a/config.h.in -+++ b/config.h.in -@@ -1,89 +1,89 @@ - /* config.h.in. Generated from configure.ac by autoheader. */ - - /* Define if C preprocessor supports warning directive. */ --#undef CPP_HAS_WARNING -+#cmakedefine CPP_HAS_WARNING @CPP_HAS_WARNING@ - - /* Binary age */ --#undef GTS_BINARY_AGE -+#define GTS_BINARY_AGE 0 - - /* Interface age */ --#undef GTS_INTERFACE_AGE -+#define GTS_INTERFACE_AGE 0 - - /* Major version */ --#undef GTS_MAJOR_VERSION -+#define GTS_MAJOR_VERSION 0 - - /* Micro version */ --#undef GTS_MICRO_VERSION -+#define GTS_MICRO_VERSION 0 - - /* Minor version */ --#undef GTS_MINOR_VERSION -+#define GTS_MINOR_VERSION 6 - - /* Define to 1 if you have the header file. */ --#undef HAVE_DLFCN_H -+#cmakedefine HAVE_DLFCN_H @HAVE_DLFCN_H@ - - /* Define to 1 if you have the header file. */ --#undef HAVE_FLOATINGPOINT_H -+#cmakedefine HAVE_FLOATINGPOINT_H @HAVE_FLOATINGPOINT_H@ - - /* Define to 1 if you have the header file. */ --#undef HAVE_FPU_CONTROL_H -+#cmakedefine HAVE_FPU_CONTROL_H @HAVE_FPU_CONTROL_H@ - - /* Define to 1 if you have the header file. */ --#undef HAVE_GETOPT_H -+#cmakedefine HAVE_GETOPT_H @HAVE_GETOPT_H@ - - /* Define to 1 if you have the `getopt_long' function. */ --#undef HAVE_GETOPT_LONG -+#cmakedefine HAVE_GETOPT_LONG @HAVE_GETOPT_LONG@ - - /* Define to 1 if you have the header file. */ --#undef HAVE_INTTYPES_H -+#cmakedefine HAVE_INTTYPES_H @HAVE_INTTYPES_H@ - - /* Define to 1 if you have the header file. */ --#undef HAVE_MEMORY_H -+#cmakedefine HAVE_MEMORY_H @HAVE_MEMORY_H@ - - /* Define to 1 if you have the header file. */ --#undef HAVE_STDINT_H -+#cmakedefine HAVE_STDINT_H @HAVE_STDINT_H@ - - /* Define to 1 if you have the header file. */ --#undef HAVE_STDLIB_H -+#cmakedefine HAVE_STDLIB_H @HAVE_STDLIB_H@ - - /* Define to 1 if you have the header file. */ --#undef HAVE_STRINGS_H -+#cmakedefine HAVE_STRINGS_H @HAVE_STRINGS_H@ - - /* Define to 1 if you have the header file. */ --#undef HAVE_STRING_H -+#cmakedefine HAVE_STRING_H @HAVE_STRING_H@ - - /* Define to 1 if you have the header file. */ --#undef HAVE_SYS_STAT_H -+#cmakedefine HAVE_SYS_STAT_H @HAVE_SYS_STAT_H@ - - /* Define to 1 if you have the header file. */ --#undef HAVE_SYS_TYPES_H -+#cmakedefine HAVE_SYS_TYPES_H @HAVE_SYS_TYPES_H@ - - /* Define to 1 if you have the header file. */ --#undef HAVE_UNISTD_H -+#cmakedefine HAVE_UNISTD_H @HAVE_UNISTD_H@ - - /* Define to the sub-directory in which libtool stores uninstalled libraries. - */ --#undef LT_OBJDIR -+#cmakedefine LT_OBJDIR @LT_OBJDIR@ - - /* Define if netpbm include files are in netpbm/. */ --#undef NETPBM_INCLUDE -+#cmakedefine NETPBM_INCLUDE @NETPBM_INCLUDE@ - - /* Define to the address where bug reports for this package should be sent. */ --#undef PACKAGE_BUGREPORT -+#cmakedefine PACKAGE_BUGREPORT @PACKAGE_BUGREPORT@ - - /* Define to the full name of this package. */ --#undef PACKAGE_NAME -+#cmakedefine PACKAGE_NAME @PACKAGE_NAME@ - - /* Define to the full name and version of this package. */ --#undef PACKAGE_STRING -+#cmakedefine PACKAGE_STRING @PACKAGE_STRING@ - - /* Define to the one symbol short name of this package. */ --#undef PACKAGE_TARNAME -+#cmakedefine PACKAGE_TARNAME @PACKAGE_TARNAME@ - - /* Define to the home page for this package. */ --#undef PACKAGE_URL -+#cmakedefine PACKAGE_URL @PACKAGE_URL@ - - /* Define to the version of this package. */ --#undef PACKAGE_VERSION -+#cmakedefine PACKAGE_VERSION @PACKAGE_VERSION@ - - /* Define to 1 if you have the ANSI C header files. */ --#undef STDC_HEADERS -+#cmakedefine STDC_HEADERS @STDC_HEADERS@ diff --git a/ports/gts/usage b/ports/gts/usage new file mode 100644 index 00000000000000..f3acd8605493f6 --- /dev/null +++ b/ports/gts/usage @@ -0,0 +1,5 @@ +gts can be imported via CMake FindPkgConfig module: + + find_package(PkgConfig REQUIRED) + pkg_check_modules(GTS gts REQUIRED IMPORTED_TARGET) + target_link_libraries(main PRIVATE PkgConfig::GTS) diff --git a/ports/gts/vcpkg.json b/ports/gts/vcpkg.json index 45de1e6a448c62..9c0cc818d75353 100644 --- a/ports/gts/vcpkg.json +++ b/ports/gts/vcpkg.json @@ -1,10 +1,15 @@ { "name": "gts", "version": "0.7.6", - "port-version": 4, - "description": "A Library intended to provide a set of useful functions to deal with 3D surfaces meshed with interconnected triangles", - "homepage": "https://github.com/finetjul/gts", + "port-version": 9, + "description": "3D surfaces meshed with interconnected triangles", + "homepage": "https://gts.sourceforge.net/", + "license": "LGPL-2.0-or-later", "dependencies": [ - "glib" + "glib", + { + "name": "vcpkg-cmake", + "host": true + } ] } diff --git a/ports/gtsam/build-fixes.patch b/ports/gtsam/build-fixes.patch new file mode 100644 index 00000000000000..70d9a323bdc1de --- /dev/null +++ b/ports/gtsam/build-fixes.patch @@ -0,0 +1,73 @@ +diff --git a/cmake/Config.cmake.in b/cmake/Config.cmake.in +index cc2a7df8f..e11de1815 100644 +--- a/cmake/Config.cmake.in ++++ b/cmake/Config.cmake.in +@@ -25,6 +25,14 @@ if(@GTSAM_USE_SYSTEM_EIGEN@) + find_dependency(Eigen3 REQUIRED) + endif() + ++if(@GTSAM_USE_SYSTEM_METIS@) ++find_dependency(metis REQUIRED) ++endif() ++ ++if(@GTSAM_USE_TBB@) ++find_dependency(TBB REQUIRED) ++endif() ++ + # Load exports + include(${OUR_CMAKE_DIR}/@PACKAGE_NAME@-exports.cmake) + +diff --git a/cmake/FindTBB.cmake b/cmake/FindTBB.cmake +index 0ecd4ca0e..725589a2d 100644 +--- a/cmake/FindTBB.cmake ++++ b/cmake/FindTBB.cmake +@@ -1,3 +1,4 @@ ++if(0) + # The MIT License (MIT) + # + # Copyright (c) 2015 Justus Calvin +@@ -321,3 +322,4 @@ if(NOT TBB_FOUND) + unset(TBB_DEFAULT_SEARCH_DIR) + + endif() ++endif() +\ No newline at end of file +diff --git a/cmake/HandleMetis.cmake b/cmake/HandleMetis.cmake +index 5cbec4ff5..10dbb53de 100644 +--- a/cmake/HandleMetis.cmake ++++ b/cmake/HandleMetis.cmake +@@ -13,10 +13,9 @@ option(GTSAM_USE_SYSTEM_METIS "Find and use system-installed libmetis. If 'off', + if(GTSAM_USE_SYSTEM_METIS) + # Debian package: libmetis-dev + +- find_path(METIS_INCLUDE_DIR metis.h REQUIRED) +- find_library(METIS_LIBRARY metis REQUIRED) ++ find_package(metis CONFIG REQUIRED) + +- if(METIS_INCLUDE_DIR AND METIS_LIBRARY) ++ if(metis_FOUND) + mark_as_advanced(METIS_INCLUDE_DIR) + mark_as_advanced(METIS_LIBRARY) + +@@ -27,7 +26,7 @@ if(GTSAM_USE_SYSTEM_METIS) + $ + $ + ) +- target_link_libraries(metis-gtsam-if INTERFACE ${METIS_LIBRARY}) ++ target_link_libraries(metis-gtsam-if INTERFACE ${METIS_LIBRARY} metis) + endif() + else() + # Bundled version: +diff --git a/cmake/HandleTBB.cmake b/cmake/HandleTBB.cmake +index fb944ba5b..393aeb345 100644 +--- a/cmake/HandleTBB.cmake ++++ b/cmake/HandleTBB.cmake +@@ -14,7 +14,7 @@ if (GTSAM_WITH_TBB) + endif() + # all definitions and link requisites will go via imported targets: + # tbb & tbbmalloc +- list(APPEND GTSAM_ADDITIONAL_LIBRARIES tbb tbbmalloc) ++ list(APPEND GTSAM_ADDITIONAL_LIBRARIES TBB::tbb TBB::tbbmalloc) + else() + set(GTSAM_USE_TBB 0) # This will go into config.h + endif() diff --git a/ports/gtsam/path-fixes.patch b/ports/gtsam/path-fixes.patch new file mode 100644 index 00000000000000..5fc9784e44fbc8 --- /dev/null +++ b/ports/gtsam/path-fixes.patch @@ -0,0 +1,33 @@ +diff --git a/cmake/Config.cmake.in b/cmake/Config.cmake.in +index e11de1815..a25a9883d 100644 +--- a/cmake/Config.cmake.in ++++ b/cmake/Config.cmake.in +@@ -4,13 +4,8 @@ + + # Compute paths + get_filename_component(OUR_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) +-if(EXISTS "${OUR_CMAKE_DIR}/CMakeCache.txt") +- # In build tree +- set(@PACKAGE_NAME@_INCLUDE_DIR @GTSAM_SOURCE_DIR@ CACHE PATH "@PACKAGE_NAME@ include directory") +-else() +- # Find installed library +- set(@PACKAGE_NAME@_INCLUDE_DIR "${OUR_CMAKE_DIR}/@CONF_REL_INCLUDE_DIR@" CACHE PATH "@PACKAGE_NAME@ include directory") +-endif() ++# Find installed library ++set(@PACKAGE_NAME@_INCLUDE_DIR "${OUR_CMAKE_DIR}/@CONF_REL_INCLUDE_DIR@" CACHE PATH "@PACKAGE_NAME@ include directory") + + # Find dependencies, required by cmake exported targets: + include(CMakeFindDependencyMacro) +diff --git a/gtsam/config.h.in b/gtsam/config.h.in +index d47329a62..60ca62931 100644 +--- a/gtsam/config.h.in ++++ b/gtsam/config.h.in +@@ -25,7 +25,7 @@ + #define GTSAM_VERSION_STRING "@GTSAM_VERSION_STRING@" + + // Paths to example datasets distributed with GTSAM +-#define GTSAM_SOURCE_TREE_DATASET_DIR "@GTSAM_SOURCE_DIR@/examples/Data" ++#define GTSAM_SOURCE_TREE_DATASET_DIR "" + #define GTSAM_INSTALLED_DATASET_DIR "@GTSAM_TOOLBOX_INSTALL_PATH@/gtsam_examples/Data" + + // Whether GTSAM is compiled to use quaternions for Rot3 (otherwise uses rotation matrices) diff --git a/ports/gtsam/portfile.cmake b/ports/gtsam/portfile.cmake new file mode 100644 index 00000000000000..e84697f6fb0caa --- /dev/null +++ b/ports/gtsam/portfile.cmake @@ -0,0 +1,39 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO borglab/gtsam + REF ${VERSION} + SHA512 c0e5de8d86ea8241b49449bd291999ec0d6530bc9943b213e7c650b0ab29894ab53636bd1a0ed82d9d9d148dfc399ebff28e108b060d2d2176b584823bd722cd + HEAD_REF develop + PATCHES + build-fixes.patch + path-fixes.patch +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DGTSAM_BUILD_TESTS=OFF + -DGTSAM_BUILD_EXAMPLES_ALWAYS=OFF + -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_INSTALL_CPPUNITLITE=OFF + -DGTSAM_BUILD_TYPE_POSTFIXES=OFF + -DCMAKE_CXX_STANDARD=11 # Boost v1.84.0 libraries require C++11 +) + +vcpkg_cmake_install() +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() +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE" "${SOURCE_PATH}/LICENSE.BSD") +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/gtsam/usage b/ports/gtsam/usage new file mode 100644 index 00000000000000..d184d35c0f3775 --- /dev/null +++ b/ports/gtsam/usage @@ -0,0 +1,4 @@ +The package gtsam is compatible with built-in CMake targets: + + find_package(GTSAM CONFIG REQUIRED) + target_link_libraries(main PRIVATE gtsam) diff --git a/ports/gtsam/vcpkg.json b/ports/gtsam/vcpkg.json new file mode 100644 index 00000000000000..54671f09578c88 --- /dev/null +++ b/ports/gtsam/vcpkg.json @@ -0,0 +1,33 @@ +{ + "name": "gtsam", + "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", + "dependencies": [ + "boost-assign", + "boost-bimap", + "boost-date-time", + "boost-filesystem", + "boost-format", + "boost-graph", + "boost-math", + "boost-program-options", + "boost-regex", + "boost-serialization", + "boost-system", + "boost-thread", + "boost-timer", + "eigen3", + "metis", + "tbb", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/guetzli/CMakeLists.txt b/ports/guetzli/CMakeLists.txt index d24b2326dccbc0..af5eea6c7c0089 100644 --- a/ports/guetzli/CMakeLists.txt +++ b/ports/guetzli/CMakeLists.txt @@ -17,6 +17,8 @@ list(REMOVE_ITEM guetzli_srcs "guetzli/guetzli.cc") add_library(guetzli_lib ${guetzli_srcs}) +target_compile_features(guetzli_lib PUBLIC cxx_std_11) + add_executable(guetzli guetzli/guetzli.cc) target_link_libraries(guetzli_lib ${butteraugli_library} ${PNG_LIBRARIES}) diff --git a/ports/guetzli/portfile.cmake b/ports/guetzli/portfile.cmake index d2260241845425..82873070132506 100644 --- a/ports/guetzli/portfile.cmake +++ b/ports/guetzli/portfile.cmake @@ -9,17 +9,16 @@ vcpkg_from_github( PATCHES butteraugli.patch ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON -DDISABLE_INSTALL_TOOLS=ON ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/guetzli) +vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/guetzli") -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/guetzli RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/guetzli" RENAME copyright) diff --git a/ports/guetzli/vcpkg.json b/ports/guetzli/vcpkg.json index 63228967765c94..05da33a62d31c8 100644 --- a/ports/guetzli/vcpkg.json +++ b/ports/guetzli/vcpkg.json @@ -1,11 +1,15 @@ { "name": "guetzli", - "version-string": "2020-09-14", - "port-version": 1, + "version-date": "2020-09-14", + "port-version": 2, "description": "Perceptual JPEG encoder", "homepage": "https://github.com/google/guetzli", "dependencies": [ "butteraugli", - "libpng" + "libpng", + { + "name": "vcpkg-cmake", + "host": true + } ] } diff --git a/ports/guile/portfile.cmake b/ports/guile/portfile.cmake new file mode 100644 index 00000000000000..7c207111d5a4ff --- /dev/null +++ b/ports/guile/portfile.cmake @@ -0,0 +1,38 @@ +vcpkg_download_distfile(GUILE_ARCHIVE + 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 + AUTOCONFIG + ) +vcpkg_install_make() +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +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`" 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`" IGNORE_UNCHANGED) +endforeach() +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin/guile-config" "${CURRENT_INSTALLED_DIR}" "`dirname $0`/../../..") + +file( + INSTALL "${GUILE_SOURCES}/COPYING.LESSER" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" + RENAME copyright + ) diff --git a/ports/guile/vcpkg.json b/ports/guile/vcpkg.json new file mode 100644 index 00000000000000..f1fe66619410ea --- /dev/null +++ b/ports/guile/vcpkg.json @@ -0,0 +1,26 @@ +{ + "name": "guile", + "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/", + "license": "LGPL-3.0-or-later", + "supports": "linux", + "dependencies": [ + "bdwgc", + { + "name": "gettext", + "host": true, + "features": [ + "tools" + ] + }, + "gmp", + { + "name": "gperf", + "host": true + }, + "libffi", + "libunistring" + ] +} diff --git a/ports/guilite/portfile.cmake b/ports/guilite/portfile.cmake index 70189fd6112238..ff509f9bcb0f0f 100644 --- a/ports/guilite/portfile.cmake +++ b/ports/guilite/portfile.cmake @@ -1,8 +1,9 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO "idea4good/GuiLite" - SHA512 "9132f854f2e0d517797a3b30458ac692b509cb5a2fea2bff606b6b84b60a5760311f488c77f2dc21e954a14378e8d803d555750f90d00d5655e216a2a0c83ce8" - REF "master" + REPO idea4good/GuiLite + REF 61d1bd94cbc35da74c0f3c40422a7d783c04d40b + SHA512 b428e9bfc62fabb4d23d4c39b78d521aa13eb52e571a5aaab7609a03bb88e6f2184587885cd4df950eb5f48dece2b8fbff2264f158251ed06c6a6415b9b59f1a + HEAD_REF master ) file(INSTALL "${SOURCE_PATH}/GuiLite.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include") diff --git a/ports/guilite/vcpkg.json b/ports/guilite/vcpkg.json index 6cbda897a3870a..630d5c6cd45d58 100644 --- a/ports/guilite/vcpkg.json +++ b/ports/guilite/vcpkg.json @@ -1,6 +1,7 @@ { "name": "guilite", - "version-date": "2021-07-31", + "version-date": "2022-05-05", "description": "The smallest header-only GUI library (4 KLOC) for all platforms.", - "homepage": "https://github.com/idea4good/GuiLite" + "homepage": "https://github.com/idea4good/GuiLite", + "license": "Apache-2.0" } diff --git a/ports/gul14/portfile.cmake b/ports/gul14/portfile.cmake new file mode 100644 index 00000000000000..911dc2696ab253 --- /dev/null +++ b/ports/gul14/portfile.cmake @@ -0,0 +1,24 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO gul-cpp/gul14 + REF v2.11.2 + SHA512 b18d0a26a5c53745b2a62d69ddb93f85bb4c9926c0a5f6c38374c150e8c3358e70d861c2870ab176689cef7d639466ce9277a3a3d25ea42fb359946489cc74ff + HEAD_REF main +) + +vcpkg_configure_meson( + SOURCE_PATH ${SOURCE_PATH} +) + +vcpkg_install_meson() + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") +endif() + +vcpkg_fixup_pkgconfig() + +vcpkg_copy_pdbs() + +# Install copyright file +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/license.txt") diff --git a/ports/gul14/vcpkg.json b/ports/gul14/vcpkg.json new file mode 100644 index 00000000000000..90d243a4eba940 --- /dev/null +++ b/ports/gul14/vcpkg.json @@ -0,0 +1,19 @@ +{ + "name": "gul14", + "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.", + "It provides basic functionality that is not available in the C++14 standard library, including some backports from later versions of the standard." + ], + "homepage": "https://github.desy.de/gul-cpp/gul14.git", + "documentation": "https://gul14.info", + "license": "LGPL-2.1-or-later", + "supports": "!uwp & !xbox", + "dependencies": [ + { + "name": "vcpkg-tool-meson", + "host": true + } + ] +} diff --git a/ports/gumbo/CMakeLists.txt b/ports/gumbo/CMakeLists.txt index 1c90f42bce5316..745a7ef576db41 100644 --- a/ports/gumbo/CMakeLists.txt +++ b/ports/gumbo/CMakeLists.txt @@ -2,6 +2,11 @@ cmake_minimum_required(VERSION 3.8.0) project(gumbo) +set(gumbo_public_headers + src/gumbo.h + src/tag_enum.h +) + set(gumbo_srcs src/attribute.c src/char_ref.c @@ -23,12 +28,29 @@ endif (MSVC) add_library(gumbo ${gumbo_srcs}) +set_target_properties(gumbo PROPERTIES + C_STANDARD 99 + PUBLIC_HEADER "${gumbo_public_headers}" +) + +target_include_directories(gumbo PUBLIC + $ + $ + $) + install( - TARGETS gumbo + TARGETS gumbo EXPORT unofficial-gumbo-config RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib + PUBLIC_HEADER DESTINATION include ) -if(NOT DISABLE_INSTALL_HEADERS) - install(FILES src/gumbo.h src/tag_enum.h DESTINATION include) -endif() + +install(EXPORT unofficial-gumbo-config + NAMESPACE unofficial::gumbo:: + DESTINATION share/unofficial-gumbo + ) +configure_file("${CMAKE_CURRENT_SOURCE_DIR}/gumbo.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/lib/pkgconfig/gumbo.pc" @ONLY) + +install(FILES "${CMAKE_CURRENT_BINARY_DIR}/lib/pkgconfig/gumbo.pc" DESTINATION "lib/pkgconfig") + diff --git a/ports/gumbo/portfile.cmake b/ports/gumbo/portfile.cmake index 55ece8267fbae3..20df402f03f21a 100644 --- a/ports/gumbo/portfile.cmake +++ b/ports/gumbo/portfile.cmake @@ -8,14 +8,21 @@ vcpkg_from_github( HEAD_REF master ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/gumbo RENAME copyright) +vcpkg_copy_pdbs() + +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-gumbo CONFIG_PATH share/unofficial-gumbo) + +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) diff --git a/ports/gumbo/vcpkg.json b/ports/gumbo/vcpkg.json index 650c5b6f385e30..39ad5a14416586 100644 --- a/ports/gumbo/vcpkg.json +++ b/ports/gumbo/vcpkg.json @@ -1,7 +1,18 @@ { "name": "gumbo", - "version-string": "0.10.1", - "port-version": 4, + "version": "0.10.1", + "port-version": 6, "description": "An HTML5 parsing library in pure C99", - "homepage": "https://github.com/google/gumbo-parser" + "homepage": "https://github.com/google/gumbo-parser", + "license": "Apache-2.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/gz-cmake3/dependencies.patch b/ports/gz-cmake3/dependencies.patch new file mode 100644 index 00000000000000..48d7c0e0a90f7b --- /dev/null +++ b/ports/gz-cmake3/dependencies.patch @@ -0,0 +1,213 @@ +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 new file mode 100644 index 00000000000000..c1665d6dd01292 --- /dev/null +++ b/ports/gz-cmake3/portfile.cmake @@ -0,0 +1,13 @@ +set(PACKAGE_NAME cmake) + +ignition_modular_library( + NAME ${PACKAGE_NAME} + REF ${PORT}_${VERSION} + VERSION ${VERSION} + SHA512 30cf5aa69674bdc1a99762fc45d134b99da5e2faf846749392697ae41463a5304a43022bb0c2ca1b373af4171135d686fdd736573fe6e1cc26dc2cecc8333e69 + PATCHES + dependencies.patch +) + +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/usage b/ports/gz-cmake3/usage new file mode 100644 index 00000000000000..58c1899f0db3f5 --- /dev/null +++ b/ports/gz-cmake3/usage @@ -0,0 +1,3 @@ +The package gz-cmake3 provides CMake integration: + + find_package(gz-cmake3 CONFIG REQUIRED) diff --git a/ports/gz-cmake3/vcpkg.json b/ports/gz-cmake3/vcpkg.json new file mode 100644 index 00000000000000..7877778e3ef477 --- /dev/null +++ b/ports/gz-cmake3/vcpkg.json @@ -0,0 +1,14 @@ +{ + "name": "gz-cmake3", + "version": "3.4.1", + "port-version": 5, + "description": "CMake helper functions for building robotic applications", + "homepage": "https://ignitionrobotics.org/libs/cmake", + "license": null, + "dependencies": [ + { + "name": "ignition-modularscripts", + "host": true + } + ] +} 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/gz_remotery_vis.patch b/ports/gz-common5/gz_remotery_vis.patch new file mode 100644 index 00000000000000..995338762229ca --- /dev/null +++ b/ports/gz-common5/gz_remotery_vis.patch @@ -0,0 +1,12 @@ +diff --git a/profiler/src/CMakeLists.txt b/profiler/src/CMakeLists.txt +--- a/profiler/src/CMakeLists.txt ++++ b/profiler/src/CMakeLists.txt +@@ -116,7 +116,7 @@ + install(PROGRAMS + ${CMAKE_CURRENT_BINARY_DIR}/gz_remotery_vis +- DESTINATION ${GZ_PROFILER_SCRIPT_PATH}) ++ DESTINATION ${CMAKE_INSTALL_PREFIX}/tools/gz-common${PROJECT_VERSION_MAJOR}) + + install(DIRECTORY Remotery/vis/ + DESTINATION ${GZ_PROFILER_VIS_PATH}) + endif() diff --git a/ports/gz-common5/portfile.cmake b/ports/gz-common5/portfile.cmake new file mode 100644 index 00000000000000..a8b2e1132f0d51 --- /dev/null +++ b/ports/gz-common5/portfile.cmake @@ -0,0 +1,26 @@ +set(PACKAGE_NAME common) + +ignition_modular_library( + NAME ${PACKAGE_NAME} + REF ${PORT}_${VERSION} + 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 + gz_remotery_vis.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/vcpkg.json b/ports/gz-common5/vcpkg.json new file mode 100644 index 00000000000000..d2c94556ae489d --- /dev/null +++ b/ports/gz-common5/vcpkg.json @@ -0,0 +1,35 @@ +{ + "name": "gz-common5", + "version": "5.4.1", + "port-version": 2, + "description": "Common libraries for robotics applications", + "homepage": "https://ignitionrobotics.org/libs/common", + "license": "Apache-2.0", + "dependencies": [ + "assimp", + { + "name": "dlfcn-win32", + "platform": "windows | uwp" + }, + "ffmpeg", + "freeimage", + "gdal", + "gts", + "gz-cmake3", + "gz-math7", + { + "name": "ignition-modularscripts", + "host": true + }, + { + "name": "libuuid", + "platform": "!windows & !osx" + }, + { + "name": "pkgconf", + "host": true, + "default-features": false + }, + "tinyxml2" + ] +} diff --git a/ports/gz-fuel-tools8/portfile.cmake b/ports/gz-fuel-tools8/portfile.cmake new file mode 100644 index 00000000000000..cce4c10294bbe7 --- /dev/null +++ b/ports/gz-fuel-tools8/portfile.cmake @@ -0,0 +1,11 @@ +set(PACKAGE_NAME fuel-tools) + +ignition_modular_library( + NAME ${PACKAGE_NAME} + REF ${PORT}_${VERSION} + VERSION ${VERSION} + SHA512 6a31719441c7ea835007d82b6aea99b10fa124ebad71683b8c1c58c41b435d4801e016464dc30d760cc9464e642dab4ff910375f5244ebf7c565845174e65cbf + OPTIONS + PATCHES + remove_docs.patch +) diff --git a/ports/gz-fuel-tools8/remove_docs.patch b/ports/gz-fuel-tools8/remove_docs.patch new file mode 100644 index 00000000000000..b8c3293e11db36 --- /dev/null +++ b/ports/gz-fuel-tools8/remove_docs.patch @@ -0,0 +1,22 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -79,6 +79,8 @@ + ++if(0) + #============================================================================ + # gz command line support + #============================================================================ + add_subdirectory(conf) ++endif(0) + +@@ -95,7 +95,9 @@ + ++if(0) + gz_create_docs( + API_MAINPAGE_MD "${CMAKE_BINARY_DIR}/api.md" + TUTORIALS_MAINPAGE_MD "${CMAKE_BINARY_DIR}/tutorials.md" + TAGFILES + "${GZ-COMMON_DOXYGEN_TAGFILE} = ${GZ-COMMON_API_URL}" + ) ++endif(0) diff --git a/ports/gz-fuel-tools8/vcpkg.json b/ports/gz-fuel-tools8/vcpkg.json new file mode 100644 index 00000000000000..f36144596da374 --- /dev/null +++ b/ports/gz-fuel-tools8/vcpkg.json @@ -0,0 +1,21 @@ +{ + "name": "gz-fuel-tools8", + "version": "8.1.0", + "description": "Tools for using fuel API to download robot models", + "homepage": "https://gazebosim.org/libs/fuel_tools", + "license": null, + "dependencies": [ + "curl", + "gz-cmake3", + "gz-common5", + "gz-msgs9", + { + "name": "ignition-modularscripts", + "host": true + }, + "jsoncpp", + "libyaml", + "libzip", + "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-math7/portfile.cmake b/ports/gz-math7/portfile.cmake new file mode 100644 index 00000000000000..3891614c7c1eec --- /dev/null +++ b/ports/gz-math7/portfile.cmake @@ -0,0 +1,12 @@ +set(PACKAGE_NAME math) + +ignition_modular_library( + NAME "${PACKAGE_NAME}" + REF "${PORT}_${VERSION}" + VERSION "${VERSION}" + SHA512 6d6e7c298f927110060882457f4ea379292f013b577f83a3a6f1fd68fc9cd7ea0bbef82cc0b9279373ab7af6e66f6ea2d8995669fa7d6d1fff13f8b8c857a6ed + OPTIONS + -DSKIP_SWIG=ON + -DSKIP_PYBIND11=ON + -DBUILD_DOCS=OFF +) diff --git a/ports/gz-math7/vcpkg.json b/ports/gz-math7/vcpkg.json new file mode 100644 index 00000000000000..762e221fb5974b --- /dev/null +++ b/ports/gz-math7/vcpkg.json @@ -0,0 +1,16 @@ +{ + "name": "gz-math7", + "version": "7.3.0", + "description": "Math API for robotic applications", + "homepage": "https://ignitionrobotics.org/libs/math", + "license": null, + "dependencies": [ + "eigen3", + "gz-cmake3", + "gz-utils2", + { + "name": "ignition-modularscripts", + "host": true + } + ] +} diff --git a/ports/gz-msgs9/portfile.cmake b/ports/gz-msgs9/portfile.cmake new file mode 100644 index 00000000000000..c01438d2475c49 --- /dev/null +++ b/ports/gz-msgs9/portfile.cmake @@ -0,0 +1,15 @@ +set(PACKAGE_NAME msgs) + +vcpkg_find_acquire_program(PYTHON3) +get_filename_component(PYTHON3_DIR "${PYTHON3}" DIRECTORY) +vcpkg_add_to_path("${PYTHON3_DIR}") + +ignition_modular_library( + NAME ${PACKAGE_NAME} + REF ${PORT}_${VERSION} + VERSION ${VERSION} + SHA512 669e60fc35868e4d86695104a58aecaef9ad08861cba97ff91c7306caf66ec237da46c0a13f5f59907371fc7a4dd56d5506fabe4ba97c393889fc5a9c2a101ee + OPTIONS + PATCHES + remove_ruby.patch +) diff --git a/ports/gz-msgs9/remove_ruby.patch b/ports/gz-msgs9/remove_ruby.patch new file mode 100644 index 00000000000000..d6b7634123346e --- /dev/null +++ b/ports/gz-msgs9/remove_ruby.patch @@ -0,0 +1,17 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -102,5 +102,5 @@ +- if(gz_msgs_protoc_GENERATE_RUBY) ++ if(0) + file(MAKE_DIRECTORY ${gz_msgs_protoc_OUTPUT_RUBY_DIR}) + set(output_ruby "${gz_msgs_protoc_OUTPUT_RUBY_DIR}${proto_package_dir}/${FIL_WE}_pb.rb") + list(APPEND ${gz_msgs_protoc_OUTPUT_RUBY_VAR} ${output_ruby}) + list(APPEND output_files ${output_ruby}) +@@ -126,5 +126,5 @@ +- if(${gz_msgs_protoc_GENERATE_RUBY}) ++ if(0) + list(APPEND GENERATE_ARGS + --generate-ruby + --output-ruby-path "${gz_msgs_protoc_OUTPUT_RUBY_DIR}") + endif() diff --git a/ports/gz-msgs9/vcpkg.json b/ports/gz-msgs9/vcpkg.json new file mode 100644 index 00000000000000..d854172cdfc4d7 --- /dev/null +++ b/ports/gz-msgs9/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "gz-msgs9", + "version": "9.5.0", + "description": "Middleware protobuf messages for robotics", + "license": "Apache-2.0", + "supports": "!(android | arm | uwp)", + "dependencies": [ + "gz-cmake3", + "gz-math7", + { + "name": "ignition-modularscripts", + "host": true + }, + "protobuf", + "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-plugin2/portfile.cmake b/ports/gz-plugin2/portfile.cmake new file mode 100644 index 00000000000000..58d3f6950d3616 --- /dev/null +++ b/ports/gz-plugin2/portfile.cmake @@ -0,0 +1,10 @@ +set(PACKAGE_NAME plugin) + +ignition_modular_library( + NAME ${PACKAGE_NAME} + REF ${PORT}_${VERSION} + VERSION ${VERSION} + SHA512 4c497291f8e33aae3a5752607a7fd7b48912e209f0f424ea7b1e6d35f27d1e920d1dd97ee64b7b3846d7d433618742be5d19352cbce8f6f63eccc83a086520ea + OPTIONS + PATCHES +) diff --git a/ports/gz-plugin2/vcpkg.json b/ports/gz-plugin2/vcpkg.json new file mode 100644 index 00000000000000..cf363c0f10c72a --- /dev/null +++ b/ports/gz-plugin2/vcpkg.json @@ -0,0 +1,20 @@ +{ + "name": "gz-plugin2", + "version": "2.0.1", + "description": "Library for registering plugin libraries and dynamically loading them at runtime", + "homepage": "https://ignitionrobotics.org/libs/plugin", + "license": null, + "supports": "!arm & !android", + "dependencies": [ + { + "name": "dlfcn-win32", + "platform": "windows | uwp" + }, + "gz-cmake3", + "gz-utils2", + { + "name": "ignition-modularscripts", + "host": true + } + ] +} 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-tools2/portfile.cmake b/ports/gz-tools2/portfile.cmake new file mode 100644 index 00000000000000..3b47a0ad5e99cd --- /dev/null +++ b/ports/gz-tools2/portfile.cmake @@ -0,0 +1,13 @@ +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) +set(PACKAGE_NAME tools) + +ignition_modular_library(NAME ${PACKAGE_NAME} + REF ${PORT}_${VERSION} + VERSION ${VERSION} + SHA512 1b89048d09821db5a902758e133e6e73052941fdb9838daed5540267ef9203512170a031cf94a29564cac15133489609e83e965f31f930f7d7be477a8d9c2667 + PATCHES + ) + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") +endif() diff --git a/ports/gz-tools2/vcpkg.json b/ports/gz-tools2/vcpkg.json new file mode 100644 index 00000000000000..aaed20b351f143 --- /dev/null +++ b/ports/gz-tools2/vcpkg.json @@ -0,0 +1,16 @@ +{ + "name": "gz-tools2", + "version": "2.0.0", + "port-version": 1, + "description": "Gazebo tools provide the ign command line tool that accepts multiple subcommands.", + "homepage": "https://gazebosim.org", + "license": "Apache-2.0", + "supports": "!(arm & windows) & !uwp", + "dependencies": [ + "gz-cmake3", + { + "name": "ignition-modularscripts", + "host": true + } + ] +} diff --git a/ports/gz-transport12/portfile.cmake b/ports/gz-transport12/portfile.cmake new file mode 100644 index 00000000000000..0a9c99f0726cc6 --- /dev/null +++ b/ports/gz-transport12/portfile.cmake @@ -0,0 +1,11 @@ +set(PACKAGE_NAME transport) + +ignition_modular_library( + NAME ${PACKAGE_NAME} + REF ${PORT}_${VERSION} + VERSION ${VERSION} + SHA512 734d4c2eccf42a3a5a665611c44ccb450bf290763bcf8dc169b16c0c5c5c7d7be6b3cb69c69a5ef64a502b411fdb1461f036c660d8d9188146e61cf8f4beead8 + OPTIONS + PATCHES + uuid-osx.patch +) diff --git a/ports/gz-transport12/uuid-osx.patch b/ports/gz-transport12/uuid-osx.patch new file mode 100644 index 00000000000000..97af930960c91d --- /dev/null +++ b/ports/gz-transport12/uuid-osx.patch @@ -0,0 +1,28 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -72,8 +72,10 @@ + #-------------------------------------- + # Find uuid + if (MSVC) + message (STATUS "UUID: Using Windows RPC UuidCreate function\n") ++elseif (APPLE) ++ message (STATUS "Use system uuid header") + else() + gz_find_package(UUID REQUIRED) + endif() + +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -20,9 +20,9 @@ + $ + $) + + # Windows system library provides UUID +-if (NOT MSVC) ++if (NOT MSVC AND NOT APPLE) + target_link_libraries(${PROJECT_LIBRARY_TARGET_NAME} + PUBLIC + UUID::UUID + ) diff --git a/ports/gz-transport12/vcpkg.json b/ports/gz-transport12/vcpkg.json new file mode 100644 index 00000000000000..639e493fe76a5b --- /dev/null +++ b/ports/gz-transport12/vcpkg.json @@ -0,0 +1,22 @@ +{ + "name": "gz-transport12", + "version": "12.2.1", + "description": "Transport middleware for robotics", + "license": null, + "dependencies": [ + "cppzmq", + "gz-cmake3", + "gz-msgs9", + { + "name": "ignition-modularscripts", + "host": true + }, + { + "name": "libuuid", + "platform": "!windows & !uwp & !osx" + }, + "protobuf", + "sqlite3", + "zeromq" + ] +} diff --git a/ports/gz-utils2/portfile.cmake b/ports/gz-utils2/portfile.cmake new file mode 100644 index 00000000000000..8f3eef2e90a0cd --- /dev/null +++ b/ports/gz-utils2/portfile.cmake @@ -0,0 +1,8 @@ +set(PACKAGE_NAME utils) + +ignition_modular_library(NAME ${PACKAGE_NAME} + REF ${PORT}_${VERSION} + VERSION ${VERSION} + SHA512 2e896e7106591a427fd5a732ba7dbfb329a3c0ec70601f5bf9b2390907e37b41837fd06696f4a93fb4ccc16a94a0221e4734e59f9fb1c7e5a016a076800d8214 + PATCHES + ) diff --git a/ports/gz-utils2/vcpkg.json b/ports/gz-utils2/vcpkg.json new file mode 100644 index 00000000000000..d546673ffc3b18 --- /dev/null +++ b/ports/gz-utils2/vcpkg.json @@ -0,0 +1,14 @@ +{ + "name": "gz-utils2", + "version": "2.0.0", + "description": "Ignition Utils, a component of Ignition Robotics, provides general purpose classes and functions designed for robotic applications.", + "homepage": "https://gazebosim.org", + "license": "Apache-2.0", + "dependencies": [ + "gz-cmake3", + { + "name": "ignition-modularscripts", + "host": true + } + ] +} diff --git a/ports/gzip-hpp/vcpkg.json b/ports/gzip-hpp/vcpkg.json index 96cb8d6f073b10..792eb14b7b3e11 100644 --- a/ports/gzip-hpp/vcpkg.json +++ b/ports/gzip-hpp/vcpkg.json @@ -1,7 +1,7 @@ { "name": "gzip-hpp", - "version-string": "0.1.0", - "port-version": 1, + "version": "0.1.0", + "port-version": 2, "description": "Gzip header-only C++ library", "homepage": "https://github.com/mapbox/gzip-hpp/", "dependencies": [ diff --git a/ports/h3/portfile.cmake b/ports/h3/portfile.cmake index 880bcb98fc3990..132328a1edc3a1 100644 --- a/ports/h3/portfile.cmake +++ b/ports/h3/portfile.cmake @@ -1,11 +1,10 @@ -vcpkg_fail_port_install(ON_TARGET "UWP") vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO uber/h3 - REF 26a6409156ba8539b2b332f799486572f1f8bab2 #v3.6.3 - SHA512 ee3450a5720951254fcdd9bb3acc4b33ed4a58c214e1ed8a091791674b57f0a48de76f0483b31b0b2ad9c316af6a5fcb0c3b72428b8f6380d6b6f717aaed73d7 + REF v4.1.0 + SHA512 4f640cbe8061acdacf71e517c0f90f0f89b06bbdb265cb53f2b96c9fa91ba5488f726e9d9f0547615fb9355a7fe602fad237015d0d71aaf2551066690c0b5942 HEAD_REF master ) @@ -13,8 +12,10 @@ vcpkg_cmake_configure( SOURCE_PATH ${SOURCE_PATH} OPTIONS -DBUILD_BENCHMARKS=OFF + -DBUILD_FUZZERS=OFF -DBUILD_FILTERS=OFF -DBUILD_GENERATORS=OFF + -DBUILD_TESTING=OFF ) vcpkg_cmake_install() @@ -25,4 +26,4 @@ vcpkg_copy_pdbs() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin" "${CURRENT_PACKAGES_DIR}/debug/include") -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/h3/vcpkg.json b/ports/h3/vcpkg.json index 6e1c8ebeec31f4..20b0db76a62e8c 100644 --- a/ports/h3/vcpkg.json +++ b/ports/h3/vcpkg.json @@ -1,8 +1,9 @@ { "name": "h3", - "version-semver": "3.7.2", + "version-semver": "4.1.0", "description": "A Hexagonal Hierarchical Geospatial Indexing System", "homepage": "https://github.com/uber/h3", + "license": "Apache-2.0", "supports": "!uwp", "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 71b4709b8627ff..085b8b2c3179d0 100644 --- a/ports/h5py-lzf/portfile.cmake +++ b/ports/h5py-lzf/portfile.cmake @@ -1,34 +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 a6555f787e110b29af654ba6c350169c44ac8d2d + SHA512 1d601b499a6ccdcc5dd473b235d915b85501476ca3e9343d6f6f624a8eeb5acbeced227ec552a12936451a438d0c1f25c1d974549e80aaa724646b5bdb9ae20c 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) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}/lzf") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH}/lzf - PREFER_NINJA - OPTIONS - -Dlink_hdf5_SHARED=${link_hdf5_SHARED} +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/lzf" ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(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) +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 eb203ee5fdd13c..484e42b0d1bbb0 100644 --- a/ports/h5py-lzf/vcpkg.json +++ b/ports/h5py-lzf/vcpkg.json @@ -1,10 +1,22 @@ { "name": "h5py-lzf", - "version-string": "2019-12-04", - "port-version": 1, - "description": "The LZF filter is an alternative DEFLATE-style compressor for HDF5 datasets, using the free LZF library by Marc Alexander Lehmann.", + "version-date": "2022-05-24", + "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 + }, + { + "name": "vcpkg-cmake-config", + "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 486726c289e395..990096e1f58e32 100644 --- a/ports/halide/portfile.cmake +++ b/ports/halide/portfile.cmake @@ -3,9 +3,9 @@ vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO halide/Halide - REF 5dabcaa9effca1067f907f6c8ea212f3d2b1d99a # v12.0.1 - SHA512 5ab44703850885561337e23d8b538a5adfe1611e24e8daa4a1313756b4f9dfeb54e89bf8400d46a3340c00234402681b4f44ba3ed5322027fd6cb5dfbd525acd - HEAD_REF release/12.x + REF "${VERSION}" + SHA512 286cbef25b5cc0f5095cbc80a2fd1cacf369948c58c14406ac6bcc28a7a37c81417d601975083f03670e22276a1886b8801bdc91aa6fe80049a276a1c8fd08b9 + HEAD_REF main ) vcpkg_check_features( @@ -15,44 +15,41 @@ vcpkg_check_features( target-amdgpu TARGET_AMDGPU target-arm TARGET_ARM target-d3d12compute TARGET_D3D12COMPUTE + target-opengl-compute TARGET_OPENGLCOMPUTE target-hexagon TARGET_HEXAGON target-metal TARGET_METAL - target-mips TARGET_MIPS target-nvptx TARGET_NVPTX target-opencl TARGET_OPENCL target-powerpc TARGET_POWERPC target-riscv TARGET_RISCV + target-webassembly TARGET_WEBASSEMBLY target-x86 TARGET_X86 ) vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${FEATURE_OPTIONS} - -DWITH_DOCS=NO - -DWITH_PYTHON_BINDINGS=NO - -DWITH_TESTS=NO - -DWITH_TUTORIALS=NO - -DWITH_UTILS=NO + -DWITH_WABT=OFF + -DWITH_V8=OFF + -DWITH_DOCS=OFF + -DWITH_PYTHON_BINDINGS=OFF + -DWITH_TESTS=OFF + -DWITH_TUTORIALS=OFF + -DWITH_UTILS=OFF + -DWITH_SERIALIZATION=OFF # Disable experimental serializer -DCMAKE_INSTALL_LIBDIR=bin - -DCMAKE_INSTALL_DATADIR=share/${PORT} - -DHalide_INSTALL_CMAKEDIR=share/${PORT} + "-DCMAKE_INSTALL_DATADIR=share/${PORT}" + "-DHalide_INSTALL_CMAKEDIR=share/${PORT}" -DHalide_INSTALL_HELPERSDIR=share/HalideHelpers -DHalide_INSTALL_PLUGINDIR=bin + -DCMAKE_DISABLE_FIND_PACKAGE_PNG=TRUE + -DCMAKE_DISABLE_FIND_PACKAGE_JPEG=JPEG ) # ADD_BIN_TO_PATH needed to compile autoschedulers, # which use Halide.dll (and deps) during the build. vcpkg_cmake_install(ADD_BIN_TO_PATH) -vcpkg_copy_tools( - TOOL_NAMES - featurization_to_sample - get_host_target - retrain_cost_model - weightsdir_to_weightsfile - AUTO_CLEAN -) - # Release mode MODULE targets in CMake don't get PDBs. # Exclude those to avoid warning with default globs. vcpkg_copy_pdbs( @@ -64,12 +61,8 @@ vcpkg_copy_pdbs( vcpkg_cmake_config_fixup() vcpkg_cmake_config_fixup(PACKAGE_NAME HalideHelpers) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/tutorial) - -file(GLOB readmes "${CURRENT_PACKAGES_DIR}/share/${PORT}/*.md") -file(REMOVE ${readmes}) +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) -configure_file(${CMAKE_CURRENT_LIST_DIR}/usage ${CURRENT_PACKAGES_DIR}/share/${PORT}/usage COPYONLY) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") +configure_file("${CMAKE_CURRENT_LIST_DIR}/usage.in" "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" @ONLY) diff --git a/ports/halide/usage b/ports/halide/usage deleted file mode 100644 index 591e497db458ef..00000000000000 --- a/ports/halide/usage +++ /dev/null @@ -1,14 +0,0 @@ -The package halide provides CMake targets: - - find_package(Halide REQUIRED) - - # JIT mode: - target_link_libraries(main PRIVATE Halide::Halide) - - # AOT mode: - target_link_libraries(gen PRIVATE Halide::Generator) - add_halide_library(filter FROM gen) - target_link_libraries(main PRIVATE filter) - -For more information see: - https://github.com/halide/Halide/blob/v12.0.1/README_cmake.md diff --git a/ports/halide/usage.in b/ports/halide/usage.in new file mode 100644 index 00000000000000..70cb98bd390f0a --- /dev/null +++ b/ports/halide/usage.in @@ -0,0 +1,27 @@ +The package halide provides CMake targets: + + set(CMAKE_CXX_STANDARD 17) + set(CMAKE_CXX_STANDARD_REQUIRED YES) + set(CMAKE_CXX_EXTENSIONS NO) + + find_package(Halide REQUIRED) + + # JIT mode: + add_executable(my_halide_app main.cpp) + target_link_libraries(my_halide_app PRIVATE Halide::Halide) + + # AOT mode: + add_executable(my_generators my_generators.cpp) + target_link_libraries(my_generators PRIVATE Halide::Generator) + add_halide_library(my_first_generator FROM my_generators) + add_halide_library(my_second_generator FROM my_generators + PARAMS parallel=false scale=3.0 rotation=ccw output.type=uint16) + add_halide_library(my_second_generator_2 FROM my_generators + GENERATOR my_second_generator + PARAMS scale=9.0 rotation=ccw output.type=float32) + add_halide_library(my_second_generator_3 FROM my_generators + GENERATOR my_second_generator + PARAMS parallel=false output.type=float64) + +For more information see: + https://github.com/halide/Halide/blob/@HALIDE_VERSION_TAG@/README_cmake.md diff --git a/ports/halide/vcpkg.json b/ports/halide/vcpkg.json index baa99449ae8893..1c9d6470c1fd85 100644 --- a/ports/halide/vcpkg.json +++ b/ports/halide/vcpkg.json @@ -1,13 +1,45 @@ { "name": "halide", - "version": "12.0.1", - "port-version": 1, + "version": "18.0.0", "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", + "license": "MIT", "supports": "!uwp", "dependencies": [ + { + "name": "halide", + "default-features": false, + "features": [ + "target-arm" + ], + "platform": "arm32" + }, + { + "name": "halide", + "default-features": false, + "features": [ + "target-aarch64" + ], + "platform": "arm64" + }, + { + "name": "halide", + "default-features": false, + "features": [ + "target-x86" + ], + "platform": "x86 | x64" + }, + { + "name": "halide", + "features": [ + "target-all" + ], + "platform": "!x86 & !x64 & !arm" + }, { "name": "llvm", + "default-features": false, "features": [ "clang", "enable-rtti", @@ -23,46 +55,7 @@ "host": true } ], - "default-features": [ - "jit" - ], "features": { - "jit": { - "description": "Include targets required for jit compilation", - "dependencies": [ - { - "name": "halide", - "default-features": false, - "features": [ - "target-aarch64" - ], - "platform": "arm64" - }, - { - "name": "halide", - "default-features": false, - "features": [ - "target-x86" - ], - "platform": "x86 | x64" - }, - { - "name": "halide", - "default-features": false, - "features": [ - "target-arm" - ], - "platform": "arm & !arm64" - }, - { - "name": "halide", - "features": [ - "target-all" - ], - "platform": "!x86 & !x64 & !arm & !arm64" - } - ] - }, "target-aarch64": { "description": "Include AArch64 target", "dependencies": [ @@ -88,11 +81,12 @@ "target-d3d12compute", "target-hexagon", "target-metal", - "target-mips", "target-nvptx", "target-opencl", + "target-opengl-compute", "target-powerpc", "target-riscv", + "target-webassembly", "target-x86" ] } @@ -140,18 +134,6 @@ "target-metal": { "description": "Include Metal target" }, - "target-mips": { - "description": "Include Mips target", - "dependencies": [ - { - "name": "llvm", - "default-features": false, - "features": [ - "target-mips" - ] - } - ] - }, "target-nvptx": { "description": "Include NVPTX target", "dependencies": [ @@ -167,6 +149,9 @@ "target-opencl": { "description": "Include OpenCL-C target" }, + "target-opengl-compute": { + "description": "Include OpenGL Compute target" + }, "target-powerpc": { "description": "Include PowerPC target", "dependencies": [ @@ -191,6 +176,18 @@ } ] }, + "target-webassembly": { + "description": "Include WebAssembly target", + "dependencies": [ + { + "name": "llvm", + "default-features": false, + "features": [ + "target-webassembly" + ] + } + ] + }, "target-x86": { "description": "Include X86 target", "dependencies": [ diff --git a/ports/hareflow/portfile.cmake b/ports/hareflow/portfile.cmake new file mode 100644 index 00000000000000..5a2f39a6b375df --- /dev/null +++ b/ports/hareflow/portfile.cmake @@ -0,0 +1,25 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO coveooss/hareflow + REF "v${VERSION}" + SHA512 96138675a37e381db97d963b339ab2d6472573d0e1d215bb485141d1a92be0c9658db1abb849d6e7849b396e9a877e5f0ed2ce332b68b44b7dda21536733158a + HEAD_REF main +) + +if(VCPKG_TARGET_IS_OSX OR VCPKG_TARGET_IS_IOS) + set(rpath "@loader_path") +else() + set(rpath "\$ORIGIN") +endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + "-DCMAKE_INSTALL_RPATH=${rpath}" +) +vcpkg_cmake_install() + +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 new file mode 100644 index 00000000000000..18760fa877a339 --- /dev/null +++ b/ports/hareflow/vcpkg.json @@ -0,0 +1,42 @@ +{ + "name": "hareflow", + "version-semver": "0.1.1", + "description": "Hareflow: A RabbitMQ C++ stream client.", + "homepage": "https://github.com/coveooss/hareflow", + "license": "Apache-2.0", + "dependencies": [ + { + "name": "boost-asio", + "features": [ + "ssl" + ], + "version>=": "1.78.0" + }, + { + "name": "boost-endian", + "version>=": "1.78.0" + }, + { + "name": "fmt", + "version>=": "8.0.1" + }, + { + "name": "openssl", + "version>=": "3.0.2#3" + }, + { + "name": "qpid-proton", + "version>=": "0.37.0#2" + }, + { + "name": "vcpkg-cmake", + "host": true, + "version>=": "2021-02-28" + }, + { + "name": "vcpkg-cmake-config", + "host": true, + "version>=": "2021-02-26" + } + ] +} diff --git a/ports/harfbuzz/0001-circumvent-samefile-error.patch b/ports/harfbuzz/0001-circumvent-samefile-error.patch deleted file mode 100755 index 40aaac0b4d2d68..00000000000000 --- a/ports/harfbuzz/0001-circumvent-samefile-error.patch +++ /dev/null @@ -1,42 +0,0 @@ -diff --git a/src/gen-harfbuzzcc.py b/src/gen-harfbuzzcc.py -index b25bcc7..f3bc87a 100644 ---- a/src/gen-harfbuzzcc.py -+++ b/src/gen-harfbuzzcc.py -@@ -15,4 +15,8 @@ with open (OUTPUT, "wb") as f: - f.write ("".join ('#include "{}"\n'.format (os.path.basename (x)) for x in sources if x.endswith (".cc")).encode ()) - - # copy it also to src/ --shutil.copyfile (OUTPUT, os.path.join (CURRENT_SOURCE_DIR, os.path.basename (OUTPUT))) -+src = OUTPUT -+dst = os.path.join (CURRENT_SOURCE_DIR, os.path.basename (OUTPUT)) -+# Avoid SameFileError -+if not os.path.samefile(src, dst): -+ shutil.copyfile (src, dst) -diff --git a/src/gen-hb-version.py b/src/gen-hb-version.py -index 879811f..c376721 100644 ---- a/src/gen-hb-version.py -+++ b/src/gen-hb-version.py -@@ -33,4 +33,8 @@ with open (INPUT, "r", encoding='utf-8') as template: - .encode ()) - - # copy it also to src/ --shutil.copyfile (OUTPUT, os.path.join (CURRENT_SOURCE_DIR, os.path.basename (OUTPUT))) -+src = OUTPUT -+dst = os.path.join(CURRENT_SOURCE_DIR, os.path.basename (OUTPUT)) -+# Avoid SameFileError if src and dst is the same -+if not os.path.samefile(src, dst): -+ shutil.copyfile (src, dst) -diff --git a/src/gen-ragel-artifacts.py b/src/gen-ragel-artifacts.py -index d22e03a..2b1e819 100644 ---- a/src/gen-ragel-artifacts.py -+++ b/src/gen-ragel-artifacts.py -@@ -22,4 +22,8 @@ hh = rl.replace ('.rl', '.hh') - subprocess.Popen (ragel.split() + ['-e', '-F1', '-o', hh, rl], cwd=outdir).wait () - - # copy it also to src/ --shutil.copyfile (os.path.join (outdir, hh), os.path.join (CURRENT_SOURCE_DIR, hh)) -+src = os.path.join (outdir, hh) -+dst = os.path.join (CURRENT_SOURCE_DIR, hh) -+# Avoid SameFileError -+if not os.path.samefile(src, dst): -+ shutil.copyfile (src, dst) diff --git a/ports/harfbuzz/0002-fix-uwp-build.patch b/ports/harfbuzz/0002-fix-uwp-build.patch deleted file mode 100644 index beb5ce750e405a..00000000000000 --- a/ports/harfbuzz/0002-fix-uwp-build.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/src/hb-ft.cc b/src/hb-ft.cc -index 1900f30..add9917 100644 ---- a/src/hb-ft.cc -+++ b/src/hb-ft.cc -@@ -31,6 +31,10 @@ - - #include "hb-ft.h" - -+#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY != WINAPI_FAMILY_DESKTOP_APP) -+#define generic GenericFromFreeTypeLibrary -+#endif -+ - #include "hb-font.hh" - #include "hb-machinery.hh" - #include "hb-cache.hh" diff --git a/ports/harfbuzz/fix-win32-build.patch b/ports/harfbuzz/fix-win32-build.patch new file mode 100644 index 00000000000000..f8551e3aff1c4a --- /dev/null +++ b/ports/harfbuzz/fix-win32-build.patch @@ -0,0 +1,26 @@ +diff --git a/src/meson.build b/src/meson.build +index 87e8962..bdfa797 100644 +--- a/src/meson.build ++++ b/src/meson.build +@@ -387,6 +387,11 @@ hb_subset_sources = files( + 'hb-subset.hh', + ) + ++extra_hb_cpp_args = [] ++if cpp.get_argument_syntax() == 'msvc' ++ extra_hb_cpp_args += ['/bigobj'] ++endif ++ + hb_subset_headers = files( + 'hb-subset.h', + 'hb-subset-repacker.h' +@@ -559,8 +564,7 @@ defs_list = [harfbuzz_def] + + version = '0.@0@.0'.format(hb_version_int) + +-extra_hb_cpp_args = [] +-if cpp.get_define('_MSC_FULL_VER') != '' ++if cpp.get_argument_syntax() == 'msvc' + if get_option('default_library') != 'static' + extra_hb_cpp_args += '-DHB_DLL_EXPORT' + endif diff --git a/ports/harfbuzz/harfbuzzConfig.cmake.in b/ports/harfbuzz/harfbuzzConfig.cmake.in index a142735cf2a927..88baeefb13da50 100644 --- a/ports/harfbuzz/harfbuzzConfig.cmake.in +++ b/ports/harfbuzz/harfbuzzConfig.cmake.in @@ -1,61 +1,102 @@ # For old projects where the minimum CMake version is lower than 3.3. +cmake_policy(SET CMP0012 NEW) +cmake_policy(SET CMP0054 NEW) cmake_policy(SET CMP0057 NEW) +include(CMakeFindDependencyMacro) + +# Traditional find module variables (vcpkg polyfill) +set(HARFBUZZ_INCLUDE_DIR "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include/harfbuzz" CACHE INTERNAL "") +set(HARFBUZZ_INCLUDE_DIRS "${HARFBUZZ_INCLUDE_DIR}") +set(HARFBUZZ_LIBRARY harfbuzz::harfbuzz CACHE INTERNAL "") +set(HARFBUZZ_LIBRARIES harfbuzz::harfbuzz) + if(TARGET harfbuzz) - return() + set(HARFBUZZ_FOUND TRUE) + return() endif() -add_library(harfbuzz INTERFACE IMPORTED GLOBAL) +add_library(harfbuzz UNKNOWN IMPORTED) add_library(harfbuzz::harfbuzz ALIAS harfbuzz) find_library(HARFBUZZ_LIBRARY_DEBUG NAMES harfbuzz PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug" PATH_SUFFIXES lib NO_DEFAULT_PATH) -if(HARFBUZZ_LIBRARY_DEBUG) - target_link_libraries(harfbuzz INTERFACE $<$:${HARFBUZZ_LIBRARY_DEBUG}>) -endif() - find_library(HARFBUZZ_LIBRARY_RELEASE NAMES harfbuzz PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}" PATH_SUFFIXES lib NO_DEFAULT_PATH) -if(HARFBUZZ_LIBRARY_RELEASE) - target_link_libraries(harfbuzz INTERFACE $<$>:${HARFBUZZ_LIBRARY_RELEASE}>) +if(NOT HARFBUZZ_LIBRARY_DEBUG) + set_target_properties(harfbuzz PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${HARFBUZZ_INCLUDE_DIR}" + IMPORTED_CONFIGURATIONS "RELEASE" + IMPORTED_LOCATION_RELEASE "${HARFBUZZ_LIBRARY_RELEASE}" + ) +else() + set_target_properties(harfbuzz PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${HARFBUZZ_INCLUDE_DIR}" + IMPORTED_CONFIGURATIONS "DEBUG;RELEASE" + IMPORTED_LOCATION_RELEASE "${HARFBUZZ_LIBRARY_RELEASE}" + IMPORTED_LOCATION_DEBUG "${HARFBUZZ_LIBRARY_DEBUG}" + ) endif() set(HARFBUZZ_FEATURES @FEATURES@) if(APPLE) find_library(APPLICATIONSERVICES_LIBRARY ApplicationServices) - target_link_libraries(harfbuzz INTERFACE ${APPLICATIONSERVICES_LIBRARY}) + if(APPLICATIONSERVICES_LIBRARY) + target_link_libraries(harfbuzz INTERFACE ${APPLICATIONSERVICES_LIBRARY}) + endif() endif() -find_package(freetype CONFIG REQUIRED) +find_dependency(freetype CONFIG) target_link_libraries(harfbuzz INTERFACE freetype) if ("graphite2" IN_LIST HARFBUZZ_FEATURES) find_library(GRAPHITE2_LIBRARY_DEBUG NAMES graphite2 PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug" PATH_SUFFIXES lib NO_DEFAULT_PATH) - if(GRAPHITE2_LIBRARY_DEBUG) - target_link_libraries(harfbuzz INTERFACE $<$:${GRAPHITE2_LIBRARY_DEBUG}>) - endif() - find_library(GRAPHITE2_LIBRARY_RELEASE NAMES graphite2 PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}" PATH_SUFFIXES lib NO_DEFAULT_PATH) - if(GRAPHITE2_LIBRARY_RELEASE) - target_link_libraries(harfbuzz INTERFACE $<$>:${GRAPHITE2_LIBRARY_RELEASE}>) + if(NOT GRAPHITE2_LIBRARY_DEBUG) + target_link_libraries(harfbuzz INTERFACE "${GRAPHITE2_LIBRARY_RELEASE}") + else() + target_link_libraries(harfbuzz INTERFACE "$<$>:${GRAPHITE2_LIBRARY_RELEASE}>$<$:${GRAPHITE2_LIBRARY_DEBUG}>") endif() endif() if ("glib" IN_LIST HARFBUZZ_FEATURES) find_library(GLIB_LIBRARY_DEBUG NAMES glib glib-2.0 PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug" PATH_SUFFIXES lib NO_DEFAULT_PATH) - if(GLIB_LIBRARY_DEBUG) - target_link_libraries(harfbuzz INTERFACE $<$:${GLIB_LIBRARY_DEBUG}>) - endif() - find_library(GLIB_LIBRARY_RELEASE NAMES glib glib-2.0 PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}" PATH_SUFFIXES lib NO_DEFAULT_PATH) - if(GLIB_LIBRARY_RELEASE) - target_link_libraries(harfbuzz INTERFACE $<$>:${GLIB_LIBRARY_RELEASE}>) + if(NOT GLIB_LIBRARY_DEBUG) + target_link_libraries(harfbuzz INTERFACE "${GLIB_LIBRARY_RELEASE}") + else() + target_link_libraries(harfbuzz INTERFACE "$<$>:${GLIB_LIBRARY_RELEASE}>$<$:${GLIB_LIBRARY_DEBUG}>") endif() endif() if ("icu" IN_LIST HARFBUZZ_FEATURES) - find_package(ICU 61 COMPONENTS uc REQUIRED) + find_dependency(ICU 61 COMPONENTS uc) target_link_libraries(harfbuzz INTERFACE ICU::uc) endif() -get_filename_component(_INSTALL_DIR "${CMAKE_CURRENT_LIST_DIR}/../../" ABSOLUTE) -target_include_directories(harfbuzz INTERFACE ${_INSTALL_DIR}/include/harfbuzz) +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 816dec15a75cff..12ad92b937ebf6 100644 --- a/ports/harfbuzz/portfile.cmake +++ b/ports/harfbuzz/portfile.cmake @@ -1,16 +1,11 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO harfbuzz/harfbuzz - REF 3.0.0 - SHA512 69999ad86bde56ef689392a521143b6ad14b6719860772c3d4c343358997049a48c79e8f302fe0a7f3b0d930b476ddf440def874a1269b50ae79d020bcd073b5 + REF ${VERSION} + SHA512 47817eaecaf987f8aa67dc9eb7f87c0cfc00705b192245063322a1c360501e47be20f745907302b8c497ab7d15f423fbf6d7766e437cf9871cf5c617b1590407 HEAD_REF master PATCHES - # This patch is a workaround that is needed until the following issues are resolved upstream: - # - https://github.com/mesonbuild/meson/issues/8375 - # - https://github.com/harfbuzz/harfbuzz/issues/2870 - # Details: https://github.com/microsoft/vcpkg/issues/16262 - 0001-circumvent-samefile-error.patch - 0002-fix-uwp-build.patch + fix-win32-build.patch ) if("icu" IN_LIST FEATURES) @@ -25,54 +20,103 @@ else() endif() if("coretext" IN_LIST FEATURES) list(APPEND FEATURE_OPTIONS -Dcoretext=enabled) # Enable CoreText shaper backend on macOS - if(NOT VCPKG_TARGET_IS_OSX) - message(FATAL_ERROR "Feature 'coretext' os only available on OSX") - endif() 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) 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("cairo" IN_LIST FEATURES) + list(APPEND FEATURE_OPTIONS -Dcairo=enabled) # Enable Cairo graphics library support +else() + list(APPEND FEATURE_OPTIONS -Dcairo=disabled) +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) + list(APPEND OPTIONS_RELEASE -Dgobject=enabled -Dintrospection=enabled) +else() + list(APPEND OPTIONS -Dintrospection=disabled) +endif() + +if(CMAKE_HOST_WIN32 AND VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + set(GIR_TOOL_DIR ${CURRENT_INSTALLED_DIR}) +else() + set(GIR_TOOL_DIR ${CURRENT_HOST_INSTALLED_DIR}) +endif() vcpkg_configure_meson( - SOURCE_PATH ${SOURCE_PATH} - OPTIONS ${FEATURE_OPTIONS} - -Dcairo=disabled # Use Cairo graphics library - -Dintrospection=disabled # Generate gobject-introspection bindings (.gir/.typelib files) + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} -Ddocs=disabled # Generate documentation with gtk-doc -Dtests=disabled -Dbenchmark=disabled - ADDITIONAL_NATIVE_BINARIES glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal' - glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums' - ADDITIONAL_CROSS_BINARIES glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal' - glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums' + ${OPTIONS} + OPTIONS_DEBUG + ${OPTIONS_DEBUG} + OPTIONS_RELEASE + ${OPTIONS_RELEASE} + ADDITIONAL_BINARIES + glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal' + glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums' + g-ir-compiler='${CURRENT_HOST_INSTALLED_DIR}/tools/gobject-introspection/g-ir-compiler${VCPKG_HOST_EXECUTABLE_SUFFIX}' + g-ir-scanner='${GIR_TOOL_DIR}/tools/gobject-introspection/g-ir-scanner' ) -vcpkg_install_meson() +vcpkg_install_meson(ADD_BIN_TO_PATH) vcpkg_copy_pdbs() vcpkg_fixup_pkgconfig() +if(VCPKG_TARGET_IS_WINDOWS) + file(GLOB PC_FILES + "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/*.pc" + "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/*.pc") + + foreach(PC_FILE IN LISTS PC_FILES) + file(READ "${PC_FILE}" PC_FILE_CONTENT) + string(REGEX REPLACE + "\\$\\{prefix\}\\/lib\\/([a-zA-Z0-9\-]*)\\.lib" + "-l\\1" PC_FILE_CONTENT + "${PC_FILE_CONTENT}") + file(WRITE "${PC_FILE}" ${PC_FILE_CONTENT}) + endforeach() +endif() + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/cmake") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/cmake") configure_file("${CMAKE_CURRENT_LIST_DIR}/harfbuzzConfig.cmake.in" "${CURRENT_PACKAGES_DIR}/share/${PORT}/harfbuzzConfig.cmake" @ONLY) -# Handle copyright -file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) - +vcpkg_list(SET TOOL_NAMES) if("glib" IN_LIST FEATURES) - list(APPEND TOOL_NAMES hb-subset hb-shape hb-ot-shape-closure) + vcpkg_list(APPEND TOOL_NAMES hb-subset hb-shape hb-ot-shape-closure hb-info) + if("cairo" IN_LIST FEATURES) + vcpkg_list(APPEND TOOL_NAMES hb-view) + endif() endif() if(TOOL_NAMES) vcpkg_copy_tools(TOOL_NAMES ${TOOL_NAMES} AUTO_CLEAN) @@ -81,3 +125,7 @@ endif() 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") + +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 13207c7228ebd8..92b1bd95f399e7 100644 --- a/ports/harfbuzz/vcpkg.json +++ b/ports/harfbuzz/vcpkg.json @@ -1,21 +1,59 @@ { "name": "harfbuzz", - "version-semver": "3.0.0", + "version": "10.1.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" + }, + { + "name": "vcpkg-tool-meson", + "host": true } ], + "default-features": [ + "freetype" + ], "features": { + "cairo": { + "description": "Enable Cairo graphics library support", + "dependencies": [ + { + "name": "cairo", + "default-features": false, + "features": [ + "freetype" + ] + } + ] + }, "coretext": { - "description": "Enable CoreText shaper backend on macOS" + "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", @@ -38,6 +76,13 @@ "dependencies": [ "icu" ] + }, + "introspection": { + "description": "build with introspection", + "dependencies": [ + "glib", + "gobject-introspection" + ] } } } diff --git a/ports/hash-library/001-fix-macos.patch b/ports/hash-library/001-fix-macos.patch new file mode 100644 index 00000000000000..60658e31651f7c --- /dev/null +++ b/ports/hash-library/001-fix-macos.patch @@ -0,0 +1,98 @@ +Fixes includes of endian.h on MacOS, see https://github.com/stbrumme/hash-library/pull/4. + +diff --git a/crc32.cpp b/crc32.cpp +--- a/crc32.cpp ++++ b/crc32.cpp +@@ -7,8 +7,10 @@ + #include "crc32.h" + + // big endian architectures need #define __BYTE_ORDER __BIG_ENDIAN +-#ifndef _MSC_VER +-#include ++#if defined(__APPLE__) ++ #include ++#elif !defined(_MSC_VER) ++ #include + #endif + + +diff --git a/keccak.cpp b/keccak.cpp +--- a/keccak.cpp ++++ b/keccak.cpp +@@ -7,8 +7,10 @@ + #include "keccak.h" + + // big endian architectures need #define __BYTE_ORDER __BIG_ENDIAN +-#ifndef _MSC_VER +-#include ++#if defined(__APPLE__) ++ #include ++#elif !defined(_MSC_VER) ++ #include + #endif + + +diff --git a/md5.cpp b/md5.cpp +--- a/md5.cpp ++++ b/md5.cpp +@@ -6,8 +6,10 @@ + + #include "md5.h" + +-#ifndef _MSC_VER +-#include ++#if defined(__APPLE__) ++ #include ++#elif !defined(_MSC_VER) ++ #include + #endif + + +diff --git a/sha1.cpp b/sha1.cpp +--- a/sha1.cpp ++++ b/sha1.cpp +@@ -7,8 +7,10 @@ + #include "sha1.h" + + // big endian architectures need #define __BYTE_ORDER __BIG_ENDIAN +-#ifndef _MSC_VER +-#include ++#if defined(__APPLE__) ++ #include ++#elif !defined(_MSC_VER) ++ #include + #endif + + +diff --git a/sha256.cpp b/sha256.cpp +--- a/sha256.cpp ++++ b/sha256.cpp +@@ -7,8 +7,10 @@ + #include "sha256.h" + + // big endian architectures need #define __BYTE_ORDER __BIG_ENDIAN +-#ifndef _MSC_VER +-#include ++#if defined(__APPLE__) ++ #include ++#elif !defined(_MSC_VER) ++ #include + #endif + + +diff --git a/sha3.cpp b/sha3.cpp +--- a/sha3.cpp ++++ b/sha3.cpp +@@ -7,8 +7,10 @@ + #include "sha3.h" + + // big endian architectures need #define __BYTE_ORDER __BIG_ENDIAN +-#ifndef _MSC_VER +-#include ++#if defined(__APPLE__) ++ #include ++#elif !defined(_MSC_VER) ++ #include + #endif + + #include diff --git a/ports/hash-library/CMakeLists.txt b/ports/hash-library/CMakeLists.txt new file mode 100644 index 00000000000000..abc69f1e0b82eb --- /dev/null +++ b/ports/hash-library/CMakeLists.txt @@ -0,0 +1,48 @@ +cmake_minimum_required(VERSION 3.5.1) +project(hash-library CXX) + +set(HEADERS + crc32.h + hash.h + hmac.h + keccak.h + md5.h + sha1.h + sha256.h + sha3.h +) + +set(SRCS + crc32.cpp + keccak.cpp + md5.cpp + sha1.cpp + sha256.cpp + sha3.cpp +) + +add_library(hash-library ${SRCS}) + +target_include_directories(hash-library PUBLIC $ $) + +if(NOT DISABLE_INSTALL_HEADERS) + install(FILES ${HEADERS} DESTINATION include/hash-library) +endif() + +install( + TARGETS hash-library + EXPORT unofficial-hash-library-targets + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib +) + +install( + EXPORT unofficial-hash-library-targets + FILE unofficial-hash-library-targets.cmake + NAMESPACE unofficial:: + DESTINATION share/unofficial-hash-library +) + +file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/unofficial-hash-library-config.cmake" "include(\${CMAKE_CURRENT_LIST_DIR}/unofficial-hash-library-targets.cmake)\n") +install(FILES "${CMAKE_CURRENT_BINARY_DIR}/unofficial-hash-library-config.cmake" DESTINATION share/unofficial-hash-library) diff --git a/ports/hash-library/portfile.cmake b/ports/hash-library/portfile.cmake new file mode 100644 index 00000000000000..145f751669ea2a --- /dev/null +++ b/ports/hash-library/portfile.cmake @@ -0,0 +1,26 @@ +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO stbrumme/hash-library + REF hash_library_v8 + SHA512 1c428710c0c3e4d5d1114d757a5d9145ed12c7e2fbbfa51635f43a349ddb5634bdf49e8d8fdbc7576e90b319989fb85efec433bb43ddb551c2cf29a8e80ba78b + HEAD_REF master + PATCHES + 001-fix-macos.patch +) + +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS_DEBUG + -DDISABLE_INSTALL_HEADERS=ON +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME "unofficial-${PORT}" CONFIG_PATH "share/unofficial-${PORT}") + +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/hash-library/vcpkg.json b/ports/hash-library/vcpkg.json new file mode 100644 index 00000000000000..0779302945b8ed --- /dev/null +++ b/ports/hash-library/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "hash-library", + "version": "8", + "port-version": 3, + "description": "Portable C++ hashing library", + "homepage": "https://create.stephan-brumme.com/hash-library/", + "license": "Zlib", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/hashids/hashids.patch b/ports/hashids/hashids.patch new file mode 100644 index 00000000000000..e6877fa4d4a0bb --- /dev/null +++ b/ports/hashids/hashids.patch @@ -0,0 +1,18 @@ +diff --git a/src/hashids.c b/src/hashids.c +index 7f0b2f3..8d68509 100644 +--- a/src/hashids.c ++++ b/src/hashids.c +@@ -6,6 +6,13 @@ + + #include "hashids.h" + ++#ifdef _MSC_VER ++#include ++typedef SSIZE_T ssize_t; ++#else ++#include ++#endif ++ + /* branch prediction hinting */ + #ifndef __has_builtin + # define __has_builtin(x) (0) diff --git a/ports/hashids/portfile.cmake b/ports/hashids/portfile.cmake new file mode 100644 index 00000000000000..4ccb1775edb300 --- /dev/null +++ b/ports/hashids/portfile.cmake @@ -0,0 +1,30 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO tzvetkoff/hashids.c + REF "v${VERSION}" + SHA512 f752a95118f729eb9e9651fc5d0112271c5cb95c8cefeaef33f61611274075ba4085edca58fb14823d4665de4044eff24397b891a22c2cb196e9c1c287fae378 + HEAD_REF master + PATCHES + hashids.patch +) + +set(EXTRA_OPTS "") +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + # $LIBS is an environment variable that vcpkg already pre-populated with some libraries. + # We need to re-purpose it when passing LIBS option to make to avoid overriding the vcpkg's own list. + list(APPEND EXTRA_OPTS "LIBS=-lgetopt \$LIBS") +endif() + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG + OPTIONS + ${EXTRA_OPTS} +) + +vcpkg_install_make() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.md") diff --git a/ports/hashids/vcpkg.json b/ports/hashids/vcpkg.json new file mode 100644 index 00000000000000..2b97a2f8c6256e --- /dev/null +++ b/ports/hashids/vcpkg.json @@ -0,0 +1,13 @@ +{ + "name": "hashids", + "version": "1.2.2", + "description": "generate short unique ids from integers", + "homepage": "https://hashids.org/c/", + "license": "MIT", + "dependencies": [ + { + "name": "getopt", + "platform": "windows & !mingw" + } + ] +} diff --git a/ports/hayai/portfile.cmake b/ports/hayai/portfile.cmake index 4fa698d18f9a71..fa0a2a5f83972d 100644 --- a/ports/hayai/portfile.cmake +++ b/ports/hayai/portfile.cmake @@ -13,53 +13,54 @@ if(VCPKG_TARGET_IS_UWP) set(VCPKG_CXX_FLAGS "${VCPKG_CXX_FLAGS} -D_CRT_SECURE_NO_WARNINGS") endif() -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DINSTALL_HAYAI=ON -DBUILD_HAYAI_TESTS=OFF -DBUILD_HAYAI_SAMPLES=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -if(EXISTS ${CURRENT_PACKAGES_DIR}/CMake) - vcpkg_fixup_cmake_targets(CONFIG_PATH CMake) -elseif(EXISTS ${CURRENT_PACKAGES_DIR}/lib/CMake/${PORT}) - vcpkg_fixup_cmake_targets(CONFIG_PATH lib/CMake/${PORT}) +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}) endif() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") # Handle manual-link libraries -if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/lib/hayai_main.lib) - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link) +if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/lib/hayai_main.lib") + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/lib/manual-link") file(RENAME - ${CURRENT_PACKAGES_DIR}/debug/lib/hayai_main.lib - ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link/hayai_main.lib + "${CURRENT_PACKAGES_DIR}/debug/lib/hayai_main.lib" + "${CURRENT_PACKAGES_DIR}/debug/lib/manual-link/hayai_main.lib" ) vcpkg_replace_string( - ${CURRENT_PACKAGES_DIR}/share/${PORT}/hayai-targets-debug.cmake + "${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() -if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/hayai_main.lib) - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/lib/manual-link) +if(EXISTS "${CURRENT_PACKAGES_DIR}/lib/hayai_main.lib") + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/lib/manual-link") file(RENAME - ${CURRENT_PACKAGES_DIR}/lib/hayai_main.lib - ${CURRENT_PACKAGES_DIR}/lib/manual-link/hayai_main.lib + "${CURRENT_PACKAGES_DIR}/lib/hayai_main.lib" + "${CURRENT_PACKAGES_DIR}/lib/manual-link/hayai_main.lib" ) vcpkg_replace_string( - ${CURRENT_PACKAGES_DIR}/share/${PORT}/hayai-targets-release.cmake + "${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() # Handle copyright -configure_file(${SOURCE_PATH}/LICENSE.md ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) +configure_file("${SOURCE_PATH}/LICENSE.md" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) diff --git a/ports/hayai/vcpkg.json b/ports/hayai/vcpkg.json index 847c0d2fc1d704..7ddbdefc69d6a1 100644 --- a/ports/hayai/vcpkg.json +++ b/ports/hayai/vcpkg.json @@ -1,7 +1,17 @@ { "name": "hayai", - "version-string": "2019-08-10", - "port-version": 1, + "version-date": "2019-08-10", + "port-version": 4, "description": "C++ benchmarking framework", - "homepage": "https://github.com/nickbruun/hayai" + "homepage": "https://github.com/nickbruun/hayai", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } 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 09b7b61e3cdb65..040be5081dc11c 100644 --- a/ports/hazelcast-cpp-client/portfile.cmake +++ b/ports/hazelcast-cpp-client/portfile.cmake @@ -1,9 +1,11 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO hazelcast/hazelcast-cpp-client - REF v5.0.0 - SHA512 7cf85eadeed212871d2a6c5c0aa9d9640c9c89e126c3e383981ddd4cb222390e4ce8307b554766666b8d7816bd5e0fed4242bc674e20423570726c261c182559 + 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 6e3e7e7590e479..3b20a043709a75 100644 --- a/ports/hazelcast-cpp-client/vcpkg.json +++ b/ports/hazelcast-cpp-client/vcpkg.json @@ -1,15 +1,18 @@ { "name": "hazelcast-cpp-client", - "version-semver": "5.0.0", + "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", + "license": "Apache-2.0", "supports": "!uwp", "dependencies": [ "boost-any", "boost-asio", "boost-chrono", "boost-format", + "boost-multiprecision", "boost-optional", "boost-property-tree", "boost-system", @@ -29,7 +32,7 @@ "description": "Build examples for Hazelcast C++ client" }, "openssl": { - "description": "Build hazelcast C++ client with SSL support", + "description": "Build Hazelcast C++ client with SSL support", "dependencies": [ "openssl" ] 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 85196507e65271..9055a080b24a22 100644 --- a/ports/hdf5/hdf5_config.patch +++ b/ports/hdf5/hdf5_config.patch @@ -1,31 +1,22 @@ diff --git a/config/cmake/hdf5-config.cmake.in b/config/cmake/hdf5-config.cmake.in -index 4d02c9c..8c10d2d 100644 +index 1a3fb7bbf2..79081ce040 100644 --- a/config/cmake/hdf5-config.cmake.in +++ b/config/cmake/hdf5-config.cmake.in -@@ -55,7 +55,10 @@ set (${HDF5_PACKAGE_NAME}_PARALLEL_FILTERED_WRITES "@PARALLEL_FILTERED_WRITES@") - #----------------------------------------------------------------------------- - # Dependencies - #----------------------------------------------------------------------------- -+include(CMakeFindDependencyMacro) -+ - if (${HDF5_PACKAGE_NAME}_ENABLE_PARALLEL) -+ find_dependency(MPI) - set (${HDF5_PACKAGE_NAME}_MPI_C_INCLUDE_PATH "@MPI_C_INCLUDE_DIRS@") - set (${HDF5_PACKAGE_NAME}_MPI_C_LIBRARIES "@MPI_C_LIBRARIES@") - if (${HDF5_PACKAGE_NAME}_BUILD_FORTRAN) -@@ -111,11 +114,11 @@ set (${HDF5_PACKAGE_NAME}_VERSION_MINOR @HDF5_VERSION_MINOR@) +@@ -120,12 +114,17 @@ 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 #----------------------------------------------------------------------------- ++include(CMakeFindDependencyMacro) if (NOT TARGET "@HDF5_PACKAGE@") -- if (${HDF5_PACKAGE_NAME}_ENABLE_Z_LIB_SUPPORT AND ${HDF5_PACKAGE_NAME}_PACKAGE_EXTLIBS) -- include (@PACKAGE_SHARE_INSTALL_DIR@/@ZLIB_PACKAGE_NAME@/@ZLIB_PACKAGE_NAME@@HDF_PACKAGE_EXT@-targets.cmake) -+ if (${HDF5_PACKAGE_NAME}_ENABLE_Z_LIB_SUPPORT) + if (${HDF5_PACKAGE_NAME}_ENABLE_Z_LIB_SUPPORT AND ${HDF5_PACKAGE_NAME}_PACKAGE_EXTLIBS) + include (@PACKAGE_SHARE_INSTALL_DIR@/@ZLIB_PACKAGE_NAME@@HDF_PACKAGE_EXT@-targets.cmake) ++ elseif (${HDF5_PACKAGE_NAME}_ENABLE_Z_LIB_SUPPORT) + find_dependency(ZLIB) endif () -- if (${HDF5_PACKAGE_NAME}_ENABLE_SZIP_SUPPORT AND ${HDF5_PACKAGE_NAME}_PACKAGE_EXTLIBS) -- include (@PACKAGE_SHARE_INSTALL_DIR@/@SZ_PACKAGE_NAME@/@SZ_PACKAGE_NAME@@HDF_PACKAGE_EXT@-targets.cmake) -+ if (${HDF5_PACKAGE_NAME}_ENABLE_SZIP_SUPPORT) + 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) endif () - include (@PACKAGE_SHARE_INSTALL_DIR@/@HDF5_PACKAGE@/@HDF5_PACKAGE@@HDF_PACKAGE_EXT@-targets.cmake) + include (@PACKAGE_SHARE_INSTALL_DIR@/@HDF5_PACKAGE@@HDF_PACKAGE_EXT@-targets.cmake) endif () diff --git a/ports/hdf5/pkgconfig-link-order.patch b/ports/hdf5/pkgconfig-link-order.patch deleted file mode 100644 index a3bcbb08005cf8..00000000000000 --- a/ports/hdf5/pkgconfig-link-order.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff --git a/config/libhdf5.pc.in b/config/libhdf5.pc.in -index 4a2ebaa..3cb42d2 100644 ---- a/config/libhdf5.pc.in -+++ b/config/libhdf5.pc.in -@@ -10,5 +10,5 @@ Version: @_PKG_CONFIG_VERSION@ - Cflags: -I${includedir} - Libs: -L${libdir} @_PKG_CONFIG_SH_LIBS@ - Requires: @_PKG_CONFIG_REQUIRES@ --Libs.private: @_PKG_CONFIG_LIBS_PRIVATE@ @_PKG_CONFIG_LIBS@ -+Libs.private: @_PKG_CONFIG_LIBS@ @_PKG_CONFIG_LIBS_PRIVATE@ - Requires.private: @_PKG_CONFIG_REQUIRES_PRIVATE@ diff --git a/ports/hdf5/pkgconfig-requires.patch b/ports/hdf5/pkgconfig-requires.patch index 14ef3cf6d060c1..a1e8470e097951 100644 --- a/ports/hdf5/pkgconfig-requires.patch +++ b/ports/hdf5/pkgconfig-requires.patch @@ -2,30 +2,27 @@ diff --git a/CMakeFilters.cmake b/CMakeFilters.cmake index 141ab44..66b7efa 100644 --- a/CMakeFilters.cmake +++ b/CMakeFilters.cmake -@@ -74,6 +74,7 @@ if (HDF5_ENABLE_Z_LIB_SUPPORT) - set (H5_ZLIB_HEADER "zlib.h") - set (ZLIB_INCLUDE_DIR_GEN ${ZLIB_INCLUDE_DIR}) - set (ZLIB_INCLUDE_DIRS ${ZLIB_INCLUDE_DIRS} ${ZLIB_INCLUDE_DIR}) -+ set (zlib_PC_LIBS_PRIVATE "${ZLIB_LIBRARIES}") +@@ -95,6 +95,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 (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "GIT" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ") - EXTERNAL_ZLIB_LIBRARY (${HDF5_ALLOW_EXTERNAL_SUPPORT}) -@@ -128,8 +129,10 @@ if (HDF5_ENABLE_SZIP_SUPPORT) - else() - get_target_property(SZIP_STATIC_LIBRARY szip-shared IMPORTED_LOCATION_${upper_build_type}) - endif() -+ set(szip_PC_LIBS_PRIVATE "${SZIP_STATIC_LIBRARY}") - elseif (TARGET szip-static) - get_target_property(SZIP_STATIC_LIBRARY szip-static IMPORTED_LOCATION_${upper_build_type}) -+ set(szip_PC_LIBS_PRIVATE "${SZIP_STATIC_LIBRARY}") - elseif (SZIP_FOUND) - set (H5_HAVE_FILTER_SZIP 1) - set (H5_HAVE_SZLIB_H 1) + 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 () diff --git a/CMakeLists.txt b/CMakeLists.txt index b75fdd2..a2e88fd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -750,6 +750,9 @@ if (H5_HAVE_PARALLEL) +@@ -711,5 +711,8 @@ if (H5_HAVE_PARALLEL) if (MPI_C_LINK_FLAGS) set (CMAKE_EXE_LINKER_FLAGS "${MPI_C_LINK_FLAGS} ${CMAKE_EXE_LINKER_FLAGS}") endif () @@ -34,154 +31,29 @@ index b75fdd2..a2e88fd 100644 + endif() endif () - #option (DEFAULT_API_VERSION "Enable v1.12 API (v16, v18, v110, v112)" "v112") -diff --git a/c++/src/CMakeLists.txt b/c++/src/CMakeLists.txt -index 835d422..9a7176f 100644 ---- a/c++/src/CMakeLists.txt -+++ b/c++/src/CMakeLists.txt -@@ -188,14 +188,14 @@ set (_PKG_CONFIG_VERSION "${HDF5_PACKAGE_VERSION}") - set (_PKG_CONFIG_LIBS_PRIVATE) - - if (NOT ONLY_SHARED_LIBS) -- set (_PKG_CONFIG_LIBS "${_PKG_CONFIG_LIBS} -l${HDF5_CPP_LIB_CORENAME}") -+ set (_PKG_CONFIG_LIBS "${_PKG_CONFIG_LIBS} -l${HDF5_CPP_LIB_CORENAME}${CMAKE_DEBUG_POSTFIX}") - endif () - if (BUILD_SHARED_LIBS) -- set (_PKG_CONFIG_SH_LIBS "${_PKG_CONFIG_SH_LIBS} -l${HDF5_CPP_LIB_CORENAME}") -+ set (_PKG_CONFIG_SH_LIBS "${_PKG_CONFIG_SH_LIBS} -l${HDF5_CPP_LIB_CORENAME}${CMAKE_DEBUG_POSTFIX}") - endif () - --set (_PKG_CONFIG_REQUIRES "${HDF5_LIB_CORENAME}-${HDF5_PACKAGE_VERSION}") --set (_PKG_CONFIG_REQUIRES_PRIVATE "${HDF5_LIB_CORENAME}-${HDF5_PACKAGE_VERSION}") -+set (_PKG_CONFIG_REQUIRES "${HDF5_LIB_CORENAME}") -+set (_PKG_CONFIG_REQUIRES_PRIVATE "${HDF5_LIB_CORENAME}") - - configure_file ( - ${HDF_CONFIG_DIR}/libhdf5.pc.in -diff --git a/config/cmake_ext_mod/HDFMacros.cmake b/config/cmake_ext_mod/HDFMacros.cmake -index ae0ebca..095fae4 100644 ---- a/config/cmake_ext_mod/HDFMacros.cmake -+++ b/config/cmake_ext_mod/HDFMacros.cmake -@@ -384,7 +384,7 @@ macro (HDF_DIR_PATHS package_prefix) +diff --git a/config/cmake/HDFMacros.cmake b/config/cmake/HDFMacros.cmake +index 1af513b47..05d56ccce 100644 +--- a/config/cmake/HDFMacros.cmake ++++ b/config/cmake/HDFMacros.cmake +@@ -425,7 +425,7 @@ macro (HDF_DIR_PATHS package_prefix) endif () #set the default debug suffix for all library targets -- if(NOT CMAKE_DEBUG_POSTFIX) -+ if(NOT DEFINED CMAKE_DEBUG_POSTFIX) - if (WIN32) - set (CMAKE_DEBUG_POSTFIX "_D") - else () -diff --git a/fortran/src/CMakeLists.txt b/fortran/src/CMakeLists.txt -index e59a829..8da64dd 100644 ---- a/fortran/src/CMakeLists.txt -+++ b/fortran/src/CMakeLists.txt -@@ -545,14 +545,14 @@ set (_PKG_CONFIG_VERSION "${HDF5_PACKAGE_VERSION}") - set (_PKG_CONFIG_LIBS_PRIVATE) - - if (NOT ONLY_SHARED_LIBS) -- set (_PKG_CONFIG_LIBS "${_PKG_CONFIG_LIBS} -l${HDF5_F90_LIB_CORENAME}") -+ set (_PKG_CONFIG_LIBS "${_PKG_CONFIG_LIBS} -l${HDF5_F90_LIB_CORENAME}${CMAKE_DEBUG_POSTFIX}") - endif () - if (BUILD_SHARED_LIBS) -- set (_PKG_CONFIG_SH_LIBS "${_PKG_CONFIG_SH_LIBS} -l${HDF5_F90_LIB_CORENAME}") -+ set (_PKG_CONFIG_SH_LIBS "${_PKG_CONFIG_SH_LIBS} -l${HDF5_F90_LIB_CORENAME}${CMAKE_DEBUG_POSTFIX}") - endif () - --set (_PKG_CONFIG_REQUIRES "${HDF5_LIB_CORENAME}-${HDF5_PACKAGE_VERSION}") --set (_PKG_CONFIG_REQUIRES_PRIVATE "${HDF5_LIB_CORENAME}-${HDF5_PACKAGE_VERSION}") -+set (_PKG_CONFIG_REQUIRES "${HDF5_LIB_CORENAME}") -+set (_PKG_CONFIG_REQUIRES_PRIVATE "${HDF5_LIB_CORENAME}") - - configure_file ( - ${HDF_CONFIG_DIR}/libhdf5.pc.in -diff --git a/hl/c++/src/CMakeLists.txt b/hl/c++/src/CMakeLists.txt -index c516df1..89bd31f 100644 ---- a/hl/c++/src/CMakeLists.txt -+++ b/hl/c++/src/CMakeLists.txt -@@ -99,14 +99,14 @@ set (_PKG_CONFIG_VERSION "${HDF5_PACKAGE_VERSION}") - set (_PKG_CONFIG_LIBS_PRIVATE) - - if (NOT ONLY_SHARED_LIBS) -- set (_PKG_CONFIG_LIBS "${_PKG_CONFIG_LIBS} -l${HDF5_HL_CPP_LIB_CORENAME}") -+ set (_PKG_CONFIG_LIBS "${_PKG_CONFIG_LIBS} -l${HDF5_HL_CPP_LIB_CORENAME}${CMAKE_DEBUG_POSTFIX}") - endif () - if (BUILD_SHARED_LIBS) -- set (_PKG_CONFIG_SH_LIBS "${_PKG_CONFIG_SH_LIBS} -l${HDF5_HL_CPP_LIB_CORENAME}") -+ set (_PKG_CONFIG_SH_LIBS "${_PKG_CONFIG_SH_LIBS} -l${HDF5_HL_CPP_LIB_CORENAME}${CMAKE_DEBUG_POSTFIX}") - endif () - --set (_PKG_CONFIG_REQUIRES "${HDF5_HL_LIB_CORENAME}-${HDF5_PACKAGE_VERSION}") --set (_PKG_CONFIG_REQUIRES_PRIVATE "${HDF5_HL_LIB_CORENAME}-${HDF5_PACKAGE_VERSION}") -+set (_PKG_CONFIG_REQUIRES "${HDF5_HL_LIB_CORENAME}") -+set (_PKG_CONFIG_REQUIRES_PRIVATE "${HDF5_HL_LIB_CORENAME}") - - configure_file ( - ${HDF_CONFIG_DIR}/libhdf5.pc.in -diff --git a/hl/fortran/src/CMakeLists.txt b/hl/fortran/src/CMakeLists.txt -index 973299f..8eadfe5 100644 ---- a/hl/fortran/src/CMakeLists.txt -+++ b/hl/fortran/src/CMakeLists.txt -@@ -332,14 +332,14 @@ set (_PKG_CONFIG_VERSION "${HDF5_PACKAGE_VERSION}") - set (_PKG_CONFIG_LIBS_PRIVATE) - - if (NOT ONLY_SHARED_LIBS) -- set (_PKG_CONFIG_LIBS "${_PKG_CONFIG_LIBS} -l${HDF5_HL_F90_LIB_CORENAME}") -+ set (_PKG_CONFIG_LIBS "${_PKG_CONFIG_LIBS} -l${HDF5_HL_F90_LIB_CORENAME}${CMAKE_DEBUG_POSTFIX}") - endif () - if (BUILD_SHARED_LIBS) -- set (_PKG_CONFIG_SH_LIBS "${_PKG_CONFIG_SH_LIBS} -l${HDF5_HL_F90_LIB_CORENAME}") -+ set (_PKG_CONFIG_SH_LIBS "${_PKG_CONFIG_SH_LIBS} -l${HDF5_HL_F90_LIB_CORENAME}${CMAKE_DEBUG_POSTFIX}") - endif () - --set (_PKG_CONFIG_REQUIRES "${HDF5_F90_LIB_CORENAME}-${HDF5_PACKAGE_VERSION}") --set (_PKG_CONFIG_REQUIRES_PRIVATE "${HDF5_F90_LIB_CORENAME}-${HDF5_PACKAGE_VERSION}") -+set (_PKG_CONFIG_REQUIRES "${HDF5_F90_LIB_CORENAME}") -+set (_PKG_CONFIG_REQUIRES_PRIVATE "${HDF5_F90_LIB_CORENAME}") - - configure_file ( - ${HDF_CONFIG_DIR}/libhdf5.pc.in -diff --git a/hl/src/CMakeLists.txt b/hl/src/CMakeLists.txt -index 7678de8..2d398cc 100644 ---- a/hl/src/CMakeLists.txt -+++ b/hl/src/CMakeLists.txt -@@ -131,14 +131,14 @@ set (_PKG_CONFIG_VERSION "${HDF5_PACKAGE_VERSION}") - set (_PKG_CONFIG_LIBS_PRIVATE) - - if (NOT ONLY_SHARED_LIBS) -- set (_PKG_CONFIG_LIBS "${_PKG_CONFIG_LIBS} -l${HDF5_HL_LIB_CORENAME}") -+ set (_PKG_CONFIG_LIBS "${_PKG_CONFIG_LIBS} -l${HDF5_HL_LIB_CORENAME}${CMAKE_DEBUG_POSTFIX}") - endif () - if (BUILD_SHARED_LIBS) -- set (_PKG_CONFIG_SH_LIBS "${_PKG_CONFIG_SH_LIBS} -l${HDF5_HL_LIB_CORENAME}") -+ set (_PKG_CONFIG_SH_LIBS "${_PKG_CONFIG_SH_LIBS} -l${HDF5_HL_LIB_CORENAME}${CMAKE_DEBUG_POSTFIX}") - endif () - --set (_PKG_CONFIG_REQUIRES "${HDF5_LIB_CORENAME}-${HDF5_PACKAGE_VERSION}") --set (_PKG_CONFIG_REQUIRES_PRIVATE "${HDF5_LIB_CORENAME}-${HDF5_PACKAGE_VERSION}") -+set (_PKG_CONFIG_REQUIRES "${HDF5_LIB_CORENAME}") -+set (_PKG_CONFIG_REQUIRES_PRIVATE "${HDF5_LIB_CORENAME}") - - configure_file ( - ${HDF_CONFIG_DIR}/libhdf5.pc.in +- if(NOT CMAKE_DEBUG_POSTFIX) ++ if(NOT DEFINED CMAKE_DEBUG_POSTFIX) + if (WIN32) + set (CMAKE_DEBUG_POSTFIX "_D") + else () diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index b3c2226..ea80d60 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt -@@ -1321,14 +1321,23 @@ foreach (libs ${LINK_LIBS} ${LINK_COMP_LIBS}) - endforeach () - - if (NOT ONLY_SHARED_LIBS) -- set (_PKG_CONFIG_LIBS "${_PKG_CONFIG_LIBS} -l${HDF5_LIB_CORENAME}") -+ set (_PKG_CONFIG_LIBS "${_PKG_CONFIG_LIBS} -l${HDF5_LIB_CORENAME}${CMAKE_DEBUG_POSTFIX}") - endif () - if (BUILD_SHARED_LIBS) -- set (_PKG_CONFIG_SH_LIBS "${_PKG_CONFIG_SH_LIBS} -l${HDF5_LIB_CORENAME}") -+ set (_PKG_CONFIG_SH_LIBS "${_PKG_CONFIG_SH_LIBS} -l${HDF5_LIB_CORENAME}${CMAKE_DEBUG_POSTFIX}") +@@ -1321,6 +1321,16 @@ foreach (libs ${LINK_LIBS} ${LINK_COMP_LIBS}) endif () set (_PKG_CONFIG_REQUIRES) - set (_PKG_CONFIG_REQUIRES_PRIVATE) -+set(_PKG_CONFIG_LIBS_PRIVATE " ${_PKG_CONFIG_LIBS_PRIVATE} ") ++set (_PKG_CONFIG_REQUIRES_PRIVATE) ++set (_PKG_CONFIG_LIBS_PRIVATE " ${_PKG_CONFIG_LIBS_PRIVATE} ") +foreach(_module IN ITEMS ompi-c szip zlib) + if(${_module}_PC_LIBS_PRIVATE) + foreach(_lib IN LISTS ${_module}_PC_LIBS_PRIVATE) diff --git a/ports/hdf5/portfile.cmake b/ports/hdf5/portfile.cmake index 23263c7d77b48a..92110eda85882e 100644 --- a/ports/hdf5/portfile.cmake +++ b/ports/hdf5/portfile.cmake @@ -1,23 +1,21 @@ # highfive should be updated together with hdf5 -vcpkg_fail_port_install(ON_TARGET "UWP") - +string(REPLACE "." "." hdf5_ref "hdf5_${VERSION}") vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO HDFGroup/hdf5 - REF hdf5-1_12_1 - SHA512 8a736b6a66bf4ec904a0e0dd9e8e0e791d8a04c996c5ea6b73b7d6f8145c4bfa4ed5c6e4f11740ceb1d1226a333c8242968e604dbdac2b7b561a1bd265423434 + REF "${hdf5_ref}" + SHA512 77849b644f5312eae5a3f2fe45666d9df95cc21b092207dae01ca7d019e428255d75fe0c27538e4101eabf2030927a73ceaec8e1471c72b51fed5370810f9a35 HEAD_REF develop PATCHES hdf5_config.patch szip.patch - pkgconfig-requires.patch - pkgconfig-link-order.patch + add-_Float16-type-on-aarch64.patch ) set(ALLOW_UNSUPPORTED OFF) if ("parallel" IN_LIST FEATURES AND "cpp" IN_LIST FEATURES) - message(WARNING "Feature 'Parallel' and 'cpp' are mutually exclusive, enable feature ALLOW_UNSUPPORTED automatically to enable them both.") + message(WARNING "Feature 'Parallel' and 'cpp' are mutually exclusive, enabling option ALLOW_UNSUPPORTED automatically to enable them both.") set(ALLOW_UNSUPPORTED ON) endif() @@ -30,14 +28,15 @@ 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 FEATURES parallel HDF5_ENABLE_PARALLEL tools HDF5_BUILD_TOOLS + tools HDF5_BUILD_HL_GIF_TOOLS cpp HDF5_BUILD_CPP_LIB szip HDF5_ENABLE_SZIP_SUPPORT szip HDF5_ENABLE_SZIP_ENCODING @@ -45,11 +44,10 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS fortran HDF5_BUILD_FORTRAN threadsafe HDF5_ENABLE_THREADSAFE utils HDF5_BUILD_UTILS + map HDF5_ENABLE_MAP_API ) -file(REMOVE "${SOURCE_PATH}/config/cmake_ext_mod/FindSZIP.cmake")#Outdated; does not find debug szip - -if(FEATURES MATCHES "tools" AND VCPKG_CRT_LINKAGE STREQUAL "static") +if("tools" IN_LIST FEATURES AND VCPKG_CRT_LINKAGE STREQUAL "static") list(APPEND FEATURE_OPTIONS -DBUILD_STATIC_EXECS=ON) endif() @@ -67,11 +65,11 @@ vcpkg_cmake_configure( -DBUILD_TESTING=OFF -DHDF5_BUILD_EXAMPLES=OFF -DHDF5_INSTALL_DATA_DIR=share/hdf5/data - -DHDF5_INSTALL_CMAKE_DIR=share + -DHDF5_INSTALL_CMAKE_DIR=share/hdf5 -DHDF_PACKAGE_NAMESPACE:STRING=hdf5:: -DHDF5_MSVC_NAMING_CONVENTION=OFF - -DSZIP_USE_EXTERNAL=ON -DALLOW_UNSUPPORTED=${ALLOW_UNSUPPORTED} + -DCMAKE_DISABLE_FIND_PACKAGE_libaec=ON OPTIONS_RELEASE -DCMAKE_DEBUG_POSTFIX= # For lib name in pkgconfig files ) @@ -87,6 +85,16 @@ endif() 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" IGNORE_UNCHANGED) + endif() + if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_replace_string("${file}" "/msmpi.lib\"" "/msmpi\"" IGNORE_UNCHANGED) + endif() +endforeach() + file(READ "${CURRENT_PACKAGES_DIR}/share/hdf5/hdf5-config.cmake" contents) string(REPLACE [[${HDF5_PACKAGE_NAME}_TOOLS_DIR "${PACKAGE_PREFIX_DIR}/bin"]] [[${HDF5_PACKAGE_NAME}_TOOLS_DIR "${PACKAGE_PREFIX_DIR}/tools/hdf5"]] @@ -94,31 +102,48 @@ string(REPLACE [[${HDF5_PACKAGE_NAME}_TOOLS_DIR "${PACKAGE_PREFIX_DIR}/bin"]] ) file(WRITE "${CURRENT_PACKAGES_DIR}/share/hdf5/hdf5-config.cmake" ${contents}) -if(FEATURES MATCHES "tools") - set(HDF5_TOOLS h5cc h5hlcc h5c++ h5hlc++ h5copy h5diff h5dump h5ls h5stat gif2h5 h52gif h5clear h5debug - h5format_convert h5jam h5unjam h5ls h5mkgrp h5repack h5repart h5watch ph5diff h5import +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(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - list(TRANSFORM HDF5_TOOLS REPLACE "^(.+)$" "\\1-shared") - else() + + if("parallel" IN_LIST FEATURES) + list(APPEND HDF5_TOOLS ph5diff) endif() - - foreach(HDF5_TOOL IN LISTS HDF5_TOOLS) - if (NOT EXISTS "${CURRENT_PACKAGES_DIR}/bin/${HDF5_TOOL}${VCPKG_TARGET_EXECUTABLE_SUFFIX}" - OR NOT EXISTS "${CURRENT_PACKAGES_DIR}/debug/bin/${HDF5_TOOL}${VCPKG_TARGET_EXECUTABLE_SUFFIX}") - list(REMOVE_ITEM HDF5_TOOLS "${HDF5_TOOL}") + + + if(NOT VCPKG_TARGET_IS_WINDOWS) + list(APPEND HDF5_TOOLS h5cc h5hlcc) + if("cpp" IN_LIST FEATURES) + list(APPEND HDF5_TOOLS h5c++ h5hlc++) endif() - endforeach() - - vcpkg_copy_tools(TOOL_NAMES ${HDF5_TOOLS} AUTO_CLEAN) + endif() + + if("parallel" IN_LIST FEATURES) + list(APPEND HDF5_TOOLS h5perf ) + if(NOT VCPKG_TARGET_IS_WINDOWS) + list(APPEND HDF5_TOOLS h5pcc) + endif() + endif() endif() if ("utils" IN_LIST FEATURES) - vcpkg_copy_tools( - TOOL_NAMES mirror_server mirror_server_stop - AUTO_CLEAN - ) + list(APPEND HDF5_TOOLS mirror_server mirror_server_stop) +endif() + +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\")/../.." IGNORE_UNCHANGED) + endif() + endforeach() + if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/h5fuse.sh") + file(RENAME "${CURRENT_PACKAGES_DIR}/bin/h5fuse.sh" "${CURRENT_PACKAGES_DIR}/tools/${PORT}/h5fuse.sh") + file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/bin/h5fuse.sh") + endif() endif() if(VCPKG_LIBRARY_LINKAGE STREQUAL static) @@ -130,5 +155,12 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") configure_file("${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" "${CURRENT_PACKAGES_DIR}/share/${PORT}/vcpkg-cmake-wrapper.cmake" @ONLY) +if("parallel" IN_LIST FEATURES) + file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/vcpkg-port-config.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +endif() + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/H5public.h" "#define H5public_H" "#define H5public_H\n#ifndef H5_BUILT_AS_DYNAMIC_LIB\n#define H5_BUILT_AS_DYNAMIC_LIB\n#endif\n") +endif() file(RENAME "${CURRENT_PACKAGES_DIR}/share/${PORT}/data/COPYING" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright") diff --git a/ports/hdf5/szip.patch b/ports/hdf5/szip.patch index 27b9c3dde47c7b..2646ede7ed4425 100644 --- a/ports/hdf5/szip.patch +++ b/ports/hdf5/szip.patch @@ -2,25 +2,17 @@ diff --git a/CMakeFilters.cmake b/CMakeFilters.cmake index d5f801e..141ab44 100644 --- a/CMakeFilters.cmake +++ b/CMakeFilters.cmake -@@ -117,8 +117,20 @@ if (HDF5_ENABLE_SZIP_SUPPORT) - set (LINK_COMP_LIBS ${LINK_COMP_LIBS} ${SZIP_LIBRARIES}) - endif () +@@ -142,7 +142,12 @@ if (HDF5_ENABLE_SZIP_SUPPORT) + set (LINK_COMP_LIBS ${LINK_COMP_LIBS} ${SZIP_LIBRARIES}) endif () -+ else() -+ find_package(szip CONFIG REQUIRED) - endif () -- if (SZIP_FOUND) -+ string(TOUPPER ${CMAKE_BUILD_TYPE} upper_build_type) -+ # SZIP_STATIC_LIBRARY will be used in cmake and pkgconfig, so it must be a absolute path -+ if (TARGET szip-shared) -+ if (WIN32) -+ get_target_property(SZIP_STATIC_LIBRARY szip-shared IMPORTED_IMPLIB_${upper_build_type}) -+ else() -+ get_target_property(SZIP_STATIC_LIBRARY szip-shared IMPORTED_LOCATION_${upper_build_type}) -+ endif() -+ elseif (TARGET szip-static) -+ get_target_property(SZIP_STATIC_LIBRARY szip-static IMPORTED_LOCATION_${upper_build_type}) -+ elseif (SZIP_FOUND) - set (H5_HAVE_FILTER_SZIP 1) - set (H5_HAVE_SZLIB_H 1) - set (H5_HAVE_LIBSZ 1) + 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-cmake-wrapper.cmake b/ports/hdf5/vcpkg-cmake-wrapper.cmake index 695befcdc98a7d..83457df599aacf 100644 --- a/ports/hdf5/vcpkg-cmake-wrapper.cmake +++ b/ports/hdf5/vcpkg-cmake-wrapper.cmake @@ -1,4 +1,3 @@ - if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.3) cmake_policy(PUSH) cmake_policy(SET CMP0057 NEW) diff --git a/ports/hdf5/vcpkg-port-config.cmake b/ports/hdf5/vcpkg-port-config.cmake new file mode 100644 index 00000000000000..89fa5ac317045e --- /dev/null +++ b/ports/hdf5/vcpkg-port-config.cmake @@ -0,0 +1,4 @@ +# This variable can be used for testing and for messages. +set(HDF5_WITH_PARALLEL [[ +HDF5 was built with parallel support. +]]) diff --git a/ports/hdf5/vcpkg.json b/ports/hdf5/vcpkg.json index 28d7104d137e97..0d460a3d7bf61f 100644 --- a/ports/hdf5/vcpkg.json +++ b/ports/hdf5/vcpkg.json @@ -1,8 +1,10 @@ { "name": "hdf5", - "version": "1.12.1", + "version": "1.14.4.3", + "port-version": 2, "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", "supports": "!uwp", "dependencies": [ { @@ -25,6 +27,9 @@ "fortran": { "description": "Build with fortran" }, + "map": { + "description": "Build the map API" + }, "parallel": { "description": "parallel support for HDF5", "dependencies": [ @@ -39,8 +44,12 @@ }, "threadsafe": { "description": "thread safety for HDF5", + "supports": "!(static & windows)", "dependencies": [ - "pthreads" + { + "name": "pthreads", + "platform": "!windows" + } ] }, "tools": { 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/healpix/vcpkg.json b/ports/healpix/vcpkg.json index 15b383f089fb74..998ddfe92477a2 100644 --- a/ports/healpix/vcpkg.json +++ b/ports/healpix/vcpkg.json @@ -1,7 +1,7 @@ { "name": "healpix", - "version-string": "1.12.10", - "port-version": 8, + "version": "1.12.10", + "port-version": 9, "description": "HEALPix is an acronym for Hierarchical Equal Area isoLatitude Pixelation of a sphere.", "homepage": "http://healpix.sourceforge.net/", "supports": "linux", diff --git a/ports/hello-imgui/fix-upw.patch b/ports/hello-imgui/fix-upw.patch new file mode 100644 index 00000000000000..03a84f04584559 --- /dev/null +++ b/ports/hello-imgui/fix-upw.patch @@ -0,0 +1,13 @@ +diff --git a/src/hello_imgui/internal/poor_man_log.cpp b/src/hello_imgui/internal/poor_man_log.cpp +index 3aad6f7..e9e474b 100644 +--- a/src/hello_imgui/internal/poor_man_log.cpp ++++ b/src/hello_imgui/internal/poor_man_log.cpp +@@ -18,7 +18,7 @@ void PoorManLog(const char* msg, ...) + va_end(args); + + #ifdef _MSC_VER +- OutputDebugString(buffer); ++ OutputDebugStringA(buffer); + #else + printf("%s", buffer); + #endif diff --git a/ports/hello-imgui/portfile.cmake b/ports/hello-imgui/portfile.cmake new file mode 100644 index 00000000000000..64926f2767c5d7 --- /dev/null +++ b/ports/hello-imgui/portfile.cmake @@ -0,0 +1,128 @@ +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 cc39a7d1a6b360afb26305bcca4d4c83fce69fb7babc26e452160985c127771b24b51de7c1a85c53b93e6fa1bc87bfc7a57e6fb7216e5bf4136c449771d8bcc4 + HEAD_REF master + PATCHES + fix-upw.patch +) + +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..4e4636a811c192 --- /dev/null +++ b/ports/hello-imgui/vcpkg.json @@ -0,0 +1,121 @@ +{ + "name": "hello-imgui", + "version": "1.5.2", + "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 e6946232a3bb0e..b5e74b11f06c2d 100644 --- a/ports/hexl/portfile.cmake +++ b/ports/hexl/portfile.cmake @@ -1,38 +1,30 @@ -# This library only supports "x64" architecture -vcpkg_fail_port_install(ON_ARCH "x86" "arm" "arm64") +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO intel/hexl - REF 0858760dc957280e8eb8953af4b4b83879d7b8a4 - SHA512 f2400c4bf32d22904f5917a396fdf6fc625a8832455437429abd54cae70da51cfc42a57dc176d1faeb76f7cd4569dd7499a8f302aef2ea8463d3e8ddc3132050 - HEAD_REF 1.2.3 + REF "v${VERSION}" + SHA512 1a5e42fdeac877f3b4ef87ab75ffa8280697e941d7a8f0f6dc8c5066f2dd405470530dfabdf12d846362bd3e7e6cd30fd1f11d8dd99bee5086d09371ba1da196 + HEAD_REF development ) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - set(HEXL_SHARED OFF) -else() - set(HEXL_SHARED ON) -endif() - -vcpkg_find_acquire_program(GIT) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" HEXL_SHARED) vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" DISABLE_PARALLEL_CONFIGURE OPTIONS - "-DHEXL_BENCHMARK=OFF" - "-DHEXL_COVERAGE=OFF" - "-DHEXL_TESTING=OFF" - "-DHEXL_SHARED_LIB=${HEXL_SHARED}" + -DHEXL_BENCHMARK=OFF + -DHEXL_COVERAGE=OFF + -DHEXL_TESTING=OFF + -DHEXL_SHARED_LIB=${HEXL_SHARED} ) vcpkg_cmake_install() vcpkg_fixup_pkgconfig() -vcpkg_cmake_config_fixup(PACKAGE_NAME "HEXL" CONFIG_PATH "lib/cmake/hexl-1.2.3") +vcpkg_cmake_config_fixup(PACKAGE_NAME "HEXL" CONFIG_PATH "lib/cmake/hexl-${VERSION}") +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_copy_pdbs() diff --git a/ports/hexl/vcpkg.json b/ports/hexl/vcpkg.json index 2b3adb89759019..50e37cc5824873 100644 --- a/ports/hexl/vcpkg.json +++ b/ports/hexl/vcpkg.json @@ -1,9 +1,10 @@ { "name": "hexl", - "version": "1.2.3", + "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", - "supports": "x64 & !(windows & !static)", + "license": "Apache-2.0", + "supports": "x64", "dependencies": [ "cpu-features", "easyloggingpp", diff --git a/ports/hffix/portfile.cmake b/ports/hffix/portfile.cmake index 6a421d731d1e73..1d4010ebae5d52 100644 --- a/ports/hffix/portfile.cmake +++ b/ports/hffix/portfile.cmake @@ -1,23 +1,21 @@ -# header only library +set(VCPKG_BUILD_TYPE release) # header-only port vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO jamesdbrock/hffix - REF v1.0.0 - SHA512 0043b789e6ffdc32eaf2736a8621dd7fd54e1a16aae33bb1d5f642da1b04d150ed42d8f9ddd046013242164854d9091540452153f09459d05f9bf4a186c7b860 + REF "v${VERSION}" + SHA512 155c0e0bd57d952523343e94b0160baf3b20d366ff8260340d96c2ec4e638c94d192c08b7204303b0fa8610beb5c71046f62fa8b0212b477aaab88e49974cac1 HEAD_REF master ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) +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(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 64e8946e9612e7..d8064e69b63b81 100644 --- a/ports/hffix/vcpkg.json +++ b/ports/hffix/vcpkg.json @@ -1,7 +1,17 @@ { "name": "hffix", - "version-string": "1.0.0", - "port-version": 1, + "version": "1.4.1", "description": "Financial Information Exchange Protocol C++ Library", - "homepage": "https://jamesdbrock.github.io/hffix" + "homepage": "https://jamesdbrock.github.io/hffix", + "license": "BSD-2-Clause", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/hidapi/portfile.cmake b/ports/hidapi/portfile.cmake index 1c9edd1ff0371c..729d2088ba7620 100644 --- a/ports/hidapi/portfile.cmake +++ b/ports/hidapi/portfile.cmake @@ -1,14 +1,20 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libusb/hidapi - REF hidapi-0.11.0 - SHA512 0de4abc963600d159ce231416c468b9e81a8361e4d2c2202988d6eb2e58a923700e9b9be639fbddc6bc14625131848409e2e88dbc4b34a1f8a726c8fa4692d92 + REF hidapi-${VERSION} + SHA512 66a045144f90b41438898b82f0398e80223323ebfe6e4f197d2713696bb3ae60f36aea5a37a9999b34b12294783fd7e4c28c6e785462559cbe21276009da1eac HEAD_REF master ) +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS +FEATURES + "pp-data-dump" HIDAPI_BUILD_PP_DATA_DUMP +) + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DHIDAPI_BUILD_HIDTEST=OFF + ${FEATURE_OPTIONS} ) vcpkg_cmake_install() @@ -16,6 +22,12 @@ vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) vcpkg_fixup_pkgconfig() vcpkg_copy_pdbs() +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\"" 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") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") diff --git a/ports/hidapi/vcpkg.json b/ports/hidapi/vcpkg.json index cefc523a421371..a23064c2ad9b05 100644 --- a/ports/hidapi/vcpkg.json +++ b/ports/hidapi/vcpkg.json @@ -1,6 +1,7 @@ { "name": "hidapi", - "version-semver": "0.11.0", + "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", @@ -18,5 +19,11 @@ "name": "vcpkg-cmake-config", "host": true } - ] + ], + "features": { + "pp-data-dump": { + "description": "Build pp_data_dump.exe tool, to store WIN32 HidD Preparsed Data as file", + "supports": "windows" + } + } } diff --git a/ports/highfive/fix-dependency-hdf5.patch b/ports/highfive/fix-dependency-hdf5.patch deleted file mode 100644 index 0220435fd3cbf1..00000000000000 --- a/ports/highfive/fix-dependency-hdf5.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff --git a/CMake/HighFiveTargetDeps.cmake b/CMake/HighFiveTargetDeps.cmake -index 51bc7b2..f04bf4c 100644 ---- a/CMake/HighFiveTargetDeps.cmake -+++ b/CMake/HighFiveTargetDeps.cmake -@@ -10,7 +10,13 @@ if(NOT TARGET libdeps) - if(NOT DEFINED HDF5_C_LIBRARIES) - set(HDF5_NO_FIND_PACKAGE_CONFIG_FILE TRUE) # Consistency - set(HDF5_PREFER_PARALLEL ${HIGHFIVE_PARALLEL_HDF5}) -- find_package(HDF5 REQUIRED) -+ find_package(hdf5 CONFIG REQUIRED) -+ set(HIGHFIVE_PARALLEL_HDF5 ${HDF5_ENABLE_PARALLEL}) -+ if(TARGET hdf5::hdf5-shared) -+ set(HDF5_C_LIBRARIES hdf5::hdf5-shared) -+ elseif(TARGET hdf5::hdf5-static) -+ set(HDF5_C_LIBRARIES hdf5::hdf5-static) -+ endif() - endif() - - if(HIGHFIVE_PARALLEL_HDF5 AND NOT HDF5_IS_PARALLEL) diff --git a/ports/highfive/fix-error-C1128.patch b/ports/highfive/fix-error-C1128.patch new file mode 100644 index 00000000000000..89b88960a3ecd2 --- /dev/null +++ b/ports/highfive/fix-error-C1128.patch @@ -0,0 +1,15 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 9d42b6e..e6d9f18 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -41,6 +41,10 @@ option(HIGHFIVE_BUILD_DOCS "Enable documentation building" ON) + option(HIGHFIVE_USE_INSTALL_DEPS "End applications by default use detected dependencies here" OFF) + mark_as_advanced(HIGHFIVE_USE_INSTALL_DEPS) + ++# Allow big object ++if(MSVC) ++ add_compile_options(/bigobj) ++endif() + + # Check compiler cxx_std requirements + # ----------------------------------- diff --git a/ports/highfive/portfile.cmake b/ports/highfive/portfile.cmake index 025d30014253f8..d475c65f959e22 100644 --- a/ports/highfive/portfile.cmake +++ b/ports/highfive/portfile.cmake @@ -1,10 +1,11 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO BlueBrain/HighFive - REF v2.3 - SHA512 5bf8bc6d3a57be39a4fd15f28f8c839706e2c8d6e2270f45ea39c28a2ac1e3c7f31ed2f48390a45a868c714c85f03f960a0bc8fad945c80b41f495e6f4aca36a + REF "v${VERSION}" + SHA512 8204f1cc6d54576d9eb100991d4c18b84af70254f0276ef346627f8be2458d25820b305d6fac36bdbb524dd55a1bdc29383c9897530507b46c34e53fa9cca34a HEAD_REF master - PATCHES fix-dependency-hdf5.patch + PATCHES + fix-error-C1128.patch ) vcpkg_check_features( @@ -13,24 +14,31 @@ vcpkg_check_features( boost HIGHFIVE_USE_BOOST tests HIGHFIVE_UNIT_TESTS xtensor HIGHFIVE_USE_XTENSOR + eigen3 HIGHFIVE_USE_EIGEN ) -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" HDF5_USE_STATIC_LIBRARIES) +if(HDF5_WITH_PARALLEL) + message(STATUS "${HDF5_WITH_PARALLEL} Enabling HIGHFIVE_PARALLEL_HDF5.") + list(APPEND FEATURE_OPTIONS "-DHIGHFIVE_PARALLEL_HDF5=ON") +endif() vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" + DISABLE_PARALLEL_CONFIGURE OPTIONS ${FEATURE_OPTIONS} -DHIGHFIVE_EXAMPLES=OFF -DHIGHFIVE_BUILD_DOCS=OFF - -DHDF5_USE_STATIC_LIBRARIES=${HDF5_USE_STATIC_LIBRARIES} + -DCMAKE_CATCH_DISCOVER_TESTS_DISCOVERY_MODE=PRE_TEST + MAYBE_UNUSED_VARIABLES + CMAKE_CATCH_DISCOVER_TESTS_DISCOVERY_MODE ) vcpkg_cmake_install() if("tests" IN_LIST FEATURES) vcpkg_copy_tools( - TOOL_NAMES + TOOL_NAMES tests_high_five_base tests_high_five_easy tests_high_five_multi_dims @@ -39,11 +47,12 @@ if("tests" IN_LIST FEATURES) endif() vcpkg_cmake_config_fixup(CONFIG_PATH share/HighFive/CMake) - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) -if(NOT (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin") - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share/HighFive) +if(NOT EXISTS "${CURRENT_PACKAGES_DIR}/share/HighFive/HighFiveConfig.cmake") + # left over with mixed case + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/HighFive") endif() -# Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") + +file(INSTALL "${CURRENT_PORT_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/highfive/usage b/ports/highfive/usage new file mode 100644 index 00000000000000..336af87bcce28c --- /dev/null +++ b/ports/highfive/usage @@ -0,0 +1,4 @@ +highfive provides CMake targets: + + find_package(HighFive CONFIG REQUIRED) + target_link_libraries(main PRIVATE HighFive) diff --git a/ports/highfive/vcpkg.json b/ports/highfive/vcpkg.json index a89959aa70f8c1..4af9e227bed339 100644 --- a/ports/highfive/vcpkg.json +++ b/ports/highfive/vcpkg.json @@ -1,11 +1,14 @@ { "name": "highfive", - "version": "2.3", + "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", "dependencies": [ - "hdf5", + { + "name": "hdf5", + "default-features": false + }, { "name": "vcpkg-cmake", "host": true @@ -21,19 +24,20 @@ "dependencies": [ "boost-multi-array", "boost-serialization", + "boost-system", "boost-ublas" ] }, + "eigen3": { + "description": "Enable Eigen testing", + "dependencies": [ + "eigen3" + ] + }, "tests": { "description": "Build unit tests", "dependencies": [ - "boost-test", - { - "name": "highfive", - "features": [ - "boost" - ] - } + "catch2" ] }, "xtensor": { diff --git a/ports/highs/fix-compiler.patch b/ports/highs/fix-compiler.patch new file mode 100644 index 00000000000000..b6961601042cee --- /dev/null +++ b/ports/highs/fix-compiler.patch @@ -0,0 +1,28 @@ +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 new file mode 100644 index 00000000000000..bffb0eaf5f09af --- /dev/null +++ b/ports/highs/fix-hconfig-path.patch @@ -0,0 +1,21 @@ +diff --git a/src/HConfig.h.in b/src/HConfig.h.in +index 198e07b0d..0d9eba53f 100644 +--- a/src/HConfig.h.in ++++ b/src/HConfig.h.in +@@ -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 +@@ -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@ +-#define HIGHS_DIR "@CMAKE_SOURCE_DIR@" ++#define HIGHS_DIR "" + + #endif /* HCONFIG_H_ */ diff --git a/ports/highs/portfile.cmake b/ports/highs/portfile.cmake new file mode 100644 index 00000000000000..461530f6b0abf2 --- /dev/null +++ b/ports/highs/portfile.cmake @@ -0,0 +1,27 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO ERGO-Code/HiGHS + REF "v${VERSION}" + SHA512 9c8172fa22952859e1064d1823d327b51f83ff180b58153cd0a06ca6f756e0aa1538622de2bb5cee7caf5884e9a3cc9d492dd830a422f4cac63f884a4720c997 + HEAD_REF master + PATCHES + fix-hconfig-path.patch + fix-compiler.patch +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DFAST_BUILD=ON + -DBUILD_TESTING=OFF + -DBUILD_EXAMPLES=OFF + -DCMAKE_REQUIRE_FIND_PACKAGE_ZLIB=ON +) + +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.txt") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/highs/vcpkg.json b/ports/highs/vcpkg.json new file mode 100644 index 00000000000000..46d04bf2cce47b --- /dev/null +++ b/ports/highs/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "highs", + "version": "1.7.2", + "description": "High performance library to solve linear, mixed-integer, and convex quadratic optimization problems.", + "homepage": "https://highs.dev", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "zlib" + ] +} 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 8a7b9c50b620c8..7c7437393f893d 100644 --- a/ports/highway/portfile.cmake +++ b/ports/highway/portfile.cmake @@ -1,27 +1,36 @@ -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/highway - REF 0.14.2 - SHA512 fc1a35463c95c45b646c53f91a9996112726de1d588dcd4d25a7d366840f704ad9a4c0bb6e0a001e929409f04aad6922cbffcf93774a0c360aff875956c7cc8d + REF "${VERSION}" + 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 + FEATURES + contrib HWY_ENABLE_CONTRIB ) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DBUILD_TESTING=OFF + ${FEATURE_OPTIONS} + -DHWY_ENABLE_INSTALL=ON + -DHWY_ENABLE_EXAMPLES=OFF + -DHWY_ENABLE_TESTS=OFF ) vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME hwy CONFIG_PATH lib/cmake/hwy) -# remove test-related pkg-config files that break vcpkg_fixup_pkgconfig -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libhwy-test.pc") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libhwy-test.pc") - -vcpkg_fixup_pkgconfig() +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/hwy/highway_export.h" "defined(HWY_SHARED_DEFINE)" "1") +endif() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +vcpkg_fixup_pkgconfig() -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/highway/usage b/ports/highway/usage new file mode 100644 index 00000000000000..722fc3544ddfea --- /dev/null +++ b/ports/highway/usage @@ -0,0 +1,4 @@ +highway provides CMake targets: + + find_package(hwy CONFIG REQUIRED) + target_link_libraries(main PRIVATE hwy::hwy) diff --git a/ports/highway/vcpkg.json b/ports/highway/vcpkg.json index 90cfe5de98e463..e53821b878af32 100644 --- a/ports/highway/vcpkg.json +++ b/ports/highway/vcpkg.json @@ -1,6 +1,6 @@ { "name": "highway", - "version-semver": "0.14.2", + "version": "1.2.0", "description": "Performance-portable, length-agnostic SIMD with runtime dispatch", "homepage": "https://github.com/google/highway", "license": "Apache-2.0", @@ -8,6 +8,16 @@ { "name": "vcpkg-cmake", "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "contrib": { + "description": "SIMD related utility functions", + "supports": "!uwp" } - ] + } } diff --git a/ports/hikogui/portfile.cmake b/ports/hikogui/portfile.cmake new file mode 100644 index 00000000000000..8a9da44e8cab76 --- /dev/null +++ b/ports/hikogui/portfile.cmake @@ -0,0 +1,24 @@ + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO hikogui/hikogui + REF v0.8.1 + SHA512 1a711aeb83d4d84e89ba4895aea321b1e5120fc20e8124237ee575b14955edcfa991965cb80628e7c485a44ba13245ba76781582339f62939a8180a629de996a + HEAD_REF main +) + +set(ENV{VULKAN_SDK} "${CURRENT_INSTALLED_DIR}") + +vcpkg_cmake_configure( + SOURCE_PATH ${SOURCE_PATH} + OPTIONS + -DBUILD_TESTING=OFF + -DBUILD_EXAMPLES=OFF + -DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=ON +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(NO_PREFIX_CORRECTION) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE_1_0.txt") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") diff --git a/ports/hikogui/vcpkg.json b/ports/hikogui/vcpkg.json new file mode 100644 index 00000000000000..cff97ce1282a4d --- /dev/null +++ b/ports/hikogui/vcpkg.json @@ -0,0 +1,29 @@ +{ + "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 + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "vulkan", + "vulkan-memory-allocator" + ] +} diff --git a/ports/hiredis/fix-cmake-conf-install-dir.patch b/ports/hiredis/fix-cmake-conf-install-dir.patch new file mode 100644 index 00000000000000..d0748218752f92 --- /dev/null +++ b/ports/hiredis/fix-cmake-conf-install-dir.patch @@ -0,0 +1,22 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index fca0ee8..b67888e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -125,7 +127,7 @@ export(EXPORT hiredis-targets + if(WIN32) + SET(CMAKE_CONF_INSTALL_DIR share/hiredis) + else() +- SET(CMAKE_CONF_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}/cmake/hiredis) ++ SET(CMAKE_CONF_INSTALL_DIR share/hiredis) + endif() + SET(INCLUDE_INSTALL_DIR include) + include(CMakePackageConfigHelpers) +@@ -200,7 +204,7 @@ IF(ENABLE_SSL) + if(WIN32) + SET(CMAKE_CONF_INSTALL_DIR share/hiredis_ssl) + else() +- SET(CMAKE_CONF_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}/cmake/hiredis_ssl) ++ SET(CMAKE_CONF_INSTALL_DIR share/hiredis_ssl) + endif() + configure_package_config_file(hiredis_ssl-config.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/hiredis_ssl-config.cmake + INSTALL_DESTINATION ${CMAKE_CONF_INSTALL_DIR} diff --git a/ports/hiredis/fix-feature-example.patch b/ports/hiredis/fix-feature-example.patch deleted file mode 100644 index eecca4086bfa9f..00000000000000 --- a/ports/hiredis/fix-feature-example.patch +++ /dev/null @@ -1,61 +0,0 @@ -diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt -index dd3a313..8c69d3a 100644 ---- a/examples/CMakeLists.txt -+++ b/examples/CMakeLists.txt -@@ -19,16 +19,25 @@ if (LIBEV) - TARGET_LINK_LIBRARIES(example-libev hiredis ev) - ENDIF() - --FIND_PATH(LIBEVENT event.h) --if (LIBEVENT) -+FIND_PACKAGE(Libevent CONFIG REQUIRED) -+FIND_PATH(LIBEVENT_INCLUDES evutil.h) -+if (UNIX) - ADD_EXECUTABLE(example-libevent example-libevent) -- TARGET_LINK_LIBRARIES(example-libevent hiredis event) -+ TARGET_LINK_LIBRARIES(example-libevent hiredis ${LIBEVENT_LIBRARIES}) -+ TARGET_INCLUDE_DIRECTORIES(example-libevent PRIVATE ${LIBEVENT_INCLUDES}) - ENDIF() - -+FIND_LIBRARY(UV_LIBRARY libuv) - FIND_PATH(LIBUV uv.h) - IF (LIBUV) - ADD_EXECUTABLE(example-libuv example-libuv.c) -- TARGET_LINK_LIBRARIES(example-libuv hiredis uv) -+ if(WIN32) -+ set(LIB_LISTS Iphlpapi.lib Psapi.lib Userenv.lib) -+ else() -+ set(LIB_LISTS) -+ endif() -+ TARGET_LINK_LIBRARIES(example-libuv hiredis ${UV_LIBRARY} ${LIB_LISTS}) -+ TARGET_INCLUDE_DIRECTORIES(example-libuv PRIVATE ${LIBUV}) - ENDIF() - - IF (APPLE) -@@ -38,12 +52,24 @@ IF (APPLE) - ENDIF() - - IF (ENABLE_SSL) -+ FIND_PACKAGE(OpenSSL REQUIRED) -+ IF (WIN32) -+ FIND_PACKAGE(pthreads REQUIRED) -+ SET(THREADS_LIBS PThreads4W::PThreads4W) -+ ELSE() -+ FIND_PACKAGE(Threads) -+ SET(THREADS_LIBS ${CMAKE_THREAD_LIBS_INIT}) -+ ENDIF() - ADD_EXECUTABLE(example-ssl example-ssl.c) -- TARGET_LINK_LIBRARIES(example-ssl hiredis hiredis_ssl) -+ if(WIN32) -+ TARGET_LINK_LIBRARIES(example-ssl hiredis hiredis_ssl OpenSSL::SSL OpenSSL::Crypto ${THREADS_LIBS} crypt32.lib) -+ else() -+ TARGET_LINK_LIBRARIES(example-ssl hiredis hiredis_ssl OpenSSL::SSL OpenSSL::Crypto ${THREADS_LIBS}) -+ endif() - ENDIF() - - ADD_EXECUTABLE(example example.c) --TARGET_LINK_LIBRARIES(example hiredis) -+TARGET_LINK_LIBRARIES(example hiredis ${LIBEVENT_LIBRARIES}) - - ADD_EXECUTABLE(example-push example-push.c) - TARGET_LINK_LIBRARIES(example-push hiredis) diff --git a/ports/hiredis/fix-include-path.patch b/ports/hiredis/fix-include-path.patch deleted file mode 100644 index 8bfeae09d7eb9a..00000000000000 --- a/ports/hiredis/fix-include-path.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 7eafeb8..623c586 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -49,7 +49,7 @@ IF(WIN32 OR MINGW) - TARGET_LINK_LIBRARIES(hiredis PRIVATE ws2_32) - ENDIF() - --TARGET_INCLUDE_DIRECTORIES(hiredis PUBLIC $ $) -+TARGET_INCLUDE_DIRECTORIES(hiredis PUBLIC $ $) - - CONFIGURE_FILE(hiredis.pc.in hiredis.pc @ONLY) - diff --git a/ports/hiredis/portfile.cmake b/ports/hiredis/portfile.cmake index 7ba78cda34dddc..907195f6ed3c95 100644 --- a/ports/hiredis/portfile.cmake +++ b/ports/hiredis/portfile.cmake @@ -1,42 +1,52 @@ -if (VCPKG_TARGET_IS_WINDOWS) - vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -endif() - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO redis/hiredis - REF v1.0.2 - SHA512 86497a1c21869bbe535378885eee6dbd594ef96325966511a3513f81e501af0f5ac7fed864f3230372f3ac7a23c05bad477fa5aa90b9747c9fb1408028174f9b + REF "v${VERSION}" + SHA512 f8984abb29c09e7e6b56e656616c5155f36c53da4161a2d4c85688486411cadcdf20aa1adb9bda208c500b401c750871be1c8d58ba9df5328634d00e9d1b6589 HEAD_REF master PATCHES - fix-feature-example.patch - support-static-in-win.patch fix-timeval.patch - fix-include-path.patch fix-ssize_t.patch + support-static.patch + fix-cmake-conf-install-dir.patch ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES ssl ENABLE_SSL - example ENABLE_EXAMPLES ) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${FEATURE_OPTIONS} + -DDISABLE_TESTS=ON + -DBUILD_SHARED_LIBS=OFF ) vcpkg_cmake_install() vcpkg_copy_pdbs() -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +vcpkg_fixup_pkgconfig() + vcpkg_cmake_config_fixup() if("ssl" IN_LIST FEATURES) vcpkg_cmake_config_fixup(PACKAGE_NAME hiredis_ssl CONFIG_PATH share/hiredis_ssl) endif() +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/hiredis/hiredis.h" +[[typedef long long ssize_t; +#define _SSIZE_T_ /* for compatibility with libuv */]] +[[typedef intptr_t ssize_t;]] +) +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/hiredis/sds.h" +[[typedef long long ssize_t; +#define SSIZE_MAX (LLONG_MAX >> 1)]] +[[typedef intptr_t ssize_t; +#define SSIZE_MAX INTPTR_MAX]] +) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + # Handle copyright file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) -vcpkg_fixup_pkgconfig() diff --git a/ports/hiredis/support-static-in-win.patch b/ports/hiredis/support-static-in-win.patch deleted file mode 100644 index 47ea4bef666f00..00000000000000 --- a/ports/hiredis/support-static-in-win.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 9e78894..87aba5b 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -22,4 +22,4 @@ PROJECT(hiredis VERSION "${VERSION}") - ENDIF() - --ADD_LIBRARY(hiredis SHARED ${hiredis_sources}) -+ADD_LIBRARY(hiredis ${hiredis_sources}) - -@@ -60,5 +60,5 @@ IF(ENABLE_SSL) - SET(hiredis_ssl_sources - ssl.c) -- ADD_LIBRARY(hiredis_ssl SHARED -+ ADD_LIBRARY(hiredis_ssl - ${hiredis_ssl_sources}) - diff --git a/ports/hiredis/support-static.patch b/ports/hiredis/support-static.patch new file mode 100644 index 00000000000000..e9f0bb2d87acd1 --- /dev/null +++ b/ports/hiredis/support-static.patch @@ -0,0 +1,22 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b7d6ee8..8cf6c4d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -45,6 +45,8 @@ ENDIF() + + ADD_LIBRARY(hiredis ${hiredis_sources}) + ADD_LIBRARY(hiredis::hiredis ALIAS hiredis) ++ADD_LIBRARY(hiredis_static STATIC ${hiredis_sources}) ++SET_TARGET_PROPERTIES(hiredis_static PROPERTIES EXCLUDE_FROM_ALL TRUE) + set(hiredis_export_name hiredis CACHE STRING "Name of the exported target") + set_target_properties(hiredis PROPERTIES EXPORT_NAME ${hiredis_export_name}) + +@@ -156,6 +158,8 @@ IF(ENABLE_SSL) + ssl.c) + ADD_LIBRARY(hiredis_ssl ${hiredis_ssl_sources}) + ADD_LIBRARY(hiredis::hiredis_ssl ALIAS hiredis_ssl) ++ ADD_LIBRARY(hiredis_ssl_static STATIC ${hiredis_ssl_sources}) ++ SET_TARGET_PROPERTIES(hiredis_ssl_static PROPERTIES EXCLUDE_FROM_ALL TRUE) + + IF (APPLE AND BUILD_SHARED_LIBS) + SET_PROPERTY(TARGET hiredis_ssl PROPERTY LINK_FLAGS "-Wl,-undefined -Wl,dynamic_lookup") diff --git a/ports/hiredis/vcpkg.json b/ports/hiredis/vcpkg.json index 32b9954975346c..d4f1e71518bc2b 100644 --- a/ports/hiredis/vcpkg.json +++ b/ports/hiredis/vcpkg.json @@ -1,10 +1,9 @@ { "name": "hiredis", - "version": "1.0.2", - "port-version": 1, + "version": "1.2.0", "description": "Hiredis is a minimalistic C client library for the Redis database.", "homepage": "https://github.com/redis/hiredis", - "supports": "!(windows & !static)", + "license": "BSD-3-Clause", "dependencies": [ { "name": "vcpkg-cmake", @@ -16,14 +15,6 @@ } ], "features": { - "example": { - "description": "Build example", - "dependencies": [ - "libevent", - "libuv", - "pthread" - ] - }, "ssl": { "description": "Build hiredis_ssl for SSL support", "dependencies": [ 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/portfile.cmake b/ports/hnswlib/portfile.cmake new file mode 100644 index 00000000000000..d02ecd207ce5bf --- /dev/null +++ b/ports/hnswlib/portfile.cmake @@ -0,0 +1,22 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO nmslib/hnswlib + REF "v${VERSION}" + SHA512 2bac86547374ef762083f33b5209c7c02c89b3270442dda2bc80fbc7b6a33766cb81248841deddc2ca1f7c49e3e19889955f45c91d0b601d1c883a5e1c930794 + HEAD_REF master +) + +set(VCPKG_BUILD_TYPE "release") # header-only port + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DHNSWLIB_EXAMPLES=OFF +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/hnswlib) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/hnswlib/vcpkg.json b/ports/hnswlib/vcpkg.json new file mode 100644 index 00000000000000..9eb1503f64112c --- /dev/null +++ b/ports/hnswlib/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "hnswlib", + "version": "0.8.0", + "description": "Header-only library for fast approximate nearest neighbors", + "homepage": "https://github.com/nmslib/hnswlib", + "license": "Apache-2.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/hps/portfile.cmake b/ports/hps/portfile.cmake new file mode 100644 index 00000000000000..2104177fe393ce --- /dev/null +++ b/ports/hps/portfile.cmake @@ -0,0 +1,20 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO jl2922/hps + REF 8d1403697a2fad6ddf02c7afb190596ca68b2105 + SHA512 e0c22de8a684891a5b6faa968c72782ffb44c5359ce53a4cbd74abf5e1b6d5d1ff30ce96a4fc4c38fc7a0222d6874eab47b76c5a87fce1c43285a915d0f55814 + HEAD_REF master +) + +# Install header files +file(INSTALL + DIRECTORY + "${SOURCE_PATH}/src/" + DESTINATION + "${CURRENT_PACKAGES_DIR}/include/${PORT}" + FILES_MATCHING PATTERN "*.h" ) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/${PORT}/benchmark") + +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/hps/usage b/ports/hps/usage new file mode 100644 index 00000000000000..198508212306b3 --- /dev/null +++ b/ports/hps/usage @@ -0,0 +1,4 @@ +The package hps is header only and can be used from CMake via: + + find_path(HPS_INCLUDE_DIRS "hps/hps.h") + target_include_directories(main PRIVATE ${HPS_INCLUDE_DIRS}) diff --git a/ports/hps/vcpkg.json b/ports/hps/vcpkg.json new file mode 100644 index 00000000000000..2e57b32691a763 --- /dev/null +++ b/ports/hps/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "hps", + "version-date": "2022-01-18", + "description": "A C++11 High Performance Serialization Library.", + "homepage": "https://github.com/jl2922/hps", + "license": "MIT" +} diff --git a/ports/hpx/portfile.cmake b/ports/hpx/portfile.cmake index 3c3fd2762a785a..cf5a57b43ee386 100644 --- a/ports/hpx/portfile.cmake +++ b/ports/hpx/portfile.cmake @@ -1,14 +1,33 @@ - -vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) +endif() +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" HPX_WITH_STATIC_LINKING) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO STEllAR-GROUP/hpx - REF 1.7.1 - SHA512 6bdb294da393a198abf81d5f63799a066334755eed0fda40bbfc4e9a774b6e19a3e5ad7ab45c989d31f3797e7b547bb552c29f51b552d9a79d166f86aee375a3 - HEAD_REF stable + REF "v${VERSION}" + SHA512 e1cc9fa72cba4e66b5d6eff2487e93d5d553c32e6eebcfe9131bf69c5b595ab72295ff0986c81d5dc6a7caa8303d6709df91333f64efe59ee256d99a8c289dc5 + HEAD_REF master ) +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + "zlib" HPX_WITH_COMPRESSION_ZLIB + "snappy" HPX_WITH_COMPRESSION_SNAPPY + "bzip2" HPX_WITH_COMPRESSION_BZIP2 + "cuda" HPX_WITH_CUDA + "mpi" HPX_WITH_PARCELPORT_MPI + "mpi" HPX_WITH_PARCELPORT_MPI_MULTITHREADED +) + +if(NOT VCPKG_TARGET_ARCHITECTURE MATCHES "(x64|x86)") + list(APPEND FEATURE_OPTIONS "-DHPX_WITH_GENERIC_CONTEXT_COROUTINES=ON") +endif() + +file(REMOVE "${SOURCE_PATH}/cmake/FindBZip2.cmake") # Outdated + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS @@ -17,8 +36,16 @@ vcpkg_cmake_configure( -DHPX_WITH_EXAMPLES=OFF -DHPX_WITH_TOOLS=OFF -DHPX_WITH_RUNTIME=OFF + -DHPX_USE_CMAKE_CXX_STANDARD=ON + ${FEATURE_OPTIONS} + -DHPX_WITH_PKGCONFIG=OFF + -DHPX_WITH_STATIC_LINKING=${HPX_WITH_STATIC_LINKING} + -DHPX_WITH_PARCELPORT_TCP=ON + -DHPX_WITH_THREAD_TARGET_ADDRESS=ON + -DHPX_WITH_CHECK_MODULE_DEPENDENCIES=ON + -DHPX_WITH_THREAD_IDLE_RATES=ON + -DVCPKG_HOST_TRIPLET=${_HOST_TRIPLET} ) - vcpkg_cmake_install() # post build cleanup @@ -52,36 +79,21 @@ file(INSTALL "${SOURCE_PATH}/LICENSE_1_0.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) -file(GLOB DLLS "${CURRENT_PACKAGES_DIR}/lib/*.dll") -if(DLLS) - file(COPY ${DLLS} DESTINATION "${CURRENT_PACKAGES_DIR}/bin") - file(REMOVE ${DLLS}) -endif() - -file(GLOB DLLS "${CURRENT_PACKAGES_DIR}/lib/hpx/*.dll") -if(DLLS) - file(COPY ${DLLS} DESTINATION "${CURRENT_PACKAGES_DIR}/bin/hpx") - file(REMOVE ${DLLS}) -endif() - -file(GLOB DLLS "${CURRENT_PACKAGES_DIR}/debug/lib/*.dll") -if(DLLS) - file(COPY ${DLLS} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin") - file(REMOVE ${DLLS}) -endif() - -file(GLOB DLLS "${CURRENT_PACKAGES_DIR}/debug/lib/hpx/*.dll") -if(DLLS) - file(COPY ${DLLS} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin/hpx") - file(REMOVE ${DLLS}) -endif() - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") vcpkg_fixup_pkgconfig() -vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/bin/hpxcxx" "\"${CURRENT_PACKAGES_DIR}\"" "os.path.dirname(os.path.dirname(os.path.realpath(__file__)))") -vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/bin/hpxcxx" "\"${CURRENT_PACKAGES_DIR}/debug\"" "os.path.dirname(os.path.dirname(os.path.realpath(__file__)))") +file(REMOVE "${CURRENT_PACKAGES_DIR}/bin/hpxcxx" "${CURRENT_PACKAGES_DIR}/debug/bin/hpxcxx") + +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'" IGNORE_UNCHANGED) +endif() + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") +endif() -vcpkg_copy_pdbs() +configure_file("${CMAKE_CURRENT_LIST_DIR}/usage" "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" COPYONLY) diff --git a/ports/hpx/usage b/ports/hpx/usage new file mode 100644 index 00000000000000..cf471d0596c7d9 --- /dev/null +++ b/ports/hpx/usage @@ -0,0 +1,4 @@ +The port hpx provides CMake targets: + + find_package(HPX REQUIRED) + target_link_libraries(main PRIVATE HPX::hpx) diff --git a/ports/hpx/vcpkg.json b/ports/hpx/vcpkg.json index 76fdb787236e90..4555261663bde6 100644 --- a/ports/hpx/vcpkg.json +++ b/ports/hpx/vcpkg.json @@ -1,12 +1,14 @@ { "name": "hpx", - "version-semver": "1.7.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." ], "homepage": "https://github.com/STEllAR-GROUP/hpx", + "license": "BSL-1.0", + "supports": "!(windows & x86)", "dependencies": [ "asio", "boost-accumulators", @@ -23,7 +25,15 @@ "boost-throw-exception", "boost-variant", "boost-winapi", + { + "name": "gperftools", + "platform": "linux" + }, "hwloc", + { + "name": "pkgconf", + "host": true + }, { "name": "vcpkg-cmake", "host": true @@ -32,5 +42,43 @@ "name": "vcpkg-cmake-config", "host": true } - ] + ], + "default-features": [ + "bzip2", + "mpi", + "snappy", + "zlib" + ], + "features": { + "bzip2": { + "description": "Build with bzip2 compression", + "dependencies": [ + "bzip2" + ] + }, + "cuda": { + "description": "Build with CUDA support", + "dependencies": [ + "cuda" + ] + }, + "mpi": { + "description": "Build with MPI parcelport", + "dependencies": [ + "mpi" + ] + }, + "snappy": { + "description": "Build with snappy compression", + "dependencies": [ + "snappy" + ] + }, + "zlib": { + "description": "Build with zlib compression", + "dependencies": [ + "zlib" + ] + } + } } 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/http-parser/portfile.cmake b/ports/http-parser/portfile.cmake index 9aa59177357e4d..fd016b910e46e3 100644 --- a/ports/http-parser/portfile.cmake +++ b/ports/http-parser/portfile.cmake @@ -8,19 +8,17 @@ vcpkg_from_github( HEAD_REF master ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-http-parser TARGET_PATH share/unofficial-http-parser) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-http-parser) # Handle copyright -file(COPY ${SOURCE_PATH}/LICENSE-MIT DESTINATION ${CURRENT_PACKAGES_DIR}/share/http-parser) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/http-parser/LICENSE-MIT ${CURRENT_PACKAGES_DIR}/share/http-parser/copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE-MIT" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/http-parser/vcpkg.json b/ports/http-parser/vcpkg.json index bd316b2a24a0ea..943970428405f4 100644 --- a/ports/http-parser/vcpkg.json +++ b/ports/http-parser/vcpkg.json @@ -1,7 +1,17 @@ { "name": "http-parser", - "version-string": "2.9.4", - "port-version": 1, + "version": "2.9.4", + "port-version": 3, "description": "HTTP Parser.", - "homepage": "https://github.com/nodejs/http-parser" + "homepage": "https://github.com/nodejs/http-parser", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/hungarian/portfile.cmake b/ports/hungarian/portfile.cmake index dc02cdb2eb7e48..c988428c546ce3 100644 --- a/ports/hungarian/portfile.cmake +++ b/ports/hungarian/portfile.cmake @@ -1,29 +1,28 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_download_distfile(ARCHIVE - URLS "http://www2.informatik.uni-freiburg.de/~stachnis/misc/libhungarian-v0.1.3.tgz" - FILENAME "libhungarian-v0.1.3.tgz" + URLS "http://www2.informatik.uni-freiburg.de/~stachnis/misc/libhungarian-v${VERSION}.tgz" + FILENAME "libhungarian-v${VERSION}.tgz" SHA512 1fa105e351c307c07bb96892c9d4c44b167d92cbed80962a8653ac35b8afe00fcf5dcc2d920b95671d6c3cd86745362a64dd8dc173623a8179006e2c7b2cbc69 ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" NO_REMOVE_ONE_LEVEL ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets() +vcpkg_cmake_config_fixup() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") # Handle copyright -file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/hungarian RENAME copyright) +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/hungarian/vcpkg.json b/ports/hungarian/vcpkg.json index 3d74f6cde35d7b..9021ac264ba866 100644 --- a/ports/hungarian/vcpkg.json +++ b/ports/hungarian/vcpkg.json @@ -1,6 +1,16 @@ { "name": "hungarian", - "version-string": "v0.1.3", - "port-version": 1, - "description": "C-implementation of the Hungarian Method: finding the optimal assignment (assigning a set of jobs to a set of machines) in O(n^3), where n=max{#jobs, #machines}. The implementation is a sligntly enhanced version of the implementation provided by the Stanford GraphBase" + "version": "0.1.3", + "port-version": 3, + "description": "C-implementation of the Hungarian Method: finding the optimal assignment (assigning a set of jobs to a set of machines) in O(n^3), where n=max{#jobs, #machines}. The implementation is a sligntly enhanced version of the implementation provided by the Stanford GraphBase", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/hunspell/0001_fix_unistd.patch b/ports/hunspell/0001_fix_unistd.patch deleted file mode 100644 index 79a48d824f4bff..00000000000000 --- a/ports/hunspell/0001_fix_unistd.patch +++ /dev/null @@ -1,78 +0,0 @@ -From 9f33c841afe51be517eaea318d46985c596c94ff Mon Sep 17 00:00:00 2001 -From: Mikhail Paulyshka -Date: Tue, 25 Jul 2017 01:58:39 +0300 -Subject: [PATCH] tools/hzip: fix build with MSVC - ---- - src/tools/hzip.cxx | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/tools/hzip.cxx b/src/tools/hzip.cxx -index ef1864f..d284c64 100644 ---- a/src/tools/hzip.cxx -+++ b/src/tools/hzip.cxx -@@ -41,7 +41,9 @@ - #include - #include - #include -+#ifdef HAVE_UNISTD_H - #include -+#endif /* HAVE_UNISTD_H */ - #include - #include - --- -2.12.2.windows.2 - -From 840f920bcd370668b9e788b3c8272eca1f20ce3a Mon Sep 17 00:00:00 2001 -From: Mikhail Paulyshka -Date: Tue, 25 Jul 2017 01:55:13 +0300 -Subject: [PATCH] tools/unmunch: fix build with MSVC - ---- - src/tools/unmunch.cxx | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/tools/unmunch.cxx b/src/tools/unmunch.cxx -index 44b4cb1..2144370 100644 ---- a/src/tools/unmunch.cxx -+++ b/src/tools/unmunch.cxx -@@ -42,7 +42,9 @@ - #include - #include - #include -+#ifdef HAVE_UNISTD_H - #include -+#endif /* HAVE_UNISTD_H */ - #include - #include - #include --- -2.12.2.windows.2 - -From 1c231aa84624082a0fa52d59be8c449bfe1fadd1 Mon Sep 17 00:00:00 2001 -From: Mikhail Paulyshka -Date: Tue, 25 Jul 2017 01:50:21 +0300 -Subject: [PATCH] tools/munch: fix build with MSVC - -Include only if exists ---- - src/tools/munch.cxx | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/tools/munch.cxx b/src/tools/munch.cxx -index 17fc6fd..8503abe 100644 ---- a/src/tools/munch.cxx -+++ b/src/tools/munch.cxx -@@ -40,7 +40,9 @@ - #include - #include - #include -+#ifdef HAVE_UNISTD_H - #include -+#endif /* HAVE_UNISTD_H */ - #include - #include - #include --- -2.12.2.windows.2 diff --git a/ports/hunspell/0002-disable-test.patch b/ports/hunspell/0002-disable-test.patch deleted file mode 100644 index e475cba85f45c8..00000000000000 --- a/ports/hunspell/0002-disable-test.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff --git a/msvc/Hunspell.sln b/msvc/Hunspell.sln -index 5607c8d..dabd755 100644 ---- a/msvc/Hunspell.sln -+++ b/msvc/Hunspell.sln -@@ -5,8 +5,6 @@ VisualStudioVersion = 14.0.25420.1 - MinimumVisualStudioVersion = 10.0.40219.1 - Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libhunspell", "libhunspell.vcxproj", "{53609BB3-D874-465C-AF7B-DF626DB0D89B}" - EndProject --Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testparser", "testparser.vcxproj", "{611BF6C7-332A-49BB-B2A3-80AFD5B785D9}" --EndProject - Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "hunspell", "hunspell.vcxproj", "{6A0453F4-B12A-4810-B9A2-8AB059316ED7}" - EndProject - Global -@@ -37,22 +35,6 @@ Global - {53609BB3-D874-465C-AF7B-DF626DB0D89B}.Release|Win32.Build.0 = Release|Win32 - {53609BB3-D874-465C-AF7B-DF626DB0D89B}.Release|x64.ActiveCfg = Release|x64 - {53609BB3-D874-465C-AF7B-DF626DB0D89B}.Release|x64.Build.0 = Release|x64 -- {611BF6C7-332A-49BB-B2A3-80AFD5B785D9}.Debug_dll|Win32.ActiveCfg = Debug|Win32 -- {611BF6C7-332A-49BB-B2A3-80AFD5B785D9}.Debug_dll|Win32.Build.0 = Debug|Win32 -- {611BF6C7-332A-49BB-B2A3-80AFD5B785D9}.Debug_dll|x64.ActiveCfg = Debug|x64 -- {611BF6C7-332A-49BB-B2A3-80AFD5B785D9}.Debug_dll|x64.Build.0 = Debug|x64 -- {611BF6C7-332A-49BB-B2A3-80AFD5B785D9}.Debug|Win32.ActiveCfg = Debug|Win32 -- {611BF6C7-332A-49BB-B2A3-80AFD5B785D9}.Debug|Win32.Build.0 = Debug|Win32 -- {611BF6C7-332A-49BB-B2A3-80AFD5B785D9}.Debug|x64.ActiveCfg = Debug|x64 -- {611BF6C7-332A-49BB-B2A3-80AFD5B785D9}.Debug|x64.Build.0 = Debug|x64 -- {611BF6C7-332A-49BB-B2A3-80AFD5B785D9}.Release_dll|Win32.ActiveCfg = Release|Win32 -- {611BF6C7-332A-49BB-B2A3-80AFD5B785D9}.Release_dll|Win32.Build.0 = Release|Win32 -- {611BF6C7-332A-49BB-B2A3-80AFD5B785D9}.Release_dll|x64.ActiveCfg = Release|x64 -- {611BF6C7-332A-49BB-B2A3-80AFD5B785D9}.Release_dll|x64.Build.0 = Release|x64 -- {611BF6C7-332A-49BB-B2A3-80AFD5B785D9}.Release|Win32.ActiveCfg = Release|Win32 -- {611BF6C7-332A-49BB-B2A3-80AFD5B785D9}.Release|Win32.Build.0 = Release|Win32 -- {611BF6C7-332A-49BB-B2A3-80AFD5B785D9}.Release|x64.ActiveCfg = Release|x64 -- {611BF6C7-332A-49BB-B2A3-80AFD5B785D9}.Release|x64.Build.0 = Release|x64 - {6A0453F4-B12A-4810-B9A2-8AB059316ED7}.Debug_dll|Win32.ActiveCfg = Debug|Win32 - {6A0453F4-B12A-4810-B9A2-8AB059316ED7}.Debug_dll|Win32.Build.0 = Debug|Win32 - {6A0453F4-B12A-4810-B9A2-8AB059316ED7}.Debug_dll|x64.ActiveCfg = Debug|x64 diff --git a/ports/hunspell/0003-fix-win-build.patch b/ports/hunspell/0003-fix-win-build.patch deleted file mode 100644 index a8fe442db8020e..00000000000000 --- a/ports/hunspell/0003-fix-win-build.patch +++ /dev/null @@ -1,80 +0,0 @@ -diff --git a/msvc/hunspell.vcxproj b/msvc/hunspell.vcxproj -index ca39388..d4817a5 100644 ---- a/msvc/hunspell.vcxproj -+++ b/msvc/hunspell.vcxproj -@@ -91,7 +91,7 @@ - W32;WIN32;_DEBUG;_CONSOLE;HUNSPELL_STATIC;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - true - EnableFastChecks -- MultiThreadedDebugDLL -+ MultiThreadedDebug - - $(IntDir)$(ProjectName).pdb - Level4 -@@ -112,7 +112,7 @@ - ..\src\hunspell;..\src\parsers;.;%(AdditionalIncludeDirectories) - W32;WIN32;_DEBUG;_CONSOLE;HUNSPELL_STATIC;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - EnableFastChecks -- MultiThreadedDebugDLL -+ MultiThreadedDebug - - - Level4 -@@ -134,7 +134,7 @@ - AnySuitable - ..\src\hunspell;..\src\parsers;.;%(AdditionalIncludeDirectories) - W32;WIN32;NDEBUG;_CONSOLE;HUNSPELL_STATIC;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) -- MultiThreadedDLL -+ MultiThreaded - - $(IntDir)$(ProjectName).pdb - Level4 -@@ -157,7 +157,7 @@ - AnySuitable - ..\src\hunspell;..\src\parsers;.;%(AdditionalIncludeDirectories) - W32;WIN32;NDEBUG;_CONSOLE;HUNSPELL_STATIC;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) -- MultiThreadedDLL -+ MultiThreaded - - - $(IntDir)$(ProjectName).pdb -diff --git a/msvc/libhunspell.vcxproj b/msvc/libhunspell.vcxproj -index a0772da..9a875ca 100644 ---- a/msvc/libhunspell.vcxproj -+++ b/msvc/libhunspell.vcxproj -@@ -166,7 +166,7 @@ - WIN32;_DEBUG;_WINDOWS;_USRDLL;HUNSPELL_STATIC;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - false - EnableFastChecks -- MultiThreadedDebugDLL -+ MultiThreadedDebug - - $(IntDir)$(ProjectName).pdb - Level4 -@@ -187,7 +187,7 @@ - WIN32;_DEBUG;_WINDOWS;_USRDLL;HUNSPELL_STATIC;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - false - EnableFastChecks -- MultiThreadedDebugDLL -+ MultiThreadedDebug - - - Level4 -@@ -206,7 +206,7 @@ - ..\src\hunspell;.;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;_USRDLL;HUNSPELL_STATIC;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - true -- MultiThreadedDLL -+ MultiThreaded - true - - $(IntDir)$(ProjectName).pdb -@@ -232,7 +232,7 @@ - ..\src\hunspell;.;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;_USRDLL;HUNSPELL_STATIC;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - true -- MultiThreadedDLL -+ MultiThreaded - true - - diff --git a/ports/hunspell/0005-autotools-subdirs.patch b/ports/hunspell/0005-autotools-subdirs.patch new file mode 100644 index 00000000000000..0a4320d5bf5b68 --- /dev/null +++ b/ports/hunspell/0005-autotools-subdirs.patch @@ -0,0 +1,36 @@ +diff --git a/Makefile.am b/Makefile.am +index c0aae53..769aef5 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -1,6 +1,6 @@ + ACLOCAL_AMFLAGS = -I m4 + +-SUBDIRS= po src man tests ++SUBDIRS= po src + + pkgconfdir = $(libdir)/pkgconfig + pkgconf_DATA = hunspell.pc +diff --git a/configure.ac b/configure.ac +index 358cb1d..152adef 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -38,6 +38,9 @@ dnl internationalization macros + AM_GNU_GETTEXT_VERSION(0.18) + AM_GNU_GETTEXT([external]) + ++AC_ARG_ENABLE(tools,[]) ++AM_CONDITIONAL(DISABLE_TOOLS, test x$enable_tools != xyes) ++ + AC_ARG_WITH(warnings,[ --with-warnings compile with warning messages],[ + AC_DEFINE(HUNSPELL_WARNING_ON,1,"Define if you need warning messages") + ]) +diff --git a/src/Makefile.am b/src/Makefile.am +index 45b7703..27700af 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -1 +1,5 @@ ++if DISABLE_TOOLS ++SUBDIRS=hunspell ++else + SUBDIRS=hunspell parsers tools ++endif diff --git a/ports/hunspell/portfile.cmake b/ports/hunspell/portfile.cmake index 053d1dda4f70c4..0311f4be3c6ac9 100644 --- a/ports/hunspell/portfile.cmake +++ b/ports/hunspell/portfile.cmake @@ -1,98 +1,69 @@ -vcpkg_fail_port_install(ON_TARGET "UWP") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO hunspell/hunspell - REF v1.7.0 - SHA512 8149b2e8b703a0610c9ca5160c2dfad3cf3b85b16b3f0f5cfcb7ebb802473b2d499e8e2d0a637a97a37a24d62424e82d3880809210d3f043fa17a4970d47c903 + REF "v${VERSION}" + SHA512 d007edc8cb7ff95048361418b088bb062962973247c940aa826c9859a5ef90a9734100bffe7c7ac9a774f2e233605e814efb9e7fd3fc8c4ef4b978e9ec990cba HEAD_REF master - PATCHES - 0001_fix_unistd.patch - 0002-disable-test.patch - 0003-fix-win-build.patch + PATCHES + 0005-autotools-subdirs.patch ) -vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - FEATURES - tools BUILD_TOOLS -) +file(REMOVE "${SOURCE_PATH}/README") #README is a symlink +configure_file("${SOURCE_PATH}/README.md" "${SOURCE_PATH}/README" COPYONLY) + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + set(VCPKG_C_FLAGS "${VCPKG_C_FLAGS} -DHUNSPELL_STATIC") + set(VCPKG_CXX_FLAGS "${VCPKG_CXX_FLAGS} -DHUNSPELL_STATIC") +endif() -if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) - file(REMOVE "${SOURCE_PATH}/README") #README is a symlink - - #architecture detection - if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") - set(HUNSPELL_ARCH Win32) - elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") - set(HUNSPELL_ARCH x64) - else() - message(FATAL_ERROR "unsupported architecture") - endif() - - if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - set(HUNSPELL_CONFIGURATION _dll) - else() - set(HUNSPELL_CONFIGURATION ) - endif() - - if("tools" IN_LIST FEATURES) - set(HSP_TARGET hunspell) - else() - set(HSP_TARGET libhunspell) - endif() - - vcpkg_install_msbuild( - SOURCE_PATH "${SOURCE_PATH}" - PROJECT_SUBPATH "msvc/Hunspell.sln" - INCLUDES_SUBPATH src/hunspell - PLATFORM ${HUNSPELL_ARCH} - RELEASE_CONFIGURATION Release${HUNSPELL_CONFIGURATION} - DEBUG_CONFIGURATION Debug${HUNSPELL_CONFIGURATION} - ALLOW_ROOT_INCLUDES - ) +vcpkg_list(SET options) + +if("tools" IN_LIST FEATURES) + vcpkg_list(APPEND options "--enable-tools") +endif() + +if("nls" IN_LIST FEATURES) + vcpkg_list(APPEND options "--enable-nls") else() - if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - set(ENV{CFLAGS} "$ENV{CFLAGS} -DHUNSPELL_STATIC") - set(ENV{CXXFLAGS} "$ENV{CXXFLAGS} -DHUNSPELL_STATIC") - endif() - if(NOT "tools" IN_LIST FEATURES) # Building the tools is not possible on windows! - file(READ "${SOURCE_PATH}/src/Makefile.am" _contents) - string(REPLACE " parsers tools" "" _contents "${_contents}") - file(WRITE "${SOURCE_PATH}/src/Makefile.am" "${_contents}") - endif() - vcpkg_add_to_path("${CURRENT_HOST_INSTALLED_DIR}/tools/gettext/bin") - vcpkg_configure_make( - SOURCE_PATH ${SOURCE_PATH} - OPTIONS - AUTOCONFIG - ADDITIONAL_MSYS_PACKAGES gzip - ) - #install-pkgconfDATA: + set(ENV{AUTOPOINT} true) # true, the program + vcpkg_list(APPEND options "--disable-nls") +endif() + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG + ADDITIONAL_MSYS_PACKAGES gzip + OPTIONS + ${options} + OPTIONS_DEBUG + --disable-tools +) + +if("nls" IN_LIST FEATURES) vcpkg_build_make(BUILD_TARGET dist LOGFILE_ROOT build-dist) - vcpkg_install_make() - - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug") - vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin") - vcpkg_fixup_pkgconfig() endif() -vcpkg_copy_pdbs() + +vcpkg_install_make() + +vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin") + +vcpkg_fixup_pkgconfig() + +set(HUNSPELL_EXPORT_HDR "${CURRENT_PACKAGES_DIR}/include/hunspell/hunvisapi.h") if (VCPKG_LIBRARY_LINKAGE STREQUAL "static") - if (VCPKG_TARGET_IS_WINDOWS) - set(HUNSPELL_EXPORT_HDR "${CURRENT_PACKAGES_DIR}/include/hunvisapi.h") - else() - set(HUNSPELL_EXPORT_HDR "${CURRENT_PACKAGES_DIR}/include/hunspell/hunvisapi.h") - endif() - vcpkg_replace_string( - ${HUNSPELL_EXPORT_HDR} - "#if defined(HUNSPELL_STATIC)" - "#if 1" - ) + vcpkg_replace_string("${HUNSPELL_EXPORT_HDR}" "#if defined(HUNSPELL_STATIC)" "#if 1") endif() 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) -file(INSTALL "${SOURCE_PATH}/COPYING.LESSER" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright-lgpl) -file(INSTALL "${SOURCE_PATH}/COPYING.MPL" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright-mpl) +vcpkg_install_copyright( + COMMENT "Hunspell is licensed under LGPL/GPL/MPL tri-license." + FILE_LIST + "${SOURCE_PATH}/license.hunspell" + "${SOURCE_PATH}/license.myspell" + "${SOURCE_PATH}/COPYING.MPL" + "${SOURCE_PATH}/COPYING" + "${SOURCE_PATH}/COPYING.LESSER" +) diff --git a/ports/hunspell/vcpkg.json b/ports/hunspell/vcpkg.json index c89c4ca94ac102..25e66dbb26294c 100644 --- a/ports/hunspell/vcpkg.json +++ b/ports/hunspell/vcpkg.json @@ -1,23 +1,32 @@ { "name": "hunspell", - "version": "1.7.0", - "port-version": 5, + "version": "1.7.2", + "port-version": 1, "description": "The most popular spellchecking library.", "homepage": "https://github.com/hunspell/hunspell", - "supports": "!((arm | uwp) & windows)", + "license": "MPL-1.1 OR LGPL-2.1-or-later OR GPL-2.0-or-later", + "supports": "!uwp & !xbox", "dependencies": [ - { - "name": "gettext", - "host": true, - "features": [ - "tools" - ] - }, "libiconv" ], "features": { + "nls": { + "description": "Enable native language support", + "supports": "!windows | mingw", + "dependencies": [ + "gettext", + { + "name": "gettext", + "host": true, + "features": [ + "tools" + ] + } + ] + }, "tools": { - "description": "Build hunspell tools" + "description": "Build hunspell tools", + "supports": "!windows | mingw" } } } diff --git a/ports/hwloc/fix_shared_win_build.patch b/ports/hwloc/fix_shared_win_build.patch index 20ce59f7bc1bbe..dcfadbd48c5541 100644 --- a/ports/hwloc/fix_shared_win_build.patch +++ b/ports/hwloc/fix_shared_win_build.patch @@ -1,56 +1,30 @@ diff --git a/configure.ac b/configure.ac -index 44180d1aa..6bba9c435 100644 +index 8af26ec..0d52b00 100644 --- a/configure.ac +++ b/configure.ac -@@ -101,10 +101,11 @@ AM_PROG_CC_C_O - m4_version_prereq([2.70], [], [AC_PROG_CC_C99]) - CFLAGS=$CFLAGS_save - --AC_ARG_VAR(CC_FOR_BUILD,[build system C compiler]) --AS_IF([test -z "$CC_FOR_BUILD"],[ -- AC_SUBST([CC_FOR_BUILD], [$CC]) --]) -+# only needed to run/build dolib.exe which can be replaced with a bash script.... -+# AC_ARG_VAR(CC_FOR_BUILD,[build system C compiler]) -+# AS_IF([test -z "$CC_FOR_BUILD"],[ -+# AC_SUBST([CC_FOR_BUILD], [$CC]) -+# ]) - - #################################################################### - # CLI arguments -@@ -132,6 +133,8 @@ AS_IF([test "$enable_embedded_mode" != "yes"], +@@ -127,6 +127,8 @@ AS_IF([test "$enable_embedded_mode" != "yes"], #################################################################### AC_SUBST([libhwloc_so_version]) +libhwloc_so_version_current_minus_age=`expr [[ $libhwloc_so_version=~ ([[:digit:]]+):[[:digit:]]+:([[:digit:]]+) ]] && real_so_ver=$(expr ${BASH_REMATCH[1]} - ${BASH_REMATCH[2]})` +AC_SUBST(libhwloc_so_version_current_minus_age) + AC_SUBST([libhwloc_so_name]) # Setup the hwloc core - HWLOC_SETUP_CORE([], [], [AC_MSG_ERROR([Cannot build hwloc core])], [1]) diff --git a/hwloc/Makefile.am b/hwloc/Makefile.am -index 48cc81c5b..5aac67d4f 100644 +index 4b3800a..f96473c 100644 --- a/hwloc/Makefile.am +++ b/hwloc/Makefile.am -@@ -191,16 +191,15 @@ if HWLOC_HAVE_WINDOWS +@@ -189,11 +189,10 @@ if HWLOC_HAVE_WINDOWS LC_MESSAGES=C export LC_MESSAGES -ldflags += -Xlinker --output-def -Xlinker .libs/libhwloc.def if HWLOC_HAVE_MS_LIB --dolib$(EXEEXT): dolib.c -- $(CC_FOR_BUILD) $< -o $@ --.libs/libhwloc.lib: libhwloc.la dolib$(EXEEXT) -- [ ! -r .libs/libhwloc.def ] || ./dolib$(EXEEXT) "$(HWLOC_MS_LIB)" $(HWLOC_MS_LIB_ARCH) .libs/libhwloc.def $(libhwloc_so_version) .libs/libhwloc.lib -+# dolib$(EXEEXT): dolib.c -+# $(CC_FOR_BUILD) $< -o $@ -+# .libs/libhwloc.lib: libhwloc.la dolib$(EXEEXT) -+# [ ! -r .libs/libhwloc.def ] || ./dolib$(EXEEXT) "$(HWLOC_MS_LIB)" $(HWLOC_MS_LIB_ARCH) .libs/libhwloc.def $(libhwloc_so_version) .libs/libhwloc.lib -+.libs/libhwloc.lib: libhwloc.la -+ [ ! -r .libs/libhwloc.def ] || "$(HWLOC_MS_LIB)" /machine:$(HWLOC_MS_LIB_ARCH) /def:.libs/libhwloc.def /name:libhwloc-$(libhwloc_so_version_current_minus_age) /out:.libs/libhwloc.lib + .libs/libhwloc.lib: libhwloc.la +- [ ! -r .libs/libhwloc.def ] || "$(HWLOC_MS_LIB)" -machine:$(HWLOC_MS_LIB_ARCH) -def:.libs/libhwloc.def -name:libhwloc-$(libhwloc_so_name) -out:.libs/libhwloc.lib ++# [ ! -r .libs/libhwloc.def ] || "$(HWLOC_MS_LIB)" -machine:$(HWLOC_MS_LIB_ARCH) -def:.libs/libhwloc.def -name:libhwloc-$(libhwloc_so_name) -out:.libs/libhwloc.lib all-local: .libs/libhwloc.lib --clean-local: -- $(RM) dolib$(EXEEXT) endif HWLOC_HAVE_MS_LIB - install-exec-hook: diff --git a/ports/hwloc/fix_wrong_ifdef.patch b/ports/hwloc/fix_wrong_ifdef.patch deleted file mode 100644 index 490715c815bafe..00000000000000 --- a/ports/hwloc/fix_wrong_ifdef.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/hwloc/topology.c b/hwloc/topology.c -index 01e5a863c..211f2cbd1 100644 ---- a/hwloc/topology.c -+++ b/hwloc/topology.c -@@ -69,7 +69,7 @@ - * it will break in cygwin, we'll have to use both putenv() and SetEnvironmentVariable(). - * Hopefully L0 will be provide a way to enable Sysman without env vars before it happens. - */ --#ifdef HWLOC_HAVE_ATTRIBUTE_CONSTRUCTOR -+#if HWLOC_HAVE_ATTRIBUTE_CONSTRUCTOR - static void hwloc_constructor(void) __attribute__((constructor)); - static void hwloc_constructor(void) - { diff --git a/ports/hwloc/portfile.cmake b/ports/hwloc/portfile.cmake index edc6f5cd97b757..5448cb336caa79 100644 --- a/ports/hwloc/portfile.cmake +++ b/ports/hwloc/portfile.cmake @@ -1,10 +1,11 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO open-mpi/hwloc - REF 5e185ccfff2728fa351cea41f6d9fefebfb88078 # hwloc-2.5.0 - SHA512 96f6421c40eede3a3c273a1ffa06accc43767421d5fb7b402a83caea1ef1a3bb8282c08ed94bc696296f37f3df80cd86403dac1012f2218b674569c8afcf3de9 - PATCHES fix_wrong_ifdef.patch - fix_shared_win_build.patch + REF "hwloc-${VERSION}" + SHA512 1ed47955d4a3ecf66636f1c5a89648ef055aa4f26fac9b9bc64d6f7715d671dc823337ebf38df53d60b50d697eccadfbd48d28b4540a5153c59d7eecd347f91c + PATCHES + fix_shared_win_build.patch + stdout_fileno.patch ) if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) @@ -14,6 +15,8 @@ endif() if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") list(APPEND OPTIONS "HWLOC_LDFLAGS=-no-undefined") +elseif(VCPKG_TARGET_IS_OSX) + list(APPEND OPTIONS "HWLOC_LDFLAGS=-framework CoreFoundation") endif() vcpkg_configure_make( @@ -42,10 +45,17 @@ 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") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/hwloc/bin/hwloc-gather-topology" "${CURRENT_INSTALLED_DIR}" "`dirname $0`/../../..") +endif() +if(EXISTS "${CURRENT_PACKAGES_DIR}/tools/hwloc/debug/bin/hwloc-gather-topology") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/hwloc/debug/bin/hwloc-gather-topology" "${CURRENT_INSTALLED_DIR}" "`dirname $0`/../../../..") endif() # Handle copyright diff --git a/ports/hwloc/stdout_fileno.patch b/ports/hwloc/stdout_fileno.patch new file mode 100644 index 00000000000000..e205fb0f7086bc --- /dev/null +++ b/ports/hwloc/stdout_fileno.patch @@ -0,0 +1,15 @@ +diff --git a/utils/lstopo/lstopo.c b/utils/lstopo/lstopo.c +index a946581c3..ecbf64aff 100644 +--- a/utils/lstopo/lstopo.c ++++ b/utils/lstopo/lstopo.c +@@ -58,6 +58,10 @@ + # endif + #endif + ++#if _MSC_VER ++#define STDOUT_FILENO _fileno( stdout ) ++#endif ++ + #ifdef ANDROID + extern void setJNIEnv(); + #endif diff --git a/ports/hwloc/vcpkg.json b/ports/hwloc/vcpkg.json index 4910da26b942df..e238d7cd8007a8 100644 --- a/ports/hwloc/vcpkg.json +++ b/ports/hwloc/vcpkg.json @@ -1,12 +1,12 @@ { "name": "hwloc", - "version": "2.5.0", - "port-version": 1, + "version": "2.11.2", "maintainers": "bgoglin", "description": [ "Portable Hardware Locality (hwloc)", "The Portable Hardware Locality (hwloc) software package provides a portable abstraction (across OS, versions, architectures, ...) of the hierarchical topology of modern architectures, including NUMA memory nodes, sockets, shared caches, cores and simultaneous multithreading. It also gathers various system attributes such as cache and memory information as well as the locality of I/O devices such as network interfaces, InfiniBand HCAs or GPUs." ], "homepage": "https://github.com/open-mpi/hwloc", + "license": "BSD-2-Clause", "supports": "!uwp" } diff --git a/ports/hyperscan/portfile.cmake b/ports/hyperscan/portfile.cmake index b69532635f7645..819eabf955c6c2 100644 --- a/ports/hyperscan/portfile.cmake +++ b/ports/hyperscan/portfile.cmake @@ -1,12 +1,10 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -set(HYPERSCAN_VERSION 5.3.0) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO intel/hyperscan - REF v${HYPERSCAN_VERSION} - SHA512 a4d85ffd2264e8e6745340ba51431361775a1e7a2da78edd31f6f53552ac61fdef718710ae53a254b7d5000f9ec1aafe7a48d9c55e76f5c6822486150bbc6c56 + REF "v${VERSION}" + SHA512 328f21133161d16b36ebdc7f8b80a7afe7ca9e7e7433348e9bfa9acb5f3641522e8314beea1b219891f4e95f1392ff8036ebb87780fe808b8b4bd15a535e9509 HEAD_REF master PATCHES 0001-remove-Werror.patch @@ -14,17 +12,16 @@ vcpkg_from_github( vcpkg_find_acquire_program(PYTHON3) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS "-DPYTHON_EXECUTABLE=${PYTHON3}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() -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") -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/hyperscan/vcpkg.json b/ports/hyperscan/vcpkg.json index 05f19e116b4441..3a4035d6c4b97c 100644 --- a/ports/hyperscan/vcpkg.json +++ b/ports/hyperscan/vcpkg.json @@ -1,9 +1,9 @@ { "name": "hyperscan", - "version-string": "5.3.0", - "port-version": 3, + "version": "5.4.2", "description": "A regular expression library with O(length of input) match times that takes advantage of Intel hardware to provide blazing speed.", "homepage": "https://www.hyperscan.io", + "license": "BSD-3-Clause", "supports": "!arm", "dependencies": [ "boost-array", @@ -26,6 +26,10 @@ "boost-unordered", "boost-utility", "pcre", - "ragel" + "ragel", + { + "name": "vcpkg-cmake", + "host": true + } ] } 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/hypre/fix-dll-install-destination.patch b/ports/hypre/fix-dll-install-destination.patch deleted file mode 100644 index 68d335ccfd5f50..00000000000000 --- a/ports/hypre/fix-dll-install-destination.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -459,7 +459,7 @@ install(TARGETS ${PROJECT_NAME} - EXPORT HYPRETargets - LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" - ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" -- RUNTIME DESTINATION "${CMAKE_INSTALL_LIBDIR}" -+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" - INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") - install(FILES ${HYPRE_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") - diff --git a/ports/hypre/portfile.cmake b/ports/hypre/portfile.cmake index 8645eaef1b8335..145f8ecc66e422 100644 --- a/ports/hypre/portfile.cmake +++ b/ports/hypre/portfile.cmake @@ -5,17 +5,16 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO hypre-space/hypre - REF v2.23.0 - SHA512 bed8426d093e2290ab443f49deffad96a64e1b3844a4236bc59af19523b16ea8bf2318db21e42ab2b8a4dd529246ba1d9a4eb0cb3bd943633569d03e6311f67f + REF "v${VERSION}" + SHA512 fe92d09b56107845e3a4b7f0e7bbba5f319a7ebdaaecab3e6b89fae1fe2a79a9dd712806823ea518f5960f0eaa1088f6b82ebac63d3940478d36690f3adec4f2 HEAD_REF master - PATCHES - fix-dll-install-destination.patch ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" HYPRE_SHARED) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}/src" + DISABLE_PARALLEL_CONFIGURE # See 'Autogenerate csr_spgemm_device_numer$ files' OPTIONS -DHYPRE_SHARED=${HYPRE_SHARED} -DHYPRE_ENABLE_HYPRE_BLAS=OFF diff --git a/ports/hypre/vcpkg.json b/ports/hypre/vcpkg.json index bcdb97323c23a8..396c5c364f9852 100644 --- a/ports/hypre/vcpkg.json +++ b/ports/hypre/vcpkg.json @@ -1,6 +1,7 @@ { "name": "hypre", - "version": "2.23.0", + "version": "2.29.0", + "port-version": 1, "description": "Parallel solvers for sparse linear systems featuring multigrid methods", "homepage": "https://computation.llnl.gov/projects/hypre-scalable-linear-solvers-multigrid-methods", "dependencies": [ diff --git a/ports/iceoryx/acl.patch b/ports/iceoryx/acl.patch new file mode 100644 index 00000000000000..78385332b64c40 --- /dev/null +++ b/ports/iceoryx/acl.patch @@ -0,0 +1,30 @@ +diff --git a/iceoryx_hoofs/CMakeLists.txt b/iceoryx_hoofs/CMakeLists.txt +index a8238ff..9741fd3 100644 +--- a/iceoryx_hoofs/CMakeLists.txt ++++ b/iceoryx_hoofs/CMakeLists.txt +@@ -217,7 +217,9 @@ target_link_libraries(iceoryx_hoofs + ) + + if(LINUX) +- target_link_libraries(iceoryx_hoofs PRIVATE acl atomic ${CODE_COVERAGE_LIBS}) ++ find_package(PkgConfig REQUIRED) ++ pkg_check_modules(ACL REQUIRED IMPORTED_TARGET libacl) ++ target_link_libraries(iceoryx_hoofs PUBLIC PkgConfig::ACL PRIVATE atomic ${CODE_COVERAGE_LIBS}) + endif() + + target_compile_options(iceoryx_hoofs PRIVATE ${ICEORYX_WARNINGS} ${ICEORYX_SANITIZER_FLAGS}) +diff --git a/iceoryx_hoofs/cmake/Config.cmake.in b/iceoryx_hoofs/cmake/Config.cmake.in +index c03b3b5..731c636 100644 +--- a/iceoryx_hoofs/cmake/Config.cmake.in ++++ b/iceoryx_hoofs/cmake/Config.cmake.in +@@ -17,6 +17,10 @@ + @PACKAGE_INIT@ + + include(CMakeFindDependencyMacro) ++if(LINUX) ++ find_dependency(PkgConfig) ++ pkg_check_modules(ACL REQUIRED libacl IMPORTED_TARGET) ++endif() + + include("${CMAKE_CURRENT_LIST_DIR}/@TARGETS_EXPORT_NAME@.cmake") + list(APPEND CMAKE_MODULE_PATH "@CMAKE_INSTALL_PREFIX@/@DESTINATION_CONFIGDIR@") diff --git a/ports/iceoryx/portfile.cmake b/ports/iceoryx/portfile.cmake new file mode 100644 index 00000000000000..bde5ec3313144d --- /dev/null +++ b/ports/iceoryx/portfile.cmake @@ -0,0 +1,45 @@ +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO eclipse-iceoryx/iceoryx + REF "v${VERSION}" + SHA512 708c113f8b4e5a23830172cd67414cb6fa389f9bc34a5979b27131c3180d6758ca50257baa86cb6f74bcff71b24237cffc0e697964a7c0326e9018fbf7885c09 + HEAD_REF master + PATCHES + acl.patch +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + "toml-config" TOML_CONFIG + INVERTED_FEATURES + "many-to-many" ONE_TO_MANY_ONLY +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/iceoryx_meta" + OPTIONS + ${FEATURE_OPTIONS} + -DDOWNLOAD_TOML_LIB=OFF +) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME iceoryx_binding_c CONFIG_PATH lib/cmake/iceoryx_binding_c DO_NOT_DELETE_PARENT_CONFIG_PATH) +vcpkg_cmake_config_fixup(PACKAGE_NAME iceoryx_hoofs CONFIG_PATH lib/cmake/iceoryx_hoofs DO_NOT_DELETE_PARENT_CONFIG_PATH) +vcpkg_cmake_config_fixup(PACKAGE_NAME iceoryx_posh CONFIG_PATH lib/cmake/iceoryx_posh) + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/share/doc" +) + +if(TOML_CONFIG) + vcpkg_copy_tools(TOOL_NAMES iox-roudi AUTO_CLEAN) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/etc") +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/iceoryx/usage b/ports/iceoryx/usage new file mode 100644 index 00000000000000..1b6ffeff6d0474 --- /dev/null +++ b/ports/iceoryx/usage @@ -0,0 +1,14 @@ +iceoryx provides CMake targets: + + find_package(iceoryx_binding_c CONFIG REQUIRED) + target_link_libraries(main PRIVATE iceoryx_binding_c::iceoryx_binding_c) + + find_package(iceoryx_hoofs CONFIG REQUIRED) + target_link_libraries(main PRIVATE iceoryx_hoofs::iceoryx_hoofs + iceoryx_hoofs::iceoryx_platform) + + find_package(iceoryx_posh CONFIG REQUIRED) + target_link_libraries(main PRIVATE iceoryx_posh::iceoryx_posh + iceoryx_posh::iceoryx_posh_roudi + iceoryx_posh::iceoryx_posh_config + iceoryx_posh::iceoryx_posh_gateway) diff --git a/ports/iceoryx/vcpkg.json b/ports/iceoryx/vcpkg.json new file mode 100644 index 00000000000000..3aad8e82c26521 --- /dev/null +++ b/ports/iceoryx/vcpkg.json @@ -0,0 +1,37 @@ +{ + "name": "iceoryx", + "version": "2.0.6", + "description": "True zero-copy inter-process-communication", + "homepage": "https://iceoryx.io", + "license": "Apache-2.0", + "supports": "!uwp", + "dependencies": [ + { + "name": "acl", + "platform": "linux" + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "default-features": [ + "many-to-many", + "toml-config" + ], + "features": { + "many-to-many": { + "description": "Using the m:n pattern for communication" + }, + "toml-config": { + "description": "TOML support for RouDi with dynamic configuration", + "dependencies": [ + "cpptoml" + ] + } + } +} 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/disable-escapestr-tool.patch b/ports/icu/disable-escapestr-tool.patch index 620fcde2a8e588..5c42e56e7da7f0 100644 --- a/ports/icu/disable-escapestr-tool.patch +++ b/ports/icu/disable-escapestr-tool.patch @@ -1,10 +1,10 @@ diff --git a/source/tools/Makefile.in b/source/tools/Makefile.in -index c3f81d6..dc41af3 100644 +index e0896f1..5ead980 100644 --- a/source/tools/Makefile.in +++ b/source/tools/Makefile.in @@ -19,9 +19,9 @@ SUBDIRS = toolutil ctestfw makeconv genrb genbrk \ gencnval gensprep icuinfo genccode gencmn icupkg pkgdata \ - gentest gennorm2 gencfu gendict + gentest gennorm2 gencfu gendict icuexportdata -ifneq (@platform_make_fragment_name@,mh-cygwin-msvc) -SUBDIRS += escapesrc diff --git a/ports/icu/fix-win-build.patch b/ports/icu/fix-win-build.patch new file mode 100644 index 00000000000000..0c2e46cfb67b58 --- /dev/null +++ b/ports/icu/fix-win-build.patch @@ -0,0 +1,35 @@ +diff --git a/source/configure.ac b/source/configure.ac +index 425fdc7..97210f8 100644 +--- a/source/configure.ac ++++ b/source/configure.ac +@@ -114,6 +114,15 @@ AC_ARG_ENABLE([icu-config], + esac], [enable_icu_config=true]) + AC_SUBST(INSTALL_ICU_CONFIG, [$enable_icu_config]) + ++AC_ARG_ENABLE([icu-build-win], ++ AS_HELP_STRING([--enable-icu-build-win], [install icu-build-win]), ++ [case "${enableval}" in ++ yes) enable_icu_build_win=true ;; ++ no) enable_icu_build_win=false ;; ++ *) AC_MSG_ERROR([bad value '${enableval}' for --enable-icu-build-win]) ;; ++ esac], [enable_icu_build_win=true]) ++AC_SUBST(INSTALL_ICU_BUILD_WIN, [$enable_icu_build_win]) ++ + # Check whether to build debug libraries + AC_MSG_CHECKING([whether to build debug libraries]) + enabled=no +@@ -263,12 +272,14 @@ ICU_CHECK_MH_FRAG + # Checks for libraries and other host specific stuff + # On HP/UX, don't link to -lm from a shared lib because it isn't + # PIC (at least on 10.2) ++if test "$enable_icu_build_win" = no; then + case "${host}" in + *-*-hpux*) AC_CHECK_LIB(m, floor, LIB_M="-lm") ;; + + *) AC_CHECK_LIB(m, floor) + LIB_M="" ;; + esac ++fi + AC_SUBST(LIB_M) + + # Check whether to build shared libraries diff --git a/ports/icu/mingw-dll-install.patch b/ports/icu/mingw-dll-install.patch index 26c7783652f151..af3b448ac621ad 100644 --- a/ports/icu/mingw-dll-install.patch +++ b/ports/icu/mingw-dll-install.patch @@ -1,5 +1,18 @@ +diff --git a/source/config/mh-mingw b/source/config/mh-mingw +index 30f6e5be81..b6364551ea 100644 +--- a/source/config/mh-mingw ++++ b/source/config/mh-mingw +@@ -13,7 +13,7 @@ + # On Windows we generally have the DLLs in the bin directory rather than the lib directory. + # This setting moves the ICU DLLs into the bin folder for MinGW/MSYS2 when "make install" is run. + # If you prefer to have the DLLs in the lib folder, then set this to NO instead. +-MINGW_MOVEDLLSTOBINDIR = YES ++MINGW_MOVEDLLSTOBINDIR = NO + + # We install sbin tools into the same bin directory because + # pkgdata needs some of the tools in sbin, and we can't always depend on diff --git a/source/config/mh-mingw64 b/source/config/mh-mingw64 -index fb64c56..a43cc4d 100644 +index fb64c56260..a43cc4dd71 100644 --- a/source/config/mh-mingw64 +++ b/source/config/mh-mingw64 @@ -10,7 +10,7 @@ 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 32c03bc5015bee..26015d26585783 100644 --- a/ports/icu/portfile.cmake +++ b/ports/icu/portfile.cmake @@ -1,20 +1,31 @@ -vcpkg_fail_port_install(ON_TARGET "uwp") +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() -set(ICU_VERSION_MAJOR 69) -set(ICU_VERSION_MINOR 1) -set(VERSION "${ICU_VERSION_MAJOR}.${ICU_VERSION_MINOR}") -set(VERSION2 "${ICU_VERSION_MAJOR}_${ICU_VERSION_MINOR}") -set(VERSION3 "${ICU_VERSION_MAJOR}-${ICU_VERSION_MINOR}") +string(REGEX MATCH "^[0-9]*" ICU_VERSION_MAJOR "${VERSION}") +string(REPLACE "." "_" VERSION2 "${VERSION}") +string(REPLACE "." "-" VERSION3 "${VERSION}") 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 d4aeb781715144ea6e3c6b98df5bbe0490bfa3175221a1d667f3e6851b7bd4a638fa4a37d4a921ccb31f02b5d15a6dded9464d98051964a86f7b1cde0ff0aab7 + SHA512 e6c7876c0f3d756f3a6969cad9a8909e535eeaac352f3a721338b9cbd56864bf7414469d29ec843462997815d2ca9d0dab06d38c37cdd4d8feb28ad04d8781b0 ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} + +vcpkg_extract_source_archive(SOURCE_PATH + ARCHIVE "${ARCHIVE}" PATCHES disable-escapestr-tool.patch remove-MD-from-configure.patch @@ -22,19 +33,42 @@ vcpkg_extract_source_archive_ex( fix-extra.patch mingw-dll-install.patch 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}") -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) +vcpkg_list(SET CONFIGURE_OPTIONS) +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() -set(RELEASE_TRIPLET ${TARGET_TRIPLET}-rel) -set(DEBUG_TRIPLET ${TARGET_TRIPLET}-dbg) +if(VCPKG_TARGET_IS_WINDOWS) + list(APPEND CONFIGURE_OPTIONS --enable-icu-build-win) +endif() +if("tools" IN_LIST FEATURES) + list(APPEND CONFIGURE_OPTIONS --enable-tools) +else() + list(APPEND CONFIGURE_OPTIONS --disable-tools) +endif() if(CMAKE_HOST_WIN32 AND VCPKG_TARGET_IS_MINGW AND NOT HOST_TRIPLET MATCHES "mingw") # Assuming no cross compiling because the host (windows) pkgdata tool doesn't # use the '/' path separator when creating compiler commands for mingw bash. @@ -48,84 +82,22 @@ endif() vcpkg_configure_make( SOURCE_PATH "${SOURCE_PATH}" PROJECT_SUBPATH source - 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" AND (NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")) - - 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") - - # add ID_PREFIX to libicudata libicui18n libicuio libicutu libicuuc - foreach(LIB_NAME libicudata libicui18n libicuio libicutu 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}/${RELEASE_TRIPLET}/lib" - LOGNAME "make-build-fix-rpath-${RELEASE_TRIPLET}" - ) - endforeach() - - # add ID_PREFIX to libicui18n libicuio libicutu dependencies - foreach(LIB_NAME 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}/${RELEASE_TRIPLET}/lib" - LOGNAME "make-build-fix-rpath-${RELEASE_TRIPLET}" - ) - 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}/${RELEASE_TRIPLET}/lib" - LOGNAME "make-build-fix-rpath-${RELEASE_TRIPLET}" - ) - 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}/${RELEASE_TRIPLET}/lib" - LOGNAME "make-build-fix-rpath-${RELEASE_TRIPLET}" - ) - 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}/${RELEASE_TRIPLET}/lib" - LOGNAME "make-build-fix-rpath-${RELEASE_TRIPLET}" - ) -endif() - -vcpkg_install_make() +vcpkg_install_make(OPTIONS ${BUILD_OPTIONS}) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share" @@ -149,7 +121,7 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") endif() # Install executables from /tools/icu/sbin to /tools/icu/bin on unix (/bin because icu require this for cross compiling) -if(VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_OSX) +if(VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_OSX AND "tools" IN_LIST FEATURES) vcpkg_copy_tools( TOOL_NAMES icupkg gennorm2 gencmn genccode gensprep SEARCH_DIR "${CURRENT_PACKAGES_DIR}/tools/icu/sbin" @@ -162,20 +134,16 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/tools/icu/debug") # To cross compile, we need some files at specific positions. So lets copy them -file(GLOB CROSS_COMPILE_DEFS "${CURRENT_BUILDTREES_DIR}/${RELEASE_TRIPLET}/config/icucross.*") +file(GLOB CROSS_COMPILE_DEFS "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/config/icucross.*") file(INSTALL ${CROSS_COMPILE_DEFS} DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}/config") -if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - file(GLOB RELEASE_DLLS "${CURRENT_PACKAGES_DIR}/lib/*icu*${ICU_VERSION_MAJOR}.dll") - file(COPY ${RELEASE_DLLS} DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin") -endif() +file(GLOB RELEASE_DLLS "${CURRENT_PACKAGES_DIR}/lib/*icu*${ICU_VERSION_MAJOR}.dll") +file(COPY ${RELEASE_DLLS} DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin") # copy dlls -if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - file(GLOB RELEASE_DLLS "${CURRENT_PACKAGES_DIR}/lib/*icu*${ICU_VERSION_MAJOR}.dll") - file(COPY ${RELEASE_DLLS} DESTINATION "${CURRENT_PACKAGES_DIR}/bin") -endif() -if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") +file(GLOB RELEASE_DLLS "${CURRENT_PACKAGES_DIR}/lib/*icu*${ICU_VERSION_MAJOR}.dll") +file(COPY ${RELEASE_DLLS} DESTINATION "${CURRENT_PACKAGES_DIR}/bin") +if(NOT VCPKG_BUILD_TYPE) file(GLOB DEBUG_DLLS "${CURRENT_PACKAGES_DIR}/debug/lib/*icu*${ICU_VERSION_MAJOR}.dll") file(COPY ${DEBUG_DLLS} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin") endif() @@ -187,10 +155,9 @@ if(DUMMY_DLLS) endif() vcpkg_copy_pdbs() -vcpkg_fixup_pkgconfig(SYSTEM_LIBRARIES pthread m) +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) -# Handle copyright -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}/vcpkg-cmake-wrapper.cmake" @ONLY) +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-cmake-wrapper.cmake b/ports/icu/vcpkg-cmake-wrapper.cmake index 7d7a818a0691b8..512966f5309eae 100644 --- a/ports/icu/vcpkg-cmake-wrapper.cmake +++ b/ports/icu/vcpkg-cmake-wrapper.cmake @@ -1,6 +1,8 @@ -list(FIND ARGS "COMPONENTS" COMPONENTS_IDX) -if(NOT COMPONENTS_IDX EQUAL -1) +cmake_policy(PUSH) +cmake_policy(SET CMP0057 NEW) +if(NOT "COMPONENTS" IN_LIST ARGS) _find_package(${ARGS} COMPONENTS data) else() _find_package(${ARGS}) -endif() \ No newline at end of file +endif() +cmake_policy(POP) diff --git a/ports/icu/vcpkg-cross-data.patch b/ports/icu/vcpkg-cross-data.patch new file mode 100644 index 00000000000000..7ca87fb93b2e6d --- /dev/null +++ b/ports/icu/vcpkg-cross-data.patch @@ -0,0 +1,13 @@ +diff --git a/source/configure.ac b/source/configure.ac +index 1bd5871..c508f48 100644 +--- a/source/configure.ac ++++ b/source/configure.ac +@@ -1151,7 +1151,7 @@ AC_ARG_ENABLE(fuzzer, + fuzzer=false) + ICU_CONDITIONAL(FUZZER, test "$fuzzer" = true) + +-ICU_CONDITIONAL(DATA, test "$tools" = true || test "$cross_compiling" = "yes") ++ICU_CONDITIONAL(DATA, test "$tools" = true || test "$cross_compiling" = "yes" || test -n "$cross_buildroot") + + AC_ARG_WITH(data-packaging, + [ --with-data-packaging specify how to package ICU data. Possible values: diff --git a/ports/icu/vcpkg.json b/ports/icu/vcpkg.json index 990030910d1849..23c96f05e10194 100644 --- a/ports/icu/vcpkg.json +++ b/ports/icu/vcpkg.json @@ -1,14 +1,23 @@ { "name": "icu", - "version": "69.1", - "port-version": 16, + "version": "74.2", + "port-version": 4, "description": "Mature and widely used Unicode and localization library.", "homepage": "https://icu.unicode.org/home", - "supports": "!uwp", + "license": "ICU", "dependencies": [ { "name": "icu", - "host": true + "host": true, + "features": [ + "tools" + ] } - ] + ], + "features": { + "tools": { + "description": "Build tools", + "supports": "!uwp" + } + } } diff --git a/ports/ideviceinstaller/001_fix_windows.patch b/ports/ideviceinstaller/001_fix_windows.patch new file mode 100644 index 00000000000000..16f1149ffd2206 --- /dev/null +++ b/ports/ideviceinstaller/001_fix_windows.patch @@ -0,0 +1,47 @@ +diff --git a/src/ideviceinstaller.c b/src/ideviceinstaller.c +index c50bacf..e4a8c3d 100644 +--- a/src/ideviceinstaller.c ++++ b/src/ideviceinstaller.c +@@ -32,7 +32,9 @@ + #include + #include + #include ++#ifndef _MSC_VER + #include ++#endif + #include + #include + #include +@@ -87,6 +89,32 @@ static int asprintf(char **PTR, const char *TEMPLATE, ...) + } + #endif + ++#ifdef _MSC_VER ++#ifndef ISSLASH ++#define ISSLASH(C) ((C) == '/' || (C) == '\\') ++#endif ++char *basename(char const *name) { ++ char const *base = name; ++ char const *p; ++ for (p = base; *p; p++) { ++ if (ISSLASH(*p)) { ++ do p++; ++ while (ISSLASH(*p)); ++ ++ if (!*p) { ++ if (ISSLASH(*base)) ++ base = p - 1; ++ break; ++ } ++ ++ base = p; ++ } ++ } ++ ++ return (char *) base; ++} ++#endif ++ + #define ITUNES_METADATA_PLIST_FILENAME "iTunesMetadata.plist" + + const char PKG_PATH[] = "PublicStaging"; diff --git a/ports/ideviceinstaller/CMakeLists.txt b/ports/ideviceinstaller/CMakeLists.txt new file mode 100644 index 00000000000000..e1923497f6d7ec --- /dev/null +++ b/ports/ideviceinstaller/CMakeLists.txt @@ -0,0 +1,46 @@ +cmake_minimum_required(VERSION 3.15) +project(ideviceinstaller C) + +include(GNUInstallDirs) + +file(GLOB_RECURSE IDEVICEINSTALLER_SOURCE src/*.c src/*.h) + +set(DEFINITIONS) + +list(APPEND DEFINITIONS -DPACKAGE_NAME="ideviceinstaller") +list(APPEND DEFINITIONS -DPACKAGE_VERSION="1.1.1") +list(APPEND DEFINITIONS -DPACKAGE_URL="https://github.com/libimobiledevice/ideviceinstaller") +list(APPEND DEFINITIONS -DPACKAGE_BUGREPORT="https://github.com/libimobiledevice/ideviceinstaller/issues") + +if(UNIX) + list(APPEND DEFINITIONS -DHAVE_VASPRINTF) + list(APPEND DEFINITIONS -DHAVE_ASPRINTF) + list(APPEND DEFINITIONS -DHAVE_UNISTD_H) +endif() + +if(WIN32) + list(APPEND DEFINITIONS -D_CRT_SECURE_NO_WARNINGS) + list(APPEND DEFINITIONS -DWIN32) +endif() + +find_package(unofficial-libimobiledevice CONFIG REQUIRED) +find_package(libzip CONFIG REQUIRED) +find_path(DIRENT_INCLUDE_DIR dirent.h REQUIRED) + +add_executable(ideviceinstaller ${IDEVICEINSTALLER_SOURCE}) +target_include_directories(ideviceinstaller PRIVATE + ${DIRENT_INCLUDE_DIR} +) +target_compile_definitions(ideviceinstaller PRIVATE ${DEFINITIONS}) +target_link_libraries(ideviceinstaller PRIVATE + unofficial::libimobiledevice::libimobiledevice + libzip::zip +) + +if(WIN32) + find_package(unofficial-getopt-win32 REQUIRED) + target_link_libraries(ideviceinstaller PRIVATE unofficial::getopt-win32::getopt) +endif() + +install(TARGETS ideviceinstaller + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") diff --git a/ports/ideviceinstaller/portfile.cmake b/ports/ideviceinstaller/portfile.cmake index 869ada8d5f35fe..6f96b2edff0fbb 100644 --- a/ports/ideviceinstaller/portfile.cmake +++ b/ports/ideviceinstaller/portfile.cmake @@ -1,16 +1,24 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO libimobiledevice-win32/ideviceinstaller - REF 1.1.2.23 - SHA512 d0801b3a38eb02206a6f06e05cc19b794c69a87c06895165f64522c61e07030046499c5f0e436981682f9e17f91eae87913cca091e2e039a74ee35a5136100d4 - HEAD_REF msvc-master + REPO libimobiledevice/ideviceinstaller + REF b9cfe0b264f66eab9ad88e11eb6b0523cb1de911 # commits on 2023-07-21 + SHA512 a78418001109593f2d704d91aff8df009e15c504c2139ca606c9719b70868466ef73778d52670468a4b7bf758ec65435c1b981c27809a2e22737f7587ad51c7d + HEAD_REF master + PATCHES + 001_fix_windows.patch ) -vcpkg_install_msbuild( - SOURCE_PATH ${SOURCE_PATH} - PROJECT_SUBPATH ideviceinstaller.vcxproj - LICENSE_SUBPATH COPYING - USE_VCPKG_INTEGRATION +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) +vcpkg_cmake_install() +vcpkg_copy_tools(TOOL_NAMES ideviceinstaller AUTO_CLEAN) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") + set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) diff --git a/ports/ideviceinstaller/vcpkg.json b/ports/ideviceinstaller/vcpkg.json index f0ba45361a1ed9..0f4071af11ef9e 100644 --- a/ports/ideviceinstaller/vcpkg.json +++ b/ports/ideviceinstaller/vcpkg.json @@ -1,10 +1,18 @@ { "name": "ideviceinstaller", - "version-string": "1.1.2.23", - "port-version": 2, + "version-date": "2023-07-21", "description": "Manage apps of iOS devices", + "homepage": "https://libimobiledevice.org/", + "license": "LGPL-2.0-or-later", + "supports": "!uwp & !android & !ios & !xbox", "dependencies": [ + "dirent", + "getopt", "libimobiledevice", - "libzip" + "libzip", + { + "name": "vcpkg-cmake", + "host": true + } ] } diff --git a/ports/idevicerestore/CMakeLists.txt b/ports/idevicerestore/CMakeLists.txt new file mode 100644 index 00000000000000..cff54d95665b46 --- /dev/null +++ b/ports/idevicerestore/CMakeLists.txt @@ -0,0 +1,59 @@ +cmake_minimum_required(VERSION 3.15) +project(idevicerestore C) + +include(GNUInstallDirs) + +file(GLOB_RECURSE IDEVICERESTORE_SOURCE src/*.c src/*.h) +list(FILTER IDEVICERESTORE_SOURCE EXCLUDE REGEX "sha(1|512)\\.(c|h)$") + +set(DEFINITIONS) + +list(APPEND DEFINITIONS -DPACKAGE_NAME="idevicerestore") +list(APPEND DEFINITIONS -DPACKAGE_VERSION="1.0.0") +list(APPEND DEFINITIONS -DPACKAGE_URL="https://github.com/libimobiledevice/idevicerestore") +list(APPEND DEFINITIONS -DPACKAGE_BUGREPORT="https://github.com/libimobiledevice/idevicerestore/issues") + +list(APPEND DEFINITIONS -DHAVE_REVERSE_PROXY) + +list(APPEND DEFINITIONS -DHAVE_OPENSSL) + +if(UNIX) + list(APPEND DEFINITIONS -DHAVE_REALPATH) +endif() + +if(WIN32) + list(APPEND DEFINITIONS -D_CRT_SECURE_NO_WARNINGS) + list(APPEND DEFINITIONS -DWIN32) +endif() + +find_package(CURL CONFIG REQUIRED) +find_package(unofficial-libimobiledevice CONFIG REQUIRED) +find_package(unofficial-libimobiledevice-glue CONFIG REQUIRED) +find_package(unofficial-libirecovery CONFIG REQUIRED) +find_package(libzip CONFIG REQUIRED) +find_package(OpenSSL REQUIRED) +find_package(ZLIB REQUIRED) +find_path(DIRENT_INCLUDE_DIR dirent.h REQUIRED) + +add_executable(idevicerestore ${IDEVICERESTORE_SOURCE}) +target_include_directories(idevicerestore PRIVATE + ${DIRENT_INCLUDE_DIR} +) +target_compile_definitions(idevicerestore PRIVATE ${DEFINITIONS}) +target_link_libraries(idevicerestore PRIVATE + CURL::libcurl + unofficial::libimobiledevice::libimobiledevice + unofficial::libimobiledevice-glue::libimobiledevice-glue + unofficial::libirecovery::libirecovery + libzip::zip + OpenSSL::SSL + OpenSSL::Crypto + ZLIB::ZLIB +) +if(WIN32) + find_package(unofficial-getopt-win32 REQUIRED) + target_link_libraries(idevicerestore PRIVATE unofficial::getopt-win32::getopt) +endif() + +install(TARGETS idevicerestore + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") diff --git a/ports/idevicerestore/fix-libgen.h-cannot-be-found.patch b/ports/idevicerestore/fix-libgen.h-cannot-be-found.patch deleted file mode 100644 index db7450eb23bcb5..00000000000000 --- a/ports/idevicerestore/fix-libgen.h-cannot-be-found.patch +++ /dev/null @@ -1,32 +0,0 @@ -diff --git a/src/common.c b/src/common.c -index afe1bc0..9219a8f 100644 ---- a/src/common.c -+++ b/src/common.c -@@ -29,7 +29,9 @@ - #include - #include - #include -+#ifndef _MSC_VER - #include -+#endif - #include - - #include "common.h" -diff --git a/src/idevicerestore.c b/src/idevicerestore.c -index efa13c3..c17a2ba 100644 ---- a/src/idevicerestore.c -+++ b/src/idevicerestore.c -@@ -38,12 +38,12 @@ - #include - #ifndef _MSC_VER - #include -+#include - #endif - #include - #include - #include - #include --#include - - #include - diff --git a/ports/idevicerestore/libcurl_d.patch b/ports/idevicerestore/libcurl_d.patch deleted file mode 100644 index 1d9d3f3d7eb573..00000000000000 --- a/ports/idevicerestore/libcurl_d.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/idevicerestore.vcxproj b/idevicerestore.vcxproj -index fa209fae..cf89306b 100644 ---- a/idevicerestore.vcxproj -+++ b/idevicerestore.vcxproj -@@ -94,7 +94,7 @@ - _MBCS;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;WIN32;_WINSOCK_DEPRECATED_NO_WARNINGS - - -- kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;Ws2_32.lib;libcurl.lib;%(AdditionalDependencies) -+ kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;Ws2_32.lib;libcurl-d.lib;%(AdditionalDependencies) - - - -@@ -105,7 +105,7 @@ - _MBCS;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;WIN32;_WINSOCK_DEPRECATED_NO_WARNINGS - - -- kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;Ws2_32.lib;libcurl.lib;%(AdditionalDependencies) -+ kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;Ws2_32.lib;libcurl-d.lib;%(AdditionalDependencies) - - - - diff --git a/ports/idevicerestore/portfile.cmake b/ports/idevicerestore/portfile.cmake index 5cd1acef983437..de3dfd2bd07693 100644 --- a/ports/idevicerestore/portfile.cmake +++ b/ports/idevicerestore/portfile.cmake @@ -1,21 +1,22 @@ -vcpkg_fail_port_install(ON_TARGET "linux" "osx") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO libimobiledevice-win32/idevicerestore - REF 1.0.12 - SHA512 ba623be56c2f37853516d7d4c32e16f1ec72f33d512f18aa812ce6830af4b9e389f7af5321888dd0ddd168e282b652e379b60f90970680e213eabf489f406915 - HEAD_REF msvc-master - PATCHES - libcurl_d.patch - fix-libgen.h-cannot-be-found.patch + REPO libimobiledevice/idevicerestore + REF 609f7f058487596597e8e742088119fdd46729df # commits on 2023-05-23 + SHA512 9427c438d1967f1717424dd1d1b789d3d139b3fcacee15911e531d6377039927c147150dafacd251b92d57134e72c49de6e1a053fcd63f14c780e60dc5b13fc5 + HEAD_REF master ) -vcpkg_install_msbuild( - SOURCE_PATH ${SOURCE_PATH} - PROJECT_SUBPATH idevicerestore.vcxproj - LICENSE_SUBPATH COPYING - USE_VCPKG_INTEGRATION +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) +vcpkg_cmake_install() +vcpkg_copy_tools(TOOL_NAMES idevicerestore AUTO_CLEAN) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") + set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) diff --git a/ports/idevicerestore/vcpkg.json b/ports/idevicerestore/vcpkg.json index c2d9b175e56f17..674562d21944fa 100644 --- a/ports/idevicerestore/vcpkg.json +++ b/ports/idevicerestore/vcpkg.json @@ -1,13 +1,23 @@ { "name": "idevicerestore", - "version-string": "1.0.12", - "port-version": 5, + "version-date": "2023-05-23", "description": "Restore/upgrade firmware of iOS devices", - "supports": "windows", + "homepage": "https://libimobiledevice.org/", + "license": "LGPL-3.0-or-later", + "supports": "(!windows & !android & !ios) | mingw", "dependencies": [ "curl", + "dirent", + "getopt", "libimobiledevice", + "libimobiledevice-glue", "libirecovery", - "libzip" + "libzip", + "openssl", + { + "name": "vcpkg-cmake", + "host": true + }, + "zlib" ] } diff --git a/ports/idyntree/portfile.cmake b/ports/idyntree/portfile.cmake new file mode 100644 index 00000000000000..08825885d98722 --- /dev/null +++ b/ports/idyntree/portfile.cmake @@ -0,0 +1,54 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO robotology/idyntree + REF "v${VERSION}" + SHA512 7a65324d3a9f502b43f4ccc84747e3c26a6bbf4323199e0f5849311b20339800892f4345bfed9d02a5accb1f56b4984a34695bada1fc73b91057c1b09e4e24a6 + HEAD_REF master +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + "assimp" IDYNTREE_USES_ASSIMP + "irrlicht" IDYNTREE_USES_IRRLICHT +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} + -DIDYNTREE_USES_IPOPT:BOOL=OFF + -DIDYNTREE_USES_OSQPEIGEN:BOOL=OFF + -DIDYNTREE_USES_MATLAB:BOOL=OFF + -DIDYNTREE_USES_PYTHON:BOOL=OFF + -DIDYNTREE_USES_OCTAVE:BOOL=OFF + -DIDYNTREE_USES_LUA:BOOL=OFF + -DIDYNTREE_USES_YARP:BOOL=OFF + -DIDYNTREE_USES_ICUB_MAIN:BOOL=OFF + -DIDYNTREE_USES_ALGLIB:BOOL=OFF + -DIDYNTREE_USES_WORHP:BOOL=OFF +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup( + PACKAGE_NAME iDynTree + CONFIG_PATH lib/cmake/iDynTree) +vcpkg_copy_pdbs() + +set(TOOL_NAMES_LIST idyntree-model-info) +if ("assimp" IN_LIST FEATURES) + list(APPEND TOOL_NAMES_LIST idyntree-model-simplify-shapes) +endif() +if ("irrlicht" IN_LIST FEATURES) + list(APPEND TOOL_NAMES_LIST idyntree-model-view) +endif() +vcpkg_copy_tools( + TOOL_NAMES ${TOOL_NAMES_LIST} + AUTO_CLEAN +) + +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/idyntree/usage b/ports/idyntree/usage new file mode 100644 index 00000000000000..402e64fba0e906 --- /dev/null +++ b/ports/idyntree/usage @@ -0,0 +1,4 @@ +The package idyntree provides CMake targets: + + find_package(iDynTree CONFIG REQUIRED) + target_link_libraries(main PRIVATE iDynTree::idyntree-core iDynTree::idyntree-model iDynTree::idyntree-modelio iDynTree::idyntree-modelio iDynTree::idyntree-high-level iDynTree::idyntree-estimation) diff --git a/ports/idyntree/vcpkg.json b/ports/idyntree/vcpkg.json new file mode 100644 index 00000000000000..944d51595361ff --- /dev/null +++ b/ports/idyntree/vcpkg.json @@ -0,0 +1,39 @@ +{ + "name": "idyntree", + "version": "12.4.0", + "description": "Multibody Dynamics Library designed for Free Floating Robots.", + "homepage": "https://github.com/robotology/idyntree", + "license": "BSD-3-Clause", + "supports": "!xbox", + "dependencies": [ + "eigen3", + "libxml2", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "default-features": [ + "assimp" + ], + "features": { + "assimp": { + "description": "Add support for loading meshes", + "dependencies": [ + "assimp" + ] + }, + "irrlicht": { + "description": "Add support for irrlicht-based visualizer", + "supports": "!windows", + "dependencies": [ + "glfw3", + "irrlicht" + ] + } + } +} diff --git a/ports/if97/portfile.cmake b/ports/if97/portfile.cmake index 57c2b5c55411b0..da7f1139a68b1d 100644 --- a/ports/if97/portfile.cmake +++ b/ports/if97/portfile.cmake @@ -1,16 +1,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO CoolProp/IF97 - REF v2.1.2 - SHA512 a7625fcc1ca0763df5b4cf5be741babbaefc09022940b4fc5ee1c05121751282c18ebd87ae58e1eee9bdb46dab5ae6fb4ed9a31fc2c53dc6de5cbd243fa4c8e9 + REF v2.1.3 + SHA512 b29a74f134d69b72ba4bb825b25f0631f2fb335500da5d9016c4e6e417d8c93a5b309e95770eb6a7b723948dd82a7b46d873a1fe4e3f3047a881603442d73eff HEAD_REF master + PATCHES + relax-encoding.diff ) -file(INSTALL ${SOURCE_PATH}/IF97.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) +file(INSTALL "${SOURCE_PATH}/IF97.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include") -# Handle copyright -file( - INSTALL ${SOURCE_PATH}/LICENSE - DESTINATION ${CURRENT_PACKAGES_DIR}/share/if97 - RENAME copyright -) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/if97/relax-encoding.diff b/ports/if97/relax-encoding.diff new file mode 100644 index 00000000000000..e48ae2bb5a9f3b --- /dev/null +++ b/ports/if97/relax-encoding.diff @@ -0,0 +1,48 @@ +diff --git a/IF97.h b/IF97.h +index 864f3a0..4e6cab5 100644 +--- a/IF97.h ++++ b/IF97.h +@@ -52,7 +52,7 @@ namespace IF97 + // IF97 Constants + const double Tcrit = 647.096; // K + const double Pcrit = 22.064*p_fact; // MPa* +- const double Rhocrit = 322.0; // kg/m³ ++ const double Rhocrit = 322.0; // kg/m^3 + const double Scrit = 4.41202148223476*R_fact; // kJ*/kg-K (needed for backward eqn. in Region 3(a)(b) + const double Ttrip = 273.16; // K + const double Ptrip = 0.000611656*p_fact; // MPa* +@@ -2394,7 +2394,7 @@ namespace IF97 + // The equation is rearranged to solve for rho and turned + // into functions f(T,P,rho0) and f'(T,P,rho0) for the + // Newton-Raphson technique. Functions for +- // dphi/ddelta and d²phi/ddelta² were also required. These ++ // dphi/ddelta and d^2phi/ddelta^2 were also required. These + // additional Taylor functions are defined above. + // + double f(double T, double p, double rho0) const{ +@@ -4172,7 +4172,7 @@ namespace IF97 + return RegionOutput( IF97_HMASS,RegionOutputBackward(Pmax,s,IF97_SMASS),Pmax, NONE); + else { + // Determining H(s) along Tmax is difficult because there is no direct p(T,s) formulation. +- // This linear combination fit h(s)=a*ln(s)+b/s+c/s²+d is not perfect, but it's close ++ // This linear combination fit h(s)=a*ln(s)+b/s+c/s^2+d is not perfect, but it's close + // and can serve as a limit along that Tmax boundary. Coefficients in HTmaxdata above. + // There is a better way to do this using Newton-Raphson on Tmax = T(p,s), but it is iterative and slow. + double ETA = Hmax_n[0]*log(sigma) + Hmax_n[1]/sigma + Hmax_n[2]/pow(sigma,2) +Hmax_n[3]; +@@ -4323,14 +4323,14 @@ namespace IF97 + inline double cvmass_Tp(double T, double p){ return RegionOutput( IF97_CVMASS, T, p, NONE); }; + /// Get the speed of sound [m/s] as a function of T [K] and p [Pa] + inline double speed_sound_Tp(double T, double p){ return RegionOutput( IF97_W, T, p, NONE); }; +- /// Get the [d(rho)/d(p)]T [kg/m³/Pa] as a function of T [K] and p [Pa] ++ /// Get the [d(rho)/d(p)]T [kg/m^3/Pa] as a function of T [K] and p [Pa] + inline double drhodp_Tp(double T, double p){ return RegionOutput( IF97_DRHODP, T, p, NONE); }; + + // ******************************************************************************** // + // Transport Properties // + // ******************************************************************************** // + +- /// Get the viscosity [Pa-s] as a function of T [K] and Rho [kg/m³] ++ /// Get the viscosity [Pa-s] as a function of T [K] and Rho [kg/m^3] + inline double visc_TRho(double T, double rho) { + // Since we have density, we don't need to determine the region for viscosity. + static Region1 R1; // All regions use base region equations for visc(T,rho). diff --git a/ports/if97/vcpkg.json b/ports/if97/vcpkg.json index 56f733bde2b076..deeb734b015197 100644 --- a/ports/if97/vcpkg.json +++ b/ports/if97/vcpkg.json @@ -1,7 +1,8 @@ { "name": "if97", - "version-string": "2.1.2", + "version": "2.1.3", "port-version": 1, "description": "This repository implements the IF97 formulation for the properties of pure water substance.", - "homepage": "https://github.com/CoolProp/IF97" + "homepage": "https://github.com/CoolProp/IF97", + "license": "MIT" } diff --git a/ports/igloo/vcpkg.json b/ports/igloo/vcpkg.json index 58c0a3c1e41450..56c82ed0a320cd 100644 --- a/ports/igloo/vcpkg.json +++ b/ports/igloo/vcpkg.json @@ -1,6 +1,6 @@ { "name": "igloo", - "version-string": "1.1.1", - "port-version": 1, + "version": "1.1.1", + "port-version": 2, "description": "A framework for unit testing in C++" } diff --git a/ports/ignition-cmake0/portfile.cmake b/ports/ignition-cmake0/portfile.cmake index c57d7b03e9f0b2..4e2d7dbaadd45a 100644 --- a/ports/ignition-cmake0/portfile.cmake +++ b/ports/ignition-cmake0/portfile.cmake @@ -1,26 +1,24 @@ -include(${CURRENT_INSTALLED_DIR}/share/ignitionmodularscripts/ignition_modular_library.cmake) - set(PACKAGE_VERSION "0.6.1") ignition_modular_library(NAME cmake - VERSION ${PACKAGE_VERSION} + VERSION ${PACKAGE_VERSION} REF "ignition-cmake_${PACKAGE_VERSION}" - SHA512 bd57cd43dd944fef264353b67fbbbab989d4bb638b684f80868a8b61fe0b854e156e00852b967c7caa8598315bea60bd8b27ff000410e93c4f04185a13c90489 + SHA512 9414db04ef6ce0206aba4eb1c8192524249761976b82654da89222e0931d1e2bbd63dcc7f4e6c6fddbc71e54911e9bf9fcbd159f51862e89419e0686bfb035e9 # Ensure that gtest is not compiled (backport of https://bitbucket.org/ignitionrobotics/ign-cmake/pull-requests/163) PATCHES do-not-compile-gtest.patch - # Support for ARM64 (backport of https://bitbucket.org/ignitionrobotics/ign-cmake/pull-requests/168) - support-arm64.patch - # Do not depend on pkg-config installed to find uuid + # Support for ARM64 (backport of https://bitbucket.org/ignitionrobotics/ign-cmake/pull-requests/168) + support-arm64.patch + # Do not depend on pkg-config installed to find uuid uuid-do-not-require-pkg-config.patch # Fix FindIgnCURL.cmake (backport of https://bitbucket.org/ignitionrobotics/ign-cmake/pull-requests/175) fix-find-ign-curl.patch - ) + ) # Permit empty include folder set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) # Remove unneccessary directory, as ignition-cmake is a pure CMake package -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib ${CURRENT_PACKAGES_DIR}/debug) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib" "${CURRENT_PACKAGES_DIR}/debug") # Install custom usage -configure_file(${CMAKE_CURRENT_LIST_DIR}/usage ${CURRENT_PACKAGES_DIR}/share/${PORT}/usage @ONLY) +configure_file("${CMAKE_CURRENT_LIST_DIR}/usage" "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" @ONLY) diff --git a/ports/ignition-cmake0/vcpkg.json b/ports/ignition-cmake0/vcpkg.json index 4decf445a61339..6d97e8a6e88e7d 100644 --- a/ports/ignition-cmake0/vcpkg.json +++ b/ports/ignition-cmake0/vcpkg.json @@ -1,10 +1,14 @@ { "name": "ignition-cmake0", - "version-string": "0.6.2", - "port-version": 3, + "version": "0.6.2", + "port-version": 4, "description": "CMake helper functions for building robotic applications", "homepage": "https://ignitionrobotics.org/libs/cmake", + "license": null, "dependencies": [ - "ignition-modularscripts" + { + "name": "ignition-modularscripts", + "host": true + } ] } diff --git a/ports/ignition-cmake2/FindGTS.patch b/ports/ignition-cmake2/FindGTS.patch deleted file mode 100644 index 47bb145e00235b..00000000000000 --- a/ports/ignition-cmake2/FindGTS.patch +++ /dev/null @@ -1,31 +0,0 @@ -diff --git a/cmake/FindGTS.cmake b/cmake/FindGTS.cmake -index ad00a9715..a83d8af40 100644 ---- a/cmake/FindGTS.cmake -+++ b/cmake/FindGTS.cmake -@@ -67,6 +67,26 @@ else() - # 2.1 Need glib library - find_library(GLIB_LIBRARY glib-2.0) - list(APPEND GTS_LIBRARIES "${GLIB_LIBRARY}") -+ find_path(GLIB_INCLUDE_DIRS glib.h -+ HINTS -+ ${CMAKE_FIND_ROOT_PATH} -+ PATH -+ ${CMAKE_FIND_ROOT_PATH} -+ PATH_SUFFIXES -+ include -+ include/glib-2.0 -+ DOC "glib header include dir" -+ ) -+ find_path(GLIB_CONFIG_INCLUDE_DIRS glibconfig.h -+ HINTS -+ ${CMAKE_FIND_ROOT_PATH} -+ PATHS -+ ${CMAKE_FIND_ROOT_PATH} -+ PATH_SUFFIXES -+ lib/glib-2.0/include -+ doc "glib header include dir" -+ ) -+ list(APPEND GTS_INCLUDE_DIRS ${GLIB_INCLUDE_DIRS} ${GLIB_CONFIG_INCLUDE_DIRS}) - - if (GTS_FOUND) - # We need to manually specify the pkgconfig entry (and type of entry), diff --git a/ports/ignition-cmake2/add-pkgconfig-and-remove-privatefor-limit.patch b/ports/ignition-cmake2/add-pkgconfig-and-remove-privatefor-limit.patch new file mode 100644 index 00000000000000..cb562df06d3b7c --- /dev/null +++ b/ports/ignition-cmake2/add-pkgconfig-and-remove-privatefor-limit.patch @@ -0,0 +1,48 @@ +diff --git a/cmake/IgnUtils.cmake b/cmake/IgnUtils.cmake +index bc6dbdc..1e8adbb 100644 +--- a/cmake/IgnUtils.cmake ++++ b/cmake/IgnUtils.cmake +@@ -142,7 +142,7 @@ macro(ign_find_package PACKAGE_NAME) + #------------------------------------ + # Define the expected arguments + set(options REQUIRED PRIVATE EXACT QUIET CONFIG BUILD_ONLY PKGCONFIG_IGNORE) +- set(oneValueArgs VERSION PRETTY PURPOSE EXTRA_ARGS PKGCONFIG PKGCONFIG_LIB PKGCONFIG_VER_COMPARISON) ++ set(oneValueArgs VERSION PRETTY PURPOSE EXTRA_ARGS PKGCONFIG PKGCONFIG_LIB PKGCONFIG_VER_COMPARISON BY_PKGCONFIG) + set(multiValueArgs REQUIRED_BY PRIVATE_FOR COMPONENTS OPTIONAL_COMPONENTS) + + #------------------------------------ +@@ -191,9 +191,15 @@ macro(ign_find_package PACKAGE_NAME) + endif() + + ++ if (NOT ign_find_package_BY_PKGCONFIG) + #------------------------------------ + # Call find_package with the provided arguments + find_package(${${PACKAGE_NAME}_find_package_args}) ++ else() ++ find_package(PkgConfig REQUIRED) ++ include(FindPkgConfig) ++ pkg_check_modules(${PACKAGE_NAME} ${ign_find_package_BY_PKGCONFIG}) ++ endif() + + if(${PACKAGE_NAME}_FOUND) + +@@ -319,17 +325,11 @@ macro(ign_find_package PACKAGE_NAME) + endif() + + if(ign_find_package_REQUIRED_BY) +- +- # Identify which components are privately requiring this package +- foreach(component ${ign_find_package_PRIVATE_FOR}) +- set(${component}_${PACKAGE_NAME}_PRIVATE true) +- endforeach() +- + # If this is required by some components, add it to the + # ${component}_CMAKE_DEPENDENCIES variables that are specific to those + # componenets + foreach(component ${ign_find_package_REQUIRED_BY}) +- if(NOT ${component}_${PACKAGE_NAME}_PRIVATE) ++ if(NOT ign_find_package_BY_PKGCONFIG) + ign_string_append(${component}_CMAKE_DEPENDENCIES "${${PACKAGE_NAME}_find_dependency}" DELIM "\n") + endif() + endforeach() diff --git a/ports/ignition-cmake2/portfile.cmake b/ports/ignition-cmake2/portfile.cmake index 454a84f1734052..39c3a29cebfeb4 100644 --- a/ports/ignition-cmake2/portfile.cmake +++ b/ports/ignition-cmake2/portfile.cmake @@ -1,11 +1,10 @@ -include(${CURRENT_INSTALLED_DIR}/share/ignitionmodularscripts/ignition_modular_library.cmake) - -set(PACKAGE_VERSION "2.5.0") +set(PACKAGE_VERSION "2.17.1") ignition_modular_library(NAME cmake VERSION ${PACKAGE_VERSION} - SHA512 dc546e5e4deabba12faec5fb0162309dfce9b429a6bbd6637c058acdda3eb4fa1e44e9b71f55603d0cff77550117dafc3fc8475621ede65fa8aa915254beb463 - PATCHES FindGTS.patch) + SHA512 871a32e9ca5314caa5f25b4135b430e7be829f7afd12ba98ea4524ee758c7ca7ebf64a9e567c6dbc285c497320cd0fe1e69f8d891343b869344726b32dbdc3ee + PATCHES + add-pkgconfig-and-remove-privatefor-limit.patch) # Install custom usage -configure_file(${CMAKE_CURRENT_LIST_DIR}/usage ${CURRENT_PACKAGES_DIR}/share/${PORT}/usage @ONLY) +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 52c91489255fb7..dfacd4a592ca49 100644 --- a/ports/ignition-cmake2/vcpkg.json +++ b/ports/ignition-cmake2/vcpkg.json @@ -1,10 +1,13 @@ { "name": "ignition-cmake2", - "version": "2.5.0", - "port-version": 1, + "version": "2.17.1", "description": "CMake helper functions for building robotic applications", "homepage": "https://ignitionrobotics.org/libs/cmake", + "license": null, "dependencies": [ - "ignition-modularscripts" + { + "name": "ignition-modularscripts", + "host": true + } ] } diff --git a/ports/ignition-common1/portfile.cmake b/ports/ignition-common1/portfile.cmake index 20567312381bad..6bea5e2e223078 100644 --- a/ports/ignition-common1/portfile.cmake +++ b/ports/ignition-common1/portfile.cmake @@ -1,6 +1,4 @@ -include(${CURRENT_INSTALLED_DIR}/share/ignitionmodularscripts/ignition_modular_library.cmake) - ignition_modular_library(NAME common VERSION "1.1.1" REF ignition-common_1.1.1 - SHA512 e96e82dc401281cd31843f4b0ae2c1d23589170869621ea62eb6d6b31b11bd622c14da7046b1993c8fc67a1d39bae9a96b9f8efc8923e305823f963d864975f7) + SHA512 3311a07fad8fdf809ff3f865de2493ec17c3dd157ee3297f283cf872090fb9e9f05b163416dca32f1bdf2bde02c9b4a9a7defc308344b747a8d113594f65f309) diff --git a/ports/ignition-common1/vcpkg.json b/ports/ignition-common1/vcpkg.json index a7df59922a9abb..29ee146150b1e0 100644 --- a/ports/ignition-common1/vcpkg.json +++ b/ports/ignition-common1/vcpkg.json @@ -1,8 +1,10 @@ { "name": "ignition-common1", - "version-string": "1.1.1", - "port-version": 2, - "description": "Common libraries for robotics applications", + "version": "1.1.1", + "port-version": 4, + "description": "Deprecated: Use ignition-common3. Common libraries for robotics applications", + "license": null, + "supports": "windows", "dependencies": [ { "name": "dlfcn-win32", @@ -22,6 +24,10 @@ }, "ignition-cmake0", "ignition-math4", + { + "name": "ignition-modularscripts", + "host": true + }, { "name": "tinyxml2", "platform": "!windows & !uwp" diff --git a/ports/ignition-common3/fix-dependencies.patch b/ports/ignition-common3/fix-dependencies.patch new file mode 100644 index 00000000000000..7908991df7af76 --- /dev/null +++ b/ports/ignition-common3/fix-dependencies.patch @@ -0,0 +1,81 @@ +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) +- ign_find_package(TINYXML2 PRETTY tinyxml2 ++ ign_find_package(tinyxml2 EXTRA_ARGS CONFIG + REQUIRED_BY graphics + PRIVATE_FOR graphics) + else() +@@ -70,13 +70,13 @@ if(NOT MSVC) + + #------------------------------------ + # Find uuid +- ign_find_package(UUID REQUIRED PRETTY uuid) ++ ign_find_package(UUID REQUIRED PRETTY uuid REQUIRED_BY graphics) + + endif() + + #------------------------------------ + # Find Freeimage +-ign_find_package(FreeImage VERSION 3.9 ++ign_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 + ign_find_package( + GTS PRETTY gts PURPOSE "GNU Triangulation Surface library" ++ BY_PKGCONFIG gts + REQUIRED_BY graphics + PRIVATE_FOR graphics) + +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 +@@ -16,8 +16,10 @@ target_link_libraries(${graphics_target} + PUBLIC + ignition-math${IGN_MATH_VER}::ignition-math${IGN_MATH_VER} + PRIVATE +- GTS::GTS +- FreeImage::FreeImage) ++ ${GTS_LINK_LIBRARIES} ++ freeimage::FreeImage) ++ ++target_include_directories(${graphics_target} PRIVATE ${GTS_INCLUDE_DIRS}) + + ign_build_tests(TYPE UNIT SOURCES ${gtest_sources} + LIB_DEPS ${graphics_target}) +@@ -28,13 +30,13 @@ 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() +@@ -62,8 +64,8 @@ endif() + + # define of tinxml2 major version >= 6 + # https://github.com/ignitionrobotics/ign-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/ignition-common3/portfile.cmake b/ports/ignition-common3/portfile.cmake index 93059ae239de58..7a659315f677ca 100644 --- a/ports/ignition-common3/portfile.cmake +++ b/ports/ignition-common3/portfile.cmake @@ -1,8 +1,16 @@ -include(${CURRENT_INSTALLED_DIR}/share/ignitionmodularscripts/ignition_modular_library.cmake) +set(PACKAGE_NAME common) + +ignition_modular_library( + NAME ${PACKAGE_NAME} + REF ${PORT}_${VERSION} + VERSION ${VERSION} + SHA512 022f5f68cdc134fa84dc22b49dc43e5c62d6e987e7fd63630586716e43fb2aad57ab4fb470ea1c3884c79b910d403a94a4d47ac24ffbb6f3b89b36c5b0e708f8 + OPTIONS + -DUSE_EXTERNAL_TINYXML2=ON + PATCHES + fix-dependencies.patch +) -ignition_modular_library(NAME common - VERSION "3.9.0" - SHA512 8d052850cbb125e334494c9ad9b234c371fe310327dba997515651f29479d747dffa55b0aa822f2a78e6317a4df2d41389c7a07165cdc08894fdfb116e4d9756) # Remove non-relocatable helper scripts (see https://github.com/ignitionrobotics/ign-common/issues/82) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin/ign_remotery_vis" "${CURRENT_PACKAGES_DIR}/debug/bin/ign_remotery_vis") diff --git a/ports/ignition-common3/vcpkg.json b/ports/ignition-common3/vcpkg.json index ce71be39dac52a..16b6c9ce1f2a13 100644 --- a/ports/ignition-common3/vcpkg.json +++ b/ports/ignition-common3/vcpkg.json @@ -1,9 +1,9 @@ { "name": "ignition-common3", - "version-string": "3.9.0", - "port-version": 1, + "version": "3.16.0", "description": "Common libraries for robotics applications", "homepage": "https://ignitionrobotics.org/libs/common", + "license": null, "dependencies": [ { "name": "dlfcn-win32", @@ -14,10 +14,13 @@ "gts", "ignition-cmake2", "ignition-math6", - "ignition-modularscripts", + { + "name": "ignition-modularscripts", + "host": true + }, { "name": "libuuid", - "platform": "!windows & !uwp" + "platform": "!windows & !uwp & !osx" }, "tinyxml2" ] diff --git a/ports/ignition-fuel-tools1/portfile.cmake b/ports/ignition-fuel-tools1/portfile.cmake index c7c310294557cf..3911029ed13b91 100644 --- a/ports/ignition-fuel-tools1/portfile.cmake +++ b/ports/ignition-fuel-tools1/portfile.cmake @@ -1,9 +1,7 @@ -include(${CURRENT_INSTALLED_DIR}/share/ignitionmodularscripts/ignition_modular_library.cmake) - ignition_modular_library(NAME fuel-tools VERSION "1.2.0" CMAKE_PACKAGE_NAME ignition-fuel_tools1 - SHA512 a656fed74fb2138b3bcf7d35b25ad06da95cfb9a3ad7ded2c9c54db385f55ea310fd1a72dcf6400b0a6199e376c1ba2d11ee2a08c66e3c2cc8b2ee1b25406986 + SHA512 44ce9215231981f393cf1f6f83071e3f1c5d29bef4fab8d6483eb136b6e2a2e4273e85845f8b2336c4d50ac5fdcc6eb028a972baa0950083c8fa700f85cc7078 # Ensure yaml is correctly linked (backport of https://bitbucket.org/ignitionrobotics/ign-fuel-tools/pull-requests/103/use-yaml_target-instead-of-yaml-yaml/diff) PATCHES link-correct-yaml-target.patch # This can be removed when the pc file of curl is fixed diff --git a/ports/ignition-fuel-tools1/vcpkg.json b/ports/ignition-fuel-tools1/vcpkg.json index 3c4435458b5186..1f4b69293731f3 100644 --- a/ports/ignition-fuel-tools1/vcpkg.json +++ b/ports/ignition-fuel-tools1/vcpkg.json @@ -1,12 +1,17 @@ { "name": "ignition-fuel-tools1", - "version-string": "1.2.0", - "port-version": 3, + "version": "1.2.0", + "port-version": 4, "description": "Tools for using fuel API to download robot models", + "license": null, "dependencies": [ "curl", "ignition-cmake0", "ignition-common1", + { + "name": "ignition-modularscripts", + "host": true + }, "jsoncpp", "libyaml", "libzip" diff --git a/ports/ignition-fuel-tools4/portfile.cmake b/ports/ignition-fuel-tools4/portfile.cmake index 3e88cbcc204e81..f542987fff9968 100644 --- a/ports/ignition-fuel-tools4/portfile.cmake +++ b/ports/ignition-fuel-tools4/portfile.cmake @@ -1,7 +1,5 @@ -include(${CURRENT_INSTALLED_DIR}/share/ignitionmodularscripts/ignition_modular_library.cmake) - ignition_modular_library(NAME fuel-tools VERSION "4.3.0" CMAKE_PACKAGE_NAME ignition-fuel_tools4 - SHA512 451d7bcd195a8ce41c3a7d64ad936c8c0812cbc7af03dbe75cbdc359599bf1f828595833c1758d4de8e37c37730bb852de95b2256ff9134af4ab197df2b66a8b + SHA512 1996e487bf8dcb29798064b1a12fe972931e84bcb19a4df2398d34cda9963bc9eef6dd14446c22c18f0de894dcdf35852669ce62b57562b1609045248f41ea0f ) diff --git a/ports/ignition-fuel-tools4/vcpkg.json b/ports/ignition-fuel-tools4/vcpkg.json index 093056ffbcdece..3b5b17a119c027 100644 --- a/ports/ignition-fuel-tools4/vcpkg.json +++ b/ports/ignition-fuel-tools4/vcpkg.json @@ -1,14 +1,18 @@ { "name": "ignition-fuel-tools4", - "version-string": "4.3.0", - "port-version": 1, + "version": "4.3.0", + "port-version": 2, "description": "Tools for using fuel API to download robot models", "homepage": "https://ignitionrobotics.org/libs/fuel_tools", + "license": null, "dependencies": [ "curl", "ignition-cmake2", "ignition-common3", - "ignition-modularscripts", + { + "name": "ignition-modularscripts", + "host": true + }, "ignition-msgs5", "jsoncpp", "libyaml", diff --git a/ports/ignition-math4/portfile.cmake b/ports/ignition-math4/portfile.cmake index 8d5148477ca3eb..352330d67695b6 100644 --- a/ports/ignition-math4/portfile.cmake +++ b/ports/ignition-math4/portfile.cmake @@ -1,5 +1,3 @@ -include(${CURRENT_INSTALLED_DIR}/share/ignitionmodularscripts/ignition_modular_library.cmake) - ignition_modular_library(NAME math VERSION "4.0.0" - SHA512 5996af60666a1166fc19b2db9715f7214341becb8eb6071c09315e1f71e759c6de4da99b44312829fc7b2bdef7e0f3671e4d2a92e0d2dd5d5fd782a6c46b012a) + SHA512 b0559c691335d43e4cbb986ff13cdee9c65ce59d8e3a15808d9b052fc064263560fece71d670d5417b4b713fcd7ac32f5b808703ff472979a7226e0c1b2089aa) diff --git a/ports/ignition-math4/vcpkg.json b/ports/ignition-math4/vcpkg.json index bcdab1843b2a7a..33466e29004dbf 100644 --- a/ports/ignition-math4/vcpkg.json +++ b/ports/ignition-math4/vcpkg.json @@ -1,10 +1,15 @@ { "name": "ignition-math4", - "version-string": "4.0.0", - "port-version": 2, + "version": "4.0.0", + "port-version": 3, "description": "Math API for robotic applications", "homepage": "https://ignitionrobotics.org/libs/math", + "license": null, "dependencies": [ - "ignition-cmake0" + "ignition-cmake0", + { + "name": "ignition-modularscripts", + "host": true + } ] } diff --git a/ports/ignition-math6/portfile.cmake b/ports/ignition-math6/portfile.cmake index 138d39acbbe4c1..16fc40459dd1a2 100644 --- a/ports/ignition-math6/portfile.cmake +++ b/ports/ignition-math6/portfile.cmake @@ -1,5 +1,4 @@ -include(${CURRENT_INSTALLED_DIR}/share/ignitionmodularscripts/ignition_modular_library.cmake) - ignition_modular_library(NAME math - VERSION "6.6.0" - SHA512 1b5f59b45256daa81cbfb7da4727200d0d6cb4a75fbc3b83b512c18ec6307b5bd78b8ee7a84f0f8a8c334717a1480766f62658bd213e9021c09c0ed22caa921d) + VERSION "6.14.0" + SHA512 ad95160cc1cd137779b9da589c47994d04f829af10865071e9ead4d55c4399d04d5398287d3b294e3f67230205656e1fe243129673e1f8e73f62f3933c314802 + ) diff --git a/ports/ignition-math6/vcpkg.json b/ports/ignition-math6/vcpkg.json index bf5c3cfbb06065..7cd94d0e9a4955 100644 --- a/ports/ignition-math6/vcpkg.json +++ b/ports/ignition-math6/vcpkg.json @@ -1,12 +1,15 @@ { "name": "ignition-math6", - "version-string": "6.6.0", - "port-version": 1, + "version": "6.14.0", "description": "Math API for robotic applications", "homepage": "https://ignitionrobotics.org/libs/math", + "license": null, "dependencies": [ "eigen3", "ignition-cmake2", - "ignition-modularscripts" + { + "name": "ignition-modularscripts", + "host": true + } ] } diff --git a/ports/ignition-modularscripts/ignition_modular_library.cmake b/ports/ignition-modularscripts/ignition_modular_library.cmake deleted file mode 100644 index 9492531e87e826..00000000000000 --- a/ports/ignition-modularscripts/ignition_modular_library.cmake +++ /dev/null @@ -1,148 +0,0 @@ - -function(ignition_modular_build_library NAME MAJOR_VERSION SOURCE_PATH CMAKE_PACKAGE_NAME DEFAULT_CMAKE_PACKAGE_NAME IML_DISABLE_PKGCONFIG_INSTALL) - vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - DISABLE_PARALLEL_CONFIGURE - OPTIONS -DBUILD_TESTING=OFF - ) - - vcpkg_install_cmake(ADD_BIN_TO_PATH) - - # If necessary, move the CMake config files - if(EXISTS "${CURRENT_PACKAGES_DIR}/lib/cmake") - # Some ignition libraries install library subcomponents, that are effectively additional cmake packages - # with name ${CMAKE_PACKAGE_NAME}-${COMPONENT_NAME}, so it is needed to call vcpkg_fixup_cmake_targets for them as well - file(GLOB COMPONENTS_CMAKE_PACKAGE_NAMES - LIST_DIRECTORIES TRUE - RELATIVE "${CURRENT_PACKAGES_DIR}/lib/cmake/" - "${CURRENT_PACKAGES_DIR}/lib/cmake/*") - - foreach(COMPONENT_CMAKE_PACKAGE_NAME IN LISTS COMPONENTS_CMAKE_PACKAGE_NAMES) - vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/${COMPONENT_CMAKE_PACKAGE_NAME}" - TARGET_PATH "share/${COMPONENT_CMAKE_PACKAGE_NAME}" - DO_NOT_DELETE_PARENT_CONFIG_PATH) - endforeach() - - file(GLOB_RECURSE CMAKE_RELEASE_FILES - "${CURRENT_PACKAGES_DIR}/lib/cmake/${CMAKE_PACKAGE_NAME}/*") - - file(COPY ${CMAKE_RELEASE_FILES} DESTINATION - "${CURRENT_PACKAGES_DIR}/share/${CMAKE_PACKAGE_NAME}/") - endif() - - # Remove unused files files - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/cmake - ${CURRENT_PACKAGES_DIR}/debug/include - ${CURRENT_PACKAGES_DIR}/debug/lib/cmake - ${CURRENT_PACKAGES_DIR}/debug/share) - - # Make pkg-config files relocatable - if(NOT IML_DISABLE_PKGCONFIG_INSTALL) - if(VCPKG_TARGET_IS_LINUX) - set(SYSTEM_LIBRARIES SYSTEM_LIBRARIES pthread) - endif() - vcpkg_fixup_pkgconfig(${SYSTEM_LIBRARIES}) - else() - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/pkgconfig - ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig) - endif() - - # Find the relevant license file and install it - if(EXISTS "${SOURCE_PATH}/LICENSE") - set(LICENSE_PATH "${SOURCE_PATH}/LICENSE") - elseif(EXISTS "${SOURCE_PATH}/README.md") - set(LICENSE_PATH "${SOURCE_PATH}/README.md") - endif() - file(INSTALL ${LICENSE_PATH} DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) -endfunction() - -## # ignition_modular_library -## -## Download and build a library from the Ignition Robotics project ( https://ignitionrobotics.org/ ). -## -## ## Usage: -## ```cmake -## ignition_modular_library(NAME -## VERSION -## SHA512 -## [REF ] -## [HEAD_REF ] -## [PATCHES ] -## [CMAKE_PACKAGE_NAME ] -## [DISABLE_PKGCONFIG_INSTALL]) -## ``` -## -## ## Parameters: -## ### NAME -## The name of the specific ignition library, i.e. `cmake` for `ignition-cmake0`, `math` for `ignition-math4`. -## -## ### VERSION -## The complete version number. -## -## ### SHA512 -## The SHA512 hash that should match the downloaded archive. This is forwarded to the `vcpkg_from_github` command. -## -## ### REF -## Reference to the tag of the desired release. This is forwarded to the `vcpkg_from_github` command. -## If not specified, defaults to `ignition-${NAME}${MAJOR_VERSION}_${VERSION}`. -## -## ### HEAD_REF -## Reference (tag) to the desired release. This is forwarded to the `vcpkg_from_github` command. -## If not specified, defaults to `ign-${NAME}${MAJOR_VERSION}`. -## -## ### PATCHES -## A list of patches to be applied to the extracted sources. -## This is forwarded to the `vcpkg_from_github` command. -## -## ### CMAKE_PACKAGE_NAME -## The name of the CMake package for the port. -## If not specified, defaults to `ignition-${NAME}${MAJOR_VERSION}`. -## -## ### DISABLE_PKGCONFIG_INSTALL -## If present, disable installation of .pc pkg-config configuration files. -## -## -## ## Examples: -## -## * [ignition-cmake0](https://github.com/Microsoft/vcpkg/blob/master/ports/ignition-cmake0/portfile.cmake) -## * [ignition-math4](https://github.com/Microsoft/vcpkg/blob/master/ports/ignition-math4/portfile.cmake) -## * [ignition-fuel-tools1](https://github.com/Microsoft/vcpkg/blob/master/ports/ignition-fuel-tools1/portfile.cmake) -function(ignition_modular_library) - set(options DISABLE_PKGCONFIG_INSTALL) - set(oneValueArgs NAME VERSION SHA512 REF HEAD_REF CMAKE_PACKAGE_NAME) - set(multiValueArgs PATCHES) - cmake_parse_arguments(IML "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) - - string(REPLACE "." ";" IML_VERSION_LIST ${IML_VERSION}) - list(GET IML_VERSION_LIST 0 IML_MAJOR_VERSION) - - # If the REF option is omitted, use the canonical one - if(NOT DEFINED IML_REF) - set(IML_REF "ignition-${IML_NAME}${IML_MAJOR_VERSION}_${IML_VERSION}") - endif() - - # If the HEAD_REF option is omitted, use the canonical one - if(NOT DEFINED IML_HEAD_REF) - set(IML_HEAD_REF "ign-${IML_NAME}${IML_MAJOR_VERSION}") - endif() - - # If the CMAKE_PACKAGE_NAME option is omitted, use the canonical one - set(DEFAULT_CMAKE_PACKAGE_NAME "ignition-${IML_NAME}${IML_MAJOR_VERSION}") - if(NOT DEFINED IML_CMAKE_PACKAGE_NAME) - set(IML_CMAKE_PACKAGE_NAME ${DEFAULT_CMAKE_PACKAGE_NAME}) - endif() - - # Download library from github, to support also the --head option - vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO ignitionrobotics/ign-${IML_NAME} - REF ${IML_REF} - SHA512 ${IML_SHA512} - HEAD_REF ${IML_HEAD_REF} - PATCHES ${IML_PATCHES} - ) - - # Build library - ignition_modular_build_library(${IML_NAME} ${IML_MAJOR_VERSION} ${SOURCE_PATH} ${IML_CMAKE_PACKAGE_NAME} ${DEFAULT_CMAKE_PACKAGE_NAME} ${IML_DISABLE_PKGCONFIG_INSTALL}) -endfunction() diff --git a/ports/ignition-modularscripts/portfile.cmake b/ports/ignition-modularscripts/portfile.cmake index 509240d7dde999..cabf97adcf7587 100644 --- a/ports/ignition-modularscripts/portfile.cmake +++ b/ports/ignition-modularscripts/portfile.cmake @@ -1,8 +1,7 @@ -file(COPY - ${CMAKE_CURRENT_LIST_DIR}/ignition_modular_library.cmake - DESTINATION - ${CURRENT_PACKAGES_DIR}/share/ignitionmodularscripts -) -file(WRITE ${CURRENT_PACKAGES_DIR}/share/ignitionmodularscripts/copyright "") +file(INSTALL + "${CMAKE_CURRENT_LIST_DIR}/vcpkg-port-config.cmake" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") + +file(WRITE "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" "") set(VCPKG_POLICY_EMPTY_PACKAGE enabled) diff --git a/ports/ignition-modularscripts/vcpkg-port-config.cmake b/ports/ignition-modularscripts/vcpkg-port-config.cmake new file mode 100644 index 00000000000000..2fb83d6b5d009d --- /dev/null +++ b/ports/ignition-modularscripts/vcpkg-port-config.cmake @@ -0,0 +1,173 @@ +include("${CMAKE_CURRENT_LIST_DIR}/../vcpkg-cmake/vcpkg-port-config.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/../vcpkg-cmake-config/vcpkg-port-config.cmake") + +function(ignition_modular_build_library) + set(options DISABLE_PKGCONFIG_INSTALL) + set(oneValueArgs NAME MAJOR_VERSION SOURCE_PATH CMAKE_PACKAGE_NAME DEFAULT_CMAKE_PACKAGE_NAME) + set(multiValueArgs OPTIONS) + cmake_parse_arguments(PARSE_ARGV 0 IML "${options}" "${oneValueArgs}" "${multiValueArgs}") + vcpkg_find_acquire_program(PKGCONFIG) + vcpkg_cmake_configure( + SOURCE_PATH "${IML_SOURCE_PATH}" + DISABLE_PARALLEL_CONFIGURE + OPTIONS + "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}" + -DBUILD_DOCS=OFF + -DBUILD_TESTING=OFF + ${IML_OPTIONS} + MAYBE_UNUSED_VARIABLES + BUILD_DOCS + BUILD_TESTING + PKG_CONFIG_EXECUTABLE + ) + + vcpkg_cmake_install(ADD_BIN_TO_PATH) + + # If necessary, move the CMake config files + if(EXISTS "${CURRENT_PACKAGES_DIR}/lib/cmake") + # Some ignition libraries install library subcomponents, that are effectively additional cmake packages + # with name ${IML_CMAKE_PACKAGE_NAME}-${COMPONENT_NAME}, so it is needed to call vcpkg_cmake_config_fixup for them as well + file(GLOB COMPONENTS_CMAKE_PACKAGE_NAMES + LIST_DIRECTORIES TRUE + RELATIVE "${CURRENT_PACKAGES_DIR}/lib/cmake/" + "${CURRENT_PACKAGES_DIR}/lib/cmake/*") + + foreach(COMPONENT_CMAKE_PACKAGE_NAME IN LISTS COMPONENTS_CMAKE_PACKAGE_NAMES) + vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${COMPONENT_CMAKE_PACKAGE_NAME}" + PACKAGE_NAME "${COMPONENT_CMAKE_PACKAGE_NAME}" + DO_NOT_DELETE_PARENT_CONFIG_PATH) + endforeach() + + file(GLOB_RECURSE CMAKE_RELEASE_FILES + "${CURRENT_PACKAGES_DIR}/lib/cmake/${IML_CMAKE_PACKAGE_NAME}/*") + + file(COPY ${CMAKE_RELEASE_FILES} DESTINATION + "${CURRENT_PACKAGES_DIR}/share/${IML_CMAKE_PACKAGE_NAME}/") + endif() + + # Remove unused files files + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/cmake" + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/lib/cmake" + "${CURRENT_PACKAGES_DIR}/debug/share") + + # Make pkg-config files relocatable + if(NOT IML_DISABLE_PKGCONFIG_INSTALL) + vcpkg_fixup_pkgconfig() + else() + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/pkgconfig" + "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig") + endif() + + # Find the relevant license file and install it + if(EXISTS "${SOURCE_PATH}/LICENSE") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE") + elseif(EXISTS "${SOURCE_PATH}/README.md") + set(LICENSE_PATH "${SOURCE_PATH}/README.md") + endif() + file(INSTALL "${LICENSE_PATH}" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +endfunction() + +## # ignition_modular_library +## +## Download and build a library from the Ignition Robotics project ( https://ignitionrobotics.org/ ). +## +## ## Usage: +## ```cmake +## ignition_modular_library(NAME +## VERSION +## SHA512 +## [REF ] +## [HEAD_REF ] +## [PATCHES ] +## [CMAKE_PACKAGE_NAME ] +## [DISABLE_PKGCONFIG_INSTALL]) +## ``` +## +## ## Parameters: +## ### NAME +## The name of the specific ignition library, i.e. `cmake` for `ignition-cmake0`, `math` for `ignition-math4`. +## +## ### VERSION +## The complete version number. +## +## ### SHA512 +## The SHA512 hash that should match the downloaded archive. This is forwarded to the `vcpkg_from_github` command. +## +## ### REF +## Reference to the tag of the desired release. This is forwarded to the `vcpkg_from_github` command. +## If not specified, defaults to `ignition-${NAME}${MAJOR_VERSION}_${VERSION}`. +## +## ### HEAD_REF +## Reference (tag) to the desired release. This is forwarded to the `vcpkg_from_github` command. +## If not specified, defaults to `ign-${NAME}${MAJOR_VERSION}`. +## +## ### PATCHES +## A list of patches to be applied to the extracted sources. +## This is forwarded to the `vcpkg_from_github` command. +## +## ### CMAKE_PACKAGE_NAME +## The name of the CMake package for the port. +## If not specified, defaults to `ignition-${NAME}${MAJOR_VERSION}`. +## +## ### DISABLE_PKGCONFIG_INSTALL +## If present, disable installation of .pc pkg-config configuration files. +## +## +## ## Examples: +## +## * [ignition-cmake0](https://github.com/Microsoft/vcpkg/blob/master/ports/ignition-cmake0/portfile.cmake) +## * [ignition-math4](https://github.com/Microsoft/vcpkg/blob/master/ports/ignition-math4/portfile.cmake) +## * [ignition-fuel-tools1](https://github.com/Microsoft/vcpkg/blob/master/ports/ignition-fuel-tools1/portfile.cmake) +function(ignition_modular_library) + set(options DISABLE_PKGCONFIG_INSTALL) + set(oneValueArgs NAME VERSION SHA512 REF HEAD_REF CMAKE_PACKAGE_NAME) + set(multiValueArgs PATCHES OPTIONS) + cmake_parse_arguments(PARSE_ARGV 0 IML "${options}" "${oneValueArgs}" "${multiValueArgs}") + + string(REPLACE "." ";" IML_VERSION_LIST "${IML_VERSION}") + list(GET IML_VERSION_LIST 0 IML_MAJOR_VERSION) + + # If the REF option is omitted, use the canonical one + if(NOT DEFINED IML_REF) + set(IML_REF "ignition-${IML_NAME}${IML_MAJOR_VERSION}_${IML_VERSION}") + endif() + + # If the HEAD_REF option is omitted, use the canonical one + if(NOT DEFINED IML_HEAD_REF) + set(IML_HEAD_REF "ign-${IML_NAME}${IML_MAJOR_VERSION}") + endif() + + # If the CMAKE_PACKAGE_NAME option is omitted, use the canonical one + set(DEFAULT_CMAKE_PACKAGE_NAME "ignition-${IML_NAME}${IML_MAJOR_VERSION}") + if(NOT DEFINED IML_CMAKE_PACKAGE_NAME) + set(IML_CMAKE_PACKAGE_NAME "${DEFAULT_CMAKE_PACKAGE_NAME}") + endif() + + # Download library from github, to support also the --head option + vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO "ignitionrobotics/ign-${IML_NAME}" + REF "${IML_REF}" + SHA512 "${IML_SHA512}" + HEAD_REF "${IML_HEAD_REF}" + PATCHES ${IML_PATCHES} + FILE_DISAMBIGUATOR 1 + ) + + set(extra_arguments "") + if (IML_DISABLE_PKGCONFIG_INSTALL) + list(APPEND extra_arguments DISABLE_PKGCONFIG_INSTALL) + endif() + + # Build library + ignition_modular_build_library( + NAME "${IML_NAME}" + MAJOR_VERSION "${IML_MAJOR_VERSION}" + SOURCE_PATH "${SOURCE_PATH}" + CMAKE_PACKAGE_NAME "${IML_CMAKE_PACKAGE_NAME}" + DEFAULT_CMAKE_PACKAGE_NAME "${DEFAULT_CMAKE_PACKAGE_NAME}" + ${extra_arguments} + OPTIONS ${IML_OPTIONS} + ) +endfunction() diff --git a/ports/ignition-modularscripts/vcpkg.json b/ports/ignition-modularscripts/vcpkg.json index d6c0c638bb10c9..27af10243cb1b3 100644 --- a/ports/ignition-modularscripts/vcpkg.json +++ b/ports/ignition-modularscripts/vcpkg.json @@ -1,6 +1,17 @@ { "name": "ignition-modularscripts", - "version-string": "2020-11-23", - "port-version": 1, - "description": "Vcpkg helpers to package ignition libraries" + "version-date": "2023-05-05", + "description": "Vcpkg helpers to package ignition libraries", + "license": null, + "supports": "native", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/ignition-msgs1/fix-Add_std_string.patch b/ports/ignition-msgs1/fix-Add_std_string.patch new file mode 100644 index 00000000000000..8b20e43376ddc5 --- /dev/null +++ b/ports/ignition-msgs1/fix-Add_std_string.patch @@ -0,0 +1,29 @@ +diff --git a/include/ignition/msgs/Generator.hh b/include/ignition/msgs/Generator.hh +index 62d77c6..5785e51 100644 +--- a/include/ignition/msgs/Generator.hh ++++ b/include/ignition/msgs/Generator.hh +@@ -43,9 +43,9 @@ class Generator : public CodeGenerator + /// \param[in] _generatorContext Output directory. + /// \param[in] _error Unused string value + public: virtual bool Generate(const FileDescriptor *_file, +- const string &_parameter, ++ const std::string &_parameter, + OutputDirectory *_generatorContext, +- string *_error) const; ++ std::string *_error) const; + + // private: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(Generator); + }; +diff --git a/src/Generator.cc b/src/Generator.cc +index f703fb8..922d637 100644 +--- a/src/Generator.cc ++++ b/src/Generator.cc +@@ -67,7 +67,7 @@ Generator::~Generator() + + ///////////////////////////////////////////////// + bool Generator::Generate(const FileDescriptor *_file, +- const string &/*_parameter*/, ++ const std::string &/*_parameter*/, + OutputDirectory *_generatorContext, + std::string * /*_error*/) const + { 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 0b2215f4942819..d1cecc700c150e 100644 --- a/ports/ignition-msgs1/portfile.cmake +++ b/ports/ignition-msgs1/portfile.cmake @@ -1,5 +1,3 @@ -include(${CURRENT_INSTALLED_DIR}/share/ignitionmodularscripts/ignition_modular_library.cmake) - # Explicitly disable cross-compilation until the upstream discussion # https://bitbucket.org/ignitionrobotics/ign-msgs/issues/34/add-support-for-cross-compilation is solved if(CMAKE_HOST_WIN32 AND NOT VCPKG_TARGET_ARCHITECTURE MATCHES "x64" AND NOT VCPKG_TARGET_ARCHITECTURE MATCHES "x86") @@ -18,6 +16,9 @@ ignition_modular_library(NAME msgs VERSION "1.0.0" # See https://bitbucket.org/ignitionrobotics/ign-msgs/issues/33/the-ignition-msgs1_100-tag-does-not-match REF ignition-msgs_1.0.0 - SHA512 3a270f0ac988b947091d4626be48fe8cfed5ddfde5a37b9d0f08fddcbf278099ab231fca11e2dd2296ca54e0350ea14e3f685dc238f0827f18f10ab7b75039de + SHA512 18475cc76cc3b58e451faf7a57a0145a9b419cf3e4312627202d96982b066df48cbabcc9991b79a176c5180b90f019dc30114286ad5562c483759052cf63d945 # Fix linking order of protobuf libraries (backport of https://bitbucket.org/ignitionrobotics/ign-msgs/pull-requests/151) - PATCHES fix-protobuf-static-link-order.patch) + PATCHES + fix-protobuf-static-link-order.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 f81434b7afec2b..7a507a65df2a24 100644 --- a/ports/ignition-msgs1/vcpkg.json +++ b/ports/ignition-msgs1/vcpkg.json @@ -1,11 +1,16 @@ { "name": "ignition-msgs1", - "version-string": "1.0.0", - "port-version": 4, + "version": "1.0.0", + "port-version": 7, "description": "Middleware protobuf messages for robotics", + "license": "Apache-2.0", "dependencies": [ "ignition-cmake0", "ignition-math4", + { + "name": "ignition-modularscripts", + "host": true + }, "protobuf" ] } diff --git a/ports/ignition-msgs5/02-Add_std_string.patch b/ports/ignition-msgs5/02-Add_std_string.patch new file mode 100644 index 00000000000000..1bf22e3dff1867 --- /dev/null +++ b/ports/ignition-msgs5/02-Add_std_string.patch @@ -0,0 +1,29 @@ +diff --git a/src/Generator.cc b/src/Generator.cc +index 3729ad4..099a46b 100644 +--- a/src/Generator.cc ++++ b/src/Generator.cc +@@ -67,7 +67,7 @@ Generator::~Generator() + + ///////////////////////////////////////////////// + bool Generator::Generate(const FileDescriptor *_file, +- const string &/*_parameter*/, ++ const std::string &/*_parameter*/, + OutputDirectory *_generatorContext, + std::string * /*_error*/) const + { +diff --git a/src/Generator.hh b/src/Generator.hh +index c0f2336..6132274 100644 +--- a/src/Generator.hh ++++ b/src/Generator.hh +@@ -44,9 +44,9 @@ class Generator : public CodeGenerator + /// \param[in] _generatorContext Output directory. + /// \param[in] _error Unused string value + public: virtual bool Generate(const FileDescriptor *_file, +- const string &_parameter, ++ const std::string &_parameter, + OutputDirectory *_generatorContext, +- string *_error) const; ++ std::string *_error) const; + + // private: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(Generator); + }; 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 ea54585901ff93..eef76b8161c93b 100644 --- a/ports/ignition-msgs5/portfile.cmake +++ b/ports/ignition-msgs5/portfile.cmake @@ -1,12 +1,10 @@ -# Explicitly disable cross-compilation until the upstream discussion +# Cross-compilation is disabled until the upstream discussion # https://github.com/ignitionrobotics/ign-msgs/issues/34 is solved -vcpkg_fail_port_install(ON_ARCH "arm" ON_TARGET "uwp") - -include(${CURRENT_INSTALLED_DIR}/share/ignitionmodularscripts/ignition_modular_library.cmake) ignition_modular_library(NAME msgs VERSION "5.3.0" - SHA512 55c167d00b60ae6da0144a9495e9ac8aed61fcbdc61e057e75d31261e335c573543d60e28a7dc195a7c9849c5c6eb0e088d4f4e79fd927e83470a3f1fabef60e + SHA512 645ae5317fb4c3c1b452e98c3581363fc939b5b963dae8a2097bcee97584819bd80357397d88728c5917142dd4ac9beecc335862df44fc06a46d8aa62c54e389 PATCHES - "01-protobuf.patch") - + "01-protobuf.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 24c072d73ed969..36714db45e1adb 100644 --- a/ports/ignition-msgs5/vcpkg.json +++ b/ports/ignition-msgs5/vcpkg.json @@ -1,13 +1,17 @@ { "name": "ignition-msgs5", - "version-string": "5.3.0", - "port-version": 3, + "version": "5.3.0", + "port-version": 7, "description": "Middleware protobuf messages for robotics", + "license": "Apache-2.0", "supports": "!(arm | uwp)", "dependencies": [ "ignition-cmake2", "ignition-math6", - "ignition-modularscripts", + { + "name": "ignition-modularscripts", + "host": true + }, "protobuf", "tinyxml2" ] diff --git a/ports/ignition-msgs6/01-Add_std_string.patch b/ports/ignition-msgs6/01-Add_std_string.patch new file mode 100644 index 00000000000000..609d4ce38ab8bf --- /dev/null +++ b/ports/ignition-msgs6/01-Add_std_string.patch @@ -0,0 +1,29 @@ +diff --git a/src/Generator.cc b/src/Generator.cc +index d490b5a..4265845 100644 +--- a/src/Generator.cc ++++ b/src/Generator.cc +@@ -67,7 +67,7 @@ Generator::~Generator() + + ///////////////////////////////////////////////// + bool Generator::Generate(const FileDescriptor *_file, +- const string &/*_parameter*/, ++ const std::string &/*_parameter*/, + OutputDirectory *_generatorContext, + std::string * /*_error*/) const + { +diff --git a/src/Generator.hh b/src/Generator.hh +index c0f2336..6132274 100644 +--- a/src/Generator.hh ++++ b/src/Generator.hh +@@ -44,9 +44,9 @@ class Generator : public CodeGenerator + /// \param[in] _generatorContext Output directory. + /// \param[in] _error Unused string value + public: virtual bool Generate(const FileDescriptor *_file, +- const string &_parameter, ++ const std::string &_parameter, + OutputDirectory *_generatorContext, +- string *_error) const; ++ std::string *_error) const; + + // private: GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(Generator); + }; 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 f79c5aabd22f88..4d340a19b458c0 100644 --- a/ports/ignition-msgs6/portfile.cmake +++ b/ports/ignition-msgs6/portfile.cmake @@ -1,10 +1,7 @@ -# Explicitly disable cross-compilation until the upstream discussion +# Cross-compilation is explicitly disabled until the upstream discussion # https://github.com/ignitionrobotics/ign-msgs/issues/34 is solved -vcpkg_fail_port_install(ON_ARCH "arm" ON_TARGET "uwp") - -include(${CURRENT_INSTALLED_DIR}/share/ignitionmodularscripts/ignition_modular_library.cmake) ignition_modular_library(NAME msgs VERSION "6.0.0" - SHA512 d1d6f6602ae33ec95b36c5df7815b06970f349492ef0309d8aacbaf2dca0c3e7314bbd64890a2554485fbd52f148a90b7bf54dceb0b3a1dd40eeb1f5bdb9613c) - + SHA512 d7b76b61d37bc4bb2fd1319e2e2d8313fbcc52f51253b7c487bcdb7dabffcf50653fc5c709eb356d8b6ae20500c1fd32ffabc1fcfb28dd14346a10030fb6cd46 + 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 995f166e11f43a..c0814ef5b4f9f6 100644 --- a/ports/ignition-msgs6/vcpkg.json +++ b/ports/ignition-msgs6/vcpkg.json @@ -1,13 +1,17 @@ { "name": "ignition-msgs6", - "version-string": "6.0.0", - "port-version": 2, + "version": "6.0.0", + "port-version": 6, "description": "Middleware protobuf messages for robotics", + "license": "Apache-2.0", "supports": "!(arm | uwp)", "dependencies": [ "ignition-cmake2", "ignition-math6", - "ignition-modularscripts", + { + "name": "ignition-modularscripts", + "host": true + }, "protobuf", "tinyxml2" ] diff --git a/ports/ignition-plugin1/portfile.cmake b/ports/ignition-plugin1/portfile.cmake index daa626047409d1..5f5f5f1afd4c98 100644 --- a/ports/ignition-plugin1/portfile.cmake +++ b/ports/ignition-plugin1/portfile.cmake @@ -1,7 +1,5 @@ -include(${CURRENT_INSTALLED_DIR}/share/ignitionmodularscripts/ignition_modular_library.cmake) - -set(PACKAGE_VERSION "1.1.0") +set(PACKAGE_VERSION "1.4.0") ignition_modular_library(NAME plugin VERSION ${PACKAGE_VERSION} REF "ignition-plugin_${PACKAGE_VERSION}" - SHA512 0657c5816e67d02329a79364050b8a56957180e5b7481b01696c7369b063cbfedfc93793a8ad92d87d242d24e476283dc7847bd810a3de98d3ec5ae7d640568c) + SHA512 bc8d8012ae2a5f4cee26560323f65e40873fb9d1d014a9946317bf941953a7e5018bc08763f87fc624792cb02aebe289286265796697559eeaf41e28e9b05abb) diff --git a/ports/ignition-plugin1/vcpkg.json b/ports/ignition-plugin1/vcpkg.json index 58e42c8c1ef392..b4c218852e8757 100644 --- a/ports/ignition-plugin1/vcpkg.json +++ b/ports/ignition-plugin1/vcpkg.json @@ -1,15 +1,18 @@ { "name": "ignition-plugin1", - "version-string": "1.1.0", - "port-version": 1, + "version": "1.4.0", "description": "Library for registering plugin libraries and dynamically loading them at runtime", "homepage": "https://ignitionrobotics.org/libs/plugin", + "license": null, "dependencies": [ { "name": "dlfcn-win32", "platform": "windows | uwp" }, "ignition-cmake2", - "ignition-modularscripts" + { + "name": "ignition-modularscripts", + "host": true + } ] } diff --git a/ports/ignition-tools/portfile.cmake b/ports/ignition-tools/portfile.cmake new file mode 100644 index 00000000000000..db69f40b455904 --- /dev/null +++ b/ports/ignition-tools/portfile.cmake @@ -0,0 +1,45 @@ +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO gazebosim/gz-tools + REF ignition-tools_1.5.0 + SHA512 3e8267fc16295e269a1fb4867235bca858fea0f5f048831b0dc5f087907897042edb0f4757aef1bad824f3f109959286a441ca5315b6815c557e7deba9f8d151 + HEAD_REF ign-tools1 +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_TESTING=OFF + -DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=ON + -DUSE_SYSTEM_BACKWARDCPP=ON +) + +vcpkg_cmake_install() + +# Fix cmake targets and pkg-config file location +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/ignition-tools") +vcpkg_fixup_pkgconfig() + +if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + file(GLOB DEBUG_TOOLS "${CURRENT_PACKAGES_DIR}/debug/bin/*") + file(COPY ${DEBUG_TOOLS} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/tools/${PORT}") +endif() + +if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + file(GLOB RELEASE_TOOLS "${CURRENT_PACKAGES_DIR}/debug/bin/*") + file(COPY ${RELEASE_TOOLS} DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}") +endif() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/cmake" + "${CURRENT_PACKAGES_DIR}/debug/share" +) + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/bin" + "${CURRENT_PACKAGES_DIR}/debug/bin" +) + +# Handle copyright +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/ignition-tools/vcpkg.json b/ports/ignition-tools/vcpkg.json new file mode 100644 index 00000000000000..b1c3d742fae1e0 --- /dev/null +++ b/ports/ignition-tools/vcpkg.json @@ -0,0 +1,20 @@ +{ + "name": "ignition-tools", + "version": "1.5.0", + "port-version": 1, + "description": "Gazebo tools provide the ign command line tool that accepts multiple subcommands.", + "homepage": "https://gazebosim.org", + "license": "Apache-2.0", + "supports": "!(arm & windows) & !uwp", + "dependencies": [ + "backward-cpp", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} 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 cdab5c0a6b768d..bb951537a3ea53 100644 --- a/ports/ignition-transport4/portfile.cmake +++ b/ports/ignition-transport4/portfile.cmake @@ -1,7 +1,9 @@ -include(${CURRENT_INSTALLED_DIR}/share/ignitionmodularscripts/ignition_modular_library.cmake) - ignition_modular_library(NAME transport VERSION "4.0.0" - SHA512 d4125044c21fdd6754f3b8b06f372df3f858080d5d33e97ed7a8ef8f6fb9857d562082aad41c89ea9146a33b1c3814305d33c5c8f8bcde66a16477b4a01655b4 + SHA512 581dd4700aebc455f6d7c01d8be17c6c4c802fd74b1504b2bd6544a0246b161231305fd318352904e230c986dfe072fa0608fccea9066b076e7216dc507a8510 # This can be removed when the pc file of libuuid on Windows is fixed - DISABLE_PKGCONFIG_INSTALL) + DISABLE_PKGCONFIG_INSTALL + PATCHES + uuid-osx.patch + fix-protobuf.patch + ) diff --git a/ports/ignition-transport4/uuid-osx.patch b/ports/ignition-transport4/uuid-osx.patch new file mode 100644 index 00000000000000..c18d8caeaa3ce2 --- /dev/null +++ b/ports/ignition-transport4/uuid-osx.patch @@ -0,0 +1,26 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 5453cd0..10c2ad4 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -58,6 +58,8 @@ ign_find_package(CPPZMQ REQUIRED PRIVATE + # Find uuid + if (MSVC) + message (STATUS "UUID: Using Windows RPC UuidCreate function\n") ++elseif (APPLE) ++ message (STATUS "Use system uuid header") + else() + ign_find_package(UUID REQUIRED) + endif() +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 6683e64..33669ab 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -18,7 +18,7 @@ target_link_libraries(${PROJECT_LIBRARY_TARGET_NAME} + ) + + # Windows system library provides UUID +-if (NOT MSVC) ++if (NOT MSVC AND NOT APPLE) + target_link_libraries(${PROJECT_LIBRARY_TARGET_NAME} + PUBLIC + UUID::UUID diff --git a/ports/ignition-transport4/vcpkg.json b/ports/ignition-transport4/vcpkg.json index 4b315b85ebfe43..a9a2cb21cd4411 100644 --- a/ports/ignition-transport4/vcpkg.json +++ b/ports/ignition-transport4/vcpkg.json @@ -1,16 +1,20 @@ { "name": "ignition-transport4", - "version-string": "4.0.0", - "port-version": 3, + "version": "4.0.0", + "port-version": 7, "description": "Transport middleware for robotics", + "license": null, "dependencies": [ "cppzmq", "ignition-cmake0", - "ignition-modularscripts", + { + "name": "ignition-modularscripts", + "host": true + }, "ignition-msgs1", { "name": "libuuid", - "platform": "!windows & !uwp" + "platform": "!windows & !uwp & !osx" }, "protobuf", "zeromq" 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 1155a1ab52a559..f0a71a2ce0cc46 100644 --- a/ports/ignition-transport8/portfile.cmake +++ b/ports/ignition-transport8/portfile.cmake @@ -1,7 +1,6 @@ -include(${CURRENT_INSTALLED_DIR}/share/ignitionmodularscripts/ignition_modular_library.cmake) - ignition_modular_library(NAME transport VERSION "8.1.0" - SHA512 eb64f18721190fcb79a5b45746fd44fa24274c6fe6c5021dd9306c15a327873377d07d4aa770633982038b84da650d3d0c8a56169222c0c88fa1318314fc4529 - # This can be removed when the pc file of sqlite3 is available ( https://github.com/microsoft/vcpkg/issues/14327 ) - DISABLE_PKGCONFIG_INSTALL) + SHA512 04b4cd954453505398da35b284e7db4b4691d9a705924c41e0082fd20e94176a3eaeae7329fd9992aaa50f90b2d8973c71daf763ccff58aa30d06be1da15189a + PATCHES + fix-protobuf.patch + ) diff --git a/ports/ignition-transport8/vcpkg.json b/ports/ignition-transport8/vcpkg.json index 6d9f810c006263..d123372d9fa932 100644 --- a/ports/ignition-transport8/vcpkg.json +++ b/ports/ignition-transport8/vcpkg.json @@ -1,15 +1,20 @@ { "name": "ignition-transport8", - "version-string": "8.1.0", - "port-version": 1, + "version": "8.1.0", + "port-version": 5, "description": "Transport middleware for robotics", + "license": null, "dependencies": [ "cppzmq", "ignition-cmake2", + { + "name": "ignition-modularscripts", + "host": true + }, "ignition-msgs5", { "name": "libuuid", - "platform": "!windows & !uwp" + "platform": "!windows & !uwp & !osx" }, "protobuf", "sqlite3", 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 cd224b3f72cffc..4eb81e5035f378 100644 --- a/ports/ignition-transport9/portfile.cmake +++ b/ports/ignition-transport9/portfile.cmake @@ -1,7 +1,9 @@ -include(${CURRENT_INSTALLED_DIR}/share/ignitionmodularscripts/ignition_modular_library.cmake) - ignition_modular_library(NAME transport VERSION "9.0.0" - SHA512 c3edb7a8a063b4aa5826838ae08c8ec2b3d14563492022df632a719409c95272f4f6a43d91f0c317e44b85921b5aedc1685670b81a7baa949f01af3b3534d76e + SHA512 9add7a8d3a43a17b1b71e7d7d9320909057c1f79880bd969baa99949709cdbb63f00f0735990891358bb29efd9c0ab8b6725b7c340c324b9266dcc9b73d767d4 # This can be removed when the pc file of sqlite3 is available ( https://github.com/microsoft/vcpkg/issues/14327 ) - DISABLE_PKGCONFIG_INSTALL) + DISABLE_PKGCONFIG_INSTALL + PATCHES + uuid-osx.patch + fix-protobuf.patch + ) diff --git a/ports/ignition-transport9/uuid-osx.patch b/ports/ignition-transport9/uuid-osx.patch new file mode 100644 index 00000000000000..350a0b43daf064 --- /dev/null +++ b/ports/ignition-transport9/uuid-osx.patch @@ -0,0 +1,26 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 084b6da..6fd212d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -70,6 +70,8 @@ ign_find_package(CPPZMQ REQUIRED PRIVATE + # Find uuid + if (MSVC) + message (STATUS "UUID: Using Windows RPC UuidCreate function\n") ++elseif (APPLE) ++ message (STATUS "Use system uuid header") + else() + ign_find_package(UUID REQUIRED) + endif() +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 9777240..9e860a9 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -31,7 +31,7 @@ target_link_libraries(${PROJECT_LIBRARY_TARGET_NAME} + ) + + # Windows system library provides UUID +-if (NOT MSVC) ++if (NOT MSVC AND NOT APPLE) + target_link_libraries(${PROJECT_LIBRARY_TARGET_NAME} + PUBLIC + UUID::UUID diff --git a/ports/ignition-transport9/vcpkg.json b/ports/ignition-transport9/vcpkg.json index 9e9147c0d68982..42bcdcc477c748 100644 --- a/ports/ignition-transport9/vcpkg.json +++ b/ports/ignition-transport9/vcpkg.json @@ -1,15 +1,20 @@ { "name": "ignition-transport9", - "version-string": "9.0.0", - "port-version": 1, + "version": "9.0.0", + "port-version": 5, "description": "Transport middleware for robotics", + "license": null, "dependencies": [ "cppzmq", "ignition-cmake2", + { + "name": "ignition-modularscripts", + "host": true + }, "ignition-msgs6", { "name": "libuuid", - "platform": "!windows & !uwp" + "platform": "!windows & !uwp & !osx" }, "protobuf", "sqlite3", diff --git a/ports/ignition-utils1/portfile.cmake b/ports/ignition-utils1/portfile.cmake new file mode 100644 index 00000000000000..7d8a55ff60b6f6 --- /dev/null +++ b/ports/ignition-utils1/portfile.cmake @@ -0,0 +1,6 @@ +set(PACKAGE_VERSION "1.5.1") +ignition_modular_library(NAME utils + VERSION ${PACKAGE_VERSION} + REF "ignition-utils1_${PACKAGE_VERSION}" + SHA512 ede208d98b0b4bc4bfe38e248e8eb89da8feaced547e968a2a733992d86c632a9fae724c7c97e4a962ba36e23663a5872017eeae0b818492fcd1eca9d9643653) + diff --git a/ports/ignition-utils1/vcpkg.json b/ports/ignition-utils1/vcpkg.json new file mode 100644 index 00000000000000..8d55782f6a3227 --- /dev/null +++ b/ports/ignition-utils1/vcpkg.json @@ -0,0 +1,14 @@ +{ + "name": "ignition-utils1", + "version": "1.5.1", + "description": "Ignition Utils, a component of Ignition Robotics, provides general purpose classes and functions designed for robotic applications.", + "homepage": "https://gazebosim.org", + "license": "Apache-2.0", + "dependencies": [ + "ignition-cmake2", + { + "name": "ignition-modularscripts", + "host": true + } + ] +} diff --git a/ports/igraph/glpk-uwp.patch b/ports/igraph/glpk-uwp.patch new file mode 100644 index 00000000000000..7bee3aed0222d0 --- /dev/null +++ b/ports/igraph/glpk-uwp.patch @@ -0,0 +1,13 @@ +diff --git a/vendor/glpk/env/dlsup.c b/vendor/glpk/env/dlsup.c +index 741354475..968a794b7 100644 +--- a/vendor/glpk/env/dlsup.c ++++ b/vendor/glpk/env/dlsup.c +@@ -25,6 +25,8 @@ + + #include "env.h" + ++#undef __WOE__ ++ + /* GNU version ********************************************************/ + + #if defined(HAVE_LTDL) diff --git a/ports/igraph/portfile.cmake b/ports/igraph/portfile.cmake index 22e26a741978e0..48856ff2a14635 100644 --- a/ports/igraph/portfile.cmake +++ b/ports/igraph/portfile.cmake @@ -4,20 +4,22 @@ # - 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.9.5/igraph-0.9.5.tar.gz" - FILENAME "igraph-0.9.5.tar.gz" - SHA512 2eb562bb898ff19f8e4ebb2d9f3393000b66154cb87318999bbb920793657e4e3a0b52d10bc8cbe4d2c3a5d27258fd8156df97f778065a92b969bfcb7d9fc28c + 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_ex( - OUT_SOURCE_PATH SOURCE_PATH +vcpkg_extract_source_archive( + SOURCE_PATH ARCHIVE ${ARCHIVE} + PATCHES + "glpk-uwp.patch" # patch GLPK for UWP compatibility ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES - graphml IGRAPH_GRAPHML_SUPPORT - openmp IGRAPH_OPENMP_SUPPORT + graphml IGRAPH_GRAPHML_SUPPORT + openmp IGRAPH_OPENMP_SUPPORT ) # Allow cross-compilation. See https://igraph.org/c/html/latest/igraph-Installation.html#igraph-Installation-cross-compiling @@ -38,16 +40,17 @@ vcpkg_cmake_configure( -DIGRAPH_ENABLE_LTO=AUTO # ARPACK not yet available in vcpkg. -DIGRAPH_USE_INTERNAL_ARPACK=ON - # OpenBLAS provides BLAS/LAPACK but some tests fail with OpenBLAS on Windows. - # See https://github.com/igraph/igraph/issues/1491 - -DIGRAPH_USE_INTERNAL_BLAS=ON - -DIGRAPH_USE_INTERNAL_LAPACK=ON - -DIGRAPH_USE_INTERNAL_CXSPARSE=OFF # GLPK is not yet available in vcpkg. -DIGRAPH_USE_INTERNAL_GLPK=ON # Currently, external GMP provides no performance or functionality benefits. -DIGRAPH_USE_INTERNAL_GMP=ON + # PLFIT is not yet available in vcpkg. + -DIGRAPH_USE_INTERNAL_PLFIT=ON + # Use BLAS and LAPACK from vcpkg + -DIGRAPH_USE_INTERNAL_BLAS=OFF + -DIGRAPH_USE_INTERNAL_LAPACK=OFF -DF2C_EXTERNAL_ARITH_HEADER=${ARITH_H} + -DIGRAPH_WARNINGS_AS_ERRORS=OFF ${FEATURE_OPTIONS} ) diff --git a/ports/igraph/vcpkg.json b/ports/igraph/vcpkg.json index a339a6ac75e958..78ae62068213c5 100644 --- a/ports/igraph/vcpkg.json +++ b/ports/igraph/vcpkg.json @@ -1,10 +1,13 @@ { "name": "igraph", - "version": "0.9.5", + "version": "0.10.15", "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", + "supports": "!xbox", "dependencies": [ - "suitesparse", + "blas", + "lapack", { "name": "vcpkg-cmake", "host": true diff --git a/ports/iir1/fix-shared-lib.patch b/ports/iir1/fix-shared-lib.patch new file mode 100644 index 00000000000000..1299dcd64b420e --- /dev/null +++ b/ports/iir1/fix-shared-lib.patch @@ -0,0 +1,20 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 4dd67df..3840ff8 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -84,6 +84,7 @@ set_target_properties(iir PROPERTIES + PUBLIC_HEADER Iir.h + PRIVATE_HEADER "${LIBINCLUDE}") + ++if(BUILD_SHARED_LIBS) + 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 + INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + PRIVATE_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/iir) ++endif() + + include(JoinPaths) + diff --git a/ports/iir1/portfile.cmake b/ports/iir1/portfile.cmake index 0cd648c67ca8f8..bbb7ad8e320afa 100644 --- a/ports/iir1/portfile.cmake +++ b/ports/iir1/portfile.cmake @@ -1,18 +1,28 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO berndporr/iir1 - REF 1.9.0 - SHA512 9dced1610fbbfd7194874e984f969880dc76df3562df575c07d022b9ac96c67334b542acea395531423dfb5b8d692b14abdaff0235f048ab6ca7221bfc57fdba + REF "${VERSION}" + 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_cmake_config_fixup(CONFIG_PATH lib/cmake) +vcpkg_cmake_config_fixup(PACKAGE_NAME iir CONFIG_PATH lib/cmake/iir) + +vcpkg_fixup_pkgconfig() vcpkg_copy_pdbs() diff --git a/ports/iir1/vcpkg.json b/ports/iir1/vcpkg.json index db60d1efbf5294..15ec9ab0a79507 100644 --- a/ports/iir1/vcpkg.json +++ b/ports/iir1/vcpkg.json @@ -1,6 +1,6 @@ { "name": "iir1", - "version": "1.9.0", + "version": "1.9.5", "description": "Realtime C++ filter library", "homepage": "https://github.com/berndporr/iir1", "license": "MIT", diff --git a/ports/ijg-libjpeg/CMakeLists.txt b/ports/ijg-libjpeg/CMakeLists.txt index e1a9dcf5cac521..b65477d9c4089b 100644 --- a/ports/ijg-libjpeg/CMakeLists.txt +++ b/ports/ijg-libjpeg/CMakeLists.txt @@ -12,9 +12,9 @@ option(BUILD_EXECUTABLES OFF) include(CheckIncludeFile) check_include_file(stddef.h HAVE_STDDEF_H) check_include_file(stdlib.h HAVE_STDLIB_H) -configure_file(jconfig.txt ${CMAKE_CURRENT_SOURCE_DIR}/jconfig.h) +configure_file(jconfig.txt ${CMAKE_CURRENT_BINARY_DIR}/jconfig.h) -list(APPEND PUBLIC_HEADERS jpeglib.h jerror.h jmorecfg.h jconfig.h) +list(APPEND PUBLIC_HEADERS jpeglib.h jerror.h jmorecfg.h ${CMAKE_CURRENT_BINARY_DIR}/jconfig.h) add_library(jpeg ${PUBLIC_HEADERS} jinclude.h jpegint.h jversion.h @@ -35,6 +35,8 @@ if(WIN32) ) endif() +target_include_directories(jpeg PRIVATE include ${CMAKE_CURRENT_BINARY_DIR}) + install(FILES ${PUBLIC_HEADERS} DESTINATION ${CMAKE_INSTALL_PREFIX}/include ) diff --git a/ports/ijg-libjpeg/portfile.cmake b/ports/ijg-libjpeg/portfile.cmake index 5c0055440e4aff..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) @@ -10,42 +10,41 @@ if(VCPKG_TARGET_IS_WINDOWS) endif() vcpkg_download_distfile(ARCHIVE - URLS "http://www.ijg.org/files/jpegsr9d.zip" - FILENAME "jpegsr9d.zip" - SHA512 441a783c945fd549693dbe3932d8d35e1ea00d8464870646760ed84a636facb4d7afe0ca3ab988e7281a71e41c2e96be618b8c6a898f116517e639720bba82a3 + URLS "http://www.ijg.org/files/jpegsr9e.zip" + FILENAME "jpegsr9e.zip" + SHA512 db7a2fb44e5cc20d61956c46334948af034c07cdcc0d6e41d9bd4f6611c0fbed8943d0a05029ba1bfb9d993f4acd0df5e95d0bc1cfb5a889b86a55b6b75fdf64 ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH +vcpkg_extract_source_archive( + SOURCE_PATH ARCHIVE ${ARCHIVE} ) # Replace some #define in jconfig.txt to #cmakedefine so the CMakeLists.txt can run `configure_file` command. # See https://github.com/LuaDist/libjpeg -vcpkg_replace_string(${SOURCE_PATH}/jconfig.txt +vcpkg_replace_string("${SOURCE_PATH}/jconfig.txt" "#define HAVE_STDDEF_H" "#cmakedefine HAVE_STDDEF_H" ) -vcpkg_replace_string(${SOURCE_PATH}/jconfig.txt +vcpkg_replace_string("${SOURCE_PATH}/jconfig.txt" "#define HAVE_STDLIB_H" "#cmakedefine HAVE_STDLIB_H" ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_EXECUTABLES=OFF # supports [tools] feature to enable this option? ) -vcpkg_install_cmake() +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) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${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/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") diff --git a/ports/ijg-libjpeg/vcpkg.json b/ports/ijg-libjpeg/vcpkg.json index cf39b27f2359fd..7e9cffae669980 100644 --- a/ports/ijg-libjpeg/vcpkg.json +++ b/ports/ijg-libjpeg/vcpkg.json @@ -1,7 +1,19 @@ { "name": "ijg-libjpeg", - "version-string": "9d", + "version-string": "9e", + "port-version": 2, "description": "Independent JPEG Group's JPEG software", "homepage": "http://www.ijg.org/", - "supports": "!emscripten & !wasm32" + "license": null, + "supports": "!emscripten & !wasm32", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/ilmbase/vcpkg.json b/ports/ilmbase/vcpkg.json deleted file mode 100644 index 9b09a3c7b6d375..00000000000000 --- a/ports/ilmbase/vcpkg.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "ilmbase", - "version-string": "2.3.0", - "port-version": 1, - "description": "empty package, linking to newer one", - "dependencies": [ - "openexr" - ] -} diff --git a/ports/im3d/CMakeLists.txt b/ports/im3d/CMakeLists.txt new file mode 100644 index 00000000000000..5b96e6f4c1d397 --- /dev/null +++ b/ports/im3d/CMakeLists.txt @@ -0,0 +1,44 @@ +cmake_minimum_required(VERSION 3.8) +project(im3d) + +set(CMAKE_CXX_STANDARD 11) + +add_library(${PROJECT_NAME} "") + +target_include_directories( + ${PROJECT_NAME} + PUBLIC + $ + $ +) + +target_sources( + ${PROJECT_NAME} + PRIVATE + im3d.cpp +) + +install( + TARGETS ${PROJECT_NAME} + EXPORT unofficial-${PROJECT_NAME}-target + ARCHIVE DESTINATION lib + ARCHIVE DESTINATION lib + RUNTIME DESTINATION bin +) + +if (NOT IM3D_SKIP_HEADERS) + install( + FILES + im3d.h + im3d_config.h + im3d_math.h + DESTINATION include + ) +endif() + +install( + EXPORT unofficial-${PROJECT_NAME}-target + NAMESPACE unofficial::${PROJECT_NAME}:: + FILE unofficial-${PROJECT_NAME}-config.cmake + DESTINATION share/unofficial-${PROJECT_NAME} +) diff --git a/ports/im3d/portfile.cmake b/ports/im3d/portfile.cmake new file mode 100644 index 00000000000000..0b75a867a1d5d7 --- /dev/null +++ b/ports/im3d/portfile.cmake @@ -0,0 +1,24 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO john-chapman/im3d + REF 651220df4d595ff3d7ac5c1a64b3355774e86bc8 + SHA512 0a117bddcf2de51870367a0d6d2753d9b691466427c5942be448d9930fac41fd8502788d76162831686f50f880a6b0a7fad541a380598c830ff8f44670f29381 + HEAD_REF master +) + +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS_DEBUG + -DIM3D_SKIP_HEADERS=ON +) + +vcpkg_cmake_install() + +vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-${PORT} CONFIG_PATH share/unofficial-${PORT}) + +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/im3d/vcpkg.json b/ports/im3d/vcpkg.json new file mode 100644 index 00000000000000..9571462971122d --- /dev/null +++ b/ports/im3d/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "im3d", + "version-date": "2022-10-11", + "description": "Immediate mode rendering and 3d gizmos", + "homepage": "https://github.com/john-chapman/im3d", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/imageinfo/portfile.cmake b/ports/imageinfo/portfile.cmake new file mode 100644 index 00000000000000..b09f0fc904035b --- /dev/null +++ b/ports/imageinfo/portfile.cmake @@ -0,0 +1,33 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO xiaozhuai/imageinfo + REF d010e59f25867a0ee159143f8bf116f071d993b1 # committed on 2024-08-05 + SHA512 a30c241608d44aa296f75debc988f7a8875eafe45ea925ca9d276975512cd1de9413b95c6421d1e37a71cb3e1c65f2bed101ffdf0e83ef3a883c8443a8bffb8d + 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_INSTALL=ON + -DIMAGEINFO_BUILD_TESTS=OFF + ${FEATURE_OPTIONS} +) + +vcpkg_cmake_install() +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") + +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/usage b/ports/imageinfo/usage new file mode 100644 index 00000000000000..b28d3220631b8b --- /dev/null +++ b/ports/imageinfo/usage @@ -0,0 +1,4 @@ +imageinfo provides CMake targets: + + find_package(imageinfo CONFIG REQUIRED) + target_link_libraries(main PRIVATE imageinfo::imageinfo) diff --git a/ports/imageinfo/vcpkg.json b/ports/imageinfo/vcpkg.json new file mode 100644 index 00000000000000..dc2bc9b51f5d64 --- /dev/null +++ b/ports/imageinfo/vcpkg.json @@ -0,0 +1,23 @@ +{ + "name": "imageinfo", + "version-date": "2024-08-05", + "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", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "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 ca245a1cbaa0e1..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.3 - SHA512 a11f5e736bc49098d735c7903f186c15b03efbec082a8cf2e6635546368035cec0d36c7ae64bfd01bd8eeffb2dd247b8dab19e440a3e1fe33008edacc1268f75 + REF "v${VERSION}" + SHA512 32628dfcacb610310b81ffe017a66215cf5fb84c2e0a6ac8c94a68c048be3d2b97eb57965dd253770184d5824cce1e5440b8eefb2834666b273b3193ff108343 HEAD_REF master ) @@ -11,6 +11,7 @@ vcpkg_cmake_configure( OPTIONS -DIMATH_INSTALL_SYM_LINK=OFF -DBUILD_TESTING=OFF + -DIMATH_INSTALL_PKG_CONFIG=ON ) vcpkg_cmake_install() diff --git a/ports/imath/vcpkg.json b/ports/imath/vcpkg.json index c8bc20ac6c9258..e599048b2188ce 100644 --- a/ports/imath/vcpkg.json +++ b/ports/imath/vcpkg.json @@ -1,9 +1,9 @@ { "name": "imath", - "version": "3.1.3", - "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", "dependencies": [ { "name": "vcpkg-cmake", 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/CMakeLists.txt b/ports/imgui-node-editor/CMakeLists.txt new file mode 100644 index 00000000000000..852290e2931ba7 --- /dev/null +++ b/ports/imgui-node-editor/CMakeLists.txt @@ -0,0 +1,60 @@ +cmake_minimum_required(VERSION 3.8) +project(imgui-node-editor) + +set(CMAKE_CXX_STANDARD 14) + +find_package(imgui CONFIG REQUIRED) +get_target_property(IMGUI_INCLUDE_DIRS imgui::imgui + INTERFACE_INCLUDE_DIRECTORIES +) + +add_library(${PROJECT_NAME} "") + +target_include_directories( + ${PROJECT_NAME} + PUBLIC + $ + $ + PRIVATE + ${IMGUI_INCLUDE_DIRS} +) + +target_sources( + ${PROJECT_NAME} + PRIVATE + crude_json.cpp + imgui_canvas.cpp + imgui_node_editor.cpp + imgui_node_editor_api.cpp +) + +install( + TARGETS ${PROJECT_NAME} + EXPORT unofficial-${PROJECT_NAME}-target + ARCHIVE DESTINATION lib + ARCHIVE DESTINATION lib + RUNTIME DESTINATION bin +) + +if (NOT IMGUI_NODE_EDITOR_SKIP_HEADERS) + install( + FILES + crude_json.h + imgui_bezier_math.h + imgui_bezier_math.inl + imgui_canvas.h + imgui_extra_math.h + imgui_extra_math.inl + imgui_node_editor.h + imgui_node_editor_internal.h + imgui_node_editor_internal.inl + DESTINATION include/${PROJECT_NAME} + ) +endif() + +install( + EXPORT unofficial-${PROJECT_NAME}-target + NAMESPACE unofficial::${PROJECT_NAME}:: + FILE unofficial-${PROJECT_NAME}-config.cmake + DESTINATION share/unofficial-${PROJECT_NAME} +) 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 new file mode 100644 index 00000000000000..c25057f77d3fca --- /dev/null +++ b/ports/imgui-node-editor/portfile.cmake @@ -0,0 +1,26 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO thedmd/imgui-node-editor + REF v${VERSION} + SHA512 83573b6ed776095837373bc95be1c1f5b85e9c5fae2145647f9cb6fdc17d3889edce716ac9e27c1bbde56f00803a66db98ca856910e6e0ce8714d3c5ce3f7c3f + HEAD_REF master + PATCHES + fix-vec2-math-operators.patch +) + +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS_DEBUG + -DIMGUI_NODE_EDITOR_SKIP_HEADERS=ON +) + +vcpkg_cmake_install() + +vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-${PORT} CONFIG_PATH share/unofficial-${PORT}) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/imgui-node-editor/vcpkg.json b/ports/imgui-node-editor/vcpkg.json new file mode 100644 index 00000000000000..7bc2eb876c2129 --- /dev/null +++ b/ports/imgui-node-editor/vcpkg.json @@ -0,0 +1,19 @@ +{ + "name": "imgui-node-editor", + "version": "0.9.3", + "port-version": 1, + "description": "Node Editor built using Dear ImGui", + "homepage": "https://github.com/thedmd/imgui-node-editor", + "license": "MIT", + "dependencies": [ + "imgui", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/imgui-sfml/0001-fix_find_package.patch b/ports/imgui-sfml/0001-fix_find_package.patch index 0ece62b40534ca..ace8e9ee421f6a 100644 --- a/ports/imgui-sfml/0001-fix_find_package.patch +++ b/ports/imgui-sfml/0001-fix_find_package.patch @@ -1,49 +1,36 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 3a974c4..8a1c6cd 100644 +index 075d793..9bc635a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -41,34 +41,14 @@ if (IMGUI_SFML_FIND_SFML) - if (NOT BUILD_SHARED_LIBS) - set(SFML_STATIC_LIBRARIES ON) - endif() -- find_package(SFML 2.5 COMPONENTS graphics system window) -+ find_package(SFML COMPONENTS graphics system window) +@@ -41,13 +41,14 @@ if (IMGUI_SFML_FIND_SFML) + if (NOT BUILD_SHARED_LIBS) + set(SFML_STATIC_LIBRARIES ON) + endif() +- find_package(SFML 2.5 COMPONENTS graphics system window) ++ find_package(SFML COMPONENTS graphics system window) - if(NOT SFML_FOUND) - message(FATAL_ERROR "SFML 2 directory not found. Set SFML_DIR to directory where SFML was built (or one which ccontains SFMLConfig.cmake)") - endif() + if(NOT SFML_FOUND) + message(FATAL_ERROR "SFML 2 directory not found. Set SFML_DIR to directory where SFML was built (or one which contains SFMLConfig.cmake)") + endif() endif() --# ImGui does not provide native support for CMakeLists, workaround for now to have --# users specify IMGUI_DIR. Waiting for this PR to get merged... --# https://github.com/ocornut/imgui/pull/1713 --if(NOT IMGUI_DIR) -- set(IMGUI_DIR "" CACHE PATH "imgui top-level directory") -- message(FATAL_ERROR "ImGui directory not found. Set IMGUI_DIR to imgui's top-level path (containing 'imgui.h' and other files).\n") --endif() -- --# This uses FindImGui.cmake provided in ImGui-SFML repo for now --find_package(ImGui 1.80 REQUIRED) -- --# these headers will be installed alongside ImGui-SFML --set(IMGUI_PUBLIC_HEADERS -- ${IMGUI_INCLUDE_DIR}/imconfig.h -- ${IMGUI_INCLUDE_DIR}/imgui.h -- ${IMGUI_INCLUDE_DIR}/imgui_internal.h # not actually public, but users might need it -- ${IMGUI_INCLUDE_DIR}/imstb_rectpack.h -- ${IMGUI_INCLUDE_DIR}/imstb_textedit.h -- ${IMGUI_INCLUDE_DIR}/imstb_truetype.h -- ${IMGUI_INCLUDE_DIR}/misc/cpp/imgui_stdlib.h --) ++if(0) + # ImGui does not provide native support for CMakeLists, workaround for now to have + # users specify IMGUI_DIR. Waiting for this PR to get merged... + # https://github.com/ocornut/imgui/pull/1713 +@@ -69,6 +70,8 @@ set(IMGUI_PUBLIC_HEADERS + ${IMGUI_INCLUDE_DIR}/imstb_truetype.h + ${IMGUI_INCLUDE_DIR}/misc/cpp/imgui_stdlib.h + ) ++endif() +find_package(imgui CONFIG REQUIRED) if (IMGUI_SFML_IMGUI_DEMO) - list(APPEND IMGUI_SOURCES ${IMGUI_DEMO_SOURCES}) -@@ -92,7 +72,7 @@ add_library(ImGui-SFML - add_library(ImGui-SFML::ImGui-SFML ALIAS ImGui-SFML) + list(APPEND IMGUI_SOURCES ${IMGUI_DEMO_SOURCES}) +@@ -93,6 +96,7 @@ add_library(ImGui-SFML::ImGui-SFML ALIAS ImGui-SFML) target_link_libraries(ImGui-SFML -- PUBLIC + PUBLIC + imgui::imgui sfml-graphics sfml-system diff --git a/ports/imgui-sfml/004-fix-find-sfml.patch b/ports/imgui-sfml/004-fix-find-sfml.patch deleted file mode 100644 index 372f7b1d9ab6ce..00000000000000 --- a/ports/imgui-sfml/004-fix-find-sfml.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 8a1c6cd..7156f51 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -38,9 +38,6 @@ set(IMGUI_SFML_CONFIG_INSTALL_DIR "" CACHE PATH "Path where user's config header - list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake") - - if (IMGUI_SFML_FIND_SFML) -- if (NOT BUILD_SHARED_LIBS) -- set(SFML_STATIC_LIBRARIES ON) -- endif() - find_package(SFML COMPONENTS graphics system window) - - if(NOT SFML_FOUND) diff --git a/ports/imgui-sfml/portfile.cmake b/ports/imgui-sfml/portfile.cmake index 290278406ca94b..c8c9704ca96e7d 100644 --- a/ports/imgui-sfml/portfile.cmake +++ b/ports/imgui-sfml/portfile.cmake @@ -3,22 +3,32 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO eliasdaler/imgui-sfml - REF 9cc8c57a4565551087be0d9aeb3ae55490aa1207 #v2.4 - SHA512 d44d85e44d17d05c4e21f71acbf5bf544364a9bbe4871be896edd29f9926948cd1ea7627b7d54524f7da64c494638fc126744ced57ea7997a4b712dd26eb6183 + REF "v${VERSION}" + SHA512 c8f2ed21ad5dfac417474f0caed1c59105b7dd8bf2dcb1db3b1f46a4fb07cec3c199d6fda0ff05ec5040a18000a0168f1a8caa978dee356c2b6874b5b2e10ec4 HEAD_REF master PATCHES 0001-fix_find_package.patch - 004-fix-find-sfml.patch ) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DCMAKE_CXX_STANDARD=11 ) vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_cmake_config_fixup(PACKAGE_NAME ImGui-SFML CONFIG_PATH lib/cmake/ImGui-SFML) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/ImGui-SFML) +file(READ "${CURRENT_PACKAGES_DIR}/share/imgui-sfml/ImGui-SFMLConfig.cmake" cmake_config) +string(PREPEND cmake_config [[ +include(CMakeFindDependencyMacro) +find_dependency(imgui CONFIG) +find_dependency(SFML COMPONENTS graphics system window) +]]) +file(WRITE "${CURRENT_PACKAGES_DIR}/share/imgui-sfml/ImGui-SFMLConfig.cmake" "${cmake_config}") 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") + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/imgui-sfml/usage b/ports/imgui-sfml/usage index ea9a5f63b7828d..6604d95fd64cd3 100644 --- a/ports/imgui-sfml/usage +++ b/ports/imgui-sfml/usage @@ -1,10 +1,4 @@ -The package imgui-sfml provides CMake targets: +imgui-sfml provides CMake targets: - find_package(imgui CONFIG REQUIRED) - find_package(SFML CONFIG REQUIRED COMPONENTS graphics system window) find_package(ImGui-SFML CONFIG REQUIRED) - target_link_libraries(main PRIVATE - imgui::imgui - sfml-graphics sfml-system sfml-window - ImGui-SFML::ImGui-SFML - ) + target_link_libraries(main PRIVATE ImGui-SFML::ImGui-SFML) diff --git a/ports/imgui-sfml/vcpkg.json b/ports/imgui-sfml/vcpkg.json index 5fb0c04043560b..c24916590ca93e 100644 --- a/ports/imgui-sfml/vcpkg.json +++ b/ports/imgui-sfml/vcpkg.json @@ -1,8 +1,9 @@ { "name": "imgui-sfml", - "version": "2.4", + "version": "2.6", "description": "ImGui binding for use with SFML", "homepage": "https://github.com/eliasdaler/imgui-sfml", + "license": "MIT", "dependencies": [ "imgui", "opengl", diff --git a/ports/imgui/CMakeLists.txt b/ports/imgui/CMakeLists.txt index b8c8dacf94efc0..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 - $ + "$" $ ) @@ -28,12 +28,18 @@ target_sources( ${CMAKE_CURRENT_SOURCE_DIR}/misc/cpp/imgui_stdlib.cpp ) +target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_11) + if(IMGUI_BUILD_ALLEGRO5_BINDING) - find_path(ALLEGRO5_INCLUDE_DIRS allegro5/allegro.h) - target_include_directories(${PROJECT_NAME} PRIVATE ${ALLEGRO5_INCLUDE_DIRS}) + 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() @@ -51,8 +57,10 @@ if(IMGUI_BUILD_DX12_BINDING) endif() if(IMGUI_BUILD_GLFW_BINDING) - find_package(glfw3 CONFIG REQUIRED) - target_link_libraries(${PROJECT_NAME} PUBLIC glfw) + if(NOT EMSCRIPTEN) + find_package(glfw3 CONFIG REQUIRED) + target_link_libraries(${PROJECT_NAME} PUBLIC glfw) + endif() target_sources(${PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_glfw.cpp) endif() @@ -82,13 +90,13 @@ endif() if(IMGUI_BUILD_SDL2_BINDING) find_package(SDL2 CONFIG REQUIRED) target_link_libraries(${PROJECT_NAME} PUBLIC SDL2::SDL2) - target_sources(${PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_sdl.cpp) + target_sources(${PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_sdl2.cpp) endif() if(IMGUI_BUILD_SDL2_RENDERER_BINDING) find_package(SDL2 CONFIG REQUIRED) target_link_libraries(${PROJECT_NAME} PUBLIC SDL2::SDL2) - target_sources(${PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_sdlrenderer.cpp) + target_sources(${PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_sdlrenderer2.cpp) endif() if(IMGUI_BUILD_VULKAN_BINDING) @@ -108,10 +116,33 @@ if(IMGUI_FREETYPE) target_compile_definitions(${PROJECT_NAME} PUBLIC IMGUI_ENABLE_FREETYPE) endif() +if(IMGUI_FREETYPE_LUNASVG) + find_package(unofficial-lunasvg CONFIG REQUIRED) + target_link_libraries(${PROJECT_NAME} PUBLIC unofficial::lunasvg::lunasvg) + target_compile_definitions(${PROJECT_NAME} PUBLIC IMGUI_ENABLE_FREETYPE_LUNASVG) +endif() + 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( @@ -148,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() @@ -172,11 +207,6 @@ if(NOT IMGUI_SKIP_HEADERS) install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_glut.h DESTINATION include) endif() - if(IMGUI_COPY_MARMALADE_BINDING) - file(GLOB MARMALADE_BINDING_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_marmalade.*) - install(FILES ${MARMALADE_BINDING_SRCS} DESTINATION include/bindings) - endif() - if(IMGUI_BUILD_METAL_BINDING) install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_metal.h DESTINATION include) endif() @@ -200,11 +230,11 @@ if(NOT IMGUI_SKIP_HEADERS) endif() if(IMGUI_BUILD_SDL2_BINDING) - install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_sdl.h DESTINATION include) + install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_sdl2.h DESTINATION include) endif() if(IMGUI_BUILD_SDL2_RENDERER_BINDING) - install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_sdlrenderer.h DESTINATION include) + install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_sdlrenderer2.h DESTINATION include) endif() if(IMGUI_BUILD_VULKAN_BINDING) @@ -218,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 1ea694a10beb46..a996b04c00b06b 100644 --- a/ports/imgui/imgui-config.cmake.in +++ b/ports/imgui/imgui-config.cmake.in @@ -5,7 +5,9 @@ cmake_policy(SET CMP0012 NEW) include(CMakeFindDependencyMacro) if (@IMGUI_BUILD_GLFW_BINDING@) - find_dependency(glfw3 CONFIG) + if (NOT "@EMSCRIPTEN@") + find_dependency(glfw3 CONFIG) + endif() endif() if (@IMGUI_BUILD_GLUT_BINDING@) @@ -24,4 +26,16 @@ if (@IMGUI_FREETYPE@) find_dependency(freetype CONFIG) endif() +if (@IMGUI_FREETYPE_LUNASVG@) + find_dependency(unofficial-lunasvg CONFIG) +endif() + +if (@IMGUI_BUILD_ALLEGRO5_BINDING@) + 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 12fcbb7863838d..2a6b111b0116a5 100644 --- a/ports/imgui/portfile.cmake +++ b/ports/imgui/portfile.cmake @@ -2,39 +2,35 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) if ("docking-experimental" IN_LIST FEATURES) vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO ocornut/imgui - REF 1b215ecb018ba0fd170618366ddc4be9bd45f283 - SHA512 afd79082c4439b47d5943df5f7ddbdf80dcf23cd120b8da99b67b2979728e604436dd656ef8e8ae0af2a9050f8ea56b2f8c109243326fb842d684027616843e7 - HEAD_REF docking - ) + OUT_SOURCE_PATH SOURCE_PATH + REPO ocornut/imgui + REF "v${VERSION}-docking" + SHA512 07492ef56d0518b1a941d8da6ccb1cfe9a8253db3057f2875a033b144047065f43240e0cb8f4ef5d3cad76ccd84fd26fc673c673f4a484d10d2c8545ec286bdb + HEAD_REF docking + ) else() vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO ocornut/imgui - REF v1.85 - SHA512 830ff36681a661d77754fb7818bb13cc63da58a293d343a8d6847a586f00c6e0bfc3ffe51cdf882849e5083d4ddca52cdbdc1b3abc9b794a96f89ae7628f1fc2 - HEAD_REF master + OUT_SOURCE_PATH SOURCE_PATH + REPO ocornut/imgui + REF "v${VERSION}" + SHA512 dbf0ce45dc6fb100c02bb4fda3d95e0bed615ae9d91b269ad6f42b11fb5aa6a22ec7649ac8c96eb260bed454db56e975de33cd6ab55fa8b7e249f9c87b07a90e + HEAD_REF master ) endif() -file(COPY ${CMAKE_CURRENT_LIST_DIR}/imgui-config.cmake.in DESTINATION ${SOURCE_PATH}) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) - -if(("metal-binding" IN_LIST FEATURES OR "osx-binding" IN_LIST FEATURES) AND (NOT VCPKG_TARGET_IS_OSX)) - message(FATAL_ERROR "Feature metal-binding and osx-binding are only supported on osx.") -endif() +file(COPY "${CMAKE_CURRENT_LIST_DIR}/imgui-config.cmake.in" DESTINATION "${SOURCE_PATH}") +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 dx12-binding IMGUI_BUILD_DX12_BINDING glfw-binding IMGUI_BUILD_GLFW_BINDING glut-binding IMGUI_BUILD_GLUT_BINDING - marmalade-binding IMGUI_COPY_MARMALADE_BINDING metal-binding IMGUI_BUILD_METAL_BINDING opengl2-binding IMGUI_BUILD_OPENGL2_BINDING opengl3-binding IMGUI_BUILD_OPENGL3_BINDING @@ -44,7 +40,9 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS vulkan-binding IMGUI_BUILD_VULKAN_BINDING win32-binding IMGUI_BUILD_WIN32_BINDING freetype IMGUI_FREETYPE + freetype-lunasvg IMGUI_FREETYPE_LUNASVG wchar32 IMGUI_USE_WCHAR32 + test-engine IMGUI_TEST_ENGINE ) if ("libigl-imgui" IN_LIST FEATURES) @@ -57,23 +55,41 @@ if ("libigl-imgui" IN_LIST FEATURES) abe9250c9a5989e0a3f2285bbcc83696ff8e38c1f5657c358e6fe616ff792d3c6e5ff2fa23c2eeae7d7b307392e0dc798a95d14f6d10f8e9bfbd7768d36d8b31 ) - file(INSTALL ${IMGUI_FONTS_DROID_SANS_H} DESTINATION ${CURRENT_PACKAGES_DIR}/include) + 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 4c4d7fd32504c1a56a5f1816f5032e4390ea9eb5d56c1ee2293950c808e23c1b94df9edf524fcc4122d27fa86d749454862ddb0d1a83633c014fe33f900836b5 + 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} + SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${FEATURE_OPTIONS} OPTIONS_DEBUG -DIMGUI_SKIP_HEADERS=ON - MAYBE_UNUSED_VARIABLES - IMGUI_COPY_MARMALADE_BINDING ) 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") endif() if ("wchar32" IN_LIST FEATURES) vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/imconfig.h" "//#define IMGUI_USE_WCHAR32" "#define IMGUI_USE_WCHAR32") @@ -82,4 +98,8 @@ endif() vcpkg_copy_pdbs() vcpkg_cmake_config_fixup() -file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +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 c926875959e4d6..f6813d9c3b8132 100644 --- a/ports/imgui/vcpkg.json +++ b/ports/imgui/vcpkg.json @@ -1,8 +1,9 @@ { "name": "imgui", - "version": "1.85", + "version": "1.91.0", "description": "Bloat-free Immediate Mode Graphical User interface for C++ with minimal dependencies.", "homepage": "https://github.com/ocornut/imgui", + "license": "MIT", "dependencies": [ { "name": "vcpkg-cmake", @@ -20,20 +21,28 @@ "allegro5" ] }, + "android-binding": { + "description": "Make available Android native app support", + "supports": "android" + }, "docking-experimental": { "description": "Build with docking support" }, "dx10-binding": { - "description": "Make available DirectX10 binding" + "description": "Make available DirectX10 binding", + "supports": "windows & !uwp" }, "dx11-binding": { - "description": "Make available DirectX11 binding" + "description": "Make available DirectX11 binding", + "supports": "windows & !uwp" }, "dx12-binding": { - "description": "Make available DirectX12 binding" + "description": "Make available DirectX12 binding", + "supports": "!x86 & windows & !uwp" }, "dx9-binding": { - "description": "Make available DirectX9 binding" + "description": "Make available DirectX9 binding", + "supports": "windows & !uwp" }, "freetype": { "description": "Build font atlases using FreeType instead of stb_truetype", @@ -41,10 +50,25 @@ "freetype" ] }, + "freetype-lunasvg": { + "description": "Add support to render OpenType SVG fonts using LunaSVG", + "dependencies": [ + { + "name": "imgui", + "features": [ + "freetype" + ] + }, + "lunasvg" + ] + }, "glfw-binding": { "description": "Make available GLFW binding", "dependencies": [ - "glfw3" + { + "name": "glfw3", + "platform": "!emscripten" + } ] }, "glut-binding": { @@ -56,20 +80,20 @@ "libigl-imgui": { "description": "Install the libigl-imgui headers" }, - "marmalade-binding": { - "description": "Make available Marmalade binding" - }, "metal-binding": { - "description": "Make available Metal binding" + "description": "Make available Metal binding", + "supports": "osx" }, "opengl2-binding": { - "description": "Make available OpenGL (legacy) binding" + "description": "Make available OpenGL (legacy) binding", + "supports": "!uwp" }, "opengl3-binding": { "description": "Make available OpenGL3/ES/ES2 (modern) binding" }, "osx-binding": { - "description": "Make available OSX binding" + "description": "Make available OSX binding", + "supports": "osx" }, "sdl2-binding": { "description": "Make available SDL2 binding", @@ -83,6 +107,14 @@ "sdl2" ] }, + "test-engine": { + "description": "Build test engine", + "supports": "!uwp", + "license": null, + "dependencies": [ + "stb" + ] + }, "vulkan-binding": { "description": "Make available Vulkan binding", "dependencies": [ @@ -93,7 +125,8 @@ "description": "Use WCHAR32 instead of WCHAR16" }, "win32-binding": { - "description": "Make available Win32 binding" + "description": "Make available Win32 binding", + "supports": "windows & !uwp" } } } 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/portfile.cmake b/ports/imguizmo/portfile.cmake index 342001ea8d63a5..9631d8b178a6e6 100644 --- a/ports/imguizmo/portfile.cmake +++ b/ports/imguizmo/portfile.cmake @@ -3,8 +3,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO CedricGuillemet/ImGuizmo - REF 1.83 - SHA512 23285398688b4cdf3128ecb918b70c9a52f06c8e911da57430442b838cecf653e233d8cdfefc6acd3e4da381869ffc6fb74bcaaafc8e33657d6060a645517363 + REF ba662b119d64f9ab700bb2cd7b2781f9044f5565 + SHA512 682d785b582379914d525985de3a0bc04932b4ed715607127b1803ffba4d9b85165255dca1c18d2fd0934bab43de5d6c9c2d9909ac84d0ddaea12dad1871bcf8 HEAD_REF master ) @@ -19,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}) -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/imguizmo/vcpkg.json b/ports/imguizmo/vcpkg.json index 09184a7230f7af..3cdc4029a7304b 100644 --- a/ports/imguizmo/vcpkg.json +++ b/ports/imguizmo/vcpkg.json @@ -1,8 +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/immer/portfile.cmake b/ports/immer/portfile.cmake index c6c2a0bb0c93bb..93da11ed25462b 100644 --- a/ports/immer/portfile.cmake +++ b/ports/immer/portfile.cmake @@ -3,8 +3,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO arximboldi/immer - REF a11df7243cb516a1aeffc83c31366d7259c79e82 - SHA512 7aefa894d57167e8606ffd20c78490731885da610da084ffdc4ee677e40c7a3b4edcd0fbf74e354fc68866d09ec7a35a7c549f78ce91f2f1a84bb6ccc605e135 + REF "v${VERSION}" + SHA512 3a9aafeb5daad1881d00fb999b78f86b1c8f0e8ef2d6befe9025d8eea10392557ce7186f14878b36cbce0f2f5d38c8ffb39c9115a9496803acfc0ef2289f5cbf HEAD_REF master ) @@ -31,4 +31,4 @@ vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/Immer) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug" "${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/immer/vcpkg.json b/ports/immer/vcpkg.json index c52c0f02cf550e..54edb533c57809 100644 --- a/ports/immer/vcpkg.json +++ b/ports/immer/vcpkg.json @@ -1,8 +1,9 @@ { "name": "immer", - "version-date": "2021-05-03", + "version": "0.8.1", "description": "Postmodern immutable and persistent data structures for C++", "homepage": "https://sinusoid.es/immer/", + "license": "BSL-1.0", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/implot/CMakeLists.txt b/ports/implot/CMakeLists.txt index 5d23a83c0bbef6..6807c550d7e03e 100644 --- a/ports/implot/CMakeLists.txt +++ b/ports/implot/CMakeLists.txt @@ -10,6 +10,7 @@ set(CMAKE_DEBUG_POSTFIX d) add_library(${PROJECT_NAME} "") add_library(${PROJECT_NAME}::${PROJECT_NAME} ALIAS ${PROJECT_NAME}) +target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_11) target_include_directories( ${PROJECT_NAME} PUBLIC diff --git a/ports/implot/portfile.cmake b/ports/implot/portfile.cmake index ba1241c5edc291..7bda01747db2fb 100644 --- a/ports/implot/portfile.cmake +++ b/ports/implot/portfile.cmake @@ -3,8 +3,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO epezent/implot - REF v0.12 - SHA512 972bb831150a8b7c5fddb828c9d6928b493186ae587c8c5ea679c4fe499459892f175181c529e37195f72e09854ec8c698b77ae39e60295f831ad67e4a5f3358 + REF v${VERSION} + SHA512 117cb08122d900e7db857897bfec4c9ac3300a1d429c8f0303415bc693840baa9bbbb91ca3f13853d8efd3a6ebf538b7114401d4fbfe0d067256e58cbdbd4919 HEAD_REF master ) @@ -21,4 +21,4 @@ vcpkg_cmake_install() vcpkg_copy_pdbs() vcpkg_cmake_config_fixup() -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/implot/vcpkg.json b/ports/implot/vcpkg.json index 0bd23ce03721d3..70c71fb076ebf2 100644 --- a/ports/implot/vcpkg.json +++ b/ports/implot/vcpkg.json @@ -1,8 +1,9 @@ { "name": "implot", - "version": "0.12", + "version": "0.16", "description": "Advanced 2D Plotting for Dear ImGui", "homepage": "https://github.com/epezent/implot", + "license": "MIT", "dependencies": [ "imgui", { diff --git a/ports/indicators/portfile.cmake b/ports/indicators/portfile.cmake index 4a71032b702693..e0e1d461aea74e 100644 --- a/ports/indicators/portfile.cmake +++ b/ports/indicators/portfile.cmake @@ -3,8 +3,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO p-ranav/indicators - REF v2.2 - SHA512 7CED2D3C320D51C7E0569104744730C8E2F952350BCAE214A9781EB43EF4002C8314937DB78461351741FC4C3AEE7A1364582B1274991E95EB30006A5F2A7EF9 + REF v2.3 + SHA512 59FB17E93C886CEC2418E93E221FEBD2BF3160691B3473363417F8F8FA3D50D42D1DE0E55D62598EBA800B13C1D5AB1422D0A2C867246006B61340BA32D99232 HEAD_REF master ) @@ -24,5 +24,3 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug" "${CURRENT_PACKAGES_DIR}/lib file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) file(INSTALL "${SOURCE_PATH}/LICENSE.termcolor" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") - - diff --git a/ports/indicators/vcpkg.json b/ports/indicators/vcpkg.json index 80bf1bb012ba6e..c7b54b87c571a5 100644 --- a/ports/indicators/vcpkg.json +++ b/ports/indicators/vcpkg.json @@ -1,6 +1,6 @@ { "name": "indicators", - "version": "2.2", + "version": "2.3", "description": "Activity indicators for modern C++", "homepage": "https://github.com/p-ranav/indicators", "dependencies": [ diff --git a/ports/indirect-value/fix-install.patch b/ports/indirect-value/fix-install.patch new file mode 100644 index 00000000000000..9400f3060fc526 --- /dev/null +++ b/ports/indirect-value/fix-install.patch @@ -0,0 +1,25 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index da1d4d8..f314754 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -162,12 +162,6 @@ if (${CPP_INDIRECT_IS_NOT_SUBPROJECT}) + ${CMAKE_INSTALL_INCLUDEDIR} + ) + +- install( +- FILES +- "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE.txt" +- DESTINATION +- "${CMAKE_INSTALL_DATAROOTDIR}/licenses/indirect_value" +- ) + + install( + TARGETS indirect_value +@@ -179,6 +173,7 @@ if (${CPP_INDIRECT_IS_NOT_SUBPROJECT}) + + install( + EXPORT indirect_value-export-set ++ FILE indirect_value-target.cmake + NAMESPACE indirect_value:: + DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/indirect_value" + ) diff --git a/ports/indirect-value/portfile.cmake b/ports/indirect-value/portfile.cmake new file mode 100644 index 00000000000000..b7aad2f8d1f39d --- /dev/null +++ b/ports/indirect-value/portfile.cmake @@ -0,0 +1,29 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO jbcoe/indirect_value + REF 4152dcc5d2e35d03f3e71089508b47a8f630b8e7 + SHA512 fea37378041f9c770b76e6c68777d0fd5c27e28e7f83b0a7a021eb06aa279c959ab6d5f4d748e1f0fedd90c04965073850a855395b72574143fa1053704211ea + HEAD_REF main + PATCHES + fix-install.patch +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DENABLE_CODE_COVERAGE=OFF + -DENABLE_INCLUDE_NATVIS=OFF + -DBUILD_TESTING=OFF +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME indirect_value CONFIG_PATH lib/cmake/indirect_value) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib" ) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") + +file(INSTALL "${CURRENT_PORT_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/indirect-value/") diff --git a/ports/indirect-value/usage b/ports/indirect-value/usage new file mode 100644 index 00000000000000..7b10b90cf3c921 --- /dev/null +++ b/ports/indirect-value/usage @@ -0,0 +1,4 @@ +The package indirect-value provides CMake targets: + + find_package(indirect_value CONFIG REQUIRED) + target_link_libraries(main PRIVATE indirect_value::indirect_value) diff --git a/ports/indirect-value/vcpkg.json b/ports/indirect-value/vcpkg.json new file mode 100644 index 00000000000000..79e197b12e5b92 --- /dev/null +++ b/ports/indirect-value/vcpkg.json @@ -0,0 +1,16 @@ +{ + "name": "indirect-value", + "version-date": "2023-06-01", + "description": "An indirect value-type for C++", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} 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/fix-dllexports.patch b/ports/influxdb-cxx/fix-dllexports.patch new file mode 100644 index 00000000000000..59ec8ec8070776 --- /dev/null +++ b/ports/influxdb-cxx/fix-dllexports.patch @@ -0,0 +1,15 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index df7e7a3..4879802 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -26,6 +26,10 @@ project(influxdb-cxx + LANGUAGES CXX + ) + ++if (BUILD_SHARED_LIBS) ++ add_definitions(-DInfluxDB_EXPORTS) ++endif() ++ + message(STATUS "~~~ ${PROJECT_NAME} v${PROJECT_VERSION} ~~~") + + diff --git a/ports/influxdb-cxx/portfile.cmake b/ports/influxdb-cxx/portfile.cmake index e666277a79363a..740f4aa884371e 100644 --- a/ports/influxdb-cxx/portfile.cmake +++ b/ports/influxdb-cxx/portfile.cmake @@ -1,9 +1,12 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO offa/influxdb-cxx - REF v0.6.7 - SHA512 4e871c6d06c94b24b45aeedb7c74c75aed17332fbde76fc1e6c2ad06aeb41e268a95f4cab1c12c4402765c11811feb84bf48d60b138717c485327848782e402c + REF "v${VERSION}" + SHA512 ac16178a17ac9b43a23d64f56d0012aeda896d3065246166abdef1441cf466453a6972c5820411936dcfa10a21505b654dfe981449c1d4cc169807f1db5d099f HEAD_REF master + PATCHES + fix-dllexports.patch + 268.patch # https://github.com/offa/influxdb-cxx/pull/268 ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS @@ -23,6 +26,6 @@ vcpkg_cmake_install() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake) +vcpkg_cmake_config_fixup(PACKAGE_NAME InfluxDB CONFIG_PATH lib/cmake/InfluxDB) -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/influxdb-cxx/vcpkg.json b/ports/influxdb-cxx/vcpkg.json index 59724c89ae8c2f..79dd2118ee0c27 100644 --- a/ports/influxdb-cxx/vcpkg.json +++ b/ports/influxdb-cxx/vcpkg.json @@ -1,10 +1,12 @@ { "name": "influxdb-cxx", - "version": "0.6.7", + "version": "0.7.2", + "port-version": 1, "description": "InfluxDB C++ client library", "homepage": "https://github.com/offa/influxdb-cxx", + "license": "MIT", "dependencies": [ - "curl", + "cpr", { "name": "vcpkg-cmake", "host": true @@ -17,6 +19,7 @@ "features": { "boost": { "description": "Enables UDP and Unix sockets as Transport Layer", + "supports": "!uwp", "dependencies": [ "boost-asio", "boost-conversion", diff --git a/ports/infoware/cross-build.diff b/ports/infoware/cross-build.diff new file mode 100644 index 00000000000000..bfff45b6c46e6f --- /dev/null +++ b/ports/infoware/cross-build.diff @@ -0,0 +1,31 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 580df83..ac89904 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -93,6 +93,8 @@ if(INFOWARE_PCI_IDS_PATH) + message(WARNING "The specified pci.ids file INFOWARE_PCI_IDS_PATH=${INFOWARE_PCI_IDS_PATH} doesn't seem to exist.") + endif() + set(infoware_pci_ids_file "${INFOWARE_PCI_IDS_PATH}") ++elseif(HOST_PCI_DATA) ++ # git unused + elseif(NOT Git_FOUND) + message(SEND_ERROR "Couldn't find a usable git executable in the environment, and the CMake variable INFOWARE_PCI_IDS_PATH is empty.\n${infoware_pci_ids_error}") + else() +@@ -122,11 +124,17 @@ set_target_properties(infoware_pci_generator PROPERTIES CXX_STANDARD 14 + set(INFOWARE_PCI_DATA_HPP pci_data.hpp) + set(INFOWARE_PCI_DATA_GEN "infoware_generated/${INFOWARE_PCI_DATA_HPP}") + ++if(HOST_PCI_DATA) ++ set_target_properties(infoware_pci_generator PROPERTIES EXCLUDE_FROM_ALL 1) ++ configure_file("${HOST_PCI_DATA}" "${CMAKE_CURRENT_BINARY_DIR}/${INFOWARE_PCI_DATA_GEN}" COPYONLY) ++else() ++install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${INFOWARE_PCI_DATA_GEN}" DESTINATION "share/infoware") + add_custom_command(OUTPUT ${INFOWARE_PCI_DATA_GEN} + COMMAND ${CMAKE_COMMAND} -E make_directory infoware_generated/ + COMMAND $ "${infoware_pci_ids_file}" > "infoware_generated/pci_data.hpp" + DEPENDS "${infoware_pci_ids_file}" + COMMENT "Generating ${INFOWARE_PCI_DATA_HPP}") ++endif() + + add_custom_target(infoware_generate_pcis DEPENDS "${INFOWARE_PCI_DATA_GEN}") + add_dependencies(infoware infoware_generate_pcis) diff --git a/ports/infoware/portfile.cmake b/ports/infoware/portfile.cmake index e8b0703a8af8a7..7b36bd1074ad49 100644 --- a/ports/infoware/portfile.cmake +++ b/ports/infoware/portfile.cmake @@ -1,38 +1,43 @@ -vcpkg_fail_port_install(ON_ARCH "arm" ON_TARGET "uwp") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ThePhD/infoware - REF 50cb0982aceb32c8eb57aa6bc5011aced2c379df - SHA512 fe8182998a9e9dbed3dc3985a1161da11b340562628a71da8840aa4d4c56382ddc3ddef3d094e5d9c7c06481a2076dcff7fdb561bd169dd9d1849da4b4c6a064 + REF d64a0c948593c0555115f60c79225c0b9ae09510 + SHA512 3794cb78a1422bfc065037abbae81259e6061ba7b12ebd7b88581118e8eeebaf92d80cf7793b0f9f1da6754baf52835a6891663593dd0b0a38009a9cb141082b HEAD_REF master + PATCHES + cross-build.diff ) vcpkg_check_features( OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES - x11 INFOWARE_USE_X11 - d3d INFOWARE_USE_D3D - opencl INFOWARE_USE_OPENCL - opengl INFOWARE_USE_OPENGL + d3d INFOWARE_USE_D3D + opencl INFOWARE_USE_OPENCL + opengl INFOWARE_USE_OPENGL + x11 INFOWARE_USE_X11 ) -# git must be injected, because vcpkg isolates the build -# from the environment entirely to have reproducible builds -vcpkg_find_acquire_program(GIT) +if(VCPKG_CROSSCOMPILING) + list(APPEND FEATURE_OPTIONS "-DHOST_PCI_DATA=${CURRENT_HOST_INSTALLED_DIR}/share/${PORT}/pci_data.hpp") +else() + acquire_pciids(pciids_path) + list(APPEND FEATURE_OPTIONS "-DINFOWARE_PCI_IDS_PATH=${pciids_path}") +endif() vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${FEATURE_OPTIONS} -DINFOWARE_EXAMPLES=OFF -DINFOWARE_TESTS=OFF - -DGIT_EXECUTABLE=${GIT} - -DGIT_FOUND=true + -DCMAKE_DISABLE_FIND_PACKAGE_Git=1 ) vcpkg_cmake_install() vcpkg_cmake_config_fixup() -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) -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") diff --git a/ports/infoware/vcpkg.json b/ports/infoware/vcpkg.json index 7b395639532f39..db5414359351fe 100644 --- a/ports/infoware/vcpkg.json +++ b/ports/infoware/vcpkg.json @@ -1,11 +1,19 @@ { - "$reason": "Note that independent usage and testing may work, but it seems to fail in CI environments for potential cross-compilation, and is thusly noted here to note break how vcpkg builds things!", "name": "infoware", - "version-date": "2021-06-16", + "version-date": "2023-04-12", "description": "C++ Library for pulling system and hardware information, without hitting the command line.", "homepage": "https://github.com/ThePhD/infoware", - "supports": "!(arm | uwp)", + "license": "CC0-1.0", + "supports": "!android & !uwp & !(windows & arm)", "dependencies": [ + { + "name": "infoware", + "host": true + }, + { + "name": "pciids", + "platform": "native" + }, { "name": "vcpkg-cmake", "host": true @@ -17,16 +25,31 @@ ], "features": { "d3d": { - "description": "Prefer usage of Direct3D to find graphical capabilities (typically only works on Windows systems)." + "description": [ + "Use Direct3D for GPU detection.", + "This choice has priority over opencl and opengl." + ], + "supports": "windows" }, "opencl": { - "description": "Prefer usage of OpenCL to find graphical capabilities of the system." + "description": [ + "Use OpenCL for GPU detection.", + "This choice has priority over opengl." + ], + "dependencies": [ + "opencl" + ] }, "opengl": { - "description": "Prefer usage of OpenGL to find graphical capabilities (may require additional libraries to be available for linking depending on the system)." + "description": "Use OpenGL for GPU detection.", + "supports": "!osx & !ios", + "dependencies": [ + "opengl" + ] }, "x11": { - "description": "Prefer usage of X11 to find graphical capabilities." + "description": "Use X11 for display detection.", + "supports": "!windows" } } } diff --git a/ports/inih/CMakeLists.txt b/ports/inih/CMakeLists.txt deleted file mode 100644 index 6601e543af3099..00000000000000 --- a/ports/inih/CMakeLists.txt +++ /dev/null @@ -1,15 +0,0 @@ -project(inih) - -set(SOURCES ini.c cpp/INIReader.cpp) -set(HEADERS ini.h cpp/INIReader.h) - -add_library(inih ${SOURCES}) - -install( - TARGETS inih - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib -) - -install(FILES ${HEADERS} DESTINATION include) diff --git a/ports/inih/portfile.cmake b/ports/inih/portfile.cmake index 471b35f86773a0..aecf3bedc3ec8d 100644 --- a/ports/inih/portfile.cmake +++ b/ports/inih/portfile.cmake @@ -3,20 +3,42 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO benhoyt/inih - REF d7f465792c0c7686b50ed45c9a435394ae418d3e # r51 - SHA512 f3b621225933d74e9b130957aab1d55a82f06fd836aace439f9192a393d82a446e9f2152bb617a73a1dc681a821fc31d217c41f38c8ef8eeef7ad64c3e274b5d + REF "r${VERSION}" + SHA512 d69f488299c1896e87ddd3dd20cd9db5848da7afa4c6159b8a99ba9a5d33f35cadfdb9f65d6f2fe31decdbadb8b43bf610ff2699df475e1f9ff045e343ac26ae HEAD_REF master ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + cpp with_INIReader +) + +if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + set(INIH_CONFIG_DEBUG ON) +else() + set(INIH_CONFIG_DEBUG OFF) +endif() + +# Install unofficial CMake package +configure_file("${CMAKE_CURRENT_LIST_DIR}/unofficial-inihConfig.cmake.in" "${CURRENT_PACKAGES_DIR}/share/unofficial-inih/unofficial-inihConfig.cmake" @ONLY) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +# meson build +string(REPLACE "OFF" "false" FEATURE_OPTIONS "${FEATURE_OPTIONS}") +string(REPLACE "ON" "true" FEATURE_OPTIONS "${FEATURE_OPTIONS}") + +vcpkg_configure_meson( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + "${FEATURE_OPTIONS}" + "-Dcpp_std=c++11" ) -vcpkg_install_cmake() +vcpkg_install_meson() +vcpkg_fixup_pkgconfig() + +vcpkg_copy_pdbs() -file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/inih RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") -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/inih/unofficial-inihConfig.cmake.in b/ports/inih/unofficial-inihConfig.cmake.in new file mode 100644 index 00000000000000..d6b61fc405b42c --- /dev/null +++ b/ports/inih/unofficial-inihConfig.cmake.in @@ -0,0 +1,60 @@ +if(TARGET unofficial::inih::libinih) + return() +endif() + +set(INIH_WITH_INI_READER @with_INIReader@) +set(INIH_WITH_DEBUG @INIH_CONFIG_DEBUG@) + +# 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) + +################### +#### libinih #### + +add_library(unofficial::inih::libinih UNKNOWN IMPORTED) + +find_library(INIH_INIHLIB_RELEASE NAMES inih PATHS "${_IMPORT_PREFIX}/lib/" REQUIRED NO_DEFAULT_PATH) +set_target_properties(unofficial::inih::libinih PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" + IMPORTED_LINK_INTERFACE_LANGUAGES "C" + IMPORTED_LOCATION_RELEASE "${INIH_INIHLIB_RELEASE}" + IMPORTED_CONFIGURATIONS "RELEASE" +) + +if(INIH_WITH_DEBUG) + set_property(TARGET unofficial::inih::libinih APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG) + find_library(INIH_INIHLIB_DEBUG NAMES inih PATHS "${_IMPORT_PREFIX}/debug/lib/" REQUIRED NO_DEFAULT_PATH) + set_target_properties(unofficial::inih::libinih PROPERTIES + IMPORTED_LOCATION_DEBUG "${INIH_INIHLIB_DEBUG}" + ) +endif() + +#### libinih #### +################### +#### INIReader #### + +if(INIH_WITH_INI_READER) + add_library(unofficial::inih::inireader UNKNOWN IMPORTED) + + find_library(INIH_INIREADER_RELEASE NAMES INIReader PATHS "${_IMPORT_PREFIX}/lib/" REQUIRED NO_DEFAULT_PATH) + set_target_properties(unofficial::inih::inireader PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" + IMPORTED_LINK_INTERFACE_LANGUAGES "C;CXX" + IMPORTED_LOCATION_RELEASE "${INIH_INIREADER_RELEASE}" + INTERFACE_LINK_LIBRARIES "unofficial::inih::libinih" + IMPORTED_CONFIGURATIONS "RELEASE" + ) + + if(INIH_WITH_DEBUG) + set_property(TARGET unofficial::inih::inireader APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG) + find_library(INIH_INIREADER_DEBUG NAMES INIReader PATHS "${_IMPORT_PREFIX}/debug/lib/" NO_DEFAULT_PATH) + set_target_properties(unofficial::inih::inireader PROPERTIES + IMPORTED_LOCATION_DEBUG "${INIH_INIREADER_DEBUG}" + ) + endif() +endif() + +#### INIReader #### +################### diff --git a/ports/inih/usage b/ports/inih/usage new file mode 100644 index 00000000000000..227be04c6f17d3 --- /dev/null +++ b/ports/inih/usage @@ -0,0 +1,7 @@ +The package inih provides unofficial CMake targets: + find_package(unofficial-inih CONFIG REQUIRED) + # C API + target_link_libraries(main PRIVATE unofficial::inih::libinih) + # C++ API (Requires "cpp" feature) + target_link_libraries(main PRIVATE unofficial::inih::inireader) +Alternatively, if you are using pckgconfig use the name "inih" for the C API and "inireader" for the C++ API diff --git a/ports/inih/vcpkg.json b/ports/inih/vcpkg.json index 5b137dcba4bc8c..99d331f06d2ccc 100644 --- a/ports/inih/vcpkg.json +++ b/ports/inih/vcpkg.json @@ -1,6 +1,21 @@ { "name": "inih", - "version-string": "51", - "port-version": 1, - "description": "Simple .INI file parser" + "version": "58", + "description": "Simple .INI file parser", + "homepage": "https://github.com/benhoyt/inih", + "license": "BSD-3-Clause", + "dependencies": [ + { + "name": "vcpkg-tool-meson", + "host": true + } + ], + "default-features": [ + "cpp" + ], + "features": { + "cpp": { + "description": "Build the C++ library" + } + } } diff --git a/ports/iniparser/portfile.cmake b/ports/iniparser/portfile.cmake index 30487f815b7648..4688037bc4b948 100644 --- a/ports/iniparser/portfile.cmake +++ b/ports/iniparser/portfile.cmake @@ -10,19 +10,18 @@ vcpkg_from_github( win32_ssize_t.patch ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-${PORT} TARGET_PATH share/unofficial-${PORT}) +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-${PORT}) -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) - -vcpkg_fixup_pkgconfig() +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) + +vcpkg_fixup_pkgconfig() diff --git a/ports/iniparser/vcpkg.json b/ports/iniparser/vcpkg.json index 88ad1b9f61585a..8ed760ec168182 100644 --- a/ports/iniparser/vcpkg.json +++ b/ports/iniparser/vcpkg.json @@ -1,7 +1,18 @@ { "name": "iniparser", - "version-string": "2020-04-06", - "port-version": 2, + "version-date": "2020-04-06", + "port-version": 5, "description": "C library for parsing INI-style files", - "homepage": "ndevilla.free.fr/iniparser" + "homepage": "https://github.com/ndevilla/iniparser", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/inipp/portfile.cmake b/ports/inipp/portfile.cmake new file mode 100644 index 00000000000000..56d2e2649e4b64 --- /dev/null +++ b/ports/inipp/portfile.cmake @@ -0,0 +1,11 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO mcmtroffaes/inipp + REF 1.0.12 + SHA512 c96771613e9212eadd4ac468b30217851a09e193511ea38ef077b4c0039eb4b6fc90ff7a8252e8445f64e15504cbdd86a8b2e47dfe1c8e3a088221751e322304 + HEAD_REF master +) + +file(INSTALL ${SOURCE_PATH}/inipp/inipp.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") diff --git a/ports/inipp/vcpkg.json b/ports/inipp/vcpkg.json new file mode 100644 index 00000000000000..b353bda2681c7f --- /dev/null +++ b/ports/inipp/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "inipp", + "version": "1.0.12", + "description": "Simple header-only C++ ini parser and generator", + "homepage": "https://github.com/mcmtroffaes/inipp", + "license": "MIT" +} diff --git a/ports/inja/portfile.cmake b/ports/inja/portfile.cmake index 7b613808c1025d..a4cefb039e90a6 100644 --- a/ports/inja/portfile.cmake +++ b/ports/inja/portfile.cmake @@ -1,28 +1,28 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO pantor/inja - REF 2d515078c647457436556763aca8d4bf7d11d5e8 # v3.3.0 - SHA512 4e2f63297eede016772e4915cacfec57b49633f2a5fb80862bbd091d274f688ea1fbe958f97699e930fdee9f390ce0637513f4265190c171104d9eae9b12a59d + REF b2276440be8334aeba9cd5d628c2731d0f6a5809 # v3.4.0 + SHA512 80f760668f72b9e0a54e1c74d169f98a99fdfffe6bacc56043681e48a4af21a2331a94ab5cb27b6e5a838d7d7fe5d8a806597bfb913f0f3aecb30755a23a4cf8 HEAD_REF master ) -vcpkg_configure_cmake( +set(VCPKG_BUILD_TYPE release) # header-only port + +vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - PREFER_NINJA OPTIONS -DINJA_USE_EMBEDDED_JSON=OFF -DBUILD_TESTING=OFF -DBUILD_BENCHMARK=OFF ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/inja) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/inja") vcpkg_copy_pdbs() -# Inja is a header-only library -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") + # Don't need built-in nlohmann-json as this package depends on nlohmann-json file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/inja/json") -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/inja/vcpkg.json b/ports/inja/vcpkg.json index 55c71f18d32166..8b0c5220d7f559 100644 --- a/ports/inja/vcpkg.json +++ b/ports/inja/vcpkg.json @@ -1,9 +1,18 @@ { "name": "inja", - "version": "3.3.0", + "version": "3.4.0", "description": "Inja - A Template Engine for Modern C++", "homepage": "https://github.com/pantor/inja", + "license": "MIT", "dependencies": [ - "nlohmann-json" + "nlohmann-json", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/intel-ipsec/CMakeLists.txt b/ports/intel-ipsec/CMakeLists.txt deleted file mode 100644 index 4d778eb306bf18..00000000000000 --- a/ports/intel-ipsec/CMakeLists.txt +++ /dev/null @@ -1,59 +0,0 @@ -CMAKE_MINIMUM_REQUIRED(VERSION 3.9) -PROJECT(ipsec C) - -IF (SOURCE_PATH) - SET(CMAKE_SOURCE_DIR ${SOURCE_PATH}) -ENDIF () - -INCLUDE(ProcessorCount) -PROCESSORCOUNT(PROCS) - -FIND_PROGRAM(NASM nasm) -IF (NOT NASM) - MESSAGE(FATAL_ERROR "NASM not found") -ENDIF () - -FIND_PROGRAM(MAKE make) -IF (NOT MAKE) - MESSAGE(FATAL_ERROR "MAKE not found") -ENDIF () - -IF (EXEC_ENV STREQUAL "Windows") - FIND_PROGRAM(MAKE nmake) - IF (NOT MAKE) - MESSAGE(FATAL_ERROR "nmake not found") - ENDIF () -ENDIF () - -SET(MAKE_FLAGS) - -IF (EXEC_ENV STREQUAL Windows) - LIST(APPEND MAKE_FLAGS /f win_x64.mak) -ENDIF () - -IF (CMAKE_BUILD_TYPE STREQUAL Debug) - LIST(APPEND MAKE_FLAGS DEBUG=y) -ENDIF () - -IF (LIBRARY_LINKAGE STREQUAL "static") - LIST(APPEND MAKE_FLAGS SHARED=n) -ENDIF () - -MESSAGE(STATUS "${MAKE_FLAGS}") -ADD_CUSTOM_TARGET(ipsec-mb ALL - COMMAND ${MAKE} -j ${MAKE_FLAGS} - WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/ -# VERBATIM - ) - -SET(LIB_PATH ${CMAKE_SOURCE_DIR}/) -IF (LIBRARY_LINKAGE STREQUAL "dynamic") - STRING(APPEND LIB_PATH libIPSec_MB.so) -ELSEIF (LIBRARY_LINKAGE STREQUAL "static") - STRING(APPEND LIB_PATH libIPSec_MB.a) -ELSE () - MESSAGE(FATAL_ERROR "Unknown linkage type ${LIBRARY_LINKAGE}") -ENDIF () -INSTALL(FILES ${LIB_PATH} - DESTINATION ${CMAKE_SOURCE_DIR}/${CMAKE_BUILD_TYPE}/lib/) -INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/include DESTINATION ${CMAKE_SOURCE_DIR}/${CMAKE_BUILD_TYPE}/) diff --git a/ports/intel-ipsec/always-generate-pdb.patch b/ports/intel-ipsec/always-generate-pdb.patch new file mode 100644 index 00000000000000..24894e4e7dbfde --- /dev/null +++ b/ports/intel-ipsec/always-generate-pdb.patch @@ -0,0 +1,80 @@ +From 19d3b3fca689fb87e819b0b27bc74d1f52fcd2c8 Mon Sep 17 00:00:00 2001 +From: Billy Robert O'Neal III +Date: Wed, 12 Jan 2022 12:40:30 +0000 +Subject: [PATCH] lib: generate PDB in release build on Windows + +PDBs are necessary for postmortem debugging and for teams to get reports +from Watson, so they should be built for released software too. This +change always passes /DEBUG to the MSVC linker. That switch controls +whether a PDB is generated (as in "generate debugging information") not +a statement that the resulting files are the debug specific version of +your library. + +/DEBUG changes the default values of /INCREMENTAL (to on) and /OPT:REF +and /OPT:ICF to off, so those are changed back to incremental off and +linker optimizations on in debug builds. + +This missing PDB issue was discovered in fixing intel-ipsec's port in +vcpkg to build on Windows (https://github.com/microsoft/vcpkg/pull/22269). + +intel-ipsec-mb vcpkg PR link is https://github.com/microsoft/vcpkg/pull/5586 +--- + lib/win_x64.mak | 12 +++++++----- + 1 file changed, 7 insertions(+), 5 deletions(-) + +diff --git a/lib/win_x64.mak b/lib/win_x64.mak +index 89162feb..bb62b2ea 100644 +--- a/lib/win_x64.mak ++++ b/lib/win_x64.mak +@@ -12,7 +12,7 @@ + # * Neither the name of Intel Corporation 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 +@@ -71,14 +71,14 @@ LIB_DIR = .\ + + !ifdef DEBUG + OPT = $(DEBUG_OPT) +-DCFLAGS = /DDEBUG /Z7 ++DCFLAGS = /DDEBUG + DAFLAGS = -gcv8 +-DLFLAGS = /DEBUG ++DLFLAGS = /DEBUG /INCREMENTAL:NO + !else + OPT = /O2 /Oi + DCFLAGS = + DAFLAGS = +-DLFLAGS = /RELEASE ++DLFLAGS = /RELEASE /DEBUG /OPT:REF /OPT:ICF /INCREMENTAL:NO + !endif + + !if "$(SAFE_DATA)" != "n" +@@ -98,7 +98,7 @@ DAFLAGS = $(DAFLAGS) -DSAFE_LOOKUP + + CC = cl + CFLAGS_ALL = $(EXTRA_CFLAGS) /DNO_COMPAT_IMB_API_053 /I. /Iinclude /Ino-aesni \ +- /nologo /Y- /W3 /WX- /Gm- /fp:precise /EHsc ++ /nologo /Y- /W3 /WX- /Gm- /fp:precise /EHsc /Z7 + + CFLAGS = $(CFLAGS_ALL) $(OPT) $(DCFLAGS) + CFLAGS_NO_SIMD = $(CFLAGS_ALL) /Od $(DCFLAGS) +@@ -633,6 +633,7 @@ install: + -copy /Y /V /B $(LIBBASE).lib "$(INSTDIR)" + -copy /Y /V /A intel-ipsec-mb.h "$(INSTDIR)" + !if "$(SHARED)" == "y" ++ -copy /Y /V /B $(LIB_DIR)\$(LIBBASE).pdb "$(INSTDIR)" + -copy /Y /V /B $(LIB_DIR)\$(LIBBASE).dll "$(INSTDIR)" + -copy /Y /V /B $(LIB_DIR)\$(LIBBASE).dll "%windir%\system32" + !endif +@@ -641,6 +642,7 @@ uninstall: + !if "$(SHARED)" == "y" + -del /Q "%windir%\system32\$(LIBBASE).dll" + -del /Q "$(INSTDIR)\$(LIBBASE).dll" ++ -del /Q "$(INSTDIR)\$(LIBBASE).pdb" + !endif + -del /Q "$(INSTDIR)\$(LIBBASE).def" + -del /Q "$(INSTDIR)\$(LIBBASE).exp" diff --git a/ports/intel-ipsec/intel-ipsec-targets-implib.cmake.in b/ports/intel-ipsec/intel-ipsec-targets-implib.cmake.in new file mode 100644 index 00000000000000..1a907fc9756e58 --- /dev/null +++ b/ports/intel-ipsec/intel-ipsec-targets-implib.cmake.in @@ -0,0 +1,5 @@ +set_property(TARGET IPSEC::ipsec APPEND PROPERTY IMPORTED_CONFIGURATIONS @INTEL_IPSEC_CONFIGURATION@) +set_target_properties(IPSEC::ipsec PROPERTIES + IMPORTED_LOCATION_@INTEL_IPSEC_CONFIGURATION@ "${_IMPORT_PREFIX}/@INTEL_IPSEC_LOCATION@" + IMPORTED_IMPLIB_@INTEL_IPSEC_CONFIGURATION@ "${_IMPORT_PREFIX}/@INTEL_IPSEC_IMPLIB@" + ) diff --git a/ports/intel-ipsec/intel-ipsec-targets.cmake.in b/ports/intel-ipsec/intel-ipsec-targets.cmake.in new file mode 100644 index 00000000000000..0f5983c9629848 --- /dev/null +++ b/ports/intel-ipsec/intel-ipsec-targets.cmake.in @@ -0,0 +1,4 @@ +set_property(TARGET IPSEC::ipsec APPEND PROPERTY IMPORTED_CONFIGURATIONS @INTEL_IPSEC_CONFIGURATION@) +set_target_properties(IPSEC::ipsec PROPERTIES + IMPORTED_LOCATION_@INTEL_IPSEC_CONFIGURATION@ "${_IMPORT_PREFIX}/@INTEL_IPSEC_LOCATION@" + ) diff --git a/ports/intel-ipsec/intel-ipsecConfig.cmake b/ports/intel-ipsec/intel-ipsecConfig.cmake deleted file mode 100644 index 3861032d5200b3..00000000000000 --- a/ports/intel-ipsec/intel-ipsecConfig.cmake +++ /dev/null @@ -1,17 +0,0 @@ - -FUNCTION(SET_LIBRARY_TARGET NAMESPACE LIB_NAME DEBUG_LIB_FILE_NAME RELEASE_LIB_FILE_NAME INCLUDE_DIR) - ADD_LIBRARY(${NAMESPACE}::${LIB_NAME} STATIC IMPORTED) - SET_TARGET_PROPERTIES(${NAMESPACE}::${LIB_NAME} PROPERTIES - IMPORTED_CONFIGURATIONS "RELEASE;DEBUG" - IMPORTED_LOCATION_RELEASE "${RELEASE_LIB_FILE_NAME}" - IMPORTED_LOCATION_DEBUG "${DEBUG_LIB_FILE_NAME}" - INTERFACE_INCLUDE_DIRECTORIES "${INCLUDE_DIR}" - ) - SET(${NAMESPACE}_${LIB_NAME}_FOUND 1) -ENDFUNCTION() - -GET_FILENAME_COMPONENT(ROOT "${CMAKE_CURRENT_LIST_FILE}" PATH) -GET_FILENAME_COMPONENT(ROOT "${ROOT}" PATH) -GET_FILENAME_COMPONENT(ROOT "${ROOT}" PATH) - -SET_LIBRARY_TARGET("IPSEC" "ipsec" "${ROOT}/debug/lib/libIPSec_MB.a" "${ROOT}/lib/libIPSec_MB.a" "${ROOT}/include/intel-ipsec") diff --git a/ports/intel-ipsec/intel-ipsecConfig.cmake.in b/ports/intel-ipsec/intel-ipsecConfig.cmake.in new file mode 100644 index 00000000000000..cc722d53b93453 --- /dev/null +++ b/ports/intel-ipsec/intel-ipsecConfig.cmake.in @@ -0,0 +1,16 @@ +if(TARGET IPSEC::ipsec) + return() +endif() + +get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) # intel-ipsec +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) # share +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) # package root +add_library(IPSEC::ipsec @INTEL_IPSEC_STATIC_OR_SHARED@ IMPORTED) +set_target_properties(IPSEC::ipsec PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include") +set(IPSEC_ipsec_FOUND 1) + +get_filename_component(_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) +file(GLOB CONFIG_FILES "${_DIR}/intel-ipsec-targets-*.cmake") +foreach(f ${CONFIG_FILES}) + include(${f}) +endforeach() diff --git a/ports/intel-ipsec/portfile.cmake b/ports/intel-ipsec/portfile.cmake index 3218d67b00f6ac..eb945e1f95cf45 100644 --- a/ports/intel-ipsec/portfile.cmake +++ b/ports/intel-ipsec/portfile.cmake @@ -1,58 +1,105 @@ -IF (VCPKG_TARGET_IS_WINDOWS) - SET(EXEC_ENV "Windows") -ELSE () - SET(EXEC_ENV "${VCPKG_CMAKE_SYSTEM_NAME}") -ENDIF () - -IF (NOT EXEC_ENV STREQUAL "Linux") - MESSAGE(FATAL_ERROR "Intel(R) Multi-Buffer Crypto for IPsec Library currently only supports Linux/Windows platforms") - MESSAGE(STATUS "Well, it is not true, but I didnt manage to get it working on Windows") -ENDIF () - -IF (VCPKG_TARGET_ARCHITECTURE STREQUAL "x86" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") - MESSAGE(FATAL_ERROR "Intel(R) Multi-Buffer Crypto for IPsec Library currently only supports x64 architecture") -ELSEIF (NOT VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") - MESSAGE(FATAL_ERROR "Unsupported architecture: ${VCPKG_TARGET_ARCHITECTURE}") -ENDIF () - -VCPKG_FROM_GITHUB( - OUT_SOURCE_PATH SOURCE_PATH - REPO intel/intel-ipsec-mb - REF v0.52 - SHA512 3b115fb6df53801800a63a3b62198165824a9262d579a7696f1ec365a5680282b172ffac742fe6453ae53b97043c19136adf558a85a0e51d163b27be2abc9e63 - HEAD_REF master +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO intel/intel-ipsec-mb + REF bde82c8737edc04d80549f0a68225ede7e5cefd #v1.1 + SHA512 f41dcde88b062e8ec2327987c6d36cd4f74a5e4fea386cc1ef8364f1dc432a2db02ca7d3312c0471b443cf93e815af6d74a4819c249afd6777aa91693b2546e5 + HEAD_REF master + PATCHES + always-generate-pdb.patch # https://github.com/intel/intel-ipsec-mb/pull/93 ) -VCPKG_FIND_ACQUIRE_PROGRAM(NASM) - -EXEC_PROGRAM(${NASM} - ARGS -v - OUTPUT_VARIABLE NASM_OUTPUT - ) -STRING(REGEX REPLACE "NASM version ([0-9]+\\.[0-9]+\\.[0-9]+).*" "\\1" - NASM_VERSION - ${NASM_OUTPUT}) -IF (NASM_VERSION VERSION_LESS 2.13.03) - MESSAGE(FATAL_ERROR "NASM version 2.13.03 (or newer) is required to build this package") -ENDIF () - -GET_FILENAME_COMPONENT(NASM_PATH ${NASM} DIRECTORY) -SET(ENV{PATH} " $ENV{PATH};${NASM_PATH} ") - -VCPKG_CONFIGURE_CMAKE( - SOURCE_PATH ${CMAKE_CURRENT_LIST_DIR} - PREFER_NINJA - OPTIONS - -DSOURCE_PATH=${SOURCE_PATH} - -DEXEC_ENV=${VCPKG_CMAKE_SYSTEM_NAME} - -DLIBRARY_LINKAGE=${VCPKG_LIBRARY_LINKAGE} -) +vcpkg_find_acquire_program(NASM) +get_filename_component(NASM_DIR "${NASM}" DIRECTORY) +vcpkg_add_to_path(PREPEND "${NASM_DIR}") + +vcpkg_list(SET MAKE_OPTIONS) +set(INTEL_IPSEC_STATIC_OR_SHARED SHARED) +if ("${VCPKG_LIBRARY_LINKAGE}" STREQUAL "static") + vcpkg_list(APPEND MAKE_OPTIONS SHARED=n) + set(INTEL_IPSEC_STATIC_OR_SHARED STATIC) +endif() + +set(DEBUG_LIB "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/lib") +set(RELEASE_LIB "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/lib") + +if (VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + vcpkg_build_nmake( + SOURCE_PATH "${SOURCE_PATH}" + PROJECT_SUBPATH lib + PROJECT_NAME win_x64.mak + OPTIONS ${MAKE_OPTIONS} + OPTIONS_DEBUG DEBUG=y + ) + + if(NOT "${VCPKG_BUILD_TYPE}" STREQUAL "release") + file(INSTALL "${DEBUG_LIB}/libIPSec_MB.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") + set(INTEL_IPSEC_CONFIGURATION "DEBUG") + if ("${VCPKG_LIBRARY_LINKAGE}" STREQUAL "static") + set(INTEL_IPSEC_LOCATION "debug/lib/libIPSec_MB.lib") + configure_file("${CMAKE_CURRENT_LIST_DIR}/intel-ipsec-targets.cmake.in" "${CURRENT_PACKAGES_DIR}/share/${PORT}/intel-ipsec-targets-debug.cmake" @ONLY) + else() + file(INSTALL "${DEBUG_LIB}/libIPSec_MB.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin") + file(INSTALL "${DEBUG_LIB}/libIPSec_MB.pdb" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin") + file(INSTALL "${DEBUG_LIB}/libIPSec_MB.exp" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") + set(INTEL_IPSEC_LOCATION "debug/bin/libIPSec_MB.dll") + set(INTEL_IPSEC_IMPLIB "debug/lib/libIPSec_MB.lib") + configure_file("${CMAKE_CURRENT_LIST_DIR}/intel-ipsec-targets-implib.cmake.in" "${CURRENT_PACKAGES_DIR}/share/${PORT}/intel-ipsec-targets-debug.cmake" @ONLY) + endif() + endif() + + file(INSTALL "${RELEASE_LIB}/libIPSec_MB.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/lib") + set(INTEL_IPSEC_CONFIGURATION "RELEASE") + if ("${VCPKG_LIBRARY_LINKAGE}" STREQUAL "static") + set(INTEL_IPSEC_LOCATION "lib/libIPSec_MB.lib") + configure_file("${CMAKE_CURRENT_LIST_DIR}/intel-ipsec-targets.cmake.in" "${CURRENT_PACKAGES_DIR}/share/${PORT}/intel-ipsec-targets-release.cmake" @ONLY) + else() + file(INSTALL "${RELEASE_LIB}/libIPSec_MB.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/bin") + file(INSTALL "${RELEASE_LIB}/libIPSec_MB.pdb" DESTINATION "${CURRENT_PACKAGES_DIR}/bin") + file(INSTALL "${RELEASE_LIB}/libIPSec_MB.exp" DESTINATION "${CURRENT_PACKAGES_DIR}/lib") + set(INTEL_IPSEC_LOCATION "bin/libIPSec_MB.dll") + set(INTEL_IPSEC_IMPLIB "lib/libIPSec_MB.lib") + configure_file("${CMAKE_CURRENT_LIST_DIR}/intel-ipsec-targets-implib.cmake.in" "${CURRENT_PACKAGES_DIR}/share/${PORT}/intel-ipsec-targets-release.cmake" @ONLY) + endif() +else() + if ("${VCPKG_LIBRARY_LINKAGE}" STREQUAL "static") + set(LIB_SUFFIX ".a") + else() + set(LIB_SUFFIX ".so") + endif() + + find_program(MAKE make REQUIRED) + if(NOT "${VCPKG_BUILD_TYPE}" STREQUAL "release") + message(STATUS "Building ${TARGET_TRIPLET}-dbg") + set(INTEL_IPSEC_CONFIGURATION "DEBUG") + file(REMOVE_RECURSE "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") + file(COPY "${SOURCE_PATH}/" DESTINATION "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") + vcpkg_execute_build_process( + COMMAND "${MAKE}" "-j${VCPKG_CONCURRENCY}" ${MAKE_OPTIONS} + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/lib" + LOGNAME "build-${TARGET_TRIPLET}-dbg" + ) + + file(INSTALL "${DEBUG_LIB}/libIPSec_MB${LIB_SUFFIX}" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") + set(INTEL_IPSEC_LOCATION "debug/lib/libIPSec_MB${LIB_SUFFIX}") + configure_file("${CMAKE_CURRENT_LIST_DIR}/intel-ipsec-targets.cmake.in" "${CURRENT_PACKAGES_DIR}/share/${PORT}/intel-ipsec-targets-debug.cmake" @ONLY) + endif() + + message(STATUS "Building ${TARGET_TRIPLET}-rel") + set(INTEL_IPSEC_CONFIGURATION "RELEASE") + file(REMOVE_RECURSE "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") + file(COPY "${SOURCE_PATH}/" DESTINATION "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") + vcpkg_execute_build_process( + COMMAND "${MAKE}" -j ${MAKE_OPTIONS} + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/lib" + LOGNAME "build-${TARGET_TRIPLET}-rel" + ) -VCPKG_INSTALL_CMAKE() + file(INSTALL "${RELEASE_LIB}/libIPSec_MB${LIB_SUFFIX}" DESTINATION "${CURRENT_PACKAGES_DIR}/lib") + set(INTEL_IPSEC_LOCATION "lib/libIPSec_MB${LIB_SUFFIX}") + configure_file("${CMAKE_CURRENT_LIST_DIR}/intel-ipsec-targets.cmake.in" "${CURRENT_PACKAGES_DIR}/share/${PORT}/intel-ipsec-targets-release.cmake" @ONLY) +endif() -FILE(INSTALL ${SOURCE_PATH}/Release/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/lib) -FILE(INSTALL ${SOURCE_PATH}/Debug/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) -FILE(INSTALL ${SOURCE_PATH}/Release/include/ DESTINATION ${CURRENT_PACKAGES_DIR}/include/${PORT}) -FILE(INSTALL ${CMAKE_CURRENT_LIST_DIR}/intel-ipsecConfig.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) -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) +file(INSTALL "${SOURCE_PATH}/lib/intel-ipsec-mb.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include") +configure_file("${CMAKE_CURRENT_LIST_DIR}/intel-ipsecConfig.cmake.in" "${CURRENT_PACKAGES_DIR}/share/${PORT}/intel-ipsecConfig.cmake" @ONLY) +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/intel-ipsec/vcpkg.json b/ports/intel-ipsec/vcpkg.json index eb8da35ce0d1b4..2083fbf777d548 100644 --- a/ports/intel-ipsec/vcpkg.json +++ b/ports/intel-ipsec/vcpkg.json @@ -1,6 +1,6 @@ { "name": "intel-ipsec", - "version-string": "0.52", - "port-version": 2, - "description": "Intel(R) Multi-Buffer Crypto for IPsec Library" + "version": "1.1", + "description": "Intel(R) Multi-Buffer Crypto for IPsec Library", + "supports": "x64 & (windows | linux) & !uwp" } diff --git a/ports/intel-mkl/copy-from-dmg.cmake b/ports/intel-mkl/copy-from-dmg.cmake new file mode 100644 index 00000000000000..a5aa67cdea9e55 --- /dev/null +++ b/ports/intel-mkl/copy-from-dmg.cmake @@ -0,0 +1,53 @@ +find_program(HDIUTIL NAMES hdiutil REQUIRED) +set(dmg_path "NOTFOUND" CACHE FILEPATH "Where to find the DMG") +set(output_dir "output_dir" CACHE FILEPATH "Where to put the packages") + +if(NOT EXISTS "${dmg_path}") + message(FATAL_ERROR "'dmg_path' (${dmg_path}) does not exist.") +endif() +if(NOT IS_DIRECTORY "${output_dir}") + message(FATAL_ERROR "'output_dir' (${output_dir}) is not a directory.") +endif() + +execute_process( + COMMAND mktemp -d + RESULT_VARIABLE mktemp_result + OUTPUT_VARIABLE mount_point + OUTPUT_STRIP_TRAILING_WHITESPACE +) +if(NOT mktemp_result STREQUAL "0") + message(FATAL_ERROR "mktemp -d failed: ${mktemp_result}") +elseif(NOT IS_DIRECTORY "${mount_point}") + message(FATAL_ERROR "'mount_point' (${mount_point}) is not a directory.") +endif() + +execute_process( + COMMAND "${HDIUTIL}" attach "${dmg_path}" -mountpoint "${mount_point}" -readonly + RESULT_VARIABLE mount_result +) +if(mount_result STREQUAL "0") + set(dmg_packages_dir "${mount_point}/bootstrapper.app/Contents/Resources/packages") + file(GLOB packages + "${dmg_packages_dir}/intel.oneapi.mac.mkl.devel,*" + "${dmg_packages_dir}/intel.oneapi.mac.mkl.runtime,*" + "${dmg_packages_dir}/intel.oneapi.mac.mkl.product,*" + "${dmg_packages_dir}/intel.oneapi.mac.openmp,*" + ) + # Using execute_process to avoid direct errors + execute_process( + COMMAND cp -R ${packages} "${output_dir}/" + RESULT_VARIABLE copy_result + ) +endif() +execute_process( + COMMAND "${HDIUTIL}" detach "${mount_point}" + RESULT_VARIABLE unmount_result +) + +if(NOT mount_result STREQUAL "0") + message(FATAL_ERROR "Mounting ${dmg_path} failed: ${mount_result}") +elseif(NOT copy_result STREQUAL "0") + message(FATAL_ERROR "Coyping packages failed: ${copy_result}") +elseif(NOT unmount_result STREQUAL "0") + message(FATAL_ERROR "Unounting ${dmg_path} failed: ${unmount_result}") +endif() diff --git a/ports/intel-mkl/portfile.cmake b/ports/intel-mkl/portfile.cmake index a885e8dcbcda81..b32e5cf81db31a 100644 --- a/ports/intel-mkl/portfile.cmake +++ b/ports/intel-mkl/portfile.cmake @@ -1,40 +1,254 @@ -# Due to the complexity involved, this package doesn't install MKL. It instead verifies that MKL is installed. -# Other packages can depend on this package to declare a dependency on MKL. -# If this package is installed, we assume that MKL is properly installed. - -set(VCPKG_POLICY_EMPTY_PACKAGE enabled) - -set(MKL_REQUIRED_VERSION "20200000") - -set(ProgramFilesx86 "ProgramFiles(x86)") -set(INTEL_ROOT $ENV{${ProgramFilesx86}}/IntelSWTools/compilers_and_libraries/windows) -set(ONEMKL_ROOT $ENV{${ProgramFilesx86}}/Intel/oneAPI/mkl/latest) - -find_path(MKL_ROOT include/mkl.h - PATHS - $ENV{MKLROOT} - ${INTEL_ROOT}/mkl - $ENV{ONEAPI_ROOT}/mkl/latest - ${ONEMKL_ROOT} - DOC - "Folder contains MKL") - -if (MKL_ROOT STREQUAL "MKL_ROOT-NOTFOUND") - message(FATAL_ERROR "Could not find MKL. Before continuing, please download and install MKL (${MKL_REQUIRED_VERSION} or higher) from:" - "\n https://registrationcenter.intel.com/en/products/download/3178/\n" - "\nAlso ensure vcpkg has been rebuilt with the latest version (v0.0.104 or later)") -endif() - -# file(STRINGS ${MKL_ROOT}/include/mkl_version.h MKL_VERSION_DEFINITION REGEX "__INTEL_MKL((_MINOR)|(_UPDATE))?__") -# string(REGEX MATCHALL "([0-9]+)" MKL_VERSION ${MKL_VERSION_DEFINITION}) -# list(GET MKL_VERSION 0 MKL_VERSION_MAJOR) -# list(GET MKL_VERSION 1 MKL_VERSION_MINOR) -# list(GET MKL_VERSION 2 MKL_VERSION_UPDATE) - -file(STRINGS ${MKL_ROOT}/include/mkl_version.h MKL_VERSION_DEFINITION REGEX "INTEL_MKL_VERSION") -string(REGEX MATCH "([0-9]+)" MKL_VERSION ${MKL_VERSION_DEFINITION}) - -if (MKL_VERSION LESS MKL_REQUIRED_VERSION) - message(FATAL_ERROR "MKL ${MKL_VERSION} is found but ${MKL_REQUIRED_VERSION} is required. Please download and install a more recent version of MKL from:" - "\n https://registrationcenter.intel.com/en/products/download/3178/\n") -endif() +# This package installs Intel MKL on Linux, macOS and Windows for x64. +# Configuration: +# - ilp64 +# - dynamic CRT: intel_thread, static CRT: sequential + +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) + +# https://registrationcenter-download.intel.com/akdlm/IRC_NAS/19150/w_onemkl_p_2023.0.0.25930_offline.exe # windows +# https://registrationcenter-download.intel.com/akdlm/IRC_NAS/19116/m_onemkl_p_2023.0.0.25376_offline.dmg # macos +# https://registrationcenter-download.intel.com/akdlm/irc_nas/19138/l_onemkl_p_2023.0.0.25398_offline.sh # linux +set(sha "") +if(NOT VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + # nop +elseif(VCPKG_TARGET_IS_WINDOWS) + set(filename w_onemkl_p_2023.0.0.25930_offline.exe) + set(magic_number 19150) + set(sha a3eb6b75241a2eccb73ed73035ff111172c55d3fa51f545c7542277a155df84ff72fc826621711153e683f84058e64cb549c030968f9f964531db76ca8a3ed46) + set(package_infix "win") +elseif(VCPKG_TARGET_IS_OSX) + set(filename m_onemkl_p_2023.0.0.25376_offline.dmg) + set(magic_number 19116) + set(sha 7b9b8c004054603e6830fb9b9c049d5a4cfc0990c224cb182ac5262ab9f1863775a67491413040e3349c590e2cca58edcfc704db9f3b9f9faa8b5b09022cd2af) + set(package_infix "mac") + set(package_libdir "lib") + set(compiler_libdir "mac/compiler/lib") +elseif(VCPKG_TARGET_IS_LINUX) + set(filename l_onemkl_p_2023.0.0.25398_offline.sh) + set(magic_number 19138) + set(sha b5f2f464675f0fd969dde2faf2e622b834eb1cc406c4a867148116f6c24ba5c709d98b678840f4a89a1778e12cde0ff70ce2ef59faeef3d3f3aa1d0329c71af1) + set(package_infix "lin") + set(package_libdir "lib/intel64") + set(compiler_libdir "linux/compiler/lib/intel64_lin") +endif() + +if(NOT sha) + message(WARNING "${PORT} is empty for ${TARGET_TRIPLET}.") + return() +endif() + +vcpkg_download_distfile(installer_path + URLS "https://registrationcenter-download.intel.com/akdlm/IRC_NAS/${magic_number}/${filename}" + FILENAME "${filename}" + SHA512 "${sha}" +) + +# Note: intel_thread and lp64 are the defaults. +set(interface "ilp64") # or ilp64; ilp == 64 bit int api +#https://www.intel.com/content/www/us/en/develop/documentation/onemkl-linux-developer-guide/top/linking-your-application-with-onemkl/linking-in-detail/linking-with-interface-libraries/using-the-ilp64-interface-vs-lp64-interface.html +if(VCPKG_CRT_LINKAGE STREQUAL "dynamic") + set(threading "intel_thread") #sequential or intel_thread or tbb_thread or pgi_thread +else() + set(threading "sequential") +endif() +if(threading STREQUAL "intel_thread") + set(short_thread "iomp") +else() + string(SUBSTRING "${threading}" "0" "3" short_thread) +endif() +set(main_pc_file "mkl-${VCPKG_LIBRARY_LINKAGE}-${interface}-${short_thread}.pc") + +# First extraction level: packages (from offline installer) +set(extract_0_dir "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-extract") +file(REMOVE_RECURSE "${extract_0_dir}") +file(MAKE_DIRECTORY "${extract_0_dir}") + +# Second extraction level: actual files (from packages) +set(extract_1_dir "${CURRENT_PACKAGES_DIR}/intel-extract") +file(REMOVE_RECURSE "${extract_1_dir}") +file(MAKE_DIRECTORY "${extract_1_dir}") + +file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/lib/pkgconfig") + +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_find_acquire_program(7Z) + message(STATUS "Extracting offline installer") + vcpkg_execute_required_process( + COMMAND "${7Z}" x "${installer_path}" "-o${extract_0_dir}" "-y" "-bso0" "-bsp0" + WORKING_DIRECTORY "${extract_0_dir}" + LOGNAME "extract-${TARGET_TRIPLET}-0" + ) + + set(packages + "intel.oneapi.win.mkl.devel,v=2023.0.0-25930/oneapi-mkl-devel-for-installer_p_2023.0.0.25930.msi" # has the required libs. + "intel.oneapi.win.mkl.runtime,v=2023.0.0-25930/oneapi-mkl-for-installer_p_2023.0.0.25930.msi" # has the required DLLs + #"intel.oneapi.win.compilers-common-runtime,v=2023.0.0-25922" # SVML + "intel.oneapi.win.openmp,v=2023.0.0-25922/oneapi-comp-openmp-for-installer_p_2023.0.0.25922.msi" # OpenMP + #"intel.oneapi.win.tbb.runtime,v=2021.8.0-25874" #TBB + ) + + foreach(pack IN LISTS packages) + set(package_path "${extract_0_dir}/packages/${pack}") + cmake_path(GET pack STEM LAST_ONLY packstem) + cmake_path(NATIVE_PATH package_path package_path_native) + vcpkg_execute_required_process( + COMMAND "${LESSMSI}" x "${package_path_native}" + WORKING_DIRECTORY "${extract_1_dir}" + LOGNAME "extract-${TARGET_TRIPLET}-${packstem}" + ) + file(COPY "${extract_1_dir}/${packstem}/SourceDir/" DESTINATION "${extract_1_dir}") + file(REMOVE_RECURSE "${extract_1_dir}/${packstem}") + endforeach() + + set(mkl_dir "${extract_1_dir}/Intel/Compiler/12.0/mkl/2023.0.0") + file(COPY "${mkl_dir}/include/" DESTINATION "${CURRENT_PACKAGES_DIR}/include") + # see https://www.intel.com/content/www/us/en/developer/tools/oneapi/onemkl-link-line-advisor.html for linking + if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + set(files "mkl_core_dll.lib" "mkl_${threading}_dll.lib" "mkl_intel_${interface}_dll.lib" "mkl_blas95_${interface}.lib" "mkl_lapack95_${interface}.lib") # "mkl_rt.lib" single dynamic lib with dynamic dispatch + file(COPY "${mkl_dir}/redist/intel64/" DESTINATION "${CURRENT_PACKAGES_DIR}/bin") # Could probably be reduced instead of copying all + if(NOT VCPKG_BUILD_TYPE) + file(COPY "${mkl_dir}/redist/intel64/" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin") + endif() + else() + set(files "mkl_core.lib" "mkl_${threading}.lib" "mkl_intel_${interface}.lib" "mkl_blas95_${interface}.lib" "mkl_lapack95_${interface}.lib") + endif() + foreach(file IN LISTS files) + file(COPY "${mkl_dir}/lib/intel64/${file}" DESTINATION "${CURRENT_PACKAGES_DIR}/lib/intel64") # instead of manual-link keep normal structure + if(NOT VCPKG_BUILD_TYPE) + file(COPY "${mkl_dir}/lib/intel64/${file}" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib/intel64") + endif() + endforeach() + file(COPY_FILE "${mkl_dir}/lib/pkgconfig/${main_pc_file}" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/${main_pc_file}") + + set(compiler_dir "${extract_1_dir}/Intel/Compiler/12.0/compiler/2023.0.0") + if(threading STREQUAL "intel_thread") + file(COPY "${compiler_dir}/windows/redist/intel64_win/compiler/" DESTINATION "${CURRENT_PACKAGES_DIR}/bin") + file(COPY "${compiler_dir}/windows/compiler/lib/intel64_win/" 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" "/windows/compiler/lib/intel64_win/" "/lib/intel64/") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libiomp5.pc" "-I \${includedir}" "-I\"\${includedir}\"") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/${main_pc_file}" "openmp" "libiomp5") + if(NOT VCPKG_BUILD_TYPE) + file(COPY "${compiler_dir}/windows/redist/intel64_win/compiler/" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin") + file(COPY "${compiler_dir}/windows/compiler/lib/intel64_win/" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib/intel64") + endif() + endif() +else() + message(STATUS "Warning: This port is still a work on progress. + E.g. it is not correctly filtering the libraries in accordance with + VCPKG_LIBRARY_LINKAGE. It is using the default threading (Intel OpenMP) + which is known to segfault when used together with GNU OpenMP. +") + + message(STATUS "Extracting offline installer") + if(VCPKG_TARGET_IS_LINUX) + vcpkg_execute_required_process( + COMMAND "bash" "--verbose" "--noprofile" "${installer_path}" "--extract-only" "--extract-folder" "${extract_0_dir}" + WORKING_DIRECTORY "${extract_0_dir}" + LOGNAME "extract-${TARGET_TRIPLET}-0" + ) + file(RENAME "${extract_0_dir}/l_onemkl_p_2023.0.0.25398_offline/packages" "${extract_0_dir}/packages") + elseif(VCPKG_TARGET_IS_OSX) + find_program(HDIUTIL NAMES hdiutil REQUIRED) + file(MAKE_DIRECTORY "${extract_0_dir}/packages") + message(STATUS "... Don't interrupt.") + vcpkg_execute_required_process( + COMMAND "${CMAKE_COMMAND}" "-Ddmg_path=${installer_path}" + "-Doutput_dir=${extract_0_dir}/packages" + "-DHDIUTIL=${HDIUTIL}" + -P "${CMAKE_CURRENT_LIST_DIR}/copy-from-dmg.cmake" + WORKING_DIRECTORY "${extract_0_dir}" + LOGNAME "extract-${TARGET_TRIPLET}-0" + ) + message(STATUS "... Done.") + endif() + + file(GLOB package_path "${extract_0_dir}/packages/intel.oneapi.${package_infix}.mkl.runtime,v=2023.0.0-*") + cmake_path(GET package_path STEM LAST_ONLY packstem) + message(STATUS "Extracting ${packstem}") + vcpkg_execute_required_process( + COMMAND "${CMAKE_COMMAND}" "-E" "tar" "-xf" "${package_path}/cupPayload.cup" + "_installdir/mkl/2023.0.0/lib" + "_installdir/mkl/2023.0.0/licensing" + WORKING_DIRECTORY "${extract_1_dir}" + LOGNAME "extract-${TARGET_TRIPLET}-${packstem}" + ) + file(GLOB package_path "${extract_0_dir}/packages/intel.oneapi.${package_infix}.mkl.devel,v=2023.0.0-*") + cmake_path(GET package_path STEM LAST_ONLY packstem) + message(STATUS "Extracting ${packstem}") + vcpkg_execute_required_process( + COMMAND "${CMAKE_COMMAND}" "-E" "tar" "-xf" "${package_path}/cupPayload.cup" + "_installdir/mkl/2023.0.0/bin" + "_installdir/mkl/2023.0.0/include" + "_installdir/mkl/2023.0.0/lib" + WORKING_DIRECTORY "${extract_1_dir}" + LOGNAME "extract-${TARGET_TRIPLET}-${packstem}" + ) + file(GLOB package_path "${extract_0_dir}/packages/intel.oneapi.${package_infix}.openmp,v=2023.0.0-*") + cmake_path(GET package_path STEM LAST_ONLY packstem) + message(STATUS "Extracting ${packstem}") + vcpkg_execute_required_process( + COMMAND "${CMAKE_COMMAND}" "-E" "tar" "-xf" "${package_path}/cupPayload.cup" + "_installdir/compiler/2023.0.0" + WORKING_DIRECTORY "${extract_1_dir}" + LOGNAME "extract-${TARGET_TRIPLET}-${packstem}" + ) + + set(mkl_dir "${extract_1_dir}/_installdir/mkl/2023.0.0") + file(COPY "${mkl_dir}/include/" DESTINATION "${CURRENT_PACKAGES_DIR}/include") + file(COPY "${mkl_dir}/${package_libdir}/" DESTINATION "${CURRENT_PACKAGES_DIR}/lib/intel64") + if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + set(to_remove_suffix .a) + elseif(VCPKG_TARGET_IS_OSX) + set(to_remove_suffix .dylib) + else() + set(to_remove_suffix .so) + endif() + file(GLOB_RECURSE files_to_remove + "${CURRENT_PACKAGES_DIR}/lib/intel64/*${to_remove_suffix}" + "${CURRENT_PACKAGES_DIR}/lib/intel64/*${to_remove_suffix}.?" + ) + 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" 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/" IGNORE_UNCHANGED) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/${main_pc_file}" "openmp" "libiomp5") + endif() +endif() + +file(COPY_FILE "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/${main_pc_file}" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/mkl.pc") +if(NOT VCPKG_BUILD_TYPE) + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig") + file(GLOB pc_files RELATIVE "${CURRENT_PACKAGES_DIR}/lib/pkgconfig" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/*.pc") + foreach(file IN LISTS pc_files) + file(COPY_FILE "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/${file}" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/${file}") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/${file}" "/include" "/../include") + if(NOT VCPKG_TARGET_IS_WINDOWS) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/${file}" "/lib/intel64" "/../lib/intel64") + endif() + endforeach() +endif() + +file(COPY "${mkl_dir}/lib/cmake/" DESTINATION "${CURRENT_PACKAGES_DIR}/share/") +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/mkl/MKLConfig.cmake" "MKL_CMAKE_PATH}/../../../" "MKL_CMAKE_PATH}/../../") +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/mkl/MKLConfig.cmake" "redist/\${MKL_ARCH}" "bin") +#TODO: Hardcode settings from portfile in config.cmake +#TODO: Give lapack/blas information about the correct BLA_VENDOR depending on settings. + +file(INSTALL "${mkl_dir}/licensing" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +file(GLOB package_path "${extract_0_dir}/packages/intel.oneapi.${package_infix}.mkl.product,v=2023.0.0-*") +vcpkg_install_copyright(FILE_LIST "${package_path}/licenses/license.htm") + +file(REMOVE_RECURSE + "${extract_0_dir}" + "${extract_1_dir}" + "${CURRENT_PACKAGES_DIR}/lib/intel64/cmake" + "${CURRENT_PACKAGES_DIR}/lib/intel64/pkgconfig" +) + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/intel-mkl/usage b/ports/intel-mkl/usage new file mode 100644 index 00000000000000..b8ee798f9b75a7 --- /dev/null +++ b/ports/intel-mkl/usage @@ -0,0 +1,4 @@ +intel-mkl provides CMake targets: + + find_package(MKL CONFIG REQUIRED) + target_link_libraries(main PRIVATE MKL::MKL) diff --git a/ports/intel-mkl/vcpkg.json b/ports/intel-mkl/vcpkg.json index b767ee113559e8..391acf9481629a 100644 --- a/ports/intel-mkl/vcpkg.json +++ b/ports/intel-mkl/vcpkg.json @@ -1,6 +1,16 @@ { "name": "intel-mkl", - "version": "2020.0.0", - "port-version": 2, - "description": "Intel® Math Kernel Library (Intel® MKL) accelerates math processing routines, increases application performance, and reduces development time on Intel® processors. Due to the complexity involved, this package doesn't install MKL. It instead verifies that MKL is installed. Please download and install MKL from https://registrationcenter.intel.com/en/products/download/3178/ manually before using it in vcpkg." + "version": "2023.0.0", + "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, + "supports": "(windows | linux | osx) & x64", + "dependencies": [ + { + "name": "vcpkg-tool-lessmsi", + "host": true, + "platform": "windows" + } + ] } diff --git a/ports/intelrdfpmathlib/missing-includes.patch b/ports/intelrdfpmathlib/missing-includes.patch new file mode 100644 index 00000000000000..540be9b946e90d --- /dev/null +++ b/ports/intelrdfpmathlib/missing-includes.patch @@ -0,0 +1,24 @@ +diff --git a/LIBRARY/src/bid_internal.h b/LIBRARY/src/bid_internal.h +index cd08ea7..ea5d0a0 100755 +--- a/LIBRARY/src/bid_internal.h ++++ b/LIBRARY/src/bid_internal.h +@@ -37,6 +37,7 @@ + + #include "bid_conf.h" + #include "bid_functions.h" ++#include + + #define __BID_INLINE__ static __inline + +diff --git a/LIBRARY/float128/dpml_exception.c b/LIBRARY/float128/dpml_exception.c +index d061a4c..c647732 100755 +--- a/LIBRARY/float128/dpml_exception.c ++++ b/LIBRARY/float128/dpml_exception.c +@@ -132,6 +132,7 @@ + !defined(wnt) + + # include ++#include + # define DPML_SIGNAL(p) raise(SIGFPE) + + #else diff --git a/ports/intelrdfpmathlib/portfile.cmake b/ports/intelrdfpmathlib/portfile.cmake index 9aad26f84869e3..8f05012d542f77 100644 --- a/ports/intelrdfpmathlib/portfile.cmake +++ b/ports/intelrdfpmathlib/portfile.cmake @@ -6,23 +6,23 @@ vcpkg_download_distfile(ARCHIVE SHA512 4d445855f41b066b784f0c6b4e52f854df4129fa9d43569b1e1518f002b860f69796459c78de46a8ea24fb6e7aefe7f8bc1f253e78971a5ef202dab2a7b1b75a ) -vcpkg_extract_source_archive_ex( +vcpkg_extract_source_archive( + SOURCE_PATH ARCHIVE ${ARCHIVE} - OUT_SOURCE_PATH SOURCE_PATH + PATCHES missing-includes.patch ) set(LIB_SOURCE_PATH "${SOURCE_PATH}/LIBRARY") -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION "${LIB_SOURCE_PATH}") +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${LIB_SOURCE_PATH}") -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH "${LIB_SOURCE_PATH}" - PREFER_NINJA OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON ) -vcpkg_install_cmake() +vcpkg_cmake_install() # Handle copyright -file(INSTALL ${SOURCE_PATH}/eula.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/IntelRDFPMathLib RENAME copyright) +file(INSTALL "${SOURCE_PATH}/eula.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/intelrdfpmathlib/vcpkg.json b/ports/intelrdfpmathlib/vcpkg.json index 661c295ad92e56..f16c7e5a2ca132 100644 --- a/ports/intelrdfpmathlib/vcpkg.json +++ b/ports/intelrdfpmathlib/vcpkg.json @@ -1,6 +1,13 @@ { "name": "intelrdfpmathlib", "version-string": "20U2", - "port-version": 2, - "description": "Intel(R) Decimal Floating-Point Math Library" + "port-version": 6, + "description": "Intel(R) Decimal Floating-Point Math Library", + "supports": "!(arm & windows)", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/io2d/portfile.cmake b/ports/io2d/portfile.cmake index d47fc97c854164..16edd25ede580c 100644 --- a/ports/io2d/portfile.cmake +++ b/ports/io2d/portfile.cmake @@ -14,9 +14,8 @@ if (VCPKG_TARGET_IS_OSX) set(IO2D_DEFAULT_OPTION "-DIO2D_DEFAULT=COREGRAPHICS_MAC") endif() -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DIO2D_WITHOUT_SAMPLES=1 -DIO2D_WITHOUT_TESTS=1 @@ -24,15 +23,15 @@ vcpkg_configure_cmake( ${IO2D_DEFAULT_OPTION} ) -vcpkg_install_cmake() +vcpkg_cmake_install() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/io2d) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/io2d) if (NOT VCPKG_TARGET_IS_OSX) - file(RENAME ${CURRENT_PACKAGES_DIR}/share/io2d/io2dConfig.cmake ${CURRENT_PACKAGES_DIR}/share/io2d/io2dTargets.cmake) - file(WRITE ${CURRENT_PACKAGES_DIR}/share/io2d/io2dConfig.cmake " + file(RENAME "${CURRENT_PACKAGES_DIR}/share/io2d/io2dConfig.cmake" "${CURRENT_PACKAGES_DIR}/share/io2d/io2dTargets.cmake") + file(WRITE "${CURRENT_PACKAGES_DIR}/share/io2d/io2dConfig.cmake" " include(CMakeFindDependencyMacro) find_dependency(unofficial-cairo CONFIG) find_dependency(unofficial-graphicsmagick CONFIG) @@ -41,4 +40,4 @@ if (NOT VCPKG_TARGET_IS_OSX) ") endif() -file(INSTALL ${SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) \ No newline at end of file +file(INSTALL "${SOURCE_PATH}/LICENSE.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) \ No newline at end of file diff --git a/ports/io2d/vcpkg.json b/ports/io2d/vcpkg.json index 876616dd9460d6..dc654153725e5b 100644 --- a/ports/io2d/vcpkg.json +++ b/ports/io2d/vcpkg.json @@ -1,13 +1,9 @@ { "name": "io2d", "version-date": "2020-09-14", - "port-version": 2, + "port-version": 5, "description": "a lightweight, cross platform drawing library", "dependencies": [ - { - "name": "cairo", - "platform": "!osx" - }, { "name": "cairo", "features": [ @@ -15,9 +11,21 @@ ], "platform": "linux" }, + { + "name": "cairo", + "platform": "!osx" + }, { "name": "graphicsmagick", "platform": "!osx" + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true } ] } 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/irrlicht/fix-osx-compilation.patch b/ports/irrlicht/fix-osx-compilation.patch index 6f623db265e214..a1daf0b5c10c63 100644 --- a/ports/irrlicht/fix-osx-compilation.patch +++ b/ports/irrlicht/fix-osx-compilation.patch @@ -1,28 +1,13 @@ diff --git a/source/Irrlicht/CImageLoaderJPG.cpp b/source/Irrlicht/CImageLoaderJPG.cpp -index 66144326c..4ea224c24 100644 +index 404bd53..71684d8 100644 --- a/source/Irrlicht/CImageLoaderJPG.cpp +++ b/source/Irrlicht/CImageLoaderJPG.cpp @@ -68,7 +68,7 @@ void CImageLoaderJPG::init_source (j_decompress_ptr cinfo) boolean CImageLoaderJPG::fill_input_buffer (j_decompress_ptr cinfo) { - // DO NOTHING -- return 1; -+ return TRUE; + // DO NOTHING +- return 1; ++ return TRUE; } - - -diff --git a/source/Irrlicht/MacOSX/CIrrDeviceMacOSX.mm b/source/Irrlicht/MacOSX/CIrrDeviceMacOSX.mm -index 53029eb45..e75b707e1 100644 ---- a/source/Irrlicht/MacOSX/CIrrDeviceMacOSX.mm -+++ b/source/Irrlicht/MacOSX/CIrrDeviceMacOSX.mm -@@ -495,8 +495,8 @@ long GetDictionaryLong(CFDictionaryRef theDict, const void* key) - if(!CreationParams.WindowId) //load menus if standalone application - { - [[NSAutoreleasePool alloc] init]; -- [NSApplication sharedApplication]; -- [NSApp setDelegate:(id)[[[AppDelegate alloc] initWithDevice:this] autorelease]]; -+ [[NSApplication sharedApplication] activateIgnoringOtherApps]; -+ [NSApp setDelegate:(id)[[[AppDelegate alloc] initWithDevice:this] autorelease]]; - [NSBundle loadNibNamed:@"MainMenu" owner:[NSApp delegate]]; - [NSApp finishLaunching]; - } + + diff --git a/ports/irrlicht/fix-sysctl.patch b/ports/irrlicht/fix-sysctl.patch deleted file mode 100644 index 98c70273ecbf48..00000000000000 --- a/ports/irrlicht/fix-sysctl.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- a/source/Irrlicht/COSOperator.cpp -+++ b/source/Irrlicht/COSOperator.cpp -@@ -11,8 +11,8 @@ - #else - #include - #include --#ifndef _IRR_SOLARIS_PLATFORM_ - #include -+#ifdef _IRR_OSX_PLATFORM_ - #include - #endif - #endif diff --git a/ports/irrlicht/portfile.cmake b/ports/irrlicht/portfile.cmake index 9641f8fddc837d..4bea3839d2b14b 100644 --- a/ports/irrlicht/portfile.cmake +++ b/ports/irrlicht/portfile.cmake @@ -1,18 +1,24 @@ -vcpkg_fail_port_install(ON_ARCH "arm" ON_TARGET "uwp") - vcpkg_from_sourceforge( OUT_SOURCE_PATH SOURCE_PATH REPO irrlicht/Irrlicht%20SDK - REF 1.8/1.8.4 - FILENAME "irrlicht-1.8.4.zip" - SHA512 de69ddd2c6bc80a1b27b9a620e3697b1baa552f24c7d624076d471f3aecd9b15f71dce3b640811e6ece20f49b57688d428e3503936a7926b3e3b0cc696af98d1 + REF 1.8/${VERSION} + FILENAME "irrlicht-${VERSION}.zip" + SHA512 d11c7a056bfb8c9737ed583c5bc5794223bc59fb4620411b63bc4d1eedc41db2ed1cab5cb7a37fee42a7f38c0e0645f5fc53fd329fff0f2aa78e0df6804c47c9 PATCHES fix-encoding.patch - fix-sysctl.patch fix-osx-compilation.patch ) -configure_file(${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt ${SOURCE_PATH}/CMakeLists.txt COPYONLY) +if(VCPKG_TARGET_IS_LINUX) + message( +"Irrlicht currently requires the following libraries from the system package manager: + libgl1-mesa + xf86vmode + +These can be installed on Ubuntu systems via sudo apt-get install libgl1-mesa-dev libxxf86vm-dev") +endif() + +configure_file("${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" "${SOURCE_PATH}/CMakeLists.txt" COPYONLY) vcpkg_check_features( OUT_FEATURE_OPTIONS FEATURE_OPTIONS @@ -25,7 +31,7 @@ vcpkg_check_features( string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" SHARED_LIB) vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DIRR_SHARED_LIB=${SHARED_LIB} ${FEATURE_OPTIONS} @@ -36,15 +42,15 @@ vcpkg_cmake_install() vcpkg_cmake_config_fixup() if("tools" IN_LIST FEATURES) - vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/irrlicht/) + vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/irrlicht/") endif() -file(WRITE ${CURRENT_PACKAGES_DIR}/share/irrlicht/irrlicht-config.cmake "include(\${CMAKE_CURRENT_LIST_DIR}/irrlicht-targets.cmake)") +file(WRITE "${CURRENT_PACKAGES_DIR}/share/irrlicht/irrlicht-config.cmake" "include(\${CMAKE_CURRENT_LIST_DIR}/irrlicht-targets.cmake)") vcpkg_copy_pdbs() if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/irrlicht) + file(COPY "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/irrlicht") endif() -file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${CMAKE_CURRENT_LIST_DIR}/LICENSE.txt") diff --git a/ports/irrlicht/vcpkg.json b/ports/irrlicht/vcpkg.json index 2f348b948e8240..93bab6e65bec92 100644 --- a/ports/irrlicht/vcpkg.json +++ b/ports/irrlicht/vcpkg.json @@ -1,7 +1,6 @@ { "name": "irrlicht", - "version-string": "1.8.4", - "port-version": 12, + "version": "1.8.5", "description": "The Irrlicht Engine is an open source realtime 3D engine written in C++. It is cross-platform, using D3D, OpenGL and its own software renderers.", "homepage": "http://irrlicht.sourceforge.net", "supports": "!(arm | uwp)", diff --git a/ports/irrxml/vcpkg.json b/ports/irrxml/vcpkg.json index c84eba7b4dc34f..1f04d21b36c1b5 100644 --- a/ports/irrxml/vcpkg.json +++ b/ports/irrxml/vcpkg.json @@ -1,6 +1,7 @@ { "name": "irrxml", - "version-string": "0", + "version": "0", + "port-version": 1, "description": "Alias port for irrlicht", "dependencies": [ "irrlicht" diff --git a/ports/isal/CMakeLists.txt b/ports/isal/CMakeLists.txt deleted file mode 100644 index b479e1522f81b4..00000000000000 --- a/ports/isal/CMakeLists.txt +++ /dev/null @@ -1,51 +0,0 @@ -CMAKE_MINIMUM_REQUIRED(VERSION 3.9) -PROJECT(isal C) - -IF (SOURCE_PATH) - SET(CMAKE_SOURCE_DIR ${SOURCE_PATH}) -ENDIF () - -INCLUDE(ProcessorCount) -PROCESSORCOUNT(PROCS) - -FIND_PROGRAM(NASM nasm) -IF (NOT NASM) - MESSAGE(FATAL_ERROR "NASM not found") -ENDIF () - -IF (EXEC_ENV STREQUAL "Windows") - FIND_PROGRAM(MAKE nmake) - IF (NOT MAKE) - MESSAGE(FATAL_ERROR "nmake not found") - ENDIF () -ELSEIF(EXEC_ENV STREQUAL "Linux") - FIND_PROGRAM(MAKE make) - IF (NOT MAKE) - MESSAGE(FATAL_ERROR "MAKE not found") - ENDIF () -ENDIF() - -SET(MAKE_FLAGS "-f") - -IF (EXEC_ENV STREQUAL Windows) - STRING(APPEND MAKE_FLAGS " Makefile.nmake /E CC=cl AS=nasm") -ELSEIF (EXEC_ENV STREQUAL Linux) - STRING(APPEND MAKE_FLAGS "Makefile.unx") -ENDIF () - -ADD_CUSTOM_TARGET(isal ALL - COMMAND ${MAKE} ${MAKE_FLAGS} - WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/ - ) - -SET(LIB_PATH ${CMAKE_SOURCE_DIR}/bin/) -IF (LIBRARY_LINKAGE STREQUAL "dynamic") - STRING(APPEND LIB_PATH isal.so) -ELSEIF (LIBRARY_LINKAGE STREQUAL "static") - STRING(APPEND LIB_PATH isa-l.a) -ELSE () - MESSAGE(FATAL_ERROR "Unknown linkage type ${LIBRARY_LINKAGE}") -ENDIF () -INSTALL(FILES ${LIB_PATH} - DESTINATION ${CMAKE_SOURCE_DIR}/${CMAKE_BUILD_TYPE}/lib/) -INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/include DESTINATION ${CMAKE_SOURCE_DIR}/${CMAKE_BUILD_TYPE}/) \ No newline at end of file diff --git a/ports/isal/isalConfig.cmake b/ports/isal/isalConfig.cmake index 3348ec434f6b7d..78b47f223d7d35 100644 --- a/ports/isal/isalConfig.cmake +++ b/ports/isal/isalConfig.cmake @@ -1,17 +1,15 @@ +message(WARNING "'find_package(isal CONFIG)' is deprecated. Please use 'find_package(unofficial-isal CONFIG)' instead.") -FUNCTION(SET_LIBRARY_TARGET NAMESPACE LIB_NAME DEBUG_LIB_FILE_NAME RELEASE_LIB_FILE_NAME INCLUDE_DIR) - ADD_LIBRARY(${NAMESPACE}::${LIB_NAME} STATIC IMPORTED) - SET_TARGET_PROPERTIES(${NAMESPACE}::${LIB_NAME} PROPERTIES - IMPORTED_CONFIGURATIONS "RELEASE;DEBUG" - IMPORTED_LOCATION_RELEASE "${RELEASE_LIB_FILE_NAME}" - IMPORTED_LOCATION_DEBUG "${DEBUG_LIB_FILE_NAME}" - INTERFACE_INCLUDE_DIRECTORIES "${INCLUDE_DIR}" - ) - SET(${NAMESPACE}_${LIB_NAME}_FOUND 1) -ENDFUNCTION() - -GET_FILENAME_COMPONENT(ROOT "${CMAKE_CURRENT_LIST_FILE}" PATH) -GET_FILENAME_COMPONENT(ROOT "${ROOT}" PATH) -GET_FILENAME_COMPONENT(ROOT "${ROOT}" PATH) - -SET_LIBRARY_TARGET("ISAL" "isal" "${ROOT}/debug/lib/isa-l.a" "${ROOT}/lib/isa-l.a" "${ROOT}/include/isal") +include(CMakeFindDependencyMacro) +find_dependency(unofficial-isal) +if(NOT TARGET unofficial::isal::isal) + set(isal_FOUND FALSE) +elseif(TARGET ISAL::isa-l OR TARGET ISAL::isal) + # done +elseif ("@VCPKG_LIBRARY_LINKAGE@" STREQUAL "static") + add_library(ISAL::isa-l INTERFACE IMPORTED) + set_target_properties(ISAL::isa-l PROPERTIES INTERFACE_LINK_LIBRARIES unofficial::isal::isal) +else() + add_library(ISAL::isal INTERFACE IMPORTED) + set_target_properties(ISAL::isal PROPERTIES INTERFACE_LINK_LIBRARIES unofficial::isal::isal) +endif() diff --git a/ports/isal/osx-asm-sysroot.patch b/ports/isal/osx-asm-sysroot.patch new file mode 100644 index 00000000000000..ece55e80cdac67 --- /dev/null +++ b/ports/isal/osx-asm-sysroot.patch @@ -0,0 +1,32 @@ +diff --git a/tools/nasm-filter.sh b/tools/nasm-filter.sh +index 5ec9ba3..fcc4971 100755 +--- a/tools/nasm-filter.sh ++++ b/tools/nasm-filter.sh +@@ -15,6 +15,11 @@ while [ -n "$*" ]; do + shift + shift + ;; ++ -isysroot ) ++ # Unsupported options with arg ++ shift ++ shift ++ ;; + --prefix* ) + # Supported options without arg + options="$options $1" +diff --git a/tools/yasm-filter.sh b/tools/yasm-filter.sh +index c33952a..b99bfc3 100755 +--- a/tools/yasm-filter.sh ++++ b/tools/yasm-filter.sh +@@ -10,6 +10,11 @@ while [ -n "$*" ]; do + shift + shift + ;; ++ -isysroot ) ++ # Unsupported options with arg ++ shift ++ shift ++ ;; + -I* | -i* | --prefix* ) + # Supported options without arg + options="$options $1" diff --git a/ports/isal/portfile.cmake b/ports/isal/portfile.cmake index 0703b724697ffe..9a9a1ef3470c07 100644 --- a/ports/isal/portfile.cmake +++ b/ports/isal/portfile.cmake @@ -1,46 +1,91 @@ -IF (NOT VCPKG_CMAKE_SYSTEM_NAME) - SET(EXEC_ENV "Windows") -ELSE () - SET(EXEC_ENV "${VCPKG_CMAKE_SYSTEM_NAME}") -ENDIF () - -IF (NOT EXEC_ENV STREQUAL "Linux") - MESSAGE(FATAL_ERROR "Intel(R) Intelligent Storage Acceleration Library currently only supports Linux platforms") - MESSAGE(STATUS "Well, it is not true, but I didnt manage to get it working on Windows") -ENDIF () - -IF (VCPKG_TARGET_ARCHITECTURE STREQUAL "x86" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") - MESSAGE(FATAL_ERROR "Intel(R) Intelligent Storage Acceleration Library currently only supports x64 architecture") -ELSEIF (NOT VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") - MESSAGE(FATAL_ERROR "Unsupported architecture: ${VCPKG_TARGET_ARCHITECTURE}") -ENDIF () - -VCPKG_FROM_GITHUB( - OUT_SOURCE_PATH SOURCE_PATH - REPO 01org/isa-l - REF v2.25.0 - SHA512 aa556c8ba26b4637493b3de50a23636668bcfd71249029c52fe6983d0bcf120d1b91f39aaa259cb58e59448d401366f3bfaaee24609db7e6a1cd3fdf1a953efe - HEAD_REF master +if(EXISTS "${CURRENT_INSTALLED_DIR}/share/spdk-isal/copyright") + message(FATAL_ERROR "'${PORT}' conflicts with 'spdk-isal'. Please remove spdk-isal:${TARGET_TRIPLET}, and try to install ${PORT}:${TARGET_TRIPLET} again.") +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO intel/isa-l + REF v2.30.0 + SHA512 d3ecfb7326097534b06a74b584100336509525ae7cadc6112d0c27e3d8704f3810e18f583d3cc33fa266bfec96db023607622b22ddbf17988ec4bf1bb3b3b9b2 + HEAD_REF master + PATCHES + osx-asm-sysroot.patch ) -VCPKG_FIND_ACQUIRE_PROGRAM(NASM) -GET_FILENAME_COMPONENT(NASM_PATH ${NASM} DIRECTORY) -SET(ENV{PATH} "$ENV{PATH};${NASM_PATH}") +if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + vcpkg_find_acquire_program(NASM) + get_filename_component(NASM_PATH "${NASM}" DIRECTORY) + vcpkg_add_to_path("${NASM_PATH}") +endif() + +if (VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + if (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + set(NMAKE_TARGET dll) + else() + set(NMAKE_TARGET static) + endif() -VCPKG_CONFIGURE_CMAKE( - SOURCE_PATH ${CMAKE_CURRENT_LIST_DIR} - PREFER_NINJA + vcpkg_build_nmake( + SOURCE_PATH "${SOURCE_PATH}" + PROJECT_NAME Makefile.nmake + TARGET ${NMAKE_TARGET} OPTIONS - -DSOURCE_PATH=${SOURCE_PATH} - -DEXEC_ENV:STRING=${EXEC_ENV} - -DLIBRARY_LINKAGE:STRING=${VCPKG_LIBRARY_LINKAGE} -) + CFLAGS_REL= + ) + + if (NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + set(NMAKE_BINARY_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") + if (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + file(INSTALL "${NMAKE_BINARY_DIR}/isa-l.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin") + file(INSTALL "${NMAKE_BINARY_DIR}/isa-l.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") + else() + file(INSTALL "${NMAKE_BINARY_DIR}/isa-l_static.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") + endif() + endif() + + if (NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + set(NMAKE_BINARY_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") + if (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + file(INSTALL "${NMAKE_BINARY_DIR}/isa-l.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/bin") + file(INSTALL "${NMAKE_BINARY_DIR}/isa-l.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/lib") + else() + file(INSTALL "${NMAKE_BINARY_DIR}/isa-l_static.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/lib") + endif() + endif() -VCPKG_INSTALL_CMAKE() + file(GLOB ISAL_HDRS "${SOURCE_PATH}/include/*") + file(INSTALL ${ISAL_HDRS} DESTINATION "${CURRENT_PACKAGES_DIR}/include/isal") + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/isa-l.def" DESTINATION "${CURRENT_PACKAGES_DIR}/include/isal") + +else() + if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + vcpkg_find_acquire_program(YASM) + get_filename_component(YASM_PATH "${NASM}" DIRECTORY) + vcpkg_add_to_path("${YASM_PATH}") + endif() + + vcpkg_list(SET options) + if(VCPKG_TARGET_IS_MINGW) + # There is only a .def file used by nmake, no declspec(...) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + # isal forces yasm for mingw, but stumbles over feature level detection + vcpkg_list(APPEND options AS=) + endif() + + vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${options} + # No rpl_malloc provided, and probably not depending on ‘malloc (0)’ returning a valid pointer + ac_cv_func_malloc_0_nonnull=yes + ) + vcpkg_install_make() + vcpkg_fixup_pkgconfig() + + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +endif() -FILE(INSTALL ${SOURCE_PATH}/Release/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/lib) -FILE(INSTALL ${SOURCE_PATH}/Debug/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) -FILE(INSTALL ${SOURCE_PATH}/Release/include/ DESTINATION ${CURRENT_PACKAGES_DIR}/include/${PORT}) -FILE(INSTALL ${CMAKE_CURRENT_LIST_DIR}/isalConfig.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) -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) +configure_file("${CMAKE_CURRENT_LIST_DIR}/unofficial-isal-config.cmake" "${CURRENT_PACKAGES_DIR}/share/unofficial-isal/unofficial-isal-config.cmake" @ONLY) +configure_file("${CMAKE_CURRENT_LIST_DIR}/isalConfig.cmake" "${CURRENT_PACKAGES_DIR}/share/${PORT}/isalConfig.cmake" @ONLY) # legacy +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/isal/unofficial-isal-config.cmake b/ports/isal/unofficial-isal-config.cmake new file mode 100644 index 00000000000000..6d38fe8215944c --- /dev/null +++ b/ports/isal/unofficial-isal-config.cmake @@ -0,0 +1,18 @@ +if(NOT TARGET unofficial::isal::isal) + add_library(unofficial::isal::isal UNKNOWN IMPORTED) + get_filename_component(z_vcpkg_isal_prefix "${CMAKE_CURRENT_LIST_FILE}" PATH) + get_filename_component(z_vcpkg_isal_prefix "${z_vcpkg_isal_prefix}" PATH) + get_filename_component(z_vcpkg_isal_prefix "${z_vcpkg_isal_prefix}" PATH) + find_library(Z_VCPKG_ISAL_LIBRARY_RELEASE NAMES isal isa-l_static isa-l PATHS "${z_vcpkg_isal_prefix}/lib" NO_DEFAULT_PATH REQUIRED) + set_target_properties(unofficial::isal::isal PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${z_vcpkg_isal_prefix}/include" + IMPORTED_CONFIGURATIONS RELEASE + IMPORTED_LOCATION_RELEASE "${Z_VCPKG_ISAL_LIBRARY_RELEASE}" + ) + if("@VCPKG_BUILD_TYPE@" STREQUAL "") + find_library(Z_VCPKG_ISAL_LIBRARY_DEBUG NAMES isal isa-l_static isa-l PATHS "${z_vcpkg_isal_prefix}/debug/lib" NO_DEFAULT_PATH REQUIRED) + set_property(TARGET unofficial::isal::isal APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG) + set_target_properties(unofficial::isal::isal PROPERTIES IMPORTED_LOCATION_DEBUG "${Z_VCPKG_ISAL_LIBRARY_DEBUG}") + endif() + unset(z_vcpkg_isal_prefix) +endif() diff --git a/ports/isal/usage b/ports/isal/usage index 23870b20f799e0..1bcbccccd22f53 100644 --- a/ports/isal/usage +++ b/ports/isal/usage @@ -1,5 +1,4 @@ -The package isal is compatible with built-in CMake targets: +The package isal provides CMake targets: - FIND_PACKAGE(isal REQUIRED) - TARGET_LINK_LIBRARIES(main PRIVATE ISAL::isa-l) for static linkage or - TARGET_LINK_LIBRARIES(main PRIVATE ISAL::isal) for dynamic linkage + find_package(unofficial-isal CONFIG REQUIRED) + target_link_libraries(main unofficial::isal::isal) diff --git a/ports/isal/vcpkg.json b/ports/isal/vcpkg.json index 7a18c00957096e..8052408e44ffd5 100644 --- a/ports/isal/vcpkg.json +++ b/ports/isal/vcpkg.json @@ -1,6 +1,8 @@ { "name": "isal", - "version-string": "2.25.0", - "port-version": 1, - "description": "Intel(R) Intelligent Storage Acceleration Library" + "version": "2.30.0", + "description": "Intel(R) Intelligent Storage Acceleration Library", + "homepage": "https://github.com/intel/isa-l", + "license": "BSD-3-Clause", + "supports": "!uwp & (x64 | (arm64 & linux))" } diff --git a/ports/ismrmrd/portfile.cmake b/ports/ismrmrd/portfile.cmake index 36615b2f8bb8a9..b231ec3c87178d 100644 --- a/ports/ismrmrd/portfile.cmake +++ b/ports/ismrmrd/portfile.cmake @@ -5,8 +5,8 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ismrmrd/ismrmrd - REF v1.5.0 - SHA512 96e24be75ecde8e56001d805ffaf4502d39c87e2c4fe01c84c90cb01d8bd49268c48440728de2ffb4c3efa75a029b3ffc0101b5841893685f82b4fafec9b1c73 + REF "v${VERSION}" + SHA512 4bf3fbab89436636c64e4917d09117134f4d1c6446bae7ef570e0af5850998f066d881f45c414f40e1d1be942f34fda6836a1b3e4cb5ec904f9ecf2a432964c1 HEAD_REF master PATCHES ${WIN32_INCLUDE_STDDEF_PATCH} @@ -16,7 +16,6 @@ vcpkg_from_github( vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DUSE_SYSTEM_PUGIXML=ON -DUSE_HDF5_DATASET_SUPPORT=ON -DVCPKG_TARGET_TRIPLET=ON -DBUILD_TESTS=OFF diff --git a/ports/ismrmrd/vcpkg.json b/ports/ismrmrd/vcpkg.json index e0f2a7c74a005d..6d44ee6957d71c 100644 --- a/ports/ismrmrd/vcpkg.json +++ b/ports/ismrmrd/vcpkg.json @@ -1,12 +1,11 @@ { "name": "ismrmrd", - "version": "1.5.0", - "port-version": 2, + "version": "1.14.1", "description": "ISMRM Raw Data Format", "homepage": "https://github.com/ismrmrd/ismrmrd", + "license": "BSD-3-Clause", + "supports": "!(x86 | arm | wasm32)", "dependencies": [ - "boost", - "fftw3", "hdf5", "pugixml", { 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/cufftw.patch b/ports/itk/cufftw.patch deleted file mode 100644 index 17365fb2f1f0e3..00000000000000 --- a/ports/itk/cufftw.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 0f47aae05217884193a39690c2beef566f4ed3b1 Mon Sep 17 00:00:00 2001 -From: Stephen Aylward -Date: Sat, 25 Apr 2020 20:15:21 -0400 -Subject: [PATCH] BUG: CUFFTW paths were not being set and unnecessary FFTW - files used - -FindFFTW sets the FFTW_INCLUDES variable. The FFTW_INCLUDE_PATH var is -specific to FFTW (not used by CUFFTW). - -FFTWGlobalConfiguration file is only needed if FFTW is being used, -not if CUFFT is being used. ---- - CMake/FindFFTW.cmake | 2 +- - Modules/Filtering/FFT/CMakeLists.txt | 2 +- - Modules/Filtering/FFT/src/CMakeLists.txt | 9 +++++---- - 3 files changed, 7 insertions(+), 6 deletions(-) - -diff --git a/CMake/FindFFTW.cmake b/CMake/FindFFTW.cmake -index 785edc2b628..e1935899cab 100644 ---- a/CMake/FindFFTW.cmake -+++ b/CMake/FindFFTW.cmake -@@ -62,7 +62,7 @@ if(ITK_USE_FFTWD OR ITK_USE_FFTWF) - find_path(FFTW_INCLUDE_PATH fftw3.h ${FFTW_INC_SEARCHPATH}) - endif() - -- if(FFTW_INCLUDE_PATH) -+ if(FFTW_INCLUDE_PATH OR CUFFTW_INCLUDE_PATH) - if(ITK_USE_CUFFTW) - file(TO_CMAKE_PATH "${CUFFTW_INCLUDE_PATH}" CUFFTW_INCLUDE_PATH) - set(FFTW_INCLUDE ${CUFFTW_INCLUDE_PATH}) -diff --git a/Modules/Filtering/FFT/CMakeLists.txt b/Modules/Filtering/FFT/CMakeLists.txt -index 7d9d1900b56..713530149cb 100644 ---- a/Modules/Filtering/FFT/CMakeLists.txt -+++ b/Modules/Filtering/FFT/CMakeLists.txt -@@ -5,5 +5,5 @@ if(ITK_USE_CUFFTW) - else() - set(ITKFFT_LIBRARIES ITKFFT) - endif() --set(ITKFFT_INCLUDE_DIRS ${FFTW_INCLUDE_PATH}) -+set(ITKFFT_INCLUDE_DIRS ${FFTW_INCLUDE}) - itk_module_impl() -diff --git a/Modules/Filtering/FFT/src/CMakeLists.txt b/Modules/Filtering/FFT/src/CMakeLists.txt -index 3f3137b8cd4..bde3ee906f8 100644 ---- a/Modules/Filtering/FFT/src/CMakeLists.txt -+++ b/Modules/Filtering/FFT/src/CMakeLists.txt -@@ -1,7 +1,8 @@ --set(ITKFFT_SRCS -- itkFFTWGlobalConfiguration.cxx -- itkComplexToComplexFFTImageFilter.cxx -- ) -+set(ITKFFT_SRCS itkComplexToComplexFFTImageFilter.cxx) -+ -+if( ITK_USE_FFTWF OR ITK_USE_FFTWD AND NOT ITK_USE_CUFFTW) -+ list(APPEND ITKFFT_SRCS itkFFTWGlobalConfiguration.cxx ) -+endif() - - itk_module_add_library(ITKFFT ${ITKFFT_SRCS}) - diff --git a/ports/itk/dont-build-gtest.patch b/ports/itk/dont-build-gtest.patch new file mode 100644 index 00000000000000..ecea7674d26a01 --- /dev/null +++ b/ports/itk/dont-build-gtest.patch @@ -0,0 +1,12 @@ +diff --git a/Modules/ThirdParty/GoogleTest/itk-module.cmake b/Modules/ThirdParty/GoogleTest/itk-module.cmake +index 5571748129..19ebb60885 100644 +--- a/Modules/ThirdParty/GoogleTest/itk-module.cmake ++++ b/Modules/ThirdParty/GoogleTest/itk-module.cmake +@@ -3,6 +3,7 @@ Google's C++ test framework.") + + itk_module(ITKGoogleTest + DEPENDS ++ EXCLUDE_FROM_DEFAULT + DESCRIPTION + "${DOCUMENTATION}" + ) diff --git a/ports/itk/double-conversion.patch b/ports/itk/double-conversion.patch index 636dd8c4c7d816..52ee7155e406ca 100644 --- a/ports/itk/double-conversion.patch +++ b/ports/itk/double-conversion.patch @@ -2,13 +2,19 @@ diff --git a/Modules/ThirdParty/DoubleConversion/CMakeLists.txt b/Modules/ThirdP index 16c611fd3..13978724c 100644 --- a/Modules/ThirdParty/DoubleConversion/CMakeLists.txt +++ b/Modules/ThirdParty/DoubleConversion/CMakeLists.txt -@@ -9,7 +9,10 @@ mark_as_advanced(ITK_USE_SYSTEM_DOUBLECONVERSION) +@@ -9,7 +9,16 @@ mark_as_advanced(ITK_USE_SYSTEM_DOUBLECONVERSION) if(ITK_USE_SYSTEM_DOUBLECONVERSION) - find_package(double-conversion REQUIRED) + find_package(double-conversion 3.1.6 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 LOCATION_RELEASE) -+ get_target_property(ITKDoubleConversion_LIBRARY_DEBUG double-conversion::double-conversion LOCATION_DEBUG) ++ 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() diff --git a/ports/itk/hdf5.patch b/ports/itk/hdf5.patch deleted file mode 100644 index 091594cda0e933..00000000000000 --- a/ports/itk/hdf5.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff --git a/Modules/ThirdParty/HDF5/CMakeLists.txt b/Modules/ThirdParty/HDF5/CMakeLists.txt -index a700ecdfb..0a683a52b 100644 ---- a/Modules/ThirdParty/HDF5/CMakeLists.txt -+++ b/Modules/ThirdParty/HDF5/CMakeLists.txt -@@ -25,11 +25,11 @@ endif() - ") - endif() - -- set(ITKHDF5_LIBRARIES ) -- if(BUILD_SHARED_LIBS) -- list(APPEND ITKHDF5_LIBRARIES ${HDF5_C_SHARED_LIBRARY} ${HDF5_CXX_SHARED_LIBRARY}) -+ set(ITKHDF5_LIBRARIES) -+ if(HDF5_BUILD_SHARED_LIBS) -+ list(APPEND ITKHDF5_LIBRARIES hdf5::hdf5_cpp-shared hdf5::hdf5-shared) - else() -- list(APPEND ITKHDF5_LIBRARIES ${HDF5_C_STATIC_LIBRARY} ${HDF5_CXX_STATIC_LIBRARY}) -+ list(APPEND ITKHDF5_LIBRARIES hdf5::hdf5_cpp-static hdf5::hdf5-static) - endif() - - set(ITKHDF5_INCLUDE_DIRS diff --git a/ports/itk/opencl.patch b/ports/itk/opencl.patch index f935d09d40dade..ccb31e16ad30c7 100644 --- a/ports/itk/opencl.patch +++ b/ports/itk/opencl.patch @@ -1,28 +1,8 @@ -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) +@@ -14,5 +14,5 @@ if(ITK_USE_GPU) write_gpu_kernels("${ITKGPUCommon_Kernels}" ITKGPUCommon_SRCS) itk_module_add_library(ITKGPUCommon ${ITKGPUCommon_SRCS}) @@ -36,7 +16,7 @@ index c1bfde450..a642d9230 100644 @@ -9,8 +9,8 @@ if(NOT ITK_SOURCE_DIR) endif() - if (ITK_USE_GPU) + 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}) @@ -48,7 +28,7 @@ diff --git a/Modules/Core/GPUFiniteDifference/src/CMakeLists.txt b/Modules/Core/ 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) +@@ -9,5 +9,5 @@ if(ITK_USE_GPU) write_gpu_kernels("${ITKGPUFiniteDifference_Kernels}" ITKGPUFiniteDifference_SRCS) itk_module_add_library(ITKGPUFiniteDifference ${ITKGPUFiniteDifference_SRCS}) @@ -61,7 +41,7 @@ index f36fd887d..310d983fa 100644 +++ b/Modules/Filtering/GPUAnisotropicSmoothing/CMakeLists.txt @@ -10,8 +10,8 @@ endif() - if (ITK_USE_GPU) + if(ITK_USE_GPU) set(ITKGPUAnisotropicSmoothing_LIBRARIES ITKGPUAnisotropicSmoothing) - set(ITKGPUAnisotropicSmoothing_SYSTEM_INCLUDE_DIRS ${OPENCL_INCLUDE_DIRS}) - set(ITKGPUAnisotropicSmoothing_SYSTEM_LIBRARY_DIRS ${OPENCL_LIBRARIES}) @@ -76,7 +56,7 @@ index 078905521..67fd7b832 100644 +++ b/Modules/Filtering/GPUImageFilterBase/CMakeLists.txt @@ -10,8 +10,8 @@ endif() - if (ITK_USE_GPU) + if(ITK_USE_GPU) set(ITKGPUImageFilterBase_LIBRARIES ITKGPUImageFilterBase) - set(ITKGPUImageFilterBase_SYSTEM_INCLUDE_DIRS ${OPENCL_INCLUDE_DIRS}) - set(ITKGPUImageFilterBase_SYSTEM_LIBRARY_DIRS ${OPENCL_LIBRARIES}) @@ -89,7 +69,7 @@ diff --git a/Modules/Filtering/GPUImageFilterBase/src/CMakeLists.txt b/Modules/F 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) +@@ -10,5 +10,5 @@ if(ITK_USE_GPU) write_gpu_kernels("${ITKGPUImageFilterBase_Kernels}" ITKGPUImageFilterBase_SRCS) itk_module_add_library(ITKGPUImageFilterBase ${ITKGPUImageFilterBase_SRCS}) @@ -102,7 +82,7 @@ index 9bac40921..2ed493d40 100644 +++ b/Modules/Filtering/GPUSmoothing/CMakeLists.txt @@ -10,8 +10,8 @@ endif() - if (ITK_USE_GPU) + if(ITK_USE_GPU) set(ITKGPUSmoothing_LIBRARIES ITKGPUSmoothing) - set(ITKGPUSmoothing_SYSTEM_INCLUDE_DIRS ${OPENCL_INCLUDE_DIRS}) - set(ITKGPUSmoothing_SYSTEM_LIBRARY_DIRS ${OPENCL_LIBRARIES}) @@ -115,7 +95,7 @@ diff --git a/Modules/Filtering/GPUSmoothing/src/CMakeLists.txt b/Modules/Filteri 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) +@@ -9,5 +9,5 @@ if(ITK_USE_GPU) write_gpu_kernels("${ITKGPUSmoothing_Kernels}" ITKGPUSmoothing_SRCS) itk_module_add_library(ITKGPUSmoothing ${ITKGPUSmoothing_SRCS}) @@ -128,7 +108,7 @@ index 4390785f5..61786b7a8 100644 +++ b/Modules/Filtering/GPUThresholding/CMakeLists.txt @@ -2,8 +2,8 @@ project(ITKGPUThresholding) - if (ITK_USE_GPU) + if(ITK_USE_GPU) set(ITKGPUThresholding_LIBRARIES ITKGPUThresholding) - set(ITKGPUThresholding_SYSTEM_INCLUDE_DIRS ${OPENCL_INCLUDE_DIRS}) - set(ITKGPUThresholding_SYSTEM_LIBRARY_DIRS ${OPENCL_LIBRARIES}) @@ -141,7 +121,7 @@ diff --git a/Modules/Filtering/GPUThresholding/src/CMakeLists.txt b/Modules/Filt 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) +@@ -9,5 +9,5 @@ if(ITK_USE_GPU) write_gpu_kernels("${ITKGPUThresholding_Kernels}" ITKGPUThresholding_SRCS) itk_module_add_library(ITKGPUThresholding ${ITKGPUThresholding_SRCS}) @@ -154,7 +134,7 @@ index c8d70a423..097c974c5 100644 +++ b/Modules/Registration/GPUPDEDeformable/CMakeLists.txt @@ -2,8 +2,8 @@ project(ITKGPUPDEDeformableRegistration) - if (ITK_USE_GPU) + if(ITK_USE_GPU) set(ITKGPUPDEDeformableRegistration_LIBRARIES ITKGPUPDEDeformableRegistration) - set(ITKGPUPDEDeformableRegistration_SYSTEM_INCLUDE_DIRS ${OPENCL_INCLUDE_DIRS}) - set(ITKGPUPDEDeformableRegistration_SYSTEM_LIBRARY_DIRS ${OPENCL_LIBRARIES}) @@ -167,7 +147,7 @@ diff --git a/Modules/Registration/GPUPDEDeformable/src/CMakeLists.txt b/Modules/ 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) +@@ -10,5 +10,5 @@ if(ITK_USE_GPU) write_gpu_kernels("${ITKGPUPDEDeformableRegistration_Kernels}" ITKGPUPDEDeformableRegistration_SRCS) itk_module_add_library(ITKGPUPDEDeformableRegistration ${ITKGPUPDEDeformableRegistration_SRCS}) diff --git a/ports/itk/openjpeg.patch b/ports/itk/openjpeg.patch index 0fe1f34c9c097c..20cdc9e5e49b61 100644 --- a/ports/itk/openjpeg.patch +++ b/ports/itk/openjpeg.patch @@ -37,7 +37,7 @@ index 1b1fe9526..0da4aa0c4 100644 @@ -139,22 +137,16 @@ JPEG2000ImageIO::ReadImageInformation() { - itkDebugMacro(<< "ReadImageInformation()"); + itkDebugMacro("ReadImageInformation()"); - FILE * l_file = fopen(this->m_FileName.c_str(), "rb"); - @@ -136,7 +136,7 @@ index 1b1fe9526..0da4aa0c4 100644 - OPJ_UINT32 l_nb_tiles_x; - OPJ_UINT32 l_nb_tiles_y; - itkDebugMacro(<< "Trying to read header now..."); + itkDebugMacro("Trying to read header now..."); - bResult = opj_read_header(this->m_Internal->m_Dinfo, - &l_image, @@ -175,7 +175,7 @@ index 1b1fe9526..0da4aa0c4 100644 + this->m_Internal->m_NumberOfTiles = l_nb_tiles; - itkDebugMacro(<< "Number of Components = " << l_image->numcomps); + itkDebugMacro("Number of Components = " << l_image->numcomps); @@ -319,7 +302,7 @@ JPEG2000ImageIO::ReadImageInformation() this->SetPixelType(IOPixelEnum::SCALAR); break; @@ -183,18 +183,18 @@ index 1b1fe9526..0da4aa0c4 100644 - if (l_image->color_space != CLRSPC_SRGB) + if (l_image->color_space != OPJ_CLRSPC_SRGB) { - itkWarningMacro(<< "file does not specify color space, assuming 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); + 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 */ @@ -205,7 +205,7 @@ index 1b1fe9526..0da4aa0c4 100644 { @@ -368,16 +349,7 @@ JPEG2000ImageIO::Read(void * buffer) { - itkDebugMacro(<< "JPEG2000ImageIO::Read() Begin"); + itkDebugMacro("JPEG2000ImageIO::Read() Begin"); - FILE * l_file = fopen(this->m_FileName.c_str(), "rb"); - @@ -307,13 +307,13 @@ index 1b1fe9526..0da4aa0c4 100644 << "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); + 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"); + itkDebugMacro("opj_set_decode_area() after"); @@ -508,7 +467,6 @@ JPEG2000ImageIO::Read(void * buffer) opj_destroy_codec(this->m_Internal->m_Dinfo); diff --git a/ports/itk/portfile.cmake b/ports/itk/portfile.cmake index 055b0194f0b7cc..6deb9f4b670618 100644 --- a/ports/itk/portfile.cmake +++ b/ports/itk/portfile.cmake @@ -3,39 +3,38 @@ vcpkg_buildpath_length_warning(37) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO InsightSoftwareConsortium/ITK - REF d3286c9cc04ba16cc8f73de9a98fbcd7c02f3c7b - SHA512 c358449870d580aeb10e32f8be0ca39e8a76d8dc06fda973788fafb5971333e546611c399190be49d40f5f3c18a1105d9699eef271a560aff25ce168a396926e + REF "v${VERSION}" + SHA512 3a98ececf258aac545f094dd3e97918c93cc82bc623ddf793c4bf0162ab06c83fbfd4d08130bdec6e617bda85dd17225488bc1394bc91b17f1232126a5d990db HEAD_REF master PATCHES - hdf5.patch double-conversion.patch openjpeg.patch openjpeg2.patch var_libraries.patch wrapping.patch - python_gpu_wrapping.patch opencl.patch - cufftw.patch use-the-lrintf-intrinsic.patch + dont-build-gtest.patch ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES "vtk" Module_ITKVtkGlue - "cuda" Module_ITKCudaCommon # Requires RTK? + "cuda" Module_CudaCommon # Requires RTK? #"cuda" CUDA_HAVE_GPU # Automatically set by FindCUDA? "cufftw" ITK_USE_CUFFTW "opencl" ITK_USE_GPU "tbb" Module_ITKTBB "rtk" Module_RTK "tools" RTK_BUILD_APPLICATIONS + "opencv" Module_ITKVideoBridgeOpenCV # There are a lot of more (remote) modules and options in ITK # feel free to add those as a feature ) if("cufftw" IN_LIST FEATURES) # Alternativly set CUFFT_LIB and CUFFTW_LIB - if(WIN32) + if(VCPKG_TARGET_IS_WINDOWS) file(TO_CMAKE_PATH "$ENV{CUDA_PATH}" CUDA_PATH) set(CUDA_LIB_PATH "${CUDA_PATH}") @@ -111,6 +110,22 @@ if("python" IN_LIST FEATURES) ) #ITK_PYTHON_SITE_PACKAGES_SUFFIX should be set to the install dir of the site-packages within vcpkg endif() +if("opencv" IN_LIST FEATURES) + message(STATUS "${PORT} includes the ITKVideoBridgeOpenCV") + list(APPEND ADDITIONAL_OPTIONS + -DModule_ITKVideoBridgeOpenCV:BOOL=ON + ) +endif() +if(VCPKG_TARGET_IS_WINDOWS) + if (VCPKG_CRT_LINKAGE STREQUAL static) + set(STATIC_CRT_LNK ON) + else() + set(STATIC_CRT_LNK OFF) + endif() + list(APPEND ADDITIONAL_OPTIONS + -DITK_MSVC_STATIC_RUNTIME_LIBRARY=${STATIC_CRT_LNK} + ) +endif() set(USE_64BITS_IDS OFF) if (VCPKG_TARGET_ARCHITECTURE STREQUAL x64 OR VCPKG_TARGET_ARCHITECTURE STREQUAL arm64) @@ -151,7 +166,6 @@ vcpkg_cmake_configure( #-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 @@ -177,10 +191,14 @@ vcpkg_cmake_configure( OPTIONS_DEBUG ${OPTIONS_DEBUG} OPTIONS_RELEASE ${OPTIONS_RELEASE} + MAYBE_UNUSED_VARIABLES + DCMTK_USE_ICU # Used by DCMTK + ITK_USE_SYSTEM_GOOGLETEST + ITK_USE_SYSTEM_ICU # Used by DCMTK ) 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) + 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() @@ -194,8 +212,17 @@ 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.4/vcl_where_root_dir.h") + +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/ITK-5.4/itk_eigen.h" "include(${SOURCE_PATH}/CMake/UseITK.cmake)" "include(UseITK)") +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/ITK-5.4/itk_eigen.h" "message(STATUS \"From ITK: Eigen3_DIR: ${CURRENT_INSTALLED_DIR}/share/eigen3\")" "") -vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/ITK-5.1/itk_eigen.h" "include(${SOURCE_PATH}/CMake/UseITK.cmake)" "include(UseITK)") -vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/ITK-5.1/itk_eigen.h" "message(STATUS \"From ITK: Eigen3_DIR: ${CURRENT_INSTALLED_DIR}/share/eigen3\")" "") +if("rtk" IN_LIST FEATURES) + 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\"" "") + + 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") +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/itk/python_gpu_wrapping.patch b/ports/itk/python_gpu_wrapping.patch deleted file mode 100644 index 37367d979e0fb8..00000000000000 --- a/ports/itk/python_gpu_wrapping.patch +++ /dev/null @@ -1,178 +0,0 @@ -diff --git a/CMake/itkOpenCL.cmake b/CMake/itkOpenCL.cmake -index 0ccbe144d..fa381524f 100644 ---- a/CMake/itkOpenCL.cmake -+++ b/CMake/itkOpenCL.cmake -@@ -48,7 +48,7 @@ if(ITK_USE_GPU) - ) - set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/${OUTPUT_FILE} - PROPERTIES GENERATED ON) -- set(${SRC_VAR} ${${SRC_VAR}} ${OUTPUT_FILE}) -+ set(${SRC_VAR} ${${SRC_VAR}} ${CMAKE_CURRENT_BINARY_DIR}/${OUTPUT_FILE}) - endmacro() - - macro(write_gpu_kernels GPUKernels GPU_SRC) -diff --git a/Modules/Core/Common/include/itkMacro.h b/Modules/Core/Common/include/itkMacro.h -index 1816f722a..3a6a8aee5 100644 ---- a/Modules/Core/Common/include/itkMacro.h -+++ b/Modules/Core/Common/include/itkMacro.h -@@ -1141,7 +1141,7 @@ compilers. - #define itkGetVectorMacro(name, type, count) \ - virtual type * Get##name() const { return this->m_##name; } - --/**\def itkGPUKernelClassMacro -+/**\def class itkGPUKernelClassMacro - * Construct a non-templatized helper class that - * provides the GPU kernel source code as a const char* - */ -@@ -1150,7 +1150,7 @@ compilers. - * Workaround KWstyle bug \ \ - * \ingroup ITKCommon \ \ - */ \ -- class kernel \ -+ kernel \ - { \ - public: \ - static const char * \ -diff --git a/Modules/Core/GPUCommon/include/itkGPUImageOps.h b/Modules/Core/GPUCommon/include/itkGPUImageOps.h -index f4eb8f33b..fbdf3d757 100644 ---- a/Modules/Core/GPUCommon/include/itkGPUImageOps.h -+++ b/Modules/Core/GPUCommon/include/itkGPUImageOps.h -@@ -23,7 +23,7 @@ - namespace itk - { - /** Create a helper GPU Kernel class for GPUImageOps */ --itkGPUKernelClassMacro(GPUImageOpsKernel); -+class itkGPUKernelClassMacro(GPUImageOpsKernel); - - /** \class GPUImageOps - * -diff --git a/Modules/Core/GPUCommon/include/itkGPUReduction.h b/Modules/Core/GPUCommon/include/itkGPUReduction.h -index 524a5cd01..1b3ce91e9 100644 ---- a/Modules/Core/GPUCommon/include/itkGPUReduction.h -+++ b/Modules/Core/GPUCommon/include/itkGPUReduction.h -@@ -26,7 +26,7 @@ - namespace itk - { - /** Create a helper GPU Kernel class for GPUReduction */ --itkGPUKernelClassMacro(GPUReductionKernel); -+class itkGPUKernelClassMacro(GPUReductionKernel); - - /** - * \class GPUReduction -diff --git a/Modules/Core/GPUFiniteDifference/include/itkGPUDenseFiniteDifferenceImageFilter.h b/Modules/Core/GPUFiniteDifference/include/itkGPUDenseFiniteDifferenceImageFilter.h -index 853801cec..2fccf0bc5 100644 ---- a/Modules/Core/GPUFiniteDifference/include/itkGPUDenseFiniteDifferenceImageFilter.h -+++ b/Modules/Core/GPUFiniteDifference/include/itkGPUDenseFiniteDifferenceImageFilter.h -@@ -24,7 +24,7 @@ - namespace itk - { - /** Create a helper GPU Kernel class for GPUDenseFiniteDifferenceImageFilter */ --itkGPUKernelClassMacro(GPUDenseFiniteDifferenceImageFilterKernel); -+class ITKGPUFiniteDifference_EXPORT itkGPUKernelClassMacro(GPUDenseFiniteDifferenceImageFilterKernel); - - /** - * \class GPUDenseFiniteDifferenceImageFilter -diff --git a/Modules/Filtering/GPUAnisotropicSmoothing/include/itkGPUGradientNDAnisotropicDiffusionFunction.h b/Modules/Filtering/GPUAnisotropicSmoothing/include/itkGPUGradientNDAnisotropicDiffusionFunction.h -index 4245ff914..1b21b709e 100644 ---- a/Modules/Filtering/GPUAnisotropicSmoothing/include/itkGPUGradientNDAnisotropicDiffusionFunction.h -+++ b/Modules/Filtering/GPUAnisotropicSmoothing/include/itkGPUGradientNDAnisotropicDiffusionFunction.h -@@ -54,7 +54,7 @@ namespace itk - */ - - /** Create a helper GPU Kernel class for GPUGradientNDAnisotropicDiffusionFunction */ --itkGPUKernelClassMacro(GPUGradientNDAnisotropicDiffusionFunctionKernel); -+class itkGPUKernelClassMacro(GPUGradientNDAnisotropicDiffusionFunctionKernel); - - template - class ITK_TEMPLATE_EXPORT GPUGradientNDAnisotropicDiffusionFunction -diff --git a/Modules/Filtering/GPUAnisotropicSmoothing/include/itkGPUScalarAnisotropicDiffusionFunction.h b/Modules/Filtering/GPUAnisotropicSmoothing/include/itkGPUScalarAnisotropicDiffusionFunction.h -index 305f6490e..d0d433080 100644 ---- a/Modules/Filtering/GPUAnisotropicSmoothing/include/itkGPUScalarAnisotropicDiffusionFunction.h -+++ b/Modules/Filtering/GPUAnisotropicSmoothing/include/itkGPUScalarAnisotropicDiffusionFunction.h -@@ -32,7 +32,7 @@ namespace itk - * */ - - /** Create a helper GPU Kernel class for GPUScalarAnisotropicDiffusionFunction */ --itkGPUKernelClassMacro(GPUScalarAnisotropicDiffusionFunctionKernel); -+class itkGPUKernelClassMacro(GPUScalarAnisotropicDiffusionFunctionKernel); - - template - class ITK_TEMPLATE_EXPORT GPUScalarAnisotropicDiffusionFunction : public GPUAnisotropicDiffusionFunction -diff --git a/Modules/Filtering/GPUImageFilterBase/include/itkGPUCastImageFilter.h b/Modules/Filtering/GPUImageFilterBase/include/itkGPUCastImageFilter.h -index 23530ac5c..e1b83f696 100644 ---- a/Modules/Filtering/GPUImageFilterBase/include/itkGPUCastImageFilter.h -+++ b/Modules/Filtering/GPUImageFilterBase/include/itkGPUCastImageFilter.h -@@ -29,7 +29,7 @@ namespace itk - { - - /** Create a helper GPU Kernel class for GPUCastImageFilter */ --itkGPUKernelClassMacro(GPUCastImageFilterKernel); -+class itkGPUKernelClassMacro(GPUCastImageFilterKernel); - - /** \class GPUCastImageFilter - * \brief GPU version of CastImageFilter. -diff --git a/Modules/Filtering/GPUImageFilterBase/include/itkGPUNeighborhoodOperatorImageFilter.h b/Modules/Filtering/GPUImageFilterBase/include/itkGPUNeighborhoodOperatorImageFilter.h -index c4adc2967..69aeac6db 100644 ---- a/Modules/Filtering/GPUImageFilterBase/include/itkGPUNeighborhoodOperatorImageFilter.h -+++ b/Modules/Filtering/GPUImageFilterBase/include/itkGPUNeighborhoodOperatorImageFilter.h -@@ -41,7 +41,7 @@ namespace itk - */ - - /** Create a helper GPU Kernel class for GPUNeighborhoodOperatorImageFilter */ --itkGPUKernelClassMacro(GPUNeighborhoodOperatorImageFilterKernel); -+class itkGPUKernelClassMacro(GPUNeighborhoodOperatorImageFilterKernel); - - template - class ITK_TEMPLATE_EXPORT GPUMeanImageFilter -diff --git a/Modules/Filtering/GPUThresholding/include/itkGPUBinaryThresholdImageFilter.h b/Modules/Filtering/GPUThresholding/include/itkGPUBinaryThresholdImageFilter.h -index 8d26dcfc5..613bc623f 100644 ---- a/Modules/Filtering/GPUThresholding/include/itkGPUBinaryThresholdImageFilter.h -+++ b/Modules/Filtering/GPUThresholding/include/itkGPUBinaryThresholdImageFilter.h -@@ -85,7 +85,7 @@ private: - } // end of namespace Functor - - /** Create a helper GPU Kernel class for GPUBinaryThresholdImageFilter */ --itkGPUKernelClassMacro(GPUBinaryThresholdImageFilterKernel); -+class itkGPUKernelClassMacro(GPUBinaryThresholdImageFilterKernel); - - /** - * \class GPUBinaryThresholdImageFilter -diff --git a/Modules/Registration/GPUPDEDeformable/include/itkGPUDemonsRegistrationFunction.h b/Modules/Registration/GPUPDEDeformable/include/itkGPUDemonsRegistrationFunction.h -index 28b21d592..0b46e27b8 100644 ---- a/Modules/Registration/GPUPDEDeformable/include/itkGPUDemonsRegistrationFunction.h -+++ b/Modules/Registration/GPUPDEDeformable/include/itkGPUDemonsRegistrationFunction.h -@@ -51,7 +51,7 @@ namespace itk - * \ingroup ITKGPUPDEDeformableRegistration - */ - /** Create a helper GPU Kernel class for GPUDemonsRegistrationFunction */ --itkGPUKernelClassMacro(GPUDemonsRegistrationFunctionKernel); -+class itkGPUKernelClassMacro(GPUDemonsRegistrationFunctionKernel); - - template - class ITK_TEMPLATE_EXPORT GPUDemonsRegistrationFunction -diff --git a/Modules/Registration/GPUPDEDeformable/include/itkGPUPDEDeformableRegistrationFilter.h b/Modules/Registration/GPUPDEDeformable/include/itkGPUPDEDeformableRegistrationFilter.h -index 93ab975ec..0afd84871 100644 ---- a/Modules/Registration/GPUPDEDeformable/include/itkGPUPDEDeformableRegistrationFilter.h -+++ b/Modules/Registration/GPUPDEDeformable/include/itkGPUPDEDeformableRegistrationFilter.h -@@ -73,7 +73,7 @@ namespace itk - */ - - /** Create a helper GPU Kernel class for GPUPDEDeformableRegistrationFilter */ --itkGPUKernelClassMacro(GPUPDEDeformableRegistrationFilterKernel); -+class itkGPUKernelClassMacro(GPUPDEDeformableRegistrationFilterKernel); - - template ++ #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 new file mode 100644 index 00000000000000..2e53526a9ddba0 --- /dev/null +++ b/ports/jasper/fix-library-name.patch @@ -0,0 +1,13 @@ +diff --git a/build/pkgconfig/jasper.pc.in b/build/pkgconfig/jasper.pc.in +index a4ce38f..a9a7bc4 100644 +--- 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@ + +-Libs: -L${libdir} -ljasper ++Libs: -L${libdir} -ljasper@CMAKE_DEBUG_POSTFIX@ + Requires.private: @JAS_PKGCONFIG_REQUIRES@ + Cflags: -I${includedir}/jasper -I${includedir} + Cflags.private: -DLIBJASPER_STATIC_DEFINE diff --git a/ports/jasper/no_stdc_check.patch b/ports/jasper/no_stdc_check.patch new file mode 100644 index 00000000000000..0c579a54084988 --- /dev/null +++ b/ports/jasper/no_stdc_check.patch @@ -0,0 +1,25 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ba6f117..8d2e9f9 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -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 " +@@ -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) ++ if(0) + message(FATAL_ERROR "Cannot determine the value of __STDC_VERSION__.") + endif() + endif() diff --git a/ports/jasper/portfile.cmake b/ports/jasper/portfile.cmake index f02b2db39510cb..2c0a915e5917fc 100644 --- a/ports/jasper/portfile.cmake +++ b/ports/jasper/portfile.cmake @@ -1,23 +1,38 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO mdadams/jasper - REF fe00207dc10db1d7cc6f2757961c5c6bdfd10973 # version-2.0.33 - SHA512 887bb8e6096b41d5b61970d70b0e7b9cc1c31dd63467386aa35003c146d200bbae9ad46825a3313aeed403ac6fb26d504f489386cbc7ca364d95deeb5a94af46 + REPO jasper-software/jasper + REF "version-${VERSION}" + SHA512 4552e4823e08f7cb444d5835f30180ae1631b1784078769f0c1d51f40dd3bb6c8a1e960147d07312164dbb3b489561d06ee8f75112e76dbba8aacfd09c7d03e4 HEAD_REF master + PATCHES + no_stdc_check.patch + fix-library-name.patch ) +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + set(VCPKG_CXX_FLAGS "/D_CRT_DECLARE_NONSTDC_NAMES ${VCPKG_CXX_FLAGS}") + set(VCPKG_C_FLAGS "/D_CRT_DECLARE_NONSTDC_NAMES ${VCPKG_C_FLAGS}") +endif() + string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" JAS_ENABLE_SHARED) +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + opengl JAS_ENABLE_OPENGL +) + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DJAS_ENABLE_AUTOMATIC_DEPENDENCIES=OFF + ${FEATURE_OPTIONS} + -DJAS_ENABLE_LIBHEIF=OFF # found via find_library instead of find_package -DJAS_ENABLE_LIBJPEG=ON -DJAS_ENABLE_DOC=OFF + -DJAS_ENABLE_LATEX=OFF -DJAS_ENABLE_PROGRAMS=OFF -DJAS_ENABLE_SHARED=${JAS_ENABLE_SHARED} OPTIONS_DEBUG - -DCMAKE_DEBUG_POSTFIX=d # Due to CMakes FindJasper + -DCMAKE_DEBUG_POSTFIX=d # Due to CMakes FindJasper; Default for multi config generators. ) vcpkg_cmake_install() @@ -28,4 +43,4 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share") -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST ${SOURCE_PATH}/LICENSE.txt) diff --git a/ports/jasper/vcpkg.json b/ports/jasper/vcpkg.json index 124a0095a13d33..43e3c224187072 100644 --- a/ports/jasper/vcpkg.json +++ b/ports/jasper/vcpkg.json @@ -1,15 +1,11 @@ { "name": "jasper", - "version": "2.0.33", + "version": "4.2.4", "description": "Open source implementation of the JPEG-2000 Part-1 standard", - "homepage": "https://github.com/mdadams/jasper", + "homepage": "https://github.com/jasper-software/jasper", + "license": null, "dependencies": [ - { - "name": "freeglut", - "platform": "!osx" - }, "libjpeg-turbo", - "opengl", { "name": "vcpkg-cmake", "host": true @@ -18,5 +14,36 @@ "name": "vcpkg-cmake-config", "host": true } - ] + ], + "default-features": [ + "default-features" + ], + "features": { + "default-features": { + "description": "Platform-dependent default features", + "dependencies": [ + { + "name": "jasper", + "default-features": false, + "features": [ + "opengl" + ], + "platform": "!(windows & arm) & !uwp & !ios" + } + ] + }, + "opengl": { + "description": "Enable the use of the OpenGL/GLUT Library", + "dependencies": [ + { + "name": "freeglut", + "platform": "!osx & !(windows & arm) & !uwp" + }, + { + "name": "opengl", + "platform": "!(windows & arm) & !uwp" + } + ] + } + } } diff --git a/ports/jbig2dec/portfile.cmake b/ports/jbig2dec/portfile.cmake index 099252b202337a..8ef7ff37f0f08a 100644 --- a/ports/jbig2dec/portfile.cmake +++ b/ports/jbig2dec/portfile.cmake @@ -3,21 +3,20 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ArtifexSoftware/jbig2dec - REF 1c336b8ab44524dc56ea837e2211ff4207704cdd # 0.19 - SHA512 e189a80cc8da18813cf6c8edc6f1a799793adcba7ea6f302a8cced349bffac68869af338d9723ee1efdc07115ae554cd5757bfda7d7ac41324fde1f9c3a8343c + REF "${VERSION}" + SHA512 8b8a28b93b23e4284ca229e6c8935fd161ce5c597f7470a46ec06a3241d0ac23cf921aecdd4e0c1bd3c904591409054236f2ce25b6d8ae40db742559c7f4dbe9 HEAD_REF master ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=1 ) -vcpkg_install_cmake() +vcpkg_cmake_install() # Handle copyright -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/jbig2dec RENAME copyright) +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/jbig2dec/vcpkg.json b/ports/jbig2dec/vcpkg.json index a4f145f69ccc47..d9137fb3492b38 100644 --- a/ports/jbig2dec/vcpkg.json +++ b/ports/jbig2dec/vcpkg.json @@ -1,7 +1,12 @@ { "name": "jbig2dec", - "version-string": "0.19", - "port-version": 1, + "version": "0.20", "description": "a decoder library and example utility implementing the JBIG2 bi-level image compression spec. Also known as ITU T.88 and ISO IEC 14492, and included by reference in Adobe's PDF version 1.4 and later.", - "homepage": "https://github.com/ArtifexSoftware/jbig2dec" + "homepage": "https://github.com/ArtifexSoftware/jbig2dec", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/jbigkit/portfile.cmake b/ports/jbigkit/portfile.cmake index ba2d6555a08322..e9ed464557acec 100644 --- a/ports/jbigkit/portfile.cmake +++ b/ports/jbigkit/portfile.cmake @@ -9,21 +9,20 @@ vcpkg_download_distfile(ARCHIVE SHA512 ${JBIGKIT_HASH} ) -vcpkg_extract_source_archive_ex( - ARCHIVE ${ARCHIVE} - OUT_SOURCE_PATH SOURCE_PATH +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}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA) +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" +) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/jbigkit) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/jbigkit/COPYING ${CURRENT_PACKAGES_DIR}/share/jbigkit/copyright) +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/jbigkit/vcpkg.json b/ports/jbigkit/vcpkg.json index 1498be4fa7fc92..0257b912880532 100644 --- a/ports/jbigkit/vcpkg.json +++ b/ports/jbigkit/vcpkg.json @@ -1,7 +1,13 @@ { "name": "jbigkit", - "version-string": "2.1", - "port-version": 5, + "version": "2.1", + "port-version": 7, "description": "A software implementation of the JBIG1 data compression standard (ITU-T T.82)", - "homepage": "https://www.cl.cam.ac.uk/~mgk25/jbigkit" + "homepage": "https://www.cl.cam.ac.uk/~mgk25/jbigkit", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/jemalloc/fix-cmakelists.patch b/ports/jemalloc/fix-cmakelists.patch deleted file mode 100644 index 3ba70544c602be..00000000000000 --- a/ports/jemalloc/fix-cmakelists.patch +++ /dev/null @@ -1,67 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 06e83ef..229e17a 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -57,6 +57,7 @@ option(enable-lazy-lock "Enable lazy locking (only lock when multi-threaded" OFF - option(force_lazy_lock "Forcing lazy-lock to avoid allocator/threading bootstrap issues" OFF) - # install_prefix - installation directory prefix - # with-xslroot= XSL stylesheet root path -+option(build-tests "Build tests" OFF) - - set (PACKAGE_NAME "jemalloc") - project (${PACKAGE_NAME} C) -@@ -711,12 +712,8 @@ endif() - - # The original library, delivery product - set(LIBJEMALLOCLIB jemalloc${install_suffix}) --add_library(${LIBJEMALLOCLIB} STATIC ${C_SRCS}) -- --# Now add shared library. Needed for integration tests --# and a benchmark --set(LIBJEMALLOCSO jemallocso${install_suffix}) --add_library(${LIBJEMALLOCSO} SHARED ${C_SRCS}) -+set(LIBJEMALLOCSO ${LIBJEMALLOCLIB}) -+add_library(${LIBJEMALLOCLIB} ${C_SRCS}) - - if(WIN32) - # May want to replace /d2Zi+ to /Zo -@@ -745,8 +745,6 @@ if(WIN32) - # either impport or export which is both wrong for a static library - set_target_properties(${LIBJEMALLOCLIB} - PROPERTIES -- COMPILE_DEFINITIONS -- "JEMALLOC_EXPORT=" - CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY_DEBUG - ${PROJECT_BINARY_DIR}/Debug - CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY_RELEASE -@@ -754,6 +752,9 @@ if(WIN32) - COMPILE_PDB_NAME - ${LIBJEMALLOCLIB} - ) -+ if(NOT BUILD_SHARED_LIBS) -+ target_compile_definitions(${LIBJEMALLOCLIB} "JEMALLOC_EXPORT=") -+ endif() - - endif() - -@@ -825,6 +822,14 @@ if(C_UTIL_INTEGRATION_DEFS) - "${C_UTIL_INTEGRATION_DEFS}") - endif() - -+install(FILES include/jemalloc/jemalloc${install_suffix}.h -+ DESTINATION include/jemalloc) -+ -+install(TARGETS ${LIBJEMALLOCSO} -+ RUNTIME DESTINATION bin -+ LIBRARY DESTINATION lib -+ ARCHIVE DESTINATION lib) -+if (build-tests) - ################################################################## - # Common source for Unit, Integration and stress test libraries - set(C_TESTLIB_SRCS -@@ -1028,4 +1033,4 @@ foreach(sourcefile ${TESTS_INTEGRATION}) - add_test(NAME ${exename} COMMAND ${exename}) - add_dependencies(check ${exename}) - endforeach(sourcefile ${TESTS_UNIT}) -- -+endif() diff --git a/ports/jemalloc/fix-configure-ac.patch b/ports/jemalloc/fix-configure-ac.patch new file mode 100644 index 00000000000000..7799dfb9e80e39 --- /dev/null +++ b/ports/jemalloc/fix-configure-ac.patch @@ -0,0 +1,13 @@ +diff --git a/configure.ac b/configure.ac +index f6d25f334..3115504e2 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1592,7 +1592,7 @@ fi + [enable_uaf_detection="0"] + ) + if test "x$enable_uaf_detection" = "x1" ; then +- AC_DEFINE([JEMALLOC_UAF_DETECTION], [ ]) ++ AC_DEFINE([JEMALLOC_UAF_DETECTION], [ ], ["enable UAF"]) + fi + AC_SUBST([enable_uaf_detection]) + diff --git a/ports/jemalloc/fix-static-build.patch b/ports/jemalloc/fix-static-build.patch deleted file mode 100644 index 3ede809a8a600d..00000000000000 --- a/ports/jemalloc/fix-static-build.patch +++ /dev/null @@ -1,25 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 0b8959a..55e6a5f 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -826,10 +826,16 @@ endif() - install(FILES include/jemalloc/jemalloc${install_suffix}.h - DESTINATION include/jemalloc) - --install(TARGETS ${LIBJEMALLOCSO} -- RUNTIME DESTINATION bin -- LIBRARY DESTINATION lib -- ARCHIVE DESTINATION lib) -+if (without-export) -+ install(TARGETS ${C_JETLIB} -+ LIBRARY DESTINATION lib -+ ARCHIVE DESTINATION lib) -+else() -+ install(TARGETS ${LIBJEMALLOCSO} -+ RUNTIME DESTINATION bin -+ LIBRARY DESTINATION lib -+ ARCHIVE DESTINATION lib) -+endif() - if (build-tests) - ################################################################## - # Common source for Unit, Integration and stress test libraries diff --git a/ports/jemalloc/fix-utilities.patch b/ports/jemalloc/fix-utilities.patch deleted file mode 100644 index 32c39e0b3e822d..00000000000000 --- a/ports/jemalloc/fix-utilities.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff --git a/Utilities.cmake b/Utilities.cmake -index 562e948..d2d3530 100644 ---- a/Utilities.cmake -+++ b/Utilities.cmake -@@ -633,9 +633,11 @@ file(TO_NATIVE_PATH "${file_path}" ntv_file_path) - # This converts #undefs into #cmakedefines so configure_file can handle it - set(PS_CMD - "Get-Content \"${ntv_file_path}\" | --ForEach { -+ForEach { - if($_ -match '^#undef[ \t]*[^ \t]*') -- { $_ -replace '^#undef[ \t]*([^ \t]*)','#cmakedefine $1 @$1@' } else {$_}}" -+ { $_ -replace '^#undef[ \t]*([^ \t]*)','#cmakedefine $1 @$1@' } else {$_} -+} | -+Set-Content \"${ntv_file_path}.cmake\"" - ) - - if(EXISTS ${file_path}) -@@ -646,9 +648,8 @@ if(EXISTS ${file_path}) - # Convert autoconf .in into a cmake .in - execute_process(COMMAND powershell -Command "${PS_CMD}" - RESULT_VARIABLE error_level -- ERROR_VARIABLE error_output -- OUTPUT_FILE ${file_path}.cmake) -- -+ ERROR_VARIABLE error_output) -+ - if(NOT ${error_level} EQUAL 0) - message(FATAL_ERROR "Powershell completed with ${error_level} : ${error_output}") - endif() diff --git a/ports/jemalloc/portfile.cmake b/ports/jemalloc/portfile.cmake index 013634577b0cb4..36f0834e1dc3aa 100644 --- a/ports/jemalloc/portfile.cmake +++ b/ports/jemalloc/portfile.cmake @@ -1,35 +1,56 @@ -vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO jemalloc/jemalloc-cmake - REF jemalloc-cmake.4.3.1 - SHA512 e94b62ec3a53acc0ab5acb247d7646bc172108e80f592bb41c2dd50d181cbbeb33d623adf28415ffc0a0e2de3818af2dfe4c04af75ac891ef5042bc5bb186886 + REPO jemalloc/jemalloc + REF 54eaed1d8b56b1aa528be3bdd1877e59c56fa90c + SHA512 527bfbf5db9a5c2b7b04df4785b6ae9d445cff8cb17298bf3e550c88890d2bd7953642d8efaa417580610508279b527d3a3b9e227d17394fd2013c88cb7ae75a HEAD_REF master PATCHES - fix-cmakelists.patch - fix-utilities.patch - fix-static-build.patch + fix-configure-ac.patch + preprocessor.patch ) - -if (VCPKG_CRT_LINKAGE STREQUAL "dynamic") - set(BUILD_STATIC_LIBRARY OFF) -else() - set(BUILD_STATIC_LIBRARY ON) +if(VCPKG_TARGET_IS_WINDOWS) + set(opts "ac_cv_search_log=none required" "--without-private-namespace") endif() -vcpkg_configure_cmake( - DISABLE_PARALLEL_CONFIGURE - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS -DGIT_FOUND=OFF -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON -Dwithout-export=${BUILD_STATIC_LIBRARY} + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG + NO_WRAPPERS + OPTIONS ${opts} ) -vcpkg_install_cmake() +vcpkg_install_make() + +if(VCPKG_TARGET_IS_WINDOWS) + file(COPY "${SOURCE_PATH}/include/msvc_compat/strings.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include/jemalloc/msvc_compat") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/jemalloc/jemalloc.h" "" "\"msvc_compat/strings.h\"") + if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + file(COPY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/lib/jemalloc.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/lib") + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/bin") + file(RENAME "${CURRENT_PACKAGES_DIR}/lib/jemalloc.dll" "${CURRENT_PACKAGES_DIR}/bin/jemalloc.dll") + endif() + if(NOT VCPKG_BUILD_TYPE) + if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + file(COPY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/lib/jemalloc.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/bin") + file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/jemalloc.dll" "${CURRENT_PACKAGES_DIR}/debug/bin/jemalloc.dll") + endif() + endif() + if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/jemalloc.pc" "install_suffix=" "install_suffix=_s") + if(NOT VCPKG_BUILD_TYPE) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/jemalloc.pc" "install_suffix=" "install_suffix=_s") + endif() + endif() +endif() + +vcpkg_fixup_pkgconfig() vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/tools") # Handle copyright -file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/jemalloc) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/jemalloc/COPYING ${CURRENT_PACKAGES_DIR}/share/jemalloc/copyright) +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/jemalloc/preprocessor.patch b/ports/jemalloc/preprocessor.patch new file mode 100644 index 00000000000000..6e6e2d1403fb2e --- /dev/null +++ b/ports/jemalloc/preprocessor.patch @@ -0,0 +1,12 @@ +diff --git a/configure.ac b/configure.ac +index 3115504e2..ffb504b08 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -749,6 +749,7 @@ case "${host}" in + so="dll" + if test "x$je_cv_msvc" = "xyes" ; then + importlib="lib" ++ JE_APPEND_VS(CPPFLAGS, -DJEMALLOC_NO_PRIVATE_NAMESPACE) + DSO_LDFLAGS="-LD" + EXTRA_LDFLAGS="-link -DEBUG" + CTARGET='-Fo$@' diff --git a/ports/jemalloc/vcpkg.json b/ports/jemalloc/vcpkg.json index c23bdcaa803915..007e05b931c989 100644 --- a/ports/jemalloc/vcpkg.json +++ b/ports/jemalloc/vcpkg.json @@ -1,7 +1,8 @@ { "name": "jemalloc", - "version-string": "4.3.1", - "port-version": 5, + "version": "5.3.0", + "port-version": 1, "description": "jemalloc is a general purpose malloc(3) implementation that emphasizes fragmentation avoidance and scalable concurrency support", - "homepage": "https://github.com/jemalloc/jemalloc-cmake" + "homepage": "https://jemalloc.net/", + "license": "BSD-2-Clause" } 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/jinja2cpplight/portfile.cmake b/ports/jinja2cpplight/portfile.cmake index 329020de2c1f02..7f6554ab08ae46 100644 --- a/ports/jinja2cpplight/portfile.cmake +++ b/ports/jinja2cpplight/portfile.cmake @@ -17,21 +17,20 @@ vcpkg_from_github( HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -file(GLOB_RECURSE JINJA2CPPLIGHT_EXES ${CURRENT_PACKAGES_DIR}/bin/jinja2cpplight_unittests*) -file(COPY ${JINJA2CPPLIGHT_EXES} DESTINATION ${CURRENT_PACKAGES_DIR}/tools) +file(GLOB_RECURSE JINJA2CPPLIGHT_EXES "${CURRENT_PACKAGES_DIR}/bin/jinja2cpplight_unittests*") +file(COPY ${JINJA2CPPLIGHT_EXES} DESTINATION "${CURRENT_PACKAGES_DIR}/tools") file(REMOVE_RECURSE ${JINJA2CPPLIGHT_EXES}) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") +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 +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) \ No newline at end of file diff --git a/ports/jinja2cpplight/vcpkg.json b/ports/jinja2cpplight/vcpkg.json index 004282a82947ed..cd3c5caf5bce01 100644 --- a/ports/jinja2cpplight/vcpkg.json +++ b/ports/jinja2cpplight/vcpkg.json @@ -1,8 +1,14 @@ { "name": "jinja2cpplight", - "version-string": "2018-05-08", - "port-version": 1, + "version-date": "2018-05-08", + "port-version": 3, "description": "(very) lightweight version of Jinja2 for C++, Lightweight templating engine for C++, based on Jinja2.", "homepage": "https://github.com/hughperkins/Jinja2CppLight", - "supports": "!uwp" + "supports": "!uwp", + "dependencies": [ + { + "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/portfile.cmake b/ports/joltphysics/portfile.cmake new file mode 100644 index 00000000000000..68227ddcc20a42 --- /dev/null +++ b/ports/joltphysics/portfile.cmake @@ -0,0 +1,44 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO jrouwe/JoltPhysics + REF "v${VERSION}" + SHA512 01c8b0b1857811876e2d9f75f1cd191e09c43b131d9d7c1f24cb0e28b913a5e896fb51cbf3aaa100b237ceaa2a235b8f925b31bf5a2165faaf0f2f0b186bc103 + HEAD_REF master +) + +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 +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/Build" + OPTIONS + -DTARGET_UNIT_TESTS=OFF + -DTARGET_HELLO_WORLD=OFF + -DTARGET_PERFORMANCE_TEST=OFF + -DTARGET_SAMPLES=OFF + -DTARGET_VIEWER=OFF + -DCROSS_PLATFORM_DETERMINISTIC=OFF + -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 +) + +vcpkg_cmake_install() +vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +vcpkg_cmake_config_fixup(PACKAGE_NAME Jolt CONFIG_PATH "lib/cmake/Jolt") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/joltphysics/vcpkg.json b/ports/joltphysics/vcpkg.json new file mode 100644 index 00000000000000..572c8c66f50b86 --- /dev/null +++ b/ports/joltphysics/vcpkg.json @@ -0,0 +1,26 @@ +{ + "name": "joltphysics", + "version": "5.1.0", + "port-version": 2, + "description": "A multi core friendly rigid body physics and collision detection library suitable for games and VR applications", + "homepage": "https://github.com/jrouwe/JoltPhysics", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "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" + } + } +} diff --git a/ports/josuttis-jthread/vcpkg.json b/ports/josuttis-jthread/vcpkg.json index 565f8b4e3794f7..f1b9569a3b0a2f 100644 --- a/ports/josuttis-jthread/vcpkg.json +++ b/ports/josuttis-jthread/vcpkg.json @@ -1,7 +1,7 @@ { "name": "josuttis-jthread", - "version-string": "2020-07-21", - "port-version": 2, + "version-date": "2020-07-21", + "port-version": 3, "description": "C++ class for a joining and cooperative interruptible thread (std::jthread) with stop_token helper", "homepage": "https://github.com/josuttis/jthread" } diff --git a/ports/jsmn/vcpkg.json b/ports/jsmn/vcpkg.json index 96956d18d2f735..823643e38c64bb 100644 --- a/ports/jsmn/vcpkg.json +++ b/ports/jsmn/vcpkg.json @@ -1,6 +1,6 @@ { "name": "jsmn", - "version-string": "2019-04-27", - "port-version": 1, + "version-date": "2019-04-27", + "port-version": 2, "description": "A minimalistic JSON parser in C." } diff --git a/ports/json-c/fix-clang-cl.patch b/ports/json-c/fix-clang-cl.patch new file mode 100644 index 00000000000000..a2609d5d28cbdf --- /dev/null +++ b/ports/json-c/fix-clang-cl.patch @@ -0,0 +1,22 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 0aa1b64..54e7b3d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -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") + +-if ("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_C_COMPILER_ID}" STREQUAL "Clang") ++if ("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_C_COMPILER_ID}" STREQUAL "Clang" AND NOT MSVC) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -ffunction-sections -fdata-sections") + if ("${DISABLE_WERROR}" STREQUAL "OFF") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror") +@@ -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() +-elseif ("${CMAKE_C_COMPILER_ID}" STREQUAL "MSVC") ++elseif (MSVC) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /DEBUG") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /wd4100") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /wd4996") diff --git a/ports/json-c/portfile.cmake b/ports/json-c/portfile.cmake index d0893ebee9e4df..dccd504f701dc0 100644 --- a/ports/json-c/portfile.cmake +++ b/ports/json-c/portfile.cmake @@ -1,24 +1,31 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO json-c/json-c - REF eae040a84a479ccad1d1c48314345c51ecf1a4a4 - SHA512 18d8a31b341830b04676cad13fbc0608fb75a323522161ac8fd0bb5058db82c1c261d504696a1e12f4b03eb0967632885580ff81d808adf2f1dff7e32d131ba0 + REF b4c371fa0cbc4dcbaccc359ce9e957a22988fb34 + SHA512 1338271a6f9ffb3b8a8d4f2ec36a374ed84b3c91f789b607693c08cbeb38c4fdd813593f530ff94e841a095ff367a3ae8c5f5e7dbcb64e8f9044f6affdf24505 HEAD_REF master PATCHES pkgconfig.patch + fix-clang-cl.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +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_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${PORT}") vcpkg_fixup_pkgconfig() vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +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 ff61b336e01403..16efcbaa1299ed 100644 --- a/ports/json-c/vcpkg.json +++ b/ports/json-c/vcpkg.json @@ -1,7 +1,17 @@ { "name": "json-c", - "version-string": "2019-09-10", - "port-version": 2, + "version-date": "2023-08-12", "description": "A JSON implementation in C", - "homepage": "https://github.com/json-c/json-c" + "homepage": "https://github.com/json-c/json-c", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/json-dto/portfile.cmake b/ports/json-dto/portfile.cmake index d5a577e54e49ec..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 c878c002109784c5d7d7dd51e94cec19a200ff79 # v.0.2.15 - SHA512 7900263ac0cf815e31e2e6d632d4093f896a34d7842a81574c71e8883c6bbee3a75fa717b7fb0ac9a0c34a4e4e1bad855b7ea0374321745a43f3235b213da9f8 + REF "v.${VERSION}" + SHA512 176556702dfa4092b3e1b0face065b66041346d3f9e0a96bd96fada4b8ba2a423e83d11501fc724341f831d6b3e8ce93c0fd2f4f1018b1bfb0423f70e68e8adb ) vcpkg_cmake_configure( diff --git a/ports/json-dto/vcpkg.json b/ports/json-dto/vcpkg.json index 08f3170e7ca565..c5e40fb37aa153 100644 --- a/ports/json-dto/vcpkg.json +++ b/ports/json-dto/vcpkg.json @@ -1,6 +1,6 @@ { "name": "json-dto", - "version": "0.2.15", + "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/fix-config.patch b/ports/json-rpc-cxx/fix-config.patch new file mode 100644 index 00000000000000..197527eb1aa3b2 --- /dev/null +++ b/ports/json-rpc-cxx/fix-config.patch @@ -0,0 +1,22 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a362ea4..9c23acf 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -10,8 +10,16 @@ option(CODE_COVERAGE "Enable coverage reporting" OFF) + include(GNUInstallDirs) + + add_library(json-rpc-cxx INTERFACE) +-target_include_directories(json-rpc-cxx INTERFACE include) ++target_include_directories(json-rpc-cxx INTERFACE ++ $ ++ $ ++ ) + install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) ++install (TARGETS json-rpc-cxx EXPORT unofficial-json-rpc-cxx-config) ++install (EXPORT unofficial-json-rpc-cxx-config ++ NAMESPACE unofficial::json-rpc-cxx:: ++ DESTINATION share/unofficial-json-rpc-cxx ++ ) + + add_library(coverage_config INTERFACE) + diff --git a/ports/json-rpc-cxx/portfile.cmake b/ports/json-rpc-cxx/portfile.cmake new file mode 100644 index 00000000000000..1a756e55b1b81d --- /dev/null +++ b/ports/json-rpc-cxx/portfile.cmake @@ -0,0 +1,32 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO jsonrpcx/json-rpc-cxx + REF "v${VERSION}" + SHA512 fa4ee807dd29027edd86949a8632adede77c3706406e6b78a8b6e38003f80103082ef70e0b89293a608db238d6f5662669b69cf0cb3d607bcc959c8801c5f3e0 + HEAD_REF master + PATCHES + fix-config.patch +) + +set(VCPKG_BUILD_TYPE release) # header-only port + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DCOMPILE_TESTS=OFF + -DCOMPILE_EXAMPLES=OFF +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-${PORT}) +file(READ "${CURRENT_PACKAGES_DIR}/share/unofficial-${PORT}/unofficial-${PORT}-config.cmake" JSON_RPC_CXX_CONFIG) +file(WRITE "${CURRENT_PACKAGES_DIR}/share/unofficial-${PORT}/unofficial-${PORT}-config.cmake" " +include(CMakeFindDependencyMacro) +find_dependency(nlohmann_json) +${JSON_RPC_CXX_CONFIG} +") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") + +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/json-rpc-cxx/usage b/ports/json-rpc-cxx/usage new file mode 100644 index 00000000000000..0e1009eb6c7872 --- /dev/null +++ b/ports/json-rpc-cxx/usage @@ -0,0 +1,4 @@ +json-rpc-cxx provides CMake targets: + + find_package(unofficial-json-rpc-cxx CONFIG REQUIRED) + target_link_libraries(main PRIVATE unofficial::json-rpc-cxx::json-rpc-cxx) diff --git a/ports/json-rpc-cxx/vcpkg.json b/ports/json-rpc-cxx/vcpkg.json new file mode 100644 index 00000000000000..063e87308b6a3f --- /dev/null +++ b/ports/json-rpc-cxx/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "json-rpc-cxx", + "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", + "dependencies": [ + "nlohmann-json", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/json-schema-validator/cmake-find-package.patch b/ports/json-schema-validator/cmake-find-package.patch deleted file mode 100644 index 995ae06b084c29..00000000000000 --- a/ports/json-schema-validator/cmake-find-package.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index c4cc218..ff2b706 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -8,6 +8,8 @@ cmake_minimum_required(VERSION 3.2) - option(BUILD_TESTS "Build tests" ON) - option(BUILD_EXAMPLES "Build examples" ON) - -+find_package(nlohmann_json CONFIG REQUIRED) -+ - # the library - add_library(nlohmann_json_schema_validator - src/json-schema-draft7.json.cpp -@@ -34,6 +36,13 @@ set_target_properties(nlohmann_json_schema_validator - # because of the dependency to nlohmann_json. - set(JSON_VALIDATOR_INSTALL ON) - -+target_link_libraries( -+ nlohmann_json_schema_validator -+ PUBLIC -+ nlohmann_json -+ nlohmann_json::nlohmann_json) -+ -+if(0) - # here we decice how nlohmann::json is found and used to build this project - - # first, check whether a nlohmann_json::nlohmann_json target exists already -@@ -92,7 +101,7 @@ else() - set(nlohmann_json_DIR ${JSON_HPP}) - endif() - endif() -- -+endif() - if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR - "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") - target_compile_options(nlohmann_json_schema_validator diff --git a/ports/json-schema-validator/fix-ambiguous-assignment.patch b/ports/json-schema-validator/fix-ambiguous-assignment.patch deleted file mode 100644 index 3e655b485e6e15..00000000000000 --- a/ports/json-schema-validator/fix-ambiguous-assignment.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/json-validator.cpp b/src/json-validator.cpp -index f16f3ef..1f7b615 100644 ---- a/src/json-validator.cpp -+++ b/src/json-validator.cpp -@@ -663,7 +663,7 @@ public: - #ifndef NO_STD_REGEX - attr = sch.find("pattern"); - if (attr != sch.end()) { -- patternString_ = attr.value(); -+ patternString_ = attr.value().get(); - pattern_ = {true, REGEX_NAMESPACE::regex(attr.value().get(), - REGEX_NAMESPACE::regex::ECMAScript)}; - sch.erase(attr); diff --git a/ports/json-schema-validator/forward-find-package.patch b/ports/json-schema-validator/forward-find-package.patch deleted file mode 100644 index e5ddde525b9cd6..00000000000000 --- a/ports/json-schema-validator/forward-find-package.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/nlohmann_json_schema_validatorConfig.cmake.in b/nlohmann_json_schema_validatorConfig.cmake.in -index 6ee0df2..e0315fa 100644 ---- a/nlohmann_json_schema_validatorConfig.cmake.in -+++ b/nlohmann_json_schema_validatorConfig.cmake.in -@@ -7,6 +7,9 @@ - get_filename_component(NLOHMANN_JSON_SCHEMA_VALIDATOR_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) - set(NLOHMANN_JSON_SCHEMA_VALIDATOR_INCLUDE_DIRS @CONF_INCLUDE_DIRS@) - -+include(CMakeFindDependencyMacro) -+find_dependency(nlohmann_json) -+ - # Our library dependencies (contains definitions for IMPORTED targets) - if(NOT TARGET json-schema-validator) - include("${NLOHMANN_JSON_SCHEMA_VALIDATOR_CMAKE_DIR}/nlohmann_json_schema_validatorTargets.cmake") diff --git a/ports/json-schema-validator/portfile.cmake b/ports/json-schema-validator/portfile.cmake index 941ec5372e2469..7f7e1459e3a1b3 100644 --- a/ports/json-schema-validator/portfile.cmake +++ b/ports/json-schema-validator/portfile.cmake @@ -1,30 +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 27fc1d094503623dfe39365ba82581507524545c - SHA512 4fd05087743f43871586a53d119acd1a19d0bdec8a5620f62b6eee7a926d285842e8439127eec52eeb11069c92b8d9af28558897d48e2422ecafca39d9f23cdb + REF "${VERSION}" + SHA512 6d207031acdb94c44f96ff6346dccaf98f2c9d3619d71e419ddabff548ea34d50e8eb103622c99ae28ecb7fddedd687b297e5ad934aa0106c58ac59fc4d65ea9 HEAD_REF master PATCHES - fix-ambiguous-assignment.patch - cmake-find-package.patch - forward-find-package.patch + "${PATCH_JSON_SCHEMA_VALIDATOR_PR_315}" ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +string(COMPARE EQUAL ${VCPKG_LIBRARY_LINKAGE} "dynamic" BUILD_SHARED_LIBS) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DBUILD_TESTS=OFF - -DBUILD_EXAMPLES=OFF + -DJSON_VALIDATOR_INSTALL=ON + -DJSON_VALIDATOR_BUILD_TESTS=OFF + -DJSON_VALIDATOR_BUILD_EXAMPLES=OFF + -DJSON_VALIDATOR_SHARED_LIBS=${BUILD_SHARED_LIBS} ) -vcpkg_install_cmake() - -set(PKG_NAME "nlohmann_json_schema_validator") -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PKG_NAME} TARGET_PATH share/${PKG_NAME}) - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +vcpkg_cmake_install() +vcpkg_copy_pdbs() -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_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") +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 387afe10938ecb..898c8e972e81d0 100644 --- a/ports/json-schema-validator/vcpkg.json +++ b/ports/json-schema-validator/vcpkg.json @@ -1,13 +1,22 @@ { "name": "json-schema-validator", - "version-string": "2.1.0", - "port-version": 1, - "description": "This is a C++ library for validating JSON documents based on a JSON Schema. This validator is based on nlohmann json library.", + "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", "dependencies": [ { "name": "nlohmann-json", "default-features": false + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true } ] } diff --git a/ports/json-spirit/portfile.cmake b/ports/json-spirit/portfile.cmake index 658cb92a4fe5b6..937e2b9f4714bd 100644 --- a/ports/json-spirit/portfile.cmake +++ b/ports/json-spirit/portfile.cmake @@ -9,17 +9,20 @@ vcpkg_from_github( Fix-link-error-C1128.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS -DBUILD_STATIC_LIBS=off -DJSON_SPIRIT_DEMOS=off -DJSON_SPIRIT_TESTS=off) +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_STATIC_LIBS=OFF + -DJSON_SPIRIT_DEMOS=OFF + -DJSON_SPIRIT_TESTS=OFF +) -vcpkg_install_cmake() +vcpkg_cmake_install() # Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/json-spirit RENAME copyright) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +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) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") endif() vcpkg_copy_pdbs() diff --git a/ports/json-spirit/vcpkg.json b/ports/json-spirit/vcpkg.json index 35517305eca6bd..bbc8ca621b6405 100644 --- a/ports/json-spirit/vcpkg.json +++ b/ports/json-spirit/vcpkg.json @@ -1,13 +1,17 @@ { "name": "json-spirit", - "version-string": "4.1.0", - "port-version": 2, - "description": "json parser using boost library", + "version": "4.1.0", + "port-version": 5, + "description": "A C++ JSON parser/generator implemented with Boost Spirit", "dependencies": [ "boost-config", "boost-integer", "boost-smart-ptr", "boost-spirit", - "boost-variant" + "boost-variant", + { + "name": "vcpkg-cmake", + "host": true + } ] } diff --git a/ports/json11/portfile.cmake b/ports/json11/portfile.cmake index 3ff8b0f2951b1e..fa87e5b209a167 100644 --- a/ports/json11/portfile.cmake +++ b/ports/json11/portfile.cmake @@ -9,22 +9,20 @@ vcpkg_from_github( PATCHES destination.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DJSON11_BUILD_TESTS:BOOL=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -file(INSTALL ${CURRENT_PORT_DIR}/json11-config.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/json11) +file(INSTALL "${CURRENT_PORT_DIR}/json11-config.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") # Handle copyright -file(COPY ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/json11) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/json11/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/json11/copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) vcpkg_fixup_pkgconfig() diff --git a/ports/json11/vcpkg.json b/ports/json11/vcpkg.json index 70fb4f20971d4c..5dd6065436cc12 100644 --- a/ports/json11/vcpkg.json +++ b/ports/json11/vcpkg.json @@ -1,6 +1,12 @@ { "name": "json11", - "version-string": "2017-06-20", - "port-version": 4, - "description": "json11 is a tiny JSON library for C++11, providing JSON parsing and serialization." + "version-date": "2017-06-20", + "port-version": 6, + "description": "json11 is a tiny JSON library for C++11, providing JSON parsing and serialization.", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } 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 79e4d1afc6895b..50da0c1dbe2332 100644 --- a/ports/json5-parser/portfile.cmake +++ b/ports/json5-parser/portfile.cmake @@ -6,19 +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_configure_cmake( - SOURCE_PATH ${SOURCE_PATH}/json5_parser - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/json5_parser" + OPTIONS + -DCMAKE_CXX_STANDARD=11 # Boost v1.84.0 libraries require C++11 ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(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) +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 13c1e6bb3568de..c60818ec7c65d2 100644 --- a/ports/json5-parser/vcpkg.json +++ b/ports/json5-parser/vcpkg.json @@ -1,10 +1,18 @@ { "name": "json5-parser", - "version-string": "1.0.0", - "port-version": 3, + "version": "1.0.0", + "port-version": 7, "description": "An enhancement of the JSON Spirit C++ library to understand json5.", "homepage": "https://github.com/Caltech-IPAC/json5_parser", "dependencies": [ - "boost-spirit" + "boost-spirit", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/jsoncons/portfile.cmake b/ports/jsoncons/portfile.cmake index 44bf9fb3806d7d..712e65c0d2320d 100644 --- a/ports/jsoncons/portfile.cmake +++ b/ports/jsoncons/portfile.cmake @@ -1,22 +1,25 @@ +# header-only library +vcpkg_minimum_required(VERSION 2022-10-12) # for ${VERSION} + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO danielaparker/jsoncons - REF 2626df4ccfdaab814b789abdd5936ffe00f5f6dc # v0.165.0 - SHA512 da72515d91c443e6c9a89527d9aea7ca8805865b4a8a8f3f067d4a065cd27eea3a5de83f6b55e6e8c95cf79292e06cb7d56ea83499bd9e80afb80d81007a316d + REF v${VERSION} + SHA512 3df0dddb54eec43885680ab3d1dffb8ba27ebff0e3c674a11577998a1ff930c82def184be7d1d7eb630c38b27e262926d218cf75599768628ab489cc965afc80 HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DJSONCONS_BUILD_TESTS=OFF ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${PORT}") vcpkg_fixup_pkgconfig() -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) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/jsoncons/vcpkg.json b/ports/jsoncons/vcpkg.json index 84fea30327de90..73a108baad4f87 100644 --- a/ports/jsoncons/vcpkg.json +++ b/ports/jsoncons/vcpkg.json @@ -1,7 +1,17 @@ { "name": "jsoncons", - "version-string": "0.165.0", - "port-version": 1, + "version": "0.177.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" + "homepage": "https://github.com/danielaparker/jsoncons", + "license": "BSL-1.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/jsoncpp/portfile.cmake b/ports/jsoncpp/portfile.cmake index 84c1a54616361c..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 ) @@ -15,10 +15,11 @@ vcpkg_cmake_configure( -DJSONCPP_WITH_CMAKE_PACKAGE=ON -DBUILD_STATIC_LIBS=${JSONCPP_STATIC} -DJSONCPP_STATIC_WINDOWS_RUNTIME=${STATIC_CRT} - -DJSONCPP_WITH_PKGCONFIG_SUPPORT=OFF + -DJSONCPP_WITH_PKGCONFIG_SUPPORT=ON -DJSONCPP_WITH_POST_BUILD_UNITTEST=OFF -DJSONCPP_WITH_TESTS=OFF -DJSONCPP_WITH_EXAMPLE=OFF + -DBUILD_OBJECT_LIBS=OFF ) vcpkg_cmake_install() @@ -28,5 +29,6 @@ vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/jsoncpp) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") vcpkg_copy_pdbs() +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/jsoncpp/vcpkg.json b/ports/jsoncpp/vcpkg.json index f9daea0f09a9a7..4ca5d1fee6d69e 100644 --- a/ports/jsoncpp/vcpkg.json +++ b/ports/jsoncpp/vcpkg.json @@ -1,8 +1,9 @@ { "name": "jsoncpp", - "version": "1.9.5", - "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 new file mode 100644 index 00000000000000..94f782669bff64 --- /dev/null +++ b/ports/jsonifier/portfile.cmake @@ -0,0 +1,17 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO realtimechris/jsonifier + REF "v${VERSION}" + SHA512 6168378a117850297fcda78853a0babd0ce7e0ca21b3e8c276acb7e75e04d85ed8909061a62e3324c309fe9e31bc59d89ea06e47853b50481843273e95172ab8 + HEAD_REF main +) + +set(VCPKG_BUILD_TYPE release) # header-only + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" +) + +vcpkg_cmake_install() + +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 new file mode 100644 index 00000000000000..705154254e6f2b --- /dev/null +++ b/ports/jsonifier/vcpkg.json @@ -0,0 +1,14 @@ +{ + "name": "jsonifier", + "version": "0.9.97", + "description": "A few classes for parsing and serializing json - very rapidly.", + "homepage": "https://github.com/realtimechris/jsonifier", + "license": "MIT", + "supports": "(windows & x64 & !xbox) | (linux & x64) | (osx & x64)", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] +} diff --git a/ports/jsonnet/0003-use-upstream-nlohmann-json.patch b/ports/jsonnet/0003-use-upstream-nlohmann-json.patch index a2e1105b7c40a0..029fd007a6fa4c 100644 --- a/ports/jsonnet/0003-use-upstream-nlohmann-json.patch +++ b/ports/jsonnet/0003-use-upstream-nlohmann-json.patch @@ -1,5 +1,5 @@ diff --git a/core/vm.cpp b/core/vm.cpp -index 0cf06fa..d65a6d7 100644 +index 4617363..e328df5 100644 --- a/core/vm.cpp +++ b/core/vm.cpp @@ -23,7 +23,7 @@ limitations under the License. @@ -10,4 +10,4 @@ index 0cf06fa..d65a6d7 100644 +#include "nlohmann/json.hpp" #include "md5.h" #include "parser.h" - #include "state.h" + #include "ryml_std.hpp" // include this before any other ryml header diff --git a/ports/jsonnet/0004-incorporate-md5.patch b/ports/jsonnet/0004-incorporate-md5.patch index 830fb8d98db351..c56f1489c99780 100644 --- a/ports/jsonnet/0004-incorporate-md5.patch +++ b/ports/jsonnet/0004-incorporate-md5.patch @@ -1,4 +1,5 @@ diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt +index a152fa9..e8a0efa 100644 --- a/core/CMakeLists.txt +++ b/core/CMakeLists.txt @@ -15,7 +15,8 @@ set(LIBJSONNET_HEADERS @@ -22,20 +23,20 @@ diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt if (BUILD_SHARED_BINARIES) add_library(libjsonnet ${LIBJSONNET_HEADERS} ${LIBJSONNET_SOURCE}) -add_dependencies(libjsonnet md5 stdlib) --target_link_libraries(libjsonnet md5 nlohmann_json::nlohmann_json) +-target_link_libraries(libjsonnet md5 nlohmann_json::nlohmann_json ryml) +add_dependencies(libjsonnet stdlib) -+target_link_libraries(libjsonnet nlohmann_json::nlohmann_json) ++target_link_libraries(libjsonnet nlohmann_json::nlohmann_json ryml) file(STRINGS ${CMAKE_CURRENT_SOURCE_DIR}/../include/libjsonnet.h JSONNET_VERSION_DEF REGEX "[#]define[ \t]+LIB_JSONNET_VERSION[ \t]+") -@@ -54,8 +56,8 @@ endif() +@@ -56,8 +58,8 @@ endif() if (BUILD_STATIC_LIBS) # Static library for jsonnet command-line tool. add_library(libjsonnet_static STATIC ${LIBJSONNET_SOURCE}) - add_dependencies(libjsonnet_static md5 stdlib) -- target_link_libraries(libjsonnet_static md5 nlohmann_json::nlohmann_json) +- target_link_libraries(libjsonnet_static md5 nlohmann_json::nlohmann_json ryml) + add_dependencies(libjsonnet_static stdlib) -+ target_link_libraries(libjsonnet_static nlohmann_json::nlohmann_json) ++ target_link_libraries(libjsonnet_static nlohmann_json::nlohmann_json ryml) set_target_properties(libjsonnet_static PROPERTIES OUTPUT_NAME jsonnet) install(TARGETS libjsonnet_static DESTINATION "${CMAKE_INSTALL_LIBDIR}") target_include_directories(libjsonnet_static INTERFACE diff --git a/ports/jsonnet/0005-use-upstream-rapidyaml.patch b/ports/jsonnet/0005-use-upstream-rapidyaml.patch new file mode 100644 index 00000000000000..732a3f25478baa --- /dev/null +++ b/ports/jsonnet/0005-use-upstream-rapidyaml.patch @@ -0,0 +1,47 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 23a8114..f430146 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -15,6 +15,7 @@ option(BUILD_STATIC_LIBS "Build a static libjsonnet." ON) + option(BUILD_SHARED_BINARIES "Link binaries to the shared libjsonnet instead of the static one." OFF) + option(USE_SYSTEM_GTEST "Use system-provided gtest library" OFF) + option(USE_SYSTEM_JSON "Use the system-provided json library" OFF) ++option(USE_SYSTEM_RYML "Use the system-provided rapidyaml library" OFF) + set(GLOBAL_OUTPUT_PATH_SUFFIX "" CACHE STRING + "Output artifacts directory.") + +@@ -104,6 +105,11 @@ if(USE_SYSTEM_JSON) + else() + add_subdirectory(third_party/json) + endif() ++if(USE_SYSTEM_RYML) ++ find_package(ryml CONFIG REQUIRED) ++else() ++ add_subdirectory(third_party/rapidyaml/rapidyaml ryml) ++endif() + + # Look for libraries in global output path. + link_directories(${GLOBAL_OUTPUT_PATH}) +@@ -124,7 +130,6 @@ endif() + add_subdirectory(include) + add_subdirectory(stdlib) + add_subdirectory(third_party/md5) +-add_subdirectory(third_party/rapidyaml/rapidyaml ryml) + add_subdirectory(core) + add_subdirectory(cpp) + add_subdirectory(cmd) +diff --git a/core/vm.cpp b/core/vm.cpp +index e328df5..2cafbb7 100644 +--- a/core/vm.cpp ++++ b/core/vm.cpp +@@ -26,8 +26,8 @@ limitations under the License. + #include "nlohmann/json.hpp" + #include "md5.h" + #include "parser.h" +-#include "ryml_std.hpp" // include this before any other ryml header +-#include "ryml.hpp" ++#include "ryml/ryml_std.hpp" // include this before any other ryml header ++#include "ryml/ryml.hpp" + #include "state.h" + #include "static_analysis.h" + #include "string_utils.h" diff --git a/ports/jsonnet/0006-use-cxx17.patch b/ports/jsonnet/0006-use-cxx17.patch new file mode 100644 index 00000000000000..31174021a9ed10 --- /dev/null +++ b/ports/jsonnet/0006-use-cxx17.patch @@ -0,0 +1,20 @@ +diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt +index e8a0efa..5dfd2e4 100644 +--- a/core/CMakeLists.txt ++++ b/core/CMakeLists.txt +@@ -34,6 +34,7 @@ if (BUILD_SHARED_BINARIES) + add_library(libjsonnet ${LIBJSONNET_HEADERS} ${LIBJSONNET_SOURCE}) + add_dependencies(libjsonnet stdlib) + target_link_libraries(libjsonnet nlohmann_json::nlohmann_json ryml) ++target_compile_features(libjsonnet PRIVATE cxx_std_17) + + file(STRINGS ${CMAKE_CURRENT_SOURCE_DIR}/../include/libjsonnet.h JSONNET_VERSION_DEF + REGEX "[#]define[ \t]+LIB_JSONNET_VERSION[ \t]+") +@@ -60,6 +61,7 @@ if (BUILD_STATIC_LIBS) + add_library(libjsonnet_static STATIC ${LIBJSONNET_SOURCE}) + add_dependencies(libjsonnet_static stdlib) + target_link_libraries(libjsonnet_static nlohmann_json::nlohmann_json ryml) ++ target_compile_features(libjsonnet_static PRIVATE cxx_std_17) + set_target_properties(libjsonnet_static PROPERTIES OUTPUT_NAME jsonnet) + install(TARGETS libjsonnet_static DESTINATION "${CMAKE_INSTALL_LIBDIR}") + target_include_directories(libjsonnet_static INTERFACE diff --git a/ports/jsonnet/001-enable-msvc.patch b/ports/jsonnet/001-enable-msvc.patch index d5ec55149a3bdc..cbbcccc5e921bf 100644 --- a/ports/jsonnet/001-enable-msvc.patch +++ b/ports/jsonnet/001-enable-msvc.patch @@ -1,5 +1,5 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 385ea82..ebd12b6 100644 +index 5df20ca..23a8114 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,6 +2,8 @@ @@ -40,6 +40,7 @@ index c032f02..d80d2a0 100644 + install(TARGETS jsonnetfmt DESTINATION tools/jsonnet) endif() diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt +index e62a858..3b7afda 100644 --- a/core/CMakeLists.txt +++ b/core/CMakeLists.txt @@ -28,7 +28,7 @@ set(LIBJSONNET_SOURCE @@ -49,7 +50,7 @@ diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt -add_library(libjsonnet SHARED ${LIBJSONNET_HEADERS} ${LIBJSONNET_SOURCE}) +add_library(libjsonnet ${LIBJSONNET_HEADERS} ${LIBJSONNET_SOURCE}) add_dependencies(libjsonnet md5 stdlib) - target_link_libraries(libjsonnet md5 nlohmann_json::nlohmann_json) + target_link_libraries(libjsonnet md5 nlohmann_json::nlohmann_json ryml) @@ -46,7 +46,7 @@ set_target_properties(libjsonnet PROPERTIES OUTPUT_NAME jsonnet PUBLIC_HEADER "${LIB_HEADER}") diff --git a/ports/jsonnet/002-fix-dependency-and-install.patch b/ports/jsonnet/002-fix-dependency-and-install.patch index 51b63134b0fd87..73004735fac9e9 100644 --- a/ports/jsonnet/002-fix-dependency-and-install.patch +++ b/ports/jsonnet/002-fix-dependency-and-install.patch @@ -1,4 +1,5 @@ diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt +index 3b7afda..a152fa9 100644 --- a/core/CMakeLists.txt +++ b/core/CMakeLists.txt @@ -28,6 +28,7 @@ set(LIBJSONNET_SOURCE @@ -8,8 +9,8 @@ diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt +if (BUILD_SHARED_BINARIES) add_library(libjsonnet ${LIBJSONNET_HEADERS} ${LIBJSONNET_SOURCE}) add_dependencies(libjsonnet md5 stdlib) - target_link_libraries(libjsonnet md5 nlohmann_json::nlohmann_json) -@@ -48,6 +49,7 @@ install(TARGETS libjsonnet + target_link_libraries(libjsonnet md5 nlohmann_json::nlohmann_json ryml) +@@ -50,6 +51,7 @@ install(TARGETS libjsonnet PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") target_include_directories(libjsonnet INTERFACE $) @@ -17,13 +18,14 @@ diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt if (BUILD_STATIC_LIBS) # Static library for jsonnet command-line tool. -@@ -102,3 +104,5 @@ if (BUILD_TESTS) +@@ -106,3 +108,5 @@ if (BUILD_TESTS) add_test(jsonnet_test_snippet ${GLOBAL_OUTPUT_PATH}/jsonnet -e ${TEST_SNIPPET}) endif() + +install(FILES ${LIB_HEADER} DESTINATION include) diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt +index eb7686c..326125c 100644 --- a/cpp/CMakeLists.txt +++ b/cpp/CMakeLists.txt @@ -8,9 +8,9 @@ set(LIBJSONNETPP_SOURCE @@ -46,7 +48,7 @@ diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt if (BUILD_STATIC_LIBS) # Static library for jsonnet command-line tool. -@@ -38,6 +39,7 @@ else() +@@ -42,6 +43,7 @@ else() add_library(libjsonnet++_for_binaries ALIAS libjsonnet++_static) endif() diff --git a/ports/jsonnet/portfile.cmake b/ports/jsonnet/portfile.cmake index f7821c1b470713..bab4155d962442 100644 --- a/ports/jsonnet/portfile.cmake +++ b/ports/jsonnet/portfile.cmake @@ -5,17 +5,19 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/jsonnet - REF v0.17.0 - SHA512 D3EE6947163D8ABCED504FF37ECF365C0311164CBF243D4C635D34944F0831CA9FCE2470ACF00EB9A218F82A2E553B3F885DB9BD21BB9DCEFBD707FA0202925D + REF "v${VERSION}" + SHA512 d46d2521d4389d05f91a16ecd9f181be1853f674a9264e9fac23e413f1084dee947e80682af59603e15e443061a0beb50a30c14c858853e10ed1ae7187d09730 HEAD_REF master PATCHES 001-enable-msvc.patch 002-fix-dependency-and-install.patch 0003-use-upstream-nlohmann-json.patch 0004-incorporate-md5.patch + 0005-use-upstream-rapidyaml.patch + 0006-use-cxx17.patch ) -# see https://github.com/google/jsonnet/blob/v0.17.0/Makefile#L214 +# see https://github.com/google/jsonnet/blob/v0.18.0/Makefile#L220 if(VCPKG_TARGET_IS_WINDOWS) find_program(PWSH_PATH pwsh) vcpkg_execute_required_process( @@ -31,13 +33,8 @@ else() ) endif() -if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - set(BUILD_SHARED ON) - set(BUILD_STATIC OFF) -else() - set(BUILD_SHARED OFF) - set(BUILD_STATIC ON) -endif() +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" @@ -48,6 +45,7 @@ vcpkg_cmake_configure( -DBUILD_JSONNETFMT=OFF -DBUILD_TESTS=OFF -DUSE_SYSTEM_JSON=ON + -DUSE_SYSTEM_RYML=ON ) vcpkg_cmake_install() diff --git a/ports/jsonnet/vcpkg.json b/ports/jsonnet/vcpkg.json index 92984b1dddcc5c..9ef7a123b4b638 100644 --- a/ports/jsonnet/vcpkg.json +++ b/ports/jsonnet/vcpkg.json @@ -1,11 +1,12 @@ { "name": "jsonnet", - "version": "0.17.0", + "version": "0.20.0", "description": "Jsonnet - The data templating language", "homepage": "https://github.com/google/jsonnet", - "supports": "!(windows & !static)", + "license": "Apache-2.0", "dependencies": [ "nlohmann-json", + "ryml", { "name": "vcpkg-cmake", "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/0002-build-linux-find_packages.patch b/ports/juce/0002-build-linux-find_packages.patch new file mode 100644 index 00000000000000..da51607cc04886 --- /dev/null +++ b/ports/juce/0002-build-linux-find_packages.patch @@ -0,0 +1,36 @@ +diff --git a/extras/Build/CMake/JUCEModuleSupport.cmake b/extras/Build/CMake/JUCEModuleSupport.cmake +index e18dd5e08..45cc9245f 100644 +--- a/extras/Build/CMake/JUCEModuleSupport.cmake ++++ b/extras/Build/CMake/JUCEModuleSupport.cmake +@@ -353,6 +353,29 @@ function(_juce_create_pkgconfig_target name) + return() + endif() + ++ # The package that can be found via find_package instead of pkg-config ++ if("${name}" STREQUAL "freetype2") ++ find_package(Freetype REQUIRED) ++ add_library(juce::pkgconfig_${name} INTERFACE) ++ target_link_libraries(juce::pkgconfig_${name} INTERFACE Freetype::Freetype) ++ return() ++ elseif("${name}" STREQUAL "libcurl") ++ find_package(CURL REQUIRED) ++ add_library(juce::pkgconfig_${name} INTERFACE) ++ target_link_libraries(juce::pkgconfig_${name} INTERFACE CURL::libcurl) ++ return() ++ elseif("${name}" STREQUAL "alsa") ++ find_package(ALSA REQUIRED) ++ add_library(juce::pkgconfig_${name} INTERFACE) ++ target_link_libraries(juce::pkgconfig_${name} INTERFACE ALSA::ALSA) ++ return() ++ elseif("${name}" STREQUAL "gl") ++ find_package(OpenGL REQUIRED) ++ add_library(juce::pkgconfig_${name} INTERFACE) ++ target_link_libraries(juce::pkgconfig_${name} INTERFACE OpenGL::GL) ++ return() ++ endif() ++ + find_package(PkgConfig REQUIRED) + pkg_check_modules(${name} ${ARGN}) + +-- +2.34.1 diff --git a/ports/juce/0003-build-forward-vcpkg-toolchain.patch b/ports/juce/0003-build-forward-vcpkg-toolchain.patch new file mode 100644 index 00000000000000..02342ebb168d45 --- /dev/null +++ b/ports/juce/0003-build-forward-vcpkg-toolchain.patch @@ -0,0 +1,32 @@ +diff --git a/extras/Build/juceaide/CMakeLists.txt b/extras/Build/juceaide/CMakeLists.txt +index 163f203cc..f4cdba7f7 100644 +--- a/extras/Build/juceaide/CMakeLists.txt ++++ b/extras/Build/juceaide/CMakeLists.txt +@@ -111,6 +111,25 @@ else() + "-DCMAKE_BUILD_TYPE=Debug" + "-DJUCE_BUILD_HELPER_TOOLS=ON" + "-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}" ++ # forward vcpkg flags ++ "-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}" ++ "-DCMAKE_SYSTEM_NAME=${CMAKE_SYSTEM_NAME}" ++ "-DCMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION=${CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION}" ++ "-DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=${CMAKE_EXPORT_NO_PACKAGE_REGISTRY}" ++ "-DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=${CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY}" ++ "-DCMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY=${CMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY}" ++ "-DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP}" ++ "-DCMAKE_VERBOSE_MAKEFILE=${CMAKE_VERBOSE_MAKEFILE}" ++ "-DVCPKG_APPLOCAL_DEPS=${VCPKG_APPLOCAL_DEPS}" ++ "-DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=${VCPKG_CHAINLOAD_TOOLCHAIN_FILE}" ++ "-DVCPKG_CRT_LINKAGE=${VCPKG_CRT_LINKAGE}" ++ "-DVCPKG_MANIFEST_INSTALL=${VCPKG_MANIFEST_INSTALL}" ++ "-DVCPKG_PLATFORM_TOOLSET=${VCPKG_PLATFORM_TOOLSET}" ++ "-DVCPKG_SET_CHARSET_FLAG=${VCPKG_SET_CHARSET_FLAG}" ++ "-DVCPKG_TARGET_ARCHITECTURE=${VCPKG_TARGET_ARCHITECTURE}" ++ "-DVCPKG_TARGET_TRIPLET=${VCPKG_TARGET_TRIPLET}" ++ "-D_VCPKG_INSTALLED_DIR=${_VCPKG_INSTALLED_DIR}" ++ "-D_VCPKG_ROOT_DIR=${_VCPKG_ROOT_DIR}" + ${extra_compiler_flag_arguments} + WORKING_DIRECTORY "${JUCE_SOURCE_DIR}" + OUTPUT_VARIABLE command_output +-- +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..ccbd4d0e78aa25 --- /dev/null +++ b/ports/juce/0004-install-paths.patch @@ -0,0 +1,49 @@ +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() +diff --git a/extras/Build/juceaide/CMakeLists.txt b/extras/Build/juceaide/CMakeLists.txt +index f4cdba7f7..fab57fdb4 100644 +--- a/extras/Build/juceaide/CMakeLists.txt ++++ b/extras/Build/juceaide/CMakeLists.txt +@@ -164,7 +164,7 @@ else() + + add_executable(juce::juceaide ALIAS juceaide) + +- set(JUCE_TOOL_INSTALL_DIR "bin/JUCE-${JUCE_VERSION}" CACHE STRING ++ set(JUCE_TOOL_INSTALL_DIR "tools/juce" CACHE STRING + "The location, relative to the install prefix, where juceaide will be installed") + + install(PROGRAMS "${imported_location}" DESTINATION "${JUCE_TOOL_INSTALL_DIR}") +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a46b51f1a..38f863a3e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -123,7 +123,7 @@ write_basic_package_version_file("${JUCE_BINARY_DIR}/JUCEConfigVersion.cmake" + COMPATIBILITY ExactVersion + ${extra_version_arg}) + +-set(JUCE_INSTALL_DESTINATION "lib/cmake/JUCE-${JUCE_VERSION}" CACHE STRING ++set(JUCE_INSTALL_DESTINATION "share/juce" CACHE STRING + "The location, relative to the install prefix, where the JUCE config file will be installed") + + set(JUCE_MODULE_PATH "include/JUCE-${JUCE_VERSION}/modules") +-- +2.34.1 diff --git a/ports/juce/portfile.cmake b/ports/juce/portfile.cmake new file mode 100644 index 00000000000000..9117c7088ec5ad --- /dev/null +++ b/ports/juce/portfile.cmake @@ -0,0 +1,155 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO juce-framework/JUCE + REF "${VERSION}" + SHA512 2ca0d143ae1106271f6b1d6542e5388d5c57d471de5c9cac1f09b06d2de0662c03b354dea83860008526ec70cc0843115ab546481ce9af0a2c3f298adc02b328 + HEAD_REF master + PATCHES + "0001-build-allow-setting-JUCE_PLUGINHOST_LADSPA.patch" + "0002-build-linux-find_packages.patch" + "0003-build-forward-vcpkg-toolchain.patch" + "0004-install-paths.patch" +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS +FEATURES + "extras" JUCE_BUILD_EXTRAS + "ladspa" JUCE_PLUGINHOST_LADSPA + "jack" JUCE_JACK + "curl" JUCE_USE_CURL + "freetype" JUCE_USE_FREETYPE + "xcursor" JUCE_USE_XCURSOR + "xinerama" JUCE_USE_XINERAMA + "xrandr" JUCE_USE_XRANDR + "xrender" JUCE_USE_XRENDER + "web-browser" JUCE_WEB_BROWSER + "opengl" JUCE_OPENGL +) +# Based on https://github.com/juce-framework/JUCE/blob/master/docs/Linux%20Dependencies.md +if(CMAKE_HOST_SYSTEM_NAME STREQUAL "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() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DJUCE_ENABLE_MODULE_SOURCE_GROUPS=ON + ${FEATURE_OPTIONS} + MAYBE_UNUSED_VARIABLES + JUCE_PLUGINHOST_LADSPA + JUCE_JACK + JUCE_OPENGL + JUCE_USE_CURL + JUCE_USE_FREETYPE + JUCE_USE_XCURSOR + JUCE_USE_XINERAMA + JUCE_USE_XRANDR + JUCE_USE_XRENDER + JUCE_WEB_BROWSER +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup() +vcpkg_fixup_pkgconfig() +vcpkg_copy_pdbs() + +# Copy tools +file(GLOB JUCE_TOOLS "${CURRENT_PACKAGES_DIR}/bin/JUCE-${VERSION}/*") +foreach(JUCE_TOOL_PATH IN LISTS JUCE_TOOLS) + get_filename_component(JUCE_TOOL "${JUCE_TOOL_PATH}" NAME_WLE) + get_filename_component(JUCE_TOOL_DIR "${JUCE_TOOL_PATH}" DIRECTORY) + vcpkg_copy_tools(TOOL_NAMES ${JUCE_TOOL} SEARCH_DIR "${JUCE_TOOL_DIR}") +endforeach() + +# Copy extras tools +if(JUCE_BUILD_EXTRAS) + file(GLOB JUCE_EXTRA_TOOLS "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/extras/*/*_artefacts/Release/*") + foreach(JUCE_EXTRA_TOOL_PATH IN LISTS JUCE_EXTRA_TOOLS) + get_filename_component(JUCE_EXTRA_TOOL "${JUCE_EXTRA_TOOL_PATH}" NAME_WLE) + get_filename_component(JUCE_EXTRA_TOOL_DIR "${JUCE_EXTRA_TOOL_PATH}" DIRECTORY) + vcpkg_copy_tools(TOOL_NAMES ${JUCE_EXTRA_TOOL} SEARCH_DIR "${JUCE_EXTRA_TOOL_DIR}") + endforeach() +endif() + +# Copy JUCE modules including the cpp/cmake files +file(GLOB JUCE_MODULES_FOLDERS "${CURRENT_PACKAGES_DIR}/include/JUCE-${VERSION}/modules/*") +foreach(JUCE_MODULE_FOLDER IN LISTS JUCE_MODULES_FOLDERS) + file(COPY "${JUCE_MODULE_FOLDER}" DESTINATION "${CURRENT_PACKAGES_DIR}/include") +endforeach() + +# Remove duplicate tools directories +file(REMOVE_RECURSE +"${CURRENT_PACKAGES_DIR}/bin" +"${CURRENT_PACKAGES_DIR}/debug/bin" +) + +# Remove duplicate debug files +file(REMOVE_RECURSE +"${CURRENT_PACKAGES_DIR}/debug/" +) + +# Copy license +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.md") + +# Copy usage examples +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") 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.json b/ports/juce/vcpkg.json new file mode 100644 index 00000000000000..5e9921d8423c8a --- /dev/null +++ b/ports/juce/vcpkg.json @@ -0,0 +1,105 @@ +{ + "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json", + "name": "juce", + "version": "7.0.12", + "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": "!android & !uwp", + "dependencies": [ + { + "name": "alsa", + "platform": "linux" + }, + { + "name": "juce", + "host": true + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "default-features": [ + "curl", + "freetype", + "jack", + "opengl", + "xcursor", + "xinerama", + "xrandr", + "xrender" + ], + "features": { + "curl": { + "description": "Enable CURL support", + "dependencies": [ + "curl" + ] + }, + "extras": { + "description": "Enable JUCE Extras such as Projucer, AudioPluginHost, BinaryBuilder." + }, + "freetype": { + "description": "Enable FreeType support", + "dependencies": [ + "freetype" + ] + }, + "jack": { + "description": "Enable JACK audio support", + "dependencies": [ + { + "name": "jack2", + "platform": "linux" + } + ] + }, + "ladspa": { + "description": "Enable LADSPA plugin host support." + }, + "opengl": { + "description": "Enable OpenGL support", + "dependencies": [ + "opengl" + ] + }, + "web-browser": { + "description": "Enable WebBrowser support" + }, + "xcursor": { + "description": "Enable XCursor support" + }, + "xinerama": { + "description": "Enable Xinerama support", + "dependencies": [ + { + "name": "libxinerama", + "platform": "linux" + } + ] + }, + "xrandr": { + "description": "Enable XRandR support", + "dependencies": [ + { + "name": "libxrandr", + "platform": "linux" + } + ] + }, + "xrender": { + "description": "Enable XRender support", + "dependencies": [ + { + "name": "libxrender", + "platform": "linux" + } + ] + } + } +} 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 d501753be6542b..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 60122bbd8e6b9009c4633c1a33ea94c5b682034a # v0.5.1 - SHA512 ae905e217824d21ec9f098f562d993fbae71b2223e65f3bbcc29d352af61f2aa09b5c6b12c7d94742901a1374f9683335d3b4934c25b11500b710398331f6cb4 + 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 8f1471c37b2ea7..77ba82e2b92e22 100644 --- a/ports/jwt-cpp/vcpkg.json +++ b/ports/jwt-cpp/vcpkg.json @@ -1,10 +1,20 @@ { "name": "jwt-cpp", - "version-semver": "0.5.1", + "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 7a73e3cba5ace4..18c924f6fcacdb 100644 --- a/ports/jxrlib/CMakeLists.txt +++ b/ports/jxrlib/CMakeLists.txt @@ -18,9 +18,15 @@ macro(JXR_MAKE_OBJ SET_NAME) endforeach() endmacro() -if(NOT MSVC) +if(NOT WIN32) add_definitions(-D__ANSI__) - add_compile_options(-Wno-error=implicit-function-declaration) +endif() +if(NOT MSVC) + 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/fix-mingw.patch b/ports/jxrlib/fix-mingw.patch new file mode 100644 index 00000000000000..10ea197d5f82eb --- /dev/null +++ b/ports/jxrlib/fix-mingw.patch @@ -0,0 +1,51 @@ +diff --git a/common/include/wmspecstrings_adt.h b/common/include/wmspecstrings_adt.h +index ca7f25f..d5eb028 100644 +--- a/common/include/wmspecstrings_adt.h ++++ b/common/include/wmspecstrings_adt.h +@@ -36,6 +36,10 @@ + __type_has_adt_prop(compname,valid_schars) \ + __type_has_adt_prop(compname,correct_len) \ + __nullterminated ++#ifdef __MINGW32__ ++#undef __$compname_props ++#define __$compname_props ++#endif + #if defined(UNICODE) || defined(_UNICODE) + #define __$TCHAR unsigned short + #else +diff --git a/image/sys/strcodec.h b/image/sys/strcodec.h +index 695a454..9fad5b6 100644 +--- a/image/sys/strcodec.h ++++ b/image/sys/strcodec.h +@@ -59,7 +59,7 @@ + //#ifdef WIN32 + #if defined(WIN32) && !defined(UNDER_CE) // WIN32 seems to be defined always in VS2005 for ARM platform + #define PLATFORM_X86 +-#include "..\x86\x86.h" ++#include "../x86/x86.h" + #endif + + #ifndef UNREFERENCED_PARAMETER +diff --git a/jxrgluelib/JXRMeta.h b/jxrgluelib/JXRMeta.h +index b7b5880..7c9d653 100644 +--- a/jxrgluelib/JXRMeta.h ++++ b/jxrgluelib/JXRMeta.h +@@ -111,6 +111,18 @@ + #define __out_win __out + #endif + ++#ifndef __in ++#define __in ++#endif ++#ifndef __out ++#define __out ++#endif ++#ifndef __in_ecount ++#define __in_ecount(x) ++#endif ++#ifndef __out_ecount ++#define __out_ecount(x) ++#endif + + //================================================================ + diff --git a/ports/jxrlib/guiddef.patch b/ports/jxrlib/guiddef.patch new file mode 100644 index 00000000000000..4ff1be2ceec35b --- /dev/null +++ b/ports/jxrlib/guiddef.patch @@ -0,0 +1,20 @@ +diff --git a/common/include/guiddef.h b/common/include/jxrguiddef.h +similarity index 100% +rename from common/include/guiddef.h +rename to common/include/jxrguiddef.h +diff --git a/jxrgluelib/JXRGlue.h b/jxrgluelib/JXRGlue.h +index d0b219c..c3e5d2b 100644 +--- a/jxrgluelib/JXRGlue.h ++++ b/jxrgluelib/JXRGlue.h +@@ -32,7 +32,11 @@ extern "C" { + #endif + + #include ++#ifdef _WIN32 + #include ++#else ++#include ++#endif + + //================================================================ + #define WMP_SDK_VERSION 0x0101 diff --git a/ports/jxrlib/portfile.cmake b/ports/jxrlib/portfile.cmake index a15541b9964a0c..0616a9f09c0c9b 100644 --- a/ports/jxrlib/portfile.cmake +++ b/ports/jxrlib/portfile.cmake @@ -6,30 +6,24 @@ vcpkg_from_github( REF f7521879862b9085318e814c6157490dd9dbbdb4 SHA512 f5617cbe73b6b905cc6bba181e6a3efedd59584f7a8c90e0f34db580cfdad4239a2ab753df4e221f26a5c0db51475b021052e3b9e3ab3673573573b1d57f3fdb HEAD_REF master + PATCHES + guiddef.patch + fix-mingw.patch ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -if(NOT VCPKG_CMAKE_SYSTEM_NAME MATCHES Darwin AND NOT VCPKG_CMAKE_SYSTEM_NAME MATCHES Linux) - # The file guiddef.h is part of the Windows SDK, - # we then remove the local copy shipped with jxrlib - file(REMOVE ${SOURCE_PATH}/common/include/guiddef.h) -endif() - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -#install FindJXR.cmake file -file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/FindJXR.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/jxr) -file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/jxr) -file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/jxr) +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/FindJXR.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/jxr") +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/jxr") -# Handle copyright -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}") +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/jxrlib/vcpkg.json b/ports/jxrlib/vcpkg.json index bdd2c9eb1e5237..bad3f880162be1 100644 --- a/ports/jxrlib/vcpkg.json +++ b/ports/jxrlib/vcpkg.json @@ -1,7 +1,14 @@ { "name": "jxrlib", "version": "2019.10.9", - "port-version": 3, + "port-version": 7, "description": "Open source implementation of the jpegxr image format standard.", - "homepage": "https://github.com/4creators/jxrlib" + "homepage": "https://github.com/4creators/jxrlib", + "license": "BSD-2-Clause", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/kaitai-struct-cpp-stl-runtime/portfile.cmake b/ports/kaitai-struct-cpp-stl-runtime/portfile.cmake new file mode 100644 index 00000000000000..4c54b317690046 --- /dev/null +++ b/ports/kaitai-struct-cpp-stl-runtime/portfile.cmake @@ -0,0 +1,25 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO kaitai-io/kaitai_struct_cpp_stl_runtime + REF ${VERSION} + SHA512 53b26627e281a12b6c1d217e8b439aba7dabf6fc55d3edc27e70f7757851f060f4039db3a16c48c5c60a715671b855b51e527f154df7d94547943f865c9d4b9a + HEAD_REF master +) + +set(STRING_ENCODING_TYPE "NONE") +if ("iconv" IN_LIST FEATURES) + set(STRING_ENCODING_TYPE "ICONV") +endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DSTRING_ENCODING_TYPE=${STRING_ENCODING_TYPE} + -DBUILD_TESTS=OFF +) + +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/kaitai-struct-cpp-stl-runtime/vcpkg.json b/ports/kaitai-struct-cpp-stl-runtime/vcpkg.json new file mode 100644 index 00000000000000..07264154c50ae8 --- /dev/null +++ b/ports/kaitai-struct-cpp-stl-runtime/vcpkg.json @@ -0,0 +1,31 @@ +{ + "name": "kaitai-struct-cpp-stl-runtime", + "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", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "zlib" + ], + "default-features": [ + "iconv" + ], + "features": { + "iconv": { + "description": "Set the way strings have to be encoded to ICONV", + "dependencies": [ + "libiconv" + ] + } + } +} diff --git a/ports/kangaru/portfile.cmake b/ports/kangaru/portfile.cmake index 1204f85547d9f7..1ebba9cd6b4124 100644 --- a/ports/kangaru/portfile.cmake +++ b/ports/kangaru/portfile.cmake @@ -1,27 +1,33 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO gracicot/kangaru - REF 8da8f0d5a434a6fb2f317022221ea0809914d4a6 # v4.2.4 - SHA512 e5cfdad793db3b3d5ff093e4120a5131000677504eed09c02817c9a49699c044a88183413ad7b09946abb0258df34fe444078c375a5bf70589345d2aa2c2283b + REF "v${VERSION}" + SHA512 03835b156d6da9239e316bfad07684b7f3197798c314f7d8f707e9e225795546887867c5af7fd8ae075b7143d2f160b0185d6be16146975c868dea99c7334129 HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS -DKANGARU_EXPORT=Off -DKANGARU_TEST=Off -DKANGARU_REVERSE_DESTRUCTION=On +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + hashtypeid KANGARU_HASH_TYPE_ID ) -vcpkg_install_cmake() +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DKANGARU_EXPORT=OFF + -DKANGARU_TEST=OFF + -DKANGARU_REVERSE_DESTRUCTION=ON + ${FEATURE_OPTIONS} +) + +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/kangaru) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/kangaru) file(REMOVE_RECURSE - ${CURRENT_PACKAGES_DIR}/lib - ${CURRENT_PACKAGES_DIR}/debug + "${CURRENT_PACKAGES_DIR}/lib" + "${CURRENT_PACKAGES_DIR}/debug" ) - # Put the license file where vcpkg expects it -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/kangaru/) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/kangaru/LICENSE ${CURRENT_PACKAGES_DIR}/share/kangaru/copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/kangaru/vcpkg.json b/ports/kangaru/vcpkg.json index 411c67133b602a..245f901d204923 100644 --- a/ports/kangaru/vcpkg.json +++ b/ports/kangaru/vcpkg.json @@ -1,6 +1,22 @@ { "name": "kangaru", - "version-string": "4.2.4", - "port-version": 1, - "description": "A dependency injection container for C++11, C++14 and later" + "version": "4.3.2", + "description": "A dependency injection container for C++11, C++14 and later", + "homepage": "https://github.com/gracicot/kangaru", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "hashtypeid": { + "description": "Enable hash based type id" + } + } } diff --git a/ports/kd-soap/portfile.cmake b/ports/kd-soap/portfile.cmake deleted file mode 100644 index 03f99fab8ba454..00000000000000 --- a/ports/kd-soap/portfile.cmake +++ /dev/null @@ -1,32 +0,0 @@ -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO KDAB/KDSoap - REF fb0e905e242c2044fd25683a406eb6d369db052f # kdsoap-1.9.0 - SHA512 30f78602702f2bb77f72bf0637b413d70976cf10789b18d1eb9c097f6b3821b86e75d0ae921454b2d39b7d023f479dc089cde1915533a37054f9b26893f611d3 - HEAD_REF master -) - -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" KDSoap_STATIC) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - -DKDSoap_STATIC=${KDSoap_STATIC} - -DKDSoap_EXAMPLES=OFF -) - -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/KDSoap TARGET_PATH share/KDSoap) - -file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools) -file(RENAME ${CURRENT_PACKAGES_DIR}/bin/kdwsdl2cpp${VCPKG_TARGET_EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/kdwsdl2cpp${VCPKG_TARGET_EXECUTABLE_SUFFIX}) -file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/kdwsdl2cpp${VCPKG_TARGET_EXECUTABLE_SUFFIX}) -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) -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 3cd11e0e42b4c7..00000000000000 --- a/ports/kd-soap/vcpkg.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "name": "kd-soap", - "version-string": "1.9.0", - "port-version": 1, - "description": "A Qt-based client-side and server-side SOAP component", - "homepage": "https://www.kdab.com/products/kd-soap", - "dependencies": [ - { - "name": "qt5-base", - "default-features": false - } - ] -} diff --git a/ports/kdalgorithms/portfile.cmake b/ports/kdalgorithms/portfile.cmake new file mode 100644 index 00000000000000..7e67a6192cabf5 --- /dev/null +++ b/ports/kdalgorithms/portfile.cmake @@ -0,0 +1,15 @@ +# header-only library +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO KDAB/KDAlgorithms + REF ${VERSION} + SHA512 8e7633fb8a42a8e9c9897367fcc19ae506004e60efbdd5cf0f9b8f41b3481d4dc5c71f82d22e71b438878157a15efec9107da0e7868d79f098c5a61830808274 +) + +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") + +file(COPY "${CMAKE_CURRENT_LIST_DIR}/usage" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/kdalgorithms/usage b/ports/kdalgorithms/usage new file mode 100644 index 00000000000000..11c4103cee28dc --- /dev/null +++ b/ports/kdalgorithms/usage @@ -0,0 +1,4 @@ +kdalgorithms is header-only and can be used from CMake via: + + find_path(KDALGORITHMS_INCLUDE_DIRS "kdalgorithms.h" PATH_SUFFIXES kdalgorithms) + target_include_directories(main PRIVATE ${KDALGORITHMS_INCLUDE_DIRS}) diff --git a/ports/kdalgorithms/vcpkg.json b/ports/kdalgorithms/vcpkg.json new file mode 100644 index 00000000000000..6a32369c7069ce --- /dev/null +++ b/ports/kdalgorithms/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "kdalgorithms", + "version": "1.3", + "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 736e8efbed177d..df5f2dd1704624 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 bbf790fc94f3018781f32be53c6086aedc0f74ec - SHA512 4303f8e73b376e851d40cab99b848788ae2aff00e0e4ec0006655d8ef9373eebe5e04f734e78037e257d7a5101739b912da9dab15bf1985f204b31224d9c53c5 + REF "v${VERSION}" + SHA512 a1a672cdf8b51d12bd8dea2feb0aae310914874012edbf91f66a0020682e8b7f525e4000ff41102b056f4fca968f0bca021d28eefd81a52d1dfb007afb62ad4c HEAD_REF main ) diff --git a/ports/kdbindings/vcpkg.json b/ports/kdbindings/vcpkg.json index 0797c2cb15b0aa..4d3ab3101c2470 100644 --- a/ports/kdbindings/vcpkg.json +++ b/ports/kdbindings/vcpkg.json @@ -1,6 +1,6 @@ { "name": "kdbindings", - "version": "1.0.0", + "version": "1.0.5", "description": "Reactive programming & data binding in C++", "homepage": "https://github.com/KDAB/KDBindings", "license": "MIT OR BSD-3-Clause", diff --git a/ports/kddockwidgets/portfile.cmake b/ports/kddockwidgets/portfile.cmake new file mode 100644 index 00000000000000..443369e994d2c9 --- /dev/null +++ b/ports/kddockwidgets/portfile.cmake @@ -0,0 +1,44 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO KDAB/KDDockWidgets + REF "v${VERSION}" + SHA512 7b88f354e2aca4ac4c0f59874b6a7d6baaf77f5b54dd57b981ec7831e40acc0e2f6d3c6300af3d93c594bf34c7072c6a8a19a50c65039ccae22a9e47b90499d8 + HEAD_REF master +) + +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() +endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${_qarg_OPTIONS} + -DKDDockWidgets_QT6=ON + "-DKDDockWidgets_FRONTENDS=qtwidgets" + -DKDDockWidgets_STATIC=${KD_STATIC} + -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 +) + +vcpkg_cmake_install() +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") +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") diff --git a/ports/kddockwidgets/vcpkg.json b/ports/kddockwidgets/vcpkg.json new file mode 100644 index 00000000000000..2b34a951f50b06 --- /dev/null +++ b/ports/kddockwidgets/vcpkg.json @@ -0,0 +1,23 @@ +{ + "name": "kddockwidgets", + "version": "2.1.0", + "description": "KDAB's Dock Widget Framework for Qt", + "homepage": "https://www.kdab.com/development-resources/qt-tools/kddockwidgets/", + "dependencies": [ + { + "name": "qtbase", + "default-features": false, + "features": [ + "widgets" + ] + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/kdsoap/portfile.cmake b/ports/kdsoap/portfile.cmake new file mode 100644 index 00000000000000..3b56a95c0253b8 --- /dev/null +++ b/ports/kdsoap/portfile.cmake @@ -0,0 +1,35 @@ +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}" +) + +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") diff --git a/ports/kdsoap/vcpkg.json b/ports/kdsoap/vcpkg.json new file mode 100644 index 00000000000000..ecadec916a5511 --- /dev/null +++ b/ports/kdsoap/vcpkg.json @@ -0,0 +1,21 @@ +{ + "name": "kdsoap", + "version": "2.2.0", + "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/kealib/hdf5_include.patch b/ports/kealib/hdf5_include.patch deleted file mode 100644 index 19598c56ba5789..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 95a5d7f..fbfebc1 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 9987a7c..39dbb21 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 b4f7fad..6a8a8b7 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 3175c93..67b02a2 100644 ---- a/include/libkea/KEACommon.h -+++ b/include/libkea/KEACommon.h -@@ -38,7 +38,7 @@ - #include - #include - --#include "H5Cpp.h" -+#include - - // MSVC 2008 uses different names.... - #ifdef _MSC_VER -diff --git a/include/libkea/KEAImageIO.h b/include/libkea/KEAImageIO.h -index d510cae..4c2aa97 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 eabf0c46de1ea7..3367edf923b9bd 100644 --- a/ports/kealib/portfile.cmake +++ b/ports/kealib/portfile.cmake @@ -1,25 +1,26 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ubarsc/kealib - REF 4984102cf5867105a28ae754689566217309d120 #1.4.14 - SHA512 06628996757bc9cffc5af0f03468ec32246980b6f72f7f1c88a489a8a2aed70924115df0726fcbb9851e44030c6a44ee0f3137660de43af421dec1eab81cc147 + REF "kealib-${VERSION}" + SHA512 ccaaf9d5031eac32bf1a0e6b9e9efb4f5245fc730d33bd9931efb1a6f529990c6da8ddd400ec0d58ee527675057b74c81393d263c9b182ac5f9a8796273b001f HEAD_REF master - PATCHES hdf5_include.patch + PATCHES + no-kea-config-script.diff ) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DLIBKEA_WITH_GDAL=OFF + -DCMAKE_DISABLE_FIND_PACKAGE_GDAL=ON ) 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 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 d956725b952fca..7e324a5a2c4226 100644 --- a/ports/kealib/vcpkg.json +++ b/ports/kealib/vcpkg.json @@ -1,8 +1,9 @@ { "name": "kealib", - "version": "1.4.14", + "version": "1.5.3", "description": "KEALib provides an implementation of the GDAL data model using HDF5.", "homepage": "https://github.com/ubarsc/kealib", + "license": "MIT", "dependencies": [ { "name": "hdf5", @@ -13,6 +14,10 @@ { "name": "vcpkg-cmake", "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true } ] } diff --git a/ports/keccak-tiny/CMakeLists.txt b/ports/keccak-tiny/CMakeLists.txt new file mode 100644 index 00000000000000..b6f9377637ca00 --- /dev/null +++ b/ports/keccak-tiny/CMakeLists.txt @@ -0,0 +1,46 @@ +cmake_minimum_required(VERSION 3.19) +project(keccak-tiny VERSION 2014.09.08 LANGUAGES C) + +set(Header_Files "${PROJECT_NAME}.h") +set(Source_Files "${PROJECT_NAME}-unrolled.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 "${Header_Files}") + +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 ${Header_Files} 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/keccak-tiny/portfile.cmake b/ports/keccak-tiny/portfile.cmake new file mode 100644 index 00000000000000..f117936f623530 --- /dev/null +++ b/ports/keccak-tiny/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 coruus/${PORT} + REF 64b6647514212b76ae7bca0dea9b7b197d1d8186 + SHA512 5cf14061efc1b3c934dfb28a08e2a478036109c449aed41d4deb975a9f0748db06f83c1de9e5d991009d04f0220a397f5f66232a4db04bbc0dea0c624522752c + HEAD_REF master +) + +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" + DESTINATION "${SOURCE_PATH}") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-${PORT}) + +file(WRITE "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" "CC0-1.0") +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/keccak-tiny/usage b/ports/keccak-tiny/usage new file mode 100644 index 00000000000000..f6c1fe0d59fd1d --- /dev/null +++ b/ports/keccak-tiny/usage @@ -0,0 +1,3 @@ +keccak-tiny provides CMake targets: + find_package(unofficial-keccak-tiny CONFIG REQUIRED) + target_link_libraries(main PRIVATE unofficial::keccak-tiny::keccak-tiny) diff --git a/ports/keccak-tiny/vcpkg.json b/ports/keccak-tiny/vcpkg.json new file mode 100644 index 00000000000000..d0bd6679742b21 --- /dev/null +++ b/ports/keccak-tiny/vcpkg.json @@ -0,0 +1,19 @@ +{ + "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", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} 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.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/fix-const-overloaded.patch b/ports/kenlm/fix-const-overloaded.patch deleted file mode 100644 index 2a77b335f858a3..00000000000000 --- a/ports/kenlm/fix-const-overloaded.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/util/proxy_iterator.hh b/util/proxy_iterator.hh -index 8aa697b..9de2663 100644 ---- a/util/proxy_iterator.hh -+++ b/util/proxy_iterator.hh -@@ -77,8 +77,7 @@ template class ProxyIterator { - - std::ptrdiff_t operator-(const S &other) const { return I() - other.I(); } - -- Proxy operator*() { return p_; } -- const Proxy operator*() const { return p_; } -+ Proxy operator*() const { return p_; } - Proxy *operator->() { return &p_; } - const Proxy *operator->() const { return &p_; } - Proxy operator[](std::ptrdiff_t amount) const { return *(*this + amount); } diff --git a/ports/kenlm/portfile.cmake b/ports/kenlm/portfile.cmake index ad0c5c6c9408c0..bc57af00e8666b 100644 --- a/ports/kenlm/portfile.cmake +++ b/ports/kenlm/portfile.cmake @@ -1,50 +1,52 @@ -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 kpu/kenlm - REF 1f054617eca14eae921e987b4b4eeb2b1d91de6b - SHA512 c18f9c22fbbb1f54ebe9c3b771fb2d7c09d502141d1b3645cff9db44cc51b3c976311ff0db79b60f410622579d043f185c56a4c7386e1b0ba8708e433238968b + REF 5bf7b46558e1c5595bf3b8c9b0b1f9d8d257040a + SHA512 04b645d09e60b65cb1e5065a1623ad01737f0dd9415cf620288ace0db10b1c424d72f304b34c52fa08684f3fecdaad9db91088134f34ed374cb1eb9d58c635b5 HEAD_REF master PATCHES + devendor.patch + cmake-config.patch fix-boost.patch - fix-const-overloaded.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 - interpolate ENABLE_INTERPOLATE + FEATURES + interpolate ENABLE_INTERPOLATE ) -if ("interpolate" IN_LIST FEATURES AND VCPKG_TARGET_IS_WINDOWS) - message(FATAL_ERROR "The interpolate feature does not support Windows.") -endif() - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +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_install_cmake() +vcpkg_cmake_install() +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) vcpkg_copy_pdbs() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -# Copyright and License -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME 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 66c218ad92c24e..09dd862010df0e 100644 --- a/ports/kenlm/vcpkg.json +++ b/ports/kenlm/vcpkg.json @@ -1,8 +1,9 @@ { "name": "kenlm", - "version-string": "20200924", + "version": "20230531", "port-version": 1, "description": "KenLM: Faster and Smaller Language Model Queries", + "license": null, "supports": "!(arm64 & windows)", "dependencies": [ "boost-interprocess", @@ -12,21 +13,24 @@ "boost-test", "boost-thread", "bzip2", + "double-conversion", + "liblzma", { - "name": "eigen3", - "platform": "!windows" + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true }, - "liblzma", "zlib" ], "features": { "interpolate": { "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..ac8c7f1fbc97b4 --- /dev/null +++ b/ports/kerbal/portfile.cmake @@ -0,0 +1,50 @@ + +set(KERBAL_SHA_CORE cf9830a6b6696c556bc2ed64a42db2dfc1fae2057f170c479db58bf5ced96c68bb999cdf02e8466fa983391e0b4bdebc8d1f7bc3830a5e9365c8145ff29928c1) +set(KERBAL_SHA_PRETTY_PRINTER 78f512c55bce9c2d60cdb34d0e64088b4d613340d0e26757b3db1bf50c3586008f0456a386a90626a43b844b66e37f914dbc48dcf5a53381c89f8b4500b849fb) + + +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..a75f92b68ddff5 --- /dev/null +++ b/ports/kerbal/vcpkg.json @@ -0,0 +1,22 @@ +{ + "name": "kerbal", + "version": "2024.8.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/keystone/portfile.cmake b/ports/keystone/portfile.cmake index 6a6e25690e9f06..3b652722dc6333 100644 --- a/ports/keystone/portfile.cmake +++ b/ports/keystone/portfile.cmake @@ -1,5 +1,3 @@ -vcpkg_fail_port_install(ON_TARGET "uwp") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO keystone-engine/keystone @@ -8,7 +6,7 @@ vcpkg_from_github( HEAD_REF master ) -vcpkg_find_acquire_program(PYTHON2) +vcpkg_find_acquire_program(PYTHON3) string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" KEYSTONE_BUILD_STATIC_RUNTIME) @@ -16,7 +14,7 @@ vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DKEYSTONE_BUILD_STATIC_RUNTIME=${KEYSTONE_BUILD_STATIC_RUNTIME} - -DPYTHON_EXECUTABLE=${PYTHON2} + -DPYTHON_EXECUTABLE=${PYTHON3} # Add support for only a subset of architectures #-DLLVM_TARGETS_TO_BUILD="AArch64;X86" @@ -43,4 +41,4 @@ endif() vcpkg_fixup_pkgconfig() # Handle copyright -file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) \ No newline at end of file +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/keystone/vcpkg.json b/ports/keystone/vcpkg.json index 62827d58e690d2..1c0f82da50b4d4 100644 --- a/ports/keystone/vcpkg.json +++ b/ports/keystone/vcpkg.json @@ -1,7 +1,7 @@ { "name": "keystone", "version-semver": "0.9.2", - "port-version": 1, + "port-version": 3, "description": "A Lightweight multi-platform, multi-architecture assembler framework.", "homepage": "https://github.com/keystone-engine/keystone", "supports": "!uwp", diff --git a/ports/kf5archive/add_support_for_static_builds.patch b/ports/kf5archive/add_support_for_static_builds.patch deleted file mode 100644 index 7ad973d3936c18..00000000000000 --- a/ports/kf5archive/add_support_for_static_builds.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 5dc3f846c27ee6d55131db475975e3c24cd0c19c Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Dawid=20Wro=CC=81bel?= -Date: Wed, 28 Jul 2021 11:39:30 +0200 -Subject: [PATCH] Add support for static builds - ---- - KF5ArchiveConfig.cmake.in | 20 ++++++++++++++++++++ - 1 file changed, 20 insertions(+) - -diff --git a/KF5ArchiveConfig.cmake.in b/KF5ArchiveConfig.cmake.in -index 3d32642..0a738c2 100644 ---- a/KF5ArchiveConfig.cmake.in -+++ b/KF5ArchiveConfig.cmake.in -@@ -4,9 +4,29 @@ include(CMakeFindDependencyMacro) - find_dependency(Qt5Core @REQUIRED_QT_VERSION@) - - -+set(KArchive_HAVE_ZLIB "@ZLIB_FOUND@") - set(KArchive_HAVE_BZIP2 "@BZIP2_FOUND@") - set(KArchive_HAVE_LZMA "@LIBLZMA_FOUND@") - set(KArchive_HAVE_ZSTD "@LibZstd_FOUND@") - -+if (NOT @BUILD_SHARED_LIBS@) -+ if (@ZLIB_FOUND@) -+ find_dependency(ZLIB) -+ endif() -+ -+ if (@BZIP2_FOUND@) -+ find_dependency(BZip2) -+ endif() -+ -+ if (@LIBLZMA_FOUND@) -+ find_dependency(LibLZMA) -+ endif() -+ -+ if (@LibZstd_FOUND@) -+ find_package(PkgConfig) -+ pkg_check_modules(LibZstd IMPORTED_TARGET "libzstd") -+ endif() -+endif() -+ - include("${CMAKE_CURRENT_LIST_DIR}/KF5ArchiveTargets.cmake") - @PACKAGE_INCLUDE_QCHTARGETS@ --- -GitLab - diff --git a/ports/kf5archive/add_zstd_to_cmake_config.patch b/ports/kf5archive/add_zstd_to_cmake_config.patch deleted file mode 100644 index 8b960bb4f08f39..00000000000000 --- a/ports/kf5archive/add_zstd_to_cmake_config.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 5a79756f381e1a1843cb2171bdc151dad53fb7db Mon Sep 17 00:00:00 2001 -From: "Friedrich W. H. Kossebau" -Date: Wed, 7 Jul 2021 03:09:38 +0200 -Subject: [PATCH] Report KArchive_HAVE_ZSTD in CMake Config file to consumers - -Allows users of KArchive to query whether zstd is available, -in the same way as lzma & bzip2 ---- - KF5ArchiveConfig.cmake.in | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/KF5ArchiveConfig.cmake.in b/KF5ArchiveConfig.cmake.in -index 0d59d63..3d32642 100644 ---- a/KF5ArchiveConfig.cmake.in -+++ b/KF5ArchiveConfig.cmake.in -@@ -6,6 +6,7 @@ find_dependency(Qt5Core @REQUIRED_QT_VERSION@) - - set(KArchive_HAVE_BZIP2 "@BZIP2_FOUND@") - set(KArchive_HAVE_LZMA "@LIBLZMA_FOUND@") -+set(KArchive_HAVE_ZSTD "@LibZstd_FOUND@") - - include("${CMAKE_CURRENT_LIST_DIR}/KF5ArchiveTargets.cmake") - @PACKAGE_INCLUDE_QCHTARGETS@ --- -GitLab - diff --git a/ports/kf5archive/control-dependencies.patch b/ports/kf5archive/control-dependencies.patch new file mode 100644 index 00000000000000..26a7d3a5092567 --- /dev/null +++ b/ports/kf5archive/control-dependencies.patch @@ -0,0 +1,56 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 958e22d..00b9736 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -36,6 +36,7 @@ set_package_properties(BZip2 PROPERTIES + TYPE RECOMMENDED + PURPOSE "Support for BZip2 compressed files and data streams" + ) ++set(BZIP2_FOUND "${VCPKG_USE_BZIP2}") + + find_package(LibLZMA) + set_package_properties(LibLZMA PROPERTIES +@@ -43,6 +44,7 @@ set_package_properties(LibLZMA PROPERTIES + DESCRIPTION "Support for xz compressed files and data streams" + PURPOSE "Support for xz compressed files and data streams" + ) ++set(LIBLZMA_FOUND "${VCPKG_USE_LIBLZMA}") + + find_package(PkgConfig) + if (PkgConfig_FOUND) +@@ -51,6 +53,8 @@ endif() + add_feature_info(LibZstd LibZstd_FOUND + "Support for zstd compressed files and data streams" + ) ++find_package(zstd CONFIG) ++set(LibZstd_FOUND "${VCPKG_USE_ZSTD}") + + include(ECMSetupVersion) + include(ECMGenerateHeaders) +diff --git a/KF5ArchiveConfig.cmake.in b/KF5ArchiveConfig.cmake.in +index 0a738c2..b4d96a5 100644 +--- a/KF5ArchiveConfig.cmake.in ++++ b/KF5ArchiveConfig.cmake.in +@@ -23,8 +23,7 @@ if (NOT @BUILD_SHARED_LIBS@) + endif() + + if (@LibZstd_FOUND@) +- find_package(PkgConfig) +- pkg_check_modules(LibZstd IMPORTED_TARGET "libzstd") ++ find_dependency(zstd CONFIG) + endif() + endif() + +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 675ddf4..9363637 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -24,7 +24,7 @@ endif() + + if (LibZstd_FOUND) + target_sources(KF5Archive PRIVATE kzstdfilter.cpp) +- target_link_libraries(KF5Archive PRIVATE PkgConfig::LibZstd) ++ target_link_libraries(KF5Archive PRIVATE $,zstd::libzstd_shared,zstd::libzstd_static>) + endif() + + diff --git a/ports/kf5archive/only_pkg_check_modules_if_pkgconfig_found.patch b/ports/kf5archive/only_pkg_check_modules_if_pkgconfig_found.patch deleted file mode 100644 index f3db3a4fb71bd0..00000000000000 --- a/ports/kf5archive/only_pkg_check_modules_if_pkgconfig_found.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 9ab5f2bfbe59038b0d0b6ca7f1b22d1c9229c67e Mon Sep 17 00:00:00 2001 -From: Dawid Wrobel -Date: Fri, 30 Jul 2021 10:23:48 +0000 -Subject: [PATCH] Only pkg_check_modules() if PkgConfig is found - ---- - CMakeLists.txt | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index bab7661..2cdda70 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -45,7 +45,9 @@ set_package_properties(LibLZMA PROPERTIES - ) - - find_package(PkgConfig) --pkg_check_modules(LibZstd IMPORTED_TARGET "libzstd") -+if (PkgConfig_FOUND) -+ pkg_check_modules(LibZstd IMPORTED_TARGET "libzstd") -+endif() - add_feature_info(LibZstd LibZstd_FOUND - "Support for zstd compressed files and data streams" - ) --- -GitLab - diff --git a/ports/kf5archive/portfile.cmake b/ports/kf5archive/portfile.cmake index ef1582bc03dfcd..8fced2fa125013 100644 --- a/ports/kf5archive/portfile.cmake +++ b/ports/kf5archive/portfile.cmake @@ -1,43 +1,42 @@ -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO KDE/karchive - REF v5.84.0 - SHA512 82926f62424446df0f4fc300f57ae9bd5baf8e13da2ce4135ac56c0c52a0307bffb06f84ac7e8e658e96ace2ae3d530f27e232061284ac87271404f218e9fdd4 - HEAD_REF master - PATCHES - only_pkg_check_modules_if_pkgconfig_found.patch # https://invent.kde.org/frameworks/karchive/-/commit/9ab5f2bfbe59038b0d0b6ca7f1b22d1c9229c67e - add_zstd_to_cmake_config.patch # https://invent.kde.org/frameworks/karchive/-/commit/5a79756f381e1a1843cb2171bdc151dad53fb7db - add_support_for_static_builds.patch # https://invent.kde.org/frameworks/karchive/-/merge_requests/23 - use_cmake_to_find_zstd.patch # https://invent.kde.org/frameworks/karchive/-/merge_requests/24 -) - -vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - INVERTED_FEATURES - "lzma" CMAKE_DISABLE_FIND_PACKAGE_LibLZMA - "zstd" CMAKE_DISABLE_FIND_PACKAGE_ZSTD -) - -# Prevent KDEClangFormat from writing to source effectively blocking parallel configure -file(WRITE ${SOURCE_PATH}/.clang-format "DisableFormat: true\nSortIncludes: false\n") - -vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} - OPTIONS - -DBUILD_TESTING=OFF - ${FEATURE_OPTIONS} -) - -vcpkg_cmake_install() -vcpkg_cmake_config_fixup(PACKAGE_NAME KF5Archive CONFIG_PATH lib/cmake/KF5Archive) -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") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/etc") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/etc") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") - -file(INSTALL "${SOURCE_PATH}/LICENSES/" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright") +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO KDE/karchive + REF v5.98.0 + SHA512 3477280f319cb37e18c59d874f5bcf4db5c76e3572af6e2c91bad1135f16a2eb1c9fcc0ec9895790031e6d459b94eeb14be10ea7aab0660d037241bdf6662358 + HEAD_REF master + PATCHES + control-dependencies.patch +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + "bzip2" VCPKG_USE_BZIP2 + "lzma" VCPKG_USE_LIBLZMA + "zstd" VCPKG_USE_ZSTD +) + +# Prevent KDEClangFormat from writing to source effectively blocking parallel configure +file(WRITE "${SOURCE_PATH}/.clang-format" "DisableFormat: true\nSortIncludes: false\n") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DCMAKE_DISABLE_FIND_PACKAGE_PkgConfig=ON + -DBUILD_TESTING=OFF + ${FEATURE_OPTIONS} +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME KF5Archive CONFIG_PATH lib/cmake/KF5Archive) +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") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +file(GLOB LICENSE_FILES "${SOURCE_PATH}/LICENSES/*") +vcpkg_install_copyright(FILE_LIST ${LICENSE_FILES}) + diff --git a/ports/kf5archive/use_cmake_to_find_zstd.patch b/ports/kf5archive/use_cmake_to_find_zstd.patch deleted file mode 100644 index ee7dfd555b0f80..00000000000000 --- a/ports/kf5archive/use_cmake_to_find_zstd.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 82fc20234d4cf8abdec1a2b4fea9823154f1aecc Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Dawid=20Wro=CC=81bel?= -Date: Fri, 27 Aug 2021 01:48:53 +0200 -Subject: [PATCH] Use CMake to find ZSTD - ---- - CMakeLists.txt | 11 +++++------ - KF5ArchiveConfig.cmake.in | 3 +-- - 2 files changed, 6 insertions(+), 8 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 8ab85f4..ece1f77 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -44,12 +44,11 @@ set_package_properties(LibLZMA PROPERTIES - PURPOSE "Support for xz compressed files and data streams" - ) - --find_package(PkgConfig) --if (PkgConfig_FOUND) -- pkg_check_modules(LibZstd IMPORTED_TARGET "libzstd") --endif() --add_feature_info(LibZstd LibZstd_FOUND -- "Support for zstd compressed files and data streams" -+find_package(ZSTD) -+set_package_properties(LibZstd PROPERTIES -+ URL "http://www.zstd.net" -+ DESCRIPTION "Support for zstd compressed files and data streams" -+ PURPOSE "Support for zstd compressed files and data streams" - ) - - include(ECMSetupVersion) -diff --git a/KF5ArchiveConfig.cmake.in b/KF5ArchiveConfig.cmake.in -index 0a738c2..d868324 100644 ---- a/KF5ArchiveConfig.cmake.in -+++ b/KF5ArchiveConfig.cmake.in -@@ -23,8 +23,7 @@ if (NOT @BUILD_SHARED_LIBS@) - endif() - - if (@LibZstd_FOUND@) -- find_package(PkgConfig) -- pkg_check_modules(LibZstd IMPORTED_TARGET "libzstd") -+ find_dependency(ZSTD) - endif() - endif() - --- -GitLab - diff --git a/ports/kf5archive/vcpkg.json b/ports/kf5archive/vcpkg.json index 227be8c662f83f..7432e5afaa18ef 100644 --- a/ports/kf5archive/vcpkg.json +++ b/ports/kf5archive/vcpkg.json @@ -1,11 +1,12 @@ { "name": "kf5archive", - "version-semver": "5.84.0", - "port-version": 2, + "version": "5.98.0", + "port-version": 1, "description": "File compression", "homepage": "https://api.kde.org/frameworks/karchive/html/index.html", + "license": "LGPL-2.0-or-later", + "supports": "!xbox", "dependencies": [ - "bzip2", "ecm", "qt5-base", { @@ -18,7 +19,16 @@ }, "zlib" ], + "default-features": [ + "bzip2" + ], "features": { + "bzip2": { + "description": "Support for bzip2 compressed files and data streams", + "dependencies": [ + "bzip2" + ] + }, "lzma": { "description": "Support for xz compressed files and data streams", "dependencies": [ diff --git a/ports/kf5attica/portfile.cmake b/ports/kf5attica/portfile.cmake index ed6183e4bc7efb..afc736acf921a5 100644 --- a/ports/kf5attica/portfile.cmake +++ b/ports/kf5attica/portfile.cmake @@ -1,29 +1,33 @@ -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO KDE/attica - REF v5.84.0 - SHA512 dedaac49d85c791027a567f82909953f06337734c9302ab4147341eb5ebdb14e2a1ffcfdf49d9e0c97e17e065498392f9a1a900557fe8937fa0e680cda2235ea - HEAD_REF master -) - -# Prevent KDEClangFormat from writing to source effectively blocking parallel configure -file(WRITE ${SOURCE_PATH}/.clang-format "DisableFormat: true\nSortIncludes: false\n") - -vcpkg_cmake_configure( - SOURCE_PATH "${SOURCE_PATH}" - OPTIONS - -DBUILD_TESTING=OFF -) - -vcpkg_cmake_install() -vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/KF5Attica) -vcpkg_copy_pdbs() - -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" "${CURRENT_PACKAGES_DIR}/debug/bin") -endif() - -file(INSTALL "${SOURCE_PATH}/LICENSES/" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright") +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO KDE/attica + REF v5.98.0 + SHA512 020a8c10fe43e7cdb77c1821c3ec028fc7ea6cdddef5445b15ae108c70f7b3bd6410512d4c4b0e79332cdb0aac034fc27b362202e810d50de82a693e648b6459 + HEAD_REF master +) + +# Prevent KDEClangFormat from writing to source effectively blocking parallel configure +file(WRITE "${SOURCE_PATH}/.clang-format" "DisableFormat: true\nSortIncludes: false\n") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_TESTING=OFF +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME KF5Attica CONFIG_PATH lib/cmake/KF5Attica) +vcpkg_copy_pdbs() + +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" "${CURRENT_PACKAGES_DIR}/debug/bin") +endif() + +vcpkg_fixup_pkgconfig() + +file(GLOB LICENSE_FILES "${SOURCE_PATH}/LICENSES/*") +vcpkg_install_copyright(FILE_LIST ${LICENSE_FILES}) + diff --git a/ports/kf5attica/vcpkg.json b/ports/kf5attica/vcpkg.json index 4234fb9a886373..a09e8d56ebec97 100644 --- a/ports/kf5attica/vcpkg.json +++ b/ports/kf5attica/vcpkg.json @@ -1,7 +1,6 @@ { "name": "kf5attica", - "version-semver": "5.84.0", - "port-version": 1, + "version": "5.98.0", "description": "A Qt library that implements the Open Collaboration Services API", "homepage": "https://api.kde.org/frameworks/attica/html/index.html", "dependencies": [ diff --git a/ports/kf5auth/0001-Config.cmake.in-declare-static-dependencies.patch b/ports/kf5auth/0001-Config.cmake.in-declare-static-dependencies.patch new file mode 100644 index 00000000000000..4b17cac6756ddb --- /dev/null +++ b/ports/kf5auth/0001-Config.cmake.in-declare-static-dependencies.patch @@ -0,0 +1,56 @@ +From cf1e5df1117958db8dfeb13796cc63359aaf3bb1 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Dawid=20Wro=CC=81bel?= +Date: Fri, 16 Sep 2022 00:39:30 +0200 +Subject: [PATCH] Config.cmake.in: declare static dependencies + +--- + KF5AuthConfig.cmake.in | 17 +++++++++++++++++ + src/ConfigureChecks.cmake | 2 +- + 2 files changed, 18 insertions(+), 1 deletion(-) + +diff --git a/KF5AuthConfig.cmake.in b/KF5AuthConfig.cmake.in +index e461162..14f79aa 100644 +--- a/KF5AuthConfig.cmake.in ++++ b/KF5AuthConfig.cmake.in +@@ -9,8 +9,25 @@ set(KAUTH_HELPER_INSTALL_DIR "@KAUTH_HELPER_INSTALL_DIR@") + set(KAUTH_HELPER_INSTALL_ABSOLUTE_DIR "@KAUTH_HELPER_INSTALL_ABSOLUTE_DIR@") + + include(CMakeFindDependencyMacro) ++ + find_dependency(KF5CoreAddons "@KF_DEP_VERSION@") + ++if(NOT @BUILD_SHARED_LIBS@) ++ find_dependency(Qt@QT_MAJOR_VERSION@DBus "@REQUIRED_QT_VERSION@") ++ ++ if(NOT @KAUTH_BUILD_CODEGENERATOR_ONLY@) ++ find_dependency(Qt@QT_MAJOR_VERSION@Widgets "@REQUIRED_QT_VERSION@") ++ endif() ++ ++ if(NOT KAUTH_BACKEND_NAME AND @UNIX@ AND NOT @APPLE@) ++ find_dependency(PolkitQt@QT_MAJOR_VERSION@ "@POLKITQT_MIN_VERSION@") ++ endif() ++ ++ if(KAUTH_BACKEND_NAME AND NOT @KAUTH_BUILD_CODEGENERATOR_ONLY@ AND "${KAUTH_BACKEND_NAME}" STREQUAL "POLKITQT@QT_MAJOR_VERSION@-1") ++ find_dependency(PolkitQt@QT_MAJOR_VERSION@ "@POLKITQT_MIN_VERSION@") ++ endif() ++endif() ++ + include("${CMAKE_CURRENT_LIST_DIR}/KF5AuthTargets.cmake") + @PACKAGE_INCLUDE_QCHTARGETS@ + include("${CMAKE_CURRENT_LIST_DIR}/KF5AuthMacros.cmake") +diff --git a/src/ConfigureChecks.cmake b/src/ConfigureChecks.cmake +index 23c5d28..bb5546d 100644 +--- a/src/ConfigureChecks.cmake ++++ b/src/ConfigureChecks.cmake +@@ -9,7 +9,7 @@ string(TOUPPER "${KAUTH_BACKEND_NAME}" KAUTH_BACKEND_NAME) + + set(KAUTH_BACKEND ${KAUTH_BACKEND_NAME}) + +-set(POLKITQT_MIN_VERSION 0.112.0) ++set(POLKITQT_MIN_VERSION 0.112.0 PARENT_SCOPE) + + ## Check if the user did not specify a backend to be built. If that is the case, + ## we check what is the best backend to build on this system. +-- +2.38.0 + diff --git a/ports/kf5auth/portfile.cmake b/ports/kf5auth/portfile.cmake index 806e81226ca4c7..3d5242dc03fe1c 100644 --- a/ports/kf5auth/portfile.cmake +++ b/ports/kf5auth/portfile.cmake @@ -1,21 +1,21 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KDE/kauth - REF v5.84.0 - SHA512 9f08f5e7de240c100e7ea6fcd6c71947cacfafbf0631f7e441a64ef36b0d51fa097b8ccc164c7b20441524a7211d84f9fc62d9a2bc62342e26938c133faf0940 + REF v5.98.0 + SHA512 c9989057077f8da26e260e1aec7fc2cfe07db62835a51b254f92e63e0e5c1500aae95001592ccd98a06a0701cb93cf34006b306e1230f6a53c8f683b8131bc17 HEAD_REF master + PATCHES + 0001-Config.cmake.in-declare-static-dependencies.patch ) # Prevent KDEClangFormat from writing to source effectively blocking parallel configure -file(WRITE ${SOURCE_PATH}/.clang-format "DisableFormat: true\nSortIncludes: false\n") +file(WRITE "${SOURCE_PATH}/.clang-format" "DisableFormat: true\nSortIncludes: false\n") vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_TESTING=OFF -DKDE_INSTALL_PLUGINDIR=plugins - -DKDE_INSTALL_DATAROOTDIR=data - ) vcpkg_cmake_install() @@ -27,10 +27,9 @@ 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}/bin/data) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin/data) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/etc) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/etc) -file(INSTALL ${SOURCE_PATH}/LICENSES/ DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +file(GLOB LICENSE_FILES "${SOURCE_PATH}/LICENSES/*") +vcpkg_install_copyright(FILE_LIST ${LICENSE_FILES}) + diff --git a/ports/kf5auth/vcpkg.json b/ports/kf5auth/vcpkg.json index 2942db273a2b86..9aa89817b01d2b 100644 --- a/ports/kf5auth/vcpkg.json +++ b/ports/kf5auth/vcpkg.json @@ -1,9 +1,9 @@ { "name": "kf5auth", - "version": "5.84.0", - "port-version": 2, + "version": "5.98.0", "description": "Execute actions as privileged user", "homepage": "https://api.kde.org/frameworks/kauth/html/index.html", + "supports": "!windows", "dependencies": [ "ecm", "kf5coreaddons", diff --git a/ports/kf5bookmarks/fix_config_cmake.patch b/ports/kf5bookmarks/fix_config_cmake.patch deleted file mode 100644 index 1a034ccc530bf4..00000000000000 --- a/ports/kf5bookmarks/fix_config_cmake.patch +++ /dev/null @@ -1,25 +0,0 @@ -diff --git a/KF5BookmarksConfig.cmake.in b/KF5BookmarksConfig.cmake.in -index 0c4494a..de973f7 100644 ---- a/KF5BookmarksConfig.cmake.in -+++ b/KF5BookmarksConfig.cmake.in -@@ -6,6 +6,17 @@ find_dependency(KF5WidgetsAddons "@KF_DEP_VERSION@") - find_dependency(Qt5Widgets @REQUIRED_QT_VERSION@) - find_dependency(Qt5Xml @REQUIRED_QT_VERSION@) - -+if (NOT @BUILD_SHARED_LIBS@) -+ if (@Qt5DBus_FOUND@) -+ find_dependency(Qt5DBus @REQUIRED_QT_VERSION@) -+ endif() -+ -+ find_dependency(KF5CoreAddons "@KF_DEP_VERSION@") -+ find_dependency(KF5Codecs "@KF_DEP_VERSION@") -+ find_dependency(KF5Config "@KF_DEP_VERSION@") -+ find_dependency(KF5ConfigWidgets "@KF_DEP_VERSION@") -+ find_dependency(KF5XmlGui "@KF_DEP_VERSION@") -+endif() - - include("${CMAKE_CURRENT_LIST_DIR}/KF5BookmarksTargets.cmake") - @PACKAGE_INCLUDE_QCHTARGETS@ --- -GitLab - diff --git a/ports/kf5bookmarks/portfile.cmake b/ports/kf5bookmarks/portfile.cmake index 5d509a4bf314dd..6c9ec59c086f8b 100644 --- a/ports/kf5bookmarks/portfile.cmake +++ b/ports/kf5bookmarks/portfile.cmake @@ -1,17 +1,17 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KDE/kbookmarks - REF v5.84.0 - SHA512 3ba70c7fb312cd7715f0c14f78a4380150fd8716e93186302c39692609dbedda96d5e82d316ea683ffc9338cc5b4f2c689b24e06d66c3d5d735bae57f36ccad0 + REF v5.98.0 + SHA512 68165309f63cd61cd7bb458b799b0659029542a5bd58b3690dce441e7ec82a682cd4c9d031413f88b2300f761cb2502cd3e32fdaa79875da69d463a7a1019008 HEAD_REF master - PATCHES - fix_config_cmake.patch ) +# Prevent KDEClangFormat from writing to source effectively blocking parallel configure +file(WRITE "${SOURCE_PATH}/.clang-format" "DisableFormat: true\nSortIncludes: false\n") + vcpkg_cmake_configure( - DISABLE_PARALLEL_CONFIGURE SOURCE_PATH "${SOURCE_PATH}" - OPTIONS + OPTIONS -DBUILD_TESTING=OFF ) @@ -26,4 +26,6 @@ endif() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -file(INSTALL "${SOURCE_PATH}/LICENSES/" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright") \ No newline at end of file +file(GLOB LICENSE_FILES "${SOURCE_PATH}/LICENSES/*") +vcpkg_install_copyright(FILE_LIST ${LICENSE_FILES}) + diff --git a/ports/kf5bookmarks/vcpkg.json b/ports/kf5bookmarks/vcpkg.json index e07d045695da9c..45d9e656b5b376 100644 --- a/ports/kf5bookmarks/vcpkg.json +++ b/ports/kf5bookmarks/vcpkg.json @@ -1,6 +1,6 @@ { "name": "kf5bookmarks", - "version": "5.84.0", + "version": "5.98.0", "description": "Bookmarks management library", "homepage": "https://api.kde.org/frameworks/kbookmarks/html/index.html", "dependencies": [ diff --git a/ports/kf5codecs/portfile.cmake b/ports/kf5codecs/portfile.cmake index a8178e2b62f5f5..cbdcb92964a1e1 100644 --- a/ports/kf5codecs/portfile.cmake +++ b/ports/kf5codecs/portfile.cmake @@ -1,21 +1,19 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KDE/kcodecs - REF v5.84.0 - SHA512 77f27883f588e9f4bd5458e4e4a596c494ff4fc0a7230ac757926db13d69f010a72f84d828ae83f48e5019ea96da58251c190dd6d38408f64089ac42501b7439 + REF v5.98.0 + SHA512 0fc58451a3e2774ea2626bcbdd0a9838bdcce5f8c75ffe30b67dc08255729f802b1cc0a5fc9f821058eb9496c4cabe40c988300b0cfbed4302d35b262c4c3610 HEAD_REF master ) # Prevent KDEClangFormat from writing to source effectively blocking parallel configure -file(WRITE ${SOURCE_PATH}/.clang-format "DisableFormat: true\nSortIncludes: false\n") - -find_program(GPERF_EXE NAMES gperf PATHS "${CURRENT_HOST_INSTALLED_DIR}/tools" NO_DEFAULT_PATH) +file(WRITE "${SOURCE_PATH}/.clang-format" "DisableFormat: true\nSortIncludes: false\n") vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_TESTING=OFF - "-DGperf_EXECUTABLE=${GPERF_EXE}" + "-DGperf_EXECUTABLE=${CURRENT_HOST_INSTALLED_DIR}/tools/gperf/gperf${VCPKG_HOST_EXECUTABLE_SUFFIX}" ) vcpkg_cmake_install() @@ -23,12 +21,13 @@ vcpkg_cmake_config_fixup(PACKAGE_NAME KF5Codecs CONFIG_PATH lib/cmake/KF5Codecs) vcpkg_copy_pdbs() -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") +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/bin/data") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -file(INSTALL "${SOURCE_PATH}/LICENSES/" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright") \ No newline at end of file +file(GLOB LICENSE_FILES "${SOURCE_PATH}/LICENSES/*") +vcpkg_install_copyright(FILE_LIST ${LICENSE_FILES}) + diff --git a/ports/kf5codecs/vcpkg.json b/ports/kf5codecs/vcpkg.json index 5b23da83c45a64..b9414dc2641193 100644 --- a/ports/kf5codecs/vcpkg.json +++ b/ports/kf5codecs/vcpkg.json @@ -1,7 +1,6 @@ { "name": "kf5codecs", - "version": "5.84.0", - "port-version": 3, + "version": "5.98.0", "description": "String encoding library", "homepage": "https://api.kde.org/frameworks/kcodecs/html/index.html", "dependencies": [ diff --git a/ports/kf5completion/portfile.cmake b/ports/kf5completion/portfile.cmake index a24e0c803b4421..92d8ab051a38c2 100644 --- a/ports/kf5completion/portfile.cmake +++ b/ports/kf5completion/portfile.cmake @@ -1,35 +1,32 @@ -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO KDE/kcompletion - REF v5.84.0 - SHA512 1aee65de9e8aa83274d772afcce764ab800e94cffb8ab203c53ffdb944c53e46115afe4148dadf777c0a1afc815b9382e4e319ba09e266b4487405307d838322 - HEAD_REF master -) - -# Prevent KDEClangFormat from writing to source effectively blocking parallel configure -file(WRITE ${SOURCE_PATH}/.clang-format "DisableFormat: true\nSortIncludes: false\n") - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - -DBUILD_TESTING=OFF - -DBUILD_DESIGNERPLUGIN=OFF -) - -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/KF5Completion) -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}/bin/data) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin/data) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/etc) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/etc) - -file(INSTALL ${SOURCE_PATH}/LICENSES/ DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) \ No newline at end of file +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO KDE/kcompletion + REF v5.98.0 + SHA512 16cc4518e0db6f5583ce0ee24cb1f0f8f2812890bc1ed0d9f519cdeeeea79d5eb1fe82408fc5e101fbb2278bff00a61786e95189ffe2180ee289e7ed10ba6ac9 + HEAD_REF master +) + +# Prevent KDEClangFormat from writing to source effectively blocking parallel configure +file(WRITE "${SOURCE_PATH}/.clang-format" "DisableFormat: true\nSortIncludes: false\n") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_TESTING=OFF + -DBUILD_DESIGNERPLUGIN=OFF +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME KF5Completion CONFIG_PATH lib/cmake/KF5Completion) +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") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +file(GLOB LICENSE_FILES "${SOURCE_PATH}/LICENSES/*") +vcpkg_install_copyright(FILE_LIST ${LICENSE_FILES}) + diff --git a/ports/kf5completion/vcpkg.json b/ports/kf5completion/vcpkg.json index 9a185f1a139621..6cd21e1f2ca482 100644 --- a/ports/kf5completion/vcpkg.json +++ b/ports/kf5completion/vcpkg.json @@ -1,13 +1,20 @@ { "name": "kf5completion", - "version": "5.84.0", - "port-version": 2, + "version": "5.98.0", "description": "Text completion helpers and widgets", "homepage": "https://api.kde.org/frameworks/kcompletion/html/index.html", "dependencies": [ "ecm", "kf5config", "kf5widgetsaddons", - "qt5-tools" + "qt5-tools", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/kf5config/portfile.cmake b/ports/kf5config/portfile.cmake index ddd842766235f4..a15986020d8023 100644 --- a/ports/kf5config/portfile.cmake +++ b/ports/kf5config/portfile.cmake @@ -1,53 +1,50 @@ -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO KDE/kconfig - REF v5.84.0 - SHA512 54d28ce5dae8c3b40c338d7aa848296b0aa4f56f94ca32d123df182e34e50c9969bdc1672c28e5412f7df7d94ff4305377dbf42c05c69965c023af762cfc29bf - HEAD_REF master -) - -# Prevent KDEClangFormat from writing to source effectively blocking parallel configure -file(WRITE ${SOURCE_PATH}/.clang-format "DisableFormat: true\nSortIncludes: false\n") - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - -DBUILD_TESTING=OFF -) - -vcpkg_install_cmake() - -file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/${PORT}) - -if(VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_UWP) - file(RENAME ${CURRENT_PACKAGES_DIR}/bin/kconfig_compiler_kf5.exe ${CURRENT_PACKAGES_DIR}/tools/${PORT}/kconfig_compiler_kf5.exe) - file(RENAME ${CURRENT_PACKAGES_DIR}/bin/kconf_update.exe ${CURRENT_PACKAGES_DIR}/tools/${PORT}/kconf_update.exe) - file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/kreadconfig5.exe) - file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/kwriteconfig5.exe) - file (GLOB EXES ${CURRENT_PACKAGES_DIR}/debug/bin/*.exe) - file(REMOVE ${EXES}) -else() - file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/kreadconfig5) - file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/kwriteconfig5) - file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/kreadconfig5) - file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/kwriteconfig5) -endif() - -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/KF5Config) - -vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT}) -file(APPEND ${CURRENT_PACKAGES_DIR}/tools/${PORT}/qt.conf "Data = ../../data") -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}/bin/data) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin/data) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/etc) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/etc) -file(INSTALL ${SOURCE_PATH}/LICENSES/ DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO KDE/kconfig + REF v5.98.0 + SHA512 08d78422ae3df90f4ee2e88d2b2e3f485ecffc6f56c40e05825ecdc3321b95b4d18cfb3c11c327dce330ec50e09a8398e07f4d70243e0e2222f09de2005d9020 + HEAD_REF master +) + +# Prevent KDEClangFormat from writing to source effectively blocking parallel configure +file(WRITE "${SOURCE_PATH}/.clang-format" "DisableFormat: true\nSortIncludes: false\n") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_TESTING=OFF + -DKDE_INSTALL_LIBEXECDIR=bin +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME KF5Config CONFIG_PATH lib/cmake/KF5Config) +vcpkg_copy_pdbs() + +vcpkg_copy_tools( + TOOL_NAMES kreadconfig5 kwriteconfig5 + AUTO_CLEAN +) + +if(NOT VCPKG_TARGET_IS_WINDOWS) + set(LIBEXEC_SUBFOLDER "kf5/") +endif() + +vcpkg_copy_tools( + TOOL_NAMES kconf_update kconfig_compiler_kf5 + SEARCH_DIR "${CURRENT_PACKAGES_DIR}/bin/${LIBEXEC_SUBFOLDER}" + DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}/${LIBEXEC_SUBFOLDER}" + AUTO_CLEAN +) + +file(APPEND "${CURRENT_PACKAGES_DIR}/tools/${PORT}/qt.conf" "Data = ../../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") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +file(GLOB LICENSE_FILES "${SOURCE_PATH}/LICENSES/*") +vcpkg_install_copyright(FILE_LIST ${LICENSE_FILES}) + diff --git a/ports/kf5config/vcpkg.json b/ports/kf5config/vcpkg.json index cccf3ac82a1c84..04c517b9b4022a 100644 --- a/ports/kf5config/vcpkg.json +++ b/ports/kf5config/vcpkg.json @@ -1,12 +1,19 @@ { "name": "kf5config", - "version": "5.84.0", - "port-version": 2, + "version": "5.98.0", "description": "Configuration system", "homepage": "https://api.kde.org/frameworks/kconfig/html/index.html", "dependencies": [ "ecm", "qt5-base", - "qt5-tools" + "qt5-tools", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/kf5configwidgets/add_support_for_static_builds.patch b/ports/kf5configwidgets/add_support_for_static_builds.patch deleted file mode 100644 index 2578a9e66ec64b..00000000000000 --- a/ports/kf5configwidgets/add_support_for_static_builds.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 743ec1f30b449b048c942f194ad665bf2170bbf1 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Dawid=20Wro=CC=81bel?= -Date: Thu, 26 Aug 2021 16:48:23 +0200 -Subject: [PATCH] Add support for static builds - ---- - KF5ConfigWidgetsConfig.cmake.in | 14 ++++++++++++++ - 1 file changed, 14 insertions(+) - -diff --git a/KF5ConfigWidgetsConfig.cmake.in b/KF5ConfigWidgetsConfig.cmake.in -index 57c83f0..78fc736 100644 ---- a/KF5ConfigWidgetsConfig.cmake.in -+++ b/KF5ConfigWidgetsConfig.cmake.in -@@ -8,5 +8,19 @@ find_dependency(KF5Codecs "@KF_DEP_VERSION@") - find_dependency(KF5Config "@KF_DEP_VERSION@") - find_dependency(KF5WidgetsAddons "@KF_DEP_VERSION@") - -+ -+if (NOT @BUILD_SHARED_LIBS@) -+ find_dependency(Qt5Widgets "@REQUIRED_QT_VERSION@") -+ -+ if (NOT ANDROID) -+ find_dependency(Qt5DBus "@REQUIRED_QT_VERSION@") -+ endif() -+ -+ find_dependency(KF5CoreAddons "@KF_DEP_VERSION@") -+ find_dependency(KF5GuiAddons "@KF_DEP_VERSION@") -+ find_dependency(KF5I18n "@KF_DEP_VERSION@") -+endif() -+ -+ - include("${CMAKE_CURRENT_LIST_DIR}/KF5ConfigWidgetsTargets.cmake") - @PACKAGE_INCLUDE_QCHTARGETS@ --- -GitLab - diff --git a/ports/kf5configwidgets/portfile.cmake b/ports/kf5configwidgets/portfile.cmake index 2f1a73a5f3d72a..ff7b0e3ae70152 100644 --- a/ports/kf5configwidgets/portfile.cmake +++ b/ports/kf5configwidgets/portfile.cmake @@ -1,11 +1,9 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KDE/kconfigwidgets - REF v5.84.0 - SHA512 da03f4cfc2a64b3ccccfe2b6b7f392f84aba2b975edbf6a5b08a14604ccb565a4491c7eb707af7191345b55ca81e864b7ee13fe648589a56f3226c26160ed024 + REF v5.98.0 + SHA512 fbc113d41b13c190a07915a14443d50b67182e52a52ce0258434af548ba9a2fd151ec480ea0aa1a400babf47e156f33ccc12009f3e78a3a1ca04191180ed77dd HEAD_REF master - PATCHES - add_support_for_static_builds.patch # https://invent.kde.org/frameworks/kconfigwidgets/-/merge_requests/71 ) vcpkg_check_features( @@ -15,12 +13,13 @@ vcpkg_check_features( ) # Prevent KDEClangFormat from writing to source effectively blocking parallel configure -file(WRITE ${SOURCE_PATH}/.clang-format "DisableFormat: true\nSortIncludes: false\n") +file(WRITE "${SOURCE_PATH}/.clang-format" "DisableFormat: true\nSortIncludes: false\n") vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_TESTING=OFF + -DCMAKE_DISABLE_FIND_PACKAGE_KF5DocTools=ON -DKDE_INSTALL_PLUGINDIR=plugins -DKDE_INSTALL_QTPLUGINDIR=plugins ${FEATURE_OPTIONS} @@ -37,4 +36,6 @@ endif() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -file(INSTALL "${SOURCE_PATH}/LICENSES/" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright") \ No newline at end of file +file(GLOB LICENSE_FILES "${SOURCE_PATH}/LICENSES/*") +vcpkg_install_copyright(FILE_LIST ${LICENSE_FILES}) + diff --git a/ports/kf5configwidgets/vcpkg.json b/ports/kf5configwidgets/vcpkg.json index 4950f72f9118f7..599e1d635e6b44 100644 --- a/ports/kf5configwidgets/vcpkg.json +++ b/ports/kf5configwidgets/vcpkg.json @@ -1,7 +1,6 @@ { "name": "kf5configwidgets", - "version-semver": "5.84.0", - "port-version": 1, + "version": "5.98.0", "description": "Widgets for configuration dialogs", "homepage": "https://api.kde.org/frameworks/kconfigwidgets/html/index.html", "dependencies": [ @@ -13,9 +12,13 @@ "tools" ] }, - "kf5auth", + { + "name": "kf5auth", + "platform": "!(windows | android)" + }, "kf5codecs", "kf5config", + "kf5coreaddons", "kf5guiaddons", "kf5i18n", "kf5widgetsaddons", diff --git a/ports/kf5coreaddons/0001-Add-support-for-static-builds.patch b/ports/kf5coreaddons/0001-Add-support-for-static-builds.patch new file mode 100644 index 00000000000000..837ef524e4f2fc --- /dev/null +++ b/ports/kf5coreaddons/0001-Add-support-for-static-builds.patch @@ -0,0 +1,37 @@ +diff --git a/KF5CoreAddonsConfig.cmake.in b/KF5CoreAddonsConfig.cmake.in +index 711b8d41..2523da18 100644 +--- a/KF5CoreAddonsConfig.cmake.in ++++ b/KF5CoreAddonsConfig.cmake.in +@@ -3,6 +3,24 @@ + include(CMakeFindDependencyMacro) + find_dependency(Qt@QT_MAJOR_VERSION@Core @REQUIRED_QT_VERSION@) + ++if(NOT @BUILD_SHARED_LIBS@) ++ if(NOT WIN32) ++ find_dependency(Threads) ++ endif() ++ ++ if(@Inotify_FOUND@) ++ find_package(Inotify) ++ endif() ++ ++ if(@Procstat_FOUND@) ++ find_dependency(Procstat) ++ endif() ++ ++ if(@HAVE_QTDBUS@) ++ find_dependency(Qt@QT_MAJOR_VERSION@DBus @REQUIRED_QT_VERSION@) ++ endif() ++endif() ++ + @PACKAGE_SETUP_AUTOMOC_VARIABLES@ + + if(CMAKE_CROSSCOMPILING AND KF5_HOST_TOOLING) +@@ -23,6 +41,7 @@ else() + set_target_properties(KF5::desktoptojson PROPERTIES IMPORTED_LOCATION ${DESKTOPTOJSON_EXECUTABLE}) + endif() + endif() ++ + include("${CMAKE_CURRENT_LIST_DIR}/KF5CoreAddonsTargets.cmake") + include("${CMAKE_CURRENT_LIST_DIR}/KF5CoreAddonsMacros.cmake") + @PACKAGE_INCLUDE_QCHTARGETS@ diff --git a/ports/kf5coreaddons/fix_cmake_config.patch b/ports/kf5coreaddons/fix_cmake_config.patch deleted file mode 100644 index 059da3c70b5e75..00000000000000 --- a/ports/kf5coreaddons/fix_cmake_config.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 4588b0052c11189aa6872e3c3c13f05dbae0c26e Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Dawid=20Wro=CC=81bel?= -Date: Fri, 27 Aug 2021 02:02:08 +0200 -Subject: [PATCH] Add support for static builds - ---- - KF5CoreAddonsConfig.cmake.in | 15 +++++++++++++++ - 1 file changed, 15 insertions(+) - -diff --git a/KF5CoreAddonsConfig.cmake.in b/KF5CoreAddonsConfig.cmake.in -index f86b69ff..f9e0d31f 100644 ---- a/KF5CoreAddonsConfig.cmake.in -+++ b/KF5CoreAddonsConfig.cmake.in -@@ -18,6 +18,21 @@ else() - set_target_properties(KF5::desktoptojson PROPERTIES IMPORTED_LOCATION ${DESKTOPTOJSON_EXECUTABLE}) - endif() - endif() -+ -+if(NOT @BUILD_SHARED_LIBS@) -+ if(NOT WIN32) -+ find_dependency(Threads) -+ endif() -+ -+ if(@Inotify_FOUND@) -+ find_package(Inotify) # https://bugs.kde.org/show_bug.cgi?id=441604 -+ endif() -+ -+ if(@Procstat_FOUND@) -+ find_dependency(Procstat) -+ endif() -+endif() -+ - include("${CMAKE_CURRENT_LIST_DIR}/KF5CoreAddonsTargets.cmake") - include("${CMAKE_CURRENT_LIST_DIR}/KF5CoreAddonsMacros.cmake") - @PACKAGE_INCLUDE_QCHTARGETS@ --- -GitLab - diff --git a/ports/kf5coreaddons/fix_static_build.patch b/ports/kf5coreaddons/fix_static_build.patch deleted file mode 100644 index 400af0032ca88f..00000000000000 --- a/ports/kf5coreaddons/fix_static_build.patch +++ /dev/null @@ -1,51 +0,0 @@ -From de4e22fe644d5df9066ba78f778032a42c2f19b9 Mon Sep 17 00:00:00 2001 -From: Nicolas Fella -Date: Sat, 7 Aug 2021 17:24:44 +0200 -Subject: [PATCH] Fix issue when building KCrash static - -KCoreAddons forward declares a function from KCrash. - -It contains a Q_DECL_IMPORT but that breaks when doing a static build. - -Only add the Q_DECL_IMPORT when we are doing a dynamic build. - -BUG: 440416 ---- - src/lib/CMakeLists.txt | 4 ++++ - src/lib/kaboutdata.h | 4 ++++ - 2 files changed, 8 insertions(+) - -diff --git a/src/lib/CMakeLists.txt b/src/lib/CMakeLists.txt -index 8e9006fd..b3ea957f 100644 ---- a/src/lib/CMakeLists.txt -+++ b/src/lib/CMakeLists.txt -@@ -16,6 +16,10 @@ configure_file(util/config-accountsservice.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/c - add_library(KF5CoreAddons) - add_library(KF5::CoreAddons ALIAS KF5CoreAddons) - -+if(NOT BUILD_SHARED_LIBS) -+ target_compile_definitions(KF5CoreAddons PUBLIC -DKCOREADDONS_STATIC) -+endif() -+ - ecm_create_qm_loader(KF5CoreAddons kcoreaddons5_qt) - - if (FAM_FOUND) -diff --git a/src/lib/kaboutdata.h b/src/lib/kaboutdata.h -index 4309b145..a0222861 100644 ---- a/src/lib/kaboutdata.h -+++ b/src/lib/kaboutdata.h -@@ -27,7 +27,11 @@ class KAboutData; - class KPluginMetaData; - namespace KCrash - { -+#ifdef KCOREADDONS_STATIC -+void defaultCrashHandler(int sig); -+#else - Q_DECL_IMPORT void defaultCrashHandler(int sig); -+#endif - } - - /** --- -GitLab - diff --git a/ports/kf5coreaddons/portfile.cmake b/ports/kf5coreaddons/portfile.cmake index e137973256c600..b85ece6578ea70 100644 --- a/ports/kf5coreaddons/portfile.cmake +++ b/ports/kf5coreaddons/portfile.cmake @@ -1,38 +1,41 @@ -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO KDE/kcoreaddons - REF v5.84.0 - SHA512 58a802d03bea135c192265651540f9f87066b20ee4af620a94a874ec3992c5e734d1ab1e4ccb082de97389fa3479fd3672ec586c3dd36c9b4a5422c7be98d119 - PATCHES - fix_static_build.patch # https://invent.kde.org/frameworks/kcoreaddons/-/merge_requests/122 - fix_cmake_config.patch # https://invent.kde.org/frameworks/kcoreaddons/-/merge_requests/129 -) - -# Prevent KDEClangFormat from writing to source effectively blocking parallel configure -file(WRITE ${SOURCE_PATH}/.clang-format "DisableFormat: true\nSortIncludes: false\n") - -vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} - OPTIONS - -DBUILD_TESTING=OFF -) - -vcpkg_cmake_install() -vcpkg_cmake_config_fixup(PACKAGE_NAME KF5CoreAddons CONFIG_PATH lib/cmake/KF5CoreAddons) -vcpkg_copy_pdbs() - -vcpkg_copy_tools( - TOOL_NAMES desktoptojson - AUTO_CLEAN -) - -file(APPEND "${CURRENT_PACKAGES_DIR}/tools/${PORT}/qt.conf" "Data = ../../share") - -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" "${CURRENT_PACKAGES_DIR}/debug/bin") -endif() - -file(INSTALL "${SOURCE_PATH}/LICENSES/" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright") \ No newline at end of file +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO KDE/kcoreaddons + REF v5.98.0 + SHA512 99c86e7931d62b7af6f631103b5d6ea75d70d2977842d4e3962dbc22bbdcfe398484d74d7c58a90bd9e86c738d632a3fd68da8ece42841559e7cc48ee1431ab6 + PATCHES + 0001-Add-support-for-static-builds.patch # https://invent.kde.org/frameworks/kcoreaddons/-/merge_requests/129 +) + +# Prevent KDEClangFormat from writing to source effectively blocking parallel configure +file(WRITE "${SOURCE_PATH}/.clang-format" "DisableFormat: true\nSortIncludes: false\n") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_TESTING=OFF +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME KF5CoreAddons CONFIG_PATH lib/cmake/KF5CoreAddons) +vcpkg_copy_pdbs() + +vcpkg_copy_tools( + TOOL_NAMES desktoptojson + AUTO_CLEAN +) + +file(APPEND "${CURRENT_PACKAGES_DIR}/tools/${PORT}/qt.conf" "Data = ../../share") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin/data/kf5") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin/data/kf5") + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") +endif() + +file(GLOB LICENSE_FILES "${SOURCE_PATH}/LICENSES/*") +vcpkg_install_copyright(FILE_LIST ${LICENSE_FILES}) + diff --git a/ports/kf5coreaddons/vcpkg.json b/ports/kf5coreaddons/vcpkg.json index 22373698211bbe..3b10b041825963 100644 --- a/ports/kf5coreaddons/vcpkg.json +++ b/ports/kf5coreaddons/vcpkg.json @@ -1,7 +1,6 @@ { "name": "kf5coreaddons", - "version-semver": "5.84.0", - "port-version": 2, + "version": "5.98.0", "description": "Addons to QtCore", "homepage": "https://api.kde.org/frameworks/kcoreaddons/html/index.html", "dependencies": [ diff --git a/ports/kf5crash/portfile.cmake b/ports/kf5crash/portfile.cmake index b6382e19c02f07..03d8190f3062ba 100644 --- a/ports/kf5crash/portfile.cmake +++ b/ports/kf5crash/portfile.cmake @@ -1,18 +1,16 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KDE/kcrash - REF v5.84.0 - SHA512 db37a481e0d34e0024cabd77c22680171fa383ea300c56c73f807380fd818263d27f36fb012fc6604b462dbf9374db39bab94c4dc2c3bff488ac9812d01eb2dd + REF v5.98.0 + SHA512 5b6527167dd7b8947ae4e6a20d4d7d563d11246c6e3b697582abcc82fd0e0049de21c8e312d5c8cb6495fa82cf6ec338919280ee49600a21896161158a4dbce4 HEAD_REF master - PATCHES - support_static_builds.patch # https://invent.kde.org/frameworks/kcrash/-/merge_requests/23 ) # Prevent KDEClangFormat from writing to source effectively blocking parallel configure -file(WRITE ${SOURCE_PATH}/.clang-format "DisableFormat: true\nSortIncludes: false\n") +file(WRITE "${SOURCE_PATH}/.clang-format" "DisableFormat: true\nSortIncludes: false\n") vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_TESTING=OFF ) @@ -21,13 +19,13 @@ vcpkg_cmake_install() vcpkg_cmake_config_fixup(PACKAGE_NAME KF5Crash CONFIG_PATH lib/cmake/KF5Crash) vcpkg_copy_pdbs() -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin/data") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/etc") if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") endif() -file(INSTALL "${SOURCE_PATH}/LICENSES/" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright") +file(GLOB LICENSE_FILES "${SOURCE_PATH}/LICENSES/*") +vcpkg_install_copyright(FILE_LIST ${LICENSE_FILES}) + diff --git a/ports/kf5crash/support_static_builds.patch b/ports/kf5crash/support_static_builds.patch deleted file mode 100644 index 4c5eb8e529aa5d..00000000000000 --- a/ports/kf5crash/support_static_builds.patch +++ /dev/null @@ -1,31 +0,0 @@ -From dc45a01fec854b5e2a49196e82e1a336ab642764 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Dawid=20Wro=CC=81bel?= -Date: Wed, 28 Jul 2021 03:04:39 +0200 -Subject: [PATCH] Support static builds - ---- - KF5CrashConfig.cmake.in | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/KF5CrashConfig.cmake.in b/KF5CrashConfig.cmake.in -index 0222495..494c810 100644 ---- a/KF5CrashConfig.cmake.in -+++ b/KF5CrashConfig.cmake.in -@@ -5,6 +5,14 @@ - include(CMakeFindDependencyMacro) - find_dependency(Qt5Core @REQUIRED_QT_VERSION@) - -+if (NOT @BUILD_SHARED_LIBS@) -+ find_dependency(KF5CoreAddons REQUIRED) -+ find_dependency(KF5WindowSystem REQUIRED) -+ -+ if (@X11_FOUND@) -+ find_dependency(Qt5X11Extras REQUIRED) -+ endif() -+endif() - - include("${CMAKE_CURRENT_LIST_DIR}/KF5CrashTargets.cmake") - @PACKAGE_INCLUDE_QCHTARGETS@ --- -GitLab - diff --git a/ports/kf5crash/vcpkg.json b/ports/kf5crash/vcpkg.json index 9b6b62bc918295..7b646dc14d0967 100644 --- a/ports/kf5crash/vcpkg.json +++ b/ports/kf5crash/vcpkg.json @@ -1,7 +1,6 @@ { "name": "kf5crash", - "version-semver": "5.84.0", - "port-version": 2, + "version": "5.98.0", "description": "KCrash provides support for intercepting and handling application crashes.", "homepage": "https://api.kde.org/frameworks/kcrash/html/index.html", "dependencies": [ diff --git a/ports/kf5dbusaddons/fix_static_build.patch b/ports/kf5dbusaddons/fix_static_build.patch new file mode 100644 index 00000000000000..70dd9bfc9412a5 --- /dev/null +++ b/ports/kf5dbusaddons/fix_static_build.patch @@ -0,0 +1,16 @@ +diff --git a/KF5DBusAddonsConfig.cmake.in b/KF5DBusAddonsConfig.cmake.in +index 8d8cea5..7770236 100644 +--- a/KF5DBusAddonsConfig.cmake.in ++++ b/KF5DBusAddonsConfig.cmake.in +@@ -6,9 +6,9 @@ find_dependency(Qt@QT_MAJOR_VERSION@DBus @REQUIRED_QT_VERSION@) + if(NOT @BUILD_SHARED_LIBS@) + # Qt5::DBus target will have been defined by the find_dependency() call above + # at the time where this file is used +- if(TARGET Qt5::DBus) ++ if(@Qt5X11Extras_FOUND@) + find_dependency(Qt5X11Extras @REQUIRED_QT_VERSION@) +- else() ++ elseif(@Qt6Gui_FOUND@) + find_dependency(Qt6Gui @REQUIRED_QT_VERSION@) # qtx11extras_p.h + endif() + endif() diff --git a/ports/kf5dbusaddons/portfile.cmake b/ports/kf5dbusaddons/portfile.cmake index 73aab78ae3a1a8..5fe03244b56160 100644 --- a/ports/kf5dbusaddons/portfile.cmake +++ b/ports/kf5dbusaddons/portfile.cmake @@ -1,16 +1,18 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KDE/kdbusaddons - REF v5.84.0 - SHA512 cef640da611ead5fc002f365a9918db1bebe494d7dc456dca8a239873b7f53c1aee81d122cbc15d88cb1deeae1ab7db8c2a79a2847deb87f29c5f1c19a46ab46 + REF v5.98.0 + SHA512 e92d54b41ed65be517c4d8d46ed98f4b4a5df7ed66ef490f340e44a2ee230236b738d06c980f44dbe93bbbbcbdba387f60f5fbdde8e77d4df4f1d0433b4f0255 HEAD_REF master + PATCHES + fix_static_build.patch # https://invent.kde.org/frameworks/kdbusaddons/-/merge_requests/26 ) # Prevent KDEClangFormat from writing to source effectively blocking parallel configure -file(WRITE ${SOURCE_PATH}/.clang-format "DisableFormat: true\nSortIncludes: false\n") +file(WRITE "${SOURCE_PATH}/.clang-format" "DisableFormat: true\nSortIncludes: false\n") vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_TESTING=OFF ) @@ -27,9 +29,9 @@ elseif(VCPKG_TARGET_IS_WINDOWS) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin/kquitapp5${VCPKG_HOST_EXECUTABLE_SUFFIX}" "${CURRENT_PACKAGES_DIR}/debug/bin/kquitapp5${VCPKG_HOST_EXECUTABLE_SUFFIX}") endif() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/etc) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin/data) -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") + +file(GLOB LICENSE_FILES "${SOURCE_PATH}/LICENSES/*") +vcpkg_install_copyright(FILE_LIST ${LICENSE_FILES}) -file(INSTALL ${SOURCE_PATH}/LICENSES/ DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) \ No newline at end of file diff --git a/ports/kf5dbusaddons/vcpkg.json b/ports/kf5dbusaddons/vcpkg.json index dd485ad52e0f9c..d6ce0df5c0811e 100644 --- a/ports/kf5dbusaddons/vcpkg.json +++ b/ports/kf5dbusaddons/vcpkg.json @@ -1,7 +1,6 @@ { "name": "kf5dbusaddons", - "version": "5.84.0", - "port-version": 2, + "version": "5.98.0", "description": "Convenience classes for D-Bus", "homepage": "https://api.kde.org/frameworks/kdbusaddons/html/index.html", "dependencies": [ diff --git a/ports/kf5declarative/dont_force_shared.diff b/ports/kf5declarative/dont_force_shared.diff deleted file mode 100644 index 6fcae5ef072598..00000000000000 --- a/ports/kf5declarative/dont_force_shared.diff +++ /dev/null @@ -1,117 +0,0 @@ -diff --git a/src/calendarevents/CMakeLists.txt b/src/calendarevents/CMakeLists.txt -index e2e6e6f808e0e4f3569c0f1225f7d5b50798833c..aa0868118b64acaefd7c54add624e589cb0976a0 100644 ---- a/src/calendarevents/CMakeLists.txt -+++ b/src/calendarevents/CMakeLists.txt -@@ -3,7 +3,7 @@ set(calendar-integration_SRCS - eventdata_p.cpp - ) - --add_library(KF5CalendarEvents SHARED ${calendar-integration_SRCS}) -+add_library(KF5CalendarEvents ${calendar-integration_SRCS}) - generate_export_header(KF5CalendarEvents BASE_NAME CalendarEvents) - add_library(KF5::CalendarEvents ALIAS KF5CalendarEvents) - -diff --git a/src/qmlcontrols/draganddrop/CMakeLists.txt b/src/qmlcontrols/draganddrop/CMakeLists.txt -index e8127e44f7ed51514fc94337c9de524343e2a4bd..e649c4fe421f12e5f3a3d7833004886bf6a40dd6 100644 ---- a/src/qmlcontrols/draganddrop/CMakeLists.txt -+++ b/src/qmlcontrols/draganddrop/CMakeLists.txt -@@ -9,7 +9,7 @@ set(declarativedragdrop_SRCS - MimeDataWrapper.cpp - ) - --add_library(draganddropplugin SHARED ${declarativedragdrop_SRCS}) -+add_library(draganddropplugin ${declarativedragdrop_SRCS}) - target_link_libraries(draganddropplugin - Qt5::Core - Qt5::Quick -diff --git a/src/qmlcontrols/kcmcontrols/CMakeLists.txt b/src/qmlcontrols/kcmcontrols/CMakeLists.txt -index a2e107ff7ae776f584f05b1d94130be6d2de4382..eec89dd219c345f50236f4d2d8e0004d4fb0741c 100644 ---- a/src/qmlcontrols/kcmcontrols/CMakeLists.txt -+++ b/src/qmlcontrols/kcmcontrols/CMakeLists.txt -@@ -6,7 +6,7 @@ set(kcmcontrols_SRCS - settinghighlighterprivate.cpp - ) - --add_library(kcmcontrolsplugin SHARED ${kcmcontrols_SRCS}) -+add_library(kcmcontrolsplugin ${kcmcontrols_SRCS}) - target_link_libraries(kcmcontrolsplugin - Qt5::Core - Qt5::Quick -diff --git a/src/qmlcontrols/kconfig/CMakeLists.txt b/src/qmlcontrols/kconfig/CMakeLists.txt -index 59a68b2277dee3532d39b40d2240a1ba2d3e041d..73658100ce4d832088d8bf6479b3a04853addecb 100644 ---- a/src/qmlcontrols/kconfig/CMakeLists.txt -+++ b/src/qmlcontrols/kconfig/CMakeLists.txt -@@ -5,7 +5,7 @@ set(kconfigplugin_SRCS - kauthorizedproxy.cpp - ) - --add_library(kconfigplugin SHARED ${kconfigplugin_SRCS}) -+add_library(kconfigplugin ${kconfigplugin_SRCS}) - target_link_libraries(kconfigplugin - Qt5::Core - Qt5::Qml -diff --git a/src/qmlcontrols/kcoreaddons/CMakeLists.txt b/src/qmlcontrols/kcoreaddons/CMakeLists.txt -index 3f77f2d1bf067a545f74f31423a8facff8e38ff7..3c27e3bb3db2c8686ef97ef093051a3ead7ad475 100644 ---- a/src/qmlcontrols/kcoreaddons/CMakeLists.txt -+++ b/src/qmlcontrols/kcoreaddons/CMakeLists.txt -@@ -6,7 +6,7 @@ set(kcoreaddonsplugin_SRCS - kuserproxy.cpp - ) - --add_library(kcoreaddonsplugin SHARED ${kcoreaddonsplugin_SRCS}) -+add_library(kcoreaddonsplugin ${kcoreaddonsplugin_SRCS}) - target_link_libraries(kcoreaddonsplugin - Qt5::Core - Qt5::Quick -diff --git a/src/qmlcontrols/kioplugin/CMakeLists.txt b/src/qmlcontrols/kioplugin/CMakeLists.txt -index 22a4f1e4326a2dbb721fd94ebbf74bdc0f8a7acf..2afcbdd3ef4aeee55da5a0800f7da0ce78edc909 100644 ---- a/src/qmlcontrols/kioplugin/CMakeLists.txt -+++ b/src/qmlcontrols/kioplugin/CMakeLists.txt -@@ -5,7 +5,7 @@ set(kioplugin_SRCS - krunproxy.cpp - ) - --add_library(kio SHARED ${kioplugin_SRCS}) -+add_library(kio ${kioplugin_SRCS}) - target_link_libraries(kio - Qt5::Core - Qt5::Qml -diff --git a/src/qmlcontrols/kquickcontrols/private/CMakeLists.txt b/src/qmlcontrols/kquickcontrols/private/CMakeLists.txt -index 61fae96bb475af320a5f12d7b5c4178a0bf293f9..5afb253e4a4fce5f1448f8f74b966ea4ec387041 100644 ---- a/src/qmlcontrols/kquickcontrols/private/CMakeLists.txt -+++ b/src/qmlcontrols/kquickcontrols/private/CMakeLists.txt -@@ -6,7 +6,7 @@ set(kquickcontrolsprivate_SRCS - translationcontext.cpp - ) - --add_library(kquickcontrolsprivateplugin SHARED ${kquickcontrolsprivate_SRCS}) -+add_library(kquickcontrolsprivateplugin ${kquickcontrolsprivate_SRCS}) - - target_link_libraries(kquickcontrolsprivateplugin - Qt5::Core -diff --git a/src/qmlcontrols/kquickcontrolsaddons/CMakeLists.txt b/src/qmlcontrols/kquickcontrolsaddons/CMakeLists.txt -index 71aacc6920e126e271b9192ed384d9753f469520..513eebfb18b8b6e093db540fb5e964cf8b1cbbe2 100644 ---- a/src/qmlcontrols/kquickcontrolsaddons/CMakeLists.txt -+++ b/src/qmlcontrols/kquickcontrolsaddons/CMakeLists.txt -@@ -17,7 +17,7 @@ set(kquickcontrolsaddons_SRCS - icondialog.cpp - ) - --add_library(kquickcontrolsaddonsplugin SHARED ${kquickcontrolsaddons_SRCS}) -+add_library(kquickcontrolsaddonsplugin ${kquickcontrolsaddons_SRCS}) - - target_link_libraries(kquickcontrolsaddonsplugin - Qt5::Core -diff --git a/src/qmlcontrols/kwindowsystemplugin/CMakeLists.txt b/src/qmlcontrols/kwindowsystemplugin/CMakeLists.txt -index 48378f7e93c5fd9641e11d7dd784992cf7f62f3e..6c8a01d249a67371caba84e8f9a263dcf728b60b 100644 ---- a/src/qmlcontrols/kwindowsystemplugin/CMakeLists.txt -+++ b/src/qmlcontrols/kwindowsystemplugin/CMakeLists.txt -@@ -5,7 +5,7 @@ set(kwindowsystemplugin_SRCS - kwindowsystemproxy.cpp - ) - --add_library(kwindowsystem SHARED ${kwindowsystemplugin_SRCS}) -+add_library(kwindowsystem ${kwindowsystemplugin_SRCS}) - target_link_libraries(kwindowsystem - Qt5::Core - Qt5::Qml diff --git a/ports/kf5declarative/fix_config_cmake.patch b/ports/kf5declarative/fix_config_cmake.patch deleted file mode 100644 index 1ca8e9ed64136f..00000000000000 --- a/ports/kf5declarative/fix_config_cmake.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/KF5DeclarativeConfig.cmake.in b/KF5DeclarativeConfig.cmake.in -index d66617c..1bf4e0a 100644 ---- a/KF5DeclarativeConfig.cmake.in -+++ b/KF5DeclarativeConfig.cmake.in -@@ -6,5 +6,15 @@ find_dependency(KF5Config "@KF_DEP_VERSION@") - find_dependency(KF5CoreAddons "@KF_DEP_VERSION@") - find_dependency(KF5Package "@KF_DEP_VERSION@") - -+if (NOT @BUILD_SHARED_LIBS@) -+ find_dependency(KF5I18n "@KF_DEP_VERSION@") -+ find_dependency(KF5KIO "@KF_DEP_VERSION@") -+ find_dependency(KF5IconThemes "@KF_DEP_VERSION@") -+ -+ if (ANDROID) -+ find_dependency(epoxy) -+ endif() -+endif() -+ - include("${CMAKE_CURRENT_LIST_DIR}/KF5DeclarativeTargets.cmake") - @PACKAGE_INCLUDE_QCHTARGETS@ --- -GitLab - diff --git a/ports/kf5declarative/portfile.cmake b/ports/kf5declarative/portfile.cmake index 6d429c2e87d7d9..6cac1541b1a378 100644 --- a/ports/kf5declarative/portfile.cmake +++ b/ports/kf5declarative/portfile.cmake @@ -1,31 +1,28 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KDE/kdeclarative - REF v5.84.0 - SHA512 5785c49173ccd22aaed040b2590d0f44b6e138bd5c8980ce0d4a31e2bd364f830a256be3dfb7806d206b2197d882c791f73c60f7c973749c4c3e1c7bbf541822 + REF v5.98.0 + SHA512 327eb517fc5fa47dcd5e1b70fff0a704528789e3cb6652db5269a8c41ba3ffeedc38b71f1e00403a5e0132029497a6dae90f4230d13ffdfeb0469b5ff91e2a71 HEAD_REF master - PATCHES - fix_config_cmake.patch - dont_force_shared.diff ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS INVERTED_FEATURES - "opengl" CMAKE_DISABLE_FIND_PACKAGE_EPOXY + "opengl" CMAKE_DISABLE_FIND_PACKAGE_EPOXY ) # Prevent KDEClangFormat from writing to source effectively blocking parallel configure -file(WRITE ${SOURCE_PATH}/.clang-format "DisableFormat: true\nSortIncludes: false\n") +file(WRITE "${SOURCE_PATH}/.clang-format" "DisableFormat: true\nSortIncludes: false\n") vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - OPTIONS + OPTIONS -DBUILD_TESTING=OFF -DKDE_INSTALL_QTPLUGINDIR=plugins -DBUNDLE_INSTALL_DIR=bin -DKDE_INSTALL_QMLDIR=qml ${FEATURE_OPTIONS} - MAYBE_UNUSED_VARIABLES + MAYBE_UNUSED_VARIABLES CMAKE_DISABLE_FIND_PACKAGE_EPOXY BUNDLE_INSTALL_DIR ) @@ -34,10 +31,7 @@ vcpkg_cmake_install() vcpkg_cmake_config_fixup(PACKAGE_NAME KF5Declarative CONFIG_PATH lib/cmake/KF5Declarative) vcpkg_copy_pdbs() -vcpkg_copy_tools( - TOOL_NAMES kpackagelauncherqml - AUTO_CLEAN -) +vcpkg_copy_tools(TOOL_NAMES kpackagelauncherqml AUTO_CLEAN) if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") @@ -46,4 +40,6 @@ endif() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -file(INSTALL "${SOURCE_PATH}/LICENSES/" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright") \ No newline at end of file +file(GLOB LICENSE_FILES "${SOURCE_PATH}/LICENSES/*") +vcpkg_install_copyright(FILE_LIST ${LICENSE_FILES}) + diff --git a/ports/kf5declarative/vcpkg.json b/ports/kf5declarative/vcpkg.json index 500af770adb49c..10588dabdc4a2c 100644 --- a/ports/kf5declarative/vcpkg.json +++ b/ports/kf5declarative/vcpkg.json @@ -1,7 +1,6 @@ { "name": "kf5declarative", - "version": "5.84.0", - "port-version": 1, + "version": "5.98.0", "description": "Integration of QML and KDE work spaces", "homepage": "https://api.kde.org/frameworks/kdeclarative/html/index.html", "dependencies": [ @@ -14,7 +13,10 @@ ] }, "kf5config", - "kf5globalaccel", + { + "name": "kf5globalaccel", + "platform": "!windows" + }, "kf5guiaddons", "kf5i18n", "kf5iconthemes", diff --git a/ports/kf5diagram/portfile.cmake b/ports/kf5diagram/portfile.cmake index 06278643cfb4d4..23caaa58902470 100644 --- a/ports/kf5diagram/portfile.cmake +++ b/ports/kf5diagram/portfile.cmake @@ -26,4 +26,5 @@ endif() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -file(INSTALL "${SOURCE_PATH}/LICENSE.GPL.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright") \ No newline at end of file + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.GPL.txt") diff --git a/ports/kf5diagram/vcpkg.json b/ports/kf5diagram/vcpkg.json index 0388001e540368..07677eeb01eac9 100644 --- a/ports/kf5diagram/vcpkg.json +++ b/ports/kf5diagram/vcpkg.json @@ -1,6 +1,7 @@ { "name": "kf5diagram", "version": "2.8.0", + "port-version": 1, "description": "Powerful libraries (KChart, KGantt) for creating business diagrams", "homepage": "https://api.kde.org/kdiagram/index.html", "dependencies": [ diff --git a/ports/kf5globalaccel/portfile.cmake b/ports/kf5globalaccel/portfile.cmake index decf668c1d3415..e4d7dbfed09ef6 100644 --- a/ports/kf5globalaccel/portfile.cmake +++ b/ports/kf5globalaccel/portfile.cmake @@ -1,33 +1,37 @@ -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO KDE/kglobalaccel - REF v5.84.0 - SHA512 2b18c708175572dd9787fde799f6dc01ab2e0006dfb75ef95d357ae91cf4dda6c719c58e4b08fd10038ad5b6e404adeb359f63371ec7ee0887e349e8ce469c51 - HEAD_REF master -) - -# Prevent KDEClangFormat from writing to source effectively blocking parallel configure -file(WRITE ${SOURCE_PATH}/.clang-format "DisableFormat: true\nSortIncludes: false\n") - -vcpkg_cmake_configure( - SOURCE_PATH "${SOURCE_PATH}" - OPTIONS - -DBUILD_TESTING=OFF -) - -vcpkg_cmake_install() -vcpkg_cmake_config_fixup(PACKAGE_NAME KF5GlobalAccel CONFIG_PATH lib/cmake/KF5GlobalAccel) -vcpkg_copy_pdbs() - -vcpkg_copy_tools( - TOOL_NAMES kglobalaccel5 - 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}/debug/include") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -file(INSTALL "${SOURCE_PATH}/LICENSES/" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright") \ No newline at end of file +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO KDE/kglobalaccel + REF v5.98.0 + SHA512 a8846538ced248ee537b90136bbb45cabff60088daba7a19e48d6ab63ce388353e83770cf6bad7b0c700b7404e1f4aa88f71f202dde8cdc3064456da73241050 + HEAD_REF master +) + +if (VCPKG_TARGET_IS_LINUX) + message(WARNING "${PORT} currently requires the following libraries from the system package manager:\n libxcb-keysyms1-dev libxcb-xkb-dev libxcb-record0-dev\n\nThese can be installed on Ubuntu systems via apt-get install llibxcb-keysyms1-dev libxcb-xkb-dev libxcb-record0-dev") +endif() + +# Prevent KDEClangFormat from writing to source effectively blocking parallel configure +file(WRITE "${SOURCE_PATH}/.clang-format" "DisableFormat: true\nSortIncludes: false\n") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_TESTING=OFF +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME KF5GlobalAccel CONFIG_PATH lib/cmake/KF5GlobalAccel) +vcpkg_copy_pdbs() + +vcpkg_copy_tools(TOOL_NAMES kglobalaccel5 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}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +file(GLOB LICENSE_FILES "${SOURCE_PATH}/LICENSES/*") +vcpkg_install_copyright(FILE_LIST ${LICENSE_FILES}) + diff --git a/ports/kf5globalaccel/vcpkg.json b/ports/kf5globalaccel/vcpkg.json index 25aefeecae284b..14dc2f5a427369 100644 --- a/ports/kf5globalaccel/vcpkg.json +++ b/ports/kf5globalaccel/vcpkg.json @@ -1,9 +1,9 @@ { "name": "kf5globalaccel", - "version-semver": "5.84.0", - "port-version": 1, + "version": "5.98.0", "description": "lobal desktop keyboard shortcuts", "homepage": "https://api.kde.org/frameworks/kglobalaccel/html/index.html", + "supports": "!windows", "dependencies": [ "ecm", "kf5config", @@ -24,6 +24,10 @@ { "name": "vcpkg-cmake-config", "host": true + }, + { + "name": "xcb", + "platform": "linux" } ] } diff --git a/ports/kf5guiaddons/0001-Add-misisng-find_dependency-s-for-static-builds.patch b/ports/kf5guiaddons/0001-Add-misisng-find_dependency-s-for-static-builds.patch new file mode 100644 index 00000000000000..eb7283d0629446 --- /dev/null +++ b/ports/kf5guiaddons/0001-Add-misisng-find_dependency-s-for-static-builds.patch @@ -0,0 +1,26 @@ +From 4f2be34b4a33453d71847dbab977f9eaedf2e995 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Dawid=20Wro=CC=81bel?= +Date: Wed, 19 Oct 2022 13:26:50 +0200 +Subject: [PATCH] Add misisng find_dependency's for static builds + +--- + KF5GuiAddonsConfig.cmake.in | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/KF5GuiAddonsConfig.cmake.in b/KF5GuiAddonsConfig.cmake.in +index b494230..73c2678 100644 +--- a/KF5GuiAddonsConfig.cmake.in ++++ b/KF5GuiAddonsConfig.cmake.in +@@ -7,6 +7,9 @@ find_dependency(Qt@QT_MAJOR_VERSION@Gui @REQUIRED_QT_VERSION@) + + if (NOT @BUILD_SHARED_LIBS@) + if (@WITH_X11@) ++ find_dependency(X11) ++ find_dependency(XCB COMPONENTS XCB) ++ + if (NOT TARGET Qt6::Gui) + find_dependency(Qt5X11Extras @REQUIRED_QT_VERSION@) + endif() +-- +2.38.0 + diff --git a/ports/kf5guiaddons/add_missing_static_dependencies.patch b/ports/kf5guiaddons/add_missing_static_dependencies.patch deleted file mode 100644 index c8a5fcd6674a44..00000000000000 --- a/ports/kf5guiaddons/add_missing_static_dependencies.patch +++ /dev/null @@ -1,84 +0,0 @@ -From 7b0a5566acbdb6ff8e7eca3e5e75aacbf2abff9f Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Dawid=20Wro=CC=81bel?= -Date: Sat, 28 Aug 2021 17:08:46 +0200 -Subject: [PATCH] Add missing static dependency to Config.cmake.in - -- move find_package(Qt5X11Extras) to root CMakeLists.txt ---- - CMakeLists.txt | 5 +++++ - KF5GuiAddonsConfig.cmake.in | 5 ++++- - src/CMakeLists.txt | 24 ++++++++++-------------- - 3 files changed, 19 insertions(+), 15 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 337122e..80633e5 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -39,6 +39,11 @@ if (NOT APPLE AND NOT WIN32) - find_package(XCB MODULE COMPONENTS XCB) - endif() - -+set(WITH_XCB) -+if (NOT APPLE AND X11_FOUND AND X11_Xkb_FOUND AND XCB_XCB_FOUND) -+ find_package(Qt5X11Extras ${REQUIRED_QT_VERSION} NO_MODULE) -+endif() -+ - if (WITH_WAYLAND) - find_package(Qt5WaylandClient ${REQUIRED_QT_VERSION} NO_MODULE) - find_package(QtWaylandScanner REQUIRED) -diff --git a/KF5GuiAddonsConfig.cmake.in b/KF5GuiAddonsConfig.cmake.in -index a3c3e58..ae17f6b 100644 ---- a/KF5GuiAddonsConfig.cmake.in -+++ b/KF5GuiAddonsConfig.cmake.in -@@ -6,9 +6,12 @@ include(CMakeFindDependencyMacro) - find_dependency(Qt5Gui @REQUIRED_QT_VERSION@) - - if (NOT @BUILD_SHARED_LIBS@) -+ if (@Qt5X11Extras_FOUND@) -+ find_dependency(Qt5X11Extras @REQUIRED_QT_VERSION@) -+ endif() - if (@WITH_WAYLAND@) - find_dependency(Wayland REQUIRED Client) -- find_dependency(Qt5WaylandClient) -+ find_dependency(Qt5WaylandClient @REQUIRED_QT_VERSION@) - find_dependency(QtWaylandScanner) - endif() - endif() -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 1dd66e8..ae0e0aa 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -58,20 +58,16 @@ target_include_directories(KF5GuiAddons INTERFACE "$") - target_link_libraries(KF5GuiAddons PUBLIC Qt5::Gui) - --set(WITH_XCB) --if (NOT APPLE AND X11_FOUND AND X11_Xkb_FOUND AND XCB_XCB_FOUND) -- find_package(Qt5X11Extras ${REQUIRED_QT_VERSION} NO_MODULE) -- if (Qt5X11Extras_FOUND) -- add_library(kmodifierkey_xcb MODULE util/kmodifierkeyinfoprovider_xcb.cpp) -- target_include_directories (kmodifierkey_xcb PRIVATE -- ${X11_Xkb_INCLUDE_PATH} -- ${X11_Xlib_INCLUDE_PATH} -- ${XCB_XCB_INCLUDE_DIR} -- ) -- target_link_libraries(kmodifierkey_xcb PRIVATE ${X11_LIBRARIES} ${XCB_XCB_LIBRARY} Qt5::X11Extras KF5::GuiAddons) -- install( TARGETS kmodifierkey_xcb DESTINATION ${KDE_INSTALL_PLUGINDIR}/kf5/kguiaddons/kmodifierkey/) -- endif() --endif () -+if (Qt5X11Extras_FOUND) -+ add_library(kmodifierkey_xcb MODULE util/kmodifierkeyinfoprovider_xcb.cpp) -+ target_include_directories (kmodifierkey_xcb PRIVATE -+ ${X11_Xkb_INCLUDE_PATH} -+ ${X11_Xlib_INCLUDE_PATH} -+ ${XCB_XCB_INCLUDE_DIR} -+ ) -+ target_link_libraries(kmodifierkey_xcb PRIVATE ${X11_LIBRARIES} ${XCB_XCB_LIBRARY} Qt5::X11Extras KF5::GuiAddons) -+ install( TARGETS kmodifierkey_xcb DESTINATION ${KDE_INSTALL_PLUGINDIR}/kf5/kguiaddons/kmodifierkey/) -+endif() - - ecm_generate_headers(KGuiAddons_HEADERS - HEADER_NAMES --- -GitLab - diff --git a/ports/kf5guiaddons/fix_cmake.patch b/ports/kf5guiaddons/fix_cmake.patch index 93b2bc4f58e9b2..070ceba0a5105b 100644 --- a/ports/kf5guiaddons/fix_cmake.patch +++ b/ports/kf5guiaddons/fix_cmake.patch @@ -3,10 +3,10 @@ index ae17f6b..34e41bd 100644 --- a/KF5GuiAddonsConfig.cmake.in +++ b/KF5GuiAddonsConfig.cmake.in @@ -10,6 +10,7 @@ if (NOT @BUILD_SHARED_LIBS@) - find_dependency(Qt5X11Extras @REQUIRED_QT_VERSION@) + endif() endif() if (@WITH_WAYLAND@) + set(QtWaylandScanner_EXECUTABLE "${PACKAGE_PREFIX}/tools/qt5-wayland/bin/qtwaylandscanner" CACHE STRING "QtWaylandScanner workaround") find_dependency(Wayland REQUIRED Client) - find_dependency(Qt5WaylandClient @REQUIRED_QT_VERSION@) + find_dependency(Qt@QT_MAJOR_VERSION@WaylandClient @REQUIRED_QT_VERSION@) find_dependency(QtWaylandScanner) diff --git a/ports/kf5guiaddons/portfile.cmake b/ports/kf5guiaddons/portfile.cmake index f6da2d131ae184..ec5341ca7be7bf 100644 --- a/ports/kf5guiaddons/portfile.cmake +++ b/ports/kf5guiaddons/portfile.cmake @@ -1,45 +1,51 @@ -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO KDE/kguiaddons - REF v5.84.0 - SHA512 e5905c0aa5343ce3d4cd3765cb81390fc89fb78aec3c8de8b31d1dada8074d04f549ff785f3988498d2e274d7cb08a35a83ba031d18562049e6ca41d18ea52ee - HEAD_REF master - PATCHES - add_missing_static_dependencies.patch # https://invent.kde.org/frameworks/kguiaddons/-/merge_requests/25 - fix_cmake.patch # https://github.com/microsoft/vcpkg/issues/17607#issuecomment-831518812 -) - -vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - FEATURES - wayland WITH_WAYLAND -) - -if("wayland" IN_LIST FEATURES AND NOT VCPKG_TARGET_IS_LINUX) - message(FATAL_ERROR "Feature wayland is only supported on Linux.") -endif() - -# Prevent KDEClangFormat from writing to source effectively blocking parallel configure -file(WRITE ${SOURCE_PATH}/.clang-format "DisableFormat: true\nSortIncludes: false\n") - -vcpkg_cmake_configure( - SOURCE_PATH "${SOURCE_PATH}" - OPTIONS - -DBUILD_TESTING=OFF - -DQtWaylandScanner_EXECUTABLE=${CURRENT_INSTALLED_DIR}/tools/qt5-wayland/bin/qtwaylandscanner - ${FEATURE_OPTIONS} - MAYBE_UNUSED_VARIABLES - QtWaylandScanner_EXECUTABLE -) - -vcpkg_cmake_install() -vcpkg_cmake_config_fixup(PACKAGE_NAME KF5GuiAddons CONFIG_PATH lib/cmake/KF5GuiAddons) -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") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") - -file(INSTALL "${SOURCE_PATH}/LICENSES/" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright") +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO KDE/kguiaddons + REF v5.98.0 + SHA512 957edb3a4c78dcc52ae96f4565b617413b9dcd10e2681df0a945042c1d2ae87b8327567ad58f78c665e2e38351d6cc33129cf1ad30497912ccfa281c870e1607 + HEAD_REF master + PATCHES + fix_cmake.patch # https://github.com/microsoft/vcpkg/issues/17607#issuecomment-831518812 + 0001-Add-misisng-find_dependency-s-for-static-builds.patch +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + wayland WITH_WAYLAND + x11 WITH_X11 +) + +# Prevent KDEClangFormat from writing to source effectively blocking parallel configure +file(WRITE "${SOURCE_PATH}/.clang-format" "DisableFormat: true\nSortIncludes: false\n") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_TESTING=OFF + -DQtWaylandScanner_EXECUTABLE=${CURRENT_INSTALLED_DIR}/tools/qt5-wayland/bin/qtwaylandscanner + -DBUNDLE_INSTALL_DIR=bin + ${FEATURE_OPTIONS} + MAYBE_UNUSED_VARIABLES + BUNDLE_INSTALL_DIR + QtWaylandScanner_EXECUTABLE +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME KF5GuiAddons CONFIG_PATH lib/cmake/KF5GuiAddons) +vcpkg_copy_pdbs() + +vcpkg_copy_tools( + TOOL_NAMES kde-geo-uri-handler + 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}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +file(GLOB LICENSE_FILES "${SOURCE_PATH}/LICENSES/*") +vcpkg_install_copyright(FILE_LIST ${LICENSE_FILES}) + diff --git a/ports/kf5guiaddons/vcpkg.json b/ports/kf5guiaddons/vcpkg.json index c152961a8ff902..86b770ddabdaa9 100644 --- a/ports/kf5guiaddons/vcpkg.json +++ b/ports/kf5guiaddons/vcpkg.json @@ -1,7 +1,6 @@ { "name": "kf5guiaddons", - "version-semver": "5.84.0", - "port-version": 3, + "version": "5.98.0", "description": "Addons to QtGui", "homepage": "https://api.kde.org/frameworks/kguiaddons/html/index.html", "dependencies": [ @@ -34,7 +33,8 @@ { "name": "kf5guiaddons", "features": [ - "wayland" + "wayland", + "x11" ], "platform": "linux" } @@ -43,7 +43,20 @@ "wayland": { "description": "Linux-only. Build with support for KeySequenceEditor inhibiting shortcuts on Wayland", "dependencies": [ - "qt5-wayland" + "plasma-wayland-protocols", + { + "name": "qt5-wayland", + "platform": "linux" + } + ] + }, + "x11": { + "description": "Linux-only. Build with support for KeySequenceEditor inhibiting shortcuts on X11", + "dependencies": [ + { + "name": "qt5-x11extras", + "platform": "linux" + } ] } } diff --git a/ports/kf5holidays/portfile.cmake b/ports/kf5holidays/portfile.cmake index ee0ae5f4462832..0c6aa1a65f8f55 100644 --- a/ports/kf5holidays/portfile.cmake +++ b/ports/kf5holidays/portfile.cmake @@ -1,35 +1,32 @@ -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO KDE/kholidays - REF v5.84.0 - SHA512 2e4813b3ca36694e1231b41372baf9a29f80ba44f28525863cedda97ebb766a5d04dbb65422186d97ec753768bd772081fbaf1a91a33ab4556acbea6eb2510f5 - HEAD_REF master -) - -# Prevent KDEClangFormat from writing to source effectively blocking parallel configure -file(WRITE ${SOURCE_PATH}/.clang-format "DisableFormat: true\nSortIncludes: false\n") - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - -DBUILD_TESTING=OFF -) - -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/KF5Holidays) -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) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/etc) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/etc) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) - -file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/qml ${CURRENT_PACKAGES_DIR}/debug/qml ) -file(RENAME ${CURRENT_PACKAGES_DIR}/lib/qml ${CURRENT_PACKAGES_DIR}/qml ) - -file(INSTALL ${SOURCE_PATH}/LICENSES/ DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO KDE/kholidays + REF v5.98.0 + SHA512 e09eaa97094edd2feb5ec3677be8764bc1c3f6749c21eff8c0a2c9c047c21d35805f07b985d5d50a60e8acd48ff5096cc7f28a4fe22f49f45c74de390b7402ca + HEAD_REF master +) + +# Prevent KDEClangFormat from writing to source effectively blocking parallel configure +file(WRITE "${SOURCE_PATH}/.clang-format" "DisableFormat: true\nSortIncludes: false\n") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_TESTING=OFF + -DKDE_INSTALL_QMLDIR=qml +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME KF5Holidays CONFIG_PATH lib/cmake/KF5Holidays) +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") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +file(GLOB LICENSE_FILES "${SOURCE_PATH}/LICENSES/*") +vcpkg_install_copyright(FILE_LIST ${LICENSE_FILES}) + diff --git a/ports/kf5holidays/vcpkg.json b/ports/kf5holidays/vcpkg.json index 1993091f78c0be..1f11b3fb036e8c 100644 --- a/ports/kf5holidays/vcpkg.json +++ b/ports/kf5holidays/vcpkg.json @@ -1,11 +1,18 @@ { "name": "kf5holidays", - "version": "5.84.0", - "port-version": 2, + "version": "5.98.0", "description": "Holiday calculation library", "dependencies": [ "ecm", "qt5-base", - "qt5-tools" + "qt5-tools", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/kf5i18n/fix_static_builds.patch b/ports/kf5i18n/fix_static_builds.patch index 541ce9f270fdf2..a28917593f5367 100644 --- a/ports/kf5i18n/fix_static_builds.patch +++ b/ports/kf5i18n/fix_static_builds.patch @@ -7,24 +7,24 @@ index 364cc43..af7cd3b 100644 include("${CMAKE_CURRENT_LIST_DIR}/KF5I18nMacros.cmake") +find_dependency(Iconv) -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +diff --git a/src/i18n/CMakeLists.txt b/src/i18n/CMakeLists.txt index c6b510c..0a25eca 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -38,12 +38,16 @@ ecm_generate_export_header(KF5I18n +--- a/src/i18n/CMakeLists.txt ++++ b/src/i18n/CMakeLists.txt +@@ -40,12 +40,16 @@ ecm_generate_export_header(KF5I18n EXCLUDE_DEPRECATED_BEFORE_AND_AT ${EXCLUDE_DEPRECATED_BEFORE_AND_AT} ) +find_package(Iconv REQUIRED) + - target_include_directories(KF5I18n INTERFACE "$") + target_include_directories(KF5I18n INTERFACE "$") target_include_directories(KF5I18n PRIVATE ${LibIntl_INCLUDE_DIRS}) +target_include_directories(KF5I18n PRIVATE ${Iconv_INCLUDE_DIRS}) - target_link_libraries(KF5I18n PUBLIC Qt5::Core) + target_link_libraries(KF5I18n PUBLIC Qt${QT_MAJOR_VERSION}::Core) # This is only required for platforms which don't use glibc (with glibc LibIntl_LIBRARIES will be empty) target_link_libraries(KF5I18n PRIVATE ${LibIntl_LIBRARIES}) +target_link_libraries(KF5I18n PRIVATE ${Iconv_LIBRARIES}) - target_compile_options(KF5I18n PRIVATE -DTRANSLATION_DOMAIN=\"ki18n5\") - - set_target_properties(KF5I18n PROPERTIES VERSION ${KI18N_VERSION} + if (ANDROID) + if (QT_MAJOR_VERSION EQUAL "5") + target_link_libraries(KF5I18n PRIVATE Qt5::AndroidExtras) diff --git a/ports/kf5i18n/portfile.cmake b/ports/kf5i18n/portfile.cmake index e7825c86efb9c8..f4de6dfbfa3a04 100644 --- a/ports/kf5i18n/portfile.cmake +++ b/ports/kf5i18n/portfile.cmake @@ -1,42 +1,51 @@ -if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - list(APPEND PATCHES fix_static_builds.patch) -endif() - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO KDE/ki18n - REF v5.84.0 - SHA512 611481b0d5f387b6e1201c1d38e050bd6c956607d059679c68f39d8560cdde666709f5aa1ae770e200fb81e902da85160eb3eeaf5c0bdb02c0ff13782df1d907 - PATCHES ${PATCHES} -) - -vcpkg_find_acquire_program(PYTHON3) - -# Prevent KDEClangFormat from writing to source effectively blocking parallel configure -file(WRITE ${SOURCE_PATH}/.clang-format "DisableFormat: true\nSortIncludes: false\n") - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - -DBUILD_TESTING=OFF - -DKDE_INSTALL_PLUGINDIR=plugins - -DPYTHON_EXECUTABLE=${PYTHON3} -) - -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/KF5I18n) -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}/bin/data) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin/data) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/etc) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/etc) - -file(INSTALL ${SOURCE_PATH}/LICENSES/ DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) +if(VCPKG_LIBRARY_LINKAGE STREQUAL static) + list(APPEND PATCHES fix_static_builds.patch) +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO KDE/ki18n + REF v5.98.0 + SHA512 5bb2c216825448d207dbcaa521503ddb78f77ba52668992447c792bcc4f48f8a0d6de7d3f564dc917a14765ae7f0ad7e43dd0ce8f368e97eb8dfe077fa8b4c46 + PATCHES ${PATCHES} +) + +vcpkg_find_acquire_program(PYTHON3) + +# Prevent KDEClangFormat from writing to source effectively blocking parallel configure +file(WRITE "${SOURCE_PATH}/.clang-format" "DisableFormat: true\nSortIncludes: false\n") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_TESTING=OFF + -DKDE_INSTALL_PLUGINDIR=plugins + -DKDE_INSTALL_QMLDIR=qml + -DPYTHON_EXECUTABLE=${PYTHON3} +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME KF5I18n CONFIG_PATH lib/cmake/KF5I18n) +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") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +file(GLOB LICENSE_FILES "${SOURCE_PATH}/LICENSES/*") +vcpkg_install_copyright(FILE_LIST ${LICENSE_FILES}) + +# The following pattern has an absolute path, but is still ultimately relocatable, so skip absolute paths check: +# share\KF5I18n\KF5I18nMacros.cmake +# # The Python executable used for building ki18n will be used as a fallback +# # solution if it cannot be found in $PATH when building applications. +# set(_KI18N_PYTHON_EXECUTABLE "C:/Dev/vcpkg-downloads/tools/python/python-3.10.7-x64/python.exe") +# +# find_program(KI18N_PYTHON_EXECUTABLE NAMES python3 python2 python) +# if(NOT KI18N_PYTHON_EXECUTABLE) +# set(KI18N_PYTHON_EXECUTABLE "${_KI18N_PYTHON_EXECUTABLE}") +# endif() +set(VCPKG_POLICY_SKIP_ABSOLUTE_PATHS_CHECK enabled) diff --git a/ports/kf5i18n/vcpkg.json b/ports/kf5i18n/vcpkg.json index bab7f151de3354..3f447ef49b1c58 100644 --- a/ports/kf5i18n/vcpkg.json +++ b/ports/kf5i18n/vcpkg.json @@ -1,7 +1,7 @@ { "name": "kf5i18n", - "version": "5.84.0", - "port-version": 3, + "version": "5.98.0", + "port-version": 1, "description": "Advanced internationalization framework", "homepage": "https://api.kde.org/frameworks/ki18n/html/index.html", "dependencies": [ @@ -16,6 +16,14 @@ }, "libiconv", "qt5-declarative", - "qt5-tools" + "qt5-tools", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/kf5iconthemes/fix_config_cmake.patch b/ports/kf5iconthemes/fix_config_cmake.patch deleted file mode 100644 index 6fa107c37b2860..00000000000000 --- a/ports/kf5iconthemes/fix_config_cmake.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 2d9a393978ff6ae9c5577a3595cd761b199dc4fd Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Dawid=20Wro=CC=81bel?= -Date: Thu, 26 Aug 2021 12:06:54 +0200 -Subject: [PATCH] Add support for static builds - ---- - KF5IconThemesConfig.cmake.in | 15 +++++++++++++++ - 1 file changed, 15 insertions(+) - -diff --git a/KF5IconThemesConfig.cmake.in b/KF5IconThemesConfig.cmake.in -index 79688bb..d91f546 100644 ---- a/KF5IconThemesConfig.cmake.in -+++ b/KF5IconThemesConfig.cmake.in -@@ -3,6 +3,21 @@ - include(CMakeFindDependencyMacro) - find_dependency(Qt5Widgets "@REQUIRED_QT_VERSION@") - -+if (NOT @BUILD_SHARED_LIBS@) -+ find_dependency(Qt5Widgets "@REQUIRED_QT_VERSION@") -+ find_dependency(Qt5Svg "@REQUIRED_QT_VERSION@") -+ -+ if (NOT ANDROID) -+ find_dependency(Qt5DBus "@REQUIRED_QT_VERSION@") -+ endif() -+ -+ find_dependency(KF5Archive "@KF_DEP_VERSION@") -+ find_dependency(KF5I18n "@KF_DEP_VERSION@") -+ find_dependency(KF5CoreAddons "@KF_DEP_VERSION@") -+ find_dependency(KF5ConfigWidgets "@KF_DEP_VERSION@") -+ find_dependency(KF5WidgetsAddons "@KF_DEP_VERSION@") -+ find_dependency(KF5ItemViews "@KF_DEP_VERSION@") -+endif() - - include("${CMAKE_CURRENT_LIST_DIR}/KF5IconThemesTargets.cmake") - @PACKAGE_INCLUDE_QCHTARGETS@ --- -GitLab - diff --git a/ports/kf5iconthemes/portfile.cmake b/ports/kf5iconthemes/portfile.cmake index 03d00588beda11..b6555d47b62c5b 100644 --- a/ports/kf5iconthemes/portfile.cmake +++ b/ports/kf5iconthemes/portfile.cmake @@ -1,21 +1,19 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KDE/kiconthemes - REF v5.84.0 - SHA512 ca5645d6e4fde4f60c6f16c911539f4056060cc22afae275459632bc7069352b068b1727eb75b898d319e6eef3df9ddc35d8e22d4c1d05a657b112378e56731e + REF v5.98.0 + SHA512 822deb6e4469e69541e057b72f2ce27258f5cdb893f1cc8d37d900bb5aa4694706de051a905a939ac2f6fa474f69f4e05f24c87053699b205e6a58e18d56aaf1 HEAD_REF master - PATCHES - fix_config_cmake.patch ) vcpkg_check_features( - OUT_FEATURE_OPTIONS FEATURE_OPTIONS - FEATURES - designerplugin BUILD_DESIGNERPLUGIN - ) + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + designerplugin BUILD_DESIGNERPLUGIN +) # Prevent KDEClangFormat from writing to source effectively blocking parallel configure -file(WRITE ${SOURCE_PATH}/.clang-format "DisableFormat: true\nSortIncludes: false\n") +file(WRITE "${SOURCE_PATH}/.clang-format" "DisableFormat: true\nSortIncludes: false\n") vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" @@ -36,10 +34,7 @@ vcpkg_copy_tools( ) if(VCPKG_TARGET_IS_OSX) - vcpkg_copy_tools( - TOOL_NAMES ksvg2icns - AUTO_CLEAN - ) + vcpkg_copy_tools(TOOL_NAMES ksvg2icns AUTO_CLEAN) endif() if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") @@ -48,4 +43,7 @@ endif() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -file(INSTALL "${SOURCE_PATH}/LICENSES/" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright") \ No newline at end of file + +file(GLOB LICENSE_FILES "${SOURCE_PATH}/LICENSES/*") +vcpkg_install_copyright(FILE_LIST ${LICENSE_FILES}) + diff --git a/ports/kf5iconthemes/vcpkg.json b/ports/kf5iconthemes/vcpkg.json index 3c7db55beb4b81..2e27ef44f1de2a 100644 --- a/ports/kf5iconthemes/vcpkg.json +++ b/ports/kf5iconthemes/vcpkg.json @@ -1,7 +1,6 @@ { "name": "kf5iconthemes", - "version": "5.84.0", - "port-version": 1, + "version": "5.98.0", "description": "Icon GUI utilities", "homepage": "https://api.kde.org/frameworks/kiconthemes/html/index.html", "dependencies": [ diff --git a/ports/kf5itemmodels/portfile.cmake b/ports/kf5itemmodels/portfile.cmake index 5e9616cb7243d9..6246248feda615 100644 --- a/ports/kf5itemmodels/portfile.cmake +++ b/ports/kf5itemmodels/portfile.cmake @@ -1,34 +1,31 @@ -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO KDE/kitemmodels - REF v5.84.0 - SHA512 1fd6a6194a718184dcbed0131a2b93575382b3ef7620049cb7a1ac2e55f271113c880d90b76fd6967b720fc44762f10119e8629bda30e6dea10f61ce22f9e02c -) - -# Prevent KDEClangFormat from writing to source effectively blocking parallel configure -file(WRITE ${SOURCE_PATH}/.clang-format "DisableFormat: true\nSortIncludes: false\n") - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - -DBUILD_TESTING=OFF - -DKDE_INSTALL_QMLDIR=qml -) - -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/KF5ItemModels) -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}/bin/data) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin/data) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/etc) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/etc) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) - -file(INSTALL ${SOURCE_PATH}/LICENSES/ DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO KDE/kitemmodels + REF v5.98.0 + SHA512 11badf9c62c0b4d2e48a800adee42a7392c2dd3749315ff91125b9eac0bd8e78fef9eac9b64fe3c4d97ead30f78961b82669590098a4b11b5c5a5a61c005b3c2 +) + +# Prevent KDEClangFormat from writing to source effectively blocking parallel configure +file(WRITE "${SOURCE_PATH}/.clang-format" "DisableFormat: true\nSortIncludes: false\n") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_TESTING=OFF + -DKDE_INSTALL_QMLDIR=qml +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME KF5ItemModels CONFIG_PATH lib/cmake/KF5ItemModels) +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") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +file(GLOB LICENSE_FILES "${SOURCE_PATH}/LICENSES/*") +vcpkg_install_copyright(FILE_LIST ${LICENSE_FILES}) + diff --git a/ports/kf5itemmodels/vcpkg.json b/ports/kf5itemmodels/vcpkg.json index 5e628b41a744c7..cf3603419e4feb 100644 --- a/ports/kf5itemmodels/vcpkg.json +++ b/ports/kf5itemmodels/vcpkg.json @@ -1,12 +1,19 @@ { "name": "kf5itemmodels", - "version": "5.84.0", - "port-version": 2, + "version": "5.98.0", "description": "Models for Qt Model/View system", "homepage": "https://api.kde.org/frameworks/kitemmodels/html/index.html", "dependencies": [ "ecm", "qt5-base", - "qt5-tools" + "qt5-tools", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/kf5itemviews/portfile.cmake b/ports/kf5itemviews/portfile.cmake index 567e8f7708bba3..2c278a48711d38 100644 --- a/ports/kf5itemviews/portfile.cmake +++ b/ports/kf5itemviews/portfile.cmake @@ -1,34 +1,31 @@ -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO KDE/kitemviews - REF v5.84.0 - SHA512 d6a16ebbe57b6ac1b766d77b8b262b0ec72a5e256e5b3fbf7b95d901b4e45300eda2933f74a5a66cb6b2fec062fb4a6c9253e3376b13ab889f0bfd52c23cf5d4 -) - -# Prevent KDEClangFormat from writing to source effectively blocking parallel configure -file(WRITE ${SOURCE_PATH}/.clang-format "DisableFormat: true\nSortIncludes: false\n") - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - -DBUILD_TESTING=OFF - -DBUILD_DESIGNERPLUGIN=OFF -) - -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/KF5ItemViews) -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}/bin/data) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin/data) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/etc) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/etc) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) - -file(INSTALL ${SOURCE_PATH}/LICENSES/ DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO KDE/kitemviews + REF v5.98.0 + SHA512 1a9643376c971323a82a8ef909a9c31f168bdf89842ebf667ac69c9d76c51fc8124eb366c602b2bdff28082c9199690be6091d2634ebf12a07aeeaddd96810ab +) + +# Prevent KDEClangFormat from writing to source effectively blocking parallel configure +file(WRITE "${SOURCE_PATH}/.clang-format" "DisableFormat: true\nSortIncludes: false\n") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_TESTING=OFF + -DBUILD_DESIGNERPLUGIN=OFF +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME KF5ItemViews CONFIG_PATH lib/cmake/KF5ItemViews) +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") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +file(GLOB LICENSE_FILES "${SOURCE_PATH}/LICENSES/*") +vcpkg_install_copyright(FILE_LIST ${LICENSE_FILES}) + diff --git a/ports/kf5itemviews/vcpkg.json b/ports/kf5itemviews/vcpkg.json index d80af211cb5cb2..c11eb3daebbbb4 100644 --- a/ports/kf5itemviews/vcpkg.json +++ b/ports/kf5itemviews/vcpkg.json @@ -1,12 +1,19 @@ { "name": "kf5itemviews", - "version": "5.84.0", - "port-version": 2, + "version": "5.98.0", "description": "Widget addons for Qt Model/View", "homepage": "https://api.kde.org/frameworks/kitemviews/html/index.html", "dependencies": [ "ecm", "qt5-base", - "qt5-tools" + "qt5-tools", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/kf5jobwidgets/portfile.cmake b/ports/kf5jobwidgets/portfile.cmake index f285c8a50d8cb6..24d6e103fd13f3 100644 --- a/ports/kf5jobwidgets/portfile.cmake +++ b/ports/kf5jobwidgets/portfile.cmake @@ -1,31 +1,32 @@ -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO KDE/kjobwidgets - REF v5.84.0 - SHA512 57aa8d5756e1c9ce955975bfb5dc33ed78aaa984420effbb3b79984f9fd46794f3da092185bbcefe0464228d8f504349f7efd3a0ae79406954dc9ea84b3553f8 - HEAD_REF master -) - -# Prevent KDEClangFormat from writing to source effectively blocking parallel configure -file(WRITE ${SOURCE_PATH}/.clang-format "DisableFormat: true\nSortIncludes: false\n") - -vcpkg_cmake_configure( - SOURCE_PATH "${SOURCE_PATH}" - OPTIONS - -DBUILD_TESTING=OFF -) - -vcpkg_cmake_install() -vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/KF5JobWidgets) - -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") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/etc") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") - -file(INSTALL "${SOURCE_PATH}/LICENSES/" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright") +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO KDE/kjobwidgets + REF v5.98.0 + SHA512 dba5640a7f003bf899464056af9cb24270e252b620290cb3e7d912e48e8b45dd4892be51688402df2b7217aa938af0f815d9a12685dd263778c2df0290b5361d + HEAD_REF master +) + +# Prevent KDEClangFormat from writing to source effectively blocking parallel configure +file(WRITE "${SOURCE_PATH}/.clang-format" "DisableFormat: true\nSortIncludes: false\n") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_TESTING=OFF +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME KF5JobWidgets CONFIG_PATH lib/cmake/KF5JobWidgets) + +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") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +file(GLOB LICENSE_FILES "${SOURCE_PATH}/LICENSES/*") +vcpkg_install_copyright(FILE_LIST ${LICENSE_FILES}) + diff --git a/ports/kf5jobwidgets/vcpkg.json b/ports/kf5jobwidgets/vcpkg.json index b02a341d0b72d0..2bd6e35342c6d2 100644 --- a/ports/kf5jobwidgets/vcpkg.json +++ b/ports/kf5jobwidgets/vcpkg.json @@ -1,7 +1,6 @@ { "name": "kf5jobwidgets", - "version-semver": "5.84.0", - "port-version": 1, + "version": "5.98.0", "description": "Widgets for showing progress of asynchronous jobs", "homepage": "https://api.kde.org/frameworks/kjobwidgets/html/index.html", "dependencies": [ diff --git a/ports/kf5kcmutils/0001-Fix-missing-kcmutils_proxy_model-export-in-static-bu.patch b/ports/kf5kcmutils/0001-Fix-missing-kcmutils_proxy_model-export-in-static-bu.patch new file mode 100644 index 00000000000000..f031e46e318cc6 --- /dev/null +++ b/ports/kf5kcmutils/0001-Fix-missing-kcmutils_proxy_model-export-in-static-bu.patch @@ -0,0 +1,12 @@ +diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt +index fcd5bc1..cc1660b 100644 +--- a/src/core/CMakeLists.txt ++++ b/src/core/CMakeLists.txt +@@ -47,3 +47,7 @@ add_library(kcmutils_proxy_model STATIC kpluginproxymodel.cpp) + # Needed to link this static lib to shared libs + set_property(TARGET kcmutils_proxy_model PROPERTY POSITION_INDEPENDENT_CODE ON) + target_link_libraries(kcmutils_proxy_model PUBLIC KF5KCMUtilsCore KF5::ItemViews) ++ ++if(NOT BUILD_SHARED_LIBS) ++ install(TARGETS kcmutils_proxy_model EXPORT KF5KCMUtilsTargets ${KF_INSTALL_TARGETS_DEFAULT_ARGS}) ++endif() diff --git a/ports/kf5kcmutils/fix_cmake_config.patch b/ports/kf5kcmutils/fix_cmake_config.patch deleted file mode 100644 index 0932e46ad39a62..00000000000000 --- a/ports/kf5kcmutils/fix_cmake_config.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff --git a/KF5KCMUtilsConfig.cmake.in b/KF5KCMUtilsConfig.cmake.in -index 9871fba..ddcf6ea 100644 ---- a/KF5KCMUtilsConfig.cmake.in -+++ b/KF5KCMUtilsConfig.cmake.in -@@ -4,6 +4,20 @@ include(CMakeFindDependencyMacro) - find_dependency(KF5ConfigWidgets "@KF_DEP_VERSION@") - find_dependency(KF5Service "@KF_DEP_VERSION@") - -+if (NOT @BUILD_SHARED_LIBS@) -+ find_dependency(Qt5DBus "@REQUIRED_QT_VERSION@") -+ find_dependency(Qt5Qml "@REQUIRED_QT_VERSION@") -+ find_dependency(Qt5Quick "@REQUIRED_QT_VERSION@") -+ find_dependency(Qt5QuickWidgets "@REQUIRED_QT_VERSION@") -+ -+ find_dependency(KF5CoreAddons "@KF_DEP_VERSION@") -+ find_dependency(KF5GuiAddons "@KF_DEP_VERSION@") -+ find_dependency(KF5I18n "@KF_DEP_VERSION@") -+ find_dependency(KF5ItemViews "@KF_DEP_VERSION@") -+ find_dependency(KF5XmlGui "@KF_DEP_VERSION@") -+ find_dependency(KF5Declarative "@KF_DEP_VERSION@") -+endif() -+ - @PACKAGE_SETUP_AUTOMOC_VARIABLES@ - - include("${CMAKE_CURRENT_LIST_DIR}/KF5KCMUtilsTargets.cmake") --- -GitLab - diff --git a/ports/kf5kcmutils/portfile.cmake b/ports/kf5kcmutils/portfile.cmake index 58678e71420ce7..cea352e97a1b38 100644 --- a/ports/kf5kcmutils/portfile.cmake +++ b/ports/kf5kcmutils/portfile.cmake @@ -1,25 +1,42 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KDE/kcmutils - REF v5.84.0 - SHA512 e5f6347416143775e660430d582db3a60153b75063e7079bb3743043132f2e2f0d01234229f5eb1b4678e29d6981d03bd826622924ec7e385900df9067676f5b + REF v5.98.0 + SHA512 959901d7ba447eff13e4c1341c5530fccecf42f7f5e4dc69bee669c9e22770f5af57ed2f08979aac5fd2e1015f2bbadf5d302d99e1e0031c20927d833e6a3cea HEAD_REF master PATCHES - fix_cmake_config.patch + 0001-Fix-missing-kcmutils_proxy_model-export-in-static-bu.patch # https://invent.kde.org/frameworks/kcmutils/-/merge_requests/104 ) +# Prevent KDEClangFormat from writing to source effectively blocking parallel configure +file(WRITE "${SOURCE_PATH}/.clang-format" "DisableFormat: true\nSortIncludes: false\n") + vcpkg_cmake_configure( - DISABLE_PARALLEL_CONFIGURE SOURCE_PATH "${SOURCE_PATH}" - OPTIONS + OPTIONS -DBUILD_TESTING=OFF + -DKDE_INSTALL_QMLDIR=qml ) vcpkg_cmake_install() vcpkg_cmake_config_fixup(PACKAGE_NAME KF5KCMUtils CONFIG_PATH lib/cmake/KF5KCMUtils) - vcpkg_copy_pdbs() +if(NOT VCPKG_TARGET_IS_WINDOWS) + set(LIBEXEC_FOLDER "lib/libexec") + set(LIBEXEC_SUBFOLDER "kf5/") +else() + set(LIBEXEC_FOLDER "bin") + set(LIBEXEC_SUBFOLDER "") +endif() + +vcpkg_copy_tools( + TOOL_NAMES kcmdesktopfilegenerator + SEARCH_DIR "${CURRENT_PACKAGES_DIR}/${LIBEXEC_FOLDER}/${LIBEXEC_SUBFOLDER}" + DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}/${LIBEXEC_SUBFOLDER}" + AUTO_CLEAN +) + if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") endif() @@ -27,4 +44,6 @@ endif() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -file(INSTALL "${SOURCE_PATH}/LICENSES/" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright") \ No newline at end of file +file(GLOB LICENSE_FILES "${SOURCE_PATH}/LICENSES/*") +vcpkg_install_copyright(FILE_LIST ${LICENSE_FILES}) + diff --git a/ports/kf5kcmutils/vcpkg.json b/ports/kf5kcmutils/vcpkg.json index ac0a6a3b97eee3..19a13334247bb1 100644 --- a/ports/kf5kcmutils/vcpkg.json +++ b/ports/kf5kcmutils/vcpkg.json @@ -1,6 +1,6 @@ { "name": "kf5kcmutils", - "version": "5.84.0", + "version": "5.98.0", "description": "Utilities for KDE System Settings modules", "homepage": "https://api.kde.org/frameworks/kcmutils/html/index.html", "dependencies": [ diff --git a/ports/kf5kio/fix_config_cmake.patch b/ports/kf5kio/fix_config_cmake.patch deleted file mode 100644 index 608ee5367550d0..00000000000000 --- a/ports/kf5kio/fix_config_cmake.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 0202616076e6b05b7100ae67d7d012e2c22f79fb Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Dawid=20Wro=CC=81bel?= -Date: Tue, 31 Aug 2021 03:40:09 +0200 -Subject: [PATCH] Add support for static builds - ---- - KF5KIOConfig.cmake.in | 23 ++++++++++++++++------- - 1 file changed, 16 insertions(+), 7 deletions(-) - -diff --git a/KF5KIOConfig.cmake.in b/KF5KIOConfig.cmake.in -index 41699cb03..05922f769 100644 ---- a/KF5KIOConfig.cmake.in -+++ b/KF5KIOConfig.cmake.in -@@ -11,13 +11,22 @@ find_dependency(KF5Config "@KF_DEP_VERSION@") - find_dependency(KF5Service "@KF_DEP_VERSION@") - - if (NOT @KIOCORE_ONLY@) --find_dependency(KF5Bookmarks "@KF_DEP_VERSION@") --find_dependency(KF5Completion "@KF_DEP_VERSION@") --find_dependency(KF5ItemViews "@KF_DEP_VERSION@") --find_dependency(KF5JobWidgets "@KF_DEP_VERSION@") --find_dependency(KF5Solid "@KF_DEP_VERSION@") --find_dependency(KF5XmlGui "@KF_DEP_VERSION@") --find_dependency(KF5WindowSystem "@KF_DEP_VERSION@") -+ find_dependency(KF5Bookmarks "@KF_DEP_VERSION@") -+ find_dependency(KF5Completion "@KF_DEP_VERSION@") -+ find_dependency(KF5ItemViews "@KF_DEP_VERSION@") -+ find_dependency(KF5JobWidgets "@KF_DEP_VERSION@") -+ find_dependency(KF5Solid "@KF_DEP_VERSION@") -+ find_dependency(KF5XmlGui "@KF_DEP_VERSION@") -+ find_dependency(KF5WidgetsAddons "@KF_DEP_VERSION@") -+ find_dependency(KF5WindowSystem "@KF_DEP_VERSION@") -+ -+ if (NOT @BUILD_SHARED_LIBS@) -+ find_dependency(KF5ConfigWidgets "@KF_DEP_VERSION@") -+ find_dependency(KF5Crash "@KF_DEP_VERSION@") -+ find_dependency(KF5GuiAddons "@KF_DEP_VERSION@") -+ find_dependency(KF5IconThemes "@KF_DEP_VERSION@") -+ find_dependency(KF5DBusAddons "@KF_DEP_VERSION@") -+ endif() - endif() - - find_dependency(Qt5Network "@REQUIRED_QT_VERSION@") --- -GitLab - diff --git a/ports/kf5kio/fix_dbusmetatypes.patch b/ports/kf5kio/fix_dbusmetatypes.patch deleted file mode 100644 index d59f19a60bc52d..00000000000000 --- a/ports/kf5kio/fix_dbusmetatypes.patch +++ /dev/null @@ -1,58 +0,0 @@ -diff --git a/src/core/kssld_dbusmetatypes.h b/src/core/kssld_dbusmetatypes.h -index 2fb9fa25..958f4ff7 100644 ---- a/src/core/kssld_dbusmetatypes.h -+++ b/src/core/kssld_dbusmetatypes.h -@@ -17,7 +17,7 @@ - Q_DECLARE_METATYPE(KSslCertificateRule) - Q_DECLARE_METATYPE(QSslError::SslError) - --QDBusArgument &operator<<(QDBusArgument &argument, const QSslCertificate &cert) -+inline QDBusArgument &operator<<(QDBusArgument &argument, const QSslCertificate &cert) - { - argument.beginStructure(); - argument << cert.toDer(); -@@ -25,7 +25,7 @@ QDBusArgument &operator<<(QDBusArgument &argument, const QSslCertificate &cert) - return argument; - } - --const QDBusArgument &operator>>(const QDBusArgument &argument, QSslCertificate &cert) -+inline const QDBusArgument &operator>>(const QDBusArgument &argument, QSslCertificate &cert) - { - QByteArray data; - argument.beginStructure(); -@@ -35,7 +35,7 @@ const QDBusArgument &operator>>(const QDBusArgument &argument, QSslCertificate & - return argument; - } - --QDBusArgument &operator<<(QDBusArgument &argument, const KSslCertificateRule &rule) -+inline QDBusArgument &operator<<(QDBusArgument &argument, const KSslCertificateRule &rule) - { - argument.beginStructure(); - argument << rule.certificate() << rule.hostName() << rule.isRejected() << rule.expiryDateTime().toString(Qt::ISODate) -@@ -44,7 +44,7 @@ QDBusArgument &operator<<(QDBusArgument &argument, const KSslCertificateRule &ru - return argument; - } - --const QDBusArgument &operator>>(const QDBusArgument &argument, KSslCertificateRule &rule) -+inline const QDBusArgument &operator>>(const QDBusArgument &argument, KSslCertificateRule &rule) - { - QSslCertificate cert; - QString hostName; -@@ -63,7 +63,7 @@ const QDBusArgument &operator>>(const QDBusArgument &argument, KSslCertificateRu - return argument; - } - --QDBusArgument &operator<<(QDBusArgument &argument, const QSslError::SslError &error) -+inline QDBusArgument &operator<<(QDBusArgument &argument, const QSslError::SslError &error) - { - argument.beginStructure(); // overhead ho! - argument << static_cast(error); -@@ -71,7 +71,7 @@ QDBusArgument &operator<<(QDBusArgument &argument, const QSslError::SslError &er - return argument; - } - --const QDBusArgument &operator>>(const QDBusArgument &argument, QSslError::SslError &error) -+inline const QDBusArgument &operator>>(const QDBusArgument &argument, QSslError::SslError &error) - { - int data; - argument.beginStructure(); diff --git a/ports/kf5kio/fix_libiconv.patch b/ports/kf5kio/fix_libiconv.patch index 7212b906ce15be..2aa10a62161b2c 100644 --- a/ports/kf5kio/fix_libiconv.patch +++ b/ports/kf5kio/fix_libiconv.patch @@ -1,34 +1,33 @@ diff --git a/src/ioslaves/file/CMakeLists.txt b/src/ioslaves/file/CMakeLists.txt -index 20fca30..bcd795e 100644 +index fec216af..8595f36e 100644 --- a/src/ioslaves/file/CMakeLists.txt +++ b/src/ioslaves/file/CMakeLists.txt -@@ -33,7 +33,9 @@ ecm_qt_export_logging_category( +@@ -28,7 +28,9 @@ ecm_qt_export_logging_category( EXPORT KIO ) --target_link_libraries(kio_file KF5::KIOCore KF5::I18n KF5::ConfigCore Qt5::DBus Qt5::Network) +-target_link_libraries(kio_file KF5::KIOCore KF5::I18n KF5::ConfigCore Qt${QT_MAJOR_VERSION}::DBus Qt${QT_MAJOR_VERSION}::Network) +find_package(Iconv REQUIRED) +include_directories(${Iconv_INCLUDE_DIRS}) -+target_link_libraries(kio_file KF5::KIOCore KF5::I18n KF5::ConfigCore Qt5::DBus Qt5::Network ${Iconv_LIBRARIES}) ++target_link_libraries(kio_file KF5::KIOCore KF5::I18n KF5::ConfigCore Qt${QT_MAJOR_VERSION}::DBus Qt${QT_MAJOR_VERSION}::Network ${Iconv_LIBRARIES}) if(UNIX) - target_link_libraries(kio_file Qt5::Network KF5::AuthCore) -diff --git a/src/ioslaves/ftp/CMakeLists.txt b/src/ioslaves/ftp/CMakeLists.txt -index b9602fa..e80f7ce 100644 ---- a/src/ioslaves/ftp/CMakeLists.txt -+++ b/src/ioslaves/ftp/CMakeLists.txt -@@ -21,6 +21,8 @@ ecm_qt_export_logging_category( + target_link_libraries(kio_file Qt${QT_MAJOR_VERSION}::Network KF5::AuthCore) +diff --git a/src/kioworkers/ftp/CMakeLists.txt b/src/kioworkers/ftp/CMakeLists.txt +index 44abb409..61eb3836 100644 +--- a/src/kioworkers/ftp/CMakeLists.txt ++++ b/src/kioworkers/ftp/CMakeLists.txt +@@ -16,4 +16,6 @@ ecm_qt_export_logging_category( EXPORT KIO ) --target_link_libraries(kio_ftp Qt5::Network KF5::KIOCore KF5::I18n KF5::ConfigCore) +-target_link_libraries(kio_ftp Qt${QT_MAJOR_VERSION}::Network KF5::KIOCore KF5::I18n KF5::ConfigCore) +find_package(Iconv REQUIRED) +include_directories(${Iconv_INCLUDE_DIRS}) -+target_link_libraries(kio_ftp Qt5::Network KF5::KIOCore KF5::I18n KF5::ConfigCore ${Iconv_LIBRARIES}) - - install(TARGETS kio_ftp DESTINATION ${KDE_INSTALL_PLUGINDIR}/kf5/kio) ++target_link_libraries(kio_ftp Qt${QT_MAJOR_VERSION}::Network KF5::KIOCore KF5::I18n KF5::ConfigCore ${Iconv_LIBRARIES}) +\ No newline at end of file diff --git a/src/ioslaves/http/CMakeLists.txt b/src/ioslaves/http/CMakeLists.txt -index 51bd392..db43701 100644 +index e616d08b..0631edb6 100644 --- a/src/ioslaves/http/CMakeLists.txt +++ b/src/ioslaves/http/CMakeLists.txt @@ -37,11 +37,15 @@ target_sources(kio_http_cache_cleaner PRIVATE @@ -38,26 +37,26 @@ index 51bd392..db43701 100644 +find_package(Iconv REQUIRED) +include_directories(${Iconv_INCLUDE_DIRS}) target_link_libraries(kio_http_cache_cleaner - Qt5::DBus - Qt5::Network # QLocalSocket + Qt${QT_MAJOR_VERSION}::DBus + Qt${QT_MAJOR_VERSION}::Network # QLocalSocket KF5::KIOCore # KProtocolManager - KF5::I18n) + KF5::I18n + ${Iconv_LIBRARIES} +) - install(TARGETS kio_http_cache_cleaner DESTINATION ${KDE_INSTALL_LIBEXECDIR_KF5} ) + install(TARGETS kio_http_cache_cleaner DESTINATION ${KDE_INSTALL_LIBEXECDIR_KF} ) -@@ -96,6 +100,7 @@ target_link_libraries(kio_http +@@ -91,6 +95,7 @@ target_link_libraries(kio_http KF5::KIONTLM KF5::Archive KF5::I18n + ${Iconv_LIBRARIES} ) if(GSSAPI_FOUND) - target_link_libraries(kio_http ${GSSAPI_LIBS} ) + target_link_libraries(kio_http PRIVATE ${GSSAPI_LIBS}) diff --git a/src/ioslaves/http/kcookiejar/CMakeLists.txt b/src/ioslaves/http/kcookiejar/CMakeLists.txt -index 0f770ae..2600d2d 100644 +index 0f770ae4..2600d2d2 100644 --- a/src/ioslaves/http/kcookiejar/CMakeLists.txt +++ b/src/ioslaves/http/kcookiejar/CMakeLists.txt @@ -13,10 +13,13 @@ target_sources(kcookiejar5 PRIVATE @@ -67,7 +66,7 @@ index 0f770ae..2600d2d 100644 +find_package(Iconv REQUIRED) +include_directories(${Iconv_INCLUDE_DIRS}) target_link_libraries( kcookiejar5 - Qt5::DBus + Qt${QT_MAJOR_VERSION}::DBus KF5::I18n KF5::WidgetsAddons + ${Iconv_LIBRARIES} @@ -82,22 +81,22 @@ index 0f770ae..2600d2d 100644 ) ########### install files ############### -diff --git a/src/ioslaves/remote/CMakeLists.txt b/src/ioslaves/remote/CMakeLists.txt -index 36a97cf..9319a61 100644 ---- a/src/ioslaves/remote/CMakeLists.txt -+++ b/src/ioslaves/remote/CMakeLists.txt -@@ -21,4 +21,6 @@ ecm_qt_declare_logging_category(kio_remote +diff --git a/src/kioworkers/remote/CMakeLists.txt b/src/kioworkers/remote/CMakeLists.txt +index e2b576e2..526551ee 100644 +--- a/src/kioworkers/remote/CMakeLists.txt ++++ b/src/kioworkers/remote/CMakeLists.txt +@@ -19,4 +19,6 @@ ecm_qt_declare_logging_category(kio_remote EXPORT KIO ) --target_link_libraries(kio_remote KF5::KIOCore KF5::I18n KF5::ConfigCore Qt5::Network) +-target_link_libraries(kio_remote KF5::KIOCore KF5::I18n KF5::ConfigCore Qt${QT_MAJOR_VERSION}::Network) +find_package(Iconv REQUIRED) +include_directories(${Iconv_INCLUDE_DIRS}) -+target_link_libraries(kio_remote KF5::KIOCore KF5::I18n KF5::ConfigCore Qt5::Network ${Iconv_LIBRARIES}) -diff --git a/src/ioslaves/remote/kdedmodule/CMakeLists.txt b/src/ioslaves/remote/kdedmodule/CMakeLists.txt -index 4e40d21..7ba0d91 100644 ---- a/src/ioslaves/remote/kdedmodule/CMakeLists.txt -+++ b/src/ioslaves/remote/kdedmodule/CMakeLists.txt ++target_link_libraries(kio_remote KF5::KIOCore KF5::I18n KF5::ConfigCore Qt${QT_MAJOR_VERSION}::Network ${Iconv_LIBRARIES}) +diff --git a/src/kioworkers/remote/kdedmodule/CMakeLists.txt b/src/kioworkers/remote/kdedmodule/CMakeLists.txt +index 4e40d214..7ba0d911 100644 +--- a/src/kioworkers/remote/kdedmodule/CMakeLists.txt ++++ b/src/kioworkers/remote/kdedmodule/CMakeLists.txt @@ -1,7 +1,9 @@ add_library(remotedirnotify MODULE remotedirnotify.cpp remotedirnotifymodule.cpp ../debug.cpp) kcoreaddons_desktop_to_json(remotedirnotify remotedirnotify.desktop) @@ -110,7 +109,7 @@ index 4e40d21..7ba0d91 100644 set_target_properties(remotedirnotify PROPERTIES OUTPUT_NAME "remotenotifier") diff --git a/src/ioslaves/telnet/CMakeLists.txt b/src/ioslaves/telnet/CMakeLists.txt -index ffee12c..0b03c21 100644 +index ffee12c8..0b03c211 100644 --- a/src/ioslaves/telnet/CMakeLists.txt +++ b/src/ioslaves/telnet/CMakeLists.txt @@ -2,10 +2,13 @@ @@ -120,7 +119,7 @@ index ffee12c..0b03c21 100644 +find_package(Iconv REQUIRED) +include_directories(${Iconv_INCLUDE_DIRS}) target_link_libraries(ktelnetservice5 - Qt5::Widgets + Qt${QT_MAJOR_VERSION}::Widgets KF5::I18n KF5::KIOGui + ${Iconv_LIBRARIES} @@ -128,10 +127,10 @@ index ffee12c..0b03c21 100644 install(TARGETS ktelnetservice5 ${KF5_INSTALL_TARGETS_DEFAULT_ARGS}) diff --git a/src/ioslaves/trash/CMakeLists.txt b/src/ioslaves/trash/CMakeLists.txt -index 80489d9..364ecb4 100644 +index 147b3f3e..0546b8ce 100644 --- a/src/ioslaves/trash/CMakeLists.txt +++ b/src/ioslaves/trash/CMakeLists.txt -@@ -55,6 +55,8 @@ else() +@@ -51,6 +51,8 @@ else() ) endif() @@ -140,15 +139,15 @@ index 80489d9..364ecb4 100644 target_link_libraries(kio_trash KF5::ConfigCore KF5::Solid -@@ -63,6 +65,7 @@ target_link_libraries(kio_trash - Qt5::Network +@@ -59,6 +61,7 @@ target_link_libraries(kio_trash + Qt${QT_MAJOR_VERSION}::Network KF5::I18n KF5::ConfigCore + ${Iconv_LIBRARIES} ) if(APPLE) target_link_libraries(kio_trash "-framework DiskArbitration -framework CoreFoundation") -@@ -84,6 +87,7 @@ target_link_libraries(ktrash5 +@@ -78,6 +81,7 @@ target_link_libraries(ktrash5 KF5::KIOCore KF5::I18n KF5::ConfigCore @@ -157,7 +156,7 @@ index 80489d9..364ecb4 100644 install(TARGETS ktrash5 ${KF5_INSTALL_TARGETS_DEFAULT_ARGS}) diff --git a/src/kioexec/CMakeLists.txt b/src/kioexec/CMakeLists.txt -index 92eeafe..8ae8742 100644 +index 92eeafe7..8ae87424 100644 --- a/src/kioexec/CMakeLists.txt +++ b/src/kioexec/CMakeLists.txt @@ -19,7 +19,9 @@ ecm_qt_declare_logging_category(kioexecd @@ -169,7 +168,7 @@ index 92eeafe..8ae8742 100644 +include_directories(${Iconv_INCLUDE_DIRS}) +target_link_libraries(kioexecd KF5::I18n KF5::DBusAddons KF5::WidgetsAddons KF5::KIOCore ${Iconv_LIBRARIES}) - kdbusaddons_generate_dbus_service_file(kiod5 org.kde.kioexecd ${KDE_INSTALL_FULL_LIBEXECDIR_KF5}) + kdbusaddons_generate_dbus_service_file(kiod5 org.kde.kioexecd ${KDE_INSTALL_FULL_LIBEXECDIR_KF}) @@ -45,6 +47,7 @@ target_link_libraries(kioexec KF5::WidgetsAddons # KMessageBox @@ -180,7 +179,7 @@ index 92eeafe..8ae8742 100644 if (HAVE_X11) diff --git a/src/kpasswdserver/CMakeLists.txt b/src/kpasswdserver/CMakeLists.txt -index c268e03..c1a562a 100644 +index c268e039..c1a562aa 100644 --- a/src/kpasswdserver/CMakeLists.txt +++ b/src/kpasswdserver/CMakeLists.txt @@ -39,6 +39,8 @@ ecm_qt_export_logging_category( @@ -191,7 +190,7 @@ index c268e03..c1a562a 100644 +include_directories(${Iconv_INCLUDE_DIRS}) target_link_libraries(kiod_kpasswdserver KF5::DBusAddons # KDED Module - Qt5::DBus + Qt${QT_MAJOR_VERSION}::DBus @@ -46,6 +48,7 @@ target_link_libraries(kiod_kpasswdserver KF5::WidgetsAddons # KPasswordDialog KF5::I18n @@ -199,4 +198,4 @@ index c268e03..c1a562a 100644 + ${Iconv_LIBRARIES} ${WALLET_LIB} ) - + diff --git a/ports/kf5kio/portfile.cmake b/ports/kf5kio/portfile.cmake index b38e88b6aaa4f2..d34ff93f082a29 100644 --- a/ports/kf5kio/portfile.cmake +++ b/ports/kf5kio/portfile.cmake @@ -1,40 +1,40 @@ -set(PATCHES - fix_dbusmetatypes.patch # https://invent.kde.org/frameworks/kio/-/merge_requests/563 - fix_config_cmake.patch # https://invent.kde.org/frameworks/kio/-/merge_requests/565 -) - -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.84.0 - SHA512 6c2d57a31e64ff1475b21d7fb2556d37b061dae319ddfe57a36f0bfc9627db624b1ac8fa4b2851681cb90d218255d0444c1403329d88f34a23e8ddffe99ca5b4 + REF "v${VERSION}" + SHA512 6ffb44963b266f806150bc3ff9a1c3cf13f2fe7b4bda57e27d9bd9b931bfd757d50ee29f4143f6d282a25f675c8024aff16dc2f91e00ec0c7663eb8effdfee30 HEAD_REF master - PATCHES ${PATCHES} + PATCHES + ${PATCHES} ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - INVERTED_FEATURES - "kf5notifications" CMAKE_DISABLE_FIND_PACKAGE_KF5Notifications - "kf5wallet" CMAKE_DISABLE_FIND_PACKAGE_KF5Wallet + INVERTED_FEATURES + "kf5notifications" CMAKE_DISABLE_FIND_PACKAGE_KF5Notifications + "kf5wallet" CMAKE_DISABLE_FIND_PACKAGE_KF5Wallet ) # Prevent KDEClangFormat from writing to source effectively blocking parallel configure -file(WRITE ${SOURCE_PATH}/.clang-format "DisableFormat: true\nSortIncludes: false\n") +file(WRITE "${SOURCE_PATH}/.clang-format" "DisableFormat: true\nSortIncludes: false\n") vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" 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} - MAYBE_UNUSED_VARIABLES CMAKE_DISABLE_FIND_PACKAGE_KF5Notifications + MAYBE_UNUSED_VARIABLES + CMAKE_DISABLE_FIND_PACKAGE_KF5Notifications ) vcpkg_cmake_install() @@ -65,4 +65,5 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") endif() -file(INSTALL "${SOURCE_PATH}/LICENSES/" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright") \ No newline at end of file +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 1c0cc8f73f3810..535690f92f5653 100644 --- a/ports/kf5kio/vcpkg.json +++ b/ports/kf5kio/vcpkg.json @@ -1,8 +1,10 @@ { "name": "kf5kio", - "version": "5.84.0", + "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, "dependencies": [ "ecm", { @@ -15,7 +17,7 @@ "kf5archive", { "name": "kf5auth", - "platform": "!windows" + "platform": "!(windows | android)" }, "kf5bookmarks", "kf5completion", @@ -23,7 +25,10 @@ "kf5configwidgets", "kf5coreaddons", "kf5crash", - "kf5dbusaddons", + { + "name": "kf5dbusaddons", + "platform": "!android" + }, "kf5guiaddons", "kf5i18n", "kf5iconthemes", @@ -39,7 +44,14 @@ "name": "libiconv", "platform": "windows & static" }, - "qt5-base", + { + "name": "libmount", + "platform": "linux" + }, + { + "name": "qt5-base", + "default-features": false + }, { "name": "qt5-macextras", "platform": "osx" diff --git a/ports/kf5newstuff/0001-Fix-KF5NewStuffWidgets_EXPORTS-is-not-defined-on-cla.patch b/ports/kf5newstuff/0001-Fix-KF5NewStuffWidgets_EXPORTS-is-not-defined-on-cla.patch new file mode 100644 index 00000000000000..ebe0c3eed97b51 --- /dev/null +++ b/ports/kf5newstuff/0001-Fix-KF5NewStuffWidgets_EXPORTS-is-not-defined-on-cla.patch @@ -0,0 +1,14 @@ +diff --git a/src/widgets/action.h b/src/widgets/action.h +index 0207e557..748add43 100644 +--- a/src/widgets/action.h ++++ b/src/widgets/action.h +@@ -65,7 +65,7 @@ Q_SIGNALS: + void dialogFinished(const KNS3::Entry::List &changedEntries); + #endif + // Only show this overload when we hide deprecated methods or build the lib +-#if !KNEWSTUFFWIDGETS_ENABLE_DEPRECATED_SINCE(5, 90) || KF5NewStuffWidgets_EXPORTS ++#if !KNEWSTUFFWIDGETS_ENABLE_DEPRECATED_SINCE(5, 90) || 1 + /// emitted when the Hot New Stuff dialog has been closed + void dialogFinished(const QList &changedEntries); + #endif +-- diff --git a/ports/kf5newstuff/fix_static_builds.patch b/ports/kf5newstuff/fix_static_builds.patch deleted file mode 100644 index a8c8e9727b5994..00000000000000 --- a/ports/kf5newstuff/fix_static_builds.patch +++ /dev/null @@ -1,49 +0,0 @@ -diff --git a/KF5NewStuffConfig.cmake.in b/KF5NewStuffConfig.cmake.in -index e4ef2944..063b83ca 100644 ---- a/KF5NewStuffConfig.cmake.in -+++ b/KF5NewStuffConfig.cmake.in -@@ -10,5 +10,25 @@ find_dependency(KF5Service "@KF_DEP_VERSION@") - find_dependency(KF5NewStuffCore "@KF_VERSION@") - find_dependency(KF5NewStuffQuick "@KF_VERSION@") - -+if (NOT @BUILD_SHARED_LIBS@) -+ find_dependency(Qt5Qml @REQUIRED_QT_VERSION@) -+ find_dependency(Qt5Quick @REQUIRED_QT_VERSION@) -+ find_dependency(Qt5Gui @REQUIRED_QT_VERSION@) -+ -+ find_dependency(KF5KIO "@KF_DEP_VERSION@") -+ find_dependency(KF5Completion "@KF_DEP_VERSION@") -+ find_dependency(KF5I18n "@KF_DEP_VERSION@") -+ find_dependency(KF5ItemViews "@KF_DEP_VERSION@") -+ find_dependency(KF5IconThemes "@KF_DEP_VERSION@") -+ find_dependency(KF5TextWidgets "@KF_DEP_VERSION@") -+ find_dependency(KF5Archive "@KF_DEP_VERSION@") -+ find_dependency(KF5Package "@KF_DEP_VERSION@") -+ find_dependency(KF5Config "@KF_DEP_VERSION@") -+ -+ if(@KF5Syndication_FOUND@) -+ find_dependency(KF5Syndication "@KF_VERSION@") -+ endif() -+endif() -+ - include("${CMAKE_CURRENT_LIST_DIR}/KF5NewStuffTargets.cmake") - @PACKAGE_INCLUDE_QCHTARGETS@ --- -GitLab - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index c7022663..d2ead74a 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -18,7 +18,7 @@ include(KDECMakeSettings) - include(KDEFrameworkCompilerSettings NO_POLICY_SCOPE) - - set(REQUIRED_QT_VERSION 5.15.0) --find_package(Qt5 ${REQUIRED_QT_VERSION} NO_MODULE REQUIRED COMPONENTS Widgets Xml) -+find_package(Qt5 ${REQUIRED_QT_VERSION} NO_MODULE REQUIRED COMPONENTS Gui Widgets Xml) - find_package(Qt5 ${REQUIRED_QT_VERSION} NO_MODULE COMPONENTS Qml Quick) - - find_package(KF5Archive ${KF_DEP_VERSION} REQUIRED) --- -GitLab - diff --git a/ports/kf5newstuff/fix_static_builds2.patch b/ports/kf5newstuff/fix_static_builds2.patch deleted file mode 100644 index 7d29ff7b556c36..00000000000000 --- a/ports/kf5newstuff/fix_static_builds2.patch +++ /dev/null @@ -1,53 +0,0 @@ -diff --git a/KF5NewStuffConfig.cmake.in b/KF5NewStuffConfig.cmake.in -index 063b83ca..1be53741 100644 ---- a/KF5NewStuffConfig.cmake.in -+++ b/KF5NewStuffConfig.cmake.in -@@ -13,7 +13,6 @@ find_dependency(KF5NewStuffQuick "@KF_VERSION@") - if (NOT @BUILD_SHARED_LIBS@) - find_dependency(Qt5Qml @REQUIRED_QT_VERSION@) - find_dependency(Qt5Quick @REQUIRED_QT_VERSION@) -- find_dependency(Qt5Gui @REQUIRED_QT_VERSION@) - - find_dependency(KF5KIO "@KF_DEP_VERSION@") - find_dependency(KF5Completion "@KF_DEP_VERSION@") -@@ -21,13 +20,6 @@ if (NOT @BUILD_SHARED_LIBS@) - find_dependency(KF5ItemViews "@KF_DEP_VERSION@") - find_dependency(KF5IconThemes "@KF_DEP_VERSION@") - find_dependency(KF5TextWidgets "@KF_DEP_VERSION@") -- find_dependency(KF5Archive "@KF_DEP_VERSION@") -- find_dependency(KF5Package "@KF_DEP_VERSION@") -- find_dependency(KF5Config "@KF_DEP_VERSION@") -- -- if(@KF5Syndication_FOUND@) -- find_dependency(KF5Syndication "@KF_VERSION@") -- endif() - endif() - - include("${CMAKE_CURRENT_LIST_DIR}/KF5NewStuffTargets.cmake") -diff --git a/KF5NewStuffCoreConfig.cmake.in b/KF5NewStuffCoreConfig.cmake.in -index c65c7c42..b395f8cd 100644 ---- a/KF5NewStuffCoreConfig.cmake.in -+++ b/KF5NewStuffCoreConfig.cmake.in -@@ -3,6 +3,19 @@ - include(CMakeFindDependencyMacro) - find_dependency(KF5Attica "@KF_DEP_VERSION@") - -+if (NOT @BUILD_SHARED_LIBS@) -+ find_dependency(Qt5Gui @REQUIRED_QT_VERSION@) -+ -+ find_dependency(KF5I18n "@KF_DEP_VERSION@") -+ find_dependency(KF5Archive "@KF_DEP_VERSION@") -+ find_dependency(KF5Package "@KF_DEP_VERSION@") -+ find_dependency(KF5Config "@KF_DEP_VERSION@") -+ -+ if(@KF5Syndication_FOUND@) -+ find_dependency(KF5Syndication "@KF_VERSION@") -+ endif() -+endif() -+ - set(KDE_INSTALL_KNSRCDIR "@KDE_INSTALL_DATADIR@/knsrcfiles") - - include("${CMAKE_CURRENT_LIST_DIR}/KF5NewStuffCoreTargets.cmake") --- -GitLab - diff --git a/ports/kf5newstuff/portfile.cmake b/ports/kf5newstuff/portfile.cmake index 94ccfb5f1b1c38..d74f3bbfd798d4 100644 --- a/ports/kf5newstuff/portfile.cmake +++ b/ports/kf5newstuff/portfile.cmake @@ -1,21 +1,24 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KDE/knewstuff - REF v5.84.0 - SHA512 107f8c7915f5a7656ed729d03b59e5f53f8751d771487b96e517358f1149801981e27d5cafdf86f759be539305fc8f847c51a28a35947766200cc912072f5c8d + REF v5.98.0 + SHA512 dadbd4bcd6408e6b8afba4155a164563b2f3303162edd2f9cd193ab6e6677ce857e4455ccffee8ee289b1c8e634d7b3e5fe1e842efc4c89e67bd25ea103a9f50 HEAD_REF master PATCHES - fix_static_builds.patch # https://invent.kde.org/frameworks/knewstuff/-/merge_requests/139 - fix_static_builds2.patch # https://invent.kde.org/frameworks/knewstuff/-/merge_requests/140 + 0001-Fix-KF5NewStuffWidgets_EXPORTS-is-not-defined-on-cla.patch ) +# Prevent KDEClangFormat from writing to source effectively blocking parallel configure +file(WRITE "${SOURCE_PATH}/.clang-format" "DisableFormat: true\nSortIncludes: false\n") + vcpkg_cmake_configure( - DISABLE_PARALLEL_CONFIGURE SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_TESTING=OFF -DKDE_INSTALL_QMLDIR=qml -DBUNDLE_INSTALL_DIR=bin + MAYBE_UNUSED_VARIABLES + BUNDLE_INSTALL_DIR ) vcpkg_cmake_install() @@ -31,9 +34,13 @@ vcpkg_copy_tools( file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE "${CURRENT_PACKAGES_DIR}/bin/data/kf5/kmoretools/presets-kmoretools/_README.md") +file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/bin/data/kf5/kmoretools/presets-kmoretools/_README.md") if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") endif() -file(INSTALL "${SOURCE_PATH}/LICENSES/" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright") \ No newline at end of file +file(GLOB LICENSE_FILES "${SOURCE_PATH}/LICENSES/*") +vcpkg_install_copyright(FILE_LIST ${LICENSE_FILES}) + diff --git a/ports/kf5newstuff/vcpkg.json b/ports/kf5newstuff/vcpkg.json index 09551fd9e2c750..15196b7760fae5 100644 --- a/ports/kf5newstuff/vcpkg.json +++ b/ports/kf5newstuff/vcpkg.json @@ -1,6 +1,6 @@ { "name": "kf5newstuff", - "version": "5.84.0", + "version": "5.98.0", "description": "Framework for downloading and sharing additional application data", "homepage": "https://api.kde.org/frameworks/knewstuff/html/index.html", "dependencies": [ diff --git a/ports/kf5notifications/fix_config_cmake.patch b/ports/kf5notifications/fix_config_cmake.patch deleted file mode 100644 index 318881cfbfaeea..00000000000000 --- a/ports/kf5notifications/fix_config_cmake.patch +++ /dev/null @@ -1,55 +0,0 @@ -diff --git a/KF5NotificationsConfig.cmake.in b/KF5NotificationsConfig.cmake.in -index eeded42..6b261c0 100644 ---- a/KF5NotificationsConfig.cmake.in -+++ b/KF5NotificationsConfig.cmake.in -@@ -11,5 +11,47 @@ if (@HAVE_DBUS@) - find_dependency(Qt5DBus @REQUIRED_QT_VERSION@) - endif() - -+if (NOT @BUILD_SHARED_LIBS@) -+ find_dependency(KF5CoreAddons "@KF_DEP_VERSION@") -+ find_dependency(KF5Config "@KF_DEP_VERSION@") -+ -+ if (@HAVE_KWINDOWSYSTEM@) -+ find_dependency(KF5WindowSystem "@KF_DEP_VERSION@") -+ endif() -+ -+ if (@WITH_SNORETOAST@) -+ find_dependency(LibSnoreToast) -+ find_dependency(Qt5Network @REQUIRED_QT_VERSION@) -+ endif() -+ -+ if (@HAVE_PHONON4QT5@) -+ find_dependency(Phonon4Qt5) -+ endif() -+ -+ if (@Canberra_FOUND@) -+ find_dependency(Canberra) -+ endif() -+ -+ if (@Qt5TextToSpeech_FOUND@) -+ find_dependency(Qt5TextToSpeech @REQUIRED_QT_VERSION@) -+ endif() -+ -+ if(@X11_FOUND@) -+ find_dependency(Qt5X11Extras @REQUIRED_QT_VERSION@) -+ endif() -+ -+ if(APPLE) -+ find_dependency(Qt5MacExtras @REQUIRED_QT_VERSION@) -+ endif() -+ -+ if(@HAVE_DBUSMENUQT@) -+ find_dependency(dbusmenu-qt5) -+ endif() -+ -+ if (ANDROID) -+ find_dependency(Qt5AndroidExtras @REQUIRED_QT_VERSION@) -+ endif() -+endif() -+ - include("${CMAKE_CURRENT_LIST_DIR}/KF5NotificationsTargets.cmake") - @PACKAGE_INCLUDE_QCHTARGETS@ --- -GitLab - diff --git a/ports/kf5notifications/portfile.cmake b/ports/kf5notifications/portfile.cmake index afff6c000fc71d..75b878eea78835 100644 --- a/ports/kf5notifications/portfile.cmake +++ b/ports/kf5notifications/portfile.cmake @@ -1,20 +1,19 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KDE/knotifications - REF v5.84.0 - SHA512 ee8d2d0531df726f3e372983e30c2365aab887e1a3cdf5fb9c1b788e78b490f984018a44934ce62116bf10827fbf9aeeaf23236a7024a0e3757a1da7e90dca6c + REF v5.98.0 + SHA512 f7f492f6b5390f2cab2e946433165e058d6cb7f82e7ce2a4b931bd4b0e7f7d75fe0ffc431ae01a13a1c30475c4c7d8992343cce7d4b7eca0254b6e5ab5046237 HEAD_REF master - PATCHES - fix_config_cmake.patch ) # Prevent KDEClangFormat from writing to source effectively blocking parallel configure -file(WRITE ${SOURCE_PATH}/.clang-format "DisableFormat: true\nSortIncludes: false\n") +file(WRITE "${SOURCE_PATH}/.clang-format" "DisableFormat: true\nSortIncludes: false\n") vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_TESTING=OFF + -DKDE_INSTALL_QMLDIR=qml ) vcpkg_cmake_install() @@ -28,4 +27,6 @@ endif() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -file(INSTALL "${SOURCE_PATH}/LICENSES/" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright") \ No newline at end of file +file(GLOB LICENSE_FILES "${SOURCE_PATH}/LICENSES/*") +vcpkg_install_copyright(FILE_LIST ${LICENSE_FILES}) + diff --git a/ports/kf5notifications/vcpkg.json b/ports/kf5notifications/vcpkg.json index f2b920c1301801..870098b4abd0ba 100644 --- a/ports/kf5notifications/vcpkg.json +++ b/ports/kf5notifications/vcpkg.json @@ -1,6 +1,6 @@ { "name": "kf5notifications", - "version": "5.84.0", + "version": "5.98.0", "description": "Desktop notifications", "homepage": "https://api.kde.org/frameworks/knotifications/html/index.html", "dependencies": [ diff --git a/ports/kf5package/fix_duplicate_symbol.patch b/ports/kf5package/fix_duplicate_symbol.patch new file mode 100644 index 00000000000000..891ea558d5b8dc --- /dev/null +++ b/ports/kf5package/fix_duplicate_symbol.patch @@ -0,0 +1,76 @@ +From f922c9e1a353ea82a5c8a87095e46f503c8e9ceb Mon Sep 17 00:00:00 2001 +From: Alexander Lohnau +Date: Wed, 14 Sep 2022 15:57:22 +0200 +Subject: [PATCH] Fix duplicate symbol in static builds + +BUG: 459099 +--- + src/kpackage/CMakeLists.txt | 9 +++++++-- + src/kpackagetool/CMakeLists.txt | 4 +--- + 2 files changed, 8 insertions(+), 5 deletions(-) + +diff --git a/src/kpackage/CMakeLists.txt b/src/kpackage/CMakeLists.txt +index 6880965..be16714 100644 +--- a/src/kpackage/CMakeLists.txt ++++ b/src/kpackage/CMakeLists.txt +@@ -15,8 +15,6 @@ target_sources(KF5Package PRIVATE + packageloader.cpp + private/packages.cpp + private/packagejob.cpp +- private/packagejobthread.cpp +- private/versionparser.cpp + version.cpp + kpackage.qrc + ) +@@ -42,6 +40,9 @@ ecm_generate_export_header(KF5Package + EXCLUDE_DEPRECATED_BEFORE_AND_AT ${EXCLUDE_DEPRECATED_BEFORE_AND_AT} + ) + ++add_library(kpackage_common_STATIC STATIC private/packagejobthread.cpp private/versionparser.cpp) ++target_link_libraries(kpackage_common_STATIC PRIVATE Qt${QT_VERSION_MAJOR}::Core KF5::CoreAddons KF5::Archive KF5::I18n) ++ + target_link_libraries(KF5Package + PUBLIC + KF5::CoreAddons +@@ -49,6 +50,7 @@ PRIVATE + Qt${QT_MAJOR_VERSION}::DBus + KF5::Archive + KF5::I18n ++ kpackage_common_STATIC + ) + + target_include_directories(KF5Package PUBLIC +@@ -90,6 +92,9 @@ install(FILES + + + install(TARGETS KF5Package EXPORT KF5PackageTargets ${KF5_INSTALL_TARGETS_DEFAULT_ARGS}) ++if (NOT BUILD_SHARED_LIBS) ++ install(TARGETS kpackage_common_STATIC EXPORT KF5PackageTargets ${KF5_INSTALL_TARGETS_DEFAULT_ARGS}) ++endif() + + if(BUILD_QCH) + ecm_add_qch( +diff --git a/src/kpackagetool/CMakeLists.txt b/src/kpackagetool/CMakeLists.txt +index 10d58f8..c6d088a 100644 +--- a/src/kpackagetool/CMakeLists.txt ++++ b/src/kpackagetool/CMakeLists.txt +@@ -6,8 +6,6 @@ ecm_mark_nongui_executable(kpackagetool5) + target_sources(kpackagetool5 PRIVATE + main.cpp + kpackagetool.cpp +- ../kpackage/private/packagejobthread.cpp +- ../kpackage/private/versionparser.cpp + kpackagetool.qrc + ) + ecm_qt_declare_logging_category(kpackagetool5 +@@ -15,6 +13,6 @@ ecm_qt_declare_logging_category(kpackagetool5 + IDENTIFIER KPACKAGE_LOG + CATEGORY_NAME kf.package + ) +-target_link_libraries(kpackagetool5 KF5::Archive KF5::Package KF5::I18n KF5::CoreAddons) ++target_link_libraries(kpackagetool5 kpackage_common_STATIC KF5::Archive KF5::Package KF5::I18n KF5::CoreAddons) + + install(TARGETS kpackagetool5 EXPORT KF5PackageToolsTargets ${KF5_INSTALL_TARGETS_DEFAULT_ARGS}) +-- +GitLab + diff --git a/ports/kf5package/portfile.cmake b/ports/kf5package/portfile.cmake index a9661cf07e28df..efe5f7fd1aae17 100644 --- a/ports/kf5package/portfile.cmake +++ b/ports/kf5package/portfile.cmake @@ -1,31 +1,36 @@ -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO KDE/kpackage - REF v5.84.0 - SHA512 ad6a7083d461b2e782c612a544a8f6c0493c68c98a915e3f8fd4fd7de4ce636002383869476f877ace407fdc5013ad58e297ed3fd46dcac055ce79251704bf95 - HEAD_REF master -) - -# Prevent KDEClangFormat from writing to source effectively blocking parallel configure -file(WRITE ${SOURCE_PATH}/.clang-format "DisableFormat: true\nSortIncludes: false\n") - -vcpkg_cmake_configure( - SOURCE_PATH "${SOURCE_PATH}" - OPTIONS - -DBUILD_TESTING=OFF -) - -vcpkg_cmake_install() -vcpkg_cmake_config_fixup(PACKAGE_NAME KF5Package CONFIG_PATH lib/cmake/KF5Package) -vcpkg_copy_pdbs() - -vcpkg_copy_tools(TOOL_NAMES kpackagetool5 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}/debug/include") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") - -file(INSTALL "${SOURCE_PATH}/LICENSES/" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright") \ No newline at end of file +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO KDE/kpackage + REF v5.98.0 + SHA512 2d82817825b3c5a284bee147abc1f8e9aff9f4730f7f149f95aef7270b7d41a7d6b8184e1f7c42c13c9ad26abbc63ffcd2e4eabef2f6ff734629d39808b5eeea + HEAD_REF master + PATCHES + fix_duplicate_symbol.patch +) + +# Prevent KDEClangFormat from writing to source effectively blocking parallel configure +file(WRITE "${SOURCE_PATH}/.clang-format" "DisableFormat: true\nSortIncludes: false\n") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_TESTING=OFF + -DCMAKE_DISABLE_FIND_PACKAGE_KF5DocTools=ON +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME KF5Package CONFIG_PATH lib/cmake/KF5Package) +vcpkg_copy_pdbs() + +vcpkg_copy_tools(TOOL_NAMES kpackagetool5 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}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +file(GLOB LICENSE_FILES "${SOURCE_PATH}/LICENSES/*") +vcpkg_install_copyright(FILE_LIST ${LICENSE_FILES}) + diff --git a/ports/kf5package/vcpkg.json b/ports/kf5package/vcpkg.json index a874e8db7abf61..44b96b51942ff1 100644 --- a/ports/kf5package/vcpkg.json +++ b/ports/kf5package/vcpkg.json @@ -1,7 +1,6 @@ { "name": "kf5package", - "version": "5.84.0", - "port-version": 1, + "version": "5.98.0", "description": "Installation and loading of additional content (ex: scripts, images...) as packages", "homepage": "https://api.kde.org/frameworks/kpackage/html/index.html", "dependencies": [ diff --git a/ports/kf5parts/portfile.cmake b/ports/kf5parts/portfile.cmake new file mode 100644 index 00000000000000..57122d2a0f009f --- /dev/null +++ b/ports/kf5parts/portfile.cmake @@ -0,0 +1,41 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO KDE/kparts + REF "v${VERSION}" + SHA512 07ba359faf15f6bc398b64e0534842532e1a3ade94caa6b8dc7886417aa49526b7e0f54bd29805e64b8661f4c402e022bd211a932ee13b0ac4b97e516ae6dbef + HEAD_REF master +) + +# 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() +vcpkg_cmake_config_fixup(PACKAGE_NAME KF5Parts CONFIG_PATH lib/cmake/KF5Parts) +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") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +file(GLOB LICENSE_FILES "${SOURCE_PATH}/LICENSES/*") +vcpkg_install_copyright(FILE_LIST ${LICENSE_FILES}) diff --git a/ports/kf5parts/vcpkg.json b/ports/kf5parts/vcpkg.json new file mode 100644 index 00000000000000..101c88816e8cd4 --- /dev/null +++ b/ports/kf5parts/vcpkg.json @@ -0,0 +1,37 @@ +{ + "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", + "dependencies": [ + "ecm", + { + "name": "gettext", + "host": true, + "features": [ + "tools" + ] + }, + "kf5config", + "kf5coreaddons", + "kf5i18n", + "kf5iconthemes", + "kf5jobwidgets", + "kf5kio", + "kf5service", + "kf5textwidgets", + "kf5widgetsaddons", + "kf5xmlgui", + "qt5-base", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/kf5plotting/portfile.cmake b/ports/kf5plotting/portfile.cmake index f2d8ac8778252c..fa6b846a1a0c16 100644 --- a/ports/kf5plotting/portfile.cmake +++ b/ports/kf5plotting/portfile.cmake @@ -1,27 +1,28 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KDE/kplotting - REF v5.84.0 - SHA512 4007e90bc2505cfcfb14d5b40d922cf72ffcc6898da3ffed5ce5493484fe36c1f0f697f2b8319a7fd95909aada489d57be7a8dceb66b2cbba2746ed4aa93e5a5 + REF v5.98.0 + SHA512 966b62cef7e617678d8ea63c68ff6e79db29a024ffa779a743e20ee643f9fcefe7af766fbb430ecfc2000ed1be9536ab0479d094fc8d899fcf5c0cd44f3d0302 HEAD_REF master ) # Prevent KDEClangFormat from writing to source effectively blocking parallel configure -file(WRITE ${SOURCE_PATH}/.clang-format "DisableFormat: true\nSortIncludes: false\n") +file(WRITE "${SOURCE_PATH}/.clang-format" "DisableFormat: true\nSortIncludes: false\n") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS -DBUILD_TESTING=OFF ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/KF5Plotting) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME KF5Plotting CONFIG_PATH lib/cmake/KF5Plotting) vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/plugins ${CURRENT_PACKAGES_DIR}/debug/plugins) -file(RENAME ${CURRENT_PACKAGES_DIR}/lib/plugins ${CURRENT_PACKAGES_DIR}/plugins) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/plugins" "${CURRENT_PACKAGES_DIR}/debug/plugins") +file(RENAME "${CURRENT_PACKAGES_DIR}/lib/plugins" "${CURRENT_PACKAGES_DIR}/plugins") + +file(GLOB LICENSE_FILES "${SOURCE_PATH}/LICENSES/*") +vcpkg_install_copyright(FILE_LIST ${LICENSE_FILES}) -file(INSTALL ${SOURCE_PATH}/LICENSES/ DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) diff --git a/ports/kf5plotting/vcpkg.json b/ports/kf5plotting/vcpkg.json index 7513e48fe48a50..56dcca670b5283 100644 --- a/ports/kf5plotting/vcpkg.json +++ b/ports/kf5plotting/vcpkg.json @@ -1,12 +1,19 @@ { "name": "kf5plotting", - "version": "5.84.0", - "port-version": 2, + "version": "5.98.0", "description": "Lightweight plotting framework", "homepage": "https://api.kde.org/frameworks/kplotting/html/index.html", "dependencies": [ "ecm", "qt5-base", - "qt5-tools" + "qt5-tools", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/kf5service/portfile.cmake b/ports/kf5service/portfile.cmake index acb0876ed43ff2..14e576dcabac3c 100644 --- a/ports/kf5service/portfile.cmake +++ b/ports/kf5service/portfile.cmake @@ -1,58 +1,72 @@ -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO KDE/kservice - REF v5.84.0 - SHA512 3867da989c8f70fccba63d91aeb0038ad6345e66ca7df6003f968628e4a54e076e9686acb501940ef8f540c39d5f1a70a949cbfdd1caa34e6c4d51daebff418d - HEAD_REF master -) - -if(VCPKG_TARGET_IS_OSX) - # On Darwin platform, the bundled version of 'bison' may be too old (< 3.0). - vcpkg_find_acquire_program(BISON) - execute_process( - COMMAND ${BISON} --version - OUTPUT_VARIABLE BISON_OUTPUT - ) - string(REGEX MATCH "([0-9]+)\\.([0-9]+)\\.([0-9]+)" BISON_VERSION "${BISON_OUTPUT}") - set(BISON_MAJOR ${CMAKE_MATCH_1}) - set(BISON_MINOR ${CMAKE_MATCH_2}) - message(STATUS "Using bison: ${BISON_MAJOR}.${BISON_MINOR}.${CMAKE_MATCH_3}") - if(NOT (BISON_MAJOR GREATER_EQUAL 3 AND BISON_MINOR GREATER_EQUAL 0)) - message(WARNING "${PORT} requires bison version greater than one provided by macOS, please use \`brew install bison\` to install a newer bison.") - endif() -endif() - -vcpkg_find_acquire_program(BISON) -vcpkg_find_acquire_program(FLEX) - -get_filename_component(FLEX_DIR "${FLEX}" DIRECTORY) -get_filename_component(BISON_DIR "${BISON}" DIRECTORY) - -vcpkg_add_to_path(PREPEND "${FLEX_DIR}") -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") - -vcpkg_cmake_configure( - SOURCE_PATH "${SOURCE_PATH}" - OPTIONS - -DBUILD_TESTING=OFF -) - -vcpkg_cmake_install() -vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/KF5Service) -vcpkg_copy_pdbs() - -vcpkg_copy_tools( - TOOL_NAMES kbuildsycoca5 - 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}/debug/include") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -file(INSTALL "${SOURCE_PATH}/LICENSES/" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright") \ No newline at end of file +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO KDE/kservice + REF v5.98.0 + SHA512 c2cfe77418099883838deb3b4143a48e31845f8ea81b335fe86214d23c3df3233be96037e104593dd852b10363a0f2dd28d7cfa04ced608881c77f8a6524f83f + HEAD_REF master +) + +if(VCPKG_TARGET_IS_OSX) + # On Darwin platform, the bundled version of 'bison' may be too old (< 3.0). + vcpkg_find_acquire_program(BISON) + execute_process( + COMMAND ${BISON} --version + OUTPUT_VARIABLE BISON_OUTPUT + ) + string(REGEX MATCH "([0-9]+)\\.([0-9]+)\\.([0-9]+)" BISON_VERSION "${BISON_OUTPUT}") + set(BISON_MAJOR ${CMAKE_MATCH_1}) + set(BISON_MINOR ${CMAKE_MATCH_2}) + message(STATUS "Using bison: ${BISON_MAJOR}.${BISON_MINOR}.${CMAKE_MATCH_3}") + if(NOT (BISON_MAJOR GREATER_EQUAL 3 AND BISON_MINOR GREATER_EQUAL 0)) + message(WARNING "${PORT} requires bison version greater than one provided by macOS, please use \`brew install bison\` to install a newer bison.") + endif() +endif() + +vcpkg_find_acquire_program(BISON) +vcpkg_find_acquire_program(FLEX) + +get_filename_component(FLEX_DIR "${FLEX}" DIRECTORY) +get_filename_component(BISON_DIR "${BISON}" DIRECTORY) + +vcpkg_add_to_path(PREPEND "${FLEX_DIR}") +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() +vcpkg_cmake_config_fixup(PACKAGE_NAME KF5Service CONFIG_PATH lib/cmake/KF5Service) +vcpkg_copy_pdbs() + +vcpkg_copy_tools( + TOOL_NAMES kbuildsycoca5 + 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}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +file(GLOB LICENSE_FILES "${SOURCE_PATH}/LICENSES/*") +vcpkg_install_copyright(FILE_LIST ${LICENSE_FILES}) + diff --git a/ports/kf5service/vcpkg.json b/ports/kf5service/vcpkg.json index 72136bf204085e..b1e9f5308a92c5 100644 --- a/ports/kf5service/vcpkg.json +++ b/ports/kf5service/vcpkg.json @@ -1,6 +1,6 @@ { "name": "kf5service", - "version": "5.84.0", + "version": "5.98.0", "port-version": 1, "description": "Plugin framework for desktop services", "homepage": "https://api.kde.org/frameworks/kservice/html/index.html", @@ -15,15 +15,12 @@ }, "kf5config", "kf5coreaddons", - { - "name": "kf5crash", - "platform": "!android" - }, { "name": "kf5dbusaddons", "platform": "!android" }, "kf5i18n", + "libiconv", "qt5-base", "qt5-tools", { diff --git a/ports/kf5solid/001_fix_libmount.patch b/ports/kf5solid/001_fix_libmount.patch new file mode 100644 index 00000000000000..b5360c30515533 --- /dev/null +++ b/ports/kf5solid/001_fix_libmount.patch @@ -0,0 +1,15 @@ +diff --git a/KF5SolidConfig.cmake.in b/KF5SolidConfig.cmake.in +index 0a23f44..7020804 100644 +--- a/KF5SolidConfig.cmake.in ++++ b/KF5SolidConfig.cmake.in +@@ -23,6 +23,10 @@ if (NOT @BUILD_SHARED_LIBS@) + find_dependency(Qt@QT_MAJOR_VERSION@Xml @REQUIRED_QT_VERSION@) + find_dependency(Qt@QT_MAJOR_VERSION@Gui @REQUIRED_QT_VERSION@) + ++ if (@HAVE_LIBMOUNT@) ++ find_dependency(LibMount) ++ endif() ++ + if ("@Qt5DBus_FOUND@" OR "@Qt6DBus_FOUND@") + find_dependency(Qt@QT_MAJOR_VERSION@DBus @REQUIRED_QT_VERSION@) + endif() diff --git a/ports/kf5solid/002_fix_imobile.patch b/ports/kf5solid/002_fix_imobile.patch new file mode 100644 index 00000000000000..4089fd3ba8fea5 --- /dev/null +++ b/ports/kf5solid/002_fix_imobile.patch @@ -0,0 +1,61 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 60172b0d..1dfe6e8a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -55,13 +55,25 @@ set_package_properties(BISON PROPERTIES + PURPOSE "Required for the Predicate parser" + ) + +-find_package(IMobileDevice) ++find_package(IMobileDevice NAMES unofficial-libimobiledevice) + set_package_properties(IMobileDevice PROPERTIES + TYPE OPTIONAL + PURPOSE "Needed to build the iOS device support backend" + ) ++if(TARGET unofficial::libimobiledevice::libimobiledevice) ++ set(IMobileDevice_VERSION "1.3.0") ++ set(_imobile_version "0x00000") ++ if (IMobileDevice_VERSION VERSION_GREATER_EQUAL 1.3.0) ++ set(_imobile_version "0x10300") ++ elseif(IMobileDevice_VERSION VERSION_GREATER_EQUAL 1.2.0) ++ set(_imobile_version "0x10200") ++ endif() ++ set_target_properties(unofficial::libimobiledevice::libimobiledevice PROPERTIES ++ INTERFACE_COMPILE_DEFINITIONS "IMOBILEDEVICE_API=${_imobile_version}" ++ ) ++endif() + +-find_package(PList) ++find_package(PList NAMES unofficial-libplist CONFIG) + set_package_properties(PList PROPERTIES + TYPE OPTIONAL + PURPOSE "Needed to build the iOS device support backend" +diff --git a/KF5SolidConfig.cmake.in b/KF5SolidConfig.cmake.in +index 6fc15eeb..a6250ce6 100644 +--- a/KF5SolidConfig.cmake.in ++++ b/KF5SolidConfig.cmake.in +@@ -27,6 +27,11 @@ if (NOT @BUILD_SHARED_LIBS@) + find_dependency(LibMount) + endif() + ++ if ("@IMobileDevice_FOUND@" AND "@PList_FOUND@") ++ find_dependency(unofficial-libimobiledevice) ++ find_dependency(unofficial-libplist) ++ endif() ++ + if ("@Qt5DBus_FOUND@" OR "@Qt6DBus_FOUND@") + find_dependency(Qt@QT_MAJOR_VERSION@DBus @REQUIRED_QT_VERSION@) + endif() +diff --git a/src/solid/devices/backends/imobile/CMakeLists.txt b/src/solid/devices/backends/imobile/CMakeLists.txt +index e1666447..3f8b982e 100644 +--- a/src/solid/devices/backends/imobile/CMakeLists.txt ++++ b/src/solid/devices/backends/imobile/CMakeLists.txt +@@ -5,7 +5,7 @@ set(backend_sources + imobiledeviceinterface.cpp + imobileportablemediaplayer.cpp + ) +-set(backend_libs IMobileDevice::IMobileDevice PList::PList) ++set(backend_libs unofficial::libimobiledevice::libimobiledevice unofficial::libplist::libplist) + + ecm_qt_declare_logging_category(backend_sources + HEADER imobile_debug.h diff --git a/ports/kf5solid/fix-libmount.patch b/ports/kf5solid/fix-libmount.patch deleted file mode 100644 index 592f96ce98a34d..00000000000000 --- a/ports/kf5solid/fix-libmount.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/KF5SolidConfig.cmake.in b/KF5SolidConfig.cmake.in -index 0a23f44..7020804 100644 ---- a/KF5SolidConfig.cmake.in -+++ b/KF5SolidConfig.cmake.in -@@ -23,6 +23,10 @@ if (NOT @BUILD_SHARED_LIBS@) - find_dependency(Qt5Xml @REQUIRED_QT_VERSION@) - find_dependency(Qt5Gui @REQUIRED_QT_VERSION@) - -+ if (@HAVE_LIBMOUNT@) -+ find_dependency(LibMount) -+ endif() -+ - if (@Qt5DBus_FOUND@) - find_dependency(Qt5DBus @REQUIRED_QT_VERSION@) - endif() diff --git a/ports/kf5solid/fix_config_cmake.patch b/ports/kf5solid/fix_config_cmake.patch deleted file mode 100644 index d099bb082ba91b..00000000000000 --- a/ports/kf5solid/fix_config_cmake.patch +++ /dev/null @@ -1,36 +0,0 @@ -From c1e261d57383533a008f0c02689dd0292d4dc75a Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Dawid=20Wro=CC=81bel?= -Date: Tue, 31 Aug 2021 02:18:42 +0200 -Subject: [PATCH] Add support for static builds - ---- - KF5SolidConfig.cmake.in | 13 +++++++++++++ - 1 file changed, 13 insertions(+) - -diff --git a/KF5SolidConfig.cmake.in b/KF5SolidConfig.cmake.in -index b597b3a..0a23f44 100644 ---- a/KF5SolidConfig.cmake.in -+++ b/KF5SolidConfig.cmake.in -@@ -19,6 +19,19 @@ set(SOLID_DBUS_INTERFACES_DIR "@PACKAGE_KDE_INSTALL_DBUSINTERFACEDIR@") - include(CMakeFindDependencyMacro) - find_dependency(Qt5Core @REQUIRED_QT_VERSION@) - -+if (NOT @BUILD_SHARED_LIBS@) -+ find_dependency(Qt5Xml @REQUIRED_QT_VERSION@) -+ find_dependency(Qt5Gui @REQUIRED_QT_VERSION@) -+ -+ if (@Qt5DBus_FOUND@) -+ find_dependency(Qt5DBus @REQUIRED_QT_VERSION@) -+ endif() -+ -+ if (@UDev_FOUND@) -+ find_dependency(UDev) -+ endif() -+endif() -+ - include("${CMAKE_CURRENT_LIST_DIR}/KF5SolidTargets.cmake") - @PACKAGE_INCLUDE_QCHTARGETS@ - --- -GitLab - diff --git a/ports/kf5solid/portfile.cmake b/ports/kf5solid/portfile.cmake index ae63332f793e29..d58a920d6fea51 100644 --- a/ports/kf5solid/portfile.cmake +++ b/ports/kf5solid/portfile.cmake @@ -1,66 +1,75 @@ -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO KDE/solid - REF v5.84.0 - SHA512 b6452e56c6029289450850c1fcfff96da0005f8dfa03f1817754910945e3ccadd8502e330a4484a5c5e9a8d5525838c8090268bb083639062dfca7176852c159 - HEAD_REF master - PATCHES - fix_config_cmake.patch # https://invent.kde.org/frameworks/solid/-/merge_requests/53 - fix-libmount.patch -) - -if(VCPKG_TARGET_IS_OSX) - # On Darwin platform, the bundled version of 'bison' may be too old (< 3.0). - vcpkg_find_acquire_program(BISON) - execute_process( - COMMAND ${BISON} --version - OUTPUT_VARIABLE BISON_OUTPUT - ) - string(REGEX MATCH "([0-9]+)\\.([0-9]+)\\.([0-9]+)" BISON_VERSION "${BISON_OUTPUT}") - set(BISON_MAJOR ${CMAKE_MATCH_1}) - set(BISON_MINOR ${CMAKE_MATCH_2}) - message(STATUS "Using bison: ${BISON_MAJOR}.${BISON_MINOR}.${CMAKE_MATCH_3}") - if(NOT (BISON_MAJOR GREATER_EQUAL 3 AND BISON_MINOR GREATER_EQUAL 0)) - message(WARNING "${PORT} requires bison version greater than one provided by macOS, please use \`brew install bison\` to install a newer bison.") - endif() -endif() - -vcpkg_find_acquire_program(BISON) -vcpkg_find_acquire_program(FLEX) - -get_filename_component(FLEX_DIR "${FLEX}" DIRECTORY ) -get_filename_component(BISON_DIR "${BISON}" DIRECTORY ) - -vcpkg_add_to_path(PREPEND "${FLEX_DIR}") -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") - -vcpkg_cmake_configure( - SOURCE_PATH "${SOURCE_PATH}" - OPTIONS - -DBUILD_TESTING=OFF - -DCMAKE_DISABLE_FIND_PACKAGE_LibMount=ON -) - -vcpkg_cmake_install() -vcpkg_cmake_config_fixup(PACKAGE_NAME KF5Solid CONFIG_PATH lib/cmake/KF5Solid) -vcpkg_copy_pdbs() - -vcpkg_copy_tools( - TOOL_NAMES solid-hardware5 - 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}/debug/include") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") - -file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/qml" "${CURRENT_PACKAGES_DIR}/debug/qml") -file(RENAME "${CURRENT_PACKAGES_DIR}/lib/qml" "${CURRENT_PACKAGES_DIR}/qml") - -file(INSTALL "${SOURCE_PATH}/LICENSES/" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright") +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO KDE/solid + REF v5.98.0 + SHA512 9f0aed7f8ea29a6132ca9c99c4c744ca5580bb3f7be1712e27d1fc3ae47b2edac26a5ce20abddef4d9998612f2386e1cc6915504c02897f2b3ebcec01cd26208 + HEAD_REF master + PATCHES + 001_fix_libmount.patch + 002_fix_imobile.patch +) +# Prevent KDEClangFormat from writing to source effectively blocking parallel configure +file(WRITE "${SOURCE_PATH}/.clang-format" "DisableFormat: true\nSortIncludes: false\n") + +if(VCPKG_TARGET_IS_OSX) + # On Darwin platform, the bundled version of 'bison' may be too old (< 3.0). + vcpkg_find_acquire_program(BISON) + execute_process( + COMMAND "${BISON}" --version + OUTPUT_VARIABLE BISON_OUTPUT + ) + string(REGEX MATCH "([0-9]+)\\.([0-9]+)\\.([0-9]+)" BISON_VERSION "${BISON_OUTPUT}") + set(BISON_MAJOR ${CMAKE_MATCH_1}) + set(BISON_MINOR ${CMAKE_MATCH_2}) + message(STATUS "Using bison: ${BISON_MAJOR}.${BISON_MINOR}.${CMAKE_MATCH_3}") + if(NOT (BISON_MAJOR GREATER_EQUAL 3 AND BISON_MINOR GREATER_EQUAL 0)) + message(WARNING "${PORT} requires bison version greater than one provided by macOS, please use \`brew install bison\` to install a newer bison.") + endif() +endif() + +vcpkg_find_acquire_program(BISON) +vcpkg_find_acquire_program(FLEX) + +get_filename_component(FLEX_DIR "${FLEX}" DIRECTORY) +get_filename_component(BISON_DIR "${BISON}" DIRECTORY) + +vcpkg_add_to_path(PREPEND "${FLEX_DIR}") +vcpkg_add_to_path(PREPEND "${BISON_DIR}") + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + libmount CMAKE_REQUIRE_FIND_PACKAGE_LibMount + imobile CMAKE_REQUIRE_FIND_PACKAGE_IMobileDevice + imobile CMAKE_REQUIRE_FIND_PACKAGE_PList + INVERTED_FEATURES + libmount CMAKE_DISABLE_FIND_PACKAGE_LibMount + imobile CMAKE_DISABLE_FIND_PACKAGE_IMobileDevice + imobile CMAKE_DISABLE_FIND_PACKAGE_PList +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} + -DBUILD_TESTING=OFF + -DKDE_INSTALL_QMLDIR=qml +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/KF5Solid) +vcpkg_copy_pdbs() + +vcpkg_copy_tools( + TOOL_NAMES solid-hardware5 + AUTO_CLEAN +) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + # Until https://github.com/microsoft/vcpkg/pull/34091 + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") +endif() + +file(GLOB LICENSE_FILES "${SOURCE_PATH}/LICENSES/*") +vcpkg_install_copyright(FILE_LIST ${LICENSE_FILES}) diff --git a/ports/kf5solid/vcpkg.json b/ports/kf5solid/vcpkg.json index f2924d6642acc6..51a5e4530b11df 100644 --- a/ports/kf5solid/vcpkg.json +++ b/ports/kf5solid/vcpkg.json @@ -1,6 +1,6 @@ { "name": "kf5solid", - "version": "5.84.0", + "version": "5.98.0", "port-version": 3, "description": "Desktop hardware abstraction", "homepage": "https://api.kde.org/frameworks/solid/html/index.html", @@ -16,5 +16,27 @@ "name": "vcpkg-cmake-config", "host": true } - ] + ], + "default-features": [ + { + "name": "libmount", + "platform": "linux" + } + ], + "features": { + "imobile": { + "description": "Used by the imobile backend", + "dependencies": [ + "libimobiledevice", + "libplist" + ] + }, + "libmount": { + "description": "Used by the UDisks backend on Linux", + "supports": "linux", + "dependencies": [ + "libmount" + ] + } + } } diff --git a/ports/kf5sonnet/portfile.cmake b/ports/kf5sonnet/portfile.cmake index 1cda95d5ca39cf..8853c36590200c 100644 --- a/ports/kf5sonnet/portfile.cmake +++ b/ports/kf5sonnet/portfile.cmake @@ -1,47 +1,60 @@ -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO KDE/sonnet - REF v5.84.0 - SHA512 9e7d121f447e3320c27c3708f5d1d4cc735e775749cded268502b593a0b1f6ea703e68ce1d2d4f1806e0adb73aafaedf660586f8ee740f4a9a834e23cb9880e4 - HEAD_REF master -) - -# Prevent KDEClangFormat from writing to source effectively blocking parallel configure -file(WRITE ${SOURCE_PATH}/.clang-format "DisableFormat: true\nSortIncludes: false\n") - -vcpkg_cmake_configure( - SOURCE_PATH "${SOURCE_PATH}" - OPTIONS - -DBUILD_TESTING=OFF - -DKDE_INSTALL_PLUGINDIR=plugins - -DKDE_INSTALL_DATAROOTDIR=data - -DKDE_INSTALL_QTPLUGINDIR=plugins -) - -vcpkg_add_to_path(PREPEND "${CURRENT_INSTALLED_DIR}/bin") -vcpkg_add_to_path(PREPEND "${CURRENT_INSTALLED_DIR}/debug/bin") - -vcpkg_cmake_install() - -file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/${PORT}") -file(RENAME "${CURRENT_PACKAGES_DIR}/bin/gentrigrams${VCPKG_HOST_EXECUTABLE_SUFFIX}" "${CURRENT_PACKAGES_DIR}/tools/${PORT}/gentrigrams${VCPKG_HOST_EXECUTABLE_SUFFIX}") -file(RENAME "${CURRENT_PACKAGES_DIR}/bin/parsetrigrams${VCPKG_HOST_EXECUTABLE_SUFFIX}" "${CURRENT_PACKAGES_DIR}/tools/${PORT}/parsetrigrams${VCPKG_HOST_EXECUTABLE_SUFFIX}") - -vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/KF5Sonnet) - -vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/${PORT}") -file(APPEND "${CURRENT_PACKAGES_DIR}/tools/${PORT}/qt.conf" "Data = ${VCPKG_ROOT_DIR}/installed/${TARGET_TRIPLET}/data") - -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") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/etc") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/bin/gentrigrams${VCPKG_HOST_EXECUTABLE_SUFFIX}") -file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/bin/parsetrigrams${VCPKG_HOST_EXECUTABLE_SUFFIX}") - -file(INSTALL ${SOURCE_PATH}/LICENSES/ DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright") +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO KDE/sonnet + REF v5.98.0 + SHA512 7bd4dc164e049e9b5be2f29a81444f4545bb0c70db8ede0cc4303292d983e21c6701ac9ab02f4b4b3b2793ec7e6a078601e8c7cf083b1a799d10dc9f1d5a57c0 + HEAD_REF master +) + +# Prevent KDEClangFormat from writing to source effectively blocking parallel configure +file(WRITE "${SOURCE_PATH}/.clang-format" "DisableFormat: true\nSortIncludes: false\n") + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + "hunspell" CMAKE_REQUIRE_FIND_PACKAGE_HUNSPELL + INVERTED_FEATURES + "hunspell" CMAKE_DISABLE_FIND_PACKAGE_HUNSPELL +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_TESTING=OFF + -DBUILD_EXAMPLES=OFF + -DKDE_INSTALL_PLUGINDIR=plugins + -DKDE_INSTALL_QTPLUGINDIR=plugins + -DKDE_INSTALL_QMLDIR=qml + -DCMAKE_DISABLE_FIND_PACKAGE_VOIKKO=ON + -DCMAKE_DISABLE_FIND_PACKAGE_ASPELL=ON + -DCMAKE_DISABLE_FIND_PACKAGE_HSPELL=ON + ${FEATURE_OPTIONS} +) + +vcpkg_add_to_path(PREPEND "${CURRENT_INSTALLED_DIR}/bin") +vcpkg_add_to_path(PREPEND "${CURRENT_INSTALLED_DIR}/debug/bin") + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(PACKAGE_NAME KF5Sonnet CONFIG_PATH lib/cmake/KF5Sonnet) + +vcpkg_copy_tools( + TOOL_NAMES gentrigrams parsetrigrams + AUTO_CLEAN +) + +file(APPEND "${CURRENT_PACKAGES_DIR}/tools/${PORT}/qt.conf" "Data = ../../share") + +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") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/bin/gentrigrams${VCPKG_HOST_EXECUTABLE_SUFFIX}") +file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/bin/parsetrigrams${VCPKG_HOST_EXECUTABLE_SUFFIX}") + +file(GLOB LICENSE_FILES "${SOURCE_PATH}/LICENSES/*") +vcpkg_install_copyright(FILE_LIST ${LICENSE_FILES}) + diff --git a/ports/kf5sonnet/vcpkg.json b/ports/kf5sonnet/vcpkg.json index 52cb029d96149c..9545500ccb4ad7 100644 --- a/ports/kf5sonnet/vcpkg.json +++ b/ports/kf5sonnet/vcpkg.json @@ -1,7 +1,6 @@ { "name": "kf5sonnet", - "version-semver": "5.84.0", - "port-version": 2, + "version": "5.98.0", "description": "Multi-language spell checker", "homepage": "https://api.kde.org/frameworks/sonnet/html/index.html", "dependencies": [ @@ -16,5 +15,13 @@ "name": "vcpkg-cmake-config", "host": true } - ] + ], + "features": { + "hunspell": { + "description": "Spell checking support via Hunspell", + "dependencies": [ + "hunspell" + ] + } + } } diff --git a/ports/kf5syntaxhighlighting/portfile.cmake b/ports/kf5syntaxhighlighting/portfile.cmake index 9003e60f5e4d49..0f852c85fcf100 100644 --- a/ports/kf5syntaxhighlighting/portfile.cmake +++ b/ports/kf5syntaxhighlighting/portfile.cmake @@ -1,31 +1,41 @@ -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO KDE/syntax-highlighting - REF v5.84.0 - SHA512 7df25f639504392f15dd55ae33de273ef8a32c3d4b4874dcd52fa5aa85e302acf102e31d249a3dc779d84facba0fca5e2196e83d8b4d439c5da96c2ad7b256cd - HEAD_REF master -) - -vcpkg_find_acquire_program(PERL) -get_filename_component(PERL_EXE_PATH ${PERL} DIRECTORY) -vcpkg_add_to_path("${PERL_EXE_PATH}") - -# Prevent KDEClangFormat from writing to source effectively blocking parallel configure -file(WRITE ${SOURCE_PATH}/.clang-format "DisableFormat: true\nSortIncludes: false\n") - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - -DBUILD_TESTING=OFF -) - -vcpkg_install_cmake(ADD_BIN_TO_PATH) -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/KF5SyntaxHighlighting) -vcpkg_copy_pdbs() - -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") - -file(INSTALL ${SOURCE_PATH}/LICENSES/ DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO KDE/syntax-highlighting + REF v5.98.0 + SHA512 05dd4d33c54b092629669a24d378002b24b140b767ed52e7f6d90aea5f5b6a30ce04ea1c87d534bd9ed239ae7bb334b65ce13a2b9af5ebef5272467fd44828bd + HEAD_REF master +) + +vcpkg_find_acquire_program(PERL) +get_filename_component(PERL_EXE_PATH ${PERL} DIRECTORY) +vcpkg_add_to_path("${PERL_EXE_PATH}") + +# Prevent KDEClangFormat from writing to source effectively blocking parallel configure +file(WRITE "${SOURCE_PATH}/.clang-format" "DisableFormat: true\nSortIncludes: false\n") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_TESTING=OFF + -DKDE_INSTALL_QMLDIR=qml +) + +vcpkg_cmake_install(ADD_BIN_TO_PATH) +vcpkg_cmake_config_fixup(PACKAGE_NAME KF5SyntaxHighlighting CONFIG_PATH lib/cmake/KF5SyntaxHighlighting) +vcpkg_copy_pdbs() + +vcpkg_copy_tools( + TOOL_NAMES kate-syntax-highlighter + 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}/debug/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +file(GLOB LICENSE_FILES "${SOURCE_PATH}/LICENSES/*") +vcpkg_install_copyright(FILE_LIST ${LICENSE_FILES}) + diff --git a/ports/kf5syntaxhighlighting/vcpkg.json b/ports/kf5syntaxhighlighting/vcpkg.json index d50b0e71395854..3c7deeb9164c69 100644 --- a/ports/kf5syntaxhighlighting/vcpkg.json +++ b/ports/kf5syntaxhighlighting/vcpkg.json @@ -1,13 +1,20 @@ { "name": "kf5syntaxhighlighting", - "version": "5.84.0", - "port-version": 2, + "version": "5.98.0", "description": "Syntax highlighting engine for Kate syntax definitions", "homepage": "https://github.com/KDE/syntax-highlighting", "dependencies": [ "ecm", "qt5-base", "qt5-tools", - "qt5-xmlpatterns" + "qt5-xmlpatterns", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/kf5texteditor/portfile.cmake b/ports/kf5texteditor/portfile.cmake new file mode 100644 index 00000000000000..226943eb73d4f0 --- /dev/null +++ b/ports/kf5texteditor/portfile.cmake @@ -0,0 +1,54 @@ +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() + 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/*") + 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() + 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/*") + 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..819d1c7a203c77 --- /dev/null +++ b/ports/kf5texteditor/vcpkg.json @@ -0,0 +1,34 @@ +{ + "name": "kf5texteditor", + "version": "5.98.0", + "port-version": 1, + "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/kf5textwidgets/portfile.cmake b/ports/kf5textwidgets/portfile.cmake index eb3cced28e2258..7c2d0e04e5b9e4 100644 --- a/ports/kf5textwidgets/portfile.cmake +++ b/ports/kf5textwidgets/portfile.cmake @@ -1,13 +1,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KDE/ktextwidgets - REF v5.84.0 - SHA512 39afc3265c8aed26f78c836691548cafca05f31238e11f6d29e497c78b6e809d9dba5d3f6cbb9425cfe84d2a1d0910165e77c7841d833cccee3c7398e39bfc68 + REF v5.98.0 + SHA512 d25167cf173daa55075ee0586b8db5c478fcc567d2b9466a7c833ffe8cfae21db936df8cbcfc06a82314568b4574b5826bc50bc24087a02bab56fb43fcdcd461 HEAD_REF master ) # Prevent KDEClangFormat from writing to source effectively blocking parallel configure -file(WRITE ${SOURCE_PATH}/.clang-format "DisableFormat: true\nSortIncludes: false\n") +file(WRITE "${SOURCE_PATH}/.clang-format" "DisableFormat: true\nSortIncludes: false\n") vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" @@ -27,4 +27,6 @@ endif() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -file(INSTALL "${SOURCE_PATH}/LICENSES/" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright") \ No newline at end of file +file(GLOB LICENSE_FILES "${SOURCE_PATH}/LICENSES/*") +vcpkg_install_copyright(FILE_LIST ${LICENSE_FILES}) + diff --git a/ports/kf5textwidgets/vcpkg.json b/ports/kf5textwidgets/vcpkg.json index dfb7e271de067f..9756b10489bae8 100644 --- a/ports/kf5textwidgets/vcpkg.json +++ b/ports/kf5textwidgets/vcpkg.json @@ -1,7 +1,6 @@ { "name": "kf5textwidgets", - "version": "5.84.0", - "port-version": 1, + "version": "5.98.0", "description": "Text editing widgets", "homepage": "https://api.kde.org/frameworks/ktextwidgets/html/index.html", "dependencies": [ diff --git a/ports/kf5wallet/portfile.cmake b/ports/kf5wallet/portfile.cmake index e7300f744df6d4..808b8634a75c5a 100644 --- a/ports/kf5wallet/portfile.cmake +++ b/ports/kf5wallet/portfile.cmake @@ -1,31 +1,33 @@ -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO KDE/kwallet - REF v5.84.0 - SHA512 5bea4c7f46d127de1bc530e03e1033e9e133197cc36bb6963c9154783ef7bb9920bec62443b5bba9b55d3adcc1f7284ce4376422915d93d6df387587fd7ab8e0 - HEAD_REF master -) - -# Prevent KDEClangFormat from writing to source effectively blocking parallel configure -file(WRITE ${SOURCE_PATH}/.clang-format "DisableFormat: true\nSortIncludes: false\n") - -vcpkg_cmake_configure( - SOURCE_PATH "${SOURCE_PATH}" - OPTIONS - -DBUILD_TESTING=OFF - -DBUILD_KWALLETD=OFF - -DBUILD_KWALLET_QUERY=OFF -) - -vcpkg_cmake_install() -vcpkg_cmake_config_fixup(PACKAGE_NAME KF5Wallet CONFIG_PATH lib/cmake/KF5Wallet) -vcpkg_copy_pdbs() - -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" "${CURRENT_PACKAGES_DIR}/debug/bin") -endif() - -file(INSTALL "${SOURCE_PATH}/LICENSES/" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright") \ No newline at end of file +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO KDE/kwallet + REF v5.98.0 + SHA512 8fae6e689f190f2f6d110ed4ccd45856d4202c9f4e08fd88851c120c1bfaa38d00f3571a08e036f60054740702084927f09809d68cde7c073f5ba1cd8124c2de + HEAD_REF master +) + +# Prevent KDEClangFormat from writing to source effectively blocking parallel configure +file(WRITE "${SOURCE_PATH}/.clang-format" "DisableFormat: true\nSortIncludes: false\n") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_TESTING=OFF + -DBUILD_KWALLETD=OFF + -DBUILD_KWALLET_QUERY=OFF +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME KF5Wallet CONFIG_PATH lib/cmake/KF5Wallet) +vcpkg_copy_pdbs() + +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" "${CURRENT_PACKAGES_DIR}/debug/bin") +endif() + +file(GLOB LICENSE_FILES "${SOURCE_PATH}/LICENSES/*") +vcpkg_install_copyright(FILE_LIST ${LICENSE_FILES}) + diff --git a/ports/kf5wallet/vcpkg.json b/ports/kf5wallet/vcpkg.json index 0d4876849a7117..ae3ef0e904fe6e 100644 --- a/ports/kf5wallet/vcpkg.json +++ b/ports/kf5wallet/vcpkg.json @@ -1,7 +1,6 @@ { "name": "kf5wallet", - "version-semver": "5.84.0", - "port-version": 1, + "version": "5.98.0", "description": "Safe desktop-wide storage for passwords", "homepage": "https://api.kde.org/frameworks/kwallet/html/index.html", "dependencies": [ diff --git a/ports/kf5widgetsaddons/portfile.cmake b/ports/kf5widgetsaddons/portfile.cmake index dcf65ec6b23092..3661dc089a4bc9 100644 --- a/ports/kf5widgetsaddons/portfile.cmake +++ b/ports/kf5widgetsaddons/portfile.cmake @@ -1,35 +1,32 @@ -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO KDE/kwidgetsaddons - REF v5.84.0 - SHA512 2c92eb2eaea1c2ca1ca2acd8ccc95d64d5f91cce4b92d428644adc804e7b97ad19659231667e5d79f5672fe528ae70ca85926192297772d7734d5d72479d2716 - HEAD_REF master -) - -# Prevent KDEClangFormat from writing to source effectively blocking parallel configure -file(WRITE ${SOURCE_PATH}/.clang-format "DisableFormat: true\nSortIncludes: false\n") - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - -DBUILD_TESTING=OFF - -DBUILD_DESIGNERPLUGIN=OFF -) - -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/KF5WidgetsAddons) -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}/bin/data) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin/data) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/etc) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/etc) - -file(INSTALL ${SOURCE_PATH}/LICENSES/ DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO KDE/kwidgetsaddons + REF v5.98.0 + SHA512 cfc8dc0fb44a03897ee595abd32e0f5977a16ea5d36235c51ea1a548f2fe160308838aefa3fc7c4b0edeb12e626cdd46f58c7fc2a72cbaf59e2c4286aecc5ba3 + HEAD_REF master +) + +# Prevent KDEClangFormat from writing to source effectively blocking parallel configure +file(WRITE "${SOURCE_PATH}/.clang-format" "DisableFormat: true\nSortIncludes: false\n") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_TESTING=OFF + -DBUILD_DESIGNERPLUGIN=OFF +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME KF5WidgetsAddons CONFIG_PATH lib/cmake/KF5WidgetsAddons) +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") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +file(GLOB LICENSE_FILES "${SOURCE_PATH}/LICENSES/*") +vcpkg_install_copyright(FILE_LIST ${LICENSE_FILES}) + diff --git a/ports/kf5widgetsaddons/vcpkg.json b/ports/kf5widgetsaddons/vcpkg.json index 4b98e7c004bb11..6bd20af98ee9f5 100644 --- a/ports/kf5widgetsaddons/vcpkg.json +++ b/ports/kf5widgetsaddons/vcpkg.json @@ -1,12 +1,19 @@ { "name": "kf5widgetsaddons", - "version": "5.84.0", - "port-version": 2, + "version": "5.98.0", "description": "Addons to QtWidgets", "homepage": "https://api.kde.org/frameworks/kwidgetsaddons/html/index.html", "dependencies": [ "ecm", "qt5-base", - "qt5-tools" + "qt5-tools", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/kf5windowsystem/27.patch b/ports/kf5windowsystem/27.patch deleted file mode 100644 index 6ad39176795ce9..00000000000000 --- a/ports/kf5windowsystem/27.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 2ee7179c17fd9bd6d8e883ea304cc050cb197834 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Dawid=20Wro=CC=81bel?= -Date: Thu, 29 Jul 2021 13:47:28 +0200 -Subject: [PATCH] Support static builds - ---- - KF5WindowSystemConfig.cmake.in | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - -diff --git a/KF5WindowSystemConfig.cmake.in b/KF5WindowSystemConfig.cmake.in -index 6c1b4c0..bcb7128 100644 ---- a/KF5WindowSystemConfig.cmake.in -+++ b/KF5WindowSystemConfig.cmake.in -@@ -4,7 +4,13 @@ include(CMakeFindDependencyMacro) - find_dependency(Qt5Gui @REQUIRED_QT_VERSION@) - - if(NOT @KWINDOWSYSTEM_NO_WIDGETS@) --find_dependency(Qt5Widgets @REQUIRED_QT_VERSION@) -+ find_dependency(Qt5Widgets @REQUIRED_QT_VERSION@) -+endif() -+ -+if(NOT @BUILD_SHARED_LIBS@) -+ if(@WIN32@) -+ find_dependency(Qt5WinExtras @REQUIRED_QT_VERSION@) -+ endif() - endif() - - include("${CMAKE_CURRENT_LIST_DIR}/KF5WindowSystemTargets.cmake") --- -GitLab - diff --git a/ports/kf5windowsystem/28.patch b/ports/kf5windowsystem/28.patch deleted file mode 100644 index 9cf88c96cff54b..00000000000000 --- a/ports/kf5windowsystem/28.patch +++ /dev/null @@ -1,27 +0,0 @@ -From b4bf29e297dd75eb2f4af6ed143839e223833b4b Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Dawid=20Wro=CC=81bel?= -Date: Mon, 9 Aug 2021 22:45:50 +0000 -Subject: [PATCH] Support static builds on Linux as well - ---- - KF5WindowSystemConfig.cmake.in | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/KF5WindowSystemConfig.cmake.in b/KF5WindowSystemConfig.cmake.in -index bcb7128..62580e9 100644 ---- a/KF5WindowSystemConfig.cmake.in -+++ b/KF5WindowSystemConfig.cmake.in -@@ -11,6 +11,10 @@ if(NOT @BUILD_SHARED_LIBS@) - if(@WIN32@) - find_dependency(Qt5WinExtras @REQUIRED_QT_VERSION@) - endif() -+ -+ if(@X11_FOUND@) -+ find_dependency(Qt5X11Extras @REQUIRED_QT_VERSION@) -+ endif() - endif() - - include("${CMAKE_CURRENT_LIST_DIR}/KF5WindowSystemTargets.cmake") --- -GitLab - diff --git a/ports/kf5windowsystem/portfile.cmake b/ports/kf5windowsystem/portfile.cmake index 45173fe113ba69..6e643da9916e09 100644 --- a/ports/kf5windowsystem/portfile.cmake +++ b/ports/kf5windowsystem/portfile.cmake @@ -1,36 +1,37 @@ -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO KDE/kwindowsystem - REF v5.84.0 - SHA512 53491f8576db8ebb48627e098fd8c3d4029c024bb9048d97daa1a8f5c39e594ca05dcd80ecb18ac591af7455457a0f14459c24cf44487727a26e34f977c5b81a - PATCHES - 27.patch # https://invent.kde.org/frameworks/kwindowsystem/-/merge_requests/27 - 28.patch # https://invent.kde.org/frameworks/kwindowsystem/-/merge_requests/28 -) - -if (VCPKG_TARGET_IS_LINUX) - message(WARNING "${PORT} currently requires the following libraries from the system package manager:\n libxcb-res0-dev\n\nThese can be installed on Ubuntu systems via apt-get install libxcb-res0-dev") -endif() - -# Prevent KDEClangFormat from writing to source effectively blocking parallel configure -file(WRITE ${SOURCE_PATH}/.clang-format "DisableFormat: true\nSortIncludes: false\n") - -vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} - OPTIONS - -DBUILD_TESTING=OFF - -DKDE_INSTALL_PLUGINDIR=plugins -) - -vcpkg_cmake_install() -vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/KF5WindowSystem) -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") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") - -file(INSTALL "${SOURCE_PATH}/LICENSES/" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright") +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO KDE/kwindowsystem + REF v5.98.0 + SHA512 839d9fcd805fe14aa13cf0cc39f12aa412f19309698c062c14a7d35db4e6fd3af6f46908c13d76a8234ba9f2067b9a67e0426b265d334be3e805daf5a6cd0afb +) + +if (VCPKG_TARGET_IS_LINUX) + message(WARNING "${PORT} currently requires the following libraries from the system package manager:\n libxcb-res0-dev\n\nThese can be installed on Ubuntu systems via apt-get install libxcb-res0-dev") +endif() + +# Prevent KDEClangFormat from writing to source effectively blocking parallel configure +file(WRITE "${SOURCE_PATH}/.clang-format" "DisableFormat: true\nSortIncludes: false\n") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_TESTING=OFF + -DKDE_INSTALL_PLUGINDIR=plugins +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME KF5WindowSystem CONFIG_PATH lib/cmake/KF5WindowSystem) +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") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/KF5/KWindowSystem/config-kwindowsystem.h" "${CURRENT_PACKAGES_DIR}/" "") + +file(GLOB LICENSE_FILES "${SOURCE_PATH}/LICENSES/*") +vcpkg_install_copyright(FILE_LIST ${LICENSE_FILES}) + diff --git a/ports/kf5windowsystem/vcpkg.json b/ports/kf5windowsystem/vcpkg.json index ab42649adad54b..c0e76182ebd5ef 100644 --- a/ports/kf5windowsystem/vcpkg.json +++ b/ports/kf5windowsystem/vcpkg.json @@ -1,7 +1,6 @@ { "name": "kf5windowsystem", - "version-semver": "5.84.0", - "port-version": 3, + "version": "5.98.0", "description": "Access to the windowing system", "homepage": "https://api.kde.org/frameworks/kwindowsystem/html/", "dependencies": [ diff --git a/ports/kf5xmlgui/add_support_for_static_builds.patch b/ports/kf5xmlgui/add_support_for_static_builds.patch deleted file mode 100644 index fd1aeac66e571f..00000000000000 --- a/ports/kf5xmlgui/add_support_for_static_builds.patch +++ /dev/null @@ -1,29 +0,0 @@ -diff --git a/KF5XmlGuiConfig.cmake.in b/KF5XmlGuiConfig.cmake.in -index 6238ab5f..8c249eb1 100644 ---- a/KF5XmlGuiConfig.cmake.in -+++ b/KF5XmlGuiConfig.cmake.in -@@ -12,5 +12,21 @@ find_dependency(Qt5Xml @REQUIRED_QT_VERSION@) - find_dependency(KF5Config "@KF_DEP_VERSION@") - find_dependency(KF5ConfigWidgets "@KF_DEP_VERSION@") - -+if (NOT @BUILD_SHARED_LIBS@) -+ find_dependency(Qt5Network "@REQUIRED_QT_VERSION@") -+ find_dependency(Qt5PrintSupport "@REQUIRED_QT_VERSION@") -+ -+ if (@KF5GlobalAccel_FOUND@) -+ find_dependency(KF5GlobalAccel "@KF_DEP_VERSION@") -+ endif() -+ -+ find_dependency(KF5CoreAddons "@KF_DEP_VERSION@") -+ find_dependency(KF5GuiAddons "@KF_DEP_VERSION@") -+ find_dependency(KF5WidgetsAddons "@KF_DEP_VERSION@") -+ find_dependency(KF5ItemViews "@KF_DEP_VERSION@") -+ find_dependency(KF5I18n "@KF_DEP_VERSION@") -+ find_dependency(KF5IconThemes "@KF_DEP_VERSION@") -+endif() -+ - include("${CMAKE_CURRENT_LIST_DIR}/KF5XmlGuiTargets.cmake") - @PACKAGE_INCLUDE_QCHTARGETS@ --- -GitLab - diff --git a/ports/kf5xmlgui/fix_static_resources.diff b/ports/kf5xmlgui/fix_static_resources.diff deleted file mode 100644 index ae8bcfaad5ef48..00000000000000 --- a/ports/kf5xmlgui/fix_static_resources.diff +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/src/kxmlguiclient.cpp b/src/kxmlguiclient.cpp -index a830ad0fa6b962654a0d1ebb161761a3afafb479..b2c9d0d21dce5f5d9ae4941ae4a909dfa9531155 100644 ---- a/src/kxmlguiclient.cpp -+++ b/src/kxmlguiclient.cpp -@@ -70,6 +70,8 @@ KXMLGUIClient::KXMLGUIClient() - KXMLGUIClient::KXMLGUIClient(KXMLGUIClient *parent) - : d(new KXMLGUIClientPrivate) - { -+ Q_INIT_RESOURCE(kxmlgui); -+ - parent->insertChildClient(this); - } - -diff --git a/src/kxmlguifactory.cpp b/src/kxmlguifactory.cpp -index fc453cb2598dd36f8212cbccb3d4e777ffca4480..5c8dbda2b5700144e9aaf96f877615f874292640 100644 ---- a/src/kxmlguifactory.cpp -+++ b/src/kxmlguifactory.cpp -@@ -172,6 +172,8 @@ KXMLGUIFactory::KXMLGUIFactory(KXMLGUIBuilder *builder, QObject *parent) - : QObject(parent) - , d(new KXMLGUIFactoryPrivate) - { -+ Q_INIT_RESOURCE(kxmlgui); -+ - d->builder = builder; - d->guiClient = nullptr; - if (d->builder) { diff --git a/ports/kf5xmlgui/portfile.cmake b/ports/kf5xmlgui/portfile.cmake index 707d93ea80135f..3142785dbe8e63 100644 --- a/ports/kf5xmlgui/portfile.cmake +++ b/ports/kf5xmlgui/portfile.cmake @@ -1,13 +1,9 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KDE/kxmlgui - REF v5.84.0 - SHA512 39657ec545c1463cadec719e7c6dc546fb6d1804b5c2b86904bfffd01be173c3ead1533ec33f749343f5575785394fe659ca0be51af706911e5176d485ef7f20 + REF v5.98.0 + SHA512 a1dcbe8ba1b5a227e3fed07933cdfa26557a10cce3beaf41fde0a9ac4808dd17882ad6362fc4108bc6c3953ed58375dd71a3afa4cac445a798acae8b4eac56e4 HEAD_REF master - PATCHES - remove_explicit_shared_argument.patch # https://invent.kde.org/frameworks/kxmlgui/-/commit/d12e8f6266188ce7e221dc014a56071b8a5ef706 - add_support_for_static_builds.patch # https://invent.kde.org/frameworks/kxmlgui/-/commit/2f1b948ad690942d4ec208c5676c11218f29181a - fix_static_resources.diff # https://invent.kde.org/frameworks/kxmlgui/-/merge_requests/77 ) vcpkg_check_features( @@ -17,11 +13,11 @@ vcpkg_check_features( ) # Prevent KDEClangFormat from writing to source effectively blocking parallel configure -file(WRITE ${SOURCE_PATH}/.clang-format "DisableFormat: true\nSortIncludes: false\n") +file(WRITE "${SOURCE_PATH}/.clang-format" "DisableFormat: true\nSortIncludes: false\n") vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - OPTIONS + OPTIONS -DBUILD_TESTING=OFF -DKDE_INSTALL_PLUGINDIR=plugins -DKDE_INSTALL_QTPLUGINDIR=plugins @@ -39,10 +35,13 @@ if (VCPKG_TARGET_IS_WINDOWS) ) endif() -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") +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") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -file(INSTALL "${SOURCE_PATH}/LICENSES/" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright") \ No newline at end of file + +file(GLOB LICENSE_FILES "${SOURCE_PATH}/LICENSES/*") +vcpkg_install_copyright(FILE_LIST ${LICENSE_FILES}) + diff --git a/ports/kf5xmlgui/remove_explicit_shared_argument.patch b/ports/kf5xmlgui/remove_explicit_shared_argument.patch deleted file mode 100644 index 9d70ea3dbdd24e..00000000000000 --- a/ports/kf5xmlgui/remove_explicit_shared_argument.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 2fac31b7..2f4fc881 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -1,6 +1,6 @@ - add_subdirectory(ksendbugmail) - --add_library(KF5XmlGui SHARED) -+add_library(KF5XmlGui) - add_library(KF5::XmlGui ALIAS KF5XmlGui) - - if (HAVE_GLOBALACCEL) --- -GitLab - diff --git a/ports/kf5xmlgui/vcpkg.json b/ports/kf5xmlgui/vcpkg.json index 85ccdcae09ae56..6de89bf33ef931 100644 --- a/ports/kf5xmlgui/vcpkg.json +++ b/ports/kf5xmlgui/vcpkg.json @@ -1,7 +1,6 @@ { "name": "kf5xmlgui", - "version": "5.84.0", - "port-version": 1, + "version": "5.98.0", "description": "Framework for managing menu and toolbar actions", "homepage": "https://api.kde.org/frameworks/kxmlgui/html/index.html", "dependencies": [ diff --git a/ports/kfr/portfile.cmake b/ports/kfr/portfile.cmake index ca8f4a0fd7b8a0..3446bd77450b56 100644 --- a/ports/kfr/portfile.cmake +++ b/ports/kfr/portfile.cmake @@ -1,35 +1,35 @@ -vcpkg_fail_port_install(ON_ARCH "arm" ON_TARGET "Linux") - vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO kfrlib/kfr - REF 9fc73247f43b303617329294ae264613df4dce71 # 4.2.1 - SHA512 c7dd4b1a0be436460973fb8a48bc6f2264a0f7d8d034ce88ccfd8328135f1492eab155023103a1461c2058eb6c79a6019b62d023dc5bc390ab4d2b43eac9c2d4 + REF "${VERSION}" + SHA512 90ae299b1d3b9cc73de665f7c5ace757978b95d1546a4b00383a1a677ecfcd56698ea80e7bf7367e3f169238fff6391ee1f2a3558cfba7cc11c762cc3fbb3292 HEAD_REF master ) vcpkg_check_features( OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES - capi ENABLE_CAPI_BUILD - dft ENABLE_DFT - dft-np ENABLE_DFT_NP + capi KFR_ENABLE_CAPI_BUILD + dft KFR_ENABLE_DFT ) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DENABLE_TESTS=OFF - -DENABLE_ASMTEST=OFF - -DREGENERATE_TESTS=OFF + -DENABLE_EXAMPLES=OFF + -DKFR_ENABLE_ASMTEST=OFF + -DKFR_REGENERATE_TESTS=OFF -DKFR_EXTENDED_TESTS=OFF - -DSKIP_TESTS=ON + -DKFR_SKIP_TESTS=ON ${FEATURE_OPTIONS} ) 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 ecf2ac02d0f308..4fb8d8d215c96e 100644 --- a/ports/kfr/vcpkg.json +++ b/ports/kfr/vcpkg.json @@ -1,14 +1,18 @@ { "name": "kfr", - "version-semver": "4.2.1", + "version-semver": "6.0.2", "description": "Fast, modern C++ DSP framework.", "homepage": "https://www.kfr.dev/", "license": "GPL-2.0", - "supports": "!(arm | linux)", + "supports": "!(arm | linux | xbox)", "dependencies": [ { "name": "vcpkg-cmake", "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true } ], "features": { @@ -26,9 +30,6 @@ }, "dft": { "description": "Enable DFT and related algorithms." - }, - "dft-np": { - "description": "Enable non-power of 2 DFT." } } } diff --git a/ports/kinectsdk1/Config.cmake.in b/ports/kinectsdk1/Config.cmake.in new file mode 100644 index 00000000000000..37b7a133ab306b --- /dev/null +++ b/ports/kinectsdk1/Config.cmake.in @@ -0,0 +1,33 @@ + +get_filename_component(_kinectsdk1_root "${CMAKE_CURRENT_LIST_FILE}" PATH) +get_filename_component(_kinectsdk1_root "${_kinectsdk1_root}" PATH) +get_filename_component(_kinectsdk1_root "${_kinectsdk1_root}" PATH) + +set(_kinectsdk1_rel_lib "${_kinectsdk1_root}/lib/Kinect10.lib") +set(_kinectsdk1_dbg_lib "${_kinectsdk1_root}/debug/lib/Kinect10.lib") +if (EXISTS "${_kinectsdk1_rel_lib}" OR EXISTS "${_kinectsdk1_dbg_lib}") + + add_library(unofficial::kinectsdk1::kinectsdk1 INTERFACE IMPORTED) + set_target_properties(unofficial::kinectsdk1::kinectsdk1 PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${_kinectsdk1_root}/include") + + if (EXISTS "${_kinectsdk1_rel_lib}") + set_target_properties(unofficial::kinectsdk1::kinectsdk1 + PROPERTIES IMPORTED_LOCATION_RELEASE "${_kinectsdk1_rel_lib}") + set_property(TARGET unofficial::kinectsdk1::kinectsdk1 APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) + endif() + if (EXISTS "${_kinectsdk1_dbg_lib}") + set_target_properties(unofficial::kinectsdk1::kinectsdk1 + PROPERTIES IMPORTED_LOCATION_DEBUG "${_kinectsdk1_dbg_lib}") + set_property(TARGET unofficial::kinectsdk1::kinectsdk1 APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG) + endif() + +else() + + set(kinectsdk1_FOUND FALSE) + +endif() + +unset(_kinectsdk1_rel_lib) +unset(_kinectsdk1_dbg_lib) + +unset(_kinectsdk1_root) diff --git a/ports/kinectsdk1/portfile.cmake b/ports/kinectsdk1/portfile.cmake index adcb82a524126a..254b24111cb575 100644 --- a/ports/kinectsdk1/portfile.cmake +++ b/ports/kinectsdk1/portfile.cmake @@ -1,6 +1,13 @@ -vcpkg_fail_port_install(ON_ARCH "arm") - set(KINECTSDK10_VERSION "v1.8") + +if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + set(ARCHITECTURE x86) +elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + set(ARCHITECTURE amd64) +else() + message(FATAL_ERROR "This port does not currently support architecture: ${VCPKG_TARGET_ARCHITECTURE}") +endif() + vcpkg_download_distfile(KINECTSDK10_INSTALLER URLS "https://download.microsoft.com/download/E/1/D/E1DEC243-0389-4A23-87BF-F47DE869FC1A/KinectSDK-${KINECTSDK10_VERSION}-Setup.exe" FILENAME "KinectSDK-${KINECTSDK10_VERSION}-Setup.exe" @@ -12,23 +19,22 @@ vcpkg_find_acquire_program(DARK) set(KINECTSDK10_WIX_INSTALLER "${KINECTSDK10_INSTALLER}") set(KINECTSDK10_WIX_EXTRACT_DIR "${CURRENT_BUILDTREES_DIR}/src/installer/wix") vcpkg_execute_required_process( - COMMAND ${DARK} -x ${KINECTSDK10_WIX_EXTRACT_DIR} ${KINECTSDK10_WIX_INSTALLER} + COMMAND "${DARK}" -x "${KINECTSDK10_WIX_EXTRACT_DIR}" "${KINECTSDK10_WIX_INSTALLER}" WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR} - LOGNAME extract_wix_installer + LOGNAME extract-wix-${TARGET_TRIPLET} ) -file(TO_NATIVE_PATH "${KINECTSDK10_WIX_EXTRACT_DIR}/AttachedContainer/KinectSDK-${KINECTSDK10_VERSION}-${VCPKG_TARGET_ARCHITECTURE}.msi" KINECTSDK10_MSI_INSTALLER) -file(TO_NATIVE_PATH "${CURRENT_BUILDTREES_DIR}/src/installer/msi/${VCPKG_TARGET_ARCHITECTURE}" KINECTSDK10_MSI_EXTRACT_DIR) -file(TO_NATIVE_PATH "${CURRENT_BUILDTREES_DIR}/msiexec.log" MSIEXEC_LOG_PATH) -set(BATCH_FILE ${CURRENT_BUILDTREES_DIR}/msiextract-msmpi.bat) -file(WRITE ${BATCH_FILE} "msiexec.exe /a \"${KINECTSDK10_MSI_INSTALLER}\" /qn /log \"${MSIEXEC_LOG_PATH}\" TARGETDIR=\"${KINECTSDK10_MSI_EXTRACT_DIR}\"") +file(REMOVE_RECURSE "${CURRENT_BUILDTREES_DIR}/src/KinectSDK-${KINECTSDK10_VERSION}-${VCPKG_TARGET_ARCHITECTURE}") +set(KINECTSDK10_MSI_INSTALLER "installer\\wix\\AttachedContainer\\KinectSDK-${KINECTSDK10_VERSION}-${VCPKG_TARGET_ARCHITECTURE}.msi") vcpkg_execute_required_process( - COMMAND ${BATCH_FILE} - WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR} - LOGNAME extract_msi_installer_${VCPKG_TARGET_ARCHITECTURE} + COMMAND + "${LESSMSI}" + x + "${KINECTSDK10_MSI_INSTALLER}" + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/src" + LOGNAME extract-msi-${TARGET_TRIPLET} ) - -set(KINECTSDK10_DIR "${CURRENT_BUILDTREES_DIR}/src/installer/msi/${VCPKG_TARGET_ARCHITECTURE}/Microsoft SDKs/Kinect/${KINECTSDK10_VERSION}") +set(KINECTSDK10_DIR "${CURRENT_BUILDTREES_DIR}/src/KinectSDK-${KINECTSDK10_VERSION}-${VCPKG_TARGET_ARCHITECTURE}/SourceDir/Microsoft SDKs/Kinect/${KINECTSDK10_VERSION}") file( INSTALL @@ -37,30 +43,24 @@ file( "${KINECTSDK10_DIR}/inc/NuiSensor.h" "${KINECTSDK10_DIR}/inc/NuiSkeleton.h" DESTINATION - ${CURRENT_PACKAGES_DIR}/include + "${CURRENT_PACKAGES_DIR}/include" ) -if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") - set(ARCHITECTURE x86) -elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") - set(ARCHITECTURE amd64) -else() - message(FATAL_ERROR "This port does not currently support architecture: ${VCPKG_TARGET_ARCHITECTURE}") -endif() - file( INSTALL "${KINECTSDK10_DIR}/lib/${ARCHITECTURE}/Kinect10.lib" DESTINATION - ${CURRENT_PACKAGES_DIR}/lib + "${CURRENT_PACKAGES_DIR}/lib" ) file( INSTALL "${KINECTSDK10_DIR}/lib/${ARCHITECTURE}/Kinect10.lib" DESTINATION - ${CURRENT_PACKAGES_DIR}/debug/lib + "${CURRENT_PACKAGES_DIR}/debug/lib" ) +configure_file("${CMAKE_CURRENT_LIST_DIR}/Config.cmake.in" "${CURRENT_PACKAGES_DIR}/share/unofficial-${PORT}/unofficial-${PORT}-config.cmake" @ONLY) + # Handle copyright -file(INSTALL ${KINECTSDK10_DIR}/SDKEula.rtf DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) \ No newline at end of file +file(INSTALL "${KINECTSDK10_DIR}/SDKEula.rtf" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/kinectsdk1/vcpkg.json b/ports/kinectsdk1/vcpkg.json index 230677a2552107..c2bba67270f596 100644 --- a/ports/kinectsdk1/vcpkg.json +++ b/ports/kinectsdk1/vcpkg.json @@ -1,7 +1,15 @@ { "name": "kinectsdk1", - "version-string": "1.8", - "port-version": 3, + "version": "1.8", + "port-version": 8, "description": "Kinect for Windows SDK for Kinect v1 sensor.", - "supports": "!arm" + "license": null, + "supports": "!arm & windows & !uwp & !xbox", + "dependencies": [ + { + "name": "vcpkg-tool-lessmsi", + "host": true, + "version>=": "1.10.0#1" + } + ] } diff --git a/ports/kinectsdk2/Config.cmake.in b/ports/kinectsdk2/Config.cmake.in new file mode 100644 index 00000000000000..04291aa0969e28 --- /dev/null +++ b/ports/kinectsdk2/Config.cmake.in @@ -0,0 +1,33 @@ + +get_filename_component(_kinectsdk2_root "${CMAKE_CURRENT_LIST_FILE}" PATH) +get_filename_component(_kinectsdk2_root "${_kinectsdk2_root}" PATH) +get_filename_component(_kinectsdk2_root "${_kinectsdk2_root}" PATH) + +set(_kinectsdk2_rel_lib "${_kinectsdk2_root}/lib/Kinect20.lib") +set(_kinectsdk2_dbg_lib "${_kinectsdk2_root}/debug/lib/Kinect20.lib") +if (EXISTS "${_kinectsdk2_rel_lib}" OR EXISTS "${_kinectsdk2_dbg_lib}") + + add_library(unofficial::kinectsdk2::kinectsdk2 INTERFACE IMPORTED) + set_target_properties(unofficial::kinectsdk2::kinectsdk2 PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${_kinectsdk2_root}/include") + + if (EXISTS "${_kinectsdk2_rel_lib}") + set_target_properties(unofficial::kinectsdk2::kinectsdk2 + PROPERTIES IMPORTED_LOCATION_RELEASE "${_kinectsdk2_rel_lib}") + set_property(TARGET unofficial::kinectsdk2::kinectsdk2 APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) + endif() + if (EXISTS "${_kinectsdk2_dbg_lib}") + set_target_properties(unofficial::kinectsdk2::kinectsdk2 + PROPERTIES IMPORTED_LOCATION_DEBUG "${_kinectsdk2_dbg_lib}") + set_property(TARGET unofficial::kinectsdk2::kinectsdk2 APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG) + endif() + +else() + + set(kinectsdk2_FOUND FALSE) + +endif() + +unset(_kinectsdk2_rel_lib) +unset(_kinectsdk2_dbg_lib) + +unset(_kinectsdk2_root) diff --git a/ports/kinectsdk2/portfile.cmake b/ports/kinectsdk2/portfile.cmake index 3ed2101721a0ab..4ddb8cde717353 100644 --- a/ports/kinectsdk2/portfile.cmake +++ b/ports/kinectsdk2/portfile.cmake @@ -1,9 +1,5 @@ vcpkg_buildpath_length_warning(37) -if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") - message(FATAL_ERROR "This port does not currently support architecture: ${VCPKG_TARGET_ARCHITECTURE}") -endif() - set(KINECTSDK20_VERSION "v2.0_1409") vcpkg_download_distfile(KINECTSDK20_INSTALLER URLS "https://download.microsoft.com/download/F/2/D/F2D1012E-3BC6-49C5-B8B3-5ACFF58AF7B8/KinectSDK-${KINECTSDK20_VERSION}-Setup.exe" @@ -18,43 +14,43 @@ set(KINECTSDK20_WIX_EXTRACT_DIR "${CURRENT_BUILDTREES_DIR}/src/installer/wix") vcpkg_execute_required_process( COMMAND ${DARK} -x ${KINECTSDK20_WIX_EXTRACT_DIR} ${KINECTSDK20_WIX_INSTALLER} WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR} - LOGNAME extract_wix_installer + LOGNAME extract-wix-${TARGET_TRIPLET} ) -file(TO_NATIVE_PATH "${KINECTSDK20_WIX_EXTRACT_DIR}/AttachedContainer/KinectSDK-${KINECTSDK20_VERSION}-x64.msi" KINECTSDK20_MSI_INSTALLER) -file(TO_NATIVE_PATH "${CURRENT_BUILDTREES_DIR}/src/installer/msi" KINECTSDK20_MSI_EXTRACT_DIR) -file(TO_NATIVE_PATH "${CURRENT_BUILDTREES_DIR}/msiexec.log" MSIEXEC_LOG_PATH) -set(BATCH_FILE ${CURRENT_BUILDTREES_DIR}/msiextract-msmpi.bat) -file(WRITE ${BATCH_FILE} "msiexec.exe /a \"${KINECTSDK20_MSI_INSTALLER}\" /qn /log \"${MSIEXEC_LOG_PATH}\" TARGETDIR=\"${KINECTSDK20_MSI_EXTRACT_DIR}\"") +file(REMOVE_RECURSE "${CURRENT_BUILDTREES_DIR}/src/KinectSDK-${KINECTSDK20_VERSION}-x64") +set(KINECTSDK20_MSI_INSTALLER "installer\\wix\\AttachedContainer\\KinectSDK-${KINECTSDK20_VERSION}-x64.msi") vcpkg_execute_required_process( - COMMAND ${BATCH_FILE} - WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR} - LOGNAME extract_msi_installer + COMMAND + "${LESSMSI}" + x + "${KINECTSDK20_MSI_INSTALLER}" + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/src" + LOGNAME extract-msi-${TARGET_TRIPLET} ) - -set(KINECTSDK20_DIR "${CURRENT_BUILDTREES_DIR}/src/installer/msi/Microsoft SDKs/Kinect/${KINECTSDK20_VERSION}") +set(KINECTSDK20_DIR "${CURRENT_BUILDTREES_DIR}/src/KinectSDK-${KINECTSDK20_VERSION}-x64/SourceDir/Microsoft SDKs/Kinect/${KINECTSDK20_VERSION}") file( INSTALL "${KINECTSDK20_DIR}/inc/" DESTINATION - ${CURRENT_PACKAGES_DIR}/include + "${CURRENT_PACKAGES_DIR}/include" ) file( INSTALL "${KINECTSDK20_DIR}/Lib/${VCPKG_TARGET_ARCHITECTURE}/Kinect20.lib" DESTINATION - ${CURRENT_PACKAGES_DIR}/lib + "${CURRENT_PACKAGES_DIR}/lib" ) file( INSTALL "${KINECTSDK20_DIR}/Lib/${VCPKG_TARGET_ARCHITECTURE}/Kinect20.lib" DESTINATION - ${CURRENT_PACKAGES_DIR}/debug/lib + "${CURRENT_PACKAGES_DIR}/debug/lib" ) +configure_file("${CMAKE_CURRENT_LIST_DIR}/Config.cmake.in" "${CURRENT_PACKAGES_DIR}/share/unofficial-${PORT}/unofficial-${PORT}-config.cmake" @ONLY) + # Handle copyright -file(COPY "${KINECTSDK20_DIR}/SDKEula.rtf" DESTINATION ${CURRENT_PACKAGES_DIR}/share/kinectsdk2) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/kinectsdk2/SDKEula.rtf ${CURRENT_PACKAGES_DIR}/share/kinectsdk2/copyright) +file(INSTALL "${KINECTSDK20_DIR}/SDKEula.rtf" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/kinectsdk2/vcpkg.json b/ports/kinectsdk2/vcpkg.json index 5b065d28f6a6e2..4fa73a4d9eaaa0 100644 --- a/ports/kinectsdk2/vcpkg.json +++ b/ports/kinectsdk2/vcpkg.json @@ -1,7 +1,15 @@ { "name": "kinectsdk2", - "version-string": "2.0", - "port-version": 3, + "version": "2.0", + "port-version": 7, "description": "Kinect for Windows SDK for Kinect v2 sensor.", - "supports": "!arm" + "license": null, + "supports": "!arm & windows & !uwp & !xbox", + "dependencies": [ + { + "name": "vcpkg-tool-lessmsi", + "host": true, + "version>=": "1.10.0#1" + } + ] } diff --git a/ports/kissfft/CMakeLists.txt b/ports/kissfft/CMakeLists.txt deleted file mode 100644 index d209dfbb04bafd..00000000000000 --- a/ports/kissfft/CMakeLists.txt +++ /dev/null @@ -1,68 +0,0 @@ -cmake_minimum_required(VERSION 3.14) - -project(kissfft LANGUAGES C) - -include(GNUInstallDirs) - -option(KF_USE_SIMD "Use SIMD" OFF) -option(KF_INSTALL_HEADERS "Install header files" ON) - -if (KF_USE_SIMD) - set(KF_SCALAR_TYPE "__m128" CACHE STRING "Definition of kiss_fft_scalar") -else () - set(KF_SCALAR_TYPE "float" CACHE STRING "Definition of kiss_fft_scalar") -endif () - -# TODO: FIXED_POINT -# TODO: -msse - -set(kissfft_sources kiss_fft.c kiss_fftr.c kiss_fftnd.c kiss_fftndr.c) - -if (WIN32 AND BUILD_SHARED_LIBS) - list(APPEND kissfft_sources exports.def) -endif () - -add_library(kissfft ${kissfft_sources}) - -if (BUILD_SHARED_LIBS) - set_property( - TARGET kissfft - PROPERTY POSITION_INDEPENDENT_CODE ON - ) -endif () - -target_include_directories( - kissfft - PUBLIC - $ -) - -target_compile_definitions( - kissfft - PUBLIC - $<$:USE_SIMD> - kiss_fft_scalar=${KF_SCALAR_TYPE} -) - -if (KF_INSTALL_HEADERS) - install( - FILES - _kiss_fft_guts.h - kiss_fft.h - kiss_fftr.h - kiss_fftnd.h - kiss_fftndr.h - kissfft.hh - kissfft_i32.hh - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} - ) -endif () - -install(TARGETS kissfft EXPORT unofficial-kissfft-config) - -install( - EXPORT unofficial-kissfft-config - NAMESPACE unofficial::kissfft:: - DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/unofficial-kissfft - PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ -) diff --git a/ports/kissfft/exports.def b/ports/kissfft/exports.def deleted file mode 100644 index 53984a6fe00e7c..00000000000000 --- a/ports/kissfft/exports.def +++ /dev/null @@ -1,15 +0,0 @@ -EXPORTS - kiss_fft_alloc - kiss_fft - kiss_fftr_alloc - kiss_fftr - kiss_fftri - kiss_fft - kiss_fftnd_alloc - kiss_fftnd - kiss_fftndr_alloc - kiss_fftndr - kiss_fftndri - kiss_fft_stride - kiss_fft_cleanup - kiss_fft_next_fast_size diff --git a/ports/kissfft/fix-install-dirs.patch b/ports/kissfft/fix-install-dirs.patch new file mode 100644 index 00000000000000..f9c1bfd49193c3 --- /dev/null +++ b/ports/kissfft/fix-install-dirs.patch @@ -0,0 +1,15 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 0213798..c4d7d3e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -105,9 +105,7 @@ endif() + # Add GNUInstallDirs for GNU infrastructure before target)include_directories + # + +-if(CMAKE_SYSTEM_NAME MATCHES "^(Linux|kFreeBSD|GNU)$" AND NOT CMAKE_CROSSCOMPILING) +- include(GNUInstallDirs) +-endif() ++include(GNUInstallDirs) + + # + # Declare PKGINCLUDEDIR for kissfft include path diff --git a/ports/kissfft/fix-linkage.patch b/ports/kissfft/fix-linkage.patch new file mode 100644 index 00000000000000..9e91f5fb32256b --- /dev/null +++ b/ports/kissfft/fix-linkage.patch @@ -0,0 +1,13 @@ +diff --git a/kissfft-config.cmake.in b/kissfft-config.cmake.in +index cd7139a..c387fe6 100644 +--- a/kissfft-config.cmake.in ++++ b/kissfft-config.cmake.in +@@ -28,7 +28,7 @@ cmake_minimum_required(VERSION 3.3) + + # Set include glob of config files using SHARED/static component, BUILD_SHARED_LIBS by default + set(_kissfft_shared_detected OFF) +-set(_kissfft_shared ${BUILD_SHARED_LIBS}) ++set(_kissfft_shared @BUILD_SHARED_LIBS@) + if("SHARED" IN_LIST kissfft_FIND_COMPONENTS) + set(_kissfft_shared_detected ON) + set(_kissfft_shared ON) diff --git a/ports/kissfft/portfile.cmake b/ports/kissfft/portfile.cmake index ccb77514b736b6..9372b9e8b2c16c 100644 --- a/ports/kissfft/portfile.cmake +++ b/ports/kissfft/portfile.cmake @@ -1,28 +1,90 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO mborgerding/kissfft - REF 8f47a67f595a6641c566087bf5277034be64f24d - SHA512 ae39438b6d029296a440e1421f30731f371364107744fe9bad68e835e939f9a06d63016a99f5395a490ee0b1b1c33d46faafc651d91f13b8733d366e04dc861a + REF "${VERSION}" + SHA512 bd715868ce0e93a291a0592fb1f8b960e832fc64efe863755e52b67d5addff9bcb444a1bf2570d1914c52b41dad1023d0d86400f5ea30c9fb84cd6b4f7210708 HEAD_REF master + PATCHES + fix-install-dirs.patch + fix-linkage.patch ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/exports.def DESTINATION ${SOURCE_PATH}) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" KISSFFT_STATIC) -vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} - OPTIONS_DEBUG - -DKF_INSTALL_HEADERS=OFF - OPTIONS_RELEASE - -DKF_INSTALL_HEADERS=ON +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + openmp KISSFFT_OPENMP + tools KISSFFT_TOOLS ) -vcpkg_cmake_install() -vcpkg_copy_pdbs() +if("tools" IN_LIST FEATURES) + vcpkg_find_acquire_program(PKGCONFIG) +endif() -vcpkg_cmake_config_fixup( - PACKAGE_NAME unofficial-${PORT} - CONFIG_PATH lib/cmake/unofficial-${PORT} -) +set(datatypes float double int16_t int32_t) + +foreach(datatype IN LISTS datatypes) + vcpkg_cmake_configure( + SOURCE_PATH ${SOURCE_PATH} + OPTIONS + -DKISSFFT_DATATYPE=${datatype} + -DKISSFFT_PKGCONFIG=ON + -DKISSFFT_TEST=OFF + -DKISSFFT_STATIC=${KISSFFT_STATIC} + ${FEATURE_OPTIONS} + LOGFILE_BASE "config-${TARGET_TRIPLET}-${datatype}" + ) + + vcpkg_cmake_build( + LOGFILE_BASE "install-${TARGET_TRIPLET}-${datatype}" + TARGET install + ) + + vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/kissfft") + + vcpkg_copy_pdbs() +endforeach() + +vcpkg_fixup_pkgconfig() + +if("tools" IN_LIST FEATURES) + set(tool_names) + + foreach(datatype IN LISTS datatypes) + if("openmp" IN_LIST FEATURES) + list(APPEND tool_names + "fastconv-${datatype}-openmp" + "fastconvr-${datatype}-openmp" + "fft-${datatype}-openmp" + "psdpng-${datatype}-openmp" + ) + else() + list(APPEND tool_names + "fastconv-${datatype}" + "fastconvr-${datatype}" + "fft-${datatype}" + "psdpng-${datatype}" + ) + endif() + endforeach() + + vcpkg_copy_tools( + TOOL_NAMES ${tool_names} + AUTO_CLEAN + ) +endif() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + vcpkg_replace_string( + "${CURRENT_PACKAGES_DIR}/include/kissfft/kiss_fft.h" + "#ifdef KISS_FFT_SHARED" + "#if 1 //#ifdef KISS_FFT_SHARED" + ) +endif() + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/kissfft") -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/kissfft/usage b/ports/kissfft/usage new file mode 100644 index 00000000000000..d803db852689c8 --- /dev/null +++ b/ports/kissfft/usage @@ -0,0 +1,11 @@ +kissfft provides CMake targets: + + # Using distinct targets + find_package(kissfft CONFIG REQUIRED) + target_link_libraries(main PRIVATE kissfft::kissfft-float) + # Alternative targets: kissfft::kissfft-double, kissfft::int16_t, kissfft::int32_t + + # Using a distinct package component + find_package(kissfft CONFIG REQUIRED COMPONENTS float) + target_link_libraries(main PRIVATE kissfft::kissfft) + # Alternative components: double, int16_t, int32_t diff --git a/ports/kissfft/vcpkg.json b/ports/kissfft/vcpkg.json index 48e6b5c19c8b12..932d5e984a7fa3 100644 --- a/ports/kissfft/vcpkg.json +++ b/ports/kissfft/vcpkg.json @@ -1,8 +1,9 @@ { "name": "kissfft", - "version-date": "2021-11-14", + "version": "131.1.0", "description": "A Fast Fourier Transform (FFT) library that tries to Keep it Simple, Stupid", "homepage": "https://github.com/mborgerding/kissfft", + "license": "BSD-3-Clause", "dependencies": [ { "name": "vcpkg-cmake", @@ -12,5 +13,18 @@ "name": "vcpkg-cmake-config", "host": true } - ] + ], + "features": { + "openmp": { + "description": "Build kissfft with OpenMP support", + "supports": "!windows" + }, + "tools": { + "description": "Build kissfft tools", + "supports": "linux | osx", + "dependencies": [ + "libpng" + ] + } + } } diff --git a/ports/kissnet/portfile.cmake b/ports/kissnet/portfile.cmake new file mode 100644 index 00000000000000..8ae1c708890a46 --- /dev/null +++ b/ports/kissnet/portfile.cmake @@ -0,0 +1,14 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Ybalrid/kissnet + REF 12ea4c632cc719b608876bf1894ce96eea0a1174 # 2024-01-20 + SHA512 44f169c912cfa00bcc6132dfbd62a4d3d40bb70db92ba69b21a76e32eb8b4363f17c6eb1413974af55f4fcfbafbf32cc98e6ac147e46bad8cf7c691016a30bdb + HEAD_REF master +) + +# Install the header-only library +file(INSTALL "${SOURCE_PATH}/kissnet.hpp" + DESTINATION "${CURRENT_PACKAGES_DIR}/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}") diff --git a/ports/kissnet/usage b/ports/kissnet/usage new file mode 100644 index 00000000000000..0d042ded0eda3e --- /dev/null +++ b/ports/kissnet/usage @@ -0,0 +1,4 @@ +The package kissnet is header only and can be used from CMake via: + + find_path(KISSNET_INCLUDE_DIRS "kissnet.hpp") + target_include_directories(main PRIVATE ${KISSNET_INCLUDE_DIRS}) \ No newline at end of file diff --git a/ports/kissnet/vcpkg.json b/ports/kissnet/vcpkg.json new file mode 100644 index 00000000000000..af0dc0a0b73b7f --- /dev/null +++ b/ports/kissnet/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "kissnet", + "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", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/knet/portfile.cmake b/ports/knet/portfile.cmake index 73e97179b62d93..d3330ad118d663 100644 --- a/ports/knet/portfile.cmake +++ b/ports/knet/portfile.cmake @@ -1,5 +1,3 @@ -vcpkg_fail_port_install(ON_ARCH "arm" ON_TARGET "uwp") - vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( diff --git a/ports/knet/vcpkg.json b/ports/knet/vcpkg.json index dfad9b2c133a15..a5a5c2411c7adb 100644 --- a/ports/knet/vcpkg.json +++ b/ports/knet/vcpkg.json @@ -1,6 +1,7 @@ { "name": "knet", "version": "1.1.0", + "port-version": 1, "description": "A cross platform lock-free and timer-supported C++11 network library.", "homepage": "https://github.com/kibaamor/knet", "license": "MIT", diff --git a/ports/krabsetw/portfile.cmake b/ports/krabsetw/portfile.cmake index 7dcb2c7fb7c63c..f99dc5b73471a7 100644 --- a/ports/krabsetw/portfile.cmake +++ b/ports/krabsetw/portfile.cmake @@ -1,12 +1,8 @@ -# Header-only library - -vcpkg_fail_port_install(ON_TARGET "UWP" "LINUX" "OSX" "FREEBSD" "ANDROID" "MINGW") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO microsoft/krabsetw - REF 31679cf84bc85360158672699f2f68a821e8a6d0 - SHA512 4fcc4ee1c41c6d40770a5b57111e6fd29eedf1f4a29038ab1dfb8bffb3ad0464c4ec06b90b65fabadcd419564d55172d4d9fdc3750c1898545f7c6e00fbe99c8 + REF 550f5edfdb6464567d7a618702316183d31746e5 + SHA512 0e02e04b79d4f856962c135023b87057898cb9a05f8056e0dc2bca7c4bb6227a660097f5251134086d1334f2a8e1541b4e963667ccd4f5c5ed6d60aa32c2c968 HEAD_REF master ) diff --git a/ports/krabsetw/vcpkg.json b/ports/krabsetw/vcpkg.json index 93749378612ebf..b5808373aa37c3 100644 --- a/ports/krabsetw/vcpkg.json +++ b/ports/krabsetw/vcpkg.json @@ -1,6 +1,6 @@ { "name": "krabsetw", - "version-string": "4.1.18", + "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..59b05c44c2b5a6 --- /dev/null +++ b/ports/krb5/portfile.cmake @@ -0,0 +1,115 @@ +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() + +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..689b74a9eb09e1 --- /dev/null +++ b/ports/krb5/vcpkg.json @@ -0,0 +1,15 @@ +{ + "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json", + "name": "krb5", + "version": "1.21.3", + "port-version": 1, + "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)" +} 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 8dff4a59a9004e..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 0bdb708..356c160 100644 +index 9a56491..d7ca937 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -121,7 +121,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,40 +10,56 @@ index 0bdb708..356c160 100644 lib/checkheader.c lib/dfdutils/createdfd.c lib/dfdutils/colourspaces.c -@@ -227,7 +226,6 @@ macro(commom_lib_settings lib write) +@@ -532,7 +531,6 @@ macro(common_libktx_settings target enable_write library_type) $ - $ + $ - $ - $ - $ -@@ -309,6 +307,11 @@ macro(commom_lib_settings lib write) + $ + $ +@@ -627,6 +625,11 @@ macro(common_libktx_settings target enable_write library_type) + target_compile_definitions(${target} PUBLIC KTX_FEATURE_KTX2) endif() ++ # Use vcpkg zstd ++ find_package(zstd CONFIG REQUIRED) ++ set(ZSTD_LIBRARIES "$,zstd::libzstd_shared,zstd::libzstd_static>") ++ target_link_libraries(${target} PRIVATE ${ZSTD_LIBRARIES}) ++ if(WIN32) -+ find_package(zstd CONFIG REQUIRED) -+ target_link_libraries( -+ ${lib} -+ $,zstd::libzstd_shared,zstd::libzstd_static> -+ ) - # By wrapping in generator expression we force multi configuration generators (like Visual Studio) - # to take the exact path and not change it. - set(CMAKE_RUNTIME_OUTPUT_DIRECTORY $<1:${KTX_BUILD_DIR}/$>) + if(MINGW) + # Check if the Threads package is provided; if using Mingw it MIGHT be +diff --git a/cmake/KtxConfig.cmake b/cmake/KtxConfig.cmake +index 6386ba2..537bf4f 100644 +--- a/cmake/KtxConfig.cmake ++++ b/cmake/KtxConfig.cmake +@@ -1,7 +1,8 @@ + # Copyright 2015-2020 The Khronos Group Inc. + # SPDX-License-Identifier: Apache-2.0 + +-# include(CMakeFindDependencyMacro) +-# find_dependency() ++include(CMakeFindDependencyMacro) ++find_dependency(Threads) ++find_dependency(zstd CONFIG) + + include("${CMAKE_CURRENT_LIST_DIR}/KtxTargets.cmake") diff --git a/lib/basisu/CMakeLists.txt b/lib/basisu/CMakeLists.txt -index 78dd110..e155896 100644 +index 492233a..152ceb5 100644 --- a/lib/basisu/CMakeLists.txt +++ b/lib/basisu/CMakeLists.txt -@@ -118,7 +118,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) -@@ -137,6 +137,10 @@ else() + set(BIN_DIRECTORY "bin_osx") +@@ -165,6 +162,10 @@ else() target_compile_definitions(basisu PRIVATE BASISD_SUPPORT_KTX2_ZSTD=0) endif() @@ -52,57 +68,55 @@ index 78dd110..e155896 100644 +endif() + if (NOT MSVC) - target_link_libraries(basisu m pthread) - endif() + # 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 e365e1b..6e6a7a5 100644 +index 588d91b..a337b13 100644 --- a/lib/basisu/webgl/encoder/CMakeLists.txt +++ b/lib/basisu/webgl/encoder/CMakeLists.txt -@@ -36,9 +36,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) -@@ -58,6 +56,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..2e19ece 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) -@@ -44,7 +42,9 @@ 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/0003-mkversion.patch b/ports/ktx/0003-mkversion.patch new file mode 100644 index 00000000000000..ee8b3c4afb973a --- /dev/null +++ b/ports/ktx/0003-mkversion.patch @@ -0,0 +1,13 @@ +diff --git a/cmake/version.cmake b/cmake/version.cmake +index 9a90622..0fc3521 100644 +--- a/cmake/version.cmake ++++ b/cmake/version.cmake +@@ -176,7 +176,7 @@ function( create_version_header dest_path target ) + add_custom_command( + OUTPUT ${version_h_output} + # On Windows this command has to be invoked by a shell in order to work +- COMMAND ${BASH_EXECUTABLE} -c "\"./mkversion\" \"-o\" \"version.h\" \"${dest_path}\"" ++ COMMAND "${BASH_EXECUTABLE}" -- ./mkversion -o version.h "${dest_path}" + WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} + COMMENT "Generate ${version_h_output}" + VERBATIM diff --git a/ports/ktx/0004-quirks.patch b/ports/ktx/0004-quirks.patch new file mode 100644 index 00000000000000..afc34236dd99f8 --- /dev/null +++ b/ports/ktx/0004-quirks.patch @@ -0,0 +1,21 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1500844..810914e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -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> ) + # 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 ++ EXCLUDE_FROM_ALL + utils/argparser.cpp + utils/argparser.h + utils/ktxapp.h 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 8731a85b8928e9..b379ef0fb3b376 100644 --- a/ports/ktx/portfile.cmake +++ b/ports/ktx/portfile.cmake @@ -1,61 +1,62 @@ -vcpkg_fail_port_install(ON_TARGET "UWP" ON_ARCH "x86" "arm64") - -set(PORT_VERSION 4.0.0) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KhronosGroup/KTX-Software - REF v${PORT_VERSION} - SHA512 49787cf0230939ae0c737f6080ef483dd27ebd653c16525b469b078511ab72e85aecba9bffe71ed45ce1692e8448b845e60545c39f9333e6d216b20f56595faa + REF "v${VERSION}" + SHA512 0077315fe2b4e676e97e3a158c2c6e1f6ba426e14ad23342592cd69be28cfce64c40614e0a84d58a9634877ab334e713b94d4c962132c98bfea308e91bc8a98a HEAD_REF master - FILE_DISAMBIGUATOR 1 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") +vcpkg_list(SET OPTIONS) if(VCPKG_TARGET_IS_WINDOWS) vcpkg_acquire_msys(MSYS_ROOT PACKAGES bash DIRECT_PACKAGES # Required for "getopt" - "https://repo.msys2.org/msys/x86_64/util-linux-2.35.2-1-x86_64.pkg.tar.zst" - ff951c2cd96d0fda87bacb505c93e4aa1f9aeb35f829c52b5a7862d05e167f69605a4927a0e7197b5ee2b2fa5cb56619ad7a6ba293ede4765fdcacedf2ed35da - ) - vcpkg_add_to_path(${MSYS_ROOT}/usr/bin) - - file(REMOVE - "${SOURCE_PATH}/other_include/zstd.h" - "${SOURCE_PATH}/other_include/zstd_errors.h") + "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") endif() string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" ENABLE_STATIC) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES - tools KTX_FEATURE_TOOLS - vulkan KTX_FEATURE_VULKAN + tools KTX_FEATURE_TOOLS + vulkan KTX_FEATURE_VK_UPLOAD ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DKTX_VERSION_FULL=v${PORT_VERSION} + -DKTX_VERSION_FULL=v${VERSION} -DKTX_FEATURE_TESTS=OFF -DKTX_FEATURE_LOADTEST_APPS=OFF -DKTX_FEATURE_STATIC_LIBRARY=${ENABLE_STATIC} ${FEATURE_OPTIONS} + ${OPTIONS} + DISABLE_PARALLEL_CONFIGURE ) -vcpkg_install_cmake() - -vcpkg_copy_pdbs() +vcpkg_cmake_install() if(tools IN_LIST FEATURES) vcpkg_copy_tools( TOOL_NAMES + ktx toktx ktxsc ktxinfo @@ -63,15 +64,18 @@ if(tools IN_LIST FEATURES) ktx2check AUTO_CLEAN ) - vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT}) +else() + vcpkg_copy_pdbs() endif() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/ktx) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/ktx) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin") -configure_file("${SOURCE_PATH}/LICENSE.md" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") +endif() + file(GLOB LICENSE_FILES "${SOURCE_PATH}/LICENSES/*") -file(COPY ${LICENSE_FILES} DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}/LICENSES") \ No newline at end of file +file(COPY ${LICENSE_FILES} DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}/LICENSES") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.md") diff --git a/ports/ktx/vcpkg.json b/ports/ktx/vcpkg.json index ae905f55d89c46..94eea841c835eb 100644 --- a/ports/ktx/vcpkg.json +++ b/ports/ktx/vcpkg.json @@ -1,18 +1,36 @@ { "name": "ktx", - "version": "4.0.0", - "description": "A small library of functions for writing and reading KTX files, and instantiating OpenGL®, OpenGL ES™️ and Vulkan® textures from them", + "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." + ], "homepage": "https://github.com/KhronosGroup/KTX-Software", - "supports": "!(uwp | x86 | arm64)", + "license": null, + "supports": "arm64 | x64 | !windows", "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, "zstd" ], "features": { "tools": { - "description": "Build tools" + "description": "Build tools", + "supports": "!android & !uwp", + "dependencies": [ + "cxxopts", + "fmt" + ] }, "vulkan": { - "description": "Build Vulkan support" + "description": "Build Vulkan support", + "supports": "!emscripten" } } } diff --git a/ports/kubazip/fix_targets.patch b/ports/kubazip/fix_targets.patch index e5ffb86085cd78..fc0a11e8f11120 100644 --- a/ports/kubazip/fix_targets.patch +++ b/ports/kubazip/fix_targets.patch @@ -1,25 +1,16 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 55dfc77..f0182f9 100644 +index cf86d70..c2bc2f9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,6 @@ - cmake_minimum_required(VERSION 3.4) + cmake_minimum_required(VERSION 3.14) -project(zip +project(kubazip LANGUAGES C - VERSION "0.1.19") + VERSION "0.2.3") set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH}) -@@ -15,7 +15,7 @@ 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} -std=c99 -Wall -Wextra -Werror -pedantic") -+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c99 -Wall -Wextra -pedantic") - endif (MSVC) - - # zip -@@ -37,7 +37,7 @@ endif() +@@ -46,11 +46,11 @@ endif() target_include_directories(${PROJECT_NAME} PUBLIC $ @@ -28,25 +19,23 @@ index 55dfc77..f0182f9 100644 ) # test -@@ -52,7 +52,7 @@ endif() - # Installation (https://github.com/forexample/package-example) { +-if (NOT CMAKE_DISABLE_TESTING) ++if (0) + 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) + #### set(CONFIG_INSTALL_DIR "lib/cmake/${PROJECT_NAME}") -set(INCLUDE_INSTALL_DIR "include") +set(INCLUDE_INSTALL_DIR "include/${PROJECT_NAME}") set(GENERATED_DIR "${CMAKE_CURRENT_BINARY_DIR}/generated") -diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt -index 04c2123..002cf5a 100644 ---- a/test/CMakeLists.txt -+++ b/test/CMakeLists.txt -@@ -4,7 +4,7 @@ cmake_minimum_required(VERSION 3.4) - set(test_out test.out) - - add_executable(${test_out} test.c) --target_link_libraries(${test_out} zip) -+target_link_libraries(${test_out} kubazip) - - add_test(NAME ${test_out} COMMAND ${test_out}) - diff --git a/ports/kubazip/portfile.cmake b/ports/kubazip/portfile.cmake index ba2f488e0a9414..b7cba8bf6b8bdb 100644 --- a/ports/kubazip/portfile.cmake +++ b/ports/kubazip/portfile.cmake @@ -3,20 +3,19 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO kuba--/zip - REF 96924c94dabe362bbb1588aa70209e638e6fb35c - SHA512 bc3e9ecf39d54321314d09209f356a2491893591a016b1619abcdea8c1fb1fa8ba1f9858f4e758641df083ed237a2ec9f0af13e0f1d802502257644168ae8907 + REF "v${VERSION}" + SHA512 959805452f566b24ee78bc56794403733d19e86885a7f94581fca4218817a65ea4ea8b79457a452e0cc06992dc2165b3ff90360cec5f43cd8c0f934027ee9fd5 HEAD_REF master PATCHES fix_targets.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/kubazip) +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}/UNLICENSE") diff --git a/ports/kubazip/vcpkg.json b/ports/kubazip/vcpkg.json index 1eecb26ba311de..aee73b083b412d 100644 --- a/ports/kubazip/vcpkg.json +++ b/ports/kubazip/vcpkg.json @@ -1,7 +1,17 @@ { "name": "kubazip", - "version-string": "0.1.19", - "port-version": 1, + "version": "0.2.6", "description": "A portable, simple zip library written in C", - "homepage": "https://github.com/kuba--/zip" + "homepage": "https://github.com/kuba--/zip", + "license": "Unlicense", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/kubernetes/001-fix-destination.patch b/ports/kubernetes/001-fix-destination.patch index 00e7919d586c7c..9169ac3eeb67a3 100644 --- a/ports/kubernetes/001-fix-destination.patch +++ b/ports/kubernetes/001-fix-destination.patch @@ -1,11 +1,11 @@ diff --git a/kubernetes/CMakeLists.txt b/kubernetes/CMakeLists.txt ---- a/kubernetes/CMakeLists.txt (revision 6b98698c92c59d8c63815f74ed4183fc36cde37b) -+++ b/kubernetes/CMakeLists.txt (date 1632055519986) -@@ -1563,7 +1563,7 @@ - install(TARGETS ${pkgName} DESTINATION ${CMAKE_INSTALL_PREFIX}) +--- a/kubernetes/CMakeLists.txt (revision 80aff0a1c71c2cb8a1ab4b73e0592f0f88c59376) ++++ b/kubernetes/CMakeLists.txt (date 1642600807646) +@@ -1255,7 +1255,7 @@ + install(TARGETS ${pkgName} DESTINATION lib) else() include(GNUInstallDirs) -- install(TARGETS ${pkgName} DESTINATION ${CMAKE_INSTALL_PREFIX} EXPORT ${pkgName}Targets) +- install(TARGETS ${pkgName} DESTINATION lib EXPORT ${pkgName}Targets) + install(TARGETS ${pkgName} EXPORT ${pkgName}Targets) foreach(HDR_FILE ${HDRS}) diff --git a/ports/kubernetes/portfile.cmake b/ports/kubernetes/portfile.cmake index 8e9f36c9355b20..6b129449258b64 100644 --- a/ports/kubernetes/portfile.cmake +++ b/ports/kubernetes/portfile.cmake @@ -1,10 +1,8 @@ -vcpkg_fail_port_install(ON_TARGET "UWP") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO kubernetes-client/c - REF ecc9efc23656e747e97f86fbe2810f7e8471990f - SHA512 e9bb1b6f68aacd82df2b33fcb432fdfee5fb56e0426835f8480afff1c2545f483eb0f4edeafb2e866ea74918d748aa48655b5819909c13a88f693e371047e8b7 + REF "v${VERSION}" + SHA512 42f74f87a8e534a936ae3e7148375ddb350de753ec9514d139d87febb5c3355e7722aec0a5b745abad3ee9691fd7a139b81e2e2688102e72a61ed488320fe3f5 HEAD_REF master PATCHES 001-fix-destination.patch @@ -24,4 +22,4 @@ vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) vcpkg_copy_pdbs() -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/kubernetes/vcpkg.json b/ports/kubernetes/vcpkg.json index 351c86073acd13..3571902e0827ea 100644 --- a/ports/kubernetes/vcpkg.json +++ b/ports/kubernetes/vcpkg.json @@ -1,8 +1,10 @@ { "name": "kubernetes", - "version": "0.0.1", + "version": "0.6.0", + "port-version": 1, "description": "Kubernetes C client", "homepage": "https://github.com/kubernetes-client/c/", + "license": "Apache-2.0", "supports": "!uwp", "dependencies": [ "curl", diff --git a/ports/kuku/portfile.cmake b/ports/kuku/portfile.cmake index 98ff18775720b8..0cfe1ebf447481 100644 --- a/ports/kuku/portfile.cmake +++ b/ports/kuku/portfile.cmake @@ -1,23 +1,23 @@ -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_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" DISABLE_PARALLEL_CONFIGURE ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/Kuku-2.1) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/Kuku-2.1) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +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 2f7b13515cefff..df16f989c046e6 100644 --- a/ports/kuku/vcpkg.json +++ b/ports/kuku/vcpkg.json @@ -1,7 +1,17 @@ { "name": "kuku", - "version-string": "2.1", - "port-version": 1, - "description": "Kuku is a simple open-source (MIT licensed) cuckoo hashing library developed by the Cryptography and Privacy Research group at Microsoft.", - "homepage": "https://github.com/microsoft/Kuku" + "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", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/kvasir-mpl/portfile.cmake b/ports/kvasir-mpl/portfile.cmake index 7208bcc8adb57d..f41ef5c963f2d4 100644 --- a/ports/kvasir-mpl/portfile.cmake +++ b/ports/kvasir-mpl/portfile.cmake @@ -6,24 +6,22 @@ vcpkg_from_github( HEAD_REF development ) -vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES test BUILD_WITH_TEST ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_TESTING=${BUILD_WITH_TEST} ) -vcpkg_install_cmake() +vcpkg_cmake_install() # Move CMake config files to the right place -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/kvasir_mpl) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/kvasir_mpl) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") # Handle copyright -file(COPY ${SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/LICENSE.md ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) \ No newline at end of file +file(INSTALL "${SOURCE_PATH}/LICENSE.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) \ No newline at end of file diff --git a/ports/kvasir-mpl/vcpkg.json b/ports/kvasir-mpl/vcpkg.json index 4d817575a72cb9..0f64a72dc436ce 100644 --- a/ports/kvasir-mpl/vcpkg.json +++ b/ports/kvasir-mpl/vcpkg.json @@ -1,9 +1,19 @@ { "name": "kvasir-mpl", - "version-string": "2019-08-06", - "port-version": 1, + "version-date": "2019-08-06", + "port-version": 3, "description": "This library is part of the Kvasir project. Kvasir is a collection of zero cost statically checked libraries for resource constrained systems including microcontrollers.", "homepage": "https://github.com/kvasir-io/mpl", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], "features": { "test": { "description": "Build with test" diff --git a/ports/kwsys/portfile.cmake b/ports/kwsys/portfile.cmake index b676a4a13d53e0..6b8879d8955039 100644 --- a/ports/kwsys/portfile.cmake +++ b/ports/kwsys/portfile.cmake @@ -1,5 +1,3 @@ -vcpkg_fail_port_install(ON_TARGET "UWP") - vcpkg_from_gitlab( GITLAB_URL https://gitlab.kitware.com OUT_SOURCE_PATH SOURCE_PATH diff --git a/ports/kwsys/vcpkg.json b/ports/kwsys/vcpkg.json index b45350d738d937..6a6c4c3f8f86ab 100644 --- a/ports/kwsys/vcpkg.json +++ b/ports/kwsys/vcpkg.json @@ -1,6 +1,7 @@ { "name": "kwsys", "version-date": "2021-08-06", + "port-version": 1, "description": "Provides platform-independent APIs to many common system features", "homepage": "https://gitlab.kitware.com/utils/kwsys", "supports": "!uwp", diff --git a/ports/lager/portfile.cmake b/ports/lager/portfile.cmake index 737df91aaf4620..7c55973bdac7e6 100644 --- a/ports/lager/portfile.cmake +++ b/ports/lager/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO arximboldi/lager - REF 5924508df1e08752274404818c460c80f0666bb8 - SHA512 ee186b82dd1d729454c61207b48fb80ac8a861511ff501fab499aff5d3ba123ca669f89bdbbd37f120af6dc11a651ba6c163250b5ca94e6290657a35870618d7 + REF 2016df38be90ee176bcb73ea414be2318bc1ef31 + SHA512 07d9f2cf128ad2e751abbfaa03969524ffba785ac2696e6b94ee8e28166fc3ab427de2fc6a98eba50d2f936879b9e878a011c3ba9a25ba39109e7939d39c4902 HEAD_REF master ) diff --git a/ports/lager/vcpkg.json b/ports/lager/vcpkg.json index d59ce787cf0d6e..112af413653545 100644 --- a/ports/lager/vcpkg.json +++ b/ports/lager/vcpkg.json @@ -1,7 +1,6 @@ { "name": "lager", - "version-date": "2021-06-17", - "port-version": 1, + "version-date": "2023-03-19", "description": "C++ library for value-oriented design using the unidirectional data-flow architecture", "homepage": "https://sinusoid.es/lager/", "dependencies": [ 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/cmake-config.patch b/ports/lapack-reference/cmake-config.patch new file mode 100644 index 00000000000000..b2c656aa88e703 --- /dev/null +++ b/ports/lapack-reference/cmake-config.patch @@ -0,0 +1,21 @@ +diff --git a/CMAKE/lapack-config-install.cmake.in b/CMAKE/lapack-config-install.cmake.in +index 7760960..102eb92 100644 +--- a/CMAKE/lapack-config-install.cmake.in ++++ b/CMAKE/lapack-config-install.cmake.in +@@ -12,8 +12,14 @@ unset(_LAPACK_TARGET) + set(LAPACK_Fortran_COMPILER_ID "@CMAKE_Fortran_COMPILER_ID@") + + # Report the blas and lapack raw or imported libraries. +-set(LAPACK_blas_LIBRARIES "@BLAS_LIBRARIES@") ++if("@USE_OPTIMIZED_BLAS@") ++ include(CMakeFindDependencyMacro) ++ find_dependency(BLAS) # For current build type ++ set(LAPACK_blas_LIBRARIES "${BLAS_LIBRARIES}") ++else() ++ set(LAPACK_blas_LIBRARIES "@BLASLIB@") # target carries link libraries ++endif() + set(LAPACK_lapack_LIBRARIES "@LAPACK_LIBRARIES@") +-set(LAPACK_LIBRARIES ${LAPACK_blas_LIBRARIES} ${LAPACK_lapack_LIBRARIES}) ++set(LAPACK_LIBRARIES ${LAPACK_lapack_LIBRARIES}) # target carries link libraries + + unset(_LAPACK_SELF_DIR) 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/lapacke.patch b/ports/lapack-reference/lapacke.patch new file mode 100644 index 00000000000000..964f0e31927fce --- /dev/null +++ b/ports/lapack-reference/lapacke.patch @@ -0,0 +1,16 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1ee66f1..7cec7ca 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -392,8 +392,9 @@ endif() + set(LAPACK_INSTALL_EXPORT_NAME ${LAPACK_INSTALL_EXPORT_NAME_CACHE}) + unset(LAPACK_INSTALL_EXPORT_NAME_CACHE) + +-add_subdirectory(LAPACKE) +- ++if(LAPACKE) ++ add_subdirectory(LAPACKE) ++endif() + + #------------------------------------- + # BLAS++ / LAPACK++ diff --git a/ports/lapack-reference/portfile.cmake b/ports/lapack-reference/portfile.cmake index 4fb353fdd5343e..093f7f8c21be63 100644 --- a/ports/lapack-reference/portfile.cmake +++ b/ports/lapack-reference/portfile.cmake @@ -1,143 +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() - -include(vcpkg_find_fortran) -SET(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) - -set(lapack_ver 3.8.0) - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO "Reference-LAPACK/lapack" - REF "v${lapack_ver}" - SHA512 17786cb7306fccdc9b4a242de7f64fc261ebe6a10b6ec55f519deb4cb673cb137e8742aa5698fd2dc52f1cd56d3bd116af3f593a01dcf6770c4dcc86c50b2a7f - HEAD_REF master -) - -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() -else() - set(USE_OPTIMIZED_BLAS ON) -endif() - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - "-DUSE_OPTIMIZED_BLAS=${USE_OPTIMIZED_BLAS}" - "-DCBLAS=${CBLAS}" - ${FORTRAN_CMAKE} -) - -vcpkg_install_cmake() - -vcpkg_cmake_config_fixup(PACKAGE_NAME lapack-${lapack_ver} CONFIG_PATH lib/cmake/lapack-${lapack_ver}) #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() - -# Handle copyright -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) - -# remove debug includes -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) +#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/usage b/ports/lapack-reference/usage new file mode 100644 index 00000000000000..a181a075f96591 --- /dev/null +++ b/ports/lapack-reference/usage @@ -0,0 +1,9 @@ +lapack-reference provides CMake targets: + + find_package(lapack CONFIG REQUIRED) + target_link_libraries(main PRIVATE lapack) + +lapack-reference is compatible with built-in CMake targets: + + find_package(LAPACK REQUIRED) + target_link_libraries(main PRIVATE LAPACK::LAPACK) 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 c3f20e0323cf89..684be12305a098 100644 --- a/ports/lapack-reference/vcpkg.json +++ b/ports/lapack-reference/vcpkg.json @@ -1,10 +1,15 @@ { "name": "lapack-reference", - "version-semver": "3.8.0", + "version": "3.11.0", "port-version": 6, - "description": "LAPACK — Linear Algebra PACKage", - "homepage": "http://www.netlib.org/lapack/", + "description": "LAPACK - Linear Algebra PACKage", + "homepage": "https://netlib.org/lapack/", + "license": "BSD-3-Clause-Open-MPI", "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, { "name": "vcpkg-cmake-config", "host": true @@ -36,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 2a59fa7267d7c2..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_configure_cmake(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 49dbcfc2236863..adf945d8c1e92e 100644 --- a/ports/lapack/vcpkg.json +++ b/ports/lapack/vcpkg.json @@ -1,16 +1,23 @@ { + "$comment": "Keep the platform expressions in sync with the wrappers installed by the portfiles!", "name": "lapack", - "version-string": "3", + "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" + "platform": "uwp | (arm & windows)" }, { "name": "lapack-reference", - "platform": "!arm | !windows" + "platform": "!osx & !ios & !uwp & !(arm & windows)" + }, + { + "name": "vcpkg-cmake", + "host": true } ] } 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_include_directories_lastools.patch b/ports/lastools/fix_include_directories_lastools.patch new file mode 100644 index 00000000000000..a82ea58b8de437 --- /dev/null +++ b/ports/lastools/fix_include_directories_lastools.patch @@ -0,0 +1,12 @@ +diff --git a/LASlib/src/laslib-config.cmake b/LASlib/src/laslib-config.cmake +index b959a64..eab3466 100644 +--- a/LASlib/src/laslib-config.cmake ++++ b/LASlib/src/laslib-config.cmake +@@ -1,6 +1,6 @@ + get_filename_component(SELF_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) + include(${SELF_DIR}/laslib-targets.cmake) +-get_filename_component(LASlib_INCLUDE_DIRS "${SELF_DIR}/../../../include/LASlib" ABSOLUTE) ++get_filename_component(LASlib_INCLUDE_DIRS "${SELF_DIR}/../../include/LASlib" ABSOLUTE) + set_property(TARGET LASlib PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${LASlib_INCLUDE_DIRS}) + + set(LASlib_FOUND true) diff --git a/ports/lastools/fix_install_paths_lastools.patch b/ports/lastools/fix_install_paths_lastools.patch index 10bb34070546f8..9f5d97355f6a48 100644 --- a/ports/lastools/fix_install_paths_lastools.patch +++ b/ports/lastools/fix_install_paths_lastools.patch @@ -1,27 +1,23 @@ -diff --git a/LASlib/src/CMakeLists.txt b/LASlib/src/CMakeLists.txt -index 1b170bf..b5c40cb 100644 ---- a/LASlib/src/CMakeLists.txt -+++ b/LASlib/src/CMakeLists.txt -@@ -99,17 +99,8 @@ 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) -\ No newline at end of file +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 c21fb939e5ec80..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 7c444a4bbae16fe43c676824a26419bb740a6ab8 - SHA512 4503b033a5319caee5570f25a05009c0d05a8c61a43ed78317899faaeba82fbc1f9a8c8433772bb36547c74e850a2e68d20a16f6f22b12b3004da7e1aa2f334b + REF "v${VERSION}" + SHA512 cb150562b09c5a79df1e2c730481ceda340f235e1efb7824564d1f95a9981eada087af06bc3907a777a55d315a1521fb8a09249f2aeefd9e40e6c783b9c7a11c HEAD_REF master PATCHES - "fix_install_paths_lastools.patch" + fix_install_paths_lastools.patch + fix_include_directories_lastools.patch + build-tools.diff + insecure-fprintf.diff + signed-char.diff ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_check_features(OUT_FEATURE_OPTIONS options + FEATURES + tools BUILD_TOOLS ) -vcpkg_install_cmake() +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) -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) +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/share") -# Handle copyright -file(COPY ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) +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}/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 4d54c1a813b939..b3ae07c911d416 100644 --- a/ports/lastools/vcpkg.json +++ b/ports/lastools/vcpkg.json @@ -1,8 +1,22 @@ { "name": "lastools", - "version-string": "2020-05-09", - "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" + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "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/FixStrictPrototypes.patch b/ports/launch-darkly-server/FixStrictPrototypes.patch new file mode 100644 index 00000000000000..870a847fffae34 --- /dev/null +++ b/ports/launch-darkly-server/FixStrictPrototypes.patch @@ -0,0 +1,26 @@ +diff --git a/c-sdk-common/src/ldvalue.c b/c-sdk-common/src/ldvalue.c +index c3fbce9..53f0515 100644 +--- a/c-sdk-common/src/ldvalue.c ++++ b/c-sdk-common/src/ldvalue.c +@@ -166,7 +166,7 @@ unsigned int LDValue_Count(struct LDValue *value) { + return cJSON_GetArraySize(AS_CJSON(value)); + } + +-struct LDObject *LDObject_New() { ++struct LDObject *LDObject_New(void) { + return AS_LDOBJECT(cJSON_CreateObject()); + } + +diff --git a/src/integrations/test_data.c b/src/integrations/test_data.c +index 24146c9..4a2587f 100644 +--- a/src/integrations/test_data.c ++++ b/src/integrations/test_data.c +@@ -96,7 +96,7 @@ LDBoolean LDi_isBooleanFlag(struct LDFlagBuilder *flagBuilder) { + } + + struct LDTestData * +-LDTestDataInit() { ++LDTestDataInit(void) { + struct LDTestData *res; + struct LDJSON *currentFlags; + if(!ALLOCATE(struct LDTestData, res)) { diff --git a/ports/launch-darkly-server/findPCRE.patch b/ports/launch-darkly-server/findPCRE.patch new file mode 100644 index 00000000000000..50633fd207ac76 --- /dev/null +++ b/ports/launch-darkly-server/findPCRE.patch @@ -0,0 +1,17 @@ +diff --git a/cmake/FindPCRE.cmake b/cmake/FindPCRE.cmake +index dbbd60a..68042fe 100644 +--- a/cmake/FindPCRE.cmake ++++ b/cmake/FindPCRE.cmake +@@ -19,7 +19,11 @@ + FIND_PATH(PCRE_INCLUDE_DIR NAMES pcre.h) + + # Look for the library. +-FIND_LIBRARY(PCRE_LIBRARY NAMES pcre) ++SET(pcre_DEBUG_NAME "") ++IF(CMAKE_BUILD_TYPE MATCHES "Debug") ++ SET(pcre_DEBUG_NAME pcred) ++ENDIF() ++FIND_LIBRARY(PCRE_LIBRARY NAMES ${pcre_DEBUG_NAME} pcre) + + # Handle the QUIETLY and REQUIRED arguments and set PCRE_FOUND to TRUE if all listed variables are TRUE. + INCLUDE(FindPackageHandleStandardArgs) diff --git a/ports/launch-darkly-server/launch-darkly-server-config.cmake b/ports/launch-darkly-server/launch-darkly-server-config.cmake new file mode 100644 index 00000000000000..d3cbd3ead40e44 --- /dev/null +++ b/ports/launch-darkly-server/launch-darkly-server-config.cmake @@ -0,0 +1,2 @@ +include(${CMAKE_CURRENT_LIST_DIR}/ldserverapi-targets.cmake) + diff --git a/ports/launch-darkly-server/portfile.cmake b/ports/launch-darkly-server/portfile.cmake index f16ab0424308ac..ca8b508b5ffadf 100644 --- a/ports/launch-darkly-server/portfile.cmake +++ b/ports/launch-darkly-server/portfile.cmake @@ -1,33 +1,94 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO launchdarkly/c-server-sdk - REF 0d9db81862e1b17426da9b433a19376dd6458937 # 2.4.3 - SHA512 1bbafd212b0a271909a03319954ee2c92a3dde713fe7f9e0fdd79a5f011f0775701060b66ae9b3a4efad59376241b893d4b3d6679743c41e7657c355c7e3df5c + REF 66c24c874d623338636083f81ed258bc5101f504 # 2.9.3 + SHA512 38dd411da0cae016f781efc467a9c230236160e3db737550809f5c7b799c2946deec191d6abcf2f677d6452ad0c273c864e9a78674f6c547d1fd8a88d9d73bcc HEAD_REF master + PATCHES + findPCRE.patch + FixStrictPrototypes.patch # required with clang-15 + removeWarningAsError.patch ) + +vcpkg_from_github( + OUT_SOURCE_PATH HEXIFY_SOURCE_DIR + REPO pepaslabs/hexify.c + REF f823bd619f73584a75829cc1e44a532f5e09336e + SHA512 fdfd3877874cb5b3e506d791c08840b156ba6905cee520adc225755f7ca768e54a2efa4d05cbef72d275ca2596e1a4d8e4fbb254f9cc4188c31a41b9904479bc + HEAD_REF master + PATCHES + ${SOURCE_PATH}/patches/hexify.patch +) + +vcpkg_from_github( + OUT_SOURCE_PATH SEMVER_SOURCE_DIR + REPO h2non/semver.c + REF bd1db234a68f305ed10268bd023df1ad672061d7 + SHA512 29c7ab45e6550977bb6c74ebddfff440559a6e6494b701fc69a815912e6d683e5f4b4dfe17c98a892e8a82766f33c83edbe11e973579bd1d2175384cbaadd731 + HEAD_REF master + PATCHES + ${SOURCE_PATH}/patches/semver.patch +) + +vcpkg_from_github( + OUT_SOURCE_PATH SHA1_SOURCE_DIR + REPO clibs/sha1 + REF fa1d96ec293d2968791603548125e3274bd6b472 + SHA512 fd7dfbed4ac10e2c482da1cd460dabf0a53965e6fa17fab97156becb8214e435ee3605b2748705141380e254de7c32ab42da5e42cd6e4494f7ecaafb3b9e19f0 + HEAD_REF master + PATCHES + ${SOURCE_PATH}/patches/sha1.patch +) + +vcpkg_from_github( + OUT_SOURCE_PATH TIMESTAMP_SOURCE_DIR + REPO chansen/c-timestamp + REF b205c407ae6680d23d74359ac00444b80989792f + SHA512 497a1766b58e6e1c5ff2edf4fd6ff5f1065c4bdac60767988a5da03f93b0724ef582240aa015f3ab724200c249fe98072c67efbfc90e54d986a42212b43030ea + HEAD_REF master + PATCHES + ${SOURCE_PATH}/patches/timestamp.patch +) + +vcpkg_download_distfile(UTHASH_COMPRESSED_FILE + URLS https://github.com/troydhanson/uthash/archive/v2.3.0.tar.gz + FILENAME uthash-archive-v2.3.0.tar.gz + SHA512 3b01f1074790fb242900411cb16eb82c1a9afcf58e3196a0f4611d9d7ef94690ad38c0a500e7783d3efa20328aa8d6ab14f246be63b3b3d385502ba2b6b2a294 +) +vcpkg_extract_source_archive(UTHASH_SOURCE_DIR + ARCHIVE ${UTHASH_COMPRESSED_FILE} +) + + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS - "-DBUILD_TESTING=OFF" - "-DSKIP_DATABASE_TESTS=OFF" + -DBUILD_TESTING=OFF + -DFETCHCONTENT_SOURCE_DIR_HEXIFY=${HEXIFY_SOURCE_DIR} + -DFETCHCONTENT_SOURCE_DIR_SEMVER=${SEMVER_SOURCE_DIR} + -DFETCHCONTENT_SOURCE_DIR_SHA1=${SHA1_SOURCE_DIR} + -DFETCHCONTENT_SOURCE_DIR_TIMESTAMP=${TIMESTAMP_SOURCE_DIR} + -DFETCHCONTENT_SOURCE_DIR_UTHASH=${UTHASH_SOURCE_DIR} + -DSKIP_DATABASE_TESTS=OFF ) vcpkg_cmake_install() - -if(VCPKG_TARGET_IS_WINDOWS) - if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") - file(RENAME "${CURRENT_PACKAGES_DIR}/lib/ldserverapi.dll" "${CURRENT_PACKAGES_DIR}/bin/ldserverapi.dll") - file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/ldserverapi.dll" "${CURRENT_PACKAGES_DIR}/debug/bin/ldserverapi.dll") - endif() -endif() +vcpkg_cmake_config_fixup( + CONFIG_PATH lib/cmake/ldserverapi +) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" - ) +) vcpkg_copy_pdbs() -# Handle copyright +set(shareDir "${CURRENT_PACKAGES_DIR}/share/${PORT}") +file(COPY ${CMAKE_CURRENT_LIST_DIR}/launch-darkly-server-config.cmake DESTINATION ${shareDir}) +file(RENAME ${shareDir}/ldserverapiTargets.cmake ${shareDir}/ldserverapi-targets.cmake) + 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}") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") diff --git a/ports/launch-darkly-server/removeWarningAsError.patch b/ports/launch-darkly-server/removeWarningAsError.patch new file mode 100644 index 00000000000000..8174ed47a6a671 --- /dev/null +++ b/ports/launch-darkly-server/removeWarningAsError.patch @@ -0,0 +1,32 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 9acff7d..12904e6 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -184,7 +184,6 @@ else() + -pedantic + -Wall + -Wextra +- -Werror + -Wstrict-prototypes + -Wmissing-prototypes + -Wmissing-declarations +diff --git a/c-sdk-common/CMakeLists.txt b/c-sdk-common/CMakeLists.txt +index 15340f7..091e46d 100644 +--- a/c-sdk-common/CMakeLists.txt ++++ b/c-sdk-common/CMakeLists.txt +@@ -87,7 +87,6 @@ else() + -pedantic + -Wall + -Wextra +- -Werror + -Wstrict-prototypes + -Wmissing-prototypes + -Wmissing-declarations +@@ -123,7 +122,6 @@ else() + PRIVATE -fno-omit-frame-pointer + -Wall + -Wextra +- -Werror + -Wstrict-prototypes + -Wmissing-prototypes + -Wmissing-declarations diff --git a/ports/launch-darkly-server/usage b/ports/launch-darkly-server/usage new file mode 100644 index 00000000000000..92e9b6b8fd23b8 --- /dev/null +++ b/ports/launch-darkly-server/usage @@ -0,0 +1,5 @@ +The package launchdarklyserver provides CMake targets: + + find_package(launch-darkly-server CONFIG REQUIRED) + target_link_libraries(main PRIVATE ldserverapi::ldserverapi) + diff --git a/ports/launch-darkly-server/vcpkg.json b/ports/launch-darkly-server/vcpkg.json index 680d9ce9820a3e..7dae80eb25c252 100644 --- a/ports/launch-darkly-server/vcpkg.json +++ b/ports/launch-darkly-server/vcpkg.json @@ -1,9 +1,10 @@ { "name": "launch-darkly-server", - "version": "2.4.3", + "version": "2.9.3", "description": "LaunchDarkly server-side SDK for C/C++", "homepage": "https://github.com/launchdarkly/c-server-sdk", - "supports": "!uwp & !arm", + "license": "Apache-2.0", + "supports": "!uwp", "dependencies": [ "curl", "pcre", diff --git a/ports/lazy-importer/portfile.cmake b/ports/lazy-importer/portfile.cmake index 18aac44cf68f80..a735967e4ea823 100644 --- a/ports/lazy-importer/portfile.cmake +++ b/ports/lazy-importer/portfile.cmake @@ -3,12 +3,11 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO JustasMasiulis/lazy_importer - REF a02a9ed62ea56c614728465b1be9fab812fdf037 - SHA512 d88a7a1df269f2159eb0997f691fb5b71e89d75160b45ce968bd58e0d71e214f03e4c05e44234ace04ba9025b0b7d3ff07cf803753473c51164223a05a61598f + REF 4810f51d63438865e508c2784ea00811d9beb2ea + SHA512 1b2f330586cb80d8ecf13dd27c5a407c778c3a12aeffa493d31b75fa9c3186ed9f67838164c48c64e2bb4a9fe804a77625dd1cd996d661545580e29d57c3494b HEAD_REF master ) file(COPY "${SOURCE_PATH}/include/lazy_importer.hpp" DESTINATION "${CURRENT_PACKAGES_DIR}/include") -# 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/lazy-importer/vcpkg.json b/ports/lazy-importer/vcpkg.json index aa9f6c62c54ed9..51aa00e9680a97 100644 --- a/ports/lazy-importer/vcpkg.json +++ b/ports/lazy-importer/vcpkg.json @@ -1,6 +1,6 @@ { "name": "lazy-importer", - "version-date": "2021-10-23", + "version-date": "2023-08-03", "description": "Library for importing functions from dlls in a hidden, reverse engineer unfriendly way", "homepage": "https://github.com/JustasMasiulis/lazy_importer" } diff --git a/ports/lcm/disable-docs.patch b/ports/lcm/disable-docs.patch new file mode 100644 index 00000000000000..c69b903826acf0 --- /dev/null +++ b/ports/lcm/disable-docs.patch @@ -0,0 +1,12 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 6d3a4c2..90833e3 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -39,7 +39,6 @@ if(LCM_ENABLE_EXAMPLES) + endif() + + # Documentation (Main, C/C++, .NET) +-add_subdirectory(docs) + + # Java + lcm_option( diff --git a/ports/lcm/glib.link.patch b/ports/lcm/glib.link.patch index 67f6dc0f5805c8..4808fe73178829 100644 --- a/ports/lcm/glib.link.patch +++ b/ports/lcm/glib.link.patch @@ -15,7 +15,7 @@ index 2f1a8be45..db823b953 100644 endforeach() -+find_library(PCRE_LIBRARY pcre) ++find_library(PCRE_LIBRARY pcre2-8) +set_property(TARGET GLib2::glib APPEND PROPERTY + INTERFACE_LINK_LIBRARIES ${PCRE_LIBRARY} +) diff --git a/ports/lcm/portfile.cmake b/ports/lcm/portfile.cmake index 74bca46d300d8c..6b5246b3b9968e 100644 --- a/ports/lcm/portfile.cmake +++ b/ports/lcm/portfile.cmake @@ -8,51 +8,40 @@ vcpkg_from_github( only-install-one-flavor.patch fix-build-error.patch glib.link.patch + disable-docs.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DLCM_ENABLE_JAVA=OFF -DLCM_ENABLE_LUA=OFF -DLCM_ENABLE_PYTHON=OFF + -DLCM_ENABLE_GO=OFF -DLCM_ENABLE_TESTS=OFF + -DLCM_ENABLE_EXAMPLES=OFF -DLCM_INSTALL_M4MACROS=OFF -DLCM_INSTALL_PKGCONFIG=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() if (VCPKG_TARGET_IS_WINDOWS) - vcpkg_fixup_cmake_targets(CONFIG_PATH cmake) + vcpkg_cmake_config_fixup(CONFIG_PATH cmake) else() - vcpkg_fixup_cmake_targets(CONFIG_PATH lib/lcm/cmake) + vcpkg_cmake_config_fixup(CONFIG_PATH lib/lcm/cmake) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/lcm" "${CURRENT_PACKAGES_DIR}/lib/lcm") endif() +vcpkg_copy_pdbs() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/aclocal") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/java") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/man") -file(GLOB EXES ${CURRENT_PACKAGES_DIR}/bin/*.exe) -if(EXES) - file(COPY ${EXES} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/lcm) - file(REMOVE ${EXES}) -endif() -file(GLOB DEBUG_EXES ${CURRENT_PACKAGES_DIR}/debug/bin/*.exe) -if(DEBUG_EXES) - file(REMOVE ${DEBUG_EXES}) -endif() +vcpkg_copy_tools(TOOL_NAMES lcm-gen lcm-logger lcm-logplayer AUTO_CLEAN) if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") endif() -vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/lcm) - -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) - -vcpkg_copy_pdbs() +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/lcm/vcpkg.json b/ports/lcm/vcpkg.json index ec04fd87b91c52..3a0666e9a2c520 100644 --- a/ports/lcm/vcpkg.json +++ b/ports/lcm/vcpkg.json @@ -1,13 +1,23 @@ { "name": "lcm", "version": "1.4.0", - "port-version": 2, + "port-version": 6, "description": [ "Lightweight Communications and Marshalling (LCM)", "LCM is a set of libraries and tools for message passing and data marshalling, targeted at real-time systems where high-bandwidth and low latency are critical. It provides a publish/subscribe message passing model and automatic marshalling/unmarshalling code generation with bindings for applications in a variety of programming languages." ], "homepage": "https://github.com/lcm-proj/lcm", + "license": "LGPL-2.1-or-later", + "supports": "!osx & !xbox", "dependencies": [ - "glib" + "glib", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/lcms/CMakeLists.txt b/ports/lcms/CMakeLists.txt index 4852f8c4e0def0..fa36d43233495c 100644 --- a/ports/lcms/CMakeLists.txt +++ b/ports/lcms/CMakeLists.txt @@ -7,12 +7,13 @@ file(GLOB SRCS src/*.c) add_library(lcms2 ${SRCS} src/lcms2.def) if(BUILD_SHARED_LIBS) - target_compile_options(lcms2 PRIVATE -DCMS_DLL_BUILD) - target_compile_options(lcms2 PUBLIC -DCMS_DLL) + target_compile_definitions(lcms2 PRIVATE CMS_DLL_BUILD) + target_compile_definitions(lcms2 PUBLIC CMS_DLL) endif() -target_compile_options(lcms2 PRIVATE -DUNICODE -D_UNICODE) +target_compile_definitions(lcms2 PRIVATE UNICODE _UNICODE) +target_compile_definitions(lcms2 PUBLIC CMS_NO_REGISTER_KEYWORD) -target_include_directories(lcms2 PUBLIC $) +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 diff --git a/ports/lcms/fix-shared-library.patch b/ports/lcms/fix-shared-library.patch new file mode 100644 index 00000000000000..4b8a4c7fedd273 --- /dev/null +++ b/ports/lcms/fix-shared-library.patch @@ -0,0 +1,12 @@ +diff --git a/include/lcms2.h b/include/lcms2.h +index fd4ac7c..a99bdd2 100644 +--- a/include/lcms2.h ++++ b/include/lcms2.h +@@ -227,6 +227,7 @@ typedef int cmsBool; + + + // Calling convention -- this is hardly platform and compiler dependent ++#define CMS_DLL + #ifdef CMS_IS_WINDOWS_ + # if defined(CMS_DLL) || defined(CMS_DLL_BUILD) + # ifdef __BORLANDC__ diff --git a/ports/lcms/portfile.cmake b/ports/lcms/portfile.cmake index 78b8409ce0d8f0..59da3111d43b95 100644 --- a/ports/lcms/portfile.cmake +++ b/ports/lcms/portfile.cmake @@ -1,16 +1,19 @@ +vcpkg_minimum_required(VERSION 2022-10-12) # for ${VERSION} + if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - set(ADDITIONAL_PATCH "shared.patch") + set(SHARED_LIBRARY_PATCH "fix-shared-library.patch") endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO mm2/Little-CMS - REF 924a020d09bfe468c665467caf24aadeb41ff77c # 2.12 - SHA512 0c2dc069878ca38a92af4800aa3fb2660203fbcdf6dccd9db60cfacb6896185e3e9222893f39ec3e132b0f4900a2932d490dd8db5b1b431519966a64d28404d2 + REF "lcms${VERSION}" + SHA512 fc45f2ce0bf752313369786b65b92443ef6d9ed7e264e22cfe2a4732b370f6bb6e5573b646d0e8edf1b0bf9b9bc5137c98aed5929ba75acdf157d2764bd838fa HEAD_REF master PATCHES remove_library_directive.patch - ${ADDITIONAL_PATCH} + ${SHARED_LIBRARY_PATCH} + remove-register.patch ) file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") diff --git a/ports/lcms/remove-register.patch b/ports/lcms/remove-register.patch new file mode 100644 index 00000000000000..ae2f3bd73e1a98 --- /dev/null +++ b/ports/lcms/remove-register.patch @@ -0,0 +1,13 @@ +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 index 29d035dc2c1269..0ecd52cc311333 100644 --- a/ports/lcms/remove_library_directive.patch +++ b/ports/lcms/remove_library_directive.patch @@ -1,6 +1,8 @@ ---- a/src/lcms2.def 2016-07-20 09:46:01.000000000 +0200 -+++ b/src/lcms2.def 2018-06-02 02:11:04.135781600 +0200 -@@ -1,5 +1,3 @@ +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 diff --git a/ports/lcms/shared.patch b/ports/lcms/shared.patch deleted file mode 100644 index ac54904860a97f..00000000000000 --- a/ports/lcms/shared.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/include/lcms2.h Wed Jul 20 08:46:01 2016 -+++ b/include/lcms2.h Mon Jan 30 15:01:12 2017 -@@ -212,6 +212,7 @@ - - #endif // CMS_USE_BIG_ENDIAN - -+#define CMS_DLL - - // Calling convention -- this is hardly platform and compiler dependent - #ifdef CMS_IS_WINDOWS_ diff --git a/ports/lcms/vcpkg.json b/ports/lcms/vcpkg.json index 6dca15372ea624..1712ca154d1867 100644 --- a/ports/lcms/vcpkg.json +++ b/ports/lcms/vcpkg.json @@ -1,9 +1,9 @@ { "name": "lcms", - "version": "2.12", - "port-version": 2, + "version": "2.14", "description": "Little CMS.", "homepage": "https://github.com/mm2/Little-CMS", + "license": "MIT", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/leaf/vcpkg.json b/ports/leaf/vcpkg.json index 88c24fca5ac3f8..aa842d473315b3 100644 --- a/ports/leaf/vcpkg.json +++ b/ports/leaf/vcpkg.json @@ -1,7 +1,7 @@ { "name": "leaf", - "version-string": "0.2.2", - "port-version": 1, + "version": "0.2.2", + "port-version": 2, "description": "Deprecated boost-leaf port.", "dependencies": [ "boost-leaf" diff --git a/ports/lemon-parser-generator/CMakeLists.txt b/ports/lemon-parser-generator/CMakeLists.txt new file mode 100644 index 00000000000000..c5fc7b09c09a3f --- /dev/null +++ b/ports/lemon-parser-generator/CMakeLists.txt @@ -0,0 +1,5 @@ +project(lemon-parser-generator C) +add_executable(lemon lemon.c) +install(TARGETS lemon + RUNTIME DESTINATION tools/lemon +) diff --git a/ports/lemon-parser-generator/portfile.cmake b/ports/lemon-parser-generator/portfile.cmake new file mode 100644 index 00000000000000..1c2f845ff31d2f --- /dev/null +++ b/ports/lemon-parser-generator/portfile.cmake @@ -0,0 +1,23 @@ +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) +set(VCPKG_BUILD_TYPE release) +set(SQLITE_VERSION "3.39.3") + +vcpkg_download_distfile(SOURCE_FILE + URLS "https://github.com/sqlite/sqlite/raw/version-${SQLITE_VERSION}/tool/lemon.c" + FILENAME "lemon.c" + SHA512 "e9cca77d45a3be55fc958be69a30730dcbd39ba5c85c4c6c6c9eb6988c5cae9d14607be214ce57c11c73a6ffd4005784fb4d046d78f50e348ffa7ea6392ee03a" +) + +get_filename_component(SOURCE_PATH "${SOURCE_FILE}" DIRECTORY) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") + +vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}") +vcpkg_cmake_install() + +vcpkg_download_distfile(LEMPAR + URLS "https://github.com/sqlite/sqlite/raw/version-${SQLITE_VERSION}/tool/lempar.c" + FILENAME "lempar.c" + SHA512 "45ef60bbfef54f6583d6f9a854aaa72c5538e791b09ad15f4094a96905974277f964f471dcd5775e76b685b54415897a32a40c09f913f61cf91b99eb2e5ff5f0" +) + +file(COPY "${LEMPAR}" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/lemon") diff --git a/ports/lemon-parser-generator/vcpkg.json b/ports/lemon-parser-generator/vcpkg.json new file mode 100644 index 00000000000000..ba43a3443b9c48 --- /dev/null +++ b/ports/lemon-parser-generator/vcpkg.json @@ -0,0 +1,14 @@ +{ + "name": "lemon-parser-generator", + "version": "3.39.3", + "description": "The Lemon program is an LALR(1) parser generator. It takes a context free grammar and converts it into a subroutine that will parse a file using that grammar.", + "homepage": "https://www.hwaci.com/sw/lemon/index.html", + "license": "blessing", + "supports": "native", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] +} diff --git a/ports/lemon/vcpkg.json b/ports/lemon/vcpkg.json index b75102e5498d87..453d7f2809b87f 100644 --- a/ports/lemon/vcpkg.json +++ b/ports/lemon/vcpkg.json @@ -1,7 +1,7 @@ { "name": "lemon", - "version-string": "0", - "port-version": 1, + "version": "0", + "port-version": 2, "description": "Deprecated port, use liblemon instead", "dependencies": [ "liblemon" 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/Modify-include-dir.patch b/ports/leptonica/Modify-include-dir.patch deleted file mode 100644 index 59486c6e266b49..00000000000000 --- a/ports/leptonica/Modify-include-dir.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 5aed94f..9bfcff9 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -212,7 +212,7 @@ include(Configure) - - configure_file(${AUTOCONFIG_SRC} ${AUTOCONFIG} @ONLY) - --set(INCLUDE_DIR "${CMAKE_INSTALL_PREFIX}/include" "${CMAKE_INSTALL_PREFIX}/include/leptonica") -+set(INCLUDE_DIR "\${CMAKE_CURRENT_LIST_DIR}/../../include" "\${CMAKE_CURRENT_LIST_DIR}/../../include/leptonica") - - ############################################################################### - # diff --git a/ports/leptonica/find-dependency.patch b/ports/leptonica/find-dependency.patch deleted file mode 100644 index 9bae1260937f89..00000000000000 --- a/ports/leptonica/find-dependency.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff --git a/cmake/templates/LeptonicaConfig.cmake.in b/cmake/templates/LeptonicaConfig.cmake.in -index 342c37d..b358b7b 100644 ---- a/cmake/templates/LeptonicaConfig.cmake.in -+++ b/cmake/templates/LeptonicaConfig.cmake.in -@@ -20,6 +20,15 @@ - # - # =================================================================================== - -+include(CMakeFindDependencyMacro) -+find_dependency(JPEG) -+find_dependency(ZLIB) -+find_dependency(PNG) -+find_dependency(TIFF) -+find_dependency(GIF) -+find_dependency(WebP) -+find_dependency(OpenJPEG) -+ - include(${CMAKE_CURRENT_LIST_DIR}/LeptonicaTargets.cmake) - - # ====================================================== diff --git a/ports/leptonica/fix-cmakelists.patch b/ports/leptonica/fix-cmakelists.patch deleted file mode 100644 index 6d1d281693003c..00000000000000 --- a/ports/leptonica/fix-cmakelists.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index e474463..d2b999d 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -14,7 +14,6 @@ if (MSVC) - set_source_files_properties(${src} PROPERTIES LANGUAGE CXX) - endif() - --string(REPLACE "-O3" "-O2" CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}") - - add_library (leptonica ${src} ${hdr}) - set_target_properties (leptonica PROPERTIES VERSION ${VERSION_PLAIN}) diff --git a/ports/leptonica/fix-find-libwebp.patch b/ports/leptonica/fix-find-libwebp.patch deleted file mode 100644 index 588cf0c5480374..00000000000000 --- a/ports/leptonica/fix-find-libwebp.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 6535632..1740841 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -70,8 +70,7 @@ if(NOT SW_BUILD) - pkg_check_modules(JP2K libopenjp2>=2.0 QUIET) - endif() - if(NOT WEBP) -- find_path(WEBP_INCLUDE_DIR /webp/decode.h) -- find_library(WEBP_LIBRARY NAMES webp) -+ find_package(WebP CONFIG REQUIRED) - if (WEBP_INCLUDE_DIR AND WEBP_LIBRARY) - set(WEBP 1) - set(WEBP_FOUND TRUE) -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index d2b999d..019ec7b 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -52,7 +52,7 @@ if (TIFF_LIBRARIES) - endif() - if (WEBP_FOUND) - target_include_directories (leptonica PUBLIC ${WEBP_INCLUDE_DIRS}) -- target_link_libraries (leptonica ${WEBP_LIBRARIES}) -+ target_link_libraries (leptonica WebP::webp WebP::libwebpmux) - endif() - if (ZLIB_LIBRARIES) - target_include_directories (leptonica PUBLIC ${ZLIB_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 11dfb396769659..b103ca843295e7 100644 --- a/ports/leptonica/portfile.cmake +++ b/ports/leptonica/portfile.cmake @@ -1,37 +1,42 @@ +vcpkg_download_distfile(REDUCE_REQUIRED_C_SANDARD + URLS https://github.com/DanBloomberg/leptonica/commit/23aef077a8dd631de80cb457384e0aa5338e85a4.patch?full_index=1 + FILENAME leptonica-reduce-c-standard-23aef077a8dd631de80cb457384e0aa5338e85a4.patch + SHA512 e309730b959c58b2c063bfd40434da22c79061ece48f2d8a388364a49e2a12a85b74b755e8b837d8fdeee9c187379460a85a9e5cf84f09f0c4649f280a0c9536 +) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO DanBloomberg/leptonica - REF 2ff4313a85427ceb272540c570106b2f893da097 # 1.81.1 - SHA512 0e35538f1407e7220e68d635e5fd4c82219b58fb4b6ca8132d72892f52853e13451a2a160644a122c47598f77d2e87046cfb072be261be9a941342f476dc6376 + REF "${VERSION}" + SHA512 968a88d2074717e6f379d2f9b8f7f0d5193fe9b8856051e09e2b31c939689b196a4a9b2cde595ce76ff8ae2784680ef5e68c40709c051d3d23738e862968016f HEAD_REF master PATCHES - fix-cmakelists.patch - find-dependency.patch - fix-find-libwebp.patch - Modify-include-dir.patch + fix-pc-and-config.patch + "${REDUCE_REQUIRED_C_SANDARD}" ) -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" STATIC) +vcpkg_find_acquire_program(PKGCONFIG) vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DSW_BUILD=OFF - -DCPPAN_BUILD=OFF - -DSTATIC=${STATIC} - -DCMAKE_REQUIRED_INCLUDES=${CURRENT_INSTALLED_DIR}/include # for check_include_file() - MAYBE_UNUSED_VARIABLES - STATIC + "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}" + -DCMAKE_REQUIRE_FIND_PACKAGE_GIF=TRUE + -DCMAKE_REQUIRE_FIND_PACKAGE_JPEG=TRUE + -DCMAKE_REQUIRE_FIND_PACKAGE_PNG=TRUE + -DCMAKE_REQUIRE_FIND_PACKAGE_TIFF=TRUE + -DCMAKE_REQUIRE_FIND_PACKAGE_ZLIB=TRUE ) vcpkg_cmake_install() vcpkg_fixup_pkgconfig() -vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/leptonica) 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/vcpkg.json b/ports/leptonica/vcpkg.json index b70a8332d10620..88927c6d79d083 100644 --- a/ports/leptonica/vcpkg.json +++ b/ports/leptonica/vcpkg.json @@ -1,15 +1,23 @@ { "name": "leptonica", - "version": "1.81.1", + "version": "1.84.1", + "port-version": 1, "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, "dependencies": [ "giflib", "libjpeg-turbo", "libpng", - "libwebp", + { + "name": "libwebp", + "default-features": false + }, "openjpeg", - "tiff", + { + "name": "tiff", + "default-features": false + }, { "name": "vcpkg-cmake", "host": true diff --git a/ports/lerc/create_package.patch b/ports/lerc/create_package.patch index 7b06c119ba3f66..86e24ec17ccab7 100644 --- a/ports/lerc/create_package.patch +++ b/ports/lerc/create_package.patch @@ -1,26 +1,23 @@ - CMakeLists.txt | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - diff --git a/CMakeLists.txt b/CMakeLists.txt -index e90fcdd..17c79e8 100644 +index ab733f5..a52dc59 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -17,7 +17,7 @@ add_library(LercLib ${SOURCES}) - target_link_libraries (LercLib) +@@ -38,11 +38,18 @@ endif() install( -- TARGETS LercLib -+ TARGETS LercLib EXPORT LercTargets + TARGETS Lerc ++ EXPORT LercTargets LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} -@@ -28,3 +28,9 @@ install( - FILES "include/Lerc_types.h" "include/Lerc_c_api.h" - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} + PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} ) -+ ++target_include_directories(Lerc PUBLIC "$") +install(EXPORT LercTargets -+ FILE lercConfig.cmake -+ NAMESPACE Esri:: -+ DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/lerc" ++ FILE unofficial-lerc-config.cmake ++ NAMESPACE unofficial::Lerc:: ++ DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/unofficial-lerc" +) + + # 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/enable_static_build.patch b/ports/lerc/enable_static_build.patch deleted file mode 100644 index 92f0d7852c8254..00000000000000 --- a/ports/lerc/enable_static_build.patch +++ /dev/null @@ -1,16 +0,0 @@ - CMakeLists.txt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index d22ad11..e90fcdd 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -12,7 +12,7 @@ file(GLOB SOURCES - ) - message(${SOURCES}) - --add_library(LercLib SHARED ${SOURCES}) -+add_library(LercLib ${SOURCES}) - - target_link_libraries (LercLib) - 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/install_lib_to_archive_path.patch b/ports/lerc/install_lib_to_archive_path.patch deleted file mode 100644 index 3262a7ca55c528..00000000000000 --- a/ports/lerc/install_lib_to_archive_path.patch +++ /dev/null @@ -1,16 +0,0 @@ - CMakeLists.txt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index ececeed..d22ad11 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -20,7 +20,7 @@ install( - TARGETS LercLib - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} -- ARCHIVE DESTINATION ${CMAKE_INSTALL_BINDIR} -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} - ) - diff --git a/ports/lerc/portfile.cmake b/ports/lerc/portfile.cmake index 5b3060f434020b..b8e6a8ee9f2b17 100644 --- a/ports/lerc/portfile.cmake +++ b/ports/lerc/portfile.cmake @@ -1,24 +1,27 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Esri/lerc - REF v2.2 - SHA512 5ddf1e8f0c123d3c1329e980021e25e6ff9b79c96588115e5b48ba7637f0b2bf3ebb2ab6ebf94cfbde45ea1521f14405f669e23f0b74d9ae8f9b2cf80a908215 + REF "js_v${VERSION}" + SHA512 061558d3b29e2d0968d1169ac422795faa6e70dd3425945194c1c87f4522422e186878b0235a5fc42f037c47c54964bf070b7644f8d652f33dc19f692a6ba0af HEAD_REF master PATCHES - "install_lib_to_archive_path.patch" - "enable_static_build.patch" - "create_package.patch" + create_package.patch + cxx-linkage-pkgconfig.patch + fix-climits-include.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-lerc) +vcpkg_fixup_pkgconfig() -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets() +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/Lerc_c_api.h" "defined(LERC_STATIC)" "1") +endif() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) - +file(INSTALL "${SOURCE_PATH}/NOTICE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/lerc/vcpkg.json b/ports/lerc/vcpkg.json index 6772a248b35261..34eadc65a7ca57 100644 --- a/ports/lerc/vcpkg.json +++ b/ports/lerc/vcpkg.json @@ -1,7 +1,17 @@ { "name": "lerc", - "version-string": "2.2", - "port-version": 2, + "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" + "homepage": "https://github.com/Esri/lerc", + "license": "Apache-2.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } 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 f8b68ff7351350..439e77b8ac4a85 100644 --- a/ports/lest/vcpkg.json +++ b/ports/lest/vcpkg.json @@ -1,7 +1,6 @@ { "name": "lest", - "version-string": "1.35.1", - "port-version": 2, + "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..f05a0d5fd6d1a0 --- /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 83d97ffe43c21286a845bb9d11504414972c944d9b06975ba9e7680802a92a260b6246f3605ed32e5e5dec358972fbb5cab49543559dc36cb164a9c3b6a69d73 + 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..28f8280d96e075 --- /dev/null +++ b/ports/level-zero/vcpkg.json @@ -0,0 +1,19 @@ +{ + "name": "level-zero", + "version": "1.17.45", + "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/leveldb/fix-dependencies.patch b/ports/leveldb/fix-dependencies.patch new file mode 100644 index 00000000000000..5efc6385f0a3f7 --- /dev/null +++ b/ports/leveldb/fix-dependencies.patch @@ -0,0 +1,34 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f8285b8..39536fc 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -38,8 +38,14 @@ include(CheckIncludeFile) + check_include_file("unistd.h" HAVE_UNISTD_H) + + include(CheckLibraryExists) +-check_library_exists(crc32c crc32c_value "" HAVE_CRC32C) +-check_library_exists(snappy snappy_compress "" HAVE_SNAPPY) ++if (WITH_CRC32C) ++ find_package(Crc32c CONFIG REQUIRED) ++ set(HAVE_CRC32C 1) ++endif() ++if (WITH_SNAPPY) ++ find_package(Snappy CONFIG REQUIRED) ++ set(HAVE_SNAPPY 1) ++endif() + check_library_exists(tcmalloc malloc "" HAVE_TCMALLOC) + + include(CheckCXXSymbolExists) +@@ -268,10 +274,10 @@ if(HAVE_CLANG_THREAD_SAFETY) + endif(HAVE_CLANG_THREAD_SAFETY) + + if(HAVE_CRC32C) +- target_link_libraries(leveldb crc32c) ++ target_link_libraries(leveldb Crc32c::crc32c) + endif(HAVE_CRC32C) + if(HAVE_SNAPPY) +- target_link_libraries(leveldb snappy) ++ target_link_libraries(leveldb Snappy::snappy) + endif(HAVE_SNAPPY) + if(HAVE_TCMALLOC) + target_link_libraries(leveldb tcmalloc) diff --git a/ports/leveldb/fix-util-install.patch b/ports/leveldb/fix-util-install.patch new file mode 100644 index 00000000000000..fb65023177cdb2 --- /dev/null +++ b/ports/leveldb/fix-util-install.patch @@ -0,0 +1,16 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 39536fc..648de6d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -477,6 +477,11 @@ if(LEVELDB_INSTALL) + DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/leveldb" + ) + ++ file(GLOB HEADER_UTIL "${PROJECT_SOURCE_DIR}/util/*.h" ) ++ file(GLOB HEADER_TABLE "${PROJECT_SOURCE_DIR}/table/*.h" ) ++ install(FILES ${HEADER_UTIL} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/leveldb/util) ++ install(FILES ${HEADER_TABLE} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/leveldb/table) ++ + include(CMakePackageConfigHelpers) + configure_package_config_file( + "cmake/${PROJECT_NAME}Config.cmake.in" diff --git a/ports/leveldb/fix_config.patch b/ports/leveldb/fix_config.patch deleted file mode 100644 index c5a83296b14f58..00000000000000 --- a/ports/leveldb/fix_config.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 1409c06..98b87dc 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -437,6 +437,12 @@ if(LEVELDB_INSTALL) - "${PROJECT_BINARY_DIR}/leveldbConfigVersion.cmake" - COMPATIBILITY SameMajorVersion - ) -+ configure_package_config_file(${PROJECT_SOURCE_DIR}/cmake/leveldbConfig.cmake.in -+ leveldbConfig.cmake -+ INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/leveldb -+ NO_CHECK_REQUIRED_COMPONENTS_MACRO -+ PATH_VARS CMAKE_INSTALL_INCLUDEDIR -+ ) - install( - EXPORT leveldbTargets - NAMESPACE leveldb:: -@@ -444,7 +450,7 @@ if(LEVELDB_INSTALL) - ) - install( - FILES -- "${PROJECT_SOURCE_DIR}/cmake/leveldbConfig.cmake" -+ "${PROJECT_BINARY_DIR}/leveldbConfig.cmake" - "${PROJECT_BINARY_DIR}/leveldbConfigVersion.cmake" - DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/leveldb" - ) diff --git a/ports/leveldb/leveldbConfig.cmake.in b/ports/leveldb/leveldbConfig.cmake.in index 560e743feef844..4097fac7eef0c4 100644 --- a/ports/leveldb/leveldbConfig.cmake.in +++ b/ports/leveldb/leveldbConfig.cmake.in @@ -1,6 +1,13 @@ @PACKAGE_INIT@ include(CMakeFindDependencyMacro) -set_and_check(leveldb_INCLUDE_DIR "@PACKAGE_CMAKE_INSTALL_INCLUDEDIR@") +find_dependency(Threads) + +if (@WITH_CRC32C@) + find_dependency(Crc32c CONFIG) +endif() +if (@WITH_SNAPPY@) + find_dependency(Snappy CONFIG) +endif() include("${CMAKE_CURRENT_LIST_DIR}/leveldbTargets.cmake") diff --git a/ports/leveldb/portfile.cmake b/ports/leveldb/portfile.cmake index 4f20f837b60623..92c283b5055723 100644 --- a/ports/leveldb/portfile.cmake +++ b/ports/leveldb/portfile.cmake @@ -1,33 +1,40 @@ -if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - message(FATAL_ERROR "leveldb doesn't supports UWP") -endif() - vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO "google/leveldb" - REF 1.22 - SHA512 f9bbf5f466e7f707b94e19261762319ea9f65d41911690e84f59098551e2e69beccf756a414d705ade74ee96fd979bdb8b94c171c6f2cc83873cbd4a9380dbab + REPO google/leveldb + REF "${VERSION}" + SHA512 ac15eac29387b9f702a901b6567d47a9f8c17cf5c7d8700a77ec771da25158c83b04959c33f3d4de7a3f033ef08f545d14ba823a8d527e21889c4b78065b0f84 HEAD_REF master PATCHES - fix_config.patch + fix-dependencies.patch + fix-util-install.patch ) -file(COPY ${CURRENT_PORT_DIR}/leveldbConfig.cmake.in DESTINATION ${SOURCE_PATH}/cmake) +file(COPY "${CURRENT_PORT_DIR}/leveldbConfig.cmake.in" DESTINATION "${SOURCE_PATH}/cmake") + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + crc32c WITH_CRC32C + snappy WITH_SNAPPY +) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA # Disable this option if project cannot be built with Ninja - OPTIONS_DEBUG -DINSTALL_HEADERS=OFF +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} + -DLEVELDB_BUILD_TESTS=OFF + -DLEVELDB_BUILD_BENCHMARKS=OFF + OPTIONS_DEBUG + -DINSTALL_HEADERS=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${PORT}") -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/leveldb) -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") -# Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/leveldb RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/leveldb/vcpkg.json b/ports/leveldb/vcpkg.json index 00df32a4f0d388..f33c459d1c2c62 100644 --- a/ports/leveldb/vcpkg.json +++ b/ports/leveldb/vcpkg.json @@ -1,8 +1,32 @@ { "name": "leveldb", - "version-string": "1.22", - "port-version": 2, + "version": "1.23", "description": "LevelDB is a fast key-value storage library written at Google that provides an ordered mapping from string keys to string values.", - "homepage": "https://github.com/bitcoin-core/leveldb", - "supports": "!uwp" + "homepage": "https://github.com/google/leveldb", + "license": "BSD-3-Clause", + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "crc32c": { + "description": "Build with crc32c", + "dependencies": [ + "crc32c" + ] + }, + "snappy": { + "description": "Build with snappy", + "dependencies": [ + "snappy" + ] + } + } } diff --git a/ports/levmar/portfile.cmake b/ports/levmar/portfile.cmake index 020d4252082cd8..9efcacf99d8338 100644 --- a/ports/levmar/portfile.cmake +++ b/ports/levmar/portfile.cmake @@ -1,22 +1,17 @@ -vcpkg_fail_port_install(MESSAGE "levmar currently only checked on Windows" - ON_TARGET "OSX" "Linux" "UWP" -) - vcpkg_download_distfile(ARCHIVE URLS "http://users.ics.forth.gr/~lourakis/levmar/levmar-2.6.tgz" FILENAME "levmar-2.6.tgz" SHA512 5b4c64b63be9b29d6ad2df435af86cd2c2e3216313378561a670ac6a392a51bbf1951e96c6b1afb77c570f23dd8e194017808e46929fec2d8d9a7fe6cf37022b ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" PATCHES add-install.patch # patch just adding the install commands to original CMakeLists.txt ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" DISABLE_PARALLEL_CONFIGURE OPTIONS -DHAVE_LAPACK=OFF @@ -24,10 +19,10 @@ vcpkg_configure_cmake( -DBUILD_DEMO=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() # Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) # Handle duplicated debug includes file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/levmar/vcpkg.json b/ports/levmar/vcpkg.json index 99c22de7301ad5..217521f44a5f9a 100644 --- a/ports/levmar/vcpkg.json +++ b/ports/levmar/vcpkg.json @@ -1,7 +1,14 @@ { "name": "levmar", - "version-string": "2.6", + "version": "2.6", + "port-version": 3, "description": "Levenberg-Marquardt nonlinear least squares optimization algorithm", "homepage": "http://users.ics.forth.gr/~lourakis/levmar/", - "supports": "!(uwp | osx | linux)" + "supports": "windows & !uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/lexbor/portfile.cmake b/ports/lexbor/portfile.cmake new file mode 100644 index 00000000000000..7f6bc8c21db0a1 --- /dev/null +++ b/ports/lexbor/portfile.cmake @@ -0,0 +1,25 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO lexbor/lexbor + REF v${VERSION} + SHA512 add1832f2e1927538206329703cd717fb30cb6ae2f52e1a0042961062cbcafd2e3ce4437ee2081ad7b2d51c6b63b910be06987e47c4a7007321db52b2812e515 +) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DLEXBOR_BUILD_SHARED=${BUILD_SHARED} + -DLEXBOR_BUILD_STATIC=${BUILD_STATIC} +) +vcpkg_cmake_install() +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/include/lexbor/html/tree/insertion_mode" + "${CURRENT_PACKAGES_DIR}/debug/include/lexbor/html/tree/insertion_mode" +) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/lexbor/vcpkg.json b/ports/lexbor/vcpkg.json new file mode 100644 index 00000000000000..680ebf77ddbb11 --- /dev/null +++ b/ports/lexbor/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "lexbor", + "version": "2.3.0", + "description": "Lexbor is development of an open source HTML Renderer library.", + "homepage": "https://github.com/lexbor/lexbor", + "supports": "!uwp", + "dependencies": [ + { + "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/libaaplus/portfile.cmake b/ports/libaaplus/portfile.cmake index f7387aa854f9fb..0d88d1df5932aa 100644 --- a/ports/libaaplus/portfile.cmake +++ b/ports/libaaplus/portfile.cmake @@ -7,10 +7,10 @@ vcpkg_download_distfile( SHA512 a7abf20feb49df00b95be987809a3dc8df3e9ff706dd5a873ecfdd695af125f858264e092b6b856e83685e9eb46fd46520cf09dfae892c32cbb71f925ba17b86 ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH +vcpkg_extract_source_archive( + SOURCE_PATH ARCHIVE ${ARCHIVE_FILE} - REF ${VERSION} + SOURCE_BASE ${VERSION} NO_REMOVE_ONE_LEVEL PATCHES fix-cmakelists.patch diff --git a/ports/libaaplus/vcpkg.json b/ports/libaaplus/vcpkg.json index 35572ec24275f4..2282eba6ce18e7 100644 --- a/ports/libaaplus/vcpkg.json +++ b/ports/libaaplus/vcpkg.json @@ -1,6 +1,7 @@ { "name": "libaaplus", "version": "2.36", + "port-version": 1, "description": "libaaplus is an astronomical computations library by naughter software", "homepage": "http://www.naughter.com/aa.html", "dependencies": [ diff --git a/ports/libadlmidi/cmake-build-shared-libs-support.patch b/ports/libadlmidi/cmake-build-shared-libs-support.patch new file mode 100644 index 00000000000000..65fcc947db37fd --- /dev/null +++ b/ports/libadlmidi/cmake-build-shared-libs-support.patch @@ -0,0 +1,25 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 271bb9b..37340f9 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -147,8 +147,18 @@ if(NOT EMSCRIPTEN + AND NOT NINTENDO_WII + AND NOT NINTENDO_WIIU + AND NOT ADLMIDI_DOS) +- option(libADLMIDI_STATIC "Build static library of libADLMIDI" ON) +- option(libADLMIDI_SHARED "Build shared library of libADLMIDI" OFF) ++ ++ set(libADLMIDI_STATIC_ENABLED_BY_DEFAULT ON) ++ set(libADLMIDI_SHARED_ENABLED_BY_DEFAULT OFF) ++ ++ # When defined, respect CMake's BUILD_SHARED_LIBS setting ++ if (BUILD_SHARED_LIBS) ++ set(libADLMIDI_SHARED_ENABLED_BY_DEFAULT ON) ++ set(libADLMIDI_STATIC_ENABLED_BY_DEFAULT OFF) ++ endif() ++ ++ option(libADLMIDI_STATIC "Build static library of libADLMIDI" ${libADLMIDI_STATIC_ENABLED_BY_DEFAULT}) ++ option(libADLMIDI_SHARED "Build shared library of libADLMIDI" ${libADLMIDI_SHARED_ENABLED_BY_DEFAULT}) + else() + set(libADLMIDI_STATIC ON) + set(libADLMIDI_SHARED OFF) diff --git a/ports/libadlmidi/cmake-package-export.patch b/ports/libadlmidi/cmake-package-export.patch new file mode 100644 index 00000000000000..1344ebbf0a4e2a --- /dev/null +++ b/ports/libadlmidi/cmake-package-export.patch @@ -0,0 +1,114 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 271bb9b..1b6ba8f 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -313,7 +313,7 @@ if(libADLMIDI_STATIC OR WITH_VLC_PLUGIN) + else() + set_target_properties(ADLMIDI_static PROPERTIES OUTPUT_NAME ADLMIDI) + endif() +- target_include_directories(ADLMIDI_static PUBLIC ${libADLMIDI_SOURCE_DIR}/include) ++ target_include_directories(ADLMIDI_static PUBLIC $ $) + set_legacy_standard(ADLMIDI_static) + set_visibility_hidden(ADLMIDI_static) + handle_options(ADLMIDI_static) +@@ -336,7 +336,7 @@ if(libADLMIDI_SHARED) + VERSION ${libADLMIDI_VERSION} + SOVERSION ${libADLMIDI_VERSION_MAJOR} + ) +- target_include_directories(ADLMIDI_shared PUBLIC ${libADLMIDI_SOURCE_DIR}/include) ++ target_include_directories(ADLMIDI_shared PUBLIC $ $) + set_legacy_standard(ADLMIDI_shared) + set_visibility_hidden(ADLMIDI_shared) + handle_options(ADLMIDI_shared) +@@ -418,22 +418,44 @@ if(WIN32 AND WITH_WINMMDRV) + add_subdirectory(utils/winmm_drv) + endif() + +-set(libADLMIDI_INSTALLS ) +-foreach(lib ADLMIDI_static ADLMIDI_shared) +- if(TARGET ${lib}) +- list(APPEND libADLMIDI_INSTALLS ${lib}) +- endif() +-endforeach() ++if(libADLMIDI_STATIC) ++ install(TARGETS ADLMIDI_static ++ EXPORT libADLMIDIStaticTargets ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}") ++ ++ install(EXPORT libADLMIDIStaticTargets ++ FILE libADLMIDI-static-targets.cmake ++ NAMESPACE libADLMIDI:: ++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/libADLMIDI") ++endif() ++ ++if(libADLMIDI_SHARED) ++ install(TARGETS ADLMIDI_shared ++ EXPORT libADLMIDISharedTargets ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}") + +-install(TARGETS ${libADLMIDI_INSTALLS} +- RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" +- LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" +- ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" +- INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") ++ install(EXPORT libADLMIDISharedTargets ++ FILE libADLMIDI-shared-targets.cmake ++ NAMESPACE libADLMIDI:: ++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/libADLMIDI") ++endif() + + install(FILES + include/adlmidi.h + DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") ++ ++include(CMakePackageConfigHelpers) ++configure_package_config_file(libADLMIDIConfig.cmake.in "${CMAKE_CURRENT_BINARY_DIR}/libADLMIDIConfig.cmake" ++ PATH_VARS CMAKE_INSTALL_PREFIX CMAKE_INSTALL_FULL_BINDIR CMAKE_INSTALL_FULL_INCLUDEDIR CMAKE_INSTALL_FULL_LIBDIR ++ INSTALL_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/libADLMIDI" ++) ++install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libADLMIDIConfig.cmake ++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/libADLMIDI" ++) + + file(GLOB DOCTXT_FILES + "${libADLMIDI_SOURCE_DIR}/LICENSE*.txt" +diff --git a/libADLMIDIConfig.cmake.in b/libADLMIDIConfig.cmake.in +new file mode 100644 +index 0000000..bd875fc +--- /dev/null ++++ b/libADLMIDIConfig.cmake.in +@@ -0,0 +1,30 @@ ++include(FeatureSummary) ++set_package_properties(libADLMIDI PROPERTIES ++ URL "https://github.com/Wohlstand/libADLMIDI" ++ DESCRIPTION "libADLMIDI is a free Software MIDI synthesizer library with OPL3 emulation" ++) ++ ++@PACKAGE_INIT@ ++ ++if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/libADLMIDI-shared-targets.cmake") ++ include("${CMAKE_CURRENT_LIST_DIR}/libADLMIDI-shared-targets.cmake") ++endif() ++if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/libADLMIDI-static-targets.cmake") ++ include("${CMAKE_CURRENT_LIST_DIR}/libADLMIDI-static-targets.cmake") ++endif() ++ ++if(TARGET libADLMIDI::ADLMIDI_shared) ++ if(CMAKE_VERSION VERSION_LESS "3.18") ++ add_library(libADLMIDI::ADLMIDI INTERFACE IMPORTED) ++ set_target_properties(libADLMIDI::ADLMIDI PROPERTIES INTERFACE_LINK_LIBRARIES "libADLMIDI::ADLMIDI_shared") ++ else() ++ add_library(libADLMIDI::ADLMIDI ALIAS libADLMIDI::ADLMIDI_shared) ++ endif() ++else() ++ if(CMAKE_VERSION VERSION_LESS "3.18") ++ add_library(libADLMIDI::ADLMIDI INTERFACE IMPORTED) ++ set_target_properties(libADLMIDI::ADLMIDI PROPERTIES INTERFACE_LINK_LIBRARIES "libADLMIDI::ADLMIDI_static") ++ else() ++ add_library(libADLMIDI::ADLMIDI ALIAS libADLMIDI::ADLMIDI_static) ++ endif() ++endif() diff --git a/ports/libadlmidi/portfile.cmake b/ports/libadlmidi/portfile.cmake new file mode 100644 index 00000000000000..8cf14e8a0d615e --- /dev/null +++ b/ports/libadlmidi/portfile.cmake @@ -0,0 +1,46 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Wohlstand/libADLMIDI + REF v${VERSION} + SHA512 d827f13c60086b62bb4ffb098faeaa214fd83df52d3d5c19533b970d74b470c677e0aec76e91e05753574cf9bae1ccd02b77bd24d0ec1b2ad80b21cf541c7261 + PATCHES + # patches from master, they should be removed when a new version is out + cmake-package-export.patch + cmake-build-shared-libs-support.patch +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + midi-sequencer WITH_MIDI_SEQUENCER + embedded-banks WITH_EMBEDDED_BANKS + mus WITH_MUS_SUPPORT + xmi WITH_XMI_SUPPORT + dosbox-emulator USE_DOSBOX_EMULATOR + nuked-emulator USE_NUKED_EMULATOR + opal-emulator USE_OPAL_EMULATOR + java-emulator USE_JAVA_EMULATOR +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/libADLMIDI) + +vcpkg_fixup_pkgconfig() + +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/share/doc" +) + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") + +file(GLOB LICENSE_FILES "${SOURCE_PATH}/LICENSE*") +vcpkg_install_copyright(FILE_LIST ${LICENSE_FILES}) diff --git a/ports/libadlmidi/usage b/ports/libadlmidi/usage new file mode 100644 index 00000000000000..48197b0a88adda --- /dev/null +++ b/ports/libadlmidi/usage @@ -0,0 +1,4 @@ +libadlmidi provides CMake targets: + + find_package(libADLMIDI CONFIG REQUIRED) + target_link_libraries(main PRIVATE libADLMIDI::ADLMIDI) diff --git a/ports/libadlmidi/vcpkg.json b/ports/libadlmidi/vcpkg.json new file mode 100644 index 00000000000000..dd6ed2d4a04065 --- /dev/null +++ b/ports/libadlmidi/vcpkg.json @@ -0,0 +1,53 @@ +{ + "name": "libadlmidi", + "version": "1.5.1", + "port-version": 1, + "description": "libADLMIDI is a free Software MIDI synthesizer library with OPL3 emulation", + "homepage": "https://github.com/Wohlstand/libADLMIDI", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "default-features": [ + "dosbox-emulator", + "embedded-banks", + "java-emulator", + "midi-sequencer", + "mus", + "nuked-emulator", + "opal-emulator", + "xmi" + ], + "features": { + "dosbox-emulator": { + "description": "Build with DosBox 0.74 OPL3 emulator (well-accurate and fast)" + }, + "embedded-banks": { + "description": "Build with embedded banks" + }, + "java-emulator": { + "description": "Build with Java OPL3 emulator (semi-accurate)" + }, + "midi-sequencer": { + "description": "Build with embedded MIDI sequencer" + }, + "mus": { + "description": "Support for DMX MUS files" + }, + "nuked-emulator": { + "description": "Build with Nuked OPL3 emulator (very-accurate, needs more CPU power)" + }, + "opal-emulator": { + "description": "Build with Opal OPL3 emulator (innacurate)" + }, + "xmi": { + "description": "Support for AIL XMI files" + } + } +} diff --git a/ports/libadwaita/portfile.cmake b/ports/libadwaita/portfile.cmake new file mode 100644 index 00000000000000..95bff5161465a4 --- /dev/null +++ b/ports/libadwaita/portfile.cmake @@ -0,0 +1,34 @@ +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.gnome.org/ + OUT_SOURCE_PATH SOURCE_PATH + REPO GNOME/libadwaita + REF "${VERSION}" + SHA512 5cea6396bab3439fb3ddef95fe86bc84955ce1eb426fc5dd323329eeab8a51e10de5f4d9c45380f905ceea43e094362a577a67386a3ddcefff362af030c8c7e3 + HEAD_REF main + PATCHES +) + +set(GLIB_TOOLS_DIR "${CURRENT_HOST_INSTALLED_DIR}/tools/glib") +set(SASSC_TOOLS_DIR "${CURRENT_HOST_INSTALLED_DIR}/tools/sassc") + +vcpkg_configure_meson( + SOURCE_PATH ${SOURCE_PATH} + OPTIONS + -Dintrospection=disabled + -Dtests=false + -Dgtk_doc=false + -Dexamples=false + -Dvapi=false + ADDITIONAL_BINARIES + glib-genmarshal='${GLIB_TOOLS_DIR}/glib-genmarshal' + glib-mkenums='${GLIB_TOOLS_DIR}/glib-mkenums' + glib-compile-resources='${GLIB_TOOLS_DIR}/glib-compile-resources${VCPKG_HOST_EXECUTABLE_SUFFIX}' + glib-compile-schemas='${GLIB_TOOLS_DIR}/glib-compile-schemas${VCPKG_HOST_EXECUTABLE_SUFFIX}' + sassc='${SASSC_TOOLS_DIR}/bin/sassc${VCPKG_HOST_EXECUTABLE_SUFFIX}' +) + +vcpkg_install_meson() +vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") diff --git a/ports/libadwaita/vcpkg.json b/ports/libadwaita/vcpkg.json new file mode 100644 index 00000000000000..473d97fd854345 --- /dev/null +++ b/ports/libadwaita/vcpkg.json @@ -0,0 +1,24 @@ +{ + "name": "libadwaita", + "version": "1.3.2", + "port-version": 2, + "description": "Building blocks for modern GNOME applications", + "homepage": "https://gnome.pages.gitlab.gnome.org/libadwaita", + "license": "LGPL-2.1-or-later", + "supports": "!xbox", + "dependencies": [ + { + "name": "glib", + "host": true + }, + "gtk", + { + "name": "sassc", + "host": true + }, + { + "name": "vcpkg-tool-meson", + "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/libaiff/portfile.cmake b/ports/libaiff/portfile.cmake index 97d8673b6b4f97..38c799e4ce0538 100644 --- a/ports/libaiff/portfile.cmake +++ b/ports/libaiff/portfile.cmake @@ -11,17 +11,16 @@ vcpkg_from_sourceforge( buffer_uninitialized.patch ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/config.h DESTINATION ${SOURCE_PATH}/libaiff) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") +file(COPY "${CMAKE_CURRENT_LIST_DIR}/config.h" DESTINATION "${SOURCE_PATH}/libaiff") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON ) -vcpkg_install_cmake() +vcpkg_cmake_install() file(GLOB HEADERS "${CURRENT_PACKAGES_DIR}/include/libaiff/*.h") foreach(HEADER ${HEADERS}) @@ -34,4 +33,4 @@ foreach(HEADER ${HEADERS}) endforeach() # Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/libaiff/vcpkg.json b/ports/libaiff/vcpkg.json index d8e0abb4cfb84c..d5eaa228a89fae 100644 --- a/ports/libaiff/vcpkg.json +++ b/ports/libaiff/vcpkg.json @@ -1,7 +1,13 @@ { "name": "libaiff", - "version-string": "5.0", - "port-version": 7, + "version": "5.0", + "port-version": 9, "description": "LibAiff is an open-source library, providing C applications transparent read & write operations for Audio Interchange File Format (AIFF) files, with the goal of supporting all of its features", - "homepage": "https://sourceforge.net/projects/aifftools" + "homepage": "https://sourceforge.net/projects/aifftools", + "dependencies": [ + { + "name": "vcpkg-cmake", + "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/portfile.cmake b/ports/libalkimia/portfile.cmake new file mode 100644 index 00000000000000..c45555c991a4b4 --- /dev/null +++ b/ports/libalkimia/portfile.cmake @@ -0,0 +1,49 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO KDE/alkimia + REF "v${VERSION}" + SHA512 ec7867e439178d6ed104c388c60bfe0bad223a9e35f4d9e05f2a7b3b2b2badac74b9a872f7922f58bb2b7a1127da742c430eff7caca71388085abdd1ad12cb1d + HEAD_REF master +) + +# Prevent KDEClangFormat from writing to source effectively blocking parallel configure +file(WRITE ${SOURCE_PATH}/.clang-format "DisableFormat: true\nSortIncludes: false\n") + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + webengine BUILD_WITH_WEBENGINE + tools BUILD_TOOLS +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DKDE_INSTALL_QMLDIR=qml + -DBUNDLE_INSTALL_DIR=bin + -DBUILD_TESTING=OFF + -DBUILD_DOXYGEN_DOCS=OFF + -DBUILD_WITH_WEBKIT=OFF + -DBUILD_APPLETS=OFF + ${FEATURE_OPTIONS} + MAYBE_UNUSED_VARIABLES + BUNDLE_INSTALL_DIR +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME LibAlkimia5 CONFIG_PATH lib/cmake/LibAlkimia5-8.1) +vcpkg_copy_pdbs() + +if ("tools" IN_LIST FEATURES) + vcpkg_copy_tools(TOOL_NAMES onlinequoteseditor5 AUTO_CLEAN) +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" "${CURRENT_PACKAGES_DIR}/debug/bin") +endif() + +vcpkg_fixup_pkgconfig() + +file(INSTALL "${SOURCE_PATH}/COPYING.LIB" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/libalkimia/vcpkg.json b/ports/libalkimia/vcpkg.json new file mode 100644 index 00000000000000..69e3ce0cfee710 --- /dev/null +++ b/ports/libalkimia/vcpkg.json @@ -0,0 +1,49 @@ +{ + "name": "libalkimia", + "version": "8.1.72", + "description": "Common functionality for finance applications.", + "homepage": "https://community.kde.org/Alkimia/libalkimia", + "license": "LGPL-2.1-or-later", + "supports": "!xbox", + "dependencies": [ + "ecm", + { + "name": "gettext", + "host": true, + "features": [ + "tools" + ] + }, + "gmp", + "kf5completion", + "kf5config", + "kf5coreaddons", + "kf5i18n", + "kf5iconthemes", + "kf5kio", + "kf5newstuff", + "kf5textwidgets", + "kf5xmlgui", + "qt5-base", + "qt5-tools", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "tools": { + "description": "Enables tools, including Online Quotes Editor" + }, + "webengine": { + "description": "Enables JavaScript support for parsing feature-rich websites", + "dependencies": [ + "qt5-webengine" + ] + } + } +} diff --git a/ports/libao/0001-windows-build-patch.patch b/ports/libao/0001-windows-build-patch.patch new file mode 100644 index 00000000000000..96bea61160a3c3 --- /dev/null +++ b/ports/libao/0001-windows-build-patch.patch @@ -0,0 +1,127 @@ +From 129f8e155596199191cc005bcc257397d0d981ac Mon Sep 17 00:00:00 2001 +From: xiaoyifang +Date: Wed, 16 Feb 2022 21:58:40 +0800 +Subject: [PATCH] patch windows + +--- + include/ao/ao_private.h | 30 +++++++++++++++--------------- + src/ao_wmm.c | 1 + + src/audio_out.c | 1 - + 3 files changed, 16 insertions(+), 16 deletions(-) + +diff --git a/include/ao/ao_private.h b/include/ao/ao_private.h +index 44fa03e..c3c50aa 100644 +--- a/include/ao/ao_private.h ++++ b/include/ao/ao_private.h +@@ -138,13 +138,13 @@ struct ao_functions { + + void ao_read_config_files (ao_config *config); + +-#define adebug(format, args...) {\ ++#define adebug(format, ...) {\ + if(!device || device->verbose==2){ \ + if(strcmp(format,"\n")){ \ + if(device && device->funcs->driver_info()->short_name){ \ +- fprintf(stderr,"ao_%s debug: " format,device->funcs->driver_info()->short_name,## args); \ ++ fprintf(stderr,"ao_%s debug: " format,device->funcs->driver_info()->short_name,__VA_ARGS__); \ + }else{ \ +- fprintf(stderr,"debug: " format,## args); \ ++ fprintf(stderr,"debug: " format,__VA_ARGS__); \ + } \ + }else{ \ + fprintf(stderr,"\n"); \ +@@ -152,13 +152,13 @@ void ao_read_config_files (ao_config *config); + } \ + } + +-#define averbose(format, args...) {\ ++#define averbose(format, ...) {\ + if(!device || device->verbose>0){ \ + if(strcmp(format,"\n")){ \ + if(device && device->funcs->driver_info()->short_name){ \ +- fprintf(stderr,"ao_%s info: " format,device->funcs->driver_info()->short_name,## args); \ ++ fprintf(stderr,"ao_%s info: " format,device->funcs->driver_info()->short_name,__VA_ARGS__); \ + }else{ \ +- fprintf(stderr,"info: " format,## args); \ ++ fprintf(stderr,"info: " format,__VA_ARGS__); \ + } \ + }else{ \ + fprintf(stderr,"\n"); \ +@@ -166,13 +166,13 @@ void ao_read_config_files (ao_config *config); + } \ + } + +-#define ainfo(format, args...) {\ ++#define ainfo(format, ...) {\ + if(!device || device->verbose>=0){ \ + if(strcmp(format,"\n")){ \ + if(device && device->funcs->driver_info()->short_name){ \ +- fprintf(stderr,"ao_%s info: " format,device->funcs->driver_info()->short_name,## args); \ ++ fprintf(stderr,"ao_%s info: " format,device->funcs->driver_info()->short_name,__VA_ARGS__); \ + }else{ \ +- fprintf(stderr,"info: " format,## args); \ ++ fprintf(stderr,"info: " format,__VA_ARGS__); \ + } \ + }else{ \ + fprintf(stderr,"\n"); \ +@@ -180,13 +180,13 @@ void ao_read_config_files (ao_config *config); + } \ + } + +-#define awarn(format, args...) {\ ++#define awarn(format, ...) {\ + if(!device || device->verbose>=0){ \ + if(strcmp(format,"\n")){ \ + if(device && device->funcs->driver_info()->short_name){ \ +- fprintf(stderr,"ao_%s WARNING: " format,device->funcs->driver_info()->short_name,## args); \ ++ fprintf(stderr,"ao_%s WARNING: " format,device->funcs->driver_info()->short_name,__VA_ARGS__); \ + }else{ \ +- fprintf(stderr,"WARNING: " format,## args); \ ++ fprintf(stderr,"WARNING: " format,__VA_ARGS__); \ + } \ + }else{ \ + fprintf(stderr,"\n"); \ +@@ -194,13 +194,13 @@ void ao_read_config_files (ao_config *config); + } \ + } + +-#define aerror(format, args...) { \ ++#define aerror(format, ...) { \ + if(!device || device->verbose>=0){ \ + if(strcmp(format,"\n")){ \ + if(device && device->funcs->driver_info()->short_name){ \ +- fprintf(stderr,"ao_%s ERROR: " format,device->funcs->driver_info()->short_name,## args); \ ++ fprintf(stderr,"ao_%s ERROR: " format,device->funcs->driver_info()->short_name,__VA_ARGS__); \ + }else{ \ +- fprintf(stderr,"ERROR: " format,## args); \ ++ fprintf(stderr,"ERROR: " format,__VA_ARGS__); \ + } \ + }else{ \ + fprintf(stderr,"\n"); \ +diff --git a/src/ao_wmm.c b/src/ao_wmm.c +index eec6b83..d18d2a4 100644 +--- a/src/ao_wmm.c ++++ b/src/ao_wmm.c +@@ -33,6 +33,7 @@ + #include + #include + #include ++#include + #include + + #include +diff --git a/src/audio_out.c b/src/audio_out.c +index bd8f6fc..e3af366 100644 +--- a/src/audio_out.c ++++ b/src/audio_out.c +@@ -49,7 +49,6 @@ static int dlclose(void *handle) { return 0; } + #ifndef _MSC_VER + # include + #endif +-#include + + #include "ao/ao.h" + #include "ao_private.h" +-- +2.30.0.windows.2 + diff --git a/ports/libao/portfile.cmake b/ports/libao/portfile.cmake new file mode 100644 index 00000000000000..274beec82ec25c --- /dev/null +++ b/ports/libao/portfile.cmake @@ -0,0 +1,34 @@ +set(NO_DLFCN ) +if(VCPKG_TARGET_IS_WINDOWS) + list(APPEND PATCHES "0001-windows-build-patch.patch") + set(NO_DLFCN "ac_cv_header_dlfcn_h=no") +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO xiph/libao + REF 1.2.2 + SHA512 d2736d25b60862e7d7469611ce31b1df40a4366ab160e2ff1b46919ae91692d1596c8468e4f016303b306fc3ac1bddc7b727f535a362f403c3fe7c6532e9045a + HEAD_REF master + PATCHES ${PATCHES} +) + +if(VCPKG_TARGET_IS_WINDOWS) + set(ENV{LIBS} "-lwinmm -lksuser") +endif() + +vcpkg_configure_make( + SOURCE_PATH ${SOURCE_PATH} + AUTOCONFIG + OPTIONS --disable-binaries + ${NO_DLFCN} +) +vcpkg_install_make() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + + +vcpkg_fixup_pkgconfig() + +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/libao/vcpkg.json b/ports/libao/vcpkg.json new file mode 100644 index 00000000000000..fe6117b531c635 --- /dev/null +++ b/ports/libao/vcpkg.json @@ -0,0 +1,16 @@ +{ + "name": "libao", + "version": "1.2.2", + "port-version": 5, + "description": "libao - A Cross-platform Audio Library", + "homepage": "https://github.com/xiph/libao", + "license": "GPL-2.0", + "supports": "!uwp & !xbox", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true, + "platform": "windows" + } + ] +} 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-dependencies.patch b/ports/libarchive/fix-dependencies.patch deleted file mode 100644 index 0d3213c6766f52..00000000000000 --- a/ports/libarchive/fix-dependencies.patch +++ /dev/null @@ -1,150 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 39b5333..8164d8f 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -433,7 +433,7 @@ MARK_AS_ADVANCED(CLEAR ZLIB_LIBRARY) - # Find BZip2 - # - IF(ENABLE_BZip2) -- FIND_PACKAGE(BZip2) -+ FIND_PACKAGE(BZip2 REQUIRED) - ELSE() - SET(BZIP2_FOUND FALSE) # Override cached value - ENDIF() -@@ -462,27 +462,15 @@ MARK_AS_ADVANCED(CLEAR BZIP2_LIBRARIES) - # Find LZMA - # - IF(ENABLE_LZMA) -- FIND_PACKAGE(LibLZMA) -+ FIND_PACKAGE(LibLZMA CONFIG REQUIRED) - ELSE() - SET(LIBLZMA_FOUND FALSE) # Override cached value - ENDIF() - --IF(LIBLZMA_FOUND) -+IF(LibLZMA_FOUND) - SET(HAVE_LIBLZMA 1) - SET(HAVE_LZMA_H 1) -- CMAKE_PUSH_CHECK_STATE() -- INCLUDE_DIRECTORIES(${LIBLZMA_INCLUDE_DIRS}) -- LIST(APPEND ADDITIONAL_LIBS ${LIBLZMA_LIBRARIES}) -- # Test if a macro is needed for the library. -- TRY_MACRO_FOR_LIBRARY( -- "${LIBLZMA_INCLUDE_DIRS}" "${LIBLZMA_LIBRARIES}" -- COMPILES -- "#include \nint main() {return (int)lzma_version_number(); }" -- "WITHOUT_LZMA_API_STATIC;LZMA_API_STATIC") -- IF(NOT WITHOUT_LZMA_API_STATIC AND LZMA_API_STATIC) -- ADD_DEFINITIONS(-DLZMA_API_STATIC) -- ENDIF(NOT WITHOUT_LZMA_API_STATIC AND LZMA_API_STATIC) -- CMAKE_POP_CHECK_STATE() -+ LIST(APPEND ADDITIONAL_LIBS LibLZMA::LibLZMA) - ELSE(LIBLZMA_FOUND) - # LZMA not found and will not be used. - ENDIF(LIBLZMA_FOUND) -@@ -555,22 +543,15 @@ IF(ENABLE_LZ4) - SET(LZ4_FIND_QUIETLY TRUE) - ENDIF (LZ4_INCLUDE_DIR) - -- FIND_PATH(LZ4_INCLUDE_DIR lz4.h) -- FIND_LIBRARY(LZ4_LIBRARY NAMES lz4 liblz4) -- INCLUDE(FindPackageHandleStandardArgs) -- FIND_PACKAGE_HANDLE_STANDARD_ARGS(LZ4 DEFAULT_MSG LZ4_LIBRARY LZ4_INCLUDE_DIR) -+ FIND_PACKAGE(lz4 CONFIG REQUIRED) - ELSE(ENABLE_LZ4) - SET(LZ4_FOUND FALSE) # Override cached value - ENDIF(ENABLE_LZ4) --IF(LZ4_FOUND) -+IF(lz4_FOUND) -+ SET(HAVE_LZ4HC_H 1) - SET(HAVE_LIBLZ4 1) - SET(HAVE_LZ4_H 1) -- 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) -- CMAKE_POP_CHECK_STATE() # Restore the state of the variables -- INCLUDE_DIRECTORIES(${LZ4_INCLUDE_DIR}) -- LIST(APPEND ADDITIONAL_LIBS ${LZ4_LIBRARY}) -+ LIST(APPEND ADDITIONAL_LIBS lz4::lz4) - # - # TODO: test for static library. - # -@@ -586,25 +566,20 @@ IF(ENABLE_ZSTD) - SET(ZSTD_FIND_QUIETLY TRUE) - ENDIF (ZSTD_INCLUDE_DIR) - -- FIND_PATH(ZSTD_INCLUDE_DIR zstd.h) -- FIND_LIBRARY(ZSTD_LIBRARY NAMES zstd libzstd) -- INCLUDE(FindPackageHandleStandardArgs) -- FIND_PACKAGE_HANDLE_STANDARD_ARGS(ZSTD DEFAULT_MSG ZSTD_LIBRARY ZSTD_INCLUDE_DIR) -+ FIND_PACKAGE(zstd CONFIG REQUIRED) - ELSE(ENABLE_ZSTD) - SET(ZSTD_FOUND FALSE) # Override cached value - ENDIF(ENABLE_ZSTD) --IF(ZSTD_FOUND) -+IF(zstd_FOUND) - SET(HAVE_ZSTD_H 1) -- INCLUDE_DIRECTORIES(${ZSTD_INCLUDE_DIR}) -- LIST(APPEND ADDITIONAL_LIBS ${ZSTD_LIBRARY}) -- CMAKE_PUSH_CHECK_STATE() -- SET(CMAKE_REQUIRED_LIBRARIES ${ZSTD_LIBRARY}) -- SET(CMAKE_REQUIRED_INCLUDES ${ZSTD_INCLUDE_DIR}) -- CHECK_FUNCTION_EXISTS(ZSTD_compressStream HAVE_LIBZSTD) -- # -- # TODO: test for static library. -- # -- CMAKE_POP_CHECK_STATE() -+ SET(HAVE_LIBZSTD 1) -+ IF(TARGET zstd::libzstd_shared) -+ LIST(APPEND ADDITIONAL_LIBS zstd::libzstd_shared) -+ SET(CMAKE_REQUIRED_LIBRARIES zstd::libzstd_shared) -+ ELSE(TARGET zstd::libzstd_shared) -+ LIST(APPEND ADDITIONAL_LIBS zstd::libzstd_static) -+ SET(CMAKE_REQUIRED_LIBRARIES zstd::libzstd_static) -+ ENDIF(TARGET zstd::libzstd_shared) - ENDIF(ZSTD_FOUND) - MARK_AS_ADVANCED(CLEAR ZSTD_INCLUDE_DIR) - MARK_AS_ADVANCED(CLEAR ZSTD_LIBRARY) -@@ -773,11 +742,11 @@ ENDIF(ENABLE_NETTLE) - # (Except on Mac, where OpenSSL is deprecated.) - # - IF(ENABLE_OPENSSL AND NOT CMAKE_SYSTEM_NAME MATCHES "Darwin") -- FIND_PACKAGE(OpenSSL) -- IF(OPENSSL_FOUND) -+ FIND_PACKAGE(OpenSSL REQUIRED) -+ IF(OpenSSL_FOUND) - SET(HAVE_LIBCRYPTO 1) -- INCLUDE_DIRECTORIES(${OPENSSL_INCLUDE_DIR}) -- LIST(APPEND ADDITIONAL_LIBS ${OPENSSL_CRYPTO_LIBRARY}) -+ LIST(APPEND ADDITIONAL_LIBS OpenSSL::Crypto) -+ message("OPENSSL_CRYPTO_LIBRARY: OpenSSL::Crypto") - ENDIF(OPENSSL_FOUND) - ELSE() - SET(OPENSSL_FOUND FALSE) # Override cached value -@@ -896,7 +865,6 @@ main(int argc, char **argv) - IF ("${IMPLEMENTATION}" MATCHES "^OPENSSL$" AND OPENSSL_FOUND) - INCLUDE_DIRECTORIES(${OPENSSL_INCLUDE_DIR}) - LIST(APPEND ADDITIONAL_LIBS ${OPENSSL_LIBRARIES}) -- LIST(REMOVE_DUPLICATES ADDITIONAL_LIBS) - ENDIF ("${IMPLEMENTATION}" MATCHES "^OPENSSL$" AND OPENSSL_FOUND) - ENDIF (ARCHIVE_CRYPTO_${ALGORITHM}_${IMPLEMENTATION}) - ENDIF(NOT ARCHIVE_CRYPTO_${ALGORITHM}) -@@ -1128,7 +1096,7 @@ ENDIF(ENABLE_ICONV) - # Find Libxml2 - # - IF(ENABLE_LIBXML2) -- FIND_PACKAGE(LibXml2) -+ FIND_PACKAGE(LibXml2 REQUIRED) - ELSE() - SET(LIBXML2_FOUND FALSE) - ENDIF() -@@ -1432,8 +1400,7 @@ CHECK_C_SOURCE_COMPILES( - MAJOR_IN_SYSMACROS) - - CMAKE_PUSH_CHECK_STATE() --SET(CMAKE_REQUIRED_INCLUDES ${LIBLZMA_INCLUDE_DIR}) --SET(CMAKE_REQUIRED_LIBRARIES ${LIBLZMA_LIBRARIES}) -+SET(CMAKE_REQUIRED_LIBRARIES LibLZMA::LibLZMA) - 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;}" diff --git a/ports/libarchive/fix-deps.patch b/ports/libarchive/fix-deps.patch new file mode 100644 index 00000000000000..bc148475fa474c --- /dev/null +++ b/ports/libarchive/fix-deps.patch @@ -0,0 +1,252 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index dc61b28..7dcdefd 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -446,6 +446,8 @@ IF(DEFINED __GNUWIN32PATH AND EXISTS "${__GNUWIN32PATH}") + ENDIF(DEFINED __GNUWIN32PATH AND EXISTS "${__GNUWIN32PATH}") + + SET(ADDITIONAL_LIBS "") ++SET(LIBARCHIVE_LIBS_PRIVATE "") # additional libs for which the pc module is unknown ++SET(LIBSREQUIRED "") # pc modules for additonal libs + # + # Find ZLIB + # +@@ -462,6 +464,7 @@ IF(ZLIB_FOUND) + SET(HAVE_ZLIB_H 1) + INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIR}) + LIST(APPEND ADDITIONAL_LIBS ${ZLIB_LIBRARIES}) ++ STRING(APPEND LIBSREQUIRED " zlib") + IF(WIN32 AND NOT CYGWIN) + SET(ZLIB_WINAPI OFF) # skip following test, it crashes with weird message box + IF(ZLIB_WINAPI) +@@ -494,6 +497,7 @@ IF(BZIP2_FOUND) + SET(HAVE_BZLIB_H 1) + INCLUDE_DIRECTORIES(${BZIP2_INCLUDE_DIR}) + LIST(APPEND ADDITIONAL_LIBS ${BZIP2_LIBRARIES}) ++ STRING(APPEND LIBSREQUIRED " bzip2") + # Test if a macro is needed for the library. + TRY_MACRO_FOR_LIBRARY( + "${BZIP2_INCLUDE_DIR}" "${BZIP2_LIBRARIES}" +@@ -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") + CMAKE_PUSH_CHECK_STATE() + 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}) ++ STRING(APPEND LIBSREQUIRED " lzo2") + # + # TODO: test for static library. + # +@@ -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}) +@@ -609,6 +617,8 @@ ENDIF(LIBB2_FOUND) + # Find LZ4 + # + IF(ENABLE_LZ4) ++ FIND_PACKAGE(LZ4 NAMES lz4 CONFIG REQUIRED) ++elseif(0) + IF (LZ4_INCLUDE_DIR) + # Already in cache, be silent + SET(LZ4_FIND_QUIETLY TRUE) +@@ -624,6 +634,10 @@ ENDIF(ENABLE_LZ4) + IF(LZ4_FOUND) + SET(HAVE_LIBLZ4 1) + SET(HAVE_LZ4_H 1) ++ SET(HAVE_LZ4HC_H 1) ++ LIST(APPEND ADDITIONAL_LIBS lz4::lz4) ++ STRING(APPEND LIBSREQUIRED " liblz4") ++elseif(0) + 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) +@@ -640,6 +654,8 @@ MARK_AS_ADVANCED(CLEAR LZ4_LIBRARY) + # Find Zstd + # + IF(ENABLE_ZSTD) ++ FIND_PACKAGE(ZSTD NAMES zstd CONFIG REQUIRED) ++elseif(0) + IF (ZSTD_INCLUDE_DIR) + # Already in cache, be silent + SET(ZSTD_FIND_QUIETLY TRUE) +@@ -659,6 +675,11 @@ ELSE(ENABLE_ZSTD) + ENDIF(ENABLE_ZSTD) + IF(ZSTD_FOUND) + SET(HAVE_ZSTD_H 1) ++ SET(HAVE_LIBZSTD 1) ++ 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() +@@ -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") + ENDIF(HAVE_BCRYPT_H) + ELSE(ENABLE_CNG) + UNSET(HAVE_BCRYPT_H CACHE) +@@ -799,6 +821,7 @@ IF(ENABLE_MBEDTLS) + IF(MBEDTLS_FOUND) + SET(HAVE_LIBMBEDCRYPTO 1) + LIST(APPEND ADDITIONAL_LIBS ${MBEDCRYPTO_LIBRARY}) ++ LIST(APPEND LIBARCHIVE_LIBS_PRIVATE ${MBEDCRYPTO_LIBRARY}) + INCLUDE_DIRECTORIES(${MBEDTLS_INCLUDE_DIRS}) + + LIST(APPEND CMAKE_REQUIRED_INCLUDES ${MBEDTLS_INCLUDE_DIRS}) +@@ -819,6 +842,7 @@ IF(ENABLE_NETTLE) + IF(NETTLE_FOUND) + SET(HAVE_LIBNETTLE 1) + LIST(APPEND ADDITIONAL_LIBS ${NETTLE_LIBRARIES}) ++ STRING(APPEND LIBSREQUIRED " nettle") + INCLUDE_DIRECTORIES(${NETTLE_INCLUDE_DIR}) + + LIST(APPEND CMAKE_REQUIRED_INCLUDES ${NETTLE_INCLUDE_DIR}) +@@ -842,8 +866,8 @@ IF(ENABLE_OPENSSL AND NOT CMAKE_SYSTEM_NAME MATCHES "Darwin") + FIND_PACKAGE(OpenSSL) + IF(OPENSSL_FOUND) + SET(HAVE_LIBCRYPTO 1) +- INCLUDE_DIRECTORIES(${OPENSSL_INCLUDE_DIR}) +- LIST(APPEND ADDITIONAL_LIBS ${OPENSSL_CRYPTO_LIBRARY}) ++ LIST(APPEND ADDITIONAL_LIBS OpenSSL::Crypto) ++ STRING(APPEND LIBSREQUIRED " libcrypto") + 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}) ++ LIST(APPEND LIBARCHIVE_LIBS_PRIVATE ${LIBMD_LIBRARY}) + CMAKE_POP_CHECK_STATE() # Restore the state of the variables + ENDIF(LIBMD_FOUND) + ENDIF(NOT OPENSSL_FOUND) +@@ -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}) +- LIST(REMOVE_DUPLICATES ADDITIONAL_LIBS) ++ #LIST(REMOVE_DUPLICATES ADDITIONAL_LIBS) ++ STRING(APPEND LIBSREQUIRED " libssl") + ENDIF ("${IMPLEMENTATION}" MATCHES "^OPENSSL$" AND OPENSSL_FOUND) + ENDIF (ARCHIVE_CRYPTO_${ALGORITHM}_${IMPLEMENTATION}) + ENDIF(NOT ARCHIVE_CRYPTO_${ALGORITHM}) +@@ -1148,6 +1174,7 @@ IF(ENABLE_ICONV) + CHECK_ICONV("libiconv" "") + IF (HAVE_ICONV) + LIST(APPEND ADDITIONAL_LIBS ${LIBICONV_PATH}) ++ LIST(APPEND LIBARCHIVE_LIBS_PRIVATE ${LIBICONV_PATH}) + ENDIF(HAVE_ICONV) + ENDIF(NOT HAVE_ICONV AND LIBICONV_PATH) + ENDIF(ICONV_INCLUDE_DIR) +@@ -1181,6 +1208,7 @@ IF(ENABLE_ICONV) + ENDIF(WIN32 AND NOT CYGWIN) + IF(HAVE_LOCALE_CHARSET) + LIST(APPEND ADDITIONAL_LIBS ${LIBCHARSET_PATH}) ++ LIST(APPEND LIBARCHIVE_LIBS_PRIVATE ${LIBCHARSET_PATH}) + ENDIF(HAVE_LOCALE_CHARSET) + ENDIF(LIBCHARSET_PATH) + ENDIF(LIBICONV_PATH) +@@ -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}) ++ STRING(APPEND LIBSREQUIRED " libxml-2.0") + SET(HAVE_LIBXML2 1) + # libxml2's include files use iconv.h + SET(CMAKE_REQUIRED_INCLUDES ${ICONV_INCLUDE_DIR} ${LIBXML2_INCLUDE_DIR}) +@@ -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}) ++ STRING(APPEND LIBSREQUIRED " expat") + SET(HAVE_LIBEXPAT 1) + LA_CHECK_INCLUDE_FILE("expat.h" HAVE_EXPAT_H) + CMAKE_POP_CHECK_STATE() # Restore the state of the variables +@@ -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}) ++ LIST(APPEND LIBARCHIVE_LIBS_PRIVATE ${REGEX_LIBRARY}) + # + # If regex.h is not found, retry looking for regex.h at + # REGEX_INCLUDE_DIR +@@ -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}) ++ LIST(APPEND LIBARCHIVE_LIBS_PRIVATE ${PCREPOSIX_LIBRARIES}) + # Test if a macro is needed for the library. + TRY_MACRO_FOR_LIBRARY( + "${PCRE_INCLUDE_DIR}" "${PCREPOSIX_LIBRARIES}" +@@ -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}) ++ LIST(APPEND LIBARCHIVE_LIBS_PRIVATE ${PCRE_LIBRARIES}) + SET(TMP_LIBRARIES ${PCREPOSIX_LIBRARIES} ${PCRE_LIBRARIES}) + MESSAGE(STATUS "trying again with -lpcre included") + TRY_MACRO_FOR_LIBRARY( +@@ -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}) ++ LIST(APPEND LIBARCHIVE_LIBS_PRIVATE ${LIBGCC_LIBRARIES}) + SET(TMP_LIBRARIES ${PCREPOSIX_LIBRARIES} ${PCRE_LIBRARIES} ${LIBGCC_LIBRARIES}) + TRY_MACRO_FOR_LIBRARY( + "${PCRE_INCLUDE_DIR}" "${TMP_LIBRARIES}" +@@ -1919,6 +1953,7 @@ IF(ENABLE_ACL) + SET(CMAKE_REQUIRED_LIBRARIES "acl") + FIND_LIBRARY(ACL_LIBRARY NAMES acl) + LIST(APPEND ADDITIONAL_LIBS ${ACL_LIBRARY}) ++ LIST(APPEND LIBARCHIVE_LIBS_PRIVATE ${ACL_LIBRARY}) + ENDIF(HAVE_LIBACL) + + CHECK_TYPE_EXISTS(acl_t "sys/types.h;sys/acl.h" HAVE_ACL_T) +@@ -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}) ++ LIST(APPEND LIBARCHIVE_LIBS_PRIVATE ${RICHACL_LIBRARY}) + ENDIF(HAVE_LIBRICHACL) + + CHECK_STRUCT_HAS_MEMBER("struct richace" e_type "sys/richacl.h" +diff --git a/build/cmake/CreatePkgConfigFile.cmake b/build/cmake/CreatePkgConfigFile.cmake +index bc5a43f..422b83b 100644 +--- a/build/cmake/CreatePkgConfigFile.cmake ++++ b/build/cmake/CreatePkgConfigFile.cmake +@@ -8,7 +8,7 @@ SET(libdir \${exec_prefix}/lib) + SET(includedir \${prefix}/include) + # Now, this is not particularly pretty, nor is it terribly accurate... + # Loop over all our additional libs +-FOREACH(mylib ${ADDITIONAL_LIBS}) ++FOREACH(mylib ${LIBARCHIVE_LIBS_PRIVATE}) + # Extract the filename from the absolute path + GET_FILENAME_COMPONENT(mylib_name ${mylib} NAME_WE) + # Strip the lib prefix +@@ -16,10 +16,6 @@ FOREACH(mylib ${ADDITIONAL_LIBS}) + # Append it to our LIBS string + SET(LIBS "${LIBS} -l${mylib_name}") + ENDFOREACH() +-# libxml2 is easier, since it's already using pkg-config +-FOREACH(mylib ${PC_LIBXML_STATIC_LDFLAGS}) +- SET(LIBS "${LIBS} ${mylib}") +-ENDFOREACH() + # FIXME: The order of the libraries doesn't take dependencies into account, + # thus there's a good chance it'll make some binutils versions unhappy... + # This only affects Libs.private (looked up for static builds) though. diff --git a/ports/libarchive/pkgconfig-modules.patch b/ports/libarchive/pkgconfig-modules.patch deleted file mode 100644 index d8e6f4cf759f41..00000000000000 --- a/ports/libarchive/pkgconfig-modules.patch +++ /dev/null @@ -1,238 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 7b6f0ad..18cf15c 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -397,6 +397,8 @@ IF(DEFINED __GNUWIN32PATH AND EXISTS "${__GNUWIN32PATH}") - ENDIF(DEFINED __GNUWIN32PATH AND EXISTS "${__GNUWIN32PATH}") - - SET(ADDITIONAL_LIBS "") -+SET(LIBARCHIVE_LIBS_PRIVATE "") # additional libs for which the pc module is unknown -+SET(LIBARCHIVE_REQUIRES_PRIVATE "") # pc modules for additonal libs - # - # Find ZLIB - # -@@ -410,6 +412,7 @@ IF(ZLIB_FOUND) - SET(HAVE_ZLIB_H 1) - INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIR}) - LIST(APPEND ADDITIONAL_LIBS ${ZLIB_LIBRARIES}) -+ STRING(APPEND LIBARCHIVE_REQUIRES_PRIVATE " zlib") - IF(WIN32 AND NOT CYGWIN) - SET(ZLIB_WINAPI OFF) # skip following test, it crashes with weird message box - IF(ZLIB_WINAPI) -@@ -442,6 +445,7 @@ IF(BZIP2_FOUND) - SET(HAVE_BZLIB_H 1) - INCLUDE_DIRECTORIES(${BZIP2_INCLUDE_DIR}) - LIST(APPEND ADDITIONAL_LIBS ${BZIP2_LIBRARIES}) -+ STRING(APPEND LIBARCHIVE_REQUIRES_PRIVATE " bzip2") - # Test if a macro is needed for the library. - TRY_MACRO_FOR_LIBRARY( - "${BZIP2_INCLUDE_DIR}" "${BZIP2_LIBRARIES}" -@@ -471,6 +475,7 @@ IF(LibLZMA_FOUND) - SET(HAVE_LIBLZMA 1) - SET(HAVE_LZMA_H 1) - LIST(APPEND ADDITIONAL_LIBS LibLZMA::LibLZMA) -+ STRING(APPEND LIBARCHIVE_REQUIRES_PRIVATE " liblzma") - ELSE(LIBLZMA_FOUND) - # LZMA not found and will not be used. - ENDIF(LIBLZMA_FOUND) -@@ -499,6 +504,7 @@ IF(LZO2_FOUND) - SET(HAVE_LZO_LZO1X_H 1) - INCLUDE_DIRECTORIES(${LZO2_INCLUDE_DIR}) - LIST(APPEND ADDITIONAL_LIBS ${LZO2_LIBRARY}) -+ STRING(APPEND LIBARCHIVE_REQUIRES_PRIVATE " lzo2") - # - # TODO: test for static library. - # -@@ -526,6 +532,7 @@ IF(LIBB2_FOUND) - SET(HAVE_BLAKE2_H 1) - SET(ARCHIVE_BLAKE2 FALSE) - LIST(APPEND ADDITIONAL_LIBS ${LIBB2_LIBRARY}) -+ LIST(APPEND LIBARCHIVE_LIBS_PRIVATE ${LIBB2_LIBRARY}) - CMAKE_PUSH_CHECK_STATE() - SET(CMAKE_REQUIRED_LIBRARIES ${LIBB2_LIBRARY}) - SET(CMAKE_REQUIRED_INCLUDES ${LIBB2_INCLUDE_DIR}) -@@ -552,6 +559,7 @@ IF(lz4_FOUND) - SET(HAVE_LIBLZ4 1) - SET(HAVE_LZ4_H 1) - LIST(APPEND ADDITIONAL_LIBS lz4::lz4) -+ STRING(APPEND LIBARCHIVE_REQUIRES_PRIVATE " liblz4") - # - # TODO: test for static library. - # -@@ -581,6 +589,7 @@ IF(zstd_FOUND) - LIST(APPEND ADDITIONAL_LIBS zstd::libzstd_static) - SET(CMAKE_REQUIRED_LIBRARIES zstd::libzstd_static) - ENDIF(TARGET zstd::libzstd_shared) -+ STRING(APPEND LIBARCHIVE_REQUIRES_PRIVATE " libzstd") - ENDIF(ZSTD_FOUND) - MARK_AS_ADVANCED(CLEAR ZSTD_INCLUDE_DIR) - MARK_AS_ADVANCED(CLEAR ZSTD_LIBRARY) -@@ -678,6 +687,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") - ENDIF(HAVE_BCRYPT_H) - ELSE(ENABLE_CNG) - UNSET(HAVE_BCRYPT_H CACHE) -@@ -709,6 +719,7 @@ IF(ENABLE_MBEDTLS) - IF(MBEDTLS_FOUND) - SET(HAVE_LIBMBEDCRYPTO 1) - LIST(APPEND ADDITIONAL_LIBS ${MBEDCRYPTO_LIBRARY}) -+ LIST(APPEND LIBARCHIVE_LIBS_PRIVATE ${MBEDCRYPTO_LIBRARY}) - INCLUDE_DIRECTORIES(${MBEDTLS_INCLUDE_DIRS}) - - LIST(APPEND CMAKE_REQUIRED_INCLUDES ${MBEDTLS_INCLUDE_DIRS}) -@@ -729,6 +740,7 @@ IF(ENABLE_NETTLE) - IF(NETTLE_FOUND) - SET(HAVE_LIBNETTLE 1) - LIST(APPEND ADDITIONAL_LIBS ${NETTLE_LIBRARIES}) -+ STRING(APPEND LIBARCHIVE_REQUIRES_PRIVATE " nettle") - INCLUDE_DIRECTORIES(${NETTLE_INCLUDE_DIR}) - - LIST(APPEND CMAKE_REQUIRED_INCLUDES ${NETTLE_INCLUDE_DIR}) -@@ -753,6 +765,11 @@ IF(ENABLE_OPENSSL AND NOT CMAKE_SYSTEM_NAME MATCHES "Darwin") - IF(OpenSSL_FOUND) - SET(HAVE_LIBCRYPTO 1) - LIST(APPEND ADDITIONAL_LIBS OpenSSL::Crypto) -+ IF(WIN32 AND NOT MINGW) -+ LIST(APPEND LIBARCHIVE_LIBS_PRIVATE "libcrypto") -+ ELSE() -+ STRING(APPEND LIBARCHIVE_REQUIRES_PRIVATE " libcrypto") -+ ENDIF() - message("OPENSSL_CRYPTO_LIBRARY: OpenSSL::Crypto") - ENDIF(OPENSSL_FOUND) - ELSE() -@@ -767,6 +780,7 @@ IF(NOT OPENSSL_FOUND) - SET(CMAKE_REQUIRED_LIBRARIES "md") - FIND_LIBRARY(LIBMD_LIBRARY NAMES md) - LIST(APPEND ADDITIONAL_LIBS ${LIBMD_LIBRARY}) -+ LIST(APPEND LIBARCHIVE_LIBS_PRIVATE ${LIBMD_LIBRARY}) - CMAKE_POP_CHECK_STATE() # Restore the state of the variables - ENDIF(LIBMD_FOUND) - ENDIF(NOT OPENSSL_FOUND) -@@ -872,6 +886,11 @@ main(int argc, char **argv) - IF ("${IMPLEMENTATION}" MATCHES "^OPENSSL$" AND OPENSSL_FOUND) - INCLUDE_DIRECTORIES(${OPENSSL_INCLUDE_DIR}) - LIST(APPEND ADDITIONAL_LIBS ${OPENSSL_LIBRARIES}) -+ IF(WIN32 AND NOT MINGW) -+ LIST(APPEND LIBARCHIVE_LIBS_PRIVATE "libssl") -+ ELSE() -+ STRING(APPEND LIBARCHIVE_REQUIRES_PRIVATE " libssl") -+ ENDIF() - ENDIF ("${IMPLEMENTATION}" MATCHES "^OPENSSL$" AND OPENSSL_FOUND) - ENDIF (ARCHIVE_CRYPTO_${ALGORITHM}_${IMPLEMENTATION}) - ENDIF(NOT ARCHIVE_CRYPTO_${ALGORITHM}) -@@ -1045,6 +1060,7 @@ IF(ENABLE_ICONV) - CHECK_ICONV("libiconv" "") - IF (HAVE_ICONV) - LIST(APPEND ADDITIONAL_LIBS ${LIBICONV_PATH}) -+ LIST(APPEND LIBARCHIVE_LIBS_PRIVATE ${LIBICONV_PATH}) - ENDIF(HAVE_ICONV) - ENDIF(NOT HAVE_ICONV AND LIBICONV_PATH) - ENDIF(ICONV_INCLUDE_DIR) -@@ -1078,6 +1094,7 @@ IF(ENABLE_ICONV) - ENDIF(WIN32 AND NOT CYGWIN) - IF(HAVE_LOCALE_CHARSET) - LIST(APPEND ADDITIONAL_LIBS ${LIBCHARSET_PATH}) -+ LIST(APPEND LIBARCHIVE_LIBS_PRIVATE ${LIBCHARSET_PATH}) - ENDIF(HAVE_LOCALE_CHARSET) - ENDIF(LIBCHARSET_PATH) - ENDIF(LIBICONV_PATH) -@@ -1111,6 +1128,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}) -+ STRING(APPEND LIBARCHIVE_REQUIRES_PRIVATE " libxml-2.0") - SET(HAVE_LIBXML2 1) - # libxml2's include files use iconv.h - SET(CMAKE_REQUIRED_INCLUDES ${ICONV_INCLUDE_DIR} ${LIBXML2_INCLUDE_DIR}) -@@ -1140,6 +1158,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}) -+ STRING(APPEND LIBARCHIVE_REQUIRES_PRIVATE " expat") - SET(HAVE_LIBEXPAT 1) - LA_CHECK_INCLUDE_FILE("expat.h" HAVE_EXPAT_H) - CMAKE_POP_CHECK_STATE() # Restore the state of the variables -@@ -1170,6 +1189,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}) -+ LIST(APPEND LIBARCHIVE_LIBS_PRIVATE ${REGEX_LIBRARY}) - # - # If regex.h is not found, retry looking for regex.h at - # REGEX_INCLUDE_DIR -@@ -1218,6 +1238,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}) -+ LIST(APPEND LIBARCHIVE_LIBS_PRIVATE ${PCREPOSIX_LIBRARIES}) - # Test if a macro is needed for the library. - TRY_MACRO_FOR_LIBRARY( - "${PCRE_INCLUDE_DIR}" "${PCREPOSIX_LIBRARIES}" -@@ -1229,6 +1250,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}) -+ LIST(APPEND LIBARCHIVE_LIBS_PRIVATE ${PCRE_LIBRARIES}) - SET(TMP_LIBRARIES ${PCREPOSIX_LIBRARIES} ${PCRE_LIBRARIES}) - MESSAGE(STATUS "trying again with -lpcre included") - TRY_MACRO_FOR_LIBRARY( -@@ -1244,6 +1266,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}) -+ LIST(APPEND LIBARCHIVE_LIBS_PRIVATE ${LIBGCC_LIBRARIES}) - SET(TMP_LIBRARIES ${PCREPOSIX_LIBRARIES} ${PCRE_LIBRARIES} ${LIBGCC_LIBRARIES}) - TRY_MACRO_FOR_LIBRARY( - "${PCRE_INCLUDE_DIR}" "${TMP_LIBRARIES}" -@@ -1762,6 +1785,7 @@ IF(ENABLE_ACL) - SET(CMAKE_REQUIRED_LIBRARIES "acl") - FIND_LIBRARY(ACL_LIBRARY NAMES acl) - LIST(APPEND ADDITIONAL_LIBS ${ACL_LIBRARY}) -+ LIST(APPEND LIBARCHIVE_LIBS_PRIVATE ${ACL_LIBRARY}) - ENDIF(HAVE_LIBACL) - - CHECK_TYPE_EXISTS(acl_t "sys/types.h;sys/acl.h" HAVE_ACL_T) -@@ -1901,6 +1925,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}) -+ LIST(APPEND LIBARCHIVE_LIBS_PRIVATE ${RICHACL_LIBRARY}) - ENDIF(HAVE_LIBRICHACL) - - CHECK_STRUCT_HAS_MEMBER("struct richace" e_type "sys/richacl.h" -diff --git a/build/cmake/CreatePkgConfigFile.cmake b/build/cmake/CreatePkgConfigFile.cmake -index bc5a43f..422b83b 100644 ---- a/build/cmake/CreatePkgConfigFile.cmake -+++ b/build/cmake/CreatePkgConfigFile.cmake -@@ -8,7 +8,7 @@ SET(libdir \${exec_prefix}/lib) - SET(includedir \${prefix}/include) - # Now, this is not particularly pretty, nor is it terribly accurate... - # Loop over all our additional libs --FOREACH(mylib ${ADDITIONAL_LIBS}) -+FOREACH(mylib ${LIBARCHIVE_LIBS_PRIVATE}) - # Extract the filename from the absolute path - GET_FILENAME_COMPONENT(mylib_name ${mylib} NAME_WE) - # Strip the lib prefix -@@ -16,10 +16,6 @@ FOREACH(mylib ${ADDITIONAL_LIBS}) - # Append it to our LIBS string - SET(LIBS "${LIBS} -l${mylib_name}") - ENDFOREACH() --# libxml2 is easier, since it's already using pkg-config --FOREACH(mylib ${PC_LIBXML_STATIC_LDFLAGS}) -- SET(LIBS "${LIBS} ${mylib}") --ENDFOREACH() - # FIXME: The order of the libraries doesn't take dependencies into account, - # thus there's a good chance it'll make some binutils versions unhappy... - # This only affects Libs.private (looked up for static builds) though. -diff --git a/build/pkgconfig/libarchive.pc.in b/build/pkgconfig/libarchive.pc.in -index 4b631e6..80198f1 100644 ---- a/build/pkgconfig/libarchive.pc.in -+++ b/build/pkgconfig/libarchive.pc.in -@@ -10,3 +10,4 @@ Cflags: -I${includedir} - Cflags.private: -DLIBARCHIVE_STATIC - Libs: -L${libdir} -larchive - Libs.private: @LIBS@ -+Requires.private: @LIBARCHIVE_REQUIRES_PRIVATE@ diff --git a/ports/libarchive/portfile.cmake b/ports/libarchive/portfile.cmake index 71cdde2376474e..ae0a2419f3eccf 100644 --- a/ports/libarchive/portfile.cmake +++ b/ports/libarchive/portfile.cmake @@ -1,29 +1,48 @@ -vcpkg_fail_port_install(ON_TARGET "UWP") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libarchive/libarchive - REF 1b2c437b99b361c7692538fa373e99955e9b93ae #v3.5.2 - SHA512 df527dd333b01ed85f07831ba0bd4b1d0b5384fe12cfa53474ad39c04509105a3c8574a2d21a430e3584a931c8f6ae923bca95df83945f0c593c1ffaed3f62da + REF "v${VERSION}" + SHA512 95c6232d178b26daa0eeba43d64ea4235aa96fa279c85fff715ac5e6cc73b2e65f276770f91c3538cb8ca989380555169497628d73e120bfa52e12f657049ff0 HEAD_REF master - PATCHES + PATCHES disable-warnings.patch fix-buildsystem.patch fix-cpu-set.patch - fix-dependencies.patch - pkgconfig-modules.patch + fix-deps.patch ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES bzip2 ENABLE_BZip2 + bzip2 CMAKE_REQUIRE_FIND_PACKAGE_BZip2 libxml2 ENABLE_LIBXML2 + libxml2 CMAKE_REQUIRE_FIND_PACKAGE_LibXml2 lz4 ENABLE_LZ4 + lz4 CMAKE_REQUIRE_FIND_PACKAGE_lz4 lzma ENABLE_LZMA + lzma CMAKE_REQUIRE_FIND_PACKAGE_LibLZMA lzo ENABLE_LZO - openssl ENABLE_OPENSSL zstd ENABLE_ZSTD ) +# Default crypto backend is OpenSSL, but it is ignored for DARWIN +set(WRAPPER_ENABLE_OPENSSL OFF) +if(NOT "crypto" IN_LIST FEATURES) + list(APPEND FEATURE_OPTIONS + -DLIBMD_FOUND=FALSE + -DENABLE_OPENSSL=OFF + ) +elseif(VCPKG_TARGET_IS_OSX) + list(APPEND FEATURE_OPTIONS + -DENABLE_MBEDTLS=ON + -DENABLE_OPENSSL=OFF + -DCMAKE_REQUIRE_FIND_PACKAGE_MbedTLS=ON + ) +else() + set(WRAPPER_ENABLE_OPENSSL ON) + list(APPEND FEATURE_OPTIONS + -DCMAKE_REQUIRE_FIND_PACKAGE_OpenSSL=ON + ) +endif() vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" @@ -32,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 @@ -45,6 +66,12 @@ vcpkg_cmake_configure( -DENABLE_LIBB2=OFF -DENABLE_TEST=OFF -DENABLE_WERROR=OFF + MAYBE_UNUSED_VARIABLES + CMAKE_REQUIRE_FIND_PACKAGE_BZip2 + CMAKE_REQUIRE_FIND_PACKAGE_LibLZMA + CMAKE_REQUIRE_FIND_PACKAGE_LibXml2 + CMAKE_REQUIRE_FIND_PACKAGE_lz4 + ENABLE_LibGCC ) vcpkg_cmake_install() @@ -55,14 +82,14 @@ 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") - -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" +) -foreach(header "${CURRENT_PACKAGES_DIR}/include/archive.h" "${CURRENT_PACKAGES_DIR}/include/archive_entry.h") - vcpkg_replace_string("${header}" "(!defined LIBARCHIVE_STATIC)" "0") +foreach(header "include/archive.h" "include/archive_entry.h") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/${header}" "(!defined LIBARCHIVE_STATIC)" "0") endforeach() file(INSTALL "${CURRENT_PORT_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/libarchive/usage b/ports/libarchive/usage index cf8c24304535e8..75ccb94e90fc25 100644 --- a/ports/libarchive/usage +++ b/ports/libarchive/usage @@ -1,5 +1,9 @@ -The package libarchive is compatible with built-in CMake targets: +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 + +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 5f00aad95cbf62..e23a0936b7c12c 100644 --- a/ports/libarchive/vcpkg-cmake-wrapper.cmake.in +++ b/ports/libarchive/vcpkg-cmake-wrapper.cmake.in @@ -15,26 +15,26 @@ 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 PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/lib" NO_DEFAULT_PATH) - find_library(Z_VCPKG_LZO_LIBRARY_RELEASE NAMES lzo2 PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib" NO_DEFAULT_PATH) + 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) select_library_configurations(Z_VCPKG_LZO) if(Z_VCPKG_LZO_LIBRARY) list(APPEND z_vcpkg_libarchive_libs ${Z_VCPKG_LZO_LIBRARY}) @@ -42,22 +42,27 @@ 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(@ENABLE_OPENSSL@ AND NOT CMAKE_SYSTEM_NAME MATCHES "Darwin") + if("@WRAPPER_ENABLE_OPENSSL@") find_package(OpenSSL ${z_vcpkg_libarchive_args}) list(APPEND z_vcpkg_libarchive_libs OpenSSL::Crypto) endif() - list(APPEND LibArchive_LIBRARIES ${z_vcpkg_libarchive_libs}) if(TARGET LibArchive::LibArchive) + set(LibArchive_LIBRARIES LibArchive::LibArchive) + if(Z_VCPKG_LZO_LIBRARY AND Z_VCPKG_LZO_LIBRARY_DEBUG) + list(REMOVE_ITEM z_vcpkg_libarchive_libs ${Z_VCPKG_LZO_LIBRARY}) + list(APPEND z_vcpkg_libarchive_libs + "\$<\$>:${Z_VCPKG_LZO_LIBRARY_RELEASE}>" + "\$<\$:${Z_VCPKG_LZO_LIBRARY_DEBUG}>" + ) + endif() set_property(TARGET LibArchive::LibArchive APPEND PROPERTY INTERFACE_LINK_LIBRARIES ${z_vcpkg_libarchive_libs}) + else() + list(APPEND LibArchive_LIBRARIES ${z_vcpkg_libarchive_libs}) endif() unset(z_vcpkg_libarchive_libs) endif() diff --git a/ports/libarchive/vcpkg.json b/ports/libarchive/vcpkg.json index 0eb93f942a66d5..80432f209589b6 100644 --- a/ports/libarchive/vcpkg.json +++ b/ports/libarchive/vcpkg.json @@ -1,9 +1,10 @@ { "name": "libarchive", - "version-semver": "3.5.2", + "version": "3.7.7", "port-version": 2, "description": "Library for reading and writing streaming archives", - "homepage": "https://github.com/libarchive/libarchive", + "homepage": "https://www.libarchive.org", + "license": null, "supports": "!uwp", "dependencies": [ { @@ -14,10 +15,10 @@ ], "default-features": [ "bzip2", + "crypto", "libxml2", "lz4", "lzma", - "openssl", "zstd" ], "features": { @@ -27,6 +28,19 @@ "bzip2" ] }, + "crypto": { + "description": "Support for cryptographic features", + "dependencies": [ + { + "name": "mbedtls", + "platform": "osx" + }, + { + "name": "openssl", + "platform": "!osx" + } + ] + }, "libxml2": { "description": "Libxml2 support", "dependencies": [ @@ -51,15 +65,6 @@ "lzo" ] }, - "openssl": { - "description": "OpenSSL support (not available on macOS)", - "dependencies": [ - { - "name": "openssl", - "platform": "!osx" - } - ] - }, "zstd": { "description": "Zstd support", "dependencies": [ diff --git a/ports/libass/CMakeLists.txt b/ports/libass/CMakeLists.txt index b2331d325752fe..44cd3c256de48f 100644 --- a/ports/libass/CMakeLists.txt +++ b/ports/libass/CMakeLists.txt @@ -1,70 +1,86 @@ cmake_minimum_required(VERSION 3.9) -project(libass C CXX) +project(libass C) -set(LIBASS_VERSION 0.15.1) +include_directories(${CMAKE_CURRENT_SOURCE_DIR}/libass ${CMAKE_CURRENT_BINARY_DIR}) -configure_file (${CMAKE_CURRENT_SOURCE_DIR}/config.h.in config.h) +set(CONFIG_FREETYPE 1) +set(CONFIG_FRIBIDI 1) +set(CONFIG_HARFBUZZ 1) -include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) +file(GLOB_RECURSE SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/libass/*.c) +set(PKG_REQUIRES_LIBASS "harfbuzz >= 1.2.3, fribidi >= 0.19.1, freetype2 >= 9.17.3") +set(PKG_LIBS_LIBASS) if(WIN32) - add_compile_definitions(CONFIG_DIRECTWRITE) -elseif(APPLE) - add_compile_definitions(CONFIG_CORETEXT) -else() - add_compile_definitions(CONFIG_FONTCONFIG) -endif() - -add_compile_definitions(CONFIG_FREETYPE) -add_compile_definitions(CONFIG_FRIBIDI) -add_compile_definitions(CONFIG_HARFBUZZ) - -file (GLOB_RECURSE SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/libass/*.c) -set(FONTCONFIG_LIBRARY) -if(WIN32) + set(CONFIG_DIRECTWRITE 1) list(FILTER SOURCES EXCLUDE REGEX ".*ass_coretext.c$") list(FILTER SOURCES EXCLUDE REGEX ".*ass_fontconfig.c$") + + #dependency fribidi does not support uwp builds, link gdi32 directly + set(FONT_LIBRARY gdi32) + set(PKG_LIBS_LIBASS -lgdi32) elseif(APPLE) + set(CONFIG_CORETEXT 1) list(FILTER SOURCES EXCLUDE REGEX ".*ass_directwrite.c$") list(FILTER SOURCES EXCLUDE REGEX ".*ass_fontconfig.c$") -else() + + include(CheckCSourceCompiles) + check_c_source_compiles( + " + #include + int main(void){ + CTFontDescriptorCopyAttribute(NULL, kCTFontURLAttribute); + return 0; + } + " + CHECK_OLD_OSX + ) + if(CHECK_OLD_OSX) + set(FONT_LIBRARY "-framework ApplicationServices -framework CoreFoundation") + set(PKG_LIBS_LIBASS "-framework ApplicationServices -framework CoreFoundation") + else() + set(FONT_LIBRARY "-framework CoreText -framework CoreFoundation") + set(PKG_LIBS_LIBASS "-framework CoreText -framework CoreFoundation") + endif() +elseif(${CMAKE_SYSTEM_NAME} MATCHES "Linux") + set(CONFIG_FONTCONFIG 1) list(FILTER SOURCES EXCLUDE REGEX ".*ass_coretext.c$") list(FILTER SOURCES EXCLUDE REGEX ".*ass_directwrite.c$") find_package(Fontconfig REQUIRED) - set(FONTCONFIG_LIBRARY Fontconfig::Fontconfig) + set(FONT_LIBRARY Fontconfig::Fontconfig) + set(PKG_REQUIRES_LIBASS "fontconfig >= 2.10.92, ${PKG_REQUIRES_LIBASS}") +else() + list(FILTER SOURCES EXCLUDE REGEX ".*ass_directwrite.c$") + list(FILTER SOURCES EXCLUDE REGEX ".*ass_coretext.c$") + list(FILTER SOURCES EXCLUDE REGEX ".*ass_fontconfig.c$") endif() -find_package(Freetype REQUIRED) +if(NOT WIN32) + set(PKG_LIBS_LIBASS "${PKG_LIBS_LIBASS} -lm") +endif() -find_path(FRIBIDI_INCLUDE_DIR - NAMES fribidi.h - PATH_SUFFIXES fribidi) +find_package(Freetype REQUIRED) -find_path(HARFBUZZ_INCLUDE_DIR - NAMES hb.h - PATH_SUFFIXES harfbuzz) +find_package(PkgConfig REQUIRED) +pkg_check_modules(FRIBIDI REQUIRED IMPORTED_TARGET fribidi) +pkg_check_modules(HARFBUZZ REQUIRED IMPORTED_TARGET harfbuzz) -find_path(DIRENT_INCLUDE_DIR - NAMES dirent.h) +# libass use win32 api to open files on windows since https://github.com/libass/libass/commit/f664ced049394e2a5d4300ba526e206df73ec729 +# so remove dependency dirent. -find_library(FRIBIDI_LIBRARY NAMES libfribidi fribidi) -find_library(HARFBUZZ_LIBRARY NAMES harfbuzz) +configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config.h.in config.h) add_library(ass ${SOURCES} ${CMAKE_CURRENT_SOURCE_DIR}/libass.def) target_include_directories(ass PRIVATE - ${FRIBIDI_INCLUDE_DIR} - ${HARFBUZZ_INCLUDE_DIR}) -if(DIRENT_INCLUDE_DIR) - target_include_directories(ass PRIVATE - ${DIRENT_INCLUDE_DIR}) -endif() + PkgConfig::FRIBIDI + PkgConfig::HARFBUZZ) target_link_libraries(ass PRIVATE Freetype::Freetype - ${FRIBIDI_LIBRARY} - ${HARFBUZZ_LIBRARY} - ${FONTCONFIG_LIBRARY}) + PkgConfig::FRIBIDI + PkgConfig::HARFBUZZ + ${FONT_LIBRARY}) install(TARGETS ass RUNTIME DESTINATION bin @@ -77,13 +93,12 @@ set(exec_prefix ${CMAKE_INSTALL_PREFIX}) set(libdir ${CMAKE_INSTALL_PREFIX}/lib) set(includedir ${CMAKE_INSTALL_PREFIX}/include) set(PACKAGE_VERSION ${LIBASS_VERSION}) -if(WIN32 OR APPLE) - set(PKG_REQUIRES_PRIVATE "harfbuzz >= 1.2.3, fribidi >= 0.19.0, freetype2 >= 9.10.3") +if(BUILD_SHARED_LIBS) + set(PKG_REQUIRES_PUBLIC ${PKG_REQUIRES_LIBASS}) + set(PKG_LIBS_PUBLIC ${PKG_LIBS_LIBASS}) else() - set(PKG_REQUIRES_PRIVATE "fontconfig >= 2.10.92, harfbuzz >= 1.2.3, fribidi >= 0.19.0, freetype2 >= 9.10.3") -endif() -if (NOT WIN32) - set(PKG_LIBS_PRIVATE -lm) + set(PKG_REQUIRES_PRIVATE ${PKG_REQUIRES_LIBASS}) + set(PKG_LIBS_PRIVATE ${PKG_LIBS_LIBASS}) endif() configure_file(libass.pc.in libass.pc @ONLY) install(FILES diff --git a/ports/libass/config.h.in b/ports/libass/config.h.in index b1e5b4b6b9afa6..fc2445dde152ba 100644 --- a/ports/libass/config.h.in +++ b/ports/libass/config.h.in @@ -1 +1,14 @@ -#define CONFIG_SOURCEVERSION "tarball: 0.15.1" +#define CONFIG_SOURCEVERSION "tarball: @LIBASS_VERSION@" + +#cmakedefine CONFIG_ICONV +#cmakedefine CONFIG_FREETYPE +#cmakedefine CONFIG_FRIBIDI +#cmakedefine CONFIG_HARFBUZZ +#cmakedefine CONFIG_LIBPNG +#cmakedefine CONFIG_UNIBREAK +#cmakedefine CONFIG_FONTCONFIG +#cmakedefine CONFIG_CORETEXT +#cmakedefine CONFIG_DIRECTWRITE +#cmakedefine01 CONFIG_ASM +#cmakedefine01 ARCH_X86 +#cmakedefine01 CONFIG_LARGE_TILES diff --git a/ports/libass/portfile.cmake b/ports/libass/portfile.cmake index e1a185a381e0c2..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.15.2 - SHA512 ae3ea533e57ab3c386ce457dbaa39a256801b7340649d5ff80a51410481e73ab194724744b97d85cb6d111798e45eee594bb22da2f1f3c547fe8e331e0690127 + REF ${VERSION} + SHA512 f58bcb51c993d1725f30e026281fcc9139b6a2207159eac8510a983ba7f85e85b3bb78e24a0d074615f6ec12dbe4b18b1c07f2ba68cd9626470a31a99ff2c714 HEAD_REF master ) @@ -15,11 +15,16 @@ file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) file(COPY ${SOURCE_PATH}/libass/ass.h ${SOURCE_PATH}/libass/ass_types.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/ass) -vcpkg_configure_cmake( +vcpkg_find_acquire_program(PKGCONFIG) +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} - PREFER_NINJA) +) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() vcpkg_fixup_pkgconfig() diff --git a/ports/libass/vcpkg.json b/ports/libass/vcpkg.json index f4b2821676ba1d..ac8b71bca080e6 100644 --- a/ports/libass/vcpkg.json +++ b/ports/libass/vcpkg.json @@ -1,19 +1,20 @@ { "name": "libass", - "version": "0.15.2", + "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", "dependencies": [ - { - "name": "dirent", - "platform": "windows" - }, { "name": "fontconfig", "platform": "linux" }, "freetype", "fribidi", - "harfbuzz" + "harfbuzz", + { + "name": "vcpkg-cmake", + "host": true + } ] } diff --git a/ports/libassert/portfile.cmake b/ports/libassert/portfile.cmake new file mode 100644 index 00000000000000..20406ba86ba796 --- /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 848D961CA884734FDB9C9440098E40EC9A4A7586C7A3D223D94A57513D904FB582B032A9F179A0D7C7D8AF76CF178CA215233642F651CF51A27200200DD7052A + 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..7f7fca59a5cc03 --- /dev/null +++ b/ports/libassert/vcpkg.json @@ -0,0 +1,20 @@ +{ + "name": "libassert", + "version": "2.1.2", + "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/cross-tools.patch b/ports/libassuan/cross-tools.patch new file mode 100644 index 00000000000000..c805f62361faeb --- /dev/null +++ b/ports/libassuan/cross-tools.patch @@ -0,0 +1,27 @@ +diff --git a/src/Makefile.am b/src/Makefile.am +index 6b9a46d..5156865 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -19,6 +19,13 @@ + # SPDX-License-Identifier: LGPL-2.1+ + ## Process this file with automake to produce Makefile.in + ++# Building host tools for native triplet, or not at all ++CPPFLAGS_FOR_BUILD = $(CPPFLAGS) ++CFLAGS_FOR_BUILD = $(CFLAGS) ++LDFLAGS_FOR_BUILD = $(LDFLAGS) ++# Using native tools, either this build or from host triplet ++HOST_TOOLS_PREFIX ?= . ++ + pkgconfigdir = $(libdir)/pkgconfig + pkgconfig_DATA = libassuan.pc + +@@ -152,6 +159,6 @@ mkheader: mkheader.c Makefile + $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(CPPFLAGS_FOR_BUILD) \ + $(LDFLAGS_FOR_BUILD) -I. -I$(srcdir) -o $@ $(srcdir)/mkheader.c + +-assuan.h: assuan.h.in mkheader$(EXEEXT_FOR_BUILD) $(parts_of_assuan_h) +- ./mkheader$(EXEEXT_FOR_BUILD) $(host_os) $(srcdir)/assuan.h.in \ ++assuan.h: assuan.h.in $(HOST_TOOLS_PREFIX)/mkheader$(EXEEXT_FOR_BUILD) $(parts_of_assuan_h) ++ $(HOST_TOOLS_PREFIX)/mkheader$(EXEEXT_FOR_BUILD) $(host_os) $(srcdir)/assuan.h.in \ + $(PACKAGE_VERSION) $(VERSION_NUMBER) >$@ diff --git a/ports/libassuan/fix-flags.patch b/ports/libassuan/fix-flags.patch deleted file mode 100644 index 8402c2e0a9ef2a..00000000000000 --- a/ports/libassuan/fix-flags.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/Makefile.am b/src/Makefile.am -index 089bc97..2d31b6a 100644 ---- a/src/Makefile.am -+++ b/src/Makefile.am -@@ -149,7 +149,7 @@ install-exec-hook: - endif - - mkheader: mkheader.c Makefile -- $(CC_FOR_BUILD) -I. -I$(srcdir) -o $@ $(srcdir)/mkheader.c -+ $(CC_FOR_BUILD) -I. -I$(srcdir) $(CFLAGS) -o $@ $(srcdir)/mkheader.c - - assuan.h: assuan.h.in mkheader $(parts_of_assuan_h) - ./mkheader $(host_os) $(srcdir)/assuan.h.in \ diff --git a/ports/libassuan/fix-pkgconfig.patch b/ports/libassuan/fix-pkgconfig.patch deleted file mode 100644 index 8b8672e03e6abd..00000000000000 --- a/ports/libassuan/fix-pkgconfig.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff --git a/src/libassuan.pc.in b/src/libassuan.pc.in -index 4e952d7..83ba872 100644 ---- a/src/libassuan.pc.in -+++ b/src/libassuan.pc.in -@@ -10,5 +10,5 @@ Description: IPC library for the GnuPG components - Requires: gpg-error - Version: @PACKAGE_VERSION@ - Cflags: @LIBASSUAN_CONFIG_CFLAGS@ --Libs: @LIBASSUAN_CONFIG_LIBS@ -+Libs: -L${libdir} @LIBASSUAN_CONFIG_LIBS@ - URL: https://www.gnupg.org/related_software/libassuan/index.html diff --git a/ports/libassuan/portfile.cmake b/ports/libassuan/portfile.cmake index bcfb1c912a50db..5b72798911ad33 100644 --- a/ports/libassuan/portfile.cmake +++ b/ports/libassuan/portfile.cmake @@ -1,28 +1,55 @@ -vcpkg_fail_port_install(MESSAGE "${PORT} currently only supports unix platform" ON_TARGET "Windows") - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO gpg/libassuan - REF libassuan-2.5.3 - SHA512 5ec896eca6d9d7bec83aa400c8e2dc6f2b09c013050efb2125e2f2a4bd00f179723254483637ca4b7bc30bba951fc985e7ba7db98081606bb106caa7a2622dbe - HEAD_REF master +vcpkg_download_distfile(tarball + URLS + "https://gnupg.org/ftp/gcrypt/libassuan/libassuan-${VERSION}.tar.bz2" + "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 ca33bd0325bbebccb63b6a84cc0aa5c85b25c6275a68df83aeb3f3729b2cd38220198a941c3479bd461f16b7ddb6b558c0664697ca3153c7fb430544303d773f +) +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${tarball}" PATCHES - fix-pkgconfig.patch - fix-flags.patch + cross-tools.patch ) +if(VCPKG_CROSSCOMPILING) + set(ENV{HOST_TOOLS_PREFIX} "${CURRENT_HOST_INSTALLED_DIR}/manual-tools/${PORT}") +endif() + vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" AUTOCONFIG - SOURCE_PATH ${SOURCE_PATH} OPTIONS --disable-doc - --disable-silent-rules - --with-libgpg-error-prefix=${CURRENT_INSTALLED_DIR}/tools/libgpg-error + "GPG_ERROR_CONFIG=no" + OPTIONS_RELEASE + "GPGRT_CONFIG=${CURRENT_INSTALLED_DIR}/tools/libgpg-error/bin/gpgrt-config" + OPTIONS_DEBUG + "GPGRT_CONFIG=${CURRENT_INSTALLED_DIR}/tools/libgpg-error/debug/bin/gpgrt-config" ) vcpkg_install_make() -vcpkg_fixup_pkgconfig() +vcpkg_fixup_pkgconfig() vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -file(INSTALL ${SOURCE_PATH}/COPYING.LIB DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +set(install_prefix "${CURRENT_INSTALLED_DIR}") +if(VCPKG_HOST_IS_WINDOWS) + string(REGEX REPLACE "^([a-zA-Z]):/" "/\\1/" install_prefix "${install_prefix}") +endif() +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin/libassuan-config" "${install_prefix}" "`dirname $0`/../../..") +if(NOT VCPKG_BUILD_TYPE) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug/bin/libassuan-config" "${install_prefix}" "`dirname $0`/../../../..") +endif() + +if(NOT VCPKG_CROSSCOMPILING) + file(INSTALL + "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/src/mkheader${VCPKG_TARGET_EXECUTABLE_SUFFIX}" + DESTINATION "${CURRENT_PACKAGES_DIR}/manual-tools/${PORT}" + USE_SOURCE_PERMISSIONS + ) + vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/manual-tools/${PORT}") +endif() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(INSTALL "${SOURCE_PATH}/COPYING.LIB" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/libassuan/vcpkg.json b/ports/libassuan/vcpkg.json index f7808864cacf31..ee96b4a0c9c439 100644 --- a/ports/libassuan/vcpkg.json +++ b/ports/libassuan/vcpkg.json @@ -1,11 +1,15 @@ { "name": "libassuan", - "version-string": "2.5.3", - "port-version": 2, + "version": "2.5.7", "description": "A library implementing the so-called Assuan protocol", "homepage": "https://gnupg.org/software/libassuan/index.html", - "supports": "!windows", + "license": "LGPL-2.1-or-later", + "supports": "!windows | mingw", "dependencies": [ + { + "name": "libassuan", + "host": true + }, "libgpg-error" ] } diff --git a/ports/libatomic-ops/portfile.cmake b/ports/libatomic-ops/portfile.cmake index 357a590f2ae7e2..45be0c270f90a3 100644 --- a/ports/libatomic-ops/portfile.cmake +++ b/ports/libatomic-ops/portfile.cmake @@ -1,14 +1,15 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ivmai/libatomic_ops - REF 7a8de3bd9c6c61c68a866b849e7b1d17d76d2d36 # v7.7.0-20211109 - SHA512 05555792a199526d8e164833f590cc57c5ee34672d81952787a09dd7008e947e4e8b6ad63fb6b8ee315294b98fdf743639622b3d9156d8a8f8363b431e875c45 + REF "v${VERSION}" + SHA512 6b0ab1c01600346413184f66eaff1f707d1bc46fad9fd52ac855f2c66a55097dfad620c68b898459527142c1eb7ba50fde34498f962f24cec83268500c5bcccb HEAD_REF master ) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - PREFER_NINJA + OPTIONS + -Denable_docs=OFF OPTIONS_DEBUG -Dinstall_headers=OFF ) @@ -17,8 +18,8 @@ vcpkg_cmake_install() vcpkg_cmake_config_fixup(PACKAGE_NAME atomic_ops CONFIG_PATH lib/cmake/atomic_ops) vcpkg_copy_pdbs() -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") vcpkg_fixup_pkgconfig() + +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/libatomic-ops/vcpkg.json b/ports/libatomic-ops/vcpkg.json index 7bbf9dcd6b9cf2..b85015f8f222ad 100644 --- a/ports/libatomic-ops/vcpkg.json +++ b/ports/libatomic-ops/vcpkg.json @@ -1,7 +1,9 @@ { "name": "libatomic-ops", - "version": "7.7.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", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/libavif/disable-source-utf8.patch b/ports/libavif/disable-source-utf8.patch index 1e3d5d9bcad57c..3cb92be7a9e8f3 100644 --- a/ports/libavif/disable-source-utf8.patch +++ b/ports/libavif/disable-source-utf8.patch @@ -1,12 +1,15 @@ -diff -pruN v0.9.0-92388ab3ad.clean.o/CMakeLists.txt v0.9.0-92388ab3ad.clean/CMakeLists.txt ---- a/CMakeLists.txt 2021-02-23 04:51:41.000000000 +0300 -+++ b/CMakeLists.txt 2021-04-14 23:35:50.866487600 +0300 -@@ -165,7 +165,7 @@ 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") +diff --git a/CMakeLists.txt b/CMakeLists.txt +index baf5964..a28e6c3 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -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/portfile.cmake b/ports/libavif/portfile.cmake index 2d0a37bb77bf1f..1cfdc16ba25494 100644 --- a/ports/libavif/portfile.cmake +++ b/ports/libavif/portfile.cmake @@ -1,21 +1,26 @@ -# AVIF depends on AOM, but AOM doesn't support ARM and UWP -vcpkg_fail_port_install(ON_ARCH "arm" ON_TARGET "UWP") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO AOMediaCodec/libavif - REF v0.9.2 - SHA512 04400ae76214d2f0361a14897d6ee97be675375865bb96c8d237e9a4a1152ac1a966db903c11df82da71b0bc68599a5857e038cc90d63c5d3bc77b13169a3e75 + REF "v${VERSION}" + SHA512 ba72b8d02b098f361643a073361fccafd22eaac14e46dd06378d5e7acd9853538c5d166473e1de0b020de62dac25be83e42bd57ba51f675d11e2ddf155fbfa21 HEAD_REF master PATCHES disable-source-utf8.patch ) +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + aom AVIF_CODEC_AOM + dav1d AVIF_CODEC_DAV1D +) + vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DAVIF_CODEC_AOM=ON -DAVIF_BUILD_APPS=OFF + -DAVIF_BUILD_TESTS=OFF + -DCMAKE_DISABLE_FIND_PACKAGE_libsharpyuv=ON + ${FEATURE_OPTIONS} ) vcpkg_cmake_install() @@ -29,8 +34,8 @@ vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) vcpkg_fixup_pkgconfig() # Remove duplicate files -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") # 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/libavif/vcpkg.json b/ports/libavif/vcpkg.json index b6e3bce5222d9b..78312d7ac24130 100644 --- a/ports/libavif/vcpkg.json +++ b/ports/libavif/vcpkg.json @@ -1,11 +1,10 @@ { "name": "libavif", - "version-semver": "0.9.2", + "version-semver": "1.1.1", "description": "Library for encoding and decoding AVIF files", "homepage": "https://github.com/AOMediaCodec/libavif", - "supports": "!uwp & !arm", + "license": "BSD-2-Clause AND Apache-2.0", "dependencies": [ - "aom", "libyuv", { "name": "vcpkg-cmake", @@ -15,5 +14,19 @@ "name": "vcpkg-cmake-config", "host": true } - ] + ], + "features": { + "aom": { + "description": "AV1 codec library", + "dependencies": [ + "aom" + ] + }, + "dav1d": { + "description": "dav1d decoder library", + "dependencies": [ + "dav1d" + ] + } + } } diff --git a/ports/libb2/portfile.cmake b/ports/libb2/portfile.cmake index fe26199ce72198..452218f2804874 100644 --- a/ports/libb2/portfile.cmake +++ b/ports/libb2/portfile.cmake @@ -1,5 +1,3 @@ -vcpkg_fail_port_install(ON_TARGET "WINDOWS") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO BLAKE2/libb2 @@ -28,4 +26,4 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) vcpkg_copy_pdbs() -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) \ No newline at end of file +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/libb2/vcpkg.json b/ports/libb2/vcpkg.json index 6cd8bc6dc8a662..e8ef8ec0578ee2 100644 --- a/ports/libb2/vcpkg.json +++ b/ports/libb2/vcpkg.json @@ -1,7 +1,7 @@ { "name": "libb2", "version": "0.98.1", - "port-version": 5, + "port-version": 6, "description": "C library providing BLAKE2b, BLAKE2s, BLAKE2bp, BLAKE2sp", "homepage": "https://github.com/BLAKE2/libb2", "supports": "!windows" diff --git a/ports/libbacktrace/portfile.cmake b/ports/libbacktrace/portfile.cmake index 1931568fc7f294..32d21f98c45985 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 14818b7783eeb9a56c3f0fca78cefd3143f8c5f6 + SHA512 d96c337cda6d230b162d983b2ab6ff6643895158f1d6f2e814bf28a2212a0cf46313935c2ed95a4408e6ad1da3c0c1ccb09847cf8b8b2ca6ad299101b8f79dd4 ) 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 7b6b32b53b710d..22610619fbf190 100644 --- a/ports/libbacktrace/vcpkg.json +++ b/ports/libbacktrace/vcpkg.json @@ -1,6 +1,9 @@ { "name": "libbacktrace", - "version-date": "2021-03-14", + "version-date": "2023-11-30", + "port-version": 1, "description": "The libbacktrace library may be linked into a program or library and used to produce symbolic backtraces.", - "homepage": "https://github.com/ianlancetaylor/libbacktrace" + "homepage": "https://github.com/ianlancetaylor/libbacktrace", + "license": "BSD-3-Clause", + "supports": "!windows" } diff --git a/ports/libbf/portfile.cmake b/ports/libbf/portfile.cmake index a50abed942aa60..01b732c57ad54a 100644 --- a/ports/libbf/portfile.cmake +++ b/ports/libbf/portfile.cmake @@ -1,6 +1,16 @@ -if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Windows" OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - message(FATAL_ERROR "libbf does not support MSVC") -endif() +vcpkg_download_distfile( + STDEXCEPT_PATCH + URLS https://github.com/mavam/libbf/commit/7720a2cdfdf211ac10d5f9c5b0988e1cae03d3ba.patch?full_index=1 + SHA512 0f414bec3797361ad8c0cd2c869d21ee9c8f05609d2c00295e0b7cf252ca42ad2230bfece7dde839ac5d47221b54034446056337f16739a346510a14b383566c + FILENAME 7720a2cdfdf211ac10d5f9c5b0988e1cae03d3ba.patch +) + +vcpkg_download_distfile( + ALGORITHM_PATCH + URLS https://github.com/mavam/libbf/commit/b2168dc4590a0251ec40ada4ab835eb3aec893e7.patch?full_index=1 + SHA512 549163cec577d611c382d50f2dfbd99716f54d2d95b675ebd1cde5842e795b64272116cc0997c1415dad916cb7d1f538bd275d4f57013224af1eb9af7cfdf2e6 + FILENAME b2168dc4590a0251ec40ada4ab835eb3aec893e7.patch +) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH @@ -8,18 +18,18 @@ vcpkg_from_github( REF v1.0.0 SHA512 04db7adbeb4bc6b20aed7f2676840499ed1afe499b4cab67f27d4a0ad234c1fb06eced24259f37870ec4760fe74d6d6307b5d11b3cd928b975661eb2966d4db8 HEAD_REF master + PATCHES + "${STDEXCEPT_PATCH}" + "${ALGORITHM_PATCH}" ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) - -file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libbf) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/libbf/COPYING ${CURRENT_PACKAGES_DIR}/share/libbf/copyright) \ No newline at end of file +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/libbf/vcpkg.json b/ports/libbf/vcpkg.json index 1b184fddf45f2d..1433d345360f34 100644 --- a/ports/libbf/vcpkg.json +++ b/ports/libbf/vcpkg.json @@ -1,6 +1,14 @@ { "name": "libbf", - "version-string": "1.0.0", - "port-version": 2, - "description": "Bloom filters for C++11." + "version": "1.0.0", + "port-version": 4, + "description": "Bloom filters for C++11.", + "license": "BSD-3-Clause", + "supports": "!windows", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/libbson/disable-source-write.patch b/ports/libbson/disable-source-write.patch deleted file mode 100644 index ff2f9cab52f0f1..00000000000000 --- a/ports/libbson/disable-source-write.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 7ff8bbf..32c2e00 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -114,8 +114,8 @@ if (BUILD_VERSION STREQUAL "0.0.0") - file (WRITE ${PROJECT_SOURCE_DIR}/VERSION_CURRENT ${BUILD_VERSION}) - endif () - else () -- message ("storing BUILD_VERSION ${BUILD_VERSION} in file VERSION_CURRENT for later use") -- file (WRITE ${PROJECT_SOURCE_DIR}/VERSION_CURRENT ${BUILD_VERSION}) -+ #message ("storing BUILD_VERSION ${BUILD_VERSION} in file VERSION_CURRENT for later use") -+ #file (WRITE ${PROJECT_SOURCE_DIR}/VERSION_CURRENT ${BUILD_VERSION}) - endif () - - include (LoadVersion) diff --git a/ports/libbson/fix-include-directory.patch b/ports/libbson/fix-include-directory.patch index 64ff404ca6dbdc..398644f90ccdab 100644 --- a/ports/libbson/fix-include-directory.patch +++ b/ports/libbson/fix-include-directory.patch @@ -1,13 +1,13 @@ -diff --git a/src/libbson/CMakeLists.txt b/src/libbson/CMakeLists.txt -index 0197af0..422b051 100644 ---- a/src/libbson/CMakeLists.txt -+++ b/src/libbson/CMakeLists.txt -@@ -341,7 +341,7 @@ if (ENABLE_EXAMPLES) - endif () # ENABLE_EXAMPLES - - 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/CMakeLists.txt b/src/libbson/CMakeLists.txt +index e3eaca4..ef3644b 100644 +--- a/src/libbson/CMakeLists.txt ++++ b/src/libbson/CMakeLists.txt +@@ -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}" + ) + function(install_export_target target) + # Tell pkg-config where the headers are going: diff --git a/ports/libbson/fix-static-cmake-2.patch b/ports/libbson/fix-static-cmake-2.patch deleted file mode 100644 index 1a694a1bfb2cd6..00000000000000 --- a/ports/libbson/fix-static-cmake-2.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/libbson/build/cmake/libbson-static-1.0-config.cmake.in b/src/libbson/build/cmake/libbson-static-1.0-config.cmake.in -index 92933fe..90eb16f 100644 ---- a/src/libbson/build/cmake/libbson-static-1.0-config.cmake.in -+++ b/src/libbson/build/cmake/libbson-static-1.0-config.cmake.in -@@ -27,7 +27,7 @@ set_and_check (BSON_STATIC_INCLUDE_DIRS "@PACKAGE_INCLUDE_INSTALL_DIRS@") - # directory and the base name, but not the suffix, so we use CMake's - # find_library () to pick that up. Users can override this by configuring - # BSON_STATIC_LIBRARY themselves. --find_library (BSON_STATIC_LIBRARY bson-static-1.0 PATHS "@PACKAGE_LIBRARY_INSTALL_DIRS@" NO_DEFAULT_PATH) -+find_library (BSON_STATIC_LIBRARY bson-1.0 PATHS "@PACKAGE_LIBRARY_INSTALL_DIRS@" NO_DEFAULT_PATH) - - set (BSON_STATIC_LIBRARIES ${BSON_STATIC_LIBRARY}) - diff --git a/ports/libbson/fix-static-cmake.patch b/ports/libbson/fix-static-cmake.patch deleted file mode 100644 index 7de9c5eacc596f..00000000000000 --- a/ports/libbson/fix-static-cmake.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/libbson/build/cmake/libbson-static-1.0-config.cmake.in b/src/libbson/build/cmake/libbson-static-1.0-config.cmake.in -index 92933fe01..931a829ae 100644 ---- a/src/libbson/build/cmake/libbson-static-1.0-config.cmake.in -+++ b/src/libbson/build/cmake/libbson-static-1.0-config.cmake.in -@@ -36,3 +36,7 @@ foreach (LIB @LIBBSON_LIBRARIES@) - endforeach () - - set (BSON_STATIC_DEFINITIONS BSON_STATIC) -+ -+set (BSON_LIBRARIES ${BSON_STATIC_LIBRARIES}) -+set (BSON_INCLUDE_DIRS ${BSON_STATIC_INCLUDE_DIRS}) -+set (BSON_DEFINITIONS BSON_STATIC) -\ No newline at end of file diff --git a/ports/libbson/fix-uwp.patch b/ports/libbson/fix-uwp.patch deleted file mode 100644 index 92d7d9ae2591df..00000000000000 --- a/ports/libbson/fix-uwp.patch +++ /dev/null @@ -1,139 +0,0 @@ -diff --git a/src/libbson/CMakeLists.txt b/src/libbson/CMakeLists.txt -index bb8259b85..0197af068 100644 ---- a/src/libbson/CMakeLists.txt -+++ b/src/libbson/CMakeLists.txt -@@ -230,6 +230,9 @@ set (HEADERS_FORWARDING - ${PROJECT_SOURCE_DIR}/src/bson/forwarding/bson.h - ) - -+add_definitions(-D_CRT_SECURE_NO_WARNINGS) -+ -+if (NOT ENABLE_STATIC MATCHES "ON|AUTO") - add_library (bson_shared SHARED ${SOURCES} ${HEADERS} ${HEADERS_FORWARDING}) - set (CMAKE_CXX_VISIBILITY_PRESET hidden) - target_compile_definitions (bson_shared PRIVATE BSON_COMPILATION JSONSL_PARSE_NAN) -@@ -279,9 +282,13 @@ 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}) -+ set(CMAKE_CXX_VISIBILITY_PRESET hidden) -+ set(THREADS_PREFER_PTHREAD_FLAG 1) -+ find_package(Threads REQUIRED) - target_compile_definitions (bson_static - PUBLIC BSON_STATIC - PRIVATE BSON_COMPILATION JSONSL_PARSE_NAN -@@ -299,6 +306,7 @@ if (MONGOC_ENABLE_STATIC_BUILD) - if (RT_LIBRARY) - target_link_libraries (bson_static ${RT_LIBRARY}) - endif () -+ find_library(M_LIBRARY m) - if (M_LIBRARY) - target_link_libraries (bson_static ${M_LIBRARY}) - endif () -@@ -313,7 +321,7 @@ function (add_example bin src) - add_executable (${bin} ${BSON_EXAMPLE_SOURCES}) - - # Link against the shared lib like normal apps -- target_link_libraries (${bin} bson_shared) -+ target_link_libraries (${bin} bson_shared bson_static) - - set (EXAMPLES ${EXAMPLES} ${bin}) - endfunction () -@@ -337,7 +345,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 () -diff --git a/src/libmongoc/CMakeLists.txt b/src/libmongoc/CMakeLists.txt -index af5a398a9..78d02bdee 100644 ---- a/src/libmongoc/CMakeLists.txt -+++ b/src/libmongoc/CMakeLists.txt -@@ -725,6 +725,7 @@ if (MONGOC_ENABLE_MONGODB_AWS_AUTH) - endif() - endif () - -+if (NOT MONGOC_ENABLE_STATIC) - 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}) -@@ -744,6 +745,7 @@ target_compile_definitions (mongoc_shared PRIVATE MONGOC_COMPILATION ${KMS_MSG_D - - 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}") -+endif () - - if (MONGOC_ENABLE_STATIC_BUILD) - add_library (mongoc_static STATIC ${SOURCES} ${HEADERS} ${HEADERS_FORWARDING}) -@@ -778,7 +780,11 @@ if (ENABLE_APPLE_FRAMEWORK) - endif () - - add_executable (mongoc-stat ${PROJECT_SOURCE_DIR}/../../src/tools/mongoc-stat.c) -+if (MONGOC_ENABLE_STATIC) -+target_link_libraries (mongoc-stat mongoc_static) -+else () - target_link_libraries (mongoc-stat mongoc_shared ${LIBRARIES}) -+endif () - - # mongoc-stat works if shared memory performance counters are enabled. - if (ENABLE_SHM_COUNTERS STREQUAL "ON") -@@ -1040,7 +1046,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) - endif () -diff --git a/src/libmongoc/src/mongoc/mongoc-gridfs-file.c b/src/libmongoc/src/mongoc/mongoc-gridfs-file.c -index 0690b8680..98721df86 100644 ---- a/src/libmongoc/src/mongoc/mongoc-gridfs-file.c -+++ b/src/libmongoc/src/mongoc/mongoc-gridfs-file.c -@@ -765,7 +765,7 @@ _mongoc_gridfs_file_refresh_page (mongoc_gridfs_file_t *file) - bson_t query; - bson_t child; - bson_t opts; -- const bson_t *chunk; -+ const bson_t *chunk = NULL; - const char *key; - bson_iter_t iter; - int64_t existing_chunks; -diff --git a/src/libmongoc/src/mongoc/mongoc-handshake.c b/src/libmongoc/src/mongoc/mongoc-handshake.c -index 5378015b8..c8e6dd6a7 100644 ---- a/src/libmongoc/src/mongoc/mongoc-handshake.c -+++ b/src/libmongoc/src/mongoc/mongoc-handshake.c -@@ -290,7 +290,8 @@ _get_os_version (void) - char *ret = bson_malloc (HANDSHAKE_OS_VERSION_MAX); - bool found = false; - --#ifdef _WIN32 -+#if defined (WINAPI_FAMILY_PARTITION) && !WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM) -+#elif defined (_WIN32) - OSVERSIONINFO osvi; - ZeroMemory (&osvi, sizeof (OSVERSIONINFO)); - osvi.dwOSVersionInfoSize = sizeof (OSVERSIONINFO); -diff --git a/src/libmongoc/src/mongoc/mongoc-util.c b/src/libmongoc/src/mongoc/mongoc-util.c -index 0bbee03ef..6b66da741 100644 ---- a/src/libmongoc/src/mongoc/mongoc-util.c -+++ b/src/libmongoc/src/mongoc/mongoc-util.c -@@ -85,7 +85,11 @@ _mongoc_hex_md5 (const char *input) - void - _mongoc_usleep (int64_t usec) - { --#ifdef _WIN32 -+#if defined (WINAPI_FAMILY_PARTITION) && !WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM) -+ if (usec / 1000 > MAXDWORD || usec < 0) -+ __fastfail(-1); -+ Sleep((DWORD)(usec / 1000)); -+#elif defined(_WIN32) - LARGE_INTEGER ft; - HANDLE timer; - diff --git a/ports/libbson/libbson-1.0-config.cmake b/ports/libbson/libbson-1.0-config.cmake new file mode 100644 index 00000000000000..c4df73db09edf1 --- /dev/null +++ b/ports/libbson/libbson-1.0-config.cmake @@ -0,0 +1,5 @@ +include(CMakeFindDependencyMacro) +find_dependency(libbson-static-1.0 ${${CMAKE_FIND_PACKAGE_NAME}_FIND_VERSION} CONFIG) +set(BSON_DEFINITIONS "${BSON_STATIC_DEFINITIONS}") +set(BSON_INCLUDE_DIRS "${BSON_STATIC_INCLUDE_DIRS}") +set(BSON_LIBRARIES "${BSON_STATIC_LIBRARIES}") diff --git a/ports/libbson/portfile.cmake b/ports/libbson/portfile.cmake index afb674f5476ca2..3f6e07a96ab7cf 100644 --- a/ports/libbson/portfile.cmake +++ b/ports/libbson/portfile.cmake @@ -1,76 +1,73 @@ -# This port needs to be updated at the same time as mongo-c-driver vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO mongodb/mongo-c-driver - REF 00c59aa4a1f72e49e55b211f28650c66c542739e # 1.17.6 - SHA512 9191c64def45ff268cb5d2ce08782265fb8e0567237c8d3311b91e996bd938d629578a7b50e8db29c4b3aa5bc96f93361f6d918e9cfd4861e5f5c5554cf4616d + REF "${VERSION}" + SHA512 7fe1319c0d845bfd0e59f59d5fe27869372e490f512f44c38657cb5f94bec48886919f2ccfeb09864d6359710b9b885d3ec12f7ab7e7c6429fa54b285df5e67f HEAD_REF master PATCHES - fix-uwp.patch - fix-static-cmake.patch - disable-source-write.patch - fix-include-directory.patch - fix-static-cmake-2.patch + fix-include-directory.patch # vcpkg legacy decision ) +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_STATIC OFF) + set(ENABLE_SHARED ON) endif() -file(READ "${CMAKE_CURRENT_LIST_DIR}/vcpkg.json" _contents) -string(JSON BUILD_VERSION GET "${_contents}" version) -file(WRITE "${SOURCE_PATH}/VERSION_CURRENT" "${BUILD_VERSION}") - vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" + DISABLE_PARALLEL_CONFIGURE # because it writes the file VERSION_CURRENT in the source directory OPTIONS - -DENABLE_MONGOC=OFF + "-DBUILD_VERSION=${VERSION}" -DENABLE_BSON=ON - -DENABLE_TESTS=OFF -DENABLE_EXAMPLES=OFF + -DENABLE_ICU=OFF + -DENABLE_MONGOC=OFF + -DENABLE_SASL=OFF + -DENABLE_SNAPPY=OFF + -DENABLE_SRV=OFF + -DENABLE_SSL=OFF -DENABLE_STATIC=${ENABLE_STATIC} - -DBUILD_VERSION=${BUILD_VERSION} - -DCMAKE_DISABLE_FIND_PACKAGE_PythonInterp=ON + -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 - CMAKE_DISABLE_FIND_PACKAGE_PythonInterp + ENABLE_ICU ) - vcpkg_cmake_install() - vcpkg_copy_pdbs() - +vcpkg_fixup_pkgconfig() vcpkg_cmake_config_fixup(PACKAGE_NAME bson-1.0 CONFIG_PATH "lib/cmake/bson-1.0" DO_NOT_DELETE_PARENT_CONFIG_PATH) -if (VCPKG_LIBRARY_LINKAGE STREQUAL static) - vcpkg_cmake_config_fixup(PACKAGE_NAME libbson-1.0 CONFIG_PATH "lib/cmake/libbson-static-1.0") +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/bson/bson-macros.h" + "#define BSON_MACROS_H" "#define BSON_MACROS_H\n#ifndef BSON_STATIC\n#define BSON_STATIC\n#endif") + vcpkg_cmake_config_fixup(PACKAGE_NAME libbson-static-1.0 CONFIG_PATH "lib/cmake/libbson-static-1.0") + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/share/libbson-1.0") + file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/libbson-1.0-config.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/libbson-1.0") else() vcpkg_cmake_config_fixup(PACKAGE_NAME libbson-1.0 CONFIG_PATH "lib/cmake/libbson-1.0") endif() -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/mongo-c-driver") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") - -if (VCPKG_LIBRARY_LINKAGE STREQUAL static) - # drop the __declspec(dllimport) when building static - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/bson/bson-macros.h" - "define BSON_API __declspec(dllimport)" "define BSON_API") - - file(RENAME - "${CURRENT_PACKAGES_DIR}/share/libbson-1.0/libbson-static-1.0-config.cmake" - "${CURRENT_PACKAGES_DIR}/share/libbson-1.0/libbson-1.0-config.cmake") - file(RENAME - "${CURRENT_PACKAGES_DIR}/share/libbson-1.0/libbson-static-1.0-config-version.cmake" - "${CURRENT_PACKAGES_DIR}/share/libbson-1.0/libbson-1.0-config-version.cmake") - - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin" "${CURRENT_PACKAGES_DIR}/bin") -endif() - -file(COPY "${SOURCE_PATH}/THIRD_PARTY_NOTICES" DESTINATION "${CURRENT_PACKAGES_DIR}/share/libbson") +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/share/mongo-c-driver" +) -file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) -file(INSTALL "${CURRENT_PORT_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -vcpkg_fixup_pkgconfig() +vcpkg_install_copyright( + FILE_LIST + "${SOURCE_PATH}/COPYING" + "${SOURCE_PATH}/THIRD_PARTY_NOTICES" + "${SOURCE_PATH}/src/libbson/THIRD_PARTY_NOTICES" +) diff --git a/ports/libbson/usage b/ports/libbson/usage index a0a125327f6869..6af2617d0b0ba9 100644 --- a/ports/libbson/usage +++ b/ports/libbson/usage @@ -1,9 +1,4 @@ -The package libbson is compatible with built-in CMake targets: +libbson provides CMake targets: find_package(bson-1.0 CONFIG REQUIRED) - target_link_libraries(main PRIVATE mongo::bson_static) - -or: - - find_package(bson-1.0 CONFIG REQUIRED) - target_link_libraries(main PRIVATE mongo::bson_shared) + target_link_libraries(main PRIVATE $,mongo::bson_static,mongo::bson_shared>) diff --git a/ports/libbson/vcpkg.json b/ports/libbson/vcpkg.json index b985071bd12408..e58cd86237abdf 100644 --- a/ports/libbson/vcpkg.json +++ b/ports/libbson/vcpkg.json @@ -1,9 +1,9 @@ { "name": "libbson", - "version": "1.17.6", - "port-version": 1, + "version": "1.29.0", "description": "libbson is a library providing useful routines related to building, parsing, and iterating BSON documents.", - "homepage": "https://github.com/mongodb/libbson", + "homepage": "https://github.com/mongodb/mongo-c-driver/tree/master/src/libbson", + "license": null, "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/libcaer/fix-libusb.diff b/ports/libcaer/fix-libusb.diff new file mode 100644 index 00000000000000..926f77fb1c76b6 --- /dev/null +++ b/ports/libcaer/fix-libusb.diff @@ -0,0 +1,62 @@ +diff --git a/cmakemod/libcaerConfig.cmake.in b/cmakemod/libcaerConfig.cmake.in +index cdf9f88..f0a17ba 100644 +--- a/cmakemod/libcaerConfig.cmake.in ++++ b/cmakemod/libcaerConfig.cmake.in +@@ -21,6 +21,10 @@ + CMAKE_POLICY(PUSH) + CMAKE_POLICY(VERSION 3.10) + ++include(CMakeFindDependencyMacro) ++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/portfile.cmake b/ports/libcaer/portfile.cmake new file mode 100644 index 00000000000000..2c3a887191311a --- /dev/null +++ b/ports/libcaer/portfile.cmake @@ -0,0 +1,38 @@ +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.com/inivation/ + OUT_SOURCE_PATH SOURCE_PATH + REPO dv/libcaer + REF "${VERSION}" + SHA512 29f8ac47f97a7640d8102eb5c693259da7506d918975be0f3e4e970ab7135dfff67f1c48dd17240462bf846bf31745d518a421229b8c453b29410ea26e489aa3 + HEAD_REF master + PATCHES + fix-libusb.diff +) + +find_program(PKGCONFIG NAMES pkgconf PATHS "${CURRENT_HOST_INSTALLED_DIR}/tools/pkgconf" NO_DEFAULT_PATH REQUIRED) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + opencv ENABLE_OPENCV +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + DISABLE_PARALLEL_CONFIGURE # writes to include/libcaer/libcaer.h + OPTIONS + ${FEATURE_OPTIONS} + -DEXAMPLES_INSTALL=OFF + -DBUILD_CONFIG_VCPKG=ON + "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}" +) +vcpkg_cmake_install() + +vcpkg_fixup_pkgconfig() +vcpkg_cmake_config_fixup() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +set(stdatomic_license "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/LICENSE for simple-stdatomic (x86,x64 MSVC)") +file(COPY_FILE "${SOURCE_PATH}/thirdparty/simple-stdatomic/LICENSE" "${stdatomic_license}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE" "${stdatomic_license}") diff --git a/ports/libcaer/vcpkg.json b/ports/libcaer/vcpkg.json new file mode 100644 index 00000000000000..58d88c9c3b9549 --- /dev/null +++ b/ports/libcaer/vcpkg.json @@ -0,0 +1,35 @@ +{ + "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", + "supports": "!(arm & windows & !mingw)", + "dependencies": [ + "libusb", + { + "name": "pkgconf", + "host": true + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "opencv": { + "description": "Enable support for frame enhancements using OpenCV", + "dependencies": [ + { + "name": "opencv4", + "default-features": false + } + ] + } + } +} diff --git a/ports/libcanberra/lc-messages.patch b/ports/libcanberra/lc-messages.patch new file mode 100644 index 00000000000000..c6ef4aa2f603f2 --- /dev/null +++ b/ports/libcanberra/lc-messages.patch @@ -0,0 +1,14 @@ +diff --git a/src/sound-theme-spec.c b/src/sound-theme-spec.c +index 32affd0..371e380 100644 +--- a/src/sound-theme-spec.c ++++ b/src/sound-theme-spec.c +@@ -28,6 +28,9 @@ + #include + + #include ++#ifndef LC_MESSAGES ++#include ++#endif + + #include "sound-theme-spec.h" + #include "malloc.h" diff --git a/ports/libcanberra/ltdl.patch b/ports/libcanberra/ltdl.patch new file mode 100644 index 00000000000000..100c798d02b038 --- /dev/null +++ b/ports/libcanberra/ltdl.patch @@ -0,0 +1,29 @@ +diff --git a/configure.ac b/configure.ac +index f68602d..a4e24b3 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -140,8 +140,12 @@ dnl We don't need any special variable for this though, since the user + dnl can give the proper place to find libltdl through the standard + dnl variables like LDFLAGS and CPPFLAGS. + ++LTDL_INIT ++if test -n "$LTDL_LDFLAGS"; then ++ LDFLAGS="$LDFLAGS $LTDL_LDFLAGS" ++fi + AC_CHECK_HEADER([ltdl.h], +- [AC_CHECK_LIB([ltdl], [lt_dladvise_init], [LIBLTDL=-lltdl], [LIBLTDL=])], ++ [AC_CHECK_LIB([ltdl], [lt_dladvise_init], [LIBLTDL="-lltdl $LTDL_LDFLAGS $lt_cv_dlopen_libs"], [LIBLTDL=])], + [LIBLTDL=]) + + AS_IF([test "x$LIBLTDL" = "x"], +diff --git a/libcanberra.pc.in b/libcanberra.pc.in +index 0a5c7a1..a6a989b 100644 +--- a/libcanberra.pc.in ++++ b/libcanberra.pc.in +@@ -7,5 +7,6 @@ Name: libcanberra + Description: Event Sound API + Version: @PACKAGE_VERSION@ + Libs: -L${libdir} -lcanberra @PTHREAD_LIBS@ ++Libs.private: @LIBLTDL@ + Cflags: -D_REENTRANT -I${includedir} + Requires: diff --git a/ports/libcanberra/macos_fix.patch b/ports/libcanberra/macos_fix.patch deleted file mode 100644 index e7f9016e721c3a..00000000000000 --- a/ports/libcanberra/macos_fix.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/configure.ac b/configure.ac -index f68602d..1451747 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -115,8 +115,7 @@ CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], [\ - AC_SUBST([WARNINGFLAGS], $with_cflags) - - CC_CHECK_FLAGS_APPEND([with_ldflags], [LDFLAGS], [\ -- -Wl,--as-needed \ -- -Wl,--gc-sections]) -+]) - AC_SUBST([GCLDFLAGS], $with_ldflags) - - #### libtool stuff #### diff --git a/ports/libcanberra/pkgconfig.patch b/ports/libcanberra/pkgconfig.patch deleted file mode 100644 index 7179e5b673f2d3..00000000000000 --- a/ports/libcanberra/pkgconfig.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/libcanberra.pc.in b/libcanberra.pc.in -index 0a5c7a1..91a9e39 100644 ---- a/libcanberra.pc.in -+++ b/libcanberra.pc.in -@@ -7,5 +7,7 @@ Name: libcanberra - Description: Event Sound API - Version: @PACKAGE_VERSION@ - Libs: -L${libdir} -lcanberra @PTHREAD_LIBS@ -+Libs.private: @LIBS_PRIVATE@ - Cflags: -D_REENTRANT -I${includedir} -+Cflags.private: @CFLAGS_PRIVATE@ - Requires: diff --git a/ports/libcanberra/portfile.cmake b/ports/libcanberra/portfile.cmake index 6fa7f3221bc188..bf64042a94d2c8 100644 --- a/ports/libcanberra/portfile.cmake +++ b/ports/libcanberra/portfile.cmake @@ -1,20 +1,8 @@ -vcpkg_fail_port_install(ON_TARGET "Windows" "UWP") -set(VERSION 0.30) -set(PATCHES - pkgconfig.patch - undefined_reference.diff # https://sources.debian.org/patches/libcanberra/0.30-7/ - gtk_dont_assume_x11.patch # likewise - 03_onlyshowin_unity.patch # likewise -) - -if(VCPKG_TARGET_IS_OSX) - list(APPEND PATCHES macos_fix.patch) -endif() - +vcpkg_minimum_required(VERSION 2022-10-12) # for ${VERSION} if(VCPKG_TARGET_IS_OSX) message("${PORT} currently requires the following libraries from the system package manager:\n automake\n libtool\n\nThey can be installed with brew install automake libtool") else() - message("${PORT} currently requires the following libraries from the system package manager:\n automake\n libtool\n\nThey can be installed with apt-get install automake libtool") + message("${PORT} currently requires the following libraries from the system package manager:\n automake\n libtool\n ltdl-dev\n\nThey can be installed with apt-get install automake libtool ltdl-dev") endif() vcpkg_download_distfile(ARCHIVE @@ -23,68 +11,60 @@ vcpkg_download_distfile(ARCHIVE SHA512 f7543582122256826cd01d0f5673e1e58d979941a93906400182305463d6166855cb51f35c56d807a56dc20b7a64f7ce4391368d24990c1b70782a7d0b4429c2 ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH +vcpkg_extract_source_archive(SOURCE_PATH ARCHIVE "${ARCHIVE}" - REF ${VERSION} - PATCHES ${PATCHES} + PATCHES + ltdl.patch + undefined_reference.diff # https://sources.debian.org/patches/libcanberra/0.30-7/ + gtk_dont_assume_x11.patch # likewise + 03_onlyshowin_unity.patch # likewise + lc-messages.patch ) -set(EXTRA_CPPFLAGS) -set(EXTRA_LDFLAGS) +foreach(backend in oss pulse) + if("${backend}" IN_LIST FEATURES) + message(STATUS "Backend '${backend}' requires system libraries") + endif() +endforeach() + +vcpkg_list(SET OPTIONS) +foreach(feature IN ITEMS alsa gstreamer gtk3 null oss pulse) + if("${feature}" IN_LIST FEATURES) + list(APPEND OPTIONS "--enable-${feature}") + else() + list(APPEND OPTIONS "--disable-${feature}") + endif() +endforeach() -#libltdl fixes if(VCPKG_TARGET_IS_OSX) execute_process( COMMAND brew --prefix libtool OUTPUT_VARIABLE BREW_LIBTOOL_PATH + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + vcpkg_list(APPEND OPTIONS + "CPPFLAGS=-I${BREW_LIBTOOL_PATH}/include" + "LTDL_LDFLAGS=-L${BREW_LIBTOOL_PATH}/lib" + cc_cv_LDFLAGS__Wl___as_needed=no + cc_cv_LDFLAGS__Wl___gc_sections=no ) - string(STRIP ${BREW_LIBTOOL_PATH} BREW_LIBTOOL_PATH) - - set(LIBS_PRIVATE "-L${BREW_LIBTOOL_PATH}/lib -lltdl") - set(CFLAGS_PRIVATE "-I${BREW_LIBTOOL_PATH}/include") - set(EXTRA_LDFLAGS "LDFLAGS=${LIBS_PRIVATE}") - set(EXTRA_CPPFLAGS "CPPFLAGS=${CFLAGS_PRIVATE}") -else() - set(LIBS_PRIVATE "-lltdl") -endif() - -if (NOT "alsa" IN_LIST FEATURES) - list(APPEND FEATURES_BACKENDS "--disable-alsa") -endif() -if (NOT "gstreamer" IN_LIST FEATURES) - list(APPEND FEATURES_BACKENDS "--disable-gstreamer") -endif() -if (NOT "null" IN_LIST FEATURES) - list(APPEND FEATURES_BACKENDS "--disable-null") -endif() -if (NOT "oss" IN_LIST FEATURES) - list(APPEND FEATURES_BACKENDS "--disable-oss") -endif() -if (NOT "pulse" IN_LIST FEATURES) - list(APPEND FEATURES_BACKENDS "--disable-pulse") endif() - set(ENV{GTKDOCIZE} true) vcpkg_configure_make( AUTOCONFIG SOURCE_PATH "${SOURCE_PATH}" OPTIONS + --disable-gtk --disable-gtk-doc --disable-lynx --disable-silent-rules --disable-tdb - ${FEATURES_BACKENDS} - ${EXTRA_CPPFLAGS} - ${EXTRA_LDFLAGS} + --disable-udev + ${OPTIONS} ) vcpkg_install_make() - -configure_file("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/${PORT}.pc" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/${PORT}.pc" @ONLY) -configure_file("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/${PORT}.pc" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/${PORT}.pc" @ONLY) - vcpkg_fixup_pkgconfig() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") diff --git a/ports/libcanberra/vcpkg.json b/ports/libcanberra/vcpkg.json index 7ddde042164511..51086197c34e8b 100644 --- a/ports/libcanberra/vcpkg.json +++ b/ports/libcanberra/vcpkg.json @@ -1,11 +1,13 @@ { "name": "libcanberra", "version": "0.30", - "port-version": 1, + "port-version": 4, "description": "An implementation of the XDG Sound Theme and Name Specifications, for generating event sounds on free desktops", "homepage": "http://0pointer.de/lennart/projects/libcanberra/", - "supports": "!(windows | uwp)", + "license": "LGPL-2.1-or-later", + "supports": "!windows | mingw", "dependencies": [ + "gettext", "libvorbis" ], "default-features": [ @@ -13,7 +15,10 @@ ], "features": { "alsa": { - "description": "Enable optional ALSA support" + "description": "Enable optional ALSA support", + "dependencies": [ + "alsa" + ] }, "defaults": { "description": "Default features", @@ -21,23 +26,35 @@ { "name": "libcanberra", "features": [ - "null" + "alsa" ], - "platform": "osx" + "platform": "linux" }, { "name": "libcanberra", "features": [ - "alsa" + "null" ], - "platform": "linux" + "platform": "!linux" } ] }, "gstreamer": { "description": "Enable optional GStreamer support", "dependencies": [ - "gstreamer" + { + "name": "gstreamer", + "default-features": false + } + ] + }, + "gtk3": { + "description": "Enable optional GTK3 support", + "dependencies": [ + { + "name": "gtk3", + "default-features": false + } ] }, "null": { diff --git a/ports/libcap/configure b/ports/libcap/configure new file mode 100755 index 00000000000000..a4749cd8d3c981 --- /dev/null +++ b/ports/libcap/configure @@ -0,0 +1,51 @@ +#!/bin/sh + +set -e + +linkage=shared +prefix= +for OPTION; do + case "${OPTION}" in + --prefix=*) + prefix="${OPTION#--prefix=}" + ;; + --enable-static) + linkage=static + ;; + esac +done + +cat > Makefile.vcpkg <) - 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 1054bf5c8c73d8..671562e625cdce 100644 --- a/ports/libcerf/portfile.cmake +++ b/ports/libcerf/portfile.cmake @@ -1,33 +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_extract_source_archive_ex( +vcpkg_from_gitlab( OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} - PATCHES 001-fix-static-build.patch + 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_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DCERF_CPP=ON -DLIB_MAN=OFF - -DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} + -DLIB_RUN=OFF ) -vcpkg_install_cmake() +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(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 3d134faac927e6..de42e09c4be8e0 100644 --- a/ports/libcerf/vcpkg.json +++ b/ports/libcerf/vcpkg.json @@ -1,7 +1,16 @@ { "name": "libcerf", - "version-string": "1.13", - "port-version": 2, + "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" + "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/CMakeLists.txt b/ports/libconfig/CMakeLists.txt deleted file mode 100644 index ab6711ad9c8a74..00000000000000 --- a/ports/libconfig/CMakeLists.txt +++ /dev/null @@ -1,53 +0,0 @@ -cmake_minimum_required(VERSION 3.5.1) -project(libconfig C CXX) - -if(MSVC) - add_compile_options(/W3 /wd4005 /wd4996 /wd4018 -D_CRT_SECURE_NO_WARNINGS -DYY_NO_UNISTD_H -DYY_USE_CONST) -endif() - -set(C_SOURCES - lib/grammar.c - lib/libconfig.c - lib/scanctx.c - lib/scanner.c - lib/strbuf.c - lib/strvec.c - lib/util.c - lib/wincompat.c -) - -set(CPP_SOURCES - lib/libconfigcpp.cc -) - -set(CMAKE_C_STANDARD 99) - -include_directories(lib ${STDINT_H}) - -add_library(libconfig ${C_SOURCES}) -add_library(libconfig++ ${CPP_SOURCES}) - -if(BUILD_SHARED_LIBS) - target_compile_definitions(libconfig PRIVATE -DLIBCONFIG_EXPORTS) - target_compile_definitions(libconfig++ PRIVATE -DLIBCONFIGXX_EXPORTS) -else() - target_compile_definitions(libconfig PUBLIC -DLIBCONFIG_STATIC) - target_compile_definitions(libconfig++ PUBLIC -DLIBCONFIGXX_STATIC) -endif() - -if (WIN32) - # Linux doesn't have shlwapi - target_link_libraries(libconfig shlwapi) -endif() -target_link_libraries(libconfig++ PRIVATE libconfig) - -install( - TARGETS libconfig libconfig++ - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib -) - -if(NOT DISABLE_INSTALL_HEADERS) - install(FILES lib/libconfig.h++ lib/libconfig.h DESTINATION include) -endif() diff --git a/ports/libconfig/libconfig++-cmake-export.diff b/ports/libconfig/libconfig++-cmake-export.diff new file mode 100644 index 00000000000000..d7ef5911abca57 --- /dev/null +++ b/ports/libconfig/libconfig++-cmake-export.diff @@ -0,0 +1,22 @@ +diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt +index 3a64deb..233c89f 100644 +--- a/lib/CMakeLists.txt ++++ b/lib/CMakeLists.txt +@@ -112,7 +112,7 @@ install(TARGETS ${libname} + ) + + install(TARGETS ${libname}++ +- EXPORT libconfig++Targets ++ EXPORT libconfigTargets + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} +@@ -121,7 +121,7 @@ install(TARGETS ${libname}++ + + + include(CMakePackageConfigHelpers) +-foreach(target_name libconfig libconfig++) ++foreach(target_name libconfig) + write_basic_package_version_file("${target_name}ConfigVersion.cmake" + VERSION ${PACKAGE_VERSION} + COMPATIBILITY SameMajorVersion diff --git a/ports/libconfig/portfile.cmake b/ports/libconfig/portfile.cmake index 06b4626775866a..f9362db4580478 100644 --- a/ports/libconfig/portfile.cmake +++ b/ports/libconfig/portfile.cmake @@ -1,54 +1,29 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO hyperrealm/libconfig - REF v1.7.3 + REF "v${VERSION}" SHA512 3749bf9eb29bab0f6b14f4fc759f0c419ed27a843842aaabed1ec1fbe0faa8c93322ff875ca1291d69cb28a39ece86d512aec42c2140d566c38c56dc616734f4 HEAD_REF master + PATCHES + libconfig++-cmake-export.diff + static-build.diff ) -if (NOT VCPKG_USE_HEAD_VERSION) - message("If you would like to use cmake with the port, use `--head` option with vcpkg install.") - file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) -endif() - -if (NOT VCPKG_USE_HEAD_VERSION) - vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON - ) -else() - vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - -DBUILD_EXAMPLES=OFF - -DBUILD_TESTS=OFF - ) -endif() - -vcpkg_install_cmake() - +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_EXAMPLES=OFF + -DBUILD_TESTS=OFF +) +vcpkg_cmake_install() vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/libconfig) -if (VCPKG_USE_HEAD_VERSION) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) - vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/libconfig) -endif() - -foreach(FILE ${CURRENT_PACKAGES_DIR}/include/libconfig.h++ ${CURRENT_PACKAGES_DIR}/include/libconfig.h) - file(READ ${FILE} _contents) - string(REPLACE "defined(LIBCONFIGXX_EXPORTS)" "0" _contents "${_contents}") - string(REPLACE "defined(LIBCONFIG_EXPORTS)" "0" _contents "${_contents}") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") - if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - string(REPLACE "defined(LIBCONFIGXX_STATIC)" "0" _contents "${_contents}") - string(REPLACE "defined(LIBCONFIG_STATIC)" "0" _contents "${_contents}") - else() - string(REPLACE "defined(LIBCONFIGXX_STATIC)" "1" _contents "${_contents}") - string(REPLACE "defined(LIBCONFIG_STATIC)" "1" _contents "${_contents}") - endif() - file(WRITE ${FILE} "${_contents}") -endforeach() +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/libconfig.h" "defined(LIBCONFIG_STATIC)" "1") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/libconfig.h++" "defined(LIBCONFIGXX_STATIC)" "1") +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/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 6acd72878ba263..fba3d05e5d2c01 100644 --- a/ports/libconfig/vcpkg.json +++ b/ports/libconfig/vcpkg.json @@ -1,7 +1,17 @@ { "name": "libconfig", - "version-string": "1.7.3", - "port-version": 1, + "version": "1.7.3", + "port-version": 5, "description": "C/C++ library for processing configuration files", - "homepage": "https://github.com/hyperrealm/libconfig" + "homepage": "https://github.com/hyperrealm/libconfig", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } 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 239c8dacfd7e3d..5b4a432dea9151 100644 --- a/ports/libconfuse/portfile.cmake +++ b/ports/libconfuse/portfile.cmake @@ -1,40 +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}) +get_filename_component(FLEX_DIR "${FLEX}" DIRECTORY) +vcpkg_add_to_path("${FLEX_DIR}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA -) - -vcpkg_install_cmake() +set(ENV{AUTOPOINT} true) # true, the program +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG + OPTIONS + --disable-examples + --disable-nls +) +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_fixup_cmake_targets(CONFIG_PATH share/unofficial-${PORT} TARGET_PATH share/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 dd7416c670337b..0a78c5593a4a91 100644 --- a/ports/libconfuse/vcpkg.json +++ b/ports/libconfuse/vcpkg.json @@ -1,7 +1,7 @@ { "name": "libconfuse", - "version-string": "2019-07-14", - "port-version": 2, + "version": "3.3", "description": "Small configuration file parser library for C", - "homepage": "https://github.com/martinh/libconfuse" + "homepage": "https://github.com/libconfuse/libconfuse", + "license": "ISC" } diff --git a/ports/libcopp/fix-x86-windows.patch b/ports/libcopp/fix-x86-windows.patch new file mode 100644 index 00000000000000..69a8c1d93e2fde --- /dev/null +++ b/ports/libcopp/fix-x86-windows.patch @@ -0,0 +1,16 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 95ebe36..658c5e1 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -25,6 +25,11 @@ project( + HOMEPAGE_URL "https://libcopp.atframe.work" + LANGUAGES C CXX ASM) + ++# libcopp requires x86 to be called i386 ++if(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86") ++ set(CMAKE_SYSTEM_PROCESSOR i386) ++endif() ++ + # ###################################################################################################################### + include("${PROJECT_SOURCE_DIR}/project/cmake/ProjectBuildOption.cmake") + diff --git a/ports/libcopp/portfile.cmake b/ports/libcopp/portfile.cmake index 46adc578b38210..078c53ba116a7d 100644 --- a/ports/libcopp/portfile.cmake +++ b/ports/libcopp/portfile.cmake @@ -1,35 +1,45 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO owent/libcopp - REF 1.4.1 - SHA512 eba06bd2de7c9ee557cdd0bf79e0c53e37722b671347436322c14c99e94d955477bfc0980a4f59a5c31051e108f952ec96791024c45fa8eeaa5f7a49099dd8ae + REF "v${VERSION}" + SHA512 aa594e1cab9e8489feb864539834a66f700be51000e551840456cbb27971894b3481b300be88a8273f7efc189e3003ecc680eabb3ae8131a90daa2ba90447973 HEAD_REF v2 + PATCHES fix-x86-windows.patch ) # atframework/cmake-toolset needed as a submodule for configure cmake vcpkg_from_github( OUT_SOURCE_PATH ATFRAMEWORK_CMAKE_TOOLSET REPO atframework/cmake-toolset - REF v1.3.5 - SHA512 5048c204eb6358547d99712a06866836e1a6dc20dee44cc33fae77181bdf9ece5686f30062eff6a231e1ec898d5a37ebaddb243e7e3484c002bb96240aa496a5 + REF v1.10.1 + SHA512 7ea18e41fabd35af5fd72fb954a1c60480ba85a9ff820104785d263e719751ba699eeca801ce5155041d8bf51fb2c37ea53f6ed404e4a4e7e810f1eb9bacead4 HEAD_REF main ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} +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_install_cmake() +vcpkg_cmake_install() -file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/${PORT}) -file(INSTALL ${SOURCE_PATH}/BOOST_LICENSE_1_0.txt 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}/BOOST_LICENSE_1_0.txt" "${SOURCE_PATH}/LICENSE") vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/libcopp) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/libcopp) +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/libcopp/libcopp-config.cmake" "set(\${CMAKE_FIND_PACKAGE_NAME}_SOURCE_DIR \"${SOURCE_PATH}\")" "") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") diff --git a/ports/libcopp/vcpkg.json b/ports/libcopp/vcpkg.json index a832fe24d92380..6d0c0dcba90a44 100644 --- a/ports/libcopp/vcpkg.json +++ b/ports/libcopp/vcpkg.json @@ -1,9 +1,21 @@ { "name": "libcopp", - "version-semver": "1.4.1", + "version": "2.2.0", + "port-version": 1, "maintainers": "owent ", "description": "A cross-platfrom coroutine library for C++", "homepage": "https://github.com/owent/libcopp", "documentation": "https://libcopp.atframe.work/", - "license": "MIT" + "license": "MIT", + "supports": "!(windows & arm)", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/libcoro/portfile.cmake b/ports/libcoro/portfile.cmake new file mode 100644 index 00000000000000..cebaa8fcaa549e --- /dev/null +++ b/ports/libcoro/portfile.cmake @@ -0,0 +1,35 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO jbaldwin/libcoro + REF "v${VERSION}" + SHA512 7d79737b4d347d6e829362e936089c1dc6b81505ca363728db19b47e22a798b442b17f15a68296bf98b016c8dedea9142b8a3b6a5ec6190cd3f2eac7ffe614b4 + HEAD_REF master +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + networking LIBCORO_FEATURE_NETWORKING + tls LIBCORO_FEATURE_TLS +) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED_LIBS) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} + -DLIBCORO_EXTERNAL_DEPENDENCIES=ON + -DLIBCORO_BUILD_TESTS=OFF + -DLIBCORO_BUILD_EXAMPLES=OFF + -DLIBCORO_BUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} +) + +vcpkg_cmake_install() + +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 new file mode 100644 index 00000000000000..7975552c291852 --- /dev/null +++ b/ports/libcoro/vcpkg.json @@ -0,0 +1,35 @@ +{ + "name": "libcoro", + "version": "0.12.1", + "description": "C++20 coroutine library", + "homepage": "https://github.com/jbaldwin/libcoro", + "license": "Apache-2.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ], + "features": { + "networking": { + "description": "Include networking features.", + "supports": "linux", + "dependencies": [ + "c-ares" + ] + }, + "tls": { + "description": "Include SSL features.", + "dependencies": [ + { + "name": "libcoro", + "default-features": false, + "features": [ + "networking" + ] + }, + "openssl" + ] + } + } +} diff --git a/ports/libcorrect/fix-ninja.patch b/ports/libcorrect/fix-ninja.patch new file mode 100644 index 00000000000000..adaa24325685ff --- /dev/null +++ b/ports/libcorrect/fix-ninja.patch @@ -0,0 +1,54 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2e8e07e..1e8355d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -31,8 +31,6 @@ else() + endif() + endif(MSVC) + +-find_library(FEC fec) +-CHECK_LIBRARY_EXISTS(FEC dotprod "" HAVE_LIBFEC) + + if(NOT CMAKE_CROSSCOMPILING) + # Check if host machine can compile with SSE 4.1 intrinsic +@@ -72,12 +70,13 @@ if(HAVE_SSE) + else() + set(correct_obj_files $ $) + endif() +-add_library(correct SHARED ${correct_obj_files}) +-add_library(correct_static ${correct_obj_files}) +-set_target_properties(correct_static PROPERTIES OUTPUT_NAME "correct") ++if (BUILD_SHARED_LIBS) ++ add_library(correct SHARED ${correct_obj_files}) ++else() ++ add_library(correct ${correct_obj_files}) ++endif() + if(HAVE_SSE) + target_compile_definitions(correct PUBLIC HAVE_SSE=1) +- target_compile_definitions(correct_static PUBLIC HAVE_SSE=1) + endif() + + add_subdirectory(util) +@@ -85,18 +84,8 @@ add_subdirectory(tests) + add_subdirectory(tools) + # add_subdirectory(benchmarks) + +-install(TARGETS correct correct_static +- DESTINATION lib) ++install(TARGETS correct ++ RUNTIME DESTINATION bin ++ LIBRARY DESTINATION lib ++ ARCHIVE DESTINATION lib) + install(FILES ${INSTALL_HEADERS} DESTINATION "${CMAKE_INSTALL_PREFIX}/include") +- +-add_library(fec_shim_static EXCLUDE_FROM_ALL src/fec_shim.c ${correct_obj_files}) +-set_target_properties(fec_shim_static PROPERTIES OUTPUT_NAME "fec") +-add_library(fec_shim_shared SHARED EXCLUDE_FROM_ALL src/fec_shim.c ${correct_obj_files}) +-set_target_properties(fec_shim_shared PROPERTIES OUTPUT_NAME "fec") +-add_custom_target(fec-shim-h COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_SOURCE_DIR}/include/fec_shim.h ${PROJECT_BINARY_DIR}/include/fec.h) +-add_custom_target(shim DEPENDS fec_shim_static fec_shim_shared fec-shim-h) +- +-install(TARGETS fec_shim_static fec_shim_shared +- DESTINATION lib +- OPTIONAL) +-install(FILES ${PROJECT_BINARY_DIR}/include/fec.h DESTINATION "${CMAKE_INSTALL_PREFIX}/include" OPTIONAL) diff --git a/ports/libcorrect/portfile.cmake b/ports/libcorrect/portfile.cmake new file mode 100644 index 00000000000000..f4f44f7c125071 --- /dev/null +++ b/ports/libcorrect/portfile.cmake @@ -0,0 +1,13 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO quiet/libcorrect + REF f5a28c74fba7a99736fe49d3a5243eca29517ae9 + SHA512 1367834c2a081e007b3eeeacb5bbe912617cce97cbd19d43193078f352fef103a54f030ef61a2def4ab7517476cf6be5d6a1736e43ae84913fe84a56340b69ce + HEAD_REF master + PATCHES fix-ninja.patch +) +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}") +vcpkg_cmake_install() +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/libcorrect/vcpkg.json b/ports/libcorrect/vcpkg.json new file mode 100644 index 00000000000000..2a0b966a14edbc --- /dev/null +++ b/ports/libcorrect/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "libcorrect", + "version-date": "2018-10-11", + "description": "libcorrect is a library for Forward Error Correction", + "homepage": "https://github.com/quiet/libcorrect", + "license": "BSD-3-Clause", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/libcpplocate/fix-install-paths.patch b/ports/libcpplocate/fix-install-paths.patch new file mode 100644 index 00000000000000..62d4722c2ce94d --- /dev/null +++ b/ports/libcpplocate/fix-install-paths.patch @@ -0,0 +1,39 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 854214c..9c4d98a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -124,7 +124,7 @@ if("${CMAKE_INSTALL_PREFIX}" STREQUAL "/usr" OR "${CMAKE_INSTALL_PREFIX}" STREQU + endif() + + # Installation paths +-if(UNIX AND SYSTEM_DIR_INSTALL) ++if(1) + # Install into the system (/usr/bin or /usr/local/bin) + set(INSTALL_ROOT "share/${project}") # /usr/[local]/share/ + set(INSTALL_CMAKE "share/${project}/cmake") # /usr/[local]/share//cmake +diff --git a/cpplocate-config.cmake b/cpplocate-config.cmake +index 8693fa4..cdb2828 100644 +--- a/cpplocate-config.cmake ++++ b/cpplocate-config.cmake +@@ -26,7 +26,7 @@ macro(find_modules PREFIX) + if(TARGET ${module_name}) + set(MODULE_FOUND TRUE) + else() +- find_module("${CMAKE_CURRENT_LIST_DIR}/${PREFIX}/${module_name}/${module_name}-export.cmake") ++ find_module("${CMAKE_CURRENT_LIST_DIR}/${module_name}-export.cmake") + endif() + endforeach(module_name) + endmacro() +diff --git a/liblocate-config.cmake b/liblocate-config.cmake +index 3bf4823..7245353 100644 +--- a/liblocate-config.cmake ++++ b/liblocate-config.cmake +@@ -25,7 +25,7 @@ macro(find_modules PREFIX) + if(TARGET ${module_name}) + set(MODULE_FOUND TRUE) + else() +- find_module("${CMAKE_CURRENT_LIST_DIR}/${PREFIX}/${module_name}/${module_name}-export.cmake") ++ find_module("${CMAKE_CURRENT_LIST_DIR}/${module_name}-export.cmake") + endif() + endforeach(module_name) + endmacro() diff --git a/ports/libcpplocate/portfile.cmake b/ports/libcpplocate/portfile.cmake new file mode 100644 index 00000000000000..963700fcb8cbcd --- /dev/null +++ b/ports/libcpplocate/portfile.cmake @@ -0,0 +1,41 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO cginternals/cpplocate + REF v2.3.0 + SHA512 4028d552d0c3c0161d5dd5aea27bb22f0c61297a4b461a067c082cfcf84e3a709c9895453e750d819433529089011c2512293b2064c42bb5ba11f957eebc2206 + HEAD_REF master + PATCHES + fix-install-paths.patch +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DOPTION_BUILD_TESTS=OFF +) + +vcpkg_cmake_install() +vcpkg_copy_pdbs() + +vcpkg_cmake_config_fixup( + PACKAGE_NAME cpplocate + CONFIG_PATH share/cpplocate/cmake/cpplocate + DO_NOT_DELETE_PARENT_CONFIG_PATH +) + +vcpkg_cmake_config_fixup( + PACKAGE_NAME liblocate + CONFIG_PATH share/cpplocate/cmake/liblocate +) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/cpplocate/cmake") + +# Patched liblocate config file needs moving to the correct directory +file(RENAME + "${CURRENT_PACKAGES_DIR}/share/cpplocate/liblocate-config.cmake" + "${CURRENT_PACKAGES_DIR}/share/liblocate/liblocate-config.cmake" +) + +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/libcpplocate/vcpkg.json b/ports/libcpplocate/vcpkg.json new file mode 100644 index 00000000000000..3dbe9db2e63091 --- /dev/null +++ b/ports/libcpplocate/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "libcpplocate", + "version-semver": "2.3.0", + "description": "Cross-platform C++ library providing tools for applications to locate themselves, their data assets as well as dependent modules.", + "homepage": "https://cpplocate.org/", + "license": "MIT", + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/libcrafter/portfile.cmake b/ports/libcrafter/portfile.cmake index 3b78eadf912089..b72759a15a3b4d 100644 --- a/ports/libcrafter/portfile.cmake +++ b/ports/libcrafter/portfile.cmake @@ -1,5 +1,3 @@ -vcpkg_fail_port_install(ON_TARGET "windows") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO pellegre/libcrafter @@ -22,6 +20,7 @@ vcpkg_install_make() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() # Handle copyright -file(INSTALL "${SOURCE_PATH}/libcrafter/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) \ No newline at end of file +file(INSTALL "${SOURCE_PATH}/libcrafter/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/libcrafter/vcpkg.json b/ports/libcrafter/vcpkg.json index 0f774a171abe74..8f8dfd08ca8f15 100644 --- a/ports/libcrafter/vcpkg.json +++ b/ports/libcrafter/vcpkg.json @@ -1,6 +1,7 @@ { "name": "libcrafter", "version": "1.0", + "port-version": 2, "description": "Libcrafter is a high level library for C++ designed to create and decode network packets.", "homepage": "https://github.com/pellegre/libcrafter", "supports": "!windows", 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 9e05f376dc6706..00000000000000 --- a/ports/libcroco/CMakeLists.txt +++ /dev/null @@ -1,138 +0,0 @@ -cmake_minimum_required(VERSION 3.11) -project(libcroco C) - -find_package(Iconv REQUIRED) -find_package(Intl 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(LibXml2 REQUIRED) -if(NOT WIN32) - find_package(Threads REQUIRED) -endif() -find_path(GLIB_INCLUDE_DIR glib.h) - -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 -) - -set(CMAKE_DEBUG_POSTFIX "d") - -add_library(croco-0.6 ${SOURCES}) - -target_include_directories(croco-0.6 PRIVATE ${GLIB_INCLUDE_DIRS} ${LIBXML2_INCLUDE_DIR}) -target_link_libraries(croco-0.6 PRIVATE - PkgConfig::GLIB2 - ${LIBXML2_LIBRARIES} ${Intl_LIBRARIES} Iconv::Iconv -) - -install(TARGETS croco-0.6 - EXPORT libcroco-targets - 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 -) - -install( - EXPORT libcroco-targets - NAMESPACE unofficial::libcroco:: - FILE unofficial-libcroco-targets.cmake - DESTINATION share/unofficial-libcroco -) - -file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/unofficial-libcroco-config.cmake " -include(CMakeFindDependencyMacro) -find_dependency(Intl) -find_dependency(Iconv) -find_dependency(PkgConfig) -pkg_check_modules(GLIB2 glib-2.0 gobject-2.0 gmodule-2.0 gio-2.0 IMPORTED_TARGET) -find_dependency(LibXml2) -if(NOT WIN32) - find_dependency(Threads) -endif() -include(\${CMAKE_CURRENT_LIST_DIR}/unofficial-libcroco-targets.cmake) -") -install(FILES ${CMAKE_CURRENT_BINARY_DIR}/unofficial-libcroco-config.cmake DESTINATION share/unofficial-libcroco) diff --git a/ports/libcroco/portfile.cmake b/ports/libcroco/portfile.cmake index de8c0fe2a99855..806461548ab5ff 100644 --- a/ports/libcroco/portfile.cmake +++ b/ports/libcroco/portfile.cmake @@ -1,33 +1,38 @@ 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 ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} +vcpkg_extract_source_archive( + SOURCE_PATH + 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}") -vcpkg_find_acquire_program(PKGCONFIG) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +set(OPTIONS "") +if(VCPKG_TARGET_IS_OSX) + list(APPEND OPTIONS "--disable-Bsymbolic") +endif() + +vcpkg_configure_make( + USE_WRAPPERS + SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DPKG_CONFIG_EXECUTABLE=${PKGCONFIG} + ${OPTIONS} ) -vcpkg_install_cmake() +vcpkg_install_make() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-libcroco TARGET_PATH share/unofficial-libcroco) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +vcpkg_fixup_pkgconfig() -# Handle copyright -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libcroco RENAME copyright) +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}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/libcroco/unofficial-libcroco-config.cmake b/ports/libcroco/unofficial-libcroco-config.cmake new file mode 100644 index 00000000000000..a116ae8d8ac2e9 --- /dev/null +++ b/ports/libcroco/unofficial-libcroco-config.cmake @@ -0,0 +1,14 @@ +file(READ "${CMAKE_CURRENT_LIST_DIR}/../libcroco/usage" usage) +message(WARNING "find_package(unofficial-libcroco) is deprecated.\n${usage}") + +include(CMakeFindDependencyMacro) +find_dependency(PkgConfig) +pkg_check_modules(VCPKG_LIBCROCO libcroco-0.6 IMPORTED_TARGET) +if(NOT VCPKG_LIBCROCO_FOUND) + set(${CMAKE_FIND_PACKAGE_NAME}_FOUND 0) +elseif(NOT TARGET unofficial::libcroco::croco-0.6) + add_library(unofficial::libcroco::croco-0.6 INTERFACE IMPORTED) + set_target_properties(unofficial::libcroco::croco-0.6 PROPERTIES + INTERFACE_LINK_LIBRARIES PkgConfig::VCPKG_LIBCROCO + ) +endif() diff --git a/ports/libcroco/usage b/ports/libcroco/usage new file mode 100644 index 00000000000000..cee11583dfcc61 --- /dev/null +++ b/ports/libcroco/usage @@ -0,0 +1,5 @@ +libcroco can be imported via CMake FindPkgConfig module: + + find_package(PkgConfig REQUIRED) + pkg_check_modules(LIBCROCO libcroco-0.6 IMPORTED_TARGET REQUIRED) + target_link_libraries(main PRIVATE PkgConfig::LIBCROCO) diff --git a/ports/libcroco/vcpkg.json b/ports/libcroco/vcpkg.json index f6781ed63b2675..4c003e52039339 100644 --- a/ports/libcroco/vcpkg.json +++ b/ports/libcroco/vcpkg.json @@ -1,10 +1,15 @@ { "name": "libcroco", "version": "0.6.13", - "port-version": 3, + "port-version": 7, "description": "A standalone css2 parsing and manipulation library", + "license": "LGPL-2.0-only", "dependencies": [ "glib", - "libxml2" + "libxml2", + { + "name": "vcpkg-cmake", + "host": true + } ] } diff --git a/ports/libcsv/Makefile.patch b/ports/libcsv/Makefile.patch new file mode 100644 index 00000000000000..25d7af9bc05ad8 --- /dev/null +++ b/ports/libcsv/Makefile.patch @@ -0,0 +1,13 @@ +diff --git a/Makefile.am b/Makefile.am +index 79a3527..619a253 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -1,7 +1,7 @@ + lib_LTLIBRARIES = libcsv.la + libcsv_la_SOURCES = libcsv.c + libcsv_la_LDFLAGS = -version-info 3:3:0 +- libcsv_la_CFLAGS = -Wall -Wextra ++ libcsv_la_CFLAGS = -Wall + libcsv_includedir = $(includedir) + nobase_libcsv_include_HEADERS = csv.h + dist_man_MANS = csv.3 diff --git a/ports/libcsv/portfile.cmake b/ports/libcsv/portfile.cmake new file mode 100644 index 00000000000000..d8255020948bf4 --- /dev/null +++ b/ports/libcsv/portfile.cmake @@ -0,0 +1,21 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO rgamble/libcsv + REF b1d5212831842ee5869d99bc208a21837e4037d5 # v3.0.3 + SHA512 2e6ea0b68768d502e9bdb3bb801a1eb64b7fb0010a5006dec1b36a0fe705ec717560ec91f586572654c015db1f0d3a6e804dbcaa666a419192e93820b2c5e891 + HEAD_REF master + PATCHES + Makefile.patch +) + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG +) + +vcpkg_install_make() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/libcsv" RENAME copyright) diff --git a/ports/libcsv/vcpkg.json b/ports/libcsv/vcpkg.json new file mode 100644 index 00000000000000..520c00e4b6fa9e --- /dev/null +++ b/ports/libcsv/vcpkg.json @@ -0,0 +1,9 @@ +{ + "name": "libcsv", + "version": "3.0.3", + "port-version": 1, + "description": "CSV parser and writer library", + "homepage": "https://github.com/rgamble/libcsv", + "license": "GPL-2.0-or-later", + "supports": "!xbox" +} diff --git a/ports/libcuckoo/portfile.cmake b/ports/libcuckoo/portfile.cmake index 67c8f445e97125..0d4e9870c396fb 100644 --- a/ports/libcuckoo/portfile.cmake +++ b/ports/libcuckoo/portfile.cmake @@ -1,16 +1,16 @@ -# Header-only library - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO efficient/libcuckoo - REF 8785773896d74f72b6224e59d37f5f8c3c1e022a - SHA512 e47f8fd132ee2acf347ee375759f96235cd090fdb825792f994ff5eb4d8fed55b8e8bea8d293ec96c1a5f1b46d19c6648eaf2482e482b7b9c0d6dc734bc2121d + REF ea8c36c65bf9cf83aaf6b0db971248c6ae3686cf + SHA512 5c36ebf6047afb3fa980049dc2e38b8e34443d40cff7ba9b7ee1fa8b78ff3dd92b2d0a346667a71eec6d0bfc917b3080c883146f97681f20f71ce618eac3f37f HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +# header-only library +set(VCPKG_BUILD_TYPE release) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_EXAMPLES=OFF -DBUILD_TESTS=OFF @@ -19,11 +19,8 @@ vcpkg_configure_cmake( -DBUILD_UNIVERSAL_BENCHMARK=OFF ) -vcpkg_install_cmake() - -vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/${PORT}) +vcpkg_cmake_install() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) +vcpkg_cmake_config_fixup(CONFIG_PATH share/cmake/${PORT}) -# Handle copyright -configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/libcuckoo/vcpkg.json b/ports/libcuckoo/vcpkg.json index 49f4312eac8c09..bdec461522e477 100644 --- a/ports/libcuckoo/vcpkg.json +++ b/ports/libcuckoo/vcpkg.json @@ -1,7 +1,17 @@ { "name": "libcuckoo", - "version-string": "0.3", - "port-version": 1, + "version": "0.3.1", "description": "A high-performance, concurrent hash table", - "homepage": "https://github.com/efficient/libcuckoo" + "homepage": "https://github.com/efficient/libcuckoo", + "license": "Apache-2.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/libcurl-simple-https/portfile.cmake b/ports/libcurl-simple-https/portfile.cmake new file mode 100644 index 00000000000000..4ea56bdd11f470 --- /dev/null +++ b/ports/libcurl-simple-https/portfile.cmake @@ -0,0 +1,19 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO SamuelMarks/curl-simple-https + REF 5a115053ba4d249fc1af22c3673b4d014e56bcf5 + SHA512 6274bfeec5235d39c627850b1b6ef03c3f1982c74f937b604137cf3cf87e982f971c4681760b42926a3fb15bc8268f2fa48c197919516066d73f53425aa24545 + HEAD_REF master +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + "-DBUILD_CLI=OFF" +) +vcpkg_cmake_install() +file(INSTALL "${SOURCE_PATH}/cmake/License.txt" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" + RENAME copyright) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share") diff --git a/ports/libcurl-simple-https/vcpkg.json b/ports/libcurl-simple-https/vcpkg.json new file mode 100644 index 00000000000000..beac2afdd5a5f9 --- /dev/null +++ b/ports/libcurl-simple-https/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "libcurl-simple-https", + "version-date": "2022-02-14", + "description": "Very simple HTTPS interface built atop libcurl", + "license": "Apache-2.0 OR MIT", + "supports": "!uwp", + "dependencies": [ + "curl", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/libdatachannel/0001-fix-for-vcpkg.patch b/ports/libdatachannel/0001-fix-for-vcpkg.patch deleted file mode 100644 index 4bce9aa8874f04..00000000000000 --- a/ports/libdatachannel/0001-fix-for-vcpkg.patch +++ /dev/null @@ -1,72 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 02b688c..03b185f 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -27,7 +27,6 @@ endif() - - set(CMAKE_POSITION_INDEPENDENT_CODE ON) - set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake/Modules) --set(BUILD_SHARED_LIBS OFF) # to force usrsctp to be built static - - if(WIN32) - add_definitions(-DWIN32_LEAN_AND_MEAN) -@@ -196,9 +195,10 @@ 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(0) - option(sctp_build_programs 0) - option(sctp_build_shared_lib 0) - set(CMAKE_POLICY_DEFAULT_CMP0077 NEW) -@@ -210,8 +210,8 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "GNU") - target_compile_options(usrsctp PRIVATE -Wno-error=format-truncation) - endif() - add_library(Usrsctp::Usrsctp ALIAS usrsctp) -- --add_library(datachannel SHARED -+endif() -+add_library(datachannel - ${LIBDATACHANNEL_SOURCES} - ${LIBDATACHANNEL_HEADERS} - ${LIBDATACHANNEL_IMPL_SOURCES} -@@ -235,16 +235,18 @@ 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}) - - 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 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}) - - if(WIN32) - target_link_libraries(datachannel PUBLIC ws2_32) # winsock2 -@@ -339,11 +341,11 @@ else() - target_link_libraries(datachannel PRIVATE LibJuice::LibJuice) - target_link_libraries(datachannel-static PRIVATE LibJuice::LibJuice) - else() -- add_subdirectory(deps/libjuice EXCLUDE_FROM_ALL) -+ find_package(LibJuice CONFIG REQUIRED) - target_compile_definitions(datachannel PRIVATE RTC_SYSTEM_JUICE=0) - target_compile_definitions(datachannel-static PRIVATE RTC_SYSTEM_JUICE=0) -- target_link_libraries(datachannel PRIVATE LibJuice::LibJuiceStatic) -- target_link_libraries(datachannel-static PRIVATE LibJuice::LibJuiceStatic) -+ target_link_libraries(datachannel PRIVATE LibJuice::juice) -+ target_link_libraries(datachannel-static PRIVATE LibJuice::juice) - endif() - endif() - 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/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 0426c1a662444d..ab1db9c674db5d 100644 --- a/ports/libdatachannel/portfile.cmake +++ b/ports/libdatachannel/portfile.cmake @@ -1,43 +1,41 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO paullouisageneau/libdatachannel - REF 267fdc190bcd276aacf45e4cd5ab8a51541161e8 #v0.15.1 - SHA512 333b1308b9f620326aa3b1af30aed8be2011c3a5a7d850e94476b8a14f696cef4cc815fda57e7a205cc264a077b7d1fa403ff1354364aae58651cdb0324c951b + REF "v${VERSION}" + SHA512 fd0d66bb932e29abc01e9f1a8b16ccb79012a7e3901e2e0f882f56ab2f090260945e1556c85ad07ef897b8c70fcdd44cdeead9955a9bca7afe1dda8900c473cc HEAD_REF master - PATCHES - 0001-fix-for-vcpkg.patch + PATCHES + dependencies.diff + library-linkage.diff + uwp-warnings.patch ) 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 + -DPREFER_SYSTEM_LIB=ON -DNO_EXAMPLES=ON -DNO_TESTS=ON ) 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") -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/libdatachannel/uwp-warnings.patch b/ports/libdatachannel/uwp-warnings.patch new file mode 100644 index 00000000000000..23d23dd3141a85 --- /dev/null +++ b/ports/libdatachannel/uwp-warnings.patch @@ -0,0 +1,15 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1b5190b..763b49e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -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 (NO_WEBSOCKET) diff --git a/ports/libdatachannel/vcpkg.json b/ports/libdatachannel/vcpkg.json index 1767760c272f6f..71d55e0f4dad2b 100644 --- a/ports/libdatachannel/vcpkg.json +++ b/ports/libdatachannel/vcpkg.json @@ -1,11 +1,14 @@ { "name": "libdatachannel", - "version-semver": "0.15.1", + "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/libdatrie/CMakeLists.txt b/ports/libdatrie/CMakeLists.txt index bdc1c21eaa4b72..57e7cf58e2f7b7 100644 --- a/ports/libdatrie/CMakeLists.txt +++ b/ports/libdatrie/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.0) +cmake_minimum_required(VERSION 3.22) project(libdatrie LANGUAGES C) option(SKIP_HEADERS "Skip headers" OFF) @@ -49,30 +49,23 @@ check_function_exists(malloc HAVE_MALLOC) configure_file(config.h.cmake config.h) +include_directories( + "${CMAKE_CURRENT_SOURCE_DIR}" + "${CMAKE_CURRENT_BINARY_DIR}" +) + add_library(libdatrie ${LIB_SRCS}) -target_include_directories(libdatrie PRIVATE ".") -target_include_directories(libdatrie PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) -set_target_properties(libdatrie PROPERTIES PREFIX "") -set_target_properties(libdatrie PROPERTIES DEBUG_POSTFIX "d") +set_target_properties(libdatrie PROPERTIES OUTPUT_NAME "datrie") if(MSVC) add_definitions(-D_CRT_SECURE_NO_WARNINGS) add_definitions(-D_CRT_NONSTDC_NO_DEPRECATE) endif() - if (NOT SKIP_TOOL) add_executable(trietool "tools/trietool.c" ) - target_include_directories(trietool PRIVATE ".") - target_include_directories(trietool PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) - target_link_libraries(trietool libdatrie) - - find_path(ICONV_INCLUDE_DIR iconv.h) - find_library(ICONV_LIBRARY NAMES iconv libiconv) - find_library(CHARSET_LIBRARY NAMES charset libcharset) - target_include_directories(trietool PRIVATE ${ICONV_INCLUDE_DIR}) - target_link_libraries(trietool ${ICONV_LIBRARY} ${CHARSET_LIBRARY}) - + find_package(Iconv REQUIRED) + target_link_libraries(trietool PRIVATE libdatrie Iconv::Iconv) install( TARGETS trietool RUNTIME DESTINATION bin @@ -92,3 +85,13 @@ if (NOT SKIP_HEADERS) DESTINATION "include/datrie" ) endif() + +set(prefix "${CMAKE_INSTALL_PREFIX}") +set(exec_prefix "\${prefix}") +set(libdir "\${prefix}/lib") +set(includedir "\${prefix}/include") +configure_file(datrie-0.2.pc.in datrie-0.2.pc) +install( + FILES "${CMAKE_CURRENT_BINARY_DIR}/datrie-0.2.pc" + DESTINATION "lib/pkgconfig" +) \ No newline at end of file diff --git a/ports/libdatrie/fix-trietool.patch b/ports/libdatrie/fix-trietool.patch deleted file mode 100644 index bcecee26e41698..00000000000000 --- a/ports/libdatrie/fix-trietool.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 086a76ad7c17060d504371ea724cf5d651d43eb3 Mon Sep 17 00:00:00 2001 -From: Mikhail Paulyshka -Date: Thu, 28 Dec 2017 16:07:51 +0300 -Subject: [PATCH] fix trietool for MSVC runtime - ---- - tools/trietool.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/tools/trietool.c b/tools/trietool.c -index 4cfde2a..7c90905 100644 ---- a/tools/trietool.c -+++ b/tools/trietool.c -@@ -589,12 +589,12 @@ string_trim (char *s) - char *p; - - /* skip leading white spaces */ -- while (*s && isspace (*s)) -+ while (*s && isspace ((unsigned char)*s)) - ++s; - - /* trim trailing white spaces */ - p = s + strlen (s) - 1; -- while (isspace (*p)) -+ while (isspace ((unsigned char)*p)) - --p; - *++p = '\0'; - --- -2.14.1.windows.1 - diff --git a/ports/libdatrie/portfile.cmake b/ports/libdatrie/portfile.cmake index 452b66a174f692..76e88046011323 100644 --- a/ports/libdatrie/portfile.cmake +++ b/ports/libdatrie/portfile.cmake @@ -1,52 +1,40 @@ -set(LIBDATRIE_VERSION 0.2.10) +set(LIBDATRIE_VERSION 0.2.13) -vcpkg_download_distfile(ARCHIVE - URLS "https://linux.thai.net/pub/ThaiLinux/software/libthai/libdatrie-${LIBDATRIE_VERSION}.tar.xz" - FILENAME "libdatrie-${LIBDATRIE_VERSION}.tar.xz" - SHA512 ee68ded9d6e06c562da462d42e7e56098a82478d7b8547506200c3018b72536c4037a4e518924f779dc77d3ab139d93216bdb29ab4116b9dc9efd1a5d1eb9e31 -) - -vcpkg_extract_source_archive_ex( - ARCHIVE ${ARCHIVE} +vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH + REPO tlwg/libdatrie + REF v${LIBDATRIE_VERSION} + SHA512 38f5a3ee1f3ca0f0601a5fcfeec3892cb34857d4b4720b8e018ca1beb6520c4c10af3bd2f0e4d64367cb256e8e2bca4d0a59b1c81fb36782613d2c258b64df59 + HEAD_REF master PATCHES - "${CMAKE_CURRENT_LIST_DIR}/fix-exports.patch" - "${CMAKE_CURRENT_LIST_DIR}/fix-trietool.patch" + fix-exports.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}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") +file(COPY "${CMAKE_CURRENT_LIST_DIR}/config.h.cmake" DESTINATION "${SOURCE_PATH}") -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - set(SKIP_TOOL ON) -else() - set(SKIP_TOOL OFF) -endif() +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + INVERTED_FEATURES + tool SKIP_TOOL +) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DVERSION=${LIBDATRIE_VERSION} - OPTIONS_RELEASE - -DSKIP_TOOL=${SKIP_TOOL} - -DSKIP_HEADERS=OFF + ${FEATURE_OPTIONS} OPTIONS_DEBUG -DSKIP_TOOL=ON -DSKIP_HEADERS=ON ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() -if(NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/${PORT}) - file(RENAME ${CURRENT_PACKAGES_DIR}/bin/trietool.exe ${CURRENT_PACKAGES_DIR}/tools/${PORT}/trietool.exe) - vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT}) -endif() - -if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) +if(NOT SKIP_TOOL) + vcpkg_copy_tools(TOOL_NAMES trietool AUTO_CLEAN) endif() -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libdatrie RENAME copyright) +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) diff --git a/ports/libdatrie/usage b/ports/libdatrie/usage new file mode 100644 index 00000000000000..e63cedeeda99ce --- /dev/null +++ b/ports/libdatrie/usage @@ -0,0 +1,13 @@ +The package libdatrie can be used via CMake: + + find_path(LIBDATRIE_INCLUDE_DIR datrie/trie.h) + find_library(LIBDATRIE_LIBRARY NAMES datrie) + target_include_directories(main PRIVATE "${LIBDATRIE_INCLUDE_DIR}") + target_link_libraries(main PRIVATE "${LIBDATRIE_LIBRARY}") + +The package libdatrie can be imported via CMake FindPkgConfig module: + + find_package(PkgConfig) + pkg_check_modules(LIBDATRIE REQUIRED IMPORTED_TARGET datrie-0.2) + + target_link_libraries(main PRIVATE PkgConfig::LIBDATRIE) diff --git a/ports/libdatrie/vcpkg.json b/ports/libdatrie/vcpkg.json index b9f1f545705060..e143b035f9b765 100644 --- a/ports/libdatrie/vcpkg.json +++ b/ports/libdatrie/vcpkg.json @@ -1,10 +1,23 @@ { "name": "libdatrie", - "version-string": "0.2.10", - "port-version": 4, - "description": "implementation of double-array structure for representing trie", + "version": "0.2.13", + "port-version": 1, + "description": "Implementation of double-array structure for representing trie", "homepage": "https://linux.thai.net/pub/ThaiLinux/software/libthai", + "license": "LGPL-2.1-or-later", "dependencies": [ - "libiconv" - ] + { + "name": "vcpkg-cmake", + "host": true + } + ], + "features": { + "tool": { + "description": "Build the trietool application", + "supports": "!uwp", + "dependencies": [ + "libiconv" + ] + } + } } diff --git a/ports/libdc1394/fix-macosx.patch b/ports/libdc1394/fix-macosx.patch new file mode 100644 index 00000000000000..9e626e149d4564 --- /dev/null +++ b/ports/libdc1394/fix-macosx.patch @@ -0,0 +1,11 @@ +--- a/dc1394/macosx/Makefile.in ++++ b/dc1394/macosx/Makefile.in +@@ -119,7 +119,7 @@ AM_V_at = $(am__v_at_@AM_V@) + am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) + am__v_at_0 = @ + am__v_at_1 = +-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) ++DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) -I.@am__isrc@/.. -I.@am__isrc@/../.. + depcomp = $(SHELL) $(top_srcdir)/depcomp + am__depfiles_maybe = depfiles + am__mv = mv -f diff --git a/ports/libdc1394/portfile.cmake b/ports/libdc1394/portfile.cmake new file mode 100644 index 00000000000000..e22c3bb771815d --- /dev/null +++ b/ports/libdc1394/portfile.cmake @@ -0,0 +1,29 @@ +vcpkg_from_sourceforge( + OUT_SOURCE_PATH SOURCE_PATH + REPO libdc1394/libdc1394-2 + REF "${VERSION}" + FILENAME "libdc1394-${VERSION}.tar.gz" + SHA512 0d0b1861612f7c69753af7109ef226ea4e550353222e02663dfaac3fa8f456b94c2dd2579cac840047a42bac97692da436f10be3def1fa29109de05c1e871257 + PATCHES + fix-macosx.patch +) + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + "--disable-examples" + ac_cv_lib_raw1394_raw1394_channel_modify=no + ac_cv_path_SDL_CONFIG=no +) +vcpkg_install_make() + +file(APPEND "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libdc1394-2.pc" "\nRequires.private: libusb-1.0\n") +if(NOT VCPKG_BUILD_TYPE) + file(APPEND "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libdc1394-2.pc" "\nRequires.private: libusb-1.0\n") +endif() +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) diff --git a/ports/libdc1394/vcpkg.json b/ports/libdc1394/vcpkg.json new file mode 100644 index 00000000000000..575b58fb0edcdd --- /dev/null +++ b/ports/libdc1394/vcpkg.json @@ -0,0 +1,10 @@ +{ + "name": "libdc1394", + "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", + "dependencies": [ + "libusb" + ] +} diff --git a/ports/libde265/fix-interface-include.patch b/ports/libde265/fix-interface-include.patch new file mode 100644 index 00000000000000..1e252c5040b7c9 --- /dev/null +++ b/ports/libde265/fix-interface-include.patch @@ -0,0 +1,13 @@ +diff --git a/libde265/CMakeLists.txt b/libde265/CMakeLists.txt +index d0d6762..06e1660 100644 +--- a/libde265/CMakeLists.txt ++++ b/libde265/CMakeLists.txt +@@ -114,7 +114,7 @@ endif() + + add_library(de265 ${libde265_sources} ${ENCODER_OBJECTS} ${X86_OBJECTS}) + target_link_libraries(de265 PRIVATE Threads::Threads) +-target_include_directories(de265 PRIVATE ${CMAKE_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR}) ++target_include_directories(de265 PRIVATE $ PUBLIC $) + + write_basic_package_version_file(libde265ConfigVersion.cmake COMPATIBILITY ExactVersion) + diff --git a/ports/libde265/fix-libde265-headers.patch b/ports/libde265/fix-libde265-headers.patch deleted file mode 100644 index fac2e35a862c2b..00000000000000 --- a/ports/libde265/fix-libde265-headers.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff --git a/libde265/CMakeLists.txt b/libde265/CMakeLists.txt -index 749c7fb..45e7419 100644 ---- a/libde265/CMakeLists.txt -+++ b/libde265/CMakeLists.txt -@@ -43,7 +43,7 @@ set (libde265_headers - bitstream.h - cabac.h - configparam.h -- de265-version.h -+ ${CMAKE_CURRENT_BINARY_DIR}/de265-version.h - contextmodel.h - de265.h - deblock.h -@@ -119,7 +119,6 @@ install(TARGETS ${PROJECT_NAME} EXPORT ${PROJECT_NAME}Config - ) - - install(FILES ${libde265_headers} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}) --install(FILES ${CMAKE_CURRENT_BINARY_DIR}/de265-version.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}) - - install(EXPORT ${PROJECT_NAME}Config DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}") - diff --git a/ports/libde265/portfile.cmake b/ports/libde265/portfile.cmake index 40ae383c571a07..7d52d0d830fc62 100644 --- a/ports/libde265/portfile.cmake +++ b/ports/libde265/portfile.cmake @@ -1,27 +1,30 @@ -vcpkg_fail_port_install(ON_ARCH "arm" ON_TARGET "uwp") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO strukturag/libde265 - REF 8aed7472df0af25b811828fa14f2f169dc34d35a # v1.0.8 - SHA512 e2da1436e5b0d8a3841087e879fbbff5a92de4ebb69d097959972ec8c9407305bc2a17020cb46139fbacc84f91ff8cfb4d9547308074ba213e002ee36bb2e006 + REF "v${VERSION}" + SHA512 df380f1ea6345e20ed1f907df3c7cdaaac44358a6746e29e16699005783ce96524d30fec7bba457c9f9773a6373250aaaf0b9cd41224057b269798117964b8b5 HEAD_REF master PATCHES - fix-libde265-headers.patch + fix-interface-include.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DENABLE_SDL=OFF ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/libde265/) -vcpkg_copy_tools(TOOL_NAMES dec265 enc265 AUTO_CLEAN) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/libde265) +vcpkg_copy_tools(TOOL_NAMES dec265 AUTO_CLEAN) +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/libde265/de265.h" "!defined(LIBDE265_STATIC_BUILD)" "0") +else() + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/libde265/de265.h" "!defined(LIBDE265_STATIC_BUILD)" "1") 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/libde265/vcpkg.json b/ports/libde265/vcpkg.json index a239794f5f6ff6..4cafa870925dcb 100644 --- a/ports/libde265/vcpkg.json +++ b/ports/libde265/vcpkg.json @@ -1,8 +1,18 @@ { "name": "libde265", - "version-string": "1.0.8", - "port-version": 1, + "version": "1.0.15", "description": "Open h.265 video codec implementation.", "homepage": "https://www.libde265.org/", - "supports": "!(arm | uwp)" + "license": "LGPL-3.0-only", + "supports": "!uwp & !xbox", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/libdeflate/portfile.cmake b/ports/libdeflate/portfile.cmake new file mode 100644 index 00000000000000..d86ebc5e9cb990 --- /dev/null +++ b/ports/libdeflate/portfile.cmake @@ -0,0 +1,48 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO ebiggers/libdeflate + REF "v${VERSION}" + SHA512 ca3ec7eb3e44da13164f33e56c856dbffc4ccc7b86d995afca6a23fa3f201b766d08a047871407e14a7964dd3da843be23c316e51d981cdd98f25166092de3a9 + HEAD_REF master + PATCHES + remove_wrong_c_flags_modification.diff +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + compression LIBDEFLATE_COMPRESSION_SUPPORT + decompression LIBDEFLATE_DECOMPRESSION_SUPPORT + gzip LIBDEFLATE_GZIP_SUPPORT + zlib LIBDEFLATE_ZLIB_SUPPORT +) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" LIBDEFLATE_BUILD_STATIC) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" LIBDEFLATE_BUILD_SHARED) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DLIBDEFLATE_BUILD_SHARED_LIB=${LIBDEFLATE_BUILD_SHARED} + -DLIBDEFLATE_BUILD_STATIC_LIB=${LIBDEFLATE_BUILD_STATIC} + -DLIBDEFLATE_BUILD_GZIP=OFF + ${FEATURE_OPTIONS} +) + +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/remove_wrong_c_flags_modification.diff b/ports/libdeflate/remove_wrong_c_flags_modification.diff new file mode 100644 index 00000000000000..94a125c9d93130 --- /dev/null +++ b/ports/libdeflate/remove_wrong_c_flags_modification.diff @@ -0,0 +1,12 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 0acd26f..218c48b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -61,7 +61,6 @@ if(NOT LIBDEFLATE_BUILD_STATIC_LIB) + endif() + + # Set common C compiler flags for all targets (the library and the programs). +-set(CMAKE_C_FLAGS_RELEASE "-O2 -DNDEBUG") + set(CMAKE_C_STANDARD 99) + if(NOT MSVC) + check_c_compiler_flag(-Wdeclaration-after-statement HAVE_WDECLARATION_AFTER_STATEMENT) diff --git a/ports/libdeflate/usage b/ports/libdeflate/usage new file mode 100644 index 00000000000000..c7a57452f4ce27 --- /dev/null +++ b/ports/libdeflate/usage @@ -0,0 +1,4 @@ +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 new file mode 100644 index 00000000000000..aa95ab6b0d8502 --- /dev/null +++ b/ports/libdeflate/vcpkg.json @@ -0,0 +1,37 @@ +{ + "name": "libdeflate", + "version": "1.22", + "description": "libdeflate is a library for fast, whole-buffer DEFLATE-based compression and decompression.", + "homepage": "https://github.com/ebiggers/libdeflate", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "default-features": [ + "compression", + "decompression", + "gzip", + "zlib" + ], + "features": { + "compression": { + "description": "Support compression" + }, + "decompression": { + "description": "Support decompression" + }, + "gzip": { + "description": "Support the gzip format" + }, + "zlib": { + "description": "Support the zlib format" + } + } +} diff --git a/ports/libdisasm/CMakeLists.txt b/ports/libdisasm/CMakeLists.txt index c3a8dfa30e5494..4c029bdf31ae14 100644 --- a/ports/libdisasm/CMakeLists.txt +++ b/ports/libdisasm/CMakeLists.txt @@ -36,6 +36,10 @@ include_directories(libdisasm) add_library(libdisasm ${SRCS}) +if (MSVC) + target_compile_definitions(libdisasm PRIVATE _CRT_SECURE_NO_WARNINGS) +endif() + install( TARGETS libdisasm RUNTIME DESTINATION bin diff --git a/ports/libdisasm/portfile.cmake b/ports/libdisasm/portfile.cmake index 46ea1df735da75..cb681d8bb45cf1 100644 --- a/ports/libdisasm/portfile.cmake +++ b/ports/libdisasm/portfile.cmake @@ -9,15 +9,15 @@ vcpkg_from_sourceforge( PATCHES sizeofvoid.patch ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS_DEBUG + -DDISABLE_INSTALL_HEADERS=ON ) -vcpkg_install_cmake() +vcpkg_cmake_install() # Handle copyright -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/libdisasm/vcpkg.json b/ports/libdisasm/vcpkg.json index ef5cb7b0672054..d5a6f418c568b3 100644 --- a/ports/libdisasm/vcpkg.json +++ b/ports/libdisasm/vcpkg.json @@ -1,7 +1,14 @@ { "name": "libdisasm", - "version-string": "0.23", - "port-version": 8, + "version": "0.23", + "port-version": 11, "description": "x86 Disassembler Library.", - "homepage": "https://sourceforge.net/projects/bastard" + "homepage": "https://sourceforge.net/projects/bastard", + "license": "ClArtistic", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/libdivide/no-werror.patch b/ports/libdivide/no-werror.patch new file mode 100644 index 00000000000000..b59fa059b04de2 --- /dev/null +++ b/ports/libdivide/no-werror.patch @@ -0,0 +1,19 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 7800a13..f01a139 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -15,10 +15,10 @@ include(CMakeSanitize) + + # Maximum warnings level & warnings as error + add_compile_options( +- "$<$:/W4;/WX>" +- "$<$:-Wall;-Wextra;-pedantic;-Werror>" +- "$<$:-Wall;-Wextra;-pedantic;-Werror>" +- "$<$:-Wall;-Wextra;-pedantic;-Werror>" ++ "$<$:/W4>" ++ "$<$:-Wall;-Wextra;-pedantic>" ++ "$<$:-Wall;-Wextra;-pedantic>" ++ "$<$:-Wall;-Wextra;-pedantic>" + ) + + # Build options ################################################ diff --git a/ports/libdivide/portfile.cmake b/ports/libdivide/portfile.cmake index 78f42e5bd6f878..ed326d6d34c88d 100644 --- a/ports/libdivide/portfile.cmake +++ b/ports/libdivide/portfile.cmake @@ -1,9 +1,11 @@ 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 ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS diff --git a/ports/libdivide/vcpkg.json b/ports/libdivide/vcpkg.json index ff29d9d5d3e32e..2cf56e454a24f2 100644 --- a/ports/libdivide/vcpkg.json +++ b/ports/libdivide/vcpkg.json @@ -1,6 +1,6 @@ { "name": "libdivide", - "version": "5.0", + "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/libdjinterop/portfile.cmake b/ports/libdjinterop/portfile.cmake index 9f5981d25a3b5c..03694c239d4ec2 100644 --- a/ports/libdjinterop/portfile.cmake +++ b/ports/libdjinterop/portfile.cmake @@ -1,18 +1,22 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO xsco/libdjinterop - REF 0.16.0 - SHA512 7653e3752b8d597a967fb5f83f8b14c0db5d9cdb05a9bb22f6d9f34a890327fafdbd81996ce9af09552b69da4b9f7f0b41d631b1704b11e46e335f205c6886bf + REF "${VERSION}" + SHA512 1c35d8609342f133cf002d1908d5746c411a9d5e74b42a7ec045545f07a3f4b8a89ce9a95d2fc17edd8970facafbee1b6d8a9283fcd8c74c9cb96ff61f15d47d HEAD_REF master ) -vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}") +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DCMAKE_DISABLE_FIND_PACKAGE_Boost=ON + ) vcpkg_cmake_install() -vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/DjInterop) +vcpkg_cmake_config_fixup(PACKAGE_NAME djinterop CONFIG_PATH lib/cmake/DjInterop) vcpkg_fixup_pkgconfig() vcpkg_copy_pdbs() 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) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/libdjinterop/vcpkg.json b/ports/libdjinterop/vcpkg.json index 7ccfa916e551be..82b8f0de473eaf 100644 --- a/ports/libdjinterop/vcpkg.json +++ b/ports/libdjinterop/vcpkg.json @@ -1,9 +1,10 @@ { "name": "libdjinterop", - "version": "0.16.0", + "version": "0.22.1", "description": "C++ library for access to DJ record libraries. Currently only supports Denon Engine Prime databases", "homepage": "https://github.com/xsco/libdjinterop", "license": "LGPL-3.0-or-later", + "supports": "!xbox", "dependencies": [ "sqlite3", { diff --git a/ports/libdmx/portfile.cmake b/ports/libdmx/portfile.cmake new file mode 100644 index 00000000000000..94824562208118 --- /dev/null +++ b/ports/libdmx/portfile.cmake @@ -0,0 +1,29 @@ +if(NOT X_VCPKG_FORCE_VCPKG_X_LIBRARIES AND NOT VCPKG_TARGET_IS_WINDOWS) + message(STATUS "Utils and libraries provided by '${PORT}' should be provided by your system! Install the required packages or force vcpkg libraries by setting X_VCPKG_FORCE_VCPKG_X_LIBRARIES in your triplet!") + set(VCPKG_POLICY_EMPTY_PACKAGE enabled) +else() +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.freedesktop.org/xorg + OUT_SOURCE_PATH SOURCE_PATH + REPO lib/libdmx + REF "libdmx-${VERSION}" + SHA512 2c634f57a7229e2d10b3ce700fe20d53a1578b9eb6d575eab9f0a9f228410dd6a17aa2a3d60503c0c0a14029d8a4ca8db6061b966108272ac8e8052bd3750300 + HEAD_REF master +) +set(ENV{ACLOCAL} "aclocal -I \"${CURRENT_INSTALLED_DIR}/share/xorg/aclocal/\"") + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG + OPTIONS --enable-malloc0returnsnull=yes +) + +vcpkg_install_make() +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/share/${PORT}/") +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +endif() diff --git a/ports/libdmx/vcpkg.json b/ports/libdmx/vcpkg.json new file mode 100644 index 00000000000000..dc7174fb534bfa --- /dev/null +++ b/ports/libdmx/vcpkg.json @@ -0,0 +1,12 @@ +{ + "name": "libdmx", + "version": "1.1.5", + "description": "X Window System DMX (Distributed Multihead X) extension library", + "homepage": "https://gitlab.freedesktop.org/xorg/lib/libdmx", + "license": "MIT", + "dependencies": [ + "libxext", + "xorg-macros", + "xproto" + ] +} diff --git a/ports/libdshowcapture/portfile.cmake b/ports/libdshowcapture/portfile.cmake index 136be4d21a0bbb..79633e0f7fab1a 100644 --- a/ports/libdshowcapture/portfile.cmake +++ b/ports/libdshowcapture/portfile.cmake @@ -6,21 +6,20 @@ vcpkg_from_github( HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_build_cmake(TARGET libdshowcapture) +vcpkg_cmake_build(TARGET libdshowcapture) # Copy files -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libdshowcapture RENAME copyright) +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/libdshowcapture" RENAME copyright) if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/libdshowcapture.dll DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) - file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/libdshowcapture.dll DESTINATION ${CURRENT_PACKAGES_DIR}/bin) + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/libdshowcapture.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin") + 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) -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) +file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/libdshowcapture.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") +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") vcpkg_copy_pdbs() diff --git a/ports/libdshowcapture/vcpkg.json b/ports/libdshowcapture/vcpkg.json index ca807e319aa055..643b10dc840fda 100644 --- a/ports/libdshowcapture/vcpkg.json +++ b/ports/libdshowcapture/vcpkg.json @@ -1,6 +1,13 @@ { "name": "libdshowcapture", - "version-string": "0.6.0", - "port-version": 2, - "description": "Free and Open Source C++11 Library for capturing DirectShow video/audio devices on windows." + "version": "0.6.0", + "port-version": 3, + "description": "Free and Open Source C++11 Library for capturing DirectShow video/audio devices on windows.", + "supports": "windows & !uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } 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..c02098404f8d3f --- /dev/null +++ b/ports/libdwarf/dependencies.diff @@ -0,0 +1,45 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c53fda5..a6dabe6 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -186,7 +186,7 @@ endif() + if (ENABLE_DECOMPRESSION) + # 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) +@@ -201,7 +201,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..99ba64b19c4390 --- /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 5c8e01e3a2c559515af1833c2b7626634e74bd2f3de2e3ff4fc2127ac68885af9ee339608fc274499fae7326bbe7af41bc471ba4d807145c00c6cd0010a4b1aa + 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..8d87d4cc9636c0 --- /dev/null +++ b/ports/libdwarf/vcpkg.json @@ -0,0 +1,19 @@ +{ + "name": "libdwarf", + "version": "0.11.0", + "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/libe57/0001_cmake.patch b/ports/libe57/0001_cmake.patch index 47001bbe466be9..e4963aeb55f4b7 100644 --- a/ports/libe57/0001_cmake.patch +++ b/ports/libe57/0001_cmake.patch @@ -86,3 +86,22 @@ diff -Naur a/CMakeLists.txt b/CMakeLists.txt ) #include (InstallRequiredSystemLibraries) +--- a/src/refimpl/E57RefImplConfig.cmake 2011-10-06 16:01:00.000000000 +0800 ++++ b/src/refimpl/E57RefImplConfig.cmake 2022-03-01 16:48:29.117485600 +0800 +@@ -49,6 +49,8 @@ + # NOTE: You will also need to include the boost and xerces libraries to your + # project. + ++get_filename_component(E57RefImpl_DIR "${CMAKE_CURRENT_LIST_DIR}/../../" ABSOLUTE) ++ + IF (NOT "${E57RefImpl_DIR}/include" EQUAL "${E57RefImpl_INCLUDE_DIR}") + SET(E57RefImpl_LIBRARY_DEBUG E57RefImpl_LIBRARY_DEBUG-NOTFOUND) + SET(E57RefImpl_LIBRARY_RELEASE E57RefImpl_LIBRARY_RELEASE-NOTFOUND) +@@ -78,6 +80,6 @@ + NAMES libE57RefImpl-d + E57RefImpl-d +- HINTS ${E57RefImpl_DIR}/lib ++ HINTS ${E57RefImpl_DIR}/debug/lib + DOC "E57 debug library" + ) + diff --git a/ports/libe57/0002_replace_tr1_with_cpp11.patch b/ports/libe57/0002_replace_tr1_with_cpp11.patch index 1b48de7c22a612..ff23c340bf63ab 100644 --- a/ports/libe57/0002_replace_tr1_with_cpp11.patch +++ b/ports/libe57/0002_replace_tr1_with_cpp11.patch @@ -1,20 +1,20 @@ -diff -Naur a/CMakeLists.txt b/CMakeLists.txt ---- a/CMakeLists.txt 2021-06-16 22:53:02.033465000 +0800 -+++ b/CMakeLists.txt 2021-06-16 23:01:31.542323600 +0800 -@@ -25,7 +25,9 @@ - # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - # DEALINGS IN THE SOFTWARE. +diff --color -Naur a/CMakeLists.txt b/CMakeLists.txt +--- a/CMakeLists.txt 2013-04-03 22:24:08.000000000 +0800 ++++ b/CMakeLists.txt 2022-03-01 17:23:01.210728200 +0800 +@@ -36,8 +36,9 @@ + # If you find any errors or have suggestion to improve the build script: + # patches are most welcome! Please send them to the development mailing list. --cmake_minimum_required(VERSION 2.8.2) +cmake_minimum_required(VERSION 3.1) -+ + +-cmake_minimum_required(VERSION 2.8.2) +set(CMAKE_CXX_STANDARD 11) # Override flags to enable prepare for linking to static runtime set(CMAKE_USER_MAKE_RULES_OVERRIDE ${CMAKE_CURRENT_SOURCE_DIR}/cmake/c_flag_overrides.cmake) -diff -Naur a/src/tools/e57fields.cpp b/src/tools/e57fields.cpp +diff --color -Naur a/src/tools/e57fields.cpp b/src/tools/e57fields.cpp --- a/src/tools/e57fields.cpp 2012-04-04 17:19:01.000000000 +0800 -+++ b/src/tools/e57fields.cpp 2021-06-16 22:55:02.789463000 +0800 ++++ b/src/tools/e57fields.cpp 2022-03-01 17:24:17.904911600 +0800 @@ -30,11 +30,7 @@ #include #include @@ -49,10 +49,10 @@ diff -Naur a/src/tools/e57fields.cpp b/src/tools/e57fields.cpp /// The precalculated parts of the element path name. /// The only part that is missing is the record number which goes in between. -diff -Naur a/src/tools/e57unpack.cpp b/src/tools/e57unpack.cpp ---- a/src/tools/e57unpack.cpp 2011-10-06 16:01:00.000000000 +0800 -+++ b/src/tools/e57unpack.cpp 2021-06-16 22:56:57.150323800 +0800 -@@ -41,12 +41,8 @@ +diff --color -Naur a/src/tools/e57unpack.cpp b/src/tools/e57unpack.cpp +--- a/src/tools/e57unpack.cpp 2013-04-03 22:24:08.000000000 +0800 ++++ b/src/tools/e57unpack.cpp 2022-03-01 17:25:15.206260200 +0800 +@@ -45,12 +45,8 @@ #include using std::runtime_error; @@ -67,10 +67,10 @@ diff -Naur a/src/tools/e57unpack.cpp b/src/tools/e57unpack.cpp #include using std::string; -diff -Naur a/src/tools/e57validate.cpp b/src/tools/e57validate.cpp +diff --color -Naur a/src/tools/e57validate.cpp b/src/tools/e57validate.cpp --- a/src/tools/e57validate.cpp 2011-10-06 16:01:00.000000000 +0800 -+++ b/src/tools/e57validate.cpp 2021-06-16 22:58:19.365323700 +0800 -@@ -66,11 +66,8 @@ ++++ b/src/tools/e57validate.cpp 2022-03-01 17:25:46.220771800 +0800 +@@ -66,11 +66,7 @@ ================================================================*/ @@ -79,13 +79,12 @@ diff -Naur a/src/tools/e57validate.cpp b/src/tools/e57validate.cpp -#else -# include -using std::tr1::unordered_map; -+ +-#endif +#include +using std::unordered_map; --#endif #include using std::strlen; -@@ -694,7 +692,7 @@ +@@ -694,7 +691,7 @@ void dump(int indent = 0, std::ostream& os = std::cout); //================ private: diff --git a/ports/libe57/portfile.cmake b/ports/libe57/portfile.cmake index 1f7bfd9ea5c3f4..31db434256ae5d 100644 --- a/ports/libe57/portfile.cmake +++ b/ports/libe57/portfile.cmake @@ -1,11 +1,11 @@ -set(VERSION 1.1.312) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/E57RefImpl_src-${VERSION}) +set(VERSION 1.1.332) +set(SOURCE_PATH "${CURRENT_BUILDTREES_DIR}/src/E57RefImpl_src-${VERSION}") vcpkg_from_sourceforge( OUT_SOURCE_PATH SOURCE_PATH REPO e57-3d-imgfmt FILENAME "E57RefImpl_src-${VERSION}.zip" - SHA512 c729cc3094131f115ddf9b8c24a9420c4ab9d16a4343acfefb42f997f4bf25247cd5563126271df2af95f103093b7f6b360dbade52c9e66ec39dd2f06e041eb7 + SHA512 86adb88cff32d72905e923b1205d609a2bce2eabd78995c59a7957395b233766a5ce31481db08977117abc1a70bbed90d2ce0cdb9897704a8c63d992e91a3907 PATCHES "0001_cmake.patch" "0002_replace_tr1_with_cpp11.patch" @@ -13,11 +13,12 @@ vcpkg_from_sourceforge( ) vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA + SOURCE_PATH "${SOURCE_PATH}" ) -file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/share/libe57) +if(NOT VCPKG_BUILD_TYPE) + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/share/libe57") +endif() vcpkg_cmake_install() vcpkg_cmake_config_fixup() @@ -28,5 +29,7 @@ vcpkg_copy_tools( AUTO_CLEAN ) -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") +file(REMOVE "${CURRENT_PACKAGES_DIR}/share/e57refimpl/CHANGES.TXT") +file(REMOVE "${CURRENT_PACKAGES_DIR}/share/e57refimpl/README.TXT") diff --git a/ports/libe57/vcpkg.json b/ports/libe57/vcpkg.json index 09984c737be08b..396a28bc666e54 100644 --- a/ports/libe57/vcpkg.json +++ b/ports/libe57/vcpkg.json @@ -1,9 +1,11 @@ { "name": "libe57", - "version-semver": "1.1.312", - "port-version": 1, + "version-semver": "1.1.332", + "port-version": 4, "description": "An open source implementation of the ASTM E2807 Standard Specification for 3D Imaging Data Exchange in the C++ language.", "homepage": "http://www.libe57.org/", + "license": "BSL-1.0", + "supports": "!android", "dependencies": [ "boost-crc", "boost-filesystem", diff --git a/ports/libe57format/portfile.cmake b/ports/libe57format/portfile.cmake new file mode 100644 index 00000000000000..8f22d2ba5ad623 --- /dev/null +++ b/ports/libe57format/portfile.cmake @@ -0,0 +1,29 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO asmaloney/libE57Format + REF "v${VERSION}" + SHA512 9be79a969b74008801e20531530cdf3dc1f0041d6fbd2be1aaa8d58b35b06309b1f324309ad1d989a345389ed168c96c325ebe65844efec9bbffd183bf2e4766 + HEAD_REF master +) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" E57_BUILD_SHARED) +string(COMPARE NOTEQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" E57_USING_STATIC_XERCES) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DE57_BUILD_TEST=OFF + -DE57_BUILD_SHARED=${E57_BUILD_SHARED} + -DUSING_STATIC_XERCES=${E57_USING_STATIC_XERCES} +) +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(PACKAGE_NAME E57Format CONFIG_PATH "lib/cmake/E57Format") + +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/libe57format RENAME copyright) diff --git a/ports/libe57format/usage b/ports/libe57format/usage new file mode 100644 index 00000000000000..eb3f4599837918 --- /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 new file mode 100644 index 00000000000000..7d00f4ee0f35fe --- /dev/null +++ b/ports/libe57format/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "libe57format", + "version": "3.1.1", + "description": "A library to provide read & write support for the E57 file format.", + "homepage": "https://github.com/asmaloney/libE57Format", + "license": "BSL-1.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "xerces-c" + ] +} diff --git a/ports/libebur128/portfile.cmake b/ports/libebur128/portfile.cmake index c1ea6a9b927642..4a054e04cb7d0e 100644 --- a/ports/libebur128/portfile.cmake +++ b/ports/libebur128/portfile.cmake @@ -8,13 +8,12 @@ vcpkg_from_github( REF v1.2.6 SHA512 ab188c6d32cd14613119258313a8a3fb1167b55501c9f5b6d3ba738d674bc58f24ac3034c23d9730ed8dc3e95a23619bfb81719e4c79807a9a16c1a5b3423582 ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DENABLE_INTERNAL_QUEUE_H=ON ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_fixup_pkgconfig() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/libebur128/vcpkg.json b/ports/libebur128/vcpkg.json index 57cda28d3c3b7c..5d0f6ace77a860 100644 --- a/ports/libebur128/vcpkg.json +++ b/ports/libebur128/vcpkg.json @@ -1,8 +1,15 @@ { "name": "libebur128", - "version-string": "1.2.6", + "version": "1.2.6", + "port-version": 2, "description": "A library implementing the EBU R128 audio loudness standard", "homepage": "https://github.com/jiixyj/libebur128", "license": "MIT", - "supports": "!(arm & windows)" + "supports": "!(arm & windows)", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } 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/fix-dependencies.patch b/ports/libenvpp/fix-dependencies.patch new file mode 100644 index 00000000000000..983b37d8e345e7 --- /dev/null +++ b/ports/libenvpp/fix-dependencies.patch @@ -0,0 +1,12 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index dc57bb1..932cefc 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -63,6 +63,7 @@ FetchContent_Declare(fmt + GIT_TAG 9.1.0 + ) + FetchContent_MakeAvailable(fmt) ++find_package(fmt CONFIG REQUIRED) + + if(LIBENVPP_TESTS) + FetchContent_Declare(Catch2 diff --git a/ports/libenvpp/fix-install.patch b/ports/libenvpp/fix-install.patch new file mode 100644 index 00000000000000..086a04422b27ab --- /dev/null +++ b/ports/libenvpp/fix-install.patch @@ -0,0 +1,12 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index dc57bb1..1c4f1e6 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -131,6 +131,7 @@ endif() + + # Installation target. + if(LIBENVPP_INSTALL) ++ include(CMakePackageConfigHelpers) + # Libenvpp installation. + set(LIBENVPP_PROJECT_CONFIG_OUT "${CMAKE_CURRENT_BINARY_DIR}/libenvpp-config.cmake") + set(LIBENVPP_VERSION_CONFIG_FILE "${CMAKE_CURRENT_BINARY_DIR}/libenvpp-config-version.cmake") diff --git a/ports/libenvpp/portfile.cmake b/ports/libenvpp/portfile.cmake new file mode 100644 index 00000000000000..0f20a149de89a5 --- /dev/null +++ b/ports/libenvpp/portfile.cmake @@ -0,0 +1,30 @@ +vcpkg_minimum_required(VERSION 2022-10-12) # for ${VERSION} +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO ph3at/libenvpp + REF v${VERSION} + SHA512 1c5d0575d9f1668c68d23aa4163eba18a90173ac7601d8b8f142d9826e3971ad9d0a1d880d6d3f8a80ed964b4fca2e28590d130fdce542d85e04413687b3b0ae + HEAD_REF main + PATCHES + fix-dependencies.patch + fix-install.patch +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DLIBENVPP_EXAMPLES=OFF + -DLIBENVPP_TESTS=OFF + -DLIBENVPP_CHECKS=OFF + -DLIBENVPP_INSTALL=ON +) + +vcpkg_cmake_install() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) + +vcpkg_copy_pdbs() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/libenvpp/vcpkg.json b/ports/libenvpp/vcpkg.json new file mode 100644 index 00000000000000..17076fd942e89d --- /dev/null +++ b/ports/libenvpp/vcpkg.json @@ -0,0 +1,19 @@ +{ + "name": "libenvpp", + "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", + "supports": "!uwp", + "dependencies": [ + "fmt", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/libepoxy/portfile.cmake b/ports/libepoxy/portfile.cmake index ff72544e28cc09..d39b95423d1bd8 100644 --- a/ports/libepoxy/portfile.cmake +++ b/ports/libepoxy/portfile.cmake @@ -2,25 +2,30 @@ if(VCPKG_TARGET_IS_WINDOWS) vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) endif() -if(VCPKG_TARGET_IS_LINUX AND NOT EXISTS "/usr/share/doc/libgles2/copyright") - message(STATUS "libgles2-mesa-dev must be installed before libepoxy can build. Install it with \"apt-get install libgles2-mesa-dev\".") +if (VCPKG_TARGET_IS_LINUX) + message(WARNING "${PORT} currently requires the following libraries from the system package manager:\n libx11-dev\n libgles2-mesa-dev\n\nThese can be installed on Ubuntu systems via apt-get install libx11-dev libgles2-mesa-dev.") endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO anholt/libepoxy - REF 1.5.9 - SHA512 2b7c269063dc1c156c1a2a525e27a0a323baaa7fa4ac091536e4cc5fc4c247efe9770d7979dbddb54deb14853008bb6f4d67fddd26d87cbd264eb1e6e65bc5a8 + REF 1.5.10 + SHA512 6786f31c6e2865e68a90eb912900a86bf56fd3df4d78a477356886ac3b6ef52ac887b9c7a77aa027525f868ae9e88b12e5927ba56069c2e115acd631fca3abee HEAD_REF master ) if (VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_OSX) set(OPTIONS -Dglx=no -Degl=no -Dx11=false) +elseif(VCPKG_TARGET_IS_ANDROID) + set(OPTIONS -Dglx=no -Degl=yes -Dx11=false) else() set(OPTIONS -Dglx=yes -Degl=yes -Dx11=true) endif() if(VCPKG_TARGET_IS_WINDOWS) list(APPEND OPTIONS -Dc_std=c99) + if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + list(APPEND OPTIONS "-Dc_args=-DEPOXY_PUBLIC=extern") + endif() endif() vcpkg_configure_meson( @@ -34,6 +39,13 @@ vcpkg_copy_pdbs() vcpkg_fixup_pkgconfig() +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/epoxy/common.h" "# if defined(_MSC_VER)" "# if defined(_WIN32)") + if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/epoxy/common.h" "__declspec(dllimport)" "") + endif() +endif() + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/pkgconfig") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share/pkgconfig") diff --git a/ports/libepoxy/vcpkg.json b/ports/libepoxy/vcpkg.json index b786ce4e4cacf2..8c736266e38d63 100644 --- a/ports/libepoxy/vcpkg.json +++ b/ports/libepoxy/vcpkg.json @@ -1,9 +1,19 @@ { "name": "libepoxy", - "version-semver": "1.5.9", + "version": "1.5.10", + "port-version": 2, "description": "Epoxy is a library for handling OpenGL function pointer management for you", "homepage": "https://github.com/anholt/libepoxy", + "license": "MIT", + "supports": "!uwp & !(windows & staticcrt)", "dependencies": [ - "tool-meson" + { + "name": "egl-registry", + "platform": "!osx & !windows" + }, + { + "name": "vcpkg-tool-meson", + "host": true + } ] } 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 new file mode 100644 index 00000000000000..d93a57dda9da2c --- /dev/null +++ b/ports/libev/portfile.cmake @@ -0,0 +1,35 @@ +vcpkg_download_distfile(ARCHIVE + URLS "http://dist.schmorp.de/libev/Attic/libev-4.33.tar.gz" + FILENAME "libev-4.33.tar.gz" + SHA512 c662a65360115e0b2598e3e8824cf7b33360c43a96ac9233f6b6ea2873a10102551773cad0e89e738541e75af9fd4f3e3c11cd2f251c5703aa24f193128b896b +) + +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() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +file(RENAME "${CURRENT_PACKAGES_DIR}/include" "${CURRENT_PACKAGES_DIR}/include.tmp") +file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/include") +file(RENAME "${CURRENT_PACKAGES_DIR}/include.tmp" "${CURRENT_PACKAGES_DIR}/include/${PORT}") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/unofficial-libev-config.cmake" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/unofficial-${PORT}") diff --git a/ports/libev/unofficial-libev-config.cmake b/ports/libev/unofficial-libev-config.cmake new file mode 100644 index 00000000000000..c2515584161456 --- /dev/null +++ b/ports/libev/unofficial-libev-config.cmake @@ -0,0 +1,25 @@ +if(NOT TARGET unofficial::libev::libev) + 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::libev::libev UNKNOWN IMPORTED) + + set_target_properties(unofficial::libev::libev PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" + ) + + find_library(LIBEV_LIBRARY_DEBUG NAMES ev libev PATHS "${_IMPORT_PREFIX}/debug" PATH_SUFFIXES lib NO_DEFAULT_PATH) + if(EXISTS "${LIBEV_LIBRARY_DEBUG}") + set_property(TARGET unofficial::libev::libev APPEND PROPERTY IMPORTED_CONFIGURATIONS "Debug") + set_target_properties(unofficial::libev::libev PROPERTIES IMPORTED_LOCATION_DEBUG "${LIBEV_LIBRARY_DEBUG}") + endif() + + find_library(LIBEV_LIBRARY_RELEASE NAMES ev libev PATHS "${_IMPORT_PREFIX}/" PATH_SUFFIXES lib NO_DEFAULT_PATH) + if(EXISTS "${LIBEV_LIBRARY_RELEASE}") + set_property(TARGET unofficial::libev::libev APPEND PROPERTY IMPORTED_CONFIGURATIONS "Release") + set_target_properties(unofficial::libev::libev PROPERTIES IMPORTED_LOCATION_RELEASE "${LIBEV_LIBRARY_RELEASE}") + endif() + + unset(_IMPORT_PREFIX) +endif() diff --git a/ports/libev/vcpkg.json b/ports/libev/vcpkg.json new file mode 100644 index 00000000000000..3c39dc394ffac1 --- /dev/null +++ b/ports/libev/vcpkg.json @@ -0,0 +1,8 @@ +{ + "name": "libev", + "version": "4.33", + "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" +} diff --git a/ports/libevent/fix-LibeventConfig_cmake_in_path.patch b/ports/libevent/fix-LibeventConfig_cmake_in_path.patch index 819380bec36520..b974f9da898b7d 100644 --- a/ports/libevent/fix-LibeventConfig_cmake_in_path.patch +++ b/ports/libevent/fix-LibeventConfig_cmake_in_path.patch @@ -1,5 +1,5 @@ diff --git a/cmake/LibeventConfig.cmake.in b/cmake/LibeventConfig.cmake.in -index 7b808c3..9376a5a 100644 +index a12fc23c..fe108b8d 100644 --- a/cmake/LibeventConfig.cmake.in +++ b/cmake/LibeventConfig.cmake.in @@ -58,7 +58,7 @@ endif() @@ -11,12 +11,18 @@ index 7b808c3..9376a5a 100644 macro(message_if_needed _flag _msg) if (NOT ${CMAKE_FIND_PACKAGE_NAME}_FIND_QUIETLY) -@@ -131,7 +131,7 @@ if(CONFIG_FOR_INSTALL_TREE) - find_library(_event_lib +@@ -131,12 +131,10 @@ if(CONFIG_FOR_INSTALL_TREE) + unset(_event_lib_rel CACHE) + find_library(_event_lib_dbg + NAMES "event_${_comp}d" +- PATHS "${_INSTALL_PREFIX}/lib" +- NO_DEFAULT_PATH) ++ PATHS "${_INSTALL_PREFIX}/lib") + find_library(_event_lib_rel NAMES "event_${_comp}" - PATHS "${_INSTALL_PREFIX}/lib" +- PATHS "${_INSTALL_PREFIX}/lib" - NO_DEFAULT_PATH) -+ ) - if(_event_lib) ++ PATHS "${_INSTALL_PREFIX}/lib") + if(_event_lib_rel OR _event_lib_dbg) list(APPEND LIBEVENT_LIBRARIES "libevent::${_comp}") set_case_insensitive_found(${_comp}) diff --git a/ports/libevent/fix-uwp.patch b/ports/libevent/fix-uwp.patch new file mode 100644 index 00000000000000..64afb42d86d8c1 --- /dev/null +++ b/ports/libevent/fix-uwp.patch @@ -0,0 +1,53 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 07520043..7eec4059 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1022,6 +1022,9 @@ if(WIN32) + add_definitions( + -D_CRT_SECURE_NO_WARNINGS + -D_CRT_NONSTDC_NO_DEPRECATE) ++ if(CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") ++ add_definitions(-DWINRT) ++ endif() + + include_directories(./WIN32-Code) + endif() +diff --git a/evdns.c b/evdns.c +index 05e515c0..912f1115 100644 +--- a/evdns.c ++++ b/evdns.c +@@ -4501,8 +4501,12 @@ evdns_get_default_hosts_filename(void) + char *path_out; + size_t len_out; + ++#ifndef WINRT + if (! SHGetSpecialFolderPathA(NULL, path, CSIDL_SYSTEM, 0)) + return NULL; ++#else ++ return NULL; ++#endif + len_out = strlen(path)+strlen(hostfile)+1; + path_out = mm_malloc(len_out); + evutil_snprintf(path_out, len_out, "%s%s", path, hostfile); +diff --git a/evutil.c b/evutil.c +index d46c997b..bad21ede 100644 +--- a/evutil.c ++++ b/evutil.c +@@ -2240,6 +2240,9 @@ evutil_inet_pton_scope(int af, const char *src, void *dst, unsigned *indexp) + if (cp == NULL) + return evutil_inet_pton(af, src, dst); + ++#ifdef WINRT ++ return -1; ++#else + if_index = if_nametoindex(cp + 1); + if (if_index == 0) { + /* Could be numeric */ +@@ -2256,6 +2259,7 @@ evutil_inet_pton_scope(int af, const char *src, void *dst, unsigned *indexp) + r = evutil_inet_pton(af, tmp_src, dst); + free(tmp_src); + return r; ++#endif + } + + int diff --git a/ports/libevent/portfile.cmake b/ports/libevent/portfile.cmake index 0a6844c9ac16d8..59b8a7e689b8a3 100644 --- a/ports/libevent/portfile.cmake +++ b/ports/libevent/portfile.cmake @@ -1,11 +1,10 @@ -vcpkg_fail_port_install(ON_TARGET "uwp") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libevent/libevent - REF release-2.1.12-stable - SHA512 5d6c6f0072f69a68b190772d4c973ce8f33961912032cdc104ad0854c0950f9d7e28bc274ca9df23897937f0cd8e45d1f214543d80ec271c5a6678814a7f195e + REF 4d85d28acdbb83bb60e500e9345bab757b64d6d1 + SHA512 d03daf8e2277e8b9d67e0028d05566c8972a706e53dcb6593f8f92942ff9ce814970418a10d4c37e68228ec153f8fbc7d764a7ff92e2872277a92039380cbbe9 PATCHES + fix-uwp.patch fix-file_path.patch fix-LibeventConfig_cmake_in_path.patch fix-usage.patch @@ -29,6 +28,10 @@ else() set(LIBEVENT_STATIC_RUNTIME OFF) endif() +if(VCPKG_TARGET_IS_UWP) + list(APPEND FEATURE_OPTIONS -DEVENT__HAVE_AFUNIX_H=0) +endif() + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${FEATURE_OPTIONS} @@ -38,6 +41,7 @@ vcpkg_cmake_configure( -DEVENT__DISABLE_TESTS=ON -DEVENT__DISABLE_REGRESS=ON -DEVENT__DISABLE_SAMPLES=ON + -DEVENT__DISABLE_MBEDTLS=ON ) vcpkg_cmake_install() @@ -62,7 +66,9 @@ 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() vcpkg_copy_pdbs() diff --git a/ports/libevent/vcpkg.json b/ports/libevent/vcpkg.json index 52dd90b20b7238..7fd1419ba567c0 100644 --- a/ports/libevent/vcpkg.json +++ b/ports/libevent/vcpkg.json @@ -1,10 +1,10 @@ { "name": "libevent", - "version": "2.1.12", - "port-version": 4, + "version": "2.1.12+20230128", + "port-version": 1, "description": "An event notification library", "homepage": "https://github.com/libevent/libevent", - "supports": "!uwp", + "license": "BSD-3-Clause", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/libeventheader-decode/portfile.cmake b/ports/libeventheader-decode/portfile.cmake new file mode 100644 index 00000000000000..d6086334c430c9 --- /dev/null +++ b/ports/libeventheader-decode/portfile.cmake @@ -0,0 +1,36 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO "microsoft/LinuxTracepoints" + REF "v${VERSION}" + 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 +) + +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) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/libeventheader-decode/vcpkg.json b/ports/libeventheader-decode/vcpkg.json new file mode 100644 index 00000000000000..a65da1ee9b8034 --- /dev/null +++ b/ports/libeventheader-decode/vcpkg.json @@ -0,0 +1,31 @@ +{ + "name": "libeventheader-decode", + "version": "1.4.0", + "description": "C++ classes for decoding EventHeader-encoded Linux Tracepoints", + "homepage": "https://github.com/microsoft/LinuxTracepoints/", + "license": "MIT", + "supports": "linux | windows", + "dependencies": [ + { + "name": "libeventheader-tracepoint", + "version>=": "1.4.0" + }, + { + "name": "libtracepoint-decode", + "version>=": "1.4.0" + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "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 new file mode 100644 index 00000000000000..1bac3b75a3dd5a --- /dev/null +++ b/ports/libeventheader-tracepoint/portfile.cmake @@ -0,0 +1,37 @@ +if(VCPKG_TARGET_IS_WINDOWS) + set(VCPKG_BUILD_TYPE release) # Windows port only includes headers. +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO "microsoft/LinuxTracepoints" + REF "v${VERSION}" + SHA512 baf27c967b2fa1fb8e8684951fd8e12e40fe9c23f5052a2d77c63eceab6ddfc112537422b97c37cfb0e479361fa8aedea6d8d7edfae91810f1ed696060fcb822 + HEAD_REF main) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/libeventheader-tracepoint" + OPTIONS + -DBUILD_SAMPLES=OFF +) + +vcpkg_cmake_install() +vcpkg_copy_pdbs() +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") + +if(NOT VCPKG_TARGET_IS_WINDOWS) + vcpkg_cmake_config_fixup( + PACKAGE_NAME eventheader-tracepoint + CONFIG_PATH lib/cmake/eventheader-tracepoint + DO_NOT_DELETE_PARENT_CONFIG_PATH) +endif() + +vcpkg_cmake_config_fixup( + PACKAGE_NAME eventheader-headers + CONFIG_PATH lib/cmake/eventheader-headers) + +if(VCPKG_TARGET_IS_WINDOWS) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") +endif() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/libeventheader-tracepoint/vcpkg.json b/ports/libeventheader-tracepoint/vcpkg.json new file mode 100644 index 00000000000000..eaf8c7e0176ec3 --- /dev/null +++ b/ports/libeventheader-tracepoint/vcpkg.json @@ -0,0 +1,22 @@ +{ + "name": "libeventheader-tracepoint", + "version": "1.4.0", + "description": "C/C++ interface for generating EventHeader-encoded Linux Tracepoints", + "homepage": "https://github.com/microsoft/LinuxTracepoints/", + "license": "MIT", + "supports": "linux | windows", + "dependencies": [ + { + "name": "libtracepoint", + "version>=": "1.4.0" + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/libevhtp/portfile.cmake b/ports/libevhtp/portfile.cmake index 71c17ee533389d..48d496ac30791b 100644 --- a/ports/libevhtp/portfile.cmake +++ b/ports/libevhtp/portfile.cmake @@ -1,5 +1,3 @@ -vcpkg_fail_port_install(MESSAGE "${PORT} currently only supports Linux and Mac platform" ON_TARGET "Windows") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO criticalstack/libevhtp @@ -15,20 +13,19 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS regex EVHTP_DISABLE_REGEX ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${FEATURE_OPTIONS} ) -vcpkg_install_cmake() +vcpkg_cmake_install() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) vcpkg_copy_pdbs() # Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) -vcpkg_fixup_pkgconfig() +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_fixup_pkgconfig() diff --git a/ports/libevhtp/vcpkg.json b/ports/libevhtp/vcpkg.json index 04f8de1723fb4d..d504396672f2fd 100644 --- a/ports/libevhtp/vcpkg.json +++ b/ports/libevhtp/vcpkg.json @@ -1,16 +1,31 @@ { "name": "libevhtp", - "version-string": "1.2.18", - "port-version": 2, + "version": "1.2.18", + "port-version": 5, "description": "Libevhtp was created as a replacement API for Libevent's current HTTP API.", "homepage": "https://github.com/criticalstack/libevhtp", + "supports": "!windows", "dependencies": [ - "libevent" + "libevent", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ], "features": { "openssl": { "description": "Support SSL for libevhtp", "dependencies": [ + { + "name": "libevent", + "features": [ + "openssl" + ] + }, "openssl" ] }, diff --git a/ports/libexif/CMakeLists.txt b/ports/libexif/CMakeLists.txt deleted file mode 100644 index ac32e82ebfae23..00000000000000 --- a/ports/libexif/CMakeLists.txt +++ /dev/null @@ -1,142 +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-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-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_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_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_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 6bd0ca424e79f6..00000000000000 --- a/ports/libexif/libexif.def +++ /dev/null @@ -1,130 +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_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_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_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 4869c40b5099fc..320c1ac05f336e 100644 --- a/ports/libexif/portfile.cmake +++ b/ports/libexif/portfile.cmake @@ -1,26 +1,33 @@ -vcpkg_fail_port_install(ON_TARGET uwp) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libexif/libexif - REF libexif-0_6_22-release - SHA512 6c63abe2734c9e83fb04adb00bdd77f687165007c0efd0279df26c101363b990604050c430c7dd73dfa8735dd2fd196334d321bdb114d4869998f21e7bed5b43 + REF "v${VERSION}" + SHA512 eac1b5220ca0e02370837a0d78a6d38e91c5afa0956d4196b26a8d2a8a2c5dea18d58c0e473285f278653c3863923241651b7dff4d007cc46385eb29ea188330 HEAD_REF master - PATCHES add-missing-_stdint-h.patch + PATCHES + 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_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG + OPTIONS + ${options} + --enable-internal-docs=no + --enable-ship-binaries=no ) -vcpkg_install_cmake() -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 d27752d4b700dd..1823547a8d62fd 100644 --- a/ports/libexif/vcpkg.json +++ b/ports/libexif/vcpkg.json @@ -1,8 +1,35 @@ { "name": "libexif", - "version-string": "0.6.22", - "port-version": 1, + "version": "0.6.24", + "port-version": 3, "description": "a library for parsing, editing, and saving EXIF data", "homepage": "https://libexif.github.io/", - "supports": "!uwp" + "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/portfile.cmake b/ports/libfabric/portfile.cmake index 563dc483f0c689..b87a10ba75405d 100644 --- a/ports/libfabric/portfile.cmake +++ b/ports/libfabric/portfile.cmake @@ -1,5 +1,3 @@ -vcpkg_fail_port_install(ON_TARGET "Linux" "OSX" "UWP" ON_ARCH "x86") - vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) vcpkg_from_github( @@ -15,24 +13,16 @@ vcpkg_from_github( set(LIBFABRIC_RELEASE_CONFIGURATION "Release-v142") set(LIBFABRIC_DEBUG_CONFIGURATION "Debug-v142") -vcpkg_install_msbuild( - SOURCE_PATH ${SOURCE_PATH} +vcpkg_msbuild_install( + SOURCE_PATH "${SOURCE_PATH}" PROJECT_SUBPATH libfabric.vcxproj - INCLUDES_SUBPATH include - LICENSE_SUBPATH COPYING PLATFORM "x64" RELEASE_CONFIGURATION ${LIBFABRIC_RELEASE_CONFIGURATION} - DEBUG_CONFIGURATION ${LIBFABRIC_RELEASE_CONFIGURATION} - USE_VCPKG_INTEGRATION - ALLOW_ROOT_INCLUDES + DEBUG_CONFIGURATION ${LIBFABRIC_DEBUG_CONFIGURATION} OPTIONS /p:SolutionDir=${SOURCE_PATH} - /p:AdditionalIncludeDirectories="${CURRENT_INSTALLED_DIR}/include" ) -#Move includes under subdirectory to avoid colisions with other libraries -file(RENAME "${CURRENT_PACKAGES_DIR}/include" "${CURRENT_PACKAGES_DIR}/includetemp") -file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/include") -file(RENAME "${CURRENT_PACKAGES_DIR}/includetemp" "${CURRENT_PACKAGES_DIR}/include/libfabric") +file(COPY "${SOURCE_PATH}/include/" DESTINATION "${CURRENT_PACKAGES_DIR}/include/libfabric") -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/libfabric/vcpkg.json b/ports/libfabric/vcpkg.json index 92b5b54bfe815c..3478c994c60d8e 100644 --- a/ports/libfabric/vcpkg.json +++ b/ports/libfabric/vcpkg.json @@ -1,13 +1,19 @@ { "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 & x64 & !static", + "supports": "windows & !uwp & x64 & !static", "dependencies": [ { "name": "networkdirect-sdk", "platform": "windows" + }, + { + "name": "vcpkg-msbuild", + "host": true, + "platform": "windows" } ] } diff --git a/ports/libffi/CMakeLists.txt b/ports/libffi/CMakeLists.txt deleted file mode 100644 index f69edfc899a361..00000000000000 --- a/ports/libffi/CMakeLists.txt +++ /dev/null @@ -1,229 +0,0 @@ -cmake_minimum_required(VERSION 3.9) -project(libffi C ASM) - -set(CMAKE_SHARED_LIBRARY_PREFIX) -set(CMAKE_STATIC_LIBRARY_PREFIX) - -if(NOT CMAKE_SYSTEM_PROCESSOR) - set(CMAKE_SYSTEM_PROCESSOR "${CMAKE_HOST_SYSTEM_PROCESSOR}") -endif() - -# config variables for ffi.h.in -set(VERSION 3.4.2) - -set(KNOWN_PROCESSORS x86 x86_64 amd64 arm arm64 i386 i686 armv7l armv7-a aarch64) - -string(TOLOWER "${CMAKE_SYSTEM_PROCESSOR}" lower_system_processor) - -if(NOT lower_system_processor IN_LIST KNOWN_PROCESSORS) - message(FATAL_ERROR "Unknown processor: ${CMAKE_SYSTEM_PROCESSOR}") -endif() - -if(CMAKE_SYSTEM_NAME MATCHES "Windows" AND VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") - set(TARGET ARM_WIN32) -elseif(CMAKE_SYSTEM_NAME MATCHES "Windows" AND VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") - set(TARGET ARM_WIN64) -elseif(CMAKE_SYSTEM_NAME MATCHES "Windows" AND VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") - set(TARGET X86_WIN32) -elseif(CMAKE_SYSTEM_NAME MATCHES "Windows" AND VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") - set(TARGET X86_WIN64) -elseif(lower_system_processor MATCHES "arm64|aarch64") - set(TARGET ARM64) -elseif(lower_system_processor MATCHES "arm") - set(TARGET ARM) -elseif(CMAKE_SYSTEM_NAME MATCHES "BSD" AND CMAKE_SIZEOF_VOID_P EQUAL 4) - set(TARGET X86_FREEBSD) -elseif(CMAKE_SYSTEM_NAME MATCHES "Darwin" AND CMAKE_SIZEOF_VOID_P EQUAL 4) - set(TARGET X86_DARWIN) -elseif(CMAKE_SIZEOF_VOID_P EQUAL 8) - set(TARGET X86_64) -elseif(CMAKE_SIZEOF_VOID_P EQUAL 4) - set(TARGET X86) -else() - message(FATAL_ERROR "Cannot determine target. Please consult ${CMAKE_CURRENT_SOURCE_DIR}/configure.ac and add your platform to this CMake file.") -endif() - -if("${TARGET}" STREQUAL "X86_64") - set(HAVE_LONG_DOUBLE 1) -else() - set(HAVE_LONG_DOUBLE 0) -endif() -set(FFI_EXEC_TRAMPOLINE_TABLE 0) - -# mimic layout of original buildsystem -configure_file(include/ffi.h.in ${CMAKE_BINARY_DIR}/include/ffi.h) -file(COPY ${FFI_CONFIG_FILE} DESTINATION ${CMAKE_BINARY_DIR}) - -if ("${TARGET}" STREQUAL "ARM_WIN64" OR "${TARGET}" STREQUAL "ARM64") - file(COPY src/aarch64/ffitarget.h DESTINATION ${CMAKE_BINARY_DIR}/include) -elseif ("${TARGET}" STREQUAL "ARM_WIN32" OR "${TARGET}" STREQUAL "ARM") - file(COPY src/arm/ffitarget.h DESTINATION ${CMAKE_BINARY_DIR}/include) -else() - file(COPY src/x86/ffitarget.h DESTINATION ${CMAKE_BINARY_DIR}/include) -endif() - -include_directories(${CMAKE_BINARY_DIR}/include) -include_directories(${CMAKE_BINARY_DIR}) -include_directories(include) - -add_definitions(-DFFI_BUILDING) -if(BUILD_SHARED_LIBS AND WIN32) - add_definitions(-DFFI_BUILDING_DLL) -endif() - -set(FFI_SOURCES - src/closures.c - src/prep_cif.c - src/types.c - src/tramp.c) - -if ("${TARGET}" STREQUAL "ARM_WIN64" OR "${TARGET}" STREQUAL "ARM64") - set(FFI_SOURCES - ${FFI_SOURCES} - src/aarch64/ffi.c) -elseif("${TARGET}" STREQUAL "ARM_WIN32" OR "${TARGET}" STREQUAL "ARM") - set(FFI_SOURCES - ${FFI_SOURCES} - src/arm/ffi.c) -else() - set(FFI_SOURCES - ${FFI_SOURCES} - src/java_raw_api.c - src/raw_api.c) - if("${TARGET}" STREQUAL "X86_WIN32" OR "${TARGET}" STREQUAL "X86_DARWIN" OR "${TARGET}" STREQUAL "X86") - set(FFI_SOURCES - ${FFI_SOURCES} - src/x86/ffi.c) - elseif("${TARGET}" STREQUAL "X86_WIN64") - set(FFI_SOURCES - ${FFI_SOURCES} - src/x86/ffiw64.c) - elseif("${TARGET}" STREQUAL "X86_64") - set(FFI_SOURCES - ${FFI_SOURCES} - src/x86/ffi64.c - src/x86/ffiw64.c) - endif() -endif() - -macro(add_assembly ASMFILE) - get_filename_component(ASMFILE_FULL "${ASMFILE}" ABSOLUTE) - if(MSVC) - if ("${TARGET}" STREQUAL "ARM_WIN64") - set(ARCH_ASSEMBLER armasm64) - elseif ("${TARGET}" STREQUAL "ARM_WIN32") - set(ARCH_ASSEMBLER armasm) - elseif(CMAKE_SIZEOF_VOID_P EQUAL 4) - set(ARCH_ASSEMBLER ml /safeseh /c /Zi) - else() - set(ARCH_ASSEMBLER ml64 /c /Zi) - endif() - - get_filename_component(ARCH_ASM_NAME "${ASMFILE_FULL}" NAME_WE) - - execute_process( - COMMAND ${CMAKE_C_COMPILER} /nologo /EP /I. /Iinclude /I${CMAKE_CURRENT_SOURCE_DIR}/include "${ASMFILE_FULL}" - WORKING_DIRECTORY ${CMAKE_BINARY_DIR} - OUTPUT_FILE ${ARCH_ASM_NAME}.asm - RESULT_VARIABLE retcode - ) - - if(NOT ${retcode} STREQUAL "0") - message(FATAL_ERROR "Unable to assemble, exit code: '${retcode}'.") - endif() - - # Produced *.asm file could be just added to sources. - # It works in x64 mode, but for some strange reason MASM returns error code when in x86, - # (even though it didn't report any errors and correctly generated object file) - # which in turn causes MSBUILD to stop. - execute_process( - COMMAND ${ARCH_ASSEMBLER} ${ARCH_ASM_NAME}.asm - WORKING_DIRECTORY ${CMAKE_BINARY_DIR} - RESULT_VARIABLE retcode - ) - - if(NOT ${retcode} STREQUAL "0") - message(FATAL_ERROR "Unable to compile assembly, exit code: '${retcode}'.") - endif() - - list(APPEND FFI_SOURCES ${CMAKE_BINARY_DIR}/${ARCH_ASM_NAME}.obj) - else() - list(APPEND FFI_SOURCES ${ASMFILE}) - endif() -endmacro() - -if("${TARGET}" STREQUAL "X86") - set(CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} -m32") -endif() - -if("${TARGET}" STREQUAL "X86" OR "${TARGET}" STREQUAL "X86_DARWIN") - add_assembly(src/x86/sysv.S) -elseif("${TARGET}" STREQUAL "X86_64") - add_assembly(src/x86/unix64.S) - add_assembly(src/x86/win64.S) -elseif("${TARGET}" STREQUAL "X86_WIN32") - if(MSVC) - add_assembly(src/x86/sysv_intel.S) - else() - add_assembly(src/x86/sysv.S) - endif() -elseif("${TARGET}" STREQUAL "X86_WIN64") - if(MSVC) - add_assembly(src/x86/win64_intel.S) - else() - add_assembly(src/x86/win64.S) - endif() -elseif("${TARGET}" STREQUAL "ARM_WIN32") - if(MSVC) - add_assembly(src/arm/sysv_msvc_arm32.S) - else() - add_assembly(src/arm/sysv.S) - endif() -elseif("${TARGET}" STREQUAL "ARM") - add_assembly(src/arm/sysv.S) -elseif("${TARGET}" STREQUAL "ARM_WIN64") - if(MSVC) - add_assembly(src/aarch64/win64_armasm.S) - else() - add_assembly(src/aarch64/sysv.S) - endif() -elseif("${TARGET}" STREQUAL "ARM64") - add_assembly(src/aarch64/sysv.S) -else() - message(FATAL_ERROR "Target not implemented") -endif() - -if(CMAKE_BUILD_TYPE STREQUAL "Debug") - list(APPEND FFI_SOURCES src/debug.c) - add_definitions(-DFFI_DEBUG) -endif() - -add_library(libffi ${FFI_SOURCES}) - -install(TARGETS libffi - EXPORT ${PROJECT_NAME}Targets - RUNTIME DESTINATION bin - ARCHIVE DESTINATION lib - LIBRARY DESTINATION lib) - -include(CMakePackageConfigHelpers) - -configure_package_config_file(${PROJECT_NAME}Config.cmake.in - "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake" - INSTALL_DESTINATION share/${PROJECT_NAME}) -write_basic_package_version_file( - ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake - VERSION ${VERSION} - COMPATIBILITY AnyNewerVersion) -install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake" - "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake" - DESTINATION share/${PROJECT_NAME}) -install(EXPORT ${PROJECT_NAME}Targets - DESTINATION share/${PROJECT_NAME}) - -if(NOT FFI_SKIP_HEADERS) - install(FILES - ${CMAKE_BINARY_DIR}/include/ffi.h - ${CMAKE_BINARY_DIR}/include/ffitarget.h - DESTINATION include) -endif() diff --git a/ports/libffi/dll-bindir.diff b/ports/libffi/dll-bindir.diff new file mode 100644 index 00000000000000..51e15413dffaa0 --- /dev/null +++ b/ports/libffi/dll-bindir.diff @@ -0,0 +1,12 @@ +diff --git a/configure.host b/configure.host +index f23716f..78d317b 100644 +--- a/configure.host ++++ b/configure.host +@@ -103,6 +103,7 @@ case "${host}" in + else + AM_LTLDFLAGS='-no-undefined -bindir "$(bindir)"'; + fi ++ AM_LTLDFLAGS='-no-undefined'; + ;; + + i?86-*-darwin* | x86_64-*-darwin* | i?86-*-ios | x86_64-*-ios) diff --git a/ports/libffi/fficonfig.h b/ports/libffi/fficonfig.h deleted file mode 100644 index fc00af94a91737..00000000000000 --- a/ports/libffi/fficonfig.h +++ /dev/null @@ -1,65 +0,0 @@ -#ifdef __linux__ -#define EH_FRAME_FLAGS "a" -#endif -#define HAVE_ALLOCA 1 -#ifndef _WIN64 -#define HAVE_AS_ASCII_PSEUDO_OP 1 -#endif -#ifndef _WIN64 -#define HAVE_AS_STRING_PSEUDO_OP 1 -#endif -#ifndef _WIN64 -#define HAVE_AS_X86_PCREL 1 -#endif -#ifdef __linux__ -#define HAVE_HIDDEN_VISIBILITY_ATTRIBUTE 1 -#endif -#define HAVE_INTTYPES_H 1 -#define HAVE_MEMORY_H 1 -#define HAVE_STDINT_H 1 -#define HAVE_STDLIB_H 1 -#define HAVE_STRING_H 1 -#define HAVE_SYS_STAT_H 1 -#define HAVE_SYS_TYPES_H 1 -#define LT_OBJDIR ".libs/" -#define PACKAGE "libffi" -#define PACKAGE_BUGREPORT "http://github.com/libffi/libffi/issues" -#define PACKAGE_NAME "libffi" -#define PACKAGE_STRING "libffi 3.4.2" -#define PACKAGE_TARNAME "libffi" -#define PACKAGE_URL "" -#define PACKAGE_VERSION "3.4.2" -#define SIZEOF_DOUBLE 8 -#define SIZEOF_LONG_DOUBLE 8 -#ifndef _WIN64 -#define SIZEOF_SIZE_T 4 -#else -#define SIZEOF_SIZE_T 8 -#endif -#define STDC_HEADERS 1 -#ifndef __linux__ -#ifndef _WIN64 -#define SYMBOL_UNDERSCORE 1 -#endif -#endif -#define VERSION "3.4.2" -#if defined AC_APPLE_UNIVERSAL_BUILD -# if defined __BIG_ENDIAN__ -# define WORDS_BIGENDIAN 1 -# endif -#endif - -#ifdef HAVE_HIDDEN_VISIBILITY_ATTRIBUTE -#ifdef LIBFFI_ASM -#define FFI_HIDDEN(name) .hidden name -#else -#define FFI_HIDDEN __attribute__ ((visibility ("hidden"))) -#endif -#else -#ifdef LIBFFI_ASM -#define FFI_HIDDEN(name) -#else -#define FFI_HIDDEN -#endif -#endif - diff --git a/ports/libffi/libffiConfig.cmake b/ports/libffi/libffiConfig.cmake new file mode 100644 index 00000000000000..a510862e10dcc2 --- /dev/null +++ b/ports/libffi/libffiConfig.cmake @@ -0,0 +1,7 @@ +file(READ "${CMAKE_CURRENT_LIST_DIR}/usage" usage) +message(WARNING "find_package(libffi) is deprecated.\n${usage}") +include(CMakeFindDependencyMacro) +find_dependency(unofficial-libffi CONFIG REQUIRED) +if(NOT TARGET libffi) + add_library(libffi ALIAS unofficial::libffi::libffi) +endif() diff --git a/ports/libffi/libffiConfig.cmake.in b/ports/libffi/libffiConfig.cmake.in deleted file mode 100644 index ebdf1488acdd0a..00000000000000 --- a/ports/libffi/libffiConfig.cmake.in +++ /dev/null @@ -1,7 +0,0 @@ -@PACKAGE_INIT@ - -include(CMakeFindDependencyMacro) - -if(NOT TARGET libffi) - include("${CMAKE_CURRENT_LIST_DIR}/libffiTargets.cmake") -endif() diff --git a/ports/libffi/portfile.cmake b/ports/libffi/portfile.cmake index 4f6a7b99a86c58..03c1074ac3b5f4 100644 --- a/ports/libffi/portfile.cmake +++ b/ports/libffi/portfile.cmake @@ -1,70 +1,77 @@ -set(VERSION 3.4.2) - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO libffi/libffi - REF v${VERSION} - SHA512 d399319efcca375fe901b05722e25eca31d11a4261c6a5d5079480bbc552d4e4b42de2026912689d3b2f886ebb3c8bebbea47102e38a2f6acbc526b8d5bba388 - HEAD_REF master +vcpkg_download_distfile(ARCHIVE + URLS "https://github.com/libffi/libffi/releases/download/v${VERSION}/libffi-${VERSION}.tar.gz" + FILENAME "libffi-${VERSION}.tar.gz" + SHA512 033d2600e879b83c6bce0eb80f69c5f32aa775bf2e962c9d39fbd21226fa19d1e79173d8eaa0d0157014d54509ea73315ad86842356fc3a303c0831c94c6ab39 ) - -file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -file(COPY "${CMAKE_CURRENT_LIST_DIR}/libffiConfig.cmake.in" DESTINATION "${SOURCE_PATH}") - -vcpkg_cmake_configure( - SOURCE_PATH "${SOURCE_PATH}" - PREFER_NINJA - OPTIONS - -DFFI_CONFIG_FILE=${CMAKE_CURRENT_LIST_DIR}/fficonfig.h - OPTIONS_DEBUG - -DFFI_SKIP_HEADERS=ON +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" + PATCHES + dll-bindir.diff ) -vcpkg_cmake_install() +vcpkg_list(SET options) +if(VCPKG_TARGET_IS_WINDOWS) + set(linkage_flag "-DFFI_STATIC_BUILD") + if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + set(linkage_flag "-DFFI_BUILDING_DLL") + endif() + vcpkg_list(APPEND options "CFLAGS=\${CFLAGS} ${linkage_flag}") +endif() -# Create pkgconfig file -set(PACKAGE_VERSION ${VERSION}) -set(prefix "${CURRENT_INSTALLED_DIR}") -set(exec_prefix "\${prefix}") -set(libdir "\${prefix}/lib") -set(toolexeclibdir "\${libdir}") -set(includedir "\${prefix}/include") -if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - configure_file("${SOURCE_PATH}/libffi.pc.in" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libffi.pc" @ONLY) +set(ccas_options "") +vcpkg_cmake_get_vars(cmake_vars_file) +include("${cmake_vars_file}") +if(VCPKG_DETECTED_CMAKE_C_COMPILER_ID STREQUAL "MSVC") + set(ccas "${SOURCE_PATH}/msvcc.sh") + if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + string(APPEND ccas_options " -m32") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + string(APPEND ccas_options " -m64") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") + string(APPEND ccas_options " -marm") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") + string(APPEND ccas_options " -marm64") + endif() +else() + set(ccas "${VCPKG_DETECTED_CMAKE_C_COMPILER}") endif() -# debug -set(prefix "${CURRENT_INSTALLED_DIR}/debug") -set(exec_prefix "\${prefix}") -set(libdir "\${prefix}/lib") -set(toolexeclibdir "\${libdir}") -set(includedir "\${prefix}/../include") -if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - configure_file("${SOURCE_PATH}/libffi.pc.in" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libffi.pc" @ONLY) +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}${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}" + ${configure_triplets} + USE_WRAPPERS + OPTIONS + --enable-portable-binary + --disable-docs + --disable-multi-os-directory + ${options} +) + +vcpkg_install_make() vcpkg_copy_pdbs() -vcpkg_cmake_config_fixup() +vcpkg_fixup_pkgconfig() -if(VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_MINGW) - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libffi.pc" - "-lffi" "-llibffi") - endif() - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libffi.pc" - "-lffi" "-llibffi") - endif() +if (VCPKG_LIBRARY_LINKAGE STREQUAL "static") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/ffi.h" "defined(FFI_STATIC_BUILD)" "1") endif() -vcpkg_fixup_pkgconfig() -if (VCPKG_LIBRARY_LINKAGE STREQUAL static) - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/ffi.h" - " *know* they are going to link with the static library. */" - " *know* they are going to link with the static library. */ +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/unofficial-libffi-config.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/unofficial-libffi") +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/libffiConfig.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -#define FFI_BUILDING -" - ) -endif() +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/share/man3" +) -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/libffi/unofficial-libffi-config.cmake b/ports/libffi/unofficial-libffi-config.cmake new file mode 100644 index 00000000000000..453f6347eecdd8 --- /dev/null +++ b/ports/libffi/unofficial-libffi-config.cmake @@ -0,0 +1,20 @@ +if(NOT TARGET unofficial::libffi::libffi) + get_filename_component(VCPKG_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_DIR}/../../" ABSOLUTE) + find_library(VCPKG_LIBFFI_LIBRARY_RELEASE NAMES ffi PATHS "${VCPKG_IMPORT_PREFIX}/lib" REQUIRED) + find_library(VCPKG_LIBFFI_LIBRARY_DEBUG NAMES ffi PATHS "${VCPKG_IMPORT_PREFIX}/debug/lib") + mark_as_advanced(VCPKG_LIBFFI_LIBRARY_RELEASE VCPKG_LIBFFI_LIBRARY_DEBUG) + add_library(unofficial::libffi::libffi UNKNOWN IMPORTED) + set_target_properties(unofficial::libffi::libffi PROPERTIES + IMPORTED_CONFIGURATIONS "Release" + INTERFACE_INCLUDE_DIRECTORIES "${VCPKG_IMPORT_PREFIX}/include" + IMPORTED_LOCATION_RELEASE "${VCPKG_LIBFFI_LIBRARY_RELEASE}" + IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "C" + ) + if(VCPKG_LIBFFI_LIBRARY_DEBUG) + set_property(TARGET unofficial::libffi::libffi APPEND PROPERTY IMPORTED_CONFIGURATIONS Debug) + set_target_properties(unofficial::libffi::libffi PROPERTIES + IMPORTED_LOCATION_DEBUG "${VCPKG_LIBFFI_LIBRARY_DEBUG}" + IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "C" + ) + endif() +endif() diff --git a/ports/libffi/usage b/ports/libffi/usage new file mode 100644 index 00000000000000..3c5ecab10bd0a1 --- /dev/null +++ b/ports/libffi/usage @@ -0,0 +1,10 @@ +libffi can be imported via CMake FindPkgConfig module: + + find_package(PkgConfig) + pkg_check_modules(LIBFFI REQUIRED IMPORTED_TARGET libffi) + target_link_libraries(main PRIVATE PkgConfig::LIBFFI) + +vcpkg provides proprietary CMake targets: + + find_package(unofficial-libffi CONFIG REQUIRED) + target_link_libraries(main PRIVATE unofficial::libffi::libffi) diff --git a/ports/libffi/vcpkg.json b/ports/libffi/vcpkg.json index 4525cee7b98bae..649a5be3ab99aa 100644 --- a/ports/libffi/vcpkg.json +++ b/ports/libffi/vcpkg.json @@ -1,16 +1,12 @@ { "name": "libffi", - "version": "3.4.2", - "port-version": 2, + "version": "3.4.6", "description": "Portable, high level programming interface to various calling conventions", "homepage": "https://github.com/libffi/libffi", + "license": "MIT", "dependencies": [ { - "name": "vcpkg-cmake", - "host": true - }, - { - "name": "vcpkg-cmake-config", + "name": "vcpkg-cmake-get-vars", "host": true } ] diff --git a/ports/libfido2/fix_cmakelists.patch b/ports/libfido2/fix_cmakelists.patch index d5c363706e49e7..2796d3cb17eaea 100644 --- a/ports/libfido2/fix_cmakelists.patch +++ b/ports/libfido2/fix_cmakelists.patch @@ -1,27 +1,38 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 1eb8726..b308597 100644 +index 6fa341a..8124d80 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -161,16 +161,20 @@ if(UNIX) - endif() +@@ -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 provide definitions for " -- "{CBOR,CRYPTO,ZLIB}_{INCLUDE,LIBRARY}_DIRS when building " -- "under msvc") +- 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() -- set(CBOR_LIBRARIES cbor) -- set(ZLIB_LIBRARIES zlib) -- set(CRYPTO_LIBRARIES crypto-46) -+ include(FindPkgConfig) -+ +- 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}) @@ -30,19 +41,16 @@ index 1eb8726..b308597 100644 + 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 - "C4200" # nonstandard extension used: zero-sized array in - # struct/union; -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 11b0bb5..d820ff3 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -120,7 +120,7 @@ if(BUILD_SHARED_LIBS) - install(TARGETS fido2_shared - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -- RUNTIME DESTINATION ${CMAKE_INSTALL_LIBDIR}) -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) - endif() + "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}") - install(FILES fido.h DESTINATION include) ++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/portfile.cmake b/ports/libfido2/portfile.cmake index 9cc2b4cd219f05..9e03b73d7e402a 100644 --- a/ports/libfido2/portfile.cmake +++ b/ports/libfido2/portfile.cmake @@ -1,9 +1,9 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Yubico/libfido2 - REF 1.7.0 - SHA512 f40d394883d909e9e3ea3308b32f7ca31a882c709e11b3b143ed5734d16b0c244d4932effe06965d566776b03d152b1fc280e73cdfeeb81b65d8414042af19fe - HEAD_REF master + REF ${VERSION} + SHA512 97932ca1a9f8d1bb3cb4b4a8d56ef70085d19ad2bd27c67944fa17ed033bfa45d28d7ad3fa318723e79b17ef5a882ac4f999ad8a6b9965c58665d99c4da7b5ee + HEAD_REF main PATCHES "fix_cmakelists.patch" ) @@ -12,18 +12,20 @@ string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" LIBFIDO2_BUILD_STATIC) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" LIBFIDO2_BUILD_SHARED) vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_EXAMPLES=OFF -DBUILD_MANPAGES=OFF -DBUILD_STATIC_LIBS=${LIBFIDO2_BUILD_STATIC} -DBUILD_SHARED_LIBS=${LIBFIDO2_BUILD_SHARED} -DBUILD_TOOLS=OFF + -DBUILD_TESTS=OFF ) vcpkg_cmake_install() vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() 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/libfido2/vcpkg.json b/ports/libfido2/vcpkg.json index 5604af16f44db9..b074afc0153800 100644 --- a/ports/libfido2/vcpkg.json +++ b/ports/libfido2/vcpkg.json @@ -1,8 +1,9 @@ { "name": "libfido2", - "version": "1.7.0", + "version": "1.15.0", "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", "dependencies": [ "libcbor", diff --git a/ports/libflac/portfile.cmake b/ports/libflac/portfile.cmake index 4f1ca9a3adf528..70f0e4fbcffae1 100644 --- a/ports/libflac/portfile.cmake +++ b/ports/libflac/portfile.cmake @@ -1,80 +1,78 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO xiph/flac - REF ce6dd6b5732e319ef60716d9cc9af6a836a4011a - SHA512 d0d3b5451f8d74aa0a0832fbe95cca55597ce9654765a95adaac98ecd0da9e803b98551a40a3fb3fd5b86bc5f40cd1a791127c03da5322e7f01e7fa761171a21 + REF "${VERSION}" + SHA512 3571467a1d557bc03eade2ae9bb1a72fd94a89222e6ad9563078d646aac0b65ed1c3d829fb45dd3a6cdca806f7ba3b6393f0ce6571b43651959acaa1c2106396 HEAD_REF master PATCHES - uwp-library-console.patch - uwp-createfile2.patch fix-compile-options.patch ) -if(VCPKG_TARGET_IS_MINGW) - set(WITH_STACK_PROTECTOR OFF) - string(APPEND VCPKG_C_FLAGS "-D_FORTIFY_SOURCE=0") - string(APPEND VCPKG_CXX_FLAGS "-D_FORTIFY_SOURCE=0") -else() - set(WITH_STACK_PROTECTOR ON) -endif() - if("asm" IN_LIST FEATURES) - if(NOT VCPKG_TARGET_ARCHITECTURE STREQUAL x86) - message(FATAL_ERROR "Feature asm only supports x86 architecture.") - endif() - - VCPKG_FIND_ACQUIRE_PROGRAM(NASM) - GET_FILENAME_COMPONENT(NASM_PATH ${NASM} DIRECTORY) + vcpkg_find_acquire_program(NASM) + get_filename_component(NASM_PATH "${NASM}" DIRECTORY) vcpkg_add_to_path("${NASM_PATH}") endif() vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - asm WITH_ASM + FEATURES + asm WITH_ASM + stack-protector WITH_STACK_PROTECTOR ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS ${FEATURE_OPTIONS} +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} -DBUILD_PROGRAMS=OFF -DBUILD_EXAMPLES=OFF -DBUILD_DOCS=OFF -DBUILD_TESTING=OFF - -DWITH_STACK_PROTECTOR=${WITH_STACK_PROTECTOR}) + -DINSTALL_MANPAGES=OFF +) -vcpkg_install_cmake() +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(PACKAGE_NAME FLAC CONFIG_PATH lib/cmake/FLAC) -vcpkg_fixup_cmake_targets( - CONFIG_PATH share/FLAC/cmake - TARGET_PATH share/FLAC -) vcpkg_copy_pdbs() -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") +file(REMOVE "${CURRENT_PACKAGES_DIR}/share/LICENSE") if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/include/FLAC/export.h + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/FLAC/export.h" "#if defined(FLAC__NO_DLL)" "#if 0" ) - vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/include/FLAC++/export.h + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/FLAC++/export.h" "#if defined(FLAC__NO_DLL)" "#if 0" ) else() - vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/include/FLAC/export.h + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/FLAC/export.h" "#if defined(FLAC__NO_DLL)" "#if 1" ) - vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/include/FLAC++/export.h + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/FLAC++/export.h" "#if defined(FLAC__NO_DLL)" "#if 1" ) endif() -vcpkg_fixup_pkgconfig(SYSTEM_LIBRARIES m) +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/flac.pc" " -lm" "") + + if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/flac.pc") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/flac.pc" " -lm" "") + endif() +endif() + +vcpkg_fixup_pkgconfig() # This license (BSD) is relevant only for library - if someone would want to install # FLAC cmd line tools as well additional license (GPL) should be included -file(INSTALL ${SOURCE_PATH}/COPYING.Xiph DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING.Xiph") + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/libflac/usage b/ports/libflac/usage new file mode 100644 index 00000000000000..99b4c801989367 --- /dev/null +++ b/ports/libflac/usage @@ -0,0 +1,8 @@ +The package libflac provides CMake targets: + + find_package(FLAC CONFIG REQUIRED) + target_link_libraries(main PRIVATE FLAC::FLAC) + + # Or use the C++ API + find_package(FLAC CONFIG REQUIRED) + target_link_libraries(main PRIVATE FLAC::FLAC++) diff --git a/ports/libflac/uwp-createfile2.patch b/ports/libflac/uwp-createfile2.patch deleted file mode 100644 index 0b86e9a7fc4904..00000000000000 --- a/ports/libflac/uwp-createfile2.patch +++ /dev/null @@ -1,40 +0,0 @@ -diff --git a/src/share/win_utf8_io/win_utf8_io.c b/src/share/win_utf8_io/win_utf8_io.c -index 8b20bbb7..058295fa 100644 ---- a/src/share/win_utf8_io/win_utf8_io.c -+++ b/src/share/win_utf8_io/win_utf8_io.c -@@ -156,6 +156,27 @@ int get_utf8_argv(int *argc, char ***argv) - /* similar to CreateFileW but accepts UTF-8 encoded lpFileName */ - HANDLE WINAPI CreateFile_utf8(const char *lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile) - { -+#if defined (WINAPI_FAMILY_PARTITION) && !WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM) -+ HANDLE handle = INVALID_HANDLE_VALUE; -+ -+ if (!flac_internal_get_utf8_filenames()) -+ return handle; -+ -+ wchar_t *wname; -+ -+ if ((wname = wchar_from_utf8(lpFileName)) != NULL) -+ { -+ CREATEFILE2_EXTENDED_PARAMETERS cfParams = {0}; -+ cfParams.dwSize = sizeof(CREATEFILE2_EXTENDED_PARAMETERS); -+ cfParams.dwFileAttributes = dwFlagsAndAttributes & FILE_ATTRIBUTE_NORMAL; -+ cfParams.lpSecurityAttributes = lpSecurityAttributes; -+ cfParams.hTemplateFile = hTemplateFile; -+ handle = CreateFile2(wname, dwDesiredAccess, dwShareMode, dwCreationDisposition, &cfParams); -+ free(wname); -+ } -+ -+ return handle; -+#else - if (!flac_internal_get_utf8_filenames()) { - return CreateFileA(lpFileName, dwDesiredAccess, dwShareMode, lpSecurityAttributes, dwCreationDisposition, dwFlagsAndAttributes, hTemplateFile); - } else { -@@ -169,6 +190,7 @@ HANDLE WINAPI CreateFile_utf8(const char *lpFileName, DWORD dwDesiredAccess, DWO - - return handle; - } -+#endif - } - - /* return number of characters in the UTF-8 string */ diff --git a/ports/libflac/uwp-library-console.patch b/ports/libflac/uwp-library-console.patch deleted file mode 100644 index 234758c754131d..00000000000000 --- a/ports/libflac/uwp-library-console.patch +++ /dev/null @@ -1,53 +0,0 @@ -diff --git a/src/share/win_utf8_io/win_utf8_io.c b/src/share/win_utf8_io/win_utf8_io.c -index bbb6a74a..8b20bbb7 100644 ---- a/src/share/win_utf8_io/win_utf8_io.c -+++ b/src/share/win_utf8_io/win_utf8_io.c -@@ -110,7 +110,11 @@ int get_utf8_argv(int *argc, char ***argv) - char **utf8argv; - int ret, i; - -+#if defined (WINAPI_FAMILY_PARTITION) && !WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM) -+ if ((handle = LoadPackagedLibrary("msvcrt.dll", 0)) == NULL) return 1; -+#else - if ((handle = LoadLibraryW(L"msvcrt.dll")) == NULL) return 1; -+#endif - if ((wgetmainargs = (wgetmainargs_t)GetProcAddress(handle, "__wgetmainargs")) == NULL) { - FreeLibrary(handle); - return 1; -@@ -181,6 +185,9 @@ size_t strlen_utf8(const char *str) - /* get the console width in characters */ - int win_get_console_width(void) - { -+#if defined (WINAPI_FAMILY_PARTITION) && !WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM) -+ return 80; -+#else - int width = 80; - CONSOLE_SCREEN_BUFFER_INFO csbi; - HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE); -@@ -188,6 +195,7 @@ int win_get_console_width(void) - if (GetConsoleScreenBufferInfo(hOut, &csbi) != 0) - width = csbi.dwSize.X; - return width; -+#endif - } - - /* print functions */ -@@ -197,6 +205,10 @@ static int wprint_console(FILE *stream, const wchar_t *text, size_t len) - DWORD out; - int ret; - -+#if defined (WINAPI_FAMILY_PARTITION) && !WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM) -+ // disabled for UWP as there's no alternative: -+ // https://docs.microsoft.com/en-us/uwp/win32-and-com/alternatives-to-windows-apis-uwp -+#else - do { - if (stream == stdout) { - HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE); -@@ -215,6 +227,7 @@ static int wprint_console(FILE *stream, const wchar_t *text, size_t len) - return out; - } - } while(0); -+#endif - - ret = fputws(text, stream); - if (ret < 0) diff --git a/ports/libflac/vcpkg.json b/ports/libflac/vcpkg.json index 07073d8020775e..1d049c4eee2454 100644 --- a/ports/libflac/vcpkg.json +++ b/ports/libflac/vcpkg.json @@ -1,15 +1,35 @@ { "name": "libflac", - "version-string": "1.3.3", - "port-version": 6, + "version": "1.4.3", + "port-version": 2, "description": "Library for manipulating FLAC files", "homepage": "https://xiph.org/flac/", + "license": "BSD-3-Clause", "dependencies": [ - "libogg" + "libogg", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "default-features": [ + { + "name": "stack-protector", + "platform": "!emscripten" + } ], "features": { "asm": { - "description": "Use any assembly optimization routines" + "description": "Use any assembly optimization routines", + "supports": "x86" + }, + "stack-protector": { + "description": "Build with stack smashing protection", + "supports": "!emscripten" } } } diff --git a/ports/libfontenc/build.patch b/ports/libfontenc/build.patch new file mode 100644 index 00000000000000..c5e1b75011f396 --- /dev/null +++ b/ports/libfontenc/build.patch @@ -0,0 +1,38 @@ +diff --git a/src/encparse.c b/src/encparse.c +index 548110ede..61952b9ce 100644 +--- a/src/encparse.c ++++ b/src/encparse.c +@@ -28,12 +28,16 @@ THE SOFTWARE. + to be pure ASCII. Bloody ``Code Set Independence''. */ + + #include ++#ifndef _MSC_VER + #include ++#else ++#define strcasecmp _stricmp ++#endif + #include + + #include + +-#include "zlib.h" ++#include + typedef gzFile FontFilePtr; + + #define FontFileGetc(f) gzgetc(f) +diff --git a/src/fontenc.c b/src/fontenc.c +index c4ccd5eb0..e87d1089d 100644 +--- a/src/fontenc.c ++++ b/src/fontenc.c +@@ -23,7 +23,11 @@ THE SOFTWARE. + /* Backend-independent encoding code */ + + #include ++#ifndef _MSC_VER + #include ++#else ++#define strcasecmp _stricmp ++#endif + #include + + #define FALSE 0 diff --git a/ports/libfontenc/configure.ac.patch b/ports/libfontenc/configure.ac.patch new file mode 100644 index 00000000000000..2a9fa85a86eb52 --- /dev/null +++ b/ports/libfontenc/configure.ac.patch @@ -0,0 +1,13 @@ +diff --git a/configure.ac b/configure.ac +index cadc653a0..aa645af81 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -47,7 +47,7 @@ XORG_FONTSUBDIR([ENCODINGSDIR], [encodingsdir], [encodings]) + # zlib + AC_CHECK_HEADER([zlib.h], [], + AC_MSG_FAILURE([zlib.h is required to compile libfontenc])) +-AC_CHECK_LIB(z, gzclose, [], ++AC_SEARCH_LIBS(gzclose, [z zlib zlibd], [], + AC_MSG_FAILURE([zlib is required to compile libfontenc])) + + # Obtain compiler/linker options for depedencies diff --git a/ports/libfontenc/portfile.cmake b/ports/libfontenc/portfile.cmake new file mode 100644 index 00000000000000..9b29d4893d7619 --- /dev/null +++ b/ports/libfontenc/portfile.cmake @@ -0,0 +1,32 @@ +if(NOT X_VCPKG_FORCE_VCPKG_X_LIBRARIES AND NOT VCPKG_TARGET_IS_WINDOWS) + message(STATUS "Utils and libraries provided by '${PORT}' should be provided by your system! Install the required packages or force vcpkg libraries by setting X_VCPKG_FORCE_VCPKG_X_LIBRARIES in your triplet!") + set(VCPKG_POLICY_EMPTY_PACKAGE enabled) +else() + +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.freedesktop.org/xorg + OUT_SOURCE_PATH SOURCE_PATH + REPO lib/libfontenc + REF 2baea13978759d1a011fc6d739465893b554d30a #1.1.4 + SHA512 5ebef8b516a2377b004894b53d56ad960bc5179d9f9a36e18bc2228ea04e8f87e9baffd4883c21783dd1f4c57d7f521cdfa42c1e9facae60c6fc2c9f5472230e + HEAD_REF master + PATCHES configure.ac.patch + build.patch +) +set(ENV{ACLOCAL} "aclocal -I \"${CURRENT_INSTALLED_DIR}/share/xorg/aclocal/\"") + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG +) + +vcpkg_install_make() +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +# # Handle copyright +file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/share/${PORT}/") +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}/" RENAME copyright) +endif() diff --git a/ports/libfontenc/vcpkg.json b/ports/libfontenc/vcpkg.json new file mode 100644 index 00000000000000..c34079afeaed59 --- /dev/null +++ b/ports/libfontenc/vcpkg.json @@ -0,0 +1,13 @@ +{ + "name": "libfontenc", + "version": "1.1.4", + "description": "X font encoding library", + "homepage": "https://gitlab.freedesktop.org/xorg/lib/libfontenc", + "license": null, + "dependencies": [ + "font-util", + "xorg-macros", + "xproto", + "zlib" + ] +} 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/fix-macbuild.patch b/ports/libfreenect2/fix-macbuild.patch new file mode 100644 index 00000000000000..cb675a6690439c --- /dev/null +++ b/ports/libfreenect2/fix-macbuild.patch @@ -0,0 +1,22 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index aedc576..4f16abc 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -165,6 +165,8 @@ SET(LIBFREENECT2_DLLS + SET(HAVE_VideoToolbox "no (Apple only)") + IF(APPLE) + FIND_LIBRARY(VIDEOTOOLBOX_LIBRARY VideoToolbox) ++ FIND_LIBRARY(CF_LIBRARY CoreFoundation) ++ FIND_LIBRARY(IOK_LIBRARY IOKit) + + SET(HAVE_VideoToolbox no) + IF(VIDEOTOOLBOX_LIBRARY) +@@ -184,6 +186,8 @@ IF(APPLE) + ${COREFOUNDATION_LIBRARY} + ${COREMEDIA_LIBRARY} + ${COREVIDEO_LIBRARY} ++ ${CF_LIBRARY} ++ ${IOK_LIBRARY} + ) + ENDIF(VIDEOTOOLBOX_LIBRARY) + ENDIF(APPLE) diff --git a/ports/libfreenect2/portfile.cmake b/ports/libfreenect2/portfile.cmake index ba35cee15a7216..efc6c9980d8c35 100644 --- a/ports/libfreenect2/portfile.cmake +++ b/ports/libfreenect2/portfile.cmake @@ -1,44 +1,55 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO OpenKinect/libfreenect2 - REF v0.2.0 - SHA512 3525e3f21462cecd3b198f64545786ffddc2cafdfd8146e5a46f0300b83f29f1ad0739618a07ab195c276149d7e2e909f7662e2d379a2880593cac75942b0666 + REF "v${VERSION}" + SHA512 0fcee5471deb013d2b57581ef8d8838f652dfed2f457c4240d5b754674e949c59337a167ac74ad04b25ace69af470a7e014e0474a688d930a3323946feadee67 HEAD_REF master - PATCHES fix-dependency-libusb.patch + PATCHES + fix-dependency-libusb.patch + fix-macbuild.patch ) -file(READ ${SOURCE_PATH}/cmake_modules/FindLibUSB.cmake FINDLIBUSB) +file(READ "${SOURCE_PATH}/cmake_modules/FindLibUSB.cmake" FINDLIBUSB) string(REPLACE "(WIN32)" "(WIN32_DISABLE)" FINDLIBUSB "${FINDLIBUSB}") -file(WRITE ${SOURCE_PATH}/cmake_modules/FindLibUSB.cmake "${FINDLIBUSB}") - -file(READ ${SOURCE_PATH}/examples/CMakeLists.txt EXAMPLECMAKE) -string(REPLACE "(WIN32)" - "(WIN32_DISABLE)" EXAMPLECMAKE "${EXAMPLECMAKE}") -file(WRITE ${SOURCE_PATH}/examples/CMakeLists.txt "${EXAMPLECMAKE}") +file(WRITE "${SOURCE_PATH}/cmake_modules/FindLibUSB.cmake" "${FINDLIBUSB}") vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - opengl ENABLE_OPENGL - opencl ENABLE_OPENCL + FEATURES + opengl ENABLE_OPENGL + opencl ENABLE_OPENCL + openni2 BUILD_OPENNI2_DRIVER ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +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 - # FEATURES + -DBUILD_EXAMPLES=OFF ${FEATURE_OPTIONS} ) +vcpkg_restore_env_variables(VARS PKG_CONFIG_PATH) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/freenect2 TARGET_PATH share/freenect2) +vcpkg_cmake_config_fixup(PACKAGE_NAME freenect2 CONFIG_PATH lib/cmake/freenect2) vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL ${SOURCE_PATH}/GPL2 DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/GPL2") vcpkg_fixup_pkgconfig() diff --git a/ports/libfreenect2/vcpkg.json b/ports/libfreenect2/vcpkg.json index fda7d64da6ee37..4c78115ec169ce 100644 --- a/ports/libfreenect2/vcpkg.json +++ b/ports/libfreenect2/vcpkg.json @@ -1,12 +1,22 @@ { "name": "libfreenect2", - "version-string": "0.2.0", - "port-version": 7, + "version": "0.2.1", + "port-version": 1, "description": "Open source drivers for the Kinect for Windows v2 device", "homepage": "https://github.com/OpenKinect/libfreenect2", + "license": "GPL-2.0-only", + "supports": "!xbox", "dependencies": [ "libjpeg-turbo", - "libusb" + "libusb", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ], "default-features": [ "opengl" @@ -24,6 +34,12 @@ "glfw3", "opengl" ] + }, + "openni2": { + "description": "OpenNI2 support for libfreenect2", + "dependencies": [ + "openni2" + ] } } } diff --git a/ports/libfs/portfile.cmake b/ports/libfs/portfile.cmake new file mode 100644 index 00000000000000..4e09efaf693f95 --- /dev/null +++ b/ports/libfs/portfile.cmake @@ -0,0 +1,30 @@ +if(NOT X_VCPKG_FORCE_VCPKG_X_LIBRARIES AND NOT VCPKG_TARGET_IS_WINDOWS) + message(STATUS "Utils and libraries provided by '${PORT}' should be provided by your system! Install the required packages or force vcpkg libraries by setting X_VCPKG_FORCE_VCPKG_X_LIBRARIES in your triplet!") + set(VCPKG_POLICY_EMPTY_PACKAGE enabled) +else() + +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.freedesktop.org/xorg + OUT_SOURCE_PATH SOURCE_PATH + REPO lib/libfs + REF "libFS-${VERSION}" + SHA512 8d21f82fb335b3ff2f09875a118e90ab1425ce3456ee5d9cbd319491c8def5b8318860d427e1bbb74eae8fbc8f6f199375d4765b2e409ea91a82ecb852a7bab4 + HEAD_REF master +) + +set(ENV{ACLOCAL} "aclocal -I \"${CURRENT_INSTALLED_DIR}/share/xorg/aclocal/\"") + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG +) + +vcpkg_install_make() +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +# Handle copyright +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +endif() diff --git a/ports/libfs/vcpkg.json b/ports/libfs/vcpkg.json new file mode 100644 index 00000000000000..1ed0a56f5ac0a6 --- /dev/null +++ b/ports/libfs/vcpkg.json @@ -0,0 +1,14 @@ +{ + "name": "libfs", + "version": "1.0.9", + "description": "X Font Service client library", + "homepage": "https://gitlab.freedesktop.org/xorg/lib/libfs", + "license": null, + "supports": "!windows", + "dependencies": [ + "bzip2", + "xorg-macros", + "xproto", + "xtrans" + ] +} diff --git a/ports/libftdi/portfile.cmake b/ports/libftdi/portfile.cmake index f44801849c70ab..19362481f3ec9d 100644 --- a/ports/libftdi/portfile.cmake +++ b/ports/libftdi/portfile.cmake @@ -4,10 +4,10 @@ vcpkg_download_distfile(ARCHIVE SHA512 540e5eb201a65936c3dbabff70c251deba1615874b11ff27c5ca16c39d71c150cf61758a68b541135a444fe32ab403b0fba0daf55c587647aaf9b3f400f1dee7 ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} - REF 0.20 +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" + SOURCE_BASE "0.20" PATCHES libusb-win32.patch shared-static.patch @@ -16,9 +16,8 @@ vcpkg_extract_source_archive_ex( file(COPY "${CMAKE_CURRENT_LIST_DIR}/exports.def" DESTINATION "${SOURCE_PATH}/src") -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - PREFER_NINJA OPTIONS -DDOCUMENTATION=OFF -DEXAMPLES=OFF @@ -33,9 +32,9 @@ vcpkg_configure_cmake( -DLIB_INSTALL_DIR=lib ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets() +vcpkg_cmake_config_fixup() vcpkg_fixup_pkgconfig() diff --git a/ports/libftdi/vcpkg.json b/ports/libftdi/vcpkg.json index b6300d9dd2814e..30c851440d665c 100644 --- a/ports/libftdi/vcpkg.json +++ b/ports/libftdi/vcpkg.json @@ -1,9 +1,17 @@ { "name": "libftdi", - "version-string": "0.20", - "port-version": 3, + "version": "0.20", + "port-version": 5, "description": "FTDI USB driver with bitbang mode (v0.20)", "dependencies": [ - "libusb-win32" + "libusb-win32", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } 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 ab3bd898349eeb..fabdcd41090c45 100644 --- a/ports/libftdi1/portfile.cmake +++ b/ports/libftdi1/portfile.cmake @@ -4,44 +4,76 @@ vcpkg_download_distfile(ARCHIVE SHA512 c525b2ab6aff9ef9254971ae7d57f3549a36a36875765c48f947d52532814a2a004de1232389d4fe824a8c8ab84277b08427308573476e1da9b7db83db802f6f ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} - REF 1.5 +vcpkg_extract_source_archive( + SOURCE_PATH + 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_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 e93cae991b6fd4..89d77cf2bdc646 100644 --- a/ports/libftdi1/vcpkg.json +++ b/ports/libftdi1/vcpkg.json @@ -1,11 +1,15 @@ { "name": "libftdi1", "version": "1.5", - "port-version": 2, + "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 new file mode 100644 index 00000000000000..fa65294e091a34 --- /dev/null +++ b/ports/libgcrypt/cross-tools.patch @@ -0,0 +1,29 @@ +diff --git a/cipher/Makefile.am b/cipher/Makefile.am +index 264b3d3..254d946 100644 +--- a/cipher/Makefile.am ++++ b/cipher/Makefile.am +@@ -19,6 +19,13 @@ + + # Process this file with automake to produce Makefile.in + ++# Building host tools for native triplet, or not at all ++CPPFLAGS_FOR_BUILD = $(CPPFLAGS) ++CFLAGS_FOR_BUILD = $(CFLAGS) ++LDFLAGS_FOR_BUILD = $(LDFLAGS) ++# Using native tools, either this build or from host triplet ++HOST_TOOLS_PREFIX ?= . ++ + # 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 + + 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-s-box: 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 5455cb0eae5b16..37e7271d5fbf2b 100644 --- a/ports/libgcrypt/portfile.cmake +++ b/ports/libgcrypt/portfile.cmake @@ -1,25 +1,71 @@ -vcpkg_fail_port_install(MESSAGE "${PORT} currently only supports unix platform" ON_TARGET "Windows") - -vcpkg_from_git( - OUT_SOURCE_PATH SOURCE_PATH - URL git://git.gnupg.org/libgcrypt.git - FETCH_REF libgcrypt-1.9.4 - REF 05422ca24a0391dad2a0b7790a904ce348819c10 # https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgcrypt.git;a=commit;h=05422ca24a0391dad2a0b7790a904ce348819c10 - HEAD_REF master +vcpkg_download_distfile(tarball + URLS + "https://gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-${VERSION}.tar.bz2" + "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 ) +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${tarball}" + PATCHES + cross-tools.patch + upstream-fa21ddc1.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 - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" OPTIONS --disable-doc - --disable-silent-rules - --with-libgpg-error-prefix=${CURRENT_INSTALLED_DIR}/tools/libgpg-error + "AS=${VCPKG_DETECTED_CMAKE_ASM_COMPILER}" + "GPG_ERROR_CONFIG=no" + OPTIONS_RELEASE + "GPGRT_CONFIG=${CURRENT_INSTALLED_DIR}/tools/libgpg-error/bin/gpgrt-config" + OPTIONS_DEBUG + "GPGRT_CONFIG=${CURRENT_INSTALLED_DIR}/tools/libgpg-error/debug/bin/gpgrt-config" ) -vcpkg_install_make() +vcpkg_install_make(OPTIONS "CCAS=${VCPKG_DETECTED_CMAKE_ASM_COMPILER}") vcpkg_fixup_pkgconfig() vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -file(INSTALL ${SOURCE_PATH}/COPYING.LIB DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +if(NOT VCPKG_CROSSCOMPILING) + file(INSTALL + "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/cipher/gost-s-box${VCPKG_TARGET_EXECUTABLE_SUFFIX}" + DESTINATION "${CURRENT_PACKAGES_DIR}/manual-tools/${PORT}" + USE_SOURCE_PERMISSIONS + ) + vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/manual-tools/${PORT}") +endif() + +set(install_prefix "${CURRENT_INSTALLED_DIR}") +if(VCPKG_HOST_IS_WINDOWS) + string(REGEX REPLACE "^([a-zA-Z]):/" "/\\1/" install_prefix "${install_prefix}") +endif() +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin/libgcrypt-config" "${install_prefix}" "`dirname $0`/../../..") +if(NOT VCPKG_BUILD_TYPE) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug/bin/libgcrypt-config" "${install_prefix}" "`dirname $0`/../../../..") +endif() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +vcpkg_install_copyright(COMMENT [[ +The library is distributed under the terms of the GNU Lesser General Public License (LGPL). +The helper programs as well as the documentation are distributed under the terms of the GNU General Public License (GPL). +There are additonal notices about contributions that require these additional notices are distributed. +]] + FILE_LIST + "${SOURCE_PATH}/COPYING.LIB" + "${SOURCE_PATH}/COPYING" + "${SOURCE_PATH}/LICENSES" +) diff --git a/ports/libgcrypt/upstream-fa21ddc1.patch b/ports/libgcrypt/upstream-fa21ddc1.patch new file mode 100644 index 00000000000000..b70408defa2845 --- /dev/null +++ b/ports/libgcrypt/upstream-fa21ddc1.patch @@ -0,0 +1,20 @@ +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 efc6cdda816e1e..522c600be4a35d 100644 --- a/ports/libgcrypt/vcpkg.json +++ b/ports/libgcrypt/vcpkg.json @@ -1,10 +1,19 @@ { "name": "libgcrypt", - "version": "1.9.4", + "version": "1.10.2", "description": "A general purpose cryptographic library", "homepage": "https://gnupg.org/software/libgcrypt/index.html", - "supports": "linux | osx", + "license": null, + "supports": "!windows | mingw", "dependencies": [ - "libgpg-error" + { + "name": "libgcrypt", + "host": true + }, + "libgpg-error", + { + "name": "vcpkg-cmake-get-vars", + "host": true + } ] } diff --git a/ports/libgd/0001-fix-cmake.patch b/ports/libgd/0001-fix-cmake.patch deleted file mode 100644 index 4446eb60dd87d4..00000000000000 --- a/ports/libgd/0001-fix-cmake.patch +++ /dev/null @@ -1,82 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 57cd95d..50d5b9a 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -280,8 +280,10 @@ else (USE_EXT_GD) - add_subdirectory(src) - endif (USE_EXT_GD) - --add_subdirectory(tests) --add_subdirectory(examples) -+if(BUILD_TEST) -+ add_subdirectory(tests) -+ add_subdirectory(examples) -+endif() - - add_custom_target(distclean ${GD_SOURCE_DIR}/cmake/distclean.sh) - -@@ -298,7 +300,7 @@ else(WIN32) - set(CPACK_GENERATOR TGZ) - endif(WIN32) - -- -+if(0) - INSTALL(FILES docs/INSTALL DESTINATION share/doc/gd-${GDLIB_MAJOR}.${GDLIB_MINOR}) - INSTALL(FILES docs/README.JPN DESTINATION share/doc/gd-${GDLIB_MAJOR}.${GDLIB_MINOR}) - INSTALL(FILES docs/README.CMAKE DESTINATION share/doc/gd-${GDLIB_MAJOR}.${GDLIB_MINOR}) -@@ -320,7 +322,7 @@ INSTALL(FILES examples/test_crop_threshold.png DESTINATION share/doc/gd-${GDLIB_ - INSTALL(FILES examples/tgaread.c DESTINATION share/doc/gd-${GDLIB_MAJOR}.${GDLIB_MINOR}) - INSTALL(FILES examples/tiffread.c DESTINATION share/doc/gd-${GDLIB_MAJOR}.${GDLIB_MINOR}) - INSTALL(FILES examples/windows.c DESTINATION share/doc/gd-${GDLIB_MAJOR}.${GDLIB_MINOR}) -- -+endif() - - set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/COPYING") - -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 509c422..97a2976 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -96,7 +96,6 @@ if (BUILD_STATIC_LIBS) - if (UNIX) - set_target_properties(${GD_LIB_STATIC} PROPERTIES OUTPUT_NAME ${GD_LIB}) - endif() --endif() - - if (NOT "${GD_PROGRAMS_LIB_SRC_FILES}" STREQUAL "") - add_library(gd_programs_lib STATIC ${GD_PROGRAMS_LIB_SRC_FILES}) -@@ -117,6 +116,7 @@ if (MINGW OR MSYS) - set_target_properties(${GD_LIB_STATIC} PROPERTIES OUTPUT_NAME ${GD_LIB}) - endif() - endif (MINGW OR MSYS) -+endif() - - INCLUDE_DIRECTORIES(BEFORE "${PROJECT_BINARY_DIR}" "${CMAKE_BINARY_DIR}" "${GD_SOURCE_DIR}/src") - -@@ -148,6 +148,7 @@ SET(LIBS_PRIVATES - ${WEBP_LIBRARIES} - ) - -+if(BUILD_PROGRAMS) - set(GD_PROGRAMS gdcmpgif) - - if (PNG_FOUND) -@@ -177,6 +178,9 @@ foreach(program ${GD_PROGRAMS}) - endif() - endforeach(program) - -+install(PROGRAMS bdftogd DESTINATION bin) -+endif() -+ - set(GD_INSTALL_TARGETS ${GD_PROGRAMS}) - if (BUILD_SHARED_LIBS) - set(GD_INSTALL_TARGETS ${GD_INSTALL_TARGETS} ${GD_LIB}) -@@ -189,7 +193,7 @@ install(TARGETS ${GD_INSTALL_TARGETS} - RUNTIME DESTINATION bin - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) --install(PROGRAMS bdftogd DESTINATION bin) -+ - install(FILES - entities.h - gd.h diff --git a/ports/libgd/cmake-project-include.cmake b/ports/libgd/cmake-project-include.cmake new file mode 100644 index 00000000000000..9993db0116372f --- /dev/null +++ b/ports/libgd/cmake-project-include.cmake @@ -0,0 +1,3 @@ +if(NOT BUILD_SHARED_LIBS) + add_definitions(-DNONDLL) +endif() diff --git a/ports/libgd/control-build.patch b/ports/libgd/control-build.patch new file mode 100644 index 00000000000000..ba87b3a9dfa3b5 --- /dev/null +++ b/ports/libgd/control-build.patch @@ -0,0 +1,59 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 6b3e5b3..bab784a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -182,6 +182,21 @@ else (USE_EXT_GD) + + SET(ENABLE_GD_FORMATS ${ENABLE_GD_FORMATS}) + ++ # The remaining code uses _FOUND, but this could be set as side effect. ++ # Restore explicit control. _FOUND is implied by _REQUIRED. ++ set(FONTCONFIG_FOUND ${ENABLE_FONTCONFIG}) ++ set(FREETYPE_FOUND ${ENABLE_FREETYPE}) ++ set(HEIF_FOUND ${ENABLE_HEIF}) ++ set(ICONV_FOUND ${ENABLE_ICONV}) ++ set(JPEG_FOUND ${ENABLE_JPEG}) ++ set(LIQ_FOUND ${ENABLE_LIQ}) ++ set(PNG_FOUND ${ENABLE_PNG}) ++ set(RAQM_FOUND ${ENABLE_RAQM}) ++ set(TIFF_FOUND ${ENABLE_TIFF}) ++ set(WEBP_FOUND ${ENABLE_WEBP}) ++ set(XPM_FOUND ${ENABLE_XPM}) ++ set(ZLIB_FOUND ${ENABLE_GD_FORMATS}) ++ + if (FREETYPE_FOUND) + INCLUDE_DIRECTORIES(${FREETYPE_INCLUDE_DIRS}) + SET(HAVE_FT2BUILD_H 1) +@@ -299,8 +299,6 @@ else (USE_EXT_GD) + endif (USE_EXT_GD) + + add_subdirectory(tests) +-add_subdirectory(examples) +-add_subdirectory(docs) + + add_custom_target(distclean ${GD_SOURCE_DIR}/cmake/distclean.sh) + +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 3839bc7..4cb56eb 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -150,6 +150,9 @@ if (ZLIB_FOUND) + set(GD_PROGRAMS ${GD_PROGRAMS} gd2copypal gd2togif giftogd2) + endif() + ++if(NOT ENABLE_TOOLS) ++ set(GD_PROGRAMS "") ++endif() + foreach(program ${GD_PROGRAMS}) + add_executable(${program} ${program}.c) + if (WIN32) +@@ -180,7 +183,9 @@ install(TARGETS ${GD_INSTALL_TARGETS} + RUNTIME DESTINATION bin + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++if(ENABLE_TOOLS) + install(PROGRAMS bdftogd DESTINATION bin) ++endif() + install(FILES + gd.h + gd_color_map.h diff --git a/ports/libgd/fix-dependencies.cmake b/ports/libgd/fix-dependencies.cmake new file mode 100644 index 00000000000000..48ad1fdc7e06a8 --- /dev/null +++ b/ports/libgd/fix-dependencies.cmake @@ -0,0 +1,39 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index bab784a..76c20e8 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -134,7 +134,10 @@ else (USE_EXT_GD) + endif (ENABLE_ICONV) + + IF (ENABLE_WEBP) +- FIND_PACKAGE(WEBP REQUIRED) ++ find_package(WEBP NAMES WebP CONFIG REQUIRED) ++ set(WEBP_INCLUDE_DIR "") ++ set(WEBP_LIBRARIES WebP::webp) ++ list(APPEND PKG_REQUIRES_PRIVATES libwebp) + ENDIF (ENABLE_WEBP) + + IF (ENABLE_HEIF) +@@ -173,7 +176,9 @@ else (USE_EXT_GD) + endif (ENABLE_XPM) + + if (ENABLE_FONTCONFIG) +- FIND_PACKAGE(FontConfig REQUIRED) ++ FIND_PACKAGE(Fontconfig REQUIRED) ++ set(FONTCONFIG_INCLUDE_DIR "") ++ set(FONTCONFIG_LIBRARY Fontconfig::Fontconfig) + endif (ENABLE_FONTCONFIG) + + if (ENABLE_RAQM) +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 4cb56eb..74fa26b 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -125,7 +125,6 @@ endif() + SET(LIBS_PRIVATES + ${ICONV_LIBRARIES} + ${LIQ_LIBRARIES} +- ${WEBP_LIBRARIES} + ) + + set(GD_PROGRAMS gdcmpgif) diff --git a/ports/libgd/fix-static-usage.patch b/ports/libgd/fix-static-usage.patch new file mode 100644 index 00000000000000..96fb88df118b6d --- /dev/null +++ b/ports/libgd/fix-static-usage.patch @@ -0,0 +1,15 @@ +diff --git a/src/gd.h b/src/gd.h +index 3056039..8a7608a 100644 +--- a/src/gd.h ++++ b/src/gd.h +@@ -62,6 +62,10 @@ extern "C" { + # else + # define BGD_EXPORT_DATA_PROT __declspec(dllimport) + # endif ++# ifdef NONDLL ++# undef BGD_EXPORT_DATA_PROT ++# define BGD_EXPORT_DATA_PROT ++# endif + # endif + # define BGD_STDCALL __stdcall + # define BGD_EXPORT_DATA_IMPL diff --git a/ports/libgd/fix_msvc_build.patch b/ports/libgd/fix_msvc_build.patch index e46a81f8965966..eff795d63af226 100644 --- a/ports/libgd/fix_msvc_build.patch +++ b/ports/libgd/fix_msvc_build.patch @@ -1,61 +1,12 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 17ddf6b..7fe1e6b 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -118,7 +118,7 @@ else (USE_EXT_GD) - endif (ENABLE_ICONV) - - IF (ENABLE_WEBP) -- FIND_PACKAGE(WEBP REQUIRED) -+ FIND_PACKAGE(WebP CONFIG REQUIRED) - ENDIF (ENABLE_WEBP) - - IF (ENABLE_HEIF) -diff --git a/src/config.h.cmake b/src/config.h.cmake -index 2b46a17..af98d23 100644 ---- a/src/config.h.cmake -+++ b/src/config.h.cmake -@@ -139,3 +139,8 @@ - - /* Version number of package */ - #cmakedefine VERSION -+ -+#ifdef _MSC_VER -+ #define ssize_t SSIZE_T -+ #define SSIZE_MAX MAXSSIZE_T -+#endif -\ No newline at end of file -diff --git a/src/gd_intern.h b/src/gd_intern.h -index f8f3b5d..380f4db 100644 ---- a/src/gd_intern.h -+++ b/src/gd_intern.h -@@ -29,6 +29,14 @@ - # endif - #endif - -+#ifdef _MSC_VER -+#define ssize_t SSIZE_T -+#define MAXSIZE_T ((SIZE_T)~ ((SIZE_T)0)) -+#define MAXSSIZE_T ((SSIZE_T) (MAXSIZE_T >> 1)) -+#define MINSSIZE_T ((SSIZE_T)~MAXSSIZE_T) -+#define SSIZE_MAX MAXSSIZE_T -+#endif -+ +diff --git a/src/gd_webp.c b/src/gd_webp.c +index e9ad802..7631f27 100644 +--- a/src/gd_webp.c ++++ b/src/gd_webp.c +@@ -16,6 +16,7 @@ #include "gd.h" + #include "gd_errors.h" + #include "gdhelpers.h" ++#include "gd_intern.h" # for ssize_t - #define MIN(a,b) ((a)<(b)?(a):(b)) -diff --git a/src/getopt.c b/src/getopt.c -index 8651b87..00bccde 100644 ---- a/src/getopt.c -+++ b/src/getopt.c -@@ -33,7 +33,10 @@ - #include - #include - #include -+ -+#ifndef _WIN32 - #include -+#endif - - int opterr = 1, /* if error message should be printed */ - optind = 1, /* index into parent argv vector */ + #ifdef HAVE_LIBWEBP + #include "webp/decode.h" diff --git a/ports/libgd/intrin.patch b/ports/libgd/intrin.patch deleted file mode 100644 index b228773f0b0a3d..00000000000000 --- a/ports/libgd/intrin.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/gd_interpolation.c b/src/gd_interpolation.c -index ce27220..8895072 100644 ---- a/src/gd_interpolation.c -+++ b/src/gd_interpolation.c -@@ -75,7 +75,7 @@ TODO: - - #ifdef _MSC_VER - # pragma optimize("t", on) --# include -+# include - #endif - - static gdImagePtr gdImageScaleBilinear(gdImagePtr im, diff --git a/ports/libgd/no-write-source-dir.patch b/ports/libgd/no-write-source-dir.patch deleted file mode 100644 index 4cc17dbef092ad..00000000000000 --- a/ports/libgd/no-write-source-dir.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 50d5b9a..17ddf6b 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -248,7 +248,8 @@ else (USE_EXT_GD) - CHECK_INCLUDE_FILE("stdint.h" HAVE_STDINT_H) - CHECK_INCLUDE_FILE("inttypes.h" HAVE_INTTYPES_H) - -- CONFIGURE_FILE(${GD_SOURCE_DIR}/src/config.h.cmake ${GD_SOURCE_DIR}/src/config.h ESCAPE_QUOTES) -+ CONFIGURE_FILE(${GD_SOURCE_DIR}/src/config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/src/config.h ESCAPE_QUOTES) -+ include_directories(${CMAKE_CURRENT_BINARY_DIR}/src) - - option(BUILD_SHARED_LIBS "Build shared libs" ON) - option(BUILD_STATIC_LIBS "Build static libs" OFF) diff --git a/ports/libgd/portfile.cmake b/ports/libgd/portfile.cmake index 4477e791cab7ef..cd78ebce205d0c 100644 --- a/ports/libgd/portfile.cmake +++ b/ports/libgd/portfile.cmake @@ -1,57 +1,88 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libgd/libgd - REF 2e40f55bfb460fc9d8cbcd290a0c9eb908d5af7e # gd-2.3.2 - SHA512 c3f2db40f774b44e3fd3fbc743efe70916a71ecd948bf8cb4aeb8a9b9fefd9f17e02d82a9481bac6fcc3624f057b5a308925b4196fb612b65bb7304747d33ffa + REF b5319a41286107b53daa0e08e402aa1819764bdc # gd-2.3.3 + SHA512 b4c6ca1d9575048de35a38b0db69e7380e160293133c1f72ae570f83ce614d4f2fd2615d217f7a0023e2265652c1089561b906beabca56c15e6ec0250e4394b2 HEAD_REF master PATCHES - 0001-fix-cmake.patch - no-write-source-dir.patch - intrin.patch + control-build.patch + fix-dependencies.cmake fix_msvc_build.patch + fix-static-usage.patch ) -#delete CMake builtins modules -file(REMOVE_RECURSE "${SOURCE_PATH}/cmake/modules/CMakeParseArguments.cmake") -file(REMOVE_RECURSE "${SOURCE_PATH}/cmake/modules/FindFreetype.cmake") -file(REMOVE_RECURSE "${SOURCE_PATH}/cmake/modules/FindJPEG.cmake") -file(REMOVE_RECURSE "${SOURCE_PATH}/cmake/modules/FindPackageHandleStandardArgs.cmake") -file(REMOVE_RECURSE "${SOURCE_PATH}/cmake/modules/FindPNG.cmake") -file(REMOVE_RECURSE "${SOURCE_PATH}/cmake/modules/FindWEBP.cmake") +# Delete vendored Find modules +file(REMOVE + "${SOURCE_PATH}/cmake/modules/CMakeParseArguments.cmake" + "${SOURCE_PATH}/cmake/modules/FindFontConfig.cmake" + "${SOURCE_PATH}/cmake/modules/FindFreetype.cmake" + "${SOURCE_PATH}/cmake/modules/FindJPEG.cmake" + "${SOURCE_PATH}/cmake/modules/FindPackageHandleStandardArgs.cmake" + "${SOURCE_PATH}/cmake/modules/FindPNG.cmake" + "${SOURCE_PATH}/cmake/modules/FindWEBP.cmake" +) vcpkg_check_features( OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES - png ENABLE_PNG + fontconfig ENABLE_FONTCONFIG + freetype ENABLE_FREETYPE jpeg ENABLE_JPEG tiff ENABLE_TIFF - freetype ENABLE_FREETYPE + png ENABLE_PNG + tools ENABLE_TOOLS webp ENABLE_WEBP - fontconfig ENABLE_FONTCONFIG ) -if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - set(LIBGD_SHARED_LIBS ON) - set(LIBGD_STATIC_LIBS OFF) -else() - set(LIBGD_SHARED_LIBS OFF) - set(LIBGD_STATIC_LIBS ON) -endif() +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${FEATURE_OPTIONS} - -DLIBGD_SHARED_LIBS=${LIBGD_SHARED_LIBS} - -DBUILD_STATIC_LIBS=${LIBGD_STATIC_LIBS} - -DBUILD_TEST=OFF + -DBUILD_STATIC_LIBS=${BUILD_STATIC} + "-DCMAKE_PROJECT_INCLUDE=${CMAKE_CURRENT_LIST_DIR}/cmake-project-include.cmake" + OPTIONS_DEBUG + -DENABLE_TOOLS=OFF ) - vcpkg_cmake_install() vcpkg_copy_pdbs() -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +if(BUILD_STATIC) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/gd.h" "ifdef NONDLL" "if 1") +endif() +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + string(REPLACE "_dynamic" "" suffix "_${VCPKG_LIBRARY_LINKAGE}") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/gdlib.pc" " -lgd" " -llibgd${suffix}") + if(NOT VCPKG_BUILD_TYPE) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/gdlib.pc" " -lgd" " -llibgd${suffix}") + endif() +endif() +vcpkg_fixup_pkgconfig() -file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +if(ENABLE_TOOLS) + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/${PORT}") + file(RENAME "${CURRENT_PACKAGES_DIR}/bin/bdftogd" "${CURRENT_PACKAGES_DIR}/tools/${PORT}/bdftogd") + vcpkg_list(SET tool_names gdcmpgif) + if(ENABLE_PNG) + vcpkg_list(APPEND tool_names gdtopng pngtogd) + endif() + if(NOT VCPKG_TARGET_IS_WINDOWS) + if(ENABLE_FREETYPE AND ENABLE_JPEG) + vcpkg_list(APPEND tool_names annotate) + endif() + if(ENABLE_PNG) + vcpkg_list(APPEND tool_names webpng) + endif() + endif() + vcpkg_copy_tools(TOOL_NAMES ${tool_names} AUTO_CLEAN) +endif() -vcpkg_fixup_pkgconfig() +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${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}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/libgd/usage b/ports/libgd/usage new file mode 100644 index 00000000000000..35bb9a49294290 --- /dev/null +++ b/ports/libgd/usage @@ -0,0 +1,6 @@ +libgd can be imported via CMake FindPkgConfig module: + + find_package(PkgConfig) + pkg_check_modules(LIBGD REQUIRED IMPORTED_TARGET gdlib) + + target_link_libraries(main PRIVATE PkgConfig::LIBGD) diff --git a/ports/libgd/vcpkg.json b/ports/libgd/vcpkg.json index 34ae61fac38ec0..eb0eb79251c0e3 100644 --- a/ports/libgd/vcpkg.json +++ b/ports/libgd/vcpkg.json @@ -1,9 +1,10 @@ { "name": "libgd", - "version-semver": "2.3.2", - "port-version": 1, + "version-semver": "2.3.3", + "port-version": 3, "description": "Open source code library for the dynamic creation of images by programmers.", "homepage": "https://github.com/libgd/libgd", + "license": "GD", "dependencies": [ { "name": "vcpkg-cmake", @@ -20,37 +21,44 @@ ], "features": { "fontconfig": { - "description": "Support for fontconfig", + "description": "Support for Fontconfig", "dependencies": [ "fontconfig" ] }, "freetype": { - "description": "Support for freetype", + "description": "Support for FreeType", "dependencies": [ "freetype" ] }, "jpeg": { - "description": "Support for jpeg", + "description": "Support for JPEG", "dependencies": [ "libjpeg-turbo" ] }, "png": { - "description": "Support for png", + "description": "Support for PNG", "dependencies": [ - "libpng" + "libpng", + "zlib" ] }, "tiff": { - "description": "Support for tiff", + "description": "Support for TIFF", "dependencies": [ - "tiff" + { + "name": "tiff", + "default-features": false + } ] }, + "tools": { + "description": "Build tools" + }, "webp": { - "description": "Support for webp", + "description": "Support for WebP", "dependencies": [ "libwebp" ] diff --git a/ports/libgeotiff/cmakelists.patch b/ports/libgeotiff/cmakelists.patch index 472ab6f7eb9686..8f41fcba88a3f7 100644 --- a/ports/libgeotiff/cmakelists.patch +++ b/ports/libgeotiff/cmakelists.patch @@ -1,21 +1,3 @@ -diff --git a/libgeotiff/bin/CMakeLists.txt b/libgeotiff/bin/CMakeLists.txt -index 7b12341..b6b1d0c 100644 ---- a/libgeotiff/bin/CMakeLists.txt -+++ b/libgeotiff/bin/CMakeLists.txt -@@ -22,12 +19,11 @@ MESSAGE(STATUS "Adding GeoTIFF utilities to build") - - FOREACH(utility ${GEOTIFF_UTILITIES}) - ADD_EXECUTABLE(${utility} ${utility}.c ${GETOPT_SOURCE}) -- TARGET_LINK_LIBRARIES(${utility} xtiff ${GEOTIFF_LIBRARY_TARGET}) -+ TARGET_LINK_LIBRARIES(${utility} ${GEOTIFF_LIBRARY_TARGET}) - ENDFOREACH() - - ADD_EXECUTABLE(geotifcp geotifcp.c ${GETOPT_SOURCE}) - TARGET_LINK_LIBRARIES(geotifcp -- xtiff - ${GEOTIFF_LIBRARY_TARGET} - ${JPEG_LIBRARIES} - ${ZLIB_LIBRARIES}) diff --git a/libgeotiff/cmake/CMakeLists.txt b/libgeotiff/cmake/CMakeLists.txt index 47a2b00..3809ba3 100644 --- a/libgeotiff/cmake/CMakeLists.txt @@ -33,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/fix-staticbuild.patch b/ports/libgeotiff/fix-staticbuild.patch deleted file mode 100644 index 5b47a5daba7842..00000000000000 --- a/ports/libgeotiff/fix-staticbuild.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/libgeotiff/CMakeLists.txt b/libgeotiff/CMakeLists.txt -index b4a3cee..fd9f0a5 100644 ---- a/libgeotiff/CMakeLists.txt -+++ b/libgeotiff/CMakeLists.txt -@@ -80,7 +80,11 @@ SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib) - - IF(WIN32) - IF(MSVC) -+ IF(BUILD_SHARED_LIBS) - ADD_DEFINITIONS(-DBUILD_AS_DLL=1) -+ ELSE() -+ ADD_DEFINITIONS(-DBUILD_AS_DLL=0) -+ ENDIF() - ADD_DEFINITIONS(/DW4) - if (NOT (MSVC_VERSION VERSION_LESS 1400)) - ADD_DEFINITIONS(-D_CRT_SECURE_NO_DEPRECATE) diff --git a/ports/libgeotiff/geotiff-config.patch b/ports/libgeotiff/geotiff-config.patch deleted file mode 100644 index 59a9b4947ee52d..00000000000000 --- a/ports/libgeotiff/geotiff-config.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/libgeotiff/cmake/project-config.cmake.in b/libgeotiff/cmake/project-config.cmake.in -index dc5b999..2ce07fd 100644 ---- a/libgeotiff/cmake/project-config.cmake.in -+++ b/libgeotiff/cmake/project-config.cmake.in -@@ -23,6 +23,9 @@ message (STATUS "Reading ${CMAKE_CURRENT_LIST_FILE}") - message (STATUS - "@PROJECT_NAME@ configuration, version ${@PROJECT_NAME@_VERSION}") - -+include(CMakeFindDependencyMacro) -+find_dependency(PROJ) -+ - # Tell the user project where to find our headers and libraries - get_filename_component (_DIR ${CMAKE_CURRENT_LIST_FILE} PATH) - get_filename_component (_ROOT "${_DIR}/@PROJECT_ROOT_DIR@" ABSOLUTE) diff --git a/ports/libgeotiff/portfile.cmake b/ports/libgeotiff/portfile.cmake index 4cd525fa35f505..07486256c3feef 100644 --- a/ports/libgeotiff/portfile.cmake +++ b/ports/libgeotiff/portfile.cmake @@ -1,14 +1,11 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO OSGeo/libgeotiff - REF 7da5bacae7814c65ebb78f0b64e1141fbcb3de1e #v1.7.0 - SHA512 36047778fbbb4a533a7b65e7b32ab8c0955f59b95417b68b68e7ddd398191445e730e00271756213bf657cbf7cd5eb028b25d4b0741e5b309c78c207b4ec01c6 + REF ${VERSION} + SHA512 4cbe221ae72e1ebe8e0cf7036c2bca019633f82cab125dd5b78e524e80d2c05cbfced89f5dc35c7d6d8d1253cc0aaad751150353f773813a037d53ddaa3427f7 HEAD_REF master PATCHES cmakelists.patch - geotiff-config.patch - fix-staticbuild.patch - skip-doc-install.patch ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS @@ -20,12 +17,12 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}/libgeotiff" OPTIONS - -DGEOTIFF_BIN_SUBDIR=bin - -DGEOTIFF_DATA_SUBDIR=share -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} ) @@ -36,13 +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(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}") -file(INSTALL "${SOURCE_PATH}/libgeotiff/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/libgeotiff/LICENSE") diff --git a/ports/libgeotiff/skip-doc-install.patch b/ports/libgeotiff/skip-doc-install.patch deleted file mode 100644 index 9430751f649c00..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 b4a3cee..f838a36 100644 ---- a/libgeotiff/CMakeLists.txt -+++ b/libgeotiff/CMakeLists.txt -@@ -286,6 +286,7 @@ SET(GEOTIFF_LIB_DIR ${GEOTIFF_LIB_SUBDIR}) - SET(GEOTIFF_INCLUDE_DIR ${GEOTIFF_INCLUDE_SUBDIR}) - SET(GEOTIFF_DATA_DIR ${GEOTIFF_DATA_SUBDIR}) - -+if(0) - # Install doc files - INSTALL(FILES - AUTHORS ChangeLog COPYING INSTALL LICENSE README README_BIN README.WIN -@@ -294,6 +295,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 ec7a39eb07d484..7b3f114dd9587f 100644 --- a/ports/libgeotiff/vcpkg.json +++ b/ports/libgeotiff/vcpkg.json @@ -1,10 +1,18 @@ { "name": "libgeotiff", - "version": "1.7.0", + "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", "dependencies": [ - "proj4", + { + "name": "proj", + "default-features": false, + "features": [ + "tiff" + ] + }, { "name": "tiff", "default-features": false diff --git a/ports/libgig/portfile.cmake b/ports/libgig/portfile.cmake new file mode 100644 index 00000000000000..28504a0c9a8b33 --- /dev/null +++ b/ports/libgig/portfile.cmake @@ -0,0 +1,36 @@ +vcpkg_download_distfile(ARCHIVE + 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}" +) + +string(COMPARE EQUAL ${VCPKG_LIBRARY_LINKAGE} dynamic LIBGIG_BUILD_SHARED) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + tools LIBGIG_BUILD_TOOLS + tests LIBGIG_ENABLE_TESTING +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} + -DLIBGIG_BUILD_SHARED=${LIBGIG_BUILD_SHARED} +) + +vcpkg_cmake_install() +if("tools" IN_LIST FEATURES) + vcpkg_copy_tools(TOOL_NAMES dlsdump gigdump gigmerge korg2gig korgdump rifftree sf2dump + SEARCH_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bin") +endif() +vcpkg_cmake_config_fixup() +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/libgig/vcpkg.json b/ports/libgig/vcpkg.json new file mode 100644 index 00000000000000..637ec6e972c722 --- /dev/null +++ b/ports/libgig/vcpkg.json @@ -0,0 +1,32 @@ +{ + "name": "libgig", + "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": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "tests": { + "description": "Build test cases", + "dependencies": [ + "cppunit" + ] + }, + "tools": { + "description": "Build extra tools", + "dependencies": [ + "libsndfile" + ] + } + } +} diff --git a/ports/libgit2/c-standard.diff b/ports/libgit2/c-standard.diff new file mode 100644 index 00000000000000..8775f77243f0bb --- /dev/null +++ b/ports/libgit2/c-standard.diff @@ -0,0 +1,26 @@ +diff --git a/src/libgit2/CMakeLists.txt b/src/libgit2/CMakeLists.txt +index c2a97e1..8c5b2ea 100644 +--- a/src/libgit2/CMakeLists.txt ++++ b/src/libgit2/CMakeLists.txt +@@ -2,7 +2,7 @@ + # git library functionality. + + add_library(libgit2 OBJECT) +-set_target_properties(libgit2 PROPERTIES C_STANDARD 90) ++set_target_properties(libgit2 PROPERTIES C_STANDARD 99) + set_target_properties(libgit2 PROPERTIES C_EXTENSIONS OFF) + + include(PkgBuildConfig) +diff --git a/src/util/CMakeLists.txt b/src/util/CMakeLists.txt +index ee35eb9..158fac2 100644 +--- a/src/util/CMakeLists.txt ++++ b/src/util/CMakeLists.txt +@@ -1,7 +1,7 @@ + # util: a shared library for common utility functions for libgit2 projects + + add_library(util OBJECT) +-set_target_properties(util PROPERTIES C_STANDARD 90) ++set_target_properties(util PROPERTIES C_STANDARD 99) + set_target_properties(util PROPERTIES C_EXTENSIONS OFF) + + configure_file(git2_features.h.in git2_features.h) diff --git a/ports/libgit2/cli-include-dirs.diff b/ports/libgit2/cli-include-dirs.diff new file mode 100644 index 00000000000000..e2a779c820f834 --- /dev/null +++ b/ports/libgit2/cli-include-dirs.diff @@ -0,0 +1,12 @@ +diff --git a/src/cli/CMakeLists.txt b/src/cli/CMakeLists.txt +index 84b6c19..df2119c 100644 +--- a/src/cli/CMakeLists.txt ++++ b/src/cli/CMakeLists.txt +@@ -46,6 +46,7 @@ set_target_properties(git2_cli PROPERTIES OUTPUT_NAME ${LIBGIT2_FILENAME}) + ide_split_sources(git2_cli) + + target_include_directories(git2_cli PRIVATE ${CLI_INCLUDES}) ++target_include_directories(git2_cli SYSTEM PRIVATE ${LIBGIT2_SYSTEM_INCLUDES}) + + if(MSVC_IDE) + # Precompiled headers diff --git a/ports/libgit2/dependencies.diff b/ports/libgit2/dependencies.diff new file mode 100644 index 00000000000000..092db7241c1320 --- /dev/null +++ b/ports/libgit2/dependencies.diff @@ -0,0 +1,43 @@ +diff --git a/cmake/SelectRegex.cmake b/cmake/SelectRegex.cmake +index 2a3a91b..523fa72 100644 +--- a/cmake/SelectRegex.cmake ++++ b/cmake/SelectRegex.cmake +@@ -17,7 +17,9 @@ if(REGEX_BACKEND STREQUAL "regcomp_l") + add_feature_info(regex ON "using system regcomp_l") + set(GIT_REGEX_REGCOMP_L 1) + elseif(REGEX_BACKEND STREQUAL "pcre2") +- find_package(PCRE2) ++ find_package(PkgConfig REQUIRED) ++ pkg_check_modules(PCRE2 REQUIRED libpcre2-8) ++ set(PCRE2_LIBRARIES "${PCRE2_LINK_LIBRARIES}") + + if(NOT PCRE2_FOUND) + MESSAGE(FATAL_ERROR "PCRE2 support was requested but not found") +@@ -33,6 +35,9 @@ elseif(REGEX_BACKEND STREQUAL "pcre") + add_feature_info(regex ON "using system PCRE") + set(GIT_REGEX_PCRE 1) + ++ find_package(PkgConfig REQUIRED) ++ pkg_check_modules(PCRE REQUIRED libpcre) ++ set(PCRE_LIBRARIES "${PCRE_LINK_LIBRARIES}") + list(APPEND LIBGIT2_SYSTEM_INCLUDES ${PCRE_INCLUDE_DIRS}) + list(APPEND LIBGIT2_SYSTEM_LIBS ${PCRE_LIBRARIES}) + list(APPEND LIBGIT2_PC_REQUIRES "libpcre") +diff --git a/cmake/SelectSSH.cmake b/cmake/SelectSSH.cmake +index 079857f50..a2e2bd212 100644 +--- a/cmake/SelectSSH.cmake ++++ b/cmake/SelectSSH.cmake +@@ -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) + diff --git a/ports/libgit2/mingw-winhttp.diff b/ports/libgit2/mingw-winhttp.diff new file mode 100644 index 00000000000000..419375f08d717c --- /dev/null +++ b/ports/libgit2/mingw-winhttp.diff @@ -0,0 +1,13 @@ +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 +- if(MINGW) ++ if(0) + add_subdirectory("${PROJECT_SOURCE_DIR}/deps/winhttp" "${PROJECT_BINARY_DIR}/deps/winhttp") + list(APPEND LIBGIT2_SYSTEM_LIBS winhttp) + list(APPEND LIBGIT2_DEPENDENCY_INCLUDES "${PROJECT_SOURCE_DIR}/deps/winhttp") diff --git a/ports/libgit2/portfile.cmake b/ports/libgit2/portfile.cmake index 2949be645ba946..ffb3618a82b704 100644 --- a/ports/libgit2/portfile.cmake +++ b/ports/libgit2/portfile.cmake @@ -1,18 +1,31 @@ -# libgit2 uses winapi functions not available in WindowsStore -vcpkg_fail_port_install(ON_TARGET "uwp") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libgit2/libgit2 - REF v1.3.0 - SHA512 842a648a67ff23ba9e6bf14b706ba9081164866e14000ebf3858442b7046925f05e1dbf00a7d740dc4bf32280e260730e23a9492e817094aa90736ae335ee76e - HEAD_REF master + 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 +) +file(REMOVE_RECURSE + "${SOURCE_PATH}/cmake/FindPCRE.cmake" + "${SOURCE_PATH}/cmake/FindPCRE2.cmake" + "${SOURCE_PATH}/deps/chromium-zlib" + "${SOURCE_PATH}/deps/http-parser" + "${SOURCE_PATH}/deps/pcre" + "${SOURCE_PATH}/deps/winhttp" + "${SOURCE_PATH}/deps/zlib" ) 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) @@ -36,20 +49,16 @@ foreach(GIT2_FEATURE ${FEATURES}) elseif(GIT2_FEATURE STREQUAL "openssl") set_tls_backend("OpenSSL") elseif(GIT2_FEATURE STREQUAL "winhttp") - if(NOT VCPKG_TARGET_IS_WINDOWS) - message(FATAL_ERROR "winhttp is not supported on non-Windows and uwp platforms") - endif() set_tls_backend("WinHTTP") elseif(GIT2_FEATURE STREQUAL "sectransp") - if(NOT VCPKG_TARGET_IS_OSX) - message(FATAL_ERROR "sectransp is not supported on non-Apple platforms") - endif() set_tls_backend("SecureTransport") elseif(GIT2_FEATURE STREQUAL "mbedtls") - if(VCPKG_TARGET_IS_WINDOWS) - message(FATAL_ERROR "mbedtls is not supported on Windows because a certificate file must be specified at compile time") - endif() 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() @@ -57,26 +66,53 @@ if(NOT REGEX_BACKEND) message(FATAL_ERROR "Must choose pcre or pcre2 regex backend") endif() +vcpkg_find_acquire_program(PKGCONFIG) + vcpkg_check_features( OUT_FEATURE_OPTIONS GIT2_FEATURES FEATURES - ssh USE_SSH + tools BUILD_CLI ) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DBUILD_CLAR=OFF + -DBUILD_TESTS=OFF -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 ${GIT2_FEATURES} + OPTIONS_DEBUG + -DBUILD_CLI=OFF + MAYBE_UNUSED_VARIABLES + STATIC_CRT ) vcpkg_cmake_install() vcpkg_fixup_pkgconfig() +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/unofficial-git2-config.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/unofficial-git2") +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/unofficial-libgit2-config.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/unofficial-libgit2") +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-libgit2 CONFIG_PATH share/unofficial-libgit2) + +if("tools" IN_LIST FEATURES) + vcpkg_copy_tools(TOOL_NAMES git2 AUTO_CLEAN) +endif() + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -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}") + +set(file_list "${SOURCE_PATH}/COPYING") +if(NOT VCPKG_TARGET_IS_WINDOWS) + file(WRITE "${CURRENT_BUILDTREES_DIR}/Notice for ntlmclient" [[ +Copyright (c) Edward Thomson. All rights reserved. +These source files are part of ntlmclient, distributed under the MIT license. +]]) + list(APPEND file_list "${CURRENT_BUILDTREES_DIR}/Notice for ntlmclient") +endif() +vcpkg_install_copyright(FILE_LIST ${file_list}) diff --git a/ports/libgit2/unofficial-config-export.diff b/ports/libgit2/unofficial-config-export.diff new file mode 100644 index 00000000000000..084c83903755ae --- /dev/null +++ b/ports/libgit2/unofficial-config-export.diff @@ -0,0 +1,21 @@ +diff --git a/src/libgit2/CMakeLists.txt b/src/libgit2/CMakeLists.txt +index dcb4279..20acdc8 100644 +--- a/src/libgit2/CMakeLists.txt ++++ b/src/libgit2/CMakeLists.txt +@@ -128,10 +128,16 @@ FILE(WRITE "${PROJECT_BINARY_DIR}/include/${LIBGIT2_FILENAME}.h" ${LIBGIT2_INCLU + + # Install + ++target_include_directories(libgit2package SYSTEM PUBLIC $) + install(TARGETS libgit2package ++ EXPORT unofficial-libgit2-targets + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++install(EXPORT unofficial-libgit2-targets ++ NAMESPACE unofficial::libgit2:: ++ DESTINATION share/unofficial-libgit2 ++) + install(DIRECTORY ${PROJECT_SOURCE_DIR}/include/git2/ + DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/${LIBGIT2_FILENAME}") + install(FILES ${PROJECT_BINARY_DIR}/include/git2/experimental.h diff --git a/ports/libgit2/unofficial-git2-config.cmake b/ports/libgit2/unofficial-git2-config.cmake new file mode 100644 index 00000000000000..9f407fcc2adbc5 --- /dev/null +++ b/ports/libgit2/unofficial-git2-config.cmake @@ -0,0 +1,6 @@ +file(READ "${CMAKE_CURRENT_LIST_DIR}/../unofficial-libgit2/usage" usage) +message(WARNING "find_package(unofficial-git2) is deprecated.\n${usage}") +include(CMakeFindDependencyMacro) +find_dependency(unofficial-libgit2 CONFIG) +add_library(unofficial::git2::libgit2package INTERFACE IMPORTED) +set_target_properties(unofficial::git2::libgit2package PROPERTIES INTERFACE_LINK_LIBRARIES unofficial::libgit2::libgit2package) diff --git a/ports/libgit2/unofficial-libgit2-config.cmake b/ports/libgit2/unofficial-libgit2-config.cmake new file mode 100644 index 00000000000000..01ebca678ed6cf --- /dev/null +++ b/ports/libgit2/unofficial-libgit2-config.cmake @@ -0,0 +1,3 @@ +include("${CMAKE_CURRENT_LIST_DIR}/unofficial-libgit2-targets.cmake") +add_library(unofficial::libgit2::libgit2 INTERFACE IMPORTED) +set_target_properties(unofficial::libgit2::libgit2 PROPERTIES INTERFACE_LINK_LIBRARIES unofficial::libgit2::libgit2package) diff --git a/ports/libgit2/usage b/ports/libgit2/usage new file mode 100644 index 00000000000000..8ed1d2efabe2d3 --- /dev/null +++ b/ports/libgit2/usage @@ -0,0 +1,11 @@ +libgit2 can be imported via CMake FindPkgConfig module: + + find_package(PkgConfig REQUIRED) + pkg_check_modules(LIBGIT2 REQUIRED IMPORTED_TARGET libgit2) + target_link_libraries(main PRIVATE PkgConfig::LIBGIT2) + +vcpkg provides proprietary CMake targets: + + find_package(unofficial-libgit2 CONFIG REQUIRED) + target_link_libraries(main PRIVATE unofficial::libgit2::libgit2) + diff --git a/ports/libgit2/vcpkg.json b/ports/libgit2/vcpkg.json index cc19ad4bc17e4b..c9e9fa8aa09e90 100644 --- a/ports/libgit2/vcpkg.json +++ b/ports/libgit2/vcpkg.json @@ -1,9 +1,9 @@ { "name": "libgit2", - "version-semver": "1.3.0", - "port-version": 1, - "description": "Git linkable library", + "version-semver": "1.8.0", + "description": "A C library implementing the Git core methods with a solid API", "homepage": "https://github.com/libgit2/libgit2", + "license": null, "supports": "!uwp", "dependencies": [ "http-parser", @@ -11,6 +11,10 @@ "name": "vcpkg-cmake", "host": true }, + { + "name": "vcpkg-cmake-config", + "host": true + }, "zlib" ], "default-features": [ @@ -20,6 +24,7 @@ "features": { "mbedtls": { "description": "SSL support (mbedTLS)", + "supports": "!windows", "dependencies": [ "mbedtls" ] @@ -43,18 +48,12 @@ ] }, "sectransp": { - "description": "SSL support (sectransp)" + "description": "SSL support (sectransp)", + "supports": "osx" }, "ssh": { "description": "SSH support via libssh2", "dependencies": [ - { - "name": "libgit2", - "default-features": false, - "features": [ - "openssl" - ] - }, "libssh2" ] }, @@ -87,8 +86,12 @@ } ] }, + "tools": { + "description": "Build CLI tools" + }, "winhttp": { - "description": "SSL support (WinHTTP)" + "description": "SSL support (WinHTTP)", + "supports": "windows & !uwp" } } } diff --git a/ports/libgme/disable-player-and-demo.patch b/ports/libgme/disable-player-and-demo.patch new file mode 100644 index 00000000000000..79315167a15bd9 --- /dev/null +++ b/ports/libgme/disable-player-and-demo.patch @@ -0,0 +1,10 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 6b352102db48f265448a35b731cb712b8e112d39..62349bd48ddd3d6c44e6ee68243605781814de2f 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -102,5 +102,3 @@ endif () + add_subdirectory(gme) + + # EXCLUDE_FROM_ALL adds build rules but keeps it out of default build +-add_subdirectory(player EXCLUDE_FROM_ALL) +-add_subdirectory(demo EXCLUDE_FROM_ALL) diff --git a/ports/libgme/disable-static-zlib-hack.patch b/ports/libgme/disable-static-zlib-hack.patch new file mode 100644 index 00000000000000..616482ef5075f8 --- /dev/null +++ b/ports/libgme/disable-static-zlib-hack.patch @@ -0,0 +1,13 @@ +diff --git a/gme/CMakeLists.txt b/gme/CMakeLists.txt +index b1b2bf0aee0d79dbeb76fd46756ad9709af57ae3..aacb5a8067f77cfeac560d65cc1538dd75008c9b 100644 +--- a/gme/CMakeLists.txt ++++ b/gme/CMakeLists.txt +@@ -17,7 +17,7 @@ set(libgme_SRCS Blip_Buffer.cpp + # static builds need to find static zlib (and static forms of other needed + # libraries. Ensure CMake looks only for static libs if we're doing a static + # build. See https://stackoverflow.com/a/44738756 +-if(NOT BUILD_SHARED_LIBS) ++if(0) + set(CMAKE_FIND_LIBRARY_SUFFIXES ".a") + endif() + diff --git a/ports/libgme/portfile.cmake b/ports/libgme/portfile.cmake new file mode 100644 index 00000000000000..72b20746b4717a --- /dev/null +++ b/ports/libgme/portfile.cmake @@ -0,0 +1,66 @@ +vcpkg_from_bitbucket( + OUT_SOURCE_PATH SOURCE_PATH + REPO mpyne/game-music-emu + REF "${VERSION}" + SHA512 3d5e0dafb7ba239fb1c4cebf47c7e195a350bfe7a43606deff1ecff1ab21a0aac47343205004c0aba06ae249a0e186122c1b7dec06fc52272d4baaea9a480796 + PATCHES + disable-player-and-demo.patch + disable-static-zlib-hack.patch +) + +# This file is generated during the CMake build +file(REMOVE "${SOURCE_PATH}/gme/gme_types.h") + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + ay USE_GME_AY + gbs USE_GME_GBS + gym USE_GME_GYM + hes USE_GME_HES + kss USE_GME_KSS + nsf USE_GME_NSF + nsfe USE_GME_NSFE + sap USE_GME_SAP + spc USE_GME_SPC + vgm USE_GME_VGM + spc-isolated-echo-buffer GME_SPC_ISOLATED_ECHO_BUFFER +) + +set(CMAKE_DISABLE_FIND_PACKAGE_ZLIB ON) +set(CMAKE_REQUIRE_FIND_PACKAGE_ZLIB OFF) +if("vgm" IN_LIST FEATURES) + set(CMAKE_DISABLE_FIND_PACKAGE_ZLIB OFF) + set(CMAKE_REQUIRE_FIND_PACKAGE_ZLIB ON) +endif() + +if("vgm" IN_LIST FEATURES OR "gym" IN_LIST FEATURES) + set(GME_YM2612_EMU Nuked) + message(STATUS "This version of libgme uses the Nuked YM2612 emulator. To use the MAME or GENS instead, create an overlay port of this with GME_YM2612_EMU set to \"MAME\" or \"GENS\" accordingly.") + 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 + ${FEATURE_OPTIONS} + -DGME_YM2612_EMU=${GME_YM2612_EMU} + -DCMAKE_DISABLE_FIND_PACKAGE_ZLIB=${CMAKE_DISABLE_FIND_PACKAGE_ZLIB} + -DCMAKE_REQUIRE_FIND_PACKAGE_ZLIB=${CMAKE_REQUIRE_FIND_PACKAGE_ZLIB} + -DENABLE_UBSAN=OFF + MAYBE_UNUSED_VARIABLES + GME_YM2612_EMU + GME_SPC_ISOLATED_ECHO_BUFFER +) + +vcpkg_cmake_install() +vcpkg_fixup_pkgconfig() + +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" +) + +file(GLOB LICENSE_FILES "${SOURCE_PATH}/license*") +vcpkg_install_copyright(FILE_LIST ${LICENSE_FILES}) diff --git a/ports/libgme/vcpkg.json b/ports/libgme/vcpkg.json new file mode 100644 index 00000000000000..5db9f020d7c828 --- /dev/null +++ b/ports/libgme/vcpkg.json @@ -0,0 +1,63 @@ +{ + "name": "libgme", + "version": "0.6.3", + "description": "Video game music file emulation/playback library", + "homepage": "https://bitbucket.org/mpyne/game-music-emu/wiki/Home", + "license": "LGPL-2.1-or-later OR GPL-2.0-or-later", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ], + "default-features": [ + "ay", + "gbs", + "gym", + "hes", + "kss", + "nsf", + "nsfe", + "sap", + "spc", + "vgm" + ], + "features": { + "ay": { + "description": "Enable Spectrum ZX music emulation" + }, + "gbs": { + "description": "Enable Game Boy music emulation" + }, + "gym": { + "description": "Enable Sega MegaDrive/Genesis music emulation" + }, + "hes": { + "description": "Enable PC Engine/TurboGrafx-16 music emulation" + }, + "kss": { + "description": "Enable MSX or other Z80 systems music emulation" + }, + "nsf": { + "description": "Enable NES NSF music emulation" + }, + "nsfe": { + "description": "Enable NES NSFE and NSF music emulation" + }, + "sap": { + "description": "Enable Atari SAP music emulation" + }, + "spc": { + "description": "Enable SNES SPC music emulation" + }, + "spc-isolated-echo-buffer": { + "description": "Enable isolated echo buffer on SPC emulator to allow correct playing of \"dodgy\" SPC files made for various ROM hacks ran on ZSNES" + }, + "vgm": { + "description": "Enable Sega VGM/VGZ music emulation", + "dependencies": [ + "zlib" + ] + } + } +} 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 a6d074f062326d..7120e661310235 100644 --- a/ports/libgnutls/portfile.cmake +++ b/ports/libgnutls/portfile.cmake @@ -1,48 +1,73 @@ -set(GNUTLS_BRANCH 3.6) -set(GNUTLS_VERSION ${GNUTLS_BRANCH}.15) -set(GNUTLS_HASH f757d1532198f44bcad7b73856ce6a05bab43f6fb77fcc81c59607f146202f73023d0796d3e1e7471709cf792c8ee7d436e19407e0601bc0bda2f21512b3b01c) - -vcpkg_download_distfile(ARCHIVE - URLS "https://www.gnupg.org/ftp/gcrypt/gnutls/v${GNUTLS_BRANCH}/gnutls-${GNUTLS_VERSION}.tar.xz" - FILENAME "gnutls-${GNUTLS_VERSION}.tar.xz" - SHA512 ${GNUTLS_HASH} +string(REGEX REPLACE "^([0-9]*[.][0-9]*)[.].*" "\\1" GNUTLS_BRANCH "${VERSION}") +vcpkg_download_distfile(tarball + URLS + "https://gnupg.org/ftp/gcrypt/gnutls/v${GNUTLS_BRANCH}/gnutls-${VERSION}.tar.xz" + "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 429cea78e227d838105791b28a18270c3d2418bfb951c322771e6323d5f712204d63d66a6606ce9604a92d236a8dd07d651232c717264472d27eb6de26ddc733 ) - -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE "${ARCHIVE}" - REF ${GNUTLS_VERSION} +vcpkg_extract_source_archive(SOURCE_PATH + ARCHIVE "${tarball}" + SOURCE_BASE "v${VERSION}" + PATCHES + ccasflags.patch + use-gmp-pkgconfig.patch + compression-libs.diff ) -if(VCPKG_TARGET_IS_OSX) - set(LDFLAGS "-framework CoreFoundation") +vcpkg_list(SET options) + +if("nls" IN_LIST FEATURES) + vcpkg_list(APPEND options "--enable-nls") else() - set(LDFLAGS "") + set(ENV{AUTOPOINT} true) # true, the program + vcpkg_list(APPEND options "--disable-nls") endif() - if ("openssl" IN_LIST FEATURES) - set(OPENSSL_COMPATIBILITY "--enable-openssl-compatibility") + vcpkg_list(APPEND options "--enable-openssl-compatibility") +endif() + +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_list(APPEND options "LIBS=\$LIBS -liconv -lcharset") # for libunistring +endif() + +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 vcpkg_configure_make( SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG OPTIONS + --disable-dependency-tracking --disable-doc - --disable-silent-rules - --disable-tests + --disable-guile + --disable-libdane --disable-maintainer-mode --disable-rpath - --disable-libdane - --with-included-unistring - --without-p11-kit - --without-tpm - ${OPENSSL_COMPATIBILITY} - "LDFLAGS=${LDFLAGS}" + --disable-tests + --with-brotli=no + --with-p11-kit=no + --with-tpm=no + --with-tpm2=no + --with-zstd=no + --with-zlib=yes + ${options} + YACC=false # false, the program - not used here + OPTIONS_DEBUG + --disable-tools ) - vcpkg_install_make() vcpkg_fixup_pkgconfig() -vcpkg_copy_pdbs() +vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin") file(REMOVE_RECURSE "${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" + "${SOURCE_PATH}/doc/COPYING" + "${SOURCE_PATH}/doc/COPYING.LESSER" +) diff --git a/ports/libgnutls/use-gmp-pkgconfig.patch b/ports/libgnutls/use-gmp-pkgconfig.patch new file mode 100644 index 00000000000000..60d2e718125c72 --- /dev/null +++ b/ports/libgnutls/use-gmp-pkgconfig.patch @@ -0,0 +1,12 @@ +diff --git a/m4/hooks.m4 b/m4/hooks.m4 +index e026dd1..cf6064c 100644 +--- a/m4/hooks.m4 ++++ b/m4/hooks.m4 +@@ -91,6 +91,7 @@ AC_MSG_ERROR([[ + mini_nettle=$withval, + mini_nettle=no) + ++ PKG_CHECK_MODULES(GMP, [gmp], [], [AC_MSG_ERROR([[gmp is required]])]) + 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 diff --git a/ports/libgnutls/vcpkg.json b/ports/libgnutls/vcpkg.json index 1d48006bedcdab..7ec0ba63cdc348 100644 --- a/ports/libgnutls/vcpkg.json +++ b/ports/libgnutls/vcpkg.json @@ -1,20 +1,34 @@ { "name": "libgnutls", - "version": "3.6.15", - "port-version": 2, - "description": "A secure communications library implementing the SSL, TLS and DTLS protocols", + "version": "3.8.7.1", + "description": "A secure communications library implementing the SSL, TLS and DTLS protocols.", "homepage": "https://www.gnutls.org/", - "supports": "!windows", + "license": null, + "supports": "!windows | mingw", "dependencies": [ - "gettext", "gmp", "libidn2", "libtasn1", - "nettle" + "libunistring", + "nettle", + "zlib" ], "features": { + "nls": { + "description": "Enable native language support.", + "dependencies": [ + { + "name": "gettext", + "host": true, + "features": [ + "tools" + ] + }, + "gettext-libintl" + ] + }, "openssl": { - "description": "enables the OpenSSL compatibility library" + "description": "Enable the OpenSSL compatibility library." } } } diff --git a/ports/libgo/Add-target-include-directory.patch b/ports/libgo/Add-target-include-directory.patch new file mode 100644 index 00000000000000..fe4dffea1160cb --- /dev/null +++ b/ports/libgo/Add-target-include-directory.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e21eee0..017cc7a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -176,6 +176,8 @@ if (WIN32) + set_target_properties(${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "/wd4819 /wd4267") + endif() + ++TARGET_INCLUDE_DIRECTORIES(${PROJECT_NAME} INTERFACE $) ++ + install(TARGETS ${PROJECT_NAME} + EXPORT "${PROJECT_NAME}Config" + LIBRARY DESTINATION lib diff --git a/ports/libgo/portfile.cmake b/ports/libgo/portfile.cmake index e365ee3a118321..826a162b434ed1 100644 --- a/ports/libgo/portfile.cmake +++ b/ports/libgo/portfile.cmake @@ -1,4 +1,3 @@ -vcpkg_fail_port_install(ON_ARCH "arm" "arm64" ON_TARGET "uwp") vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( @@ -9,6 +8,7 @@ vcpkg_from_github( HEAD_REF master PATCHES cmake.patch + Add-target-include-directory.patch ) vcpkg_from_github( diff --git a/ports/libgo/vcpkg.json b/ports/libgo/vcpkg.json index 47377a3e87b270..c8be7a4ca42a1d 100644 --- a/ports/libgo/vcpkg.json +++ b/ports/libgo/vcpkg.json @@ -1,9 +1,10 @@ { "name": "libgo", "version": "3.1", - "port-version": 3, + "port-version": 5, "description": "The best stackful coroutine by c++11.", "homepage": "https://github.com/yyzybb537/libgo", + "license": "MIT", "supports": "!(arm | uwp)", "dependencies": [ { diff --git a/ports/libgpg-error/add_cflags_to_tools.patch b/ports/libgpg-error/add_cflags_to_tools.patch deleted file mode 100644 index 53c86bef8b9271..00000000000000 --- a/ports/libgpg-error/add_cflags_to_tools.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff --git a/src/Makefile.am b/src/Makefile.am -index fc3acc3..9a86251 100644 ---- a/src/Makefile.am -+++ b/src/Makefile.am -@@ -279,14 +279,14 @@ gpg-error.def: Makefile gpg-error.def.in - # It is correct to use $(CC_FOR_BUILD) here. We want to run the - # program at build time. - mkerrcodes$(EXEEXT_FOR_BUILD): mkerrcodes.c mkerrcodes.h Makefile -- $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(LDFLAGS_FOR_BUILD) \ -+ $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(CFLAGS) $(LDFLAGS_FOR_BUILD) \ - $(CPPFLAGS_FOR_BUILD) -I. -I$(srcdir) -o $@ $(srcdir)/mkerrcodes.c - - if HAVE_W32CE_SYSTEM - # It is correct to use $(CC_FOR_BUILD) here. We want to run the - # program at build time. - mkw32errmap$(EXEEXT_FOR_BUILD): mkw32errmap.c mkw32errmap.tab.h Makefile -- $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(LDFLAGS_FOR_BUILD) \ -+ $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(CFLAGS) $(LDFLAGS_FOR_BUILD) \ - $(CPPFLAGS_FOR_BUILD) -I. -I$(srcdir) -o $@ $(srcdir)/mkw32errmap.c - endif - -@@ -300,7 +300,7 @@ errnos-sym.h: Makefile mkstrtable.awk errnos.in - - - mkheader$(EXEEXT_FOR_BUILD): mkheader.c Makefile -- $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(LDFLAGS_FOR_BUILD) \ -+ $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(CFLAGS) $(LDFLAGS_FOR_BUILD) \ - $(CPPFLAGS_FOR_BUILD) -g -I. -I$(srcdir) -o $@ $(srcdir)/mkheader.c - - parts_of_gpg_error_h = \ diff --git a/ports/libgpg-error/cross-tools.patch b/ports/libgpg-error/cross-tools.patch new file mode 100644 index 00000000000000..691927319187fd --- /dev/null +++ b/ports/libgpg-error/cross-tools.patch @@ -0,0 +1,41 @@ +diff --git a/src/Makefile.am b/src/Makefile.am +index 9a86251..00cc2fd 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -17,6 +17,12 @@ + # License along with this program; if not, see . + # SPDX-License-Identifier: LGPL-2.1+ + ++# Building host tools for native triplet, or not at all ++CPPFLAGS_FOR_BUILD = $(CPPFLAGS) ++CFLAGS_FOR_BUILD = $(CFLAGS) ++LDFLAGS_FOR_BUILD = $(LDFLAGS) ++# Using native tools, either this build or from host triplet ++HOST_TOOLS_PREFIX ?= . + + # + # We distribute the generated sources err-sources.h and err-codes.h, +@@ -261,8 +267,8 @@ mkerrcodes$(EXEEXT_FOR_BUILD): mkerrcodes.c mkerrcodes.h Makefile + $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(LDFLAGS_FOR_BUILD) \ + $(CPPFLAGS_FOR_BUILD) -I. -I$(srcdir) -o $@ $(srcdir)/mkerrcodes.c + +-code-from-errno.h: mkerrcodes$(EXEEXT_FOR_BUILD) Makefile +- ./mkerrcodes$(EXEEXT_FOR_BUILD) | $(AWK) -f $(srcdir)/mkerrcodes2.awk >$@ ++code-from-errno.h: $(HOST_TOOLS_PREFIX)/mkerrcodes$(EXEEXT_FOR_BUILD) Makefile ++ $(HOST_TOOLS_PREFIX)/mkerrcodes$(EXEEXT_FOR_BUILD) | $(AWK) -f $(srcdir)/mkerrcodes2.awk >$@ + + errnos-sym.h: Makefile mkstrtable.awk errnos.in + $(AWK) -f $(srcdir)/mkstrtable.awk -v textidx=2 -v nogettext=1 \ +@@ -306,10 +312,10 @@ endif + + # We also depend on versioninfo.rc because that is build by + # config.status and thus has up-to-date version numbers. +-gpg-error.h: Makefile mkheader$(EXEEXT_FOR_BUILD) $(parts_of_gpg_error_h) \ ++gpg-error.h: Makefile $(HOST_TOOLS_PREFIX)/mkheader$(EXEEXT_FOR_BUILD) $(parts_of_gpg_error_h) \ + versioninfo.rc ../config.h + $(pre_mkheader_cmds) +- ./mkheader$(EXEEXT_FOR_BUILD) $(mkheader_opts) \ ++ $(HOST_TOOLS_PREFIX)/mkheader$(EXEEXT_FOR_BUILD) $(mkheader_opts) \ + $(host_triplet) $(srcdir)/gpg-error.h.in \ + ../config.h $(PACKAGE_VERSION) $(VERSION_NUMBER) >$@ + diff --git a/ports/libgpg-error/gpgrt-config.patch b/ports/libgpg-error/gpgrt-config.patch new file mode 100644 index 00000000000000..926b88af905ea0 --- /dev/null +++ b/ports/libgpg-error/gpgrt-config.patch @@ -0,0 +1,51 @@ +diff --git a/src/gpgrt-config.in b/src/gpgrt-config.in +index bada0f2..8c03a05 100644 +--- a/src/gpgrt-config.in ++++ b/src/gpgrt-config.in +@@ -78,7 +78,7 @@ substitute_vars () { + esac + done + +- echo "$__result" ++ echo "$__result" | sed -e 's,",,g' + } + + # +@@ -132,7 +132,6 @@ EOF2 + *:|*:\ ) ;; + *) + echo "Error reading $_filename: $_line" 1>&2 +- exit 1 + ;; + esac + fi +@@ -166,6 +165,7 @@ read_config_file () { + fi + exit 1 + fi ++ VAR_pcfiledir="${RESULT%/*}" \ + read_config_from_stdin $RESULT < $RESULT + } + +@@ -540,6 +540,11 @@ while test $# -gt 0; do + ;; + esac + done ++vcpkg_prefix=$(echo "$0" | sed -e 's,^\([a-zA-Z]\):/,/\1/,') ++case "$vcpkg_prefix" in ++*/tools/libgpg-error/debug/bin/gpgrt-config) libdir="${vcpkg_prefix%/*/*/*/*/*}/debug/lib" ;; ++*/tools/libgpg-error/bin/gpgrt-config) libdir="${vcpkg_prefix%/*/*/*/*}/lib" ;; ++esac + + if env | grep '^PKG_CONFIG_LIBDIR=$' >/dev/null 2>&1; then + # The variable set as empty, we use PKG_CONFIG_PATH in this case, +@@ -598,7 +603,8 @@ output="" + + mt="no" + +-VAR_list=VAR_pc_sysrootdir ++VAR_list="VAR_pcfiledir VAR_pc_sysrootdir" ++VAR_pcfiledir="" + if [ -z "$PKG_CONFIG_SYSROOT_DIR" ]; then + VAR_pc_sysrootdir="/" + else diff --git a/ports/libgpg-error/pkgconfig-libintl.patch b/ports/libgpg-error/pkgconfig-libintl.patch new file mode 100644 index 00000000000000..6a9540715e0432 --- /dev/null +++ b/ports/libgpg-error/pkgconfig-libintl.patch @@ -0,0 +1,11 @@ +diff --git a/src/gpg-error.pc.in b/src/gpg-error.pc.in +index 970bb6c..a51c9d3 100644 +--- a/src/gpg-error.pc.in ++++ b/src/gpg-error.pc.in +@@ -11,5 +11,5 @@ Description: GPG Runtime + Version: @PACKAGE_VERSION@ + Cflags: @GPG_ERROR_CONFIG_CFLAGS@ + Libs: @GPG_ERROR_CONFIG_LIBS@ +-Libs.private: @GPG_ERROR_CONFIG_LIBS_PRIVATE@ ++Libs.private: @GPG_ERROR_CONFIG_LIBS_PRIVATE@ @LIBINTL@ + URL: https://www.gnupg.org/software/libgpg-error/index.html diff --git a/ports/libgpg-error/portfile.cmake b/ports/libgpg-error/portfile.cmake index 17d26617d24996..9c85d1191d25ef 100644 --- a/ports/libgpg-error/portfile.cmake +++ b/ports/libgpg-error/portfile.cmake @@ -1,98 +1,58 @@ -set (PACKAGE_VERSION 1.42) - -if(VCPKG_TARGET_IS_WINDOWS) - message(WARNING "libgpg-error on Windows uses a fork managed by the ShiftMediaProject: https://shiftmediaproject.github.io/") - vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO ShiftMediaProject/libgpg-error - REF libgpg-error-${PACKAGE_VERSION} - SHA512 2dbf41e28196f4b99d641a430e6e77566ae2d389bbe9d6f6e310d56a5ca90de9b9ae225a3eee979fe4606d36878d3db6f777162d697de717b4748151dd3525d0 - HEAD_REF master - PATCHES - outdir.patch - runtime.patch - ) - - if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - set(CONFIGURATION_RELEASE ReleaseDLL) - set(CONFIGURATION_DEBUG DebugDLL) - else() - set(CONFIGURATION_RELEASE Release) - set(CONFIGURATION_DEBUG Debug) - endif() - - if(VCPKG_TARGET_IS_UWP) - string(APPEND CONFIGURATION_RELEASE WinRT) - string(APPEND CONFIGURATION_DEBUG WinRT) - endif() - - if(VCPKG_TARGET_IS_UWP) - set(_gpg-errorproject "${SOURCE_PATH}/SMP/libgpg-error_winrt.vcxproj") - else() - set(_gpg-errorproject "${SOURCE_PATH}/SMP/libgpg-error.vcxproj") - endif() - - if(VCPKG_CRT_LINKAGE STREQUAL "static") - set(RuntimeLibraryExt "") - else() - set(RuntimeLibraryExt "DLL") - endif() - - vcpkg_install_msbuild( - USE_VCPKG_INTEGRATION - SOURCE_PATH "${SOURCE_PATH}" - PROJECT_SUBPATH SMP/libgpg-error.sln - PLATFORM ${TRIPLET_SYSTEM_ARCH} - LICENSE_SUBPATH COPYING.LIB - RELEASE_CONFIGURATION ${CONFIGURATION_RELEASE} - DEBUG_CONFIGURATION ${CONFIGURATION_DEBUG} - SKIP_CLEAN - OPTIONS_DEBUG "/p:RuntimeLibrary=MultiThreadedDebug${RuntimeLibraryExt}" - OPTIONS_RELEASE "/p:RuntimeLibrary=MultiThreaded${RuntimeLibraryExt}" - ) - - get_filename_component(SOURCE_PATH_SUFFIX "${SOURCE_PATH}" NAME) - file(RENAME "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/${SOURCE_PATH_SUFFIX}/msvc/include" "${CURRENT_PACKAGES_DIR}/include") - - set(exec_prefix "\${prefix}") - set(libdir "\${prefix}/lib") - set(includedir "\${prefix}/include") - set(GPG_ERROR_CONFIG_LIBS "-L\${libdir} -lgpg-error") - configure_file("${SOURCE_PATH}/src/gpg-error.pc.in" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/gpg-error.pc" @ONLY) - - set(exec_prefix "\${prefix}") - set(libdir "\${prefix}/lib") - set(includedir "\${prefix}/../include") - set(GPG_ERROR_CONFIG_LIBS "-L\${libdir} -lgpg-errord") - configure_file("${SOURCE_PATH}/src/gpg-error.pc.in" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/gpg-error.pc" @ONLY) - vcpkg_fixup_pkgconfig() - vcpkg_copy_pdbs() - file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/COPYING.LIB" "${CURRENT_PACKAGES_DIR}/debug/lib/COPYING.LIB") +vcpkg_download_distfile(tarball + URLS + "https://gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-${VERSION}.tar.bz2" + "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 +) +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${tarball}" + PATCHES + cross-tools.patch + gpgrt-config.patch + pkgconfig-libintl.patch +) + +vcpkg_list(SET options) +if("nls" IN_LIST FEATURES) + vcpkg_list(APPEND options "--enable-nls") else() - vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO gpg/libgpg-error - REF libgpg-error-${PACKAGE_VERSION} - SHA512 f5a1c1874ac1dee36ee01504f1ab0146506aa7af810879e192eac17a31ec81945fe850953ea1c57188590c023ce3ff195c7cab62af486b731fa1534546d66ba3 - HEAD_REF master - PATCHES - add_cflags_to_tools.patch - ) + set(ENV{AUTOPOINT} true) # true, the program + vcpkg_list(APPEND options "--disable-nls") +endif() - vcpkg_configure_make( - AUTOCONFIG - SOURCE_PATH "${SOURCE_PATH}" - OPTIONS - --disable-tests - --disable-doc - --disable-silent-rules +if(VCPKG_CROSSCOMPILING) + set(ENV{HOST_TOOLS_PREFIX} "${CURRENT_HOST_INSTALLED_DIR}/manual-tools/${PORT}") +endif() + +vcpkg_configure_make( + AUTOCONFIG + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${options} + --disable-tests + --disable-doc +) + +vcpkg_install_make() +vcpkg_fixup_pkgconfig() +vcpkg_copy_pdbs() + +if(NOT VCPKG_CROSSCOMPILING) + file(INSTALL + "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/src/mkerrcodes${VCPKG_TARGET_EXECUTABLE_SUFFIX}" + "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/src/mkheader${VCPKG_TARGET_EXECUTABLE_SUFFIX}" + DESTINATION "${CURRENT_PACKAGES_DIR}/manual-tools/${PORT}" + USE_SOURCE_PERMISSIONS ) + vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/manual-tools/${PORT}") +endif() - vcpkg_install_make() - vcpkg_fixup_pkgconfig() - vcpkg_copy_pdbs() - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/libgpg-error/bin/gpg-error-config" "${CURRENT_INSTALLED_DIR}" "`dirname $0`/../../..") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/libgpg-error/debug/bin/gpg-error-config" "${CURRENT_INSTALLED_DIR}" "`dirname $0`/../../../..") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/${PORT}/locale" "${CURRENT_PACKAGES_DIR}/debug/share") - file(INSTALL "${SOURCE_PATH}/COPYING.LIB" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +if(NOT "nls" IN_LIST FEATURES) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/${PORT}/locale") endif() + +file(INSTALL "${SOURCE_PATH}/COPYING.LIB" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/libgpg-error/vcpkg.json b/ports/libgpg-error/vcpkg.json index 515330256255c5..eb5a83e664f6fc 100644 --- a/ports/libgpg-error/vcpkg.json +++ b/ports/libgpg-error/vcpkg.json @@ -1,8 +1,29 @@ { "name": "libgpg-error", - "version": "1.42", - "port-version": 2, + "version": "1.47", "description": "A common dependency of all GnuPG components", "homepage": "https://gnupg.org/software/libgpg-error/index.html", - "supports": "!(windows & (arm | arm64))" + "license": "LGPL-2.1-or-later", + "supports": "!windows | mingw", + "dependencies": [ + { + "name": "libgpg-error", + "host": true + } + ], + "features": { + "nls": { + "description": "Enable native language support", + "dependencies": [ + { + "name": "gettext", + "host": true, + "features": [ + "tools" + ] + }, + "gettext-libintl" + ] + } + } } diff --git a/ports/libgpiod/portfile.cmake b/ports/libgpiod/portfile.cmake new file mode 100644 index 00000000000000..188a206a4f0faa --- /dev/null +++ b/ports/libgpiod/portfile.cmake @@ -0,0 +1,51 @@ +vcpkg_download_distfile(ARCHIVE + URLS https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/snapshot/libgpiod-${VERSION}.tar.gz + FILENAME libgpiod-${VERSION}.tar.gz + SHA512 57ddb73faa1852c86886ec6b9b0e07c48200a8c01347bf9bc31ce5611de907140d20cabba63f33230bbfac558acae23676935ecf12b3c69ed9230a04cf252eb4 +) + +vcpkg_extract_source_archive(SOURCE_PATH + ARCHIVE "${ARCHIVE}" +) + +if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + list(APPEND OPTIONS --enable-shared=yes) + list(APPEND OPTIONS --enable-static=no) +else() + list(APPEND OPTIONS --enable-shared=no) + list(APPEND OPTIONS --enable-static=yes) +endif() + +vcpkg_cmake_get_vars(cmake_vars_file) +include("${cmake_vars_file}") + +if (VCPKG_DETECTED_CMAKE_CROSSCOMPILING STREQUAL "TRUE") + list(APPEND OPTIONS "CC=${VCPKG_DETECTED_CMAKE_C_COMPILER}") + if (VCPKG_TARGET_IS_LINUX AND (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm")) + list(APPEND OPTIONS ac_cv_func_malloc_0_nonnull=yes) + list(APPEND OPTIONS ac_cv_func_realloc_0_nonnull=yes) + endif() +endif() + +if ("cxx-bindings" IN_LIST FEATURES) + set(USE_CXX_BINDINGS yes) +else() + set(USE_CXX_BINDINGS no) +endif() + +vcpkg_configure_make( + AUTOCONFIG + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${OPTIONS} + --enable-tools=no + --enable-tests=no + --enable-bindings-cxx=${USE_CXX_BINDINGS} + --enable-bindings-python=no +) + +vcpkg_install_make() +vcpkg_fixup_pkgconfig() +vcpkg_copy_pdbs() + +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/libgpiod/vcpkg.json b/ports/libgpiod/vcpkg.json new file mode 100644 index 00000000000000..4c72521d057ec7 --- /dev/null +++ b/ports/libgpiod/vcpkg.json @@ -0,0 +1,19 @@ +{ + "name": "libgpiod", + "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", + "supports": "linux & (x64 | arm)", + "dependencies": [ + { + "name": "vcpkg-cmake-get-vars", + "host": true + } + ], + "features": { + "cxx-bindings": { + "description": "Make available cxx bindings" + } + } +} diff --git a/ports/libgpod/portfile.cmake b/ports/libgpod/portfile.cmake index 397f0e5d125313..b5ff21b533f472 100644 --- a/ports/libgpod/portfile.cmake +++ b/ports/libgpod/portfile.cmake @@ -1,5 +1,3 @@ -vcpkg_fail_port_install(MESSAGE "${PORT} currently only supports Linux platform" ON_TARGET "Windows" "OSX") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO fadingred/libgpod @@ -37,4 +35,4 @@ 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) \ No newline at end of file +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 index 3915e50b11d2bb..550993c5705e51 100644 --- a/ports/libgpod/vcpkg.json +++ b/ports/libgpod/vcpkg.json @@ -1,9 +1,10 @@ { "name": "libgpod", "version-date": "2019-08-29", - "port-version": 3, + "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", diff --git a/ports/libgta/portfile.cmake b/ports/libgta/portfile.cmake index 65409dc33b186f..9c543b0b80c5be 100644 --- a/ports/libgta/portfile.cmake +++ b/ports/libgta/portfile.cmake @@ -6,32 +6,30 @@ vcpkg_download_distfile(ARCHIVE FILENAME "libgta-${LIBGTA_VERSION}.tar.xz" SHA512 ${LIBGTA_HASH}) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} - REF ${LIBGTA_VERSION} +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" + SOURCE_BASE "${LIBGTA_VERSION}" ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" ENABLE_SHARED_LIBS) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" ENABLE_STATIC_LIBS) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DGTA_BUILD_SHARED_LIB=${ENABLE_SHARED_LIBS} -DGTA_BUILD_STATIC_LIB=${ENABLE_STATIC_LIBS} -DGTA_BUILD_DOCUMENTATION=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin ${CURRENT_PACKAGES_DIR}/bin) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin" "${CURRENT_PACKAGES_DIR}/bin") endif() -file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libgta) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/libgta/COPYING ${CURRENT_PACKAGES_DIR}/share/libgta/copyright) +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) vcpkg_fixup_pkgconfig() diff --git a/ports/libgta/vcpkg.json b/ports/libgta/vcpkg.json index 40aeadb4c95a73..04bd89c949e51a 100644 --- a/ports/libgta/vcpkg.json +++ b/ports/libgta/vcpkg.json @@ -1,12 +1,16 @@ { "name": "libgta", - "version-string": "1.0.8", - "port-version": 3, + "version": "1.0.8", + "port-version": 5, "description": "Libgta is a portable library that implements the Generic Tagged Array (GTA) file format.", "homepage": "https://download.savannah.nongnu.org/releases/gta", "dependencies": [ "bzip2", "liblzma", + { + "name": "vcpkg-cmake", + "host": true + }, "zlib" ] } diff --git a/ports/libguarded/fix-install.patch b/ports/libguarded/fix-install.patch new file mode 100644 index 00000000000000..c75f80a82f3e04 --- /dev/null +++ b/ports/libguarded/fix-install.patch @@ -0,0 +1,41 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 20eaf53..b81f056 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -32,20 +32,7 @@ include(CheckIncludeFiles) + include(CheckTypeSize) + + # location for install or package +-if (CMAKE_SYSTEM_NAME MATCHES "Darwin") +- include(GNUInstallDirs) +- set(CMAKE_INSTALL_RPATH "@executable_path") +- +-elseif (CMAKE_SYSTEM_NAME MATCHES "(Linux|OpenBSD|FreeBSD|NetBSD|DragonFly)") +- include(GNUInstallDirs) +- set(CMAKE_INSTALL_RPATH "\$ORIGIN") +- +-elseif (CMAKE_SYSTEM_NAME MATCHES "Windows") +- set(CMAKE_INSTALL_BINDIR bin) +- set(CMAKE_INSTALL_LIBDIR lib) +- set(CMAKE_INSTALL_INCLUDEDIR include) +- +-endif() ++include(GNUInstallDirs) + + set(PACKAGE "cs_libguarded") + set(PACKAGE_NAME "CsLibGuarded") +@@ -98,13 +85,7 @@ else() + endif() + + # destination for cmake export files +-if (CMAKE_SYSTEM_NAME MATCHES "Windows") +- set(PKG_PREFIX "cmake/CsLibGuarded") +- +-else() +- set(PKG_PREFIX "${CMAKE_INSTALL_LIBDIR}/cmake/CsLibGuarded") +- +-endif() ++set(PKG_PREFIX "${CMAKE_INSTALL_LIBDIR}/cmake/CsLibGuarded") + + # catch2 set up + if(BUILD_TESTS) diff --git a/ports/libguarded/portfile.cmake b/ports/libguarded/portfile.cmake index dd6b9368656b97..2da6715a3d3f05 100644 --- a/ports/libguarded/portfile.cmake +++ b/ports/libguarded/portfile.cmake @@ -1,11 +1,25 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO copperspice/cs_libguarded - REF 1f159aa866a50f5d2952de41d8a99821b8ec37df - SHA512 91380262e65ec7b8990c500c60b8d141960be24b69e01a4661c2e8fbfdb8e315c9a4509c2c65a74bc60a8fe690d6dbc8f2b39757d13da5068c95283a19d4c6c4 + REF 9c1e82f42f228345f3b024bed5d08be643c00f8a + SHA512 ab690489151f5f8451c63c8a78a89a586950f88d19b6df685d979db9442f36b68db402ae5a6749e75b17ac3e1c06447d2d4803d43f9d373031cc05d9b25770e9 HEAD_REF master + PATCHES + fix-install.patch ) -File(COPY ${SOURCE_PATH}/src/libguarded 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 + -DBUILD_TESTS=OFF +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME CsLibGuarded CONFIG_PATH lib/cmake/CsLibGuarded) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") + +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/libguarded/usage b/ports/libguarded/usage new file mode 100644 index 00000000000000..90453be9372bb1 --- /dev/null +++ b/ports/libguarded/usage @@ -0,0 +1,4 @@ +CsLibGuarded provides CMake targets: + + find_package(CsLibGuarded CONFIG REQUIRED) + target_link_libraries(main PRIVATE CsLibGuarded::CsLibGuarded) diff --git a/ports/libguarded/vcpkg.json b/ports/libguarded/vcpkg.json index d6bc463967f01b..26d5091607bdb1 100644 --- a/ports/libguarded/vcpkg.json +++ b/ports/libguarded/vcpkg.json @@ -1,7 +1,17 @@ { "name": "libguarded", - "version-string": "2019-08-27", - "port-version": 2, - "description": "The libGuarded library is a standalone header-only library for multithreaded programming.", - "homepage": "https://github.com/copperspice/libguarded" + "version": "1.4.1", + "description": "Header-only library for multithreaded programming.", + "homepage": "https://github.com/copperspice/libguarded", + "license": "BSD-2-Clause", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/libgwenhywfar/portfile.cmake b/ports/libgwenhywfar/portfile.cmake index 553825fab4aa6e..a0ffa609e2ab14 100644 --- a/ports/libgwenhywfar/portfile.cmake +++ b/ports/libgwenhywfar/portfile.cmake @@ -1,67 +1,73 @@ -vcpkg_fail_port_install(MESSAGE "${PORT} currently only supports unix platforms" ON_TARGET "Windows") - -set(VERSION_MAJOR 5) -set(VERSION_MINOR 6) -set(VERSION_PATCH 0) -set(VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}) - vcpkg_download_distfile(ARCHIVE URLS "https://www.aquamaniac.de/rdm/attachments/download/364/gwenhywfar-${VERSION}.tar.gz" FILENAME "gwenhywfar-${VERSION}.tar.gz" SHA512 9875d677f49fc0a46f371fd1954d15d99c7d5994e90b16f1be7a5b8a1cbcd74ae9733e4541afd6d8251a2ba1a0a37c28e0f248952b7c917313fbf5b38b1d8d11 ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} - REF ${VERSION} +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" + SOURCE_BASE "${VERSION}" ) +vcpkg_list(SET options) if ("libxml2" IN_LIST FEATURES) - set(WITH_LIBXML2_CODE "--with-libxml2-code=yes") + vcpkg_list(APPEND options "--with-libxml2-code=yes") endif() + if ("cpp" IN_LIST FEATURES) - list(APPEND FEATURES_GUI "cpp") + list(APPEND FEATURES_GUI "cpp") endif() if ("qt5" IN_LIST FEATURES) - list(APPEND FEATURES_GUI "qt5") + list(APPEND FEATURES_GUI "qt5") endif() - list(JOIN FEATURES_GUI " " GUIS) +vcpkg_list(APPEND options "--with-guis=${GUIS}") if(VCPKG_TARGET_IS_OSX) - set(LDFLAGS "-framework CoreFoundation -framework Security") -else() - set(LDFLAGS "") + vcpkg_list(APPEND options "LDFLAGS=\$LDFLAGS -framework CoreFoundation -framework Security") endif() vcpkg_configure_make( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" OPTIONS - --disable-silent-rules - --disable-binreloc - --with-guis=${GUIS} - --with-libgpg-error-prefix=${CURRENT_INSTALLED_DIR}/tools/libgpg-error - --with-libgcrypt-prefix=${CURRENT_INSTALLED_DIR}/tools/libgcrypt - --with-qt5-qmake=${CURRENT_INSTALLED_DIR}/tools/qt5/bin/qmake - --with-qt5-moc=${CURRENT_INSTALLED_DIR}/tools/qt5/bin/moc - --with-qt5-uic=${CURRENT_INSTALLED_DIR}/tools/qt5/bin/uic - ${WITH_LIBXML2_CODE} - "LDFLAGS=${LDFLAGS}" + --disable-binreloc + ${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" + "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" + "LIBGCRYPT_CONFIG=${CURRENT_INSTALLED_DIR}/tools/libgcrypt/debug/bin/libgcrypt-config" ) vcpkg_install_make() vcpkg_copy_pdbs() vcpkg_fixup_pkgconfig() +string(REGEX MATCH "^([0-9]*[.][0-9]*)" MAJOR_MINOR "${VERSION}") foreach(GUI IN LISTS FEATURES_GUI) - vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/gwengui-${GUI}-${VERSION_MAJOR}.${VERSION_MINOR} TARGET_PATH share/gwengui-${GUI}-${VERSION_MAJOR}.${VERSION_MINOR} DO_NOT_DELETE_PARENT_CONFIG_PATH) + vcpkg_cmake_config_fixup(PACKAGE_NAME gwengui-${GUI} CONFIG_PATH lib/cmake/gwengui-${GUI}-${MAJOR_MINOR} DO_NOT_DELETE_PARENT_CONFIG_PATH) endforeach() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/gwenhywfar-${VERSION_MAJOR}.${VERSION_MINOR}) +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) -endif() + vcpkg_copy_tools(SEARCH_DIR "${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin" TOOL_NAMES gct-tool gsa mklistdoc typemaker typemaker2 xmlmerge AUTO_CLEAN) +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() 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/libgwenhywfar/vcpkg.json b/ports/libgwenhywfar/vcpkg.json index c02dca482b2d02..01962b31181bde 100644 --- a/ports/libgwenhywfar/vcpkg.json +++ b/ports/libgwenhywfar/vcpkg.json @@ -1,9 +1,10 @@ { "name": "libgwenhywfar", "version-semver": "5.6.0", + "port-version": 5, "description": "A helper library for networking and security applications and libraries", "homepage": "https://www.aquamaniac.de/rdm/", - "supports": "!windows", + "supports": "!windows & !(osx & arm64)", "dependencies": [ "libgcrypt", { @@ -11,6 +12,10 @@ "features": [ "openssl" ] + }, + { + "name": "vcpkg-cmake-config", + "host": true } ], "default-features": [ @@ -24,13 +29,19 @@ "libxml2": { "description": "Enables libXML2-depending functionality", "dependencies": [ - "libxml2" + { + "name": "libxml2", + "default-features": false + } ] }, "qt5": { "description": "Qt bindings", "dependencies": [ - "qt5-base" + { + "name": "qt5-base", + "default-features": false + } ] }, "tools": { diff --git a/ports/libgxps/portfile.cmake b/ports/libgxps/portfile.cmake index d7dd89ba29b260..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 @@ -7,10 +9,10 @@ vcpkg_download_distfile(ARCHIVE SHA512 d3d56e4906477b68d088bf83bde666f9ea8bf383add592772aad53dd571e727f1bc0410dd020e12212ede5ff8e26cb46150a9860a6f7af29c4d195f03e946fe9 ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH +vcpkg_extract_source_archive( + SOURCE_PATH ARCHIVE ${ARCHIVE} - REF ${LIBGXPS_VERSION} + SOURCE_BASE ${LIBGXPS_VERSION} PATCHES "${CMAKE_CURRENT_LIST_DIR}/libgxps-0.3.2_fix_meson_warnings.patch" # https://gitlab.gnome.org/GNOME/libgxps/-/commit/a18e1260 ) diff --git a/ports/libgxps/vcpkg.json b/ports/libgxps/vcpkg.json index b74fcc9eaa0a1f..a32fde1e6c76f3 100644 --- a/ports/libgxps/vcpkg.json +++ b/ports/libgxps/vcpkg.json @@ -1,6 +1,7 @@ { "name": "libgxps", "version": "0.3.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": [ @@ -11,7 +12,13 @@ "libjpeg-turbo", "libpng", "libxslt", - "tiff", - "tool-meson" + { + "name": "tiff", + "default-features": false + }, + { + "name": "vcpkg-tool-meson", + "host": true + } ] } diff --git a/ports/libharu/add-boolean-typedef.patch b/ports/libharu/add-boolean-typedef.patch deleted file mode 100644 index 7768ed301bbf3e..00000000000000 --- a/ports/libharu/add-boolean-typedef.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/include/hpdf.h b/include/hpdf.h -index 1cf0dd9..cce9b59 100644 ---- a/include/hpdf.h -+++ b/include/hpdf.h -@@ -54,6 +54,7 @@ - #include "hpdf_types.h" - - typedef void *HPDF_HANDLE; -+typedef HPDF_HANDLE HPDF_Boolean; - typedef HPDF_HANDLE HPDF_Doc; - typedef HPDF_HANDLE HPDF_Page; - typedef HPDF_HANDLE HPDF_Pages; diff --git a/ports/libharu/export-targets.patch b/ports/libharu/export-targets.patch new file mode 100644 index 00000000000000..fab3e5be6f33f9 --- /dev/null +++ b/ports/libharu/export-targets.patch @@ -0,0 +1,32 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index b87af66..10ec58f 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -87,9 +87,26 @@ if(UNIX AND NOT APPLE) + target_link_libraries (hpdf ${M_LIB}) + endif() + ++if(LIBHPDF_SHARED) ++ if(WIN32 AND NOT CYGWIN) ++ set_target_properties(hpdf PROPERTIES DEFINE_SYMBOL HPDF_DLL_MAKE) ++ endif() ++endif() ++ ++target_include_directories(hpdf PUBLIC $ $) ++ ++add_library(haru INTERFACE) ++set_property(TARGET haru APPEND PROPERTY INTERFACE_LINK_LIBRARIES hpdf) ++ + install( +- TARGETS hpdf ++ TARGETS hpdf haru ++ EXPORT unofficial-libharu-config + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + ) ++ ++install(EXPORT unofficial-libharu-config ++ NAMESPACE unofficial::libharu:: ++ DESTINATION share/unofficial-libharu ++) diff --git a/ports/libharu/fix-build-fail.patch b/ports/libharu/fix-build-fail.patch deleted file mode 100644 index 2f7066575ed3bd..00000000000000 --- a/ports/libharu/fix-build-fail.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 9d2a604..be8e964 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -79,11 +79,11 @@ if(LIBHPDF_STATIC) - LIBRARY DESTINATION lib - RUNTIME DESTINATION bin - ) -- if(WIN32 AND NOT CYGWIN) -- foreach(addlib ${ADDITIONAL_LIBRARIES}) -- install(FILES ${addlib} DESTINATION lib) -- endforeach(addlib) -- endif(WIN32 AND NOT CYGWIN) -+ #if(WIN32 AND NOT CYGWIN) -+ #foreach(addlib ${ADDITIONAL_LIBRARIES}) -+ #install(FILES ${addlib} DESTINATION lib) -+ #endforeach(addlib) -+ #endif(WIN32 AND NOT CYGWIN) - endif(LIBHPDF_STATIC) - if(LIBHPDF_SHARED) - add_library(${LIBHPDF_NAME} SHARED ${LIBHPDF_SRCS}) diff --git a/ports/libharu/fix-include-path.patch b/ports/libharu/fix-include-path.patch new file mode 100644 index 00000000000000..8565594ad3812e --- /dev/null +++ b/ports/libharu/fix-include-path.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1c75e5a..9a6c575 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -148,7 +148,7 @@ set( + ) + + # install header files +-install(FILES ${haru_HDRS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) ++install(FILES ${haru_HDRS} DESTINATION include/) + + # install various files + install(FILES README.md CHANGES INSTALL DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/libharu) diff --git a/ports/libharu/portfile.cmake b/ports/libharu/portfile.cmake index 20c5952547b937..1286df49c5e90e 100644 --- a/ports/libharu/portfile.cmake +++ b/ports/libharu/portfile.cmake @@ -1,26 +1,14 @@ -if("notiffsymbols" IN_LIST FEATURES) - if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - set(DISABLETIFF tiff.patch) - endif() -endif() -vcpkg_download_distfile(SHADING_PR - URLS "https://github.com/libharu/libharu/pull/157.diff" - FILENAME "libharu-shading-pr-157.patch" - SHA512 f2ddb22b54b4eccc79400b6a4b2d245a221898f75456a5a559523eab7a523a87dfc5dfd0ec5fb17a771697e03c7ea6ed4c6095eff73e0a4302cd6eb24584c957 -) +vcpkg_minimum_required(VERSION 2022-10-12) # for ${VERSION} vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libharu/libharu - REF d84867ebf9f3de6afd661d2cdaff102457fbc371 - SHA512 789579dd52c1056ae90a4ce5360c26ba92cadae5341a3901c4159afe624129a1f628fa6412952a398e048b0e5040c93f7ed5b4e4bc620a22d897098298fe2a99 + REF v${VERSION} + SHA512 422210b09f89643cb25808559aeea109db5cce8a71c779d51f87222cdd50434f4f0f92322ebe429fca8f85ad73592bcabb14c3e36cd0bea19b6ec4c729220522 HEAD_REF master PATCHES - fix-build-fail.patch - add-boolean-typedef.patch - # This patch adds shading support which is required for VTK. If desired, this could be moved into an on-by-default feature. - ${SHADING_PR} - ${DISABLETIFF} + fix-include-path.patch + export-targets.patch ) if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") @@ -40,49 +28,38 @@ vcpkg_cmake_configure( vcpkg_cmake_install() -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - if(NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - file(RENAME "${CURRENT_PACKAGES_DIR}/lib/libhpdfs.lib" "${CURRENT_PACKAGES_DIR}/lib/libhpdf.lib") - endif() - if(NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/libhpdfsd.lib" "${CURRENT_PACKAGES_DIR}/debug/lib/libhpdfd.lib") - endif() - else() - if(NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - file(RENAME "${CURRENT_PACKAGES_DIR}/lib/libhpdfs.a" "${CURRENT_PACKAGES_DIR}/lib/libhpdf.a") - endif() - if(NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/libhpdfs.a" "${CURRENT_PACKAGES_DIR}/debug/lib/libhpdfd.a") - endif() - endif() -endif() +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-libharu) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" - "${CURRENT_PACKAGES_DIR}/debug/README" + "${CURRENT_PACKAGES_DIR}/debug/README.md" "${CURRENT_PACKAGES_DIR}/debug/CHANGES" "${CURRENT_PACKAGES_DIR}/debug/INSTALL" - "${CURRENT_PACKAGES_DIR}/README" + "${CURRENT_PACKAGES_DIR}/README.md" "${CURRENT_PACKAGES_DIR}/CHANGES" "${CURRENT_PACKAGES_DIR}/INSTALL" ) -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(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -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 "${SOURCE_PATH}/LICENCE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +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/libharu/tiff.patch b/ports/libharu/tiff.patch deleted file mode 100644 index 2aabbe32e7c711..00000000000000 --- a/ports/libharu/tiff.patch +++ /dev/null @@ -1,25 +0,0 @@ -diff --git a/src/hpdf_image_ccitt.c b/src/hpdf_image_ccitt.c -index 2937fc90d..a1a35d0ed 100644 ---- a/src/hpdf_image_ccitt.c -+++ b/src/hpdf_image_ccitt.c -@@ -21,7 +21,6 @@ - #include - #include - --#define G3CODES - #include "t4.h" - - typedef unsigned int uint32; -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 354ca7526..ee301d9af 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -99,6 +99,8 @@ if(PNG_FOUND) - set(ADDITIONAL_LIBRARIES ${ADDITIONAL_LIBRARIES} ${PNG_LIBRARIES}) - endif(PNG_FOUND) - -+find_package(TIFF REQUIRED) -+list(APPEND ADDITIONAL_LIBRARIES TIFF::TIFF) - - # ======================================================================= - # configure header files, add compiler flags diff --git a/ports/libharu/usage b/ports/libharu/usage new file mode 100644 index 00000000000000..b018352057604b --- /dev/null +++ b/ports/libharu/usage @@ -0,0 +1,4 @@ +libharu provides CMake targets: + + find_package(unofficial-libharu CONFIG REQUIRED) + target_link_libraries(main PRIVATE unofficial::libharu::hpdf) diff --git a/ports/libharu/vcpkg.json b/ports/libharu/vcpkg.json index 76537e89f59694..de62c89fce9dca 100644 --- a/ports/libharu/vcpkg.json +++ b/ports/libharu/vcpkg.json @@ -1,26 +1,20 @@ { "name": "libharu", - "version-string": "2017-08-15", - "port-version": 10, + "version": "2.4.4", + "port-version": 1, "description": "libharu - free PDF library", "homepage": "https://github.com/libharu/libharu", + "license": "Zlib", "dependencies": [ "libpng", { "name": "vcpkg-cmake", "host": true }, + { + "name": "vcpkg-cmake-config", + "host": true + }, "zlib" - ], - "default-features": [ - "notiffsymbols" - ], - "features": { - "notiffsymbols": { - "description": "disable symbols also defined by the tiff port", - "dependencies": [ - "tiff" - ] - } - } + ] } diff --git a/ports/libhdfs3/fix_dependency_uuid.patch b/ports/libhdfs3/fix_dependency_uuid.patch new file mode 100644 index 00000000000000..4056a4ce9b526d --- /dev/null +++ b/ports/libhdfs3/fix_dependency_uuid.patch @@ -0,0 +1,25 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1a8b109..6ea24f8 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -21,7 +21,9 @@ FIND_PACKAGE(KERBEROS REQUIRED) + FIND_PACKAGE(GSasl REQUIRED) + + IF(OS_LINUX) +- FIND_PACKAGE(LibUUID REQUIRED) ++ find_package(unofficial-libuuid CONFIG REQUIRED) ++ set(LIBUUID_LIBRARIES unofficial::UUID::uuid) ++ add_library(uuid ALIAS unofficial::UUID::uuid) + ENDIF(OS_LINUX) + + ADD_SUBDIRECTORY(mock) +diff --git a/hdfs_benchmark/CMakeLists.txt b/hdfs_benchmark/CMakeLists.txt +index dcb4c0a..f4274b6 100644 +--- a/hdfs_benchmark/CMakeLists.txt ++++ b/hdfs_benchmark/CMakeLists.txt +@@ -10,4 +10,4 @@ set(SOURCE_FILES main.cpp) + add_executable(hdfs_benchmark ${SOURCE_FILES}) + add_dependencies(hdfs_benchmark libhdfs3-shared) + +-target_link_libraries(hdfs_benchmark uuid pthread libhdfs3-shared) ++target_link_libraries(hdfs_benchmark pthread libhdfs3-shared) diff --git a/ports/libhdfs3/portfile.cmake b/ports/libhdfs3/portfile.cmake index 4bbc7621e87e14..9ad42a5719dc4a 100644 --- a/ports/libhdfs3/portfile.cmake +++ b/ports/libhdfs3/portfile.cmake @@ -1,23 +1,37 @@ -vcpkg_fail_port_install(ON_TARGET "UWP" "Windows") - vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO erikmuttersbach/libhdfs3 - REF 9a60d79812d6dee72455f61bff57a93c3c7d56f5 - SHA512 2b635ab979230c251243f01717105872245d7948f75832e58f50a09b0b06d1b366b3c5f3a3253fa538076e9f199003f28d10b9958293144dbc301276073a0633 - HEAD_REF apache-rpc-9 + OUT_SOURCE_PATH SOURCE_PATH + REPO erikmuttersbach/libhdfs3 + REF 9a60d79812d6dee72455f61bff57a93c3c7d56f5 + SHA512 2b635ab979230c251243f01717105872245d7948f75832e58f50a09b0b06d1b366b3c5f3a3253fa538076e9f199003f28d10b9958293144dbc301276073a0633 + HEAD_REF apache-rpc-9 + PATCHES + fix_dependency_uuid.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +if(VCPKG_TARGET_IS_LINUX ) + message(STATUS [[ +To build libhdfs3, the following libraries are needed. + libgsasl +This development package can be installed on the system by + apt install libgsasl-dev +]]) +elseif(VCPKG_TARGET_IS_OSX) + message(WARNING [[ +To build libhdfs3, the following libraries are needed. + libgsasl +These development packages can be installed on the system via + git clone https://gitlab.com/gsasl/gsasl.git]]) +endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${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}/libhdfs3Config.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) -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") +file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +FILE(INSTALL "${CMAKE_CURRENT_LIST_DIR}/libhdfs3Config.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +FILE(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/libhdfs3/vcpkg.json b/ports/libhdfs3/vcpkg.json index aebe7c702ed492..0a8e190085ddc8 100644 --- a/ports/libhdfs3/vcpkg.json +++ b/ports/libhdfs3/vcpkg.json @@ -1,13 +1,25 @@ { "name": "libhdfs3", - "version-string": "2019-11-05", - "port-version": 1, + "version-date": "2019-11-05", + "port-version": 6, "description": "Native Hadoop RPC protocol and HDFS data transfer protocol implementation", "homepage": "https://github.com/erikmuttersbach/libhdfs3", + "supports": "!windows", "dependencies": [ - "boost", - "libuuid", + "boost-atomic", + "boost-chrono", + "boost-iostreams", + "boost-system", + "boost-thread", + { + "name": "libuuid", + "platform": "!windows & !osx" + }, "libxml2", - "protobuf" + "protobuf", + { + "name": "vcpkg-cmake", + "host": true + } ] } diff --git a/ports/libheif/gdk-pixbuf.patch b/ports/libheif/gdk-pixbuf.patch index ad2c1e5aea8f8c..257b466694d0a7 100644 --- a/ports/libheif/gdk-pixbuf.patch +++ b/ports/libheif/gdk-pixbuf.patch @@ -1,25 +1,28 @@ -diff --git a/gdk-pixbuf/CMakeLists.txt b/gdk-pixbuf/CMakeLists.txt -index 85ad59708..d6aa4a5f9 100644 ---- a/gdk-pixbuf/CMakeLists.txt -+++ b/gdk-pixbuf/CMakeLists.txt -@@ -1,9 +1,9 @@ - if(UNIX) +diff --git "a/gdk-pixbuf/CMakeLists.txt" "b/gdk-pixbuf/CMakeLists.txt" +index eeb2727..20a6b16 100644 +--- "a/gdk-pixbuf/CMakeLists.txt" ++++ "b/gdk-pixbuf/CMakeLists.txt" +@@ -1,12 +1,9 @@ + if(UNIX OR MINGW) find_package(PkgConfig) - find_package(Threads) - pkg_check_modules(GDKPIXBUF2 gdk-pixbuf-2.0) + pkg_check_modules(GDKPIXBUF2 gdk-pixbuf-2.0 IMPORTED_TARGET) if(GDKPIXBUF2_FOUND) -- execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE} gdk-pixbuf-2.0 --variable gdk_pixbuf_moduledir --define-variable=prefix=${CMAKE_INSTALL_PREFIX} OUTPUT_VARIABLE GDKPIXBUF2_MODULE_DIR OUTPUT_STRIP_TRAILING_WHITESPACE) +- execute_process( +- COMMAND ${PKG_CONFIG_EXECUTABLE} gdk-pixbuf-2.0 --variable gdk_pixbuf_moduledir +- --define-variable=prefix=${CMAKE_INSTALL_PREFIX} OUTPUT_VARIABLE GDKPIXBUF2_MODULE_DIR +- OUTPUT_STRIP_TRAILING_WHITESPACE) + pkg_get_variable(GDKPIXBUF2_MODULE_DIR gdk-pixbuf-2.0 gdk_pixbuf_moduledir) add_library(pixbufloader-heif MODULE pixbufloader-heif.c) -@@ -13,7 +13,7 @@ if(UNIX) - ${GDKPIXBUF2_INCLUDE_DIRS} - ${libheif_BINARY_DIR} - ${libheif_SOURCE_DIR}) + +@@ -14,7 +11,7 @@ if(UNIX OR MINGW) + + target_link_directories(pixbufloader-heif PRIVATE ${GDKPIXBUF2_LIBRARY_DIRS}) + - target_link_libraries(pixbufloader-heif PUBLIC ${GDKPIXBUF2_LIBRARIES} heif) + target_link_libraries(pixbufloader-heif PUBLIC PkgConfig::GDKPIXBUF2 heif) - install(TARGETS pixbufloader-heif LIBRARY DESTINATION ${GDKPIXBUF2_MODULE_DIR}) + install(TARGETS pixbufloader-heif DESTINATION ${GDKPIXBUF2_MODULE_DIR}) endif() diff --git a/ports/libheif/portfile.cmake b/ports/libheif/portfile.cmake index 0d598245816fb7..1b051d20db55a4 100644 --- a/ports/libheif/portfile.cmake +++ b/ports/libheif/portfile.cmake @@ -1,24 +1,47 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO strukturag/libheif - REF 56c8a2613370562fc330af2c70c1510aa5fd9ff6 #v1.12.0 - SHA512 11ac7f32d1f49963046b1a4479a41f39004475211563ba7f41b2398f07f7b4d90339ea663e528b3cc80deeef1fff374987208d48b447116a806564ef05487e97 + REPO strukturag/libheif + REF "v${VERSION}" + SHA512 0fcb6340694d5f30a355a0e1224bdbcb35d898594739ffd767cc882842887011a418aa67df08b8cdccc06fa2e477768de90704c8d6f5a827f6878252a13c7734 HEAD_REF master PATCHES gdk-pixbuf.patch ) +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + hevc WITH_X265 +) + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DWITH_EXAMPLES=OFF -DWITH_DAV1D=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++" "" IGNORE_UNCHANGED) +if(NOT VCPKG_BUILD_TYPE) + 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)") +else() + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/libheif/heif.h" "defined(_MSC_VER) && !defined(LIBHEIF_STATIC_BUILD)" "0") +endif() +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/libheif/heif.h" "#ifdef LIBHEIF_EXPORTS" "#if 0") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/libheif" "${CURRENT_PACKAGES_DIR}/debug/lib/libheif") + +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/libheif/heif_version.h" "#define LIBHEIF_PLUGIN_DIRECTORY \"${CURRENT_PACKAGES_DIR}/lib/libheif\"" "") -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/libheif/vcpkg.json b/ports/libheif/vcpkg.json index fc0a62d155291a..a99f0323545d20 100644 --- a/ports/libheif/vcpkg.json +++ b/ports/libheif/vcpkg.json @@ -1,8 +1,10 @@ { "name": "libheif", - "version": "1.12.0", - "description": "Open h.265 video codec implementation.", + "version": "1.18.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", "dependencies": [ { "name": "gdk-pixbuf", @@ -16,7 +18,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 b37dfa7ae5f528..f602a54523515a 100644 --- a/ports/libhsplasma/portfile.cmake +++ b/ports/libhsplasma/portfile.cmake @@ -1,10 +1,10 @@ -vcpkg_fail_port_install(ON_ARCH "arm" ON_TARGET "uwp") +string(REGEX REPLACE "-" "." REF_DOT_VERSION_DATE ${VERSION}) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO H-uru/libhsplasma - REF e435db76f86a0258ccd6f62a8bcd1f8b42d4f22d #2021.06.08 - SHA512 ebd53633f22662793613c689b5a07f6149ed2b437c42a024e7c14a18d4411356edb11c95c08e1215dde443988fd1e4bcdd8d35fc30ca2545f507d6a61565cc69 + REF "${REF_DOT_VERSION_DATE}" + SHA512 2edf124fe583e053c078f58d94110ed2285e1f02a34cc7607dfc79f8ab587e173e5782af5d4e2846613d7d6b3e1a27a319fdf138c7546c1c6257b5c8422c2f5a HEAD_REF master ) @@ -29,4 +29,5 @@ vcpkg_fixup_pkgconfig() vcpkg_copy_pdbs() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) \ No newline at end of file +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/libhsplasma/vcpkg.json b/ports/libhsplasma/vcpkg.json index 3c6ea3930f5c5b..fb1ef825974e6e 100644 --- a/ports/libhsplasma/vcpkg.json +++ b/ports/libhsplasma/vcpkg.json @@ -1,9 +1,10 @@ { "name": "libhsplasma", - "version-string": "2021.06.08", + "version-date": "2024-03-07", "description": "Cross-platform Plasma data and network library", "homepage": "https://github.com/H-uru/libhsplasma", - "supports": "!(arm | uwp)", + "license": "GPL-3.0-or-later", + "supports": "!(arm | uwp | xbox)", "dependencies": [ "libjpeg-turbo", "libpng", diff --git a/ports/libhv/portfile.cmake b/ports/libhv/portfile.cmake index cb13974b9e5ea7..39f7bf1a64aace 100644 --- a/ports/libhv/portfile.cmake +++ b/ports/libhv/portfile.cmake @@ -1,16 +1,19 @@ -vcpkg_fail_port_install(ON_ARCH "arm" ON_TARGET "uwp") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ithewei/libhv - REF v1.2.2 - SHA512 D0CB0BE3901E282E642FE454ADF0CAAF1840DD0CD340B6558E40270CF32608FF0773AAAD0BE1B9EA97BE5BD41B4CEB00FA92CDDA1590B71900A3D8EE4AB2358F + REF "v${VERSION}" + SHA512 06d3629cb4312610b2d7df279cd210a87bf76f92e606a2e8abcbd1f1a82bce060fd0984858859aa33d304b606e30349b0dca3eadaf26f452dd29eb1d52edce1d HEAD_REF master ) 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 + ssl WITH_OPENSSL +) + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" DISABLE_PARALLEL_CONFIGURE @@ -19,20 +22,12 @@ vcpkg_cmake_configure( -DBUILD_UNITTEST=OFF -DBUILD_STATIC=${BUILD_STATIC} -DBUILD_SHARED=${BUILD_SHARED} + ${FEATURE_OPTIONS} ) 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) - -if(EXISTS "${CURRENT_PACKAGES_DIR}/lib/hv.dll") - file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/bin") - file(RENAME "${CURRENT_PACKAGES_DIR}/lib/hv.dll" "${CURRENT_PACKAGES_DIR}/bin/hv.dll") -endif() - -if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/lib/hv.dll") - file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/bin") - file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/hv.dll" "${CURRENT_PACKAGES_DIR}/debug/bin/hv.dll") -endif() +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/libhv/vcpkg.json b/ports/libhv/vcpkg.json index 6df137e120de9f..e377ac58d780a0 100644 --- a/ports/libhv/vcpkg.json +++ b/ports/libhv/vcpkg.json @@ -1,13 +1,26 @@ { "name": "libhv", - "version": "1.2.2", + "version": "1.3.3", "description": "Libhv is a C/C++ network library similar to libevent/libuv.", "homepage": "https://github.com/ithewei/libhv", - "supports": "!(arm | uwp)", + "license": "BSD-3-Clause", + "supports": "!uwp", "dependencies": [ { "name": "vcpkg-cmake", "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "ssl": { + "description": "with openssl library", + "dependencies": [ + "openssl" + ] } - ] + } } diff --git a/ports/libhydrogen/no-arch.patch b/ports/libhydrogen/no-arch.patch new file mode 100644 index 00000000000000..2649010b37ba60 --- /dev/null +++ b/ports/libhydrogen/no-arch.patch @@ -0,0 +1,25 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 91e2bf1..7333479 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -39,11 +39,6 @@ set(arduino_files "library.properties") + + # Compile options + +-get_setting(target_arch STRING "Target system architecture (fed to the compiler's -march=XXX).") +-if(NOT target_arch AND NOT CMAKE_CROSSCOMPILING) +- set(target_arch native) +-endif() +- + get_setting(target_device STRING "Target device identifier (defines HYDRO_TARGET_DEVICE_XXX).") + + set(compile_options +@@ -52,7 +47,7 @@ set(compile_options + # ---- Definitions ---- + $<$:-DHYDRO_TARGET_DEVICE_${target_device}> + # ---- Optimizations ---- +- -Os $<$:-march=${target_arch}> -fno-exceptions ++ -Os -fno-exceptions + # ---- Warnings ---- + -Wall + -Wextra diff --git a/ports/libhydrogen/portfile.cmake b/ports/libhydrogen/portfile.cmake index bf746bbbce277d..e2870abac3f105 100644 --- a/ports/libhydrogen/portfile.cmake +++ b/ports/libhydrogen/portfile.cmake @@ -3,20 +3,22 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO jedisct1/libhydrogen - REF 46f083ed1370f4f1063f412b443f5a7704676f27 - SHA512 2408ba8ba365751cf4e4e52191f8a94fe00befcb1b6c741af73b3eeebe6e02aa191d9ad021b5eda555c2eeb9c9f39ab7d89a94fb7e0e2896bf4a015d2b8e2995 + REF 9f9d504bb5a97bc98ee52529726d41c027df76ad #2022-06-21 + SHA512 f4dabc0b399c8850563c8a967209db537fdf787deaef46899a5484bc89bffb31581312940549784defe4c42d057309aaabd402831a7c3a94b04a00d47a07736c HEAD_REF master + PATCHES + remove-tests.patch + no-arch.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/hydrogen TARGET_PATH share/hydrogen) +vcpkg_cmake_config_fixup(CONFIG_PATH share/cmake/hydrogen) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) +configure_file("${SOURCE_PATH}/LICENSE" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) diff --git a/ports/libhydrogen/remove-tests.patch b/ports/libhydrogen/remove-tests.patch new file mode 100644 index 00000000000000..399e883ff09cef --- /dev/null +++ b/ports/libhydrogen/remove-tests.patch @@ -0,0 +1,30 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -139,12 +139,13 @@ + # Tests + + set(tests_executable "${PROJECT_NAME}-tests") + set(tests_run_target "${PROJECT_NAME}-run-tests") + set(tests_run_file "${PROJECT_BINARY_DIR}/${tests_run_target}.done") + ++if(0) + enable_testing() + add_executable("${tests_executable}" ${test_files}) + target_compile_options("${tests_executable}" PRIVATE ${compile_options}) + target_link_libraries("${tests_executable}" "${PROJECT_NAME}") + add_test(NAME "${tests_executable}" COMMAND "${tests_executable}") + +@@ -166,12 +167,13 @@ + COMMAND "${CMAKE_COMMAND}" + ARGS -E touch "${tests_run_file}" + WORKING_DIRECTORY "${PROJECT_BINARY_DIR}" + VERBATIM) + add_custom_target("${tests_run_target}" ALL DEPENDS "${tests_run_file}" VERBATIM) + endif() ++endif() + + # Generate Arduino package + + set(arduino_package_file "${PROJECT_BINARY_DIR}/hydrogen-crypto.zip") + + # Use the relative versions of the file path lists or else the full paths will end up in the diff --git a/ports/libhydrogen/vcpkg.json b/ports/libhydrogen/vcpkg.json index a340a80e2b6682..8251ad463b0a94 100644 --- a/ports/libhydrogen/vcpkg.json +++ b/ports/libhydrogen/vcpkg.json @@ -1,7 +1,17 @@ { "name": "libhydrogen", - "version-string": "2019-08-11", - "port-version": 1, + "version-date": "2022-06-21", "description": "A lightweight, secure, easy-to-use crypto library suitable for constrained environments", - "homepage": "https://github.com/jedisct1/libhydrogen" + "homepage": "https://github.com/jedisct1/libhydrogen", + "license": "ISC", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/libical/portfile.cmake b/ports/libical/portfile.cmake new file mode 100644 index 00000000000000..8698d09c92726e --- /dev/null +++ b/ports/libical/portfile.cmake @@ -0,0 +1,42 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO libical/libical + REF "v${VERSION}" + SHA512 53ecf6c14a68d569dd11bfdeb1a072def847a14d189c6af16eab202e004350ee7d9488c6b63e9cb67889e8c2dec90643fef46aec143a915f28270d0752eaa9d5 +) + +vcpkg_find_acquire_program(PERL) +get_filename_component(PERL_PATH ${PERL} DIRECTORY) +vcpkg_add_to_path(${PERL_PATH}) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + INVERTED_FEATURES + "rscale" CMAKE_DISABLE_FIND_PACKAGE_ICU +) + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + list(APPEND FEATURE_OPTIONS -DSTATIC_ONLY=ON) +else() + list(APPEND FEATURE_OPTIONS -DSHARED_ONLY=ON) +endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DCMAKE_DISABLE_FIND_PACKAGE_BerkeleyDB=ON + -DUSE_BUILTIN_TZDATA=ON + -DICAL_GLIB=OFF + -DICAL_BUILD_DOCS=OFF + -DLIBICAL_BUILD_TESTING=OFF + ${FEATURE_OPTIONS} +) + +vcpkg_cmake_install() +vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup(PACKAGE_NAME LibIcal CONFIG_PATH CONFIG_PATH lib/cmake/LibIcal) +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) diff --git a/ports/libical/vcpkg.json b/ports/libical/vcpkg.json new file mode 100644 index 00000000000000..79767be4baa771 --- /dev/null +++ b/ports/libical/vcpkg.json @@ -0,0 +1,26 @@ +{ + "name": "libical", + "version": "3.0.18", + "description": "Reference implementation of the iCalendar data type and serialization format", + "homepage": "https://github.com/libical/libical", + "license": "MPL-2.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "rscale": { + "description": "Support for RSCALE element", + "supports": "!static", + "dependencies": [ + "icu" + ] + } + } +} diff --git a/ports/libice/fix_build.patch b/ports/libice/fix_build.patch new file mode 100644 index 00000000000000..2812b12a1a6b21 --- /dev/null +++ b/ports/libice/fix_build.patch @@ -0,0 +1,33 @@ +diff --git a/src/error.c b/src/error.c +index 055452e..0ce530a 100644 +--- a/src/error.c ++++ b/src/error.c +@@ -32,7 +32,11 @@ Author: Ralph Mor, X Consortium + #include + #include "ICElibint.h" + #include ++#ifdef HAVE_UNISTD_H + #include ++#elif _MSC_VER ++#include ++#endif + #include + + void +diff --git a/src/iceauth.c b/src/iceauth.c +index 5a4d400..4549f0e 100644 +--- a/src/iceauth.c ++++ b/src/iceauth.c +@@ -39,7 +39,12 @@ Author: Ralph Mor, X Consortium + #include /* for arc4random_buf() */ + #endif + ++#ifdef HAVE_UNISTD_H + #include ++#elif _MSC_VER ++#include ++#define ITIMER_REAL ++#endif + + static int was_called_state; + diff --git a/ports/libice/portfile.cmake b/ports/libice/portfile.cmake new file mode 100644 index 00000000000000..397070ae74cb05 --- /dev/null +++ b/ports/libice/portfile.cmake @@ -0,0 +1,32 @@ +if(NOT X_VCPKG_FORCE_VCPKG_X_LIBRARIES AND NOT VCPKG_TARGET_IS_WINDOWS) + message(STATUS "Utils and libraries provided by '${PORT}' should be provided by your system! Install the required packages or force vcpkg libraries by setting X_VCPKG_FORCE_VCPKG_X_LIBRARIES in your triplet!") + set(VCPKG_POLICY_EMPTY_PACKAGE enabled) +else() + +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.freedesktop.org/xorg + OUT_SOURCE_PATH SOURCE_PATH + REPO lib/libice + REF be1888a46e446dfcaa62ac0a97d96bb77b6816d4 # 1.1.1 + SHA512 0892ee9210302e787297763bcf0c7788bcd5f5572d5fd86472e8104dc291e7e190effc0100bbca98c6b048b445bd9e8bdf490287e1dbf2a64693aa1895950610 + HEAD_REF master + PATCHES fix_build.patch + replace_macros.patch +) + +set(ENV{ACLOCAL} "aclocal -I \"${CURRENT_INSTALLED_DIR}/share/xorg/aclocal/\"") + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG +) + +vcpkg_install_make() +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +# Handle copyright +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +endif() diff --git a/ports/libice/replace_macros.patch b/ports/libice/replace_macros.patch new file mode 100644 index 00000000000000..ac50880b5d9cd8 --- /dev/null +++ b/ports/libice/replace_macros.patch @@ -0,0 +1,15 @@ +diff --git a/include/X11/ICE/ICElib.h b/include/X11/ICE/ICElib.h +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 + #include + #include + +-#define Bool int +-#define Status int ++typedef int Bool; ++typedef int Status; + #define True 1 + #define False 0 + diff --git a/ports/libice/vcpkg.json b/ports/libice/vcpkg.json new file mode 100644 index 00000000000000..3d45982d180461 --- /dev/null +++ b/ports/libice/vcpkg.json @@ -0,0 +1,14 @@ +{ + "name": "libice", + "version": "1.1.1", + "description": "Inter-Client Exchange Library", + "homepage": "https://gitlab.freedesktop.org/xorg/lib/libice", + "license": "MIT-open-group", + "dependencies": [ + "bzip2", + "libx11", + "xorg-macros", + "xproto", + "xtrans" + ] +} diff --git a/ports/libiconv/0002-Config-for-MSVC.patch b/ports/libiconv/0002-Config-for-MSVC.patch index 0c90e50ef1cadb..5c79d25c425e6d 100644 --- a/ports/libiconv/0002-Config-for-MSVC.patch +++ b/ports/libiconv/0002-Config-for-MSVC.patch @@ -11,4 +11,17 @@ index 6dc011b..158ccdd 100644 # ifdef mbstate_t # define mbrtowc(pwc, s, n, ps) (mbrtowc)(pwc, s, n, 0) # define mbsinit(ps) 1 - \ No newline at end of file +diff --git a/srclib/fcntl.c b/srclib/fcntl.c +index f9753c4..02fc8be 100644 +--- a/srclib/fcntl.c ++++ b/srclib/fcntl.c +@@ -37,6 +37,9 @@ + /* Get declarations of the native Windows API functions. */ + # define WIN32_LEAN_AND_MEAN + # include ++#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_APP) ++#define HANDLE_FLAG_INHERIT 0 ++#endif + + /* Get _get_osfhandle. */ + # if GNULIB_MSVC_NOTHROW diff --git a/ports/libiconv/clang-fortify.patch b/ports/libiconv/clang-fortify.patch new file mode 100644 index 00000000000000..381d144cd5504a --- /dev/null +++ b/ports/libiconv/clang-fortify.patch @@ -0,0 +1,64 @@ +diff --git a/srclib/cdefs.h b/srclib/cdefs.h +index 7b8ed5b..63574f9 100644 +--- a/srclib/cdefs.h ++++ b/srclib/cdefs.h +@@ -140,6 +140,7 @@ + #endif + + ++#ifndef __GNULIB_CDEFS + /* Fortify support. */ + #define __bos(ptr) __builtin_object_size (ptr, __USE_FORTIFY_LEVEL > 1) + #define __bos0(ptr) __builtin_object_size (ptr, 0) +@@ -201,6 +202,8 @@ + ? __ ## f ## _chk_warn (__VA_ARGS__, (__osz) / (__s)) \ + : __ ## f ## _chk (__VA_ARGS__, (__osz) / (__s)))) \ + ++#endif ++ + #if __GNUC_PREREQ (4,3) + # define __warnattr(msg) __attribute__((__warning__ (msg))) + # define __errordecl(name, msg) \ +diff --git a/srclib/libc-config.h b/srclib/libc-config.h +index a56665b..876e1a1 100644 +--- a/srclib/libc-config.h ++++ b/srclib/libc-config.h +@@ -137,8 +137,10 @@ + # undef __attribute_returns_twice__ + # undef __attribute_used__ + # undef __attribute_warn_unused_result__ ++# ifndef __GNULIB_CDEFS + # undef __bos + # undef __bos0 ++# endif + # undef __errordecl + # undef __extension__ + # undef __extern_always_inline +@@ -147,21 +149,27 @@ + # undef __fortified_attr_access + # undef __fortify_function + # undef __glibc_c99_flexarr_available ++# ifndef __GNULIB_CDEFS + # undef __glibc_fortify + # undef __glibc_fortify_n ++# endif + # undef __glibc_has_attribute + # undef __glibc_has_builtin + # undef __glibc_has_extension + # undef __glibc_likely + # undef __glibc_macro_warning + # undef __glibc_macro_warning1 ++# ifndef __GNULIB_CDEFS + # undef __glibc_objsize + # undef __glibc_objsize0 + # undef __glibc_safe_len_cond + # undef __glibc_safe_or_unknown_len ++# endif + # undef __glibc_unlikely ++# ifndef __GNULIB_CDEFS + # undef __glibc_unsafe_len + # undef __glibc_unsigned_or_positive ++# endif + # undef __inline + # undef __ptr_t + # undef __restrict diff --git a/ports/libiconv/portfile.cmake b/ports/libiconv/portfile.cmake index 9d8ff25aa030b1..03c2cd5317079b 100644 --- a/ports/libiconv/portfile.cmake +++ b/ports/libiconv/portfile.cmake @@ -1,49 +1,59 @@ -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) + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/share/iconv") + file(COPY "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/iconv") return() endif() -set(LIBICONV_VERSION 1.16) - vcpkg_download_distfile(ARCHIVE - URLS "https://ftp.gnu.org/gnu/libiconv/libiconv-${LIBICONV_VERSION}.tar.gz" "https://www.mirrorservice.org/sites/ftp.gnu.org/gnu/libiconv/libiconv-${LIBICONV_VERSION}.tar.gz" - FILENAME "libiconv-${LIBICONV_VERSION}.tar.gz" - SHA512 365dac0b34b4255a0066e8033a8b3db4bdb94b9b57a9dca17ebf2d779139fe935caf51a465d17fd8ae229ec4b926f3f7025264f37243432075e5583925bb77b7 + URLS "https://ftp.gnu.org/gnu/libiconv/libiconv-${VERSION}.tar.gz" + "https://www.mirrorservice.org/sites/ftp.gnu.org/gnu/libiconv/libiconv-${VERSION}.tar.gz" + FILENAME "libiconv-${VERSION}.tar.gz" + SHA512 18a09de2d026da4f2d8b858517b0f26d853b21179cf4fa9a41070b2d140030ad9525637dc4f34fc7f27abca8acdc84c6751dfb1d426e78bf92af4040603ced86 ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} - REF ${LIBICONV_VERSION} +vcpkg_extract_source_archive(SOURCE_PATH + ARCHIVE "${ARCHIVE}" + SOURCE_BASE "v${VERSION}" PATCHES 0002-Config-for-MSVC.patch 0003-Add-export.patch 0004-ModuleFileName.patch + clang-fortify.patch # ported from https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=522aea1093a598246346b3e1c426505c344fe19a ) +vcpkg_list(SET OPTIONS) if (NOT VCPKG_TARGET_IS_ANDROID) - list(APPEND OPTIONS --enable-relocatable) + vcpkg_list(APPEND OPTIONS --enable-relocatable) endif() -vcpkg_configure_make(SOURCE_PATH ${SOURCE_PATH} - DETERMINE_BUILD_TRIPLET - USE_WRAPPERS - OPTIONS - --enable-extra-encodings - --without-libiconv-prefix - --without-libintl-prefix - ${OPTIONS} - ) +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + DETERMINE_BUILD_TRIPLET + USE_WRAPPERS + OPTIONS + --enable-extra-encodings + --without-libiconv-prefix + --without-libintl-prefix + ${OPTIONS} +) vcpkg_install_make() vcpkg_copy_pdbs() -vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin) -vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug/bin) +vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin") +vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug/bin") -file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/iconv) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/iconv") -file(INSTALL ${SOURCE_PATH}/COPYING.LIB DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) - -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") set(VCPKG_POLICY_ALLOW_RESTRICTED_HEADERS enabled) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/${PORT}") # share contains unneeded doc files + +# Please keep, the default usage is broken +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") + +# 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.") diff --git a/ports/libiconv/usage b/ports/libiconv/usage new file mode 100644 index 00000000000000..db47c33e81be8c --- /dev/null +++ b/ports/libiconv/usage @@ -0,0 +1,4 @@ +The package libiconv provides CMake targets: + + find_package(Iconv) + target_link_libraries(main PRIVATE Iconv::Iconv) diff --git a/ports/libiconv/vcpkg.json b/ports/libiconv/vcpkg.json index 2cafb021836a0a..8f59bf93968c46 100644 --- a/ports/libiconv/vcpkg.json +++ b/ports/libiconv/vcpkg.json @@ -1,7 +1,8 @@ { "name": "libiconv", - "version": "1.16", - "port-version": 11, + "version": "1.17", + "port-version": 4, "description": "GNU Unicode text conversion", - "homepage": "https://www.gnu.org/software/libiconv/" + "homepage": "https://www.gnu.org/software/libiconv/", + "license": null } diff --git a/ports/libics/fix-integral-include.patch b/ports/libics/fix-integral-include.patch new file mode 100644 index 00000000000000..4546dadc713960 --- /dev/null +++ b/ports/libics/fix-integral-include.patch @@ -0,0 +1,12 @@ +diff --git a/support/cpp_interface/libics.hpp b/support/cpp_interface/libics.hpp +index 73f76e6..4ea2b1e 100644 +--- a/support/cpp_interface/libics.hpp ++++ b/support/cpp_interface/libics.hpp +@@ -40,6 +40,7 @@ + #include + #include + #include ++#include + + #if defined(__WIN32__) && !defined(WIN32) + # define WIN32 diff --git a/ports/libics/portfile.cmake b/ports/libics/portfile.cmake index 2d66f422586319..54be57d8e4a567 100644 --- a/ports/libics/portfile.cmake +++ b/ports/libics/portfile.cmake @@ -1,9 +1,10 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO svi-opensource/libics - REF ae55128e0532d78aaea4adce21a3fa553d208b83 # 1.6.5 - SHA512 37a1e9034d7e32954840e18f3e3c19f6ed2f8c651ce0da53f678e2f04653be0fc4d9ab3dca8b6f0bfcaec2a9cc560ccfbc7d9034977faa14036281d6a3ca662a + REF "${VERSION}" + SHA512 0eba280c1174cbd0e1fe6da1502345720793df2f3f6ec31fe0043d79a31d7b79cac5d7da726891faacedc91056e6337a3a694e50d0baafa08314a2867ff3e62f HEAD_REF master + PATCHES fix-integral-include.patch ) vcpkg_cmake_configure( diff --git a/ports/libics/vcpkg.json b/ports/libics/vcpkg.json index 09e0691557b654..c70580f33c13ed 100644 --- a/ports/libics/vcpkg.json +++ b/ports/libics/vcpkg.json @@ -1,6 +1,6 @@ { "name": "libics", - "version": "1.6.5", + "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/libid3tag/portfile.cmake b/ports/libid3tag/portfile.cmake new file mode 100644 index 00000000000000..33d7635dfb4e03 --- /dev/null +++ b/ports/libid3tag/portfile.cmake @@ -0,0 +1,17 @@ +vcpkg_download_distfile( + ARCHIVE URLS "https://codeberg.org/tenacityteam/libid3tag/archive/${VERSION}.tar.gz" + FILENAME "${VERSION}.tar.gz" + SHA512 d49bc637899e4251ed66b5b56aa4c910dcdecd6b03ed197866d74175fc4eadff40f40f336606b23e2505b0e11834c4212a1314feeeaa2c0e9713051fdb56cb45 +) + +vcpkg_extract_source_archive(SOURCE_PATH ARCHIVE "${ARCHIVE}") + +vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}") +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(PACKAGE_NAME id3tag CONFIG_PATH lib/cmake/id3tag) +vcpkg_fixup_pkgconfig() +vcpkg_copy_pdbs() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/libid3tag/vcpkg.json b/ports/libid3tag/vcpkg.json new file mode 100644 index 00000000000000..74b72dc5b3f437 --- /dev/null +++ b/ports/libid3tag/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "libid3tag", + "version": "0.16.3", + "description": "ID3 tag manipulation library", + "homepage": "https://codeberg.org/tenacityteam/libid3tag", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "zlib" + ] +} diff --git a/ports/libideviceactivation/001_fix_static_build.patch b/ports/libideviceactivation/001_fix_static_build.patch new file mode 100644 index 00000000000000..be47327f08a9bc --- /dev/null +++ b/ports/libideviceactivation/001_fix_static_build.patch @@ -0,0 +1,21 @@ +diff --git a/src/activation.c b/src/activation.c +index 4260c20..29bb2e8 100644 +--- a/src/activation.c ++++ b/src/activation.c +@@ -90,6 +90,7 @@ struct idevice_activation_response_private { + int has_errors; + }; + ++#ifndef LIBIDEVICEACTIVATION_STATIC // disable dll constructor + + static void internal_libideviceactivation_init(void) + { +@@ -162,6 +163,8 @@ BOOL WINAPI DllMain(HINSTANCE hModule, DWORD dwReason, LPVOID lpReserved) + #warning No compiler support for constructor/destructor attributes, some features might not be available. + #endif + ++#endif // disable dll constructor ++ + static int debug_level = 0; + + IDEVICE_ACTIVATION_API void idevice_activation_set_debug_level(int level) { diff --git a/ports/libideviceactivation/002_fix_api.patch b/ports/libideviceactivation/002_fix_api.patch new file mode 100644 index 00000000000000..8aea70d50ab02a --- /dev/null +++ b/ports/libideviceactivation/002_fix_api.patch @@ -0,0 +1,21 @@ +diff --git a/src/activation.c b/src/activation.c +index 29bb2e8..69ec7b4 100644 +--- a/src/activation.c ++++ b/src/activation.c +@@ -32,15 +32,11 @@ + #include + #include + +-#ifdef WIN32 +-#define IDEVICE_ACTIVATION_API __declspec( dllexport ) +-#else +-#ifdef HAVE_FVISIBILITY ++#if !defined(_WIN32) && !defined(LIBIDEVICEACTIVATION_STATIC) + #define IDEVICE_ACTIVATION_API __attribute__((visibility("default"))) + #else + #define IDEVICE_ACTIVATION_API + #endif +-#endif + + #ifdef WIN32 + #include diff --git a/ports/libideviceactivation/003_fix_tools_msvc.patch b/ports/libideviceactivation/003_fix_tools_msvc.patch new file mode 100644 index 00000000000000..e89ae7fee721aa --- /dev/null +++ b/ports/libideviceactivation/003_fix_tools_msvc.patch @@ -0,0 +1,14 @@ +diff --git a/tools/ideviceactivation.c b/tools/ideviceactivation.c +index 757c54e..e75e9e9 100644 +--- a/tools/ideviceactivation.c ++++ b/tools/ideviceactivation.c +@@ -28,7 +28,9 @@ + #include + #include + #include ++#ifndef _MSC_VER + #include ++#endif + #include + #ifndef WIN32 + #include diff --git a/ports/libideviceactivation/CMakeLists.txt b/ports/libideviceactivation/CMakeLists.txt index 05ab295e6906c0..833545eb7aedbe 100644 --- a/ports/libideviceactivation/CMakeLists.txt +++ b/ports/libideviceactivation/CMakeLists.txt @@ -1,39 +1,103 @@ -cmake_minimum_required(VERSION 3.0) +cmake_minimum_required(VERSION 3.15) project(libideviceactivation C) -# find dependencies -find_library(libplist NAMES plist plist-2.0 libplist libplist-2.0 REQUIRED) -find_path(libimobiledevice_INCLUDES endianness.h) -find_library(libimobiledevice NAMES imobiledevice imobiledevice-1.0 libimobiledevice libimobiledevice-1.0 REQUIRED) -find_package(LibXml2 REQUIRED) -find_package(CURL REQUIRED) +option(BUILD_TOOLS "Build tools." OFF) -# ready to create library -file(GLOB_RECURSE IDVCACTV_TOOLS_SRC common/*.c) +include(GNUInstallDirs) -file(GLOB_RECURSE IDVCACTV_PUBLIC_HDR include/*.h) -file(GLOB_RECURSE IDVCACTV_SRC src/*.c) +file(GLOB_RECURSE LIBIDEVICEACTIVATION_HEADER include/*.h) +file(GLOB_RECURSE LIBIDEVICEACTIVATION_SOURCE src/*.c) -add_library(libideviceactivation ${IDVCACTV_TOOLS_SRC} ${IDVCACTV_SRC} ${IDVCACTV_PUBLIC_HDR}) -target_include_directories(libideviceactivation PRIVATE ${libimobiledevice_INCLUDES} ${LIBXML2_INCLUDE_DIR} ${CURL_INCLUDE_DIRS} include) -target_compile_definitions(libideviceactivation PRIVATE -DHAVE_OPENSSL) -target_link_libraries(libideviceactivation PRIVATE ${libplist} ${libimobiledevice} ${CURL_LIBRARIES} ${LIBXML2_LIBRARIES}) +set(DEFINITIONS) + +if(BUILD_SHARED_LIBS) + if(WIN32) + list(APPEND LIBIDEVICEACTIVATION_SOURCE exports.def) + endif() +else() + list(APPEND DEFINITIONS -DLIBIDEVICEACTIVATION_STATIC) +endif() + +if(WIN32) + list(APPEND DEFINITIONS -D_CRT_SECURE_NO_WARNINGS) + list(APPEND DEFINITIONS -DWIN32_LEAN_AND_MEAN) + list(APPEND DEFINITIONS -DWIN32) +endif() + +find_package(unofficial-libplist CONFIG REQUIRED) +find_package(unofficial-libimobiledevice CONFIG REQUIRED) +find_package(CURL CONFIG REQUIRED) +find_package(LibXml2 CONFIG REQUIRED) + +add_library(libideviceactivation ${LIBIDEVICEACTIVATION_SOURCE}) +target_include_directories(libideviceactivation PUBLIC + "$" + "$" +) +target_compile_definitions(libideviceactivation PRIVATE ${DEFINITIONS}) +target_link_libraries(libideviceactivation + PRIVATE + CURL::libcurl + LibXml2::LibXml2 + PUBLIC + unofficial::libplist::libplist + unofficial::libimobiledevice::libimobiledevice +) +set_target_properties(libideviceactivation PROPERTIES OUTPUT_NAME ideviceactivation-1.0) + +install(TARGETS libideviceactivation EXPORT unofficial-libideviceactivation) -# install install( - TARGETS libideviceactivation - RUNTIME DESTINATION bin - ARCHIVE DESTINATION lib - LIBRARY DESTINATION lib + EXPORT unofficial-libideviceactivation + FILE unofficial-libideviceactivation-config.cmake + DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/unofficial-libideviceactivation" + NAMESPACE unofficial::libideviceactivation:: ) + +install( + FILES ${LIBIDEVICEACTIVATION_HEADER} + DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" +) + +set(LIBPLIST_VERSION 2.0) +set(LIBIMOBILEDEVICE_VERSION 1.0) +set(LIBCURL_VERSION 7.0) +set(LIBXML2_VERSION 2.0) +set(PACKAGE_NAME libideviceactivation) +set(PACKAGE_VERSION 1.0) +set(prefix "") +set(exec_prefix "\${prefix}") +set(libdir "\${prefix}/lib") +set(includedir "\${prefix}/include") + configure_file( - ${CMAKE_CURRENT_SOURCE_DIR}/src/libideviceactivation-1.0.pc.in - ${CMAKE_CURRENT_BINARY_DIR}/libideviceactivation-1.0.pc + "${CMAKE_CURRENT_SOURCE_DIR}/src/libideviceactivation-1.0.pc.in" + "${CMAKE_CURRENT_BINARY_DIR}/libideviceactivation-1.0.pc" @ONLY ) install( - FILES ${CMAKE_CURRENT_BINARY_DIR}/libideviceactivation-1.0.pc - DESTINATION lib/pkgconfig + FILES "${CMAKE_CURRENT_BINARY_DIR}/libideviceactivation-1.0.pc" + DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig" ) -install(FILES ${IDVCACTV_PUBLIC_HDR} DESTINATION include) \ No newline at end of file +if(BUILD_TOOLS) + add_executable(ideviceactivation "tools/ideviceactivation.c") + target_compile_definitions(ideviceactivation PRIVATE + -DPACKAGE_VERSION="1.1.1" + -DPACKAGE_URL="https://github.com/libimobiledevice/libideviceactivation" + -DPACKAGE_BUGREPORT="https://github.com/libimobiledevice/libideviceactivation/issues" + ) + if(WIN32) + target_compile_definitions(ideviceactivation PRIVATE + -D_CRT_SECURE_NO_WARNINGS + -DWIN32_LEAN_AND_MEAN + -DWIN32 + ) + endif() + target_link_libraries(ideviceactivation PRIVATE libideviceactivation) + + install( + TARGETS ideviceactivation + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" + ) +endif() diff --git a/ports/libideviceactivation/exports.def b/ports/libideviceactivation/exports.def new file mode 100644 index 00000000000000..346b0c83b1216d --- /dev/null +++ b/ports/libideviceactivation/exports.def @@ -0,0 +1,31 @@ +EXPORTS + idevice_activation_set_debug_level + idevice_activation_request_new + idevice_activation_request_new_from_lockdownd + idevice_activation_drm_handshake_request_new + idevice_activation_request_free + idevice_activation_request_get_fields + idevice_activation_request_set_fields + idevice_activation_request_set_fields_from_response + idevice_activation_request_set_field + idevice_activation_request_get_field + idevice_activation_request_get_url + idevice_activation_request_set_url + idevice_activation_response_new + idevice_activation_response_new_from_html + idevice_activation_response_to_buffer + idevice_activation_response_free + idevice_activation_response_get_field + idevice_activation_response_get_fields + idevice_activation_response_get_label + idevice_activation_response_get_placeholder + idevice_activation_response_get_title + idevice_activation_response_get_description + idevice_activation_response_get_activation_record + idevice_activation_response_get_headers + idevice_activation_response_is_activation_acknowledged + idevice_activation_response_is_authentication_required + idevice_activation_response_field_requires_input + idevice_activation_response_field_secure_input + idevice_activation_response_has_errors + idevice_activation_send_request diff --git a/ports/libideviceactivation/portfile.cmake b/ports/libideviceactivation/portfile.cmake index e438cba37ed8f1..db91abae0bf8a6 100644 --- a/ports/libideviceactivation/portfile.cmake +++ b/ports/libideviceactivation/portfile.cmake @@ -1,21 +1,47 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO libimobiledevice-win32/libideviceactivation - REF fbe0476cfeddc2fc317ceb900eec12302c1d4c11 # v1.3.17 - SHA512 18fdf1b42744da33e0f0f037e83a72b76cc0b63a0b712e78d9736adcde113582327f3712bc2bfa7b6fdb692465700a9106286f383fd7d11f9351ca7939b20e24 - HEAD_REF msvc-master + REPO libimobiledevice/libideviceactivation + REF 067c439e0b18d6f1c8a37dde791f9d91191a922e # commits on 2023-05-01 + SHA512 0afd74720abc6a1e47e035243879d291444b27667ce0a1908a4e66fea92185ff002e5390a1911ae95dc05d0bb0518a0043c77b531edcc5ac8b59c913aea9d487 + HEAD_REF master + PATCHES + 001_fix_static_build.patch + 002_fix_api.patch + 003_fix_tools_msvc.patch ) -configure_file("${CURRENT_PORT_DIR}/CMakeLists.txt" "${SOURCE_PATH}/CMakeLists.txt" COPYONLY) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") +file(COPY "${CMAKE_CURRENT_LIST_DIR}/exports.def" DESTINATION "${SOURCE_PATH}") + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + tools BUILD_TOOLS +) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} ) vcpkg_cmake_install() -vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-${PORT}) +vcpkg_fixup_pkgconfig() +if("tools" IN_LIST FEATURES) + vcpkg_copy_tools(TOOL_NAMES ideviceactivation AUTO_CLEAN) +endif() + +file(READ "${CURRENT_PACKAGES_DIR}/share/unofficial-${PORT}/unofficial-${PORT}-config.cmake" cmake_config) +file(WRITE "${CURRENT_PACKAGES_DIR}/share/unofficial-${PORT}/unofficial-${PORT}-config.cmake" +"include(CMakeFindDependencyMacro) +find_dependency(unofficial-libplist CONFIG) +find_dependency(unofficial-libimobiledevice CONFIG) +find_dependency(CURL CONFIG) +find_dependency(LibXml2 CONFIG) +${cmake_config} +") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -# Handle copyright -file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME 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/libideviceactivation/usage b/ports/libideviceactivation/usage new file mode 100644 index 00000000000000..7ba822f370d8be --- /dev/null +++ b/ports/libideviceactivation/usage @@ -0,0 +1,4 @@ +libideviceactivation provides CMake targets: + + find_package(unofficial-libideviceactivation CONFIG REQUIRED) + target_link_libraries(main PRIVATE unofficial::libideviceactivation::libideviceactivation) diff --git a/ports/libideviceactivation/vcpkg.json b/ports/libideviceactivation/vcpkg.json index 7eadb89a3f17cb..855b589ca76c26 100644 --- a/ports/libideviceactivation/vcpkg.json +++ b/ports/libideviceactivation/vcpkg.json @@ -1,7 +1,11 @@ { "name": "libideviceactivation", - "version": "1.3.17", + "version-date": "2023-05-01", + "port-version": 1, "description": "A library to handle the activation process of iOS devices", + "homepage": "https://libimobiledevice.org/", + "license": "LGPL-2.1-or-later", + "supports": "!uwp", "dependencies": [ "curl", "libimobiledevice", @@ -10,6 +14,16 @@ { "name": "vcpkg-cmake", "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "tools": { + "description": "build command line tool", + "supports": "!android & !ios & !xbox" } - ] + } } diff --git a/ports/libidn2/CMakeLists.txt b/ports/libidn2/CMakeLists.txt deleted file mode 100644 index f8e0908f418f1a..00000000000000 --- a/ports/libidn2/CMakeLists.txt +++ /dev/null @@ -1,117 +0,0 @@ -cmake_minimum_required(VERSION 3.8) - -project(libidn2 C) - -find_package(Iconv REQUIRED) - -if(MSVC) - add_definitions(-D_CRT_SECURE_NO_DEPRECATE) - add_definitions(-D_CRT_NONSTDC_NO_DEPRECATE) -endif() - -add_definitions(-DIDN2_BUILDING) - -if(NOT BUILD_SHARED_LIBS) - add_definitions(-DIDN2_STATIC) -endif() - -# List the source files -set(LIB_SRC lib/bidi.c - lib/context.c - lib/data.c - lib/decode.c - lib/error.c - lib/free.c - lib/idna.c - lib/lookup.c - lib/puny_decode.c - lib/puny_encode.c - lib/register.c - lib/tables.c - lib/tr46map.c - lib/tr46map_data.c - lib/version.c -) - -# List the libunistring source files -set(UNISTR_SRC unistring/c-ctype.c - unistring/c-strcasecmp.c - unistring/c-strncasecmp.c - unistring/malloca.c - unistring/striconveh.c - unistring/striconveha.c - unistring/uniconv/u8-conv-from-enc.c - unistring/uniconv/u8-strconv-from-enc.c - unistring/uniconv/u8-strconv-from-locale.c - unistring/uniconv/u8-strconv-to-enc.c - unistring/uniconv/u8-strconv-to-locale.c - unistring/unistr/u32-cpy.c - unistring/unistr/u32-cpy-alloc.c - unistring/unistr/u32-mbtouc-unsafe.c - unistring/unistr/u32-strlen.c - unistring/unistr/u32-to-u8.c - unistring/unistr/u32-uctomb.c - unistring/unistr/u8-check.c - unistring/unistr/u8-mblen.c - unistring/unistr/u8-mbtouc.c - unistring/unistr/u8-mbtouc-aux.c - unistring/unistr/u8-mbtouc-unsafe.c - unistring/unistr/u8-mbtouc-unsafe-aux.c - unistring/unistr/u8-mbtoucr.c - unistring/unistr/u8-prev.c - unistring/unistr/u8-strlen.c - unistring/unistr/u8-to-u32.c - unistring/unistr/u8-uctomb.c - unistring/unistr/u8-uctomb-aux.c - unistring/uninorm/canonical-decomposition.c - unistring/uninorm/composition.c - unistring/uninorm/decompose-internal.c - unistring/uninorm/decomposition-table.c - unistring/uninorm/nfc.c - unistring/uninorm/nfd.c - unistring/uninorm/u32-normalize.c - unistring/unictype/bidi_of.c - unistring/unictype/categ_M.c - unistring/unictype/categ_none.c - unistring/unictype/categ_of.c - unistring/unictype/categ_test.c - unistring/unictype/combiningclass.c - unistring/unictype/joiningtype_of.c - unistring/unictype/scripts.c -) - -# List the gnulib source files -set(GL_SRC gl/rawmemchr.c - gl/strchrnul.c - gl/strverscmp.c - gl/msvc-inval.c - gl/msvc-nothrow.c -) - -add_library(libidn2 ${LIB_SRC} ${UNISTR_SRC} ${GL_SRC}) -set_target_properties(libidn2 - PROPERTIES - OUTPUT_NAME idn2 - PREFIX lib - IMPORT_PREFIX lib -) - -target_include_directories(libidn2 PRIVATE . ./unistring ./gl) -target_link_libraries(libidn2 PRIVATE Iconv::Iconv) - -install(TARGETS libidn2 - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib) - -install(FILES lib/idn2.h DESTINATION include) - -# Install pc file -set(prefix "\${pcfiledir}/../..") -set(exec_prefix "\${prefix}") -set(includedir "\${prefix}/include") -set(libdir "\${prefix}/lib") -set(LTLIBICONV "") -set(LTLIBUNISTRING "") -configure_file("libidn2.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/libidn2.pc") -install(FILES "${CMAKE_CURRENT_BINARY_DIR}/libidn2.pc" DESTINATION "lib/pkgconfig") diff --git a/ports/libidn2/config.h b/ports/libidn2/config.h deleted file mode 100644 index 5d5e6efcca5087..00000000000000 --- a/ports/libidn2/config.h +++ /dev/null @@ -1,995 +0,0 @@ -/* config.h. Generated from config.h.in by configure. */ -/* config.h.in. Generated from configure.ac by autoheader. */ - -/* Define to the number of bits in type 'ptrdiff_t'. */ -/* #undef BITSIZEOF_PTRDIFF_T */ - -/* Define to the number of bits in type 'sig_atomic_t'. */ -/* #undef BITSIZEOF_SIG_ATOMIC_T */ - -/* Define to the number of bits in type 'size_t'. */ -/* #undef BITSIZEOF_SIZE_T */ - -/* Define to the number of bits in type 'wchar_t'. */ -/* #undef BITSIZEOF_WCHAR_T */ - -/* Define to the number of bits in type 'wint_t'. */ -/* #undef BITSIZEOF_WINT_T */ - -/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP - systems. This function is required for `alloca.c' support on those systems. - */ -/* #undef CRAY_STACKSEG_END */ - -/* Define to 1 if using `alloca.c'. */ -/* #undef C_ALLOCA */ - -/* Define to 1 if // is a file system root distinct from /. */ -/* #undef DOUBLE_SLASH_IS_DISTINCT_ROOT */ - -/* Define to 1 if translation of program messages to the user's native - language is requested. */ -/* #undef ENABLE_NLS */ - -/* Define to a C preprocessor expression that evaluates to 1 or 0, depending - whether the gnulib module fscanf shall be considered present. */ -#define GNULIB_FSCANF 1 - -/* Define to a C preprocessor expression that evaluates to 1 or 0, depending - whether the gnulib module msvc-nothrow shall be considered present. */ -#define GNULIB_MSVC_NOTHROW 1 - -/* Define to 1 if printf and friends should be labeled with attribute - "__gnu_printf__" instead of "__printf__" */ -#define GNULIB_PRINTF_ATTRIBUTE_FLAVOR_GNU 1 - -/* Define to a C preprocessor expression that evaluates to 1 or 0, depending - whether the gnulib module scanf shall be considered present. */ -#define GNULIB_SCANF 1 - -/* Define to a C preprocessor expression that evaluates to 1 or 0, depending - whether the gnulib module strerror shall be considered present. */ -#define GNULIB_STRERROR 1 - -/* Define to 1 when the gnulib module getdelim should be tested. */ -/* #undef GNULIB_TEST_GETDELIM */ - -/* Define to 1 when the gnulib module getline should be tested. */ -/* #undef GNULIB_TEST_GETLINE */ - -/* Define to 1 when the gnulib module malloc-posix should be tested. */ -/* #undef GNULIB_TEST_MALLOC_POSIX */ - -/* Define to 1 when the gnulib module rawmemchr should be tested. */ -/* #undef GNULIB_TEST_RAWMEMCHR */ - -/* Define to 1 when the gnulib module strchrnul should be tested. */ -/* #undef GNULIB_TEST_STRCHRNUL */ - -/* Define to 1 when the gnulib module strerror should be tested. */ -/* #undef GNULIB_TEST_STRERROR */ - -/* Define to 1 when the gnulib module strverscmp should be tested. */ -/* #undef GNULIB_TEST_STRVERSCMP */ - -/* Define to 1 when the gnulib module uninorm/u32-normalize should be tested. - */ -/* #undef GNULIB_TEST_UNINORM_U32_NORMALIZE */ - -/* Define to a C preprocessor expression that evaluates to 1 or 0, depending - whether the gnulib module unistr/u32-mbtouc-unsafe shall be considered - present. */ -#define GNULIB_UNISTR_U32_MBTOUC_UNSAFE 1 - -/* Define to a C preprocessor expression that evaluates to 1 or 0, depending - whether the gnulib module unistr/u32-uctomb shall be considered present. */ -#define GNULIB_UNISTR_U32_UCTOMB 1 - -/* Define to a C preprocessor expression that evaluates to 1 or 0, depending - whether the gnulib module unistr/u8-mbtouc shall be considered present. */ -#define GNULIB_UNISTR_U8_MBTOUC 1 - -/* Define to a C preprocessor expression that evaluates to 1 or 0, depending - whether the gnulib module unistr/u8-mbtoucr shall be considered present. */ -#define GNULIB_UNISTR_U8_MBTOUCR 1 - -/* Define to a C preprocessor expression that evaluates to 1 or 0, depending - whether the gnulib module unistr/u8-mbtouc-unsafe shall be considered - present. */ -#define GNULIB_UNISTR_U8_MBTOUC_UNSAFE 1 - -/* Define to a C preprocessor expression that evaluates to 1 or 0, depending - whether the gnulib module unistr/u8-uctomb shall be considered present. */ -#define GNULIB_UNISTR_U8_UCTOMB 1 - -/* Define to 1 if you have 'alloca' after including , a header that - may be supplied by this distribution. */ -#define HAVE_ALLOCA 1 - -/* Define to 1 if you have and it should be used (not on Ultrix). - */ -/* #undef HAVE_ALLOCA_H */ - -/* Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the - CoreFoundation framework. */ -/* #undef HAVE_CFLOCALECOPYCURRENT */ - -/* Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in - the CoreFoundation framework. */ -/* #undef HAVE_CFPREFERENCESCOPYAPPVALUE */ - -/* Define if the GNU dcgettext() function is already present or preinstalled. - */ -#define HAVE_DCGETTEXT 1 - -/* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you - don't. */ -#define HAVE_DECL_GETC_UNLOCKED 0 - -/* Define to 1 if you have the declaration of `getdelim', and to 0 if you - don't. */ -#define HAVE_DECL_GETDELIM 0 - -/* Define to 1 if you have the declaration of `getline', and to 0 if you - don't. */ -#define HAVE_DECL_GETLINE 0 - -/* Define to 1 if you have the declaration of `program_invocation_name', and - to 0 if you don't. */ -#define HAVE_DECL_PROGRAM_INVOCATION_NAME 0 - -/* Define to 1 if you have the declaration of `program_invocation_short_name', - and to 0 if you don't. */ -#define HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME 0 - -/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you - don't. */ -#define HAVE_DECL_STRERROR_R 0 - -/* Define to 1 if you have the declaration of `__argv', and to 0 if you don't. - */ -#define HAVE_DECL___ARGV 1 - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_DLFCN_H */ - -/* Define to 1 if you have the `flockfile' function. */ -/* #undef HAVE_FLOCKFILE */ - -/* Define to 1 if you have the `funlockfile' function. */ -/* #undef HAVE_FUNLOCKFILE */ - -/* Define to 1 if you have the 'getdelim' function. */ -/* #undef HAVE_GETDELIM */ - -/* Define to 1 if you have the 'getexecname' function. */ -/* #undef HAVE_GETEXECNAME */ - -/* Define to 1 if you have the 'getprogname' function. */ -/* #undef HAVE_GETPROGNAME */ - -/* Define if the GNU gettext() function is already present or preinstalled. */ -#define HAVE_GETTEXT 1 - -/* Define if you have the iconv() function and it works. */ -#define HAVE_ICONV 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_ICONV_H 1 - -/* Define to 1 if the compiler supports one of the keywords 'inline', - '__inline__', '__inline' and effectively inlines functions marked as such. - */ -#define HAVE_INLINE 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_INTTYPES_H 1 - -/* Define if you have and nl_langinfo(CODESET). */ -/* #undef HAVE_LANGINFO_CODESET */ - -/* Define if you have the libunistring library. */ -/* #undef HAVE_LIBUNISTRING */ - -/* Define to 1 if you have the header file. */ -#define HAVE_LIMITS_H 1 - -/* Define to 1 if the system has the type 'long long int'. */ -#define HAVE_LONG_LONG_INT 1 - -/* Define if the 'malloc' function is POSIX compliant. */ -/* #undef HAVE_MALLOC_POSIX */ - -/* Define to 1 if you have the header file. */ -#define HAVE_MEMORY_H 1 - -/* Define to 1 on MSVC platforms that have the "invalid parameter handler" - concept. */ -#define HAVE_MSVC_INVALID_PARAMETER_HANDLER 1 - -/* Define to 1 if you have the `rawmemchr' function. */ -/* #undef HAVE_RAWMEMCHR */ - -/* Define to 1 if atoll is declared even after undefining macros. */ -#define HAVE_RAW_DECL_ATOLL 1 - -/* Define to 1 if canonicalize_file_name is declared even after undefining - macros. */ -/* #undef HAVE_RAW_DECL_CANONICALIZE_FILE_NAME */ - -/* Define to 1 if chdir is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_CHDIR */ - -/* Define to 1 if chown is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_CHOWN */ - -/* Define to 1 if dprintf is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_DPRINTF */ - -/* Define to 1 if dup is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_DUP */ - -/* Define to 1 if dup2 is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_DUP2 */ - -/* Define to 1 if dup3 is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_DUP3 */ - -/* Define to 1 if endusershell is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_ENDUSERSHELL */ - -/* Define to 1 if environ is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_ENVIRON */ - -/* Define to 1 if euidaccess is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_EUIDACCESS */ - -/* Define to 1 if faccessat is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_FACCESSAT */ - -/* Define to 1 if fchdir is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_FCHDIR */ - -/* Define to 1 if fchownat is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_FCHOWNAT */ - -/* Define to 1 if fdatasync is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_FDATASYNC */ - -/* Define to 1 if ffsl is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_FFSL */ - -/* Define to 1 if ffsll is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_FFSLL */ - -/* Define to 1 if fpurge is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_FPURGE */ - -/* Define to 1 if fseeko is declared even after undefining macros. */ -#define HAVE_RAW_DECL_FSEEKO 1 - -/* Define to 1 if fsync is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_FSYNC */ - -/* Define to 1 if ftello is declared even after undefining macros. */ -#define HAVE_RAW_DECL_FTELLO 1 - -/* Define to 1 if ftruncate is declared even after undefining macros. */ -#define HAVE_RAW_DECL_FTRUNCATE 1 - -/* Define to 1 if getcwd is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_GETCWD */ - -/* Define to 1 if getdelim is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_GETDELIM */ - -/* Define to 1 if getdomainname is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_GETDOMAINNAME */ - -/* Define to 1 if getdtablesize is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_GETDTABLESIZE */ - -/* Define to 1 if getgroups is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_GETGROUPS */ - -/* Define to 1 if gethostname is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_GETHOSTNAME */ - -/* Define to 1 if getline is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_GETLINE */ - -/* Define to 1 if getloadavg is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_GETLOADAVG */ - -/* Define to 1 if getlogin is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_GETLOGIN */ - -/* Define to 1 if getlogin_r is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_GETLOGIN_R */ - -/* Define to 1 if getpagesize is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_GETPAGESIZE */ - -/* Define to 1 if gets is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_GETS */ - -/* Define to 1 if getsubopt is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_GETSUBOPT */ - -/* Define to 1 if getusershell is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_GETUSERSHELL */ - -/* Define to 1 if grantpt is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_GRANTPT */ - -/* Define to 1 if group_member is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_GROUP_MEMBER */ - -/* Define to 1 if initstate is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_INITSTATE */ - -/* Define to 1 if initstate_r is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_INITSTATE_R */ - -/* Define to 1 if isatty is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_ISATTY */ - -/* Define to 1 if lchown is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_LCHOWN */ - -/* Define to 1 if link is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_LINK */ - -/* Define to 1 if linkat is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_LINKAT */ - -/* Define to 1 if lseek is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_LSEEK */ - -/* Define to 1 if memmem is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_MEMMEM */ - -/* Define to 1 if mempcpy is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_MEMPCPY */ - -/* Define to 1 if memrchr is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_MEMRCHR */ - -/* Define to 1 if mkdtemp is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_MKDTEMP */ - -/* Define to 1 if mkostemp is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_MKOSTEMP */ - -/* Define to 1 if mkostemps is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_MKOSTEMPS */ - -/* Define to 1 if mkstemp is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_MKSTEMP */ - -/* Define to 1 if mkstemps is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_MKSTEMPS */ - -/* Define to 1 if pclose is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_PCLOSE */ - -/* Define to 1 if pipe is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_PIPE */ - -/* Define to 1 if pipe2 is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_PIPE2 */ - -/* Define to 1 if popen is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_POPEN */ - -/* Define to 1 if posix_openpt is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_POSIX_OPENPT */ - -/* Define to 1 if pread is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_PREAD */ - -/* Define to 1 if ptsname is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_PTSNAME */ - -/* Define to 1 if ptsname_r is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_PTSNAME_R */ - -/* Define to 1 if pwrite is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_PWRITE */ - -/* Define to 1 if qsort_r is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_QSORT_R */ - -/* Define to 1 if random is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_RANDOM */ - -/* Define to 1 if random_r is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_RANDOM_R */ - -/* Define to 1 if rawmemchr is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_RAWMEMCHR */ - -/* Define to 1 if readlink is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_READLINK */ - -/* Define to 1 if readlinkat is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_READLINKAT */ - -/* Define to 1 if realpath is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_REALPATH */ - -/* Define to 1 if renameat is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_RENAMEAT */ - -/* Define to 1 if rmdir is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_RMDIR */ - -/* Define to 1 if rpmatch is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_RPMATCH */ - -/* Define to 1 if secure_getenv is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_SECURE_GETENV */ - -/* Define to 1 if setenv is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_SETENV */ - -/* Define to 1 if sethostname is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_SETHOSTNAME */ - -/* Define to 1 if setstate is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_SETSTATE */ - -/* Define to 1 if setstate_r is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_SETSTATE_R */ - -/* Define to 1 if setusershell is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_SETUSERSHELL */ - -/* Define to 1 if sleep is declared even after undefining macros. */ -#define HAVE_RAW_DECL_SLEEP 1 - -/* Define to 1 if snprintf is declared even after undefining macros. */ -#define HAVE_RAW_DECL_SNPRINTF 1 - -/* Define to 1 if srandom is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_SRANDOM */ - -/* Define to 1 if srandom_r is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_SRANDOM_R */ - -/* Define to 1 if stpcpy is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_STPCPY */ - -/* Define to 1 if stpncpy is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_STPNCPY */ - -/* Define to 1 if strcasestr is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_STRCASESTR */ - -/* Define to 1 if strchrnul is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_STRCHRNUL */ - -/* Define to 1 if strdup is declared even after undefining macros. */ -#define HAVE_RAW_DECL_STRDUP 1 - -/* Define to 1 if strerror_r is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_STRERROR_R */ - -/* Define to 1 if strncat is declared even after undefining macros. */ -#define HAVE_RAW_DECL_STRNCAT 1 - -/* Define to 1 if strndup is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_STRNDUP */ - -/* Define to 1 if strnlen is declared even after undefining macros. */ -#define HAVE_RAW_DECL_STRNLEN 1 - -/* Define to 1 if strpbrk is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_STRPBRK */ - -/* Define to 1 if strsep is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_STRSEP */ - -/* Define to 1 if strsignal is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_STRSIGNAL */ - -/* Define to 1 if strtod is declared even after undefining macros. */ -#define HAVE_RAW_DECL_STRTOD 1 - -/* Define to 1 if strtok_r is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_STRTOK_R */ - -/* Define to 1 if strtoll is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_STRTOLL */ - -/* Define to 1 if strtoull is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_STRTOULL */ - -/* Define to 1 if strverscmp is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_STRVERSCMP */ - -/* Define to 1 if symlink is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_SYMLINK */ - -/* Define to 1 if symlinkat is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_SYMLINKAT */ - -/* Define to 1 if tmpfile is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_TMPFILE */ - -/* Define to 1 if truncate is declared even after undefining macros. */ -#define HAVE_RAW_DECL_TRUNCATE 1 - -/* Define to 1 if ttyname_r is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_TTYNAME_R */ - -/* Define to 1 if unlink is declared even after undefining macros. */ -#define HAVE_RAW_DECL_UNLINK 1 - -/* Define to 1 if unlinkat is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_UNLINKAT */ - -/* Define to 1 if unlockpt is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_UNLOCKPT */ - -/* Define to 1 if unsetenv is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_UNSETENV */ - -/* Define to 1 if usleep is declared even after undefining macros. */ -#define HAVE_RAW_DECL_USLEEP 1 - -/* Define to 1 if vdprintf is declared even after undefining macros. */ -/* #undef HAVE_RAW_DECL_VDPRINTF */ - -/* Define to 1 if vsnprintf is declared even after undefining macros. */ -#define HAVE_RAW_DECL_VSNPRINTF 1 - -/* Define to 1 if _Exit is declared even after undefining macros. */ -#define HAVE_RAW_DECL__EXIT 1 - -/* Define to 1 if 'sig_atomic_t' is a signed integer type. */ -/* #undef HAVE_SIGNED_SIG_ATOMIC_T */ - -/* Define to 1 if 'wchar_t' is a signed integer type. */ -/* #undef HAVE_SIGNED_WCHAR_T */ - -/* Define to 1 if 'wint_t' is a signed integer type. */ -/* #undef HAVE_SIGNED_WINT_T */ - -/* Define to 1 if you have the header file. */ -#define HAVE_STDINT_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STDLIB_H 1 - -/* Define to 1 if you have the `strchrnul' function. */ -/* #undef HAVE_STRCHRNUL */ - -/* Define to 1 if you have the `strerror_r' function. */ -/* #undef HAVE_STRERROR_R */ - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_STRINGS_H */ - -/* Define to 1 if you have the header file. */ -#define HAVE_STRING_H 1 - -/* Define to 1 if you have the `strverscmp' function. */ -/* #undef HAVE_STRVERSCMP */ - -/* Define to 1 if you have the 'symlink' function. */ -/* #undef HAVE_SYMLINK */ - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_SYS_BITYPES_H */ - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_SYS_INTTYPES_H */ - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_SYS_SOCKET_H */ - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_STAT_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_TYPES_H 1 - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_UNISTD_H */ - -/* Define to 1 if the system has the type 'unsigned long long int'. */ -#define HAVE_UNSIGNED_LONG_LONG_INT 1 - -/* Define if you have a global __progname variable */ -/* #undef HAVE_VAR___PROGNAME */ - -/* Define to 1 or 0, depending whether the compiler supports simple visibility - declarations. */ -/* #undef HAVE_VISIBILITY */ - -/* Define to 1 if you have the header file. */ -#define HAVE_WCHAR_H 1 - -/* Define if you have the 'wchar_t' type. */ -#define HAVE_WCHAR_T 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_WINSOCK2_H 1 - -/* Define if you have the 'wint_t' type. */ -#define HAVE_WINT_T 1 - -/* Define to 1 if O_NOATIME works. */ -#define HAVE_WORKING_O_NOATIME 0 - -/* Define to 1 if O_NOFOLLOW works. */ -#define HAVE_WORKING_O_NOFOLLOW 0 - -/* Define to 1 if the system has the type `_Bool'. */ -#define HAVE__BOOL 1 - -/* Define to 1 if you have the '_set_invalid_parameter_handler' function. */ -#define HAVE__SET_INVALID_PARAMETER_HANDLER 1 - -/* Define as const if the declaration of iconv() needs const. */ -#define ICONV_CONST - -/* Define to a symbolic name denoting the flavor of iconv_open() - implementation. */ -/* #undef ICONV_FLAVOR */ - -/* Define to the sub-directory where libtool stores uninstalled libraries. */ -#define LT_OBJDIR ".libs/" - -/* If malloc(0) is != NULL, define this to 1. Otherwise define this to 0. */ -#define MALLOC_0_IS_NONNULL 1 - -/* Use GNU style printf and scanf. */ -#ifndef __USE_MINGW_ANSI_STDIO -# define __USE_MINGW_ANSI_STDIO 1 -#endif - - -/* Name of package */ -#define PACKAGE "libidn2" - -/* Define to the address where bug reports for this package should be sent. */ -#define PACKAGE_BUGREPORT "help-libidn@gnu.org" - -/* Define to the full name of this package. */ -#define PACKAGE_NAME "libidn2" - -/* String identifying the packager of this software */ -/* #undef PACKAGE_PACKAGER */ - -/* Packager info for bug reports (URL/e-mail/...) */ -/* #undef PACKAGE_PACKAGER_BUG_REPORTS */ - -/* Packager-specific version information */ -/* #undef PACKAGE_PACKAGER_VERSION */ - -/* Define to the full name and version of this package. */ -#define PACKAGE_STRING "libidn2 @IDN2_VERSION@" - -/* Define to the one symbol short name of this package. */ -#define PACKAGE_TARNAME "libidn2" - -/* Define to the home page for this package. */ -#define PACKAGE_URL "https://www.gnu.org/software/libidn/#libidn2" - -/* Define to the version of this package. */ -#define PACKAGE_VERSION "@IDN2_VERSION@" - -/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type - 'ptrdiff_t'. */ -/* #undef PTRDIFF_T_SUFFIX */ - -/* Define to 1 if strerror(0) does not return a message implying success. */ -/* #undef REPLACE_STRERROR_0 */ - -/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type - 'sig_atomic_t'. */ -/* #undef SIG_ATOMIC_T_SUFFIX */ - -/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type - 'size_t'. */ -/* #undef SIZE_T_SUFFIX */ - -/* If using the C implementation of alloca, define if you know the - direction of stack growth for your system; otherwise it will be - automatically deduced at runtime. - STACK_DIRECTION > 0 => grows toward higher addresses - STACK_DIRECTION < 0 => grows toward lower addresses - STACK_DIRECTION = 0 => direction of growth unknown */ -/* #undef STACK_DIRECTION */ - -/* Define to 1 if you have the ANSI C header files. */ -#define STDC_HEADERS 1 - -/* Define to 1 if strerror_r returns char *. */ -/* #undef STRERROR_R_CHAR_P */ - -/* Enable extensions on AIX 3, Interix. */ -#ifndef _ALL_SOURCE -# define _ALL_SOURCE 1 -#endif -/* Enable general extensions on macOS. */ -#ifndef _DARWIN_C_SOURCE -# define _DARWIN_C_SOURCE 1 -#endif -/* Enable GNU extensions on systems that have them. */ -#ifndef _GNU_SOURCE -# define _GNU_SOURCE 1 -#endif -/* Enable threading extensions on Solaris. */ -#ifndef _POSIX_PTHREAD_SEMANTICS -# define _POSIX_PTHREAD_SEMANTICS 1 -#endif -/* Enable extensions specified by ISO/IEC TS 18661-5:2014. */ -#ifndef __STDC_WANT_IEC_60559_ATTRIBS_EXT__ -# define __STDC_WANT_IEC_60559_ATTRIBS_EXT__ 1 -#endif -/* Enable extensions specified by ISO/IEC TS 18661-1:2014. */ -#ifndef __STDC_WANT_IEC_60559_BFP_EXT__ -# define __STDC_WANT_IEC_60559_BFP_EXT__ 1 -#endif -/* Enable extensions specified by ISO/IEC TS 18661-2:2015. */ -#ifndef __STDC_WANT_IEC_60559_DFP_EXT__ -# define __STDC_WANT_IEC_60559_DFP_EXT__ 1 -#endif -/* Enable extensions specified by ISO/IEC TS 18661-4:2015. */ -#ifndef __STDC_WANT_IEC_60559_FUNCS_EXT__ -# define __STDC_WANT_IEC_60559_FUNCS_EXT__ 1 -#endif -/* Enable extensions specified by ISO/IEC TS 18661-3:2015. */ -#ifndef __STDC_WANT_IEC_60559_TYPES_EXT__ -# define __STDC_WANT_IEC_60559_TYPES_EXT__ 1 -#endif -/* Enable extensions specified by ISO/IEC TR 24731-2:2010. */ -#ifndef __STDC_WANT_LIB_EXT2__ -# define __STDC_WANT_LIB_EXT2__ 1 -#endif -/* Enable extensions specified by ISO/IEC 24747:2009. */ -#ifndef __STDC_WANT_MATH_SPEC_FUNCS__ -# define __STDC_WANT_MATH_SPEC_FUNCS__ 1 -#endif -/* Enable extensions on HP NonStop. */ -#ifndef _TANDEM_SOURCE -# define _TANDEM_SOURCE 1 -#endif -/* Enable X/Open extensions if necessary. HP-UX 11.11 defines - mbstate_t only if _XOPEN_SOURCE is defined to 500, regardless of - whether compiling with -Ae or -D_HPUX_SOURCE=1. */ -#ifndef _XOPEN_SOURCE -/* # undef _XOPEN_SOURCE */ -#endif -/* Enable general extensions on Solaris. */ -#ifndef __EXTENSIONS__ -# define __EXTENSIONS__ 1 -#endif - - -/* Version number of package */ -#define VERSION "@IDN2_VERSION@" - -/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type - 'wchar_t'. */ -/* #undef WCHAR_T_SUFFIX */ - -/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type - 'wint_t'. */ -/* #undef WINT_T_SUFFIX */ - -/* Define to 1 if on MINIX. */ -/* #undef _MINIX */ - -/* Define to 1 to make NetBSD features available. MINIX 3 needs this. */ -/* #undef _NETBSD_SOURCE */ - -/* The _Noreturn keyword of C11. */ -#if ! (defined _Noreturn \ - || (defined __STDC_VERSION__ && 201112 <= __STDC_VERSION__)) -# if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \ - || 0x5110 <= __SUNPRO_C) -# define _Noreturn __attribute__ ((__noreturn__)) -# elif defined _MSC_VER && 1200 <= _MSC_VER -# define _Noreturn __declspec (noreturn) -# else -# define _Noreturn -# endif -#endif - - -/* Define to 2 if the system does not provide POSIX.1 features except with - this defined. */ -/* #undef _POSIX_1_SOURCE */ - -/* Define to 1 if you need to in order for 'stat' and other things to work. */ -/* #undef _POSIX_SOURCE */ - -/* For standard stat data types on VMS. */ -#define _USE_STD_STAT 1 - -/* Define to 1 if the system predates C++11. */ -/* #undef __STDC_CONSTANT_MACROS */ - -/* Define to 1 if the system predates C++11. */ -/* #undef __STDC_LIMIT_MACROS */ - -/* Please see the Gnulib manual for how to use these macros. - - Suppress extern inline with HP-UX cc, as it appears to be broken; see - . - - Suppress extern inline with Sun C in standards-conformance mode, as it - mishandles inline functions that call each other. E.g., for 'inline void f - (void) { } inline void g (void) { f (); }', c99 incorrectly complains - 'reference to static identifier "f" in extern inline function'. - This bug was observed with Sun C 5.12 SunOS_i386 2011/11/16. - - Suppress extern inline (with or without __attribute__ ((__gnu_inline__))) - on configurations that mistakenly use 'static inline' to implement - functions or macros in standard C headers like . For example, - if isdigit is mistakenly implemented via a static inline function, - a program containing an extern inline function that calls isdigit - may not work since the C standard prohibits extern inline functions - from calling static functions. This bug is known to occur on: - - OS X 10.8 and earlier; see: - http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html - - DragonFly; see - http://muscles.dragonflybsd.org/bulk/bleeding-edge-potential/latest-per-pkg/ah-tty-0.3.12.log - - FreeBSD; see: - http://lists.gnu.org/archive/html/bug-gnulib/2014-07/msg00104.html - - OS X 10.9 has a macro __header_inline indicating the bug is fixed for C and - for clang but remains for g++; see . - Assume DragonFly and FreeBSD will be similar. */ -#if (((defined __APPLE__ && defined __MACH__) \ - || defined __DragonFly__ || defined __FreeBSD__) \ - && (defined __header_inline \ - ? (defined __cplusplus && defined __GNUC_STDC_INLINE__ \ - && ! defined __clang__) \ - : ((! defined _DONT_USE_CTYPE_INLINE_ \ - && (defined __GNUC__ || defined __cplusplus)) \ - || (defined _FORTIFY_SOURCE && 0 < _FORTIFY_SOURCE \ - && defined __GNUC__ && ! defined __cplusplus)))) -# define _GL_EXTERN_INLINE_STDHEADER_BUG -#endif -#if ((__GNUC__ \ - ? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \ - : (199901L <= __STDC_VERSION__ \ - && !defined __HP_cc \ - && !defined __PGI \ - && !(defined __SUNPRO_C && __STDC__))) \ - && !defined _GL_EXTERN_INLINE_STDHEADER_BUG) -# define _GL_INLINE inline -# define _GL_EXTERN_INLINE extern inline -# define _GL_EXTERN_INLINE_IN_USE -#elif (2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __STRICT_ANSI__ \ - && !defined _GL_EXTERN_INLINE_STDHEADER_BUG) -# if defined __GNUC_GNU_INLINE__ && __GNUC_GNU_INLINE__ - /* __gnu_inline__ suppresses a GCC 4.2 diagnostic. */ -# define _GL_INLINE extern inline __attribute__ ((__gnu_inline__)) -# else -# define _GL_INLINE extern inline -# endif -# define _GL_EXTERN_INLINE extern -# define _GL_EXTERN_INLINE_IN_USE -#else -# define _GL_INLINE static _GL_UNUSED -# define _GL_EXTERN_INLINE static _GL_UNUSED -#endif - -/* In GCC 4.6 (inclusive) to 5.1 (exclusive), - suppress bogus "no previous prototype for 'FOO'" - and "no previous declaration for 'FOO'" diagnostics, - when FOO is an inline function in the header; see - and - . */ -#if __GNUC__ == 4 && 6 <= __GNUC_MINOR__ -# if defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ -# define _GL_INLINE_HEADER_CONST_PRAGMA -# else -# define _GL_INLINE_HEADER_CONST_PRAGMA \ - _Pragma ("GCC diagnostic ignored \"-Wsuggest-attribute=const\"") -# endif -# define _GL_INLINE_HEADER_BEGIN \ - _Pragma ("GCC diagnostic push") \ - _Pragma ("GCC diagnostic ignored \"-Wmissing-prototypes\"") \ - _Pragma ("GCC diagnostic ignored \"-Wmissing-declarations\"") \ - _GL_INLINE_HEADER_CONST_PRAGMA -# define _GL_INLINE_HEADER_END \ - _Pragma ("GCC diagnostic pop") -#else -# define _GL_INLINE_HEADER_BEGIN -# define _GL_INLINE_HEADER_END -#endif - -/* A replacement for va_copy, if needed. */ -#define gl_va_copy(a,b) ((a) = (b)) - -/* 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 -/* #undef inline */ -#endif - -/* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports - the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of - earlier versions), but does not display it by setting __GNUC_STDC_INLINE__. - __APPLE__ && __MACH__ test for Mac OS X. - __APPLE_CC__ tests for the Apple compiler and its version. - __STDC_VERSION__ tests for the C99 mode. */ -#if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__ -# define __GNUC_STDC_INLINE__ 1 -#endif - -/* Define to `int' if does not define. */ -/* #undef mode_t */ - -/* Define to `int' if does not define. */ -/* #undef pid_t */ - -/* Define to the equivalent of the C99 'restrict' keyword, or to - nothing if this is not supported. Do not define if restrict is - supported directly. */ -#define restrict __restrict -/* Work around a bug in Sun C++: it does not support _Restrict or - __restrict__, even though the corresponding Sun C compiler ends up with - "#define restrict _Restrict" or "#define restrict __restrict__" in the - previous line. Perhaps some future version of Sun C++ will work with - restrict; if so, hopefully it defines __RESTRICT like Sun C does. */ -#if defined __SUNPRO_CC && !defined __RESTRICT -# define _Restrict -# define __restrict__ -#endif - -/* Define to `unsigned int' if does not define. */ -/* #undef size_t */ - -/* Define as a signed type of the same size as size_t. */ -#define ssize_t intptr_t - -/* Define as a marker that can be attached to declarations that might not - be used. This helps to reduce warnings, such as from - GCC -Wunused-parameter. */ -#if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) -# define _GL_UNUSED __attribute__ ((__unused__)) -#else -# define _GL_UNUSED -#endif -/* The name _UNUSED_PARAMETER_ is an earlier spelling, although the name - is a misnomer outside of parameter lists. */ -#define _UNUSED_PARAMETER_ _GL_UNUSED - -/* gcc supports the "unused" attribute on possibly unused labels, and - g++ has since version 4.5. Note to support C++ as well as C, - _GL_UNUSED_LABEL should be used with a trailing ; */ -#if !defined __cplusplus || __GNUC__ > 4 \ - || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5) -# define _GL_UNUSED_LABEL _GL_UNUSED -#else -# define _GL_UNUSED_LABEL -#endif - -/* The __pure__ attribute was added in gcc 2.96. */ -#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) -# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) -#else -# define _GL_ATTRIBUTE_PURE /* empty */ -#endif - -/* The __const__ attribute was added in gcc 2.95. */ -#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) -# define _GL_ATTRIBUTE_CONST __attribute__ ((__const__)) -#else -# define _GL_ATTRIBUTE_CONST /* empty */ -#endif - - -/* Define as a macro for copying va_list variables. */ -/* #undef va_copy */ diff --git a/ports/libidn2/disable-subdirs.patch b/ports/libidn2/disable-subdirs.patch new file mode 100644 index 00000000000000..212b54643f8e4f --- /dev/null +++ b/ports/libidn2/disable-subdirs.patch @@ -0,0 +1,21 @@ +diff --git a/Makefile.am b/Makefile.am +index 3c8179c..f37158c 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -15,7 +15,7 @@ + + DISTCHECK_CONFIGURE_FLAGS ?= --enable-gtk-doc --enable-gtk-doc-pdf --disable-gcc-warnings + +-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-uwp.patch b/ports/libidn2/fix-uwp.patch new file mode 100644 index 00000000000000..b9a79ec9938eb3 --- /dev/null +++ b/ports/libidn2/fix-uwp.patch @@ -0,0 +1,42 @@ +diff --git a/gl/fcntl.c b/gl/fcntl.c +index f9753c4..ae71a4a 100644 +--- a/gl/fcntl.c ++++ b/gl/fcntl.c +@@ -229,12 +229,17 @@ fcntl (int fd, int action, /* arg */...) + { + # if defined _WIN32 && ! defined __CYGWIN__ + HANDLE handle = (HANDLE) _get_osfhandle (fd); ++# if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) + DWORD flags; + if (handle == INVALID_HANDLE_VALUE + || GetHandleInformation (handle, &flags) == 0) + errno = EBADF; + else + result = (flags & HANDLE_FLAG_INHERIT) ? 0 : FD_CLOEXEC; ++# else ++ if (handle == INVALID_HANDLE_VALUE) ++ errno = EBADF; ++# endif + # else /* !W32 */ + /* Use dup2 to reject invalid file descriptors. No way to + access this information, so punt. */ +diff --git a/gl/stat.c b/gl/stat.c +index adb6123..5afefb2 100644 +--- a/gl/stat.c ++++ b/gl/stat.c +@@ -194,6 +194,7 @@ rpl_stat (char const *name, struct stat *buf) + { + int ret; + ++#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) + { + /* Approach based on the file. */ + +@@ -219,6 +220,7 @@ rpl_stat (char const *name, struct stat *buf) + goto done; + } + } ++#endif + + /* Test for root and UNC root directories. */ + if ((rlen == drive_prefix_len + 1 && ISSLASH (rname[drive_prefix_len])) diff --git a/ports/libidn2/portfile.cmake b/ports/libidn2/portfile.cmake index f9ffcae787c32e..2f96553a4d42ac 100644 --- a/ports/libidn2/portfile.cmake +++ b/ports/libidn2/portfile.cmake @@ -1,72 +1,73 @@ -set(IDN2_VERSION 2.3.0) -set(IDN2_FILENAME libidn2-${IDN2_VERSION}.tar.gz) +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 a2bf6d2249948bce14fbbc802f8af1c9b427fc9bf64203a2f3d7239d8e6061d0a8e7970a23e8e5889110a654a321e0504c7a6d049bb501e7f6a23d42b50b6187 + SHA512 eab5702bc0baed45492f8dde43a4d2ea3560ad80645e5f9e0cfa8d3b57bccd7fd782d04638e000ba07924a5d9f85e760095b55189188c4017b94705bef9b4a66 ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH +vcpkg_extract_source_archive(SOURCE_PATH ARCHIVE "${ARCHIVE}" - REF ${IDN2_VERSION} + SOURCE_BASE "v${VERSION}" + PATCHES + disable-subdirs.patch + fix-uwp.patch ) -if (VCPKG_TARGET_IS_WINDOWS) - file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") - file(COPY "${CMAKE_CURRENT_LIST_DIR}/string.h" DESTINATION "${SOURCE_PATH}/gl") - - set(HAVE_ALLOCA_H 0) - - configure_file("${CMAKE_CURRENT_LIST_DIR}/config.h" "${SOURCE_PATH}") - - function(simple_copy_template_header FILE_PATH BASE_NAME) - if(NOT EXISTS "${FILE_PATH}/${BASE_NAME}.h" AND EXISTS "${FILE_PATH}/${BASE_NAME}.in.h") - configure_file("${FILE_PATH}/${BASE_NAME}.in.h" "${FILE_PATH}/${BASE_NAME}.h") - endif() - endfunction() - - # There seems to be no difference between source and destination files after 'configure' - # apart from auto-generated notification at the top. So why not just do a simple copy. - simple_copy_template_header("${SOURCE_PATH}/unistring" uniconv) - simple_copy_template_header("${SOURCE_PATH}/unistring" unictype) - simple_copy_template_header("${SOURCE_PATH}/unistring" uninorm) - simple_copy_template_header("${SOURCE_PATH}/unistring" unistr) - simple_copy_template_header("${SOURCE_PATH}/unistring" unitypes) - simple_copy_template_header("${SOURCE_PATH}/unistring" alloca) - - vcpkg_cmake_configure( - SOURCE_PATH "${SOURCE_PATH}" - OPTIONS - "-DPACKAGE_VERSION=${IDN2_VERSION}" - ) - - vcpkg_cmake_install() - - vcpkg_copy_pdbs() - - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") - +vcpkg_list(SET options) +if("nls" IN_LIST FEATURES) + vcpkg_list(APPEND options "--enable-nls") else() - set(ENV{GTKDOCIZE} true) - vcpkg_configure_make( - SOURCE_PATH "${SOURCE_PATH}" - AUTOCONFIG - COPY_SOURCE - OPTIONS - "--with-libiconv-prefix=${CURRENT_INSTALLED_DIR}" - --disable-gtk-doc - --disable-doc - ) - - vcpkg_install_make() - - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + vcpkg_list(APPEND options "--disable-nls") +endif() +set(ENV{AUTOPOINT} true) # true, the program + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + vcpkg_list(APPEND options "CPPFLAGS=\$CPPFLAGS -DIDN2_STATIC") endif() +set(ENV{GTKDOCIZE} true) +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG + COPY_SOURCE # include dir order problem + USE_WRAPPERS + OPTIONS + ${options} + --disable-gtk-doc + --disable-doc + --disable-gcc-warnings + OPTIONS_RELEASE + "--with-libiconv-prefix=${CURRENT_INSTALLED_DIR}" + "--with-libunistring-prefix=${CURRENT_INSTALLED_DIR}" + OPTIONS_DEBUG + "--with-libiconv-prefix=${CURRENT_INSTALLED_DIR}/debug" + "--with-libunistring-prefix=${CURRENT_INSTALLED_DIR}/debug" + "CFLAGS=\$CFLAGS -I${CURRENT_INSTALLED_DIR}/include" +) + +vcpkg_install_make() vcpkg_fixup_pkgconfig() +vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin") -# License and man -file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/libidn2" RENAME copyright) -file(INSTALL "${SOURCE_PATH}/doc/libidn2.pdf" DESTINATION "${CURRENT_PACKAGES_DIR}/share/libidn2") +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/idn2.h" "defined IDN2_STATIC" "1") +endif() + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug" +) + +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" + "${SOURCE_PATH}/COPYINGv2" + "${SOURCE_PATH}/COPYING.unicode" +) diff --git a/ports/libidn2/string.h b/ports/libidn2/string.h deleted file mode 100644 index 0147d8357fd45b..00000000000000 --- a/ports/libidn2/string.h +++ /dev/null @@ -1,14 +0,0 @@ -#ifndef _GL_STRING_H -#define _GL_STRING_H - -char * strchrnul (const char *s, int c_in); -int strverscmp (const char *s1, const char *s2); -void * rawmemchr (const void *s, int c_in); - -#if defined(__MINGW32__) -#include <../include/string.h> -#elif defined(_WIN32) -#include <../ucrt/string.h> -#endif - -#endif /* _GL_STRING_H */ diff --git a/ports/libidn2/vcpkg.json b/ports/libidn2/vcpkg.json index 9c00c1b155fd14..824238d9b166d7 100644 --- a/ports/libidn2/vcpkg.json +++ b/ports/libidn2/vcpkg.json @@ -1,19 +1,27 @@ { "name": "libidn2", - "version": "2.3.0", - "port-version": 4, + "version": "2.3.7", + "port-version": 1, "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", - { - "name": "libunistring", - "platform": "!(windows | mingw)" - }, - { - "name": "vcpkg-cmake", - "host": true, - "platform": "windows | mingw" + "libunistring" + ], + "features": { + "nls": { + "description": "Enable native language support", + "dependencies": [ + { + "name": "gettext", + "host": true, + "features": [ + "tools" + ] + }, + "gettext-libintl" + ] } - ] + } } diff --git a/ports/libigl/dependencies.patch b/ports/libigl/dependencies.patch new file mode 100644 index 00000000000000..b7c3fbdb1f0da9 --- /dev/null +++ b/ports/libigl/dependencies.patch @@ -0,0 +1,129 @@ +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 ++++ b/cmake/igl/modules/copyleft/cgal.cmake +@@ -14,13 +14,12 @@ file(GLOB SRC_FILES "${libigl_SOURCE_DIR}/include/igl/copyleft/cgal/*.cpp") + igl_target_sources(igl_copyleft_cgal ${INC_FILES} ${SRC_FILES}) + + # 4. Dependencies +-include(cgal) ++find_package(CGAL CONFIG REQUIRED COMPONENTS Core) + igl_include(copyleft core) + target_link_libraries(igl_copyleft_cgal ${IGL_SCOPE} + igl::core + igl_copyleft::core + CGAL::CGAL +- CGAL::CGAL_Core + ) + + # 5. Unit tests +diff --git a/cmake/igl/modules/core.cmake b/cmake/igl/modules/core.cmake +index 2aefcd6..137d30b 100644 +--- a/cmake/igl/modules/core.cmake ++++ b/cmake/igl/modules/core.cmake +@@ -20,7 +20,7 @@ igl_target_sources(igl_core ${INC_FILES} ${SRC_FILES}) + igl_install(igl_core ${INC_FILES} ${SRC_FILES}) + + # 5. Dependencies +-include(eigen) ++find_package(Eigen3 CONFIG REQUIRED) + find_package(Threads REQUIRED) + target_link_libraries(igl_core ${IGL_SCOPE} + Eigen3::Eigen +diff --git a/cmake/igl/modules/embree.cmake b/cmake/igl/modules/embree.cmake +index 6f22319..de85066 100644 +--- a/cmake/igl/modules/embree.cmake ++++ b/cmake/igl/modules/embree.cmake +@@ -14,10 +14,10 @@ file(GLOB SRC_FILES "${libigl_SOURCE_DIR}/include/igl/embree/*.cpp") + igl_target_sources(igl_embree ${INC_FILES} ${SRC_FILES}) + + # 4. Dependencies +-include(embree) ++find_package(embree 3 CONFIG REQUIRED) + target_link_libraries(igl_embree ${IGL_SCOPE} + igl::core +- embree::embree ++ $ + ) + + # 5. Unit tests +diff --git a/cmake/igl/modules/glfw.cmake b/cmake/igl/modules/glfw.cmake +index 79c2126..6d06775 100644 +--- a/cmake/igl/modules/glfw.cmake ++++ b/cmake/igl/modules/glfw.cmake +@@ -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 +-include(glfw) ++find_package(glfw3 CONFIG REQUIRED) + igl_include(opengl) + target_link_libraries(igl_glfw ${IGL_SCOPE} + igl::core + igl::opengl +- glfw::glfw ++ $ + ) + + # 5. Unit tests +diff --git a/cmake/igl/modules/imgui.cmake b/cmake/igl/modules/imgui.cmake +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") + igl_target_sources(igl_imgui ${INC_FILES} ${SRC_FILES}) + + # 4. Dependencies +-include(imgui) +-include(imguizmo) +-include(libigl_imgui_fonts) ++find_package(imgui CONFIG REQUIRED) ++find_package(imguizmo CONFIG REQUIRED) + igl_include(glfw) + target_link_libraries(igl_imgui ${IGL_SCOPE} + igl::core + igl::glfw + imgui::imgui +- 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 +--- a/cmake/igl/modules/opengl.cmake ++++ b/cmake/igl/modules/opengl.cmake +@@ -14,7 +14,7 @@ file(GLOB SRC_FILES "${libigl_SOURCE_DIR}/include/igl/opengl/*.cpp") + igl_target_sources(igl_opengl ${INC_FILES} ${SRC_FILES}) + + # 4. Dependencies +-include(glad) ++find_package(glad CONFIG REQUIRED) + find_package(OpenGL REQUIRED OPTIONAL_COMPONENTS OpenGL) + target_link_libraries(igl_opengl ${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 ++++ b/cmake/igl/modules/xml.cmake +@@ -14,7 +14,7 @@ file(GLOB SRC_FILES "${libigl_SOURCE_DIR}/include/igl/xml/*.cpp") + igl_target_sources(igl_xml ${INC_FILES} ${SRC_FILES}) + + # 4. Dependencies +-include(tinyxml2) ++find_package(tinyxml2 CONFIG REQUIRED) + target_link_libraries(igl_xml ${IGL_SCOPE} + igl::core + tinyxml2::tinyxml2 +diff --git a/cmake/recipes/external/comiso.cmake b/cmake/recipes/external/comiso.cmake +index d2879cb..5a0bd58 100644 +--- a/cmake/recipes/external/comiso.cmake ++++ b/cmake/recipes/external/comiso.cmake +@@ -11,7 +11,7 @@ FetchContent_Declare( + GIT_TAG 536440e714f412e7ef6c0b96b90ba37b1531bb39 + ) + +-include(eigen) ++find_package(Eigen3 CONFIG REQUIRED) + + FetchContent_MakeAvailable(comiso) + diff --git a/ports/libigl/fix-config.patch b/ports/libigl/fix-config.patch deleted file mode 100644 index 523569b05cac48..00000000000000 --- a/ports/libigl/fix-config.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff --git a/cmake/libigl-config.cmake.in b/cmake/libigl-config.cmake.in -index 21aa2468..0aa6d8a0 100644 ---- a/cmake/libigl-config.cmake.in -+++ b/cmake/libigl-config.cmake.in -@@ -27,5 +27,23 @@ if (TARGET igl::common) - endif() - endif() - -+ include(CMakeFindDependencyMacro) -+if (TARGET igl::embree) -+ find_dependency(embree 3 CONFIG REQUIRED) -+endif() -+if (TARGET igl::xml) -+ find_dependency(tinyxml2 CONFIG REQUIRED) -+endif() -+if (TARGET igl::opengl) -+ find_dependency(OpenGL REQUIRED) -+ find_dependency(glad CONFIG REQUIRED) -+ if (TARGET igl::opengl_glfw) -+ find_dependency(glfw3 CONFIG REQUIRED) -+ if (TARGET igl::opengl_glfw_imgui) -+ find_dependency(imgui CONFIG REQUIRED) -+ endif() -+ endif() -+endif() -+ - check_required_components(libigl) - diff --git a/ports/libigl/fix-dependency.patch b/ports/libigl/fix-dependency.patch deleted file mode 100644 index f7ed9f7f2245b4..00000000000000 --- a/ports/libigl/fix-dependency.patch +++ /dev/null @@ -1,213 +0,0 @@ -diff --git a/cmake/LibiglWindows.cmake b/cmake/LibiglWindows.cmake -index b98aa55..46c68a7 100644 ---- a/cmake/LibiglWindows.cmake -+++ b/cmake/LibiglWindows.cmake -@@ -1,4 +1,4 @@ --if(MSVC) -+if(0) - option(IGL_STATIC_RUNTIME "Use libigl with the static MSVC runtime." OFF) - if(IGL_STATIC_RUNTIME) - message(STATUS "MSVC -> forcing use of statically-linked runtime.") -diff --git a/cmake/libigl.cmake b/cmake/libigl.cmake -index 6de1b41..46ecbf0 100644 ---- a/cmake/libigl.cmake -+++ b/cmake/libigl.cmake -@@ -107,7 +107,8 @@ if(HUNTER_ENABLED) - endif() - - # Eigen --if(NOT TARGET Eigen3::Eigen) -+find_package(Eigen3 CONFIG REQUIRED) -+if(0) - igl_download_eigen() - add_library(igl_eigen INTERFACE) - target_include_directories(igl_eigen SYSTEM INTERFACE -@@ -296,9 +297,9 @@ endif() - ################################################################################ - ### Compile the embree part ### - if(LIBIGL_WITH_EMBREE) -- set(EMBREE_DIR "${LIBIGL_EXTERNAL}/embree") -+ find_package(embree 3 CONFIG REQUIRED) - -- if(NOT TARGET embree) -+ if(0) - igl_download_embree() - - # Note: On macOS, building embree as a static lib can only be done with a single ISA target. -@@ -317,8 +318,11 @@ if(LIBIGL_WITH_EMBREE) - - compile_igl_module("embree") - target_link_libraries(igl_embree ${IGL_SCOPE} embree) -- target_include_directories(igl_embree ${IGL_SCOPE} ${EMBREE_DIR}/include) -- target_compile_definitions(igl_embree ${IGL_SCOPE} -DEMBREE_STATIC_LIB) -+ if(LIBIGL_USE_STATIC_LIBRARY) -+ find_package(TBB CONFIG REQUIRED) -+ target_link_libraries(igl_embree ${IGL_SCOPE} TBB::tbb) -+ target_compile_definitions(igl_embree ${IGL_SCOPE} -DEMBREE_STATIC_LIB) -+ endif() - endif() - - ################################################################################ -@@ -359,11 +363,12 @@ if(LIBIGL_WITH_OPENGL) - endif() - - # glad module -- if(NOT TARGET glad) -+ find_package(glad CONFIG REQUIRED) -+ if(0) - igl_download_glad() - add_subdirectory(${LIBIGL_EXTERNAL}/glad glad) - endif() -- target_link_libraries(igl_opengl ${IGL_SCOPE} glad) -+ target_link_libraries(igl_opengl ${IGL_SCOPE} glad::glad) - endif() - - ################################################################################ -@@ -372,7 +377,8 @@ if(LIBIGL_WITH_OPENGL_GLFW) - if(TARGET igl::opengl) - # GLFW module - compile_igl_module("opengl/glfw") -- if(NOT TARGET glfw) -+ find_package(glfw3 CONFIG REQUIRED) -+ if(0) - igl_download_glfw() - option(GLFW_BUILD_EXAMPLES "Build the GLFW example programs" OFF) - option(GLFW_BUILD_TESTS "Build the GLFW test programs" OFF) -@@ -395,17 +401,19 @@ if(LIBIGL_WITH_OPENGL_GLFW_IMGUI) - if(TARGET igl::opengl_glfw) - # ImGui module - compile_igl_module("opengl/glfw/imgui") -- if(NOT TARGET imgui) -+ find_package(imgui CONFIG REQUIRED) -+ if(0) - igl_download_imgui() - add_subdirectory(${LIBIGL_EXTERNAL}/libigl-imgui imgui) - endif() -- if(NOT TARGET imguizmo) -+ find_package(imguizmo CONFIG REQUIRED) -+ if(0) - igl_download_imguizmo() - add_library(imguizmo ${LIBIGL_EXTERNAL}/imguizmo/ImGuizmo.cpp ${LIBIGL_EXTERNAL}/imguizmo/ImGuizmo.h) - target_compile_features(imguizmo PUBLIC cxx_std_11) - target_link_libraries(imguizmo PUBLIC imgui) - endif() -- target_link_libraries(igl_opengl_glfw_imgui ${IGL_SCOPE} igl_opengl_glfw imgui imguizmo) -+ target_link_libraries(igl_opengl_glfw_imgui ${IGL_SCOPE} igl_opengl_glfw imgui::imgui imguizmo::imguizmo) - endif() - endif() - -@@ -415,12 +423,22 @@ if(LIBIGL_WITH_PNG) - # png/ module is anomalous because it also depends on opengl it really should - # be moved into the opengl/ directory and namespace ... - if(TARGET igl_opengl) -- if(NOT TARGET stb_image) -+ find_path(stb_include_dir stb.h) -+ find_package(opengl REQUIRED) -+ find_package(libpng CONFIG REQUIRED) -+ find_package(glad CONFIG REQUIRED) -+ if (BUILD_SHARED_LIBS) -+ set(libpng_LIBRARIES png) -+ else() -+ set(libpng_LIBRARIES png_static) -+ endif() -+ if(0) - igl_download_stb() - add_subdirectory(${LIBIGL_EXTERNAL}/stb stb_image) - endif() - compile_igl_module("png" "") -- target_link_libraries(igl_png ${IGL_SCOPE} igl_stb_image igl_opengl) -+ target_include_directories(igl_png INTERFACE ${stb_include_dir}) -+ target_link_libraries(igl_png ${IGL_SCOPE} OpenGL::GL ${libpng_LIBRARIES} glad::glad) - endif() - endif() - -@@ -468,7 +486,8 @@ endif() - ### Compile the xml part ### - if(LIBIGL_WITH_XML) - set(TINYXML2_DIR "${LIBIGL_EXTERNAL}/tinyxml2") -- if(NOT TARGET tinyxml2) -+ find_package(tinyxml2 CONFIG REQUIRED) -+ if(0) - igl_download_tinyxml2() - add_library(tinyxml2 STATIC ${TINYXML2_DIR}/tinyxml2.cpp ${TINYXML2_DIR}/tinyxml2.h) - target_include_directories(tinyxml2 PUBLIC ${TINYXML2_DIR}) -@@ -478,8 +497,7 @@ if(LIBIGL_WITH_XML) - SOVERSION "3") - endif() - compile_igl_module("xml") -- target_link_libraries(igl_xml ${IGL_SCOPE} tinyxml2) -- target_include_directories(igl_xml ${IGL_SCOPE} ${TINYXML2_DIR}) -+ target_link_libraries(igl_xml ${IGL_SCOPE} tinyxml2::tinyxml2) - endif() - - ################################################################################ -diff --git a/include/igl/opengl/glfw/imgui/ImGuiHelpers.h b/include/igl/opengl/glfw/imgui/ImGuiHelpers.h -index 0663390..f35f097 100644 ---- a/include/igl/opengl/glfw/imgui/ImGuiHelpers.h -+++ b/include/igl/opengl/glfw/imgui/ImGuiHelpers.h -@@ -10,7 +10,7 @@ - - //////////////////////////////////////////////////////////////////////////////// - #include "ImGuiTraits.h" --#include -+#include - #include - #include - #include -diff --git a/include/igl/opengl/glfw/imgui/ImGuiMenu.cpp b/include/igl/opengl/glfw/imgui/ImGuiMenu.cpp -index c91c1cc..0836142 100644 ---- a/include/igl/opengl/glfw/imgui/ImGuiMenu.cpp -+++ b/include/igl/opengl/glfw/imgui/ImGuiMenu.cpp -@@ -9,7 +9,7 @@ - #include "ImGuiMenu.h" - #include "ImGuiHelpers.h" - #include --#include -+#include - #include - #include - #include -diff --git a/include/igl/opengl/glfw/imgui/ImGuiTraits.h b/include/igl/opengl/glfw/imgui/ImGuiTraits.h -index 7dae22a..e6911c5 100644 ---- a/include/igl/opengl/glfw/imgui/ImGuiTraits.h -+++ b/include/igl/opengl/glfw/imgui/ImGuiTraits.h -@@ -8,7 +8,7 @@ - #ifndef IGL_OPENGL_GLFW_IMGUI_IMGUITRAITS_H - #define IGL_OPENGL_GLFW_IMGUI_IMGUITRAITS_H - --#include -+#include - - // Extend ImGui by populating its namespace directly - namespace ImGui -diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt -index 2410c19..a7659a3 100644 ---- a/tests/CMakeLists.txt -+++ b/tests/CMakeLists.txt -@@ -15,12 +15,11 @@ igl_download_test_data() - set(IGL_TEST_DATA ${LIBIGL_EXTERNAL}/../tests/data) - - ### Download Catch2 unit test framework --igl_download_catch2() -+find_package(Catch2 CONFIG REQUIRED) - list(APPEND CMAKE_MODULE_PATH ${LIBIGL_EXTERNAL}/catch2/contrib) - - - # Add catch2 --add_subdirectory(${LIBIGL_EXTERNAL}/catch2 catch2) - - - # Create test executable -diff --git a/tutorial/106_ViewerMenu/main.cpp b/tutorial/106_ViewerMenu/main.cpp -index a8e49d6..c7946f9 100644 ---- a/tutorial/106_ViewerMenu/main.cpp -+++ b/tutorial/106_ViewerMenu/main.cpp -@@ -2,7 +2,7 @@ - #include - #include - #include --#include -+#include - #include - #include "tutorial_shared_path.h" - diff --git a/ports/libigl/install-extra-headers.patch b/ports/libigl/install-extra-headers.patch deleted file mode 100644 index 77ee2aa2aef8a2..00000000000000 --- a/ports/libigl/install-extra-headers.patch +++ /dev/null @@ -1,90 +0,0 @@ -diff --git a/cmake/libigl.cmake b/cmake/libigl.cmake -index a33cefa..0014375 100644 ---- a/cmake/libigl.cmake -+++ b/cmake/libigl.cmake -@@ -560,6 +560,85 @@ export( - # Install headers for core library - install_dir_files(core) - install_dir_files(copyleft) -+ -+if (LIBIGL_WITH_EMBREE) -+ install_dir_files(embree) -+# if(NOT LIBIGL_USE_STATIC_LIBRARY) -+ install(TARGETS igl_embree EXPORT igl-export) -+ export(TARGETS igl_embree -+ APPEND FILE libigl-export.cmake EXPORT_LINK_INTERFACE_LIBRARIES -+ ) -+# endif() -+endif() -+ -+if (LIBIGL_WITH_CGAL) -+ install_dir_files(copyleft/cgal) -+endif() -+ -+if (LIBIGL_WITH_COMISO) -+ install_dir_files(copyleft/comiso) -+endif() -+ -+if (LIBIGL_WITH_CORK) -+ install_dir_files(copyleft/cork) -+endif() -+ -+if (LIBIGL_WITH_TETGEN) -+ install_dir_files(copyleft/tetgen) -+endif() -+ -+if (LIBIGL_WITH_OPENGL OR LIBIGL_WITH_OPENGL_GLFW OR LIBIGL_WITH_OPENGL_GLFW_IMGUI) -+ install_dir_files(copyleft/opengl2) -+ install_dir_files(opengl) -+# if(NOT LIBIGL_USE_STATIC_LIBRARY) -+ install(TARGETS igl_opengl EXPORT igl-export) -+ export(TARGETS igl_opengl -+ APPEND FILE libigl-export.cmake EXPORT_LINK_INTERFACE_LIBRARIES -+ ) -+# endif() -+endif() -+ -+if (LIBIGL_WITH_OPENGL_GLFW OR LIBIGL_WITH_OPENGL_GLFW_IMGUI) -+ install_dir_files(opengl/glfw) -+# if(NOT LIBIGL_USE_STATIC_LIBRARY) -+ install(TARGETS igl_opengl_glfw EXPORT igl-export) -+ export(TARGETS igl_opengl_glfw -+ APPEND FILE libigl-export.cmake EXPORT_LINK_INTERFACE_LIBRARIES -+ ) -+# endif() -+endif() -+ -+if (LIBIGL_WITH_OPENGL_GLFW_IMGUI) -+ install_dir_files(opengl/glfw/imgui) -+# if(NOT LIBIGL_USE_STATIC_LIBRARY) -+ install(TARGETS igl_opengl_glfw_imgui EXPORT igl-export) -+ export(TARGETS igl_opengl_glfw_imgui -+ APPEND FILE libigl-export.cmake EXPORT_LINK_INTERFACE_LIBRARIES -+ ) -+# endif() -+endif() -+ -+if (LIBIGL_WITH_PNG) -+ install_dir_files(png) -+endif() -+ -+if (LIBIGL_WITH_PREDICATES) -+ install_dir_files(predicates) -+endif() -+ -+if (LIBIGL_WITH_TRIANGLE) -+ install_dir_files(triangle) -+endif() -+ -+if (LIBIGL_WITH_XML) -+ install_dir_files(xml) -+# if(NOT LIBIGL_USE_STATIC_LIBRARY) -+ install(TARGETS igl_xml EXPORT igl-export) -+ export(TARGETS igl_xml -+ APPEND FILE libigl-export.cmake EXPORT_LINK_INTERFACE_LIBRARIES -+ ) -+# endif() -+endif() - - # Write package configuration file - configure_package_config_file( diff --git a/ports/libigl/install-extra-targets.patch b/ports/libigl/install-extra-targets.patch new file mode 100644 index 00000000000000..040243382ad6b4 --- /dev/null +++ b/ports/libigl/install-extra-targets.patch @@ -0,0 +1,170 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 4a98749..bc121a5 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -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") + +- foreach(suffix IN ITEMS "") #"_restricted" "_copyleft") ++ foreach(suffix IN ITEMS "" "_copyleft") # "_restricted" + install(EXPORT LibiglTargets${suffix} + DESTINATION ${export_dest_dir} + NAMESPACE igl${suffix}:: +diff --git a/cmake/igl/libigl-config.cmake.in b/cmake/igl/libigl-config.cmake.in +index d3ff19f..60e50c7 100644 +--- a/cmake/igl/libigl-config.cmake.in ++++ b/cmake/igl/libigl-config.cmake.in +@@ -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) ++endif() ++if(TARGET igl::igl_glfw) ++ find_dependency(glfw3) ++endif() ++if(TARGET igl::igl_imgui) ++ find_dependency(imgui) ++ find_dependency(imguizmo) ++endif() ++if(TARGET igl::igl_opengl) ++ find_dependency(OpenGL) ++ find_dependency(glad) ++endif() ++if(TARGET igl::igl_xml) ++ find_dependency(tinyxml2) ++endif() ++ ++include("${CMAKE_CURRENT_LIST_DIR}/LibiglConfigTargets_copyleft.cmake" OPTIONAL) ++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 +--- a/cmake/igl/modules/copyleft/cgal.cmake ++++ b/cmake/igl/modules/copyleft/cgal.cmake +@@ -9,7 +9,7 @@ target_include_directories(igl_copyleft_cgal ${IGL_SCOPE} + ) + + # 3. Target sources +-file(GLOB INC_FILES "${libigl_SOURCE_DIR}/include/igl/copyleft/cgal/*.h") ++file(GLOB INC_FILES "${libigl_SOURCE_DIR}/include/igl/copyleft/cgal/*.h" "${libigl_SOURCE_DIR}/include/igl/copyleft/cgal/*.hpp") + file(GLOB SRC_FILES "${libigl_SOURCE_DIR}/include/igl/copyleft/cgal/*.cpp") + igl_target_sources(igl_copyleft_cgal ${INC_FILES} ${SRC_FILES}) + +@@ -22,6 +22,8 @@ target_link_libraries(igl_copyleft_cgal ${IGL_SCOPE} + CGAL::CGAL + ) + ++igl_install(igl_copyleft_cgal ${INC_FILES} ${SRC_FILES}) ++ + # 5. Unit tests + file(GLOB SRC_FILES + "${libigl_SOURCE_DIR}/tests/include/igl/copyleft/boolean/*.cpp" +@@ -31,3 +33,4 @@ igl_add_test(igl_copyleft_cgal ${SRC_FILES}) + if(TARGET test_igl_copyleft_cgal) + igl_copy_dll(test_igl_copyleft_cgal) + endif() ++ +diff --git a/cmake/igl/modules/copyleft/core.cmake b/cmake/igl/modules/copyleft/core.cmake +index 8d03a90..aff8241 100644 +--- a/cmake/igl/modules/copyleft/core.cmake ++++ b/cmake/igl/modules/copyleft/core.cmake +@@ -17,3 +17,5 @@ igl_target_sources(igl_copyleft_core ${INC_FILES} ${SRC_FILES}) + target_link_libraries(igl_copyleft_core ${IGL_SCOPE} + igl::core + ) ++ ++igl_install(igl_copyleft_core ${INC_FILES} ${SRC_FILES}) +diff --git a/cmake/igl/modules/core.cmake b/cmake/igl/modules/core.cmake +index 137d30b..597c26b 100644 +--- a/cmake/igl/modules/core.cmake ++++ b/cmake/igl/modules/core.cmake +@@ -12,8 +12,8 @@ target_include_directories(igl_core ${IGL_SCOPE} + ) + + # 3. Target sources +-file(GLOB INC_FILES "${libigl_SOURCE_DIR}/include/igl/*.h") +-file(GLOB SRC_FILES "${libigl_SOURCE_DIR}/include/igl/*.cpp") ++file(GLOB INC_FILES "${libigl_SOURCE_DIR}/include/igl/*.h" "${libigl_SOURCE_DIR}/include/igl/*.hpp") ++file(GLOB SRC_FILES "${libigl_SOURCE_DIR}/include/igl/*.cpp" "${libigl_SOURCE_DIR}/include/igl/*.c") + igl_target_sources(igl_core ${INC_FILES} ${SRC_FILES}) + + # 4. Install target & headers +diff --git a/cmake/igl/modules/embree.cmake b/cmake/igl/modules/embree.cmake +index de85066..c54949c 100644 +--- a/cmake/igl/modules/embree.cmake ++++ b/cmake/igl/modules/embree.cmake +@@ -20,6 +20,8 @@ target_link_libraries(igl_embree ${IGL_SCOPE} + $ + ) + ++igl_install(igl_embree ${INC_FILES} ${SRC_FILES}) ++ + # 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 6d06775..7126a23 100644 +--- a/cmake/igl/modules/glfw.cmake ++++ b/cmake/igl/modules/glfw.cmake +@@ -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 6152756..34359c6 100644 +--- a/cmake/igl/modules/imgui.cmake ++++ b/cmake/igl/modules/imgui.cmake +@@ -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..d3deaba 100644 +--- a/cmake/igl/modules/opengl.cmake ++++ b/cmake/igl/modules/opengl.cmake +@@ -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/xml.cmake b/cmake/igl/modules/xml.cmake +index 31ab979..815ea62 100644 +--- a/cmake/igl/modules/xml.cmake ++++ b/cmake/igl/modules/xml.cmake +@@ -19,3 +19,5 @@ target_link_libraries(igl_xml ${IGL_SCOPE} + igl::core + tinyxml2::tinyxml2 + ) ++ ++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 5917425cec5cb6..27c53e1412e526 100644 --- a/ports/libigl/portfile.cmake +++ b/ports/libigl/portfile.cmake @@ -1,53 +1,74 @@ -vcpkg_fail_port_install(ON_ARCH "arm" "arm64" ON_TARGET "uwp") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libigl/libigl - REF e60423e28c86b6aa2a3f6eb0112e8fd881f96777 #2.3.0 - SHA512 3fecb710825e58745c1d67eab694ee365a5b86151a5a1ca3758c1000c124059d38dbc78e8c6e941be6d85a716f928ed8fea42bb6007b8e24da0123332c2c96da + REF "v${VERSION}" + SHA512 39b92ec4c2479a3c0a8e99b2890643c9d76a7e5b61b485c1a3a5f5abff1da4e62b67b879dbcf6e18a43f98172fc9f87f0a6c92b99e2a1900e6f1d2e809899b11 HEAD_REF master PATCHES - fix-dependency.patch - install-extra-headers.patch - fix-config.patch + dependencies.patch + install-extra-targets.patch +) +file(REMOVE + "${SOURCE_PATH}/cmake/find/FindGMP.cmake" + "${SOURCE_PATH}/cmake/find/FindMPFR.cmake" + "${SOURCE_PATH}/cmake/recipes/external/boost.cmake" + "${SOURCE_PATH}/cmake/recipes/external/catch2.cmake" + "${SOURCE_PATH}/cmake/recipes/external/cgal.cmake" + "${SOURCE_PATH}/cmake/recipes/external/eigen.cmake" + "${SOURCE_PATH}/cmake/recipes/external/embree.cmake" + "${SOURCE_PATH}/cmake/recipes/external/glad.cmake" + "${SOURCE_PATH}/cmake/recipes/external/glfw.cmake" + "${SOURCE_PATH}/cmake/recipes/external/gmp.cmake" + "${SOURCE_PATH}/cmake/recipes/external/gmp_mpfr.cmake" + "${SOURCE_PATH}/cmake/recipes/external/imgui.cmake" + "${SOURCE_PATH}/cmake/recipes/external/imguizmo.cmake" + "${SOURCE_PATH}/cmake/recipes/external/libigl_imgui_fonts.cmake" + "${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 FEATURES - embree LIBIGL_WITH_EMBREE - opengl LIBIGL_WITH_OPENGL - glfw LIBIGL_WITH_OPENGL_GLFW - imgui LIBIGL_WITH_OPENGL_GLFW_IMGUI - #png LIBIGL_WITH_PNG # Disable this feature due to issue https://github.com/libigl/libigl/issues/1199 - xml LIBIGL_WITH_XML - #python LIBIGL_WITH_PYTHON # Python binding are in the process of being redone. + cgal LIBIGL_COPYLEFT_CGAL + embree LIBIGL_EMBREE + glfw LIBIGL_GLFW + imgui LIBIGL_IMGUI + opengl LIBIGL_OPENGL + xml LIBIGL_XML + # Features removed: missing binary libs / separate ports + comiso LIBIGL_COPYLEFT_COMISO + predicates LIBIGL_PREDICATES + tetgen LIBIGL_COPYLEFT_TETGEN + triangle LIBIGL_RESTRICTED_TRIANGLE ) +set(VCPKG_BUILD_TYPE release) # header-only vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" DISABLE_PARALLEL_CONFIGURE - OPTIONS ${FEATURE_OPTIONS} - -DLIBIGL_BUILD_PYTHON=OFF - -DLIBIGL_EXPORT_TARGETS=ON - -DLIBIGL_USE_STATIC_LIBRARY=OFF # Header-only mode - -DLIBIGL_WITH_COMISO=OFF - -DLIBIGL_WITH_TETGEN=OFF - -DLIBIGL_WITH_TRIANGLE=OFF - -DLIBIGL_WITH_PREDICATES=OFF - -DLIBIGL_BUILD_TUTORIALS=OFF - -DLIBIGL_WITH_PNG=OFF + OPTIONS + ${FEATURE_OPTIONS} -DLIBIGL_BUILD_TESTS=OFF - -DPYTHON_EXECUTABLE=${PYTHON2} - MAYBE_UNUSED_VARIABLES - PYTHON_EXECUTABLE + -DLIBIGL_BUILD_TUTORIALS=OFF + -DLIBIGL_INSTALL=ON + -DLIBIGL_RESTRICTED_MATLAB=OFF + -DLIBIGL_RESTRICTED_MOSEK=OFF + -DLIBIGL_USE_STATIC_LIBRARY=OFF + -DHUNTER_ENABLED=OFF + -DLIBIGL_SPECTRA=OFF + ${ADDITIONAL_OPTIONS} ) vcpkg_cmake_install() - -vcpkg_cmake_config_fixup(CONFIG_PATH share/libigl/cmake) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/igl) vcpkg_copy_pdbs() -# libigl is a header-only library. -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") -file(INSTALL "${SOURCE_PATH}/LICENSE.GPL" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) \ No newline at end of file +if(NOT LIBIGL_COPYLEFT_CGAL) + vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.MPL2") +else() + vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.MPL2" "${SOURCE_PATH}/LICENSE.GPL" COMMENT "GPL for targets in \"igl_copyleft::\" namespace.") +endif() diff --git a/ports/libigl/vcpkg.json b/ports/libigl/vcpkg.json index 22f523168347ec..ddc0e4ef3a0ffa 100644 --- a/ports/libigl/vcpkg.json +++ b/ports/libigl/vcpkg.json @@ -1,11 +1,13 @@ { "name": "libigl", - "version": "2.3.0", + "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", - "supports": "!(arm | uwp)", + "license": null, "dependencies": [ "eigen3", + "stb", { "name": "vcpkg-cmake", "host": true @@ -16,10 +18,22 @@ } ], "features": { + "cgal": { + "description": "Build with cgal", + "dependencies": [ + { + "name": "cgal", + "default-features": false + } + ] + }, "embree": { "description": "Build with embree", "dependencies": [ - "embree3" + { + "name": "embree3", + "default-features": false + } ] }, "glfw": { diff --git a/ports/libilbc/absl.patch b/ports/libilbc/absl.patch new file mode 100644 index 00000000000000..3a41c222b93ad7 --- /dev/null +++ b/ports/libilbc/absl.patch @@ -0,0 +1,39 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 016b46d37..4caa88fce 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -50,14 +50,12 @@ set(CMAKE_VISIBILITY_INLINES_HIDDEN 1) + + set(CMAKE_CXX_STANDARD 14) + +-if((CMAKE_C_COMPILER_ID STREQUAL "GNU") OR +- (CMAKE_C_COMPILER_ID MATCHES "Clang" AND CMAKE_C_COMPILER_FRONTEND_VARIANT STREQUAL "GNU")) ++if(0) + set(CMAKE_C_FLAGS "-Wall -Wextra -Wmissing-prototypes -Wstrict-prototypes -Wno-unused-parameter -fno-strict-aliasing") + set(CMAKE_C_FLAGS_DEBUG "-g") + set(CMAKE_C_FLAGS_RELEASE "-O2") + endif() +-if((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") OR +- (CMAKE_CXX_COMPILER_ID MATCHES "Clang" AND CMAKE_CXX_COMPILER_FRONTEND_VARIANT STREQUAL "GNU")) ++if(0) + set(CMAKE_CXX_FLAGS "-Wall -Wextra -Wno-unused-parameter -fno-strict-aliasing") + set(CMAKE_CXX_FLAGS_DEBUG "-g") + set(CMAKE_CXX_FLAGS_RELEASE "-O2") +@@ -146,7 +144,8 @@ endif() + ## Configure input files + ############################################################################# + +-include_directories(. abseil-cpp ${CMAKE_CURRENT_BINARY_DIR}) ++find_package(absl REQUIRED) ++include_directories(. ${CMAKE_CURRENT_BINARY_DIR}) + + set(ilbc_source_files + modules/audio_coding/codecs/ilbc/abs_quant.c +@@ -310,6 +310,7 @@ add_library(ilbc ${ilbc_source_files}) + generate_export_header(ilbc) + set_target_properties(ilbc PROPERTIES VERSION ${PROJECT_VERSION} SOVERSION 3) + set_target_properties(ilbc PROPERTIES CLEAN_DIRECT_OUTPUT 1) ++target_link_libraries(ilbc PRIVATE absl::core_headers) + + add_executable(ilbc_test modules/audio_coding/codecs/ilbc/test/iLBC_test.c) + target_link_libraries(ilbc_test ilbc) diff --git a/ports/libilbc/portfile.cmake b/ports/libilbc/portfile.cmake index c833ebd6ff5e89..d72ff632eb11ad 100644 --- a/ports/libilbc/portfile.cmake +++ b/ports/libilbc/portfile.cmake @@ -1,33 +1,29 @@ -set(ILBC_VERSION 3.0.3) -vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/TimothyGu/libilbc/releases/download/v${ILBC_VERSION}/libilbc-${ILBC_VERSION}.zip" - FILENAME "libilbc-${ILBC_VERSION}.zip" - SHA512 a5755db093529f6a3fd8fd47da63b57cffff1d3babef443d92f7c5a250ce8d1585adfba525c4037b142d9f00f1675a5054c172bf936be280dfcc22ed553c94c6 -) - -vcpkg_extract_source_archive_ex( +set(ILBC_VERSION 3.0.4) +vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} - REF ${ILBC_VERSION} - PATCHES do-not-build-ilbc_test.patch + REPO TimothyGu/libilbc + REF cd064edf2c6c104a4e1fd87b34fd24cfa6dbe401 + SHA512 323d32dbd54d5ef624940432bf19c29f5ead6f40bc84aba4261f067dfdc40cf4000e383f4dca65cd3b745a354a119a9e515949a1466af89c300cd7bf95991675 + PATCHES + do-not-build-ilbc_test.patch + absl.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DCMAKE_INSTALL_DOCDIR=share/${PORT} ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_fixup_pkgconfig() if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/include/ilbc_export.h "#ifdef ILBC_STATIC_DEFINE" "#if 1") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/ilbc_export.h" "#ifdef ILBC_STATIC_DEFINE" "#if 1") endif() 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) +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/libilbc/vcpkg.json b/ports/libilbc/vcpkg.json index 96daeb881fb1ca..b3e0347b891342 100644 --- a/ports/libilbc/vcpkg.json +++ b/ports/libilbc/vcpkg.json @@ -1,8 +1,15 @@ { "name": "libilbc", - "version-string": "3.0.3", - "port-version": 1, + "version": "3.0.4", "description": "Open source implementation of the Internet Low Bit Rate Codec (iLBC) / RFC 3951 codec from the WebRTC project.", "homepage": "https://github.com/TimothyGu/libilbc", - "supports": "!(arm & uwp)" + "license": "BSD-3-Clause", + "supports": "!(arm & uwp)", + "dependencies": [ + "abseil", + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/libimobiledevice-glue/001_fix_win32_defs.patch b/ports/libimobiledevice-glue/001_fix_win32_defs.patch new file mode 100644 index 00000000000000..f0dd322de698a0 --- /dev/null +++ b/ports/libimobiledevice-glue/001_fix_win32_defs.patch @@ -0,0 +1,57 @@ +diff --git a/include/libimobiledevice-glue/socket.h b/include/libimobiledevice-glue/socket.h +index 53f58b8..f3cc6c6 100644 +--- a/include/libimobiledevice-glue/socket.h ++++ b/include/libimobiledevice-glue/socket.h +@@ -32,7 +32,7 @@ enum fd_mode { + }; + typedef enum fd_mode fd_mode; + +-#ifdef WIN32 ++#ifdef _WIN32 + #include + #define SHUT_RD SD_READ + #define SHUT_WR SD_WRITE +@@ -41,7 +41,7 @@ typedef enum fd_mode fd_mode; + #include + #endif + +-#ifndef WIN32 ++#ifndef _WIN32 + int socket_create_unix(const char *filename); + int socket_connect_unix(const char *filename); + #endif +diff --git a/include/libimobiledevice-glue/thread.h b/include/libimobiledevice-glue/thread.h +index 2aadc6e..b5c2ac1 100644 +--- a/include/libimobiledevice-glue/thread.h ++++ b/include/libimobiledevice-glue/thread.h +@@ -24,7 +24,7 @@ + + #include + +-#ifdef WIN32 ++#ifdef _WIN32 + #include + typedef HANDLE THREAD_T; + typedef CRITICAL_SECTION mutex_t; +@@ -61,7 +61,7 @@ int thread_alive(THREAD_T thread); + + int thread_cancel(THREAD_T thread); + +-#ifdef WIN32 ++#ifdef _WIN32 + #undef HAVE_THREAD_CLEANUP + #else + #ifdef HAVE_PTHREAD_CANCEL +diff --git a/include/libimobiledevice-glue/utils.h b/include/libimobiledevice-glue/utils.h +index 1a21871..2421270 100644 +--- a/include/libimobiledevice-glue/utils.h ++++ b/include/libimobiledevice-glue/utils.h +@@ -29,7 +29,7 @@ + #include + #endif + +-#ifdef WIN32 ++#ifdef _WIN32 + #include + #endif + diff --git a/ports/libimobiledevice-glue/002_fix_msvc.patch b/ports/libimobiledevice-glue/002_fix_msvc.patch new file mode 100644 index 00000000000000..d8a8c987176b42 --- /dev/null +++ b/ports/libimobiledevice-glue/002_fix_msvc.patch @@ -0,0 +1,47 @@ +diff --git a/src/socket.c b/src/socket.c +index 4b8b857..4cf8a92 100644 +--- a/src/socket.c ++++ b/src/socket.c +@@ -26,10 +26,12 @@ + #include + #include + #include +-#include + #include +-#include + #include ++#ifndef _MSC_VER ++#include ++#include ++#endif + #ifdef WIN32 + #include + #include +diff --git a/src/termcolors.c b/src/termcolors.c +index 5c436f2..9a84ff2 100644 +--- a/src/termcolors.c ++++ b/src/termcolors.c +@@ -28,7 +28,9 @@ + + #include + #include ++#ifndef _MSC_VER + #include ++#endif + #include + #include + +diff --git a/src/utils.c b/src/utils.c +index ad8e9c4..b9803ac 100644 +--- a/src/utils.c ++++ b/src/utils.c +@@ -30,7 +30,9 @@ + #include + #include + #include ++#ifndef _MSC_VER + #include ++#endif + #include + #include + #include diff --git a/ports/libimobiledevice-glue/003_fix_static_build.patch b/ports/libimobiledevice-glue/003_fix_static_build.patch new file mode 100644 index 00000000000000..4e587cfd4fff9f --- /dev/null +++ b/ports/libimobiledevice-glue/003_fix_static_build.patch @@ -0,0 +1,19 @@ +diff --git a/src/glue.c b/src/glue.c +index 7970679..bad3269 100644 +--- a/src/glue.c ++++ b/src/glue.c +@@ -29,6 +29,8 @@ + #include "common.h" + #include "libimobiledevice-glue/thread.h" + ++#ifndef LIBIMOBILEDEVICEGLUE_STATIC // disable dll constructor ++ + extern void term_colors_init(); + + static void internal_glue_init(void) +@@ -78,3 +80,5 @@ BOOL WINAPI DllMain(HINSTANCE hModule, DWORD dwReason, LPVOID lpReserved) + #else + #warning No compiler support for constructor/destructor attributes, some features might not be available. + #endif ++ ++#endif // disable dll constructor diff --git a/ports/libimobiledevice-glue/004_fix_api.patch b/ports/libimobiledevice-glue/004_fix_api.patch new file mode 100644 index 00000000000000..9eea9589c8e040 --- /dev/null +++ b/ports/libimobiledevice-glue/004_fix_api.patch @@ -0,0 +1,20 @@ +diff --git a/src/common.h b/src/common.h +index bd22e3d..144a799 100644 +--- a/src/common.h ++++ b/src/common.h +@@ -25,14 +25,10 @@ + #include + #endif + +-#ifdef WIN32 +-#define LIBIMOBILEDEVICE_GLUE_API __declspec( dllexport ) +-#else +-#ifdef HAVE_FVISIBILITY ++#if !defined(_WIN32) && !defined(LIBIMOBILEDEVICEGLUE_STATIC) + #define LIBIMOBILEDEVICE_GLUE_API __attribute__((visibility("default"))) + #else + #define LIBIMOBILEDEVICE_GLUE_API + #endif +-#endif + + #endif diff --git a/ports/libimobiledevice-glue/CMakeLists.txt b/ports/libimobiledevice-glue/CMakeLists.txt new file mode 100644 index 00000000000000..56bbaab60e1320 --- /dev/null +++ b/ports/libimobiledevice-glue/CMakeLists.txt @@ -0,0 +1,77 @@ +cmake_minimum_required(VERSION 3.15) +project(libimobiledevice-glue C CXX) + +include(GNUInstallDirs) + +file(GLOB_RECURSE LIBIMOBILEDEVICEGLUE_SOURCE src/*.c) + +set(DEFINITIONS) + +if(BUILD_SHARED_LIBS) + if(WIN32) + list(APPEND LIBIMOBILEDEVICEGLUE_SOURCE exports.def) + endif() +else() + list(APPEND DEFINITIONS -DLIBIMOBILEDEVICEGLUE_STATIC) +endif() + +if(UNIX) + list(APPEND DEFINITIONS -DHAVE_GETIFADDRS) +endif() + +if(WIN32) + list(APPEND DEFINITIONS -D_CRT_SECURE_NO_WARNINGS) + list(APPEND DEFINITIONS -DWIN32) +endif() + +find_package(unofficial-libplist CONFIG REQUIRED) + +add_library(libimobiledevice-glue ${LIBIMOBILEDEVICEGLUE_SOURCE}) +target_include_directories(libimobiledevice-glue + PRIVATE + "$" + PUBLIC + "$" +) +target_compile_definitions(libimobiledevice-glue PRIVATE ${DEFINITIONS}) +target_link_libraries(libimobiledevice-glue + PUBLIC + unofficial::libplist::libplist +) +set_target_properties(libimobiledevice-glue PROPERTIES OUTPUT_NAME imobiledevice-glue-1.0) + +if(WIN32) + target_link_libraries(libimobiledevice-glue PRIVATE Ws2_32 Iphlpapi) +endif() + +install(TARGETS libimobiledevice-glue EXPORT unofficial-libimobiledevice-glue) + +install( + EXPORT unofficial-libimobiledevice-glue + FILE unofficial-libimobiledevice-glue-config.cmake + DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/unofficial-libimobiledevice-glue" + NAMESPACE unofficial::libimobiledevice-glue:: +) + +install( + DIRECTORY "${CMAKE_SOURCE_DIR}/include/libimobiledevice-glue" + DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" +) + +set(LIBPLIST_VERSION 2.0) +set(PACKAGE_NAME libimobiledevice-glue) +set(PACKAGE_VERSION 1.0) +set(prefix "") +set(exec_prefix "\${prefix}") +set(libdir "\${prefix}/lib") +set(includedir "\${prefix}/include") + +configure_file( + "${CMAKE_CURRENT_SOURCE_DIR}/src/libimobiledevice-glue-1.0.pc.in" + "${CMAKE_CURRENT_BINARY_DIR}/libimobiledevice-glue-1.0.pc" + @ONLY +) +install( + FILES "${CMAKE_CURRENT_BINARY_DIR}/libimobiledevice-glue-1.0.pc" + DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig" +) diff --git a/ports/libimobiledevice-glue/exports.def b/ports/libimobiledevice-glue/exports.def new file mode 100644 index 00000000000000..03aca563a49f81 --- /dev/null +++ b/ports/libimobiledevice-glue/exports.def @@ -0,0 +1,81 @@ +EXPORTS + + ; src/cbuf.c + char_buf_new + char_buf_free + char_buf_append + + ; src/collention.c + collection_init + collection_free + collection_add + collection_remove + collection_count + collection_copy + + ; opack.c + opack_encode_from_plist + opack_decode_to_plist + + ; src/socket.c + socket_set_verbose + socket_addr_to_string + ;socket_create_unix + ;socket_connect_unix + socket_create + get_primary_mac_address + socket_connect_addr + socket_connect + socket_check_fd + socket_accept + socket_shutdown + socket_close + socket_receive + socket_peek + socket_receive_timeout + socket_send + socket_get_socket_port + + ; src/termcolors.c + term_colors_init + term_colors_set_enabled + cvfprintf + cfprintf + cprintf + + ; src/thread.c + thread_new + thread_detach + thread_free + thread_join + thread_alive + thread_cancel + mutex_init + mutex_destroy + mutex_lock + mutex_unlock + thread_once + cond_init + cond_destroy + cond_signal + cond_wait + cond_wait_timeout + + ; src/tlv.c + tlv_buf_new + tlv_buf_free + tlv_buf_append + tlv_get_data_ptr + tlv_data_get_uint + tlv_data_get_uint8 + tlv_data_copy_data + + ; src/utils.c + string_concat + string_append + string_build_path + string_format_size + string_toupper + generate_uuid + buffer_read_from_filename + buffer_write_to_filename diff --git a/ports/libimobiledevice-glue/portfile.cmake b/ports/libimobiledevice-glue/portfile.cmake new file mode 100644 index 00000000000000..7daca5189ad48b --- /dev/null +++ b/ports/libimobiledevice-glue/portfile.cmake @@ -0,0 +1,35 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO libimobiledevice/libimobiledevice-glue + REF 214bafdde6a1434ead87357afe6cb41b32318495 # commits on 2023-05-13 + SHA512 a12ace7690ebab0ac6372f61e1a6722d506bc20a89130f39441af4da74e8fe9cdae45d947eb3e864a5f043b621432b59418f8e4660857e25b648a9476c552ac6 + HEAD_REF master + PATCHES + 001_fix_win32_defs.patch + 002_fix_msvc.patch + 003_fix_static_build.patch + 004_fix_api.patch +) + +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") +file(COPY "${CMAKE_CURRENT_LIST_DIR}/exports.def" DESTINATION "${SOURCE_PATH}") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-${PORT}) +vcpkg_fixup_pkgconfig() + +file(READ "${CURRENT_PACKAGES_DIR}/share/unofficial-${PORT}/unofficial-${PORT}-config.cmake" cmake_config) +file(WRITE "${CURRENT_PACKAGES_DIR}/share/unofficial-${PORT}/unofficial-${PORT}-config.cmake" +"include(CMakeFindDependencyMacro) +find_dependency(unofficial-libplist CONFIG) +${cmake_config} +") + +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/libimobiledevice-glue/usage b/ports/libimobiledevice-glue/usage new file mode 100644 index 00000000000000..c4868a6be10c49 --- /dev/null +++ b/ports/libimobiledevice-glue/usage @@ -0,0 +1,4 @@ +libimobiledevice-glue provides CMake targets: + + find_package(unofficial-libimobiledevice-glue CONFIG REQUIRED) + target_link_libraries(main PRIVATE unofficial::libimobiledevice-glue::libimobiledevice-glue) diff --git a/ports/libimobiledevice-glue/vcpkg.json b/ports/libimobiledevice-glue/vcpkg.json new file mode 100644 index 00000000000000..79b8ab580f32e8 --- /dev/null +++ b/ports/libimobiledevice-glue/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "libimobiledevice-glue", + "version-date": "2023-05-13", + "description": "Library with common code used by the libraries and tools around the libimobiledevice project.", + "homepage": "https://libimobiledevice.org/", + "license": "LGPL-2.1-or-later", + "dependencies": [ + "libplist", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/libimobiledevice/001_fix_msvc.patch b/ports/libimobiledevice/001_fix_msvc.patch new file mode 100644 index 00000000000000..bea25f00efe801 --- /dev/null +++ b/ports/libimobiledevice/001_fix_msvc.patch @@ -0,0 +1,166 @@ +diff --git a/common/userpref.c b/common/userpref.c +index b64c703..7ff325c 100644 +--- a/common/userpref.c ++++ b/common/userpref.c +@@ -35,7 +35,9 @@ + #ifndef WIN32 + #include + #endif ++#ifndef _MSC_VER + #include ++#endif + #include + #if defined(HAVE_OPENSSL) + #include +@@ -65,7 +67,9 @@ + #endif + + #include ++#ifndef _MSC_VER + #include ++#endif + #include + #include + +diff --git a/include/libimobiledevice/libimobiledevice.h b/include/libimobiledevice/libimobiledevice.h +index 6851145..55ef753 100644 +--- a/include/libimobiledevice/libimobiledevice.h ++++ b/include/libimobiledevice/libimobiledevice.h +@@ -30,6 +30,11 @@ + extern "C" { + #endif + ++#if defined(_MSC_VER) ++#include ++typedef SSIZE_T ssize_t; ++#endif ++ + #include + #include + #include +diff --git a/src/afc.c b/src/afc.c +index d8c3db0..ab2c4ff 100644 +--- a/src/afc.c ++++ b/src/afc.c +@@ -26,7 +26,9 @@ + #endif + #include + #include ++#ifndef _MSC_VER + #include ++#endif + #include + + #include "afc.h" +diff --git a/src/house_arrest.c b/src/house_arrest.c +index ac92130..e12bde5 100644 +--- a/src/house_arrest.c ++++ b/src/house_arrest.c +@@ -24,7 +24,9 @@ + #endif + #include + #include ++#ifndef _MSC_VER + #include ++#endif + #include + + #include "house_arrest.h" +diff --git a/src/installation_proxy.c b/src/installation_proxy.c +index 9602876..2f02514 100644 +--- a/src/installation_proxy.c ++++ b/src/installation_proxy.c +@@ -26,7 +26,9 @@ + #include + #include + #include ++#ifndef _MSC_VER + #include ++#endif + #include + + #include "installation_proxy.h" +diff --git a/src/lockdown-cu.c b/src/lockdown-cu.c +index d8d7f42..eb11afa 100644 +--- a/src/lockdown-cu.c ++++ b/src/lockdown-cu.c +@@ -29,7 +29,9 @@ + #define __USE_GNU 1 + #include + #include ++#ifndef _MSC_VER + #include ++#endif + #include + + #include "idevice.h" +diff --git a/src/lockdown.c b/src/lockdown.c +index 92af186..a9b9b88 100644 +--- a/src/lockdown.c ++++ b/src/lockdown.c +@@ -32,7 +32,9 @@ + #define __USE_GNU 1 + #include + #include ++#ifndef _MSC_VER + #include ++#endif + #include + #include + +diff --git a/src/misagent.c b/src/misagent.c +index af925f9..5fe618e 100644 +--- a/src/misagent.c ++++ b/src/misagent.c +@@ -24,7 +24,9 @@ + #endif + #include + #include ++#ifndef _MSC_VER + #include ++#endif + #include + #include + +diff --git a/src/mobile_image_mounter.c b/src/mobile_image_mounter.c +index 9ccfd85..c4f540c 100644 +--- a/src/mobile_image_mounter.c ++++ b/src/mobile_image_mounter.c +@@ -24,7 +24,9 @@ + #endif + #include + #include ++#ifndef _MSC_VER + #include ++#endif + #include + + #include "mobile_image_mounter.h" +diff --git a/src/notification_proxy.c b/src/notification_proxy.c +index e17e2fe..679739c 100644 +--- a/src/notification_proxy.c ++++ b/src/notification_proxy.c +@@ -24,7 +24,9 @@ + #endif + #include + #include ++#ifndef _MSC_VER + #include ++#endif + #include + + #include "notification_proxy.h" +diff --git a/src/sbservices.c b/src/sbservices.c +index ccb7c4b..f0b832e 100644 +--- a/src/sbservices.c ++++ b/src/sbservices.c +@@ -24,7 +24,9 @@ + #endif + #include + #include ++#ifndef _MSC_VER + #include ++#endif + #include + + #include "sbservices.h" diff --git a/ports/libimobiledevice/002_fix_static_build.patch b/ports/libimobiledevice/002_fix_static_build.patch new file mode 100644 index 00000000000000..3ea317b16fe38a --- /dev/null +++ b/ports/libimobiledevice/002_fix_static_build.patch @@ -0,0 +1,22 @@ +diff --git a/src/idevice.c b/src/idevice.c +index 719cd28..0ae8a1c 100644 +--- a/src/idevice.c ++++ b/src/idevice.c +@@ -124,6 +124,8 @@ static void id_function(CRYPTO_THREADID *thread) + #endif + #endif /* HAVE_OPENSSL */ + ++#ifndef LIBIMOBILEDEVICE_STATIC // disable dll constructor ++ + static void internal_idevice_init(void) + { + #if defined(HAVE_OPENSSL) +@@ -219,6 +221,8 @@ BOOL WINAPI DllMain(HINSTANCE hModule, DWORD dwReason, LPVOID lpReserved) + #warning No compiler support for constructor/destructor attributes, some features might not be available. + #endif + ++#endif // disable dll constructor ++ + struct idevice_subscription_context { + idevice_event_cb_t callback; + void *user_data; diff --git a/ports/libimobiledevice/003_fix_api.patch b/ports/libimobiledevice/003_fix_api.patch new file mode 100644 index 00000000000000..1558ab61f15e79 --- /dev/null +++ b/ports/libimobiledevice/003_fix_api.patch @@ -0,0 +1,21 @@ +diff --git a/src/idevice.h b/src/idevice.h +index 2509e48..384f178 100644 +--- a/src/idevice.h ++++ b/src/idevice.h +@@ -37,15 +37,11 @@ + #include + #endif + +-#ifdef WIN32 +-#define LIBIMOBILEDEVICE_API __declspec( dllexport ) +-#else +-#ifdef HAVE_FVISIBILITY ++#if !defined(_WIN32) && !defined(LIBIMOBILEDEVICEGLUE_STATIC) + #define LIBIMOBILEDEVICE_API __attribute__((visibility("default"))) + #else + #define LIBIMOBILEDEVICE_API + #endif +-#endif + + #include "common/userpref.h" + #include "libimobiledevice/libimobiledevice.h" diff --git a/ports/libimobiledevice/004_fix_tools_msvc.patch b/ports/libimobiledevice/004_fix_tools_msvc.patch new file mode 100644 index 00000000000000..395eb1d6dc7717 --- /dev/null +++ b/ports/libimobiledevice/004_fix_tools_msvc.patch @@ -0,0 +1,273 @@ +diff --git a/tools/idevicebackup.c b/tools/idevicebackup.c +index 5694c12..77fd81f 100644 +--- a/tools/idevicebackup.c ++++ b/tools/idevicebackup.c +@@ -50,7 +50,9 @@ + #else + #error No supported crypto library enabled + #endif ++#ifndef _MSC_VER + #include ++#endif + #include + #include + +@@ -68,6 +70,18 @@ + #define LOCK_ATTEMPTS 50 + #define LOCK_WAIT 200000 + ++#ifdef _MSC_VER ++static void usleep(__int64 usec) { ++ HANDLE timer; ++ LARGE_INTEGER ft; ++ ft.QuadPart = -(10*usec); ++ timer = CreateWaitableTimer(NULL, TRUE, NULL); ++ SetWaitableTimer(timer, &ft, 0, NULL, NULL, 0); ++ WaitForSingleObject(timer, INFINITE); ++ CloseHandle(timer); ++} ++#endif ++ + #ifdef WIN32 + #include + #define sleep(x) Sleep(x*1000) +diff --git a/tools/idevicebackup2.c b/tools/idevicebackup2.c +index c73b269..33157c9 100644 +--- a/tools/idevicebackup2.c ++++ b/tools/idevicebackup2.c +@@ -31,9 +31,13 @@ + #include + #include + #include ++#ifndef _MSC_VER + #include ++#endif + #include ++#ifndef _MSC_VER + #include ++#endif + #include + #include + #include +@@ -54,6 +58,62 @@ + #define LOCK_ATTEMPTS 50 + #define LOCK_WAIT 200000 + ++#ifdef _MSC_VER ++static void usleep(__int64 usec) { ++ HANDLE timer; ++ LARGE_INTEGER ft; ++ ft.QuadPart = -(10*usec); ++ timer = CreateWaitableTimer(NULL, TRUE, NULL); ++ SetWaitableTimer(timer, &ft, 0, NULL, NULL, 0); ++ WaitForSingleObject(timer, INFINITE); ++ CloseHandle(timer); ++} ++#ifndef ISSLASH ++#define ISSLASH(C) ((C) == '/' || (C) == '\\') ++#endif ++#ifndef FILESYSTEM_PREFIX_LEN ++#define FILESYSTEM_PREFIX_LEN(Filename) 0 ++#endif ++static char *basename(char const *name) { ++ char const *base = name + FILESYSTEM_PREFIX_LEN(name); ++ char const *p; ++ ++ for (p = base; *p; p++) { ++ if (ISSLASH(*p)) { ++ do p++; ++ while (ISSLASH(*p)); ++ ++ if (!*p) { ++ if (ISSLASH(*base)) ++ base = p - 1; ++ break; ++ } ++ base = p; ++ } ++ } ++ ++ return (char *) base; ++} ++static size_t dirlen(char const *path) { ++ size_t prefix_length = FILESYSTEM_PREFIX_LEN(path); ++ size_t length; ++ for (length = basename(path) - path; prefix_length < length; length--) ++ if (!ISSLASH(path[length - 1])) ++ return length; ++ return prefix_length + ISSLASH(path[prefix_length]); ++} ++static char *dirname(char const *path) { ++ size_t length = dirlen(path); ++ int append_dot = (length == FILESYSTEM_PREFIX_LEN(path)); ++ char *newpath = (char *) malloc(length + append_dot + 1); ++ memcpy(newpath, path, length); ++ if (append_dot) ++ newpath[length++] = '.'; ++ newpath[length] = 0; ++ return newpath; ++} ++#endif ++ + #ifdef WIN32 + #include + #include +diff --git a/tools/idevicebtlogger.c b/tools/idevicebtlogger.c +index 8de6b22..8fbf40d 100644 +--- a/tools/idevicebtlogger.c ++++ b/tools/idevicebtlogger.c +@@ -31,7 +31,9 @@ + #include + #include + #include ++#ifndef _MSC_VER + #include ++#endif + #include + #include + #include +diff --git a/tools/idevicecrashreport.c b/tools/idevicecrashreport.c +index 09bd537..9f53b30 100644 +--- a/tools/idevicecrashreport.c ++++ b/tools/idevicecrashreport.c +@@ -29,7 +29,14 @@ + #include + #include + #include ++#ifndef _MSC_VER + #include ++#else ++#define S_IFIFO _S_IFIFO ++#define S_IFBLK 0x3000 ++#define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) ++#define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR) ++#endif + #include + #ifndef WIN32 + #include +diff --git a/tools/idevicedebug.c b/tools/idevicedebug.c +index 36c594e..9c11781 100644 +--- a/tools/idevicedebug.c ++++ b/tools/idevicedebug.c +@@ -30,8 +30,12 @@ + #include + #include + #include ++#ifndef _MSC_VER + #include ++#endif ++#ifndef _MSC_VER + #include ++#endif + #include + + #ifdef WIN32 +diff --git a/tools/idevicedevmodectl.c b/tools/idevicedevmodectl.c +index ba9b935..8e28e4b 100644 +--- a/tools/idevicedevmodectl.c ++++ b/tools/idevicedevmodectl.c +@@ -30,7 +30,9 @@ + #include + #include + #include ++#ifndef _MSC_VER + #include ++#endif + #include + #ifndef WIN32 + #include +diff --git a/tools/ideviceimagemounter.c b/tools/ideviceimagemounter.c +index f551b6c..26bb80c 100644 +--- a/tools/ideviceimagemounter.c ++++ b/tools/ideviceimagemounter.c +@@ -32,9 +32,13 @@ + #include + #include + #include ++#ifndef _MSC_VER + #include ++#endif + #include ++#ifndef _MSC_VER + #include ++#endif + #include + #ifndef WIN32 + #include +diff --git a/tools/idevicename.c b/tools/idevicename.c +index 69b76f6..cb8c9a6 100644 +--- a/tools/idevicename.c ++++ b/tools/idevicename.c +@@ -27,7 +27,9 @@ + + #include + #include ++#ifndef _MSC_VER + #include ++#endif + #include + #include + #ifndef WIN32 +diff --git a/tools/idevicepair.c b/tools/idevicepair.c +index 94d3f04..129c409 100644 +--- a/tools/idevicepair.c ++++ b/tools/idevicepair.c +@@ -31,7 +31,9 @@ + #include + #include + #include ++#ifndef _MSC_VER + #include ++#endif + #ifdef WIN32 + #include + #include +diff --git a/tools/ideviceprovision.c b/tools/ideviceprovision.c +index 4080a28..f64e2c4 100644 +--- a/tools/ideviceprovision.c ++++ b/tools/ideviceprovision.c +@@ -42,6 +42,14 @@ + #include + #endif + ++#ifdef _MSC_VER ++#include ++#ifndef _S_ISTYPE ++#define _S_ISTYPE(mode, mask) (((mode) & _S_IFMT) == (mask)) ++#define S_ISDIR(mode) _S_ISTYPE((mode), _S_IFDIR) ++#endif ++#endif ++ + #include + #include + #include +diff --git a/tools/idevicescreenshot.c b/tools/idevicescreenshot.c +index 0e694c7..6f4b1c5 100644 +--- a/tools/idevicescreenshot.c ++++ b/tools/idevicescreenshot.c +@@ -31,7 +31,11 @@ + #include + #include + #include ++#ifndef _MSC_VER + #include ++#else ++#define F_OK 0 ++#endif + #ifndef WIN32 + #include + #endif +diff --git a/tools/idevicesyslog.c b/tools/idevicesyslog.c +index 5600be2..69b7b03 100644 +--- a/tools/idevicesyslog.c ++++ b/tools/idevicesyslog.c +@@ -31,7 +31,9 @@ + #include + #include + #include ++#ifndef _MSC_VER + #include ++#endif + #include + + #ifdef WIN32 diff --git a/ports/libimobiledevice/CMakeLists.txt b/ports/libimobiledevice/CMakeLists.txt index 176eb893364362..e8980cfcdbe35d 100644 --- a/ports/libimobiledevice/CMakeLists.txt +++ b/ports/libimobiledevice/CMakeLists.txt @@ -1,59 +1,183 @@ -cmake_minimum_required(VERSION 3.0) +cmake_minimum_required(VERSION 3.15) project(libimobiledevice C) -# find dependencies -find_library(libplist NAMES plist plist-2.0 libplist libplist-2.0 REQUIRED) -find_library(libusbmuxd libusbmuxd REQUIRED) -find_package(OpenSSL REQUIRED) -find_path(dirent_INCLUDE_DIR dirent.h) -if (WIN32) - find_library(getopt getopt REQUIRED) +option(BUILD_TOOLS "Build tools." OFF) + +include(GNUInstallDirs) + +file(GLOB_RECURSE LIBIMOBILEDEVICE_SOURCE src/*.c src/*.h) +file(GLOB_RECURSE LIBIMOBILEDEVICE_COMMON_SOURCE common/*.c common/*.h) + +set(DEFINITIONS) + +list(APPEND DEFINITIONS -DHAVE_OPENSSL) + +if(BUILD_SHARED_LIBS) + if(WIN32) + list(APPEND LIBIMOBILEDEVICE_SOURCE exports.def) + endif() +else() + list(APPEND DEFINITIONS -DLIBIMOBILEDEVICE_STATIC) endif() -# ready to create library -file(GLOB_RECURSE IMOBDEV_COMMON_HDR common/*.h) -file(GLOB_RECURSE IMOBDEV_COMMON_SRC common/*.c) - -file(GLOB IMOBDEV_PUBLIC_HDR include/*.h) -file(GLOB IMOBDEV_PUBLIC_SUB_HDR include/libimobiledevice/*.h) -file(GLOB_RECURSE IMOBDEV_PRIVATE_HDR src/*.h) -file(GLOB_RECURSE IMOBDEV_SRC src/*.c) - -add_library(libimobiledevice ${IMOBDEV_SRC} ${IMOBDEV_PUBLIC_HDR} ${IMOBDEV_PUBLIC_SUB_HDR} ${IMOBDEV_PRIVATE_HDR} ${IMOBDEV_COMMON_HDR} ${IMOBDEV_COMMON_SRC}) -set_target_properties(libimobiledevice PROPERTIES OUTPUT_NAME libimobiledevice-1.0) -target_include_directories(libimobiledevice PRIVATE ${dirent_INCLUDE_DIR} include .) -target_compile_definitions(libimobiledevice PRIVATE -DHAVE_OPENSSL) -target_link_libraries(libimobiledevice PRIVATE ${libplist} ${libusbmuxd} ${getopt} OpenSSL::SSL OpenSSL::Crypto) -if (WIN32) +if(UNIX) + list(APPEND DEFINITIONS -DHAVE_STPCPY) + list(APPEND DEFINITIONS -DHAVE_VASPRINTF) + list(APPEND DEFINITIONS -DHAVE_ASPRINTF) + list(APPEND DEFINITIONS -DHAVE_GETIFADDRS) +endif() + +if(WIN32) + list(APPEND DEFINITIONS -D_CRT_SECURE_NO_WARNINGS) + list(APPEND DEFINITIONS -DWIN32_LEAN_AND_MEAN) + list(APPEND DEFINITIONS -DWIN32) +endif() + +find_package(unofficial-libplist CONFIG REQUIRED) +find_package(unofficial-libimobiledevice-glue CONFIG REQUIRED) +find_package(unofficial-libusbmuxd CONFIG REQUIRED) +find_package(OpenSSL REQUIRED) + +add_library(libimobiledevice ${LIBIMOBILEDEVICE_SOURCE} ${LIBIMOBILEDEVICE_COMMON_SOURCE}) +target_include_directories(libimobiledevice PUBLIC + "$" + "$" + "$" +) +target_compile_definitions(libimobiledevice PRIVATE ${DEFINITIONS}) +target_link_libraries(libimobiledevice + PRIVATE + unofficial::libimobiledevice-glue::libimobiledevice-glue + unofficial::libusbmuxd::libusbmuxd + OpenSSL::SSL + OpenSSL::Crypto + PUBLIC + unofficial::libplist::libplist +) +set_target_properties(libimobiledevice PROPERTIES OUTPUT_NAME imobiledevice-1.0) + +if(WIN32) target_link_libraries(libimobiledevice PRIVATE Ws2_32) -else() endif() -# install +install(TARGETS libimobiledevice EXPORT unofficial-libimobiledevice) + +install( + EXPORT unofficial-libimobiledevice + FILE unofficial-libimobiledevice-config.cmake + DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/unofficial-libimobiledevice" + NAMESPACE unofficial::libimobiledevice:: +) + +install( + DIRECTORY "${CMAKE_SOURCE_DIR}/include/libimobiledevice" + DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" +) + install( - TARGETS libimobiledevice - RUNTIME DESTINATION bin - ARCHIVE DESTINATION lib - LIBRARY DESTINATION lib + FILES "${CMAKE_SOURCE_DIR}/include/endianness.h" + DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" ) set(LIBPLIST_VERSION 2.0) +set(LIMD_GLUE_VERSION 1.0) set(LIBUSBMUXD_VERSION 2.0) set(PACKAGE_NAME libimobiledevice) set(PACKAGE_VERSION 1.0) -set(prefix ${CMAKE_INSTALL_PREFIX}) -set(exec_prefix \${prefix}) -set(libdir \${prefix}/lib) -set(includedir \${prefix}/../include) +set(prefix "") +set(exec_prefix "\${prefix}") +set(libdir "\${prefix}/lib") +set(includedir "\${prefix}/include") + configure_file( - ${CMAKE_CURRENT_SOURCE_DIR}/src/libimobiledevice-1.0.pc.in - ${CMAKE_CURRENT_BINARY_DIR}/libimobiledevice-1.0.pc + "${CMAKE_CURRENT_SOURCE_DIR}/src/libimobiledevice-1.0.pc.in" + "${CMAKE_CURRENT_BINARY_DIR}/libimobiledevice-1.0.pc" @ONLY ) install( - FILES ${CMAKE_CURRENT_BINARY_DIR}/libimobiledevice-1.0.pc - DESTINATION lib/pkgconfig + FILES "${CMAKE_CURRENT_BINARY_DIR}/libimobiledevice-1.0.pc" + DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig" ) -install(FILES ${IMOBDEV_PUBLIC_HDR} DESTINATION include) -install(FILES ${IMOBDEV_PUBLIC_SUB_HDR} DESTINATION include/libimobiledevice) \ No newline at end of file +if(BUILD_TOOLS) + if(WIN32) + find_package(unofficial-getopt-win32 REQUIRED) + endif() + + function(add_tool name source) + add_executable("${name}" "${source}" ${LIBIMOBILEDEVICE_COMMON_SOURCE}) + target_compile_definitions("${name}" PRIVATE + -DPACKAGE_VERSION="2.0.2" + -DPACKAGE_URL="https://github.com/libimobiledevice/libusbmuxd" + -DPACKAGE_BUGREPORT="https://github.com/libimobiledevice/libusbmuxd/issues" + -DHAVE_OPENSSL + ) + target_link_libraries("${name}" PRIVATE + libimobiledevice + unofficial::libimobiledevice-glue::libimobiledevice-glue + unofficial::libusbmuxd::libusbmuxd + OpenSSL::SSL + OpenSSL::Crypto + ) + if(WIN32) + target_compile_definitions("${name}" PRIVATE + -D_CRT_SECURE_NO_WARNINGS + -DWIN32_LEAN_AND_MEAN + -DWIN32 + ) + target_link_libraries("${name}" PRIVATE unofficial::getopt-win32::getopt Ws2_32) + endif() + if(UNIX) + target_compile_definitions("${name}" PRIVATE + -DHAVE_VASPRINTF + -DHAVE_ASPRINTF + ) + endif() + endfunction(add_tool) + + add_tool(idevice_id "tools/idevice_id.c") + add_tool(idevicebackup "tools/idevicebackup.c") + add_tool(idevicebackup2 "tools/idevicebackup2.c") + add_tool(idevicebtlogger "tools/idevicebtlogger.c") + add_tool(idevicecrashreport "tools/idevicecrashreport.c") + add_tool(idevicedate "tools/idevicedate.c") + add_tool(idevicedebug "tools/idevicedebug.c") + add_tool(idevicedebugserverproxy "tools/idevicedebugserverproxy.c") + add_tool(idevicedevmodectl "tools/idevicedevmodectl.c") + add_tool(idevicediagnostics "tools/idevicediagnostics.c") + add_tool(ideviceenterrecovery "tools/ideviceenterrecovery.c") + add_tool(ideviceimagemounter "tools/ideviceimagemounter.c") + add_tool(ideviceinfo "tools/ideviceinfo.c") + add_tool(idevicename "tools/idevicename.c") + add_tool(idevicenotificationproxy "tools/idevicenotificationproxy.c") + add_tool(idevicepair "tools/idevicepair.c") + add_tool(ideviceprovision "tools/ideviceprovision.c") + add_tool(idevicescreenshot "tools/idevicescreenshot.c") + add_tool(idevicesetlocation "tools/idevicesetlocation.c") + add_tool(idevicesyslog "tools/idevicesyslog.c") + + install( + TARGETS + idevice_id + idevicebackup + idevicebackup2 + idevicebtlogger + idevicecrashreport + idevicedate + idevicedebug + idevicedebugserverproxy + idevicedevmodectl + idevicediagnostics + ideviceenterrecovery + ideviceimagemounter + ideviceinfo + idevicename + idevicenotificationproxy + idevicepair + ideviceprovision + idevicescreenshot + idevicesetlocation + idevicesyslog + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" + ) +endif() diff --git a/ports/libimobiledevice/exports.def b/ports/libimobiledevice/exports.def new file mode 100644 index 00000000000000..a9f63d084fd12e --- /dev/null +++ b/ports/libimobiledevice/exports.def @@ -0,0 +1,369 @@ +EXPORTS + + ; src/mobilebackup2.c + mobilebackup2_client_new + mobilebackup2_client_start_service + mobilebackup2_client_free + mobilebackup2_send_message + mobilebackup2_receive_message + mobilebackup2_send_raw + mobilebackup2_receive_raw + mobilebackup2_version_exchange + mobilebackup2_send_request + mobilebackup2_send_status_response + + ; src/misagent.c + misagent_client_new + misagent_client_start_service + misagent_client_free + misagent_install + misagent_copy + misagent_copy_all + misagent_remove + misagent_get_status_code + + ; src/mobileactivation.c + mobileactivation_client_new + mobileactivation_client_start_service + mobileactivation_client_free + mobileactivation_get_activation_state + mobileactivation_create_activation_session_info + mobileactivation_create_activation_info + mobileactivation_create_activation_info_with_session + mobileactivation_activate + mobileactivation_activate_with_session + mobileactivation_deactivate + + ; src/heartbeat.c + heartbeat_client_new + heartbeat_client_start_service + heartbeat_client_free + heartbeat_send + heartbeat_receive + heartbeat_receive_with_timeout + + ; src/lockdown-cu.c + lockdownd_cu_pairing_create + lockdownd_cu_send_request_and_get_reply + lockdownd_get_value_cu + lockdownd_pair_cu + + ; src/preboard.c + preboard_client_new + preboard_client_start_service + preboard_client_free + preboard_send + preboard_receive_with_timeout + preboard_receive + preboard_create_stashbag + preboard_commit_stashbag + + ; src/screenshotr.c + screenshotr_client_new + screenshotr_client_start_service + screenshotr_client_free + screenshotr_take_screenshot + + ; src/property_list_service.c + property_list_service_client_new + property_list_service_client_free + property_list_service_send_xml_plist + property_list_service_send_binary_plist + property_list_service_receive_plist_with_timeout + property_list_service_receive_plist + property_list_service_enable_ssl + property_list_service_disable_ssl + property_list_service_get_service_client + + ; src/file_relay.c + file_relay_client_new + file_relay_client_start_service + file_relay_client_free + file_relay_request_sources_timeout + file_relay_request_sources + + ; src/reverse_proxy.c + reverse_proxy_client_start_proxy + reverse_proxy_client_create_with_service + reverse_proxy_client_create_with_port + reverse_proxy_client_free + reverse_proxy_get_type + reverse_proxy_client_set_status_callback + reverse_proxy_client_set_log_callback + reverse_proxy_client_set_data_callback + + ; src/service.c + service_client_new + service_client_factory_start_service + service_client_free + service_send + service_receive_with_timeout + service_receive + service_enable_ssl + service_disable_ssl + service_disable_bypass_ssl + service_get_connection + + ; src/installation_proxy.c + instproxy_client_new + instproxy_client_start_service + instproxy_client_free + instproxy_browse_with_callback + instproxy_browse + instproxy_lookup + instproxy_install + instproxy_upgrade + instproxy_uninstall + instproxy_lookup_archives + instproxy_archive + instproxy_restore + instproxy_remove_archive + instproxy_check_capabilities_match + instproxy_status_get_error + instproxy_status_get_name + instproxy_status_get_percent_complete + instproxy_status_get_current_list + instproxy_command_get_name + instproxy_client_options_new + instproxy_client_options_add + instproxy_client_options_set_return_attributes + instproxy_client_options_free + instproxy_client_get_path_for_bundle_identifier + + ; src/companion_proxy.c + companion_proxy_client_new + companion_proxy_client_start_service + companion_proxy_client_free + companion_proxy_send + companion_proxy_receive + companion_proxy_get_device_registry + companion_proxy_start_listening_for_devices + companion_proxy_stop_listening_for_devices + companion_proxy_get_value_from_registry + companion_proxy_start_forwarding_service_port + companion_proxy_stop_forwarding_service_port + + ; src/restore.c + restored_client_free + restored_client_set_label + restored_receive + restored_send + restored_query_type + restored_query_value + restored_get_value + restored_client_new + restored_goodbye + restored_start_restore + restored_reboot + + ; src/notification_proxy.c + np_client_new + np_client_start_service + np_client_free + np_post_notification + np_observe_notification + np_observe_notifications + np_set_notify_callback + + ; src/house_arrest.c + house_arrest_client_new + house_arrest_client_start_service + house_arrest_client_free + house_arrest_send_request + house_arrest_send_command + house_arrest_get_result + afc_client_new_from_house_arrest_client + + ; src/mobilesync.c + mobilesync_client_new + mobilesync_client_start_service + mobilesync_client_free + mobilesync_receive + mobilesync_send + mobilesync_start + mobilesync_finish + mobilesync_get_all_records_from_device + mobilesync_get_changes_from_device + mobilesync_receive_changes + mobilesync_clear_all_records_on_device + mobilesync_acknowledge_changes_from_device + mobilesync_ready_to_send_changes_from_computer + mobilesync_send_changes + mobilesync_remap_identifiers + mobilesync_cancel + mobilesync_anchors_new + mobilesync_anchors_free + mobilesync_actions_new + mobilesync_actions_add + mobilesync_actions_free + + ; src/idevice.c + idevice_events_subscribe + idevice_events_unsubscribe + idevice_event_subscribe + idevice_event_unsubscribe + idevice_get_device_list_extended + idevice_device_list_extended_free + idevice_get_device_list + idevice_device_list_free + idevice_set_debug_level + idevice_new_with_options + idevice_new + idevice_free + idevice_connect + idevice_disconnect + idevice_connection_send + idevice_connection_receive_timeout + idevice_connection_receive + idevice_connection_get_fd + idevice_get_handle + idevice_get_udid + idevice_connection_enable_ssl + idevice_connection_disable_ssl + idevice_connection_disable_bypass_ssl + + ; src/mobilebackup.c + mobilebackup_client_new + mobilebackup_client_start_service + mobilebackup_client_free + mobilebackup_receive + mobilebackup_send + mobilebackup_request_backup + mobilebackup_send_backup_file_received + mobilebackup_request_restore + mobilebackup_receive_restore_file_received + mobilebackup_receive_restore_application_received + mobilebackup_send_restore_complete + mobilebackup_send_error + + ; src/diagnostics_relay.c + diagnostics_relay_client_new + diagnostics_relay_client_start_service + diagnostics_relay_client_free + diagnostics_relay_goodbye + diagnostics_relay_sleep + diagnostics_relay_restart + diagnostics_relay_shutdown + diagnostics_relay_request_diagnostics + diagnostics_relay_query_mobilegestalt + diagnostics_relay_query_ioregistry_entry + diagnostics_relay_query_ioregistry_plane + + ; src/webinspector.c + webinspector_client_new + webinspector_client_start_service + webinspector_client_free + webinspector_send + webinspector_receive + webinspector_receive_with_timeout + + ; src/afc.c + afc_client_new_with_service_client + afc_client_new + afc_client_start_service + afc_client_free + afc_read_directory + afc_get_device_info + afc_get_device_info_key + afc_remove_path + afc_rename_path + afc_make_directory + afc_get_file_info + afc_file_open + afc_file_read + afc_file_write + afc_file_close + afc_file_lock + afc_file_seek + afc_file_tell + afc_file_truncate + afc_truncate + afc_make_link + afc_set_file_time + afc_remove_path_and_contents + afc_dictionary_free + + ; src/debugserver.c + debugserver_client_new + debugserver_client_start_service + debugserver_client_free + debugserver_client_send + debugserver_client_receive_with_timeout + debugserver_client_receive + debugserver_command_new + debugserver_command_free + debugserver_encode_string + debugserver_decode_string + debugserver_client_set_ack_mode + debugserver_client_set_receive_params + debugserver_client_receive_response + debugserver_client_send_command + debugserver_client_set_environment_hex_encoded + debugserver_client_set_argv + + ; src/sbservices.c + sbservices_client_new + sbservices_client_start_service + sbservices_client_free + sbservices_get_icon_state + sbservices_set_icon_state + sbservices_get_icon_pngdata + sbservices_get_interface_orientation + sbservices_get_home_screen_wallpaper_pngdata + + ; src/bt_packet_logger.c + bt_packet_logger_client_new + bt_packet_logger_client_start_service + bt_packet_logger_client_free + bt_packet_logger_receive_with_timeout + bt_packet_logger_start_capture + bt_packet_logger_stop_capture + + ; src/mobile_image_mounter.c + mobile_image_mounter_new + mobile_image_mounter_start_service + mobile_image_mounter_free + mobile_image_mounter_lookup_image + mobile_image_mounter_upload_image + mobile_image_mounter_mount_image + mobile_image_mounter_hangup + + ; src/lockdown.c + lockdownd_stop_session + lockdownd_client_free + lockdownd_client_set_label + lockdownd_receive + lockdownd_send + lockdownd_query_type + lockdownd_get_value + lockdownd_set_value + lockdownd_remove_value + lockdownd_get_device_udid + lockdownd_get_device_name + lockdownd_client_new + lockdownd_client_new_with_handshake + lockdownd_pair + lockdownd_pair_with_options + lockdownd_validate_pair + lockdownd_unpair + lockdownd_enter_recovery + lockdownd_goodbye + lockdownd_start_session + lockdownd_start_service + lockdownd_start_service_with_escrow_bag + lockdownd_activate + lockdownd_deactivate + lockdownd_get_sync_data_classes + lockdownd_data_classes_free + lockdownd_service_descriptor_free + lockdownd_strerror + + ; src/syslog_relay.c + syslog_relay_client_new + syslog_relay_client_start_service + syslog_relay_client_free + syslog_relay_receive + syslog_relay_receive_with_timeout + syslog_relay_start_capture + syslog_relay_start_capture_raw + syslog_relay_stop_capture diff --git a/ports/libimobiledevice/portfile.cmake b/ports/libimobiledevice/portfile.cmake index b063154bccb9f1..81a788ff758bc8 100644 --- a/ports/libimobiledevice/portfile.cmake +++ b/ports/libimobiledevice/portfile.cmake @@ -1,22 +1,71 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO libimobiledevice-win32/libimobiledevice - REF 0d4a7e905baeadafa098e629a5241fac6fbf7d24 # v1.3.7 - SHA512 db6369b2fa8e7b659948602ac8c4cd568bf37c0f73e58150f61f1af7000de95aa1a6a9ae546d6a37de4cb08a8059127fe5ed067351c4092c01a45350586f755a - HEAD_REF msvc-master + REPO libimobiledevice/libimobiledevice + REF 6fc41f57fc607df9b07446ca45bdf754225c9bd9 # commits on 2023-07-05 + SHA512 0ceae43eb5c193c173536a20a6efde44b0ff4b5e6029342f59cb6b0dcad2fd629713db922f17b331b5f359a649b5402c18637e636bcdb5eb5c53bec12ff94903 + HEAD_REF master + PATCHES + 001_fix_msvc.patch + 002_fix_static_build.patch + 003_fix_api.patch + 004_fix_tools_msvc.patch ) -configure_file("${CURRENT_PORT_DIR}/CMakeLists.txt" "${SOURCE_PATH}/CMakeLists.txt" COPYONLY) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") +file(COPY "${CMAKE_CURRENT_LIST_DIR}/exports.def" DESTINATION "${SOURCE_PATH}") + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + tools BUILD_TOOLS +) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} ) vcpkg_cmake_install() -vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-${PORT}) vcpkg_fixup_pkgconfig() +if("tools" IN_LIST FEATURES) + vcpkg_copy_tools( + TOOL_NAMES + idevice_id + idevicebackup + idevicebackup2 + idevicebtlogger + idevicecrashreport + idevicedate + idevicedebug + idevicedebugserverproxy + idevicedevmodectl + idevicediagnostics + ideviceenterrecovery + ideviceimagemounter + ideviceinfo + idevicename + idevicenotificationproxy + idevicepair + ideviceprovision + idevicescreenshot + idevicesetlocation + idevicesyslog + AUTO_CLEAN + ) +endif() + +file(READ "${CURRENT_PACKAGES_DIR}/share/unofficial-${PORT}/unofficial-${PORT}-config.cmake" cmake_config) +file(WRITE "${CURRENT_PACKAGES_DIR}/share/unofficial-${PORT}/unofficial-${PORT}-config.cmake" +"include(CMakeFindDependencyMacro) +find_dependency(unofficial-libplist CONFIG) +find_dependency(unofficial-libimobiledevice-glue CONFIG) +find_dependency(unofficial-libusbmuxd CONFIG) +find_dependency(OpenSSL) +${cmake_config} +") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -# Handle copyright -file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME 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/libimobiledevice/usage b/ports/libimobiledevice/usage new file mode 100644 index 00000000000000..566ef2ba481154 --- /dev/null +++ b/ports/libimobiledevice/usage @@ -0,0 +1,4 @@ +libimobiledevice provides CMake targets: + + find_package(unofficial-libimobiledevice CONFIG REQUIRED) + target_link_libraries(main PRIVATE unofficial::libimobiledevice::libimobiledevice) diff --git a/ports/libimobiledevice/vcpkg.json b/ports/libimobiledevice/vcpkg.json index 48e63449b7d530..a288fe627a92f2 100644 --- a/ports/libimobiledevice/vcpkg.json +++ b/ports/libimobiledevice/vcpkg.json @@ -1,17 +1,33 @@ { "name": "libimobiledevice", - "version": "1.3.17", + "version-date": "2023-07-05", + "port-version": 1, "description": "A cross-platform protocol library to communicate with iOS devices", "homepage": "http://www.libimobiledevice.org", + "license": "LGPL-2.1-or-later", + "supports": "!uwp", "dependencies": [ "dirent", - "getopt", + "libimobiledevice-glue", "libplist", "libusbmuxd", "openssl", { "name": "vcpkg-cmake", "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "tools": { + "description": "build command line tool", + "supports": "!android & !ios & !xbox", + "dependencies": [ + "getopt" + ] } - ] + } } diff --git a/ports/libirecovery/001_fix_static_build.patch b/ports/libirecovery/001_fix_static_build.patch new file mode 100644 index 00000000000000..795bd076b2801d --- /dev/null +++ b/ports/libirecovery/001_fix_static_build.patch @@ -0,0 +1,22 @@ +diff --git a/src/libirecovery.c b/src/libirecovery.c +index 6e7647b..45ff6f2 100644 +--- a/src/libirecovery.c ++++ b/src/libirecovery.c +@@ -470,6 +470,8 @@ static void _irecv_deinit(void) + static thread_once_t init_once = THREAD_ONCE_INIT; + static thread_once_t deinit_once = THREAD_ONCE_INIT; + ++#ifndef IRECV_STATIC // disable dll constructor ++ + #ifndef HAVE_ATTRIBUTE_CONSTRUCTOR + #if defined(__llvm__) || defined(__GNUC__) + #define HAVE_ATTRIBUTE_CONSTRUCTOR +@@ -505,6 +507,8 @@ BOOL WINAPI DllMain(HINSTANCE hModule, DWORD dwReason, LPVOID lpReserved) + #warning No compiler support for constructor/destructor attributes, some features might not be available. + #endif + ++#endif // disable dll constructor ++ + #ifdef HAVE_IOKIT + static int iokit_get_string_descriptor_ascii(irecv_client_t client, uint8_t desc_index, unsigned char * buffer, int size) + { diff --git a/ports/libirecovery/002_fix_api.patch b/ports/libirecovery/002_fix_api.patch new file mode 100644 index 00000000000000..ae02df6b5d58e1 --- /dev/null +++ b/ports/libirecovery/002_fix_api.patch @@ -0,0 +1,24 @@ +diff --git a/include/libirecovery.h b/include/libirecovery.h +index 33879a4..41fc8bb 100644 +--- a/include/libirecovery.h ++++ b/include/libirecovery.h +@@ -30,17 +30,13 @@ extern "C" { + #ifdef IRECV_STATIC + #define IRECV_API + #elif defined(_WIN32) +- #ifdef DLL_EXPORT ++ #ifdef IRECV_EXPORT + #define IRECV_API __declspec(dllexport) + #else + #define IRECV_API __declspec(dllimport) + #endif + #else +- #if __GNUC__ >= 4 +- #define IRECV_API __attribute__((visibility("default"))) +- #else +- #define IRECV_API +- #endif ++ #define IRECV_API __attribute__((visibility("default"))) + #endif + + enum irecv_mode { diff --git a/ports/libirecovery/003_fix_msvc.patch b/ports/libirecovery/003_fix_msvc.patch new file mode 100644 index 00000000000000..66852ec4250f27 --- /dev/null +++ b/ports/libirecovery/003_fix_msvc.patch @@ -0,0 +1,25 @@ +diff --git a/src/libirecovery.c b/src/libirecovery.c +index 45ff6f2..d9ff1e6 100644 +--- a/src/libirecovery.c ++++ b/src/libirecovery.c +@@ -29,7 +29,9 @@ + #include + #include + #include ++#ifndef _MSC_VER + #include ++#endif + #include + + #include +@@ -59,6 +61,10 @@ + + #include "libirecovery.h" + ++#ifdef _MSC_VER ++#define strcasecmp _stricmp ++#endif ++ + struct irecv_client_private { + int debug; + int usb_config; diff --git a/ports/libirecovery/004_fix_tools_msvc.patch b/ports/libirecovery/004_fix_tools_msvc.patch new file mode 100644 index 00000000000000..b29d98f2ea02b7 --- /dev/null +++ b/ports/libirecovery/004_fix_tools_msvc.patch @@ -0,0 +1,14 @@ +diff --git a/tools/irecovery.c b/tools/irecovery.c +index 34e80bf..deffe89 100644 +--- a/tools/irecovery.c ++++ b/tools/irecovery.c +@@ -27,7 +27,9 @@ + + #include + #include ++#ifndef _MSC_VER + #include ++#endif + #include + #include + #include diff --git a/ports/libirecovery/CMakeLists.txt b/ports/libirecovery/CMakeLists.txt new file mode 100644 index 00000000000000..5345b32980e965 --- /dev/null +++ b/ports/libirecovery/CMakeLists.txt @@ -0,0 +1,125 @@ +cmake_minimum_required(VERSION 3.15) +project(libirecovery C) + +option(BUILD_TOOLS "Build tools." OFF) + +include(GNUInstallDirs) + +file(GLOB_RECURSE LIBIRECOVERY_HEADER include/*.h) +file(GLOB_RECURSE LIBIRECOVERY_SOURCE src/*.c) + +set(DEFINITIONS) + +if(BUILD_SHARED_LIBS) + if(WIN32) + list(APPEND DEFINITIONS -DIRECV_EXPORT) + endif() +else() + list(APPEND DEFINITIONS -DIRECV_STATIC) +endif() + +if(APPLE) + list(APPEND DEFINITIONS -DHAVE_IOKIT) +endif() + +if(WIN32) + list(APPEND DEFINITIONS -D_CRT_SECURE_NO_WARNINGS) + list(APPEND DEFINITIONS -DWIN32_LEAN_AND_MEAN) + list(APPEND DEFINITIONS -DWIN32) +endif() + +find_package(unofficial-libimobiledevice-glue CONFIG REQUIRED) + +add_library(libirecovery ${LIBIRECOVERY_SOURCE}) +target_include_directories(libirecovery PUBLIC + "$" + "$" +) +target_compile_definitions(libirecovery PRIVATE ${DEFINITIONS}) +target_link_libraries(libirecovery + PRIVATE + unofficial::libimobiledevice-glue::libimobiledevice-glue +) +if(NOT WIN32 AND NOT APPLE) + 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) + +if(WIN32) + target_link_libraries(libirecovery PRIVATE Setupapi) +endif() + +if(APPLE) + target_link_libraries(libirecovery PRIVATE "-framework IOKit" "-framework CoreFoundation") +endif() + +install(TARGETS libirecovery EXPORT unofficial-libirecovery) + +install( + EXPORT unofficial-libirecovery + FILE unofficial-libirecovery-config.cmake + DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/unofficial-libirecovery" + NAMESPACE unofficial::libirecovery:: +) + +install( + FILES ${LIBIRECOVERY_HEADER} + DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" +) + +set(LIMD_GLUE_VERSION 1.0) +set(PACKAGE_NAME libirecovery) +set(PACKAGE_VERSION 1.0) +set(prefix "") +set(exec_prefix "\${prefix}") +set(libdir "\${prefix}/lib") +set(includedir "\${prefix}/include") + +configure_file( + "${CMAKE_CURRENT_SOURCE_DIR}/src/libirecovery-1.0.pc.in" + "${CMAKE_CURRENT_BINARY_DIR}/libirecovery-1.0.pc" + @ONLY +) +install( + FILES "${CMAKE_CURRENT_BINARY_DIR}/libirecovery-1.0.pc" + DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig" +) + +if(BUILD_TOOLS) + add_executable(irecovery "tools/irecovery.c") + target_compile_definitions(irecovery PRIVATE + -DPACKAGE_VERSION="1.1.0" + -DPACKAGE_URL="https://github.com/libimobiledevice/libirecovery" + -DPACKAGE_BUGREPORT="https://github.com/libimobiledevice/libirecovery/issues" + ) + if(NOT BUILD_SHARED_LIBS) + target_compile_definitions(irecovery PRIVATE -DIRECV_STATIC) + endif() + if(WIN32) + target_compile_definitions(irecovery PRIVATE + -D_CRT_SECURE_NO_WARNINGS + -DWIN32_LEAN_AND_MEAN + -DWIN32 + ) + find_package(unofficial-getopt-win32 REQUIRED) + target_link_libraries(irecovery PRIVATE unofficial::getopt-win32::getopt Ws2_32) + endif() + if(APPLE) + target_compile_definitions(irecovery PRIVATE -DHAVE_IOKIT) + target_link_libraries(irecovery PRIVATE "-framework IOKit" "-framework CoreFoundation") + endif() + if(NOT WIN32 AND NOT APPLE) + 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) + target_link_libraries(irecovery PRIVATE libirecovery PkgConfig::readline) + install( + TARGETS irecovery + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" + ) +endif() diff --git a/ports/libirecovery/portfile.cmake b/ports/libirecovery/portfile.cmake index 5fd9c0ee89b0f2..2ef67eda46d0e3 100644 --- a/ports/libirecovery/portfile.cmake +++ b/ports/libirecovery/portfile.cmake @@ -1,20 +1,63 @@ -vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY ONLY_DYNAMIC_CRT) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO libimobiledevice-win32/libirecovery - REF 1.0.25 - SHA512 0dd91d4fe3ded2bc1bbd91aea964e31e7f59bce18be01aa096e974f37dc1be281644d6c44e3f9b49470dd961e3df2e3ff8a09bcc6b803a959073e7d7d9a8d3e7 - HEAD_REF msvc-master + REPO libimobiledevice/libirecovery + REF c7b488fbf2a9ab95e451df1319e68662fff7b9b7 # commits on 2023-05-13 + SHA512 a8638b71789c0cedf5913a877ca42fef079c968592b6149dfa578d2dc7840f63c1d1fadd934d7cfbd5139cea2b3a4249886a88b69c3edb19dbd3f893c266f665 + HEAD_REF master + PATCHES + 001_fix_static_build.patch + 002_fix_api.patch + 003_fix_msvc.patch + 004_fix_tools_msvc.patch ) -vcpkg_install_msbuild( - SOURCE_PATH ${SOURCE_PATH} - PROJECT_SUBPATH libirecovery.sln - INCLUDES_SUBPATH include - LICENSE_SUBPATH COPYING - USE_VCPKG_INTEGRATION - ALLOW_ROOT_INCLUDES +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + tools BUILD_TOOLS +) + +if("tools" IN_LIST FEATURES) + vcpkg_find_acquire_program(PKGCONFIG) + list(APPEND FEATURE_OPTIONS "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}") +endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} ) -file(REMOVE ${CURRENT_PACKAGES_DIR}/include/Makefile.am) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-${PORT}) +vcpkg_fixup_pkgconfig() +if("tools" IN_LIST FEATURES) + vcpkg_copy_tools(TOOL_NAMES irecovery AUTO_CLEAN) +endif() + +if (VCPKG_LIBRARY_LINKAGE STREQUAL "static") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/libirecovery.h" + "#ifdef IRECV_STATIC" "#if 1" + ) +else() + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/libirecovery.h" + "#ifdef IRECV_STATIC" "#if 0" + ) +endif() + +file(READ "${CURRENT_PACKAGES_DIR}/share/unofficial-${PORT}/unofficial-${PORT}-config.cmake" cmake_config) +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} +") + +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/libirecovery/usage b/ports/libirecovery/usage new file mode 100644 index 00000000000000..fbb5c015267f05 --- /dev/null +++ b/ports/libirecovery/usage @@ -0,0 +1,4 @@ +libirecovery provides CMake targets: + + find_package(unofficial-libirecovery CONFIG REQUIRED) + target_link_libraries(main PRIVATE unofficial::libirecovery::libirecovery) diff --git a/ports/libirecovery/vcpkg.json b/ports/libirecovery/vcpkg.json index 8b5a6e942afdbe..ac8b919579f444 100644 --- a/ports/libirecovery/vcpkg.json +++ b/ports/libirecovery/vcpkg.json @@ -1,11 +1,34 @@ { "name": "libirecovery", - "version-string": "1.0.25", - "port-version": 3, + "version-date": "2023-05-13", + "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", + "supports": "!uwp", "dependencies": [ - "getopt", - "libusbmuxd", - "readline" - ] + "libimobiledevice-glue", + { + "name": "libusb", + "platform": "!windows & !osx" + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "tools": { + "description": "build command line tool", + "supports": "!android & !ios & !xbox", + "dependencies": [ + "getopt", + "readline" + ] + } + } } 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 49dc8fe290626d..37b9e0cab70adc 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 d80af40..361ecae 100644 +index ff9c9c27..d3fbad30 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -143,6 +143,12 @@ option(ENABLE_SHARED "Build shared libraries" TRUE) +@@ -217,6 +217,12 @@ option(ENABLE_SHARED "Build shared libraries" TRUE) boolean_number(ENABLE_SHARED) option(ENABLE_STATIC "Build static libraries" TRUE) boolean_number(ENABLE_STATIC) @@ -12,236 +12,204 @@ index d80af40..361ecae 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_12BIT "Encode/decode JPEG images with 12-bit samples (implies WITH_ARITH_DEC=0 WITH_ARITH_ENC=0 WITH_JAVA=0 WITH_SIMD=0 WITH_TURBOJPEG=0 )" FALSE) -@@ -593,18 +599,20 @@ 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) +@@ -721,6 +727,7 @@ if(WITH_TURBOJPEG) LINK_FLAGS "${TJMAPFLAG}${TJMAPFILE}") endif() -- add_executable(tjunittest tjunittest.c tjutil.c md5/md5.c md5/md5hl.c) -- target_link_libraries(tjunittest turbojpeg) + if(ENABLE_EXECUTABLES) -+ add_executable(tjunittest tjunittest.c tjutil.c md5/md5.c md5/md5hl.c) -+ target_link_libraries(tjunittest turbojpeg) - -- add_executable(tjbench tjbench.c tjutil.c) -- target_link_libraries(tjbench turbojpeg) -- if(UNIX) -- target_link_libraries(tjbench m) -- endif() -+ add_executable(tjbench tjbench.c tjutil.c) -+ target_link_libraries(tjbench turbojpeg) -+ if(UNIX) -+ target_link_libraries(tjbench m) -+ endif() - -- add_executable(tjexample tjexample.c) -- target_link_libraries(tjexample turbojpeg) -- endif() -+ add_executable(tjexample tjexample.c) -+ target_link_libraries(tjexample turbojpeg) + add_executable(tjunittest tjunittest.c tjutil.c md5/md5.c md5/md5hl.c) + target_link_libraries(tjunittest turbojpeg) + +@@ -732,9 +739,11 @@ if(WITH_TURBOJPEG) + + add_executable(tjexample tjexample.c) + target_link_libraries(tjexample turbojpeg) +- + endif() -+ endif() ++ if(INSTALL_DOCS) + add_custom_target(tjdoc COMMAND doxygen -s doxygen.config + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}) ++ endif() + endif() if(ENABLE_STATIC) - add_library(turbojpeg-static STATIC ${JPEG_SOURCES} $ -@@ -616,14 +624,16 @@ if(WITH_TURBOJPEG) +@@ -755,6 +764,7 @@ if(WITH_TURBOJPEG) set_target_properties(turbojpeg-static PROPERTIES OUTPUT_NAME turbojpeg) endif() -- add_executable(tjunittest-static tjunittest.c tjutil.c md5/md5.c -- md5/md5hl.c) -- target_link_libraries(tjunittest-static turbojpeg-static) + if(ENABLE_EXECUTABLES) -+ add_executable(tjunittest-static tjunittest.c tjutil.c md5/md5.c -+ md5/md5hl.c) -+ target_link_libraries(tjunittest-static turbojpeg-static) - -- add_executable(tjbench-static tjbench.c tjutil.c) -- target_link_libraries(tjbench-static turbojpeg-static) -- if(UNIX) -- target_link_libraries(tjbench-static m) -+ add_executable(tjbench-static tjbench.c tjutil.c) -+ target_link_libraries(tjbench-static turbojpeg-static) -+ if(UNIX) -+ target_link_libraries(tjbench-static m) -+ endif() + add_executable(tjunittest-static tjunittest.c tjutil.c md5/md5.c + md5/md5hl.c) + target_link_libraries(tjunittest-static turbojpeg-static) +@@ -764,6 +774,7 @@ if(WITH_TURBOJPEG) + if(UNIX) + target_link_libraries(tjbench-static m) endif() ++ endif() endif() endif() -@@ -639,7 +649,7 @@ else() - set(DJPEG_BMP_SOURCES wrbmp.c wrtarga.c) - endif() --if(ENABLE_STATIC) -+if(ENABLE_STATIC AND ENABLE_EXECUTABLES) - add_executable(cjpeg-static cjpeg.c cdjpeg.c rdgif.c rdppm.c rdswitch.c - ${CJPEG_BMP_SOURCES}) - set_property(TARGET cjpeg-static PROPERTY COMPILE_FLAGS ${COMPILE_FLAGS}) -@@ -655,9 +665,10 @@ if(ENABLE_STATIC) - set_property(TARGET jpegtran-static PROPERTY COMPILE_FLAGS "${USE_SETMODE}") +@@ -782,13 +793,15 @@ if(ENABLE_STATIC) + add_library(cjpeg16-static OBJECT rdgif.c 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 $ + $) + 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) +@@ -797,6 +810,7 @@ if(ENABLE_STATIC) + add_library(djpeg16-static OBJECT 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 $ + $) +@@ -810,11 +824,14 @@ if(ENABLE_STATIC) + + add_executable(example-static example.c) + target_link_libraries(example-static jpeg-static) ++ endif() endif() --add_executable(rdjpgcom rdjpgcom.c) -- --add_executable(wrjpgcom wrjpgcom.c) +if(ENABLE_EXECUTABLES) -+ add_executable(rdjpgcom rdjpgcom.c) -+ add_executable(wrjpgcom wrjpgcom.c) + add_executable(rdjpgcom rdjpgcom.c) + + add_executable(wrjpgcom wrjpgcom.c) +endif() ############################################################################### -@@ -1337,10 +1348,14 @@ set(EXE ${CMAKE_EXECUTABLE_SUFFIX}) - - if(WITH_TURBOJPEG) - if(ENABLE_SHARED) -- install(TARGETS turbojpeg tjbench -+ install(TARGETS turbojpeg - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) +@@ -1730,8 +1747,10 @@ if(WITH_TURBOJPEG) + 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 tjbench -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) + install(TARGETS tjbench + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT bin) + endif() if(NOT CMAKE_VERSION VERSION_LESS "3.1" AND MSVC AND CMAKE_C_LINKER_SUPPORTS_PDB) install(FILES "$" -@@ -1350,7 +1365,7 @@ if(WITH_TURBOJPEG) - if(ENABLE_STATIC) - install(TARGETS turbojpeg-static ARCHIVE - DESTINATION ${CMAKE_INSTALL_LIBDIR}) +@@ -1742,7 +1761,7 @@ if(WITH_TURBOJPEG) + install(TARGETS turbojpeg-static EXPORT ${CMAKE_PROJECT_NAME}Targets + INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT lib) - if(NOT ENABLE_SHARED) + if(NOT ENABLE_SHARED AND ENABLE_EXECUTABLES) - if(MSVC_IDE OR XCODE) + if(GENERATOR_IS_MULTI_CONFIG) set(DIR "${CMAKE_CURRENT_BINARY_DIR}/\${CMAKE_INSTALL_CONFIG_NAME}") else() -@@ -1360,13 +1375,15 @@ if(WITH_TURBOJPEG) - DESTINATION ${CMAKE_INSTALL_BINDIR} RENAME tjbench${EXE}) +@@ -1752,15 +1771,17 @@ if(WITH_TURBOJPEG) + DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT bin RENAME tjbench${EXE}) endif() endif() -- install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/turbojpeg.h -- DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) + if(INSTALL_HEADERS) -+ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/turbojpeg.h -+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) + install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/turbojpeg.h + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} COMPONENT include) + endif() endif() if(ENABLE_STATIC) - install(TARGETS jpeg-static ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + install(TARGETS jpeg-static EXPORT ${CMAKE_PROJECT_NAME}Targets + INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT lib) - if(NOT ENABLE_SHARED) + if(NOT ENABLE_SHARED AND ENABLE_EXECUTABLES) - if(MSVC_IDE OR XCODE) + if(GENERATOR_IS_MULTI_CONFIG) set(DIR "${CMAKE_CURRENT_BINARY_DIR}/\${CMAKE_INSTALL_CONFIG_NAME}") else() -@@ -1381,21 +1398,25 @@ if(ENABLE_STATIC) +@@ -1775,9 +1796,12 @@ if(ENABLE_STATIC) endif() endif() --install(TARGETS rdjpgcom wrjpgcom RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) +if(ENABLE_EXECUTABLES) -+ install(TARGETS rdjpgcom wrjpgcom RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) + install(TARGETS rdjpgcom wrjpgcom + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT bin) +endif() --install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/README.ijg -- ${CMAKE_CURRENT_SOURCE_DIR}/README.md ${CMAKE_CURRENT_SOURCE_DIR}/example.txt -- ${CMAKE_CURRENT_SOURCE_DIR}/tjexample.c -- ${CMAKE_CURRENT_SOURCE_DIR}/libjpeg.txt -- ${CMAKE_CURRENT_SOURCE_DIR}/structure.txt -- ${CMAKE_CURRENT_SOURCE_DIR}/usage.txt ${CMAKE_CURRENT_SOURCE_DIR}/wizard.txt -- ${CMAKE_CURRENT_SOURCE_DIR}/LICENSE.md DESTINATION ${CMAKE_INSTALL_DOCDIR}) --if(WITH_JAVA) -- install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/java/TJExample.java -- DESTINATION ${CMAKE_INSTALL_DOCDIR}) +if(INSTALL_DOCS) -+ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/README.ijg -+ ${CMAKE_CURRENT_SOURCE_DIR}/README.md ${CMAKE_CURRENT_SOURCE_DIR}/example.txt -+ ${CMAKE_CURRENT_SOURCE_DIR}/tjexample.c -+ ${CMAKE_CURRENT_SOURCE_DIR}/libjpeg.txt -+ ${CMAKE_CURRENT_SOURCE_DIR}/structure.txt -+ ${CMAKE_CURRENT_SOURCE_DIR}/usage.txt ${CMAKE_CURRENT_SOURCE_DIR}/wizard.txt -+ ${CMAKE_CURRENT_SOURCE_DIR}/LICENSE.md DESTINATION ${CMAKE_INSTALL_DOCDIR}) -+ if(WITH_JAVA) -+ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/java/TJExample.java -+ DESTINATION ${CMAKE_INSTALL_DOCDIR}) -+ endif() + 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 +@@ -1790,8 +1814,9 @@ if(WITH_JAVA) + install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/java/TJExample.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 -@@ -1406,10 +1427,12 @@ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/pkgscripts/libjpeg.pc - ${CMAKE_CURRENT_BINARY_DIR}/pkgscripts/libturbojpeg.pc - DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) - --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}) +@@ -1814,11 +1839,12 @@ 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}) + 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} 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 a5c4e39..794c2af 100644 +index eaed9e95..74d53696 100644 --- a/sharedlib/CMakeLists.txt +++ b/sharedlib/CMakeLists.txt -@@ -71,27 +71,35 @@ else() - set(DJPEG_BMP_SOURCES ../wrbmp.c ../wrtarga.c) - endif() - --add_executable(cjpeg ../cjpeg.c ../cdjpeg.c ../rdgif.c ../rdppm.c -- ../rdswitch.c ${CJPEG_BMP_SOURCES}) --set_property(TARGET cjpeg PROPERTY COMPILE_FLAGS ${COMPILE_FLAGS}) --target_link_libraries(cjpeg jpeg) +@@ -88,12 +88,13 @@ set_property(TARGET cjpeg12 PROPERTY COMPILE_FLAGS + add_library(cjpeg16 OBJECT ../rdgif.c ../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 ../rdgif.c ../rdppm.c -+ ../rdswitch.c ${CJPEG_BMP_SOURCES}) -+ set_property(TARGET cjpeg PROPERTY COMPILE_FLAGS ${COMPILE_FLAGS}) -+ target_link_libraries(cjpeg jpeg) - --add_executable(djpeg ../djpeg.c ../cdjpeg.c ../rdcolmap.c ../rdswitch.c -- ../wrgif.c ../wrppm.c ${DJPEG_BMP_SOURCES}) --set_property(TARGET djpeg PROPERTY COMPILE_FLAGS ${COMPILE_FLAGS}) --target_link_libraries(djpeg jpeg) -+ add_executable(djpeg ../djpeg.c ../cdjpeg.c ../rdcolmap.c ../rdswitch.c -+ ../wrgif.c ../wrppm.c ${DJPEG_BMP_SOURCES}) -+ set_property(TARGET djpeg PROPERTY COMPILE_FLAGS ${COMPILE_FLAGS}) -+ target_link_libraries(djpeg jpeg) - --add_executable(jpegtran ../jpegtran.c ../cdjpeg.c ../rdswitch.c ../transupp.c) --target_link_libraries(jpegtran jpeg) --set_property(TARGET jpegtran PROPERTY COMPILE_FLAGS "${USE_SETMODE}") -+ add_executable(jpegtran ../jpegtran.c ../cdjpeg.c ../rdswitch.c ../transupp.c) -+ target_link_libraries(jpegtran jpeg) -+ set_property(TARGET jpegtran PROPERTY COMPILE_FLAGS "${USE_SETMODE}") - --add_executable(jcstest ../jcstest.c) --target_link_libraries(jcstest jpeg) -+ add_executable(jcstest ../jcstest.c) -+ target_link_libraries(jcstest jpeg) + add_executable(cjpeg ../cjpeg.c ../cdjpeg.c ../rdbmp.c ../rdgif.c ../rdppm.c + ../rdswitch.c ../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. + add_library(djpeg12 OBJECT ../rdcolmap.c ../wrgif.c ../wrppm.c) +@@ -102,6 +103,7 @@ set_property(TARGET djpeg12 PROPERTY COMPILE_FLAGS + add_library(djpeg16 OBJECT ../wrppm.c) + set_property(TARGET djpeg16 PROPERTY COMPILE_FLAGS + "-DBITS_IN_JSAMPLE=16 -DPPM_SUPPORTED") ++if(ENABLE_EXECUTABLES) + add_executable(djpeg ../djpeg.c ../cdjpeg.c ../rdcolmap.c ../rdswitch.c + ../wrbmp.c ../wrgif.c ../wrppm.c ../wrtarga.c $ + $) +@@ -117,14 +119,16 @@ target_link_libraries(example jpeg) --install(TARGETS jpeg cjpeg djpeg jpegtran -+install(TARGETS jpeg - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) + add_executable(jcstest ../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 -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) + install(TARGETS cjpeg djpeg jpegtran + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT bin) +endif() if(NOT CMAKE_VERSION VERSION_LESS "3.1" AND MSVC AND CMAKE_C_LINKER_SUPPORTS_PDB) diff --git a/ports/libjpeg-turbo/fix-incompatibility-for-c11-c17.patch b/ports/libjpeg-turbo/fix-incompatibility-for-c11-c17.patch deleted file mode 100644 index c0aaf585b216cd..00000000000000 --- a/ports/libjpeg-turbo/fix-incompatibility-for-c11-c17.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/tjutil.h b/tjutil.h -index f72840c..a3ae19f 100644 ---- a/tjutil.h -+++ b/tjutil.h -@@ -30,7 +30,7 @@ - #ifndef __MINGW32__ - #include - #define snprintf(str, n, format, ...) \ -- _snprintf_s(str, n, _TRUNCATE, format, __VA_ARGS__) -+ _snprintf_s(str, n, _TRUNCATE, format, ## __VA_ARGS__) - #endif - #define strcasecmp stricmp - #define strncasecmp strnicmp diff --git a/ports/libjpeg-turbo/portfile.cmake b/ports/libjpeg-turbo/portfile.cmake index 98446fdbcfae21..cfc900705b5832 100644 --- a/ports/libjpeg-turbo/portfile.cmake +++ b/ports/libjpeg-turbo/portfile.cmake @@ -1,22 +1,25 @@ 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 10ba6ed3365615ed5c2995fe2d240cb2d5000173 # 2.0.6 - SHA512 219d01907e66dd0fc20ea13cfa51a8efee305810f1245d0648b6ad8ee3cf11bf0bbd43b1ceeeb142a6ebbbfa281ec6a3b4e283b2fc343c360cd3ad29e9d42528 + REF "${VERSION}" + SHA512 f43e1b6b9d048e29e381796c71e1c34a04c0f1c52c1f462db9f9930cfc75d69a50861be2570a6a4adc26a4183b6601300fd9d5553c06bc042f0d32fc1e408ed9 HEAD_REF master PATCHES add-options-for-exes-docs-headers.patch - #workaround for vcpkg bug see #5697 on github for more information + # workaround for vcpkg bug see #5697 on github for more information workaround_cmake_system_processor.patch - fix-incompatibility-for-c11-c17.patch ) -if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64" OR (VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")) +if(VCPKG_TARGET_ARCHITECTURE STREQUAL "wasm32") set(LIBJPEGTURBO_SIMD -DWITH_SIMD=OFF) +elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64" OR (VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")) + set(LIBJPEGTURBO_SIMD -DWITH_SIMD=ON -DNEON_INTRINSICS=ON) else() set(LIBJPEGTURBO_SIMD -DWITH_SIMD=ON) vcpkg_find_acquire_program(NASM) @@ -38,9 +41,8 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS jpeg8 WITH_JPEG8 ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DENABLE_STATIC=${ENABLE_STATIC} -DENABLE_SHARED=${ENABLE_SHARED} @@ -55,7 +57,11 @@ vcpkg_configure_cmake( WITH_CRT_DLL ) -vcpkg_install_cmake() +vcpkg_cmake_install() +vcpkg_copy_pdbs() + +vcpkg_fixup_pkgconfig() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/libjpeg-turbo) # Rename libraries for static builds if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") @@ -66,20 +72,30 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/lib/jpeg-static.lib") file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/jpeg-static.lib" "${CURRENT_PACKAGES_DIR}/debug/lib/jpeg.lib") file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/turbojpeg-static.lib" "${CURRENT_PACKAGES_DIR}/debug/lib/turbojpeg.lib") + endif() - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") + + 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}" 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}" 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}" 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}" IGNORE_UNCHANGED) endif() endif() -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}/share/man) - -file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/jpeg) +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/share/man") -file(INSTALL ${SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +file(COPY "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/jpeg") -vcpkg_copy_pdbs() +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.md") diff --git a/ports/libjpeg-turbo/usage b/ports/libjpeg-turbo/usage index ccd47717f7f1c6..6d70f46ff96850 100644 --- a/ports/libjpeg-turbo/usage +++ b/ports/libjpeg-turbo/usage @@ -1,5 +1,9 @@ -The package libjpeg-turbo is compatible with built-in CMake targets: +libjpeg-turbo is compatible with built-in implementation-agnostic CMake targets: find_package(JPEG REQUIRED) - target_link_libraries(main PRIVATE ${JPEG_LIBRARIES}) - target_include_directories(main PRIVATE ${JPEG_INCLUDE_DIR}) + target_include_directories(main PRIVATE JPEG::JPEG) + +libjpeg-turbo provides CMake targets for the TurboJPEG C API: + + find_package(libjpeg-turbo CONFIG REQUIRED) + target_link_libraries(main PRIVATE $,libjpeg-turbo::turbojpeg,libjpeg-turbo::turbojpeg-static>) diff --git a/ports/libjpeg-turbo/vcpkg-cmake-wrapper.cmake b/ports/libjpeg-turbo/vcpkg-cmake-wrapper.cmake index 22f0ab92e50dea..d63c58b0aaac9a 100644 --- a/ports/libjpeg-turbo/vcpkg-cmake-wrapper.cmake +++ b/ports/libjpeg-turbo/vcpkg-cmake-wrapper.cmake @@ -1,13 +1,11 @@ +cmake_policy(PUSH) +cmake_policy(SET CMP0012 NEW) +cmake_policy(SET CMP0054 NEW) find_path(JPEG_INCLUDE_DIR NAMES jpeglib.h PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include" NO_DEFAULT_PATH) find_library(JPEG_LIBRARY_RELEASE NAMES jpeg PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib" NO_DEFAULT_PATH) find_library(JPEG_LIBRARY_DEBUG NAMES jpeg PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/lib" NO_DEFAULT_PATH) -if(NOT JPEG_INCLUDE_DIR OR NOT JPEG_LIBRARY_RELEASE OR (NOT JPEG_LIBRARY_DEBUG AND EXISTS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/lib")) - message(FATAL_ERROR "Broken installation of vcpkg port libjpeg-turbo") -endif() -if(CMAKE_VERSION VERSION_LESS 3.12) - include(SelectLibraryConfigurations) - select_library_configurations(JPEG) - unset(JPEG_FOUND) +if(CMAKE_VERSION VERSION_LESS 3.12 AND CMAKE_BUILD_TYPE STREQUAL "Debug") + set(JPEG_LIBRARY "${JPEG_LIBRARY_DEBUG}" CACHE FILEPATH "") endif() _find_package(${ARGS}) if(JPEG_FOUND AND NOT TARGET JPEG::JPEG) @@ -37,3 +35,4 @@ if(JPEG_FOUND AND NOT TARGET JPEG::JPEG) IMPORTED_LOCATION_DEBUG "${JPEG_LIBRARY_DEBUG}") endif() endif() +cmake_policy(POP) diff --git a/ports/libjpeg-turbo/vcpkg.json b/ports/libjpeg-turbo/vcpkg.json index 4e59d2b69abefa..55b815820460bd 100644 --- a/ports/libjpeg-turbo/vcpkg.json +++ b/ports/libjpeg-turbo/vcpkg.json @@ -1,9 +1,19 @@ { "name": "libjpeg-turbo", - "version": "2.0.6", - "port-version": 2, + "version": "3.0.4", "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", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], "features": { "jpeg7": { "description": "Emulate libjpeg v7 API/ABI (this makes libjpeg-turbo backward-incompatible with libjpeg v6b!)" diff --git a/ports/libjpeg-turbo/workaround_cmake_system_processor.patch b/ports/libjpeg-turbo/workaround_cmake_system_processor.patch index 613504dfac9f9d..9abe2ce49e88cc 100644 --- a/ports/libjpeg-turbo/workaround_cmake_system_processor.patch +++ b/ports/libjpeg-turbo/workaround_cmake_system_processor.patch @@ -1,13 +1,13 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index b2f137a..3754095 100644 +index d3fbad30..9cf01cf5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -40,7 +40,7 @@ message(STATUS "VERSION = ${VERSION}, BUILD = ${BUILD}") +@@ -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") -string(TOLOWER ${CMAKE_SYSTEM_PROCESSOR} CMAKE_SYSTEM_PROCESSOR_LC) +string(TOLOWER "${CMAKE_SYSTEM_PROCESSOR}" CMAKE_SYSTEM_PROCESSOR_LC) - if(CMAKE_SYSTEM_PROCESSOR_LC MATCHES "x86_64" OR - CMAKE_SYSTEM_PROCESSOR_LC MATCHES "amd64" OR - CMAKE_SYSTEM_PROCESSOR_LC MATCHES "i[0-9]86" OR + set(COUNT 1) + foreach(ARCH ${CMAKE_OSX_ARCHITECTURES}) + if(COUNT GREATER 1) 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/library-linkage.diff b/ports/libjuice/library-linkage.diff new file mode 100644 index 00000000000000..620dde1672902b --- /dev/null +++ b/ports/libjuice/library-linkage.diff @@ -0,0 +1,25 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index dd6c669..18e4166 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -148,11 +148,20 @@ add_library(LibJuice::LibJuice ALIAS juice) + set_target_properties(juice-static PROPERTIES EXPORT_NAME LibJuiceStatic) + add_library(LibJuice::LibJuiceStatic ALIAS juice-static) + ++if(BUILD_SHARED_LIBS) + install(TARGETS juice EXPORT LibJuiceTargets + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + ) ++else() ++ set_target_properties(juice PROPERTIES EXCLUDE_FROM_ALL 1) ++ set_target_properties(juice PROPERTIES OUTPUT_NAME juice-shared) ++ set_target_properties(juice-static PROPERTIES EXCLUDE_FROM_ALL 0) ++ set_target_properties(juice-static PROPERTIES OUTPUT_NAME juice) ++ set_target_properties(juice-static PROPERTIES EXPORT_NAME LibJuice) ++ install(TARGETS juice-static EXPORT LibJuiceTargets) ++endif() + + install(FILES ${LIBJUICE_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/juice) + diff --git a/ports/libjuice/portfile.cmake b/ports/libjuice/portfile.cmake index f6e383a5d11669..e554ace0aa222d 100644 --- a/ports/libjuice/portfile.cmake +++ b/ports/libjuice/portfile.cmake @@ -1,11 +1,12 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO paullouisageneau/libjuice - REF 026b3dd68db33143db8a5a9b16af3923733a8b61 #v0.9.1 - SHA512 050e92df2e3f24da465ffd4e57d35ffc7a4e13042dc0b829627a09c3f8c7898c7b066f3e386004b579e7416adf4885f5f7a8da46f34c76e9bc63747616f34f9d + REF "v${VERSION}" + SHA512 694a316b7e9f33be45ace1d35a32e6a4ec74b7038c6268d0d35efcbf7a3c7abc9d2823dae789d849f37f0399d9da779a54bf6e9db5477df326aa185be92657b2 HEAD_REF master PATCHES - fix-for-vcpkg.patch + dependencies.diff + library-linkage.diff ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS @@ -21,10 +22,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) \ No newline at end of file +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/libjuice/vcpkg.json b/ports/libjuice/vcpkg.json index d3a226ba9a768d..1ddf24ec3fc7bc 100644 --- a/ports/libjuice/vcpkg.json +++ b/ports/libjuice/vcpkg.json @@ -1,8 +1,9 @@ { "name": "libjuice", - "version": "0.9.1", + "version": "1.5.4", "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", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/libjxl/fix-dependencies.patch b/ports/libjxl/fix-dependencies.patch index 4c6353cfc4e08a..d0c6ad2abf96c2 100644 --- a/ports/libjxl/fix-dependencies.patch +++ b/ports/libjxl/fix-dependencies.patch @@ -1,147 +1,39 @@ -diff --git a/lib/jxl.cmake b/lib/jxl.cmake ---- a/lib/jxl.cmake -+++ b/lib/jxl.cmake -@@ -3,6 +3,16 @@ - # Use of this source code is governed by a BSD-style - # license that can be found in the LICENSE file. - -+find_package(lodepng CONFIG REQUIRED) -+find_package(unofficial-brotli CONFIG REQUIRED) -+find_package(lcms2 CONFIG REQUIRED) -+ -+foreach(brlib IN ITEMS brotlienc brotlidec brotlicommon) -+ add_library(${brlib} ALIAS unofficial::brotli::${brlib}-static) -+ add_library(${brlib}-static ALIAS unofficial::brotli::${brlib}-static) -+endforeach() -+add_library(lcms2 ALIAS lcms2::lcms2) -+ - # Lists all source files for the JPEG XL decoder library. These are also used - # by the encoder: the encoder uses both dec and enc ourse files, while the - # decoder uses only dec source files. diff --git a/third_party/CMakeLists.txt b/third_party/CMakeLists.txt +index ea22103e..c6dbbe9f 100644 --- a/third_party/CMakeLists.txt +++ b/third_party/CMakeLists.txt -@@ -88,18 +88,16 @@ if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/highway/CMakeLists.txt" AND +@@ -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() -- pkg_check_modules(HWY libhwy) +- find_package(HWY 1.0.7) - if (NOT HWY_FOUND) -+ find_path(HWY_INCLUDE_DIRS "hwy/highway.h") -+ find_library(HWY_LINK_LIBRARIES hwy) -+ if (NOT HWY_INCLUDE_DIRS OR NOT HWY_LINK_LIBRARIES) ++ 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 . " -- "Highway is required to build JPEG XL. You can run " -- "${PROJECT_SOURCE_DIR}/deps.sh to download this dependency.") -+ "Highway library (hwy) not found.") - endif() - add_library(hwy INTERFACE IMPORTED GLOBAL) - if(${CMAKE_VERSION} VERSION_LESS "3.13.5") -- set_property(TARGET hwy PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${HWY_INCLUDE_DIR}) -- target_link_libraries(hwy INTERFACE ${HWY_LDFLAGS}) -+ set_property(TARGET hwy PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${HWY_INCLUDE_DIRS}) -+ target_link_libraries(hwy INTERFACE ${HWY_LINK_LIBRARIES}) - set_property(TARGET hwy PROPERTY INTERFACE_COMPILE_OPTIONS ${HWY_CFLAGS_OTHER}) - else() - target_include_directories(hwy INTERFACE ${HWY_INCLUDE_DIRS}) -@@ -114,82 +112,10 @@ else() - endif() - - # lodepng --if( NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/lodepng/lodepng.h" ) -- message(FATAL_ERROR "Please run ${PROJECT_SOURCE_DIR}/deps.sh to fetch the " -- "build dependencies.") --endif() --include(lodepng.cmake) --configure_file("${CMAKE_CURRENT_SOURCE_DIR}/lodepng/LICENSE" -- ${PROJECT_BINARY_DIR}/LICENSE.lodepng COPYONLY) -+find_package(lodepng CONFIG REQUIRED) - + "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) -- # Create the libbrotli* and libbrotli*-static targets. -- foreach(brlib IN ITEMS brotlienc brotlidec brotlicommon) -- # Use uppercase like "BROTLIENC" for the cmake variables -- string(TOUPPER "${brlib}" BRPREFIX) -- pkg_check_modules(${BRPREFIX} lib${brlib}) -- if (${BRPREFIX}_FOUND) -- if(${CMAKE_VERSION} VERSION_LESS "3.13.5") -- add_library(${brlib} INTERFACE IMPORTED GLOBAL) -- set_property(TARGET ${brlib} PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${${BRPREFIX}_INCLUDE_DIR}) -- target_link_libraries(${brlib} INTERFACE ${${BRPREFIX}_LDFLAGS}) -- set_property(TARGET ${brlib} PROPERTY INTERFACE_COMPILE_OPTIONS ${${BRPREFIX}_CFLAGS_OTHER}) -- -- add_library(${brlib}-static INTERFACE IMPORTED GLOBAL) -- set_property(TARGET ${brlib}-static PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${${BRPREFIX}_INCLUDE_DIR}) -- target_link_libraries(${brlib}-static INTERFACE ${${BRPREFIX}_LDFLAGS}) -- set_property(TARGET ${brlib}-static PROPERTY INTERFACE_COMPILE_OPTIONS ${${BRPREFIX}_CFLAGS_OTHER}) -- else() -- add_library(${brlib} INTERFACE IMPORTED GLOBAL) -- target_include_directories(${brlib} -- INTERFACE ${${BRPREFIX}_INCLUDE_DIRS}) -- target_link_libraries(${brlib} -- INTERFACE ${${BRPREFIX}_LINK_LIBRARIES}) -- target_link_options(${brlib} -- INTERFACE ${${BRPREFIX}_LDFLAGS_OTHER}) -- target_compile_options(${brlib} -- INTERFACE ${${BRPREFIX}_CFLAGS_OTHER}) -- -- # TODO(deymo): Remove the -static library versions, this target is -- # currently needed by brunsli.cmake. When importing it this way, the -- # brotli*-static target is just an alias. -- add_library(${brlib}-static ALIAS ${brlib}) -- endif() -- endif() -- unset(BRPREFIX) -- endforeach() -- -- if (BROTLIENC_FOUND AND BROTLIDEC_FOUND AND BROTLICOMMON_FOUND) -- set(BROTLI_FOUND 1) -- else() -- set(BROTLI_FOUND 0) -- endif() -- -- if (NOT BROTLI_FOUND) -- message(FATAL_ERROR -- "Brotli not found, install brotli-dev or download brotli source code to" -- " third_party/brotli from https://github.com/google/brotli. You can use" -- " ${PROJECT_SOURCE_DIR}/deps.sh to download this dependency.") -- endif () -- if(JPEGXL_DEP_LICENSE_DIR) -- configure_file("${JPEGXL_DEP_LICENSE_DIR}/libbrotli-dev/copyright" -- ${PROJECT_BINARY_DIR}/LICENSE.brotli COPYONLY) -- endif() # JPEGXL_DEP_LICENSE_DIR --else() -- # Compile brotli from sources. -- set(BROTLI_DISABLE_TESTS ON CACHE STRING "Disable Brotli tests") -- add_subdirectory(brotli EXCLUDE_FROM_ALL) -- configure_file("${CMAKE_CURRENT_SOURCE_DIR}/brotli/LICENSE" -- ${PROJECT_BINARY_DIR}/LICENSE.brotli COPYONLY) -- if(BROTLI_EMSCRIPTEN) -- # Brotli only defines the -static targets when using emscripten. -- foreach(brlib IN ITEMS brotlienc brotlidec brotlicommon) -- add_library(${brlib} ALIAS ${brlib}-static) -- endforeach() -- endif() # BROTLI_EMSCRIPTEN --endif() -+find_package(unofficial-brotli CONFIG REQUIRED) - - # *cms - if (JPEGXL_ENABLE_SKCMS OR JPEGXL_ENABLE_PLUGINS) -@@ -202,12 +128,7 @@ if (JPEGXL_ENABLE_SKCMS OR JPEGXL_ENABLE_PLUGINS) - ${PROJECT_BINARY_DIR}/LICENSE.skcms COPYONLY) + if (NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/brotli/c/include/brotli/decode.h" OR + JPEGXL_FORCE_SYSTEM_BROTLI) +- find_package(Brotli) ++ find_package(Brotli NAMES unofficial-brotli REQUIRED) ++ foreach(brlib IN ITEMS brotlienc brotlidec brotlicommon) ++ add_library(${brlib} ALIAS unofficial::brotli::${brlib}) ++ add_library(${brlib}-static ALIAS unofficial::brotli::${brlib}) ++ endforeach() + if (NOT Brotli_FOUND) + message(FATAL_ERROR + "Brotli not found, install brotli-dev or download brotli source code to" +@@ -106,7 +111,8 @@ if (JPEGXL_ENABLE_SKCMS) endif () - if (JPEGXL_ENABLE_VIEWERS OR NOT JPEGXL_ENABLE_SKCMS) -- if( NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/lcms/.git" ) -- message(SEND_ERROR "Please run git submodule update --init") -- endif() -- include(lcms2.cmake) -- configure_file("${CMAKE_CURRENT_SOURCE_DIR}/lcms/COPYING" -- ${PROJECT_BINARY_DIR}/LICENSE.lcms COPYONLY) -+ find_package(lcms2 CONFIG REQUIRED) - endif() - - # sjpeg + 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.12) ++ find_package(LCMS2 NAMES lcms2 REQUIRED) ++ add_library(lcms2 ALIAS lcms2::lcms2) + if ( NOT LCMS2_FOUND ) + message(FATAL_ERROR "Please install lcms2 or run git submodule update --init") + endif () diff --git a/ports/libjxl/fix-install-directories.patch b/ports/libjxl/fix-install-directories.patch deleted file mode 100644 index d5bdc811d008c7..00000000000000 --- a/ports/libjxl/fix-install-directories.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff --git a/lib/jxl.cmake b/lib/jxl.cmake ---- a/lib/jxl.cmake -+++ b/lib/jxl.cmake -@@ -487,8 +487,8 @@ if (NOT WIN32) - set_target_properties(jxl-static PROPERTIES OUTPUT_NAME "jxl") - set_target_properties(jxl_dec-static PROPERTIES OUTPUT_NAME "jxl_dec") - endif() --install(TARGETS jxl-static DESTINATION ${CMAKE_INSTALL_LIBDIR}) --install(TARGETS jxl_dec-static DESTINATION ${CMAKE_INSTALL_LIBDIR}) -+install(TARGETS jxl-static) -+install(TARGETS jxl_dec-static) - - if (((NOT DEFINED "${TARGET_SUPPORTS_SHARED_LIBS}") OR - TARGET_SUPPORTS_SHARED_LIBS) AND NOT JPEGXL_STATIC) -@@ -548,8 +548,7 @@ endforeach() - # Only install libjxl shared library. The libjxl_dec is not installed since it - # contains symbols also in libjxl which would conflict if programs try to use - # both. --install(TARGETS jxl -- DESTINATION ${CMAKE_INSTALL_LIBDIR}) -+install(TARGETS jxl) - else() - add_library(jxl ALIAS jxl-static) - add_library(jxl_dec ALIAS jxl_dec-static) -diff --git a/lib/jxl_threads.cmake b/lib/jxl_threads.cmake ---- a/lib/jxl_threads.cmake -+++ b/lib/jxl_threads.cmake -@@ -43,7 +43,7 @@ set_target_properties(${_target} PROPERTIES - if (NOT WIN32) - set_target_properties(${_target} PROPERTIES OUTPUT_NAME "jxl_threads") - endif() --install(TARGETS ${_target} DESTINATION ${CMAKE_INSTALL_LIBDIR}) -+install(TARGETS ${_target}) - - endfunction() - diff --git a/ports/libjxl/portfile.cmake b/ports/libjxl/portfile.cmake index 039e330c9d71fe..a29781b852148b 100644 --- a/ports/libjxl/portfile.cmake +++ b/ports/libjxl/portfile.cmake @@ -1,35 +1,56 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libjxl/libjxl - REF v0.6.1 - SHA512 302935d722160b0b288ac63301f9e95caf82eccf6ad76c4f4da6316a0314ee3562115932b1ceacb0d02708de0a07788992d3478cae73af0b90193f5769f9fb52 + REF "v${VERSION}" + SHA512 a3648a5f046cae36b3272c46525d002d490f781f44647d4d8318f0b773dd9b7902582ced5636af3489f1d6a44e3baf8ad2e5ab47d26869d16b01607d90e14053 HEAD_REF main PATCHES - fix-install-directories.patch fix-dependencies.patch ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES tools JPEGXL_ENABLE_TOOLS + INVERTED_FEATURES + tools CMAKE_DISABLE_FIND_PACKAGE_GIF + tools CMAKE_DISABLE_FIND_PACKAGE_JPEG + tools CMAKE_DISABLE_FIND_PACKAGE_PNG + tools CMAKE_DISABLE_FIND_PACKAGE_ZLIB ) +if(VCPKG_TARGET_IS_UWP) + string(APPEND VCPKG_C_FLAGS " /wd4146") + string(APPEND VCPKG_CXX_FLAGS " /wd4146") +endif() + 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 ${FEATURE_OPTIONS} - -DJPEGXL_ENABLE_FUZZERS=OFF - -DJPEGXL_ENABLE_MANPAGES=OFF -DJPEGXL_ENABLE_BENCHMARK=OFF + -DJPEGXL_ENABLE_DOXYGEN=OFF -DJPEGXL_ENABLE_EXAMPLES=OFF + -DJPEGXL_ENABLE_FUZZERS=OFF -DJPEGXL_ENABLE_JNI=OFF - -DJPEGXL_ENABLE_SJPEG=OFF + -DJPEGXL_ENABLE_MANPAGES=OFF -DJPEGXL_ENABLE_OPENEXR=OFF -DJPEGXL_ENABLE_PLUGINS=OFF + -DJPEGXL_ENABLE_SJPEG=OFF -DJPEGXL_ENABLE_SKCMS=OFF - -DJPEGXL_FORCE_SYSTEM_HWY=ON - -DJPEGXL_FORCE_SYSTEM_BROTLI=ON + -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 + CMAKE_DISABLE_FIND_PACKAGE_PNG + CMAKE_DISABLE_FIND_PACKAGE_ZLIB ) vcpkg_cmake_install() @@ -37,42 +58,13 @@ vcpkg_copy_pdbs() vcpkg_fixup_pkgconfig() if(JPEGXL_ENABLE_TOOLS) - vcpkg_copy_tools(TOOL_NAMES cjxl djxl AUTO_CLEAN) + vcpkg_copy_tools(TOOL_NAMES cjxl djxl jxlinfo AUTO_CLEAN) endif() -# libjxl always builds static and dynamic libraries, so we delete the variant that we don't need if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - if(VCPKG_TARGET_IS_WINDOWS) - file(REMOVE_RECURSE - "${CURRENT_PACKAGES_DIR}/bin" - "${CURRENT_PACKAGES_DIR}/debug/bin" - ) - file(REMOVE - "${CURRENT_PACKAGES_DIR}/lib/jxl.lib" - "${CURRENT_PACKAGES_DIR}/lib/jxl_threads.lib" - "${CURRENT_PACKAGES_DIR}/debug/lib/jxl.lib" - "${CURRENT_PACKAGES_DIR}/debug/lib/jxl_threads.lib" - ) - else() - file(GLOB FILES "${CURRENT_PACKAGES_DIR}/lib/*.so*") - file(REMOVE ${FILES}) - file(GLOB FILES "${CURRENT_PACKAGES_DIR}/debug/lib/*.so*") - file(REMOVE ${FILES}) - endif() -else() - if(VCPKG_TARGET_IS_WINDOWS) - file(GLOB FILES "${CURRENT_PACKAGES_DIR}/lib/*-static.lib") - file(REMOVE ${FILES}) - file(GLOB FILES "${CURRENT_PACKAGES_DIR}/debug/lib/*-static.lib") - file(REMOVE ${FILES}) - else() - file(GLOB FILES "${CURRENT_PACKAGES_DIR}/lib/*.a") - file(REMOVE ${FILES}) - file(GLOB FILES "${CURRENT_PACKAGES_DIR}/debug/lib/*.a") - file(REMOVE ${FILES}) - endif() + 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") -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/libjxl/vcpkg.json b/ports/libjxl/vcpkg.json index 22dfcf6e76f819..13cc893b4c3388 100644 --- a/ports/libjxl/vcpkg.json +++ b/ports/libjxl/vcpkg.json @@ -1,6 +1,6 @@ { "name": "libjxl", - "version-semver": "0.6.1", + "version-semver": "0.11.0", "description": "JPEG XL image format reference implementation", "homepage": "https://github.com/libjxl/libjxl", "license": "BSD-3-Clause", @@ -8,7 +8,6 @@ "brotli", "highway", "lcms", - "lodepng", { "name": "vcpkg-cmake", "host": true @@ -16,7 +15,13 @@ ], "features": { "tools": { - "description": "Build user tools: cjxl and djxl" + "description": "Build user tools: cjxl and djxl", + "dependencies": [ + "giflib", + "libjpeg-turbo", + "libpng", + "zlib" + ] } } } diff --git a/ports/libkeyfinder/portfile.cmake b/ports/libkeyfinder/portfile.cmake index e87077ddf2b17a..cb4bafee3fff39 100644 --- a/ports/libkeyfinder/portfile.cmake +++ b/ports/libkeyfinder/portfile.cmake @@ -1,27 +1,24 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO mixxxdj/libkeyfinder - REF v2.2.5 - SHA512 54463d1f1111dc474d3e43723fddd5579ea1a3842f99f43e50e85622a1d6ee6fe42b22c300ce5ba5807cf6b2d7067af741773af95974a42c5d863c53165893eb + REF ${VERSION} + SHA512 31d86715172b62dd72b122a8d480db4598731b87ca58522ad797116acfcbc53b8ecf8fe7eb2b129857b5044b27d32dda9e03927e0a27f8edcdc5d6ce607a76eb HEAD_REF main ) -vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - FEATURES - test BUILD_TESTING -) - vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - OPTIONS ${FEATURE_OPTIONS} + OPTIONS + -DBUILD_TESTING=OFF ) vcpkg_cmake_install() vcpkg_copy_pdbs() vcpkg_cmake_config_fixup(PACKAGE_NAME KeyFinder CONFIG_PATH lib/cmake/KeyFinder) - -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +vcpkg_fixup_pkgconfig() file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) -vcpkg_fixup_pkgconfig() +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share") diff --git a/ports/libkeyfinder/vcpkg.json b/ports/libkeyfinder/vcpkg.json index 6c3fbfca19bf91..3a902307e73d63 100644 --- a/ports/libkeyfinder/vcpkg.json +++ b/ports/libkeyfinder/vcpkg.json @@ -1,7 +1,6 @@ { "name": "libkeyfinder", - "version-string": "2.2.5", - "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", @@ -15,13 +14,5 @@ "name": "vcpkg-cmake-config", "host": true } - ], - "features": { - "test": { - "description": "Build tests", - "dependencies": [ - "catch2" - ] - } - } + ] } diff --git a/ports/libkml/add-target-include-directories.patch b/ports/libkml/add-target-include-directories.patch new file mode 100644 index 00000000000000..9431a0c30542e1 --- /dev/null +++ b/ports/libkml/add-target-include-directories.patch @@ -0,0 +1,12 @@ +diff --git a/cmake/LibKMLHelper.cmake b/cmake/LibKMLHelper.cmake +index 5cc166a..3ed3079 100644 +--- a/cmake/LibKMLHelper.cmake ++++ b/cmake/LibKMLHelper.cmake +@@ -1,6 +1,7 @@ + macro(build_target) + cmake_parse_arguments(LIB "" "NAME" "SRCS;INCS;LINKS;DEPENDS" ${ARGN} ) + add_library(${LIB_NAME} ${LIB_SRCS}) ++ target_include_directories(${LIB_NAME} INTERFACE $) + + foreach(LIB_DEPEND ${LIB_DEPENDS}) + add_dependencies(${LIB_NAME} ${LIB_DEPEND}) diff --git a/ports/libkml/fix-mingw.patch b/ports/libkml/fix-mingw.patch new file mode 100644 index 00000000000000..32a2a80fda9fe8 --- /dev/null +++ b/ports/libkml/fix-mingw.patch @@ -0,0 +1,41 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 028f50a..bb63ffb 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -26,6 +26,9 @@ set(LIBKML_DATA_DIR ${CMAKE_SOURCE_DIR}/testdata CACHE "Directory containing te + if(CMAKE_COMPILER_IS_GNUCXX) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wno-unused-parameter -pedantic -fno-rtti") + set(TEST_FLAGS "-Wall -Wextra -Wno-unused-parameter -fno-rtti -DGTEST_HAS_RTTI=0") ++if(WIN32) ++ add_definitions(-DUNICODE -D_UNICODE) ++endif() + + else() + if(MSVC) +diff --git a/src/kml/base/file_win32.cc b/src/kml/base/file_win32.cc +index 28ccb36..6ba79cd 100644 +--- a/src/kml/base/file_win32.cc ++++ b/src/kml/base/file_win32.cc +@@ -34,7 +34,9 @@ + #include "kml/base/file.h" + #include + #include ++#ifndef __MINGW32__ + #include ++#endif + #include + + namespace kmlbase { +diff --git a/src/kml/base/string_util.cc b/src/kml/base/string_util.cc +index b3a9654..842f1cd 100644 +--- a/src/kml/base/string_util.cc ++++ b/src/kml/base/string_util.cc +@@ -113,7 +113,7 @@ bool StringEndsWith(const string& str, const string& end) { + } + + bool StringCaseEqual(const string& a, const string& b) { +-#ifdef WIN32 ++#if defined(WIN32) && !defined(__MINGW32__) + # define strncasecmp(s1, s2, n) _strnicmp (s1, s2, n) + #endif + return a.size() == b.size() && strncasecmp(a.data(), b.data(), a.size()) == 0; diff --git a/ports/libkml/fix-minizip.patch b/ports/libkml/fix-minizip.patch new file mode 100644 index 00000000000000..ccf7b43bdb66f6 --- /dev/null +++ b/ports/libkml/fix-minizip.patch @@ -0,0 +1,72 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 9728ead..028f50a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -110,9 +110,9 @@ else() + list(APPEND MINIZIP_DEPENDS ZLIB) + endif() + +-find_package(MiniZip) ++find_package(MINIZIP NAMES unofficial-minizip REQUIRED) + if(MINIZIP_FOUND) +- include_directories(${MINIZIP_INCLUDE_DIR}) ++ set(MINIZIP_LIBRARY unofficial::minizip::minizip) + else() + include(External_minizip) + list(APPEND KMLBASE_DEPENDS MINIZIP) +diff --git a/cmake/LibKMLConfig.cmake.in b/cmake/LibKMLConfig.cmake.in +index 3e295f4..97826df 100644 +--- a/cmake/LibKMLConfig.cmake.in ++++ b/cmake/LibKMLConfig.cmake.in +@@ -1,3 +1,6 @@ ++include(CMakeFindDependencyMacro) ++find_dependency(unofficial-minizip CONFIG) ++ + # Compute paths + get_filename_component(LIBKML_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) + +diff --git a/src/kml/base/contrib/minizip/iomem_simple.c b/src/kml/base/contrib/minizip/iomem_simple.c +index be89226..6be61d5 100644 +--- a/src/kml/base/contrib/minizip/iomem_simple.c ++++ b/src/kml/base/contrib/minizip/iomem_simple.c +@@ -219,7 +219,7 @@ int ZCALLBACK mem_error (opaque, stream) + return 0; + } + +-ZEXTERN void* ZEXPORT mem_simple_create_file(zlib_filefunc_def* api, void* buffer, size_t buf_len) ++extern void* mem_simple_create_file(zlib_filefunc_def* api, void* buffer, size_t buf_len) + { + MEMFILE* handle = malloc(sizeof(*handle)); + api->zopen_file = NULL; +diff --git a/src/kml/base/contrib/minizip/iomem_simple.h b/src/kml/base/contrib/minizip/iomem_simple.h +index ec11396..515e24e 100644 +--- a/src/kml/base/contrib/minizip/iomem_simple.h ++++ b/src/kml/base/contrib/minizip/iomem_simple.h +@@ -70,7 +70,7 @@ void fill_fopen_filefunc OF((zlib_filefunc_def* pzlib_filefunc_def)); + * This declaration is from the proposed iomem_simple package found at + * http://code.trak.dk. See iomem_simple.c + */ +-extern void* ZEXPORT mem_simple_create_file(zlib_filefunc_def* pzlib_filefunc_def, void* buffer, size_t buflen); ++extern void* mem_simple_create_file(zlib_filefunc_def* pzlib_filefunc_def, void* buffer, size_t buflen); + + #ifdef __cplusplus + } +diff --git a/src/kml/base/contrib/minizip/unzip.c b/src/kml/base/contrib/minizip/unzip.c +index a062863..fb69189 100644 +--- a/src/kml/base/contrib/minizip/unzip.c ++++ b/src/kml/base/contrib/minizip/unzip.c +@@ -43,6 +43,14 @@ woven in by Terry Thorsen 1/2003. + #include "unzip.h" + #include "iomem_simple.h" + #undef NOUNCRYPT ++#ifdef ZEXPORT ++# undef ZEXPORT ++#endif ++#define ZEXPORT ++#ifdef ZEXTERN ++# undef ZEXTERN ++#endif ++#define ZEXTERN extern + + #ifdef STDC + # include diff --git a/ports/libkml/portfile.cmake b/ports/libkml/portfile.cmake index ce54b1c7e39eed..7ab2fddb3d6cb9 100644 --- a/ports/libkml/portfile.cmake +++ b/ports/libkml/portfile.cmake @@ -1,31 +1,46 @@ +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 libkml/libkml - REF 1.3.0 + REF "${VERSION}" SHA512 aa48158103d3af764bf98c1fb4cf3e1356b9cc6c8e79d80b96850916f0a8ccb1dac3a46427735dd0bf20647daa047d10e722ac3da2a214d4c1559bf6d5d7c853 HEAD_REF master PATCHES patch_empty_literal_on_vc.patch + fix-mingw.patch + fix-minizip.patch + add-target-include-directories.patch ) -file(REMOVE ${SOURCE_PATH}/cmake/External_boost.cmake) +file(REMOVE + "${SOURCE_PATH}/cmake/External_boost.cmake" + "${SOURCE_PATH}/cmake/External_expat.cmake" + "${SOURCE_PATH}/cmake/External_minizip.cmake" + "${SOURCE_PATH}/cmake/External_uriparser.cmake" + "${SOURCE_PATH}/cmake/External_zlib.cmake" + "${SOURCE_PATH}/src/kml/base/contrib/minizip/ioapi.h" +) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DCMAKE_POLICY_DEFAULT_CMP0022=NEW + # libkml uses std::unary_function that was deprecated in C++11 and removed in C++17 + # compilers are starting to ship C++17 as the defualt so explicitly set C++11 + -DCMAKE_CXX_STANDARD=11 ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() - -if (VCPKG_TARGET_IS_WINDOWS) - vcpkg_fixup_cmake_targets(CONFIG_PATH cmake) -elseif (VCPKG_TARGET_IS_LINUX) - vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/libkml) -elseif (VCPKG_TARGET_IS_OSX) - vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/libkml) +vcpkg_fixup_pkgconfig() +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_cmake_config_fixup(CONFIG_PATH cmake) +else() + vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/libkml) endif() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) -vcpkg_fixup_pkgconfig() +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/libkml/vcpkg.json b/ports/libkml/vcpkg.json index fa70197a25326d..9ab9bdaea4512e 100644 --- a/ports/libkml/vcpkg.json +++ b/ports/libkml/vcpkg.json @@ -1,19 +1,23 @@ { "name": "libkml", - "version-string": "1.3.0", - "port-version": 8, + "version": "1.3.0", + "port-version": 13, "description": "Reference implementation of OGC KML 2.2", "homepage": "https://github.com/libkml/libkml", + "license": "BSD-3-Clause", "dependencies": [ "boost-smart-ptr", "expat", + "minizip", + "uriparser", { - "name": "minizip", - "features": [ - "bzip2" - ] + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true }, - "uriparser", "zlib" ] } diff --git a/ports/liblas/fix-cmake-config.patch b/ports/liblas/fix-cmake-config.patch new file mode 100644 index 00000000000000..46eb9eb571a9a1 --- /dev/null +++ b/ports/liblas/fix-cmake-config.patch @@ -0,0 +1,14 @@ +diff --git a/cmake/liblas-config.cmake.in b/cmake/liblas-config.cmake.in +index 175e997..8a55804 100644 +--- a/cmake/liblas-config.cmake.in ++++ b/cmake/liblas-config.cmake.in +@@ -19,6 +19,8 @@ set (libLAS_INCLUDE_DIRS "${PROJECT_ROOT_DIR}/include") + set (libLAS_LIBRARY_DIRS "${PROJECT_ROOT_DIR}/lib") + set (libLAS_BINARY_DIRS "${PROJECT_ROOT_DIR}/bin") + ++include(CMakeFindDependencyMacro) ++find_dependency(GeoTIFF CONFIG) +-include ("${_DIR}/liblas-depends.cmake") ++include ("${CMAKE_CURRENT_LIST_DIR}/liblas-depends.cmake") + if(WIN32) + set (libLAS_LIBRARIES liblas liblas_c) diff --git a/ports/liblas/fix-crosscompiling.diff b/ports/liblas/fix-crosscompiling.diff new file mode 100644 index 00000000000000..4d9eb5a7ff4401 --- /dev/null +++ b/ports/liblas/fix-crosscompiling.diff @@ -0,0 +1,13 @@ +diff --git a/cmake/liblas-config-version.cmake.in b/cmake/liblas-config-version.cmake.in +index f9b7c7cb..5dd2aba1 100644 +--- a/cmake/liblas-config-version.cmake.in ++++ b/cmake/liblas-config-version.cmake.in +@@ -22,7 +22,7 @@ elseif (MSVC AND NOT MSVC_VERSION STREQUAL "@MSVC_VERSION@") + # Reject if there's a mismatch in MSVC compiler versions + set (REASON "_MSC_VER = @MSVC_VERSION@") + set (PACKAGE_VERSION_UNSUITABLE TRUE) +-elseif (NOT CMAKE_CROSSCOMPILING STREQUAL "@CMAKE_CROSSCOMPILING@") ++elseif (0) + # Reject if there's a mismatch in ${CMAKE_CROSSCOMPILING} + set (REASON "cross-compiling = @CMAKE_CROSSCOMPILING@") + set (PACKAGE_VERSION_UNSUITABLE TRUE) 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/misc-fixes.patch b/ports/liblas/misc-fixes.patch new file mode 100644 index 00000000000000..14f5ff6daca951 --- /dev/null +++ b/ports/liblas/misc-fixes.patch @@ -0,0 +1,59 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d246a88..3da2106 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -6,6 +6,7 @@ + # + ############################################################################### + # libLAS general settings ++cmake_minimum_required(VERSION 3.7.0) + project(libLAS) + + +@@ -64,7 +65,6 @@ set(WITH_ENDIANAWARE FALSE CACHE BOOL "Choose whether or not libLAS should do ru + + ############################################################################### + # CMake settings +-cmake_minimum_required(VERSION 2.6.0) + + set(CMAKE_COLOR_MAKEFILE ON) + +@@ -107,7 +107,6 @@ set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${LIBLAS_BUILD_OUTPUT_DIRECTORY}) + set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${LIBLAS_BUILD_OUTPUT_DIRECTORY}) + + file(READ "doc/index.txt" README ) +-file(WRITE "README.txt" "${README}") + + ############################################################################### + # Platform and compiler specific settings +@@ -138,8 +137,6 @@ if(WIN32) + + endif() + +- set(CMAKE_INCLUDE_PATH c:/osgeo4w64/include;$ENV{CMAKE_INCLUDE_PATH}) +- set(CMAKE_LIBRARY_PATH c:/osgeo4w64/lib;$ENV{CMAKE_LIBRARY_PATH}) + else() + + # Recommended C++ compilation flags +@@ -337,8 +334,6 @@ set(LIBLAS_DATA_DIR ${LIBLAS_DATA_SUBDIR}) + ############################################################################### + # Installation commands + +-install(FILES AUTHORS COPYING INSTALL LICENSE.txt README.txt +- DESTINATION ${LIBLAS_DATA_DIR}/doc) + + ############################################################################### + # Processing of project directories +diff --git a/apps/CMakeLists.txt b/apps/CMakeLists.txt +index beb83e2..e328c95 100644 +--- a/apps/CMakeLists.txt ++++ b/apps/CMakeLists.txt +@@ -160,7 +160,7 @@ install(TARGETS ${LIBLAS_UTILITIES} + ARCHIVE DESTINATION ${LIBLAS_LIB_DIR}) + + +-if(UNIX) ++if(0) + + set(LIBLAS_UTILS_RPATH ${CMAKE_INSTALL_PREFIX}/lib ${Boost_LIBRARY_DIRS}) + if(LASZIP_FOUND) diff --git a/ports/liblas/portfile.cmake b/ports/liblas/portfile.cmake index a50ede2f61d2f8..a987af9e53e3ba 100644 --- a/ports/liblas/portfile.cmake +++ b/ports/liblas/portfile.cmake @@ -1,3 +1,5 @@ +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) + set(VERSION 1.8.1) vcpkg_download_distfile(ARCHIVE @@ -7,45 +9,59 @@ vcpkg_download_distfile(ARCHIVE HEAD_REF master ) -vcpkg_extract_source_archive_ex( - ARCHIVE ${ARCHIVE} - OUT_SOURCE_PATH SOURCE_PATH +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" PATCHES fix-boost-headers.patch + fix-cmake-config.patch + fix-crosscompiling.diff + misc-fixes.patch + remove_unnecessary_boost_dependency.diff + force-cpp11.patch ) -file(REMOVE ${SOURCE_PATH}/cmake/modules/FindPROJ4.cmake) -file(REMOVE ${SOURCE_PATH}/cmake/modules/FindGeoTIFF.cmake) +file(REMOVE_RECURSE "${SOURCE_PATH}/cmake/modules") + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + tools WITH_UTILITIES +) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - -DBUILD_OSGEO4W=OFF # Disable osgeo4w +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} + -DBUILD_OSGEO4W=OFF -DWITH_TESTS=OFF + OPTIONS_DEBUG -DWITH_UTILITIES=OFF - -DCMAKE_DISABLE_FIND_PACKAGE_ZLIB=${CMAKE_DISABLE_FIND_PACKAGE_ZLIB} - -DCMAKE_DISABLE_FIND_PACKAGE_JPEG=${CMAKE_DISABLE_FIND_PACKAGE_JPEG} ) -vcpkg_install_cmake() - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/doc) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/doc) - -if (VCPKG_LIBRARY_LINKAGE STREQUAL static) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin) -endif() -file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/share/cmake/libLAS/liblas-depends.cmake) +vcpkg_cmake_install() if (VCPKG_TARGET_IS_WINDOWS) - vcpkg_fixup_cmake_targets(CONFIG_PATH cmake) + vcpkg_cmake_config_fixup(CONFIG_PATH cmake) else() - vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/libLAS) + vcpkg_cmake_config_fixup(CONFIG_PATH share/cmake/libLAS) endif() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +vcpkg_replace_string ("${CURRENT_PACKAGES_DIR}/share/liblas/liblas-config.cmake" "_DIR}/.." "_DIR}/../..") +vcpkg_replace_string ("${CURRENT_PACKAGES_DIR}/share/liblas/liblas-config.cmake" "\${PROJECT_ROOT_DIR}/lib" "\${PROJECT_ROOT_DIR}/$<$:/debug>/lib") +vcpkg_replace_string ("${CURRENT_PACKAGES_DIR}/share/liblas/liblas-config.cmake" "\${PROJECT_ROOT_DIR}/bin" "\${PROJECT_ROOT_DIR}/tools/${PORT}") + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" +) + +if(WITH_UTILITIES) + set(tools lasinfo lasblock las2las las2txt txt2las ts2las) + if(NOT VCPKG_TARGET_IS_WINDOWS) + list(APPEND tools las2col las2pg) + endif() + vcpkg_copy_tools(TOOL_NAMES ${tools} AUTO_CLEAN) +endif() -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}") +file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/liblas/remove_unnecessary_boost_dependency.diff b/ports/liblas/remove_unnecessary_boost_dependency.diff new file mode 100644 index 00000000000000..9c36bec1517b4a --- /dev/null +++ b/ports/liblas/remove_unnecessary_boost_dependency.diff @@ -0,0 +1,22 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d246a88d..634157c0 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -190,11 +190,13 @@ if(WIN32) + endif(WIN32) + + find_package(Threads) +-find_package(Boost 1.42 COMPONENTS program_options thread system iostreams filesystem REQUIRED) ++find_package(Boost 1.42 COMPONENTS iostreams program_options serialization thread REQUIRED) ++ ++# The following header-only and their dependencies are additionally required, ++# but cannot be explicitly requested via find_package, so make sure they exists: ++# - foreach interprocess lambda property_tree uuid + +-if(Boost_FOUND AND Boost_PROGRAM_OPTIONS_FOUND) +- include_directories(${Boost_INCLUDE_DIRS}) +-endif() ++include_directories(${Boost_INCLUDE_DIRS}) + + # make these available for the user to set. + mark_as_advanced(CLEAR Boost_INCLUDE_DIR) diff --git a/ports/liblas/usage b/ports/liblas/usage new file mode 100644 index 00000000000000..8626d5a0d8b9f2 --- /dev/null +++ b/ports/liblas/usage @@ -0,0 +1,11 @@ +liblas provides CMake targets: + + # C API + find_package(libLAS CONFIG REQUIRED) + target_link_libraries(main PRIVATE $<$:lib>las_c) + target_include_directories(main SYSTEM PRIVATE ${libLAS_INCLUDE_DIRS}) + + # C++ API + find_package(libLAS CONFIG REQUIRED) + target_link_libraries(main PRIVATE $<$:lib>las) + target_include_directories(main SYSTEM PRIVATE ${libLAS_INCLUDE_DIRS}) diff --git a/ports/liblas/vcpkg.json b/ports/liblas/vcpkg.json index 049580bde09398..bb135a43691f6b 100644 --- a/ports/liblas/vcpkg.json +++ b/ports/liblas/vcpkg.json @@ -1,33 +1,37 @@ { "name": "liblas", "version": "1.8.1", - "port-version": 9, + "port-version": 15, "description": "A C/C++ library for reading and writing the very common LAS LiDAR format.", + "license": null, + "supports": "!arm & !staticcrt", "dependencies": [ - "boost-detail", - "boost-filesystem", + "boost-foreach", "boost-interprocess", "boost-iostreams", "boost-lambda", - "boost-multi-index", "boost-program-options", - "boost-system", - "boost-thread", + "boost-property-tree", "boost-uuid", - "libgeotiff" + "libgeotiff", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ], "features": { "jpeg": { - "description": "Support for jpeg", - "dependencies": [ - "libjpeg-turbo" - ] + "description": "This feature does nothing. It is retained for compatibility." + }, + "tools": { + "description": "Build utilities." }, "zlib": { - "description": "Support zlib for compression", - "dependencies": [ - "zlib" - ] + "description": "This feature does nothing. It is retained for compatibility." } } } diff --git a/ports/liblbfgs/portfile.cmake b/ports/liblbfgs/portfile.cmake index 5e7e34e55bdf91..a793a23d9a1746 100644 --- a/ports/liblbfgs/portfile.cmake +++ b/ports/liblbfgs/portfile.cmake @@ -8,15 +8,14 @@ vcpkg_from_github( message(STATUS "source path is : ${SOURCE_PATH}") -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFIX_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/liblbfgs RENAME copyright) \ No newline at end of file +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/liblbfgs" RENAME copyright) \ No newline at end of file diff --git a/ports/liblbfgs/vcpkg.json b/ports/liblbfgs/vcpkg.json index d648f802752b18..8525cd58842582 100644 --- a/ports/liblbfgs/vcpkg.json +++ b/ports/liblbfgs/vcpkg.json @@ -1,7 +1,13 @@ { "name": "liblbfgs", - "version-string": "1.10", - "port-version": 1, + "version": "1.10", + "port-version": 2, "description": "libLBFGS: a library of Limited-memory Broyden-Fletcher-Goldfarb-Shanno (L-BFGS)", - "homepage": "http://www.chokkan.org/software/liblbfgs/" + "homepage": "http://www.chokkan.org/software/liblbfgs/", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/libleidenalg/portfile.cmake b/ports/libleidenalg/portfile.cmake new file mode 100644 index 00000000000000..919d7edc052341 --- /dev/null +++ b/ports/libleidenalg/portfile.cmake @@ -0,0 +1,17 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO vtraag/libleidenalg + REF "${VERSION}" + SHA512 254b5454086683af3655c7e0e18cca8c24ceb899e0614940ab84a50fb2eea57d1b6409eb19a92976758b4d3066c86b643512356eb38d33311c80ff701381c433 + HEAD_REF main +) + +vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}") + +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") diff --git a/ports/libleidenalg/vcpkg.json b/ports/libleidenalg/vcpkg.json new file mode 100644 index 00000000000000..bfda3170388c4c --- /dev/null +++ b/ports/libleidenalg/vcpkg.json @@ -0,0 +1,23 @@ +{ + "name": "libleidenalg", + "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", + "license": "GPL-3.0-or-later", + "supports": "!xbox", + "dependencies": [ + { + "name": "igraph", + "version>=": "0.10.1" + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/liblemon/cmake.patch b/ports/liblemon/cmake.patch deleted file mode 100644 index 3b08a2d9843a60..00000000000000 --- a/ports/liblemon/cmake.patch +++ /dev/null @@ -1,34 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 03e1cc7..fd9d737 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -280,6 +280,13 @@ ELSEIF(WIN32) - ) - ENDIF() - -+install( -+ EXPORT lemon-targets -+ FILE lemon-config.cmake -+ NAMESPACE lemon:: -+ DESTINATION share/lemon -+) -+ - CONFIGURE_FILE( - ${PROJECT_SOURCE_DIR}/cmake/version.cmake.in - ${PROJECT_BINARY_DIR}/cmake/version.cmake -diff --git a/lemon/CMakeLists.txt b/lemon/CMakeLists.txt -index 4e6567e..76f9cae 100644 ---- a/lemon/CMakeLists.txt -+++ b/lemon/CMakeLists.txt -@@ -71,6 +71,11 @@ INSTALL( - COMPONENT library - ) - -+install(TARGETS lemon EXPORT lemon-targets -+ LIBRARY DESTINATION lib -+ ARCHIVE DESTINATION lib -+) -+ - INSTALL( - DIRECTORY . bits concepts - DESTINATION include/lemon diff --git a/ports/liblemon/fix-cmake.patch b/ports/liblemon/fix-cmake.patch new file mode 100644 index 00000000000000..17717295b7b9b0 --- /dev/null +++ b/ports/liblemon/fix-cmake.patch @@ -0,0 +1,78 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 4406bc2..5717680 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -295,7 +295,7 @@ CONFIGURE_FILE( + ${PROJECT_BINARY_DIR}/cmake/LEMONConfig.cmake + @ONLY + ) +-IF(UNIX) ++IF(UNIX OR TRUE) + INSTALL( + FILES ${PROJECT_BINARY_DIR}/cmake/LEMONConfig.cmake + DESTINATION share/lemon/cmake +@@ -307,6 +307,13 @@ ELSEIF(WIN32) + ) + ENDIF() + ++install( ++ EXPORT lemon-targets ++ FILE lemon-targets.cmake ++ NAMESPACE unofficial::lemon:: ++ DESTINATION share/lemon/cmake ++) ++ + CONFIGURE_FILE( + ${PROJECT_SOURCE_DIR}/cmake/version.cmake.in + ${PROJECT_BINARY_DIR}/cmake/version.cmake +diff --git a/cmake/LEMONConfig.cmake.in b/cmake/LEMONConfig.cmake.in +index b0d2d8b..6bb662a 100644 +--- a/cmake/LEMONConfig.cmake.in ++++ b/cmake/LEMONConfig.cmake.in +@@ -1,4 +1,4 @@ +-SET(LEMON_INCLUDE_DIR "@CMAKE_INSTALL_PREFIX@/include" CACHE PATH "LEMON include directory") ++SET(LEMON_INCLUDE_DIR "${CMAKE_CURRENT_LIST_DIR}/../../include" CACHE PATH "LEMON include directory") + SET(LEMON_INCLUDE_DIRS "${LEMON_INCLUDE_DIR}") + + IF(UNIX) +@@ -7,7 +7,12 @@ ELSEIF(WIN32) + SET(LEMON_LIB_NAME "lemon.lib") + ENDIF(UNIX) + +-SET(LEMON_LIBRARY "@CMAKE_INSTALL_PREFIX@/lib/${LEMON_LIB_NAME}" CACHE FILEPATH "LEMON library") ++SET(LEMON_LIBRARY ++ optimized "${CMAKE_CURRENT_LIST_DIR}/../../lib/${LEMON_LIB_NAME}" ++ debug "${CMAKE_CURRENT_LIST_DIR}/../../debug/lib/${LEMON_LIB_NAME}" ++ CACHE FILEPATH "LEMON library") + SET(LEMON_LIBRARIES "${LEMON_LIBRARY}") + + MARK_AS_ADVANCED(LEMON_LIBRARY LEMON_INCLUDE_DIR) ++ ++INCLUDE(${CMAKE_CURRENT_LIST_DIR}/lemon-targets.cmake) +diff --git a/lemon/CMakeLists.txt b/lemon/CMakeLists.txt +index 4e6567e..ad6f5bf 100644 +--- a/lemon/CMakeLists.txt ++++ b/lemon/CMakeLists.txt +@@ -56,6 +56,10 @@ ENDIF() + + ADD_LIBRARY(lemon ${LEMON_SOURCES}) + ++INCLUDE(GNUInstallDirs) ++ ++TARGET_INCLUDE_DIRECTORIES(lemon PUBLIC $) ++ + TARGET_LINK_LIBRARIES(lemon + ${GLPK_LIBRARIES} ${COIN_LIBRARIES} ${ILOG_LIBRARIES} ${SOPLEX_LIBRARIES} + ) +@@ -71,6 +75,11 @@ INSTALL( + COMPONENT library + ) + ++install(TARGETS lemon EXPORT lemon-targets ++ LIBRARY DESTINATION lib ++ ARCHIVE DESTINATION lib ++) ++ + INSTALL( + DIRECTORY . bits concepts + DESTINATION include/lemon diff --git a/ports/liblemon/fixup-targets.patch b/ports/liblemon/fixup-targets.patch deleted file mode 100644 index 883e2a6eeb21f0..00000000000000 --- a/ports/liblemon/fixup-targets.patch +++ /dev/null @@ -1,50 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 9a7c918..3d6cf35 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -268,7 +268,7 @@ CONFIGURE_FILE( - ${PROJECT_BINARY_DIR}/cmake/LEMONConfig.cmake - @ONLY - ) --IF(UNIX) -+IF(UNIX OR TRUE) - INSTALL( - FILES ${PROJECT_BINARY_DIR}/cmake/LEMONConfig.cmake - DESTINATION share/lemon/cmake -@@ -282,9 +282,9 @@ ENDIF() - - install( - EXPORT lemon-targets -- FILE lemon-config.cmake -- NAMESPACE lemon:: -- DESTINATION share/lemon -+ FILE lemon-targets.cmake -+ NAMESPACE unofficial::lemon:: -+ DESTINATION share/lemon/cmake - ) - - CONFIGURE_FILE( -diff --git a/cmake/LEMONConfig.cmake.in b/cmake/LEMONConfig.cmake.in -index b0d2d8b..ce54986 100644 ---- a/cmake/LEMONConfig.cmake.in -+++ b/cmake/LEMONConfig.cmake.in -@@ -1,4 +1,4 @@ --SET(LEMON_INCLUDE_DIR "@CMAKE_INSTALL_PREFIX@/include" CACHE PATH "LEMON include directory") -+SET(LEMON_INCLUDE_DIR "${CMAKE_CURRENT_LIST_DIR}/../../include" CACHE PATH "LEMON include directory") - SET(LEMON_INCLUDE_DIRS "${LEMON_INCLUDE_DIR}") - - IF(UNIX) -@@ -7,7 +7,12 @@ ELSEIF(WIN32) - SET(LEMON_LIB_NAME "lemon.lib") - ENDIF(UNIX) - --SET(LEMON_LIBRARY "@CMAKE_INSTALL_PREFIX@/lib/${LEMON_LIB_NAME}" CACHE FILEPATH "LEMON library") -+SET(LEMON_LIBRARY -+ optimized "${CMAKE_CURRENT_LIST_DIR}/../../lib/${LEMON_LIB_NAME}" -+ debug "${CMAKE_CURRENT_LIST_DIR}/../../debug/lib/${LEMON_LIB_NAME}" -+ CACHE FILEPATH "LEMON library") - SET(LEMON_LIBRARIES "${LEMON_LIBRARY}") - - MARK_AS_ADVANCED(LEMON_LIBRARY LEMON_INCLUDE_DIR) -+ -+include(${CMAKE_CURRENT_LIST_DIR}/lemon-targets.cmake) diff --git a/ports/liblemon/portfile.cmake b/ports/liblemon/portfile.cmake index 290b7e715bfc0c..6db26e44298fd8 100644 --- a/ports/liblemon/portfile.cmake +++ b/ports/liblemon/portfile.cmake @@ -8,38 +8,37 @@ vcpkg_download_distfile(ARCHIVE SHA512 029640e4f791a18068cb2e2b4e794d09822d9d56fb957eb3e2cceae3a30065c0041a31c465637cfcadf7b2473564070b34adc88513439cdf9046831854e2aa70 ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} - REF ${VERSION} +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" + SOURCE_BASE "${VERSION}" PATCHES - cmake.patch - fixup-targets.patch + fix-cmake.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS + -DCMAKE_CXX_STANDARD=14 -DLEMON_ENABLE_GLPK=OFF -DLEMON_ENABLE_ILOG=OFF -DLEMON_ENABLE_COIN=OFF -DLEMON_ENABLE_SOPLEX=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/lemon/cmake TARGET_PATH share/lemon) +vcpkg_cmake_config_fixup(CONFIG_PATH share/lemon/cmake PACKAGE_NAME lemon) -file(GLOB EXE ${CURRENT_PACKAGES_DIR}/bin/*.exe) -file(COPY ${EXE} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/liblemon/) -vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/liblemon) +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}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share/doc) +file(GLOB EXE "${CURRENT_PACKAGES_DIR}/bin/*.exe") +file(COPY ${EXE} DESTINATION "${CURRENT_PACKAGES_DIR}/tools/liblemon/") +vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/liblemon") -# Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) -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}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/doc") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/liblemon/vcpkg.json b/ports/liblemon/vcpkg.json index 7cbf85eb1a73f2..bcc8b89def6e62 100644 --- a/ports/liblemon/vcpkg.json +++ b/ports/liblemon/vcpkg.json @@ -1,7 +1,18 @@ { "name": "liblemon", - "version-string": "2019-06-13", - "port-version": 3, + "version-date": "2019-06-13", + "port-version": 9, "description": "Library for Efficient Modeling and Optimization in Networks", - "homepage": "https://lemon.cs.elte.hu/trac/lemon" + "homepage": "https://lemon.cs.elte.hu/trac/lemon", + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/liblinear/portfile.cmake b/ports/liblinear/portfile.cmake index fab41c0396829e..245e35e2508f32 100644 --- a/ports/liblinear/portfile.cmake +++ b/ports/liblinear/portfile.cmake @@ -1,5 +1,3 @@ -vcpkg_fail_port_install(ON_TARGET "uwp") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO cjlin1/liblinear diff --git a/ports/liblinear/vcpkg.json b/ports/liblinear/vcpkg.json index a65229aa0d1b19..a7eff708c68fe5 100644 --- a/ports/liblinear/vcpkg.json +++ b/ports/liblinear/vcpkg.json @@ -1,6 +1,7 @@ { "name": "liblinear", - "version-string": "243", + "version": "243", + "port-version": 1, "description": "A Library for Large Linear Classification", "homepage": "https://github.com/cjlin1/liblinear", "supports": "!uwp", diff --git a/ports/liblo/portfile.cmake b/ports/liblo/portfile.cmake index f43a524239ab11..68a54d709e3044 100644 --- a/ports/liblo/portfile.cmake +++ b/ports/liblo/portfile.cmake @@ -1,32 +1,31 @@ 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_configure_cmake( - SOURCE_PATH ${SOURCE_PATH}/cmake - PREFER_NINJA # Disable this option if project cannot be built with Ninja - OPTIONS -DTHREADING=1 +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/cmake" + OPTIONS -DTHREADING=1 -DWITH_STATIC=ON -DWITH_TESTS=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() # Install needed files into package directory -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/liblo) +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) +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) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") endif() # Handle copyright -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/liblo RENAME copyright) +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) vcpkg_fixup_pkgconfig() diff --git a/ports/liblo/vcpkg.json b/ports/liblo/vcpkg.json index 6d060c75106019..478b6553640fc8 100644 --- a/ports/liblo/vcpkg.json +++ b/ports/liblo/vcpkg.json @@ -1,7 +1,16 @@ { "name": "liblo", - "version-string": "0.31", - "port-version": 2, + "version": "0.32", "description": "liblo is an implementation of the Open Sound Control protocol for POSIX systems", - "homepage": "https://github.com/radarsat1/liblo" + "homepage": "https://github.com/radarsat1/liblo", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/liblrc/fix-cmake.patch b/ports/liblrc/fix-cmake.patch new file mode 100644 index 00000000000000..7ef0a61561961c --- /dev/null +++ b/ports/liblrc/fix-cmake.patch @@ -0,0 +1,40 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 6b2175e..2aa699b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,8 +1,7 @@ + cmake_minimum_required(VERSION 3.2.0) + project(LRCTools VERSION 1.0.0) + +-set(CMAKE_CXX_FLAGS +- "${CMAKE_CXX_FLAGS} -std=c++11 -Wall -Wextra -Wno-missing-braces") ++set(CMAKE_CXX_STANDARD 11) + + include_directories(${CMAKE_CURRENT_LIST_DIR}) + +@@ -12,7 +11,22 @@ include(CPack) + + enable_testing() + +-add_subdirectory(third_party) + add_subdirectory(liblrc) +-add_subdirectory(cli) +-add_subdirectory(test) ++# headers ++install(FILES ${PROJECT_SOURCE_DIR}/liblrc/lrc_parser.h ++ ${PROJECT_SOURCE_DIR}/liblrc/lyrics.h ++ ${PROJECT_SOURCE_DIR}/liblrc/utils.h ++ DESTINATION include/liblrc ++) ++# library with unofficial config ++install(TARGETS lrc ++ EXPORT unofficial-liblrcConfig ++ RUNTIME DESTINATION bin ++ LIBRARY DESTINATION lib ++ ARCHIVE DESTINATION lib ++) ++# share/liblrc will be fixed in portfile.cmake ++install(EXPORT unofficial-liblrcConfig ++ NAMESPACE unofficial::liblrc:: ++ DESTINATION share/unofficial-liblrc ++) diff --git a/ports/liblrc/portfile.cmake b/ports/liblrc/portfile.cmake new file mode 100644 index 00000000000000..dcffda4e131bb2 --- /dev/null +++ b/ports/liblrc/portfile.cmake @@ -0,0 +1,18 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO ywh233/LRC-Tools + REF 1fc3872320cd449933bffefc6527928262ee0629 + SHA512 5b0a52a557ffb28554b33e77efb3832944facfd4e039d8afe60c322d56872eb12cb93f3974d17f083c659dcddf9c63075d3b09ba6abd3adba7b40b2ffb615f1c + PATCHES + set_up_compile_error.patch + fix-cmake.patch +) + +vcpkg_cmake_configure(SOURCE_PATH ${SOURCE_PATH}) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-liblrc) + +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/liblrc/set_up_compile_error.patch b/ports/liblrc/set_up_compile_error.patch new file mode 100644 index 00000000000000..875fe0c8bfedef --- /dev/null +++ b/ports/liblrc/set_up_compile_error.patch @@ -0,0 +1,13 @@ +diff --git a/liblrc/lyrics.cc b/liblrc/lyrics.cc +index b1a8c87..4fa16fa 100644 +--- a/liblrc/lyrics.cc ++++ b/liblrc/lyrics.cc +@@ -5,7 +5,7 @@ + //****************************************** + + #include "lyrics.h" +- ++#include + #include + + #include diff --git a/ports/liblrc/vcpkg.json b/ports/liblrc/vcpkg.json new file mode 100644 index 00000000000000..9f07bb03cfe3d0 --- /dev/null +++ b/ports/liblrc/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "liblrc", + "version": "1.0.0", + "description": "Tools for parsing and playing back LRC lyrics.", + "homepage": "https://github.com/ywh233/LRC-Tools", + "license": "MIT", + "supports": "!osx", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/liblsl/portfile.cmake b/ports/liblsl/portfile.cmake index a8d56b0bdb664f..d862c2a5fb9fc2 100644 --- a/ports/liblsl/portfile.cmake +++ b/ports/liblsl/portfile.cmake @@ -1,29 +1,29 @@ -# static builds are currently not supported since liblsl always also builds shared binaries -# which need to be deleted for vcpkg but then the CMake target can no longer be imported because it still references them -vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO sccn/liblsl - REF v1.14.0 # NOTE: when updating version, also change it in the parameter to vcpkg_configure_cmake - SHA512 b4ec379339d174c457c8c1ec69f9e51ea78a738e72ecc96b9193f07b5273acb296b5b1f90c9dfe16591ecab0eef9aae9add640c1936d3769cae0bd96617205ec + REF v${VERSION} + SHA512 141f364034a7156caf9ffafbb2f43cc9a932116a3ef1c1b76822649996d6b99b3017b18d91d9c25a9cd718419c5c3b037fa97b2845540bda195f55dd9de27ab1 HEAD_REF master + PATCHES + use-find-package-asio.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" LSL_BUILD_STATIC) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DLSL_BUILD_STATIC=OFF + -DLSL_BUILD_STATIC=${LSL_BUILD_STATIC} + -DLSL_BUNDLED_BOOST=OFF # we use the boost vcpkg packages instead -DLSL_BUNDLED_PUGIXML=OFF # we use the pugixml vcpkg package instead - -Dlslgitrevision=v1.14.0 + -Dlslgitrevision=v${VERSION} -Dlslgitbranch=master ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() - vcpkg_copy_tools(TOOL_NAMES lslver AUTO_CLEAN) +vcpkg_cmake_config_fixup(PACKAGE_NAME LSL CONFIG_PATH lib/cmake/LSL) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") diff --git a/ports/liblsl/use-find-package-asio.patch b/ports/liblsl/use-find-package-asio.patch new file mode 100644 index 00000000000000..be837c67409898 --- /dev/null +++ b/ports/liblsl/use-find-package-asio.patch @@ -0,0 +1,15 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b47cb7f8..bd12f519 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -203,8 +203,9 @@ target_include_directories(lslobj + target_include_directories(lslobj + SYSTEM PUBLIC + $ +- $ + ) ++find_package(asio CONFIG REQUIRED) ++target_link_libraries(lslobj PUBLIC asio::asio) + target_compile_definitions(lslobj PRIVATE + LIBLSL_EXPORTS + LOGURU_DEBUG_LOGGING=$ diff --git a/ports/liblsl/vcpkg.json b/ports/liblsl/vcpkg.json index dfacb5398718b3..2c2b3db3301a14 100644 --- a/ports/liblsl/vcpkg.json +++ b/ports/liblsl/vcpkg.json @@ -1,11 +1,33 @@ { "name": "liblsl", - "version-string": "1.14.0", - "port-version": 2, + "version": "1.16.2", "description": "C++ lsl library for multi-modal time-synched data transmission over the local network", "homepage": "https://github.com/sccn/liblsl", - "supports": "!staticcrt", + "license": "MIT", + "supports": "!uwp", "dependencies": [ - "pugixml" + "asio", + "boost-atomic", + "boost-bind", + "boost-chrono", + "boost-config", + "boost-endian", + "boost-functional", + "boost-integer", + "boost-lexical-cast", + "boost-math", + "boost-serialization", + "boost-smart-ptr", + "boost-thread", + "boost-uuid", + "pugixml", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/liblsquic/disable-asan.patch b/ports/liblsquic/disable-asan.patch new file mode 100644 index 00000000000000..2b05d0ee3a5dee --- /dev/null +++ b/ports/liblsquic/disable-asan.patch @@ -0,0 +1,23 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 65c4776..5d4086a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -60,12 +60,12 @@ ENDIF() + + IF(CMAKE_BUILD_TYPE STREQUAL "Debug") + SET(MY_CMAKE_FLAGS "${MY_CMAKE_FLAGS} -O0 -g3") +- IF(CMAKE_C_COMPILER MATCHES "clang" AND +- NOT "$ENV{TRAVIS}" MATCHES "^true$" AND +- NOT "$ENV{EXTRA_CFLAGS}" MATCHES "-fsanitize") +- SET(MY_CMAKE_FLAGS "${MY_CMAKE_FLAGS} -fsanitize=address") +- SET(LIBS ${LIBS} -fsanitize=address) +- ENDIF() ++ # IF(CMAKE_C_COMPILER MATCHES "clang" AND ++ # NOT "$ENV{TRAVIS}" MATCHES "^true$" AND ++ # NOT "$ENV{EXTRA_CFLAGS}" MATCHES "-fsanitize") ++ # SET(MY_CMAKE_FLAGS "${MY_CMAKE_FLAGS} -fsanitize=address") ++ # SET(LIBS ${LIBS} -fsanitize=address) ++ # ENDIF() + # Uncomment to enable cleartext protocol mode (no crypto): + #SET (MY_CMAKE_FLAGS "${MY_CMAKE_FLAGS} -DLSQUIC_ENABLE_HANDSHAKE_DISABLE=1") + ELSE() diff --git a/ports/liblsquic/fix-found-boringssl.patch b/ports/liblsquic/fix-found-boringssl.patch new file mode 100644 index 00000000000000..a3a632c5ef4fe0 --- /dev/null +++ b/ports/liblsquic/fix-found-boringssl.patch @@ -0,0 +1,53 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 5d4086a..e085a83 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -120,10 +120,12 @@ IF(CMAKE_BUILD_TYPE STREQUAL "Debug") + SET(MY_CMAKE_FLAGS "${MY_CMAKE_FLAGS} -Od") + #SET (MY_CMAKE_FLAGS "${MY_CMAKE_FLAGS} -DFIU_ENABLE=1") + #SET(LIBS ${LIBS} fiu) ++ SET(LIB_NAME ssld cryptod) + ELSE() + SET(MY_CMAKE_FLAGS "${MY_CMAKE_FLAGS} -Ox") + # Comment out the following line to compile out debug messages: + #SET(MY_CMAKE_FLAGS "${MY_CMAKE_FLAGS} -DLSQUIC_LOWEST_LOG_LEVEL=LSQ_LOG_INFO") ++ SET(LIB_NAME ssl crypto) + ENDIF() + + ENDIF() #MSVC +@@ -191,7 +193,7 @@ IF (NOT DEFINED BORINGSSL_LIB AND DEFINED BORINGSSL_DIR) + ELSE() + + +- FOREACH(LIB_NAME ssl crypto) ++ FOREACH(LIB ${LIB_NAME}) + # If BORINGSSL_LIB is defined, try find each lib. Otherwise, user should define BORINGSSL_LIB_ssl, + # BORINGSSL_LIB_crypto and so on explicitly. For example, including boringssl and lsquic both via + # add_subdirectory: +@@ -201,20 +203,20 @@ ELSE() + # add_subdirectory(third_party/lsquic) + IF (DEFINED BORINGSSL_LIB) + IF (CMAKE_SYSTEM_NAME STREQUAL Windows) +- FIND_LIBRARY(BORINGSSL_LIB_${LIB_NAME} +- NAMES ${LIB_NAME} ++ FIND_LIBRARY(BORINGSSL_LIB_${LIB} ++ NAMES ${LIB} + PATHS ${BORINGSSL_LIB} + PATH_SUFFIXES Debug Release MinSizeRel RelWithDebInfo + NO_DEFAULT_PATH) + ELSE() +- FIND_LIBRARY(BORINGSSL_LIB_${LIB_NAME} +- NAMES lib${LIB_NAME}${LIB_SUFFIX} ++ FIND_LIBRARY(BORINGSSL_LIB_${LIB} ++ NAMES lib${LI}${LIB_SUFFIX} + PATHS ${BORINGSSL_LIB} +- PATH_SUFFIXES ${LIB_NAME} ++ PATH_SUFFIXES ${LIB} + NO_DEFAULT_PATH) + ENDIF() + ENDIF() +- IF(BORINGSSL_LIB_${LIB_NAME}) ++ IF(BORINGSSL_LIB_${LIB}) + MESSAGE(STATUS "Found ${LIB_NAME} library: ${BORINGSSL_LIB_${LIB_NAME}}") + ELSE() + MESSAGE(FATAL_ERROR "BORINGSSL_LIB_${LIB_NAME} library not found") diff --git a/ports/liblsquic/portfile.cmake b/ports/liblsquic/portfile.cmake new file mode 100644 index 00000000000000..f2568e94e00f23 --- /dev/null +++ b/ports/liblsquic/portfile.cmake @@ -0,0 +1,77 @@ +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) +endif() + +vcpkg_from_github(OUT_SOURCE_PATH SOURCE_PATH + REPO litespeedtech/lsquic + REF v${VERSION} + SHA512 40d742779bfa2dc6fdaf0ee8e9349498d373dcffcc6dd27867c18d87309a288ea6811d693043b5d98364d816b818b49445214497475844201241193c0f37b349 + HEAD_REF master + PATCHES + disable-asan.patch + fix-found-boringssl.patch +) + +# Submodules +vcpkg_from_github(OUT_SOURCE_PATH LSQPACK_SOURCE_PATH + REPO litespeedtech/ls-qpack + REF v2.5.3 + HEAD_REF master + SHA512 f90502c763abc84532f33d1b8f952aea7869e4e0c5f6bd344532ddd51c4a180958de4086d88b9ec96673a059c806eec9e70007651d4d4e1a73395919dee47ce0 +) +if(NOT EXISTS "${SOURCE_PATH}/src/ls-hpack/CMakeLists.txt") + file(REMOVE_RECURSE "${SOURCE_PATH}/src/liblsquic/ls-qpack") + file(RENAME "${LSQPACK_SOURCE_PATH}" "${SOURCE_PATH}/src/liblsquic/ls-qpack") +endif() + +vcpkg_from_github(OUT_SOURCE_PATH LSHPACK_SOURCE_PATH + REPO litespeedtech/ls-hpack + REF v2.3.2 + HEAD_REF master + SHA512 45d6c8296e8eee511e6a083f89460d5333fc9a49bc078dac55fdec6c46db199de9f150379f02e054571f954a5e3c79af3864dbc53dc57d10a8d2ed26a92d4278 +) +if(NOT EXISTS "${SOURCE_PATH}/src/lshpack/CMakeLists.txt") + file(REMOVE_RECURSE "${SOURCE_PATH}/src/lshpack") + file(RENAME "${LSHPACK_SOURCE_PATH}" "${SOURCE_PATH}/src/lshpack") +endif() + +# Configuration +vcpkg_find_acquire_program(PERL) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" LSQUIC_SHARED_LIB) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + "-DPERL=${PERL}" + "-DPERL_EXECUTABLE=${PERL}" + "-DLSQUIC_SHARED_LIB=${LSQUIC_SHARED_LIB}" + "-DBORINGSSL_INCLUDE=${CURRENT_INSTALLED_DIR}/include" + -DLSQUIC_BIN=OFF + -DLSQUIC_TESTS=OFF + OPTIONS_RELEASE + "-DBORINGSSL_LIB=${CURRENT_INSTALLED_DIR}/lib" + OPTIONS_DEBUG + "-DBORINGSSL_LIB=${CURRENT_INSTALLED_DIR}/debug/lib" + -DLSQUIC_DEVEL=ON +) + +vcpkg_cmake_install() +if(VCPKG_TARGET_IS_WINDOWS) + # Upstream removed installation of this header after merging changes + file(INSTALL "${SOURCE_PATH}/wincompat/vc_compat.h" DESTINATION "${CURRENT_INSTALLED_DIR}/include/lsquic") +endif() + +vcpkg_cmake_config_fixup(PACKAGE_NAME lsquic) + +# Concatenate license files and install +vcpkg_install_copyright(FILE_LIST + "${SOURCE_PATH}/LICENSE" + "${SOURCE_PATH}/LICENSE.chrome" +) + +# Remove duplicated include directory +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + diff --git a/ports/liblsquic/vcpkg.json b/ports/liblsquic/vcpkg.json new file mode 100644 index 00000000000000..ec900322bec374 --- /dev/null +++ b/ports/liblsquic/vcpkg.json @@ -0,0 +1,25 @@ +{ + "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", + "supports": "!x86", + "dependencies": [ + "boringssl", + { + "name": "getopt", + "platform": "windows" + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "zlib" + ] +} 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 ac40c4e6dbe1f4..00000000000000 --- a/ports/liblzma/add_support_ios.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 52439b3..0b5e371 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -526,6 +526,7 @@ if(HAVE_GETOPT_LONG) - - install(TARGETS xzdec - RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" -+ BUNDLE DESTINATION "${CMAKE_INSTALL_BINDIR}" - COMPONENT xzdec) - - if(UNIX) -@@ -653,6 +654,7 @@ if(NOT MSVC AND HAVE_GETOPT_LONG) - - install(TARGETS xz - RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" -+ BUNDLE DESTINATION "${CMAKE_INSTALL_BINDIR}" - COMPONENT xz) - - install(FILES src/xz/xz.1 --- -2.30.1 (Apple Git-130) - diff --git a/ports/liblzma/build-tools.patch b/ports/liblzma/build-tools.patch new file mode 100644 index 00000000000000..12926a93589d22 --- /dev/null +++ b/ports/liblzma/build-tools.patch @@ -0,0 +1,19 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1484,7 +1484,7 @@ function(my_install_man COMPONENT SRC_FILE LINK_NAMES) + endif() + endfunction() + +- ++if(BUILD_TOOLS) + ############################################################################# + # libgnu (getopt_long) + ############################################################################# +@@ -1982,6 +1982,7 @@ if(UNIX) + my_install_man(scripts_Documentation src/scripts/xzless.1 "${XZLESS_LINKS}") + endif() + ++endif() + + ############################################################################# + # Documentation diff --git a/ports/liblzma/enable-uwp-builds.patch b/ports/liblzma/enable-uwp-builds.patch deleted file mode 100644 index 4551ce7b5be7f6..00000000000000 --- a/ports/liblzma/enable-uwp-builds.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/src/common/tuklib_physmem.c b/src/common/tuklib_physmem.c -index 4053ad0..c49db6d 100644 ---- a/src/common/tuklib_physmem.c -+++ b/src/common/tuklib_physmem.c -@@ -79,6 +79,13 @@ tuklib_physmem(void) - uint64_t ret = 0; - - #if defined(_WIN32) || defined(__CYGWIN__) -+#if defined (WINAPI_FAMILY_PARTITION) && !WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM) -+ MEMORYSTATUSEX ms; -+ ms.dwLength = sizeof(ms); -+ if(!GlobalMemoryStatusEx(&ms)) -+ return 0; -+ return ms.ullTotalPhys; -+#else - if ((GetVersion() & 0xFF) >= 5) { - // Windows 2000 and later have GlobalMemoryStatusEx() which - // supports reporting values greater than 4 GiB. To keep the -@@ -107,6 +114,7 @@ tuklib_physmem(void) - GlobalMemoryStatus(&meminfo); - ret = meminfo.dwTotalPhys; - } -+#endif - - #elif defined(__OS2__) - unsigned long mem; diff --git a/ports/liblzma/fix_config_include.patch b/ports/liblzma/fix_config_include.patch deleted file mode 100644 index 20b32895a6618f..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 -@@ -401,6 +401,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) - - # Export the public API symbols with __declspec(dllexport). - target_compile_definitions(liblzma PRIVATE DLL_EXPORT) diff --git a/ports/liblzma/portfile.cmake b/ports/liblzma/portfile.cmake index b7d08179410927..fb3f4664408da9 100644 --- a/ports/liblzma/portfile.cmake +++ b/ports/liblzma/portfile.cmake @@ -1,20 +1,37 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO xz-mirror/xz - REF v5.2.5 - SHA512 686f01cfe33e2194766a856c48668c661b25eee194a443524f87ce3f866e0eb54914075b4e00185921516c5211db8cd5d2658f4b91f4a3580508656f776f468e + REPO tukaani-project/xz + REF "v${VERSION}" + SHA512 0f814f4282c87cb74a8383199c1e55ec1bf49519daaf07f7b376cb644770b75cc9257c809b661405fcfd6cda28c54d799c67eb9e169665c35b1b87529468085e HEAD_REF master PATCHES - enable-uwp-builds.patch - 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 ) +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + tools BUILD_TOOLS +) + +if(VCPKG_TARGET_ARCHITECTURE STREQUAL "wasm32") + set(WASM_OPTIONS -DCMAKE_C_BYTE_ORDER=LITTLE_ENDIAN -DCMAKE_CXX_BYTE_ORDER=LITTLE_ENDIAN) +endif() + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - OPTIONS_DEBUG - "-DCMAKE_DEBUG_POSTFIX=d" # This was in the old vcpkg CMakeLists.txt and I don't intend to fix it all over vcpkg + OPTIONS + ${FEATURE_OPTIONS} + ${WASM_OPTIONS} + -DBUILD_TESTING=OFF + -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() @@ -23,97 +40,33 @@ set(exec_prefix "\${prefix}") set(libdir "\${prefix}/lib") set(includedir "\${prefix}/include") set(PACKAGE_URL https://tukaani.org/xz/) -set(PACKAGE_VERSION 5.2.5) +set(PACKAGE_VERSION "${VERSION}") if(NOT VCPKG_TARGET_IS_WINDOWS) set(PTHREAD_CFLAGS -pthread) endif() -if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - set(prefix "${CURRENT_INSTALLED_DIR}") - configure_file("${SOURCE_PATH}/src/liblzma/liblzma.pc.in" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/liblzma.pc" @ONLY) -endif() -if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") +set(prefix "${CURRENT_INSTALLED_DIR}") +configure_file("${SOURCE_PATH}/src/liblzma/liblzma.pc.in" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/liblzma.pc" @ONLY) +if (NOT VCPKG_BUILD_TYPE) set(prefix "${CURRENT_INSTALLED_DIR}/debug") configure_file("${SOURCE_PATH}/src/liblzma/liblzma.pc.in" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/liblzma.pc" @ONLY) - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/liblzma.pc" "-llzma" "-llzmad") endif() vcpkg_fixup_pkgconfig() - vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/liblzma) -file(WRITE "${CURRENT_PACKAGES_DIR}/share/liblzma/liblzma-config.cmake" "include(\"\${CMAKE_CURRENT_LIST_DIR}/liblzmaConfig.cmake\")") -file(APPEND "${CURRENT_PACKAGES_DIR}/share/liblzma/liblzmaConfig.cmake" -" -include(\${CMAKE_ROOT}/Modules/SelectLibraryConfigurations.cmake) -find_path(LibLZMA_INCLUDE_DIR NAMES lzma.h PATHS \"\${_IMPORT_PREFIX}/include\" NO_DEFAULT_PATH REQUIRED) -if(NOT LibLZMA_LIBRARY) - find_library(LibLZMA_LIBRARY_RELEASE NAMES lzma PATHS \"\${_IMPORT_PREFIX}/lib\" NO_DEFAULT_PATH) - find_library(LibLZMA_LIBRARY_DEBUG NAMES lzmad PATHS \"\${_IMPORT_PREFIX}/debug/lib\" NO_DEFAULT_PATH) - select_library_configurations(LibLZMA) -endif() -set(LibLZMA_INCLUDE_DIRS \${LibLZMA_INCLUDE_DIR} CACHE PATH \"\") -set(LibLZMA_LIBRARIES \${LibLZMA_LIBRARY} CACHE STRING \"\") -set(LZMA_INCLUDE_DIR \${LibLZMA_INCLUDE_DIR} CACHE PATH \"\") -set(LZMA_LIBRARY \${LibLZMA_LIBRARY} CACHE STRING \"\") -set(LZMA_INCLUDE_DIRS \${LibLZMA_INCLUDE_DIR} CACHE PATH \"\") -set(LZMA_LIBRARIES \${LibLZMA_LIBRARY} CACHE STRING \"\") -set(LIBLZMA_INCLUDE_DIRS \${LibLZMA_INCLUDE_DIR} CACHE PATH \"\") -set(LIBLZMA_LIBRARIES \${LibLZMA_LIBRARY} CACHE STRING \"\") -set(LIBLZMA_INCLUDE_DIR \${LibLZMA_INCLUDE_DIR} CACHE PATH \"\") -set(LIBLZMA_LIBRARY \${LibLZMA_LIBRARY} CACHE STRING \"\") - -if(LIBLZMA_INCLUDE_DIR AND EXISTS \"\${LIBLZMA_INCLUDE_DIR}/lzma/version.h\") - file(STRINGS \"\${LIBLZMA_INCLUDE_DIR}/lzma/version.h\" LIBLZMA_HEADER_CONTENTS REGEX \"#define LZMA_VERSION_[A-Z]+ [0-9]+\") - - string(REGEX REPLACE \".*#define LZMA_VERSION_MAJOR ([0-9]+).*\" \"\\\\1\" LIBLZMA_VERSION_MAJOR \"\${LIBLZMA_HEADER_CONTENTS}\") - string(REGEX REPLACE \".*#define LZMA_VERSION_MINOR ([0-9]+).*\" \"\\\\1\" LIBLZMA_VERSION_MINOR \"\${LIBLZMA_HEADER_CONTENTS}\") - string(REGEX REPLACE \".*#define LZMA_VERSION_PATCH ([0-9]+).*\" \"\\\\1\" LIBLZMA_VERSION_PATCH \"\${LIBLZMA_HEADER_CONTENTS}\") - - set(LIBLZMA_VERSION_STRING \"\${LIBLZMA_VERSION_MAJOR}.\${LIBLZMA_VERSION_MINOR}.\${LIBLZMA_VERSION_PATCH}\") - unset(LIBLZMA_HEADER_CONTENTS) -endif() - -## We're using new code known now as XZ, even library still been called LZMA -## it can be found in http://tukaani.org/xz/ -## Avoid using old codebase -#if (LIBLZMA_LIBRARY) -# include(\${CMAKE_ROOT}/Modules/CheckLibraryExists.cmake) -# CHECK_LIBRARY_EXISTS(\${LibLZMA_LIBRARY_RELEASE} lzma_auto_decoder \"\" LIBLZMA_HAS_AUTO_DECODER) -# CHECK_LIBRARY_EXISTS(\${LibLZMA_LIBRARY_RELEASE} lzma_easy_encoder \"\" LIBLZMA_HAS_EASY_ENCODER) -# CHECK_LIBRARY_EXISTS(\${LibLZMA_LIBRARY_RELEASE} lzma_lzma_preset \"\" LIBLZMA_HAS_LZMA_PRESET) -#endif () - -set(LibLZMA_FOUND TRUE CACHE BOOL \"\") -set(LZMA_FOUND TRUE CACHE BOOL \"\") -set(LIBLZMA_FOUND TRUE CACHE BOOL \"\") -") - -file(READ ${CURRENT_PACKAGES_DIR}/include/lzma.h _contents) -if (VCPKG_LIBRARY_LINKAGE STREQUAL "static") - string(REPLACE "defined(LZMA_API_STATIC)" "1" _contents "${_contents}") -else() - string(REPLACE "defined(LZMA_API_STATIC)" "0" _contents "${_contents}") -endif() -file(WRITE ${CURRENT_PACKAGES_DIR}/include/lzma.h "${_contents}") - -if (VCPKG_BUILD_TYPE STREQUAL debug) - file(RENAME "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/include") +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/lzma.h" "defined(LZMA_API_STATIC)" "1") else() - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/lzma.h" "defined(LZMA_API_STATIC)" "0") endif() -if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - vcpkg_replace_string( - "${CURRENT_PACKAGES_DIR}/include/lzma.h" - "if !defined(LZMA_API_STATIC)" - "if 0" - ) -endif() - -file(COPY "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" + "${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}) @@ -127,5 +80,6 @@ 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) -file(COPY "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") \ No newline at end of file +file(COPY "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +file(COPY "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/liblzma/usage b/ports/liblzma/usage index 8d70b5804e7f7b..b1461c93fc0a9e 100644 --- a/ports/liblzma/usage +++ b/ports/liblzma/usage @@ -1,9 +1,9 @@ -The package liblzma provides CMake targets: +liblzma is compatible with built-in CMake targets: find_package(LibLZMA REQUIRED) target_link_libraries(main PRIVATE LibLZMA::LibLZMA) - or +liblzma provides CMake targets: find_package(liblzma CONFIG REQUIRED) target_link_libraries(main PRIVATE liblzma::liblzma) diff --git a/ports/liblzma/vcpkg-cmake-wrapper.cmake b/ports/liblzma/vcpkg-cmake-wrapper.cmake index cf22af021a6489..826cdba0650ba6 100644 --- a/ports/liblzma/vcpkg-cmake-wrapper.cmake +++ b/ports/liblzma/vcpkg-cmake-wrapper.cmake @@ -1,8 +1,64 @@ -list(REMOVE_ITEM ARGS "NO_MODULE") -list(REMOVE_ITEM ARGS "CONFIG") -list(REMOVE_ITEM ARGS "MODULE") # Always call CONFIG. -_find_package(${ARGS} CONFIG) -if(NOT TARGET LibLZMA::LibLZMA AND TARGET liblzma::liblzma) - add_library(LibLZMA::LibLZMA INTERFACE IMPORTED) # Too lazy to fix wrong target usage all over vcpkg. - set_target_properties(LibLZMA::LibLZMA PROPERTIES INTERFACE_LINK_LIBRARIES liblzma::liblzma) +cmake_policy(PUSH) +cmake_policy(SET CMP0012 NEW) +cmake_policy(SET CMP0057 NEW) +set(z_vcpkg_liblzma_fixup_needed 0) +if(NOT "CONFIG" IN_LIST ARGS AND NOT "NO_MODULE" IN_LIST ARGS AND NOT CMAKE_DISABLE_FIND_PACKAGE_LibLZMA) + get_filename_component(z_vcpkg_liblzma_prefix "${CMAKE_CURRENT_LIST_DIR}" DIRECTORY) + get_filename_component(z_vcpkg_liblzma_prefix "${z_vcpkg_liblzma_prefix}" DIRECTORY) + find_path(LIBLZMA_INCLUDE_DIR NAMES lzma.h PATHS "${z_vcpkg_liblzma_prefix}/include" NO_DEFAULT_PATH) + # liblzma doesn't use a debug postfix, but FindLibLZMA.cmake expects it + find_library(LIBLZMA_LIBRARY_RELEASE NAMES lzma PATHS "${z_vcpkg_liblzma_prefix}/lib" NO_DEFAULT_PATH) + find_library(LIBLZMA_LIBRARY_DEBUG NAMES lzma PATHS "${z_vcpkg_liblzma_prefix}/debug/lib" NO_DEFAULT_PATH) + unset(z_vcpkg_liblzma_prefix) + if(CMAKE_VERSION VERSION_LESS 3.16) + # Older versions of FindLibLZMA.cmake need a single lib in LIBLZMA_LIBRARY. + set(z_vcpkg_liblzma_fixup_needed 1) + set(LIBLZMA_LIBRARY "${LIBLZMA_LIBRARY_RELEASE}" CACHE INTERNAL "") + elseif(NOT TARGET LibLZMA::LibLZMA) + set(z_vcpkg_liblzma_fixup_needed 1) + endif() + # Known values, and required. Skip expensive tests. + set(LIBLZMA_HAS_AUTO_DECODER 1 CACHE INTERNAL "") + set(LIBLZMA_HAS_EASY_ENCODER 1 CACHE INTERNAL "") + set(LIBLZMA_HAS_LZMA_PRESET 1 CACHE INTERNAL "") endif() + +_find_package(${ARGS}) + +if(z_vcpkg_liblzma_fixup_needed) + include(SelectLibraryConfigurations) + select_library_configurations(LIBLZMA) + if(NOT TARGET LibLZMA::LibLZMA) + # Backfill LibLZMA::LibLZMA to versions of cmake before 3.14 + add_library(LibLZMA::LibLZMA UNKNOWN IMPORTED) + if(DEFINED LIBLZMA_INCLUDE_DIRS) + set_target_properties(LibLZMA::LibLZMA PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${LIBLZMA_INCLUDE_DIRS}") + endif() + set_property(TARGET LibLZMA::LibLZMA APPEND PROPERTY + IMPORTED_CONFIGURATIONS RELEASE) + set_target_properties(LibLZMA::LibLZMA PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "C" + IMPORTED_LOCATION_RELEASE "${LIBLZMA_LIBRARY_RELEASE}") + if(EXISTS "${LIBLZMA_LIBRARY}") + set_target_properties(LibLZMA::LibLZMA PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES "C" + IMPORTED_LOCATION "${LIBLZMA_LIBRARY}") + endif() + endif() + if(LIBLZMA_LIBRARY_DEBUG) + # Backfill debug variant to versions of cmake before 3.16 + set_property(TARGET LibLZMA::LibLZMA APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG) + set_target_properties(LibLZMA::LibLZMA PROPERTIES IMPORTED_LOCATION_DEBUG "${LIBLZMA_LIBRARY_DEBUG}") + endif() +endif() +if(LIBLZMA_LIBRARIES AND NOT "Threads::Threads" IN_LIST LIBLZMA_LIBRARIES) + set(THREADS_PREFER_PTHREAD_FLAG TRUE) + find_package(Threads) + list(APPEND LIBLZMA_LIBRARIES ${CMAKE_THREAD_LIBS_INIT}) + if(TARGET LibLZMA::LibLZMA) + set_property(TARGET LibLZMA::LibLZMA APPEND PROPERTY INTERFACE_LINK_LIBRARIES Threads::Threads) + endif() +endif() +unset(z_vcpkg_liblzma_fixup_needed) +cmake_policy(POP) diff --git a/ports/liblzma/vcpkg.json b/ports/liblzma/vcpkg.json index 5c1874023eda29..8ec52b80548a7c 100644 --- a/ports/liblzma/vcpkg.json +++ b/ports/liblzma/vcpkg.json @@ -1,9 +1,9 @@ { "name": "liblzma", - "version-semver": "5.2.5", - "port-version": 4, + "version": "5.6.3", "description": "Compression library with an API similar to that of zlib.", - "homepage": "hhttps://github.com/xz-mirror/xz", + "homepage": "https://tukaani.org/xz/", + "license": null, "dependencies": [ { "name": "vcpkg-cmake", @@ -13,5 +13,10 @@ "name": "vcpkg-cmake-config", "host": true } - ] + ], + "features": { + "tools": { + "description": "Build tools" + } + } } diff --git a/ports/liblzma/win_output_name.patch b/ports/liblzma/win_output_name.patch deleted file mode 100644 index e1da52a46e8031..00000000000000 --- a/ports/liblzma/win_output_name.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index e80b524..1ecf908 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -429,7 +429,7 @@ 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 - ) - - # Create liblzmaConfigVersion.cmake. diff --git a/ports/libmad/0001-Fix-MSVC-ARM.patch b/ports/libmad/0001-Fix-MSVC-ARM.patch deleted file mode 100644 index 9cdc57c7bfeea4..00000000000000 --- a/ports/libmad/0001-Fix-MSVC-ARM.patch +++ /dev/null @@ -1,25 +0,0 @@ -diff --git a/mad.h b/mad.h -index 9ef6cc8..5e3f7aa 100644 ---- a/mad.h -+++ b/mad.h -@@ -24,7 +24,11 @@ - extern "C" { - # endif - -+#ifdef _WIN64 -+# define FPM_64BIT -+#else - # define FPM_INTEL -+#endif - - - -@@ -184,7 +188,7 @@ typedef mad_fixed_t mad_sample_t; - - # elif defined(FPM_INTEL) - --# if defined(_MSC_VER) -+# if defined(_MSC_VER) && defined(_M_IX86) - # pragma warning(push) - # pragma warning(disable: 4035) /* no return value */ - static __forceinline diff --git a/ports/libmad/CMakeLists.txt b/ports/libmad/CMakeLists.txt deleted file mode 100644 index 47db84c419fd47..00000000000000 --- a/ports/libmad/CMakeLists.txt +++ /dev/null @@ -1,53 +0,0 @@ -cmake_minimum_required(VERSION 2.8) - -project(libmad) - -set(SOURCES - bit.c - bit.h - config.h - decoder.c - decoder.h - fixed.c - fixed.h - frame.c - frame.h - global.h - huffman.c - huffman.h - layer12.c - layer12.h - layer3.c - layer3.h - mad.h - stream.c - stream.h - synth.c - synth.h - timer.c - timer.h - version.c - version.h -) - -add_library( - mad - ${SOURCES} -) - -target_compile_definitions(mad - PRIVATE _LIB _MBCS ASO_ZEROCHECK HAVE_CONFIG_H FPM_DEFAULT - PRIVATE _CRT_SECURE_NO_WARNINGS -) - -install( - TARGETS mad - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib -) - -install( - FILES mad.h - DESTINATION include -) diff --git a/ports/libmad/portfile.cmake b/ports/libmad/portfile.cmake index ebf84de891d05f..7dcb435e23cefd 100644 --- a/ports/libmad/portfile.cmake +++ b/ports/libmad/portfile.cmake @@ -1,29 +1,44 @@ -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - -vcpkg_from_sourceforge( - OUT_SOURCE_PATH SOURCE_PATH - REPO mad/libmad - REF 0.15.1b - FILENAME "libmad-0.15.1b.tar.gz" - SHA512 2cad30347fb310dc605c46bacd9da117f447a5cabedd8fefdb24ab5de641429e5ec5ce8af7aefa6a75a3f545d3adfa255e3fa0a2d50971f76bc0c4fc0400cc45 - PATCHES 0001-Fix-MSVC-ARM.patch +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() + +vcpkg_download_distfile( + ARCHIVE + URLS "https://codeberg.org/tenacityteam/libmad/releases/download/${VERSION}/libmad-${VERSION}.tar.gz" + FILENAME "tenacityteam-libmad-${VERSION}.tar.gz" + SHA512 5b0a826408395e8b6b8a33953401355d6c2f1b33ec5085530b4ac8a538c39ffa903ce2e6845e9dcad73936933078959960b2f3fbba11ae091fda5bc5ee310df5 +) + +vcpkg_extract_source_archive(SOURCE_PATH ARCHIVE "${ARCHIVE}") + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + aso ASO ) -#The archive only contains a Visual Studio 6.0 era DSP project file, so use a custom CMakeLists.txt -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +set(EXTRA_OPTIONS) -#Use the msvc++ config.h header -file(COPY ${SOURCE_PATH}/msvc++/config.h DESTINATION ${SOURCE_PATH}) +# Avoid architecture-specific assembly when targeting WASM. The upstream +# CMakeLists incorrectly recognizes the CPU as an Intel/64-bit CPU, therefore +# we have to override these flags: +# https://codeberg.org/tenacityteam/libmad/src/commit/84ba587793d61caadf6d1f6c0d94c3e165874a50/CMakeLists.txt +if(VCPKG_TARGET_IS_EMSCRIPTEN) + list(APPEND EXTRA_OPTIONS "-DFPM_64BIT=OFF -DFPM_INTEL=OFF -DFPM_DEFAULT=ON") +endif() -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} + ${EXTRA_OPTIONS} + -DEXAMPLE=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME "mad" CONFIG_PATH "lib/cmake/mad") +vcpkg_fixup_pkgconfig() vcpkg_copy_pdbs() -file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libmad) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/libmad/COPYING ${CURRENT_PACKAGES_DIR}/share/libmad/copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/libmad/vcpkg.json b/ports/libmad/vcpkg.json index 2e44d7571c6e24..050425a1315336 100644 --- a/ports/libmad/vcpkg.json +++ b/ports/libmad/vcpkg.json @@ -1,7 +1,29 @@ { "name": "libmad", - "version-string": "0.15.1", - "port-version": 9, + "version": "0.16.4", + "port-version": 3, "description": "high-quality MPEG audio decoder", - "homepage": "http://www.mars.org/home/rob/proj/mpeg/" + "homepage": "http://codeberg.org/tenacityteam/libmad", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "default-features": [ + { + "name": "aso", + "platform": "x86 | x64 | arm" + } + ], + "features": { + "aso": { + "description": "Enable CPU architecture-specific optimizations (x86, ARM and MIPS only)", + "supports": "x86 | x64 | arm" + } + } } 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..e90beb4d40975e 100644 --- a/ports/libmagic/0003-Fix-WIN32-macro-checks.patch +++ b/ports/libmagic/0003-Fix-WIN32-macro-checks.patch @@ -31,13 +31,13 @@ index 299ac0c..2c365a6 100644 #define PATHSEP ':' @@ -103,7 +103,7 @@ - #define private static + #define file_private static -#if HAVE_VISIBILITY && !defined(WIN32) +#if HAVE_VISIBILITY && !defined(_WIN32) - #define public __attribute__ ((__visibility__("default"))) - #ifndef protected - #define protected __attribute__ ((__visibility__("hidden"))) + #define file_public __attribute__ ((__visibility__("default"))) + #ifndef file_protected + #define file_protected __attribute__ ((__visibility__("hidden"))) -- 2.29.2.windows.2 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 new file mode 100644 index 00000000000000..5eaba925a589f4 --- /dev/null +++ b/ports/libmagic/0016-Fix-file_famagic-function.patch @@ -0,0 +1,40 @@ +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 @@ # 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) + 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) + int ret, did = 0; + int mime = ms->flags & MAGIC_MIME; + int silent = ms->flags & (MAGIC_APPLE|MAGIC_EXTENSION); +-#if S_IFLNK != 0 ++#if S_IFLNK != 0 && ! defined(_WIN32) + char buf[BUFSIZ+4]; + ssize_t nch; + struct stat tstatbuf; +@@ -122,7 +122,7 @@ file_fsmagic(struct magic_set *ms, const char *fn, struct stat *sb) + * Fstat is cheaper but fails for files you don't have read perms on. + * On 4.2BSD and similar systems, use lstat() to identify symlinks. + */ +-#if S_IFLNK != 0 ++#if S_IFLNK != 0 && ! defined(_WIN32) + if ((ms->flags & MAGIC_SYMLINK) == 0) + ret = lstat(fn, sb); + else +@@ -290,7 +290,7 @@ file_fsmagic(struct magic_set *ms, const char *fn, struct stat *sb) + return -1; + break; + #endif +-#if S_IFLNK != 0 ++#if S_IFLNK != 0 && ! defined(_WIN32) + case S_IFLNK: + if ((nch = readlink(fn, buf, BUFSIZ-1)) <= 0) { + if (ms->flags & MAGIC_ERROR) { 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 ed155792b7e108..c6d775fda7d7b0 100644 --- a/ports/libmagic/portfile.cmake +++ b/ports/libmagic/portfile.cmake @@ -8,21 +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_45 + SHA512 fdd4c5d13d5ea1d25686c76d8ebc3252c54040c4871e3f0f623c4548b3841795d4e36050292a9453eedf0fbf932573890e9d6ac9fa63ccf577215598ae84b9ea HEAD_REF master PATCHES ${PATCHES} ) @@ -32,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) @@ -67,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 9f63ac322314d4..3e6c1598409622 100644 --- a/ports/libmagic/vcpkg.json +++ b/ports/libmagic/vcpkg.json @@ -1,9 +1,10 @@ { "name": "libmagic", - "version-string": "5.40", - "port-version": 1, + "version": "5.45", + "port-version": 3, "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 +22,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/arm64.patch b/ports/libmariadb/arm64.patch deleted file mode 100644 index 4d8e9ac8d0c89e..00000000000000 --- a/ports/libmariadb/arm64.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/libmariadb/CMakeLists.txt b/libmariadb/CMakeLists.txt -index 640a35bea..6c8d93250 100755 ---- a/libmariadb/CMakeLists.txt -+++ b/libmariadb/CMakeLists.txt -@@ -410,10 +410,6 @@ TARGET_LINK_LIBRARIES(libmariadb LINK_PRIVATE ${SYSTEM_LIBS}) - - SIGN_TARGET(libmariadb) - --IF(CMAKE_SIZEOF_VOID_P EQUAL 8 AND MSVC) -- SET_TARGET_PROPERTIES(mariadbclient PROPERTIES STATIC_LIBRARY_FLAGS "/machine:x64") --ENDIF() -- - IF(CMAKE_SYSTEM_NAME MATCHES "Linux" OR - CMAKE_SYSTEM_NAME MATCHES "kFreeBSD" OR - CMAKE_SYSTEM_NAME MATCHES "GNU") 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/export-cmake-targets.patch b/ports/libmariadb/export-cmake-targets.patch deleted file mode 100644 index 13c6c1a61bc29c..00000000000000 --- a/ports/libmariadb/export-cmake-targets.patch +++ /dev/null @@ -1,43 +0,0 @@ -diff --git a/libmariadb/CMakeLists.txt b/libmariadb/CMakeLists.txt -index c109a20..e1fa3f1 100644 ---- a/libmariadb/CMakeLists.txt -+++ b/libmariadb/CMakeLists.txt -@@ -405,6 +405,7 @@ ELSE() - 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}) - -@@ -453,13 +454,30 @@ ENDIF() - - INSTALL(TARGETS mariadbclient - COMPONENT Development -+ EXPORT unofficial-libmariadb-targets - LIBRARY DESTINATION lib) - INSTALL(TARGETS libmariadb - COMPONENT SharedLibraries -+ 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) - - IF(0) - # On Windows, install PDB diff --git a/ports/libmariadb/fix-InstallPath.patch b/ports/libmariadb/fix-InstallPath.patch deleted file mode 100644 index c9794fc58fa4e3..00000000000000 --- a/ports/libmariadb/fix-InstallPath.patch +++ /dev/null @@ -1,62 +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/libmariadb/CMakeLists.txt b/libmariadb/CMakeLists.txt -index bcfd4de..c109a20 100644 ---- a/libmariadb/CMakeLists.txt -+++ b/libmariadb/CMakeLists.txt -@@ -398,10 +398,10 @@ 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}) -+ ADD_LIBRARY(libmariadb ${libmariadb_RC} ${MARIADB_OBJECTS} ${EMPTY_FILE}) - SET_TARGET_PROPERTIES(libmariadb PROPERTIES COMPILE_FLAGS "${CMAKE_SHARED_LIBRARY_C_FLAGS}") - 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() - -@@ -453,13 +453,15 @@ ENDIF() - - INSTALL(TARGETS mariadbclient - COMPONENT Development -- DESTINATION ${INSTALL_LIBDIR}) -+ LIBRARY DESTINATION lib) - INSTALL(TARGETS libmariadb - COMPONENT SharedLibraries -- DESTINATION ${INSTALL_LIBDIR}) -+ RUNTIME DESTINATION bin -+ LIBRARY DESTINATION lib -+ ARCHIVE DESTINATION lib) - - --IF(MSVC) -+IF(0) - # On Windows, install PDB - INSTALL(FILES $ DESTINATION "${INSTALL_LIBDIR}" - CONFIGURATIONS Debug RelWithDebInfo -diff --git a/mariadb_config/mariadb_config.c.in b/mariadb_config/mariadb_config.c.in -index 5574943..fc1ca7c 100644 ---- a/mariadb_config/mariadb_config.c.in -+++ b/mariadb_config/mariadb_config.c.in -@@ -210,7 +210,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/no-extra-static-lib.patch b/ports/libmariadb/no-extra-static-lib.patch deleted file mode 100644 index 333be12495de45..00000000000000 --- a/ports/libmariadb/no-extra-static-lib.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff --git a/libmariadb/CMakeLists.txt b/libmariadb/CMakeLists.txt -index 39fa709..a726a6d 100644 ---- a/libmariadb/CMakeLists.txt -+++ b/libmariadb/CMakeLists.txt -@@ -455,10 +455,14 @@ IF(NOT WIN32) - SET_TARGET_PROPERTIES(mariadbclient PROPERTIES OUTPUT_NAME "${LIBMARIADB_STATIC_NAME}") - ENDIF() - -+if(VCPKG_MARIADBCLIENT) - INSTALL(TARGETS mariadbclient - COMPONENT Development - EXPORT unofficial-libmariadb-targets - LIBRARY DESTINATION lib) -+else() -+ set_target_properties(mariadbclient PROPERTIES EXCLUDE_FROM_ALL 1) -+endif() - INSTALL(TARGETS libmariadb - COMPONENT SharedLibraries - EXPORT unofficial-libmariadb-targets diff --git a/ports/libmariadb/pkgconfig.patch b/ports/libmariadb/pkgconfig.patch deleted file mode 100644 index a0cc1c18d48d2e..00000000000000 --- a/ports/libmariadb/pkgconfig.patch +++ /dev/null @@ -1,60 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 0be0fb1..33565f5 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -393,7 +393,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 70e619b..7a22fa1 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 "bin" - 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 5ec7726802d862..c4b90f4fc1433b 100644 --- a/ports/libmariadb/portfile.cmake +++ b/ports/libmariadb/portfile.cmake @@ -1,4 +1,4 @@ -if (EXISTS "${CURRENT_INSTALLED_DIR}/share/libmysql") +if(EXISTS "${CURRENT_INSTALLED_DIR}/share/libmysql") message(FATAL_ERROR "FATAL ERROR: libmysql and libmariadb are incompatible.") endif() @@ -6,34 +6,39 @@ if("openssl" IN_LIST FEATURES AND "schannel" IN_LIST FEATURES) message(FATAL_ERROR "Only one SSL backend must be selected.") endif() -if("schannel" IN_LIST FEATURES AND NOT VCPKG_TARGET_IS_WINDOWS) - message(FATAL_ERROR "Feature schannel not supported on non-Windows platforms.") -endif() - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO mariadb-corporation/mariadb-connector-c - REF b2bb1b213c79169b7c994a99f21f47f11be465d4 # v3.1.15 - SHA512 51ebd2e9fd505eebc7691c60fe0b86cfc5368f8b370fba6c3ec8f5514319ef1e0de4910ad5e093cd7d5e5c7782120e22e8c85c94af9389fa4e240cedf012d755 - HEAD_REF 3.1 + REF v${VERSION} + SHA512 396ce2a36937d49ec96eb239312118c736f46383d2906b7142d9695e795f310af28255d8827cc98ad76ae4e6d5a22faf1188b7dd286791e3c85f22c96d0114b3 + HEAD_REF 3.4 PATCHES - arm64.patch - md.patch - disable-test-build.patch - fix-InstallPath.patch - fix-iconv.patch - export-cmake-targets.patch - pkgconfig.patch - no-extra-static-lib.patch - fix-openssl.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 + FEATURES + iconv WITH_ICONV + 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) @@ -46,32 +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 + -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") -# copy license file -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 6d0742e7fd14f0..83d92de6093719 100644 --- a/ports/libmariadb/vcpkg.json +++ b/ports/libmariadb/vcpkg.json @@ -1,10 +1,19 @@ { "name": "libmariadb", - "version-semver": "3.1.15", + "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", - "supports": "!uwp", + "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 @@ -22,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": [ @@ -35,7 +44,8 @@ ] }, "schannel": { - "description": "SSL support (Secure Channel)" + "description": "SSL support (Secure Channel)", + "supports": "windows" }, "ssl": { "description": "Default SSL backend", @@ -46,7 +56,7 @@ "features": [ "schannel" ], - "platform": "windows | mingw" + "platform": "windows" }, { "name": "libmariadb", @@ -54,12 +64,15 @@ "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": [ + "zstd" + ] } } } 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 bdf9b77805d2b4..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 13b276f..6c70e49 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.4.3" -+ - #ifdef _WIN32 - #include - #include --/* libmaxminddb package version from configure */ --#define PACKAGE_VERSION "1.4.3" - - typedef ADDRESS_FAMILY sa_family_t; - diff --git a/ports/libmaxminddb/portfile.cmake b/ports/libmaxminddb/portfile.cmake index db280fad8e409c..3b8d7d07a49504 100644 --- a/ports/libmaxminddb/portfile.cmake +++ b/ports/libmaxminddb/portfile.cmake @@ -3,23 +3,26 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO maxmind/libmaxminddb - REF 07797e9dfb6771190f9fa41a33babe19425ef552 #1.4.3 - SHA512 94f7fbd46a7846c804edad9759ceedf2f7c4b2085430322f74bea5c89f6c3fa0824f154f551119a8c69becec5120650efef89c6d7f5a2ef3df476086070c8c7e - 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_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +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_install_cmake() +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 c24cb9c92cadfe..630b94efa1c64a 100644 --- a/ports/libmaxminddb/vcpkg.json +++ b/ports/libmaxminddb/vcpkg.json @@ -1,7 +1,16 @@ { "name": "libmaxminddb", - "version-string": "1.4.3", - "port-version": 1, + "version": "1.11.0", "description": "C library for the MaxMind DB file format", - "homepage": "https://github.com/maxmind/libmaxminddb" + "homepage": "https://github.com/maxmind/libmaxminddb", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/libmediainfo/dependencies.diff b/ports/libmediainfo/dependencies.diff new file mode 100644 index 00000000000000..be62f855320ba0 --- /dev/null +++ b/ports/libmediainfo/dependencies.diff @@ -0,0 +1,26 @@ +diff --git a/Project/CMake/cmake/modules/FindTinyXML.cmake b/Project/CMake/cmake/modules/FindTinyXML.cmake +index af97107..4667b65 100644 +--- a/Project/CMake/cmake/modules/FindTinyXML.cmake ++++ b/Project/CMake/cmake/modules/FindTinyXML.cmake +@@ -23,7 +23,7 @@ endif(PKG_CONFIG_FOUND) + + set(TinyXML_INCLUDE_DIRS ${PC_TINYXML_INCLUDE_DIRS} CACHE PATH "TinyXML include directory" FORCE) + set(TinyXML_LIBRARY_DIRS ${PC_TINYXML_LIBRARY_DIRS} CACHE PATH "TinyXML library directory" FORCE) +-set(TinyXML_LIBRARIES ${PC_TINYXML_LIBRARIES} CACHE STRING "TinyXML libraries" FORCE) ++set(TinyXML_LIBRARIES ${PC_TINYXML_LINK_LIBRARIES} CACHE STRING "TinyXML libraries" FORCE) + include(FindPackageHandleStandardArgs) + + find_package_handle_standard_args(TinyXML +diff --git a/Project/CMake/libmediainfo.pc.in b/Project/CMake/libmediainfo.pc.in +index 31e53fe..0829d71 100644 +--- a/Project/CMake/libmediainfo.pc.in ++++ b/Project/CMake/libmediainfo.pc.in +@@ -8,6 +8,6 @@ Name: libmediainfo + Version: @MediaInfoLib_VERSION@ + Description: MediaInfoLib + Requires: libzen +-Requires.private:@CURL_PC@ +-Libs: -L${libdir} -lmediainfo -lz ++Requires.private: libcurl tinyxml2 zlib ++Libs: -L${libdir} -lmediainfo + Cflags: -I${includedir} diff --git a/ports/libmediainfo/msvc-arm.diff b/ports/libmediainfo/msvc-arm.diff new file mode 100644 index 00000000000000..c7bef0750090bc --- /dev/null +++ b/ports/libmediainfo/msvc-arm.diff @@ -0,0 +1,25 @@ +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 new file mode 100644 index 00000000000000..6f3918a8733df4 --- /dev/null +++ b/ports/libmediainfo/no-windows-namespace.diff @@ -0,0 +1,56 @@ +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 987fcdc9884535..460820d6cc60ad 100644 --- a/ports/libmediainfo/portfile.cmake +++ b/ports/libmediainfo/portfile.cmake @@ -1,30 +1,34 @@ +string(REGEX REPLACE "^([0-9]+)[.]([1-9])\$" "\\1.0\\2" MEDIAINFO_VERSION "${VERSION}") vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO MediaArea/MediaInfoLib - REF d5fb067e1539aa7a74c491e8262c81214f9c8bcb #v21.03 - SHA512 6d49c8187dca264b4d9fb1f93a82cb65435e81a2540cfb84f885d53737560f7e8e60c8209e7d184cb191f298495db90ffb3185481e3ed44bf5a1f5131f671d89 + REF "v${MEDIAINFO_VERSION}" + SHA512 51b940f577aa88d24d00dcf00cc90dfb7e8fb38e19c96517bea59ffb92877b7c8af9dcc0d93e152c707ce06725958e43dd8f64b85f099140fc8f536cea5b21b5 HEAD_REF master - PATCHES vcpkg_support_in_cmakelists.patch + PATCHES + msvc-arm.diff + dependencies.diff + no-windows-namespace.diff ) +vcpkg_find_acquire_program(PKGCONFIG) + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}/Project/CMake" OPTIONS -DBUILD_ZENLIB=0 -DBUILD_ZLIB=0 + "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}" + -DCMAKE_REQUIRE_FIND_PACKAGE_PkgConfig=1 + -DCMAKE_REQUIRE_FIND_PACKAGE_TinyXML=1 ) - vcpkg_cmake_install() - -if(EXISTS "${CURRENT_PACKAGES_DIR}/share/mediainfolib") - file(RENAME "${CURRENT_PACKAGES_DIR}/share/mediainfolib" "${CURRENT_PACKAGES_DIR}/share/MediaInfoLib") -endif() - -if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/share/mediainfolib") - file(RENAME "${CURRENT_PACKAGES_DIR}/debug/share/mediainfolib" "${CURRENT_PACKAGES_DIR}/debug/share/MediaInfoLib") +vcpkg_cmake_config_fixup(PACKAGE_NAME mediainfolib) +vcpkg_fixup_pkgconfig() +if(NOT VCPKG_BUILD_TYPE AND VCPKG_TARGET_IS_WINDOWS) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libmediainfo.pc" " -lmediainfo" " -lmediainfod") endif() -vcpkg_cmake_config_fixup(PACKAGE_NAME MediaInfoLib CONFIG_PATH share/MediaInfoLib) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -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/libmediainfo/vcpkg.json b/ports/libmediainfo/vcpkg.json index 89db9dce1a7dc3..dc8605f3956237 100644 --- a/ports/libmediainfo/vcpkg.json +++ b/ports/libmediainfo/vcpkg.json @@ -1,7 +1,6 @@ { "name": "libmediainfo", - "version-string": "21.03", - "port-version": 1, + "version": "24.11", "description": "Get most relevant technical and tag data from video and audio files", "homepage": "https://github.com/MediaArea/MediaInfoLib", "dependencies": [ diff --git a/ports/libmediainfo/vcpkg_support_in_cmakelists.patch b/ports/libmediainfo/vcpkg_support_in_cmakelists.patch deleted file mode 100644 index c38c919c81a193..00000000000000 --- a/ports/libmediainfo/vcpkg_support_in_cmakelists.patch +++ /dev/null @@ -1,55 +0,0 @@ -diff --git a/Project/CMake/CMakeLists.txt b/Project/CMake/CMakeLists.txt -index f983343..c6ba5ea 100644 ---- a/Project/CMake/CMakeLists.txt -+++ b/Project/CMake/CMakeLists.txt -@@ -88,7 +88,7 @@ endif() - find_package(TinyXML) - - # use system curl if is present --find_package(CURL) -+find_package(CURL CONFIG REQUIRED) - - include_directories(${MediaInfoLib_SOURCES_PATH}) - include_directories(${MediaInfoLib_SOURCES_PATH}/ThirdParty/md5/) -@@ -400,13 +400,7 @@ endif() - target_link_libraries(mediainfo ${ZenLib_LIBRARY} ${ZLIB_LIBRARIES}) - - if(MSVC AND BUILD_SHARED_LIBS) -- get_target_property(LOCATION mediainfo LOCATION_DEBUG) -- string(REGEX REPLACE "\\.[^.]*$" ".pdb" LOCATION "${LOCATION}") -- install(FILES ${LOCATION} DESTINATION ${BIN_INSTALL_DIR} CONFIGURATIONS Debug) -- -- get_target_property(LOCATION mediainfo LOCATION_RELWITHDEBINFO) -- string(REGEX REPLACE "\\.[^.]*$" ".pdb" LOCATION "${LOCATION}") -- install(FILES ${LOCATION} DESTINATION ${BIN_INSTALL_DIR} CONFIGURATIONS RelWithDebInfo) -+ install(FILES $ DESTINATION ${BIN_INSTALL_DIR} OPTIONAL) - endif() - - if (APPLE) -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..8c34364 100644 ---- a/Source/ThirdParty/aes-gladman/brg_endian.h -+++ b/Source/ThirdParty/aes-gladman/brg_endian.h -@@ -110,7 +110,8 @@ Issue Date: 20/12/2007 - defined( __MRC__ ) || defined( __MVS__ ) || defined( __MWERKS__ ) || \ - defined( sparc ) || defined( __sparc) || defined( SYMANTEC_C ) || \ - defined( __VOS__ ) || defined( __TIGCC__ ) || defined( __TANDEM ) || \ -- defined( THINK_C ) || defined( __VMCMS__ ) || defined( _AIX ) -+ defined( THINK_C ) || defined( __VMCMS__ ) || defined( _AIX ) || \ -+ defined( _M_ARM64 ) || defined ( _M_ARM ) - # define PLATFORM_BYTE_ORDER IS_BIG_ENDIAN - - #elif 0 /* **** EDIT HERE IF NECESSARY **** */ diff --git a/ports/libmesh/portfile.cmake b/ports/libmesh/portfile.cmake index 9a16dbf98bf666..b0cf639b42e598 100644 --- a/ports/libmesh/portfile.cmake +++ b/ports/libmesh/portfile.cmake @@ -16,41 +16,32 @@ endif() # but there are a lot more which need to be checked/fixed # So this port can only be considered a Work In Progress vcpkg_configure_make( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${OPTIONS} + OPTIONS_DEBUG --with-methods=dbg + OPTIONS_RELEASE --with-methods=opt ) vcpkg_install_make() -if (EXISTS ${CURRENT_PACKAGES_DIR}/contrib/bin/libtool) - file(COPY ${CURRENT_PACKAGES_DIR}/contrib/bin/libtool DESTINATION ${CURRENT_PACKAGES_DIR}/tools) - file(REMOVE ${CURRENT_PACKAGES_DIR}/contrib/bin/libtool) -endif() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/contrib ${CURRENT_PACKAGES_DIR}/debug/contrib) - -file(GLOB ${CURRENT_PACKAGES_DIR}/bin LIBMESH_TOOLS) -foreach (LIBMESH_TOOL ${LIBMESH_TOOLS}) - file(COPY ${LIBMESH_TOOL} DESTINATION ${CURRENT_PACKAGES_DIR}/tools) - file(REMOVE ${LIBMESH_TOOL}) -endforeach() - -file(GLOB LIBMESH_TOOLS ${CURRENT_PACKAGES_DIR}/examples/*) -foreach (LIBMESH_TOOL ${LIBMESH_TOOLS}) - file(COPY ${LIBMESH_TOOL} DESTINATION ${CURRENT_PACKAGES_DIR}/tools) - file(REMOVE ${LIBMESH_TOOL}) -endforeach() +file(RENAME "${CURRENT_PACKAGES_DIR}/examples" "${CURRENT_PACKAGES_DIR}/share/${PORT}/examples") if (VCPKG_LIBRARY_LINKAGE STREQUAL static) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") endif() # Remove tools and debug include directories -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/contrib ${CURRENT_PACKAGES_DIR}/debug/etc - ${CURRENT_PACKAGES_DIR}/debug/examples ${CURRENT_PACKAGES_DIR}/debug/include - ${CURRENT_PACKAGES_DIR}/debug/share - ${CURRENT_PACKAGES_DIR}/Make.common ${CURRENT_PACKAGES_DIR}/debug/Make.common) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/contrib" "${CURRENT_PACKAGES_DIR}/debug/contrib" + "${CURRENT_PACKAGES_DIR}/etc" "${CURRENT_PACKAGES_DIR}/debug/etc" + "${CURRENT_PACKAGES_DIR}/debug/examples" "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" "${CURRENT_PACKAGES_DIR}/tools/libmesh/debug" + "${CURRENT_PACKAGES_DIR}/Make.common" "${CURRENT_PACKAGES_DIR}/debug/Make.common") -vcpkg_copy_pdbs() +file(GLOB config_files "${CURRENT_PACKAGES_DIR}/bin/*-config" "${CURRENT_PACKAGES_DIR}/debug/bin/*-config" "${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin/*-config") +file(REMOVE_RECURSE ${config_files}) -file(INSTALL ${CURRENT_PORT_DIR}/copyright DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/libmesh/libmesh_config.h" "${CURRENT_INSTALLED_DIR}" "") +vcpkg_install_copyright(FILE_LIST "${CURRENT_PORT_DIR}/copyright") diff --git a/ports/libmesh/vcpkg.json b/ports/libmesh/vcpkg.json index 7c4b273f1c3ce3..3127369e02d6eb 100644 --- a/ports/libmesh/vcpkg.json +++ b/ports/libmesh/vcpkg.json @@ -1,7 +1,9 @@ { "name": "libmesh", - "version-string": "1.5.0", - "port-version": 2, + "version": "1.5.0", + "port-version": 6, "description": "The libMesh library provides a framework for the numerical simulation of partial differential equations using arbitrary unstructured discretizations on serial and parallel platforms. A major goal of the library is to provide support for adaptive mesh refinement (AMR) computations in parallel while allowing a research scientist to focus on the physics they are modeling.", - "homepage": "https://github.com/libMesh/libmesh" + "homepage": "https://github.com/libMesh/libmesh", + "license": "LGPL-2.1-only", + "supports": "linux" } diff --git a/ports/libmicrodns/portfile.cmake b/ports/libmicrodns/portfile.cmake new file mode 100644 index 00000000000000..87908a1f93c512 --- /dev/null +++ b/ports/libmicrodns/portfile.cmake @@ -0,0 +1,16 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO videolabs/libmicrodns + REF 0.2.0 + SHA512 6389ad9edaf1af7c831e8c05e4800964b13cf0eed2063fa3675e7b87c49428ae7b68ac4ed1e742ed5d46ea3ded190e3de076e73ebf167422505257d7b1a03e25 + HEAD_REF master +) + +vcpkg_configure_meson( + SOURCE_PATH "${SOURCE_PATH}" +) +vcpkg_install_meson() +vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() + +configure_file("${SOURCE_PATH}/COPYING" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) diff --git a/ports/libmicrodns/vcpkg.json b/ports/libmicrodns/vcpkg.json new file mode 100644 index 00000000000000..82095357cb0085 --- /dev/null +++ b/ports/libmicrodns/vcpkg.json @@ -0,0 +1,15 @@ +{ + "name": "libmicrodns", + "version": "0.2.0", + "port-version": 2, + "description": "Minimal mDNS resolver (and announcer) library", + "homepage": "https://github.com/videolabs/libmicrodns", + "license": "LGPL-2.1-or-later", + "supports": "!xbox & !uwp", + "dependencies": [ + { + "name": "vcpkg-tool-meson", + "host": true + } + ] +} diff --git a/ports/libmicrohttpd/fix-msvc-project.patch b/ports/libmicrohttpd/fix-msvc-project.patch deleted file mode 100644 index 29071a2bee069c..00000000000000 --- a/ports/libmicrohttpd/fix-msvc-project.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/w32/common/libmicrohttpd-files.vcxproj b/w32/common/libmicrohttpd-files.vcxproj -index 6f1e03b..c0ddea8 100644 ---- a/w32/common/libmicrohttpd-files.vcxproj -+++ b/w32/common/libmicrohttpd-files.vcxproj -@@ -3,6 +3,7 @@ - - - -+ - - - diff --git a/ports/libmicrohttpd/portfile.cmake b/ports/libmicrohttpd/portfile.cmake index 2b09dac0f50e78..526a735b87c580 100644 --- a/ports/libmicrohttpd/portfile.cmake +++ b/ports/libmicrohttpd/portfile.cmake @@ -1,19 +1,15 @@ -vcpkg_fail_port_install(ON_TARGET "UWP" ON_ARCH "arm") - -set(MICROHTTPD_VERSION 0.9.63) - vcpkg_download_distfile(ARCHIVE URLS - "https://ftp.gnu.org/gnu/libmicrohttpd/libmicrohttpd-${MICROHTTPD_VERSION}.tar.gz" - "https://www.mirrorservice.org/sites/ftp.gnu.org/gnu/libmicrohttpd/libmicrohttpd-${MICROHTTPD_VERSION}.tar.gz" - FILENAME "libmicrohttpd-${MICROHTTPD_VERSION}.tar.gz" - SHA512 cb99e7af84fb6d7c0fd3894a9dc0fbff14959b35347506bd3211a65bbfad36455007b9e67493e97c9d8394834408df10eeabdc7758573e6aae0ba6f5f87afe17 + "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 c99b8b93cae5feee8debcc5667ee3ff043412a84b30696fe852e6c138f3c890bb43c8fcd7199f1d2f809d522fef159e83b607c743d6cf3401a57050fbdf9b5c1 ) -vcpkg_extract_source_archive_ex( +vcpkg_extract_source_archive( + SOURCE_PATH ARCHIVE "${ARCHIVE}" - OUT_SOURCE_PATH SOURCE_PATH - PATCHES fix-msvc-project.patch + PATCHES remove_pdb_install.patch ) if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) @@ -23,32 +19,42 @@ if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) set(CFG_SUFFIX "static") endif() - vcpkg_install_msbuild( + vcpkg_msbuild_install( SOURCE_PATH "${SOURCE_PATH}" - PROJECT_SUBPATH w32/VS2015/libmicrohttpd.vcxproj + PROJECT_SUBPATH w32/VS-Any-Version/libmicrohttpd.vcxproj RELEASE_CONFIGURATION "Release-${CFG_SUFFIX}" DEBUG_CONFIGURATION "Debug-${CFG_SUFFIX}" ) - file(GLOB MICROHTTPD_HEADERS "${SOURCE_PATH}/src/include/microhttpd*.h") + file(GLOB MICROHTTPD_HEADERS "${SOURCE_PATH}/src/include/microhttpd.h") file(COPY ${MICROHTTPD_HEADERS} DESTINATION "${CURRENT_PACKAGES_DIR}/include") else() + vcpkg_list(SET config_args) if(VCPKG_TARGET_IS_OSX AND VCPKG_LIBRARY_LINKAGE STREQUAL "static") set(ENV{LIBS} "$ENV{LIBS} -framework Foundation -framework AppKit") # TODO: Get this from the extracted cmake vars somehow endif() + if("https" IN_LIST FEATURES) + vcpkg_list(APPEND config_args "--enable-https") + else() + vcpkg_list(APPEND config_args "--disable-https") + endif() + vcpkg_configure_make( SOURCE_PATH "${SOURCE_PATH}" OPTIONS --disable-doc + --disable-nls --disable-examples --disable-curl - --disable-https - --with-gnutls=no + ${config_args} + OPTIONS_DEBUG --enable-asserts + OPTIONS_RELEASE --disable-asserts ) vcpkg_install_make() + vcpkg_fixup_pkgconfig() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") 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/libmicrohttpd/remove_pdb_install.patch b/ports/libmicrohttpd/remove_pdb_install.patch new file mode 100644 index 00000000000000..9b5e4eba9e9978 --- /dev/null +++ b/ports/libmicrohttpd/remove_pdb_install.patch @@ -0,0 +1,15 @@ +diff --git a/w32/common/libmicrohttpd-build-settings.props b/w32/common/libmicrohttpd-build-settings.props +index 97d84a87f..8ffcb19c4 100644 +--- a/w32/common/libmicrohttpd-build-settings.props ++++ b/w32/common/libmicrohttpd-build-settings.props +@@ -37,10 +37,6 @@ + + Ws2_32.lib + +- +- xcopy /F /I /Y "$(IntermediateOutputPath)$(TargetName).pdb" "$(OutputPath)" +- Copy .pdb to output directory +- + + + diff --git a/ports/libmicrohttpd/vcpkg.json b/ports/libmicrohttpd/vcpkg.json index d8a44ce57b11f7..1c1b2ab4b77a3c 100644 --- a/ports/libmicrohttpd/vcpkg.json +++ b/ports/libmicrohttpd/vcpkg.json @@ -1,14 +1,29 @@ { "name": "libmicrohttpd", - "version": "0.9.63", - "port-version": 6, + "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/", - "supports": "!(arm | uwp)", + "license": "LGPL-2.1-or-later", + "supports": "!((arm & windows) | uwp)", "dependencies": [ { "name": "gettext", "platform": "!windows" + }, + { + "name": "vcpkg-msbuild", + "host": true, + "platform": "windows & !mingw" + } + ], + "features": { + "https": { + "description": "Enable HTTPS protocol support", + "supports": "!windows | mingw", + "dependencies": [ + "libgnutls" + ] } - ] + } } 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/portfile.cmake b/ports/libmikmod/portfile.cmake index 17d19c755e2f2e..3959bb463d3a8f 100644 --- a/ports/libmikmod/portfile.cmake +++ b/ports/libmikmod/portfile.cmake @@ -15,9 +15,8 @@ else() set(ENABLE_STATIC OFF) endif() -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA # Disable this option if project cannot be built with Ninja +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DENABLE_DOC=OFF -DENABLE_THREADS=ON @@ -30,20 +29,20 @@ vcpkg_configure_cmake( -DENABLE_RAW=ON -DENABLE_STDOUT=ON -DENABLE_WAV=ON - -DOPENAL_INCLUDE_DIR=${CURRENT_INSTALLED_DIR}/include + -DOPENAL_INCLUDE_DIR="${CURRENT_INSTALLED_DIR}/include" -DENABLE_STATIC=${ENABLE_STATIC} OPTIONS_RELEASE -DENABLE_SIMD=ON OPTIONS_DEBUG -DENABLE_SIMD=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +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) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") endif() -file(INSTALL ${SOURCE_PATH}/COPYING.LESSER DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/COPYING.LESSER" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) vcpkg_fixup_pkgconfig() diff --git a/ports/libmikmod/vcpkg.json b/ports/libmikmod/vcpkg.json index 797bcbc03226ec..03bf5c26399a0b 100644 --- a/ports/libmikmod/vcpkg.json +++ b/ports/libmikmod/vcpkg.json @@ -1,10 +1,16 @@ { "name": "libmikmod", - "version-string": "3.3.11.1", - "port-version": 10, + "version": "3.3.11.1", + "port-version": 12, "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", + "supports": "!(osx | uwp | xbox)", "dependencies": [ - "openal-soft" + "openal-soft", + { + "name": "vcpkg-cmake", + "host": true + } ] } diff --git a/ports/libmodbus/portfile.cmake b/ports/libmodbus/portfile.cmake index a607f5a9ed6b8d..3e16315905f566 100644 --- a/ports/libmodbus/portfile.cmake +++ b/ports/libmodbus/portfile.cmake @@ -1,32 +1,31 @@ -vcpkg_fail_port_install(ON_TARGET "uwp") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO stephane/libmodbus - REF v3.1.6 - SHA512 9eaa395c75e1170e703e01f8c52c6e6e87efe4eaa22adfc3b51153fd5535d545aea35cf68e1aba29720a6c1dd13d9c60b6b08a5c8098dccd13ccfdc6944420a9 + REF "v${VERSION}" + SHA512 6a01da1f8b486e356ff44874f1479d9d121463958a5ed06e60d910328ccc9b2d431b4a1fd72861c5c645c97b5887a076b763ad6a9ae6b18402dd043ec525b1e2 HEAD_REF master PATCHES fix-static-linkage.patch ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt ${CMAKE_CURRENT_LIST_DIR}/config.h.cmake DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" "${CMAKE_CURRENT_LIST_DIR}/config.h.cmake" + DESTINATION "${SOURCE_PATH}" +) -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - PREFER_NINJA OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake) if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL "static") - vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/include/modbus.h "elif defined(LIBBUILD)" "elif 1") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/modbus.h" "elif defined(LIBBUILD)" "elif 1") endif() # Handle copyright -file(INSTALL ${SOURCE_PATH}/COPYING.LESSER DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING.LESSER") -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) \ No newline at end of file +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/libmodbus/vcpkg.json b/ports/libmodbus/vcpkg.json index cea78893150e31..1f383188a339e1 100644 --- a/ports/libmodbus/vcpkg.json +++ b/ports/libmodbus/vcpkg.json @@ -1,8 +1,18 @@ { "name": "libmodbus", - "version-string": "3.1.6", - "port-version": 1, + "version": "3.1.10", "description": "libmodbus is a free software library to send/receive data with a device which respects the Modbus protocol", "homepage": "https://github.com/stephane/libmodbus", - "supports": "!uwp" + "license": "LGPL-2.1-or-later", + "supports": "!uwp & !xbox", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/libmodman/portfile.cmake b/ports/libmodman/portfile.cmake index 35bedf90796dbc..82ef06cc851fc1 100644 --- a/ports/libmodman/portfile.cmake +++ b/ports/libmodman/portfile.cmake @@ -1,5 +1,3 @@ -vcpkg_fail_port_install(ON_TARGET "UWP") - # Enable static build in UNIX if (VCPKG_TARGET_IS_WINDOWS) vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) @@ -13,31 +11,32 @@ vcpkg_download_distfile(ARCHIVE SHA512 1fecc0fa3637c4aa86d114f5bc991605172d39183fa0f39d8c7858ef5d0d894152025bd426de4dd017a41372d800bf73f53b2328c57b77352a508e12792729fa ) -vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES tests BUILD_TESTING ) -vcpkg_extract_source_archive_ex( +vcpkg_extract_source_archive( + SOURCE_PATH ARCHIVE ${ARCHIVE} - OUT_SOURCE_PATH SOURCE_PATH PATCHES fix-install-path.patch fix-undefined-typeid.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${FEATURE_OPTIONS} ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/libmodman) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH share/libmodman) vcpkg_copy_pdbs() -file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake - ${CMAKE_CURRENT_LIST_DIR}/usage - DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" + "${CMAKE_CURRENT_LIST_DIR}/usage" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") + +vcpkg_fixup_pkgconfig() -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/libmodman/vcpkg.json b/ports/libmodman/vcpkg.json index a69e70e3b2059e..8d9ec11701df1d 100644 --- a/ports/libmodman/vcpkg.json +++ b/ports/libmodman/vcpkg.json @@ -1,9 +1,20 @@ { "name": "libmodman", - "version-string": "2.0.1", - "port-version": 3, + "version": "2.0.1", + "port-version": 5, "description": "a simple library for managing modules", "homepage": "https://code.google.com/p/libmodman", + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], "features": { "tests": { "description": "Build libmodman tests", 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 a7af03816114d3..5afdcc4ede1770 100644 --- a/ports/libmodplug/portfile.cmake +++ b/ports/libmodplug/portfile.cmake @@ -4,7 +4,7 @@ if (VCPKG_LIBRARY_LINKAGE STREQUAL static) set(STATIC_PATCH "001-automagically-define-modplug-static.patch") endif() -vcpkg_from_github(ARCHIVE +vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Konstanty/libmodplug REF ${MODPLUG_HASH} @@ -13,18 +13,23 @@ vcpkg_from_github(ARCHIVE ${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 ) -vcpkg_configure_cmake(SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA) +set(EXTRA_OPTIONS "-DCMAKE_CXX_STANDARD=11") -vcpkg_install_cmake() +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${EXTRA_OPTIONS} +) + +vcpkg_cmake_install() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") vcpkg_copy_pdbs() vcpkg_fixup_pkgconfig() -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/libmodplug/vcpkg.json b/ports/libmodplug/vcpkg.json index d5c841955434f3..3263fff7f7a94e 100644 --- a/ports/libmodplug/vcpkg.json +++ b/ports/libmodplug/vcpkg.json @@ -1,8 +1,15 @@ { "name": "libmodplug", - "version-string": "0.8.9.0", - "port-version": 9, + "version": "0.8.9.0", + "port-version": 14, "description": "The ModPlug mod file playing library.", "homepage": "https://github.com/Konstanty/libmodplug", - "supports": "!uwp" + "license": null, + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/libmorton/portfile.cmake b/ports/libmorton/portfile.cmake index b865731215750b..46e3dd457f2215 100644 --- a/ports/libmorton/portfile.cmake +++ b/ports/libmorton/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Forceflow/libmorton - REF v0.2.8 - SHA512 7497203573965337F1216DB729D3F6806278B8DDFF539E8D01EF83FB3EAB50D5FF90C965CF5EA3A76464CF6F279C000434D2111B37D3D368834F7EF20959E790 + REF "v${VERSION}" + SHA512 020d9ba97204b8c028a8700d7212821dd75b6dbe1b4a77776777d06ef29bcad75cdc4e830f211daf6250779cc81ed4842a0632f89a7b7017eb071869a3c938fa HEAD_REF master ) diff --git a/ports/libmorton/vcpkg.json b/ports/libmorton/vcpkg.json index 6ce97b43042a81..084c22d588738a 100644 --- a/ports/libmorton/vcpkg.json +++ b/ports/libmorton/vcpkg.json @@ -1,6 +1,6 @@ { "name": "libmorton", - "version": "0.2.8", + "version": "0.2.12", "description": "Header-only library for encoding/decoding Morton codes in/from 2D/3D coordinates", "dependencies": [ { 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 new file mode 100644 index 00000000000000..6c607d2d23f81b --- /dev/null +++ b/ports/libmount/portfile.cmake @@ -0,0 +1,52 @@ +vcpkg_download_distfile(ARCHIVE + 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 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() + + +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" +) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/README.licensing" "${SOURCE_PATH}/COPYING") diff --git a/ports/libmount/vcpkg.json b/ports/libmount/vcpkg.json new file mode 100644 index 00000000000000..de5c885e1affd3 --- /dev/null +++ b/ports/libmount/vcpkg.json @@ -0,0 +1,23 @@ +{ + "name": "libmount", + "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": null, + "supports": "linux", + "features": { + "nls": { + "description": "Enable native language support", + "dependencies": [ + { + "name": "gettext", + "host": true, + "features": [ + "tools" + ] + }, + "gettext-libintl" + ] + } + } +} diff --git a/ports/libmpeg2/portfile.cmake b/ports/libmpeg2/portfile.cmake index 3813e0d6e46bca..7ee4ef5a0e4fca 100644 --- a/ports/libmpeg2/portfile.cmake +++ b/ports/libmpeg2/portfile.cmake @@ -1,4 +1,3 @@ -vcpkg_fail_port_install(MESSAGE "${PORT} currently only supports Windows Desktop platform." ON_TARGET "Linux" "OSX" "uwp") vcpkg_check_linkage(ONLY_STATIC_LIBRARY) # There is archived version of releases available at https://github.com/janisozaur/libmpeg2 @@ -8,31 +7,30 @@ vcpkg_download_distfile(ARCHIVE SHA512 3648a2b3d7e2056d5adb328acd2fb983a1fa9a05ccb6f9388cc686c819445421811f42e8439418a0491a13080977f074a0d8bf8fa6bc101ff245ddea65a46fbc ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" PATCHES 0001-Add-naive-MSVC-support-to-sources.patch ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES tools TOOLS ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${FEATURE_OPTIONS} ) -vcpkg_install_cmake() +vcpkg_cmake_install() # # Handle copyright -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libmpeg2 RENAME copyright) +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") vcpkg_copy_pdbs() diff --git a/ports/libmpeg2/vcpkg.json b/ports/libmpeg2/vcpkg.json index 4936a91dbc792f..e83572e496358b 100644 --- a/ports/libmpeg2/vcpkg.json +++ b/ports/libmpeg2/vcpkg.json @@ -1,10 +1,16 @@ { "name": "libmpeg2", - "version-string": "0.5.1", - "port-version": 1, + "version": "0.5.1", + "port-version": 3, "description": "a free MPEG-2 video stream decoder", "homepage": "http://libmpeg2.sourceforge.net/", "supports": "!(linux | osx | uwp)", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ], "features": { "tools": { "description": "Build tools provided with libmpeg2" diff --git a/ports/libmspack/portfile.cmake b/ports/libmspack/portfile.cmake index f4f19e7c3736e8..07d318fd800c92 100644 --- a/ports/libmspack/portfile.cmake +++ b/ports/libmspack/portfile.cmake @@ -1,32 +1,31 @@ set(LIB_NAME libmspack) -set(LIB_VERSION 0.10.1alpha) +set(LIB_VERSION 0.11alpha) set(LIB_FILENAME ${LIB_NAME}-${LIB_VERSION}.tar.gz) vcpkg_download_distfile(ARCHIVE URLS "https://www.cabextract.org.uk/libmspack/${LIB_FILENAME}" FILENAME "${LIB_FILENAME}" - SHA512 a7b5f7caa49190c5021f3e768b92f2e51cc0ce685c9ab6ed6fb36de885c73231b58d47a8a3b5c5aa5c9ac56c25c500eb683d84dbf11f09f97f6cb4fff5adc245 + SHA512 40c487e5b4e2f63a6cada26d29db51f605e8c29525a1cb088566d02cf2b1cc9dba263f80e2101d7f8e9d69cf7684a15bcaf791fb4891ad013a56afc7256dfa62 ) -vcpkg_extract_source_archive_ex( - ARCHIVE ${ARCHIVE} - OUT_SOURCE_PATH SOURCE_PATH +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 DESTINATION ${SOURCE_PATH}) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/libmspack.def DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") +file(COPY "${CMAKE_CURRENT_LIST_DIR}/config.h" DESTINATION "${SOURCE_PATH}") +file(COPY "${CMAKE_CURRENT_LIST_DIR}/libmspack.def" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") # License and man -file(INSTALL ${SOURCE_PATH}/COPYING.LIB DESTINATION ${CURRENT_PACKAGES_DIR}/share/${LIB_NAME} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/COPYING.LIB" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) vcpkg_copy_pdbs() diff --git a/ports/libmspack/vcpkg.json b/ports/libmspack/vcpkg.json index 41ed734e0fdc7e..468378b5b425f0 100644 --- a/ports/libmspack/vcpkg.json +++ b/ports/libmspack/vcpkg.json @@ -1,7 +1,12 @@ { "name": "libmspack", - "version-string": "0.10.1", - "port-version": 4, + "version": "0.11", "description": "libmspack is a portable library for some loosely related Microsoft compression formats.", - "homepage": "https://www.cabextract.org.uk/libmspack" + "homepage": "https://www.cabextract.org.uk/libmspack", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/libmt32emu/portfile.cmake b/ports/libmt32emu/portfile.cmake index 706307693acd88..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 libmt32emu_2_5_3 - SHA512 c801e22e861898281316109533ca6264f5a9cf778d4f0bb14b49bb6d04d53b7e60cd8320d5b29a63534f6c470b4feb67c881e86c49b7860a98639ce01b99debf + REF libmt32emu_2_7_1 + SHA512 369d1c5f16b37f3d8544ad30a30c3aa9d0796f67fcf5988e789958bff14bba119f7c5fd4c43816eb369a14b56f22f0c7eb3016ff838cd36d1d6f22ed84a2e8b9 HEAD_REF master ) @@ -15,6 +15,11 @@ vcpkg_cmake_configure( ) vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(PACKAGE_NAME MT32Emu CONFIG_PATH lib/cmake/MT32Emu) + +vcpkg_fixup_pkgconfig() + vcpkg_copy_pdbs() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") @@ -23,5 +28,3 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/doc") file(INSTALL "${SOURCE_PATH}/mt32emu/COPYING.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) - -vcpkg_fixup_pkgconfig() diff --git a/ports/libmt32emu/vcpkg.json b/ports/libmt32emu/vcpkg.json index 79ead6f26c5b85..ae3ea2bf0d13a5 100644 --- a/ports/libmt32emu/vcpkg.json +++ b/ports/libmt32emu/vcpkg.json @@ -1,9 +1,9 @@ { "name": "libmt32emu", - "version": "2.5.3", - "port-version": 1, + "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": [ { "name": "vcpkg-cmake", diff --git a/ports/libmupdf/CMakeLists.txt b/ports/libmupdf/CMakeLists.txt index 95ec646f8bd03f..9e3b5030d53db0 100644 --- a/ports/libmupdf/CMakeLists.txt +++ b/ports/libmupdf/CMakeLists.txt @@ -1,5 +1,7 @@ cmake_minimum_required(VERSION 3.9) -project(libmupdf C) +project(libmupdf) + +option(ENABLE_OCR "Build with OCR" OFF) set(CMAKE_DEBUG_POSTFIX d) @@ -25,11 +27,20 @@ find_package(ZLIB REQUIRED) find_package(OpenJPEG CONFIG REQUIRED) find_library(JBIG2DEC_LIB NAMES jbig2decd jbig2dec) -file(GLOB_RECURSE SOURCES "source/*.c" "generated/*.c") +if (ENABLE_OCR) + find_package(Leptonica CONFIG REQUIRED) + find_package(Tesseract CONFIG REQUIRED) +endif() + +file(GLOB_RECURSE SOURCES "source/*.c" "generated/*.c" "source/*.h") list(FILTER SOURCES EXCLUDE REGEX "source/tools/[a-z]*\\.c$") list(FILTER SOURCES EXCLUDE REGEX "source/tests/.*.c$") list(FILTER SOURCES EXCLUDE REGEX "source/fitz/output-docx.c") +if (ENABLE_OCR) + list(APPEND SOURCES "source/fitz/tessocr.cpp") +endif() + add_library(libmupdf ${SOURCES}) if(WIN32) @@ -37,6 +48,14 @@ if(WIN32) else() target_compile_definitions(libmupdf PRIVATE -DHAVE_PTHREAD=1 -DSHARE_JPEG -DFZ_ENABLE_JS=0 -DFZ_ENABLE_ICC=0 -DMEMENTO_MUPDF_HACKS -DFZ_ENABLE_DOCX_OUTPUT=0 -DFZ_ENABLE_ODT_OUTPUT=0) endif() + + +if (ENABLE_OCR) + target_compile_definitions(libmupdf PRIVATE -DHAVE_TESSERACT=1 -DHAVE_LEPTONICA=1) +else() + target_compile_definitions(libmupdf PRIVATE -DOCR_DISABLED=1) +endif() + target_include_directories(libmupdf PUBLIC include @@ -45,6 +64,14 @@ target_include_directories(libmupdf ${JPEG_INCLUDE_DIR} ${HARFBUZZ_INCLUDE} ) + +if (ENABLE_OCR) +target_include_directories(libmupdf + PRIVATE + ${Leptonica_INCLUDE_DIRS} +) +endif() + target_link_libraries(libmupdf PRIVATE openjp2 freetype 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/portfile.cmake b/ports/libmupdf/portfile.cmake index 88e7b7e375b26d..4e176d724cac17 100644 --- a/ports/libmupdf/portfile.cmake +++ b/ports/libmupdf/portfile.cmake @@ -1,25 +1,29 @@ -vcpkg_fail_port_install(ON_TARGET "osx") - vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ArtifexSoftware/mupdf - REF 61b63d734a7b9df618f6b45dda2466aed442f7f0 # 1.19.0-rc2 - SHA512 16661c012e18ac72b24c46caf5c02515c29a05e0a8dcf95076eff3a1f2e87c225245037480ed37068858fe6e04ff4a404f69877599b208ab9265d054ec117820 + REF "${VERSION}" + SHA512 b3a3e9ba000d920641647b936c01bf88d6df4f3cd5635240fc50402e7ed1663015deb5de09f51c698181cb33ea4c76441a5bdbace81d6e472275afd02d0f84d7 HEAD_REF master PATCHES dont-generate-extract-3rd-party-things.patch - use-if-instead-of-ifdef-in-writer.patch ) file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + ocr ENABLE_OCR +) + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" DISABLE_PARALLEL_CONFIGURE OPTIONS -DBUILD_EXAMPLES=OFF + ${FEATURE_OPTIONS} ) vcpkg_cmake_install() @@ -28,4 +32,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/use-if-instead-of-ifdef-in-writer.patch b/ports/libmupdf/use-if-instead-of-ifdef-in-writer.patch deleted file mode 100644 index 25dff596006d17..00000000000000 --- a/ports/libmupdf/use-if-instead-of-ifdef-in-writer.patch +++ /dev/null @@ -1,39 +0,0 @@ ---- a/source/fitz/writer.c -+++ b/source/fitz/writer.c -@@ -169,7 +169,7 @@ fz_new_document_writer(fz_context *ctx, const char *path, const char *explicit_f - format = strrchr(path, '.'); - while (format) - { --#ifdef FZ_ENABLE_OCR_OUTPUT -+#if FZ_ENABLE_OCR_OUTPUT - if (is_extension(format, "ocr")) - return fz_new_pdfocr_writer(ctx, path, options); - #endif -@@ -219,11 +219,11 @@ fz_new_document_writer(fz_context *ctx, const char *path, const char *explicit_f - if (is_extension(format, "stext.json")) - return fz_new_text_writer(ctx, "stext.json", path, options); - --#ifdef FZ_ENABLE_ODT_OUTPUT -+#if FZ_ENABLE_ODT_OUTPUT - if (is_extension(format, "odt")) - return fz_new_odt_writer(ctx, path, options); - #endif --#ifdef FZ_ENABLE_DOCX_OUTPUT -+#if FZ_ENABLE_DOCX_OUTPUT - if (is_extension(format, "docx")) - return fz_new_docx_writer(ctx, path, options); - #endif -@@ -267,11 +267,11 @@ fz_new_document_writer_with_output(fz_context *ctx, fz_output *out, const char * - if (is_extension(format, "stext.json")) - return fz_new_text_writer_with_output(ctx, "stext.json", out, options); - --#ifdef FZ_ENABLE_ODT_OUTPUT -+#if FZ_ENABLE_ODT_OUTPUT - if (is_extension(format, "odt")) - return fz_new_odt_writer_with_output(ctx, out, options); - #endif --#ifdef FZ_ENABLE_DOCX_OUTPUT -+#if FZ_ENABLE_DOCX_OUTPUT - if (is_extension(format, "docx")) - return fz_new_docx_writer_with_output(ctx, out, options); - #endif diff --git a/ports/libmupdf/vcpkg.json b/ports/libmupdf/vcpkg.json index af307e1df2a62b..0f9af2d1cb5b81 100644 --- a/ports/libmupdf/vcpkg.json +++ b/ports/libmupdf/vcpkg.json @@ -1,8 +1,9 @@ { "name": "libmupdf", - "version-string": "1.19.0-rc2", + "version": "1.24.10", "description": "a lightweight PDF, XPS, and E-book library", "homepage": "https://github.com/ArtifexSoftware/mupdf", + "license": "AGPL-3.0-only", "supports": "!osx", "dependencies": [ "curl", @@ -18,5 +19,14 @@ "host": true }, "zlib" - ] + ], + "features": { + "ocr": { + "description": "Enable OCR support", + "dependencies": [ + "leptonica", + "tesseract" + ] + } + } } 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/004-added-limits-include.patch b/ports/libmysql/004-added-limits-include.patch deleted file mode 100644 index d02641ad765328..00000000000000 --- a/ports/libmysql/004-added-limits-include.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/sql-common/sql_string.cc b/sql-common/sql_string.cc -index 40435729..8b6ee827 100644 ---- a/sql-common/sql_string.cc -+++ b/sql-common/sql_string.cc -@@ -23,6 +23,7 @@ - #include "sql_string.h" - - #include -+#include - - #include "my_dbug.h" - #include "my_macros.h" 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 e52dbb24da71fd..00000000000000 --- a/ports/libmysql/export-cmake-targets.patch +++ /dev/null @@ -1,123 +0,0 @@ -diff --git a/cmake/install_macros.cmake b/cmake/install_macros.cmake -index c3a05ec..0d44ef2 100644 ---- a/cmake/install_macros.cmake -+++ b/cmake/install_macros.cmake -@@ -100,7 +100,7 @@ ENDFUNCTION() - - FUNCTION(MYSQL_INSTALL_TARGETS) - MYSQL_PARSE_ARGUMENTS(ARG -- "DESTINATION;COMPONENT" -+ "DESTINATION;COMPONENT;EXPORT" - "" - ${ARGN} - ) -@@ -115,7 +115,20 @@ FUNCTION(MYSQL_INSTALL_TARGETS) - IF(ARG_COMPONENT) - SET(COMP COMPONENT ${ARG_COMPONENT}) - ENDIF() -- INSTALL(TARGETS ${TARGETS} DESTINATION ${ARG_DESTINATION} ${COMP}) -+ IF (ARG_EXPORT) -+ FILE(WRITE "${CMAKE_CURRENT_BINARY_DIR}/${ARG_EXPORT}-config.cmake" -+"include(CMakeFindDependencyMacro) -+find_dependency(ZLIB) -+find_dependency(OpenSSL) -+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 ${TARGETS} ${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("${TARGETS}") - SET(INSTALL_LOCATION) -diff --git a/cmake/libutils.cmake b/cmake/libutils.cmake -index 5481fae..3fa58da 100644 ---- a/cmake/libutils.cmake -+++ b/cmake/libutils.cmake -@@ -237,7 +237,7 @@ MACRO(MERGE_LIBRARIES_SHARED) - IF(ARG_COMPONENT) - SET(COMP COMPONENT ${ARG_COMPONENT}) - ENDIF() -- MYSQL_INSTALL_TARGETS(${TARGET} DESTINATION "${INSTALL_LIBDIR}" ${COMP}) -+ MYSQL_INSTALL_TARGETS(${TARGET} EXPORT unofficial-libmysql DESTINATION "${INSTALL_LIBDIR}" ${COMP}) - ENDIF() - ENDMACRO() - -@@ -372,7 +372,7 @@ MACRO(MERGE_CONVENIENCE_LIBRARIES) - SET(COMP COMPONENT ${ARG_COMPONENT}) - ENDIF() - IF(INSTALL_STATIC_LIBRARIES) -- MYSQL_INSTALL_TARGETS(${TARGET} DESTINATION "${INSTALL_LIBDIR}" ${COMP}) -+ MYSQL_INSTALL_TARGETS(${TARGET} EXPORT unofficial-libmysql DESTINATION "${INSTALL_LIBDIR}" ${COMP}) - ENDIF() - ENDIF() - ENDMACRO() -diff --git a/libmysql/CMakeLists.txt b/libmysql/CMakeLists.txt -index 605288d..c5d0f5d 100644 ---- a/libmysql/CMakeLists.txt -+++ b/libmysql/CMakeLists.txt -@@ -245,8 +245,16 @@ ENDIF() - # LDAP authentication SASL client plugin - 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() -+ - # Merge several convenience libraries into one big mysqlclient --MERGE_CONVENIENCE_LIBRARIES(mysqlclient ${LIBS_TO_MERGE} COMPONENT Development) -+MERGE_CONVENIENCE_LIBRARIES(mysqlclient ${LIBS_TO_MERGE} ${INSTALL_STATIC} COMPONENT Development) - TARGET_LINK_LIBRARIES(mysqlclient PRIVATE ${LIBS_TO_LINK}) - - # Visual Studio users need debug static library for debug projects -@@ -283,6 +291,7 @@ ENDIF() - # Merge several convenience libraries into one big mysqlclient - # and link them together into shared library. - MERGE_LIBRARIES_SHARED(libmysql ${LIBS_TO_MERGE} -+ ${INSTALL_SHARED} - EXPORTS - ${CLIENT_API_FUNCTIONS} - ${CLIENT_API_FUNCTIONS_UNDOCUMENTED} -@@ -370,6 +379,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} -@@ -398,3 +408,4 @@ ADD_CUSTOM_COMMAND(TARGET libmysql_api_test POST_BUILD - 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 new file mode 100644 index 00000000000000..a3bda5b0a991ec --- /dev/null +++ b/ports/libmysql/fix_dup_symbols.patch @@ -0,0 +1,20 @@ +diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt +index d54f4a6f..cd2132c9 100644 +--- a/client/CMakeLists.txt ++++ b/client/CMakeLists.txt +@@ -44,7 +44,6 @@ MYSQL_ADD_EXECUTABLE(mysql + pattern_matcher.cc + readline.cc + client_query_attributes.cc +- multi_factor_passwordopt-vars.cc + ${CMAKE_CURRENT_SOURCE_DIR}/common/user_registration.cc + LINK_LIBRARIES mysqlclient client_base ${EDITLINE_LIBRARY} + ) +@@ -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 + ) + + # The client version of log_event.cc has false positives. diff --git a/ports/libmysql/ignore-boost-version.patch b/ports/libmysql/ignore-boost-version.patch deleted file mode 100644 index 99cee245012ab5..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 592a67f..202a770 100644 ---- a/cmake/boost.cmake -+++ b/cmake/boost.cmake -@@ -297,7 +297,7 @@ IF(NOT BOOST_MAJOR_VERSION EQUAL 10) - COULD_NOT_FIND_BOOST() - ENDIF() - --IF(NOT BOOST_MINOR_VERSION EQUAL 70) -+IF(NOT BOOST_MINOR_VERSION EQUAL 70 AND NOT IGNORE_BOOST_VERSION) - MESSAGE(WARNING "Boost minor version found is ${BOOST_MINOR_VERSION} " - "we need 70" - ) 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 2a98b683dcb8a8..f25c1e0066e3a4 100644 --- a/ports/libmysql/portfile.cmake +++ b/ports/libmysql/portfile.cmake @@ -1,35 +1,29 @@ -vcpkg_fail_port_install(ON_TARGET "UWP" ON_ARCH "x86") - if (EXISTS "${CURRENT_INSTALLED_DIR}/include/mysql/mysql.h") message(FATAL_ERROR "FATAL ERROR: ${PORT} and libmariadb are incompatible.") endif() -if (VCPKG_TARGET_IS_LINUX) - message(WARNING "${PORT} needs ncurses on LINUX, please install ncurses first.\nOn Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel.") -endif() - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO mysql/mysql-server - REF 7d10c82196c8e45554f27c00681474a9fb86d137 # 8.0.20 - SHA512 9f5e8cc254ea2a4cf76313287c7bb6fc693400810464dd2901e67d51ecb27f8916009464fd8aed8365c3038314b845b3d517db6e82ae5c7908612f0b3b72335f + REF "mysql-${VERSION}" + SHA512 f0591d263de557877a618b04871d332dc227e26c7e9b61994093dc9af29971ea6332761de5391bb8da955bd58b3b98da90722bafdbf86f36764995a70f94ae62 HEAD_REF master PATCHES - ignore-boost-version.patch - system-libs.patch - rename-version.patch - export-cmake-targets.patch - 004-added-limits-include.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 +set(FORCE_UNSUPPORTED_COMPILER "") if(VCPKG_TARGET_IS_WINDOWS) set(FORCE_UNSUPPORTED_COMPILER 1) endif() @@ -37,44 +31,78 @@ endif() string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC_LIBS) string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" STATIC_CRT_LINKAGE) -vcpkg_configure_cmake( +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}" - PREFER_NINJA 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 - -DENABLE_DOWNLOADS=OFF - -DWITH_NDB_TEST=OFF - -DWITH_NDB_NODEJS_DEFAULT=OFF - -DWITH_NDBAPI_EXAMPLES=OFF - -DMYSQLX_ADDITIONAL_TESTS_ENABLE=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} + MAYBE_UNUSED_VARIABLES + BUNDLE_RUNTIME_LIBRARIES # only on windows + LINK_STATIC_RUNTIME_LIBRARIES # only on windows + WIX_DIR # only on windows + WITH_BUILD_ID # only on windows ) -vcpkg_install_cmake(ADD_BIN_TO_PATH) +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 + mysql_migrate_keyring mysql_secure_installation mysql_ssl_rsa_setup mysqladmin @@ -89,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 @@ -102,45 +134,22 @@ endif() vcpkg_copy_tools(TOOL_NAMES ${MYSQL_TOOLS} AUTO_CLEAN) -file(RENAME "${CURRENT_PACKAGES_DIR}/share" "${CURRENT_PACKAGES_DIR}/libmysql") -file(RENAME "${CURRENT_PACKAGES_DIR}/debug/share" "${CURRENT_PACKAGES_DIR}/debug/libmysql") -file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/share") -file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/share") -file(RENAME "${CURRENT_PACKAGES_DIR}/libmysql" "${CURRENT_PACKAGES_DIR}/share/libmysql") -file(RENAME "${CURRENT_PACKAGES_DIR}/debug/libmysql" "${CURRENT_PACKAGES_DIR}/debug/share/libmysql") - -vcpkg_fixup_cmake_targets(CONFIG_PATH share/libmysql/unofficial-libmysql TARGET_PATH share/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}/docs" - "${CURRENT_PACKAGES_DIR}/debug/docs" "${CURRENT_PACKAGES_DIR}/lib/debug" - "${CURRENT_PACKAGES_DIR}/lib/plugin" - "${CURRENT_PACKAGES_DIR}/lib/plugin/debug" ) -## remove misc files -file(REMOVE - "${CURRENT_PACKAGES_DIR}/LICENSE" - "${CURRENT_PACKAGES_DIR}/README" - "${CURRENT_PACKAGES_DIR}/debug/LICENSE" - "${CURRENT_PACKAGES_DIR}/debug/README" -) - -file(READ "${CURRENT_PACKAGES_DIR}/include/mysql/mysql_com.h" _contents) -string(REPLACE "#include " "#include \"mysql/udf_registration_types.h\"" _contents "${_contents}") -file(WRITE "${CURRENT_PACKAGES_DIR}/include/mysql/mysql_com.h" "${_contents}") +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") + 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 -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +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/rename-version.patch b/ports/libmysql/rename-version.patch deleted file mode 100644 index 15598382570e36..00000000000000 --- a/ports/libmysql/rename-version.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/VERSION b/VERSION.txt -similarity index 100% -rename from VERSION -rename to VERSION.txt -diff --git a/cmake/mysql_version.cmake b/cmake/mysql_version.cmake -index bed6e9f02e2..a924ef09bac 100644 ---- a/cmake/mysql_version.cmake -+++ b/cmake/mysql_version.cmake -@@ -30,7 +30,7 @@ SET(PROTOCOL_VERSION "10") - - # Generate "something" to trigger cmake rerun when VERSION changes - CONFIGURE_FILE( -- ${CMAKE_SOURCE_DIR}/VERSION -+ ${CMAKE_SOURCE_DIR}/VERSION.txt - ${CMAKE_BINARY_DIR}/VERSION.dep - ) - -@@ -38,7 +38,7 @@ CONFIGURE_FILE( - - MACRO(MYSQL_GET_CONFIG_VALUE keyword var) - IF(NOT ${var}) -- FILE (STRINGS ${CMAKE_SOURCE_DIR}/VERSION str REGEX "^[ ]*${keyword}=") -+ FILE (STRINGS ${CMAKE_SOURCE_DIR}/VERSION.txt str REGEX "^[ ]*${keyword}=") - IF(str) - STRING(REPLACE "${keyword}=" "" str ${str}) - STRING(REGEX REPLACE "[ ].*" "" str "${str}") diff --git a/ports/libmysql/system-libs.patch b/ports/libmysql/system-libs.patch deleted file mode 100644 index 547573fc58e7ad..00000000000000 --- a/ports/libmysql/system-libs.patch +++ /dev/null @@ -1,149 +0,0 @@ -diff --git a/cmake/icu.cmake b/cmake/icu.cmake -index fde3a75..9f694b9 100644 ---- a/cmake/icu.cmake -+++ b/cmake/icu.cmake -@@ -38,49 +38,11 @@ - # install_root is either 'system' or is assumed to be a path. - # - MACRO (FIND_ICU install_root) -- IF("${install_root}" STREQUAL "system") -- SET(EXTRA_FIND_LIB_ARGS) -- SET(EXTRA_FIND_INC_ARGS) -- ELSE() -- SET(EXTRA_FIND_LIB_ARGS HINTS "${install_root}" -- PATH_SUFFIXES "lib" "lib64" NO_DEFAULT_PATH) -- SET(EXTRA_FIND_INC_ARGS HINTS "${install_root}" -- PATH_SUFFIXES "include" NO_DEFAULT_PATH) -- ENDIF() -- -- FIND_PATH(ICU_INCLUDE_DIR NAMES unicode/regex.h ${EXTRA_FIND_INC_ARGS}) -- IF (NOT ICU_INCLUDE_DIR) -- MESSAGE(FATAL_ERROR "Cannot find ICU regular expression headers") -- ENDIF() -- -- IF(WIN32) -- SET(ICU_LIBS icuuc icuio icudt icuin) -- ELSE() -- SET(ICU_LIBS icuuc icuio icudata icui18n) -- ENDIF() -- -- SET(ICU_SYSTEM_LIBRARIES) -- FOREACH(ICU_LIB ${ICU_LIBS}) -- UNSET(ICU_LIB_PATH CACHE) -- FIND_LIBRARY(ICU_LIB_PATH NAMES ${ICU_LIB} ${EXTRA_FIND_LIB_ARGS}) -- IF(NOT ICU_LIB_PATH) -- MESSAGE(FATAL_ERROR "Cannot find the ICU library ${ICU_LIB}") -- ENDIF() -- LIST(APPEND ICU_SYSTEM_LIBRARIES ${ICU_LIB_PATH}) -- ENDFOREACH() -- -- # To do: If we include the path in ICU_INCLUDE_DIR, it leads to GUnit -- # picking up the wrong regex.h header. And it looks like we don't need it; -- # at least on Linux, the header gets installed in an OS path anyway. -- IF(NOT "${install_root}" STREQUAL "system") -- SET(ICU_INCLUDE_DIRS ${ICU_INCLUDE_DIR}) -- ENDIF() -- -- SET(ICU_LIBRARIES ${ICU_SYSTEM_LIBRARIES}) -- -- # Needed for version information. -- SET(ICU_COMMON_DIR ${ICU_INCLUDE_DIR}) - -+ 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 (MYSQL_USE_BUNDLED_ICU) -diff --git a/cmake/libutils.cmake b/cmake/libutils.cmake -index 3fa58da..88b53e7 100644 ---- a/cmake/libutils.cmake -+++ b/cmake/libutils.cmake -@@ -350,12 +350,7 @@ MACRO(MERGE_CONVENIENCE_LIBRARIES) - # 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() -- SET_TARGET_PROPERTIES(${TARGET} -- PROPERTIES STATIC_LIBRARY_FLAGS "${LINKER_EXTRA_FLAGS}") -+ TARGET_LINK_LIBRARIES(${TARGET} PRIVATE ${SSL_LIBRARIES}) - ENDIF() - - IF(OSLIBS) -diff --git a/cmake/lz4.cmake b/cmake/lz4.cmake -index 9aad130..68cbaba 100644 ---- a/cmake/lz4.cmake -+++ b/cmake/lz4.cmake -@@ -25,7 +25,7 @@ - - MACRO (FIND_SYSTEM_LZ4) - FIND_PATH(PATH_TO_LZ4 NAMES lz4frame.h) -- FIND_LIBRARY(LZ4_SYSTEM_LIBRARY NAMES lz4) -+ FIND_LIBRARY(LZ4_SYSTEM_LIBRARY NAMES lz4d lz4) - IF (PATH_TO_LZ4 AND LZ4_SYSTEM_LIBRARY) - SET(SYSTEM_LZ4_FOUND 1) - INCLUDE_DIRECTORIES(SYSTEM ${PATH_TO_LZ4}) -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,20 @@ 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) -+ if(NOT WIN32) -+ find_package(Threads REQUIRED) -+ list(APPEND SSL_LIBRARIES Threads::Threads) -+ endif() -+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/cmake/zlib.cmake b/cmake/zlib.cmake -index 26c56fe..65bebb4 100644 ---- a/cmake/zlib.cmake -+++ b/cmake/zlib.cmake -@@ -51,28 +51,7 @@ MACRO (MYSQL_CHECK_ZLIB_WITH_COMPRESS) - IF(WITH_ZLIB STREQUAL "bundled") - MYSQL_USE_BUNDLED_ZLIB() - ELSE() -- SET(ZLIB_FIND_QUIETLY TRUE) -- INCLUDE(FindZLIB) -- IF(ZLIB_FOUND) -- INCLUDE(CheckFunctionExists) -- SET(SAVE_CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES}) -- SET(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} z) -- CHECK_FUNCTION_EXISTS(crc32 HAVE_CRC32) -- CHECK_FUNCTION_EXISTS(compressBound HAVE_COMPRESSBOUND) -- CHECK_FUNCTION_EXISTS(deflateBound HAVE_DEFLATEBOUND) -- SET(CMAKE_REQUIRED_LIBRARIES ${SAVE_CMAKE_REQUIRED_LIBRARIES}) -- IF(HAVE_CRC32 AND HAVE_COMPRESSBOUND AND HAVE_DEFLATEBOUND) -- SET(ZLIB_LIBRARY ${ZLIB_LIBRARIES} CACHE INTERNAL "System zlib library") -- SET(WITH_ZLIB "system" CACHE STRING -- "Which zlib to use (possible values are 'bundled' or 'system')") -- SET(ZLIB_SOURCES "") -- ELSE() -- SET(ZLIB_FOUND FALSE CACHE INTERNAL "Zlib found but not usable") -- MESSAGE(STATUS "system zlib found but not usable") -- ENDIF() -- ENDIF() -- IF(NOT ZLIB_FOUND) -- MYSQL_USE_BUNDLED_ZLIB() -- ENDIF() -+ find_package(ZLIB REQUIRED) -+ SET(ZLIB_LIBRARY ZLIB::ZLIB CACHE INTERNAL "System zlib library") - ENDIF() - ENDMACRO() 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 cd230360b41c3d..cafaecce8832e2 100644 --- a/ports/libmysql/vcpkg.json +++ b/ports/libmysql/vcpkg.json @@ -1,20 +1,36 @@ { "name": "libmysql", - "version": "8.0.20", - "port-version": 3, + "version": "8.0.40", "description": "A MySQL client library for C development", "homepage": "https://github.com/mysql/mysql-server", - "supports": "!(windows & x86) & !uwp", + "license": "GPL-2.0-or-later", + "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", - "zlib" + "rapidjson", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "zlib", + "zstd" ] } diff --git a/ports/libnice-gst/portfile.cmake b/ports/libnice-gst/portfile.cmake new file mode 100644 index 00000000000000..71bae91667d2be --- /dev/null +++ b/ports/libnice-gst/portfile.cmake @@ -0,0 +1,94 @@ +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.freedesktop.org + OUT_SOURCE_PATH SOURCE_PATH + REPO libnice/libnice + REF 0.1.22 + SHA512 545c759a827e039d0aed262a4ec31b17610f7e67d93389c939763ed3d99530a4a6c3d13864ff05a2011fb3c3847ce3380a988e554de0f92b1348ebb76f5e3da4 + HEAD_REF master + PATCHES + skip_libnice.patch +) + +set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) + +vcpkg_configure_meson( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -Dgtk_doc=disabled #Enable generating the API reference (depends on GTK-Doc) + -Dintrospection=disabled #Enable GObject Introspection (depends on GObject)' + -Dtests=disabled + -Dexamples=disabled + -Dgstreamer=enabled + -Dcrypto-library=openssl + ADDITIONAL_BINARIES glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal' + glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums' +) + +# Could be features: +# option('gupnp', type: 'feature', value: 'auto', + # description: 'Enable or disable GUPnP IGD support') +# option('ignored-network-interface-prefix', type: 'array', value: ['docker', 'veth', 'virbr', 'vnet'], + # description: 'Ignore network interfaces whose name starts with a string from this list in the ICE connection check algorithm. For example, "virbr" to ignore virtual bridge interfaces added by virtd, which do not help in finding connectivity.') +# option('crypto-library', type: 'combo', choices : ['auto', 'gnutls', 'openssl'], value : 'auto') + +vcpkg_install_meson() + +vcpkg_copy_pdbs() + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + # Move plugin pkg-config file + file(COPY "${CURRENT_PACKAGES_DIR}/lib/gstreamer-1.0/pkgconfig/gstnice.pc" + DESTINATION "${CURRENT_PACKAGES_DIR}/lib/pkgconfig") + file(COPY "${CURRENT_PACKAGES_DIR}/debug/lib/gstreamer-1.0/pkgconfig/gstnice.pc" + DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/gstreamer-1.0/pkgconfig/" + "${CURRENT_PACKAGES_DIR}/lib/gstreamer-1.0/pkgconfig/") +endif() + +vcpkg_fixup_pkgconfig() + +vcpkg_install_copyright( + FILE_LIST + "${SOURCE_PATH}/COPYING" + "${SOURCE_PATH}/COPYING.LGPL" + "${SOURCE_PATH}/COPYING.MPL" +) + +set(USAGE_FILE "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage") +file(WRITE "${USAGE_FILE}" "${PORT} usage:\n\n") + +if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + file(APPEND "${USAGE_FILE}" "\tMake sure one of the following paths is added to the 'GST_PLUGIN_PATH' environment variable\n") + file(APPEND "${USAGE_FILE}" "\tFor more information on GStreamer environment variables see https://gstreamer.freedesktop.org/documentation/gstreamer/running.html?gi-language=c#environment-variables\n") + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + 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 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") + endif() + if(NOT VCPKG_TARGET_IS_WINDOWS) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib") + endif() + + file(APPEND "${USAGE_FILE}" "\t\t* '/${TARGET_TRIPLET}/debug/plugins/gstreamer/'\n") + endif() + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + 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 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") + endif() + if(NOT VCPKG_TARGET_IS_WINDOWS) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") + endif() + + file(APPEND "${USAGE_FILE}" "\t\t* '/${TARGET_TRIPLET}/plugins/gstreamer/'\n") + endif() +else() + file(APPEND "${USAGE_FILE}" "\tRegister static plugin with gst_plugin_register_static()\n") + file(APPEND "${USAGE_FILE}" "\thttps://gstreamer.freedesktop.org/documentation/application-development/appendix/compiling.html#embedding-static-elements-in-your-application\n") +endif() diff --git a/ports/libnice-gst/skip_libnice.patch b/ports/libnice-gst/skip_libnice.patch new file mode 100644 index 00000000000000..19e917740d8335 --- /dev/null +++ b/ports/libnice-gst/skip_libnice.patch @@ -0,0 +1,29 @@ +diff --git a/meson.build b/meson.build +index badce49..5641673 100644 +--- a/meson.build ++++ b/meson.build +@@ -283,7 +283,10 @@ libm = cc.find_library('m', required: false) + + nice_incs = include_directories('.', 'agent', 'random', 'socket', 'stun') + +-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')) + +-subdir('agent') +-subdir('stun') +-subdir('socket') +-subdir('random') +-subdir('nice') +- + if gst_dep.found() + subdir('gst') + endif diff --git a/ports/libnice-gst/vcpkg.json b/ports/libnice-gst/vcpkg.json new file mode 100644 index 00000000000000..03befc2ea543a3 --- /dev/null +++ b/ports/libnice-gst/vcpkg.json @@ -0,0 +1,16 @@ +{ + "name": "libnice-gst", + "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", + { + "name": "vcpkg-tool-meson", + "host": true + } + ] +} diff --git a/ports/libnice/CMakeLists.txt b/ports/libnice/CMakeLists.txt deleted file mode 100644 index 0ca7cdafaa5d13..00000000000000 --- a/ports/libnice/CMakeLists.txt +++ /dev/null @@ -1,159 +0,0 @@ -cmake_minimum_required(VERSION 3.19) -project(libnice - LANGUAGES C - VERSION 0.1.15) -SET (this_target libnice) - -if (WIN32) - add_definitions( - -D_CRT_SECURE_NO_WARNINGS - -D_SCL_SECURE_NO_WARNINGS - -DHAVE_OPENSSL - -DPACKAGE_STRING="${PROJECT_VERSION}") -else() - add_definitions( - -DHAVE_OPENSSL - -DPACKAGE_STRING="${PROJECT_VERSION}" - -DHAVE_NETDB_H=1) -endif() - -configure_file(${CMAKE_SOURCE_DIR}/win32/vs9/config.h ${CMAKE_SOURCE_DIR}/config.h COPYONLY) -configure_file(${CMAKE_SOURCE_DIR}/win32/vs9/libnice.def ${CMAKE_SOURCE_DIR}/libnice.def COPYONLY) - -find_package(PkgConfig REQUIRED) -pkg_check_modules(GLIB2 glib-2.0 gobject-2.0 gmodule-2.0 gio-2.0 IMPORTED_TARGET) -find_library(IPHLPAPI_LIBRARY iphlpapi) -find_library(WS2_32_LIB ws2_32) -find_library(ADVAPI32_LIB advapi32) -find_package(OpenSSL REQUIRED) -include_directories( - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/agent - ${CMAKE_CURRENT_SOURCE_DIR}/random - ${CMAKE_CURRENT_SOURCE_DIR}/socket - ${CMAKE_CURRENT_SOURCE_DIR}/stun - ${GLIB2_INCLUDE_DIRS}) - - -SET (SRCS - ./agent/address.c - ./agent/agent-enum-types.c - ./agent/agent.c - ./agent/candidate.c - ./agent/component.c - ./agent/conncheck.c - ./agent/debug.c - ./agent/discovery.c - ./agent/inputstream.c - ./agent/interfaces.c - ./agent/iostream.c - ./agent/outputstream.c - ./agent/pseudotcp.c - ./agent/stream.c - ./random/random-glib.c - ./random/random.c - ./random/test.c - ./socket/http.c - ./socket/pseudossl.c - ./socket/socket.c - ./socket/socks5.c - ./socket/tcp-active.c - ./socket/tcp-bsd.c - ./socket/tcp-passive.c - ./socket/udp-bsd.c - ./socket/udp-turn-over-tcp.c - ./socket/udp-turn.c - ./stun/debug.c - ./stun/rand.c - ./stun/stun5389.c - ./stun/stunagent.c - ./stun/stuncrc32.c - ./stun/stunhmac.c - ./stun/stunmessage.c - ./stun/usages/bind.c - ./stun/usages/ice.c - ./stun/usages/timer.c - ./stun/usages/turn.c - ./stun/utils.c - ./libnice.def - ) -SET(HEADERS - ./agent/address.h - ./agent/agent-enum-types.h - ./agent/agent-priv.h - ./agent/agent.h - ./agent/candidate.h - ./agent/component.h - ./agent/conncheck.h - ./agent/debug.h - ./agent/discovery.h - ./agent/inputstream.h - ./agent/interfaces.h - ./agent/iostream.h - ./agent/outputstream.h - ./agent/pseudotcp.h - ./agent/stream.h - ./config.h - ./nice/nice.h - ./random/random-glib.h - ./random/random.h - ./socket/http.h - ./socket/pseudossl.h - ./socket/socket-priv.h - ./socket/socket.h - ./socket/socks5.h - ./socket/tcp-active.h - ./socket/tcp-bsd.h - ./socket/tcp-passive.h - ./socket/udp-bsd.h - ./socket/udp-turn-over-tcp.h - ./socket/udp-turn.h - ./stun/constants.h - ./stun/debug.h - ./stun/rand.h - ./stun/stun5389.h - ./stun/stunagent.h - ./stun/stuncrc32.h - ./stun/stunhmac.h - ./stun/stunmessage.h - ./stun/tools/stund.h - ./stun/usages/bind.h - ./stun/usages/ice.h - ./stun/usages/timer.h - ./stun/usages/turn.h - ./stun/utils.h - ./stun/win32_common.h - ./win32/vs9/config.h - ) -add_library(libnice ${SRCS} ${HEADERS}) -if (MSVC) - set_target_properties(${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "/wd4244 /wd4005 /wd4391 /wd4142 /wd4267") -endif() -if (WIN32) - target_link_libraries(libnice ${IPHLPAPI_LIBRARY} ${WS2_32_LIB} ${ADVAPI32_LIB} PkgConfig::GLIB2 OpenSSL::SSL) -else() - target_link_libraries(libnice PkgConfig::GLIB2 OpenSSL::SSL) -endif() -install(TARGETS libnice -RUNTIME DESTINATION bin - ARCHIVE DESTINATION lib - LIBRARY DESTINATION lib) - -if (CMAKE_BUILD_TYPE STREQUAL "Release") -install(FILES agent/address.h DESTINATION include/nice) -install(FILES agent/agent.h DESTINATION include/nice) -install(FILES agent/candidate.h DESTINATION include/nice) -install(FILES agent/debug.h DESTINATION include/nice) -install(FILES agent/interfaces.h DESTINATION include/nice) -install(FILES nice/nice.h DESTINATION include/nice) -install(FILES agent/pseudotcp.h DESTINATION include/nice) -install(FILES stun/constants.h DESTINATION include/stun) -install(FILES stun/debug.h DESTINATION include/stun) -install(FILES stun/stunagent.h DESTINATION include/stun) -install(FILES stun/stunmessage.h DESTINATION include/stun) -install(FILES stun/usages/bind.h DESTINATION include/stun/usages) -install(FILES stun/usages/ice.h DESTINATION include/stun/usages) -install(FILES stun/usages/timer.h DESTINATION include/stun/usages) -install(FILES stun/usages/turn.h DESTINATION include/stun/usages) -install(FILES stun/win32_common.h DESTINATION include/stun) -endif() diff --git a/ports/libnice/portfile.cmake b/ports/libnice/portfile.cmake index 038b21ebbc079c..9d8373f9019584 100644 --- a/ports/libnice/portfile.cmake +++ b/ports/libnice/portfile.cmake @@ -1,30 +1,41 @@ -vcpkg_download_distfile( - ARCHIVE - URLS "https://nice.freedesktop.org/releases/libnice-0.1.15.tar.gz" - FILENAME "libnice-0.1.15.tar.gz" - SHA512 60a8bcca06c0ab300dfabbf13e45aeac2085d553c420c5cc4d2fdeb46b449b2b9c9aee8015b0662c16bd1cecf5a49824b7e24951a8a0b66a87074cb00a619c0c -) -vcpkg_extract_source_archive_ex( - ARCHIVE ${ARCHIVE} +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.freedesktop.org OUT_SOURCE_PATH SOURCE_PATH - ) + REPO libnice/libnice + REF 0.1.22 + SHA512 545c759a827e039d0aed262a4ec31b17610f7e67d93389c939763ed3d99530a4a6c3d13864ff05a2011fb3c3847ce3380a988e554de0f92b1348ebb76f5e3da4 + HEAD_REF master +) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) -vcpkg_find_acquire_program(PKGCONFIG) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - DISABLE_PARALLEL_CONFIGURE +vcpkg_configure_meson( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DPKG_CONFIG_EXECUTABLE=${PKGCONFIG} - OPTIONS_RELEASE -DOPTIMIZE=1 - OPTIONS_DEBUG -DDEBUGGABLE=1 + -Dgtk_doc=disabled #Enable generating the API reference (depends on GTK-Doc) + -Dintrospection=disabled #Enable GObject Introspection (depends on GObject)' + -Dtests=disabled + -Dexamples=disabled + -Dgstreamer=disabled + -Dcrypto-library=openssl + ADDITIONAL_BINARIES glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal' + glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums' ) -vcpkg_install_cmake() +# Could be features: +# option('gupnp', type: 'feature', value: 'auto', + # description: 'Enable or disable GUPnP IGD support') +# option('ignored-network-interface-prefix', type: 'array', value: ['docker', 'veth', 'virbr', 'vnet'], + # description: 'Ignore network interfaces whose name starts with a string from this list in the ICE connection check algorithm. For example, "virbr" to ignore virtual bridge interfaces added by virtd, which do not help in finding connectivity.') +# option('crypto-library', type: 'combo', choices : ['auto', 'gnutls', 'openssl'], value : 'auto') + +vcpkg_install_meson() vcpkg_copy_pdbs() +vcpkg_copy_tools(TOOL_NAMES stunbdc stund AUTO_CLEAN) +vcpkg_fixup_pkgconfig() -file(COPY ${SOURCE_PATH}/COPYING.LGPL DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) -file(COPY ${SOURCE_PATH}/COPYING.MPL 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}/COPYING.LGPL" + "${SOURCE_PATH}/COPYING.MPL" +) diff --git a/ports/libnice/vcpkg.json b/ports/libnice/vcpkg.json index 16802d092bf276..d8503dfe43f4a9 100644 --- a/ports/libnice/vcpkg.json +++ b/ports/libnice/vcpkg.json @@ -1,11 +1,21 @@ { "name": "libnice", - "version": "0.1.15", - "port-version": 7, + "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", + "supports": "!xbox", "dependencies": [ "glib", - "openssl" + { + "name": "glib", + "host": true, + "default-features": false + }, + "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..c61ec841fa24a0 --- /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 b8b6fc636842b8731d423b97a3aee45a18aba58a56d1475e1e7a3b5614b2f5f99a9fd11a8520451ec2331f2fc4bfb616be615b87fcee0df445efc8bb665790ce + 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..76ebca82b90765 --- /dev/null +++ b/ports/libnick/vcpkg.json @@ -0,0 +1,40 @@ +{ + "name": "libnick", + "version": "2024.10.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/libnoise/fix-build.patch b/ports/libnoise/fix-build.patch index c0b7d7ce5a6ba2..e4b07413dcf24e 100644 --- a/ports/libnoise/fix-build.patch +++ b/ports/libnoise/fix-build.patch @@ -1,14 +1,18 @@ diff --git a/noiseutils/CMakeLists.txt b/noiseutils/CMakeLists.txt -index 07747de..08c0bda 100644 +index 07747de..68db2a2 100644 --- a/noiseutils/CMakeLists.txt +++ b/noiseutils/CMakeLists.txt -@@ -22,8 +22,11 @@ if(BUILD_SHARED_LIBS) - target_include_directories(${TARGET_NAME} PRIVATE ${PROJECT_SOURCE_DIR}/src) +@@ -19,11 +19,14 @@ if(BUILD_SHARED_LIBS) + + set_target_properties(${TARGET_NAME} PROPERTIES VERSION ${LIBNOISE_VERSION}) + target_link_libraries(${TARGET_NAME} noise) +- target_include_directories(${TARGET_NAME} PRIVATE ${PROJECT_SOURCE_DIR}/src) ++ target_include_directories(${TARGET_NAME} PRIVATE ${PROJECT_SOURCE_DIR}/src PUBLIC $ $) # install dynamic libraries (.dll or .so) into /bin - install(TARGETS ${TARGET_NAME} DESTINATION "${CMAKE_INSTALL_PREFIX}/bin") -endif() -+ install(TARGETS ${TARGET_NAME} ++ install(TARGETS ${TARGET_NAME} EXPORT unofficial-noiseutilsTargets + RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}/bin" + LIBRARY DESTINATION "${CMAKE_INSTALL_PREFIX}/lib" + ARCHIVE DESTINATION "${CMAKE_INSTALL_PREFIX}/lib") @@ -16,27 +20,49 @@ index 07747de..08c0bda 100644 #---------------------------------------- # build static lib (it's good practice to include a lib file for the dll) -@@ -35,7 +38,7 @@ target_include_directories(${TARGET_NAME} PRIVATE ${PROJECT_SOURCE_DIR}/src) +@@ -31,11 +34,22 @@ set(TARGET_NAME "${LIB_NAME}-static") + add_library(${TARGET_NAME} STATIC ${libSrcs}) + set_target_properties(${TARGET_NAME} PROPERTIES VERSION ${LIBNOISE_VERSION}) + target_link_libraries(${TARGET_NAME} noise-static) +-target_include_directories(${TARGET_NAME} PRIVATE ${PROJECT_SOURCE_DIR}/src) ++target_include_directories(${TARGET_NAME} PRIVATE ${PROJECT_SOURCE_DIR}/src PUBLIC $ $) # install static libraries (.lib) into /lib - install(TARGETS ${TARGET_NAME} DESTINATION "${CMAKE_INSTALL_PREFIX}/lib") +-install(TARGETS ${TARGET_NAME} DESTINATION "${CMAKE_INSTALL_PREFIX}/lib") ++install(TARGETS ${TARGET_NAME} EXPORT unofficial-noiseutilsTargets DESTINATION "${CMAKE_INSTALL_PREFIX}/lib") #---------------------------------------- - +endif() # install include files into /include install( FILES "${PROJECT_SOURCE_DIR}/noiseutils/noiseutils.h" - DESTINATION "${CMAKE_INSTALL_PREFIX}/include/noise" ) +- DESTINATION "${CMAKE_INSTALL_PREFIX}/include/noise" ) +\ No newline at end of file ++ DESTINATION "${CMAKE_INSTALL_PREFIX}/include/noise" ) ++ ++install(EXPORT unofficial-noiseutilsTargets ++ NAMESPACE unofficial::noiseutils:: ++ DESTINATION share/unofficial-noiseutils ++) ++ ++file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/unofficial-noiseutils-config.cmake.in" ++[[include("${CMAKE_CURRENT_LIST_DIR}/unofficial-noiseutilsTargets.cmake")]]) ++configure_file("${CMAKE_CURRENT_BINARY_DIR}/unofficial-noiseutils-config.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/unofficial-noiseutils-config.cmake" @ONLY) ++install(FILES ${CMAKE_CURRENT_BINARY_DIR}/unofficial-noiseutils-config.cmake DESTINATION share/unofficial-noiseutils) ++ \ No newline at end of file diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 2757f30..7a135c2 100644 +index 2757f30..47dcc51 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt -@@ -62,8 +62,11 @@ if(BUILD_SHARED_LIBS) +@@ -60,10 +60,13 @@ if(BUILD_SHARED_LIBS) + add_library(${TARGET_NAME} SHARED ${libSrcs}) + endif() set_target_properties(${TARGET_NAME} PROPERTIES VERSION ${LIBNOISE_VERSION}) - target_include_directories(${TARGET_NAME} PRIVATE ${PROJECT_SOURCE_DIR}/src) +- target_include_directories(${TARGET_NAME} PRIVATE ${PROJECT_SOURCE_DIR}/src) ++ target_include_directories(${TARGET_NAME} PRIVATE ${PROJECT_SOURCE_DIR}/src PUBLIC $ $) target_compile_definitions(${TARGET_NAME} PRIVATE NOISE_BUILD_DLL) - install(TARGETS ${TARGET_NAME} DESTINATION "${CMAKE_INSTALL_PREFIX}/bin") -endif() -+ install(TARGETS ${TARGET_NAME} ++ install(TARGETS ${TARGET_NAME} EXPORT unofficial-noiseTargets + RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}/bin" + LIBRARY DESTINATION "${CMAKE_INSTALL_PREFIX}/lib" + ARCHIVE DESTINATION "${CMAKE_INSTALL_PREFIX}/lib") @@ -44,13 +70,31 @@ index 2757f30..7a135c2 100644 #---------------------------------------- # build static lib (it's good practice to include a lib file for the dll) -@@ -76,7 +79,7 @@ target_compile_definitions(${TARGET_NAME} PUBLIC NOISE_STATIC) +@@ -71,12 +74,22 @@ set(TARGET_NAME "${LIB_NAME}-static") + message(STATUS "build ${TARGET_NAME}") + add_library(${TARGET_NAME} STATIC ${libSrcs}) + set_target_properties(${TARGET_NAME} PROPERTIES VERSION ${LIBNOISE_VERSION}) +-target_include_directories(${TARGET_NAME} PRIVATE ${PROJECT_SOURCE_DIR}/src) ++target_include_directories(${TARGET_NAME} PRIVATE ${PROJECT_SOURCE_DIR}/src PUBLIC $ $) + target_compile_definitions(${TARGET_NAME} PUBLIC NOISE_STATIC) # install static libraries (.lib) into /lib - install(TARGETS ${TARGET_NAME} DESTINATION "${CMAKE_INSTALL_PREFIX}/lib") +-install(TARGETS ${TARGET_NAME} DESTINATION "${CMAKE_INSTALL_PREFIX}/lib") ++install(TARGETS ${TARGET_NAME} EXPORT unofficial-noiseTargets DESTINATION "${CMAKE_INSTALL_PREFIX}/lib") #---------------------------------------- - +endif() # install include files into /include install( DIRECTORY "${PROJECT_SOURCE_DIR}/src/noise" - DESTINATION "${CMAKE_INSTALL_PREFIX}/include" ) +- DESTINATION "${CMAKE_INSTALL_PREFIX}/include" ) \ No newline at end of file ++ DESTINATION "${CMAKE_INSTALL_PREFIX}/include" ) ++ ++install(EXPORT unofficial-noiseTargets ++ NAMESPACE unofficial::noise:: ++ DESTINATION share/unofficial-noise ++) ++ ++file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/unofficial-noise-config.cmake.in" ++[[include("${CMAKE_CURRENT_LIST_DIR}/unofficial-noiseTargets.cmake")]]) ++configure_file("${CMAKE_CURRENT_BINARY_DIR}/unofficial-noise-config.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/unofficial-noise-config.cmake" @ONLY) ++install(FILES ${CMAKE_CURRENT_BINARY_DIR}/unofficial-noise-config.cmake DESTINATION share/unofficial-noise) diff --git a/ports/libnoise/portfile.cmake b/ports/libnoise/portfile.cmake index 5c14ae663cb813..a929f37c693385 100644 --- a/ports/libnoise/portfile.cmake +++ b/ports/libnoise/portfile.cmake @@ -10,9 +10,8 @@ vcpkg_from_github( PATCHES fix-build.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_WALL=ON -DBUILD_SPEED_OPTIMIZED=ON @@ -21,15 +20,15 @@ vcpkg_configure_cmake( -DBUILD_LIBNOISE_EXAMPLES=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-noise CONFIG_PATH share/unofficial-noise) +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-noiseutils CONFIG_PATH share/unofficial-noiseutils) if (VCPKG_LIBRARY_LINKAGE STREQUAL static) vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/include/noise/module/modulebase.h "if NOISE_STATIC" "if 1" ) endif() -file(INSTALL ${SOURCE_PATH}/cmake/Modules/FindLibNoise.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) - -file(INSTALL ${SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) \ No newline at end of file +file(INSTALL "${SOURCE_PATH}/LICENSE.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) \ No newline at end of file diff --git a/ports/libnoise/vcpkg.json b/ports/libnoise/vcpkg.json index d82097ee5cfb8b..640e503bec0229 100644 --- a/ports/libnoise/vcpkg.json +++ b/ports/libnoise/vcpkg.json @@ -1,7 +1,18 @@ { "name": "libnoise", - "version-string": "1.0.0", - "port-version": 2, + "version": "1.0.0", + "port-version": 3, "description": "A general-purpose library that generates three-dimensional coherent noise. Useful for terrain generation and procedural texture generation. Uses a broad number of techniques (Perlin noise, ridged multifractal, etc.) and combinations of those techniques.", - "homepage": "https://github.com/RobertHue/libnoise" + "homepage": "https://github.com/RobertHue/libnoise", + "license": "LGPL-2.1", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/libnop/portfile.cmake b/ports/libnop/portfile.cmake index 5c10f5e60ffdce..e261042956883c 100644 --- a/ports/libnop/portfile.cmake +++ b/ports/libnop/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/libnop - REF 910b55815be16109f04f4180e9adee14fb4ce281 - SHA512 74c5324eaa1b6b2ac8dfef94c835b5c5b044625f8e5efe3522470b1ecc4798ff43d344a013cee2f6901e83267c6167072947b754e63f1552ae7044cffe234c36 + REF 35e800d81f28c632956c5a592e3cbe8085ecd430 + SHA512 27f62710afb41165db5ef54bb2d09f89ed9c0c0cb401bffe2c52590bb28c67ed6ba68922510cdedd6dc7cc75fc267a02a2f9cbcca4bfa85042792a121e27097e ) file(INSTALL ${SOURCE_PATH}/include/nop DESTINATION ${CURRENT_PACKAGES_DIR}/include) file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) \ No newline at end of file diff --git a/ports/libnop/vcpkg.json b/ports/libnop/vcpkg.json index be09bef23df997..f342378f123663 100644 --- a/ports/libnop/vcpkg.json +++ b/ports/libnop/vcpkg.json @@ -1,6 +1,6 @@ { "name": "libnop", - "version-date": "2021-03-01", + "version-date": "2021-11-03", "description": "libnop is a header-only library for serializing and deserializing C++ data types without external code generators or runtime support libraries", "homepage": "https://github.com/google/libnop" } diff --git a/ports/libobfuscate/portfile.cmake b/ports/libobfuscate/portfile.cmake new file mode 100644 index 00000000000000..249ab2319b8c0c --- /dev/null +++ b/ports/libobfuscate/portfile.cmake @@ -0,0 +1,11 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO adamyaxley/Obfuscate + REF e65173d617983ce6b714c9ade5a6dbf3503c9a96 + SHA512 0fbe1cb3a65650aa05d15d57f7cd2b977133e0a11bb212b635b6c691b34a19a0e0502dc9a17b2f733fcfb3ec59030a0b18467ea44de914582061f298b90dd114 + 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..2fd3857eed971b --- /dev/null +++ b/ports/libobfuscate/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "libobfuscate", + "version-date": "2024-02-11", + "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-boost/portfile.cmake b/ports/libodb-boost/portfile.cmake index adf571bea7e891..5e0c3b7d479258 100644 --- a/ports/libodb-boost/portfile.cmake +++ b/ports/libodb-boost/portfile.cmake @@ -4,31 +4,32 @@ vcpkg_download_distfile(ARCHIVE SHA512 af716b0385cf4ea18b20dcd5880c69c43cfc195eec4ff196a8e438833306489c39ab06a494e5d60cd08ba0d94caa05bd07e5f3fa836d835bad15c8a2ad7de306 ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" ) file(REMOVE "${SOURCE_PATH}/version") file(COPY - ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt - ${CMAKE_CURRENT_LIST_DIR}/config.unix.h.in - DESTINATION ${SOURCE_PATH}) + "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" + "${CMAKE_CURRENT_LIST_DIR}/config.unix.h.in" + DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS_DEBUG -DLIBODB_INSTALL_HEADERS=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -file(READ ${CURRENT_PACKAGES_DIR}/debug/share/odb/odb_boostConfig-debug.cmake LIBODB_DEBUG_TARGETS) -string(REPLACE "\${_IMPORT_PREFIX}" "\${_IMPORT_PREFIX}/debug" LIBODB_DEBUG_TARGETS "${LIBODB_DEBUG_TARGETS}") -file(WRITE ${CURRENT_PACKAGES_DIR}/share/odb/odb_boostConfig-debug.cmake "${LIBODB_DEBUG_TARGETS}") +if(NOT VCPKG_BUILD_TYPE) + file(READ "${CURRENT_PACKAGES_DIR}/debug/share/odb/odb_boostConfig-debug.cmake" LIBODB_DEBUG_TARGETS) + string(REPLACE "\${_IMPORT_PREFIX}" "\${_IMPORT_PREFIX}/debug" LIBODB_DEBUG_TARGETS "${LIBODB_DEBUG_TARGETS}") + file(WRITE "${CURRENT_PACKAGES_DIR}/share/odb/odb_boostConfig-debug.cmake" "${LIBODB_DEBUG_TARGETS}") +endif() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/libodb-boost/vcpkg.json b/ports/libodb-boost/vcpkg.json index 0294b5004ffe81..b216d72c228c7e 100644 --- a/ports/libodb-boost/vcpkg.json +++ b/ports/libodb-boost/vcpkg.json @@ -1,9 +1,13 @@ { "name": "libodb-boost", - "version-string": "2.4.0", - "port-version": 5, + "version": "2.4.0", + "port-version": 7, "description": "Description: Boost support for the ODB ORM library", "dependencies": [ - "libodb" + "libodb", + { + "name": "vcpkg-cmake", + "host": true + } ] } diff --git a/ports/libodb-mysql/portfile.cmake b/ports/libodb-mysql/portfile.cmake index ac78846ddd39f0..a865089945948b 100644 --- a/ports/libodb-mysql/portfile.cmake +++ b/ports/libodb-mysql/portfile.cmake @@ -4,9 +4,9 @@ vcpkg_download_distfile(ARCHIVE SHA512 c27b73c3f61dccdd149c11c122185f645a00d5bc346b366ee65b738f8719c39d03fad07a0d55b62b3db9e3ad2507679c24ddda331e5d110f367ad32f7cf8b910 ) -vcpkg_extract_source_archive_ex( - ARCHIVE ${ARCHIVE} - OUT_SOURCE_PATH SOURCE_PATH +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" PATCHES adapter_mysql_8.0.patch fix-redefinttion.patch @@ -14,18 +14,17 @@ vcpkg_extract_source_archive_ex( file(REMOVE "${SOURCE_PATH}/version") file(COPY - ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt - ${CMAKE_CURRENT_LIST_DIR}/config.unix.h.in - DESTINATION ${SOURCE_PATH}) + "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" + "${CMAKE_CURRENT_LIST_DIR}/config.unix.h.in" + DESTINATION "${SOURCE_PATH}") set(MYSQL_INCLUDE_DIR "${CURRENT_INSTALLED_DIR}/include/mysql") find_library(MYSQL_LIB NAMES libmysql mysqlclient PATH_SUFFIXES lib PATHS "${CURRENT_INSTALLED_DIR}" NO_DEFAULT_PATH REQUIRED) -find_library(MYSQL_LIB_DEBUG NAMES libmysql mysqlclient PATH_SUFFIXES lib PATHS "${CURRENT_INSTALLED_DIR}/debug" NO_DEFAULT_PATH REQUIRED) +find_library(MYSQL_LIB_DEBUG NAMES libmysql mysqlclient PATH_SUFFIXES lib PATHS "${CURRENT_INSTALLED_DIR}/debug" NO_DEFAULT_PATH) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" DISABLE_PARALLEL_CONFIGURE - PREFER_NINJA OPTIONS -DMYSQL_INCLUDE_DIR=${MYSQL_INCLUDE_DIR} OPTIONS_RELEASE @@ -35,11 +34,11 @@ vcpkg_configure_cmake( -DMYSQL_LIB=${MYSQL_LIB_DEBUG} ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/odb TARGET_PATH share/odb) +vcpkg_cmake_config_fixup(CONFIG_PATH share/odb PACKAGE_NAME odb) vcpkg_copy_pdbs() -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) +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/libodb-mysql/vcpkg.json b/ports/libodb-mysql/vcpkg.json index c0fa1b01d07d7c..35509f1255a6b5 100644 --- a/ports/libodb-mysql/vcpkg.json +++ b/ports/libodb-mysql/vcpkg.json @@ -1,11 +1,19 @@ { "name": "libodb-mysql", "version": "2.4.0", - "port-version": 9, + "port-version": 11, "description": "MySQL support for the ODB ORM library", "homepage": "https://www.codesynthesis.com/products/odb/", "dependencies": [ "libmysql", - "libodb" + "libodb", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } 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/portfile.cmake b/ports/libodb-pgsql/portfile.cmake index cf84b650aadf91..284fb69e2fb26a 100644 --- a/ports/libodb-pgsql/portfile.cmake +++ b/ports/libodb-pgsql/portfile.cmake @@ -4,30 +4,27 @@ vcpkg_download_distfile(ARCHIVE SHA512 535515356233b815f144c0098940174f7a530e7fa4e930c0a9ebdc255fdb8bac8cdcceac31f25be4864105323e00bfe50808efa648e7c8ffb5a944e52f514b69 ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" ) file(REMOVE "${SOURCE_PATH}/version") file(COPY - ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt - ${CMAKE_CURRENT_LIST_DIR}/config.unix.h.in - DESTINATION ${SOURCE_PATH}) + "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" + "${CMAKE_CURRENT_LIST_DIR}/config.unix.h.in" + DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + DISABLE_PARALLEL_CONFIGURE OPTIONS_DEBUG -DLIBODB_INSTALL_HEADERS=OFF ) -vcpkg_install_cmake() - -file(READ ${CURRENT_PACKAGES_DIR}/debug/share/odb/odb_pgsqlConfig-debug.cmake LIBODB_DEBUG_TARGETS) -string(REPLACE "\${_IMPORT_PREFIX}" "\${_IMPORT_PREFIX}/debug" LIBODB_DEBUG_TARGETS "${LIBODB_DEBUG_TARGETS}") -file(WRITE ${CURRENT_PACKAGES_DIR}/share/odb/odb_pgsqlConfig-debug.cmake "${LIBODB_DEBUG_TARGETS}") -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libodb-pgsql) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/libodb-pgsql/LICENSE ${CURRENT_PACKAGES_DIR}/share/libodb-pgsql/copyright) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME odb) vcpkg_copy_pdbs() + +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/libodb-pgsql/vcpkg.json b/ports/libodb-pgsql/vcpkg.json index 76e3ef673250ba..59e2d48c141349 100644 --- a/ports/libodb-pgsql/vcpkg.json +++ b/ports/libodb-pgsql/vcpkg.json @@ -1,11 +1,19 @@ { "name": "libodb-pgsql", - "version-string": "2.4.0", - "port-version": 5, + "version": "2.4.0", + "port-version": 8, "description": "Description: PostgreSQL support for the ODB ORM library", "homepage": "https://www.codesynthesis.com/products/odb/", "dependencies": [ "libodb", - "libpq" + "libpq", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } 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/portfile.cmake b/ports/libodb-sqlite/portfile.cmake index 58fbb3a377c2ee..ca5296489feee1 100644 --- a/ports/libodb-sqlite/portfile.cmake +++ b/ports/libodb-sqlite/portfile.cmake @@ -4,31 +4,32 @@ vcpkg_download_distfile(ARCHIVE SHA512 af16da7c82cf8845ca3b393fbd8957a92b05ebc925a5191f20d414ab558345850073cd9c46457d0ef0edfb12ebcb27f267b934c9c69ef598380242fe920c8577 ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" ) file(REMOVE "${SOURCE_PATH}/version") file(COPY - ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt - ${CMAKE_CURRENT_LIST_DIR}/config.unix.h.in - DESTINATION ${SOURCE_PATH}) + "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" + "${CMAKE_CURRENT_LIST_DIR}/config.unix.h.in" + DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS_DEBUG -DLIBODB_INSTALL_HEADERS=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -file(READ ${CURRENT_PACKAGES_DIR}/debug/share/odb/odb_sqliteConfig-debug.cmake LIBODB_DEBUG_TARGETS) -string(REPLACE "\${_IMPORT_PREFIX}" "\${_IMPORT_PREFIX}/debug" LIBODB_DEBUG_TARGETS "${LIBODB_DEBUG_TARGETS}") -file(WRITE ${CURRENT_PACKAGES_DIR}/share/odb/odb_sqliteConfig-debug.cmake "${LIBODB_DEBUG_TARGETS}") -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +if(NOT VCPKG_BUILD_TYPE) + file(READ "${CURRENT_PACKAGES_DIR}/debug/share/odb/odb_sqliteConfig-debug.cmake" LIBODB_DEBUG_TARGETS) + string(REPLACE "\${_IMPORT_PREFIX}" "\${_IMPORT_PREFIX}/debug" LIBODB_DEBUG_TARGETS "${LIBODB_DEBUG_TARGETS}") + file(WRITE "${CURRENT_PACKAGES_DIR}/share/odb/odb_sqliteConfig-debug.cmake" "${LIBODB_DEBUG_TARGETS}") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +endif() vcpkg_copy_pdbs() -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/libodb-sqlite/vcpkg.json b/ports/libodb-sqlite/vcpkg.json index 466dc4da3578df..0cb9c9a7406d85 100644 --- a/ports/libodb-sqlite/vcpkg.json +++ b/ports/libodb-sqlite/vcpkg.json @@ -1,11 +1,15 @@ { "name": "libodb-sqlite", - "version-string": "2.4.0", - "port-version": 9, + "version": "2.4.0", + "port-version": 13, "description": "Sqlite support for the ODB ORM library", "homepage": "https://www.codesynthesis.com/products/odb/", "dependencies": [ "libodb", - "sqlite3" + "sqlite3", + { + "name": "vcpkg-cmake", + "host": true + } ] } 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 c7046bc8210dc8..3bfc23cc876176 100644 --- a/ports/libodb/portfile.cmake +++ b/ports/libodb/portfile.cmake @@ -6,45 +6,50 @@ vcpkg_download_distfile(ARCHIVE SHA512 f1311458634695eb6ba307ebfd492e3b260e7beb06db1c5c46df58c339756be4006322cdc4e42d055bf5b2ad14ce4656ddcafcc4e16c282034db8a77d255c3eb ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" + PATCHES + fix-linux.patch ) file(REMOVE "${SOURCE_PATH}/version") file(COPY - ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt - ${CMAKE_CURRENT_LIST_DIR}/config.unix.h.in - DESTINATION ${SOURCE_PATH}) + "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" + "${CMAKE_CURRENT_LIST_DIR}/config.unix.h.in" + DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +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 ) -vcpkg_install_cmake() -file(READ ${CURRENT_PACKAGES_DIR}/debug/share/odb/odb_libodbConfig-debug.cmake LIBODB_DEBUG_TARGETS) -string(REPLACE "\${_IMPORT_PREFIX}" "\${_IMPORT_PREFIX}/debug" LIBODB_DEBUG_TARGETS "${LIBODB_DEBUG_TARGETS}") -file(WRITE ${CURRENT_PACKAGES_DIR}/share/odb/odb_libodbConfig-debug.cmake "${LIBODB_DEBUG_TARGETS}") -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/odbConfig.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/odb) -write_basic_package_version_file(${CURRENT_PACKAGES_DIR}/share/odb/odbConfigVersion.cmake +vcpkg_cmake_install() +if(NOT VCPKG_BUILD_TYPE) + file(READ "${CURRENT_PACKAGES_DIR}/debug/share/odb/odb_libodbConfig-debug.cmake" LIBODB_DEBUG_TARGETS) + string(REPLACE "\${_IMPORT_PREFIX}" "\${_IMPORT_PREFIX}/debug" LIBODB_DEBUG_TARGETS "${LIBODB_DEBUG_TARGETS}") + file(WRITE "${CURRENT_PACKAGES_DIR}/share/odb/odb_libodbConfig-debug.cmake" "${LIBODB_DEBUG_TARGETS}") +endif() +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(COPY "${CMAKE_CURRENT_LIST_DIR}/odbConfig.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/odb") +write_basic_package_version_file("${CURRENT_PACKAGES_DIR}/share/odb/odbConfigVersion.cmake" VERSION 2.4.0 COMPATIBILITY SameMajorVersion ) -set(LIBODB_HEADER_PATH ${CURRENT_PACKAGES_DIR}/include/odb/details/export.hxx) -file(READ ${LIBODB_HEADER_PATH} LIBODB_HEADER) +set(LIBODB_HEADER_PATH "${CURRENT_PACKAGES_DIR}/include/odb/details/export.hxx") +file(READ "${LIBODB_HEADER_PATH}" LIBODB_HEADER) if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - string(REPLACE "#ifdef LIBODB_STATIC_LIB" "#if 1" LIBODB_HEADER ${LIBODB_HEADER}) + string(REPLACE "#ifdef LIBODB_STATIC_LIB" "#if 1" LIBODB_HEADER "${LIBODB_HEADER}") else() - string(REPLACE "#ifdef LIBODB_STATIC_LIB" "#if 0" LIBODB_HEADER ${LIBODB_HEADER}) + string(REPLACE "#ifdef LIBODB_STATIC_LIB" "#if 0" LIBODB_HEADER "${LIBODB_HEADER}") endif() -file(WRITE ${LIBODB_HEADER_PATH} "${LIBODB_HEADER}") +file(WRITE "${LIBODB_HEADER_PATH}" "${LIBODB_HEADER}") vcpkg_copy_pdbs() -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/libodb/vcpkg.json b/ports/libodb/vcpkg.json index 5c3fe94c21c7a1..f4e414821c25ed 100644 --- a/ports/libodb/vcpkg.json +++ b/ports/libodb/vcpkg.json @@ -1,7 +1,13 @@ { "name": "libodb", "version": "2.4.0", - "port-version": 8, + "port-version": 12, "description": "ODB library, base runtime for the ODB ORM solution", - "homepage": "https://www.codesynthesis.com/products/odb/" + "homepage": "https://www.codesynthesis.com/products/odb/", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/libofx/portfile.cmake b/ports/libofx/portfile.cmake new file mode 100644 index 00000000000000..6b49481bc498ba --- /dev/null +++ b/ports/libofx/portfile.cmake @@ -0,0 +1,36 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO libofx/libofx + REF 0.10.9 + SHA512 be7b77f77a012fe04121c615b88f674bba11f79b5353b3c4594de395f9f787c3a9b6910693f5ba701421387fc13c13e7977ab73893e18c6a0b6e1292b7d1cfe2 + HEAD_REF master +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + "iconv" ENABLE_ICONV + "ofxdump" ENABLE_OFXDUMP + "ofx2qif" ENABLE_OFX2QIF +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DENABLE_OFXCONNECT=OFF # depends on libxml++ ABI 2.6, while vcpkg ships ABI 4.0. See https://libxmlplusplus.github.io/libxmlplusplus/#abi-versions + ${FEATURE_OPTIONS} +) + +vcpkg_cmake_install() +vcpkg_fixup_pkgconfig() +vcpkg_cmake_config_fixup(PACKAGE_NAME LibOFX CONFIG_PATH lib/cmake/libofx) +vcpkg_copy_pdbs() + +list(REMOVE_ITEM FEATURES core iconv) +if(FEATURES) + vcpkg_copy_tools(TOOL_NAMES ${FEATURES} 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}/COPYING") diff --git a/ports/libofx/vcpkg.json b/ports/libofx/vcpkg.json new file mode 100644 index 00000000000000..32fe77d10ffdb0 --- /dev/null +++ b/ports/libofx/vcpkg.json @@ -0,0 +1,37 @@ +{ + "name": "libofx", + "version": "0.10.9", + "port-version": 1, + "description": "OFX banking protocol abstraction library", + "homepage": "https://github.com/libofx/libofx", + "license": "GPL-2.0-only", + "supports": "!uwp & !xbox", + "dependencies": [ + "libopensp", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "default-features": [ + "iconv" + ], + "features": { + "iconv": { + "description": "Builds with ICONV support for encoding conversion", + "dependencies": [ + "libiconv" + ] + }, + "ofx2qif": { + "description": "Enables OFX file to QIF (Quicken Interchange Format) file converter" + }, + "ofxdump": { + "description": "Enables ofxdump utility which prints, in human readable form, everything the library understands about a file" + } + } +} diff --git a/ports/libogg/portfile.cmake b/ports/libogg/portfile.cmake index cd0cfc092201eb..be9f519a1dce9d 100644 --- a/ports/libogg/portfile.cmake +++ b/ports/libogg/portfile.cmake @@ -8,23 +8,24 @@ vcpkg_from_gitlab( ) if(VCPKG_TARGET_IS_MINGW) - vcpkg_replace_string(${SOURCE_PATH}/win32/ogg.def "LIBRARY ogg" "LIBRARY libogg") + vcpkg_replace_string("${SOURCE_PATH}/win32/ogg.def" "LIBRARY ogg" "LIBRARY libogg") endif() -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS -DINSTALL_DOCS=0 -DINSTALL_PKG_CONFIG_MODULE=1 +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DINSTALL_DOCS=OFF + -DINSTALL_PKG_CONFIG_MODULE=ON + -DBUILD_TESTING=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/Ogg TARGET_PATH share/ogg) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/Ogg PACKAGE_NAME ogg) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") 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/libogg/vcpkg.json b/ports/libogg/vcpkg.json index 0c0979eb1f9393..dba3d701fbc9ee 100644 --- a/ports/libogg/vcpkg.json +++ b/ports/libogg/vcpkg.json @@ -1,6 +1,18 @@ { "name": "libogg", "version": "1.3.5", + "port-version": 1, "description": "Ogg is a multimedia container format, and the native file and stream format for the Xiph.org multimedia codecs.", - "homepage": "https://www.xiph.org/ogg" + "homepage": "https://www.xiph.org/ogg", + "license": "BSD-3-Clause", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/libopenmpt/CMakeLists.txt b/ports/libopenmpt/CMakeLists.txt index 35094e8f44a9d4..72234263be37c6 100644 --- a/ports/libopenmpt/CMakeLists.txt +++ b/ports/libopenmpt/CMakeLists.txt @@ -11,13 +11,14 @@ endif() find_package(ZLIB REQUIRED) find_package(mpg123 CONFIG REQUIRED) -find_package(Vorbis REQUIRED) +find_package(Vorbis CONFIG REQUIRED) -file(GLOB HEADERS libopenmpt/*.h libopenmpt/*.hpp) +file(GLOB HEADERS libopenmpt/*.h libopenmpt/*.hpp src/openmpt/all/*.hpp) list(FILTER HEADERS EXCLUDE REGEX "_impl\\.hpp$|_internal\\.h$") include_directories( . + src build/svn_version libopenmpt common @@ -43,6 +44,7 @@ set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) add_library(libopenmpt ${SOURCES}) +set_target_properties(libopenmpt PROPERTIES OUTPUT_NAME openmpt) target_compile_definitions(libopenmpt PRIVATE -DMPT_WITH_MPG123 -DMPT_WITH_OGG @@ -73,23 +75,33 @@ 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]]) set(libdir [[${prefix}/lib]]) configure_file(libopenmpt/libopenmpt.pc.in libopenmpt.pc) -install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libopenmpt.pc DESTINATION lib/pkgconfig) +install(FILES "${CMAKE_CURRENT_BINARY_DIR}/libopenmpt.pc" DESTINATION lib/pkgconfig) install(TARGETS libopenmpt EXPORT libopenmpt-targets) install(EXPORT libopenmpt-targets DESTINATION share/libopenmpt NAMESPACE libopenmpt::) -file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/libopenmpt-config.cmake [[ +file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/libopenmpt-config.cmake" [[ include(CMakeFindDependencyMacro) find_dependency(ZLIB) find_dependency(mpg123 CONFIG) -find_dependency(Vorbis) -include(${CMAKE_CURRENT_LIST_DIR}/libopenmpt-targets.cmake) +find_dependency(Vorbis CONFIG) +include("${CMAKE_CURRENT_LIST_DIR}/libopenmpt-targets.cmake") ]]) install(FILES ${HEADERS} DESTINATION include/libopenmpt) -install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libopenmpt-config.cmake DESTINATION share/libopenmpt) +install(FILES "${CMAKE_CURRENT_BINARY_DIR}/libopenmpt-config.cmake" DESTINATION share/libopenmpt) diff --git a/ports/libopenmpt/portfile.cmake b/ports/libopenmpt/portfile.cmake index 77e2a823ff6bca..7cf56c2017c8d2 100644 --- a/ports/libopenmpt/portfile.cmake +++ b/ports/libopenmpt/portfile.cmake @@ -1,20 +1,17 @@ vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO OpenMPT/openmpt - REF 7da598b28acdb8ee8ea0ed93bcb57d680424f5cc # libopenmpt-0.5.12 - SHA512 0f5441518dbbbbae194c724c47238a3cad876d8eb81e6a89fed3801724a6ae023d6d8806f792dc2f44082f3849cd4e1130081db3668f9974170171227f70e879 - HEAD_REF master + OUT_SOURCE_PATH SOURCE_PATH + REPO OpenMPT/openmpt + REF "libopenmpt-${VERSION}" + SHA512 ac13ae299c61ce61d5cfd580d5f6377817654c43c0164db1823501b31fdc873e64709bd6b91a0709eed95d9e9572849ec16d61eae6b05d9eabb419faf52cf9b2 + HEAD_REF master ) -file(READ ${CMAKE_CURRENT_LIST_DIR}/vcpkg.json vcpkg_json) -string(JSON version GET "${vcpkg_json}" "version") - -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 - -DVERSION=${version} + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + "-DVERSION=${VERSION}" ) vcpkg_cmake_install() vcpkg_cmake_config_fixup() @@ -27,5 +24,5 @@ else() vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/include/libopenmpt/libopenmpt_config.h "defined(LIBOPENMPT_USE_DLL)" "1") endif() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/libopenmpt/vcpkg.json b/ports/libopenmpt/vcpkg.json index d050598a1a3f5f..c6f3770a5efc80 100644 --- a/ports/libopenmpt/vcpkg.json +++ b/ports/libopenmpt/vcpkg.json @@ -1,8 +1,9 @@ { "name": "libopenmpt", - "version": "0.5.12", - "description": "a library to render tracker music", + "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", "dependencies": [ "libogg", "libvorbis", diff --git a/ports/libopensp/opensp.pc.in b/ports/libopensp/opensp.pc.in new file mode 100644 index 00000000000000..2b659bd422a8be --- /dev/null +++ b/ports/libopensp/opensp.pc.in @@ -0,0 +1,12 @@ +prefix=@PREFIX@ +exec_prefix=${prefix} +libdir=${prefix}/lib +includedir=${prefix}/include/OpenSP + +Name: opensp +Description: SGML parser algorithm library +Version: @VERSION@ +Libs: -L${libdir} -losp +Libs.private: @EXTRA_LIBS@ +Cflags: -I${includedir} +Cflags.private: diff --git a/ports/libopensp/portfile.cmake b/ports/libopensp/portfile.cmake index aa7fdadfffb46d..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_ex( - OUT_SOURCE_PATH SOURCE_PATH +vcpkg_extract_source_archive( + SOURCE_PATH ARCHIVE "${ARCHIVE}" - REF ${OPENSP_VERSION} + SOURCE_BASE ${VERSION} PATCHES ${PATCHES} ) @@ -28,9 +29,9 @@ if (VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_UWP) vcpkg_cmake_install() else() - set(EXTRA_OPTS "") if(VCPKG_TARGET_IS_OSX) - list(APPEND EXTRA_OPTS "LDFLAGS=-framework CoreFoundation \$LDFLAGS") # libintl links to it + # libintl links to those + set(EXTRA_LIBS "-framework CoreFoundation -lintl -liconv") endif() vcpkg_configure_make( @@ -38,12 +39,13 @@ else() SOURCE_PATH "${SOURCE_PATH}" OPTIONS --disable-doc-build - ${EXTRA_OPTS} + "LDFLAGS=${EXTRA_LIBS} \$LDFLAGS" ) vcpkg_install_make() endif() +configure_file("${CMAKE_CURRENT_LIST_DIR}/opensp.pc.in" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/opensp.pc" @ONLY) vcpkg_fixup_pkgconfig() vcpkg_copy_pdbs() @@ -53,4 +55,5 @@ endif() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") 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/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 b61ba7152520df..879e196837f76f 100644 --- a/ports/libopensp/vcpkg.json +++ b/ports/libopensp/vcpkg.json @@ -1,8 +1,10 @@ { "name": "libopensp", "version": "1.5.2", + "port-version": 3, "description": "SGML parser algorithm", "homepage": "http://openjade.sourceforge.net", + "license": "MIT", "dependencies": [ { "name": "gettext", diff --git a/ports/libopensp/windows_cmake_build.diff b/ports/libopensp/windows_cmake_build.diff index 2c9e8253732993..bac0b152a3e699 100644 --- a/ports/libopensp/windows_cmake_build.diff +++ b/ports/libopensp/windows_cmake_build.diff @@ -1,13 +1,9 @@ diff -Nru -x '*~' OpenSP-1.5.2.orig/CMakeLists.txt OpenSP-1.5.2/CMakeLists.txt --- OpenSP-1.5.2.orig/CMakeLists.txt 1970-01-01 02:00:00.000000000 +0200 +++ OpenSP-1.5.2/CMakeLists.txt 2014-08-24 17:23:19.941495700 +0300 -@@ -0,0 +1,24 @@ +@@ -0,0 +1,20 @@ +project(opensp) + -+set (VERSION_MAJOR 1) -+set (VERSION_MINOR 5) -+set (VERSION_PATH 2) -+ +cmake_minimum_required(VERSION 2.6) + +include_directories( @@ -54,7 +50,7 @@ diff -Nru -x '*~' OpenSP-1.5.2.orig/config.h OpenSP-1.5.2/config.h #define SP_HAVE_SETMODE #define SP_DLLEXPORT __declspec(dllexport) #define SP_DLLIMPORT __declspec(dllimport) -@@ -301,15 +312,8 @@ +@@ -301,12 +312,5 @@ #define PATH_SEPARATOR ':' #endif @@ -66,12 +62,7 @@ diff -Nru -x '*~' OpenSP-1.5.2.orig/config.h OpenSP-1.5.2/config.h -#endif - // NOTE: This is processed as a Makefile, not as a header by autoconf. --#define SP_PACKAGE "OpenSP" --#define SP_VERSION "1.5.2" -+#define SP_PACKAGE "@PACKAGE@" -+#define SP_VERSION "@VERSION@" - - #endif /* not config_INCLUDED */ + #define SP_PACKAGE "OpenSP" diff -Nru -x '*~' OpenSP-1.5.2.orig/generic/SGMLApplication.h OpenSP-1.5.2/generic/SGMLApplication.h --- OpenSP-1.5.2.orig/generic/SGMLApplication.h 2005-05-14 12:17:41.000000000 +0300 +++ OpenSP-1.5.2/generic/SGMLApplication.h 2014-08-24 17:23:19.957120700 +0300 diff --git a/ports/libopnmidi/cmake-build-shared-libs-support.patch b/ports/libopnmidi/cmake-build-shared-libs-support.patch new file mode 100644 index 00000000000000..b17a87ff8de8cf --- /dev/null +++ b/ports/libopnmidi/cmake-build-shared-libs-support.patch @@ -0,0 +1,24 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 4276e23..1d6ac82 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -120,8 +120,17 @@ if(NOT EMSCRIPTEN + AND NOT NINTENDO_WIIU + AND NOT NINTENDO_SWITCH + AND NOT MSDOS) +- option(libOPNMIDI_STATIC "Build static library of libOPNMIDI" ON) +- option(libOPNMIDI_SHARED "Build shared library of libOPNMIDI" OFF) ++ set(libOPNMIDI_STATIC_ENABLED_BY_DEFAULT ON) ++ set(libOPNMIDI_SHARED_ENABLED_BY_DEFAULT OFF) ++ ++ # When defined, respect CMake's BUILD_SHARED_LIBS setting ++ if (BUILD_SHARED_LIBS) ++ set(libOPNMIDI_SHARED_ENABLED_BY_DEFAULT ON) ++ set(libOPNMIDI_STATIC_ENABLED_BY_DEFAULT OFF) ++ endif() ++ ++ option(libOPNMIDI_STATIC "Build static library of libOPNMIDI" ${libOPNMIDI_STATIC_ENABLED_BY_DEFAULT}) ++ option(libOPNMIDI_SHARED "Build shared library of libOPNMIDI" ${libOPNMIDI_SHARED_ENABLED_BY_DEFAULT}) + else() + set(libOPNMIDI_STATIC ON) + set(libOPNMIDI_SHARED OFF) diff --git a/ports/libopnmidi/cmake-package-export.patch b/ports/libopnmidi/cmake-package-export.patch new file mode 100644 index 00000000000000..3a5eb342e382da --- /dev/null +++ b/ports/libopnmidi/cmake-package-export.patch @@ -0,0 +1,127 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 66d4848..4276e23 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -155,8 +155,6 @@ if(WIN32) + option(WITH_WINMMDRV "Build a WinMM MIDI driver" OFF) + endif() + +-set(libOPNMIDI_INSTALLS) +- + include_directories(${libOPNMIDI_SOURCE_DIR}/include) + include_directories(${libOPNMIDI_SOURCE_DIR}/src/) + link_directories(${libOPNMIDI_BINARY_DIR}/) +@@ -317,10 +315,9 @@ if(libOPNMIDI_STATIC OR WITH_VLC_PLUGIN) + else() + set_target_properties(OPNMIDI_static PROPERTIES OUTPUT_NAME OPNMIDI) + endif() +- target_include_directories(OPNMIDI_static PUBLIC ${libOPNMIDI_SOURCE_DIR}/include) ++ target_include_directories(OPNMIDI_static PUBLIC $ $) + set_legacy_standard(OPNMIDI_static) + set_visibility_hidden(OPNMIDI_static) +- list(APPEND libOPNMIDI_INSTALLS OPNMIDI_static) + + # -fPIC thing + if(ENABLE_FPIC) +@@ -340,10 +337,9 @@ if(libOPNMIDI_SHARED) + VERSION ${libOPNMIDI_VERSION} + SOVERSION ${libOPNMIDI_VERSION_MAJOR} + ) +- target_include_directories(OPNMIDI_shared PUBLIC ${libOPNMIDI_SOURCE_DIR}/include) ++ target_include_directories(OPNMIDI_shared PUBLIC $ $) + set_legacy_standard(OPNMIDI_shared) + set_visibility_hidden(OPNMIDI_shared) +- list(APPEND libOPNMIDI_INSTALLS OPNMIDI_shared) + + if(WIN32) + target_compile_definitions(OPNMIDI_shared PRIVATE "-DOPNMIDI_BUILD_DLL") +@@ -416,17 +412,45 @@ if(WITH_HQ_RESAMPLER) + endif() + endif() + +-install(TARGETS ${libOPNMIDI_INSTALLS} +- RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" +- LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" +- ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" +- INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") ++if(libOPNMIDI_STATIC) ++ install(TARGETS OPNMIDI_static ++ EXPORT libOPNMIDIStaticTargets ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}") ++ ++ install(EXPORT libOPNMIDIStaticTargets ++ FILE libOPNMIDI-static-targets.cmake ++ NAMESPACE libOPNMIDI:: ++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/libOPNMIDI") ++endif() ++ ++if(libOPNMIDI_SHARED) ++ install(TARGETS OPNMIDI_shared ++ EXPORT libOPNMIDISharedTargets ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}") ++ ++ install(EXPORT libOPNMIDISharedTargets ++ FILE libOPNMIDI-shared-targets.cmake ++ NAMESPACE libOPNMIDI:: ++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/libOPNMIDI") ++endif() + + install(FILES + include/opnmidi.h + #include/opnmidi.hpp # WIP + DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") + ++include(CMakePackageConfigHelpers) ++configure_package_config_file(libOPNMIDIConfig.cmake.in "${CMAKE_CURRENT_BINARY_DIR}/libOPNMIDIConfig.cmake" ++ PATH_VARS CMAKE_INSTALL_PREFIX CMAKE_INSTALL_FULL_BINDIR CMAKE_INSTALL_FULL_INCLUDEDIR CMAKE_INSTALL_FULL_LIBDIR ++ INSTALL_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/libOPNMIDI" ++) ++install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libOPNMIDIConfig.cmake ++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/libOPNMIDI") ++ + if(WITH_EXTRA_BANKS AND NOT APPLE) + file(GLOB WOPN_FILES ${libOPNMIDI_SOURCE_DIR}/fm_banks/*.wopn) + install(FILES ${WOPN_FILES} +diff --git a/libOPNMIDIConfig.cmake.in b/libOPNMIDIConfig.cmake.in +new file mode 100644 +index 0000000..f292e48 +--- /dev/null ++++ b/libOPNMIDIConfig.cmake.in +@@ -0,0 +1,33 @@ ++include(FeatureSummary) ++set_package_properties(libOPNMIDI PROPERTIES ++ URL "https://github.com/Wohlstand/libOPNMIDI" ++ DESCRIPTION "libOPNMIDI is a free Software MIDI synthesizer library with OPN2 (YM2612) and OPNA (YM2608) emulation" ++) ++ ++@PACKAGE_INIT@ ++ ++if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/libOPNMIDI-shared-targets.cmake") ++ include("${CMAKE_CURRENT_LIST_DIR}/libOPNMIDI-shared-targets.cmake") ++endif() ++if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/libOPNMIDI-static-targets.cmake") ++ include("${CMAKE_CURRENT_LIST_DIR}/libOPNMIDI-static-targets.cmake") ++endif() ++ ++if(TARGET libOPNMIDI::OPNMIDI_shared) ++ if(CMAKE_VERSION VERSION_LESS "3.18") ++ add_library(libOPNMIDI::OPNMIDI_IF INTERFACE IMPORTED) ++ set_target_properties(libOPNMIDI::OPNMIDI_IF PROPERTIES INTERFACE_LINK_LIBRARIES "libOPNMIDI::OPNMIDI_shared") ++ else() ++ add_library(libOPNMIDI::OPNMIDI_IF ALIAS libOPNMIDI::OPNMIDI_shared) ++ endif() ++else() ++ if(CMAKE_VERSION VERSION_LESS "3.18") ++ add_library(libOPNMIDI::OPNMIDI_IF INTERFACE IMPORTED) ++ set_target_properties(libOPNMIDI::OPNMIDI_IF PROPERTIES INTERFACE_LINK_LIBRARIES "libOPNMIDI::OPNMIDI_static") ++ add_library(libOPNMIDI::OPNMIDI_IF_STATIC INTERFACE IMPORTED) ++ set_target_properties(libOPNMIDI::OPNMIDI_IF_STATIC PROPERTIES INTERFACE_LINK_LIBRARIES "libOPNMIDI::OPNMIDI_static") ++ else() ++ add_library(libOPNMIDI::OPNMIDI_IF ALIAS libOPNMIDI::OPNMIDI_static) ++ add_library(libOPNMIDI::OPNMIDI_IF_STATIC ALIAS libOPNMIDI::OPNMIDI_static) ++ endif() ++endif() diff --git a/ports/libopnmidi/disable-wopn2hpp.patch b/ports/libopnmidi/disable-wopn2hpp.patch new file mode 100644 index 00000000000000..b448049d2c43e9 --- /dev/null +++ b/ports/libopnmidi/disable-wopn2hpp.patch @@ -0,0 +1,35 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ee71863..66d4848 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -144,6 +144,7 @@ option(USE_VGM_FILE_DUMPER "Use VGM File Dumper (required to build the MIDI2VGM + + option(WITH_MIDIPLAY "Build also demo MIDI player" OFF) + option(WITH_MIDI2VGM "Build also MIDI to VGM converter tool" OFF) ++option(WITH_WOPN2HPP "Build also the WOPN to C++ header source converter tool" OFF) + option(WITH_VLC_PLUGIN "Build also a plugin for VLC Media Player" OFF) + option(VLC_PLUGIN_NOINSTALL "Don't install VLC plugin into VLC directory" OFF) + option(WITH_DAC_UTIL "Build also OPN2 DAC testing utility" OFF) +@@ -388,13 +389,7 @@ if(WITH_MIDI2VGM) + add_subdirectory(utils/midi2vgm) + endif() + +-if(NOT ANDROID +- AND NOT EMSCRIPTEN +- AND NOT VITA +- AND NOT NINTENDO_3DS +- AND NOT NINTENDO_WII +- AND NOT NINTENDO_WIIU +- AND NOT NINTENDO_SWITCH) ++if(WITH_WOPN2HPP) + add_subdirectory(utils/wopn2hpp) + endif() + +@@ -493,6 +488,7 @@ message("USE_VGM_FILE_DUMPER = ${USE_VGM_FILE_DUMPER}") + + message("===== Utils and extras =====") + message("WITH_MIDIPLAY = ${WITH_MIDIPLAY}") ++message("WITH_WOPN2HPP = ${WITH_WOPN2HPP}") + message("WITH_VLC_PLUGIN = ${WITH_VLC_PLUGIN}") + message("WITH_DAC_UTIL = ${WITH_DAC_UTIL}") + if(WIN32) diff --git a/ports/libopnmidi/fix-build-without-sequencer.patch b/ports/libopnmidi/fix-build-without-sequencer.patch new file mode 100644 index 00000000000000..e10809b9d93404 --- /dev/null +++ b/ports/libopnmidi/fix-build-without-sequencer.patch @@ -0,0 +1,49 @@ +diff --git a/src/opnmidi.cpp b/src/opnmidi.cpp +index c70197f..98226dc 100644 +--- a/src/opnmidi.cpp ++++ b/src/opnmidi.cpp +@@ -433,7 +433,7 @@ OPNMIDI_EXPORT void opn2_setLoopCount(OPN2_MIDIPlayer *device, int loopCount) + + OPNMIDI_EXPORT void opn2_setLoopHooksOnly(OPN2_MIDIPlayer *device, int loopHooksOnly) + { +-#ifndef ADLMIDI_DISABLE_MIDI_SEQUENCER ++#ifndef OPNMIDI_DISABLE_MIDI_SEQUENCER + if(!device) + return; + MidiPlayer *play = GET_MIDI_PLAYER(device); +@@ -576,7 +576,7 @@ OPNMIDI_EXPORT int opn2_openData(OPN2_MIDIPlayer *device, const void *mem, unsig + + OPNMIDI_EXPORT void opn2_selectSongNum(struct OPN2_MIDIPlayer *device, int songNumber) + { +-#ifndef ADLMIDI_DISABLE_MIDI_SEQUENCER ++#ifndef OPNMIDI_DISABLE_MIDI_SEQUENCER + if(!device) + return; + +@@ -591,7 +591,7 @@ OPNMIDI_EXPORT void opn2_selectSongNum(struct OPN2_MIDIPlayer *device, int songN + + OPNMIDI_EXPORT int opn2_getSongsCount(struct OPN2_MIDIPlayer *device) + { +-#ifndef ADLMIDI_DISABLE_MIDI_SEQUENCER ++#ifndef OPNMIDI_DISABLE_MIDI_SEQUENCER + if(!device) + return 0; + +@@ -986,7 +986,7 @@ OPNMIDI_EXPORT void opn2_setLoopStartHook(struct OPN2_MIDIPlayer *device, OPN2_L + assert(play); + play->hooks.onLoopStart = loopStartHook; + play->hooks.onLoopStart_userData = userData; +-#ifndef ADLMIDI_DISABLE_MIDI_SEQUENCER ++#ifndef OPNMIDI_DISABLE_MIDI_SEQUENCER + play->m_sequencerInterface->onloopStart = loopStartHook; + play->m_sequencerInterface->onloopStart_userData = userData; + #endif +@@ -1001,7 +1001,7 @@ OPNMIDI_EXPORT void opn2_setLoopEndHook(struct OPN2_MIDIPlayer *device, OPN2_Loo + assert(play); + play->hooks.onLoopEnd = loopEndHook; + play->hooks.onLoopEnd_userData = userData; +-#ifndef ADLMIDI_DISABLE_MIDI_SEQUENCER ++#ifndef OPNMIDI_DISABLE_MIDI_SEQUENCER + play->m_sequencerInterface->onloopEnd = loopEndHook; + play->m_sequencerInterface->onloopEnd_userData = userData; + #endif 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/fix-pmdwin-emulator-include.patch b/ports/libopnmidi/fix-pmdwin-emulator-include.patch new file mode 100644 index 00000000000000..f01ae30a662feb --- /dev/null +++ b/ports/libopnmidi/fix-pmdwin-emulator-include.patch @@ -0,0 +1,29 @@ +diff --git a/src/chips/pmdwin/opna.c b/src/chips/pmdwin/opna.c +index 3dbf164..78b88a5 100644 +--- a/src/chips/pmdwin/opna.c ++++ b/src/chips/pmdwin/opna.c +@@ -27,7 +27,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ + #include + #include + #include +-#include + #include + #include "op.h" + #include "psg.h" +diff --git a/src/chips/pmdwin/psg.c b/src/chips/pmdwin/psg.c +index 44a7cf0..a1b1c43 100644 +--- a/src/chips/pmdwin/psg.c ++++ b/src/chips/pmdwin/psg.c +@@ -39,7 +39,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ + #include + #include + #include +-#include + #include "op.h" + #include "psg.h" + +@@ -340,4 +339,3 @@ void PSGMix(PSG *psg, int32_t *dest, uint32_t nsamples) + } + } + } +- diff --git a/ports/libopnmidi/portfile.cmake b/ports/libopnmidi/portfile.cmake new file mode 100644 index 00000000000000..a312c7aae7d37a --- /dev/null +++ b/ports/libopnmidi/portfile.cmake @@ -0,0 +1,54 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Wohlstand/libOPNMIDI + REF "v${VERSION}" + SHA512 735af8c65c54e1e57e9d3e8582465636c0efeb7a03c7b0f5e2ef16f5cfd14fb34e99f738bb5a5cb43fe44fc584c3241eee6ae21a0f604702f101442f42601bcd + PATCHES + # patches from master, they should be removed when a new version is out + cmake-package-export.patch + cmake-build-shared-libs-support.patch + 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 + FEATURES + midi-sequencer WITH_MIDI_SEQUENCER + mame-ym2612-emulator USE_MAME_EMULATOR + mame-ym2608-emulator USE_MAME_2608_EMULATOR + nuked-emulator USE_NUKED_EMULATOR + gens-emulator USE_GENS_EMULATOR + gx-emulator USE_GX_EMULATOR + np2-emulator USE_NP2_EMULATOR + pmdwin-emulator USE_PMDWIN_EMULATOR + mus WITH_MUS_SUPPORT + xmi WITH_XMI_SUPPORT +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} + -DUSE_VGM_FILE_DUMPER=OFF + -DWITH_WOPN2HPP=OFF +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/libOPNMIDI) + +vcpkg_fixup_pkgconfig() + +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/share/doc" +) + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") + +file(GLOB LICENSE_FILES "${SOURCE_PATH}/LICENSE*") +vcpkg_install_copyright(FILE_LIST ${LICENSE_FILES}) diff --git a/ports/libopnmidi/usage b/ports/libopnmidi/usage new file mode 100644 index 00000000000000..a6c15bb977cf10 --- /dev/null +++ b/ports/libopnmidi/usage @@ -0,0 +1,4 @@ +libopnmidi provides CMake targets: + + find_package(libOPNMIDI CONFIG REQUIRED) + target_link_libraries(main PRIVATE libOPNMIDI::OPNMIDI_IF) diff --git a/ports/libopnmidi/vcpkg.json b/ports/libopnmidi/vcpkg.json new file mode 100644 index 00000000000000..1fd91a9ef79fd6 --- /dev/null +++ b/ports/libopnmidi/vcpkg.json @@ -0,0 +1,60 @@ +{ + "name": "libopnmidi", + "version": "1.5.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", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "default-features": [ + "gens-emulator", + "mame-ym2608-emulator", + "mame-ym2612-emulator", + "midi-sequencer", + "mus", + "np2-emulator", + "nuked-emulator", + "xmi" + ], + "features": { + "gens-emulator": { + "description": "Build with GENS 2.10 emulator (innacurate, fastest)" + }, + "gx-emulator": { + "description": "Build with Genesis Plus GX emulator (experimental)" + }, + "mame-ym2608-emulator": { + "description": "Build with MAME YM2608 emulator (well-accurate and fast)" + }, + "mame-ym2612-emulator": { + "description": "Build with MAME YM2612 emulator (well-accurate and fast)" + }, + "midi-sequencer": { + "description": "Build with embedded MIDI sequencer" + }, + "mus": { + "description": "Support for DMX MUS files" + }, + "np2-emulator": { + "description": "Build with Neko Project 2 YM2608 emulator (semi-accurate and fast)" + }, + "nuked-emulator": { + "description": "Build with Nuked OPN2 emulator (very accurate, needs more CPU power)" + }, + "pmdwin-emulator": { + "description": "Build with PMDWin emulator (experimental)" + }, + "xmi": { + "description": "Support for AIL XMI files" + } + } +} diff --git a/ports/libopusenc/portfile.cmake b/ports/libopusenc/portfile.cmake index 7a4eacee4dbb71..1f04d8936eaca8 100644 --- a/ports/libopusenc/portfile.cmake +++ b/ports/libopusenc/portfile.cmake @@ -9,20 +9,18 @@ vcpkg_from_github( SHA512 9681421a967b93770796dd3503c00e1418de86438d2bfe77011dc68f6db5d666508d33c0df7308db3b7ea18f5e1b14a3115fd63837987e16347ec801c3771d26 HEAD_REF master) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake(SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}" OPTIONS_DEBUG -DOPUSENC_SKIP_HEADERS=ON) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() # make includes work with MSBuild integration -file(READ ${CURRENT_PACKAGES_DIR}/include/opus/opusenc.h OPUSENC_H) +file(READ "${CURRENT_PACKAGES_DIR}/include/opus/opusenc.h" OPUSENC_H) string(REPLACE "#include " "#include \"opus.h\"" OPUSENC_H "${OPUSENC_H}") -file(WRITE ${CURRENT_PACKAGES_DIR}/include/opus/opusenc.h "${OPUSENC_H}") +file(WRITE "${CURRENT_PACKAGES_DIR}/include/opus/opusenc.h" "${OPUSENC_H}") -file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libopusenc) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/libopusenc/COPYING ${CURRENT_PACKAGES_DIR}/share/libopusenc/copyright) +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/libopusenc/vcpkg.json b/ports/libopusenc/vcpkg.json index 0ce806c812bad4..81c87aca6fd7b7 100644 --- a/ports/libopusenc/vcpkg.json +++ b/ports/libopusenc/vcpkg.json @@ -1,11 +1,15 @@ { "name": "libopusenc", - "version-string": "0.2.1", - "port-version": 1, + "version": "0.2.1", + "port-version": 3, "description": "Library for encoding .opus audio files and live streams.", "homepage": "https://github.com/xiph/libopusenc", "supports": "!uwp", "dependencies": [ - "opus" + "opus", + { + "name": "vcpkg-cmake", + "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 c46102a6563db4..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) @@ -11,15 +9,13 @@ if(VCPKG_TARGET_IS_WINDOWS) list(APPEND PATCHES fix-path-in-project.patch) endif() -vcpkg_extract_source_archive_ex( +vcpkg_extract_source_archive( + SOURCE_PATH ARCHIVE "${ARCHIVE}" - OUT_SOURCE_PATH SOURCE_PATH PATCHES ${PATCHES} ) -if(VCPKG_TARGET_IS_WINDOWS) - vcpkg_fail_port_install(ON_ARCH "arm" "arm64") - +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" @@ -31,29 +27,25 @@ if(VCPKG_TARGET_IS_WINDOWS) ) endforeach() - vcpkg_install_msbuild( + vcpkg_msbuild_install( SOURCE_PATH "${SOURCE_PATH}" PROJECT_SUBPATH "platform/vsnet/osip2.vcxproj" - INCLUDES_SUBPATH include - USE_VCPKG_INTEGRATION - REMOVE_ROOT_INCLUDES ) - vcpkg_install_msbuild( + file(COPY "${SOURCE_PATH}/include/" DESTINATION "${CURRENT_PACKAGES_DIR}/include" PATTERN Makefile.* EXCLUDE) + + vcpkg_msbuild_install( SOURCE_PATH "${SOURCE_PATH}" PROJECT_SUBPATH "platform/vsnet/osipparser2.vcxproj" - USE_VCPKG_INTEGRATION ) -elseif(VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_OSX) +else() vcpkg_configure_make(SOURCE_PATH "${SOURCE_PATH}") vcpkg_install_make() vcpkg_fixup_pkgconfig() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") - endif() -# Handle copyright -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/libosip2/vcpkg.json b/ports/libosip2/vcpkg.json index 8b3d9ecc804f7e..976a67970bc0b1 100644 --- a/ports/libosip2/vcpkg.json +++ b/ports/libosip2/vcpkg.json @@ -1,11 +1,16 @@ { "name": "libosip2", - "version": "5.2.0", + "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)", + "supports": "!(windows & arm) & !uwp", "dependencies": [ - "pthread" + "pthread", + { + "name": "vcpkg-msbuild", + "host": true, + "platform": "windows" + } ] } diff --git a/ports/libosmium/portfile.cmake b/ports/libosmium/portfile.cmake index f764134df63a07..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 v2.17.1 - SHA512 08d1eb272b82364118b97213310e5d62fdbb071cfad74989bdc5bb25f9e14b067d53016d19bfed3972d3385343fc74edf86407860be83c59e74902cd1f26bb33 + 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 904c1e22a35bb5..e526a2e40f3716 100644 --- a/ports/libosmium/vcpkg.json +++ b/ports/libosmium/vcpkg.json @@ -1,15 +1,17 @@ { "name": "libosmium", - "version-semver": "2.17.1", + "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", "dependencies": [ - "boost", + "boost-crc", + "boost-variant", "bzip2", "expat", - "proj4", + "lz4", "protozero", - "utfcpp", { "name": "vcpkg-cmake", "host": true diff --git a/ports/libosmscout/portfile.cmake b/ports/libosmscout/portfile.cmake index 20125753c1330b..4cb246225bcecf 100644 --- a/ports/libosmscout/portfile.cmake +++ b/ports/libosmscout/portfile.cmake @@ -4,25 +4,20 @@ vcpkg_from_github( REF c81e1d9a0f69cc5b93588dbe330b2af587162c5f SHA512 d6ddbc49dd40b1f938ae2cd1ea9342cab0a52db46bf7ed6716111a91d0a38acba12ff2e273d457db51fc240d578a5b849af77b53e600482cf52c3b22306f8c45 HEAD_REF master + PATCHES protobuf-linkage.patch ) -if(VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_UWP) - vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - cairo OSMDCOUT_BUILD_MAP_CAIRO - directx OSMDCOUT_BUILD_MAP_DIRECTX - gdi OSMDCOUT_BUILD_MAP_GDI - svg OSMDCOUT_BUILD_MAP_SVG - ) -else() - vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - cairo OSMDCOUT_BUILD_MAP_CAIRO - svg OSMDCOUT_BUILD_MAP_SVG - ) - list(APPEND FEATURE_OPTIONS -DOSMDCOUT_BUILD_MAP_DIRECTX=OFF -DOSMDCOUT_BUILD_MAP_GDI=OFF) -endif() +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES + cairo OSMSCOUT_BUILD_MAP_CAIRO + directx OSMSCOUT_BUILD_MAP_DIRECTX + gdi OSMSCOUT_BUILD_MAP_GDI + svg OSMSCOUT_BUILD_MAP_SVG + qt5 OSMSCOUT_BUILD_MAP_QT +) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + WINDOWS_USE_MSBUILD OPTIONS -DOSMSCOUT_BUILD_DEMOS=OFF -DOSMSCOUT_BUILD_TOOL_DUMPDATA=OFF @@ -33,15 +28,14 @@ vcpkg_configure_cmake( -DOSMSCOUT_BUILD_TOOL_STYLEEDITOR=OFF -DOSMSCOUT_BUILD_EXTERN_MATLAB=OFF -DOSMSCOUT_BUILD_TESTS=OFF - -DOSMDCOUT_BUILD_MAP_QT=OFF ${FEATURE_OPTIONS} ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_tools(TOOL_NAMES Import AUTO_CLEAN) -vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/libosmscout) +vcpkg_cmake_config_fixup(CONFIG_PATH share/cmake/libosmscout) -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/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") 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 7a80efed0c3209..fca91e195fbfa5 100644 --- a/ports/libosmscout/vcpkg.json +++ b/ports/libosmscout/vcpkg.json @@ -1,6 +1,7 @@ { "name": "libosmscout", - "version-string": "1.1.1", + "version": "1.1.1", + "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/", @@ -10,6 +11,14 @@ "liblzma", "libxml2", "protobuf", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, "zlib" ], "features": { @@ -24,10 +33,19 @@ ] }, "directx": { - "description": "Direct2D backend renderer" + "description": "Direct2D backend renderer", + "supports": "windows" }, "gdi": { - "description": "GDI+ backend renderer" + "description": "GDI+ backend renderer", + "supports": "windows" + }, + "qt5": { + "description": "Enable build of Qt5 map drawing backend", + "dependencies": [ + "qt5-base", + "qt5-svg" + ] }, "svg": { "description": "SVG backend renderer", diff --git a/ports/libp7client/portfile.cmake b/ports/libp7client/portfile.cmake index 66a87883463593..63131c5f3020c0 100644 --- a/ports/libp7client/portfile.cmake +++ b/ports/libp7client/portfile.cmake @@ -1,27 +1,24 @@ -vcpkg_fail_port_install(ON_ARCH "arm" ON_TARGET "uwp" "osx") - vcpkg_download_distfile(ARCHIVE URLS http://baical.net/files/libP7Client_v5.6.zip FILENAME libP7Client_v5.6.zip SHA512 992256854b717a45ae9e11ed16aa27b8b054de97718f027664634597d756aa26fe10dcad765cde7695802c90def46461abbcbfde81923fdd40ea2b659e1a8240 ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH +vcpkg_extract_source_archive( + SOURCE_PATH ARCHIVE "${ARCHIVE}" NO_REMOVE_ONE_LEVEL ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +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 dda660ebc884e2..4e2a56399fb45b 100644 --- a/ports/libp7client/vcpkg.json +++ b/ports/libp7client/vcpkg.json @@ -1,8 +1,14 @@ { "name": "libp7client", - "version-string": "5.6", - "port-version": 1, + "version": "5.6", + "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)" + "supports": "!(arm | uwp | osx)", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/libpcap/add-disable-packet-option.patch b/ports/libpcap/add-disable-packet-option.patch deleted file mode 100644 index 9d89a550596e13..00000000000000 --- a/ports/libpcap/add-disable-packet-option.patch +++ /dev/null @@ -1,31 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 2f675d1..e9d6d96 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -244,6 +244,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. -@@ -302,7 +303,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) -@@ -317,7 +318,8 @@ 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) - if(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 6dd18f202340c0..00000000000000 --- a/ports/libpcap/install-pc-on-msvc.patch +++ /dev/null @@ -1,37 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index b83fbbd..2f675d1 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -2678,9 +2678,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(BUILD_SHARED_LIBS) -+ set(PACKAGE_NAME ${LIBRARY_NAME}) -+else() -+ set(PACKAGE_NAME pcap) -+endif() - set(prefix ${CMAKE_INSTALL_PREFIX}) - set(exec_prefix "\${prefix}") - set(includedir "\${prefix}/include") -@@ -2715,10 +2718,14 @@ if(NOT MSVC) - foreach(LIB ${PCAP_LINK_LIBRARIES}) - set(LIBS "${LIBS} -l${LIB}") - endforeach(LIB) -- 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 9fef5379d03eeb..360721889eff81 100644 --- a/ports/libpcap/portfile.cmake +++ b/ports/libpcap/portfile.cmake @@ -1,84 +1,66 @@ -vcpkg_fail_port_install(ON_TARGET "UWP" "OSX") - 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() - -list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO the-tcpdump-group/libpcap - REF c7642e2cc0c5bd65754685b160d25dc23c76c6bd #1.10.1 - SHA512 ed46095863aaee79ca2833d26438f6c837cc3e64acb73efd5a388a11ff7d0d1245d23e5404070a9f2c2c77840c93c09328746761e4481e9a530593a5cbf2ad6f + REF "libpcap-${VERSION}" + 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() -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) - -# 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() -if(VCPKG_LIBRARY_LINKAGE STREQUAL static) +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") \ No newline at end of file + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/libpcap/vcpkg.json b/ports/libpcap/vcpkg.json index 56e2a86ae08d21..1ec9cd115397f7 100644 --- a/ports/libpcap/vcpkg.json +++ b/ports/libpcap/vcpkg.json @@ -1,9 +1,10 @@ { "name": "libpcap", - "version-semver": "1.10.1", + "version-semver": "1.10.5", "description": "A portable C/C++ library for network traffic capture", "homepage": "https://www.tcpdump.org/", - "supports": "!(uwp | osx)", + "license": "BSD-3-Clause", + "supports": "!uwp", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/libpff/CMakeLists.txt b/ports/libpff/CMakeLists.txt index 276db5d80a1f65..44317432d7dc96 100644 --- a/ports/libpff/CMakeLists.txt +++ b/ports/libpff/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.12) project(libpff C) -find_package(zlib REQUIRED) +find_package(ZLIB REQUIRED) if(MSVC) add_compile_definitions(_CRT_SECURE_NO_DEPRECATE) diff --git a/ports/libpff/portfile.cmake b/ports/libpff/portfile.cmake index 5a3e81388e18b3..882825a2a6da77 100644 --- a/ports/libpff/portfile.cmake +++ b/ports/libpff/portfile.cmake @@ -1,37 +1,35 @@ vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) -set(LIB_VERSION 20180714) -set(LIB_FILENAME libpff-experimental-${LIB_VERSION}.tar.gz) +set(LIB_VERSION 20211114) +set(LIB_FILENAME libpff-alpha-${LIB_VERSION}.tar.gz) # Release distribution file contains configured sources, while the source code in the repository does not. vcpkg_download_distfile(ARCHIVE URLS "https://github.com/libyal/libpff/releases/download/${LIB_VERSION}/${LIB_FILENAME}" FILENAME "${LIB_FILENAME}" - SHA512 7207ba87607ea2fd4609a081c2f4b061344a783e188605e88df99fd473f2a8da1269b065e57b054f4622888d40aa8f2b8272dc4748334ddfe358b28d443d6ad1 + SHA512 ad2cf4b0841c448b60738cd2f340868c0f11eb34167bfe5b093645a2a080d694e199afe4fef5eeea1016487820132be33f8e51910d2142ff032320ad2dbeb59d ) - vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH +vcpkg_extract_source_archive( + SOURCE_PATH ARCHIVE ${ARCHIVE} - REF ${LIB_VERSION} + SOURCE_BASE ${LIB_VERSION} ) file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") file(COPY "${CMAKE_CURRENT_LIST_DIR}/Config.cmake.in" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - PREFER_NINJA ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/libpff TARGET_PATH share/unofficial-libpff) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/libpff PACKAGE_NAME unofficial-libpff) -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +vcpkg_copy_pdbs() -# License and man -file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/libpff" RENAME copyright) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -vcpkg_copy_pdbs() +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/libpff/vcpkg.json b/ports/libpff/vcpkg.json index 5480dbdaa84ffa..2703c62158857d 100644 --- a/ports/libpff/vcpkg.json +++ b/ports/libpff/vcpkg.json @@ -1,9 +1,20 @@ { "name": "libpff", - "version-string": "2018-07-14", + "version-date": "2021-11-14", "port-version": 2, "description": "Library and tools to access the Personal Folder File (PFF) and the Offline Folder File (OFF) format.", + "homepage": "https://github.com/libyal/libpff", + "license": "LGPL-3.0-or-later", + "supports": "windows & !(static & windows) & !uwp & !xbox", "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, "zlib" ] } diff --git a/ports/libphonenumber/fix-find-protobuf.patch b/ports/libphonenumber/fix-find-protobuf.patch new file mode 100644 index 00000000000000..6dd1dcadaaf2b3 --- /dev/null +++ b/ports/libphonenumber/fix-find-protobuf.patch @@ -0,0 +1,12 @@ +diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt +index 10b6dce7..50f06eda 100644 +--- a/cpp/CMakeLists.txt ++++ b/cpp/CMakeLists.txt +@@ -46,6 +46,7 @@ function (print_error DESCRIPTION FILE) + "Can't find ${DESCRIPTION}: can't locate ${FILE}. Please read the README.") + endfunction () + ++set(CMAKE_FIND_LIBRARY_PREFIXES "${CMAKE_FIND_LIBRARY_PREFIXES};lib") + # Find a library. If it has not been found, stop CMake with a fatal error + # message. + function (find_required_library NAME HEADER LIBRARY DESCRIPTION) diff --git a/ports/libphonenumber/fix-icui18n-lib-name.patch b/ports/libphonenumber/fix-icui18n-lib-name.patch new file mode 100644 index 00000000000000..1cc5a41e57be11 --- /dev/null +++ b/ports/libphonenumber/fix-icui18n-lib-name.patch @@ -0,0 +1,17 @@ +diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt +index cdd7a081..10b6dce7 100644 +--- a/cpp/CMakeLists.txt ++++ b/cpp/CMakeLists.txt +@@ -192,7 +192,11 @@ set (ICU_INCLUDE_DIR ${ICU_UC_INCLUDE_DIR}) + set (ICU_LIB ${ICU_UC_LIB}) + # If ICU regexp engine is used or if the geocoder is built, use icui18n as well. + if (USE_ICU_REGEXP OR BUILD_GEOCODER) +- find_required_library (ICU_I18N unicode/regex.h icui18n "ICU") ++ if (NOT WIN32) ++ find_required_library (ICU_I18N unicode/regex.h "icui18n" "ICU") ++ else () ++ find_required_library (ICU_I18N unicode/regex.h "icuin" "ICU") ++ endif () + check_library_version (PC_ICU_I18N icu-i18n>=4.4) + list (APPEND ICU_INCLUDE_DIR ${ICU_I18N_INCLUDE_DIR}) + list (APPEND ICU_LIB ${ICU_I18N_LIB}) diff --git a/ports/libphonenumber/fix-re2-identifiers.patch b/ports/libphonenumber/fix-re2-identifiers.patch new file mode 100644 index 00000000000000..41de0befa0ffc2 --- /dev/null +++ b/ports/libphonenumber/fix-re2-identifiers.patch @@ -0,0 +1,13 @@ +diff --git a/cpp/src/phonenumbers/regexp_adapter_re2.cc b/cpp/src/phonenumbers/regexp_adapter_re2.cc +index bb542234..398f369b 100644 +--- a/cpp/src/phonenumbers/regexp_adapter_re2.cc ++++ b/cpp/src/phonenumbers/regexp_adapter_re2.cc +@@ -31,6 +31,8 @@ + namespace i18n { + namespace phonenumbers { + ++using re2::StringPiece; ++ + // Implementation of RegExpInput abstract class. + class RE2RegExpInput : public RegExpInput { + public: diff --git a/ports/libphonenumber/portfile.cmake b/ports/libphonenumber/portfile.cmake new file mode 100644 index 00000000000000..b119d54fab5d22 --- /dev/null +++ b/ports/libphonenumber/portfile.cmake @@ -0,0 +1,34 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO google/libphonenumber + REF "v${VERSION}" + SHA512 849df2433eb264591b8f8040d6b673b415fecd3286ce25f05e545448e34dca8d8f8f5487b428e754dc3272021ae63513827672622124c5b1a0fc6b983aac7c78 + HEAD_REF master + PATCHES + fix-re2-identifiers.patch + fix-icui18n-lib-name.patch + fix-find-protobuf.patch + re2-2023-07-01-compat.patch +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/cpp" + OPTIONS + -DREGENERATE_METADATA=OFF + -DUSE_RE2=ON + -DBUILD_GEOCODER=OFF + -DUSE_PROTOBUF_LITE=ON + -DBUILD_SHARED_LIBS=OFF + -DBUILD_TESTING=OFF) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) + +vcpkg_copy_pdbs() + +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/libphonenumber/re2-2023-07-01-compat.patch b/ports/libphonenumber/re2-2023-07-01-compat.patch new file mode 100644 index 00000000000000..2ba8ea67a288cc --- /dev/null +++ b/ports/libphonenumber/re2-2023-07-01-compat.patch @@ -0,0 +1,13 @@ +diff --git a/cpp/src/phonenumbers/regexp_adapter_re2.cc b/cpp/src/phonenumbers/regexp_adapter_re2.cc +index 398f369b..3dd5d854 100644 +--- a/cpp/src/phonenumbers/regexp_adapter_re2.cc ++++ b/cpp/src/phonenumbers/regexp_adapter_re2.cc +@@ -41,7 +41,7 @@ class RE2RegExpInput : public RegExpInput { + utf8_input_(string_) {} + + virtual string ToString() const { +- return utf8_input_.ToString(); ++ return string(utf8_input_.data(), utf8_input_.size()); + } + + StringPiece* Data() { diff --git a/ports/libphonenumber/usage b/ports/libphonenumber/usage new file mode 100644 index 00000000000000..d54aaf85f3ba0b --- /dev/null +++ b/ports/libphonenumber/usage @@ -0,0 +1,4 @@ +libphonenumber provides CMake targets: + + find_package(libphonenumber CONFIG REQUIRED) + target_link_libraries(main PRIVATE libphonenumber::phonenumber) diff --git a/ports/libphonenumber/vcpkg.json b/ports/libphonenumber/vcpkg.json new file mode 100644 index 00000000000000..fce3ff94088bf4 --- /dev/null +++ b/ports/libphonenumber/vcpkg.json @@ -0,0 +1,23 @@ +{ + "name": "libphonenumber", + "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": [ + "abseil", + "boost-date-time", + "boost-system", + "boost-thread", + "icu", + "protobuf", + "re2", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/libplist/001_fix_static_build.patch b/ports/libplist/001_fix_static_build.patch new file mode 100644 index 00000000000000..f346423b60a083 --- /dev/null +++ b/ports/libplist/001_fix_static_build.patch @@ -0,0 +1,22 @@ +diff --git a/src/plist.c b/src/plist.c +index 19279edb..a62687eb 100644 +--- a/src/plist.c ++++ b/src/plist.c +@@ -51,6 +51,8 @@ + typedef SSIZE_T ssize_t; + #endif + ++#ifndef LIBPLIST_STATIC // disable dll constructor ++ + extern void plist_xml_init(void); + extern void plist_xml_deinit(void); + extern void plist_bin_init(void); +@@ -137,6 +139,8 @@ BOOL WINAPI DllMain(HINSTANCE hModule, DWORD dwReason, LPVOID lpReserved) + #warning No compiler support for constructor/destructor attributes, some features might not be available. + #endif + ++#endif // disable dll constructor ++ + #ifndef HAVE_MEMMEM + // see https://sourceware.org/legacy-ml/libc-alpha/2007-12/msg00000.html + diff --git a/ports/libplist/002_fix_api.patch b/ports/libplist/002_fix_api.patch new file mode 100644 index 00000000000000..71cedee15f7281 --- /dev/null +++ b/ports/libplist/002_fix_api.patch @@ -0,0 +1,24 @@ +diff --git a/include/plist/plist.h b/include/plist/plist.h +index 47eda513..9df379ab 100644 +--- a/include/plist/plist.h ++++ b/include/plist/plist.h +@@ -78,17 +78,13 @@ extern "C" + #ifdef LIBPLIST_STATIC + #define PLIST_API + #elif defined(_WIN32) +- #ifdef DLL_EXPORT ++ #ifdef PLIST_EXPORT + #define PLIST_API __declspec(dllexport) + #else + #define PLIST_API __declspec(dllimport) + #endif + #else +- #if __GNUC__ >= 4 +- #define PLIST_API __attribute__((visibility("default"))) +- #else +- #define PLIST_API +- #endif ++ #define PLIST_API __attribute__((visibility("default"))) + #endif + + #include diff --git a/ports/libplist/003_fix_msvc.patch b/ports/libplist/003_fix_msvc.patch new file mode 100644 index 00000000000000..083e5f4e975fe2 --- /dev/null +++ b/ports/libplist/003_fix_msvc.patch @@ -0,0 +1,106 @@ +diff --git a/src/bplist.c b/src/bplist.c +index 953c2c77..d7b4777a 100644 +--- a/src/bplist.c ++++ b/src/bplist.c +@@ -87,6 +87,28 @@ union plist_uint_ptr + uint64_t *u64ptr; + }; + ++#ifdef _MSC_VER ++uint64_t get_unaligned_64(uint64_t *ptr) ++{ ++ uint64_t temp; ++ memcpy(&temp, ptr, sizeof(temp)); ++ return temp; ++} ++ ++uint32_t get_unaligned_32(uint32_t *ptr) ++{ ++ uint32_t temp; ++ memcpy(&temp, ptr, sizeof(temp)); ++ return temp; ++} ++ ++uint16_t get_unaligned_16(uint16_t *ptr) ++{ ++ uint16_t temp; ++ memcpy(&temp, ptr, sizeof(temp)); ++ return temp; ++} ++#else + #define get_unaligned(ptr) \ + ({ \ + struct __attribute__((packed)) { \ +@@ -94,6 +116,7 @@ union plist_uint_ptr + } *__p = (void *) (ptr); \ + __p->__v; \ + }) ++#endif + + + #ifndef bswap16 +@@ -148,10 +171,23 @@ union plist_uint_ptr + #define beNtoh(x,n) be64toh((x) << ((8-(n)) << 3)) + #endif + ++#ifdef _MSC_VER ++uint64_t UINT_TO_HOST(void* x, uint8_t n) ++{ ++ union plist_uint_ptr __up; ++ __up.src = (n > 8) ? (char *)x + (n - 8) : x; ++ return (n >= 8 ? be64toh( get_unaligned_64(__up.u64ptr) ) : ++ (n == 4 ? be32toh( get_unaligned_32(__up.u32ptr) ) : ++ (n == 2 ? be16toh( get_unaligned_16(__up.u16ptr) ) : ++ (n == 1 ? *__up.u8ptr : ++ beNtoh( get_unaligned_64(__up.u64ptr), n) ++ )))); ++} ++#else + #define UINT_TO_HOST(x, n) \ + ({ \ + union plist_uint_ptr __up; \ +- __up.src = ((n) > 8) ? (x) + ((n) - 8) : (x); \ ++ __up.src = ((n) > 8) ? ((char *)x) + ((n) - 8) : (x); \ + ((n) >= 8 ? be64toh( get_unaligned(__up.u64ptr) ) : \ + ((n) == 4 ? be32toh( get_unaligned(__up.u32ptr) ) : \ + ((n) == 2 ? be16toh( get_unaligned(__up.u16ptr) ) : \ +@@ -159,6 +195,7 @@ union plist_uint_ptr + beNtoh( get_unaligned(__up.u64ptr), n) \ + )))); \ + }) ++#endif + + #define get_needed_bytes(x) \ + ( ((uint64_t)(x)) < (1ULL << 8) ? 1 : \ +@@ -277,11 +314,19 @@ static plist_t parse_real_node(const char **bnode, uint8_t size) + switch (size) + { + case sizeof(uint32_t): ++#ifdef _MSC_VER ++ *(uint32_t*)buf = float_bswap32(get_unaligned_32((uint32_t*)*bnode)); ++#else + *(uint32_t*)buf = float_bswap32(get_unaligned((uint32_t*)*bnode)); ++#endif + data->realval = *(float *) buf; + break; + case sizeof(uint64_t): ++#ifdef _MSC_VER ++ *(uint64_t*)buf = float_bswap64(get_unaligned_64((uint64_t*)*bnode)); ++#else + *(uint64_t*)buf = float_bswap64(get_unaligned((uint64_t*)*bnode)); ++#endif + data->realval = *(double *) buf; + break; + default: +@@ -343,7 +388,11 @@ static char *plist_utf16be_to_utf8(uint16_t *unistr, long len, long *items_read, + } + + while (i < len) { ++#if _MSC_VER ++ wc = be16toh(get_unaligned_16(unistr + i)); ++#else + wc = be16toh(get_unaligned(unistr + i)); ++#endif + i++; + if (wc >= 0xD800 && wc <= 0xDBFF) { + if (!read_lead_surrogate) { diff --git a/ports/libplist/004_fix_tools_msvc.patch b/ports/libplist/004_fix_tools_msvc.patch new file mode 100644 index 00000000000000..38910012c3406b --- /dev/null +++ b/ports/libplist/004_fix_tools_msvc.patch @@ -0,0 +1,18 @@ +diff --git a/tools/plistutil.c b/tools/plistutil.c +index 8121a7d..98b440e 100644 +--- a/tools/plistutil.c ++++ b/tools/plistutil.c +@@ -32,10 +32,13 @@ + #include + #include + #include ++#ifndef _MSC_VER + #include ++#endif + + #ifdef _MSC_VER + #pragma warning(disable:4996) ++#define STDIN_FILENO _fileno(stdin) + #endif + + typedef struct _options diff --git a/ports/libplist/CMakeLists.txt b/ports/libplist/CMakeLists.txt index 9feb69746c2266..970334396833f6 100644 --- a/ports/libplist/CMakeLists.txt +++ b/ports/libplist/CMakeLists.txt @@ -1,75 +1,103 @@ -cmake_minimum_required(VERSION 3.8) -project(plist C CXX) - -file(GLOB_RECURSE PLIST_HEADER include/plist/*.h) - -set(PLIST_SRC - src/base64.c - src/bytearray.c - src/hashtable.c - src/ptrarray.c - src/time64.c - src/xplist.c - src/bplist.c - src/plist.c -) - -set(PLISTPP_SRC - src/Node.cpp - src/Structure.cpp - src/Array.cpp - src/Boolean.cpp - src/Data.cpp - src/Date.cpp - src/Dictionary.cpp - src/Integer.cpp - src/Key.cpp - src/Real.cpp - src/String.cpp - src/Uid.cpp -) - -file(GLOB_RECURSE LIBCNARY_HEADER libcnary/include/*.h) -file(GLOB_RECURSE LIBCNARY_SRC libcnary/*c) - -add_library(plist ${PLIST_SRC} ${PLIST_HEADER} ${LIBCNARY_SRC} ${LIBCNARY_HEADER}) -target_include_directories(plist PRIVATE src include libcnary/include) -set_target_properties(plist PROPERTIES OUTPUT_NAME plist-2.0) - -add_library(plist++ STATIC ${PLISTPP_SRC} ${PLIST_HEADER} ${LIBCNARY_SRC} ${LIBCNARY_HEADER}) -set_target_properties(plist++ PROPERTIES OUTPUT_NAME plist++-2.0) -target_include_directories(plist++ PRIVATE src include libcnary/include) - -if(WIN32 AND BUILD_SHARED_LIBS) - target_compile_options(plist PRIVATE -W3 -WX- -sdl-) - target_compile_definitions(plist PRIVATE -DLIBPLIST_EXPORTS) - target_compile_options(plist++ PRIVATE -W3 -WX- -sdl-) - target_compile_definitions(plist++ PRIVATE -DLIBPLIST_EXPORTS) -endif() -target_link_libraries(plist++ PRIVATE plist) - -install( - TARGETS plist plist++ - RUNTIME DESTINATION bin - ARCHIVE DESTINATION lib - LIBRARY DESTINATION lib -) - -set(PACKAGE_NAME libplist) -set(PACKAGE_VERSION 2.0) -set(prefix ${CMAKE_INSTALL_PREFIX}) -set(exec_prefix \${prefix}) -set(libdir \${prefix}/lib) -set(includedir \${prefix}/../include) -foreach (PLIST_PKGCONFIG libplist-2.0.pc libplist++-2.0.pc) -configure_file( - ${CMAKE_CURRENT_SOURCE_DIR}/src/${PLIST_PKGCONFIG}.in - ${CMAKE_CURRENT_BINARY_DIR}/${PLIST_PKGCONFIG} - @ONLY -) -install( - FILES ${CMAKE_CURRENT_BINARY_DIR}/${PLIST_PKGCONFIG} - DESTINATION lib/pkgconfig) -endforeach() - -install(FILES ${PLIST_HEADER} DESTINATION include/plist) +cmake_minimum_required(VERSION 3.15) +project(libplist C CXX) + +option(BUILD_TOOLS "Build tools." OFF) + +include(GNUInstallDirs) + +file(GLOB_RECURSE LIBCNARY_SOURCE libcnary/node.c libcnary/node_list.c) +file(GLOB_RECURSE LIBPLIST_SOURCE src/*.c) +file(GLOB_RECURSE LIBPLISTPP_SOURCE src/*.cpp) + +set(DEFINITIONS) + +if(BUILD_SHARED_LIBS) + if(WIN32) + list(APPEND DEFINITIONS -DLIBPLIST_EXPORT) + endif() +else() + list(APPEND DEFINITIONS -DLIBPLIST_STATIC) +endif() + +if(UNIX) + list(APPEND DEFINITIONS -DHAVE_STRNDUP) +endif() + +if(WIN32) + list(APPEND DEFINITIONS -D_CRT_SECURE_NO_WARNINGS) +endif() + +add_library(libplist ${LIBPLIST_SOURCE} ${LIBCNARY_SOURCE}) +target_include_directories(libplist PUBLIC + "$" + "$" + "$" + "$" +) +target_compile_definitions(libplist PRIVATE ${DEFINITIONS}) +set_target_properties(libplist PROPERTIES OUTPUT_NAME plist-2.0) +if(UNIX AND NOT APPLE) + target_link_libraries(libplist PRIVATE m) +endif() + +add_library(libplist++ STATIC ${LIBPLISTPP_SOURCE} ${LIBCNARY_SOURCE}) +target_include_directories(libplist++ PUBLIC + "$" + "$" + "$" + "$" +) +target_compile_definitions(libplist++ PRIVATE ${DEFINITIONS}) +target_link_libraries(libplist++ PUBLIC libplist) +set_target_properties(libplist++ PROPERTIES OUTPUT_NAME plist++-2.0) + +install(TARGETS libplist libplist++ EXPORT unofficial-libplist) + +install( + EXPORT unofficial-libplist + FILE unofficial-libplist-config.cmake + DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/unofficial-libplist" + NAMESPACE unofficial::libplist:: +) + +install( + DIRECTORY "${CMAKE_SOURCE_DIR}/include/plist" + DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" +) + +set(PACKAGE_NAME libplist) +set(PACKAGE_VERSION 2.0) +set(prefix "") +set(exec_prefix "\${prefix}") +set(libdir "\${prefix}/lib") +set(includedir "\${prefix}/include") + +foreach(PLIST_PKGCONFIG libplist-2.0.pc libplist++-2.0.pc) + configure_file( + "${CMAKE_CURRENT_SOURCE_DIR}/src/${PLIST_PKGCONFIG}.in" + "${CMAKE_CURRENT_BINARY_DIR}/${PLIST_PKGCONFIG}" + @ONLY + ) + install( + FILES "${CMAKE_CURRENT_BINARY_DIR}/${PLIST_PKGCONFIG}" + DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig" + ) +endforeach() + +if(BUILD_TOOLS) + add_executable(plistutil "tools/plistutil.c") + target_compile_definitions(plistutil PRIVATE + -DPACKAGE_VERSION="2.3.0" + -DPACKAGE_URL="https://github.com/libimobiledevice/libplist" + -DPACKAGE_BUGREPORT="https://github.com/libimobiledevice/libplist/issues" + ) + if(NOT BUILD_SHARED_LIBS) + target_compile_definitions(plistutil PRIVATE -DLIBPLIST_STATIC) + endif() + target_link_libraries(plistutil PRIVATE libplist) + + install( + TARGETS plistutil + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" + ) +endif() diff --git a/ports/libplist/dllexport.patch b/ports/libplist/dllexport.patch deleted file mode 100644 index f5e0062104bfb0..00000000000000 --- a/ports/libplist/dllexport.patch +++ /dev/null @@ -1,37 +0,0 @@ -diff --git a/include/plist/plist.h b/include/plist/plist.h -index 2863c74..9cdb219 100644 ---- a/include/plist/plist.h -+++ b/include/plist/plist.h -@@ -42,7 +42,7 @@ extern "C" - #include - #endif - --#ifdef _MSC_VER -+#if defined(_MSC_VER) && defined(LIBPLIST_EXPORTS) - #define PLIST_API_MSC __declspec( dllexport ) - #else - #define PLIST_API_MSC -diff --git a/src/plist.h b/src/plist.h -index 1e5d0d1..6690343 100644 ---- a/src/plist.h -+++ b/src/plist.h -@@ -39,10 +39,7 @@ - #include - #endif - --#ifdef _MSC_VER -- #define PLIST_API __declspec( dllexport ) --#else --#ifdef WIN32 -+#if (defined(_MSC_VER) || defined(WIN32)) && defined(LIBPLIST_EXPORTS) - #define PLIST_API __declspec( dllexport ) - #else - #ifdef HAVE_FVISIBILITY -@@ -51,7 +48,6 @@ - #define PLIST_API - #endif - #endif --#endif - - struct plist_data_s - { diff --git a/ports/libplist/portfile.cmake b/ports/libplist/portfile.cmake index 2cad077a6f8e1b..d29483de63365d 100644 --- a/ports/libplist/portfile.cmake +++ b/ports/libplist/portfile.cmake @@ -1,47 +1,47 @@ -vcpkg_check_linkage(ONLY_DYNAMIC_CRT ONLY_DYNAMIC_LIBRARY) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO libimobiledevice-win32/libplist - REF bbba7cabb78aad180a7a982ada5e1f21ff0ba873 # v1.3.6 - SHA512 4cd59ed87c647259d0da99a20a05e01aa880f01f6b5cecd29e4247029a3d29f0f68b4552571eb3fd3c5549b4cb357801ffe43338b8ff34d44d6be5393d2e6b9d - HEAD_REF msvc-master - PATCHES dllexport.patch + REPO libimobiledevice/libplist + REF 2d8d7ef272db06783989f77ba1ed80aa0f4d2dfd # commits on 2023-06-15 + SHA512 ec7c723ffb0492fe9901ee3854df16465e1b5b051cc8a716d89ff8fbf8f782134b7dda4d3a9656016fcf15c7cdf0eef7c80551b38a62317a11f056500e5c9ef4 + HEAD_REF master + PATCHES + 001_fix_static_build.patch + 002_fix_api.patch + 003_fix_msvc.patch + 004_fix_tools_msvc.patch ) -configure_file(${CURRENT_PORT_DIR}/CMakeLists.txt ${SOURCE_PATH}/CMakeLists.txt COPYONLY) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + tools BUILD_TOOLS ) -vcpkg_install_cmake() -vcpkg_copy_pdbs() -vcpkg_fixup_pkgconfig() - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) - -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} +) -set(pcfile "libplist-2.0.pc") -set(pcfiletarget "libplist.pc") -set(basepath "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/") -if(EXISTS "${basepath}${pcfile}") - file(CREATE_LINK "${basepath}${pcfile}" "${basepath}${pcfiletarget}" COPY_ON_ERROR) -endif() -set(basepath "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/") -if(EXISTS "${basepath}${pcfile}") - file(CREATE_LINK "${basepath}${pcfile}" "${basepath}${pcfiletarget}" COPY_ON_ERROR) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-${PORT}) +vcpkg_fixup_pkgconfig() +if("tools" IN_LIST FEATURES) + vcpkg_copy_tools(TOOL_NAMES plistutil AUTO_CLEAN) endif() -set(pcfile "libplist++-2.0.pc") -set(pcfiletarget "libplist++.pc") -set(basepath "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/") -if(EXISTS "${basepath}${pcfile}") - file(CREATE_LINK "${basepath}${pcfile}" "${basepath}${pcfiletarget}" COPY_ON_ERROR) -endif() -set(basepath "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/") -if(EXISTS "${basepath}${pcfile}") - file(CREATE_LINK "${basepath}${pcfile}" "${basepath}${pcfiletarget}" COPY_ON_ERROR) +if (VCPKG_LIBRARY_LINKAGE STREQUAL "static") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/plist/plist.h" + "#ifdef LIBPLIST_STATIC" "#if 1" + ) +else() + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/plist/plist.h" + "#ifdef LIBPLIST_STATIC" "#if 0" + ) 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/libplist/usage b/ports/libplist/usage new file mode 100644 index 00000000000000..81c34ead07b56d --- /dev/null +++ b/ports/libplist/usage @@ -0,0 +1,4 @@ +libplist provides CMake targets: + + find_package(unofficial-libplist CONFIG REQUIRED) + target_link_libraries(main PRIVATE unofficial::libplist::libplist unofficial::libplist::libplist++) diff --git a/ports/libplist/vcpkg.json b/ports/libplist/vcpkg.json index 752fd8b26c4072..f7dec85483505c 100644 --- a/ports/libplist/vcpkg.json +++ b/ports/libplist/vcpkg.json @@ -1,7 +1,24 @@ { "name": "libplist", - "version": "1.3.6", + "version-date": "2023-06-15", "port-version": 1, "description": "A library to handle Apple Property List format in binary or XML", - "homepage": "https://libimobiledevice.org/" + "homepage": "https://libimobiledevice.org/", + "license": "LGPL-2.1-or-later", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "tools": { + "description": "build command line tool", + "supports": "!android & !ios & !xbox" + } + } } diff --git a/ports/libpmemobj-cpp/portfile.cmake b/ports/libpmemobj-cpp/portfile.cmake index ba437d506f2fee..35cfe1eb179ab7 100644 --- a/ports/libpmemobj-cpp/portfile.cmake +++ b/ports/libpmemobj-cpp/portfile.cmake @@ -30,6 +30,7 @@ vcpkg_cmake_configure( vcpkg_cmake_install() vcpkg_cmake_config_fixup(CONFIG_PATH lib/libpmemobj++/cmake) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug" "${CURRENT_PACKAGES_DIR}/lib/libpmemobj++") file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/libpmemobj-cpp/vcpkg.json b/ports/libpmemobj-cpp/vcpkg.json index ba0000533ba7bd..9b0f936694092d 100644 --- a/ports/libpmemobj-cpp/vcpkg.json +++ b/ports/libpmemobj-cpp/vcpkg.json @@ -1,6 +1,7 @@ { "name": "libpmemobj-cpp", "version-semver": "1.13.0", + "port-version": 1, "description": "C++ bindings for libpmemobj (https://github.com/pmem/pmdk)", "homepage": "https://github.com/pmem/libpmemobj-cpp", "dependencies": [ diff --git a/ports/libpng/cmake.patch b/ports/libpng/cmake.patch index f2eb6aa8e10117..66a3731160e069 100644 --- a/ports/libpng/cmake.patch +++ b/ports/libpng/cmake.patch @@ -1,47 +1,13 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 6451fcf..6599e1d 100644 +index e355e4d..6dfe543 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -44,7 +44,7 @@ if(NOT PNG_BUILD_ZLIB) +@@ -632,7 +632,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(UNIX AND NOT APPLE AND NOT BEOS AND NOT HAIKU) -- find_library(M_LIBRARY m) -+ set(M_LIBRARY m) - else() - # libm is not needed and/or not available - set(M_LIBRARY "") -@@ -551,21 +551,14 @@ endif() - - if(PNG_STATIC) - # does not work without changing name -- set(PNG_LIB_NAME_STATIC png_static) - add_library(png_static STATIC ${libpng_sources}) - add_dependencies(png_static genfiles) - # 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) -- set_target_properties(png_static PROPERTIES -- OUTPUT_NAME "${PNG_LIB_NAME}" -- CLEAN_DIRECT_OUTPUT 1) -- else() -- set_target_properties(png_static PROPERTIES -- OUTPUT_NAME "${PNG_LIB_NAME}_static" -- CLEAN_DIRECT_OUTPUT 1) -- endif() -+ set_target_properties(png_static PROPERTIES -+ OUTPUT_NAME "${PNG_LIB_NAME}" -+ CLEAN_DIRECT_OUTPUT 1) - list(APPEND PNG_LIB_TARGETS png_static) - if(MSVC) - # msvc does not append 'lib' - do it here to have consistent name -@@ -915,7 +908,7 @@ endif() - - # Create an export file that CMake users can include() to import our targets. - if(NOT SKIP_INSTALL_EXPORT AND NOT SKIP_INSTALL_ALL) -- install(EXPORT libpng DESTINATION lib/libpng FILE lib${PNG_LIB_NAME}.cmake) -+ install(EXPORT libpng DESTINATION lib/libpng FILE libpngConfig.cmake) - endif() - - # what's with libpng-manual.txt and all the extra files? + if(PNG_SHARED) diff --git a/ports/libpng/fix-export-targets.patch b/ports/libpng/fix-export-targets.patch deleted file mode 100644 index ec331c48da58ad..00000000000000 --- a/ports/libpng/fix-export-targets.patch +++ /dev/null @@ -1,65 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index b45e878..19f8692 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -536,7 +536,7 @@ if(PNG_SHARED) - set_target_properties(png PROPERTIES PREFIX "lib") - set_target_properties(png PROPERTIES IMPORT_PREFIX "lib") - endif() -- target_link_libraries(png ${ZLIB_LIBRARY} ${M_LIBRARY}) -+ target_link_libraries(png ZLIB::ZLIB ${M_LIBRARY}) - - if(UNIX AND AWK) - if(HAVE_LD_VERSION_SCRIPT) -@@ -564,7 +564,7 @@ if(PNG_STATIC) - # msvc does not append 'lib' - do it here to have consistent name - set_target_properties(png_static PROPERTIES PREFIX "lib") - endif() -- target_link_libraries(png_static ${ZLIB_LIBRARY} ${M_LIBRARY}) -+ target_link_libraries(png_static ZLIB::ZLIB ${M_LIBRARY}) - endif() - - if(PNG_FRAMEWORK) -@@ -581,7 +581,7 @@ if(PNG_FRAMEWORK) - XCODE_ATTRIBUTE_INSTALL_PATH "@rpath" - PUBLIC_HEADER "${libpng_public_hdrs}" - OUTPUT_NAME png) -- target_link_libraries(png_framework ${ZLIB_LIBRARY} ${M_LIBRARY}) -+ target_link_libraries(png_framework ZLIB::ZLIB ${M_LIBRARY}) - endif() - - if(NOT PNG_LIB_TARGETS) -@@ -746,7 +746,7 @@ if(PNG_SHARED) - set(PNG_BIN_TARGETS pngfix) - - add_executable(png-fix-itxt ${png_fix_itxt_sources}) -- target_link_libraries(png-fix-itxt ${ZLIB_LIBRARY} ${M_LIBRARY}) -+ target_link_libraries(png-fix-itxt ZLIB::ZLIB ${M_LIBRARY}) - list(APPEND PNG_BIN_TARGETS png-fix-itxt) - endif() - -@@ -851,7 +851,7 @@ endif() - # INSTALL - if(NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL) - install(TARGETS ${PNG_LIB_TARGETS} -- EXPORT libpng -+ EXPORT libpng-targets - RUNTIME DESTINATION bin - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} -@@ -919,7 +919,14 @@ endif() - - # Create an export file that CMake users can include() to import our targets. - if(NOT SKIP_INSTALL_EXPORT AND NOT SKIP_INSTALL_ALL) -- install(EXPORT libpng DESTINATION lib/libpng FILE libpngConfig.cmake) -+ install(EXPORT libpng-targets DESTINATION lib/libpng) -+ file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/libpng-config.cmake" -+ [[include(CMakeFindDependencyMacro) -+find_dependency(ZLIB) -+include("${CMAKE_CURRENT_LIST_DIR}/libpng-targets.cmake") -+ ]]) -+ -+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libpng-config.cmake DESTINATION ${CMAKE_INSTALL_LIBDIR}/libpng) - endif() - - # what's with libpng-manual.txt and all the extra files? diff --git a/ports/libpng/fix-msa-support-for-mips.patch b/ports/libpng/fix-msa-support-for-mips.patch new file mode 100644 index 00000000000000..7b6e6d18b66f64 --- /dev/null +++ b/ports/libpng/fix-msa-support-for-mips.patch @@ -0,0 +1,28 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 3857b82..4c68989 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -221,8 +221,8 @@ endif() + + # 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}) +@@ -254,6 +254,12 @@ if(TARGET_ARCH MATCHES "^(mipsel|mips64el)") + 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 diff --git a/ports/libpng/fix-tools-static.patch b/ports/libpng/fix-tools-static.patch new file mode 100644 index 00000000000000..74ff71dd7b8db5 --- /dev/null +++ b/ports/libpng/fix-tools-static.patch @@ -0,0 +1,16 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 3857b82..4c68989 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -963,9 +963,9 @@ + 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}) diff --git a/ports/libpng/libm.patch b/ports/libpng/libm.patch new file mode 100644 index 00000000000000..6960021905bc33 --- /dev/null +++ b/ports/libpng/libm.patch @@ -0,0 +1,17 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index dbd31d7..7deb6c2 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -109,6 +109,12 @@ elseif(POLICY CMP0074) + endif() + + if(UNIX AND NOT APPLE AND NOT BEOS AND NOT 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) 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/macos-arch-fix.patch b/ports/libpng/macos-arch-fix.patch deleted file mode 100644 index 5dd637695d2acb..00000000000000 --- a/ports/libpng/macos-arch-fix.patch +++ /dev/null @@ -1,62 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 6451fcf1b..dbd5016ca 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -63,11 +63,22 @@ option(PNG_HARDWARE_OPTIMIZATIONS "Enable hardware optimizations" ON) - set(PNG_PREFIX "" CACHE STRING "Prefix to add to the API function names") - set(DFA_XTRA "" CACHE FILEPATH "File containing extra configuration settings") - -+# CMake currently sets CMAKE_SYSTEM_PROCESSOR to one of x86_64 or arm64 on macOS, -+# based upon the OS architecture, not the target architecture. As such, we need -+# to check CMAKE_OSX_ARCHITECTURES to identify which hardware-specific flags to -+# enable. Note that this will fail if you attempt to build a universal binary in -+# a single cmake invokation. -+if (APPLE AND CMAKE_OSX_ARCHITECTURES) -+ set(TARGET_ARCH ${CMAKE_OSX_ARCHITECTURES}) -+else() -+ set(TARGET_ARCH ${CMAKE_SYSTEM_PROCESSOR}) -+endif() -+ - if(PNG_HARDWARE_OPTIMIZATIONS) - - # set definitions and sources for arm --if(CMAKE_SYSTEM_PROCESSOR MATCHES "^arm" OR -- CMAKE_SYSTEM_PROCESSOR MATCHES "^aarch64") -+if(TARGET_ARCH MATCHES "^arm" OR -+ TARGET_ARCH MATCHES "^aarch64") - set(PNG_ARM_NEON_POSSIBLE_VALUES check on off) - set(PNG_ARM_NEON "check" CACHE STRING "Enable ARM NEON optimizations: - check: (default) use internal checking code; -@@ -121,8 +132,8 @@ if(CMAKE_SYSTEM_PROCESSOR MATCHES "^powerpc*" OR - endif() - - # set definitions and sources for intel --if(CMAKE_SYSTEM_PROCESSOR MATCHES "^i?86" OR -- CMAKE_SYSTEM_PROCESSOR MATCHES "^x86_64*") -+if(TARGET_ARCH MATCHES "^i?86" OR -+ TARGET_ARCH MATCHES "^x86_64*") - set(PNG_INTEL_SSE_POSSIBLE_VALUES on off) - set(PNG_INTEL_SSE "on" CACHE STRING "Enable INTEL_SSE optimizations: - off: disable the optimizations") -@@ -171,8 +182,8 @@ endif() - else(PNG_HARDWARE_OPTIMIZATIONS) - - # set definitions and sources for arm --if(CMAKE_SYSTEM_PROCESSOR MATCHES "^arm" OR -- CMAKE_SYSTEM_PROCESSOR MATCHES "^aarch64") -+if(TARGET_ARCH MATCHES "^arm" OR -+ TARGET_ARCH MATCHES "^aarch64") - add_definitions(-DPNG_ARM_NEON_OPT=0) - endif() - -@@ -183,8 +194,8 @@ if(CMAKE_SYSTEM_PROCESSOR MATCHES "^powerpc*" OR - endif() - - # set definitions and sources for intel --if(CMAKE_SYSTEM_PROCESSOR MATCHES "^i?86" OR -- CMAKE_SYSTEM_PROCESSOR MATCHES "^x86_64*") -+if(TARGET_ARCH MATCHES "^i?86" OR -+ TARGET_ARCH MATCHES "^x86_64") - add_definitions(-DPNG_INTEL_SSE_OPT=0) - endif() - diff --git a/ports/libpng/pkgconfig.2.patch b/ports/libpng/pkgconfig.2.patch deleted file mode 100644 index 99c1b19300d950..00000000000000 --- a/ports/libpng/pkgconfig.2.patch +++ /dev/null @@ -1,48 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 6451fcf..4090f42 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -821,20 +821,31 @@ endif() - # 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) -- 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") -- configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libpng.pc.in -- ${CMAKE_CURRENT_BINARY_DIR}/${PNGLIB_NAME}.pc @ONLY) -- create_symlink(libpng.pc FILE ${PNGLIB_NAME}.pc) -- -- configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libpng-config.in -- ${CMAKE_CURRENT_BINARY_DIR}/${PNGLIB_NAME}-config @ONLY) -- create_symlink(libpng-config FILE ${PNGLIB_NAME}-config) -+ set(LIBS "-lz") -+ if(NOT APPLE) -+ string(APPEND LIBS " -lm") -+ endif() -+else() -+ if(CMAKE_BUILD_TYPE STREQUAL "DEBUG") -+ set(LIBS "-lzlibd") -+ else() -+ set(LIBS "-lzlib") -+ endif() - endif() - -+set(prefix ${CMAKE_INSTALL_PREFIX}) -+set(exec_prefix ${CMAKE_INSTALL_PREFIX}) -+set(libdir ${CMAKE_INSTALL_FULL_LIBDIR}) -+set(includedir ${CMAKE_INSTALL_FULL_INCLUDEDIR}) -+ -+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libpng.pc.in -+ ${CMAKE_CURRENT_BINARY_DIR}/${PNGLIB_NAME}.pc @ONLY) -+create_symlink(libpng.pc FILE ${PNGLIB_NAME}.pc) -+ -+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libpng-config.in -+ ${CMAKE_CURRENT_BINARY_DIR}/${PNGLIB_NAME}-config @ONLY) -+create_symlink(libpng-config FILE ${PNGLIB_NAME}-config) -+ - # SET UP LINKS - if(PNG_SHARED) - set_target_properties(png PROPERTIES diff --git a/ports/libpng/pkgconfig.patch b/ports/libpng/pkgconfig.patch index 5640f3834ca44c..ed92a94f1d4aee 100644 --- a/ports/libpng/pkgconfig.patch +++ b/ports/libpng/pkgconfig.patch @@ -1,24 +1,32 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 6599e1d7d..c0bb2fad2 100644 +index e355e4d..b5b9172 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -894,13 +894,13 @@ if(NOT SKIP_INSTALL_FILES AND NOT SKIP_INSTALL_ALL) - install(FILES libpng.3 libpngpf.3 DESTINATION ${PNG_MAN_DIR}/man3) - install(FILES png.5 DESTINATION ${PNG_MAN_DIR}/man5) - # Install pkg-config files -+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libpng.pc -+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) -+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PNGLIB_NAME}.pc -+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) - if(NOT CMAKE_HOST_WIN32 OR CYGWIN OR MINGW) -- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libpng.pc -- DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) - install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/libpng-config -- DESTINATION bin) -+ DESTINATION tools/libpng) -- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PNGLIB_NAME}.pc -- DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) - install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${PNGLIB_NAME}-config -- DESTINATION bin) -+ DESTINATION tools/libpng) - endif() +@@ -960,12 +960,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) +@@ -1030,6 +1033,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/portfile.cmake b/ports/libpng/portfile.cmake index 48e4c6ac007477..f653b153d65ae1 100644 --- a/ports/libpng/portfile.cmake +++ b/ports/libpng/portfile.cmake @@ -1,145 +1,125 @@ -set(LIBPNG_VER 1.6.37) - # Download the apng patch -set(LIBPNG_APNG_OPTION ) +set(LIBPNG_APNG_PATCH_PATH "") if ("apng" IN_LIST FEATURES) - # Get (g)awk installed - vcpkg_acquire_msys(MSYS_ROOT PACKAGES gawk) - set(AWK_EXE_PATH "${MSYS_ROOT}/usr/bin") - vcpkg_add_to_path("${AWK_EXE_PATH}") + if(VCPKG_HOST_IS_WINDOWS) + # Get (g)awk and gzip installed + vcpkg_acquire_msys(MSYS_ROOT PACKAGES gawk gzip) + set(AWK_EXE_PATH "${MSYS_ROOT}/usr/bin") + vcpkg_add_to_path("${AWK_EXE_PATH}") + endif() - set(LIBPNG_APG_PATCH_NAME libpng-${LIBPNG_VER}-apng.patch) - set(LIBPNG_APG_PATCH_PATH ${CURRENT_BUILDTREES_DIR}/src/${LIBPNG_APG_PATCH_NAME}) - if (NOT EXISTS ${LIBPNG_APG_PATCH_PATH}) - if (NOT EXISTS ${CURRENT_BUILDTREES_DIR}/src) - file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/src) - endif() - vcpkg_download_distfile(LIBPNG_APNG_PATCH_ARCHIVE - URLS "https://downloads.sourceforge.net/project/libpng-apng/libpng16/${LIBPNG_VER}/${LIBPNG_APG_PATCH_NAME}.gz" - FILENAME "${LIBPNG_APG_PATCH_NAME}.gz" - SHA512 226adcb3a8c60f2267fe2976ab531329ae43c2603dab4d0cf8f16217d64069936b879f3d6516b75d259c47d6f5c5b1f24f887602206c8e46abde0fb7f5c7946b - ) - vcpkg_find_acquire_program(7Z) + set(LIBPNG_APNG_PATCH_NAME "libpng-${VERSION}-apng.patch") + 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 ea89018a02ed171b82af9644ec2ff658c8a288e99b5470c7a3fd142c6fa95bbe19cd34c4fae654bc8783b41c3eb3b2d15b486bda3b0307ec3090e99f34465e20 + ) + set(LIBPNG_APNG_PATCH_PATH "${CURRENT_BUILDTREES_DIR}/src/${LIBPNG_APNG_PATCH_NAME}") + if (NOT EXISTS "${LIBPNG_APNG_PATCH_PATH}") + file(INSTALL "${LIBPNG_APNG_PATCH_ARCHIVE}" DESTINATION "${CURRENT_BUILDTREES_DIR}/src") vcpkg_execute_required_process( - COMMAND ${7Z} x ${LIBPNG_APNG_PATCH_ARCHIVE} -aoa - WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/src + COMMAND gzip -d "${LIBPNG_APNG_PATCH_NAME}.gz" + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/src" + ALLOW_IN_DOWNLOAD_MODE LOGNAME extract-patch.log ) endif() - set(APNG_EXTRA_PATCH ${LIBPNG_APG_PATCH_PATH}) - set(LIBPNG_APNG_OPTION "-DPNG_PREFIX=a") endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO glennrp/libpng - REF v${LIBPNG_VER} - SHA512 ccb3705c23b2724e86d072e2ac8cfc380f41fadfd6977a248d588a8ad57b6abe0e4155e525243011f245e98d9b7afbe2e8cc7fd4ff7d82fcefb40c0f48f88918 + REF v${VERSION} + SHA512 c023bc7dcf3d0ea045a63204f2266b2c53b601b99d7c5f5a7b547bc9a48b205a277f699eefa47f136483f495175b226527097cd447d6b0fbceb029eb43638f63 HEAD_REF master PATCHES - use_abort.patch + "${LIBPNG_APNG_PATCH_PATH}" cmake.patch + libm.patch pkgconfig.patch - pkgconfig.2.patch - ${APNG_EXTRA_PATCH} - fix-export-targets.patch - macos-arch-fix.patch + fix-msa-support-for-mips.patch + fix-tools-static.patch ) -if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - set(PNG_STATIC_LIBS OFF) - set(PNG_SHARED_LIBS ON) -else() - set(PNG_STATIC_LIBS ON) - set(PNG_SHARED_LIBS OFF) -endif() +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 +) -set(LIBPNG_HARDWARE_OPTIMIZATIONS_OPTION ) +vcpkg_list(SET LIBPNG_HARDWARE_OPTIMIZATIONS_OPTION) if(VCPKG_TARGET_IS_IOS) - list(APPEND LIBPNG_HARDWARE_OPTIMIZATIONS_OPTION "-DPNG_HARDWARE_OPTIMIZATIONS=OFF") + vcpkg_list(APPEND LIBPNG_HARDWARE_OPTIMIZATIONS_OPTION "-DPNG_HARDWARE_OPTIMIZATIONS=OFF") endif() -set(LD_VERSION_SCRIPT_OPTION ) +vcpkg_list(SET LD_VERSION_SCRIPT_OPTION) if(VCPKG_TARGET_IS_ANDROID) - set(LD_VERSION_SCRIPT_OPTION "-Dld-version-script=OFF") - # for armeabi-v7a, check whether NEON is available - list(APPEND LIBPNG_HARDWARE_OPTIMIZATIONS_OPTION "-DPNG_ARM_NEON=check") -else() - list(APPEND LIBPNG_HARDWARE_OPTIMIZATIONS_OPTION "-DPNG_ARM_NEON=on") + vcpkg_list(APPEND LD_VERSION_SCRIPT_OPTION "-Dld-version-script=OFF") + if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") + vcpkg_cmake_get_vars(cmake_vars_file) + include("${cmake_vars_file}") + if(VCPKG_DETECTED_CMAKE_ANDROID_ARM_NEON) + vcpkg_list(APPEND LIBPNG_HARDWARE_OPTIMIZATIONS_OPTION "-DPNG_ARM_NEON=on") + else() + # for armeabi-v7a, check whether NEON is available + vcpkg_list(APPEND LIBPNG_HARDWARE_OPTIMIZATIONS_OPTION "-DPNG_ARM_NEON=check") + endif() + 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} + SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DPNG_MAN_DIR=share/${PORT}/man - ${LIBPNG_APNG_OPTION} ${LIBPNG_HARDWARE_OPTIMIZATIONS_OPTION} ${LD_VERSION_SCRIPT_OPTION} - -DPNG_STATIC=${PNG_STATIC_LIBS} - -DPNG_SHARED=${PNG_SHARED_LIBS} + -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) -set(_file "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libpng16.pc") -if(EXISTS ${_file}) - file(READ "${_file}" _contents) - if(VCPKG_TARGET_IS_WINDOWS) - string(REGEX REPLACE "-lpng16(d)?" "-llibpng16d" _contents "${_contents}") - else() - string(REGEX REPLACE "-lpng16(d)?" "-lpng16d" _contents "${_contents}") - endif() - if(VCPKG_TARGET_IS_MINGW) - string(REPLACE "-lz" "-lzlibd" _contents "${_contents}") - else() - string(REPLACE "-lzlib" "-lzlibd" _contents "${_contents}") - endif() - file(WRITE "${_file}" "${_contents}") -endif() -set(_file "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libpng.pc") -if(EXISTS ${_file}) - file(READ "${_file}" _contents) - if(VCPKG_TARGET_IS_WINDOWS) - string(REGEX REPLACE "-lpng16(d)?" "-llibpng16d" _contents "${_contents}") - else() - string(REGEX REPLACE "-lpng16(d)?" "-lpng16d" _contents "${_contents}") - endif() - if(VCPKG_TARGET_IS_MINGW) - string(REPLACE "-lz" "-lzlibd" _contents "${_contents}") - else() - string(REPLACE "-lzlib" "-lzlibd" _contents "${_contents}") - endif() - file(WRITE "${_file}" "${_contents}") -endif() -if(VCPKG_TARGET_IS_WINDOWS) - set(_file "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libpng16.pc") - if(EXISTS ${_file}) - file(READ "${_file}" _contents) - string(REPLACE "-lpng16" "-llibpng16" _contents "${_contents}") - if(VCPKG_TARGET_IS_MINGW) - string(REPLACE "-lz" "-lzlib" _contents "${_contents}") - endif() - file(WRITE "${_file}" "${_contents}") - endif() - set(_file "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libpng.pc") - if(EXISTS ${_file}) - file(READ "${_file}" _contents) - string(REPLACE "-lpng16" "-llibpng16" _contents "${_contents}") - if(VCPKG_TARGET_IS_MINGW) - string(REPLACE "-lz" "-lzlib" _contents "${_contents}") - endif() - file(WRITE "${_file}" "${_contents}") +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) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libpng16.pc" "-lpng16" "-llibpng16d") + file(INSTALL "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libpng16.pc" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig" RENAME "libpng.pc") endif() + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libpng16.pc" "-lpng16" "-llibpng16") +elseif(NOT VCPKG_BUILD_TYPE) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libpng16.pc" "-lpng16" "-lpng16d") + file(INSTALL "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libpng16.pc" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig" RENAME "libpng.pc") endif() -vcpkg_fixup_pkgconfig(SYSTEM_LIBRARIES m) +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(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/tools" "${CURRENT_PACKAGES_DIR}/debug/tools") -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/libpng/usage b/ports/libpng/usage new file mode 100644 index 00000000000000..628d844ed9cd2e --- /dev/null +++ b/ports/libpng/usage @@ -0,0 +1,4 @@ +libpng provides CMake targets: + + find_package(PNG REQUIRED) + target_link_libraries(main PRIVATE PNG::PNG) diff --git a/ports/libpng/use_abort.patch b/ports/libpng/use_abort.patch deleted file mode 100644 index c52df5c2b7814d..00000000000000 --- a/ports/libpng/use_abort.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/pngpriv.h b/pngpriv.h -index 583c26f..135651c 100644 ---- a/pngpriv.h -+++ b/pngpriv.h -@@ -556,11 +556,7 @@ - - /* Memory model/platform independent fns */ - #ifndef PNG_ABORT --# ifdef _WINDOWS_ --# define PNG_ABORT() ExitProcess(0) --# else --# define PNG_ABORT() abort() --# endif -+# define PNG_ABORT() abort() - #endif - - /* These macros may need to be architecture dependent. */ diff --git a/ports/libpng/vcpkg-cmake-wrapper.cmake b/ports/libpng/vcpkg-cmake-wrapper.cmake new file mode 100644 index 00000000000000..de1e087fcebfe4 --- /dev/null +++ b/ports/libpng/vcpkg-cmake-wrapper.cmake @@ -0,0 +1,3 @@ +find_library(PNG_LIBRARY_RELEASE NAMES png16 libpng16 NAMES_PER_DIR PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib" NO_DEFAULT_PATH) +find_library(PNG_LIBRARY_DEBUG NAMES png16d libpng16d NAMES_PER_DIR PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/lib" NO_DEFAULT_PATH) +_find_package(${ARGS}) diff --git a/ports/libpng/vcpkg.json b/ports/libpng/vcpkg.json index 0fe109eb8074ad..39f2b499510396 100644 --- a/ports/libpng/vcpkg.json +++ b/ports/libpng/vcpkg.json @@ -1,9 +1,9 @@ { "name": "libpng", - "version": "1.6.37", - "port-version": 16, + "version": "1.6.44", "description": "libpng is a library implementing an interface for reading and writing PNG (Portable Network Graphics) format files", "homepage": "https://github.com/glennrp/libpng", + "license": "libpng-2.0", "dependencies": [ { "name": "vcpkg-cmake", @@ -13,11 +13,20 @@ "name": "vcpkg-cmake-config", "host": true }, + { + "name": "vcpkg-cmake-get-vars", + "host": true, + "platform": "arm & android" + }, "zlib" ], "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..5d0bbc829609ea 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) diff --git a/ports/libpopt/portfile.cmake b/ports/libpopt/portfile.cmake index a4ead066cc0ee0..538af680029319 100644 --- a/ports/libpopt/portfile.cmake +++ b/ports/libpopt/portfile.cmake @@ -8,26 +8,25 @@ vcpkg_download_distfile(ARCHIVE SHA512 ${LIBPOPT_HASH} ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" PATCHES 0004-vcpkg-fixmsvc.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}/popt.def DESTINATION ${SOURCE_PATH}) +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}/popt.def" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DPOPT_USE_CONFIG=1 ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/libpopt/vcpkg.json b/ports/libpopt/vcpkg.json index cbb2f825410434..c9b1e8213365ac 100644 --- a/ports/libpopt/vcpkg.json +++ b/ports/libpopt/vcpkg.json @@ -1,6 +1,12 @@ { "name": "libpopt", - "version-string": "1.16", - "port-version": 14, - "description": "Library for parsing command line parameters" + "version": "1.16", + "port-version": 17, + "description": "Library for parsing command line parameters", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/libpq/Makefile b/ports/libpq/Makefile index ee2ffcaf19572b..67994f4bac2853 100644 --- a/ports/libpq/Makefile +++ b/ports/libpq/Makefile @@ -2,14 +2,12 @@ subdir = . top_builddir = . include src/Makefile.global -.NOTPARALLEL: - ifeq ($(LIBPQ_LIBRARY_TYPE), static) LIBPQ_INSTALL_LIBS = install-stlib endif ifeq ($(LIBPQ_LIBRARY_TYPE), shared) -ifeq ($(USING_MINGW), yes) +ifeq ($(LIBPQ_USING_MINGW), yes) # The import library name is the same as the static library name EXTRA_TARGET = install-lib-static endif @@ -17,21 +15,40 @@ endif .PHONY: all all: - $(MAKE) -C src/include MAKELEVEL=0 - $(MAKE) -C src/common MAKELEVEL=0 - $(MAKE) -C src/port MAKELEVEL=0 - $(MAKE) -C src/interfaces/libpq MAKELEVEL=0 all-$(LIBPQ_LIBRARY_TYPE)-lib - $(MAKE) -C src/bin/pg_config MAKELEVEL=0 + $(MAKE) -C src/include + $(MAKE) -C src/common + $(MAKE) -C src/port + $(MAKE) -C src/interfaces/libpq all-$(LIBPQ_LIBRARY_TYPE)-lib + $(MAKE) -C src/interfaces/ecpg/include + $(MAKE) -C src/interfaces/ecpg/pgtypeslib + $(MAKE) -C src/interfaces/ecpg/ecpglib + $(MAKE) -C src/interfaces/ecpg/compatlib +ifeq ($(LIBPQ_ENABLE_TOOLS), yes) + $(MAKE) -C src/interfaces/ecpg/preproc + $(MAKE) -C src/fe_utils + $(MAKE) -C src/bin +else + $(MAKE) -C src/bin/pg_config +endif .PHONY: install-stlib install-stlib: - $(MAKE) -C src/common MAKELEVEL=0 install -o all + $(MAKE) -C src/common install -o all rm -f '$(DESTDIR)$(libdir)/libpgcommon_shlib.a' - $(MAKE) -C src/port MAKELEVEL=0 install -o all + $(MAKE) -C src/port install -o all rm -f '$(DESTDIR)$(libdir)/libpgport_shlib.a' .PHONY: install install: $(LIBPQ_INSTALL_LIBS) - $(MAKE) -C src/include MAKELEVEL=0 install - $(MAKE) -C src/interfaces/libpq MAKELEVEL=0 $(EXTRA_TARGET) install-lib-$(LIBPQ_LIBRARY_TYPE) install-lib-pc install -o all -o install-lib - $(MAKE) -C src/bin/pg_config MAKELEVEL=0 install + $(MAKE) -C src/include install + $(MAKE) -C src/interfaces/libpq $(EXTRA_TARGET) install-lib-$(LIBPQ_LIBRARY_TYPE) install-lib-pc install -o all -o install-lib + $(MAKE) -C src/interfaces/ecpg/include install + $(MAKE) -C src/interfaces/ecpg/pgtypeslib install + $(MAKE) -C src/interfaces/ecpg/ecpglib install + $(MAKE) -C src/interfaces/ecpg/compatlib install +ifeq ($(LIBPQ_ENABLE_TOOLS), yes) + $(MAKE) -C src/interfaces/ecpg/preproc install + $(MAKE) -C src/bin install +else + $(MAKE) -C src/bin/pg_config install +endif 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/build-msvc.cmake b/ports/libpq/build-msvc.cmake new file mode 100644 index 00000000000000..34d9694879578c --- /dev/null +++ b/ports/libpq/build-msvc.cmake @@ -0,0 +1,80 @@ +function(build_msvc build_type source_path) + if(build_type STREQUAL "DEBUG") + set(vcpkg_configuration "Debug") + set(label "${TARGET_TRIPLET}-dbg") + set(packages_dir "${CURRENT_PACKAGES_DIR}/debug") + else() + set(vcpkg_configuration "Release") + set(label "${TARGET_TRIPLET}-rel") + set(packages_dir "${CURRENT_PACKAGES_DIR}") + endif() + + set(build_path "${CURRENT_BUILDTREES_DIR}/${label}") + file(REMOVE_RECURSE "${build_path}") + file(COPY "${source_path}/" DESTINATION "${build_path}") + + if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + vcpkg_replace_string("${build_path}/src/include/port/win32.h" "__declspec (dllimport)" "") + endif() + vcpkg_replace_string("${build_path}/src/tools/msvc/MSBuildProject.pm" "perl " "\"${PERL}\" ") + configure_file("${CURRENT_PORT_DIR}/libpq.props.in" "${build_path}/libpq.props" @ONLY) + configure_file("${CURRENT_PORT_DIR}/vcpkg-libs.props.in" "${build_path}/vcpkg-libs.props" @ONLY) + set(config "# Generated by ${CMAKE_CURRENT_LIST_FILE}\n\n") + foreach(var IN ITEMS VCPKG_TARGET_ARCHITECTURE VCPKG_LIBRARY_LINKAGE VCPKG_CRT_LINKAGE) + string(APPEND config "\$config->{${var}} = \"${${var}}\";\n") + endforeach() + foreach(option IN ITEMS icu lz4 nls openssl python tcl xml xslt zlib zstd) + if(option IN_LIST FEATURES) + string(APPEND config "\$config->{${option}} = \"${CURRENT_INSTALLED_DIR}\";\n") + endif() + endforeach() + if("openssl" IN_LIST FEATURES) + file(STRINGS "${CURRENT_INSTALLED_DIR}/lib/pkgconfig/openssl.pc" OPENSSL_VERSION REGEX "Version:") + string(APPEND config "\$config->{openssl_version} = '${OPENSSL_VERSION}';\n") + endif() + string(APPEND config "\$config->{python_version} = '3.${PYTHON_VERSION_MINOR}';\n") + string(APPEND config "\$config->{tcl_version} = '90';\n") + file(WRITE "${build_path}/src/tools/msvc/config.pl" "${config}") + + set(build_in_parallel "-m") + set(build_targets libpq libecpg_compat) + set(install_target core) + if(HAS_TOOLS AND NOT build_type STREQUAL "DEBUG") + set(build_in_parallel "") # mitigate winflex races + set(build_targets client) + set(install_target client) + endif() + + string(REPLACE "x86" "Win32" platform "${VCPKG_TARGET_ARCHITECTURE}") + vcpkg_get_windows_sdk(VCPKG_TARGET_PLATFORM_VERSION) + set(ENV{MSBFLAGS} "\ + /p:Platform=${platform} \ + /p:PlatformToolset=${VCPKG_PLATFORM_TOOLSET} \ + /p:VCPkgLocalAppDataDisabled=true \ + /p:UseIntelMKL=No \ + /p:WindowsTargetPlatformVersion=${VCPKG_TARGET_PLATFORM_VERSION} \ + /p:VcpkgConfiguration=${vcpkg_configuration} \ + ${build_in_parallel} \ + /p:ForceImportBeforeCppTargets=\"${SCRIPTS}/buildsystems/msbuild/vcpkg.targets;${build_path}/vcpkg-libs.props\" \ + /p:VcpkgTriplet=${TARGET_TRIPLET} \ + /p:VcpkgCurrentInstalledDir=\"${CURRENT_INSTALLED_DIR}\" \ + /p:ForceImportAfterCppTargets=\"${build_path}/libpq.props\" \ + ") + + message(STATUS "Building ${label}") + foreach(target IN LISTS build_targets) + string(REPLACE "client" "" target "${target}") + vcpkg_execute_required_process( + COMMAND "${PERL}" build.pl ${build_type} ${target} + WORKING_DIRECTORY "${build_path}/src/tools/msvc" + LOGNAME "build-${target}-${label}" + ) + endforeach() + + message(STATUS "Installing ${label}") + vcpkg_execute_required_process( + COMMAND "${PERL}" install.pl "${packages_dir}" ${install_target} + WORKING_DIRECTORY "${build_path}/src/tools/msvc" + LOGNAME "install-${label}" + ) +endfunction() diff --git a/ports/libpq/config.pl b/ports/libpq/config.pl deleted file mode 100644 index cbe605ef03ac7b..00000000000000 --- a/ports/libpq/config.pl +++ /dev/null @@ -1,27 +0,0 @@ -our $config = { - asserts => 0, # --enable-cassert - # float4byval=>1, # --disable-float4-byval, on by default - - # float8byval=> $platformbits == 64, # --disable-float8-byval, - # off by default on 32 bit platforms, on by default on 64 bit platforms - - # blocksize => 8, # --with-blocksize, 8kB by default - # wal_blocksize => 8, # --with-wal-blocksize, 8kB by default - ldap => undef, # --with-ldap - extraver => undef, # --with-extra-version= - gss => undef, # --with-gssapi= - icu => undef, # --with-icu= - nls => undef, # --enable-nls= - tap_tests => undef, # --enable-tap-tests - tcl => undef, # --with-tcl= - perl => undef, # --with-perl - python => undef, # --with-python= - openssl => undef, # --with-openssl= - uuid => undef, # --with-ossp-uuid - xml => undef, # --with-libxml= - xslt => undef, # --with-libxslt= - iconv => undef, # (not in configure, path to iconv) - zlib => undef # --with-zlib= -}; - -1; diff --git a/ports/libpq/libpq.props.in b/ports/libpq/libpq.props.in new file mode 100644 index 00000000000000..223e528fe9f96f --- /dev/null +++ b/ports/libpq/libpq.props.in @@ -0,0 +1,25 @@ + + + + + %(AdditionalOptions) @VCPKG_COMBINED_C_FLAGS_DEBUG@ + + + %(AdditionalOptions) @VCPKG_COMBINED_SHARED_LINKER_FLAGS_DEBUG@ + + + %(AdditionalOptions) @VCPKG_COMBINED_STATIC_LINKER_FLAGS_DEBUG@ + + + + + %(AdditionalOptions) @VCPKG_COMBINED_C_FLAGS_RELEASE@ + + + %(AdditionalOptions) @VCPKG_COMBINED_SHARED_LINKER_FLAGS_RELEASE@ + + + %(AdditionalOptions) @VCPKG_COMBINED_STATIC_LINKER_FLAGS_RELEASE@ + + + diff --git a/ports/libpq/patches/linux/configure.patch b/ports/libpq/patches/linux/configure.patch deleted file mode 100644 index 84ebcbd219137b..00000000000000 --- a/ports/libpq/patches/linux/configure.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/configure b/configure -index 54c852aca..96e2c89ba 100644 ---- a/configure -+++ b/configure -@@ -11923,7 +11923,7 @@ if ${ac_cv_lib_crypto_CRYPTO_new_ex_data+:} false; then : - $as_echo_n "(cached) " >&6 - else - ac_check_lib_save_LIBS=$LIBS --LIBS="-lcrypto $LIBS" -+LIBS="-lcrypto -pthread $LIBS" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ - -@@ -11958,7 +11958,7 @@ if test "x$ac_cv_lib_crypto_CRYPTO_new_ex_data" = xyes; then : - #define HAVE_LIBCRYPTO 1 - _ACEOF - -- LIBS="-lcrypto $LIBS" -+ LIBS="-lcrypto -pthread $LIBS" - - else - as_fn_error $? "library 'crypto' is required for OpenSSL" "$LINENO" 5 diff --git a/ports/libpq/patches/mingw/additional-zlib-names.patch b/ports/libpq/patches/mingw/additional-zlib-names.patch deleted file mode 100644 index e8ab7b06589ddd..00000000000000 --- a/ports/libpq/patches/mingw/additional-zlib-names.patch +++ /dev/null @@ -1,186 +0,0 @@ -diff --git a/configure b/configure -index c22d3de..75210f0 100755 ---- a/configure -+++ b/configure -@@ -11777,13 +11789,13 @@ Use --without-readline to disable readline support." "$LINENO" 5 - fi - - if test "$with_zlib" = yes; then -- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inflate in -lz" >&5 --$as_echo_n "checking for inflate in -lz... " >&6; } --if ${ac_cv_lib_z_inflate+:} false; then : -+ if test "$enable_debug" = yes; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing inflate" >&5 -+$as_echo_n "checking for library containing inflate... " >&6; } -+if ${ac_cv_search_inflate+:} false; then : - $as_echo_n "(cached) " >&6 - else -- ac_check_lib_save_LIBS=$LIBS --LIBS="-lz $LIBS" -+ ac_func_search_save_LIBS=$LIBS - cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ - -@@ -11802,23 +11814,101 @@ return inflate (); - return 0; - } - _ACEOF --if ac_fn_c_try_link "$LINENO"; then : -- ac_cv_lib_z_inflate=yes --else -- ac_cv_lib_z_inflate=no -+for ac_lib in '' zd zlibd zlib1d z zlib zlib1; do -+ if test -z "$ac_lib"; then -+ ac_res="none required" -+ else -+ ac_res=-l$ac_lib -+ LIBS="-l$ac_lib $ac_func_search_save_LIBS" -+ fi -+ if ac_fn_c_try_link "$LINENO"; then : -+ ac_cv_search_inflate=$ac_res - fi - rm -f core conftest.err conftest.$ac_objext \ -- conftest$ac_exeext conftest.$ac_ext --LIBS=$ac_check_lib_save_LIBS -+ conftest$ac_exeext -+ if ${ac_cv_search_inflate+:} false; then : -+ break - fi --{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_inflate" >&5 --$as_echo "$ac_cv_lib_z_inflate" >&6; } --if test "x$ac_cv_lib_z_inflate" = xyes; then : -- cat >>confdefs.h <<_ACEOF --#define HAVE_LIBZ 1 -+done -+if ${ac_cv_search_inflate+:} false; then : -+ -+else -+ ac_cv_search_inflate=no -+fi -+rm conftest.$ac_ext -+LIBS=$ac_func_search_save_LIBS -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_inflate" >&5 -+$as_echo "$ac_cv_search_inflate" >&6; } -+ac_res=$ac_cv_search_inflate -+if test "$ac_res" != no; then : -+ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" -+ -+$as_echo "#define HAVE_LIBZ 1" >>confdefs.h -+ -+else -+ as_fn_error $? "zlib library not found -+If you have zlib already installed, see config.log for details on the -+failure. It is possible the compiler isn't looking in the proper directory. -+Use --without-zlib to disable zlib support." "$LINENO" 5 -+fi -+ -+ else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing inflate" >&5 -+$as_echo_n "checking for library containing inflate... " >&6; } -+if ${ac_cv_search_inflate+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ ac_func_search_save_LIBS=$LIBS -+cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ -+ -+/* Override any GCC internal prototype to avoid an error. -+ Use char because int might match the return type of a GCC -+ builtin and then its argument prototype would still apply. */ -+#ifdef __cplusplus -+extern "C" -+#endif -+char inflate (); -+int -+main () -+{ -+return inflate (); -+ ; -+ return 0; -+} - _ACEOF -+for ac_lib in '' z zlib zlib1; do -+ if test -z "$ac_lib"; then -+ ac_res="none required" -+ else -+ ac_res=-l$ac_lib -+ LIBS="-l$ac_lib $ac_func_search_save_LIBS" -+ fi -+ if ac_fn_c_try_link "$LINENO"; then : -+ ac_cv_search_inflate=$ac_res -+fi -+rm -f core conftest.err conftest.$ac_objext \ -+ conftest$ac_exeext -+ if ${ac_cv_search_inflate+:} false; then : -+ break -+fi -+done -+if ${ac_cv_search_inflate+:} false; then : - -- LIBS="-lz $LIBS" -+else -+ ac_cv_search_inflate=no -+fi -+rm conftest.$ac_ext -+LIBS=$ac_func_search_save_LIBS -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_inflate" >&5 -+$as_echo "$ac_cv_search_inflate" >&6; } -+ac_res=$ac_cv_search_inflate -+if test "$ac_res" != no; then : -+ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" -+ -+$as_echo "#define HAVE_LIBZ 1" >>confdefs.h - - else - as_fn_error $? "zlib library not found -@@ -11827,6 +11917,7 @@ failure. It is possible the compiler isn't looking in the proper directory. - Use --without-zlib to disable zlib support." "$LINENO" 5 - fi - -+ fi - fi - - if test "$enable_spinlocks" = yes; then -diff --git a/configure.in b/configure.in -index 976f90d..e3cd80b 100644 ---- a/configure.in -+++ b/configure.in -@@ -1170,11 +1170,21 @@ Use --without-readline to disable readline support.]) - fi - - if test "$with_zlib" = yes; then -- AC_CHECK_LIB(z, inflate, [], -- [AC_MSG_ERROR([zlib library not found -+ if test "$enable_debug" = yes; then -+ AC_SEARCH_LIBS(inflate, [zd zlibd zlib1d z zlib zlib1], -+ [AC_DEFINE([HAVE_LIBZ], [1], [Define to 1 if you have the `z' library.])], -+ [AC_MSG_ERROR([zlib library not found - If you have zlib already installed, see config.log for details on the - failure. It is possible the compiler isn't looking in the proper directory. - Use --without-zlib to disable zlib support.])]) -+ else -+ AC_SEARCH_LIBS(inflate, [z zlib zlib1], -+ [AC_DEFINE([HAVE_LIBZ], [1], [Define to 1 if you have the `z' library.])], -+ [AC_MSG_ERROR([zlib library not found -+If you have zlib already installed, see config.log for details on the -+failure. It is possible the compiler isn't looking in the proper directory. -+Use --without-zlib to disable zlib support.])]) -+ fi - fi - - if test "$enable_spinlocks" = yes; then -diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in -index 244886a..29dd35b 100644 ---- a/src/include/pg_config.h.in -+++ b/src/include/pg_config.h.in -@@ -374,7 +374,7 @@ - /* Define to 1 if you have the `xslt' library (-lxslt). */ - #undef HAVE_LIBXSLT - --/* Define to 1 if you have the `z' library (-lz). */ -+/* Define to 1 if you have the `z' library. */ - #undef HAVE_LIBZ - - /* Define to 1 if the system has the type `locale_t'. */ diff --git a/ports/libpq/patches/mingw/link-with-crypt32.patch b/ports/libpq/patches/mingw/link-with-crypt32.patch deleted file mode 100644 index 67167de1f87209..00000000000000 --- a/ports/libpq/patches/mingw/link-with-crypt32.patch +++ /dev/null @@ -1,79 +0,0 @@ -diff --git a/configure b/configure -index 75210f0..6ea5e1f 100755 ---- a/configure -+++ b/configure -@@ -11708,6 +11708,62 @@ if test "$ac_res" != no; then : - - fi - -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing CertOpenStore" >&5 -+$as_echo_n "checking for library containing CertOpenStore... " >&6; } -+if ${ac_cv_search_CertOpenStore+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ ac_func_search_save_LIBS=$LIBS -+cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ -+ -+/* Override any GCC internal prototype to avoid an error. -+ Use char because int might match the return type of a GCC -+ builtin and then its argument prototype would still apply. */ -+#ifdef __cplusplus -+extern "C" -+#endif -+char CertOpenStore (); -+int -+main () -+{ -+return CertOpenStore (); -+ ; -+ return 0; -+} -+_ACEOF -+for ac_lib in '' crypt32; do -+ if test -z "$ac_lib"; then -+ ac_res="none required" -+ else -+ ac_res=-l$ac_lib -+ LIBS="-l$ac_lib $ac_func_search_save_LIBS" -+ fi -+ if ac_fn_c_try_link "$LINENO"; then : -+ ac_cv_search_CertOpenStore=$ac_res -+fi -+rm -f core conftest.err conftest.$ac_objext \ -+ conftest$ac_exeext -+ if ${ac_cv_search_CertOpenStore+:} false; then : -+ break -+fi -+done -+if ${ac_cv_search_CertOpenStore+:} false; then : -+ -+else -+ ac_cv_search_CertOpenStore=no -+fi -+rm conftest.$ac_ext -+LIBS=$ac_func_search_save_LIBS -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_CertOpenStore" >&5 -+$as_echo "$ac_cv_search_CertOpenStore" >&6; } -+ac_res=$ac_cv_search_CertOpenStore -+if test "$ac_res" != no; then : -+ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" -+ -+fi -+ - - if test "$with_readline" = yes; then - -diff --git a/configure.in b/configure.in -index 0832636..0911ec0 100644 ---- a/configure.in -+++ b/configure.in -@@ -1158,6 +1158,7 @@ AC_SEARCH_LIBS(sched_yield, rt) - AC_SEARCH_LIBS(gethostbyname_r, nsl) - # Cygwin: - AC_SEARCH_LIBS(shmget, cygipc) -+AC_SEARCH_LIBS(CertOpenStore, crypt32) - - if test "$with_readline" = yes; then - PGAC_CHECK_READLINE diff --git a/ports/libpq/patches/windows/MSBuildProject-static-crt.patch b/ports/libpq/patches/windows/MSBuildProject-static-crt.patch deleted file mode 100644 index 03bd832f8597b9..00000000000000 --- a/ports/libpq/patches/windows/MSBuildProject-static-crt.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/src/tools/msvc/MSBuildProject.pm b/src/tools/msvc/MSBuildProject.pm -index 823357c02..faa3e336f 100644 ---- a/src/tools/msvc/MSBuildProject.pm -+++ b/src/tools/msvc/MSBuildProject.pm -@@ -84,16 +84,16 @@ EOF - defs => "_DEBUG;DEBUG=1", - opt => 'Disabled', - strpool => 'false', -- runtime => 'MultiThreadedDebugDLL' -+ runtime => 'MultiThreadedDebug' - }); - $self->WriteItemDefinitionGroup( - $f, - 'Release', - { - defs => "", - opt => 'Full', - strpool => 'true', -- runtime => 'MultiThreadedDLL' -+ runtime => 'MultiThreaded' - }); - return; - } diff --git a/ports/libpq/patches/windows/MSBuildProject-static-lib.patch b/ports/libpq/patches/windows/MSBuildProject-static-lib.patch deleted file mode 100644 index ba72a82bf18ad2..00000000000000 --- a/ports/libpq/patches/windows/MSBuildProject-static-lib.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/tools/msvc/MSBuildProject.pm b/src/tools/msvc/MSBuildProject.pm -index 823357c02..e1dc59aa7 100644 ---- a/src/tools/msvc/MSBuildProject.pm -+++ b/src/tools/msvc/MSBuildProject.pm -@@ -262,7 +262,7 @@ sub WriteConfigurationPropertyGroup - my $cfgtype = - ($self->{type} eq "exe") - ? 'Application' -- : ($self->{type} eq "dll" ? 'DynamicLibrary' : 'StaticLibrary'); -+ : ($self->{type} eq "dll" ? 'StaticLibrary' : 'StaticLibrary'); - - print $f < diff --git a/ports/libpq/patches/windows/MSBuildProject_fix_gendef_perl.patch b/ports/libpq/patches/windows/MSBuildProject_fix_gendef_perl.patch deleted file mode 100644 index 6c52713a9930fa..00000000000000 --- a/ports/libpq/patches/windows/MSBuildProject_fix_gendef_perl.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/tools/msvc/MSBuildProject.pm b/src/tools/msvc/MSBuildProject.pm -index 823357c02..b93992f22 100644 ---- a/src/tools/msvc/MSBuildProject.pm -+++ b/src/tools/msvc/MSBuildProject.pm -@@ -381,7 +381,7 @@ EOF - print $f < - Generate DEF file -- perl src\\tools\\msvc\\gendef.pl $cfgname\\$self->{name} $self->{platform} -+ perl "src\\tools\\msvc\\gendef.pl" $cfgname\\$self->{name} $self->{platform} - - EOF - } diff --git a/ports/libpq/patches/windows/Mkvcbuild-static-lib.patch b/ports/libpq/patches/windows/Mkvcbuild-static-lib.patch deleted file mode 100644 index 818134f5c55a4d..00000000000000 --- a/ports/libpq/patches/windows/Mkvcbuild-static-lib.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/tools/msvc/Mkvcbuild.pm b/src/tools/msvc/Mkvcbuild.pm -index 99f39caa5..4f51c12f2 100644 ---- a/src/tools/msvc/Mkvcbuild.pm -+++ b/src/tools/msvc/Mkvcbuild.pm -@@ -182,7 +182,7 @@ sub mkvcbuild - 'syncrep_gram.y'); - $postgres->AddFiles('src/backend/utils/adt', 'jsonpath_scan.l', - 'jsonpath_gram.y'); -- $postgres->AddDefine('BUILDING_DLL'); -+ # $postgres->AddDefine('BUILDING_DLL'); - $postgres->AddLibrary('secur32.lib'); - $postgres->AddLibrary('ws2_32.lib'); - $postgres->AddLibrary('wldap32.lib') if ($solution->{options}->{ldap}); diff --git a/ports/libpq/patches/windows/Solution.patch b/ports/libpq/patches/windows/Solution.patch deleted file mode 100644 index 2259e3e8abdf84..00000000000000 --- a/ports/libpq/patches/windows/Solution.patch +++ /dev/null @@ -1,39 +0,0 @@ -diff --git a/src/tools/msvc/Solution.pm b/src/tools/msvc/Solution.pm -index 51711c2bf..d33fdc3b0 100644 ---- a/src/tools/msvc/Solution.pm -+++ b/src/tools/msvc/Solution.pm -@@ -69,9 +69,15 @@ sub DeterminePlatform - my $self = shift; - - # Examine CL help output to determine if we are in 32 or 64-bit mode. -- my $output = `cl /? 2>&1`; -+ my $output = `cl 2>&1`; - $? >> 8 == 0 or die "cl command not found"; -- $self->{platform} = ($output =~ /^\/favor:<.+AMD64/m) ? 'x64' : 'Win32'; -+ if ($output =~ m/x64\n/) { $self->{platform} = 'x64'; -+ } elsif ($output =~ m/x86\n/) { $self->{platform} = 'Win32'; -+ } elsif ($output =~ m/ARM64\n/) { $self->{platform} = 'ARM64'; -+ } elsif ($output =~ m/ARM\n/) { $self->{platform} = 'ARM'; -+ } else { $self->{platform} = 'Unknown' -+ } -+ print "cl output $output."; - print "Detected hardware platform: $self->{platform}\n"; - return; - } -@@ -526,14 +526,14 @@ EOF - || confess "Could not open pg_config_paths.h"; - print $o <{options}->{zlib}) - { - $proj->AddIncludeDir($self->{options}->{zlib} . '\include'); -- $proj->AddLibrary($self->{options}->{zlib} . '\lib\zdll.lib'); -+ $proj->AddLibrary($self->{options}->{zlib} . '\debug\lib\zlibd.lib'); # This must be updated - } - if ($self->{options}->{openssl}) - { -@@ -661,7 +661,7 @@ sub AddProject - # changed their library names from: - # - libeay to libcrypto - # - ssleay to libssl -- if ($digit1 >= '1' && $digit2 >= '1' && $digit3 >= '0') -+ if ($digit1 >= '1' && $digit2 >= '1' && $digit3 >= '0') # This must be updated - { - my $dbgsuffix; - my $libsslpath; -@@ -670,27 +670,27 @@ sub AddProject - # The format name of the libraries is slightly - # different between the Win32 and Win64 platform, so - # adapt. -- if (-e "$self->{options}->{openssl}/lib/VC/sslcrypto32MD.lib") -+ if (-e "$self->{options}->{openssl}/lib/VC/sslcrypto32MD.lib") # This must be updated - { - # Win32 here, with a debugging library set. - $dbgsuffix = 1; -- $libsslpath = '\lib\VC\libssl32.lib'; -- $libcryptopath = '\lib\VC\libcrypto32.lib'; -+ $libsslpath = '\lib\VC\libssl32.lib'; # This must be updated -+ $libcryptopath = '\lib\VC\libcrypto32.lib'; # This must be updated - } -- elsif (-e "$self->{options}->{openssl}/lib/VC/sslcrypto64MD.lib") -+ elsif (-e "$self->{options}->{openssl}/lib/VC/sslcrypto64MD.lib") # This must be updated - { - # Win64 here, with a debugging library set. - $dbgsuffix = 1; -- $libsslpath = '\lib\VC\libssl64.lib'; -- $libcryptopath = '\lib\VC\libcrypto64.lib'; -+ $libsslpath = '\lib\VC\libssl64.lib'; # This must be updated -+ $libcryptopath = '\lib\VC\libcrypto64.lib'; # This must be updated - } - else - { - # On both Win32 and Win64 the same library - # names are used without a debugging context. - $dbgsuffix = 0; -- $libsslpath = '\lib\libssl.lib'; -- $libcryptopath = '\lib\libcrypto.lib'; -+ $libsslpath = '\debug\lib\libssl.lib'; # This must be updated -+ $libcryptopath = '\debug\lib\libcrypto.lib'; # This must be updated - } - - $proj->AddLibrary($self->{options}->{openssl} . $libsslpath, -@@ -698,16 +698,16 @@ sub AddProject - $proj->AddLibrary($self->{options}->{openssl} . $libcryptopath, - $dbgsuffix); - } -- else -+ else - { - # Choose which set of libraries to use depending on if - # debugging libraries are in place in the installer. -- if (-e "$self->{options}->{openssl}/lib/VC/ssleay32MD.lib") -+ if (-e "$self->{options}->{openssl}/lib/VC/ssleay32MD.lib") # This must be updated - { - $proj->AddLibrary( -- $self->{options}->{openssl} . '\lib\VC\ssleay32.lib', 1); -+ $self->{options}->{openssl} . '\lib\VC\ssleay32.lib', 1); # This must be updated - $proj->AddLibrary( -- $self->{options}->{openssl} . '\lib\VC\libeay32.lib', 1); -+ $self->{options}->{openssl} . '\lib\VC\libeay32.lib', 1); # This must be updated - } - else - { -@@ -715,60 +715,60 @@ sub AddProject - # to be here, so don't ask for it in last - # parameter. - $proj->AddLibrary( -- $self->{options}->{openssl} . '\lib\ssleay32.lib', 0); -+ $self->{options}->{openssl} . '\debug\lib\ssleay32.lib', 0); # This must be updated - $proj->AddLibrary( -- $self->{options}->{openssl} . '\lib\libeay32.lib', 0); -+ $self->{options}->{openssl} . '\debug\lib\libeay32.lib', 0); # This must be updated - } - } - } - if ($self->{options}->{nls}) - { - $proj->AddIncludeDir($self->{options}->{nls} . '\include'); -- $proj->AddLibrary($self->{options}->{nls} . '\lib\libintl.lib'); -+ $proj->AddLibrary($self->{options}->{nls} . '\debug\lib\intl.lib'); # This must be updated - } - if ($self->{options}->{gss}) - { -- $proj->AddIncludeDir($self->{options}->{gss} . '\inc\krb5'); -- $proj->AddLibrary($self->{options}->{gss} . '\lib\i386\krb5_32.lib'); -- $proj->AddLibrary($self->{options}->{gss} . '\lib\i386\comerr32.lib'); -- $proj->AddLibrary($self->{options}->{gss} . '\lib\i386\gssapi32.lib'); -+ $proj->AddIncludeDir($self->{options}->{gss} . '\inc\krb5'); # This must be updated -+ $proj->AddLibrary($self->{options}->{gss} . '\lib\i386\krb5_32.lib'); # This must be updated -+ $proj->AddLibrary($self->{options}->{gss} . '\lib\i386\comerr32.lib');# This must be updated -+ $proj->AddLibrary($self->{options}->{gss} . '\lib\i386\gssapi32.lib');# This must be updated - } - if ($self->{options}->{iconv}) - { - $proj->AddIncludeDir($self->{options}->{iconv} . '\include'); -- $proj->AddLibrary($self->{options}->{iconv} . '\lib\iconv.lib'); -+ $proj->AddLibrary($self->{options}->{iconv} . '\debug\lib\iconv.lib'); # This must be updated - } - if ($self->{options}->{icu}) - { - $proj->AddIncludeDir($self->{options}->{icu} . '\include'); - if ($self->{platform} eq 'Win32') - { -- $proj->AddLibrary($self->{options}->{icu} . '\lib\icuin.lib'); -- $proj->AddLibrary($self->{options}->{icu} . '\lib\icuuc.lib'); -- $proj->AddLibrary($self->{options}->{icu} . '\lib\icudt.lib'); -+ $proj->AddLibrary($self->{options}->{icu} . '\debug\lib\icuind.lib'); # This must be updated -+ $proj->AddLibrary($self->{options}->{icu} . '\debug\lib\icuucd.lib'); # This must be updated -+ $proj->AddLibrary($self->{options}->{icu} . '\debug\lib\icudtd.lib'); # This must be updated - } - else - { -- $proj->AddLibrary($self->{options}->{icu} . '\lib64\icuin.lib'); -- $proj->AddLibrary($self->{options}->{icu} . '\lib64\icuuc.lib'); -- $proj->AddLibrary($self->{options}->{icu} . '\lib64\icudt.lib'); -+ $proj->AddLibrary($self->{options}->{icu} . '\debug\lib\icuind.lib'); # This must be updated -+ $proj->AddLibrary($self->{options}->{icu} . '\debug\lib\icuucd.lib'); # This must be updated -+ $proj->AddLibrary($self->{options}->{icu} . '\debug\lib\icudtd.lib'); # This must be updated - } - } - if ($self->{options}->{xml}) - { - $proj->AddIncludeDir($self->{options}->{xml} . '\include'); - $proj->AddIncludeDir($self->{options}->{xml} . '\include\libxml2'); -- $proj->AddLibrary($self->{options}->{xml} . '\lib\libxml2.lib'); -+ $proj->AddLibrary($self->{options}->{xml} . '\debug\lib\libxml2.lib'); # This must be updated - } - if ($self->{options}->{xslt}) - { - $proj->AddIncludeDir($self->{options}->{xslt} . '\include'); -- $proj->AddLibrary($self->{options}->{xslt} . '\lib\libxslt.lib'); -+ $proj->AddLibrary($self->{options}->{xslt} . '\debug\lib\libxslt.lib'); # This must be updated - } - if ($self->{options}->{uuid}) - { - $proj->AddIncludeDir($self->{options}->{uuid} . '\include'); -- $proj->AddLibrary($self->{options}->{uuid} . '\lib\uuid.lib'); -+ $proj->AddLibrary($self->{options}->{uuid} . '\debug\lib\uuid.lib'); # This must be updated - } - return $proj; - } diff --git a/ports/libpq/patches/windows/Solution_RELEASE.patch b/ports/libpq/patches/windows/Solution_RELEASE.patch deleted file mode 100644 index cc41b8d0b7d569..00000000000000 --- a/ports/libpq/patches/windows/Solution_RELEASE.patch +++ /dev/null @@ -1,157 +0,0 @@ -diff --git a/src/tools/msvc/Solution.pm b/src/tools/msvc/Solution.pm -index 51711c2bf..d33fdc3b0 100644 ---- a/src/tools/msvc/Solution.pm -+++ b/src/tools/msvc/Solution.pm -@@ -650,7 +650,7 @@ sub AddProject - if ($self->{options}->{zlib}) - { - $proj->AddIncludeDir($self->{options}->{zlib} . '\include'); -- $proj->AddLibrary($self->{options}->{zlib} . '\lib\zdll.lib'); -+ $proj->AddLibrary($self->{options}->{zlib} . '\lib\zlib.lib'); # This must be updated - } - if ($self->{options}->{openssl}) - { -@@ -661,7 +661,7 @@ sub AddProject - # changed their library names from: - # - libeay to libcrypto - # - ssleay to libssl -- if ($digit1 >= '1' && $digit2 >= '1' && $digit3 >= '0') -+ if ($digit1 >= '1' && $digit2 >= '1' && $digit3 >= '0') # This must be updated - { - my $dbgsuffix; - my $libsslpath; -@@ -670,27 +670,27 @@ sub AddProject - # The format name of the libraries is slightly - # different between the Win32 and Win64 platform, so - # adapt. -- if (-e "$self->{options}->{openssl}/lib/VC/sslcrypto32MD.lib") -+ if (-e "$self->{options}->{openssl}/lib/VC/sslcrypto32MD.lib") # This must be updated - { - # Win32 here, with a debugging library set. - $dbgsuffix = 1; -- $libsslpath = '\lib\VC\libssl32.lib'; -- $libcryptopath = '\lib\VC\libcrypto32.lib'; -+ $libsslpath = '\lib\VC\libssl32.lib'; # This must be updated -+ $libcryptopath = '\lib\VC\libcrypto32.lib'; # This must be updated - } -- elsif (-e "$self->{options}->{openssl}/lib/VC/sslcrypto64MD.lib") -+ elsif (-e "$self->{options}->{openssl}/lib/VC/sslcrypto64MD.lib") # This must be updated - { - # Win64 here, with a debugging library set. - $dbgsuffix = 1; -- $libsslpath = '\lib\VC\libssl64.lib'; -- $libcryptopath = '\lib\VC\libcrypto64.lib'; -+ $libsslpath = '\lib\VC\libssl64.lib'; # This must be updated -+ $libcryptopath = '\lib\VC\libcrypto64.lib'; # This must be updated - } - else - { - # On both Win32 and Win64 the same library - # names are used without a debugging context. - $dbgsuffix = 0; -- $libsslpath = '\lib\libssl.lib'; -- $libcryptopath = '\lib\libcrypto.lib'; -+ $libsslpath = '\lib\libssl.lib'; # This must be updated -+ $libcryptopath = '\lib\libcrypto.lib'; # This must be updated - } - - $proj->AddLibrary($self->{options}->{openssl} . $libsslpath, -@@ -698,16 +698,16 @@ sub AddProject - $proj->AddLibrary($self->{options}->{openssl} . $libcryptopath, - $dbgsuffix); - } -- else -+ else - { - # Choose which set of libraries to use depending on if - # debugging libraries are in place in the installer. -- if (-e "$self->{options}->{openssl}/lib/VC/ssleay32MD.lib") -+ if (-e "$self->{options}->{openssl}/lib/VC/ssleay32MD.lib") # This must be updated - { - $proj->AddLibrary( -- $self->{options}->{openssl} . '\lib\VC\ssleay32.lib', 1); -+ $self->{options}->{openssl} . '\lib\VC\ssleay32.lib', 1); # This must be updated - $proj->AddLibrary( -- $self->{options}->{openssl} . '\lib\VC\libeay32.lib', 1); -+ $self->{options}->{openssl} . '\lib\VC\libeay32.lib', 1); # This must be updated - } - else - { -@@ -715,60 +715,60 @@ sub AddProject - # to be here, so don't ask for it in last - # parameter. - $proj->AddLibrary( -- $self->{options}->{openssl} . '\lib\ssleay32.lib', 0); -+ $self->{options}->{openssl} . '\lib\ssleay32.lib', 0); # This must be updated - $proj->AddLibrary( -- $self->{options}->{openssl} . '\lib\libeay32.lib', 0); -+ $self->{options}->{openssl} . '\lib\libeay32.lib', 0); # This must be updated - } - } - } - if ($self->{options}->{nls}) - { - $proj->AddIncludeDir($self->{options}->{nls} . '\include'); -- $proj->AddLibrary($self->{options}->{nls} . '\lib\libintl.lib'); -+ $proj->AddLibrary($self->{options}->{nls} . '\lib\intl.lib'); # This must be updated - } - if ($self->{options}->{gss}) - { -- $proj->AddIncludeDir($self->{options}->{gss} . '\inc\krb5'); -- $proj->AddLibrary($self->{options}->{gss} . '\lib\i386\krb5_32.lib'); -- $proj->AddLibrary($self->{options}->{gss} . '\lib\i386\comerr32.lib'); -- $proj->AddLibrary($self->{options}->{gss} . '\lib\i386\gssapi32.lib'); -+ $proj->AddIncludeDir($self->{options}->{gss} . '\inc\krb5'); # This must be updated -+ $proj->AddLibrary($self->{options}->{gss} . '\lib\i386\krb5_32.lib'); # This must be updated -+ $proj->AddLibrary($self->{options}->{gss} . '\lib\i386\comerr32.lib');# This must be updated -+ $proj->AddLibrary($self->{options}->{gss} . '\lib\i386\gssapi32.lib');# This must be updated - } - if ($self->{options}->{iconv}) - { - $proj->AddIncludeDir($self->{options}->{iconv} . '\include'); -- $proj->AddLibrary($self->{options}->{iconv} . '\lib\iconv.lib'); -+ $proj->AddLibrary($self->{options}->{iconv} . '\lib\iconv.lib'); # This must be updated - } - if ($self->{options}->{icu}) - { - $proj->AddIncludeDir($self->{options}->{icu} . '\include'); - if ($self->{platform} eq 'Win32') - { -- $proj->AddLibrary($self->{options}->{icu} . '\lib\icuin.lib'); -- $proj->AddLibrary($self->{options}->{icu} . '\lib\icuuc.lib'); -- $proj->AddLibrary($self->{options}->{icu} . '\lib\icudt.lib'); -+ $proj->AddLibrary($self->{options}->{icu} . '\lib\icuin.lib'); # This must be updated -+ $proj->AddLibrary($self->{options}->{icu} . '\lib\icuuc.lib'); # This must be updated -+ $proj->AddLibrary($self->{options}->{icu} . '\lib\icudt.lib'); # This must be updated - } - else - { -- $proj->AddLibrary($self->{options}->{icu} . '\lib64\icuin.lib'); -- $proj->AddLibrary($self->{options}->{icu} . '\lib64\icuuc.lib'); -- $proj->AddLibrary($self->{options}->{icu} . '\lib64\icudt.lib'); -+ $proj->AddLibrary($self->{options}->{icu} . '\lib\icuin.lib'); # This must be updated -+ $proj->AddLibrary($self->{options}->{icu} . '\lib\icuuc.lib'); # This must be updated -+ $proj->AddLibrary($self->{options}->{icu} . '\lib\icudt.lib'); # This must be updated - } - } - if ($self->{options}->{xml}) - { - $proj->AddIncludeDir($self->{options}->{xml} . '\include'); - $proj->AddIncludeDir($self->{options}->{xml} . '\include\libxml2'); -- $proj->AddLibrary($self->{options}->{xml} . '\lib\libxml2.lib'); -+ $proj->AddLibrary($self->{options}->{xml} . '\lib\libxml2.lib'); # This must be updated - } - if ($self->{options}->{xslt}) - { - $proj->AddIncludeDir($self->{options}->{xslt} . '\include'); -- $proj->AddLibrary($self->{options}->{xslt} . '\lib\libxslt.lib'); -+ $proj->AddLibrary($self->{options}->{xslt} . '\lib\libxslt.lib'); # This must be updated - } - if ($self->{options}->{uuid}) - { - $proj->AddIncludeDir($self->{options}->{uuid} . '\include'); -- $proj->AddLibrary($self->{options}->{uuid} . '\lib\uuid.lib'); -+ $proj->AddLibrary($self->{options}->{uuid} . '\lib\uuid.lib'); # This must be updated - } - return $proj; - } diff --git a/ports/libpq/patches/windows/arm.patch b/ports/libpq/patches/windows/arm.patch deleted file mode 100644 index 0e47c34b9d0425..00000000000000 --- a/ports/libpq/patches/windows/arm.patch +++ /dev/null @@ -1,39 +0,0 @@ -diff --git a/src/tools/msvc/Mkvcbuild.pm b/src/tools/msvc/Mkvcbuild.pm -index 99f39caa5..4f51c12f2 100644 ---- a/src/tools/msvc/Mkvcbuild.pm -+++ b/src/tools/msvc/Mkvcbuild.pm -@@ -110,8 +110,8 @@ sub mkvcbuild - - if ($vsVersion >= '9.00') - { -- push(@pgportfiles, 'pg_crc32c_sse42_choose.c'); -- push(@pgportfiles, 'pg_crc32c_sse42.c'); -+ #push(@pgportfiles, 'pg_crc32c_sse42_choose.c'); -+ #push(@pgportfiles, 'pg_crc32c_sse42.c'); - push(@pgportfiles, 'pg_crc32c_sb8.c'); - } - else -diff --git a/src/tools/msvc/MSBuildProject.pm b/src/tools/msvc/MSBuildProject.pm -index 823357c02..625f32bf8 100644 ---- a/src/tools/msvc/MSBuildProject.pm -+++ b/src/tools/msvc/MSBuildProject.pm -@@ -307,9 +307,8 @@ sub WriteItemDefinitionGroup - : ($self->{type} eq "dll" ? 'DynamicLibrary' : 'StaticLibrary'); - my $libs = $self->GetAdditionalLinkerDependencies($cfgname, ';'); - -- my $targetmachine = -- $self->{platform} eq 'Win32' ? 'MachineX86' : 'MachineX64'; -- -+ my $targetmachine = $self->{platform} eq 'ARM64' ? 'MachineARM64' : 'MachineARM'; -+ - my $includes = $self->{includes}; - unless ($includes eq '' or $includes =~ /;$/) - { -@@ -347,7 +349,6 @@ sub WriteItemDefinitionGroup - .\\$cfgname\\$self->{name}\\$self->{name}.pdb - false - .\\$cfgname\\$self->{name}\\$self->{name}.map -- false - - - Console diff --git a/ports/libpq/patches/windows/fix-compile-flag-Zi.patch b/ports/libpq/patches/windows/fix-compile-flag-Zi.patch deleted file mode 100644 index 04d86811e954ae..00000000000000 --- a/ports/libpq/patches/windows/fix-compile-flag-Zi.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff --git a/src/tools/msvc/MSBuildProject.pm b/src/tools/msvc/MSBuildProject.pm -index b93992f..2397511 100644 ---- a/src/tools/msvc/MSBuildProject.pm -+++ b/src/tools/msvc/MSBuildProject.pm -@@ -333,7 +333,7 @@ sub WriteItemDefinitionGroup - false - Level3 - true -- ProgramDatabase -+ OldStyle - Default - - -diff --git a/src/tools/msvc/Install.pm b/src/tools/msvc/Install.pm -index e0c9a88..98f9e67 100644 ---- a/src/tools/msvc/Install.pm -+++ b/src/tools/msvc/Install.pm -@@ -341,9 +341,12 @@ sub CopySolutionOutput - || croak "Could not copy $pf.$ext\n"; - } - } -- lcopy("$conf\\$pf\\$pf.pdb", "$target\\bin\\$pf.pdb") -- || croak "Could not copy $pf.pdb\n"; -- print "."; -+ if ($1 eq 'DynamicLibrary') -+ { -+ lcopy("$conf\\$pf\\$pf.pdb", "$target\\bin\\$pf.pdb") -+ || croak "Could not copy $pf.pdb\n"; -+ print "."; -+ } - } - print "\n"; - return; diff --git a/ports/libpq/patches/windows/host_skip_openssl.patch b/ports/libpq/patches/windows/host_skip_openssl.patch deleted file mode 100644 index e18e178843f9bc..00000000000000 --- a/ports/libpq/patches/windows/host_skip_openssl.patch +++ /dev/null @@ -1,38 +0,0 @@ -diff --git a/src/tools/msvc/Solution.pm b/src/tools/msvc/Solution.pm -index 25a549015..9018270ab 100644 ---- a/src/tools/msvc/Solution.pm -+++ b/src/tools/msvc/Solution.pm -@@ -132,21 +132,21 @@ sub GetOpenSSLVersion - # Attempt to get OpenSSL version and location. This assumes that - # openssl.exe is in the specified directory. - # Quote the .exe name in case it has spaces -- my $opensslcmd = -- qq("openssl.exe" version 2>&1); -- my $sslout = `$opensslcmd`; -+ #my $opensslcmd = -+ # qq("openssl.exe" version 2>&1); -+ #my $sslout = `$opensslcmd`; - -- $? >> 8 == 0 -- or croak -- "Unable to determine OpenSSL version: The openssl.exe command wasn't found."; -+ #$? >> 8 == 0 -+ # or croak -+ # "Unable to determine OpenSSL version: The openssl.exe command wasn't found."; - -- if ($sslout =~ /(\d+)\.(\d+)\.(\d+)(\D)/m) -- { -- return ($1, $2, $3); -- } -+ #if ($sslout =~ /(\d+)\.(\d+)\.(\d+)(\D)/m) -+ #{ -+ return (1, 1, 1); -+ #} - -- croak -- "Unable to determine OpenSSL version: The openssl.exe version could not be determined."; -+ #croak -+ # "Unable to determine OpenSSL version: The openssl.exe version could not be determined."; - } - - sub GenerateFiles diff --git a/ports/libpq/patches/windows/install.patch b/ports/libpq/patches/windows/install.patch deleted file mode 100644 index 42713389bb6da8..00000000000000 --- a/ports/libpq/patches/windows/install.patch +++ /dev/null @@ -1,244 +0,0 @@ -diff --git a/src/tools/msvc/Install.pm b/src/tools/msvc/Install.pm -index d109b2c90..75c7446e6 100644 ---- a/src/tools/msvc/Install.pm -+++ b/src/tools/msvc/Install.pm -@@ -63,8 +63,16 @@ sub Install - do "./config.pl" if (-f "config.pl"); - } - -- chdir("../../..") if (-f "../../../configure"); -- chdir("../../../..") if (-f "../../../../configure"); -+ # Move to the root path depending on the current location. -+ if (-f "../../../configure") -+ { -+ chdir("../../.."); -+ } -+ elsif (-f "../../../../configure") -+ { -+ chdir("../../../.."); -+ } -+ - my $conf = ""; - if (-d "debug") - { -@@ -106,7 +106,7 @@ sub Install - } - }, - @top_dir); -- CopySetOfFiles('config files', $sample_files, $target . '/share/'); -+ CopySetOfFiles('config files', $sample_files, $target . '/share/libpq/'); - CopyFiles( - 'Import libraries', - $target . '/lib/', -@@ -78,10 +78,10 @@ sub Install - my $majorver = DetermineMajorVersion(); - print "Installing version $majorver for $conf in $target\n"; - -- my @client_dirs = ('bin', 'lib', 'share', 'symbols'); -+ my @client_dirs = ('bin', 'lib', 'share', 'tools', 'share/libpq', 'tools/libpq'); - my @all_dirs = ( -- @client_dirs, 'doc', 'doc/contrib', 'doc/extension', 'share/contrib', -- 'share/extension', 'share/timezonesets', 'share/tsearch_data'); -+ @client_dirs, 'doc', 'doc/libpq', 'doc/libpq/contrib', 'doc/libpq/extension', 'share/libpq/contrib', -+ 'share/libpq/extension', 'share/libpq/timezonesets', 'share/libpq/tsearch_data'); - if ($insttype eq "client") - { - EnsureDirectories($target, @client_dirs); -@@ -120,35 +120,35 @@ sub Install - CopySetOfFiles( - 'timezone names', - [ glob('src\timezone\tznames\*.txt') ], -- $target . '/share/timezonesets/'); -+ $target . '/share/libpq/timezonesets/'); - CopyFiles( - 'timezone sets', -- $target . '/share/timezonesets/', -+ $target . '/share/libpq/timezonesets/', - 'src/timezone/tznames/', 'Default', 'Australia', 'India'); - CopySetOfFiles( - 'BKI files', - [ glob("src\\backend\\catalog\\postgres.*") ], -- $target . '/share/'); -+ $target . '/share/libpq/'); - CopySetOfFiles( - 'SQL files', - [ glob("src\\backend\\catalog\\*.sql") ], -- $target . '/share/'); -+ $target . '/share/libpq/'); - CopyFiles( -- 'Information schema data', $target . '/share/', -+ 'Information schema data', $target . '/share/libpq/', - 'src/backend/catalog/', 'sql_features.txt'); - CopyFiles( -- 'Error code data', $target . '/share/', -+ 'Error code data', $target . '/share/libpq/', - 'src/backend/utils/', 'errcodes.txt'); - GenerateTimezoneFiles($target, $conf); - GenerateTsearchFiles($target); - CopySetOfFiles( - 'Stopword files', - [ glob("src\\backend\\snowball\\stopwords\\*.stop") ], -- $target . '/share/tsearch_data/'); -+ $target . '/share/libpq/tsearch_data/'); - CopySetOfFiles( - 'Dictionaries sample files', - [ glob("src\\backend\\tsearch\\dicts\\*_sample*") ], -- $target . '/share/tsearch_data/'); -+ $target . '/share/libpq/tsearch_data/'); - - my $pl_extension_files = []; - my @pldirs = ('src/pl/plpgsql/src'); -@@ -167,7 +167,7 @@ sub Install - }, - @pldirs); - CopySetOfFiles('PL Extension files', -- $pl_extension_files, $target . '/share/extension/'); -+ $pl_extension_files, $target . '/share/libpq/extension/'); - } - - GenerateNLSFiles($target, $config->{nls}, $majorver) if ($config->{nls}); -@@ -282,23 +282,26 @@ sub CopySolutionOutput - { - if ($1 == 1) - { -- push(@{ $install_list{'bin'} }, "exe"); -+ push(@{ $install_list{'tools\\libpq'} }, "exe"); - } - elsif ($1 == 2) - { -- push(@{ $install_list{'lib'} }, "dll"); -+ push(@{ $install_list{'bin'} }, "dll"); - if ($is_sharedlib) - { - push(@{ $install_list{'bin'} }, "dll"); - push(@{ $install_list{'lib'} }, "lib"); - } -+ else -+ { -+ push(@{ $install_list{'lib'} }, "lib"); -+ } - } - else - { -- -+ push(@{ $install_list{'lib'} }, "lib"); - # Static libraries, such as libpgport, only used internally - # during build, don't install. -- next; - } - } - elsif ($vcproj eq 'vcxproj' -@@ -306,11 +309,11 @@ sub CopySolutionOutput - { - if ($1 eq 'Application') - { -- push(@{ $install_list{'bin'} }, "exe"); -+ push(@{ $install_list{'tools\\libpq'} }, "exe"); - } - elsif ($1 eq 'DynamicLibrary') - { -- push(@{ $install_list{'lib'} }, "dll"); -+ push(@{ $install_list{'bin'} }, "dll"); - if ($is_sharedlib) - { - push(@{ $install_list{'bin'} }, "dll"); -@@ -319,10 +322,9 @@ sub CopySolutionOutput - } - else # 'StaticLibrary' - { -- -+ push(@{ $install_list{'lib'} }, "lib"); - # Static lib, such as libpgport, only used internally - # during build, don't install. -- next; - } - } - else -@@ -339,7 +339,7 @@ sub CopySolutionOutput - || croak "Could not copy $pf.$ext\n"; - } - } -- lcopy("$conf\\$pf\\$pf.pdb", "$target\\symbols\\$pf.pdb") -+ lcopy("$conf\\$pf\\$pf.pdb", "$target\\bin\\$pf.pdb") - || croak "Could not copy $pf.pdb\n"; - print "."; - } -@@ -366,7 +366,7 @@ sub GenerateTimezoneFiles - print "Generating timezone files..."; - - my @args = -- ("$conf/zic/zic", '-d', "$target/share/timezone", '-p', "$posixrules"); -+ ("$conf/zic/zic", '-d', "$target/share/libpq/timezone", '-p', "$posixrules"); - foreach (@tzfiles) - { - my $tzfile = $_; -@@ -391,7 +391,7 @@ sub GenerateTsearchFiles - $mf =~ /^LANGUAGES\s*=\s*(.*)$/m - || die "Could not find LANGUAGES line in snowball Makefile\n"; - my @pieces = split /\s+/, $1; -- open($F, '>', "$target/share/snowball_create.sql") -+ open($F, '>', "$target/share/libpq/snowball_create.sql") - || die "Could not write snowball_create.sql"; - print $F read_file('src/backend/snowball/snowball_func.sql.in'); - -@@ -476,7 +476,7 @@ sub CopySubdirFiles - foreach my $f (split /\s+/, $flist) - { - lcopy("$subdir/$module/$f.control", -- "$target/share/extension/$f.control") -+ "$target/share/libpq/extension/$f.control") - || croak("Could not copy file $f.control in contrib $module"); - print '.'; - } -@@ -494,7 +494,7 @@ sub CopySubdirFiles - foreach my $f (split /\s+/, $flist) - { - lcopy("$subdir/$module/$f", -- "$target/share/$moduledir/" . basename($f)) -+ "$target/share/libpq/$moduledir/" . basename($f)) - || croak("Could not copy file $f in contrib $module"); - print '.'; - } -@@ -509,7 +509,7 @@ sub CopySubdirFiles - foreach my $f (split /\s+/, $flist) - { - lcopy("$subdir/$module/$f", -- "$target/share/tsearch_data/" . basename($f)) -+ "$target/share/libpq/tsearch_data/" . basename($f)) - || croak("Could not copy file $f in $subdir $module"); - print '.'; - } -@@ -572,7 +572,7 @@ sub CopySubdirFiles - if ($module eq 'spi'); - foreach my $f (split /\s+/, $flist) - { -- lcopy("$subdir/$module/$f", "$target/doc/$moduledir/$f") -+ lcopy("$subdir/$module/$f", "$target/doc/libpq/$moduledir/$f") - || croak("Could not copy file $f in contrib $module"); - print '.'; - } -@@ -701,7 +701,7 @@ sub GenerateNLSFiles - my $majorver = shift; - - print "Installing NLS files..."; -- EnsureDirectories($target, "share/locale"); -+ EnsureDirectories($target, "share/libpq/locale"); - my @flist; - File::Find::find( - { -@@ -723,12 +723,12 @@ sub GenerateNLSFiles - next unless /([^\/]+)\.po/; - $lang = $1; - -- EnsureDirectories($target, "share/locale/$lang", -- "share/locale/$lang/LC_MESSAGES"); -+ EnsureDirectories($target, "share/libpq/locale/$lang", -+ "share/libpq/locale/$lang/LC_MESSAGES"); - my @args = ( - "$nlspath\\bin\\msgfmt", - '-o', -- "$target\\share\\locale\\$lang\\LC_MESSAGES\\$prgm-$majorver.mo", -+ "$target\\share\\libpq\\locale\\$lang\\LC_MESSAGES\\$prgm-$majorver.mo", - $_); - system(@args) && croak("Could not run msgfmt on $dir\\$_"); - print "."; diff --git a/ports/libpq/patches/windows/minimize_install.patch b/ports/libpq/patches/windows/minimize_install.patch deleted file mode 100644 index 1d1eb2b5769885..00000000000000 --- a/ports/libpq/patches/windows/minimize_install.patch +++ /dev/null @@ -1,35 +0,0 @@ -diff --git a/src/tools/msvc/Install.pm b/src/tools/msvc/Install.pm -index d109b2c90..75c7446e6 100644 ---- a/src/tools/msvc/Install.pm -+++ b/src/tools/msvc/Install.pm -@@ -19,13 +19,13 @@ our (@ISA, @EXPORT_OK); - - my $insttype; - my @client_contribs = ('oid2name', 'pgbench', 'vacuumlo'); --my @client_program_files = ( -- 'clusterdb', 'createdb', 'createuser', 'dropdb', -- 'dropuser', 'ecpg', 'libecpg', 'libecpg_compat', -- 'libpgtypes', 'libpq', 'pg_basebackup', 'pg_config', -- 'pg_dump', 'pg_dumpall', 'pg_isready', 'pg_receivewal', -- 'pg_recvlogical', 'pg_restore', 'psql', 'reindexdb', -- 'vacuumdb', @client_contribs); -+my @client_program_files = ( 'libecpg','libecpg_compat', 'libpgtypes', 'libpq' ); -+ # 'clusterdb', 'createdb', 'createuser', 'dropdb', -+ # 'dropuser', 'ecpg', 'libecpg', 'libecpg_compat', -+ #'libpgtypes', 'libpq', 'pg_basebackup', 'pg_config', -+ #'pg_dump', 'pg_dumpall', 'pg_isready', 'pg_receivewal', -+ #'pg_recvlogical', 'pg_restore', 'psql', 'reindexdb', -+ #'vacuumdb', @client_contribs); - - sub lcopy - { -@@ -110,7 +110,7 @@ sub Install - CopyFiles( - 'Import libraries', - $target . '/lib/', -- "$conf\\", "postgres\\postgres.lib", "libpgcommon\\libpgcommon.lib", -+ "$conf\\", "libpgcommon\\libpgcommon.lib", - "libpgport\\libpgport.lib"); - CopyContribFiles($config, $target); - CopyIncludeFiles($target); - diff --git a/ports/libpq/patches/windows/msgfmt.patch b/ports/libpq/patches/windows/msgfmt.patch deleted file mode 100644 index 352daed870ee9a..00000000000000 --- a/ports/libpq/patches/windows/msgfmt.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/tools/msvc/Install.pm b/src/tools/msvc/Install.pm -index 66c0c3483..2154c6cf6 100644 ---- a/src/tools/msvc/Install.pm -+++ b/src/tools/msvc/Install.pm -@@ -728,7 +728,7 @@ sub GenerateNLSFiles - EnsureDirectories($target, "share/libpq/locale/$lang", - "share/libpq/locale/$lang/LC_MESSAGES"); - my @args = ( -- "$nlspath\\bin\\msgfmt", -+ "msgfmt.exe", - '-o', - "$target\\share\\libpq\\locale\\$lang\\LC_MESSAGES\\$prgm-$majorver.mo", - $_); diff --git a/ports/libpq/patches/windows/openssl_exe_path.patch b/ports/libpq/patches/windows/openssl_exe_path.patch deleted file mode 100644 index 533f1c4fd7b8af..00000000000000 --- a/ports/libpq/patches/windows/openssl_exe_path.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/tools/msvc/Solution.pm b/src/tools/msvc/Solution.pm -index 51711c2bf..d33fdc3b0 100644 ---- a/src/tools/msvc/Solution.pm -+++ b/src/tools/msvc/Solution.pm -@@ -133,7 +133,7 @@ sub GetOpenSSLVersion - # openssl.exe is in the specified directory. - # Quote the .exe name in case it has spaces - my $opensslcmd = -- qq("$self->{options}->{openssl}\\bin\\openssl.exe" version 2>&1); -+ qq("openssl.exe" version 2>&1); - my $sslout = `$opensslcmd`; - - $? >> 8 == 0 diff --git a/ports/libpq/patches/windows/python3_build_DEBUG.patch b/ports/libpq/patches/windows/python3_build_DEBUG.patch deleted file mode 100644 index fb267e9df12b81..00000000000000 --- a/ports/libpq/patches/windows/python3_build_DEBUG.patch +++ /dev/null @@ -1,40 +0,0 @@ -diff --git a/src/tools/msvc/Mkvcbuild.pm b/src/tools/msvc/Mkvcbuild.pm -index 99f39caa5..21b5559d6 100644 ---- a/src/tools/msvc/Mkvcbuild.pm -+++ b/src/tools/msvc/Mkvcbuild.pm -@@ -494,14 +494,15 @@ sub mkvcbuild - - # Attempt to get python version and location. - # Assume python.exe in specified dir. -- my $pythonprog = "import sys;print(sys.prefix);" -- . "print(str(sys.version_info[0])+str(sys.version_info[1]))"; -- my $prefixcmd = -- $solution->{options}->{python} . "\\python -c \"$pythonprog\""; -- my $pyout = `$prefixcmd`; -- die "Could not query for python version!\n" if $?; -- my ($pyprefix, $pyver) = split(/\r?\n/, $pyout); -- -+ #my $pythonprog = "import sys;print(sys.prefix);" -+ # . "print(str(sys.version_info[0])+str(sys.version_info[1]))"; -+ #my $prefixcmd = -+ # $solution->{options}->{python} . "\\python -c \"$pythonprog\""; -+ #my $pyout = `$prefixcmd`; -+ #die "Could not query for python version!\n" if $?; -+ #my ($pyprefix, $pyver) = split(/\r?\n/, $pyout); -+ my $pyprefix = $solution->{options}->{python}; -+ my $pyver = 39; - # Sometimes (always?) if python is not present, the execution - # appears to work, but gives no data... - die "Failed to query python for version information\n" -@@ -510,8 +511,9 @@ sub mkvcbuild - my $pymajorver = substr($pyver, 0, 1); - my $plpython = $solution->AddProject('plpython' . $pymajorver, - 'dll', 'PLs', 'src/pl/plpython'); -- $plpython->AddIncludeDir($pyprefix . '/include'); -- $plpython->AddLibrary($pyprefix . "/Libs/python$pyver.lib"); -+ $plpython->AddIncludeDir($pyprefix . '/include/python3.9'); -+ $plpython->AddDefine('_DEBUG'); # required for python autolink linking correctly! -+ $plpython->AddLibrary($pyprefix . "/debug/lib/python$pyver" . "_d.lib"); - $plpython->AddReference($postgres); - - # Add transform modules dependent on plpython diff --git a/ports/libpq/patches/windows/python3_build_RELEASE.patch b/ports/libpq/patches/windows/python3_build_RELEASE.patch deleted file mode 100644 index b89e435e4fb38b..00000000000000 --- a/ports/libpq/patches/windows/python3_build_RELEASE.patch +++ /dev/null @@ -1,39 +0,0 @@ -diff --git a/src/tools/msvc/Mkvcbuild.pm b/src/tools/msvc/Mkvcbuild.pm -index 99f39caa5..21b5559d6 100644 ---- a/src/tools/msvc/Mkvcbuild.pm -+++ b/src/tools/msvc/Mkvcbuild.pm -@@ -494,14 +494,15 @@ sub mkvcbuild - - # Attempt to get python version and location. - # Assume python.exe in specified dir. -- my $pythonprog = "import sys;print(sys.prefix);" -- . "print(str(sys.version_info[0])+str(sys.version_info[1]))"; -- my $prefixcmd = -- $solution->{options}->{python} . "\\python -c \"$pythonprog\""; -- my $pyout = `$prefixcmd`; -- die "Could not query for python version!\n" if $?; -- my ($pyprefix, $pyver) = split(/\r?\n/, $pyout); -- -+ #my $pythonprog = "import sys;print(sys.prefix);" -+ # . "print(str(sys.version_info[0])+str(sys.version_info[1]))"; -+ #my $prefixcmd = -+ # $solution->{options}->{python} . "\\python -c \"$pythonprog\""; -+ #my $pyout = `$prefixcmd`; -+ #die "Could not query for python version!\n" if $?; -+ #my ($pyprefix, $pyver) = split(/\r?\n/, $pyout); -+ my $pyprefix = $solution->{options}->{python}; -+ my $pyver = 39; - # Sometimes (always?) if python is not present, the execution - # appears to work, but gives no data... - die "Failed to query python for version information\n" -@@ -510,8 +511,8 @@ sub mkvcbuild - my $pymajorver = substr($pyver, 0, 1); - my $plpython = $solution->AddProject('plpython' . $pymajorver, - 'dll', 'PLs', 'src/pl/plpython'); -- $plpython->AddIncludeDir($pyprefix . '/include'); -- $plpython->AddLibrary($pyprefix . "/Libs/python$pyver.lib"); -+ $plpython->AddIncludeDir($pyprefix . '/include/python3.9'); -+ $plpython->AddLibrary($pyprefix . "/lib/python$pyver.lib"); - $plpython->AddReference($postgres); - - # Add transform modules dependent on plpython diff --git a/ports/libpq/patches/windows/python_lib.patch b/ports/libpq/patches/windows/python_lib.patch deleted file mode 100644 index 8b52e26c7c1a2a..00000000000000 --- a/ports/libpq/patches/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 -@@ -46,12 +46,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/libpq/patches/windows/win_bison_flex.patch b/ports/libpq/patches/windows/win_bison_flex.patch deleted file mode 100644 index 95df3f49507efc..00000000000000 --- a/ports/libpq/patches/windows/win_bison_flex.patch +++ /dev/null @@ -1,43 +0,0 @@ -diff --git a/src/tools/msvc/pgflex.pl b/src/tools/msvc/pgflex.pl -index aceed5ffd..f6ed215e8 100644 ---- a/src/tools/msvc/pgflex.pl -+++ b/src/tools/msvc/pgflex.pl -@@ -12,7 +12,7 @@ $ENV{CYGWIN} = 'nodosfilewarning'; - - do './src/tools/msvc/buildenv.pl' if -e 'src/tools/msvc/buildenv.pl'; - --my ($flexver) = `flex -V`; # grab first line -+my ($flexver) = `win_flex -V`; # grab first line - $flexver = (split(/\s+/, $flexver))[1]; - $flexver =~ s/[^0-9.]//g; - my @verparts = split(/\./, $flexver); -@@ -48,7 +47,7 @@ close($mf); - my $basetarg = basename($output); - my $flexflags = ($make =~ /^$basetarg:\s*FLEXFLAGS\s*=\s*(\S.*)/m ? $1 : ''); - --system("flex $flexflags -o$output $input"); -+system("win_flex $flexflags -o$output $input"); - if ($? == 0) - { - -diff --git a/src/tools/msvc/pgbison.pl b/src/tools/msvc/pgbison.pl -index 895e398c0..f5b524a5d 100644 ---- a/src/tools/msvc/pgbison.pl -+++ b/src/tools/msvc/pgbison.pl -@@ -9,7 +9,7 @@ use File::Basename; - - do './src/tools/msvc/buildenv.pl' if -e 'src/tools/msvc/buildenv.pl'; - --my ($bisonver) = `bison -V`; # grab first line -+my ($bisonver) = `win_bison -V`; # grab first line - $bisonver = (split(/\s+/, $bisonver))[3]; # grab version number - - unless ($bisonver eq '1.875' || $bisonver ge '2.2') -@@ -45,5 +45,5 @@ close($mf); - my $basetarg = basename($output); - my $headerflag = ($make =~ /^$basetarg:\s+BISONFLAGS\b.*-d/m ? '-d' : ''); - --system("bison $headerflag $input -o $output"); -+system("win_bison $headerflag $input -o $output"); - exit $? >> 8; - diff --git a/ports/libpq/portfile.cmake b/ports/libpq/portfile.cmake index 811ed613e09ba4..35c436a89f8e34 100644 --- a/ports/libpq/portfile.cmake +++ b/ports/libpq/portfile.cmake @@ -1,290 +1,125 @@ -set(PORT_VERSION 12.2) -# NOTE: the python patches must be regenerated on version update +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 f2070299f0857a270317ac984f8393374cf00d4f32a082fe3c5481e36c560595ea711fed95e40d1bc90c5089edf8f165649d443d8b9c68614e1c83fc91268e96 +) -macro(feature_unsupported) - foreach(_feat ${ARGN}) - if("${FEATURES}" MATCHES "${_feat}") - message(FATAL_ERROR "Feature ${_feat} not supported by configure script on the target platform") - endif() - endforeach() -endmacro() +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" + PATCHES + unix/installdirs.patch + unix/fix-configure.patch + unix/single-linkage.patch + unix/no-server-tools.patch + unix/mingw-install.patch + unix/python.patch + windows/macro-def.patch + windows/win_bison_flex.patch + windows/msbuild.patch + windows/spin_delay.patch + android/unversioned_so.patch +) -macro(feature_not_implemented_yet) - foreach(_feat ${ARGN}) - if("${FEATURES}" MATCHES "${_feat}") - message(FATAL_ERROR "Feature ${_feat} is not yet implement on the target platform") - endif() - endforeach() -endmacro() +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}") -if(VCPKG_TARGET_IS_WINDOWS) - # on windows libpq seems to only depend on openssl gss(kerberos) and ldap on the soruce site_name - # the configuration header depends on zlib, nls, uuid, xml, xlst,gss,openssl,icu - feature_unsupported(readline bonjour libedit systemd llvm) - feature_not_implemented_yet(uuid) -elseif(VCPKG_TARGET_IS_OSX) - feature_not_implemented_yet(readline libedit systemd llvm python tcl uuid) +if("client" IN_LIST FEATURES) + set(HAS_TOOLS TRUE) else() - feature_not_implemented_yet(readline bonjour libedit systemd llvm python tcl uuid) + set(HAS_TOOLS FALSE) endif() -## Download and extract sources -vcpkg_download_distfile(ARCHIVE - URLS "https://ftp.postgresql.org/pub/source/v${PORT_VERSION}/postgresql-${PORT_VERSION}.tar.bz2" - FILENAME "postgresql-${PORT_VERSION}.tar.bz2" - SHA512 0e0ce8e21856e8f43e58b840c10c4e3ffae6d5207e0d778e9176e36f8e20e34633cbb06f0030a7c963c3491bb7e941456d91b55444c561cfc6f283fba76f33ee -) - -set(PATCHES - patches/windows/install.patch - patches/windows/win_bison_flex.patch - patches/windows/openssl_exe_path.patch - patches/windows/Solution.patch - patches/windows/MSBuildProject_fix_gendef_perl.patch - patches/windows/msgfmt.patch - patches/windows/python_lib.patch - patches/windows/fix-compile-flag-Zi.patch) +vcpkg_cmake_get_vars(cmake_vars_file) +include("${cmake_vars_file}") -if(VCPKG_TARGET_IS_MINGW) - list(APPEND PATCHES patches/mingw/additional-zlib-names.patch) - list(APPEND PATCHES patches/mingw/link-with-crypt32.patch) -endif() -if(VCPKG_TARGET_IS_LINUX) - list(APPEND PATCHES patches/linux/configure.patch) -endif() -if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - list(APPEND PATCHES patches/windows/MSBuildProject-static-lib.patch) - list(APPEND PATCHES patches/windows/Mkvcbuild-static-lib.patch) -endif() -if(VCPKG_CRT_LINKAGE STREQUAL static) - list(APPEND PATCHES patches/windows/MSBuildProject-static-crt.patch) -endif() -if(VCPKG_TARGET_ARCHITECTURE MATCHES "arm") - list(APPEND PATCHES patches/windows/arm.patch) - list(APPEND PATCHES patches/windows/host_skip_openssl.patch) # Skip openssl.exe version check since it cannot be executed by the host -endif() -if(NOT "${FEATURES}" MATCHES "client") - list(APPEND PATCHES patches/windows/minimize_install.patch) -else() - set(HAS_TOOLS TRUE) +set(required_programs BISON FLEX) +if(VCPKG_DETECTED_MSVC OR NOT VCPKG_HOST_IS_WINDOWS) + list(APPEND required_programs PERL) endif() -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} - PATCHES ${PATCHES} -) -unset(buildenv_contents) -# Get paths to required programs -set(REQUIRED_PROGRAMS PERL) -if(VCPKG_TARGET_IS_WINDOWS) - list(APPEND REQUIRED_PROGRAMS BISON FLEX) -endif() -foreach(program_name ${REQUIRED_PROGRAMS}) - # Need to rename win_bison and win_flex to just bison and flex +foreach(program_name IN LISTS required_programs) vcpkg_find_acquire_program(${program_name}) - get_filename_component(${program_name}_EXE_PATH ${${program_name}} DIRECTORY) - vcpkg_add_to_path(PREPEND "${${program_name}_EXE_PATH}") - set(buildenv_contents "${buildenv_contents}\n\$ENV{'PATH'}=\$ENV{'PATH'} . ';${${program_name}_EXE_PATH}';") + get_filename_component(program_dir ${${program_name}} DIRECTORY) + vcpkg_add_to_path(PREPEND "${program_dir}") endforeach() -## Setup build types -if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE MATCHES "[Rr][Ee][Ll][Ee][Aa][Ss][Ee]") - set(_buildtype RELEASE) - set(_short rel) - list(APPEND port_config_list ${_buildtype}) - set(INSTALL_PATH_SUFFIX_${_buildtype} "") - set(BUILDPATH_${_buildtype} "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${_short}") - file(REMOVE_RECURSE "${BUILDPATH_${_buildtype}}") #Clean old builds - set(PACKAGE_DIR_${_buildtype} ${CURRENT_PACKAGES_DIR}) - unset(_short) - unset(_buildtype) -endif() -if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE MATCHES "[Dd][Ee][Bb][Uu][Gg]") - set(_buildtype DEBUG) - set(_short dbg) - list(APPEND port_config_list ${_buildtype}) - set(INSTALL_PATH_SUFFIX_${_buildtype} "/debug") - set(BUILDPATH_${_buildtype} "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${_short}") - file(REMOVE_RECURSE "${BUILDPATH_${_buildtype}}") #Clean old builds - set(PACKAGE_DIR_${_buildtype} ${CURRENT_PACKAGES_DIR}${INSTALL_PATH_SUFFIX_${_buildtype}}) - unset(_short) - unset(_buildtype) -endif() - -file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/${PORT}) - -## Do the build -if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) - file(GLOB SOURCE_FILES ${SOURCE_PATH}/*) - foreach(_buildtype ${port_config_list}) - # Copy libpq sources. - message(STATUS "Copying libpq source files to ${BUILDPATH_${_buildtype}}...") - foreach(SOURCE_FILE ${SOURCE_FILES}) - file(COPY ${SOURCE_FILE} DESTINATION "${BUILDPATH_${_buildtype}}") - endforeach() - message(STATUS "Copying libpq source files... done") - - vcpkg_apply_patches( - SOURCE_PATH "${BUILDPATH_${_buildtype}}" - PATCHES patches/windows/Solution_${_buildtype}.patch - patches/windows/python3_build_${_buildtype}.patch +if(VCPKG_DETECTED_MSVC) + if("nls" IN_LIST FEATURES) + vcpkg_acquire_msys(MSYS_ROOT PACKAGES gettext) + vcpkg_add_to_path("${MSYS_ROOT}/usr/bin") + endif() + if("xml" IN_LIST FEATURES) + x_vcpkg_pkgconfig_get_modules( + PREFIX PC_LIBXML2 + MODULES --msvc-syntax libxml-2.0 + LIBS ) - message(STATUS "Patches applied!") - file(COPY "${CURRENT_PORT_DIR}/config.pl" DESTINATION "${BUILDPATH_${_buildtype}}/src/tools/msvc") - - set(MSPROJ_PERL "${BUILDPATH_${_buildtype}}/src/tools/msvc/MSBuildProject.pm") - file(READ "${MSPROJ_PERL}" _contents) - string(REPLACE "perl" "\"${PERL}\"" _contents "${_contents}") - file(WRITE "${MSPROJ_PERL}" "${_contents}") - - set(CONFIG_FILE "${BUILDPATH_${_buildtype}}/src/tools/msvc/config.pl") - file(READ "${CONFIG_FILE}" _contents) - - ## ldap => undef, # --with-ldap - ## extraver => undef, # --with-extra-version= - ## gss => undef, # --with-gssapi= - ## icu => undef, # --with-icu= ##done - ## nls => undef, # --enable-nls= ##done - ## tap_tests => undef, # --enable-tap-tests - ## tcl => undef, # --with-tcl= #done - ## perl => undef, # --with-perl - ## python => undef, # --with-python= ##done - ## openssl => undef, # --with-openssl= ##done - ## uuid => undef, # --with-ossp-uuid - ## xml => undef, # --with-libxml= ##done - ## xslt => undef, # --with-libxslt= ##done - ## iconv => undef, # (not in configure, path to iconv) ##done (needed by xml) - ## zlib => undef # --with-zlib= ##done - - ## Setup external dependencies - ##"-DFEATURES=core;openssl;zlib" "-DALL_FEATURES=openssl;zlib;readline;libedit;python;tcl;nls;systemd;llvm;icu;bonjour;uuid;xml;xslt;" - if("${FEATURES}" MATCHES "icu") - string(REPLACE "icu => undef" "icu => \"${CURRENT_INSTALLED_DIR}\"" _contents "${_contents}") - endif() - if("${FEATURES}" MATCHES "nls") - string(REPLACE "nls => undef" "nls => \"${CURRENT_INSTALLED_DIR}\"" _contents "${_contents}") - vcpkg_acquire_msys(MSYS_ROOT PACKAGES gettext) - vcpkg_add_to_path("${MSYS_ROOT}/usr/bin") - endif() - if("${FEATURES}" MATCHES "openssl") - set(buildenv_contents "${buildenv_contents}\n\$ENV{'PATH'}=\$ENV{'PATH'} . ';${CURRENT_INSTALLED_DIR}/tools/openssl';") - #set(_contents "${_contents}\n\$ENV{PATH}=\$ENV{PATH} . ';${CURRENT_INSTALLED_DIR}/tools/openssl';") - string(REPLACE "openssl => undef" "openssl => \"${CURRENT_INSTALLED_DIR}\"" _contents "${_contents}") - endif() - if("${FEATURES}" MATCHES "python") - #vcpkg_find_acquire_program(PYTHON3) - #get_filename_component(PYTHON3_EXE_PATH ${PYTHON3} DIRECTORY) - #vcpkg_add_to_path("${PYTHON3_EXE_PATH}") - string(REPLACE "python => undef" "python => \"${CURRENT_INSTALLED_DIR}\"" _contents "${_contents}") - endif() - if("${FEATURES}" MATCHES "tcl") - string(REPLACE "tcl => undef" "tcl => \"${CURRENT_INSTALLED_DIR}\"" _contents "${_contents}") - endif() - if("${FEATURES}" MATCHES "xml") - string(REPLACE "xml => undef" "xml => \"${CURRENT_INSTALLED_DIR}\"" _contents "${_contents}") - string(REPLACE "iconv => undef" "iconv => \"${CURRENT_INSTALLED_DIR}\"" _contents "${_contents}") - endif() - - if("${FEATURES}" MATCHES "xslt") - string(REPLACE "xslt => undef" "xslt => \"${CURRENT_INSTALLED_DIR}\"" _contents "${_contents}") - endif() - - if("${FEATURES}" MATCHES "zlib") - string(REPLACE "zlib => undef" "zlib => \"${CURRENT_INSTALLED_DIR}\"" _contents "${_contents}") - endif() - - file(WRITE "${CONFIG_FILE}" "${_contents}") - file(WRITE "${BUILDPATH_${_buildtype}}/src/tools/msvc/buildenv.pl" "${buildenv_contents}") - vcpkg_get_windows_sdk(VCPKG_TARGET_PLATFORM_VERSION) - set(ENV{MSBFLAGS} "/p:PlatformToolset=${VCPKG_PLATFORM_TOOLSET} - /p:VCPkgLocalAppDataDisabled=true - /p:UseIntelMKL=No - /p:WindowsTargetPlatformVersion=${VCPKG_TARGET_PLATFORM_VERSION} - /m - /p:ForceImportBeforeCppTargets=\"${SCRIPTS}/buildsystems/msbuild/vcpkg.targets\" - /p:VcpkgTriplet=${TARGET_TRIPLET} - /p:VcpkgCurrentInstalledDir=\"${CURRENT_INSTALLED_DIR}\"" - ) - if(HAS_TOOLS) - if(VCPKG_TARGET_ARCHITECTURE STREQUAL x86) - set(ENV{MSBFLAGS} "$ENV{MSBFLAGS} /p:Platform=Win32") - endif() - message(STATUS "Building libpq ${TARGET_TRIPLET}-${_buildtype}...") - vcpkg_execute_required_process( - COMMAND ${PERL} build.pl ${_buildtype} - WORKING_DIRECTORY ${BUILDPATH_${_buildtype}}/src/tools/msvc - LOGNAME build-${TARGET_TRIPLET}-${_buildtype} - ) - message(STATUS "Building libpq ${TARGET_TRIPLET}-${_buildtype}... done") - else() - set(build_libs libpq libecpg_compat) - foreach(build_lib ${build_libs}) - message(STATUS "Building ${build_lib} ${TARGET_TRIPLET}-${_buildtype}...") - vcpkg_execute_required_process( - COMMAND ${PERL} build.pl ${_buildtype} ${build_lib} - WORKING_DIRECTORY ${BUILDPATH_${_buildtype}}/src/tools/msvc - LOGNAME build-${build_lib}-${TARGET_TRIPLET}-${_buildtype} - ) - message(STATUS "Building ${build_lib} ${TARGET_TRIPLET}-${_buildtype}... done") - endforeach() - endif() - - message(STATUS "Installing libpq ${TARGET_TRIPLET}-${_buildtype}...") - vcpkg_execute_required_process( - COMMAND ${PERL} install.pl ${CURRENT_PACKAGES_DIR}${INSTALL_PATH_SUFFIX_${_buildtype}} client - WORKING_DIRECTORY ${BUILDPATH_${_buildtype}}/src/tools/msvc - LOGNAME install-${TARGET_TRIPLET}-${_buildtype} + separate_arguments(LIBXML2_LIBS_DEBUG NATIVE_COMMAND "${PC_LIBXML2_LIBS_DEBUG}") + separate_arguments(LIBXML2_LIBS_RELEASE NATIVE_COMMAND "${PC_LIBXML2_LIBS_RELEASE}") + endif() + if("xslt" IN_LIST FEATURES) + x_vcpkg_pkgconfig_get_modules( + PREFIX PC_LIBXSLT + MODULES --msvc-syntax libxslt + LIBS ) - message(STATUS "Installing libpq ${TARGET_TRIPLET}-${_buildtype}... done") - endforeach() - + separate_arguments(LIBXSLT_LIBS_DEBUG NATIVE_COMMAND "${PC_LIBXSLT_LIBS_DEBUG}") + separate_arguments(LIBXSLT_LIBS_RELEASE NATIVE_COMMAND "${PC_LIBXSLT_LIBS_RELEASE}") + endif() - message(STATUS "Cleanup libpq ${TARGET_TRIPLET}...") - #Cleanup - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/doc) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/tools) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/symbols) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/symbols) + include("${CMAKE_CURRENT_LIST_DIR}/build-msvc.cmake") + if(NOT VCPKG_BUILD_TYPE) + build_msvc(DEBUG "${SOURCE_PATH}") + endif() + build_msvc(RELEASE "${SOURCE_PATH}") if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") endif() - if(NOT HAS_TOOLS) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/tools) + if(HAS_TOOLS) + vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/${PORT}") else() - vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT}) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/tools") endif() - - message(STATUS "Cleanup libpq ${TARGET_TRIPLET}... - done") - set(USE_DL OFF) else() - file(COPY ${CMAKE_CURRENT_LIST_DIR}/Makefile DESTINATION ${SOURCE_PATH}) + file(COPY "${CMAKE_CURRENT_LIST_DIR}/Makefile" DESTINATION "${SOURCE_PATH}") - if("openssl" IN_LIST FEATURES) - list(APPEND BUILD_OPTS --with-openssl) - else() - list(APPEND BUILD_OPTS --without-openssl) - endif() - if("zlib" IN_LIST FEATURES) - list(APPEND BUILD_OPTS --with-zlib) - else() - list(APPEND BUILD_OPTS --without-zlib) + vcpkg_list(SET BUILD_OPTS) + 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() + list(APPEND BUILD_OPTS --without-${option}) + endif() + endforeach() + if("nls" IN_LIST FEATURES) + set(ENV{MSGFMT} "${CURRENT_HOST_INSTALLED_DIR}/tools/gettext/bin/msgfmt${VCPKG_HOST_EXECUTABLE_SUFFIX}") + if(VCPKG_TARGET_IS_ANDROID) + list(APPEND BUILD_OPTS [[LIBS=$LIBS -liconv]]) + endif() endif() - if("readline" IN_LIST FEATURES) - list(APPEND BUILD_OPTS --with-readline) - else() - list(APPEND BUILD_OPTS --without-readline) + 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() if(VCPKG_TARGET_IS_ANDROID) # AND CMAKE_SYSTEM_VERSION LESS 26) list(APPEND BUILD_OPTS ac_cv_header_langinfo_h=no) endif() + if(VCPKG_DETECTED_CMAKE_OSX_SYSROOT) + list(APPEND BUILD_OPTS "PG_SYSROOT=${VCPKG_DETECTED_CMAKE_OSX_SYSROOT}") + endif() vcpkg_configure_make( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" COPY_SOURCE - DETERMINE_BUILD_TRIPLET + AUTOCONFIG + ADDITIONAL_MSYS_PACKAGES autoconf-archive + DIRECT_PACKAGES + "https://mirror.msys2.org/msys/x86_64/tzcode-2023c-1-x86_64.pkg.tar.zst" + 7550b843964744607f736a7138f10c6cd92489406a1b84ac71d9a9d8aa16bc69048aa1b24e1f49291b010347047008194c334ca9c632e17fa8245e85549e3c7a OPTIONS ${BUILD_OPTS} OPTIONS_DEBUG @@ -292,44 +127,34 @@ else() ) if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - set(ENV{LIBPQ_LIBRARY_TYPE} shared) + set(ENV{LIBPQ_LIBRARY_TYPE} shared) else() - set(ENV{LIBPQ_LIBRARY_TYPE} static) + set(ENV{LIBPQ_LIBRARY_TYPE} static) endif() if(VCPKG_TARGET_IS_MINGW) - set(ENV{USING_MINGW} yes) + set(ENV{LIBPQ_USING_MINGW} yes) + endif() + if(HAS_TOOLS) + set(ENV{LIBPQ_ENABLE_TOOLS} yes) endif() vcpkg_install_make() - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) - if(NOT HAS_TOOLS) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin) - else() - vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug) - endif() - if(VCPKG_TARGET_IS_MINGW AND VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/bin) - file(RENAME ${CURRENT_PACKAGES_DIR}/lib/libpq.a ${CURRENT_PACKAGES_DIR}/lib/libpq.dll.a) - file(RENAME ${CURRENT_PACKAGES_DIR}/lib/libpq.dll ${CURRENT_PACKAGES_DIR}/bin/libpq.dll) - endif() - if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/bin) - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/libpq.a ${CURRENT_PACKAGES_DIR}/debug/lib/libpq.dll.a) - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/libpq.dll ${CURRENT_PACKAGES_DIR}/debug/bin/libpq.dll) - endif() - endif() - if(VCPKG_TARGET_IS_MINGW) - set(USE_DL OFF) - else() - set(USE_DL ON) - endif() + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/postgresql/server/pg_config.h" "#define CONFIGURE_ARGS" "// #define CONFIGURE_ARGS") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/pg_config.h" "#define CONFIGURE_ARGS" "// #define CONFIGURE_ARGS") endif() +vcpkg_fixup_pkgconfig() configure_file("${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" "${CURRENT_PACKAGES_DIR}/share/postgresql/vcpkg-cmake-wrapper.cmake" @ONLY) + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/doc" + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/debug/symbols" + "${CURRENT_PACKAGES_DIR}/debug/tools" + "${CURRENT_PACKAGES_DIR}/symbols" + "${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug" +) + file(INSTALL "${CURRENT_PORT_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -file(INSTALL "${SOURCE_PATH}/COPYRIGHT" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) -vcpkg_fixup_pkgconfig() \ No newline at end of file +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYRIGHT") diff --git a/ports/libpq/unix/fix-configure.patch b/ports/libpq/unix/fix-configure.patch new file mode 100644 index 00000000000000..10bbbd104dd72e --- /dev/null +++ b/ports/libpq/unix/fix-configure.patch @@ -0,0 +1,79 @@ +diff --git a/configure.ac b/configure.ac +index 7f97248..48ff1a1 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -19,7 +19,8 @@ m4_pattern_forbid(^PGAC_)dnl to catch undefined macros + + 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 ++m4_if(m4_defn([m4_PACKAGE_VERSION]), [2.69], [], [m4_warn([unsupported],[Autoconf version 2.69 is required. + Untested combinations of 'autoconf' and PostgreSQL versions are not + recommended. You can remove the check from 'configure.ac' but it is then + your responsibility whether the result works or not.])]) +@@ -1311,7 +1312,8 @@ if test "$enable_thread_safety" = yes; then + fi + + if test "$with_readline" = yes; then +- PGAC_CHECK_READLINE ++ PKG_CHECK_MODULES([READLINE], [readline], [HAVE_LIBREADLINE=1], [pgac_cv_check_readline=no]) ++ LIBS="$READLINE_LIBS $LIBS" + if test x"$pgac_cv_check_readline" = x"no"; then + AC_MSG_ERROR([readline library not found + If you have readline already installed, see config.log for details on the +@@ -1321,7 +1323,7 @@ Use --without-readline to disable readline support.]) + fi + + if test "$with_zlib" = yes; then +- AC_CHECK_LIB(z, inflate, [], ++ PKG_CHECK_MODULES([ZLIB], [zlib], [LIBS="$ZLIB_LIBS $LIBS"], + [AC_MSG_ERROR([zlib library not found + If you have zlib already installed, see config.log for details on the + failure. It is possible the compiler isn't looking in the proper directory. +@@ -1370,6 +1372,9 @@ if test "$with_ssl" = openssl ; then + # Minimum required OpenSSL version is 1.0.1 + AC_DEFINE(OPENSSL_API_COMPAT, [0x10001000L], + [Define to the OpenSSL API version in use. This avoids deprecation warnings from newer OpenSSL versions.]) ++ PKG_CHECK_MODULES([CRYPTO_new_ex_data], [libcrypto], [LIBS="$CRYPTO_new_ex_data_LIBS $LIBS"], [AC_MSG_ERROR([library 'crypto' is required for OpenSSL])]) ++ PKG_CHECK_MODULES([SSL_new], [libssl], [LIBS="$SSL_new_LIBS $LIBS"], [AC_MSG_ERROR([library 'ssl' is required for OpenSSL])]) ++ if false ; then + if test "$PORTNAME" != "win32"; then + AC_CHECK_LIB(crypto, CRYPTO_new_ex_data, [], [AC_MSG_ERROR([library 'crypto' is required for OpenSSL])]) + AC_CHECK_LIB(ssl, SSL_new, [], [AC_MSG_ERROR([library 'ssl' is required for OpenSSL])]) +@@ -1377,6 +1382,7 @@ if test "$with_ssl" = openssl ; then + AC_SEARCH_LIBS(CRYPTO_new_ex_data, [eay32 crypto], [], [AC_MSG_ERROR([library 'eay32' or 'crypto' is required for OpenSSL])]) + AC_SEARCH_LIBS(SSL_new, [ssleay32 ssl], [], [AC_MSG_ERROR([library 'ssleay32' or 'ssl' is required for OpenSSL])]) + fi ++ fi + # Functions introduced in OpenSSL 1.0.2. LibreSSL does not have + # SSL_CTX_set_cert_cb(). + AC_CHECK_FUNCS([X509_get_signature_nid SSL_CTX_set_cert_cb]) +@@ -1403,19 +1409,23 @@ if test "$with_pam" = yes ; then + fi + + if test "$with_libxml" = yes ; then +- AC_CHECK_LIB(xml2, xmlSaveToBuffer, [], [AC_MSG_ERROR([library 'xml2' (version >= 2.6.23) is required for XML support])]) ++ PKG_CHECK_MODULES([LIBXML2], [libxml-2.0 >= 2.6.23], [AC_DEFINE(HAVE_LIBXML2,1,[Define to 1 if with xml2])], [AC_MSG_ERROR([library 'xml2' (version >= 2.6.23) is required for XML support])]) ++ LIBS="$LIBXML2_LIBS $LIBS" + fi + + if test "$with_libxslt" = yes ; then +- AC_CHECK_LIB(xslt, xsltCleanupGlobals, [], [AC_MSG_ERROR([library 'xslt' is required for XSLT support])]) ++ PKG_CHECK_MODULES([LIBXSLT], [libxslt], [AC_DEFINE(HAVE_LIBXSLT,1,[Define to 1 if with xslt])], [AC_MSG_ERROR([library 'xslt' is required for XSLT support])]) ++ LIBS="$LIBXSLT_LIBS $LIBS" + fi + + if test "$with_lz4" = yes ; then +- AC_CHECK_LIB(lz4, LZ4_compress_default, [], [AC_MSG_ERROR([library 'lz4' is required for LZ4 support])]) ++ PKG_CHECK_MODULES([LZ4], [liblz4], [AC_DEFINE(HAVE_LIBLZ4,1,[Define to 1 if with lz4])], [AC_MSG_ERROR([library 'lz4' is required for LZ4 support])]) ++ LIBS="$LZ4_LIBS $LIBS" + fi + + if test "$with_zstd" = yes ; then +- AC_CHECK_LIB(zstd, ZSTD_compress, [], [AC_MSG_ERROR([library 'zstd' is required for ZSTD support])]) ++ PKG_CHECK_MODULES([ZSTD], [libzstd], [AC_DEFINE(HAVE_LIBZSTD,1,[Define to 1 if with zstd])], [AC_MSG_ERROR([library 'zstd' is required for ZSTD support])]) ++ LIBS="$ZSTD_LIBS $LIBS" + fi + + # Note: We can test for libldap_r only after we know PTHREAD_LIBS; diff --git a/ports/libpq/unix/installdirs.patch b/ports/libpq/unix/installdirs.patch new file mode 100644 index 00000000000000..ae6653f904df7e --- /dev/null +++ b/ports/libpq/unix/installdirs.patch @@ -0,0 +1,48 @@ +diff --git a/src/Makefile.global.in b/src/Makefile.global.in +index 5dacc4d..a9a797e 100644 +--- a/src/Makefile.global.in ++++ b/src/Makefile.global.in +@@ -100,14 +100,14 @@ datarootdir := @datarootdir@ + + bindir := @bindir@ + +-datadir := @datadir@ ++datadir := @datadir@/postgresql + ifeq "$(findstring pgsql, $(datadir))" "" + ifeq "$(findstring postgres, $(datadir))" "" + override datadir := $(datadir)/postgresql + endif + endif + +-sysconfdir := @sysconfdir@ ++sysconfdir := @sysconfdir@/postgresql + ifeq "$(findstring pgsql, $(sysconfdir))" "" + ifeq "$(findstring postgres, $(sysconfdir))" "" + override sysconfdir := $(sysconfdir)/postgresql +@@ -116,7 +116,7 @@ endif + + libdir := @libdir@ + +-pkglibdir = $(libdir) ++pkglibdir = $(libdir)/postgresql + ifeq "$(findstring pgsql, $(pkglibdir))" "" + ifeq "$(findstring postgres, $(pkglibdir))" "" + override pkglibdir := $(pkglibdir)/postgresql +@@ -125,7 +125,7 @@ endif + + includedir := @includedir@ + +-pkgincludedir = $(includedir) ++pkgincludedir = $(includedir)/postgresql + ifeq "$(findstring pgsql, $(pkgincludedir))" "" + ifeq "$(findstring postgres, $(pkgincludedir))" "" + override pkgincludedir := $(pkgincludedir)/postgresql +@@ -134,7 +134,7 @@ endif + + mandir := @mandir@ + +-docdir := @docdir@ ++docdir := @docdir@/postgresql + ifeq "$(findstring pgsql, $(docdir))" "" + ifeq "$(findstring postgres, $(docdir))" "" + override docdir := $(docdir)/postgresql diff --git a/ports/libpq/unix/mingw-install.patch b/ports/libpq/unix/mingw-install.patch new file mode 100644 index 00000000000000..ffeea023cfc559 --- /dev/null +++ b/ports/libpq/unix/mingw-install.patch @@ -0,0 +1,36 @@ +diff --git a/src/Makefile.shlib b/src/Makefile.shlib +index 16255d7..51e9ed2 100644 +--- a/src/Makefile.shlib ++++ b/src/Makefile.shlib +@@ -85,7 +85,11 @@ else + # Naming convention for dynamically loadable modules + shlib = $(NAME)$(DLSUFFIX) + endif ++ifeq ($(PORTNAME)-$(LIBPQ_LIBRARY_TYPE), win32-shared) ++stlib = lib$(NAME).dll.a ++else + stlib = lib$(NAME).a ++endif + + ifndef soname + # additional flags for backend modules +@@ -468,6 +472,9 @@ endif + else # no soname + $(INSTALL_SHLIB) $< '$(DESTDIR)$(pkglibdir)/$(shlib)' + endif ++ifeq ($(PORTNAME)-$(LIBPQ_LIBRARY_TYPE), win32-shared) ++ mv '$(DESTDIR)$(libdir)/$(shlib)' '$(DESTDIR)$(libdir)/../bin/$(shlib)' ++endif + + + installdirs-lib: +@@ -476,6 +483,9 @@ ifdef soname + else + $(MKDIR_P) '$(DESTDIR)$(pkglibdir)' + endif ++ifeq ($(PORTNAME)-$(LIBPQ_LIBRARY_TYPE), win32-shared) ++ $(MKDIR_P) '$(DESTDIR)$(libdir)/../bin' ++endif + + + ## diff --git a/ports/libpq/unix/no-server-tools.patch b/ports/libpq/unix/no-server-tools.patch new file mode 100644 index 00000000000000..f83682afb05cd4 --- /dev/null +++ b/ports/libpq/unix/no-server-tools.patch @@ -0,0 +1,37 @@ +diff --git a/src/bin/Makefile b/src/bin/Makefile +index 7f9dde9..bc6d835 100644 +--- a/src/bin/Makefile ++++ b/src/bin/Makefile +@@ -13,29 +13,20 @@ subdir = src/bin + top_builddir = ../.. + include $(top_builddir)/src/Makefile.global + ++.NOTPARALLEL: ++# incl. https://www.postgresql.org/docs/current/reference-client.html ++# excl. https://www.postgresql.org/docs/current/reference-server.html + SUBDIRS = \ +- initdb \ + pg_amcheck \ +- pg_archivecleanup \ + pg_basebackup \ +- pg_checksums \ + pg_config \ +- pg_controldata \ +- pg_ctl \ + pg_dump \ +- pg_resetwal \ +- pg_rewind \ +- pg_test_fsync \ +- pg_test_timing \ +- pg_upgrade \ + pg_verifybackup \ +- pg_waldump \ + pgbench \ + psql \ + scripts + + ifeq ($(PORTNAME), win32) +-SUBDIRS += pgevent + else + ALWAYS_SUBDIRS += pgevent + endif diff --git a/ports/libpq/unix/python.patch b/ports/libpq/unix/python.patch new file mode 100644 index 00000000000000..7d8f58d4af1970 --- /dev/null +++ b/ports/libpq/unix/python.patch @@ -0,0 +1,35 @@ +diff --git a/configure.ac b/configure.ac +index 7f97248992..33b6c84fc4 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -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 ++ 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//')] ++ python_libspec="${PYTHON_EMBED_LIBS}" ++ python_additional_libs="" ++ AC_SUBST(python_majorversion) ++ AC_SUBST(python_version) ++ AC_SUBST(python_includespec) ++ AC_SUBST(python_libdir) ++ AC_SUBST(python_libspec) ++ AC_SUBST(python_additional_libs) + fi + + if test x"$cross_compiling" = x"yes" && test -z "$with_system_tzdata"; then diff --git a/ports/libpq/unix/single-linkage.patch b/ports/libpq/unix/single-linkage.patch new file mode 100644 index 00000000000000..dd149c7d3a5bf8 --- /dev/null +++ b/ports/libpq/unix/single-linkage.patch @@ -0,0 +1,56 @@ +diff --git a/src/Makefile.shlib b/src/Makefile.shlib +index 551023c..16255d7 100644 +--- a/src/Makefile.shlib ++++ b/src/Makefile.shlib +@@ -260,10 +260,14 @@ endif + + .PHONY: all-lib all-static-lib all-shared-lib + ++ifndef LIBPQ_LIBRARY_TYPE + all-lib: all-shared-lib + ifdef soname + # no static library when building a dynamically loadable module + all-lib: all-static-lib ++endif ++else ++all-lib: all-$(LIBPQ_LIBRARY_TYPE)-lib + all-lib: lib$(NAME).pc + endif + +@@ -417,9 +421,13 @@ endif # PORTNAME == cygwin || PORTNAME == win32 + ## + + .PHONY: install-lib install-lib-static install-lib-shared installdirs-lib ++ifndef LIBPQ_LIBRARY_TYPE + install-lib: install-lib-shared + ifdef soname + install-lib: install-lib-static ++endif ++else ++install-lib: install-lib-$(LIBPQ_LIBRARY_TYPE) + install-lib: install-lib-pc + endif + +diff --git a/src/interfaces/libpq/Makefile b/src/interfaces/libpq/Makefile +index 8abdb09..185461e 100644 +--- a/src/interfaces/libpq/Makefile ++++ b/src/interfaces/libpq/Makefile +@@ -115,6 +115,7 @@ backend_src = $(top_srcdir)/src/backend + # Also skip the test on platforms where libpq infrastructure may be provided + # by statically-linked libraries, as we can't expect them to honor this + # coding rule. ++ifeq ($(LIBPQ_LIBRARY_TYPE), shared) + libpq-refs-stamp: $(shlib) + ifneq ($(enable_coverage), yes) + ifeq (,$(filter aix solaris,$(PORTNAME))) +@@ -124,6 +125,10 @@ ifeq (,$(filter aix solaris,$(PORTNAME))) + endif + endif + touch $@ ++else ++.PHONY: libpq-refs-stamp ++libpq-refs-stamp: ++endif + + # Make dependencies on pg_config_paths.h visible in all builds. + fe-connect.o: fe-connect.c $(top_builddir)/src/port/pg_config_paths.h diff --git a/ports/libpq/vcpkg-cmake-wrapper.cmake b/ports/libpq/vcpkg-cmake-wrapper.cmake index 200b10d48957a1..6f1432570cdd23 100644 --- a/ports/libpq/vcpkg-cmake-wrapper.cmake +++ b/ports/libpq/vcpkg-cmake-wrapper.cmake @@ -6,7 +6,7 @@ PATHS NO_DEFAULT_PATH ) _find_package(${ARGS}) -if(PostgreSQL_FOUND AND @USE_DL@) +if(PostgreSQL_FOUND AND NOT "@VCPKG_TARGET_IS_WINDOWS@") find_library(PostgreSQL_DL_LIBRARY NAMES dl) if(PostgreSQL_DL_LIBRARY) list(APPEND PostgreSQL_LIBRARIES "dl") @@ -61,6 +61,12 @@ if(PostgreSQL_FOUND AND "@VCPKG_LIBRARY_LINKAGE@" STREQUAL "static") endif() list(APPEND PostgreSQL_LIBRARIES OpenSSL::SSL) endif() + if(WIN32) + if(TARGET PostgreSQL::PostgreSQL) + set_property(TARGET PostgreSQL::PostgreSQL APPEND PROPERTY INTERFACE_LINK_LIBRARIES "Wldap32.lib") + endif() + list(APPEND PostgreSQL_LIBRARIES Wldap32.lib) + endif() unset(Z_VCPKG_PORT_FEATURES) cmake_policy(POP) endif() diff --git a/ports/libpq/vcpkg-libs.props.in b/ports/libpq/vcpkg-libs.props.in new file mode 100644 index 00000000000000..cb7e5f92c13e38 --- /dev/null +++ b/ports/libpq/vcpkg-libs.props.in @@ -0,0 +1,31 @@ + + + + @CURRENT_INSTALLED_DIR@/debug/lib/icuind.lib;@CURRENT_INSTALLED_DIR@/debug/lib/icuucd.lib;@CURRENT_INSTALLED_DIR@/debug/lib/icudtd.lib; + @CURRENT_INSTALLED_DIR@/debug/lib/lz4d.lib + @CURRENT_INSTALLED_DIR@/debug/lib/intl.lib;@CURRENT_INSTALLED_DIR@/debug/lib/iconv.lib;@CURRENT_INSTALLED_DIR@/debug/lib/charset.lib + @CURRENT_INSTALLED_DIR@/debug/lib/libssl.lib;@CURRENT_INSTALLED_DIR@/debug/lib/libcrypto.lib;crypt32.lib;ws2_32.lib;secur32.lib + @CURRENT_INSTALLED_DIR@/debug/lib/python3@PYTHON_VERSION_MINOR@_d.lib + @CURRENT_INSTALLED_DIR@/debug/lib/tcl90g.lib + @CURRENT_INSTALLED_DIR@/debug/lib/tcl90sg.lib + @CURRENT_INSTALLED_DIR@/debug/lib/tcl90sgx.lib + @LIBXML2_LIBS_DEBUG@ + @LIBXSLT_LIBS_DEBUG@ + @CURRENT_INSTALLED_DIR@/debug/lib/zlibd.lib + @CURRENT_INSTALLED_DIR@/debug/lib/zstd.lib + + + @CURRENT_INSTALLED_DIR@/lib/icuin.lib;@CURRENT_INSTALLED_DIR@/lib/icuuc.lib;@CURRENT_INSTALLED_DIR@/lib/icudt.lib; + @CURRENT_INSTALLED_DIR@/lib/lz4.lib + @CURRENT_INSTALLED_DIR@/lib/intl.lib;@CURRENT_INSTALLED_DIR@/lib/iconv.lib;@CURRENT_INSTALLED_DIR@/lib/charset.lib + @CURRENT_INSTALLED_DIR@/lib/libssl.lib;@CURRENT_INSTALLED_DIR@/lib/libcrypto.lib;crypt32.lib;ws2_32.lib;secur32.lib + @CURRENT_INSTALLED_DIR@/lib/python3@PYTHON_VERSION_MINOR@.lib + @CURRENT_INSTALLED_DIR@/lib/tcl90.lib + @CURRENT_INSTALLED_DIR@/lib/tcl90s.lib + @CURRENT_INSTALLED_DIR@/lib/tcl90sx.lib + @LIBXML2_LIBS_RELEASE@ + @LIBXSLT_LIBS_RELEASE@ + @CURRENT_INSTALLED_DIR@/lib/zlib.lib + @CURRENT_INSTALLED_DIR@/lib/zstd.lib + + diff --git a/ports/libpq/vcpkg.json b/ports/libpq/vcpkg.json index 0b5ff40a5c1c27..7fbbd7716a9e9a 100644 --- a/ports/libpq/vcpkg.json +++ b/ports/libpq/vcpkg.json @@ -1,9 +1,9 @@ { "name": "libpq", - "version": "12.2", - "port-version": 20, + "version": "16.4", "description": "The official database access API of postgresql", "homepage": "https://www.postgresql.org/", + "license": "PostgreSQL", "supports": "!uwp", "dependencies": [ { @@ -13,51 +13,116 @@ "bonjour" ], "platform": "osx" + }, + { + "name": "vcpkg-cmake-get-vars", + "host": true + }, + { + "name": "vcpkg-pkgconfig-get-modules", + "host": true, + "platform": "windows & !mingw" } ], "default-features": [ + "lz4", "openssl", "zlib" ], "features": { + "all": { + "description": "Build all supported features", + "dependencies": [ + { + "name": "libpq", + "features": [ + "client", + "icu", + "xml", + "xslt", + "zstd" + ] + }, + { + "name": "libpq", + "features": [ + "bonjour" + ], + "platform": "osx" + }, + { + "name": "libpq", + "features": [ + "nls" + ], + "platform": "!osx" + }, + { + "name": "libpq", + "features": [ + "readline" + ], + "platform": "!windows" + }, + { + "name": "libpq", + "features": [ + "python" + ], + "platform": "!android & !mingw" + }, + { + "name": "libpq", + "features": [ + "tcl" + ], + "platform": "windows & !mingw & !arm" + } + ] + }, "bonjour": { - "description": "Build with Bonjour support (--with-bonjour)" + "description": "Build with Bonjour support", + "supports": "osx" }, "client": { - "description": "Build all client tools and libraries." + "description": "Build all client tools and libraries" }, "icu": { - "description": "Build with support for the ICU library (--with-icu)", + "description": "Build with support for the ICU library", "dependencies": [ "icu" ] }, - "libedit": { - "description": "prefer libedit (--with-libedit-preferred)", - "dependencies": [ - "libedit" - ] - }, - "llvm": { - "description": "Build with support for LLVM based JIT compilation (--with-llvm)", + "lz4": { + "description": "Use lz4", "dependencies": [ - "llvm" + "lz4" ] }, "nls": { - "description": "Native Language Support (--enable-nls[=LANGUAGES])", + "description": "Native Language Support", + "supports": "!osx", "dependencies": [ - "gettext" + "gettext", + { + "name": "gettext", + "host": true, + "features": [ + "tools" + ], + "platform": "!windows, mingw" + } ] }, "openssl": { - "description": "support for encrypted client connections and random number generation on platforms that do not have \"/dev/urandom\" (except windows) (--with-openssl)", + "description": "support for encrypted client connections and random number generation on platforms that do not have \"/dev/urandom\" (except windows)", "dependencies": [ "openssl" ] }, "python": { - "description": "build the PL/Python server programming language (dynamic only?) (--with-python)", + "$supports": "!(windows & (static | mingw))", + "description": "build the PL/Python server programming language", "dependencies": [ { "name": "libpq", @@ -70,16 +135,16 @@ ] }, "readline": { - "description": "Use readline (else --without-readline)", + "description": "Use readline", + "supports": "!windows, mingw", "dependencies": [ "readline" ] }, - "systemd": { - "description": "Build with support for systemd service notifications. (--with-systemd)" - }, "tcl": { - "description": "build the PL/Tcl procedural language(dynamic only?) (--with-tcl)", + "$supports": "!(windows & (static | mingw))", + "description": "build the PL/Tcl procedural language", + "supports": "windows & !mingw", "dependencies": [ { "name": "libpq", @@ -91,26 +156,39 @@ "tcl" ] }, - "uuid": { - "description": "Build the uuid-ossp module (which provides functions to generate UUIDs) (--with-uuid=LIBRARY LIBRARY=(bsd|e2fs|ossp))" - }, "xml": { - "description": "Build with libxml (--with-libxml)", + "description": "Build with libxml", "dependencies": [ - "libxml2" + { + "name": "libxml2", + "default-features": false + } ] }, "xslt": { - "description": "Build with libxslt (--with-libxslt)", + "description": "Build with libxslt", "dependencies": [ + { + "name": "libpq", + "default-features": false, + "features": [ + "xml" + ] + }, "libxslt" ] }, "zlib": { - "description": "Use zlib (else --without-zlib)", + "description": "Use zlib", "dependencies": [ "zlib" ] + }, + "zstd": { + "description": "Use zstd", + "dependencies": [ + "zstd" + ] } } } diff --git a/ports/libpq/windows/macro-def.patch b/ports/libpq/windows/macro-def.patch new file mode 100644 index 00000000000000..1d16c127082441 --- /dev/null +++ b/ports/libpq/windows/macro-def.patch @@ -0,0 +1,18 @@ +diff --git a/src/include/common/checksum_helper.h b/src/include/common/checksum_helper.h +index cac7570ea..d0ca1243c 100644 +--- a/src/include/common/checksum_helper.h ++++ b/src/include/common/checksum_helper.h +@@ -33,7 +28,13 @@ + */ + typedef enum pg_checksum_type + { ++#pragma push_macro("CHECKSUM_TYPE_NONE") ++#ifdef CHECKSUM_TYPE_NONE ++// winioctl.h defines CHECKSUM_TYPE_NONE to 0 as a macro. ++#undef CHECKSUM_TYPE_NONE ++#endif + CHECKSUM_TYPE_NONE, ++#pragma pop_macro("CHECKSUM_TYPE_NONE") + CHECKSUM_TYPE_CRC32C, + CHECKSUM_TYPE_SHA224, + CHECKSUM_TYPE_SHA256, diff --git a/ports/libpq/windows/msbuild.patch b/ports/libpq/windows/msbuild.patch new file mode 100644 index 00000000000000..e6c70ad0947616 --- /dev/null +++ b/ports/libpq/windows/msbuild.patch @@ -0,0 +1,398 @@ +diff --git a/src/tools/msvc/Install.pm b/src/tools/msvc/Install.pm +index 05548d7..097db91 100644 +--- a/src/tools/msvc/Install.pm ++++ b/src/tools/msvc/Install.pm +@@ -53,6 +53,11 @@ sub Install + my $target = shift; + $insttype = shift; + $insttype = "all" unless ($insttype); ++ if ($insttype eq 'core') ++ { ++ $insttype = 'client'; ++ @client_program_files = ( 'libecpg','libecpg_compat', 'libpgtypes', 'libpq' ); ++ } + + # if called from vcregress, the config will be passed to us + # so no need to re-include these +@@ -89,7 +94,7 @@ sub Install + my $majorver = DetermineMajorVersion(); + print "Installing version $majorver for $conf in $target\n"; + +- my @client_dirs = ('bin', 'lib', 'share', 'symbols'); ++ my @client_dirs = ('bin', 'lib', 'share', 'tools', 'share/libpq', 'tools/libpq'); + my @all_dirs = ( + @client_dirs, 'doc', 'doc/contrib', 'doc/extension', 'share/contrib', + 'share/extension', 'share/timezonesets', 'share/tsearch_data'); +@@ -117,11 +122,11 @@ sub Install + } + }, + @top_dir); +- CopySetOfFiles('config files', $sample_files, $target . '/share/'); ++ CopySetOfFiles('config files', $sample_files, $target . '/share/libpq/'); + CopyFiles( + 'Import libraries', + $target . '/lib/', +- "$conf\\", "postgres\\postgres.lib", "libpgcommon\\libpgcommon.lib", ++ "$conf\\", "libpgcommon\\libpgcommon.lib", + "libpgport\\libpgport.lib"); + CopyContribFiles($config, $target); + CopyIncludeFiles($target); +@@ -293,7 +298,16 @@ sub CopySolutionOutput + { + if ($1 == 1) + { +- push(@{ $install_list{'bin'} }, "exe"); ++ push(@{ $install_list{'tools\\libpq'} }, "exe"); ++ } ++ elsif ($1 == 2) ++ { ++ push(@{ $install_list{'bin'} }, "dll"); ++ push(@{ $install_list{'lib'} }, "lib") if $is_sharedlib; # not for plugins ++ } ++ elsif ($is_sharedlib) # forced to static lib by vcpkg triplet ++ { ++ push(@{ $install_list{'lib'} }, "lib"); + } + elsif ($1 == 2) + { +@@ -317,7 +331,16 @@ sub CopySolutionOutput + { + if ($1 eq 'Application') + { +- push(@{ $install_list{'bin'} }, "exe"); ++ push(@{ $install_list{'tools\\libpq'} }, "exe"); ++ } ++ elsif ($1 eq 'DynamicLibrary') ++ { ++ push(@{ $install_list{'bin'} }, "dll"); ++ push(@{ $install_list{'lib'} }, "lib") if $is_sharedlib; # not for plugins ++ } ++ elsif ($is_sharedlib) # forced to static lib by vcpkg triplet ++ { ++ push(@{ $install_list{'lib'} }, "lib"); + } + elsif ($1 eq 'DynamicLibrary') + { +@@ -350,7 +373,8 @@ sub CopySolutionOutput + || croak "Could not copy $pf.$ext\n"; + } + } +- lcopy("$conf\\$pf\\$pf.pdb", "$target\\symbols\\$pf.pdb") ++ $1 ne 'DynamicLibrary' || ++ lcopy("$conf\\$pf\\$pf.pdb", "$target\\bin\\$pf.pdb") + || croak "Could not copy $pf.pdb\n"; + print "."; + } +@@ -453,7 +477,7 @@ sub CopySubdirFiles + foreach my $f (split /\s+/, $flist) + { + lcopy("$subdir/$module/$f.control", +- "$target/share/extension/$f.control") ++ "$target/share/libpq/extension/$f.control") + || croak("Could not copy file $f.control in contrib $module"); + print '.'; + } +@@ -471,7 +495,7 @@ sub CopySubdirFiles + foreach my $f (split /\s+/, $flist) + { + lcopy("$subdir/$module/$f", +- "$target/share/$moduledir/" . basename($f)) ++ "$target/share/libpq/$moduledir/" . basename($f)) + || croak("Could not copy file $f in contrib $module"); + print '.'; + } +@@ -486,7 +510,7 @@ sub CopySubdirFiles + foreach my $f (split /\s+/, $flist) + { + lcopy("$subdir/$module/$f", +- "$target/share/tsearch_data/" . basename($f)) ++ "$target/share/libpq/tsearch_data/" . basename($f)) + || croak("Could not copy file $f in $subdir $module"); + print '.'; + } +@@ -549,7 +573,7 @@ sub CopySubdirFiles + if ($module eq 'spi'); + foreach my $f (split /\s+/, $flist) + { +- lcopy("$subdir/$module/$f", "$target/doc/$moduledir/$f") ++ lcopy("$subdir/$module/$f", "$target/share/libpq/doc/$moduledir/$f") + || croak("Could not copy file $f in contrib $module"); + print '.'; + } +@@ -675,7 +699,7 @@ sub GenerateNLSFiles + my $majorver = shift; + + print "Installing NLS files..."; +- EnsureDirectories($target, "share/locale"); ++ EnsureDirectories($target, "share/libpq/locale"); + my @flist; + File::Find::find( + { +@@ -697,12 +721,12 @@ sub GenerateNLSFiles + next unless /([^\/]+)\.po/; + $lang = $1; + +- EnsureDirectories($target, "share/locale/$lang", +- "share/locale/$lang/LC_MESSAGES"); ++ EnsureDirectories($target, "share/libpq/locale/$lang", ++ "share/libpq/locale/$lang/LC_MESSAGES"); + my @args = ( +- "$nlspath\\bin\\msgfmt", ++ "msgfmt", + '-o', +- "$target\\share\\locale\\$lang\\LC_MESSAGES\\$prgm-$majorver.mo", ++ "$target\\share\\libpq\\locale\\$lang\\LC_MESSAGES\\$prgm-$majorver.mo", + $_); + system(@args) && croak("Could not run msgfmt on $dir\\$_"); + print "."; +diff --git a/src/tools/msvc/MSBuildProject.pm b/src/tools/msvc/MSBuildProject.pm +index 62fec1f..ecb1b86 100644 +--- a/src/tools/msvc/MSBuildProject.pm ++++ b/src/tools/msvc/MSBuildProject.pm +@@ -80,14 +80,14 @@ EOF + print $f < + EOF +- ++ my $maybe_dll = $self->{solution}->{options}->{VCPKG_CRT_LINKAGE} eq 'dynamic' ? "DLL" : ''; + $self->WriteItemDefinitionGroup( + $f, 'Debug', + { + defs => "_DEBUG;DEBUG=1", + opt => 'Disabled', + strpool => 'false', +- runtime => 'MultiThreadedDebugDLL' ++ runtime => 'MultiThreadedDebug' . $maybe_dll + }); + $self->WriteItemDefinitionGroup( + $f, +@@ -96,7 +96,7 @@ EOF + defs => "", + opt => 'Full', + strpool => 'true', +- runtime => 'MultiThreadedDLL' ++ runtime => 'MultiThreaded' . $maybe_dll + }); + return; + } +@@ -266,6 +266,8 @@ sub WriteConfigurationPropertyGroup + ($self->{type} eq "exe") + ? 'Application' + : ($self->{type} eq "dll" ? 'DynamicLibrary' : 'StaticLibrary'); ++ if ($self->{solution}->{options}->{VCPKG_LIBRARY_LINKAGE} eq 'static') ++ { $cfgtype =~ s/DynamicLibrary/StaticLibrary/; } + + print $f < +@@ -311,7 +313,9 @@ sub WriteItemDefinitionGroup + my $libs = $self->GetAdditionalLinkerDependencies($cfgname, ';'); + + my $targetmachine = +- $self->{platform} eq 'Win32' ? 'MachineX86' : 'MachineX64'; ++ 'Machine' . uc($self->{platform}); ++ $targetmachine =~ s/WIN32/X86/; ++ my $randomizebase = ($self->{platform} =~ /^ARM/) ? 'true' : 'false'; + my $arch = $self->{platform} eq 'Win32' ? 'x86' : 'x86_64'; + + my $includes = join ';', @{ $self->{includes} }, ""; +diff --git a/src/tools/msvc/Mkvcbuild.pm b/src/tools/msvc/Mkvcbuild.pm +index 9e05eb9..8ac0a5d 100644 +--- a/src/tools/msvc/Mkvcbuild.pm ++++ b/src/tools/msvc/Mkvcbuild.pm +@@ -125,8 +125,10 @@ sub mkvcbuild + + if ($vsVersion >= '9.00') + { ++ if ($solution->{platform} !~ /^ARM/) { + push(@pgportfiles, 'pg_crc32c_sse42_choose.c'); + push(@pgportfiles, 'pg_crc32c_sse42.c'); ++ } + push(@pgportfiles, 'pg_crc32c_sb8.c'); + } + else +@@ -208,6 +210,7 @@ sub mkvcbuild + 'syncrep_gram.y'); + $postgres->AddFiles('src/backend/utils/adt', 'jsonpath_scan.l', + 'jsonpath_gram.y'); ++ ($config->{VCPKG_LIBRARY_LINKAGE} eq 'dynamic') && + $postgres->AddDefine('BUILDING_DLL'); + $postgres->AddLibrary('secur32.lib'); + $postgres->AddLibrary('ws2_32.lib'); +@@ -252,12 +255,13 @@ sub mkvcbuild + $pltcl->AddIncludeDir($solution->{options}->{tcl} . '/include'); + $pltcl->AddReference($postgres); + +- for my $tclver (qw(86t 86 85 84)) ++ my $v = $solution->{options}->{tcl_version}; ++ for my $tclver ( ("${v}","${v}s","${v}sx") ) + { + my $tcllib = $solution->{options}->{tcl} . "/lib/tcl$tclver.lib"; + if (-e $tcllib) + { +- $pltcl->AddLibrary($tcllib); ++ $pltcl->AddLibrary("\$(VcpkgTcl${tclver}Libs)"); + $found = 1; + last; + } +@@ -512,8 +516,7 @@ sub mkvcbuild + . "print(str(sys.version_info[0])+str(sys.version_info[1]))"; + my $prefixcmd = + qq("$solution->{options}->{python}\\python" -c "$pythonprog"); +- my $pyout = `$prefixcmd`; +- die "Could not query for python version!\n" if $?; ++ my $pyout = "$solution->{options}->{python}\n$solution->{options}->{python_version}"; + my ($pyprefix, $pyver) = split(/\r?\n/, $pyout); + + # Sometimes (always?) if python is not present, the execution +@@ -529,8 +532,8 @@ sub mkvcbuild + + my $plpython = $solution->AddProject('plpython' . $pymajorver, + 'dll', 'PLs', 'src/pl/plpython'); +- $plpython->AddIncludeDir($pyprefix . '/include'); +- $plpython->AddLibrary($pyprefix . "/Libs/python$pyver.lib"); ++ $plpython->AddIncludeDir($pyprefix . "/include/python$pyver"); ++ $plpython->AddLibrary('$(VcpkgPythonLibs)'); + $plpython->AddReference($postgres); + + # Add transform modules dependent on plpython +diff --git a/src/tools/msvc/Project.pm b/src/tools/msvc/Project.pm +index 0507ad0..48caab9 100644 +--- a/src/tools/msvc/Project.pm ++++ b/src/tools/msvc/Project.pm +@@ -167,6 +167,11 @@ sub AddReference + } + $self->AddLibrary( + "__CFGNAME__/" . $ref->{name} . "/" . $ref->{name} . ".lib"); ++ ++ if ($self->{solution}->{options}->{VCPKG_LIBRARY_LINKAGE} eq 'static') ++ { ++ map { $self->AddLibrary($_) } @{ $ref->{libraries} }; ++ } + } + return; + } +diff --git a/src/tools/msvc/Solution.pm b/src/tools/msvc/Solution.pm +index b6d31c3..27d89fc 100644 +--- a/src/tools/msvc/Solution.pm ++++ b/src/tools/msvc/Solution.pm +@@ -63,6 +63,11 @@ sub DeterminePlatform + my $self = shift; + + if ($^O eq "MSWin32") ++ { ++ $self->{platform} = uc($self->{options}->{VCPKG_TARGET_ARCHITECTURE}); ++ $self->{platform} =~ s/^X86$/Win32/; ++ } ++ elsif (0) + { + # Examine CL help output to determine if we are in 32 or 64-bit mode. + my $output = `cl /help 2>&1`; +@@ -124,6 +129,9 @@ sub copyFile + sub GetOpenSSLVersion + { + my $self = shift; ++ if ($self->{options}->{openssl_version} =~ /(\d+)\.(\d+)\.(\d+)/m) { ++ return ($1, $2, $3); ++ } + + # Attempt to get OpenSSL version and location. This assumes that + # openssl.exe is in the specified directory. +@@ -148,7 +156,7 @@ sub GetOpenSSLVersion + sub GenerateFiles + { + my $self = shift; +- my $bits = $self->{platform} eq 'Win32' ? 32 : 64; ++ my $bits = $self->{platform} =~ /64/ ? 64 : 32; + my $ac_init_found = 0; + my $package_name; + my $package_version; +@@ -440,7 +448,7 @@ sub GenerateFiles + USE_PAM => undef, + USE_SLICING_BY_8_CRC32C => undef, + USE_SSE42_CRC32C => undef, +- USE_SSE42_CRC32C_WITH_RUNTIME_CHECK => 1, ++ USE_SSE42_CRC32C_WITH_RUNTIME_CHECK => $self->{platform} =~ /^ARM/ ? undef : 1, + USE_SYSTEMD => undef, + USE_SYSV_SEMAPHORES => undef, + USE_SYSV_SHARED_MEMORY => undef, +@@ -725,14 +733,14 @@ sub GenerateFiles + || confess "Could not open pg_config_paths.h"; + print $o <{options}->{zlib}) + { + $proj->AddIncludeDir($self->{options}->{zlib} . '\include'); +- $proj->AddLibrary($self->{options}->{zlib} . '\lib\zdll.lib'); ++ $proj->AddLibrary('$(VcpkgZlibLibs)'); + } + if ($self->{options}->{openssl}) + { + $proj->AddIncludeDir($self->{options}->{openssl} . '\include'); ++ $proj->AddLibrary('$(VcpkgOpensslLibs)'); ++ } ++ elsif (0) ++ { + my ($digit1, $digit2, $digit3) = $self->GetOpenSSLVersion(); + + # Starting at version 1.1.0 the OpenSSL installers have +@@ -1032,7 +1044,7 @@ sub AddProject + if ($self->{options}->{nls}) + { + $proj->AddIncludeDir($self->{options}->{nls} . '\include'); +- $proj->AddLibrary($self->{options}->{nls} . '\lib\libintl.lib'); ++ $proj->AddLibrary('$(VcpkgNlsLibs)'); + } + if ($self->{options}->{gss}) + { +@@ -1065,6 +1077,10 @@ sub AddProject + if ($self->{options}->{icu}) + { + $proj->AddIncludeDir($self->{options}->{icu} . '\include'); ++ $proj->AddLibrary('$(VcpkgIcuLibs)'); ++ } ++ elsif (0) ++ { + if ($self->{platform} eq 'Win32') + { + $proj->AddLibrary($self->{options}->{icu} . '\lib\icuin.lib'); +@@ -1082,22 +1098,22 @@ sub AddProject + { + $proj->AddIncludeDir($self->{options}->{xml} . '\include'); + $proj->AddIncludeDir($self->{options}->{xml} . '\include\libxml2'); +- $proj->AddLibrary($self->{options}->{xml} . '\lib\libxml2.lib'); ++ $proj->AddLibrary('$(VcpkgXmlLibs)'); + } + if ($self->{options}->{xslt}) + { + $proj->AddIncludeDir($self->{options}->{xslt} . '\include'); +- $proj->AddLibrary($self->{options}->{xslt} . '\lib\libxslt.lib'); ++ $proj->AddLibrary('$(VcpkgXsltLibs)'); + } + if ($self->{options}->{lz4}) + { + $proj->AddIncludeDir($self->{options}->{lz4} . '\include'); +- $proj->AddLibrary($self->{options}->{lz4} . '\lib\liblz4.lib'); ++ $proj->AddLibrary('$(VcpkgLz4Libs)'); + } + if ($self->{options}->{zstd}) + { + $proj->AddIncludeDir($self->{options}->{zstd} . '\include'); +- $proj->AddLibrary($self->{options}->{zstd} . '\lib\libzstd.lib'); ++ $proj->AddLibrary('$(VcpkgZstdLibs)'); + } + if ($self->{options}->{uuid}) + { diff --git a/ports/libpq/windows/spin_delay.patch b/ports/libpq/windows/spin_delay.patch new file mode 100644 index 00000000000000..163e8e6ef75191 --- /dev/null +++ b/ports/libpq/windows/spin_delay.patch @@ -0,0 +1,24 @@ +diff --git a/src/include/storage/s_lock.h b/src/include/storage/s_lock.h +index 4d3ffc7..658b1a1 100644 +--- a/src/include/storage/s_lock.h ++++ b/src/include/storage/s_lock.h +@@ -953,12 +953,18 @@ typedef LONG slock_t; + /* If using Visual C++ on Win64, inline assembly is unavailable. + * Use a _mm_pause intrinsic instead of rep nop. + */ +-#if defined(_WIN64) ++#if defined(_M_X64) && !defined(_M_ARM64EC) + static __forceinline void + spin_delay(void) + { + _mm_pause(); + } ++#elif defined(_M_ARM) || defined(_M_ARM64) || defined(_M_ARM64EC) ++static __forceinline void ++spin_delay(void) ++{ ++ __yield(); ++} + #else + static __forceinline void + spin_delay(void) diff --git a/ports/libpq/windows/win_bison_flex.patch b/ports/libpq/windows/win_bison_flex.patch new file mode 100644 index 00000000000000..fc8230193cf85d --- /dev/null +++ b/ports/libpq/windows/win_bison_flex.patch @@ -0,0 +1,42 @@ +diff --git a/src/tools/msvc/pgbison.pl b/src/tools/msvc/pgbison.pl +index 25df669..373bedd 100644 +--- a/src/tools/msvc/pgbison.pl ++++ b/src/tools/msvc/pgbison.pl +@@ -13,7 +13,7 @@ use File::Basename; + + do './src/tools/msvc/buildenv.pl' if -e 'src/tools/msvc/buildenv.pl'; + +-my ($bisonver) = `bison -V`; # grab first line ++my ($bisonver) = `win_bison -V`; # grab first line + $bisonver = (split(/\s+/, $bisonver))[3]; # grab version number + + unless ($bisonver ge '2.3') +@@ -51,5 +51,5 @@ my $headerflag = ($make =~ /^$basetarg:\s+BISONFLAGS\b.*-d/m ? '-d' : ''); + + my $nodep = $bisonver ge '3.0' ? "-Wno-deprecated" : ""; + +-system("bison $nodep $headerflag $input -o $output"); ++system("win_bison $nodep $headerflag $input -o $output"); + exit $? >> 8; +diff --git a/src/tools/msvc/pgflex.pl b/src/tools/msvc/pgflex.pl +index c308a08..0807ce7 100644 +--- a/src/tools/msvc/pgflex.pl ++++ b/src/tools/msvc/pgflex.pl +@@ -16,7 +16,7 @@ $ENV{CYGWIN} = 'nodosfilewarning'; + + do './src/tools/msvc/buildenv.pl' if -e 'src/tools/msvc/buildenv.pl'; + +-my ($flexver) = `flex -V`; # grab first line ++my ($flexver) = `win_flex -V`; # grab first line + $flexver = (split(/\s+/, $flexver))[1]; + $flexver =~ s/[^0-9.]//g; + my @verparts = split(/\./, $flexver); +@@ -52,7 +52,7 @@ close($mf); + my $basetarg = basename($output); + my $flexflags = ($make =~ /^$basetarg:\s*FLEXFLAGS\s*=\s*(\S.*)/m ? $1 : ''); + +-system("flex $flexflags -o$output $input"); ++system("win_flex $flexflags -o$output $input"); + if ($? == 0) + { + diff --git a/ports/libpqxx/fix_build_with_vs2017.patch b/ports/libpqxx/fix_build_with_vs2017.patch index a10b8d161c9126..1267111d881c05 100644 --- a/ports/libpqxx/fix_build_with_vs2017.patch +++ b/ports/libpqxx/fix_build_with_vs2017.patch @@ -1,8 +1,8 @@ -diff --git a/include/pqxx/compiler-public.hxx b/include/pqxx/compiler-public.hxx -index 5d24c7e..8087191 100644 ---- a/include/pqxx/compiler-public.hxx -+++ b/include/pqxx/compiler-public.hxx -@@ -43,6 +43,11 @@ +diff --git a/include/pqxx/internal/header-pre.hxx b/include/pqxx/internal/header-pre.hxx +index 833d583..21b7400 100644 +--- a/include/pqxx/internal/header-pre.hxx ++++ b/include/pqxx/internal/header-pre.hxx +@@ -101,6 +101,11 @@ // Workarounds for Microsoft Visual C++ # ifdef _MSC_VER @@ -14,7 +14,7 @@ index 5d24c7e..8087191 100644 // Suppress vtables on abstract classes. # define PQXX_NOVTABLE __declspec(novtable) -@@ -112,6 +117,10 @@ +@@ -170,6 +175,10 @@ # define PQXX_NOVTABLE /* novtable */ #endif @@ -22,60 +22,60 @@ index 5d24c7e..8087191 100644 +# define PQXX_DEPRECATED(MESSAGE) [[deprecated( #MESSAGE )]] +#endif + - // TODO: Assume support once we're on C++20. + // C++20: Assume support. #if defined(PQXX_HAVE_LIKELY) # define PQXX_LIKELY [[likely]] diff --git a/include/pqxx/stream_from.hxx b/include/pqxx/stream_from.hxx -index f2dcc31..6a74b55 100644 +index b275a7f..c63a80f 100644 --- a/include/pqxx/stream_from.hxx +++ b/include/pqxx/stream_from.hxx -@@ -148,7 +148,7 @@ public: - /** @deprecated Use factory function @c table() or @c raw_table() instead. +@@ -160,7 +160,7 @@ public: + /** @deprecated Use factories @ref table or @ref raw_table instead. */ template -- [[deprecated("Use table() or raw_table() factory instead.")]] stream_from( -+ PQXX_DEPRECATED("Use table() or raw_table() factory instead.") stream_from( +- [[deprecated("Use transaction_base::stream instead.")]] stream_from( ++ PQXX_DEPRECATED("Use transaction_base::stream instead.") stream_from( transaction_base &, from_table_t, std::string_view table, Iter columns_begin, Iter columns_end); -@@ -156,13 +156,13 @@ public: - /** @deprecated Use factory function @c query() instead. +@@ -168,13 +168,13 @@ public: + /** @deprecated Use factory function @ref query instead. */ template -- [[deprecated("Use table() or raw_table() factory instead.")]] stream_from( -+ PQXX_DEPRECATED("Use table() or raw_table() factory instead.") stream_from( +- [[deprecated("Use transaction_base::stream() instead.")]] stream_from( ++ PQXX_DEPRECATED("Use transaction_base::stream() instead.") stream_from( transaction_base &tx, from_table_t, std::string_view table, Columns const &columns); #include "pqxx/internal/ignore-deprecated-pre.hxx" - /// @deprecated Use factory function @c table() or @c raw_table() instead. -- [[deprecated("Use the from_table_t overload instead.")]] stream_from( -+ PQXX_DEPRECATED("Use the from_table_t overload instead.") stream_from( + /// @deprecated Use factories @ref table or @ref raw_table instead. +- [[deprecated("Use transaction_base::stream instead.")]] stream_from( ++ PQXX_DEPRECATED("Use transaction_base::stream instead.") stream_from( transaction_base &tx, std::string_view table) : stream_from{tx, from_table, table} {} -@@ -170,14 +170,14 @@ public: +@@ -182,14 +182,14 @@ public: - /// @deprecated Use factory function @c table() or @c raw_table() instead. + /// @deprecated Use factories @ref table or @ref raw_table instead. template -- [[deprecated("Use the from_table_t overload instead.")]] stream_from( -+ PQXX_DEPRECATED("Use the from_table_t overload instead.") stream_from( +- [[deprecated("Use transaction_base::stream instead.")]] stream_from( ++ PQXX_DEPRECATED("Use transaction_base::stream instead.") stream_from( transaction_base &tx, std::string_view table, Columns const &columns) : stream_from{tx, from_table, table, columns} {} - /// @deprecated Use factory function @c table() or @c raw_table() instead. + /// @deprecated Use factories @ref table or @ref raw_table instead. template -- [[deprecated("Use the from_table_t overload instead.")]] stream_from( -+ PQXX_DEPRECATED("Use the from_table_t overload instead.") stream_from( +- [[deprecated("Use transaction_base::stream instead.")]] stream_from( ++ PQXX_DEPRECATED("Use transaction_base::stream instead.") stream_from( transaction_base &, std::string_view table, Iter columns_begin, Iter columns_end); diff --git a/include/pqxx/stream_to.hxx b/include/pqxx/stream_to.hxx -index 3ad0292..4b52e31 100644 +index 281af28..838003d 100644 --- a/include/pqxx/stream_to.hxx +++ b/include/pqxx/stream_to.hxx -@@ -168,7 +168,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. */ @@ -84,20 +84,12 @@ index 3ad0292..4b52e31 100644 transaction_base &tx, std::string_view table_name) : stream_to{tx, table_name, ""sv} {} -@@ -177,14 +177,14 @@ public: - /** @deprecated Use @c table() or @c raw_table() as a factory. +@@ -257,7 +257,7 @@ public: + /** @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( ++ 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 @c table() or @c 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 53d7eea4d43f60..af34fb231ee9fe 100644 --- a/ports/libpqxx/portfile.cmake +++ b/ports/libpqxx/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO jtv/libpqxx - REF 221ddc8be329bafb376a3d83b9cd257fd52fc7b7 # 7.6.0 - SHA512 32a673bbae2f26fbc41bdcba007d9a5ded29680cb49ba434d1913cd5007bc1c1443bf38c88d9c5a6abe0a3ee519c0f691464c8d2b144cd3f16652447d644e400 + REF "${VERSION}" + SHA512 f4035b1d976580f0ca101d484940f18a5af8299e249b754098c6c4bbe8198a855013112965300f7d978ca127b75547f2e2f4fb567b77114f010392952f0ed642 HEAD_REF master PATCHES fix_build_with_vs2017.patch @@ -23,6 +23,6 @@ vcpkg_copy_pdbs() vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/libpqxx) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${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_fixup_pkgconfig() diff --git a/ports/libpqxx/vcpkg.json b/ports/libpqxx/vcpkg.json index 880ccb1974f81a..cc28a04044512a 100644 --- a/ports/libpqxx/vcpkg.json +++ b/ports/libpqxx/vcpkg.json @@ -1,11 +1,14 @@ { "name": "libpqxx", - "version-semver": "7.6.0", - "port-version": 2, + "version": "7.9.2", "description": "The official C++ client API for PostgreSQL", "homepage": "https://www.postgresql.org/", + "license": "BSD-3-Clause", "dependencies": [ - "libpq", + { + "name": "libpq", + "default-features": false + }, { "name": "vcpkg-cmake", "host": true diff --git a/ports/libprotobuf-mutator/portfile.cmake b/ports/libprotobuf-mutator/portfile.cmake index 9ce795f25553ea..2582e04e820a9e 100644 --- a/ports/libprotobuf-mutator/portfile.cmake +++ b/ports/libprotobuf-mutator/portfile.cmake @@ -5,25 +5,28 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/libprotobuf-mutator - REF v1.0 - SHA512 75e423289f938d4332d98033062cd9608b71141b7ca1df4e8f28c927c51a16e7ff2f5bf08867308d2a291fc2422e4456f8928ab2c11d545eeb982ea732baf2e9 + REF "v${VERSION}" + SHA512 9c752cf2bdbf9228ba5a7c1e7a552ea7e12bda226ad8268e4cb9f135a79aee9c3ff0c1f2dfebe5d011282835a63d3b9cf3b3f642f02a3e00bb0b5eee9580a3dd HEAD_REF master + PATCHES + protobuf-cmake.patch ) string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" STATIC_RUNTIME) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -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_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() vcpkg_fixup_pkgconfig() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) +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 e41bf2652cdbd9..a244d5e652781c 100644 --- a/ports/libprotobuf-mutator/vcpkg.json +++ b/ports/libprotobuf-mutator/vcpkg.json @@ -1,8 +1,18 @@ { "name": "libprotobuf-mutator", - "version-string": "1.0", + "version": "1.3", "description": "Library for structured fuzzing with protobuffers.", "dependencies": [ - "protobuf" + "liblzma", + "protobuf", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "zlib" ] } diff --git a/ports/libproxy/fix-arm-build.patch b/ports/libproxy/fix-arm-build.patch deleted file mode 100644 index c334b8b99a6476..00000000000000 --- a/ports/libproxy/fix-arm-build.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 1c68939..9ef6895 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -42,6 +42,9 @@ else() - include_directories(${CMAKE_CURRENT_SOURCE_DIR}) - endif() - -+if (WIN32) -+ link_libraries(Advapi32) -+endif() - # Conditionally build bindings - if(NOT WIN32) - add_subdirectory(bindings) diff --git a/ports/libproxy/fix-dependency-libmodman.patch b/ports/libproxy/fix-dependency-libmodman.patch deleted file mode 100644 index 84a17411bc56c0..00000000000000 --- a/ports/libproxy/fix-dependency-libmodman.patch +++ /dev/null @@ -1,52 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 4f51e38..32a0319 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -31,11 +31,15 @@ include(cmake/ctest.cmk) - include(cmake/paths.cmk) - - option(WITH_WEBKIT3 "Build against gtk-3 version of webkitgtk" OFF) -- --### Subdirectories -- --add_subdirectory(libmodman) --include_directories(${CMAKE_CURRENT_SOURCE_DIR}) -+find_package(libmodman REQUIRED) -+if(LIBMODMAN_FOUND) -+ include_directories(${LIBMODMAN_INCLUDE_DIR}) -+ link_libraries(${LIBMODMAN_LIBRARIES}) -+else() -+ ### Subdirectories -+ add_subdirectory(libmodman) -+ include_directories(${CMAKE_CURRENT_SOURCE_DIR}) -+endif() - - # Conditionally build bindings - if(NOT WIN32) -diff --git a/libproxy/cmake/libproxy.cmk b/libproxy/cmake/libproxy.cmk -index 9356486..f9eed2c 100644 ---- a/libproxy/cmake/libproxy.cmk -+++ b/libproxy/cmake/libproxy.cmk -@@ -1,8 +1,8 @@ - add_library(libproxy SHARED extension_config.cpp extension_pacrunner.cpp extension_wpad.cpp proxy.cpp url.cpp ${LIBPROXY_SOURCES}) - if(WIN32) -- target_link_libraries(libproxy modman;ws2_32;${LIBPROXY_LIBRARIES}) -+ target_link_libraries(libproxy ${LIBMODMAN_LIBRARIES};ws2_32;${LIBPROXY_LIBRARIES}) - else() -- target_link_libraries(libproxy modman;m;pthread;${CMAKE_DL_LIBS};${LIBPROXY_LIBRARIES}) -+ target_link_libraries(libproxy ${LIBMODMAN_LIBRARIES};m;pthread;${CMAKE_DL_LIBS};${LIBPROXY_LIBRARIES}) - endif() - file(TO_NATIVE_PATH ${MODULE_INSTALL_DIR} MODULE_INSTALL_DIR) - if(WIN32) -@@ -21,8 +21,8 @@ set_property(SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/proxy.cpp - set_target_properties(libproxy PROPERTIES PREFIX "" VERSION 1.0.0 SOVERSION 1) - set_target_properties(libproxy PROPERTIES INTERFACE_LINK_LIBRARIES "") - set_target_properties(libproxy PROPERTIES LINK_INTERFACE_LIBRARIES "") --if(NOT APPLE) -- set_target_properties(libproxy PROPERTIES LINK_FLAGS "-Wl,--version-script,${CMAKE_CURRENT_SOURCE_DIR}/libproxy.map") --endif() -+#if(NOT APPLE) -+# set_target_properties(libproxy PROPERTIES LINK_FLAGS "-Wl,--version-script,${CMAKE_CURRENT_SOURCE_DIR}/libproxy.map") -+#endif() - install(TARGETS libproxy RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib) - install(FILES proxy.h DESTINATION ${INCLUDE_INSTALL_DIR}) diff --git a/ports/libproxy/fix-install-py.patch b/ports/libproxy/fix-install-py.patch index c429be74b0fdfb..6c03602fbc936f 100644 --- a/ports/libproxy/fix-install-py.patch +++ b/ports/libproxy/fix-install-py.patch @@ -1,36 +1,37 @@ -diff --git a/bindings/python/python3/CMakeLists.txt b/bindings/python/python3/CMakeLists.txt -index bf87dfc..9f94c2d 100644 ---- a/bindings/python/python3/CMakeLists.txt -+++ b/bindings/python/python3/CMakeLists.txt -@@ -21,5 +21,4 @@ if(PYTHON3INTERP_FOUND) - - message(STATUS "Using PYTHON3_SITEPKG_DIR=${PYTHON3_SITEPKG_DIR}") - -- install(FILES ../libproxy.py DESTINATION ${PYTHON3_SITEPKG_DIR}) - endif() -diff --git a/bindings/python/python2/CMakeLists.txt b/bindings/python/python2/CMakeLists.txt -index 00df551..15d78f9 100644 ---- a/bindings/python/python2/CMakeLists.txt -+++ b/bindings/python/python2/CMakeLists.txt -@@ -21,5 +21,4 @@ if(PYTHON2INTERP_FOUND) - - message(STATUS "Using PYTHON2_SITEPKG_DIR=${PYTHON2_SITEPKG_DIR}") - -- install(FILES ../libproxy.py DESTINATION ${PYTHON2_SITEPKG_DIR}) - endif() diff --git a/bindings/perl/lib/CMakeLists.txt b/bindings/perl/lib/CMakeLists.txt -index 9856627..f54c138 100644 +index 7c36e51..ee2c5bc 100644 --- a/bindings/perl/lib/CMakeLists.txt +++ b/bindings/perl/lib/CMakeLists.txt @@ -1,2 +1 @@ - add_custom_target(PMlibproxy ALL ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/Libproxy.pm ${CMAKE_BINARY_DIR}/perl/blib/lib/Libproxy.pm) + add_custom_target(PMlibproxy ALL ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/Libproxy.pm ${CMAKE_BINARY_DIR}/perl/Net/Libproxy.pm) -install( FILES Libproxy.pm DESTINATION ${PX_PERL_ARCH}/Net ) diff --git a/bindings/perl/src/CMakeLists.txt b/bindings/perl/src/CMakeLists.txt -index 05176c4..9ca532f 100644 +index 29e656d..dec5799 100644 --- a/bindings/perl/src/CMakeLists.txt +++ b/bindings/perl/src/CMakeLists.txt -@@ -21,4 +21,3 @@ target_link_libraries(PLlibproxy ${PLlibproxy_LIB_DEPENDENCIES}) +@@ -20,5 +20,3 @@ endif() + target_link_libraries(PLlibproxy ${PLlibproxy_LIB_DEPENDENCIES}) set_target_properties(PLlibproxy PROPERTIES OUTPUT_NAME "Libproxy") set_target_properties(PLlibproxy PROPERTIES PREFIX "") - +- -install( TARGETS PLlibproxy DESTINATION ${PX_PERL_ARCH}/auto/Net/Libproxy ) +diff --git a/bindings/python/python2/CMakeLists.txt b/bindings/python/python2/CMakeLists.txt +index f4d2b91..a79decc 100644 +--- a/bindings/python/python2/CMakeLists.txt ++++ b/bindings/python/python2/CMakeLists.txt +@@ -21,5 +21,4 @@ if(PYTHON2INTERP_FOUND) + + message(STATUS "Using PYTHON2_SITEPKG_DIR=${PYTHON2_SITEPKG_DIR}") + +- install(FILES ../libproxy.py DESTINATION ${PYTHON2_SITEPKG_DIR}) + endif() +diff --git a/bindings/python/python3/CMakeLists.txt b/bindings/python/python3/CMakeLists.txt +index fc3b24b..a13b6b7 100644 +--- a/bindings/python/python3/CMakeLists.txt ++++ b/bindings/python/python3/CMakeLists.txt +@@ -21,5 +21,4 @@ if(PYTHON3INTERP_FOUND) + + message(STATUS "Using PYTHON3_SITEPKG_DIR=${PYTHON3_SITEPKG_DIR}") + +- install(FILES ../libproxy.py DESTINATION ${PYTHON3_SITEPKG_DIR}) + endif() diff --git a/ports/libproxy/fix-tools-path.patch b/ports/libproxy/fix-tools-path.patch deleted file mode 100644 index ba506117077c53..00000000000000 --- a/ports/libproxy/fix-tools-path.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff --git a/libproxy/cmake/pxmodule.cmk b/libproxy/cmake/pxmodule.cmk -index bbbd989..956948a 100644 ---- a/libproxy/cmake/pxmodule.cmk -+++ b/libproxy/cmake/pxmodule.cmk -@@ -20,7 +20,7 @@ function(px_module name build builtin) - add_library(${name} MODULE modules/${name}.cpp) - target_link_libraries(${name} libproxy) - set_target_properties(${name} PROPERTIES PREFIX "") -- install(TARGETS ${name} LIBRARY DESTINATION ${MODULE_INSTALL_DIR}) -+ install(TARGETS ${name} LIBRARY DESTINATION tools) - if(${ARGC} GREATER 3) - target_link_libraries(${name} ${ARGN}) - endif() -diff --git a/utils/CMakeLists.txt b/utils/CMakeLists.txt -index 52010c6..0a3f4b5 100644 ---- a/utils/CMakeLists.txt -+++ b/utils/CMakeLists.txt -@@ -1,5 +1,7 @@ - include_directories("../libproxy") - -+if (BUILD_TOOLS) - add_executable(proxy proxy.c) - target_link_libraries(proxy libproxy) --install(TARGETS proxy RUNTIME DESTINATION ${BIN_INSTALL_DIR}) -+install(TARGETS proxy RUNTIME DESTINATION tools) -+endif() -\ No newline at end of file diff --git a/ports/libproxy/portfile.cmake b/ports/libproxy/portfile.cmake index 26842e7979d66d..e1540a676a7819 100644 --- a/ports/libproxy/portfile.cmake +++ b/ports/libproxy/portfile.cmake @@ -1,25 +1,17 @@ -vcpkg_fail_port_install(ON_TARGET "UWP") - -# Enable static build in UNIX -if (VCPKG_TARGET_IS_WINDOWS) - vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) -endif() - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libproxy/libproxy - REF e78a5ccfe0a2340f2c73e419767f8492ffc2787a #0.4.17 - SHA512 b22251f73f7a94dade5dcdcd9d5510170038b0d101ee98ab427106c20a3d9979c2b16c57d6cf8d8ae59c3a28ccffcecafc0bed399926dc2416a27837fd2f043c + REF "${VERSION}" + SHA512 1148d688a9f070273a1a2b110a788561789799089660292bbba59fbf0a9caf7d28cb039a9ccdcb935f752e1e34739b2d2f4c784b1bb3bbaa03d108e7b38a4754 HEAD_REF master PATCHES - fix-tools-path.patch support-windows.patch - fix-dependency-libmodman.patch fix-install-py.patch - fix-arm-build.patch fix-module-lib-name.patch ) +string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" STATICCRT) + vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES bindings-csharp WITH_DOTNET @@ -35,17 +27,33 @@ vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${FEATURE_OPTIONS} -DWITH_WEBKIT3=OFF + -DWITH_KDE=${VCPKG_TARGET_IS_LINUX} + -DMSVC_STATIC=${STATICCRT} + -DWITH_GNOME3=OFF + MAYBE_UNUSED_VARIABLES + WITH_DOTNET + WITH_PERL + WITH_PYTHON2 + WITH_PYTHON3 + WITH_VALA + MSVC_STATIC + BUILD_TOOLS + WITH_GNOME3 ) vcpkg_cmake_install() vcpkg_cmake_config_fixup(CONFIG_PATH share/cmake/Modules) vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() + +vcpkg_copy_tools(TOOL_NAMES proxy AUTO_CLEAN) file(COPY "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -file(REMOVE_RECURSE "${LIBPROXY_TOOLS}" "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") - -file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +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() -vcpkg_fixup_pkgconfig() +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/libproxy/support-windows.patch b/ports/libproxy/support-windows.patch index 1cad01ff412fe2..d49fa2c0af256c 100644 --- a/ports/libproxy/support-windows.patch +++ b/ports/libproxy/support-windows.patch @@ -29,3 +29,13 @@ index de68e5c..9356486 100644 -install(TARGETS libproxy DESTINATION ${LIB_INSTALL_DIR}) +install(TARGETS libproxy RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib) install(FILES proxy.h DESTINATION ${INCLUDE_INSTALL_DIR}) +diff --git a/libproxy/cmake/pkgconfig.cmk b/libproxy/cmake/pkgconfig.cmk +index 89bfc62..ffa0897 100644 +--- a/libproxy/cmake/pkgconfig.cmk ++++ b/libproxy/cmake/pkgconfig.cmk +@@ -1,4 +1,4 @@ +-if(NOT WIN32 AND NOT APPLE) ++if(NOT WIN32) + find_package(PkgConfig) + + # Define our magical px_check_modules function diff --git a/ports/libproxy/usage b/ports/libproxy/usage index a37b13c5ada3dc..2a8d884866f413 100644 --- a/ports/libproxy/usage +++ b/ports/libproxy/usage @@ -1,5 +1,5 @@ The package libproxy provides CMake targets: - find_package(libproxy CONFIG REQUIRED) + find_package(libproxy REQUIRED) target_include_directories(main PRIVATE ${LIBPROXY_INCLUDE_DIR}) target_link_libraries(main PRIVATE ${LIBPROXY_LIBRARIES}) diff --git a/ports/libproxy/vcpkg.json b/ports/libproxy/vcpkg.json index fb855d40c08877..0a26245082b458 100644 --- a/ports/libproxy/vcpkg.json +++ b/ports/libproxy/vcpkg.json @@ -1,11 +1,12 @@ { "name": "libproxy", - "version": "0.4.17", - "port-version": 1, + "version": "0.4.18", + "port-version": 3, "description": "libproxy is a library that provides automatic proxy configuration management.", "homepage": "https://github.com/libproxy/libproxy", + "license": "LGPL-2.1-only", + "supports": "!(uwp | xbox | android)", "dependencies": [ - "libmodman", { "name": "vcpkg-cmake", "host": true 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/libqcow/portfile.cmake b/ports/libqcow/portfile.cmake index 043c72f407bfca..35bb881d66cb15 100644 --- a/ports/libqcow/portfile.cmake +++ b/ports/libqcow/portfile.cmake @@ -1,37 +1,35 @@ -vcpkg_fail_port_install(ON_TARGET "uwp") vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) -set(LIB_VERSION 20210419) +set(LIB_VERSION 20221124) set(LIB_FILENAME libqcow-alpha-${LIB_VERSION}.tar.gz) # Release distribution file contains configured sources, while the source code in the repository does not. vcpkg_download_distfile(ARCHIVE URLS "https://github.com/libyal/libqcow/releases/download/${LIB_VERSION}/${LIB_FILENAME}" FILENAME "${LIB_FILENAME}" - SHA512 911d29bd880df95288e552356d128d18c924fcd0d61d166fbeaf09936f11bf27b984d8ffd4cdc4bc285e7df295a1fe64ff595b0dfdd10b6fcfbdc6586d6bd3b0 + SHA512 5e48491ec8951473b8791fd6058d35b2d3c00b0206d4ca4fc69b6d42c26ba0a775efe41974989a3965a6a17f4361dd01f874aadef08fe5d80be75d9e6aea6450 ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH +vcpkg_extract_source_archive( + SOURCE_PATH ARCHIVE ${ARCHIVE} - REF ${LIB_VERSION} + SOURCE_BASE ${LIB_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_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - PREFER_NINJA ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/libqcow") +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/libqcow") vcpkg_copy_pdbs() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") # License and man -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/libqcow/vcpkg.json b/ports/libqcow/vcpkg.json index 5f8992d0be2f64..007db5163b6df8 100644 --- a/ports/libqcow/vcpkg.json +++ b/ports/libqcow/vcpkg.json @@ -1,13 +1,22 @@ { "name": "libqcow", - "version-string": "20210419", + "version": "20221124", "port-version": 1, "description": "Library and tools to access the QEMU Copy-On-Write (QCOW) image format.", "homepage": "https://github.com/libyal/libqcow", - "supports": "!uwp", + "license": "LGPL-3.0-or-later", + "supports": "!uwp & !xbox", "dependencies": [ "gettext", "openssl", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, "zlib" ] } diff --git a/ports/libqglviewer/Add-compile-definitions.patch b/ports/libqglviewer/Add-compile-definitions.patch new file mode 100644 index 00000000000000..addf619c29ca64 --- /dev/null +++ b/ports/libqglviewer/Add-compile-definitions.patch @@ -0,0 +1,23 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -58,9 +58,19 @@ + "${PROJECT_SOURCE_DIR}/QGLViewer/quaternion.cpp" + "${PROJECT_SOURCE_DIR}/QGLViewer/saveSnapshot.cpp" + "${PROJECT_SOURCE_DIR}/QGLViewer/vec.cpp") +-add_library(QGLViewer SHARED ${QGLViewer_SRC}) ++add_library(QGLViewer ${QGLViewer_SRC}) + target_include_directories(QGLViewer INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}) + target_link_libraries(QGLViewer PRIVATE ${QtLibs} OpenGL::GL OpenGL::GLU) ++if(MSVC) ++ target_compile_definitions(QGLViewer PRIVATE NOMINMAX) ++endif() ++if(WIN32) ++ if(BUILD_SHARED_LIBS) ++ target_compile_definitions(QGLViewer PRIVATE CREATE_QGLVIEWER_DLL) ++ else() ++ target_compile_definitions(QGLViewer PUBLIC QGLVIEWER_STATIC) ++ endif() ++endif() + + # Example: animation. + set(animation_SRC 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/destdir.patch b/ports/libqglviewer/destdir.patch deleted file mode 100644 index d1cd4f3cc28e64..00000000000000 --- a/ports/libqglviewer/destdir.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff --git a/QGLViewer/QGLViewer.pro b/QGLViewer/QGLViewer.pro -index 263a141..51e3359 100644 ---- a/QGLViewer/QGLViewer.pro -+++ b/QGLViewer/QGLViewer.pro -@@ -38,7 +38,6 @@ SOURCES = \ - - HEADERS *= $${QGL_HEADERS} - DISTFILES *= qglviewer-icon.xpm --DESTDIR = $${PWD} - - TRANSLATIONS = qglviewer_fr.ts - -@@ -273,7 +272,7 @@ win32 { - QMAKE_CXXFLAGS *= -TP -GR - DEFINES += NOMINMAX - win32-msvc { -- QMAKE_CXXFLAGS *= -EHs -FS -+ QMAKE_CXXFLAGS *= -EHs -FS - } else { - QMAKE_CXXFLAGS *= -EHs - } 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 0c46c11c28cfab..b556610fa0d809 100644 --- a/ports/libqglviewer/portfile.cmake +++ b/ports/libqglviewer/portfile.cmake @@ -1,24 +1,22 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO GillesDebunne/libQGLViewer - REF fee0916f2af3d0993df51956d2e5a51bbaf0c1f0 #v2.7.2 - SHA512 449bf4ccadaf50d4333bd91050e9b50f440a64229391827aaf4a80ade2c3f5fc60501d2baee885cf1214f7e2a8a04615bafe9ac7da9f866ffa4ebe33b9b999d8 - HEAD_REF master + REF "v${VERSION}" + SHA512 09bfc5c0f07e51625a9af0094b83f40f84ead55a67c6e492c9702521f58c6b461bc840382fb73b64d16ad71a0a2a75d04aa12a77a78ced0a19e0e784e8d36bd7 PATCHES - use-default-config-on-all-platforms.patch - destdir.patch + Add-compile-definitions.patch + Fix-error-c2039.patch #https://github.com/GillesDebunne/libQGLViewer/pull/80 + glu.patch ) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - set(OPTIONS CONFIG*=staticlib) -endif() - -vcpkg_configure_qmake( - SOURCE_PATH ${SOURCE_PATH}/QGLViewer/QGLViewer.pro - OPTIONS ${OPTIONS} +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_qmake() +vcpkg_cmake_install() + +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL ${SOURCE_PATH}/QGLViewer DESTINATION ${CURRENT_PACKAGES_DIR}/include FILES_MATCHING PATTERN "*.h") -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/use-default-config-on-all-platforms.patch b/ports/libqglviewer/use-default-config-on-all-platforms.patch deleted file mode 100644 index bd8281f226ad55..00000000000000 --- a/ports/libqglviewer/use-default-config-on-all-platforms.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff --git a/QGLViewer/QGLViewer.pro b/QGLViewer/QGLViewer.pro -index e0205e5..6db4c81 100644 ---- a/QGLViewer/QGLViewer.pro -+++ b/QGLViewer/QGLViewer.pro -@@ -108,9 +108,6 @@ contains( DEFINES, NO_VECTORIAL_RENDER ) { - # -- U n i x -- - # --------------- - unix { -- CONFIG -= debug debug_and_release -- CONFIG *= release -- - # INCLUDE_DIR and LIB_DIR specify where to install the include files and the library. - # Use qmake INCLUDE_DIR=... LIB_DIR=... , or qmake PREFIX=... to customize your installation. - isEmpty( PREFIX ) { -@@ -250,9 +247,6 @@ macx|darwin-g++ { - # -- W i n d o w s -- - # --------------------- - win32 { -- # Windows requires a debug lib version to link against debug applications -- CONFIG *= debug_and_release build_all -- - # Needed by Intel C++, (icl.exe) so that WINGDIAPI is a defined symbol in gl.h. - DEFINES *= WIN32 - -@@ -279,7 +273,7 @@ win32 { - QMAKE_CXXFLAGS *= -TP -GR - DEFINES += NOMINMAX - win32-msvc { -- QMAKE_CXXFLAGS *= -EH -FS -+ QMAKE_CXXFLAGS *= -EHs -FS - } else { - QMAKE_CXXFLAGS *= -EHs - } diff --git a/ports/libqglviewer/vcpkg.json b/ports/libqglviewer/vcpkg.json index 0488752923912e..fffe694442cff4 100644 --- a/ports/libqglviewer/vcpkg.json +++ b/ports/libqglviewer/vcpkg.json @@ -1,12 +1,25 @@ { "name": "libqglviewer", - "version-string": "2.7.2", - "port-version": 4, + "version": "2.9.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": "qt5-base", - "default-features": false + "name": "qtbase", + "default-features": false, + "features": [ + "gui", + "opengl", + "widgets" + ] + }, + { + "name": "vcpkg-cmake", + "host": true } ] } diff --git a/ports/libqrencode/portfile.cmake b/ports/libqrencode/portfile.cmake index b65c1db51c59c7..fd5b5aedb879c1 100644 --- a/ports/libqrencode/portfile.cmake +++ b/ports/libqrencode/portfile.cmake @@ -44,6 +44,9 @@ if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/qrencode${EXECUTABLE_SUFFIX}") file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/qrencode") file(RENAME "${CURRENT_PACKAGES_DIR}/bin/qrencode${EXECUTABLE_SUFFIX}" "${CURRENT_PACKAGES_DIR}/tools/qrencode/qrencode${EXECUTABLE_SUFFIX}") vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/qrencode") + if (NOT VCPKG_TARGET_IS_WINDOWS OR VCPKG_LIBRARY_LINKAGE STREQUAL static) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") + endif() endif() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") diff --git a/ports/libqrencode/vcpkg.json b/ports/libqrencode/vcpkg.json index a32d95184f014e..8710bb26fbb8c8 100644 --- a/ports/libqrencode/vcpkg.json +++ b/ports/libqrencode/vcpkg.json @@ -1,7 +1,7 @@ { "name": "libqrencode", "version-semver": "4.1.1", - "port-version": 1, + "port-version": 2, "description": "libqrencode - a fast and compact QR Code encoding library", "homepage": "https://github.com/fukuchi/libqrencode", "dependencies": [ diff --git a/ports/libqtrest/portfile.cmake b/ports/libqtrest/portfile.cmake new file mode 100644 index 00000000000000..f518909e0d44a2 --- /dev/null +++ b/ports/libqtrest/portfile.cmake @@ -0,0 +1,35 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO qtrest/qtrest + REF ${VERSION} + SHA512 2bdbbdde7c4f7a27943c93a2a26abe89e087e6b7c32d0e481422a8ad3e78c66c6921ef00c1cbf17f3b61db8a678685371c819218d10576ac9ec1548262415c04 + HEAD_REF master +) + +if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + set(BUILD_TYPE SHARED) +else() + set(BUILD_TYPE STATIC) +endif() + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + qml WITH_QML_SUPPORT +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_TYPE=${BUILD_TYPE} + -DBUILD_EXAMPLE=0 + ${FEATURE_OPTIONS} +) + +vcpkg_cmake_install() +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") +endif() diff --git a/ports/libqtrest/vcpkg.json b/ports/libqtrest/vcpkg.json new file mode 100644 index 00000000000000..4ba8ac6a47cad0 --- /dev/null +++ b/ports/libqtrest/vcpkg.json @@ -0,0 +1,29 @@ +{ + "name": "libqtrest", + "version": "0.4.0", + "description": "Small and simple REST API (Json/Xml) client for any Qt/QML C++ application", + "homepage": "https://github.com/qtrest/qtrest", + "license": "MIT", + "supports": "!uwp", + "dependencies": [ + { + "name": "qt5-base", + "default-features": false + }, + { + "name": "vcpkg-cmake", + "host": true + } + ], + "features": { + "qml": { + "description": "Enable QML support to compile with required dependencies", + "dependencies": [ + { + "name": "qt5-declarative", + "default-features": false + } + ] + } + } +} diff --git a/ports/librabbitmq/fix-uwpwarning.patch b/ports/librabbitmq/fix-uwpwarning.patch index 89614597000aa0..84a26d5d0ef84c 100644 --- a/ports/librabbitmq/fix-uwpwarning.patch +++ b/ports/librabbitmq/fix-uwpwarning.patch @@ -1,13 +1,28 @@ -diff --git a/librabbitmq/CMakeLists.txt b/librabbitmq/CMakeLists.txt -index bd5369a..f6d703f 100644 ---- a/librabbitmq/CMakeLists.txt -+++ b/librabbitmq/CMakeLists.txt -@@ -113,7 +113,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 7957cfbfd7b0f5..306c1df2704465 100644 --- a/ports/librabbitmq/portfile.cmake +++ b/ports/librabbitmq/portfile.cmake @@ -1,30 +1,32 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO alanxz/rabbitmq-c - REF d416b8b16d196085106cfe137a0ff6919a9f6752 - SHA512 3fc137893fc18509a3e583cc8d40a8e91f219063237b9fd018a65cf14da188914ddba3a031c4bc033a886fed19fc6291d1b28b55458b9163eb6d20425b0474dc + REF "v${VERSION}" + SHA512 18cb429bcfa457e359128bf458c8b9f60b1c929a8ca3a8206f40d6390d7d4c6f4c5140eb7e9ab7b401d035fc48324cbe963d058100ab65ef3faba59e7f95607e HEAD_REF master PATCHES - fix-uwpwarning.patch + fix-uwpwarning.patch ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC) -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +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} ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/rabbitmq-c TARGET_PATH share/rabbitmq-c) +vcpkg_cmake_config_fixup(PACKAGE_NAME rabbitmq-c CONFIG_PATH lib/cmake/rabbitmq-c) + +vcpkg_fixup_pkgconfig() vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig ${CURRENT_PACKAGES_DIR}/lib/pkgconfig) -file(INSTALL ${SOURCE_PATH}/LICENSE-MIT DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/librabbitmq/vcpkg.json b/ports/librabbitmq/vcpkg.json index f79a890baf85cc..9e438f5d35a7fa 100644 --- a/ports/librabbitmq/vcpkg.json +++ b/ports/librabbitmq/vcpkg.json @@ -1,10 +1,18 @@ { "name": "librabbitmq", - "version-string": "2020-06-03", - "port-version": 1, + "version": "0.14.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", "dependencies": [ - "openssl" + "openssl", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/libraqm/CMakeLists.txt b/ports/libraqm/CMakeLists.txt index 9ad1db64a6bc86..5ae36d9d71656e 100644 --- a/ports/libraqm/CMakeLists.txt +++ b/ports/libraqm/CMakeLists.txt @@ -35,4 +35,4 @@ install(TARGETS raqm set(RAQM_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/src") set(RAQM_LIBRARY raqm) set(RAQM_LIBRARIES ${HARFBUZZ_LIBRARY} ${FRIBIDI_LIBRARY} ${RAQM_LIBRARY}) -file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/src/raqm.h ${CMAKE_CURRENT_BINARY_DIR}/src/raqm-version.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) +install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/raqm.h ${CMAKE_CURRENT_BINARY_DIR}/src/raqm-version.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) diff --git a/ports/libraqm/portfile.cmake b/ports/libraqm/portfile.cmake index ad32f08c7cf382..fb94d774d8e958 100644 --- a/ports/libraqm/portfile.cmake +++ b/ports/libraqm/portfile.cmake @@ -1,23 +1,23 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -set(RAQM_VERSION_MAJOR 0) -set(RAQM_VERSION_MINOR 7) -set(RAQM_VERSION_MICRO 0) +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 fe2f5e5707334d72518e720adff4379666ba5c4c045531e92588c5f843d4f56111e7b66ea4e7a061621320fa98f13229624994a950a789a477674d3a359cb58c + SHA512 f79ecdff611512d5446d031e9ee45b8e6a7ed41777a99fb572ddbdc3db33542765fefb7a6c5825998510772cf76e277fe3f24eea45f9e0add20c162d7821eb9a HEAD_REF master ) -file(COPY ${CURRENT_PORT_DIR}/FindFribidi.cmake DESTINATION ${SOURCE_PATH}) -file(COPY ${CURRENT_PORT_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CURRENT_PORT_DIR}/FindFribidi.cmake" DESTINATION "${SOURCE_PATH}") +file(COPY "${CURRENT_PORT_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA OPTIONS -DCURRENT_PACKAGES_DIR=${CURRENT_PACKAGES_DIR} -DRAQM_VERSION_MAJOR=${RAQM_VERSION_MAJOR} @@ -25,9 +25,10 @@ vcpkg_configure_cmake( -DRAQM_VERSION_MICRO=${RAQM_VERSION_MICRO} ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() # Handle copyright -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libraqm RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") + diff --git a/ports/libraqm/vcpkg.json b/ports/libraqm/vcpkg.json index 7e124e8639ccc4..1ac70c3157fe0e 100644 --- a/ports/libraqm/vcpkg.json +++ b/ports/libraqm/vcpkg.json @@ -1,11 +1,12 @@ { "name": "libraqm", - "version-string": "0.7.0", - "port-version": 3, + "version": "0.10.2", "description": "A library for complex text layout", + "homepage": "https://github.com/HOST-Oman/libraqm", "dependencies": [ "freetype", "fribidi", - "harfbuzz" + "harfbuzz", + "vcpkg-cmake" ] } diff --git a/ports/libraw/dependencies.patch b/ports/libraw/dependencies.patch new file mode 100644 index 00000000000000..f25ec96e73efb6 --- /dev/null +++ b/ports/libraw/dependencies.patch @@ -0,0 +1,50 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d3faf24..8833187 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -130,7 +130,10 @@ set(LIBRAW_PC_REQUIRES_PRIVATE "") + if(NOT WIN32 AND NOT EMSCRIPTEN) + FIND_LIBRARY(MATH_LIBRARY m) + if(MATH_LIBRARY) ++ set(MATH_LIBRARY m) + string(APPEND LIBRAW_PC_LIBS_PRIVATE " -l${MATH_LIBRARY}") ++ else() ++ set(MATH_LIBRARY "") + endif() + endif() + +@@ -142,7 +145,11 @@ set(LCMS_FOUND false) + + if(ENABLE_LCMS) + message(STATUS "Check for LCMS2 availability...") +- find_package(LCMS2) ++ find_package(lcms2 CONFIG REQUIRED) ++ set(LCMS2_FOUND 1) ++ set(LCMS2_VERSION 2.14) ++ set(LCMS2_INCLUDE_DIR "") ++ set(LCMS2_LIBRARIES lcms2::lcms2) + 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}) +@@ -188,7 +195,7 @@ MACRO_BOOL_TO_01(ZLIB_FOUND LIBRAW_USE_DNGDEFLATECODEC) + # JPEG library check + find_package(JPEG) + if(JPEG_FOUND) +- if (${JPEG_VERSION} LESS 80) ++ if (${JPEG_VERSION} LESS 80 OR NOT CMAKE_REQUIRE_FIND_PACKAGE_JPEG) + set(JPEG8_FOUND FALSE) + else() + set(JPEG8_FOUND TRUE) +diff --git a/cmake/librawConfig.cmake.in b/cmake/librawConfig.cmake.in +index b1b58d8..dae06cc 100644 +--- a/cmake/librawConfig.cmake.in ++++ b/cmake/librawConfig.cmake.in +@@ -13,7 +13,7 @@ endif() + + if(@LCMS_SUPPORT_CAN_BE_COMPILED@) + if(@LCMS2_FOUND@) +- find_dependency(LCMS2) ++ find_dependency(lcms2 CONFIG) + elseif(@LCMS_FOUND@) + find_dependency(LCMS) + endif() diff --git a/ports/libraw/findlibraw_debug_fix.patch b/ports/libraw/findlibraw_debug_fix.patch deleted file mode 100644 index 294963eb68861d..00000000000000 --- a/ports/libraw/findlibraw_debug_fix.patch +++ /dev/null @@ -1,41 +0,0 @@ ---- a/cmake/modules/FindLibRaw.cmake 2016-11-02 07:09:50.000000000 +0100 -+++ b/cmake/modules/FindLibRaw.cmake 2019-06-03 22:05:28.759307500 +0200 -@@ -31,18 +31,36 @@ - PATH_SUFFIXES libraw - ) - --FIND_LIBRARY(LibRaw_LIBRARIES NAMES raw -+FIND_LIBRARY(LibRaw_LIBRARY_RELEASE NAMES raw - HINTS - ${PC_LIBRAW_LIBDIR} - ${PC_LIBRAW_LIBRARY_DIRS} - ) - --FIND_LIBRARY(LibRaw_r_LIBRARIES NAMES raw_r -+FIND_LIBRARY(LibRaw_LIBRARY_DEBUG NAMES rawd -+ HINTS -+ ${PC_LIBRAW_LIBDIR} -+ ${PC_LIBRAW_LIBRARY_DIRS} -+ ) -+ -+INCLUDE(SelectLibraryConfigurations) -+ -+select_library_configurations(LibRaw) -+ -+FIND_LIBRARY(LibRaw_r_LIBRARY_RELEASE NAMES raw_r - HINTS - ${PC_LIBRAW_R_LIBDIR} - ${PC_LIBRAW_R_LIBRARY_DIRS} - ) - -+FIND_LIBRARY(LibRaw_r_LIBRARY_DEBUG NAMES raw_rd -+ HINTS -+ ${PC_LIBRAW_R_LIBDIR} -+ ${PC_LIBRAW_R_LIBRARY_DIRS} -+ ) -+ -+select_library_configurations(LibRaw_r) -+ - IF(LibRaw_INCLUDE_DIR) - FILE(READ ${LibRaw_INCLUDE_DIR}/libraw_version.h _libraw_version_content) - diff --git a/ports/libraw/fix-install.patch b/ports/libraw/fix-install.patch index 9c10ae4cacccf4..c4facc5c5677a4 100644 --- a/ports/libraw/fix-install.patch +++ b/ports/libraw/fix-install.patch @@ -1,36 +1,39 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 47f3869..136549b 100644 +index e6a70d9..a5c70e7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -544,7 +544,7 @@ SET_TARGET_PROPERTIES(raw_r PROPERTIES OUTPUT_NAME "raw_r") - # -- Files to install ------------------------------------------------------------------------------------- +@@ -629,7 +629,13 @@ if (LIBRAW_INSTALL) + ) - # Configure and install data file for packaging. --IF(NOT WIN32) -+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 lib${LIB_SUFFIX}/pkgconfig) - -@@ -570,8 +570,8 @@ INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/libraw/libraw.h - # Install Shared binary files. - INSTALL(TARGETS raw - RUNTIME DESTINATION bin -- LIBRARY DESTINATION lib${LIB_SUFFIX} -- ARCHIVE DESTINATION lib${LIB_SUFFIX} -+ LIBRARY DESTINATION lib${LIB_SUFFIX}/manual-link -+ ARCHIVE DESTINATION lib${LIB_SUFFIX}/manual-link - ) - - INSTALL(TARGETS raw_r + # Install Shared binary files. +- install(TARGETS raw raw_r ++ install(TARGETS raw ++ EXPORT ${PROJECT_NAME}Targets ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/manual-link ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}/manual-link ++ ) ++ install(TARGETS raw_r + EXPORT ${PROJECT_NAME}Targets + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} +@@ -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) ++ elseif(0) + install(FILES ${PROJECT_BINARY_DIR}/raw.pdb ${PROJECT_BINARY_DIR}/raw_r.pdb + DESTINATION ${CMAKE_INSTALL_LIBDIR} + CONFIGURATIONS Debug RelWithDebInfo diff --git a/cmake/data/libraw.pc.cmake b/cmake/data/libraw.pc.cmake -index aede5f2..ffeefc2 100644 +index 54c5af4..d182680 100644 --- a/cmake/data/libraw.pc.cmake +++ b/cmake/data/libraw.pc.cmake @@ -1,6 +1,6 @@ prefix=@CMAKE_INSTALL_PREFIX@ exec_prefix=${prefix} --libdir=${prefix}/lib@LIB_SUFFIX@ -+libdir=${prefix}/lib@LIB_SUFFIX@/manual-link - includedir=${prefix}/include/libraw +-libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@ ++libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@/manual-link + includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@ Name: @PROJECT_NAME@ diff --git a/ports/libraw/lcms2_debug_fix.patch b/ports/libraw/lcms2_debug_fix.patch deleted file mode 100644 index b0d48edcae9614..00000000000000 --- a/ports/libraw/lcms2_debug_fix.patch +++ /dev/null @@ -1,66 +0,0 @@ ---- a/cmake/modules/FindLCMS2.cmake 2016-11-02 07:09:50.000000000 +0100 -+++ b/cmake/modules/FindLCMS2.cmake 2018-06-02 00:43:27.309100600 +0200 -@@ -13,7 +13,6 @@ - # Redistribution and use is allowed according to the terms of the BSD license. - # For details see the accompanying LICENSE file. - -- - # use pkg-config to get the directories and then use these values - # in the FIND_PATH() and FIND_LIBRARY() calls - if(NOT WIN32) -@@ -29,18 +28,30 @@ - PATH_SUFFIXES lcms2 liblcms2 - ) - --find_library(LCMS2_LIBRARIES NAMES lcms2 liblcms2 lcms-2 liblcms-2 -+include(SelectLibraryConfigurations) -+ -+find_library(LCMS2_LIBRARY_RELEASE NAMES lcms2 liblcms2 lcms-2 liblcms-2 -+ PATHS -+ ${PC_LCMS2_LIBDIR} -+ ${PC_LCMS2_LIBRARY_DIRS} -+ PATH_SUFFIXES lcms2 -+) -+ -+find_library(LCMS2_LIBRARY_DEBUG NAMES lcms2d liblcms2d lcms-2d liblcms-2d - PATHS - ${PC_LCMS2_LIBDIR} - ${PC_LCMS2_LIBRARY_DIRS} - PATH_SUFFIXES lcms2 - ) - --if(LCMS2_INCLUDE_DIR AND LCMS2_LIBRARIES) -+select_library_configurations(LCMS2) -+ -+ -+if(LCMS2_INCLUDE_DIR AND LCMS2_LIBRARY) - set(LCMS2_FOUND TRUE) --else(LCMS2_INCLUDE_DIR AND LCMS2_LIBRARIES) -+else(LCMS2_INCLUDE_DIR AND LCMS2_LIBRARY) - set(LCMS2_FOUND FALSE) --endif(LCMS2_INCLUDE_DIR AND LCMS2_LIBRARIES) -+endif(LCMS2_INCLUDE_DIR AND LCMS2_LIBRARY) - - if(LCMS2_FOUND) - file(READ ${LCMS2_INCLUDE_DIR}/lcms2.h LCMS2_VERSION_CONTENT) -@@ -50,11 +61,11 @@ - if(NOT LCMS2_FIND_QUIETLY) - string(SUBSTRING ${LCMS2_VERSION} 0 1 LCMS2_MAJOR_VERSION) - string(SUBSTRING ${LCMS2_VERSION} 1 2 LCMS2_MINOR_VERSION) -- message(STATUS "Found lcms version ${LCMS2_MAJOR_VERSION}.${LCMS2_MINOR_VERSION}, ${LCMS2_LIBRARIES}") -+ message(STATUS "Found lcms version ${LCMS2_MAJOR_VERSION}.${LCMS2_MINOR_VERSION}, ${LCMS2_LIBRARY}") - endif(NOT LCMS2_FIND_QUIETLY) - else(LCMS2_VERSION_MATCH) - if(NOT LCMS2_FIND_QUIETLY) -- message(STATUS "Found lcms2 but failed to find version ${LCMS2_LIBRARIES}") -+ message(STATUS "Found lcms2 but failed to find version ${LCMS2_LIBRARY}") - endif(NOT LCMS2_FIND_QUIETLY) - set(LCMS2_VERSION NOTFOUND) - endif(LCMS2_VERSION_MATCH) -@@ -68,5 +79,5 @@ - endif(NOT LCMS2_FIND_QUIETLY) - endif(LCMS2_FOUND) - --mark_as_advanced(LCMS2_INCLUDE_DIR LCMS2_LIBRARIES LCMS2_VERSION) -+mark_as_advanced(LCMS2_INCLUDE_DIR LCMS2_LIBRARY LCMS2_VERSION) - diff --git a/ports/libraw/portfile.cmake b/ports/libraw/portfile.cmake index ea5df3b855a139..5a1908e5efda94 100644 --- a/ports/libraw/portfile.cmake +++ b/ports/libraw/portfile.cmake @@ -1,20 +1,19 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO LibRaw/LibRaw - REF d4f05dd1b9b2d44c8f7e82043cbad3c724db2416 - SHA512 5794521f535163afd7815ad005295301c5e0e2f8b2f34ef0a911d9dd1572c1f456b292777548203f9767957a55782b5bc9041c033190d25d1e9b4240d7df32b9 + REF "${VERSION}" + SHA512 c88d02685ac8854ca4f718206ceb95b17abffceee6501390d8447f9e8c78864d1dd0aedbdcf97e600244f97e1a50cbfea21d15a2557710c7d175f61915f9fe37 HEAD_REF master ) vcpkg_from_github( OUT_SOURCE_PATH LIBRAW_CMAKE_SOURCE_PATH REPO LibRaw/LibRaw-cmake - REF a71f3b83ee3dccd7be32f9a2f410df4d9bdbde0a - SHA512 607e6f76bcb57534da4f0c864b7a421f1ed49244468b1b52abe77f65aa599cae80715520b3a951294321b812deffd4f163757c9949f337571aa54f414ccc58a5 + REF eb98e4325aef2ce85d2eb031c2ff18640ca616d3 + SHA512 63e68a4d30286ec3aa97168d46b7a1199268099ae27b61abcc92e93ec30e48d364086227983a1d724415e5f4da44d905422f30192453b95f31040e5f8469c3f9 HEAD_REF master PATCHES - findlibraw_debug_fix.patch - lcms2_debug_fix.patch + dependencies.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 @@ -23,18 +22,28 @@ vcpkg_from_github( file(COPY "${LIBRAW_CMAKE_SOURCE_PATH}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") file(COPY "${LIBRAW_CMAKE_SOURCE_PATH}/cmake" DESTINATION "${SOURCE_PATH}") + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + openmp ENABLE_OPENMP + openmp CMAKE_REQUIRE_FIND_PACKAGE_OpenMP + dng-lossy CMAKE_REQUIRE_FIND_PACKAGE_JPEG +) + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DINSTALL_CMAKE_MODULE_PATH=share/${PORT} + ${FEATURE_OPTIONS} -DENABLE_EXAMPLES=OFF - -DCMAKE_DEBUG_POSTFIX=d + -DCMAKE_REQUIRE_FIND_PACKAGE_Jasper=1 + -DCMAKE_REQUIRE_FIND_PACKAGE_ZLIB=1 + MAYBE_UNUSED_VARIABLES + CMAKE_REQUIRE_FIND_PACKAGE_OpenMP ) vcpkg_cmake_install() - vcpkg_copy_pdbs() - +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake") vcpkg_fixup_pkgconfig() if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") @@ -47,9 +56,18 @@ else() ) endif() -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") +file(COPY "${CURRENT_PACKAGES_DIR}/share/cmake/libraw/FindLibRaw.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/share/cmake" + "${CURRENT_PACKAGES_DIR}/share/doc" +) 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}/COPYRIGHT" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) - +vcpkg_install_copyright(FILE_LIST + "${SOURCE_PATH}/COPYRIGHT" + "${SOURCE_PATH}/LICENSE.LGPL" + "${SOURCE_PATH}/LICENSE.CDDL" +) diff --git a/ports/libraw/usage b/ports/libraw/usage index 6c68aadf3e745f..751277b771af2a 100644 --- a/ports/libraw/usage +++ b/ports/libraw/usage @@ -1,11 +1,7 @@ -The package libraw is compatible with built-in CMake targets: +libraw provides CMake targets: - find_package(LibRaw REQUIRED) - # For non-thread-safe version - target_compile_definitions(main PRIVATE ${LibRaw_DEFINITIONS}) - target_include_directories(main PRIVATE ${LibRaw_INCLUDE_DIR}) - target_link_libraries(main PRIVATE ${LibRaw_LIBRARIES}) - # For thread-safe version - target_compile_definitions(main PRIVATE ${LibRaw_r_DEFINITIONS}) - target_include_directories(main PRIVATE ${LibRaw_INCLUDE_DIR}) - target_link_libraries(main PRIVATE ${LibRaw_r_LIBRARIES}) + find_package(libraw CONFIG REQUIRED) + # non-thread-safe + target_link_libraries(main PRIVATE libraw::raw) + # thread-safe + target_link_libraries(main PRIVATE libraw::raw_r) diff --git a/ports/libraw/vcpkg-cmake-wrapper.cmake b/ports/libraw/vcpkg-cmake-wrapper.cmake index 5a9a047c38ed3e..4d2b9ad1b1f639 100644 --- a/ports/libraw/vcpkg-cmake-wrapper.cmake +++ b/ports/libraw/vcpkg-cmake-wrapper.cmake @@ -1,12 +1,40 @@ -set(LIBRAW_PREV_MODULE_PATH ${CMAKE_MODULE_PATH}) -list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}) +find_library(LibRaw_LIBRARY_RELEASE NAMES raw PATHS "${CMAKE_CURRENT_LIST_DIR}/../../lib/manual-link" NO_DEFAULT_PATH) +find_library(LibRaw_LIBRARY_DEBUG NAMES rawd raw PATHS "${CMAKE_CURRENT_LIST_DIR}/../../debug/lib/manual-link" NO_DEFAULT_PATH) +find_library(LibRaw_r_LIBRARY_RELEASE NAMES raw_r PATHS "${CMAKE_CURRENT_LIST_DIR}/../../lib" NO_DEFAULT_PATH) +find_library(LibRaw_r_LIBRARY_DEBUG NAMES raw_rd raw_r PATHS "${CMAKE_CURRENT_LIST_DIR}/../../debug/lib" NO_DEFAULT_PATH) + +set(LIBRAW_PREV_MODULE_PATH "${CMAKE_MODULE_PATH}") +list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}") _find_package(${ARGS}) set(CMAKE_MODULE_PATH ${LIBRAW_PREV_MODULE_PATH}) -if (@VCPKG_LIBRARY_LINKAGE@ STREQUAL "static") - find_package(Jasper REQUIRED) - if (Jasper_FOUND) +if(NOT LibRaw_r_LIBRARIES STREQUAL "") + if ("@ENABLE_OPENMP@") + find_package(OpenMP REQUIRED) + if (OpenMP_FOUND) + list(APPEND LibRaw_LIBRARIES ${OpenMP_CXX_LIBRARIES}) + list(APPEND LibRaw_r_LIBRARIES ${OpenMP_CXX_LIBRARIES}) + endif() + endif() + + if ("@VCPKG_LIBRARY_LINKAGE@" STREQUAL "static") + find_package(Jasper REQUIRED) list(APPEND LibRaw_LIBRARIES ${JASPER_LIBRARIES}) list(APPEND LibRaw_r_LIBRARIES ${JASPER_LIBRARIES}) - endif () + find_package(lcms2 CONFIG REQUIRED) + list(APPEND LibRaw_LIBRARIES lcms2::lcms2) + list(APPEND LibRaw_r_LIBRARIES lcms2::lcms2) + find_package(ZLIB REQUIRED) + list(APPEND LibRaw_LIBRARIES ${ZLIB_LIBRARIES}) + list(APPEND LibRaw_r_LIBRARIES ${ZLIB_LIBRARIES}) + if("@CMAKE_REQUIRE_FIND_PACKAGE_JPEG@") + find_package(JPEG REQUIRED) + list(APPEND LibRaw_LIBRARIES ${JPEG_LIBRARIES}) + list(APPEND LibRaw_r_LIBRARIES ${JPEG_LIBRARIES}) + endif() + if("@MATH_LIBRARY@") + list(APPEND LibRaw_LIBRARIES @MATH_LIBRARY@) + list(APPEND LibRaw_r_LIBRARIES @MATH_LIBRARY@) + endif() + endif() endif() diff --git a/ports/libraw/vcpkg.json b/ports/libraw/vcpkg.json index 552b4d82e55b05..60d9145c494650 100644 --- a/ports/libraw/vcpkg.json +++ b/ports/libraw/vcpkg.json @@ -1,15 +1,40 @@ { "name": "libraw", - "version-string": "201903", - "port-version": 5, + "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", "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "zlib" + ], + "features": { + "dng-lossy": { + "description": "DNG lossy codec support", + "dependencies": [ + { + "name": "libjpeg-turbo", + "features": [ + "jpeg8" + ] + } + ] + }, + "openmp": { + "description": "Build library with OpenMP support" } - ] + } } diff --git a/ports/librdkafka/lz4.patch b/ports/librdkafka/lz4.patch new file mode 100644 index 00000000000000..29dd1032512804 --- /dev/null +++ b/ports/librdkafka/lz4.patch @@ -0,0 +1,27 @@ +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 a8c181ec543c85..df28a68cb74b91 100644 --- a/ports/librdkafka/portfile.cmake +++ b/ports/librdkafka/portfile.cmake @@ -1,24 +1,29 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO edenhill/librdkafka - REF v1.8.2 - SHA512 8c8ae291129b78e3b8367307ad1b1715af1438cd76d7160d64d13a58adf84c7c9f51efeba4656f55e101c25e4cb744db0d8bb5c01a2decb229e4567d16bdcb22 + REPO confluentinc/librdkafka + REF "v${VERSION}" + SHA512 420cad9650f468528012133398facf0edccb8442b2613d347aa81fbe638f6f47e584372e2c7d420dfe061ba10ad713d0addd7847bafe6c700bd450408153473e HEAD_REF master + PATCHES + lz4.patch ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" RDKAFKA_BUILD_STATIC) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES - lz4 ENABLE_LZ4_EXT + 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 ) vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DRDKAFKA_BUILD_STATIC=${RDKAFKA_BUILD_STATIC} -DRDKAFKA_BUILD_EXAMPLES=OFF @@ -28,7 +33,7 @@ vcpkg_cmake_configure( OPTIONS_DEBUG -DENABLE_SHAREDPTR_DEBUG=ON -DENABLE_DEVEL=ON - -DENABLE_REFCNT_DEBUG=ON + -DENABLE_REFCNT_DEBUG=OFF -DENABLE_SHAREDPTR_DEBUG=ON -DWITHOUT_OPTIMIZATION=ON OPTIONS_RELEASE @@ -43,28 +48,18 @@ vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_cmake_config_fixup( - PACKAGE_NAME RdKafka - CONFIG_PATH lib/cmake/RdKafka -) - -if("lz4" IN_LIST FEATURES) - vcpkg_replace_string( - ${CURRENT_PACKAGES_DIR}/share/rdkafka/RdKafkaConfig.cmake - "find_dependency(LZ4)" - "include(\"\${CMAKE_CURRENT_LIST_DIR}/FindLZ4.cmake\")\n find_dependency(LZ4)" - ) -endif() +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}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/share/rdkafka/FindLZ4.cmake" ) if(VCPKG_LIBRARY_LINKAGE STREQUAL static) foreach(hdr rdkafka.h rdkafkacpp.h) vcpkg_replace_string( - ${CURRENT_PACKAGES_DIR}/include/librdkafka/${hdr} + "${CURRENT_PACKAGES_DIR}/include/librdkafka/${hdr}" "#ifdef LIBRDKAFKA_STATICLIB" "#if 1 // #ifdef LIBRDKAFKA_STATICLIB" ) @@ -72,9 +67,9 @@ 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) +configure_file("${CMAKE_CURRENT_LIST_DIR}/usage" "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" @ONLY) vcpkg_fixup_pkgconfig() diff --git a/ports/librdkafka/vcpkg.json b/ports/librdkafka/vcpkg.json index 75038f4f25484b..0818c1d294f779 100644 --- a/ports/librdkafka/vcpkg.json +++ b/ports/librdkafka/vcpkg.json @@ -1,10 +1,12 @@ { "name": "librdkafka", - "version": "1.8.2", + "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": [ + "lz4", { "name": "vcpkg-cmake", "host": true @@ -15,14 +17,17 @@ } ], "features": { - "lz4": { - "description": "Enable external LZ4 library support", + "curl": { + "description": "Build with curl", "dependencies": [ - "lz4" + "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 new file mode 100644 index 00000000000000..d27d692c42cb59 --- /dev/null +++ b/ports/libredwg/fix_arm64_build.patch @@ -0,0 +1,14 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ec2ec1d..910f61c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -16,6 +16,9 @@ if(MSVC) + else() + set(redwg redwg) + endif() ++if(MSVC AND CMAKE_SYSTEM_PROCESSOR STREQUAL "ARM64") ++ add_compile_options(/Gy) ++endif() + + if (EXISTS ".version") + file(READ .version NL_PACKAGE_VERSION) diff --git a/ports/libredwg/fix_dependency.patch b/ports/libredwg/fix_dependency.patch new file mode 100644 index 00000000000000..fea397b4cdfad2 --- /dev/null +++ b/ports/libredwg/fix_dependency.patch @@ -0,0 +1,26 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2e854f2..ec2ec1d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -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}) + + if(NOT LIBREDWG_LIBONLY) +diff --git a/src/in_json.c b/src/in_json.c +index d66f1ab..724505b 100644 +--- a/src/in_json.c ++++ b/src/in_json.c +@@ -51,7 +51,7 @@ static unsigned int loglevel; + // In strict mode an object or array can't become a key + // In strict mode primitives are: numbers and booleans + #undef JSMN_STRICT +-#include "../jsmn/jsmn.h" ++#include "jsmn.h" + + typedef struct jsmntokens + { diff --git a/ports/libredwg/fix_install.patch b/ports/libredwg/fix_install.patch new file mode 100644 index 00000000000000..fe5a11c37f19f5 --- /dev/null +++ b/ports/libredwg/fix_install.patch @@ -0,0 +1,45 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index cbf9341..2e854f2 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -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}) + +@@ -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}) +@@ -411,6 +413,22 @@ else() + endif() + endif() + install(TARGETS RUNTIME) ++endif() ++ ++include(GNUInstallDirs) ++install( ++ TARGETS ${redwg} ++ EXPORT libredwg-core ++ COMPONENT libredwg ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ PUBLIC_HEADER DESTINATION include/libredwg) ++if(NOT LIBREDWG_LIBONLY) ++ install(TARGETS ${executables_TARGETS} ++ 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 diff --git a/ports/libredwg/portfile.cmake b/ports/libredwg/portfile.cmake new file mode 100644 index 00000000000000..871bc435191ba3 --- /dev/null +++ b/ports/libredwg/portfile.cmake @@ -0,0 +1,53 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO LibreDWG/libredwg + REF "${VERSION}" + SHA512 cf0baf477d053eb6ab2feaeda187f2d92211c7d28aa50318c1c8d7acf1b9c463258fa3a388dddce266bf44e0d4e4cf1bd3aa591c918f8a253515919e5c1b3f57 + HEAD_REF master + PATCHES + fix_install.patch + fix_dependency.patch + fix_arm64_build.patch +) + +# If generate dwg manipulation tools +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + INVERTED_FEATURES + tools LIBREDWG_LIBONLY +) + +# libredwg will read the version +file(WRITE "${SOURCE_PATH}/.version" "${VERSION}") + +# Fix https://github.com/LibreDWG/libredwg/issues/652#issuecomment-1454035167 +vcpkg_replace_string("${SOURCE_PATH}/src/common.h" + [[defined(COMMON_TEST_C)]] + [[(defined COMMON_TEST_C || defined __APPLE__)]] +) +vcpkg_replace_string("${SOURCE_PATH}/src/common.c" + [[defined(COMMON_TEST_C)]] + [[(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() +vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() + +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-libredwg CONFIG_PATH share/unofficial-libredwg) + +if("tools" IN_LIST FEATURES) + vcpkg_copy_tools(TOOL_NAMES dwg2dxf dwg2SVG dwgbmp dwggrep dwglayers dwgread dwgrewrite dwgwrite dxf2dwg AUTO_CLEAN) +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}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/libredwg/usage b/ports/libredwg/usage new file mode 100644 index 00000000000000..7b146681cce1d5 --- /dev/null +++ b/ports/libredwg/usage @@ -0,0 +1,4 @@ +libredwg provides CMake targets: + + find_package(unofficial-libredwg CONFIG REQUIRED) + target_link_libraries(main unofficial::libredwg::libredwg) diff --git a/ports/libredwg/vcpkg.json b/ports/libredwg/vcpkg.json new file mode 100644 index 00000000000000..f80def808bbfeb --- /dev/null +++ b/ports/libredwg/vcpkg.json @@ -0,0 +1,25 @@ +{ + "name": "libredwg", + "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/", + "license": "GPL-3.0", + "supports": "!xbox", + "dependencies": [ + "jsmn", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "tools": { + "description": "Build dwg/dxf manipulation command-line tools" + } + } +} diff --git a/ports/libremidi/portfile.cmake b/ports/libremidi/portfile.cmake new file mode 100644 index 00000000000000..23bfa2103f4838 --- /dev/null +++ b/ports/libremidi/portfile.cmake @@ -0,0 +1,27 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO jcelerier/libremidi + REF "v${VERSION}" + SHA512 4ba9d06a171dc29c393d5401661cbefbd5cdcc00ae8a02cb64345367b829ea49b109056167ea86c0f85e1d4f6ce9a01be89c988f03dc90f02ae4943d13b74845 + HEAD_REF master +) + +vcpkg_list(SET options) +if(VCPKG_TARGET_IS_LINUX) + vcpkg_list(APPEND options -DLIBREMIDI_NO_ALSA=OFF) +else() + vcpkg_list(APPEND options -DLIBREMIDI_NO_ALSA=ON) +endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${options} + -DLIBREMIDI_NO_BOOST=ON + -DLIBREMIDI_NO_JACK=ON +) +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.md") diff --git a/ports/libremidi/vcpkg.json b/ports/libremidi/vcpkg.json new file mode 100644 index 00000000000000..5075c4ebbb9230 --- /dev/null +++ b/ports/libremidi/vcpkg.json @@ -0,0 +1,21 @@ +{ + "name": "libremidi", + "version": "4.5.0", + "description": "A modern C++ MIDI real-time & file I/O library", + "homepage": "https://github.com/jcelerier/libremidi", + "license": "BSD-2-Clause", + "dependencies": [ + { + "name": "alsa", + "platform": "linux" + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "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 53083d314e8229..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 3c80458..e8d3bf5 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/strtonum.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 PRIVATE . ./compat ../../include/compat) - target_link_libraries(ocspcheck tls ${OPENSSL_LIBS}) - -@@ -28,5 +40,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 index 79d756622b42b4..28d76c9aa81143 100644 --- a/ports/libressl/0002-suppress-msvc-warnings.patch +++ b/ports/libressl/0002-suppress-msvc-warnings.patch @@ -1,47 +1,45 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index a6a7554..b20fd4b 100644 +index 2f0dfa0..594c56f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -111,6 +111,11 @@ if(WIN32) - set(PLATFORM_LIBS ${PLATFORM_LIBS} ws2_32 bcrypt) +@@ -136,6 +136,10 @@ if(WIN32) + endif() + set(PLATFORM_LIBS ${PLATFORM_LIBS} ws2_32 ntdll 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) +@@ -149,16 +153,29 @@ if(MSVC) "C4127" # conditional expression is constant "C4146" # unary minus operator applied to unsigned type, - # result still unsigned + # result still unsigned + "C4242" # 'identifier' : conversion from 'type1' to 'type2', -+ # possible loss of data ++ # possible loss of data "C4244" # 'argument' : conversion from 'type1' to 'type2', - # possible loss of data + # possible loss of data "C4245" # 'conversion' : conversion from 'type1' to 'type2', - # signed/unsigned mismatch + # signed/unsigned mismatch + "C4255" # 'function' : no function prototype given: -+ # converting '()' to '(void)' ++ # converting '()' to '(void)' "C4267" # 'var' : conversion from 'size_t' to 'type', - # possible loss of data + # 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' ++ # 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 + # Instead, use the ISO C and C++ conformant name + "C5045" # Compiler will insert Spectre mitigation for memory load -+ # if /Qspectre switch specified ++ # 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..71381cdc53e697 --- /dev/null +++ b/ports/libressl/pkgconfig.diff @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2172a48..e7458fd 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -529,7 +529,7 @@ if(ENABLE_LIBRESSL_INSTALL) + endif() + + if(ENABLE_LIBRESSL_INSTALL) +- 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 32ca4d767919e4..3aa0716aaf7721 100644 --- a/ports/libressl/portfile.cmake +++ b/ports/libressl/portfile.cmake @@ -1,28 +1,21 @@ 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_fail_port_install(ON_ARCH "arm" ON_TARGET "uwp") - -set(LIBRESSL_VERSION 3.3.4) -set(LIBRESSL_HASH 11defdde8169d3653c24e149e698ffc5a8ead5ac0808111d1986cb11ef72e9912c463d4891d4635877021e73a8a045dbdbe5e83ec785a59150f170d2ca2031de) - vcpkg_download_distfile( LIBRESSL_SOURCE_ARCHIVE - URLS https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/${PORT}-${LIBRESSL_VERSION}.tar.gz https://ftp.fau.de/openbsd/LibreSSL/${PORT}-${LIBRESSL_VERSION}.tar.gz - FILENAME ${PORT}-${LIBRESSL_VERSION}.tar.gz - SHA512 ${LIBRESSL_HASH} + URLS "https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/${PORT}-${VERSION}.tar.gz" + "https://ftp.fau.de/openbsd/LibreSSL/${PORT}-${VERSION}.tar.gz" + FILENAME "${PORT}-${VERSION}.tar.gz" + SHA512 b7b9f47c77fd27787b7c7ae7e78cd831fe9f7f32e280f54952994569bfe69ff03022e349aea9ea734c50b079693c6e15a3c1115ef0093e523437904074da5784 ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH +vcpkg_extract_source_archive( + SOURCE_PATH ARCHIVE "${LIBRESSL_SOURCE_ARCHIVE}" - REF ${LIBRESSL_VERSION} PATCHES - 0001-enable-ocspcheck-on-msvc.patch 0002-suppress-msvc-warnings.patch + pkgconfig.diff ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS @@ -34,39 +27,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() - -file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) - -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}") - execute_process(COMMAND "${CMAKE_COMMAND}" -E create_symlink "${LIB}" "${LINK}") - endforeach() -endif() +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") 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 ff08a3b587b5e4..00effcc9d0a911 100644 --- a/ports/libressl/vcpkg.json +++ b/ports/libressl/vcpkg.json @@ -1,8 +1,14 @@ { "name": "libressl", - "version": "3.3.4", - "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.", - "supports": "!(uwp | arm)", + "version": "3.9.2", + "port-version": 2, + "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", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/librsvg/CMakeLists.txt b/ports/librsvg/CMakeLists.txt index 13c3194863d78c..630dc443bd9657 100644 --- a/ports/librsvg/CMakeLists.txt +++ b/ports/librsvg/CMakeLists.txt @@ -1,13 +1,14 @@ cmake_minimum_required(VERSION 3.11) project(librsvg C) -find_package(unofficial-libcroco CONFIG REQUIRED) find_package(PkgConfig REQUIRED) -pkg_check_modules(GLIB2 glib-2.0 gobject-2.0 gmodule-2 gio-2 IMPORTED_TARGET) +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() @@ -15,8 +16,38 @@ else() set(PANGO_FT2_LIB PkgConfig::PANGO2) endif() -# Add include directories -include_directories(${CAIRO_INCLUDE_DIRS} ${GDK_PIXBUF_INCLUDE_DIRS} ${GLIB2_INCLUDE_DIRS} ${PANGO_INCLUDE_DIRS} ${PANGO2_INCLUDE_DIRS}) +set(RSVG_API_MAJOR_VERSION 2) +set(RSVG_API_VERSION "2.0") +Set(VERSION "2.40.20") +set(LIBRSVG_TARGET "rsvg-${RSVG_API_MAJOR_VERSION}") + +Set(prefix "${CMAKE_INSTALL_PREFIX}") +Set(exec_prefix "\${prefix}") +Set(libdir "\${prefix}/lib") +Set(includedir "\${prefix}/include") + +# Public required modules (cf. headers and librsvg.pc) +set(librsvg_pc_requires glib-2.0 gio-2.0 gdk-pixbuf-2.0 cairo) +# Other required modules from configure.ac +set(librsvg_pc_requires_private + libxml-2.0 + pangocairo + pangoft2 + cairo-png + libcroco-0.6 + gthread-2.0 + gmodule-2.0 + gobject-2.0 + gio-unix-2.0 + fontconfig +) +if(WIN32) + string(REPLACE "gio-unix" "gio-windows" librsvg_pc_requires_private "${librsvg_pc_requires_private}") +endif() + +find_package(PkgConfig REQUIRED) +pkg_check_modules(LIBRSVG_LINK_PUBLIC ${librsvg_pc_requires} IMPORTED_TARGET REQUIRED) +pkg_check_modules(LIBRSVG_LINK_PRIVATE ${librsvg_pc_requires_private} IMPORTED_TARGET REQUIRED) set(LIBRSVG_SOURCES librsvg-features.c @@ -71,79 +102,98 @@ set(LIBRSVG_SOURCES librsvg-enum-types.h ) -set(PIXBUFLOADERSVG_SOURCES - gdk-pixbuf-loader/io-svg.c -) - if(WIN32) - configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config.h.win32 ${CMAKE_CURRENT_SOURCE_DIR}/config.h COPYONLY) - add_custom_command(OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/rsvg.def - COMMAND echo "EXPORTS" > ${CMAKE_CURRENT_SOURCE_DIR}/rsvg.def - COMMAND ${CMAKE_C_COMPILER} /EP ${CMAKE_CURRENT_SOURCE_DIR}/rsvg.symbols >> ${CMAKE_CURRENT_SOURCE_DIR}/rsvg.def) - list(APPEND LIBRSVG_SOURCES rsvg.def) + configure_file("${CMAKE_CURRENT_SOURCE_DIR}/config.h.win32" "${CMAKE_CURRENT_BINARY_DIR}/config.h" COPYONLY) + file(READ "${CMAKE_CURRENT_SOURCE_DIR}/rsvg.symbols" rsvg_symbols) + string(REGEX REPLACE "/[*][^*]*[*]/" "" rsvg_symbols "${rsvg_symbols}") + file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/rsvg.def" "EXPORTS\n${rsvg_symbols}") + list(APPEND LIBRSVG_SOURCES "${CMAKE_CURRENT_BINARY_DIR}/rsvg.def") else() - configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config.h.linux ${CMAKE_CURRENT_SOURCE_DIR}/config.h COPYONLY) + configure_file("${CMAKE_CURRENT_SOURCE_DIR}/config.h.linux" "${CMAKE_CURRENT_BINARY_DIR}/config.h" COPYONLY) list(APPEND LIBRSVG_SOURCES rsvg.symbols) endif() -add_library(rsvg-2.40 ${LIBRSVG_SOURCES}) -add_library(pixbufloader-svg ${PIXBUFLOADERSVG_SOURCES}) - -target_compile_definitions(rsvg-2.40 PRIVATE -DRSVG_COMPILATION -D_CRT_SECURE_NO_WARNINGS -DSRCDIR="${CMAKE_CURRENT_SOURCE_DIR}") - -target_include_directories(pixbufloader-svg PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}) -target_compile_definitions(pixbufloader-svg PRIVATE - -DRSVG_COMPILATION +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") + -DG_LOG_DOMAIN="libpixbufloader-svg" + -DSRCDIR="" + $<$:HAVE_STRTOK_R> +) -target_link_libraries(rsvg-2.40 PRIVATE +target_link_libraries(${LIBRSVG_TARGET} PRIVATE PkgConfig::GLIB2 ${LIBXML2_LIBRARIES} PkgConfig::PANGO PkgConfig::GDK_PIXBUF ${PANGO_FT2_LIB} - unofficial::libcroco::croco-0.6 -) -target_link_libraries(pixbufloader-svg PRIVATE - rsvg-2.40 - PkgConfig::GLIB2 - PkgConfig::GDK_PIXBUF + PkgConfig::LIBCROCO ) -install(TARGETS rsvg-2.40 pixbufloader-svg - EXPORT librsvg-targets +target_include_directories(${LIBRSVG_TARGET} + PRIVATE + "${CMAKE_CURRENT_BINARY_DIR}" + PUBLIC + "$" + "$" +) +target_link_libraries(${LIBRSVG_TARGET} + PUBLIC + PkgConfig::LIBRSVG_LINK_PUBLIC + PRIVATE + PkgConfig::LIBRSVG_LINK_PRIVATE +) +install(TARGETS ${LIBRSVG_TARGET} RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib ) - install( - EXPORT librsvg-targets - NAMESPACE unofficial::librsvg:: - FILE unofficial-librsvg-targets.cmake - DESTINATION share/unofficial-librsvg + FILES + rsvg.h + rsvg-cairo.h + librsvg-features.h + librsvg-enum-types.h + DESTINATION include/librsvg-${RSVG_API_VERSION}/librsvg ) -install(FILES - rsvg.h - rsvg-cairo.h - librsvg-features.h - librsvg-enum-types.h - DESTINATION include/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) + +set(PIXBUFLOADERSVG_SOURCES + gdk-pixbuf-loader/io-svg.c ) -file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/unofficial-librsvg-config.cmake " -include(CMakeFindDependencyMacro) -find_dependency(PkgConfig) -pkg_check_modules(GLIB2 glib-2.0 gobject-2.0 gmodule-2 gio-2 IMPORTED_TARGET) -pkg_check_modules(CAIRO cairo IMPORTED_TARGET) -pkg_check_modules(GDK_PIXBUF gdk-pixbuf IMPORTED_TARGET) -pkg_check_modules(PANGO pango pangocairo IMPORTED_TARGET) -find_dependency(unofficial-libcroco CONFIG) +add_library(pixbufloader-svg MODULE ${PIXBUFLOADERSVG_SOURCES}) +target_include_directories(pixbufloader-svg + PRIVATE + "${CMAKE_CURRENT_BINARY_DIR}" + "${CMAKE_CURRENT_SOURCE_DIR}" +) +target_compile_definitions(pixbufloader-svg PRIVATE + -DRSVG_COMPILATION + -D_CRT_SECURE_NO_WARNINGS + -DSRCDIR="" + -DGDK_PIXBUF_ENABLE_BACKEND + -DG_LOG_DOMAIN="libpixbufloader-svg" +) +target_link_libraries(pixbufloader-svg + PRIVATE + ${LIBRSVG_TARGET} + PkgConfig::GDK_PIXBUF +) +install(TARGETS pixbufloader-svg + RUNTIME DESTINATION "${GDK_PIXBUF_MODULEDIR}" + LIBRARY DESTINATION "${GDK_PIXBUF_MODULEDIR}" +) -include(\${CMAKE_CURRENT_LIST_DIR}/unofficial-librsvg-targets.cmake) -") -install(FILES ${CMAKE_CURRENT_BINARY_DIR}/unofficial-librsvg-config.cmake DESTINATION share/unofficial-librsvg) +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) +string(REPLACE "Requires.private:" "Requires.private: ${requires_private}" librsvg_pc "${librsvg_pc}") +file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/librsvg.pc" "${librsvg_pc}") +install(FILES "${CMAKE_CURRENT_BINARY_DIR}/librsvg.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig" RENAME "librsvg-${RSVG_API_VERSION}.pc") diff --git a/ports/librsvg/portfile.cmake b/ports/librsvg/portfile.cmake index 8e47fada4ce22f..5252b6547f6cc8 100644 --- a/ports/librsvg/portfile.cmake +++ b/ports/librsvg/portfile.cmake @@ -1,33 +1,40 @@ # port update requires rust/cargo +string(REGEX REPLACE "^([0-9]*[.][0-9]*)[.].*" "\\1" MAJOR_MINOR "${VERSION}") vcpkg_download_distfile(ARCHIVE - URLS "https://download.gnome.org/sources/librsvg/2.40/librsvg-2.40.20.tar.xz" - FILENAME "librsvg-2.40.20.tar.xz" + 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 ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" ) -file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -configure_file("${CMAKE_CURRENT_LIST_DIR}/config.h.linux" "${SOURCE_PATH}/config.h.linux" COPYONLY) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" "${CMAKE_CURRENT_LIST_DIR}/config.h.linux" DESTINATION "${SOURCE_PATH}") vcpkg_find_acquire_program(PKGCONFIG) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - DISABLE_PARALLEL_CONFIGURE OPTIONS - -DPKG_CONFIG_EXECUTABLE=${PKGCONFIG} + "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}" ) vcpkg_cmake_install() - vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() -vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-librsvg CONFIG_PATH share/unofficial-librsvg) +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + file(GLOB_RECURSE pc_files "${CURRENT_PACKAGES_DIR}/*.pc") + foreach(pc_file IN LISTS pc_files) + vcpkg_replace_string("${pc_file}" " -lm" "") + endforeach() +endif() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) \ No newline at end of file +file(COPY "${CURRENT_PORT_DIR}/unofficial-librsvg-config.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/unofficial-librsvg") +file(COPY "${CURRENT_PORT_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/librsvg/unofficial-librsvg-config.cmake b/ports/librsvg/unofficial-librsvg-config.cmake new file mode 100644 index 00000000000000..6bff45d87b188c --- /dev/null +++ b/ports/librsvg/unofficial-librsvg-config.cmake @@ -0,0 +1,14 @@ +file(READ "${CMAKE_CURRENT_LIST_DIR}/../librsvg/usage" usage) +message(WARNING "find_package(unofficial-librsvg) is deprecated.\n${usage}") + +include(CMakeFindDependencyMacro) +find_dependency(PkgConfig) +pkg_check_modules(VCPKG_LIBRSVG librsvg-2.0 IMPORTED_TARGET) +if(NOT VCPKG_LIBRSVG_FOUND) + set(${CMAKE_FIND_PACKAGE_NAME}_FOUND 0) +elseif(NOT TARGET unofficial::librsvg::rsvg-2) + add_library(unofficial::librsvg::rsvg-2 INTERFACE IMPORTED) + set_target_properties(unofficial::librsvg::rsvg-2 PROPERTIES + INTERFACE_LINK_LIBRARIES PkgConfig::VCPKG_LIBRSVG + ) +endif() diff --git a/ports/librsvg/usage b/ports/librsvg/usage new file mode 100644 index 00000000000000..22bfe67e7fcf31 --- /dev/null +++ b/ports/librsvg/usage @@ -0,0 +1,5 @@ +librsvg can be imported via CMake FindPkgConfig module: + + find_package(PkgConfig REQUIRED) + pkg_check_modules(LIBRSVG librsvg-2.0 IMPORTED_TARGET REQUIRED) + target_link_libraries(main PRIVATE PkgConfig::LIBRSVG) diff --git a/ports/librsvg/vcpkg.json b/ports/librsvg/vcpkg.json index eea2a5efde40ec..dbf64aae02e00c 100644 --- a/ports/librsvg/vcpkg.json +++ b/ports/librsvg/vcpkg.json @@ -1,20 +1,23 @@ { "name": "librsvg", "version": "2.40.20", - "port-version": 5, + "port-version": 11, "description": "A small library to render Scalable Vector Graphics (SVG)", "homepage": "https://gitlab.gnome.org/GNOME/librsvg", + "license": "LGPL-2.0-or-later", "dependencies": [ "cairo", + "fontconfig", "gdk-pixbuf", + "glib", "libcroco", - "pango", { - "name": "vcpkg-cmake", - "host": true + "name": "libxml2", + "default-features": false }, + "pango", { - "name": "vcpkg-cmake-config", + "name": "vcpkg-cmake", "host": true } ] diff --git a/ports/librsync/portfile.cmake b/ports/librsync/portfile.cmake index e9bb64ab9cad2a..663e47b1d2cc0a 100644 --- a/ports/librsync/portfile.cmake +++ b/ports/librsync/portfile.cmake @@ -1,19 +1,17 @@ -vcpkg_fail_port_install(ON_TARGET "uwp") - 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 ) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - OPTIONS - -DBUILD_RDIFF:BOOL=OFF + OPTIONS + -DBUILD_RDIFF:BOOL=OFF -DENABLE_COMPRESSION:BOOL=OFF -DENABLE_TRACE:BOOL=OFF ) diff --git a/ports/librsync/vcpkg.json b/ports/librsync/vcpkg.json index 34aafdb9bcadf4..0287ac3c258d16 100644 --- a/ports/librsync/vcpkg.json +++ b/ports/librsync/vcpkg.json @@ -1,6 +1,6 @@ { "name": "librsync", - "version-semver": "2.3.2", + "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 9751f3d735212b..c9f77f16bbf63d 100644 --- a/ports/librtmp/CMakeLists.txt +++ b/ports/librtmp/CMakeLists.txt @@ -40,6 +40,7 @@ set(SRCS librtmp/amf.c if(MSVC) set(SRCS_MSVC "librtmp/librtmp.def") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /wd4996") endif() add_library(librtmp ${SRCS} ${HEADERS} ${SRCS_MSVC}) diff --git a/ports/librtmp/portfile.cmake b/ports/librtmp/portfile.cmake index 05a59fe34d593a..657517efa05e25 100644 --- a/ports/librtmp/portfile.cmake +++ b/ports/librtmp/portfile.cmake @@ -11,20 +11,19 @@ vcpkg_from_github( hide_netstackdump.patch ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/librtmp.def DESTINATION ${SOURCE_PATH}/librtmp) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") +file(COPY "${CMAKE_CURRENT_LIST_DIR}/librtmp.def" DESTINATION "${SOURCE_PATH}/librtmp") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") # License and man -file(INSTALL ${SOURCE_PATH}/librtmp/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/librtmp RENAME copyright) -file(INSTALL ${SOURCE_PATH}/librtmp/librtmp.3.html DESTINATION ${CURRENT_PACKAGES_DIR}/share/librtmp) +file(INSTALL "${SOURCE_PATH}/librtmp/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +file(INSTALL "${SOURCE_PATH}/librtmp/librtmp.3.html" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") vcpkg_copy_pdbs() diff --git a/ports/librtmp/vcpkg.json b/ports/librtmp/vcpkg.json index f917042067e214..7998d955a8b30a 100644 --- a/ports/librtmp/vcpkg.json +++ b/ports/librtmp/vcpkg.json @@ -1,11 +1,15 @@ { "name": "librtmp", "version-date": "2019-11-11", - "port-version": 2, + "port-version": 4, "description": "RTMPDump Real-Time Messaging Protocol API", "homepage": "https://rtmpdump.mplayerhq.hu", "dependencies": [ "openssl", + { + "name": "vcpkg-cmake", + "host": true + }, "zlib" ] } 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/portfile.cmake b/ports/librttopo/portfile.cmake index 1024f3af5c390f..a7470eb6d389b2 100644 --- a/ports/librttopo/portfile.cmake +++ b/ports/librttopo/portfile.cmake @@ -8,9 +8,9 @@ vcpkg_download_distfile(ARCHIVE SHA512 ${LIBRTTOPO_PACKAGE_SUM} ) -vcpkg_extract_source_archive_ex( +vcpkg_extract_source_archive( + SOURCE_PATH ARCHIVE "${ARCHIVE}" - OUT_SOURCE_PATH SOURCE_PATH PATCHES fix-makefiles.patch geos-config.patch @@ -27,6 +27,7 @@ if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) vcpkg_build_nmake( SOURCE_PATH "${SOURCE_PATH}" TARGET librttopo.lib + CL_LANGUAGE C OPTIONS "OPTFLAGS=${OPTFLAGS}" "CFLAGS=-I. -Iheaders ${OPTFLAGS}" diff --git a/ports/librttopo/vcpkg.json b/ports/librttopo/vcpkg.json index 73e72959b3700c..de9fb5178ded19 100644 --- a/ports/librttopo/vcpkg.json +++ b/ports/librttopo/vcpkg.json @@ -1,9 +1,10 @@ { "name": "librttopo", "version": "1.1.0", - "port-version": 5, + "port-version": 8, "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", "dependencies": [ "geos" ] diff --git a/ports/libsamplerate/portfile.cmake b/ports/libsamplerate/portfile.cmake index a6a76490f017b7..c75af148f67c03 100644 --- a/ports/libsamplerate/portfile.cmake +++ b/ports/libsamplerate/portfile.cmake @@ -6,22 +6,22 @@ vcpkg_from_github( HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_TESTING=OFF -DLIBSAMPLERATE_EXAMPLES=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/SampleRate TARGET_PATH share/SampleRate) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/SampleRate PACKAGE_NAME SampleRate) 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/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/doc") -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/libsamplerate/vcpkg.json b/ports/libsamplerate/vcpkg.json index aec150fb99ad72..396a08aac8a993 100644 --- a/ports/libsamplerate/vcpkg.json +++ b/ports/libsamplerate/vcpkg.json @@ -1,6 +1,18 @@ { "name": "libsamplerate", - "version-string": "0.2.2", + "version": "0.2.2", + "port-version": 1, "description": "Sample Rate Converter for audio", - "homepage": "http://libsndfile.github.io/libsamplerate/" + "homepage": "http://libsndfile.github.io/libsamplerate/", + "license": "BSD-2-Clause", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/libsass/portfile.cmake b/ports/libsass/portfile.cmake index 9195b45628ad64..8651e7daa94d08 100644 --- a/ports/libsass/portfile.cmake +++ b/ports/libsass/portfile.cmake @@ -1,10 +1,8 @@ -vcpkg_fail_port_install(ON_TARGET "uwp") - 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 1b7f9e1ce8c3ff..afd05470558128 100644 --- a/ports/libsass/vcpkg.json +++ b/ports/libsass/vcpkg.json @@ -1,6 +1,6 @@ { "name": "libsass", - "version": "3.6.5", + "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 new file mode 100644 index 00000000000000..1f54a0400bfce5 --- /dev/null +++ b/ports/libsbml/dependencies.diff @@ -0,0 +1,131 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a8af3a4..3926b68 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -421,8 +421,9 @@ set(LIBSBML_XML_LIBRARY_LIBS) + if(WITH_EXPAT) + + if(NOT TARGET EXPAT::EXPAT) +- find_package(EXPAT REQUIRED) + endif() ++ find_package(EXPAT NAMES expat REQUIRED) ++ set(EXPAT_LIBRARY expat::expat) + + add_definitions( -DUSE_EXPAT ) + list(APPEND SWIG_EXTRA_ARGS -DUSE_EXPAT) +@@ -443,7 +444,8 @@ endif(WITH_EXPAT) + set(USE_LIBXML OFF) + if(WITH_LIBXML) + +- find_package(LIBXML REQUIRED) ++ find_package(LIBXML NAMES LibXml2 REQUIRED) ++ set(LIBXML_LIBRARY LibXml2::LibXml2) + + add_definitions( -DUSE_LIBXML ) + list(APPEND SWIG_EXTRA_ARGS -DUSE_LIBXML) +@@ -495,7 +497,7 @@ endif() + option(WITH_BZIP2 "Enable the use of bzip2 compression." ${BZIP_INITIAL_VALUE}) + set(USE_BZ2 OFF) + if(WITH_BZIP2) +- find_package(BZ2 REQUIRED) ++ find_package(BZip2 REQUIRED) + set(USE_BZ2 ON) + add_definitions( -DUSE_BZ2 ) + list(APPEND SWIG_EXTRA_ARGS -DUSE_BZ2) +@@ -521,6 +525,9 @@ Separate multiple directories using semicolons." ) + # Locate zlib + # + ++if(WITH_ZLIB) ++ find_package(ZLIB REQUIRED) ++endif() + 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.") + endif(WITH_ZLIB) + + # install find scripts only for used dependencies +-install(FILES ${LIBSBML_FIND_MODULES} DESTINATION share/cmake/Modules) + + ############################################################################### + # +@@ -671,7 +677,12 @@ if(WITH_CHECK) + + enable_testing() + +- find_package(CHECK REQUIRED) ++ find_package(CHECK NAMES check REQUIRED) ++ if(BUILD_SHARED_LIBS) ++ add_library(CHECK::CHECK ALIAS Check::checkShared) ++ else() ++ add_library(CHECK::CHECK ALIAS Check::check) ++ endif() + + if (UNIX) + # setup valgrind +@@ -1005,17 +1016,18 @@ install(FILES ${DOCUMENTATION_FILES} DESTINATION ${MISC_PREFIX}) + # + + set (PRIVATE_LIBS "-lstdc++ -lm") ++set (PRIVATE_REQUIRES "") + if (WITH_ZLIB) +-set (PRIVATE_LIBS "${LIBZ_LIBRARY} ${PRIVATE_LIBS}") ++ string(APPEND PRIVATE_REQUIRES " zlib") + endif() + if (WITH_BZIP2) +-set (PRIVATE_LIBS "${LIBBZ_LIBRARY} ${PRIVATE_LIBS}") ++ string(APPEND PRIVATE_REQUIRES " bzip2") + endif() + if (WITH_LIBXML) +-set (PRIVATE_LIBS "${LIBXML_LIBRARY} ${PRIVATE_LIBS}") ++ string(APPEND PRIVATE_REQUIRES " libxml-2.0") + endif() + if (WITH_EXPAT) +-set (PRIVATE_LIBS "${LIBEXPAT_LIBRARY} ${PRIVATE_LIBS}") ++ string(APPEND PRIVATE_REQUIRES " expat") + endif() + if (WITH_XERCES) + set (PRIVATE_LIBS "${XERCES_LIBRARY} ${PRIVATE_LIBS}") +@@ -1037,9 +1049,7 @@ if (WITH_XERCES) + file(APPEND "${CMAKE_CURRENT_BINARY_DIR}/libsbml.pc" "Conflicts: xerces-c = 2.6.0\n") + endif() + +-if (WITH_LIBXML) +-file(APPEND "${CMAKE_CURRENT_BINARY_DIR}/libsbml.pc" "Requires.private: libxml-2.0 >= 2.6.22\n") +-endif() ++file(APPEND "${CMAKE_CURRENT_BINARY_DIR}/libsbml.pc" "Requires.private: ${PRIVATE_REQUIRES}\n") + + if (UNIX OR MINGW) + install(FILES "${CMAKE_CURRENT_BINARY_DIR}/libsbml.pc" +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 79301a6..0957d29 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -311,7 +311,7 @@ if(WITH_BZIP2) + sbml/compress/bzfstream.h + sbml/compress/bzfstream.cpp + ) +- set(LIBSBML_LIBS ${LIBSBML_LIBS} BZ2::BZ2) ++ set(LIBSBML_LIBS ${LIBSBML_LIBS} BZip2::BZip2) + + endif() + +@@ -405,7 +405,7 @@ if(WITH_EXPAT) + sbml/xml/ExpatHandler.h + sbml/xml/ExpatParser.h + ) +- set(LIBSBML_LIBS ${LIBSBML_LIBS} EXPAT::EXPAT) ++ set(LIBSBML_LIBS ${LIBSBML_LIBS} expat::expat) + + endif(WITH_EXPAT) + +@@ -423,7 +423,7 @@ if(WITH_LIBXML) + sbml/xml/LibXMLParser.h + sbml/xml/LibXMLTranscode.h + ) +- set(LIBSBML_LIBS ${LIBSBML_LIBS} LIBXML::LIBXML) ++ set(LIBSBML_LIBS ${LIBSBML_LIBS} LibXml2::LibXml2) + + endif(WITH_LIBXML) + diff --git a/ports/libsbml/dirent.diff b/ports/libsbml/dirent.diff new file mode 100644 index 00000000000000..538bca3fdd482c --- /dev/null +++ b/ports/libsbml/dirent.diff @@ -0,0 +1,28 @@ +diff --git a/src/sbml/validator/test/tps/dirent.c b/src/sbml/validator/test/tps/dirent.c +index beafc5e..48a60ca 100644 +--- a/src/sbml/validator/test/tps/dirent.c ++++ b/src/sbml/validator/test/tps/dirent.c +@@ -1,3 +1,4 @@ ++#if 0 + /* ///////////////////////////////////////////////////////////////////////////// + * File: dirent.c + * +@@ -239,3 +240,4 @@ struct dirent *readdir(DIR *dir) + } + + /* ////////////////////////////////////////////////////////////////////////// */ ++#endif +diff --git a/src/sbml/validator/test/tps/dirent.h b/src/sbml/validator/test/tps/dirent.h +index 4703aa2..8e4c29c 100644 +--- a/src/sbml/validator/test/tps/dirent.h ++++ b/src/sbml/validator/test/tps/dirent.h +@@ -46,6 +46,9 @@ + + #ifndef SYNSOFT_UNIXEM_INCL_H_DIRENT + #define SYNSOFT_UNIXEM_INCL_H_DIRENT ++#include ++#endif ++#if 0 + + #ifndef _SYNSOFT_DOCUMENTATION_SKIP_SECTION + # define SYNSOFT_UNIXEM_VER_H_DIRENT_MAJOR 2 diff --git a/ports/libsbml/libsbml-config.cmake b/ports/libsbml/libsbml-config.cmake new file mode 100644 index 00000000000000..c0cd40a1d34fea --- /dev/null +++ b/ports/libsbml/libsbml-config.cmake @@ -0,0 +1,6 @@ +include(CMakeFindDependencyMacro) +find_dependency(@name@ CONFIG) +if(NOT TARGET libsbml) + add_library(libsbml INTERFACE IMPORTED) + target_link_libraries(libsbml INTERFACE $) +endif() diff --git a/ports/libsbml/no-docs.diff b/ports/libsbml/no-docs.diff new file mode 100644 index 00000000000000..acac8f31ff2258 --- /dev/null +++ b/ports/libsbml/no-docs.diff @@ -0,0 +1,12 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 8ad678a..f856774 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1012,7 +1012,6 @@ set(DOCUMENTATION_FILES + VERSION.txt + ) + +-install(FILES ${DOCUMENTATION_FILES} DESTINATION ${MISC_PREFIX}) + + ############################################################################### + # diff --git a/ports/libsbml/portfile.cmake b/ports/libsbml/portfile.cmake index 9b88b13b09dc3c..cab0f5008da5fb 100644 --- a/ports/libsbml/portfile.cmake +++ b/ports/libsbml/portfile.cmake @@ -1,15 +1,24 @@ -vcpkg_fail_port_install(ON_TARGET "uwp") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO sbmlteam/libsbml - REF 118ffbf11f1a5245cc544c1eac71019d979ecb20 #libSBML-5.19.0 - SHA512 7fe8b4d594876c6408e01c646187cb1587d0b4e12707a43286150d4e4646841e547bde971de917de1cdfbbb9365172aeac43c8e02f7d354400f9166f0f1c2c3d + REF "v${VERSION}" + SHA512 2770c1d3295e22ed8fb8dfa2480efa160fc61fbeeca3a9e214e210acb3fd6531a5cfb22eeb72c5334158bf8ba21c27015d0910487a7ef060f594a708f197676c HEAD_REF development + PATCHES + dependencies.diff + dirent.diff + no-docs.diff + test-shared.diff ) 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.") + list(REMOVE_ITEM FEATURES "expat") +endif() vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES @@ -20,71 +29,47 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS multi ENABLE_MULTI qual ENABLE_QUAL render ENABLE_RENDER - render ENABLE_LAYOUT bzip2 WITH_BZIP2 + expat WITH_EXPAT + libxml2 WITH_LIBXML zlib WITH_ZLIB test WITH_CHECK namespace WITH_CPP_NAMESPACE ) -# Handle conflict features -set(WITH_EXPAT OFF) -if ("expat" IN_LIST FEATURES) - set(WITH_EXPAT ON) -endif() - -set(WITH_LIBXML OFF) -if ("libxml2" IN_LIST FEATURES) - set(WITH_LIBXML ON) -endif() - -if (WITH_EXPAT AND WITH_LIBXML) - message("Feature expat conflict with feature libxml2, currently using libxml2...") - set(WITH_EXPAT OFF) -endif() - -if ("test" IN_LIST FEATURES AND WIN32) - message(FATAL_ERROR "Feature test only support UNIX.") -endif() - vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - OPTIONS ${FEATURE_OPTIONS} - -DWITH_EXPAT=${WITH_EXPAT} - -DWITH_LIBXML=${WITH_LIBXML} + OPTIONS + ${FEATURE_OPTIONS} -DENABLE_L3V2EXTENDEDMATH:BOOL=ON -DWITH_STATIC_RUNTIME=${STATIC_RUNTIME} -DLIBSBML_SKIP_SHARED_LIBRARY=${STATIC_LIBRARY} + -DLIBSBML_SKIP_STATIC_LIBRARY=${DYNAMIC_LIBRARY} + MAYBE_UNUSED_VARIABLES + WITH_STATIC_RUNTIME ) vcpkg_cmake_install() - -vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake) - vcpkg_copy_pdbs() - -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") - -file(GLOB TXT_FILES "${CURRENT_PACKAGES_DIR}/debug/*.txt") -if (TXT_FILES) - file(REMOVE ${TXT_FILES}) -endif() -file(GLOB TXT_FILES "${CURRENT_PACKAGES_DIR}/*.txt") -if (TXT_FILES) - file(REMOVE ${TXT_FILES}) +vcpkg_fixup_pkgconfig() + +foreach(name IN ITEMS libsbml libsbml-static sbml sbml-static) + if(EXISTS "${CURRENT_PACKAGES_DIR}/lib/cmake/${name}-config.cmake") + vcpkg_cmake_config_fixup(PACKAGE_NAME "${name}" CONFIG_PATH lib/cmake) + if(NOT EXISTS "${CURRENT_PACKAGES_DIR}/share/${PORT}/${PORT}-config.cmake") + configure_file("${CURRENT_PORT_DIR}/libsbml-config.cmake" "${CURRENT_PACKAGES_DIR}/share/${PORT}/${PORT}-config.cmake" @ONLY) + endif() + break() + endif() +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") endif() -if (EXISTS "${CURRENT_PACKAGES_DIR}/debug/share") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -endif() - -if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/README.md") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/README.md") -endif() - -if(EXISTS "${CURRENT_PACKAGES_DIR}/README.md") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/README.md") -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_fixup_pkgconfig() +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/libsbml/test-shared.diff b/ports/libsbml/test-shared.diff new file mode 100644 index 00000000000000..71bc6808652096 --- /dev/null +++ b/ports/libsbml/test-shared.diff @@ -0,0 +1,14 @@ +diff --git a/src/sbml/test/CMakeLists.txt b/src/sbml/test/CMakeLists.txt +index 7a408d7..462d58a 100644 +--- a/src/sbml/test/CMakeLists.txt ++++ b/src/sbml/test/CMakeLists.txt +@@ -49,6 +49,9 @@ if (EXTRA_INCLUDE_DIRS) + include_directories(${EXTRA_INCLUDE_DIRS}) + endif(EXTRA_INCLUDE_DIRS) + ++if(NOT TARGET ${LIBSBML_LIBRARY}-static) ++ add_library(${LIBSBML_LIBRARY}-static ALIAS ${LIBSBML_LIBRARY}) ++endif() + + add_executable(test_sbml_sbml ${TEST_FILES}) + target_link_libraries(test_sbml_sbml ${LIBSBML_LIBRARY}-static CHECK::CHECK) diff --git a/ports/libsbml/usage b/ports/libsbml/usage new file mode 100644 index 00000000000000..a9e155c1a1ae70 --- /dev/null +++ b/ports/libsbml/usage @@ -0,0 +1,4 @@ +libsbml provides CMake targets: + + find_package(libsbml CONFIG REQUIRED) + target_link_libraries(main PRIVATE libsbml) diff --git a/ports/libsbml/vcpkg.json b/ports/libsbml/vcpkg.json index cc2cc215654fda..3b3c6f7a8d4cfc 100644 --- a/ports/libsbml/vcpkg.json +++ b/ports/libsbml/vcpkg.json @@ -1,9 +1,10 @@ { "name": "libsbml", - "version": "5.19.0", - "port-version": 1, + "version": "5.20.2", "description": "A library for reading / writing SBML files", - "supports": "!uwp", + "homepage": "https://github.com/sbmlteam/libsbml", + "license": "LGPL-2.1", + "supports": "!uwp & !xbox", "dependencies": [ { "name": "vcpkg-cmake", @@ -16,7 +17,6 @@ ], "default-features": [ "comp", - "expat", "fbc", "groups", "layout", @@ -64,12 +64,23 @@ "description": "support for Qualitative Modeling" }, "render": { - "description": "support for Rendering information" + "description": "support for Rendering information", + "dependencies": [ + { + "name": "libsbml", + "default-features": false, + "features": [ + "layout" + ] + } + ] }, "test": { "description": "Unit testing of libSBMLs implementation", + "supports": "!windows | mingw | (windows & static)", "dependencies": [ - "check" + "check", + "dirent" ] }, "zlib": { diff --git a/ports/libsecret/portfile.cmake b/ports/libsecret/portfile.cmake index 900762ce3d9584..1a3295f8cff953 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 ) @@ -14,7 +14,7 @@ vcpkg_configure_meson( -Dgtk_doc=false -Dmanpage=false -Dvapi=false - ADDITIONAL_NATIVE_BINARIES + ADDITIONAL_BINARIES gdbus-codegen='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/gdbus-codegen' glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums' ) diff --git a/ports/libsecret/vcpkg.json b/ports/libsecret/vcpkg.json index 1fbcf7b7c5989f..0b35e6701ead07 100644 --- a/ports/libsecret/vcpkg.json +++ b/ports/libsecret/vcpkg.json @@ -1,6 +1,6 @@ { "name": "libsecret", - "version": "0.20.4", + "version": "0.21.4", "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", @@ -11,6 +11,10 @@ "name": "glib", "host": true }, - "libgcrypt" + "libgcrypt", + { + "name": "vcpkg-tool-meson", + "host": true + } ] } 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 2c4909df3261b9..c0e3acf679760a 100644 --- a/ports/libsigcpp/disable_tests_enable_static_build.patch +++ b/ports/libsigcpp/disable_tests_enable_static_build.patch @@ -1,18 +1,14 @@ -From 219b3f5a681731bcaeee9fee0f136e6eb6143d33 Mon Sep 17 00:00:00 2001 -From: Bruk Tedla -Date: Thu, 17 Sep 2020 19:45:27 +0300 -Subject: [PATCH] disable_tests_enable_static_build - ---- - CMakeLists.txt | 4 ++-- - sigc++/CMakeLists.txt | 2 +- - 2 files changed, 3 insertions(+), 3 deletions(-) - diff --git a/CMakeLists.txt b/CMakeLists.txt -index 2e7f383..b2b8395 100644 +index c4b291c..2475881 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -89,8 +89,8 @@ enable_testing() +@@ -86,13 +86,13 @@ install (FILES + DESTINATION + "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig") + +-enable_testing() ++#enable_testing() + add_subdirectory (sigc++) @@ -24,10 +20,10 @@ index 2e7f383..b2b8395 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}) @@ -36,6 +32,3 @@ index fa5a91a..86f1be7 100644 set_property (TARGET ${SIGCPP_LIB_NAME} PROPERTY VERSION ${PACKAGE_VERSION}) set_property(TARGET ${SIGCPP_LIB_NAME} PROPERTY SOVERSION ${LIBSIGCPP_SOVERSION}) --- -2.27.0.windows.1 - diff --git a/ports/libsigcpp/fix-shared-windows-build.patch b/ports/libsigcpp/fix-shared-windows-build.patch index f62e1eb14a197a..f18fc1cedc8b41 100644 --- a/ports/libsigcpp/fix-shared-windows-build.patch +++ b/ports/libsigcpp/fix-shared-windows-build.patch @@ -1,17 +1,19 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2475881..3828a13 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -53,8 +53,11 @@ 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 (BUILD_SHARED_LIBS) -+ add_compile_options (-DBUILD_SHARED) -+ if (MSVC) -+ add_compile_options (-D_WINDLL) -+ endif() - endif() - ++ 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/ports/libsigcpp/fix-usage-in-static-build.patch b/ports/libsigcpp/fix-usage-in-static-build.patch deleted file mode 100644 index 378f1f96a3cdd1..00000000000000 --- a/ports/libsigcpp/fix-usage-in-static-build.patch +++ /dev/null @@ -1,29 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index f54e830..972d0dc 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -53,6 +53,10 @@ 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) -+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 new file mode 100644 index 00000000000000..d0bdb85ed4497b --- /dev/null +++ b/ports/libsigcpp/fix_include_path.patch @@ -0,0 +1,45 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 3828a13..bc0a854 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -87,7 +87,7 @@ endif() + install (FILES + "${CMAKE_CURRENT_BINARY_DIR}/sigc++config.h" + DESTINATION +- "${CMAKE_INSTALL_PREFIX}/lib/${PROJECT_NAME}-${SIGCXX_API_VERSION}/include") ++ "${CMAKE_INSTALL_PREFIX}/include") + + install (FILES + "${CMAKE_CURRENT_BINARY_DIR}/sigc++-${SIGCXX_API_VERSION}.pc" +@@ -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") +-set (LIBSIGCXX_INCLUDE_DIR "${CMAKE_INSTALL_PREFIX}/lib/${PROJECT_NAME}-${SIGCXX_API_VERSION}/include") ++set (LIBSIGCXX_INCLUDE_DIR "${CMAKE_INSTALL_PREFIX}/include") + set (PROJECT_CONFIG "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_CMAKE_NAME}Config.cmake") + 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 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 @MSVC_STATIC_CXXFLAG@ ++Cflags: -I${includedir} @MSVC_STATIC_CXXFLAG@ +diff --git a/sigc++/CMakeLists.txt b/sigc++/CMakeLists.txt +index 8480a5e..b51b023 100644 +--- a/sigc++/CMakeLists.txt ++++ b/sigc++/CMakeLists.txt +@@ -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 ) + +-set (INCLUDE_INSTALL_DIR "include/${PROJECT_NAME}-${SIGCXX_API_VERSION}") ++set (INCLUDE_INSTALL_DIR "include/") + + install ( + DIRECTORY "${PROJECT_SOURCE_DIR}" diff --git a/ports/libsigcpp/portfile.cmake b/ports/libsigcpp/portfile.cmake index 278dc310a9f40f..a470a1ccd43f54 100644 --- a/ports/libsigcpp/portfile.cmake +++ b/ports/libsigcpp/portfile.cmake @@ -1,14 +1,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libsigcplusplus/libsigcplusplus - REF 3.0.7 - SHA512 4c9251613c30cc5d455dc30a039a12b73d6369ac03583dab382307b894f93d4733cebea0a6eef82e8d80b1354c812b4ff6bfc68913f0df5a61146d56a6afde13 + REF "${VERSION}" + SHA512 0d22275995a1629ae73b0cc2b2f2598b18aa0ed6d35bd3f1735a50f54d356fb248dedc8d9b5f2794830866b04e0f58ce641048e2df7215ec2e6eac744de58a27 HEAD_REF master - PATCHES + PATCHES disable_tests_enable_static_build.patch - version.patch - fix-usage-in-static-build.patch fix-shared-windows-build.patch + fix_include_path.patch ) vcpkg_cmake_configure( @@ -20,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}/lib/sigc++-3.0/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 51286da7838e1f..58fa2daefe8a3b 100644 --- a/ports/libsigcpp/vcpkg.json +++ b/ports/libsigcpp/vcpkg.json @@ -1,8 +1,10 @@ { "name": "libsigcpp", - "version": "3.0.7", + "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", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/libsigcpp/version.patch b/ports/libsigcpp/version.patch deleted file mode 100644 index 1492bed70dfe24..00000000000000 --- a/ports/libsigcpp/version.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index b06ef121c..9b9520342 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -16,9 +16,9 @@ - - cmake_minimum_required (VERSION 3.2) - --set (SIGCXX_MAJOR_VERSION 2) --set (SIGCXX_MINOR_VERSION 99) --set (SIGCXX_MICRO_VERSION 1) -+set (SIGCXX_MAJOR_VERSION 3) -+set (SIGCXX_MINOR_VERSION 0) -+set (SIGCXX_MICRO_VERSION 7) - - set (SIGCXX_API_VERSION 3.0) - set (PACKAGE_VERSION ${SIGCXX_MAJOR_VERSION}.${SIGCXX_MINOR_VERSION}.${SIGCXX_MICRO_VERSION}) diff --git a/ports/libslirp/portfile.cmake b/ports/libslirp/portfile.cmake new file mode 100644 index 00000000000000..56f5812282ac91 --- /dev/null +++ b/ports/libslirp/portfile.cmake @@ -0,0 +1,27 @@ +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.freedesktop.org/ + OUT_SOURCE_PATH SOURCE_PATH + REPO slirp/libslirp + REF "v${VERSION}" + SHA512 eef9d77f1588c4e3dcf91cd53e54db235d624998fc64df75d389657411635f28bfcbe0c81cd3b0ede7792eea1eb7ef716b8a87a199a6be1e9a29da27ca4a1df4 + HEAD_REF master +) + +if(VCPKG_HOST_IS_WINDOWS) + vcpkg_acquire_msys(MSYS_ROOT) + vcpkg_add_to_path("${MSYS_ROOT}/usr/bin") +endif() + +vcpkg_configure_meson( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${OPTIONS} +) + +vcpkg_install_meson(ADD_BIN_TO_PATH) + +vcpkg_fixup_pkgconfig() + +vcpkg_copy_pdbs() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYRIGHT") diff --git a/ports/libslirp/vcpkg.json b/ports/libslirp/vcpkg.json new file mode 100644 index 00000000000000..0a31985369a9c1 --- /dev/null +++ b/ports/libslirp/vcpkg.json @@ -0,0 +1,14 @@ +{ + "name": "libslirp", + "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", + "dependencies": [ + "glib", + { + "name": "vcpkg-tool-meson", + "host": true + } + ] +} diff --git a/ports/libsm/missing-include.patch b/ports/libsm/missing-include.patch new file mode 100644 index 00000000000000..f4f4358f4e3888 --- /dev/null +++ b/ports/libsm/missing-include.patch @@ -0,0 +1,14 @@ +diff --git a/src/sm_genid.c b/src/sm_genid.c +index 3726eb1d2..082ce89fe 100644 +--- a/src/sm_genid.c ++++ b/src/sm_genid.c +@@ -90,6 +90,9 @@ in this Software without prior written authorization from The Open Group. + # define X_INCLUDE_NETDB_H + # define XOS_USE_MTSAFE_NETDBAPI + # include ++# ifdef _MSC_VER ++# include ++# endif + + #endif /* WIN32 */ + diff --git a/ports/libsm/portfile.cmake b/ports/libsm/portfile.cmake new file mode 100644 index 00000000000000..16f95e1156c899 --- /dev/null +++ b/ports/libsm/portfile.cmake @@ -0,0 +1,32 @@ +if(NOT X_VCPKG_FORCE_VCPKG_X_LIBRARIES AND NOT VCPKG_TARGET_IS_WINDOWS) + message(STATUS "Utils and libraries provided by '${PORT}' should be provided by your system! Install the required packages or force vcpkg libraries by setting X_VCPKG_FORCE_VCPKG_X_LIBRARIES in your triplet!") + set(VCPKG_POLICY_EMPTY_PACKAGE enabled) +else() + +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.freedesktop.org/xorg + OUT_SOURCE_PATH SOURCE_PATH + REPO lib/libsm + REF a52c79544fcd6b5e2242b9122dfaa34be07aebb2 # 1.2.3 + SHA512 379e450d90e61d80d4fea8449a582b3eee3968bef137022053cb3bd51fa2815d8fccc43ff11e3b593c4a67ad64e93209c25111a20ac88e38c1f663cd274f5d56 + HEAD_REF master + PATCHES windows.patch + missing-include.patch # avoids: warning C4013: '_getpid' undefined; assuming extern returning int +) + +set(ENV{ACLOCAL} "aclocal -I \"${CURRENT_INSTALLED_DIR}/share/xorg/aclocal/\"") + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG +) + +vcpkg_install_make() +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +# Handle copyright +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +endif() diff --git a/ports/libsm/vcpkg.json b/ports/libsm/vcpkg.json new file mode 100644 index 00000000000000..1881bd7c04eade --- /dev/null +++ b/ports/libsm/vcpkg.json @@ -0,0 +1,13 @@ +{ + "name": "libsm", + "version": "1.2.3", + "port-version": 1, + "description": "X Session Management Library", + "homepage": "https://gitlab.freedesktop.org/xorg/lib/libsm", + "license": null, + "dependencies": [ + "bzip2", + "libice", + "xorg-macros" + ] +} diff --git a/ports/libsm/windows.patch b/ports/libsm/windows.patch new file mode 100644 index 00000000000000..abf52cb634974e --- /dev/null +++ b/ports/libsm/windows.patch @@ -0,0 +1,22 @@ +diff --git a/src/sm_genid.c b/src/sm_genid.c +index 1a8b9a0ed..3726eb1d2 100644 +--- a/src/sm_genid.c ++++ b/src/sm_genid.c +@@ -64,7 +64,9 @@ in this Software without prior written authorization from The Open Group. + # include + #endif + #include ++#ifdef HAVE_UNISTD_H + #include ++#endif + + #include + #define Time_t time_t +@@ -84,6 +86,7 @@ in this Software without prior written authorization from The Open Group. + + # include + # include ++# include + # define X_INCLUDE_NETDB_H + # define XOS_USE_MTSAFE_NETDBAPI + # include diff --git a/ports/libsmacker/CMakeLists.txt b/ports/libsmacker/CMakeLists.txt new file mode 100644 index 00000000000000..08ba0067ecabf0 --- /dev/null +++ b/ports/libsmacker/CMakeLists.txt @@ -0,0 +1,43 @@ +cmake_minimum_required(VERSION 3.20) +project(libsmacker C) + +option(LIBSMACKER_BUILD_TOOLS "Build smk2avi and driver executables" OFF) + +add_library(libsmacker smacker.c) + +if(WIN32 AND BUILD_SHARED_LIBS) + target_sources(libsmacker PRIVATE smacker.def) +endif() + +if(MSVC) + target_compile_definitions(libsmacker PRIVATE -D_CRT_SECURE_NO_WARNINGS) +endif() + +target_include_directories(libsmacker PUBLIC $ $) +set_target_properties(libsmacker PROPERTIES PUBLIC_HEADER "smacker.h") + +install(TARGETS libsmacker + EXPORT libsmackerTargets + PUBLIC_HEADER DESTINATION include + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib +) + +install(EXPORT libsmackerTargets + FILE unofficial-libsmacker-config.cmake + NAMESPACE unofficial::libsmacker:: + DESTINATION share/unofficial-libsmacker +) + +if(LIBSMACKER_BUILD_TOOLS) + add_executable(driver driver.c) + target_include_directories(driver PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}") + target_link_libraries(driver libsmacker) + install(TARGETS driver RUNTIME DESTINATION bin) + + add_executable(smk2avi smk2avi.c) + target_include_directories(driver PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}") + target_link_libraries(smk2avi libsmacker) + install(TARGETS smk2avi RUNTIME DESTINATION bin) +endif() diff --git a/ports/libsmacker/portfile.cmake b/ports/libsmacker/portfile.cmake new file mode 100644 index 00000000000000..07abaa8ffb6dc5 --- /dev/null +++ b/ports/libsmacker/portfile.cmake @@ -0,0 +1,38 @@ +vcpkg_from_sourceforge( + OUT_SOURCE_PATH SOURCE_PATH + REPO libsmacker + REF libsmacker-1.2 + FILENAME "libsmacker-1.2.0r43.tar.gz" + SHA512 1785b000884a6f93b621c1503adef100ac9b8c6e7ed5ef4d85b9ea4819715c40f9af3d930490b33ca079f531103acc69de2a800756ed7678c820ff155f86aaeb +) + +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") +file(COPY "${CMAKE_CURRENT_LIST_DIR}/smacker.def" DESTINATION "${SOURCE_PATH}") + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + tools LIBSMACKER_BUILD_TOOLS +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} + OPTIONS_DEBUG + -DLIBSMACKER_BUILD_TOOLS=OFF +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-libsmacker) +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/debug/include" +) + +if("tools" IN_LIST FEATURES) + vcpkg_copy_tools(TOOL_NAMES driver smk2avi AUTO_CLEAN) +endif() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/libsmacker/smacker.def b/ports/libsmacker/smacker.def new file mode 100644 index 00000000000000..604479775d2ef2 --- /dev/null +++ b/ports/libsmacker/smacker.def @@ -0,0 +1,19 @@ +LIBRARY libsmacker +EXPORTS + smk_open_file + smk_open_filepointer + smk_open_memory + smk_close + smk_info_all + smk_info_video + smk_info_audio + smk_enable_all + smk_enable_video + smk_enable_audio + smk_get_palette + smk_get_video + smk_get_audio + smk_get_audio_size + smk_first + smk_next + smk_seek_keyframe diff --git a/ports/libsmacker/vcpkg.json b/ports/libsmacker/vcpkg.json new file mode 100644 index 00000000000000..6f9b6894673584 --- /dev/null +++ b/ports/libsmacker/vcpkg.json @@ -0,0 +1,22 @@ +{ + "name": "libsmacker", + "version": "1.2.0", + "description": "libsmacker is a cross-platform C library which can be used for decoding Smacker Video files produced by RAD Game Tools", + "homepage": "https://libsmacker.sourceforge.net", + "license": "LGPL-2.1-or-later", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "tools": { + "description": "Build driver (dump tool) and smk2avi" + } + } +} diff --git a/ports/libsmb2/portfile.cmake b/ports/libsmb2/portfile.cmake index 4558f3e0143523..dbce16c2048f88 100644 --- a/ports/libsmb2/portfile.cmake +++ b/ports/libsmb2/portfile.cmake @@ -1,27 +1,28 @@ -vcpkg_fail_port_install(ON_TARGET "osx") vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO sahlberg/libsmb2 - REF d8c85a3119a0bd769590e448216130b368cd1099 - SHA512 d15a040ed6314ad6f7984cfa7b52d9ede9934b2a7ec9827e833f574c25c9f694b5372b3e0950e258a6244b7aaf32b9e59987a75a88681d8031d9837ba94629d5 + REF 99125c96750e192e2c50176548bf461e4a28f135 + SHA512 30cdc9bbcdcd384868e5865706b41f683b977ece4056040a29bb3b81ffdf83788ba8a39426132810b8cbbb778ae7db8e5e1be0b7c0a82d8beed75040de708240 HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + # TODO: Add a feature to enable gssapi/krb5 support + -DCMAKE_DISABLE_FIND_PACKAGE_GSSAPI=ON ) -vcpkg_install_cmake() -vcpkg_copy_pdbs() -vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME smb2 CONFIG_PATH "lib/cmake/${PORT}") vcpkg_fixup_pkgconfig() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") - -#the debug/share folder is generated empty by the provided cmake system file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") - -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/smb2") + +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/libsmb2/usage b/ports/libsmb2/usage new file mode 100644 index 00000000000000..f58d837fb74e2b --- /dev/null +++ b/ports/libsmb2/usage @@ -0,0 +1,5 @@ +libsmb2 can be used from CMake via: + + find_package(SMB2 REQUIRED) + target_include_directories(main PRIVATE ${SMB2_INCLUDE_DIRS}) + target_link_libraries(main PRIVATE ${SMB2_LIBRARIES}) diff --git a/ports/libsmb2/vcpkg-cmake-wrapper.cmake b/ports/libsmb2/vcpkg-cmake-wrapper.cmake new file mode 100644 index 00000000000000..c408581651fa95 --- /dev/null +++ b/ports/libsmb2/vcpkg-cmake-wrapper.cmake @@ -0,0 +1,6 @@ +set(SMB2_PREV_MODULE_PATH ${CMAKE_MODULE_PATH}) +list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}") + +_find_package(${ARGS}) + +set(CMAKE_MODULE_PATH ${SMB2_PREV_MODULE_PATH}) diff --git a/ports/libsmb2/vcpkg.json b/ports/libsmb2/vcpkg.json index 4b5b2b9a984f1f..387bd6b0dae6c2 100644 --- a/ports/libsmb2/vcpkg.json +++ b/ports/libsmb2/vcpkg.json @@ -1,11 +1,14 @@ { "name": "libsmb2", - "version-date": "2021-04-29", + "version-date": "2023-08-11", "description": "SMB2/3 Userspace Client", "homepage": "https://github.com/sahlberg/libsmb2", - "supports": "!osx", + "license": "LGPL-2.1-or-later", "dependencies": [ - "openssl", + { + "name": "vcpkg-cmake", + "host": true + }, { "name": "vcpkg-cmake-config", "host": true diff --git a/ports/libsndfile/001-avoid-installing-find-modules.patch b/ports/libsndfile/001-avoid-installing-find-modules.patch new file mode 100644 index 00000000000000..3ae1b21b01bbe6 --- /dev/null +++ b/ports/libsndfile/001-avoid-installing-find-modules.patch @@ -0,0 +1,16 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b501f08..022864f 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -855,11 +847,6 @@ if (ENABLE_PACKAGE_CONFIG) + ${CMAKE_CURRENT_BINARY_DIR}/SndFileConfigVersion.cmake + DESTINATION ${CMAKE_INSTALL_PACKAGEDIR} + ) +- +- if (NOT BUILD_SHARED_LIBS AND FIND_MODULES_INSTALL_LIST) +- file(COPY ${FIND_MODULES_INSTALL_LIST} DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) +- install(FILES ${FIND_MODULES_INSTALL_LIST} DESTINATION ${CMAKE_INSTALL_PACKAGEDIR}) +- endif () + else () + + install (TARGETS sndfile ${sdnfile_PROGRAMS} diff --git a/ports/libsndfile/portfile.cmake b/ports/libsndfile/portfile.cmake index ad84e3315b43ad..710932b4d2016f 100644 --- a/ports/libsndfile/portfile.cmake +++ b/ports/libsndfile/portfile.cmake @@ -1,9 +1,11 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libsndfile/libsndfile - REF 1.0.31 - SHA512 5767ced306f2d300aa2014d383c22f3ee9a4fe1ffb2c463405bc26209ede09a9cfb95e1c08256db36e986d2b30151c38dbe635a3cae0b7138d7de485e2084891 + REF 1.2.2 + SHA512 fb8b4d367240a8ac9d55be6f053cb19419890691c56a8552d1600d666257992b6e8e41a413a444c9f2d6c5d71406013222c92a3bfa67228944a26475444240a1 HEAD_REF master + PATCHES + 001-avoid-installing-find-modules.patch ) if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) @@ -11,38 +13,47 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) endif() vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - FEATURES external-libs ENABLE_EXTERNAL_LIBS + FEATURES + external-libs ENABLE_EXTERNAL_LIBS + mpeg ENABLE_MPEG + regtest BUILD_REGTEST ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +if(VCPKG_TARGET_IS_UWP) + set(VCPKG_C_FLAGS "/sdl- ${VCPKG_C_FLAGS}") + set(VCPKG_CXX_FLAGS "/sdl- ${VCPKG_CXX_FLAGS}") +endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_EXAMPLES=OFF - -DBUILD_REGTEST=OFF -DBUILD_TESTING=OFF -DENABLE_BOW_DOCS=OFF -DBUILD_PROGRAMS=OFF + -DBUILD_REGTEST=OFF -DCMAKE_FIND_PACKAGE_PREFER_CONFIG=ON -DPYTHON_EXECUTABLE=${PYTHON3} ${FEATURE_OPTIONS} + MAYBE_UNUSED_VARIABLES + PYTHON_EXECUTABLE ) -vcpkg_install_cmake() +vcpkg_cmake_install() -if(WIN32 AND (NOT MINGW) AND (NOT CYGWIN)) +if(EXISTS "${CURRENT_PACKAGES_DIR}/cmake") set(CONFIG_PATH cmake) else() set(CONFIG_PATH lib/cmake/SndFile) endif() -vcpkg_fixup_cmake_targets(CONFIG_PATH ${CONFIG_PATH} TARGET_PATH share/SndFile) +vcpkg_cmake_config_fixup(PACKAGE_NAME SndFile CONFIG_PATH "${CONFIG_PATH}") vcpkg_fixup_pkgconfig(SYSTEM_LIBRARIES m) vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -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}/share/doc") -# Handle copyright -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/libsndfile/vcpkg.json b/ports/libsndfile/vcpkg.json index e0d0acc68c3ae2..3633fc1ce0e407 100644 --- a/ports/libsndfile/vcpkg.json +++ b/ports/libsndfile/vcpkg.json @@ -1,20 +1,51 @@ { "name": "libsndfile", - "version-string": "1.0.31", - "description": "Library to read, write and manipulate many soundfile types. Authored by Eric de Castro Lopo", + "version-semver": "1.2.2", + "description": "A library for reading and writing audio files", "homepage": "https://github.com/erikd/libsndfile", - "license": "LGPL-2.1", + "license": "LGPL-2.1-or-later", + "supports": "!xbox", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], "default-features": [ - "external-libs" + "external-libs", + "mpeg" ], "features": { + "experimental": { + "description": "Enable experimental code", + "dependencies": [ + "speex" + ] + }, "external-libs": { - "description": "Default feature. Enables Ogg Vorbis, FLAC and Ogg Opus formats support.", + "description": "Enable FLAC, Vorbis, and Opus codecs", "dependencies": [ "libflac", "libvorbis", "opus" ] + }, + "mpeg": { + "description": "Enable MPEG codecs", + "dependencies": [ + "mp3lame", + "mpg123" + ] + }, + "regtest": { + "description": "Build regtest", + "dependencies": [ + "sqlite3" + ] } } } diff --git a/ports/libsnoretoast/portfile.cmake b/ports/libsnoretoast/portfile.cmake index e97d5f637d20ec..295eb96eab1d46 100644 --- a/ports/libsnoretoast/portfile.cmake +++ b/ports/libsnoretoast/portfile.cmake @@ -1,5 +1,3 @@ -vcpkg_fail_port_install(ON_TARGET "osx" "linux" "uwp") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KDE/snoretoast @@ -12,7 +10,7 @@ vcpkg_from_github( vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - OPTIONS + OPTIONS -DBUILD_EXAMPLES=OFF -DBUILD_STATIC_RUNTIME=OFF ) diff --git a/ports/libsnoretoast/vcpkg.json b/ports/libsnoretoast/vcpkg.json index eb0c3838bc7b39..d9263bbd8cc13f 100644 --- a/ports/libsnoretoast/vcpkg.json +++ b/ports/libsnoretoast/vcpkg.json @@ -1,7 +1,7 @@ { "name": "libsnoretoast", "version": "0.8.0", - "port-version": 1, + "port-version": 2, "description": "A tool to create Windows Toast notifications and parse them on Windows 8 or later.", "homepage": "https://invent.kde.org/libraries/snoretoast", "supports": "windows & !uwp", 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 429ab4c294feca..00000000000000 --- a/ports/libsodium/CMakeLists.txt +++ /dev/null @@ -1,1152 +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 () - -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_runs( - " - #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_runs( - " - #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_runs( - " - #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_runs( - " - #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_runs( - " - #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_runs( - " - #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_runs( - " - #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_runs( - " - #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_runs( - " - #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_runs( - " - #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_runs( - " - #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_runs( - " - #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_runs( - " - 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_runs( - " - 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_runs( - " - 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_runs( - " - #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_runs( - " - 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_runs( - " - #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_runs( - " - 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_runs( - " - #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 () - -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 f4afdc19788f45..a3f4130d78e1ea 100644 --- a/ports/libsodium/portfile.cmake +++ b/ports/libsodium/portfile.cmake @@ -1,43 +1,85 @@ +# 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 1.0.18 - 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() -vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - -DBUILD_TESTING=OFF -) + set(LIBSODIUM_PROJECT_SUBPATH "builds/msvc/vs2022/libsodium/libsodium.vcxproj" CACHE STRING "Triplet variable") -vcpkg_cmake_install() + vcpkg_msbuild_install( + SOURCE_PATH "${SOURCE_PATH}" + PROJECT_SUBPATH "${LIBSODIUM_PROJECT_SUBPATH}" + RELEASE_CONFIGURATION "Release${lib_linkage}" + DEBUG_CONFIGURATION "Debug${lib_linkage}" + ) -vcpkg_copy_pdbs() + 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_cmake_config_fixup( - PACKAGE_NAME unofficial-sodium -) + 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() -file(REMOVE_RECURSE - ${CURRENT_PACKAGES_DIR}/debug/include - ${CURRENT_PACKAGES_DIR}/debug/share -) + vcpkg_configure_make( + AUTOCONFIG + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${OPTIONS} + ) + vcpkg_install_make() -file(REMOVE ${CURRENT_PACKAGES_DIR}/include/Makefile.am) + file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" + ) +endif() -configure_file( - ${SOURCE_PATH}/LICENSE - ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright - COPYONLY -) +vcpkg_fixup_pkgconfig() + +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 + "${CMAKE_CURRENT_LIST_DIR}/sodiumConfig.cmake.in" + "${CURRENT_PACKAGES_DIR}/share/unofficial-sodium/unofficial-sodiumConfig.cmake" @ONLY ) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") 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 522e476d313923..d438b0b0357d0b 100644 --- a/ports/libsodium/vcpkg.json +++ b/ports/libsodium/vcpkg.json @@ -1,17 +1,15 @@ { "name": "libsodium", - "version": "1.0.18", - "port-version": 5, + "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/libsonic/CMakeLists.txt b/ports/libsonic/CMakeLists.txt new file mode 100644 index 00000000000000..d89ece21509748 --- /dev/null +++ b/ports/libsonic/CMakeLists.txt @@ -0,0 +1,34 @@ +cmake_minimum_required(VERSION 3.8) +project(sonic + VERSION 0.2.0 + LANGUAGES C +) + +option(BUILD_TOOL "Build sonic tool" ON) + +add_library(libsonic sonic.c) +set_target_properties(libsonic + PROPERTIES + PUBLIC_HEADER "${CMAKE_SOURCE_DIR}/sonic.h" + SOVERSION ${PROJECT_VERSION_MAJOR} + VERSION ${CMAKE_PROJECT_VERSION} + OUTPUT_NAME sonic +) + +install(TARGETS libsonic + ARCHIVE DESTINATION lib + LIBRARY DESTINATION lib + PUBLIC_HEADER DESTINATION include +) + +if (BUILD_TOOL) + add_executable(sonic wave.c main.c) + target_link_libraries(sonic + PRIVATE + libsonic + ) + + install(TARGETS sonic + RUNTIME DESTINATION bin + ) +endif() diff --git a/ports/libsonic/portfile.cmake b/ports/libsonic/portfile.cmake new file mode 100644 index 00000000000000..adacd0a2a3066a --- /dev/null +++ b/ports/libsonic/portfile.cmake @@ -0,0 +1,30 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO waywardgeek/sonic + REF "release-${VERSION}" + SHA512 e70510c89c4f29c30f2a3443a1c4fc1aab2c99147e2ebd1dea3cbb2b89b8bdcee14dc504600ac1f04e82d32c19f17b06fbb417311853beb764c24d15687a126f + HEAD_REF master +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + tool BUILD_TOOL +) + + +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_TOOL=${BUILD_TOOL} +) + +vcpkg_cmake_install() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +if(BUILD_TOOL) + vcpkg_copy_tools(TOOL_NAMES sonic AUTO_CLEAN) +endif() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/libsonic/vcpkg.json b/ports/libsonic/vcpkg.json new file mode 100644 index 00000000000000..9b30096792c017 --- /dev/null +++ b/ports/libsonic/vcpkg.json @@ -0,0 +1,19 @@ +{ + "name": "libsonic", + "version": "0.2.0", + "description": "Simple library to speed up or slow down speech", + "homepage": "https://github.com/waywardgeek/sonic", + "license": "Apache-2.0", + "supports": "linux | osx", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ], + "features": { + "tool": { + "description": "Build tool" + } + } +} diff --git a/ports/libsoundio/fix_cmakelists.patch b/ports/libsoundio/fix_cmakelists.patch index ffe00adff2ff52..b25f58824a7d09 100644 --- a/ports/libsoundio/fix_cmakelists.patch +++ b/ports/libsoundio/fix_cmakelists.patch @@ -19,7 +19,16 @@ index 6541f1b..e81bdce 100644 endif() if(BUILD_STATIC_LIBS) -@@ -243,9 +245,26 @@ if(BUILD_STATIC_LIBS) +@@ -204,8 +206,7 @@ if(MSVC) + set(EXAMPLE_CFLAGS "/W4") + set(TEST_CFLAGS "${LIB_CFLAGS}") + set(TEST_LDFLAGS " ") + set(LIBM " ") + else() +- set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Werror -pedantic") + set(LIB_CFLAGS "-std=c11 -fvisibility=hidden -Wall -Werror=strict-prototypes -Werror=old-style-definition -Werror=missing-prototypes -D_REENTRANT -D_POSIX_C_SOURCE=200809L -Wno-missing-braces") + set(EXAMPLE_CFLAGS "-std=c99 -Wall") +@@ -243,9 +244,26 @@ if(BUILD_STATIC_LIBS) COMPILE_FLAGS ${LIB_CFLAGS} LINKER_LANGUAGE C ) diff --git a/ports/libsoundio/portfile.cmake b/ports/libsoundio/portfile.cmake index 3b5081cf970b23..86ceea181be98b 100644 --- a/ports/libsoundio/portfile.cmake +++ b/ports/libsoundio/portfile.cmake @@ -1,6 +1,3 @@ - -vcpkg_fail_port_install(ON_TARGET "UWP") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO andrewrk/libsoundio @@ -21,9 +18,8 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS pulseaudio ENABLE_PULSEAUDIO ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_DYNAMIC_LIBS=${BUILD_DYNAMIC_LIBS} -DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS} @@ -34,13 +30,13 @@ vcpkg_configure_cmake( -DENABLE_WASAPI=${VCPKG_TARGET_IS_WINDOWS} ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets() +vcpkg_cmake_install() +vcpkg_cmake_config_fixup() vcpkg_copy_pdbs() if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - 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") endif() -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libsoundio RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/libsoundio/vcpkg.json b/ports/libsoundio/vcpkg.json index 6dc71724b929cf..230ade61fb2509 100644 --- a/ports/libsoundio/vcpkg.json +++ b/ports/libsoundio/vcpkg.json @@ -1,10 +1,20 @@ { "name": "libsoundio", "version": "2.0.0", - "port-version": 4, + "port-version": 7, "description": "libsoundio is C library providing cross-platform audio input and output.", "homepage": "http://libsound.io/", "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], "features": { "alsa": { "description": "ALSA backend for libsoundio" 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/portfile.cmake b/ports/libspatialindex/portfile.cmake index 17d89d36c5ab7a..cef6ecf051336f 100644 --- a/ports/libspatialindex/portfile.cmake +++ b/ports/libspatialindex/portfile.cmake @@ -1,26 +1,26 @@ 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 ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + WINDOWS_USE_MSBUILD OPTIONS -DCMAKE_DEBUG_POSTFIX=d -DSIDX_BUILD_TESTS:BOOL=OFF ) -vcpkg_install_cmake() - +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) +vcpkg_fixup_pkgconfig() vcpkg_copy_pdbs() #Debug -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") # Handle copyright -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) 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 9caadda04f8a65..d8235a2c0e0009 100644 --- a/ports/libspatialindex/vcpkg.json +++ b/ports/libspatialindex/vcpkg.json @@ -1,9 +1,18 @@ { "name": "libspatialindex", - "version": "1.9.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", "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, "zlib" ] } diff --git a/ports/libspatialite/fix-linux-configure.patch b/ports/libspatialite/fix-linux-configure.patch index 426ab3b3527f6f..afb54db066d597 100644 --- a/ports/libspatialite/fix-linux-configure.patch +++ b/ports/libspatialite/fix-linux-configure.patch @@ -10,53 +10,21 @@ index ead87caff..47abb90f0 100644 AC_ARG_WITH([geosconfig], [AS_HELP_STRING([--with-geosconfig=FILE], [specify an alternative geos-config file])], [GEOSCONFIG="$withval"], [GEOSCONFIG=""]) -@@ -327,6 +328,7 @@ if test x"$enable_geos" != "xno"; then - # Extract the linker and include flags - GEOS_LDFLAGS=`$GEOSCONFIG --ldflags` - GEOS_CFLAGS=-I`$GEOSCONFIG --includes` -+ fi - AC_SUBST([GEOS_LDFLAGS]) - AC_SUBST([GEOS_CFLAGS]) +@@ -327,14 +328,17 @@ if test x"$enable_geos" != "xno"; then # Ensure that we can parse geos_c.h -@@ -335,11 +337,14 @@ if test x"$enable_geos" != "xno"; then + CPPFLAGS_SAVE="$CPPFLAGS" + CPPFLAGS="$GEOS_CFLAGS" ++ fi AC_CHECK_HEADERS([geos_c.h],, [AC_MSG_ERROR([could not find geos_c.h - you may need to specify the directory of a geos-config file using --with-geosconfig])]) ++ if 0; then CPPFLAGS="$CPPFLAGS_SAVE" # Ensure we can link against libgeos_c -+ if 0; then LIBS_SAVE="$LIBS" LIBS="$GEOS_LDFLAGS" AC_SEARCH_LIBS(GEOSCoveredBy,geos_c,,AC_MSG_ERROR([could not find libgeos_c (or obsolete 'libgeos_c' < v.3.3.0 found) - you may need to specify the directory of a geos-config file using --with-geosconfig])) LIBS="$LIBS_SAVE" LIBS="$LIBS $GEOS_LDFLAGS -lgeos_c" + fi -+ LIBS="$LIBS $GEOS_LDFLAGS" #----------------------------------------------------------------------- # --enable-controlpoints -@@ -358,7 +363,7 @@ if test x"$enable_geos" != "xno"; then - [--enable-geosadvanced], [enables GEOS advanced features [default=yes]])], - [], [enable_geosadvanced=yes]) - if test x"$enable_geosadvanced" != "xno"; then -- AC_SEARCH_LIBS(GEOSDelaunayTriangulation,geos_c,,AC_MSG_ERROR(['libgeos_c' (>= v.3.4.0) is required but it doesn't seem to be installed on this system. You may need to try re-running configure with a --disable-geosadvanced parameter.])) -+ #AC_SEARCH_LIBS(GEOSDelaunayTriangulation,geos_c,,AC_MSG_ERROR(['libgeos_c' (>= v.3.4.0) is required but it doesn't seem to be installed on this system. You may need to try re-running configure with a --disable-geosadvanced parameter.])) - AC_DEFINE(GEOS_ADVANCED) - fi - -@@ -369,7 +374,7 @@ if test x"$enable_geos" != "xno"; then - [--enable-geosreentrant], [enables GEOS reentrant (fully thread safe) [default=yes]])], - [], [enable_geosreentrant=yes]) - if test x"$enable_geosreentrant" != "xno"; then -- AC_SEARCH_LIBS(GEOSContext_setErrorMessageHandler_r,geos_c,,AC_MSG_ERROR(['libgeos_c' (>= v.3.5.0) is required but it doesn't seem to be installed on this system. You may need to try re-running configure with a --disable-geosreentrant parameter.])) -+ #AC_SEARCH_LIBS(GEOSContext_setErrorMessageHandler_r,geos_c,,AC_MSG_ERROR(['libgeos_c' (>= v.3.5.0) is required but it doesn't seem to be installed on this system. You may need to try re-running configure with a --disable-geosreentrant parameter.])) - AC_DEFINE(GEOS_REENTRANT) - fi - -@@ -390,7 +395,7 @@ if test x"$enable_geos" != "xno"; then - [--enable-geos370], [enables GEOS 3.7.0 features [default=yes]])], - [], [enable_geos370=yes]) - if test x"$enable_geos370" != "xno"; then -- AC_SEARCH_LIBS(GEOSFrechetDistance_r,geos_c,,AC_MSG_ERROR(['libgeos_c' (>= v.3.7.0) is required but it doesn't seem to be installed on this system. You may need to try re-running configure with a --disable-geos370 parameter.])) -+ #AC_SEARCH_LIBS(GEOSFrechetDistance_r,geos_c,,AC_MSG_ERROR(['libgeos_c' (>= v.3.7.0) is required but it doesn't seem to be installed on this system. You may need to try re-running configure with a --disable-geos370 parameter.])) - AC_DEFINE(GEOS_370) - fi - diff --git a/ports/libspatialite/fix-mingw.patch b/ports/libspatialite/fix-mingw.patch new file mode 100644 index 00000000000000..abbe3520a4dccd --- /dev/null +++ b/ports/libspatialite/fix-mingw.patch @@ -0,0 +1,11 @@ +diff --color -ur a/configure.ac b/configure.ac +--- a/configure.ac 2022-07-21 17:23:50.490298108 +0200 ++++ b/configure.ac 2022-07-21 17:25:45.671489524 +0200 +@@ -116,7 +116,6 @@ + + # Checks for installed libraries + # AC_CHECK_LIB(sqlite3,sqlite3_prepare_v2,,AC_MSG_ERROR(['libsqlite3' is required but it doesn't seem to be installed on this system.]),-lm) +-AC_CHECK_LIB(z,inflateInit_,,AC_MSG_ERROR(['libz' is required but it doesn't seem to be installed on this system.]),-lm) + + AC_CONFIG_FILES([Makefile \ + src/Makefile \ diff --git a/ports/libspatialite/fix-utf8-source.patch b/ports/libspatialite/fix-utf8-source.patch new file mode 100644 index 00000000000000..76dcf77a5bbee5 --- /dev/null +++ b/ports/libspatialite/fix-utf8-source.patch @@ -0,0 +1,32 @@ +diff --git a/src/srsinit/epsg_inlined_21.c b/src/srsinit/epsg_inlined_21.c +index 94aa9d4..457b38a 100644 +--- a/src/srsinit/epsg_inlined_21.c ++++ b/src/srsinit/epsg_inlined_21.c +@@ -619,9 +619,9 @@ initialize_epsg_21 (int filter, struct epsg_defs **first, struct epsg_defs **las + add_srs_wkt (p, 27, + "lic, Chad, Chile, China, Christmas Island, Cocos (Keelin"); + add_srs_wkt (p, 28, +- "g) Islands, Comoros, Congo, Cook Islands, Costa Rica, C"); ++ "g) Islands, Comoros, Congo, Cook Islands, Costa Rica, Cô"); + add_srs_wkt (p, 29, +- "te d'Ivoire (Ivory Coast), Croatia, Cuba, Curacao, Cypr"); ++ "te d'Ivoire (Ivory Coast), Croatia, Cuba, Curacao, Cypr"); + add_srs_wkt (p, 30, + "us, Czechia, Denmark, Djibouti, Dominica, Dominican Repu"); + add_srs_wkt (p, 31, +diff --git a/src/srsinit/epsg_inlined_25.c b/src/srsinit/epsg_inlined_25.c +index 1071eb1..a09cb8c 100644 +--- a/src/srsinit/epsg_inlined_25.c ++++ b/src/srsinit/epsg_inlined_25.c +@@ -3180,9 +3180,9 @@ initialize_epsg_25 (int filter, struct epsg_defs **first, struct epsg_defs **las + add_srs_wkt (p, 26, + "lic, Chad, Chile, China, Christmas Island, Cocos (Keelin"); + add_srs_wkt (p, 27, +- "g) Islands, Comoros, Congo, Cook Islands, Costa Rica, C"); ++ "g) Islands, Comoros, Congo, Cook Islands, Costa Rica, Cô"); + add_srs_wkt (p, 28, +- "te d'Ivoire (Ivory Coast), Croatia, Cuba, Curacao, Cypr"); ++ "te d'Ivoire (Ivory Coast), Croatia, Cuba, Curacao, Cypr"); + add_srs_wkt (p, 29, + "us, Czechia, Denmark, Djibouti, Dominica, Dominican Repu"); + add_srs_wkt (p, 30, diff --git a/ports/libspatialite/gaiaconfig-msvc.patch b/ports/libspatialite/gaiaconfig-msvc.patch new file mode 100644 index 00000000000000..3bf276d70d4dfe --- /dev/null +++ b/ports/libspatialite/gaiaconfig-msvc.patch @@ -0,0 +1,31 @@ +diff --git a/src/headers/spatialite/gaiaconfig-msvc.h b/src/headers/spatialite/gaiaconfig-msvc.h +index 37f0bd1..0053258 100644 +--- a/src/headers/spatialite/gaiaconfig-msvc.h ++++ b/src/headers/spatialite/gaiaconfig-msvc.h +@@ -2,7 +2,7 @@ + /* ./src/headers/spatialite/gaiaconfig-msvc.h.in - manually maintained */ + + /* Should be defined in order to enable GCP support. */ +-#define ENABLE_GCP 1 ++// #define ENABLE_GCP 1 + + /* Should be defined in order to enable GeoPackage support. */ + #define ENABLE_GEOPACKAGE 1 +@@ -11,7 +11,7 @@ + #define ENABLE_LIBXML2 1 + + /* Should be defined in order to enable RTTOPO support. */ +-#define ENABLE_RTTOPO 1 ++// #define ENABLE_RTTOPO 1 + + /* Should be defined in order to enable GEOS_370 support. */ + #define GEOS_370 1 +@@ -32,7 +32,7 @@ + /* #undef OMIT_FREEXL */ + + /* Should be defined in order to disable GEOCALLBACKS support. */ +-#define OMIT_GEOCALLBACKS 1 ++// #define OMIT_GEOCALLBACKS 1 + + /* Should be defined in order to disable GEOS support. */ + /* #undef OMIT_GEOS */ diff --git a/ports/libspatialite/portfile.cmake b/ports/libspatialite/portfile.cmake index 0865dda66de08d..ba1682212e8ae3 100644 --- a/ports/libspatialite/portfile.cmake +++ b/ports/libspatialite/portfile.cmake @@ -1,72 +1,94 @@ -set(LIBSPATIALITE_VERSION_STR "5.0.1") vcpkg_download_distfile(ARCHIVE - URLS "https://www.gaia-gis.it/gaia-sins/libspatialite-sources/libspatialite-${LIBSPATIALITE_VERSION_STR}.tar.gz" - FILENAME "libspatialite-${LIBSPATIALITE_VERSION_STR}.tar.gz" - SHA512 c2552994bc30d69d1e80aa274760f048cd384f71e8350a1e48a47cb8222ba71a1554a69c6534eedde9a09dc582c39c089967bcc1c57bf158cc91a3e7b1840ddf + URLS "https://www.gaia-gis.it/gaia-sins/libspatialite-sources/libspatialite-${VERSION}.tar.gz" + FILENAME "libspatialite-${VERSION}.tar.gz" + SHA512 2745b373e31cea58623224def6090c491b58409803bb71231450dfa2cfdf3aafc3fc6f680585d55d085008f8cf362c3062ae67ffc7d80257775a22eb81ef1e57 ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH +vcpkg_extract_source_archive( + SOURCE_PATH ARCHIVE "${ARCHIVE}" PATCHES fix-makefiles.patch fix-linux-configure.patch + gaiaconfig-msvc.patch + fix-mingw.patch + fix-utf8-source.patch ) -if(VCPKG_TARGET_IS_WINDOWS) - if(VCPKG_CRT_LINKAGE STREQUAL "dynamic") - set(GEOS_LIBS_REL "${CURRENT_INSTALLED_DIR}/lib/geos_c.lib") - set(GEOS_LIBS_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/geos_cd.lib") - set(LIBXML2_LIBS_REL "${CURRENT_INSTALLED_DIR}/lib/libxml2.lib") - set(LIBXML2_LIBS_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/libxml2.lib") - set(LIBRTTOPO_LIBS_REL "${CURRENT_INSTALLED_DIR}/lib/librttopo.lib") - set(LIBRTTOPO_LIBS_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/librttopo.lib") - else() - set(GEOS_LIBS_REL "${CURRENT_INSTALLED_DIR}/lib/geos_c.lib ${CURRENT_INSTALLED_DIR}/lib/geos.lib") - set(GEOS_LIBS_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/geos_cd.lib ${CURRENT_INSTALLED_DIR}/debug/lib/geosd.lib") - set(LIBXML2_LIBS_REL "${CURRENT_INSTALLED_DIR}/lib/libxml2.lib ${CURRENT_INSTALLED_DIR}/lib/lzma.lib ws2_32.lib") - set(LIBXML2_LIBS_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/libxml2.lib ${CURRENT_INSTALLED_DIR}/debug/lib/lzmad.lib ws2_32.lib") - set(LIBRTTOPO_LIBS_REL "${CURRENT_INSTALLED_DIR}/lib/librttopo.lib") - set(LIBRTTOPO_LIBS_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/librttopo.lib") - endif() - - set(LIBS_ALL_DBG - "${CURRENT_INSTALLED_DIR}/debug/lib/iconv.lib \ - ${CURRENT_INSTALLED_DIR}/debug/lib/charset.lib \ - ${CURRENT_INSTALLED_DIR}/debug/lib/sqlite3.lib \ - ${CURRENT_INSTALLED_DIR}/debug/lib/freexl.lib \ - ${CURRENT_INSTALLED_DIR}/debug/lib/zlibd.lib \ - ${LIBXML2_LIBS_DBG} \ - ${GEOS_LIBS_DBG} \ - ${LIBRTTOPO_LIBS_DBG} \ - ${CURRENT_INSTALLED_DIR}/debug/lib/proj_d.lib ole32.lib shell32.lib" +vcpkg_check_features(OUT_FEATURE_OPTIONS unused + FEATURES + freexl ENABLE_FREEXL + gcp ENABLE_GCP + rttopo ENABLE_RTTOPO +) + +set(pkg_config_modules geos libxml-2.0 proj sqlite3 zlib) +if(ENABLE_FREEXL) + list(APPEND pkg_config_modules freexl) +endif() +if(ENABLE_RTTOPO) + list(APPEND pkg_config_modules rttopo) +endif() + +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + set(CL_FLAGS "") + if(NOT ENABLE_FREEXL) + string(APPEND CL_FLAGS " /DOMIT_FREEXL") + endif() + if(ENABLE_GCP) + string(APPEND CL_FLAGS " /DENABLE_GCP") + endif() + if(ENABLE_RTTOPO) + string(APPEND CL_FLAGS " /DENABLE_RTTOPO") + endif() + + x_vcpkg_pkgconfig_get_modules( + PREFIX PKGCONFIG + MODULES --msvc-syntax ${pkg_config_modules} + LIBS + CFLAGS ) - set(LIBS_ALL_REL - "${CURRENT_INSTALLED_DIR}/lib/iconv.lib \ - ${CURRENT_INSTALLED_DIR}/lib/charset.lib \ - ${CURRENT_INSTALLED_DIR}/lib/sqlite3.lib \ - ${CURRENT_INSTALLED_DIR}/lib/freexl.lib \ - ${CURRENT_INSTALLED_DIR}/lib/zlib.lib \ - ${LIBXML2_LIBS_REL} \ - ${GEOS_LIBS_REL} \ - ${LIBRTTOPO_LIBS_REL} \ - ${CURRENT_INSTALLED_DIR}/lib/proj.lib ole32.lib shell32.lib" + + set(CL_FLAGS_RELEASE "${CL_FLAGS} ${PKGCONFIG_CFLAGS_RELEASE}") + set(CL_FLAGS_DEBUG "${CL_FLAGS} ${PKGCONFIG_CFLAGS_DEBUG}") + + # vcpkg_build_nmake doesn't supply cmake's implicit link libraries + if(PKGCONFIG_LIBS_DEBUG MATCHES "libcrypto") + string(APPEND PKGCONFIG_LIBS_DEBUG " user32.lib") + endif() + if(PKGCONFIG_LIBS_RELEASE MATCHES "libcrypto") + string(APPEND PKGCONFIG_LIBS_RELEASE " user32.lib") + endif() + + string(JOIN " " LIBS_ALL_DEBUG + "/LIBPATH:${CURRENT_INSTALLED_DIR}/debug/lib" + "${PKGCONFIG_LIBS_DEBUG}" + iconv.lib charset.lib + ) + string(JOIN " " LIBS_ALL_RELEASE + "/LIBPATH:${CURRENT_INSTALLED_DIR}/lib" + "${PKGCONFIG_LIBS_RELEASE}" + iconv.lib charset.lib ) string(REPLACE "/" "\\\\" INST_DIR "${CURRENT_PACKAGES_DIR}") - list(APPEND OPTIONS_RELEASE - "INST_DIR=${INST_DIR}" "LIBS_ALL=${LIBS_ALL_REL}" - ) - list(APPEND OPTIONS_DEBUG - "LINK_FLAGS=/debug" "INST_DIR=${INST_DIR}\\debug" "LIBS_ALL=${LIBS_ALL_DBG}" - ) + if(ENABLE_RTTOPO) + list(APPEND pkg_config_modules rttopo) + endif() vcpkg_install_nmake( SOURCE_PATH "${SOURCE_PATH}" + PREFER_JOM + CL_LANGUAGE C OPTIONS_RELEASE - ${OPTIONS_RELEASE} + "CL_FLAGS=${CL_FLAGS_RELEASE}" + "INST_DIR=${INST_DIR}" + "LIBS_ALL=${LIBS_ALL_RELEASE}" OPTIONS_DEBUG - ${OPTIONS_DEBUG} + "CL_FLAGS=${CL_FLAGS_DEBUG}" + "INST_DIR=${INST_DIR}\\debug" + "LIBS_ALL=${LIBS_ALL_DEBUG}" + "LINK_FLAGS=/debug" ) vcpkg_copy_pdbs() @@ -75,48 +97,97 @@ if(VCPKG_TARGET_IS_WINDOWS) if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin") file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/spatialite_i.lib") - file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/lib/spatialite_i.lib") + if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin") + file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/lib/spatialite_i.lib") + endif() else() file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/spatialite.lib") - file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/lib/spatialite.lib") file(RENAME "${CURRENT_PACKAGES_DIR}/lib/spatialite_i.lib" "${CURRENT_PACKAGES_DIR}/lib/spatialite.lib") - file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/spatialite_i.lib" "${CURRENT_PACKAGES_DIR}/debug/lib/spatialite.lib") + if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/lib/spatialite.lib") + file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/spatialite_i.lib" "${CURRENT_PACKAGES_DIR}/debug/lib/spatialite.lib") + endif() + endif() + + set(infile "${SOURCE_PATH}/spatialite.pc.in") + set(libdir [[${prefix}/lib]]) + set(exec_prefix [[${prefix}]]) + list(JOIN pkg_config_modules " " requires_private) + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + set(includedir [[${prefix}/include]]) + set(outfile "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/spatialite.pc") + configure_file("${infile}" "${outfile}" @ONLY) + vcpkg_replace_string("${outfile}" "Libs:" "Requires.private: ${requires_private}\nLibs.private: -liconv -lcharset\nLibs:") + vcpkg_replace_string("${outfile}" " -lm" " ") endif() -else() # Build in UNIX - if(VCPKG_TARGET_IS_LINUX) - set(STDLIB stdc++) + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + set(includedir [[${prefix}/../include]]) + set(outfile "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/spatialite.pc") + configure_file("${infile}" "${outfile}" @ONLY) + vcpkg_replace_string("${outfile}" "Libs:" "Requires.private: ${requires_private}\nLibs.private: -liconv -lcharset\nLibs:") + vcpkg_replace_string("${outfile}" " -lm" " ") + endif() +else() + if(ENABLE_FREEXL) + set(FREEXL_OPTION "--enable-freexl") else() - set(STDLIB c++) + set(FREEXL_OPTION "--disable-freexl") endif() - if(VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_OSX) - SET(EXTRALIBS "-lpthread") + if(ENABLE_GCP) + set(GCP_OPTION "--enable-gcp") + else() + set(GCP_OPTION "--disable-gcp") endif() - list(APPEND OPTIONS_RELEASE - "LIBXML2_LIBS=-lxml2 -llzma" - "GEOS_LDFLAGS=-lgeos_c -lgeos -l${STDLIB}" - ) - list(APPEND OPTIONS_DEBUG - "LIBXML2_LIBS=-lxml2 -llzmad" - "GEOS_LDFLAGS=-lgeos_cd -lgeosd -l${STDLIB}" + if(ENABLE_GEOCALLBACKS) + set(GEOCALLBACKS_OPTION "--enable-geocallbacks") + else() + set(GEOCALLBACKS_OPTION "--disable-geocallbacks") + endif() + if(ENABLE_RTTOPO) + set(RTTOPO_OPTION "--enable-rttopo") + else() + set(RTTOPO_OPTION "--disable-rttopo") + endif() + list(REMOVE_ITEM pkg_config_modules libxml2) # handled properly by configure + x_vcpkg_pkgconfig_get_modules( + PREFIX PKGCONFIG + MODULES ${pkg_config_modules} + LIBS ) - + if(VCPKG_TARGET_IS_MINGW) + # Avoid system libs (as detected by cmake) in exported pc files + set(SYSTEM_LIBS "") + else() + set(SYSTEM_LIBS "\$LIBS") + endif() + # libspatialite needs some targets literally + if(VCPKG_TARGET_IS_ANDROID) + set(TARGET_ALIAS "--target=android") + elseif(VCPKG_TARGET_IS_MINGW) + set(TARGET_ALIAS "--target=mingw32") + elseif(VCPKG_TARGET_IS_OSX) + set(TARGET_ALIAS "--target=macosx") + else() + set(TARGET_ALIAS "") + endif() vcpkg_configure_make( SOURCE_PATH "${SOURCE_PATH}" AUTOCONFIG + DETERMINE_BUILD_TRIPLET OPTIONS - "LIBS=${EXTRALIBS} -ldl -lm -l${STDLIB}" - "LIBXML2_CFLAGS=-I${CURRENT_INSTALLED_DIR}/include" - "--enable-rttopo" - "--enable-gcp" - "--enable-geocallbacks" + ${TARGET_ALIAS} + ${FREEXL_OPTION} + ${GCP_OPTION} + ${RTTOPO_OPTION} "--disable-examples" "--disable-minizip" + "cross_compiling=yes" # avoid conftest rpath trouble OPTIONS_DEBUG - ${OPTIONS_DEBUG} + "LIBS=${PKGCONFIG_LIBS_DEBUG} ${SYSTEM_LIBS}" OPTIONS_RELEASE - ${OPTIONS_RELEASE} + "LIBS=${PKGCONFIG_LIBS_RELEASE} ${SYSTEM_LIBS}" ) # automake adds the basedir of the generated config to `DEFAULT_INCLUDES`, @@ -126,13 +197,46 @@ else() # Build in UNIX "${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() - vcpkg_fixup_pkgconfig() + + if(VCPKG_TARGET_IS_MINGW AND VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/plugins/${PORT}") + file(RENAME "${CURRENT_PACKAGES_DIR}/lib/mod_spatialite.dll" "${CURRENT_PACKAGES_DIR}/plugins/${PORT}/mod_spatialite.dll") + endif() + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/plugins/${PORT}") + file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/mod_spatialite.dll" "${CURRENT_PACKAGES_DIR}/debug/plugins/${PORT}/mod_spatialite.dll") + endif() + endif() endif() +vcpkg_fixup_pkgconfig() + # Handle copyright -# With rttopo and ground control points enabled, the license is GPLv2+. -file(INSTALL "${SOURCE_PATH}/src/control_points/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +set(outfile "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright") +if(NOT ENABLE_GCP AND NOT ENABLE_RTTOPO) + file(READ "${SOURCE_PATH}/COPYING" mpl) + file(WRITE "${outfile}" + "SpatiaLite[${FEATURES}] is licensed under the MPL tri-license terms;\n" + "you are free to choose the best-fit license between:\n" + "- the MPL 1.1\n" + "- the GPL v2.0 or any subsequent version\n" + "- the LGPL v2.1 or any subsequent version.\n\n" + "# MPL 1.1 (from COPYING)\n\n" + "${mpl}\n" + ) +else() + file(WRITE "${outfile}" + "SpatiaLite[${FEATURES}] is licensed under:\n" + "the GPL v2.0 or any subsequent version.\n\n" + ) +endif() +file(READ "${SOURCE_PATH}/src/control_points/COPYING" gpl) +file(APPEND "${outfile}" + "# GPL v2.0 (from src/control_points/COPYING)\n\n" + "${gpl}\n" +) diff --git a/ports/libspatialite/vcpkg.json b/ports/libspatialite/vcpkg.json index e8fd1d30cf3d3d..e1b08189d2123e 100644 --- a/ports/libspatialite/vcpkg.json +++ b/ports/libspatialite/vcpkg.json @@ -1,16 +1,52 @@ { "name": "libspatialite", - "version": "5.0.1", + "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": [ - "freexl", "geos", "libiconv", - "librttopo", - "libxml2", - "proj4", - "sqlite3", + { + "name": "libxml2", + "default-features": false, + "features": [ + "http" + ] + }, + "proj", + { + "name": "sqlite3", + "default-features": false, + "features": [ + "rtree" + ] + }, + { + "name": "vcpkg-pkgconfig-get-modules", + "host": true + }, "zlib" - ] + ], + "default-features": [ + "freexl" + ], + "features": { + "freexl": { + "description": "FreeXL spreadsheet file support.", + "dependencies": [ + "freexl" + ] + }, + "gcp": { + "description": "Ground control points support. This feature reduces the license options to GPLv2+." + }, + "rttopo": { + "description": "RTTOPO support. This feature reduces the license options to GPLv2+.", + "dependencies": [ + "librttopo" + ] + } + } } diff --git a/ports/libspnav/portfile.cmake b/ports/libspnav/portfile.cmake index 35d012519480c5..89bf76c4457d94 100644 --- a/ports/libspnav/portfile.cmake +++ b/ports/libspnav/portfile.cmake @@ -1,5 +1,3 @@ -vcpkg_fail_port_install(ON_TARGET "windows" "uwp" "osx") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO FreeSpacenav/libspnav diff --git a/ports/libspnav/vcpkg.json b/ports/libspnav/vcpkg.json index f3bb1f791e0cc5..1c9557d3e6a22c 100644 --- a/ports/libspnav/vcpkg.json +++ b/ports/libspnav/vcpkg.json @@ -1,7 +1,7 @@ { "name": "libspnav", - "version-string": "0.2.3", - "port-version": 1, + "version": "0.2.3", + "port-version": 2, "description": "Library for communicating with spacenavd or 3dxsrv to get input from 6-dof devices.", "homepage": "https://github.com/FreeSpacenav/libspnav", "supports": "linux" 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/export-target.patch b/ports/libsquish/export-target.patch index 78f5f30f584504..92df9e6ad7dd9a 100644 --- a/ports/libsquish/export-target.patch +++ b/ports/libsquish/export-target.patch @@ -1,8 +1,17 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index a3ecdde..94c7b3d 100644 +index a3ecdde..6aa9e64 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -120,8 +120,14 @@ INCLUDE(GNUInstallDirs) +@@ -75,6 +75,8 @@ INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}) + + ADD_LIBRARY(squish ${SQUISH_SRCS} ${SQUISH_HDRS}) + ++TARGET_INCLUDE_DIRECTORIES(squish PUBLIC $) ++ + INCLUDE(GenerateExportHeader) + GENERATE_EXPORT_HEADER(squish + EXPORT_FILE_NAME ${CMAKE_CURRENT_SOURCE_DIR}/squish_export.h +@@ -120,8 +122,14 @@ INCLUDE(GNUInstallDirs) INSTALL( TARGETS squish diff --git a/ports/libsquish/portfile.cmake b/ports/libsquish/portfile.cmake index 80c4ef54ba7663..9112e11f47a658 100644 --- a/ports/libsquish/portfile.cmake +++ b/ports/libsquish/portfile.cmake @@ -7,11 +7,20 @@ vcpkg_from_sourceforge( PATCHES fix-export-symbols.patch export-target.patch + cmake-version.patch +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + sse2 BUILD_SQUISH_WITH_SSE2 ) vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" DISABLE_PARALLEL_CONFIGURE + OPTIONS + ${FEATURE_OPTIONS} + -DBUILD_SQUISH_WITH_OPENMP=OFF ) vcpkg_cmake_install() diff --git a/ports/libsquish/vcpkg.json b/ports/libsquish/vcpkg.json index 3d247cb935b6db..1d1d947b95a66e 100644 --- a/ports/libsquish/vcpkg.json +++ b/ports/libsquish/vcpkg.json @@ -1,9 +1,10 @@ { "name": "libsquish", - "version-string": "1.15", - "port-version": 9, + "version": "1.15", + "port-version": 14, "description": "Open source DXT compression library.", "homepage": "https://sourceforge.net/projects/libsquish", + "license": "MIT", "dependencies": [ { "name": "vcpkg-cmake", @@ -13,5 +14,11 @@ "name": "vcpkg-cmake-config", "host": true } - ] + ], + "features": { + "sse2": { + "description": "Build with SSE2", + "supports": "osx & x64" + } + } } 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 new file mode 100644 index 00000000000000..6080c915a430a7 --- /dev/null +++ b/ports/libsrt/fix-static.patch @@ -0,0 +1,26 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 3f08b6a..88e636b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1026,20 +1026,7 @@ endif() + + if (srt_libspec_static) + add_library(${TARGET_srt}_static STATIC ${OBJECT_LIB_SUPPORT} ${VIRTUAL_srt}) +- +- # For Windows, leave the name to be "srt_static.lib". +- # Windows generates two different library files: +- # - a usual static library for static linkage +- # - a shared library exposer, which allows pre-resolution and later dynamic +- # linkage when running the executable +- # Both having unfortunately the same names created by MSVC compiler. +- # It's not the case of Cygwin/MINGW - they are named there libsrt.a and libsrt.dll.a +- if (MICROSOFT) +- # Keep _static suffix. By unknown reason, the name must still be set explicitly. +- set_property(TARGET ${TARGET_srt}_static PROPERTY OUTPUT_NAME ${TARGET_srt}_static) +- else() +- set_property(TARGET ${TARGET_srt}_static PROPERTY OUTPUT_NAME ${TARGET_srt}) +- endif() ++ set_property(TARGET ${TARGET_srt}_static PROPERTY OUTPUT_NAME ${TARGET_srt}) + + list (APPEND INSTALL_TARGETS ${TARGET_srt}_static) + if (ENABLE_ENCRYPTION) 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 23ae59ccd53db0..2109919f3c0a03 100644 --- a/ports/libsrt/portfile.cmake +++ b/ports/libsrt/portfile.cmake @@ -1,33 +1,31 @@ -vcpkg_fail_port_install(ON_TARGET "UWP") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Haivision/srt - REF v1.4.4 - SHA512 0D51E0EF73F4AA7EB284288CDBBD75B1C161969C2C2FED3A6D4E13A931341CA41DFCF2D6C1B9728F72B43454A9FDE3764DA67A27AF9F0C99A6818682E4F4D4BA + REF "v${VERSION}" + SHA512 5b576d6fd325515e05074e4568e3b65d1ae265e3e971db6e6242e5138243fc1594df1e3a7d90962385dac38abc34c4c4b0a567439050f8c0ff818b3b3d497efc HEAD_REF master - PATCHES fix-dependency-install.patch + PATCHES + fix-static.patch + pkgconfig.diff + fix-tool.patch ) -if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - set(BUILD_DYNAMIC ON) - set(BUILD_STATIC OFF) -else() - set(BUILD_DYNAMIC OFF) - set(BUILD_STATIC ON) -endif() +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" KEYSTONE_BUILD_STATIC) +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 ) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${FEATURE_OPTIONS} - -DENABLE_SHARED=${BUILD_DYNAMIC} - -DENABLE_STATIC=${BUILD_STATIC} + -DENABLE_CXX11=ON + -DENABLE_STATIC=${KEYSTONE_BUILD_STATIC} + -DENABLE_SHARED=${KEYSTONE_BUILD_SHARED} -DENABLE_UNITTESTS=OFF -DUSE_OPENSSL_PC=OFF ) @@ -36,6 +34,24 @@ vcpkg_cmake_install() vcpkg_copy_pdbs() vcpkg_fixup_pkgconfig() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +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() + +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") -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/libsrt/vcpkg.json b/ports/libsrt/vcpkg.json index 5de788840aed97..fa980bf75f2d5a 100644 --- a/ports/libsrt/vcpkg.json +++ b/ports/libsrt/vcpkg.json @@ -1,18 +1,26 @@ { "name": "libsrt", - "version": "1.4.4", - "port-version": 1, + "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", - "supports": "!uwp", + "license": "MPL-2.0", + "supports": "!uwp & !xbox", "dependencies": [ "openssl", { "name": "vcpkg-cmake", "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true } ], "features": { + "bonding": { + "description": "Enables the Connection Bonding feature" + }, "tool": { "description": "Builds libsrt executable" } diff --git a/ports/libsrtp/cmake-project-include.cmake b/ports/libsrtp/cmake-project-include.cmake new file mode 100644 index 00000000000000..32269c847bf36f --- /dev/null +++ b/ports/libsrtp/cmake-project-include.cmake @@ -0,0 +1,3 @@ +if(MSVC) + string(APPEND CMAKE_CFLAGS " /wd4703") +endif() diff --git a/ports/libsrtp/fix-runtime-destination.patch b/ports/libsrtp/fix-runtime-destination.patch new file mode 100644 index 00000000000000..ba97cc1135bc1d --- /dev/null +++ b/ports/libsrtp/fix-runtime-destination.patch @@ -0,0 +1,12 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d548e78..4a839e2 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -262,6 +262,7 @@ endif() + + install(TARGETS srtp2 DESTINATION lib + EXPORT libSRTPTargets ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" + ) + + install(FILES include/srtp.h crypto/include/auth.h diff --git a/ports/libsrtp/portfile.cmake b/ports/libsrtp/portfile.cmake index 2a1b5bea6e23c7..1e106fdea035d2 100644 --- a/ports/libsrtp/portfile.cmake +++ b/ports/libsrtp/portfile.cmake @@ -1,31 +1,29 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO cisco/libsrtp - REF v2.4.2 - SHA512 6E4805E6D34B2050A6F68F629B0B42356B1D27F2CBAA6CC6166E56957609C3D9AA6B723DCC674E5C74180D122D27BADD2F9496639CCB1E0C210B9E1F7949D0E2 + REF "v${VERSION}" + SHA512 bd679ab65ccf22ca30fe867b9649a0b84cfa6fad6e22eb10f081141632f6dd56479a04d525b865f11fd46007303ca211065d9c170e4820d6ea7055403702340a + PATCHES + fix-runtime-destination.patch ) -if (VCPKG_TARGET_IS_WINDOWS) - set(VCPKG_C_FLAGS "${VCPKG_C_FLAGS} /wd4703") - set(VCPKG_CXX_FLAGS "${VCPKG_CXX_FLAGS} /wd4703") -endif() +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + openssl ENABLE_OPENSSL +) -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - PREFER_NINJA + OPTIONS + "-DCMAKE_PROJECT_INCLUDE=${CMAKE_CURRENT_LIST_DIR}/cmake-project-include.cmake" + -DTEST_APPS=OFF + ${FEATURE_OPTIONS} ) -vcpkg_install_cmake() +vcpkg_cmake_install() -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/libSRTP) -if(EXISTS "${CURRENT_PACKAGES_DIR}/lib/srtp2.dll") - file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/bin") - file(RENAME "${CURRENT_PACKAGES_DIR}/lib/srtp2.dll" "${CURRENT_PACKAGES_DIR}/bin/srtp2.dll") -endif() -if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/lib/srtp2.dll") - file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/bin") - file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/srtp2.dll" "${CURRENT_PACKAGES_DIR}/debug/bin/srtp2.dll") -endif() +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/libsrtp" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/libsrtp/vcpkg.json b/ports/libsrtp/vcpkg.json index 234d7faf1bfd55..c6f64a8269e8e6 100644 --- a/ports/libsrtp/vcpkg.json +++ b/ports/libsrtp/vcpkg.json @@ -1,5 +1,26 @@ { "name": "libsrtp", - "version": "2.4.2", - "description": "This package provides an implementation of the Secure Real-time Transport Protocol (SRTP), the Universal Security Transform (UST), and a supporting cryptographic kernel." + "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", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "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 c84510ce58661d..bd4e4c03d59b25 100644 --- a/ports/libssh/0001-export-pkgconfig-file.patch +++ b/ports/libssh/0001-export-pkgconfig-file.patch @@ -1,43 +1,75 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 1f5b0bf5..c51fb0d3 100644 +index a64b770..716bb34 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -111,8 +111,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) - configure_file(libssh.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/libssh.pc) -+ 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 () +-if (UNIX OR MINGW) + configure_file(libssh.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/libssh.pc @ONLY) install( FILES - ${CMAKE_CURRENT_BINARY_DIR}/libssh.pc -@@ -121,7 +141,6 @@ install( +@@ -132,7 +139,6 @@ install( COMPONENT pkgconfig ) --endif (UNIX) +-endif (UNIX OR MINGW) # 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/0004-file-permissions-constants.patch b/ports/libssh/0004-file-permissions-constants.patch new file mode 100644 index 00000000000000..1040f9b7444e5b --- /dev/null +++ b/ports/libssh/0004-file-permissions-constants.patch @@ -0,0 +1,15 @@ +diff --git a/src/misc.c b/src/misc.c +--- a/src/misc.c (revision 9941e89f307e73352d887cac14e4e26b481a0a82) ++++ b/src/misc.c (date 1675868320486) +@@ -24,6 +24,11 @@ + + #include "config.h" + ++#ifdef __ANDROID__ ++#define _S_IWRITE S_IWUSR ++#define S_IWRITE S_IWUSR ++#endif ++ + #ifndef _WIN32 + /* This is needed for a standard getpwuid_r on opensolaris */ + #define _POSIX_PTHREAD_SEMANTICS diff --git a/ports/libssh/portfile.cmake b/ports/libssh/portfile.cmake index 3cd1ea915a63c5..6886bba903c5c1 100644 --- a/ports/libssh/portfile.cmake +++ b/ports/libssh/portfile.cmake @@ -1,68 +1,55 @@ -vcpkg_fail_port_install(ON_TARGET "UWP") - -vcpkg_from_git( - OUT_SOURCE_PATH SOURCE_PATH - URL https://git.libssh.org/projects/libssh.git - REF 47fd6e56c1058dca54afee1638c11fb6ec41911d # REFERENCE VERSION 0.9.6 +vcpkg_download_distfile(distfile + URLS https://www.libssh.org/files/0.10/libssh-${VERSION}.tar.xz + FILENAME libssh-${VERSION}.tar.xz + 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_GSSAPI=OFF -DWITH_NACL=OFF - -DWITH_GSSAPI=OFF) + -DWITH_SYMBOL_VERSIONING=OFF +) vcpkg_cmake_install() -vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) 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" - "#ifdef LIBSSH_STATIC" - "#if 1" - ) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/libssh/libssh.h" + "#ifdef LIBSSH_STATIC" + "#if 1" + ) endif() -if(VCPKG_TARGET_IS_WINDOWS) - vcpkg_replace_string( - "${CURRENT_PACKAGES_DIR}/share/libssh/libssh-config.cmake" - ".dll" - ".lib" - ) -endif() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/libssh) + +file(READ "${CURRENT_PACKAGES_DIR}/share/libssh/libssh-config.cmake" cmake_config) +file(WRITE "${CURRENT_PACKAGES_DIR}/share/libssh/libssh-config.cmake" " +include(CMakeFindDependencyMacro) +set(THREADS_PREFER_PTHREAD_FLAG ON) +find_dependency(Threads) +${cmake_config}" +) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL "${SOURCE_PATH}/COPYING" 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}/COPYING") diff --git a/ports/libssh/usage b/ports/libssh/usage deleted file mode 100644 index 39cb551c35213c..00000000000000 --- a/ports/libssh/usage +++ /dev/null @@ -1,4 +0,0 @@ -The package libssh is compatible with built-in 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 28a190f64d784c..49c1f760b2504f 100644 --- a/ports/libssh/vcpkg.json +++ b/ports/libssh/vcpkg.json @@ -1,17 +1,14 @@ { "name": "libssh", - "version": "0.9.6", + "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/", - "supports": "!(uwp | arm)", + "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", @@ -23,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/0001-Fix-UWP.patch b/ports/libssh2/0001-Fix-UWP.patch deleted file mode 100644 index 8a7190f8982947..00000000000000 --- a/ports/libssh2/0001-Fix-UWP.patch +++ /dev/null @@ -1,64 +0,0 @@ -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 6401acf..64de3e9 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -349,7 +349,7 @@ target_include_directories(libssh2 PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) - # Check for the OS. - # Daniel's note: this should not be necessary and we need to work to - # get this removed. --if(${CMAKE_SYSTEM_NAME} STREQUAL "Windows") -+if(${CMAKE_SYSTEM_NAME} STREQUAL "Windows" OR ${CMAKE_SYSTEM_NAME} STREQUAL "WindowsStore") - target_compile_definitions(libssh2 PRIVATE LIBSSH2_WIN32) - elseif(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin") - target_compile_definitions(libssh2 PRIVATE LIBSSH2_DARWIN) -diff --git a/src/agent.c b/src/agent.c -index c2ba422..f1799f8 100644 ---- a/src/agent.c -+++ b/src/agent.c -@@ -55,6 +55,10 @@ - #include - #endif - -+#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY != WINAPI_FAMILY_DESKTOP_APP) -+#define IS_UWP 1 -+#endif /* #if defined(WINAPI_FAMILY) */ -+ - /* Requests from client to agent for protocol 1 key operations */ - #define SSH_AGENTC_REQUEST_RSA_IDENTITIES 1 - #define SSH_AGENTC_RSA_CHALLENGE 3 -@@ -254,7 +258,7 @@ struct agent_ops agent_ops_unix = { - }; - #endif /* PF_UNIX */ - --#ifdef WIN32 -+#if defined(WIN32) && !defined(IS_UWP) - /* Code to talk to Pageant was taken from PuTTY. - * - * Portions copyright Robert de Bath, Joris van Rantwijk, Delian -@@ -362,8 +366,8 @@ static struct { - const char *name; - struct agent_ops *ops; - } supported_backends[] = { --#ifdef WIN32 -- {"Pageant", &agent_ops_pageant}, -+#if defined(WIN32) && !defined(IS_UWP) -+ {"Pageant", &agent_ops_pageant}, - {"OpenSSH", &agent_ops_openssh}, - #endif /* WIN32 */ - #ifdef PF_UNIX -diff --git a/src/agent_win.c b/src/agent_win.c ---- a/src/agent_win.c -+++ b/src/agent_win.c -@@ -55,7 +55,11 @@ - #include - #endif - --#ifdef WIN32 -+#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY != WINAPI_FAMILY_DESKTOP_APP) -+#define IS_UWP 1 -+#endif /* #if defined(WINAPI_FAMILY) */ -+ -+#if defined(WIN32) && !defined(IS_UWP) - /* Code to talk to OpenSSH was taken and modified from the Win32 port of - * Portable OpenSSH by the PowerShell team. Commit - * 8ab565c53f3619d6a1f5ac229e212cad8a52852c of diff --git a/ports/libssh2/LICENSE b/ports/libssh2/LICENSE deleted file mode 100644 index d629fbd3f49bcd..00000000000000 --- a/ports/libssh2/LICENSE +++ /dev/null @@ -1,41 +0,0 @@ -/* Copyright (c) 2004-2007 Sara Golemon - * Copyright (c) 2005,2006 Mikhail Gusarov - * Copyright (c) 2006-2007 The Written Word, Inc. - * Copyright (c) 2007 Eli Fant - * Copyright (c) 2009-2014 Daniel Stenberg - * Copyright (C) 2008, 2009 Simon Josefsson - * All rights reserved. - * - * Redistribution and use in source and binary forms, - * with or without modification, are permitted provided - * that the following conditions are met: - * - * Redistributions of source code must retain the above - * copyright notice, this list of conditions and the - * following disclaimer. - * - * 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. - * - * Neither the name of the copyright holder nor the names - * of any other 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 OWNER 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. - */ \ No newline at end of file diff --git a/ports/libssh2/portfile.cmake b/ports/libssh2/portfile.cmake index 7949dc64e69755..0781394d8b471e 100644 --- a/ports/libssh2/portfile.cmake +++ b/ports/libssh2/portfile.cmake @@ -1,32 +1,62 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libssh2/libssh2 - REF libssh2-1.10.0 - SHA512 615E28880695911F5700CC7AC3DDA6B894384C0B1D8B02B53C2EB58F1839F47211934A292F490AD7DDEF7E63F332E0EBF44F8E6334F64BE8D143C72032356C1F + REF "libssh2-${VERSION}" + SHA512 616efcd7f5c1fb1046104ebce70549e4756e2a55150efa2df5bb7123051d3bf336023cedcbfe932cd7c690a0b4d1f1a93c760ea39f1dba50c2b06d0945dca958 HEAD_REF master - PATCHES "${CMAKE_CURRENT_LIST_DIR}/0001-Fix-UWP.patch" ) -vcpkg_configure_cmake( +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + zlib ENABLE_ZLIB_COMPRESSION + INVERTED_FEATURES + zlib CMAKE_DISABLE_FIND_PACKAGE_ZLIB # for use by the cryto backend +) +if("openssl" IN_LIST FEATURES) + list(APPEND FEATURE_OPTIONS "-DCRYPTO_BACKEND=OpenSSL") +elseif(VCPKG_TARGET_IS_WINDOWS) + list(APPEND FEATURE_OPTIONS "-DCRYPTO_BACKEND=WinCNG") +else() + message(FATAL_ERROR "Port ${PORT} only supports OpenSSL and WinCNG crypto backends.") +endif() +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + list(APPEND FEATURE_OPTIONS "-DBUILD_STATIC_LIBS:BOOL=OFF") +endif() + +vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_EXAMPLES=OFF -DBUILD_TESTING=OFF - -DENABLE_ZLIB_COMPRESSION=ON + ${FEATURE_OPTIONS} OPTIONS_DEBUG -DENABLE_DEBUG_LOGGING=OFF + MAYBE_UNUSED_VARIABLES + CMAKE_DISABLE_FIND_PACKAGE_ZLIB ) -vcpkg_install_cmake() +vcpkg_cmake_install() +vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/pkgconfig") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share") +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/libssh2) -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/libssh2) +if (VCPKG_TARGET_IS_WINDOWS) + 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") + if(NOT VCPKG_BUILD_TYPE) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libssh2.pc" " -lssh2" " -llibssh2") + endif() + endif() +endif() -file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/libssh2" RENAME copyright) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/doc") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/man") -vcpkg_copy_pdbs() +file(INSTALL "${CURRENT_PORT_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/libssh2/usage b/ports/libssh2/usage new file mode 100644 index 00000000000000..796dd2f47a0c4f --- /dev/null +++ b/ports/libssh2/usage @@ -0,0 +1,4 @@ +libssh2 provides CMake targets: + + 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 9dc048318fad39..de18cb551f20bf 100644 --- a/ports/libssh2/vcpkg.json +++ b/ports/libssh2/vcpkg.json @@ -1,10 +1,43 @@ { "name": "libssh2", - "version": "1.10.0", + "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", "dependencies": [ + { + "name": "libssh2", + "default-features": false, + "features": [ + "openssl" + ], + "platform": "!windows" + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "default-features": [ "openssl", "zlib" - ] + ], + "features": { + "openssl": { + "description": "Use the openssl crypto backend", + "dependencies": [ + "openssl" + ] + }, + "zlib": { + "description": "Use compression via zlib", + "dependencies": [ + "zlib" + ] + } + } } 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 e28f90cc5803a8..253027ad72e006 100644 --- a/ports/libstemmer/portfile.cmake +++ b/ports/libstemmer/portfile.cmake @@ -1,24 +1,24 @@ 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_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} +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}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON ) -vcpkg_install_cmake() +vcpkg_cmake_install() -file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libstemmer RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/libstemmer/vcpkg.json b/ports/libstemmer/vcpkg.json index 8dee5abc54e5e4..03e8275d0b25ec 100644 --- a/ports/libstemmer/vcpkg.json +++ b/ports/libstemmer/vcpkg.json @@ -1,7 +1,12 @@ { "name": "libstemmer", - "version-string": "2017-9", - "port-version": 6, + "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 + } + ] } diff --git a/ports/libstk/portfile.cmake b/ports/libstk/portfile.cmake index ffb9eeb8bb9b18..843aef10ef561e 100644 --- a/ports/libstk/portfile.cmake +++ b/ports/libstk/portfile.cmake @@ -8,24 +8,23 @@ vcpkg_from_github( HEAD_REF master ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-libstk TARGET_PATH share/unofficial-libstk) +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-libstk) vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") # Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libstk RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) -file(GLOB RAWFILES ${SOURCE_PATH}/rawwaves/*.raw) -file(COPY ${RAWFILES} DESTINATION ${CURRENT_PACKAGES_DIR}/share/libstk/rawwaves) +file(GLOB RAWFILES "${SOURCE_PATH}/rawwaves/*.raw") +file(COPY ${RAWFILES} DESTINATION "${CURRENT_PACKAGES_DIR}/share/libstk/rawwaves") diff --git a/ports/libstk/vcpkg.json b/ports/libstk/vcpkg.json index 0c4d3073108de1..39abd67e97ceb9 100644 --- a/ports/libstk/vcpkg.json +++ b/ports/libstk/vcpkg.json @@ -1,6 +1,16 @@ { "name": "libstk", - "version-string": "4.6.1", - "port-version": 1, - "description": "The Synthesis ToolKit in C++ (STK) is a set of open source audio signal processing and algorithmic synthesis classes written in the C++ programming language." + "version": "4.6.1", + "port-version": 3, + "description": "The Synthesis ToolKit in C++ (STK) is a set of open source audio signal processing and algorithmic synthesis classes written in the C++ programming language.", + "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 674014c0f62441..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 v325 - SHA512 D5323B128DFCDC7F64B2161E70FA7999C0A93D47C90B366BE066AA01EA92B5817F04812DEF2E05469DEE1F26C6A83DA5E50EEAE3F50B4062D9B24AC0944C6203 + 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 d99a9112d899bc..9914a2975813e4 100644 --- a/ports/libsvm/vcpkg.json +++ b/ports/libsvm/vcpkg.json @@ -1,6 +1,6 @@ { "name": "libsvm", - "version": "3.25", + "version": "3.35", "description": "A library for Support Vector Machines.", "homepage": "https://www.csie.ntu.edu.tw/~cjlin/libsvm/", "dependencies": [ @@ -15,7 +15,8 @@ ], "features": { "tools": { - "description": "build libsvm CLI tools." + "description": "build libsvm CLI tools.", + "supports": "!uwp" } } } 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 new file mode 100644 index 00000000000000..8a7b82ca2cd69f --- /dev/null +++ b/ports/libsystemd/pkgconfig.patch @@ -0,0 +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 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: {{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 new file mode 100644 index 00000000000000..b35fe225d92655 --- /dev/null +++ b/ports/libsystemd/portfile.cmake @@ -0,0 +1,78 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO systemd/systemd + REF "v${VERSION}" + 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 + -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}']" +) + +vcpkg_install_meson() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +vcpkg_fixup_pkgconfig() + +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 new file mode 100644 index 00000000000000..97beddf25f3f64 --- /dev/null +++ b/ports/libsystemd/vcpkg.json @@ -0,0 +1,24 @@ +{ + "name": "libsystemd", + "version": "256.4", + "description": "Libsystemd", + "homepage": "https://github.com/systemd/systemd", + "license": null, + "supports": "linux", + "dependencies": [ + { + "name": "gperf", + "host": true + }, + "libcap", + "liblzma", + "libmount", + "libxcrypt", + "lz4", + { + "name": "vcpkg-tool-meson", + "host": true + }, + "zstd" + ] +} diff --git a/ports/libtar/portfile.cmake b/ports/libtar/portfile.cmake new file mode 100644 index 00000000000000..23ba8c9563ff3c --- /dev/null +++ b/ports/libtar/portfile.cmake @@ -0,0 +1,15 @@ +vcpkg_from_git( + OUT_SOURCE_PATH SOURCE_PATH + URL https://repo.or.cz/libtar.git + REF 6d0ab4c78e7a8305c36a0c3d63fd25cd1493de65 # latest on master +) + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" +) + +vcpkg_install_make() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYRIGHT") diff --git a/ports/libtar/vcpkg.json b/ports/libtar/vcpkg.json new file mode 100644 index 00000000000000..d07de7154ab632 --- /dev/null +++ b/ports/libtar/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "libtar", + "version": "1.2.20", + "description": "libtar - C library for manipulating tar files", + "homepage": "https://repo.or.cz/libtar.git", + "supports": "!windows" +} diff --git a/ports/libtasn1/clang-fortify.patch b/ports/libtasn1/clang-fortify.patch new file mode 100644 index 00000000000000..0631b6bc08ab41 --- /dev/null +++ b/ports/libtasn1/clang-fortify.patch @@ -0,0 +1,64 @@ +diff --git a/lib/gl/cdefs.h b/lib/gl/cdefs.h +index 7b8ed5b..63574f9 100644 +--- a/lib/gl/cdefs.h ++++ b/lib/gl/cdefs.h +@@ -140,6 +140,7 @@ + #endif + + ++#ifndef __GNULIB_CDEFS + /* Fortify support. */ + #define __bos(ptr) __builtin_object_size (ptr, __USE_FORTIFY_LEVEL > 1) + #define __bos0(ptr) __builtin_object_size (ptr, 0) +@@ -201,6 +202,8 @@ + ? __ ## f ## _chk_warn (__VA_ARGS__, (__osz) / (__s)) \ + : __ ## f ## _chk (__VA_ARGS__, (__osz) / (__s)))) \ + ++#endif ++ + #if __GNUC_PREREQ (4,3) + # define __warnattr(msg) __attribute__((__warning__ (msg))) + # define __errordecl(name, msg) \ +diff --git a/lib/gl/libc-config.h b/lib/gl/libc-config.h +index a56665b..876e1a1 100644 +--- a/lib/gl/libc-config.h ++++ b/lib/gl/libc-config.h +@@ -137,8 +137,10 @@ + # undef __attribute_returns_twice__ + # undef __attribute_used__ + # undef __attribute_warn_unused_result__ ++# ifndef __GNULIB_CDEFS + # undef __bos + # undef __bos0 ++# endif + # undef __errordecl + # undef __extension__ + # undef __extern_always_inline +@@ -147,21 +149,27 @@ + # undef __fortified_attr_access + # undef __fortify_function + # undef __glibc_c99_flexarr_available ++# ifndef __GNULIB_CDEFS + # undef __glibc_fortify + # undef __glibc_fortify_n ++# endif + # undef __glibc_has_attribute + # undef __glibc_has_builtin + # undef __glibc_has_extension + # undef __glibc_likely + # undef __glibc_macro_warning + # undef __glibc_macro_warning1 ++# ifndef __GNULIB_CDEFS + # undef __glibc_objsize + # undef __glibc_objsize0 + # undef __glibc_safe_len_cond + # undef __glibc_safe_or_unknown_len ++# endif + # undef __glibc_unlikely ++# ifndef __GNULIB_CDEFS + # undef __glibc_unsafe_len + # undef __glibc_unsigned_or_positive ++# endif + # undef __inline + # undef __ptr_t + # undef __restrict diff --git a/ports/libtasn1/msvc_fixes.patch b/ports/libtasn1/msvc_fixes.patch index 0554ff60a20c42..5ed4e9992b0c37 100644 --- a/ports/libtasn1/msvc_fixes.patch +++ b/ports/libtasn1/msvc_fixes.patch @@ -75,12 +75,12 @@ index 3272649..6b6bf32 100644 --- a/src/benchmark.h +++ b/src/benchmark.h @@ -21,7 +21,9 @@ + #ifndef BENCHMARK_H # define BENCHMARK_H - #include +#ifndef _MSC_VER - #include + # include +#endif - #include - #include - #if defined _WIN32 + # include + # include + # if defined _WIN32 diff --git a/ports/libtasn1/portfile.cmake b/ports/libtasn1/portfile.cmake index 902dff196bf620..915e569bd55035 100644 --- a/ports/libtasn1/portfile.cmake +++ b/ports/libtasn1/portfile.cmake @@ -1,23 +1,20 @@ -set(VERSION 4.17.0) - -if(VCPKG_TARGET_IS_WINDOWS) - set(PATCHES msvc_fixes.patch) -endif() - vcpkg_download_distfile(ARCHIVE URLS "https://ftp.gnu.org/gnu/libtasn1/libtasn1-${VERSION}.tar.gz" + "https://www.mirrorservice.org/sites/ftp.gnu.org/gnu/libtasn1/libtasn1-${VERSION}.tar.gz" FILENAME "libtasn1-${VERSION}.tar.gz" - SHA512 9cbd920196d1e4c8f5aa613259cded2510d40edb583ce20cc2702e2dee9bf32bee85a159c74600ffbebc2af2787e28ed0fe0adf15fc46839283747f4fe166d3d + SHA512 287f5eddfb5e21762d9f14d11997e56b953b980b2b03a97ed4cd6d37909bda1ed7d2cdff9da5d270a21d863ab7e54be6b85c05f1075ac5d8f0198997cf335ef4 ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} - REF ${VERSION} +vcpkg_extract_source_archive(SOURCE_PATH + ARCHIVE "${ARCHIVE}" + SOURCE_BASE "v${VERSION}" PATCHES - ${PATCHES} + msvc_fixes.patch + clang-fortify.patch # ported from https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=522aea1093a598246346b3e1c426505c344fe19a ) +vcpkg_find_acquire_program(BISON) + set(EXTRA_OPTS "") if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) # $LIBS is an environment variable that vcpkg already pre-populated with some libraries. @@ -34,19 +31,29 @@ if (VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL "static") list(APPEND EXTRA_OPTS "CFLAGS=\$CFLAGS -DASN1_STATIC") endif() -set(ENV{GTKDOCIZE} true) +set(ENV{GTKDOCIZE} true) # true, the program vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" AUTOCONFIG - SOURCE_PATH ${SOURCE_PATH} OPTIONS --disable-doc --disable-gtk-doc --disable-gcc-warnings ${EXTRA_OPTS} + "YACC=${BISON}" ) vcpkg_install_make() vcpkg_fixup_pkgconfig() -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/tools" "${CURRENT_PACKAGES_DIR}/debug/share") -file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug" +) + +vcpkg_install_copyright( + FILE_LIST + "${SOURCE_PATH}/COPYING" + "${SOURCE_PATH}/doc/COPYING.LESSER" + "${SOURCE_PATH}/doc/COPYING" +) diff --git a/ports/libtasn1/vcpkg.json b/ports/libtasn1/vcpkg.json index fd021c21c3d216..88f0abb26437d6 100644 --- a/ports/libtasn1/vcpkg.json +++ b/ports/libtasn1/vcpkg.json @@ -1,9 +1,10 @@ { "name": "libtasn1", - "version": "4.17.0", - "port-version": 3, + "version": "4.19.0", + "port-version": 1, "description": "A secure communications library implementing the SSL, TLS and DTLS protocols", "homepage": "https://www.gnutls.org/", + "license": null, "supports": "!uwp", "dependencies": [ { diff --git a/ports/libtcod/portfile.cmake b/ports/libtcod/portfile.cmake index e28639eef3a647..0c8051c7947d2f 100644 --- a/ports/libtcod/portfile.cmake +++ b/ports/libtcod/portfile.cmake @@ -1,9 +1,19 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libtcod/libtcod - REF 1.19.0 - SHA512 462c3deadaeaaf3adb44427d41c4e8c1acc2c37ef90677d8d60e8194f9c190bc7e02b0cf2b285e248171354f8d73f1dd28144cfe8a98a469e1071448bce9e68b - HEAD_REF develop + REF 1.24.0 + SHA512 21aae343297ea4aefb89f3bc8fd06c7059e4f59dc34c26ef294f4211873f29bf26b5c600746db8af7eda9e9f5ab270bfd862ab34ae3c409051dcad6bb219df8a + HEAD_REF main +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + INVERTED_FEATURES + "png" CMAKE_DISABLE_FIND_PACKAGE_lodepng-c + "sdl" CMAKE_DISABLE_FIND_PACKAGE_SDL2 + "threads" CMAKE_DISABLE_FIND_PACKAGE_Threads + "unicode" CMAKE_DISABLE_FIND_PACKAGE_utf8proc + "unicode" CMAKE_DISABLE_FIND_PACKAGE_unofficial-utf8proc + "zlib" CMAKE_DISABLE_FIND_PACKAGE_ZLIB ) vcpkg_cmake_configure( @@ -13,10 +23,9 @@ vcpkg_cmake_configure( -DCMAKE_INSTALL_INCLUDEDIR=${CURRENT_PACKAGES_DIR}/include -DLIBTCOD_SDL2=find_package -DLIBTCOD_ZLIB=find_package - -DLIBTCOD_GLAD=find_package -DLIBTCOD_LODEPNG=find_package -DLIBTCOD_UTF8PROC=vcpkg - -DLIBTCOD_STB=vcpkg + -DLIBTCOD_STB=find_package ) vcpkg_cmake_install() diff --git a/ports/libtcod/vcpkg.json b/ports/libtcod/vcpkg.json index 2f3f2db951bd5f..5e5a205e0fa4c0 100644 --- a/ports/libtcod/vcpkg.json +++ b/ports/libtcod/vcpkg.json @@ -1,16 +1,13 @@ { "name": "libtcod", - "version-semver": "1.19.0", + "version": "1.24.0", "maintainers": "Kyle Benesch <4b796c65+github@gmail.com>", "description": "Common algorithms and tools for roguelikes.", "homepage": "https://github.com/libtcod/libtcod", "documentation": "https://libtcod.readthedocs.io/en/latest/", + "license": "BSD-3-Clause", "dependencies": [ - "glad", - "lodepng-c", - "sdl2", "stb", - "utf8proc", { "name": "vcpkg-cmake", "host": true @@ -18,7 +15,41 @@ { "name": "vcpkg-cmake-config", "host": true - }, + } + ], + "default-features": [ + "png", + "sdl", + "unicode", "zlib" - ] + ], + "features": { + "png": { + "description": "Support for reading and writing PNG files. Required to save screenshots and to load tilesets from files.", + "dependencies": [ + "lodepng" + ] + }, + "sdl": { + "description": "Support for SDL2 windows and events with the libtcod context.", + "dependencies": [ + "sdl2" + ] + }, + "threads": { + "description": "Support for deprecated threading functions. If in doubt then leave this disabled." + }, + "unicode": { + "description": "Support for non-ASCII characters. Required for text printing functions", + "dependencies": [ + "utf8proc" + ] + }, + "zlib": { + "description": "Support for REXPaint files and TCODZip archives.", + "dependencies": [ + "zlib" + ] + } + } } diff --git a/ports/libtess2/CMakeLists.txt b/ports/libtess2/CMakeLists.txt new file mode 100644 index 00000000000000..7924eea10c01e5 --- /dev/null +++ b/ports/libtess2/CMakeLists.txt @@ -0,0 +1,35 @@ +cmake_minimum_required(VERSION 3.21) + +project(libtess2) + +# Tesselator +add_library(libtess2 STATIC) + +target_sources(libtess2 PRIVATE + "${CMAKE_CURRENT_SOURCE_DIR}/Source/bucketalloc.c" + "${CMAKE_CURRENT_SOURCE_DIR}/Source/dict.c" + "${CMAKE_CURRENT_SOURCE_DIR}/Source/geom.c" + "${CMAKE_CURRENT_SOURCE_DIR}/Source/mesh.c" + "${CMAKE_CURRENT_SOURCE_DIR}/Source/priorityq.c" + "${CMAKE_CURRENT_SOURCE_DIR}/Source/sweep.c" + "${CMAKE_CURRENT_SOURCE_DIR}/Source/tess.c") + +target_include_directories(libtess2 PUBLIC + "$" + "$" +) +set_target_properties(libtess2 PROPERTIES LINKER_LANGUAGE CXX) + +install(TARGETS libtess2 EXPORT unofficial-libtess2-config) + +install( + FILES "${CMAKE_CURRENT_SOURCE_DIR}/Include/tesselator.h" + TYPE INCLUDE +) + +install( + EXPORT unofficial-libtess2-config + NAMESPACE unofficial::libtess2:: + DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/unofficial-libtess2" + PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ +) diff --git a/ports/libtess2/portfile.cmake b/ports/libtess2/portfile.cmake new file mode 100644 index 00000000000000..7566e0946616dc --- /dev/null +++ b/ports/libtess2/portfile.cmake @@ -0,0 +1,27 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO memononen/libtess2 + REF fc52516467dfa124bdd967c15c7cf9faf02a34ca + SHA512 2b3efb8934d1da8c1b3f0a79139275e89d9187e1e881c699f8623993165eae04068ce5927fe2a5e21e1298b79ffc57eb3e9bbc4bc07872d757a91189bc5f1cce + HEAD_REF master +) + +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" +) + +vcpkg_cmake_install() +vcpkg_copy_pdbs() + +vcpkg_cmake_config_fixup( + PACKAGE_NAME "unofficial-${PORT}" + CONFIG_PATH "lib/cmake/unofficial-${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) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/libtess2/usage b/ports/libtess2/usage new file mode 100644 index 00000000000000..34d5ddea277f48 --- /dev/null +++ b/ports/libtess2/usage @@ -0,0 +1,4 @@ +The package libtess2 provides CMake targets: + +find_package(unofficial-libtess2 CONFIG REQUIRED) +target_link_libraries(main PUBLIC unofficial::libtess2::libtess2) diff --git a/ports/libtess2/vcpkg.json b/ports/libtess2/vcpkg.json new file mode 100644 index 00000000000000..ce54d781589f26 --- /dev/null +++ b/ports/libtess2/vcpkg.json @@ -0,0 +1,16 @@ +{ + "name": "libtess2", + "version-date": "2021-12-27", + "description": "Game and tools oriented refactored version of GLU tesselator.", + "homepage": "https://github.com/memononen/libtess2", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/libtheora/CMakeLists.txt b/ports/libtheora/CMakeLists.txt index 0d4aed76e04fbc..1e2d4b8a7db5ef 100644 --- a/ports/libtheora/CMakeLists.txt +++ b/ports/libtheora/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.0) project(theora LANGUAGES C) set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}") -FIND_PACKAGE(Ogg REQUIRED) +find_package(Ogg CONFIG REQUIRED) file(GLOB HEADERS "include/theora/codec.h" @@ -11,6 +11,25 @@ file(GLOB HEADERS "include/theora/theoraenc.h" ) +if(MSVC) + set(LIBTHEORA_COMMON_X86 + "lib/x86_vc/mmxfrag.c" + "lib/x86_vc/mmxidct.c" + "lib/x86_vc/mmxstate.c" + "lib/x86_vc/x86cpu.c" + "lib/x86_vc/x86state.c" + ) +else() + set(LIBTHEORA_COMMON_X86 + "lib/x86/mmxfrag.c" + "lib/x86/mmxidct.c" + "lib/x86/mmxstate.c" + "lib/x86/sse2idct.c" + "lib/x86/x86cpu.c" + "lib/x86/x86state.c" + ) +endif() + set(LIBTHEORA_COMMON "lib/apiwrapper.c" "lib/bitpack.c" @@ -22,13 +41,25 @@ set(LIBTHEORA_COMMON "lib/state.c" "lib/quant.c" - "lib/x86_vc/mmxfrag.c" - "lib/x86_vc/mmxidct.c" - "lib/x86_vc/mmxstate.c" - "lib/x86_vc/x86cpu.c" - "lib/x86_vc/x86state.c" + ${LIBTHEORA_COMMON_X86} ) +if(MSVC) + set(LIBTHEORA_ENC_X86 + "lib/x86_vc/mmxencfrag.c" + "lib/x86_vc/mmxfdct.c" + "lib/x86_vc/x86enc.c" + ) +else() + set(LIBTHEORA_ENC_X86 + "lib/x86/mmxencfrag.c" + "lib/x86/mmxfdct.c" + "lib/x86/x86enc.c" + "lib/x86/x86enquant.c" + "lib/x86/sse2encfrag.c" + ) +endif() + set(LIBTHEORA_ENC "lib/analyze.c" "lib/encapiwrapper.c" @@ -43,9 +74,7 @@ set(LIBTHEORA_ENC "lib/rate.c" "lib/tokenize.c" - "lib/x86_vc/mmxencfrag.c" - "lib/x86_vc/mmxfdct.c" - "lib/x86_vc/x86enc.c" + ${LIBTHEORA_ENC_X86} ) set(LIBTHEORA_DEC @@ -103,12 +132,25 @@ install( install(TARGETS theora theoraenc theoradec EXPORT unofficial-theora-targets - RUNTIME DESTINATION bin - LIBRARY DESTINATION bin - ARCHIVE DESTINATION lib + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" + LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" + ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" ) 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 8c88e261b27d93..b2e324e2e91de7 100644 --- a/ports/libtheora/portfile.cmake +++ b/ports/libtheora/portfile.cmake @@ -8,9 +8,9 @@ vcpkg_from_github( 0001-fix-uwp.patch ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/libtheora.def DESTINATION ${SOURCE_PATH}) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/unofficial-theora-config.cmake.in DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") +file(COPY "${CMAKE_CURRENT_LIST_DIR}/libtheora.def" DESTINATION "${SOURCE_PATH}") +file(COPY "${CMAKE_CURRENT_LIST_DIR}/unofficial-theora-config.cmake.in" DESTINATION "${SOURCE_PATH}") if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") set(THEORA_X86_OPT ON) @@ -18,18 +18,18 @@ else() set(THEORA_X86_OPT OFF) endif() -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS + "-DVERSION:STRING=${VERSION}" -DUSE_X86=${THEORA_X86_OPT} ) -vcpkg_install_cmake() +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/unofficial-theora" PACKAGE_NAME "unofficial-theora") +vcpkg_fixup_pkgconfig() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/unofficial-theora TARGET_PATH share/unofficial-theora) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libtheora) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/libtheora/LICENSE ${CURRENT_PACKAGES_DIR}/share/libtheora/copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING" "${SOURCE_PATH}/LICENSE") diff --git a/ports/libtheora/unofficial-theora-config.cmake.in b/ports/libtheora/unofficial-theora-config.cmake.in index af1974f462b0cb..98f152e94d39ec 100644 --- a/ports/libtheora/unofficial-theora-config.cmake.in +++ b/ports/libtheora/unofficial-theora-config.cmake.in @@ -1,3 +1,6 @@ @PACKAGE_INIT@ +include(CMakeFindDependencyMacro) + +find_dependency(Ogg CONFIG) include("${CMAKE_CURRENT_LIST_DIR}/unofficial-theora-targets.cmake") diff --git a/ports/libtheora/vcpkg.json b/ports/libtheora/vcpkg.json index 58167e7d1bbf41..a64f03104ab723 100644 --- a/ports/libtheora/vcpkg.json +++ b/ports/libtheora/vcpkg.json @@ -1,10 +1,19 @@ { "name": "libtheora", "version-string": "1.2.0alpha1-20170719", - "port-version": 3, + "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, "dependencies": [ - "libogg" + "libogg", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/libtins/find-pcap_static.patch b/ports/libtins/find-pcap_static.patch new file mode 100644 index 00000000000000..7134b0c2b4dd62 --- /dev/null +++ b/ports/libtins/find-pcap_static.patch @@ -0,0 +1,13 @@ +diff --git a/cmake/Modules/FindPCAP.cmake b/cmake/Modules/FindPCAP.cmake +index 388b30b..f5264c3 100644 +--- a/cmake/Modules/FindPCAP.cmake ++++ b/cmake/Modules/FindPCAP.cmake +@@ -38,7 +38,7 @@ if (${CMAKE_SIZEOF_VOID_P} EQUAL 8 AND WIN32) + endif () + + find_library(PCAP_LIBRARY +- NAMES pcap wpcap ++ NAMES pcap wpcap pcap_static NAMES_PER_DIR + HINTS ${HINT_DIR} + ) + diff --git a/ports/libtins/fix-source-writes.patch b/ports/libtins/fix-source-writes.patch new file mode 100644 index 00000000000000..251b4f2f779020 --- /dev/null +++ b/ports/libtins/fix-source-writes.patch @@ -0,0 +1,36 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1e13def..eda8d68 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -228,8 +228,9 @@ ENDIF(DOXYGEN_FOUND) + # Configuration file + CONFIGURE_FILE( + "${PROJECT_SOURCE_DIR}/include/tins/config.h.in" +- "${PROJECT_SOURCE_DIR}/include/tins/config.h" ++ "${PROJECT_BINARY_DIR}/include/tins/config.h" + ) ++INCLUDE_DIRECTORIES("${CMAKE_CURRENT_BINARY_DIR}/include") + + IF (NOT CMAKE_INSTALL_LIBDIR) + SET(CMAKE_INSTALL_LIBDIR lib) +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index e07772e..94bc8bf 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -82,7 +82,7 @@ set(HEADERS + ${LIBTINS_INCLUDE_DIR}/tins/handshake_capturer.h + ${LIBTINS_INCLUDE_DIR}/tins/stp.h + ${LIBTINS_INCLUDE_DIR}/tins/pppoe.h +- ${LIBTINS_INCLUDE_DIR}/tins/config.h ++ ${PROJECT_BINARY_DIR}/include/tins/config.h + ${LIBTINS_INCLUDE_DIR}/tins/constants.h + ${LIBTINS_INCLUDE_DIR}/tins/crypto.h + ${LIBTINS_INCLUDE_DIR}/tins/cxxstd.h +@@ -229,6 +229,7 @@ MACRO(INSTALL_HEADERS_WITH_DIRECTORY HEADER_LIST) + FOREACH(HEADER ${HEADERS}) + # Extract directory name and remove leading '../' + get_filename_component(DIR ${HEADER} PATH) ++ string(REPLACE "${PROJECT_BINARY_DIR}/" "" DIR ${DIR}) + STRING(REGEX REPLACE "^\\.\\.\\/" "" DIR ${DIR}) + INSTALL(FILES ${HEADER} DESTINATION ${DIR}) + ENDFOREACH(HEADER) diff --git a/ports/libtins/fix_include.patch b/ports/libtins/fix_include.patch new file mode 100644 index 00000000000000..c069cc0cc6ce46 --- /dev/null +++ b/ports/libtins/fix_include.patch @@ -0,0 +1,22 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 94bc8bf..14a15e9 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -211,6 +211,7 @@ ADD_LIBRARY( + ) + + TARGET_LINK_LIBRARIES(tins ${PCAP_LIBRARY} ${OPENSSL_LIBRARIES} ${LIBTINS_OS_LIBS}) ++target_include_directories(tins PUBLIC $) + + SET_TARGET_PROPERTIES(tins PROPERTIES OUTPUT_NAME tins) + SET_TARGET_PROPERTIES(tins PROPERTIES VERSION ${LIBTINS_VERSION} SOVERSION ${LIBTINS_VERSION} ) +diff --git a/libtins.pc.in b/libtins.pc.in +index e9a5c29..c7e3f6c 100644 +--- a/libtins.pc.in ++++ b/libtins.pc.in +@@ -7,4 +7,4 @@ Name: libtins + Description: C++ packet crafting, sniffing and interpretation library. + Version: @pkgconfig_version@ + Libs: -L${libdir} -ltins +-Cflags: -I${includedir}/tins ++Cflags: -I${includedir} diff --git a/ports/libtins/portfile.cmake b/ports/libtins/portfile.cmake index 176b9c7b0691cd..5d46ddbe5c4463 100644 --- a/ports/libtins/portfile.cmake +++ b/ports/libtins/portfile.cmake @@ -1,38 +1,49 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO mfontanini/libtins - REF v4.3 - SHA512 29d606004fe9a440c9a53eede42fd5c6dbd049677d2cca2c5cfd26311ee2ca4c64ca3e665fbc81efd5bfab5577a5181ed0754c617e139317d9ae0cabba05aff7 + REF "v${VERSION}" + SHA512 d8887949cb545dbaf4247c8405feb5cc1032f370bb418dd5344043dc97555b1b826a8d33cfc7dd0a7a9a9af6f3a46bd6fcbed89f98d5eb23fdd10294f823fcd6 HEAD_REF master + PATCHES + fix-source-writes.patch + find-pcap_static.patch + fix_include.patch ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" LIBTINS_BUILD_SHARED) -set(ENABLE_PCAP FALSE) -if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - set(ENABLE_PCAP TRUE) -endif() - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DLIBTINS_BUILD_SHARED=${LIBTINS_BUILD_SHARED} - -DLIBTINS_ENABLE_PCAP=${ENABLE_PCAP} -DLIBTINS_ENABLE_CXX11=1 + -DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=1 ) -vcpkg_install_cmake() +vcpkg_cmake_install() +vcpkg_fixup_pkgconfig() -if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "windows" OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") #Windows - vcpkg_fixup_cmake_targets(CONFIG_PATH CMake) -else() #Linux/Unix/Darwin - vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/libtins) +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_cmake_config_fixup(CONFIG_PATH CMake) +else() + vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/libtins) endif() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/libtins/libtinsConfig.cmake" "set(LIBTINS_INCLUDE_DIRS \"${SOURCE_PATH}/include\")" [[ +get_filename_component(LIBTINS_CMAKE_DIR "${LIBTINS_CMAKE_DIR}" PATH) +get_filename_component(LIBTINS_CMAKE_DIR "${LIBTINS_CMAKE_DIR}" PATH) +set(LIBTINS_INCLUDE_DIRS "${LIBTINS_CMAKE_DIR}/include") +]]) -# Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libtins RENAME copyright) +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/libtins/libtinsConfig.cmake" "\${LIBTINS_CMAKE_DIR}/libtinsTargets.cmake" "\${CMAKE_CURRENT_LIST_DIR}/libtinsTargets.cmake") -vcpkg_fixup_pkgconfig() +if (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/tins/macros.h" "!defined(TINS_STATIC)" "1") +else() + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/tins/macros.h" "!defined(TINS_STATIC)" "0") +endif() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +# Handle copyright +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/libtins" RENAME copyright) diff --git a/ports/libtins/vcpkg.json b/ports/libtins/vcpkg.json index 864794750b9222..8dcb5c09e2e6e6 100644 --- a/ports/libtins/vcpkg.json +++ b/ports/libtins/vcpkg.json @@ -1,14 +1,21 @@ { "name": "libtins", - "version-string": "4.3", - "port-version": 2, + "version": "4.5", "description": "High-level, multiplatform C++ network packet sniffing and crafting library", + "license": "BSD-2-Clause", + "supports": "!uwp", "dependencies": [ "boost-any", "boost-icl", + "libpcap", + "openssl", { - "name": "winpcap", - "platform": "windows" + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true } ] } diff --git a/ports/libtomcrypt/vcpkg.json b/ports/libtomcrypt/vcpkg.json index 4607ff07606ab5..ef092d8e3fd42b 100644 --- a/ports/libtomcrypt/vcpkg.json +++ b/ports/libtomcrypt/vcpkg.json @@ -1,7 +1,7 @@ { "name": "libtomcrypt", - "version-string": "1.18.2", - "port-version": 2, + "version": "1.18.2", + "port-version": 3, "description": "LibTomCrypt is a fairly comprehensive, modular and portable cryptographic toolkit that provides developers with a vast array of well known published block ciphers, one-way hash functions, chaining modes, pseudo-random number generators, public key cryptography and a plethora of other routines.", "homepage": "https://www.libtom.net/LibTomCrypt/", "dependencies": [ 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 e6472aa8f70304..2dedf585f067c1 100644 --- a/ports/libtommath/vcpkg.json +++ b/ports/libtommath/vcpkg.json @@ -1,7 +1,6 @@ { "name": "libtommath", - "version-string": "1.2.0", - "port-version": 2, + "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/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-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-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..a6d608a5bc8171 --- /dev/null +++ b/ports/libtorch/fix-sleef.patch @@ -0,0 +1,22 @@ +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/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/portfile.cmake b/ports/libtorch/portfile.cmake new file mode 100644 index 00000000000000..785ce85c1ab856 --- /dev/null +++ b/ports/libtorch/portfile.cmake @@ -0,0 +1,283 @@ +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 a8961d78ad785b13c959a0612563a60e0de17a7c8bb9822ddea9a24072796354d07e81c47b6cc8761b21a6448845b088cf80e1661d9e889b0ed5474d3dc76756 + HEAD_REF master + PATCHES + "${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 +) + +file(REMOVE_RECURSE "${SOURCE_PATH}/caffe2/core/macros.h") # We must use generated header files + +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 --no-prefix --scoped-enums --gen-mutable mobile_bytecode.fbs + LOGNAME codegen-flatc-mobile_bytecode + WORKING_DIRECTORY "${SOURCE_PATH}/torch/csrc/jit/serialization" +) + +find_program(PROTOC NAMES protoc PATHS "${CURRENT_HOST_INSTALLED_DIR}/tools/protobuf" REQUIRED NO_DEFAULT_PATH NO_CMAKE_PATH) +message(STATUS "Using protoc: ${PROTOC}") + +x_vcpkg_get_python_packages( + PYTHON_VERSION 3 + 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 + fbgemm USE_FBGEMM + opencv USE_OPENCV + # 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 + cuda USE_CUDNN + cuda USE_NCCL + cuda USE_SYSTEM_NCCL + cuda USE_NVRTC + cuda AT_CUDA_ENABLED + cuda AT_CUDNN_ENABLED + cuda USE_MAGMA + vulkan USE_VULKAN + #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 + 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("dist" IN_LIST FEATURES) + if(VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_OSX) + list(APPEND FEATURE_OPTIONS -DUSE_TENSORPIPE=ON) + endif() + if(VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_OSX) + list(APPEND FEATURE_OPTIONS -DUSE_LIBUV=ON) + endif() + list(APPEND FEATURE_OPTIONS -DUSE_GLOO=${VCPKG_TARGET_IS_LINUX}) +endif() + +if(VCPKG_TARGET_IS_ANDROID OR VCPKG_TARGET_IS_IOS) + list(APPEND FEATURE_OPTIONS -DINTERN_BUILD_MOBILE=ON) +else() + list(APPEND FEATURE_OPTIONS -DINTERN_BUILD_MOBILE=OFF) +endif() + +string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" USE_STATIC_RUNTIME) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + DISABLE_PARALLEL_CONFIGURE + OPTIONS + ${FEATURE_OPTIONS} + -DProtobuf_PROTOC_EXECUTABLE:FILEPATH=${PROTOC} + -DCAFFE2_CUSTOM_PROTOC_EXECUTABLE:FILEPATH=${PROTOC} + -DPYTHON_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 + -DUSE_METAL=OFF + -DUSE_PYTORCH_METAL=OFF + -DUSE_PYTORCH_METAL_EXPORT=OFF + -DUSE_GFLAGS=ON + -DUSE_GLOG=ON + -DUSE_LMDB=ON + -DUSE_ITT=OFF + -DUSE_ROCKSDB=ON + -DUSE_OBSERVERS=OFF + -DUSE_PYTORCH_QNNPACK=OFF + -DUSE_KINETO=OFF + -DUSE_ROCM=OFF + -DUSE_NUMA=OFF + -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=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 + MKLDNN_CPU_RUNTIME + PYTHON_LIBRARY +) + +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}") + return() + endif() + file(GLOB paths LIST_DIRECTORIES true "${folder}/*") + list(LENGTH paths count) + # 1. remove if the given folder is empty + if(count EQUAL 0) + file(REMOVE_RECURSE "${folder}") + message(STATUS "Removed ${folder}") + return() + endif() + # 2. repeat the operation for hop 1 sub-directories + foreach(path ${paths}) + cleanup_once(${path}) + endforeach() +endfunction() + +# Some folders may contain empty folders. They will become empty after `cleanup_once`. +# Repeat given times to delete new empty folders. +function(cleanup_repeat folder repeat) + if(NOT IS_DIRECTORY "${folder}") + return() + endif() + while(repeat GREATER_EQUAL 1) + 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" +) + +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/vcpkg.json b/ports/libtorch/vcpkg.json new file mode 100644 index 00000000000000..c8c639f2ad4831 --- /dev/null +++ b/ports/libtorch/vcpkg.json @@ -0,0 +1,144 @@ +{ + "name": "libtorch", + "version": "2.1.2", + "port-version": 7, + "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", + "host": true + }, + "fmt", + "foxi", + "foxi", + "fp16", + "gemmlowp", + "gflags", + "glog", + "lapack", + "lmdb", + "mimalloc", + "onnx", + "onnx-optimizer", + "opencl", + "pocketfft", + "protobuf", + { + "name": "protobuf", + "host": true + }, + "pthreadpool", + "sleef", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + { + "name": "vcpkg-get-python-packages", + "host": true + }, + "xnnpack" + ], + "default-features": [ + { + "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": [ + { + "name": "gloo", + "platform": "linux" + }, + { + "name": "libtorch", + "default-features": false, + "features": [ + "mpi" + ], + "platform": "linux" + }, + { + "name": "libuv", + "platform": "windows | osx" + }, + { + "name": "tensorpipe", + "platform": "linux | osx" + } + ] + }, + "leveldb": { + "description": "Build with LevelDB", + "dependencies": [ + "leveldb", + "snappy" + ] + }, + "llvm": { + "description": "Build with LLVM", + "dependencies": [ + "llvm" + ] + }, + "mpi": { + "description": "Build with MPI", + "dependencies": [ + "mpi" + ] + }, + "nnpack": { + "description": "Build with NNPack", + "supports": "linux | osx", + "dependencies": [ + "nnpack" + ] + }, + "opencv": { + "description": "Build with OpenCV 3.x", + "dependencies": [ + "opencv" + ] + }, + "vulkan": { + "description": "Build with Vulkan GPU backend", + "dependencies": [ + "vulkan", + "vulkan-loader", + "vulkan-memory-allocator" + ] + }, + "zstd": { + "description": "Build with ZSTD", + "dependencies": [ + "zstd" + ] + } + } +} diff --git a/ports/libtorrent/portfile.cmake b/ports/libtorrent/portfile.cmake index 0c11403fc11d0e..ab56c66197c900 100644 --- a/ports/libtorrent/portfile.cmake +++ b/ports/libtorrent/portfile.cmake @@ -1,5 +1,3 @@ -vcpkg_fail_port_install(ON_TARGET "uwp") - if(VCPKG_TARGET_IS_WINDOWS) # Building python bindings is currently broken on Windows if("python" IN_LIST FEATURES) @@ -21,42 +19,72 @@ vcpkg_check_features( tools build_tools ) -# Note: the python feature currently requires `python3-dev` and `python3-setuptools` installed on the system if("python" IN_LIST FEATURES) vcpkg_find_acquire_program(PYTHON3) get_filename_component(PYTHON3_PATH ${PYTHON3} DIRECTORY) vcpkg_add_to_path(${PYTHON3_PATH}) - file(GLOB BOOST_PYTHON_LIB "${CURRENT_INSTALLED_DIR}/lib/*boost_python*") string(REGEX REPLACE ".*(python)([0-9])([0-9]+).*" "\\1\\2\\3" _boost-python-module-name "${BOOST_PYTHON_LIB}") endif() vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO arvidn/libtorrent - REF 33a10d5a723a6c27d9baee7d9bf2028eb81c88ed # v1.2.14 - SHA512 7be169625c9ab1319047aa025abb36579cf6c749faeee7788b5c0ca24ca32d0a4bfd898415159b9133302da4d26230edcb5585c12137edcab8f5b3548c67a268 - HEAD_REF RC_1_2 + OUT_SOURCE_PATH SOURCE_PATH + REPO arvidn/libtorrent + REF "v${VERSION}" + SHA512 fb55b04b57a6a1f39b81a4aff2ca899f9ac30b435c278c80181bdd3fef4775a3f91b2345c49b493503ae79ef89841e9a965af9974abe9022be3050922a4057f0 + HEAD_REF RC_2_0 +) + +vcpkg_from_github( + OUT_SOURCE_PATH TRYSIGNAL_SOURCE_PATH + REPO arvidn/try_signal + REF 105cce59972f925a33aa6b1c3109e4cd3caf583d #2022-10-27 + SHA512 4a0090755831e0e4a1930817345fa5934144421d9a9d710fe8ed3712233fa2fa037fc0e0d4f88b7cc8fb1bc05fe2d55372af1ff47d6fbf5208e03f45f2a424e4 + HEAD_REF master +) + +vcpkg_from_github( + OUT_SOURCE_PATH ASIO_GNUTLS_SOURCE_PATH + REPO paullouisageneau/boost-asio-gnutls + REF a57d4d36923c5fafa9698e14be16b8bc2913700a + SHA512 1e093dd4e999cce9c6d74f1d4c2d20f73512258b83505c307c7d53b8c7ed15626a8e90c8e6a6280827aafa069bc233c0c6f4c9276f1c332e4b141c7c350c47c0 + HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_from_github( + OUT_SOURCE_PATH LIB_SIMULATOR_SOURCE_PATH + REPO arvidn/libsimulator + REF 39144efe83fcd38778cf76fc609e3475694642ca #2022-10-27 + SHA512 a021f769d52d127355ecaceaf912bf3e86aaa256d4768d270fbe6066793b6159eddecd0262f3f2158602f883d49b3aac39eb79be5399212cdd7711f921ffa15a + HEAD_REF master +) + +file(COPY ${TRYSIGNAL_SOURCE_PATH}/ DESTINATION ${SOURCE_PATH}/deps/try_signal) +file(COPY ${ASIO_GNUTLS_SOURCE_PATH}/ DESTINATION ${SOURCE_PATH}/deps/asio-gnutls) +file(COPY ${LIB_SIMULATOR_SOURCE_PATH}/ DESTINATION ${SOURCE_PATH}/simulation/libsimulator) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS - ${FEATURE_OPTIONS} - -Dboost-python-module-name=${_boost-python-module-name} - -Dstatic_runtime=${_static_runtime} - -DPython3_USE_STATIC_LIBS=ON + ${FEATURE_OPTIONS} + -Dboost-python-module-name=${_boost-python-module-name} + -Dstatic_runtime=${_static_runtime} + -DPython3_USE_STATIC_LIBS=ON ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/LibtorrentRasterbar TARGET_PATH share/LibtorrentRasterbar) +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(PACKAGE_NAME LibtorrentRasterbar CONFIG_PATH lib/cmake/LibtorrentRasterbar) # Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") # Do not duplicate include files -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share ${CURRENT_PACKAGES_DIR}/share/cmake) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share" "${CURRENT_PACKAGES_DIR}/share/cmake") + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") +endif() -vcpkg_fixup_pkgconfig() +vcpkg_fixup_pkgconfig() \ No newline at end of file diff --git a/ports/libtorrent/vcpkg.json b/ports/libtorrent/vcpkg.json index 7e0de91ddd6257..6f25e18468d429 100644 --- a/ports/libtorrent/vcpkg.json +++ b/ports/libtorrent/vcpkg.json @@ -1,12 +1,12 @@ { "name": "libtorrent", - "version": "1.2.14", - "port-version": 1, + "version": "2.0.10", "maintainers": "Arvid Norberg ", "description": "An efficient feature complete C++ BitTorrent implementation", "homepage": "https://libtorrent.org", "documentation": "https://libtorrent.org/reference.html", - "supports": "!uwp & !(windows & arm)", + "license": "BSD-2-Clause", + "supports": "!uwp", "dependencies": [ "boost-asio", "boost-chrono", @@ -14,13 +14,23 @@ "boost-crc", "boost-date-time", "boost-iterator", + "boost-logic", + "boost-multi-index", "boost-multiprecision", "boost-pool", "boost-random", "boost-scope-exit", "boost-system", "boost-variant", - "openssl" + "openssl", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ], "default-features": [ "iconv" diff --git a/ports/libtracepoint-control/portfile.cmake b/ports/libtracepoint-control/portfile.cmake new file mode 100644 index 00000000000000..3bf156d4705d64 --- /dev/null +++ b/ports/libtracepoint-control/portfile.cmake @@ -0,0 +1,35 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO "microsoft/LinuxTracepoints" + REF "v${VERSION}" + 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" + 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) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/libtracepoint-control/vcpkg.json b/ports/libtracepoint-control/vcpkg.json new file mode 100644 index 00000000000000..2b84b6711a9877 --- /dev/null +++ b/ports/libtracepoint-control/vcpkg.json @@ -0,0 +1,28 @@ +{ + "name": "libtracepoint-control", + "version": "1.4.0", + "description": "C++ classes for collecting Linux Tracepoints", + "homepage": "https://github.com/microsoft/LinuxTracepoints/", + "license": "MIT", + "supports": "linux", + "dependencies": [ + { + "name": "libtracepoint-decode", + "version>=": "1.4.0" + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "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 new file mode 100644 index 00000000000000..76a6ef819f4ddd --- /dev/null +++ b/ports/libtracepoint-decode/portfile.cmake @@ -0,0 +1,21 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO "microsoft/LinuxTracepoints" + REF "v${VERSION}" + SHA512 baf27c967b2fa1fb8e8684951fd8e12e40fe9c23f5052a2d77c63eceab6ddfc112537422b97c37cfb0e479361fa8aedea6d8d7edfae91810f1ed696060fcb822 + HEAD_REF main) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/libtracepoint-decode-cpp") + +vcpkg_cmake_install() +vcpkg_copy_pdbs() +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") + +vcpkg_cmake_config_fixup( + PACKAGE_NAME tracepoint-decode + CONFIG_PATH lib/cmake/tracepoint-decode) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/libtracepoint-decode/vcpkg.json b/ports/libtracepoint-decode/vcpkg.json new file mode 100644 index 00000000000000..960ec77fff305d --- /dev/null +++ b/ports/libtracepoint-decode/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "libtracepoint-decode", + "version": "1.4.0", + "description": "C++ classes for decoding Linux Tracepoints", + "homepage": "https://github.com/microsoft/LinuxTracepoints/", + "license": "MIT", + "supports": "linux | windows", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/libtracepoint/portfile.cmake b/ports/libtracepoint/portfile.cmake new file mode 100644 index 00000000000000..e905935ccf88c9 --- /dev/null +++ b/ports/libtracepoint/portfile.cmake @@ -0,0 +1,48 @@ +if(VCPKG_TARGET_IS_WINDOWS) + set(VCPKG_BUILD_TYPE release) # Windows port only includes headers. +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO "microsoft/LinuxTracepoints" + REF "v${VERSION}" + 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) + +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 + CONFIG_PATH lib/cmake/tracepoint + DO_NOT_DELETE_PARENT_CONFIG_PATH) +endif() + +vcpkg_cmake_config_fixup( + PACKAGE_NAME tracepoint-headers + CONFIG_PATH lib/cmake/tracepoint-headers) + +if(VCPKG_TARGET_IS_WINDOWS) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") +endif() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/libtracepoint/vcpkg.json b/ports/libtracepoint/vcpkg.json new file mode 100644 index 00000000000000..3c6518f96d59ab --- /dev/null +++ b/ports/libtracepoint/vcpkg.json @@ -0,0 +1,24 @@ +{ + "name": "libtracepoint", + "version": "1.4.0", + "description": "C/C++ interface for generating Linux Tracepoints", + "homepage": "https://github.com/microsoft/LinuxTracepoints/", + "license": "MIT", + "supports": "linux | windows", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "tools": { + "description": "Build user tools: tracepoint-register", + "supports": "linux" + } + } +} diff --git a/ports/libu2f-server/CMakeLists.txt b/ports/libu2f-server/CMakeLists.txt index 5e1f50e521ee46..8bff872434f4d3 100644 --- a/ports/libu2f-server/CMakeLists.txt +++ b/ports/libu2f-server/CMakeLists.txt @@ -9,6 +9,7 @@ add_library(libu2f-server ${LIBU2F_SERVER_SOURCE}) target_include_directories(libu2f-server PUBLIC $ $) target_compile_definitions(libu2f-server PRIVATE _CRT_SECURE_NO_WARNINGS _CRT_NONSTDC_NO_DEPRECATE) +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /wd4996") find_package(json-c CONFIG REQUIRED) find_package(OpenSSL REQUIRED) diff --git a/ports/libu2f-server/portfile.cmake b/ports/libu2f-server/portfile.cmake index 6893718db617c1..b63bf5bbc19f2d 100644 --- a/ports/libu2f-server/portfile.cmake +++ b/ports/libu2f-server/portfile.cmake @@ -11,25 +11,24 @@ vcpkg_from_github( strndup-fix.patch ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/u2f-server-version.h DESTINATION ${SOURCE_PATH}/u2f-server) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") +file(COPY "${CMAKE_CURRENT_LIST_DIR}/u2f-server-version.h" DESTINATION "${SOURCE_PATH}/u2f-server") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - ) +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" +) -vcpkg_install_cmake() +vcpkg_cmake_install() # The include file must be patched after the build has completed, because the source files use the wrong subdirectory name! -vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/include/libu2f-server/u2f-server.h +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/libu2f-server/u2f-server.h" "#include " "#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") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") vcpkg_copy_pdbs() # Handle copyright -configure_file(${SOURCE_PATH}/COPYING ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) +configure_file("${SOURCE_PATH}/COPYING" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) diff --git a/ports/libu2f-server/vcpkg.json b/ports/libu2f-server/vcpkg.json index b66f13cee88369..a3e291ec7a70ad 100644 --- a/ports/libu2f-server/vcpkg.json +++ b/ports/libu2f-server/vcpkg.json @@ -1,12 +1,16 @@ { "name": "libu2f-server", - "version-string": "1.1.0", - "port-version": 3, + "version": "1.1.0", + "port-version": 5, "description": "Yubico Universal 2nd Factor (U2F) Server C Library", "homepage": "https://developers.yubico.com/libu2f-server/", "supports": "(x86 | x64) & windows", "dependencies": [ "json-c", - "openssl" + "openssl", + { + "name": "vcpkg-cmake", + "host": true + } ] } diff --git a/ports/libudis86/CMakeLists.txt b/ports/libudis86/CMakeLists.txt index 8f412cf9003b64..eb794274f99366 100644 --- a/ports/libudis86/CMakeLists.txt +++ b/ports/libudis86/CMakeLists.txt @@ -2,6 +2,10 @@ cmake_minimum_required (VERSION 3.9) project (udis86) +add_definitions(-DHAVE_STRING_H) +if (MSVC) + add_definitions(-D_CRT_SECURE_NO_WARNINGS) +endif() set( lib_sources diff --git a/ports/libudis86/fix-macbuild.patch b/ports/libudis86/fix-macbuild.patch new file mode 100644 index 00000000000000..c9bf1a932214a0 --- /dev/null +++ b/ports/libudis86/fix-macbuild.patch @@ -0,0 +1,37 @@ +diff --git a/libudis86/udis86.c b/libudis86/udis86.c +index e039c4e..8459012 100644 +--- a/libudis86/udis86.c ++++ b/libudis86/udis86.c +@@ -34,6 +34,10 @@ + # endif + #endif /* !__UD_STANDALONE__ */ + ++#if defined(__APPLE__) ++# include ++#endif ++ + static void ud_inp_init(struct ud *u); + + /* ============================================================================= +diff --git a/udcli/udcli.c b/udcli/udcli.c +index 9b044ca..ad1e4ab 100644 +--- a/udcli/udcli.c ++++ b/udcli/udcli.c +@@ -27,13 +27,11 @@ + #include + #include + #include +-#ifdef _MSC_VER +-#include "..\udis86.h" +-#define PACKAGE_STRING "udis86 pre-1.8" +-#else + #include +-#include +-#endif ++#define PACKAGE_STRING "udis86 pre-1.8" ++#ifdef HAVE_CONFIG_H ++# include ++#endif /* HAVE_CONFIG_H */ + + #if defined(__APPLE__) + # define FMT64 "ll" diff --git a/ports/libudis86/portfile.cmake b/ports/libudis86/portfile.cmake index 42d99d38a1e976..24f93ead04185e 100644 --- a/ports/libudis86/portfile.cmake +++ b/ports/libudis86/portfile.cmake @@ -4,28 +4,30 @@ vcpkg_from_github( REF 56ff6c87c11de0ffa725b14339004820556e343d SHA512 7a98333f9310f5f0466294bd980f03f9269c118a7557832015c59a7b6349a0eeab5642e0e6598d0be76d71f5d2d566d8b8af0ec75c26bdcff45646d60ff18e3a HEAD_REF master + PATCHES + fix-macbuild.patch + python3.patch # from https://github.com/vmt/udis86/pull/133 ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_find_acquire_program(PYTHON2) +vcpkg_find_acquire_program(PYTHON3) vcpkg_execute_required_process( - COMMAND "${PYTHON2}" "${SOURCE_PATH}/scripts/ud_itab.py" "${SOURCE_PATH}/docs/x86/optable.xml" "${SOURCE_PATH}/libudis86/" + COMMAND "${PYTHON3}" "${SOURCE_PATH}/scripts/ud_itab.py" "${SOURCE_PATH}/docs/x86/optable.xml" "${SOURCE_PATH}/libudis86/" WORKING_DIRECTORY "${SOURCE_PATH}" LOGNAME python-${TARGET_TRIPLET}-generate-sources ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON -DDISABLE_INSTALL_TOOLS=ON ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/libudis86) +vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT}) -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/libudis86/python3.patch b/ports/libudis86/python3.patch new file mode 100644 index 00000000000000..0c8f851792b721 --- /dev/null +++ b/ports/libudis86/python3.patch @@ -0,0 +1,17 @@ +diff --git a/scripts/ud_opcode.py b/scripts/ud_opcode.py +index fe1833d..30c9f43 100644 +--- a/scripts/ud_opcode.py ++++ b/scripts/ud_opcode.py +@@ -550,10 +550,10 @@ def printWalk(tbl, indent=""): + entries = tbl.entries() + for k, e in entries: + if isinstance(e, UdOpcodeTable): +- self.log("%s |-<%02x> %s" % (indent, k, e)) ++ self.log("%s |-<%02x> %s" % (indent, int(k), e)) + printWalk(e, indent + " |") + elif isinstance(e, UdInsnDef): +- self.log("%s |-<%02x> %s" % (indent, k, e)) ++ self.log("%s |-<%02x> %s" % (indent, int(k), e)) + printWalk(self.root) + + diff --git a/ports/libudis86/vcpkg.json b/ports/libudis86/vcpkg.json index a687a41045a274..8ec4ad58bd6324 100644 --- a/ports/libudis86/vcpkg.json +++ b/ports/libudis86/vcpkg.json @@ -1,7 +1,13 @@ { "name": "libudis86", - "version-string": "2018-01-28-56ff6c87", - "port-version": 1, + "version-date": "2018-01-28", + "port-version": 4, "description": "Disassembler Library for x86 and x86-64", - "homepage": "https://github.com/vmt/udis86" + "homepage": "https://github.com/vmt/udis86", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } 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 f1b9679a3b223b..535b2a7e0bea66 100644 --- a/ports/libudns/vcpkg.json +++ b/ports/libudns/vcpkg.json @@ -1,7 +1,7 @@ { "name": "libudns", - "version-string": "0.4", - "port-version": 4, + "version": "0.4", + "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/libui/portfile.cmake b/ports/libui/portfile.cmake index d975cdfe81ab83..56eea00cffd6b7 100644 --- a/ports/libui/portfile.cmake +++ b/ports/libui/portfile.cmake @@ -1,3 +1,7 @@ +if(VCPKG_TARGET_IS_MINGW) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO andlabs/libui @@ -10,18 +14,16 @@ vcpkg_from_github( "003-fix-system-link.patch" ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/libui TARGET_PATH share/unofficial-libui) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/libui PACKAGE_NAME unofficial-libui) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -# 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/libui/vcpkg.json b/ports/libui/vcpkg.json index 5d7ff38eb6924e..40140786a8651f 100644 --- a/ports/libui/vcpkg.json +++ b/ports/libui/vcpkg.json @@ -1,7 +1,23 @@ { "name": "libui", "version-date": "2018-11-03", - "port-version": 2, + "port-version": 3, "description": "Simple and portable (but not inflexible) native GUI library in C.", - "homepage": "https://github.com/andlabs/libui" + "homepage": "https://github.com/andlabs/libui", + "license": "MIT", + "supports": "!android & !emscripten & !ios & !uwp", + "dependencies": [ + { + "name": "gtk3", + "platform": "!windows & !osx" + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/libunibreak/CMakeLists.txt b/ports/libunibreak/CMakeLists.txt index 7bbff8f3a4e3d1..495ff2d2a4d571 100644 --- a/ports/libunibreak/CMakeLists.txt +++ b/ports/libunibreak/CMakeLists.txt @@ -3,22 +3,26 @@ cmake_minimum_required(VERSION 3.8.0) project(libunibreak) set(libunibreak_srcs + src/linebreak.c src/linebreakdata.c src/linebreakdef.c - src/linebreak.c src/wordbreak.c + src/wordbreakdata.c src/graphemebreak.c + src/graphemebreakdata.c + src/emojidef.c + src/eastasianwidthdef.c + src/eastasianwidthdata.c src/unibreakbase.c src/unibreakdef.c ) - include_directories(src) -add_library(libunibreak ${libunibreak_srcs}) +add_library(unibreak ${libunibreak_srcs}) install( - TARGETS libunibreak + TARGETS unibreak RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib @@ -27,12 +31,19 @@ install( 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 src/linebreakdef.h - src/wordbreak.h - src/wordbreakdef.h + src/test_skips.h src/unibreakbase.h src/unibreakdef.h + src/wordbreak.h + src/wordbreakdef.h DESTINATION include ) endif() 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/libunibreak-config.cmake.in b/ports/libunibreak/libunibreak-config.cmake.in new file mode 100644 index 00000000000000..0a4746360e35dc --- /dev/null +++ b/ports/libunibreak/libunibreak-config.cmake.in @@ -0,0 +1,32 @@ +# For old projects where the minimum CMake version is lower than 3.3. +cmake_policy(SET CMP0057 NEW) +include(CMakeFindDependencyMacro) + +if(TARGET libunibreak) + return() +endif() + +# Compute the installation prefix relative to this file. +get_filename_component(_INSTALL_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) +get_filename_component(_INSTALL_DIR "${_INSTALL_DIR}" PATH) +get_filename_component(_INSTALL_DIR "${_INSTALL_DIR}" PATH) +if(_INSTALL_DIR STREQUAL "/") + set(_INSTALL_DIR "") +endif() + +add_library(unibreak INTERFACE IMPORTED GLOBAL) +add_library(libunibreak::libunibreak ALIAS unibreak) + +find_library(LIBUNIBREAK_LIBRARY_DEBUG NAMES unibreak PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug" PATH_SUFFIXES lib NO_DEFAULT_PATH) +if(LIBUNIBREAK_LIBRARY_DEBUG) + target_link_libraries(unibreak INTERFACE $<$:${LIBUNIBREAK_LIBRARY_DEBUG}>) +endif() + +find_library(LIBUNIBREAK_LIBRARY_RELEASE NAMES unibreak PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}" PATH_SUFFIXES lib NO_DEFAULT_PATH) +target_link_libraries(unibreak INTERFACE $<$>:${LIBUNIBREAK_LIBRARY_RELEASE}>) + +set(LIBUNIBREAK_LIBRARY libunibreak::libunibreak PARENT_SCOPE) +set(LIBUNIBREAK_LIBRARIES libunibreak::libunibreak PARENT_SCOPE) +set(LIBUNIBREAK_INCLUDE_DIR "${_INSTALL_DIR}/include" PARENT_SCOPE) + +target_include_directories(unibreak INTERFACE ${_INSTALL_DIR}/include) \ No newline at end of file diff --git a/ports/libunibreak/portfile.cmake b/ports/libunibreak/portfile.cmake index 883a58c554dccb..339ace020e1266 100644 --- a/ports/libunibreak/portfile.cmake +++ b/ports/libunibreak/portfile.cmake @@ -1,21 +1,27 @@ 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 8df6ef4ebe5dbd2a49539d05366337ab7fb57ae3 # libunibreak_4_3 - SHA512 791e342dcc0e79e15f578ec93239d53a656f9e1804f9ec8b970cfac2b6c4f3456855513c36f18f8e72a91dac64060abc336e4716d584dbec86e1fb0c91eded69 + REF "libunibreak_${MAJOR}_${MINOR}" + SHA512 a85333d59c78b67b1c05d33ab99c069ba493780d6a98ad5ab00e33235c454b8b33515cac4e815de35533f235be7cf5473550b3a6389f7581ba2f6216d42d38e1 HEAD_REF master + PATCHES + fix_export.patch ) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON ) -vcpkg_install_cmake() +vcpkg_cmake_install() -file(INSTALL ${SOURCE_PATH}/LICENCE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libunibreak RENAME copyright) +configure_file("${CMAKE_CURRENT_LIST_DIR}/libunibreak-config.cmake.in" + "${CURRENT_PACKAGES_DIR}/share/${PORT}/libunibreak-config.cmake" @ONLY) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENCE") diff --git a/ports/libunibreak/vcpkg.json b/ports/libunibreak/vcpkg.json index c1d89b1a2e5d68..e1aea085039877 100644 --- a/ports/libunibreak/vcpkg.json +++ b/ports/libunibreak/vcpkg.json @@ -1,7 +1,14 @@ { "name": "libunibreak", - "version-string": "4.3", + "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" + "homepage": "https://github.com/adah1972/libunibreak", + "license": "zlib-acknowledgement", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/libunifex/allow-warnings.patch b/ports/libunifex/allow-warnings.patch deleted file mode 100644 index 272624f0667c16..00000000000000 --- a/ports/libunifex/allow-warnings.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/cmake/unifex_env.cmake b/cmake/unifex_env.cmake -index cb99ae4..9825532 100644 ---- a/cmake/unifex_env.cmake -+++ b/cmake/unifex_env.cmake -@@ -21,8 +21,8 @@ endif() - - if (MSVC) - # warning level 3 and all warnings as errors -- add_compile_options(/W3 /WX) -+ add_compile_options(/W3) - else() - # lots of warnings and all warnings as errors -- add_compile_options(-Wall -Wextra -pedantic -Werror) -+ add_compile_options(-Wall -Wextra -pedantic) - endif() diff --git a/ports/libunifex/fix-compile-error.patch b/ports/libunifex/fix-compile-error.patch new file mode 100644 index 00000000000000..3cbd5454113f36 --- /dev/null +++ b/ports/libunifex/fix-compile-error.patch @@ -0,0 +1,15 @@ +diff --git a/cmake/unifex_env.cmake b/cmake/unifex_env.cmake +index b26aed1..051a7af 100644 +--- a/cmake/unifex_env.cmake ++++ b/cmake/unifex_env.cmake +@@ -21,8 +21,8 @@ endif() + + if (UNIFEX_CXX_COMPILER_MSVC) + # warning level 3 and all warnings as errors +- add_compile_options(/W3 /WX) ++ add_compile_options(/W3 /WX /Zc:externConstexpr /EHsc) + else() + # lots of warnings and all warnings as errors +- add_compile_options(-Wall -Wextra -pedantic -Werror) ++ add_compile_options(-Wall -Wextra -pedantic) + endif() diff --git a/ports/libunifex/fix-install.patch b/ports/libunifex/fix-install.patch deleted file mode 100644 index 2b454c49c19a6c..00000000000000 --- a/ports/libunifex/fix-install.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt -index 3f25517..3c34a54 100644 ---- a/source/CMakeLists.txt -+++ b/source/CMakeLists.txt -@@ -67,10 +67,27 @@ configure_file( - target_include_directories(unifex - PUBLIC - $ -- "${PROJECT_BINARY_DIR}/include") -+ $ -+ $) - - target_compile_features(unifex PUBLIC cxx_std_17) - - if(CXX_COROUTINES_HAVE_COROUTINES) - target_link_libraries(unifex PUBLIC std::coroutines) - endif() -+ -+install(DIRECTORY ${PROJECT_SOURCE_DIR}/include/unifex -+ DESTINATION include -+) -+install(FILES ${PROJECT_BINARY_DIR}/include/unifex/config.hpp -+ DESTINATION include/unifex -+) -+ -+install(TARGETS unifex -+ EXPORT unifex-config -+ DESTINATION lib -+) -+install(EXPORT unifex-config -+ NAMESPACE unofficial:: -+ DESTINATION lib/cmake/unifex -+) diff --git a/ports/libunifex/fix-linux-timespec.patch b/ports/libunifex/fix-linux-timespec.patch new file mode 100644 index 00000000000000..99c2398b80d262 --- /dev/null +++ b/ports/libunifex/fix-linux-timespec.patch @@ -0,0 +1,13 @@ +diff --git a/source/linux/io_uring_context.cpp b/source/linux/io_uring_context.cpp +index f869b3f..8300961 100644 +--- a/source/linux/io_uring_context.cpp ++++ b/source/linux/io_uring_context.cpp +@@ -17,7 +17,7 @@ + #include + + #if !UNIFEX_NO_LIBURING +- ++#include + #include + + #include diff --git a/ports/libunifex/portfile.cmake b/ports/libunifex/portfile.cmake index f7379fc20c4d18..fbc11b0dd59362 100644 --- a/ports/libunifex/portfile.cmake +++ b/ports/libunifex/portfile.cmake @@ -3,28 +3,32 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO facebookexperimental/libunifex - REF e36b43834329acc75f99910316d3ecec15c0f665 - SHA512 58f738b49d18982fd3916500c78e8090a266738ec4a8ba416b004fa2c7db718db5ce0e27f5e4e22eaddcc27c8d1618bcb2bc080eee1a31d98543e2595ccc1135 - HEAD_REF master + REF "v${VERSION}" + SHA512 9625a248b9ed43f7ac8e3da054020e7c5c71d3da253cfa587ee62eb8a1d4cfee794758b7d28896e4038c1924b204c92be7230c20cf525684e2c304ceaa4a6321 + HEAD_REF main PATCHES - fix-install.patch - allow-warnings.patch + fix-compile-error.patch + fix-linux-timespec.patch ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES - test BUILD_TESTING - test UNIFEX_BUILD_EXAMPLES + coroutines CXX_COROUTINES_HAVE_COROUTINES ) vcpkg_cmake_configure( SOURCE_PATH ${SOURCE_PATH} OPTIONS ${FEATURE_OPTIONS} + -DCMAKE_CXX_STANDARD:STRING=20 + -DBUILD_TESTING=OFF + -DUNIFEX_BUILD_EXAMPLES=OFF ) + vcpkg_cmake_install() vcpkg_cmake_config_fixup(PACKAGE_NAME unifex CONFIG_PATH lib/cmake/unifex) vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/libunifex/vcpkg.json b/ports/libunifex/vcpkg.json index 82101d6b975265..4bc86b527945c7 100644 --- a/ports/libunifex/vcpkg.json +++ b/ports/libunifex/vcpkg.json @@ -1,7 +1,6 @@ { "name": "libunifex", - "version-date": "2021-08-01", - "port-version": 1, + "version": "0.4.0", "description": "Unified Executors", "homepage": "https://github.com/facebookexperimental/libunifex", "dependencies": [ @@ -19,11 +18,8 @@ } ], "features": { - "test": { - "description": "Build test/example programs", - "dependencies": [ - "gtest" - ] + "coroutines": { + "description": "Support coroutine" } } } diff --git a/ports/libunistring/disable-gnulib-fetch.patch b/ports/libunistring/disable-gnulib-fetch.patch new file mode 100644 index 00000000000000..51b4e280b50b61 --- /dev/null +++ b/ports/libunistring/disable-gnulib-fetch.patch @@ -0,0 +1,12 @@ +diff --git a/autogen.sh b/autogen.sh +index 3e89ebe..8dade84 100755 +--- a/autogen.sh ++++ b/autogen.sh +@@ -44,6 +44,7 @@ while :; do + *) break ;; + esac + done ++skip_gnulib=true + + TEXINFO_VERSION=6.5 + diff --git a/ports/libunistring/disable-subdirs.patch b/ports/libunistring/disable-subdirs.patch new file mode 100644 index 00000000000000..612f9b3aa22666 --- /dev/null +++ b/ports/libunistring/disable-subdirs.patch @@ -0,0 +1,13 @@ +diff --git a/Makefile.am b/Makefile.am +index 8c05275..f27b232 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -19,7 +19,7 @@ + AUTOMAKE_OPTIONS = 1.5 gnu no-dependencies + ACLOCAL_AMFLAGS = -I m4 -I gnulib-m4 + +-SUBDIRS = doc gnulib-local lib tests ++SUBDIRS = gnulib-local lib + + EXTRA_DIST = \ + version.sh BUGS DEPENDENCIES HACKING JOIN-GNU \ diff --git a/ports/libunistring/fix-for-automake-1.16.4.patch b/ports/libunistring/fix-for-automake-1.16.4.patch deleted file mode 100644 index 2e9a2ebda0962b..00000000000000 --- a/ports/libunistring/fix-for-automake-1.16.4.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- a/m4/init-package-version.m4 -+++ b/m4/init-package-version.m4 -@@ -82,9 +82,9 @@ - [AC_SUBST([PACKAGE], [$1]) - AC_SUBST([VERSION], [$2]) - ]) - m4_define([AM_INIT_AUTOMAKE], - m4_defn([gl_RPL_INIT_AUTOMAKE])) - ]) --m4_define([gl_INIT_DUMMY], []) -+m4_define([gl_INIT_DUMMY], [dummy]) - AC_DEFUN([gl_RPL_INIT_AUTOMAKE], [ - m4_ifval([$2], diff --git a/ports/libunistring/parallelize-symbol-collection.patch b/ports/libunistring/parallelize-symbol-collection.patch new file mode 100644 index 00000000000000..f0e1be6594a900 --- /dev/null +++ b/ports/libunistring/parallelize-symbol-collection.patch @@ -0,0 +1,46 @@ +diff --git a/lib/Makefile.am b/lib/Makefile.am +index 382d2bc..d9f0144 100644 +--- a/lib/Makefile.am ++++ b/lib/Makefile.am +@@ -274,6 +274,25 @@ endif + # But don't hide symbols that start with "libintl_locale", for the reason + # stated in localename-table.h. + all check install: config.h ++%_exported: ++ @d=`echo "$@" | sed -e 's,/[^/]*$$,,'`; \ ++ test "$$d" = "$@" || mkdir -p "$$d" ; \ ++ true >"$@" || exit 1 ; \ ++ f=`echo "$@" | sed -e 's,_exported$$,,'`; \ ++ case $$f in \ ++ *.res.lo ) ;; \ ++ *.c | *.$(OBJEXT) | *.lo ) \ ++ sf=`echo "$$f" | sed -e 's,\\.[^.]*$$,,'`.c; \ ++ test -f $$sf || sf=$(srcdir)/$$sf; \ ++ of=`echo "$$f" | sed -e 's,^.*/,,' -e 's,\\.[^.]*$$,,'`.$(OBJEXT); \ ++ echo "$(COMPILE) -c $$sf && sh ./exported.sh $$of 1>>$@" ; \ ++ $(COMPILE) -c $$sf || exit 1; \ ++ sh ./exported.sh $$of 1>>"$@"; \ ++ rm -f $$of `echo "$$of" | sed -e 's,\\.$(OBJEXT)$$,.lo,'`; \ ++ ;; \ ++ esac ++libunistring_la_EXPORTED = $(libunistring_la_SOURCES:%=%_exported) $(libunistring_la_LIBADD:%=%_exported) ++exported: $(libunistring_la_EXPORTED) + config.h: $(BUILT_SOURCES) $(srcdir)/libunistring.sym + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + : "Avoid double inclusion, to avoid a warning about redefinitions."; \ +@@ -285,10 +304,14 @@ config.h: $(BUILT_SOURCES) $(srcdir)/libunistring.sym + echo '#endif /* UNISTRING_CONFIG_H */'; \ + } > config.h && \ + if test -n "$(NAMESPACING)" && test -n "$(HAVE_GLOBAL_SYMBOL_PIPE)"; then \ ++ echo "Collecting symbols to be renamed"; \ ++ $(MAKE) exported && \ + { \ + { \ +- for f in $(libunistring_la_SOURCES) $(libunistring_la_LIBADD); do \ ++ for f in $(libunistring_la_EXPORTED); do \ + case $$f in \ ++ *_exported ) cat $$f 1>&5; ;; \ ++ * ) ;; \ + *.res.lo ) ;; \ + *.c | *.$(OBJEXT) | *.lo ) \ + sf=`echo "$$f" | sed -e 's,\\.[^.]*$$,,'`.c; \ diff --git a/ports/libunistring/portfile.cmake b/ports/libunistring/portfile.cmake index e9eef0641d09a9..e764321e86a15d 100644 --- a/ports/libunistring/portfile.cmake +++ b/ports/libunistring/portfile.cmake @@ -1,37 +1,42 @@ -set(LIBUNISTRING_VERSION 0.9.10) -set(LIBUNISTRING_FILENAME libunistring-${LIBUNISTRING_VERSION}.tar.gz) +vcpkg_minimum_required(VERSION 2022-10-12) # for ${VERSION} -if(NOT VCPKG_TARGET_IS_MINGW) - vcpkg_fail_port_install(ON_TARGET "Windows" "UWP") -endif() +set(LIBUNISTRING_FILENAME libunistring-${VERSION}.tar.xz) vcpkg_download_distfile(ARCHIVE URLS "https://ftp.gnu.org/gnu/libunistring/${LIBUNISTRING_FILENAME}" "https://www.mirrorservice.org/sites/ftp.gnu.org/gnu/libunistring/${LIBUNISTRING_FILENAME}" FILENAME "${LIBUNISTRING_FILENAME}" - SHA512 690082732fbbd47ab4ffbd6f21d85afece0f8e2ded24982f949f4ae52bf0a981b75ea9bc14ab289e0954cde07f31a7a4c2bb65615a8eb5b2bfa65720310b6fc9 + SHA512 5fbb5a0a864db73a6d18cdea7b31237da907fff0ef288f3a8db6ebdba8ef61ad8855e5fc780c2bbf632218d8fa59dd119734e5937ca64dc77f53f30f13b80b17 ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH +vcpkg_extract_source_archive(SOURCE_PATH ARCHIVE "${ARCHIVE}" - REF ${LIBUNISTRING_VERSION} - PATCHES fix-for-automake-1.16.4.patch # automake 1.16.4 uses m4_ifset instead of m4_ifdef + SOURCE_BASE "v${VERSION}" + PATCHES + disable-gnulib-fetch.patch + disable-subdirs.patch + parallelize-symbol-collection.patch ) vcpkg_configure_make( SOURCE_PATH "${SOURCE_PATH}" AUTOCONFIG - COPY_SOURCE + USE_WRAPPERS OPTIONS "--with-libiconv-prefix=${CURRENT_INSTALLED_DIR}" ) + vcpkg_install_make() vcpkg_fixup_pkgconfig() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -# copyright excerpt from README, to cover dual license under "LGPLv3+ or GPLv2". -file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/copyright" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -file(INSTALL "${SOURCE_PATH}/COPYING.LIB" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright( + COMMENT [[ +The libunistring library and its header files are dual-licensed under +"the GNU LGPLv3+ or the GNU GPLv2+". +]] + FILE_LIST + "${SOURCE_PATH}/COPYING.LIB" + "${SOURCE_PATH}/COPYING" +) diff --git a/ports/libunistring/vcpkg.json b/ports/libunistring/vcpkg.json index 585ddca79423ac..115d5ba297787b 100644 --- a/ports/libunistring/vcpkg.json +++ b/ports/libunistring/vcpkg.json @@ -1,10 +1,10 @@ { "name": "libunistring", - "version": "0.9.10", - "port-version": 1, + "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/", - "supports": "!windows", + "license": "LGPL-3.0-or-later OR GPL-2.0-or-later", + "supports": "!xbox", "dependencies": [ "libiconv" ] 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 new file mode 100644 index 00000000000000..c7359619545d81 --- /dev/null +++ b/ports/libunwind/portfile.cmake @@ -0,0 +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 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() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/libunwind/vcpkg.json b/ports/libunwind/vcpkg.json new file mode 100644 index 00000000000000..17a440f3527e58 --- /dev/null +++ b/ports/libunwind/vcpkg.json @@ -0,0 +1,12 @@ +{ + "name": "libunwind", + "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": [ + "liblzma" + ] +} diff --git a/ports/liburing/disable-tests-and-examples.patch b/ports/liburing/disable-tests-and-examples.patch new file mode 100644 index 00000000000000..827d80e9cfb178 --- /dev/null +++ b/ports/liburing/disable-tests-and-examples.patch @@ -0,0 +1,13 @@ +diff --git a/Makefile b/Makefile +index 686be4f..28d0a7f 100644 +--- a/Makefile ++++ b/Makefile +@@ -8,8 +8,6 @@ default: all + + all: + @$(MAKE) -C src +- @$(MAKE) -C test +- @$(MAKE) -C examples + + library: + @$(MAKE) -C src diff --git a/ports/liburing/fix-configure.patch b/ports/liburing/fix-configure.patch index 92ebf2826f12fd..ae718c0972d7d0 100644 --- a/ports/liburing/fix-configure.patch +++ b/ports/liburing/fix-configure.patch @@ -1,8 +1,8 @@ diff --git a/configure b/configure -index 3b96cde..56d5cb0 100755 +index 88b8ee7..bf9312f 100755 --- a/configure +++ b/configure -@@ -18,16 +18,18 @@ for opt do +@@ -20,7 +20,7 @@ for opt do ;; --mandir=*) mandir="$optarg" ;; @@ -11,21 +11,22 @@ index 3b96cde..56d5cb0 100755 ;; --cc=*) cc="$optarg" ;; - --cxx=*) cxx="$optarg" +@@ -28,10 +28,12 @@ for opt do + ;; + --use-libc) use_libc=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 -@@ -119,6 +121,7 @@ echo "# Automatically generated by configure - do not modify" > $config_host_mak +@@ -130,6 +132,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/fix-spec-version.patch b/ports/liburing/fix-spec-version.patch deleted file mode 100644 index 9acb1fc40434bb..00000000000000 --- a/ports/liburing/fix-spec-version.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff --git a/liburing.spec b/liburing.spec -index fa4d970..8607074 100644 ---- a/liburing.spec -+++ b/liburing.spec -@@ -1,5 +1,5 @@ - Name: liburing --Version: 0.7 -+Version: 2.0 - Release: 1%{?dist} - Summary: Linux-native io_uring I/O access library - License: (GPLv2 with exceptions and LGPLv2+) or MIT diff --git a/ports/liburing/portfile.cmake b/ports/liburing/portfile.cmake index 304bef5ecc676a..486aeb020bfe63 100644 --- a/ports/liburing/portfile.cmake +++ b/ports/liburing/portfile.cmake @@ -1,35 +1,49 @@ -vcpkg_fail_port_install(ON_TARGET "windows" "uwp" "osx" "ios" "android") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO axboe/liburing - REF liburing-2.0 - SHA512 8a7b37600246d44a94d3fed1ca4bb60e76f9ddc60bd3c237e600b60e77961a1125c8a1f230cb7569f959acf10b68b91aafb4935c1c2fd13d5df7373b374e47f5 + REF "liburing-${VERSION}" + SHA512 c65146ee53defba4f9b752674be8489757f60be0855b361c6d1136119c74803351e5ccc8a1890c0777bfe61da4c0fd997230fc8817ff3929a7e2186b389cdc28 HEAD_REF master PATCHES - fix-spec-version.patch # update version value for pkgconfig(.pc) files fix-configure.patch # ignore unsupported options, handle ENABLE_SHARED + disable-tests-and-examples.patch ) +# https://github.com/axboe/liburing/blob/liburing-2.7/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} + SOURCE_PATH "${SOURCE_PATH}" COPY_SOURCE - NO_DEBUG + DETERMINE_BUILD_TRIPLET + OPTIONS + [[--libdevdir=\${prefix}/lib]] # must match libdir ) vcpkg_install_make() vcpkg_fixup_pkgconfig() -file(INSTALL ${SOURCE_PATH}/LICENSE - DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) -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") - file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/liburing.a - ${CURRENT_PACKAGES_DIR}/lib/liburing.a + file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/lib/liburing.a" + "${CURRENT_PACKAGES_DIR}/lib/liburing.a" ) endif() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/man) +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 36a7188959a198..00000000000000 --- a/ports/liburing/usage +++ /dev/null @@ -1,6 +0,0 @@ -The package liburing can be imported via CMake FindPkgConfig module: - - include(FindPkgConfig) - 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 e2bb1b53e23a5f..5548bd25ed57a3 100644 --- a/ports/liburing/vcpkg.json +++ b/ports/liburing/vcpkg.json @@ -1,7 +1,9 @@ { "name": "liburing", - "version": "2.0", + "version": "2.7", + "port-version": 1, "description": "Linux-native io_uring I/O access library", "homepage": "https://github.com/axboe/liburing", + "license": "(MIT OR LGPL-2.1) AND (MIT OR (GPL-2.0 WITH Linux-syscall-note))", "supports": "linux" } diff --git a/ports/libusb-win32/portfile.cmake b/ports/libusb-win32/portfile.cmake index 1cca3bedb627b0..ad40a511dc89d5 100644 --- a/ports/libusb-win32/portfile.cmake +++ b/ports/libusb-win32/portfile.cmake @@ -1,26 +1,21 @@ -vcpkg_fail_port_install(ON_TARGET "Linux" "OSX") - -set(LIBUSB_VERSION 1.2.6.0) -set(LIBUSB_HASH 972438b7465a22882bc91a1238291240ee3cdb09f374454a027d003b150656d4c262553104f74418bb49b4a7ca2f1a4f72d20e689fa3a7728881bafc876267f4) +vcpkg_minimum_required(VERSION 2022-10-12) vcpkg_from_sourceforge( OUT_SOURCE_PATH SOURCE_PATH REPO libusb-win32/libusb-win32-releases - REF ${LIBUSB_VERSION} - FILENAME "libusb-win32-src-${LIBUSB_VERSION}.zip" - SHA512 ${LIBUSB_HASH} + REF ${VERSION} + FILENAME "libusb-win32-src-${VERSION}.zip" + SHA512 972438b7465a22882bc91a1238291240ee3cdb09f374454a027d003b150656d4c262553104f74418bb49b4a7ca2f1a4f72d20e689fa3a7728881bafc876267f4 ) -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}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA) +vcpkg_cmake_install() -vcpkg_install_cmake() vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(COPY ${SOURCE_PATH}/COPYING_LGPL.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/libusb-win32) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/libusb-win32/COPYING_LGPL.txt ${CURRENT_PACKAGES_DIR}/share/libusb-win32/copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING_LGPL.txt") diff --git a/ports/libusb-win32/vcpkg.json b/ports/libusb-win32/vcpkg.json index 462fd2322f6cc2..5dc4288684526c 100644 --- a/ports/libusb-win32/vcpkg.json +++ b/ports/libusb-win32/vcpkg.json @@ -1,8 +1,19 @@ { "name": "libusb-win32", - "version-string": "1.2.6.0", - "port-version": 7, + "version": "1.2.6.0", + "port-version": 10, "description": "Allows user space applications to access many USB device on Windows.", "homepage": "https://sourceforge.net/projects/libusb-win32", - "supports": "windows" + "license": "LGPL-3.0-only", + "supports": "windows & !static & !xbox", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/libusb/portfile.cmake b/ports/libusb/portfile.cmake index 96eb3f5de3a6c7..e00c7a040390f7 100644 --- a/ports/libusb/portfile.cmake +++ b/ports/libusb/portfile.cmake @@ -1,63 +1,74 @@ -vcpkg_fail_port_install(ON_TARGET "uwp") - 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() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libusb/libusb - REF c6a35c56016ea2ab2f19115d2ea1e85e0edae155 # v1.0.24 - SHA512 985c020d9ae6f7135e3bfee68dddcf70921481db3d10e420f55d5ee9534f7fe7be6a2a31ee73a3b282b649fcc36da4fed848e0bd0410c20eaf1deb9a8e3086e8 + REF "v${VERSION}" + SHA512 36afceae9a03c1543adb9c92fb9a9320b312282bfc8ac8db7b43983c2797c63f13ce94b8ae7aab2afa94ce68d53b6aa7a69efd8ab6b3711c072b89940d4ee734 HEAD_REF master ) -if(VCPKG_TARGET_IS_WINDOWS) - if(VCPKG_PLATFORM_TOOLSET MATCHES "v142") - set(MSVS_VERSION 2019) - elseif(VCPKG_PLATFORM_TOOLSET MATCHES "v141") - set(MSVS_VERSION 2017) - else() - set(MSVS_VERSION 2015) - endif() +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") set(LIBUSB_PROJECT_TYPE dll) - if (VCPKG_CRT_LINKAGE STREQUAL static) - file(READ "${SOURCE_PATH}/msvc/libusb_${LIBUSB_PROJECT_TYPE}_${MSVS_VERSION}.vcxproj" PROJ_FILE) - string(REPLACE "MultiThreadedDLL" "MultiThreaded" PROJ_FILE "${PROJ_FILE}") - string(REPLACE "MultiThreadedDebugDLL" "MultiThreadedDebug" PROJ_FILE "${PROJ_FILE}") - file(WRITE "${SOURCE_PATH}/msvc/libusb_${LIBUSB_PROJECT_TYPE}_${MSVS_VERSION}.vcxproj" "${PROJ_FILE}") - endif() else() set(LIBUSB_PROJECT_TYPE static) - if (VCPKG_CRT_LINKAGE STREQUAL dynamic) - file(READ "${SOURCE_PATH}/msvc/libusb_${LIBUSB_PROJECT_TYPE}_${MSVS_VERSION}.vcxproj" PROJ_FILE) - string(REPLACE "MultiThreaded" "MultiThreadedDLL" PROJ_FILE "${PROJ_FILE}") - string(REPLACE "MultiThreadedDebug" "MultiThreadedDebugDLL" PROJ_FILE "${PROJ_FILE}") - file(WRITE "${SOURCE_PATH}/msvc/libusb_${LIBUSB_PROJECT_TYPE}_${MSVS_VERSION}.vcxproj" "${PROJ_FILE}") - endif() endif() # 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) + file(REMOVE "${SOURCE_PATH}/README.md") - vcpkg_install_msbuild( - SOURCE_PATH ${SOURCE_PATH} - PROJECT_SUBPATH msvc/libusb_${LIBUSB_PROJECT_TYPE}_${MSVS_VERSION}.vcxproj - LICENSE_SUBPATH COPYING + vcpkg_msbuild_install( + SOURCE_PATH "${SOURCE_PATH}" + PROJECT_SUBPATH msvc/libusb_${LIBUSB_PROJECT_TYPE}.vcxproj ) - file(INSTALL ${SOURCE_PATH}/libusb/libusb.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/libusb-1.0) + + 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) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libusb-1.0.pc" " -lusb-1.0" " -llibusb-1.0") + 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) + 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} + SOURCE_PATH "${SOURCE_PATH}" AUTOCONFIG + OPTIONS + ${MAKE_OPTIONS} + "--enable-examples-build=no" + "--enable-tests-build=no" ) vcpkg_install_make() - vcpkg_fixup_pkgconfig() endif() -configure_file(${CURRENT_PORT_DIR}/usage ${CURRENT_PACKAGES_DIR}/share/${PORT}/usage @ONLY) -configure_file(${CURRENT_PORT_DIR}/vcpkg-cmake-wrapper.cmake ${CURRENT_PACKAGES_DIR}/share/${PORT}/vcpkg-cmake-wrapper.cmake @ONLY) -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +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}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/libusb/usage b/ports/libusb/usage index de236d46ad389c..98cce9c0149665 100644 --- a/ports/libusb/usage +++ b/ports/libusb/usage @@ -1,5 +1,5 @@ -The package @PORT@:@TARGET_TRIPLET@ 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(@PORT@ 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 61f9d54bacf44a..00000000000000 --- a/ports/libusb/vcpkg-cmake-wrapper.cmake +++ /dev/null @@ -1,14 +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 REQUIRED) -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 REQUIRED) - -select_library_configurations(LIBUSB) - -set(LIBUSB_INCLUDE_DIRS ${LIBUSB_INCLUDE_DIR}) -set(LIBUSB_LIBRARIES ${LIBUSB_LIBRARY}) - -if (@VCPKG_TARGET_IS_LINUX@) - list(APPEND LIBUSB_LIBRARIES udev) -endif() diff --git a/ports/libusb/vcpkg.json b/ports/libusb/vcpkg.json index 76f96492662831..14424beee326ab 100644 --- a/ports/libusb/vcpkg.json +++ b/ports/libusb/vcpkg.json @@ -1,8 +1,28 @@ { "name": "libusb", - "version": "1.0.24", - "port-version": 6, + "version": "1.0.27", + "port-version": 2, "description": "a cross-platform library to access USB devices", "homepage": "https://github.com/libusb/libusb", - "supports": "!uwp" + "license": "LGPL-2.1-or-later", + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-msbuild", + "host": true, + "platform": "windows & !mingw" + } + ], + "default-features": [ + { + "name": "udev", + "platform": "linux" + } + ], + "features": { + "udev": { + "description": "Enable udev", + "supports": "linux" + } + } } diff --git a/ports/libusbmuxd/001_fix_win32_defs.patch b/ports/libusbmuxd/001_fix_win32_defs.patch new file mode 100644 index 00000000000000..952a9dc2f3e1df --- /dev/null +++ b/ports/libusbmuxd/001_fix_win32_defs.patch @@ -0,0 +1,13 @@ +diff --git a/include/usbmuxd-proto.h b/include/usbmuxd-proto.h +index a2a731e..38473f5 100644 +--- a/include/usbmuxd-proto.h ++++ b/include/usbmuxd-proto.h +@@ -26,7 +26,7 @@ + #include + #define USBMUXD_PROTOCOL_VERSION 0 + +-#if defined(WIN32) || defined(__CYGWIN__) ++#if defined(_WIN32) || defined(__CYGWIN__) + #define USBMUXD_SOCKET_PORT 27015 + #else + #define USBMUXD_SOCKET_FILE "/var/run/usbmuxd" diff --git a/ports/libusbmuxd/002_fix_struct_pack.patch b/ports/libusbmuxd/002_fix_struct_pack.patch new file mode 100644 index 00000000000000..0dfd27f98e93c2 --- /dev/null +++ b/ports/libusbmuxd/002_fix_struct_pack.patch @@ -0,0 +1,50 @@ +diff --git a/include/usbmuxd-proto.h b/include/usbmuxd-proto.h +index 38473f5..d004232 100644 +--- a/include/usbmuxd-proto.h ++++ b/include/usbmuxd-proto.h +@@ -57,28 +57,30 @@ enum usbmuxd_msgtype { + MESSAGE_PLIST = 8, + }; + ++#pragma pack(push, 1) ++ + struct usbmuxd_header { + uint32_t length; // length of message, including header + uint32_t version; // protocol version + uint32_t message; // message type + uint32_t tag; // responses to this query will echo back this tag +-} __attribute__((__packed__)); ++}; + + struct usbmuxd_result_msg { + struct usbmuxd_header header; + uint32_t result; +-} __attribute__((__packed__)); ++}; + + struct usbmuxd_connect_request { + struct usbmuxd_header header; + uint32_t device_id; + uint16_t port; // TCP port number + uint16_t reserved; // set to zero +-} __attribute__((__packed__)); ++}; + + struct usbmuxd_listen_request { + struct usbmuxd_header header; +-} __attribute__((__packed__)); ++}; + + struct usbmuxd_device_record { + uint32_t device_id; +@@ -86,7 +88,9 @@ struct usbmuxd_device_record { + char serial_number[256]; + uint16_t padding; + uint32_t location; +-} __attribute__((__packed__)); ++}; ++ ++#pragma pack(pop) + + #ifdef __cplusplus + } diff --git a/ports/libusbmuxd/003_fix_msvc.patch b/ports/libusbmuxd/003_fix_msvc.patch new file mode 100644 index 00000000000000..e285d2268851b7 --- /dev/null +++ b/ports/libusbmuxd/003_fix_msvc.patch @@ -0,0 +1,37 @@ +diff --git a/src/libusbmuxd.c b/src/libusbmuxd.c +index 95e322f..c5c8f09 100644 +--- a/src/libusbmuxd.c ++++ b/src/libusbmuxd.c +@@ -49,7 +49,9 @@ + #define ECONNREFUSED 107 + #endif + ++#ifndef _MSC_VER + #include ++#endif + #include + + #ifdef WIN32 +@@ -91,6 +93,10 @@ static char* stpncpy(char *dst, const char *src, size_t len) + } + #endif + ++#ifdef _MSC_VER ++#define strcasecmp _stricmp ++#endif ++ + #include + #define PLIST_CLIENT_VERSION_STRING PACKAGE_STRING + #define PLIST_LIBUSBMUX_VERSION 3 +@@ -1590,7 +1596,11 @@ USBMUXD_API int usbmuxd_send(int sfd, const char *data, uint32_t len, uint32_t * + num_sent = socket_send(sfd, (void*)data, len); + if (num_sent < 0) { + *sent_bytes = 0; ++#ifdef WIN32 ++ num_sent = WSAGetLastError(); ++#else + num_sent = errno; ++#endif + LIBUSBMUXD_DEBUG(1, "%s: Error %d when sending: %s\n", __func__, num_sent, strerror(num_sent)); + return -num_sent; + } diff --git a/ports/libusbmuxd/004_fix_api.patch b/ports/libusbmuxd/004_fix_api.patch new file mode 100644 index 00000000000000..c06e19d030d554 --- /dev/null +++ b/ports/libusbmuxd/004_fix_api.patch @@ -0,0 +1,22 @@ +diff --git a/src/libusbmuxd.c b/src/libusbmuxd.c +index c5c8f09..edab706 100644 +--- a/src/libusbmuxd.c ++++ b/src/libusbmuxd.c +@@ -29,14 +29,10 @@ + #include + #include + +-#ifdef WIN32 +- #define USBMUXD_API __declspec( dllexport ) ++#if !defined(_WIN32) && !defined(LIBUSBMUXD_STATIC) ++#define USBMUXD_API __attribute__((visibility("default"))) + #else +- #ifdef HAVE_FVISIBILITY +- #define USBMUXD_API __attribute__((visibility("default"))) +- #else +- #define USBMUXD_API +- #endif ++#define USBMUXD_API + #endif + + #ifndef EPROTO diff --git a/ports/libusbmuxd/005_fix_tools_msvc.patch b/ports/libusbmuxd/005_fix_tools_msvc.patch new file mode 100644 index 00000000000000..2804e61058f5e8 --- /dev/null +++ b/ports/libusbmuxd/005_fix_tools_msvc.patch @@ -0,0 +1,42 @@ +diff --git a/tools/inetcat.c b/tools/inetcat.c +index f70215b..748db15 100644 +--- a/tools/inetcat.c ++++ b/tools/inetcat.c +@@ -33,7 +33,9 @@ + #include + #include + #include ++#ifndef _MSC_VER + #include ++#endif + #include + #include + #ifdef WIN32 +@@ -50,6 +52,13 @@ + #include "usbmuxd.h" + #include + ++#ifdef _MSC_VER ++#include ++typedef SSIZE_T ssize_t; ++#define STDIN_FILENO _fileno(stdin) ++#define STDOUT_FILENO _fileno(stdout) ++#endif ++ + static int debug_level = 0; + + static size_t read_data_socket(int fd, uint8_t* buf, size_t bufsize) +diff --git a/tools/iproxy.c b/tools/iproxy.c +index d5f66b6..6510cb8 100644 +--- a/tools/iproxy.c ++++ b/tools/iproxy.c +@@ -34,7 +34,9 @@ + #include + #include + #include ++#ifndef _MSC_VER + #include ++#endif + #include + #include + #ifdef WIN32 diff --git a/ports/libusbmuxd/CMakeLists.txt b/ports/libusbmuxd/CMakeLists.txt index 254a70d7e4baa6..cfe8eae8a076ca 100644 --- a/ports/libusbmuxd/CMakeLists.txt +++ b/ports/libusbmuxd/CMakeLists.txt @@ -1,50 +1,117 @@ -cmake_minimum_required(VERSION 3.0) +cmake_minimum_required(VERSION 3.15) project(libusbmuxd C) -# find dependencies -find_path(libplist_INCLUDES plist.h PATH_SUFFIXES plist) -set(libplist_INCLUDES ${libplist_INCLUDES}/../) -find_library(libplist NAMES plist libplist plist-2.0 libplist-2.0 REQUIRED) +option(BUILD_TOOLS "Build tools." OFF) -# ready to create library -file(GLOB_RECURSE IDVCACTV_TOOLS_HDR common/*.h) -file(GLOB_RECURSE IDVCACTV_TOOLS_SRC common/*.c) +include(GNUInstallDirs) -file(GLOB_RECURSE IDVCACTV_PUBLIC_HDR include/*.h) -file(GLOB_RECURSE IDVCACTV_SRC src/*.c) +file(GLOB_RECURSE LIBUSBMUXD_HEADER include/*.h) +file(GLOB_RECURSE LIBUSBMUXD_SOURCE src/*.c) -add_library(libusbmuxd ${IDVCACTV_TOOLS_HDR} ${IDVCACTV_TOOLS_SRC} ${IDVCACTV_SRC} ${IDVCACTV_PUBLIC_HDR}) -target_include_directories(libusbmuxd PRIVATE ${libplist_INCLUDES} include common) -target_compile_definitions(libusbmuxd PRIVATE -DPACKAGE_STRING="1.2.77") -if (WIN32) - target_compile_definitions(libusbmuxd PRIVATE -DWIN32) +set(DEFINITIONS) + +list(APPEND DEFINITIONS -DPACKAGE_STRING="2.0.2") + +if(BUILD_SHARED_LIBS) + if(WIN32) + list(APPEND LIBUSBMUXD_SOURCE exports.def) + endif() +else() + list(APPEND DEFINITIONS -DLIBUSBMUXD_STATIC) +endif() + +if(UNIX) + list(APPEND DEFINITIONS -DHAVE_GETIFADDRS) + list(APPEND DEFINITIONS -DHAVE_STPNCPY) +endif() + +if(WIN32) + list(APPEND DEFINITIONS -D_CRT_SECURE_NO_WARNINGS) + list(APPEND DEFINITIONS -DWIN32_LEAN_AND_MEAN) + list(APPEND DEFINITIONS -DWIN32) +endif() + +find_package(unofficial-libplist CONFIG REQUIRED) +find_package(unofficial-libimobiledevice-glue CONFIG REQUIRED) + +add_library(libusbmuxd ${LIBUSBMUXD_SOURCE}) +target_include_directories(libusbmuxd PUBLIC + "$" + "$" +) +target_compile_definitions(libusbmuxd PRIVATE ${DEFINITIONS}) +target_link_libraries(libusbmuxd + PRIVATE + unofficial::libplist::libplist + unofficial::libimobiledevice-glue::libimobiledevice-glue +) +set_target_properties(libusbmuxd PROPERTIES OUTPUT_NAME usbmuxd-2.0) + +if(WIN32) target_link_libraries(libusbmuxd PRIVATE Ws2_32) endif() -target_link_libraries(libusbmuxd PRIVATE ${libplist}) -# install +install(TARGETS libusbmuxd EXPORT unofficial-libusbmuxd) + +install( + EXPORT unofficial-libusbmuxd + FILE unofficial-libusbmuxd-config.cmake + DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/unofficial-libusbmuxd" + NAMESPACE unofficial::libusbmuxd:: +) + install( - TARGETS libusbmuxd - RUNTIME DESTINATION bin - ARCHIVE DESTINATION lib - LIBRARY DESTINATION lib + FILES ${LIBUSBMUXD_HEADER} + DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" ) set(LIBPLIST_VERSION 2.0) +set(LIMD_GLUE_VERSION 1.0) set(PACKAGE_NAME libusbmuxd) set(PACKAGE_VERSION 2.0) -set(prefix ${CMAKE_INSTALL_PREFIX}) -set(exec_prefix \${prefix}) -set(libdir \${prefix}/lib) -set(includedir \${prefix}/../include) +set(prefix "") +set(exec_prefix "\${prefix}") +set(libdir "\${prefix}/lib") +set(includedir "\${prefix}/include") + configure_file( - ${CMAKE_CURRENT_SOURCE_DIR}/src/libusbmuxd-2.0.pc.in - ${CMAKE_CURRENT_BINARY_DIR}/libusbmuxd-2.0.pc + "${CMAKE_CURRENT_SOURCE_DIR}/src/libusbmuxd-2.0.pc.in" + "${CMAKE_CURRENT_BINARY_DIR}/libusbmuxd-2.0.pc" @ONLY ) install( - FILES ${CMAKE_CURRENT_BINARY_DIR}/libusbmuxd-2.0.pc - DESTINATION lib/pkgconfig + FILES "${CMAKE_CURRENT_BINARY_DIR}/libusbmuxd-2.0.pc" + DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig" ) -install(FILES ${IDVCACTV_PUBLIC_HDR} DESTINATION include) \ No newline at end of file +if(BUILD_TOOLS) + if(WIN32) + find_package(unofficial-getopt-win32 REQUIRED) + endif() + + function(add_tool name source) + add_executable("${name}" "${source}") + target_compile_definitions("${name}" PRIVATE + -DPACKAGE_VERSION="2.0.2" + -DPACKAGE_URL="https://github.com/libimobiledevice/libusbmuxd" + -DPACKAGE_BUGREPORT="https://github.com/libimobiledevice/libusbmuxd/issues" + ) + target_link_libraries("${name}" PRIVATE libusbmuxd unofficial::libimobiledevice-glue::libimobiledevice-glue) + if(WIN32) + target_compile_definitions("${name}" PRIVATE + -D_CRT_SECURE_NO_WARNINGS + -DWIN32_LEAN_AND_MEAN + -DWIN32 + ) + target_link_libraries("${name}" PRIVATE unofficial::getopt-win32::getopt Ws2_32) + endif() + endfunction(add_tool) + + add_tool(inetcat "tools/inetcat.c") + add_tool(iproxy "tools/iproxy.c") + + install( + TARGETS inetcat iproxy + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" + ) +endif() diff --git a/ports/libusbmuxd/exports.def b/ports/libusbmuxd/exports.def new file mode 100644 index 00000000000000..a89e7e7fe2bb0d --- /dev/null +++ b/ports/libusbmuxd/exports.def @@ -0,0 +1,21 @@ +EXPORTS + usbmuxd_events_subscribe + usbmuxd_events_unsubscribe + usbmuxd_subscribe + usbmuxd_unsubscribe + usbmuxd_get_device_list + usbmuxd_device_list_free + usbmuxd_get_device_by_udid + usbmuxd_get_device + usbmuxd_connect + usbmuxd_disconnect + usbmuxd_send + usbmuxd_recv_timeout + usbmuxd_recv + usbmuxd_read_buid + usbmuxd_read_pair_record + usbmuxd_save_pair_record_with_device_id + usbmuxd_save_pair_record + usbmuxd_delete_pair_record + libusbmuxd_set_use_inotify + libusbmuxd_set_debug_level diff --git a/ports/libusbmuxd/fix-win-build.patch b/ports/libusbmuxd/fix-win-build.patch deleted file mode 100644 index a1b7f2ef23faec..00000000000000 --- a/ports/libusbmuxd/fix-win-build.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff --git a/src/libusbmuxd.c b/src/libusbmuxd.c -index e85cf4a..35ed1b5 100644 ---- a/src/libusbmuxd.c -+++ b/src/libusbmuxd.c -@@ -86,6 +86,15 @@ static char* stpncpy(char *dst, const char *src, size_t len) - } - #endif - -+#ifdef WIN32 -+int strcasecmp(char *s1, char *s2) -+{ -+ while (toupper((unsigned char)*s1) == toupper((unsigned char)*s2++)) -+ if (*s1++ == '\0') return 0; -+ return(toupper((unsigned char)*s1) - toupper((unsigned char)*--s2)); -+} -+#endif -+ - #include - #define PLIST_CLIENT_VERSION_STRING PACKAGE_STRING - #define PLIST_LIBUSBMUX_VERSION 3 diff --git a/ports/libusbmuxd/portfile.cmake b/ports/libusbmuxd/portfile.cmake index 5ad0cb01fa4095..3bd300e452858a 100644 --- a/ports/libusbmuxd/portfile.cmake +++ b/ports/libusbmuxd/portfile.cmake @@ -1,26 +1,47 @@ -vcpkg_fail_port_install( ON_TARGET "uwp" "linux" "osx") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO libimobiledevice-win32/libusbmuxd - REF ac86b23f57879b8b702f3712ba66729008d059a3 # v1.2.219 - SHA512 ced85088bc6ebb416ccb635d6b4e79662fb34f427d869b64b61847e5fde7b4ae094cebb1f7916d9387c314aeb84106a618fbd7497dc4b36151b236dcb55bd0e4 - HEAD_REF msvc-master - PATCHES fix-win-build.patch + REPO libimobiledevice/libusbmuxd + REF 8d30a559cf0585625d9d05dc8ce0dd495b1de4f4 # commits on 2023-06-21 + SHA512 ace920d13908c12afcc9182776a668f6876b2f037b21a151c1dca897aa24bc24cb41898471cd258487963772963753457be5efba2657571cf2c07c8225b68a5f + HEAD_REF master + PATCHES + 001_fix_win32_defs.patch + 002_fix_struct_pack.patch + 003_fix_msvc.patch + 004_fix_api.patch + 005_fix_tools_msvc.patch ) -configure_file(${CURRENT_PORT_DIR}/CMakeLists.txt ${SOURCE_PATH}/CMakeLists.txt COPYONLY) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") +file(COPY "${CMAKE_CURRENT_LIST_DIR}/exports.def" DESTINATION "${SOURCE_PATH}") + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + tools BUILD_TOOLS +) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} ) -vcpkg_install_cmake() -vcpkg_copy_pdbs() +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-${PORT}) vcpkg_fixup_pkgconfig() +if("tools" IN_LIST FEATURES) + vcpkg_copy_tools(TOOL_NAMES inetcat iproxy AUTO_CLEAN) +endif() + +file(READ "${CURRENT_PACKAGES_DIR}/share/unofficial-${PORT}/unofficial-${PORT}-config.cmake" cmake_config) +file(WRITE "${CURRENT_PACKAGES_DIR}/share/unofficial-${PORT}/unofficial-${PORT}-config.cmake" +"include(CMakeFindDependencyMacro) +find_dependency(unofficial-libplist CONFIG) +find_dependency(unofficial-libimobiledevice-glue CONFIG) +${cmake_config} +") -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -# Handle copyright -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME 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/libusbmuxd/usage b/ports/libusbmuxd/usage new file mode 100644 index 00000000000000..2f98e1d330d868 --- /dev/null +++ b/ports/libusbmuxd/usage @@ -0,0 +1,4 @@ +libusbmuxd provides CMake targets: + + find_package(unofficial-libusbmuxd CONFIG REQUIRED) + target_link_libraries(main PRIVATE unofficial::libusbmuxd::libusbmuxd) diff --git a/ports/libusbmuxd/vcpkg.json b/ports/libusbmuxd/vcpkg.json index f9bfb7f9fc1bf6..78a75a3743715e 100644 --- a/ports/libusbmuxd/vcpkg.json +++ b/ports/libusbmuxd/vcpkg.json @@ -1,10 +1,30 @@ { "name": "libusbmuxd", - "version-string": "1.2.219", + "version-date": "2023-06-21", "port-version": 1, "description": "A client library to multiplex connections from and to iOS devices", - "supports": "!(uwp | linux | osx)", + "homepage": "https://libimobiledevice.org/", + "license": "LGPL-2.1-or-later", + "supports": "!uwp", "dependencies": [ - "libplist" - ] + "libimobiledevice-glue", + "libplist", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "tools": { + "description": "build command line tool", + "supports": "!android & !ios & !xbox", + "dependencies": [ + "getopt" + ] + } + } } 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/libuuid/CMakeLists.txt b/ports/libuuid/CMakeLists.txt index 9f4bb0605ce88a..a2789541bcd2f4 100644 --- a/ports/libuuid/CMakeLists.txt +++ b/ports/libuuid/CMakeLists.txt @@ -19,6 +19,7 @@ add_library(uuid STATIC uuid_time.c ) target_compile_options(uuid PRIVATE -include "${CMAKE_CURRENT_BINARY_DIR}/config.h") +target_include_directories(uuid PUBLIC "$") add_executable(test_uuid test_uuid.c) target_link_libraries(test_uuid uuid) diff --git a/ports/libuuid/portfile.cmake b/ports/libuuid/portfile.cmake index 3e29431f4b14fe..74bf515e2e106d 100644 --- a/ports/libuuid/portfile.cmake +++ b/ports/libuuid/portfile.cmake @@ -1,5 +1,3 @@ -vcpkg_fail_port_install(MESSAGE "${PORT} currently only supports unix platform" ON_TARGET "Windows") - set(LIBUUID_VERSION 1.0.3) vcpkg_from_sourceforge( @@ -10,32 +8,33 @@ vcpkg_from_sourceforge( ) file(COPY - ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt - ${CMAKE_CURRENT_LIST_DIR}/config.linux.h - ${CMAKE_CURRENT_LIST_DIR}/unofficial-libuuid-config.cmake.in - DESTINATION ${SOURCE_PATH} + "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" + "${CMAKE_CURRENT_LIST_DIR}/config.linux.h" + "${CMAKE_CURRENT_LIST_DIR}/unofficial-libuuid-config.cmake.in" + DESTINATION "${SOURCE_PATH}" ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() -set(prefix ${CURRENT_INSTALLED_DIR}) +set(prefix "${CURRENT_INSTALLED_DIR}") set(exec_prefix \$\{prefix\}) set(libdir \$\{exec_prefix\}/lib) set(includedir \$\{prefix\}/include) -configure_file(${SOURCE_PATH}/uuid.pc.in ${SOURCE_PATH}/uuid.pc @ONLY) -file(INSTALL ${SOURCE_PATH}/uuid.pc DESTINATION ${CURRENT_PACKAGES_DIR}/lib/pkgconfig) -file(INSTALL ${SOURCE_PATH}/uuid.pc DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig) - -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/unofficial-libuuid TARGET_PATH share/unofficial-libuuid) +configure_file("${SOURCE_PATH}/uuid.pc.in" "${SOURCE_PATH}/uuid.pc" @ONLY) +if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + file(INSTALL "${SOURCE_PATH}/uuid.pc" DESTINATION "${CURRENT_PACKAGES_DIR}/lib/pkgconfig") +endif() +if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + file(INSTALL "${SOURCE_PATH}/uuid.pc" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig") +endif() + +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/unofficial-libuuid PACKAGE_NAME unofficial-libuuid) vcpkg_fixup_pkgconfig() -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/libuuid/vcpkg.json b/ports/libuuid/vcpkg.json index 0f88cf666f9721..405adfb81bf864 100644 --- a/ports/libuuid/vcpkg.json +++ b/ports/libuuid/vcpkg.json @@ -1,8 +1,19 @@ { "name": "libuuid", "version": "1.0.3", - "port-version": 8, + "port-version": 14, "description": "Universally unique id library", "homepage": "https://sourceforge.net/projects/libuuid", - "supports": "linux | osx" + "license": "BSD-3-Clause", + "supports": "!osx & !windows", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/libuv/CMakeLists.txt b/ports/libuv/CMakeLists.txt deleted file mode 100644 index 7d2c38bdbb307b..00000000000000 --- a/ports/libuv/CMakeLists.txt +++ /dev/null @@ -1,83 +0,0 @@ -cmake_minimum_required(VERSION 3.5) -project(libuv C) - -find_package(Threads REQUIRED) - -file(GLOB UV_SOURCES_COMMON src/*.c) - -file(GLOB UV_SOURCES_UNIX - src/unix/async.c - src/unix/core.c - src/unix/dl.c - src/unix/fs.c - src/unix/getaddrinfo.c - src/unix/getnameinfo.c - src/unix/loop.c - src/unix/loop-watcher.c - src/unix/pipe.c - src/unix/poll.c - src/unix/process.c - src/unix/signal.c - src/unix/stream.c - src/unix/tcp.c - src/unix/thread.c - src/unix/tty.c - src/unix/udp.c -) -file(GLOB UV_SOURCES_LINUX - src/unix/proctitle.c - src/unix/linux-core.c - src/unix/linux-inotify.c - src/unix/linux-syscalls.c - src/unix/procfs-exepath.c - src/unix/sysinfo-loadavg.c - src/unix/sysinfo-memory.c - src/unix/epoll.c -) -file(GLOB UV_SOURCES_DARWIN - src/unix/proctitle.c - src/unix/darwin.c - src/unix/fsevents.c - src/unix/darwin-proctitle.c - src/unix/bsd-ifaddrs.c - src/unix/kqueue.c -) -file(GLOB UV_SOURCES_FREEBSD - src/unix/freebsd.c - src/unix/posix-hrtime.c - src/unix/bsd-proctitle.c - src/unix/bsd-ifaddrs.c - src/unix/kqueue.c -) -file(GLOB UV_SOURCES_WIN src/win/*.c) - -if(CMAKE_SYSTEM_NAME STREQUAL "Windows" OR CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - add_library(libuv ${UV_SOURCES_COMMON} ${UV_SOURCES_WIN}) - target_compile_definitions(libuv PRIVATE WIN32_LEAN_AND_MEAN "_WIN32_WINNT=0x0600") - target_link_libraries(libuv PRIVATE iphlpapi psapi shell32 userenv ws2_32) -elseif(APPLE) - add_library(libuv ${UV_SOURCES_COMMON} ${UV_SOURCES_UNIX} ${UV_SOURCES_DARWIN}) -elseif(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") - add_library(libuv ${UV_SOURCES_COMMON} ${UV_SOURCES_UNIX} ${UV_SOURCES_FREEBSD}) -else() # Assume some Linux variant - add_library(libuv ${UV_SOURCES_COMMON} ${UV_SOURCES_UNIX} ${UV_SOURCES_LINUX}) -endif() - -target_link_libraries(libuv PRIVATE Threads::Threads) -target_include_directories(libuv PUBLIC $ $ $) -set_target_properties(libuv PROPERTIES DEFINE_SYMBOL BUILDING_UV_SHARED) - -if(NOT UV_SKIP_HEADERS) - install( - DIRECTORY include/ - DESTINATION include - ) -endif() - -install(TARGETS libuv - EXPORT libuv - RUNTIME DESTINATION bin - ARCHIVE DESTINATION lib - LIBRARY DESTINATION lib -) -install(EXPORT libuv FILE unofficial-libuv-targets.cmake NAMESPACE unofficial::libuv:: DESTINATION share/unofficial-libuv) diff --git a/ports/libuv/fix-build-type.patch b/ports/libuv/fix-build-type.patch new file mode 100644 index 00000000000000..f6ef6537d7cca9 --- /dev/null +++ b/ports/libuv/fix-build-type.patch @@ -0,0 +1,44 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 5e8e016..b3c3f18 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -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}) +@@ -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, +@@ -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}) +-install(FILES ${PROJECT_BINARY_DIR}/libuv-static.pc +- DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) +-install(TARGETS uv_a EXPORT libuvConfig +- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + install(EXPORT libuvConfig + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libuv + NAMESPACE libuv::) +@@ -775,6 +772,11 @@ if(LIBUV_BUILD_SHARED) + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++else() ++install(FILES ${PROJECT_BINARY_DIR}/libuv-static.pc ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) ++install(TARGETS uv_a EXPORT libuvConfig ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + endif() + + if(MSVC) diff --git a/ports/libuv/portfile.cmake b/ports/libuv/portfile.cmake index 6c2c384bb64b3c..1fb8040faae642 100644 --- a/ports/libuv/portfile.cmake +++ b/ports/libuv/portfile.cmake @@ -1,39 +1,41 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libuv/libuv - REF 6ce14710da7079eb248868171f6343bc409ea3a4 # v1.42.0 - SHA512 305b0e8beb9372d22b767f1f792c6351d4b2d747b31cda95a4657cfca101806a17dd0bfab2039d22e29387c9d5ee376fe1b22d63aba1baf0d88817cbcacd97b8 + REF "v${VERSION}" + SHA512 e90680128bfaac215e5eebd9c8e5ce08e5fe68a7258f65bfcf56377756e9dbf527a232dfaf9d217c7374e713660ec99eeaae05d6fee2b8c5c9b71ad1b0b4dd72 HEAD_REF v1.x + PATCHES + fix-build-type.patch + ssize_t.patch ) -file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" LIBUV_BUILD_SHARED) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - OPTIONS_DEBUG - -DUV_SKIP_HEADERS=ON + OPTIONS + -DLIBUV_BUILD_TESTS=OFF + -DLIBUV_BUILD_BENCH=OFF + -DLIBUV_BUILD_SHARED=${LIBUV_BUILD_SHARED} + -DQEMU=OFF + -DASAN=OFF + -DTSAN=OFF ) vcpkg_cmake_install() -vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-libuv CONFIG_PATH share/unofficial-libuv) vcpkg_copy_pdbs() -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/libuv) +vcpkg_fixup_pkgconfig() -configure_file( - "${CMAKE_CURRENT_LIST_DIR}/unofficial-libuv-config.in.cmake" - "${CURRENT_PACKAGES_DIR}/share/unofficial-libuv/unofficial-libuv-config.cmake" - @ONLY -) - -file(READ "${CURRENT_PACKAGES_DIR}/include/uv.h" UV_H) if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - string(REPLACE "defined(USING_UV_SHARED)" "1" UV_H "${UV_H}") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/uv.h" "defined(USING_UV_SHARED)" "1") else() - string(REPLACE "defined(USING_UV_SHARED)" "0" UV_H "${UV_H}") - configure_file("${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" "${CURRENT_PACKAGES_DIR}/share/${PORT}/vcpkg-cmake-wrapper.cmake" @ONLY) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/uv.h" "defined(USING_UV_SHARED)" "0") endif() -file(WRITE "${CURRENT_PACKAGES_DIR}/include/uv.h" "${UV_H}") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share" "${CURRENT_PACKAGES_DIR}/debug/include") + +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/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/unofficial-libuv-config.in.cmake b/ports/libuv/unofficial-libuv-config.in.cmake deleted file mode 100644 index a591d4cdf23245..00000000000000 --- a/ports/libuv/unofficial-libuv-config.in.cmake +++ /dev/null @@ -1,7 +0,0 @@ - -if("@VCPKG_LIBRARY_LINKAGE@" STREQUAL "static") - include(CMakeFindDependencyMacro) - find_dependency(Threads) -endif() - -include(${CMAKE_CURRENT_LIST_DIR}/unofficial-libuv-targets.cmake) diff --git a/ports/libuv/usage b/ports/libuv/usage new file mode 100644 index 00000000000000..60de86a856d3bc --- /dev/null +++ b/ports/libuv/usage @@ -0,0 +1,4 @@ +libuv provides CMake targets: + + find_package(libuv CONFIG REQUIRED) + target_link_libraries(main PRIVATE $,libuv::uv_a,libuv::uv>) diff --git a/ports/libuv/vcpkg-cmake-wrapper.cmake b/ports/libuv/vcpkg-cmake-wrapper.cmake deleted file mode 100644 index d95350a6d4c7b9..00000000000000 --- a/ports/libuv/vcpkg-cmake-wrapper.cmake +++ /dev/null @@ -1,16 +0,0 @@ -_find_package(${ARGS}) - -if(WIN32) - list(APPEND LibUV_LIBRARIES iphlpapi psapi shell32 userenv ws2_32) - if(TARGET LibUV::LibUV) - set_property(TARGET LibUV::LibUV APPEND PROPERTY INTERFACE_LINK_LIBRARIES iphlpapi psapi shell32 userenv ws2_32) - endif() -endif() -include(CMakeFindDependencyMacro) -find_dependency(Threads) -list(APPEND LibUV_LIBRARIES Threads::Threads) -if(TARGET LibUV::LibUV) - set_property(TARGET LibUV::LibUV APPEND PROPERTY INTERFACE_LINK_LIBRARIES Threads::Threads) -endif() - - diff --git a/ports/libuv/vcpkg.json b/ports/libuv/vcpkg.json index c1ebc4f1ac44e0..9839ed4ec9157b 100644 --- a/ports/libuv/vcpkg.json +++ b/ports/libuv/vcpkg.json @@ -1,9 +1,10 @@ { "name": "libuv", - "version-semver": "1.42.0", - "port-version": 2, + "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 1e76adcd916a63..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,19 +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") -# 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 ee9766b69ebff1..b685aa03f854a1 100644 --- a/ports/libuvc/vcpkg.json +++ b/ports/libuvc/vcpkg.json @@ -1,14 +1,13 @@ { "name": "libuvc", - "version-date": "2020-11-24", - "port-version": 2, + "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", - "libusb", { "name": "vcpkg-cmake", "host": true diff --git a/ports/libvault/0001-fix-dependencies.patch b/ports/libvault/0001-fix-dependencies.patch new file mode 100644 index 00000000000000..50ec48cbe6acf8 --- /dev/null +++ b/ports/libvault/0001-fix-dependencies.patch @@ -0,0 +1,13 @@ +diff --git a/VaultConfig.cmake.in b/VaultConfig.cmake.in +index 67a40ab..82db52d 100644 +--- a/VaultConfig.cmake.in ++++ b/VaultConfig.cmake.in +@@ -1,5 +1,8 @@ + @PACKAGE_INIT@ + ++include(CMakeFindDependencyMacro) ++find_dependency(CURL CONFIG) ++ + include("${CMAKE_CURRENT_LIST_DIR}/libvaultTargets.cmake") + + check_required_components(vault) diff --git a/ports/libvault/portfile.cmake b/ports/libvault/portfile.cmake new file mode 100644 index 00000000000000..2755698056c900 --- /dev/null +++ b/ports/libvault/portfile.cmake @@ -0,0 +1,32 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO abedra/libvault + REF "${VERSION}" + SHA512 20a7e8ae5bac5278ff2c9588d24f853b0c80169e008e930c390a78e15d18f36c68c2666a4c6c4aa263689d5b89a8c9945eead4d88087035fafb9865fcc3466ca + PATCHES + 0001-fix-dependencies.patch +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DENABLE_TEST=OFF + -DLINK_CURL=ON +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(PACKAGE_NAME libvault CONFIG_PATH lib/cmake/libvault) +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") + +# Install usage +configure_file("${CMAKE_CURRENT_LIST_DIR}/usage" "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" @ONLY) diff --git a/ports/libvault/usage b/ports/libvault/usage new file mode 100644 index 00000000000000..766be39f097e81 --- /dev/null +++ b/ports/libvault/usage @@ -0,0 +1,4 @@ +libvault provides CMake targets: + + find_package(libvault CONFIG REQUIRED) + target_link_libraries(main PRIVATE libvault::vault) diff --git a/ports/libvault/vcpkg.json b/ports/libvault/vcpkg.json new file mode 100644 index 00000000000000..95ab36854e7e05 --- /dev/null +++ b/ports/libvault/vcpkg.json @@ -0,0 +1,19 @@ +{ + "name": "libvault", + "version": "0.61.0", + "description": "A C++ library for Hashicorp Vault", + "homepage": "https://github.com/abedra/libvault", + "license": "MIT", + "supports": "!uwp", + "dependencies": [ + "curl", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} 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/CMakeLists.txt b/ports/libvmdk/CMakeLists.txt index 1fb043d905fbdd..d04b627bbe3c06 100644 --- a/ports/libvmdk/CMakeLists.txt +++ b/ports/libvmdk/CMakeLists.txt @@ -9,7 +9,6 @@ if(MSVC) add_compile_definitions(_CRT_NONSTDC_NO_DEPRECATE) endif() -add_compile_definitions(HAVE_LOCAL_LIBCAES) add_compile_definitions(HAVE_LOCAL_LIBCERROR) add_compile_definitions(HAVE_LOCAL_LIBCTHREADS) add_compile_definitions(HAVE_LOCAL_LIBCDATA) 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 505d5e68c4f947..715d8b2071740e 100644 --- a/ports/libvmdk/portfile.cmake +++ b/ports/libvmdk/portfile.cmake @@ -1,34 +1,32 @@ -vcpkg_fail_port_install(ON_TARGET "uwp") - -set(LIB_VERSION 20200926) -set(LIB_FILENAME libvmdk-alpha-${LIB_VERSION}.tar.gz) +set(LIB_FILENAME libvmdk-alpha-${VERSION}.tar.gz) vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/libyal/libvmdk/releases/download/${LIB_VERSION}/${LIB_FILENAME}" + URLS "https://github.com/libyal/libvmdk/releases/download/${VERSION}/${LIB_FILENAME}" FILENAME "${LIB_FILENAME}" - SHA512 e70c42580dc58ad0a6459fe461504a8ef128f8d5df9d500f84f316e627232606f22eb4906fc1debc3e75e71daa6a07951af80822695de13d5e466adda4cfd5e0 + SHA512 7d7ea415d7c2cb1077d591d53ab3c37a7ab6e01dc9525159a70588e6f55e56bbef4d3f49f6e1c01ff0b1ddcede5ec2beb05aca7f12e5212843761e14f6459bcb ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} - REF ${LIB_VERSION} +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}") file(COPY "${CMAKE_CURRENT_LIST_DIR}/Config.cmake.in" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/libvmdk" TARGET_PATH "share/libvmdk") +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/libvmdk) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) vcpkg_copy_pdbs() diff --git a/ports/libvmdk/vcpkg.json b/ports/libvmdk/vcpkg.json index e8211d6c62e367..eb0029f99b9685 100644 --- a/ports/libvmdk/vcpkg.json +++ b/ports/libvmdk/vcpkg.json @@ -1,12 +1,20 @@ { "name": "libvmdk", - "version-string": "20200926", + "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", "dependencies": [ "gettext", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, "zlib" ] } diff --git a/ports/libvorbis/0003-def-mingw-compat.patch b/ports/libvorbis/0003-def-mingw-compat.patch new file mode 100644 index 00000000000000..f1622d9823a177 --- /dev/null +++ b/ports/libvorbis/0003-def-mingw-compat.patch @@ -0,0 +1,33 @@ +diff --git a/win32/vorbis.def b/win32/vorbis.def +index 1310b6c..de14385 100644 +--- a/win32/vorbis.def ++++ b/win32/vorbis.def +@@ -1,6 +1,5 @@ + ; vorbis.def + ; +-LIBRARY + EXPORTS + _floor_P + _mapping_P +diff --git a/win32/vorbisenc.def b/win32/vorbisenc.def +index 79af064..40a3e39 100644 +--- a/win32/vorbisenc.def ++++ b/win32/vorbisenc.def +@@ -1,6 +1,5 @@ + ; vorbisenc.def + ; +-LIBRARY + + EXPORTS + vorbis_encode_init +diff --git a/win32/vorbisfile.def b/win32/vorbisfile.def +index 4dc5549..243795d 100644 +--- a/win32/vorbisfile.def ++++ b/win32/vorbisfile.def +@@ -1,6 +1,5 @@ + ; vorbisfile.def + ; +-LIBRARY + EXPORTS + ov_clear + ov_open 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 a015e0e8c5e244..5a9bef40b30644 100644 --- a/ports/libvorbis/portfile.cmake +++ b/ports/libvorbis/portfile.cmake @@ -7,24 +7,20 @@ vcpkg_from_github( PATCHES 0001-Dont-export-vorbisenc-functions.patch 0002-Fixup-pkgconfig-libs.patch + 0003-def-mingw-compat.patch + 0004-ogg-find-dependency.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets( - CONFIG_PATH lib/cmake/Vorbis - TARGET_PATH share/Vorbis -) - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) - -# Handle copyright -configure_file(${SOURCE_PATH}/COPYING ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) - +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME Vorbis CONFIG_PATH "lib/cmake/Vorbis") +vcpkg_fixup_pkgconfig() vcpkg_copy_pdbs() -vcpkg_fixup_pkgconfig() +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}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/libvorbis/usage b/ports/libvorbis/usage new file mode 100644 index 00000000000000..c20766a90af564 --- /dev/null +++ b/ports/libvorbis/usage @@ -0,0 +1,13 @@ +The package libvorbis provides CMake targets: + + # Vorbis reference encoder and decoder, low-level API + find_package(Vorbis CONFIG REQUIRED) + target_link_libraries(main PRIVATE Vorbis::vorbis) + + # Audio stream decoding and basic manipulation, high-level API + find_package(Vorbis CONFIG REQUIRED) + target_link_libraries(main PRIVATE Vorbis::vorbisfile) + + # Convenience API for setting up an encoding environment + find_package(Vorbis CONFIG REQUIRED) + target_link_libraries(main PRIVATE Vorbis::vorbisenc) diff --git a/ports/libvorbis/vcpkg.json b/ports/libvorbis/vcpkg.json index af19c1851b15c4..44a77c83800e76 100644 --- a/ports/libvorbis/vcpkg.json +++ b/ports/libvorbis/vcpkg.json @@ -1,11 +1,19 @@ { "name": "libvorbis", - "version-string": "1.3.7", - "port-version": 1, + "version": "1.3.7", + "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", "dependencies": [ - "libogg" + "libogg", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/libvpx/0002-Fix-nasm-debug-format-flag.patch b/ports/libvpx/0002-Fix-nasm-debug-format-flag.patch index 9202f4bd9a5c11..5f4749ae0056c1 100644 --- a/ports/libvpx/0002-Fix-nasm-debug-format-flag.patch +++ b/ports/libvpx/0002-Fix-nasm-debug-format-flag.patch @@ -1,21 +1,21 @@ -diff --git a/build/make/configure.sh b/build/make/configure.sh -index 81d30a16c..d4f19cd97 100644 ---- a/build/make/configure.sh -+++ b/build/make/configure.sh -@@ -1370,12 +1370,14 @@ EOF - case ${tgt_os} in - win32) - add_asflags -f win32 -- enabled debug && add_asflags -g cv8 -+ enabled debug && [ "${AS}" = yasm ] && add_asflags -g cv8 -+ enabled debug && [ "${AS}" = nasm ] && add_asflags -gcv8 - EXE_SFX=.exe - ;; - win64) - add_asflags -f win64 -- enabled debug && add_asflags -g cv8 -+ enabled debug && [ "${AS}" = yasm ] && add_asflags -g cv8 -+ enabled debug && [ "${AS}" = nasm ] && add_asflags -gcv8 - EXE_SFX=.exe - ;; - linux*|solaris*|android*) +diff --git a/build/make/configure.sh b/build/make/configure.sh +index 81d30a1..325017e 100644 +--- a/build/make/configure.sh ++++ b/build/make/configure.sh +@@ -1370,12 +1370,14 @@ EOF + case ${tgt_os} in + win32) + add_asflags -f win32 +- enabled debug && add_asflags -g cv8 ++ enabled debug && [ "${AS}" = yasm ] && add_asflags -g cv8 ++ enabled debug && [ "${AS}" = nasm ] && add_asflags -gcv8 + EXE_SFX=.exe + ;; + win64) + add_asflags -f win64 +- enabled debug && add_asflags -g cv8 ++ enabled debug && [ "${AS}" = yasm ] && add_asflags -g cv8 ++ enabled debug && [ "${AS}" = nasm ] && add_asflags -gcv8 + EXE_SFX=.exe + ;; + linux*|solaris*|android*) diff --git a/ports/libvpx/0003-add-uwp-and-v142-support.patch b/ports/libvpx/0003-add-uwp-and-v142-support.patch deleted file mode 100644 index 9d689ab59f9051..00000000000000 --- a/ports/libvpx/0003-add-uwp-and-v142-support.patch +++ /dev/null @@ -1,154 +0,0 @@ -diff --git a/build/make/configure.sh b/build/make/configure.sh -index d4f19cd97..fb51368b1 100644 ---- a/build/make/configure.sh -+++ b/build/make/configure.sh -@@ -1016,7 +1016,7 @@ EOF - # A number of ARM-based Windows platforms are constrained by their - # respective SDKs' limitations. Fortunately, these are all 32-bit ABIs - # and so can be selected as 'win32'. -- if [ ${tgt_os} = "win32" ]; then -+ if [ ${tgt_os} = "win32" ] || [ ${tgt_isa} = "armv7" ]; then - asm_conversion_cmd="${source_path_mk}/build/make/ads2armasm_ms.pl" - AS_SFX=.S - msvs_arch_dir=arm-msvs -@@ -1250,6 +1250,9 @@ EOF - android) - soft_enable realtime_only - ;; -+ uwp) -+ enabled gcc && add_cflags -fno-common -+ ;; - win*) - enabled gcc && add_cflags -fno-common - ;; -@@ -1368,6 +1371,16 @@ EOF - fi - AS_SFX=.asm - case ${tgt_os} in -+ uwp) -+ if [ {$tgt_isa} = "x86" ] || [ {$tgt_isa} = "armv7" ]; then -+ add_asflags -f win32 -+ else -+ add_asflags -f win64 -+ fi -+ enabled debug && [ "${AS}" = yasm ] && add_asflags -g cv8 -+ enabled debug && [ "${AS}" = nasm ] && add_asflags -gcv8 -+ EXE_SFX=.exe -+ ;; - win32) - add_asflags -f win32 - enabled debug && [ "${AS}" = yasm ] && add_asflags -g cv8 -@@ -1488,6 +1501,8 @@ EOF - # Almost every platform uses pthreads. - if enabled multithread; then - case ${toolchain} in -+ *-uwp-vs*) -+ ;; - *-win*-vs*) - ;; - *-android-gcc) -diff --git a/build/make/gen_msvs_vcxproj.sh b/build/make/gen_msvs_vcxproj.sh -index 6f91ad478..916851662 100755 ---- a/build/make/gen_msvs_vcxproj.sh -+++ b/build/make/gen_msvs_vcxproj.sh -@@ -296,7 +296,22 @@ generate_vcxproj() { - tag_content ProjectGuid "{${guid}}" - tag_content RootNamespace ${name} - tag_content Keyword ManagedCProj -- if [ $vs_ver -ge 12 ] && [ "${platforms[0]}" = "ARM" ]; then -+ if [ $vs_ver -ge 16 ]; then -+ if [[ $target =~ [^-]*-uwp-.* ]]; then -+ # Universal Windows Applications -+ tag_content AppContainerApplication true -+ tag_content ApplicationType "Windows Store" -+ tag_content ApplicationTypeRevision 10.0 -+ fi -+ if [[ $target =~ [^-]*-uwp-.* ]] || [ "${platforms[0]}" = "ARM" ] || [ "${platforms[0]}" = "ARM64" ]; then -+ # Default to the latest Windows 10 SDK -+ tag_content WindowsTargetPlatformVersion 10.0 -+ else -+ # Minimum supported version of Windows for the desktop -+ tag_content WindowsTargetPlatformVersion 8.1 -+ fi -+ tag_content MinimumVisualStudioVersion 16.0 -+ elif [ $vs_ver -ge 12 ] && [ "${platforms[0]}" = "ARM" ]; then - tag_content AppContainerApplication true - # The application type can be one of "Windows Store", - # "Windows Phone" or "Windows Phone Silverlight". The -@@ -391,7 +406,7 @@ generate_vcxproj() { - Condition="'\$(Configuration)|\$(Platform)'=='$config|$plat'" - if [ "$name" == "vpx" ]; then - hostplat=$plat -- if [ "$hostplat" == "ARM" ]; then -+ if [ "$hostplat" == "ARM" ] && [ $vs_ver -le 15 ]; then - hostplat=Win32 - fi - fi -diff --git a/configure b/configure -index da631a45e..da93474e5 100755 ---- a/configure -+++ b/configure -@@ -101,16 +101,20 @@ all_platforms="${all_platforms} arm64-android-gcc" - all_platforms="${all_platforms} arm64-darwin-gcc" - all_platforms="${all_platforms} arm64-darwin20-gcc" - all_platforms="${all_platforms} arm64-linux-gcc" -+all_platforms="${all_platforms} arm64-uwp-vs16" - 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} armv7-android-gcc" #neon Cortex-A8 - 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 -+all_platforms="${all_platforms} armv7-uwp-vs16" - 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} armv7s-darwin-gcc" - all_platforms="${all_platforms} armv8-linux-gcc" - all_platforms="${all_platforms} mips32-linux-gcc" -@@ -135,6 +139,7 @@ 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" -+all_platforms="${all_platforms} x86-uwp-vs16" - all_platforms="${all_platforms} x86-win32-gcc" - all_platforms="${all_platforms} x86-win32-vs14" - all_platforms="${all_platforms} x86-win32-vs15" -@@ -156,6 +161,7 @@ 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" -+all_platforms="${all_platforms} x86_64-uwp-vs16" - all_platforms="${all_platforms} x86_64-win64-gcc" - all_platforms="${all_platforms} x86_64-win64-vs14" - all_platforms="${all_platforms} x86_64-win64-vs15" -@@ -476,11 +482,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}" -- case "${tgt_os}" in -- win*) enabled static_msvcrt && DIST_DIR="${DIST_DIR}mt" || DIST_DIR="${DIST_DIR}md" -- DIST_DIR="${DIST_DIR}-${tgt_cc}" -- ;; -- esac -+ if [[ ${tgt_os} =~ win.* ]] || [ "${tgt_os}" = "uwp" ]; then -+ enabled static_msvcrt && DIST_DIR="${DIST_DIR}mt" || DIST_DIR="${DIST_DIR}md" -+ DIST_DIR="${DIST_DIR}-${tgt_cc}" -+ fi - if [ -f "${source_path}/build/make/version.sh" ]; then - ver=`"$source_path/build/make/version.sh" --bare "$source_path"` - DIST_DIR="${DIST_DIR}-${ver}" -@@ -569,6 +574,10 @@ process_detect() { - - # Specialize windows and POSIX environments. - case $toolchain in -+ *-uwp-*) -+ # Don't check for any headers in UWP builds. -+ false -+ ;; - *-win*-*) - # Don't check for any headers in Windows builds. - false diff --git a/ports/libvpx/0003-add-uwp-v142-and-v143-support.patch b/ports/libvpx/0003-add-uwp-v142-and-v143-support.patch new file mode 100644 index 00000000000000..43cebde3116b35 --- /dev/null +++ b/ports/libvpx/0003-add-uwp-v142-and-v143-support.patch @@ -0,0 +1,153 @@ +diff --git a/build/make/configure.sh b/build/make/configure.sh +index 110f16e..c161d0e 100644 +--- a/build/make/configure.sh ++++ b/build/make/configure.sh +@@ -1038,7 +1038,7 @@ EOF + # A number of ARM-based Windows platforms are constrained by their + # respective SDKs' limitations. Fortunately, these are all 32-bit ABIs + # and so can be selected as 'win32'. +- if [ ${tgt_os} = "win32" ]; then ++ if [ ${tgt_os} = "win32" ] || [ ${tgt_isa} = "armv7" ]; then + asm_conversion_cmd="${source_path_mk}/build/make/ads2armasm_ms.pl" + AS_SFX=.S + msvs_arch_dir=arm-msvs +@@ -1272,6 +1272,9 @@ EOF + android) + soft_enable realtime_only + ;; ++ uwp) ++ enabled gcc && add_cflags -fno-common ++ ;; + win*) + enabled gcc && add_cflags -fno-common + ;; +@@ -1390,6 +1393,16 @@ EOF + fi + AS_SFX=.asm + case ${tgt_os} in ++ uwp) ++ if [ {$tgt_isa} = "x86" ] || [ {$tgt_isa} = "armv7" ]; then ++ add_asflags -f win32 ++ else ++ add_asflags -f win64 ++ fi ++ enabled debug && [ "${AS}" = yasm ] && add_asflags -g cv8 ++ enabled debug && [ "${AS}" = nasm ] && add_asflags -gcv8 ++ EXE_SFX=.exe ++ ;; + win32) + add_asflags -f win32 + enabled debug && [ "${AS}" = yasm ] && add_asflags -g cv8 +@@ -1519,6 +1532,8 @@ EOF + # Almost every platform uses pthreads. + if enabled multithread; then + case ${toolchain} in ++ *-uwp-vs*) ++ ;; + *-win*-vs*) + ;; + *-android-gcc) +diff --git a/build/make/gen_msvs_vcxproj.sh b/build/make/gen_msvs_vcxproj.sh +index 58bb66b..b4cad6c 100644 +--- a/build/make/gen_msvs_vcxproj.sh ++++ b/build/make/gen_msvs_vcxproj.sh +@@ -296,7 +296,22 @@ generate_vcxproj() { + tag_content ProjectGuid "{${guid}}" + tag_content RootNamespace ${name} + tag_content Keyword ManagedCProj +- if [ $vs_ver -ge 12 ] && [ "${platforms[0]}" = "ARM" ]; then ++ if [ $vs_ver -ge 16 ]; then ++ if [[ $target =~ [^-]*-uwp-.* ]]; then ++ # Universal Windows Applications ++ tag_content AppContainerApplication true ++ tag_content ApplicationType "Windows Store" ++ tag_content ApplicationTypeRevision 10.0 ++ fi ++ if [[ $target =~ [^-]*-uwp-.* ]] || [ "${platforms[0]}" = "ARM" ] || [ "${platforms[0]}" = "ARM64" ]; then ++ # Default to the latest Windows 10 SDK ++ tag_content WindowsTargetPlatformVersion 10.0 ++ else ++ # Minimum supported version of Windows for the desktop ++ tag_content WindowsTargetPlatformVersion 8.1 ++ fi ++ tag_content MinimumVisualStudioVersion 16.0 ++ elif [ $vs_ver -ge 12 ] && [ "${platforms[0]}" = "ARM" ]; then + tag_content AppContainerApplication true + # The application type can be one of "Windows Store", + # "Windows Phone" or "Windows Phone Silverlight". The +@@ -394,7 +409,7 @@ generate_vcxproj() { + Condition="'\$(Configuration)|\$(Platform)'=='$config|$plat'" + if [ "$name" == "vpx" ]; then + hostplat=$plat +- if [ "$hostplat" == "ARM" ]; then ++ if [ "$hostplat" == "ARM" ] && [ $vs_ver -le 15 ]; then + hostplat=Win32 + fi + fi +diff --git a/configure b/configure +index ae289f7..78f5fc1 100644 +--- a/configure ++++ b/configure +@@ -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" +@@ -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 ++all_platforms="${all_platforms} armv7-uwp-vs16" ++all_platforms="${all_platforms} armv7-uwp-vs17" + all_platforms="${all_platforms} armv7-win32-gcc" + all_platforms="${all_platforms} armv7-win32-vs14" + all_platforms="${all_platforms} armv7-win32-vs15" +@@ -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" ++all_platforms="${all_platforms} x86-uwp-vs16" ++all_platforms="${all_platforms} x86-uwp-vs17" + all_platforms="${all_platforms} x86-win32-gcc" + all_platforms="${all_platforms} x86-win32-vs14" + all_platforms="${all_platforms} x86-win32-vs15" +@@ -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" ++all_platforms="${all_platforms} x86_64-uwp-vs16" ++all_platforms="${all_platforms} x86_64-uwp-vs17" + all_platforms="${all_platforms} x86_64-win64-gcc" + all_platforms="${all_platforms} x86_64-win64-vs14" + all_platforms="${all_platforms} x86_64-win64-vs15" +@@ -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}" +- case "${tgt_os}" in +- win*) enabled static_msvcrt && DIST_DIR="${DIST_DIR}mt" || DIST_DIR="${DIST_DIR}md" +- DIST_DIR="${DIST_DIR}-${tgt_cc}" +- ;; +- esac ++ if [[ ${tgt_os} =~ win.* ]] || [ "${tgt_os}" = "uwp" ]; then ++ enabled static_msvcrt && DIST_DIR="${DIST_DIR}mt" || DIST_DIR="${DIST_DIR}md" ++ DIST_DIR="${DIST_DIR}-${tgt_cc}" ++ fi + if [ -f "${source_path}/build/make/version.sh" ]; then + ver=`"$source_path/build/make/version.sh" --bare "$source_path"` + DIST_DIR="${DIST_DIR}-${ver}" +@@ -584,6 +591,10 @@ process_detect() { + + # Specialize windows and POSIX environments. + case $toolchain in ++ *-uwp-*) ++ # Don't check for any headers in UWP builds. ++ false ++ ;; + *-win*-*) + # Don't check for any headers in Windows builds. + false diff --git a/ports/libvpx/0004-remove-library-suffixes.patch b/ports/libvpx/0004-remove-library-suffixes.patch index c8feaf8f388864..e7f827d7b156ab 100644 --- a/ports/libvpx/0004-remove-library-suffixes.patch +++ b/ports/libvpx/0004-remove-library-suffixes.patch @@ -1,13 +1,13 @@ -diff --git a/build/make/gen_msvs_vcxproj.sh b/build/make/gen_msvs_vcxproj.sh -index 916851662..e60405bc9 100755 ---- a/build/make/gen_msvs_vcxproj.sh -+++ b/build/make/gen_msvs_vcxproj.sh -@@ -394,7 +394,7 @@ generate_vcxproj() { - else - config_suffix="" - fi -- tag_content TargetName "${name}${lib_sfx}${config_suffix}" -+ tag_content TargetName "${name}" - fi - close_tag PropertyGroup - done +diff --git a/build/make/gen_msvs_vcxproj.sh b/build/make/gen_msvs_vcxproj.sh +index 916851662..e60405bc9 100755 +--- a/build/make/gen_msvs_vcxproj.sh ++++ b/build/make/gen_msvs_vcxproj.sh +@@ -394,7 +394,7 @@ generate_vcxproj() { + else + config_suffix="" + fi +- tag_content TargetName "${name}${lib_sfx}${config_suffix}" ++ tag_content TargetName "${name}" + fi + close_tag PropertyGroup + done 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 10ce04878d14f4..522b157667dda9 100644 --- a/ports/libvpx/portfile.cmake +++ b/ports/libvpx/portfile.cmake @@ -1,39 +1,38 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -set(LIBVPX_VERSION 1.10.0) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO webmproject/libvpx - REF v${LIBVPX_VERSION} - SHA512 f88c588145b5164e98531b75215e119056cd806a9dbe6599bb9dab35c0af0ecd4b3daabee7d795e412a58aeb543d5c7dc0107457c4bd8f4d434e966e8e22a32d + REF "v${VERSION}" + SHA512 49706838563c92fab7334376848d0f374efcbc1729ef511e967c908fd2ecd40e8d197f1d85da6553b3a7026bdbc17e5a76595319858af26ce58cb9a4c3854897 HEAD_REF master PATCHES 0002-Fix-nasm-debug-format-flag.patch - 0003-add-uwp-and-v142-support.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) - set(ENV{PATH} "${MSYS_ROOT}/usr/bin:$ENV{PATH}:${PERL_EXE_PATH}") + 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) - file(REMOVE_RECURSE "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}") + file(REMOVE_RECURSE "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-tmp") if(VCPKG_CRT_LINKAGE STREQUAL static) set(LIBVPX_CRT_LINKAGE --enable-static-msvcrt) @@ -42,7 +41,7 @@ if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) set(LIBVPX_CRT_SUFFIX md) endif() - if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore AND VCPKG_PLATFORM_TOOLSET STREQUAL v142) + if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore AND (VCPKG_PLATFORM_TOOLSET STREQUAL v142 OR VCPKG_PLATFORM_TOOLSET STREQUAL v143)) set(LIBVPX_TARGET_OS "uwp") elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL x86 OR VCPKG_TARGET_ARCHITECTURE STREQUAL arm) set(LIBVPX_TARGET_OS "win32") @@ -64,7 +63,9 @@ if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) set(LIBVPX_ARCH_DIR "ARM") endif() - if(VCPKG_PLATFORM_TOOLSET STREQUAL v142) + if(VCPKG_PLATFORM_TOOLSET STREQUAL v143) + set(LIBVPX_TARGET_VS "vs17") + elseif(VCPKG_PLATFORM_TOOLSET STREQUAL v142) set(LIBVPX_TARGET_VS "vs16") else() set(LIBVPX_TARGET_VS "vs15") @@ -81,7 +82,7 @@ if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) endif() message(STATUS "Generating makefile") - file(MAKE_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}") + file(MAKE_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-tmp") vcpkg_execute_required_process( COMMAND ${BASH} --noprofile --norc @@ -90,47 +91,27 @@ if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) ${LIBVPX_CRT_LINKAGE} ${OPTIONS} --as=nasm - WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}" + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-tmp" LOGNAME configure-${TARGET_TRIPLET}) message(STATUS "Generating MSBuild projects") vcpkg_execute_required_process( COMMAND ${BASH} --noprofile --norc -c "make dist" - WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}" + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-tmp" LOGNAME generate-${TARGET_TRIPLET}) - vcpkg_build_msbuild( - PROJECT_PATH "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/vpx.vcxproj" - OPTIONS /p:UseEnv=True + vcpkg_msbuild_install( + SOURCE_PATH "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-tmp" + PROJECT_SUBPATH vpx.vcxproj ) - # note: pdb file names are hardcoded in the lib file, cannot rename - set(LIBVPX_OUTPUT_PREFIX "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/${LIBVPX_ARCH_DIR}") - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - file(INSTALL "${LIBVPX_OUTPUT_PREFIX}/Release/vpx.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/lib") - if (EXISTS "${LIBVPX_OUTPUT_PREFIX}/Release/vpx.pdb") - file(INSTALL "${LIBVPX_OUTPUT_PREFIX}/Release/vpx.pdb" DESTINATION "${CURRENT_PACKAGES_DIR}/lib") - else() - file(INSTALL "${LIBVPX_OUTPUT_PREFIX}/Release/vpx/vpx.pdb" DESTINATION "${CURRENT_PACKAGES_DIR}/lib") - endif() - endif() - - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(INSTALL "${LIBVPX_OUTPUT_PREFIX}/Debug/vpx.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") - if (EXISTS "${LIBVPX_OUTPUT_PREFIX}/Debug/vpx.pdb") - file(INSTALL "${LIBVPX_OUTPUT_PREFIX}/Debug/vpx.pdb" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") - else() - file(INSTALL "${LIBVPX_OUTPUT_PREFIX}/Debug/vpx/vpx.pdb" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") - endif() - endif() - if (VCPKG_TARGET_ARCHITECTURE STREQUAL arm64) - set(LIBVPX_INCLUDE_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/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}/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}/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 @@ -143,10 +124,10 @@ if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) set(LIBVPX_PREFIX "${CURRENT_INSTALLED_DIR}") configure_file("${CMAKE_CURRENT_LIST_DIR}/vpx.pc.in" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/vpx.pc" @ONLY) endif() - + if (NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") set(LIBVPX_PREFIX "${CURRENT_INSTALLED_DIR}/debug") - configure_file("${CMAKE_CURRENT_LIST_DIR}/vpx.pc.in" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/vpx.pc" @ONLY) + configure_file("${CMAKE_CURRENT_LIST_DIR}/vpx.pc.in" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/vpx.pc" @ONLY) endif() else() @@ -155,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") @@ -174,26 +156,75 @@ 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") + if(DEFINED VCPKG_OSX_DEPLOYMENT_TARGET) + set(MAC_OSX_MIN_VERSION_CFLAGS --extra-cflags=-mmacosx-version-min=${VCPKG_OSX_DEPLOYMENT_TARGET} --extra-cxxflags=-mmacosx-version-min=${VCPKG_OSX_DEPLOYMENT_TARGET}) + endif() 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() @@ -210,14 +241,15 @@ else() --target=${LIBVPX_TARGET} ${OPTIONS} ${OPTIONS_RELEASE} - --as=nasm + ${MAC_OSX_MIN_VERSION_CFLAGS} + ${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 ) @@ -243,14 +275,15 @@ else() --target=${LIBVPX_TARGET} ${OPTIONS} ${OPTIONS_DEBUG} - --as=nasm + ${MAC_OSX_MIN_VERSION_CFLAGS} + ${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 ) @@ -278,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 c002bdddff5235..9f22dbe5e0d609 100644 --- a/ports/libvpx/vcpkg.json +++ b/ports/libvpx/vcpkg.json @@ -1,9 +1,21 @@ { "name": "libvpx", - "version-semver": "1.10.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 & !mingw" + } + ], "features": { "highbitdepth": { "description": "use VP9 high bit depth (10/12) profiles" 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/libwandio/configure.lib.patch b/ports/libwandio/configure.lib.patch index 3898836b7bc082..7c0d1651bc1035 100644 --- a/ports/libwandio/configure.lib.patch +++ b/ports/libwandio/configure.lib.patch @@ -56,7 +56,7 @@ index 4579fbb3d..f6be008c8 100644 [ - AC_CHECK_HEADER(lzma.h, have_lzma=yes, have_lzma=no) + # AC_CHECK_HEADER(lzma.h, have_lzma=yes, have_lzma=no) -+ AC_SEARCH_LIBS(lzma_free, [lzma lzmad], have_lzma=yes, have_lzma=no) ++ AC_SEARCH_LIBS(lzma_free, [lzma], have_lzma=yes, have_lzma=no) ], [have_lzma=no]) AS_IF([test "x$have_lzma" = "xyes"], [ @@ -67,23 +67,6 @@ index 4579fbb3d..f6be008c8 100644 fi AC_DEFINE(HAVE_LIBLZMA, 1, "Compiled with lzma support") with_lzma=yes], -@@ -215,12 +219,13 @@ AC_ARG_WITH([zstd], - - AS_IF([test "x$with_zstd" != "xno"], - [ -- AC_CHECK_LIB(zstd, ZSTD_createDStream, have_zstd=yes, have_zstd=no) -+ AC_SEARCH_LIBS(ZSTD_createDStream, [zstd zstdd], have_zstd=yes, have_zstd=no) -+ # AC_CHECK_LIB(zstd, ZSTD_createDStream, have_zstd=yes, have_zstd=no) - ], [have_zstd=no]) - - AS_IF([test "x$have_zstd" = "xyes"], [ -- if test "$ac_cv_lib_zstd_code" != "none required"; then -- LIBWANDIO_LIBS="$LIBWANDIO_LIBS -lzstd" -+ if test "$ac_cv_search_ZSTD_createDStream" != "none required"; then -+ LIBWANDIO_LIBS="$LIBWANDIO_LIBS $ac_cv_search_ZSTD_createDStream" - fi - AC_DEFINE(HAVE_LIBZSTD, 1, "Compiled with zstd support") - with_zstd=yes], @@ -259,25 +264,28 @@ AC_ARG_WITH([lz4], AS_IF([test "x$with_lz4" != "xno"], diff --git a/ports/libwandio/vcpkg.json b/ports/libwandio/vcpkg.json index 94c493eca248bf..6c682a7c39601b 100644 --- a/ports/libwandio/vcpkg.json +++ b/ports/libwandio/vcpkg.json @@ -1,9 +1,10 @@ { "name": "libwandio", - "version-string": "4.2.1", - "port-version": 4, + "version": "4.2.1", + "port-version": 6, "description": "C library for simple and efficient file IO.", "homepage": "https://github.com/wanduow/wandio", + "license": "LGPL-3.0-only", "supports": "!windows", "dependencies": [ "bzip2", diff --git a/ports/libwebm/Fix-cmake.patch b/ports/libwebm/Fix-cmake.patch index a188c81ae0efb2..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..0f5ede3 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,66 +15,15 @@ index a83d23b..0f5ede3 100644 include(GNUInstallDirs) include("${CMAKE_CURRENT_SOURCE_DIR}/build/cxx_flags.cmake") -@@ -330,6 +332,30 @@ add_library(webm ${libwebm_common_sources} - $ - $) - -+install( -+ TARGETS webm -+ RUNTIME DESTINATION bin -+ ARCHIVE DESTINATION lib -+ LIBRARY DESTINATION lib -+) -+ -+install( -+ FILES -+ mkvmuxer/mkvmuxer.h -+ mkvmuxer/mkvmuxertypes.h -+ mkvmuxer/mkvmuxerutil.h -+ mkvmuxer/mkvwriter.h -+ mkvparser/mkvparser.h -+ mkvparser/mkvreader.h -+ webvtt/vttreader.h -+ webvtt/webvttparser.h -+ common/file_util.h -+ common/hdr_util.h -+ common/webmids.h -+ DESTINATION -+ "include/libwebm/" -+) -+ - if (WIN32) - # Use libwebm and libwebm.lib for project and library name on Windows (instead - # webm and webm.lib). -@@ -337,18 +363,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/portfile.cmake b/ports/libwebm/portfile.cmake index 8b9c4401296fe9..46ab340533061d 100644 --- a/ports/libwebm/portfile.cmake +++ b/ports/libwebm/portfile.cmake @@ -1,27 +1,21 @@ 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 ) -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() @@ -30,4 +24,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) \ 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 9e0714a8c375fb..702d46d7f7fc14 100644 --- a/ports/libwebm/vcpkg.json +++ b/ports/libwebm/vcpkg.json @@ -1,8 +1,9 @@ { "name": "libwebm", - "version": "1.0.0.28", + "version": "1.0.0.31", "description": "WebM File Parser", "homepage": "https://github.com/webmproject/libwebm", + "license": "BSD-3-Clause", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/libwebp/0001-build.patch b/ports/libwebp/0001-build.patch deleted file mode 100644 index 3c6a63988122df..00000000000000 --- a/ports/libwebp/0001-build.patch +++ /dev/null @@ -1,45 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index bd1bebb..4ce801d 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -214,6 +214,9 @@ endfunction() - if(MSVC) - # avoid security warnings for e.g., fopen() used in the examples. - add_definitions(-D_CRT_SECURE_NO_WARNINGS) -+ if(BUILD_SHARED_LIBS) -+ add_definitions("-DWEBP_EXTERN=__declspec(dllexport)" "-DWEBP_DLL") -+ endif() - else() - add_definitions(-Wall) - endif() -@@ -482,7 +485,7 @@ if(WEBP_BUILD_LIBWEBPMUX) - "${CMAKE_CURRENT_SOURCE_DIR}/src/webp/mux.h;\ - ${CMAKE_CURRENT_SOURCE_DIR}/src/webp/mux_types.h;\ - ${CMAKE_CURRENT_SOURCE_DIR}/src/webp/types.h;") -- set_target_properties(libwebpmux PROPERTIES OUTPUT_NAME webpmux) -+ set_target_properties(libwebpmux PROPERTIES OUTPUT_NAME $<$:lib>webpmux) - list(APPEND INSTALLED_LIBRARIES libwebpmux) - configure_pkg_config("src/mux/libwebpmux.pc") - endif() -@@ -586,8 +589,12 @@ if(WEBP_BUILD_EXTRAS) - # webp_quality - add_executable(webp_quality ${WEBP_QUALITY_SRCS} ${WEBP_EXTRAS_SRCS}) - target_link_libraries(webp_quality exampleutil imagedec) -+ if(BUILD_SHARED_LIBS) -+ target_link_libraries(webp_quality webpdspdecode) -+ endif() - target_include_directories(webp_quality - PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} -+ ${CMAKE_CURRENT_SOURCE_DIR}/src - ${CMAKE_CURRENT_BINARY_DIR}) - - # vwebp_sdl -@@ -620,7 +627,7 @@ if(WEBP_BUILD_WEBP_JS) - -s EXPORTED_FUNCTIONS='[\"_WebpToSDL\"]' -s INVOKE_RUN=0 \ - -s EXPORTED_RUNTIME_METHODS='[\"cwrap\"]'") - 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_SDL WEBP_HAVE_JUST_SDL_H) - endif() - - # WASM version diff --git a/ports/libwebp/0002-cmake-config-add-backwards-compatibility.patch b/ports/libwebp/0002-cmake-config-add-backwards-compatibility.patch deleted file mode 100644 index 5e039a6811b280..00000000000000 --- a/ports/libwebp/0002-cmake-config-add-backwards-compatibility.patch +++ /dev/null @@ -1,69 +0,0 @@ -diff --git a/cmake/WebPConfig.cmake.in b/cmake/WebPConfig.cmake.in -index 822fc59..cef75fe 100644 ---- a/cmake/WebPConfig.cmake.in -+++ b/cmake/WebPConfig.cmake.in -@@ -4,8 +4,60 @@ set(WEBP_VERSION ${WebP_VERSION}) - @PACKAGE_INIT@ - - include ("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") -+include(${CMAKE_ROOT}/Modules/SelectLibraryConfigurations.cmake) - --set(WebP_INCLUDE_DIRS "@CMAKE_INSTALL_FULL_INCLUDEDIR@") --set(WEBP_INCLUDE_DIRS ${WebP_INCLUDE_DIRS}) --set(WebP_LIBRARIES "@INSTALLED_LIBRARIES@") --set(WEBP_LIBRARIES "${WebP_LIBRARIES}") -+find_path(WEBP_INCLUDE_DIR NAMES webp/types.h) -+set(WebP_INCLUDE_DIR ${WEBP_INCLUDE_DIR}) -+set(WebP_INCLUDE_DIRS ${WEBP_INCLUDE_DIR}) -+set(WEBP_INCLUDE_DIRS ${WEBP_INCLUDE_DIR}) -+ -+if(NOT WEBP_BASE_LIBRARY AND NOT WebP_BASE_LIBRARY) -+ find_library(WEBP_BASE_LIBRARY_RELEASE NAMES webp) -+ find_library(WEBP_BASE_LIBRARY_DEBUG NAMES webpd) -+ select_library_configurations(WEBP_BASE) -+ set(WebP_BASE_LIBRARY ${WEBP_BASE_LIBRARY}) -+ if(WEBP_BASE_LIBRARY) -+ list(APPEND WEBP_LIBRARIES "${WEBP_BASE_LIBRARY}") -+ list(APPEND WebP_LIBRARIES "${WebP_BASE_LIBRARY}") -+ endif() -+endif() -+ -+if(NOT WEBP_DECODER_LIBRARY AND NOT WebP_DECODER_LIBRARY) -+ find_library(WEBP_DECODER_LIBRARY_RELEASE NAMES webpdecoder) -+ find_library(WEBP_DECODER_LIBRARY_DEBUG NAMES webpdecoderd) -+ select_library_configurations(WEBP_DECODER) -+ set(WebP_DECODER_LIBRARY ${WEBP_DECODER_LIBRARY}) -+ if(WEBP_DECODER_LIBRARY) -+ list(APPEND WEBP_LIBRARIES "${WEBP_DECODER_LIBRARY}") -+ list(APPEND WebP_LIBRARIES "${WebP_DECODER_LIBRARY}") -+ endif() -+endif() -+ -+if(NOT WEBP_DEMUX_LIBRARY AND NOT WebP_DEMUX_LIBRARY) -+ find_library(WEBP_DEMUX_LIBRARY_RELEASE NAMES webpdemux) -+ find_library(WEBP_DEMUX_LIBRARY_DEBUG NAMES webpdemuxd) -+ select_library_configurations(WEBP_DEMUX) -+ set(WebP_DEMUX_LIBRARY ${WEBP_DEMUX_LIBRARY}) -+ if(WEBP_DEMUX_LIBRARY) -+ list(APPEND WEBP_LIBRARIES "${WEBP_DEMUX_LIBRARY}") -+ list(APPEND WebP_LIBRARIES "${WebP_DEMUX_LIBRARY}") -+ endif() -+endif() -+ -+if(NOT WEBP_MUX_LIBRARY AND NOT WebP_MUX_LIBRARY) -+ find_library(WEBP_MUX_LIBRARY_RELEASE NAMES libwebpmux) -+ find_library(WEBP_MUX_LIBRARY_DEBUG NAMES libwebpmuxd) -+ select_library_configurations(WEBP_MUX) -+ set(WebP_MUX_LIBRARY ${WEBP_MUX_LIBRARY}) -+ if(WEBP_MUX_LIBRARY) -+ list(APPEND WEBP_LIBRARIES "${WEBP_MUX_LIBRARY}") -+ list(APPEND WebP_LIBRARIES "${WebP_MUX_LIBRARY}") -+ endif() -+endif() -+ -+set(WEBP_LIBRARY ${WEBP_BASE_LIBRARY}) -+set(WebP_LIBRARY ${WebP_BASE_LIBRARY}) -+if(WEBP_BASE_LIBRARY AND WEBP_INCLUDE_DIR) -+ set(WEBP_FOUND 1) -+ set(WebP_FOUND 1) -+endif() diff --git a/ports/libwebp/0002-cmake-config.patch b/ports/libwebp/0002-cmake-config.patch new file mode 100644 index 00000000000000..ad191405eec5d1 --- /dev/null +++ b/ports/libwebp/0002-cmake-config.patch @@ -0,0 +1,20 @@ +diff --git a/cmake/WebPConfig.cmake.in b/cmake/WebPConfig.cmake.in +index a0d721f..8726c09 100644 +--- a/cmake/WebPConfig.cmake.in ++++ b/cmake/WebPConfig.cmake.in +@@ -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_DIR}) + set(WEBP_INCLUDE_DIRS ${WebP_INCLUDE_DIR}) +-set(WebP_LIBRARIES "@INSTALLED_LIBRARIES@") ++set(WebP_LIBRARIES "") ++include(SelectLibraryConfigurations) ++foreach(_vcpkg_libwebp_lib IN ITEMS @INSTALLED_LIBRARIES@ sharpyuv) ++ find_library(_vcpkg_${_vcpkg_libwebp_lib}_LIBRARY_RELEASE NAMES ${_vcpkg_libwebp_lib} lib${_vcpkg_libwebp_lib} NAMES_PER_DIR PATHS "${VCPKG_IMPORT_PREFIX}/lib" NO_DEFAULT_PATH) ++ find_library(_vcpkg_${_vcpkg_libwebp_lib}_LIBRARY_DEBUG NAMES ${_vcpkg_libwebp_lib}d lib${_vcpkg_libwebp_lib}d ${_vcpkg_libwebp_lib} lib${_vcpkg_libwebp_lib} NAMES_PER_DIR PATHS "${VCPKG_IMPORT_PREFIX}/debug/lib" NO_DEFAULT_PATH) ++ select_library_configurations(_vcpkg_${_vcpkg_libwebp_lib}) ++ 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-always-mux.patch b/ports/libwebp/0003-always-mux.patch deleted file mode 100644 index c120c95d0ed1e6..00000000000000 --- a/ports/libwebp/0003-always-mux.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index b0ae7d5..5813c06 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -472,7 +472,7 @@ if(WEBP_BUILD_CWEBP) - install(TARGETS cwebp RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) - endif() - --if(WEBP_BUILD_LIBWEBPMUX) -+if(WEBP_BUILD_LIBWEBPMUX OR WEBP_BUILD_GIF2WEBP OR WEBP_BUILD_IMG2WEBP OR TRUE) - parse_makefile_am(${CMAKE_CURRENT_SOURCE_DIR}/src/mux "WEBP_MUX_SRCS" "") - add_library(libwebpmux ${WEBP_MUX_SRCS}) - target_link_libraries(libwebpmux webp) diff --git a/ports/libwebp/0003-simd.patch b/ports/libwebp/0003-simd.patch new file mode 100644 index 00000000000000..3c362364db19a3 --- /dev/null +++ b/ports/libwebp/0003-simd.patch @@ -0,0 +1,23 @@ +diff --git a/cmake/cpu.cmake b/cmake/cpu.cmake +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") + if(MSVC_VERSION GREATER_EQUAL 1800 AND NOT CMAKE_C_FLAGS MATCHES "/arch:") + set(SIMD_ENABLE_FLAGS) + else() +- set(SIMD_ENABLE_FLAGS "/arch:AVX;/arch:SSE2;;;;") ++ set(SIMD_ENABLE_FLAGS ";/arch:SSE2;;;;") # /arch:AVX is too much for SSE4 + endif() + set(SIMD_DISABLE_FLAGS) + else() +@@ -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 "") ++ set(SIMD_COMPILE_FLAG " ") ++ endif() + foreach(FILE ${SIMD_FILES}) + list(APPEND WEBP_SIMD_FILES_TO_INCLUDE ${FILE}) + list(APPEND WEBP_SIMD_FLAGS_TO_INCLUDE ${SIMD_COMPILE_FLAG}) diff --git a/ports/libwebp/0004-add-missing-linked-library.patch b/ports/libwebp/0004-add-missing-linked-library.patch deleted file mode 100644 index 6cfbe7ce8261e6..00000000000000 --- a/ports/libwebp/0004-add-missing-linked-library.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 8386687..5ab9ed2 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -540,6 +540,10 @@ if(WEBP_BUILD_VWEBP) - PRIVATE ${GLUT_INCLUDE_DIR} - ${CMAKE_CURRENT_BINARY_DIR}/src - ${OPENGL_INCLUDE_DIR}) -+ if(UNIX AND NOT(ANDROID OR BLACKBERRY OR APPLE)) -+ find_package(X11 REQUIRED) -+ target_link_libraries(vwebp ${X11_LIBRARIES} ${X11_Xxf86vm_LIB}) -+ endif() - install(TARGETS vwebp RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) - if(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin") - check_c_compiler_flag("-Wno-deprecated-declarations" HAS_NO_DEPRECATED) diff --git a/ports/libwebp/0006-fix-dependecies-platform.patch b/ports/libwebp/0006-fix-dependecies-platform.patch deleted file mode 100644 index 819c1f90b25a2b..00000000000000 --- a/ports/libwebp/0006-fix-dependecies-platform.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 83edb3a..f634094 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -540,7 +540,11 @@ if(WEBP_BUILD_EXTRAS) - find_package(SDL) - if(SDL_FOUND) - add_executable(vwebp_sdl ${VWEBP_SDL_SRCS}) -- target_link_libraries(vwebp_sdl ${SDL_LIBRARY} imageioutil webp) -+ target_link_libraries(vwebp_sdl ${SDL_LIBRARY} imageioutil webp) -+ if (MSVC) -+ target_link_libraries(vwebp_sdl dxguid winmm) -+ endif() -+ target_compile_definitions(vwebp_sdl PRIVATE WEBP_HAVE_JUST_SDL_H) - target_include_directories(vwebp_sdl - PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/src diff --git a/ports/libwebp/0007-fix-arm-build.patch b/ports/libwebp/0007-fix-arm-build.patch deleted file mode 100644 index 909b7c29307441..00000000000000 --- a/ports/libwebp/0007-fix-arm-build.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/cmake/cpu.cmake b/cmake/cpu.cmake -index bc0dbc9..381f64a 100644 ---- a/cmake/cpu.cmake -+++ b/cmake/cpu.cmake -@@ -97,7 +97,7 @@ foreach(I_SIMD RANGE ${WEBP_SIMD_FLAGS_RANGE}) - set(CMAKE_REQUIRED_FLAGS ${SIMD_COMPILE_FLAG}) - webp_check_compiler_flag(${WEBP_SIMD_FLAG} ${WEBP_ENABLE_SIMD}) - else() -- if(MSVC AND SIMD_ENABLE_FLAGS) -+ if(MSVC AND SIMD_ENABLE_FLAGS AND NOT (CMAKE_GENERATOR_PLATFORM MATCHES "^ARM")) - # The detection for SSE2/SSE4 support under MSVC is based on the compiler - # version so e.g., clang-cl will require flags to enable the assembly. - list(GET SIMD_ENABLE_FLAGS ${I_SIMD} SIMD_COMPILE_FLAG) diff --git a/ports/libwebp/0008-sdl.patch b/ports/libwebp/0008-sdl.patch index b922ef17254259..7622ca4d8f6d26 100644 --- a/ports/libwebp/0008-sdl.patch +++ b/ports/libwebp/0008-sdl.patch @@ -1,37 +1,43 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 91a4ba8..10a3f4d 100644 +index b785a8e..f214a32 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -624,11 +624,12 @@ endif() +@@ -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() - if(WEBP_BUILD_WEBP_JS) - # 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_include_directories(webp_js PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) +- 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} ${SDL_INCLUDE_DIR}) + 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 -@@ -641,14 +642,14 @@ if(WEBP_BUILD_WEBP_JS) +@@ -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) + endif() # WASM version add_executable(webp_wasm ${CMAKE_CURRENT_SOURCE_DIR}/extras/webp_to_sdl.c) -- target_link_libraries(webp_wasm webpdecoder SDL) -- target_include_directories(webp_wasm PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) +- 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} ${SDL_INCLUDE_DIR}) + 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 "-s WASM=1 \ - -s EXPORTED_FUNCTIONS='[\"_WebpToSDL\"]' -s INVOKE_RUN=0 \ - -s EXPORTED_RUNTIME_METHODS='[\"cwrap\"]'") -- target_compile_definitions(webp_wasm PUBLIC EMSCRIPTEN WEBP_HAVE_SDL) -+ target_compile_definitions(webp_wasm PUBLIC EMSCRIPTEN WEBP_HAVE_SDL WEBP_HAVE_JUST_SDL_H) - - target_compile_definitions(webpdspdecode PUBLIC EMSCRIPTEN) - endif() + PROPERTIES diff --git a/ports/libwebp/0009-glut.patch b/ports/libwebp/0009-glut.patch deleted file mode 100644 index 01d011e5f73ac0..00000000000000 --- a/ports/libwebp/0009-glut.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 0799269..45b3306 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -532,7 +532,7 @@ if(WEBP_BUILD_VWEBP) - target_link_libraries(vwebp - ${OPENGL_LIBRARIES} - exampleutil -- ${GLUT_glut_LIBRARY} -+ GLUT::GLUT - imageioutil - webp - webpdemux) -@@ -543,6 +543,9 @@ if(WEBP_BUILD_VWEBP) - if(UNIX AND NOT(ANDROID OR BLACKBERRY OR APPLE)) - find_package(X11 REQUIRED) - target_link_libraries(vwebp ${X11_LIBRARIES} ${X11_Xxf86vm_LIB}) -+ if(X11_Xrandr_FOUND) # due to glut linking xrandr if found -+ target_link_libraries(vwebp ${X11_Xrandr_LIB}) -+ endif() - endif() - install(TARGETS vwebp RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) - if(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin") diff --git a/ports/libwebp/portfile.cmake b/ports/libwebp/portfile.cmake index 985a6d518c6db3..519ff89e6ccd0a 100644 --- a/ports/libwebp/portfile.cmake +++ b/ports/libwebp/portfile.cmake @@ -1,56 +1,53 @@ vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO webmproject/libwebp - REF 9ce5843dbabcfd3f7c39ec7ceba9cbeb213cbfdf # v1.2.1 - SHA512 43224caedb0d591ad1dd3872cd882c0fe255e24425f6da82fca212783ddb231326797a82ead0a1b8b15dc98db1cb05741e3a5e5131babbcc49a529a9f3253865 - HEAD_REF master - PATCHES - 0001-build.patch - 0002-cmake-config-add-backwards-compatibility.patch - 0003-always-mux.patch #always build libwebpmux - 0004-add-missing-linked-library.patch - 0006-fix-dependecies-platform.patch - 0007-fix-arm-build.patch - 0008-sdl.patch - 0009-glut.patch + OUT_SOURCE_PATH SOURCE_PATH + REPO webmproject/libwebp + REF "v${VERSION}" + SHA512 666b53fb33fa7895bf9dc83ca24e09865cf7fba7ae88b77f15a2ce11d94e84d5a6b8a084f0d8cad6c2a6eb8868ea7268f7efd2f6886148bbb58b7a3522957cde + HEAD_REF master + PATCHES + 0002-cmake-config.patch + 0003-simd.patch + 0008-sdl.patch ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - FEATURES - anim WEBP_BUILD_ANIM_UTILS - gif2webp WEBP_BUILD_GIF2WEBP - img2webp WEBP_BUILD_IMG2WEBP - vwebp WEBP_BUILD_VWEBP - vwebp-sdl WEBP_HAVE_SDL - info WEBP_BUILD_WEBPINFO - mux WEBP_BUILD_WEBPMUX - extras WEBP_BUILD_EXTRAS - nearlossless WEBP_NEAR_LOSSLESS - simd WEBP_ENABLE_SIMD - cwebp WEBP_BUILD_CWEBP - dwebp WEBP_BUILD_DWEBP - swap16bitcsp WEBP_ENABLE_SWAP_16BIT_CSP - unicode WEBP_UNICODE - libbwebpmux WEBP_BUILD_LIBWEBPMUX + FEATURES + anim WEBP_BUILD_ANIM_UTILS + cwebp WEBP_BUILD_CWEBP + dwebp WEBP_BUILD_DWEBP + extras WEBP_BUILD_EXTRAS + gif2webp WEBP_BUILD_GIF2WEBP + img2webp WEBP_BUILD_IMG2WEBP + info WEBP_BUILD_WEBPINFO + libwebpmux WEBP_BUILD_LIBWEBPMUX + mux WEBP_BUILD_WEBPMUX + nearlossless WEBP_NEAR_LOSSLESS + simd WEBP_ENABLE_SIMD + swap16bitcsp WEBP_ENABLE_SWAP_16BIT_CSP + unicode WEBP_UNICODE + vwebp WEBP_BUILD_VWEBP + vwebp-sdl CMAKE_REQUIRE_FIND_PACKAGE_SDL + INVERTED_FEATURES + vwebp-sdl CMAKE_DISABLE_FIND_PACKAGE_SDL ) - -if(VCPKG_TARGET_IS_LINUX) - message("WebP currently requires the following library from the system package manager:\n Xxf86vm\n\nThis can be installed on Ubuntu systems via apt-get install libxxf86vm-dev") -endif() - -if(VCPKG_TARGET_IS_OSX) - if("vwebp" IN_LIST FEATURES OR "extras" IN_LIST FEATURES) - message(FATAL_ERROR "Due to GLUT Framework problems with CMake, at the moment it's not possible to build VWebP or extras on Mac!") - endif() -endif() - vcpkg_cmake_configure( - SOURCE_PATH "${SOURCE_PATH}" - OPTIONS - ${FEATURE_OPTIONS} - OPTIONS_DEBUG - -DCMAKE_DEBUG_POSTFIX=d + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} + OPTIONS_DEBUG + -DWEBP_BUILD_ANIM_UTILS=OFF + -DWEBP_BUILD_CWEBP=OFF + -DWEBP_BUILD_DWEBP=OFF + -DWEBP_BUILD_EXTRAS=OFF + -DWEBP_BUILD_GIF2WEBP=OFF + -DWEBP_BUILD_IMG2WEBP=OFF + -DWEBP_BUILD_VWEBP=OFF + -DWEBP_BUILD_WEBPINFO=OFF + -DWEBP_BUILD_WEBPMUX=OFF + MAYBE_UNUSED_VARIABLES + CMAKE_DISABLE_FIND_PACKAGE_SDL + CMAKE_REQUIRE_FIND_PACKAGE_SDL ) vcpkg_cmake_install() @@ -58,39 +55,20 @@ vcpkg_cmake_install() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") vcpkg_copy_pdbs() -vcpkg_cmake_config_fixup(PACKAGE_NAME WebP CONFIG_PATH share/WebP/cmake) # find_package is called with WebP not libwebp +vcpkg_cmake_config_fixup(PACKAGE_NAME WebP CONFIG_PATH share/WebP/cmake) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libwebp.pc" "-lwebp" "-lwebpd") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libwebpdecoder.pc" "-lwebpdecoder" "-lwebpdecoderd") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libwebpdemux.pc" "-lwebpdemux" "-lwebpdemuxd") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libwebpmux.pc" "-lwebpmux" "-lwebpmuxd") -endif() vcpkg_fixup_pkgconfig() -set(BIN_NAMES get_disto gif2webp img2webp vwebp vwebp_sdl webpinfo webpmux webp_quality cwebp dwebp) -file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/webp/") -foreach(tool ${BIN_NAMES}) - if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/bin/${tool}${VCPKG_TARGET_EXECUTABLE_SUFFIX}") - file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/bin/${tool}${VCPKG_TARGET_EXECUTABLE_SUFFIX}") - endif() - - if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/${tool}${VCPKG_TARGET_EXECUTABLE_SUFFIX}") - file(RENAME "${CURRENT_PACKAGES_DIR}/bin/${tool}${VCPKG_TARGET_EXECUTABLE_SUFFIX}" "${CURRENT_PACKAGES_DIR}/tools/webp/${tool}${VCPKG_TARGET_EXECUTABLE_SUFFIX}") - endif() +vcpkg_list(SET BIN_NAMES) +foreach(tool IN ITEMS get_disto gif2webp img2webp vwebp vwebp_sdl webpinfo webpmux webp_quality cwebp dwebp) + if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/${tool}${VCPKG_TARGET_EXECUTABLE_SUFFIX}") + vcpkg_list(APPEND BIN_NAMES "${tool}") + endif() endforeach() -vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/webp") - -#No tools -file(GLOB_RECURSE RESULT "${CURRENT_PACKAGES_DIR}/tools/") -list(LENGTH RESULT RES_LEN) -if(RES_LEN EQUAL 0) - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/tools/") -endif() - -if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") +if(NOT BIN_NAMES STREQUAL "") + vcpkg_copy_tools(TOOL_NAMES ${BIN_NAMES} AUTO_CLEAN) 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}") +vcpkg_install_copyright(FILE_LIST ${SOURCE_PATH}/COPYING ${SOURCE_PATH}/PATENTS) diff --git a/ports/libwebp/usage b/ports/libwebp/usage new file mode 100644 index 00000000000000..da6b265263a981 --- /dev/null +++ b/ports/libwebp/usage @@ -0,0 +1,9 @@ +libwebp provides CMake targets: + + find_package(WebP CONFIG REQUIRED) + # basic usage + target_link_libraries(main PRIVATE WebP::webp WebP::webpdecoder WebP::webpdemux) + # for manipulating the WebP graphics format container (port feature libwebpmux) + target_link_libraries(main PRIVATE WebP::libwebpmux) + # for sharp RGB to YUV conversion + target_link_libraries(main PRIVATE WebP::sharpyuv) diff --git a/ports/libwebp/vcpkg.json b/ports/libwebp/vcpkg.json index 179f1cc1b30f9a..6f0f96ad60c9ac 100644 --- a/ports/libwebp/vcpkg.json +++ b/ports/libwebp/vcpkg.json @@ -1,16 +1,27 @@ { "name": "libwebp", - "version": "1.2.1", + "version": "1.4.0", + "port-version": 1, "description": "WebP codec: library to encode and decode images in WebP format", "homepage": "https://github.com/webmproject/libwebp", + "license": "BSD-3-Clause", "dependencies": [ { "name": "libwebp", + "default-features": false, "features": [ "unicode" ], "platform": "windows" }, + { + "name": "libwebp", + "default-features": false, + "features": [ + "simd" + ], + "platform": "osx & x64" + }, { "name": "vcpkg-cmake", "host": true @@ -21,6 +32,7 @@ } ], "default-features": [ + "libwebpmux", "nearlossless", "simd" ], @@ -34,9 +46,11 @@ "anim", "cwebp", "dwebp", + "extras", "gif2webp", "img2webp", "info", + "libwebpmux", "mux", "nearlossless", "simd" @@ -45,56 +59,83 @@ { "name": "libwebp", "features": [ - "extras" + "vwebp" ], - "platform": "!osx" + "platform": "!osx & !static" }, { "name": "libwebp", "features": [ "vwebp-sdl" ], - "platform": "!osx" + "platform": "!osx & !static & !uwp" } ] }, "anim": { "description": "Build animation utilities.", "dependencies": [ + "giflib", + "libjpeg-turbo", + "libpng", { "name": "libwebp", + "default-features": false, "features": [ "img2webp", "mux" ] + }, + { + "name": "tiff", + "default-features": false } ] }, "cwebp": { - "description": "Build the cwebp command line tool." + "description": "Build the cwebp command line tool.", + "dependencies": [ + "libjpeg-turbo", + "libpng", + { + "name": "tiff", + "default-features": false + } + ] }, "dwebp": { - "description": "Build the dwebp command line tool." + "description": "Build the dwebp command line tool.", + "dependencies": [ + "libjpeg-turbo", + "libpng", + { + "name": "tiff", + "default-features": false + } + ] }, "extras": { - "description": "Build extras.", + "description": "Build extras. (Doesn't include vwebp-sdl.)", "dependencies": [ + "libjpeg-turbo", + "libpng", { - "name": "libwebp", - "features": [ - "vwebp" - ] - }, - { - "name": "sdl1", - "platform": "windows" + "name": "tiff", + "default-features": false } ] }, "gif2webp": { "description": "Build the gif2webp conversion tool.", "dependencies": [ - "giflib" + "giflib", + { + "name": "libwebp", + "default-features": false, + "features": [ + "libwebpmux" + ] + } ] }, "img2webp": { @@ -102,17 +143,48 @@ "dependencies": [ "libjpeg-turbo", "libpng", - "tiff" + { + "name": "libwebp", + "default-features": false, + "features": [ + "libwebpmux" + ] + }, + { + "name": "tiff", + "default-features": false + } ] }, "info": { "description": "Build the webpinfo command line tool." }, "libbwebpmux": { + "description": "Obsolete, use feature libwebpmux instead.", + "dependencies": [ + { + "name": "libwebp", + "default-features": false, + "features": [ + "libwebpmux" + ] + } + ] + }, + "libwebpmux": { "description": "Build the libwebpmux library" }, "mux": { - "description": "Build the webpmux command line tool." + "description": "Build the webpmux command line tool.", + "dependencies": [ + { + "name": "libwebp", + "default-features": false, + "features": [ + "libwebpmux" + ] + } + ] }, "nearlossless": { "description": "Enable near-lossless encoding" @@ -128,27 +200,24 @@ }, "vwebp": { "description": "Build the vwebp viewer tool.", + "supports": "!osx & !static", "dependencies": [ - { - "name": "freeglut", - "platform": "!osx" - }, + "freeglut", "opengl" ] }, "vwebp-sdl": { - "description": "Build the vwebp viewer tool.", + "description": "Build the vwebp viewer tool for SDL.", "dependencies": [ { "name": "libwebp", + "default-features": false, "features": [ + "extras", "vwebp" ] }, - { - "name": "sdl1", - "platform": "windows" - } + "sdl1" ] } } diff --git a/ports/libwebsockets/export-include-path.patch b/ports/libwebsockets/export-include-path.patch index fe589ca3cfbf17..530d34f7094e98 100644 --- a/ports/libwebsockets/export-include-path.patch +++ b/ports/libwebsockets/export-include-path.patch @@ -1,37 +1,35 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index f9b5557..ebc624b 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1045,8 +1045,8 @@ file(RELATIVE_PATH +--- a/CMakeLists.txt (revision b0a749c8e7a8294b68581ce4feac0e55045eb00b) ++++ b/CMakeLists.txt (date 1669850632899) +@@ -1071,8 +1071,8 @@ "${LWS_ABSOLUTE_INSTALL_CMAKE_DIR}" "${LWS_ABSOLUTE_INSTALL_INCLUDE_DIR}") # Calculate the relative directory from the cmake dir. -if (DEFINED REL_INCLUDE_DIR) - set(LWS__INCLUDE_DIRS "\${LWS_CMAKE_DIR}/${REL_INCLUDE_DIR}") +if (1) -+ set(LWS__INCLUDE_DIRS "\${CMAKE_CURRENT_LIST_DIR}/../include") ++ set(LWS__INCLUDE_DIRS "\${CMAKE_CURRENT_LIST_DIR}/../include") endif() - - configure_file(${PROJECT_SOURCE_DIR}/cmake/libwebsockets-config.cmake.in + if (DEFINED OPENSSL_INCLUDE_DIRS) + set(LWS__INCLUDE_DIRS "${LWS__INCLUDE_DIRS};${OPENSSL_INCLUDE_DIRS}") diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt -index 85b43d5..724f0b7 100644 ---- a/lib/CMakeLists.txt -+++ b/lib/CMakeLists.txt -@@ -164,7 +164,7 @@ if (LWS_WITH_STATIC) +--- a/lib/CMakeLists.txt (revision b0a749c8e7a8294b68581ce4feac0e55045eb00b) ++++ b/lib/CMakeLists.txt (date 1669850782017) +@@ -174,7 +174,7 @@ $ $ ) - target_include_directories(websockets PRIVATE ${LWS_LIB_BUILD_INC_PATHS}) + target_include_directories(websockets PRIVATE $ PUBLIC $) target_compile_definitions(websockets PRIVATE LWS_BUILDING_STATIC) - - if (WIN32) -@@ -190,7 +190,7 @@ if (LWS_WITH_SHARED) + target_include_directories(websockets PUBLIC ${LWS_PUBLIC_INCLUDES}) + set(LWS_PUBLIC_INCLUDES ${LWS_PUBLIC_INCLUDES} PARENT_SCOPE) +@@ -202,7 +202,7 @@ $ $ ) - target_include_directories(websockets_shared PRIVATE ${LWS_LIB_BUILD_INC_PATHS}) + target_include_directories(websockets_shared PRIVATE $ PUBLIC $) target_compile_definitions(websockets_shared PRIVATE LWS_BUILDING_SHARED) - - # We want the shared lib to be named "libwebsockets" + target_include_directories(websockets_shared PUBLIC ${LWS_PUBLIC_INCLUDES}) + set(LWS_PUBLIC_INCLUDES ${LWS_PUBLIC_INCLUDES} PARENT_SCOPE) diff --git a/ports/libwebsockets/fix-build-error.patch b/ports/libwebsockets/fix-build-error.patch index 0bab319af44428..204d4962bf9b16 100644 --- a/ports/libwebsockets/fix-build-error.patch +++ b/ports/libwebsockets/fix-build-error.patch @@ -1,8 +1,7 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 1e737e5..75534c1 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -422,6 +422,11 @@ set(LWS_LIBMOUNT_LIBRARIES CACHE PATH "Path to the libmount library") +--- a/CMakeLists.txt (revision b0a749c8e7a8294b68581ce4feac0e55045eb00b) ++++ b/CMakeLists.txt (date 1669850509296) +@@ -494,6 +494,11 @@ set(LWS_EXT_PTHREAD_INCLUDE_DIR CACHE PATH "Path to an external pthreads include directory") set(LWS_EXT_PTHREAD_LIBRARIES CACHE PATH "Path to an external pthreads library") @@ -14,12 +13,12 @@ index 1e737e5..75534c1 100644 if (LWS_WITH_HTTP_STREAM_COMPRESSION) set(LWS_WITH_ZLIB 1) -@@ -728,7 +733,7 @@ if (MSVC) +@@ -850,7 +855,7 @@ # Turn off pointless microsoft security warnings. add_definitions(-D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE) # Fail the build if any warnings - add_compile_options(/W3 /WX) -+ add_compile_options(/W3 /WX /wd4142 /wd4267) - endif(MSVC) - - if (MINGW) ++ add_compile_options(/W3 /WX /wd4142 /wd4267 /wd4996) + # Unbreak MSVC broken preprocessor __VA_ARGS__ behaviour + if (MSVC_VERSION GREATER 1925) + add_compile_options(/Zc:preprocessor /wd5105) diff --git a/ports/libwebsockets/portfile.cmake b/ports/libwebsockets/portfile.cmake index 2e137f072622ad..66ff3415b6e835 100644 --- a/ports/libwebsockets/portfile.cmake +++ b/ports/libwebsockets/portfile.cmake @@ -1,10 +1,8 @@ -vcpkg_fail_port_install(ON_TARGET "uwp") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO warmcat/libwebsockets - REF 8d605f0649ed1ab6d27a443c7688598ea21fdb75 # v4.2.2 - SHA512 824b7e7eded0fea41a1c22da8453b97a1ffd0f416e2d2ee3a23f799cfd449d1d0cc2f58de19a7d5dbd336e0ebceec16dd2a78cb80519d02bb49133047f99a9e2 + REF 4415e84c095857629863804e941b9e1c2e9347ef # v4.3.3 + SHA512 11aed4ce06af0ef94ce3eaaf32cc2b5735be140dfcda1768cc8ccb0ed97c7bc7bdbb1b2718c6d6ef6a9058de208ba94cae85eedc1c597656300a4181060e31ff HEAD_REF master PATCHES fix-dependency-libuv.patch @@ -132,9 +130,15 @@ string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" LWS_WITH_SHARED) # option(LWS_WITH_LWS_DSH "Support lws_dsh_t Disordered Shared Heap" OFF) ## +set(EXTRA_ARGS) +if(NOT VCPKG_TARGET_ARCHITECTURE STREQUAL "wasm32") + set(EXTRA_ARGS "-DLWS_WITH_LIBUV=ON") +endif() + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS + ${EXTRA_ARGS} -DLWS_WITH_STATIC=${LWS_WITH_STATIC} -DLWS_WITH_SHARED=${LWS_WITH_SHARED} -DLWS_WITH_GENCRYPTO=ON @@ -144,7 +148,6 @@ vcpkg_cmake_configure( -DLWS_IPV6=ON -DLWS_WITH_HTTP2=ON -DLWS_WITH_HTTP_STREAM_COMPRESSION=ON # Since zlib is already a dependency - -DLWS_WITH_LIBUV=ON -DLWS_WITH_EXTERNAL_POLL=ON # OPTIONS_RELEASE -DOPTIMIZE=1 # OPTIONS_DEBUG -DDEBUGGABLE=1 @@ -166,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 2e4054d797b4f9..53c1891e482859 100644 --- a/ports/libwebsockets/vcpkg.json +++ b/ports/libwebsockets/vcpkg.json @@ -1,12 +1,15 @@ { "name": "libwebsockets", - "version-semver": "4.2.2", - "port-version": 4, + "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", "dependencies": [ - "libuv", + { + "name": "libuv", + "platform": "!emscripten" + }, "openssl", "pthreads", { diff --git a/ports/libx11/add_dl_pc.patch b/ports/libx11/add_dl_pc.patch new file mode 100644 index 00000000000000..35069b1a0ad93e --- /dev/null +++ b/ports/libx11/add_dl_pc.patch @@ -0,0 +1,36 @@ +diff --git a/configure.ac b/configure.ac +index 92b740b88..083e37ee5 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -106,8 +106,12 @@ if test "x$ac_cv_search_dlopen" = xno; then + AC_DEFINE(HAVE_SHL_LOAD,1, + [Use shl_load to load shared libraries]) + AC_CHECK_HEADERS([dl.h]) ++ XLDLIB="$ac_cv_search_shl_load" + fi + else ++ if test "x$ac_cv_search_dlopen" != 'xnone required'; then ++ XLDLIB="$ac_cv_search_dlopen" ++ fi + AC_DEFINE(HAVE_DLOPEN,1,[Use dlopen to load shared libraries]) + AC_CHECK_HEADERS([dlfcn.h]) + fi +@@ -116,6 +120,7 @@ if test "x$ac_cv_header_dlfcn_h" = xyes -o "x$ac_cv_header_dl_h" = xyes; then + else + HAVE_LOADABLE_MODULES=no + fi ++AC_SUBST(XLDLIB) + AC_MSG_RESULT($HAVE_LOADABLE_MODULES) + + AC_MSG_CHECKING([if loadable i18n module support should be enabled]) +diff --git a/x11.pc.in b/x11.pc.in +index 25c7e7cd0..4ecf23e8d 100644 +--- a/x11.pc.in ++++ b/x11.pc.in +@@ -11,5 +11,5 @@ Version: @PACKAGE_VERSION@ + Requires: xproto @XKBPROTO_REQUIRES@ + Requires.private: @X11_EXTRA_DEPS@ + Cflags: -I${includedir} @XTHREAD_CFLAGS@ +-Libs: -L${libdir} -lX11 ++Libs: -L${libdir} -lX11 @XLDLIB@ + Libs.private: @XTHREADLIB@ diff --git a/ports/libx11/cl.build.patch b/ports/libx11/cl.build.patch new file mode 100644 index 00000000000000..2845f1d3192268 --- /dev/null +++ b/ports/libx11/cl.build.patch @@ -0,0 +1,147 @@ +diff --git a/include/X11/Xlibint.h b/include/X11/Xlibint.h +index 844571688..e46c4ec5d 100644 +--- a/include/X11/Xlibint.h ++++ b/include/X11/Xlibint.h +@@ -1351,11 +1351,14 @@ extern int _XOpenFile( + int /* flags */ + ); + ++#if defined(_MSC_VER) && !defined(mode_t) ++typedef int mode_t; ++#endif + extern int _XOpenFileMode( + _Xconst char* /* path */, + int /* flags */, + mode_t /* mode */ + ); + + extern void* _XFopenFile( + _Xconst char* /* path */, +diff --git a/modules/im/ximcp/imLcLkup.c b/modules/im/ximcp/imLcLkup.c +index 56dba9673..d10de825e 100644 +--- a/modules/im/ximcp/imLcLkup.c ++++ b/modules/im/ximcp/imLcLkup.c +@@ -61,27 +61,37 @@ _XimLocalMbLookupString(XIC xic, XKeyEvent *ev, char *buffer, int bytes, + ||(ic->private.local.brl_committed != 0))) { + if (ic->private.local.brl_committed != 0) { /* Braille Event */ + unsigned char pattern = ic->private.local.brl_committed; ++#ifndef _MSC_VER + char mb2[XLC_PUBLIC(ic->core.im->core.lcd, mb_cur_max)]; ++#else ++ char *mb2 = (char*)malloc(XLC_PUBLIC(ic->core.im->core.lcd, mb_cur_max)*sizeof(char)); ++#endif + ret = _Xlcwctomb(ic->core.im->core.lcd, mb2, BRL_UC_ROW | pattern); + if(ret > bytes) { + if(status) *status = XBufferOverflow; ++#ifdef _MSC_VER ++ free(mb2); ++#endif + return(ret); + } + if(keysym) *keysym = XK_braille_blank | pattern; + if(ret > 0) { + if (keysym) { + if(status) *status = XLookupBoth; + } else { + if(status) *status = XLookupChars; + } + memcpy(buffer, mb2, ret); + } else { + if(keysym) { + if(status) *status = XLookupKeySym; + } else { + if(status) *status = XLookupNone; + } + } ++#ifdef _MSC_VER ++ free(mb2); ++#endif + } else { /* Composed Event */ + ret = strlen(&mb[b[ic->private.local.composed].mb]); + if(ret > bytes) { +diff --git a/src/XlibInt.c b/src/XlibInt.c +index e4fb4e5f2..4cfa1aeab 100644 +--- a/src/XlibInt.c ++++ b/src/XlibInt.c +@@ -60,6 +60,8 @@ from The Open Group. + /* Needed for ioctl() on Solaris */ + #ifdef HAVE_UNISTD_H + #include ++#else ++ #define F_OK 0 + #endif + + #ifdef XTHREADS +@@ -985,7 +987,7 @@ _XWireToEvent( + case KeymapNotify: + { + register XKeymapEvent *ev = (XKeymapEvent *) re; +- ev->window = None; ++ ev->window = 0; + memcpy(&ev->key_vector[1], + (char *)((xKeymapEvent *) event)->map, + sizeof (((xKeymapEvent *) event)->map)); +@@ -1919,7 +1925,11 @@ int _XOpenFileMode(path, flags, mode) + UINT olderror = SetErrorMode (SEM_FAILCRITICALERRORS); + + if (AccessFile (path, buf, MAX_PATH, &bufp)) ++#ifndef _MSC_VER + ret = open (bufp, flags, mode); ++#else ++ ret = _open (bufp, flags, mode); ++#endif + + (void) SetErrorMode (olderror); + +diff --git a/src/xlibi18n/XDefaultOMIF.c b/src/xlibi18n/XDefaultOMIF.c +index 9345547c3..77d914fe1 100644 +--- a/src/xlibi18n/XDefaultOMIF.c ++++ b/src/xlibi18n/XDefaultOMIF.c +@@ -70,6 +70,14 @@ Sun Microsystems, Inc. or its licensors is granted. + #include + #include + ++#if !defined(ssize_t) ++ #ifdef _WIN64 ++ #define ssize_t long long ++ #else ++ #define ssize_t long ++ #endif ++#endif ++ + #define MAXFONTS 100 + + #define XOM_GENERIC(om) (&((XOMGeneric) om)->gen) +diff --git a/src/xlibi18n/lcDB.c b/src/xlibi18n/lcDB.c +index e04a5d89f..fa46f8ecc 100644 +--- a/src/xlibi18n/lcDB.c ++++ b/src/xlibi18n/lcDB.c +@@ -65,6 +65,14 @@ + + #include + ++#if !defined(ssize_t) ++ #ifdef _WIN64 ++ #define ssize_t long long ++ #else ++ #define ssize_t long ++ #endif ++#endif ++ + typedef struct _DatabaseRec { + char *category; + char *name; +diff --git a/src/xlibi18n/lcFile.c b/src/xlibi18n/lcFile.c +index e43ac2c0e..d9f49b725 100644 +--- a/src/xlibi18n/lcFile.c ++++ b/src/xlibi18n/lcFile.c +@@ -32,7 +32,9 @@ + #include "Xlibint.h" + #include "XlcPubI.h" + #include ++#ifdef HAVE_UNISTD_H + #include ++#endif + + /************************************************************************/ + diff --git a/ports/libx11/dllimport.patch b/ports/libx11/dllimport.patch new file mode 100644 index 00000000000000..a06adc0d59f4d2 --- /dev/null +++ b/ports/libx11/dllimport.patch @@ -0,0 +1,44 @@ +diff --git a/include/X11/Xlibint.h b/include/X11/Xlibint.h +index 603d05669..8596cb434 100644 +--- a/include/X11/Xlibint.h ++++ b/include/X11/Xlibint.h +@@ -389,23 +389,26 @@ struct _XLockPtrs { + #define _XLockMutex_fn (*_XLockMutex_fn_p) + #define _XUnlockMutex_fn (*_XUnlockMutex_fn_p) + #define _Xglobal_lock (*_Xglobal_lock_p) ++#define X_LOCK_EXTERN __declspec(dllimport) extern ++#else ++#define X_LOCK_EXTERN extern + #endif + + /* in XlibInt.c */ +-extern void (*_XCreateMutex_fn)( ++X_LOCK_EXTERN void (*_XCreateMutex_fn)( + LockInfoPtr /* lock */ + ); +-extern void (*_XFreeMutex_fn)( ++X_LOCK_EXTERN void (*_XFreeMutex_fn)( + LockInfoPtr /* lock */ + ); +-extern void (*_XLockMutex_fn)( ++X_LOCK_EXTERN void (*_XLockMutex_fn)( + LockInfoPtr /* lock */ + #if defined(XTHREADS_WARN) || defined(XTHREADS_FILE_LINE) + , char * /* file */ + , int /* line */ + #endif + ); +-extern void (*_XUnlockMutex_fn)( ++X_LOCK_EXTERN void (*_XUnlockMutex_fn)( + LockInfoPtr /* lock */ + #if defined(XTHREADS_WARN) || defined(XTHREADS_FILE_LINE) + , char * /* file */ +@@ -413,7 +416,7 @@ extern void (*_XUnlockMutex_fn)( + #endif + ); + +-extern LockInfoPtr _Xglobal_lock; ++X_LOCK_EXTERN LockInfoPtr _Xglobal_lock; + + #if defined(XTHREADS_WARN) || defined(XTHREADS_FILE_LINE) + #define LockDisplay(d) if ((d)->lock_fns) (*(d)->lock_fns->lock_display)((d),__FILE__,__LINE__) diff --git a/ports/libx11/io_include.patch b/ports/libx11/io_include.patch new file mode 100644 index 00000000000000..184b8d556a4eca --- /dev/null +++ b/ports/libx11/io_include.patch @@ -0,0 +1,12 @@ +diff --git a/src/XlibInt.c b/src/XlibInt.c +index bab39bc00..31b6511cb 100644 +--- a/src/XlibInt.c ++++ b/src/XlibInt.c +@@ -45,6 +45,7 @@ from The Open Group. + #include + #ifdef WIN32 + #include ++#include + #endif + + /* Needed for FIONREAD on Solaris */ 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 new file mode 100644 index 00000000000000..f19be986958238 --- /dev/null +++ b/ports/libx11/portfile.cmake @@ -0,0 +1,103 @@ +if(NOT X_VCPKG_FORCE_VCPKG_X_LIBRARIES AND NOT VCPKG_TARGET_IS_WINDOWS) + message(STATUS "Utils and libraries provided by '${PORT}' should be provided by your system! Install the required packages or force vcpkg libraries by setting X_VCPKG_FORCE_VCPKG_X_LIBRARIES in your triplet") + set(VCPKG_POLICY_EMPTY_PACKAGE enabled) +else() + +if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + set(PATCHES dllimport.patch) +endif() + +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.freedesktop.org/xorg + OUT_SOURCE_PATH SOURCE_PATH + REPO lib/libx11 + REF 3a30ada60c5217ada37b143b541c8e6f6284c7fa + SHA512 441f86ff8293d27459feaa93f85bcd4d02c6bd64fdb4d95199e5ee8a75340c2ce9b0fccd0b05840ce0de30ff3af3d21e6f37c81840e82b37dbddf082911b585d + HEAD_REF master + 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/\"") + +set(OPTIONS "") +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + set(ENV{CPP} "cl_cpp_wrapper") + list(APPEND OPTIONS + --enable-loadable-i18n=no #Pointer conversion errors + --enable-unix-transport=no + --disable-thread-safety-constructor + ac_cv_search_dlopen=no + ) +endif() +if(VCPKG_TARGET_IS_WINDOWS) + list(APPEND OPTIONS + --enable-malloc0returnsnull=yes #Configure fails to run the test for some reason + --enable-ipv6 + --enable-hyperv + --enable-tcp-transport + --with-launchd=no + --with-lint=no + --disable-selective-werror + ) +endif() +if(NOT XLSTPROC) + find_program(XLSTPROC NAMES "xsltproc${VCPKG_HOST_EXECUTABLE_SUFFIX}" PATHS "${CURRENT_HOST_INSTALLED_DIR}/tools/libxslt" PATH_SUFFIXES "bin") +endif() +if(NOT XLSTPROC) + message(FATAL_ERROR "${PORT} requires xlstproc for the host system. Please install libxslt within vcpkg or your system package manager!") +endif() +get_filename_component(XLSTPROC_DIR "${XLSTPROC}" DIRECTORY) +file(TO_NATIVE_PATH "${XLSTPROC_DIR}" XLSTPROC_DIR_NATIVE) +vcpkg_add_to_path("${XLSTPROC_DIR}") +set(ENV{XLSTPROC} "${XLSTPROC}") + +if(VCPKG_TARGET_IS_OSX) + set(ENV{LC_ALL} C) +endif() +vcpkg_find_acquire_program(PERL) +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG + OPTIONS + ${OPTIONS} +) + +if(VCPKG_CROSSCOMPILING) + file(GLOB FOR_BUILD_FILES "${CURRENT_HOST_INSTALLED_DIR}/manual-tools/${PORT}/*") + file(COPY ${FOR_BUILD_FILES} DESTINATION "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/src/util") + if(NOT VCPKG_BUILD_TYPE) + file(COPY ${FOR_BUILD_FILES} DESTINATION "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/src/util") + endif() +endif() +vcpkg_install_make() +vcpkg_fixup_pkgconfig() + +if(EXISTS "${CURRENT_INSTALLED_DIR}/include/X11/extensions/XKBgeom.h") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/X11/extensions/") #XKBgeom.h should be the only file in there +endif() + +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/${PORT}" RENAME copyright) + +if(NOT VCPKG_CROSSCOMPILING) + file(READ "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/config.log" config_contents) + string(REGEX MATCH "ac_cv_objext=[^\n]+" objsuffix "${config_contents}") + string(REPLACE "ac_cv_objext=" "." objsuffix "${objsuffix}") + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/src/util/makekeys${VCPKG_TARGET_EXECUTABLE_SUFFIX}" DESTINATION "${CURRENT_PACKAGES_DIR}/manual-tools/${PORT}") + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/src/util/makekeys${objsuffix}" DESTINATION "${CURRENT_PACKAGES_DIR}/manual-tools/${PORT}") +endif() + +endif() + +configure_file("${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" + "${CURRENT_PACKAGES_DIR}/share/x11/vcpkg-cmake-wrapper.cmake" @ONLY) + diff --git a/ports/libx11/vcpkg-cmake-wrapper.cmake b/ports/libx11/vcpkg-cmake-wrapper.cmake new file mode 100644 index 00000000000000..4085a39fa4087d --- /dev/null +++ b/ports/libx11/vcpkg-cmake-wrapper.cmake @@ -0,0 +1,20 @@ +set(Z_VCPKG_FIRST_X11_SEARCH OFF) +if(NOT X11_FOUND) + set(Z_VCPKG_FIRST_X11_SEARCH ON) +endif() +_find_package(${ARGS}) +if(TARGET X11::X11 AND Z_VCPKG_FIRST_X11_SEARCH) + target_link_libraries(X11::X11 INTERFACE ${CMAKE_DL_LIBS}) + if(TARGET X11::xcb) + target_link_libraries(X11::X11 INTERFACE X11::xcb) + endif() +endif() +if(TARGET X11::xcb AND Z_VCPKG_FIRST_X11_SEARCH) + if(TARGET X11::Xdmcp) + set_property(TARGET X11::xcb APPEND PROPERTY INTERFACE_LINK_LIBRARIES X11::Xdmcp) + endif() + if(TARGET X11::Xau) + set_property(TARGET X11::xcb APPEND PROPERTY INTERFACE_LINK_LIBRARIES X11::Xau) + endif() +endif() +unset(Z_VCPKG_FIRST_X11_SEARCH) \ No newline at end of file diff --git a/ports/libx11/vcpkg.json b/ports/libx11/vcpkg.json new file mode 100644 index 00000000000000..86115b78f07ac6 --- /dev/null +++ b/ports/libx11/vcpkg.json @@ -0,0 +1,22 @@ +{ + "name": "libx11", + "version": "1.8.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", + "dependencies": [ + "bzip2", + { + "name": "libx11", + "host": true + }, + { + "name": "libxslt", + "host": true + }, + "xcb", + "xproto", + "xtrans" + ] +} diff --git a/ports/libx11/vcxserver.patch b/ports/libx11/vcxserver.patch new file mode 100644 index 00000000000000..10a6312f927c66 --- /dev/null +++ b/ports/libx11/vcxserver.patch @@ -0,0 +1,138 @@ +diff --git a/include/X11/Xlib.h b/include/X11/Xlib.h +index 5faf83b..c6c63a3 100644 +--- a/include/X11/Xlib.h ++++ b/include/X11/Xlib.h +@@ -79,7 +79,7 @@ _Xmblen( + + typedef char *XPointer; + +-#define Bool int +-#define Status int ++typedef int Bool; ++typedef int Status; + #define True 1 + #define False 0 +diff --git a/src/CrGlCur.c b/src/CrGlCur.c +index 460660f..510ff5d 100644 +--- a/src/CrGlCur.c ++++ b/src/CrGlCur.c +@@ -51,8 +51,14 @@ in this Software without prior written authorization from The Open Group. + #if defined(hpux) + typedef shl_t XModuleType; + #else ++#ifdef _MSC_VER ++#include ++typedef HANDLE XModuleType; ++#define dlsym GetProcAddress ++#else + typedef void *XModuleType; + #endif ++#endif + + #ifndef LIBXCURSOR + #define LIBXCURSOR "libXcursor.so.1" +@@ -70,8 +76,12 @@ open_library (void) + { + #if defined(hpux) + module = shl_load(library, BIND_DEFERRED, 0L); ++#else ++#ifdef _MSC_VER ++ module = LoadLibrary(library); + #else + module = dlopen(library, RTLD_LAZY); ++#endif + #endif + if (module) + return module; +diff --git a/src/GetDflt.c b/src/GetDflt.c +index c9222a2..c6e1b25 100644 +--- a/src/GetDflt.c ++++ b/src/GetDflt.c +@@ -137,9 +138,13 @@ InitDefaults( + * ~/.Xdefaults. Next, if there is an XENVIRONMENT environment variable, + * then load that file. + */ +- ++ + if (dpy->xdefaults == NULL) { ++ #ifdef _MSC_VER ++ const char *slashDotXdefaults = ".Xdefaults"; ++ #else + const char *slashDotXdefaults = "/.Xdefaults"; ++ #endif + + (void) GetHomeDir (fname, (int) (PATH_MAX - strlen (slashDotXdefaults) - 1)); + (void) strcat (fname, slashDotXdefaults); +@@ -149,7 +154,11 @@ InitDefaults( + } + + if (!(xenv = getenv ("XENVIRONMENT"))) { ++ #ifdef _MSC_VER ++ const char *slashDotXdefaultsDash = ".Xdefaults-"; ++ #else + const char *slashDotXdefaultsDash = "/.Xdefaults-"; ++ #endif + int len; + + (void) GetHomeDir (fname, (int) (PATH_MAX - strlen (slashDotXdefaultsDash) - 1)); + diff --git a/src/SetLocale.c b/src/SetLocale.c +index 81f4a7c..cb52f11 100644 +--- a/src/SetLocale.c ++++ b/src/SetLocale.c +@@ -63,11 +63,11 @@ from The Open Group. + #include + #include + #include "XlcPubI.h" + + #define MAXLOCALE 64 /* buffer size of locale name */ + + +-#if defined(__APPLE__) || defined(__CYGWIN__) ++#if defined(__APPLE__) || defined(__CYGWIN__) || defined(_MSC_VER) + char * + _Xsetlocale( + int category, +diff --git a/src/StrKeysym.c b/src/StrKeysym.c +index be77a93..6967bcc 100644 +--- a/src/StrKeysym.c ++++ b/src/StrKeysym.c +@@ -39,12 +39,12 @@ in this Software without prior written authorization from The Open Group. + + #ifndef KEYSYMDB + #ifndef XKEYSYMDB +-#define KEYSYMDB "/usr/lib/X11/XKeysymDB" ++#define KEYSYMDB "XKeysymDB" + #else + #define KEYSYMDB XKEYSYMDB + #endif + #endif + + static Bool initialized; + static XrmDatabase keysymdb; + static XrmQuark Qkeysym[2]; +diff --git a/src/xlibi18n/lcDynamic.c b/src/xlibi18n/lcDynamic.c +index 3821bff..a50aa70 100644 +--- a/src/xlibi18n/lcDynamic.c ++++ b/src/xlibi18n/lcDynamic.c +@@ -51,7 +51,7 @@ from The Open Group. + #include "Xlcint.h" + + #ifndef XLOCALEDIR +-#define XLOCALEDIR "/usr/lib/X11/locale" ++#define XLOCALEDIR "locale" + #endif + + #define LCLIBNAME "xi18n.so" +diff --git a/src/xlibi18n/lcFile.c b/src/xlibi18n/lcFile.c +index 25cabd5..819ac89 100644 +--- a/src/xlibi18n/lcFile.c ++++ b/src/xlibi18n/lcFile.c +@@ -195,7 +192,7 @@ _XlcParsePath( + } + + #ifndef XLOCALEDIR +-#define XLOCALEDIR "/usr/lib/X11/locale" ++#define XLOCALEDIR "locale" + #endif + + void diff --git a/ports/libxau/portfile.cmake b/ports/libxau/portfile.cmake new file mode 100644 index 00000000000000..e745eb6b60876b --- /dev/null +++ b/ports/libxau/portfile.cmake @@ -0,0 +1,31 @@ +if(NOT X_VCPKG_FORCE_VCPKG_X_LIBRARIES AND NOT VCPKG_TARGET_IS_WINDOWS) + message(STATUS "Utils and libraries provided by '${PORT}' should be provided by your system! Install the required packages or force vcpkg libraries by setting X_VCPKG_FORCE_VCPKG_X_LIBRARIES in your triplet") + set(VCPKG_POLICY_EMPTY_PACKAGE enabled) +else() + +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.freedesktop.org/xorg + OUT_SOURCE_PATH SOURCE_PATH + REPO lib/libxau + REF d9443b2c57b512cfb250b35707378654d86c7dea # 1.0.9 + SHA512 d46d2be838b8ea7116ee0e312adafa80f6551762b5f7b5e503bd40e74fc0b43b45255e8135d03f831d5c483b98aac992fcd91a7e22119261e76778571a72ef07 + HEAD_REF master +) + +set(ENV{ACLOCAL} "aclocal -I \"${CURRENT_INSTALLED_DIR}/share/xorg/aclocal/\"") + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG + OPTIONS "${OPTIONS}" +) + +vcpkg_install_make() +vcpkg_fixup_pkgconfig() + +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/${PORT}" RENAME copyright) +endif() diff --git a/ports/libxau/vcpkg.json b/ports/libxau/vcpkg.json new file mode 100644 index 00000000000000..f1cbde68d71731 --- /dev/null +++ b/ports/libxau/vcpkg.json @@ -0,0 +1,12 @@ +{ + "name": "libxau", + "version": "1.0.9", + "description": "Functions for handling Xauthority files and entries.", + "homepage": "https://gitlab.freedesktop.org/xorg/lib/libxau", + "license": "MIT-open-group", + "dependencies": [ + "bzip2", + "xorg-macros", + "xproto" + ] +} diff --git a/ports/libxaw/portfile.cmake b/ports/libxaw/portfile.cmake new file mode 100644 index 00000000000000..cfb12c3ee9a318 --- /dev/null +++ b/ports/libxaw/portfile.cmake @@ -0,0 +1,45 @@ +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_DYNAMIC_LIBRARY) + +if(VCPKG_TARGET_IS_WINDOWS) + set(OPTIONS lt_cv_deplibs_check_method=pass_all) # since libxt will always be static +endif() + +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.freedesktop.org/xorg + OUT_SOURCE_PATH SOURCE_PATH + REPO lib/libxaw + REF 9cfeba9db7f3ac4e0b351969c9ff5ab8f58ec7ef + SHA512 52c6e390aa90190ca528716eaa164ae2d79dd3345372ccc263ad1cfd2f1f49edc67df6ac34f2b9847bc099a3188d7d7161d7038565aae008cc12da373b0fc3b2 + HEAD_REF master + PATCHES win.patch +) + +set(ENV{ACLOCAL} "aclocal -I \"${CURRENT_INSTALLED_DIR}/share/xorg/aclocal/\"") + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG + OPTIONS lt_cv_deplibs_check_method=pass_all +) +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + set(makefile "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/Makefile") + if(EXISTS "${makefile}") + vcpkg_replace_string("${makefile}" ".dll.a" ".lib") + endif() + set(makefile "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/Makefile") + if(EXISTS "${makefile}") + vcpkg_replace_string("${makefile}" ".dll.a" ".lib") + endif() +endif() +vcpkg_install_make() +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +endif() diff --git a/ports/libxaw/vcpkg.json b/ports/libxaw/vcpkg.json new file mode 100644 index 00000000000000..e70f375621a552 --- /dev/null +++ b/ports/libxaw/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "libxaw", + "version": "1.0.13", + "description": "X Athena Widget Set, based on the X Toolkit Intrinsics (Xt) Library", + "homepage": "https://gitlab.freedesktop.org/xorg/lib/libxaw", + "license": null, + "dependencies": [ + "bzip2", + "libx11", + "libxext", + "libxmu", + "libxpm", + "libxt", + "xorg-macros", + "xproto" + ] +} diff --git a/ports/libxaw/win.patch b/ports/libxaw/win.patch new file mode 100644 index 00000000000000..4582459bc668e7 --- /dev/null +++ b/ports/libxaw/win.patch @@ -0,0 +1,98 @@ +diff --git a/Makefile.am b/Makefile.am +index 8e039a07f..e99d5d6d2 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -9,8 +9,12 @@ pkgconfig_DATA += xaw6.pc + if PLATFORM_DARWIN + DEFAULT_LIB = libXaw.6.@LIBEXT@ + else ++if PLATFORM_WIN32 ++DEFAULT_LIB = Xaw6.@LIBEXT@ ++else + DEFAULT_LIB = libXaw6.@LIBEXT@ + endif ++endif + + endif + +@@ -20,8 +24,12 @@ pkgconfig_DATA += xaw7.pc + if PLATFORM_DARWIN + DEFAULT_LIB = libXaw.7.@LIBEXT@ + else ++if PLATFORM_WIN32 ++DEFAULT_LIB = Xaw7.@LIBEXT@ ++else + DEFAULT_LIB = libXaw7.@LIBEXT@ + endif ++endif + + endif + +@@ -33,7 +41,7 @@ EXTRA_DIST = \ + old-doc/CHANGES + + install-exec-hook: +- cd $(DESTDIR)$(libdir) && rm -f libXaw.@LIBEXT@ && $(LN_S) $(DEFAULT_LIB) libXaw.@LIBEXT@ ++ cd $(DESTDIR)$(libdir) && rm -f libXaw.@LIBEXT@ && $(LN_S) $(DEFAULT_LIB) Xaw.@LIBEXT@ + + uninstall-local: + -rm -f $(DESTDIR)$(libdir)/libXaw.@LIBEXT@ +diff --git a/src/AsciiSrc.c b/src/AsciiSrc.c +index 875b97c6c..8223e3bf4 100644 +--- a/src/AsciiSrc.c ++++ b/src/AsciiSrc.c +@@ -54,6 +54,10 @@ in this Software without prior written authorization from The Open Group. + #include + #include + #include ++#ifdef _WIN32 ++#include ++typedef int mode_t; ++#endif + + #if (defined(ASCII_STRING) || defined(ASCII_DISK)) + #include /* for Widget Classes */ +diff --git a/src/MultiSrc.c b/src/MultiSrc.c +index b4a123c14..dc2146913 100644 +--- a/src/MultiSrc.c ++++ b/src/MultiSrc.c +@@ -74,6 +74,10 @@ in this Software without prior written authorization from The Open Group. + #include + #include + #include ++#ifdef _WIN32 ++#include ++typedef int mode_t; ++#endif + + #define MAGIC_VALUE ((XawTextPosition)-1) + #define streq(a, b) (strcmp((a), (b)) == 0) +diff --git a/src/TextAction.c b/src/TextAction.c +index 43d1d3258..e083c908f 100644 +--- a/src/TextAction.c ++++ b/src/TextAction.c +@@ -29,7 +29,12 @@ in this Software without prior written authorization from The Open Group. + #endif + #include + #include ++#ifdef HAVE_UNISTD_H + #include ++#endif ++#ifdef _WIN32 ++#define _WILLWINSOCK_ ++#endif + #include /* for select() and struct timeval */ + #include + #include +@@ -3186,7 +3191,11 @@ InsertChar(Widget w, XEvent *event, String *p _X_UNUSED, Cardinal *n _X_UNUSED) + FD_SET(ConnectionNumber(XtDisplay(w)), &fds); + (void)select(FD_SETSIZE, &fds, NULL, NULL, &tmval); + if (tmval.tv_usec != 500000) ++ #ifndef _WIN32 + usleep(40000); ++ #else ++ Sleep(40); ++ #endif + + StartAction(ctx, NULL); + #ifndef OLDXAW diff --git a/ports/libxcomposite/portfile.cmake b/ports/libxcomposite/portfile.cmake new file mode 100644 index 00000000000000..be8413e1122aa1 --- /dev/null +++ b/ports/libxcomposite/portfile.cmake @@ -0,0 +1,30 @@ +if(NOT X_VCPKG_FORCE_VCPKG_X_LIBRARIES AND NOT VCPKG_TARGET_IS_WINDOWS) + message(STATUS "Utils and libraries provided by '${PORT}' should be provided by your system! Install the required packages or force vcpkg libraries by setting X_VCPKG_FORCE_VCPKG_X_LIBRARIES in your triplet!") + set(VCPKG_POLICY_EMPTY_PACKAGE enabled) +else() + +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.freedesktop.org/xorg + OUT_SOURCE_PATH SOURCE_PATH + REPO lib/libxcomposite + REF fd7d02cc014ac9bf5bb7e68b66102ea36a76a59a # 0.4.5 + SHA512 68ee9d61d364816bf190db010f624312e9daf8d6b411dc209486ac0c7d92b3c75ca5a2650bc085b0c444bec1adfefca593e1d9e6fda4ba12ab5f12ebe7fd6ade + HEAD_REF master +) + +set(ENV{ACLOCAL} "aclocal -I \"${CURRENT_INSTALLED_DIR}/share/xorg/aclocal/\"") + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG +) + +vcpkg_install_make() +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +# Handle copyright +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +endif() \ No newline at end of file diff --git a/ports/libxcomposite/vcpkg.json b/ports/libxcomposite/vcpkg.json new file mode 100644 index 00000000000000..69ff6b2e39df07 --- /dev/null +++ b/ports/libxcomposite/vcpkg.json @@ -0,0 +1,14 @@ +{ + "name": "libxcomposite", + "version": "0.4.5", + "description": "Xlib-based client library for the Composite extension to the X11 protocol", + "homepage": "https://gitlab.freedesktop.org/xorg/lib/libxcomposite", + "license": null, + "dependencies": [ + "bzip2", + "libx11", + "libxfixes", + "xorg-macros", + "xproto" + ] +} diff --git a/ports/libxcrypt/portfile.cmake b/ports/libxcrypt/portfile.cmake new file mode 100644 index 00000000000000..286bf6f62da83e --- /dev/null +++ b/ports/libxcrypt/portfile.cmake @@ -0,0 +1,35 @@ +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_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO besser82/libxcrypt + REF "v${VERSION}" + SHA512 61e5e393654f37775457474d4170098314879ee79963d423c1c461e80dc5dc74f0c161dd8754f016ce96109167be6c580ad23994fa1d2c38c54b96e602f3aece +) + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG +) + +vcpkg_install_make() +vcpkg_fixup_pkgconfig() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSING" "${SOURCE_PATH}/COPYING.LIB") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") diff --git a/ports/libxcrypt/vcpkg.json b/ports/libxcrypt/vcpkg.json new file mode 100644 index 00000000000000..2ac4555767533b --- /dev/null +++ b/ports/libxcrypt/vcpkg.json @@ -0,0 +1,9 @@ +{ + "name": "libxcrypt", + "version": "4.4.36", + "port-version": 1, + "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", + "supports": "linux" +} diff --git a/ports/libxcvt/portfile.cmake b/ports/libxcvt/portfile.cmake new file mode 100644 index 00000000000000..b8c72731617070 --- /dev/null +++ b/ports/libxcvt/portfile.cmake @@ -0,0 +1,18 @@ +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.freedesktop.org/xorg + OUT_SOURCE_PATH SOURCE_PATH + REPO lib/libxcvt + REF db5ff12110994dc9010d44f981399e796917a845 + SHA512 a69c4d163ab7a5f71dd4940e9b1f7ac2c5b5f282cbe9e1af26dcb677d061ff5187aa17f9acf9f913d3b05afac44f44b962ca4290ad2f5ae7f104ec870d8b515f + HEAD_REF master +) +vcpkg_configure_meson( + SOURCE_PATH "${SOURCE_PATH}" +) +vcpkg_install_meson() +vcpkg_fixup_pkgconfig() +vcpkg_copy_tools(TOOL_NAMES cvt AUTO_CLEAN) +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) diff --git a/ports/libxcvt/vcpkg.json b/ports/libxcvt/vcpkg.json new file mode 100644 index 00000000000000..bc7bcd5785f05b --- /dev/null +++ b/ports/libxcvt/vcpkg.json @@ -0,0 +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", + "dependencies": [ + { + "name": "vcpkg-tool-meson", + "host": true + } + ] +} diff --git a/ports/libxdamage/portfile.cmake b/ports/libxdamage/portfile.cmake new file mode 100644 index 00000000000000..44ed2a42e19e92 --- /dev/null +++ b/ports/libxdamage/portfile.cmake @@ -0,0 +1,30 @@ +if(NOT X_VCPKG_FORCE_VCPKG_X_LIBRARIES AND NOT VCPKG_TARGET_IS_WINDOWS) + message(STATUS "Utils and libraries provided by '${PORT}' should be provided by your system! Install the required packages or force vcpkg libraries by setting X_VCPKG_FORCE_VCPKG_X_LIBRARIES in your triplet!") + set(VCPKG_POLICY_EMPTY_PACKAGE enabled) +else() + +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.freedesktop.org/xorg + OUT_SOURCE_PATH SOURCE_PATH + REPO lib/libxdamage + REF 977b04cd69738806e0b48fcf5c725763d065f06d # 1.1.5 + SHA512 79c3a4c63f6c50c39d324183b98ad7e70235aed1c8385acf2f593739c71e7929119448be3e15dffd276b32e4fbb056508deeb35f450f74b85c101047f68d4339 + HEAD_REF master # branch name +) + +set(ENV{ACLOCAL} "aclocal -I \"${CURRENT_INSTALLED_DIR}/share/xorg/aclocal/\"") + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG +) + +vcpkg_install_make() +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +# Handle copyright +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +endif() diff --git a/ports/libxdamage/vcpkg.json b/ports/libxdamage/vcpkg.json new file mode 100644 index 00000000000000..dc86f1ee794536 --- /dev/null +++ b/ports/libxdamage/vcpkg.json @@ -0,0 +1,14 @@ +{ + "name": "libxdamage", + "version": "1.1.5", + "description": "X Damage Extension library", + "homepage": "https://gitlab.freedesktop.org/xorg/lib/libxdamage", + "license": null, + "dependencies": [ + "bzip2", + "libx11", + "libxfixes", + "xorg-macros", + "xproto" + ] +} diff --git a/ports/libxdf/fix-pugixml-dependency.patch b/ports/libxdf/fix-pugixml-dependency.patch new file mode 100644 index 00000000000000..5b888b9866df7a --- /dev/null +++ b/ports/libxdf/fix-pugixml-dependency.patch @@ -0,0 +1,65 @@ +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 new file mode 100644 index 00000000000000..ac5f9d409ac916 --- /dev/null +++ b/ports/libxdf/portfile.cmake @@ -0,0 +1,25 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO xdf-modules/libxdf + REF "v${VERSION}" + SHA512 81ff3598442d3ea166ec54b74248ad7b7eca5fcfdb72526978966398ad9e6524883183e71b68e349c46c2705779bf2b4922ce097f01afe7a62faa449ab8fa075 + HEAD_REF main + PATCHES + fix-pugixml-dependency.patch +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DXDF_NO_SYSTEM_PUGIXML=OFF +) + +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.txt") diff --git a/ports/libxdf/vcpkg.json b/ports/libxdf/vcpkg.json new file mode 100644 index 00000000000000..c2075708db13e6 --- /dev/null +++ b/ports/libxdf/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "libxdf", + "version": "0.99.8", + "description": "C++ library for loading multimodal, multi-rate signals stored in XDF files.", + "homepage": "https://xdf-modules.github.io/libxdf/", + "license": "BSD-2-Clause", + "dependencies": [ + "pugixml", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} 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 05b7ade351ac97..74dbc2d30a3983 100644 --- a/ports/libxdiff/portfile.cmake +++ b/ports/libxdiff/portfile.cmake @@ -1,5 +1,3 @@ -vcpkg_fail_port_install(MESSAGE "${PORT} currently only supports being built for desktop" ON_TARGET "UWP") - set(LIBXDIFF_REF 77e30f3190685efd87cce2c9c5d688cbaa1b0134) set(LIBXDIFF_SHA512 c559b575e6d6f06f3b3064f3e077a15d8f57422340199215a4cbd7beab527bc250347c8779a8d6f8c4e41799a032431e83c7336f86569527ab754444455b8c87) @@ -11,35 +9,36 @@ vcpkg_from_github( REF ${LIBXDIFF_REF} SHA512 ${LIBXDIFF_SHA512} HEAD_REF master + PATCHES + fix-usage-error.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_SHARED=${KEYSTONE_BUILD_SHARED} ) -vcpkg_install_cmake() +vcpkg_cmake_install() if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL debug) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/xdiff.dll DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/xdiff.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/xdiff.dll") endif() endif() -if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL release) +if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL release) if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/xdiff.dll DESTINATION ${CURRENT_PACKAGES_DIR}/bin) + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/xdiff.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/bin") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/xdiff.dll") 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() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/XDiff TARGET_PATH share/XDiff) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/XDiff PACKAGE_NAME XDiff) diff --git a/ports/libxdiff/vcpkg.json b/ports/libxdiff/vcpkg.json index ab48b66baff822..5c54cdf44e0de1 100644 --- a/ports/libxdiff/vcpkg.json +++ b/ports/libxdiff/vcpkg.json @@ -1,8 +1,18 @@ { "name": "libxdiff", - "version-string": "0.23", - "port-version": 1, + "version": "0.23", + "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" + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/libxdmcp/configure.ac.patch b/ports/libxdmcp/configure.ac.patch new file mode 100644 index 00000000000000..8a8f474c8ca992 --- /dev/null +++ b/ports/libxdmcp/configure.ac.patch @@ -0,0 +1,13 @@ +diff --git a/configure.ac b/configure.ac +index 7aedf3424..43ab8dbaf 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -56,7 +56,7 @@ AC_PROG_LN_S + AC_SEARCH_LIBS([recvfrom],[socket]) + + case $host_os in +- *mingw*) ++ *mingw* | *msys* ) + AC_CHECK_LIB([ws2_32],[main]) + ;; + *) diff --git a/ports/libxdmcp/portfile.cmake b/ports/libxdmcp/portfile.cmake new file mode 100644 index 00000000000000..a48b84dee3aaed --- /dev/null +++ b/ports/libxdmcp/portfile.cmake @@ -0,0 +1,36 @@ +#SET(VCPKG_POLICY_DLLS_WITHOUT_LIBS enabled) # this is a lie but the lib has a different name than the dll +if(NOT X_VCPKG_FORCE_VCPKG_X_LIBRARIES AND NOT VCPKG_TARGET_IS_WINDOWS) + message(STATUS "Utils and libraries provided by '${PORT}' should be provided by your system! Install the required packages or force vcpkg libraries by setting X_VCPKG_FORCE_VCPKG_X_LIBRARIES in your triplet") + set(VCPKG_POLICY_EMPTY_PACKAGE enabled) +else() +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.freedesktop.org/xorg + OUT_SOURCE_PATH SOURCE_PATH + REPO lib/libxdmcp + REF 618b3ba5f826d930df2ca6a6a0ce212fa75cef42 # 1.1.3 + SHA512 f8b035fa95f6948cc6bac69bfcc33498cd65db73c62aadee714bce371d61c50f283c45d1a3f43397a96b3c956b41dfe94355e94e33764760b29bf98ba8dfebe2 + HEAD_REF master + PATCHES configure.ac.patch +) + +set(ENV{ACLOCAL} "aclocal -I \"${CURRENT_INSTALLED_DIR}/share/xorg/aclocal/\"") +if(VCPKG_TARGET_IS_WINDOWS) + set(OPTIONS --disable-dependency-tracking) + string(APPEND VCPKG_C_FLAGS "/showIncludes ") + string(APPEND VCPKG_CXX_FLAGS "/showIncludes ") +endif() +vcpkg_configure_make( + SOURCE_PATH ${SOURCE_PATH} + AUTOCONFIG + OPTIONS ${OPTIONS} --enable-unit-tests=no +) + +vcpkg_install_make() +vcpkg_fixup_pkgconfig() + +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/${PORT}" RENAME copyright) +endif() diff --git a/ports/libxdmcp/vcpkg.json b/ports/libxdmcp/vcpkg.json new file mode 100644 index 00000000000000..a2a977cbe16853 --- /dev/null +++ b/ports/libxdmcp/vcpkg.json @@ -0,0 +1,12 @@ +{ + "name": "libxdmcp", + "version": "1.1.3", + "description": "X Display Manager Control Protocol library", + "homepage": "https://gitlab.freedesktop.org/xorg/lib/libxdmcp", + "license": "MIT-open-group", + "dependencies": [ + "bzip2", + "xorg-macros", + "xproto" + ] +} diff --git a/ports/libxext/portfile.cmake b/ports/libxext/portfile.cmake new file mode 100644 index 00000000000000..a116f6fd0de816 --- /dev/null +++ b/ports/libxext/portfile.cmake @@ -0,0 +1,31 @@ +if(NOT X_VCPKG_FORCE_VCPKG_X_LIBRARIES AND NOT VCPKG_TARGET_IS_WINDOWS) + message(STATUS "Utils and libraries provided by '${PORT}' should be provided by your system! Install the required packages or force vcpkg libraries by setting X_VCPKG_FORCE_VCPKG_X_LIBRARIES in your triplet") + set(VCPKG_POLICY_EMPTY_PACKAGE enabled) +else() + +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.freedesktop.org/xorg + OUT_SOURCE_PATH SOURCE_PATH + REPO lib/libxext + REF ebb167f34a3514783966775fb12573c4ed209625 # 1.3.4 + SHA512 509cb67ad9dba37adbcc49dca6e9803b318f62e8e2b981ccf73ce328a8104e94615312c5914b480ba04e28d208cd93d8a71b3e6e2ef1a4e5615aa2a3f9ba19e7 + HEAD_REF master +) + +set(ENV{ACLOCAL} "aclocal -I \"${CURRENT_INSTALLED_DIR}/share/xorg/aclocal/\"") + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG + OPTIONS xorg_cv_malloc0_returns_null=yes +) + +vcpkg_install_make() +vcpkg_fixup_pkgconfig() + +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/${PORT}" RENAME copyright) +endif() diff --git a/ports/libxext/vcpkg.json b/ports/libxext/vcpkg.json new file mode 100644 index 00000000000000..ed49330c742ad8 --- /dev/null +++ b/ports/libxext/vcpkg.json @@ -0,0 +1,12 @@ +{ + "name": "libxext", + "version": "1.3.4", + "description": "Xlib-based library for common extensions to the X11 protocol", + "homepage": "https://gitlab.freedesktop.org/xorg/lib/libxext", + "license": null, + "dependencies": [ + "libx11", + "xorg-macros", + "xproto" + ] +} diff --git a/ports/libxfixes/portfile.cmake b/ports/libxfixes/portfile.cmake new file mode 100644 index 00000000000000..0441be999c4099 --- /dev/null +++ b/ports/libxfixes/portfile.cmake @@ -0,0 +1,29 @@ +if(NOT X_VCPKG_FORCE_VCPKG_X_LIBRARIES AND NOT VCPKG_TARGET_IS_WINDOWS) + message(STATUS "Utils and libraries provided by '${PORT}' should be provided by your system! Install the required packages or force vcpkg libraries by setting X_VCPKG_FORCE_VCPKG_X_LIBRARIES in your triplet") + set(VCPKG_POLICY_EMPTY_PACKAGE enabled) +else() +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.freedesktop.org/xorg + OUT_SOURCE_PATH SOURCE_PATH + REPO lib/libxfixes + REF 6fe3bd64dd82f704ed91478acb4c99ab5c00be16 # 6.0.0 + SHA512 429e65f4183d92cee1380273a23be9bf157bdd19e01e164d8b9058a2a54601af8f4556888302a2cad062c2cfc4b3a37d6b8f5b7ac6bdd6b5c069c7b791422201 + HEAD_REF master +) + +set(ENV{ACLOCAL} "aclocal -I \"${CURRENT_INSTALLED_DIR}/share/xorg/aclocal/\"") + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG +) + +vcpkg_install_make() +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +# Handle copyright +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +endif() diff --git a/ports/libxfixes/vcpkg.json b/ports/libxfixes/vcpkg.json new file mode 100644 index 00000000000000..a079b2264dd155 --- /dev/null +++ b/ports/libxfixes/vcpkg.json @@ -0,0 +1,12 @@ +{ + "name": "libxfixes", + "version": "6.0.0", + "description": "Xlib-based library for the XFIXES Extension", + "homepage": "https://gitlab.freedesktop.org/xorg/lib/libxfixes", + "license": null, + "dependencies": [ + "libx11", + "xorg-macros", + "xproto" + ] +} diff --git a/ports/libxfont/build.patch b/ports/libxfont/build.patch new file mode 100644 index 00000000000000..27179aea38708e --- /dev/null +++ b/ports/libxfont/build.patch @@ -0,0 +1,38 @@ +diff --git a/Makefile.am b/Makefile.am +index 5af2e237a..e75fd1755 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -159,14 +159,14 @@ endif + EXTRA_DIST = src/builtins/buildfont README.md + + # Test utilities +-EXTRA_DIST += test/utils/README ++# EXTRA_DIST += test/utils/README + +-TEST_UTIL_SRCS = test/utils/font-test-utils.c test/utils/font-test-utils.h ++# TEST_UTIL_SRCS = test/utils/font-test-utils.c test/utils/font-test-utils.h + +-noinst_PROGRAMS = lsfontdir ++# noinst_PROGRAMS = lsfontdir + +-lsfontdir_SOURCES = test/utils/lsfontdir.c $(TEST_UTIL_SRCS) +-lsfontdir_LDADD = libXfont2.la $(LTLIBOBJS) ++# lsfontdir_SOURCES = test/utils/lsfontdir.c $(TEST_UTIL_SRCS) ++# lsfontdir_LDADD = libXfont2.la $(LTLIBOBJS) + + + MAINTAINERCLEANFILES = ChangeLog INSTALL +diff --git a/include/X11/fonts/fontmisc.h b/include/X11/fonts/fontmisc.h +index 06e49f5f0..6b68dfcb8 100644 +--- a/include/X11/fonts/fontmisc.h ++++ b/include/X11/fonts/fontmisc.h +@@ -34,7 +34,9 @@ in this Software without prior written authorization from The Open Group. + #include + #include + #include ++#ifdef HAVE_UNISTD_H + #include ++#endif + #include + + diff --git a/ports/libxfont/build2.patch b/ports/libxfont/build2.patch new file mode 100644 index 00000000000000..420f37284f87cf --- /dev/null +++ b/ports/libxfont/build2.patch @@ -0,0 +1,49 @@ +diff --git a/src/FreeType/ftenc.c b/src/FreeType/ftenc.c +index 5b0299345..5abffb6e0 100644 +--- a/src/FreeType/ftenc.c ++++ b/src/FreeType/ftenc.c +@@ -41,6 +41,10 @@ THE SOFTWARE. + #include FT_XFREE86_H + #include "ft.h" + ++#if (defined(WIN32) || defined(WIN64) || defined(_WIN32) || defined(_WIN64)) && !defined(HAVE_STRCASECMP) ++#define strcasecmp _stricmp ++#endif ++ + static int find_cmap(int, int, int, FT_Face, FT_CharMap *); + + static int +diff --git a/src/FreeType/xttcap.c b/src/FreeType/xttcap.c +index f54f76c85..a5a047ee6 100644 +--- a/src/FreeType/xttcap.c ++++ b/src/FreeType/xttcap.c +@@ -56,6 +56,10 @@ static char const * const releaseID = + + #include "xttcap.h" + ++#if (defined(WIN32) || defined(WIN64) || defined(_WIN32) || defined(_WIN64)) && !defined(HAVE_STRCASECMP) ++#define strcasecmp _stricmp ++#endif ++ + + /************************************************************************** + Private Data Types +diff --git a/src/fontfile/renderers.c b/src/fontfile/renderers.c +index a457fb7bb..c44591f13 100644 +--- a/src/fontfile/renderers.c ++++ b/src/fontfile/renderers.c +@@ -31,10 +31,13 @@ in this Software without prior written authorization from The Open Group. + #ifdef HAVE_CONFIG_H + #include + #endif ++#include + #include "libxfontint.h" + #include "src/util/replace.h" + #include +- ++#if (defined(WIN32) || defined(WIN64) || defined(_WIN32) || defined(_WIN64)) && !defined(HAVE_STRCASECMP) ++#define strcasecmp _stricmp ++#endif + static FontRenderersRec renderers; + + /* diff --git a/ports/libxfont/configure.patch b/ports/libxfont/configure.patch new file mode 100644 index 00000000000000..7a9dcd3d8271b9 --- /dev/null +++ b/ports/libxfont/configure.patch @@ -0,0 +1,37 @@ +diff --git a/configure.ac b/configure.ac +index f507c285a..a821e7311 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -122,14 +122,14 @@ AC_SUBST(FREETYPE_REQUIRES) + AC_DEFINE(X_GZIP_FONT_COMPRESSION,1,[Support gzip for bitmap fonts]) + X_GZIP_FONT_COMPRESSION=1 + AC_SUBST(X_GZIP_FONT_COMPRESSION) +-AC_CHECK_LIB(z, gzopen, [Z_LIBS=-lz], AC_MSG_ERROR([*** zlib is required])) ++AC_SEARCH_LIBS(gzopen, [z zlib zlibd] , [Z_LIBS="$ac_cv_search_gzopen"], AC_MSG_ERROR([*** zlib is required])) + + AC_ARG_WITH(bzip2, + AS_HELP_STRING([--with-bzip2], + [Use libbz2 to support bzip2 compressed bitmap fonts (default: no)]), + [], [with_bzip2=no]) + if test "x$with_bzip2" = xyes; then +- AC_CHECK_LIB(bz2, BZ2_bzopen, [Z_LIBS="$Z_LIBS -lbz2"], ++ AC_SEARCH_LIBS(BZ2_bzopen, [bz2 bz2d], [Z_LIBS="$Z_LIBS $ac_cv_search_BZ2_bzopen"], + AC_MSG_ERROR([*** libbz2 is required for bzip2 support])) + AC_DEFINE(X_BZIP2_FONT_COMPRESSION,1,[Support bzip2 for bitmap fonts]) + fi +@@ -204,8 +204,13 @@ if test "x$XFONT_FC" = xyes; then + fi + + +-AC_CHECK_LIB(m, hypot, [MATH_LIBS=-lm +-AC_SUBST(MATH_LIBS)], AC_MSG_ERROR([*** libm is required])) ++AC_SEARCH_LIBS([hypot], [m], [MATH_LIBS=-lm AC_SUBST(MATH_LIBS)], ++[if test "x$ac_cv_search_hypot" != "xnone required"; then ++ AC_MSG_ERROR([*** libm is required]) ++else ++ AC_MSG_ERROR([*** libm is not required]) ++fi] ++) + + PKG_CHECK_MODULES(XFONT, [xproto xtrans fontsproto >= 2.1.3 fontenc]) + diff --git a/ports/libxfont/portfile.cmake b/ports/libxfont/portfile.cmake new file mode 100644 index 00000000000000..a4af82e27908d7 --- /dev/null +++ b/ports/libxfont/portfile.cmake @@ -0,0 +1,50 @@ +if(NOT X_VCPKG_FORCE_VCPKG_X_LIBRARIES AND NOT VCPKG_TARGET_IS_WINDOWS) + message(STATUS "Utils and libraries provided by '${PORT}' should be provided by your system! Install the required packages or force vcpkg libraries by setting X_VCPKG_FORCE_VCPKG_X_LIBRARIES in your triplet!") + set(VCPKG_POLICY_EMPTY_PACKAGE enabled) +else() + +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.freedesktop.org/xorg + OUT_SOURCE_PATH SOURCE_PATH + REPO lib/libxfont + REF 3a4f68284c5aeea77789af1fe395cac35efc8562 # 2.0.5 + SHA512 d9731b50a55c3bceadb0abb4530a673940432467402829559229cfa946105270970db0b7663b72e64279b4b6f8a82b594549d8987205e581de19e55710fec15f + HEAD_REF master + PATCHES build.patch + build2.patch + configure.patch +) + +set(ENV{ACLOCAL} "aclocal -I \"${CURRENT_INSTALLED_DIR}/share/xorg/aclocal/\"") +if(VCPKG_TARGET_IS_WINDOWS) + string(APPEND VCPKG_CXX_FLAGS " /D_WILLWINSOCK_") # /showIncludes are not passed on so I cannot figure out which header is responsible for this + string(APPEND VCPKG_C_FLAGS " /D_WILLWINSOCK_") +endif() +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG + OPTIONS ${OPTIONS} + --with-bzip2=yes + OPTIONS_DEBUG ${DEPS_DEBUG} + OPTIONS_RELEASE ${DEPS_RELEASE} +) + +vcpkg_install_make() +if(VCPKG_TARGET_IS_WINDOWS) + set(_file "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/xfont2.pc") + 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}") +endif() +vcpkg_fixup_pkgconfig() + +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/${PORT}" RENAME copyright) +endif() diff --git a/ports/libxfont/vcpkg.json b/ports/libxfont/vcpkg.json new file mode 100644 index 00000000000000..8fac451fbcc40b --- /dev/null +++ b/ports/libxfont/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "libxfont", + "version": "2.0.5", + "description": "X font handling library for server & utilities", + "homepage": "https://gitlab.freedesktop.org/xorg/lib/libxfont", + "license": null, + "dependencies": [ + "bzip2", + "freetype", + "libfontenc", + "libx11", + "libxext", + "xorg-macros", + "xproto", + "xtrans", + "zlib" + ] +} diff --git a/ports/libxft/portfile.cmake b/ports/libxft/portfile.cmake new file mode 100644 index 00000000000000..d78744b80d9193 --- /dev/null +++ b/ports/libxft/portfile.cmake @@ -0,0 +1,30 @@ +if(NOT X_VCPKG_FORCE_VCPKG_X_LIBRARIES AND NOT VCPKG_TARGET_IS_WINDOWS) + message(STATUS "Utils and libraries provided by '${PORT}' should be provided by your system! Install the required packages or force vcpkg libraries by setting X_VCPKG_FORCE_VCPKG_X_LIBRARIES in your triplet!") + set(VCPKG_POLICY_EMPTY_PACKAGE enabled) +else() + +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.freedesktop.org/xorg + OUT_SOURCE_PATH SOURCE_PATH + REPO lib/libxft + REF 98b121f22c3477b508dd17aa5db99f2ebf36ade4 # 2.3.4 + SHA512 336d80b96b607b3f694a8dac1e2c3cb7f22640ee6f2eeb9d6f8b7b0ddabc3fe9a096f0108595657ddff2f5b2b720a12d8954497067b1339878e786f7470c5617 + HEAD_REF master +) + +set(ENV{ACLOCAL} "aclocal -I \"${CURRENT_INSTALLED_DIR}/share/xorg/aclocal/\"") + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG +) + +vcpkg_install_make() +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +# Handle copyright +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +endif() diff --git a/ports/libxft/vcpkg.json b/ports/libxft/vcpkg.json new file mode 100644 index 00000000000000..f3fda42972e64c --- /dev/null +++ b/ports/libxft/vcpkg.json @@ -0,0 +1,16 @@ +{ + "name": "libxft", + "version": "2.3.4", + "description": "X FreeType library", + "homepage": "https://gitlab.freedesktop.org/xorg/lib/libxft", + "license": null, + "dependencies": [ + "bzip2", + "fontconfig", + "freetype", + "libx11", + "libxrender", + "xorg-macros", + "xproto" + ] +} diff --git a/ports/libxi/portfile.cmake b/ports/libxi/portfile.cmake new file mode 100644 index 00000000000000..7f7676bda39ce5 --- /dev/null +++ b/ports/libxi/portfile.cmake @@ -0,0 +1,35 @@ +if(NOT X_VCPKG_FORCE_VCPKG_X_LIBRARIES AND NOT VCPKG_TARGET_IS_WINDOWS) + message(STATUS "Utils and libraries provided by '${PORT}' should be provided by your system! Install the required packages or force vcpkg libraries by setting X_VCPKG_FORCE_VCPKG_X_LIBRARIES in your triplet!") + set(VCPKG_POLICY_EMPTY_PACKAGE enabled) +else() + +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.freedesktop.org/xorg + OUT_SOURCE_PATH SOURCE_PATH + REPO lib/libxi + REF f24d7f43ab4d97203e60677a3d42e11dbc80c8b4 # 1.8 + SHA512 bc98d03f1c53f26d0c2063de5a0b58951c9db44dfcfb44519efca89f20c8f8f50599c264d11546357164430f3486dd263742657de426cc7fbb3a306be0bc8866 + HEAD_REF master +) + +set(ENV{ACLOCAL} "aclocal -I \"${CURRENT_INSTALLED_DIR}/share/xorg/aclocal/\"") + +if (VCPKG_CROSSCOMPILING) + list(APPEND OPTIONS --enable-malloc0returnsnull) +endif() + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG + OPTIONS ${OPTIONS} +) + +vcpkg_install_make() +vcpkg_fixup_pkgconfig() + +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/${PORT}" RENAME copyright) +endif() diff --git a/ports/libxi/vcpkg.json b/ports/libxi/vcpkg.json new file mode 100644 index 00000000000000..1993f6c8f4aeb0 --- /dev/null +++ b/ports/libxi/vcpkg.json @@ -0,0 +1,11 @@ +{ + "name": "libxi", + "version": "1.8", + "description": "Xlib library for the X Input Extension", + "homepage": "https://gitlab.freedesktop.org/xorg/lib/libxi", + "license": null, + "dependencies": [ + "libxext", + "libxfixes" + ] +} diff --git a/ports/libxinerama/portfile.cmake b/ports/libxinerama/portfile.cmake new file mode 100644 index 00000000000000..2e1366cafd2051 --- /dev/null +++ b/ports/libxinerama/portfile.cmake @@ -0,0 +1,35 @@ +if(NOT X_VCPKG_FORCE_VCPKG_X_LIBRARIES AND NOT VCPKG_TARGET_IS_WINDOWS) + message(STATUS "Utils and libraries provided by '${PORT}' should be provided by your system! Install the required packages or force vcpkg libraries by setting X_VCPKG_FORCE_VCPKG_X_LIBRARIES in your triplet!") + set(VCPKG_POLICY_EMPTY_PACKAGE enabled) +else() + +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.freedesktop.org/xorg + OUT_SOURCE_PATH SOURCE_PATH + REPO lib/libxinerama + REF c3ab2361f13154921df2992f9eacc1ea1b3f946b #1.1.4 + SHA512 c65ed77d370e063f861ff9ed3abee5ad89be9ba452de987263da702985b1aa5be2ddd464e67b7978155e072e67f03ef49192a87fa707fcead408434e1771cbc0 + HEAD_REF master +) + +set(ENV{ACLOCAL} "aclocal -I \"${CURRENT_INSTALLED_DIR}/share/xorg/aclocal/\"") + +if (VCPKG_CROSSCOMPILING) + list(APPEND OPTIONS --enable-malloc0returnsnull) +endif() + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG + OPTIONS ${OPTIONS} +) + +vcpkg_install_make() +vcpkg_fixup_pkgconfig() + +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/${PORT}" RENAME copyright) +endif() diff --git a/ports/libxinerama/vcpkg.json b/ports/libxinerama/vcpkg.json new file mode 100644 index 00000000000000..18042f5c1a6960 --- /dev/null +++ b/ports/libxinerama/vcpkg.json @@ -0,0 +1,12 @@ +{ + "name": "libxinerama", + "version": "1.1.4", + "description": "Xlib API for Xinerama extension to X11 Protocol", + "homepage": "https://gitlab.freedesktop.org/xorg/lib/libxinerama", + "license": null, + "dependencies": [ + "libx11", + "libxext", + "xorg-macros" + ] +} diff --git a/ports/libxkbcommon/build.patch b/ports/libxkbcommon/build.patch new file mode 100644 index 00000000000000..fc51387fc1cc0d --- /dev/null +++ b/ports/libxkbcommon/build.patch @@ -0,0 +1,26 @@ +diff --git a/tools/how-to-type.c b/tools/how-to-type.c +index 72aea1b..783373a 100644 +--- a/tools/how-to-type.c ++++ b/tools/how-to-type.c +@@ -26,7 +26,9 @@ + #include + #include + #include ++#ifdef HAVE_UNISTD_H + #include ++#endif + #include + + #include "xkbcommon/xkbcommon.h" +diff --git a/tools/tools-common.c b/tools/tools-common.c +index 8eb3f4b..8b22307 100644 +--- a/tools/tools-common.c ++++ b/tools/tools-common.c +@@ -42,6 +42,7 @@ + #ifdef _WIN32 + #include + #include ++#include + #else + #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/portfile.cmake b/ports/libxkbcommon/portfile.cmake new file mode 100644 index 00000000000000..b42574867490ff --- /dev/null +++ b/ports/libxkbcommon/portfile.cmake @@ -0,0 +1,56 @@ +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() + +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 build.patch) +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO xkbcommon/libxkbcommon + REF "xkbcommon-${VERSION}" + SHA512 454fbb2861405ca957d64035e924c1bbb7d43db7867903963fc053b7ecb64a8fba89a21cc8ac18ebeec9b61ae0789fb88c52521a850dc371857f28b08e80167b + HEAD_REF master + PATCHES + disable-test.patch + ${PATCHES} +) + +vcpkg_find_acquire_program(FLEX) +get_filename_component(FLEX_DIR "${FLEX}" DIRECTORY ) +vcpkg_add_to_path(PREPEND "${FLEX_DIR}") + +vcpkg_find_acquire_program(BISON) +get_filename_component(BISON_DIR "${BISON}" DIRECTORY ) +vcpkg_add_to_path(PREPEND "${BISON_DIR}") + +set(OPTIONS "") +if(VCPKG_TARGET_IS_WINDOWS) + set(OPTIONS -Denable-xkbregistry=false) +endif() + +vcpkg_configure_meson( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${OPTIONS} + -Denable-wayland=false + -Denable-docs=false + -Denable-tools=false +) +vcpkg_install_meson() +vcpkg_fixup_pkgconfig() +vcpkg_copy_pdbs() + +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" "${CURRENT_PACKAGES_DIR}/debug/bin") +endif() + +# Handle copyright +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") +endif() diff --git a/ports/libxkbcommon/vcpkg.json b/ports/libxkbcommon/vcpkg.json new file mode 100644 index 00000000000000..30e85a783f36b3 --- /dev/null +++ b/ports/libxkbcommon/vcpkg.json @@ -0,0 +1,21 @@ +{ + "name": "libxkbcommon", + "version": "1.7.0", + "description": "keymap handling library for toolkits and window systems", + "homepage": "https://xkbcommon.org/", + "license": null, + "dependencies": [ + "getopt", + "libx11", + { + "name": "vcpkg-tool-meson", + "host": true + }, + { + "name": "wayland", + "platform": "linux" + }, + "xcb", + "xcb-render-util" + ] +} diff --git a/ports/libxkbfile/fix_u_char.patch b/ports/libxkbfile/fix_u_char.patch new file mode 100644 index 00000000000000..4e20ce02dcfd6e --- /dev/null +++ b/ports/libxkbfile/fix_u_char.patch @@ -0,0 +1,15 @@ +diff --git a/src/xkbmisc.c b/src/xkbmisc.c +index 2f9b532e6..8be8dd508 100644 +--- a/src/xkbmisc.c ++++ b/src/xkbmisc.c +@@ -688,7 +688,9 @@ XkbNameMatchesPattern(char *name, char *ptrn) + _X_HIDDEN int + _XkbStrCaseCmp(char *str1, char *str2) + { +- const u_char *us1 = (const u_char *) str1, *us2 = (const u_char *) str2; ++ typedef unsigned char u_char; ++ const u_char *us1 = (const u_char *) str1; ++ const u_char *us2 = (const u_char *) str2; + + while (tolower(*us1) == tolower(*us2)) { + if (*us1++ == '\0') diff --git a/ports/libxkbfile/portfile.cmake b/ports/libxkbfile/portfile.cmake new file mode 100644 index 00000000000000..78b0eaa248ba49 --- /dev/null +++ b/ports/libxkbfile/portfile.cmake @@ -0,0 +1,41 @@ +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() + +set(PATCHES "") +if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + set(PATCHES symbol_visibility.patch) + list(APPEND VCPKG_C_FLAGS " /DXKBFILE_BUILD") + list(APPEND VCPKG_CXX_FLAGS " /DXKBFILE_BUILD") +endif() + +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.freedesktop.org/xorg + OUT_SOURCE_PATH SOURCE_PATH + REPO lib/libxkbfile + REF 261992d42905f209cd5bf6afcf8a7ae3aa30b3ff #1.1.0 + SHA512 5be520e408d25331c9a97648f2a6fa832f0d4f49f93f71490b89746da0fbbda404eaab3797c5fbe195287dc94581a6703fa4ecc2511e046127af057eab60378f + HEAD_REF master + PATCHES fix_u_char.patch + ${PATCHES} +) + +set(ENV{ACLOCAL} "aclocal -I \"${CURRENT_INSTALLED_DIR}/share/xorg/aclocal/\"") + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG +) + +vcpkg_install_make() +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +# Handle copyright +file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/share/${PORT}/") +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}/" RENAME copyright) +endif() + diff --git a/ports/libxkbfile/symbol_visibility.patch b/ports/libxkbfile/symbol_visibility.patch new file mode 100644 index 00000000000000..103442160b5c25 --- /dev/null +++ b/ports/libxkbfile/symbol_visibility.patch @@ -0,0 +1,24 @@ +diff --git a/include/X11/extensions/XKBfile.h b/include/X11/extensions/XKBfile.h +index 1455463e6..5bcabdd14 100644 +--- a/include/X11/extensions/XKBfile.h ++++ b/include/X11/extensions/XKBfile.h +@@ -83,10 +83,15 @@ typedef void (*XkbFileAddOnFunc)( + #define _XkbErrXReqFailure 25 + #define _XkbErrBadImplementation 26 + +-extern const char * _XkbErrMessages[]; +-extern unsigned _XkbErrCode; +-extern const char * _XkbErrLocation; +-extern unsigned _XkbErrData; ++#if defined(_MSC_VER) && !defined(XKBFILE_BUILD) ++#define XKBFILE_EXTERN __declspec(dllimport) extern ++#else ++#define XKBFILE_EXTERN extern ++#endif ++XKBFILE_EXTERN const char * _XkbErrMessages[]; ++XKBFILE_EXTERN unsigned _XkbErrCode; ++XKBFILE_EXTERN const char * _XkbErrLocation; ++XKBFILE_EXTERN unsigned _XkbErrData; + + /***====================================================================***/ + diff --git a/ports/libxkbfile/vcpkg.json b/ports/libxkbfile/vcpkg.json new file mode 100644 index 00000000000000..b1f41147d7a147 --- /dev/null +++ b/ports/libxkbfile/vcpkg.json @@ -0,0 +1,12 @@ +{ + "name": "libxkbfile", + "version": "1.1.0", + "description": "XKB file handling routines", + "homepage": "https://gitlab.freedesktop.org/xorg/lib/libxkbfile", + "license": null, + "dependencies": [ + "libx11", + "xorg-macros", + "xproto" + ] +} diff --git a/ports/libxlsxwriter/dependencies.diff b/ports/libxlsxwriter/dependencies.diff new file mode 100644 index 00000000000000..27f26380ae2008 --- /dev/null +++ b/ports/libxlsxwriter/dependencies.diff @@ -0,0 +1,26 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 0e855c77..36ea4195 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -230,8 +230,8 @@ message("zlib version: " ${ZLIB_VERSION}) + + # MINIZIP + if (USE_SYSTEM_MINIZIP) +- 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) + endif() + + # LIBRARY +diff --git a/dev/release/pkg-config.txt b/dev/release/pkg-config.txt +index a87d080..fa58047 100644 +--- a/dev/release/pkg-config.txt ++++ b/dev/release/pkg-config.txt +@@ -7,4 +7,5 @@ Name: libxlsxwriter + Description: A C library for creating Excel XLSX files + Version: @VERSION@ + Cflags: -I${includedir} +-Libs: -L${libdir} -lxlsxwriter -lz ++Libs: -L${libdir} -lxlsxwriter ++Requires.private: minizip zlib diff --git a/ports/libxlsxwriter/portfile.cmake b/ports/libxlsxwriter/portfile.cmake index b95032196f2b49..ab56ec4e0d14a3 100644 --- a/ports/libxlsxwriter/portfile.cmake +++ b/ports/libxlsxwriter/portfile.cmake @@ -1,20 +1,23 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO jmcnamara/libxlsxwriter - REF RELEASE_1.1.4 - SHA512 fad36f7882fcb21b87e13cf603022cfad3f14e6f955a06e2771712facd0fe12f83f4d1655dc1a744724bda1ac83af7e7bf1393457c5507d8983f63002ab294b5 - HEAD_REF master + REF "v${VERSION}" + SHA512 4d1df3b66e694629025ba4154a746d896f9fa32c727267cfbeacf72a3fc70d1b34c7bc767a03bca81395bbe2ff366fc4f4184c2c40126bc6b2d58b33a758cc8f + HEAD_REF main + PATCHES + dependencies.diff ) +file(REMOVE_RECURSE "${SOURCE_PATH}/third_party/minizip") +set(USE_WINDOWSSTORE OFF) if (VCPKG_TARGET_IS_UWP) - set(USE_WINDOWSSTORE ON) -else() - set(USE_WINDOWSSTORE OFF) + set(USE_WINDOWSSTORE ON) endif() vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS + -DUSE_SYSTEM_MINIZIP=1 -DWINDOWSSTORE=${USE_WINDOWSSTORE} ) @@ -24,5 +27,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/libxlsxwriter/vcpkg.json b/ports/libxlsxwriter/vcpkg.json index f72992f7879d96..e6b7e178159b47 100644 --- a/ports/libxlsxwriter/vcpkg.json +++ b/ports/libxlsxwriter/vcpkg.json @@ -1,9 +1,12 @@ { "name": "libxlsxwriter", - "version-semver": "1.1.4", + "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": "BSD-2-Clause", "dependencies": [ + "minizip", { "name": "vcpkg-cmake", "host": true diff --git a/ports/libxml2/disable-docs.patch b/ports/libxml2/disable-docs.patch new file mode 100644 index 00000000000000..848961429d65e5 --- /dev/null +++ b/ports/libxml2/disable-docs.patch @@ -0,0 +1,20 @@ +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/ports/libxml2/fix-uwp.patch b/ports/libxml2/fix-uwp.patch deleted file mode 100644 index ce57a9ed1237c4..00000000000000 --- a/ports/libxml2/fix-uwp.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 9b45d62..ba8bfec 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -129,6 +129,7 @@ endif() - - if(MSVC) - configure_file(include/win32config.h config.h COPYONLY) -+ add_compile_options(/wd4996) - else() - check_c_source_compiles(" - void __attribute__((destructor)) diff --git a/ports/libxml2/fix_cmakelist.patch b/ports/libxml2/fix_cmakelist.patch index b98ca86eca16e2..7be171290410cb 100644 --- a/ports/libxml2/fix_cmakelist.patch +++ b/ports/libxml2/fix_cmakelist.patch @@ -1,16 +1,8 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index a437717ba..0a11039d1 100644 +index 9701bdc..39e96ee 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -1,6 +1,6 @@ - cmake_minimum_required(VERSION 3.15) - --project(libxml2 VERSION 2.9.10 LANGUAGES C) -+project(libxml2 VERSION 2.9.12 LANGUAGES C) - - include(CheckCSourceCompiles) - include(CheckFunctionExists) -@@ -465,15 +465,15 @@ endif() +@@ -393,15 +393,15 @@ endif() if(LIBXML2_WITH_ICU) target_link_libraries(LibXml2 PRIVATE ICU::data ICU::i18n ICU::uc) if(WIN32) @@ -29,7 +21,7 @@ index a437717ba..0a11039d1 100644 endif() if(LIBXML2_WITH_THREADS) -@@ -483,7 +483,7 @@ endif() +@@ -411,7 +411,7 @@ endif() if(LIBXML2_WITH_ZLIB) target_link_libraries(LibXml2 PRIVATE ZLIB::ZLIB) @@ -38,11 +30,10 @@ index a437717ba..0a11039d1 100644 endif() set_target_properties( -@@ -495,24 +495,9 @@ set_target_properties( - PREFIX lib - VERSION ${PROJECT_VERSION} +@@ -425,23 +425,9 @@ set_target_properties( + SOVERSION ${LIBXML_MAJOR_VERSION} ) -- + +set(XML_LIB_NAME xml2) if(MSVC) - if(BUILD_SHARED_LIBS) @@ -61,11 +52,11 @@ index a437717ba..0a11039d1 100644 - RELWITHDEBINFO_POSTFIX s - ) - endif() -+ set(XML_LIB_NAME libxml2) ++ set(XML_LIB_NAME libxml2) endif() install(FILES ${LIBXML2_HDRS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/libxml2/libxml COMPONENT development) -@@ -659,30 +644,30 @@ install(DIRECTORY doc/ DESTINATION ${CMAKE_INSTALL_DATADIR}/doc/libxml2 COMPONEN +@@ -574,30 +560,30 @@ endif() configure_package_config_file( libxml2-config.cmake.cmake.in libxml2-config.cmake @@ -101,19 +92,28 @@ index a437717ba..0a11039d1 100644 NAMESPACE LibXml2:: FILE libxml2-export.cmake COMPONENT development +@@ -635,9 +621,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)/..") + 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 2653a7c56..d1bff5bcc 100644 +index 88e3963b..0d1706c9 100644 --- a/libxml-2.0.pc.in +++ b/libxml-2.0.pc.in -@@ -7,7 +7,8 @@ modules=@WITH_MODULES@ - Name: libXML +@@ -8,6 +8,7 @@ Name: libXML Version: @VERSION@ Description: libXML library version2. --Requires: --Libs: -L${libdir} -lxml2 --Libs.private: @ICU_LIBS@ @THREAD_LIBS@ @Z_LIBS@ @LZMA_LIBS@ @ICONV_LIBS@ @M_LIBS@ @WIN32_EXTRA_LIBADD@ @LIBS@ -+Requires: + 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@ @M_LIBS@ @WIN32_EXTRA_LIBADD@ @LIBS@ ++Libs.private: @THREAD_LIBS@ @ICONV_LIBS@ @LIBM@ @WINSOCK_LIBS@ @LIBS@ Cflags: @XML_INCLUDEDIR@ @XML_CFLAGS@ diff --git a/ports/libxml2/portfile.cmake b/ports/libxml2/portfile.cmake index 931dc7756d9f8c..ff760b0708d20b 100644 --- a/ports/libxml2/portfile.cmake +++ b/ports/libxml2/portfile.cmake @@ -2,43 +2,35 @@ vcpkg_from_gitlab( GITLAB_URL https://gitlab.gnome.org/ OUT_SOURCE_PATH SOURCE_PATH REPO GNOME/libxml2 - REF b48e77cf4f6fa0792c5f4b639707a2b0675e461b - SHA512 2d20867961b8d8a0cb0411192146882b976c1276d2e8ecd9a7ee3f1eb287f64e59282736f58c641b66abf63ba45c9421f27e13ec09a0b10814cd56987b18cb5b + REF "v${VERSION}" + SHA512 3f2de446657bf3c23c92358ce8946f59253b9fcc09577b59eecaffdbd97e051659855c79f4882ee9f8841dd194b6bd5de2a8017691473b505e905b9dde6a1bc9 HEAD_REF master - PATCHES + PATCHES + disable-docs.patch fix_cmakelist.patch - fix-uwp.patch ) -if (VCPKG_TARGET_IS_UWP) - message(WARNING "Feature network couldn't be enabled on UWP, disable http and ftp automatically.") - set(ENABLE_NETWORK 0) -else() - set(ENABLE_NETWORK 1) -endif() - vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES - "tools" LIBXML2_WITH_PROGRAMS + "ftp" LIBXML2_WITH_FTP + "http" LIBXML2_WITH_HTTP + "iconv" LIBXML2_WITH_ICONV + "legacy" LIBXML2_WITH_LEGACY + "lzma" LIBXML2_WITH_LZMA + "zlib" LIBXML2_WITH_ZLIB + "tools" LIBXML2_WITH_PROGRAMS + "icu" LIBXML2_WITH_ICU ) vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${FEATURE_OPTIONS} -DLIBXML2_WITH_TESTS=OFF - -DLIBXML2_WITH_HTTP=${ENABLE_NETWORK} - -DLIBXML2_WITH_FTP=${ENABLE_NETWORK} -DLIBXML2_WITH_HTML=ON -DLIBXML2_WITH_C14N=ON -DLIBXML2_WITH_CATALOG=ON - -DLIBXML2_WITH_DEBUG=ON - -DLIBXML2_WITH_DOCB=ON - -DLIBXML2_WITH_ICONV=ON - -DLIBXML2_WITH_ISO8859X=ON - -DLIBXML2_WITH_ZLIB=ON - -DLIBXML2_WITH_ICU=OFF # Culprit of linkage issues? Solving this is probably another PR - -DLIBXML2_WITH_LZMA=ON - -DLIBXML2_WITH_LEGACY=ON + -DLIBXML2_WITH_DEBUG=ON + -DLIBXML2_WITH_ISO8859X=ON -DLIBXML2_WITH_MEM_DEBUG=OFF -DLIBXML2_WITH_MODULES=ON -DLIBXML2_WITH_OUTPUT=ON @@ -47,7 +39,6 @@ vcpkg_cmake_configure( -DLIBXML2_WITH_PYTHON=OFF -DLIBXML2_WITH_READER=ON -DLIBXML2_WITH_REGEXPS=ON - -DLIBXML2_WITH_RUN_DEBUG=OFF -DLIBXML2_WITH_SAX1=ON -DLIBXML2_WITH_SCHEMAS=ON -DLIBXML2_WITH_SCHEMATRON=ON @@ -63,19 +54,19 @@ vcpkg_cmake_configure( vcpkg_cmake_install() -vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/libxml2) +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/libxml2") vcpkg_fixup_pkgconfig() vcpkg_copy_pdbs() -configure_file("${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" "${CURRENT_PACKAGES_DIR}/share/${PORT}/vcpkg-cmake-wrapper.cmake" @ONLY) - if("tools" IN_LIST FEATURES) vcpkg_copy_tools(TOOL_NAMES xmllint xmlcatalog AUTO_CLEAN) endif() + if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") endif() + if(VCPKG_LIBRARY_LINKAGE STREQUAL static) set(_file "${CURRENT_PACKAGES_DIR}/include/libxml2/libxml/xmlexports.h") file(READ "${_file}" _contents) @@ -83,12 +74,16 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL static) file(WRITE "${_file}" "${_contents}") endif() -file(COPY "${CURRENT_PACKAGES_DIR}/include/libxml2/" DESTINATION "${CURRENT_PACKAGES_DIR}/include") # TODO: Fix usage in all dependent ports hardcoding the wrong include path. - -file(COPY "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -file(INSTALL "${SOURCE_PATH}/Copyright" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +file(COPY "${CURRENT_PACKAGES_DIR}/include/libxml2/" DESTINATION "${CURRENT_PACKAGES_DIR}/include") # TODO: Fix usage in all dependent ports hardcoding the wrong include path. -#Cleanup +# Cleanup file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/xml2Conf.sh" "${CURRENT_PACKAGES_DIR}/debug/lib/xml2Conf.sh") \ No newline at end of file +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/xml2Conf.sh" "${CURRENT_PACKAGES_DIR}/debug/lib/xml2Conf.sh") + +file(COPY + "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" + "${CMAKE_CURRENT_LIST_DIR}/usage" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" +) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/Copyright") diff --git a/ports/libxml2/usage b/ports/libxml2/usage index c77cdbce5dd551..c7a4878e9b9601 100644 --- a/ports/libxml2/usage +++ b/ports/libxml2/usage @@ -1,4 +1,4 @@ The package libxml2 is compatible with built-in CMake targets: - find_package(LibXml2 CONFIG REQUIRED) + find_package(LibXml2 REQUIRED) target_link_libraries(main PRIVATE LibXml2::LibXml2) diff --git a/ports/libxml2/vcpkg-cmake-wrapper.cmake b/ports/libxml2/vcpkg-cmake-wrapper.cmake index f80be639addbc8..705f22c6a35d69 100644 --- a/ports/libxml2/vcpkg-cmake-wrapper.cmake +++ b/ports/libxml2/vcpkg-cmake-wrapper.cmake @@ -1,49 +1,3 @@ -_find_package(${ARGS}) -if(LibXml2_FOUND) - list(APPEND LIBXML2_INCLUDE_DIRS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include") - list(APPEND LIBXML2_INCLUDE_DIR "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include") # This is wrong but downstream doesn't correctly use _DIR vs _DIRS variables - if(TARGET LibXml2::LibXml2) - target_include_directories(LibXml2::LibXml2 INTERFACE "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include") - endif() -endif() -if(LibXml2_FOUND AND "@VCPKG_LIBRARY_LINKAGE@" STREQUAL "static" AND NOT ${ARGV0}_CONFIG) - find_package(LibLZMA) - find_package(ZLIB) - find_package(Iconv) - include(SelectLibraryConfigurations) - find_library(LIBXML2_LIBRARY_DEBUG NAMES xml2 libxml2 xml2s libxml2s xml2d libxml2d xml2sd libxml2sd NAMES_PER_DIR PATH_SUFFIXES lib PATHS "${_INSTALLED_DIR}/debug" NO_DEFAULT_PATH) - find_library(LIBXML2_LIBRARY_RELEASE NAMES xml2 libxml2 xml2s libxml2s NAMES_PER_DIR PATH_SUFFIXES lib PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}" NO_DEFAULT_PATH) - unset(LIBXML2_LIBRARIES) - unset(LIBXML2_LIBRARY CACHE) - select_library_configurations(LIBXML2) - list(APPEND LIBXML2_LIBRARIES ${LIBLZMA_LIBRARIES} ${ZLIB_LIBRARIES}) - if(Iconv_LIBRARIES) - list(APPEND LIBXML2_LIBRARIES ${Iconv_LIBRARIES}) - endif() - if(TARGET LibXml2::LibXml2 AND LIBXML2_LIBRARY_RELEASE) - set_target_properties(LibXml2::LibXml2 PROPERTIES IMPORTED_LOCATION_RELEASE "${LIBXML2_LIBRARY_RELEASE}") - endif() - if(TARGET LibXml2::LibXml2 AND LIBXML2_LIBRARY_DEBUG) - set_target_properties(LibXml2::LibXml2 PROPERTIES IMPORTED_LOCATION_DEBUG "${LIBXML2_LIBRARY_DEBUG}") - endif() - cmake_policy(PUSH) - cmake_policy(SET CMP0079 NEW) - if(CMAKE_SYSTEM_NAME STREQUAL "Linux") - list(APPEND LIBXML2_LIBRARIES m) - if(TARGET LibXml2::LibXml2) - set_property(TARGET LibXml2::LibXml2 APPEND PROPERTY INTERFACE_LINK_LIBRARIES "m") - endif() - elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows") - list(APPEND LIBXML2_LIBRARIES ws2_32) - if(TARGET LibXml2::LibXml2) - set_property(TARGET LibXml2::LibXml2 APPEND PROPERTY INTERFACE_LINK_LIBRARIES "ws2_32") - endif() - endif() - if(TARGET LibXml2::LibXml2) - set_property(TARGET LibXml2::LibXml2 APPEND PROPERTY INTERFACE_LINK_LIBRARIES "liblzma::liblzma" "ZLIB::ZLIB") - if(TARGET Iconv::Iconv) - set_property(TARGET LibXml2::LibXml2 APPEND PROPERTY INTERFACE_LINK_LIBRARIES "Iconv::Iconv") - endif() - endif() - cmake_policy(POP) -endif() +list(REMOVE_ITEM ARGS "NO_MODULE" "CONFIG" "MODULE") +_find_package(${ARGS} CONFIG) +set(LIBXML2_FOUND "${LibXml2_FOUND}") # fphsa compatibility diff --git a/ports/libxml2/vcpkg.json b/ports/libxml2/vcpkg.json index 68cb1e3eb4da44..2004a274e94571 100644 --- a/ports/libxml2/vcpkg.json +++ b/ports/libxml2/vcpkg.json @@ -1,12 +1,10 @@ { "name": "libxml2", - "version-semver": "2.9.12", - "port-version": 4, + "version": "2.11.9", "description": "Libxml2 is the XML C parser and toolkit developed for the Gnome project (but usable outside of the Gnome platform).", - "homepage": "https://xmlsoft.org/", + "homepage": "https://gitlab.gnome.org/GNOME/libxml2/-/wikis/home", + "license": "MIT", "dependencies": [ - "libiconv", - "liblzma", { "name": "vcpkg-cmake", "host": true @@ -14,12 +12,51 @@ { "name": "vcpkg-cmake-config", "host": true - }, + } + ], + "default-features": [ + "iconv", + "lzma", "zlib" ], "features": { + "ftp": { + "description": "Add the FTP support", + "supports": "!uwp" + }, + "http": { + "description": "Add the HTTP support", + "supports": "!uwp" + }, + "iconv": { + "description": "Add ICONV support", + "dependencies": [ + "libiconv" + ] + }, + "icu": { + "description": "Add ICU support", + "dependencies": [ + "icu" + ] + }, + "legacy": { + "description": "Add deprecated APIs for compatibility" + }, + "lzma": { + "description": "Use LZMA", + "dependencies": [ + "liblzma" + ] + }, "tools": { "description": "Build tools" + }, + "zlib": { + "description": "Use ZLib", + "dependencies": [ + "zlib" + ] } } } diff --git a/ports/libxmlmm/CMakeLists.txt b/ports/libxmlmm/CMakeLists.txt index 721641a64be0bc..98b281ff548a4c 100644 --- a/ports/libxmlmm/CMakeLists.txt +++ b/ports/libxmlmm/CMakeLists.txt @@ -1,9 +1,6 @@ cmake_minimum_required(VERSION 3.8) project(libxmlmm CXX) -set(CMAKE_SHARED_LIBRARY_PREFIX) -set(CMAKE_STATIC_LIBRARY_PREFIX) - find_package(LibXml2 REQUIRED) set(HEADERS_LIBXMLMM @@ -38,22 +35,29 @@ set(SOURCES_LIBXMLMM ) add_library(libxmlmm ${SOURCES_LIBXMLMM}) -include_directories(${LIBXML2_INCLUDE_DIR}) -target_link_libraries (libxmlmm ${LIBXML2_LIBRARIES}) +target_link_libraries (libxmlmm PUBLIC LibXml2::LibXml2) set_target_properties(libxmlmm PROPERTIES CXX_STANDARD 17 PUBLIC_HEADER "${HEADERS_LIBXMLMM}" + OUTPUT_NAME xmlmm ) target_include_directories(libxmlmm PUBLIC $ $) -install(TARGETS ${PROJECT_NAME} - EXPORT litehtmlTargets +install(TARGETS libxmlmm + EXPORT unofficial-libxmlmm-targets RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib PUBLIC_HEADER DESTINATION include/libxmlmm ) +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 552bd6cb2436bf..c13f65f56416c8 100644 --- a/ports/libxmlmm/portfile.cmake +++ b/ports/libxmlmm/portfile.cmake @@ -5,19 +5,22 @@ vcpkg_from_github( SHA512 4f619e730de2f88b891ef31dd7ced2e6be75fff7f3852ec178843bf8d099d2e1ea84e0fcde35ff7fefc201b026f63e4b5d55f88e48334c49a0333be0327894df HEAD_REF master ) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DVERSION=${VERSION} ) - -vcpkg_install_cmake() - -# Handle copyright -configure_file(${SOURCE_PATH}/README.md ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) - +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) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +file(READ "${SOURCE_PATH}/README.md" readme) +string(REGEX REPLACE "^.*## Copying\n" "" copyright "${readme}") +file(WRITE "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" "${copyright}") diff --git a/ports/libxmlmm/unofficial-libxmlmm-config.cmake b/ports/libxmlmm/unofficial-libxmlmm-config.cmake new file mode 100644 index 00000000000000..b56118b35bb306 --- /dev/null +++ b/ports/libxmlmm/unofficial-libxmlmm-config.cmake @@ -0,0 +1,3 @@ +include(CMakeFindDependencyMacro) +find_dependency(LibXml2) +include("${CMAKE_CURRENT_LIST_DIR}/unofficial-libxmlmm-targets.cmake") diff --git a/ports/libxmlmm/vcpkg.json b/ports/libxmlmm/vcpkg.json index 03fdcba58d95d3..488051ae46420a 100644 --- a/ports/libxmlmm/vcpkg.json +++ b/ports/libxmlmm/vcpkg.json @@ -1,10 +1,22 @@ { "name": "libxmlmm", - "version-string": "0.6.0", - "port-version": 1, + "version": "0.6.0", + "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 + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/libxmlpp/portfile.cmake b/ports/libxmlpp/portfile.cmake index 1620e79b38995d..7a8861a313d263 100644 --- a/ports/libxmlpp/portfile.cmake +++ b/ports/libxmlpp/portfile.cmake @@ -1,14 +1,13 @@ -#..\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_ex( - OUT_SOURCE_PATH SOURCE_PATH +vcpkg_extract_source_archive( + SOURCE_PATH ARCHIVE "${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 c5f74dfbff22b9..7cae0a468625b2 100644 --- a/ports/libxmlpp/vcpkg.json +++ b/ports/libxmlpp/vcpkg.json @@ -1,11 +1,18 @@ { "name": "libxmlpp", - "version": "5.0.0", - "port-version": 1, - "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/libxmp-lite/0001-msvc-buildfix.patch b/ports/libxmp-lite/0001-msvc-buildfix.patch deleted file mode 100644 index dfd548186c6d1d..00000000000000 --- a/ports/libxmp-lite/0001-msvc-buildfix.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff -Naur .\libxmp-lite-4.4.1/src/common.h .\libxmp-lite-4.4.1-orig/src/common.h ---- a/src/common.h 2016-07-16 13:37:36 +0200 -+++ b/src/common.h 2017-05-23 00:52:17 +0200 -@@ -77,19 +77,12 @@ - #ifndef CLIB_DECL - #define CLIB_DECL - #endif --#ifdef DEBUG --#ifndef ATTR_PRINTF --#define ATTR_PRINTF(x,y) --#endif --void CLIB_DECL D_(const char *text, ...) ATTR_PRINTF(1,2); --#else - // VS prior to VC7.1 does not support variadic macros. VC8.0 does not optimize unused parameters passing - #if _MSC_VER < 1400 - void __inline CLIB_DECL D_(const char *text, ...) { do {} while (0); } - #else - #define D_(args, ...) do {} while (0) - #endif --#endif - - #elif defined __ANDROID__ - diff --git a/ports/libxmp-lite/0002-fix-symbols.patch b/ports/libxmp-lite/0002-fix-symbols.patch deleted file mode 100644 index f765a7bf0ca453..00000000000000 --- a/ports/libxmp-lite/0002-fix-symbols.patch +++ /dev/null @@ -1,44 +0,0 @@ -diff --git a/lite/src/format.c b/lite/src/format.c ---- a/src/format.c -+++ b/src/format.c -@@ -27,20 +27,20 @@ - #endif - #include "format.h" - --extern const struct format_loader xm_loader; --extern const struct format_loader mod_loader; --extern const struct format_loader it_loader; --extern const struct format_loader s3m_loader; -+extern const struct format_loader libxmp_loader_xm; -+extern const struct format_loader libxmp_loader_mod; -+extern const struct format_loader libxmp_loader_it; -+extern const struct format_loader libxmp_loader_s3m; - - extern const struct pw_format *const pw_format[]; - - const struct format_loader *const format_loader[5] = { -- &xm_loader, -- &mod_loader, -+ &libxmp_loader_xm, -+ &libxmp_loader_mod, - #ifndef LIBXMP_CORE_DISABLE_IT -- &it_loader, -+ &libxmp_loader_it, - #endif -- &s3m_loader, -+ &libxmp_loader_s3m, - NULL - }; - -diff --git a/lite/src/loaders/mod_load.c b/lite/src/loaders/mod_load.c ---- a/src/loaders/mod_load.c -+++ b/src/loaders/mod_load.c -@@ -36,7 +36,7 @@ - static int mod_test (HIO_HANDLE *, char *, const int); - static int mod_load (struct module_data *, HIO_HANDLE *, const int); - --const struct format_loader mod_loader = { -+const struct format_loader libxmp_loader_mod = { - "Protracker", - mod_test, - mod_load diff --git a/ports/libxmp-lite/CMakeLists.txt b/ports/libxmp-lite/CMakeLists.txt deleted file mode 100644 index e1f14f377971ef..00000000000000 --- a/ports/libxmp-lite/CMakeLists.txt +++ /dev/null @@ -1,63 +0,0 @@ -cmake_minimum_required(VERSION 3.4) -project(libxmp-lite) - -set(HEADERS "include/libxmp-lite/xmp.h") - -set(SOURCES src/virtual.c - src/format.c - src/period.c - src/player.c - src/read_event.c - src/dataio.c - src/lfo.c - src/scan.c - src/control.c - src/filter.c - src/effects.c - src/mixer.c - src/mix_all.c - src/load_helpers.c - src/load.c - src/hio.c - src/smix.c - src/memio.c - src/loaders/common.c - src/loaders/itsex.c - src/loaders/sample.c - src/loaders/xm_load.c - src/loaders/mod_load.c - src/loaders/s3m_load.c - src/loaders/it_load.c -) - -include_directories(include/libxmp-lite src) - -option(BUILD_SHARED_LIBS "Build shared libs" OFF) -if(CMAKE_BUILD_TYPE STREQUAL "Debug") - option(INSTALL_HEADERS "Install header files" OFF) -else() - option(INSTALL_HEADERS "Install header files" ON) -endif() - -add_library(libxmp-lite ${SOURCES}) -target_compile_definitions(libxmp-lite PRIVATE - LIBXMP_CORE_PLAYER=1 - inline=__inline - _USE_MATH_DEFINES=1 -) - -# Fix UWP /sdl compile errors -# Disable C4703: Not initialized -# Disable C4996: Deprecated -set_target_properties(libxmp-lite PROPERTIES COMPILE_FLAGS "/wd4703 /wd4996") - -install( - TARGETS libxmp-lite - ARCHIVE DESTINATION lib - LIBRARY DESTINATION lib - RUNTIME DESTINATION bin -) - -if(INSTALL_HEADERS) - install(FILES ${HEADERS} DESTINATION include) -endif() diff --git a/ports/libxmp-lite/portfile.cmake b/ports/libxmp-lite/portfile.cmake deleted file mode 100644 index 4f3ce633990655..00000000000000 --- a/ports/libxmp-lite/portfile.cmake +++ /dev/null @@ -1,23 +0,0 @@ -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - -vcpkg_from_sourceforge( - OUT_SOURCE_PATH SOURCE_PATH - REPO xmp/libxmp - REF 4.4.1 - FILENAME "libxmp-lite-4.4.1.tar.gz" - SHA512 f27e3f9fb79ff15ce90b51fb29641c01cadf7455150da57cde6860c2ba075ed497650eb44ec9143bdd3538288228c609f7db6d862c9d73f007f686eccb05543e - PATCHES - 0001-msvc-buildfix.patch - 0002-fix-symbols.patch -) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA -) - -vcpkg_install_cmake() -vcpkg_copy_pdbs() - -file(INSTALL ${SOURCE_PATH}/README DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/libxmp-lite/vcpkg.json b/ports/libxmp-lite/vcpkg.json deleted file mode 100644 index ec4ffce7847984..00000000000000 --- a/ports/libxmp-lite/vcpkg.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "name": "libxmp-lite", - "version-string": "4.4.1", - "port-version": 7, - "description": "Lightweight version of libxmp that supports MOD, S3M, XM and IT modules.", - "homepage": "https://sourceforge.net/projects/xmp/" -} diff --git a/ports/libxmp/fix-cmake-config-dir.patch b/ports/libxmp/fix-cmake-config-dir.patch new file mode 100644 index 00000000000000..95c35d95e6559f --- /dev/null +++ b/ports/libxmp/fix-cmake-config-dir.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1794cb2c1534d53d502785e0446d302e5439216a..c960405632c0d1b4797470424fce4ff8a7ec1aef 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -170,7 +170,7 @@ add_subdirectory(docs) + + include(CMakePackageConfigHelpers) + +-if(WIN32) ++if(0) + set(cmake_install_cmakdir "cmake") + else() + set(cmake_install_cmakdir "${CMAKE_INSTALL_LIBDIR}/cmake/libxmp") diff --git a/ports/libxmp/portfile.cmake b/ports/libxmp/portfile.cmake new file mode 100644 index 00000000000000..47fcb1826ff6ac --- /dev/null +++ b/ports/libxmp/portfile.cmake @@ -0,0 +1,42 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO libxmp/libxmp + REF libxmp-${VERSION} + SHA512 5f7690e274f3857bd6889cd2ba637473f4a85359a6ef87c76313f87d0c725e3880ba6e428b542dbbf0c8a7725a87b5019289b3f19d2c5bb49527b380f1b4f7e4 + PATCHES + fix-cmake-config-dir.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 + INVERTED_FEATURES + depackers LIBXMP_DISABLE_DEPACKERS + prowizard LIBXMP_DISABLE_PROWIZARD +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} + -DBUILD_STATIC=${BUILD_STATIC} + -DBUILD_SHARED=${BUILD_SHARED} + -DLIBXMP_DOCS=OFF +) + +vcpkg_cmake_install() +vcpkg_copy_pdbs() + +vcpkg_cmake_config_fixup( + PACKAGE_NAME "libxmp" + CONFIG_PATH "lib/cmake/libxmp" +) + +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}/docs/COPYING.LIB") diff --git a/ports/libxmp/usage b/ports/libxmp/usage new file mode 100644 index 00000000000000..6dcd832f18ed74 --- /dev/null +++ b/ports/libxmp/usage @@ -0,0 +1,4 @@ +libxmp provides CMake targets: + + find_package(libxmp CONFIG REQUIRED) + target_link_libraries(main PRIVATE $,libxmp::xmp_shared,libxmp::xmp_static>) diff --git a/ports/libxmp/vcpkg.json b/ports/libxmp/vcpkg.json new file mode 100644 index 00000000000000..551016eefda247 --- /dev/null +++ b/ports/libxmp/vcpkg.json @@ -0,0 +1,31 @@ +{ + "name": "libxmp", + "version": "4.6.0", + "port-version": 1, + "description": "Libxmp is a library that renders module files to PCM data.", + "homepage": "https://sourceforge.net/projects/xmp/", + "license": "LGPL-2.1-or-later", + "supports": "!xbox", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "default-features": [ + "depackers", + "prowizard" + ], + "features": { + "depackers": { + "description": "Enable archive depackers." + }, + "prowizard": { + "description": "Enable ProWizard format loaders." + } + } +} diff --git a/ports/libxmu/cl-build.patch b/ports/libxmu/cl-build.patch new file mode 100644 index 00000000000000..d67d4a074c78aa --- /dev/null +++ b/ports/libxmu/cl-build.patch @@ -0,0 +1,14 @@ +diff --git a/src/EditresCom.c b/src/EditresCom.c +index 716a2b3c6..d570e19e4 100644 +--- a/src/EditresCom.c ++++ b/src/EditresCom.c +@@ -34,6 +34,9 @@ in this Software without prior written authorization from The Open Group. + #include /* To get into the composite and core widget + structures. */ + #include /* For XtIs macros. */ ++#ifdef _MSC_VER ++#define XTSTRINGDEFINES // Otherwise XtRImmediate is not a constant expression ++#endif + #include /* for XtRString. */ + #include /* for Application Shell Widget class. */ + diff --git a/ports/libxmu/portfile.cmake b/ports/libxmu/portfile.cmake new file mode 100644 index 00000000000000..41016c28e13830 --- /dev/null +++ b/ports/libxmu/portfile.cmake @@ -0,0 +1,36 @@ +if(NOT X_VCPKG_FORCE_VCPKG_X_LIBRARIES AND NOT VCPKG_TARGET_IS_WINDOWS) + message(STATUS "Utils and libraries provided by '${PORT}' should be provided by your system! Install the required packages or force vcpkg libraries by setting X_VCPKG_FORCE_VCPKG_X_LIBRARIES in your triplet!") + set(VCPKG_POLICY_EMPTY_PACKAGE enabled) +else() +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.freedesktop.org/xorg + OUT_SOURCE_PATH SOURCE_PATH + REPO lib/libxmu + REF e9efe2d027b4c46cf6834cc532222f8ad1d1d3c3 # 1.1.3 + SHA512 9d3ab7534afbb3d220ce846ecfc209536def28e707e68f393673bda6f92054e7a14212ae2400092afdc06bbb61d8315d460feaf5b551dc447390d6d952a5aa1f + HEAD_REF master # branch name + PATCHES cl-build.patch + unistd.patch +) + +set(ENV{ACLOCAL} "aclocal -I \"${CURRENT_INSTALLED_DIR}/share/xorg/aclocal/\"") + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG + OPTIONS + lt_cv_deplibs_check_method=pass_all +) + +vcpkg_install_make() +vcpkg_fixup_pkgconfig() + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic" AND VCPKG_TARGET_IS_WINDOWS) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/X11/Xmu/Atoms.h" "extern" "__declspec(dllimport) extern") +endif() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +endif() diff --git a/ports/libxmu/unistd.patch b/ports/libxmu/unistd.patch new file mode 100644 index 00000000000000..e570f130938b3d --- /dev/null +++ b/ports/libxmu/unistd.patch @@ -0,0 +1,15 @@ +diff --git a/src/GetHost.c b/src/GetHost.c +index 2f0bccded..2d698f664 100644 +--- a/src/GetHost.c ++++ b/src/GetHost.c +@@ -35,7 +35,10 @@ in this Software without prior written authorization from The Open Group. + #endif + #include + #include ++ ++#ifdef HAVE_UNISTD_H + #include ++#endif + + #ifdef WIN32 + #include diff --git a/ports/libxmu/vcpkg.json b/ports/libxmu/vcpkg.json new file mode 100644 index 00000000000000..4279ecd2cd11c0 --- /dev/null +++ b/ports/libxmu/vcpkg.json @@ -0,0 +1,14 @@ +{ + "name": "libxmu", + "version": "1.1.3", + "port-version": 1, + "description": "X miscellaneous utility routines library", + "homepage": "https://gitlab.freedesktop.org/xorg/lib/libxmu", + "license": null, + "dependencies": [ + "bzip2", + "libxext", + "libxt", + "xorg-macros" + ] +} diff --git a/ports/libxpm/fix-dependency-gettext.patch b/ports/libxpm/fix-dependency-gettext.patch new file mode 100644 index 00000000000000..05e31568e0fad3 --- /dev/null +++ b/ports/libxpm/fix-dependency-gettext.patch @@ -0,0 +1,15 @@ +diff --git a/configure.ac b/configure.ac +index 365544b..51bc0f2 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -30,7 +30,9 @@ PKG_CHECK_MODULES(SXPM, [x11 xt xext xextproto xproto >= 7.0.17], + AM_CONDITIONAL(BUILD_SXPM, test x$build_sxpm = xtrue) + + # Internationalization & localization support +-AC_SEARCH_LIBS([gettext], [intl], [USE_GETTEXT="yes"], [USE_GETTEXT="no"]) ++AC_ARG_WITH([gettext], AC_HELP_STRING([--with-gettext], ++ [Use gettext, default is no]), ++ [USE_GETTEXT=${withval}]) + AC_MSG_CHECKING([where to install localized messages]) + AC_ARG_WITH([localedir], AS_HELP_STRING([--with-localedir=], + [Path to install message files in (default: datadir/locale)]), diff --git a/ports/libxpm/portfile.cmake b/ports/libxpm/portfile.cmake new file mode 100644 index 00000000000000..0fe418a286932f --- /dev/null +++ b/ports/libxpm/portfile.cmake @@ -0,0 +1,46 @@ +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) + 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 30d473b6184d56643114ab1f7719f033ac5ecfd9fd46ebefc03db171a82a809d996046a039c922c184046310fc12a088467ca73740386b3e73b1e699bde78db7 + PATCHES + remove_strings_h.patch + fix-dependency-gettext.patch + strcasecmp.patch + subdirs.diff + tools.patch # will look for libxt otherwise +) + +set(ENV{ACLOCAL} "aclocal -I \"${CURRENT_INSTALLED_DIR}/share/xorg/aclocal/\"") + +if ("gettext" IN_LIST FEATURES) + set(EXTRA_OPTIONS --with-gettext=yes) +else() + set(EXTRA_OPTIONS --with-gettext=no) +endif() + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG + OPTIONS + ${EXTRA_OPTIONS} + ) + +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/libxpm/remove_strings_h.patch b/ports/libxpm/remove_strings_h.patch new file mode 100644 index 00000000000000..290796f0b5325e --- /dev/null +++ b/ports/libxpm/remove_strings_h.patch @@ -0,0 +1,14 @@ +diff --git a/src/XpmI.h b/src/XpmI.h +index 4360ad3b9..a8d78b0ba 100644 +--- a/src/XpmI.h ++++ b/src/XpmI.h +@@ -332,7 +332,9 @@ FUNC(xpmstrcasecmp, int, (char *s1, char *s2)); + #else + #undef xpmstrcasecmp + #define xpmstrcasecmp strcasecmp ++# if !defined(_MSC_VER) + #include ++# endif + #endif + + HFUNC(xpmatoui, unsigned int, diff --git a/ports/libxpm/strcasecmp.patch b/ports/libxpm/strcasecmp.patch new file mode 100644 index 00000000000000..cab168452bf4d5 --- /dev/null +++ b/ports/libxpm/strcasecmp.patch @@ -0,0 +1,15 @@ +diff --git a/include/X11/xpm.h b/include/X11/xpm.h +index f108f1f6e..143b6657d 100644 +--- a/include/X11/xpm.h ++++ b/include/X11/xpm.h +@@ -69,6 +69,10 @@ + # include + # include "simx.h" /* defines some X stuff using MSW types */ + #define NEED_STRCASECMP /* at least for MSVC++ */ ++#elif _MSC_VER ++#define strcasecmp _stricmp ++# include ++# include + #else /* FOR_MSW */ + # ifdef AMIGA + # include "amigax.h" 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/tools.patch b/ports/libxpm/tools.patch new file mode 100644 index 00000000000000..7b60eefc0e9218 --- /dev/null +++ b/ports/libxpm/tools.patch @@ -0,0 +1,16 @@ +diff --git a/configure.ac b/configure.ac +index 51bc0f2bc..e35dc6e17 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -25,9 +25,9 @@ AC_CHECK_FUNC([fork],[], AC_DEFINE(NO_ZPIPE)) + + # Obtain compiler/linker options for dependencies + PKG_CHECK_MODULES(XPM, xproto x11) +-PKG_CHECK_MODULES(SXPM, [x11 xt xext xextproto xproto >= 7.0.17], +- [build_sxpm=true], [build_sxpm=false]) ++# PKG_CHECK_MODULES(SXPM, [x11 xt xext xextproto xproto >= 7.0.17], ++# [build_sxpm=true], [build_sxpm=false]) + AM_CONDITIONAL(BUILD_SXPM, test x$build_sxpm = xtrue) + + # Internationalization & localization support + AC_ARG_WITH([gettext], AC_HELP_STRING([--with-gettext], diff --git a/ports/libxpm/vcpkg.json b/ports/libxpm/vcpkg.json new file mode 100644 index 00000000000000..1a5095f13cca7d --- /dev/null +++ b/ports/libxpm/vcpkg.json @@ -0,0 +1,28 @@ +{ + "name": "libxpm", + "version": "3.5.17", + "description": "XPM format pixmap library", + "homepage": "https://gitlab.freedesktop.org/xorg/lib/libxpm", + "license": "MIT", + "supports": "windows | linux", + "dependencies": [ + "libx11", + "xorg-macros", + "xproto" + ], + "features": { + "gettext": { + "description": "use xgettext to build source", + "dependencies": [ + { + "name": "gettext", + "host": true, + "features": [ + "tools" + ] + }, + "gettext-libintl" + ] + } + } +} diff --git a/ports/libxpresent/portfile.cmake b/ports/libxpresent/portfile.cmake new file mode 100644 index 00000000000000..ec6d970d60c33f --- /dev/null +++ b/ports/libxpresent/portfile.cmake @@ -0,0 +1,31 @@ +if(NOT X_VCPKG_FORCE_VCPKG_X_LIBRARIES AND NOT VCPKG_TARGET_IS_WINDOWS) + message(STATUS "Utils and libraries provided by '${PORT}' should be provided by your system! Install the required packages or force vcpkg libraries by setting X_VCPKG_FORCE_VCPKG_X_LIBRARIES in your triplet!") + set(VCPKG_POLICY_EMPTY_PACKAGE enabled) +else() + +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.freedesktop.org/xorg + OUT_SOURCE_PATH SOURCE_PATH + REPO lib/libxpresent + REF ced59e4373b7ad8f89ba222b3f489fb22050b991 # 1.0.0 + SHA512 3904af03ff03a5fca84e63ed92b53668b7d3c9b8572dc829016dbdc3176f3813f7731e519c2769ae84c4c105a4f5dec8378165f02f48d89354842c4dd8062328 + HEAD_REF master +) +file(MAKE_DIRECTORY "${SOURCE_PATH}/m4/") +file(TOUCH "${SOURCE_PATH}/m4/dummy") +set(ENV{ACLOCAL} "aclocal -I \"${CURRENT_INSTALLED_DIR}/share/xorg/aclocal/\"") + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG +) + +vcpkg_install_make() +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +# Handle copyright +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +endif() diff --git a/ports/libxpresent/vcpkg.json b/ports/libxpresent/vcpkg.json new file mode 100644 index 00000000000000..400e4fff948904 --- /dev/null +++ b/ports/libxpresent/vcpkg.json @@ -0,0 +1,16 @@ +{ + "name": "libxpresent", + "version": "1.0.0", + "description": "Xlib-based library for the X Present Extension", + "homepage": "https://gitlab.freedesktop.org/xorg/lib/libxpresent", + "license": null, + "dependencies": [ + "bzip2", + "libx11", + "libxext", + "libxfixes", + "libxrandr", + "xorg-macros", + "xproto" + ] +} diff --git a/ports/libxrandr/portfile.cmake b/ports/libxrandr/portfile.cmake new file mode 100644 index 00000000000000..229122bd7cc293 --- /dev/null +++ b/ports/libxrandr/portfile.cmake @@ -0,0 +1,35 @@ +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 the triplet!") + set(VCPKG_POLICY_EMPTY_PACKAGE enabled) +else() + +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.freedesktop.org/xorg + OUT_SOURCE_PATH SOURCE_PATH + REPO lib/libxrandr + REF 55dcda4518eda8ae03ef25ea29d3c994ad71eb0a # 1.5.2 + SHA512 63a3a7c5db8d41c73ef2f55e86a47bdae0112ac39802efa5da4fa26a8794066d6906d4a5e4e9af5abb5838a061f2583dc2b8865e38754ee3f2a8e3918de87168 + HEAD_REF master +) + +set(ENV{ACLOCAL} "aclocal -I \"${CURRENT_INSTALLED_DIR}/share/xorg/aclocal/\"") + +if (VCPKG_CROSSCOMPILING) + list(APPEND OPTIONS --enable-malloc0returnsnull) +endif() + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG + OPTIONS ${OPTIONS} +) + +vcpkg_install_make() +vcpkg_fixup_pkgconfig() + +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/${PORT}" RENAME copyright) +endif() diff --git a/ports/libxrandr/vcpkg.json b/ports/libxrandr/vcpkg.json new file mode 100644 index 00000000000000..0d769dab849f46 --- /dev/null +++ b/ports/libxrandr/vcpkg.json @@ -0,0 +1,15 @@ +{ + "name": "libxrandr", + "version": "1.5.2", + "description": "Xlib Resize, Rotate and Reflection (RandR) extension library", + "homepage": "https://gitlab.freedesktop.org/xorg/lib/libxrandr", + "license": null, + "dependencies": [ + "bzip2", + "libx11", + "libxext", + "libxrender", + "xorg-macros", + "xproto" + ] +} diff --git a/ports/libxrender/portfile.cmake b/ports/libxrender/portfile.cmake new file mode 100644 index 00000000000000..0a60e04c092de7 --- /dev/null +++ b/ports/libxrender/portfile.cmake @@ -0,0 +1,35 @@ +if(NOT X_VCPKG_FORCE_VCPKG_X_LIBRARIES AND NOT VCPKG_TARGET_IS_WINDOWS) + message(STATUS "Utils and libraries provided by '${PORT}' should be provided by your system! Install the required packages or force vcpkg libraries by setting X_VCPKG_FORCE_VCPKG_X_LIBRARIES in your triplet!") + set(VCPKG_POLICY_EMPTY_PACKAGE enabled) +else() + +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.freedesktop.org/xorg + OUT_SOURCE_PATH SOURCE_PATH + REPO lib/libxrender + REF 845716f8f14963d338e5a8d5d2424baafc90fb30 # 0.9.10 + SHA512 a7e8d383a8400d63eb726b741cd25a1e9e671c7eadef04beddc4e31fec59b384ae4fa3f305e62a2aecbaedffc76c7b0626f525ec8634c9940a29de058e4a653c + HEAD_REF master +) + +set(ENV{ACLOCAL} "aclocal -I \"${CURRENT_INSTALLED_DIR}/share/xorg/aclocal/\"") + +if (VCPKG_CROSSCOMPILING) + list(APPEND OPTIONS --enable-malloc0returnsnull) +endif() + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG + OPTIONS ${OPTIONS} +) + +vcpkg_install_make() +vcpkg_fixup_pkgconfig() + +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/${PORT}" RENAME copyright) +endif() diff --git a/ports/libxrender/vcpkg.json b/ports/libxrender/vcpkg.json new file mode 100644 index 00000000000000..6c0bd85f3d0098 --- /dev/null +++ b/ports/libxrender/vcpkg.json @@ -0,0 +1,11 @@ +{ + "name": "libxrender", + "version": "0.9.10", + "description": "library for the Render Extension to the X11 protocol", + "homepage": "https://gitlab.freedesktop.org/xorg/lib/libxrender", + "license": null, + "dependencies": [ + "libx11", + "xorg-macros" + ] +} diff --git a/ports/libxres/build.patch b/ports/libxres/build.patch new file mode 100644 index 00000000000000..04b3ce3ec198f1 --- /dev/null +++ b/ports/libxres/build.patch @@ -0,0 +1,16 @@ +diff --git a/include/X11/extensions/XRes.h b/include/X11/extensions/XRes.h +index 1c816165e..8da68aa23 100644 +--- a/include/X11/extensions/XRes.h ++++ b/include/X11/extensions/XRes.h +@@ -6,7 +6,10 @@ + #define _XRES_H + + #include +- ++#if defined(_MSC_VER) ++ #include ++ typedef int pid_t; ++#endif + /* v1.0 */ + + typedef struct { diff --git a/ports/libxres/portfile.cmake b/ports/libxres/portfile.cmake new file mode 100644 index 00000000000000..7d2d27ba50ad5d --- /dev/null +++ b/ports/libxres/portfile.cmake @@ -0,0 +1,35 @@ +if(NOT X_VCPKG_FORCE_VCPKG_X_LIBRARIES AND NOT VCPKG_TARGET_IS_WINDOWS) + message(STATUS "Utils and libraries provided by '${PORT}' should be provided by your system! Install the required packages or force vcpkg libraries by setting X_VCPKG_FORCE_VCPKG_X_LIBRARIES in your triplet!") + set(VCPKG_POLICY_EMPTY_PACKAGE enabled) +else() +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.freedesktop.org/xorg + OUT_SOURCE_PATH SOURCE_PATH + REPO lib/libxres + REF c05c6d918b0e2011d4bfa370c321482e34630b17 # 1.2.1 + SHA512 c2eabf65b03393991b56b84bea4d770e9c0295d685e8b22bb7dabbd37dd6c7c6f5e519cefa790b05c0f124bb739a5abe03249b89e2ce6d5276014e9752c11251 + HEAD_REF master + PATCHES build.patch +) + +set(ENV{ACLOCAL} "aclocal -I \"${CURRENT_INSTALLED_DIR}/share/xorg/aclocal/\"") + +if (VCPKG_CROSSCOMPILING) + list(APPEND OPTIONS --enable-malloc0returnsnull) +endif() + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG + OPTIONS ${OPTIONS} +) + +vcpkg_install_make() +vcpkg_fixup_pkgconfig() + +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/${PORT}" RENAME copyright) +endif() diff --git a/ports/libxres/vcpkg.json b/ports/libxres/vcpkg.json new file mode 100644 index 00000000000000..46d1479f0c0fea --- /dev/null +++ b/ports/libxres/vcpkg.json @@ -0,0 +1,14 @@ +{ + "name": "libxres", + "version": "1.2.1", + "description": "Xlib-based X-Resource extension client library", + "homepage": "https://gitlab.freedesktop.org/xorg/lib/libxres", + "license": null, + "dependencies": [ + "bzip2", + "libx11", + "libxext", + "xorg-macros", + "xproto" + ] +} diff --git a/ports/libxscrnsaver/portfile.cmake b/ports/libxscrnsaver/portfile.cmake new file mode 100644 index 00000000000000..81433350bb4d9d --- /dev/null +++ b/ports/libxscrnsaver/portfile.cmake @@ -0,0 +1,35 @@ +if(NOT X_VCPKG_FORCE_VCPKG_X_LIBRARIES AND NOT VCPKG_TARGET_IS_WINDOWS) + message(STATUS "Utils and libraries provided by '${PORT}' should be provided by your system! Install the required packages or force vcpkg libraries by setting X_VCPKG_FORCE_VCPKG_X_LIBRARIES in your triplet!") + set(VCPKG_POLICY_EMPTY_PACKAGE enabled) +else() + +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.freedesktop.org/xorg + OUT_SOURCE_PATH SOURCE_PATH + REPO lib/libxscrnsaver + REF 96fffcd9dcaf2ba37ec56aa798677de9ad58ae81 # 1.2.3 + SHA512 56ae74721db0c9970001b74227eadfe116d6cbfbb8dc318a4799f5034e0028572d5cc7acedbfb1b812a37bfc8cf21d35b62b264be08b17c695878c37d56bf9a2 + HEAD_REF master +) + +set(ENV{ACLOCAL} "aclocal -I \"${CURRENT_INSTALLED_DIR}/share/xorg/aclocal/\"") + +if (VCPKG_CROSSCOMPILING) + list(APPEND OPTIONS --enable-malloc0returnsnull) +endif() + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG + OPTIONS ${OPTIONS} +) + +vcpkg_install_make() +vcpkg_fixup_pkgconfig() + +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/${PORT}" RENAME copyright) +endif() diff --git a/ports/libxscrnsaver/vcpkg.json b/ports/libxscrnsaver/vcpkg.json new file mode 100644 index 00000000000000..b4b381cc0bf125 --- /dev/null +++ b/ports/libxscrnsaver/vcpkg.json @@ -0,0 +1,14 @@ +{ + "name": "libxscrnsaver", + "version": "1.2.3", + "description": "Xlib-based X11 Screen Saver extension client library", + "homepage": "https://gitlab.freedesktop.org/xorg/lib/libxscrnsaver", + "license": null, + "dependencies": [ + "bzip2", + "libx11", + "libxext", + "xorg-macros", + "xproto" + ] +} diff --git a/ports/libxslt/0001-Fix-makefile.patch b/ports/libxslt/0001-Fix-makefile.patch deleted file mode 100644 index db638886bcc557..00000000000000 --- a/ports/libxslt/0001-Fix-makefile.patch +++ /dev/null @@ -1,49 +0,0 @@ -diff --git "a/win32/Makefile.msvc" "b/win32/Makefile.msvc" -index 2e4742bb..8bfe7d83 100644 ---- "a/win32/Makefile.msvc" -+++ "b/win32/Makefile.msvc" -@@ -59,7 +59,13 @@ CFLAGS = $(CFLAGS) /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE - LD = link.exe - LDFLAGS = /nologo - LDFLAGS = $(LDFLAGS) /LIBPATH:$(BINDIR) /LIBPATH:$(LIBPREFIX) --LIBS = -+# The libraries are needed for static builds (the makefile builds all tools and dlls) -+LIBS = iconv.lib charset.lib ws2_32.lib -+!if "$(DEBUG)" == "1" -+LIBS = $(LIBS) zlibd.lib lzmad.lib -+!else -+LIBS = $(LIBS) zlib.lib lzma.lib -+!endif - - # The archiver and its options. - AR = lib.exe -@@ -71,8 +77,14 @@ CFLAGS = $(CFLAGS) /D "_DEBUG" /Od /Z7 - LDFLAGS = $(LDFLAGS) /DEBUG - !else - CFLAGS = $(CFLAGS) /D "NDEBUG" /O2 -+LDFLAGS = $(LDFLAGS) /DEBUG /OPT:REF /OPT:ICF - !endif - -+# append CFLAGS etc. passed on command line -+CPPFLAGS = $(CPPFLAGS) $(EXTRA_CPPFLAGS) -+CFLAGS = $(CFLAGS) $(EXTRA_CFLAGS) -+LDFLAGS = $(LDFLAGS) $(EXTRA_LDFLAGS) -+ - # Libxslt object files. - XSLT_OBJS = $(XSLT_INTDIR)\attributes.obj\ - $(XSLT_INTDIR)\documents.obj\ -@@ -309,13 +321,7 @@ $(UTILS_INTDIR) : - # An implicit rule for xsltproc and friends. - APPLIBS = $(LIBS) - !if "$(STATIC)" == "1" --APPLIBS = $(LIBS) libxml2_a.lib --!if "$(WITH_ICONV)" == "1" --APPLIBS = $(APPLIBS) iconv.lib --!endif --!if "$(WITH_ZLIB)" == "1" --APPLIBS = $(APPLIBS) zlib.lib --!endif -+APPLIBS = $(LIBS) libxml2.lib - {$(UTILS_SRCDIR)}.c{$(BINDIR)}.exe: - $(CC) /D "LIBXML_STATIC" /D "LIBXSLT_STATIC" /D "LIBEXSLT_STATIC" \ - $(CFLAGS) /Fo$(UTILS_INTDIR)\ /c $< diff --git a/ports/libxslt/0002-Fix-lzma.patch b/ports/libxslt/0002-Fix-lzma.patch deleted file mode 100644 index c1ece503626744..00000000000000 --- a/ports/libxslt/0002-Fix-lzma.patch +++ /dev/null @@ -1,45 +0,0 @@ -diff --git a/win32/configure.js b/win32/configure.js -index 12c99f3..0737b06 100644 ---- a/win32/configure.js -+++ b/win32/configure.js -@@ -45,6 +45,7 @@ var withMemDebug = false; - var withDebugger = true; - var withIconv = true; - var withZlib = false; -+var withLzma = true; - var withCrypto = true; - var withModules = false; - var withProfiler = true; -@@ -105,6 +106,7 @@ function usage() - txt += " debugger: Enable external debugger support (" + (withDebugger? "yes" : "no") + ")\n"; - txt += " iconv: Use iconv library (" + (withIconv? "yes" : "no") + ")\n"; - txt += " zlib: Use zlib library (" + (withZlib? "yes" : "no") + ")\n"; -+ txt += " lzma: Use lzma library (" + (withLzma? "yes" : "no") + ")\n"; - txt += " crypto: Enable Crypto support (" + (withCrypto? "yes" : "no") + ")\n"; - txt += " modules: Enable Module support (" + (withModules? "yes" : "no") + ")\n"; - txt += " profiler: Enable Profiler support (" + (withProfiler? "yes" : "no") + ")\n"; -@@ -192,6 +194,7 @@ function discoverVersion() - vf.WriteLine("WITH_DEBUGGER=" + (withDebugger? "1" : "0")); - vf.WriteLine("WITH_ICONV=" + (withIconv? "1" : "0")); - vf.WriteLine("WITH_ZLIB=" + (withZlib? "1" : "0")); -+ vf.WriteLine("WITH_LZMA=" + (withLzma? "1" : "0")); - vf.WriteLine("WITH_CRYPTO=" + (withCrypto? "1" : "0")); - vf.WriteLine("WITH_MODULES=" + (withModules? "1" : "0")); - vf.WriteLine("WITH_PROFILER=" + (withProfiler? "1" : "0")); -@@ -344,6 +347,8 @@ for (i = 0; (i < WScript.Arguments.length) && (error == 0); i++) { - withIconv = strToBool(arg.substring(opt.length + 1, arg.length)); - else if (opt == "zlib") - withZlib = strToBool(arg.substring(opt.length + 1, arg.length)); -+ else if (opt == "lzma") -+ withLzma = strToBool(arg.substring(opt.length + 1, arg.length)); - else if (opt == "crypto") - withCrypto = strToBool(arg.substring(opt.length + 1, arg.length)); - else if (opt == "modules") -@@ -482,6 +487,7 @@ txtOut += " Memory debugging: " + boolToStr(withMemDebug) + "\n"; - txtOut += " Debugger support: " + boolToStr(withDebugger) + "\n"; - txtOut += " Use iconv: " + boolToStr(withIconv) + "\n"; - txtOut += " With zlib: " + boolToStr(withZlib) + "\n"; -+txtOut += " Lzma: " + boolToStr(withLzma) + "\n"; - txtOut += " Crypto: " + boolToStr(withCrypto) + "\n"; - txtOut += " Modules: " + boolToStr(withModules) + "\n"; - txtOut += " Profiler: " + boolToStr(withProfiler) + "\n"; diff --git a/ports/libxslt/0003-Fix-configure.patch b/ports/libxslt/0003-Fix-configure.patch deleted file mode 100644 index 43cc239036e3a9..00000000000000 --- a/ports/libxslt/0003-Fix-configure.patch +++ /dev/null @@ -1,50 +0,0 @@ -diff --git a/win32/configure.js b/win32/configure.js -index 0737b06..11815e4 100644 ---- a/win32/configure.js -+++ b/win32/configure.js -@@ -138,7 +138,7 @@ function usage() - file included by our makefile. */ - function discoverVersion() - { -- var fso, cf, vf, ln, s; -+ var fso, cf, vf, ln, s, m; - fso = new ActiveXObject("Scripting.FileSystemObject"); - verCvs = ""; - if (useCvsVer && fso.FileExists("..\\CVS\\Entries")) { -@@ -147,8 +147,8 @@ function discoverVersion() - ln = cf.ReadLine(); - s = new String(ln); - if (s.search(/^\/ChangeLog\//) != -1) { -- iDot = s.indexOf("."); -- iSlash = s.indexOf("/", iDot); -+ var iDot = s.indexOf("."); -+ var iSlash = s.indexOf("/", iDot); - verCvs = "CVS" + s.substring(iDot + 1, iSlash); - break; - } -@@ -178,13 +178,13 @@ function discoverVersion() - verMicroXslt = m[1]; - } else if (s.search(/^LIBEXSLT_MAJOR_VERSION=/) != -1) { - vf.WriteLine(s); -- verMajorExslt = s.substring(s.indexOf("=") + 1, s.length) -+ verMajorExslt = s.substring(s.indexOf("=") + 1, s.length); - } else if(s.search(/^LIBEXSLT_MINOR_VERSION=/) != -1) { - vf.WriteLine(s); -- verMinorExslt = s.substring(s.indexOf("=") + 1, s.length) -+ verMinorExslt = s.substring(s.indexOf("=") + 1, s.length); - } else if(s.search(/^LIBEXSLT_MICRO_VERSION=/) != -1) { - vf.WriteLine(s); -- verMicroExslt = s.substring(s.indexOf("=") + 1, s.length) -+ verMicroExslt = s.substring(s.indexOf("=") + 1, s.length); - } - } - cf.Close(); -@@ -365,8 +365,6 @@ for (i = 0; (i < WScript.Arguments.length) && (error == 0); i++) { - buildStatic = strToBool(arg.substring(opt.length + 1, arg.length)); - else if (opt == "prefix") - buildPrefix = arg.substring(opt.length + 1, arg.length); -- else if (opt == "incdir") -- buildIncPrefix = arg.substring(opt.length + 1, arg.length); - else if (opt == "bindir") - buildBinPrefix = arg.substring(opt.length + 1, arg.length); - else if (opt == "libdir") diff --git a/ports/libxslt/fix-gcrypt-deps.patch b/ports/libxslt/fix-gcrypt-deps.patch new file mode 100644 index 00000000000000..6d91a7248d4f7b --- /dev/null +++ b/ports/libxslt/fix-gcrypt-deps.patch @@ -0,0 +1,45 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 6dc6501..d36a049 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -317,7 +317,9 @@ target_include_directories( + + if(LIBXSLT_WITH_CRYPTO AND NOT WIN32) + target_link_libraries(LibExslt PRIVATE Gcrypt::Gcrypt) +- set(LIBGCRYPT_LIBS "-lgcrypt") ++ # For libexslt.pc ++ set(LIBGCRYPT_LIBS "") ++ string(APPEND EXSLT_PRIVATE_REQUIRES " libgcrypt") + endif() + + target_link_libraries(LibExslt PUBLIC LibXslt LibXml2::LibXml2) +diff --git a/FindGcrypt.cmake b/FindGcrypt.cmake +index 781113d..a78fa84 100644 +--- a/FindGcrypt.cmake ++++ b/FindGcrypt.cmake +@@ -1,3 +1,20 @@ ++cmake_policy(PUSH) ++cmake_policy(SET CMP0012 NEW) ++cmake_policy(SET CMP0057 NEW) ++find_package(PkgConfig) ++if("REQUIRED" IN_LIST ${CMAKE_FIND_PACKAGE_NAME}_FIND_REQUIRED) ++ pkg_check_modules(libxslt_gcrypt REQUIRED IMPORTED_TARGET libgcrypt) ++else() ++ pkg_check_modules(libxslt_gcrypt IMPORTED_TARGET libgcrypt) ++endif() ++set(Gcrypt_FOUND "${libxslt_gcrypt_FOUND}") # CMake standard, needed for find_dependency ++set(GCRYPT_FOUND "${libxslt_gcrypt_FOUND}") # libxslt usage ++if(libxslt_gcrypt_FOUND AND NOT TARGET Gcrypt::Gcrypt) ++ add_library(Gcrypt::Gcrypt INTERFACE IMPORTED) ++ set_target_properties(Gcrypt::Gcrypt PROPERTIES INTERFACE_LINK_LIBRARIES PkgConfig::libxslt_gcrypt) ++endif() ++cmake_policy(POP) ++if(0) + include(FindPackageHandleStandardArgs) + include(SelectLibraryConfigurations) + +@@ -38,3 +53,4 @@ if(GCRYPT_FOUND AND NOT TARGET Gcrypt::Gcrypt) + INTERFACE_INCLUDE_DIRECTORIES "${GCRYPT_INCLUDE_DIRS}" + ) + endif() ++endif() diff --git a/ports/libxslt/libexslt-pkgconfig.patch b/ports/libxslt/libexslt-pkgconfig.patch new file mode 100644 index 00000000000000..b500a8108ca906 --- /dev/null +++ b/ports/libxslt/libexslt-pkgconfig.patch @@ -0,0 +1,14 @@ +diff --git a/libexslt.pc.in b/libexslt.pc.in +index 1d60563..50089e8 100644 +--- a/libexslt.pc.in ++++ b/libexslt.pc.in +@@ -7,7 +7,8 @@ includedir=@includedir@ + Name: libexslt + Version: @LIBEXSLT_VERSION@ + Description: EXSLT Extension library +-Requires: libxml-2.0, libxslt ++Requires: libxslt ++Requires.private: @EXSLT_PRIVATE_REQUIRES@ + Cflags: @EXSLT_INCLUDEDIR@ + 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 new file mode 100644 index 00000000000000..243687fc579404 --- /dev/null +++ b/ports/libxslt/msvc-no-suffix.patch @@ -0,0 +1,22 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d8679fb..6dc6501 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -244,7 +249,7 @@ set_target_properties( + VERSION ${PROJECT_VERSION} + ) + +-if(MSVC) ++if(0) # Never add suffixes which are not added by the autotools build or the nmake makefiles + if(BUILD_SHARED_LIBS) + set_target_properties( + LibXslt +@@ -327,7 +332,7 @@ set_target_properties( + VERSION ${LIBEXSLT_VERSION} + ) + +-if(MSVC) ++if(0) # same reason as above + if(BUILD_SHARED_LIBS) + set_target_properties( + LibExslt diff --git a/ports/libxslt/only_build_one_lib_type.patch b/ports/libxslt/only_build_one_lib_type.patch deleted file mode 100644 index ae1ef8a421b289..00000000000000 --- a/ports/libxslt/only_build_one_lib_type.patch +++ /dev/null @@ -1,56 +0,0 @@ -diff --git a/win32/Makefile.msvc b/win32/Makefile.msvc -index f803a747c..f43a54f51 100644 ---- a/win32/Makefile.msvc -+++ b/win32/Makefile.msvc -@@ -163,7 +163,11 @@ _VC_MANIFEST_EMBED_EXE= - _VC_MANIFEST_EMBED_DLL= - !endif - --all : libxslt libxslta libexslt libexslta utils -+!if "$(STATIC)" == "1" -+all : libxslta libexslta utils -+!else -+all : libxslt libexslt utils -+!endif - - libxslt : $(BINDIR)\$(XSLT_SO) - -@@ -196,12 +200,15 @@ install-libs : all - if not exist $(LIBPREFIX) mkdir $(LIBPREFIX) - copy $(XSLT_SRCDIR)\*.h $(INCPREFIX)\$(XSLT_BASENAME) - copy $(EXSLT_SRCDIR)\*.h $(INCPREFIX)\$(EXSLT_BASENAME) -+!if "$(STATIC)" != "1" - copy $(BINDIR)\$(XSLT_SO) $(SOPREFIX) -- copy $(BINDIR)\$(XSLT_A) $(LIBPREFIX) - copy $(BINDIR)\$(XSLT_IMP) $(LIBPREFIX) - copy $(BINDIR)\$(EXSLT_SO) $(SOPREFIX) -- copy $(BINDIR)\$(EXSLT_A) $(LIBPREFIX) - copy $(BINDIR)\$(EXSLT_IMP) $(LIBPREFIX) -+!else -+ copy $(BINDIR)\$(XSLT_A) $(LIBPREFIX) -+ copy $(BINDIR)\$(EXSLT_A) $(LIBPREFIX) -+!endif - - install : install-libs - copy $(BINDIR)\*.exe $(BINPREFIX) -@@ -313,7 +320,6 @@ $(BINDIR)\$(EXSLT_SO) : $(BINDIR) $(EXSLT_OBJS) $(EXSLT_INTDIR)\$(EXSLT_DEF) lib - $(BINDIR)\$(EXSLT_A) : $(BINDIR) $(EXSLT_OBJS_A) libxslta - $(AR) $(ARFLAGS) /OUT:$(BINDIR)\$(EXSLT_A) $(EXSLT_OBJS_A) - -- - # Creates the utils intermediate directory. - $(UTILS_INTDIR) : - if not exist $(UTILS_INTDIR) mkdir $(UTILS_INTDIR) -@@ -336,7 +342,11 @@ APPLIBS = $(LIBS) libxml2.lib - !endif - - # Builds xsltproc and friends. Uses the implicit rule for commands. --$(UTILS) : $(UTILS_INTDIR) $(BINDIR) libxslt libxslta libexslt libexslta -+!if "$(STATIC)" == "1" -+$(UTILS) : $(UTILS_INTDIR) $(BINDIR) libxslta libexslta -+!else -+$(UTILS) : $(UTILS_INTDIR) $(BINDIR) libxslt libexslt -+!endif - - # plugins only work with non-static builds currently. - !if "$(STATIC)" == "0" diff --git a/ports/libxslt/portfile.cmake b/ports/libxslt/portfile.cmake index 05df04a3189a3d..4ba16ebef54419 100644 --- a/ports/libxslt/portfile.cmake +++ b/ports/libxslt/portfile.cmake @@ -1,185 +1,83 @@ -vcpkg_download_distfile( - PATCH_e2584eed1c84c18f16e42188c30d2c3d8e3e8853 - URLS "https://github.com/GNOME/libxslt/commit/e2584eed1c84c18f16e42188c30d2c3d8e3e8853.patch" - FILENAME e2584eed1c84c18f16e42188c30d2c3d8e3e8853.patch - SHA512 d08a06616d732993f2131826ca06fafc2e9f561cb1edb17eaf2adaf78e276bb03cba92a773143eb939da04781f5b5e0a09b351d8e4622a941de3cb3d11da731c -) - -# Get this value from configure.ac:21 -set(LIBEXSLT_VERSION 0.8.20) -set(VERSION 1.1.34) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO GNOME/libxslt - REF v${VERSION} - SHA512 fc57affb236e5f7602ee53c8090a854c6b950d1e6526ae3488bca41d8d421ec70433d88eb227c71c2a61213bc364517bdad907125e36486da1754fe9e460601f + REF v1.1.37 + SHA512 4e7a57cbe02ceea34404213a88bdbb63a756edfab63063ce3979b670816ae3f6fb3637a49508204e6e46b936628e0a3b8b77e9201530a1184225bd68da403b25 HEAD_REF master PATCHES - "${PATCH_e2584eed1c84c18f16e42188c30d2c3d8e3e8853}" - 0001-Fix-makefile.patch - 0002-Fix-lzma.patch - 0003-Fix-configure.patch - only_build_one_lib_type.patch + python3.patch + msvc-no-suffix.patch + libexslt-pkgconfig.patch + fix-gcrypt-deps.patch + skip-install-docs.patch ) -if (VCPKG_TARGET_IS_WINDOWS) - # Create some directories ourselves, because the makefile doesn't - file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/bin") - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/bin") - endif() - set(CONFIGURE_COMMAND_TEMPLATE - cruntime=@CRUNTIME@ - static=@BUILDSTATIC@ - debug=@DEBUGMODE@ - prefix=@INSTALL_DIR@ - include=@INCLUDE_DIR@ - lib=@LIB_DIR@ - bindir=$(PREFIX)\\bin - sodir=$(PREFIX)\\bin - zlib=yes - lzma=yes - ) - - # Common - if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - set(BUILDSTATIC yes) - else() - set(BUILDSTATIC no) - endif() - - # Release params - if(VCPKG_CRT_LINKAGE STREQUAL dynamic) - set(CRUNTIME /MD) - else() - set(CRUNTIME /MT) - endif() - set(DEBUGMODE no) - set(LIB_DIR "${CURRENT_INSTALLED_DIR}/lib") - set(INCLUDE_DIR "${CURRENT_INSTALLED_DIR}/include") - set(INSTALL_DIR "${CURRENT_PACKAGES_DIR}") - file(TO_NATIVE_PATH "${LIB_DIR}" LIB_DIR) - file(TO_NATIVE_PATH "${INCLUDE_DIR}" INCLUDE_DIR) - file(TO_NATIVE_PATH "${INSTALL_DIR}" INSTALL_DIR) - string(CONFIGURE "${CONFIGURE_COMMAND_TEMPLATE}" CONFIGURE_COMMAND_REL) - - # Debug params - if(VCPKG_CRT_LINKAGE STREQUAL dynamic) - set(CRUNTIME /MDd) - else() - set(CRUNTIME /MTd) - endif() - set(DEBUGMODE yes) - set(LIB_DIR "${CURRENT_INSTALLED_DIR}/debug/lib") - set(INSTALL_DIR "${CURRENT_PACKAGES_DIR}/debug") - file(TO_NATIVE_PATH "${LIB_DIR}" LIB_DIR) - file(TO_NATIVE_PATH "${INSTALL_DIR}" INSTALL_DIR) - string(CONFIGURE "${CONFIGURE_COMMAND_TEMPLATE}" CONFIGURE_COMMAND_DBG) - - vcpkg_install_nmake( - SOURCE_PATH "${SOURCE_PATH}" - PROJECT_SUBPATH win32 - PROJECT_NAME Makefile.msvc - PRERUN_SHELL_DEBUG cscript configure.js ${CONFIGURE_COMMAND_DBG} - PRERUN_SHELL_RELEASE cscript configure.js ${CONFIGURE_COMMAND_REL} - OPTIONS rebuild - ) - - vcpkg_copy_tools(TOOL_NAMES xsltproc AUTO_CLEAN) - - # The makefile builds both static and dynamic libraries, so remove the ones we don't want - if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/libxslt_a${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}" "${CURRENT_PACKAGES_DIR}/lib/libexslt_a${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}") - file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/lib/libxslt_a${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}" "${CURRENT_PACKAGES_DIR}/debug/lib/libexslt_a${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}") - else() - file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/libxslt${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}" "${CURRENT_PACKAGES_DIR}/lib/libexslt${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}") - file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/lib/libxslt${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}" "${CURRENT_PACKAGES_DIR}/debug/lib/libexslt${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") - # Rename the libs to match the dynamic lib names - file(RENAME "${CURRENT_PACKAGES_DIR}/lib/libxslt_a${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}" "${CURRENT_PACKAGES_DIR}/lib/libxslt${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}") - file(RENAME "${CURRENT_PACKAGES_DIR}/lib/libexslt_a${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}" "${CURRENT_PACKAGES_DIR}/lib/libexslt${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}") - if(NOT VCPKG_BUILD_TYPE) - file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/libxslt_a${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}" "${CURRENT_PACKAGES_DIR}/debug/lib/libxslt${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}") - file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/libexslt_a${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}" "${CURRENT_PACKAGES_DIR}/debug/lib/libexslt${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}") - endif() - endif() - - set(prefix "") - set(exec_prefix "") - set(libdir "\${prefix}/lib") - set(includedir "\${prefix}/include") - set(XSLT_INCLUDEDIR "-I\${includedir}") - set(XSLT_LIBDIR "-L\${libdir}") - set(XSLT_LIBS "-lxslt") - set(XSLT_PRIVATE_LIBS "") - set(EXSLT_INCLUDEDIR "-I\${includedir}") - set(EXSLT_LIBDIR "-L\${libdir}") - set(EXSLT_LIBS "-lexslt") - set(EXSLT_PRIVATE_LIBS "") - file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/lib/pkgconfig") - configure_file("${SOURCE_PATH}/libxslt.pc.in" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libxslt.pc" @ONLY) - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libxslt.pc" "\nRequires: " "\nRequires: liblzma ") - configure_file("${SOURCE_PATH}/libexslt.pc.in" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libexslt.pc" @ONLY) - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libexslt.pc" "\nRequires: " "\nRequires: libxslt ") - if(NOT VCPKG_BUILD_TYPE) - file(COPY "${CURRENT_PACKAGES_DIR}/lib/pkgconfig" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") - endif() -else() - vcpkg_configure_make( - SOURCE_PATH "${SOURCE_PATH}" - AUTOCONFIG - OPTIONS - --without-python - --without-plugins - --with-crypto - OPTIONS_DEBUG - --with-mem-debug - --with-debug - --with-debugger +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + "python" LIBXSLT_WITH_PYTHON + "crypto" LIBXSLT_WITH_CRYPTO +) +if("python" IN_LIST FEATURES) + vcpkg_find_acquire_program(PYTHON3) + list(APPEND FEATURE_OPTIONS "-DPYTHON_EXECUTABLE=${PYTHON3}") + list(APPEND FEATURE_OPTIONS_RELEASE "-DLIBXSLT_PYTHON_INSTALL_DIR=${CURRENT_PACKAGES_DIR}/lib/site-packages") + list(APPEND FEATURE_OPTIONS_DEBUG "-DLIBXSLT_PYTHON_INSTALL_DIR=${CURRENT_PACKAGES_DIR}/debug/lib/site-packages") +endif() +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + 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_install_make() - - file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/xsltConf.sh" "${CURRENT_PACKAGES_DIR}/debug/lib/xsltConf.sh") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/libxslt-plugins" "${CURRENT_PACKAGES_DIR}/debug/lib/libxslt-plugins") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/libxslt/aclocal") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/libxslt/doc") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/libxslt/man1") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/libxslt/man3") - - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/libxslt/bin/xslt-config" "${CURRENT_INSTALLED_DIR}" "`dirname $0`/../../../") - if(NOT VCPKG_BUILD_TYPE) - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/libxslt/debug/bin/xslt-config" "${CURRENT_INSTALLED_DIR}" "`dirname $0`/../../../../") - endif() - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/libxslt/xsltconfig.h" "#define LIBXSLT_DEFAULT_PLUGINS_PATH() \"${CURRENT_INSTALLED_DIR}/lib/libxslt-plugins\"" "") +vcpkg_cmake_install() +file(GLOB config_path RELATIVE "${CURRENT_PACKAGES_DIR}" "${CURRENT_PACKAGES_DIR}/lib/cmake/libxslt-*") +vcpkg_cmake_config_fixup(CONFIG_PATH "${config_path}") + +file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/xsltConf.sh" "${CURRENT_PACKAGES_DIR}/debug/lib/xsltConf.sh") + +file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/libxslt") +file(RENAME "${CURRENT_PACKAGES_DIR}/bin/xslt-config" "${CURRENT_PACKAGES_DIR}/tools/libxslt/xslt-config") +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/libxslt/xslt-config" [[$(cd "$(dirname "$0")"; pwd -P)/..]] [[$(cd "$(dirname "$0")/../.."; pwd -P)]]) +if(NOT VCPKG_BUILD_TYPE) + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/libxslt/debug") + file(RENAME "${CURRENT_PACKAGES_DIR}/debug/bin/xslt-config" "${CURRENT_PACKAGES_DIR}/tools/libxslt/debug/xslt-config") + 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\"" "" IGNORE_UNCHANGED) +vcpkg_copy_tools(TOOL_NAMES xsltproc AUTO_CLEAN) vcpkg_fixup_pkgconfig() vcpkg_copy_pdbs() -# -# Cleanup -# - -# You have to define LIB(E)XSLT_STATIC or not, depending on how you link -file(READ "${CURRENT_PACKAGES_DIR}/include/libxslt/xsltexports.h" XSLTEXPORTS_H) if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - string(REPLACE "!defined(LIBXSLT_STATIC)" "0" XSLTEXPORTS_H "${XSLTEXPORTS_H}") -else() - string(REPLACE "!defined(LIBXSLT_STATIC)" "1" XSLTEXPORTS_H "${XSLTEXPORTS_H}") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/libxslt/xsltexports.h" "ifdef LIBXSLT_STATIC" "if 1") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/libexslt/exsltexports.h" "ifdef LIBEXSLT_STATIC" "if 1") endif() -file(WRITE "${CURRENT_PACKAGES_DIR}/include/libxslt/xsltexports.h" "${XSLTEXPORTS_H}") -file(READ "${CURRENT_PACKAGES_DIR}/include/libexslt/exsltexports.h" EXSLTEXPORTS_H) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - string(REPLACE "!defined(LIBEXSLT_STATIC)" "0" EXSLTEXPORTS_H "${EXSLTEXPORTS_H}") -else() - string(REPLACE "!defined(LIBEXSLT_STATIC)" "1" EXSLTEXPORTS_H "${EXSLTEXPORTS_H}") +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libxslt.pc" " -lxslt" " -llibxslt") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libexslt.pc" " -lexslt" " -llibexslt") + 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() -file(WRITE "${CURRENT_PACKAGES_DIR}/include/libexslt/exsltexports.h" "${EXSLTEXPORTS_H}") -# Remove tools and debug include directories file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +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) diff --git a/ports/libxslt/python3.patch b/ports/libxslt/python3.patch new file mode 100644 index 00000000000000..fc86d1fc56e8cb --- /dev/null +++ b/ports/libxslt/python3.patch @@ -0,0 +1,16 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d8679fb..6dc6501 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -35,6 +35,11 @@ if(LIBXSLT_WITH_PYTHON) + check_symbol_exists(F_GETFL fcntl.h HAVE_F_GETFL) + if(HAVE_UNISTD_H AND HAVE_F_GETFL) + find_package(Python COMPONENTS Interpreter Development REQUIRED) ++ elseif(1) ++ find_package(Python3 COMPONENTS Interpreter Development REQUIRED) ++ add_library(Python::Python ALIAS Python3::Python) ++ set(Python_EXECUTABLE ${Python3_EXECUTABLE}) ++ set(Python_SITEARCH ${Python3_SITEARCH}) + else() + find_package(Python2 COMPONENTS Interpreter Development REQUIRED) + add_library(Python::Python ALIAS Python2::Python) diff --git a/ports/libxslt/skip-install-docs.patch b/ports/libxslt/skip-install-docs.patch new file mode 100644 index 00000000000000..a5d59f3254031b --- /dev/null +++ b/ports/libxslt/skip-install-docs.patch @@ -0,0 +1,17 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 6dc6501..d36a049 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -432,10 +434,12 @@ 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) + install(DIRECTORY doc/ DESTINATION ${CMAKE_INSTALL_DATADIR}/doc/libxslt COMPONENT documentation PATTERN Makefile.* EXCLUDE) ++endif() + + if(LIBXSLT_WITH_CRYPTO AND NOT WIN32) + install(FILES FindGcrypt.cmake DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libxslt-${PROJECT_VERSION} COMPONENT development) diff --git a/ports/libxslt/usage b/ports/libxslt/usage new file mode 100644 index 00000000000000..91daf3461ce42f --- /dev/null +++ b/ports/libxslt/usage @@ -0,0 +1,12 @@ +The package libxslt is compatible with built-in CMake targets: + + # xslt library + find_package(LibXslt REQUIRED) + target_link_libraries(main PRIVATE LibXslt::LibXslt) + + # exslt library + find_package(LibXslt REQUIRED) + target_link_libraries(main PRIVATE LibXslt::LibExslt) + +In order to use modules, you must set environment variable LIBXSLT_PLUGINS_PATH +at runtime. diff --git a/ports/libxslt/vcpkg-cmake-wrapper.cmake b/ports/libxslt/vcpkg-cmake-wrapper.cmake new file mode 100644 index 00000000000000..b7e5ecdfa786de --- /dev/null +++ b/ports/libxslt/vcpkg-cmake-wrapper.cmake @@ -0,0 +1,5 @@ +list(REMOVE_ITEM ARGS "NO_MODULE") +list(REMOVE_ITEM ARGS "CONFIG") +list(REMOVE_ITEM ARGS "MODULE") + +_find_package(${ARGS} CONFIG) diff --git a/ports/libxslt/vcpkg.json b/ports/libxslt/vcpkg.json index 99ea78fa87d9b0..745f1957f1b616 100644 --- a/ports/libxslt/vcpkg.json +++ b/ports/libxslt/vcpkg.json @@ -1,12 +1,46 @@ { "name": "libxslt", - "version": "1.1.34", - "port-version": 3, + "version": "1.1.37", + "port-version": 4, "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": [ - "liblzma", - "libxml2" - ] + { + "name": "libxml2", + "default-features": false + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "default-features": [ + "default-features" + ], + "features": { + "crypto": { + "description": "Build with crypto support", + "supports": "!windows", + "dependencies": [ + "libgcrypt" + ] + }, + "default-features": { + "description": "default features for the current platform" + }, + "plugins": { + "description": "(deprecated)", + "supports": "!static" + }, + "python": { + "description": "Builds with python support", + "supports": "!windows" + } + } } diff --git a/ports/libxt/add-missing-process-h.patch b/ports/libxt/add-missing-process-h.patch new file mode 100644 index 00000000000000..f38db36cedcf77 --- /dev/null +++ b/ports/libxt/add-missing-process-h.patch @@ -0,0 +1,14 @@ +diff --git a/src/Shell.c b/src/Shell.c +index fcf10a5..67e24bf 100644 +--- a/src/Shell.c ++++ b/src/Shell.c +@@ -90,6 +90,9 @@ in this Software without prior written authorization from The Open Group. + #ifdef HAVE_UNISTD_H + #include + #endif ++#ifdef _WIN32 ++#include ++#endif // _WIN32 + + #ifdef EDITRES + #include diff --git a/ports/libxt/cc_for_build.patch b/ports/libxt/cc_for_build.patch new file mode 100644 index 00000000000000..2be319fb69371f --- /dev/null +++ b/ports/libxt/cc_for_build.patch @@ -0,0 +1,25 @@ +diff --git a/Makefile.am b/Makefile.am +index f8d5a6b72..47f847bbd 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -19,7 +19,7 @@ + # TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + # PERFORMANCE OF THIS SOFTWARE. + +-SUBDIRS = util src include man specs test ++SUBDIRS = src include man specs test + + ACLOCAL_AMFLAGS = -I m4 + +diff --git a/src/Makefile.am b/src/Makefile.am +index a26e10d7a..e8a520a2f 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -104,5 +104,5 @@ $(BUILT_SOURCE): $(top_builddir)/util/makestrs$(EXEEXT) + $(AM_V_at)cp Shell.h $(top_builddir)/include/X11 + $(AM_V_at)rm StringDefs.h Shell.h + +-$(top_builddir)/util/makestrs$(EXEEXT) : +- $(am__cd) $(@D) && $(MAKE) $(AM_MAKEFLAGS) $(@F) ++# $(top_builddir)/util/makestrs$(EXEEXT) : ++# $(am__cd) $(@D) && $(MAKE) $(AM_MAKEFLAGS) $(@F) diff --git a/ports/libxt/getcwd.patch b/ports/libxt/getcwd.patch new file mode 100644 index 00000000000000..349c2bfeae0c1e --- /dev/null +++ b/ports/libxt/getcwd.patch @@ -0,0 +1,14 @@ +diff --git a/src/Converters.c b/src/Converters.c +index 4c2762356..5376a34fb 100644 +--- a/src/Converters.c ++++ b/src/Converters.c +@@ -82,6 +82,9 @@ in this Software without prior written authorization from The Open Group. + #include + #include /* for StringToDirectoryString */ ++#ifdef _MSC_VER ++#include ++#endif + + #define IsNewline(str) ((str) == '\n') + #define IsWhitespace(str) ((str)== ' ' || (str) == '\t') + diff --git a/ports/libxt/globals.patch b/ports/libxt/globals.patch new file mode 100644 index 00000000000000..8a2c32027b9975 --- /dev/null +++ b/ports/libxt/globals.patch @@ -0,0 +1,96 @@ +diff --git a/util/StrDefs.ct b/util/StrDefs.ct +index b597b2051..b682255ad 100644 +--- a/util/StrDefs.ct ++++ b/util/StrDefs.ct +@@ -46,6 +46,8 @@ SOFTWARE. + ******************************************************************/ + + #define Const const ++#include "StringDefs.h" ++#include "Shell.h" + + <<>> + +diff --git a/util/StrDefs.ht b/util/StrDefs.ht +index 2ce20562f..ceab2610f 100644 +--- a/util/StrDefs.ht ++++ b/util/StrDefs.ht +@@ -52,6 +52,18 @@ SOFTWARE. + #define _XtStringDefs_h_Const const + #endif + ++#ifndef XT_EXTERN_API ++# if defined(_MSC_VER) && defined(XT_DLL_EXPORTS) ++# ifdef XT_BUILD ++# define XT_EXTERN_API extern __declspec(dllexport) ++# else ++# define XT_EXTERN_API extern __declspec(dllimport) ++# endif ++# else ++# define XT_EXTERN_API extern ++# endif ++#endif ++ + <<>> + + #ifndef XTSTRINGDEFINES +diff --git a/util/string.list b/util/string.list +index 49ba7476e..753c592b3 100644 +--- a/util/string.list ++++ b/util/string.list +@@ -6,7 +6,7 @@ + + #prefix Xt + #feature XTSTRINGDEFINES +-#externref extern ++#externref XT_EXTERN_API + #externdef + ! note that the trailing space is required in the #externdef line. + #ctmpl util/StrDefs.ct +diff --git a/util/Shell.ht b/util/Shell.ht +index 500e0fd75..ac8fc2a2e 100644 +--- a/util/Shell.ht ++++ b/util/Shell.ht +@@ -64,6 +64,18 @@ SOFTWARE. + #define _XtShell_h_Const const + #endif + ++#ifndef XT_EXTERN_API ++# if defined(_MSC_VER) && defined(XT_DLL_EXPORTS) ++# ifdef XT_BUILD ++# define XT_EXTERN_API extern __declspec(dllexport) ++# else ++# define XT_EXTERN_API extern __declspec(dllimport) ++# endif ++# else ++# define XT_EXTERN_API extern ++# endif ++#endif ++ + <<>> + + #ifndef XTSTRINGDEFINES +diff --git a/include/X11/Intrinsic.h b/include/X11/Intrinsic.h +index 559697aa0..d11eb0955 100644 +--- a/include/X11/Intrinsic.h ++++ b/include/X11/Intrinsic.h +@@ -106,7 +106,18 @@ typedef char *String; + #define externalref globalref + #define externaldef(psect) globaldef {"psect"} noshare + #else +-#define externalref extern ++#ifndef XT_EXTERN_API ++# if defined(_MSC_VER) && defined(XT_DLL_EXPORTS) ++# ifdef XT_BUILD ++# define XT_EXTERN_API extern __declspec(dllexport) ++# else ++# define XT_EXTERN_API extern __declspec(dllimport) ++# endif ++# else ++# define XT_EXTERN_API extern ++# endif ++#endif ++#define externalref XT_EXTERN_API + #define externaldef(psect) + #endif /* VMS */ + diff --git a/ports/libxt/portfile.cmake b/ports/libxt/portfile.cmake new file mode 100644 index 00000000000000..7109c42a91dbdd --- /dev/null +++ b/ports/libxt/portfile.cmake @@ -0,0 +1,113 @@ +if(NOT X_VCPKG_FORCE_VCPKG_X_LIBRARIES AND NOT VCPKG_TARGET_IS_WINDOWS) + message(STATUS "Utils and libraries provided by '${PORT}' should be provided by your system! Install the required packages or force vcpkg libraries by setting X_VCPKG_FORCE_VCPKG_X_LIBRARIES in your triplet!") + set(VCPKG_POLICY_EMPTY_PACKAGE enabled) +else() + +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + # Downstream uses &widgetClassRec in a const context which doesn't work + # if this is a dynamic library since the memory adress is only known at runtime +endif() + +if(VCPKG_CROSSCOMPILING) + set(PATCHES cc_for_build.patch) +endif() + +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.freedesktop.org/xorg + OUT_SOURCE_PATH SOURCE_PATH + REPO lib/libxt + REF "libXt-${VERSION}" + SHA512 7cb22be9706bd7d089e84c09a99597f730ca858a9f8134d2741916b28cd4786e236beaad568c8b7ab8cdcfdea1c49140cefac528244bab8c94d48dc4729267e8 + HEAD_REF master + PATCHES + windows_build.patch + globals.patch + getcwd.patch + add-missing-process-h.patch + ${PATCHES} +) + +set(ENV{ACLOCAL} "aclocal -I \"${CURRENT_INSTALLED_DIR}/share/xorg/aclocal/\"") + +string(APPEND VCPKG_C_FLAGS " -DXT_BUILD") +string(APPEND VCPKG_CXX_FLAGS " -DXT_BUILD") + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic" AND VCPKG_TARGET_IS_WINDOWS) + string(APPEND VCPKG_C_FLAGS " -DXT_DLL_EXPORTS") + string(APPEND VCPKG_CXX_FLAGS " -DXT_DLL_EXPORTS") +endif() + +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + z_vcpkg_get_cmake_vars(cmake_vars_file) + include("${cmake_vars_file}") + if(VCPKG_DETECTED_CMAKE_C_COMPILER_ID STREQUAL "MSVC") + vcpkg_find_acquire_program(CLANG) + cmake_path(GET CLANG PARENT_PATH CLANG_PARENT_PATH) + set(CLANG_CL "${CLANG_PARENT_PATH}/clang-cl.exe") + file(READ "${cmake_vars_file}" contents) + string(APPEND contents "\nset(VCPKG_DETECTED_CMAKE_C_COMPILER \"${CLANG_CL}\")") + string(APPEND contents "\nset(VCPKG_DETECTED_CMAKE_CXX_COMPILER \"${CLANG_CL}\")") + if(VCPKG_TARGET_ARCHITECTURE STREQUAL x86) + string(APPEND contents "\nstring(APPEND VCPKG_DETECTED_CMAKE_C_FLAGS_DEBUG \" -m32\")") + string(APPEND contents "\nstring(APPEND VCPKG_DETECTED_CMAKE_C_FLAGS_RELEASE \" -m32\")") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL arm64) + string(APPEND contents "\nstring(PREPEND VCPKG_DETECTED_CMAKE_C_FLAGS_DEBUG \"--target=arm64-pc-win32 \")") + string(APPEND contents "\nstring(PREPEND VCPKG_DETECTED_CMAKE_C_FLAGS_RELEASE \"--target=arm64-pc-win32 \")") + endif() + file(WRITE "${cmake_vars_file}" "${contents}") + endif() + set(cmake_vars_file "${cmake_vars_file}" CACHE INTERNAL "") # Don't run z_vcpkg_get_cmake_vars twice + set(OPTIONS --disable-selective-werror) +endif() + + + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG + OPTIONS + --with-xfile-search-path=X11 + --with-appdefaultdir=share/X11/app-defaults + --enable-malloc0returnsnull=yes + xorg_cv_malloc0_returns_null=yes + ${OPTIONS} +) + +if(VCPKG_CROSSCOMPILING) + file(INSTALL "${CURRENT_HOST_INSTALLED_DIR}/tools/${PORT}/makestrs${VCPKG_HOST_EXECUTABLE_SUFFIX}" DESTINATION "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/util/") + if(NOT VCPKG_BUILD_TYPE) + file(INSTALL "${CURRENT_HOST_INSTALLED_DIR}/tools/${PORT}/makestrs${VCPKG_HOST_EXECUTABLE_SUFFIX}" DESTINATION "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/util/") + endif() +endif() + +vcpkg_install_make() +vcpkg_fixup_pkgconfig() + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic" AND VCPKG_TARGET_IS_WINDOWS) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/X11/StringDefs.h" "defined(XT_DLL_EXPORTS)" "1") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/X11/Shell.h" "defined(XT_DLL_EXPORTS)" "1") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/X11/Intrinsic.h" "defined(XT_DLL_EXPORTS)" "1") + # XTSTRINGDEFINES is required since the "strings" are often used in a const context which doesn't work if they are adresses of a global array in another dll + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/X11/StringDefs.h" "#define _XtStringDefs_h_" "#define _XtStringDefs_h_\n#define XTSTRINGDEFINES") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/X11/Shell.h" "#define _XtShell_h" "#define _XtShell_h\n#define XTSTRINGDEFINES") +endif() + +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/xt.pc" " -lXt" " -lXt -lws2_32") + if(NOT VCPKG_BUILD_TYPE) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/xt.pc" " -lXt" " -lXt -lws2_32") + endif() +endif() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +if(NOT VCPKG_CROSSCOMPILING) + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/util/makestrs${VCPKG_TARGET_EXECUTABLE_SUFFIX}" + DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}") +endif() + +# Handle copyright +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +endif() diff --git a/ports/libxt/vcpkg.json b/ports/libxt/vcpkg.json new file mode 100644 index 00000000000000..1376103c4d016c --- /dev/null +++ b/ports/libxt/vcpkg.json @@ -0,0 +1,24 @@ +{ + "name": "libxt", + "version": "1.3.0", + "description": "X Toolkit Intrinsics library", + "homepage": "https://gitlab.freedesktop.org/xorg/lib/libxt", + "license": null, + "dependencies": [ + "bzip2", + "glib", + "libice", + "libsm", + "libx11", + { + "name": "libxt", + "host": true + }, + { + "name": "vcpkg-cmake-get-vars", + "host": true + }, + "xorg-macros", + "xproto" + ] +} diff --git a/ports/libxt/windows_build.patch b/ports/libxt/windows_build.patch new file mode 100644 index 00000000000000..9ee1a73a8a9f4c --- /dev/null +++ b/ports/libxt/windows_build.patch @@ -0,0 +1,178 @@ +diff --git a/include/X11/Intrinsic.h b/include/X11/Intrinsic.h +index cf8d3fe41..559697aa0 100644 +--- a/include/X11/Intrinsic.h ++++ b/include/X11/Intrinsic.h +@@ -50,6 +50,10 @@ in this Software without prior written authorization from The Open Group. + #ifndef _XtIntrinsic_h + #define _XtIntrinsic_h + ++#ifdef WIN32 ++#define _WILLWINSOCK_ ++#endif ++ + #include + #include + #include +diff --git a/include/X11/IntrinsicI.h b/include/X11/IntrinsicI.h +index a8b7f48cf..99c5349e7 100644 +--- a/include/X11/IntrinsicI.h ++++ b/include/X11/IntrinsicI.h +@@ -48,11 +48,12 @@ SOFTWARE. + #ifndef _XtintrinsicI_h + #define _XtintrinsicI_h + +-#include "Xtos.h" +-#include "IntrinsicP.h" + #ifdef WIN32 + #define _WILLWINSOCK_ + #endif ++ ++#include "Xtos.h" ++#include "IntrinsicP.h" + #include + + #include "Object.h" +diff --git a/src/Convert.c b/src/Convert.c +index 9b2d465b3..5c89850f1 100644 +--- a/src/Convert.c ++++ b/src/Convert.c +@@ -71,6 +71,9 @@ in this Software without prior written authorization from The Open Group. + #ifdef HAVE_CONFIG_H + #include + #endif ++#ifdef _MSC_VER ++#include ++#endif + #include "IntrinsicI.h" + #include "StringDefs.h" + #include "Intrinsic.h" +diff --git a/src/Core.c b/src/Core.c +index d728a9286..5ee0d2fe8 100644 +--- a/src/Core.c ++++ b/src/Core.c +@@ -80,6 +80,9 @@ in this Software without prior written authorization from The Open Group. + #include "RectObjP.h" + #include "ThreadsI.h" + #include "StringDefs.h" ++#ifndef None ++#define None 0L ++#endif + + /****************************************************************** + * +diff --git a/src/Error.c b/src/Error.c +index 4bf4713e5..a64784a6f 100644 +--- a/src/Error.c ++++ b/src/Error.c +@@ -74,7 +74,9 @@ in this Software without prior written authorization from The Open Group. + #include "IntrinsicI.h" + #include + #include +- ++#ifndef None ++#define None 0L ++#endif + /* The error handlers in the application context aren't used since we can't + come up with a uniform way of using them. If you can, define + GLOBALERRORS to be FALSE (or 0). */ +diff --git a/src/Event.c b/src/Event.c +index dadcedeb8..1eafc0143 100644 +--- a/src/Event.c ++++ b/src/Event.c +@@ -74,7 +74,9 @@ in this Software without prior written authorization from The Open Group. + #include "IntrinsicI.h" + #include "Shell.h" + #include "StringDefs.h" +- ++#ifndef None ++#define None 0L ++#endif + typedef struct _XtEventRecExt { + int type; + XtPointer select_data[1]; /* actual dimension is [mask] */ +diff --git a/src/GCManager.c b/src/GCManager.c +index 6031248e5..205f1cbe3 100644 +--- a/src/GCManager.c ++++ b/src/GCManager.c +@@ -72,7 +72,9 @@ in this Software without prior written authorization from The Open Group. + #include + #endif + #include "IntrinsicI.h" +- ++#ifndef None ++#define None 0L ++#endif + typedef struct _GCrec { + unsigned char screen; /* Screen for GC */ + unsigned char depth; /* Depth for GC */ +diff --git a/src/Geometry.c b/src/Geometry.c +index 3704cb63d..2f00cdcca 100644 +--- a/src/Geometry.c ++++ b/src/Geometry.c +@@ -75,6 +75,10 @@ in this Software without prior written authorization from The Open Group. + #include "ShellP.h" + #include "ShellI.h" + ++#ifndef None ++#define None 0L ++#endif ++ + static void + ClearRectObjAreas(RectObj r, XWindowChanges *old) + { +diff --git a/src/Keyboard.c b/src/Keyboard.c +index da6fa11aa..7d9271f45 100644 +--- a/src/Keyboard.c ++++ b/src/Keyboard.c +@@ -80,6 +80,10 @@ in this Software without prior written authorization from The Open Group. + #include "PassivGraI.h" + #include "EventI.h" + ++#ifndef None ++#define None 0L ++#endif ++ + #define _GetWindowedAncestor(w) (XtIsWidget(w) ? w : _XtWindowedAncestor(w)) + + /* InActiveSubtree cache of the current focus source and its ancestors */ +diff --git a/util/makestrs.c b/util/makestrs.c +index 4d5c0a6b7..b64e42eea 100644 +--- a/util/makestrs.c ++++ b/util/makestrs.c +@@ -29,7 +29,9 @@ in this Software without prior written authorization from The Open Group. + #include + #include + #include ++#ifdef HAVE_UNISTD_H + #include ++#endif + + typedef struct _TableEnt { + struct _TableEnt *next; +diff --git a/src/Initialize.c b/src/Initialize.c +index 8ae54b47c..765479603 100644 +--- a/src/Initialize.c ++++ b/src/Initialize.c +@@ -246,7 +246,7 @@ _XtInherit(void) + * cygwin-xfree: http://www.cygwin.com/ml/cygwin-xfree/2003-10/msg00000.html + */ + +-#ifdef __x86_64__ ++#if defined(__x86_64__) || defined(_M_X64) + asm(".section .trampoline, \"dwx\" \n\ + .globl _XtInherit \n\ + _XtInherit: \n\ +diff --git a/src/Shell.c b/src/Shell.c +index 07713cc25..fcf10a5e2 100644 +--- a/src/Shell.c ++++ b/src/Shell.c +@@ -87,7 +87,9 @@ in this Software without prior written authorization from The Open Group. + #include + #include + #include ++#ifdef HAVE_UNISTD_H + #include ++#endif + + #ifdef EDITRES + #include diff --git a/ports/libxtst/portfile.cmake b/ports/libxtst/portfile.cmake new file mode 100644 index 00000000000000..b23b6ec380bae5 --- /dev/null +++ b/ports/libxtst/portfile.cmake @@ -0,0 +1,30 @@ +if(NOT X_VCPKG_FORCE_VCPKG_X_LIBRARIES AND NOT VCPKG_TARGET_IS_WINDOWS) + message(STATUS "Utils and libraries provided by '${PORT}' should be provided by your system! Install the required packages or force vcpkg libraries by setting X_VCPKG_FORCE_VCPKG_X_LIBRARIES in your triplet!") + set(VCPKG_POLICY_EMPTY_PACKAGE enabled) +else() + +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.freedesktop.org/xorg + OUT_SOURCE_PATH SOURCE_PATH + REPO lib/libxtst + REF 99b89c3bcb0ebb0b6dd86bfdc9d276715eaea889 + SHA512 6479294057c73e91a086891e461e98d2717ae1fbe746cd74c9d13036a59bce931b8b0d5293d3c5ab4feeea426f2297647335179997e06a040b847697c7557199 + HEAD_REF master +) + +set(ENV{ACLOCAL} "aclocal -I \"${CURRENT_INSTALLED_DIR}/share/xorg/aclocal/\"") + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG +) + +vcpkg_install_make() +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +# Handle copyright +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +endif() \ No newline at end of file diff --git a/ports/libxtst/vcpkg.json b/ports/libxtst/vcpkg.json new file mode 100644 index 00000000000000..796f433ba19e1c --- /dev/null +++ b/ports/libxtst/vcpkg.json @@ -0,0 +1,13 @@ +{ + "name": "libxtst", + "version": "1.2.4", + "description": "Xlib-based library for XTEST & RECORD extensions", + "homepage": "https://gitlab.freedesktop.org/xorg/lib/libxtst", + "license": null, + "dependencies": [ + "libx11", + "libxext", + "libxi", + "xproto" + ] +} diff --git a/ports/libxv/portfile.cmake b/ports/libxv/portfile.cmake new file mode 100644 index 00000000000000..aed2c6aa87c259 --- /dev/null +++ b/ports/libxv/portfile.cmake @@ -0,0 +1,36 @@ +set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) +if(NOT X_VCPKG_FORCE_VCPKG_X_LIBRARIES AND NOT VCPKG_TARGET_IS_WINDOWS) + message(STATUS "Utils and libraries provided by '${PORT}' should be provided by your system! Install the required packages or force vcpkg libraries by setting X_VCPKG_FORCE_VCPKG_X_LIBRARIES in your triplet!") + set(VCPKG_POLICY_EMPTY_PACKAGE enabled) +else() + +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.freedesktop.org/xorg + OUT_SOURCE_PATH SOURCE_PATH + REPO lib/libxv + REF ef2a282876acc2316d338f8b66344ad5a2947057 # 1.0.11 + SHA512 0c97de51c22791cd6ea351f3b0ab8261b68d1283bcdc1784f9cc601fe54ef0c43f668e5bb9d8929c3ff8828f14fa48a8653566742d6a93455fe908d026517839 + HEAD_REF master +) + +set(ENV{ACLOCAL} "aclocal -I \"${CURRENT_INSTALLED_DIR}/share/xorg/aclocal/\"") + +if (VCPKG_CROSSCOMPILING) + list(APPEND OPTIONS --enable-malloc0returnsnull) +endif() + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG + OPTIONS ${OPTIONS} +) + +vcpkg_install_make() +vcpkg_fixup_pkgconfig() + +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/${PORT}" RENAME copyright) +endif() diff --git a/ports/libxv/vcpkg.json b/ports/libxv/vcpkg.json new file mode 100644 index 00000000000000..cf2b636fcdb3bd --- /dev/null +++ b/ports/libxv/vcpkg.json @@ -0,0 +1,14 @@ +{ + "name": "libxv", + "version": "1.0.11", + "description": "Xlib-based library for the X Video (Xv) extension to the X Window System", + "homepage": "https://gitlab.freedesktop.org/xorg/lib/libxv", + "license": null, + "dependencies": [ + "bzip2", + "libx11", + "libxext", + "xorg-macros", + "xproto" + ] +} diff --git a/ports/libxxf86vm/no-undefined.patch b/ports/libxxf86vm/no-undefined.patch new file mode 100644 index 00000000000000..aacc74f226b641 --- /dev/null +++ b/ports/libxxf86vm/no-undefined.patch @@ -0,0 +1,13 @@ +diff --git a/src/Makefile.am b/src/Makefile.am +index 81f896790..100ca935a 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -6,7 +6,7 @@ AM_CFLAGS = $(XXF86VM_CFLAGS) $(MALLOC_ZERO_CFLAGS) + AM_CPPFLAGS = -I$(top_srcdir)/include + + libXxf86vm_la_LIBADD = $(XXF86VM_LIBS) +-libXxf86vm_la_LDFLAGS = -version-number 1:0:0 ++libXxf86vm_la_LDFLAGS = -no-undefined -version-number 1:0:0 + + libXxf86vmincludedir = $(includedir)/X11/extensions + libXxf86vminclude_HEADERS = $(top_srcdir)/include/X11/extensions/xf86vmode.h diff --git a/ports/libxxf86vm/portfile.cmake b/ports/libxxf86vm/portfile.cmake new file mode 100644 index 00000000000000..341aaf8c9a3de5 --- /dev/null +++ b/ports/libxxf86vm/portfile.cmake @@ -0,0 +1,35 @@ +if(NOT X_VCPKG_FORCE_VCPKG_X_LIBRARIES AND NOT VCPKG_TARGET_IS_WINDOWS) + message(STATUS "Utils and libraries provided by '${PORT}' should be provided by your system! Install the required packages or force vcpkg libraries by setting X_VCPKG_FORCE_VCPKG_X_LIBRARIES in your triplet!") + set(VCPKG_POLICY_EMPTY_PACKAGE enabled) +else() +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.freedesktop.org/xorg + OUT_SOURCE_PATH SOURCE_PATH + REPO lib/libxxf86vm + REF 7fe2d41f164d3015216c1079cc7fbce1eea90c98 + SHA512 c7ee07478bcc5db18e47a5a7b8965d89172bbab733f60fb13b9527b7888445fdd86d5d99aa67d6436fc2ef3ea0bd8d9c6e4f10fbef351f229de982bd6f21f9c9 + HEAD_REF master + PATCHES no-undefined.patch +) + +set(ENV{ACLOCAL} "aclocal -I \"${CURRENT_INSTALLED_DIR}/share/xorg/aclocal/\"") + +if(VCPKG_CROSSCOMPILING) + set(OPTIONS --enable-malloc0returnsnull=yes + xorg_cv_malloc0_returns_null=yes) +endif() + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG + OPTIONS ${OPTIONS} +) + +vcpkg_install_make() +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +endif() diff --git a/ports/libxxf86vm/vcpkg.json b/ports/libxxf86vm/vcpkg.json new file mode 100644 index 00000000000000..fc1e9a008f302d --- /dev/null +++ b/ports/libxxf86vm/vcpkg.json @@ -0,0 +1,13 @@ +{ + "name": "libxxf86vm", + "version": "1.1.5", + "description": "Xlib-based library for the XFree86-VidMode X extension", + "homepage": "https://gitlab.freedesktop.org/xorg/lib/libxxf86vm", + "license": null, + "dependencies": [ + "bzip2", + "libxext", + "xorg-macros", + "xproto" + ] +} diff --git a/ports/libyaml/export-pkgconfig.patch b/ports/libyaml/export-pkgconfig.patch new file mode 100644 index 00000000000000..5e0d5a3b7479ea --- /dev/null +++ b/ports/libyaml/export-pkgconfig.patch @@ -0,0 +1,16 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 4f81148..8006536 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -158,3 +158,11 @@ install( + FILES ${config_version_file} + DESTINATION ${INSTALL_CMAKE_DIR} COMPONENT Development + ) ++ ++set(prefix ${CMAKE_INSTALL_PREFIX}) ++set(exec_prefix ${CMAKE_INSTALL_PREFIX}) ++set(includedir ${CMAKE_INSTALL_PREFIX}/include) ++set(libdir ${CMAKE_INSTALL_PREFIX}/lib) ++set(PACKAGE_VERSION 0.1) ++configure_file(yaml-0.1.pc.in ${PROJECT_BINARY_DIR}/yaml-0.1.pc @ONLY) ++install(FILES ${PROJECT_BINARY_DIR}/yaml-0.1.pc DESTINATION lib/pkgconfig) diff --git a/ports/libyaml/portfile.cmake b/ports/libyaml/portfile.cmake index a9b75c771fac77..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() @@ -8,21 +8,26 @@ vcpkg_from_github( REF 2c891fc7a770e8ba2fec34fc6b545c672beb37e6 # 0.2.5 SHA512 7cdde7b48c937777b851747f7e0b9a74cb7da30173e09305dad931ef83c3fcee3e125e721166690fe6a0987ba897564500530e5518e4b66b1c9b1db8900bf320 HEAD_REF master - PATCHES ${PATCHES} + PATCHES + ${PATCHES} + export-pkgconfig.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_TESTING=OFF -DINSTALL_CMAKE_DIR=share/yaml ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/yaml TARGET_PATH share/yaml) +vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/include/config.h ${CURRENT_PACKAGES_DIR}/debug/share) +vcpkg_cmake_config_fixup(PACKAGE_NAME yaml CONFIG_PATH share/yaml) -configure_file(${SOURCE_PATH}/License ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/include/config.h" "${CURRENT_PACKAGES_DIR}/debug/share") + +configure_file("${SOURCE_PATH}/License" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) diff --git a/ports/libyaml/vcpkg.json b/ports/libyaml/vcpkg.json index da3bff85b96bbb..ba805ab0488ce0 100644 --- a/ports/libyaml/vcpkg.json +++ b/ports/libyaml/vcpkg.json @@ -1,7 +1,17 @@ { "name": "libyaml", - "version-string": "0.2.5", - "port-version": 1, + "version": "0.2.5", + "port-version": 5, "description": "A C library for parsing and emitting YAML.", - "homepage": "https://github.com/yaml/libyaml" + "homepage": "https://github.com/yaml/libyaml", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } 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-build-type.patch b/ports/libyuv/fix-build-type.patch deleted file mode 100644 index 179a7f7ea0b174..00000000000000 --- a/ports/libyuv/fix-build-type.patch +++ /dev/null @@ -1,62 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 50442cd..fdc82f2 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -28,24 +28,32 @@ LIST ( SORT ly_unittest_sources ) - INCLUDE_DIRECTORIES( BEFORE ${ly_inc_dir} ) - - # this creates the static library (.a) -+if (NOT BUILD_SHARED_LIBS) - ADD_LIBRARY ( ${ly_lib_static} STATIC ${ly_source_files} ) - SET_TARGET_PROPERTIES( ${ly_lib_static} PROPERTIES PUBLIC_HEADER include/libyuv.h ) -- -+else() - # 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" ) -- -+endif() - # this creates the conversion tool - ADD_EXECUTABLE ( yuvconvert ${ly_base_dir}/util/yuvconvert.cc ) --TARGET_LINK_LIBRARIES ( yuvconvert ${ly_lib_static} ) -- -+if (BUILD_SHARED_LIBS) -+ TARGET_LINK_LIBRARIES ( yuvconvert ${ly_lib_shared} ) -+else() -+ TARGET_LINK_LIBRARIES ( yuvconvert ${ly_lib_static} ) -+endif() - - INCLUDE ( FindJPEG ) - if (JPEG_FOUND) -- include_directories( ${JPEG_INCLUDE_DIR} ) -- target_link_libraries( ${ly_lib_shared} PUBLIC ${JPEG_LIBRARY} ) -- target_link_libraries( yuvconvert ${JPEG_LIBRARY} ) -+ include_directories( ${JPEG_INCLUDE_DIR}) -+ if( BUILD_SHARED_LIBS) -+ target_link_libraries(${ly_lib_shared} PUBLIC ${JPEG_LIBRARY}) -+ else() -+ target_link_libraries(${ly_lib_static} PUBLIC ${JPEG_LIBRARY}) -+ endif() -+ target_link_libraries(yuvconvert ${JPEG_LIBRARY}) - add_definitions( -DHAVE_JPEG ) - endif() - -@@ -88,11 +96,13 @@ endif() - - - # install the conversion tool, .so, .a, and all the header files --INSTALL ( TARGETS yuvconvert DESTINATION bin ) -+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 ( TARGETS ${ly_lib_shared} EXPORT libyuv-targets LIBRARY DESTINATION lib RUNTIME DESTINATION bin ) -- -+if (NOT BUILD_SHARED_LIBS) -+ INSTALL ( TARGETS ${ly_lib_static} EXPORT libyuv-targets DESTINATION lib INCLUDES DESTINATION include PUBLIC_HEADER DESTINATION include ) -+else() -+ INSTALL ( TARGETS ${ly_lib_shared} EXPORT libyuv-targets LIBRARY DESTINATION lib RUNTIME DESTINATION bin ) -+endif() - INSTALL( EXPORT libyuv-targets DESTINATION share/cmake/libyuv/ EXPORT_LINK_INTERFACE_LIBRARIES ) - - # 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 00cc50599a32ce..00000000000000 --- a/ports/libyuv/fix_cmakelists.patch +++ /dev/null @@ -1,61 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index ed4948f..5b4e112 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -2,10 +2,14 @@ - # Originally created for "roxlu build system" to compile libyuv on windows - # Run with -DTEST=ON to build unit tests - --PROJECT ( YUV C CXX ) # "C" is required even for C++ projects - CMAKE_MINIMUM_REQUIRED( VERSION 2.8 ) -+CMAKE_POLICY( SET CMP0022 NEW ) -+ -+PROJECT ( YUV C CXX ) # "C" is required even for C++ projects - 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 ) -@@ -14,6 +18,7 @@ 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 ) - -@@ -24,6 +29,7 @@ INCLUDE_DIRECTORIES( BEFORE ${ly_inc_dir} ) - - # this creates the static library (.a) - ADD_LIBRARY ( ${ly_lib_static} STATIC ${ly_source_files} ) -+SET_TARGET_PROPERTIES( ${ly_lib_static} PROPERTIES PUBLIC_HEADER include/libyuv.h ) - - # this creates the shared library (.so) - ADD_LIBRARY ( ${ly_lib_shared} SHARED ${ly_source_files} ) -@@ -38,6 +44,7 @@ TARGET_LINK_LIBRARIES ( yuvconvert ${ly_lib_static} ) - INCLUDE ( FindJPEG ) - if (JPEG_FOUND) - include_directories( ${JPEG_INCLUDE_DIR} ) -+ target_link_libraries( ${ly_lib_shared} PUBLIC ${JPEG_LIBRARY} ) - target_link_libraries( yuvconvert ${JPEG_LIBRARY} ) - add_definitions( -DHAVE_JPEG ) - endif() -@@ -81,10 +88,12 @@ 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 bin ) -+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 ( TARGETS ${ly_lib_shared} EXPORT libyuv-targets LIBRARY DESTINATION lib RUNTIME DESTINATION bin ) -+ -+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 aa5b81de149a78..80450bccefa3fe 100644 --- a/ports/libyuv/portfile.cmake +++ b/ports/libyuv/portfile.cmake @@ -1,32 +1,51 @@ -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - vcpkg_from_git( OUT_SOURCE_PATH SOURCE_PATH URL https://chromium.googlesource.com/libyuv/libyuv - REF 287158925b0e03ea4499a18b4e08478c5781541b #2021-4-15 + 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 - fix-build-type.patch + cmake.diff +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + tools BUILD_TOOLS ) -set(POSTFIX d) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} OPTIONS_DEBUG - -DCMAKE_DEBUG_POSTFIX=${POSTFIX} + -DBUILD_TOOLS=OFF ) -vcpkg_install_cmake() -vcpkg_copy_pdbs() +vcpkg_cmake_install() +vcpkg_cmake_config_fixup() +if("tools" IN_LIST FEATURES) + vcpkg_copy_tools(TOOL_NAMES yuvconvert yuvconstants AUTO_CLEAN) +endif() + +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") -vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/libyuv) +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}") -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +vcpkg_cmake_get_vars(cmake_vars_file) +include("${cmake_vars_file}") +if(VCPKG_DETECTED_CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") + file(APPEND "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" [[ -vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/include/libyuv/convert.h "#ifdef HAVE_JPEG" "#if 1") -vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/include/libyuv/convert_argb.h "#ifdef HAVE_JPEG" "#if 1") +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() -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) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/libyuv/usage b/ports/libyuv/usage new file mode 100644 index 00000000000000..b4c7d12f9904ea --- /dev/null +++ b/ports/libyuv/usage @@ -0,0 +1,5 @@ +libyuv provides CMake targets: + + # Unofficial config package and target from vcpkg + find_package(libyuv CONFIG REQUIRED) + target_link_libraries(main PRIVATE yuv) diff --git a/ports/libyuv/vcpkg.json b/ports/libyuv/vcpkg.json index fcf55453db756d..4b8c9cef5ca6d8 100644 --- a/ports/libyuv/vcpkg.json +++ b/ports/libyuv/vcpkg.json @@ -1,9 +1,29 @@ { "name": "libyuv", - "version-date": "2021-04-15", + "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, "dependencies": [ - "libjpeg-turbo" - ] + "libjpeg-turbo", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + { + "name": "vcpkg-cmake-get-vars", + "host": true + } + ], + "features": { + "tools": { + "description": "build command line tool", + "supports": "!android & !ios & !xbox & !wasm32" + } + } } diff --git a/ports/libzen/portfile.cmake b/ports/libzen/portfile.cmake index f7770454c1d652..75a7dca390ab92 100644 --- a/ports/libzen/portfile.cmake +++ b/ports/libzen/portfile.cmake @@ -1,25 +1,30 @@ -if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") +if(VCPKG_TARGET_IS_WINDOWS) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO MediaArea/ZenLib - REF v0.4.38 - SHA512 92c3fc3994bd7110021adbfa3ce48ed6e80f162946b912e9e06ed58edc224600e56e3aab3203ad3fa8759dab9790cb5536475f070f0c060b00585911a6cc0661 + REF "v${VERSION}" + SHA512 4232eb6e73e9b380f6fe2ce3cfeb9fe343936362a35ca8d088c783dc6277332df762d689efe023e3f1418c2e6d2629e0b82ac93df9cce3ae0ab346c2ed1911f1 HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH}/Project/CMake - PREFER_NINJA -) +vcpkg_find_acquire_program(PKGCONFIG) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/zenlib TARGET_PATH share/zenlib) +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/Project/CMake" + OPTIONS + "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}" + -DCMAKE_REQUIRE_FIND_PACKAGE_PkgConfig=1 +) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME zenlib) +vcpkg_fixup_pkgconfig() +if(NOT VCPKG_BUILD_TYPE AND VCPKG_TARGET_IS_WINDOWS) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libzen.pc" " -lzen" " -lzend") +endif() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/pkgconfig) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") -file(INSTALL ${SOURCE_PATH}/License.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/libzen RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/License.txt") diff --git a/ports/libzen/vcpkg.json b/ports/libzen/vcpkg.json index 86b8cba2bef77d..69bb33dadfe8ff 100644 --- a/ports/libzen/vcpkg.json +++ b/ports/libzen/vcpkg.json @@ -1,6 +1,17 @@ { "name": "libzen", - "version-string": "0.4.38", - "port-version": 1, - "description": "ZenLib is a C++ utility library for easiest cross-platform development" + "version": "0.4.41", + "description": "ZenLib is a C++ utility library for easiest cross-platform development", + "homepage": "https://github.com/MediaArea/ZenLib", + "license": "Zlib", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/libzim/cross-builds.diff b/ports/libzim/cross-builds.diff new file mode 100644 index 00000000000000..8e3b4679ad64db --- /dev/null +++ b/ports/libzim/cross-builds.diff @@ -0,0 +1,45 @@ +diff --git a/meson.build b/meson.build +index f3e7a27..d946c49 100644 +--- a/meson.build ++++ b/meson.build +@@ -1,9 +1,9 @@ + project('libzim', ['c', 'cpp'], + version : '9.0.0', + license : 'GPL2', +- 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' + add_project_arguments('-D_LARGEFILE64_SOURCE=1', '-D_FILE_OFFSET_BITS=64', language: 'cpp') + endif + +@@ -56,8 +56,8 @@ private_conf.set('ENABLE_XAPIAN', xapian_dep.found()) + public_conf.set('LIBZIM_WITH_XAPIAN', xapian_dep.found()) + + pkg_requires = ['liblzma', 'libzstd'] +-if build_machine.system() == 'windows' +- extra_link_args = ['-lRpcrt4', '-lWs2_32', '-lwinmm', '-licuuc', '-licuin'] ++if host_machine.system() == 'windows' ++ extra_link_args = ['-lrpcrt4', '-lws2_32', '-lwinmm'] + extra_cpp_args = ['-DSORTPP_PASS'] + else + extra_link_args = [] +@@ -65,7 +65,7 @@ else + endif + + compiler = meson.get_compiler('cpp') +-if (compiler.get_id() == 'gcc' and build_machine.system() == 'linux') or host_machine.system() == 'freebsd' ++if (compiler.get_id() == 'gcc' and host_machine.system() == 'linux') or host_machine.system() == 'freebsd' + # C++ std::thread is implemented using pthread on linux by gcc + thread_dep = dependency('threads') + else +@@ -74,6 +74,8 @@ endif + + if xapian_dep.found() + pkg_requires += ['xapian-core'] ++endif ++if true + icu_dep = dependency('icu-i18n', static:static_linkage) + pkg_requires += ['icu-i18n'] + else diff --git a/ports/libzim/dllexport.diff b/ports/libzim/dllexport.diff new file mode 100644 index 00000000000000..212eb9e541c2a9 --- /dev/null +++ b/ports/libzim/dllexport.diff @@ -0,0 +1,16 @@ +diff --git a/include/zim/zim.h b/include/zim/zim.h +index 80e8596..631cfab 100644 +--- a/include/zim/zim.h ++++ b/include/zim/zim.h +@@ -35,8 +35,10 @@ + + #include + +-#if defined(_MSC_VER) && defined(LIBZIM_EXPORT_DLL) ++#if defined(_WIN32) && defined(LIBZIM_EXPORT_DLL) + #define LIBZIM_API __declspec(dllexport) ++#elif defined(_WIN32) && defined(LIBZIM_IMPORT_DLL) ++ #define LIBZIM_API __declspec(dllimport) + #else + #define LIBZIM_API + #endif diff --git a/ports/libzim/portfile.cmake b/ports/libzim/portfile.cmake new file mode 100644 index 00000000000000..c1a751a4b64477 --- /dev/null +++ b/ports/libzim/portfile.cmake @@ -0,0 +1,37 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO openzim/libzim + REF "${VERSION}" + SHA512 55d18535d677d3249c8331ceac1acd4afa650de1f61a0aa3ffc1c98ca2a395bc657c774d01780f1a2c2aedd7d9c5d2e7d9f5e717ed879de84dc6d1be6accfe5e + HEAD_REF main + PATCHES + cross-builds.diff + dllexport.diff + subdirs.diff +) + +set(EXTRA_OPTIONS "") + +if(NOT "xapian" IN_LIST FEATURES) + list(APPEND EXTRA_OPTIONS "-Dwith_xapian=false") +endif() + +vcpkg_configure_meson( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -Dexamples=false + ${EXTRA_OPTIONS} +) + +vcpkg_install_meson() + +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 new file mode 100644 index 00000000000000..53ab0e0a250b82 --- /dev/null +++ b/ports/libzim/vcpkg.json @@ -0,0 +1,25 @@ +{ + "name": "libzim", + "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 & !uwp & !xbox", + "dependencies": [ + "icu", + "liblzma", + { + "name": "vcpkg-tool-meson", + "host": true + }, + "zstd" + ], + "features": { + "xapian": { + "description": "Enable xapian support", + "dependencies": [ + "xapian" + ] + } + } +} diff --git a/ports/libzip/fix-dependency.patch b/ports/libzip/fix-dependency.patch index c3d0ec294abe1d..f2c1a06bd309bd 100644 --- a/ports/libzip/fix-dependency.patch +++ b/ports/libzip/fix-dependency.patch @@ -1,27 +1,14 @@ diff --git a/libzip-config.cmake.in b/libzip-config.cmake.in -index 5b9aa55..0723f3c 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 @@ - # 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") + # 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") + + \ No newline at end of file diff --git a/ports/libzip/portfile.cmake b/ports/libzip/portfile.cmake index 9670853e738f41..18b491382ea02f 100644 --- a/ports/libzip/portfile.cmake +++ b/ports/libzip/portfile.cmake @@ -1,11 +1,12 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO nih-at/libzip - REF v1.8.0 - SHA512 f7a78ff6d964a485b8fe3dfb7a61afae69984e67367e6de78c3cb10f15a0904800a1aeca9d33b63bc24ca926fff98638914343a35e7c3a4c3ec8b7594fc25fc1 + REF "v${VERSION}" + SHA512 1b0bffe579de5d2c52b23075f5351a5670e9f7a364c14a876ca3c490a85c0c9b1ebd9a97e729c5c7e71d496a3a0a8f28505bfadd7d8423954d3547a9a8f63841 HEAD_REF master PATCHES fix-dependency.patch + use-requires.patch ) vcpkg_check_features( @@ -45,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 new file mode 100644 index 00000000000000..3d4debe2d389bb --- /dev/null +++ b/ports/libzip/use-requires.patch @@ -0,0 +1,85 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b2e7724..0af7929 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -43,12 +43,14 @@ endif() + if(ENABLE_GNUTLS) + find_package(Nettle 3.0) + find_package(GnuTLS) ++ list(APPEND REQUIRES nettle) + endif() + if(ENABLE_MBEDTLS) + find_package(MbedTLS 1.0) + endif() + if(ENABLE_OPENSSL) + find_package(OpenSSL) ++ list(APPEND REQUIRES openssl) + endif() + if(WIN32) + if(ENABLE_WINDOWS_CRYPTO) +@@ -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) + # 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) ++ list(APPEND REQUIRES bzip2) + endif(ENABLE_BZIP2) + + if(ENABLE_LZMA) +@@ -236,6 +240,7 @@ if(ENABLE_LZMA) + else() + message(WARNING "-- lzma library not found; lzma/xz support disabled") + endif(LIBLZMA_FOUND) ++ list(APPEND REQUIRES liblzma) + endif(ENABLE_LZMA) + + if(ENABLE_ZSTD) +@@ -250,6 +255,7 @@ if(ENABLE_ZSTD) + else() + message(WARNING "-- zstd library not found; zstandard support disabled") + endif(zstd_FOUND) ++ list(APPEND REQUIRES libzstd) + endif(ENABLE_ZSTD) + + if (COMMONCRYPTO_FOUND) +@@ -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 "-lBZip2::BZip2" "" LIBS ${LIBS}) ++string(REGEX REPLACE "-lLibLZMA::LibLZMA" "" 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}) + string(REGEX REPLACE "-lNettle::Nettle" "-lnettle" LIBS ${LIBS}) ++list(JOIN REQUIRES " " REQUIRES) + configure_file(libzip.pc.in libzip.pc @ONLY) + 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 d51b0ab..07b3b50 100644 +--- a/libzip.pc.in ++++ b/libzip.pc.in +@@ -9,6 +9,7 @@ zipcmp=${bindir}/zipcmp + Name: libzip + Description: library for handling zip archives + Version: @PROJECT_VERSION@ ++Requires.private: @REQUIRES@ + Libs: @PKG_CONFIG_RPATH@ -L${libdir} -lzip + Libs.private: @LIBS@ + Cflags: -I${includedir} diff --git a/ports/libzip/vcpkg.json b/ports/libzip/vcpkg.json index 4468266c72e6ae..7ff39ae3641b05 100644 --- a/ports/libzip/vcpkg.json +++ b/ports/libzip/vcpkg.json @@ -1,8 +1,9 @@ { "name": "libzip", - "version-semver": "1.8.0", + "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", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/libzippp/fix-find-lzma.patch b/ports/libzippp/fix-find-lzma.patch deleted file mode 100644 index bc52cbd8fb583f..00000000000000 --- a/ports/libzippp/fix-find-lzma.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/cmake/FindLIBZIP.cmake b/cmake/FindLIBZIP.cmake -index c51c09a..a32bb13 100644 ---- a/cmake/FindLIBZIP.cmake -+++ b/cmake/FindLIBZIP.cmake -@@ -50,7 +50,7 @@ if (LIBZIP_FOUND) - set_property(TARGET libzip::zip APPEND PROPERTY INTERFACE_LINK_LIBRARIES Nettle::Nettle) - endif() - if(_have_extra_libs MATCHES "-llzma") -- find_package(LibLZMA::LibLZMA REQUIRED) -+ find_package(LibLZMA REQUIRED) - set_property(TARGET libzip::zip APPEND PROPERTY INTERFACE_LINK_LIBRARIES LibLZMA::LibLZMA) - endif() - if(_have_extra_libs MATCHES "-lz") diff --git a/ports/libzippp/portfile.cmake b/ports/libzippp/portfile.cmake index 7bf26dd6ba2c77..de3f0daada57b8 100644 --- a/ports/libzippp/portfile.cmake +++ b/ports/libzippp/portfile.cmake @@ -1,10 +1,9 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ctabin/libzippp - REF 0e907d7ef8de46822602cb7633a5bc6fc0cc36de #v5.0-1.8.0 with CXX std version c++11 - SHA512 f91724b0225bddcaf705e7e1493ad415b534096cfe3636d50995245982984e7420148206f4e24d72e596d75eac570d7b512c5aa836eaf4a8951e27737bcee9eb + REF 7e65f6cd173da8f20393d331ceb697482b206edf #v7.1-1.10.1 with CXX std version c++11 + SHA512 0076e39f6c1375d61e70dedc5132c48a8191534f2e6aeb042fe0f80c2aa068112e709446b29f84e513bf40ad532816c07155c2bc8ff86114e9c2f45b3f514fc0 HEAD_REF master - PATCHES fix-find-lzma.patch ) vcpkg_check_features( @@ -12,9 +11,8 @@ vcpkg_check_features( FEATURES encryption LIBZIPPP_ENABLE_ENCRYPTION) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${FEATURE_OPTIONS} -DLIBZIPPP_BUILD_TESTS=OFF @@ -22,16 +20,16 @@ vcpkg_configure_cmake( -DLIBZIPPP_INSTALL_HEADERS=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() if(VCPKG_TARGET_IS_WINDOWS) - vcpkg_fixup_cmake_targets(CONFIG_PATH "cmake/libzippp") + vcpkg_cmake_config_fixup(CONFIG_PATH "cmake/libzippp") else() - vcpkg_fixup_cmake_targets(CONFIG_PATH "share/libzippp") + vcpkg_cmake_config_fixup(CONFIG_PATH "share/libzippp") endif() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") # Handle copyright file(INSTALL ${SOURCE_PATH}/LICENCE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/libzippp/vcpkg.json b/ports/libzippp/vcpkg.json index e17b123b287893..84cc33d77f0b37 100644 --- a/ports/libzippp/vcpkg.json +++ b/ports/libzippp/vcpkg.json @@ -1,9 +1,9 @@ { "name": "libzippp", - "version-string": "5.0-1.8.0", - "port-version": 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", "dependencies": [ { "name": "libzip", @@ -12,6 +12,14 @@ "bzip2" ] }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, "zlib" ], "features": { diff --git a/ports/licensepp/0002-fix-cmake.patch b/ports/licensepp/0002-fix-cmake.patch deleted file mode 100644 index 5f13d03e1855f8..00000000000000 --- a/ports/licensepp/0002-fix-cmake.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 5a7cbbe8423ee3daf533bcc1fefa7d1f1315634c Mon Sep 17 00:00:00 2001 -From: Nicole Mazzuca -Date: Wed, 23 Sep 2020 09:43:37 -0700 -Subject: [PATCH 2/2] fix cmake - -Remove this patch if https://github.com/amrayn/licensepp/pull/33 is merged ---- - CMakeLists.txt | 7 +++---- - 1 file changed, 3 insertions(+), 4 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index b2c39d1..0d49632 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -35,10 +35,8 @@ if (APPLE) - endif() - endif() - --if(MSVC) -- list (APPEND CMAKE_CXX_FLAGS " -std=c++11 -O3 ") --else() -- list (APPEND CMAKE_CXX_FLAGS " -std=c++11 -O3 -Wall -Werror ") -+if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") -+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -O3 -Wall") - endif() - - # Check for cryptopp (static) -@@ -73,6 +71,7 @@ endif() - set_target_properties (licensepp-lib PROPERTIES - VERSION ${LICENSEPP_SOVERSION} - ) -+target_include_directories(licensepp-lib PUBLIC $) - target_link_libraries (licensepp-lib - ${CRYPTOPP_LIBRARIES} - ) --- -2.24.3 (Apple Git-128) - diff --git a/ports/licensepp/0002-fix-compilation-macos.patch b/ports/licensepp/0002-fix-compilation-macos.patch new file mode 100644 index 00000000000000..3bad0b9f38e46a --- /dev/null +++ b/ports/licensepp/0002-fix-compilation-macos.patch @@ -0,0 +1,26 @@ +From b0e09221f5f782e6dc2dedf197eba8064095edcd Mon Sep 17 00:00:00 2001 +From: Michael Migliore +Date: Thu, 6 Apr 2023 09:36:17 +0200 +Subject: [PATCH] Fix compilation on macOS + +--- + src/json-object.h | 6 ------ + 1 file changed, 6 deletions(-) + +diff --git a/src/json-object.h b/src/json-object.h +index 712e9a0..9764514 100644 +--- a/src/json-object.h ++++ b/src/json-object.h +@@ -80,12 +80,6 @@ class JsonObject + return get(key, defaultValue); + } + +- inline const char* getCString(const std::string& key, +- const char* defaultValue = "") const +- { +- return getString(key, defaultValue).c_str(); +- } +- + inline bool hasKey(const std::string& key) const + { + return m_root.count(key) > 0; diff --git a/ports/licensepp/portfile.cmake b/ports/licensepp/portfile.cmake index aa4d009695228f..807841f9f569b1 100644 --- a/ports/licensepp/portfile.cmake +++ b/ports/licensepp/portfile.cmake @@ -1,32 +1,29 @@ -vcpkg_fail_port_install(ON_TARGET "UWP") - vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO amrayn/licensepp - REF 0b6d669c0b323be004f73d8c811d38158ce8c0c7 - SHA512 2161575815d8ff49110d7c2823662ba30d9f1ca2eb6be6dad1ee0807fb3fa9f28483839a133c9d380035254df7c452f8d6fa7f17fd4f29acd8b9bfbbda059291 + REF e9501da1470a3bd29254975577d806612a3d3e3c + SHA512 6f70904d1214036af3891dc54f71ea2052acd8f60c277dbd2a5f3190ce4610771f36108d4d5a123c0e7312aded410d652460018d74586fc4f41b05fabb6100bd HEAD_REF master PATCHES 0001-use-old-pem-pack.patch - 0002-fix-cmake.patch + 0002-fix-compilation-macos.patch ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/FindCryptoPP.cmake DESTINATION ${SOURCE_PATH}/cmake) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/FindCryptoPP.cmake" DESTINATION "${SOURCE_PATH}/cmake") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -Dtest=OFF -Dtravis=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/${PORT}/cmake) +vcpkg_cmake_config_fixup(CONFIG_PATH share/${PORT}/cmake) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/licensepp/vcpkg.json b/ports/licensepp/vcpkg.json index 04de78675ebca8..ecb29ffda833db 100644 --- a/ports/licensepp/vcpkg.json +++ b/ports/licensepp/vcpkg.json @@ -1,7 +1,6 @@ { "name": "licensepp", - "version-string": "2020-05-19", - "port-version": 2, + "version-date": "2020-11-24", "description": "Cross platform software licensing library", "homepage": "https://github.com/zuhd-org/licensepp", "supports": "!uwp", @@ -11,6 +10,14 @@ "features": [ "pem-pack" ] + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true } ] } 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/lightningscanner/portfile.cmake b/ports/lightningscanner/portfile.cmake new file mode 100644 index 00000000000000..ebb2fc656ecbfb --- /dev/null +++ b/ports/lightningscanner/portfile.cmake @@ -0,0 +1,26 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO localcc/LightningScanner + REF v${VERSION} + SHA512 fa2aefb6a6097544f578a96592b7b2ff58d5bccac7b10a0ab45fbe87e1204b3cbde5c16c64974e7434ea385727fb150b39080bf809f9698d944f75a6c110fe3c +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DLIGHTNING_SCANNER_INSTALL=ON + -DLIGHTNING_SCANNER_BUILD_BENCH=OFF + -DLIGHTNING_SCANNER_BUILD_DOCS=OFF + -DLIGHTNING_SCANNER_BUILD_TESTS=OFF +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(CONFIG_PATH share/cmake/LightningScanner) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + diff --git a/ports/lightningscanner/usage b/ports/lightningscanner/usage new file mode 100644 index 00000000000000..2be4d647578a1e --- /dev/null +++ b/ports/lightningscanner/usage @@ -0,0 +1,4 @@ +The package lightningscanner is compatible with built-in CMake targets: + + find_package(LightningScanner REQUIRED) + target_link_libraries(main PRIVATE LightningScanner::LightningScanner) diff --git a/ports/lightningscanner/vcpkg.json b/ports/lightningscanner/vcpkg.json new file mode 100644 index 00000000000000..7f8d8c63a7eadc --- /dev/null +++ b/ports/lightningscanner/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "lightningscanner", + "version": "1.0.1", + "description": "A lightning-fast memory signature/pattern scanner, capable of scanning gigabytes of data per second.", + "homepage": "https://localcc.github.io/LightningScanner/", + "license": "MIT", + "supports": "!arm", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/lilv/portfile.cmake b/ports/lilv/portfile.cmake index 858c6c3bf88323..9a7952360cbdc4 100644 --- a/ports/lilv/portfile.cmake +++ b/ports/lilv/portfile.cmake @@ -1,5 +1,3 @@ -vcpkg_fail_port_install(ON_TARGET "UWP") - vcpkg_from_gitlab( GITLAB_URL https://gitlab.com OUT_SOURCE_PATH SOURCE_PATH @@ -11,16 +9,15 @@ vcpkg_from_gitlab( file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - PREFER_NINJA OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=1 ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets() +vcpkg_cmake_config_fixup() file( INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" diff --git a/ports/lilv/vcpkg.json b/ports/lilv/vcpkg.json index bcebc1eca16337..748c91b23d54a8 100644 --- a/ports/lilv/vcpkg.json +++ b/ports/lilv/vcpkg.json @@ -1,6 +1,7 @@ { "name": "lilv", - "version-string": "0.24.10", + "version": "0.24.10", + "port-version": 2, "description": "Lilv is a C library for simple use of LV2 plugins in applications.", "homepage": "https://drobilla.net/software/lilv", "license": "ISC", @@ -9,6 +10,14 @@ "lv2", "serd", "sord", - "sratom" + "sratom", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/linalg/portfile.cmake b/ports/linalg/portfile.cmake index 23ae4c83c95ab1..27aa89180ce20a 100644 --- a/ports/linalg/portfile.cmake +++ b/ports/linalg/portfile.cmake @@ -1,11 +1,13 @@ #header-only library + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO sgorsten/linalg - REF v2.1 - SHA512 48d8248ea1bca3d4fe35d038690f496cd0c8c9469d76eca684668ce6fef5df0eb9556f9b49e4da90e2c2e8ef475791877aa815c3f9437c097fbfc303134d02d7 + REF "v${VERSION}" + SHA512 736f6ff83fcc4a772ef5ab8e574b0e56aca9fcf2318d92f56f94684ffbd7283540b6496381d52834545b4902147bc67a3afa21ab877bc44bba84471c2eff6862 HEAD_REF master ) -configure_file(${SOURCE_PATH}/UNLICENSE ${CURRENT_PACKAGES_DIR}/share/linalg/copyright COPYONLY) -configure_file(${SOURCE_PATH}/linalg.h ${CURRENT_PACKAGES_DIR}/include/linalg.h COPYONLY) \ No newline at end of file +file(INSTALL "${SOURCE_PATH}/linalg.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/UNLICENSE") diff --git a/ports/linalg/vcpkg.json b/ports/linalg/vcpkg.json index 07871bcfdb0d22..2b0d2d594c0ed3 100644 --- a/ports/linalg/vcpkg.json +++ b/ports/linalg/vcpkg.json @@ -1,6 +1,7 @@ { "name": "linalg", - "version-string": "2.1", - "port-version": 1, - "description": "linalg.h is a single header public domain linear algebra library for C++11" + "version": "2.2", + "description": "linalg.h is a single header public domain linear algebra library for C++11", + "homepage": "https://github.com/sgorsten/linalg", + "license": "Unlicense" } diff --git a/ports/linenoise-ng/portfile.cmake b/ports/linenoise-ng/portfile.cmake deleted file mode 100644 index e0d1db92852c3f..00000000000000 --- a/ports/linenoise-ng/portfile.cmake +++ /dev/null @@ -1,22 +0,0 @@ -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO arangodb/linenoise-ng - REF 4754bee2d8eb3c4511e6ac87cac62255b2011e2f - SHA512 080c6b4cde911a162885a2e6fc95143ab481b4dcc0f8b871a55a071ccb4ab868b19201ec17475a3c3ceef1b82325d757913383b3c46da6946ddc8bfc0d82d9ca - HEAD_REF master -) - - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - DISABLE_PARALLEL_CONFIGURE -) - -vcpkg_install_cmake() -vcpkg_copy_pdbs() - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) - -# Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/linenoise-ng RENAME copyright) diff --git a/ports/linenoise-ng/vcpkg.json b/ports/linenoise-ng/vcpkg.json deleted file mode 100644 index 01e6e121ef2f1b..00000000000000 --- a/ports/linenoise-ng/vcpkg.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "linenoise-ng", - "version-string": "4754bee2d8eb3", - "port-version": 2, - "description": "A small, portable GNU readline replacement for Linux, Windows and MacOS which is capable of handling UTF-8 characters." -} diff --git a/ports/linmath/portfile.cmake b/ports/linmath/portfile.cmake new file mode 100644 index 00000000000000..40550a3249a2b0 --- /dev/null +++ b/ports/linmath/portfile.cmake @@ -0,0 +1,12 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO datenwolf/linmath.h + REF 3eef82841046507e16a0f6194a61cee2eadd34b3 + SHA512 cd8bc9c29b984cbb2fb1a1e743566e8f099d243c294658e84980cdbd83c881122f1abee68c50139ee9fddaa96f22f52eeae8e26dc86caa114cd11ebe5644a4db + HEAD_REF master +) + +# This is a header only library +file(INSTALL "${SOURCE_PATH}/linmath.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include/linmath.h") + +file(INSTALL "${SOURCE_PATH}/LICENCE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME "copyright") diff --git a/ports/linmath/vcpkg.json b/ports/linmath/vcpkg.json new file mode 100644 index 00000000000000..30386c573a9a1a --- /dev/null +++ b/ports/linmath/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "linmath", + "version-date": "2022-07-30", + "description": "linmath.h -- A small library for linear math as required for computer graphics", + "homepage": "https://github.com/datenwolf/linmath.h", + "license": "WTFPL" +} diff --git a/ports/lionkor-commandline/add-install.patch b/ports/lionkor-commandline/add-install.patch new file mode 100644 index 00000000000000..8d6ce1df1e3007 --- /dev/null +++ b/ports/lionkor-commandline/add-install.patch @@ -0,0 +1,11 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b04634b..ba08ef4 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -44,3 +44,5 @@ if(BUILD_EXAMPLES) + set_property(DIRECTORY ${CMAKE_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT commandline_test) + endif() + ++set_target_properties(commandline PROPERTIES PUBLIC_HEADER "commandline.h") ++install(TARGETS commandline RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib PUBLIC_HEADER DESTINATION include) + \ No newline at end of file diff --git a/ports/lionkor-commandline/portfile.cmake b/ports/lionkor-commandline/portfile.cmake new file mode 100644 index 00000000000000..0aab65873e290b --- /dev/null +++ b/ports/lionkor-commandline/portfile.cmake @@ -0,0 +1,24 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO lionkor/commandline + REF v${VERSION} + SHA512 55473defd4e3837497c552511fdf0552a7a51a8510363d58f436b657e149241e23439c23622a42cf377bc94c8da502cf75e3ce70331e295520b427328bc0a140 + HEAD_REF master + PATCHES + add-install.patch +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_EXAMPLES=OFF +) +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/lionkor-commandline/vcpkg.json b/ports/lionkor-commandline/vcpkg.json new file mode 100644 index 00000000000000..a87389507c4569 --- /dev/null +++ b/ports/lionkor-commandline/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "lionkor-commandline", + "version-semver": "2.2.0", + "description": "A C++ commandline for use in servers and chat software. Provides very simple asynchronous input/output.", + "homepage": "https://github.com/lionkor/commandline/", + "license": "MIT", + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/litehtml/fix-relative-includes.patch b/ports/litehtml/fix-relative-includes.patch new file mode 100644 index 00000000000000..e86cb5e0efc3a6 --- /dev/null +++ b/ports/litehtml/fix-relative-includes.patch @@ -0,0 +1,22 @@ +diff --git a/include/litehtml.h b/include/litehtml.h +index 98a24e0..d20addd 100644 +--- a/include/litehtml.h ++++ b/include/litehtml.h +@@ -1,11 +1,11 @@ + #ifndef LITEHTML_H + #define LITEHTML_H + +-#include +-#include +-#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 diff --git a/ports/litehtml/portfile.cmake b/ports/litehtml/portfile.cmake new file mode 100644 index 00000000000000..bad41e7bf065e3 --- /dev/null +++ b/ports/litehtml/portfile.cmake @@ -0,0 +1,28 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO litehtml/litehtml + REF v0.9 + SHA512 2a156671b770a6a20ab00184d9869af779248dd1fb898930b3b479ee88d8b7d84f51fdbd689ae4124530ab70c8697b6641cf06b220631ce4fec4622e63845ea3 + PATCHES + use-vcpkg-gumbo.patch + fix-relative-includes.patch +) + +if (VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DLITEHTML_BUILD_TESTING=OFF +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME litehtml CONFIG_PATH lib/cmake/litehtml) + + +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/litehtml/use-vcpkg-gumbo.patch b/ports/litehtml/use-vcpkg-gumbo.patch new file mode 100644 index 00000000000000..b387df617dc9fa --- /dev/null +++ b/ports/litehtml/use-vcpkg-gumbo.patch @@ -0,0 +1,48 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index fe71729..21e77c8 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -10,11 +10,7 @@ enable_testing() + set(PROJECT_MAJOR 0) + set(PROJECT_MINOR 0) + +-option(EXTERNAL_GUMBO "Link against external gumbo instead of shipping a bundled copy" OFF) +- +-if(NOT EXTERNAL_GUMBO) +- add_subdirectory(src/gumbo) +-endif() ++find_package(unofficial-gumbo CONFIG REQUIRED) + + set(SOURCE_LITEHTML + src/codepoint.cpp +@@ -153,7 +149,7 @@ if (LITEHTML_UTF8) + target_include_directories(${PROJECT_NAME} PRIVATE include/${PROJECT_NAME}) + + # Gumbo +-target_link_libraries(${PROJECT_NAME} PUBLIC gumbo) ++target_link_libraries(${PROJECT_NAME} PRIVATE unofficial::gumbo::gumbo) + + # install and export + install(TARGETS ${PROJECT_NAME} +diff --git a/cmake/litehtmlConfig.cmake b/cmake/litehtmlConfig.cmake +index 5eedcf4..1027913 100644 +--- a/cmake/litehtmlConfig.cmake ++++ b/cmake/litehtmlConfig.cmake +@@ -1,3 +1,3 @@ + include(CMakeFindDependencyMacro) +-find_dependency(gumbo) ++find_dependency(unofficial-gumbo) + include(${CMAKE_CURRENT_LIST_DIR}/litehtmlTargets.cmake) +diff --git a/src/document.cpp b/src/document.cpp +index 8bd1ea8..51a9d42 100644 +--- a/src/document.cpp ++++ b/src/document.cpp +@@ -26,7 +26,7 @@ + #include + #include + #include +-#include "gumbo.h" ++#include + #include "utf8_strings.h" + #include "render_item.h" + #include "render_table.h" diff --git a/ports/litehtml/vcpkg.json b/ports/litehtml/vcpkg.json new file mode 100644 index 00000000000000..721de0dfb88692 --- /dev/null +++ b/ports/litehtml/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "litehtml", + "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", + "dependencies": [ + "gumbo", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/live555/CMakeLists.txt b/ports/live555/CMakeLists.txt index cb0854bb28f1d0..57cca4b002f36e 100644 --- a/ports/live555/CMakeLists.txt +++ b/ports/live555/CMakeLists.txt @@ -1,6 +1,7 @@ cmake_minimum_required(VERSION 3.5) project(live555 C CXX) +set(CMAKE_CXX_STANDARD 20) include_directories( BasicUsageEnvironment/include groupsock/include @@ -8,26 +9,60 @@ include_directories( UsageEnvironment/include ) +if (WIN32) + add_definitions(-DNO_GETIFADDRS) +endif(WIN32) + 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" +[[ +include(CMakeFindDependencyMacro) + +find_dependency(OpenSSL) + +include("${CMAKE_CURRENT_LIST_DIR}/unofficial-live555-targets.cmake") +]] +) + +install(FILES "${CMAKE_BINARY_DIR}/unofficial-live555-config.cmake" DESTINATION share/unofficial-live555) install(TARGETS groupsock BasicUsageEnvironment liveMedia UsageEnvironment + EXPORT unofficial-live555-targets RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib ) + +install( + EXPORT unofficial-live555-targets + FILE unofficial-live555-targets.cmake + NAMESPACE unofficial:: + DESTINATION share/unofficial-live555 +) diff --git a/ports/live555/fix-RTSPClient.patch b/ports/live555/fix-RTSPClient.patch index 66863963dab219..bdf36cf9b0c11b 100644 --- a/ports/live555/fix-RTSPClient.patch +++ b/ports/live555/fix-RTSPClient.patch @@ -1,13 +1,13 @@ diff --git a/liveMedia/RTSPClient.cpp b/liveMedia/RTSPClient.cpp -index 02c46c7..6127698 100644 +index 66e0c79..13255af 100644 --- a/liveMedia/RTSPClient.cpp +++ b/liveMedia/RTSPClient.cpp -@@ -1939,7 +1939,7 @@ int RTSPClient::write(const u_int8_t* data, unsigned count) { - if (fTLS.isNeeded) { - return fTLS.write(data, count); +@@ -2029,7 +2029,7 @@ int RTSPClient::write(const char* data, unsigned count) { + if (fOutputTLS->isNeeded) { + return fOutputTLS->write(data, count); } else { -- return send(fOutputSocketNum, data, count, 0); -+ return send(fOutputSocketNum, (const char *)data, count, 0); +- return send(fOutputSocketNum, data, count, MSG_NOSIGNAL); ++ return send(fOutputSocketNum, (const char *)data, count, MSG_NOSIGNAL); } } diff --git a/ports/live555/fix_operator_overload.patch b/ports/live555/fix_operator_overload.patch new file mode 100644 index 00000000000000..09206185cca1f9 --- /dev/null +++ b/ports/live555/fix_operator_overload.patch @@ -0,0 +1,13 @@ +diff --git a/liveMedia/MPEGVideoStreamFramer.cpp b/liveMedia/MPEGVideoStreamFramer.cpp +index 59c4656..a705e68 100644 +--- a/liveMedia/MPEGVideoStreamFramer.cpp ++++ b/liveMedia/MPEGVideoStreamFramer.cpp +@@ -129,7 +129,7 @@ void MPEGVideoStreamFramer + fPictureTimeBase = fFrameRate == 0.0 ? 0.0 : tc.pictures/fFrameRate; + fTcSecsBase = (((tc.days*24)+tc.hours)*60+tc.minutes)*60+tc.seconds; + fHaveSeenFirstTimeCode = True; +- } else if (fCurGOPTimeCode == fPrevGOPTimeCode) { ++ } else if (fCurGOPTimeCode.TimeCode::operator==(fPrevGOPTimeCode)) { + // The time code has not changed since last time. Adjust for this: + fPicturesAdjustment += picturesSinceLastGOP; + } else { diff --git a/ports/live555/portfile.cmake b/ports/live555/portfile.cmake index d4a5c0600441a6..a69c6eadc07fdb 100644 --- a/ports/live555/portfile.cmake +++ b/ports/live555/portfile.cmake @@ -1,33 +1,30 @@ -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - -if(NOT VCPKG_USE_HEAD_VERSION) - # Live555 only makes the latest releases available for download on their site - message(FATAL_ERROR "Live555 does not have persistent releases. Please re-run the installation with --head.") -endif() - -set(LIVE_VERSION latest) +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +string(REPLACE "-" "." format_version ${VERSION}) vcpkg_download_distfile(ARCHIVE - URLS "http://www.live555.com/liveMedia/public/live555-${LIVE_VERSION}.tar.gz" - FILENAME "live555-${LIVE_VERSION}.tar.gz" - SKIP_SHA512 + URLS "http://live555.com/liveMedia/public/live.${format_version}.tar.gz" + FILENAME "live.${format_version}.tar.gz" + SHA512 59c36211317dd99d459f454a007a180ad33fdd568974c107caddcbb436f9b9c63fc05858d76bedb7f71b5f43e6850d484a973fd5f9d4acc68fb2b4d0e0de3835 ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" PATCHES fix-RTSPClient.patch + fix_operator_overload.patch ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() +vcpkg_copy_pdbs() + +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-live555) file(GLOB HEADERS "${SOURCE_PATH}/BasicUsageEnvironment/include/*.h*" @@ -36,7 +33,5 @@ file(GLOB HEADERS "${SOURCE_PATH}/UsageEnvironment/include/*.h*" ) -file(COPY ${HEADERS} DESTINATION ${CURRENT_PACKAGES_DIR}/include) -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) - -vcpkg_copy_pdbs() +file(COPY ${HEADERS} DESTINATION "${CURRENT_PACKAGES_DIR}/include") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/live555/vcpkg.json b/ports/live555/vcpkg.json index 176110f2d57141..f9b6f0632e3217 100644 --- a/ports/live555/vcpkg.json +++ b/ports/live555/vcpkg.json @@ -1,10 +1,20 @@ { "name": "live555", - "version-string": "latest", - "port-version": 2, + "version-date": "2024-10-24", + "port-version": 1, "description": "A complete RTSP server application", - "homepage": "https://www.live555.com/liveMedia", + "homepage": "http://www.live555.com/liveMedia", + "license": "GPL-3.0-or-later", + "supports": "!xbox", "dependencies": [ - "openssl" + "openssl", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/llfio/portfile.cmake b/ports/llfio/portfile.cmake index 569af09f8d6b2a..f317aad94bbf17 100644 --- a/ports/llfio/portfile.cmake +++ b/ports/llfio/portfile.cmake @@ -1,25 +1,25 @@ -message(WARNING [=[ -LLFIO depends on Outcome which depends on QuickCppLib which uses the vcpkg versions of gsl-lite and byte-lite, rather than the versions tested by QuickCppLib's, Outcome's and LLFIO's CI. It is not guaranteed to work with other versions, with failures experienced in the past up-to-and-including runtime crashes. See the warning message from QuickCppLib for how you can pin the versions of those dependencies in your manifest file to those with which QuickCppLib was tested. Do not report issues to upstream without first pinning the versions as QuickCppLib was tested against. -]=]) +if ("polyfill-cxx20" IN_LIST FEATURES) + message(WARNING [=[ + LLFIO depends on Outcome which depends on QuickCppLib which uses the vcpkg versions of gsl-lite and byte-lite, rather than the versions tested by QuickCppLib's, Outcome's and LLFIO's CI. It is not guaranteed to work with other versions, with failures experienced in the past up-to-and-including runtime crashes. See the warning message from QuickCppLib for how you can pin the versions of those dependencies in your manifest file to those with which QuickCppLib was tested. Do not report issues to upstream without first pinning the versions as QuickCppLib was tested against. + ]=]) +endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ned14/llfio - REF 721503d32fe35dbaa93bde0214ae8cd3799d14b8 - SHA512 b017a0fddcd3e53c22d9863454e7ad4ce364d9e4fa46cd909ceb395df57052b5d4334081a3405e1248452863c451c3174dc7eaab70907dc8d22f4db67930cbd5 + REF 2af67dad6d87ec37a4dd042c48f5d0edcdeff326 + SHA512 207cf7b113aa7703a9197254a01bde794a1ec5ab8ab94e690913344b29bb2579e942f12260ce6c208fb919e11731f57d2e5c80ca85ccf1d98f6747a1681be7a9 HEAD_REF develop ) -if(VCPKG_TARGET_IS_WINDOWS) - vcpkg_from_github( - OUT_SOURCE_PATH NTKEC_SOURCE_PATH - REPO ned14/ntkernel-error-category - REF bbd44623594142155d49bd3ce8820d3cf9da1e1e - SHA512 589d3bc7bca98ca8d05ce9f5cf009dd98b8884bdf3739582f2f6cbf5a324ce95007ea041450ed935baa4a401b4a0242c181fb6d2dcf7ad91587d75f05491f50e - HEAD_REF master - ) -endif() +vcpkg_from_github( + OUT_SOURCE_PATH NTKEC_SOURCE_PATH + REPO ned14/ntkernel-error-category + REF 5e50ff9af36a029c8ead9e0a833aa78304e95f28 + SHA512 a3b8bfba8b22c79913ced23358c4a5ec56d2f2f8ca8da3ebd2e7cfaa783363d92d9de1b49766756c7b008114eee31c1509195232adcc364446eae724489be930 + HEAD_REF master +) vcpkg_check_features( OUT_FEATURE_OPTIONS LLFIO_FEATURE_OPTIONS @@ -27,65 +27,65 @@ vcpkg_check_features( status-code LLFIO_USE_EXPERIMENTAL_SG14_STATUS_CODE ) -# LLFIO needs a copy of QuickCppLib with which to bootstrap its cmake -file(COPY "${CURRENT_INSTALLED_DIR}/include/quickcpplib" - DESTINATION "${SOURCE_PATH}/quickcpplib/repo/include/" -) -file(COPY "${CURRENT_INSTALLED_DIR}/share/ned14-internal-quickcpplib/" - DESTINATION "${SOURCE_PATH}/quickcpplib/repo/" -) - # LLFIO expects ntkernel-error-category to live inside its include directory file(REMOVE_RECURSE "${SOURCE_PATH}/include/llfio/ntkernel-error-category") -if(VCPKG_TARGET_IS_WINDOWS) - file(RENAME "${NTKEC_SOURCE_PATH}" "${SOURCE_PATH}/include/llfio/ntkernel-error-category") -endif() - -# Already installed dependencies don't appear on the include path, which LLFIO assumes. -string(APPEND VCPKG_CXX_FLAGS " \"-I${CURRENT_INSTALLED_DIR}/include\"") -string(APPEND VCPKG_C_FLAGS " \"-I${CURRENT_INSTALLED_DIR}/include\"") +file(RENAME "${NTKEC_SOURCE_PATH}" "${SOURCE_PATH}/include/llfio/ntkernel-error-category") 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 +if ("cxx20" IN_LIST FEATURES) + list(APPEND extra_config -DCMAKE_CXX_STANDARD=20) +elseif("cxx17" IN_LIST FEATURES) + list(APPEND extra_config -DCMAKE_CXX_STANDARD=17) +endif() + +# quickcpplib parses CMAKE_MSVC_RUNTIME_LIBRARY and cannot support the default crt linkage generator expression from vcpkg +if(VCPKG_TARGET_IS_WINDOWS) + if(VCPKG_CRT_LINKAGE STREQUAL "dynamic") + list(APPEND extra_config -DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded$$<$$:Debug>DLL) + else() + list(APPEND extra_config -DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded$$<$$:Debug>) + endif() endif() -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - PREFER_NINJA OPTIONS - -DPROJECT_IS_DEPENDENCY=On - -Dquickcpplib_FOUND=1 - -Doutcome_FOUND=1 + -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} ) -# LLFIO install assumes that the static library is always built -vcpkg_build_cmake(TARGET _sl) if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - vcpkg_build_cmake(TARGET _dl) + vcpkg_cmake_build(TARGET install.dl) +elseif(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + vcpkg_cmake_build(TARGET install.sl) endif() if("run-tests" IN_LIST FEATURES) - vcpkg_build_cmake(TARGET test) + vcpkg_cmake_build(TARGET test) endif() -vcpkg_install_cmake() - -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/llfio) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/llfio) 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() 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 "${SOURCE_PATH}/Licence.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +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 318b32816d583c..704a216b65a797 100644 --- a/ports/llfio/vcpkg.json +++ b/ports/llfio/vcpkg.json @@ -1,13 +1,71 @@ { "name": "llfio", - "version-string": "2.0-20210922", + "version-date": "2024-09-05", + "maintainers": [ + "Niall Douglas ", + "Henrik Gaßmann " + ], "description": "P1031 low level file i/o and filesystem library for the C++ standard", "homepage": "https://github.com/ned14/llfio", - "supports": "!(uwp | static)", + "license": "Apache-2.0 OR BSL-1.0", + "supports": "!uwp", "dependencies": [ - "outcome" + "outcome", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ], "features": { + "polyfill-cxx17": { + "description": "Polyfill C++17 entities", + "dependencies": [ + { + "name": "llfio", + "default-features": false, + "features": [ + "polyfill-cxx20" + ] + }, + { + "name": "ned14-internal-quickcpplib", + "default-features": false, + "features": [ + "polyfill-cxx17" + ] + }, + { + "name": "outcome", + "default-features": false, + "features": [ + "polyfill-cxx17" + ] + } + ] + }, + "polyfill-cxx20": { + "description": "Polyfill C++20 entities", + "dependencies": [ + { + "name": "ned14-internal-quickcpplib", + "default-features": false, + "features": [ + "polyfill-cxx20" + ] + }, + { + "name": "outcome", + "default-features": false, + "features": [ + "polyfill-cxx20" + ] + } + ] + }, "run-tests": { "description": "Build and run the dependency validation tests" }, 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/llgl/fix-arm64-build-error.patch b/ports/llgl/fix-arm64-build-error.patch deleted file mode 100644 index d80061c16c92d7..00000000000000 --- a/ports/llgl/fix-arm64-build-error.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index f440884..f1a9190 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -559,6 +559,8 @@ if(APPLE) - endif() - elseif(UNIX) - target_link_libraries(LLGL X11 pthread Xxf86vm Xrandr) -+elseif(WIN32) -+ target_link_libraries(LLGL gdi32 shell32) - endif() - - set_target_properties(LLGL PROPERTIES LINKER_LANGUAGE CXX DEBUG_POSTFIX "D") diff --git a/ports/llgl/fix-install-error.patch b/ports/llgl/fix-install-error.patch deleted file mode 100644 index 872d01bfc0a9bb..00000000000000 --- a/ports/llgl/fix-install-error.patch +++ /dev/null @@ -1,44 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index f440884..d1b0c2f 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -614,6 +614,12 @@ if(LLGL_BUILD_RENDERER_OPENGL) - target_link_libraries(LLGL_OpenGL LLGL ${OPENGL_LIBRARIES}) - - ADD_DEFINE(LLGL_BUILD_RENDERER_OPENGL) -+ -+ install(TARGETS LLGL_OpenGL -+ RUNTIME DESTINATION bin -+ LIBRARY DESTINATION lib -+ ARCHIVE DESTINATION lib -+ ) - else() - message("Missing OpenGL -> LLGL_OpenGL renderer will be excluded from project") - endif() -@@ -681,6 +687,12 @@ if(WIN32) - target_link_libraries(LLGL_Direct3D11 LLGL d3d11 dxgi D3DCompiler) - - ADD_DEFINE(LLGL_BUILD_RENDERER_DIRECT3D11) -+ -+ install(TARGETS LLGL_Direct3D11 -+ RUNTIME DESTINATION bin -+ LIBRARY DESTINATION lib -+ ARCHIVE DESTINATION lib -+ ) - endif() - - if(LLGL_BUILD_RENDERER_DIRECT3D12) -@@ -821,4 +833,13 @@ if(LLGL_ENABLE_SPIRV_REFLECT) - message("Including Submodule: SPIRV") - endif() - -+# Install targets -+install(TARGETS ${PROJECT_NAME} -+ RUNTIME DESTINATION bin -+ LIBRARY DESTINATION lib -+ ARCHIVE DESTINATION lib -+) -+# Install headers -+install(DIRECTORY ${PROJECT_INCLUDE_DIR} DESTINATION .) -+ - diff --git a/ports/llgl/install.patch b/ports/llgl/install.patch new file mode 100644 index 00000000000000..0041c2d5e4f591 --- /dev/null +++ b/ports/llgl/install.patch @@ -0,0 +1,113 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f4c8b497..ff922fd6 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -729,8 +729,12 @@ else() + set(SUMMARY_LIBRARY_TYPE "Shared") + add_library(LLGL SHARED ${FilesLLGL}) + endif() ++set(all_targets LLGL) + +-target_include_directories(LLGL PUBLIC ${PROJECT_INCLUDE_DIR}) ++include(GNUInstallDirs) ++target_include_directories(LLGL INTERFACE ++ $ ++ $) + + if(LLGL_ANDROID_PLATFORM) + target_link_libraries(LLGL android log) +@@ -763,6 +767,8 @@ if(LLGL_BUILD_RENDERER_NULL) + target_link_libraries(LLGL_Null LLGL ${OPENGL_LIBRARIES}) + + ADD_DEFINE(LLGL_BUILD_RENDERER_NULL) ++ ++ list(APPEND all_targets LLGL_Null) + endif() + + if(LLGL_BUILD_RENDERER_OPENGLES3) +@@ -788,6 +794,8 @@ if(LLGL_BUILD_RENDERER_OPENGLES3) + + ADD_DEFINE(LLGL_BUILD_RENDERER_OPENGLES3) + ADD_PROJECT_DEFINE(LLGL_OpenGLES3 LLGL_OPENGLES3) ++ ++ list(APPEND all_targets LLGL_OpenGLES3) + else() + message("Missing OpenGLES -> LLGL_OpenGLES3 renderer will be excluded from project") + endif() +@@ -816,6 +824,8 @@ if(LLGL_BUILD_RENDERER_OPENGL) + + ADD_DEFINE(LLGL_BUILD_RENDERER_OPENGL) + ADD_PROJECT_DEFINE(LLGL_OpenGL LLGL_OPENGL) ++ ++ list(APPEND all_targets LLGL_OpenGL) + else() + message("Missing OpenGL -> LLGL_OpenGL renderer will be excluded from project") + endif() +@@ -838,6 +848,8 @@ if(NOT APPLE AND LLGL_BUILD_RENDERER_VULKAN) + target_link_libraries(LLGL_Vulkan LLGL ${Vulkan_LIBRARY}) + + ADD_DEFINE(LLGL_BUILD_RENDERER_VULKAN) ++ ++ list(APPEND all_targets LLGL_Vulkan) + else() + message("Missing Vulkan -> LLGL_Vulkan renderer will be excluded from project") + endif() +@@ -869,6 +881,8 @@ if(APPLE AND LLGL_BUILD_RENDERER_METAL) + endif() + + ADD_DEFINE(LLGL_BUILD_RENDERER_METAL) ++ ++ list(APPEND all_targets LLGL_Metal) + else() + message("Missing Metal/MetalKit -> LLGL_Metal renderer will be excluded from project") + endif() +@@ -888,6 +902,8 @@ if(WIN32) + target_link_libraries(LLGL_Direct3D11 LLGL d3d11 dxgi D3DCompiler) + + ADD_DEFINE(LLGL_BUILD_RENDERER_DIRECT3D11) ++ ++ list(APPEND all_targets LLGL_Direct3D11) + endif() + + if(LLGL_BUILD_RENDERER_DIRECT3D12) +@@ -904,6 +920,8 @@ if(WIN32) + target_compile_definitions(LLGL_Direct3D12 PUBLIC -DLLGL_DX_ENABLE_D3D12) + + ADD_DEFINE(LLGL_BUILD_RENDERER_DIRECT3D12) ++ ++ list(APPEND all_targets LLGL_Direct3D12) + endif() + endif() + +@@ -994,6 +1012,20 @@ if(WIN32 AND LLGL_BUILD_WRAPPER_CSHARP) + add_subdirectory(Wrapper/CSharp) + endif() + ++# Install targets ++install(TARGETS ${all_targets} EXPORT LLGLTargets RUNTIME LIBRARY ARCHIVE) ++# Install headers ++install(DIRECTORY "${PROJECT_INCLUDE_DIR}/" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") ++# Install CMake config files ++install(EXPORT LLGLTargets NAMESPACE LLGL:: DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/LLGL") ++include(CMakePackageConfigHelpers) ++configure_package_config_file("${CMAKE_CURRENT_SOURCE_DIR}/cmake/Config.cmake.in" ++ "${CMAKE_CURRENT_BINARY_DIR}/LLGLConfig.cmake" ++ INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/LLGL ++) ++install(FILES "${CMAKE_CURRENT_BINARY_DIR}/LLGLConfig.cmake" ++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/LLGL" ++) + # Summary Information + message("~~~ Build Summary ~~~") + +diff --git a/cmake/Config.cmake.in b/cmake/Config.cmake.in +new file mode 100644 +index 00000000..aa67a9e4 +--- /dev/null ++++ b/cmake/Config.cmake.in +@@ -0,0 +1,5 @@ ++@PACKAGE_INIT@ ++ ++include("${CMAKE_CURRENT_LIST_DIR}/LLGLTargets.cmake") ++ ++check_required_components(@PROJECT_NAME@) diff --git a/ports/llgl/portfile.cmake b/ports/llgl/portfile.cmake index 6ee4bed6b91522..0eccecdb2fd7f6 100644 --- a/ports/llgl/portfile.cmake +++ b/ports/llgl/portfile.cmake @@ -1,38 +1,49 @@ -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - message(FATAL_ERROR "${PORT} currently doesn't supports UWP.") -endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO LukasBanana/LLGL - REF 8f28437960ed60622e94f4f97b24e842b5a0e9e6 - SHA512 8a6bd4109e977f9def0f04a3d31f7bd4beebbe162c52eaa08a54daf8335871615215ece166e5a9d5b5475b834fd53a26ff9638ff270a2f00c88bab21ed156760 + REF df46af8974ac6d4f955e76d01b80a8c7e00f1fc8 + SHA512 a6e11573759ced048cc9b9b97dd6abbfb70cbc29770e040b0472d529a1cff14e529b7ed62e647d9b318f6633a41918a29d66762da08e4b093582e1a45284e6d3 HEAD_REF master PATCHES - fix-install-error.patch - fix-arm64-build-error.patch + install.patch # See https://github.com/LukasBanana/LLGL/pull/81 ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES opengl LLGL_BUILD_RENDERER_OPENGL + opengl LLGL_BUILD_RENDERER_OPENGL_ES3 direct3d11 LLGL_BUILD_RENDERER_DIRECT3D11 + direct3d12 LLGL_BUILD_RENDERER_DIRECT3D12 + metal LLGL_BUILD_RENDERER_METAL + vulkan LLGL_BUILD_RENDERER_VULKAN ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS ${FEATURE_OPTIONS} -) +if(VCPKG_TARGET_IS_IOS OR VCPKG_TARGET_IS_ANDROID) + set(maybe_unused "LLGL_BUILD_RENDERER_OPENGL") +else() + set(maybe_unused "LLGL_BUILD_RENDERER_OPENGL_ES3") +endif() -vcpkg_install_cmake() +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" LLGL_BUILD_STATIC_LIB) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + MAYBE_UNUSED_VARIABLES ${maybe_unused} + OPTIONS + ${FEATURE_OPTIONS} + -DLLGL_BUILD_STATIC_LIB=${LLGL_BUILD_STATIC_LIB} +) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/LLGL) +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) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") endif() vcpkg_copy_pdbs() # Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) \ No newline at end of file +file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/llgl/vcpkg.json b/ports/llgl/vcpkg.json index f653d01f597d1f..876adcc996e70f 100644 --- a/ports/llgl/vcpkg.json +++ b/ports/llgl/vcpkg.json @@ -1,16 +1,42 @@ { "name": "llgl", - "version-string": "2019-08-15", - "port-version": 2, + "version-date": "2023-03-05", "description": "Low Level Graphics Library (LLGL) is a thin abstraction layer for the modern graphics APIs OpenGL, Direct3D, Vulkan, and Metal.", "homepage": "https://github.com/LukasBanana/LLGL", + "license": "BSD-3-Clause", "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], "features": { "direct3d11": { - "description": "Support for direct3d11" + "description": "Support for direct3d11", + "supports": "windows" + }, + "direct3d12": { + "description": "Support for direct3d12", + "supports": "windows" + }, + "metal": { + "description": "Support for metal", + "supports": "osx | ios" }, "opengl": { "description": "Support for opengl" + }, + "vulkan": { + "description": "Support for vulkan", + "supports": "!osx", + "dependencies": [ + "vulkan" + ] } } } diff --git a/ports/llhttp/fix-usage.patch b/ports/llhttp/fix-usage.patch new file mode 100644 index 00000000000000..3118ea1d33ed7b --- /dev/null +++ b/ports/llhttp/fix-usage.patch @@ -0,0 +1,15 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index bdef288..72555c6 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -77,6 +77,10 @@ function(config_library target) + NAMESPACE llhttp:: + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/llhttp + ) ++ target_include_directories(${target} ++ PRIVATE include ${CMAKE_CURRENT_BINARY_DIR} ++ INTERFACE $ ++ ) + endfunction(config_library target) + + if(BUILD_SHARED_LIBS) diff --git a/ports/llhttp/portfile.cmake b/ports/llhttp/portfile.cmake new file mode 100644 index 00000000000000..b679523467c2ce --- /dev/null +++ b/ports/llhttp/portfile.cmake @@ -0,0 +1,31 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO nodejs/llhttp + REF refs/tags/release/v${VERSION} + SHA512 7e6f5427b4b6d778ecefff892db78894ef4fd22a79e9c1f2c24d38d603d885755bdc8b0e8202b47c8bc209d3caf45a7293214617390a7a9c33bffbaab59fe5da + PATCHES + fix-usage.patch +) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" LLHTTP_BUILD_STATIC) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" LLHTTP_BUILD_SHARED) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + DISABLE_PARALLEL_CONFIGURE + OPTIONS + -DBUILD_SHARED_LIBS=${LLHTTP_BUILD_SHARED} + -DBUILD_STATIC_LIBS=${LLHTTP_BUILD_STATIC} +) + +vcpkg_cmake_install() +vcpkg_copy_pdbs() + +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-MIT") + +vcpkg_fixup_pkgconfig() diff --git a/ports/llhttp/vcpkg.json b/ports/llhttp/vcpkg.json new file mode 100644 index 00000000000000..e857c2be396718 --- /dev/null +++ b/ports/llhttp/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "llhttp", + "version": "9.2.1", + "description": "Port of http_parser to llparse.", + "homepage": "https://github.com/nodejs/llhttp", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} 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/0001-fix-install-package-dir.patch b/ports/llvm/0001-fix-install-package-dir.patch new file mode 100644 index 00000000000000..6bbe1af08f89bb --- /dev/null +++ b/ports/llvm/0001-fix-install-package-dir.patch @@ -0,0 +1,13 @@ + openmp/tools/Modules/CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/openmp/tools/Modules/CMakeLists.txt b/openmp/tools/Modules/CMakeLists.txt +index 22d818eea72d..75aacc4468d4 100644 +--- a/openmp/tools/Modules/CMakeLists.txt ++++ b/openmp/tools/Modules/CMakeLists.txt +@@ -12,4 +12,4 @@ + + + install(FILES "FindOpenMPTarget.cmake" +- DESTINATION "${OPENMP_INSTALL_LIBDIR}/cmake/openmp") ++ DESTINATION "share/openmp") diff --git a/ports/llvm/0002-fix-install-paths.patch b/ports/llvm/0002-fix-install-paths.patch deleted file mode 100644 index 84d973f6537fbb..00000000000000 --- a/ports/llvm/0002-fix-install-paths.patch +++ /dev/null @@ -1,136 +0,0 @@ - clang/cmake/modules/CMakeLists.txt | 4 ++-- - flang/cmake/modules/CMakeLists.txt | 4 ++-- - lld/cmake/modules/CMakeLists.txt | 4 ++-- - llvm/cmake/modules/AddLLVM.cmake | 2 +- - llvm/cmake/modules/CMakeLists.txt | 2 +- - mlir/cmake/modules/CMakeLists.txt | 4 ++-- - polly/cmake/CMakeLists.txt | 4 ++-- - pstl/CMakeLists.txt | 4 ++-- - 8 files changed, 14 insertions(+), 14 deletions(-) - -diff --git a/clang/cmake/modules/CMakeLists.txt b/clang/cmake/modules/CMakeLists.txt -index d233f552f01f..26f502ad2d23 100644 ---- a/clang/cmake/modules/CMakeLists.txt -+++ b/clang/cmake/modules/CMakeLists.txt -@@ -1,11 +1,11 @@ - # Generate a list of CMake library targets so that other CMake projects can - # link against them. LLVM calls its version of this file LLVMExports.cmake, but - # the usual CMake convention seems to be ${Project}Targets.cmake. --set(CLANG_INSTALL_PACKAGE_DIR lib${LLVM_LIBDIR_SUFFIX}/cmake/clang) -+set(CLANG_INSTALL_PACKAGE_DIR share/clang) - set(clang_cmake_builddir "${CMAKE_BINARY_DIR}/${CLANG_INSTALL_PACKAGE_DIR}") - - # Keep this in sync with llvm/cmake/CMakeLists.txt! --set(LLVM_INSTALL_PACKAGE_DIR lib${LLVM_LIBDIR_SUFFIX}/cmake/llvm) -+set(LLVM_INSTALL_PACKAGE_DIR share/llvm) - set(llvm_cmake_builddir "${LLVM_BINARY_DIR}/${LLVM_INSTALL_PACKAGE_DIR}") - - get_property(CLANG_EXPORTS GLOBAL PROPERTY CLANG_EXPORTS) -diff --git a/flang/cmake/modules/CMakeLists.txt b/flang/cmake/modules/CMakeLists.txt -index 4822124ca412..1ca3eff8f14e 100644 ---- a/flang/cmake/modules/CMakeLists.txt -+++ b/flang/cmake/modules/CMakeLists.txt -@@ -1,11 +1,11 @@ - # Generate a list of CMake library targets so that other CMake projects can - # link against them. LLVM calls its version of this file LLVMExports.cmake, but - # the usual CMake convention seems to be ${Project}Targets.cmake. --set(FLANG_INSTALL_PACKAGE_DIR lib${LLVM_LIBDIR_SUFFIX}/cmake/flang) -+set(FLANG_INSTALL_PACKAGE_DIR share/flang) - set(flang_cmake_builddir "${CMAKE_BINARY_DIR}/${FLANG_INSTALL_PACKAGE_DIR}") - - # Keep this in sync with llvm/cmake/CMakeLists.txt! --set(LLVM_INSTALL_PACKAGE_DIR lib${LLVM_LIBDIR_SUFFIX}/cmake/llvm) -+set(LLVM_INSTALL_PACKAGE_DIR share/llvm) - set(llvm_cmake_builddir "${LLVM_BINARY_DIR}/${LLVM_INSTALL_PACKAGE_DIR}") - - get_property(FLANG_EXPORTS GLOBAL PROPERTY FLANG_EXPORTS) -diff --git a/lld/cmake/modules/CMakeLists.txt b/lld/cmake/modules/CMakeLists.txt -index fa505a533762..90413be34120 100644 ---- a/lld/cmake/modules/CMakeLists.txt -+++ b/lld/cmake/modules/CMakeLists.txt -@@ -1,11 +1,11 @@ - # Generate a list of CMake library targets so that other CMake projects can - # link against them. LLVM calls its version of this file LLVMExports.cmake, but - # the usual CMake convention seems to be ${Project}Targets.cmake. --set(LLD_INSTALL_PACKAGE_DIR lib${LLVM_LIBDIR_SUFFIX}/cmake/lld) -+set(LLD_INSTALL_PACKAGE_DIR share/lld) - set(lld_cmake_builddir "${CMAKE_BINARY_DIR}/${LLD_INSTALL_PACKAGE_DIR}") - - # Keep this in sync with llvm/cmake/CMakeLists.txt! --set(LLVM_INSTALL_PACKAGE_DIR lib${LLVM_LIBDIR_SUFFIX}/cmake/llvm) -+set(LLVM_INSTALL_PACKAGE_DIR share/llvm) - set(llvm_cmake_builddir "${LLVM_BINARY_DIR}/${LLVM_INSTALL_PACKAGE_DIR}") - - get_property(LLD_EXPORTS GLOBAL PROPERTY LLD_EXPORTS) -diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake -index b74adc11ade9..0638aea2f8f6 100644 ---- a/llvm/cmake/modules/AddLLVM.cmake -+++ b/llvm/cmake/modules/AddLLVM.cmake -@@ -974,7 +974,7 @@ function(process_llvm_pass_plugins) - - ## Part 1: Extension header to be included whenever we need extension - # processing. -- set(LLVM_INSTALL_PACKAGE_DIR lib${LLVM_LIBDIR_SUFFIX}/cmake/llvm) -+ set(LLVM_INSTALL_PACKAGE_DIR share/llvm) - set(llvm_cmake_builddir "${LLVM_BINARY_DIR}/${LLVM_INSTALL_PACKAGE_DIR}") - file(WRITE - "${llvm_cmake_builddir}/LLVMConfigExtensions.cmake" -diff --git a/llvm/cmake/modules/CMakeLists.txt b/llvm/cmake/modules/CMakeLists.txt -index 4b8879f65fe4..9e097ab223b5 100644 ---- a/llvm/cmake/modules/CMakeLists.txt -+++ b/llvm/cmake/modules/CMakeLists.txt -@@ -1,4 +1,4 @@ --set(LLVM_INSTALL_PACKAGE_DIR lib${LLVM_LIBDIR_SUFFIX}/cmake/llvm) -+set(LLVM_INSTALL_PACKAGE_DIR share/llvm) - set(llvm_cmake_builddir "${LLVM_BINARY_DIR}/${LLVM_INSTALL_PACKAGE_DIR}") - - # First for users who use an installed LLVM, create the LLVMExports.cmake file. -diff --git a/mlir/cmake/modules/CMakeLists.txt b/mlir/cmake/modules/CMakeLists.txt -index b9fb9adce2ea..85a54f699f30 100644 ---- a/mlir/cmake/modules/CMakeLists.txt -+++ b/mlir/cmake/modules/CMakeLists.txt -@@ -1,11 +1,11 @@ - # Generate a list of CMake library targets so that other CMake projects can - # link against them. LLVM calls its version of this file LLVMExports.cmake, but - # the usual CMake convention seems to be ${Project}Targets.cmake. --set(MLIR_INSTALL_PACKAGE_DIR lib${LLVM_LIBDIR_SUFFIX}/cmake/mlir) -+set(MLIR_INSTALL_PACKAGE_DIR share/mlir) - set(mlir_cmake_builddir "${CMAKE_BINARY_DIR}/${MLIR_INSTALL_PACKAGE_DIR}") - - # Keep this in sync with llvm/cmake/CMakeLists.txt! --set(LLVM_INSTALL_PACKAGE_DIR lib${LLVM_LIBDIR_SUFFIX}/cmake/llvm) -+set(LLVM_INSTALL_PACKAGE_DIR share/llvm) - set(llvm_cmake_builddir "${LLVM_BINARY_DIR}/${LLVM_INSTALL_PACKAGE_DIR}") - - get_property(MLIR_EXPORTS GLOBAL PROPERTY MLIR_EXPORTS) -diff --git a/polly/cmake/CMakeLists.txt b/polly/cmake/CMakeLists.txt -index 211f95512717..2abe3803f910 100644 ---- a/polly/cmake/CMakeLists.txt -+++ b/polly/cmake/CMakeLists.txt -@@ -1,7 +1,7 @@ - # Keep this in sync with llvm/cmake/CMakeLists.txt! - --set(LLVM_INSTALL_PACKAGE_DIR "lib${LLVM_LIBDIR_SUFFIX}/cmake/llvm") --set(POLLY_INSTALL_PACKAGE_DIR "lib${LLVM_LIBDIR_SUFFIX}/cmake/polly") -+set(LLVM_INSTALL_PACKAGE_DIR share/llvm) -+set(POLLY_INSTALL_PACKAGE_DIR share/polly) - if (CMAKE_CONFIGURATION_TYPES) - set(POLLY_EXPORTS_FILE_NAME "PollyExports-$>.cmake") - else() -diff --git a/pstl/CMakeLists.txt b/pstl/CMakeLists.txt -index 8e6e1354707b..2ae7f7090025 100644 ---- a/pstl/CMakeLists.txt -+++ b/pstl/CMakeLists.txt -@@ -81,10 +81,10 @@ install(TARGETS ParallelSTL - install(EXPORT ParallelSTLTargets - FILE ParallelSTLTargets.cmake - NAMESPACE pstl:: -- DESTINATION lib/cmake/ParallelSTL) -+ DESTINATION share/ParallelSTL) - install(FILES "${CMAKE_CURRENT_BINARY_DIR}/ParallelSTLConfig.cmake" - "${CMAKE_CURRENT_BINARY_DIR}/ParallelSTLConfigVersion.cmake" -- DESTINATION lib/cmake/ParallelSTL) -+ DESTINATION share/ParallelSTL) - install(DIRECTORY include/ - DESTINATION include - PATTERN "*.in" EXCLUDE) diff --git a/ports/llvm/0002-fix-tools-install-dir.patch b/ports/llvm/0002-fix-tools-install-dir.patch new file mode 100644 index 00000000000000..93d4bb309014c6 --- /dev/null +++ b/ports/llvm/0002-fix-tools-install-dir.patch @@ -0,0 +1,201 @@ + bolt/cmake/modules/AddBOLT.cmake | 2 +- + clang-tools-extra/clang-tidy/tool/CMakeLists.txt | 2 +- + clang-tools-extra/modularize/CMakeLists.txt | 2 +- + clang/cmake/modules/AddClang.cmake | 2 +- + clang/tools/c-index-test/CMakeLists.txt | 2 +- + clang/tools/clang-format/CMakeLists.txt | 2 +- + clang/tools/scan-build-py/CMakeLists.txt | 4 ++-- + clang/tools/scan-build/CMakeLists.txt | 2 +- + clang/tools/scan-view/CMakeLists.txt | 2 +- + flang/cmake/modules/AddFlang.cmake | 2 +- + flang/tools/f18/CMakeLists.txt | 2 +- + flang/tools/flang-driver/CMakeLists.txt | 2 +- + lld/cmake/modules/AddLLD.cmake | 2 +- + lldb/cmake/modules/AddLLDB.cmake | 2 +- + 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 +--- a/bolt/cmake/modules/AddBOLT.cmake ++++ b/bolt/cmake/modules/AddBOLT.cmake +@@ -17,7 +17,7 @@ macro(add_bolt_tool name) + get_target_export_arg(${name} BOLT export_to_bolttargets) + install(TARGETS ${name} + ${export_to_bolttargets} +- RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" ++ RUNTIME DESTINATION "${BOLT_TOOLS_INSTALL_DIR}" + COMPONENT bolt) + + 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 b220cbea80f1..b94501ec82ab 100644 +--- a/clang-tools-extra/clang-tidy/tool/CMakeLists.txt ++++ b/clang-tools-extra/clang-tidy/tool/CMakeLists.txt +@@ -65,6 +65,6 @@ install(PROGRAMS clang-tidy-diff.py + DESTINATION "${CMAKE_INSTALL_DATADIR}/clang" + COMPONENT clang-tidy) + install(PROGRAMS run-clang-tidy.py +- DESTINATION "${CMAKE_INSTALL_BINDIR}" ++ DESTINATION "${CLANG_TOOLS_INSTALL_DIR}" + COMPONENT clang-tidy + RENAME run-clang-tidy) +diff --git a/clang-tools-extra/modularize/CMakeLists.txt b/clang-tools-extra/modularize/CMakeLists.txt +index eb5383c3ad44..39a34dfe8c71 100644 +--- a/clang-tools-extra/modularize/CMakeLists.txt ++++ b/clang-tools-extra/modularize/CMakeLists.txt +@@ -27,5 +27,5 @@ clang_target_link_libraries(modularize + ) + + install(TARGETS modularize +- RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" ++ RUNTIME DESTINATION "${CLANG_TOOLS_INSTALL_DIR}" + COMPONENT clang-extras) +diff --git a/clang/cmake/modules/AddClang.cmake b/clang/cmake/modules/AddClang.cmake +index 75b0080f6715..46e32ddbe0cd 100644 +--- a/clang/cmake/modules/AddClang.cmake ++++ b/clang/cmake/modules/AddClang.cmake +@@ -169,7 +169,7 @@ macro(add_clang_tool name) + get_target_export_arg(${name} Clang export_to_clangtargets) + install(TARGETS ${name} + ${export_to_clangtargets} +- RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" ++ RUNTIME DESTINATION "${CLANG_TOOLS_INSTALL_DIR}" + COMPONENT ${name}) + + if(NOT LLVM_ENABLE_IDE) +diff --git a/clang/tools/c-index-test/CMakeLists.txt b/clang/tools/c-index-test/CMakeLists.txt +index 0ae1b4e55244..7774cd27afcd 100644 +--- a/clang/tools/c-index-test/CMakeLists.txt ++++ b/clang/tools/c-index-test/CMakeLists.txt +@@ -49,7 +49,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) + set_property(TARGET c-index-test APPEND PROPERTY INSTALL_RPATH + "@executable_path/../../lib") + else() +- set(INSTALL_DESTINATION "${CMAKE_INSTALL_BINDIR}") ++ set(INSTALL_DESTINATION "${CLANG_TOOLS_INSTALL_DIR}") + endif() + + install(TARGETS c-index-test +diff --git a/clang/tools/clang-format/CMakeLists.txt b/clang/tools/clang-format/CMakeLists.txt +index 1c61a3c8fb80..4220d90274bd 100644 +--- a/clang/tools/clang-format/CMakeLists.txt ++++ b/clang/tools/clang-format/CMakeLists.txt +@@ -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 ++++ b/clang/tools/scan-build-py/CMakeLists.txt +@@ -43,7 +43,7 @@ foreach(BinFile ${BinFiles}) + ${CMAKE_BINARY_DIR}/bin/scan-build-py + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/bin/scan-build) + install (PROGRAMS "bin/scan-build" +- DESTINATION "${CMAKE_INSTALL_BINDIR}" ++ DESTINATION "${CLANG_TOOLS_INSTALL_DIR}" + RENAME scan-build-py + COMPONENT scan-build-py) + list(APPEND Depends ${CMAKE_BINARY_DIR}/bin/scan-build-py) +@@ -56,7 +56,7 @@ foreach(BinFile ${BinFiles}) + ${CMAKE_BINARY_DIR}/bin/ + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/bin/${BinFile}) + install(PROGRAMS bin/${BinFile} +- DESTINATION "${CMAKE_INSTALL_BINDIR}" ++ DESTINATION "${CLANG_TOOLS_INSTALL_DIR}" + COMPONENT scan-build-py) + list(APPEND Depends ${CMAKE_BINARY_DIR}/bin/${BinFile}) + endif() +diff --git a/clang/tools/scan-build/CMakeLists.txt b/clang/tools/scan-build/CMakeLists.txt +index ef687b0e90a1..47f31efc9174 100644 +--- a/clang/tools/scan-build/CMakeLists.txt ++++ b/clang/tools/scan-build/CMakeLists.txt +@@ -47,7 +47,7 @@ if(CLANG_INSTALL_SCANBUILD) + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/bin/${BinFile}) + list(APPEND Depends ${CMAKE_BINARY_DIR}/bin/${BinFile}) + install(PROGRAMS bin/${BinFile} +- DESTINATION "${CMAKE_INSTALL_BINDIR}" ++ DESTINATION "${CLANG_TOOLS_INSTALL_DIR}" + COMPONENT scan-build) + endforeach() + +diff --git a/clang/tools/scan-view/CMakeLists.txt b/clang/tools/scan-view/CMakeLists.txt +index 07aec76ee66f..55a945bb278d 100644 +--- a/clang/tools/scan-view/CMakeLists.txt ++++ b/clang/tools/scan-view/CMakeLists.txt +@@ -20,7 +20,7 @@ if(CLANG_INSTALL_SCANVIEW) + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/bin/${BinFile}) + list(APPEND Depends ${CMAKE_BINARY_DIR}/bin/${BinFile}) + install(PROGRAMS bin/${BinFile} +- DESTINATION "${CMAKE_INSTALL_BINDIR}" ++ DESTINATION "${CLANG_TOOLS_INSTALL_DIR}" + COMPONENT scan-view) + endforeach() + +diff --git a/flang/cmake/modules/AddFlang.cmake b/flang/cmake/modules/AddFlang.cmake +index 41ce8738e7bf..d9659c4cf53a 100644 +--- a/flang/cmake/modules/AddFlang.cmake ++++ b/flang/cmake/modules/AddFlang.cmake +@@ -115,7 +115,7 @@ macro(add_flang_tool name) + get_target_export_arg(${name} Flang export_to_flangtargets) + install(TARGETS ${name} + ${export_to_flangtargets} +- RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" ++ RUNTIME DESTINATION "${FLANG_TOOLS_INSTALL_DIR}" + COMPONENT ${name}) + + if(NOT LLVM_ENABLE_IDE) +diff --git a/flang/tools/f18/CMakeLists.txt b/flang/tools/f18/CMakeLists.txt +index ba6c6642c0b6..ab2802aeeaaa 100644 +--- a/flang/tools/f18/CMakeLists.txt ++++ b/flang/tools/f18/CMakeLists.txt +@@ -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) +- install(PROGRAMS ${CMAKE_BINARY_DIR}/bin/flang-to-external-fc DESTINATION "${CMAKE_INSTALL_BINDIR}") ++ install(PROGRAMS ${CMAKE_BINARY_DIR}/bin/flang-to-external-fc DESTINATION "${FLANG_TOOLS_INSTALL_DIR}") + endif() + + # TODO Move this to a more suitable location +diff --git a/flang/tools/flang-driver/CMakeLists.txt b/flang/tools/flang-driver/CMakeLists.txt +index 3ce8b407450d..6b2e2b0dc33a 100644 +--- a/flang/tools/flang-driver/CMakeLists.txt ++++ b/flang/tools/flang-driver/CMakeLists.txt +@@ -43,4 +43,4 @@ if(FLANG_PLUGIN_SUPPORT) + export_executable_symbols_for_plugins(flang-new) + endif() + +-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 2ee066b41535..c6a4740ab9eb 100644 +--- a/lld/cmake/modules/AddLLD.cmake ++++ b/lld/cmake/modules/AddLLD.cmake +@@ -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 CMAKE_CONFIGURATION_TYPES) +diff --git a/lldb/cmake/modules/AddLLDB.cmake b/lldb/cmake/modules/AddLLDB.cmake +index 328e883ddbe5..86eebba45e01 100644 +--- a/lldb/cmake/modules/AddLLDB.cmake ++++ b/lldb/cmake/modules/AddLLDB.cmake +@@ -221,7 +221,7 @@ function(add_lldb_executable name) + endif() + + if(ARG_GENERATE_INSTALL) +- set(install_dest bin) ++ set(install_dest "${LLVM_TOOLS_INSTALL_DIR}") + if(ARG_INSTALL_PREFIX) + set(install_dest ${ARG_INSTALL_PREFIX}) + endif() diff --git a/ports/llvm/0003-fix-llvm-config.patch b/ports/llvm/0003-fix-llvm-config.patch new file mode 100644 index 00000000000000..568cb17cbb0517 --- /dev/null +++ b/ports/llvm/0003-fix-llvm-config.patch @@ -0,0 +1,16 @@ + llvm/tools/llvm-config/llvm-config.cpp | 2 +- + 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 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) { + // bin dir). + sys::fs::make_absolute(CurrentPath); + CurrentExecPrefix = +- sys::path::parent_path(sys::path::parent_path(CurrentPath)).str(); ++ sys::path::parent_path(sys::path::parent_path(sys::path::parent_path(CurrentPath))).str(); + + // Check to see if we are inside a development tree by comparing to possible + // locations (prefix style or CMake style). diff --git a/ports/llvm/0003-fix-openmp-debug.patch b/ports/llvm/0003-fix-openmp-debug.patch deleted file mode 100644 index adf3c8ad01289e..00000000000000 --- a/ports/llvm/0003-fix-openmp-debug.patch +++ /dev/null @@ -1,25 +0,0 @@ - openmp/runtime/src/CMakeLists.txt | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/openmp/runtime/src/CMakeLists.txt b/openmp/runtime/src/CMakeLists.txt -index 822f9ca2b825..814e25864610 100644 ---- a/openmp/runtime/src/CMakeLists.txt -+++ b/openmp/runtime/src/CMakeLists.txt -@@ -157,7 +157,7 @@ else() - endif() - - set_target_properties(omp PROPERTIES -- PREFIX "" SUFFIX "" OUTPUT_NAME "${LIBOMP_LIB_FILE}" -+ PREFIX "" SUFFIX "" OUTPUT_NAME "${LIBOMP_LIB_FILE}" DEBUG_POSTFIX "" - LINK_FLAGS "${LIBOMP_CONFIGURED_LDFLAGS}" - LINKER_LANGUAGE ${LIBOMP_LINKER_LANGUAGE} - ) -@@ -232,7 +232,7 @@ if(WIN32) - # Create new import library that is just the previously created one + kmp_import.cpp - add_library(ompimp STATIC ${LIBOMP_GENERATED_IMP_LIB} kmp_import.cpp) - set_target_properties(ompimp PROPERTIES -- PREFIX "" SUFFIX "" OUTPUT_NAME "${LIBOMP_IMP_LIB_FILE}" -+ PREFIX "" SUFFIX "" OUTPUT_NAME "${LIBOMP_IMP_LIB_FILE}" DEBUG_POSTFIX "" - LINKER_LANGUAGE C - ) - add_dependencies(ompimp omp) # ensure generated import library is created first diff --git a/ports/llvm/0004-disable-libomp-aliases.patch b/ports/llvm/0004-disable-libomp-aliases.patch new file mode 100644 index 00000000000000..6736f2a31d53df --- /dev/null +++ b/ports/llvm/0004-disable-libomp-aliases.patch @@ -0,0 +1,32 @@ + openmp/runtime/src/CMakeLists.txt | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/openmp/runtime/src/CMakeLists.txt b/openmp/runtime/src/CMakeLists.txt +index bb5822264514..340cef14df89 100644 +--- a/openmp/runtime/src/CMakeLists.txt ++++ b/openmp/runtime/src/CMakeLists.txt +@@ -215,7 +215,7 @@ endif() + set(LIBOMP_INCLUDE_DIR ${CMAKE_CURRENT_BINARY_DIR} PARENT_SCOPE) + + # Add symbolic links to libomp +-if(NOT WIN32) ++if(0) + add_custom_command(TARGET omp POST_BUILD + COMMAND ${CMAKE_COMMAND} -E create_symlink ${LIBOMP_LIB_FILE} + libgomp${LIBOMP_LIBRARY_SUFFIX} +@@ -367,6 +367,7 @@ if(WIN32) + install(TARGETS omp ${export_to_llvmexports} RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") + install(TARGETS ${LIBOMP_IMP_LIB_TARGET} ARCHIVE DESTINATION "${OPENMP_INSTALL_LIBDIR}") + # Create aliases (regular copies) of the library for backwards compatibility ++ if(0) + set(LIBOMP_ALIASES "libiomp5md") + foreach(alias IN LISTS LIBOMP_ALIASES) + install(CODE "execute_process(COMMAND \"\${CMAKE_COMMAND}\" -E copy \"${LIBOMP_LIB_FILE}\" +@@ -375,6 +376,7 @@ if(WIN32) + install(CODE "execute_process(COMMAND \"\${CMAKE_COMMAND}\" -E copy \"${LIBOMP_IMP_LIB_FILE}\" + \"${alias}${CMAKE_STATIC_LIBRARY_SUFFIX}\" WORKING_DIRECTORY \"${outdir}\")") + endforeach() ++ endif() + else() + + install(TARGETS omp ${export_to_llvmexports} ${LIBOMP_INSTALL_KIND} DESTINATION "${OPENMP_INSTALL_LIBDIR}") diff --git a/ports/llvm/0004-fix-dr-1734.patch b/ports/llvm/0004-fix-dr-1734.patch deleted file mode 100644 index adfbe5a131e21d..00000000000000 --- a/ports/llvm/0004-fix-dr-1734.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/llvm/include/llvm/Support/type_traits.h b/llvm/include/llvm/Support/type_traits.h -index b7d48e8e1ad..53ba24efc00 100644 ---- a/llvm/include/llvm/Support/type_traits.h -+++ b/llvm/include/llvm/Support/type_traits.h -@@ -177,7 +177,8 @@ class is_trivially_copyable { - (has_deleted_copy_assign || has_trivial_copy_assign) && - (has_deleted_copy_constructor || has_trivial_copy_constructor); - --#ifdef HAVE_STD_IS_TRIVIALLY_COPYABLE -+ // due to DR 1734, a type can be std::is_trivially_copyable but not llvm::is_trivially_copyable -+#if 0 - static_assert(value == std::is_trivially_copyable::value, - "inconsistent behavior between llvm:: and std:: implementation of is_trivially_copyable"); - #endif diff --git a/ports/llvm/0005-fix-tools-path.patch b/ports/llvm/0005-fix-tools-path.patch deleted file mode 100644 index bdfad617cc97f5..00000000000000 --- a/ports/llvm/0005-fix-tools-path.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/llvm/tools/llvm-config/llvm-config.cpp b/llvm/tools/llvm-config/llvm-config.cpp -index 53ba24efc00..0badcafe000 100644 ---- a/llvm/tools/llvm-config/llvm-config.cpp -+++ b/llvm/tools/llvm-config/llvm-config.cpp -@@ -304,8 +304,8 @@ int main(int argc, char **argv) { - // Create an absolute path, and pop up one directory (we expect to be inside a - // bin dir). - sys::fs::make_absolute(CurrentPath); - CurrentExecPrefix = -- sys::path::parent_path(sys::path::parent_path(CurrentPath)).str(); -+ sys::path::parent_path(sys::path::parent_path(sys::path::parent_path(CurrentPath))).str(); - - // Check to see if we are inside a development tree by comparing to possible - // locations (prefix style or CMake style). diff --git a/ports/llvm/0005-remove-numpy.patch b/ports/llvm/0005-remove-numpy.patch new file mode 100644 index 00000000000000..966af9c31e3b15 --- /dev/null +++ b/ports/llvm/0005-remove-numpy.patch @@ -0,0 +1,16 @@ + mlir/cmake/modules/MLIRDetectPythonEnv.cmake | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/mlir/cmake/modules/MLIRDetectPythonEnv.cmake b/mlir/cmake/modules/MLIRDetectPythonEnv.cmake +index 0a486c1bbb54..c07c55b1e17a 100644 +--- a/mlir/cmake/modules/MLIRDetectPythonEnv.cmake ++++ b/mlir/cmake/modules/MLIRDetectPythonEnv.cmake +@@ -19,7 +19,7 @@ macro(mlir_configure_python_dev_packages) + set(_python_development_component Development.Module) + + find_package(Python3 ${LLVM_MINIMUM_PYTHON_VERSION} +- COMPONENTS Interpreter ${_python_development_component} NumPy REQUIRED) ++ COMPONENTS Interpreter ${_python_development_component} REQUIRED) + unset(_python_development_component) + message(STATUS "Found python include dirs: ${Python3_INCLUDE_DIRS}") + message(STATUS "Found python libraries: ${Python3_LIBRARIES}") diff --git a/ports/llvm/0006-create-destination-mlir-directory.patch b/ports/llvm/0006-create-destination-mlir-directory.patch new file mode 100644 index 00000000000000..4950a48c3b5ec9 --- /dev/null +++ b/ports/llvm/0006-create-destination-mlir-directory.patch @@ -0,0 +1,16 @@ + mlir/python/CMakeLists.txt | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/mlir/python/CMakeLists.txt b/mlir/python/CMakeLists.txt +index 50fbca38a08f..957a6722c21c 100644 +--- a/mlir/python/CMakeLists.txt ++++ b/mlir/python/CMakeLists.txt +@@ -527,6 +527,8 @@ add_mlir_python_common_capi_library(MLIRPythonCAPI + ${_ADDL_TEST_SOURCES} + ) + ++file(MAKE_DIRECTORY "${MLIR_BINARY_DIR}/python_packages/mlir_core/mlir/_mlir_libs") ++ + ################################################################################ + # Custom targets. + ################################################################################ diff --git a/ports/llvm/0007-fix-compiler-rt-install-path.patch b/ports/llvm/0007-fix-compiler-rt-install-path.patch deleted file mode 100644 index 286604623a24e1..00000000000000 --- a/ports/llvm/0007-fix-compiler-rt-install-path.patch +++ /dev/null @@ -1,44 +0,0 @@ - clang/lib/Headers/CMakeLists.txt | 2 +- - clang/runtime/CMakeLists.txt | 2 +- - compiler-rt/cmake/base-config-ix.cmake | 2 +- - 3 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/clang/lib/Headers/CMakeLists.txt b/clang/lib/Headers/CMakeLists.txt -index 0692fe75a441..65f72c2da7da 100644 ---- a/clang/lib/Headers/CMakeLists.txt -+++ b/clang/lib/Headers/CMakeLists.txt -@@ -208,7 +208,7 @@ set_target_properties(clang-resource-headers PROPERTIES - FOLDER "Misc" - RUNTIME_OUTPUT_DIRECTORY "${output_dir}") - --set(header_install_dir lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}/include) -+set(header_install_dir tools/llvm/lib/clang/${CLANG_VERSION}/include) - - install( - FILES ${files} ${generated_files} -diff --git a/clang/runtime/CMakeLists.txt b/clang/runtime/CMakeLists.txt -index 61bbbf8faedd..f6d0b73d9913 100644 ---- a/clang/runtime/CMakeLists.txt -+++ b/clang/runtime/CMakeLists.txt -@@ -82,7 +82,7 @@ if(LLVM_BUILD_EXTERNAL_COMPILER_RT AND EXISTS ${COMPILER_RT_SRC_ROOT}/) - -DLLVM_LIT_ARGS=${LLVM_LIT_ARGS} - -DCOMPILER_RT_OUTPUT_DIR=${LLVM_LIBRARY_OUTPUT_INTDIR}/clang/${CLANG_VERSION} - -DCOMPILER_RT_EXEC_OUTPUT_DIR=${LLVM_RUNTIME_OUTPUT_INTDIR} -- -DCOMPILER_RT_INSTALL_PATH:STRING=lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION} -+ -DCOMPILER_RT_INSTALL_PATH:STRING=tools/llvm/lib/clang/${CLANG_VERSION} - -DCOMPILER_RT_INCLUDE_TESTS=${LLVM_INCLUDE_TESTS} - -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} - -DLLVM_LIBDIR_SUFFIX=${LLVM_LIBDIR_SUFFIX} -diff --git a/compiler-rt/cmake/base-config-ix.cmake b/compiler-rt/cmake/base-config-ix.cmake -index 964dd598f102..7379a1ba06d1 100644 ---- a/compiler-rt/cmake/base-config-ix.cmake -+++ b/compiler-rt/cmake/base-config-ix.cmake -@@ -43,7 +43,7 @@ if (LLVM_TREE_AVAILABLE) - # Setup the paths where compiler-rt runtimes and headers should be stored. - set(COMPILER_RT_OUTPUT_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR}/clang/${CLANG_VERSION}) - set(COMPILER_RT_EXEC_OUTPUT_DIR ${LLVM_RUNTIME_OUTPUT_INTDIR}) -- set(COMPILER_RT_INSTALL_PATH lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}) -+ set(COMPILER_RT_INSTALL_PATH tools/llvm/lib/clang/${CLANG_VERSION}) - option(COMPILER_RT_INCLUDE_TESTS "Generate and build compiler-rt unit tests." - ${LLVM_INCLUDE_TESTS}) - option(COMPILER_RT_ENABLE_WERROR "Fail and stop if warning is triggered" diff --git a/ports/llvm/0008-fix-libcxx-install.patch b/ports/llvm/0008-fix-libcxx-install.patch deleted file mode 100644 index ec4019dc2f86f4..00000000000000 --- a/ports/llvm/0008-fix-libcxx-install.patch +++ /dev/null @@ -1,18 +0,0 @@ - libcxx/src/CMakeLists.txt | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) - -diff --git a/libcxx/src/CMakeLists.txt b/libcxx/src/CMakeLists.txt -index 9965104cb5b2..0d2a33c6b33c 100644 ---- a/libcxx/src/CMakeLists.txt -+++ b/libcxx/src/CMakeLists.txt -@@ -372,9 +372,7 @@ endif() - # NOTE: This install command must go after the cxx install command otherwise - # it will not be executed after the library symlinks are installed. - if (LIBCXX_ENABLE_SHARED AND LIBCXX_ENABLE_ABI_LINKER_SCRIPT) -- # Replace the libc++ filename with $ -- # after we required CMake 3.0. -- install(FILES "${LIBCXX_LIBRARY_DIR}/libc++${CMAKE_SHARED_LIBRARY_SUFFIX}" -+ install(FILES "$" - DESTINATION ${LIBCXX_INSTALL_PREFIX}${LIBCXX_INSTALL_LIBRARY_DIR} - COMPONENT libcxx) - endif() diff --git a/ports/llvm/0009-fix-tools-install-path.patch b/ports/llvm/0009-fix-tools-install-path.patch deleted file mode 100644 index b544feec08ede3..00000000000000 --- a/ports/llvm/0009-fix-tools-install-path.patch +++ /dev/null @@ -1,172 +0,0 @@ - clang-tools-extra/modularize/CMakeLists.txt | 2 +- - clang/cmake/modules/AddClang.cmake | 2 +- - clang/tools/c-index-test/CMakeLists.txt | 2 +- - clang/tools/clang-format/CMakeLists.txt | 2 +- - clang/tools/scan-build/CMakeLists.txt | 2 +- - clang/tools/scan-view/CMakeLists.txt | 2 +- - clang/utils/hmaptool/CMakeLists.txt | 2 +- - flang/cmake/modules/AddFlang.cmake | 2 +- - flang/tools/f18/CMakeLists.txt | 4 ++-- - lld/cmake/modules/AddLLD.cmake | 2 +- - lld/tools/lld/CMakeLists.txt | 2 +- - lldb/cmake/modules/AddLLDB.cmake | 2 +- - 12 files changed, 13 insertions(+), 13 deletions(-) - -diff --git a/clang-tools-extra/modularize/CMakeLists.txt b/clang-tools-extra/modularize/CMakeLists.txt -index 4caae81c49b6..8c459c51cc34 100644 ---- a/clang-tools-extra/modularize/CMakeLists.txt -+++ b/clang-tools-extra/modularize/CMakeLists.txt -@@ -23,5 +23,5 @@ clang_target_link_libraries(modularize - ) - - install(TARGETS modularize -- RUNTIME DESTINATION bin -+ RUNTIME DESTINATION tools/llvm - COMPONENT clang-extras) -diff --git a/clang/cmake/modules/AddClang.cmake b/clang/cmake/modules/AddClang.cmake -index 704278a0e93b..e8a87f574474 100644 ---- a/clang/cmake/modules/AddClang.cmake -+++ b/clang/cmake/modules/AddClang.cmake -@@ -170,7 +170,7 @@ macro(add_clang_tool name) - - install(TARGETS ${name} - ${export_to_clangtargets} -- RUNTIME DESTINATION bin -+ RUNTIME DESTINATION tools/llvm - COMPONENT ${name}) - - if(NOT LLVM_ENABLE_IDE) -diff --git a/clang/tools/c-index-test/CMakeLists.txt b/clang/tools/c-index-test/CMakeLists.txt -index ceef4b08637c..ce6d7799475b 100644 ---- a/clang/tools/c-index-test/CMakeLists.txt -+++ b/clang/tools/c-index-test/CMakeLists.txt -@@ -54,7 +54,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) - set_property(TARGET c-index-test APPEND PROPERTY INSTALL_RPATH - "@executable_path/../../lib") - else() -- set(INSTALL_DESTINATION bin) -+ set(INSTALL_DESTINATION tools/llvm) - endif() - - install(TARGETS c-index-test -diff --git a/clang/tools/clang-format/CMakeLists.txt b/clang/tools/clang-format/CMakeLists.txt -index 35ecdb11253c..d1b800dfdadc 100644 ---- a/clang/tools/clang-format/CMakeLists.txt -+++ b/clang/tools/clang-format/CMakeLists.txt -@@ -36,5 +36,5 @@ install(PROGRAMS clang-format.py - DESTINATION share/clang - COMPONENT clang-format) - install(PROGRAMS git-clang-format -- DESTINATION bin -+ DESTINATION tools/llvm - COMPONENT clang-format) -diff --git a/clang/tools/scan-build/CMakeLists.txt b/clang/tools/scan-build/CMakeLists.txt -index ec0702d76f18..9a34a09921b1 100644 ---- a/clang/tools/scan-build/CMakeLists.txt -+++ b/clang/tools/scan-build/CMakeLists.txt -@@ -47,7 +47,7 @@ if(CLANG_INSTALL_SCANBUILD) - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/bin/${BinFile}) - list(APPEND Depends ${CMAKE_BINARY_DIR}/bin/${BinFile}) - install(PROGRAMS bin/${BinFile} -- DESTINATION bin -+ DESTINATION tools/llvm - COMPONENT scan-build) - endforeach() - -diff --git a/clang/tools/scan-view/CMakeLists.txt b/clang/tools/scan-view/CMakeLists.txt -index dd3d33439299..ded0b5530ad9 100644 ---- a/clang/tools/scan-view/CMakeLists.txt -+++ b/clang/tools/scan-view/CMakeLists.txt -@@ -19,7 +19,7 @@ if(CLANG_INSTALL_SCANVIEW) - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/bin/${BinFile}) - list(APPEND Depends ${CMAKE_BINARY_DIR}/bin/${BinFile}) - install(PROGRAMS bin/${BinFile} -- DESTINATION bin -+ DESTINATION tools/llvm - COMPONENT scan-view) - endforeach() - -diff --git a/clang/utils/hmaptool/CMakeLists.txt b/clang/utils/hmaptool/CMakeLists.txt -index 62f2de0cb15c..38dc821c76de 100644 ---- a/clang/utils/hmaptool/CMakeLists.txt -+++ b/clang/utils/hmaptool/CMakeLists.txt -@@ -10,7 +10,7 @@ add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/bin/${CLANG_HM - - list(APPEND Depends ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/bin/${CLANG_HMAPTOOL}) - install(PROGRAMS ${CLANG_HMAPTOOL} -- DESTINATION bin -+ DESTINATION tools/llvm - COMPONENT hmaptool) - - add_custom_target(hmaptool ALL DEPENDS ${Depends}) -diff --git a/flang/cmake/modules/AddFlang.cmake b/flang/cmake/modules/AddFlang.cmake -index ba36a234babf..1197a8d8ff32 100644 ---- a/flang/cmake/modules/AddFlang.cmake -+++ b/flang/cmake/modules/AddFlang.cmake -@@ -119,7 +119,7 @@ macro(add_flang_tool name) - - install(TARGETS ${name} - ${export_to_flangtargets} -- RUNTIME DESTINATION bin -+ RUNTIME DESTINATION tools/llvm - COMPONENT ${name}) - - if(NOT LLVM_ENABLE_IDE) -diff --git a/flang/tools/f18/CMakeLists.txt b/flang/tools/f18/CMakeLists.txt -index 2e5350aecdc6..b4ab145846b5 100644 ---- a/flang/tools/f18/CMakeLists.txt -+++ b/flang/tools/f18/CMakeLists.txt -@@ -63,12 +63,12 @@ endforeach() - - add_custom_target(module_files ALL DEPENDS ${MODULE_FILES}) - --install(TARGETS f18 DESTINATION bin) -+install(TARGETS f18 DESTINATION tools/llvm) - - # This flang shell script will only work in a POSIX shell. - if (NOT WIN32) - file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/flang - DESTINATION ${CMAKE_BINARY_DIR}/bin - FILE_PERMISSIONS OWNER_EXECUTE OWNER_READ OWNER_WRITE) -- install(PROGRAMS ${CMAKE_BINARY_DIR}/bin/flang DESTINATION bin) -+ install(PROGRAMS ${CMAKE_BINARY_DIR}/bin/flang DESTINATION tools/llvm) - endif() -diff --git a/lld/cmake/modules/AddLLD.cmake b/lld/cmake/modules/AddLLD.cmake -index 23df41312403..86f4eafeed07 100644 ---- a/lld/cmake/modules/AddLLD.cmake -+++ b/lld/cmake/modules/AddLLD.cmake -@@ -54,7 +54,7 @@ macro(add_lld_tool name) - - install(TARGETS ${name} - ${export_to_lldtargets} -- RUNTIME DESTINATION bin -+ RUNTIME DESTINATION tools/llvm - COMPONENT ${name}) - - if(NOT CMAKE_CONFIGURATION_TYPES) -diff --git a/lld/tools/lld/CMakeLists.txt b/lld/tools/lld/CMakeLists.txt -index 5cff736ff57f..32f43bc1c9be 100644 ---- a/lld/tools/lld/CMakeLists.txt -+++ b/lld/tools/lld/CMakeLists.txt -@@ -21,7 +21,7 @@ target_link_libraries(lld - ) - - install(TARGETS lld -- RUNTIME DESTINATION bin) -+ RUNTIME DESTINATION tools/llvm) - - if(NOT LLD_SYMLINKS_TO_CREATE) - set(LLD_SYMLINKS_TO_CREATE -diff --git a/lldb/cmake/modules/AddLLDB.cmake b/lldb/cmake/modules/AddLLDB.cmake -index 4ed5c647c5d2..cb31901dddbb 100644 ---- a/lldb/cmake/modules/AddLLDB.cmake -+++ b/lldb/cmake/modules/AddLLDB.cmake -@@ -187,7 +187,7 @@ function(add_lldb_executable name) - endif() - - if(ARG_GENERATE_INSTALL) -- set(install_dest bin) -+ set(install_dest tools/llvm) - if(ARG_INSTALL_PREFIX) - set(install_dest ${ARG_INSTALL_PREFIX}) - endif() diff --git a/ports/llvm/0010-fix-libffi.patch b/ports/llvm/0010-fix-libffi.patch deleted file mode 100644 index e98825595d3c69..00000000000000 --- a/ports/llvm/0010-fix-libffi.patch +++ /dev/null @@ -1,16 +0,0 @@ - llvm/cmake/config-ix.cmake | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/llvm/cmake/config-ix.cmake b/llvm/cmake/config-ix.cmake -index 818fafbce148..66fc9f509ac7 100644 ---- a/llvm/cmake/config-ix.cmake -+++ b/llvm/cmake/config-ix.cmake -@@ -335,7 +335,7 @@ if( LLVM_ENABLE_FFI ) - message(FATAL_ERROR "libffi includes are not found.") - endif() - -- find_library(FFI_LIBRARY_PATH ffi PATHS ${FFI_LIBRARY_DIR}) -+ find_library(FFI_LIBRARY_PATH NAMES ffi libffi PATHS ${FFI_LIBRARY_DIR}) - if( NOT FFI_LIBRARY_PATH ) - message(FATAL_ERROR "libffi is not found.") - endif() diff --git a/ports/llvm/0011-fix-libxml2.patch b/ports/llvm/0011-fix-libxml2.patch deleted file mode 100644 index b5deff09f9b60f..00000000000000 --- a/ports/llvm/0011-fix-libxml2.patch +++ /dev/null @@ -1,34 +0,0 @@ - clang/tools/c-index-test/CMakeLists.txt | 6 +----- - lldb/cmake/modules/LLDBConfig.cmake | 2 +- - 2 files changed, 2 insertions(+), 6 deletions(-) - -diff --git a/clang/tools/c-index-test/CMakeLists.txt b/clang/tools/c-index-test/CMakeLists.txt -index ceef4b086..40b9e9955 100644 ---- a/clang/tools/c-index-test/CMakeLists.txt -+++ b/clang/tools/c-index-test/CMakeLists.txt -@@ -40,11 +40,7 @@ set_target_properties(c-index-test - - # If libxml2 is available, make it available for c-index-test. - if (CLANG_HAVE_LIBXML) -- if ((CMAKE_OSX_SYSROOT) AND (EXISTS ${CMAKE_OSX_SYSROOT}/${LIBXML2_INCLUDE_DIR})) -- include_directories(SYSTEM ${CMAKE_OSX_SYSROOT}/${LIBXML2_INCLUDE_DIR}) -- else() -- include_directories(SYSTEM ${LIBXML2_INCLUDE_DIR}) -- endif() -+ include_directories(SYSTEM ${LIBXML2_INCLUDE_DIRS}) - target_link_libraries(c-index-test PRIVATE ${LIBXML2_LIBRARIES}) - endif() - -diff --git a/lldb/cmake/modules/LLDBConfig.cmake b/lldb/cmake/modules/LLDBConfig.cmake -index 2fdf1502d..beeeeb9b1 100644 ---- a/lldb/cmake/modules/LLDBConfig.cmake -+++ b/lldb/cmake/modules/LLDBConfig.cmake -@@ -214,7 +214,7 @@ if (LLDB_ENABLE_LZMA) - endif() - - if (LLDB_ENABLE_LIBXML2) -- include_directories(${LIBXML2_INCLUDE_DIR}) -+ include_directories(${LIBXML2_INCLUDE_DIRS}) - endif() - - include_directories(BEFORE 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/portfile.cmake b/ports/llvm/portfile.cmake index 1b2dcf6939360f..96b9ab194f712a 100644 --- a/ports/llvm/portfile.cmake +++ b/ports/llvm/portfile.cmake @@ -1,23 +1,21 @@ -set(LLVM_VERSION "12.0.1") - vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO llvm/llvm-project - REF llvmorg-${LLVM_VERSION} - SHA512 6eb0dc18e2c25935fabfdfc48b0114be0939158dfdef7b85b395fe2e71042672446af0e68750aae003c9847d10d1f63316fe95d3df738d18f249174292b1b9e1 - HEAD_REF master + REF "llvmorg-${VERSION}" + SHA512 9e9ec501336127339347c01ffd47768d501a84ef415c6a72fe56d31e867f982baeb3c4659be8e9b8475848a460357f33a6b2aa0ee9f81150e363963b98387bc0 + HEAD_REF main PATCHES - 0002-fix-install-paths.patch # This patch fixes paths in ClangConfig.cmake, LLVMConfig.cmake, LLDConfig.cmake etc. - 0003-fix-openmp-debug.patch - 0004-fix-dr-1734.patch - 0005-fix-tools-path.patch - 0007-fix-compiler-rt-install-path.patch - 0008-fix-libcxx-install.patch - 0009-fix-tools-install-path.patch - 0010-fix-libffi.patch - 0011-fix-libxml2.patch + 0001-fix-install-package-dir.patch + 0002-fix-tools-install-dir.patch + 0003-fix-llvm-config.patch + 0004-disable-libomp-aliases.patch + 0005-remove-numpy.patch + 0006-create-destination-mlir-directory.patch + 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 ) vcpkg_check_features( @@ -27,26 +25,34 @@ vcpkg_check_features( tools LLVM_INCLUDE_TOOLS utils LLVM_BUILD_UTILS utils LLVM_INCLUDE_UTILS + utils LLVM_INSTALL_UTILS + enable-assertions LLVM_ENABLE_ASSERTIONS enable-rtti LLVM_ENABLE_RTTI enable-ffi LLVM_ENABLE_FFI enable-terminfo LLVM_ENABLE_TERMINFO - enable-threads LLVM_ENABLE_THREADS + enable-ios COMPILER_RT_ENABLE_IOS enable-eh LLVM_ENABLE_EH enable-bindings LLVM_ENABLE_BINDINGS ) +vcpkg_cmake_get_vars(cmake_vars_file) +include("${cmake_vars_file}") + # LLVM generates CMake error due to Visual Studio version 16.4 is known to miscompile part of LLVM. # LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON disables this error. # See https://developercommunity.visualstudio.com/content/problem/845933/miscompile-boolean-condition-deduced-to-be-always.html # and thread "[llvm-dev] Longstanding failing tests - clang-tidy, MachO, Polly" on llvm-dev Jan 21-23 2020. -list(APPEND FEATURE_OPTIONS - -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON -) +if(VCPKG_DETECTED_CMAKE_CXX_COMPILER_ID STREQUAL "MSVC" AND VCPKG_DETECTED_MSVC_VERSION LESS "1925") + list(APPEND FEATURE_OPTIONS + -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON + ) +endif() # Force enable or disable external libraries set(llvm_external_libraries zlib libxml2 + zstd ) foreach(external_library IN LISTS llvm_external_libraries) string(TOLOWER "enable-${external_library}" feature_name) @@ -62,27 +68,17 @@ foreach(external_library IN LISTS llvm_external_libraries) endif() endforeach() -# By default assertions are enabled for Debug configuration only. -if("enable-assertions" IN_LIST FEATURES) - # Force enable assertions for all configurations. - list(APPEND FEATURE_OPTIONS - -DLLVM_ENABLE_ASSERTIONS=ON - ) -elseif("disable-assertions" IN_LIST FEATURES) - # Force disable assertions for all configurations. - list(APPEND FEATURE_OPTIONS - -DLLVM_ENABLE_ASSERTIONS=OFF - ) -endif() - # LLVM_ABI_BREAKING_CHECKS can be WITH_ASSERTS (default), FORCE_ON or FORCE_OFF. -# By default abi-breaking checks are enabled if assertions are enabled. +# By default in LLVM, abi-breaking checks are enabled if assertions are enabled. +# however, this breaks linking with the debug versions, since the option is +# baked into the header files; thus, we always turn off LLVM_ABI_BREAKING_CHECKS +# unless the user asks for it if("enable-abi-breaking-checks" IN_LIST FEATURES) # Force enable abi-breaking checks. list(APPEND FEATURE_OPTIONS -DLLVM_ABI_BREAKING_CHECKS=FORCE_ON ) -elseif("disable-abi-breaking-checks" IN_LIST FEATURES) +else() # Force disable abi-breaking checks. list(APPEND FEATURE_OPTIONS -DLLVM_ABI_BREAKING_CHECKS=FORCE_OFF @@ -90,20 +86,26 @@ elseif("disable-abi-breaking-checks" IN_LIST FEATURES) endif() set(LLVM_ENABLE_PROJECTS) +if("bolt" IN_LIST FEATURES) + list(APPEND LLVM_ENABLE_PROJECTS "bolt") + list(APPEND FEATURE_OPTIONS + -DBOLT_TOOLS_INSTALL_DIR:PATH=tools/llvm + ) +endif() if("clang" IN_LIST FEATURES OR "clang-tools-extra" IN_LIST FEATURES) list(APPEND LLVM_ENABLE_PROJECTS "clang") - if("disable-clang-static-analyzer" IN_LIST FEATURES) - list(APPEND FEATURE_OPTIONS - # Disable ARCMT - -DCLANG_ENABLE_ARCMT=OFF - # Disable static analyzer - -DCLANG_ENABLE_STATIC_ANALYZER=OFF - ) - endif() - # 1) LLVM/Clang tools are relocated from ./bin/ to ./tools/llvm/ (LLVM_TOOLS_INSTALL_DIR=tools/llvm) - # 2) Clang resource files are relocated from ./lib/clang/ to ./tools/llvm/lib/clang/ (see patch 0007-fix-compiler-rt-install-path.patch) - # So, the relative path should be changed from ../lib/clang/ to ./lib/clang/ - list(APPEND FEATURE_OPTIONS -DCLANG_RESOURCE_DIR=lib/clang/${LLVM_VERSION}) + list(APPEND FEATURE_OPTIONS + -DCLANG_INSTALL_PACKAGE_DIR:PATH=share/clang + -DCLANG_TOOLS_INSTALL_DIR:PATH=tools/llvm + # Disable ARCMT + -DCLANG_ENABLE_ARCMT=OFF + # Disable static analyzer + -DCLANG_ENABLE_STATIC_ANALYZER=OFF + ) + # 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=lib/clang/${CLANG_VERSION_MAJOR}) endif() if("clang-tools-extra" IN_LIST FEATURES) list(APPEND LLVM_ENABLE_PROJECTS "clang-tools-extra") @@ -112,11 +114,14 @@ if("compiler-rt" IN_LIST FEATURES) list(APPEND LLVM_ENABLE_PROJECTS "compiler-rt") endif() if("flang" IN_LIST FEATURES) - # Disable Flang on Windows (see http://lists.llvm.org/pipermail/flang-dev/2020-July/000448.html). - if(VCPKG_TARGET_IS_WINDOWS) - message(FATAL_ERROR "Building Flang with MSVC is not supported. Disable it until issues are fixed.") + if(VCPKG_DETECTED_CMAKE_CXX_COMPILER_ID STREQUAL "MSVC" AND VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + message(FATAL_ERROR "Building Flang with MSVC is not supported on x86. Disable it until issues are fixed.") endif() list(APPEND LLVM_ENABLE_PROJECTS "flang") + list(APPEND FEATURE_OPTIONS + -DFLANG_INSTALL_PACKAGE_DIR:PATH=share/flang + -DFLANG_TOOLS_INSTALL_DIR:PATH=tools/llvm + ) list(APPEND FEATURE_OPTIONS # Flang requires C++17 -DCMAKE_CXX_STANDARD=17 @@ -125,60 +130,85 @@ endif() if("libclc" IN_LIST FEATURES) list(APPEND LLVM_ENABLE_PROJECTS "libclc") endif() -if("libcxx" IN_LIST FEATURES) - if(VCPKG_TARGET_IS_WINDOWS) - message(FATAL_ERROR "Building libcxx with MSVC is not supported. Disable it until issues are fixed.") - endif() - list(APPEND LLVM_ENABLE_PROJECTS "libcxx") -endif() -if("libcxxabi" IN_LIST FEATURES) - if(VCPKG_TARGET_IS_WINDOWS) - message(FATAL_ERROR "Building libcxxabi with MSVC is not supported. Disable it until issues are fixed.") - endif() - list(APPEND LLVM_ENABLE_PROJECTS "libcxxabi") -endif() -if("libunwind" IN_LIST FEATURES) - list(APPEND LLVM_ENABLE_PROJECTS "libunwind") -endif() if("lld" IN_LIST FEATURES) list(APPEND LLVM_ENABLE_PROJECTS "lld") + list(APPEND FEATURE_OPTIONS + -DLLD_INSTALL_PACKAGE_DIR:PATH=share/lld + -DLLD_TOOLS_INSTALL_DIR:PATH=tools/llvm + ) endif() if("lldb" IN_LIST FEATURES) list(APPEND LLVM_ENABLE_PROJECTS "lldb") + list(APPEND FEATURE_OPTIONS + -DLLDB_ENABLE_CURSES=OFF + ) endif() if("mlir" IN_LIST FEATURES) list(APPEND LLVM_ENABLE_PROJECTS "mlir") + list(APPEND FEATURE_OPTIONS + -DMLIR_INSTALL_PACKAGE_DIR:PATH=share/mlir + -DMLIR_TOOLS_INSTALL_DIR:PATH=tools/llvm + -DMLIR_INSTALL_AGGREGATE_OBJECTS=OFF # Disables installation of object files in lib/objects-{CMAKE_BUILD_TYPE}. + ) + if("enable-mlir-python-bindings" IN_LIST FEATURES) + list(APPEND FEATURE_OPTIONS + -DMLIR_ENABLE_BINDINGS_PYTHON=ON + "-Dpybind11_DIR=${CURRENT_INSTALLED_DIR}/share/pybind11" + ) + endif() endif() if("openmp" IN_LIST FEATURES) - # Disable OpenMP on Windows (see https://bugs.llvm.org/show_bug.cgi?id=45074). - if(VCPKG_TARGET_IS_WINDOWS) - message(FATAL_ERROR "Building OpenMP with MSVC is not supported. Disable it until issues are fixed.") - endif() list(APPEND LLVM_ENABLE_PROJECTS "openmp") # Perl is required for the OpenMP run-time vcpkg_find_acquire_program(PERL) list(APPEND FEATURE_OPTIONS - "-DPERL_EXECUTABLE=${PERL}" + -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} ) - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - list(APPEND FEATURE_OPTIONS - -DLIBOMP_DEFAULT_LIB_NAME=libompd - ) - endif() -endif() -if("parallel-libs" IN_LIST FEATURES) - list(APPEND LLVM_ENABLE_PROJECTS "parallel-libs") endif() if("polly" IN_LIST FEATURES) list(APPEND LLVM_ENABLE_PROJECTS "polly") + list(APPEND FEATURE_OPTIONS + -DPOLLY_INSTALL_PACKAGE_DIR:PATH=share/polly + ) +endif() + +set(LLVM_ENABLE_RUNTIMES) +if("libc" IN_LIST FEATURES) + list(APPEND LLVM_ENABLE_RUNTIMES "libc") +endif() +if("libcxx" IN_LIST FEATURES) + if(VCPKG_DETECTED_CMAKE_CXX_COMPILER_ID STREQUAL "MSVC" AND VCPKG_DETECTED_MSVC_VERSION LESS "1914") + # libcxx supports being built with clang-cl, but not with MSVC’s cl.exe, as cl doesn’t support the #include_next extension. + # Furthermore, VS 2017 or newer (19.14) is required. + # More info: https://releases.llvm.org/17.0.1/projects/libcxx/docs/BuildingLibcxx.html#support-for-windows + message(FATAL_ERROR "libcxx requiries MSVC 19.14 or newer.") + endif() + list(APPEND LLVM_ENABLE_RUNTIMES "libcxx") +endif() +if("libcxxabi" IN_LIST FEATURES) + list(APPEND LLVM_ENABLE_RUNTIMES "libcxxabi") +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_TARGET_IS_WINDOWS) - message(FATAL_ERROR "Building pstl with MSVC is not supported. Disable it until issues are fixed.") + if(VCPKG_DETECTED_CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") + message(FATAL_ERROR "Building pstl with MSVC is not supported.") endif() - list(APPEND LLVM_ENABLE_PROJECTS "pstl") + list(APPEND LLVM_ENABLE_RUNTIMES "pstl") endif() +# this is for normal targets set(known_llvm_targets AArch64 AMDGPU @@ -187,6 +217,7 @@ set(known_llvm_targets BPF Hexagon Lanai + LoongArch Mips MSP430 NVPTX @@ -194,12 +225,13 @@ set(known_llvm_targets RISCV Sparc SystemZ + VE WebAssembly X86 XCore ) -set(LLVM_TARGETS_TO_BUILD "") +set(LLVM_TARGETS_TO_BUILD) foreach(llvm_target IN LISTS known_llvm_targets) string(TOLOWER "target-${llvm_target}" feature_name) if(feature_name IN_LIST FEATURES) @@ -207,123 +239,166 @@ foreach(llvm_target IN LISTS known_llvm_targets) endif() endforeach() +# this is for experimental targets +set(known_llvm_experimental_targets + ARC + CSKY + DirectX + M68k + SPIRV + Xtensa +) + +set(LLVM_EXPERIMENTAL_TARGETS_TO_BUILD) +foreach(llvm_target IN LISTS known_llvm_experimental_targets) + string(TOLOWER "target-${llvm_target}" feature_name) + if(feature_name IN_LIST FEATURES) + list(APPEND LLVM_EXPERIMENTAL_TARGETS_TO_BUILD "${llvm_target}") + endif() +endforeach() + vcpkg_find_acquire_program(PYTHON3) get_filename_component(PYTHON3_DIR ${PYTHON3} DIRECTORY) -vcpkg_add_to_path(${PYTHON3_DIR}) +vcpkg_add_to_path("${PYTHON3_DIR}") -if(NOT VCPKG_TARGET_ARCHITECTURE STREQUAL "${VCPKG_DETECTED_CMAKE_SYSTEM_PROCESSOR}") - # TODO: support more targets and OS - if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") - if(VCPKG_TARGET_IS_OSX) - list(APPEND CROSS_OPTIONS -DLLVM_HOST_TRIPLE=arm64-apple-darwin20.3.0) - list(APPEND CROSS_OPTIONS -DLLVM_DEFAULT_TARGET_TRIPLE=arm64-apple-darwin20.3.0) - elseif(VCPKG_TARGET_IS_WINDOWS) - list(APPEND CROSS_OPTIONS -DLLVM_HOST_TRIPLE=arm64-pc-win32) - list(APPEND CROSS_OPTIONS -DLLVM_DEFAULT_TARGET_TRIPLE=arm64-pc-win32) +file(REMOVE "${SOURCE_PATH}/llvm/cmake/modules/Findzstd.cmake") - # Remove if PR #16111 is merged - list(APPEND CROSS_OPTIONS -DCMAKE_CROSSCOMPILING=ON) - list(APPEND CROSS_OPTIONS -DCMAKE_SYSTEM_PROCESSOR:STRING=ARM64) - list(APPEND CROSS_OPTIONS -DCMAKE_SYSTEM_NAME:STRING=Windows) - endif() - list(APPEND CROSS_OPTIONS -DLLVM_TARGET_ARCH=AArch64) - elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") - if(VCPKG_TARGET_IS_OSX) - list(APPEND CROSS_OPTIONS -DLLVM_HOST_TRIPLE=x86_64-apple-darwin20.3.0) - list(APPEND CROSS_OPTIONS -DLLVM_DEFAULT_TARGET_TRIPLE=x86_64-apple-darwin20.3.0) - endif() - list(APPEND CROSS_OPTIONS -DLLVM_TARGET_ARCH=X86) - endif() +if("${LLVM_ENABLE_RUNTIMES}" STREQUAL "") + list(APPEND FEATURE_OPTIONS + -DLLVM_INCLUDE_RUNTIMES=OFF + -DLLVM_BUILD_RUNTIMES=OFF + -DLLVM_BUILD_RUNTIME=OFF + ) endif() -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH}/llvm - PREFER_NINJA +# At least one target must be specified, otherwise default to "all". +if("${LLVM_TARGETS_TO_BUILD}" STREQUAL "") + set(LLVM_TARGETS_TO_BUILD "all") +endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/llvm" OPTIONS - ${FEATURE_OPTIONS} - ${CROSS_OPTIONS} -DLLVM_INCLUDE_EXAMPLES=OFF -DLLVM_BUILD_EXAMPLES=OFF -DLLVM_INCLUDE_TESTS=OFF -DLLVM_BUILD_TESTS=OFF + -DLLVM_INCLUDE_BENCHMARKS=OFF + -DLLVM_BUILD_BENCHMARKS=OFF # Force TableGen to be built with optimization. This will significantly improve build time. -DLLVM_OPTIMIZED_TABLEGEN=ON - "-DLLVM_ENABLE_PROJECTS=${LLVM_ENABLE_PROJECTS}" - "-DLLVM_TARGETS_TO_BUILD=${LLVM_TARGETS_TO_BUILD}" - -DPACKAGE_VERSION=${LLVM_VERSION} + -DPACKAGE_VERSION=${VERSION} # Limit the maximum number of concurrent link jobs to 1. This should fix low amount of memory issue for link. -DLLVM_PARALLEL_LINK_JOBS=1 - # Disable build LLVM-C.dll (Windows only) due to doesn't compile with CMAKE_DEBUG_POSTFIX - -DLLVM_BUILD_LLVM_C_DYLIB=OFF - # Path for binary subdirectory (defaults to 'bin') - -DLLVM_TOOLS_INSTALL_DIR=tools/llvm - OPTIONS_DEBUG - -DCMAKE_DEBUG_POSTFIX=d + -DLLVM_INSTALL_PACKAGE_DIR:PATH=share/llvm + -DLLVM_TOOLS_INSTALL_DIR:PATH=tools/llvm + "-DLLVM_ENABLE_PROJECTS=${LLVM_ENABLE_PROJECTS}" + "-DLLVM_ENABLE_RUNTIMES=${LLVM_ENABLE_RUNTIMES}" + "-DLLVM_TARGETS_TO_BUILD=${LLVM_TARGETS_TO_BUILD}" + "-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=${LLVM_EXPERIMENTAL_TARGETS_TO_BUILD}" + ${FEATURE_OPTIONS} + MAYBE_UNUSED_VARIABLES + COMPILER_RT_ENABLE_IOS ) -vcpkg_install_cmake() - -vcpkg_fixup_cmake_targets(CONFIG_PATH "share/llvm" TARGET_PATH "share/llvm") -file(INSTALL ${SOURCE_PATH}/llvm/LICENSE.TXT DESTINATION ${CURRENT_PACKAGES_DIR}/share/llvm RENAME copyright) -file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/llvm_usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/llvm RENAME usage) +vcpkg_cmake_install(ADD_BIN_TO_PATH) -if("clang" IN_LIST FEATURES) - vcpkg_fixup_cmake_targets(CONFIG_PATH "share/clang" TARGET_PATH "share/clang" DO_NOT_DELETE_PARENT_CONFIG_PATH) - file(INSTALL ${SOURCE_PATH}/clang/LICENSE.TXT DESTINATION ${CURRENT_PACKAGES_DIR}/share/clang RENAME copyright) - file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/clang_usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/clang RENAME usage) -endif() - -if("clang-tools-extra" IN_LIST FEATURES) - # Remove empty include directory include/clang-tidy/plugin - file(GLOB_RECURSE INCLUDE_CLANG_TIDY_PLUGIN_FILES "${CURRENT_PACKAGES_DIR}/include/clang-tidy/plugin/*") - if(NOT INCLUDE_CLANG_TIDY_PLUGIN_FILES) - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/clang-tidy/plugin") +function(llvm_cmake_package_config_fixup package_name) + cmake_parse_arguments("arg" "DO_NOT_DELETE_PARENT_CONFIG_PATH" "FEATURE_NAME;CONFIG_PATH" "" ${ARGN}) + if(NOT DEFINED arg_FEATURE_NAME) + set(arg_FEATURE_NAME ${package_name}) endif() -endif() - -if("flang" IN_LIST FEATURES) - vcpkg_fixup_cmake_targets(CONFIG_PATH "share/flang" TARGET_PATH "share/flang" DO_NOT_DELETE_PARENT_CONFIG_PATH) - file(INSTALL ${SOURCE_PATH}/flang/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/flang RENAME copyright) - file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/flang_usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/flang RENAME usage) - # Remove empty include directory /include/flang/Config - file(GLOB_RECURSE INCLUDE_FLANG_CONFIG_FILES "${CURRENT_PACKAGES_DIR}/include/flang/Config/*") - if(NOT INCLUDE_FLANG_CONFIG_FILES) - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/flang/Config") + if("${arg_FEATURE_NAME}" STREQUAL "${PORT}" OR "${arg_FEATURE_NAME}" IN_LIST FEATURES) + set(args) + list(APPEND args PACKAGE_NAME "${package_name}") + if(arg_DO_NOT_DELETE_PARENT_CONFIG_PATH) + list(APPEND args "DO_NOT_DELETE_PARENT_CONFIG_PATH") + endif() + if(arg_CONFIG_PATH) + list(APPEND args "CONFIG_PATH" "${arg_CONFIG_PATH}") + endif() + vcpkg_cmake_config_fixup(${args}) + file(INSTALL "${SOURCE_PATH}/${arg_FEATURE_NAME}/LICENSE.TXT" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${package_name}" RENAME copyright) + if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/${package_name}_usage") + file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/${package_name}_usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${package_name}" RENAME usage) + endif() endif() -endif() +endfunction() -if("lld" IN_LIST FEATURES) - vcpkg_fixup_cmake_targets(CONFIG_PATH "share/lld" TARGET_PATH "share/lld" DO_NOT_DELETE_PARENT_CONFIG_PATH) - file(INSTALL ${SOURCE_PATH}/lld/LICENSE.TXT DESTINATION ${CURRENT_PACKAGES_DIR}/share/lld RENAME copyright) - file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/lld_usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/lld RENAME usage) -endif() +llvm_cmake_package_config_fixup("clang" DO_NOT_DELETE_PARENT_CONFIG_PATH) +llvm_cmake_package_config_fixup("flang" DO_NOT_DELETE_PARENT_CONFIG_PATH) +llvm_cmake_package_config_fixup("lld" DO_NOT_DELETE_PARENT_CONFIG_PATH) +llvm_cmake_package_config_fixup("mlir" DO_NOT_DELETE_PARENT_CONFIG_PATH) +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") if("mlir" IN_LIST FEATURES) - vcpkg_fixup_cmake_targets(CONFIG_PATH "share/mlir" TARGET_PATH "share/mlir" DO_NOT_DELETE_PARENT_CONFIG_PATH) - file(INSTALL ${SOURCE_PATH}/mlir/LICENSE.TXT DESTINATION ${CURRENT_PACKAGES_DIR}/share/mlir RENAME copyright) - file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/mlir_usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/mlir RENAME usage) + 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() -if("polly" IN_LIST FEATURES) - vcpkg_fixup_cmake_targets(CONFIG_PATH "share/polly" TARGET_PATH "share/polly" DO_NOT_DELETE_PARENT_CONFIG_PATH) - file(INSTALL ${SOURCE_PATH}/polly/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/polly RENAME copyright) +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) - vcpkg_fixup_cmake_targets(CONFIG_PATH "share/ParallelSTL" TARGET_PATH "share/ParallelSTL" DO_NOT_DELETE_PARENT_CONFIG_PATH) - file(INSTALL ${SOURCE_PATH}/pstl/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/ParallelSTL RENAME copyright) + 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") + list(APPEND empty_dirs "${CURRENT_PACKAGES_DIR}/include/flang/Optimizer/CMakeFiles") + list(APPEND empty_dirs "${CURRENT_PACKAGES_DIR}/include/flang/Optimizer/CodeGen/CMakeFiles") + list(APPEND empty_dirs "${CURRENT_PACKAGES_DIR}/include/flang/Optimizer/Dialect/CMakeFiles") + 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}") + message(WARNING "Directory '${empty_dir}' does not exist. Please remove it from the list of empty directories.") + else() + file(GLOB_RECURSE files_in_dir "${empty_dir}/*") + if(files_in_dir) + message(WARNING "Directory '${empty_dir}' is not empty. Please remove it from the list of empty directories.") + else() + file(REMOVE_RECURSE "${empty_dir}") + endif() + endif() + 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) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/tools) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/debug/tools" + ) endif() -# LLVM still generates a few DLLs in the static build: -# * libclang.dll -# * LTO.dll -# * Remarks.dll -set(VCPKG_POLICY_DLLS_IN_STATIC_LIBRARY enabled) +# 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) + set(VCPKG_POLICY_DLLS_IN_STATIC_LIBRARY enabled) +else() + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" + "${CURRENT_PACKAGES_DIR}/debug/bin" + ) +endif() \ No newline at end of file diff --git a/ports/llvm/vcpkg.json b/ports/llvm/vcpkg.json index afa41a8abe7ebd..e097973380fee2 100644 --- a/ports/llvm/vcpkg.json +++ b/ports/llvm/vcpkg.json @@ -1,17 +1,52 @@ { "name": "llvm", - "version-string": "12.0.1", + "version": "18.1.6", + "port-version": 1, "description": "The LLVM Compiler Infrastructure.", "homepage": "https://llvm.org", - "supports": "!uwp", + "license": "Apache-2.0", + "supports": "!uwp & !(arm & windows)", + "dependencies": [ + { + "name": "atl", + "platform": "windows & !mingw" + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + { + "name": "vcpkg-cmake-get-vars", + "host": true + } + ], "default-features": [ "clang", - "default-options", "default-targets", + "enable-bindings", + "enable-terminfo", + "enable-zlib", + "enable-zstd", "lld", "tools" ], "features": { + "bolt": { + "description": "BOLT is a post-link optimizer developed to speed up large applications.", + "dependencies": [ + { + "name": "llvm", + "default-features": false, + "features": [ + "tools" + ] + } + ] + }, "clang": { "description": "Include C Language Family Front-end.", "dependencies": [ @@ -19,32 +54,31 @@ "name": "llvm", "default-features": false, "features": [ - "compiler-rt", "tools" ] } ] }, "clang-tools-extra": { - "description": "Include Clang tools." + "description": "Include Clang tools.", + "dependencies": [ + { + "name": "llvm", + "default-features": false, + "features": [ + "clang" + ] + } + ] }, "compiler-rt": { - "description": "Include compiler's runtime libraries." - }, - "default-options": { - "description": "Build with default options.", + "description": "Include compiler's runtime libraries.", "dependencies": [ { "name": "llvm", "default-features": false, "features": [ - "disable-abi-breaking-checks", - "disable-assertions", - "disable-clang-static-analyzer", - "enable-bindings", - "enable-terminfo", - "enable-threads", - "enable-zlib" + "clang" ] } ] @@ -75,26 +109,9 @@ "target-arm" ], "platform": "arm & !arm64" - }, - { - "name": "llvm", - "default-features": false, - "features": [ - "target-all" - ], - "platform": "!x86 & !x64 & !arm & !arm64" } ] }, - "disable-abi-breaking-checks": { - "description": "Build LLVM with LLVM_ABI_BREAKING_CHECKS=FORCE_OFF." - }, - "disable-assertions": { - "description": "Build LLVM without assertions." - }, - "disable-clang-static-analyzer": { - "description": "Build without static analyzer." - }, "enable-abi-breaking-checks": { "description": "Build LLVM with LLVM_ABI_BREAKING_CHECKS=FORCE_ON." }, @@ -122,27 +139,57 @@ "libffi" ] }, + "enable-ios": { + "description": "Build compiler-rt for iOS SDK.", + "dependencies": [ + { + "name": "llvm", + "default-features": false, + "features": [ + "target-arm" + ] + } + ] + }, "enable-libxml2": { "description": "Build with LibXml2.", "dependencies": [ "libxml2" ] }, + "enable-mlir-python-bindings": { + "description": "Build MLIR Python bindings.", + "supports": "!(windows & static)", + "dependencies": [ + { + "name": "llvm", + "default-features": false, + "features": [ + "mlir" + ] + }, + "pybind11", + "python3" + ] + }, "enable-rtti": { "description": "Build LLVM with run-time type information." }, "enable-terminfo": { "description": "Use terminfo database if available." }, - "enable-threads": { - "description": "Use threads if available." - }, "enable-zlib": { "description": "Build with ZLib.", "dependencies": [ "zlib" ] }, + "enable-zstd": { + "description": "Build with zstd.", + "dependencies": [ + "zstd" + ] + }, "flang": { "description": "Include Fortran front end.", "dependencies": [ @@ -150,12 +197,27 @@ "name": "llvm", "default-features": false, "features": [ + "clang", "mlir", "tools" ] } ] }, + "libc": { + "description": "Include libc library.", + "supports": "linux", + "dependencies": [ + { + "name": "llvm", + "default-features": false, + "features": [ + "clang", + "tools" + ] + } + ] + }, "libclc": { "description": "Include OpenCL library." }, @@ -166,16 +228,38 @@ "name": "llvm", "default-features": false, "features": [ - "libcxxabi" + "clang", + "libcxxabi", + "tools" ] } ] }, "libcxxabi": { - "description": "Include libcxxabi library." + "description": "Include libcxxabi library.", + "dependencies": [ + { + "name": "llvm", + "default-features": false, + "features": [ + "clang", + "libcxx", + "tools" + ] + } + ] }, "libunwind": { - "description": "Include libunwind library." + "description": "Include libunwind library.", + "dependencies": [ + { + "name": "llvm", + "default-features": false, + "features": [ + "tools" + ] + } + ] }, "lld": { "description": "Include LLVM linker.", @@ -196,6 +280,8 @@ "name": "llvm", "default-features": false, "features": [ + "clang", + "enable-terminfo", "tools" ] } @@ -208,7 +294,8 @@ "name": "llvm", "default-features": false, "features": [ - "tools" + "tools", + "utils" ] } ] @@ -220,14 +307,12 @@ "name": "llvm", "default-features": false, "features": [ + "clang", "utils" ] } ] }, - "parallel-libs": { - "description": "Include parallel-libs project." - }, "polly": { "description": "Include Polly (Polyhedral optimizations for LLVM) project.", "dependencies": [ @@ -242,7 +327,16 @@ ] }, "pstl": { - "description": "Include pstl (Parallel STL) library." + "description": "Include pstl (Parallel STL) library.", + "dependencies": [ + { + "name": "llvm", + "default-features": false, + "features": [ + "tools" + ] + } + ] }, "target-aarch64": { "description": "Build with AArch64 backend." @@ -256,21 +350,29 @@ "features": [ "target-aarch64", "target-amdgpu", + "target-arc", "target-arm", "target-avr", "target-bpf", + "target-csky", + "target-directx", "target-hexagon", "target-lanai", + "target-loongarch", + "target-m68k", "target-mips", "target-msp430", "target-nvptx", "target-powerpc", "target-riscv", "target-sparc", + "target-spirv", "target-systemz", + "target-ve", "target-webassembly", "target-x86", - "target-xcore" + "target-xcore", + "target-xtensa" ] } ] @@ -278,6 +380,9 @@ "target-amdgpu": { "description": "Build with AMDGPU backend." }, + "target-arc": { + "description": "Build with ARC backend (experimental)." + }, "target-arm": { "description": "Build with ARM backend." }, @@ -287,12 +392,24 @@ "target-bpf": { "description": "Build with BPF backend." }, + "target-csky": { + "description": "Build with CSKY backend (experimental)." + }, + "target-directx": { + "description": "Build with DirectX backend (experimental)." + }, "target-hexagon": { "description": "Build with Hexagon backend." }, "target-lanai": { "description": "Build with Lanai backend." }, + "target-loongarch": { + "description": "Build with LoongArch backend." + }, + "target-m68k": { + "description": "Build with M68k backend (experimental)." + }, "target-mips": { "description": "Build with Mips backend." }, @@ -311,9 +428,15 @@ "target-sparc": { "description": "Build with Sparc backend." }, + "target-spirv": { + "description": "Build with SPIRV backend (experimental)." + }, "target-systemz": { "description": "Build with SystemZ backend." }, + "target-ve": { + "description": "Build with VE backend." + }, "target-webassembly": { "description": "Build with WebAssembly backend." }, @@ -323,11 +446,23 @@ "target-xcore": { "description": "Build with XCore backend." }, + "target-xtensa": { + "description": "Build with Xtensa backend (experimental)." + }, "tools": { "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/cmake/CMakeLists.txt b/ports/lmdb/cmake/CMakeLists.txt index dfa61785f58665..1388328a188eef 100644 --- a/ports/lmdb/cmake/CMakeLists.txt +++ b/ports/lmdb/cmake/CMakeLists.txt @@ -1,82 +1,72 @@ -cmake_minimum_required(VERSION 2.8) - -file(READ "${CMAKE_CURRENT_SOURCE_DIR}/lmdb.h" VERSION_HEADER) -string(REGEX MATCH ".*MDB_VERSION_MAJOR[ \t]+([0-9])" MAJOR_VERSION_MATCH "${VERSION_HEADER}") -set(LMDB_MAJOR_VERSION ${CMAKE_MATCH_1}) -string(REGEX MATCH ".*MDB_VERSION_MINOR[ \t]+([0-9])" MINOR_VERSION_MATCH "${VERSION_HEADER}") -set(LMDB_MINOR_VERSION ${CMAKE_MATCH_1}) -string(REGEX MATCH ".*MDB_VERSION_PATCH[ \t]+([0-9]+)" PATCH_VERSION_MATCH "${VERSION_HEADER}") -set(LMDB_PATCH_VERSION ${CMAKE_MATCH_1}) - -set(LMDB_VERSION "${LMDB_MAJOR_VERSION}.${LMDB_MINOR_VERSION}.${LMDB_PATCH_VERSION}") +cmake_minimum_required(VERSION 3.27) project(lmdb) option(LMDB_BUILD_TOOLS "Build lmdb tools" OFF) option(LMDB_BUILD_TESTS "Build lmdb tests" OFF) option(LMDB_INSTALL_HEADERS "Install LMDB header files" ON) -set(LMDB_INCLUDE_INSTALL_DIR include CACHE PATH "Install directory for headers") -set(LMDB_LIBRARY_INSTALL_DIR lib CACHE PATH "Install directory for library") -set(LMDB_RUNTIME_INSTALL_DIR bin CACHE PATH "Install directory for binaries/dlls") -set(LMDB_CONFIG_INSTALL_DIR share/lmdb CACHE PATH "Install directory for cmake config files") +include(GNUInstallDirs) -if(BUILD_SHARED_LIBS) -set(CMAKE_SHARED_LINKER_FLAGS_DEBUG "${CMAKE_SHARED_LINKER_FLAGS_DEBUG} /DEF:\"${CMAKE_CURRENT_SOURCE_DIR}/lmdbd.def\"") -set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_DEBUG} /DEF:\"${CMAKE_CURRENT_SOURCE_DIR}/lmdb.def\"") +add_library(lmdb mdb.c lmdb.h midl.c midl.h) +if(WIN32 AND BUILD_SHARED_LIBS) + target_sources(lmdb PRIVATE lmdb.def) endif() -set(SRCS lmdb mdb.c lmdb.h midl.c midl.h ) -add_library(lmdb ${SRCS}) -set_target_properties(lmdb PROPERTIES DEBUG_POSTFIX d) -if (WIN32) - target_link_libraries(lmdb PRIVATE ntdll.lib) -endif() +set(THREADS_PREFER_PTHREAD_FLAG 1) +find_package(Threads REQUIRED) +target_link_libraries(lmdb PRIVATE Threads::Threads) -install(TARGETS lmdb DESTINATION lib - EXPORT lmdb-targets - RUNTIME DESTINATION ${LMDB_RUNTIME_INSTALL_DIR} - LIBRARY DESTINATION ${LMDB_LIBRARY_INSTALL_DIR} - ARCHIVE DESTINATION ${LMDB_LIBRARY_INSTALL_DIR} - ) +install(TARGETS lmdb + EXPORT unofficial-lmdb-targets + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" + LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" + ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" +) if(LMDB_INSTALL_HEADERS) - install(FILES lmdb.h midl.h DESTINATION ${LMDB_INCLUDE_INSTALL_DIR}) + install(FILES lmdb.h DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") endif() +target_include_directories(lmdb INTERFACE "$") include(CMakePackageConfigHelpers) - -set(INSTALL_INCLUDE_DIR ${LMDB_INCLUDE_INSTALL_DIR}) -configure_package_config_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/package-config.cmakein ${CMAKE_CURRENT_BINARY_DIR}/lmdb-config.cmake - INSTALL_DESTINATION ${LMDB_CONFIG_INSTALL_DIR} - PATH_VARS INSTALL_INCLUDE_DIR - ) - -write_basic_package_version_file( ${CMAKE_CURRENT_BINARY_DIR}/lmdb-config-version.cmake VERSION ${LMDB_VERSION} COMPATIBILITY SameMajorVersion ) - -install(FILES ${CMAKE_CURRENT_BINARY_DIR}/lmdb-config.cmake ${CMAKE_CURRENT_BINARY_DIR}/lmdb-config-version.cmake - DESTINATION ${LMDB_CONFIG_INSTALL_DIR} ) - - -install(EXPORT lmdb-targets DESTINATION ${LMDB_CONFIG_INSTALL_DIR}) +configure_package_config_file("${CMAKE_CURRENT_SOURCE_DIR}/cmake/package-config.cmakein" "${CMAKE_CURRENT_BINARY_DIR}/unofficial-lmdb-config.cmake" + INSTALL_DESTINATION "${CMAKE_INSTALL_DATADIR}/lmdb" +) +write_basic_package_version_file("${CMAKE_CURRENT_BINARY_DIR}/unofficial-lmdb-config-version.cmake" + VERSION "${LMDB_VERSION}" + COMPATIBILITY SameMajorVersion +) +install(FILES "${CMAKE_CURRENT_BINARY_DIR}/unofficial-lmdb-config.cmake" "${CMAKE_CURRENT_BINARY_DIR}/unofficial-lmdb-config-version.cmake" + DESTINATION "${CMAKE_INSTALL_DATADIR}/unofficial-lmdb" +) +install(EXPORT unofficial-lmdb-targets + NAMESPACE unofficial::lmdb:: + DESTINATION "${CMAKE_INSTALL_DATADIR}/unofficial-lmdb" +) if(LMDB_BUILD_TOOLS) - # don't build mdb_dump/load/stat since they will - # not build on windows - foreach(_tool mdb_copy) - add_executable(${_tool} ${_tool}.c) - target_link_libraries(${_tool} lmdb) - endforeach() + set(getopt_libs "") + if(WIN32 AND NOT MINGW) + find_package(unofficial-getopt-win32 REQUIRED) + set(getopt_libs "unofficial::getopt-win32::getopt") + endif() + foreach(tool IN ITEMS mdb_copy mdb_dump mdb_load mdb_stat) + add_executable(${tool} ${tool}.c) + target_link_libraries(${tool} lmdb ${getopt_libs}) + install(TARGETS ${tool} + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" + ) + endforeach() endif() if(LMDB_BUILD_TESTS) - enable_testing() - # don't use mtest6 since it will only build in static - # build - foreach(_test mtest mtest2 mtest3 mtest4 mtest5) - add_executable(${_test} ${_test}.c) - target_link_libraries(${_test} lmdb) - add_test(NAME ${_test} - COMMAND ${CMAKE_COMMAND} -DTEST=$ + #include + #include ++#ifdef _MSC_VER ++#include ++#else + #include ++#endif + #include + #include "lmdb.h" + +diff --git a/libraries/liblmdb/mdb_load.c b/libraries/liblmdb/mdb_load.c +index d2a3cec..f050286 100644 +--- a/libraries/liblmdb/mdb_load.c ++++ b/libraries/liblmdb/mdb_load.c +@@ -16,7 +16,11 @@ + #include + #include + #include ++#ifdef _MSC_VER ++#include ++#else + #include ++#endif + #include "lmdb.h" + + #define PRINT 1 +diff --git a/libraries/liblmdb/mdb_stat.c b/libraries/liblmdb/mdb_stat.c +index 3a81175..f1f4a75 100644 +--- a/libraries/liblmdb/mdb_stat.c ++++ b/libraries/liblmdb/mdb_stat.c +@@ -14,7 +14,13 @@ + #include + #include + #include ++#ifdef _MSC_VER ++#include ++#include ++typedef SSIZE_T ssize_t; ++#else + #include ++#endif + #include "lmdb.h" + + #ifdef _WIN32 diff --git a/ports/lmdb/lmdb-config.cmake b/ports/lmdb/lmdb-config.cmake new file mode 100644 index 00000000000000..50b92707f12242 --- /dev/null +++ b/ports/lmdb/lmdb-config.cmake @@ -0,0 +1,14 @@ +file(READ "${CMAKE_CURRENT_LIST_DIR}/../lmdb/usage" usage) +message(WARNING "find_package(lmdb) is deprecated.\n${usage}") + +include(CMakeFindDependencyMacro) +find_dependency(unofficial-lmdb ${${CMAKE_FIND_PACKAGE_NAME}_FIND_VERSION}) + +set(${CMAKE_FIND_PACKAGE_NAME}_INCLUDE_DIR "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include") +set(${CMAKE_FIND_PACKAGE_NAME}_INCLUDE_DIRS "${${CMAKE_FIND_PACKAGE_NAME}_INCLUDE_DIR}") +set(${CMAKE_FIND_PACKAGE_NAME}_LIBRARIES lmdb) + +string(TOUPPER "${CMAKE_FIND_PACKAGE_NAME}" UPPER_PACKAGE_NAME) +set(${UPPER_PACKAGE_NAME}_INCLUDE_DIR "${${CMAKE_FIND_PACKAGE_NAME}_INCLUDE_DIR}") +set(${UPPER_PACKAGE_NAME}_INCLUDE_DIRS "${${CMAKE_FIND_PACKAGE_NAME}_INCLUDE_DIR}") +set(${UPPER_PACKAGE_NAME}_LIBRARIES lmdb) diff --git a/ports/lmdb/portfile.cmake b/ports/lmdb/portfile.cmake index 632d7a59e7e80b..af5591dd8ac93f 100644 --- a/ports/lmdb/portfile.cmake +++ b/ports/lmdb/portfile.cmake @@ -1,23 +1,44 @@ -vcpkg_from_github( +vcpkg_from_gitlab( OUT_SOURCE_PATH SOURCE_PATH - REPO LMDB/lmdb - REF 0c357cc88a00bda03aa4a982fc227a5872707df2 # LMDB_0.9.24 - SHA512 a4d4ff96078eaf608eff08014d56561903f113a32617d3c9327dcdedfb7b261e03a80bf705f9d7159bb065eb1ab3c95af49d42525b75de0c2953223377042dec + GITLAB_URL https://git.openldap.org + REPO openldap/openldap + REF "LMDB_${VERSION}" + SHA512 57404b35adb5136fcdf60552c2dd2626b9753868f2707d3279725e08145cee3be0d311189b2c6ef6879f25cf09962e6b423c70c8a2e09ef1b368948e873d92b5 HEAD_REF master + PATCHES + getopt-win32.diff ) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/cmake/" DESTINATION "${SOURCE_PATH}/libraries/liblmdb") -file(COPY ${CMAKE_CURRENT_LIST_DIR}/cmake/ DESTINATION ${SOURCE_PATH}/libraries/liblmdb) +vcpkg_check_features(OUT_FEATURE_OPTIONS options_release + FEATURES + tools LMDB_BUILD_TOOLS +) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH}/libraries/liblmdb - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/libraries/liblmdb" + OPTIONS + "-DLMDB_VERSION=${VERSION}" + OPTIONS_RELEASE + ${options_release} OPTIONS_DEBUG -DLMDB_INSTALL_HEADERS=OFF ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets() +vcpkg_cmake_install() +vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-lmdb) -file(INSTALL ${SOURCE_PATH}/libraries/liblmdb/COPYRIGHT DESTINATION ${CURRENT_PACKAGES_DIR}/share/lmdb RENAME copyright) +if(LMDB_BUILD_TOOLS) + vcpkg_copy_tools(TOOL_NAMES mdb_copy mdb_dump mdb_load mdb_stat AUTO_CLEAN) +endif() -vcpkg_copy_pdbs() +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +file(COPY "${CURRENT_PORT_DIR}/lmdb-config.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +file(COPY "${CURRENT_PORT_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright( + FILE_LIST + "${SOURCE_PATH}/libraries/liblmdb/COPYRIGHT" + "${SOURCE_PATH}/libraries/liblmdb/LICENSE" +) diff --git a/ports/lmdb/usage b/ports/lmdb/usage new file mode 100644 index 00000000000000..ef273ae521f37e --- /dev/null +++ b/ports/lmdb/usage @@ -0,0 +1,4 @@ +lmdb provides CMake targets: + + find_package(unofficial-lmdb CONFIG REQUIRED) + target_link_libraries(main PRIVATE unofficial::lmdb::lmdb) diff --git a/ports/lmdb/vcpkg.json b/ports/lmdb/vcpkg.json index 011be1311074e1..0cd17684fb2cc4 100644 --- a/ports/lmdb/vcpkg.json +++ b/ports/lmdb/vcpkg.json @@ -1,7 +1,26 @@ { "name": "lmdb", - "version-string": "0.9.24", - "port-version": 1, + "version": "0.9.33", "description": "LMDB is an extraordinarily fast, memory-efficient database", - "homepage": "https://github.com/LMDB/lmdb" + "homepage": "https://github.com/LMDB/lmdb", + "license": "OLDAP-2.8", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "tools": { + "description": "Build tools", + "supports": "!uwp", + "dependencies": [ + "getopt" + ] + } + } } diff --git a/ports/lockpp/portfile.cmake b/ports/lockpp/portfile.cmake new file mode 100644 index 00000000000000..157303505202e2 --- /dev/null +++ b/ports/lockpp/portfile.cmake @@ -0,0 +1,15 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Soundux/lockpp + REF "v${VERSION}" + SHA512 ce2572ff53096a53cda722e47bbd23e4c3a8b3856de9dfe775b7468cd5f7fcbc86412457af091b8977dd0b41d161c103b679c7a98016f6e9d3ab70aaa360648f + HEAD_REF master +) + +vcpkg_cmake_configure(SOURCE_PATH ${SOURCE_PATH}) + +vcpkg_cmake_install() + + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/lockpp/vcpkg.json b/ports/lockpp/vcpkg.json new file mode 100644 index 00000000000000..46466f13605be8 --- /dev/null +++ b/ports/lockpp/vcpkg.json @@ -0,0 +1,13 @@ +{ + "name": "lockpp", + "version": "3.0", + "description": "A C++17 Library that provides mutex protected objects", + "homepage": "https://github.com/Soundux/lockpp", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] +} diff --git a/ports/lodepng-c/CMakeLists.txt b/ports/lodepng-c/CMakeLists.txt deleted file mode 100644 index bd58c435e181d5..00000000000000 --- a/ports/lodepng-c/CMakeLists.txt +++ /dev/null @@ -1,23 +0,0 @@ -cmake_minimum_required(VERSION 3.8.0) -project(lodepng-c C) - -configure_file(${CMAKE_CURRENT_LIST_DIR}/lodepng.cpp ${CMAKE_CURRENT_LIST_DIR}/lodepng.c COPYONLY) -add_library(lodepng-c lodepng.c) -target_include_directories(lodepng-c PUBLIC - $ -) - -file(WRITE "${CMAKE_BINARY_DIR}/lodepng-c-config.cmake" "include(\"\${CMAKE_CURRENT_LIST_DIR}/lodepng-c-targets.cmake\")") -install(FILES "${CMAKE_BINARY_DIR}/lodepng-c-config.cmake" DESTINATION "share/lodepng-c/") - -install(TARGETS lodepng-c EXPORT lodepng-c-targets) - -install(EXPORT lodepng-c-targets DESTINATION share/lodepng-c/) - -if(NOT DDISABLE_INSTALL_EXAMPLES) - install(DIRECTORY examples DESTINATION share/lodepng-c/) -endif() - -if(NOT DISABLE_INSTALL_HEADERS) - install(FILES lodepng.h DESTINATION include) -endif() diff --git a/ports/lodepng-c/portfile.cmake b/ports/lodepng-c/portfile.cmake index 6593d2598c12ed..dba1f83f42edee 100644 --- a/ports/lodepng-c/portfile.cmake +++ b/ports/lodepng-c/portfile.cmake @@ -1,33 +1 @@ -if (EXISTS ${CURRENT_INSTALLED_DIR}/share/lodepng/copyright) - message(FATAL_ERROR "${PORT} conflict with lodepng, please remove lodepng before install ${PORT}.") -endif() - -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO lvandeve/lodepng - REF e34ac04553e51a6982ae234d98ce6b76dd57a6a1 - SHA512 ab79fb2c6403e5d7bdf0b94a3f93f6513889eda8e6b74fb2b569fbc6f95fb79474654818cb0e71eff88214ca7c42ebd7c95f734a2faa77259fe06bfddcb6967a - HEAD_REF master -) - -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - DISABLE_PARALLEL_CONFIGURE - OPTIONS_DEBUG - -DDISABLE_INSTALL_HEADERS=ON - -DDISABLE_INSTALL_TOOLS=ON - -DDDISABLE_INSTALL_EXAMPLES=ON -) - -vcpkg_install_cmake() -vcpkg_copy_pdbs() - -# Moves all .cmake files from /debug/share/lodepng/ to /share/lodepng/ -vcpkg_fixup_cmake_targets() - -file(INSTALL "${SOURCE_PATH}/lodepng.h" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +SET(VCPKG_POLICY_EMPTY_PACKAGE enabled) diff --git a/ports/lodepng-c/vcpkg.json b/ports/lodepng-c/vcpkg.json index 3e027e6328b3d5..4f33b1778465b1 100644 --- a/ports/lodepng-c/vcpkg.json +++ b/ports/lodepng-c/vcpkg.json @@ -1,7 +1,8 @@ { "name": "lodepng-c", - "version-date": "2021-03-01", - "port-version": 1, - "description": "PNG encoder and decoder in C", - "homepage": "https://github.com/lvandeve/lodepng" + "version-string": "deprecated", + "description": "Legacy port. Use port lodepng instead.", + "dependencies": [ + "lodepng" + ] } diff --git a/ports/lodepng/CMakeLists.txt b/ports/lodepng/CMakeLists.txt index 1cf1865c067b02..6c80b126cf1f36 100644 --- a/ports/lodepng/CMakeLists.txt +++ b/ports/lodepng/CMakeLists.txt @@ -1,9 +1,9 @@ cmake_minimum_required(VERSION 3.8.0) project(lodepng) -add_library(lodepng lodepng.cpp lodepng_util.cpp) +add_library(lodepng lodepng.cpp) target_include_directories(lodepng PUBLIC - $ + $ ) file(WRITE "${CMAKE_BINARY_DIR}/lodepng-config.cmake" "include(\"\${CMAKE_CURRENT_LIST_DIR}/lodepng-targets.cmake\")") @@ -13,10 +13,18 @@ install(TARGETS lodepng EXPORT lodepng-targets) install(EXPORT lodepng-targets DESTINATION share/lodepng/) -if(NOT DDISABLE_INSTALL_EXAMPLES) - install(DIRECTORY examples DESTINATION share/lodepng/) -endif() +add_library(lodepng-c lodepng.c) +target_include_directories(lodepng-c PUBLIC + $ +) + +file(WRITE "${CMAKE_BINARY_DIR}/lodepng-c-config.cmake" "include(\"\${CMAKE_CURRENT_LIST_DIR}/lodepng-c-targets.cmake\")") +install(FILES "${CMAKE_BINARY_DIR}/lodepng-c-config.cmake" DESTINATION "share/lodepng-c/") + +install(TARGETS lodepng-c EXPORT lodepng-c-targets) + +install(EXPORT lodepng-c-targets DESTINATION share/lodepng-c/) if(NOT DISABLE_INSTALL_HEADERS) - install(FILES lodepng.h lodepng_util.h DESTINATION include) + install(FILES lodepng.h DESTINATION include) endif() diff --git a/ports/lodepng/portfile.cmake b/ports/lodepng/portfile.cmake index 2075d678993e1c..6a3e0e90101660 100644 --- a/ports/lodepng/portfile.cmake +++ b/ports/lodepng/portfile.cmake @@ -5,28 +5,27 @@ endif() vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO lvandeve/lodepng - REF e34ac04553e51a6982ae234d98ce6b76dd57a6a1 - SHA512 ab79fb2c6403e5d7bdf0b94a3f93f6513889eda8e6b74fb2b569fbc6f95fb79474654818cb0e71eff88214ca7c42ebd7c95f734a2faa77259fe06bfddcb6967a - HEAD_REF master + OUT_SOURCE_PATH SOURCE_PATH + REPO lvandeve/lodepng + REF 8c6a9e30576f07bf470ad6f09458a2dcd7a6a84a + SHA512 2e0abc063be45dc04a070656260e9a2b9fa1172433cdd7d4988f0afc11751ad28aa802350598ef0e2b27c2c011fd9d9f7ab7f267b0bfcdf28f9f708b888c4411 + HEAD_REF master ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") +configure_file("${SOURCE_PATH}/lodepng.cpp" "${SOURCE_PATH}/lodepng.c" COPYONLY) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS_DEBUG - -DDISABLE_INSTALL_HEADERS=ON - -DDISABLE_INSTALL_TOOLS=ON - -DDDISABLE_INSTALL_EXAMPLES=ON + -DDISABLE_INSTALL_HEADERS=ON ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -# Moves all .cmake files from /debug/share/lodepng/ to /share/lodepng/ -vcpkg_fixup_cmake_targets() +vcpkg_cmake_config_fixup() +vcpkg_cmake_config_fixup(PACKAGE_NAME lodepng-c) -file(INSTALL ${SOURCE_PATH}/lodepng.h DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +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/lodepng/usage b/ports/lodepng/usage new file mode 100644 index 00000000000000..6eeeb738fdc110 --- /dev/null +++ b/ports/lodepng/usage @@ -0,0 +1,9 @@ +The package lodepng provides CMake targets: + + # C API + find_package(lodepng-c CONFIG REQUIRED) + target_link_libraries(main PRIVATE lodepng-c) + + # C++ API + find_package(lodepng CONFIG REQUIRED) + target_link_libraries(main PRIVATE lodepng) diff --git a/ports/lodepng/vcpkg.json b/ports/lodepng/vcpkg.json index 7a004463c55631..651f85f8722b2e 100644 --- a/ports/lodepng/vcpkg.json +++ b/ports/lodepng/vcpkg.json @@ -1,7 +1,17 @@ { "name": "lodepng", - "version-string": "2020-03-15", + "version-date": "2021-12-04", "port-version": 1, "description": "PNG encoder and decoder in C++", - "homepage": "https://github.com/lvandeve/lodepng" + "homepage": "https://github.com/lvandeve/lodepng", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/log4cplus/portfile.cmake b/ports/log4cplus/portfile.cmake index 3b26122e235d25..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_0_7 - SHA512 FE5FCEB346AC19A6D953661A20E8AA02AB48E872F427D958EA99C62F534DDF1FA4511FFD67A662605B1F225E3A6C06B0EE2C1B0EB62DE3AA0316F47F778DF06D + REF REL_2_1_1 + SHA512 ddc63ad574aed7d13980308c1f4d3a31a7fa9c7d4a14de923f9b3a851492d17f64f34166b6be77fc8584c0e98cd1f34ed3d9ba268e7456fd1ff3b7d8125dbe3a HEAD_REF master ) @@ -40,13 +40,18 @@ 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 9ba37aec96aba5..2d3bd2f320eba1 100644 --- a/ports/log4cplus/vcpkg.json +++ b/ports/log4cplus/vcpkg.json @@ -1,10 +1,10 @@ { "name": "log4cplus", - "version": "2.0.7", + "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": [ - "catch", { "name": "vcpkg-cmake", "host": true diff --git a/ports/log4cpp-log4cpp/fix_link_msvcrt.patch b/ports/log4cpp-log4cpp/fix_link_msvcrt.patch new file mode 100644 index 00000000000000..7e08edc0080785 --- /dev/null +++ b/ports/log4cpp-log4cpp/fix_link_msvcrt.patch @@ -0,0 +1,31 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 140910b..08cde3b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -81,8 +81,12 @@ ADD_LIBRARY ( ${LOG4CPP_LIBRARY_NAME} + ) + + IF (WIN32) +- TARGET_LINK_LIBRARIES (${LOG4CPP_LIBRARY_NAME} kernel32 user32 ws2_32 advapi32 ) +- SET_TARGET_PROPERTIES(${LOG4CPP_LIBRARY_NAME} PROPERTIES LINK_FLAGS /NODEFAULTLIB:msvcrt ) ++ TARGET_LINK_LIBRARIES (${LOG4CPP_LIBRARY_NAME} kernel32 user32 ws2_32 advapi32) ++ IF ( CMAKE_BUILD_TYPE MATCHES "Debug" ) ++ SET_TARGET_PROPERTIES(${LOG4CPP_LIBRARY_NAME} PROPERTIES LINK_FLAGS /NODEFAULTLIB:MSVCRT) ++ ELSE(CMAKE_BUILD_TYPE MATCHES "Debug" ) ++ SET_TARGET_PROPERTIES(${LOG4CPP_LIBRARY_NAME} PROPERTIES LINK_FLAGS /NODEFAULTLIB:MSVCRTD) ++ ENDIF(CMAKE_BUILD_TYPE MATCHES "Debug" ) + ENDIF (WIN32) + + INSTALL ( +@@ -92,9 +96,11 @@ INSTALL ( + PATTERN ".svn" EXCLUDE + PATTERN "*.am" EXCLUDE + PATTERN "*.in" EXCLUDE ++ PATTERN ".cvsignore" EXCLUDE + ) + + INSTALL ( + TARGETS ${LOG4CPP_LIBRARY_NAME} + ARCHIVE DESTINATION lib ++ RUNTIME DESTINATION bin + ) diff --git a/ports/log4cpp-log4cpp/portfile.cmake b/ports/log4cpp-log4cpp/portfile.cmake new file mode 100644 index 00000000000000..bab255afe042e5 --- /dev/null +++ b/ports/log4cpp-log4cpp/portfile.cmake @@ -0,0 +1,79 @@ +vcpkg_from_sourceforge( + OUT_SOURCE_PATH SOURCE_PATH + REPO log4cpp/log4cpp-1.1.x%20%28new%29 + REF log4cpp-1.1 + FILENAME "log4cpp-1.1.4.tar.gz" + SHA512 0cdbd46ccd048d70bea3c35d22080dc5dd21fc3b9c415fe464847e60775954f57e9c8344506f0f94f16e90e8bdaa9cc6d84d3aa65191501e52ee8dfc639f0398 + PATCHES + fix_link_msvcrt.patch +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" +) + +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_cmake_install() + vcpkg_copy_pdbs() + + set(VCPKG_POLICY_DLLS_WITHOUT_EXPORTS enabled) + set(VCPKG_POLICY_DLLS_WITHOUT_LIBS enabled) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib" "${CURRENT_PACKAGES_DIR}/lib") + + if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") + endif() +elseif(VCPKG_TARGET_IS_LINUX) + #message(STATUS "Configuring ${TARGET_TRIPLET}") + if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + set(SHARED_STATIC --enable-static --disable-shared) + else() + set(SHARED_STATIC --disable-static --enable-shared) + endif() + + set(OPTIONS ${SHARED_STATIC}) + message(STATUS "Configuring ${TARGET_TRIPLET}-dbg") + set(CFLAGS "${VCPKG_CXX_FLAGS} ${VCPKG_CXX_FLAGS_DEBUG} -fPIC -O0 -g -I${SOURCE_PATH}/include") + set(LDFLAGS "${VCPKG_LINKER_FLAGS}") + #create makefile + vcpkg_execute_required_process( + COMMAND ${SOURCE_PATH}/configure --prefix=${CURRENT_PACKAGES_DIR}/debug ${OPTIONS} --with-sysroot=${CURRENT_INSTALLED_DIR}/debug + WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg + LOGNAME configure-${TARGET_TRIPLET}-dbg) + + message(STATUS "Building ${TARGET_TRIPLET}-dbg") + vcpkg_execute_required_process( + COMMAND make -j install "CFLAGS=${CFLAGS}" "LDFLAGS=${LDFLAGS}" + WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg + LOGNAME install-${TARGET_TRIPLET}-dbg + ) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + + #build release log4cpp + file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel) + file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel) + message(STATUS "Configuring ${TARGET_TRIPLET}-rel") + set(CFLAGS "${VCPKG_CXX_FLAGS} ${VCPKG_CXX_FLAGS_RELEASE} -fPIC -O3 -I${SOURCE_PATH}/include") + set(LDFLAGS "${VCPKG_LINKER_FLAGS}") + vcpkg_execute_required_process( + COMMAND ${SOURCE_PATH}/configure --prefix=${CURRENT_PACKAGES_DIR} ${OPTIONS} --with-sysroot=${CURRENT_INSTALLED_DIR} + WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel + LOGNAME configure-${TARGET_TRIPLET}-rel + ) + message(STATUS "Building ${TARGET_TRIPLET}-rel") + vcpkg_execute_required_process( + COMMAND make -j install "CFLAGS=${CFLAGS}" "LDFLAGS=${LDFLAGS}" + WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel + LOGNAME install-${TARGET_TRIPLET}-rel + ) + + if(VCPKG_LIBRARY_LINKAGE STREQUAL static) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) + endif() + vcpkg_fixup_pkgconfig() +endif() + +# Handle copyright +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/log4cpp-log4cpp/vcpkg.json b/ports/log4cpp-log4cpp/vcpkg.json new file mode 100644 index 00000000000000..d6c11888572fb8 --- /dev/null +++ b/ports/log4cpp-log4cpp/vcpkg.json @@ -0,0 +1,13 @@ +{ + "name": "log4cpp-log4cpp", + "version": "1.1.4", + "description": "A library of C++ classes for flexible logging to files (rolling), syslog, IDSA and other destinations. It is modeled after the Log for Java library (http://www.log4j.org), staying as close to their API as is reasonable.", + "homepage": "https://sourceforge.net/projects/log4cpp/", + "supports": "(linux | windows) & !uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] +} diff --git a/ports/log4cpp/Fix-StaticSupport.patch b/ports/log4cpp/Fix-StaticSupport.patch deleted file mode 100644 index 8053b4ce501373..00000000000000 --- a/ports/log4cpp/Fix-StaticSupport.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 529c18e..beace9e 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -21,7 +21,11 @@ SET(LOG4CPP_LIBS) - - IF (WIN32) - SET (CMAKE_DEBUG_POSTFIX "d") -- LIST(APPEND LOG4CPP_CFLAGS -D_CRT_SECURE_NO_WARNINGS -DLOG4CPP_HAS_DLL -DLOG4CPP_BUILD_DLL ) -+ IF (BUILD_SHARED_LIBS) -+ LIST(APPEND LOG4CPP_CFLAGS -D_CRT_SECURE_NO_WARNINGS -DLOG4CPP_HAS_DLL -DLOG4CPP_BUILD_DLL ) -+ ELSE () -+ LIST(APPEND LOG4CPP_CFLAGS -D_CRT_SECURE_NO_WARNINGS ) -+ ENDIF () - ELSE (WIN32) - IF (APPLE) - # LIST(APPEND LOG4CPP_CFLAGS -DLOG4CPP_HAVE_SSTREAM) -@@ -32,7 +36,7 @@ ENDIF (WIN32) - - SET ( LOG4CPP_LIBRARY_NAME "orocos-log4cpp" ) - --ADD_LIBRARY ( ${LOG4CPP_LIBRARY_NAME} SHARED -+ADD_LIBRARY ( ${LOG4CPP_LIBRARY_NAME} - src/Appender.cpp - src/AppenderSkeleton.cpp - src/AppendersFactory.cpp diff --git a/ports/log4cpp/fix-export-targets.patch b/ports/log4cpp/fix-export-targets.patch deleted file mode 100644 index 30b5320cde90ae..00000000000000 --- a/ports/log4cpp/fix-export-targets.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 19767a0..59dbf6c 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -161,11 +161,13 @@ INSTALL ( - ) - - INSTALL(TARGETS ${LOG4CPP_LIBRARY_NAME} -+ EXPORT log4cpp-targets - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib - RUNTIME DESTINATION bin) - - INSTALL(FILES package.xml DESTINATION share/log4cpp) -+INSTALL(EXPORT log4cpp-targets NAMESPACE log4cpp:: DESTINATION share/log4cpp) - - ########################################################### - # DOCUMENTATION diff --git a/ports/log4cpp/fix-includepath.patch b/ports/log4cpp/fix-includepath.patch deleted file mode 100644 index 2fdac90fe82c12..00000000000000 --- a/ports/log4cpp/fix-includepath.patch +++ /dev/null @@ -1,31 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index beace9e..c8264ec 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -136,7 +136,7 @@ SET(prefix "${CMAKE_INSTALL_PREFIX}") - SET(exec_prefix "\${prefix}") - SET(log4cpp_cflags "") - SET(log4cpp_libs "${LOG4CPP_LIBS}") --SET(includedir "\${prefix}/include/orocos") -+SET(includedir "\${prefix}/include") - SET(libdir "\${prefix}/lib") - CONFIGURE_FILE(log4cpp.pc.in ${CMAKE_CURRENT_BINARY_DIR}/orocos-log4cpp.pc @ONLY) - -@@ -147,7 +147,7 @@ INSTALL( - - INSTALL ( - DIRECTORY include/log4cpp -- DESTINATION include/orocos -+ DESTINATION include - PATTERN "config.h.in" EXCLUDE - PATTERN ".svn" EXCLUDE - PATTERN "*.am" EXCLUDE -@@ -157,7 +157,7 @@ INSTALL ( - - INSTALL ( - FILES ${CMAKE_CURRENT_BINARY_DIR}/include/log4cpp/config.h -- DESTINATION include/orocos/log4cpp -+ DESTINATION include/log4cpp - ) - - INSTALL(TARGETS ${LOG4CPP_LIBRARY_NAME} diff --git a/ports/log4cpp/fix-install-targets.patch b/ports/log4cpp/fix-install-targets.patch deleted file mode 100644 index 49cdedf1d926cd..00000000000000 --- a/ports/log4cpp/fix-install-targets.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 8db2287..529c18e 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -159,7 +159,7 @@ INSTALL ( - INSTALL(TARGETS ${LOG4CPP_LIBRARY_NAME} - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib -- RUNTIME DESTINATION lib) -+ RUNTIME DESTINATION bin) - - INSTALL(FILES package.xml DESTINATION share/log4cpp) - diff --git a/ports/log4cpp/log4cpp-config.in.cmake b/ports/log4cpp/log4cpp-config.in.cmake deleted file mode 100644 index cdecd4b70b64ae..00000000000000 --- a/ports/log4cpp/log4cpp-config.in.cmake +++ /dev/null @@ -1,7 +0,0 @@ - -if("@VCPKG_LIBRARY_LINKAGE@" STREQUAL "static" AND NOT WIN32) - include(CMakeFindDependencyMacro) - find_dependency(Threads) -endif() - -include(${CMAKE_CURRENT_LIST_DIR}/log4cpp-targets.cmake) diff --git a/ports/log4cpp/portfile.cmake b/ports/log4cpp/portfile.cmake deleted file mode 100644 index e36923d62e508a..00000000000000 --- a/ports/log4cpp/portfile.cmake +++ /dev/null @@ -1,38 +0,0 @@ -vcpkg_fail_port_install(ON_TARGET "UWP") - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO orocos-toolchain/log4cpp - REF v2.9.1 - SHA512 5bd222c820a15c5d96587ac9fe864c3e2dc0fbce8389692be8dd41553ac0308002ad8d6f4ef3ef10af1d796f8ded410788d1a5d22f15505fac639da3f73e3518 - HEAD_REF master - PATCHES - fix-install-targets.patch - Fix-StaticSupport.patch - fix-includepath.patch - fix-export-targets.patch -) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA -) - -vcpkg_install_cmake() - -vcpkg_fixup_pkgconfig() - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -vcpkg_fixup_cmake_targets(CONFIG_PATH share/${PORT}) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) - -vcpkg_copy_pdbs() - -configure_file( - ${CMAKE_CURRENT_LIST_DIR}/log4cpp-config.in.cmake - ${CURRENT_PACKAGES_DIR}/share/${PORT}/log4cpp-config.cmake - @ONLY -) - -# Handle copyright -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/log4cpp/vcpkg.json b/ports/log4cpp/vcpkg.json deleted file mode 100644 index e2e16680553d77..00000000000000 --- a/ports/log4cpp/vcpkg.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "log4cpp", - "version-string": "2.9.1", - "port-version": 6, - "description": "Log4cpp is library of C++ classes for flexible logging to files, syslog, IDSA and other destinations. It is modeled after the Log4j Java library, staying as close to their API as is reasonable.", - "homepage": "https://github.com/orocos-toolchain/log4cpp", - "supports": "!uwp" -} diff --git a/ports/log4cxx/expat.patch b/ports/log4cxx/expat.patch deleted file mode 100644 index 7dfb0f0097f862..00000000000000 --- a/ports/log4cxx/expat.patch +++ /dev/null @@ -1,49 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index e5b44ef..e84e497 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -33,7 +33,7 @@ find_package(APR-Util REQUIRED) - find_package( Threads REQUIRED ) - - # Find expat for XML parsing --find_package(EXPAT REQUIRED) -+find_package(expat CONFIG REQUIRED) - - # Request C++17, if available - # This *should* fallback to an older standard if it is not available -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index b60e54f..b6138b3 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -3,7 +3,7 @@ cmake_policy(SET CMP0079 NEW) - add_subdirectory(main) - target_compile_definitions(log4cxx PRIVATE ${LOG4CXX_COMPILE_DEFINITIONS} ${APR_COMPILE_DEFINITIONS} ${APR_UTIL_COMPILE_DEFINITIONS} ) - target_include_directories(log4cxx INTERFACE $ PRIVATE ${APR_INCLUDE_DIR} ${APR_UTIL_INCLUDE_DIR}) --target_link_libraries(log4cxx PRIVATE ${APR_UTIL_LIBRARIES} EXPAT::EXPAT ${APR_LIBRARIES} ${APR_SYSTEM_LIBS}) -+target_link_libraries(log4cxx PRIVATE ${APR_UTIL_LIBRARIES} expat::expat ${APR_LIBRARIES} ${APR_SYSTEM_LIBS}) - if(WIN32) - # The ODBC appender is always enabled in the Windows configuration - target_link_libraries(log4cxx PRIVATE odbc32.lib) -diff --git a/src/cmake/FindAPR-Util.cmake b/src/cmake/FindAPR-Util.cmake -index d9cf4df..17a2457 100644 ---- a/src/cmake/FindAPR-Util.cmake -+++ b/src/cmake/FindAPR-Util.cmake -@@ -38,7 +38,6 @@ if(EXISTS ${APR_UTIL_CONFIG_EXECUTABLE}) - _apu_invoke(_apu_util_link_args --link-ld) - string(REGEX MATCH "-L([^ ]+)" _apu_util_L_flag ${_apu_util_link_args}) - find_library(APR_UTIL_LIBRARIES NAMES libaprutil-1.a PATHS "${CMAKE_MATCH_1}") -- _apu_invoke(XMLLIB_LIBRARIES --libs) - set(APR_UTIL_COMPILE_DEFINITIONS APU_DECLARE_STATIC) - else() - _apu_invoke(APR_UTIL_LIBRARIES --link-ld) -diff --git a/src/test/cpp/xml/CMakeLists.txt b/src/test/cpp/xml/CMakeLists.txt -index 138c489..7b62f3e 100644 ---- a/src/test/cpp/xml/CMakeLists.txt -+++ b/src/test/cpp/xml/CMakeLists.txt -@@ -4,5 +4,5 @@ add_executable(xmltests - xmllayouttestcase - ) - --target_link_libraries(xmltests PRIVATE ${APR_UTIL_LIBRARIES} EXPAT::EXPAT) -+target_link_libraries(xmltests PRIVATE ${APR_UTIL_LIBRARIES} expat::expat) - set(ALL_LOG4CXX_TESTS ${ALL_LOG4CXX_TESTS} xmltests PARENT_SCOPE) diff --git a/ports/log4cxx/fix-find-package.patch b/ports/log4cxx/fix-find-package.patch new file mode 100644 index 00000000000000..aed15f1559e4d2 --- /dev/null +++ b/ports/log4cxx/fix-find-package.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 7b1c0d52..62c4fb43 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -70,7 +70,7 @@ find_package( Threads REQUIRED ) + include("${CMAKE_CURRENT_LIST_DIR}/src/cmake/FindLibFuzzer.cmake") + + # 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/linux.patch b/ports/log4cxx/linux.patch deleted file mode 100644 index 01c51c21880f3a..00000000000000 --- a/ports/log4cxx/linux.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/src/cmake/FindAPR.cmake b/src/cmake/FindAPR.cmake -index a204ece..4d2b48d 100644 ---- a/src/cmake/FindAPR.cmake -+++ b/src/cmake/FindAPR.cmake -@@ -45,7 +45,11 @@ if(EXISTS ${APR_CONFIG_EXECUTABLE}) - else() - find_path(APR_INCLUDE_DIR apr.h PATH_SUFFIXES apr-1) - if (APR_STATIC OR NOT BUILD_SHARED_LIBS) -- set(APR_SYSTEM_LIBS ws2_32 mswsock rpcrt4) -+ if(WIN32) -+ set(APR_SYSTEM_LIBS ws2_32 mswsock rpcrt4) -+ else() -+ set(APR_SYSTEM_LIBS pthread) -+ endif() - set(APR_COMPILE_DEFINITIONS APR_DECLARE_STATIC) - find_library(APR_LIBRARIES NAMES apr-1) - else() diff --git a/ports/log4cxx/pkgconfig.patch b/ports/log4cxx/pkgconfig.patch deleted file mode 100644 index ee109775c4e818..00000000000000 --- a/ports/log4cxx/pkgconfig.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index e84e497..ff8b920 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -94,7 +94,7 @@ if(UNIX) - ) - - install(FILES "${CMAKE_CURRENT_BINARY_DIR}/liblog4cxx.pc" -- DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/pkgconfig) -+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) - - if(LOG4CXX_QT_SUPPORT) - set(prefix "${CMAKE_INSTALL_PREFIX}") -@@ -107,7 +107,7 @@ if(UNIX) - ) - - install(FILES "${CMAKE_CURRENT_BINARY_DIR}/liblog4cxx-qt.pc" -- DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/pkgconfig) -+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) - endif(LOG4CXX_QT_SUPPORT) - endif(UNIX) - diff --git a/ports/log4cxx/portfile.cmake b/ports/log4cxx/portfile.cmake index 102d5eb3edbdd7..5c21452733ed7f 100644 --- a/ports/log4cxx/portfile.cmake +++ b/ports/log4cxx/portfile.cmake @@ -1,23 +1,31 @@ -set(VERSION 0.12.0) 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 00fe571f9c511bf93b17cac8269ce00f7e817e8d723acf62bddff1bbe0e7facd0ab2fd75c01a93870f7e5c66718b2b73fc22c5f193bfd204e34d052b1123e60d + SHA512 bd481d69e29b3c8908bbc91489bf4e752e6edb147404454c0e88fd8f107d68ae5a98e220ab912692e555ca071d1cff7fb99ffa51194cfa7d070593ce6285d2b0 ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} - REF ${VERSION} +vcpkg_download_distfile(MAKE_PKG_CONFIG_SUPPORT_OPT_IN + URLS https://github.com/apache/logging-log4cxx/commit/4642a50c70b6cbd9b68d7e8dace9c049c8198b07.patch?full_index=1 + SHA512 4b3628d98d233a2e68d1183a8bb2156c2f1e6f80ab50cfe75a6df799d14bc3c7ba028fbb7ff524c56530a2260be37fd9f3d089422027987b5c8c36e9978c254c + FILENAME Make_pkg_config_support_opt_in-4642a50c70b6cbd9b68d7e8dace9c049c8198b07.patch +) + +vcpkg_extract_source_archive( + SOURCE_PATH ARCHIVE "${ARCHIVE}" PATCHES - expat.patch - linux.patch - pkgconfig.patch + fix-find-package.patch + ${MAKE_PKG_CONFIG_SUPPORT_OPT_IN} ) +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + qt LOG4CXX_QT_SUPPORT + fmt ENABLE_FMT_LAYOUT +) vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} + 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 ) @@ -25,7 +33,7 @@ vcpkg_cmake_configure( vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_cmake_config_fixup(CONFIG_PATH share/cmake/log4cxx) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/log4cxx) if(VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_OSX) vcpkg_fixup_pkgconfig() diff --git a/ports/log4cxx/vcpkg.json b/ports/log4cxx/vcpkg.json index e0092cba635ac9..f99f36ebf7bc90 100644 --- a/ports/log4cxx/vcpkg.json +++ b/ports/log4cxx/vcpkg.json @@ -1,8 +1,9 @@ { "name": "log4cxx", - "version-string": "0.12.0", + "version": "1.3.0", "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", "supports": "!uwp", "dependencies": [ "apr", @@ -16,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 3688e11210c56c..00000000000000 --- a/ports/loguru/CMakeLists.txt +++ /dev/null @@ -1,48 +0,0 @@ -cmake_minimum_required(VERSION 3.12) - -project(loguru CXX) -set(CMAKE_CXX_STANDARD 11) - -option(INSTALL_HEADERS "Install header files" ON) - -set(loguru_headers - loguru.hpp -) -set(loguru_sources - loguru.cpp -) - -add_library(loguru ${loguru_sources}) -target_include_directories(loguru PUBLIC - $ - $) - -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 236c4deb2acaee..b6643845b5c103 100644 --- a/ports/loguru/portfile.cmake +++ b/ports/loguru/portfile.cmake @@ -1,30 +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() +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + fmt BUILD_WITH_FMT +) -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_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS_DEBUG + -DINSTALL_HEADERS=OFF + OPTIONS + ${FEATURE_OPTIONS} + ) - vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS_DEBUG - -DINSTALL_HEADERS=OFF - ) +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_install_cmake() - vcpkg_fixup_cmake_targets() - 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 b29fb65c8bf2c8..758da8eb4a8737 100644 --- a/ports/loguru/vcpkg.json +++ b/ports/loguru/vcpkg.json @@ -1,7 +1,25 @@ { "name": "loguru", - "version-string": "2.1.0", - "port-version": 2, + "version": "2.1.0", + "port-version": 4, "description": "A lightweight and flexible C++ logging library", - "homepage": "https://github.com/emilk/loguru" + "homepage": "https://github.com/emilk/loguru", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "fmt": { + "description": "Build with fmt support in non-header-only mode", + "dependencies": [ + "fmt" + ] + } + } } 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 24d77f00b1c57a..d9d513ae095c21 100644 --- a/ports/lpeg/portfile.cmake +++ b/ports/lpeg/portfile.cmake @@ -1,31 +1,33 @@ -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_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} +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}/lpeg.def DESTINATION ${SOURCE_PATH}) +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_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + "-DLPEG_VERSION=${VERSION}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME "unofficial-lpeg") # Remove debug share -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/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 "${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 7e4c8b30379da4..905e19293b902c 100644 --- a/ports/lpeg/vcpkg.json +++ b/ports/lpeg/vcpkg.json @@ -1,10 +1,19 @@ { "name": "lpeg", - "version-string": "1.0.2", - "port-version": 2, + "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" + "lua", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/ls-qpack/portfile.cmake b/ports/ls-qpack/portfile.cmake new file mode 100644 index 00000000000000..c97fda3b4b1e7a --- /dev/null +++ b/ports/ls-qpack/portfile.cmake @@ -0,0 +1,42 @@ +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 74d4b2ea96bf0de43009cc121c8e57caff83be53c613236b01dce4ac4c12505d0d9fec07d9152ca62166947a160de2ab3f7bf19fb203a60b44507516a927ecb8 + HEAD_REF master +) + +vcpkg_find_acquire_program(PKGCONFIG) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}" + -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" +) + +file(READ "${CURRENT_PACKAGES_DIR}/share/ls-qpack/ls-qpack-config.cmake" cmake_config) +file(WRITE "${CURRENT_PACKAGES_DIR}/share/ls-qpack/ls-qpack-config.cmake" +"include(CMakeFindDependencyMacro) +find_dependency(PkgConfig) +pkg_check_modules(XXH REQUIRED IMPORTED_TARGET libxxhash) +${cmake_config} +") + +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..eac85cee64d50c --- /dev/null +++ b/ports/ls-qpack/vcpkg.json @@ -0,0 +1,19 @@ +{ + "name": "ls-qpack", + "version": "2.5.5", + "description": "QPACK compression library for use with HTTP/3", + "homepage": "https://github.com/litespeedtech/ls-qpack", + "license": "MIT", + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "xxhash" + ] +} diff --git a/ports/ltla-aarand/portfile.cmake b/ports/ltla-aarand/portfile.cmake new file mode 100644 index 00000000000000..cf569bd65e836e --- /dev/null +++ b/ports/ltla-aarand/portfile.cmake @@ -0,0 +1,25 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO LTLA/aarand + REF 84d48b65d49ce8b844398f11aff3015b86e17197 + SHA512 78b175055768dd8b0abab421b66d0d16ad9bc23f1d1406d774874d4ea12b11e199554ccf6a6ef02d10ef96ad5f652863e403aa3ec9522211958c78d243821ee5 + HEAD_REF master +) + +set(VCPKG_BUILD_TYPE "release") # header-only port + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DAARAND_TESTS=OFF +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup( + PACKAGE_NAME ltla_aarand + CONFIG_PATH lib/cmake/ltla_aarand +) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/ltla-aarand/vcpkg.json b/ports/ltla-aarand/vcpkg.json new file mode 100644 index 00000000000000..60c5c7cf8fb618 --- /dev/null +++ b/ports/ltla-aarand/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "ltla-aarand", + "version-date": "2023-03-19", + "description": "Aaron's random distributions for C++", + "homepage": "https://github.com/LTLA/aarand", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/ltla-cppirlba/portfile.cmake b/ports/ltla-cppirlba/portfile.cmake new file mode 100644 index 00000000000000..5822c2bb447f3b --- /dev/null +++ b/ports/ltla-cppirlba/portfile.cmake @@ -0,0 +1,26 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO LTLA/CppIrlba + REF 228e207778597c8c3a0284fd2bfe4347dbb4646e + SHA512 4bfb4a508a62e3d5e3345bc59756353e6cd68e8d9a5cb9e7dd38ae71abd924a77e6c319bf8cd31b4f939be4531bf4527fd283515b40e8d5b88beaa0fd3411aff + HEAD_REF master +) + +set(VCPKG_BUILD_TYPE "release") # header-only port + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DIRLBA_FETCH_EXTERN=OFF + -DIRLBA_TESTS=OFF +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup( + PACKAGE_NAME ltla_irlba + CONFIG_PATH lib/cmake/ltla_irlba +) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/ltla-cppirlba/vcpkg.json b/ports/ltla-cppirlba/vcpkg.json new file mode 100644 index 00000000000000..638995702a1128 --- /dev/null +++ b/ports/ltla-cppirlba/vcpkg.json @@ -0,0 +1,19 @@ +{ + "name": "ltla-cppirlba", + "version-date": "2023-09-20", + "description": "A C++ port of the IRLBA algorithm, based on the C code in the R package.", + "homepage": "https://github.com/LTLA/CppIrlba", + "license": "MIT", + "dependencies": [ + "eigen3", + "ltla-aarand", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/ltla-cppkmeans/portfile.cmake b/ports/ltla-cppkmeans/portfile.cmake new file mode 100644 index 00000000000000..f98a4b2f7438bf --- /dev/null +++ b/ports/ltla-cppkmeans/portfile.cmake @@ -0,0 +1,26 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO LTLA/CppKmeans + REF 4c5aca44bffd8ed7d7243b2451105b572028e9d4 + SHA512 c56147bc89ab50aa4d738c1392dffcf32771ad4995cbb206a83af05294dbfe640a1da265d46e108816486374fe0e6fa45c1b1da770cdc4367a69195c3510ecd4 + HEAD_REF master +) + +set(VCPKG_BUILD_TYPE "release") # header-only port + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DKMEANS_FETCH_EXTERN=OFF + -DKMEANS_TESTS=OFF +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup( + PACKAGE_NAME ltla_kmeans + CONFIG_PATH lib/cmake/ltla_kmeans +) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/ltla-cppkmeans/vcpkg.json b/ports/ltla-cppkmeans/vcpkg.json new file mode 100644 index 00000000000000..d3a3902ba0a82a --- /dev/null +++ b/ports/ltla-cppkmeans/vcpkg.json @@ -0,0 +1,19 @@ +{ + "name": "ltla-cppkmeans", + "version-date": "2023-03-20", + "description": "C++ port of R's Hartigan-Wong implementation", + "homepage": "https://github.com/LTLA/CppKmeans", + "license": "MIT", + "dependencies": [ + "ltla-aarand", + "ltla-powerit", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/ltla-knncolle/portfile.cmake b/ports/ltla-knncolle/portfile.cmake new file mode 100644 index 00000000000000..98855cdb83925e --- /dev/null +++ b/ports/ltla-knncolle/portfile.cmake @@ -0,0 +1,26 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO LTLA/knncolle + REF 3ad6b8cdbd281d78c77390d5a6ded4513bdf3860 + SHA512 c6e66d8ea5501cb511fd88155d18b57b31661ad0e20f3289d9a7ec8fc558f91dd409487b53d41171111fdaa2baa11fe9548f01daf307a90121d17dc398203676 + HEAD_REF master +) + +set(VCPKG_BUILD_TYPE "release") # header-only port + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DKNNCOLLE_FETCH_EXTERN=OFF + -DKNNCOLLE_TESTS=OFF +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup( + PACKAGE_NAME ltla_knncolle + CONFIG_PATH lib/cmake/ltla_knncolle +) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/ltla-knncolle/vcpkg.json b/ports/ltla-knncolle/vcpkg.json new file mode 100644 index 00000000000000..f6655c6642c76d --- /dev/null +++ b/ports/ltla-knncolle/vcpkg.json @@ -0,0 +1,20 @@ +{ + "name": "ltla-knncolle", + "version-date": "2023-05-09", + "description": "Collection of KNN algorithms in C++", + "homepage": "https://github.com/LTLA/knncolle", + "license": "MIT", + "dependencies": [ + "annoy", + "hnswlib", + "ltla-cppkmeans", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/ltla-powerit/portfile.cmake b/ports/ltla-powerit/portfile.cmake new file mode 100644 index 00000000000000..6843077ee34a6f --- /dev/null +++ b/ports/ltla-powerit/portfile.cmake @@ -0,0 +1,26 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO LTLA/powerit + REF 705c4a6209baeaf4a246c8a61c46ecd0d3473511 + SHA512 e45172baf90fe2e76152a53feb2a3b613a355482b657e5bc71f0eca4199dff947da70b44edd87efbdc4929eb39ec4455300edaf8f95eb394f61213657c97c321 + HEAD_REF master +) + +set(VCPKG_BUILD_TYPE "release") # header-only port + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DPOWERIT_FETCH_EXTERN=OFF + -DPOWERIT_TESTS=OFF +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup( + PACKAGE_NAME ltla_powerit + CONFIG_PATH lib/cmake/ltla_powerit +) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/ltla-powerit/vcpkg.json b/ports/ltla-powerit/vcpkg.json new file mode 100644 index 00000000000000..363288278eb957 --- /dev/null +++ b/ports/ltla-powerit/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "ltla-powerit", + "version-date": "2023-03-19", + "description": "Lightweight C++ library for power iterations", + "homepage": "https://github.com/LTLA/powerit", + "license": "MIT", + "dependencies": [ + "ltla-aarand", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/ltla-umappp/portfile.cmake b/ports/ltla-umappp/portfile.cmake new file mode 100644 index 00000000000000..3d08dd6e17cfb1 --- /dev/null +++ b/ports/ltla-umappp/portfile.cmake @@ -0,0 +1,26 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO LTLA/umappp + REF d18095ea8b6d62aa740a566411e439eaab16b71f + SHA512 5f05c9cd7eeac2c16e8dbb0e747c84bc5209e91e37cf8a120273b01f681e19afa69d52e03a6862386c75d9f4d62d925135087c69b835257764aa1f490d92ef3d + HEAD_REF master +) + +set(VCPKG_BUILD_TYPE "release") # header-only port + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DUMAPPP_FETCH_EXTERN=OFF + -DUMAPPP_TESTS=OFF +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup( + PACKAGE_NAME ltla_umappp + CONFIG_PATH lib/cmake/ltla_umappp +) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/ltla-umappp/vcpkg.json b/ports/ltla-umappp/vcpkg.json new file mode 100644 index 00000000000000..5184116d9f399a --- /dev/null +++ b/ports/ltla-umappp/vcpkg.json @@ -0,0 +1,20 @@ +{ + "name": "ltla-umappp", + "version-date": "2023-05-11", + "description": "UMAP C++ implementation", + "homepage": "https://github.com/LTLA/umappp", + "license": "BSD-2-Clause", + "dependencies": [ + "ltla-aarand", + "ltla-cppirlba", + "ltla-knncolle", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/lua-compat53/portfile.cmake b/ports/lua-compat53/portfile.cmake new file mode 100644 index 00000000000000..1c1fcd5323a82d --- /dev/null +++ b/ports/lua-compat53/portfile.cmake @@ -0,0 +1,14 @@ +#header-only library +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO lunarmodules/lua-compat-5.3 + REF e245d3a18957e43ef902a59a72c8902e2e4435b9 # v0.10 + SHA512 541309275f464f611f7c402ec74c84192cbc8209f5624ee96961caaf9a0bc44f8486a2f4be3a25fb0123ce600b6d830489c91bbfddeda09e9cdf2df01beea950 + HEAD_REF master +) + +file(INSTALL ${SOURCE_PATH}/c-api/compat-5.3.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) +file(INSTALL ${SOURCE_PATH}/c-api/compat-5.3.c DESTINATION ${CURRENT_PACKAGES_DIR}/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}) diff --git a/ports/lua-compat53/usage b/ports/lua-compat53/usage new file mode 100644 index 00000000000000..667c4c904c7bac --- /dev/null +++ b/ports/lua-compat53/usage @@ -0,0 +1,4 @@ +The package lua-compat53 provides a header only C-API and can be used from CMake via: + + find_path(LUA_COMPAT53_INCLUDE_DIRS "compat-5.3.h") + target_include_directories(main PRIVATE ${LUA_COMPAT53_INCLUDE_DIRS}) diff --git a/ports/lua-compat53/vcpkg.json b/ports/lua-compat53/vcpkg.json new file mode 100644 index 00000000000000..ada4e8cf044cde --- /dev/null +++ b/ports/lua-compat53/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "lua-compat53", + "version": "0.10", + "description": "provide Lua-5.3-style C APIs for Lua 5.2 and 5.1", + "homepage": "https://github.com/lunarmodules/lua-compat-5.3", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/lua/CMakeLists-cpp.txt b/ports/lua/CMakeLists-cpp.txt new file mode 100644 index 00000000000000..ec988b5fffd90e --- /dev/null +++ b/ports/lua/CMakeLists-cpp.txt @@ -0,0 +1,28 @@ +SET(SRC_LIBLUACPP ${SRC_LIBLUA}) +ADD_LIBRARY ( lua-cpp ${SRC_LIBLUACPP} ${HDR_LIBLUACPP} ) +SET_TARGET_PROPERTIES(lua-cpp PROPERTIES OUTPUT_NAME "lua-c++") +SET_SOURCE_FILES_PROPERTIES(${SRC_LIBLUACPP} PROPERTIES LANGUAGE CXX) +TARGET_INCLUDE_DIRECTORIES(lua-cpp PRIVATE $ PUBLIC $) +IF (BUILD_SHARED_LIBS AND WIN32) + TARGET_COMPILE_DEFINITIONS (lua-cpp PUBLIC -DLUA_BUILD_AS_DLL ) +ENDIF () +IF (UNIX) + IF (APPLE) + TARGET_COMPILE_DEFINITIONS (lua-cpp PUBLIC -DLUA_USE_DLOPEN) + ELSE () + FIND_LIBRARY (LIB_DLOPEN NAMES dl) + IF (LIB_DLOPEN) + TARGET_COMPILE_DEFINITIONS (lua-cpp PUBLIC -DLUA_USE_DLOPEN) + TARGET_LINK_LIBRARIES (lua-cpp ${CMAKE_DL_LIBS}) + ENDIF () + ENDIF () +ENDIF () + +INSTALL ( TARGETS lua-cpp + EXPORT unofficial-lua-cpp-config + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib +) + +INSTALL(EXPORT unofficial-lua-cpp-config DESTINATION share/unofficial-lua-cpp) diff --git a/ports/lua/CMakeLists.txt b/ports/lua/CMakeLists.txt index 8e93eb1ab7c6a4..0a180032fdbfda 100644 --- a/ports/lua/CMakeLists.txt +++ b/ports/lua/CMakeLists.txt @@ -7,35 +7,18 @@ # - This is a source-incompatible change because extern "C" is chosen by the including application. # - The lua.hpp header will not be available. -PROJECT ( lua ) +CMAKE_MINIMUM_REQUIRED(VERSION 3.18) - -CMAKE_MINIMUM_REQUIRED(VERSION 2.8) - -SET (HDR_LIBLUA -src/lapi.h src/lauxlib.h src/lcode.h src/lctype.h src/ldebug.h src/ldo.h src/lfunc.h -src/lgc.h src/llex.h src/llimits.h src/lmem.h src/lobject.h src/lopcodes.h src/lparser.h -src/lstate.h src/lstring.h src/ltable.h src/ltm.h src/lua.h src/luaconf.h src/lualib.h -src/lundump.h src/lvm.h src/lzio.h -) +PROJECT(lua) # Build Libraries -SET (SRC_LIBLUA -src/lapi.c src/lauxlib.c src/lbaselib.c src/lcode.c src/lcorolib.c -src/lctype.c src/ldblib.c src/ldebug.c src/ldo.c src/ldump.c src/lfunc.c src/lgc.c -src/linit.c src/liolib.c src/llex.c src/lmathlib.c src/lmem.c src/loadlib.c src/lobject.c -src/lopcodes.c src/loslib.c src/lparser.c src/lstate.c src/lstring.c src/lstrlib.c -src/ltable.c src/ltablib.c src/ltm.c src/lundump.c src/lutf8lib.c src/lvm.c src/lzio.c -) - -IF (COMPILE_AS_CPP) - SET_SOURCE_FILES_PROPERTIES(${SRC_LIBLUA} src/lua.c src/luac.c PROPERTIES LANGUAGE CXX) -ELSE () - SET (CMAKE_C_STANDARD 99) -ENDIF () +FILE(GLOB HDR_LIBLUA "${CMAKE_SOURCE_DIR}/src/*.h") +# For luac.c +LIST(REMOVE_ITEM HDR_LIBLUA "${CMAKE_SOURCE_DIR}/src/lopnames.h") -# append headers to sources to make them show up in MSVC GUI -LIST(APPEND SRC_LIBLUA ${HDR_LIBLUA}) +FILE(GLOB SRC_LIBLUA "${CMAKE_SOURCE_DIR}/src/*.c") +# Executables luac and luai +LIST(REMOVE_ITEM SRC_LIBLUA "${CMAKE_SOURCE_DIR}/src/luac.c" "${CMAKE_SOURCE_DIR}/src/lua.c") IF (WIN32) # remove warnings @@ -45,14 +28,15 @@ ENDIF () IF (UNIX) ADD_DEFINITIONS (-DLUA_USE_POSIX) FIND_LIBRARY (LIB_MATH NAMES m) - IF (LIB_MATH) - LINK_LIBRARIES (${LIB_MATH}) - ENDIF () ENDIF () -#DLL -ADD_LIBRARY ( lua ${SRC_LIBLUA} ) +# C library +SET (CMAKE_C_STANDARD 99) +SET(SRC_LIBLUAC ${SRC_LIBLUA}) +ADD_LIBRARY ( lua ${SRC_LIBLUAC} ${HDR_LIBLUA} ) +TARGET_INCLUDE_DIRECTORIES(lua PRIVATE $ PUBLIC $) SET_PROPERTY (TARGET lua PROPERTY POSITION_INDEPENDENT_CODE ON) +SET_SOURCE_FILES_PROPERTIES(${SRC_LIBLUAC} PROPERTIES LANGUAGE C) IF (BUILD_SHARED_LIBS AND WIN32) TARGET_COMPILE_DEFINITIONS (lua PUBLIC -DLUA_BUILD_AS_DLL ) @@ -65,52 +49,35 @@ IF (UNIX) FIND_LIBRARY (LIB_DLOPEN NAMES dl) IF (LIB_DLOPEN) TARGET_COMPILE_DEFINITIONS (lua PUBLIC -DLUA_USE_DLOPEN) - TARGET_LINK_LIBRARIES (lua ${LIB_DLOPEN}) + TARGET_LINK_LIBRARIES (lua ${CMAKE_DL_LIBS}) + ENDIF () + IF (LIB_MATH) + TARGET_LINK_LIBRARIES (lua m) ENDIF () ENDIF () ENDIF () INSTALL ( TARGETS lua EXPORT unofficial-lua-config - RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin - LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib - ARCHIVE DESTINATION ${CMAKE_INSTALL_PREFIX}/lib + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib ) install(EXPORT unofficial-lua-config DESTINATION share/unofficial-lua) +# CXX library IF (COMPILE_AS_CPP) - ADD_LIBRARY ( lua-cpp ${SRC_LIBLUA} ) - SET_TARGET_PROPERTIES(lua-cpp PROPERTIES OUTPUT_NAME "lua-c++") - IF (BUILD_SHARED_LIBS AND WIN32) - TARGET_COMPILE_DEFINITIONS (lua-cpp PUBLIC -DLUA_BUILD_AS_DLL ) - ENDIF () - IF (UNIX) - IF (APPLE) - TARGET_COMPILE_DEFINITIONS (lua-cpp PUBLIC -DLUA_USE_DLOPEN) - ELSE () - FIND_LIBRARY (LIB_DLOPEN NAMES dl) - IF (LIB_DLOPEN) - TARGET_COMPILE_DEFINITIONS (lua-cpp PUBLIC -DLUA_USE_DLOPEN) - TARGET_LINK_LIBRARIES (lua-cpp ${LIB_DLOPEN}) - ENDIF () - ENDIF () - ENDIF () - - INSTALL ( TARGETS lua-cpp - EXPORT unofficial-lua-cpp-config - RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin - LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib - ARCHIVE DESTINATION ${CMAKE_INSTALL_PREFIX}/lib - ) - - install(EXPORT unofficial-lua-cpp-config DESTINATION share/unofficial-lua-cpp) + ADD_SUBDIRECTORY(cpp) ENDIF() IF (INSTALL_TOOLS) - ADD_EXECUTABLE ( luac src/luac.c ${SRC_LIBLUA} ) # compiler uses non-exported APIs, so must include sources directly. - ADD_EXECUTABLE ( luai src/lua.c ) # interpreter - TARGET_LINK_LIBRARIES ( luai lua ) + # compiler uses non-exported APIs, so must include sources directly. + ADD_EXECUTABLE ( luac ${CMAKE_SOURCE_DIR}/src/luac.c ${SRC_LIBLUA} ${CMAKE_SOURCE_DIR}/src/lopnames.h ) + ADD_EXECUTABLE ( luai ${CMAKE_SOURCE_DIR}/src/lua.c ) # interpreter + + TARGET_INCLUDE_DIRECTORIES(luac PRIVATE ${CMAKE_CURRENT_LIST_DIR}/src) + TARGET_LINK_LIBRARIES ( luai PRIVATE lua ) SET_TARGET_PROPERTIES ( luai PROPERTIES OUTPUT_NAME lua PDB_NAME luai ) IF (UNIX) IF (CMAKE_SYSTEM_NAME STREQUAL FreeBSD) @@ -121,13 +88,17 @@ IF (INSTALL_TOOLS) FIND_LIBRARY (LIB_READLINE NAMES ${_LIB_READLINE_NAME}) IF (LIB_READLINE) TARGET_COMPILE_DEFINITIONS (luai PUBLIC -DLUA_USE_READLINE) - TARGET_LINK_LIBRARIES(luai ${LIB_READLINE}) + TARGET_LINK_LIBRARIES(luai PRIVATE ${LIB_READLINE}) IF (_LIB_READLINE_NAME STREQUAL edit) TARGET_INCLUDE_DIRECTORIES (luai PUBLIC /usr/include/edit) ENDIF () ENDIF () + + IF (LIB_MATH) + TARGET_LINK_LIBRARIES (luac m) + ENDIF () ENDIF () - INSTALL ( TARGETS luai luac RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/tools/lua ) + INSTALL ( TARGETS luai luac RUNTIME DESTINATION tools/lua ) ENDIF () IF (NOT SKIP_INSTALL_HEADERS) diff --git a/ports/lua/fix-ios-system.patch b/ports/lua/fix-ios-system.patch index 3e98ce228ac7d2..f51c9449b97089 100644 --- a/ports/lua/fix-ios-system.patch +++ b/ports/lua/fix-ios-system.patch @@ -1,23 +1,23 @@ diff --git a/src/loslib.c b/src/loslib.c -index e65e188..3595601 100644 +index ad5a927..7812011 100644 --- a/src/loslib.c +++ b/src/loslib.c -@@ -3,7 +3,9 @@ - ** Standard Operating System library +@@ -4,6 +4,10 @@ ** See Copyright Notice in lua.h */ -- + +#if defined(__APPLE__) +#include +#endif ++ #define loslib_c #define LUA_LIB -@@ -143,7 +145,12 @@ static int os_execute (lua_State *L) { +@@ -143,7 +147,12 @@ static int os_execute (lua_State *L) { const char *cmd = luaL_optstring(L, 1, NULL); int stat; errno = 0; -- stat = system(cmd); +- stat = l_system(cmd); +#if defined(__APPLE__) && !TARGET_OS_OSX + // system() is __IOS_PROHIBITED, __WATCHOS_PROHIBITED, and __TVOS_PROHIBITED. + stat = 127; // error: shell execution failed diff --git a/ports/lua/portfile.cmake b/ports/lua/portfile.cmake index 1a7fac53caa838..d90be142b0d565 100644 --- a/ports/lua/portfile.cmake +++ b/ports/lua/portfile.cmake @@ -1,52 +1,40 @@ vcpkg_download_distfile(ARCHIVE - URLS "https://www.lua.org/ftp/lua-5.4.3.tar.gz" - FILENAME "lua-5.4.3.tar.gz" - SHA512 3a1a3ee8694b72b4ec9d3ce76705fe179328294353604ca950c53f41b41161b449877d43318ef4501fee44ecbd6c83314ce7468d7425ba9b2903c9c32a28bbc0 + URLS "https://www.lua.org/ftp/lua-${VERSION}.tar.gz" + FILENAME "lua-${VERSION}.tar.gz" + SHA512 98c5c8978dfdf867e37e9eb3b3ec83dee92d199243b5119505da83895e33f10d43c841be6a7d3b106daba8a0b2bd25fe099ebff8f87831dcc55c79c78b97d8b8 ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" PATCHES vs2015-impl-c99.patch fix-ios-system.patch ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) - -# Used in cmake wrapper -set(ENABLE_LUA_CPP 0) -if ("cpp" IN_LIST FEATURES) - if (VCPKG_TARGET_IS_UWP) - message(FATAL_ERROR "Feature cpp does not support uwp.") - endif() - set(ENABLE_LUA_CPP 1) -endif() +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/CMakeLists-cpp.txt" DESTINATION "${SOURCE_PATH}/cpp" RENAME "CMakeLists.txt") vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES - cpp COMPILE_AS_CPP + cpp COMPILE_AS_CPP # Also used in cmake wrapper tools INSTALL_TOOLS ) -if(VCPKG_TARGET_IS_IOS AND "tools" IN_LIST FEATURES) - message(FATAL_ERROR "lua[tools] is not supported for iOS platform build") -endif() -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${FEATURE_OPTIONS} OPTIONS_DEBUG -DSKIP_INSTALL_HEADERS=ON ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-lua TARGET_PATH share/unofficial-lua) +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-lua CONFIG_PATH share/unofficial-lua) if("cpp" IN_LIST FEATURES) - vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-lua-cpp TARGET_PATH share/unofficial-lua-cpp) + vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-lua-cpp CONFIG_PATH "share/unofficial-lua-cpp") endif() if ("tools" IN_LIST FEATURES) @@ -55,15 +43,12 @@ endif() if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) if(VCPKG_TARGET_IS_WINDOWS) - file(READ ${CURRENT_PACKAGES_DIR}/include/luaconf.h LUA_CONF_H) - string(REPLACE "defined(LUA_BUILD_AS_DLL)" "1" LUA_CONF_H "${LUA_CONF_H}") - file(WRITE ${CURRENT_PACKAGES_DIR}/include/luaconf.h "${LUA_CONF_H}") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/luaconf.h" "defined(LUA_BUILD_AS_DLL)" "1") endif() endif() # Suitable for old version -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}) +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}") -# Handle copyright -file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/COPYRIGHT DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/COPYRIGHT" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/lua/vcpkg-cmake-wrapper.cmake.in b/ports/lua/vcpkg-cmake-wrapper.cmake.in index 74973eca35126b..eec21fdb365eef 100644 --- a/ports/lua/vcpkg-cmake-wrapper.cmake.in +++ b/ports/lua/vcpkg-cmake-wrapper.cmake.in @@ -7,7 +7,7 @@ endforeach() _find_package(unofficial-lua CONFIG ${REQUIRES}) -if (@ENABLE_LUA_CPP@) +if (@COMPILE_AS_CPP@) _find_package(unofficial-lua-cpp CONFIG ${REQUIRES}) endif() diff --git a/ports/lua/vcpkg.json b/ports/lua/vcpkg.json index e381a077ead1d0..214e020ede8127 100644 --- a/ports/lua/vcpkg.json +++ b/ports/lua/vcpkg.json @@ -1,15 +1,27 @@ { "name": "lua", - "version-semver": "5.4.3", - "port-version": 3, + "version": "5.4.7", "description": "A powerful, fast, lightweight, embeddable scripting language", "homepage": "https://www.lua.org", + "license": null, + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], "features": { "cpp": { - "description": "Builds Lua for C++ linkage" + "description": "Builds Lua for C++ linkage", + "supports": "!uwp" }, "tools": { - "description": "Builds Lua compiler and interpreter" + "description": "Builds Lua compiler and interpreter", + "supports": "!ios" } } } diff --git a/ports/luabridge/portfile.cmake b/ports/luabridge/portfile.cmake index 6f4cbeb2afc729..2946dfe289ab12 100644 --- a/ports/luabridge/portfile.cmake +++ b/ports/luabridge/portfile.cmake @@ -1,19 +1,10 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO vinniefalco/LuaBridge - REF 12d51bdd992a22b43adb9cc5fb83ebf8b1f2be7f # 2.6 - SHA512 18593b2fda5be0b7cd9701feed53820002f93bba883cfa9fcdfa3e25ead02fb9b2f16f30d1603ae5d43ee3b199925071260723d4ebb79eb581888496d422f42d + REF ad32549288433eacfb0dc64cc3a8e4873de31553 # 2.8 + SHA512 28cd7a44413925be9c3d949fdc136d37da44e9ce9d35d2c8cf9b35dd2f960a6cf5f55a1841011e5d434512adc502d79b585a2fcc7f74268a70c984c3c71f7d77 HEAD_REF master ) -file( - COPY ${SOURCE_PATH}/Source/LuaBridge - DESTINATION ${CURRENT_PACKAGES_DIR}/include -) - -# Handle copyright -configure_file( - ${SOURCE_PATH}/README.md - ${CURRENT_PACKAGES_DIR}/share/luabridge/copyright - COPYONLY -) +file(COPY "${SOURCE_PATH}/Source/LuaBridge" DESTINATION "${CURRENT_PACKAGES_DIR}/include") +file(INSTALL "${SOURCE_PATH}/README.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/luabridge/vcpkg.json b/ports/luabridge/vcpkg.json index e26ef433917534..8f2bae5b19f2a3 100644 --- a/ports/luabridge/vcpkg.json +++ b/ports/luabridge/vcpkg.json @@ -1,6 +1,7 @@ { "name": "luabridge", - "version-string": "2.6", - "port-version": 1, - "description": "A lightweight, dependency-free library for binding Lua to C++" + "version": "2.8", + "description": "A lightweight, dependency-free library for binding Lua to C++", + "homepage": "https://github.com/vinniefalco/LuaBridge", + "license": "MIT" } diff --git a/ports/luabridge3/portfile.cmake b/ports/luabridge3/portfile.cmake new file mode 100644 index 00000000000000..6f08ed3dfb1929 --- /dev/null +++ b/ports/luabridge3/portfile.cmake @@ -0,0 +1,15 @@ +# header-only library + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO kunitoki/LuaBridge3 + REF 0e17140276d215e98764813078f48731125e4784 # 3.0-rc3 + SHA512 b0cafc817abf6408bb26ba76ca05641cc311e2defa3a78481af7dbd56be49f3d28c81d2b2a152aa5f0ea18721578eb9e36515614dca40f813603af5abe45d0ce + HEAD_REF master +) + +# Copy the header files +file(COPY "${SOURCE_PATH}/Source/LuaBridge" DESTINATION "${CURRENT_PACKAGES_DIR}/include/${PORT}") + +# Handle copyright +file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/luabridge3/vcpkg.json b/ports/luabridge3/vcpkg.json new file mode 100644 index 00000000000000..746b907ea502d2 --- /dev/null +++ b/ports/luabridge3/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "luabridge3", + "version": "3.0-rc3", + "description": "A lightweight, dependency-free, suitable for game development library for binding Lua to C++17", + "homepage": "https://github.com/kunitoki/LuaBridge3", + "license": "MIT" +} 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 bd6f1ebd4e1f44..251280cf5acbe3 100644 --- a/ports/luafilesystem/portfile.cmake +++ b/ports/luafilesystem/portfile.cmake @@ -10,18 +10,24 @@ vcpkg_from_github( HEAD_REF master ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +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_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS) +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DLFS_VERSION="${VERSION}" +) -vcpkg_install_cmake() +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 bdc33582d6984b..d26128707af220 100644 --- a/ports/luafilesystem/vcpkg.json +++ b/ports/luafilesystem/vcpkg.json @@ -1,10 +1,19 @@ { "name": "luafilesystem", - "version-string": "1.8.0", - "port-version": 2, + "version": "1.8.0", + "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" + "lua", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/luajit/001-fix-build-path.patch b/ports/luajit/001-fix-build-path.patch deleted file mode 100644 index bd14d708947a57..00000000000000 --- a/ports/luajit/001-fix-build-path.patch +++ /dev/null @@ -1,119 +0,0 @@ -diff --git a/src/msvcbuild.bat b/src/msvcbuild.bat -index 42e3652..6a889e1 100644 ---- a/src/msvcbuild.bat -+++ b/src/msvcbuild.bat -@@ -14,17 +14,18 @@ - @if not defined INCLUDE goto :FAIL - - @setlocal --@set LJCOMPILE=cl /nologo /c /O2 /W3 /D_CRT_SECURE_NO_DEPRECATE /D_CRT_STDIO_INLINE=__declspec(dllexport)__inline -+@set SOURCEDIR=%1 -+@set LJCOMPILE=cl /nologo /c /O2 /W3 /D_CRT_SECURE_NO_DEPRECATE /D_CRT_STDIO_INLINE=__declspec(dllexport)__inline /I%SOURCEDIR% - @set LJLINK=link /nologo - @set LJMT=mt /nologo - @set LJLIB=lib /nologo /nodefaultlib --@set DASMDIR=..\dynasm -+@set DASMDIR=%SOURCEDIR%\..\dynasm - @set DASM=%DASMDIR%\dynasm.lua - @set LJDLLNAME=lua51.dll - @set LJLIBNAME=lua51.lib --@set ALL_LIB=lib_base.c lib_math.c lib_bit.c lib_string.c lib_table.c lib_io.c lib_os.c lib_package.c lib_debug.c lib_jit.c lib_ffi.c -+@set ALL_LIB=%SOURCEDIR%\lib_base.c %SOURCEDIR%\lib_math.c %SOURCEDIR%\lib_bit.c %SOURCEDIR%\lib_string.c %SOURCEDIR%\lib_table.c %SOURCEDIR%\lib_io.c %SOURCEDIR%\lib_os.c %SOURCEDIR%\lib_package.c %SOURCEDIR%\lib_debug.c %SOURCEDIR%\lib_jit.c %SOURCEDIR%\lib_ffi.c - --%LJCOMPILE% host\minilua.c -+%LJCOMPILE% %SOURCEDIR%\host\minilua.c /Fdminilua.pdb - @if errorlevel 1 goto :BAD - %LJLINK% /out:minilua.exe minilua.obj - @if errorlevel 1 goto :BAD -@@ -38,10 +39,10 @@ if exist minilua.exe.manifest^ - @set DASMFLAGS=-D WIN -D JIT -D FFI - @set LJARCH=x86 - :X64 --minilua %DASM% -LN %DASMFLAGS% -o host\buildvm_arch.h vm_x86.dasc -+minilua %DASM% -LN %DASMFLAGS% -o %SOURCEDIR%\host\buildvm_arch.h %SOURCEDIR%\vm_x86.dasc - @if errorlevel 1 goto :BAD - --%LJCOMPILE% /I "." /I %DASMDIR% host\buildvm*.c -+%LJCOMPILE% /I "." /I %DASMDIR% %SOURCEDIR%\host\buildvm*.c /Fdbuildvm.pdb - @if errorlevel 1 goto :BAD - %LJLINK% /out:buildvm.exe buildvm*.obj - @if errorlevel 1 goto :BAD -@@ -50,39 +51,39 @@ if exist buildvm.exe.manifest^ - - buildvm -m peobj -o lj_vm.obj - @if errorlevel 1 goto :BAD --buildvm -m bcdef -o lj_bcdef.h %ALL_LIB% -+buildvm -m bcdef -o %SOURCEDIR%\lj_bcdef.h %ALL_LIB% - @if errorlevel 1 goto :BAD --buildvm -m ffdef -o lj_ffdef.h %ALL_LIB% -+buildvm -m ffdef -o %SOURCEDIR%\lj_ffdef.h %ALL_LIB% - @if errorlevel 1 goto :BAD --buildvm -m libdef -o lj_libdef.h %ALL_LIB% -+buildvm -m libdef -o %SOURCEDIR%\lj_libdef.h %ALL_LIB% - @if errorlevel 1 goto :BAD --buildvm -m recdef -o lj_recdef.h %ALL_LIB% -+buildvm -m recdef -o %SOURCEDIR%\lj_recdef.h %ALL_LIB% - @if errorlevel 1 goto :BAD --buildvm -m vmdef -o jit\vmdef.lua %ALL_LIB% -+buildvm -m vmdef -o %SOURCEDIR%\jit\vmdef.lua %ALL_LIB% - @if errorlevel 1 goto :BAD --buildvm -m folddef -o lj_folddef.h lj_opt_fold.c -+buildvm -m folddef -o %SOURCEDIR%\lj_folddef.h %SOURCEDIR%\lj_opt_fold.c - @if errorlevel 1 goto :BAD - --@if "%1" neq "debug" goto :NODEBUG -+@set LJLINK=%LJLINK% /debug -+@if "%2" neq "debug" goto :NODEBUG - @shift - @set LJCOMPILE=%LJCOMPILE% /Zi --@set LJLINK=%LJLINK% /debug - :NODEBUG --@if "%1"=="amalg" goto :AMALGDLL --@if "%1"=="static" goto :STATIC --%LJCOMPILE% /MD /DLUA_BUILD_AS_DLL lj_*.c lib_*.c -+@if "%2"=="amalg" goto :AMALGDLL -+@if "%2"=="static" goto :STATIC -+%LJCOMPILE% /MD /DLUA_BUILD_AS_DLL %SOURCEDIR%\lj_*.c %SOURCEDIR%\lib_*.c /Fdlua51.pdb - @if errorlevel 1 goto :BAD - %LJLINK% /DLL /out:%LJDLLNAME% lj_*.obj lib_*.obj - @if errorlevel 1 goto :BAD - @goto :MTDLL - :STATIC --%LJCOMPILE% lj_*.c lib_*.c -+%LJCOMPILE% %SOURCEDIR%\lj_*.c %SOURCEDIR%\lib_*.c /Fdlua51.pdb - @if errorlevel 1 goto :BAD - %LJLIB% /OUT:%LJLIBNAME% lj_*.obj lib_*.obj - @if errorlevel 1 goto :BAD - @goto :MTDLL - :AMALGDLL --%LJCOMPILE% /MD /DLUA_BUILD_AS_DLL ljamalg.c -+%LJCOMPILE% /MD /DLUA_BUILD_AS_DLL %SOURCEDIR%\ljamalg.c - @if errorlevel 1 goto :BAD - %LJLINK% /DLL /out:%LJDLLNAME% ljamalg.obj lj_vm.obj - @if errorlevel 1 goto :BAD -@@ -90,7 +91,7 @@ buildvm -m folddef -o lj_folddef.h lj_opt_fold.c - if exist %LJDLLNAME%.manifest^ - %LJMT% -manifest %LJDLLNAME%.manifest -outputresource:%LJDLLNAME%;2 - --%LJCOMPILE% luajit.c -+%LJCOMPILE% %SOURCEDIR%\luajit.c /Fdluajit.pdb - @if errorlevel 1 goto :BAD - %LJLINK% /out:luajit.exe luajit.obj %LJLIBNAME% - @if errorlevel 1 goto :BAD -@@ -98,8 +99,8 @@ if exist luajit.exe.manifest^ - %LJMT% -manifest luajit.exe.manifest -outputresource:luajit.exe - - @del *.obj *.manifest minilua.exe buildvm.exe --@del host\buildvm_arch.h --@del lj_bcdef.h lj_ffdef.h lj_libdef.h lj_recdef.h lj_folddef.h -+@del %SOURCEDIR%\host\buildvm_arch.h -+@del %SOURCEDIR%\lj_bcdef.h %SOURCEDIR%\lj_ffdef.h %SOURCEDIR%\lj_libdef.h %SOURCEDIR%\lj_recdef.h %SOURCEDIR%\lj_folddef.h - @echo. - @echo === Successfully built LuaJIT for Windows/%LJARCH% === - -@@ -112,4 +113,5 @@ if exist luajit.exe.manifest^ - @goto :END - :FAIL - @echo You must open a "Visual Studio .NET Command Prompt" to run this script -+exit 1 - :END diff --git a/ports/luajit/002-fix-crt-linkage.patch b/ports/luajit/002-fix-crt-linkage.patch deleted file mode 100644 index cbc273efcdfaec..00000000000000 --- a/ports/luajit/002-fix-crt-linkage.patch +++ /dev/null @@ -1,42 +0,0 @@ -diff --git a/src/msvcbuild.bat b/src/msvcbuild.bat -index 6a889e1..08c4e3c 100644 ---- a/src/msvcbuild.bat -+++ b/src/msvcbuild.bat -@@ -64,20 +64,23 @@ buildvm -m vmdef -o %SOURCEDIR%\jit\vmdef.lua %ALL_LIB% - buildvm -m folddef -o %SOURCEDIR%\lj_folddef.h %SOURCEDIR%\lj_opt_fold.c - @if errorlevel 1 goto :BAD - -+@if "%2"=="static" set CRT_LINKAGE=/MT -+@if "%2"=="dynamic" set CRT_LINKAGE=/MD - @set LJLINK=%LJLINK% /debug --@if "%2" neq "debug" goto :NODEBUG -+@if "%3" neq "debug" goto :NODEBUG - @shift - @set LJCOMPILE=%LJCOMPILE% /Zi -+@set CRT_LINKAGE=%CRT_LINKAGE%d - :NODEBUG --@if "%2"=="amalg" goto :AMALGDLL -+@if "%3"=="amalg" goto :AMALGDLL --@if "%2"=="static" goto :STATIC -+@if "%3"=="static" goto :STATIC --%LJCOMPILE% /MD /DLUA_BUILD_AS_DLL %SOURCEDIR%\lj_*.c %SOURCEDIR%\lib_*.c /Fdlua51.pdb -+%LJCOMPILE% %CRT_LINKAGE% /DLUA_BUILD_AS_DLL %SOURCEDIR%\lj_*.c %SOURCEDIR%\lib_*.c /Fdlua51.pdb - @if errorlevel 1 goto :BAD - %LJLINK% /DLL /out:%LJDLLNAME% lj_*.obj lib_*.obj - @if errorlevel 1 goto :BAD - @goto :MTDLL - :STATIC --%LJCOMPILE% %SOURCEDIR%\lj_*.c %SOURCEDIR%\lib_*.c /Fdlua51.pdb -+%LJCOMPILE% %CRT_LINKAGE% %SOURCEDIR%\lj_*.c %SOURCEDIR%\lib_*.c /Fdlua51.pdb - @if errorlevel 1 goto :BAD - %LJLIB% /OUT:%LJLIBNAME% lj_*.obj lib_*.obj - @if errorlevel 1 goto :BAD -@@ -94,7 +94,7 @@ - if exist %LJDLLNAME%.manifest^ - %LJMT% -manifest %LJDLLNAME%.manifest -outputresource:%LJDLLNAME%;2 - --%LJCOMPILE% %SOURCEDIR%\luajit.c /Fdluajit.pdb -+%LJCOMPILE% %CRT_LINKAGE% %SOURCEDIR%\luajit.c /Fdluajit.pdb - @if errorlevel 1 goto :BAD - %LJLINK% /out:luajit.exe luajit.obj %LJLIBNAME% - @if errorlevel 1 goto :BAD diff --git a/ports/luajit/003-do-not-set-macosx-deployment-target.patch b/ports/luajit/003-do-not-set-macosx-deployment-target.patch new file mode 100644 index 00000000000000..4f9f6324ed7127 --- /dev/null +++ b/ports/luajit/003-do-not-set-macosx-deployment-target.patch @@ -0,0 +1,14 @@ +diff --git a/src/Makefile b/src/Makefile +index 30d64be..b753ea1 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -316,9 +316,6 @@ ifeq (,$(shell $(TARGET_CC) -o /dev/null -c -x c /dev/null -fno-stack-protector + TARGET_XCFLAGS+= -fno-stack-protector + endif + ifeq (Darwin,$(TARGET_SYS)) +- ifeq (,$(MACOSX_DEPLOYMENT_TARGET)) +- $(error missing: export MACOSX_DEPLOYMENT_TARGET=XX.YY) +- endif + TARGET_STRIP+= -x + TARGET_XCFLAGS+= -DLUAJIT_UNWIND_EXTERNAL + TARGET_XSHLDFLAGS= -dynamiclib -single_module -undefined dynamic_lookup -fPIC diff --git a/ports/luajit/005-do-not-pass-ld-e-macosx.patch b/ports/luajit/005-do-not-pass-ld-e-macosx.patch new file mode 100644 index 00000000000000..8f2f615bca964b --- /dev/null +++ b/ports/luajit/005-do-not-pass-ld-e-macosx.patch @@ -0,0 +1,11 @@ +diff --git a/etc/luajit.pc b/etc/luajit.pc +index 39e1e57..3837d3b 100644 +--- a/etc/luajit.pc ++++ b/etc/luajit.pc +@@ -21,5 +21,5 @@ URL: https://luajit.org + Version: ${version} + Requires: + Libs: -L${libdir} -l${libname} +-Libs.private: -Wl,-E -lm -ldl ++Libs.private: -lm -ldl + Cflags: -I${includedir} diff --git a/ports/luajit/Makefile.nmake b/ports/luajit/Makefile.nmake new file mode 100644 index 00000000000000..3ca250870e4e64 --- /dev/null +++ b/ports/luajit/Makefile.nmake @@ -0,0 +1,20 @@ +all: + @echo _CL_ = $(_CL_) + @echo _LINK_ = $(_LINK_) + cd src && .\msvcbuild.bat $(MSVCBUILD_OPTIONS) + +install: src\luajit.exe + -mkdir "$(INSTALLDIR)" + -mkdir "$(INSTALLDIR)\bin" + copy src\luajit.exe "$(INSTALLDIR)\bin\" + if exist src\lua51.dll copy src\lua51.dll "$(INSTALLDIR)\bin\" + -mkdir "$(INSTALLDIR)\lib" + copy src\lua51.lib "$(INSTALLDIR)\lib\" + -mkdir "$(INSTALLDIR)\include" + -mkdir "$(INSTALLDIR)\include\luajit" + copy src\lua.h "$(INSTALLDIR)\include\luajit\" + copy src\luajit.h "$(INSTALLDIR)\include\luajit\" + copy src\luaconf.h "$(INSTALLDIR)\include\luajit\" + copy src\lualib.h "$(INSTALLDIR)\include\luajit\" + copy src\lauxlib.h "$(INSTALLDIR)\include\luajit\" + copy src\lua.hpp "$(INSTALLDIR)\include\luajit\" diff --git a/ports/luajit/configure b/ports/luajit/configure new file mode 100755 index 00000000000000..0384100aa001a4 --- /dev/null +++ b/ports/luajit/configure @@ -0,0 +1,86 @@ +#!/bin/sh + +set -e + +LJARCH= +LUAJIT_BUILDMODE= +LUAJIT_BUILDVM_X= +LUAJIT_DASM_ARCHS= +LUAJIT_PREFIX= +for OPTION; do + case "${OPTION}" in + --prefix=*) + LUAJIT_PREFIX="${OPTION#--prefix=}" + ;; + BUILDMODE=*) + LUAJIT_BUILDMODE="${OPTION#BUILDMODE=}" + ;; + BUILDVM_X=*) + LUAJIT_BUILDVM_X="${OPTION#BUILDVM_X=}" + ;; + DASM_ARCHS=*) + LUAJIT_DASM_ARCHS="${OPTION#DASM_ARCHS=}" + ;; + LJARCH=*) + LJARCH="${OPTION#LJARCH=}" + ;; + esac +done + +cat > Makefile.vcpkg < [-m32] -E src/lj_arch.h -dM' +TARGET_TESTARCH_COMMON += 'LJ_LE 1' 'LJ_HASJIT 1' 'LJ_HASFFI 1' 'LJ_ARCH_HASFPU 1' 'LJ_ABI_SOFTFP 0' +TARGET_TESTARCH_COMMON_32 += \$(TARGET_TESTARCH_COMMON) 'LJ_ARCH_BITS 32' +TARGET_TESTARCH_COMMON_64 += \$(TARGET_TESTARCH_COMMON) 'LJ_ARCH_BITS 64' 'LJ_TARGET_GC64 1' +TARGET_TESTARCH_arm = \$(TARGET_TESTARCH_COMMON_32) LJ_TARGET_ARM +TARGET_TESTARCH_arm64 = \$(TARGET_TESTARCH_COMMON_64) LJ_TARGET_ARM64 'LJ_ARCH_VERSION 80' +TARGET_TESTARCH_x86 = \$(TARGET_TESTARCH_COMMON_32) LJ_TARGET_X86 +TARGET_TESTARCH_x64 = \$(TARGET_TESTARCH_COMMON_64) LJ_TARGET_X64 'LJ_FR2 1' + +all: + \$(MAKE) clean \$(COMMON_OPTIONS) \$(BUILD_OPTIONS) + \$(MAKE) all \$(COMMON_OPTIONS) \$(BUILD_OPTIONS) + for DA in \$(DASM_ARCHS); do \\ + rm -f src/host/buildvm_arch.h src/host/*.o; \\ + case "\$\$DA" in \\ + arm) TARGET_TESTARCH="\$(TARGET_TESTARCH_arm)" ;; \\ + arm64) TARGET_TESTARCH="\$(TARGET_TESTARCH_arm64)" ;; \\ + x86) TARGET_TESTARCH="\$(TARGET_TESTARCH_x86)" ;; \\ + x64) TARGET_TESTARCH="\$(TARGET_TESTARCH_x64)" ;; \\ + esac ; \\ + \$(MAKE) -C src host/buildvm-\$\$DA\$(EXECUTABLE_SUFFIX) \$(COMMON_OPTIONS) \$(BUILD_OPTIONS) \\ + BUILDVM_T=host/buildvm-\$\$DA\$(EXECUTABLE_SUFFIX) "TARGET_TESTARCH=\$\${TARGET_TESTARCH}" \\ + || exit 1; \\ + done + +install: + \$(MAKE) install \$(COMMON_OPTIONS) + for DA in \$(DASM_ARCHS); do \\ + mkdir -p "\$\${DESTDIR}\$(BUILDVM_PREFIX)"; \\ + install -m 0755 "src/host/buildvm-\$\$DA\$(EXECUTABLE_SUFFIX)" "\$\${DESTDIR}\$(BUILDVM_PREFIX)/buildvm-\$\$DA\$(EXECUTABLE_SUFFIX)" || exit 1 ; \\ + done + +END_MAKEFILE 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/msvcbuild.patch b/ports/luajit/msvcbuild.patch new file mode 100644 index 00000000000000..8e2e756d8bcd6b --- /dev/null +++ b/ports/luajit/msvcbuild.patch @@ -0,0 +1,31 @@ +diff --git a/src/msvcbuild.bat b/src/msvcbuild.bat +index aab4ef1..e92c486 100644 +--- a/src/msvcbuild.bat ++++ b/src/msvcbuild.bat +@@ -79,10 +79,9 @@ buildvm -m folddef -o lj_folddef.h lj_opt_fold.c + @set LJCOMPILE=%LJCOMPILE% /Zi %DEBUGCFLAGS% + @set LJLINK=%LJLINK% /opt:ref /opt:icf /incremental:no + :NODEBUG +-@set LJLINK=%LJLINK% /%BUILDTYPE% + @if "%1"=="amalg" goto :AMALGDLL + @if "%1"=="static" goto :STATIC +-%LJCOMPILE% /MD /DLUA_BUILD_AS_DLL lj_*.c lib_*.c ++%LJCOMPILE% /DLUA_BUILD_AS_DLL lj_*.c lib_*.c /Fdlua51.pdb + @if errorlevel 1 goto :BAD + %LJLINK% /DLL /out:%LJDLLNAME% lj_*.obj lib_*.obj + @if errorlevel 1 goto :BAD +@@ -102,7 +101,7 @@ buildvm -m folddef -o lj_folddef.h lj_opt_fold.c + if exist %LJDLLNAME%.manifest^ + %LJMT% -manifest %LJDLLNAME%.manifest -outputresource:%LJDLLNAME%;2 + +-%LJCOMPILE% luajit.c ++%LJCOMPILE% luajit.c /Fdluajit.pdb + @if errorlevel 1 goto :BAD + %LJLINK% /out:luajit.exe luajit.obj %LJLIBNAME% + @if errorlevel 1 goto :BAD +@@ -124,4 +123,5 @@ if exist luajit.exe.manifest^ + @goto :END + :FAIL + @echo You must open a "Visual Studio Command Prompt" to run this script ++@exit 1 + :END diff --git a/ports/luajit/portfile.cmake b/ports/luajit/portfile.cmake index 262f7ec0908686..98042ee1262298 100644 --- a/ports/luajit/portfile.cmake +++ b/ports/luajit/portfile.cmake @@ -1,73 +1,109 @@ -vcpkg_fail_port_install(MESSAGE "${PORT} currently only supports being built for desktop" ON_TARGET "UWP") - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO LuaJIT/LuaJIT - REF v2.0.5 - SHA512 65d982d7fe532a61335613f414f3b8fa5333747bdf7aefc2c2d52022d227594ade827639049b97e3c4ffae9f38f32cb15f1a17b1780fb0a943e1a3af05e2b576 - HEAD_REF master - PATCHES - 001-fix-build-path.patch - 002-fix-crt-linkage.patch -) - -if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - set (LJIT_STATIC "") -else() - set (LJIT_STATIC "static") -endif() - -if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL debug) - message(STATUS "Building ${TARGET_TRIPLET}-dbg") - file(REMOVE_RECURSE "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") - file(MAKE_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") - - vcpkg_execute_required_process_repeat( - COUNT 1 - COMMAND "${SOURCE_PATH}/src/msvcbuild.bat" ${SOURCE_PATH}/src ${VCPKG_CRT_LINKAGE} debug ${LJIT_STATIC} - WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg" - LOGNAME build-${TARGET_TRIPLET}-dbg - ) - - file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/luajit.exe DESTINATION ${CURRENT_PACKAGES_DIR}/debug/tools) - file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/lua51.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) - - if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/lua51.dll DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) - file(COPY ${CURRENT_PACKAGES_DIR}/debug/bin/lua51.dll DESTINATION ${CURRENT_PACKAGES_DIR}/debug/tools) - endif() - vcpkg_copy_pdbs() -endif() - - -if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL release) - message(STATUS "Building ${TARGET_TRIPLET}-rel") - file(REMOVE_RECURSE "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") - file(MAKE_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") - - vcpkg_execute_required_process_repeat(d8un - COUNT 1 - COMMAND "${SOURCE_PATH}/src/msvcbuild.bat" ${SOURCE_PATH}/src ${VCPKG_CRT_LINKAGE} ${LJIT_STATIC} - WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel" - LOGNAME build-${TARGET_TRIPLET}-rel - ) - - file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/luajit.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools) - file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/lua51.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib) - - if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/lua51.dll DESTINATION ${CURRENT_PACKAGES_DIR}/bin) - vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools) - endif() - vcpkg_copy_pdbs() -endif() - -file(INSTALL ${SOURCE_PATH}/src/lua.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/${PORT}) -file(INSTALL ${SOURCE_PATH}/src/luajit.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/${PORT}) -file(INSTALL ${SOURCE_PATH}/src/luaconf.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/${PORT}) -file(INSTALL ${SOURCE_PATH}/src/lualib.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/${PORT}) -file(INSTALL ${SOURCE_PATH}/src/lauxlib.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/${PORT}) -file(INSTALL ${SOURCE_PATH}/src/lua.hpp DESTINATION ${CURRENT_PACKAGES_DIR}/include/${PORT}) - -# Handle copyright -file(COPY ${SOURCE_PATH}/COPYRIGHT DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) \ No newline at end of file +set(extra_patches "") +if (VCPKG_TARGET_IS_OSX) + list(APPEND extra_patches 005-do-not-pass-ld-e-macosx.patch) +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO LuaJIT/LuaJIT + REF d0e88930ddde28ff662503f9f20facf34f7265aa #2023-01-04 + SHA512 e4111b2d7eeb05676c62d69da13a380a51d98f082c0be575a414c09ee27ff17d101b5b4a95e1b8a1bad14d55a4d2b305718a11878fbf36e0d3d48e62ba03407f + HEAD_REF master + PATCHES + msvcbuild.patch + 003-do-not-set-macosx-deployment-target.patch + ${extra_patches} +) + +vcpkg_cmake_get_vars(cmake_vars_file) +include("${cmake_vars_file}") + +if(VCPKG_DETECTED_MSVC) + # Due to lack of better MSVC cross-build support, just always build the host + # 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) + if (VCPKG_LIBRARY_LINKAGE STREQUAL "static") + list(APPEND options "MSVCBUILD_OPTIONS=static") + endif() + + vcpkg_install_nmake(SOURCE_PATH "${SOURCE_PATH}" + PROJECT_NAME "${CMAKE_CURRENT_LIST_DIR}/Makefile.nmake" + OPTIONS + ${options} + ) + + 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) + file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/luajit.pc" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig") + endif() + + vcpkg_copy_pdbs() +else() + vcpkg_list(SET options) + if(VCPKG_CROSSCOMPILING) + list(APPEND options + "LJARCH=${VCPKG_TARGET_ARCHITECTURE}" + "BUILDVM_X=${CURRENT_HOST_INSTALLED_DIR}/manual-tools/${PORT}/buildvm-${VCPKG_TARGET_ARCHITECTURE}${VCPKG_HOST_EXECUTABLE_SUFFIX}" + ) + endif() + + vcpkg_list(SET make_options "EXECUTABLE_SUFFIX=${VCPKG_TARGET_EXECUTABLE_SUFFIX}") + set(strip_options "") # cf. src/Makefile + if(VCPKG_TARGET_IS_OSX) + vcpkg_list(APPEND make_options "TARGET_SYS=Darwin") + set(strip_options " -x") + elseif(VCPKG_TARGET_IS_IOS) + vcpkg_list(APPEND make_options "TARGET_SYS=iOS") + set(strip_options " -x") + elseif(VCPKG_TARGET_IS_LINUX) + vcpkg_list(APPEND make_options "TARGET_SYS=Linux") + elseif(VCPKG_TARGET_IS_WINDOWS) + vcpkg_list(APPEND make_options "TARGET_SYS=Windows") + set(strip_options " --strip-unneeded") + endif() + + set(dasm_archs "") + if("buildvm-32" IN_LIST FEATURES) + string(APPEND dasm_archs " arm x86") + endif() + if("buildvm-64" IN_LIST FEATURES) + string(APPEND dasm_archs " arm64 x64") + endif() + + file(COPY "${CMAKE_CURRENT_LIST_DIR}/configure" DESTINATION "${SOURCE_PATH}") + vcpkg_configure_make(SOURCE_PATH "${SOURCE_PATH}" + COPY_SOURCE + OPTIONS + "BUILDMODE=${VCPKG_LIBRARY_LINKAGE}" + ${options} + OPTIONS_RELEASE + "DASM_ARCHS=${dasm_archs}" + ) + vcpkg_install_make( + MAKEFILE "Makefile.vcpkg" + OPTIONS + ${make_options} + "TARGET_AR=${VCPKG_DETECTED_CMAKE_AR} rcus" + "TARGET_STRIP=${VCPKG_DETECTED_CMAKE_STRIP}${strip_options}" + ) +endif() + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/lib/lua" + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/lib/lua" + "${CURRENT_PACKAGES_DIR}/share/lua" + "${CURRENT_PACKAGES_DIR}/share/man" +) + +vcpkg_copy_tools(TOOL_NAMES luajit AUTO_CLEAN) + +vcpkg_fixup_pkgconfig() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYRIGHT") diff --git a/ports/luajit/vcpkg.json b/ports/luajit/vcpkg.json index e4cd839f458aea..9436f4bfc1c64f 100644 --- a/ports/luajit/vcpkg.json +++ b/ports/luajit/vcpkg.json @@ -1,8 +1,49 @@ { "name": "luajit", - "version-string": "2.0.5", - "port-version": 4, + "version-date": "2023-01-04", + "port-version": 5, "description": "LuaJIT is a Just-In-Time (JIT) compiler for the Lua programming language.", "homepage": "https://github.com/LuaJIT/LuaJIT", - "supports": "!uwp" + "license": "MIT", + "supports": "!uwp & !(arm64 & windows)", + "dependencies": [ + { + "name": "luajit", + "host": true, + "features": [ + "buildvm-64" + ], + "platform": "!native & (arm64 | x64) & (!windows | mingw)" + }, + { + "name": "luajit", + "host": true, + "features": [ + "buildvm-32" + ], + "platform": "!native & ((arm & !arm64) | x86) & (!windows | mingw)" + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + { + "name": "vcpkg-cmake-get-vars", + "host": true + } + ], + "features": { + "buildvm-32": { + "description": "Install host tools for 32 bit targets", + "supports": "native & ((arm & !arm64) | x86) & (!windows | mingw)" + }, + "buildvm-64": { + "description": "Install host tools for 64 bit targets", + "supports": "native & (arm64 | x64) & (!windows | mingw)" + } + } } 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 31eed452132055..e69027a0525092 100644 --- a/ports/luasec/portfile.cmake +++ b/ports/luasec/portfile.cmake @@ -1,33 +1,27 @@ -set(LUASEC_REVISION v1.0.1) -set(LUASEC_HASH 21ae200e40f13a35eebca95cdac25ae13532a3008b2f9ec97a079033b9efde69e81954354453623eb77340368f482d3c69adb26881a6c0d7c4897df31301af93) - -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 ) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() # Remove debug share 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) # Allow empty include directory set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) diff --git a/ports/luasec/vcpkg.json b/ports/luasec/vcpkg.json index 4880e8bfa2a5c1..3fa5724902fca1 100644 --- a/ports/luasec/vcpkg.json +++ b/ports/luasec/vcpkg.json @@ -1,12 +1,23 @@ { "name": "luasec", - "version": "1.0.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": "!staticcrt", "dependencies": [ "lua", "luasocket", - "openssl" + "openssl", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } 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 5b4bc34002be77..1a56337a1e7ae7 100644 --- a/ports/luasocket/portfile.cmake +++ b/ports/luasocket/portfile.cmake @@ -1,39 +1,32 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO diegonehab/luasocket - REF 5b18e475f38fcf28429b1cc4b17baee3b9793a62 # accessed on 2020-09-14 - SHA512 bdf7086a0504b0072b9cfd1266fc4ae89504053801722859a426f567fca00ed76f4c295c2a3a968e93f0036d9b792cf97561e9baa82c09ea23999cfd473227eb + REPO lunarmodules/luasocket + REF "v${VERSION}" + SHA512 1e9e98484740ec6538fe3d2b0dab74d31f052956ecf9ee3b60e229f2d0b13fcc6d4aaf74cd2a3e2ee330333dabb316fe6a43c60baaea26f0cc01069b6aa4519b HEAD_REF master) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +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_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() # Remove debug share -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") # Handle copyright -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/luasocket) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/luasocket/LICENSE ${CURRENT_PACKAGES_DIR}/share/luasocket/copyright) -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) - file(RENAME ${CURRENT_PACKAGES_DIR}/bin/socket/socket.core.pdb ${CURRENT_PACKAGES_DIR}/bin/socket/core.pdb) - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/bin/socket/socket.core.dll ${CURRENT_PACKAGES_DIR}/debug/bin/socket/core.dll) - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/bin/socket/socket.core.pdb ${CURRENT_PACKAGES_DIR}/debug/bin/socket/core.pdb) - -# Handle mime dll name - file(RENAME ${CURRENT_PACKAGES_DIR}/bin/mime/mime.core.dll ${CURRENT_PACKAGES_DIR}/bin/mime/core.dll) - file(RENAME ${CURRENT_PACKAGES_DIR}/bin/mime/mime.core.pdb ${CURRENT_PACKAGES_DIR}/bin/mime/core.pdb) - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/bin/mime/mime.core.dll ${CURRENT_PACKAGES_DIR}/debug/bin/mime/core.dll) - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/bin/mime/mime.core.pdb ${CURRENT_PACKAGES_DIR}/debug/bin/mime/core.pdb) -endif() +vcpkg_install_copyright(FILE_LIST ${SOURCE_PATH}/LICENSE) # Allow empty include directory set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) diff --git a/ports/luasocket/vcpkg.json b/ports/luasocket/vcpkg.json index 064972699205e2..bfae0ba4e629b4 100644 --- a/ports/luasocket/vcpkg.json +++ b/ports/luasocket/vcpkg.json @@ -1,10 +1,15 @@ { "name": "luasocket", - "version-string": "2020-09-14", + "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://github.com/diegonehab/luasocket", + "homepage": "https://lunarmodules.github.io/luasocket/", + "license": "MIT", "dependencies": [ - "lua" + "lua", + { + "name": "vcpkg-cmake", + "host": true + } ] } 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/luminoengine/fix-cmake-config.patch b/ports/luminoengine/fix-cmake-config.patch new file mode 100644 index 00000000000000..75568d3db058b4 --- /dev/null +++ b/ports/luminoengine/fix-cmake-config.patch @@ -0,0 +1,15 @@ +diff --git a/cmake/LuminoConfig.cmake.in b/cmake/LuminoConfig.cmake.in +index 283ad47..aa9bfd8 100644 +--- a/cmake/LuminoConfig.cmake.in ++++ b/cmake/LuminoConfig.cmake.in +@@ -13,5 +13,9 @@ include("${CMAKE_CURRENT_LIST_DIR}/LuminoTargets.cmake") + # Combination target + #------------------------------------------------------------------------------- + add_library(lumino::Lumino INTERFACE IMPORTED) +-target_link_libraries(lumino::Lumino INTERFACE lumino::LuminoEngine lumino::LuminoCore) ++if(LUMINO_BUILD_ENGINE) ++ target_link_libraries(lumino::Lumino INTERFACE lumino::LuminoEngine lumino::LuminoCore) ++else() ++ target_link_libraries(lumino::Lumino INTERFACE lumino::LuminoCore) ++endif() + diff --git a/ports/luminoengine/portfile.cmake b/ports/luminoengine/portfile.cmake new file mode 100644 index 00000000000000..d39e46aca14fdc --- /dev/null +++ b/ports/luminoengine/portfile.cmake @@ -0,0 +1,33 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO LuminoEngine/Lumino + REF "v${VERSION}" + SHA512 f43e48b36a48b5fcce4767de087f9953c905ac0af5522042a93c39ec75e4c9489b8910bc5b2f6fd129ce197309377a14b6eb9177a6ea9db4f5c2e7d1b13a137d + HEAD_REF main + PATCHES + fix-cmake-config.patch +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + engine LUMINO_BUILD_ENGINE +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} + -DLUMINO_BUILD_EXAMPLES=OFF + -DLN_BUILD_TESTS=OFF +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/lumino) + +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_copy_pdbs() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") + diff --git a/ports/luminoengine/usage b/ports/luminoengine/usage new file mode 100644 index 00000000000000..9f6e61fe552a0d --- /dev/null +++ b/ports/luminoengine/usage @@ -0,0 +1,4 @@ +luminoengine provides CMake targets: + + find_package(Lumino CONFIG REQUIRED) + target_link_libraries(main PRIVATE lumino::Lumino) diff --git a/ports/luminoengine/vcpkg.json b/ports/luminoengine/vcpkg.json new file mode 100644 index 00000000000000..dc7efce45cbfaa --- /dev/null +++ b/ports/luminoengine/vcpkg.json @@ -0,0 +1,59 @@ +{ + "name": "luminoengine", + "version": "0.10.1", + "port-version": 1, + "description": "C++17 games and visualization toolkit.", + "homepage": "https://github.com/LuminoEngine/Lumino", + "license": "MIT", + "supports": "x64 & windows & !uwp", + "dependencies": [ + "gtest", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "engine": { + "description": "Make engine module.", + "dependencies": [ + "box2d", + "bullet3", + { + "name": "freetype", + "features": [ + "png", + "zlib" + ] + }, + "glad", + "glfw3", + "glslang", + { + "name": "imgui", + "features": [ + "docking-experimental" + ] + }, + "libogg", + "libpng", + "libvorbis", + "nanovg", + "openal-soft", + "pcre2", + "spirv-cross", + "stb", + "tinygltf", + "tinyobjloader", + "toml11", + "vulkan-headers", + "yaml-cpp", + "zlib" + ] + } + } +} 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 new file mode 100644 index 00000000000000..9e60400d1b1d47 --- /dev/null +++ b/ports/lunasvg/fix-cmake.patch @@ -0,0 +1,28 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ea4b2d2..f622d45 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -32,7 +32,11 @@ install(FILES + ) + + install(TARGETS lunasvg ++ EXPORT unofficial-lunasvg-config ++ 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 +index de58954..74149dc 100644 +--- a/include/CMakeLists.txt ++++ b/include/CMakeLists.txt +@@ -1,4 +1,5 @@ + target_include_directories(lunasvg + PUBLIC +- "${CMAKE_CURRENT_LIST_DIR}" ++ $ ++ $ + ) diff --git a/ports/lunasvg/portfile.cmake b/ports/lunasvg/portfile.cmake new file mode 100644 index 00000000000000..bfddc37e421a07 --- /dev/null +++ b/ports/lunasvg/portfile.cmake @@ -0,0 +1,29 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO sammycage/lunasvg + REF "v${VERSION}" + SHA512 4c771c292d73d4a1c1498011fe8969b9f04a58853d2977c3ce4895d5ad6c1a282c8bfba5e4f1d045e56e0820e57a3a21d3cc0d178efe6ad73c82121aa75b1cdf + HEAD_REF master + PATCHES + fix-cmake.patch +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DLUNASVG_BUILD_EXAMPLES=OFF + -DBUILD_SHARED_LIBS=OFF +) + +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") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/lunasvg/vcpkg.json b/ports/lunasvg/vcpkg.json new file mode 100644 index 00000000000000..ab5d407ed61d0b --- /dev/null +++ b/ports/lunasvg/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "lunasvg", + "version": "2.4.1", + "description": "lunasvg is a standalone SVG rendering library in C++", + "homepage": "https://github.com/sammycage/lunasvg", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/luv/fix-find-libuv.patch b/ports/luv/fix-find-libuv.patch new file mode 100644 index 00000000000000..1a94fc4445606f --- /dev/null +++ b/ports/luv/fix-find-libuv.patch @@ -0,0 +1,15 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e63a431..163bada 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -65,8 +65,8 @@ endif () + set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/") + + if (WITH_SHARED_LIBUV) +- find_package(Libuv REQUIRED) +- include_directories(${LIBUV_INCLUDE_DIR}) ++ find_package(libuv CONFIG REQUIRED) ++ set(LIBUV_LIBRARIES $,libuv::uv_a,libuv::uv>) + else (WITH_SHARED_LIBUV) + include_directories(deps/libuv/include) + add_subdirectory(deps/libuv EXCLUDE_FROM_ALL) diff --git a/ports/luv/fix-find-lua-compat53.patch b/ports/luv/fix-find-lua-compat53.patch new file mode 100644 index 00000000000000..c5c4d6061be6df --- /dev/null +++ b/ports/luv/fix-find-lua-compat53.patch @@ -0,0 +1,28 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e63a431..1f144c8 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -231,13 +231,7 @@ if(APPLE) + # ) + endif() + +-if(NOT LUA_COMPAT53_DIR) +- set(LUA_COMPAT53_DIR deps/lua-compat-5.3) +-endif() +-if(DEFINED ENV{LUA_COMPAT53_DIR}) +- set(LUA_COMPAT53_DIR $ENV{LUA_COMPAT53_DIR}) +-endif() +-include_directories(${LUA_COMPAT53_DIR}/c-api) ++find_path(LUA_COMPAT53_INCLUDE_DIRS "compat-5.3.h") + + if(WIN32) + add_definitions(-DLUA_BUILD_AS_DLL -DLUA_LIB) +@@ -263,6 +257,7 @@ foreach(TARGET_NAME ${ACTIVE_TARGETS}) + else() + target_link_libraries(${TARGET_NAME} ${LIBUV_LIBRARIES}) + endif() ++ target_include_directories(${TARGET_NAME} PRIVATE ${LUA_COMPAT53_INCLUDE_DIRS}) + endforeach() + + if (NOT LUA) + diff --git a/ports/luv/fix-find-luajit.patch b/ports/luv/fix-find-luajit.patch new file mode 100644 index 00000000000000..32eb75f04d3e91 --- /dev/null +++ b/ports/luv/fix-find-luajit.patch @@ -0,0 +1,33 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e63a431..841db78 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -125,7 +125,7 @@ else (LUA) + # We only link the libs on Windows, so find_package fully succeeding + # is only required on Windows + if (WIN32 OR CYGWIN) +- find_package(LuaJIT REQUIRED) ++ find_package(LUAJIT REQUIRED) + link_directories(${LUAJIT_LIBRARIES}) + else() + find_package(LuaJIT) +diff --git a/cmake/Modules/FindLuaJIT.cmake b/cmake/Modules/FindLuaJIT.cmake +index 0d0786e..7121e06 100644 +--- a/cmake/Modules/FindLuaJIT.cmake ++++ b/cmake/Modules/FindLuaJIT.cmake +@@ -23,8 +23,12 @@ + # LUA_VERSION_MINOR - the minor version of Lua + # LUA_VERSION_PATCH - the patch version of Lua + +-FIND_PATH(LUAJIT_INCLUDE_DIR NAMES lua.h PATH_SUFFIXES luajit-2.0 luajit-2.1) +-FIND_LIBRARY(LUAJIT_LIBRARIES NAMES luajit-5.1 luajit) ++FIND_PATH(LUAJIT_INCLUDE_DIR NAMES luajit.h PATH_SUFFIXES luajit-2.0 luajit-2.1 luajit) ++set(LUAJIT_LIB_NAMES luajit-5.1 luajit) ++if(MSVC) ++ list(APPEND LUAJIT_LIB_NAMES lua51) ++endif() ++FIND_LIBRARY(LUAJIT_LIBRARIES NAMES ${LUAJIT_LIB_NAMES}) + + if (LUAJIT_INCLUDE_DIR AND EXISTS "${LUAJIT_INCLUDE_DIR}/lua.h") + # At least 5.[012] have different ways to express the version + diff --git a/ports/luv/fix-msvc-build.patch b/ports/luv/fix-msvc-build.patch new file mode 100644 index 00000000000000..cdf37b44e21812 --- /dev/null +++ b/ports/luv/fix-msvc-build.patch @@ -0,0 +1,26 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e63a431..aa46c07 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -25,20 +25,6 @@ if (MINGW) + add_definitions(-D_WIN32_WINNT=0x0600) + endif (MINGW) + +-if (WIN32) +- # replace /MD to /MT to avoid link msvcr*.dll +- # this needs to be before add_subdirectory calls so that they inherit the modified flags +- set(CompilerFlags +- CMAKE_C_FLAGS +- CMAKE_C_FLAGS_DEBUG +- CMAKE_C_FLAGS_MINSIZEREL +- CMAKE_C_FLAGS_RELWITHDEBINFO +- CMAKE_C_FLAGS_RELEASE) +- foreach(CompilerFlag ${CompilerFlags}) +- string(REPLACE "/MD" "/MT" ${CompilerFlag} "${${CompilerFlag}}") +- endforeach() +-endif () +- + if (NOT WITH_LUA_ENGINE) + set(WITH_LUA_ENGINE "LuaJIT" + CACHE STRING "Link to LuaJIT or PUC Lua" FORCE) + diff --git a/ports/luv/portfile.cmake b/ports/luv/portfile.cmake new file mode 100644 index 00000000000000..10870e55dcbee5 --- /dev/null +++ b/ports/luv/portfile.cmake @@ -0,0 +1,35 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO luvit/luv + REF 1f255a7d87cef4a7eb10bd13bbd1e213980e8da2 #v1.44.2 + SHA512 e9ee9ee6ca8f810c375f3310a119b518da8d15f6e3093aaa6069217f4e3d29a45426cc5e2233b6a8d90876867d9097c938a5b961fb6e46479c62145297f5bb82 + HEAD_REF master + PATCHES fix-find-libuv.patch + fix-find-luajit.patch + fix-find-lua-compat53.patch + fix-msvc-build.patch +) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC_LIBS) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED_LIBS) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DWITH_SHARED_LIBUV=ON + -DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} + -DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS} + -DLUA_BUILD_TYPE=System + -DWITH_LUA_ENGINE=LuaJIT + -DUSE_LUAJIT=ON + -DBUILD_MODULE=OFF +) + +vcpkg_cmake_install() +vcpkg_copy_pdbs() + +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) diff --git a/ports/luv/vcpkg.json b/ports/luv/vcpkg.json new file mode 100644 index 00000000000000..69fc5a01ab82dc --- /dev/null +++ b/ports/luv/vcpkg.json @@ -0,0 +1,25 @@ +{ + "name": "luv", + "version-semver": "1.44.2", + "port-version": 1, + "description": "Bare libuv bindings for lua", + "homepage": "https://github.com/luvit/luv", + "license": "Apache-2.0", + "supports": "!uwp", + "dependencies": [ + { + "name": "libuv", + "version>=": "1.44.2" + }, + "lua-compat53", + "luajit", + { + "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 142a229006f7c2..00000000000000 --- a/ports/lz4/CMakeLists.txt +++ /dev/null @@ -1,57 +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) - -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) -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 80bcecc38bfa3c..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.3 - SHA512 c246b0bda881ee9399fa1be490fa39f43b291bb1d9db72dba8a85db1a50aad416a97e9b300eee3d2a4203c2bd88bda2762e81bc229c3aa409ad217eb306a454c + 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 5167b44adedbab..29acb79d850202 100644 --- a/ports/lz4/vcpkg.json +++ b/ports/lz4/vcpkg.json @@ -1,9 +1,9 @@ { "name": "lz4", - "version": "1.9.3", - "port-version": 3, + "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", "dependencies": [ { "name": "vcpkg-cmake", @@ -13,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/lzfse/portfile.cmake b/ports/lzfse/portfile.cmake index 9ce60eeeb9ba5a..052008a688e30e 100644 --- a/ports/lzfse/portfile.cmake +++ b/ports/lzfse/portfile.cmake @@ -12,25 +12,23 @@ vcpkg_from_github( disable-cli-option.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DLZFSE_DISABLE_TESTS=ON -DLZFSE_DISABLE_CLI=ON) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(READ ${CURRENT_PACKAGES_DIR}/include/lzfse.h LZFSE_H) +file(READ "${CURRENT_PACKAGES_DIR}/include/lzfse.h" LZFSE_H) if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") string(REPLACE "defined(LZFSE_DLL)" "1" LZFSE_H "${LZFSE_H}") else() string(REPLACE "defined(LZFSE_DLL)" "0" LZFSE_H "${LZFSE_H}") endif() -file(WRITE ${CURRENT_PACKAGES_DIR}/include/lzfse.h "${LZFSE_H}") +file(WRITE "${CURRENT_PACKAGES_DIR}/include/lzfse.h" "${LZFSE_H}") -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/lzfse) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/lzfse/LICENSE ${CURRENT_PACKAGES_DIR}/share/lzfse/copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/lzfse/vcpkg.json b/ports/lzfse/vcpkg.json index 774da1302a817d..c156f05043dbd5 100644 --- a/ports/lzfse/vcpkg.json +++ b/ports/lzfse/vcpkg.json @@ -1,8 +1,14 @@ { "name": "lzfse", - "version-string": "1.0", - "port-version": 3, + "version": "1.0", + "port-version": 5, "description": "Lempel-Ziv style data compressor using Finite State Entropy coding.", "homepage": "https://github.com/lzfse/lzfse", - "supports": "!arm" + "supports": "!arm", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/lzo/portfile.cmake b/ports/lzo/portfile.cmake index 514c8555a490fa..1ab2376a41d528 100644 --- a/ports/lzo/portfile.cmake +++ b/ports/lzo/portfile.cmake @@ -4,9 +4,9 @@ vcpkg_download_distfile(ARCHIVE SHA512 a3dae5e4a6b93b1f5bf7435e8ab114a9be57252e9efc5dd444947d7a2d031b0819f34bcaeb35f60b5629a01b1238d738735a64db8f672be9690d3c80094511a4 ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" PATCHES always_install_pc.patch ) @@ -18,29 +18,28 @@ else() set(LZO_SHARED ON) endif() -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DENABLE_STATIC=${LZO_STATIC} -DENABLE_SHARED=${LZO_SHARED} ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_fixup_pkgconfig() vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share/doc) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/libexec) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/libexec) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/doc") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/libexec") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/libexec") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - file(READ ${CURRENT_PACKAGES_DIR}/include/lzo/lzoconf.h LZO_CONFIG) + file(READ "${CURRENT_PACKAGES_DIR}/include/lzo/lzoconf.h" LZO_CONFIG) string(REPLACE "# define __LZO_EXPORT1 /*empty*/" "# define __LZO_EXPORT1 __declspec(dllimport)" LZO_CONFIG "${LZO_CONFIG}") - file(WRITE ${CURRENT_PACKAGES_DIR}/include/lzo/lzoconf.h "${LZO_CONFIG}") + file(WRITE "${CURRENT_PACKAGES_DIR}/include/lzo/lzoconf.h" "${LZO_CONFIG}") endif() -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/lzo/vcpkg.json b/ports/lzo/vcpkg.json index 0e238c8253b037..adcf8037902a03 100644 --- a/ports/lzo/vcpkg.json +++ b/ports/lzo/vcpkg.json @@ -1,7 +1,13 @@ { "name": "lzo", - "version-string": "2.10", - "port-version": 7, + "version": "2.10", + "port-version": 9, "description": "Lossless data compression library", - "homepage": "https://www.oberhumer.com/opensource/lzo/" + "homepage": "https://www.oberhumer.com/opensource/lzo/", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/lzokay/portfile.cmake b/ports/lzokay/portfile.cmake index 719c63d979da4c..496e115d10ad9d 100644 --- a/ports/lzokay/portfile.cmake +++ b/ports/lzokay/portfile.cmake @@ -8,16 +8,15 @@ vcpkg_from_github( HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) +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) \ No newline at end of file +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) \ No newline at end of file diff --git a/ports/lzokay/vcpkg.json b/ports/lzokay/vcpkg.json index fb2b0787a587db..e50fda6a0ab4d6 100644 --- a/ports/lzokay/vcpkg.json +++ b/ports/lzokay/vcpkg.json @@ -1,6 +1,17 @@ { "name": "lzokay", - "version-string": "2020-07-30", + "version-date": "2020-07-30", + "port-version": 2, "description": "lzokay – MIT licensed C++ implementation of LZO compression/decompression algorithm", - "homepage": "https://github.com/jackoalan/lzokay" + "homepage": "https://github.com/jackoalan/lzokay", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/maddy/CMakeLists.txt b/ports/maddy/CMakeLists.txt new file mode 100644 index 00000000000000..0d1297e8b32a43 --- /dev/null +++ b/ports/maddy/CMakeLists.txt @@ -0,0 +1,22 @@ +cmake_minimum_required(VERSION 3.12 FATAL_ERROR) + +project(maddy LANGUAGES CXX) + +include(GNUInstallDirs) + +add_library(maddy INTERFACE) +target_include_directories(maddy INTERFACE $) + +install(TARGETS maddy EXPORT unofficial-maddy) + +install( + EXPORT unofficial-maddy + FILE unofficial-maddy-config.cmake + DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/unofficial-maddy" + NAMESPACE unofficial::maddy:: +) + +install( + DIRECTORY "${CMAKE_SOURCE_DIR}/include/maddy" + DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" +) diff --git a/ports/maddy/portfile.cmake b/ports/maddy/portfile.cmake new file mode 100644 index 00000000000000..ea622127c8c93f --- /dev/null +++ b/ports/maddy/portfile.cmake @@ -0,0 +1,22 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO progsource/maddy + REF "${VERSION}" + SHA512 7c8b7570fcb73901f605f1c33bd3459ab1775e375a013cf1d92c8e8381880bfaeb895c7eac244429f67953cc039999d07c4c0fb6c3a5edfe8af32ef0d89ed294 + HEAD_REF master +) + +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}" +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") +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/maddy/usage b/ports/maddy/usage new file mode 100644 index 00000000000000..7c9c09c43a33af --- /dev/null +++ b/ports/maddy/usage @@ -0,0 +1,4 @@ +maddy provides CMake targets: + + find_package(unofficial-maddy CONFIG REQUIRED) + target_link_libraries(main PRIVATE unofficial::maddy::maddy) diff --git a/ports/maddy/vcpkg.json b/ports/maddy/vcpkg.json new file mode 100644 index 00000000000000..244caf04975390 --- /dev/null +++ b/ports/maddy/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "maddy", + "version": "1.3.0", + "description": "C++ Markdown to HTML header-only parser library", + "homepage": "https://github.com/progsource/maddy", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/magic-enum/portfile.cmake b/ports/magic-enum/portfile.cmake index b612ccabe84e4d..15c3bf442a412d 100644 --- a/ports/magic-enum/portfile.cmake +++ b/ports/magic-enum/portfile.cmake @@ -1,27 +1,27 @@ -# header-only library - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO Neargye/magic_enum - REF v0.7.3 - SHA512 7645ef56bbe262ba801c6f5ffb7baf997869de6422a239ef2000d7ff6f4f6d00c34360543c60aa91a02433311b4b996bba410e4f04f96f185a6276ad9e6bb0a8 - HEAD_REF master -) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - -DMAGIC_ENUM_OPT_BUILD_EXAMPLES=OFF - -DMAGIC_ENUM_OPT_BUILD_TESTS=OFF - -DMAGIC_ENUM_OPT_INSTALL=ON -) - -vcpkg_install_cmake() - -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/magic_enum TARGET_PATH share/magic_enum) - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib) - -# Handle copyright -configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Neargye/magic_enum + REF "v${VERSION}" + SHA512 fa3792e9c69c57e437d6325b7659cf25e6cbdda3326ffeaf0411d9838822095b15306f322ad2ebd5ec68b905ef2aed08880d2507e7d8a8559ab3c5be6c8ce99c + HEAD_REF master +) + +set(VCPKG_BUILD_TYPE release) # header-only port + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DMAGIC_ENUM_OPT_BUILD_EXAMPLES=OFF + -DMAGIC_ENUM_OPT_BUILD_TESTS=OFF + -DMAGIC_ENUM_OPT_INSTALL=ON +) + +vcpkg_cmake_install() + +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) +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/magic-enum/usage b/ports/magic-enum/usage new file mode 100644 index 00000000000000..3d3a94b5352c4a --- /dev/null +++ b/ports/magic-enum/usage @@ -0,0 +1,4 @@ +magic-enum provides CMake targets: + + find_package(magic_enum CONFIG REQUIRED) + target_link_libraries(main PRIVATE magic_enum::magic_enum) diff --git a/ports/magic-enum/vcpkg.json b/ports/magic-enum/vcpkg.json index 44979659563122..4fbd4dba51ea21 100644 --- a/ports/magic-enum/vcpkg.json +++ b/ports/magic-enum/vcpkg.json @@ -1,7 +1,18 @@ { "name": "magic-enum", - "version-string": "0.7.3", + "version": "0.9.6", "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" + "homepage": "https://github.com/Neargye/magic_enum", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/magic-get/vcpkg.json b/ports/magic-get/vcpkg.json index bb803ad76345cb..3e51827069ac02 100644 --- a/ports/magic-get/vcpkg.json +++ b/ports/magic-get/vcpkg.json @@ -1,7 +1,7 @@ { "name": "magic-get", - "version-string": "2019-09-02", - "port-version": 2, + "version-date": "2019-09-02", + "port-version": 3, "description": "Deprecated boost-pfr port.", "homepage": "https://github.com/apolukhin/magic_get", "dependencies": [ 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-extras/portfile.cmake b/ports/magnum-extras/portfile.cmake index eda78782e98c66..6515e39459120f 100644 --- a/ports/magnum-extras/portfile.cmake +++ b/ports/magnum-extras/portfile.cmake @@ -8,66 +8,54 @@ vcpkg_from_github( string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC) -# Handle features -set(_COMPONENT_FLAGS "") -foreach(_feature IN LISTS ALL_FEATURES) - # Uppercase the feature name and replace "-" with "_" - string(TOUPPER "${_feature}" _FEATURE) - string(REPLACE "-" "_" _FEATURE "${_FEATURE}") - - # Turn "-DWITH_*=" ON or OFF depending on whether the feature - # is in the list. - if(_feature IN_LIST FEATURES) - list(APPEND _COMPONENT_FLAGS "-DWITH_${_FEATURE}=ON") - else() - list(APPEND _COMPONENT_FLAGS "-DWITH_${_FEATURE}=OFF") - endif() -endforeach() +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + ui WITH_UI +) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA # Disable this option if project cannot be built with Ninja +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS - ${_COMPONENT_FLAGS} + ${FEATURE_OPTIONS} -DBUILD_STATIC=${BUILD_STATIC} -DMAGNUM_PLUGINS_DEBUG_DIR=${CURRENT_INSTALLED_DIR}/debug/bin/magnum-d -DMAGNUM_PLUGINS_RELEASE_DIR=${CURRENT_INSTALLED_DIR}/bin/magnum ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/MagnumExtras TARGET_PATH share/magnumextras) +vcpkg_cmake_config_fixup(PACKAGE_NAME MagnumExtras CONFIG_PATH share/cmake/MagnumExtras) # Messages to the user -if("ui" IN_LIST FEATURES) +if(WITH_UI) message(WARNING "It is recommended to install one of magnum-plugins[freetypefont,harfbuzzfont,stbtruetypefont] to have the UI library working out of the box") endif() # Debug includes and share are the same as release file(REMOVE_RECURSE - ${CURRENT_PACKAGES_DIR}/debug/include - ${CURRENT_PACKAGES_DIR}/debug/share + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" ) # Clean up empty directories if("${FEATURES}" STREQUAL "core") file(REMOVE_RECURSE - ${CURRENT_PACKAGES_DIR}/bin - ${CURRENT_PACKAGES_DIR}/lib - ${CURRENT_PACKAGES_DIR}/debug + "${CURRENT_PACKAGES_DIR}/bin" + "${CURRENT_PACKAGES_DIR}/lib" + "${CURRENT_PACKAGES_DIR}/debug" ) set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) endif() if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin") endif() # Handle copyright -file(INSTALL ${SOURCE_PATH}/COPYING - DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} +file(INSTALL "${SOURCE_PATH}/COPYING" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) - vcpkg_copy_pdbs() diff --git a/ports/magnum-extras/vcpkg.json b/ports/magnum-extras/vcpkg.json index 8ed9aa296c8e2d..dd693856a62d17 100644 --- a/ports/magnum-extras/vcpkg.json +++ b/ports/magnum-extras/vcpkg.json @@ -1,13 +1,22 @@ { "name": "magnum-extras", "version-string": "2020.06", - "port-version": 1, + "port-version": 2, "description": "Extras for magnum, C++11/C++14 graphics middleware for games and data visualization", "homepage": "https://magnum.graphics/", + "license": null, "dependencies": [ { "name": "magnum", "default-features": false + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true } ], "features": { diff --git a/ports/magnum-integration/portfile.cmake b/ports/magnum-integration/portfile.cmake index 66295137f39902..a16467e96cca40 100644 --- a/ports/magnum-integration/portfile.cmake +++ b/ports/magnum-integration/portfile.cmake @@ -8,58 +8,58 @@ vcpkg_from_github( string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC) -# Handle features -set(_COMPONENT_FLAGS "") -foreach(_feature IN LISTS ALL_FEATURES) - # Uppercase the feature name and replace "-" with "_" - string(TOUPPER "${_feature}" _FEATURE) - string(REPLACE "-" "_" _FEATURE "${_FEATURE}") - - # Turn "-DWITH_*=" ON or OFF depending on whether the feature - # is in the list. - if(_feature IN_LIST FEATURES) - list(APPEND _COMPONENT_FLAGS "-DWITH_${_FEATURE}=ON") - else() - list(APPEND _COMPONENT_FLAGS "-DWITH_${_FEATURE}=OFF") - endif() -endforeach() +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + bullet WITH_BULLET + eigen WITH_EIGEN + glm WITH_GLM + imgui WITH_IMGUI +) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA # Disable this option if project cannot be built with Ninja +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS - ${_COMPONENT_FLAGS} + ${FEATURE_OPTIONS} -DBUILD_STATIC=${BUILD_STATIC} -DMAGNUM_PLUGINS_DEBUG_DIR=${CURRENT_INSTALLED_DIR}/debug/bin/magnum-d -DMAGNUM_PLUGINS_RELEASE_DIR=${CURRENT_INSTALLED_DIR}/bin/magnum ) -vcpkg_install_cmake() +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(PACKAGE_NAME MagnumIntegration CONFIG_PATH share/cmake/MagnumIntegration) # Debug includes and share are the same as release file(REMOVE_RECURSE - ${CURRENT_PACKAGES_DIR}/debug/include - ${CURRENT_PACKAGES_DIR}/debug/share + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" ) # Clean up empty directories if("${FEATURES}" STREQUAL "core") file(REMOVE_RECURSE - ${CURRENT_PACKAGES_DIR}/bin - ${CURRENT_PACKAGES_DIR}/lib - ${CURRENT_PACKAGES_DIR}/debug + "${CURRENT_PACKAGES_DIR}/bin" + "${CURRENT_PACKAGES_DIR}/lib" + "${CURRENT_PACKAGES_DIR}/debug" ) set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) +else() + file(GLOB FILES "${CURRENT_PACKAGES_DIR}/debug/*") + list(LENGTH FILES COUNT) + if(COUNT EQUAL 0) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") + endif() endif() if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin") endif() # Handle copyright -file(INSTALL ${SOURCE_PATH}/COPYING - DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} +file(INSTALL "${SOURCE_PATH}/COPYING" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) vcpkg_copy_pdbs() diff --git a/ports/magnum-integration/vcpkg.json b/ports/magnum-integration/vcpkg.json index 9d50cd69dd99fe..f54866e439d853 100644 --- a/ports/magnum-integration/vcpkg.json +++ b/ports/magnum-integration/vcpkg.json @@ -1,13 +1,22 @@ { "name": "magnum-integration", "version-string": "2020.06", - "port-version": 1, + "port-version": 3, "description": "Integrations for magnum, C++11/C++14 graphics middleware for games and data visualization", "homepage": "https://magnum.graphics/", + "license": null, "dependencies": [ { "name": "magnum", "default-features": false + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true } ], "features": { diff --git a/ports/magnum-plugins/portfile.cmake b/ports/magnum-plugins/portfile.cmake index b3ed961df89687..03659c2557b6bb 100644 --- a/ports/magnum-plugins/portfile.cmake +++ b/ports/magnum-plugins/portfile.cmake @@ -9,24 +9,31 @@ vcpkg_from_github( ) if("basisimporter" IN_LIST FEATURES OR "basisimageconverter" IN_LIST FEATURES) - # Bundle Basis Universal, a commit that's before the UASTC support (which - # is not implemented yet). The repo has big unrequired files in its + # Bundle Basis Universal. The repo has big unrequired files in its # history, so we're downloading just a snapshot instead of a git clone. - vcpkg_download_distfile( - _BASIS_UNIVERSAL_PATCHES - URLS "https://github.com/BinomialLLC/basis_universal/commit/e9c55faac7745ebf38d08cd3b4f71aaf542f8191.diff" - FILENAME "e9c55faac7745ebf38d08cd3b4f71aaf542f8191.patch" - SHA512 e5dda11de2ba8cfd39728e69c74a7656bb522e509786fe5673c94b26be9bd4bee897510096479ee6323f5276d34cba1c44c60804a515c0b35ff7b6ac9d625b88 - ) - set(_BASIS_VERSION "8565af680d1bd2ad56ab227ca7d96c56dfbe93ed") + if(VCPKG_USE_HEAD_VERSION) + # v1_15_update2 + set(_BASIS_VERSION "v1_15_update2") + set(_BASIS_SHA512 "a898a057b57ac64f6c0bf5fce0b599e23421ccdd015ea7bb668bce8b9292ef55b098f3d05854a2fb5363959932b75cd0a842664ae7d4f71f3537dc11301c1b32") + else() + # A commit that's before the UASTC support (which is not implemented yet) + vcpkg_download_distfile( + _BASIS_UNIVERSAL_PATCHES + URLS "https://github.com/BinomialLLC/basis_universal/commit/e9c55faac7745ebf38d08cd3b4f71aaf542f8191.diff?full_index=1" + FILENAME "e9c55faac7745ebf38d08cd3b4f71aaf542f8191.patch" + SHA512 1121d5fa6cce617cfc393b48ac13f21e7f977522746702b3968f5fc86c58de6a3b91e4371692e8566747a975cb46de5421ab1cf635d3904fd74c07bbdfcaa78e + ) + set(_BASIS_VERSION "8565af680d1bd2ad56ab227ca7d96c56dfbe93ed") + set(_BASIS_SHA512 "65062ab3ba675c46760f56475a7528189ed4097fb9bab8316e25d9e23ffec2a9560eb9a6897468baf2a6ab2bd698b5907283e96deaeaef178085a47f9d371bb2") + endif() vcpkg_download_distfile( _BASIS_UNIVERSAL_ARCHIVE URLS "https://github.com/BinomialLLC/basis_universal/archive/${_BASIS_VERSION}.tar.gz" FILENAME "basis-universal-${_BASIS_VERSION}.tar.gz" - SHA512 65062ab3ba675c46760f56475a7528189ed4097fb9bab8316e25d9e23ffec2a9560eb9a6897468baf2a6ab2bd698b5907283e96deaeaef178085a47f9d371bb2 + SHA512 ${_BASIS_SHA512} ) - vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH _BASIS_UNIVERSAL_SOURCE + vcpkg_extract_source_archive( + _BASIS_UNIVERSAL_SOURCE ARCHIVE ${_BASIS_UNIVERSAL_ARCHIVE} WORKING_DIRECTORY "${SOURCE_PATH}/src/external" PATCHES @@ -46,8 +53,14 @@ endif() # Head only features set(ALL_SUPPORTED_FEATURES ${ALL_FEATURES}) if(NOT VCPKG_USE_HEAD_VERSION) - list(REMOVE_ITEM ALL_SUPPORTED_FEATURES glslangshaderconverter spirvtoolsshaderconverter) - message(WARNING "Features glslangshaderconverter and spirvtoolsshaderconverter are not avaliable 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 "") @@ -65,44 +78,50 @@ endforeach() vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES ${_COMPONENTS}) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA # Disable this option if project cannot be built with Ninja +if(VCPKG_CROSSCOMPILING) + set(CORRADE_RC_EXECUTABLE "-DCORRADE_RC_EXECUTABLE=${CURRENT_HOST_INSTALLED_DIR}/tools/corrade/corrade-rc${VCPKG_HOST_EXECUTABLE_SUFFIX}") +endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${FEATURE_OPTIONS} + ${CORRADE_RC_EXECUTABLE} -DBUILD_STATIC=${BUILD_PLUGINS_STATIC} -DBUILD_PLUGINS_STATIC=${BUILD_PLUGINS_STATIC} -DMAGNUM_PLUGINS_DEBUG_DIR=${CURRENT_INSTALLED_DIR}/debug/bin/magnum-d -DMAGNUM_PLUGINS_RELEASE_DIR=${CURRENT_INSTALLED_DIR}/bin/magnum ) -vcpkg_install_cmake() +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(PACKAGE_NAME MagnumPlugins CONFIG_PATH share/cmake/MagnumPlugins) # Debug includes and share are the same as release file(REMOVE_RECURSE - ${CURRENT_PACKAGES_DIR}/debug/include - ${CURRENT_PACKAGES_DIR}/debug/share) + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share") # Clean up empty directories, if not building anything. # FEATURES may only contain "core", but that does not build anything. if(NOT FEATURES OR FEATURES STREQUAL "core") file(REMOVE_RECURSE - ${CURRENT_PACKAGES_DIR}/bin - ${CURRENT_PACKAGES_DIR}/lib - ${CURRENT_PACKAGES_DIR}/debug) + "${CURRENT_PACKAGES_DIR}/bin" + "${CURRENT_PACKAGES_DIR}/lib" + "${CURRENT_PACKAGES_DIR}/debug") set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) endif() if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin") # move plugin libs to conventional place - file(GLOB_RECURSE LIB_TO_MOVE ${CURRENT_PACKAGES_DIR}/lib/magnum/*) - file(COPY ${LIB_TO_MOVE} DESTINATION ${CURRENT_PACKAGES_DIR}/lib) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/magnum) - file(GLOB_RECURSE LIB_TO_MOVE_DBG ${CURRENT_PACKAGES_DIR}/debug/lib/magnum/*) - file(COPY ${LIB_TO_MOVE_DBG} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/magnum) + file(GLOB_RECURSE LIB_TO_MOVE "${CURRENT_PACKAGES_DIR}/lib/magnum/*") + file(COPY ${LIB_TO_MOVE} DESTINATION "${CURRENT_PACKAGES_DIR}/lib") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/magnum") + file(GLOB_RECURSE LIB_TO_MOVE_DBG "${CURRENT_PACKAGES_DIR}/debug/lib/magnum/*") + file(COPY ${LIB_TO_MOVE_DBG} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/magnum") else() set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) # On windows, plugins are "Modules" that cannot be linked as shared @@ -112,15 +131,19 @@ else() # # We delete the import libraries here to avoid the auto-magic linking # for plugins which are loaded at runtime. - if(WIN32) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/magnum) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/magnum-d) + 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() # Handle copyright -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/magnum-plugins/vcpkg.json b/ports/magnum-plugins/vcpkg.json index d4280e76b889a8..6fe7ded5225d9d 100644 --- a/ports/magnum-plugins/vcpkg.json +++ b/ports/magnum-plugins/vcpkg.json @@ -1,13 +1,22 @@ { "name": "magnum-plugins", "version-string": "2020.06", - "port-version": 7, + "port-version": 13, "description": "Plugins for magnum, C++11/C++14 graphics middleware for games and data visualization", "homepage": "https://magnum.graphics/", + "license": null, "dependencies": [ { "name": "magnum", "default-features": false + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true } ], "default-features": [ @@ -51,12 +60,33 @@ "features": [ "trade" ] - } + }, + "zstd" ] }, "basisimporter": { "description": "BasisImporter plugin", "dependencies": [ + { + "name": "magnum", + "default-features": false, + "features": [ + "trade" + ] + }, + "zstd" + ] + }, + "cgltfimporter": { + "description": "CgltfImporter plugin", + "dependencies": [ + { + "name": "magnum", + "default-features": false, + "features": [ + "anyimageimporter" + ] + }, { "name": "magnum", "default-features": false, @@ -204,6 +234,30 @@ } ] }, + "ktximageconverter": { + "description": "KtxImageConverter plugin", + "dependencies": [ + { + "name": "magnum", + "default-features": false, + "features": [ + "trade" + ] + } + ] + }, + "ktximporter": { + "description": "KtxImporter plugin", + "dependencies": [ + { + "name": "magnum", + "default-features": false, + "features": [ + "trade" + ] + } + ] + }, "meshoptimizersceneconverter": { "description": "MeshOptimizerSceneConverter plugin", "dependencies": [ @@ -232,6 +286,32 @@ "openddl": { "description": "OpenDdl library" }, + "openexrimageconverter": { + "description": "OpenExrImageConverter plugin", + "dependencies": [ + { + "name": "magnum", + "default-features": false, + "features": [ + "trade" + ] + }, + "openexr" + ] + }, + "openexrimporter": { + "description": "OpenExrImporter plugin", + "dependencies": [ + { + "name": "magnum", + "default-features": false, + "features": [ + "trade" + ] + }, + "openexr" + ] + }, "opengeximporter": { "description": "OpenGexImporter plugin", "dependencies": [ @@ -321,6 +401,18 @@ } ] }, + "stbdxtimageconverter": { + "description": "StbDxtImageConverter plugin", + "dependencies": [ + { + "name": "magnum", + "default-features": false, + "features": [ + "trade" + ] + } + ] + }, "stbimageconverter": { "description": "StbImageConverter plugin", "dependencies": [ @@ -397,13 +489,6 @@ "features": [ "trade" ] - }, - { - "name": "magnum-plugins", - "default-features": false, - "features": [ - "stbimageimporter" - ] } ] } diff --git a/ports/magnum/003-fix-FindGLFW.patch b/ports/magnum/003-fix-FindGLFW.patch new file mode 100644 index 00000000000000..a6b9cdfb740e9f --- /dev/null +++ b/ports/magnum/003-fix-FindGLFW.patch @@ -0,0 +1,16 @@ +diff --git a/modules/FindMagnum.cmake b/modules/FindMagnum.cmake +index 8761448..17321af 100644 +--- a/modules/FindMagnum.cmake ++++ b/modules/FindMagnum.cmake +@@ -647,9 +647,9 @@ foreach(_component ${Magnum_FIND_COMPONENTS}) + + # GLFW application dependencies + elseif(_component STREQUAL GlfwApplication) +- find_package(GLFW) ++ find_package(glfw3 CONFIG REQUIRED) + set_property(TARGET Magnum::${_component} APPEND PROPERTY +- INTERFACE_LINK_LIBRARIES GLFW::GLFW) ++ INTERFACE_LINK_LIBRARIES glfw) + # Use the Foundation framework on Apple to query the DPI awareness + if(CORRADE_TARGET_APPLE) + find_library(_MAGNUM_APPLE_FOUNDATION_FRAMEWORK_LIBRARY Foundation) diff --git a/ports/magnum/004-fix-FindOpenAL.patch b/ports/magnum/004-fix-FindOpenAL.patch new file mode 100644 index 00000000000000..f108612f069f89 --- /dev/null +++ b/ports/magnum/004-fix-FindOpenAL.patch @@ -0,0 +1,25 @@ +diff --git a/src/MagnumPlugins/AnyAudioImporter/CMakeLists.txt b/src/MagnumPlugins/AnyAudioImporter/CMakeLists.txt +index 64371a4..375ca58 100644 +--- a/src/MagnumPlugins/AnyAudioImporter/CMakeLists.txt ++++ b/src/MagnumPlugins/AnyAudioImporter/CMakeLists.txt +@@ -24,6 +24,7 @@ + # + + find_package(Corrade REQUIRED PluginManager) ++find_package(OpenAL CONFIG REQUIRED) + + if(BUILD_PLUGINS_STATIC) + set(MAGNUM_ANYAUDIOIMPORTER_BUILD_STATIC 1) +diff --git a/src/MagnumPlugins/WavAudioImporter/CMakeLists.txt b/src/MagnumPlugins/WavAudioImporter/CMakeLists.txt +index f4172d4..bdfd9da 100644 +--- a/src/MagnumPlugins/WavAudioImporter/CMakeLists.txt ++++ b/src/MagnumPlugins/WavAudioImporter/CMakeLists.txt +@@ -24,6 +24,8 @@ + # + + find_package(Corrade REQUIRED PluginManager) ++include(CMakeFindDependencyMacro) ++find_dependency(OpenAL) + + if(BUILD_PLUGINS_STATIC) + set(MAGNUM_WAVAUDIOIMPORTER_BUILD_STATIC 1) diff --git a/ports/magnum/005-fix-find-sdl2.patch b/ports/magnum/005-fix-find-sdl2.patch new file mode 100755 index 00000000000000..83173b60f18578 --- /dev/null +++ b/ports/magnum/005-fix-find-sdl2.patch @@ -0,0 +1,13 @@ +diff --git a/src/Magnum/Platform/CMakeLists.txt b/src/Magnum/Platform/CMakeLists.txt +index f1b404f..19babf4 100644 +--- a/src/Magnum/Platform/CMakeLists.txt ++++ b/src/Magnum/Platform/CMakeLists.txt +@@ -292,7 +292,7 @@ endif() + + # SDL2 application + if(WITH_SDL2APPLICATION) +- find_package(SDL2) ++ find_package(SDL2 CONFIG REQUIRED) + if(NOT SDL2_FOUND) + message(FATAL_ERROR "SDL2 library, required by Sdl2Application, was not found. Set WITH_SDL2APPLICATION to OFF to skip building it.") + endif() 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 d060c4b9a7fb71..6a7079fb460310 100644 --- a/ports/magnum/portfile.cmake +++ b/ports/magnum/portfile.cmake @@ -6,53 +6,25 @@ vcpkg_from_github( HEAD_REF master PATCHES 002-sdl-includes.patch + 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 ) -if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - set(BUILD_STATIC 1) - set(BUILD_PLUGINS_STATIC 1) -else() - set(BUILD_STATIC 0) - set(BUILD_PLUGINS_STATIC 0) -endif() - -# 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 +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_PLUGINS_STATIC) 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 "") @@ -70,18 +42,22 @@ endforeach() vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES ${_COMPONENTS}) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA # Disable this option if project cannot be built with Ninja +if(VCPKG_CROSSCOMPILING) + set(CORRADE_RC_EXECUTABLE "-DCORRADE_RC_EXECUTABLE=${CURRENT_HOST_INSTALLED_DIR}/tools/corrade/corrade-rc${VCPKG_HOST_EXECUTABLE_SUFFIX}") +endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${FEATURE_OPTIONS} + ${CORRADE_RC_EXECUTABLE} -DBUILD_STATIC=${BUILD_STATIC} -DBUILD_PLUGINS_STATIC=${BUILD_PLUGINS_STATIC} -DMAGNUM_PLUGINS_DEBUG_DIR=${CURRENT_INSTALLED_DIR}/debug/bin/magnum-d -DMAGNUM_PLUGINS_RELEASE_DIR=${CURRENT_INSTALLED_DIR}/bin/magnum ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() @@ -95,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) @@ -109,38 +83,45 @@ if(_TOOL_EXEC_NAMES) vcpkg_copy_tools(TOOL_NAMES ${_TOOL_EXEC_NAMES} AUTO_CLEAN) 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") + +# Special handling for plugins. +# +# For static plugins, in order to make MSBuild auto-linking magic work, where +# the linker implicitly takes everything from the root lib/ folder, the +# static libraries have to be moved out of lib/magnum/blah/ directly to lib/. +# Possibly would be enough to do this just for Windows, doing it also on other +# platforms for consistency. +# +# For dynamic plugins, auto-linking is not desirable as those are meant to be +# loaded dynamically at runtime instead. In order to prevent that, on Windows +# the *.lib files corresponding to the plugin *.dlls are removed. However, we +# cannot remove the *.lib files entirely here, as plugins from magnum-plugins +# are linked to them on Windows (e.g. AssimpImporter depends on +# AnyImageImporter). Thus the Any* plugin lib files are kept, but also not +# moved to the root lib/ folder, to prevent autolinking. A consequence of the +# *.lib file removal is that downstream projects can't implement Magnum plugins +# that would depend on (and thus link to) these, but that's considered a very +# rare use case and so it's fine. +# +# See https://github.com/microsoft/vcpkg/pull/1235#issuecomment-308805989 for +# futher info. if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin") # move plugin libs to conventional place - file(GLOB_RECURSE LIB_TO_MOVE ${CURRENT_PACKAGES_DIR}/lib/magnum/*) - file(COPY ${LIB_TO_MOVE} DESTINATION ${CURRENT_PACKAGES_DIR}/lib) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/magnum) + file(GLOB_RECURSE LIB_TO_MOVE "${CURRENT_PACKAGES_DIR}/lib/magnum/*") + file(COPY ${LIB_TO_MOVE} DESTINATION "${CURRENT_PACKAGES_DIR}/lib") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/magnum") - file(GLOB_RECURSE LIB_TO_MOVE_DBG ${CURRENT_PACKAGES_DIR}/debug/lib/magnum-d/*) - file(COPY ${LIB_TO_MOVE_DBG} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/magnum-d) + file(GLOB_RECURSE LIB_TO_MOVE_DBG "${CURRENT_PACKAGES_DIR}/debug/lib/magnum/*") + file(COPY ${LIB_TO_MOVE_DBG} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/magnum") else() - # Unlike the magnum-plugins port, we cannot remove the lib files entirely here, - # As other importers might depend on them (e.g. AssimpImporter depends on AnyImageImporter) - # and modules are not allowed to have unresolved symbols, hence simply loading the - # dependencies in advance like on Unix does not work on Windows. - # - # On windows, plugins are "Modules" that cannot be linked as shared - # libraries, but are meant to be loaded at runtime. - # While this is handled adequately through the CMake project, the auto-magic - # linking with visual studio might try to link the import libs anyway. - # - # We delete most of the import libraries here to avoid the auto-magic linking - # for plugins which are loaded at runtime, but keep the afforementioned Any* plugins. - # - # See https://github.com/microsoft/vcpkg/pull/1235#issuecomment-308805989 for futher info. - if(WIN32) - file(GLOB_RECURSE LIB_TO_REMOVE ${CURRENT_PACKAGES_DIR}/lib/magnum/*) - file(GLOB_RECURSE LIB_TO_KEEP ${CURRENT_PACKAGES_DIR}/lib/magnum/*Any*) + 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) list(REMOVE_ITEM LIB_TO_REMOVE ${LIB_TO_KEEP}) endif() @@ -148,26 +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}/bin/magnum") + 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) +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 246c279140b61c..a6490bca7bd054 100644 --- a/ports/magnum/vcpkg.json +++ b/ports/magnum/vcpkg.json @@ -1,15 +1,27 @@ { "name": "magnum", "version-string": "2020.06", - "port-version": 7, + "port-version": 19, "description": "C++11/C++14 graphics middleware for games and data visualization", "homepage": "https://magnum.graphics/", + "license": null, "dependencies": [ { "name": "corrade", + "host": true, "features": [ "utility" ] + }, + { + "name": "corrade", + "features": [ + "utility" + ] + }, + { + "name": "vcpkg-cmake", + "host": true } ], "default-features": [ @@ -18,7 +30,6 @@ "anyimageimporter", "anysceneconverter", "anysceneimporter", - "anyshaderconverter", "debugtools", "gl", "meshtools", @@ -26,7 +37,6 @@ "scenegraph", "sdl2application", "shaders", - "shadertools", "text", "texturetools", "trade" @@ -49,6 +59,7 @@ "dependencies": [ { "name": "corrade", + "default-features": false, "features": [ "pluginmanager" ] @@ -130,6 +141,7 @@ }, "cglcontext": { "description": "CglContext library", + "supports": "osx", "dependencies": [ { "name": "magnum", @@ -145,25 +157,22 @@ }, "distancefieldconverter": { "description": "magnum-distancefieldconverter utility", + "supports": "!ios & !android", "dependencies": [ { "name": "magnum", "default-features": false, "features": [ - "gl" - ] - }, - { - "name": "magnum", - "default-features": false, - "features": [ - "texturetools" + "gl", + "texturetools", + "trade" ] } ] }, "eglcontext": { "description": "EglContext library", + "supports": "!windows & !osx", "dependencies": [ { "name": "magnum", @@ -176,28 +185,26 @@ }, "fontconverter": { "description": "magnum-fontconverter utility", + "supports": "!ios & !android", "dependencies": [ { "name": "magnum", "default-features": false, "features": [ - "gl" - ] - }, - { - "name": "magnum", - "default-features": false, - "features": [ - "text" + "gl", + "text", + "trade" ] } ] }, "gl": { - "description": "GL library" + "description": "GL library", + "supports": "!uwp" }, "gl-info": { "description": "gl-info utility", + "supports": "!ios", "dependencies": [ { "name": "magnum", @@ -216,6 +223,7 @@ }, "glxcontext": { "description": "GlxContext library", + "supports": "!windows & !osx", "dependencies": [ { "name": "magnum", @@ -229,6 +237,13 @@ "imageconverter": { "description": "magnum-imageconverter utility", "dependencies": [ + { + "name": "corrade", + "default-features": false, + "features": [ + "dynamic-pluginmanager" + ] + }, { "name": "magnum", "default-features": false, @@ -298,6 +313,7 @@ "dependencies": [ { "name": "corrade", + "default-features": false, "features": [ "testsuite" ] @@ -318,6 +334,7 @@ "name": "magnum", "default-features": false, "features": [ + "meshtools", "trade" ] } @@ -326,6 +343,13 @@ "sceneconverter": { "description": "magnum-sceneconverter utility", "dependencies": [ + { + "name": "corrade", + "default-features": false, + "features": [ + "dynamic-pluginmanager" + ] + }, { "name": "magnum", "default-features": false, @@ -377,6 +401,7 @@ "dependencies": [ { "name": "corrade", + "default-features": false, "features": [ "pluginmanager" ] @@ -429,6 +454,7 @@ "dependencies": [ { "name": "corrade", + "default-features": false, "features": [ "pluginmanager" ] @@ -467,6 +493,7 @@ }, "wglcontext": { "description": "WglContext library", + "supports": "windows & !uwp", "dependencies": [ { "name": "magnum", @@ -479,6 +506,7 @@ }, "windowlesscglapplication": { "description": "WindowlessCglApplication library", + "supports": "osx", "dependencies": [ { "name": "magnum", @@ -491,6 +519,7 @@ }, "windowlesseglapplication": { "description": "WindowlessEglApplication library", + "supports": "!windows & !osx & !ios", "dependencies": [ { "name": "magnum", @@ -503,6 +532,7 @@ }, "windowlessglxapplication": { "description": "WindowlessGlxApplication library", + "supports": "!windows & !osx & !ios", "dependencies": [ { "name": "magnum", @@ -515,6 +545,7 @@ }, "windowlesswglapplication": { "description": "WindowlessWglApplication library", + "supports": "windows & !uwp", "dependencies": [ { "name": "magnum", diff --git a/ports/mailio/fix-library-type-and-remove-boost-test-deps.patch b/ports/mailio/fix-library-type-and-remove-boost-test-deps.patch new file mode 100644 index 00000000000000..b6df34610a7884 --- /dev/null +++ b/ports/mailio/fix-library-type-and-remove-boost-test-deps.patch @@ -0,0 +1,22 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e3b30fd..3828816 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -59,7 +59,7 @@ if(WIN32) + set(Boost_USE_STATIC_LIBS ON) + endif(WIN32) + +-find_package(Boost REQUIRED COMPONENTS system date_time regex unit_test_framework) ++find_package(Boost REQUIRED COMPONENTS system date_time regex) + find_package(OpenSSL) + set(CMAKE_THREAD_PREFER_PTHREAD) + # "Use of both the imported target as well as this switch is highly recommended for new code." +@@ -123,7 +123,7 @@ if (MAILIO_BUILD_SHARED_LIBRARY) + else() + set(LIBRARY_TYPE "STATIC") + endif() +-add_library(${PROJECT_NAME} ${LIBRARY_TYPE} ${project_sources} ${project_headers}) ++add_library(${PROJECT_NAME} ${project_sources} ${project_headers}) + + + # pkg-config support diff --git a/ports/mailio/portfile.cmake b/ports/mailio/portfile.cmake index 2c3dfb932a6d33..9c8390f6175644 100644 --- a/ports/mailio/portfile.cmake +++ b/ports/mailio/portfile.cmake @@ -1,24 +1,26 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO karastojko/mailio - REF 1872f29d88a52f06cd96b611673b2e46c6b9832b # version_0-20-0 - SHA512 1686e49ed2c7163c33f88c820633e772986ecfea5696b78a44b370f44051190b14a1ddcd055bce2a9104324c80e8045cf0441c085eb6f272261da7e80bc4fdb5 + REF "${VERSION}" + SHA512 e1eee9f5b80dab16017af475b8c13f8278fa3d73e1c446e507dc122cb3df5b984b41c04d753e36cf848dd15029524f95cf48e050cee265c8933b0be1ea500a5d HEAD_REF master + PATCHES fix-library-type-and-remove-boost-test-deps.patch ) -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED) - vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA + SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DMAILIO_BUILD_SHARED_LIBRARY=${BUILD_SHARED} -DMAILIO_BUILD_DOCUMENTATION=OFF -DMAILIO_BUILD_EXAMPLES=OFF + -DMAILIO_BUILD_TESTS=OFF ) vcpkg_cmake_install() +vcpkg_cmake_config_fixup( + CONFIG_PATH share/mailio/cmake +) 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 f3c01cd5a5a4cc..8a0b1000ebf003 100644 --- a/ports/mailio/vcpkg.json +++ b/ports/mailio/vcpkg.json @@ -1,11 +1,10 @@ { "name": "mailio", - "version": "0.20.0", - "port-version": 1, + "version": "0.23.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", - "license": "BSD-2-clause", + "license": "BSD-2-Clause", "supports": "!uwp", "dependencies": [ "boost-asio", @@ -16,6 +15,10 @@ { "name": "vcpkg-cmake", "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true } ] } diff --git a/ports/makeid/portfile.cmake b/ports/makeid/portfile.cmake new file mode 100644 index 00000000000000..67c75090195c5f --- /dev/null +++ b/ports/makeid/portfile.cmake @@ -0,0 +1,17 @@ +vcpkg_download_distfile(ARCHIVE + URLS "https://www.humus.name/3D/MakeID.h" + FILENAME "MakeID.h-${VERSION}" + SHA512 fd4222d2cc0b0e16b0cfbac048cb64ac59d53ede10ab7f88f710e4b866cb67ffb0ec139821c181f1804a813cc9ab20cf33282c8b73e9ef0fdba414be474c2b64 +) + +file(INSTALL "${ARCHIVE}" DESTINATION "${CURRENT_PACKAGES_DIR}/include" RENAME "MakeID.h") + +set(license_text +"Public Domain + +This file is released in the hopes that it will be useful. Use in whatever way you like, but no guarantees that it +actually works or fits any particular purpose. It has been unit-tested and benchmarked though, and seems to do +what it was designed to do, and seems pretty quick at it too." +) + +file(WRITE "${CURRENT_PACKAGES_DIR}/share/makeid/copyright" "${license_text}") diff --git a/ports/makeid/vcpkg.json b/ports/makeid/vcpkg.json new file mode 100644 index 00000000000000..188046ce1c92b0 --- /dev/null +++ b/ports/makeid/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "makeid", + "version": "1.0.3", + "description": "MakeID is a cross platform C++ library for IDs allocation/deallocation", + "homepage": "http://www.humus.name/index.php?page=3D", + "license": null +} diff --git a/ports/manif/portfile.cmake b/ports/manif/portfile.cmake new file mode 100644 index 00000000000000..391810a4459a8d --- /dev/null +++ b/ports/manif/portfile.cmake @@ -0,0 +1,18 @@ +#header-only library +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO artivis/manif + REF bb3f6758ae467b7f24def71861798d131f157032 + SHA512 aaead27e1a177a1ded644bac270702c7d6232ac5345148be41d3ebca7e181d194e106d74f175182af51a72a4f26d5632749306d86676b5cb8862ddc34ea16a05 + HEAD_REF devel +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH share/manif/cmake) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/manif/vcpkg.json b/ports/manif/vcpkg.json new file mode 100644 index 00000000000000..ab0d1030884a68 --- /dev/null +++ b/ports/manif/vcpkg.json @@ -0,0 +1,20 @@ +{ + "name": "manif", + "version-date": "2023-07-17", + "description": "A small C++11 header-only library for Lie theory.", + "homepage": "https://github.com/artivis/manif", + "documentation": "https://artivis.github.io/manif/", + "license": "MIT", + "dependencies": [ + "eigen3", + "tl-optional", + { + "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 a0c711699241d1..c371022cf8035f 100644 --- a/ports/mapbox-polylabel/portfile.cmake +++ b/ports/mapbox-polylabel/portfile.cmake @@ -3,13 +3,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO mapbox/polylabel - REF v1.0.4 - SHA512 c337577545e072dbc43b5fc822e7a4fc9585051e24f6af76a3525faee7ab5c332915c43401629ad2e8f1f142f9e920f65347609607aec9394fd6bbc5d4936564 + REF "v${VERSION}" + SHA512 e739b0f9c293fd1fd50de56be0804b638ad4ca5ca2c6ee6272907cffc99e133f183f62dd75ca415983ebf9a03da07910b2fa5e8d18b606a6faf7b14baa930622 HEAD_REF master ) # Copy header files -file(COPY ${SOURCE_PATH}/include/mapbox/ DESTINATION ${CURRENT_PACKAGES_DIR}/include/mapbox FILES_MATCHING PATTERN "*.hpp") +file(COPY "${SOURCE_PATH}/include/mapbox/" DESTINATION "${CURRENT_PACKAGES_DIR}/include/mapbox" FILES_MATCHING PATTERN "*.hpp") # Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/mapbox-polylabel/vcpkg.json b/ports/mapbox-polylabel/vcpkg.json index bb26bf6421162a..59e6722833ff30 100644 --- a/ports/mapbox-polylabel/vcpkg.json +++ b/ports/mapbox-polylabel/vcpkg.json @@ -1,8 +1,9 @@ { "name": "mapbox-polylabel", - "version-semver": "1.0.4", + "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", "dependencies": [ "mapbox-geometry", "mapbox-variant" diff --git a/ports/mapbox-variant/vcpkg.json b/ports/mapbox-variant/vcpkg.json index 91f0b61eca10a1..b31533e46a576f 100644 --- a/ports/mapbox-variant/vcpkg.json +++ b/ports/mapbox-variant/vcpkg.json @@ -1,6 +1,6 @@ { "name": "mapbox-variant", - "version-string": "1.2.0", - "port-version": 1, + "version": "1.2.0", + "port-version": 2, "description": "C++11/C++14 Variant" } 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/portfile.cmake b/ports/mapnik/portfile.cmake index cd219bed56d716..2743fdfec6abef 100644 --- a/ports/mapnik/portfile.cmake +++ b/ports/mapnik/portfile.cmake @@ -1,12 +1,12 @@ # test application for this port: https://github.com/mathisloge/mapnik-vcpkg-test -vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO mapnik/mapnik - REF 14f913d6ab3b0903dd36a1cb2d22f7d5493b8bb8 - SHA512 f90762594d46946ddc512bb19b21c4d6a2f1ce81b7500a326ad512fae3a3f77e49ef3eb727ff8f98a31596e4132528212e0fa146e2eee0a9965a16551cfd0386 + REF 283e2762d4c2175aa30f4f18ca383d1f69dcfaf6 + SHA512 8ce914249c54d7d30e53fcccb7400fd98696390e53d18d97848b46ff99945bb76772dc8d3e7d37aad87db3ea67c6b00fd6bea04d5bc6ea09449d429caccea339 HEAD_REF master + PATCHES fix-compatibility-with-boost-1.85.patch ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS @@ -41,10 +41,18 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS "utility-svg2png" BUILD_UTILITY_SVG2PNG ) +if (VCPKG_CRT_LINKAGE STREQUAL dynamic) + set(BUILD_SHARED_CRT ON) +else() + set(BUILD_SHARED_CRT OFF) +endif() +vcpkg_find_acquire_program(PKGCONFIG) + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${FEATURE_OPTIONS} + -DBUILD_SHARED_CRT=${BUILD_SHARED_CRT} -DINSTALL_DEPENDENCIES=OFF -DBUILD_TESTING=OFF -DBUILD_BENCHMARK=OFF @@ -53,9 +61,11 @@ vcpkg_cmake_configure( -DUSE_EXTERNAL_MAPBOX_POLYLABEL=ON -DUSE_EXTERNAL_MAPBOX_PROTOZERO=ON -DUSE_EXTERNAL_MAPBOX_VARIANT=ON + -DBOOST_REGEX_HAS_ICU=ON -DMAPNIK_CMAKE_DIR=share/mapnik/cmake -DFONTS_INSTALL_DIR=share/mapnik/fonts -DMAPNIK_PKGCONF_DIR=lib/pkgconfig + -DPKG_CONFIG_EXECUTABLE="${PKGCONFIG}" ) vcpkg_cmake_install() diff --git a/ports/mapnik/vcpkg.json b/ports/mapnik/vcpkg.json index 582ba8497383f5..969394eab687e7 100644 --- a/ports/mapnik/vcpkg.json +++ b/ports/mapnik/vcpkg.json @@ -1,13 +1,15 @@ { "name": "mapnik", - "version-date": "2021-11-15", + "version-date": "2024-04-18", "description": "Mapnik is an open source toolkit for developing mapping applications.", "homepage": "https://github.com/mapnik/mapnik", - "supports": "!(static & windows)", + "license": "LGPL-2.1-only", + "supports": "!xbox", "dependencies": [ "boost-assign", "boost-bimap", "boost-filesystem", + "boost-format", "boost-geometry", "boost-gil", "boost-interprocess", @@ -83,7 +85,10 @@ "description": "Grid renderer" }, "input-csv": { - "description": "CSV input plugin" + "description": "CSV input plugin", + "dependencies": [ + "boost-algorithm" + ] }, "input-gdal": { "description": "GDAL input plugin", @@ -109,19 +114,20 @@ "input-pgraster": { "description": "PGRASTER input plugin", "dependencies": [ - "libodb-pgsql", "libpq" ] }, "input-postgis": { "description": "POSTGIS input plugin", "dependencies": [ - "libodb-pgsql", "libpq" ] }, "input-raster": { - "description": "RASTER input plugin" + "description": "RASTER input plugin", + "dependencies": [ + "boost-format" + ] }, "input-shape": { "description": "SHAPE input plugin" @@ -156,7 +162,7 @@ "proj": { "description": "PROJ Functionalities", "dependencies": [ - "proj4" + "proj" ] }, "svg-renderer": { @@ -193,7 +199,6 @@ "description": "utility application pgsql2sqlite", "dependencies": [ "boost-program-options", - "libodb-pgsql", "libpq", "sqlite3" ] @@ -213,7 +218,7 @@ "viewer": { "description": "Make demo viewer application", "dependencies": [ - "qt5-base" + "qtbase" ] }, "webp": { 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 173892360c496b..7c05120e9bf8bf 100644 --- a/ports/marble/portfile.cmake +++ b/ports/marble/portfile.cmake @@ -1,48 +1,62 @@ -vcpkg_fail_port_install(ON_TARGET "LINUX" "OSX" "UWP" "ANDROID" ON_ARCH "arm" "x86" ON_LIBRARY_LINKAGE "static") vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KDE/marble - REF 552cb9ae1f34482d1ec56532a703e0d820856286 #v20.04.3 - SHA512 ac6106a6db53534c96d7281b1a07624c2852ed8c78cce0b91c5f865b106487f1f49aaa4c72d00ffb1f79a761d8d2eca18129ef9517bef463a1840554ed3e51fb - HEAD_REF master - PATCHES "qtfix.patch" -) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - -DCMAKE_DISABLE_FIND_PACKAGE_I18n=ON + REF "v${VERSION}" + SHA512 06d2c9f4c85a5ab66825701fa949f35756ff2f09acc65c2ac5c367bd245ee1b674214070a01f828124d8add3f9cdd06e68e0e93091e47501210c5686ae68f29f + HEAD_REF master + PATCHES + qtfix.patch + protobuf.patch + cpack.patch +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DCMAKE_DISABLE_FIND_PACKAGE_I18n=ON -DWITH_KF5=OFF -) +) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake) # Install plugins and data files -file(GLOB_RECURSE PLUGINS "${CURRENT_PACKAGES_DIR}/plugins/*") -file(GLOB_RECURSE PLUGINS_DESIGNER "${CURRENT_PACKAGES_DIR}/lib/plugins/*") -file(GLOB_RECURSE PLUGINS_DEBUG "${CURRENT_PACKAGES_DIR}/debug/lib/plugins/*") -file(GLOB_RECURSE MKSPECS "${CURRENT_PACKAGES_DIR}/mkspecs/*") +file(GLOB_RECURSE PLUGINS "${CURRENT_PACKAGES_DIR}/plugins/*") +file(GLOB_RECURSE PLUGINS_DESIGNER "${CURRENT_PACKAGES_DIR}/lib/plugins/*") +file(GLOB_RECURSE PLUGINS_DEBUG "${CURRENT_PACKAGES_DIR}/debug/lib/plugins/*") +file(GLOB_RECURSE MKSPECS "${CURRENT_PACKAGES_DIR}/mkspecs/*") -file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/${PORT}) -file(COPY ${PLUGINS} ${PLUGINS_DESIGNER} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT}/plugins) -file(COPY ${PLUGINS_DEBUG} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/tools/${PORT}/plugins) -file(COPY "${CURRENT_PACKAGES_DIR}/data" DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT}) # have to keep folder structure here -file(COPY ${MKSPECS} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT}/mkspecs) +file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/${PORT}") +file(COPY ${PLUGINS} ${PLUGINS_DESIGNER} DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}/plugins") +file(COPY ${PLUGINS_DEBUG} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/tools/${PORT}/plugins") +file(COPY "${CURRENT_PACKAGES_DIR}/data" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}") # have to keep folder structure here +file(COPY ${MKSPECS} DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}/mkspecs") # remove plugin folder 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}/mkspecs ${CURRENT_PACKAGES_DIR}/debug/mkspecs - ${CURRENT_PACKAGES_DIR}/debug/share - ${CURRENT_PACKAGES_DIR}/debug/lib/plugins ${CURRENT_PACKAGES_DIR}/lib/plugins + "${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}/mkspecs" "${CURRENT_PACKAGES_DIR}/debug/mkspecs" + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/debug/lib/plugins" "${CURRENT_PACKAGES_DIR}/lib/plugins" + "${CURRENT_PACKAGES_DIR}/debug/marble-qt.exe" ) - + +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") + vcpkg_copy_pdbs() -file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(GLOB LICENSE_FILES "${SOURCE_PATH}/LICENSES/*") +vcpkg_install_copyright(FILE_LIST ${LICENSE_FILES}) 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/qtfix.patch b/ports/marble/qtfix.patch index 39a420be02ce3a..8c923ff2c1f9fa 100644 --- a/ports/marble/qtfix.patch +++ b/ports/marble/qtfix.patch @@ -1,8 +1,8 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index a3b2139dc..1f9a10513 100644 +index 65b58c4..a8f024c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -171,7 +171,7 @@ set (PEDANTIC FALSE CACHE BOOL "Determines if we should compile with -Wall -Werr +@@ -184,7 +184,7 @@ set (PEDANTIC FALSE CACHE BOOL "Determines if we should compile with -Wall -Werr set (WITH_DESIGNER_PLUGIN TRUE CACHE BOOL "Build plugins for Qt Designer") add_feature_info("Qt Designer plugins" WITH_DESIGNER_PLUGIN "Marble widget support in Qt Designer. Toggle with WITH_DESIGNER_PLUGIN=YES/NO") @@ -11,73 +11,12 @@ index a3b2139dc..1f9a10513 100644 if (NOT QT_PLUGINS_DIR) set(QT_PLUGINS_DIR ${CMAKE_INSTALL_LIBDIR}/plugins) endif() -@@ -248,7 +248,7 @@ add_definitions( - -DQT_NO_URL_CAST_FROM_STRING - -DQT_NO_CAST_TO_ASCII - -DQT_NO_CAST_FROM_BYTEARRAY -- -DQT_STRICT_ITERATORS -+# -DQT_STRICT_ITERATORS - -DQT_DISABLE_DEPRECATED_BEFORE=0x050700 - ) - -diff --git a/src/apps/marble-qt/CMakeLists.txt b/src/apps/marble-qt/CMakeLists.txt -index d28e3aa5e..7bbf4a63c 100644 ---- a/src/apps/marble-qt/CMakeLists.txt -+++ b/src/apps/marble-qt/CMakeLists.txt -@@ -48,7 +48,7 @@ if(STATIC_BUILD) - endif(STATIC_BUILD) - - if(WIN32) --install (TARGETS marble-qt RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}) -+ install (TARGETS marble-qt RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/tools/marble) - else(WIN32) - if (APPLE) - # No need for this when installing to a bundle -diff --git a/src/lib/astro/CMakeLists.txt b/src/lib/astro/CMakeLists.txt -index 5e1afd60f..fc53985f4 100644 ---- a/src/lib/astro/CMakeLists.txt -+++ b/src/lib/astro/CMakeLists.txt -@@ -50,7 +50,7 @@ target_include_directories(astro - - # choose the correct target install library path - if(WIN32) -- INSTALL(TARGETS astro EXPORT AstroTargets RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX} ARCHIVE DESTINATION lib) -+ INSTALL(TARGETS astro EXPORT AstroTargets RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin ARCHIVE DESTINATION ${CMAKE_INSTALL_PREFIX}/lib) - elseif(APPLE) - INSTALL(TARGETS astro LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/Marble.app/Contents/MacOS/lib) - else() -diff --git a/src/lib/marble/CMakeLists.txt b/src/lib/marble/CMakeLists.txt -index 7d27be94b..f1f377967 100644 ---- a/src/lib/marble/CMakeLists.txt -+++ b/src/lib/marble/CMakeLists.txt -@@ -448,7 +448,7 @@ target_include_directories(marblewidget - - # choose the correct target install library path - if(WIN32) -- install(TARGETS marblewidget EXPORT MarbleTargets RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX} ARCHIVE DESTINATION lib) -+ install(TARGETS marblewidget EXPORT MarbleTargets RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin ARCHIVE DESTINATION ${CMAKE_INSTALL_PREFIX}/lib) - elseif(APPLE) - install(TARGETS marblewidget LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/Marble.app/Contents/MacOS/lib) - else() -diff --git a/src/lib/marble/declarative/CMakeLists.txt b/src/lib/marble/declarative/CMakeLists.txt -index dd5d519c4..482a02ad5 100644 ---- a/src/lib/marble/declarative/CMakeLists.txt -+++ b/src/lib/marble/declarative/CMakeLists.txt -@@ -53,7 +53,7 @@ if(Qt5Positioning_FOUND) - endif() - - if(WIN32) -- install(TARGETS marbledeclarative RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX} ARCHIVE DESTINATION lib) -+ install(TARGETS marbledeclarative RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin ARCHIVE DESTINATION ${CMAKE_INSTALL_PREFIX}/lib) - else() - install(TARGETS marbledeclarative LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) - endif() diff --git a/src/plugins/positionprovider/CMakeLists.txt b/src/plugins/positionprovider/CMakeLists.txt -index 85591098e..87011876e 100644 +index ec2ba1a..cc8e52e 100644 --- a/src/plugins/positionprovider/CMakeLists.txt +++ b/src/plugins/positionprovider/CMakeLists.txt @@ -12,12 +12,12 @@ find_package(Qt5 ${REQUIRED_QT_VERSION} - COMPONENTS + OPTIONAL_COMPONENTS Positioning ) -marble_set_package_properties( Qt5Positioning PROPERTIES DESCRIPTION "a collection of APIs and frameworks" ) @@ -88,7 +27,7 @@ index 85591098e..87011876e 100644 -endif() +#marble_set_package_properties( Qt5Positioning PROPERTIES DESCRIPTION "a collection of APIs and frameworks" ) +#marble_set_package_properties( Qt5Positioning PROPERTIES URL "https://www.qt.io/developers/" ) -+#arble_set_package_properties( Qt5Positioning PROPERTIES TYPE OPTIONAL PURPOSE "position information via Qt5Positioning" ) ++#marble_set_package_properties( Qt5Positioning PROPERTIES TYPE OPTIONAL PURPOSE "position information via Qt5Positioning" ) +#if(Qt5Positioning_FOUND) +# ADD_SUBDIRECTORY( qtpositioning ) +#endif() diff --git a/ports/marble/vcpkg.json b/ports/marble/vcpkg.json index bf8d085c05819c..dce22ccda78627 100644 --- a/ports/marble/vcpkg.json +++ b/ports/marble/vcpkg.json @@ -1,14 +1,22 @@ { "name": "marble", - "version-string": "19.08.2", - "port-version": 2, + "version-string": "24.08.2", "description": "Marble KDE library", "homepage": "https://marble.kde.org", - "supports": "windows & x64 & !static", + "license": "LGPL-2.1-or-later", + "supports": "windows & x64 & !static & !xbox", "dependencies": [ "qt5-base", "qt5-quickcontrols", "qt5-svg", - "qt5-webchannel" + "qt5-webchannel", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } 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/marisa-trie/portfile.cmake b/ports/marisa-trie/portfile.cmake new file mode 100644 index 00000000000000..063aaeff2620ce --- /dev/null +++ b/ports/marisa-trie/portfile.cmake @@ -0,0 +1,65 @@ +if (VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) +endif() + +if(VCPKG_TARGET_IS_LINUX) + message(WARNING "${PORT} currently requires the following packages:\n libtool\n This can be installed on Ubuntu systems via\n sudo apt-get install -y libtool\n") +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO s-yata/marisa-trie + REF 006020c1df76d0d7dc6118dacc22da64da2e35c4 + SHA512 05dd7cc81a6347d4528654c19617af16de8d7352ad9e38d5f1cd296d88527377ecbfed9dbe722362d64369cd792d1ae0410319854b546ce0b6081ac560a40c0f + HEAD_REF master + PATCHES + remove-windows-tests.patch +) + +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + vcpkg_install_msbuild( + SOURCE_PATH "${SOURCE_PATH}" + PROJECT_SUBPATH "vs2019/vs2019.sln" + LICENSE_SUBPATH COPYING.md + PLATFORM "${TRIPLET_SYSTEM_ARCH}" + ALLOW_ROOT_INCLUDES + ) + + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/include") + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/include/marisa") + file(INSTALL "${SOURCE_PATH}/include/marisa.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include") + file(GLOB MARISA_DIR_HEADERS "${SOURCE_PATH}/include/marisa/*.h") + file(INSTALL ${MARISA_DIR_HEADERS} DESTINATION "${CURRENT_PACKAGES_DIR}/include/marisa") + + vcpkg_clean_msbuild() + set(prefix "${CURRENT_INSTALLED_DIR}") + set(exec_prefix "\${prefix}") + set(bindir "\${prefix}/bin") + set(libdir "\${prefix}/lib") + set(includedir "\${prefix}/include") + configure_file("${SOURCE_PATH}/marisa.pc.in" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/marisa.pc" @ONLY) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/marisa.pc" "-lmarisa" "-llibmarisa") + if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + set(prefix "${CURRENT_INSTALLED_DIR}/debug") + set(exec_prefix "\${prefix}") + set(bindir "\${prefix}/bin") + set(libdir "\${prefix}/lib") + set(includedir "\${prefix}/include") + configure_file("${SOURCE_PATH}/marisa.pc.in" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/marisa.pc" @ONLY) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/marisa.pc" "-lmarisa" "-llibmarisa") + endif() +else() + vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG + COPY_SOURCE + ) + vcpkg_install_make() + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + file(INSTALL "${SOURCE_PATH}/COPYING.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +endif() + +vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/marisa-trie/remove-windows-tests.patch b/ports/marisa-trie/remove-windows-tests.patch new file mode 100644 index 00000000000000..254dba4efcf14d --- /dev/null +++ b/ports/marisa-trie/remove-windows-tests.patch @@ -0,0 +1,68 @@ +diff --git a/vs2019/vs2019.sln b/vs2019/vs2019.sln +index df0ecfd..4382416 100644 +--- a/vs2019/vs2019.sln ++++ b/vs2019/vs2019.sln +@@ -5,16 +5,6 @@ VisualStudioVersion = 16.0.29519.87 + MinimumVisualStudioVersion = 10.0.40219.1 + Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libmarisa", "libmarisa\libmarisa.vcxproj", "{84009DAF-7FAF-44AC-A6AA-023EF63E3051}" + EndProject +-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "base-test", "base-test\base-test.vcxproj", "{9C0CFD54-C5A7-4736-9063-7DCB085B2877}" +-EndProject +-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "marisa-test", "marisa-test\marisa-test.vcxproj", "{53731F7C-2EB6-4A9F-A6DF-A49DDAAF613F}" +-EndProject +-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "io-test", "io-test\io-test.vcxproj", "{F9C6E136-FE11-4F7E-A113-7A98AACDABC7}" +-EndProject +-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "trie-test", "trie-test\trie-test.vcxproj", "{1654861A-6F01-4D7C-830B-A39678093E4C}" +-EndProject +-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vector-test", "vector-test\vector-test.vcxproj", "{8FAC4D71-7D54-4438-B84C-D6B779AD0EE8}" +-EndProject + Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "marisa-benchmark", "marisa-benchmark\marisa-benchmark.vcxproj", "{CCD0AA2B-1461-4937-B3AD-487E541425FD}" + EndProject + Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "marisa-build", "marisa-build\marisa-build.vcxproj", "{3F2BDA56-422C-45F9-B2BC-5C19790E0D9D}" +@@ -45,46 +35,6 @@ Global + {84009DAF-7FAF-44AC-A6AA-023EF63E3051}.Release|x64.Build.0 = Release|x64 + {84009DAF-7FAF-44AC-A6AA-023EF63E3051}.Release|x86.ActiveCfg = Release|Win32 + {84009DAF-7FAF-44AC-A6AA-023EF63E3051}.Release|x86.Build.0 = Release|Win32 +- {9C0CFD54-C5A7-4736-9063-7DCB085B2877}.Debug|x64.ActiveCfg = Debug|x64 +- {9C0CFD54-C5A7-4736-9063-7DCB085B2877}.Debug|x64.Build.0 = Debug|x64 +- {9C0CFD54-C5A7-4736-9063-7DCB085B2877}.Debug|x86.ActiveCfg = Debug|Win32 +- {9C0CFD54-C5A7-4736-9063-7DCB085B2877}.Debug|x86.Build.0 = Debug|Win32 +- {9C0CFD54-C5A7-4736-9063-7DCB085B2877}.Release|x64.ActiveCfg = Release|x64 +- {9C0CFD54-C5A7-4736-9063-7DCB085B2877}.Release|x64.Build.0 = Release|x64 +- {9C0CFD54-C5A7-4736-9063-7DCB085B2877}.Release|x86.ActiveCfg = Release|Win32 +- {9C0CFD54-C5A7-4736-9063-7DCB085B2877}.Release|x86.Build.0 = Release|Win32 +- {53731F7C-2EB6-4A9F-A6DF-A49DDAAF613F}.Debug|x64.ActiveCfg = Debug|x64 +- {53731F7C-2EB6-4A9F-A6DF-A49DDAAF613F}.Debug|x64.Build.0 = Debug|x64 +- {53731F7C-2EB6-4A9F-A6DF-A49DDAAF613F}.Debug|x86.ActiveCfg = Debug|Win32 +- {53731F7C-2EB6-4A9F-A6DF-A49DDAAF613F}.Debug|x86.Build.0 = Debug|Win32 +- {53731F7C-2EB6-4A9F-A6DF-A49DDAAF613F}.Release|x64.ActiveCfg = Release|x64 +- {53731F7C-2EB6-4A9F-A6DF-A49DDAAF613F}.Release|x64.Build.0 = Release|x64 +- {53731F7C-2EB6-4A9F-A6DF-A49DDAAF613F}.Release|x86.ActiveCfg = Release|Win32 +- {53731F7C-2EB6-4A9F-A6DF-A49DDAAF613F}.Release|x86.Build.0 = Release|Win32 +- {F9C6E136-FE11-4F7E-A113-7A98AACDABC7}.Debug|x64.ActiveCfg = Debug|x64 +- {F9C6E136-FE11-4F7E-A113-7A98AACDABC7}.Debug|x64.Build.0 = Debug|x64 +- {F9C6E136-FE11-4F7E-A113-7A98AACDABC7}.Debug|x86.ActiveCfg = Debug|Win32 +- {F9C6E136-FE11-4F7E-A113-7A98AACDABC7}.Debug|x86.Build.0 = Debug|Win32 +- {F9C6E136-FE11-4F7E-A113-7A98AACDABC7}.Release|x64.ActiveCfg = Release|x64 +- {F9C6E136-FE11-4F7E-A113-7A98AACDABC7}.Release|x64.Build.0 = Release|x64 +- {F9C6E136-FE11-4F7E-A113-7A98AACDABC7}.Release|x86.ActiveCfg = Release|Win32 +- {F9C6E136-FE11-4F7E-A113-7A98AACDABC7}.Release|x86.Build.0 = Release|Win32 +- {1654861A-6F01-4D7C-830B-A39678093E4C}.Debug|x64.ActiveCfg = Debug|x64 +- {1654861A-6F01-4D7C-830B-A39678093E4C}.Debug|x64.Build.0 = Debug|x64 +- {1654861A-6F01-4D7C-830B-A39678093E4C}.Debug|x86.ActiveCfg = Debug|Win32 +- {1654861A-6F01-4D7C-830B-A39678093E4C}.Debug|x86.Build.0 = Debug|Win32 +- {1654861A-6F01-4D7C-830B-A39678093E4C}.Release|x64.ActiveCfg = Release|x64 +- {1654861A-6F01-4D7C-830B-A39678093E4C}.Release|x64.Build.0 = Release|x64 +- {1654861A-6F01-4D7C-830B-A39678093E4C}.Release|x86.ActiveCfg = Release|Win32 +- {1654861A-6F01-4D7C-830B-A39678093E4C}.Release|x86.Build.0 = Release|Win32 +- {8FAC4D71-7D54-4438-B84C-D6B779AD0EE8}.Debug|x64.ActiveCfg = Debug|x64 +- {8FAC4D71-7D54-4438-B84C-D6B779AD0EE8}.Debug|x64.Build.0 = Debug|x64 +- {8FAC4D71-7D54-4438-B84C-D6B779AD0EE8}.Debug|x86.ActiveCfg = Debug|Win32 +- {8FAC4D71-7D54-4438-B84C-D6B779AD0EE8}.Debug|x86.Build.0 = Debug|Win32 +- {8FAC4D71-7D54-4438-B84C-D6B779AD0EE8}.Release|x64.ActiveCfg = Release|x64 +- {8FAC4D71-7D54-4438-B84C-D6B779AD0EE8}.Release|x64.Build.0 = Release|x64 +- {8FAC4D71-7D54-4438-B84C-D6B779AD0EE8}.Release|x86.ActiveCfg = Release|Win32 +- {8FAC4D71-7D54-4438-B84C-D6B779AD0EE8}.Release|x86.Build.0 = Release|Win32 + {CCD0AA2B-1461-4937-B3AD-487E541425FD}.Debug|x64.ActiveCfg = Debug|x64 + {CCD0AA2B-1461-4937-B3AD-487E541425FD}.Debug|x64.Build.0 = Debug|x64 + {CCD0AA2B-1461-4937-B3AD-487E541425FD}.Debug|x86.ActiveCfg = Debug|Win32 diff --git a/ports/marisa-trie/usage b/ports/marisa-trie/usage new file mode 100644 index 00000000000000..2dadcffa13c8f0 --- /dev/null +++ b/ports/marisa-trie/usage @@ -0,0 +1,5 @@ +The package marisa-trie can be imported via CMake FindPkgConfig module: + + find_package(PkgConfig REQUIRED) + pkg_check_modules(marisa REQUIRED IMPORTED_TARGET marisa) + target_link_libraries(main PkgConfig::marisa) diff --git a/ports/marisa-trie/vcpkg.json b/ports/marisa-trie/vcpkg.json new file mode 100644 index 00000000000000..6b69590a8f6b8d --- /dev/null +++ b/ports/marisa-trie/vcpkg.json @@ -0,0 +1,9 @@ +{ + "name": "marisa-trie", + "version": "0.2.6+20200926", + "port-version": 2, + "description": "Matching Algorithm with Recursively Implemented StorAge (MARISA) is a space-efficient trie data structure. This is a C++ library for an implementation of MARISA.", + "homepage": "https://github.com/s-yata/marisa-trie", + "license": "BSD-2-Clause OR LGPL-2.1-or-later", + "supports": "!windows | mingw | ((x86 | x64) & !staticcrt)" +} diff --git a/ports/marl/portfile.cmake b/ports/marl/portfile.cmake index 53e13ef79c311a..a165d6cad7e480 100644 --- a/ports/marl/portfile.cmake +++ b/ports/marl/portfile.cmake @@ -1,24 +1,21 @@ -vcpkg_fail_port_install(ON_TARGET "UWP") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/marl - REF 4c1b662da7d7a35f0fba9156a08cb49d129f5189 #2021-04-25 - SHA512 a3f8f65ef870075fac96dc67e8efbbe62596787a623aab02509c34f80a7cae523412d4bf94450c400a4637a0fffee6ef0cbf8f38286707e9d001e628cc11177f + REF aa9e85b2189d6f5dbba6909275661b37dfb5de69 #2023-06-28 + SHA512 fc4869d791608fa9198da896b6687fcc79e830766f3192ca6d7b28ba3156a06618901677e66f0b08a472a602a62d88f09ff49917a6749f410d92c2911f14d736 HEAD_REF main ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" MARL_BUILD_SHARED) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DMARL_BUILD_SHARED=${MARL_BUILD_SHARED} -DMARL_INSTALL=ON ) -vcpkg_install_cmake() +vcpkg_cmake_install() if(MARL_BUILD_SHARED) vcpkg_replace_string( @@ -28,10 +25,10 @@ if(MARL_BUILD_SHARED) ) endif() -vcpkg_fixup_cmake_targets(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) +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/marl/vcpkg.json b/ports/marl/vcpkg.json index 30c2aa24008f73..f6af1f7b14deb4 100644 --- a/ports/marl/vcpkg.json +++ b/ports/marl/vcpkg.json @@ -1,8 +1,18 @@ { "name": "marl", - "version-date": "2021-04-25", + "version-date": "2023-06-28", "description": "A hybrid thread/fiber task scheduler written in modern C++", "homepage": "https://github.com/google/marl", "license": "Apache-2.0", - "supports": "!uwp" + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/matchit/portfile.cmake b/ports/matchit/portfile.cmake new file mode 100644 index 00000000000000..531a7dd592a99f --- /dev/null +++ b/ports/matchit/portfile.cmake @@ -0,0 +1,23 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO BowenFu/matchit.cpp + REF v1.0.1 + SHA512 60edc6a392f5629391fa9e3ff09b7b98a0a782919a066ad2999eabb58e60f38bd50e080037b1276c5bca986f81ca0dfff2914816d46458b7b4e1c947a6134169 + 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/matchit") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") + +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/matchit/usage b/ports/matchit/usage new file mode 100644 index 00000000000000..a7697e0af02332 --- /dev/null +++ b/ports/matchit/usage @@ -0,0 +1,4 @@ +The package matchit provides CMake targets: + + find_package(matchit CONFIG REQUIRED) + target_link_libraries(main PRIVATE matchit::matchit) diff --git a/ports/matchit/vcpkg.json b/ports/matchit/vcpkg.json new file mode 100644 index 00000000000000..3228734cbc5ba3 --- /dev/null +++ b/ports/matchit/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "matchit", + "version": "1.0.1", + "description": "matchit is a pattern matching library for C++17 with macro-free APIs", + "homepage": "https://github.com/BowenFu/matchit.cpp", + "license": "Apache-2.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/materialx/portfile.cmake b/ports/materialx/portfile.cmake new file mode 100644 index 00000000000000..124e16892b046b --- /dev/null +++ b/ports/materialx/portfile.cmake @@ -0,0 +1,66 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO AcademySoftwareFoundation/MaterialX + 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 ${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_OIIO:BOOL=NO" + "-DMATERIALX_BUILD_TESTS:BOOL=NO" + "-DMATERIALX_PYTHON_LTO:BOOL=NO" + "-DMATERIALX_INSTALL_PYTHON:BOOL=NO" + "-DMATERIALX_TEST_RENDER:BOOL=NO" + "-DMATERIALX_WARNINGS_AS_ERRORS:BOOL=NO" + MAYBE_UNUSED_VARIABLES + MATERIALX_PYTHON_LTO # Used when MATERIALX_BUILD_PYTHON=ON +) + +vcpkg_cmake_install() + +vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup(PACKAGE_NAME MaterialX CONFIG_PATH lib/cmake/MaterialX) + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/CHANGELOG.md" + "${CURRENT_PACKAGES_DIR}/LICENSE" + "${CURRENT_PACKAGES_DIR}/README.md" + "${CURRENT_PACKAGES_DIR}/THIRD-PARTY.md" + "${CURRENT_PACKAGES_DIR}/debug/CHANGELOG.md" + "${CURRENT_PACKAGES_DIR}/debug/LICENSE" + "${CURRENT_PACKAGES_DIR}/debug/README.md" + "${CURRENT_PACKAGES_DIR}/debug/THIRD-PARTY.md" + "${CURRENT_PACKAGES_DIR}/debug/include" + + # MaterialXGenShader explicitely install resources + "${CURRENT_PACKAGES_DIR}/resources" + "${CURRENT_PACKAGES_DIR}/debug/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" +) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/materialx/vcpkg.json b/ports/materialx/vcpkg.json new file mode 100644 index 00000000000000..9d7188d2e9a90c --- /dev/null +++ b/ports/materialx/vcpkg.json @@ -0,0 +1,33 @@ +{ + "name": "materialx", + "version": "1.39.1", + "port-version": 1, + "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", + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "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/mathc/portfile.cmake b/ports/mathc/portfile.cmake index fde284632ed8d0..80149f3b9a01de 100644 --- a/ports/mathc/portfile.cmake +++ b/ports/mathc/portfile.cmake @@ -8,18 +8,17 @@ vcpkg_from_github( HEAD_REF master ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-${PORT} TARGET_PATH share/unofficial-${PORT}) +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-${PORT}) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") # Handle copyright -configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) +configure_file("${SOURCE_PATH}/LICENSE" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) diff --git a/ports/mathc/vcpkg.json b/ports/mathc/vcpkg.json index 1cabd8c53af394..531276a2b49efb 100644 --- a/ports/mathc/vcpkg.json +++ b/ports/mathc/vcpkg.json @@ -1,7 +1,17 @@ { "name": "mathc", - "version-string": "2019-09-29", - "port-version": 1, + "version-date": "2019-09-29", + "port-version": 3, "description": "Pure C math library for 2D and 3D programming", - "homepage": "https://github.com/felselva/mathc" + "homepage": "https://github.com/felselva/mathc", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/mathgl/cmake-config.patch b/ports/mathgl/cmake-config.patch new file mode 100644 index 00000000000000..695e692722375b --- /dev/null +++ b/ports/mathgl/cmake-config.patch @@ -0,0 +1,39 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2a73d0f..fda5ba1 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -51,6 +51,7 @@ endif() + set(MathGL_INSTALL_CMAKE_DIR ${DEF_INSTALL_CMAKE_DIR} CACHE PATH "Installation directory for CMake files") + # Make relative paths absolute (needed later on) + foreach(p LIB BIN INCLUDE CMAKE) ++ break() # Absolute paths break config fixup for tools + set(var MathGL_INSTALL_${p}_DIR) + if(NOT IS_ABSOLUTE "${${var}}") + set(${var} "${CMAKE_INSTALL_PREFIX}/${${var}}") +diff --git a/scripts/MathGLConfig.cmake.in b/scripts/MathGLConfig.cmake.in +index f219126..2a9f58b 100644 +--- a/scripts/MathGLConfig.cmake.in ++++ b/scripts/MathGLConfig.cmake.in +@@ -1,15 +1,19 @@ + # - Config file for the MathGL package + # It defines the following variables + +-set(MathGL2_INCLUDE_DIRS "@MathGL_INSTALL_INCLUDE_DIR@") +-set(MathGL2_LIBRARIES_DIRS "@MathGL_INSTALL_LIB_DIR@") ++set(MathGL2_INCLUDE_DIRS "@CMAKE_INSTALL_PREFIX@/@MathGL_INSTALL_INCLUDE_DIR@") ++if(CMAKE_BUILD_TYPE MATCHES "[Dd][Ee][Bb][Uu][Gg]") ++ set(MathGL2_LIBRARIES_DIRS "@CMAKE_INSTALL_PREFIX@/debug/@MathGL_INSTALL_LIB_DIR@") ++else() ++ set(MathGL2_LIBRARIES_DIRS "@CMAKE_INSTALL_PREFIX@/@MathGL_INSTALL_LIB_DIR@") ++endif() + set(MathGL2_HAVE_QT5 "@enable-qt5@") + set(MathGL2_HAVE_QT4 "@enable-qt4@") + set(MathGL2_HAVE_WX "@enable-wx@") + set(MathGL2_HAVE_FLTK "@enable-fltk@") + set(MathGL2_HAVE_GLUT "@enable-glut@") + set(MathGL2_HAVE_PTHREAD "@CMAKE_USE_PTHREADS_INIT@") +-set(MathGL2_HAVE_OPENMP "@OPENMP_FOUND@") ++set(MathGL2_HAVE_OPENMP "@enable-openmp@") + + include(CMakeFindDependencyMacro) + # Adding dependency for Threads imported target diff --git a/ports/mathgl/cmake-project-include.cmake b/ports/mathgl/cmake-project-include.cmake new file mode 100644 index 00000000000000..c0e96a064efa06 --- /dev/null +++ b/ports/mathgl/cmake-project-include.cmake @@ -0,0 +1,5 @@ +if(WIN32 AND NOT MINGW) + find_package(unofficial-getopt-win32 REQUIRED) + set(getopt_lib-static unofficial::getopt-win32::getopt) + set(MGL_HAVE_GETOPT 1 CACHE INTERNAL "From vcpkg") +endif() diff --git a/ports/mathgl/dependencies.patch b/ports/mathgl/dependencies.patch new file mode 100644 index 00000000000000..f8763bcc03569d --- /dev/null +++ b/ports/mathgl/dependencies.patch @@ -0,0 +1,118 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 466e9bc..d99c1e4 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -441,9 +441,10 @@ else(enable-pthr-widget OR enable-pthread) + endif(enable-pthr-widget OR enable-pthread) + + if(enable-arma) +- find_package(Armadillo) ++ find_package(Armadillo CONFIG REQUIRED) + if(ARMADILLO_FOUND) + set(MGL_HAVE_ARMA 1) ++ list(APPEND MGL_DEP_LIBS armadillo) + else(ARMADILLO_FOUND) + set(MGL_HAVE_ARMA 0) + endif(ARMADILLO_FOUND) +@@ -548,7 +549,7 @@ endif(enable-hdf5) + + if(enable-jpeg) + set(MGL_HAVE_JPEG 1) +- include(FindJPEG) ++ find_package(JPEG) + if(NOT JPEG_FOUND) + message(SEND_ERROR "Couldn't find JPEG library.") + endif(NOT JPEG_FOUND) +@@ -561,7 +562,7 @@ endif(enable-jpeg) + + if(enable-zlib) + set(MGL_HAVE_ZLIB 1) +- include(FindZLIB) ++ find_package(ZLIB) + if(NOT ZLIB_FOUND) + message(SEND_ERROR "Couldn't find ZLib library.") + endif(NOT ZLIB_FOUND) +@@ -573,7 +574,7 @@ endif(enable-zlib) + + if(enable-freetype) + set(MGL_HAVE_FREETYPE 1) +- include(FindFreetype) ++ find_package(Freetype) + if(NOT FREETYPE_FOUND) + message(SEND_ERROR "Couldn't find FreeType library.") + endif(NOT FREETYPE_FOUND) +@@ -588,7 +589,7 @@ if(enable-png) + if(NOT MGL_HAVE_ZLIB) + message(SEND_ERROR "You have to enable ZLib if you plan to use PNG export.") + endif(NOT MGL_HAVE_ZLIB) +- include(FindPNG) ++ find_package(PNG) + if(NOT PNG_FOUND) + message(SEND_ERROR "Couldn't find PNG library.") + endif(NOT PNG_FOUND) +@@ -620,7 +621,7 @@ endif(enable-pdf) + + if(enable-gif) + set(MGL_HAVE_GIF 1) +- include(FindGIF) ++ find_package(GIF) + if(NOT GIF_FOUND) + message(SEND_ERROR "Couldn't find GIF library.") + endif(NOT GIF_FOUND) +@@ -633,7 +634,7 @@ endif(enable-gif) + if(enable-opengl) + set(MGL_HAVE_OPENGL 1) + set(OpenGL_GL_PREFERENCE LEGACY) +- include(FindOpenGL) ++ find_package(OpenGL) + if(NOT OPENGL_FOUND) + message(SEND_ERROR "Couldn't find OpenGL libraries.") + endif(NOT OPENGL_FOUND) +@@ -648,7 +649,7 @@ if(enable-glut) + if(NOT MGL_HAVE_OPENGL) + message(SEND_ERROR "You have to enable OpenGL if you plan to use GLUT.") + endif(NOT MGL_HAVE_OPENGL) +- include(FindGLUT) ++ find_package(GLUT REQUIRED) + if(NOT GLUT_FOUND) + message(SEND_ERROR "Couldn't find GLUT library.") + endif(NOT GLUT_FOUND) +@@ -658,14 +659,19 @@ endif(enable-glut) + + if(enable-fltk) + set(MGL_HAVE_FLTK 1) +- FIND_PACKAGE(FLTK) ++ find_package(FLTK CONFIG) ++ set(FLTK_LIBRARIES fltk) + if(NOT FLTK_FOUND) + message(SEND_ERROR "Couldn't find FLTK library.") + else(NOT FLTK_FOUND) +- include_directories(${FLTK_INCLUDE_DIR}) ++ set(FLTK_LIBRARIES fltk) ++ include(CMakePushCheckState) ++ cmake_push_check_state() ++ list(APPEND CMAKE_REQUIRED_LIBRARIES ${FLTK_LIBRARIES}) + CHECK_CXX_SOURCE_COMPILES( + "#include + int main(){return 0;}" MGL_HAVE_FL_COPY) ++ cmake_pop_check_state() + endif(NOT FLTK_FOUND) + if(NOT MGL_HAVE_FL_COPY) + set(MGL_HAVE_FL_COPY 0) +diff --git a/scripts/MathGLConfig.cmake.in b/scripts/MathGLConfig.cmake.in +index 78bad89..0c2e5ed 100644 +--- a/scripts/MathGLConfig.cmake.in ++++ b/scripts/MathGLConfig.cmake.in +@@ -25,6 +25,12 @@ endif() + if (MathGL2_HAVE_OPENMP STRGREATER "") + find_dependency(OpenMP) + endif() ++if("@enable-arma@") ++ find_dependency(Armadillo CONFIG) ++endif() ++if(MathGL2_HAVE_FLTK) ++ find_dependency(FLTK CONFIG) ++endif() + + # Compute paths + get_filename_component(MathGL2_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) diff --git a/ports/mathgl/enable-examples.patch b/ports/mathgl/enable-examples.patch new file mode 100644 index 00000000000000..ff809bf17cab03 --- /dev/null +++ b/ports/mathgl/enable-examples.patch @@ -0,0 +1,14 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b393fa7..8a1ce4b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -838,7 +838,9 @@ if(NOT enable-lgpl) + add_subdirectory( lang ) + endif(enable-python OR enable-lua OR enable-octave) + add_subdirectory( utils ) ++if(enable-examples) + add_subdirectory( examples ) ++endif() + if(NOT WIN32) + add_subdirectory( fonts ) + endif(NOT WIN32) diff --git a/ports/mathgl/fix-cross-builds.patch b/ports/mathgl/fix-cross-builds.patch new file mode 100644 index 00000000000000..36f3ae21468ea0 --- /dev/null +++ b/ports/mathgl/fix-cross-builds.patch @@ -0,0 +1,60 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 8a1ce4b..71d07bf 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -842,8 +842,9 @@ if(enable-examples) + add_subdirectory( examples ) + endif() + if(NOT WIN32) +- add_subdirectory( fonts ) ++ set(INSTALL_FONTS 1) + endif(NOT WIN32) ++add_subdirectory( fonts ) + add_subdirectory( mgllab ) + endif(NOT enable-lgpl) + +diff --git a/fonts/CMakeLists.txt b/fonts/CMakeLists.txt +index f529c18..aba1bc3 100644 +--- a/fonts/CMakeLists.txt ++++ b/fonts/CMakeLists.txt +@@ -1,8 +1,20 @@ ++if(MAKE_BIN_EXECUTABLE) ++ add_executable(make_bin IMPORTED) ++ set_target_properties(make_bin PROPERTIES IMPORTED_LOCATION "${MAKE_BIN_EXECUTABLE}") ++else() ++ add_executable(make_bin make_bin.cpp) ++ target_link_libraries(make_bin mgl${link_type} ${getopt_lib-static}) ++ install(TARGETS make_bin RUNTIME DESTINATION bin) ++endif() ++if(NOT INSTALL_FONTS) ++ return() ++elseif(0) + include_directories( ${MathGL2_SOURCE_DIR}/include ${MathGL2_BINARY_DIR}/include) + set(hdrF ../include/mgl2/font.h ../include/mgl2/define.h ${MathGL2_BINARY_DIR}/include/mgl2/config.h) + add_executable(make_bin make_bin.cpp ../src/font.cpp ${hdrF}) + #target_link_libraries(make_bin mgl-static ${getopt_lib-static}) + target_link_libraries(make_bin ${MGL_DEP_LIBS}) ++endif() + + set(MGL_FONTS STIX adventor bonum cursor heroscn heros pagella schola termes) + set(MGL_FONTS_BIN ) +diff --git a/fonts/make_bin.cpp b/fonts/make_bin.cpp +index 73d0adb..e0158be 100644 +--- a/fonts/make_bin.cpp ++++ b/fonts/make_bin.cpp +@@ -20,6 +20,7 @@ + #include + #include "mgl2/font.h" + //----------------------------------------------------------------------------- ++#if 0 // vcpkg links to mgl lib + extern mglFont *mglDefFont; + void mgl_init() // TODO try to add ld option: "-init mgl_init" + { +@@ -30,6 +31,7 @@ void mgl_init() // TODO try to add ld option: "-init mgl_init" + mglDefFont = new mglFont(MGL_DEF_FONT_NAME); + } + } ++#endif + int main(int argc, char *argv[]) + { + mglFont fnt; diff --git a/ports/mathgl/fix-examples.patch b/ports/mathgl/fix-examples.patch new file mode 100644 index 00000000000000..87ce03f5dc864a --- /dev/null +++ b/ports/mathgl/fix-examples.patch @@ -0,0 +1,32 @@ +diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt +index cd389bd..56ad515 100644 +--- a/examples/CMakeLists.txt ++++ b/examples/CMakeLists.txt +@@ -26,7 +26,7 @@ endif(MGL_HAVE_GLUT) + + if(MGL_HAVE_WX) + include(${wxWidgets_USE_FILE}) +- add_executable(mgl_wx_example wnd_samples.cpp wx_example.cpp) ++ add_executable(mgl_wx_example WIN32 wnd_samples.cpp wx_example.cpp) + target_link_libraries(mgl_wx_example mgl-wx${link_type}) + endif(MGL_HAVE_WX) + +diff --git a/examples/full_test.cpp b/examples/full_test.cpp +index 50fb6ae..6f3ef26 100644 +--- a/examples/full_test.cpp ++++ b/examples/full_test.cpp +@@ -21,6 +21,14 @@ + #include + #include + #include ++#if defined(_UNICODE) && defined(getopt_long_only) ++#undef getopt_long_only ++#undef option ++#undef optarg ++#define getopt_long_only getopt_long_only_a ++#define option option_a ++#define optarg optarg_a ++#endif + #ifdef WIN32 + #include + #include diff --git a/ports/mathgl/fix-format-specifiers.patch b/ports/mathgl/fix-format-specifiers.patch new file mode 100644 index 00000000000000..cd7b782782c0c4 --- /dev/null +++ b/ports/mathgl/fix-format-specifiers.patch @@ -0,0 +1,140 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a560278..3184d2c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -239,6 +239,11 @@ if(MSVC AND MSVC_VERSION GREATER 1899) + SET(CMAKE_CXX_FLAGS "/EHsc -D_CRT_STDIO_ISO_WIDE_SPECIFIERS ${CMAKE_CXX_FLAGS}") + SET(CMAKE_C_FLAGS "-D_CRT_STDIO_ISO_WIDE_SPECIFIERS ${CMAKE_C_FLAGS}") + endif(MSVC AND MSVC_VERSION GREATER 1899) ++# _CRT_STDIO_ISO_WIDE_SPECIFIERS was never officially supported ++# and breaks link mathgl widget libs against their GUI libs: ++# error LNK2038: mismatch detected for '_CRT_STDIO_ISO_WIDE_SPECIFIERS': value '0' doesn't match value '1' in fltk.cpp.obj ++string(REPLACE "-D_CRT_STDIO_ISO_WIDE_SPECIFIERS" "-DVCPKG_MSVC_WPRINTF" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") ++string(REPLACE "-D_CRT_STDIO_ISO_WIDE_SPECIFIERS" "-DVCPKG_MSVC_WPRINTF" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") + + include(CheckCXXSourceCompiles) + +diff --git a/src/export_2d.cpp b/src/export_2d.cpp +index bd07404..65f5fdf 100644 +--- a/src/export_2d.cpp ++++ b/src/export_2d.cpp +@@ -17,6 +17,13 @@ + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ ++// wprintf format specifier for char*. ++// Inject by replacing (wprintf.*?[^"])" PERCENT_S " with $1" PERCENT_S " ++#ifdef VCPKG_MSVC_WPRINTF ++#define PERCENT_S "%S" ++#else ++#define PERCENT_S "%s" ++#endif + #include "mgl2/canvas.h" + #include "mgl2/canvas_cf.h" + #include "mgl2/font.h" +@@ -661,7 +668,7 @@ void MGL_EXPORT mgl_write_tex(HMGL gr, const char *fname,const char *descr) + FILE *fp = fopen(fname,"w"); + if(!fp) { gr->SetWarn(mglWarnOpen,fname); return; } + const std::string loc = setlocale(LC_NUMERIC, "C"); fwide(fp,1); +- fwprintf(fp, L"%% Created by MathGL library\n%% Title: %s\n\n",descr?descr:fname); ++ fwprintf(fp, L"%% Created by MathGL library\n%% Title: " PERCENT_S "\n\n",descr?descr:fname); + // provide marks + fwprintf(fp, L"\\providecommand{\\mglp}[4]{\\draw[#3] (#1-#4, #2) -- (#1+#4,#2) (#1,#2-#4) -- (#1,#2+#4);}\n"); + fwprintf(fp, L"\\providecommand{\\mglx}[4]{\\draw[#3] (#1-#4, #2-#4) -- (#1+#4,#2+#4) (#1+#4,#2-#4) -- (#1-#4,#2+#4);}\n"); +@@ -707,47 +714,47 @@ void MGL_EXPORT mgl_write_tex(HMGL gr, const char *fname,const char *descr) + switch(q.n4) // NOTE: no thickness for marks in TeX + { + case 'P': +- fwprintf(fp, L"\\mglp{%.4g}{%.4g}{%s}{%.4g} \\mgls{%.4g}{%.4g}{%s}{%.4g}\n", x,y,cname,s,x,y,cname,s); break; ++ fwprintf(fp, L"\\mglp{%.4g}{%.4g}{" PERCENT_S "}{%.4g} \\mgls{%.4g}{%.4g}{" PERCENT_S "}{%.4g}\n", x,y,cname,s,x,y,cname,s); break; + case 'X': +- fwprintf(fp, L"\\mglx{%.4g}{%.4g}{%s}{%.4g} \\mgls{%.4g}{%.4g}{%s}{%.4g}\n", x,y,cname,s,x,y,cname,s); break; ++ fwprintf(fp, L"\\mglx{%.4g}{%.4g}{" PERCENT_S "}{%.4g} \\mgls{%.4g}{%.4g}{" PERCENT_S "}{%.4g}\n", x,y,cname,s,x,y,cname,s); break; + case 'C': +- fwprintf(fp, L"\\mglc{%.4g}{%.4g}{%s}{%.4g} \\mglo{%.4g}{%.4g}{%s}{%.4g}\n", x,y,cname,s,x,y,cname,s); break; +- case '+': fwprintf(fp, L"\\mglp{%.4g}{%.4g}{%s}{%.4g}\n", x,y,cname,s); break; +- case 'x': fwprintf(fp, L"\\mglx{%.4g}{%.4g}{%s}{%.4g}\n", x,y,cname,s); break; +- case 's': fwprintf(fp, L"\\mgls{%.4g}{%.4g}{%s}{%.4g}\n", x,y,cname,s); break; +- case 'S': fwprintf(fp, L"\\mglS{%.4g}{%.4g}{%s}{%.4g}\n", x,y,cname,s); break; +- case 'd': fwprintf(fp, L"\\mgld{%.4g}{%.4g}{%s}{%.4g}\n", x,y,cname,s); break; +- case 'D': fwprintf(fp, L"\\mglD{%.4g}{%.4g}{%s}{%.4g}\n", x,y,cname,s); break; +- case '^': fwprintf(fp, L"\\mglt{%.4g}{%.4g}{%s}{%.4g}\n", x,y,cname,s); break; +- case 'T': fwprintf(fp, L"\\mglT{%.4g}{%.4g}{%s}{%.4g}\n", x,y,cname,s); break; +- case 'v': fwprintf(fp, L"\\mglv{%.4g}{%.4g}{%s}{%.4g}\n", x,y,cname,s); break; +- case 'V': fwprintf(fp, L"\\mglV{%.4g}{%.4g}{%s}{%.4g}\n", x,y,cname,s); break; +- case '<': fwprintf(fp, L"\\mgll{%.4g}{%.4g}{%s}{%.4g}\n", x,y,cname,s); break; +- case 'L': fwprintf(fp, L"\\mglL{%.4g}{%.4g}{%s}{%.4g}\n", x,y,cname,s); break; +- case '>': fwprintf(fp, L"\\mglr{%.4g}{%.4g}{%s}{%.4g}\n", x,y,cname,s); break; +- case 'R': fwprintf(fp, L"\\mglR{%.4g}{%.4g}{%s}{%.4g}\n", x,y,cname,s); break; +- case 'Y': fwprintf(fp, L"\\mglY{%.4g}{%.4g}{%s}{%.4g}\n", x,y,cname,s); break; +- case 'o': fwprintf(fp, L"\\mglo{%.4g}{%.4g}{%s}{%.4g}\n", x,y,cname,s); break; +- case 'O': fwprintf(fp, L"\\mglO{%.4g}{%.4g}{%s}{%.4g}\n", x,y,cname,s); break; +- case '*': fwprintf(fp, L"\\mgla{%.4g}{%.4g}{%s}{%.4g}\n", x,y,cname,s); break; +- default: fwprintf(fp, L"\\mglc{%.4g}{%.4g}{%s}\n", x,y,cname); break; ++ fwprintf(fp, L"\\mglc{%.4g}{%.4g}{" PERCENT_S "}{%.4g} \\mglo{%.4g}{%.4g}{" PERCENT_S "}{%.4g}\n", x,y,cname,s,x,y,cname,s); break; ++ case '+': fwprintf(fp, L"\\mglp{%.4g}{%.4g}{" PERCENT_S "}{%.4g}\n", x,y,cname,s); break; ++ case 'x': fwprintf(fp, L"\\mglx{%.4g}{%.4g}{" PERCENT_S "}{%.4g}\n", x,y,cname,s); break; ++ case 's': fwprintf(fp, L"\\mgls{%.4g}{%.4g}{" PERCENT_S "}{%.4g}\n", x,y,cname,s); break; ++ case 'S': fwprintf(fp, L"\\mglS{%.4g}{%.4g}{" PERCENT_S "}{%.4g}\n", x,y,cname,s); break; ++ case 'd': fwprintf(fp, L"\\mgld{%.4g}{%.4g}{" PERCENT_S "}{%.4g}\n", x,y,cname,s); break; ++ case 'D': fwprintf(fp, L"\\mglD{%.4g}{%.4g}{" PERCENT_S "}{%.4g}\n", x,y,cname,s); break; ++ case '^': fwprintf(fp, L"\\mglt{%.4g}{%.4g}{" PERCENT_S "}{%.4g}\n", x,y,cname,s); break; ++ case 'T': fwprintf(fp, L"\\mglT{%.4g}{%.4g}{" PERCENT_S "}{%.4g}\n", x,y,cname,s); break; ++ case 'v': fwprintf(fp, L"\\mglv{%.4g}{%.4g}{" PERCENT_S "}{%.4g}\n", x,y,cname,s); break; ++ case 'V': fwprintf(fp, L"\\mglV{%.4g}{%.4g}{" PERCENT_S "}{%.4g}\n", x,y,cname,s); break; ++ case '<': fwprintf(fp, L"\\mgll{%.4g}{%.4g}{" PERCENT_S "}{%.4g}\n", x,y,cname,s); break; ++ case 'L': fwprintf(fp, L"\\mglL{%.4g}{%.4g}{" PERCENT_S "}{%.4g}\n", x,y,cname,s); break; ++ case '>': fwprintf(fp, L"\\mglr{%.4g}{%.4g}{" PERCENT_S "}{%.4g}\n", x,y,cname,s); break; ++ case 'R': fwprintf(fp, L"\\mglR{%.4g}{%.4g}{" PERCENT_S "}{%.4g}\n", x,y,cname,s); break; ++ case 'Y': fwprintf(fp, L"\\mglY{%.4g}{%.4g}{" PERCENT_S "}{%.4g}\n", x,y,cname,s); break; ++ case 'o': fwprintf(fp, L"\\mglo{%.4g}{%.4g}{" PERCENT_S "}{%.4g}\n", x,y,cname,s); break; ++ case 'O': fwprintf(fp, L"\\mglO{%.4g}{%.4g}{" PERCENT_S "}{%.4g}\n", x,y,cname,s); break; ++ case '*': fwprintf(fp, L"\\mgla{%.4g}{%.4g}{" PERCENT_S "}{%.4g}\n", x,y,cname,s); break; ++ default: fwprintf(fp, L"\\mglc{%.4g}{%.4g}{" PERCENT_S "}\n", x,y,cname); break; + } + } + else if(q.type==2 && cp.r[3]) + { + const mglPnt &p2=gr->GetPnt(q.n2), &p3=gr->GetPnt(q.n3); + if(cp.r[3]<255) +- fwprintf(fp, L"\\fill[%s, fill opacity=%.4g] (%.4g,%.4g) -- (%.4g,%.4g) -- (%.4g,%.4g) -- cycle;\n", cname,cp.r[3]/255., x,y, p2.x/100,p2.y/100, p3.x/100,p3.y/100); ++ fwprintf(fp, L"\\fill[" PERCENT_S ", fill opacity=%.4g] (%.4g,%.4g) -- (%.4g,%.4g) -- (%.4g,%.4g) -- cycle;\n", cname,cp.r[3]/255., x,y, p2.x/100,p2.y/100, p3.x/100,p3.y/100); + else +- fwprintf(fp, L"\\fill[%s, fill] (%.4g,%.4g) -- (%.4g,%.4g) -- (%.4g,%.4g) -- cycle;\n", cname, x,y, p2.x/100,p2.y/100, p3.x/100,p3.y/100); ++ fwprintf(fp, L"\\fill[" PERCENT_S ", fill] (%.4g,%.4g) -- (%.4g,%.4g) -- (%.4g,%.4g) -- cycle;\n", cname, x,y, p2.x/100,p2.y/100, p3.x/100,p3.y/100); + } + else if(q.type==3 && cp.r[3]) + { + const mglPnt &p2=gr->GetPnt(q.n2), &p3=gr->GetPnt(q.n3), &p4=gr->GetPnt(q.n4); + if(cp.r[3]<255) +- fwprintf(fp, L"\\fill[%s, fill opacity=%.4g] (%.4g,%.4g) -- (%.4g,%.4g) -- (%.4g,%.4g) -- (%.4g,%.4g) -- cycle;\n", cname,cp.r[3]/255., x,y, p2.x/100,p2.y/100, p4.x/100,p4.y/100, p3.x/100,p3.y/100); ++ fwprintf(fp, L"\\fill[" PERCENT_S ", fill opacity=%.4g] (%.4g,%.4g) -- (%.4g,%.4g) -- (%.4g,%.4g) -- (%.4g,%.4g) -- cycle;\n", cname,cp.r[3]/255., x,y, p2.x/100,p2.y/100, p4.x/100,p4.y/100, p3.x/100,p3.y/100); + else +- fwprintf(fp, L"\\fill[%s, fill] (%.4g,%.4g) -- (%.4g,%.4g) -- (%.4g,%.4g) -- (%.4g,%.4g) -- cycle;\n", cname, x,y, p2.x/100,p2.y/100, p4.x/100,p4.y/100, p3.x/100,p3.y/100); ++ fwprintf(fp, L"\\fill[" PERCENT_S ", fill] (%.4g,%.4g) -- (%.4g,%.4g) -- (%.4g,%.4g) -- (%.4g,%.4g) -- cycle;\n", cname, x,y, p2.x/100,p2.y/100, p4.x/100,p4.y/100, p3.x/100,p3.y/100); + + } + else if(q.type==1) // lines +@@ -755,8 +762,8 @@ void MGL_EXPORT mgl_write_tex(HMGL gr, const char *fname,const char *descr) + //const char *dash[]={"", "8 8","4 4","1 3","7 4 1 4","3 2 1 2"}; + const char *w[]={"semithick","thick","very thick","ultra thick"}; + int iw=int(q.w-0.5); if(iw>3) iw=3; +- if(iw<0) fwprintf(fp,L"\\draw[%s] ",cname); +- else fwprintf(fp,L"\\draw[%s,%s] ",cname,w[iw]); ++ if(iw<0) fwprintf(fp,L"\\draw[" PERCENT_S "] ",cname); ++ else fwprintf(fp,L"\\draw[" PERCENT_S "," PERCENT_S "] ",cname,w[iw]); + // TODO: add line dashing + wp = q.w>1 ? q.w:1; st = q.n3; + std::vector ids = put_line(gr,i,wp,cp.c,st); +@@ -780,9 +787,9 @@ void MGL_EXPORT mgl_write_tex(HMGL gr, const char *fname,const char *descr) + // if(f&MGL_FONT_ITAL) ss.append(",font=\\itshape"); + // if(f&MGL_FONT_BOLD) ss.append(",font=\\bfshape"); + if(t.text.find('\\')!=std::string::npos || t.text.find('{')!=std::string::npos || t.text.find('_')!=std::string::npos || t.text.find('^')!=std::string::npos) +- fwprintf(fp,L"\\draw[%s] (%.4g,%.4g) node[rotate=%.2g]{$%ls$};\n", ss.c_str(),x-dx,y-dy, -q.p, t.text.c_str()); ++ fwprintf(fp,L"\\draw[" PERCENT_S "] (%.4g,%.4g) node[rotate=%.2g]{$%ls$};\n", ss.c_str(),x-dx,y-dy, -q.p, t.text.c_str()); + else +- fwprintf(fp,L"\\draw[%s] (%.4g,%.4g) node[rotate=%.2g]{%ls};\n", ss.c_str(),x-dx,y-dy, -q.p, t.text.c_str()); ++ fwprintf(fp,L"\\draw[" PERCENT_S "] (%.4g,%.4g) node[rotate=%.2g]{%ls};\n", ss.c_str(),x-dx,y-dy, -q.p, t.text.c_str()); + } + } + fwprintf(fp, L"\\end{tikzpicture}\n"); diff --git a/ports/mathgl/fix-glut.patch b/ports/mathgl/fix-glut.patch new file mode 100644 index 00000000000000..6acac1c18d81c3 --- /dev/null +++ b/ports/mathgl/fix-glut.patch @@ -0,0 +1,13 @@ +diff --git a/widgets/glut.cpp b/widgets/glut.cpp +index eca65db..6a4641d 100644 +--- a/widgets/glut.cpp ++++ b/widgets/glut.cpp +@@ -27,7 +27,7 @@ + #if defined(_MSC_VER) || defined(__BORLANDC__) + #include + #include +- #include "glut.h" ++ #include + #else + #include + #include diff --git a/ports/mathgl/fix-include-property.patch b/ports/mathgl/fix-include-property.patch new file mode 100644 index 00000000000000..1c15d38a1cac91 --- /dev/null +++ b/ports/mathgl/fix-include-property.patch @@ -0,0 +1,14 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index d44125c..1ad17a1 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -53,6 +53,9 @@ generate_export_header(mgl EXPORT_FILE_NAME ../include/mgl2/dllexport.h) + target_link_libraries(mgl ${MGL_DEP_LIBS}) + target_link_libraries(mgl-static ${MGL_DEP_LIBS}) + ++target_include_directories(mgl PUBLIC $) ++target_include_directories(mgl-static PUBLIC $) ++ + mgl_po_src(${mgl_src} ${mgl_hdr}) + + if(MGL_HAVE_MPI) diff --git a/ports/mathgl/fix-mgllab.patch b/ports/mathgl/fix-mgllab.patch new file mode 100644 index 00000000000000..23376fd1abe609 --- /dev/null +++ b/ports/mathgl/fix-mgllab.patch @@ -0,0 +1,13 @@ +diff --git a/mgllab/mgllab.cpp b/mgllab/mgllab.cpp +index ef2d556..36fbfc4 100644 +--- a/mgllab/mgllab.cpp ++++ b/mgllab/mgllab.cpp +@@ -344,7 +344,7 @@ Fl_Menu_Item menuitems[] = { + void mem_upd_cb(Fl_Widget *, void *v) + { ((ScriptWindow*)v)->mem_init(); } + //----------------------------------------------------------------------------- +-extern Fl_RGB_Image img_udav; ++extern MGL_EXPORT Fl_RGB_Image img_udav; + ScriptWindow *new_view() + { + Fl_Group *gg; diff --git a/ports/mathgl/fix_cmakelists_and_cpp.patch b/ports/mathgl/fix_cmakelists_and_cpp.patch deleted file mode 100644 index a929f1ebe8f059..00000000000000 --- a/ports/mathgl/fix_cmakelists_and_cpp.patch +++ /dev/null @@ -1,153 +0,0 @@ -diff --git a/mgllab/CMakeLists.txt b/mgllab/CMakeLists.txt -index 1649104..eeec1c1 100644 ---- a/mgllab/CMakeLists.txt -+++ b/mgllab/CMakeLists.txt -@@ -38,7 +38,11 @@ if(MGL_HAVE_FLTK) - set(mgllab_src ${mgllab_src} mgllab.rc) - endif(WIN32) - add_executable(mgllab ${mgllab_src} ${mgllab_hdr}) -- target_link_libraries(mgllab mgl mgl-fltk ${FLTK_LIBRARIES}) -+ if(WIN32) -+ target_link_libraries(mgllab mgl mgl-fltk mgl-fltk-static mgl-static getopt-static ${FLTK_LIBRARIES}) -+ else(WIN32) -+ target_link_libraries(mgllab mgl mgl-fltk ${FLTK_LIBRARIES}) -+ endif(WIN32) - install( - TARGETS mgllab - RUNTIME DESTINATION bin ) -diff --git a/mgllab/table.cpp b/mgllab/table.cpp -index 5243549..23eebe5 100644 ---- a/mgllab/table.cpp -+++ b/mgllab/table.cpp -@@ -559,8 +559,13 @@ public: - o->tooltip(_("Change data values and close this window")); - w->set_modal(); w->end(); - } -- double min() { return wmin->value(); } -- double max() { return wmax->value(); } -+ #if WIN32 -+ double _min() { return wmin->value(); } -+ double _max() { return wmax->value(); } -+ #else -+ double min() { return wmin->value(); } -+ double max() { return wmax->value(); } -+ #endif - int sym() { return wsym->value(); } - bool ok() { return !result.empty(); } - void cb_ok() -@@ -581,8 +586,14 @@ void fill_cb(Fl_Widget*, void*v) - HMDT d = dynamic_cast(e->var); - HADT c = dynamic_cast(e->var); - char ch = nrm_dlg.result[0]; -- if(d) { d->Fill(nrm_dlg.min(),nrm_dlg.max(),ch); e->refresh(); } -- if(c) { c->Fill(nrm_dlg.min(),nrm_dlg.max(),ch); e->refresh(); } -+ #if WIN32 -+ if(d) { d->Fill(nrm_dlg._min(),nrm_dlg._max(),ch); e->refresh(); } -+ if(c) { c->Fill(nrm_dlg._min(),nrm_dlg._max(),ch); e->refresh(); } -+ #else -+ if(d) { d->Fill(nrm_dlg.min(),nrm_dlg.max(),ch); e->refresh(); } -+ if(c) { c->Fill(nrm_dlg.min(),nrm_dlg.max(),ch); e->refresh(); } -+ #endif -+ - } - } - //----------------------------------------------------------------------------- -@@ -594,8 +605,13 @@ void normal_cb(Fl_Widget*, void*v) - { - HMDT d = dynamic_cast(e->var); - HADT c = dynamic_cast(e->var); -- if(d) { d->Norm(nrm_dlg.min(),nrm_dlg.max(),nrm_dlg.sym()); e->refresh(); } -- if(c) { c->Fill(nrm_dlg.min(),nrm_dlg.max(),nrm_dlg.sym()); e->refresh(); } -+ #if WIN32 -+ if(d) { d->Norm(nrm_dlg._min(),nrm_dlg._max(),nrm_dlg.sym()); e->refresh(); } -+ if(c) { c->Fill(nrm_dlg._min(),nrm_dlg._max(),nrm_dlg.sym()); e->refresh(); } -+ #else -+ if(d) { d->Norm(nrm_dlg.min(),nrm_dlg.max(),nrm_dlg.sym()); e->refresh(); } -+ if(c) { c->Fill(nrm_dlg.min(),nrm_dlg.max(),nrm_dlg.sym()); e->refresh(); } -+ #endif - } - } - //----------------------------------------------------------------------------- -diff --git a/src/parser.cpp b/src/parser.cpp -index 577191d..e6909a1 100644 ---- a/src/parser.cpp -+++ b/src/parser.cpp -@@ -58,7 +58,10 @@ void mglParser::FillBaseCmd() - HMDT MGL_NO_EXPORT mglFormulaCalc(std::wstring string, mglParser *arg, const std::vector &head); - HADT MGL_NO_EXPORT mglFormulaCalcC(std::wstring string, mglParser *arg, const std::vector &head); - //----------------------------------------------------------------------------- -+#ifndef MGL_ASK_FUNC -+#define MGL_ASK_FUNC - MGL_EXPORT void (*mgl_ask_func)(const wchar_t *, wchar_t *)=0; -+#endif - void MGL_EXPORT mgl_ask_gets(const wchar_t *quest, wchar_t *res) - { printf("%ls\n",quest); if(!fgetws(res,1024,stdin)) *res=0; } - //----------------------------------------------------------------------------- -@@ -69,7 +72,10 @@ void MGL_EXPORT mgl_progress_txt(int value, int maximal, HMGL) - else for(int i=prev;i anim; - mglParse p(true); -diff --git a/include/mgl2/datac.h b/include/mgl2/datac.h -index f2c0251..0e69de7 100644 ---- a/include/mgl2/datac.h -+++ b/include/mgl2/datac.h -@@ -474,7 +474,7 @@ using mglDataA::Momentum; - void set_v(mreal val, long i,long j=0,long k=0) { a[i+nx*(j+ny*k)]=val; } - #else - /// Get the value in given cell of the data with border checking -- mreal v(long i,long j=0,long k=0) const { return mgl_abs(mgl_datac_get_value(this,i,j,k)); } -+ mreal v(long i,long j=0,long k=0) const { return abs(a[i+nx*(j+ny*k)]); } - /// Set the value in given cell of the data - void set_v(mreal val, long i,long j=0,long k=0) { mgl_datac_set_value(this,val,i,j,k); } - #endif -diff --git a/CMakeLists.txt b/CMakeLists.txt -index d0c779d..acd9d7f 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -579,10 +579,15 @@ if(enable-glut) - if(NOT MGL_HAVE_OPENGL) - message(SEND_ERROR "You have to enable OpenGL if you plan to use GLUT.") - endif(NOT MGL_HAVE_OPENGL) -- include(FindGLUT) -+ find_path(GLUT_INCLUDE_DIR freeglut.h PATH_SUFFIXES GL) -+ include(SelectLibraryConfigurations) -+ find_library(GLUT_LIBRARY_RELEASE NAMES freeglut) -+ find_library(GLUT_LIBRARY_DEBUG NAMES freeglutd) -+ select_library_configurations(GLUT) - if(NOT GLUT_FOUND) - message(SEND_ERROR "Couldn't find GLUT library.") - endif(NOT GLUT_FOUND) -+ include_directories(${GLUT_INCLUDE_DIR}/GL) - else(enable-glut) - set(MGL_HAVE_GLUT 0) - endif(enable-glut) diff --git a/ports/mathgl/fix_link_gsl.patch b/ports/mathgl/fix_link_gsl.patch new file mode 100644 index 00000000000000..7715f808ac2d8a --- /dev/null +++ b/ports/mathgl/fix_link_gsl.patch @@ -0,0 +1,37 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1c931e2..4987f2d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -485,25 +485,13 @@ endif(enable-openmp) + + if(enable-gsl) + set(MGL_HAVE_GSL 1) +- find_library(GSL_LIB gsl) +- find_library(GSL_CBLAS_LIB gslcblas) +- find_path(GSL_INCLUDE_DIR gsl/gsl_fft_complex.h) +- if(NOT GSL_LIB OR NOT GSL_CBLAS_LIB OR NOT GSL_INCLUDE_DIR) +- message(SEND_ERROR "${GSL_LIB}") +- message(SEND_ERROR "${GSL_CBLAS_LIB}") +- message(SEND_ERROR "${GSL_INCLUDE_DIR}") +- message(SEND_ERROR "Couldn't find GSL libraries.") +- else(NOT GSL_LIB OR NOT GSL_CBLAS_LIB OR NOT GSL_INCLUDE_DIR) +- set(CMAKE_REQUIRED_INCLUDES ${GSL_INCLUDE_DIR}) +- set(CMAKE_REQUIRED_LIBRARIES ${GSL_LIB} ${GSL_CBLAS_LIB}) +- CHECK_CXX_SOURCE_COMPILES("#include +- int main(){gsl_multifit_fdfsolver *s=0;gsl_matrix *J = 0; +- gsl_multifit_fdfsolver_jac(s, J);}" MGL_HAVE_GSL2) +- unset(CMAKE_REQUIRED_INCLUDES) +- unset(CMAKE_REQUIRED_LIBRARIES) +- endif(NOT GSL_LIB OR NOT GSL_CBLAS_LIB OR NOT GSL_INCLUDE_DIR) +- set(MGL_DEP_LIBS ${GSL_LIB} ${GSL_CBLAS_LIB} ${MGL_DEP_LIBS}) +- include_directories(${GSL_INCLUDE_DIR}) ++ find_package(GSL REQUIRED) ++ set(MGL_DEP_LIBS GSL::gsl GSL::gslcblas ${MGL_DEP_LIBS}) ++ set(CMAKE_REQUIRED_LIBRARIES GSL::gsl GSL::gslcblas) ++ CHECK_CXX_SOURCE_COMPILES("#include ++ int main(){gsl_multifit_fdfsolver *s=0;gsl_matrix *J = 0; ++ gsl_multifit_fdfsolver_jac(s, J);}" MGL_HAVE_GSL2) ++ unset(CMAKE_REQUIRED_LIBRARIES) + else(enable-gsl) + set(MGL_HAVE_GSL 0) + endif(enable-gsl) diff --git a/ports/mathgl/include_functional.patch b/ports/mathgl/include_functional.patch new file mode 100644 index 00000000000000..1b7a2b7458caeb --- /dev/null +++ b/ports/mathgl/include_functional.patch @@ -0,0 +1,12 @@ +diff --git a/src/prc/writePRC.h b/src/prc/writePRC.h +index d0b4e0e..3bc68ea 100644 +--- a/src/prc/writePRC.h ++++ b/src/prc/writePRC.h +@@ -31,6 +31,7 @@ + #include "PRC.h" + #include + #include ++#include + + static const uint32_t m1=(uint32_t)-1; + static const double pi=acos(-1.0); diff --git a/ports/mathgl/linkage.patch b/ports/mathgl/linkage.patch new file mode 100644 index 00000000000000..e63971f1b7d6c3 --- /dev/null +++ b/ports/mathgl/linkage.patch @@ -0,0 +1,187 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a316984..920a099 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -71,6 +71,14 @@ macro(mgl_po_src) + set(po_files ${po_files} ${l_files} PARENT_SCOPE) + endmacro(mgl_po_src) + ++if(BUILD_SHARED_LIBS) ++ set(link_type "") ++ set(excluded_type "-static") ++else() ++ set(link_type "-static") ++ set(excluded_type "") ++endif() ++ + function(mgl_add_lib mgl_tmp_lib) + if(${mgl_tmp_lib} MATCHES mgl) + set(mgllib mgl) +@@ -113,8 +121,10 @@ function(mgl_add_lib mgl_tmp_lib) + set_target_properties(${mgllib}-static PROPERTIES OUTPUT_NAME "${mgllib}${mgl_lib_static}${mgl_lib_end}") + endif(enable-mgl2) + ++ target_compile_definitions(${mgllib} PRIVATE BUILDING_${mgllib}_LIB) ++ set_target_properties(${mgllib}${excluded_type} PROPERTIES EXCLUDE_FROM_ALL 1) + install( +- TARGETS ${mgllib} ${mgllib}-static ++ TARGETS ${mgllib}${link_type} + EXPORT MathGLTargets + RUNTIME DESTINATION ${MathGL_INSTALL_BIN_DIR} + ARCHIVE DESTINATION ${MathGL_INSTALL_LIB_DIR} +diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt +index 0263910..186d95b 100644 +--- a/examples/CMakeLists.txt ++++ b/examples/CMakeLists.txt +@@ -4,7 +4,7 @@ file(COPY ${CMAKE_SOURCE_DIR}/examples/Equirectangular-projection.jpg DESTINATIO + file(COPY ${CMAKE_SOURCE_DIR}/examples/samples.cpp DESTINATION ${CMAKE_BINARY_DIR}/examples) + file(COPY ${CMAKE_SOURCE_DIR}/examples/wnd_samples.cpp DESTINATION ${CMAKE_BINARY_DIR}/examples) + add_executable(mgl_example wnd_samples.cpp full_test.cpp samples.cpp) +-target_link_libraries(mgl_example mgl-static ${getopt_lib-static}) ++target_link_libraries(mgl_example mgl${link_type} ${getopt_lib-static}) + if(CMAKE_BUILD_TYPE STREQUAL "Debug" AND CMAKE_COMPILER_IS_GNUCXX AND enable-lcov) + setup_target_for_coverage( + NAME mgl_coverage +@@ -16,25 +16,25 @@ endif(CMAKE_BUILD_TYPE STREQUAL "Debug" AND CMAKE_COMPILER_IS_GNUCXX AND enable- + if(MGL_HAVE_FLTK) + include_directories(${FLTK_INCLUDE_DIR}) + add_executable(mgl_fltk_example wnd_samples.cpp fltk_example.cpp) +- target_link_libraries(mgl_fltk_example mgl-fltk) ++ target_link_libraries(mgl_fltk_example mgl-fltk${link_type}) + endif(MGL_HAVE_FLTK) + + if(MGL_HAVE_GLUT) + add_executable(mgl_glut_example wnd_samples.cpp glut_example.cpp) +- target_link_libraries(mgl_glut_example mgl-glut) ++ target_link_libraries(mgl_glut_example mgl-glut${link_type}) + endif(MGL_HAVE_GLUT) + + if(MGL_HAVE_WX) + include(${wxWidgets_USE_FILE}) + add_executable(mgl_wx_example wnd_samples.cpp wx_example.cpp) +- target_link_libraries(mgl_wx_example mgl-wx) ++ target_link_libraries(mgl_wx_example mgl-wx${link_type}) + endif(MGL_HAVE_WX) + + if(QT_ENABLED) + add_executable(mgl_qt_example wnd_samples.cpp qt_example.cpp) + if(enable-qt5) + include(../scripts/qt5.cmake) +- target_link_libraries(mgl_qt_example mgl-qt5) ++ target_link_libraries(mgl_qt_example mgl-qt5${link_type}) + else(enable-qt5) + include(../scripts/qt4.cmake) + target_link_libraries(mgl_qt_example mgl-qt4) +@@ -43,7 +43,7 @@ if(QT_ENABLED) + if(MGL_HAVE_OPENGL) + add_executable(mgl_qgl_example wnd_samples.cpp qgl_example.cpp) + if(enable-qt5) +- target_link_libraries(mgl_qgl_example mgl ${MGL_QT5_LIBS}) ++ target_link_libraries(mgl_qgl_example mgl${link_type} ${MGL_QT5_LIBS}) + else(enable-qt5) + target_link_libraries(mgl_qgl_example mgl ${MGL_QT4_LIBS}) + endif(enable-qt5) +@@ -52,11 +52,11 @@ endif(QT_ENABLED) + + if(MGL_HAVE_LTDL) + add_library(mgl_module MODULE mgl_module.cpp) +- target_link_libraries(mgl_module mgl) # for compatibility with win32 ++ target_link_libraries(mgl_module mgl${link_type}) # for compatibility with win32 + endif(MGL_HAVE_LTDL) + + if(MGL_HAVE_MPI) + add_executable(mgl_mpi_example mpi_test.cpp) +- target_link_libraries(mgl_mpi_example mgl-mpi mgl ${MPI_LIBRARIES}) ++ target_link_libraries(mgl_mpi_example mgl-mpi${link_type} mgl${link_type} ${MPI_LIBRARIES}) + target_include_directories(mgl_mpi_example SYSTEM PUBLIC ${MPI_CXX_INCLUDE_PATH}) + endif(MGL_HAVE_MPI) +diff --git a/include/mgl2/abstract.h b/include/mgl2/abstract.h +index da27869..b1e6761 100644 +--- a/include/mgl2/abstract.h ++++ b/include/mgl2/abstract.h +@@ -20,6 +20,15 @@ + #ifndef _MGL_ABSTRACT_H_ + #define _MGL_ABSTRACT_H_ + ++#include "mgl2/dllexport.h" ++#if defined(BUILDING_mgl_LIB) || !defined mgl_EXPORTS ++#define MGL_CORE_EXPORT MGL_EXPORT ++#elif defined(_WIN32) && !defined(MGL_STATIC_DEFINE) ++#define MGL_CORE_EXPORT __declspec(dllimport) ++#else ++#define MGL_CORE_EXPORT ++#endif ++ + #include "mgl2/define.h" + //----------------------------------------------------------------------------- + #ifdef __cplusplus +@@ -209,11 +218,11 @@ cmdual MGL_EXPORT mgl_cexpr_eval_v(HAEX ex, mdual *vars); + + //----------------------------------------------------------------------------- + /// Callback function for asking user a question. Result shouldn't exceed 1024. +-extern MGL_EXPORT void (*mgl_ask_func)(const wchar_t *quest, wchar_t *res); ++extern MGL_CORE_EXPORT void (*mgl_ask_func)(const wchar_t *quest, wchar_t *res); + /// Console function for asking user a question. Result shouldn't exceed 1024. + void MGL_EXPORT mgl_ask_gets(const wchar_t *quest, wchar_t *res); + /// Callback function for displaying progress of something. +-extern MGL_EXPORT void (*mgl_progress_func)(int value, int maximal, HMGL gr); ++extern MGL_CORE_EXPORT void (*mgl_progress_func)(int value, int maximal, HMGL gr); + /// Console function for displaying progress of something. + void MGL_EXPORT mgl_progress_txt(int value, int maximal, HMGL gr); + /// Display progress of something. +@@ -404,7 +413,7 @@ struct MGL_EXPORT mglColorID + char id; + mglColor col; + }; +-MGL_EXPORT extern mglColorID mglColorIds[31]; ++MGL_CORE_EXPORT extern mglColorID mglColorIds[31]; + // MGL_EXPORT extern std::string mglGlobalMess; ///< Buffer for receiving global messages + //----------------------------------------------------------------------------- + #endif +diff --git a/mgllab/CMakeLists.txt b/mgllab/CMakeLists.txt +index 1649104..41c2e6a 100644 +--- a/mgllab/CMakeLists.txt ++++ b/mgllab/CMakeLists.txt +@@ -38,7 +38,7 @@ if(MGL_HAVE_FLTK) + set(mgllab_src ${mgllab_src} mgllab.rc) + endif(WIN32) + add_executable(mgllab ${mgllab_src} ${mgllab_hdr}) +- target_link_libraries(mgllab mgl mgl-fltk ${FLTK_LIBRARIES}) ++ target_link_libraries(mgllab mgl${link_type} mgl-fltk${link_type} ${getopt_lib-static} ${FLTK_LIBRARIES}) + install( + TARGETS mgllab + RUNTIME DESTINATION bin ) +diff --git a/utils/CMakeLists.txt b/utils/CMakeLists.txt +index 3e10fa7..0281859 100644 +--- a/utils/CMakeLists.txt ++++ b/utils/CMakeLists.txt +@@ -1,11 +1,5 @@ + add_executable(make_pas make_pas.cpp) + +-if(MSVC) +-set(link_type -static) +-else(MSVC) +-set(link_type) +-endif(MSVC) +- + add_executable(mgltask mgltask.cpp) + target_link_libraries(mgltask mgl${link_type} ${getopt_lib-static}) + install( +@@ -23,7 +17,7 @@ install( + ) + + add_executable(mgl.cgi mglcgi.cpp) +-target_link_libraries(mgl.cgi mgl-static) ++target_link_libraries(mgl.cgi mgl${link_type}) + install( + TARGETS mgl.cgi + EXPORT MathGLTargets +@@ -36,7 +30,7 @@ mgl_po_src(mglconv.cpp mglview.cpp mglcgi.cpp mgltask.cpp) + if(MGL_HAVE_FLTK) + add_definitions(-DUSE_FLTK) + add_executable(mglview mglview.cpp) +- target_link_libraries(mglview mgl-fltk ${getopt_lib-static} ${FLTK_LIBRARIES}) ++ target_link_libraries(mglview mgl-fltk${link_type} ${getopt_lib-static} ${FLTK_LIBRARIES}) + install( + TARGETS mglview + EXPORT MathGLTargets diff --git a/ports/mathgl/portfile.cmake b/ports/mathgl/portfile.cmake index af6a6914084754..df0ad2b5e50490 100644 --- a/ports/mathgl/portfile.cmake +++ b/ports/mathgl/portfile.cmake @@ -1,78 +1,109 @@ -set(MATHGL_VERSION "2.4.3") - vcpkg_from_sourceforge( OUT_SOURCE_PATH SOURCE_PATH REPO mathgl/mathgl - REF mathgl%20${MATHGL_VERSION} - FILENAME "mathgl-${MATHGL_VERSION}.tar.gz" - SHA512 e47fc8171ce80c8b33a8f03d9375bc036455dae539b47cf4ee922f8fa36f5afcf8b3f0666997764e453eb698c0e8c03da36dd0ac2bf71c158e95309b247d27de + REF "mathgl%208.0" + FILENAME "mathgl-${VERSION}.tar.gz" + SHA512 1ff3023f1bbd7bfd84202777a0166a8d4255a020a07f3650b9858929345bc8a2ceea4db155d2c93ba32b762d2304474276290a9edac99fda70fb4b5bc12982c2 PATCHES - type_fix.patch - fix_cmakelists_and_cpp.patch + cmake-config.patch + dependencies.patch + linkage.patch + enable-examples.patch + fix-examples.patch + fix-cross-builds.patch + fix-format-specifiers.patch + fix-glut.patch + fix-mgllab.patch + include_functional.patch + fix-include-property.patch + fix_link_gsl.patch ) +file(REMOVE_RECURSE "${SOURCE_PATH}/addons/getopt") vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - hdf5 enable-hdf5 +FEATURES + arma enable-arma + examples enable-examples fltk enable-fltk gif enable-gif - png enable-png - zlib enable-zlib - jpeg enable-jpeg + glut enable-glut gsl enable-gsl + hdf5 enable-hdf5 + jpeg enable-jpeg opengl enable-opengl - glut enable-glut - wx enable-wx + png enable-png qt5 enable-qt5 + wx enable-wx + zlib enable-zlib ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS ${FEATURE_OPTIONS} +if(VCPKG_TARGET_IS_OSX) + list(APPEND FEATURE_OPTIONS + -Denable-openmp=OFF + -Denable-pthread=ON + ) +endif() + +if(VCPKG_CROSSCOMPILING) + list(APPEND FEATURE_OPTIONS "-DMAKE_BIN_EXECUTABLE=${CURRENT_HOST_INSTALLED_DIR}/tools/${PORT}/make_bin${VCPKG_HOST_EXECUTABLE_SUFFIX}") +endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} + "-DCMAKE_PROJECT_INCLUDE=${CMAKE_CURRENT_LIST_DIR}/cmake-project-include.cmake" + -DMathGL_INSTALL_CMAKE_DIR:STRING=share/mathgl2 + -DCMAKE_CXX_STANDARD=11 # minimum for armadillo on osx + -DCMAKE_DISABLE_FIND_PACKAGE_Intl=1 + -DCMAKE_POLICY_DEFAULT_CMP0127=NEW # cmake_dependent_option condition syntax ) -vcpkg_install_cmake() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +vcpkg_cmake_install() -if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - vcpkg_fixup_cmake_targets(CONFIG_PATH cmake) - file(REMOVE ${CURRENT_PACKAGES_DIR}/mathgl2-config.cmake) - file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/mathgl2-config.cmake) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/mgl2/dllexport.h" "#ifdef MGL_STATIC_DEFINE" "#if 1") else() - vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/mathgl) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/mgl2/dllexport.h" "#ifdef MGL_STATIC_DEFINE" "#if 0") endif() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) - -#somehow the native CMAKE_EXECUTABLE_SUFFIX does not work, so here we emulate it -if(CMAKE_HOST_WIN32) - set(EXECUTABLE_SUFFIX ".exe") +# MathGL exports proper CMake config under the MathGL2Config.cmake filename, and +# a find_path/find_library based package under the mathgl2-config.cmake filename. +# The latter doesn't support multi-config or static linkage requirements, and +# the variable names don't match the package names, i.e. it is unusable. +if(VCPKG_TARGET_IS_WINDOWS) + file(REMOVE "${CURRENT_PACKAGES_DIR}/mathgl2-config.cmake") + file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/mathgl2-config.cmake") else() - set(EXECUTABLE_SUFFIX "") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/cmake") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/cmake") endif() +vcpkg_cmake_config_fixup(PACKAGE_NAME mathgl2) + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/share/applications" + "${CURRENT_PACKAGES_DIR}/share/mime" + "${CURRENT_PACKAGES_DIR}/share/pixmaps" +) -file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/mgllab${EXECUTABLE_SUFFIX}) -file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/mglview${EXECUTABLE_SUFFIX}) -file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/mglconv${EXECUTABLE_SUFFIX}) -file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/mgltask${EXECUTABLE_SUFFIX}) -file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/udav${EXECUTABLE_SUFFIX}) -file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/mathgl/) -file(RENAME ${CURRENT_PACKAGES_DIR}/bin/mglconv${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/mathgl/mglconv${EXECUTABLE_SUFFIX}) -file(RENAME ${CURRENT_PACKAGES_DIR}/bin/mgltask${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/mathgl/mgltask${EXECUTABLE_SUFFIX}) -if (EXISTS ${CURRENT_PACKAGES_DIR}/bin/mgllab${EXECUTABLE_SUFFIX}) - file(RENAME ${CURRENT_PACKAGES_DIR}/bin/mgllab${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/mathgl/mgllab${EXECUTABLE_SUFFIX}) +set(tools mglconv mgltask) +if(NOT VCPKG_CROSSCOMPILING) + list(APPEND tools make_bin) endif() -if (EXISTS ${CURRENT_PACKAGES_DIR}/bin/mglview${EXECUTABLE_SUFFIX}) - file(RENAME ${CURRENT_PACKAGES_DIR}/bin/mglview${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/mathgl/mglview${EXECUTABLE_SUFFIX}) +if(enable-fltk) + list(APPEND tools mglview mgllab) endif() -if (EXISTS ${CURRENT_PACKAGES_DIR}/bin/udav${EXECUTABLE_SUFFIX}) - file(RENAME ${CURRENT_PACKAGES_DIR}/bin/udav${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/mathgl/udav${EXECUTABLE_SUFFIX}) +if(enable-qt5) + list(APPEND tools mglview udav) endif() +list(REMOVE_DUPLICATES tools) +vcpkg_copy_tools(TOOL_NAMES ${tools} AUTO_CLEAN) -vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/mathgl) - -if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) -endif() +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\"" "" 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 ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/mathgl RENAME copyright) +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/type_fix.patch b/ports/mathgl/type_fix.patch deleted file mode 100644 index 288f6b1a0d1a06..00000000000000 --- a/ports/mathgl/type_fix.patch +++ /dev/null @@ -1,62 +0,0 @@ -diff --git a/src/complex.cpp b/src/complex.cpp -index 2fcc14c..fb3498f 100755 ---- a/src/complex.cpp -+++ b/src/complex.cpp -@@ -863,12 +863,12 @@ void MGL_EXPORT mgl_datac_insert_(uintptr_t *d, const char *dir, int *at, int *n - void MGL_EXPORT mgl_datac_delete_(uintptr_t *d, const char *dir, int *at, int *num, int) - { mgl_datac_delete(_DC_,*dir,*at,*num); } - //----------------------------------------------------------------------------- --void MGL_EXPORT mgl_datac_set_value(HADT dat, dual v, long i, long j, long k) -+void MGL_EXPORT mgl_datac_set_value(HADT dat, mdual v, long i, long j, long k) - { - if(i>=0 && inx && j>=0 && jny && k>=0 && knz) - dat->a[i+dat->nx*(j+dat->ny*k)]=v; - } --void MGL_EXPORT mgl_datac_set_value_(uintptr_t *d, dual *v, int *i, int *j, int *k) -+void MGL_EXPORT mgl_datac_set_value_(uintptr_t *d, mdual *v, int *i, int *j, int *k) - { mgl_datac_set_value(_DC_,*v,*i,*j,*k); } - //----------------------------------------------------------------------------- - cmdual MGL_EXPORT mgl_datac_get_value(HCDT dat, long i, long j, long k) -diff --git a/src/complex_io.cpp b/src/complex_io.cpp -index 2fcd40a..49feb5c 100755 ---- a/src/complex_io.cpp -+++ b/src/complex_io.cpp -@@ -343,14 +343,14 @@ void MGL_EXPORT mgl_datac_create(HADT d,long mx,long my,long mz) - void MGL_EXPORT mgl_datac_create_(uintptr_t *d, int *nx,int *ny,int *nz) - { mgl_datac_create(_DC_,*nx,*ny,*nz); } - //----------------------------------------------------------------------------- --void MGL_EXPORT mgl_datac_link(HADT d, dual *A, long mx,long my,long mz) -+void MGL_EXPORT mgl_datac_link(HADT d, mdual *A, long mx,long my,long mz) - { - if(!A) return; - if(!d->link && d->a) delete [](d->a); - d->nx = mx>0 ? mx:1; d->ny = my>0 ? my:1; d->nz = mz>0 ? mz:1; -- d->link=true; d->a=A; d->NewId(); -+ d->link=true; d->a=(dual*)A; d->NewId(); - } --void MGL_EXPORT mgl_datac_link_(uintptr_t *d, dual *A, int *nx,int *ny,int *nz) -+void MGL_EXPORT mgl_datac_link_(uintptr_t *d, mdual *A, int *nx,int *ny,int *nz) - { mgl_datac_link(_DC_,A,*nx,*ny,*nz); } - //----------------------------------------------------------------------------- - int MGL_EXPORT mgl_datac_read_dim(HADT d, const char *fname,long mx,long my,long mz) -diff --git a/utils/mgltask.cpp b/utils/mgltask.cpp -index b9bb7da..4566512 100755 ---- a/utils/mgltask.cpp -+++ b/utils/mgltask.cpp -@@ -2,6 +2,7 @@ - #include - #include - #include -+#define _USE_MATH_DEFINES - #include - #include - //=================================================================== -@@ -100,7 +101,7 @@ int main(int argc, char *argv[]) - double x1[10],x2[10],dx[10],x[10]; - int k,i,n=argc-3;//=(argc==4) ? 1:2; - FILE *fm,*fo; -- -+ - // first place zeros - for(i=0;i<10;i++) - { diff --git a/ports/mathgl/usage b/ports/mathgl/usage new file mode 100644 index 00000000000000..ca6cc116546de3 --- /dev/null +++ b/ports/mathgl/usage @@ -0,0 +1,4 @@ +mathgl provides CMake targets: + + find_package(MathGL2 CONFIG REQUIRED) + target_link_libraries(main PRIVATE $,mgl,mgl-static>) diff --git a/ports/mathgl/vcpkg.json b/ports/mathgl/vcpkg.json index f3bfc67fa4708d..df76d14e608055 100644 --- a/ports/mathgl/vcpkg.json +++ b/ports/mathgl/vcpkg.json @@ -1,8 +1,27 @@ { "name": "mathgl", - "version-string": "2.4.3", + "version": "8.0.1", "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 & !android", + "dependencies": [ + "getopt", + { + "$comment": "Non-windows targets need host `make_bin`.", + "name": "mathgl", + "host": true, + "default-features": false + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], "default-features": [ "jpeg", "opengl", @@ -10,10 +29,22 @@ "zlib" ], "features": { + "arma": { + "description": "Armadillo support", + "dependencies": [ + "armadillo" + ] + }, + "examples": { + "description": "Build example programs (not installed)" + }, "fltk": { "description": "fltk module", "dependencies": [ - "fltk" + { + "name": "fltk", + "default-features": false + } ] }, "gif": { @@ -25,7 +56,17 @@ "glut": { "description": "glut module", "dependencies": [ - "freeglut" + { + "name": "freeglut", + "platform": "!osx" + }, + { + "name": "mathgl", + "default-features": false, + "features": [ + "opengl" + ] + } ] }, "gsl": { @@ -37,7 +78,10 @@ "hdf5": { "description": "hdf5 module", "dependencies": [ - "hdf5" + { + "name": "hdf5", + "default-features": false + } ] }, "jpeg": { @@ -55,19 +99,32 @@ "png": { "description": "png module", "dependencies": [ - "libpng" + "libpng", + { + "name": "mathgl", + "default-features": false, + "features": [ + "zlib" + ] + } ] }, "qt5": { "description": "qt5 module", "dependencies": [ - "qt5" + { + "name": "qt5-base", + "default-features": false + } ] }, "wx": { "description": "wx module", "dependencies": [ - "wxwidgets" + { + "name": "wxwidgets", + "default-features": false + } ] }, "zlib": { 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 c72bd3e4d0ce3c..146ca159c1ef86 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 ca56394e5672115df1981996ed12524d1d551259 # v1.5.19 - SHA512 67c239d8aabafaa935775f3b260ba0756c196b0d845ef5116365c9aa6a0b24dae70d92c4e74d5d43ae073ae0744f084f0f58ead864eb77c813d43dbbb3e4ec5e + REF "v${VERSION}" + SHA512 3ede0ce0c328fc79bff75933368d8ec9eea1d8cb28ea32a41bedb3f184e1c3362bb37bfb582838bc954ab0fff8c9dfd5a1e86831e657c06c2b2bd9d1e47020ff HEAD_REF master PATCHES fix-dependencies.patch ) @@ -19,8 +19,7 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS ) vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA + SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${FEATURE_OPTIONS} -DMATIO_SHARED=${BUILD_SHARED} -DMATIO_USE_CONAN=OFF @@ -28,10 +27,22 @@ vcpkg_cmake_configure( vcpkg_cmake_install() +set(prefix "${CURRENT_INSTALLED_DIR}") +set(exec_prefix [[${prefix}]]) +set(libdir [[${prefix}/lib]]) +set(includedir [[${prefix}/include]]) +configure_file("${SOURCE_PATH}/matio.pc.in" "${SOURCE_PATH}/matio.pc" @ONLY) +file(INSTALL "${SOURCE_PATH}/matio.pc" DESTINATION "${CURRENT_PACKAGES_DIR}/lib/pkgconfig") +if(NOT VCPKG_BUILD_TYPE) + set(includedir [[${prefix}/../include]]) + file(INSTALL "${SOURCE_PATH}/matio.pc" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig") +endif() vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() vcpkg_copy_tools(TOOL_NAMES matdump AUTO_CLEAN) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(INSTALL "${CURRENT_PORT_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/matio/usage b/ports/matio/usage new file mode 100644 index 00000000000000..4a697912dfe247 --- /dev/null +++ b/ports/matio/usage @@ -0,0 +1,5 @@ +matio can be imported via CMake FindPkgConfig module: + + find_package(PkgConfig REQUIRED) + pkg_check_modules(matio REQUIRED IMPORTED_TARGET matio) + target_link_libraries(main PRIVATE PkgConfig::matio) diff --git a/ports/matio/vcpkg.json b/ports/matio/vcpkg.json index 7e4b8d05ad09e2..bbcecdc8674bf4 100644 --- a/ports/matio/vcpkg.json +++ b/ports/matio/vcpkg.json @@ -1,9 +1,9 @@ { "name": "matio", - "version-semver": "1.5.19", - "port-version": 1, + "version": "1.5.27", "description": "MATLAB MAT File I/O Library", "homepage": "https://github.com/tbeu/matio", + "license": "BSD-2-Clause", "dependencies": [ { "name": "vcpkg-cmake", @@ -21,11 +21,30 @@ "hdf5": { "description": "Check for HDF5 library", "dependencies": [ - "hdf5" + { + "name": "hdf5", + "default-features": false + }, + { + "name": "matio", + "default-features": false, + "features": [ + "zlib" + ] + } ] }, "mat73": { - "description": "Enable support for version 7.3 MAT files" + "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/matplotlib-cpp/vcpkg.json b/ports/matplotlib-cpp/vcpkg.json index 83944db18a7d0d..8e379d72af4f96 100644 --- a/ports/matplotlib-cpp/vcpkg.json +++ b/ports/matplotlib-cpp/vcpkg.json @@ -1,7 +1,7 @@ { "name": "matplotlib-cpp", - "version-string": "2020-08-27", - "port-version": 1, + "version-date": "2020-08-27", + "port-version": 2, "description": "Extremely simple yet powerful header-only C++ plotting library built on the popular matplotlib", "homepage": "https://github.com/lava/matplotlib-cpp" } diff --git a/ports/matplotplusplus/fix-dependencies.patch b/ports/matplotplusplus/fix-dependencies.patch index 89ef9fba8180bd..71fcad78692c57 100644 --- a/ports/matplotplusplus/fix-dependencies.patch +++ b/ports/matplotplusplus/fix-dependencies.patch @@ -1,96 +1,191 @@ +diff --git a/Matplot++Config.cmake.in b/Matplot++Config.cmake.in +index 5c402ad..1601015 100644 +--- a/Matplot++Config.cmake.in ++++ b/Matplot++Config.cmake.in +@@ -1,4 +1,5 @@ + @PACKAGE_INIT@ ++include(CMakeFindDependencyMacro) + + # How this Matplot++ installation was built + set(MATPLOT_BUILT_SHARED "@MATPLOTPP_BUILD_SHARED_LIBS@") +@@ -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() + ++if ("@MATPLOTPP_BUILD_EXPERIMENTAL_OPENGL_BACKEND@") ++ find_dependency(glad CONFIG) ++ find_dependency(glfw3 CONFIG) ++endif() ++find_dependency(nodesoup CONFIG ) ++if ("@WITH_JPEG@") ++find_dependency(JPEG) ++endif() ++ ++if ("@WITH_TIFF@") ++find_dependency(TIFF) ++endif() ++ ++if ("@WITH_ZLIB@") ++find_dependency(ZLIB) ++find_dependency(libpng CONFIG) ++endif() ++ ++if ("@WITH_LAPACK@") ++find_dependency(LAPACK) ++endif() ++ ++if ("@WITH_BLAS@") ++find_dependency(BLAS) ++endif() ++ ++if ("@WITH_FFTW3@") ++find_dependency(FFTW3 CONFIG) ++endif() ++ ++if ("@WITH_OPENCV@") ++find_dependency(OpenCV CONFIG) ++endif() ++ + # Find dependencies + if(NOT ${MATPLOT_BUILT_SHARED}) +- include(CMakeFindDependencyMacro) + list(APPEND CMAKE_MODULE_PATH ${MATPLOT_CONFIG_INSTALL_DIR}) + list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}") +- # 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 ab58bbd..f9fed7e 100644 +index b5656e1..7c2d1f3 100644 --- a/source/3rd_party/CMakeLists.txt +++ b/source/3rd_party/CMakeLists.txt -@@ -67,57 +67,69 @@ find_package(PkgConfig) +@@ -1,6 +1,7 @@ + ####################################################### + ### NodeSoup ### + ####################################################### ++if(0) + if(WITH_SYSTEM_NODESOUP) + find_path(NODESOUP_INCLUDE_DIR nodesoup.hpp REQUIRED) + find_library(NODESOUP_LIB nodesoup REQUIRED) +@@ -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 +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 a0428ac..b6abc8e 100644 +--- a/source/matplot/CMakeLists.txt ++++ b/source/matplot/CMakeLists.txt +@@ -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) ++target_link_libraries_system(matplot PRIVATE cimg nodesoup::nodesoup) + + # Required compiler features 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 CONFIG) ++ find_package(GLAD NAMES glad CONFIG REQUIRED) + 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 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 diff --git a/ports/matplotplusplus/install-3rd-libraries.patch b/ports/matplotplusplus/install-3rd-libraries.patch deleted file mode 100644 index d4b139b58d2aa8..00000000000000 --- a/ports/matplotplusplus/install-3rd-libraries.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/source/3rd_party/CMakeLists.txt b/source/3rd_party/CMakeLists.txt -index bef0c08..e7521a7 100644 ---- a/source/3rd_party/CMakeLists.txt -+++ b/source/3rd_party/CMakeLists.txt -@@ -41,7 +41,9 @@ endif() - if(MASTER_PROJECT AND NOT BUILD_SHARED_LIBS) - install(TARGETS nodesoup - EXPORT Matplot++Targets -- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}/Matplot++) -+ RUNTIME DESTINATION bin -+ LIBRARY DESTINATION lib -+ ARCHIVE DESTINATION lib) - endif() - - diff --git a/ports/matplotplusplus/portfile.cmake b/ports/matplotplusplus/portfile.cmake index 8755fc8f2a66c1..dfd2f950f355d9 100644 --- a/ports/matplotplusplus/portfile.cmake +++ b/ports/matplotplusplus/portfile.cmake @@ -9,18 +9,17 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO alandefreitas/matplotplusplus - REF 36d8dc6c3b94b7a71c4f129763f2c6ad8fc0b54a - SHA512 ac8902e953a2a9f6bd62e14e2eb0bd42e407bae6c0b2921ad16ce547e4921ba2c8d8a9cc68e75831676dce3cd89cdf8294862710e838510b68e20f8a6cdf806f + REF "v${VERSION}" + SHA512 8ecb13fa206ff6762dec74c4de0778bf275e1ebf11ec1b48e8c0e544cf2990220e1be2b3bc9c658f06cb6714c9cc103fa81f10c079a32128218ebdaf265514d5 HEAD_REF master PATCHES - install-3rd-libraries.patch # Remove this patch when nodesoup is added in vcpkg - fix-dependencies.patch + fix-dependencies.patch ) vcpkg_check_features( OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES - opengl BUILD_EXPERIMENTAL_OPENGL_BACKEND + opengl MATPLOTPP_BUILD_EXPERIMENTAL_OPENGL_BACKEND jpeg WITH_JPEG tiff WITH_TIFF zlib WITH_ZLIB @@ -31,17 +30,16 @@ vcpkg_check_features( ) vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA + SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${FEATURE_OPTIONS} - -DCPM_USE_LOCAL_PACKAGES=ON - -DBUILD_EXAMPLES=OFF - -DBUILD_TESTS=OFF - -DBUILD_INSTALLER=ON - -DBUILD_PACKAGE=OFF - -DBUILD_WITH_PEDANTIC_WARNINGS=OFF + -DMATPLOTPP_BUILD_EXAMPLES=OFF + -DMATPLOTPP_BUILD_TESTS=OFF + -DMATPLOTPP_BUILD_INSTALLER=ON + -DMATPLOTPP_BUILD_PACKAGE=OFF + -DMATPLOTPP_BUILD_WITH_PEDANTIC_WARNINGS=OFF -DWITH_SYSTEM_CIMG=ON - -DBUILD_HIGH_RESOLUTION_WORLD_MAP=${BUILD_WORLD_MAP} + -DMATPLOTPP_BUILD_HIGH_RESOLUTION_WORLD_MAP=${BUILD_WORLD_MAP} + -DMATPLOTPP_BUILD_WITH_SANITIZERS=OFF ) vcpkg_cmake_install() @@ -53,3 +51,4 @@ vcpkg_cmake_config_fixup(PACKAGE_NAME matplot++ CONFIG_PATH lib/cmake/Matplot++) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +file(INSTALL "${CURRENT_PORT_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/matplotplusplus/") diff --git a/ports/matplotplusplus/usage b/ports/matplotplusplus/usage new file mode 100644 index 00000000000000..75a127b3ae5dce --- /dev/null +++ b/ports/matplotplusplus/usage @@ -0,0 +1,4 @@ +The package matplotplusplus provides CMake targets: + + find_package(Matplot++ CONFIG REQUIRED) + target_link_libraries(main PRIVATE Matplot++::cimg Matplot++::matplot) diff --git a/ports/matplotplusplus/vcpkg.json b/ports/matplotplusplus/vcpkg.json index 296b6f8802b0f7..c60556ee1d610c 100644 --- a/ports/matplotplusplus/vcpkg.json +++ b/ports/matplotplusplus/vcpkg.json @@ -1,13 +1,13 @@ { "name": "matplotplusplus", - "version-date": "2021-04-11", - "port-version": 5, + "version": "1.2.1", "description": "A C++ graphics library for data visualization", "homepage": "https://alandefreitas.github.io/matplotplusplus/", "license": "MIT", "supports": "!uwp & !(windows & arm)", "dependencies": [ "cimg", + "nodesoup", { "name": "vcpkg-cmake", "host": true diff --git a/ports/matroska/portfile.cmake b/ports/matroska/portfile.cmake index eac14d7b7d7d4f..1d07a901205967 100644 --- a/ports/matroska/portfile.cmake +++ b/ports/matroska/portfile.cmake @@ -1,12 +1,8 @@ -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - message(FATAL_ERROR "matroska does not currently support UWP") -endif() - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Matroska-Org/libmatroska - REF release-1.6.3 - SHA512 f4b4cd5b5e76c452fb559ead28c4bcb5ec4e28d74898f13c1709a6ab75d95cf82b319118445d7a7f895708bb0d5d1f3c09040d3e3263c6a2f2a27ffc92d35c2f + REF release-1.7.1 + SHA512 abb4fb4b527266944b1a59516866462498675c5e71bb679758894dff6156169d7132dddaa2e2ef6187a6dbce4a4aa377eeb75dd869268fd44933c769b34be5b9 HEAD_REF master ) @@ -24,3 +20,5 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") # Handle copyright file(INSTALL "${SOURCE_PATH}/LICENSE.LGPL" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) + +vcpkg_copy_pdbs() diff --git a/ports/matroska/vcpkg.json b/ports/matroska/vcpkg.json index 2987f36de745b2..bd2141554bff0a 100644 --- a/ports/matroska/vcpkg.json +++ b/ports/matroska/vcpkg.json @@ -1,11 +1,14 @@ { "name": "matroska", - "version": "1.6.3", + "version": "1.7.1", + "port-version": 2, "description": "a C++ library to parse Matroska files (.mkv and .mka)", "homepage": "https://github.com/Matroska-Org/libmatroska", - "supports": "!uwp", "dependencies": [ - "ebml", + { + "name": "ebml", + "version>=": "1.4.4" + }, { "name": "vcpkg-cmake", "host": true 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 3bd961fbce827f..f7f2fb74ef8de6 100644 --- a/ports/mbedtls/portfile.cmake +++ b/ports/mbedtls/portfile.cmake @@ -1,41 +1,49 @@ -vcpkg_fail_port_install(ON_TARGET "uwp") - -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 523f0554b6cdc7ace5d360885c3f5bbcc73ec0e8 # mbedtls-2.24.0 - SHA512 1ce78f34e8d87c2ce0454e0a08f4c6e5b3129d4b24cfa44162af21c2e8b5dc7feabf849e4fa547ce3781b5ce11aaf675cfed47412bae40091fbdd87bbcdbee07 - HEAD_REF master + 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 ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +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}" 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_install_cmake() - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) - -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +vcpkg_cmake_install() +vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/MbedTLS") -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() \ No newline at end of file +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 ec036a05f62094..c867de028c0e6a 100644 --- a/ports/mbedtls/vcpkg.json +++ b/ports/mbedtls/vcpkg.json @@ -1,10 +1,19 @@ { "name": "mbedtls", - "version-string": "2.24.0", - "port-version": 3, + "version": "3.6.1", "description": "An open source, portable, easy to use, readable and flexible SSL library", - "homepage": "https://github.com/ARMmbed/mbedtls", - "supports": "!uwp", + "homepage": "https://www.trustedfirmware.org/projects/mbed-tls/", + "license": "Apache-2.0 OR GPL-2.0-or-later", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], "features": { "pthreads": { "description": "Multi-threading support", diff --git a/ports/mchehab-zbar/c99.patch b/ports/mchehab-zbar/c99.patch new file mode 100644 index 00000000000000..8b906fcaa99a39 --- /dev/null +++ b/ports/mchehab-zbar/c99.patch @@ -0,0 +1,89 @@ +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 new file mode 100644 index 00000000000000..2f86a7c3aa356e --- /dev/null +++ b/ports/mchehab-zbar/issue219.patch @@ -0,0 +1,13 @@ +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 new file mode 100644 index 00000000000000..9992aaaaf3e420 --- /dev/null +++ b/ports/mchehab-zbar/portfile.cmake @@ -0,0 +1,56 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO mchehab/zbar + REF "${VERSION}" + SHA512 d73d71873bec68ee021997512a9edbd223f5f5fe43c66c4dd3502224ba6009be2e5e1714766cb8e1056244673e87e0939ed0319116f61d7371b5ab79fb5e04eb + HEAD_REF master + PATCHES + c99.patch + issue219.patch + windows.patch + x64.patch +) + +vcpkg_list(SET options) +if("nls" IN_LIST FEATURES) + vcpkg_list(APPEND options "--enable-nls") +else() + vcpkg_list(APPEND options "--disable-nls") + set(ENV{AUTOPOINT} true) # true, the program + # 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( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG + ADD_BIN_TO_PATH # checking for working iconv + OPTIONS + ${options} + --without-dbus + --without-gtk + --without-imagemagick + --without-java + --without-jpeg + --without-python + --without-qt + --disable-video + --without-xv + OPTIONS_RELEASE + --disable-assert +) + +vcpkg_install_make() +vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/share/doc" + "${CURRENT_PACKAGES_DIR}/tools" +) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/mchehab-zbar/vcpkg.json b/ports/mchehab-zbar/vcpkg.json new file mode 100644 index 00000000000000..c56b3f779e3c04 --- /dev/null +++ b/ports/mchehab-zbar/vcpkg.json @@ -0,0 +1,31 @@ +{ + "name": "mchehab-zbar", + "version": "0.23.90", + "port-version": 5, + "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", + "supports": "!uwp & !xbox", + "dependencies": [ + { + "name": "gettext", + "host": true + }, + "libiconv" + ], + "features": { + "nls": { + "description": "Native Language Support", + "dependencies": [ + { + "name": "gettext", + "host": true, + "features": [ + "tools" + ] + }, + "gettext-libintl" + ] + } + } +} diff --git a/ports/mchehab-zbar/windows.patch b/ports/mchehab-zbar/windows.patch new file mode 100644 index 00000000000000..877099bf2ac68e --- /dev/null +++ b/ports/mchehab-zbar/windows.patch @@ -0,0 +1,55 @@ +diff --git a/configure.ac b/configure.ac +index c8fea14..eb0a097 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -55,7 +55,7 @@ AC_DEFINE_UNQUOTED([LIB_VERSION_REVISION], + [Library revision]) + + AM_CPPFLAGS="-I\$(top_srcdir)/include" +-AM_CFLAGS="-Wall -Wno-parentheses" ++AM_CFLAGS="-Wall" + 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 +--- a/zbar/processor.h ++++ b/zbar/processor.h +@@ -27,7 +27,9 @@ + #ifdef HAVE_INTTYPES_H + # include + #endif +-#include ++#ifndef WIN32 ++# include ++#endif + #include + #include + +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; + diff --git a/ports/mchehab-zbar/x64.patch b/ports/mchehab-zbar/x64.patch new file mode 100644 index 00000000000000..c8eefac8edf2c0 --- /dev/null +++ b/ports/mchehab-zbar/x64.patch @@ -0,0 +1,21 @@ +diff --git a/zbar/decoder.c b/zbar/decoder.c +index 7f7336f..e9ffc45 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 + +@@ -113,7 +114,7 @@ void zbar_decoder_destroy (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)); + #if ENABLE_EAN == 1 + ean_reset(&dcode->ean); + #endif diff --git a/ports/mcpp/portfile.cmake b/ports/mcpp/portfile.cmake index 8e2928ea1ddb04..33a34aa47b6146 100644 --- a/ports/mcpp/portfile.cmake +++ b/ports/mcpp/portfile.cmake @@ -8,21 +8,20 @@ vcpkg_from_github( 0001-fix-_POSIX_C_SOURCE.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() file( INSTALL - ${SOURCE_PATH}/mcpp_lib.h - ${SOURCE_PATH}/mcpp_out.h + "${SOURCE_PATH}/mcpp_lib.h" + "${SOURCE_PATH}/mcpp_out.h" DESTINATION - ${CURRENT_PACKAGES_DIR}/include + "${CURRENT_PACKAGES_DIR}/include" ) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/mcpp/vcpkg.json b/ports/mcpp/vcpkg.json index 4be6e6f68b51d3..dbb305d3591a5a 100644 --- a/ports/mcpp/vcpkg.json +++ b/ports/mcpp/vcpkg.json @@ -1,7 +1,13 @@ { "name": "mcpp", - "version-string": "2.7.2.14", - "port-version": 3, + "version": "2.7.2.14", + "port-version": 5, "description": "Fork of mcpp, a C/C++ preprocessor", - "homepage": "https://github.com/zeroc-ice/mcpp" + "homepage": "https://github.com/zeroc-ice/mcpp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } 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/008-build-static-llvm.patch b/ports/mdl-sdk/008-build-static-llvm.patch new file mode 100644 index 00000000000000..d391f655af5d24 --- /dev/null +++ b/ports/mdl-sdk/008-build-static-llvm.patch @@ -0,0 +1,10 @@ +--- a/src/mdl/jit/llvm/CMakeLists.txt ++++ b/src/mdl/jit/llvm/CMakeLists.txt +@@ -152,6 +152,7 @@ + + 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/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/portfile.cmake b/ports/mdl-sdk/portfile.cmake new file mode 100644 index 00000000000000..fa2ec7161c76fe --- /dev/null +++ b/ports/mdl-sdk/portfile.cmake @@ -0,0 +1,138 @@ +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 +) + +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/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 new file mode 100644 index 00000000000000..90c239cd61ae6f --- /dev/null +++ b/ports/mdl-sdk/vcpkg.json @@ -0,0 +1,43 @@ +{ + "name": "mdl-sdk", + "version": "2024.0.4", + "description": "NVIDIA Material Definition Language SDK", + "homepage": "https://github.com/NVIDIA/MDL-SDK", + "license": "BSD-3-Clause", + "supports": "!x86 & !(windows & (staticcrt | arm | uwp)) & !(osx & arm) & !android", + "dependencies": [ + "boost-algorithm", + "boost-core", + "boost-dynamic-bitset", + "boost-functional", + "boost-intrusive", + "boost-tokenizer", + "boost-unordered", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "dds": { + "description": "Build image plugin for DDS" + }, + "openimageio": { + "description": "Build image plugin for various image formats using OpenImageIO", + "dependencies": [ + { + "name": "openimageio", + "features": [ + "gif", + "openjpeg", + "webp" + ] + } + ] + } + } +} diff --git a/ports/mdns/portfile.cmake b/ports/mdns/portfile.cmake index 665b7a99a4c225..d6628d7bab941e 100644 --- a/ports/mdns/portfile.cmake +++ b/ports/mdns/portfile.cmake @@ -3,8 +3,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO mjansson/mdns - REF 1.4.1 - SHA512 f1268841b5e4ba40ba62e7e08d55ac7f83b675f76c694976097a1c17dd6c662ced953230a4556b81ff5a39a969c67e01d040f1b6c83b9dd27b2cb0adc6af05b9 + REF "${VERSION}" + SHA512 0bbfeefdd3f324a8e5aa85227bfa45c2b5cd88c12a9f77df2a1c48cb2661ba8b283dd53541e39d20ed2705646dc8d8724a0287c58f9efa91d2b1b796a0ca9a7a HEAD_REF master ) @@ -17,4 +17,4 @@ vcpkg_cmake_configure( vcpkg_cmake_install() 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/mdns/vcpkg.json b/ports/mdns/vcpkg.json index 2cb48af8d6c748..728a2a1f313413 100644 --- a/ports/mdns/vcpkg.json +++ b/ports/mdns/vcpkg.json @@ -1,8 +1,9 @@ { "name": "mdns", - "version": "1.4.1", + "version": "1.4.3", "description": "Public domain mDNS/DNS-SD library in C", "homepage": "https://github.com/mjansson/mdns", + "license": "Unlicense", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/mdnsresponder/portfile.cmake b/ports/mdnsresponder/portfile.cmake index 99dbbdd2d18694..14497831088366 100644 --- a/ports/mdnsresponder/portfile.cmake +++ b/ports/mdnsresponder/portfile.cmake @@ -1,14 +1,9 @@ -vcpkg_fail_port_install(ON_ARCH "arm") - -vcpkg_download_distfile(ARCHIVE - URLS https://opensource.apple.com/tarballs/mDNSResponder/mDNSResponder-878.270.2.tar.gz - FILENAME mDNSResponder-878.270.2.tar.gz - SHA512 dbc1805c757fceb2b37165ad2575e4084447c10f47ddc871f5476e25affd91f5f759662c17843e30857a9ea1ffd25132bc8012737cf22700ac329713e6a3ac0a -) - -vcpkg_extract_source_archive_ex( +vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} + REPO apple-oss-distributions/mDNSResponder + REF f783506af3836b39b83fc14115bc2728a49db4b2 #mDNSResponder-1557.140.5.0.1 + SHA512 f5954d3f8ef40790e14d17de4cd861fc7df6900e54affefb8282f080a0bfc8b4ac9d238f2faaea6bb3849b342836e45f3b2cb9361402f89fcdce3c627a2b9b4d + HEAD_REF main ) IF (TRIPLET_SYSTEM_ARCH MATCHES "x86") @@ -19,25 +14,7 @@ ENDIF() function(FIX_VCXPROJ VCXPROJ_PATH) file(READ ${VCXPROJ_PATH} ORIG) - if(${VCPKG_CRT_LINKAGE} STREQUAL "dynamic") - string(REGEX REPLACE - "MultiThreadedDebug" - "MultiThreadedDebugDLL" - ORIG "${ORIG}") - string(REGEX REPLACE - "MultiThreaded" - "MultiThreadedDLL" - ORIG "${ORIG}") - else() - string(REGEX REPLACE - "MultiThreadedDebugDLL" - "MultiThreadedDebug" - ORIG "${ORIG}") - string(REGEX REPLACE - "MultiThreadedDLL" - "MultiThreaded" - ORIG "${ORIG}") - endif() + if(${VCPKG_LIBRARY_LINKAGE} STREQUAL "dynamic") string(REPLACE "StaticLibrary" @@ -49,47 +26,23 @@ function(FIX_VCXPROJ VCXPROJ_PATH) "StaticLibrary" ORIG "${ORIG}") endif() - - string(REPLACE - "ProgramDatabase" - "OldStyle" - ORIG "${ORIG}") + file(WRITE ${VCXPROJ_PATH} "${ORIG}") endfunction() FIX_VCXPROJ("${SOURCE_PATH}/mDNSWindows/DLL/dnssd.vcxproj") +if(${VCPKG_CRT_LINKAGE} STREQUAL "dynamic" AND ${VCPKG_LIBRARY_LINKAGE} STREQUAL "static") + FIX_VCXPROJ("${SOURCE_PATH}/mDNSWindows/DLLStub/DLLStub.vcxproj") +endif() FIX_VCXPROJ("${SOURCE_PATH}/Clients/DNS-SD.VisualStudio/dns-sd.vcxproj") -vcpkg_build_msbuild( - PROJECT_PATH "${SOURCE_PATH}/mDNSResponder.sln" - PLATFORM ${BUILD_ARCH} - TARGET dns-sd +vcpkg_msbuild_install( + SOURCE_PATH "${SOURCE_PATH}" + PROJECT_SUBPATH mDNSWindows/mDNSResponder.sln + PLATFORM ${BUILD_ARCH} + TARGET dns-sd ) -if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - file(INSTALL - "${SOURCE_PATH}/mDNSWindows/DLL/${BUILD_ARCH}/Release/dnssd.dll" - DESTINATION "${CURRENT_PACKAGES_DIR}/bin" - ) - file(INSTALL - "${SOURCE_PATH}/mDNSWindows/DLL/${BUILD_ARCH}/Debug/dnssd.dll" - DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin" - ) -endif() -file(INSTALL - "${SOURCE_PATH}/mDNSWindows/DLL/${BUILD_ARCH}/Release/dnssd.lib" - DESTINATION "${CURRENT_PACKAGES_DIR}/lib" -) -file(INSTALL - "${SOURCE_PATH}/mDNSWindows/DLL/${BUILD_ARCH}/Debug/dnssd.lib" - DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib" -) -file(INSTALL - "${SOURCE_PATH}/mDNSShared/dns_sd.h" - DESTINATION "${CURRENT_PACKAGES_DIR}/include" -) -file(INSTALL - "${SOURCE_PATH}/LICENSE" - DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" -) -vcpkg_copy_pdbs() +file(INSTALL "${SOURCE_PATH}/mDNSShared/dns_sd.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/mdnsresponder/vcpkg.json b/ports/mdnsresponder/vcpkg.json index 86839bd05993e7..d157e4fae03cce 100644 --- a/ports/mdnsresponder/vcpkg.json +++ b/ports/mdnsresponder/vcpkg.json @@ -1,7 +1,16 @@ { "name": "mdnsresponder", - "version": "878.270.2", + "version": "1557.140.5.0.1", + "port-version": 1, "description": "The mDNSResponder project is a component of Bonjour, Apple's ease-of-use IP networking initiative.", - "homepage": "https://developer.apple.com/bonjour/", - "supports": "!arm" + "homepage": "https://github.com/apple-oss-distributions/mDNSResponder", + "license": "Apache-2.0", + "supports": "windows & !uwp & !arm", + "dependencies": [ + { + "name": "vcpkg-msbuild", + "host": true, + "platform": "windows" + } + ] } diff --git a/ports/mdspan/portfile.cmake b/ports/mdspan/portfile.cmake index af3df0890fd446..b0b29d450c1f19 100644 --- a/ports/mdspan/portfile.cmake +++ b/ports/mdspan/portfile.cmake @@ -1,19 +1,19 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO kokkos/mdspan - REF aced2cebd362a1e15830da030bd16748131d28bd # stable as of 2021-11-03 - SHA512 a1950430be537497fb84c4a8c5e681cacead93512775098f38ea6c1a20b95d0f7110d9d0802fbdcf8ce3c40ade766cc697773f6ea6fcf8c363b3ebee55620f7c + REF "mdspan-${VERSION}" + SHA512 d0e247b5ed5765f3ddd04634462c428b19beceb81b0b7d8221443b3f6ab122e232e85c15d56c208b244be2f6667d7e1db571848b61190b64ec110f7d31c3e0c9 HEAD_REF stable ) +set(VCPKG_BUILD_TYPE release) # header-only port + vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}") vcpkg_cmake_install() vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/mdspan) -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib" "${CURRENT_PACKAGES_DIR}/debug") - -vcpkg_copy_pdbs() +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/mdspan/vcpkg.json b/ports/mdspan/vcpkg.json index 8bfe7b88d40e6d..4004be78877b4f 100644 --- a/ports/mdspan/vcpkg.json +++ b/ports/mdspan/vcpkg.json @@ -1,8 +1,9 @@ { "name": "mdspan", - "version-date": "2021-11-03", + "version": "0.6.0", "description": "A non-owning multi-dimensional array reference type.", "homepage": "https://github.com/kokkos/mdspan", + "license": "BSD-3-Clause", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/mecab/fix-missing-functional.patch b/ports/mecab/fix-missing-functional.patch new file mode 100644 index 00000000000000..773429ccc68208 --- /dev/null +++ b/ports/mecab/fix-missing-functional.patch @@ -0,0 +1,12 @@ +diff --git a/mecab/src/dictionary.h b/mecab/src/dictionary.h +index 7046023..32ad358 100644 +--- a/mecab/src/dictionary.h ++++ b/mecab/src/dictionary.h +@@ -10,6 +10,7 @@ + #include "mmap.h" + #include "darts.h" + #include "char_property.h" ++#include + + namespace MeCab { + diff --git a/ports/mecab/portfile.cmake b/ports/mecab/portfile.cmake index 6bf02094580b5a..83dc2cd8925025 100644 --- a/ports/mecab/portfile.cmake +++ b/ports/mecab/portfile.cmake @@ -10,19 +10,22 @@ vcpkg_from_github( HEAD_REF master PATCHES fix_wpath_unsigned.patch + fix-missing-functional.patch ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}/mecab/src) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/Config.cmake.in DESTINATION ${SOURCE_PATH}/mecab/src) -file(COPY ${SOURCE_PATH}/mecab/COPYING DESTINATION ${SOURCE_PATH}/mecab/src) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}/mecab/src") +file(COPY "${CMAKE_CURRENT_LIST_DIR}/Config.cmake.in" DESTINATION "${SOURCE_PATH}/mecab/src") +file(COPY "${SOURCE_PATH}/mecab/COPYING" DESTINATION "${SOURCE_PATH}/mecab/src") -vcpkg_configure_cmake( - SOURCE_PATH ${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_install_cmake() -vcpkg_fixup_cmake_targets() +vcpkg_cmake_install() +vcpkg_cmake_config_fixup() vcpkg_copy_pdbs() -file(COPY ${SOURCE_PATH}/mecab/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/mecab) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/mecab/COPYING ${CURRENT_PACKAGES_DIR}/share/mecab/copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/mecab/COPYING") diff --git a/ports/mecab/vcpkg.json b/ports/mecab/vcpkg.json index 7475acf4a663cf..ff532e5d69b687 100644 --- a/ports/mecab/vcpkg.json +++ b/ports/mecab/vcpkg.json @@ -1,7 +1,17 @@ { "name": "mecab", - "version-string": "2019-09-25", - "port-version": 2, + "version-date": "2019-09-25", + "port-version": 6, "description": "A morphological analysis engine based on CRF", - "supports": "!(uwp | arm | arm64)" + "supports": "!uwp & !(arm & windows)", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/memorymodule/vcpkg.json b/ports/memorymodule/vcpkg.json index 49b5726ad7adaa..3d7c422ce96343 100644 --- a/ports/memorymodule/vcpkg.json +++ b/ports/memorymodule/vcpkg.json @@ -1,7 +1,7 @@ { "name": "memorymodule", - "version-string": "2019-12-31", - "port-version": 2, + "version-date": "2019-12-31", + "port-version": 3, "description": "Library to load a DLL from memory", "homepage": "https://github.com/fancycode/MemoryModule", "supports": "!linux & !osx & !uwp", diff --git a/ports/mesa/portfile.cmake b/ports/mesa/portfile.cmake index 0039249051c52f..b0916dd81de465 100644 --- a/ports/mesa/portfile.cmake +++ b/ports/mesa/portfile.cmake @@ -1,12 +1,3 @@ -# Build-Depends: From X Window PR: zstd, drm (!windows), elfutils (!windows), wayland (!windows), wayland-protocols (!windows), xdamage, xshmfence (!windows), x11, xcb, xfixes, xext, xxf86vm, xrandr, xv, xvmc (!windows), egl-registry, opengl-registry, tool-meson -# Required LLVM modules: LLVM (modules: bitwriter, core, coroutines, engine, executionengine, instcombine, mcdisassembler, mcjit, scalaropts, transformutils) found: YES - -# Patches are from https://github.com/pal1000/mesa-dist-win/tree/master/patches -set(PATCHES - # Fix swrAVX512 build - swravx512-post-static-link.patch -) - vcpkg_check_linkage(ONLY_DYNAMIC_CRT) if(VCPKG_TARGET_IS_WINDOWS) set(VCPKG_POLICY_DLLS_IN_STATIC_LIBRARY enabled) # some parts of this port can only build as a shared library. @@ -16,79 +7,24 @@ vcpkg_from_gitlab( GITLAB_URL https://gitlab.freedesktop.org OUT_SOURCE_PATH SOURCE_PATH REPO mesa/mesa - REF mesa-21.2.0 - SHA512 4837e42474d69861fbce4fa03d120b56997094d61b3045c417bbab73774dda86e4b7adf54af98585511a3517860c33c77898e6171cd845f760bada4b000ff52d + REF mesa-${VERSION} + SHA512 202b2b20ffe7d357570a0d0bf0b53dc246b3e903738e8c8a000c5f61109ab5233d62de217444f49fd62927f8c418d929e5a2a5a800d1e39e334d50eb090e850c + FILE_DISAMBIGUATOR 1 HEAD_REF master - PATCHES ${PATCHES} -) -vcpkg_find_acquire_program(PYTHON3) -get_filename_component(PYTHON3_DIR "${PYTHON3}" DIRECTORY) -vcpkg_add_to_path("${PYTHON3_DIR}") -vcpkg_add_to_path("${PYTHON3_DIR}/Scripts") -set(ENV{PYTHON} "${PYTHON3}") - -function(vcpkg_get_python_package PYTHON_DIR ) - cmake_parse_arguments(PARSE_ARGV 0 _vgpp "" "PYTHON_EXECUTABLE" "PACKAGES") - - if(NOT _vgpp_PYTHON_EXECUTABLE) - message(FATAL_ERROR "${CMAKE_CURRENT_FUNCTION} requires parameter PYTHON_EXECUTABLE!") - endif() - if(NOT _vgpp_PACKAGES) - message(FATAL_ERROR "${CMAKE_CURRENT_FUNCTION} requires parameter PACKAGES!") - endif() - if(NOT _vgpp_PYTHON_DIR) - get_filename_component(_vgpp_PYTHON_DIR "${_vgpp_PYTHON_EXECUTABLE}" DIRECTORY) - endif() - - if (WIN32) - set(PYTHON_OPTION "") - else() - set(PYTHON_OPTION "--user") - endif() - - if("${_vgpp_PYTHON_DIR}" MATCHES "${DOWNLOADS}") # inside vcpkg - if(NOT EXISTS "${_vgpp_PYTHON_DIR}/easy_install${VCPKG_HOST_EXECUTABLE_SUFFIX}") - if(NOT EXISTS "${_vgpp_PYTHON_DIR}/Scripts/pip${VCPKG_HOST_EXECUTABLE_SUFFIX}") - vcpkg_from_github( - OUT_SOURCE_PATH PYFILE_PATH - REPO pypa/get-pip - REF 309a56c5fd94bd1134053a541cb4657a4e47e09d #2019-08-25 - SHA512 bb4b0745998a3205cd0f0963c04fb45f4614ba3b6fcbe97efe8f8614192f244b7ae62705483a5305943d6c8fedeca53b2e9905aed918d2c6106f8a9680184c7a - HEAD_REF master - ) - execute_process(COMMAND "${_vgpp_PYTHON_EXECUTABLE}" "${PYFILE_PATH}/get-pip.py" ${PYTHON_OPTION}) - endif() - foreach(_package IN LISTS _vgpp_PACKAGES) - execute_process(COMMAND "${_vgpp_PYTHON_DIR}/Scripts/pip${VCPKG_HOST_EXECUTABLE_SUFFIX}" install ${_package} ${PYTHON_OPTION}) - endforeach() - else() - foreach(_package IN LISTS _vgpp_PACKAGES) - execute_process(COMMAND "${_vgpp_PYTHON_DIR}/easy_install${VCPKG_HOST_EXECUTABLE_SUFFIX}" ${_package}) - endforeach() - endif() - if(NOT VCPKG_TARGET_IS_WINDOWS) - execute_process(COMMAND pip3 install ${_vgpp_PACKAGES}) - endif() - else() # outside vcpkg - foreach(_package IN LISTS _vgpp_PACKAGES) - execute_process(COMMAND ${_vgpp_PYTHON_EXECUTABLE} -c "import ${_package}" RESULT_VARIABLE HAS_ERROR) - if(HAS_ERROR) - message(FATAL_ERROR "Python package '${_package}' needs to be installed for port '${PORT}'.\nComplete list of required python packages: ${_vgpp_PACKAGES}") - endif() - endforeach() - endif() -endfunction() +) -vcpkg_get_python_package(PYTHON_EXECUTABLE "${PYTHON3}" PACKAGES setuptools mako) +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 ) +get_filename_component(FLEX_DIR "${FLEX}" DIRECTORY) vcpkg_add_to_path(PREPEND "${FLEX_DIR}") vcpkg_find_acquire_program(BISON) -get_filename_component(BISON_DIR "${BISON}" DIRECTORY ) +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}") @@ -106,92 +42,103 @@ if(WIN32) # WIN32 HOST probably has win_flex and win_bison! endif() # For features https://github.com/pal1000/mesa-dist-win should be probably studied a bit more. -#string(APPEND GALLIUM_DRIVERS 'auto') 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 -Dosmesa=true) - -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - list(APPEND MESA_OPTIONS -Dshared-swr=false) - list(APPEND MESA_OPTIONS "-Dswr-arches=['avx']") +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) else() - list(APPEND MESA_OPTIONS -Dshared-swr=true) - list(APPEND MESA_OPTIONS "-Dswr-arches=['avx','avx2','knl','skx']") + list(APPEND MESA_OPTIONS -Dosmesa=false) endif() -string(APPEND GALLIUM_DRIVERS 'swrast') if("llvm" IN_LIST FEATURES) list(APPEND MESA_OPTIONS -Dllvm=enabled) - string(APPEND GALLIUM_DRIVERS ",'swr'") # SWR always requires llvm else() list(APPEND MESA_OPTIONS -Dllvm=disabled) endif() -list(APPEND MESA_OPTIONS -Dgallium-drivers=[${GALLIUM_DRIVERS}]) - +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) + if(NOT VCPKG_TARGET_IS_MINGW) + set(VCPKG_CXX_FLAGS "/D_CRT_DECLARE_NONSTDC_NAMES ${VCPKG_CXX_FLAGS}") + set(VCPKG_C_FLAGS "/D_CRT_DECLARE_NONSTDC_NAMES ${VCPKG_C_FLAGS}") + endif() endif() 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() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) - -#installed by egl-registry -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/KHR) -file(REMOVE ${CURRENT_PACKAGES_DIR}/include/EGL/egl.h) -file(REMOVE ${CURRENT_PACKAGES_DIR}/include/EGL/eglext.h) -file(REMOVE ${CURRENT_PACKAGES_DIR}/include/EGL/eglplatform.h) -#installed by opengl-registry -set(_double_files include/GL/glcorearb.h include/GL/glext.h include/GL/glxext.h - include/GLES/egl.h include/GLES/gl.h include/GLES/glext.h include/GLES/glplatform.h - include/GLES2/gl2.h include/GLES2/gl2ext.h include/GLES2/gl2platform.h - include/GLES3/gl3.h include/GLES3/gl31.h include/GLES3/gl32.h include/GLES3/gl3platform.h) -list(TRANSFORM _double_files PREPEND "${CURRENT_PACKAGES_DIR}/") -file(REMOVE ${_double_files}) - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/GLES) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/GLES2) -# # Handle copyright -file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/share/${PORT}") -file(TOUCH "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright") +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" + # installed by egl-registry + "${CURRENT_PACKAGES_DIR}/include/KHR" + "${CURRENT_PACKAGES_DIR}/include/EGL" + # installed by opengl-registry + "${CURRENT_PACKAGES_DIR}/include/GL" + "${CURRENT_PACKAGES_DIR}/include/GLES" + "${CURRENT_PACKAGES_DIR}/include/GLES2" + "${CURRENT_PACKAGES_DIR}/include/GLES3" +) +file(GLOB remaining "${CURRENT_PACKAGES_DIR}/include/*") +if(NOT remaining) + # All headers to be provided by egl-registry and/or opengl-registry + set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include") +endif() + +if(VCPKG_TARGET_IS_WINDOWS) + # opengl32.lib is already installed by port opengl. + # Mesa claims to provide a drop-in replacement of opengl32.dll. + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/lib/manual-link") + file(RENAME "${CURRENT_PACKAGES_DIR}/lib/opengl32.lib" "${CURRENT_PACKAGES_DIR}/lib/manual-link/opengl32.lib") + if(NOT VCPKG_BUILD_TYPE) + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/lib/manual-link") + file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/opengl32.lib" "${CURRENT_PACKAGES_DIR}/debug/lib/manual-link/opengl32.lib") + endif() +endif() + +if(FEATURES STREQUAL "core") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") +endif() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/docs/license.rst") diff --git a/ports/mesa/swravx512-post-static-link.patch b/ports/mesa/swravx512-post-static-link.patch deleted file mode 100644 index ac88d9bd738c58..00000000000000 --- a/ports/mesa/swravx512-post-static-link.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/src/gallium/drivers/swr/meson.build b/src/gallium/drivers/swr/meson.build -index 11ea7d3f43e..f34e88b1eec 100644 ---- a/src/gallium/drivers/swr/meson.build -+++ b/src/gallium/drivers/swr/meson.build -@@ -213,7 +213,7 @@ endif - - if with_swr_arches.contains('skx') - swr_skx_args = cpp.first_supported_argument( -- '-march=skylake-avx512', '-target-cpu=x86-skylake', '-xCORE-AVX512', -+ '-march=skylake-avx512', '-target-cpu=x86-skylake', '-xCORE-AVX512', '/arch:AVX512', - ) - if swr_skx_args == [] - error('Cannot find SKX support for swr.') -@@ -252,7 +252,7 @@ endif - - if with_swr_arches.contains('knl') - swr_knl_args = cpp.first_supported_argument( -- '-march=knl', '-target-cpu=mic-knl', '-xMIC-AVX512', -+ '-march=knl', '-target-cpu=mic-knl', '-xMIC-AVX512', '/arch:AVX512', - ) - if swr_knl_args == [] - error('Cannot find KNL support for swr.') diff --git a/ports/mesa/vcpkg.json b/ports/mesa/vcpkg.json index 2030dfe0e450c6..2f29d664d4566b 100644 --- a/ports/mesa/vcpkg.json +++ b/ports/mesa/vcpkg.json @@ -1,11 +1,20 @@ { "name": "mesa", - "version": "21.2.0", + "version": "24.0.7", + "port-version": 2, "description": "Mesa - The 3D Graphics Library", "homepage": "https://www.mesa3d.org/", - "supports": "!(windows & arm)", + "license": "MIT AND BSL-1.0 AND SGI-B-2.0", + "supports": "!(windows & arm) & !staticcrt & !uwp", "dependencies": [ - "tool-meson", + { + "name": "vcpkg-get-python-packages", + "host": true + }, + { + "name": "vcpkg-tool-meson", + "host": true + }, "zlib", "zstd" ], @@ -20,23 +29,10 @@ "name": "mesa", "default-features": false, "features": [ - "gles1" - ] - }, - { - "name": "mesa", - "default-features": false, - "features": [ + "gles1", "gles2" ] }, - { - "name": "mesa", - "default-features": false, - "features": [ - "opengl" - ] - }, { "name": "mesa", "default-features": false, @@ -50,28 +46,19 @@ "egl": { "description": "Build support for EGL platform", "dependencies": [ - { - "name": "mesa", - "default-features": false - } + "egl-registry" ] }, "gles1": { "description": "Build support for OpenGL ES 1.x", "dependencies": [ - { - "name": "mesa", - "default-features": false - } + "opengl" ] }, "gles2": { "description": "Build support for OpenGL ES 2.x and 3.x", "dependencies": [ - { - "name": "mesa", - "default-features": false - } + "opengl" ] }, "llvm": { @@ -81,18 +68,40 @@ "name": "llvm", "default-features": false, "features": [ + "enable-rtti", "libclc" ] + }, + { + "name": "llvm", + "default-features": false, + "features": [ + "target-arm" + ], + "platform": "arm32" + }, + { + "name": "llvm", + "default-features": false, + "features": [ + "target-aarch64" + ], + "platform": "arm64" + }, + { + "name": "llvm", + "default-features": false, + "features": [ + "target-x86" + ], + "platform": "x64 | x86" } ] }, - "opengl": { - "description": "Build support for OpenGL (all versions)", + "offscreen": { + "description": "Build with support for offscreen rendering (OSMesa)", "dependencies": [ - { - "name": "mesa", - "default-features": false - } + "opengl" ] } } diff --git a/ports/meschach/portfile.cmake b/ports/meschach/portfile.cmake index 5bbcff8faf3171..c592ed3162a6c0 100644 --- a/ports/meschach/portfile.cmake +++ b/ports/meschach/portfile.cmake @@ -6,21 +6,20 @@ vcpkg_download_distfile(ARCHIVE SHA512 9051e1502b8c9741400c61fd6038e514887f305f267ba4e97d747423de3da1270f835f65b2d1f538f8938677060bc0fcfd7a94022d74fbfd31a0450116e9d79e ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" NO_REMOVE_ONE_LEVEL ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -file(INSTALL ${SOURCE_PATH}/copyright DESTINATION ${CURRENT_PACKAGES_DIR}/share/meschach) +file(INSTALL "${SOURCE_PATH}/copyright" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/meschach/vcpkg.json b/ports/meschach/vcpkg.json index b22ceba583029a..7729dbf84c475e 100644 --- a/ports/meschach/vcpkg.json +++ b/ports/meschach/vcpkg.json @@ -1,7 +1,14 @@ { "name": "meschach", "version-string": "1.2b", - "port-version": 4, + "port-version": 6, "description": "Matrix computations in C", - "homepage": "https://homepage.math.uiowa.edu/~dstewart/meschach" + "homepage": "https://homepage.math.uiowa.edu/~dstewart/meschach", + "supports": "windows & !uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/meshoptimizer/portfile.cmake b/ports/meshoptimizer/portfile.cmake index f72d3e493412b6..b7398a9e491280 100644 --- a/ports/meshoptimizer/portfile.cmake +++ b/ports/meshoptimizer/portfile.cmake @@ -1,17 +1,38 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO zeux/meshoptimizer - REF v0.16 - SHA512 CC6D28359FB99A615E1046A4AF1B247CBC6EA0266D9E7F41EA0516C1FC09FA1E67376071DAF138A126C77BCA3BAF9D565636ED0E3ADF045F1A08498C38B7A7E7 + REF v${VERSION} + SHA512 801cdc911da6ece7afe2ae4f5d002f27e8a0b5072ec4332968183941671024b3cda2a45266c0899cc9fb134d3b931d70b3bd9629dc7765f77e102146b2f6bfd0 HEAD_REF master ) +# If we want basisu support in gltfpack we need a particular fork of basisu +# We could modify this to support using the vcpkg version of basisu +# but since this is only necessary for the gltfpack tool and not for the +# meshopt lib it shouldn't be too nasty to just grab this repo +if ("gltfpack" IN_LIST FEATURES) + vcpkg_from_github( + OUT_SOURCE_PATH BASISU_PATH + REPO zeux/basis_universal + REF 91ca86492bc046bf1d096067a1adcd2309e13dd2 + SHA512 fe80533db60b40cdc72a64f766c2447ce5c923d84467a926c2e8af4ec42e278d9fa9823b41b3fc7d9b740dd2d41d2f606f0f9990f94d2398f253bc86350a4287 + HEAD_REF gltfpack + ) +endif() + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS +FEATURES + gltfpack MESHOPT_BUILD_GLTFPACK +) + string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED_LIBS) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DMESHOPT_BUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} + ${FEATURE_OPTIONS} + -DMESHOPT_BUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} + -DMESHOPT_BASISU_PATH=${BASISU_PATH} ) vcpkg_cmake_install() @@ -20,6 +41,10 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/meshoptimizer) +if ("gltfpack" IN_LIST FEATURES) + vcpkg_copy_tools(TOOL_NAMES gltfpack AUTO_CLEAN) +endif() + # Handle copyright file(INSTALL "${SOURCE_PATH}/LICENSE.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/meshoptimizer/vcpkg.json b/ports/meshoptimizer/vcpkg.json index 7124de0788bd9c..dafc203159931d 100644 --- a/ports/meshoptimizer/vcpkg.json +++ b/ports/meshoptimizer/vcpkg.json @@ -1,8 +1,9 @@ { "name": "meshoptimizer", - "version": "0.16", + "version": "0.21", "description": "Mesh optimization library that makes meshes smaller and faster to render", "homepage": "https://github.com/zeux/meshoptimizer", + "license": "MIT", "dependencies": [ { "name": "vcpkg-cmake", @@ -12,5 +13,11 @@ "name": "vcpkg-cmake-config", "host": true } - ] + ], + "features": { + "gltfpack": { + "description": "Build gltfpack tool", + "supports": "!uwp" + } + } } diff --git a/ports/metis/build-fixes.patch b/ports/metis/build-fixes.patch new file mode 100644 index 00000000000000..c9e42193ba1bb4 --- /dev/null +++ b/ports/metis/build-fixes.patch @@ -0,0 +1,144 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a15d19a..7210a61 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,9 +1,9 @@ +-cmake_minimum_required(VERSION 2.8) ++cmake_minimum_required(VERSION 3.22) + project(METIS C) + + set(SHARED FALSE CACHE BOOL "build a shared library") + +-if(MSVC) ++if(0) + set(METIS_INSTALL FALSE) + else() + set(METIS_INSTALL TRUE) +@@ -34,19 +34,13 @@ include(./conf/gkbuild.cmake) + # + #set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${METIS_COPTIONS}") + +- +-# Add include directories. +-# i.e., the -I equivalent +-include_directories(build/xinclude) +-include_directories(${GKLIB_PATH}/include) +-include_directories(${CMAKE_INSTALL_PREFIX}/include) +- +-# List of paths that the compiler will search for library files. +-# i.e., the -L equivalent +-link_directories(${GKLIB_PATH}/lib) +-link_directories(${CMAKE_INSTALL_PREFIX}/lib) +- + # Recursively look for CMakeLists.txt in subdirs. +-add_subdirectory("build/xinclude") ++add_subdirectory("include") + add_subdirectory("libmetis") +-add_subdirectory("programs") ++ ++install(EXPORT metisTargets FILE "metisTargets.cmake" DESTINATION "share/metis") ++file(WRITE "${CMAKE_INSTALL_PREFIX}/share/metis/metisConfig.cmake" [=[ ++include(CMakeFindDependencyMacro) ++find_dependency(GKlib CONFIG) ++include("${CMAKE_CURRENT_LIST_DIR}/metisTargets.cmake") ++]=]) +diff --git a/conf/gkbuild.cmake b/conf/gkbuild.cmake +index 96435e5..ff43f05 100644 +--- a/conf/gkbuild.cmake ++++ b/conf/gkbuild.cmake +@@ -16,7 +16,6 @@ option(GKRAND "enable GKRAND support" OFF) + + # Add compiler flags. + if(MSVC) +- set(GK_COPTS "/Ox") + set(GK_COPTIONS "-DWIN32 -DMSC -D_CRT_SECURE_NO_DEPRECATE -DUSE_GKREGEX") + elseif(MINGW) + set(GK_COPTS "-DUSE_GKREGEX") +@@ -38,7 +37,7 @@ endif(VALGRIND) + set(GK_COPTIONS "${GK_COPTIONS} -fPIC") + endif(NOT MINGW) + # GCC warnings. +- set(GK_COPTIONS "${GK_COPTIONS} -Werror -Wall -pedantic -Wno-unused-function -Wno-unused-but-set-variable -Wno-unused-variable -Wno-unknown-pragmas -Wno-unused-label") ++ set(GK_COPTIONS "${GK_COPTIONS} -Wall -pedantic -Wno-unused-function -Wno-unused-but-set-variable -Wno-unused-variable -Wno-unknown-pragmas -Wno-unused-label") + elseif(${CMAKE_C_COMPILER_ID} MATCHES "Sun") + # Sun insists on -xc99. + set(GK_COPTIONS "${GK_COPTIONS} -xc99") +@@ -69,7 +68,7 @@ endif(OPENMP) + if(GDB) + set(GK_COPTS "${GK_COPTS} -g") + set(GK_COPTIONS "${GK_COPTIONS} -Werror") +-else() ++elseif(0) + set(GK_COPTS "-O3") + endif(GDB) + +diff --git a/include/metis.h b/include/metis.h +index 7fef0e7..f8e5dcf 100644 +--- a/include/metis.h ++++ b/include/metis.h +@@ -30,7 +30,7 @@ + GCC does provides these definitions in stdint.h, but it may require some + modifications on other architectures. + --------------------------------------------------------------------------*/ +-//#define IDXTYPEWIDTH 32 ++#define IDXTYPEWIDTH 32 + + + /*-------------------------------------------------------------------------- +@@ -40,7 +40,7 @@ + 32 : single precission floating point (float) + 64 : double precission floating point (double) + --------------------------------------------------------------------------*/ +-//#define REALTYPEWIDTH 32 ++#define REALTYPEWIDTH 32 + + + +@@ -72,10 +72,14 @@ typedef __int64 int64_t; + #define PRId64 "I64d" + #define SCNd32 "ld" + #define SCNd64 "I64d" ++#ifdef _WIN32 ++#include ++#else + #define INT32_MIN ((int32_t)_I32_MIN) + #define INT32_MAX _I32_MAX + #define INT64_MIN ((int64_t)_I64_MIN) + #define INT64_MAX _I64_MAX ++#endif // ^^^ !_WIN32 + #else + #include + #endif +diff --git a/libmetis/CMakeLists.txt b/libmetis/CMakeLists.txt +index fc6cec6..8aeb89a 100644 +--- a/libmetis/CMakeLists.txt ++++ b/libmetis/CMakeLists.txt +@@ -6,10 +6,9 @@ file(GLOB metis_sources *.c) + + # Build libmetis. + add_library(metis ${METIS_LIBRARY_TYPE} ${metis_sources}) ++find_package(GKlib CONFIG REQUIRED) ++target_link_libraries(metis PUBLIC GKlib) ++target_include_directories(metis PRIVATE "../include") + +-if(METIS_INSTALL) +- install(TARGETS metis +- LIBRARY DESTINATION lib +- RUNTIME DESTINATION lib +- ARCHIVE DESTINATION lib) +-endif() ++install(TARGETS metis EXPORT metisTargets ++ INCLUDES DESTINATION include) +diff --git a/libmetis/metislib.h b/libmetis/metislib.h +index dc224f4..1efccda 100644 +--- a/libmetis/metislib.h ++++ b/libmetis/metislib.h +@@ -31,7 +31,7 @@ + #include "proto.h" + + +-#if defined(COMPILER_MSC) ++#if defined(COMPILER_MSC) && (_MSC_VER < 1900) + #if defined(rint) + #undef rint + #endif diff --git a/ports/metis/disable-programs.patch b/ports/metis/disable-programs.patch deleted file mode 100644 index 0c23be55373e80..00000000000000 --- a/ports/metis/disable-programs.patch +++ /dev/null @@ -1,8 +0,0 @@ ---- a/CMakeLists.txt Wed Dec 21 18:24:22 2016 -+++ b/CMakeLists.txt Wed Dec 21 18:24:26 2016 -@@ -20,4 +20,4 @@ - # Recursively look for CMakeLists.txt in subdirs. - add_subdirectory("include") - add_subdirectory("libmetis") --add_subdirectory("programs") -+# add_subdirectory("programs") diff --git a/ports/metis/enable-install.patch b/ports/metis/enable-install.patch deleted file mode 100644 index 9f36623add836c..00000000000000 --- a/ports/metis/enable-install.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- a/CMakeLists.txt Sat Mar 30 17:24:45 2013 -+++ b/CMakeLists.txt Wed Dec 21 18:23:43 2016 -@@ -4,11 +4,7 @@ - set(GKLIB_PATH "GKlib" CACHE PATH "path to GKlib") - set(SHARED FALSE CACHE BOOL "build a shared library") - --if(MSVC) -- set(METIS_INSTALL FALSE) --else() -- set(METIS_INSTALL TRUE) --endif() -+set(METIS_INSTALL TRUE) - - # Configure libmetis library. - if(SHARED) diff --git a/ports/metis/fix-INT_MIN_define.patch b/ports/metis/fix-INT_MIN_define.patch deleted file mode 100644 index 97d7881f546100..00000000000000 --- a/ports/metis/fix-INT_MIN_define.patch +++ /dev/null @@ -1,34 +0,0 @@ -diff --git a/include/metis.h b/include/metis.h -index dc5406a..7732437 100644 ---- a/include/metis.h -+++ b/include/metis.h -@@ -72,10 +72,14 @@ typedef __int64 int64_t; - #define PRId64 "I64d" - #define SCNd32 "ld" - #define SCNd64 "I64d" -+#ifdef _WIN32 -+#include -+#else - #define INT32_MIN ((int32_t)_I32_MIN) - #define INT32_MAX _I32_MAX - #define INT64_MIN ((int64_t)_I64_MIN) - #define INT64_MAX _I64_MAX -+#endif - #else - #include - #endif -diff --git a/GKlib/gk_arch.h b/GKlib/gk_arch.h -index 78b1431..7258763 100644 ---- a/GKlib/gk_arch.h -+++ b/GKlib/gk_arch.h -@@ -32,8 +32,8 @@ - - - #ifdef __MSC__ -- #include "ms_stdint.h" -- #include "ms_inttypes.h" -+ #include -+ #include - #include "ms_stat.h" - #else - #ifndef SUNOS diff --git a/ports/metis/fix-gklib-vs14-math.patch b/ports/metis/fix-gklib-vs14-math.patch deleted file mode 100644 index e83a6823066670..00000000000000 --- a/ports/metis/fix-gklib-vs14-math.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/GKlib/gk_arch.h Wed Dec 21 18:34:18 2016 -+++ b/GKlib/gk_arch.h Wed Dec 21 18:30:49 2016 -@@ -58,7 +58,7 @@ - #define PTRDIFF_MAX INT64_MAX - #endif - --#ifdef __MSC__ -+#if defined(__MSC__) && (_MSC_VER < 1900) - /* MSC does not have rint() function */ - #define rint(x) ((int)((x)+0.5)) - diff --git a/ports/metis/fix-linux-build-error.patch b/ports/metis/fix-linux-build-error.patch deleted file mode 100644 index b3563a881b33d7..00000000000000 --- a/ports/metis/fix-linux-build-error.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index e94f050..b9613a7 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1,7 +1,8 @@ - cmake_minimum_required(VERSION 2.8) - project(METIS) - --set(GKLIB_PATH "GKlib" CACHE PATH "path to GKlib") -+set(GKLIB_PATH "${CMAKE_SOURCE_DIR}/GKlib" CACHE PATH "path to GKlib") -+ - set(SHARED FALSE CACHE BOOL "build a shared library") - - set(METIS_INSTALL TRUE) diff --git a/ports/metis/fix-metis-vs14-math.patch b/ports/metis/fix-metis-vs14-math.patch deleted file mode 100644 index a296213e8c8a3a..00000000000000 --- a/ports/metis/fix-metis-vs14-math.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/libmetis/metislib.h Sat Mar 30 17:24:45 2013 -+++ b/libmetis/metislib.h Wed Dec 21 18:30:59 2016 -@@ -31,7 +31,7 @@ - #include - - --#if defined(COMPILER_MSC) -+#if defined(COMPILER_MSC) && (_MSC_VER < 1900) - #if defined(rint) - #undef rint - #endif diff --git a/ports/metis/fix-runtime-install-destination.patch b/ports/metis/fix-runtime-install-destination.patch deleted file mode 100644 index 8d9147e5f9117c..00000000000000 --- a/ports/metis/fix-runtime-install-destination.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/libmetis/CMakeLists.txt Sat Mar 30 17:24:45 2013 -+++ b/libmetis/CMakeLists.txt Wed Dec 21 17:41:37 2016 -@@ -11,6 +11,6 @@ - if(METIS_INSTALL) - install(TARGETS metis - LIBRARY DESTINATION lib -- RUNTIME DESTINATION lib -+ RUNTIME DESTINATION bin - ARCHIVE DESTINATION lib) - endif() diff --git a/ports/metis/install-metisConfig.patch b/ports/metis/install-metisConfig.patch deleted file mode 100644 index c07600a85e8418..00000000000000 --- a/ports/metis/install-metisConfig.patch +++ /dev/null @@ -1,44 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index b9613a7..e43ffee 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -22,3 +22,23 @@ include_directories(include) - add_subdirectory("include") - add_subdirectory("libmetis") - # add_subdirectory("programs") -+ -+if(METIS_INSTALL) -+ set(PRJ_NAME metis) -+ set(PRJ_VER 5.1.0) -+ install(EXPORT metisTargets -+ FILE ${PRJ_NAME}Targets.cmake -+ DESTINATION lib/cmake/${PRJ_NAME}) -+ include(CMakePackageConfigHelpers) -+ write_basic_package_version_file( -+ ${CMAKE_CURRENT_BINARY_DIR}/${PRJ_NAME}ConfigVersion.cmake -+ VERSION ${PRJ_VER} -+ COMPATIBILITY SameMajorVersion) -+ file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/${PRJ_NAME}Config.cmake -+ "include(\${CMAKE_CURRENT_LIST_DIR}/${PRJ_NAME}Targets.cmake)") -+ install(FILES -+ ${CMAKE_CURRENT_BINARY_DIR}/${PRJ_NAME}ConfigVersion.cmake -+ ${CMAKE_CURRENT_BINARY_DIR}/${PRJ_NAME}Config.cmake -+ DESTINATION lib/cmake/${PRJ_NAME}) -+endif() -+ -diff --git a/libmetis/CMakeLists.txt b/libmetis/CMakeLists.txt -index 7a5fc74..5a68cf0 100644 ---- a/libmetis/CMakeLists.txt -+++ b/libmetis/CMakeLists.txt -@@ -9,8 +9,9 @@ if(UNIX) - endif() - - if(METIS_INSTALL) -- install(TARGETS metis -+ install(TARGETS metis EXPORT metisTargets - LIBRARY DESTINATION lib - RUNTIME DESTINATION bin -- ARCHIVE DESTINATION lib) -+ ARCHIVE DESTINATION lib -+ INCLUDES DESTINATION include) - endif() diff --git a/ports/metis/portfile.cmake b/ports/metis/portfile.cmake index 07f5d025721678..1004a2fe1ce358 100644 --- a/ports/metis/portfile.cmake +++ b/ports/metis/portfile.cmake @@ -1,41 +1,22 @@ -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -set(OPTIONS -DSHARED=OFF) - -set(METIS_VERSION 5.1.0) - -vcpkg_download_distfile(ARCHIVE - URLS "http://glaros.dtc.umn.edu/gkhome/fetch/sw/metis/metis-${METIS_VERSION}.tar.gz" - FILENAME "metis-${METIS_VERSION}.tar.gz" - SHA512 deea47749d13bd06fbeaf98a53c6c0b61603ddc17a43dae81d72c8015576f6495fd83c11b0ef68d024879ed5415c14ebdbd87ce49c181bdac680573bea8bdb25 -) - -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} - REF ${METIS_VERSION} - PATCHES - enable-install.patch - disable-programs.patch - fix-runtime-install-destination.patch - fix-metis-vs14-math.patch - fix-gklib-vs14-math.patch - fix-linux-build-error.patch - install-metisConfig.patch - fix-INT_MIN_define.patch -) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS ${OPTIONS} -) - -vcpkg_install_cmake() -vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/metis) - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) - -# Handle copyright -file(COPY ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/metis) -file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github(OUT_SOURCE_PATH SOURCE_PATH + REPO KarypisLab/METIS + REF 94c03a6e2d1860128c2d0675cbbb86ad4f261256 + SHA512 9f24329fa0f0856d0b5d10a489574d857bc4538d9639055fc895363cf70aa37342eaf7bc08819500ff6d5b98a4aa99f4241880622b540d4c484ca19e693d3480 + PATCHES + build-fixes.patch + ) + +vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}") +vcpkg_cmake_install() +vcpkg_copy_pdbs() +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) +file(WRITE "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" [=[ +metis provides CMake targets: + find_package(metis CONFIG REQUIRED) + target_link_libraries(main PRIVATE metis) +]=]) diff --git a/ports/metis/vcpkg.json b/ports/metis/vcpkg.json index 82baa5438e954d..f5b9c260d84f7c 100644 --- a/ports/metis/vcpkg.json +++ b/ports/metis/vcpkg.json @@ -1,7 +1,18 @@ { "name": "metis", - "version-string": "5.1.0", - "port-version": 8, + "version-date": "2022-07-27", "description": "Serial Graph Partitioning and Fill-reducing Matrix Ordering", - "homepage": "https://glaros.dtc.umn.edu/gkhome/metis/metis/overview" + "homepage": "https://github.com/KarypisLab/METIS", + "license": "Apache-2.0", + "dependencies": [ + "gklib", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/metrohash/portfile.cmake b/ports/metrohash/portfile.cmake index d62741a2adf597..f4c669bae6ff35 100644 --- a/ports/metrohash/portfile.cmake +++ b/ports/metrohash/portfile.cmake @@ -8,23 +8,22 @@ vcpkg_from_github( HEAD_REF master ) -file(COPY ${CURRENT_PORT_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) -configure_file(${CURRENT_PORT_DIR}/Config.cmake.in ${SOURCE_PATH}/cmake/Config.cmake.in COPYONLY) +file(COPY "${CURRENT_PORT_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") +configure_file("${CURRENT_PORT_DIR}/Config.cmake.in" "${SOURCE_PATH}/cmake/Config.cmake.in" COPYONLY) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) vcpkg_copy_pdbs() if(NOT EXISTS "${CURRENT_PACKAGES_DIR}/include/metrohash128crc.h") - vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/include/metrohash.h + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/metrohash.h" "#include \"metrohash128crc.h\"" "//#include \"metrohash128crc.h\" // The target platform does not support _mm_crc32_u64") endif() -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/include") +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/metrohash/vcpkg.json b/ports/metrohash/vcpkg.json index 2f61a8670c6bf2..f12705e9dcf3bc 100644 --- a/ports/metrohash/vcpkg.json +++ b/ports/metrohash/vcpkg.json @@ -1,7 +1,17 @@ { "name": "metrohash", "version": "1.1.3", - "port-version": 4, + "port-version": 5, "description": "MetroHash is a set of state-of-the-art hash functions for non-cryptographic use cases", - "homepage": "https://github.com/jandrewrogers/MetroHash" + "homepage": "https://github.com/jandrewrogers/MetroHash", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/mfl/disable-tests.patch b/ports/mfl/disable-tests.patch new file mode 100644 index 00000000000000..276e1832828746 --- /dev/null +++ b/ports/mfl/disable-tests.patch @@ -0,0 +1,22 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c411d11..9336e1d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -18,17 +18,6 @@ include(cmake/StaticAnalyzers.cmake) + + + add_subdirectory(src) +-add_subdirectory(tests/fonts_for_tests) +-add_subdirectory(tests/unit_tests) +- +-# Building approval tests causes ICE on msvc +-if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang") +- add_subdirectory(tests/approval_tests) +-endif() +- +-if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang") +- add_subdirectory(tests/fuzz_tests) +-endif() + + include(GNUInstallDirs) + diff --git a/ports/mfl/fix-clang-detection.patch b/ports/mfl/fix-clang-detection.patch new file mode 100644 index 00000000000000..c970bb0d7bb318 --- /dev/null +++ b/ports/mfl/fix-clang-detection.patch @@ -0,0 +1,13 @@ +diff --git a/cmake/CompilerWarnings.cmake b/cmake/CompilerWarnings.cmake +index 34f1cc8..bda884d 100644 +--- a/cmake/CompilerWarnings.cmake ++++ b/cmake/CompilerWarnings.cmake +@@ -79,7 +79,7 @@ function(set_project_warnings project_name) + + if(MSVC) + set(PROJECT_WARNINGS ${MSVC_WARNINGS}) +- elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Clang") ++ elseif(CMAKE_CXX_COMPILER_ID MATCHES "Clang") + set(PROJECT_WARNINGS ${CLANG_WARNINGS}) + else() + set(PROJECT_WARNINGS ${GCC_WARNINGS}) diff --git a/ports/mfl/portfile.cmake b/ports/mfl/portfile.cmake index 3bb9cbceb5d53b..d23f3919e7a998 100644 --- a/ports/mfl/portfile.cmake +++ b/ports/mfl/portfile.cmake @@ -10,15 +10,18 @@ vcpkg_from_github( REF v0.0.1 SHA512 a609b4ff23a01e9f9d9bf60bfa6e0b2346b054cf0c27e74e6da574dcfd2a6ead30dcb8464cf03cae2bb9995f15f01ffda5f862c0ec2744a9ad38b856ff27f073 HEAD_REF master + PATCHES + disable-tests.patch + fix-clang-detection.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DWARNINGS_AS_ERRORS=FALSE ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/mfl) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/mfl) -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/mfl/vcpkg.json b/ports/mfl/vcpkg.json index 88dc46f3c03f62..26aeaec07aa1b2 100644 --- a/ports/mfl/vcpkg.json +++ b/ports/mfl/vcpkg.json @@ -1,16 +1,24 @@ { "name": "mfl", "version": "0.0.1", + "port-version": 3, "description": "Computes the layout information for mathematical formulas provided in TeX-like syntax.", "homepage": "https://github.com/cpp-niel/mfl", "license": "MIT", - "supports": "static", "dependencies": [ "cairo", "doctest", "fmt", "freetype", "harfbuzz", - "range-v3" + "range-v3", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/mfx-dispatch/fix-pkgconf.patch b/ports/mfx-dispatch/fix-pkgconf.patch new file mode 100644 index 00000000000000..c0310e12a9ce1b --- /dev/null +++ b/ports/mfx-dispatch/fix-pkgconf.patch @@ -0,0 +1,39 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 9446bc4..a8a3288 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -3,16 +3,7 @@ cmake_minimum_required(VERSION 2.6) + project( libmfx ) + + # FIXME Adds support for using system/other install of intel media sdk +-find_path ( INTELMEDIASDK_PATH mfx/mfxvideo.h +- HINTS "${CMAKE_SOURCE_DIR}" +-) +- +-if (INTELMEDIASDK_PATH_NOTFOUND) +- message( FATAL_ERROR "Intel MEDIA SDK include not found" ) +-else (INTELMEDIASDK_PATH_NOTFOUND) +- message(STATUS "Intel Media SDK is here: ${INTELMEDIASDK_PATH}") +-endif (INTELMEDIASDK_PATH_NOTFOUND) +- ++set(INTELMEDIASDK_PATH "${CMAKE_CURRENT_LIST_DIR}") + + set(SOURCES + src/main.cpp +diff --git a/libmfx.pc.cmake b/libmfx.pc.cmake +index fabb541..5d248fe 100644 +--- a/libmfx.pc.cmake ++++ b/libmfx.pc.cmake +@@ -6,9 +6,9 @@ Requires.private: + Name: libmfx + Description: Intel Media SDK Dispatched static library +-Version: 2013 ++Version: 1.35 + Requires: + Requires.private: + Conflicts: +-Libs: -L${libdir} -lsupc++ ${libdir}/libmfx.lib ++Libs: -L${libdir} -llibmfx + Libs.private: +-Cflags: -I${includedir} -I@INTELMEDIASDK_PATH@ ++Cflags: -I${includedir} diff --git a/ports/mfx-dispatch/fix-unresolved-symbol.patch b/ports/mfx-dispatch/fix-unresolved-symbol.patch new file mode 100644 index 00000000000000..98a48914bcee8e --- /dev/null +++ b/ports/mfx-dispatch/fix-unresolved-symbol.patch @@ -0,0 +1,66 @@ +Subject: [PATCH] fix for vcpkg +fix missing mfx_driver_store_loader related symbols +--- +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 7e4d221c36c630c1250b23a5dfa15657bc04c10c) ++++ b/CMakeLists.txt (revision 5ebef171699530ca01594a5cef10a68811f4d105) +@@ -40,6 +39,7 @@ + src/mfx_load_plugin.cpp + src/mfx_plugin_hive.cpp + src/mfx_win_reg_key.cpp ++ src/mfx_driver_store_loader.cpp + ) + endif (CMAKE_SYSTEM_NAME MATCHES "Windows") + +@@ -56,6 +56,12 @@ + configure_file (${CMAKE_SOURCE_DIR}/libmfx.pc.cmake ${CMAKE_BINARY_DIR}/libmfx.pc @ONLY) + + add_library( mfx STATIC ${SOURCES} ) ++ ++if (CMAKE_SYSTEM_NAME MATCHES "Windows") ++ set_target_properties(mfx ++ PROPERTIES PREFIX lib) ++endif (CMAKE_SYSTEM_NAME MATCHES "Windows") ++ + install (DIRECTORY ${CMAKE_SOURCE_DIR}/mfx DESTINATION ${CMAKE_INSTALL_PREFIX}/include FILES_MATCHING PATTERN "*.h") + install (FILES ${CMAKE_BINARY_DIR}/libmfx.pc DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/pkgconfig) + install (TARGETS mfx ARCHIVE DESTINATION ${CMAKE_INSTALL_PREFIX}/lib) +Index: libmfx.pc.cmake +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/libmfx.pc.cmake b/libmfx.pc.cmake +--- a/libmfx.pc.cmake (revision 7e4d221c36c630c1250b23a5dfa15657bc04c10c) ++++ b/libmfx.pc.cmake (revision 388559e9e8234eb0989e1598a9beea4035a04132) +@@ -9,6 +9,6 @@ + Requires: + Requires.private: + Conflicts: +-Libs: -L${libdir} -lsupc++ ${libdir}/libmfx.a ++Libs: -L${libdir} -lsupc++ ${libdir}/libmfx.lib + Libs.private: + Cflags: -I${includedir} -I@INTELMEDIASDK_PATH@ +Index: src/mfx_driver_store_loader.cpp +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/mfx_driver_store_loader.cpp b/src/mfx_driver_store_loader.cpp +--- a/src/mfx_driver_store_loader.cpp (revision 388559e9e8234eb0989e1598a9beea4035a04132) ++++ b/src/mfx_driver_store_loader.cpp (revision 5ebef171699530ca01594a5cef10a68811f4d105) +@@ -24,6 +24,9 @@ + #include "mfx_dispatcher_log.h" + #include "mfx_load_dll.h" + ++#pragma comment(lib, "Ole32.lib") ++#pragma comment(lib, "Advapi32.lib") ++ + namespace MFX + { + diff --git a/ports/mfx-dispatch/portfile.cmake b/ports/mfx-dispatch/portfile.cmake new file mode 100644 index 00000000000000..693a5650b003a7 --- /dev/null +++ b/ports/mfx-dispatch/portfile.cmake @@ -0,0 +1,31 @@ +vcpkg_from_github( + 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 +) + +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_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/mfx-dispatch/vcpkg.json b/ports/mfx-dispatch/vcpkg.json new file mode 100644 index 00000000000000..888e39c4268467 --- /dev/null +++ b/ports/mfx-dispatch/vcpkg.json @@ -0,0 +1,16 @@ +{ + "name": "mfx-dispatch", + "version": "1.35.1", + "port-version": 4, + "description": "Open source Intel media sdk dispatcher", + "homepage": "https://github.com/lu-zero/mfx_dispatch", + "license": "BSD-3-Clause", + "supports": "((x86 | x64) & (android | linux)) | (windows & !uwp)", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true, + "platform": "windows & !mingw" + } + ] +} diff --git a/ports/mgnlibs/portfile.cmake b/ports/mgnlibs/portfile.cmake index cd5ee8d2131eb1..fa0295e7cd7d70 100644 --- a/ports/mgnlibs/portfile.cmake +++ b/ports/mgnlibs/portfile.cmake @@ -7,10 +7,8 @@ vcpkg_from_github( HEAD_REF master ) -# Put the licence file where vcpkg expects it -file(COPY ${SOURCE_PATH}/README.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/mgnlibs/README.md) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/mgnlibs/README.md ${CURRENT_PACKAGES_DIR}/share/mgnlibs/copyright) - # Copy the header files file(GLOB HEADER_FILES ${SOURCE_PATH}/*.h) file(COPY ${HEADER_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include/mgnlibs) + +file(INSTALL "${SOURCE_PATH}/README.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/mgnlibs/vcpkg.json b/ports/mgnlibs/vcpkg.json index e6b8522580344c..6758c736590ecc 100644 --- a/ports/mgnlibs/vcpkg.json +++ b/ports/mgnlibs/vcpkg.json @@ -1,7 +1,8 @@ { "name": "mgnlibs", - "version-string": "2019-09-29", - "port-version": 1, + "version-date": "2019-09-29", + "port-version": 2, "description": "Single-file public domain libraries for C/C++", - "homepage": "https://github.com/mattiasgustavsson/libs" + "homepage": "https://github.com/mattiasgustavsson/libs", + "license": "MIT" } diff --git a/ports/mhook/portfile.cmake b/ports/mhook/portfile.cmake index 51b47c316073ed..f89536f73d136a 100644 --- a/ports/mhook/portfile.cmake +++ b/ports/mhook/portfile.cmake @@ -7,14 +7,13 @@ vcpkg_from_github( PATCHES fix-windows-packing-mismatch.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() +vcpkg_copy_pdbs() -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/mhook RENAME copyright) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/mhook" RENAME copyright) -vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) diff --git a/ports/mhook/vcpkg.json b/ports/mhook/vcpkg.json index 8c55068ce6dabf..13dc895dd7d8c0 100644 --- a/ports/mhook/vcpkg.json +++ b/ports/mhook/vcpkg.json @@ -1,6 +1,13 @@ { "name": "mhook", - "version-string": "2.5.1", - "port-version": 2, - "description": "A Windows API hooking library." + "version": "2.5.1", + "port-version": 3, + "description": "A Windows API hooking library.", + "supports": "windows & !uwp & !arm", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } 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/find-msgpack.patch b/ports/microsoft-signalr/find-msgpack.patch new file mode 100644 index 00000000000000..04a812758610a3 --- /dev/null +++ b/ports/microsoft-signalr/find-msgpack.patch @@ -0,0 +1,29 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 676cde2..4562873 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -45,8 +45,8 @@ set(JSONCPP_LIB "jsoncpp_static" CACHE STRING "jsoncpp target name") + endif() + + if(USE_MSGPACK) +- find_package(msgpack CONFIG REQUIRED) +- set(MSGPACK_LIB "msgpackc-cxx") ++ find_package(msgpack-cxx CONFIG REQUIRED) ++ set(MSGPACK_LIB "msgpack-cxx") + endif() + + include_directories (include) +diff --git a/src/signalrclient/microsoft-signalr-config.in.cmake b/src/signalrclient/microsoft-signalr-config.in.cmake +index b28235b..09a7d56 100644 +--- a/src/signalrclient/microsoft-signalr-config.in.cmake ++++ b/src/signalrclient/microsoft-signalr-config.in.cmake +@@ -7,7 +7,7 @@ endif() + find_dependency(jsoncpp) + + if(@USE_MSGPACK@) +- find_dependency(msgpack) ++ find_dependency(msgpack-cxx CONFIG) + endif() + + include("${CMAKE_CURRENT_LIST_DIR}/microsoft-signalr-targets.cmake") +\ No newline at end of file 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 d5b8266ef3bc54..96dd2d53e9e918 100644 --- a/ports/microsoft-signalr/portfile.cmake +++ b/ports/microsoft-signalr/portfile.cmake @@ -1,9 +1,22 @@ +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 - REF v0.1.0-alpha3 - SHA512 7dbd75748535c7b7fef36afe246b132b243b8b4932c218a63aa18c7a44d6691c002144c6d2f5603ad63c03d018907436ad259fdfcc0d7749917931bdebef670b + REF "v${VERSION}" + SHA512 b87c94e8bc81781c1cfb4292f1fe3ce046a5f192a25c02104f454b533349c1c0ed965570bd749b496bb316ccb89ae51c5e7461ffa06055e71dac659fbde79456 HEAD_REF main + PATCHES + find-msgpack.patch + "${PATCH_FIX_GCC_13_COMPILATION}" + fix-miss-header.patch ) vcpkg_check_features( @@ -13,26 +26,23 @@ vcpkg_check_features( messagepack USE_MSGPACK ) -if("cpprestsdk" IN_LIST FEATURES AND VCPKG_TARGET_IS_UWP) - message(FATAL_ERROR "microsoft-signalr[cpprestsdk] is not supported on UWP, use microsoft-signalr[core] instead") -endif() - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_TESTING=OFF ${FEATURE_OPTIONS} -DWALL=OFF + -DWERROR=OFF + "-DJSONCPP_LIB=JsonCpp::JsonCpp" ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/share/microsoft-signalr) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/share/microsoft-signalr) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/share ${CURRENT_PACKAGES_DIR}/lib/share) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/share" "${CURRENT_PACKAGES_DIR}/lib/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) -file(COPY ${SOURCE_PATH}/third-party-notices.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") +file(COPY "${SOURCE_PATH}/third-party-notices.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -vcpkg_copy_pdbs() \ No newline at end of file +vcpkg_copy_pdbs() diff --git a/ports/microsoft-signalr/vcpkg.json b/ports/microsoft-signalr/vcpkg.json index 12e555add59c87..502101e7356d55 100644 --- a/ports/microsoft-signalr/vcpkg.json +++ b/ports/microsoft-signalr/vcpkg.json @@ -1,11 +1,22 @@ { "name": "microsoft-signalr", - "version-string": "0.1.0-alpha3", - "port-version": 1, + "version": "0.1.0-alpha4", + "port-version": 12, "description": "C++ Client for ASP.NET Core SignalR.", "homepage": "https://github.com/aspnet/SignalR-Client-Cpp", + "dependencies": [ + "jsoncpp", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], "default-features": [ - "default-features" + "cpprestsdk" ], "features": { "cpprestsdk": { @@ -14,24 +25,11 @@ { "name": "cpprestsdk", "features": [ - "default-features", "websockets" ] } ] }, - "default-features": { - "description": "Features installed by default", - "dependencies": [ - { - "name": "microsoft-signalr", - "features": [ - "cpprestsdk" - ], - "platform": "!uwp" - } - ] - }, "messagepack": { "description": "Add support for the messagepack hub protocol, must enable in code still", "dependencies": [ diff --git a/ports/mikktspace/portfile.cmake b/ports/mikktspace/portfile.cmake index 28493897f49510..63985838572be4 100644 --- a/ports/mikktspace/portfile.cmake +++ b/ports/mikktspace/portfile.cmake @@ -8,16 +8,15 @@ vcpkg_from_github( HEAD_REF master ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS_DEBUG -DMIKKTSPACE_SKIP_HEADERS=ON ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets() +vcpkg_cmake_install() +vcpkg_cmake_config_fixup() -file(INSTALL ${SOURCE_PATH}/mikktspace.h DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/mikktspace.h" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/mikktspace/vcpkg.json b/ports/mikktspace/vcpkg.json index c26b3e36070f44..317420cc9735d8 100644 --- a/ports/mikktspace/vcpkg.json +++ b/ports/mikktspace/vcpkg.json @@ -1,7 +1,17 @@ { "name": "mikktspace", - "version-string": "2020-10-06", - "port-version": 1, + "version-date": "2020-10-06", + "port-version": 3, "description": "A common standard for tangent space used in baking tools to produce normal maps", - "homepage": "https://github.com/mmikk/MikkTSpace" + "homepage": "https://github.com/mmikk/MikkTSpace", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/milerius-sfml-imgui/FixFindPackageIssue.patch b/ports/milerius-sfml-imgui/FixFindPackageIssue.patch index a3d8053ddd65a0..062e55cde3de93 100644 --- a/ports/milerius-sfml-imgui/FixFindPackageIssue.patch +++ b/ports/milerius-sfml-imgui/FixFindPackageIssue.patch @@ -2,15 +2,16 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt index 27b8bd8..33fe623 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -2,7 +2,7 @@ if (${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR}) +@@ -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) -+project(milerius-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 diff --git a/ports/milerius-sfml-imgui/cpp11.patch b/ports/milerius-sfml-imgui/cpp11.patch new file mode 100644 index 00000000000000..61dd830d584c9b --- /dev/null +++ b/ports/milerius-sfml-imgui/cpp11.patch @@ -0,0 +1,12 @@ +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 new file mode 100644 index 00000000000000..2799a558b7f256 --- /dev/null +++ b/ports/milerius-sfml-imgui/fix-imgui-dependency.patch @@ -0,0 +1,22 @@ +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 index 63ce4e7c548d7d..2f722b769b1991 100644 --- a/ports/milerius-sfml-imgui/portfile.cmake +++ b/ports/milerius-sfml-imgui/portfile.cmake @@ -6,18 +6,19 @@ vcpkg_from_github( REF 1.1 SHA512 191184f7b302f643bd7c241b69d9f9edc0d03c6f5a0b3a49f57ac84f3828202f8065291fb17993073a2c07f1237ba491de677c47e2f8160dc70ea77f20eb1946 HEAD_REF master - PATCHES FixFindPackageIssue.patch + PATCHES + FixFindPackageIssue.patch + cpp11.patch + fix-imgui-dependency.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/milerius-sfml-imgui) +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(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/milerius-sfml-imgui) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/milerius-sfml-imgui/LICENSE ${CURRENT_PACKAGES_DIR}/share/milerius-sfml-imgui/copyright) \ No newline at end of file +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 index e208a73f3b863e..8e7e4c59dd5025 100644 --- a/ports/milerius-sfml-imgui/vcpkg.json +++ b/ports/milerius-sfml-imgui/vcpkg.json @@ -1,10 +1,20 @@ { "name": "milerius-sfml-imgui", - "version-string": "1.1", - "port-version": 3, + "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" + "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 2824055a5a25ab..6b57a466a146ca 100644 --- a/ports/mimalloc/fix-cmake.patch +++ b/ports/mimalloc/fix-cmake.patch @@ -1,39 +1,17 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index b56953c..d7ad3e7 100644 +index bcfe91d8..a1e5a2b7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -279,10 +279,12 @@ if(MI_BUILD_SHARED) +@@ -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 ${CMAKE_INSTALL_BINDIR} -+ ) +- 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(EXPORT mimalloc DESTINATION ${mi_install_cmakedir}) -+ install(TARGETS mimalloc EXPORT mimalloc ARCHIVE DESTINATION lib RUNTIME DESTINATION bin LIBRARY DESTINATION lib NAMELINK_SKIP) - endif() - - # static library -@@ -308,6 +310,8 @@ if (MI_BUILD_STATIC) - install(TARGETS mimalloc-static EXPORT mimalloc DESTINATION ${mi_install_libdir} LIBRARY) - endif() - -+install(EXPORT mimalloc DESTINATION ${mi_install_cmakedir}) -+ - # install include files - install(FILES include/mimalloc.h DESTINATION ${mi_install_incdir}) - install(FILES include/mimalloc-override.h DESTINATION ${mi_install_incdir}) -@@ -342,9 +346,6 @@ if (MI_BUILD_OBJECT) - # the FILES expression can also be: $ - # but that fails cmake versions less than 3.10 so we leave it as is for now -- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/mimalloc-obj.dir/src/static.c${CMAKE_C_OUTPUT_EXTENSION} -- DESTINATION ${mi_install_libdir} -- RENAME ${mi_basename}${CMAKE_C_OUTPUT_EXTENSION} ) +- 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() - # ----------------------------------------------------------------------------- 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 7703c5a419196b..1b569f14f40db4 100644 --- a/ports/mimalloc/portfile.cmake +++ b/ports/mimalloc/portfile.cmake @@ -1,13 +1,13 @@ -vcpkg_fail_port_install(ON_ARCH "arm" "arm64" ON_TARGET "uwp") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO microsoft/mimalloc - REF v2.0.2 - SHA512 d6f1749a6df86346220fc190a3fd6aa67deff5439b26846c33ff95e91ce5fea73837ee39348dd432db3592575298e6e87856329d0236d2c6959abd8bf7756cdc + 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 @@ -26,9 +26,9 @@ vcpkg_cmake_configure( OPTIONS_RELEASE -DMI_DEBUG_FULL=OFF OPTIONS - -DMI_INTERPOSE=ON - -DMI_USE_CXX=OFF + -DMI_USE_CXX=ON -DMI_BUILD_TESTS=OFF + -DMI_BUILD_OBJECT=OFF ${FEATURE_OPTIONS} -DMI_BUILD_STATIC=${MI_BUILD_STATIC} -DMI_BUILD_SHARED=${MI_BUILD_SHARED} @@ -41,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 cmake) +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)" @@ -55,4 +56,19 @@ endif() 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) \ No newline at end of file +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 dfa772aaabefa9..2a6c73211a23ce 100644 --- a/ports/mimalloc/vcpkg.json +++ b/ports/mimalloc/vcpkg.json @@ -1,9 +1,11 @@ { "name": "mimalloc", - "version": "2.0.2", + "version": "2.1.7", + "port-version": 1, "description": "Compact general purpose allocator with excellent performance", "homepage": "https://github.com/microsoft/mimalloc", - "supports": "!(arm | uwp)", + "license": "MIT", + "supports": "!uwp", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/mimicpp/portfile.cmake b/ports/mimicpp/portfile.cmake new file mode 100644 index 00000000000000..84b25c4f0175bb --- /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 48e17ed91d14cd466ad7216849363953793ee3a8d2fa2619600c6177eebcb04e6cd458eff7cbc1a589ae31eebfbb3fa862c430a5ef09e8e0dfbe601f540ae0dc + 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..d68d0ed73eb1b1 --- /dev/null +++ b/ports/mimicpp/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "mimicpp", + "version": "4", + "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/minc/portfile.cmake b/ports/minc/portfile.cmake index 6fbec96273aaf0..5cb60d0fc419ee 100644 --- a/ports/minc/portfile.cmake +++ b/ports/minc/portfile.cmake @@ -1,6 +1,6 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO BIC-MNI/libminc + REPO BIC-MNI/libminc REF e75a936c12a305b596d743c26a5437196ebce2a4 SHA512 744f879ac8f0594c310d1c1b7fe67543c5feeb3e5a0979035918dbb2bf1d0973fbd389e5357a75631e618cc614b648c21179f7467576bd68e3522e63f21451b0 HEAD_REF master @@ -10,8 +10,10 @@ vcpkg_from_github( fix-dependency-hdf5.patch ) -vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - "minc1" LIBMINC_MINC1_SUPPORT +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + "minc1" LIBMINC_MINC1_SUPPORT ) if(VCPKG_TARGET_IS_WINDOWS) @@ -20,14 +22,13 @@ endif() set(OPTIONS) if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - list(APPEND OPTIONS "-DLIBMINC_BUILD_SHARED_LIBS=ON") + list(APPEND OPTIONS "-DLIBMINC_BUILD_SHARED_LIBS=ON") else() list(APPEND OPTIONS "-DLIBMINC_BUILD_SHARED_LIBS=OFF") endif() -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" DISABLE_PARALLEL_CONFIGURE OPTIONS "-DBUILD_TESTING=OFF" @@ -36,9 +37,9 @@ vcpkg_configure_cmake( ${FEATURE_OPTIONS} ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake TARGET_PATH share/libminc) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake PACKAGE_NAME libminc) if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") @@ -46,4 +47,4 @@ endif() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/minc/vcpkg.json b/ports/minc/vcpkg.json index 0fd609d6779cfc..6b23453782e58b 100644 --- a/ports/minc/vcpkg.json +++ b/ports/minc/vcpkg.json @@ -1,15 +1,24 @@ { "name": "minc", "version-string": "2.4.03", - "port-version": 2, + "port-version": 3, "description": "MINC - Medical Image NetCDF or MINC isn't netCDF", "homepage": "https://github.com/BIC-MNI/libminc", + "license": null, "dependencies": [ { "name": "hdf5", "default-features": false }, "nifticlib", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, "zlib" ], "features": { @@ -17,7 +26,7 @@ "description": "Support minc1 file format, requires NETCDF", "dependencies": [ { - "name": "netcdf", + "name": "netcdf-c", "default-features": false } ] diff --git a/ports/minhook/portfile.cmake b/ports/minhook/portfile.cmake index bd022d5bcbcfb0..a7fd5e40119469 100644 --- a/ports/minhook/portfile.cmake +++ b/ports/minhook/portfile.cmake @@ -1,5 +1,3 @@ -vcpkg_fail_port_install(ON_TARGET "UWP") - if (VCPKG_TARGET_ARCHITECTURE MATCHES "x86") set(BUILD_ARCH "Win32") set(OUTPUT_DIR "Win32") @@ -13,9 +11,9 @@ endif() # Download files to enable CMake support for minhook - Adds CMakeLists.txt and minhook-config.cmake.in vcpkg_download_distfile( CMAKE_SUPPORT_PATCH - URLS https://github.com/TsudaKageyu/minhook/commit/3f2e34976c1685ee372a09f54c0c8c8f4240ef90.patch + URLS https://github.com/TsudaKageyu/minhook/commit/3f2e34976c1685ee372a09f54c0c8c8f4240ef90.patch?full_index=1 FILENAME minhook-cmake-support.patch - SHA512 5f353b167e2c31e5e06258420c78fbae0095368cf687ff06a350d6b69b30476824785dde5dbcea3e30ff827e7cdb293727a73e6b1e6875f00aa891b2980c3877 + SHA512 7863c51a4563fbc3694149595a7ef301500a1b3b324cc5571b0843386c2fdb5ae10b7e830c9b9fcc973dd17f77f386fd1dedcd493ce8475d2dcf2c44bb7306d0 ) vcpkg_from_github( @@ -29,15 +27,14 @@ vcpkg_from_github( fix-usage.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/minhook) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/minhook) 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) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/minhook/vcpkg.json b/ports/minhook/vcpkg.json index 707945cccce056..1ba20905424873 100644 --- a/ports/minhook/vcpkg.json +++ b/ports/minhook/vcpkg.json @@ -1,7 +1,19 @@ { "name": "minhook", - "version-string": "1.3.3", - "port-version": 2, + "version": "1.3.3", + "port-version": 4, "description": "The Minimalistic x86/x64 API Hooking Library for Windows.", - "supports": "!uwp" + "homepage": "https://github.com/TsudaKageyu/minhook", + "license": "BSD-2-Clause", + "supports": "windows & !uwp & !arm", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/miniaudio/portfile.cmake b/ports/miniaudio/portfile.cmake new file mode 100644 index 00000000000000..8837a8bf4df64d --- /dev/null +++ b/ports/miniaudio/portfile.cmake @@ -0,0 +1,13 @@ +# Header-only library +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO mackron/miniaudio + REF "${VERSION}" + SHA512 0c67ff7d9112409fea5af7756c1bc14bca4acfa45a97896ea339cdab228ac3dcc843c492e6da9dc75d4cd6f6b795ee80fe3ad9c4c746d7db691b1216f86e456d + HEAD_REF master +) + +file(INSTALL "${SOURCE_PATH}/miniaudio.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include") + +# Handle copyright +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/miniaudio/vcpkg.json b/ports/miniaudio/vcpkg.json new file mode 100644 index 00000000000000..b20a03c704afe9 --- /dev/null +++ b/ports/miniaudio/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "miniaudio", + "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/fix-arm-build-error.patch b/ports/minifb/fix-arm-build-error.patch deleted file mode 100644 index 66579d44954760..00000000000000 --- a/ports/minifb/fix-arm-build-error.patch +++ /dev/null @@ -1,40 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 06ba472..0f5874c 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -54,6 +54,27 @@ add_library(minifb STATIC - ${SrcLib} - ) - -+if (WIN32) -+add_executable(noise -+ tests/noise.c -+) -+target_link_libraries(noise minifb Gdi32.lib) -+ -+add_executable(input_events -+ tests/input_events.c -+) -+target_link_libraries(input_events minifb Gdi32.lib) -+ -+add_executable(input_events_cpp -+ tests/input_events_cpp.cpp -+) -+target_link_libraries(input_events_cpp minifb Gdi32.lib) -+ -+add_executable(multiple_windows -+ tests/multiple_windows.c -+) -+target_link_libraries(multiple_windows minifb Gdi32.lib) -+else() - add_executable(noise - tests/noise.c - ) -@@ -73,6 +94,7 @@ add_executable(multiple_windows - tests/multiple_windows.c - ) - target_link_libraries(multiple_windows minifb) -+endif() - - if (MSVC) - elseif (MINGW) diff --git a/ports/minifb/fix-build-error.patch b/ports/minifb/fix-build-error.patch deleted file mode 100644 index e1a4c07758f1d4..00000000000000 --- a/ports/minifb/fix-build-error.patch +++ /dev/null @@ -1,25 +0,0 @@ -diff --git a/src/windows/WinMiniFB.c b/src/windows/WinMiniFB.c -index 84ed0cb..b33f252 100644 ---- a/src/windows/WinMiniFB.c -+++ b/src/windows/WinMiniFB.c -@@ -19,7 +19,7 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) - { - LRESULT res = 0; - -- SWindowData *window_data = (SWindowData *) GetWindowLongPtr(hWnd, GWL_USERDATA); -+ SWindowData *window_data = (SWindowData *) GetWindowLongPtr(hWnd, GWLP_USERDATA); - SWindowData_Win *window_data_win = 0x0; - if(window_data != 0x0) { - window_data_win = (SWindowData_Win *) window_data->specific; -diff --git a/tests/multiple_windows.c b/tests/multiple_windows.c -index 4b301c0..29276be 100644 ---- a/tests/multiple_windows.c -+++ b/tests/multiple_windows.c -@@ -1,6 +1,7 @@ - #include - #include - #include -+#define _USE_MATH_DEFINES - #include - - #define kUnused(var) (void) var; diff --git a/ports/minifb/fix-install-error.patch b/ports/minifb/fix-install-error.patch deleted file mode 100644 index 64f5af04606c3e..00000000000000 --- a/ports/minifb/fix-install-error.patch +++ /dev/null @@ -1,54 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 06ba472..6dc7988 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -17,6 +17,12 @@ file(GLOB SrcMacOSX "src/macosx/*.c" - file(GLOB SrcWayland "src/wayland/*.c") - file(GLOB SrcX11 "src/x11/*.c") - -+file(GLOB HEADERS "include/*.h") -+file(GLOB HeaderWindows "src/windows/*.h") -+file(GLOB HeaderMacOSX "src/macosx/*.h") -+file(GLOB HeaderWayland "src/wayland/*.h") -+file(GLOB HeaderX11 "src/x11/*.h") -+ - if (NOT MSVC) - set (CMAKE_C_FLAGS "-g -Wall -Wextra -pedantic -Wno-switch -Wno-unused-function") - set (CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} -std=c++11") -@@ -34,19 +40,24 @@ if (MSVC) - add_definitions(-D_CRT_SECURE_NO_WARNINGS) - add_definitions(-D_WIN32_WINNT=0x0600) - list (APPEND SrcLib ${SrcWindows}) -+ list (APPEND HEADERS ${HeaderWindows}) - elseif (MINGW) - add_definitions(-D_WIN32_WINNT=0x0600) - list(APPEND SrcLib ${SrcWindows}) -+ list (APPEND HEADERS ${HeaderWindows}) - elseif (APPLE) - if(USE_METAL_API) - add_definitions(-DUSE_METAL_API) - endif() - list(APPEND SrcLib ${SrcMacOSX}) -+ list (APPEND HEADERS ${HeaderMacOSX}) - elseif (UNIX) - if(USE_WAYLAND_API) - list(APPEND SrcLib ${SrcWayland}) -+ list (APPEND HEADERS ${HeaderWayland}) - else() - list(APPEND SrcLib ${SrcX11}) -+ list (APPEND HEADERS ${HeaderX11}) - endif() - endif() - -@@ -112,3 +123,11 @@ elseif (UNIX) - target_link_libraries(multiple_windows -lX11) - endif() - endif() -+ -+install(TARGETS minifb -+ RUNTIME DESTINATION bin -+ LIBRARY DESTINATION lib -+ ARCHIVE DESTINATION lib -+ ) -+ -+install(FILES ${HEADERS} DESTINATION include) diff --git a/ports/minifb/portfile.cmake b/ports/minifb/portfile.cmake index 26b8138891a9b7..3389c2a139f165 100644 --- a/ports/minifb/portfile.cmake +++ b/ports/minifb/portfile.cmake @@ -1,30 +1,23 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - message(FATAL_ERROR "${PORT} currently doesn't supports UWP.") -endif() - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO emoon/minifb - REF 25a440f8226f12b8014d24288ad0587724005afc - SHA512 e54d86e43193d22263003a9539b11cc61cfd4a1b7093c982165cdd6e6f150b431a44e7d4dc8512b62b9853a7605e29cee19f85b8d25a34b3b530f9aa41a2f4a9 + REF 2ce2449b1bc8d7c6d20c31b86244f1e540f2e788 # 2023-09-21 + SHA512 cbadc06df99f833fedcd9eb9d5afab4572272a9dfd0f4084a2b79a64dc98f19bcddbb6f43992b16f005d26054c454e3cfc34e3e210cdd93ad1adb89e19463a4d HEAD_REF master - PATCHES - fix-install-error.patch - fix-build-error.patch - fix-arm-build-error.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DMINIFB_BUILD_EXAMPLES=FALSE ) -vcpkg_install_cmake() +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/include") -# Handle copyright -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) \ No newline at end of file +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/minifb/usage b/ports/minifb/usage new file mode 100644 index 00000000000000..68bc6ab9100c23 --- /dev/null +++ b/ports/minifb/usage @@ -0,0 +1,4 @@ +minifb provides CMake targets: + + find_package(minifb CONFIG REQUIRED) + target_link_libraries(main PRIVATE minifb::minifb) diff --git a/ports/minifb/vcpkg.json b/ports/minifb/vcpkg.json index 760b9d2aac5d03..07ef620853a52b 100644 --- a/ports/minifb/vcpkg.json +++ b/ports/minifb/vcpkg.json @@ -1,8 +1,18 @@ { "name": "minifb", - "version-string": "2019-08-20", - "port-version": 2, + "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", - "supports": "!uwp" + "license": "MIT", + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/minimp3/portfile.cmake b/ports/minimp3/portfile.cmake index 08ef0703292522..dc795aadb4dd1a 100644 --- a/ports/minimp3/portfile.cmake +++ b/ports/minimp3/portfile.cmake @@ -1,13 +1,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO lieff/minimp3 - REF 95864e8e0d3b34402a49ae9af6c66f7e98c13c35 #committed on Nov 27 - SHA512 6e5364a83e882b54fd1eb5ba35ec7c7179b5b5c0ceb2c658615a2306ae0c28252ca8591ec6b515483c6ff0ed608db7eb73fba3d201a20ad4a85ce7b3a091a695 + REF afb604c06bc8beb145fecd42c0ceb5bda8795144 # committed on 2021-11-30 + SHA512 633da0b20982f6f22c87d872c69626b2939ffb4519339cd0c090d7538308007cf633c07af57020cd2332a75c6e7b9bf3ebd5bda1af59dc96a4f0e85ce1b3f751 HEAD_REF master ) -file(COPY ${SOURCE_PATH}/minimp3.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/${PORT}) -file(COPY ${SOURCE_PATH}/minimp3_ex.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/${PORT}) +file(COPY "${SOURCE_PATH}/minimp3.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include/${PORT}") +file(COPY "${SOURCE_PATH}/minimp3_ex.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include/${PORT}") # Handle copyright -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/minimp3/vcpkg.json b/ports/minimp3/vcpkg.json index 5fad0a36310ca7..e21253915a99de 100644 --- a/ports/minimp3/vcpkg.json +++ b/ports/minimp3/vcpkg.json @@ -1,7 +1,7 @@ { "name": "minimp3", - "version-string": "2020-12-25", - "port-version": 1, + "version-date": "2021-11-30", "description": "Minimalistic, single-header library for decoding MP3. minimp3 is designed to be small, fast (with SSE and NEON support), and accurate (ISO conformant).", - "homepage": "https://github.com/lieff/minimp3" + "homepage": "https://github.com/lieff/minimp3", + "license": "CC0-1.0" } diff --git a/ports/minio-cpp/portfile.cmake b/ports/minio-cpp/portfile.cmake new file mode 100644 index 00000000000000..33e83da73766a0 --- /dev/null +++ b/ports/minio-cpp/portfile.cmake @@ -0,0 +1,21 @@ +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 new file mode 100644 index 00000000000000..546ec6fd07ad82 --- /dev/null +++ b/ports/minio-cpp/vcpkg.json @@ -0,0 +1,29 @@ +{ + "name": "minio-cpp", + "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": "!uwp", + "dependencies": [ + "curlpp", + { + "name": "inih", + "features": [ + "cpp" + ] + }, + "nlohmann-json", + "openssl", + "pugixml", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "zlib" + ] +} diff --git a/ports/miniply/fix-cmake.patch b/ports/miniply/fix-cmake.patch new file mode 100644 index 00000000000000..808a940db4ee7b --- /dev/null +++ b/ports/miniply/fix-cmake.patch @@ -0,0 +1,45 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index bde25da..e1129db 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -2,19 +2,29 @@ cmake_minimum_required(VERSION 3.5) + + project(miniply LANGUAGES CXX) + ++include(GNUInstallDirs) ++ + set(CMAKE_CXX_STANDARD 11) + set(CMAKE_CXX_STANDARD_REQUIRED ON) + +-include_directories(.) ++add_library(miniply miniply.cpp) ++ ++target_include_directories(miniply ++ PUBLIC ++ $ ++ $) ++ ++install(FILES ${CMAKE_SOURCE_DIR}/miniply.h ++ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) ++ ++install(TARGETS miniply EXPORT miniply-config ++ RUNTIME DESTINATION bin ++ ARCHIVE DESTINATION lib ++ LIBRARY DESTINATION lib ++ INCLUDES DESTINATION include) + +-add_executable(miniply-perf +- miniply.cpp +- miniply.h +- extra/miniply-perf.cpp +-) ++install(EXPORT miniply-config ++ FILE unofficial-miniply-config.cmake ++ NAMESPACE unofficial::miniply:: ++ DESTINATION share/unofficial-miniply) + +-add_executable(miniply-info +- miniply.cpp +- miniply.h +- extra/miniply-info.cpp +-) diff --git a/ports/miniply/portfile.cmake b/ports/miniply/portfile.cmake new file mode 100644 index 00000000000000..3422934909f4a4 --- /dev/null +++ b/ports/miniply/portfile.cmake @@ -0,0 +1,21 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO vilya/miniply + REF 1a235c70390fadf789695c9ccbf285ae712416b3 + SHA512 856bb39bd36dab588026b9ee886a996bd697df5c1a24de2abff822e037a0fb7af0be19dca5e2f6ccc524453b0b9ee6e225510565ca78f6b965dd7406ba67dac1 + HEAD_REF master + PATCHES + fix-cmake.patch +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" +) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-miniply) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.md") diff --git a/ports/miniply/vcpkg.json b/ports/miniply/vcpkg.json new file mode 100644 index 00000000000000..61e20ae06c7748 --- /dev/null +++ b/ports/miniply/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "miniply", + "version-date": "2022-09-15", + "port-version": 1, + "description": "A fast and easy-to-use PLY parsing library in a single c++11 header and cpp file", + "homepage": "https://github.com/vilya/miniply", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/minisat-master-keying/portfile.cmake b/ports/minisat-master-keying/portfile.cmake index 3b487e3c0d4c6f..a88e29b663cf4e 100644 --- a/ports/minisat-master-keying/portfile.cmake +++ b/ports/minisat-master-keying/portfile.cmake @@ -1,11 +1,20 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +vcpkg_download_distfile( + ADD_MISSING_HEADERS + URLS https://github.com/master-keying/minisat/commit/dde8a20c9c5ab0d2333ba7a338a7f4a769632b75.patch?full_index=1 + SHA512 14b1ea9e72d969b0931a6ee571e4d7a591b6bdadd6b9c1e3696d902ab85caf22e0a65e4aadff3c16e55b2d5b04fa9f007bc015b6e914425c9932ca731f8445f2 + FILENAME dde8a20c9c5ab0d2333ba7a338a7f4a769632b75.patch +) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO master-keying/minisat - REF v2.3.6 - SHA512 48E7AC1C97EA58070EAB9310F977404295E881B1403D527A33E059A0BB5A16CAA9AF2FA9E5230AD7E53E008B83077E300B3BAEEB0C220BE4E52B6B85887A05E1 + REF v2.3.6 + SHA512 48E7AC1C97EA58070EAB9310F977404295E881B1403D527A33E059A0BB5A16CAA9AF2FA9E5230AD7E53E008B83077E300B3BAEEB0C220BE4E52B6B85887A05E1 HEAD_REF master + PATCHES + "${ADD_MISSING_HEADERS}" ) vcpkg_cmake_configure( diff --git a/ports/minisat-master-keying/vcpkg.json b/ports/minisat-master-keying/vcpkg.json index c2a89562efa7a5..7b5a96c462229a 100644 --- a/ports/minisat-master-keying/vcpkg.json +++ b/ports/minisat-master-keying/vcpkg.json @@ -1,6 +1,7 @@ { "name": "minisat-master-keying", "version": "2.3.6", + "port-version": 1, "description": [ "A minimalistic high-performance SAT solver", "This is a modernized, cross-platform, CMake-enabled fork of the original MiniSat." diff --git a/ports/minitrace/CMakeLists.txt b/ports/minitrace/CMakeLists.txt deleted file mode 100644 index fcae7841ef5717..00000000000000 --- a/ports/minitrace/CMakeLists.txt +++ /dev/null @@ -1,32 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(minitrace C) - -set(minitrace_HEADERS minitrace.h) -set(minitrace_SOURCES minitrace.c) - -add_library(minitrace ${minitrace_SOURCES}) - -# Install headers -install(FILES ${minitrace_HEADERS} DESTINATION include/minitrace) - -# Install minitrace -install( - TARGETS minitrace EXPORT minitraceConfig - RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin - LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib - ARCHIVE DESTINATION ${CMAKE_INSTALL_PREFIX}/lib -) - -# Export config file for minitrace -export( - TARGETS minitrace - NAMESPACE minitrace:: - FILE "${CMAKE_CURRENT_BINARY_DIR}/minitrace-config.cmake" -) - -# Install config file -install( - EXPORT minitraceConfig - DESTINATION "${CMAKE_INSTALL_PREFIX}/share/minitrace" - NAMESPACE minitrace:: -) diff --git a/ports/minitrace/portfile.cmake b/ports/minitrace/portfile.cmake index 06b43396e63a04..b5a4b5a6edb01b 100644 --- a/ports/minitrace/portfile.cmake +++ b/ports/minitrace/portfile.cmake @@ -1,15 +1,11 @@ -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO hrydgard/minitrace - REF a48215c409dd848fa0a76c5eb4dfaba4ca3bca39 - SHA512 591fa52132b6bbe8e7e121526a43d07056deff8fe026227c1a4c26bebf95536e5d68750fa8551d23afebf048fe8b8503017b9a93650e18a992cf2e5678d46135 + REF a45ca4f58c8af2fc4d4d6042e68aa68bfea422c9 + SHA512 5ea6fb58a1f2397444e58e449fd32b4b45f5a15afe8f8694115a0025f5444cf493ba8228a58f0772ca1dc149fd1633fc897b0a264b8927cfd6cc15eefa40c336 HEAD_REF master ) -file(COPY "${CURRENT_PORT_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") - vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" ) diff --git a/ports/minitrace/vcpkg.json b/ports/minitrace/vcpkg.json index cb27c98a27b8e4..8c09d532070baa 100644 --- a/ports/minitrace/vcpkg.json +++ b/ports/minitrace/vcpkg.json @@ -1,7 +1,6 @@ { "name": "minitrace", - "version-string": "2019.02.06", - "port-version": 2, + "version-date": "2023-04-23", "description": "Simple C/C++ library for producing JSON traces suitable for Chrome's built-in trace viewer.", "dependencies": [ { diff --git a/ports/miniupnpc/cmakelists.diff b/ports/miniupnpc/cmakelists.diff deleted file mode 100644 index 4df7ef74dcc00d..00000000000000 --- a/ports/miniupnpc/cmakelists.diff +++ /dev/null @@ -1,11 +0,0 @@ ---- a/miniupnpc/CMakeLists.txt 2018-05-07 13:12:58.000000000 +0200 -+++ b/miniupnpc/CMakeLists.txt 2018-11-13 11:51:57.897598000 +0100 -@@ -124,7 +124,7 @@ - target_link_libraries (libminiupnpc-shared PRIVATE miniupnpc-private) - target_compile_definitions(libminiupnpc-shared PRIVATE MINIUPNP_EXPORTS) - -- target_include_directories(libminiupnpc-static INTERFACE ../${CMAKE_CURRENT_SOURCE_DIR}) -+ target_include_directories(libminiupnpc-shared INTERFACE ../${CMAKE_CURRENT_SOURCE_DIR}) - if (WIN32) - target_link_libraries(libminiupnpc-shared INTERFACE ws2_32 iphlpapi) - endif() diff --git a/ports/miniupnpc/portfile.cmake b/ports/miniupnpc/portfile.cmake index b8c3ab7b90840e..78d66aebb9d10f 100644 --- a/ports/miniupnpc/portfile.cmake +++ b/ports/miniupnpc/portfile.cmake @@ -1,19 +1,17 @@ +string(REPLACE "." "_" MINIUPNPC_VERSION "${VERSION}") vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO miniupnp/miniupnp - REF miniupnpc_2_1 - SHA512 f2ab5116c094982f7838ccab460d3db07a99de1094448277fc45841e0e64ea1b4216d75a7e5dd471c79ff9b0132b89e4d801c3ad1b60d55631c12c916df658f5 + REF "miniupnpd_${MINIUPNPC_VERSION}" + SHA512 f461b57446d9086e8fc2caf6ef202a78d204b2580d6096aca63234fda53302cad03840b14cc0d8b68e9033049b749be46e35c3737cc6cbcd2ad30c59b737a390 HEAD_REF master - PATCHES - cmakelists.diff ) -string(COMPARE EQUAL ${VCPKG_LIBRARY_LINKAGE} "dynamic" MINIUPNPC_BUILD_SHARED) -string(COMPARE EQUAL ${VCPKG_LIBRARY_LINKAGE} "static" MINIUPNPC_BUILD_STATIC) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" MINIUPNPC_BUILD_SHARED) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" MINIUPNPC_BUILD_STATIC) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH}/miniupnpc - PREFER_NINJA # Disable this option if project cannot be built with Ninja +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/miniupnpc" OPTIONS -DUPNPC_BUILD_STATIC=${MINIUPNPC_BUILD_STATIC} -DUPNPC_BUILD_SHARED=${MINIUPNPC_BUILD_SHARED} @@ -21,7 +19,20 @@ vcpkg_configure_cmake( -DUPNPC_BUILD_SAMPLE=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() +vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/miniupnpc RENAME copyright) +vcpkg_cmake_config_fixup(CONFIG_PATH "/lib/cmake/${PORT}") +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") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") +else() + file(GLOB RELEASE_TOOLS "${CURRENT_PACKAGES_DIR}/bin/*.exe") + 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 8621794bd598fb..568a768dd0f05d 100644 --- a/ports/miniupnpc/vcpkg.json +++ b/ports/miniupnpc/vcpkg.json @@ -1,6 +1,16 @@ { "name": "miniupnpc", - "version-string": "2.1", - "port-version": 2, - "description": "UPnP client library/tool to access Internet Gateway Devices" + "version": "2.3.7", + "description": "UPnP client library/tool to access Internet Gateway Devices", + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/miniz/fix-pkgconfig-location.patch b/ports/miniz/fix-pkgconfig-location.patch deleted file mode 100644 index 7bc5999b7531e5..00000000000000 --- a/ports/miniz/fix-pkgconfig-location.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index f12435b..edee1f4 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -163,7 +163,7 @@ if(NOT BUILD_HEADER_ONLY) - if(INSTALL_PROJECT) - install(FILES - ${CMAKE_CURRENT_BINARY_DIR}/miniz.pc -- DESTINATION ${CMAKE_INSTALL_DATADIR}/pkgconfig) -+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) - endif() - endif() - diff --git a/ports/miniz/portfile.cmake b/ports/miniz/portfile.cmake index acf5a7e9924d25..f884348668c976 100644 --- a/ports/miniz/portfile.cmake +++ b/ports/miniz/portfile.cmake @@ -1,11 +1,9 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO richgel999/miniz - REF 2.2.0 - SHA512 0bb2b0ac627715b90ff9fd69ca8958a0bea387bd7ddf5c200daba953b98ef788092e3009842f4f123234e85570159250c8897a30c1c1f2d4dea9bca9837f6111 + REF 3.0.2 + SHA512 426054403121f84a2ac365f7545b35fb217b41061aebaffce483568d3d374d453ab87987c599a85f1f745e0ec7144a3181ed9b100f354e2823f165ba286b0611 HEAD_REF master - PATCHES - fix-pkgconfig-location.patch ) vcpkg_cmake_configure( @@ -13,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 cb24f9b7f6d3bd..9cdb8e1a3f8859 100644 --- a/ports/miniz/vcpkg.json +++ b/ports/miniz/vcpkg.json @@ -1,9 +1,10 @@ { "name": "miniz", - "version": "2.2.0", + "version": "3.0.2", "port-version": 1, "description": "Single C source file zlib-replacement library", "homepage": "https://github.com/richgel999/miniz", + "license": "MIT", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/minizip-ng/Modify-header-file-path.patch b/ports/minizip-ng/Modify-header-file-path.patch deleted file mode 100644 index ac1c6fee8b1cad..00000000000000 --- a/ports/minizip-ng/Modify-header-file-path.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 9ef8023..ec1ee55 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -81,7 +81,7 @@ include(FeatureSummary) - - set(INSTALL_BIN_DIR ${CMAKE_INSTALL_BINDIR} CACHE PATH "Installation directory for executables") - set(INSTALL_LIB_DIR ${CMAKE_INSTALL_LIBDIR} CACHE PATH "Installation directory for libraries") --set(INSTALL_INC_DIR ${CMAKE_INSTALL_INCLUDEDIR} CACHE PATH "Installation directory for headers") -+set(INSTALL_INC_DIR ${CMAKE_INSTALL_INCLUDEDIR}/minizip-ng CACHE PATH "Installation directory for headers") - set(INSTALL_MAN_DIR ${CMAKE_INSTALL_MANDIR} CACHE PATH "Installation directory for manual pages") - - set(STDLIB_DEF) 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/portfile.cmake b/ports/minizip-ng/portfile.cmake index 9faecfc489567e..2b5d906cdcb9e8 100644 --- a/ports/minizip-ng/portfile.cmake +++ b/ports/minizip-ng/portfile.cmake @@ -1,42 +1,45 @@ +if (VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO zlib-ng/minizip-ng - REF 3.0.2 - SHA512 eee4d35d273ab0a32972b119c8faabd8c242e2d9f506fab0dd21fdd24c78b932c01bf7f15e9cf7c452776fc4c2e27a5ff09e376adb7a706336d11114929182fc + REF "${VERSION}" + SHA512 af9c8743d34bbc8f371a018debfab5f857aadb9a1129b048dbce9085122bef209ade34837784f91424c9eba92406d2e222476d9f8038839908679f7b7dc9e3eb HEAD_REF master - PATCHES - Modify-header-file-path.patch + PATCHES + dependencies.diff ) vcpkg_check_features( OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES pkcrypt MZ_PKCRYPT - signing MZ_SIGNING - 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 - -DMZ_PROJECT_SUFFIX:STRING=-ng + -DMZ_LIB_SUFFIX=-ng + -DMZ_ICONV=OFF ) vcpkg_cmake_install() vcpkg_fixup_pkgconfig() -vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/minizip-ng) vcpkg_copy_pdbs() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") 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/minizip-ng/vcpkg.json b/ports/minizip-ng/vcpkg.json index eeab4ef8e853e5..5126e4f80eaf11 100644 --- a/ports/minizip-ng/vcpkg.json +++ b/ports/minizip-ng/vcpkg.json @@ -1,9 +1,9 @@ { "name": "minizip-ng", - "version": "3.0.2", - "port-version": 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", "supports": "!uwp", "dependencies": [ { @@ -19,7 +19,6 @@ "bzip2", "lzma", "pkcrypt", - "signing", "wzaes", "zlib", "zstd" @@ -46,19 +45,6 @@ "pkcrypt": { "description": "Enables PKWARE traditional encryption" }, - "signing": { - "description": "Enables zip signing support", - "dependencies": [ - { - "name": "minizip-ng", - "default-features": false, - "features": [ - "openssl" - ], - "platform": "!windows & !osx" - } - ] - }, "wzaes": { "description": "Enables WinZIP AES encryption", "dependencies": [ diff --git a/ports/minizip/0003-no-io64.patch b/ports/minizip/0003-no-io64.patch deleted file mode 100644 index 6e72e3c91412d2..00000000000000 --- a/ports/minizip/0003-no-io64.patch +++ /dev/null @@ -1,49 +0,0 @@ -diff --git a/contrib/minizip/ioapi.c b/contrib/minizip/ioapi.c -index 7f5c191..d42e050 100644 ---- a/contrib/minizip/ioapi.c -+++ b/contrib/minizip/ioapi.c -@@ -17,8 +17,8 @@ - #if defined(__APPLE__) || defined(IOAPI_NO_64) - // In darwin and perhaps other BSD variants off_t is a 64 bit value, hence no need for specific 64 bit functions - #define FOPEN_FUNC(filename, mode) fopen(filename, mode) --#define FTELLO_FUNC(stream) ftello(stream) --#define FSEEKO_FUNC(stream, offset, origin) fseeko(stream, offset, origin) -+#define FTELLO_FUNC(stream) ftell(stream) -+#define FSEEKO_FUNC(stream, offset, origin) fseek(stream, offset, origin) - #else - #define FOPEN_FUNC(filename, mode) fopen64(filename, mode) - #define FTELLO_FUNC(stream) ftello64(stream) -diff --git a/contrib/minizip/miniunz.c b/contrib/minizip/miniunz.c -index 3d65401..a1269ea 100644 ---- a/contrib/minizip/miniunz.c -+++ b/contrib/minizip/miniunz.c -@@ -33,9 +33,9 @@ - #define FTELLO_FUNC(stream) ftello(stream) - #define FSEEKO_FUNC(stream, offset, origin) fseeko(stream, offset, origin) - #else --#define FOPEN_FUNC(filename, mode) fopen64(filename, mode) --#define FTELLO_FUNC(stream) ftello64(stream) --#define FSEEKO_FUNC(stream, offset, origin) fseeko64(stream, offset, origin) -+#define FOPEN_FUNC(filename, mode) fopen(filename, mode) -+#define FTELLO_FUNC(stream) ftell(stream) -+#define FSEEKO_FUNC(stream, offset, origin) fseek(stream, offset, origin) - #endif - - -diff --git a/contrib/minizip/minizip.c b/contrib/minizip/minizip.c -index 4288962..02267fb 100644 ---- a/contrib/minizip/minizip.c -+++ b/contrib/minizip/minizip.c -@@ -34,9 +34,9 @@ - #define FTELLO_FUNC(stream) ftello(stream) - #define FSEEKO_FUNC(stream, offset, origin) fseeko(stream, offset, origin) - #else --#define FOPEN_FUNC(filename, mode) fopen64(filename, mode) --#define FTELLO_FUNC(stream) ftello64(stream) --#define FSEEKO_FUNC(stream, offset, origin) fseeko64(stream, offset, origin) -+#define FOPEN_FUNC(filename, mode) fopen(filename, mode) -+#define FTELLO_FUNC(stream) ftell(stream) -+#define FSEEKO_FUNC(stream, offset, origin) fseek(stream, offset, origin) - #endif - - diff --git a/ports/minizip/CMakeLists.txt b/ports/minizip/CMakeLists.txt index c17ab8974230b6..db79e72290042c 100644 --- a/ports/minizip/CMakeLists.txt +++ b/ports/minizip/CMakeLists.txt @@ -1,109 +1,111 @@ -cmake_minimum_required(VERSION 3.8) -project(minizip C) - -set(PROJECT_VERSION 1.2.11) -set(PROJECT_VERSION_MAJOR 1) -set(PROJECT_VERSION_MINOR 2) -set(PROJECT_VERSION_PATCH 11) +cmake_minimum_required(VERSION 3.25) +project(minizip LANGUAGES C) if(MSVC) add_compile_options(/W3 /wd4005 /wd4996 /wd4018 -D_CRT_SECURE_NO_WARNINGS) endif() -find_package(ZLIB REQUIRED) -set(MIN_SRC contrib/minizip) - -include_directories(${MIN_SRC} ${ZLIB_INCLUDE_DIRS}) - -set(MINIZIP_LIBRARIES ZLIB::ZLIB) -if(ENABLE_BZIP2) - message(STATUS "Building with bzip2 support") - find_package(BZip2) - - include_directories(${BZIP2_INCLUDE_DIR}) - set(MINIZIP_LIBRARIES ${MINIZIP_LIBRARIES} ${BZIP2_LIBRARIES}) -else() - message(STATUS "Building without bzip2 support") -endif() - set(SRC - ${MIN_SRC}/ioapi.c - ${MIN_SRC}/unzip.c - ${MIN_SRC}/zip.c - ${MIN_SRC}/mztools.c + ioapi.c + unzip.c + zip.c + mztools.c ) -if(WIN32) - list(APPEND SRC ${MIN_SRC}/iowin32.c) -endif() - set(HEADERS - ${MIN_SRC}/crypt.h - ${MIN_SRC}/ioapi.h - ${MIN_SRC}/unzip.h - ${MIN_SRC}/zip.h - ${MIN_SRC}/mztools.h + crypt.h + ioapi.h + unzip.h + zip.h + mztools.h ) if(WIN32) - list(APPEND HEADERS ${MIN_SRC}/iowin32.h) + list(APPEND SRC iowin32.c minizip-win32.def) + list(APPEND HEADERS iowin32.h) endif() add_library(minizip ${SRC}) +target_include_directories(minizip PUBLIC $) -target_link_libraries(minizip PRIVATE ZLIB::ZLIB) +find_package(ZLIB REQUIRED) target_compile_definitions(minizip PRIVATE -D_ZLIB_H) +target_link_libraries(minizip PUBLIC ZLIB::ZLIB) +set(MINIZIP_REQUIRES zlib) if(ENABLE_BZIP2) - target_link_libraries(minizip PUBLIC ${BZIP2_LIBRARIES}) + message(STATUS "Building with bzip2 support") + find_package(BZip2 REQUIRED) target_compile_definitions(minizip PRIVATE -DHAVE_BZIP2=1) + target_link_libraries(minizip PUBLIC BZip2::BZip2) + list(APPEND MINIZIP_REQUIRES bzip2) +else() + message(STATUS "Building without bzip2 support") endif() -if(ANDROID) - target_compile_definitions(minizip PRIVATE IOAPI_NO_64) + +if(CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + target_compile_definitions(minizip PRIVATE -DIOWIN32_USING_WINRT_API) endif() + if(NOT DISABLE_INSTALL_TOOLS) - add_executable(minizip_bin ${MIN_SRC}/minizip.c) - add_executable(miniunz_bin ${MIN_SRC}/miniunz.c) + add_executable(minizip_bin minizip.c) + add_executable(miniunz_bin miniunz.c) - target_link_libraries(minizip_bin minizip ${MINIZIP_LIBRARIES}) - target_link_libraries(miniunz_bin minizip ${MINIZIP_LIBRARIES}) + target_link_libraries(minizip_bin minizip) + target_link_libraries(miniunz_bin minizip) set_target_properties(minizip_bin PROPERTIES OUTPUT_NAME minizip) set_target_properties(miniunz_bin PROPERTIES OUTPUT_NAME miniunz) + + install ( + TARGETS minizip_bin miniunz_bin + RUNTIME DESTINATION bin + ) endif() install( TARGETS minizip - EXPORT minizipTargets + EXPORT unofficial-minizipTargets RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib ) include(CMakePackageConfigHelpers) -write_basic_package_version_file("${PROJECT_BINARY_DIR}/minizipConfigVersion.cmake" - COMPATIBILITY SameMajorVersion) +write_basic_package_version_file("${PROJECT_BINARY_DIR}/unofficial-minizipConfigVersion.cmake" + VERSION "${PACKAGE_VERSION}" + COMPATIBILITY SameMajorVersion +) -configure_package_config_file(${PROJECT_SOURCE_DIR}/cmake/minizipConfig.cmake.in - minizipConfig.cmake - INSTALL_DESTINATION share/minizip) +configure_package_config_file(unofficial-minizipConfig.cmake.in + unofficial-minizipConfig.cmake + INSTALL_DESTINATION share/unofficial-minizip +) install(FILES - "${PROJECT_BINARY_DIR}/minizipConfig.cmake" - "${PROJECT_BINARY_DIR}/minizipConfigVersion.cmake" - DESTINATION share/minizip + "${PROJECT_BINARY_DIR}/unofficial-minizipConfig.cmake" + "${PROJECT_BINARY_DIR}/unofficial-minizipConfigVersion.cmake" + DESTINATION share/unofficial-minizip ) -install(EXPORT minizipTargets - NAMESPACE minizip:: - DESTINATION share/minizip +install(EXPORT unofficial-minizipTargets + NAMESPACE unofficial::minizip:: + DESTINATION share/unofficial-minizip ) -if(NOT DISABLE_INSTALL_TOOLS) - install ( - TARGETS minizip_bin miniunz_bin - RUNTIME DESTINATION tools/minizip - ) -endif() - if(NOT DISABLE_INSTALL_HEADERS) install(FILES ${HEADERS} DESTINATION include/minizip) endif() + +list(JOIN MINIZIP_REQUIRES " " MINIZIP_REQUIRES) +set(exec_prefix "\${prefix}") +set(libdir "\${prefix}/lib") +set(includedir "\${prefix}/include") +configure_file( + "${CMAKE_CURRENT_SOURCE_DIR}/minizip.pc.in" + "${CMAKE_CURRENT_BINARY_DIR}/minizip.pc" + @ONLY +) +install( + FILES "${CMAKE_CURRENT_BINARY_DIR}/minizip.pc" + DESTINATION lib/pkgconfig +) + diff --git a/ports/minizip/android-fileapi.patch b/ports/minizip/android-fileapi.patch new file mode 100644 index 00000000000000..36171d0dde5731 --- /dev/null +++ b/ports/minizip/android-fileapi.patch @@ -0,0 +1,17 @@ +diff --git a/contrib/minizip/ioapi.h b/contrib/minizip/ioapi.h +index c588a18..b5395e2 100644 +--- a/contrib/minizip/ioapi.h ++++ b/contrib/minizip/ioapi.h +@@ -21,6 +21,12 @@ + #ifndef _ZLIBIOAPI64_H + #define _ZLIBIOAPI64_H + ++#if defined(__ANDROID_API__) && __ANDROID_API__ < 24 ++ // Cf. https://android.googlesource.com/platform/bionic/+/master/docs/32-bit-abi.md#32_bit-and ++ // stdio functions for off_t are incomplete. ++ #define USE_FILE32API ++#endif ++ + #if (!defined(_WIN32)) && (!defined(WIN32)) && (!defined(__APPLE__)) + + // Linux needs this to support file operation on files larger then 4+GB diff --git a/ports/minizip/lib-to-def.cmake b/ports/minizip/lib-to-def.cmake new file mode 100644 index 00000000000000..f603702f229d8e --- /dev/null +++ b/ports/minizip/lib-to-def.cmake @@ -0,0 +1,40 @@ +function(lib_to_def) + if(NOT VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_MINGW OR NOT VCPKG_LIBRARY_LINKAGE STREQUAL "static") + return() + endif() + + cmake_parse_arguments(PARSE_ARGV 0 arg "" "BASENAME;REGEX" "") + if(NOT arg_BASENAME) + message(FATAL_ERROR "BASENAME is a required argument.") + endif() + if(NOT arg_REGEX) + set(arg_REGEX "[^ ]+") + endif() + + set(logfile "${CURRENT_BUILDTREES_DIR}/dumpbin-${arg_BASENAME}-${TARGET_TRIPLET}-symbols.log") + vcpkg_execute_required_process( + COMMAND dumpbin /symbols "/OUT:${logfile}" "${CURRENT_PACKAGES_DIR}/lib/${arg_BASENAME}.lib" + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}" + LOGNAME "dumpbin-${arg_BASENAME}-${TARGET_TRIPLET}" + ) + file(STRINGS "${logfile}" symbols REGEX "^... ........ SECT.. notype .. External [|] ${arg_REGEX}") + list(TRANSFORM symbols REPLACE "^[^|]+[|] " " ") + if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + string(REPLACE " _" " " symbols "${symbols}") + endif() + list(JOIN symbols "\n" symbols) + set(symbols "EXPORTS\n${symbols}\n") + set(def_file "${CMAKE_CURRENT_LIST_DIR}/${arg_BASENAME}-${VCPKG_TARGET_ARCHITECTURE}.def") + if(NOT EXISTS "${def_file}") + set(def_file "${CMAKE_CURRENT_LIST_DIR}/${arg_BASENAME}-win32.def") + endif() + if(EXISTS "${def_file}") + file(READ "${def_file}" original_symbols) + else() + set(original_symbols "") + endif() + if(NOT symbols STREQUAL original_symbols) + file(WRITE "${CURRENT_BUILDTREES_DIR}/${arg_BASENAME}-${VCPKG_TARGET_ARCHITECTURE}.def.log" "${symbols}") + message(SEND_ERROR "${arg_BASENAME}-${VCPKG_TARGET_ARCHITECTURE}.def has changed.") + endif() +endfunction() diff --git a/ports/minizip/minizip-win32.def b/ports/minizip/minizip-win32.def new file mode 100644 index 00000000000000..2f108199d4be77 --- /dev/null +++ b/ports/minizip/minizip-win32.def @@ -0,0 +1,78 @@ +EXPORTS + fill_win32_filefunc + 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 + unzRepair + zip_copyright + zipOpen + zipOpen64 + zipOpen2 + zipOpen2_64 + zipOpen3 + zipOpenNewFileInZip + zipOpenNewFileInZip64 + zipOpenNewFileInZip2 + zipOpenNewFileInZip2_64 + zipOpenNewFileInZip3 + zipOpenNewFileInZip3_64 + zipOpenNewFileInZip4 + zipOpenNewFileInZip4_64 + zipWriteInFileInZip + zipCloseFileInZip + zipCloseFileInZipRaw + zipCloseFileInZipRaw64 + zipClose + zipRemoveExtraInfoBlock + unz_copyright + unzStringFileNameCompare + unzOpen + unzOpen64 + unzOpen2 + unzOpen2_64 + unzClose + unzGetGlobalInfo + unzGetGlobalInfo64 + unzGetGlobalComment + unzGoToFirstFile + unzGoToNextFile + unzLocateFile + unzGetFilePos + unzGoToFilePos + unzGetFilePos64 + unzGoToFilePos64 + unzGetCurrentFileInfo64 + unzGetCurrentFileInfo + unzGetCurrentFileZStreamPos64 + unzOpenCurrentFile + unzOpenCurrentFilePassword + unzOpenCurrentFile2 + unzOpenCurrentFile3 + unzCloseCurrentFile + unzReadCurrentFile + unztell + unztell64 + unzeof + unzGetLocalExtrafield + unzGetOffset64 + unzGetOffset + unzSetOffset64 + unzSetOffset + fill_fopen64_filefunc + fill_fopen_filefunc + call_zopen64 + call_zseek64 + call_ztell64 + fill_zlib_filefunc64_32_def_from_filefunc32 diff --git a/ports/minizip/minizipConfig.cmake.in b/ports/minizip/minizipConfig.cmake.in index 17fc694e774080..4527b18d6f5ffa 100644 --- a/ports/minizip/minizipConfig.cmake.in +++ b/ports/minizip/minizipConfig.cmake.in @@ -1,12 +1,10 @@ -#@PACKAGE_INIT@ +message(WARNING "'find_package(minizip CONFIG)' is deprecated. Please use 'find_package(unofficial-minizip CONFIG)' instead.") include(CMakeFindDependencyMacro) - -find_dependency(ZLIB) - -if (@ENABLE_BZIP2@) - find_dependency(BZip2) +find_dependency(unofficial-minizip ${${CMAKE_FIND_PACKAGE_NAME}_FIND_VERSION} CONFIG) +if(NOT TARGET unofficial::minizip::minizip) + set(${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE) +elseif(NOT TARGET minizip::minizip) + add_library(minizip::minizip INTERFACE IMPORTED) + set_target_properties(minizip::minizip PROPERTIES INTERFACE_LINK_LIBRARIES unofficial::minizip::minizip) endif() - -include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") -check_required_components("@PROJECT_NAME@") \ No newline at end of file diff --git a/ports/minizip/pkgconfig.patch b/ports/minizip/pkgconfig.patch new file mode 100644 index 00000000000000..107f9fc323831d --- /dev/null +++ b/ports/minizip/pkgconfig.patch @@ -0,0 +1,11 @@ +diff --git a/contrib/minizip/minizip.pc.in b/contrib/minizip/minizip.pc.in +index 69b5b7f..9e43084 100644 +--- a/contrib/minizip/minizip.pc.in ++++ b/contrib/minizip/minizip.pc.in +@@ -8,5 +8,5 @@ Description: Minizip zip file manipulation library + Requires: + Version: @PACKAGE_VERSION@ + Libs: -L${libdir} -lminizip +-Libs.private: -lz ++Requires.private: @MINIZIP_REQUIRES@ + Cflags: -I${includedir} diff --git a/ports/minizip/portfile.cmake b/ports/minizip/portfile.cmake index 20cc0184e76cc8..8c4a79f1db9c7a 100644 --- a/ports/minizip/portfile.cmake +++ b/ports/minizip/portfile.cmake @@ -1,47 +1,74 @@ -vcpkg_fail_port_install(ON_TARGET "uwp") -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - +# When zlib updated, the minizip port should be updated at the same time vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO madler/zlib - REF v1.2.11 - SHA512 104c62ed1228b5f1199bc037081861576900eb0697a226cafa62a35c4c890b5cb46622e399f9aad82ee5dfb475bae26ae75e2bd6da3d261361b1c8b996970faf + REF "v${VERSION}" + SHA512 8c9642495bafd6fad4ab9fb67f09b268c69ff9af0f4f20cf15dfc18852ff1f312bd8ca41de761b3f8d8e90e77d79f2ccacd3d4c5b19e475ecf09d021fdfe9088 HEAD_REF master PATCHES 0001-remove-ifndef-NOUNCRYPT.patch 0002-add-declaration-for-mkdir.patch - 0003-no-io64.patch + pkgconfig.patch + android-fileapi.patch ) +# Maintainer switch: Temporarily set this to 1 to re-generate the lists +# of exported symbols. This is needed when the version is bumped. +set(GENERATE_SYMBOLS 0) +if(GENERATE_SYMBOLS) + vcpkg_cmake_get_vars(cmake_vars_file) + include("${cmake_vars_file}") + if(VCPKG_DETECTED_CMAKE_C_COMPILER_ID STREQUAL "MSVC") + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + else() + set(GENERATE_SYMBOLS 0) + endif() +endif() + vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - bzip2 ENABLE_BZIP2 + FEATURES + bzip2 ENABLE_BZIP2 + INVERTED_FEATURES + tools DISABLE_INSTALL_TOOLS ) -configure_file(${CMAKE_CURRENT_LIST_DIR}/minizipConfig.cmake.in ${SOURCE_PATH}/cmake/minizipConfig.cmake.in COPYONLY) -configure_file(${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt ${SOURCE_PATH}/CMakeLists.txt COPYONLY) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" + "${CMAKE_CURRENT_LIST_DIR}/minizip-win32.def" + "${CMAKE_CURRENT_LIST_DIR}/unofficial-minizipConfig.cmake.in" + DESTINATION "${SOURCE_PATH}/contrib/minizip" +) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/contrib/minizip" OPTIONS ${FEATURE_OPTIONS} - -DDISABLE_INSTALL_TOOLS=${VCPKG_TARGET_IS_IOS} + -DPACKAGE_VERSION=${VERSION} OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON + -DDISABLE_INSTALL_TOOLS=ON ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets() -vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/minizip) +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-minizip) +vcpkg_fixup_pkgconfig() + +if("tools" IN_LIST FEATURES) + vcpkg_copy_tools(TOOL_NAMES minizip miniunz AUTO_CLEAN) +endif() if ("bzip2" IN_LIST FEATURES) file(GLOB HEADERS "${CURRENT_PACKAGES_DIR}/include/minizip/*.h") foreach(HEADER ${HEADERS}) - file(READ "${HEADER}" _contents) - string(REPLACE "#ifdef HAVE_BZIP2" "#if 1" _contents "${_contents}") - file(WRITE "${HEADER}" "${_contents}") + vcpkg_replace_string("${HEADER}" "#ifdef HAVE_BZIP2" "#if 1" IGNORE_UNCHANGED) endforeach() endif() -file(INSTALL ${SOURCE_PATH}/contrib/minizip/MiniZip64_info.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +configure_file("${CMAKE_CURRENT_LIST_DIR}/minizipConfig.cmake.in" "${CURRENT_PACKAGES_DIR}/share/${PORT}/minizipConfig.cmake" @ONLY) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/contrib/minizip/MiniZip64_info.txt") + +if(GENERATE_SYMBOLS) + include("${CMAKE_CURRENT_LIST_DIR}/lib-to-def.cmake") + lib_to_def(BASENAME minizip REGEX "(call|fill|unz|win32|zip)") +endif() diff --git a/ports/minizip/unofficial-minizipConfig.cmake.in b/ports/minizip/unofficial-minizipConfig.cmake.in new file mode 100644 index 00000000000000..f2afcbb32ea402 --- /dev/null +++ b/ports/minizip/unofficial-minizipConfig.cmake.in @@ -0,0 +1,10 @@ +@PACKAGE_INIT@ + +include(CMakeFindDependencyMacro) +find_dependency(ZLIB) +if ("@ENABLE_BZIP2@") + find_dependency(BZip2) +endif() + +include("${CMAKE_CURRENT_LIST_DIR}/unofficial-minizipTargets.cmake") +check_required_components(unofficial-minizip) diff --git a/ports/minizip/usage b/ports/minizip/usage new file mode 100644 index 00000000000000..6113742b8d0051 --- /dev/null +++ b/ports/minizip/usage @@ -0,0 +1,4 @@ +minizip provides CMake targets: + + find_package(unofficial-minizip CONFIG REQUIRED) + target_link_libraries(main PRIVATE unofficial::minizip::minizip) diff --git a/ports/minizip/vcpkg.json b/ports/minizip/vcpkg.json index 9e8c24b8135fb1..1466a32885d690 100644 --- a/ports/minizip/vcpkg.json +++ b/ports/minizip/vcpkg.json @@ -1,11 +1,23 @@ { "name": "minizip", - "version-semver": "1.2.11", - "port-version": 9, - "description": "Zip compression library", + "version": "1.3.1", + "port-version": 1, + "description": "Minizip zip file manipulation library", "homepage": "https://github.com/madler/zlib", - "supports": "!uwp", + "license": "Zlib", "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + { + "name": "vcpkg-cmake-get-vars", + "host": true + }, "zlib" ], "features": { @@ -14,6 +26,10 @@ "dependencies": [ "bzip2" ] + }, + "tools": { + "description": "Install tools", + "supports": "!ios" } } } diff --git a/ports/mio/portfile.cmake b/ports/mio/portfile.cmake index 4ec8b8963ab28a..a835b20cb09f31 100644 --- a/ports/mio/portfile.cmake +++ b/ports/mio/portfile.cmake @@ -2,23 +2,22 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO mandreyel/mio - REF cafa31360fee8866be89b4c602d8b9a7a18dbf5e - SHA512 21a5e6c6b90b9ac39bfe7fef59b6dc9c6dc3516b850de5897df63672e81e22abea7bdd7e363e8206dcb72697af797af2501b1c14480bbb8a9284f28c70ca9d67 + REF 8b6b7d878c89e81614d05edca7936de41ccdd2da + SHA512 444131d4839f2244dd88722f5bfad2cfa47336e2a4405518a2ff8f0d80f2755321d7d627f8d5b890864a5dc3f3f810a1c7dd6588ff3e9039a6ef7d010e0f2f06 HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -Dmio.tests=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/mio) +vcpkg_cmake_config_fixup(CONFIG_PATH share/cmake/mio) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") # Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/mio RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/mio/vcpkg.json b/ports/mio/vcpkg.json index 6cf4b544594b7d..5d991a15c22fd5 100644 --- a/ports/mio/vcpkg.json +++ b/ports/mio/vcpkg.json @@ -1,6 +1,17 @@ { "name": "mio", - "version-string": "2019-02-10", - "port-version": 1, - "description": "Cross-platform header-only C++11 library for memory mapped file IO." + "version-date": "2023-03-03", + "description": "Cross-platform header-only C++11 library for memory mapped file IO.", + "homepage": "https://github.com/mandreyel/mio", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/mlpack/cmakelists.patch b/ports/mlpack/cmakelists.patch deleted file mode 100644 index 278d80f96e607e..00000000000000 --- a/ports/mlpack/cmakelists.patch +++ /dev/null @@ -1,46 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 6fe6d81..b59555c 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -291,7 +291,7 @@ endif() - # ENSMALLEN_INCLUDE_DIR - include directory for ensmallen - # STB_IMAGE_INCLUDE_DIR - include directory for STB image library - # MATHJAX_ROOT - root of MathJax installation --find_package(Armadillo "${ARMADILLO_VERSION}" REQUIRED) -+find_package(Armadillo CONFIG "${ARMADILLO_VERSION}" REQUIRED) - - # Include directories for the previous dependencies. - set(MLPACK_INCLUDE_DIRS ${MLPACK_INCLUDE_DIRS} ${ARMADILLO_INCLUDE_DIRS}) -@@ -388,8 +388,8 @@ if (NOT ENSMALLEN_FOUND) - "Successfully downloaded ensmallen into ${CMAKE_BINARY_DIR}/deps/${ENSMALLEN_INCLUDE_DIR}/") - - # Now we have to also ensure these header files get installed. -- install(DIRECTORY "${CMAKE_BINARY_DIR}/deps/${ENSMALLEN_INCLUDE_DIR}/include/ensmallen_bits/" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/ensmallen_bits") -- install(FILES "${CMAKE_BINARY_DIR}/deps/${ENSMALLEN_INCLUDE_DIR}/include/ensmallen.hpp" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") -+ #install(DIRECTORY "${CMAKE_BINARY_DIR}/deps/${ENSMALLEN_INCLUDE_DIR}/include/ensmallen_bits/" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/ensmallen_bits") -+ #install(FILES "${CMAKE_BINARY_DIR}/deps/${ENSMALLEN_INCLUDE_DIR}/include/ensmallen.hpp" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") - else () - message(FATAL_ERROR "Problem unpacking ensmallen! Expected only one directory ensmallen-x.y.z/; found ${ENS_DIRECTORIES}. Try removing the directory ${CMAKE_BINARY_DIR}/deps and reconfiguring.") - endif () -@@ -446,6 +446,7 @@ find_package(Boost "${BOOST_VERSION}" - REQUIRED - ) - -+if(0) - link_directories(${Boost_LIBRARY_DIRS}) - - # In Visual Studio, automatic linking is performed, so we don't need to worry -@@ -457,10 +458,12 @@ if (MSVC) - message("boost lib dirs ${Boost_LIBRARY_DIRS}") - set(Boost_LIBRARIES "") - endif () -+endif() - -+link_directories(${Boost_LIBRARIES}) - set(MLPACK_INCLUDE_DIRS ${MLPACK_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS}) - set(MLPACK_LIBRARIES ${MLPACK_LIBRARIES} ${Boost_LIBRARIES}) --set(MLPACK_LIBRARY_DIRS ${MLPACK_LIBRARY_DIRS} ${Boost_LIBRARY_DIRS}) -+set(MLPACK_LIBRARY_DIRS ${MLPACK_LIBRARY_DIRS} ${Boost_LIBRARIES}) - - # For Boost testing framework (will have no effect on non-testing executables). - # This specifies to Boost that we are dynamically linking to the Boost test diff --git a/ports/mlpack/fix-configure-error.patch b/ports/mlpack/fix-configure-error.patch deleted file mode 100644 index 03a27077ae4b39..00000000000000 --- a/ports/mlpack/fix-configure-error.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/CMake/go/AppendModel.cmake b/CMake/go/AppendModel.cmake -index eeb28f7..ec50f15 100644 ---- a/CMake/go/AppendModel.cmake -+++ b/CMake/go/AppendModel.cmake -@@ -44,8 +44,8 @@ function(append_model SERIALIZATION_FILE PROGRAM_MAIN_FILE) - else () - string(APPEND GOMODEL_SAFE_TYPE ${MODEL_CHAR}) - endif() -- endif() -- endforeach() -+ endforeach() -+ endif() - - # See if the model type already exists. - file(READ "${SERIALIZATION_FILE}" SERIALIZATION_FILE_CONTENTS) diff --git a/ports/mlpack/fix-dependencies.patch b/ports/mlpack/fix-dependencies.patch deleted file mode 100644 index 2de2682ac416c4..00000000000000 --- a/ports/mlpack/fix-dependencies.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 4dd92f0..bfa697d 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -488,7 +488,7 @@ add_definitions(-DBOOST_TEST_DYN_LINK) - # } - # #endif - if (USE_OPENMP) -- find_package(OpenMP) -+ find_package(OpenMP REQUIRED) - endif () - - if (OPENMP_FOUND) diff --git a/ports/mlpack/fix-test-dependency.patch b/ports/mlpack/fix-test-dependency.patch deleted file mode 100644 index 1dbb5088d6e3ac..00000000000000 --- a/ports/mlpack/fix-test-dependency.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index b59555c..4dd92f0 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -441,11 +441,18 @@ set(Boost_ADDITIONAL_VERSIONS - set(Boost_NO_BOOST_CMAKE 1) - find_package(Boost "${BOOST_VERSION}" - COMPONENTS -- unit_test_framework - serialization - REQUIRED - ) - -+if (BUILD_TESTS) -+ find_package(Boost "${BOOST_VERSION}" -+ COMPONENTS -+ unit_test_framework -+ REQUIRED -+ ) -+endif() -+ - if(0) - link_directories(${Boost_LIBRARY_DIRS}) - diff --git a/ports/mlpack/portfile.cmake b/ports/mlpack/portfile.cmake index 058bcf9f8740a0..28cffcd4d15eb1 100644 --- a/ports/mlpack/portfile.cmake +++ b/ports/mlpack/portfile.cmake @@ -1,104 +1,19 @@ +# header-only library vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO mlpack/mlpack - REF 7ae9ddda86c1751b6509ceb48b27d182feaae439 # 3.4.1 - SHA512 db68c16b80af7037ac562f93775b6262f1552fbc89daa0c621075e2ff70a8306523da8eb74e33ac15ba34c9ccef8f2746bd1e4efa7c280a5be77b53c69d3f9a1 + REF "${VERSION}" + SHA512 fd1612a2689e7e54bcbebb0b9da7d20aa6fe2fce395d544d476136d8de7f63a638bbbbab1bc2d00991649bcdf66ee6493ffdeed28c42121f98c82ee208c35947 HEAD_REF master - PATCHES - cmakelists.patch - fix-configure-error.patch - fix-test-dependency.patch - fix-dependencies.patch ) -file(REMOVE ${SOURCE_PATH}/CMake/ARMA_FindACML.cmake) -file(REMOVE ${SOURCE_PATH}/CMake/ARMA_FindACMLMP.cmake) -file(REMOVE ${SOURCE_PATH}/CMake/ARMA_FindARPACK.cmake) -file(REMOVE ${SOURCE_PATH}/CMake/ARMA_FindBLAS.cmake) -file(REMOVE ${SOURCE_PATH}/CMake/ARMA_FindCBLAS.cmake) -file(REMOVE ${SOURCE_PATH}/CMake/ARMA_FindCLAPACK.cmake) -file(REMOVE ${SOURCE_PATH}/CMake/ARMA_FindLAPACK.cmake) -file(REMOVE ${SOURCE_PATH}/CMake/ARMA_FindMKL.cmake) -file(REMOVE ${SOURCE_PATH}/CMake/ARMA_FindOpenBLAS.cmake) -file(REMOVE ${SOURCE_PATH}/CMake/FindArmadillo.cmake) +# Copy the header files +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") -vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - FEATURES - tools BUILD_CLI_EXECUTABLES - openmp USE_OPENMP -) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - -DBUILD_TESTS=OFF - -DDOWNLOAD_STB_IMAGE=OFF - -DDOWNLOAD_ENSMALLEN=OFF - -DBUILD_PYTHON_BINDINGS=OFF - -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON - ${FEATURE_OPTIONS} -) -vcpkg_install_cmake() - -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/mlpack) - -vcpkg_copy_pdbs() - -if("tools" IN_LIST FEATURES) - vcpkg_copy_tools(AUTO_CLEAN TOOL_NAMES - mlpack_adaboost - mlpack_approx_kfn - mlpack_cf - mlpack_dbscan - mlpack_decision_stump - mlpack_decision_tree - mlpack_det - mlpack_emst - mlpack_fastmks - mlpack_gmm_generate - mlpack_gmm_probability - mlpack_gmm_train - mlpack_hmm_generate - mlpack_hmm_loglik - mlpack_hmm_train - mlpack_hmm_viterbi - mlpack_hoeffding_tree - mlpack_kde - mlpack_kernel_pca - mlpack_kfn - mlpack_kmeans - mlpack_knn - mlpack_krann - mlpack_lars - mlpack_linear_regression - mlpack_linear_svm - mlpack_lmnn - mlpack_local_coordinate_coding - mlpack_logistic_regression - mlpack_lsh - mlpack_mean_shift - mlpack_nbc - mlpack_nca - mlpack_nmf - mlpack_pca - mlpack_perceptron - mlpack_preprocess_binarize - mlpack_preprocess_describe - mlpack_preprocess_imputer - mlpack_preprocess_scale - mlpack_preprocess_split - mlpack_radical - mlpack_random_forest - mlpack_range_search - mlpack_softmax_regression - mlpack_sparse_coding - mlpack_image_converter - mlpack_bayesian_linear_regression - mlpack_preprocess_one_hot_encoding - ) -endif() - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) - -file(INSTALL ${SOURCE_PATH}/COPYRIGHT.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYRIGHT.txt") +configure_file("${CMAKE_CURRENT_LIST_DIR}/usage" "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" @ONLY) diff --git a/ports/mlpack/usage b/ports/mlpack/usage new file mode 100644 index 00000000000000..2c44d416f602cf --- /dev/null +++ b/ports/mlpack/usage @@ -0,0 +1,4 @@ +The package mlpack is header only and can be used from CMake via: + + 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 2998ba1f5ce855..dc3a5470d941fc 100644 --- a/ports/mlpack/vcpkg.json +++ b/ports/mlpack/vcpkg.json @@ -1,27 +1,14 @@ { "name": "mlpack", - "version": "3.4.1", - "port-version": 2, - "description": "mlpack is a fast, flexible machine learning library, written in C++, that aims to provide fast, extensible implementations of cutting-edge machine learning algorithms.", + "version": "4.5.0", + "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", - "supports": "uwp", + "license": "BSD-3-Clause", + "supports": "!uwp", "dependencies": [ "armadillo", - "boost-heap", - "boost-math", - "boost-program-options", - "boost-random", - "boost-serialization", - "boost-serialization", + "cereal", "ensmallen", "stb" - ], - "features": { - "openmp": { - "description": "use OpenMP for parallelization." - }, - "tools": { - "description": "Build command-line executables." - } - } + ] } diff --git a/ports/mman/portfile.cmake b/ports/mman/portfile.cmake index 7482a7f74a69b2..4e57ba973acd7c 100644 --- a/ports/mman/portfile.cmake +++ b/ports/mman/portfile.cmake @@ -8,12 +8,11 @@ vcpkg_from_github( mman-static.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/include/mman) file(RENAME ${CURRENT_PACKAGES_DIR}/include/sys ${CURRENT_PACKAGES_DIR}/include/mman/sys) @@ -23,9 +22,7 @@ file(INSTALL ${SOURCE_PATH}/README.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(READ ${CURRENT_PACKAGES_DIR}/include/mman/sys/mman.h _contents) - string(REPLACE "__declspec(dllimport)" "" _contents "${_contents}") - file(WRITE ${CURRENT_PACKAGES_DIR}/include/mman/sys/mman.h "${_contents}") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/mman/sys/mman.h" "__declspec(dllimport)" "") endif() vcpkg_copy_pdbs() diff --git a/ports/mman/vcpkg.json b/ports/mman/vcpkg.json index 37516b67990c0a..2554140e89890e 100644 --- a/ports/mman/vcpkg.json +++ b/ports/mman/vcpkg.json @@ -1,7 +1,14 @@ { "name": "mman", "version-string": "git-f5ff813", - "port-version": 4, + "port-version": 5, "description": "A light implementation of the mmap functions for MinGW.", - "homepage": "https://github.com/witwall/mman-win32" + "homepage": "https://github.com/witwall/mman-win32", + "supports": "windows", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/mmloader/fix-platform-name.patch b/ports/mmloader/fix-platform-name.patch new file mode 100644 index 00000000000000..c30d381fc20d84 --- /dev/null +++ b/ports/mmloader/fix-platform-name.patch @@ -0,0 +1,18 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b672037..f9a6a15 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -14,6 +14,13 @@ if ((NOT DEFINED CMAKE_VS_PLATFORM_NAME) OR (CMAKE_VS_PLATFORM_NAME STREQUAL "") + message(STATUS "CMAKE_VS_PLATFORM_NAME is empty, use default: Win32") + set(CMAKE_VS_PLATFORM_NAME Win32) + endif() ++ ++if(VCPKG_TARGET_ARCHITECTURE MATCHES "x86") ++ set(CMAKE_VS_PLATFORM_NAME "Win32") ++else() ++ set(CMAKE_VS_PLATFORM_NAME "${VCPKG_TARGET_ARCHITECTURE}") ++endif() ++ + message(STATUS "CMAKE_VS_PLATFORM_NAME=" ${CMAKE_VS_PLATFORM_NAME}) + string(COMPARE EQUAL "${CMAKE_VS_PLATFORM_NAME}" Win32 BUILD_ARC_X8632) + string(COMPARE EQUAL "${CMAKE_VS_PLATFORM_NAME}" x64 BUILD_ARC_X8664) diff --git a/ports/mmloader/fix_c_and_cxx_flags.patch b/ports/mmloader/fix_c_and_cxx_flags.patch deleted file mode 100644 index 501ce40cd7f880..00000000000000 --- a/ports/mmloader/fix_c_and_cxx_flags.patch +++ /dev/null @@ -1,32 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 7a22b56..2ce1bd8 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -47,24 +47,11 @@ set(CMAKE_CXX_STANDARD 11) - set(CMAKE_CONFIGURATION_TYPES Debug Release) - - # Default compile flags --set(CMAKE_CXX_FLAGS -- "/DWIN32 /D_WINDOWS /W3 /WX /GR /GS- /Gy /FAcs /Z7 /DEBUG" -+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /GS-" - CACHE STRING "default C++ compile flags" FORCE) --set(CMAKE_CXX_FLAGS_DEBUG -- "/MTd /Ob0 /Od" -- CACHE STRING "default C++ compile flags for debug build" FORCE) --set(CMAKE_CXX_FLAGS_RELEASE -- "/MT /O2 /Ob2 /DNDEBUG" -- CACHE STRING "default C++ compile flags for release build" FORCE) --set(CMAKE_C_FLAGS -- "/DWIN32 /D_WINDOWS /W3 /WX /GR /GS- /Gy /FAcs /Z7 /DEBUG" -+set(CMAKE_C_FLAGS -+ "${CMAKE_C_FLAGS} /GS-" - CACHE STRING "default C++ compile flags" FORCE) --set(CMAKE_C_FLAGS_DEBUG -- "/MTd /Ob0 /Od" -- CACHE STRING "default C++ compile flags for debug build" FORCE) --set(CMAKE_C_FLAGS_RELEASE -- "/MT /O2 /Ob2 /DNDEBUG" -- CACHE STRING "default C++ compile flags for release build" FORCE) - - message(STATUS "CMAKE_CXX_FLAGS=" ${CMAKE_CXX_FLAGS}) - message(STATUS "CMAKE_CXX_FLAGS_DEBUG=" ${CMAKE_CXX_FLAGS_DEBUG}) diff --git a/ports/mmloader/portfile.cmake b/ports/mmloader/portfile.cmake index c1f1684468af6a..08226de45e67a2 100644 --- a/ports/mmloader/portfile.cmake +++ b/ports/mmloader/portfile.cmake @@ -1,43 +1,28 @@ -# fail early for unsupported triplets -vcpkg_fail_port_install( - MESSAGE "mmLoader supports only x86/x64-windows-static triplets" - ON_TARGET "UWP" "LINUX" "OSX" "ANDROID" "FREEBSD" - ON_ARCH "arm" "arm64" - ON_CRT_LINKAGE "dynamic" - ON_LIBRARY_LINKAGE "dynamic" -) +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -# source vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO tishion/mmLoader - REF 1.0.0 - SHA512 ceb2ab4b60d74209fa46d198cde6fd87a97d911abb875ac35383288a67828d0420bb38ff8d2f17dd4a3f46ba3abf554152d1246eeb05215258e8af64ac4a39de + REF 1.0.1 + SHA512 a41749e1b62d5549b821429a03e456a0cb41fbc1ea3fe5e8067f80994fb4645c3145dd1e2a3ccaed13b091ec24338d4e542849628d346f26d2275b0cbff8f4c6 HEAD_REF master PATCHES - fix_c_and_cxx_flags.patch + fix-platform-name.patch ) -# feature vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - shellcode BUILD_SHELLCODE_GEN + FEATURES + shellcode BUILD_SHELLCODE_GEN ) -# config -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${FEATURE_OPTIONS} ) -# pre-clean -file(REMOVE_RECURSE "${SOURCE_PATH}/output") - -# build and install -vcpkg_install_cmake(DISABLE_PARALLEL) +vcpkg_cmake_install(DISABLE_PARALLEL) -# remove the debug/include directory file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -# collect license files -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/mmloader/vcpkg.json b/ports/mmloader/vcpkg.json index a48ecb38b209a5..52a8e56afd2d80 100644 --- a/ports/mmloader/vcpkg.json +++ b/ports/mmloader/vcpkg.json @@ -1,10 +1,17 @@ { "name": "mmloader", - "version-string": "2020-05-15", - "port-version": 1, + "version": "1.0.1", + "port-version": 3, "description": "A library for loading dll module bypassing windows PE loader from memory (x86/x64)", "homepage": "http://tishion.github.io/mmLoader/", - "supports": "(x86 | x64) & windows & static", + "license": "MIT", + "supports": "(x86 | x64) & windows & !uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ], "features": { "shellcode": { "description": "Generate mmLoader shell code headers" diff --git a/ports/mmx/portfile.cmake b/ports/mmx/portfile.cmake index 78f7d9efb1ec89..7b8e2d75a23265 100644 --- a/ports/mmx/portfile.cmake +++ b/ports/mmx/portfile.cmake @@ -1,12 +1,12 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO vurtun/mmx - REF b99867658dadcaed2fbfb95ad0e0c461a7a80a0c - SHA512 3ad01562f439fac364c45d9e4091d136c7cec36adeab219773c2df0d32b09f4e258bdb11884cbeed7dc2835381d2b409c55fe80e0913e995e54a1b7ebbe0f2bc + REF 71382a1d14dad58219e7f6634d2381fa30dab175 + SHA512 d29b6a7e276612f0cbea84a90a4af7b3947a6f434e171a180b24eb0b5b74d714011fcda9e2ebe3f39d01bdb64f648d31c68a4cf7ef5f104320fe8155212fe1e0 HEAD_REF master ) file(GLOB_RECURSE MMX_HEADERS "${SOURCE_PATH}/*.h") -file(INSTALL ${MMX_HEADERS} DESTINATION ${CURRENT_PACKAGES_DIR}/include) +file(INSTALL ${MMX_HEADERS} DESTINATION "${CURRENT_PACKAGES_DIR}/include/mmx") -file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/copyright DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/copyright" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/mmx/vcpkg.json b/ports/mmx/vcpkg.json index 9a7fe081d123ec..495fb2cfaf84a3 100644 --- a/ports/mmx/vcpkg.json +++ b/ports/mmx/vcpkg.json @@ -1,7 +1,7 @@ { "name": "mmx", - "version-string": "2019-09-29", - "port-version": 1, + "version-date": "2022-03-27", "description": "Single header libraries for C/C++", - "homepage": "https://github.com/vurtun/mmx" + "homepage": "https://github.com/vurtun/mmx", + "license": null } 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 8147fddb1dba20..70d5162d45850a 100644 --- a/ports/mnn/portfile.cmake +++ b/ports/mnn/portfile.cmake @@ -1,4 +1,3 @@ -vcpkg_fail_port_install(ON_ARCH "arm" ON_TARGET "uwp" "ios" "android") if(VCPKG_TARGET_IS_WINDOWS) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) endif() @@ -11,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 @@ -18,28 +18,25 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS test MNN_BUILD_TEST test MNN_BUILD_BENCHMARK cuda MNN_CUDA - cuda MNN_GPU_TRACE vulkan MNN_VULKAN - vulkan MNN_GPU_TRACE - vulkan MNN_USE_SYSTEM_LIB opencl MNN_OPENCL - opencl MNN_USE_SYSTEM_LIB metal MNN_METAL - metal MNN_GPU_TRACE tools MNN_BUILD_TOOLS tools MNN_BUILD_QUANTOOLS tools MNN_BUILD_TRAIN tools MNN_EVALUATION tools MNN_BUILD_CONVERTER + gpu MNN_GPU_TRACE + system MNN_USE_SYSTEM_LIB ) # 'cuda' feature in Windows failes with Ninja because of parallel PDB access. Make it optional -set(NINJA_OPTION PREFER_NINJA) -if("cuda" IN_LIST FEATURES) +set(NINJA_OPTION WINDOWS_USE_MSBUILD) +if(NOT "cuda" IN_LIST FEATURES) unset(NINJA_OPTION) endif() -set(FLATC_EXEC ${CURRENT_HOST_INSTALLED_DIR}/tools/flatbuffers/flatc${VCPKG_HOST_EXECUTABLE_SUFFIX}) +set(FLATC_EXEC "${CURRENT_HOST_INSTALLED_DIR}/tools/flatbuffers/flatc${VCPKG_HOST_EXECUTABLE_SUFFIX}") if (NOT EXISTS "${FLATC_EXEC}") message(FATAL_ERROR "Expected ${FLATC_EXEC} to exist.") endif() @@ -67,8 +64,8 @@ endif() string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ${NINJA_OPTION} OPTIONS ${FEATURE_OPTIONS} ${PLATFORM_OPTIONS} @@ -78,7 +75,7 @@ vcpkg_configure_cmake( OPTIONS_DEBUG -DMNN_DEBUG_MEMORY=ON -DMNN_DEBUG_TENSOR_SIZE=ON ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() vcpkg_download_distfile(COPYRIGHT_PATH @@ -87,19 +84,19 @@ vcpkg_download_distfile(COPYRIGHT_PATH SHA512 98f6b79b778f7b0a15415bd750c3a8a097d650511cb4ec8115188e115c47053fe700f578895c097051c9bc3dfb6197c2b13a15de203273e1a3218884f86e90e8 ) -file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/${PORT}) -file(RENAME ${COPYRIGHT_PATH} ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) +file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/share/${PORT}") +file(RENAME "${COPYRIGHT_PATH}" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright") if(VCPKG_TARGET_IS_OSX OR VCPKG_TARGET_IS_IOS) if("metal" IN_LIST FEATURES) - file(RENAME ${CURRENT_PACKAGES_DIR}/bin/mnn.metallib - ${CURRENT_PACKAGES_DIR}/share/${PORT}/mnn.metallib) + file(RENAME "${CURRENT_PACKAGES_DIR}/bin/mnn.metallib" + "${CURRENT_PACKAGES_DIR}/share/${PORT}/mnn.metallib") endif() else() - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/${PORT}) + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/share/${PORT}") endif() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") if("test" IN_LIST FEATURES) # no install(TARGETS) for the following binaries. check the buildtrees... # vcpkg_copy_tools( diff --git a/ports/mnn/use-package-and-install.patch b/ports/mnn/use-package-and-install.patch index dce33c8edebc16..be5329111be590 100644 --- a/ports/mnn/use-package-and-install.patch +++ b/ports/mnn/use-package-and-install.patch @@ -1,5 +1,3 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 993f15d..53f24ae 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -270,18 +270,24 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "^Linux") @@ -11,7 +9,7 @@ index 993f15d..53f24ae 100644 + find_package(OpenCL REQUIRED) +endif() +find_package(RapidJSON CONFIG REQUIRED) -+find_path(STB_INCLUDE_DIRS "stb.h") ++find_path(STB_INCLUDE_DIRS stb_image.h) +find_package(Flatbuffers CONFIG REQUIRED) include_directories(${CMAKE_CURRENT_LIST_DIR}/include/ ${CMAKE_CURRENT_LIST_DIR}/source/ diff --git a/ports/mnn/vcpkg.json b/ports/mnn/vcpkg.json index 27676e8630fd49..fc696495d8b257 100644 --- a/ports/mnn/vcpkg.json +++ b/ports/mnn/vcpkg.json @@ -1,7 +1,7 @@ { "name": "mnn", "version": "1.1.0", - "port-version": 1, + "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", @@ -13,25 +13,55 @@ "host": true }, "rapidjson", - "stb" + "stb", + { + "name": "vcpkg-cmake", + "host": true + } ], "features": { "cuda": { "description": "Enable CUDA API backend", "dependencies": [ "cuda", - "cudnn" + "cudnn", + { + "name": "mnn", + "features": [ + "gpu" + ] + } ] }, + "gpu": { + "description": "Enable MNN Gpu Debug" + }, "metal": { - "description": "Enable Metal API backend for Apple platforms" + "description": "Enable Metal API backend for Apple platforms", + "dependencies": [ + { + "name": "mnn", + "features": [ + "gpu" + ] + } + ] }, "opencl": { "description": "Enable OpenCL API backend", "dependencies": [ + { + "name": "mnn", + "features": [ + "system" + ] + }, "opencl" ] }, + "system": { + "description": "For opencl and vulkan, use system lib or use dlopen" + }, "test": { "description": "Build MNN test programs" }, @@ -44,6 +74,13 @@ "vulkan": { "description": "Enable Vulkan API backend", "dependencies": [ + { + "name": "mnn", + "features": [ + "gpu", + "system" + ] + }, "vulkan" ] } diff --git a/ports/modern-cpp-kafka/CMakeLists.txt b/ports/modern-cpp-kafka/CMakeLists.txt new file mode 100644 index 00000000000000..5dc8106edcb729 --- /dev/null +++ b/ports/modern-cpp-kafka/CMakeLists.txt @@ -0,0 +1,27 @@ +cmake_minimum_required(VERSION 3.12 FATAL_ERROR) + +project(modern-cpp-kafka LANGUAGES CXX) + +include(GNUInstallDirs) + +find_package(RdKafka CONFIG REQUIRED) +find_package(Boost REQUIRED) +find_package(RapidJSON CONFIG REQUIRED) + +add_library(modern-cpp-kafka INTERFACE) +target_include_directories(modern-cpp-kafka INTERFACE $) +target_link_libraries(modern-cpp-kafka INTERFACE RdKafka::rdkafka Boost::boost rapidjson) + +install(TARGETS modern-cpp-kafka EXPORT unofficial-modern-cpp-kafka) + +install( + EXPORT unofficial-modern-cpp-kafka + FILE unofficial-modern-cpp-kafka-config.cmake + DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/unofficial-modern-cpp-kafka" + NAMESPACE unofficial::modern-cpp-kafka:: +) + +install( + DIRECTORY "${CMAKE_SOURCE_DIR}/include/kafka" + DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" +) diff --git a/ports/modern-cpp-kafka/portfile.cmake b/ports/modern-cpp-kafka/portfile.cmake new file mode 100644 index 00000000000000..87b57bf1c20eef --- /dev/null +++ b/ports/modern-cpp-kafka/portfile.cmake @@ -0,0 +1,32 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO morganstanley/modern-cpp-kafka + REF "v${VERSION}" + SHA512 a6a921cc5037baaa0632fed350b4b5a3d5d47116397ae2638f9121997dbf7842d6406a889833ae551d738cd1bb189c5cec152b14f59644aec38ac9b6b5883a0b + HEAD_REF main +) + +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}" +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup() + +file(READ "${CURRENT_PACKAGES_DIR}/share/unofficial-modern-cpp-kafka/unofficial-modern-cpp-kafka-config.cmake" cmake_config) +file(WRITE "${CURRENT_PACKAGES_DIR}/share/unofficial-modern-cpp-kafka/unofficial-modern-cpp-kafka-config.cmake" +"include(CMakeFindDependencyMacro) +find_dependency(RdKafka CONFIG) +find_dependency(Boost) +find_dependency(RapidJSON CONFIG) +${cmake_config} +") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") + +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/modern-cpp-kafka/usage b/ports/modern-cpp-kafka/usage new file mode 100644 index 00000000000000..6ed3611d240e3c --- /dev/null +++ b/ports/modern-cpp-kafka/usage @@ -0,0 +1,4 @@ +modern-cpp-kafka provides CMake targets: + + find_package(unofficial-modern-cpp-kafka CONFIG REQUIRED) + target_link_libraries(main PRIVATE unofficial::modern-cpp-kafka::modern-cpp-kafka) diff --git a/ports/modern-cpp-kafka/vcpkg.json b/ports/modern-cpp-kafka/vcpkg.json new file mode 100644 index 00000000000000..8935e8801fd737 --- /dev/null +++ b/ports/modern-cpp-kafka/vcpkg.json @@ -0,0 +1,20 @@ +{ + "name": "modern-cpp-kafka", + "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", + "dependencies": [ + "boost-optional", + "librdkafka", + "rapidjson", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/modp-base64/CMakeLists.txt b/ports/modp-base64/CMakeLists.txt index 5a2dffe2459b97..ddc02e3ba55d74 100644 --- a/ports/modp-base64/CMakeLists.txt +++ b/ports/modp-base64/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.8) project(libmodpbase64 C) if(MSVC) - add_compile_options(/W3 /wd4005 /wd4996 /wd4018 -D_CRT_SECURE_NO_WARNINGS) + add_compile_options(/wd4005 /wd4996 /wd4018 -D_CRT_SECURE_NO_WARNINGS) endif() configure_file(config.h.cmake config.h @ONLY) @@ -20,7 +20,11 @@ install( if(NOT DISABLE_INSTALL_HEADERS) install( - FILES ${SOURCE_PATH}/src/modp_b64.h + FILES + "${SOURCE_PATH}/src/extern_c_begin.h" + "${SOURCE_PATH}/src/extern_c_end.h" + "${SOURCE_PATH}/src/modp_b64.h" + "${SOURCE_PATH}/src/modp_stdint.h" DESTINATION include ) endif() diff --git a/ports/modp-base64/portfile.cmake b/ports/modp-base64/portfile.cmake index 2508b54fd4b5b2..ffa84b9c455cc7 100644 --- a/ports/modp-base64/portfile.cmake +++ b/ports/modp-base64/portfile.cmake @@ -6,14 +6,13 @@ vcpkg_from_github( HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${CMAKE_CURRENT_LIST_DIR} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${CMAKE_CURRENT_LIST_DIR}" OPTIONS -DSOURCE_PATH=${SOURCE_PATH} OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON ) -vcpkg_install_cmake() +vcpkg_cmake_install() # 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/modp-base64/vcpkg.json b/ports/modp-base64/vcpkg.json index 2f222a982dc636..db2242219419de 100644 --- a/ports/modp-base64/vcpkg.json +++ b/ports/modp-base64/vcpkg.json @@ -1,6 +1,14 @@ { "name": "modp-base64", - "version-string": "2020-09-26", - "port-version": 1, - "description": "High performance base64 encoder/decoder" + "version-date": "2020-09-26", + "port-version": 2, + "description": "High performance base64 encoder/decoder", + "homepage": "https://github.com/client9/stringencoders", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/mongo-c-driver/disable-dynamic-when-static.patch b/ports/mongo-c-driver/disable-dynamic-when-static.patch new file mode 100644 index 00000000000000..9ac02063a56f70 --- /dev/null +++ b/ports/mongo-c-driver/disable-dynamic-when-static.patch @@ -0,0 +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 fcab819..be0bfb2 100644 +--- a/src/libmongoc/CMakeLists.txt ++++ b/src/libmongoc/CMakeLists.txt +@@ -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}) + 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}) +@@ -1364,7 +1364,7 @@ if (MONGOC_ENABLE_STATIC_INSTALL) + list (APPEND TARGETS_TO_INSTALL mongoc_static) + endif () + +-if (ENABLE_SHARED) ++if (NOT MONGOC_ENABLE_STATIC_BUILD) + list (APPEND TARGETS_TO_INSTALL mongoc_shared) + endif () + +@@ -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 ( + ${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 () + + include (CMakePackageConfigHelpers) + diff --git a/ports/mongo-c-driver/disable-source-write.patch b/ports/mongo-c-driver/disable-source-write.patch deleted file mode 100644 index ff2f9cab52f0f1..00000000000000 --- a/ports/mongo-c-driver/disable-source-write.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 7ff8bbf..32c2e00 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -114,8 +114,8 @@ if (BUILD_VERSION STREQUAL "0.0.0") - file (WRITE ${PROJECT_SOURCE_DIR}/VERSION_CURRENT ${BUILD_VERSION}) - endif () - else () -- message ("storing BUILD_VERSION ${BUILD_VERSION} in file VERSION_CURRENT for later use") -- file (WRITE ${PROJECT_SOURCE_DIR}/VERSION_CURRENT ${BUILD_VERSION}) -+ #message ("storing BUILD_VERSION ${BUILD_VERSION} in file VERSION_CURRENT for later use") -+ #file (WRITE ${PROJECT_SOURCE_DIR}/VERSION_CURRENT ${BUILD_VERSION}) - endif () - - include (LoadVersion) diff --git a/ports/mongo-c-driver/disable-static-when-dynamic-build.patch b/ports/mongo-c-driver/disable-static-when-dynamic-build.patch deleted file mode 100644 index c2da5a93b6aa8a..00000000000000 --- a/ports/mongo-c-driver/disable-static-when-dynamic-build.patch +++ /dev/null @@ -1,42 +0,0 @@ -diff --git a/src/libmongoc/CMakeLists.txt b/src/libmongoc/CMakeLists.txt -index de96ab864..5b7f448f2 100644 ---- a/src/libmongoc/CMakeLists.txt -+++ b/src/libmongoc/CMakeLists.txt -@@ -725,6 +725,7 @@ if (MONGOC_ENABLE_MONGODB_AWS_AUTH) - endif() - endif () - -+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 mongo::bson_shared) -@@ -745,7 +746,7 @@ target_compile_definitions (mongoc_shared PRIVATE MONGOC_COMPILATION ${KMS_MSG_D - 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_static STATIC ${SOURCES} ${HEADERS} ${HEADERS_FORWARDING}) - target_link_libraries (mongoc_static ${STATIC_LIBRARIES} mongo::bson_static) - if (NOT WIN32 AND ENABLE_PIC) -@@ -778,7 +779,11 @@ if (ENABLE_APPLE_FRAMEWORK) - 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 STREQUAL "ON") -@@ -1040,7 +1045,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) - endif () diff --git a/ports/mongo-c-driver/fix-arm-build.patch b/ports/mongo-c-driver/fix-arm-build.patch deleted file mode 100644 index 5e997498a3e29a..00000000000000 --- a/ports/mongo-c-driver/fix-arm-build.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff --git a/src/libmongoc/CMakeLists.txt b/src/libmongoc/CMakeLists.txt -index 5b7f448f2..8881f5194 100644 ---- a/src/libmongoc/CMakeLists.txt -+++ b/src/libmongoc/CMakeLists.txt -@@ -729,6 +729,9 @@ 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 mongo::bson_shared) -+if (WIN32) -+ target_link_libraries (mongoc_shared PRIVATE Advapi32) -+endif() - target_include_directories (mongoc_shared BEFORE PUBLIC ${MONGOC_INTERNAL_INCLUDE_DIRS}) - target_include_directories (mongoc_shared PRIVATE ${ZLIB_INCLUDE_DIRS}) - target_include_directories (mongoc_shared PRIVATE ${LIBMONGOCRYPT_INCLUDE_DIRECTORIES}) -@@ -749,6 +752,9 @@ set_target_properties (mongoc_shared PROPERTIES OUTPUT_NAME "${MONGOC_OUTPUT_BAS - else () - add_library (mongoc_static STATIC ${SOURCES} ${HEADERS} ${HEADERS_FORWARDING}) - target_link_libraries (mongoc_static ${STATIC_LIBRARIES} mongo::bson_static) -+ if (WIN32) -+ target_link_libraries (mongoc_static Advapi32) -+ endif() - if (NOT WIN32 AND ENABLE_PIC) - target_compile_options (mongoc_static PUBLIC -fPIC) - message ("Adding -fPIC to compilation of mongoc_static components") diff --git a/ports/mongo-c-driver/fix-dependencies.patch b/ports/mongo-c-driver/fix-dependencies.patch index a03e870c65e7d7..1e4c348bf8defc 100644 --- a/ports/mongo-c-driver/fix-dependencies.patch +++ b/ports/mongo-c-driver/fix-dependencies.patch @@ -1,176 +1,98 @@ -diff --git a/src/libmongoc/CMakeLists.txt b/src/libmongoc/CMakeLists.txt -index 8881f5194..c366f160a 100644 ---- a/src/libmongoc/CMakeLists.txt -+++ b/src/libmongoc/CMakeLists.txt -@@ -58,8 +58,9 @@ configure_file ( - set (ZLIB_INCLUDE_DIRS "") - if (ENABLE_ZLIB MATCHES "SYSTEM|AUTO") - message (STATUS "Searching for zlib CMake packages") -- include (FindZLIB) -+ find_package(ZLIB REQUIRED) - if (ZLIB_FOUND) -+ set(VCPKG_ZLIB_LIBRARIES "ZLIB::ZLIB") - message ("-- zlib found version \"${ZLIB_VERSION_STRING}\"") - message ("-- zlib include path \"${ZLIB_INCLUDE_DIRS}\"") - message ("-- zlib libraries \"${ZLIB_LIBRARIES}\"") -@@ -100,32 +101,31 @@ endif () - - if (NOT ENABLE_ZSTD STREQUAL OFF) - message (STATUS "Searching for compression library zstd") -- find_package(PkgConfig) -- pkg_check_modules (ZSTD libzstd) -+ find_package(zstd CONFIG REQUIRED) - -- if (NOT ZSTD_FOUND) -+ if (NOT zstd_FOUND) - if (ENABLE_ZSTD MATCHES "ON") - message (FATAL_ERROR " Not found") - else () - message (STATUS " Not found") - endif () - # The compression format below this version isn't supported. See SERVER-43070 -- elseif (${ZSTD_VERSION} VERSION_LESS "0.8.0") -+ elseif (${zstd_VERSION} VERSION_LESS "0.8.0") - if (ENABLE_ZSTD MATCHES "ON") -- message (FATAL_ERROR "Detected zstd version ${ZSTD_VERSION} but version 0.8.0 required") -+ message (FATAL_ERROR "Detected zstd version ${zstd_VERSION} but version 0.8.0 required") - else () -- message (STATUS "Detected zstd version ${ZSTD_VERSION} but version 0.8.0 required") -+ message (STATUS "Detected zstd version ${zstd_VERSION} but version 0.8.0 required") - endif () - else () -- message (STATUS " Found zstd version ${ZSTD_VERSION} in ${ZSTD_INCLUDE_DIRS}") -+ message (STATUS " Found zstd version ${zstd_VERSION} in ${ZSTD_INCLUDE_DIRS}") - set (MONGOC_ENABLE_COMPRESSION 1) - set (MONGOC_ENABLE_COMPRESSION_ZSTD 1) - - include_directories (${ZSTD_INCLUDE_DIRS}) -- if (${CMAKE_VERSION} VERSION_LESS "3.12.0") -- set (MONGOC_ZSTD_LIBRARIES ${ZSTD_LIBRARIES}) -+ if (MONGOC_ENABLE_STATIC_BUILD) -+ set (MONGOC_ZSTD_LIBRARIES "zstd::libzstd_static") - else () -- set (MONGOC_ZSTD_LIBRARIES ${ZSTD_LINK_LIBRARIES}) -+ set (MONGOC_ZSTD_LIBRARIES "zstd::libzstd_shared") - endif () - endif() - endif() -@@ -134,8 +134,8 @@ if (NOT ENABLE_SSL STREQUAL OFF) - # Try OpenSSL automatically everywhere but Mac and Windows. - if (ENABLE_SSL STREQUAL "OPENSSL" - OR (NOT APPLE AND NOT WIN32 AND ENABLE_SSL STREQUAL "AUTO")) -- # Sets OPENSSL_FOUND on success. -- include (FindOpenSSL) -+ # Sets OpenSSL_FOUND on success. -+ find_package(OpenSSL REQUIRED) - endif () - - if (ENABLE_SSL STREQUAL LIBRESSL) -@@ -171,7 +171,7 @@ if (NOT ENABLE_SSL STREQUAL OFF) - endif () - endif () - -- if (NOT OPENSSL_FOUND AND NOT SECURE_TRANSPORT AND NOT SECURE_CHANNEL AND NOT LIBRESSL) -+ if (NOT OpenSSL_FOUND AND NOT SECURE_TRANSPORT AND NOT SECURE_CHANNEL AND NOT LIBRESSL) - if (ENABLE_SSL STREQUAL AUTO) - set (ENABLE_SSL OFF) - else () -@@ -180,8 +180,8 @@ if (NOT ENABLE_SSL STREQUAL OFF) - endif () - endif () - --if (OPENSSL_FOUND) -- if (WIN32 AND OPENSSL_VERSION GREATER 1.1 AND NOT -+if (OpenSSL_FOUND) -+ if (WIN32 AND OpenSSL_VERSION GREATER 1.1 AND NOT - ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 3.7) - message (FATAL_ERROR "Building against OpenSSL 1.1.0 and later requires CMake 3.7 or later (hint:" - " You can also compile against Windows Secure Transport with -DENABLE_SSL=WINDOWS") -@@ -220,7 +220,7 @@ elseif (LIBRESSL) - endif () - - if (ENABLE_CRYPTO_SYSTEM_PROFILE) -- if (OPENSSL_FOUND) -+ if (OpenSSL_FOUND) - set (MONGOC_ENABLE_CRYPTO_SYSTEM_PROFILE 1) - else () - message (FATAL_ERROR "ENABLE_CRYPTO_SYSTEM_PROFILE only available with OpenSSL") -@@ -349,10 +349,10 @@ if (ENABLE_TRACING) - endif () - - # Sets SNAPPY_LIBRARIES and SNAPPY_INCLUDE_DIRS. --include (FindSnappy) --if (SNAPPY_INCLUDE_DIRS) -+if (ENABLE_SNAPPY) -+ find_package(Snappy CONFIG REQUIRED) - set (MONGOC_ENABLE_COMPRESSION 1) -- include_directories ("${SNAPPY_INCLUDE_DIRS}") -+ set (VCPKG_SNAPPY_LIBRARIES "Snappy::snappy") - endif () - - set (MONGOC_ENABLE_SHM_COUNTERS 0) -@@ -393,6 +393,7 @@ if (NOT ENABLE_ICU STREQUAL OFF) - endif() - if (ICU_FOUND) - set (MONGOC_ENABLE_ICU 1) -+ set(VCPKG_ICU_LIBRARIES "ICU::uc") - include_directories ("${ICU_INCLUDE_DIR}") - elseif (ENABLE_ICU STREQUAL ON) - message (FATAL_ERROR "No ICU library found. If ICU is installed in a non-standard directory, define ICU_ROOT as the ICU installation path.") -@@ -623,7 +624,7 @@ if (NOT ENABLE_SSL STREQUAL OFF) - ${PROJECT_SOURCE_DIR}/src/mongoc/mongoc-ssl.c - ) - -- if (OPENSSL_FOUND) -+ if (OpenSSL_FOUND) - message (STATUS "Compiling against OpenSSL") - set (SOURCES ${SOURCES} - ${PROJECT_SOURCE_DIR}/src/mongoc/mongoc-crypto-openssl.c -@@ -633,7 +634,7 @@ if (NOT ENABLE_SSL STREQUAL OFF) - ${PROJECT_SOURCE_DIR}/src/mongoc/mongoc-openssl.c - ${PROJECT_SOURCE_DIR}/src/mongoc/mongoc-ocsp-cache.c - ) -- set (SSL_LIBRARIES ${OPENSSL_LIBRARIES}) -+ set (SSL_LIBRARIES "OpenSSL::SSL") - include_directories (${OPENSSL_INCLUDE_DIR}) - if (WIN32) - set (SSL_LIBRARIES ${SSL_LIBRARIES} crypt32.lib) -@@ -696,11 +697,11 @@ endif () - - set (LIBRARIES - ${SASL_LIBRARIES} ${SSL_LIBRARIES} ${SHM_LIBRARIES} ${RESOLV_LIBRARIES} -- ${SNAPPY_LIBRARIES} ${ZLIB_LIBRARIES} ${MONGOC_ZSTD_LIBRARIES} Threads::Threads ${ICU_LIBRARIES} ${LIBMONGOCRYPT_LIBRARY} -+ ${VCPKG_SNAPPY_LIBRARIES} ${VCPKG_ZLIB_LIBRARIES} ${MONGOC_ZSTD_LIBRARIES} Threads::Threads ${VCPKG_ICU_LIBRARIES} ${LIBMONGOCRYPT_LIBRARY} - ) - set (STATIC_LIBRARIES - ${SASL_LIBRARIES} ${SSL_LIBRARIES} ${SHM_LIBRARIES} ${RESOLV_LIBRARIES} -- ${SNAPPY_LIBRARIES} ${ZLIB_LIBRARIES} ${MONGOC_ZSTD_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} ${ICU_LIBRARIES} ${LIBMONGOCRYPT_LIBRARY} -+ ${VCPKG_SNAPPY_LIBRARIES} ${VCPKG_ZLIB_LIBRARIES} ${MONGOC_ZSTD_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} ${VCPKG_ICU_LIBRARIES} ${LIBMONGOCRYPT_LIBRARY} - ) - - if (WIN32) -diff --git a/src/libmongoc/src/mongoc-config.cmake b/src/libmongoc/src/mongoc-config.cmake -index 9224178e6..6e449c109 100644 ---- a/src/libmongoc/src/mongoc-config.cmake -+++ b/src/libmongoc/src/mongoc-config.cmake -@@ -1,3 +1,20 @@ - include(CMakeFindDependencyMacro) - find_dependency(bson-1.0 @MONGOC_MAJOR_VERSION@.@MONGOC_MINOR_VERSION@.@MONGOC_MICRO_VERSION@ CONFIG REQUIRED) -+ -+if("@Threads_FOUND@") -+ find_dependency(Threads REQUIRED) -+endif() -+if("@ZLIB_FOUND@") -+ find_dependency(ZLIB REQUIRED) -+endif() -+if("@zstd_FOUND@") -+ find_dependency(zstd CONFIG REQUIRED) -+endif() -+if("@OpenSSL_FOUND@") -+ find_dependency(OpenSSL REQUIRED) -+endif() -+if("@Snappy_FOUND@") -+ find_dependency(Snappy CONFIG REQUIRED) -+endif() -+ - include("${CMAKE_CURRENT_LIST_DIR}/mongoc-targets.cmake") +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@) + + 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 0a18f5a..5346a9d 100644 +--- a/src/libmongoc/CMakeLists.txt ++++ b/src/libmongoc/CMakeLists.txt +@@ -50,7 +50,7 @@ endif () + set (ZLIB_INCLUDE_DIRS "") + if (ENABLE_ZLIB MATCHES "SYSTEM|AUTO") + message (STATUS "Searching for zlib CMake packages") +- include (FindZLIB) ++ find_package(ZLIB REQUIRED) + if (ZLIB_FOUND) + message (STATUS " zlib found version \"${ZLIB_VERSION_STRING}\"") + message (STATUS " zlib include path \"${ZLIB_INCLUDE_DIRS}\"") +@@ -468,10 +468,10 @@ else () + endif () + + # Sets SNAPPY_LIBRARIES and SNAPPY_INCLUDE_DIRS. +-include (FindSnappy) +-if (SNAPPY_INCLUDE_DIRS) ++if(ENABLE_SNAPPY) ++ find_package(Snappy CONFIG REQUIRED) ++ set(SNAPPY_LIBRARIES Snappy::snappy) + set (MONGOC_ENABLE_COMPRESSION 1) +- include_directories ("${SNAPPY_INCLUDE_DIRS}") + endif () + + mongo_bool01 (MONGOC_ENABLE_SHM_COUNTERS ENABLE_SHM_COUNTERS) +@@ -759,7 +759,7 @@ set (STATIC_LIBRARIES + ) + + # 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 31e6cbc..cdbb756 100644 +--- a/src/libmongoc/src/mongoc-config.cmake ++++ b/src/libmongoc/src/mongoc-config.cmake +@@ -1,5 +1,8 @@ + include(CMakeFindDependencyMacro) + find_dependency(bson-1.0 @libmongoc_VERSION@) ++if("@ENABLE_SNAPPY@") ++ find_dependency(Snappy CONFIG) ++endif() + + # 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-dependency-libbson.patch b/ports/mongo-c-driver/fix-dependency-libbson.patch deleted file mode 100644 index 65c05ca68aea84..00000000000000 --- a/ports/mongo-c-driver/fix-dependency-libbson.patch +++ /dev/null @@ -1,72 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 91fd663da..fc9565770 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -179,14 +179,6 @@ if (ENABLE_BSON STREQUAL SYSTEM) - SET (ENABLE_TESTS OFF) - - 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 () - - unset (dist_generated CACHE) -diff --git a/src/libmongoc/CMakeLists.txt b/src/libmongoc/CMakeLists.txt -index af5a398a9..de96ab864 100644 ---- a/src/libmongoc/CMakeLists.txt -+++ b/src/libmongoc/CMakeLists.txt -@@ -727,7 +727,7 @@ endif () - - 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}) -+target_link_libraries (mongoc_shared PRIVATE ${LIBRARIES} PUBLIC mongo::bson_shared) - target_include_directories (mongoc_shared BEFORE PUBLIC ${MONGOC_INTERNAL_INCLUDE_DIRS}) - target_include_directories (mongoc_shared PRIVATE ${ZLIB_INCLUDE_DIRS}) - target_include_directories (mongoc_shared PRIVATE ${LIBMONGOCRYPT_INCLUDE_DIRECTORIES}) -@@ -747,7 +747,7 @@ set_target_properties (mongoc_shared PROPERTIES OUTPUT_NAME "${MONGOC_OUTPUT_BAS - - if (MONGOC_ENABLE_STATIC_BUILD) - add_library (mongoc_static STATIC ${SOURCES} ${HEADERS} ${HEADERS_FORWARDING}) -- target_link_libraries (mongoc_static ${STATIC_LIBRARIES} ${BSON_STATIC_LIBRARIES}) -+ target_link_libraries (mongoc_static ${STATIC_LIBRARIES} mongo::bson_static) - if (NOT WIN32 AND ENABLE_PIC) - target_compile_options (mongoc_static PUBLIC -fPIC) - message ("Adding -fPIC to compilation of mongoc_static components") -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 6f05b0c18..c23da9f61 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,7 +19,7 @@ set (MONGOC_STATIC_MINOR_VERSION @MONGOC_MINOR_VERSION@) - set (MONGOC_STATIC_MICRO_VERSION @MONGOC_MICRO_VERSION@) - set (MONGOC_STATIC_VERSION @MONGOC_VERSION@) - --find_package (libbson-static-1.0 "@MONGOC_MAJOR_VERSION@.@MONGOC_MINOR_VERSION@" REQUIRED) -+find_package (libbson-1.0 "@MONGOC_MAJOR_VERSION@.@MONGOC_MINOR_VERSION@" REQUIRED) - - @PACKAGE_INIT@ - -@@ -57,3 +57,7 @@ foreach (LIB @SASL_LIBRARIES@ @SSL_LIBRARIES@ @SHM_LIBRARIES@ @ZLIB_LIBRARIES@ - endforeach () - - set (MONGOC_STATIC_DEFINITIONS MONGOC_STATIC ${BSON_STATIC_DEFINITIONS}) -+ -+set (MONGOC_INCLUDE_DIRS ${MONGOC_STATIC_INCLUDE_DIRS}) -+set (MONGOC_LIBRARIES ${MONGOC_STATIC_LIBRARIES}) -+set (MONGOC_DEFINITIONS ${MONGOC_STATIC_DEFINITIONS}) -\ No newline at end of file -diff --git a/src/libmongoc/src/mongoc-config.cmake b/src/libmongoc/src/mongoc-config.cmake -index 7fe7cf42d..9224178e6 100644 ---- a/src/libmongoc/src/mongoc-config.cmake -+++ b/src/libmongoc/src/mongoc-config.cmake -@@ -1,3 +1,3 @@ - include(CMakeFindDependencyMacro) --find_dependency(bson-1.0 @MONGOC_MAJOR_VERSION@.@MONGOC_MINOR_VERSION@.@MONGOC_MICRO_VERSION@) -+find_dependency(bson-1.0 @MONGOC_MAJOR_VERSION@.@MONGOC_MINOR_VERSION@.@MONGOC_MICRO_VERSION@ CONFIG REQUIRED) - 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 8fdf45334d2528..965f1d17a2f5ea 100644 --- a/ports/mongo-c-driver/fix-include-directory.patch +++ b/ports/mongo-c-driver/fix-include-directory.patch @@ -1,13 +1,13 @@ -diff --git a/src/libmongoc/CMakeLists.txt b/src/libmongoc/CMakeLists.txt -index a5767ac..3656efa 100644 ---- a/src/libmongoc/CMakeLists.txt -+++ b/src/libmongoc/CMakeLists.txt -@@ -998,7 +998,7 @@ else () - endif () - - set (MONGOC_HEADER_INSTALL_DIR -- "${CMAKE_INSTALL_INCLUDEDIR}/libmongoc-${MONGOC_API_VERSION}" -+ "${CMAKE_INSTALL_INCLUDEDIR}" - ) - - install ( +diff --git a/src/libmongoc/CMakeLists.txt b/src/libmongoc/CMakeLists.txt +index 4675313..847e073 100644 +--- a/src/libmongoc/CMakeLists.txt ++++ b/src/libmongoc/CMakeLists.txt +@@ -1255,7 +1255,7 @@ else () + endif () + + set (MONGOC_HEADER_INSTALL_DIR +- "${CMAKE_INSTALL_INCLUDEDIR}/libmongoc-${MONGOC_API_VERSION}" ++ "${CMAKE_INSTALL_INCLUDEDIR}" + ) + + install ( diff --git a/ports/mongo-c-driver/fix-mingw.patch b/ports/mongo-c-driver/fix-mingw.patch new file mode 100644 index 00000000000000..c52566ddac6a1a --- /dev/null +++ b/ports/mongo-c-driver/fix-mingw.patch @@ -0,0 +1,63 @@ +diff --git a/src/libmongoc/CMakeLists.txt b/src/libmongoc/CMakeLists.txt +index be0bfb2..6e295d6 100644 +--- a/src/libmongoc/CMakeLists.txt ++++ b/src/libmongoc/CMakeLists.txt +@@ -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 80f15f8..28a0742 100644 +--- a/src/libmongoc/src/mongoc/mongoc-client.c ++++ b/src/libmongoc/src/mongoc/mongoc-client.c +@@ -18,8 +18,8 @@ + #include "mongoc-config.h" + #ifdef MONGOC_HAVE_DNSAPI + /* for DnsQuery_UTF8 */ +-#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 e417d7d..cccabf5 100644 +--- a/src/libmongoc/src/mongoc/mongoc-socket.c ++++ b/src/libmongoc/src/mongoc/mongoc-socket.c +@@ -25,7 +25,7 @@ + #include "mongoc-socket-private.h" + #include "mongoc-trace-private.h" + #ifdef _WIN32 +-#include ++#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 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 + + #define SECURITY_WIN32 1 /* Required for SSPI */ + +-#include ++#include + #include + #include + #include diff --git a/ports/mongo-c-driver/fix-static-cmake.patch b/ports/mongo-c-driver/fix-static-cmake.patch deleted file mode 100644 index bb3e018e73171f..00000000000000 --- a/ports/mongo-c-driver/fix-static-cmake.patch +++ /dev/null @@ -1,13 +0,0 @@ -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 c23da9f..05c03e8 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 -@@ -30,7 +30,7 @@ list (APPEND MONGOC_STATIC_INCLUDE_DIRS ${BSON_STATIC_INCLUDE_DIRS}) - # directory and the base name, but not the suffix, so we use CMake's - # find_library () to pick that up. Users can override this by configuring - # MONGOC_STATIC_LIBRARY themselves. --find_library (MONGOC_STATIC_LIBRARY mongoc-static-1.0 PATHS "@PACKAGE_LIBRARY_INSTALL_DIRS@" NO_DEFAULT_PATH) -+find_library (MONGOC_STATIC_LIBRARY mongoc-1.0 PATHS "@PACKAGE_LIBRARY_INSTALL_DIRS@" NO_DEFAULT_PATH) - if (MSVC) - set (MONGOC_STATIC_LIB_EXT "lib") - else () diff --git a/ports/mongo-c-driver/portfile.cmake b/ports/mongo-c-driver/portfile.cmake index 1b4967349cd20a..d8a3e0e9f573ce 100644 --- a/ports/mongo-c-driver/portfile.cmake +++ b/ports/mongo-c-driver/portfile.cmake @@ -2,123 +2,102 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO mongodb/mongo-c-driver - REF 00c59aa4a1f72e49e55b211f28650c66c542739e # 1.17.6 - SHA512 9191c64def45ff268cb5d2ce08782265fb8e0567237c8d3311b91e996bd938d629578a7b50e8db29c4b3aa5bc96f93361f6d918e9cfd4861e5f5c5554cf4616d + REF "${VERSION}" + SHA512 7fe1319c0d845bfd0e59f59d5fe27869372e490f512f44c38657cb5f94bec48886919f2ccfeb09864d6359710b9b885d3ec12f7ab7e7c6429fa54b285df5e67f HEAD_REF master PATCHES - fix-dependency-libbson.patch - disable-static-when-dynamic-build.patch - fix-arm-build.patch + disable-dynamic-when-static.patch fix-dependencies.patch - disable-source-write.patch fix-include-directory.patch - fix-static-cmake.patch -) - -vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - FEATURES - "snappy" ENABLE_SNAPPY - "icu" ENABLE_ICU - "zstd" ENABLE_ZSTD + fix-mingw.patch ) +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) if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") set(ENABLE_STATIC ON) -else() - set(ENABLE_STATIC OFF) endif() -if(VCPKG_TARGET_IS_WINDOWS) - set(ENABLE_SSL "WINDOWS") +vcpkg_check_features(OUT_FEATURE_OPTIONS OPTIONS + FEATURES + snappy ENABLE_SNAPPY + zstd ENABLE_ZSTD +) + +if("openssl" IN_LIST FEATURES) + list(APPEND OPTIONS -DENABLE_SSL=OPENSSL) +elseif(VCPKG_TARGET_IS_WINDOWS) + list(APPEND OPTIONS -DENABLE_SSL=WINDOWS) +elseif(VCPKG_TARGET_IS_OSX OR VCPKG_TARGET_IS_IOS) + list(APPEND OPTIONS -DENABLE_SSL=DARWIN) else() - set(ENABLE_SSL "OPENSSL") + list(APPEND OPTIONS -DENABLE_SSL=OFF) endif() if(VCPKG_TARGET_IS_ANDROID) - set(ENABLE_SRV OFF) - set(ENABLE_SHM_COUNTERS OFF) -else() - set(ENABLE_SRV AUTO) - set(ENABLE_SHM_COUNTERS AUTO) + vcpkg_list(APPEND OPTIONS -DENABLE_SRV=OFF) endif() -file(READ "${CMAKE_CURRENT_LIST_DIR}/vcpkg.json" _contents) -string(JSON BUILD_VERSION GET "${_contents}" version) -file(WRITE "${SOURCE_PATH}/VERSION_CURRENT" "${BUILD_VERSION}") +vcpkg_find_acquire_program(PKGCONFIG) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" + DISABLE_PARALLEL_CONFIGURE OPTIONS - -DBSON_ROOT_DIR=${CURRENT_INSTALLED_DIR} - -DENABLE_MONGOC=ON - -DENABLE_BSON=SYSTEM - -DENABLE_TESTS=OFF + ${OPTIONS} + "-DBUILD_VERSION=${VERSION}" + -DUSE_BUNDLED_UTF8PROC=OFF + -DUSE_SYSTEM_LIBBSON=ON + -DENABLE_CLIENT_SIDE_ENCRYPTION=OFF -DENABLE_EXAMPLES=OFF - -DENABLE_SRV=${ENABLE_SRV} - -DENABLE_SHM_COUNTERS=${ENABLE_SHM_COUNTERS} - -DENABLE_SSL=${ENABLE_SSL} - -DENABLE_ZLIB=SYSTEM + -DENABLE_SASL=OFF + -DENABLE_SHM_COUNTERS=OFF -DENABLE_STATIC=${ENABLE_STATIC} - -DBUILD_VERSION=${BUILD_VERSION} - -DCMAKE_DISABLE_FIND_PACKAGE_PythonInterp=ON - ${FEATURE_OPTIONS} - MAYBE_UNUSED_VARIABLES - CMAKE_DISABLE_FIND_PACKAGE_PythonInterp + -DENABLE_TESTS=OFF + -DENABLE_UNINSTALL=OFF + -DENABLE_ZLIB=SYSTEM + -DCMAKE_DISABLE_FIND_PACKAGE_Python=ON + -DCMAKE_DISABLE_FIND_PACKAGE_Python3=ON + "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}" ) - vcpkg_cmake_install() - vcpkg_copy_pdbs() -vcpkg_cmake_config_fixup(PACKAGE_NAME mongoc-1.0 CONFIG_PATH "lib/cmake/mongoc-1.0" DO_NOT_DELETE_PARENT_CONFIG_PATH) -if (VCPKG_LIBRARY_LINKAGE STREQUAL static) - vcpkg_cmake_config_fixup(PACKAGE_NAME libmongoc-1.0 CONFIG_PATH "lib/cmake/libmongoc-static-1.0") -else() - vcpkg_cmake_config_fixup(PACKAGE_NAME libmongoc-1.0 CONFIG_PATH "lib/cmake/libmongoc-1.0") +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() -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") - -if (VCPKG_LIBRARY_LINKAGE STREQUAL static) - # drop the __declspec(dllimport) when building static +# 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_API __declspec(dllimport)" "define MONGOC_API") - - file(RENAME - "${CURRENT_PACKAGES_DIR}/share/libmongoc-1.0/libmongoc-static-1.0-config.cmake" - "${CURRENT_PACKAGES_DIR}/share/libmongoc-1.0/libmongoc-1.0-config.cmake") - file(RENAME - "${CURRENT_PACKAGES_DIR}/share/libmongoc-1.0/libmongoc-static-1.0-config-version.cmake" - "${CURRENT_PACKAGES_DIR}/share/libmongoc-1.0/libmongoc-1.0-config-version.cmake") - - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin" "${CURRENT_PACKAGES_DIR}/bin") + "#define MONGOC_MACROS_H" "#define MONGOC_MACROS_H\n#ifndef MONGOC_STATIC\n#define MONGOC_STATIC\n#endif") + 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") -# Create cmake files for _both_ find_package(mongo-c-driver) and find_package(libmongoc-static-1.0)/find_package(libmongoc-1.0) -file(READ "${CURRENT_PACKAGES_DIR}/share/libmongoc-1.0/libmongoc-1.0-config.cmake" LIBMONGOC_CONFIG_CMAKE) - -# Patch: Set _IMPORT_PREFIX and replace PACKAGE_PREFIX_DIR -string(REPLACE -[[ -get_filename_component(PACKAGE_PREFIX_DIR "${CMAKE_CURRENT_LIST_DIR}/../../" ABSOLUTE) -]] -[[ -# VCPKG PATCH SET IMPORT_PREFIX -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() -]] - LIBMONGOC_CONFIG_CMAKE "${LIBMONGOC_CONFIG_CMAKE}") -string(REPLACE [[PACKAGE_PREFIX_DIR]] [[_IMPORT_PREFIX]] LIBMONGOC_CONFIG_CMAKE "${LIBMONGOC_CONFIG_CMAKE}") -file(WRITE "${CURRENT_PACKAGES_DIR}/share/libmongoc-1.0/libmongoc-1.0-config.cmake" "${LIBMONGOC_CONFIG_CMAKE}") +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" +) -file(COPY "${SOURCE_PATH}/THIRD_PARTY_NOTICES" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -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}") +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -vcpkg_fixup_pkgconfig() -file(REMOVE "${CURRENT_PACKAGES_DIR}/share/mongo-c-driver/uninstall.sh") \ No newline at end of file +vcpkg_install_copyright( + FILE_LIST + "${SOURCE_PATH}/COPYING" + "${SOURCE_PATH}/THIRD_PARTY_NOTICES" + "${SOURCE_PATH}/src/libmongoc/THIRD_PARTY_NOTICES" +) diff --git a/ports/mongo-c-driver/usage b/ports/mongo-c-driver/usage index 7176a8f4d5faa6..ae5fca480fc21e 100644 --- a/ports/mongo-c-driver/usage +++ b/ports/mongo-c-driver/usage @@ -1,9 +1,4 @@ -The package mongo-c-driver is compatible with built-in CMake targets: +mongo-c-driver provides CMake targets: - find_package(mongoc-1.0 CONFIG REQUIRED) - target_link_libraries(main PRIVATE mongo::mongoc_shared) - -or: - - find_package(mongoc-1.0 CONFIG REQUIRED) - target_link_libraries(main PRIVATE 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 1de4c7a9f3d41e..dbca266c9cf70f 100644 --- a/ports/mongo-c-driver/vcpkg.json +++ b/ports/mongo-c-driver/vcpkg.json @@ -1,15 +1,20 @@ { "name": "mongo-c-driver", - "version": "1.17.6", - "port-version": 2, + "version": "1.29.0", "description": "Client library written in C for MongoDB.", "homepage": "https://github.com/mongodb/mongo-c-driver", + "license": null, + "supports": "!uwp", "dependencies": [ "libbson", { - "name": "openssl", - "platform": "!windows" + "name": "mongo-c-driver", + "features": [ + "openssl" + ], + "platform": "!windows & !osx & !ios" }, + "utf8proc", { "name": "vcpkg-cmake", "host": true @@ -21,10 +26,10 @@ "zlib" ], "features": { - "icu": { - "description": "Enable ICU support, necessary to use non-ASCII usernames or passwords", + "openssl": { + "description": "Use OpenSSL (even on Windows or Apple systems)", "dependencies": [ - "icu" + "openssl" ] }, "snappy": { diff --git a/ports/mongo-cxx-driver/cmake-project-include.cmake b/ports/mongo-cxx-driver/cmake-project-include.cmake new file mode 100644 index 00000000000000..4c4f5b09e6caf9 --- /dev/null +++ b/ports/mongo-cxx-driver/cmake-project-include.cmake @@ -0,0 +1,4 @@ +if(BSONCXX_POLY_USE_STD AND NOT CMAKE_CXX_STANDARD VERSION_GREATER_EQUAL "17") + message(WARNING "Enabling C++17 compiler support.") + set(CMAKE_CXX_STANDARD 17) +endif() diff --git a/ports/mongo-cxx-driver/disable-c2338-mongo-cxx-driver.patch b/ports/mongo-cxx-driver/disable-c2338-mongo-cxx-driver.patch deleted file mode 100644 index eb4245c4bd627d..00000000000000 --- a/ports/mongo-cxx-driver/disable-c2338-mongo-cxx-driver.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 2f7a16aa1..326edd332 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -14,6 +14,7 @@ - - add_definitions(-DMONGO_CXX_DRIVER_COMPILING) - add_definitions(-D_SCL_SECURE_NO_WARNINGS) -+add_definitions(-D_DISABLE_EXTENDED_ALIGNED_STORAGE) - add_subdirectory(bsoncxx) - add_subdirectory(mongocxx) - diff --git a/ports/mongo-cxx-driver/disable_test_and_example.patch b/ports/mongo-cxx-driver/disable_test_and_example.patch deleted file mode 100644 index dde496df424d4b..00000000000000 --- a/ports/mongo-cxx-driver/disable_test_and_example.patch +++ /dev/null @@ -1,47 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index b2bc2a17c..347faa5ca 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -190,6 +190,7 @@ set (BUILD_SOURCE_DIR ${CMAKE_BINARY_DIR}) - - include (MakeDistFiles) - -+if(0) - add_custom_target(hugo_dir - COMMAND ${CMAKE_COMMAND} -E make_directory hugo - ) -@@ -248,6 +249,8 @@ add_custom_target(docs - - set(THIRD_PARTY_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src/third_party) - -+endif() -+ - enable_testing() - - add_subdirectory(src) -diff --git a/src/bsoncxx/CMakeLists.txt b/src/bsoncxx/CMakeLists.txt -index 480b7cd32..b890c36b6 100644 ---- a/src/bsoncxx/CMakeLists.txt -+++ b/src/bsoncxx/CMakeLists.txt -@@ -204,7 +204,7 @@ if(BSONCXX_BUILD_STATIC) - endif() - bsoncxx_install("${bsoncxx_target_list}" "${bsoncxx_pkg_dep}") - --add_subdirectory(test) -+# add_subdirectory(test) - - set_local_dist (src_bsoncxx_DIST_local - CMakeLists.txt -diff --git a/src/mongocxx/CMakeLists.txt b/src/mongocxx/CMakeLists.txt -index f67ae35f7..b783a4716 100644 ---- a/src/mongocxx/CMakeLists.txt -+++ b/src/mongocxx/CMakeLists.txt -@@ -231,7 +231,7 @@ if(MONGOCXX_BUILD_STATIC) - endif() - mongocxx_install("${mongocxx_target_list}" "${mongocxx_pkg_dep}") - --add_subdirectory(test) -+# add_subdirectory(test) - - set_local_dist (src_mongocxx_DIST_local - CMakeLists.txt diff --git a/ports/mongo-cxx-driver/fix-dependencies.patch b/ports/mongo-cxx-driver/fix-dependencies.patch index 09d9f06e7542a0..2e6dd14d56df37 100644 --- a/ports/mongo-cxx-driver/fix-dependencies.patch +++ b/ports/mongo-cxx-driver/fix-dependencies.patch @@ -1,11 +1,35 @@ -diff --git a/src/bsoncxx/cmake/bsoncxx-config.cmake.in b/src/bsoncxx/cmake/bsoncxx-config.cmake.in -index 768f3dde6..6dc7f064b 100644 ---- a/src/bsoncxx/cmake/bsoncxx-config.cmake.in -+++ b/src/bsoncxx/cmake/bsoncxx-config.cmake.in -@@ -1,3 +1,6 @@ - include(CMakeFindDependencyMacro) - @BSONCXX_PKG_DEP@ -+if("@Boost_FOUND@") -+ find_dependency(Boost 1.56.0 REQUIRED) -+endif() - include("${CMAKE_CURRENT_LIST_DIR}/bsoncxx_targets.cmake") +diff --git a/src/bsoncxx/CMakeLists.txt b/src/bsoncxx/CMakeLists.txt +index 1e241f5..adf9a27 100644 +--- a/src/bsoncxx/CMakeLists.txt ++++ b/src/bsoncxx/CMakeLists.txt +@@ -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/fix-uwp.patch b/ports/mongo-cxx-driver/fix-uwp.patch deleted file mode 100644 index 84a1d6ae321bc3..00000000000000 --- a/ports/mongo-cxx-driver/fix-uwp.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index d1bf5e944..2f7a16aa1 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -13,6 +13,7 @@ - # limitations under the License. - - add_definitions(-DMONGO_CXX_DRIVER_COMPILING) -+add_definitions(-D_SCL_SECURE_NO_WARNINGS) - add_subdirectory(bsoncxx) - add_subdirectory(mongocxx) - diff --git a/ports/mongo-cxx-driver/github-654.patch b/ports/mongo-cxx-driver/github-654.patch deleted file mode 100644 index 61ce426e04210b..00000000000000 --- a/ports/mongo-cxx-driver/github-654.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/src/mongocxx/instance.cpp b/src/mongocxx/instance.cpp -index f12bd84a8..acc570fa9 100644 ---- a/src/mongocxx/instance.cpp -+++ b/src/mongocxx/instance.cpp -@@ -75,9 +75,10 @@ typename std::aligned_storage::type sentine - std::atomic current_instance{nullptr}; - static_assert(std::is_standard_layout::value, - "Must be standard layout"); -+#if (!defined(_MSVC_STL_VERSION)) - static_assert(std::is_trivially_destructible::value, - "Must be trivially destructible"); -- -+#endif - } // namespace - - class instance::impl { diff --git a/ports/mongo-cxx-driver/portfile.cmake b/ports/mongo-cxx-driver/portfile.cmake index a570ac689d93c0..f3d6a44c4125a9 100644 --- a/ports/mongo-cxx-driver/portfile.cmake +++ b/ports/mongo-cxx-driver/portfile.cmake @@ -1,127 +1,68 @@ -set(VERSION_MAJOR 3) -set(VERSION_MINOR 6) -set(VERSION_PATCH 5) -set(VERSION_FULL ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO mongodb/mongo-cxx-driver - REF r${VERSION_FULL} - SHA512 fe304d2f406f65d79a030dcfd1509543a9ab3057e46328d5ca1fc58da04758b9a2c6666a6194d574f9b42022324972d41c37d00d6fba87dfba63fbfb99e821de + REF "r${VERSION}" + SHA512 620112ab91ad5fc0eb900b4b271cf40bac92ec728f0da2053dd42a80cc444910c3784f83c638b5aa1323cfa57308622b034b5c9275c4d2c92cbbbd7bb3eb1b08 HEAD_REF master PATCHES - fix-uwp.patch - disable-c2338-mongo-cxx-driver.patch - disable_test_and_example.patch - github-654.patch fix-dependencies.patch ) -if ("mnmlstc" IN_LIST FEATURES) - if (VCPKG_TARGET_IS_WINDOWS) - message(FATAL_ERROR "Feature mnmlstc only supports UNIX") - endif() - set(BSONCXX_POLY MNMLSTC) -elseif ("system-mnmlstc" IN_LIST FEATURES) - message("Please make sure you have mnmlstc installed via the package manager") - set(BSONCXX_POLY SYSTEM_MNMLSTC) -elseif ("boost" IN_LIST FEATURES) - set(BSONCXX_POLY BOOST) -elseif("std-experimental" IN_LIST FEATURES) - set(BSONCXX_POLY STD_EXPERIMENTAL) -else() - if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - set(BSONCXX_POLY BOOST) - else() - set(BSONCXX_POLY MNMLSTC) - endif() -endif() +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 +) vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DMONGOCXX_HEADER_INSTALL_DIR=include + ${FEATURE_OPTIONS} + "-DCMAKE_PROJECT_MONGO_CXX_DRIVER_INCLUDE=${CMAKE_CURRENT_LIST_DIR}/cmake-project-include.cmake" -DBSONCXX_HEADER_INSTALL_DIR=include - -DBSONCXX_POLY_USE_${BSONCXX_POLY}=1 - -DBUILD_VERSION=${VERSION_FULL} + -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_FULL}" DO_NOT_DELETE_PARENT_CONFIG_PATH) -vcpkg_cmake_config_fixup(PACKAGE_NAME mongocxx CONFIG_PATH "lib/cmake/mongocxx-${VERSION_FULL}") - -file(WRITE "${CURRENT_PACKAGES_DIR}/share/libbsoncxx/libbsoncxx-config.cmake" -" -message(WARNING \"This CMake target is deprecated. Use mongo::bsoncxx instead.\") - -set(LIBBSONCXX_VERSION_MAJOR ${VERSION_MAJOR}) -set(LIBBSONCXX_VERSION_MINOR ${VERSION_MINOR}) -set(LIBBSONCXX_VERSION_PATCH ${VERSION_PATCH}) -set(LIBBSONCXX_PACKAGE_VERSION ${VERSION_FULL}) - -get_filename_component(PACKAGE_PREFIX_DIR \"\${CMAKE_CURRENT_LIST_DIR}/../../\" ABSOLUTE) - -set(LIBBSONCXX_INCLUDE_DIRS \"\${PACKAGE_PREFIX_DIR}/include\") -find_library(LIBBSONCXX_LIBRARY_PATH_RELEASE bsoncxx bsoncxx-static PATHS \"\${PACKAGE_PREFIX_DIR}/lib\" NO_DEFAULT_PATH) -find_library(LIBBSONCXX_LIBRARY_PATH_DEBUG bsoncxx bsoncxx-static PATHS \"\${PACKAGE_PREFIX_DIR}/debug/lib\" NO_DEFAULT_PATH) -set(LIBBSONCXX_LIBRARIES optimized \${LIBBSONCXX_LIBRARY_PATH_RELEASE} debug \${LIBBSONCXX_LIBRARY_PATH_DEBUG}) -" -) -file(WRITE ${CURRENT_PACKAGES_DIR}/share/libmongocxx/libmongocxx-config.cmake -" -message(WARNING \"This CMake target is deprecated. Use mongo::mongocxx instead.\") - -set(LIBMONGOCXX_VERSION_MAJOR ${VERSION_MAJOR}) -set(LIBMONGOCXX_VERSION_MINOR ${VERSION_MINOR}) -set(LIBMONGOCXX_VERSION_PATCH ${VERSION_PATCH}) -set(LIBMONGOCXX_PACKAGE_VERSION ${VERSION_FULL}) - -include(CMakeFindDependencyMacro) - -find_dependency(libbsoncxx) - -get_filename_component(PACKAGE_PREFIX_DIR \"\${CMAKE_CURRENT_LIST_DIR}/../../\" ABSOLUTE) - -set(LIBMONGOCXX_INCLUDE_DIRS \"\${PACKAGE_PREFIX_DIR}/include\" \${LIBBSONCXX_INCLUDE_DIRS}) -find_library(LIBMONGOCXX_LIBRARY_PATH_RELEASE NAMES mongocxx mongocxx-static PATHS \"\${PACKAGE_PREFIX_DIR}/lib\" NO_DEFAULT_PATH) -find_library(LIBMONGOCXX_LIBRARY_PATH_DEBUG NAMES mongocxx mongocxx-static PATHS \"\${PACKAGE_PREFIX_DIR}/debug/lib\" NO_DEFAULT_PATH) -set(LIBMONGOCXX_LIBRARIES optimized \${LIBMONGOCXX_LIBRARY_PATH_RELEASE} debug \${LIBMONGOCXX_LIBRARY_PATH_DEBUG} \${LIBBSONCXX_LIBRARIES}) -" -) - -if (NOT BSONCXX_POLY STREQUAL MNMLSTC) - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/bsoncxx/third_party") -endif() +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}") file(REMOVE_RECURSE - "${CURRENT_PACKAGES_DIR}/include/bsoncxx/cmake" - "${CURRENT_PACKAGES_DIR}/include/bsoncxx/config/private" - "${CURRENT_PACKAGES_DIR}/include/bsoncxx/private" - "${CURRENT_PACKAGES_DIR}/include/bsoncxx/test" - "${CURRENT_PACKAGES_DIR}/include/bsoncxx/test_util" - - "${CURRENT_PACKAGES_DIR}/include/mongocxx/cmake" - "${CURRENT_PACKAGES_DIR}/include/mongocxx/config/private" - "${CURRENT_PACKAGES_DIR}/include/mongocxx/exception/private" - "${CURRENT_PACKAGES_DIR}/include/mongocxx/options/private" - "${CURRENT_PACKAGES_DIR}/include/mongocxx/gridfs/private" - "${CURRENT_PACKAGES_DIR}/include/mongocxx/private" - "${CURRENT_PACKAGES_DIR}/include/mongocxx/test" - "${CURRENT_PACKAGES_DIR}/include/mongocxx/test_util" - - "${CURRENT_PACKAGES_DIR}/debug/share" "${CURRENT_PACKAGES_DIR}/debug/include" - "${CURRENT_PACKAGES_DIR}/debug/bin" - "${CURRENT_PACKAGES_DIR}/debug/lib/cmake" - "${CURRENT_PACKAGES_DIR}/bin" - "${CURRENT_PACKAGES_DIR}/lib/cmake" + "${CURRENT_PACKAGES_DIR}/debug/share" ) -file(REMOVE "${CURRENT_PACKAGES_DIR}/share/${PORT}/uninstall.sh") - -vcpkg_fixup_pkgconfig() -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) -file(COPY "${SOURCE_PATH}/THIRD-PARTY-NOTICES" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +function(auto_clean dir) + file(GLOB entries "${dir}/*") + file(GLOB files LIST_DIRECTORIES false "${dir}/*") + foreach(entry IN LISTS entries) + if(entry IN_LIST files) + continue() + endif() + file(GLOB_RECURSE children "${entry}/*") + if(children) + auto_clean("${entry}") + else() + file(REMOVE_RECURSE "${entry}") + endif() + endforeach() +endfunction() +auto_clean("${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") diff --git a/ports/mongo-cxx-driver/usage b/ports/mongo-cxx-driver/usage new file mode 100644 index 00000000000000..f02fb8196d66df --- /dev/null +++ b/ports/mongo-cxx-driver/usage @@ -0,0 +1,7 @@ +mongo-cxx-driver provides CMake targets: + + find_package(bsoncxx CONFIG REQUIRED) + target_link_libraries(main PRIVATE $,mongo::bsoncxx_static,mongo::bsoncxx_shared>) + + find_package(mongocxx CONFIG REQUIRED) + target_link_libraries(main PRIVATE $,mongo::mongocxx_static,mongo::mongocxx_shared>) diff --git a/ports/mongo-cxx-driver/vcpkg.json b/ports/mongo-cxx-driver/vcpkg.json index 27d8f07beb0e4c..b169fed42065de 100644 --- a/ports/mongo-cxx-driver/vcpkg.json +++ b/ports/mongo-cxx-driver/vcpkg.json @@ -1,13 +1,10 @@ { "name": "mongo-cxx-driver", - "version": "3.6.5", - "port-version": 1, + "version": "3.11.0", "description": "MongoDB C++ Driver.", "homepage": "https://github.com/mongodb/mongo-cxx-driver", + "license": "Apache-2.0", "dependencies": [ - "boost-optional", - "boost-smart-ptr", - "boost-utility", "libbson", "mongo-c-driver", { @@ -21,16 +18,15 @@ ], "features": { "boost": { - "description": "Use Boost C++17 polyfill. The only option under MSVC." - }, - "mnmlstc": { - "description": "Use MNMLSTC/core C++17 polyfill." - }, - "std-experimental": { - "description": "Use optional and string_view from std::experimental." - }, - "system-mnmlstc": { - "description": "Use an available version of MNMLSTC on your system as C++17 polyfill." + "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 972a36a0fecdba..449a81af34306e 100644 --- a/ports/mongoose/portfile.cmake +++ b/ports/mongoose/portfile.cmake @@ -1,32 +1,39 @@ -vcpkg_fail_port_install(ON_TARGET "UWP") - vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO cesanta/mongoose - REF 8e520756366ca5739f13dc6ad65fcf269dbbc994 #v7.1 - SHA512 a966a8b4e47e36da0f630c3cf343c85a1c1138508a82e506b21e4b8bd72573d0e0145318f97b32a67f423e033b348de76a00b780430e4e69d1a98bd7494a3e0a + REF "${VERSION}" + SHA512 1db358a3f6fb30db62271ba6a57d0410d80b8460819cbf02973b7fceb3128b9039cc8a70fc1edd52a01597b034a08772542eb7fd080a79ee3e30c47b9900dd72 HEAD_REF master ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - ssl ENABLE_SSL + FEATURES + ssl ENABLE_SSL ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS ${FEATURE_OPTIONS} +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} ) -vcpkg_install_cmake() +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-${PORT} CONFIG_PATH share/unofficial-${PORT}) -vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-${PORT} TARGET_PATH share/unofficial-${PORT}) +if("ssl" IN_LIST FEATURES) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/unofficial-${PORT}/unofficial-${PORT}-config.cmake" + [[# Generated by CMake]] + [[# Generated by CMake +include(CMakeFindDependencyMacro) +find_dependency(OpenSSL)]]) +endif() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +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/mongoose/vcpkg.json b/ports/mongoose/vcpkg.json index 9313383b64ab11..563bdb50606a4f 100644 --- a/ports/mongoose/vcpkg.json +++ b/ports/mongoose/vcpkg.json @@ -1,9 +1,20 @@ { "name": "mongoose", - "version": "7.1", + "version": "7.15", "description": "Embedded web server / embedded networking library", "homepage": "https://cesanta.com/", + "license": null, "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], "features": { "ssl": { "description": "Build with openssl", diff --git a/ports/monkeys-audio/fix-outdir.patch b/ports/monkeys-audio/fix-outdir.patch new file mode 100644 index 00000000000000..1263b6562090ec --- /dev/null +++ b/ports/monkeys-audio/fix-outdir.patch @@ -0,0 +1,18 @@ +diff --git a/Source/Projects/VS2022/MACDll/MACDll.vcxproj b/Source/Projects/VS2022/MACDll/MACDll.vcxproj +index f5b20e8eb..d9fd63c20 100644 +--- a/Source/Projects/VS2022/MACDll/MACDll.vcxproj ++++ b/Source/Projects/VS2022/MACDll/MACDll.vcxproj +@@ -150,10 +150,10 @@ + <_ProjectFileVersion>11.0.50727.1 + + +- C:\Applications\Winamp\plugins\ +- $(Configuration)\ ++ $(Platform)\$(Configuration)\ ++ $(Platform)\$(Configuration)\ + false +- in_APE ++ MACDll + .dll + true + -clang-diagnostic-c++98-compat,-clang-diagnostic-zero-as-null-pointer-constant,-clang-diagnostic-language-extension-token,-clang-diagnostic-global-constructors,-clang-diagnostic-exit-time-destructors diff --git a/ports/monkeys-audio/fix-project-config.patch b/ports/monkeys-audio/fix-project-config.patch deleted file mode 100644 index 549f9bd6429032..00000000000000 --- a/ports/monkeys-audio/fix-project-config.patch +++ /dev/null @@ -1,16 +0,0 @@ ---- a/Source/Projects/VS2019/MACDll/MACDll.vcxproj 2020-12-23 21:42:15.830541000 +0100 -+++ b/Source/Projects/VS2019/MACDll/MACDll.vcxproj 2020-12-29 06:07:36.101967600 +0100 -@@ -74,11 +74,9 @@ - <_ProjectFileVersion>11.0.50727.1 - - -- C:\Applications\Cool Edit Pro\ -+ $(Configuration)\ - $(Configuration)\ -- true -- APE -- .flt -+ false - - - $(Configuration)\ diff --git a/ports/monkeys-audio/portfile.cmake b/ports/monkeys-audio/portfile.cmake index 40c2bccdecb300..d919e987e5e883 100644 --- a/ports/monkeys-audio/portfile.cmake +++ b/ports/monkeys-audio/portfile.cmake @@ -1,28 +1,25 @@ -vcpkg_fail_port_install(ON_TARGET "UWP" "OSX" "Linux") - vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY ONLY_DYNAMIC_CRT) -set(MA_VERSION 570) +set(MA_VERSION 1008) vcpkg_download_distfile(ARCHIVE - URLS "https://monkeysaudio.com/files/MAC_SDK_${MA_VERSION}.zip" - "https://web.archive.org/web/20201229182615if_/https://monkeysaudio.com/files/MAC_SDK_570.zip" - FILENAME "MAC_SDK_${MA_VERSION}.zip" - SHA512 d3b5a10574dde1ea90578959378b87f8a8c94b3cc7198bc51b86f7128d66117d706c191d56a699dce0c2a53b7722e0893cb614f96f9ad725a266a871da587fd4 + URLS "https://monkeysaudio.com/files/MAC_${MA_VERSION}_SDK.zip" + FILENAME "MAC_${MA_VERSION}_SDK.zip" + SHA512 0c96b6fa8da9d412679e8c9b43e98d475a650899694a9d085c3b0272775cf229bb09c7c4f24a18ab7ee5516d2d34f7acd59e4216aca8fe08ed04f75e33e29322 ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" NO_REMOVE_ONE_LEVEL PATCHES - fix-project-config.patch remove-certificate-step.patch + fix-outdir.patch ) file(REMOVE_RECURSE - ${SOURCE_PATH}/Shared/32 - ${SOURCE_PATH}/Shared/64 + "${SOURCE_PATH}/Shared/32" + "${SOURCE_PATH}/Shared/64" ) if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") @@ -33,41 +30,63 @@ else() message(FATAL_ERROR "Unsupported architecture") endif() +# Use /Z7 rather than /Zi to avoid "fatal error C1090: PDB API call failed, error code '23': (0x00000006)" +foreach(VCXPROJ IN ITEMS + "${SOURCE_PATH}/Source/Projects/VS2022/Console/Console.vcxproj" + "${SOURCE_PATH}/Source/Projects/VS2022/DirectShow Filter/APE Decoder.vcxproj" + "${SOURCE_PATH}/Source/Projects/VS2022/MAC/MAC.vcxproj" + "${SOURCE_PATH}/Source/Projects/VS2022/MACDll/MACDll.vcxproj" + "${SOURCE_PATH}/Source/Projects/VS2022/MACLib/MACLib.vcxproj") + vcpkg_replace_string( + "${VCXPROJ}" + "ProgramDatabase" + "OldStyle" + IGNORE_UNCHANGED + ) + vcpkg_replace_string( + "${VCXPROJ}" + "EditAndContinue" + "OldStyle" + IGNORE_UNCHANGED + ) +endforeach() + if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - vcpkg_install_msbuild( - SOURCE_PATH ${SOURCE_PATH} - PROJECT_SUBPATH Source/Projects/VS2019/MACDll/MACDll.vcxproj + list(APPEND VCPKG_C_FLAGS "-D_AFXDLL") + list(APPEND VCPKG_CXX_FLAGS "-D_AFXDLL") + vcpkg_msbuild_install( + SOURCE_PATH "${SOURCE_PATH}" + PROJECT_SUBPATH "Source/Projects/VS2022/MACDll/MACDll.vcxproj" PLATFORM ${PLATFORM} ) else() - vcpkg_install_msbuild( - SOURCE_PATH ${SOURCE_PATH} - PROJECT_SUBPATH Source/Projects/VS2019/MACLib/MACLib.vcxproj + vcpkg_msbuild_install( + SOURCE_PATH "${SOURCE_PATH}" + PROJECT_SUBPATH "Source/Projects/VS2022/MACLib/MACLib.vcxproj" PLATFORM ${PLATFORM} ) endif() if ("tools" IN_LIST FEATURES) - vcpkg_install_msbuild( - SOURCE_PATH ${SOURCE_PATH} - PROJECT_SUBPATH Source/Projects/VS2019/Console/Console.vcxproj + vcpkg_msbuild_install( + SOURCE_PATH "${SOURCE_PATH}" + PROJECT_SUBPATH "Source/Projects/VS2022/Console/Console.vcxproj" PLATFORM ${PLATFORM} ) - file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/Console.lib ${CURRENT_PACKAGES_DIR}/debug/lib/Console.lib) - file(RENAME ${CURRENT_PACKAGES_DIR}/tools/monkeys-audio/Console.exe ${CURRENT_PACKAGES_DIR}/tools/monkeys-audio/mac.exe) - - vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT}) + file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/Console.lib" "${CURRENT_PACKAGES_DIR}/debug/lib/Console.lib") + file(RENAME "${CURRENT_PACKAGES_DIR}/tools/monkeys-audio/Console.exe" "${CURRENT_PACKAGES_DIR}/tools/monkeys-audio/mac.exe") + vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/${PORT}") endif() if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/MACLib.lib ${CURRENT_PACKAGES_DIR}/debug/lib/MACLib.lib) + file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/MACLib.lib" "${CURRENT_PACKAGES_DIR}/debug/lib/MACLib.lib") endif() -file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/include) -file(COPY ${SOURCE_PATH}/Shared/ - DESTINATION ${CURRENT_PACKAGES_DIR}/include/monkeys-audio + +file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/include") +file(COPY "${SOURCE_PATH}/Shared/" + DESTINATION "${CURRENT_PACKAGES_DIR}/include/monkeys-audio" FILES_MATCHING PATTERN "*.h") -file(REMOVE ${CURRENT_PACKAGES_DIR}/include/monkeys-audio/MACDll.h) -file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/license DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${CMAKE_CURRENT_LIST_DIR}/license") diff --git a/ports/monkeys-audio/remove-certificate-step.patch b/ports/monkeys-audio/remove-certificate-step.patch index 16fb24d2a7e694..579952089675be 100644 --- a/ports/monkeys-audio/remove-certificate-step.patch +++ b/ports/monkeys-audio/remove-certificate-step.patch @@ -1,24 +1,54 @@ ---- a/Source/Projects/VS2019/Console/Console.vcxproj 2020-12-23 21:42:15.672211100 +0100 -+++ b/Source/Projects/VS2019/Console/Console.vcxproj 2020-12-29 05:29:53.916306700 +0100 -@@ -180,10 +180,6 @@ - - MachineX86 - -- -- C:\MAC\Current\Source\Certificate\signtool.exe sign /t http://timestamp.digicert.com /f C:\MAC\Current\Source\Certificate\MAC3.pfx /p password /v "$(TargetPath)" --C:\MAC\Current\Source\Certificate\signtool.exe sign /f C:\MAC\Current\Source\Certificate\MAC3.pfx /tr http://sha256timestamp.ws.symantec.com/sha256/timestamp /td sha256 /fd sha256 /a /as /p password "$(TargetPath)" -- - - - -@@ -273,10 +269,6 @@ - - MachineX64 - -- -- C:\MAC\Current\Source\Certificate\signtool.exe sign /t http://timestamp.digicert.com /f C:\MAC\Current\Source\Certificate\MAC3.pfx /p password /v "$(TargetPath)" --C:\MAC\Current\Source\Certificate\signtool.exe sign /f C:\MAC\Current\Source\Certificate\MAC3.pfx /tr http://sha256timestamp.ws.symantec.com/sha256/timestamp /td sha256 /fd sha256 /a /as /p password "$(TargetPath)" -- - - - +diff --git a/Source/Projects/VS2022/Console/Console.vcxproj b/Source/Projects/VS2022/Console/Console.vcxproj +index e7eea4d..754e209 100644 +--- a/Source/Projects/VS2022/Console/Console.vcxproj ++++ b/Source/Projects/VS2022/Console/Console.vcxproj +@@ -273,9 +273,6 @@ + + Console + +- +- ..\..\..\Certificate\signtool.exe sign /f ..\..\..\Certificate\MAC.pfx /tr http://sha256timestamp.ws.symantec.com/sha256/timestamp /td sha256 /fd sha256 /a /as /p password "$(TargetPath)" +- + + + +@@ -299,9 +296,6 @@ + + Console + +- +- ..\..\..\Certificate\signtool.exe sign /f ..\..\..\Certificate\MAC.pfx /tr http://sha256timestamp.ws.symantec.com/sha256/timestamp /td sha256 /fd sha256 /a /as /p password "$(TargetPath)" +- + + + +@@ -388,9 +382,6 @@ + + Console + +- +- ..\..\..\Certificate\signtool.exe sign /f ..\..\..\Certificate\MAC.pfx /tr http://sha256timestamp.ws.symantec.com/sha256/timestamp /td sha256 /fd sha256 /a /as /p password "$(TargetPath)" +- + + + +@@ -414,9 +405,6 @@ + + Console + +- +- ..\..\..\Certificate\signtool.exe sign /f ..\..\..\Certificate\MAC.pfx /tr http://sha256timestamp.ws.symantec.com/sha256/timestamp /td sha256 /fd sha256 /a /as /p password "$(TargetPath)" +- + + + +@@ -440,9 +428,6 @@ + + Console + +- +- ..\..\..\Certificate\signtool.exe sign /f ..\..\..\Certificate\MAC.pfx /tr http://sha256timestamp.ws.symantec.com/sha256/timestamp /td sha256 /fd sha256 /a /as /p password "$(TargetPath)" +- + + + diff --git a/ports/monkeys-audio/vcpkg.json b/ports/monkeys-audio/vcpkg.json index ceb22ba8b1b63e..99811eeb53cfbe 100644 --- a/ports/monkeys-audio/vcpkg.json +++ b/ports/monkeys-audio/vcpkg.json @@ -1,13 +1,21 @@ { "name": "monkeys-audio", - "version-string": "5.70", - "port-version": 1, + "version-string": "10.08", + "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." ], "homepage": "https://monkeysaudio.com", + "license": null, "supports": "!(uwp | osx | linux)", + "dependencies": [ + { + "name": "vcpkg-msbuild", + "host": true, + "platform": "windows" + } + ], "features": { "tools": { "description": "Build monkeys-audio tools" diff --git a/ports/moos-core/include_functional.patch b/ports/moos-core/include_functional.patch new file mode 100644 index 00000000000000..1245ca8731dbdc --- /dev/null +++ b/ports/moos-core/include_functional.patch @@ -0,0 +1,12 @@ +diff --git a/Core/libMOOS/Utils/MOOSUtilityFunctions.cpp b/Core/libMOOS/Utils/MOOSUtilityFunctions.cpp +index 9d4473f..3f91018 100644 +--- a/Core/libMOOS/Utils/MOOSUtilityFunctions.cpp ++++ b/Core/libMOOS/Utils/MOOSUtilityFunctions.cpp +@@ -47,6 +47,7 @@ + #include + #include + #include ++#include + + #ifndef _WIN32 + #include diff --git a/ports/moos-core/portfile.cmake b/ports/moos-core/portfile.cmake index 197467428edef2..3bd8a627b93ebe 100644 --- a/ports/moos-core/portfile.cmake +++ b/ports/moos-core/portfile.cmake @@ -3,29 +3,26 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY ONLY_DYNAMIC_CRT) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO themoos/core-moos - REF v10.4.0 + REF "v${VERSION}" SHA512 8a82074bd219bbedbe56c2187afe74a55a252b0654a675c64d1f75e62353b0874e7b405d9f677fadb297e955d11aea50a07e8f5f3546be3c4ddab76fe356a51e HEAD_REF master PATCHES cmake_fix.patch + include_functional.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" DISABLE_PARALLEL_CONFIGURE - OPTIONS - -DCMAKE_ENABLE_EXPORT=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/MOOS) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/MOOS) # Stage tools -file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools) -file(RENAME ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/tools/${PORT}) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin ${CURRENT_PACKAGES_DIR}/debug/include) +file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools") +file(RENAME "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/tools/${PORT}") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin" "${CURRENT_PACKAGES_DIR}/debug/include") -# Put the licence file where vcpkg expects it -file(COPY ${SOURCE_PATH}/Core/GPLCore.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/Core/GPLCore.txt") diff --git a/ports/moos-core/vcpkg.json b/ports/moos-core/vcpkg.json index 43a01cf2539ce3..2fc2564e54e37e 100644 --- a/ports/moos-core/vcpkg.json +++ b/ports/moos-core/vcpkg.json @@ -1,7 +1,19 @@ { "name": "moos-core", - "version-string": "10.4.0", - "port-version": 6, + "version": "10.4.0", + "port-version": 10, "description": "A very light weight, easy to use middleware.", - "homepage": "https://sites.google.com/site/moossoftware/" + "homepage": "https://sites.google.com/site/moossoftware/", + "license": "GPL-2.0-or-later", + "supports": "!xbox & !uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/moos-essential/portfile.cmake b/ports/moos-essential/portfile.cmake index daebe0f041e48f..65029b443b9bd6 100644 --- a/ports/moos-essential/portfile.cmake +++ b/ports/moos-essential/portfile.cmake @@ -8,26 +8,26 @@ vcpkg_from_github( fix.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() +vcpkg_copy_pdbs() -file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/MOOS) +file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/MOOS") if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/pAntler") - file(RENAME ${CURRENT_PACKAGES_DIR}/bin/pAntler ${CURRENT_PACKAGES_DIR}/tools/MOOS/pAntler) - file(RENAME ${CURRENT_PACKAGES_DIR}/bin/pLogger ${CURRENT_PACKAGES_DIR}/tools/MOOS/pLoggers) - file(RENAME ${CURRENT_PACKAGES_DIR}/bin/pMOOSBridge ${CURRENT_PACKAGES_DIR}/tools/MOOS/pMOOSBridge) - file(RENAME ${CURRENT_PACKAGES_DIR}/bin/pScheduler ${CURRENT_PACKAGES_DIR}/tools/MOOS/pScheduler) - file(RENAME ${CURRENT_PACKAGES_DIR}/bin/pShare ${CURRENT_PACKAGES_DIR}/tools/MOOS/pShare) + file(RENAME "${CURRENT_PACKAGES_DIR}/bin/pAntler" "${CURRENT_PACKAGES_DIR}/tools/MOOS/pAntler") + file(RENAME "${CURRENT_PACKAGES_DIR}/bin/pLogger" "${CURRENT_PACKAGES_DIR}/tools/MOOS/pLoggers") + file(RENAME "${CURRENT_PACKAGES_DIR}/bin/pMOOSBridge" "${CURRENT_PACKAGES_DIR}/tools/MOOS/pMOOSBridge") + file(RENAME "${CURRENT_PACKAGES_DIR}/bin/pScheduler" "${CURRENT_PACKAGES_DIR}/tools/MOOS/pScheduler") + file(RENAME "${CURRENT_PACKAGES_DIR}/bin/pShare" "${CURRENT_PACKAGES_DIR}/tools/MOOS/pShare") endif() if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug") endif() -file(WRITE ${CURRENT_PACKAGES_DIR}/include/fake_header.h "// fake header to pass vcpkg post install check \n") -file(WRITE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright "see moos-core for copyright\n" ) +file(WRITE "${CURRENT_PACKAGES_DIR}/include/fake_header.h" "// fake header to pass vcpkg post install check \n") +file(WRITE "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" "see moos-core for copyright\n" ) diff --git a/ports/moos-essential/vcpkg.json b/ports/moos-essential/vcpkg.json index 48da1769f32a56..7cfbe5f65ae315 100644 --- a/ports/moos-essential/vcpkg.json +++ b/ports/moos-essential/vcpkg.json @@ -1,10 +1,14 @@ { "name": "moos-essential", - "version-string": "10.0.1", - "port-version": 3, + "version": "10.0.1", + "port-version": 5, "description": "a set of useful applications that leverage the core-moos communications layer.", "homepage": "https://sites.google.com/site/moossoftware/", "dependencies": [ - "moos-core" + "moos-core", + { + "name": "vcpkg-cmake", + "host": true + } ] } diff --git a/ports/moos-ui/portfile.cmake b/ports/moos-ui/portfile.cmake index e3f0dd4ee5793e..6b9e8e14b74f43 100644 --- a/ports/moos-ui/portfile.cmake +++ b/ports/moos-ui/portfile.cmake @@ -6,27 +6,26 @@ vcpkg_from_github( HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_CONSOLE_TOOLS=ON -DBUILD_GRAPHICAL_TOOLS=OFF #${BUILD_GRAPHICAL_TOOLS} ) -vcpkg_install_cmake() +vcpkg_cmake_install() -file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/MOOS) +file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/MOOS") if (VCPKG_TARGET_IS_WINDOWS) - file(RENAME ${CURRENT_PACKAGES_DIR}/bin/uPoke.exe ${CURRENT_PACKAGES_DIR}/tools/MOOS/uPoke.exe) - file(RENAME ${CURRENT_PACKAGES_DIR}/bin/iRemoteLite.exe ${CURRENT_PACKAGES_DIR}/tools/MOOS/iRemoteLite.exe) + file(RENAME "${CURRENT_PACKAGES_DIR}/bin/uPoke.exe" "${CURRENT_PACKAGES_DIR}/tools/MOOS/uPoke.exe") + file(RENAME "${CURRENT_PACKAGES_DIR}/bin/iRemoteLite.exe" "${CURRENT_PACKAGES_DIR}/tools/MOOS/iRemoteLite.exe") else() - file(RENAME ${CURRENT_PACKAGES_DIR}/bin/uPoke ${CURRENT_PACKAGES_DIR}/tools/MOOS/uPoke) - file(RENAME ${CURRENT_PACKAGES_DIR}/bin/iRemoteLite ${CURRENT_PACKAGES_DIR}/tools/MOOS/iRemoteLite) + file(RENAME "${CURRENT_PACKAGES_DIR}/bin/uPoke" "${CURRENT_PACKAGES_DIR}/tools/MOOS/uPoke") + file(RENAME "${CURRENT_PACKAGES_DIR}/bin/iRemoteLite" "${CURRENT_PACKAGES_DIR}/tools/MOOS/iRemoteLite") endif() -vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/MOOS) +vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/MOOS") -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug") -file(WRITE ${CURRENT_PACKAGES_DIR}/include/fake_header_ui.h "// fake header to pass vcpkg post install check \n") -file(WRITE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright "see moos-core for copyright\n" ) +file(WRITE "${CURRENT_PACKAGES_DIR}/include/fake_header_ui.h" "// fake header to pass vcpkg post install check \n") +file(WRITE "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" "see moos-core for copyright\n" ) diff --git a/ports/moos-ui/vcpkg.json b/ports/moos-ui/vcpkg.json index 8dfc9307b86a60..a625ef30b5058a 100644 --- a/ports/moos-ui/vcpkg.json +++ b/ports/moos-ui/vcpkg.json @@ -1,10 +1,14 @@ { "name": "moos-ui", - "version-string": "10.0.1", - "port-version": 3, + "version": "10.0.1", + "port-version": 5, "description": "set of user interface tools to use and leverage the MOOS project.", "homepage": "https://sites.google.com/site/moossoftware/", "dependencies": [ - "moos-core" + "moos-core", + { + "name": "vcpkg-cmake", + "host": true + } ] } diff --git a/ports/morton-nd/portfile.cmake b/ports/morton-nd/portfile.cmake index bd2d6dd0018d0e..dba44d7dab8b4a 100644 --- a/ports/morton-nd/portfile.cmake +++ b/ports/morton-nd/portfile.cmake @@ -8,23 +8,23 @@ vcpkg_from_github( HEAD_REF main ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" DISABLE_PARALLEL_CONFIGURE - PREFER_NINJA OPTIONS -DBUILD_TESTING=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() +vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/morton-nd/cmake TARGET_PATH) +vcpkg_cmake_config_fixup(CONFIG_PATH share/morton-nd/cmake) file(REMOVE_RECURSE - ${CURRENT_PACKAGES_DIR}/debug - ${CURRENT_PACKAGES_DIR}/share/doc + "${CURRENT_PACKAGES_DIR}/debug" + "${CURRENT_PACKAGES_DIR}/share/doc" ) # Handle copyright -configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) -file(COPY ${SOURCE_PATH}/NOTICE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +configure_file("${SOURCE_PATH}/LICENSE" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) +file(COPY "${SOURCE_PATH}/NOTICE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/morton-nd/vcpkg.json b/ports/morton-nd/vcpkg.json index c1cc4907c291cf..422dc9cf01ad96 100644 --- a/ports/morton-nd/vcpkg.json +++ b/ports/morton-nd/vcpkg.json @@ -1,7 +1,17 @@ { "name": "morton-nd", - "version-string": "4.0.0", - "port-version": 1, + "version": "4.0.0", + "port-version": 3, "description": "header-only constexpr library for fast Morton encoding/decoding in N dimensions.", - "homepage": "https://github.com/kevinhartman/morton-nd" + "homepage": "https://github.com/kevinhartman/morton-nd", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/mosquitto/0001-add-archive-destination-to-install.patch b/ports/mosquitto/0001-add-archive-destination-to-install.patch deleted file mode 100644 index 5df6128edb6385..00000000000000 --- a/ports/mosquitto/0001-add-archive-destination-to-install.patch +++ /dev/null @@ -1,39 +0,0 @@ -From df5ec7ba4e7b1516a2636e47c33a4a6161b5c422 Mon Sep 17 00:00:00 2001 -From: Nicole Mazzuca -Date: Tue, 22 Sep 2020 15:38:44 -0700 -Subject: [PATCH 1/5] add archive destination to install - ---- - lib/CMakeLists.txt | 2 +- - lib/cpp/CMakeLists.txt | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt -index e1521f1..bd60b75 100644 ---- a/lib/CMakeLists.txt -+++ b/lib/CMakeLists.txt -@@ -87,7 +87,7 @@ set_target_properties(libmosquitto PROPERTIES - SOVERSION 1 - ) - --install(TARGETS libmosquitto RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}") -+install(TARGETS libmosquitto RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}") - - if (WITH_STATIC_LIBRARIES) - add_library(libmosquitto_static STATIC ${C_SRC}) -diff --git a/lib/cpp/CMakeLists.txt b/lib/cpp/CMakeLists.txt -index b39ac3f..5805244 100644 ---- a/lib/cpp/CMakeLists.txt -+++ b/lib/cpp/CMakeLists.txt -@@ -13,7 +13,7 @@ set_target_properties(mosquittopp PROPERTIES - VERSION ${VERSION} - SOVERSION 1 - ) --install(TARGETS mosquittopp RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}") -+install(TARGETS mosquittopp RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}") - - if (WITH_STATIC_LIBRARIES) - add_library(mosquittopp_static STATIC --- -2.24.3 (Apple Git-128) - diff --git a/ports/mosquitto/0002-win64-support.patch b/ports/mosquitto/0002-win64-support.patch deleted file mode 100644 index dae3d03a36ddc2..00000000000000 --- a/ports/mosquitto/0002-win64-support.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 07eff849..3edc7efa 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -67,12 +67,7 @@ option(WITH_THREADING "Include client library threading support?" ON) - if (WITH_THREADING) - add_definitions("-DWITH_THREADING") - if (WIN32) -- if (CMAKE_CL_64) -- set (PTHREAD_LIBRARIES C:\\pthreads\\Pre-built.2\\lib\\x64\\pthreadVC2.lib) -- else (CMAKE_CL_64) -- set (PTHREAD_LIBRARIES C:\\pthreads\\Pre-built.2\\lib\\x86\\pthreadVC2.lib) -- endif (CMAKE_CL_64) -- set (PTHREAD_INCLUDE_DIR C:\\pthreads\\Pre-built.2\\include) -+ find_package(pthread REQUIRED) - elseif (ANDROID) - set (PTHREAD_LIBRARIES "") - set (PTHREAD_INCLUDE_DIR "") diff --git a/ports/mosquitto/0003-add-find_package-libwebsockets.patch b/ports/mosquitto/0003-add-find_package-libwebsockets.patch index b167b0da51f2a2..fc61ddfd5825f0 100644 --- a/ports/mosquitto/0003-add-find_package-libwebsockets.patch +++ b/ports/mosquitto/0003-add-find_package-libwebsockets.patch @@ -1,17 +1,8 @@ -From 902ab5bf91937188d3ebf0aece81a704729e5580 Mon Sep 17 00:00:00 2001 -From: Nicole Mazzuca -Date: Tue, 22 Sep 2020 15:42:53 -0700 -Subject: [PATCH 3/5] add find_package libwebsockets - ---- - CMakeLists.txt | 1 + - 1 file changed, 1 insertion(+) - diff --git a/CMakeLists.txt b/CMakeLists.txt -index 1a92fe3..3c78b2c 100644 +index 2775a3da..ef7ce14a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -45,6 +45,7 @@ endif (WITH_TLS) +@@ -55,6 +55,7 @@ endif (WITH_UNIX_SOCKETS AND NOT WIN32) option(WITH_SOCKS "Include SOCKS5 support?" ON) if (WITH_SOCKS) @@ -19,6 +10,3 @@ index 1a92fe3..3c78b2c 100644 add_definitions("-DWITH_SOCKS") endif (WITH_SOCKS) --- -2.24.3 (Apple Git-128) - diff --git a/ports/mosquitto/0004-support-static-build.patch b/ports/mosquitto/0004-support-static-build.patch index bd3e44d030b05a..85835730333dd8 100644 --- a/ports/mosquitto/0004-support-static-build.patch +++ b/ports/mosquitto/0004-support-static-build.patch @@ -1,5 +1,5 @@ diff --git a/apps/mosquitto_passwd/CMakeLists.txt b/apps/mosquitto_passwd/CMakeLists.txt -index 13a7d826..31069306 100644 +index 13a7d826..5e96f49c 100644 --- a/apps/mosquitto_passwd/CMakeLists.txt +++ b/apps/mosquitto_passwd/CMakeLists.txt @@ -13,6 +13,10 @@ if (WITH_TLS) @@ -15,7 +15,7 @@ index 13a7d826..31069306 100644 install(TARGETS mosquitto_passwd RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") endif (WITH_TLS) diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt -index 5da221dc..c3e9fce0 100644 +index 31cc35e3..a1a3e01a 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -69,7 +69,7 @@ if (UNIX AND NOT APPLE AND NOT ANDROID) diff --git a/ports/mosquitto/0005-websocket-shared-lib-name.patch b/ports/mosquitto/0005-websocket-shared-lib-name.patch index 4ce8a826787233..33074e9c1bb175 100644 --- a/ports/mosquitto/0005-websocket-shared-lib-name.patch +++ b/ports/mosquitto/0005-websocket-shared-lib-name.patch @@ -1,20 +1,20 @@ -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 9380a046..f2929e19 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -194,13 +194,13 @@ endif (WIN32) - - if (WITH_WEBSOCKETS) - if (STATIC_WEBSOCKETS) -- set (MOSQ_LIBS ${MOSQ_LIBS} websockets_static) -+ set (MOSQ_LIBS ${MOSQ_LIBS} websockets) - 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/src/CMakeLists.txt b/src/CMakeLists.txt +index 62ce99e..61f941e 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -194,13 +194,13 @@ endif (WIN32) + + if (WITH_WEBSOCKETS) + if (STATIC_WEBSOCKETS) +- set (MOSQ_LIBS ${MOSQ_LIBS} websockets_static) ++ set (MOSQ_LIBS ${MOSQ_LIBS} websockets) + 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 new file mode 100644 index 00000000000000..14d59946f16dcb --- /dev/null +++ b/ports/mosquitto/0006-pthreads-for-windows.patch @@ -0,0 +1,15 @@ +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 c20fe2a9fc9707..f1487108e5c374 100644 --- a/ports/mosquitto/portfile.cmake +++ b/ports/mosquitto/portfile.cmake @@ -2,21 +2,19 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO eclipse/mosquitto HEAD_REF master - REF v2.0.12 - SHA512 bf502f4f8c5f8d9ae9ee6e6a417e3f9deea9933c69176903d460a1c91132658ebe093c8e9ed000cb579fe93f15626c15d8041ceb6438e15caca1d153a67975f9 + REF "v${VERSION}" + SHA512 667216f3e60f9916d5de200d3a205fb5a5c798564c96e44939af6c8e3af85fffa36a63eba47db009b432d14f43883dbca5b92547a458215dd269e91f6bcfb7fa PATCHES - 0001-add-archive-destination-to-install.patch - 0002-win64-support.patch 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) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DWITH_STATIC_LIBRARIES=${STATIC_LINKAGE} -DWITH_SRV=OFF @@ -28,36 +26,36 @@ vcpkg_configure_cmake( -DDOCUMENTATION=OFF -DWITH_PLUGINS=OFF -DWITH_CJSON=OFF + -DWITH_CLIENTS=OFF + -DWITH_APPS=OFF + -DWITH_BROKER=OFF + -DWITH_BUNDLED_DEPS=OFF + MAYBE_UNUSED_VARIABLES + WITH_WEBSOCKETS + STATIC_WEBSOCKETS ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +vcpkg_fixup_pkgconfig() -file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/mosquitto_passwd${VCPKG_TARGET_EXECUTABLE_SUFFIX}) -file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/mosquitto_passwd${VCPKG_TARGET_EXECUTABLE_SUFFIX}) -file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/mosquitto_pub${VCPKG_TARGET_EXECUTABLE_SUFFIX}) -file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/mosquitto_pub${VCPKG_TARGET_EXECUTABLE_SUFFIX}) -file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/mosquitto_rr${VCPKG_TARGET_EXECUTABLE_SUFFIX}) -file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/mosquitto_rr${VCPKG_TARGET_EXECUTABLE_SUFFIX}) -file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/mosquitto_sub${VCPKG_TARGET_EXECUTABLE_SUFFIX}) -file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/mosquitto_sub${VCPKG_TARGET_EXECUTABLE_SUFFIX}) +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 ${CURRENT_PACKAGES_DIR}/debug/bin) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") - file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/${VCPKG_TARGET_SHARED_LIBRARY_PREFIX}mosquitto${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}) - file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/${VCPKG_TARGET_SHARED_LIBRARY_PREFIX}mosquittopp${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}) - file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/${VCPKG_TARGET_SHARED_LIBRARY_PREFIX}mosquitto${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}) - file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/${VCPKG_TARGET_SHARED_LIBRARY_PREFIX}mosquittopp${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}) + file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/${VCPKG_TARGET_SHARED_LIBRARY_PREFIX}mosquitto${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}") + file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/${VCPKG_TARGET_SHARED_LIBRARY_PREFIX}mosquittopp${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}") + file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/lib/${VCPKG_TARGET_SHARED_LIBRARY_PREFIX}mosquitto${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}") + file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/lib/${VCPKG_TARGET_SHARED_LIBRARY_PREFIX}mosquittopp${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}") file(GLOB VERSIONED_LIBRARIES LIST_DIRECTORIES FALSE - ${CURRENT_PACKAGES_DIR}/lib/${VCPKG_TARGET_SHARED_LIBRARY_PREFIX}mosquitto${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}.* - ${CURRENT_PACKAGES_DIR}/lib/${VCPKG_TARGET_SHARED_LIBRARY_PREFIX}mosquittopp${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}.* - ${CURRENT_PACKAGES_DIR}/debug/lib/${VCPKG_TARGET_SHARED_LIBRARY_PREFIX}mosquitto${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}.* - ${CURRENT_PACKAGES_DIR}/debug/lib/${VCPKG_TARGET_SHARED_LIBRARY_PREFIX}mosquittopp${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}.* + "${CURRENT_PACKAGES_DIR}/lib/${VCPKG_TARGET_SHARED_LIBRARY_PREFIX}mosquitto${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}.*" + "${CURRENT_PACKAGES_DIR}/lib/${VCPKG_TARGET_SHARED_LIBRARY_PREFIX}mosquittopp${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}.*" + "${CURRENT_PACKAGES_DIR}/debug/lib/${VCPKG_TARGET_SHARED_LIBRARY_PREFIX}mosquitto${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}.*" + "${CURRENT_PACKAGES_DIR}/debug/lib/${VCPKG_TARGET_SHARED_LIBRARY_PREFIX}mosquittopp${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}.*" ) if(NOT "x${VERSIONED_LIBRARIES}x" STREQUAL "xx") @@ -65,16 +63,14 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") endif() if(NOT "x${VCPKG_TARGET_IMPORT_LIBRARY_PREFIX}${VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX}x" STREQUAL "xx") - file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/${VCPKG_TARGET_IMPORT_LIBRARY_PREFIX}mosquitto${VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX}) - file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/${VCPKG_TARGET_IMPORT_LIBRARY_PREFIX}mosquittopp${VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX}) - file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/${VCPKG_TARGET_IMPORT_LIBRARY_PREFIX}mosquitto${VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX}) - file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/${VCPKG_TARGET_IMPORT_LIBRARY_PREFIX}mosquittopp${VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX}) + file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/${VCPKG_TARGET_IMPORT_LIBRARY_PREFIX}mosquitto${VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX}") + file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/${VCPKG_TARGET_IMPORT_LIBRARY_PREFIX}mosquittopp${VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX}") + file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/lib/${VCPKG_TARGET_IMPORT_LIBRARY_PREFIX}mosquitto${VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX}") + file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/lib/${VCPKG_TARGET_IMPORT_LIBRARY_PREFIX}mosquittopp${VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX}") endif() 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_fixup_pkgconfig() +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/mosquitto/vcpkg.json b/ports/mosquitto/vcpkg.json index b73e452f07f832..d298cf9f3973e1 100644 --- a/ports/mosquitto/vcpkg.json +++ b/ports/mosquitto/vcpkg.json @@ -1,13 +1,19 @@ { "name": "mosquitto", - "version": "2.0.12", - "port-version": 3, + "version": "2.0.18", "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/download/", + "homepage": "https://mosquitto.org/", + "license": "EPL-2.0", + "supports": "!android", "dependencies": [ "c-ares", "libwebsockets", "openssl", - "pthreads" + "pthreads", + "uthash", + { + "name": "vcpkg-cmake", + "host": true + } ] } diff --git a/ports/mozjpeg/portfile.cmake b/ports/mozjpeg/portfile.cmake index 2cd6bbdf73470a..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 512a7c3a51071981e4b314c9bc029f1daa3fb72b #2021-09-27 - SHA512 bdada9757bec5e02533d976a988210e59e37a07aa9dd321d29f18161d4143a1398c004b210d05748aa61a9005411b46e9e0bfa37af2b45570e45020fbc28f551 + 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 cf7e96cf29cefa..7723afa5ed8f84 100644 --- a/ports/mozjpeg/vcpkg.json +++ b/ports/mozjpeg/vcpkg.json @@ -1,8 +1,10 @@ { "name": "mozjpeg", - "version-date": "2021-09-27", + "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", "dependencies": [ "libpng", { diff --git a/ports/mp-units/cmake.patch b/ports/mp-units/cmake.patch deleted file mode 100644 index d2d4a1a54c4557..00000000000000 --- a/ports/mp-units/cmake.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index b18a30a96..d89248aa1 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -66,11 +66,21 @@ conan_init(cmake) - add_subdirectory(src) - - # add usage example --add_subdirectory(example) -+option(BUILD_EXAMPLES "Build usage examples" OFF) -+if(BUILD_EXAMPLES) -+ add_subdirectory(example) -+endif() - - # generate project documentation --add_subdirectory(docs) -+option(BUILD_DOCS "Generate docs" OFF) -+if(BUILD_DOCS) -+ add_subdirectory(docs) -+endif() - - # add unit tests --enable_testing() --add_subdirectory(test) -+option(BUILD_TESTING "Build tests" OFF) -+if(BUILD_TESTING) -+ set_warnings(mp-units) -+ enable_testing() -+ add_subdirectory(test) -+endif() diff --git a/ports/mp-units/config.patch b/ports/mp-units/config.patch index b5f6bd6d20884b..736b5a75451840 100644 --- a/ports/mp-units/config.patch +++ b/ports/mp-units/config.patch @@ -1,14 +1,20 @@ diff --git a/src/mp-unitsConfig.cmake b/src/mp-unitsConfig.cmake +index f5bee933d..5effb72bf 100644 --- a/src/mp-unitsConfig.cmake +++ b/src/mp-unitsConfig.cmake -@@ -39,8 +39,8 @@ function(__check_libcxx_in_use variable) - endfunction() - +@@ -23,13 +23,9 @@ include(CMakeFindDependencyMacro) --find_dependency(fmt) --find_dependency(gsl-lite) -+find_dependency(fmt CONFIG) + + if(NOT MP_UNITS_API_FREESTANDING AND NOT MP_UNITS_API_STD_FORMAT) +- find_dependency(fmt) ++ find_dependency(fmt CONFIG) + endif() + +-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 STREQUAL "Clang") + include("${CMAKE_CURRENT_LIST_DIR}/mp-unitsTargets.cmake") diff --git a/ports/mp-units/portfile.cmake b/ports/mp-units/portfile.cmake index f608f1af1e9c6d..0b12063d5e457a 100644 --- a/ports/mp-units/portfile.cmake +++ b/ports/mp-units/portfile.cmake @@ -1,15 +1,19 @@ +if(VCPKG_TARGET_IS_LINUX) + message("Note: `mp-units` requires Clang16+ or GCC11+") +endif() + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO mpusz/units - REF v0.7.0 - SHA512 72175f34f358d0741650ce9c8a7b28fced90cc45ddd3f1662ae1cb9ff7d31403ff742ee07ab4c96bd2d95af714d9111a888cf6acccb91e568e12d1ef663b2f64 + REPO mpusz/mp-units + REF "v${VERSION}" + SHA512 7e3a897a0df438d43dc860febe813f84b671caa26195cea1e8df75769d418d5456852200b8f546107c97214e88e77015e044a95d0c45d4c19341288136e11fbc PATCHES - cmake.patch - config.patch + config.patch ) + vcpkg_cmake_configure( - SOURCE_PATH "${SOURCE_PATH}" + SOURCE_PATH "${SOURCE_PATH}/src" ) vcpkg_cmake_install() @@ -17,8 +21,8 @@ vcpkg_cmake_install() vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${PORT}") # Handle copyright/readme/package files -file(INSTALL "${SOURCE_PATH}/LICENSE.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.md") file(INSTALL "${SOURCE_PATH}/README.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug" - "${CURRENT_PACKAGES_DIR}/lib") # Header only \ No newline at end of file + "${CURRENT_PACKAGES_DIR}/lib") # Header only diff --git a/ports/mp-units/vcpkg.json b/ports/mp-units/vcpkg.json index e4cc95da2ecd6a..80e80cb2fe953c 100644 --- a/ports/mp-units/vcpkg.json +++ b/ports/mp-units/vcpkg.json @@ -1,8 +1,10 @@ { "name": "mp-units", - "version-semver": "0.7.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", 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/add-macos-universal-config.patch b/ports/mp3lame/add-macos-universal-config.patch new file mode 100644 index 00000000000000..900f548deabeef --- /dev/null +++ b/ports/mp3lame/add-macos-universal-config.patch @@ -0,0 +1,12 @@ +diff --git a/config.sub b/config.sub +index 3580aaf..bf099fc 100755 +--- a/config.sub ++++ b/config.sub +@@ -439,6 +439,7 @@ case $basic_machine in + | tile*-* \ + | tron-* \ + | ubicom32-* \ ++ | universal-* \ + | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ + | vax-* \ + | visium-* \ 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 f30f9e2cbac62d..12fd4ccf51ef5d 100644 --- a/ports/mp3lame/portfile.cmake +++ b/ports/mp3lame/portfile.cmake @@ -1,5 +1,3 @@ -set(VERSION 3.100) - vcpkg_from_sourceforge( OUT_SOURCE_PATH SOURCE_PATH REPO lame/lame @@ -9,28 +7,30 @@ vcpkg_from_sourceforge( PATCHES 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) - if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") - set(platform "ARM64") - set(machine "ARM64") - elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") - set(platform "ARM") - set(machine "ARM") - elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") - set(platform "x64") - set(machine "x64") - else() - set(platform "Win32") - set(machine "x86") - endif() + if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") + set(platform "ARM64") + set(machine "ARM64") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") + set(platform "ARM") + set(machine "ARM") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + set(platform "x64") + set(machine "x64") + else() + set(platform "Win32") + set(machine "x86") + endif() - file(READ "${SOURCE_PATH}/vc_solution/vc11_lame.sln" sln_con) - string(REPLACE "|Win32" "|${platform}" sln_con "${sln_con}") - string(REPLACE "\"vc11_" "\"${machine}_vc11_" sln_con "${sln_con}") - file(WRITE "${SOURCE_PATH}/vc_solution/${machine}_vc11_lame.sln" "${sln_con}") + file(READ "${SOURCE_PATH}/vc_solution/vc11_lame.sln" sln_con) + string(REPLACE "|Win32" "|${platform}" sln_con "${sln_con}") + string(REPLACE "\"vc11_" "\"${machine}_vc11_" sln_con "${sln_con}") + file(WRITE "${SOURCE_PATH}/vc_solution/${machine}_vc11_lame.sln" "${sln_con}") file(GLOB vcxprojs RELATIVE "${SOURCE_PATH}/vc_solution" "${SOURCE_PATH}/vc_solution/vc11_*.vcxproj") @@ -41,10 +41,10 @@ if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) string(REPLACE "DLL" "" vcxproj_con "${vcxproj_con}") endif() - string(REPLACE "/machine:x86" "/machine:${machine}" vcxproj_con "${vcxproj_con}") - string(REPLACE "Win32" "${platform}" vcxproj_con "${vcxproj_con}") - string(REPLACE "|Win32" "|${platform}" vcxproj_con "${vcxproj_con}") - string(REPLACE "Include=\"vc11_" "Include=\"${machine}_vc11_" vcxproj_con "${vcxproj_con}") + string(REPLACE "/machine:x86" "/machine:${machine}" vcxproj_con "${vcxproj_con}") + string(REPLACE "Win32" "${platform}" vcxproj_con "${vcxproj_con}") + string(REPLACE "|Win32" "|${platform}" vcxproj_con "${vcxproj_con}") + string(REPLACE "Include=\"vc11_" "Include=\"${machine}_vc11_" vcxproj_con "${vcxproj_con}") if(NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") string(REPLACE "/APPCONTAINER" "" vcxproj_con "${vcxproj_con}") @@ -53,31 +53,48 @@ if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) file(WRITE "${SOURCE_PATH}/vc_solution/${machine}_${vcxproj}" "${vcxproj_con}") endforeach() - vcpkg_install_msbuild( - 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") - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin) - file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/libmp3lame.lib) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin") + file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/libmp3lame.lib") endif() if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin) - file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/libmp3lame.lib) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin") + file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/lib/libmp3lame.lib") endif() set(MP3LAME_LIB "libmp3lame-static.lib") else() if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/libmp3lame-static.lib) - file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/libmpghip-static.lib) + file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/libmp3lame-static.lib") + file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/libmpghip-static.lib") endif() if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/libmp3lame-static.lib) - file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/libmpghip-static.lib) + file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/lib/libmp3lame-static.lib") + file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/lib/libmpghip-static.lib") endif() set(MP3LAME_LIB "libmp3lame.lib") endif() @@ -96,25 +113,32 @@ 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) - string(APPEND OPTIONS --with-pic=yes) + list(APPEND OPTIONS --with-pic=yes) endif() vcpkg_configure_make( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" DETERMINE_BUILD_TRIPLET OPTIONS ${OPTIONS} ) vcpkg_install_make() file(REMOVE_RECURSE - ${CURRENT_PACKAGES_DIR}/debug/include - ${CURRENT_PACKAGES_DIR}/debug/share + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" ) - endif() -file(COPY ${SOURCE_PATH}/include/lame.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/lame) -configure_file(${SOURCE_PATH}/COPYING ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) -configure_file(${CMAKE_CURRENT_LIST_DIR}/Config.cmake.in ${CURRENT_PACKAGES_DIR}/share/${PORT}/mp3lame-config.cmake @ONLY) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/${PORT}/doc" "${CURRENT_PACKAGES_DIR}/share/${PORT}/man1") + +file(COPY "${SOURCE_PATH}/include/lame.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include/lame") +configure_file("${CMAKE_CURRENT_LIST_DIR}/Config.cmake.in" "${CURRENT_PACKAGES_DIR}/share/${PORT}/mp3lame-config.cmake" @ONLY) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/mp3lame/vcpkg.json b/ports/mp3lame/vcpkg.json index f0c7cfca97f9ff..182893cf7772e4 100644 --- a/ports/mp3lame/vcpkg.json +++ b/ports/mp3lame/vcpkg.json @@ -1,7 +1,26 @@ { "name": "mp3lame", - "version-string": "3.100", - "port-version": 7, + "version": "3.100", + "port-version": 15, "description": "LAME is a high quality MPEG Audio Layer III (MP3) encoder licensed under the LGPL.", - "homepage": "http://lame.sourceforge.net/" + "homepage": "https://sourceforge.net/projects/lame", + "license": "LGPL-2.0-only", + "dependencies": [ + { + "name": "vcpkg-msbuild", + "host": true, + "platform": "windows & !mingw" + } + ], + "features": { + "frontend": { + "description": "Build the lame frontend", + "dependencies": [ + { + "name": "ncurses", + "platform": "!windows | mingw" + } + ] + } + } } diff --git a/ports/mpark-patterns/portfile.cmake b/ports/mpark-patterns/portfile.cmake new file mode 100644 index 00000000000000..639fdceb58a3bb --- /dev/null +++ b/ports/mpark-patterns/portfile.cmake @@ -0,0 +1,23 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO mpark/patterns + REF b3270e0dd7b6312f7a4fe8647e2333dbb86e355e + SHA512 ca8062b92cf0d5874aba7067615ff8cb089c22cb921d6131762a8dcb2f50d4f47d80c59b62b1c9b7e70dae2dfb68a44c2a4feeb78ab5e5473e0fbdd089538314 + HEAD_REF master +) + +set(VCPKG_BUILD_TYPE release) #header-only library + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(PACKAGE_NAME mpark_patterns CONFIG_PATH "lib/cmake/mpark_patterns") + +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/mpark-patterns/usage b/ports/mpark-patterns/usage new file mode 100644 index 00000000000000..8e4f5d53613386 --- /dev/null +++ b/ports/mpark-patterns/usage @@ -0,0 +1,5 @@ +The package mpark-patterns provides CMake targets: + + find_package(mpark_patterns CONFIG REQUIRED) + target_link_libraries(main PRIVATE mpark_patterns) + diff --git a/ports/mpark-patterns/vcpkg.json b/ports/mpark-patterns/vcpkg.json new file mode 100644 index 00000000000000..a9619173b62797 --- /dev/null +++ b/ports/mpark-patterns/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "mpark-patterns", + "version-date": "2019-10-03", + "description": "MPark.Patterns is an experimental pattern matching library for C++17.", + "homepage": "https://github.com/mpark/patterns", + "license": "BSL-1.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/mpark-variant/portfile.cmake b/ports/mpark-variant/portfile.cmake index 2041e6f0789d9b..7e6659f78fd64a 100644 --- a/ports/mpark-variant/portfile.cmake +++ b/ports/mpark-variant/portfile.cmake @@ -6,17 +6,17 @@ vcpkg_from_github( HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() +vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/mpark_variant TARGET_PATH share/mpark_variant) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/mpark_variant PACKAGE_NAME mpark_variant) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug" "${CURRENT_PACKAGES_DIR}/lib") file(INSTALL - ${SOURCE_PATH}/LICENSE.md - DESTINATION ${CURRENT_PACKAGES_DIR}/share/mpark-variant RENAME copyright) + "${SOURCE_PATH}/LICENSE.md" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/mpark-variant/vcpkg.json b/ports/mpark-variant/vcpkg.json index a3c03ffaaf7bd0..06c30e54ecf47b 100644 --- a/ports/mpark-variant/vcpkg.json +++ b/ports/mpark-variant/vcpkg.json @@ -1,6 +1,16 @@ { "name": "mpark-variant", - "version-string": "1.4.0", - "port-version": 1, - "description": "an implementation of C++17 std::variant for C++11/14/17." + "version": "1.4.0", + "port-version": 3, + "description": "an implementation of C++17 std::variant for C++11/14/17.", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/mpc/gmpd.patch b/ports/mpc/gmpd.patch deleted file mode 100644 index b08625777c365f..00000000000000 --- a/ports/mpc/gmpd.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/configure.ac b/configure.ac -index ab3da6092..2533df1d8 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -151,7 +151,9 @@ AC_CHECK_FUNCS([dup dup2],, - - AC_CHECK_LIB([gmp], [__gmpz_init], - [LIBS="-lgmp $LIBS"], -- [AC_MSG_ERROR([libgmp not found or uses a different ABI (including static vs shared).])]) -+ [AC_CHECK_LIB([gmpd], [__gmpz_init], -+ [LIBS="-lgmpd $LIBS"], -+ [AC_MSG_ERROR([libgmp not found or uses a different ABI (including static vs shared).])])]) - - AC_MSG_CHECKING(for MPFR) - LIBS="-lmpfr $LIBS" diff --git a/ports/mpc/portfile.cmake b/ports/mpc/portfile.cmake index 66aeb9f18fd987..4052fa8231ae33 100644 --- a/ports/mpc/portfile.cmake +++ b/ports/mpc/portfile.cmake @@ -1,27 +1,24 @@ -vcpkg_download_distfile(ARCHIVE - URLS "https://ftp.gnu.org/gnu/mpc/mpc-1.2.0.tar.gz" - FILENAME "mpc-1.2.0.tar.gz" - SHA512 84fa3338f51d369111456a63ad040256a1beb70699e21e2a932c779aa1c3bd08b201412c1659ecbb58403ea0548faacc35996d94f88f0639549269b7563c61b7 -) - -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} - PATCHES gmpd.patch -) - -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) - -# # Handle copyright -file(INSTALL "${SOURCE_PATH}/COPYING.LESSER" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) - +vcpkg_download_distfile(ARCHIVE + URLS "https://ftp.gnu.org/gnu/mpc/mpc-${VERSION}.tar.gz" + FILENAME "mpc-${VERSION}.tar.gz" + SHA512 4bab4ef6076f8c5dfdc99d810b51108ced61ea2942ba0c1c932d624360a5473df20d32b300fc76f2ba4aa2a97e1f275c9fd494a1ba9f07c4cb2ad7ceaeb1ae97 +) + +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) + +file(INSTALL "${SOURCE_PATH}/COPYING.LESSER" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/mpc/vcpkg.json b/ports/mpc/vcpkg.json index 2c8e38d1da1f30..0b0c26f130c144 100644 --- a/ports/mpc/vcpkg.json +++ b/ports/mpc/vcpkg.json @@ -1,7 +1,6 @@ { "name": "mpc", - "version-string": "1.2.0", - "port-version": 1, + "version": "1.3.1", "description": "GNU MPC is a C library for the arithmetic of complex numbers with arbitrarily high precision and correct rounding of the result.", "homepage": "http://www.multiprecision.org/mpc/", "dependencies": [ diff --git a/ports/mpfr/gmpd.patch b/ports/mpfr/gmpd.patch deleted file mode 100644 index d34027d36496b1..00000000000000 --- a/ports/mpfr/gmpd.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/configure.ac b/configure.ac -index ea92c1f97..9621a70e5 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -693,8 +693,9 @@ See 'config.log' for details (search for GMP_NUMB_BITS).])], - - dnl Check if we can link with GMP - AC_CHECK_LIB(gmp, __gmpz_init, [LIBS="-lgmp $LIBS"], -+ [AC_CHECK_LIB(gmpd, __gmpz_init, [LIBS="-lgmpd $LIBS"], - [AC_MSG_ERROR([libgmp not found or uses a different ABI (including static vs shared). --Please read the INSTALL file -- see "In case of problem".])]) -+Please read the INSTALL file -- see "In case of problem".])])]) - - dnl Check for corresponding 'gmp.h' and libgmp - AC_MSG_CHECKING(if gmp.h version and libgmp version are the same) diff --git a/ports/mpfr/portfile.cmake b/ports/mpfr/portfile.cmake index 82512c96021570..219b92d1377b62 100644 --- a/ports/mpfr/portfile.cmake +++ b/ports/mpfr/portfile.cmake @@ -1,35 +1,39 @@ -set(VERSION 4.1.0) +vcpkg_minimum_required(VERSION 2022-10-12) # for ${VERSION} + vcpkg_download_distfile(ARCHIVE URLS "http://www.mpfr.org/mpfr-${VERSION}/mpfr-${VERSION}.tar.xz" "https://ftp.gnu.org/gnu/mpfr/mpfr-${VERSION}.tar.xz" FILENAME "mpfr-${VERSION}.tar.xz" - SHA512 1bd1c349741a6529dfa53af4f0da8d49254b164ece8a46928cdb13a99460285622d57fe6f68cef19c6727b3f9daa25ddb3d7d65c201c8f387e421c7f7bee6273 + SHA512 bc68c0d755d5446403644833ecbb07e37360beca45f474297b5d5c40926df1efc3e2067eecffdf253f946288bcca39ca89b0613f545d46a9e767d1d4cf358475 ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} - PATCHES - gmpd.patch +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" + PATCHES dll.patch + src-only.patch ) -file(REMOVE_RECURSE "${SOURCE_PATH}/m4") vcpkg_configure_make( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" AUTOCONFIG - ADDITIONAL_MSYS_PACKAGES texinfo gettext autoconf-archive ) vcpkg_install_make() vcpkg_copy_pdbs() - -if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/mpfr.pc" AND VCPKG_TARGET_IS_WINDOWS) - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/mpfr.pc" " -lgmp" " -lgmpd") -endif() vcpkg_fixup_pkgconfig() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -# Handle copyright -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(REMOVE + "${CURRENT_PACKAGES_DIR}/share/${PORT}/AUTHORS" + "${CURRENT_PACKAGES_DIR}/share/${PORT}/BUGS" + "${CURRENT_PACKAGES_DIR}/share/${PORT}/COPYING" + "${CURRENT_PACKAGES_DIR}/share/${PORT}/COPYING.LESSER" + "${CURRENT_PACKAGES_DIR}/share/${PORT}/NEWS" + "${CURRENT_PACKAGES_DIR}/share/${PORT}/TODO" +) + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING" "${SOURCE_PATH}/COPYING.LESSER") diff --git a/ports/mpfr/src-only.patch b/ports/mpfr/src-only.patch new file mode 100644 index 00000000000000..5055709862aafc --- /dev/null +++ b/ports/mpfr/src-only.patch @@ -0,0 +1,20 @@ +diff --git a/Makefile.am b/Makefile.am +index 89242c6..662ce24 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -24,12 +24,14 @@ AUTOMAKE_OPTIONS = gnu + # old Automake version. + ACLOCAL_AMFLAGS = -I m4 + +-SUBDIRS = doc src tests tune tools/bench ++SUBDIRS = src # Skipping: doc tests tune tools/bench + + pkgconfigdir = $(libdir)/pkgconfig + pkgconfig_DATA = mpfr.pc + + nobase_dist_doc_DATA = AUTHORS BUGS COPYING COPYING.LESSER NEWS TODO \ ++ # BREAK ++VCPKG_SKIP_EXAMPLES = \ + examples/ReadMe examples/can_round.c examples/divworst.c \ + examples/rndo-add.c examples/sample.c examples/threads.c \ + examples/version.c diff --git a/ports/mpfr/usage b/ports/mpfr/usage new file mode 100644 index 00000000000000..0219b24b7249e8 --- /dev/null +++ b/ports/mpfr/usage @@ -0,0 +1,6 @@ +The package mpfr can be imported via CMake FindPkgConfig module: + + find_package(PkgConfig) + pkg_check_modules(mpfr REQUIRED IMPORTED_TARGET mpfr) + + target_link_libraries(main PRIVATE PkgConfig::mpfr) diff --git a/ports/mpfr/vcpkg.json b/ports/mpfr/vcpkg.json index 7f742a50c4727d..ec36b1208f8de0 100644 --- a/ports/mpfr/vcpkg.json +++ b/ports/mpfr/vcpkg.json @@ -1,9 +1,10 @@ { "name": "mpfr", - "version-string": "4.1.0", - "port-version": 1, + "version": "4.2.1", "description": "The MPFR library is a C library for multiple-precision floating-point computations with correct rounding", "homepage": "https://www.mpfr.org", + "license": "LGPL-3.0-or-later", + "supports": "!xbox", "dependencies": [ "gmp" ] diff --git a/ports/mpg123/0001-fix-checkcpuarch-path.patch b/ports/mpg123/0001-fix-checkcpuarch-path.patch deleted file mode 100644 index d6d3bc4771e05e..00000000000000 --- a/ports/mpg123/0001-fix-checkcpuarch-path.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/ports/cmake/cmake/CheckCPUArch.cmake b/ports/cmake/cmake/CheckCPUArch.cmake -index 84dab8a..925aa09 100644 ---- a/ports/cmake/cmake/CheckCPUArch.cmake -+++ b/ports/cmake/cmake/CheckCPUArch.cmake -@@ -2,7 +2,7 @@ macro(_CHECK_CPU_ARCH ARCH ARCH_DEFINES VARIABLE) - if(NOT DEFINED HAVE_${VARIABLE}) - message(STATUS "Check CPU architecture is ${ARCH}") - set(CHECK_CPU_ARCH_DEFINES ${ARCH_DEFINES}) -- configure_file(${PROJECT_SOURCE_DIR}/CheckCPUArch.c.in ${PROJECT_BINARY_DIR}/CMakeFiles/CMakeTmp/CheckCPUArch.c @ONLY) -+ configure_file(${PROJECT_SOURCE_DIR}/cmake/CheckCPUArch.c.in ${PROJECT_BINARY_DIR}/CMakeFiles/CMakeTmp/CheckCPUArch.c @ONLY) - try_compile(HAVE_${VARIABLE} "${PROJECT_BINARY_DIR}" - "${PROJECT_BINARY_DIR}/CMakeFiles/CMakeTmp/CheckCPUArch.c") - if(HAVE_${VARIABLE}) diff --git a/ports/mpg123/0002-fix-libmpg123-uwp-build.patch b/ports/mpg123/0002-fix-libmpg123-uwp-build.patch deleted file mode 100644 index ab37d023862426..00000000000000 --- a/ports/mpg123/0002-fix-libmpg123-uwp-build.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff --git a/ports/cmake/src/CMakeLists.txt b/ports/cmake/src/CMakeLists.txt -index b843152..b8ff89b 100644 ---- a/ports/cmake/src/CMakeLists.txt -+++ b/ports/cmake/src/CMakeLists.txt -@@ -39,8 +39,6 @@ check_include_file("termios.h" HAVE_TERMIOS) - check_include_file("unistd.h" HAVE_UNISTD_H) - check_include_file("windows.h" HAVE_WINDOWS_H) - --check_symbol_exists(strerror "string.h" HAVE_STRERROR) -- - function(check_m) - set(CMAKE_REQUIRED_LIBRARIES m) - check_function_exists(sin HAVE_M) -@@ -59,6 +57,7 @@ check_function_exists(shmget HAVE_SHMGET) - check_function_exists(shmat HAVE_SHMAT) - check_function_exists(shmdt HAVE_SHMDT) - check_function_exists(shmctl HAVE_SHMCTL) -+check_function_exists(strerror HAVE_STRERROR) - - search_libs(gethostbyname GETHOSTBYNAME_LIB nsl socket network) - search_libs(socket SOCKET_LIB socket) diff --git a/ports/mpg123/0003-fix-libout123-uwp-build.patch b/ports/mpg123/0003-fix-libout123-uwp-build.patch deleted file mode 100644 index b1b37f5e5ea347..00000000000000 --- a/ports/mpg123/0003-fix-libout123-uwp-build.patch +++ /dev/null @@ -1,266 +0,0 @@ -diff --git a/ports/cmake/CMakeLists.txt b/ports/cmake/CMakeLists.txt -index b5008da..8e6309a 100644 ---- a/ports/cmake/CMakeLists.txt -+++ b/ports/cmake/CMakeLists.txt -@@ -5,6 +5,13 @@ read_api_version(MPG123_VERSION API_VERSION OUTAPI_VERSION SYNAPI_VERSION) - - project(mpg123 VERSION ${MPG123_VERSION} LANGUAGES C ASM) - -+option(BUILD_LIBOUT123 "build libout123" ON) -+if(CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") -+ message(WARNING "Output module is not implemented for '${CMAKE_SYSTEM_NAME}' platform.") -+ message(WARNING "To prevent build errors 'BUILD_LIBOUT123' option is set to OFF.") -+ set(BUILD_LIBOUT123 OFF) -+endif() -+ - include(cmake/search_libs.cmake) - include(CMakePackageConfigHelpers) - include(GNUInstallDirs) -@@ -34,17 +41,28 @@ set(exec_prefix "${CMAKE_INSTALL_PREFIX}") - set(libdir "${CMAKE_INSTALL_FULL_LIBDIR}") - set(includedir "${CMAKE_INSTALL_FULL_INCLUDEDIR}") - configure_file("${CMAKE_CURRENT_SOURCE_DIR}/../../libmpg123.pc.in" libmpg123.pc @ONLY) --configure_file("${CMAKE_CURRENT_SOURCE_DIR}/../../libout123.pc.in" libout123.pc @ONLY) -+if(BUILD_LIBOUT123) -+ configure_file("${CMAKE_CURRENT_SOURCE_DIR}/../../libout123.pc.in" libout123.pc @ONLY) -+endif() - configure_file("${CMAKE_CURRENT_SOURCE_DIR}/../../libsyn123.pc.in" libsyn123.pc @ONLY) - - install( - FILES - "${CMAKE_CURRENT_BINARY_DIR}/libmpg123.pc" -- "${CMAKE_CURRENT_BINARY_DIR}/libout123.pc" - "${CMAKE_CURRENT_BINARY_DIR}/libsyn123.pc" - DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") - install( - FILES - "${CMAKE_CURRENT_SOURCE_DIR}/../../man1/mpg123.1" -- "${CMAKE_CURRENT_SOURCE_DIR}/../../man1/out123.1" - DESTINATION "${CMAKE_INSTALL_MANDIR}") -+ -+if(BUILD_LIBOUT123) -+ install( -+ FILES -+ "${CMAKE_CURRENT_BINARY_DIR}/libout123.pc" -+ DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") -+ install( -+ FILES -+ "${CMAKE_CURRENT_SOURCE_DIR}/../../man1/out123.1" -+ DESTINATION "${CMAKE_INSTALL_MANDIR}") -+endif() -diff --git a/ports/cmake/src/CMakeLists.txt b/ports/cmake/src/CMakeLists.txt -index b843152..3945c7e 100644 ---- a/ports/cmake/src/CMakeLists.txt -+++ b/ports/cmake/src/CMakeLists.txt -@@ -194,112 +194,114 @@ endif() - - # Modules - --if(CHECK_MODULES) -- list(FIND CHECK_MODULES alsa ALSA_REQUIRED) -- list(FIND CHECK_MODULES coreaudio COREAUDIO_REQUIRED) -- list(FIND CHECK_MODULES pulse PULSE_REQUIRED) -- list(FIND CHECK_MODULES jack JACK_REQUIRED) -- list(FIND CHECK_MODULES tinyalsa TINYALSA_REQUIRED) -- list(FIND CHECK_MODULES win32 WIN32_REQUIRED) -- list(FIND CHECK_MODULES win32_wasapi WIN32_WASAPI_REQUIRED) -- set(MODULE_NOT_FOUND_MESSAGE "module required but couldn't be found") --endif() -- --if(NOT CHECK_MODULES OR NOT ALSA_REQUIRED EQUAL -1) -- find_package(ALSA) -- if(TARGET ALSA::ALSA) -- list(APPEND OUTPUT_MODULES alsa) -- elseif(CHECK_MODULES AND NOT ALSA_REQUIRED EQUAL -1) -- message(FATAL_ERROR "alsa ${MODULE_NOT_FOUND_MESSAGE}") -+if(BUILD_LIBOUT123) -+ if(CHECK_MODULES) -+ list(FIND CHECK_MODULES alsa ALSA_REQUIRED) -+ list(FIND CHECK_MODULES coreaudio COREAUDIO_REQUIRED) -+ list(FIND CHECK_MODULES pulse PULSE_REQUIRED) -+ list(FIND CHECK_MODULES jack JACK_REQUIRED) -+ list(FIND CHECK_MODULES tinyalsa TINYALSA_REQUIRED) -+ list(FIND CHECK_MODULES win32 WIN32_REQUIRED) -+ list(FIND CHECK_MODULES win32_wasapi WIN32_WASAPI_REQUIRED) -+ set(MODULE_NOT_FOUND_MESSAGE "module required but couldn't be found") - endif() --endif() - --if(NOT CHECK_MODULES OR NOT COREAUDIO_REQUIRED EQUAL -1) -- if(APPLE) -- find_library(AUDIO_TOOLBOX AudioToolbox) -- list(APPEND OUTPUT_MODULES coreaudio) -- elseif(CHECK_MODULES AND NOT COREAUDIO_REQUIRED EQUAL -1) -- message(FATAL_ERROR "coreaudio ${MODULE_NOT_FOUND_MESSAGE}") -+ if(NOT CHECK_MODULES OR NOT ALSA_REQUIRED EQUAL -1) -+ find_package(ALSA) -+ if(TARGET ALSA::ALSA) -+ list(APPEND OUTPUT_MODULES alsa) -+ elseif(CHECK_MODULES AND NOT ALSA_REQUIRED EQUAL -1) -+ message(FATAL_ERROR "alsa ${MODULE_NOT_FOUND_MESSAGE}") -+ endif() - endif() --endif() - --find_package(PkgConfig) --if(PKG_CONFIG_FOUND) -- if(NOT CHECK_MODULES OR NOT PULSE_REQUIRED EQUAL -1) -- pkg_search_module(PULSE libpulse-simple) -- if(PULSE_FOUND) -- list(APPEND OUTPUT_MODULES pulse) -- elseif(CHECK_MODULES AND NOT PULSE_REQUIRED EQUAL -1) -- message(FATAL_ERROR "pulse ${MODULE_NOT_FOUND_MESSAGE}") -+ if(NOT CHECK_MODULES OR NOT COREAUDIO_REQUIRED EQUAL -1) -+ if(APPLE) -+ find_library(AUDIO_TOOLBOX AudioToolbox) -+ list(APPEND OUTPUT_MODULES coreaudio) -+ elseif(CHECK_MODULES AND NOT COREAUDIO_REQUIRED EQUAL -1) -+ message(FATAL_ERROR "coreaudio ${MODULE_NOT_FOUND_MESSAGE}") - endif() - endif() - -- if(NOT CHECK_MODULES OR NOT JACK_REQUIRED EQUAL -1) -- pkg_search_module(JACK jack) -- if(JACK_FOUND) -- list(APPEND OUTPUT_MODULES jack) -- elseif(CHECK_MODULES AND NOT JACK_REQUIRED EQUAL -1) -- message(FATAL_ERROR "jack ${MODULE_NOT_FOUND_MESSAGE}") -+ find_package(PkgConfig) -+ if(PKG_CONFIG_FOUND) -+ if(NOT CHECK_MODULES OR NOT PULSE_REQUIRED EQUAL -1) -+ pkg_search_module(PULSE libpulse-simple) -+ if(PULSE_FOUND) -+ list(APPEND OUTPUT_MODULES pulse) -+ elseif(CHECK_MODULES AND NOT PULSE_REQUIRED EQUAL -1) -+ message(FATAL_ERROR "pulse ${MODULE_NOT_FOUND_MESSAGE}") -+ endif() -+ endif() -+ -+ if(NOT CHECK_MODULES OR NOT JACK_REQUIRED EQUAL -1) -+ pkg_search_module(JACK jack) -+ if(JACK_FOUND) -+ list(APPEND OUTPUT_MODULES jack) -+ elseif(CHECK_MODULES AND NOT JACK_REQUIRED EQUAL -1) -+ message(FATAL_ERROR "jack ${MODULE_NOT_FOUND_MESSAGE}") -+ endif() - endif() -- endif() - -- if(NOT CHECK_MODULES OR NOT TINYALSA_REQUIRED EQUAL -1) -- pkg_search_module(TINYALSA tinyalsa) -- if(TINYALSA_FOUND) -- list(APPEND OUTPUT_MODULES tinyalsa) -- elseif(CHECK_MODULES AND NOT TINYALSA_REQUIRED EQUAL -1) -- message(FATAL_ERROR "tinyalsa ${MODULE_NOT_FOUND_MESSAGE}") -+ if(NOT CHECK_MODULES OR NOT TINYALSA_REQUIRED EQUAL -1) -+ pkg_search_module(TINYALSA tinyalsa) -+ if(TINYALSA_FOUND) -+ list(APPEND OUTPUT_MODULES tinyalsa) -+ elseif(CHECK_MODULES AND NOT TINYALSA_REQUIRED EQUAL -1) -+ message(FATAL_ERROR "tinyalsa ${MODULE_NOT_FOUND_MESSAGE}") -+ endif() - endif() - endif() --endif() - --if(NOT CHECK_MODULES OR NOT WIN32_REQUIRED EQUAL -1) -- if(HAVE_WINDOWS_H) -- set(WIN32_LIBRARIES winmm) -- list(APPEND OUTPUT_MODULES win32) -- elseif(CHECK_MODULES AND NOT WIN32_REQUIRED EQUAL -1) -- message(FATAL_ERROR "win32 ${MODULE_NOT_FOUND_MESSAGE}") -+ if(NOT CHECK_MODULES OR NOT WIN32_REQUIRED EQUAL -1) -+ if(HAVE_WINDOWS_H) -+ set(WIN32_LIBRARIES winmm) -+ list(APPEND OUTPUT_MODULES win32) -+ elseif(CHECK_MODULES AND NOT WIN32_REQUIRED EQUAL -1) -+ message(FATAL_ERROR "win32 ${MODULE_NOT_FOUND_MESSAGE}") -+ endif() - endif() --endif() - --if(NOT CHECK_MODULES OR NOT WIN32_WASAPI_REQUIRED EQUAL -1) -- set(WASAPI_INCLUDES "initguid.h" "audioclient.h" "mmdeviceapi.h" "avrt.h") -- check_include_files("${WASAPI_INCLUDES}" HAVE_WASAPI) -- if(HAVE_WASAPI) -- set(WIN32_WASAPI_LIBRARIES ole32 avrt) -- list(APPEND OUTPUT_MODULES win32_wasapi) -- elseif(CHECK_MODULES AND NOT WIN32_WASAPI_REQUIRED EQUAL -1) -- message(FATAL_ERROR "win32_wasapi ${MODULE_NOT_FOUND_MESSAGE}") -+ if(NOT CHECK_MODULES OR NOT WIN32_WASAPI_REQUIRED EQUAL -1) -+ set(WASAPI_INCLUDES "initguid.h" "audioclient.h" "mmdeviceapi.h" "avrt.h") -+ check_include_files("${WASAPI_INCLUDES}" HAVE_WASAPI) -+ if(HAVE_WASAPI) -+ set(WIN32_WASAPI_LIBRARIES ole32 avrt) -+ list(APPEND OUTPUT_MODULES win32_wasapi) -+ elseif(CHECK_MODULES AND NOT WIN32_WASAPI_REQUIRED EQUAL -1) -+ message(FATAL_ERROR "win32_wasapi ${MODULE_NOT_FOUND_MESSAGE}") -+ endif() - endif() --endif() - --if(CHECK_MODULES) -- list(REMOVE_AT CHECK_MODULES -- ${ALSA_REQUIRED} -- ${COREAUDIO_REQUIRED} -- ${PULSE_REQUIRED} -- ${JACK_REQUIRED} -- ${TINYALSA_REQUIRED} -- ${WIN32_REQUIRED} -- ${WIN32_WASAPI_REQUIRED}) -- list(LENGTH CHECK_MODULES CHECK_MODULES_LENGTH) -- if(NOT CHECK_MODULES_LENGTH EQUAL 0) -- message(FATAL_ERROR "Dunno how to find modules: ${CHECK_MODULES}") -+ if(CHECK_MODULES) -+ list(REMOVE_AT CHECK_MODULES -+ ${ALSA_REQUIRED} -+ ${COREAUDIO_REQUIRED} -+ ${PULSE_REQUIRED} -+ ${JACK_REQUIRED} -+ ${TINYALSA_REQUIRED} -+ ${WIN32_REQUIRED} -+ ${WIN32_WASAPI_REQUIRED}) -+ list(LENGTH CHECK_MODULES CHECK_MODULES_LENGTH) -+ if(NOT CHECK_MODULES_LENGTH EQUAL 0) -+ message(FATAL_ERROR "Dunno how to find modules: ${CHECK_MODULES}") -+ endif() - endif() --endif() - --if(NOT OUTPUT_MODULES) -- set(DEFAULT_OUTPUT_MODULE dummy) -- set(DEFAULT_OUTPUT_MODULES ${DEFAULT_OUTPUT_MODULE}) --else() -- list(GET OUTPUT_MODULES 0 _DEFAULT_OUTPUT_MODULE) -- set(DEFAULT_OUTPUT_MODULE ${_DEFAULT_OUTPUT_MODULE} CACHE STRING "Default output module") -- if(BUILD_SHARED_LIBS) -- string(REPLACE ";" "," DEFAULT_OUTPUT_MODULES "${OUTPUT_MODULES}") -- else() -+ if(NOT OUTPUT_MODULES) -+ set(DEFAULT_OUTPUT_MODULE dummy) - set(DEFAULT_OUTPUT_MODULES ${DEFAULT_OUTPUT_MODULE}) -+ else() -+ list(GET OUTPUT_MODULES 0 _DEFAULT_OUTPUT_MODULE) -+ set(DEFAULT_OUTPUT_MODULE ${_DEFAULT_OUTPUT_MODULE} CACHE STRING "Default output module") -+ if(BUILD_SHARED_LIBS) -+ string(REPLACE ";" "," DEFAULT_OUTPUT_MODULES "${OUTPUT_MODULES}") -+ else() -+ set(DEFAULT_OUTPUT_MODULES ${DEFAULT_OUTPUT_MODULE}) -+ endif() -+ set_property(CACHE DEFAULT_OUTPUT_MODULE PROPERTY STRINGS ${OUTPUT_MODULES}) - endif() -- set_property(CACHE DEFAULT_OUTPUT_MODULE PROPERTY STRINGS ${OUTPUT_MODULES}) - endif() - - option(ACCURATE_ROUNDING "use rounding instead of fast truncation for integer output, where possible" ON) -@@ -362,7 +364,9 @@ add_compile_options( - - add_subdirectory("compat") - add_subdirectory("libmpg123") --add_subdirectory("libout123") -+if(BUILD_LIBOUT123) -+ add_subdirectory("libout123") -+endif() - add_subdirectory("libsyn123") - - if(0) diff --git a/ports/mpg123/0004-fix-libsyn123-uwp-build.patch b/ports/mpg123/0004-fix-libsyn123-uwp-build.patch deleted file mode 100644 index 803296dedeb491..00000000000000 --- a/ports/mpg123/0004-fix-libsyn123-uwp-build.patch +++ /dev/null @@ -1,52 +0,0 @@ -diff --git a/src/libmpg123/sample.h b/src/libmpg123/sample.h -index 4d244fe..ed3ef86 100644 ---- a/src/libmpg123/sample.h -+++ b/src/libmpg123/sample.h -@@ -171,7 +171,7 @@ static inline int16_t ftoi16(float x) - ( (u >= 2147483648UL) \ - ? (int32_t)((uint32_t)u - (uint32_t)2147483648UL) \ - : ((u == 0) \ -- ? (int32_t)-2147483648UL \ -+ ? -(int32_t)2147483648UL \ - : -(int32_t)((uint32_t)2147483648UL - u) ) \ - ) - -diff --git a/src/libsyn123/resample.c b/src/libsyn123/resample.c -index b92f7f2..3552ffa 100644 ---- a/src/libsyn123/resample.c -+++ b/src/libsyn123/resample.c -@@ -2005,7 +2005,7 @@ syn123_resample_intotal_64(long inrate, long outrate, int64_t outs) - // First offset is -inrate. - // You may want to work it out for yourself. Or trust me;-) - int err; -- uint64_t vtot = muloffdiv64(outs, vinrate, -vinrate, voutrate, &err, NULL); -+ uint64_t vtot = muloffdiv64(outs, vinrate, -(int64_t)vinrate, voutrate, &err, NULL); - if(err) - return SYN123_OVERFLOW; - if(vtot == UINT64_MAX) -diff --git a/src/libsyn123/sampleconv.c b/src/libsyn123/sampleconv.c -index 6e8fb3f..7179957 100644 ---- a/src/libsyn123/sampleconv.c -+++ b/src/libsyn123/sampleconv.c -@@ -21,6 +21,8 @@ - #include "syn123_int.h" - #include "sample.h" - #include "debug.h" -+// Avoid conflict with pragmas in isnan() and friends. -+#undef warning - - /* Conversions between native byte order encodings. */ - -diff --git a/src/libsyn123/volume.c b/src/libsyn123/volume.c -index de018a2..a80851d 100644 ---- a/src/libsyn123/volume.c -+++ b/src/libsyn123/volume.c -@@ -12,6 +12,8 @@ - #define NO_SMAX - #include "syn123_int.h" - #include "debug.h" -+// Avoid conflict with pragmas in isnan() and friends. -+#undef warning - - static const double db_min = -SYN123_DB_LIMIT; - static const double db_max = SYN123_DB_LIMIT; 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/no-executables.patch b/ports/mpg123/no-executables.patch deleted file mode 100644 index 7ceb8b9979caff..00000000000000 --- a/ports/mpg123/no-executables.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/ports/cmake/src/CMakeLists.txt b/ports/cmake/src/CMakeLists.txt -index b843152..00f8012 100644 ---- a/ports/cmake/src/CMakeLists.txt -+++ b/ports/cmake/src/CMakeLists.txt -@@ -365,7 +365,7 @@ add_subdirectory("libmpg123") - add_subdirectory("libout123") - add_subdirectory("libsyn123") - --if(UNIX) -+if(0) - add_subdirectory("tests") - - add_executable(${PROJECT_NAME} diff --git a/ports/mpg123/portfile.cmake b/ports/mpg123/portfile.cmake index d89cda0de1ca87..26c2074ba2b584 100644 --- a/ports/mpg123/portfile.cmake +++ b/ports/mpg123/portfile.cmake @@ -1,39 +1,39 @@ -set(MPG123_VERSION 1.28.0) -set(MPG123_HASH 4e333ee4f3bbebcfff280cf286265e969a8da93b9043d03c0189e22cd40918b07bf12181bd06141d4479c78bc0d0ed472e0d3bb61b2fdb96fe9f7cd48f9a6b77) - -set(PATCHES "") -if(VCPKG_TARGET_IS_UWP) - set(PATCHES - 0002-fix-libmpg123-uwp-build.patch - 0003-fix-libout123-uwp-build.patch - 0004-fix-libsyn123-uwp-build.patch - ) -endif() - vcpkg_from_sourceforge( OUT_SOURCE_PATH SOURCE_PATH REPO mpg123/mpg123 - REF ${MPG123_VERSION} - FILENAME "mpg123-${MPG123_VERSION}.tar.bz2" - SHA512 ${MPG123_HASH} + REF "${VERSION}" + FILENAME "mpg123-${VERSION}.tar.bz2" + SHA512 71f7cf6035c489934400528d0eaf0c1104417867990dd0abcc99c682818ef1f3e99dbee9dcdd888d88ed172a8950d5df515b755a5c1c1b54fc56a28584ceef8c PATCHES - 0001-fix-checkcpuarch-path.patch - no-executables.patch - ${PATCHES} + have-fpu.diff ) -include(${CURRENT_INSTALLED_DIR}/share/yasm-tool-helper/yasm-tool-helper.cmake) -yasm_tool_helper(APPEND_TO_PATH) +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + yasm_tool_helper(APPEND_TO_PATH) +endif() + +vcpkg_list(SET options) +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_list(APPEND options "-DLIBMPG123_LIBS=-lshlwapi") +endif() -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH}/ports/cmake - OPTIONS -DUSE_MODULES=OFF +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/ports/cmake" + 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 ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) +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/share") 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/mpg123/vcpkg.json b/ports/mpg123/vcpkg.json index 3d0246a8c1efff..db61543e30bcee 100644 --- a/ports/mpg123/vcpkg.json +++ b/ports/mpg123/vcpkg.json @@ -1,10 +1,26 @@ { "name": "mpg123", - "version": "1.28.0", - "port-version": 1, + "version": "1.32.7", "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", + "supports": "!xbox", "dependencies": [ - "yasm-tool-helper" + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + { + "name": "yasm", + "host": true, + "features": [ + "tools" + ], + "platform": "windows & !mingw" + } ] } diff --git a/ports/mpi/portfile.cmake b/ports/mpi/portfile.cmake index 065116c276adcf..89bec5e34c61b1 100644 --- a/ports/mpi/portfile.cmake +++ b/ports/mpi/portfile.cmake @@ -1 +1,5 @@ set(VCPKG_POLICY_EMPTY_PACKAGE enabled) + +if (VCPKG_TARGET_IS_WINDOWS) + file(INSTALL "${CURRENT_INSTALLED_DIR}/share/msmpi/mpi-wrapper.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME vcpkg-cmake-wrapper.cmake) +endif() diff --git a/ports/mpi/vcpkg.json b/ports/mpi/vcpkg.json index 386b978bd9cbe2..57d6419ab94b0d 100644 --- a/ports/mpi/vcpkg.json +++ b/ports/mpi/vcpkg.json @@ -1,8 +1,9 @@ { "name": "mpi", - "version-string": "1", - "port-version": 2, + "version": "1", + "port-version": 4, "description": "Message Passing Interface (MPI) is a standardized and portable message-passing standard designed by a group of researchers from academia and industry to function on a wide variety of parallel computing architectures. The standard defines the syntax and semantics of a core of library routines useful to a wide range of users writing portable message-passing programs in C, C++, and Fortran. There are several well-tested and efficient implementations of MPI, many of which are open-source or in the public domain.", + "license": null, "supports": "!uwp", "dependencies": [ { diff --git a/ports/mpir/fix-static-include-files.patch b/ports/mpir/fix-static-include-files.patch new file mode 100644 index 00000000000000..5ae30734b65635 --- /dev/null +++ b/ports/mpir/fix-static-include-files.patch @@ -0,0 +1,69 @@ +diff --git a/build.vc/postbuild.bat b/build.vc/postbuild.bat +index de1ed08..e4ecceb 100644 +--- a/build.vc/postbuild.bat ++++ b/build.vc/postbuild.bat +@@ -37,12 +37,10 @@ set bin_dir="..\%extn%\%plat%\%conf%\" + set hdr_dir="..\%extn%\%plat%\%conf%\" + + rem output parametrers for the MPIR tests +-if /i "%filename%" EQU "mpirxx" goto skip + echo (set ldir=%loc%) > output_params.bat + echo (set libr=%extn%) >> output_params.bat + echo (set plat=%plat%) >> output_params.bat + echo (set conf=%conf%) >> output_params.bat +-:skip + + echo copying outputs from %tgt_dir% to %bin_dir% + if not exist %bin_dir% md %bin_dir% +diff --git a/build.vc15/lib_mpir_cxx/lib_mpir_cxx.vcxproj b/build.vc15/lib_mpir_cxx/lib_mpir_cxx.vcxproj +index 3a23f01..1f44b22 100644 +--- a/build.vc15/lib_mpir_cxx/lib_mpir_cxx.vcxproj ++++ b/build.vc15/lib_mpir_cxx/lib_mpir_cxx.vcxproj +@@ -70,6 +70,11 @@ + mpirxx + + ++ ++ cd ..\..\build.vc ++prebuild gc Win32 15 ++ ++ + + ..\..\ + NDEBUG;WIN32;_LIB;HAVE_CONFIG_H;%(PreprocessorDefinitions) +@@ -82,6 +87,11 @@ postbuild "$(TargetPath)" 15 + + + ++ ++ cd ..\..\build.vc ++prebuild gc Win32 15 ++ ++ + + ..\..\ + _DEBUG;WIN32;_LIB;HAVE_CONFIG_H;%(PreprocessorDefinitions) +@@ -94,6 +104,11 @@ postbuild "$(TargetPath)" 15 + + + ++ ++ cd ..\..\build.vc ++prebuild gc Win32 15 ++ ++ + + ..\..\ + NDEBUG;WIN32;_LIB;HAVE_CONFIG_H;_WIN64;%(PreprocessorDefinitions) +@@ -106,6 +121,11 @@ postbuild "$(TargetPath)" 15 + + + ++ ++ cd ..\..\build.vc ++prebuild gc Win32 15 ++ ++ + + ..\..\ + _DEBUG;WIN32;_LIB;HAVE_CONFIG_H;_WIN64;%(PreprocessorDefinitions) diff --git a/ports/mpir/portfile.cmake b/ports/mpir/portfile.cmake index 856e4e273d4b55..3ce9ca3b2f8c20 100644 --- a/ports/mpir/portfile.cmake +++ b/ports/mpir/portfile.cmake @@ -1,35 +1,24 @@ -vcpkg_fail_port_install(ON_ARCH "arm" ON_TARGET "uwp") - -if(EXISTS "${CURRENT_INSTALLED_DIR}/include/gmp.h" OR "${CURRENT_INSTALLED_DIR}/include/gmpxx.h") +if(EXISTS "${CURRENT_INSTALLED_DIR}/include/gmp.h" OR EXISTS "${CURRENT_INSTALLED_DIR}/include/gmpxx.h") message(FATAL_ERROR "Can't build ${PORT} if gmp is installed. Please remove gmp, and try to install ${PORT} again if you need it.") endif() -if(VCPKG_CRT_LINKAGE STREQUAL "static" AND VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - message(FATAL_ERROR "${PORT} currently can only be built using the dynamic CRT when building DLLs") -endif() - -set(MPIR_VERSION 3.0.0) - -if(VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_OSX) - vcpkg_download_distfile( - ARCHIVE - URLS "http://mpir.org/mpir-${MPIR_VERSION}.tar.bz2" - FILENAME mpir-${MPIR_VERSION}.tar.bz2 - SHA512 c735105db8b86db739fd915bf16064e6bc82d0565ad8858059e4e93f62c9d72d9a1c02a5ca9859b184346a8dc64fa714d4d61404cff1e405dc548cbd54d0a88e - ) - - vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} - REF ${MPIR_VERSION} - ) - +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO wbhart/mpir + REF cdd444aedfcbb190f00328526ef278428702d56e # 3.0.0 + SHA512 f46e45bdba27c9f89953ba23186b694486fd3010bd370ea2de71a4649a2816e716a6520c9baa96936f1884437ef03f92b21c0b1fb5b757beba5a05fed30b2bfc + HEAD_REF master + PATCHES + enable-runtimelibrary-toggle.patch + fix-static-include-files.patch +) + +if(NOT VCPKG_TARGET_IS_WINDOWS) vcpkg_find_acquire_program(YASM) + set(SHARED_STATIC --disable-static --enable-shared) if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - set(SHARED_STATIC --enable-static --disable-shared) - else() - set(SHARED_STATIC --disable-static --enable-shared) + set(SHARED_STATIC --enable-static --disable-shared --with-pic) endif() set(OPTIONS --disable-silent-rules --enable-gmpcompat --enable-cxx ${SHARED_STATIC}) @@ -41,113 +30,54 @@ if(VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_OSX) if(VCPKG_TARGET_IS_LINUX) set(AUTOCONFIG "AUTOCONFIG") endif() - + vcpkg_configure_make( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" ${AUTOCONFIG} - OPTIONS ${OPTIONS} + OPTIONS ${OPTIONS} ) - vcpkg_install_make() - - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) - endif() - - configure_file(${SOURCE_PATH}/COPYING ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) - -elseif(VCPKG_TARGET_IS_WINDOWS) - vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO wbhart/mpir - REF mpir-${MPIR_VERSION} - SHA512 7d37f60645c533a6638dde5d9c48f5535022fa0ea02bafd5b714649c70814e88c5e5e3b0bef4c5a749aaf8772531de89c331716ee00ba1c2f9521c2cc8f3c61b - HEAD_REF master - PATCHES enable-runtimelibrary-toggle.patch - ) - - if(VCPKG_PLATFORM_TOOLSET MATCHES "v141") +else() + set(MSVC_VERSION 14) + if(VCPKG_PLATFORM_TOOLSET MATCHES "v14(1|2|3)") set(MSVC_VERSION 15) - else() - set(MSVC_VERSION 14) endif() - if (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - set(DLL_OR_LIB dll) - else() + set(DLL_OR_LIB dll) + if (VCPKG_LIBRARY_LINKAGE STREQUAL "static") set(DLL_OR_LIB lib) endif() - if(VCPKG_CRT_LINKAGE STREQUAL "static") - set(RuntimeLibraryExt "") - else() - set(RuntimeLibraryExt "DLL") - endif() - - file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}) - file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}) - file(GLOB FILES ${SOURCE_PATH}/*) - file(COPY ${FILES} DESTINATION ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}) - - vcpkg_build_msbuild( - PROJECT_PATH ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/build.vc${MSVC_VERSION}/${DLL_OR_LIB}_mpir_gc/${DLL_OR_LIB}_mpir_gc.vcxproj - OPTIONS_DEBUG "/p:RuntimeLibrary=MultiThreadedDebug${RuntimeLibraryExt}" - OPTIONS_RELEASE "/p:RuntimeLibrary=MultiThreaded${RuntimeLibraryExt}" + # Note: Could probably be moved to use vcpkg_configure_make on windows + vcpkg_msbuild_install( + SOURCE_PATH "${SOURCE_PATH}" + PROJECT_SUBPATH "build.vc${MSVC_VERSION}/${DLL_OR_LIB}_mpir_gc/${DLL_OR_LIB}_mpir_gc.vcxproj" ) - + if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - vcpkg_build_msbuild( - PROJECT_PATH ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/build.vc${MSVC_VERSION}/${DLL_OR_LIB}_mpir_cxx/${DLL_OR_LIB}_mpir_cxx.vcxproj - OPTIONS_DEBUG "/p:RuntimeLibrary=MultiThreadedDebug${RuntimeLibraryExt}" - OPTIONS_RELEASE "/p:RuntimeLibrary=MultiThreaded${RuntimeLibraryExt}" + vcpkg_msbuild_install( + SOURCE_PATH "${SOURCE_PATH}" + PROJECT_SUBPATH "build.vc${MSVC_VERSION}/${DLL_OR_LIB}_mpir_cxx/${DLL_OR_LIB}_mpir_cxx.vcxproj" ) - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - file(GLOB REL_LIBS_CXX ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/*/*/Release/mpirxx.lib) - endif() - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(GLOB DBG_LIBS_CXX ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/*/*/Debug/mpirxx.lib) - endif() endif() - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - file(GLOB HEADERS - ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/*/*/Release/gmp.h - ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/*/*/Release/gmpxx.h - ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/*/*/Release/mpir.h - ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/*/*/Release/mpirxx.h - ) - file(INSTALL ${HEADERS} DESTINATION ${CURRENT_PACKAGES_DIR}/include) - - file(GLOB REL_DLLS ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/*/*/Release/mpir.dll) - file(GLOB REL_LIBS ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/*/*/Release/mpir.lib) - list(APPEND REL_LIBS ${REL_LIBS_CXX}) - - file(INSTALL ${REL_DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/bin) - file(INSTALL ${REL_LIBS} DESTINATION ${CURRENT_PACKAGES_DIR}/lib) - endif() - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(GLOB HEADERS - ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/*/*/Debug/gmp.h - ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/*/*/Debug/gmpxx.h - ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/*/*/Debug/mpir.h - ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/*/*/Debug/mpirxx.h - ) - file(INSTALL ${HEADERS} DESTINATION ${CURRENT_PACKAGES_DIR}/include) - - file(GLOB DBG_DLLS ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/*/*/Debug/mpir.dll) - file(GLOB DBG_LIBS ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/*/*/Debug/mpir.lib) - list(APPEND DBG_LIBS ${DBG_LIBS_CXX}) - - file(INSTALL ${DBG_DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) - file(INSTALL ${DBG_LIBS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) - - if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) - endif() - endif() - - vcpkg_copy_pdbs() + file(GLOB HEADERS + "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/*/*/Release/gmp.h" + "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/*/*/Release/gmpxx.h" + "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/*/*/Release/mpir.h" + "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/*/*/Release/mpirxx.h" + ) + file(INSTALL ${HEADERS} DESTINATION "${CURRENT_PACKAGES_DIR}/include") + + file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/COPYING.LIB" "${CURRENT_PACKAGES_DIR}/debug/lib/COPYING.LIB") +endif() - file(INSTALL ${SOURCE_PATH}/COPYING.lib DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +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" + ) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING" "${SOURCE_PATH}/COPYING.LIB") diff --git a/ports/mpir/vcpkg.json b/ports/mpir/vcpkg.json index 29754ccd9ace40..9df67f4e5c1179 100644 --- a/ports/mpir/vcpkg.json +++ b/ports/mpir/vcpkg.json @@ -1,8 +1,16 @@ { "name": "mpir", - "version-string": "3.0.0", - "port-version": 10, + "version-date": "2022-03-02", + "port-version": 3, "description": "Multiple Precision Integers and Rationals", "homepage": "https://github.com/wbhart/mpir", - "supports": "!(uwp | arm)" + "license": null, + "supports": "!(uwp | arm)", + "dependencies": [ + { + "name": "vcpkg-msbuild", + "host": true, + "platform": "windows" + } + ] } diff --git a/ports/mpmcqueue/portfile.cmake b/ports/mpmcqueue/portfile.cmake index f1fe1d3a0327f2..5ea35ba3f58ab4 100644 --- a/ports/mpmcqueue/portfile.cmake +++ b/ports/mpmcqueue/portfile.cmake @@ -3,15 +3,16 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO rigtorp/MPMCQueue - REF 5883e32b07e8a60c22d532d9120ea5c11348aea9 - SHA512 4adbbe5e014e0ef5c7030aaa9faa4e07e2c65753cd89c770da250811c13776576c4f1caf4144542318c41ebc7433b106e802c482a5d44572963a5ab59047257e + REF 28d05c021d68fc5280b593329d1982ed02f9d7b3 + SHA512 e3305ecac05d48814d75adcb85fa165eec3a439a17dd99f8b0d2c095e40b2f98bd4bcf167cf8268f84d09aa172ab66b30573d9d3ad4908c10dc5bec632529b8a HEAD_REF master ) -file(COPY - ${SOURCE_PATH}/include/rigtorp/MPMCQueue.h - DESTINATION ${CURRENT_PACKAGES_DIR}/include/rigtorp -) +vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}") +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/MPMCQueue) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") # Handle copyright -configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) +configure_file("${SOURCE_PATH}/LICENSE" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) diff --git a/ports/mpmcqueue/vcpkg.json b/ports/mpmcqueue/vcpkg.json index 4a6075538f15d6..f01f42881b1e60 100644 --- a/ports/mpmcqueue/vcpkg.json +++ b/ports/mpmcqueue/vcpkg.json @@ -1,7 +1,17 @@ { "name": "mpmcqueue", - "version-string": "2019-07-26", - "port-version": 1, + "version-date": "2021-12-01", "description": "A bounded multi-producer multi-consumer lock-free queue written in C++11", - "homepage": "https://github.com/rigtorp/MPMCQueue" + "homepage": "https://github.com/rigtorp/MPMCQueue", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/mqtt-cpp/portfile.cmake b/ports/mqtt-cpp/portfile.cmake index a41fc5c7cd34b7..32e9885ea67de1 100644 --- a/ports/mqtt-cpp/portfile.cmake +++ b/ports/mqtt-cpp/portfile.cmake @@ -1,23 +1,24 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO redboltz/mqtt_cpp - REF v12.0.0 - SHA512 60f2497633373a316724b7c8f87c090eb2bb26202bf48a55c32a13888bf3ec5e9bdc8854056735f625af5b016bcd9bca179d980077fb8752e16710992a0ea0c5 + REF v${VERSION} + SHA512 + 70da1f78a032db458b8744d1ed7c3eec97924ad78127ee5aa58cd4fb8e33351874f9d4b2f08aa94a202ee971d3f94d53167da307af3e82b9488aa89796f981e4 HEAD_REF master ) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DMQTT_BUILD_EXAMPLES=OFF - -DMQTT_BUILD_TESTS=OFF - -DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=ON + -DMQTT_BUILD_EXAMPLES=OFF + -DMQTT_BUILD_TESTS=OFF + -DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=ON ) vcpkg_cmake_install() -vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/mqtt_cpp_iface) +vcpkg_cmake_config_fixup(PACKAGE_NAME mqtt_cpp_iface CONFIG_PATH lib/cmake/mqtt_cpp_iface) -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") -file(INSTALL "${SOURCE_PATH}/LICENSE_1_0.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug" "${CURRENT_PACKAGES_DIR}/lib") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE_1_0.txt") diff --git a/ports/mqtt-cpp/vcpkg.json b/ports/mqtt-cpp/vcpkg.json index 2f20851fbf5a3d..83ef57dbcbfa16 100644 --- a/ports/mqtt-cpp/vcpkg.json +++ b/ports/mqtt-cpp/vcpkg.json @@ -1,13 +1,14 @@ { "name": "mqtt-cpp", - "version-semver": "12.0.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", "dependencies": [ "boost-any", "boost-asio", - "boost-log", "boost-multi-index", + "boost-program-options", "boost-type-erasure", { "name": "vcpkg-cmake", diff --git a/ports/ms-gdkx/portfile.cmake b/ports/ms-gdkx/portfile.cmake new file mode 100644 index 00000000000000..ed80fdc37076e3 --- /dev/null +++ b/ports/ms-gdkx/portfile.cmake @@ -0,0 +1,30 @@ +cmake_path(SET GRDKLatest "$ENV{GRDKLatest}") + +find_path(GRDK_H + NAMES grdk.h + PATHS "${GRDKLatest}/gameKit/Include" +) + +cmake_path(SET GXDKLatest "$ENV{GXDKLatest}") + +find_path(GXDK_H + NAMES gxdk.h + PATHS "${GXDKLatest}/gameKit/Include" +) + +if(NOT (GRDK_H AND GXDK_H)) + 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() + +SET(VCPKG_POLICY_EMPTY_PACKAGE enabled) \ No newline at end of file diff --git a/ports/ms-gdkx/vcpkg.json b/ports/ms-gdkx/vcpkg.json new file mode 100644 index 00000000000000..005151386322f5 --- /dev/null +++ b/ports/ms-gdkx/vcpkg.json @@ -0,0 +1,10 @@ +{ + "name": "ms-gdkx", + "version": "1.0.0", + "port-version": 1, + "description": "Stub port that ensures the Microsoft GDK with Xbox Extensions is installed.", + "homepage": "https://aka.ms/gdkx", + "documentation": "https://aka.ms/gamedevdocs", + "license": null, + "supports": "windows & x64 & !uwp" +} diff --git a/ports/ms-gltf/fix-apple-filesystem.patch b/ports/ms-gltf/fix-apple-filesystem.patch deleted file mode 100644 index d2d1a504b05bf5..00000000000000 --- a/ports/ms-gltf/fix-apple-filesystem.patch +++ /dev/null @@ -1,66 +0,0 @@ -diff --git a/GLTFSDK.Samples/CMakeLists.txt b/GLTFSDK.Samples/CMakeLists.txt -index a66ed93..d948ee2 100644 ---- a/GLTFSDK.Samples/CMakeLists.txt -+++ b/GLTFSDK.Samples/CMakeLists.txt -@@ -1,4 +1,6 @@ - cmake_minimum_required(VERSION 3.5) -- -+if(APPLE) -+ set(CMAKE_OSX_DEPLOYMENT_TARGET "10.15") -+endif() - add_subdirectory(Deserialize) - add_subdirectory(Serialize) -diff --git a/GLTFSDK.Samples/Deserialize/CMakeLists.txt b/GLTFSDK.Samples/Deserialize/CMakeLists.txt -index 791898c..6474aee 100644 ---- a/GLTFSDK.Samples/Deserialize/CMakeLists.txt -+++ b/GLTFSDK.Samples/Deserialize/CMakeLists.txt -@@ -17,6 +17,8 @@ if (MSVC) - - # Make sure that all PDB files on Windows are installed to the output folder. By default, only the debug build does this. - set_target_properties(Deserialize PROPERTIES COMPILE_PDB_NAME "Deserialize" COMPILE_PDB_OUTPUT_DIRECTORY "${RUNTIME_OUTPUT_DIRECTORY}") -+elseif(APPLE) -+ set_target_properties(Deserialize PROPERTIES CXX_STANDARD 17) - endif() - - if (CMAKE_CXX_COMPILER_ID MATCHES "Clang") -diff --git a/GLTFSDK.Samples/Deserialize/Source/main.cpp b/GLTFSDK.Samples/Deserialize/Source/main.cpp -index 80198fa..fb560e0 100644 ---- a/GLTFSDK.Samples/Deserialize/Source/main.cpp -+++ b/GLTFSDK.Samples/Deserialize/Source/main.cpp -@@ -8,6 +8,9 @@ - - // Replace this with (and use std::filesystem rather than - // std::experimental::filesystem) if your toolchain fully supports C++17 -+#if defined(__APPLE__) -+#define _LIBCPP_NO_EXPERIMENTAL_DEPRECATION_WARNING_FILESYSTEM -+#endif - #include - - #include -diff --git a/GLTFSDK.Samples/Serialize/CMakeLists.txt b/GLTFSDK.Samples/Serialize/CMakeLists.txt -index 5269da8..1129ea0 100644 ---- a/GLTFSDK.Samples/Serialize/CMakeLists.txt -+++ b/GLTFSDK.Samples/Serialize/CMakeLists.txt -@@ -17,6 +17,8 @@ if (MSVC) - - # Make sure that all PDB files on Windows are installed to the output folder. By default, only the debug build does this. - set_target_properties(Serialize PROPERTIES COMPILE_PDB_NAME "Serialize" COMPILE_PDB_OUTPUT_DIRECTORY "${RUNTIME_OUTPUT_DIRECTORY}") -+elseif(APPLE) -+ set_target_properties(Serialize PROPERTIES CXX_STANDARD 17) - endif() - - if (CMAKE_CXX_COMPILER_ID MATCHES "Clang") -diff --git a/GLTFSDK.Samples/Serialize/Source/main.cpp b/GLTFSDK.Samples/Serialize/Source/main.cpp -index ac87c10..f5c6e0b 100644 ---- a/GLTFSDK.Samples/Serialize/Source/main.cpp -+++ b/GLTFSDK.Samples/Serialize/Source/main.cpp -@@ -10,6 +10,9 @@ - - // Replace this with (and use std::filesystem rather than - // std::experimental::filesystem) if your toolchain fully supports C++17 -+#if defined(__APPLE__) -+#define _LIBCPP_NO_EXPERIMENTAL_DEPRECATION_WARNING_FILESYSTEM -+#endif - #include - - #include diff --git a/ports/ms-gltf/portfile.cmake b/ports/ms-gltf/portfile.cmake index 1382dc046c22a1..2caaff22e373a3 100644 --- a/ports/ms-gltf/portfile.cmake +++ b/ports/ms-gltf/portfile.cmake @@ -1,4 +1,3 @@ -vcpkg_fail_port_install(MESSAGE "ms-gltf currently only supports Windows and Mac platforms" ON_TARGET "linux" "ios") if(VCPKG_TARGET_IS_WINDOWS) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) endif() @@ -6,12 +5,11 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO microsoft/glTF-SDK - REF ac3e70392feb6aef18a07314669f6af2ebc72787 # r1.9.5.4 - SHA512 389b801ddc6f0b29269bcd1215fa9e63fe46a1f1a8778125c6439e34fe0925d5534b1cdbea30824a4a8aa008015124dc7cc4558daa9522fc6d85e00e8e41e4a9 + REF eaccf166e2718c6133db426545b6d008cb7ad79f # 28-06-2022 + SHA512 112e31d2f42d2fb22060a687f7d33f22e677d8d7eca006eb8c1edef6a61b8bad637df15492665656ea88a5a0b980851eb978a180b4a01d307d1bbc92f63500f1 HEAD_REF master PATCHES fix-install.patch - fix-apple-filesystem.patch ) # note: Test/Sample executables won't be installed @@ -24,14 +22,9 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS # note: Platform-native buildsystem will be more helpful to launch/debug the tests/samples. # note: The PDB file path is making Ninja fails to install. # For Windows, we rely on /MP. The other platforms should be able to build with PREFER_NINJA. -set(WINDOWS_USE_MSBUILD) -if(VCPKG_TARGET_IS_WINDOWS) - set(WINDOWS_USE_MSBUILD "WINDOWS_USE_MSBUILD") -endif() - vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - ${WINDOWS_USE_MSBUILD} + WINDOWS_USE_MSBUILD OPTIONS ${FEATURE_OPTIONS} ) @@ -43,4 +36,4 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") 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/ms-gltf/vcpkg.json b/ports/ms-gltf/vcpkg.json index 9b7983b2737d97..a720155b23082b 100644 --- a/ports/ms-gltf/vcpkg.json +++ b/ports/ms-gltf/vcpkg.json @@ -1,8 +1,10 @@ { "name": "ms-gltf", - "version-string": "r1.9.5.4", + "version-date": "2022-06-28", + "port-version": 2, "description": "glTF-SDK is a C++ Software Development Kit for glTF", "homepage": "https://github.com/microsoft/glTF-SDK", + "license": "MIT", "supports": "!linux", "dependencies": [ "rapidjson", @@ -16,7 +18,8 @@ ], "features": { "samples": { - "description": "Build with GLTF samples" + "description": "Build with GLTF samples", + "supports": "!osx & !ios & !android" }, "test": { "description": "Build test programs", diff --git a/ports/ms-gsl/portfile.cmake b/ports/ms-gsl/portfile.cmake index 73ce94674d00ed..2296e4e50fda5b 100644 --- a/ports/ms-gsl/portfile.cmake +++ b/ports/ms-gsl/portfile.cmake @@ -2,26 +2,24 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Microsoft/GSL - REF 0f6dbc9e2915ef5c16830f3fa3565738de2a9230 - SHA512 f72d7d9a18b8055401feb99d99f17c70c0c2015b1a2112ae13fedd27949ff7f9b30718b6afd0b5730ed5573390cb1cc987cd45b7e7fbb92f4134f11d1637ddb7 - HEAD_REF master + REF v${VERSION} + SHA512 1db14bebab5f2bc0752214f9bf1b84a056b7d83b4a9d296663c43103387baee60373447f62c4e9bc0b8df06a7ce0571a4e2b4a31441c866894eee3ae258fdfc8 + HEAD_REF main ) -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA OPTIONS -DGSL_TEST=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets( +vcpkg_cmake_config_fixup( + PACKAGE_NAME Microsoft.GSL CONFIG_PATH share/cmake/Microsoft.GSL - TARGET_PATH share/Microsoft.GSL ) 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 e8f6f9adc785fe..a6e4571c565799 100644 --- a/ports/ms-gsl/vcpkg.json +++ b/ports/ms-gsl/vcpkg.json @@ -1,7 +1,17 @@ { "name": "ms-gsl", - "version-string": "3.1.0", - "port-version": 1, + "version": "4.1.0", "description": "Microsoft implementation of the Guidelines Support Library", - "homepage": "https://github.com/Microsoft/GSL" + "homepage": "https://github.com/Microsoft/GSL", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } 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 16bb48a7e3d628..da238b65239527 100644 --- a/ports/msdfgen/portfile.cmake +++ b/ports/msdfgen/portfile.cmake @@ -1,29 +1,37 @@ -# No symbols are exported in msdfgen source -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - -if ("tools" IN_LIST FEATURES AND VCPKG_TARGET_IS_UWP) - message(FATAL_ERROR "Tools cannot be built on UWP.") -endif() - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Chlumsky/msdfgen - REF v1.9.1 - SHA512 7A721B38027548F66D1C3EB862C1F27EA0A431C325119504D072BA6D7ED87539BA4D6020C663354B7B82BA48725D77CC642DB05FB596749292A2A12BE21CE528 + REF "v${VERSION}" + SHA512 285bb81418de6c5ad0207e579c9cc3f3d81759008fd9c1c2b62b77e2b4258ca7a3a6ec69d6bed65e1d6408636c3c5473b9ee4f9d18fe5f63da23803ca949c903 HEAD_REF master ) vcpkg_check_features( OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES - tools MSDFGEN_BUILD_MSDFGEN_STANDALONE openmp MSDFGEN_USE_OPENMP + geometry-preprocessing MSDFGEN_USE_SKIA + tools MSDFGEN_BUILD_STANDALONE + INVERTED_FEATURES + extensions MSDFGEN_CORE_ONLY ) +if (VCPKG_CRT_LINKAGE STREQUAL dynamic) + set(MSDFGEN_DYNAMIC_RUNTIME ON) +else() + set(MSDFGEN_DYNAMIC_RUNTIME OFF) +endif() + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS + -DMSDFGEN_USE_VCPKG=ON + -DMSDFGEN_VCPKG_FEATURES_SET=ON + -DMSDFGEN_INSTALL=ON + -DMSDFGEN_DYNAMIC_RUNTIME="${MSDFGEN_DYNAMIC_RUNTIME}" ${FEATURE_OPTIONS} + MAYBE_UNUSED_VARIABLES + MSDFGEN_VCPKG_FEATURES_SET ) vcpkg_cmake_install() @@ -31,7 +39,7 @@ vcpkg_cmake_install() vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/msdfgen) # move exe to tools -if("tools" IN_LIST FEATURES AND VCPKG_LIBRARY_LINKAGE STREQUAL "static") +if("tools" IN_LIST FEATURES) vcpkg_copy_tools(TOOL_NAMES msdfgen AUTO_CLEAN) endif() @@ -39,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 ebc4372eec1a4a..38643f42337c83 100644 --- a/ports/msdfgen/vcpkg.json +++ b/ports/msdfgen/vcpkg.json @@ -1,10 +1,10 @@ { "name": "msdfgen", - "version": "1.9.1", + "version": "1.12", "description": "Multi-channel signed distance field generator", "homepage": "https://github.com/Chlumsky/msdfgen", + "license": "MIT", "dependencies": [ - "freetype", { "name": "vcpkg-cmake", "host": true @@ -14,12 +14,50 @@ "host": true } ], + "default-features": [ + "extensions", + "geometry-preprocessing" + ], "features": { + "extensions": { + "description": "Extended functionality that depends on external libraries - loading fonts and SVG files, generating PNG images.", + "dependencies": [ + "freetype", + "libpng", + "tinyxml2" + ] + }, + "geometry-preprocessing": { + "description": "Preprocessing of non-compliant vector geometry via the Skia library.", + "dependencies": [ + { + "name": "msdfgen", + "default-features": false, + "features": [ + "extensions" + ] + }, + { + "name": "skia", + "default-features": false + } + ] + }, "openmp": { "description": "Build with OpenMP support for multi-threaded code." }, "tools": { - "description": "Generates an executable inside the tools folder. Not supported on UWP." + "description": "Generates an executable inside the tools folder.", + "supports": "!uwp", + "dependencies": [ + { + "name": "msdfgen", + "default-features": false, + "features": [ + "extensions" + ] + } + ] } } } diff --git a/ports/msgpack-c/portfile.cmake b/ports/msgpack-c/portfile.cmake new file mode 100644 index 00000000000000..e7e1830bcc79fc --- /dev/null +++ b/ports/msgpack-c/portfile.cmake @@ -0,0 +1,28 @@ +if (EXISTS ${CURRENT_INSTALLED_DIR}/include/msgpack/pack.h) + message(FATAL_ERROR "Cannot install ${PORT} when rest-rpc is already installed, please remove rest-rpc using \"./vcpkg remove rest-rpc:${TARGET_TRIPLET}\"") +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO msgpack/msgpack-c + REF "c-${VERSION}" + SHA512 b211af122e894bc0c32fa02ebcc0130ac797d99b7c60688df26247bc020d51b7322b4858fd12a749d28812c5efb66b5dc687cdfe20f4bc68a21eb484d531230a + HEAD_REF c_master +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DMSGPACK_BUILD_EXAMPLES=OFF + -DMSGPACK_BUILD_TESTS=OFF +) + +vcpkg_cmake_install() +vcpkg_copy_pdbs() + +vcpkg_cmake_config_fixup(PACKAGE_NAME msgpack-c CONFIG_PATH lib/cmake/msgpack-c) +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/msgpack-c/vcpkg.json b/ports/msgpack-c/vcpkg.json new file mode 100644 index 00000000000000..79b8bbda25a306 --- /dev/null +++ b/ports/msgpack-c/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "msgpack-c", + "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", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/msgpack/portfile.cmake b/ports/msgpack/portfile.cmake index 13a6263046a40a..77fd6550591525 100644 --- a/ports/msgpack/portfile.cmake +++ b/ports/msgpack/portfile.cmake @@ -5,35 +5,30 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO msgpack/msgpack-c - REF cpp-3.3.0 - SHA512 33ed87b23d776cadcc230666e6435088e402c5813e7e4dce5ce79c8c3aceba5a36db8f395278042c6ac44c474b33018ff1635889d8b20bc41c5f6f1d1c963cae - HEAD_REF master + REF cpp-${VERSION} + SHA512 3b64605974b64384619c07a4895f8ceb56243046b5c941345594d70baf3ad7749573b83c5b20e83505204fc1905ddb0a7dde1c5109ef8a34b5c848d1bb073946 + HEAD_REF cpp_master ) -if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - set(MSGPACK_ENABLE_SHARED OFF) - set(MSGPACK_ENABLE_STATIC ON) -else() - set(MSGPACK_ENABLE_SHARED ON) - set(MSGPACK_ENABLE_STATIC OFF) -endif() +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + boost MSGPACK_USE_BOOST +) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DMSGPACK_ENABLE_SHARED=${MSGPACK_ENABLE_SHARED} - -DMSGPACK_ENABLE_STATIC=${MSGPACK_ENABLE_STATIC} -DMSGPACK_BUILD_EXAMPLES=OFF - -DMSGPACK_BUILD_TESTS=OFF) + -DMSGPACK_BUILD_TESTS=OFF + -DMSGPACK_BUILD_DOCS=OFF + ${FEATURE_OPTIONS} +) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/msgpack) - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +vcpkg_cmake_config_fixup(PACKAGE_NAME msgpack-cxx CONFIG_PATH lib/cmake/msgpack-cxx) -file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/msgpack) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/msgpack/COPYING ${CURRENT_PACKAGES_DIR}/share/msgpack/copyright) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") -vcpkg_fixup_pkgconfig() +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/msgpack/vcpkg.json b/ports/msgpack/vcpkg.json index a76f2c6fd72bd2..4796d21101cde4 100644 --- a/ports/msgpack/vcpkg.json +++ b/ports/msgpack/vcpkg.json @@ -1,7 +1,32 @@ { "name": "msgpack", - "version-string": "3.3.0", - "port-version": 2, + "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" + "homepage": "https://github.com/msgpack/msgpack-c", + "license": "BSL-1.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "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/msgpack11/portfile.cmake b/ports/msgpack11/portfile.cmake index d0783dece5c837..ae867be43cb241 100644 --- a/ports/msgpack11/portfile.cmake +++ b/ports/msgpack11/portfile.cmake @@ -11,19 +11,18 @@ vcpkg_from_github( disable-werror.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DMSGPACK11_BUILD_TESTS=OFF -DMSGPACK11_BUILD_EXAMPLES=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() 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_fixup_pkgconfig() + +vcpkg_fixup_pkgconfig() diff --git a/ports/msgpack11/vcpkg.json b/ports/msgpack11/vcpkg.json index f76e0a28a542a9..dd6d0abe1d35c5 100644 --- a/ports/msgpack11/vcpkg.json +++ b/ports/msgpack11/vcpkg.json @@ -1,10 +1,14 @@ { "name": "msgpack11", "version": "0.0.10", - "port-version": 3, + "port-version": 4, "description": "msgpack11 is a tiny MsgPack library for C++11, providing MsgPack parsing and serialization.This library is inspired by json11.The API of msgpack11 is designed to be similar with json11.", "homepage": "https://msgpack.org", "dependencies": [ - "gtest" + "gtest", + { + "name": "vcpkg-cmake", + "host": true + } ] } diff --git a/ports/msh3/dependencies_fix.patch b/ports/msh3/dependencies_fix.patch new file mode 100644 index 00000000000000..db8eb244b8b051 --- /dev/null +++ b/ports/msh3/dependencies_fix.patch @@ -0,0 +1,64 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 4bd7155..b7adecc 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -72,7 +72,7 @@ target_include_directories(msh3_headers INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}) + set(CMAKE_POLICY_DEFAULT_CMP0077 NEW) + option(LSQPACK_TESTS "Build tests" OFF) + option(LSQPACK_BIN "Build binaries" OFF) +-add_subdirectory(ls-qpack) ++find_package(ls-qpack CONFIG REQUIRED) + + # Configure and build msquic dependency. + if (WIN32) +@@ -83,8 +83,9 @@ endif() + set(QUIC_BUILD_SHARED ON CACHE BOOL "Builds MsQuic as a dynamic library") + set(QUIC_ENABLE_LOGGING ON CACHE BOOL "Enable MsQuic logging") + set(CMAKE_BUILD_TYPE "Release") +-add_subdirectory(msquic) +-target_compile_features(inc INTERFACE cxx_std_20) ++find_package(msquic CONFIG REQUIRED) ++ ++target_compile_features(msh3_headers INTERFACE cxx_std_20) + + # Build msh3 library (and cmd line tool). + add_subdirectory(lib) +diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt +index ab7fc24..c488486 100644 +--- a/lib/CMakeLists.txt ++++ b/lib/CMakeLists.txt +@@ -7,10 +7,7 @@ else() + set(SOURCES msh3.cpp) + endif() + add_library(msh3 SHARED ${SOURCES}) +-target_link_libraries(msh3 PRIVATE inc warnings msquic ls-qpack msh3_headers) +-if (NOT BUILD_SHARED_LIBS) +- target_link_libraries(msh3 PRIVATE base_link) +-endif() ++target_link_libraries(msh3 PRIVATE msquic ls-qpack::ls-qpack msh3_headers) + if (MSH3_SERVER_SUPPORT) + target_link_libraries(msh3 PRIVATE platform) # For selfsign APIs + endif() +@@ -26,7 +23,11 @@ elseif (CX_PLATFORM STREQUAL "darwin") + PROPERTIES LINK_FLAGS "-exported_symbols_list \"${CMAKE_CURRENT_SOURCE_DIR}/darwin/exports.txt\"") + endif() + +-install(TARGETS msh3 EXPORT msh3 DESTINATION lib) ++install(TARGETS msh3 EXPORT msh3 ++ RUNTIME DESTINATION bin ++ ARCHIVE DESTINATION lib ++ LIBRARY DESTINATION lib ++) + install(FILES ../msh3.h DESTINATION include) + configure_file(msh3-config.cmake.in ${CMAKE_BINARY_DIR}/msh3-config.cmake) + install(FILES ${CMAKE_BINARY_DIR}/msh3-config.cmake DESTINATION share/msh3) +diff --git a/lib/msh3-config.cmake.in b/lib/msh3-config.cmake.in +index b4a54bf..a6a0fd2 100644 +--- a/lib/msh3-config.cmake.in ++++ b/lib/msh3-config.cmake.in +@@ -1,4 +1,4 @@ + include(CMakeFindDependencyMacro) + @FILENAME_DEP_REPLACE@ + +-include(${SELF_DIR}/msh3.cmake) ++include(${CMAKE_INSTALL_PREFIX}/share/msh3/msh3.cmake) diff --git a/ports/msh3/portfile.cmake b/ports/msh3/portfile.cmake new file mode 100644 index 00000000000000..80a4323e28596a --- /dev/null +++ b/ports/msh3/portfile.cmake @@ -0,0 +1,27 @@ +set(VCPKG_POLICY_DLLS_IN_STATIC_LIBRARY enabled) +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO nibanks/msh3 + REF v${VERSION} + SHA512 e6ba4e8f4ce5cd3f586d61739148bf75dfddbe70f399b2e498e7d416c8d730a5f8c2c38f0eabe687049bb7525df44f5f511515ec578bc3832989f73961cdda72 + HEAD_REF main + PATCHES + dependencies_fix.patch +) + +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() +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..ee931458263acc --- /dev/null +++ b/ports/msh3/vcpkg.json @@ -0,0 +1,21 @@ +{ + "name": "msh3", + "version": "0.6.0", + "port-version": 1, + "description": "Minimal HTTP/3 library", + "homepage": "https://github.com/nibanks/msh3", + "license": "MIT", + "supports": "!uwp", + "dependencies": [ + "ls-qpack", + "msquic", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/msinttypes/vcpkg.json b/ports/msinttypes/vcpkg.json index 46bc22f188a622..b0cf6b300e7dc2 100644 --- a/ports/msinttypes/vcpkg.json +++ b/ports/msinttypes/vcpkg.json @@ -1,7 +1,7 @@ { "name": "msinttypes", - "version-string": "2018-02-25", - "port-version": 1, + "version-date": "2018-02-25", + "port-version": 2, "description": "msinttypes is a package to provide missing ISO C9x compliant headers for Microsoft Visual Studio", "homepage": "https://github.com/chemeris/msinttypes" } diff --git a/ports/msix/portfile.cmake b/ports/msix/portfile.cmake index 2dbd06fe82f5eb..152e9d3c4a3d9e 100644 --- a/ports/msix/portfile.cmake +++ b/ports/msix/portfile.cmake @@ -11,9 +11,9 @@ vcpkg_from_github( fix-dependency-catch2.patch ) -file(REMOVE_RECURSE ${SOURCE_PATH}/lib) -file(MAKE_DIRECTORY ${SOURCE_PATH}/lib) -configure_file(${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt ${SOURCE_PATH}/lib/CMakeLists.txt) +file(REMOVE_RECURSE "${SOURCE_PATH}/lib") +file(MAKE_DIRECTORY "${SOURCE_PATH}/lib") +configure_file("${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" "${SOURCE_PATH}/lib/CMakeLists.txt") if(VCPKG_TARGET_IS_WINDOWS) set(PLATFORM WIN32) @@ -28,9 +28,8 @@ else() message(FATAL_ERROR "Unknown system: ${VCPKG_CMAKE_SYSTEM_NAME}") endif() -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" NO_CHARSET_FLAG DISABLE_PARALLEL_CONFIGURE OPTIONS @@ -42,10 +41,10 @@ vcpkg_configure_cmake( -DCRYPTO_LIB=${CRYPTO_LIB} ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/msix/vcpkg.json b/ports/msix/vcpkg.json index b3e01e092b865d..c843d255b7b3cc 100644 --- a/ports/msix/vcpkg.json +++ b/ports/msix/vcpkg.json @@ -1,15 +1,21 @@ { "name": "msix", "version": "1.7", - "port-version": 3, + "port-version": 5, "description": "The MSIX Packaging SDK project is an effort to enable developers on a variety of platforms to pack and unpack packages for the purposes of distribution from either the Microsoft Store, or their own content distribution networks.The MSIX Packaging APIs that a client app would use to interact with .msix/.appx packages are a subset of those documented here. See sample/ExtractContentsSample/ExtractContentsSample.cpp for additional details.", "homepage": "https://github.com/microsoft/msix-packaging", + "license": "MIT", + "supports": "!static", "dependencies": [ "catch2", { "name": "openssl", "platform": "!uwp & !windows" }, + { + "name": "vcpkg-cmake", + "host": true + }, "xerces-c", "zlib" ] diff --git a/ports/msmpi/mpi-wrapper.cmake b/ports/msmpi/mpi-wrapper.cmake new file mode 100644 index 00000000000000..03fc46c4f5f546 --- /dev/null +++ b/ports/msmpi/mpi-wrapper.cmake @@ -0,0 +1,9 @@ +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) + +# Suitable for FindMPI.cmake line 937 +set(ENV{MSMPI_INC} "${_IMPORT_PREFIX}/include") +unset(_IMPORT_PREFIX) + +_find_package(${ARGS}) diff --git a/ports/msmpi/portfile.cmake b/ports/msmpi/portfile.cmake index cf5b69afe9db8f..75dd3905251259 100644 --- a/ports/msmpi/portfile.cmake +++ b/ports/msmpi/portfile.cmake @@ -1,12 +1,10 @@ -vcpkg_fail_port_install(ON_TARGET "Linux" "OSX" "UWP") - set(MSMPI_VERSION "10.1.12498") -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/msmpi-${MSMPI_VERSION}) +set(SOURCE_PATH "${CURRENT_BUILDTREES_DIR}/src/msmpi-${MSMPI_VERSION}") vcpkg_download_distfile(SDK_ARCHIVE URLS "https://download.microsoft.com/download/a/5/2/a5207ca5-1203-491a-8fb8-906fd68ae623/msmpisdk.msi" FILENAME "msmpisdk-${MSMPI_VERSION}-b0087dfd.msi" - SHA512 b0087dfd21423bf87b94b17d7cb03576838585371bbf8b03cca95c3ad73670108c7bc6517b0de852ef595072cc4143be2011636e7242bcb080394d94294848a7 + SHA512 b0087dfd21423bf87b94b17d7cb03576838585371bbf8b03cca95c3ad73670108c7bc6517b0de852ef595072cc4143be2011636e7242bcb080394d94294848a7 ) @@ -29,10 +27,10 @@ if(EXISTS "${SYSTEM_MPIEXEC_FILEPATH}") set(MPIEXEC_VERSION_LOGNAME "mpiexec-version") vcpkg_execute_required_process( COMMAND ${SYSTEM_MPIEXEC_FILEPATH} - WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR} + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}" LOGNAME ${MPIEXEC_VERSION_LOGNAME} ) - file(READ ${CURRENT_BUILDTREES_DIR}/${MPIEXEC_VERSION_LOGNAME}-out.log MPIEXEC_OUTPUT) + file(READ "${CURRENT_BUILDTREES_DIR}/${MPIEXEC_VERSION_LOGNAME}-out.log" MPIEXEC_OUTPUT) if(MPIEXEC_OUTPUT MATCHES "\\[Version ([0-9]+\\.[0-9]+\\.[0-9]+)\\.[0-9]+\\]") if(NOT CMAKE_MATCH_1 STREQUAL MSMPI_VERSION) @@ -71,13 +69,13 @@ file(TO_NATIVE_PATH "${CURRENT_BUILDTREES_DIR}/msiexec-${TARGET_TRIPLET}.log" MS set(PARAM_MSI "/a \"${SDK_ARCHIVE}\"") set(PARAM_LOG "/log \"${MSIEXEC_LOG_PATH}\"") set(PARAM_TARGET_DIR "TARGETDIR=\"${SDK_SOURCE_DIR}\"") -set(SCRIPT_FILE ${CURRENT_BUILDTREES_DIR}/msiextract-msmpi.bat) +set(SCRIPT_FILE "${CURRENT_BUILDTREES_DIR}/msiextract-msmpi.bat") # Write the command out to a script file and run that to avoid weird escaping behavior when spaces are present file(WRITE ${SCRIPT_FILE} "msiexec ${PARAM_MSI} /qn ${PARAM_LOG} ${PARAM_TARGET_DIR}") vcpkg_execute_required_process( COMMAND ${SCRIPT_FILE} - WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR} + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}" LOGNAME extract-sdk ) @@ -94,34 +92,37 @@ file(INSTALL "${SOURCE_INCLUDE_PATH}/pmidbg.h" "${SOURCE_INCLUDE_PATH}/${TRIPLET_SYSTEM_ARCH}/mpifptr.h" DESTINATION - ${CURRENT_PACKAGES_DIR}/include + "${CURRENT_PACKAGES_DIR}/include" ) # NOTE: since the binary distribution does not include any debug libraries we always install the release libraries SET(VCPKG_POLICY_ONLY_RELEASE_CRT enabled) file(GLOB STATIC_LIBS - ${SOURCE_LIB_PATH}/${TRIPLET_SYSTEM_ARCH}/msmpifec.lib - ${SOURCE_LIB_PATH}/${TRIPLET_SYSTEM_ARCH}/msmpifmc.lib - ${SOURCE_LIB_PATH}/${TRIPLET_SYSTEM_ARCH}/msmpifes.lib - ${SOURCE_LIB_PATH}/${TRIPLET_SYSTEM_ARCH}/msmpifms.lib + "${SOURCE_LIB_PATH}/${TRIPLET_SYSTEM_ARCH}/msmpifec.lib" + "${SOURCE_LIB_PATH}/${TRIPLET_SYSTEM_ARCH}/msmpifmc.lib" + "${SOURCE_LIB_PATH}/${TRIPLET_SYSTEM_ARCH}/msmpifes.lib" + "${SOURCE_LIB_PATH}/${TRIPLET_SYSTEM_ARCH}/msmpifms.lib" ) file(INSTALL "${SOURCE_LIB_PATH}/${TRIPLET_SYSTEM_ARCH}/msmpi.lib" - DESTINATION ${CURRENT_PACKAGES_DIR}/lib + DESTINATION "${CURRENT_PACKAGES_DIR}/lib" ) file(INSTALL "${SOURCE_LIB_PATH}/${TRIPLET_SYSTEM_ARCH}/msmpi.lib" - DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib + DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib" ) if(VCPKG_CRT_LINKAGE STREQUAL "static") - file(INSTALL ${STATIC_LIBS} DESTINATION ${CURRENT_PACKAGES_DIR}/lib) - file(INSTALL ${STATIC_LIBS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) + file(INSTALL ${STATIC_LIBS} DESTINATION "${CURRENT_PACKAGES_DIR}/lib") + file(INSTALL ${STATIC_LIBS} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") endif() + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/mpi-wrapper.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") + # Handle copyright -file(COPY "${SOURCE_PATH}/sdk/PFiles/Microsoft SDKs/MPI/License/MicrosoftMPI-SDK-EULA.rtf" DESTINATION ${CURRENT_PACKAGES_DIR}/share/msmpi) -file(COPY "${SOURCE_PATH}/sdk/PFiles/Microsoft SDKs/MPI/License/MPI-SDK-TPN.txt" DESTINATION ${CURRENT_PACKAGES_DIR}/share/msmpi) -file(WRITE ${CURRENT_PACKAGES_DIR}/share/msmpi/copyright "See the accompanying MicrosoftMPI-SDK-EULA.rtf and MPI-SDK-TPN.txt") +file(COPY "${SOURCE_PATH}/sdk/PFiles/Microsoft SDKs/MPI/License/MicrosoftMPI-SDK-EULA.rtf" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +file(COPY "${SOURCE_PATH}/sdk/PFiles/Microsoft SDKs/MPI/License/MPI-SDK-TPN.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +file(WRITE "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" "See the accompanying MicrosoftMPI-SDK-EULA.rtf and MPI-SDK-TPN.txt") diff --git a/ports/msmpi/vcpkg.json b/ports/msmpi/vcpkg.json index fa32759b43af2e..972571482692d1 100644 --- a/ports/msmpi/vcpkg.json +++ b/ports/msmpi/vcpkg.json @@ -1,7 +1,7 @@ { "name": "msmpi", "version": "10.1.12498", - "port-version": 2, + "port-version": 4, "description": "Microsoft MPI (MS-MPI) is a Microsoft implementation of the Message Passing Interface standard for developing and running parallel applications on the Windows platform.", "homepage": "https://docs.microsoft.com/en-us/message-passing-interface/microsoft-mpi", "license": "MIT", diff --git a/ports/msquic/all_headers.patch b/ports/msquic/all_headers.patch new file mode 100644 index 00000000000000..fb231040899ae6 --- /dev/null +++ b/ports/msquic/all_headers.patch @@ -0,0 +1,13 @@ +diff --git a/src/bin/CMakeLists.txt b/src/bin/CMakeLists.txt +index d0592a320..07df9daf7 100644 +--- a/src/bin/CMakeLists.txt ++++ b/src/bin/CMakeLists.txt +@@ -269,6 +269,8 @@ set(PUBLIC_HEADERS + ../inc/msquic_posix.h + ../inc/quic_sal_stub.h) + ++file(GLOB PUBLIC_HEADERS "../inc/*.h" "../inc/*.hpp") ++ + install(TARGETS msquic EXPORT msquic + RUNTIME DESTINATION bin + ARCHIVE DESTINATION lib 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..5b462577402073 --- /dev/null +++ b/ports/msquic/fix-install.patch @@ -0,0 +1,38 @@ +diff --git a/src/bin/CMakeLists.txt b/src/bin/CMakeLists.txt +index 2376823..d0592a3 100644 +--- a/src/bin/CMakeLists.txt ++++ b/src/bin/CMakeLists.txt +@@ -253,14 +253,14 @@ endif() + if(BUILD_SHARED_LIBS) + target_include_directories(msquic PUBLIC + $ +- $) ++ $) + else() + target_include_directories(msquic_static INTERFACE + $ +- $) ++ $) + target_include_directories(msquic INTERFACE + $ +- $) ++ $) + endif() + + set(PUBLIC_HEADERS +@@ -269,11 +269,10 @@ set(PUBLIC_HEADERS + ../inc/msquic_posix.h + ../inc/quic_sal_stub.h) + +-if(BUILD_SHARED_LIBS) +- install(TARGETS msquic EXPORT msquic DESTINATION lib) +-else() +- install(FILES ${QUIC_STATIC_LIBRARY} DESTINATION lib) +-endif() ++install(TARGETS msquic EXPORT msquic ++ RUNTIME DESTINATION bin ++ ARCHIVE DESTINATION lib ++ LIBRARY DESTINATION lib) + install(FILES ${PUBLIC_HEADERS} DESTINATION include) + + configure_file(msquic-config.cmake.in ${CMAKE_BINARY_DIR}/msquic-config.cmake) 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..c356c2f537ffa3 --- /dev/null +++ b/ports/msquic/portfile.cmake @@ -0,0 +1,79 @@ +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH QUIC_SOURCE_PATH + REPO microsoft/msquic + REF "v${VERSION}" + SHA512 51afee7e28a7d6ae1b5491edd635e0c88a92a00bacedeaac632a0f19762e9940c9b819a9d33072d3553c004acd4ec0cdf645301f712b408498053de065b2b1cf + 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 + all_headers.patch +) + +# This avoids a link error on x86-windows: +# LINK : fatal error LNK1268: inconsistent option 'NODEFAULTLIB:libucrt.lib' specified with /USEPROFILE but not with /GENPROFILE +file(REMOVE "${QUIC_SOURCE_PATH}/src/bin/winuser/pgo_x86/msquic.pgd") + +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 +) + +file(REMOVE_RECURSE "${QUIC_SOURCE_PATH}/submodules/openssl3") +file(RENAME "${OPENSSL_SOURCE_PATH}" "${QUIC_SOURCE_PATH}/submodules/openssl3") + +vcpkg_from_github( + OUT_SOURCE_PATH XDP_WINDOWS + REPO microsoft/xdp-for-windows + REF v1.0.2 + SHA512 1b26487fa79c8796d4b0d5e09f4fc9acb003d8e079189ec57a36ff03c9c2620829106fdbc4780e298872826f3a97f034d40e04d00a77ded97122874d13bfb145 + HEAD_REF main +) + +file(REMOVE_RECURSE "${QUIC_SOURCE_PATH}/submodules/xdp-for-windows") +file(RENAME "${XDP_WINDOWS}" "${QUIC_SOURCE_PATH}/submodules/xdp-for-windows") + +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() + +string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" STATIC_CRT) + +vcpkg_cmake_configure( + SOURCE_PATH "${QUIC_SOURCE_PATH}" + OPTIONS + -DQUIC_SOURCE_LINK=OFF + -DQUIC_TLS=openssl3 + -DQUIC_USE_SYSTEM_LIBCRYPTO=OFF + -DQUIC_BUILD_PERF=OFF + -DQUIC_BUILD_TEST=OFF + "-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() +vcpkg_install_copyright(FILE_LIST "${QUIC_SOURCE_PATH}/LICENSE") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/debug/include" +) diff --git a/ports/msquic/vcpkg.json b/ports/msquic/vcpkg.json new file mode 100644 index 00000000000000..999620c8a1806f --- /dev/null +++ b/ports/msquic/vcpkg.json @@ -0,0 +1,19 @@ +{ + "name": "msquic", + "version": "2.4.5", + "port-version": 1, + "description": "Cross-platform, C implementation of the IETF QUIC protocol", + "homepage": "https://github.com/microsoft/msquic", + "license": "MIT", + "supports": "!((static & staticcrt) | uwp)", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/mstch/portfile.cmake b/ports/mstch/portfile.cmake index e742273affbc43..9497861ef022c9 100644 --- a/ports/mstch/portfile.cmake +++ b/ports/mstch/portfile.cmake @@ -9,17 +9,16 @@ vcpkg_from_github( PATCHES do-not-force-release.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/mstch) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/mstch) -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") vcpkg_copy_pdbs() -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/mstch/vcpkg.json b/ports/mstch/vcpkg.json index 489584814bb9bc..405d70ec396b94 100644 --- a/ports/mstch/vcpkg.json +++ b/ports/mstch/vcpkg.json @@ -1,10 +1,18 @@ { "name": "mstch", - "version-string": "1.0.2", - "port-version": 3, + "version": "1.0.2", + "port-version": 5, "description": "Mstch is a complete implementation of {{mustache}} templates using modern C++", "homepage": "https://github.com/no1msd/mstch", "dependencies": [ - "boost-variant" + "boost-variant", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } 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/mujoco/fix_dependencies.patch b/ports/mujoco/fix_dependencies.patch new file mode 100644 index 00000000000000..418107114dabaf --- /dev/null +++ b/ports/mujoco/fix_dependencies.patch @@ -0,0 +1,172 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e34b07e..56ed5e8 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -87,7 +87,7 @@ add_subdirectory(src/xml) + add_subdirectory(src/render) + add_subdirectory(src/ui) + +-target_compile_definitions(mujoco PRIVATE _GNU_SOURCE CCD_STATIC_DEFINE MUJOCO_DLL_EXPORTS) ++target_compile_definitions(mujoco PRIVATE _GNU_SOURCE MUJOCO_DLL_EXPORTS) + if(MUJOCO_ENABLE_AVX_INTRINSICS) + target_compile_definitions(mujoco PUBLIC mjUSEPLATFORMSIMD) + endif() +@@ -110,9 +110,9 @@ target_link_libraries( + mujoco + PRIVATE ccd + lodepng +- qhullstatic_r +- tinyobjloader +- tinyxml2 ++ Qhull::qhull_r ++ tinyobjloader::tinyobjloader ++ tinyxml2::tinyxml2 + ) + + set_target_properties( +diff --git a/cmake/MujocoDependencies.cmake b/cmake/MujocoDependencies.cmake +index 9c12ef7..af09f8a 100644 +--- a/cmake/MujocoDependencies.cmake ++++ b/cmake/MujocoDependencies.cmake +@@ -79,7 +79,7 @@ set(BUILD_SHARED_LIBS + CACHE INTERNAL "Build SHARED libraries" + ) + +-if(NOT TARGET lodepng) ++if(0) + FetchContent_Declare( + lodepng + GIT_REPOSITORY https://github.com/lvandeve/lodepng.git +@@ -99,35 +99,57 @@ if(NOT TARGET lodepng) + endif() + endif() + ++findorfetch( ++ USE_SYSTEM_PACKAGE ++ ON ++ PACKAGE_NAME ++ lodepng ++ LIBRARY_NAME ++ lodepng ++ GIT_REPO ++ https://github.com/lvandeve/lodepng.git ++ GIT_TAG ++ ${MUJOCO_DEP_VERSION_lodepng} ++ TARGETS ++ lodepng ++ EXCLUDE_FROM_ALL ++) ++ + set(QHULL_ENABLE_TESTING OFF) + + findorfetch( + USE_SYSTEM_PACKAGE +- OFF ++ ON + PACKAGE_NAME +- qhull ++ Qhull + LIBRARY_NAME +- qhull ++ Qhull + GIT_REPO + https://github.com/qhull/qhull.git + GIT_TAG + ${MUJOCO_DEP_VERSION_qhull} + TARGETS +- qhull ++ Qhull + EXCLUDE_FROM_ALL + ) + # MuJoCo includes a file from libqhull_r which is not exported by the qhull include directories. + # Add it to the target. ++if(0) + target_include_directories( + qhullstatic_r INTERFACE $ + ) + target_compile_options(qhullstatic_r PRIVATE ${MUJOCO_MACOS_COMPILE_OPTIONS}) + target_link_options(qhullstatic_r PRIVATE ${MUJOCO_MACOS_LINK_OPTIONS}) ++endif() ++ ++include_directories( ++ ${Qhull_DIR}/../../include/libqhull_r ++) + + set(tinyxml2_BUILD_TESTING OFF) + findorfetch( + USE_SYSTEM_PACKAGE +- OFF ++ ON + PACKAGE_NAME + tinyxml2 + LIBRARY_NAME +@@ -140,12 +162,14 @@ findorfetch( + tinyxml2 + EXCLUDE_FROM_ALL + ) ++if(0) + target_compile_options(tinyxml2 PRIVATE ${MUJOCO_MACOS_COMPILE_OPTIONS}) + target_link_options(tinyxml2 PRIVATE ${MUJOCO_MACOS_LINK_OPTIONS}) ++endif() + + findorfetch( + USE_SYSTEM_PACKAGE +- OFF ++ ON + PACKAGE_NAME + tinyobjloader + LIBRARY_NAME +@@ -163,7 +187,7 @@ set(ENABLE_DOUBLE_PRECISION ON) + set(CCD_HIDE_ALL_SYMBOLS ON) + findorfetch( + USE_SYSTEM_PACKAGE +- OFF ++ ON + PACKAGE_NAME + ccd + LIBRARY_NAME +@@ -176,11 +200,14 @@ findorfetch( + ccd + EXCLUDE_FROM_ALL + ) ++if(0) + target_compile_options(ccd PRIVATE ${MUJOCO_MACOS_COMPILE_OPTIONS}) + target_link_options(ccd PRIVATE ${MUJOCO_MACOS_LINK_OPTIONS}) ++endif() + + # libCCD has an unconditional `#define _CRT_SECURE_NO_WARNINGS` on Windows. + # TODO(stunya): Remove this after https://github.com/danfis/libccd/pull/77 is merged. ++if(0) + if(WIN32) + if(MSVC) + # C4005 is the MSVC equivalent of -Wmacro-redefined. +@@ -189,6 +216,7 @@ if(WIN32) + target_compile_options(ccd PRIVATE -Wno-macro-redefined) + endif() + endif() ++endif() + + if(MUJOCO_BUILD_TESTS) + set(ABSL_PROPAGATE_CXX_STD ON) +diff --git a/simulate/cmake/SimulateDependencies.cmake b/simulate/cmake/SimulateDependencies.cmake +index fa539c2..8b3b239 100644 +--- a/simulate/cmake/SimulateDependencies.cmake ++++ b/simulate/cmake/SimulateDependencies.cmake +@@ -86,7 +86,7 @@ findorfetch( + GIT_TAG + ${MUJOCO_DEP_VERSION_glfw3} + TARGETS +- glfw ++ glfw3 + EXCLUDE_FROM_ALL + ) + +@@ -98,7 +98,7 @@ if(MUJOCO_EXTRAS_STATIC_GLFW) + unset(BUILD_SHARED_LIBS_OLD) + endif() + +-if(NOT SIMULATE_STANDALONE) ++if(0) + target_compile_options(glfw PRIVATE ${MUJOCO_MACOS_COMPILE_OPTIONS}) + target_link_options(glfw PRIVATE ${MUJOCO_MACOS_LINK_OPTIONS}) + endif() diff --git a/ports/mujoco/portfile.cmake b/ports/mujoco/portfile.cmake new file mode 100644 index 00000000000000..b872c05589ba0d --- /dev/null +++ b/ports/mujoco/portfile.cmake @@ -0,0 +1,32 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO deepmind/mujoco + REF ${VERSION} + SHA512 518b9ae09ea7cd4d2095df1be985a30957c6d57846933e111c326e45b61ac002bea014cd0d7902653c85e61ef0ba156b3324eff0edb5613467fe8e07e92dd6da + PATCHES + fix_dependencies.patch +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DMUJOCO_BUILD_EXAMPLES=OFF + -DMUJOCO_BUILD_TESTS=OFF + -DMUJOCO_TEST_PYTHON_UTIL=OFF + -DSIMULATE_BUILD_EXECUTABLE=OFF + -DMUJOCO_SIMULATE_USE_SYSTEM_GLFW=ON + -DMUJOCO_SIMULATE_USE_SYSTEM_MUJOCO=ON +) + +vcpkg_cmake_install(ADD_BIN_TO_PATH) +vcpkg_cmake_config_fixup( + CONFIG_PATH lib/cmake/${PORT} +) + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" +) + +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}") diff --git a/ports/mujoco/usage b/ports/mujoco/usage new file mode 100644 index 00000000000000..9aafaa60471809 --- /dev/null +++ b/ports/mujoco/usage @@ -0,0 +1,4 @@ +mujoco provides CMake targets: + + find_package(mujoco CONFIG REQUIRED) + target_link_libraries(main PRIVATE mujoco::mujoco) diff --git a/ports/mujoco/vcpkg.json b/ports/mujoco/vcpkg.json new file mode 100644 index 00000000000000..ab0a312e22cd2f --- /dev/null +++ b/ports/mujoco/vcpkg.json @@ -0,0 +1,30 @@ +{ + "name": "mujoco", + "version": "2.3.2", + "port-version": 1, + "description": "Multi-Joint dynamics with Contact.", + "homepage": "https://mujoco.org", + "license": "Apache-2.0", + "supports": "!(windows & static)", + "dependencies": [ + { + "name": "ccd", + "features": [ + "double-precision" + ] + }, + "glfw3", + "lodepng", + "qhull", + "tinyobjloader", + "tinyxml2", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/mujs/CMakeLists.txt b/ports/mujs/CMakeLists.txt index 639d2a9652b125..6a30cf3b5e9625 100644 --- a/ports/mujs/CMakeLists.txt +++ b/ports/mujs/CMakeLists.txt @@ -1,23 +1,60 @@ -cmake_minimum_required(VERSION 3.9) -project(mujs) +cmake_minimum_required(VERSION 3.25) +project(mujs C) + +set(LINK_LIBRARIES "") +set(PC_LIBS_PRIVATE "") if(MSVC) add_compile_options(/W3 /wd4005 /wd4996 /wd4018 -D_CRT_SECURE_NO_WARNINGS) +else() + find_library(HAVE_LIBM NAMES m) + if(HAVE_LIBM) + list(APPEND LINK_LIBRARIES m) + string(APPEND PC_LIBS_PRIVATE " -lm") + endif() endif() -file(GLOB libmujs_sources js*.c utf*.c regexp.c) +file(GLOB mujs_sources js*.c utf*.c regexp.c) -include_directories(.) +add_library(mujs ${mujs_sources}) +target_include_directories(mujs + PUBLIC + "$" + "$" +) -add_library(libmujs ${libmujs_sources}) +target_link_libraries(mujs PRIVATE ${LINK_LIBRARIES}) install( - TARGETS libmujs + TARGETS mujs + EXPORT unofficial-mujs-targets RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib ) +install( + EXPORT unofficial-mujs-targets + FILE unofficial-mujs-config.cmake + NAMESPACE unofficial::mujs:: + DESTINATION "share/unofficial-mujs" +) + +include(CMakePackageConfigHelpers) +write_basic_package_version_file(unofficial-mujs-config-version.cmake + VERSION ${PACKAGE_VERSION} + COMPATIBILITY AnyNewerVersion +) +install( + FILES "${CMAKE_CURRENT_BINARY_DIR}/unofficial-mujs-config-version.cmake" + DESTINATION "share/unofficial-mujs" +) + +configure_file("${CMAKE_CURRENT_SOURCE_DIR}/mujs.pc" "${CMAKE_CURRENT_BINARY_DIR}/mujs.pc" @ONLY) +install( + FILES "${CMAKE_CURRENT_BINARY_DIR}/mujs.pc" + DESTINATION "lib/pkgconfig" +) if(NOT DISABLE_INSTALL_HEADERS) install(FILES mujs.h DESTINATION include) diff --git a/ports/mujs/mujs.pc b/ports/mujs/mujs.pc new file mode 100644 index 00000000000000..f32d0d83bcdc87 --- /dev/null +++ b/ports/mujs/mujs.pc @@ -0,0 +1,11 @@ +prefix=${pcfiledir}/../.. +exec_prefix=${prefix} +libdir=${exec_prefix}/lib +includedir=${prefix}/include + +Name: mujs +Description: MuJS embeddable Javascript interpreter +Version: @PACKAGE_VERSION@ +Cflags: -I${includedir} +Libs: -L${libdir} -lmujs +Libs.private: @PC_LIBS_PRIVATE@ diff --git a/ports/mujs/portfile.cmake b/ports/mujs/portfile.cmake index 3475307dc2770d..1411803034148f 100644 --- a/ports/mujs/portfile.cmake +++ b/ports/mujs/portfile.cmake @@ -1,22 +1,30 @@ -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 ccxvii/mujs - REF c86267d8b2b5f9a6ae318dc69886109eee0c7b61 - SHA512 927b000cd6a28b785d510917445a5a39a4dbaf0e13eab920cf83c7838b111b8a0542cfab0110f8493dc65b88a48261deb6ba7a871cbe77fb46119b536a69d470 + REF "${VERSION}" + SHA512 9ebe0d2926d2621110cb67e701c1cdd87883703d58c49dc08e366b20c93dbdbc2f56e59b710999373bd8aaaee75b2d35adb1dad6929795684a8fff6483d9df25 HEAD_REF master ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") +file(COPY "${CMAKE_CURRENT_LIST_DIR}/mujs.pc" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON -DDISABLE_INSTALL_TOOLS=ON +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + "-DPACKAGE_VERSION=${VERSION}" + OPTIONS_DEBUG + -DDISABLE_INSTALL_HEADERS=ON ) -vcpkg_install_cmake() +vcpkg_cmake_install() +vcpkg_fixup_pkgconfig() +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-mujs) vcpkg_copy_pdbs() -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/mujs RENAME copyright) +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/mujs/usage b/ports/mujs/usage new file mode 100644 index 00000000000000..5cc07c87d2fdf8 --- /dev/null +++ b/ports/mujs/usage @@ -0,0 +1,6 @@ +mujs can be imported via CMake FindPkgConfig module: + + find_package(PkgConfig) + pkg_check_modules(MUJS REQUIRED IMPORTED_TARGET mujs) + + target_link_libraries(main PRIVATE PkgConfig::MUJS) diff --git a/ports/mujs/vcpkg.json b/ports/mujs/vcpkg.json index 689ad0d5b19c1c..669667252c903b 100644 --- a/ports/mujs/vcpkg.json +++ b/ports/mujs/vcpkg.json @@ -1,7 +1,17 @@ { "name": "mujs", - "version-string": "2018-07-30", - "port-version": 2, + "version": "1.3.5", "description": "An embeddable Javascript interpreter in C", - "homepage": "https://github.com/ccxvii/mujs" + "homepage": "https://github.com/ccxvii/mujs", + "license": "ISC", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/munit/portfile.cmake b/ports/munit/portfile.cmake index 6a8c8e194d2fa8..37802974dd7295 100644 --- a/ports/munit/portfile.cmake +++ b/ports/munit/portfile.cmake @@ -1,5 +1,3 @@ -vcpkg_fail_port_install(ON_ARCH "arm" "arm64" ON_TARGET "uwp") - vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( @@ -21,5 +19,5 @@ vcpkg_install_meson() vcpkg_copy_pdbs() file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) - -vcpkg_fixup_pkgconfig() + +vcpkg_fixup_pkgconfig() diff --git a/ports/munit/vcpkg.json b/ports/munit/vcpkg.json index a729d1df72ee14..4f5cfb85c93690 100644 --- a/ports/munit/vcpkg.json +++ b/ports/munit/vcpkg.json @@ -1,11 +1,14 @@ { "name": "munit", - "version-string": "2019-04-06", - "port-version": 3, + "version-date": "2019-04-06", + "port-version": 5, "description": "A small but full-featured unit testing framework for C", "homepage": "https://github.com/nemequ/munit", - "supports": "!(arm | arm64 | uwp)", + "supports": "!(arm | uwp)", "dependencies": [ - "tool-meson" + { + "name": "vcpkg-tool-meson", + "host": true + } ] } diff --git a/ports/muparser/portfile.cmake b/ports/muparser/portfile.cmake index dcc548737f8532..23be2ecea43f8f 100644 --- a/ports/muparser/portfile.cmake +++ b/ports/muparser/portfile.cmake @@ -1,27 +1,34 @@ -vcpkg_fail_port_install(ON_TARGET "uwp") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO beltoforion/muparser - REF 207d5b77c05c9111ff51ab91082701221220c477 # v2.3.2 - SHA512 75cebef831eeb08c92c08d2b29932a4af550edbda56c2adb6bc86b1228775294013a07d51974157b39460e60dab937b0b641553cd7ddeef72ba0b23f65c52bf4 + REF 59e0ce1e0d35d42713af67788f19797945d81364 # v2.3.4 + SHA512 4d0261b9c155b2697ce7222d87ff19be781919e93154bf69455ce36432f66abe2a1ea80a59f7526990f7859f78259014ef56702aa5c7db2ac8c28c8e9491e1f5 HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS -DENABLE_SAMPLES=OFF -DENABLE_OPENMP=OFF - OPTIONS_DEBUG - -DDISABLE_INSTALL_HEADERS=ON + -DENABLE_WIDE_CHAR=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() 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_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() + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/muParserFixes.h" "#ifndef MUPARSER_STATIC" "#if 1") +endif() + +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/muparser/vcpkg.json b/ports/muparser/vcpkg.json index 967c3712e894f3..6032c402d495a6 100644 --- a/ports/muparser/vcpkg.json +++ b/ports/muparser/vcpkg.json @@ -1,8 +1,18 @@ { "name": "muparser", - "version-string": "2.3.2", - "port-version": 2, + "version": "2.3.4", "description": "Fast math parser library", "homepage": "https://github.com/beltoforion/muparser", - "supports": "!uwp" + "license": "BSD-2-Clause", + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/murmur3/CMakeLists.txt b/ports/murmur3/CMakeLists.txt new file mode 100644 index 00000000000000..73796950f7ec74 --- /dev/null +++ b/ports/murmur3/CMakeLists.txt @@ -0,0 +1,47 @@ +cmake_minimum_required(VERSION 3.19) +project(murmur3 LANGUAGES C) +set(PROJECT_VERSION "${VERSION}") + +set(Header_Files "${PROJECT_NAME}.h") +set(Source_Files "${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_90) +set_target_properties("${PROJECT_NAME}" PROPERTIES C_VISIBILITY_PRESET hidden + PUBLIC_HEADER "${Header_Files}") + +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 ${Header_Files} 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/murmur3/portfile.cmake b/ports/murmur3/portfile.cmake new file mode 100644 index 00000000000000..c2cf1642d74333 --- /dev/null +++ b/ports/murmur3/portfile.cmake @@ -0,0 +1,28 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO PeterScott/murmur3 + REF dae94be0c0f54a399d23ea6cbe54bca5a4e93ce4 + SHA512 1bc01eefc04f06704800a7448231db9f82fc809079bd3f43ef24d7dd3d8deaec2143f252a8e556dafe366401f898b676922b0c93ac181aaf38ae69ad638adbba + 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" "CC0-1.0") +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/murmur3/usage b/ports/murmur3/usage new file mode 100644 index 00000000000000..cbb2d18aac30f8 --- /dev/null +++ b/ports/murmur3/usage @@ -0,0 +1,3 @@ +murmur3 provides CMake targets: + find_package(unofficial-murmur3 CONFIG REQUIRED) + target_link_libraries(main PRIVATE unofficial::murmur3::murmur3) diff --git a/ports/murmur3/vcpkg.json b/ports/murmur3/vcpkg.json new file mode 100644 index 00000000000000..4bc78a0f5638f7 --- /dev/null +++ b/ports/murmur3/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "murmur3", + "version-date": "2015-05-02", + "description": "Murmur3 hash in C", + "homepage": "https://github.com/PeterScott/murmur3", + "license": "CC0-1.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/murmurhash/portfile.cmake b/ports/murmurhash/portfile.cmake index 380570b2f21f18..bcc3bfb7f5f215 100644 --- a/ports/murmurhash/portfile.cmake +++ b/ports/murmurhash/portfile.cmake @@ -1,25 +1,23 @@ -vcpkg_fail_port_install(ON_ARCH "arm" "arm64" ON_TARGET "UWP") vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO aappleby/smhasher - REF 61a0530f28277f2e850bfc39600ce61d02b518de - SHA512 36877b53386153c20421ccd32d544c28ee72f6f13ea37c14ab1a1db378f6463db28339b2149671c12611384497bf595b798e99c34ea0ebceb6f9ef2f8908a2b6 - HEAD_REF master + OUT_SOURCE_PATH SOURCE_PATH + REPO aappleby/smhasher + REF 61a0530f28277f2e850bfc39600ce61d02b518de + SHA512 36877b53386153c20421ccd32d544c28ee72f6f13ea37c14ab1a1db378f6463db28339b2149671c12611384497bf595b798e99c34ea0ebceb6f9ef2f8908a2b6 + HEAD_REF master ) -configure_file(${CURRENT_PORT_DIR}/CMakeLists.txt ${SOURCE_PATH}/CMakeLists.txt COPYONLY) -configure_file(${CURRENT_PORT_DIR}/Config.cmake.in ${SOURCE_PATH}/Config.cmake.in COPYONLY) +configure_file("${CURRENT_PORT_DIR}/CMakeLists.txt" "${SOURCE_PATH}/CMakeLists.txt" COPYONLY) +configure_file("${CURRENT_PORT_DIR}/Config.cmake.in" "${SOURCE_PATH}/Config.cmake.in" COPYONLY) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(WRITE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright "MurmurHash3 was written by Austin Appleby, and is placed in the public domain. The author hereby disclaims copyright to this source code.") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(WRITE "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" "MurmurHash3 was written by Austin Appleby, and is placed in the public domain. The author hereby disclaims copyright to this source code.") diff --git a/ports/murmurhash/vcpkg.json b/ports/murmurhash/vcpkg.json index 98789370d04218..f79ceee27b5ab7 100644 --- a/ports/murmurhash/vcpkg.json +++ b/ports/murmurhash/vcpkg.json @@ -1,7 +1,18 @@ { "name": "murmurhash", - "version-string": "2016-01-09", - "port-version": 4, + "version-date": "2016-01-09", + "port-version": 7, "description": "MurmurHash a family of hash functions.", - "homepage": "https://github.com/aappleby/smhasher" + "homepage": "https://github.com/aappleby/smhasher", + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/mvfst/portfile.cmake b/ports/mvfst/portfile.cmake new file mode 100644 index 00000000000000..983717d43bb17e --- /dev/null +++ b/ports/mvfst/portfile.cmake @@ -0,0 +1,19 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO facebook/mvfst + REF "v${VERSION}" + SHA512 4a000583884777fa876f3bfc52a3420c9cf8818f943c07898ac3b313837092fc173d8db497fd59027ef405d8fa5e3114a53b3bc5cf3fef398ca712c06a1da3e0 + HEAD_REF main +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_TESTS=OFF +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/mvfst) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/mvfst/vcpkg.json b/ports/mvfst/vcpkg.json new file mode 100644 index 00000000000000..c59b1d44838d50 --- /dev/null +++ b/ports/mvfst/vcpkg.json @@ -0,0 +1,30 @@ +{ + "name": "mvfst", + "version-string": "2024.11.04.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 & !static)", + "dependencies": [ + "boost-context", + "boost-date-time", + "boost-filesystem", + "boost-iostreams", + "boost-program-options", + "boost-regex", + "boost-system", + "boost-thread", + "fizz", + "fmt", + "folly", + "glog", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/mygui/Install-tools.patch b/ports/mygui/Install-tools.patch new file mode 100644 index 00000000000000..010344f7ba7e43 --- /dev/null +++ b/ports/mygui/Install-tools.patch @@ -0,0 +1,16 @@ +diff --git a/CMake/Utils/MyGUIConfigTargets.cmake b/CMake/Utils/MyGUIConfigTargets.cmake +index 6483339..0b35148 100644 +--- a/CMake/Utils/MyGUIConfigTargets.cmake ++++ b/CMake/Utils/MyGUIConfigTargets.cmake +@@ -170,6 +170,11 @@ function(mygui_app PROJECTNAME SOLUTIONFOLDER) + set(MYGUI_EXEC_TYPE WIN32) + endif () + add_executable(${PROJECTNAME} ${MYGUI_EXEC_TYPE} ${HEADER_FILES} ${SOURCE_FILES}) ++ if (APPLE) ++ install(TARGETS ${PROJECTNAME} BUNDLE DESTINATION bin) ++ else () ++ install(TARGETS ${PROJECTNAME} RUNTIME DESTINATION bin) ++ endif () + endif () + set_target_properties(${PROJECTNAME} PROPERTIES FOLDER ${SOLUTIONFOLDER}) + diff --git a/ports/mygui/fix-generation.patch b/ports/mygui/fix-generation.patch index 9e517318a45ec9..80d69009ed351f 100644 --- a/ports/mygui/fix-generation.patch +++ b/ports/mygui/fix-generation.patch @@ -1,5 +1,5 @@ diff --git a/CMake/CMakeLists.txt b/CMake/CMakeLists.txt -index b0fc12a82..6e545edea 100644 +index a0ef573..b77566e 100644 --- a/CMake/CMakeLists.txt +++ b/CMake/CMakeLists.txt @@ -5,7 +5,7 @@ @@ -12,10 +12,10 @@ index b0fc12a82..6e545edea 100644 set(MYGUI_CMAKE_DIR "lib/MYGUI/cmake") endif(WIN32) diff --git a/CMake/Utils/MyGUIConfigTargets.cmake b/CMake/Utils/MyGUIConfigTargets.cmake -index d1dbd016d..25c8bbac6 100644 +index 8fb1ce4..6483339 100644 --- a/CMake/Utils/MyGUIConfigTargets.cmake +++ b/CMake/Utils/MyGUIConfigTargets.cmake -@@ -6,10 +6,10 @@ if (WIN32) +@@ -7,10 +7,10 @@ if (WIN32) set(MYGUI_RELWDBG_PATH "/RelWithDebInfo") set(MYGUI_MINSIZE_PATH "/MinSizeRel") set(MYGUI_DEBUG_PATH "/Debug") @@ -28,28 +28,3 @@ index d1dbd016d..25c8bbac6 100644 set(MYGUI_PLUGIN_PATH "/opt") elseif (UNIX) set(MYGUI_RELEASE_PATH "") -diff --git a/CMake/Utils/PrecompiledHeader.cmake b/CMake/Utils/PrecompiledHeader.cmake -index a8bf3ce49..104703282 100644 ---- a/CMake/Utils/PrecompiledHeader.cmake -+++ b/CMake/Utils/PrecompiledHeader.cmake -@@ -16,7 +16,7 @@ - macro(use_precompiled_header TARGET HEADER_FILE SRC_FILE) - get_filename_component(HEADER ${HEADER_FILE} NAME) - -- if (MSVC AND NOT ${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang") -+ if (FALSE) - add_definitions(/Yu"${HEADER}") - set_source_files_properties(${SRC_FILE} - PROPERTIES COMPILE_FLAGS /Yc"${HEADER}" -diff --git a/CMakeLists.txt b/CMakeLists.txt -index fea0bff8b..5831dfa8a 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -9,6 +9,7 @@ cmake_minimum_required(VERSION 2.6) - set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS TRUE) - cmake_policy(SET CMP0003 NEW) - cmake_policy(SET CMP0011 NEW) -+cmake_policy(SET CMP0021 OLD) - - project(MYGUI) - 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/opengl.patch b/ports/mygui/opengl.patch new file mode 100644 index 00000000000000..7782b2412cce53 --- /dev/null +++ b/ports/mygui/opengl.patch @@ -0,0 +1,26 @@ +diff --git a/Common/CMakeLists.txt b/Common/CMakeLists.txt +index db7d6610c..eb9190e07 100644 +--- a/Common/CMakeLists.txt ++++ b/Common/CMakeLists.txt +@@ -41,12 +41,9 @@ elseif(MYGUI_RENDERSYSTEM EQUAL 3) + elseif(MYGUI_RENDERSYSTEM EQUAL 4) + add_definitions("-DMYGUI_OPENGL_PLATFORM") + include_directories(SYSTEM +- ${OPENGL_INCLUDE_DIR} + ${SDL2_IMAGE_INCLUDE_DIRS} + ${MYGUI_SOURCE_DIR}/Platforms/${MYGUI_PLATFORM_NAME}/${MYGUI_PLATFORM_NAME}Platform/include + ) +- include_directories(SYSTEM include/GL) +- link_directories(${OPENGL_LIB_DIR}) + link_directories(${SDL2_IMAGE_LIB_DIR}) + elseif(MYGUI_RENDERSYSTEM EQUAL 5) + add_definitions("-DMYGUI_DIRECTX_PLATFORM") +@@ -106,3 +103,8 @@ if (MYGUI_INSTALL_TOOLS OR MYGUI_INSTALL_DEMOS) + endif() + + add_dependencies(${PROJECTNAME} MyGUIEngine) ++ ++if(MYGUI_RENDERSYSTEM EQUAL 4) ++ find_package(OpenGL REQUIRED) ++ target_link_libraries(${PROJECTNAME} OpenGL::GL) ++endif() 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 3f3bd9016f3139..efb7d5b39c0c4c 100644 --- a/ports/mygui/portfile.cmake +++ b/ports/mygui/portfile.cmake @@ -1,44 +1,64 @@ -# 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 26109822f36a4f7d72d5d8ecd41659897f085a40 - SHA512 4d1f001e8c04d08ad911bc0345a2287b5e17e21284728cf23d7a930e8befb2f85902053e3c90283444bf9e32c7dada2f37c498e735d6314732b297d97ed339e4 + REF MyGUI${VERSION} + 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("opengl" IN_LIST FEATURES) +if(VCPKG_TARGET_ARCHITECTURE STREQUAL "wasm32") + message(STATUS "Setting MYGUI_RENDERSYSTEM to 8 (GLES) - officially supported MyGUI render system for wasm32") + set(MYGUI_RENDERSYSTEM 8) +elseif("opengl" IN_LIST FEATURES) set(MYGUI_RENDERSYSTEM 4) else() set(MYGUI_RENDERSYSTEM 1) endif() -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +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_TOOLS=FALSE -DMYGUI_BUILD_UNITTESTS=FALSE -DMYGUI_BUILD_TEST_APP=FALSE -DMYGUI_BUILD_WRAPPER=FALSE -DMYGUI_BUILD_DOCS=FALSE -DMYGUI_RENDERSYSTEM=${MYGUI_RENDERSYSTEM} + ${FEATURE_OPTIONS} ) -vcpkg_install_cmake() +vcpkg_cmake_install() file(REMOVE_RECURSE - ${CURRENT_PACKAGES_DIR}/debug/include - ${CURRENT_PACKAGES_DIR}/debug/share + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" ) +vcpkg_fixup_pkgconfig() +vcpkg_copy_pdbs() + +if("tools" IN_LIST FEATURES) + vcpkg_copy_tools(TOOL_NAMES FontEditor ImageEditor LayoutEditor SkinEditor AUTO_CLEAN) +endif() + # Handle copyright -file(INSTALL ${SOURCE_PATH}/COPYING.MIT DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/COPYING.MIT" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/mygui/sdl2-static.patch b/ports/mygui/sdl2-static.patch new file mode 100644 index 00000000000000..cc5cb1a55e1abd --- /dev/null +++ b/ports/mygui/sdl2-static.patch @@ -0,0 +1,35 @@ +diff --git a/CMake/Packages/FindSDL2.cmake b/CMake/Packages/FindSDL2.cmake +index 4dd33abe4..3911acef3 100644 +--- a/CMake/Packages/FindSDL2.cmake ++++ b/CMake/Packages/FindSDL2.cmake +@@ -49,7 +49,7 @@ IF(NOT SDL2_FOUND) + ) + + find_library(SDL2_LIBRARY +- NAMES SDL2 ++ NAMES SDL2 SDL2-static + HINTS + ${PC_SDL2_LIBDIR} + ${PC_SDL2_LIBRARY_DIRS} +@@ -87,7 +87,7 @@ IF(NOT SDL2_FOUND) + set(SDL2_INCLUDE_DIRS ${SDL2_INCLUDE_DIR}) + set(SDL2_LIBRARIES ${SDL2MAIN_LIBRARY} ${SDL2_LIBRARY}) + if (WIN32) +- set(SDL2_LIBRARIES ${SDL2_LIBRARIES} winmm imm32 version) ++ set(SDL2_LIBRARIES ${SDL2_LIBRARIES} winmm imm32 version setupapi) + endif() + include(FindPackageHandleStandardArgs) + +diff --git a/CMake/Packages/FindSDL2_image.cmake b/CMake/Packages/FindSDL2_image.cmake +index 4f0bc5f17..857806b1f 100644 +--- a/CMake/Packages/FindSDL2_image.cmake ++++ b/CMake/Packages/FindSDL2_image.cmake +@@ -41,7 +41,7 @@ IF(NOT SDL2_IMAGE_FOUND) + ) + + find_library(SDL2_IMAGE_LIBRARY +- NAMES SDL2_image ++ NAMES SDL2_image SDL2_image-static + HINTS + ${PC_SDL2_IMAGE_LIBDIR} + ${PC_SDL2_IMAGE_LIBRARY_DIRS} diff --git a/ports/mygui/vcpkg.json b/ports/mygui/vcpkg.json index 28a32c06074bdc..c62677c02d859a 100644 --- a/ports/mygui/vcpkg.json +++ b/ports/mygui/vcpkg.json @@ -1,19 +1,38 @@ { "name": "mygui", - "version-string": "2020-06-17", - "port-version": 1, + "version": "3.4.3", + "port-version": 3, "description": "Fast, flexible and simple GUI", "homepage": "http://mygui.info", + "license": "MIT", + "supports": "!uwp", "dependencies": [ "freetype", - "sdl2-image" + "sdl2-image", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ], "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/dependencies.patch b/ports/mysql-connector-cpp/dependencies.patch new file mode 100644 index 00000000000000..9cfb03d2fa1f37 --- /dev/null +++ b/ports/mysql-connector-cpp/dependencies.patch @@ -0,0 +1,154 @@ +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/export-targets.patch b/ports/mysql-connector-cpp/export-targets.patch new file mode 100644 index 00000000000000..0f9e18540c903a --- /dev/null +++ b/ports/mysql-connector-cpp/export-targets.patch @@ -0,0 +1,69 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e734714..6d665dc 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 $ $) + + + # +@@ -472,32 +472,23 @@ set_target_properties(connector PROPERTIES + SOVERSION "${ABI_VERSION_MAJOR}" + ) + +- +-install(TARGETS connector +- CONFIGURATIONS Release RelWithDebInfo +- ARCHIVE DESTINATION "${INSTALL_LIB_DIR_STATIC}" COMPONENT XDevAPIDev +- RUNTIME DESTINATION "${INSTALL_LIB_DIR}" 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 + ) + + 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 + COMPONENT Debuginfo + ) + +@@ -604,3 +595,15 @@ endif() + + + show_config_options() ++ ++include(CMakePackageConfigHelpers) ++configure_package_config_file( ++ "${CMAKE_SOURCE_DIR}/mysql-connector-cpp-config.cmake.in" ++ "${CMAKE_CURRENT_BINARY_DIR}/unofficial-mysql-connector-cpp-config.cmake" ++ INSTALL_DESTINATION "share/unofficial-mysql-connector-cpp" ++) ++install(FILES "${CMAKE_CURRENT_BINARY_DIR}/unofficial-mysql-connector-cpp-config.cmake" DESTINATION "share/unofficial-mysql-connector-cpp") ++install(EXPORT unofficial-mysql-connector-cpp-targets ++ NAMESPACE unofficial::mysql-connector-cpp:: ++ DESTINATION share/unofficial-mysql-connector-cpp ++) +\ No newline at end of file diff --git a/ports/mysql-connector-cpp/fix-static-build8.patch b/ports/mysql-connector-cpp/fix-static-build8.patch new file mode 100644 index 00000000000000..91cf2739ec9514 --- /dev/null +++ b/ports/mysql-connector-cpp/fix-static-build8.patch @@ -0,0 +1,105 @@ +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/mysql-connector-cpp-config.cmake.in b/ports/mysql-connector-cpp/mysql-connector-cpp-config.cmake.in new file mode 100644 index 00000000000000..5eb80ed42c41a3 --- /dev/null +++ b/ports/mysql-connector-cpp/mysql-connector-cpp-config.cmake.in @@ -0,0 +1,9 @@ +@PACKAGE_INIT@ + +include(CMakeFindDependencyMacro) + +find_dependency(OpenSSL) +find_dependency(Protobuf CONFIG) + +include("${CMAKE_CURRENT_LIST_DIR}/unofficial-mysql-connector-cpp-targets.cmake") +check_required_components(mysql-connector-cpp) diff --git a/ports/mysql-connector-cpp/portfile.cmake b/ports/mysql-connector-cpp/portfile.cmake new file mode 100644 index 00000000000000..ce4b9365192b1b --- /dev/null +++ b/ports/mysql-connector-cpp/portfile.cmake @@ -0,0 +1,65 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO mysql/mysql-connector-cpp + REF "${VERSION}" + SHA512 b65c44ef05e3f6ec8613f7d09f6662fc1b4cce5fdf515dec43a20398605acc2555572b788a89b61d6ce835dab3f68183be6610750ae42a6be7d9c24c99ecaacf + HEAD_REF master + PATCHES + fix-static-build8.patch + export-targets.patch + dependencies.patch + protobuf-cmake.patch + protobuf-source.patch +) + +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + jdbc WITH_JDBC +) + +file(COPY "${CMAKE_CURRENT_LIST_DIR}/mysql-connector-cpp-config.cmake.in" DESTINATION "${SOURCE_PATH}") + +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. +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + WINDOWS_USE_MSBUILD + OPTIONS + "-DWITH_SSL=${CURRENT_INSTALLED_DIR}" + "-DWITH_LZ4=${CURRENT_INSTALLED_DIR}" + "-DWITH_ZSTD=${CURRENT_INSTALLED_DIR}" + "-DWITH_ZLIB=${CURRENT_INSTALLED_DIR}" + "-DProtobuf_DIR=${CURRENT_INSTALLED_DIR}/share/protobuf" # Without these Windows is unable to find protobuf + "-Dabsl_DIR=${CURRENT_INSTALLED_DIR}/share/absl" + "-Dutf8_range_DIR=${CURRENT_INSTALLED_DIR}/share/utf8_range" + "-DProtobuf_PROTOC_EXECUTABLE=${CURRENT_INSTALLED_DIR}/tools/protobuf/protoc" + -DBUILD_STATIC=${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 +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-mysql-connector-cpp) + +file(REMOVE + "${CURRENT_PACKAGES_DIR}/INFO_BIN" + "${CURRENT_PACKAGES_DIR}/INFO_SRC" + "${CURRENT_PACKAGES_DIR}/debug/INFO_BIN" + "${CURRENT_PACKAGES_DIR}/debug/INFO_SRC" +) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") diff --git a/ports/mysql-connector-cpp/protobuf-cmake.patch b/ports/mysql-connector-cpp/protobuf-cmake.patch new file mode 100644 index 00000000000000..ddda94dabfd260 --- /dev/null +++ b/ports/mysql-connector-cpp/protobuf-cmake.patch @@ -0,0 +1,76 @@ +diff --git a/cdk/cmake/DepFindProtobuf.cmake b/cdk/cmake/DepFindProtobuf.cmake +index 730389de..7c3fd78b 100644 +--- a/cdk/cmake/DepFindProtobuf.cmake ++++ b/cdk/cmake/DepFindProtobuf.cmake +@@ -44,6 +44,7 @@ + # + # + ++if(0) + if(TARGET ext::protobuf) + return() + endif() +@@ -64,7 +65,7 @@ add_ext_targets(protobuf + LIBRARY protobuf pb_libprotobuf + EXECUTABLE protoc pb_protoc + ) +- ++endif() + + # Standard PROTOBUF_GENERATE_CPP modified to our usage + function(mysqlx_protobuf_generate_cpp SRCS HDRS) +@@ -90,7 +91,7 @@ function(mysqlx_protobuf_generate_cpp SRCS HDRS) + "${CMAKE_CURRENT_BINARY_DIR}/protobuf/${FIL_WE}.pb.h" + COMMAND ${CMAKE_COMMAND} + -E make_directory "${CMAKE_CURRENT_BINARY_DIR}/protobuf" +- COMMAND ext::protoc ++ COMMAND protobuf::protoc + ARGS --cpp_out "${CMAKE_CURRENT_BINARY_DIR}/protobuf" + -I ${ABS_PATH} ${ABS_FIL} + +diff --git a/cdk/core/CMakeLists.txt b/cdk/core/CMakeLists.txt +index 30f7baf1..2a4a9434 100644 +--- a/cdk/core/CMakeLists.txt ++++ b/cdk/core/CMakeLists.txt +@@ -33,6 +33,7 @@ cmake_minimum_required(VERSION 2.8) + + #ADD_SUBDIRECTORY(tests) + ++find_package(Protobuf CONFIG REQUIRED) + + SET(cdk_sources + session.cc +@@ -45,7 +46,7 @@ add_library(cdk STATIC ${cdk_sources} ${HEADERS}) + + target_link_libraries(cdk + PUBLIC cdk_mysqlx cdk_parser +- PRIVATE ext::protobuf-lite # required by codecc.cc ++ PRIVATE protobuf::libprotobuf-lite # required by codecc.cc + ) + + add_coverage(cdk) +diff --git a/cdk/protocol/mysqlx/CMakeLists.txt b/cdk/protocol/mysqlx/CMakeLists.txt +index cfc81daf..6c484575 100644 +--- a/cdk/protocol/mysqlx/CMakeLists.txt ++++ b/cdk/protocol/mysqlx/CMakeLists.txt +@@ -26,8 +26,9 @@ + # along with this program; if not, write to the Free Software Foundation, Inc., + # 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +-find_dependency(Protobuf) +-find_dependency(Compression) ++include(DepFindCompression) ++find_package(Protobuf CONFIG REQUIRED) ++include(DepFindProtobuf) + + include(CheckIncludeFile) + +@@ -132,7 +133,7 @@ target_include_directories(cdk_proto_mysqlx PRIVATE + if(use_full_protobuf) + target_link_libraries(cdk_proto_mysqlx PRIVATE ext::protobuf) + else() +- target_link_libraries(cdk_proto_mysqlx PRIVATE ext::protobuf-lite) ++ target_link_libraries(cdk_proto_mysqlx PRIVATE protobuf::libprotobuf-lite) + endif() + + if (WIN32) 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/vcpkg.json b/ports/mysql-connector-cpp/vcpkg.json new file mode 100644 index 00000000000000..ff26e043e96f80 --- /dev/null +++ b/ports/mysql-connector-cpp/vcpkg.json @@ -0,0 +1,33 @@ +{ + "name": "mysql-connector-cpp", + "version": "8.0.32", + "port-version": 2, + "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))", + "dependencies": [ + "lz4", + "openssl", + "protobuf", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "zlib", + "zstd" + ], + "features": { + "jdbc": { + "description": "Legacy JDBC support.", + "supports": "static", + "dependencies": [ + "libmysql" + ] + } + } +} diff --git a/ports/nameof/portfile.cmake b/ports/nameof/portfile.cmake index 52230b40783804..2941cd3577219f 100644 --- a/ports/nameof/portfile.cmake +++ b/ports/nameof/portfile.cmake @@ -1,27 +1,26 @@ -# header-only library - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Neargye/nameof - REF v0.10.1 - SHA512 9b3ed7a3f5dcf1ad309341102d2aaa07fc8e9d6db7e08e42c2d9b5453c822ec16d6c6910adf7c4af8879c4084cac362f4fb4c07559cc49594b72b4917816ef5d + REF "v${VERSION}" + SHA512 88eff4fb9a137c388b39d67eb9e213ed93e6a553dd1295d5db04c6fbc254f6df3da8800de2e0675f574bb3f83ae05141f71efe30ccdd4601a42cf19adaea6e79 HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +set(VCPKG_BUILD_TYPE release) # header-only port + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DNAMEOF_OPT_BUILD_EXAMPLES=OFF -DNAMEOF_OPT_BUILD_TESTS=OFF -DNAMEOF_OPT_INSTALL=ON ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/nameof TARGET_PATH share/nameof) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib) +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/nameof/usage b/ports/nameof/usage new file mode 100644 index 00000000000000..db46ed2a033c10 --- /dev/null +++ b/ports/nameof/usage @@ -0,0 +1,4 @@ +nameof provides CMake targets: + + find_package(nameof CONFIG REQUIRED) + target_link_libraries(main PRIVATE nameof::nameof) diff --git a/ports/nameof/vcpkg.json b/ports/nameof/vcpkg.json index 78bce0d8e056a8..dc85772a3df6df 100644 --- a/ports/nameof/vcpkg.json +++ b/ports/nameof/vcpkg.json @@ -1,7 +1,17 @@ { "name": "nameof", - "version-string": "0.10.1", - "port-version": 1, + "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" + "homepage": "https://github.com/Neargye/nameof", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/nana/portfile.cmake b/ports/nana/portfile.cmake index 8aa0cbe26cbabd..56fdf932b50706 100644 --- a/ports/nana/portfile.cmake +++ b/ports/nana/portfile.cmake @@ -7,29 +7,28 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO cnjinhao/nana - REF 554c4fe87fc31b8ee104228e9117d545d34855b5 # v1.7.4 + REF 554c4fe87fc31b8ee104228e9117d545d34855b5 # v1.7.4 SHA512 d9db8ea1bd47fe663b8e2443a1a3e279760dbd11ef6bc78d9dc8f6fd12f9736b8c8315dfc84d21325e02ad6b2dc3a429593ac80e7610097ddc7253668c383178 HEAD_REF develop PATCHES fix-build-error.patch ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/config.cmake.in DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") +file(COPY "${CMAKE_CURRENT_LIST_DIR}/config.cmake.in" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DNANA_ENABLE_PNG=ON -DNANA_ENABLE_JPEG=ON OPTIONS_DEBUG -DNANA_INSTALL_HEADERS=OFF) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-nana TARGET_PATH share/unofficial-nana) +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-nana) vcpkg_copy_pdbs() -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) \ No newline at end of file diff --git a/ports/nana/vcpkg.json b/ports/nana/vcpkg.json index c82984e8756654..6984de0b4e16c3 100644 --- a/ports/nana/vcpkg.json +++ b/ports/nana/vcpkg.json @@ -1,9 +1,10 @@ { "name": "nana", - "version-string": "1.7.4", - "port-version": 2, + "version": "1.7.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", @@ -14,6 +15,14 @@ "platform": "!uwp & !windows & !mingw" }, "libjpeg-turbo", - "libpng" + "libpng", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/nano-signal-slot/vcpkg.json b/ports/nano-signal-slot/vcpkg.json index 55e08710650cd5..983026f1369e8e 100644 --- a/ports/nano-signal-slot/vcpkg.json +++ b/ports/nano-signal-slot/vcpkg.json @@ -1,7 +1,7 @@ { "name": "nano-signal-slot", - "version-string": "2.0.1", - "port-version": 1, + "version": "2.0.1", + "port-version": 2, "description": "Pure C++17 Signals and Slots", "homepage": "https://github.com/NoAvailableAlias/nano-signal-slot", "supports": "!uwp" diff --git a/ports/nanobench/CMakeLists.txt b/ports/nanobench/CMakeLists.txt new file mode 100644 index 00000000000000..b486bec285fa88 --- /dev/null +++ b/ports/nanobench/CMakeLists.txt @@ -0,0 +1,23 @@ +cmake_minimum_required(VERSION 3.12 FATAL_ERROR) + +project(nanobench LANGUAGES CXX) + +include(GNUInstallDirs) + +add_library(nanobench STATIC "${CMAKE_SOURCE_DIR}/src/test/app/nanobench.cpp") +add_library(nanobench::nanobench ALIAS nanobench) +set_property(TARGET nanobench PROPERTY CXX_STANDARD 17) +target_include_directories(nanobench PUBLIC + "$" + "$") + +install(TARGETS nanobench EXPORT nanobench) + +install( + EXPORT nanobench + FILE nanobench-config.cmake + DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/nanobench" + NAMESPACE nanobench:: +) + +install(FILES "${CMAKE_SOURCE_DIR}/src/include/nanobench.h" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") diff --git a/ports/nanobench/portfile.cmake b/ports/nanobench/portfile.cmake index 86b144ca5f102b..1d25b7a17d3534 100644 --- a/ports/nanobench/portfile.cmake +++ b/ports/nanobench/portfile.cmake @@ -1,16 +1,23 @@ -# Header-only library -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO martinus/nanobench - REF ee8b36e956bb2b8753dd1f6732b4d9d90afb09f9 #v4.3.0 - SHA512 46807f3b945d062dd3c829ec349cc892f9b2334c8a3c74c1225b0cd918af6864a1e539ac2bbad0ee6e20d285b5ad8e307e72996f2531377c55683cb0593ed3e7 - HEAD_REF master -) - -file( - COPY ${SOURCE_PATH}/src/include/nanobench.h - DESTINATION ${CURRENT_PACKAGES_DIR}/include -) - -# Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO martinus/nanobench + REF "v${VERSION}" + SHA512 88697cc87e99b8c17f004dbd39efee664145b86d9feec02f5dba0d84be88e9bd272e537f392e670445d849f0d3c852b9870aea650d84968ee6fbc23a56bcff64 + HEAD_REF master +) + +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup() + +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/nanobench/usage b/ports/nanobench/usage new file mode 100644 index 00000000000000..13896211da6112 --- /dev/null +++ b/ports/nanobench/usage @@ -0,0 +1,4 @@ +nanobench provides CMake targets: + + find_package(nanobench CONFIG REQUIRED) + target_link_libraries(main PRIVATE nanobench::nanobench) diff --git a/ports/nanobench/vcpkg.json b/ports/nanobench/vcpkg.json index d8c6a583ee55d3..8e32bb2a29835d 100644 --- a/ports/nanobench/vcpkg.json +++ b/ports/nanobench/vcpkg.json @@ -1,7 +1,18 @@ { "name": "nanobench", - "version-string": "4.3.0", - "port-version": 1, + "version": "4.3.11", "description": "Simple, fast, accurate single-header microbenchmarking functionality for C++11/14/17/20", - "homepage": "https://nanobench.ankerl.com" + "homepage": "https://nanobench.ankerl.com", + "license": "MIT", + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } 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/no-werror.patch b/ports/nanodbc/no-werror.patch new file mode 100644 index 00000000000000..2a71613f7781e7 --- /dev/null +++ b/ports/nanodbc/no-werror.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1ce7232..57836fe 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -35,7 +35,7 @@ set(CMAKE_CXX_EXTENSIONS OFF) + message(STATUS "nanodbc compile: C++${CMAKE_CXX_STANDARD}") + + if(CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR CMAKE_COMPILER_IS_GNUCXX) +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Werror") ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall") + include(CheckCXXCompilerFlag) + + if (NANODBC_ENABLE_COVERAGE) diff --git a/ports/nanodbc/portfile.cmake b/ports/nanodbc/portfile.cmake index 60da9c25176ee5..ff21c5b53e3bcd 100644 --- a/ports/nanodbc/portfile.cmake +++ b/ports/nanodbc/portfile.cmake @@ -12,6 +12,7 @@ vcpkg_from_github( rename-version.patch add-missing-include.patch find-unixodbc.patch + no-werror.patch ) file(RENAME "${SOURCE_PATH}/VERSION" "${SOURCE_PATH}/VERSION.txt") diff --git a/ports/nanodbc/vcpkg.json b/ports/nanodbc/vcpkg.json index 35fd067a31f008..296e352833afa4 100644 --- a/ports/nanodbc/vcpkg.json +++ b/ports/nanodbc/vcpkg.json @@ -1,9 +1,10 @@ { "name": "nanodbc", "version": "2.13.0", - "port-version": 6, + "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 cd295d76d8ec38..a75ab6c1553f2b 100644 --- a/ports/nanoflann/portfile.cmake +++ b/ports/nanoflann/portfile.cmake @@ -1,19 +1,30 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO jlblancoc/nanoflann - REF v1.3.2 - SHA512 937D3787DF389EFE530060CD2723130251E2CA7937B10F8D770C7B0D21FFD972E6DA21B2B9E655C5740D57B4AF8F76F0CC6D9AE39527C440BE8863BE0DEAA7ED + REF "v${VERSION}" + SHA512 9405970865cf5a7b5fe8316e3b528b29530eea5eac22419d602ef008a2e09dce78dbf66f3c10c1d22ce2c3d5e69a650b27818ee4eb9cee9a583488ce1c81ed2d HEAD_REF master ) vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DNANOFLANN_BUILD_EXAMPLES=OFF + -DNANOFLANN_BUILD_TESTS=OFF ) vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH "share/cmake/${PORT}") +vcpkg_fixup_pkgconfig() + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${PORT}") + +file(READ "${CURRENT_PACKAGES_DIR}/share/nanoflann/nanoflannConfig.cmake" _contents) +file(WRITE "${CURRENT_PACKAGES_DIR}/share/nanoflann/nanoflannConfig.cmake" " +include(CMakeFindDependencyMacro) +find_dependency(Threads) +${_contents}") # Handle copyright -file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) -vcpkg_fixup_pkgconfig() +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") + diff --git a/ports/nanoflann/vcpkg.json b/ports/nanoflann/vcpkg.json index cdf0b0cf0220be..1a19823ec63fe7 100644 --- a/ports/nanoflann/vcpkg.json +++ b/ports/nanoflann/vcpkg.json @@ -1,9 +1,9 @@ { "name": "nanoflann", - "version": "1.3.2", - "port-version": 1, + "version": "1.6.2", "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", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/nanogui/fix-glad-dependence.patch b/ports/nanogui/fix-glad-dependence.patch new file mode 100644 index 00000000000000..03a3475ccde01f --- /dev/null +++ b/ports/nanogui/fix-glad-dependence.patch @@ -0,0 +1,101 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 3fe6f5d..22dc16f 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -87,7 +87,7 @@ endif() + + # Shared library mode: add dllimport/dllexport flags to all symbols + if (NANOGUI_BUILD_SHARED) +- list(APPEND NANOGUI_EXTRA_DEFS -DNANOGUI_SHARED -DNVG_SHARED -DGLAD_GLAPI_EXPORT) ++ list(APPEND NANOGUI_EXTRA_DEFS -DNANOGUI_SHARED -DNVG_SHARED) + endif() + + if (MSVC) +@@ -196,21 +196,6 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "Clang") + endif() + endif() + +-if (NANOGUI_USE_GLAD) +- # Build and include GLAD on Windows +- list(APPEND LIBNANOGUI_EXTRA_SOURCE +- "${CMAKE_CURRENT_SOURCE_DIR}/ext/glad/src/glad.c" +- "${CMAKE_CURRENT_SOURCE_DIR}/ext/glad/include/glad/glad.h" +- "${CMAKE_CURRENT_SOURCE_DIR}/ext/glad/include/KHR/khrplatform.h") +- if (MSVC) +- set_source_files_properties("${CMAKE_CURRENT_SOURCE_DIR}/ext/glad/src/glad.c" +- PROPERTIES COMPILE_FLAGS "/wd4055 ") +- endif() +- include_directories(ext/glad/include) +- list(APPEND NANOGUI_EXTRA_DEFS -DNANOGUI_GLAD) +- list(APPEND NANOGUI_EXTRA_INCS "${CMAKE_CURRENT_SOURCE_DIR}/ext/glad/include") +-endif() +- + list(APPEND NANOGUI_EXTRA_INCS + "${CMAKE_CURRENT_SOURCE_DIR}/ext/glfw/include" + "${CMAKE_CURRENT_SOURCE_DIR}/ext/nanovg/src" +@@ -299,8 +284,6 @@ if (APPLE) + add_compile_options(-fobjc-arc) + endif() + +-add_definitions(${NANOGUI_EXTRA_DEFS}) +- + # Compile main NanoGUI library + add_library(nanogui-obj OBJECT + # Merge NanoVG into the NanoGUI library +@@ -373,6 +356,14 @@ find_package(Eigen3 CONFIG REQUIRED) + find_package(glfw3 CONFIG REQUIRED) + target_link_libraries(nanogui glfw nanovg::nanovg Eigen3::Eigen) + ++if (NANOGUI_USE_GLAD) ++ find_package(glad CONFIG REQUIRED) ++ target_link_libraries(nanogui glad::glad) ++ list(APPEND NANOGUI_EXTRA_DEFS -DNANOGUI_GLAD) ++endif() ++ ++add_definitions(${NANOGUI_EXTRA_DEFS}) ++ + if (NANOGUI_BUILD_SHARED) + set_property(TARGET nanogui-obj PROPERTY POSITION_INDEPENDENT_CODE ON) + endif() +@@ -380,11 +371,6 @@ endif() + # Compile/link flags for NanoGUI + set_property(TARGET nanogui-obj APPEND PROPERTY COMPILE_DEFINITIONS "NANOGUI_BUILD;NVG_BUILD") + +-if (NANOGUI_USE_GLAD AND NANOGUI_BUILD_SHARED) +- set_property(TARGET nanogui-obj APPEND PROPERTY COMPILE_DEFINITIONS +- "GLAD_GLAPI_EXPORT;GLAD_GLAPI_EXPORT_BUILD") +-endif() +- + if (NANOGUI_BUILD_SHARED) + target_link_libraries(nanogui ${NANOGUI_EXTRA_LIBS}) + endif() +diff --git a/include/nanogui/opengl.h b/include/nanogui/opengl.h +index f5abcb2..1c20653 100644 +--- a/include/nanogui/opengl.h ++++ b/include/nanogui/opengl.h +@@ -17,10 +17,6 @@ + + #ifndef DOXYGEN_SHOULD_SKIP_THIS + #if defined(NANOGUI_GLAD) +- #if defined(NANOGUI_SHARED) && !defined(GLAD_GLAPI_EXPORT) +- #define GLAD_GLAPI_EXPORT +- #endif +- + #include + #else + #if defined(__APPLE__) +diff --git a/src/example3.cpp b/src/example3.cpp +index 3d2ecfa..72deaa8 100644 +--- a/src/example3.cpp ++++ b/src/example3.cpp +@@ -14,10 +14,6 @@ + // GLFW + // + #if defined(NANOGUI_GLAD) +- #if defined(NANOGUI_SHARED) && !defined(GLAD_GLAPI_EXPORT) +- #define GLAD_GLAPI_EXPORT +- #endif +- + #include + #else + #if defined(__APPLE__) diff --git a/ports/nanogui/portfile.cmake b/ports/nanogui/portfile.cmake index 06c899c5e790ec..0d331896d6d2d4 100644 --- a/ports/nanogui/portfile.cmake +++ b/ports/nanogui/portfile.cmake @@ -1,25 +1,39 @@ -vcpkg_fail_port_install(ON_TARGET "uwp") +if(VCPKG_HOST_IS_WINDOWS) + set(USE_GLAD -DNANOGUI_USE_GLAD=ON) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +else() + set(USE_GLAD -DNANOGUI_USE_GLAD=OFF) +endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO wjakob/nanogui - REF e9ec8a1a9861cf578d9c6e85a6420080aa715c03 #Commits on Sep 23, 2019 + REF e9ec8a1a9861cf578d9c6e85a6420080aa715c03 # Commits on Sep 23, 2019 SHA512 36c93bf977862ced2df4030211e2b83625e60a11fc9fdb6c1f2996bb234758331d3f41a7fbafd25a5bca0239ed9bac9c93446a4a7fac4c5e6d7943af2be3e14a HEAD_REF master PATCHES fix-cmakelists.patch + fix-glad-dependence.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - OPTIONS +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + "example" NANOGUI_BUILD_EXAMPLE +) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} -DNANOGUI_EIGEN_INCLUDE_DIR=${CURRENT_INSTALLED_DIR}/include/eigen3 -DEIGEN_INCLUDE_DIR=${CURRENT_INSTALLED_DIR}/include/eigen3 + -DNANOGUI_BUILD_SHARED=${BUILD_SHARED} + ${USE_GLAD} ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -# Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) \ No newline at end of file +file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/nanogui/vcpkg.json b/ports/nanogui/vcpkg.json index c4c7b43254aae1..cc8325a9a7757c 100644 --- a/ports/nanogui/vcpkg.json +++ b/ports/nanogui/vcpkg.json @@ -1,13 +1,24 @@ { "name": "nanogui", - "version-string": "2019-09-23", - "port-version": 2, + "version-date": "2019-09-23", + "port-version": 5, "description": "NanoGUI is a minimalistic cross-platform widget library for OpenGL 3.x or higher.", "homepage": "https://github.com/wjakob/nanogui", + "license": "BSD-3-Clause", "supports": "!uwp", "dependencies": [ "eigen3", + "glad", "glfw3", - "nanovg" - ] + "nanovg", + { + "name": "vcpkg-cmake", + "host": true + } + ], + "features": { + "example": { + "description": "Build NanoGUI example application" + } + } } diff --git a/ports/nanojsonc/portfile.cmake b/ports/nanojsonc/portfile.cmake new file mode 100644 index 00000000000000..0b9fc7806af858 --- /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 306fce8f90c1e5b9031f3f2b1cec5430722477425766fc05e430cceb03bb85188f2c451c0c7d34aed49b506e6a2cd835e419792362f992acbafc0b099fbe4b5e + 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..48eb35f0ebb164 --- /dev/null +++ b/ports/nanojsonc/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "nanojsonc", + "version": "1.0.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 5561f2bbb11fe3..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.1.5 - SHA512 773b8e169a7accac21414c63972423a249164f5b843c6c65c1b03a2eb90d21da788a98debdeb396dab795e52d30605696bc2cf65e5e05687bf115438d5b22717 + REF "${VERSION}" + SHA512 cc119acafe6e000b75299e866b4bace56ec6d8c90e7843ad773efad7b534296d6baf2b75b107c70a0e4fd4cee9763315d87b6f354676b7915732961b89c3adcb HEAD_REF master ) @@ -14,9 +14,8 @@ else() set(NN_ENABLE_NANOCAT OFF) endif() -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_Git=TRUE -DNN_STATIC_LIB=${NN_STATIC_LIB} @@ -26,11 +25,11 @@ vcpkg_configure_cmake( -DNN_ENABLE_NANOCAT=${NN_ENABLE_NANOCAT} ) -vcpkg_install_cmake() +vcpkg_cmake_install() file(STRINGS ${SOURCE_PATH}/.version NN_PACKAGE_VERSION) -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/nanomsg-${NN_PACKAGE_VERSION}) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/nanomsg-${NN_PACKAGE_VERSION}) vcpkg_replace_string( ${CURRENT_PACKAGES_DIR}/share/${PORT}/nanomsg-config.cmake @@ -50,11 +49,13 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") "defined(NN_STATIC_LIB)" "1 // defined(NN_STATIC_LIB)" ) - +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 fb0644ceb8442c..40f61f42affff4 100644 --- a/ports/nanomsg/vcpkg.json +++ b/ports/nanomsg/vcpkg.json @@ -1,11 +1,23 @@ { "name": "nanomsg", - "version-string": "1.1.5", - "port-version": 4, + "version-semver": "1.2.1", + "port-version": 2, "description": [ - "a simple high-performance implementation of several \"scalability protocols\".", + "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." ], + "homepage": "https://nanomsg.org/", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], "features": { "tool": { "description": "nanomsg tool (nanocat)" 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-python.patch b/ports/nanopb/fix-python.patch deleted file mode 100644 index f82293099958b1..00000000000000 --- a/ports/nanopb/fix-python.patch +++ /dev/null @@ -1,25 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index d9c5e5e..4e94bb7 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -41,7 +41,6 @@ endif() - if(nanopb_BUILD_GENERATOR) - set(generator_protos nanopb) - -- find_package(Python REQUIRED) - execute_process( - COMMAND ${Python_EXECUTABLE} -c - "from distutils import sysconfig; print(sysconfig.get_python_lib(prefix=''))" -@@ -64,10 +63,10 @@ if(nanopb_BUILD_GENERATOR) - DESTINATION ${PYTHON_INSTDIR}/proto/ - ) - endforeach() -+ install( FILES generator/proto/_utils.py -+ DESTINATION ${PYTHON_INSTDIR}/proto/ ) - endif() - --install( FILES generator/proto/_utils.py -- DESTINATION ${PYTHON_INSTDIR}/proto/ ) - - if( WIN32 ) - install( diff --git a/ports/nanopb/portfile.cmake b/ports/nanopb/portfile.cmake index cd79b8775f5980..efbe880b12a085 100644 --- a/ports/nanopb/portfile.cmake +++ b/ports/nanopb/portfile.cmake @@ -3,11 +3,11 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO nanopb/nanopb - REF 0.4.5 - SHA512 2f24308440bd961a94449e253627fbe38f6c5217cd70c57e9b3ab702da3c2df03b087ccdd62518940acf6b480a1dbb440ca5681f1766a17b199010d3df7b17a1 + REF ${VERSION} + SHA512 13b395e5bd5a356119a0139a5b3cb13aa821f9077a311714b88b71bd12b9b633f4158b09b5628eda39c90e52d3b78bf51314f16bc0e15621e43b09392049a284 HEAD_REF master PATCHES - fix-python.patch + fix-cmakelist.patch ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" nanopb_BUILD_STATIC_LIBS) @@ -21,37 +21,41 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS vcpkg_find_acquire_program(PYTHON3) -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA OPTIONS -DPython_EXECUTABLE=${PYTHON3} -Dnanopb_BUILD_RUNTIME=ON -DBUILD_STATIC_LIBS=${nanopb_BUILD_STATIC_LIBS} -Dnanopb_MSVC_STATIC_RUNTIME=${nanopb_STATIC_LINKING} - -Dnanopb_PROTOC_PATH=${CURRENT_HOST_INSTALLED_DIR}/tools/protobuf/protoc${VCPKG_HOST_EXECUTABLE_SUFFIX} + -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_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${PORT}") 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}/Lib/site-packages/" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}/site-packages") 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() # 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/nanopb/vcpkg.json b/ports/nanopb/vcpkg.json index dad0eff55b36e4..c366165d61d04a 100644 --- a/ports/nanopb/vcpkg.json +++ b/ports/nanopb/vcpkg.json @@ -1,8 +1,19 @@ { "name": "nanopb", - "version-semver": "0.4.5", + "version-semver": "0.4.9", "description": "A small code-size Protocol Buffers implementation in ANSI C.", "homepage": "https://jpa.kapsi.fi/nanopb/", + "license": "Zlib", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], "features": { "generator": { "description": "build the generator", diff --git a/ports/nanoprintf/portfile.cmake b/ports/nanoprintf/portfile.cmake index 7587949e19a0ca..6cbda191cd86e2 100644 --- a/ports/nanoprintf/portfile.cmake +++ b/ports/nanoprintf/portfile.cmake @@ -2,11 +2,11 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO charlesnicholson/nanoprintf - REF b210b50a2b8608e2f0226b47a8f82c3476177a4f - SHA512 8340bf3785a8609568188e28e3fb905007d6da052f860df02fe0b8b2fdef3ca1ac87b91f7ac203fbd7235bcd50c8a63f33b2fca2854cad1351899c59cd8d7646 + REF "v${VERSION}" + SHA512 a82da24fcd176c385c8c2d1666416bcbafc3bf3e1b9e1365c8ffd7a0158485c7af6b0dbf7cd0821a7af55238784cd682a0f22fe37527b91ea3f3eaa702c61c46 HEAD_REF master ) -file(COPY ${SOURCE_PATH}/nanoprintf.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) +file(COPY "${SOURCE_PATH}/nanoprintf.h" 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/nanoprintf/vcpkg.json b/ports/nanoprintf/vcpkg.json index 9828d6baa28eea..7ed266d05662d4 100644 --- a/ports/nanoprintf/vcpkg.json +++ b/ports/nanoprintf/vcpkg.json @@ -1,7 +1,6 @@ { "name": "nanoprintf", - "version-string": "2020-05-27", - "port-version": 1, + "version": "0.3.4", "description": "A tiny embeddable printf replacement written in C99", "homepage": "https://github.com/charlesnicholson/nanoprintf" } diff --git a/ports/nanorange/portfile.cmake b/ports/nanorange/portfile.cmake index c516ecb80c1b0e..1b22c4868fbfbf 100644 --- a/ports/nanorange/portfile.cmake +++ b/ports/nanorange/portfile.cmake @@ -1,22 +1,11 @@ -# header-only vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO tcbrindle/NanoRange + REF bf32251d65673fe170d602777c087786c529ead8 + SHA512 74dc8497fd20f56de39e54a104007840450466648f7b216f83265294e24582b486392ad6bf0cc85ca9877655640f08f833bc5d82ebee991b8a57d4fa44f0934f HEAD_REF master ) -# -#vcpkg_configure_cmake( -# SOURCE_PATH ${SOURCE_PATH} -# PREFER_NINJA -#) -#vcpkg_build_cmake() -# - -# Copy header files -file(COPY ${SOURCE_PATH}/include DESTINATION ${CURRENT_PACKAGES_DIR} FILES_MATCHING PATTERN "*.hpp") - -# Handle copyright -file(COPY ${SOURCE_PATH}/LICENSE_1_0.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/nanorange) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/nanorange/LICENSE_1_0.txt ${CURRENT_PACKAGES_DIR}/share/nanorange/copyright) +file(COPY "${SOURCE_PATH}/include" DESTINATION "${CURRENT_PACKAGES_DIR}" FILES_MATCHING PATTERN "*.hpp") +file(INSTALL "${SOURCE_PATH}/LICENSE_1_0.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/nanorange/vcpkg.json b/ports/nanorange/vcpkg.json index 7ed217cb00007a..3aed5b7a9ab180 100644 --- a/ports/nanorange/vcpkg.json +++ b/ports/nanorange/vcpkg.json @@ -1,6 +1,7 @@ { "name": "nanorange", - "version-string": "0.0.0", - "port-version": 1, - "description": "NanoRange is a C++14 implementation of the C++20 Ranges proposals." + "version-date": "2020-07-06", + "description": "NanoRange is a C++14 implementation of the C++20 Ranges proposals.", + "homepage": "https://github.com/tcbrindle/NanoRange", + "license": "BSL-1.0" } diff --git a/ports/nanort/vcpkg.json b/ports/nanort/vcpkg.json index c91db27aeabf11..bb1265efa974e1 100644 --- a/ports/nanort/vcpkg.json +++ b/ports/nanort/vcpkg.json @@ -1,7 +1,7 @@ { "name": "nanort", - "version-string": "2019-08-20", - "port-version": 2, + "version-date": "2019-08-20", + "port-version": 3, "description": "Single header only modern ray tracing kernel", "homepage": "https://github.com/lighttransport/nanort" } diff --git a/ports/nanosvg/fltk.patch b/ports/nanosvg/fltk.patch new file mode 100644 index 00000000000000..cdd648cdd77697 --- /dev/null +++ b/ports/nanosvg/fltk.patch @@ -0,0 +1,237 @@ +diff --git a/src/nanosvgrast.h b/src/nanosvgrast.h +index 17ba3b0..a83db27 100644 +--- a/src/nanosvgrast.h ++++ b/src/nanosvgrast.h +@@ -22,6 +22,12 @@ + * + */ + ++/* Modified by FLTK to support non-square X,Y axes scaling. ++ * ++ * Added: nsvgRasterizeXY() ++*/ ++ ++ + #ifndef NANOSVGRAST_H + #define NANOSVGRAST_H + +@@ -46,6 +52,9 @@ typedef struct NSVGrasterizer NSVGrasterizer; + unsigned char* img = malloc(w*h*4); + // Rasterize + nsvgRasterize(rast, image, 0,0,1, img, w, h, w*4); ++ ++ // For non-square X,Y scaling, use ++ nsvgRasterizeXY(rast, image, 0,0,1,1, img, w, h, w*4); + */ + + // Allocated rasterizer context. +@@ -55,7 +64,7 @@ NSVGrasterizer* nsvgCreateRasterizer(void); + // r - pointer to rasterizer context + // image - pointer to image to rasterize + // tx,ty - image offset (applied after scaling) +-// scale - image scale ++// scale - image scale (assumes square aspect ratio) + // dst - pointer to destination image data, 4 bytes per pixel (RGBA) + // w - width of the image to render + // h - height of the image to render +@@ -64,6 +73,12 @@ void nsvgRasterize(NSVGrasterizer* r, + NSVGimage* image, float tx, float ty, float scale, + unsigned char* dst, int w, int h, int stride); + ++// As above, but allow X and Y axes to scale independently for non-square aspects ++void nsvgRasterizeXY(NSVGrasterizer* r, ++ NSVGimage* image, float tx, float ty, ++ float sx, float sy, ++ unsigned char* dst, int w, int h, int stride); ++ + // Deletes rasterizer context. + void nsvgDeleteRasterizer(NSVGrasterizer*); + +@@ -370,7 +385,7 @@ static void nsvg__flattenCubicBez(NSVGrasterizer* r, + nsvg__flattenCubicBez(r, x1234,y1234, x234,y234, x34,y34, x4,y4, level+1, type); + } + +-static void nsvg__flattenShape(NSVGrasterizer* r, NSVGshape* shape, float scale) ++static void nsvg__flattenShape(NSVGrasterizer* r, NSVGshape* shape, float sx, float sy) + { + int i, j; + NSVGpath* path; +@@ -378,13 +393,13 @@ static void nsvg__flattenShape(NSVGrasterizer* r, NSVGshape* shape, float scale) + for (path = shape->paths; path != NULL; path = path->next) { + r->npoints = 0; + // Flatten path +- nsvg__addPathPoint(r, path->pts[0]*scale, path->pts[1]*scale, 0); ++ nsvg__addPathPoint(r, path->pts[0]*sx, path->pts[1]*sy, 0); + for (i = 0; i < path->npts-1; i += 3) { + float* p = &path->pts[i*2]; +- nsvg__flattenCubicBez(r, p[0]*scale,p[1]*scale, p[2]*scale,p[3]*scale, p[4]*scale,p[5]*scale, p[6]*scale,p[7]*scale, 0, 0); ++ nsvg__flattenCubicBez(r, p[0]*sx,p[1]*sy, p[2]*sx,p[3]*sy, p[4]*sx,p[5]*sy, p[6]*sx,p[7]*sy, 0, 0); + } + // Close path +- nsvg__addPathPoint(r, path->pts[0]*scale, path->pts[1]*scale, 0); ++ nsvg__addPathPoint(r, path->pts[0]*sx, path->pts[1]*sy, 0); + // Build edges + for (i = 0, j = r->npoints-1; i < r->npoints; j = i++) + nsvg__addEdge(r, r->points[j].x, r->points[j].y, r->points[i].x, r->points[i].y); +@@ -734,7 +749,7 @@ static void nsvg__prepareStroke(NSVGrasterizer* r, float miterLimit, int lineJoi + } + } + +-static void nsvg__flattenShapeStroke(NSVGrasterizer* r, NSVGshape* shape, float scale) ++static void nsvg__flattenShapeStroke(NSVGrasterizer* r, NSVGshape* shape, float sx, float sy) + { + int i, j, closed; + NSVGpath* path; +@@ -742,15 +757,16 @@ static void nsvg__flattenShapeStroke(NSVGrasterizer* r, NSVGshape* shape, float + float miterLimit = shape->miterLimit; + int lineJoin = shape->strokeLineJoin; + int lineCap = shape->strokeLineCap; +- float lineWidth = shape->strokeWidth * scale; ++ const float sw = (sx + sy) / 2; // average scaling factor ++ const float lineWidth = shape->strokeWidth * sw; // FIXME (?) + + for (path = shape->paths; path != NULL; path = path->next) { + // Flatten path + r->npoints = 0; +- nsvg__addPathPoint(r, path->pts[0]*scale, path->pts[1]*scale, NSVG_PT_CORNER); ++ nsvg__addPathPoint(r, path->pts[0]*sx, path->pts[1]*sy, NSVG_PT_CORNER); + for (i = 0; i < path->npts-1; i += 3) { + float* p = &path->pts[i*2]; +- nsvg__flattenCubicBez(r, p[0]*scale,p[1]*scale, p[2]*scale,p[3]*scale, p[4]*scale,p[5]*scale, p[6]*scale,p[7]*scale, 0, NSVG_PT_CORNER); ++ nsvg__flattenCubicBez(r, p[0]*sx,p[1]*sy, p[2]*sx,p[3]*sy, p[4]*sx,p[5]*sy, p[6]*sx,p[7]*sy, 0, NSVG_PT_CORNER); + } + if (r->npoints < 2) + continue; +@@ -796,7 +812,7 @@ static void nsvg__flattenShapeStroke(NSVGrasterizer* r, NSVGshape* shape, float + dashOffset -= shape->strokeDashArray[idash]; + idash = (idash + 1) % shape->strokeDashCount; + } +- dashLen = (shape->strokeDashArray[idash] - dashOffset) * scale; ++ dashLen = (shape->strokeDashArray[idash] - dashOffset) * sw; + + for (j = 1; j < r->npoints2; ) { + float dx = r->points2[j].x - cur.x; +@@ -818,7 +834,7 @@ static void nsvg__flattenShapeStroke(NSVGrasterizer* r, NSVGshape* shape, float + // Advance dash pattern + dashState = !dashState; + idash = (idash+1) % shape->strokeDashCount; +- dashLen = shape->strokeDashArray[idash] * scale; ++ dashLen = shape->strokeDashArray[idash] * sw; + // Restart + cur.x = x; + cur.y = y; +@@ -987,7 +1003,7 @@ static inline int nsvg__div255(int x) + } + + static void nsvg__scanlineSolid(unsigned char* dst, int count, unsigned char* cover, int x, int y, +- float tx, float ty, float scale, NSVGcachedPaint* cache) ++ float tx, float ty, float sx, float sy, NSVGcachedPaint* cache) + { + + if (cache->type == NSVG_PAINT_COLOR) { +@@ -1028,9 +1044,9 @@ static void nsvg__scanlineSolid(unsigned char* dst, int count, unsigned char* co + int i, cr, cg, cb, ca; + unsigned int c; + +- fx = ((float)x - tx) / scale; +- fy = ((float)y - ty) / scale; +- dx = 1.0f / scale; ++ fx = ((float)x - tx) / sx; ++ fy = ((float)y - ty) / sy; ++ dx = 1.0f / sx; + + for (i = 0; i < count; i++) { + int r,g,b,a,ia; +@@ -1073,9 +1089,9 @@ static void nsvg__scanlineSolid(unsigned char* dst, int count, unsigned char* co + int i, cr, cg, cb, ca; + unsigned int c; + +- fx = ((float)x - tx) / scale; +- fy = ((float)y - ty) / scale; +- dx = 1.0f / scale; ++ fx = ((float)x - tx) / sx; ++ fy = ((float)y - ty) / sy; ++ dx = 1.0f / sx; + + for (i = 0; i < count; i++) { + int r,g,b,a,ia; +@@ -1114,7 +1130,7 @@ static void nsvg__scanlineSolid(unsigned char* dst, int count, unsigned char* co + } + } + +-static void nsvg__rasterizeSortedEdges(NSVGrasterizer *r, float tx, float ty, float scale, NSVGcachedPaint* cache, char fillRule) ++static void nsvg__rasterizeSortedEdges(NSVGrasterizer *r, float tx, float ty, float sx, float sy, NSVGcachedPaint* cache, char fillRule) + { + NSVGactiveEdge *active = NULL; + int y, s; +@@ -1196,7 +1212,7 @@ static void nsvg__rasterizeSortedEdges(NSVGrasterizer *r, float tx, float ty, fl + if (xmin < 0) xmin = 0; + if (xmax > r->width-1) xmax = r->width-1; + if (xmin <= xmax) { +- nsvg__scanlineSolid(&r->bitmap[y * r->stride] + xmin*4, xmax-xmin+1, &r->scanline[xmin], xmin, y, tx,ty, scale, cache); ++ nsvg__scanlineSolid(&r->bitmap[y * r->stride] + xmin*4, xmax-xmin+1, &r->scanline[xmin], xmin, y, tx,ty, sx, sy, cache); + } + } + +@@ -1364,8 +1380,9 @@ static void dumpEdges(NSVGrasterizer* r, const char* name) + } + */ + +-void nsvgRasterize(NSVGrasterizer* r, +- NSVGimage* image, float tx, float ty, float scale, ++void nsvgRasterizeXY(NSVGrasterizer* r, ++ NSVGimage* image, float tx, float ty, ++ float sx, float sy, + unsigned char* dst, int w, int h, int stride) + { + NSVGshape *shape = NULL; +@@ -1396,7 +1413,7 @@ void nsvgRasterize(NSVGrasterizer* r, + r->freelist = NULL; + r->nedges = 0; + +- nsvg__flattenShape(r, shape, scale); ++ nsvg__flattenShape(r, shape, sx, sy); + + // Scale and translate edges + for (i = 0; i < r->nedges; i++) { +@@ -1414,14 +1431,14 @@ void nsvgRasterize(NSVGrasterizer* r, + // now, traverse the scanlines and find the intersections on each scanline, use non-zero rule + nsvg__initPaint(&cache, &shape->fill, shape->opacity); + +- nsvg__rasterizeSortedEdges(r, tx,ty,scale, &cache, shape->fillRule); ++ nsvg__rasterizeSortedEdges(r, tx,ty, sx, sy, &cache, shape->fillRule); + } +- if (shape->stroke.type != NSVG_PAINT_NONE && (shape->strokeWidth * scale) > 0.01f) { ++ if (shape->stroke.type != NSVG_PAINT_NONE && (shape->strokeWidth * sx) > 0.01f) { + nsvg__resetPool(r); + r->freelist = NULL; + r->nedges = 0; + +- nsvg__flattenShapeStroke(r, shape, scale); ++ nsvg__flattenShapeStroke(r, shape, sx, sy); + + // dumpEdges(r, "edge.svg"); + +@@ -1441,7 +1458,7 @@ void nsvgRasterize(NSVGrasterizer* r, + // now, traverse the scanlines and find the intersections on each scanline, use non-zero rule + nsvg__initPaint(&cache, &shape->stroke, shape->opacity); + +- nsvg__rasterizeSortedEdges(r, tx,ty,scale, &cache, NSVG_FILLRULE_NONZERO); ++ nsvg__rasterizeSortedEdges(r, tx,ty,sx, sy, &cache, NSVG_FILLRULE_NONZERO); + } + } + +@@ -1453,6 +1470,13 @@ void nsvgRasterize(NSVGrasterizer* r, + r->stride = 0; + } + ++void nsvgRasterize(NSVGrasterizer* r, ++ NSVGimage* image, float tx, float ty, float scale, ++ unsigned char* dst, int w, int h, int stride) ++{ ++ nsvgRasterizeXY(r,image, tx, ty, scale, scale, dst, w, h, stride); ++} ++ + #endif // NANOSVGRAST_IMPLEMENTATION + + #endif // NANOSVGRAST_H diff --git a/ports/nanosvg/portfile.cmake b/ports/nanosvg/portfile.cmake new file mode 100644 index 00000000000000..b60d3ec9fb8643 --- /dev/null +++ b/ports/nanosvg/portfile.cmake @@ -0,0 +1,21 @@ +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO memononen/nanosvg + REF 93ce879dc4c04a3ef1758428ec80083c38610b1f + SHA512 14ecaf11efd2f0b983847ded557557a2919cc04fc5e9748118cc0bd33fccae2688afc0dc182ebb8c0deb4b599c697f140185644a087c702fba1e6368f5a5b89c + HEAD_REF master + 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) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") diff --git a/ports/nanosvg/vcpkg.json b/ports/nanosvg/vcpkg.json new file mode 100644 index 00000000000000..55256afef61490 --- /dev/null +++ b/ports/nanosvg/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "nanosvg", + "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": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/nanovg/portfile.cmake b/ports/nanovg/portfile.cmake index 6a838808bb0da4..7de4d8ababe308 100644 --- a/ports/nanovg/portfile.cmake +++ b/ports/nanovg/portfile.cmake @@ -1,5 +1,3 @@ -vcpkg_fail_port_install(ON_TARGET "UWP") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO memononen/nanovg @@ -8,23 +6,22 @@ vcpkg_from_github( HEAD_REF master ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/nanovgConfig.cmake DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") +file(COPY "${CMAKE_CURRENT_LIST_DIR}/nanovgConfig.cmake" DESTINATION "${SOURCE_PATH}") -file(GLOB STB_SRCS ${SOURCE_PATH}/src/stb_*) +file(GLOB STB_SRCS "${SOURCE_PATH}/src/stb_*") if(STB_SRCS) file(REMOVE_RECURSE ${STB_SRCS}) endif() -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -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") -file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/nanovg/vcpkg.json b/ports/nanovg/vcpkg.json index 39e3cd017f68bd..aa415ca4c99f31 100644 --- a/ports/nanovg/vcpkg.json +++ b/ports/nanovg/vcpkg.json @@ -1,10 +1,15 @@ { "name": "nanovg", - "version-string": "2019-8-30", - "port-version": 4, + "version-date": "2019-08-30", + "port-version": 6, "description": "NanoVG is small antialiased vector graphics rendering library for OpenGL.", "homepage": "https://github.com/memononen/nanovg", + "supports": "!uwp", "dependencies": [ - "stb" + "stb", + { + "name": "vcpkg-cmake", + "host": true + } ] } 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 c31caab408c300..00000000000000 --- a/ports/nativefiledialog/portfile.cmake +++ /dev/null @@ -1,38 +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 ceb75f7abf30736aa8ee4800cde0d444c798f8b9 - SHA512 dd2bff28bb08fb1f6b07ad28530da039f176fb641e300b816040a2b2b840611e418cad44fdaf395ec565c50149ce58c80f88f6a77b403b843f2b14f1f2c91d7d - 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} - PREFER_NINJA - 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 a9fb973797db15..00000000000000 --- a/ports/nativefiledialog/vcpkg.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "name": "nativefiledialog", - "version-date": "2019-08-28", - "port-version": 1, - "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/CMakeLists.txt b/ports/nayuki-qr-code-generator/CMakeLists.txt new file mode 100644 index 00000000000000..937c69016af042 --- /dev/null +++ b/ports/nayuki-qr-code-generator/CMakeLists.txt @@ -0,0 +1,24 @@ +cmake_minimum_required(VERSION 3.14) + +project(nayuki-qr-code-generator LANGUAGES CXX) + +include(GNUInstallDirs) + +add_library(nayuki-qr-code-generator qrcodegen.cpp) +target_compile_features(nayuki-qr-code-generator PUBLIC cxx_std_11) +target_include_directories( + nayuki-qr-code-generator + PUBLIC + $ +) + +install(FILES qrcodegen.hpp DESTINATION include) + +install(TARGETS nayuki-qr-code-generator EXPORT unofficial-nayuki-qr-code-generator-config) + +install( + EXPORT unofficial-nayuki-qr-code-generator-config + NAMESPACE unofficial::nayuki-qr-code-generator:: + DESTINATION share/unofficial-nayuki-qr-code-generator + PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ +) diff --git a/ports/nayuki-qr-code-generator/portfile.cmake b/ports/nayuki-qr-code-generator/portfile.cmake new file mode 100644 index 00000000000000..accc85113ed267 --- /dev/null +++ b/ports/nayuki-qr-code-generator/portfile.cmake @@ -0,0 +1,23 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO nayuki/QR-Code-generator + REF v1.8.0 + SHA512 0cdf0873e71aed124fc7357da86fb26f23fd26432f94c9752fa5a044085b26e5aece2115134d0e50213ff24be7c55818e7dec31205a68751065bc82ab0c2c6ac + HEAD_REF master +) + +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}/cpp") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/cpp" +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(CONFIG_PATH share/unofficial-nayuki-qr-code-generator PACKAGE_NAME unofficial-nayuki-qr-code-generator) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") + +# Handle copyright +configure_file("${SOURCE_PATH}/Readme.markdown" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) diff --git a/ports/nayuki-qr-code-generator/vcpkg.json b/ports/nayuki-qr-code-generator/vcpkg.json new file mode 100644 index 00000000000000..960fa947a45c79 --- /dev/null +++ b/ports/nayuki-qr-code-generator/vcpkg.json @@ -0,0 +1,18 @@ +{ + "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", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/nccl/portfile.cmake b/ports/nccl/portfile.cmake index e6c184daabe01b..5909c49d5acb20 100644 --- a/ports/nccl/portfile.cmake +++ b/ports/nccl/portfile.cmake @@ -1,4 +1,3 @@ -vcpkg_fail_port_install(ON_TARGET "Windows" "OSX" ON_ARCH "x86" "arm") # Find NCCL. We can use FindNCCL directly since it doesn't call any functions # that are disallowed in CMake script mode @@ -16,4 +15,6 @@ else() message(FATAL_ERROR "Please install NCCL using your system package manager (the same way you installed CUDA). For example: apt install libnccl2 libnccl-dev.") endif() +file(INSTALL "${CURRENT_PORT_DIR}/FindNCCL.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +configure_file("${CURRENT_PORT_DIR}/vcpkg-cmake-wrapper.cmake" "${CURRENT_PACKAGES_DIR}/share/${PORT}/vcpkg-cmake-wrapper.cmake" @ONLY) file(INSTALL "${CURRENT_PORT_DIR}/usage" DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) diff --git a/ports/nccl/vcpkg.json b/ports/nccl/vcpkg.json index 479c4df48ea0ab..47aeef6a62af7f 100644 --- a/ports/nccl/vcpkg.json +++ b/ports/nccl/vcpkg.json @@ -1,7 +1,7 @@ { "name": "nccl", - "version-string": "2.4.6", - "port-version": 1, + "version": "2.4.6", + "port-version": 2, "description": "Optimized primitives for collective multi-GPU communication.", "supports": "linux & x64", "dependencies": [ 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 new file mode 100644 index 00000000000000..40000fcc82aec1 --- /dev/null +++ b/ports/ncnn/portfile.cmake @@ -0,0 +1,38 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Tencent/ncnn + 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 + -DNCNN_SHARED_LIB=${BUILD_SHARED} +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/ncnn) +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.txt") diff --git a/ports/ncnn/vcpkg.json b/ports/ncnn/vcpkg.json new file mode 100644 index 00000000000000..3369007843b65d --- /dev/null +++ b/ports/ncnn/vcpkg.json @@ -0,0 +1,28 @@ +{ + "name": "ncnn", + "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", + "supports": "!(windows & arm)", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "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 71ccfda8b11826..f1bf3887df8815 100644 --- a/ports/ncurses/portfile.cmake +++ b/ports/ncurses/portfile.cmake @@ -1,51 +1,57 @@ -vcpkg_fail_port_install(ON_TARGET "Windows" "UWP") - vcpkg_download_distfile( ARCHIVE_PATH URLS - "https://invisible-mirror.net/archives/ncurses/ncurses-6.2.tar.gz" - "ftp://ftp.invisible-island.net/ncurses/ncurses-6.2.tar.gz" - "https://ftp.gnu.org/gnu/ncurses/ncurses-6.2.tar.gz" - FILENAME "ncurses-6.2.tgz" - SHA512 4c1333dcc30e858e8a9525d4b9aefb60000cfc727bc4a1062bace06ffc4639ad9f6e54f6bdda0e3a0e5ea14de995f96b52b3327d9ec633608792c99a1e8d840d + "https://invisible-mirror.net/archives/ncurses/ncurses-${VERSION}.tar.gz" + "ftp://ftp.invisible-island.net/ncurses/ncurses-${VERSION}.tar.gz" + "https://ftp.gnu.org/gnu/ncurses/ncurses-${VERSION}.tar.gz" + FILENAME "ncurses-${VERSION}.tgz" + SHA512 1c2efff87a82a57e57b0c60023c87bae93f6718114c8f9dc010d4c21119a2f7576d0225dab5f0a227c2cfc6fb6bdbd62728e407f35fce5bf351bb50cf9e0fd34 ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE_PATH} +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE_PATH}" ) -set(OPTIONS - --disable-db-install - --enable-pc-files - --without-manpages - --without-progs - --without-tack - --without-tests -) -if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) +vcpkg_list(SET OPTIONS) + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") list(APPEND OPTIONS - --with-shared --with-cxx-shared - --without-normal + --with-shared # "lib model" + --without-normal # "lib model" ) endif() -set(OPTIONS_DEBUG - --with-pkg-config-libdir=${CURRENT_INSTALLED_DIR}/debug/lib/pkgconfig - --with-debug -) -set(OPTIONS_RELEASE - --with-pkg-config-libdir=${CURRENT_INSTALLED_DIR}/lib/pkgconfig - --without-debug -) +if(NOT VCPKG_TARGET_IS_MINGW) + list(APPEND OPTIONS + --enable-mixed-case + ) +endif() + +if(VCPKG_TARGET_IS_MINGW) + list(APPEND OPTIONS + --disable-home-terminfo + --enable-term-driver + --disable-termcap + ) +endif() vcpkg_configure_make( - SOURCE_PATH ${SOURCE_PATH} - OPTIONS ${OPTIONS} - OPTIONS_DEBUG ${OPTIONS_DEBUG} - OPTIONS_RELEASE ${OPTIONS_RELEASE} + SOURCE_PATH "${SOURCE_PATH}" + DETERMINE_BUILD_TRIPLET NO_ADDITIONAL_PATHS + OPTIONS + ${OPTIONS} + --disable-db-install + --enable-pc-files + --without-ada + --without-debug # "lib model" + --without-manpages + --without-progs + --without-tack + --without-tests + --with-pkg-config-libdir=libdir ) vcpkg_install_make() @@ -56,4 +62,5 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin") 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) +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/ncurses/usage b/ports/ncurses/usage new file mode 100644 index 00000000000000..ff8bc2d610de76 --- /dev/null +++ b/ports/ncurses/usage @@ -0,0 +1,7 @@ +The package ncurses is compatible with built-in CMake variables: + + set(CURSES_NEED_NCURSES TRUE) + find_package(Curses REQUIRED) + 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 a0aa9df575e10d..f1c28604b9e9af 100644 --- a/ports/ncurses/vcpkg.json +++ b/ports/ncurses/vcpkg.json @@ -1,7 +1,9 @@ { "name": "ncurses", - "version-string": "6.2", - "port-version": 1, - "description": "free software emulation of curses in System V Release 4.0", - "supports": "!(windows | uwp)" + "version": "6.4", + "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", + "supports": "!windows | mingw" } diff --git a/ports/ndis-driver-library/portfile.cmake b/ports/ndis-driver-library/portfile.cmake new file mode 100644 index 00000000000000..a818006f7ad0ee --- /dev/null +++ b/ports/ndis-driver-library/portfile.cmake @@ -0,0 +1,11 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO microsoft/ndis-driver-library + REF "release/v${VERSION}" + SHA512 4f96c8769c9363e8e2abc89090d1342dc6b9f868c72434cd1943c3d6d52bc89195463eb7bb5aa6d128b31f1ae61a1fd5131e2fe859c1b591ef3a54de764661a3 + HEAD_REF main +) + +file(COPY "${SOURCE_PATH}/src/include/ndis" DESTINATION "${CURRENT_PACKAGES_DIR}/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/ndis-driver-library/vcpkg.json b/ports/ndis-driver-library/vcpkg.json new file mode 100644 index 00000000000000..93542ce76edcfc --- /dev/null +++ b/ports/ndis-driver-library/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "ndis-driver-library", + "version": "1.2.0", + "description": "Code to make it easier to write an NDIS network driver on Windows", + "homepage": "https://github.com/microsoft/ndis-driver-library", + "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 e27641bd4d132d..d2255e66ed7fca 100644 --- a/ports/neargye-semver/vcpkg.json +++ b/ports/neargye-semver/vcpkg.json @@ -1,6 +1,17 @@ { "name": "neargye-semver", - "version": "0.3.0", + "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" + "homepage": "https://github.com/Neargye/semver", + "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 124fa3157030ab..d71d3b8d8a4870 100644 --- a/ports/ned14-internal-quickcpplib/portfile.cmake +++ b/ports/ned14-internal-quickcpplib/portfile.cmake @@ -8,16 +8,26 @@ # known to be compatible with QuickCppLib. It has occurred in the # past that newer versions were severely broken with QuickCppLib. -include(${CURRENT_PORT_DIR}/sha_manifest.cmake) +include("${CURRENT_PORT_DIR}/sha_manifest.cmake") -message(WARNING [=[ -QuickCppLib and its downstream dependencies Outcome and LLFIO were tested against gsl-lite version 0.38.1 and byte-lite version 0.3.0. They are not guaranteed to work with newer versions, with failures experienced in the past up-to-and-including runtime crashes. You can pin the versions as verified to work in QuickCppLib's CI in your manifest file by adding: - "overrides": [ - { "name": "gsl-lite", "version": "0.38.1" }, - { "name": "byte-lite", "version": "0.3.0" } - ] -Do not report issues to upstream without first pinning these previous versions. -]=]) +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + INVERTED_FEATURES + polyfill-cxx17 QUICKCPPLIB_REQUIRE_CXX17 + polyfill-cxx20 QUICKCPPLIB_REQUIRE_CXX20 +) + +if (NOT QUICKCPPLIB_REQUIRE_CXX20) + message(WARNING [=[ + QuickCppLib and its downstream dependencies Outcome and LLFIO were tested against span-lite version 0.10.3 and byte-lite version 0.3.0. They are not guaranteed to work with newer versions, with failures experienced in the past up-to-and-including runtime crashes. You can pin the versions as verified to work in QuickCppLib's CI in your manifest file by adding: + "overrides": [ + { "name": "span-lite", "version": "0.10.3" }, + { "name": "byte-lite", "version": "0.3.0" } + ] + Do not report issues to upstream without first pinning these previous versions. + ]=]) +endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH @@ -29,14 +39,6 @@ vcpkg_from_github( quicklib-depheaders.patch ) -# Quickcpplib deploys subsets of the dependency headers into a private subdirectory -file(COPY "${CURRENT_INSTALLED_DIR}/include/nonstd/byte.hpp" - DESTINATION "${SOURCE_PATH}/include/quickcpplib/byte/include/nonstd") -file(COPY "${CURRENT_INSTALLED_DIR}/include/gsl/gsl-lite.hpp" - DESTINATION "${SOURCE_PATH}/include/quickcpplib/gsl-lite/include/gsl") -file(COPY "${CURRENT_INSTALLED_DIR}/include/gsl-lite/gsl-lite.hpp" - DESTINATION "${SOURCE_PATH}/include/quickcpplib/gsl-lite/include/gsl-lite") - vcpkg_from_github( OUT_SOURCE_PATH OPT_SOURCE_PATH REPO akrzemi1/Optional @@ -51,24 +53,28 @@ file(COPY "${OPT_SOURCE_PATH}/." DESTINATION "${SOURCE_PATH}/include/quickcpplib set(VCPKG_BUILD_TYPE release) # Use QuickCppLib's own build process, skipping examples and tests. -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - PREFER_NINJA OPTIONS - -DPROJECT_IS_DEPENDENCY=On - -DQUICKCPPLIB_USE_VCPKG_BYTE_LITE=ON - -DQUICKCPPLIB_USE_VCPKG_GSL_LITE=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" + ${FEATURE_OPTIONS} + MAYBE_UNUSED_VARIABLES + CMAKE_DISABLE_FIND_PACKAGE_Doxygen ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/quickcpplib) +vcpkg_cmake_config_fixup( + PACKAGE_NAME quickcpplib + CONFIG_PATH lib/cmake/quickcpplib +) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") -file(RENAME "${CURRENT_PACKAGES_DIR}/share/cmakelib" "${CURRENT_PACKAGES_DIR}/share/ned14-internal-quickcpplib/cmakelib") -file(RENAME "${CURRENT_PACKAGES_DIR}/share/scripts" "${CURRENT_PACKAGES_DIR}/share/ned14-internal-quickcpplib/scripts") file(INSTALL "${CURRENT_PORT_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -file(INSTALL "${SOURCE_PATH}/Licence.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/Licence.txt") diff --git a/ports/ned14-internal-quickcpplib/quicklib-depheaders.patch b/ports/ned14-internal-quickcpplib/quicklib-depheaders.patch index 7ad3c3b9a77f75..de49af02340929 100644 --- a/ports/ned14-internal-quickcpplib/quicklib-depheaders.patch +++ b/ports/ned14-internal-quickcpplib/quicklib-depheaders.patch @@ -1,5 +1,5 @@ diff --git a/cmake/headers.cmake b/cmake/headers.cmake -index 1aad359..e5053ed 100644 +index 3924a2a..f1e32d9 100644 --- a/cmake/headers.cmake +++ b/cmake/headers.cmake @@ -15,8 +15,6 @@ set(quickcpplib_HEADERS @@ -11,19 +11,15 @@ index 1aad359..e5053ed 100644 "include/quickcpplib/config.hpp" "include/quickcpplib/console_colours.hpp" "include/quickcpplib/cpp_feature.h" -@@ -27,15 +25,8 @@ set(quickcpplib_HEADERS - "include/quickcpplib/erasure_cast.hpp" - "include/quickcpplib/execinfo_win64.h" - "include/quickcpplib/function_ptr.hpp" -- "include/quickcpplib/gsl-lite/gsl-lite.natvis" - "include/quickcpplib/gsl-lite/include/gsl-lite/gsl-lite.hpp" -- "include/quickcpplib/gsl-lite/include/gsl.h" -- "include/quickcpplib/gsl-lite/include/gsl.hpp" -- "include/quickcpplib/gsl-lite/include/gsl/gsl-lite-vc6.hpp" -- "include/quickcpplib/gsl-lite/include/gsl/gsl-lite.h" - "include/quickcpplib/gsl-lite/include/gsl/gsl-lite.hpp" -- "include/quickcpplib/gsl-lite/test/gsl-lite.t.hpp" -- "include/quickcpplib/gsl-lite/test/lest_cpp03.hpp" - "include/quickcpplib/import.h" - "include/quickcpplib/in_place_detach_attach.hpp" - "include/quickcpplib/mem_flush_loads_stores.hpp" +@@ -40,11 +38,7 @@ set(quickcpplib_HEADERS + "include/quickcpplib/ringbuffer_log.hpp" + "include/quickcpplib/scope.hpp" + "include/quickcpplib/signal_guard.hpp" +- "include/quickcpplib/span-lite/example/nonstd/span.tweak.hpp" + "include/quickcpplib/span-lite/include/nonstd/span.hpp" +- "include/quickcpplib/span-lite/test/lest/lest_cpp03.hpp" +- "include/quickcpplib/span-lite/test/nonstd/span.tweak.hpp" +- "include/quickcpplib/span-lite/test/span-main.t.hpp" + "include/quickcpplib/span.hpp" + "include/quickcpplib/spinlock.hpp" + "include/quickcpplib/spinlock.natvis" diff --git a/ports/ned14-internal-quickcpplib/sha_manifest.cmake b/ports/ned14-internal-quickcpplib/sha_manifest.cmake index 78b7c36ee8cbb4..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 e691a6dc0358c1091d59022af06a97d68fcc074d) -set(QUICKCPPLIB_SHA512 8e3213a4d730a3db842fcb61da970badf82a42bd169c8d65f64f1edc1098d1103513f901081ee004395437ae90cb8536040ccb8e44dea764646cb27274caaa6a) +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 a0e89d5941f7f7..b6e96e1a823719 100644 --- a/ports/ned14-internal-quickcpplib/vcpkg.json +++ b/ports/ned14-internal-quickcpplib/vcpkg.json @@ -1,10 +1,42 @@ { "name": "ned14-internal-quickcpplib", - "version-string": "0.0.0-e691a6dc", + "version-date": "2023-11-22", + "maintainers": [ + "Niall Douglas ", + "Henrik Gaßmann " + ], "description": "NOT FOR EXTERNAL CONSUMPTION, a set of internal scripts used by ned14's libraries.", "homepage": "https://github.com/ned14/quickcpplib", + "license": "Apache-2.0 OR BSL-1.0", "dependencies": [ - "byte-lite", - "gsl-lite" - ] + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "polyfill-cxx17": { + "description": "Polyfill std::byte with byte-lite", + "dependencies": [ + "byte-lite", + { + "name": "ned14-internal-quickcpplib", + "default-features": false, + "features": [ + "polyfill-cxx20" + ] + } + ] + }, + "polyfill-cxx20": { + "description": "Polyfill std::span with span-lite", + "dependencies": [ + "span-lite" + ] + } + } } diff --git a/ports/netcdf-c/fix-dependency-libmath.patch b/ports/netcdf-c/fix-dependency-libmath.patch index d6b4c214e92f91..adbfc80ae4c718 100644 --- a/ports/netcdf-c/fix-dependency-libmath.patch +++ b/ports/netcdf-c/fix-dependency-libmath.patch @@ -1,13 +1,20 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index bd7c4f8..03b7ccf 100644 +index c36908b..390ac0a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -866,7 +866,7 @@ ENDIF() +@@ -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/fix-dependency-libzip.patch b/ports/netcdf-c/fix-dependency-libzip.patch new file mode 100644 index 00000000000000..9172a449881bda --- /dev/null +++ b/ports/netcdf-c/fix-dependency-libzip.patch @@ -0,0 +1,44 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1113c7b..69f465e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -960,7 +960,12 @@ OPTION(ENABLE_DAP_REMOTE_TESTS "Enable DAP remote tests." ON) + SET(REMOTETESTSERVERS "remotetest.unidata.ucar.edu" CACHE STRING "test servers to use for remote test") + + # See if we have libzip +-FIND_PACKAGE(Zip) ++if(ENABLE_NCZARR_ZIP) ++ find_package(Zip NAMES libzip REQUIRED) ++ set(Zip_LIBRARIES libzip::zip) ++else() ++ set(Zip_LIBRARIES "") ++endif() + + # Define a test flag for have curl library + IF(Zip_FOUND) +diff --git a/libnczarr/CMakeLists.txt b/libnczarr/CMakeLists.txt +index 86e093b..c0efe1b 100644 +--- a/libnczarr/CMakeLists.txt ++++ b/libnczarr/CMakeLists.txt +@@ -57,6 +57,7 @@ ENDIF() + # the netCDF library. + + add_library(nczarr OBJECT ${libnczarr_SOURCES}) ++target_link_libraries(nczarr PRIVATE ${Zip_LIBRARIES}) + + IF(MPI_C_INCLUDE_PATH) + target_include_directories(nczarr PUBLIC ${MPI_C_INCLUDE_PATH}) +diff --git a/netCDFConfig.cmake.in b/netCDFConfig.cmake.in +index 715e33e..0167326 100644 +--- a/netCDFConfig.cmake.in ++++ b/netCDFConfig.cmake.in +@@ -19,6 +19,9 @@ endif() + if("@FOUND_CURL@") + find_dependency(CURL CONFIG) + endif() ++if("@ENABLE_NCZARR_ZIP@") ++ find_dependency(libzip CONFIG) ++endif() + include("${CMAKE_CURRENT_LIST_DIR}/netCDFTargets.cmake") + + # Compiling Options diff --git a/ports/netcdf-c/fix-dependency-mpi.patch b/ports/netcdf-c/fix-dependency-mpi.patch new file mode 100644 index 00000000000000..91eb2434b12f5d --- /dev/null +++ b/ports/netcdf-c/fix-dependency-mpi.patch @@ -0,0 +1,11 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1207,7 +1207,8 @@ + IF(NOT HDF5_PARALLEL) + SET(USE_PARALLEL OFF CACHE BOOL "") + MESSAGE(STATUS "Cannot find HDF5 library built with parallel support. Disabling parallel build.") + ELSE() + FIND_PACKAGE(MPI REQUIRED) ++ list(REMOVE_ITEM MPI_C_INCLUDE_PATH "${CMAKE_CURRENT_SOURCE_DIR}") + SET(HDF5_PARALLEL ON CACHE BOOL "") + SET(USE_PARALLEL ON CACHE BOOL "") diff --git a/ports/netcdf-c/fix-dependency-zlib.patch b/ports/netcdf-c/fix-dependency-zlib.patch index 52c5d2ecdaef94..a7ec3a91a1499d 100644 --- a/ports/netcdf-c/fix-dependency-zlib.patch +++ b/ports/netcdf-c/fix-dependency-zlib.patch @@ -1,12 +1,12 @@ diff --git a/liblib/CMakeLists.txt b/liblib/CMakeLists.txt -index 5b578f7..0731460 100644 +index be72612..5e1692f 100644 --- a/liblib/CMakeLists.txt +++ b/liblib/CMakeLists.txt -@@ -58,7 +58,7 @@ ENDIF() +@@ -67,7 +67,7 @@ ENDIF() SET(TLL_LIBS "") --SET(TLL_LIBS ${TLL_LIBS} ${HAVE_LIBM} ZLIB::ZLIB) +-SET(TLL_LIBS ${TLL_LIBS} ${HAVE_LIBM} ${ZLIB_LIBRARY}) +SET(TLL_LIBS ${TLL_LIBS} ${HAVE_LIBM}) # Add extra dependencies specified via NC_EXTRA_DEPS diff --git a/ports/netcdf-c/fix-linkage-error.patch b/ports/netcdf-c/fix-linkage-error.patch index e71c30fdef4859..df2539aba6cee1 100644 --- a/ports/netcdf-c/fix-linkage-error.patch +++ b/ports/netcdf-c/fix-linkage-error.patch @@ -1,9 +1,9 @@ diff --git a/liblib/CMakeLists.txt b/liblib/CMakeLists.txt -index 8aeeab7..5b578f7 100644 +index 9e126ec..1363d35 100644 --- a/liblib/CMakeLists.txt +++ b/liblib/CMakeLists.txt -@@ -70,8 +70,14 @@ ENDIF() - IF(USE_HDF5 OR USE_NETCDF4) +@@ -79,8 +79,14 @@ ENDIF() + IF(USE_HDF5) if(TARGET hdf5::hdf5-shared) SET(TLL_LIBS ${TLL_LIBS} hdf5::hdf5-shared hdf5::hdf5_hl-shared) + if(USE_PARALLEL) @@ -15,5 +15,5 @@ index 8aeeab7..5b578f7 100644 + list(APPEND TLL_LIBS ${MPI_C_LIBRARIES}) + endif() endif() - ENDIF() - + elseif(0) + IF(NOT MSVC) diff --git a/ports/netcdf-c/fix-manpage-msys.patch b/ports/netcdf-c/fix-manpage-msys.patch index 24374c95e62469..ec087dc4fce02c 100644 --- a/ports/netcdf-c/fix-manpage-msys.patch +++ b/ports/netcdf-c/fix-manpage-msys.patch @@ -1,8 +1,8 @@ diff --git a/libsrc/CMakeLists.txt b/libsrc/CMakeLists.txt -index 65a3f87..30a008d 100644 +index 4583733..20ce3bf 100644 --- a/libsrc/CMakeLists.txt +++ b/libsrc/CMakeLists.txt -@@ -61,7 +61,7 @@ IF(HAVE_M4) +@@ -64,7 +64,7 @@ IF(HAVE_M4) IF(NOT MSVC) ADD_CUSTOM_TARGET(manpage ALL diff --git a/ports/netcdf-c/fix-pkgconfig.patch b/ports/netcdf-c/fix-pkgconfig.patch index f7827d6cb50c10..bcaa53093de239 100644 --- a/ports/netcdf-c/fix-pkgconfig.patch +++ b/ports/netcdf-c/fix-pkgconfig.patch @@ -1,8 +1,8 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 57d2d4b..3de6f8c 100644 +index 390ac0a..4bcd909 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -1892,6 +1892,20 @@ LIST(REMOVE_DUPLICATES LINKFLAGS) +@@ -2100,6 +2100,21 @@ STRING(REPLACE ";" " " LINKFLAGS "${LINKFLAGS}") SET(LIBS ${NC_LIBS}) SET(NC_LIBS "-lnetcdf") @@ -17,6 +17,7 @@ index 57d2d4b..3de6f8c 100644 +replace_pkgconfig_module("-lhdf5_hl" "hdf5_hl") +replace_pkgconfig_module("-lhdf5" "hdf5") +replace_pkgconfig_module("-lmpi" "ompi-c") ++replace_pkgconfig_module("-lzip::zip" "libzip") +replace_pkgconfig_module("-lCURL[^ ]*" "libcurl") +replace_pkgconfig_module("-lZLIB[^ ]*" "zlib") + diff --git a/ports/netcdf-c/no-install-deps.patch b/ports/netcdf-c/no-install-deps.patch index 535a0dc088a5bc..63feba87306351 100644 --- a/ports/netcdf-c/no-install-deps.patch +++ b/ports/netcdf-c/no-install-deps.patch @@ -1,8 +1,8 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index bd7c4f8..95fb01c 100644 +index 6b39f0e..507eb4c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -1830,7 +1830,7 @@ ADD_SUBDIRECTORY(docs) +@@ -2028,7 +2028,7 @@ ADD_SUBDIRECTORY(docs) # install them in the binary dir. Grab all of the .libs, put them # in the libdir. ## diff --git a/ports/netcdf-c/portfile.cmake b/ports/netcdf-c/portfile.cmake index f51081d8be893b..8bbad4e4d9e241 100644 --- a/ports/netcdf-c/portfile.cmake +++ b/ports/netcdf-c/portfile.cmake @@ -1,17 +1,19 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Unidata/netcdf-c - REF 26fba54a58fa02af92d84441ed90b417c1d08161 # v4.7.4 - SHA512 7144374b5bd3574ea422de07ffb30fecc4e5f560f9b46f62762cc0cce511dd33068b8df9244fe94ae3cc7b3a9bb9fe398c7e67c3e5ac2109768e5a9b984f24fb + REF cd6173f472b778fa0e558982c59f7183aa5b8e47 # v4.8.1 + SHA512 e965b9c865f31abcd0ae045cb709a41710e72bcf5bd237972cd62688f0f099f1b12be316a448d22315b1c73eb99fae3ea38072e9a3646a4f70ba42507d82f537 HEAD_REF master PATCHES no-install-deps.patch + fix-dependency-zlib.patch use_targets.patch fix-dependency-libmath.patch fix-linkage-error.patch - fix-pkgconfig.patch - fix-dependency-zlib.patch fix-manpage-msys.patch + fix-dependency-libzip.patch + fix-dependency-mpi.patch + fix-pkgconfig.patch ) #Remove outdated find modules @@ -19,22 +21,46 @@ file(REMOVE "${SOURCE_PATH}/cmake/modules/FindSZIP.cmake") file(REMOVE "${SOURCE_PATH}/cmake/modules/FindZLIB.cmake") file(REMOVE "${SOURCE_PATH}/cmake/modules/windows/FindHDF5.cmake") -if(VCPKG_CRT_LINKAGE STREQUAL "static") - set(NC_USE_STATIC_CRT ON) +if(NOT VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_MINGW) + set(CRT_OPTION "") +elseif(VCPKG_CRT_LINKAGE STREQUAL "static") + set(CRT_OPTION -DNC_USE_STATIC_CRT=ON) else() - set(NC_USE_STATIC_CRT OFF) + set(CRT_OPTION -DNC_USE_STATIC_CRT=OFF) endif() vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES dap ENABLE_DAP netcdf-4 ENABLE_NETCDF_4 - netcdf-4 USE_HDF5 + hdf5 ENABLE_HDF5 + nczarr ENABLE_NCZARR + nczarr-zip ENABLE_NCZARR_ZIP tools BUILD_UTILITIES - INVERTED_FEATURES - dap CMAKE_DISABLE_FIND_PACKAGE_CURL - netcdf-4 CMAKE_DISABLE_FIND_PACKAGE_HDF5 -) + ) + +if(NOT ENABLE_DAP AND NOT ENABLE_NCZARR) + list(APPEND FEATURE_OPTIONS "-DCMAKE_DISABLE_FIND_PACKAGE_CURL=ON") +else() + list(APPEND FEATURE_OPTIONS "-DCMAKE_REQUIRE_FIND_PACKAGE_CURL=ON") +endif() + +if(ENABLE_HDF5) + # Fix hdf5 szip support detection for static linkage. + x_vcpkg_pkgconfig_get_modules( + PREFIX HDF5 + MODULES hdf5 + LIBRARIES + ) + if(HDF5_LIBRARIES_RELEASE MATCHES "szip") + list(APPEND FEATURE_OPTIONS "-DUSE_SZIP=ON") + endif() +endif() + +if(VCPKG_TARGET_IS_UWP) + string(APPEND VCPKG_C_FLAGS " /wd4996 /wd4703") + string(APPEND VCPKG_CXX_FLAGS " /wd4996 /wd4703") +endif() vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" @@ -46,7 +72,7 @@ vcpkg_cmake_configure( -DENABLE_FILTER_TESTING=OFF -DENABLE_DAP_REMOTE_TESTS=OFF -DDISABLE_INSTALL_DEPENDENCIES=ON - -DNC_USE_STATIC_CRT=${NC_USE_STATIC_CRT} + ${CRT_OPTION} ${FEATURE_OPTIONS} ) diff --git a/ports/netcdf-c/use_targets.patch b/ports/netcdf-c/use_targets.patch index d15ab749524294..427499ec9b89ec 100644 --- a/ports/netcdf-c/use_targets.patch +++ b/ports/netcdf-c/use_targets.patch @@ -1,8 +1,8 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index bd7c4f8..9e09cf3 100644 +index 507eb4c..1516d0c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -430,7 +430,6 @@ IF(NC_EXTRA_DEPS) +@@ -433,7 +433,6 @@ IF(NC_EXTRA_DEPS) SET(EXTRA_DEPS ${EXTRA_DEPS} "${${_LIB}_DEP}") ENDFOREACH() MESSAGE("Extra deps: ${EXTRA_DEPS}") @@ -10,7 +10,7 @@ index bd7c4f8..9e09cf3 100644 SET(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${EXTRA_DEPS}) ENDIF() ### -@@ -598,15 +597,6 @@ IF(USE_HDF5 OR ENABLE_NETCDF_4) +@@ -628,15 +627,6 @@ IF(USE_HDF5) # we will use a static library. This can be toggled # by explicitly modifying NC_FIND_SHARED_LIBS. ## @@ -26,7 +26,7 @@ index bd7c4f8..9e09cf3 100644 ##### # First, find the C and HL libraries. -@@ -619,7 +609,7 @@ IF(USE_HDF5 OR ENABLE_NETCDF_4) +@@ -649,7 +639,7 @@ IF(USE_HDF5) SET(SEARCH_PACKAGE_NAME ${HDF5_PACKAGE_NAME}) FIND_PACKAGE(HDF5 NAMES ${SEARCH_PACKAGE_NAME} COMPONENTS C HL CONFIG REQUIRED ${NC_HDF5_LINK_TYPE}) ELSE(MSVC) @@ -35,11 +35,10 @@ index bd7c4f8..9e09cf3 100644 ENDIF(MSVC) ## -@@ -701,6 +691,19 @@ IF(USE_HDF5 OR ENABLE_NETCDF_4) - SET(HDF5_C_LIBRARY hdf5) +@@ -727,6 +717,19 @@ IF(USE_HDF5) ENDIF() ENDIF(HDF5_C_LIBRARY AND HDF5_HL_LIBRARY AND HDF5_INCLUDE_DIR) -+ + + if(TARGET hdf5::hdf5-shared) + set(HDF5_C_LIBRARY hdf5::hdf5-shared) + set(HDF5_C_LIBRARY_hdf5 hdf5::hdf5-shared) @@ -52,94 +51,67 @@ index bd7c4f8..9e09cf3 100644 + ADD_DEFINITIONS(-DH5_BUILT_AS_STATIC_LIB) + endif() + list(APPEND CMAKE_REQUIRED_LIBRARIES ${HDF5_C_LIBRARY}) - ++ FIND_PACKAGE(Threads) -@@ -728,17 +731,9 @@ IF(USE_HDF5 OR ENABLE_NETCDF_4) - CHECK_LIBRARY_EXISTS(${HDF5_C_LIBRARY_hdf5} H5Pset_all_coll_metadata_ops "" HDF5_HAS_COLL_METADATA_OPS) - - #Check to see if H5Z_SZIP exists in HDF5_Libraries. If so, we must use szip. -- CHECK_LIBRARY_EXISTS(${HDF5_C_LIBRARY_hdf5} H5Z_SZIP "" USE_SZIP) -+ set(USE_SZIP ${HDF5_ENABLE_SZIP_SUPPORT}) + # There is a missing case in the above code so default it +@@ -745,6 +748,8 @@ IF(USE_HDF5) IF(USE_SZIP) -- FIND_LIBRARY(SZIP NAMES szip sz) -- IF(SZIP) - SET(HAVE_H5Z_SZIP 1) -- SET(SZIP_LIBRARY ${SZIP}) -- SET(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${SZIP}) -- MESSAGE(STATUS "HDF5 has szip.") -- ELSE() -- MESSAGE(FATAL_ERROR "HDF5 Requires SZIP, but cannot find libszip or libsz.") -- ENDIF() - ENDIF() - - CHECK_LIBRARY_EXISTS(${HDF5_C_LIBRARY_hdf5} H5Pset_libver_bounds "" HAVE_H5PSET_LIBVER_BOUNDS) -@@ -788,8 +783,7 @@ IF(USE_HDF5 OR ENABLE_NETCDF_4) - ENDIF(USE_HDF5 OR ENABLE_NETCDF_4) + # If user has specified the `SZIP_LIBRARY`, use it; otherwise try to find... + IF(NOT SZIP_LIBRARY) ++ set(SZIP_LIBRARY "") ++ ELSEIF(0) + FIND_LIBRARY(SZIP PATH NAMES szip sz) + SET(SZIP_LIBRARY ${SZIP}) + IF(NOT SZIP) +@@ -848,11 +853,14 @@ ENDIF(USE_HDF5) # See if we have libcurl --FIND_PACKAGE(CURL) + FIND_PACKAGE(CURL) -ADD_DEFINITIONS(-DCURL_STATICLIB=1) -+FIND_PACKAGE(CURL CONFIG) INCLUDE_DIRECTORIES(${CURL_INCLUDE_DIRS}) - # Check to see if CURLOPT_USERNAME is defined. -@@ -1893,7 +1887,6 @@ ENDIF() - - STRING(REPLACE ";" " " LINKFLAGS "${LINKFLAGS}") + # Define a test flag for have curl library +-IF(CURL_LIBRARIES OR CURL_LIBRARY) ++IF(CURL_FOUND) ++ SET(CURL_LIBRARY CURL::libcurl) ++ if(CURL_VERSION VERSION_GREATER_EQUAL "7.66") ++ set(HAVE_LIBCURL_766 TRUE CACHE INTERNAL "vcpkg") ++ endif() + SET(FOUND_CURL TRUE) + ELSE() + SET(FOUND_CURL FALSE) +@@ -2089,10 +2097,9 @@ IF(NC_LIBS) + STRING(REPLACE "-lhdf5::hdf5_hl-static" "-lhdf5_hl" NC_LIBS ${NC_LIBS}) + ENDIF() +-STRING(REPLACE ";" " " LINKFLAGS "${LINKFLAGS}") +- -LIST(REMOVE_DUPLICATES NC_LIBS) ++LIST(REMOVE_ITEM LINKFLAGS "-L") LIST(REMOVE_DUPLICATES LINKFLAGS) ++STRING(REPLACE ";" " " LINKFLAGS "${LINKFLAGS}") SET(LIBS ${NC_LIBS}) + SET(NC_LIBS "-lnetcdf") diff --git a/liblib/CMakeLists.txt b/liblib/CMakeLists.txt -index ea9b029..8aeeab7 100644 +index 5e1692f..882f1dd 100644 --- a/liblib/CMakeLists.txt +++ b/liblib/CMakeLists.txt -@@ -58,7 +58,7 @@ ENDIF() - - SET(TLL_LIBS "") - --SET(TLL_LIBS ${TLL_LIBS} ${HAVE_LIBM} ${ZLIB_LIBRARY}) -+SET(TLL_LIBS ${TLL_LIBS} ${HAVE_LIBM} ZLIB::ZLIB) - - # Add extra dependencies specified via NC_EXTRA_DEPS - SET(TLL_LIBS ${TLL_LIBS} ${EXTRA_DEPS}) -@@ -68,27 +68,15 @@ IF(HAVE_LIBDL) +@@ -77,6 +77,12 @@ IF(HAVE_LIBDL) ENDIF() - IF(USE_HDF5 OR USE_NETCDF4) -- IF(NOT MSVC) -- # Some version of cmake define HDF5_hdf5_LIBRARY instead of -- # HDF5_LIBRARY. Same with HDF5_HL_LIBRARIES -- IF(HDF5_hdf5_LIBRARY AND NOT HDF5_C_LIBRARIES) -- SET(HDF5_C_LIBRARIES ${HDF5_hdf5_LIBRARY}) -- ENDIF() -- IF(HDF5_hdf5_hl_LIBRARY AND NOT HDF5_HL_LIBRARIES) -- SET(HDF5_HL_LIBRARIES ${HDF5_hdf5_hl_LIBRARY}) -- ENDIF() -- # The order of the libraries is important here for static -- # builds: -- # Make sure that HDF5_C_LIBRARY appears *after* -- # HDF5_HL_LIBRARY. -- SET(TLL_LIBS ${HDF5_HL_LIBRARIES} ${HDF5_C_LIBRARIES} ${TLL_LIBS} ${SZIP_LIBRARY}) -- ELSE() # Windows CMake defines HDF5_LIBRARIES. -- SET(TLL_LIBS ${HDF5_LIBRARIES} ${TLL_LIBS} ${SZIP_LIBRARY}) -- ENDIF() + IF(USE_HDF5) + if(TARGET hdf5::hdf5-shared) + SET(TLL_LIBS ${TLL_LIBS} hdf5::hdf5-shared hdf5::hdf5_hl-shared) + else() + SET(TLL_LIBS ${TLL_LIBS} hdf5::hdf5-static hdf5::hdf5_hl-static) + endif() - ENDIF() - - IF(USE_DAP) -- SET(TLL_LIBS ${TLL_LIBS} ${CURL_LIBRARY}) -+ SET(TLL_LIBS ${TLL_LIBS} CURL::libcurl) - ENDIF() - - IF(USE_HDF4) -@@ -100,7 +88,6 @@ IF(ENABLE_PNETCDF AND PNETCDF) ++elseif(0) + IF(NOT MSVC) + # Some version of cmake define HDF5_hdf5_LIBRARY instead of + # HDF5_LIBRARY. Same with HDF5_HL_LIBRARIES +@@ -118,7 +124,6 @@ IF(ENABLE_S3_SDK) ENDIF() IF(TLL_LIBS) @@ -148,17 +120,20 @@ index ea9b029..8aeeab7 100644 TARGET_LINK_LIBRARIES(netcdf ${TLL_LIBS}) diff --git a/netCDFConfig.cmake.in b/netCDFConfig.cmake.in -index 9d68eec..b8f6113 100644 +index 9d68eec..715e33e 100644 --- a/netCDFConfig.cmake.in +++ b/netCDFConfig.cmake.in -@@ -12,6 +12,10 @@ set_and_check(netCDF_LIB_DIR "@PACKAGE_CMAKE_INSTALL_LIBDIR@") +@@ -12,6 +12,13 @@ set_and_check(netCDF_LIB_DIR "@PACKAGE_CMAKE_INSTALL_LIBDIR@") set(netCDF_LIBRARIES netCDF::netcdf) # include target information +include(CMakeFindDependencyMacro) -+find_dependency(ZLIB) -+find_dependency(HDF5 CONFIG) -+find_dependency(CURL CONFIG) ++if("@USE_HDF5@") ++ find_dependency(HDF5 CONFIG) ++endif() ++if("@FOUND_CURL@") ++ find_dependency(CURL CONFIG) ++endif() include("${CMAKE_CURRENT_LIST_DIR}/netCDFTargets.cmake") # Compiling Options diff --git a/ports/netcdf-c/vcpkg.json b/ports/netcdf-c/vcpkg.json index 256a401b46b678..bed76a2e0455f1 100644 --- a/ports/netcdf-c/vcpkg.json +++ b/ports/netcdf-c/vcpkg.json @@ -1,7 +1,7 @@ { "name": "netcdf-c", - "version": "4.7.4", - "port-version": 4, + "version": "4.8.1", + "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": [ @@ -16,26 +16,81 @@ ], "default-features": [ "dap", + { + "name": "hdf5", + "platform": "!uwp & !(arm64 & windows)" + }, + "nczarr", "netcdf-4" ], "features": { "dap": { "description": "Build with DAP remote access client support", "dependencies": [ - "curl" + { + "name": "curl", + "default-features": false + } ] }, - "netcdf-4": { - "description": "Build with netCDF-4/HDF5 support", + "hdf5": { + "description": "Build with HDF5 support", "dependencies": [ { "name": "hdf5", + "default-features": false, "features": [ "zlib" ] + }, + { + "name": "netcdf-c", + "default-features": false, + "features": [ + "netcdf-4" + ] + }, + { + "name": "vcpkg-pkgconfig-get-modules", + "host": true } ] }, + "nczarr": { + "description": "Build with NCZarr cloud storage access support", + "dependencies": [ + { + "name": "curl", + "default-features": false + }, + { + "name": "netcdf-c", + "default-features": false, + "features": [ + "netcdf-4" + ] + } + ] + }, + "nczarr-zip": { + "description": "Build with NCZarr ZIP support", + "dependencies": [ + { + "name": "libzip", + "default-features": false + }, + { + "name": "netcdf-c", + "default-features": false, + "features": [ + "nczarr" + ] + } + ] + }, + "netcdf-4": { + "description": "Build with netCDF-4 support" + }, "tools": { "description": "Build utilities" } diff --git a/ports/netcdf-cxx4/portfile.cmake b/ports/netcdf-cxx4/portfile.cmake index f014128045c4a8..aa420c5716506b 100644 --- a/ports/netcdf-cxx4/portfile.cmake +++ b/ports/netcdf-cxx4/portfile.cmake @@ -14,11 +14,10 @@ vcpkg_from_github( ) #Provided by upstream https://github.com/Unidata/netcdf-cxx4/blob/master/netCDFCxxConfig.cmake.in -file(COPY ${CMAKE_CURRENT_LIST_DIR}/netCDFCxxConfig.cmake.in DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/netCDFCxxConfig.cmake.in" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DNCXX_ENABLE_TESTS=OFF -DCMAKE_INSTALL_CMAKECONFIGDIR=share/netCDFCxx @@ -27,16 +26,16 @@ vcpkg_configure_cmake( # OPTIONS_DEBUG -DDEBUGGABLE=1 ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/netCDFCxx TARGET_PATH share/netCDFCxx) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/netCDFCxx PACKAGE_NAME netCDFCxx) vcpkg_copy_pdbs() -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") if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") endif() # Handle copyright -file(INSTALL ${SOURCE_PATH}/COPYRIGHT DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/COPYRIGHT" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/netcdf-cxx4/vcpkg.json b/ports/netcdf-cxx4/vcpkg.json index 58fcf7625be67f..ff189f7db0c06b 100644 --- a/ports/netcdf-cxx4/vcpkg.json +++ b/ports/netcdf-cxx4/vcpkg.json @@ -1,11 +1,19 @@ { "name": "netcdf-cxx4", - "version-string": "4.3.1", - "port-version": 3, + "version": "4.3.1", + "port-version": 5, "description": "a set of machine-independent data formats that support the creation, access, and sharing of array-oriented scientific data.", "homepage": "https://github.com/Unidata/netcdf-cxx4", "dependencies": [ "hdf5", - "netcdf-c" + "netcdf-c", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } 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/0001-nethost-cmakelists.patch b/ports/nethost/0001-nethost-cmakelists.patch index 93d49b95e16439..0d2947c75f51f1 100644 --- a/ports/nethost/0001-nethost-cmakelists.patch +++ b/ports/nethost/0001-nethost-cmakelists.patch @@ -1,58 +1,82 @@ -diff --git a/src/installer/corehost/cli/common.cmake b/src/installer/corehost/cli/common.cmake -index 63e7306..639c90e 100644 ---- a/src/installer/corehost/cli/common.cmake -+++ b/src/installer/corehost/cli/common.cmake -@@ -5,9 +5,6 @@ - project(${DOTNET_PROJECT_NAME}) - - if(WIN32) -- add_compile_options($<$:/MT>) -- add_compile_options($<$:/MT>) -- add_compile_options($<$:/MTd>) - else() - add_compile_options(-fvisibility=hidden) - endif() -diff --git a/src/installer/corehost/cli/nethost/CMakeLists.txt b/src/installer/corehost/cli/nethost/CMakeLists.txt -index 7473958..49c664f 100644 ---- a/src/installer/corehost/cli/nethost/CMakeLists.txt -+++ b/src/installer/corehost/cli/nethost/CMakeLists.txt -@@ -2,12 +2,14 @@ - # The .NET Foundation licenses this file to you under the MIT license. - # See the LICENSE file in the project root for more information. - --cmake_minimum_required (VERSION 2.6) -+cmake_minimum_required (VERSION 3.14) - project(nethost) - - set(DOTNET_PROJECT_NAME "nethost") - - # Include directories -+include(../../../settings.cmake) -+include(../../../functions.cmake) - include_directories(../fxr) - - # CMake does not recommend using globbing since it messes with the freshness checks -@@ -22,13 +24,18 @@ if(WIN32) - Exports.def) - endif() - -+if(BUILD_SHARED_LIBS) - include(../lib.cmake) -+else() - include(../lib_static.cmake) -+endif() - - add_definitions(-DFEATURE_LIBHOST=1) - add_definitions(-DNETHOST_EXPORT) - --install(FILES nethost.h DESTINATION corehost) --install(TARGETS nethost DESTINATION corehost) --install(TARGETS libnethost DESTINATION corehost) --install_symbols(nethost corehost) -\ No newline at end of file -+install(FILES nethost.h ../coreclr_delegates.h ../hostfxr.h DESTINATION include) -+if(BUILD_SHARED_LIBS) -+install(TARGETS nethost) -+else() -+install(TARGETS libnethost) -+endif() +diff --git a/src/native/corehost/nethost/CMakeLists.txt b/src/native/corehost/nethost/CMakeLists.txt +index 5ae3f76e8fe..9c0209ba9bc 100644 +--- a/src/native/corehost/nethost/CMakeLists.txt ++++ b/src/native/corehost/nethost/CMakeLists.txt +@@ -1,11 +1,14 @@ + # Licensed to the .NET Foundation under one or more agreements. + # The .NET Foundation licenses this file to you under the MIT license. + ++cmake_minimum_required (VERSION 3.14.5) + project(nethost) + + set(DOTNET_PROJECT_NAME "nethost") + + # Include directories ++include(../../../../eng/native/configurepaths.cmake) ++include("${CLR_ENG_NATIVE_DIR}/configurecompiler.cmake") + include_directories(../fxr) + + # CMake does not recommend using globbing since it messes with the freshness checks +@@ -19,12 +22,23 @@ if(CLR_CMAKE_TARGET_WIN32) + Exports.def) + endif() + ++if(BUILD_SHARED_LIBS) + include(../lib.cmake) ++set(targets nethost) ++else() ++include(../hostmisc/hostmisc.cmake) + include(../lib_static.cmake) ++add_library(nethost INTERFACE) ++target_link_libraries(nethost INTERFACE libnethost) ++set(targets libnethost nethost) ++target_include_directories(libnethost INTERFACE $) ++endif() ++target_include_directories(nethost INTERFACE $) + + add_definitions(-DFEATURE_LIBHOST=1) + add_definitions(-DNETHOST_EXPORT) + ++if(NOT BUILD_SHARED_LIBS) + # Copy static lib PDB to the project output directory + if (WIN32) + set_target_properties(libnethost PROPERTIES +@@ -32,12 +46,17 @@ if (WIN32) + COMPILE_PDB_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}" + ) + endif(WIN32) ++endif() + +-install(FILES ../coreclr_delegates.h DESTINATION corehost) +-install(FILES ../hostfxr.h DESTINATION corehost) +-install(FILES nethost.h DESTINATION corehost) +-install_with_stripped_symbols(nethost TARGETS corehost) ++set(NETHOST_HEADERS nethost.h ../coreclr_delegates.h ../hostfxr.h) ++install(FILES ${NETHOST_HEADERS} DESTINATION include) ++install(TARGETS ${targets} EXPORT unofficial-nethost-config ++ ARCHIVE DESTINATION lib ++ LIBRARY DESTINATION lib ++ RUNTIME DESTINATION bin ++) + ++if(NOT BUILD_SHARED_LIBS) + if (MSVC) + # We ship libnethost.lib as a static library for external consumption, so + # LTCG must be disabled to ensure that non-MSVC toolchains can work with it. +@@ -47,10 +66,10 @@ if (MSVC) + string(REPLACE "/LTCG" "" CMAKE_STATIC_LINKER_FLAGS_RELEASE ${CMAKE_STATIC_LINKER_FLAGS_RELEASE}) + string(REPLACE "/LTCG" "" CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO ${CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO}) + endif() ++endif() + +-# Only Windows creates a symbols file for static libs. +-if (WIN32) +- install_with_stripped_symbols(libnethost TARGETS corehost) +-else() +- install(TARGETS libnethost DESTINATION corehost) +-endif(WIN32) ++install(EXPORT unofficial-nethost-config ++ DESTINATION share/unofficial-nethost ++ FILE unofficial-nethost-config.cmake ++ NAMESPACE unofficial::nethost:: ++) diff --git a/ports/nethost/0002-settings-cmake.patch b/ports/nethost/0002-settings-cmake.patch deleted file mode 100644 index 7143b942a9b405..00000000000000 --- a/ports/nethost/0002-settings-cmake.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/installer/settings.cmake b/src/installer/settings.cmake -index 29d57b44..6ea63902 100644 ---- a/src/installer/settings.cmake -+++ b/src/installer/settings.cmake -@@ -114,7 +114,7 @@ endfunction() - - function(install_symbols targetName destination_path) - if(WIN32) -- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/$/${targetName}.pdb DESTINATION ${destination_path}) -+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${targetName}.pdb DESTINATION ${destination_path}) - else() - strip_symbols(${targetName} strip_destination_file) - install(FILES ${strip_destination_file} DESTINATION ${destination_path}) diff --git a/ports/nethost/portfile.cmake b/ports/nethost/portfile.cmake index 3809d9872b38d8..a54bde1c94cfa9 100644 --- a/ports/nethost/portfile.cmake +++ b/ports/nethost/portfile.cmake @@ -1,19 +1,23 @@ -vcpkg_fail_port_install(ON_TARGET "uwp") - -set(COMMIT_HASH 188427d7e18102c45fc6d0e20c135e226f215992) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO dotnet/runtime - REF ${COMMIT_HASH} - SHA512 5a93c66c87e2113f733702d938efd39456c99fb74b383097b8d877df21536fcbcba901606aa70db6c8f1a16421ea8f06822c5b0ab1d882631b6daecbed8d03cc + REF "v${VERSION}" + SHA512 b37918299f0e8723c41052b86479f91df76c54bcade97305aeef8034b8ebab7768dcac4517bdf6e6173102baf60764f23ce89ae681f1514049ee421a563f713e HEAD_REF master PATCHES 0001-nethost-cmakelists.patch - 0002-settings-cmake.patch ) -set(PRODUCT_VERSION "5.0.0") +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") @@ -43,26 +47,35 @@ endif() set(BASE_RID "${RID_PLAT}-${RID_ARCH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH}/src/installer/corehost/cli/nethost - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/src/native/corehost/nethost/" + # vcpkg's /utf-8 is incompatible with dotnet's own /source-charset:utf-8 + 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_PLATFORM_ARCH_${ARCH_NAME}=1" - "-DCMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION=10.0" + "-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}" + MAYBE_UNUSED_VARIABLES + SKIP_VERSIONING # only used on WIN32 ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-nethost) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/nethost.h" "#ifdef NETHOST_USE_AS_STATIC" "#if 1") +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) -file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +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/usage b/ports/nethost/usage index 6e6d860d1fb27c..26a41d92f21202 100644 --- a/ports/nethost/usage +++ b/ports/nethost/usage @@ -1,6 +1,4 @@ The package nethost can be used via CMake: - find_path(NETHOST_INCLUDE_DIRS nethost.h) - find_library(NETHOST_LIBRARY NAMES libnethost nethost) - target_include_directories(main PRIVATE ${NETHOST_INCLUDE_DIRS}) - target_link_libraries(main PRIVATE ${NETHOST_LIBRARY}) + find_package(unofficial-nethost CONFIG REQUIRED) + target_link_libraries(main PRIVATE unofficial::nethost::nethost) diff --git a/ports/nethost/vcpkg.json b/ports/nethost/vcpkg.json index 467d4249c8b13b..b865bcd72f39bb 100644 --- a/ports/nethost/vcpkg.json +++ b/ports/nethost/vcpkg.json @@ -1,7 +1,18 @@ { "name": "nethost", - "version-string": "2019-12-21", - "port-version": 1, + "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/master/src/installer/corehost/cli/nethost" + "homepage": "https://github.com/dotnet/runtime/tree/main/src/native/corehost/nethost", + "license": "MIT", + "supports": "(windows & !uwp), (linux, osx)", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/nettle/ccas.patch b/ports/nettle/ccas.patch new file mode 100644 index 00000000000000..5bc491ca60ced5 --- /dev/null +++ b/ports/nettle/ccas.patch @@ -0,0 +1,71 @@ +diff --git a/Makefile.in b/Makefile.in +index 2bf7f1e8..c9607468 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -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) $(ASM_FLAGS) -c $*.s ++ $(COMPILE_AS) -c $*.s -o $@ + + %.$(OBJEXT): %.c + $(COMPILE) -c $< \ +diff --git a/aclocal.m4 b/aclocal.m4 +index 629db8a7..04ff4d31 100644 +--- a/aclocal.m4 ++++ b/aclocal.m4 +@@ -268,7 +268,7 @@ AC_DEFUN([GMP_TRY_ASSEMBLE], + [cat >conftest.s <&AS_MESSAGE_LOG_FD + ifelse([$2],,:,[$2]) +diff --git a/config.make.in b/config.make.in +index 6aec7c73..8bc5599f 100644 +--- a/config.make.in ++++ b/config.make.in +@@ -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@ ++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 4f27e663..324e4706 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -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) + + NETTLE_CHECK_IFUNC + +@@ -318,7 +321,7 @@ W64_ABI=no # For x86_64 windows + case "$host_cpu" in + [x86_64 | amd64]) + 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 + ]], [[]])], [ +@@ -371,7 +374,7 @@ case "$host_cpu" in + ;; + aarch64*) + 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/compile.patch b/ports/nettle/compile.patch new file mode 100644 index 00000000000000..168214f5bcc8d4 --- /dev/null +++ b/ports/nettle/compile.patch @@ -0,0 +1,26 @@ +diff --git a/streebog.c b/streebog.c +index 7ad619d5e..85609a473 100644 +--- a/streebog.c ++++ b/streebog.c +@@ -1233,7 +1233,7 @@ streebog512_compress (struct streebog512_ctx *ctx, const uint8_t *input, uint64_ + static void + streebog_final (struct streebog512_ctx *ctx) + { +- uint64_t Z[8] = {}; ++ uint64_t Z[8] = {0,0,0,0,0,0,0,0}; + unsigned int i; + + /* PAD. It does not count towards message length */ +diff --git a/Makefile.in b/Makefile.in +index b65ff4960..3887d0c8f 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -322,7 +322,7 @@ $(LIBHOGWEED_FORLINK): $(hogweed_OBJS) $(LIBNETTLE_FORLINK) + + # For building the various *data.c programs. -lm needed for shadata. + %$(EXEEXT_FOR_BUILD): %.c +- $(CC_FOR_BUILD) $< -lm -o $@ ++ $(COMPILE) $(PRE_LDFLAGS) $(LDFLAGS) $(LIBS) $< -o $@ + + # Explicit dependency. + eccdata$(EXEEXT_FOR_BUILD): mini-gmp.c mini-gmp.h diff --git a/ports/nettle/fix-InstallLibPath.patch b/ports/nettle/fix-InstallLibPath.patch deleted file mode 100644 index d42a280679d4b2..00000000000000 --- a/ports/nettle/fix-InstallLibPath.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff --git a/configure.ac b/configure.ac -index 90ea1ea..58cfe88 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -354,25 +354,25 @@ if test "x$ABI" != xstandard ; then - else - # The dash builtin pwd tries to be "helpful" and remember - # symlink names. Use -P option, and hope it's portable enough. -- test -d /usr/lib${ABI} \ -- && (cd /usr/lib${ABI} && pwd -P | grep >/dev/null "/lib${ABI}"'$') \ -- && libdir='${exec_prefix}/'"lib${ABI}" -+ test -d /usr/lib \ -+ && (cd /usr/lib && pwd -P | grep >/dev/null "/lib"'$') \ -+ && libdir='${exec_prefix}/'"lib" - fi - ;; - # On freebsd, it seems 32-bit libraries are in lib32, - # and 64-bit in lib. Don't know about "kfreebsd", does - # it follow the Linux fhs conventions? - *:freebsd*:32) -- libdir='${exec_prefix}/lib32' -+ libdir='${exec_prefix}/lib' - ;; - *:freebsd*:64) - libdir='${exec_prefix}/lib' - ;; - *:irix*:32) -- libdir='${exec_prefix}/lib32' -+ libdir='${exec_prefix}/lib' - ;; - *:irix*:64) -- libdir='${exec_prefix}/lib64' -+ libdir='${exec_prefix}/lib' - ;; - *) - AC_MSG_WARN([Don't know where to install $ABI-bit libraries on this system.]); dnl ' diff --git a/ports/nettle/fix-libdir.patch b/ports/nettle/fix-libdir.patch new file mode 100644 index 00000000000000..e1edc66ff299ab --- /dev/null +++ b/ports/nettle/fix-libdir.patch @@ -0,0 +1,12 @@ +diff --git a/configure.ac b/configure.ac +index f4d9e90..1012718 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -351,6 +351,7 @@ if test "x$ABI" != xstandard ; then + if test "$libdir" = '${exec_prefix}/lib' ; then + # Try setting a better default + case "$host_cpu:$host_os:$ABI" in ++ *) ;; # $libdir is okay for vcpkg + *:solaris*:32|*:sunos*:32) + libdir='${exec_prefix}/lib' + ;; diff --git a/ports/nettle/flags.patch b/ports/nettle/flags.patch deleted file mode 100644 index 990bd6d3e2ddc3..00000000000000 --- a/ports/nettle/flags.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/Makefile.in b/Makefile.in -index e5ccfc7..922aa0c 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -309,7 +309,7 @@ $(LIBHOGWEED_FORLINK): $(hogweed_OBJS) $(LIBNETTLE_FORLINK) - - # For building the various *data.c programs. -lm needed for shadata. - %$(EXEEXT_FOR_BUILD): %.c -- $(CC_FOR_BUILD) $< -lm -o $@ -+ $(CC_FOR_BUILD) $< $(CFLAGS) -lm -o $@ - - # Explicit dependency. - eccdata$(EXEEXT_FOR_BUILD): mini-gmp.c mini-gmp.h diff --git a/ports/nettle/gmp.patch b/ports/nettle/gmp.patch deleted file mode 100644 index c54298a28c5288..00000000000000 --- a/ports/nettle/gmp.patch +++ /dev/null @@ -1,205 +0,0 @@ -diff --git a/SMP/config.h b/SMP/config.h -index e4de0f1..ba41eb4 100644 ---- a/SMP/config.h -+++ b/SMP/config.h -@@ -102,7 +102,7 @@ - #define HAVE_SYS_TYPES_H 1 - - /* Define to 1 if you have the header file. */ --#define HAVE_UNISTD_H 1 -+//#define HAVE_UNISTD_H 1 - - /* Define to 1 if you have the header file. */ - /* #undef HAVE_VALGRIND_MEMCHECK_H */ -diff --git a/SMP/libhogweed_winrt.vcxproj b/SMP/libhogweed_winrt.vcxproj -index 476f7a7..308bd0b 100644 ---- a/SMP/libhogweed_winrt.vcxproj -+++ b/SMP/libhogweed_winrt.vcxproj -@@ -247,7 +247,7 @@ del /f /q $(OutDir)\licenses\nettle.txt - - - libhogweed.def -- nettled_winrt.lib;gmpd_winrt.lib;%(AdditionalDependencies) -+ nettled_winrt.lib;gmpd.lib;%(AdditionalDependencies) - /IGNORE:4006,4221,4078 %(AdditionalOptions) - - -@@ -362,7 +362,7 @@ del /f /q $(OutDir)\licenses\nettle.txt - - - libhogweed.def -- nettled_winrt.lib;gmpd_winrt.lib;%(AdditionalDependencies) -+ nettled_winrt.lib;gmpd.lib;%(AdditionalDependencies) - /IGNORE:4006,4221,4078 %(AdditionalOptions) - - -@@ -705,7 +705,7 @@ del /f /q $(OutDir)\licenses\nettle.txt - - - libhogweed.def -- nettle_winrt.lib;gmp_winrt.lib;%(AdditionalDependencies) -+ nettle_winrt.lib;gmp.lib;%(AdditionalDependencies) - /IGNORE:4006,4221,4078 %(AdditionalOptions) - - -@@ -935,7 +935,7 @@ del /f /q $(OutDir)\licenses\nettle.txt - - - libhogweed.def -- nettle_winrt.lib;gmp_winrt.lib;%(AdditionalDependencies) -+ nettle_winrt.lib;gmp.lib;%(AdditionalDependencies) - /IGNORE:4006,4221,4078 %(AdditionalOptions) - - -diff --git a/SMP/libnettle.vcxproj b/SMP/libnettle.vcxproj -index 088cb85..cc2cbeb 100644 ---- a/SMP/libnettle.vcxproj -+++ b/SMP/libnettle.vcxproj -@@ -18,7 +18,7 @@ - 4244;4146;4267;4098;%(DisableSpecificWarnings) - - -- libgmpd.lib;%(AdditionalDependencies) -+ %(AdditionalDependencies) - - - mkdir "$(OutDir)"\include -@@ -131,7 +131,7 @@ del /f /q $(OutDir)\licenses\nettle.txt - 4244;4146;4267;4098;%(DisableSpecificWarnings) - - -- libgmpd.lib;%(AdditionalDependencies) -+ %(AdditionalDependencies) - - - mkdir "$(OutDir)"\include -@@ -472,7 +472,7 @@ del /f /q $(OutDir)\licenses\nettle.txt - 4244;4146;4267;4098;%(DisableSpecificWarnings) - - -- libgmp.lib;%(AdditionalDependencies) -+ %(AdditionalDependencies) - - - mkdir "$(OutDir)"\include -@@ -586,7 +586,7 @@ del /f /q $(OutDir)\licenses\nettle.txt - 4244;4146;4267;4098;%(DisableSpecificWarnings) - - -- libgmp.lib;%(AdditionalDependencies) -+ %(AdditionalDependencies) - - - mkdir "$(OutDir)"\include -@@ -815,7 +815,7 @@ del /f /q $(OutDir)\licenses\nettle.txt - - - libnettle.def -- libgmp.lib;%(AdditionalDependencies) -+ gmp.lib;%(AdditionalDependencies) - - - mkdir "$(OutDir)"\include -@@ -1043,7 +1043,7 @@ del /f /q $(OutDir)\licenses\nettle.txt - - - libnettle.def -- libgmp.lib;%(AdditionalDependencies) -+ gmp.lib;%(AdditionalDependencies) - - - mkdir "$(OutDir)"\include -diff --git a/SMP/libnettle_winrt.vcxproj b/SMP/libnettle_winrt.vcxproj -index cb650ab..188f67a 100644 ---- a/SMP/libnettle_winrt.vcxproj -+++ b/SMP/libnettle_winrt.vcxproj -@@ -18,7 +18,7 @@ - 4244;4146;4267;4098;%(DisableSpecificWarnings) - - -- libgmpd_winrt.lib;%(AdditionalDependencies) -+ %(AdditionalDependencies) - - - mkdir "$(OutDir)"\include -@@ -131,7 +131,7 @@ del /f /q $(OutDir)\licenses\nettle.txt - 4244;4146;4267;4098;%(DisableSpecificWarnings) - - -- libgmpd_winrt.lib;%(AdditionalDependencies) -+ %(AdditionalDependencies) - - - mkdir "$(OutDir)"\include -@@ -245,7 +245,7 @@ del /f /q $(OutDir)\licenses\nettle.txt - - - libnettle.def -- gmpd_winrt.lib;%(AdditionalDependencies) -+ gmpd.lib;%(AdditionalDependencies) - - - mkdir "$(OutDir)"\include -@@ -359,7 +359,7 @@ del /f /q $(OutDir)\licenses\nettle.txt - - - libnettle.def -- gmpd_winrt.lib;%(AdditionalDependencies) -+ gmpd.lib;%(AdditionalDependencies) - - - mkdir "$(OutDir)"\include -@@ -472,7 +472,7 @@ del /f /q $(OutDir)\licenses\nettle.txt - 4244;4146;4267;4098;%(DisableSpecificWarnings) - - -- libgmp_winrt.lib;%(AdditionalDependencies) -+ %(AdditionalDependencies) - - - mkdir "$(OutDir)"\include -@@ -585,7 +585,7 @@ del /f /q $(OutDir)\licenses\nettle.txt - 4244;4146;4267;4098;%(DisableSpecificWarnings) - - -- libgmp_winrt.lib;%(AdditionalDependencies) -+ %(AdditionalDependencies) - - - mkdir "$(OutDir)"\include -@@ -699,7 +699,7 @@ del /f /q $(OutDir)\licenses\nettle.txt - - - libnettle.def -- gmp_winrt.lib;%(AdditionalDependencies) -+ gmp.lib;%(AdditionalDependencies) - - - mkdir "$(OutDir)"\include -@@ -813,7 +813,7 @@ del /f /q $(OutDir)\licenses\nettle.txt - - - libnettle.def -- libgmp_winrt.lib;%(AdditionalDependencies) -+ gmp.lib;%(AdditionalDependencies) - - - mkdir "$(OutDir)"\include -@@ -927,7 +927,7 @@ del /f /q $(OutDir)\licenses\nettle.txt - - - libnettle.def -- gmp_winrt.lib;%(AdditionalDependencies) -+ gmp.lib;%(AdditionalDependencies) - - - mkdir "$(OutDir)"\include -@@ -1041,7 +1041,7 @@ del /f /q $(OutDir)\licenses\nettle.txt - - - libnettle.def -- libgmp_winrt.lib;%(AdditionalDependencies) -+ gmp.lib;%(AdditionalDependencies) - - - mkdir "$(OutDir)"\include diff --git a/ports/nettle/hogweed-arm.def b/ports/nettle/hogweed-arm.def new file mode 100644 index 00000000000000..59480f345a8ed0 --- /dev/null +++ b/ports/nettle/hogweed-arm.def @@ -0,0 +1,290 @@ +EXPORTS + nettle_ed448_shake256_verify + nettle_ed448_shake256_sign + nettle_ed448_shake256_public_key + _nettle_ed448_shake256 + nettle_ed25519_sha512_verify + nettle_ed25519_sha512_sign + nettle_ed25519_sha512_public_key + _nettle_ed25519_sha512 + _nettle_eddsa_verify_itch + _nettle_eddsa_verify + _nettle_eddsa_sign_itch + _nettle_eddsa_sign + _nettle_eddsa_public_key_itch + _nettle_eddsa_public_key + _nettle_eddsa_hash + _nettle_eddsa_expand_key + _nettle_eddsa_decompress_itch + _nettle_eddsa_decompress + _nettle_eddsa_compress_itch + _nettle_eddsa_compress + _nettle_curve448_eh_to_x + nettle_curve448_mul + nettle_curve448_mul_g + _nettle_curve25519_eh_to_x + nettle_curve25519_mul + nettle_curve25519_mul_g + nettle_gostdsa_vko + nettle_gostdsa_verify + nettle_ecc_gostdsa_verify_itch + nettle_ecc_gostdsa_verify + nettle_gostdsa_sign + nettle_ecc_gostdsa_sign_itch + nettle_ecc_gostdsa_sign + nettle_ecdsa_generate_keypair + nettle_ecdsa_verify + nettle_ecc_ecdsa_verify_itch + nettle_ecc_ecdsa_verify + nettle_ecdsa_sign + nettle_ecc_ecdsa_sign_itch + nettle_ecc_ecdsa_sign + nettle_ecc_point_mul_g + nettle_ecc_point_mul + nettle_ecc_scalar_init + nettle_ecc_scalar_clear + nettle_ecc_scalar_set + nettle_ecc_scalar_get + nettle_ecc_point_init + nettle_ecc_point_clear + nettle_ecc_point_set + nettle_ecc_point_get + nettle_ecc_scalar_random + _nettle_ecc_mod_random + _nettle_ecc_mul_a + _nettle_ecc_mul_g + _nettle_ecc_mul_m + _nettle_ecc_mul_a_eh + _nettle_ecc_mul_g_eh + _nettle_ecc_add_thh + _nettle_ecc_add_th + _nettle_ecc_dup_th + _nettle_ecc_add_ehh + _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 + _nettle_ecc_a_to_j + _nettle_ecc_j_to_a + nettle_ecc_bit_size + nettle_ecc_size + nettle_ecc_size_a + nettle_ecc_size_j + _nettle_secp_521r1 + nettle_get_secp_521r1 + _nettle_secp_384r1 + nettle_get_secp_384r1 + _nettle_secp_256r1 + nettle_get_secp_256r1 + _nettle_secp_224r1 + nettle_get_secp_224r1 + _nettle_secp_192r1 + nettle_get_secp_192r1 + _nettle_gost_gc512a + nettle_get_gost_gc512a + _nettle_gost_gc256b + nettle_get_gost_gc256b + _nettle_curve448 + _nettle_curve25519 + _nettle_ecc_pm1_redc + _nettle_ecc_pp1_redc + _nettle_ecc_mod_zero_p + _nettle_ecc_mod_equal_p + _nettle_ecc_mod_add + _nettle_ecc_mod_sub + _nettle_ecc_mod_mul_1 + _nettle_ecc_mod_addmul_1 + _nettle_ecc_mod_submul_1 + _nettle_ecc_mod_mul + _nettle_ecc_mod_sqr + _nettle_ecc_mod_mul_canonical + _nettle_ecc_mod_sqr_canonical + _nettle_ecc_mod_pow_2k + _nettle_ecc_mod_pow_2k_mul + _nettle_ecc_mod_inv + _nettle_ecc_mod + _nettle_cnd_copy + _nettle_sec_zero_p + _nettle_mpz_limbs_copy + _nettle_mpz_set_n + _nettle_mpn_set_base256 + _nettle_mpn_set_base256_le + _nettle_mpn_get_base256 + _nettle_mpn_get_base256_le + _nettle_gmp_alloc_limbs + _nettle_gmp_free_limbs + _nettle_gmp_alloc + _nettle_gmp_free + _nettle_sec_sub_1 + _nettle_sec_add_1 + nettle_dsa_params_from_der_iterator + nettle_dsa_public_key_from_der_iterator + nettle_dsa_openssl_private_key_from_der_iterator + nettle_openssl_provate_key_from_der + nettle_rsa_public_key_from_der_iterator + nettle_rsa_private_key_from_der_iterator + nettle_rsa_keypair_from_der + nettle_asn1_der_get_bignum + nettle_asn1_der_iterator_first + nettle_asn1_der_iterator_next + nettle_asn1_der_decode_constructed + nettle_asn1_der_decode_constructed_last + nettle_asn1_der_decode_bitstring + nettle_asn1_der_decode_bitstring_last + nettle_asn1_der_get_uint32 + nettle_rsa_keypair_to_openpgp + nettle_pgp_put_uint32 + nettle_pgp_put_uint16 + nettle_pgp_put_mpi + nettle_pgp_put_string + nettle_pgp_put_length + nettle_pgp_put_header + nettle_pgp_put_header_length + nettle_pgp_sub_packet_start + nettle_pgp_put_sub_packet + nettle_pgp_sub_packet_end + nettle_pgp_put_public_rsa_key + nettle_pgp_put_rsa_sha1_signature + nettle_pgp_put_userid + nettle_pgp_crc24 + nettle_pgp_armor + nettle_dsa_signature_from_sexp + nettle_dsa_keypair_from_sexp_alist + nettle_dsa_sha1_keypair_from_sexp + nettle_dsa_sha256_keypair_from_sexp + nettle_dsa_keypair_to_sexp + nettle_dsa_sha256_verify + nettle_dsa_sha256_verify_digest + nettle_dsa_sha256_sign + nettle_dsa_sha256_sign_digest + nettle_dsa_sha1_verify + nettle_dsa_sha1_verify_digest + nettle_dsa_sha1_sign + nettle_dsa_sha1_sign_digest + _nettle_dsa_hash + nettle_dsa_generate_keypair + nettle_dsa_verify + nettle_dsa_sign + nettle_dsa_generate_params + nettle_dsa_compat_generate_keypair + nettle_dsa_public_key_init + nettle_dsa_public_key_clear + nettle_dsa_private_key_init + nettle_dsa_private_key_clear + nettle_dsa_params_init + nettle_dsa_params_clear + nettle_dsa_signature_init + nettle_dsa_signature_clear + nettle_rsa_keypair_from_sexp_alist + nettle_rsa_keypair_from_sexp + nettle_rsa_keypair_to_sexp + _nettle_rsa_blind + _nettle_rsa_unblind + nettle_rsa_generate_keypair + nettle_rsa_decrypt_tr + nettle_rsa_sec_decrypt + nettle_rsa_decrypt + nettle_rsa_encrypt + nettle_rsa_pss_sha384_verify_digest + nettle_rsa_pss_sha512_verify_digest + nettle_rsa_pss_sha384_sign_digest_tr + nettle_rsa_pss_sha512_sign_digest_tr + nettle_rsa_pss_sha256_verify_digest + nettle_rsa_pss_sha256_sign_digest_tr + nettle_rsa_sha512_verify + nettle_rsa_sha512_verify_digest + nettle_rsa_sha512_sign_tr + nettle_rsa_sha512_sign_digest_tr + nettle_rsa_sha512_sign + nettle_rsa_sha512_sign_digest + nettle_rsa_sha256_verify + nettle_rsa_sha256_verify_digest + nettle_rsa_sha256_sign_tr + nettle_rsa_sha256_sign_digest_tr + nettle_rsa_sha256_sign + nettle_rsa_sha256_sign_digest + nettle_rsa_sha1_verify + nettle_rsa_sha1_verify_digest + nettle_rsa_sha1_sign_tr + nettle_rsa_sha1_sign_digest_tr + nettle_rsa_sha1_sign + nettle_rsa_sha1_sign_digest + nettle_rsa_md5_verify + nettle_rsa_md5_verify_digest + nettle_rsa_md5_sign_tr + nettle_rsa_md5_sign_digest_tr + nettle_rsa_md5_sign + nettle_rsa_md5_sign_digest + nettle_rsa_pkcs1_verify + nettle_rsa_pkcs1_sign_tr + nettle_rsa_pkcs1_sign + _nettle_rsa_sec_compute_root_itch + _nettle_rsa_sec_compute_root + _nettle_rsa_verify + _nettle_rsa_verify_recover + nettle_rsa_compute_root_tr + _nettle_rsa_sec_compute_root_tr + nettle_rsa_private_key_init + nettle_rsa_private_key_clear + nettle_rsa_private_key_prepare + nettle_rsa_compute_root + nettle_rsa_public_key_init + nettle_rsa_public_key_clear + nettle_rsa_public_key_prepare + _nettle_rsa_check_size + nettle_pss_mgf1 + nettle_pss_encode_mgf1 + nettle_pss_verify_mgf1 + nettle_pkcs1_rsa_sha512_encode + nettle_pkcs1_rsa_sha512_encode_digest + nettle_pkcs1_rsa_sha256_encode + nettle_pkcs1_rsa_sha256_encode_digest + nettle_pkcs1_rsa_sha1_encode + nettle_pkcs1_rsa_sha1_encode_digest + nettle_pkcs1_rsa_md5_encode + nettle_pkcs1_rsa_md5_encode_digest + nettle_pkcs1_rsa_digest_encode + _nettle_pkcs1_sec_decrypt + _nettle_pkcs1_sec_decrypt_variable + nettle_pkcs1_decrypt + nettle_pkcs1_encrypt + _nettle_pkcs1_signature_prefix + nettle_mpz_set_sexp + nettle_random_prime + _nettle_generate_pocklington_prime + nettle_mpz_random_size + nettle_mpz_random + nettle_mpz_sizeinbase_256_s + nettle_mpz_sizeinbase_256_u + nettle_mpz_get_str_256 + nettle_mpz_set_str_256_s + nettle_mpz_init_set_str_256_s + nettle_mpz_set_str_256_u + nettle_mpz_init_set_str_256_u + nettle_sexp_transport_format + nettle_sexp_transport_vformat + nettle_sexp_transport_iterator_first + nettle_sexp_format + nettle_sexp_vformat + nettle_sexp_iterator_first + nettle_sexp_iterator_next + nettle_sexp_iterator_enter_list + nettle_sexp_iterator_exit_list + nettle_sexp_iterator_subexpr + nettle_sexp_iterator_get_uint32 + 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 new file mode 100644 index 00000000000000..59480f345a8ed0 --- /dev/null +++ b/ports/nettle/hogweed-arm64.def @@ -0,0 +1,290 @@ +EXPORTS + nettle_ed448_shake256_verify + nettle_ed448_shake256_sign + nettle_ed448_shake256_public_key + _nettle_ed448_shake256 + nettle_ed25519_sha512_verify + nettle_ed25519_sha512_sign + nettle_ed25519_sha512_public_key + _nettle_ed25519_sha512 + _nettle_eddsa_verify_itch + _nettle_eddsa_verify + _nettle_eddsa_sign_itch + _nettle_eddsa_sign + _nettle_eddsa_public_key_itch + _nettle_eddsa_public_key + _nettle_eddsa_hash + _nettle_eddsa_expand_key + _nettle_eddsa_decompress_itch + _nettle_eddsa_decompress + _nettle_eddsa_compress_itch + _nettle_eddsa_compress + _nettle_curve448_eh_to_x + nettle_curve448_mul + nettle_curve448_mul_g + _nettle_curve25519_eh_to_x + nettle_curve25519_mul + nettle_curve25519_mul_g + nettle_gostdsa_vko + nettle_gostdsa_verify + nettle_ecc_gostdsa_verify_itch + nettle_ecc_gostdsa_verify + nettle_gostdsa_sign + nettle_ecc_gostdsa_sign_itch + nettle_ecc_gostdsa_sign + nettle_ecdsa_generate_keypair + nettle_ecdsa_verify + nettle_ecc_ecdsa_verify_itch + nettle_ecc_ecdsa_verify + nettle_ecdsa_sign + nettle_ecc_ecdsa_sign_itch + nettle_ecc_ecdsa_sign + nettle_ecc_point_mul_g + nettle_ecc_point_mul + nettle_ecc_scalar_init + nettle_ecc_scalar_clear + nettle_ecc_scalar_set + nettle_ecc_scalar_get + nettle_ecc_point_init + nettle_ecc_point_clear + nettle_ecc_point_set + nettle_ecc_point_get + nettle_ecc_scalar_random + _nettle_ecc_mod_random + _nettle_ecc_mul_a + _nettle_ecc_mul_g + _nettle_ecc_mul_m + _nettle_ecc_mul_a_eh + _nettle_ecc_mul_g_eh + _nettle_ecc_add_thh + _nettle_ecc_add_th + _nettle_ecc_dup_th + _nettle_ecc_add_ehh + _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 + _nettle_ecc_a_to_j + _nettle_ecc_j_to_a + nettle_ecc_bit_size + nettle_ecc_size + nettle_ecc_size_a + nettle_ecc_size_j + _nettle_secp_521r1 + nettle_get_secp_521r1 + _nettle_secp_384r1 + nettle_get_secp_384r1 + _nettle_secp_256r1 + nettle_get_secp_256r1 + _nettle_secp_224r1 + nettle_get_secp_224r1 + _nettle_secp_192r1 + nettle_get_secp_192r1 + _nettle_gost_gc512a + nettle_get_gost_gc512a + _nettle_gost_gc256b + nettle_get_gost_gc256b + _nettle_curve448 + _nettle_curve25519 + _nettle_ecc_pm1_redc + _nettle_ecc_pp1_redc + _nettle_ecc_mod_zero_p + _nettle_ecc_mod_equal_p + _nettle_ecc_mod_add + _nettle_ecc_mod_sub + _nettle_ecc_mod_mul_1 + _nettle_ecc_mod_addmul_1 + _nettle_ecc_mod_submul_1 + _nettle_ecc_mod_mul + _nettle_ecc_mod_sqr + _nettle_ecc_mod_mul_canonical + _nettle_ecc_mod_sqr_canonical + _nettle_ecc_mod_pow_2k + _nettle_ecc_mod_pow_2k_mul + _nettle_ecc_mod_inv + _nettle_ecc_mod + _nettle_cnd_copy + _nettle_sec_zero_p + _nettle_mpz_limbs_copy + _nettle_mpz_set_n + _nettle_mpn_set_base256 + _nettle_mpn_set_base256_le + _nettle_mpn_get_base256 + _nettle_mpn_get_base256_le + _nettle_gmp_alloc_limbs + _nettle_gmp_free_limbs + _nettle_gmp_alloc + _nettle_gmp_free + _nettle_sec_sub_1 + _nettle_sec_add_1 + nettle_dsa_params_from_der_iterator + nettle_dsa_public_key_from_der_iterator + nettle_dsa_openssl_private_key_from_der_iterator + nettle_openssl_provate_key_from_der + nettle_rsa_public_key_from_der_iterator + nettle_rsa_private_key_from_der_iterator + nettle_rsa_keypair_from_der + nettle_asn1_der_get_bignum + nettle_asn1_der_iterator_first + nettle_asn1_der_iterator_next + nettle_asn1_der_decode_constructed + nettle_asn1_der_decode_constructed_last + nettle_asn1_der_decode_bitstring + nettle_asn1_der_decode_bitstring_last + nettle_asn1_der_get_uint32 + nettle_rsa_keypair_to_openpgp + nettle_pgp_put_uint32 + nettle_pgp_put_uint16 + nettle_pgp_put_mpi + nettle_pgp_put_string + nettle_pgp_put_length + nettle_pgp_put_header + nettle_pgp_put_header_length + nettle_pgp_sub_packet_start + nettle_pgp_put_sub_packet + nettle_pgp_sub_packet_end + nettle_pgp_put_public_rsa_key + nettle_pgp_put_rsa_sha1_signature + nettle_pgp_put_userid + nettle_pgp_crc24 + nettle_pgp_armor + nettle_dsa_signature_from_sexp + nettle_dsa_keypair_from_sexp_alist + nettle_dsa_sha1_keypair_from_sexp + nettle_dsa_sha256_keypair_from_sexp + nettle_dsa_keypair_to_sexp + nettle_dsa_sha256_verify + nettle_dsa_sha256_verify_digest + nettle_dsa_sha256_sign + nettle_dsa_sha256_sign_digest + nettle_dsa_sha1_verify + nettle_dsa_sha1_verify_digest + nettle_dsa_sha1_sign + nettle_dsa_sha1_sign_digest + _nettle_dsa_hash + nettle_dsa_generate_keypair + nettle_dsa_verify + nettle_dsa_sign + nettle_dsa_generate_params + nettle_dsa_compat_generate_keypair + nettle_dsa_public_key_init + nettle_dsa_public_key_clear + nettle_dsa_private_key_init + nettle_dsa_private_key_clear + nettle_dsa_params_init + nettle_dsa_params_clear + nettle_dsa_signature_init + nettle_dsa_signature_clear + nettle_rsa_keypair_from_sexp_alist + nettle_rsa_keypair_from_sexp + nettle_rsa_keypair_to_sexp + _nettle_rsa_blind + _nettle_rsa_unblind + nettle_rsa_generate_keypair + nettle_rsa_decrypt_tr + nettle_rsa_sec_decrypt + nettle_rsa_decrypt + nettle_rsa_encrypt + nettle_rsa_pss_sha384_verify_digest + nettle_rsa_pss_sha512_verify_digest + nettle_rsa_pss_sha384_sign_digest_tr + nettle_rsa_pss_sha512_sign_digest_tr + nettle_rsa_pss_sha256_verify_digest + nettle_rsa_pss_sha256_sign_digest_tr + nettle_rsa_sha512_verify + nettle_rsa_sha512_verify_digest + nettle_rsa_sha512_sign_tr + nettle_rsa_sha512_sign_digest_tr + nettle_rsa_sha512_sign + nettle_rsa_sha512_sign_digest + nettle_rsa_sha256_verify + nettle_rsa_sha256_verify_digest + nettle_rsa_sha256_sign_tr + nettle_rsa_sha256_sign_digest_tr + nettle_rsa_sha256_sign + nettle_rsa_sha256_sign_digest + nettle_rsa_sha1_verify + nettle_rsa_sha1_verify_digest + nettle_rsa_sha1_sign_tr + nettle_rsa_sha1_sign_digest_tr + nettle_rsa_sha1_sign + nettle_rsa_sha1_sign_digest + nettle_rsa_md5_verify + nettle_rsa_md5_verify_digest + nettle_rsa_md5_sign_tr + nettle_rsa_md5_sign_digest_tr + nettle_rsa_md5_sign + nettle_rsa_md5_sign_digest + nettle_rsa_pkcs1_verify + nettle_rsa_pkcs1_sign_tr + nettle_rsa_pkcs1_sign + _nettle_rsa_sec_compute_root_itch + _nettle_rsa_sec_compute_root + _nettle_rsa_verify + _nettle_rsa_verify_recover + nettle_rsa_compute_root_tr + _nettle_rsa_sec_compute_root_tr + nettle_rsa_private_key_init + nettle_rsa_private_key_clear + nettle_rsa_private_key_prepare + nettle_rsa_compute_root + nettle_rsa_public_key_init + nettle_rsa_public_key_clear + nettle_rsa_public_key_prepare + _nettle_rsa_check_size + nettle_pss_mgf1 + nettle_pss_encode_mgf1 + nettle_pss_verify_mgf1 + nettle_pkcs1_rsa_sha512_encode + nettle_pkcs1_rsa_sha512_encode_digest + nettle_pkcs1_rsa_sha256_encode + nettle_pkcs1_rsa_sha256_encode_digest + nettle_pkcs1_rsa_sha1_encode + nettle_pkcs1_rsa_sha1_encode_digest + nettle_pkcs1_rsa_md5_encode + nettle_pkcs1_rsa_md5_encode_digest + nettle_pkcs1_rsa_digest_encode + _nettle_pkcs1_sec_decrypt + _nettle_pkcs1_sec_decrypt_variable + nettle_pkcs1_decrypt + nettle_pkcs1_encrypt + _nettle_pkcs1_signature_prefix + nettle_mpz_set_sexp + nettle_random_prime + _nettle_generate_pocklington_prime + nettle_mpz_random_size + nettle_mpz_random + nettle_mpz_sizeinbase_256_s + nettle_mpz_sizeinbase_256_u + nettle_mpz_get_str_256 + nettle_mpz_set_str_256_s + nettle_mpz_init_set_str_256_s + nettle_mpz_set_str_256_u + nettle_mpz_init_set_str_256_u + nettle_sexp_transport_format + nettle_sexp_transport_vformat + nettle_sexp_transport_iterator_first + nettle_sexp_format + nettle_sexp_vformat + nettle_sexp_iterator_first + nettle_sexp_iterator_next + nettle_sexp_iterator_enter_list + nettle_sexp_iterator_exit_list + nettle_sexp_iterator_subexpr + nettle_sexp_iterator_get_uint32 + 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 new file mode 100644 index 00000000000000..7fd43dec5eec5f --- /dev/null +++ b/ports/nettle/hogweed-x64.def @@ -0,0 +1,297 @@ +EXPORTS + _nettle_ecc_curve448_modp + _nettle_ecc_curve25519_modp + _nettle_ecc_secp521r1_modp + _nettle_ecc_secp384r1_modp + _nettle_ecc_secp256r1_redc + _nettle_ecc_secp224r1_modp + _nettle_ecc_secp192r1_modp + nettle_ed448_shake256_verify + nettle_ed448_shake256_sign + nettle_ed448_shake256_public_key + _nettle_ed448_shake256 + nettle_ed25519_sha512_verify + nettle_ed25519_sha512_sign + nettle_ed25519_sha512_public_key + _nettle_ed25519_sha512 + _nettle_eddsa_verify_itch + _nettle_eddsa_verify + _nettle_eddsa_sign_itch + _nettle_eddsa_sign + _nettle_eddsa_public_key_itch + _nettle_eddsa_public_key + _nettle_eddsa_hash + _nettle_eddsa_expand_key + _nettle_eddsa_decompress_itch + _nettle_eddsa_decompress + _nettle_eddsa_compress_itch + _nettle_eddsa_compress + _nettle_curve448_eh_to_x + nettle_curve448_mul + nettle_curve448_mul_g + _nettle_curve25519_eh_to_x + nettle_curve25519_mul + nettle_curve25519_mul_g + nettle_gostdsa_vko + nettle_gostdsa_verify + nettle_ecc_gostdsa_verify_itch + nettle_ecc_gostdsa_verify + nettle_gostdsa_sign + nettle_ecc_gostdsa_sign_itch + nettle_ecc_gostdsa_sign + nettle_ecdsa_generate_keypair + nettle_ecdsa_verify + nettle_ecc_ecdsa_verify_itch + nettle_ecc_ecdsa_verify + nettle_ecdsa_sign + nettle_ecc_ecdsa_sign_itch + nettle_ecc_ecdsa_sign + nettle_ecc_point_mul_g + nettle_ecc_point_mul + nettle_ecc_scalar_init + nettle_ecc_scalar_clear + nettle_ecc_scalar_set + nettle_ecc_scalar_get + nettle_ecc_point_init + nettle_ecc_point_clear + nettle_ecc_point_set + nettle_ecc_point_get + nettle_ecc_scalar_random + _nettle_ecc_mod_random + _nettle_ecc_mul_a + _nettle_ecc_mul_g + _nettle_ecc_mul_m + _nettle_ecc_mul_a_eh + _nettle_ecc_mul_g_eh + _nettle_ecc_add_thh + _nettle_ecc_add_th + _nettle_ecc_dup_th + _nettle_ecc_add_ehh + _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 + _nettle_ecc_a_to_j + _nettle_ecc_j_to_a + nettle_ecc_bit_size + nettle_ecc_size + nettle_ecc_size_a + nettle_ecc_size_j + _nettle_secp_521r1 + nettle_get_secp_521r1 + _nettle_secp_384r1 + nettle_get_secp_384r1 + _nettle_secp_256r1 + nettle_get_secp_256r1 + _nettle_secp_224r1 + nettle_get_secp_224r1 + _nettle_secp_192r1 + nettle_get_secp_192r1 + _nettle_gost_gc512a + nettle_get_gost_gc512a + _nettle_gost_gc256b + nettle_get_gost_gc256b + _nettle_curve448 + _nettle_curve25519 + _nettle_ecc_pm1_redc + _nettle_ecc_pp1_redc + _nettle_ecc_mod_zero_p + _nettle_ecc_mod_equal_p + _nettle_ecc_mod_add + _nettle_ecc_mod_sub + _nettle_ecc_mod_mul_1 + _nettle_ecc_mod_addmul_1 + _nettle_ecc_mod_submul_1 + _nettle_ecc_mod_mul + _nettle_ecc_mod_sqr + _nettle_ecc_mod_mul_canonical + _nettle_ecc_mod_sqr_canonical + _nettle_ecc_mod_pow_2k + _nettle_ecc_mod_pow_2k_mul + _nettle_ecc_mod_inv + _nettle_ecc_mod + _nettle_cnd_copy + _nettle_sec_zero_p + _nettle_mpz_limbs_copy + _nettle_mpz_set_n + _nettle_mpn_set_base256 + _nettle_mpn_set_base256_le + _nettle_mpn_get_base256 + _nettle_mpn_get_base256_le + _nettle_gmp_alloc_limbs + _nettle_gmp_free_limbs + _nettle_gmp_alloc + _nettle_gmp_free + _nettle_sec_sub_1 + _nettle_sec_add_1 + nettle_dsa_params_from_der_iterator + nettle_dsa_public_key_from_der_iterator + nettle_dsa_openssl_private_key_from_der_iterator + nettle_openssl_provate_key_from_der + nettle_rsa_public_key_from_der_iterator + nettle_rsa_private_key_from_der_iterator + nettle_rsa_keypair_from_der + nettle_asn1_der_get_bignum + nettle_asn1_der_iterator_first + nettle_asn1_der_iterator_next + nettle_asn1_der_decode_constructed + nettle_asn1_der_decode_constructed_last + nettle_asn1_der_decode_bitstring + nettle_asn1_der_decode_bitstring_last + nettle_asn1_der_get_uint32 + nettle_rsa_keypair_to_openpgp + nettle_pgp_put_uint32 + nettle_pgp_put_uint16 + nettle_pgp_put_mpi + nettle_pgp_put_string + nettle_pgp_put_length + nettle_pgp_put_header + nettle_pgp_put_header_length + nettle_pgp_sub_packet_start + nettle_pgp_put_sub_packet + nettle_pgp_sub_packet_end + nettle_pgp_put_public_rsa_key + nettle_pgp_put_rsa_sha1_signature + nettle_pgp_put_userid + nettle_pgp_crc24 + nettle_pgp_armor + nettle_dsa_signature_from_sexp + nettle_dsa_keypair_from_sexp_alist + nettle_dsa_sha1_keypair_from_sexp + nettle_dsa_sha256_keypair_from_sexp + nettle_dsa_keypair_to_sexp + nettle_dsa_sha256_verify + nettle_dsa_sha256_verify_digest + nettle_dsa_sha256_sign + nettle_dsa_sha256_sign_digest + nettle_dsa_sha1_verify + nettle_dsa_sha1_verify_digest + nettle_dsa_sha1_sign + nettle_dsa_sha1_sign_digest + _nettle_dsa_hash + nettle_dsa_generate_keypair + nettle_dsa_verify + nettle_dsa_sign + nettle_dsa_generate_params + nettle_dsa_compat_generate_keypair + nettle_dsa_public_key_init + nettle_dsa_public_key_clear + nettle_dsa_private_key_init + nettle_dsa_private_key_clear + nettle_dsa_params_init + nettle_dsa_params_clear + nettle_dsa_signature_init + nettle_dsa_signature_clear + nettle_rsa_keypair_from_sexp_alist + nettle_rsa_keypair_from_sexp + nettle_rsa_keypair_to_sexp + _nettle_rsa_blind + _nettle_rsa_unblind + nettle_rsa_generate_keypair + nettle_rsa_decrypt_tr + nettle_rsa_sec_decrypt + nettle_rsa_decrypt + nettle_rsa_encrypt + nettle_rsa_pss_sha384_verify_digest + nettle_rsa_pss_sha512_verify_digest + nettle_rsa_pss_sha384_sign_digest_tr + nettle_rsa_pss_sha512_sign_digest_tr + nettle_rsa_pss_sha256_verify_digest + nettle_rsa_pss_sha256_sign_digest_tr + nettle_rsa_sha512_verify + nettle_rsa_sha512_verify_digest + nettle_rsa_sha512_sign_tr + nettle_rsa_sha512_sign_digest_tr + nettle_rsa_sha512_sign + nettle_rsa_sha512_sign_digest + nettle_rsa_sha256_verify + nettle_rsa_sha256_verify_digest + nettle_rsa_sha256_sign_tr + nettle_rsa_sha256_sign_digest_tr + nettle_rsa_sha256_sign + nettle_rsa_sha256_sign_digest + nettle_rsa_sha1_verify + nettle_rsa_sha1_verify_digest + nettle_rsa_sha1_sign_tr + nettle_rsa_sha1_sign_digest_tr + nettle_rsa_sha1_sign + nettle_rsa_sha1_sign_digest + nettle_rsa_md5_verify + nettle_rsa_md5_verify_digest + nettle_rsa_md5_sign_tr + nettle_rsa_md5_sign_digest_tr + nettle_rsa_md5_sign + nettle_rsa_md5_sign_digest + nettle_rsa_pkcs1_verify + nettle_rsa_pkcs1_sign_tr + nettle_rsa_pkcs1_sign + _nettle_rsa_sec_compute_root_itch + _nettle_rsa_sec_compute_root + _nettle_rsa_verify + _nettle_rsa_verify_recover + nettle_rsa_compute_root_tr + _nettle_rsa_sec_compute_root_tr + nettle_rsa_private_key_init + nettle_rsa_private_key_clear + nettle_rsa_private_key_prepare + nettle_rsa_compute_root + nettle_rsa_public_key_init + nettle_rsa_public_key_clear + nettle_rsa_public_key_prepare + _nettle_rsa_check_size + nettle_pss_mgf1 + nettle_pss_encode_mgf1 + nettle_pss_verify_mgf1 + nettle_pkcs1_rsa_sha512_encode + nettle_pkcs1_rsa_sha512_encode_digest + nettle_pkcs1_rsa_sha256_encode + nettle_pkcs1_rsa_sha256_encode_digest + nettle_pkcs1_rsa_sha1_encode + nettle_pkcs1_rsa_sha1_encode_digest + nettle_pkcs1_rsa_md5_encode + nettle_pkcs1_rsa_md5_encode_digest + nettle_pkcs1_rsa_digest_encode + _nettle_pkcs1_sec_decrypt + _nettle_pkcs1_sec_decrypt_variable + nettle_pkcs1_decrypt + nettle_pkcs1_encrypt + _nettle_pkcs1_signature_prefix + nettle_mpz_set_sexp + nettle_random_prime + _nettle_generate_pocklington_prime + nettle_mpz_random_size + nettle_mpz_random + nettle_mpz_sizeinbase_256_s + nettle_mpz_sizeinbase_256_u + nettle_mpz_get_str_256 + nettle_mpz_set_str_256_s + nettle_mpz_init_set_str_256_s + nettle_mpz_set_str_256_u + nettle_mpz_init_set_str_256_u + nettle_sexp_transport_format + nettle_sexp_transport_vformat + nettle_sexp_transport_iterator_first + nettle_sexp_format + nettle_sexp_vformat + nettle_sexp_iterator_first + nettle_sexp_iterator_next + nettle_sexp_iterator_enter_list + nettle_sexp_iterator_exit_list + nettle_sexp_iterator_subexpr + nettle_sexp_iterator_get_uint32 + 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 new file mode 100644 index 00000000000000..d4752e9ab90fba --- /dev/null +++ b/ports/nettle/hogweed-x86.def @@ -0,0 +1,290 @@ +EXPORTS + nettle_ed448_shake256_verify + nettle_ed448_shake256_sign + nettle_ed448_shake256_public_key + _nettle_ed448_shake256 + nettle_ed25519_sha512_verify + nettle_ed25519_sha512_sign + nettle_ed25519_sha512_public_key + _nettle_ed25519_sha512 + _nettle_eddsa_verify_itch + _nettle_eddsa_verify + _nettle_eddsa_sign_itch + _nettle_eddsa_sign + _nettle_eddsa_public_key_itch + _nettle_eddsa_public_key + _nettle_eddsa_hash + _nettle_eddsa_expand_key + _nettle_eddsa_decompress_itch + _nettle_eddsa_decompress + _nettle_eddsa_compress_itch + _nettle_eddsa_compress + _nettle_curve448_eh_to_x + nettle_curve448_mul + nettle_curve448_mul_g + _nettle_curve25519_eh_to_x + nettle_curve25519_mul + nettle_curve25519_mul_g + nettle_gostdsa_vko + nettle_gostdsa_verify + nettle_ecc_gostdsa_verify_itch + nettle_ecc_gostdsa_verify + nettle_gostdsa_sign + nettle_ecc_gostdsa_sign_itch + nettle_ecc_gostdsa_sign + nettle_ecdsa_generate_keypair + nettle_ecdsa_verify + nettle_ecc_ecdsa_verify_itch + nettle_ecc_ecdsa_verify + nettle_ecdsa_sign + nettle_ecc_ecdsa_sign_itch + nettle_ecc_ecdsa_sign + nettle_ecc_point_mul_g + nettle_ecc_point_mul + nettle_ecc_scalar_init + nettle_ecc_scalar_clear + nettle_ecc_scalar_set + nettle_ecc_scalar_get + nettle_ecc_point_init + nettle_ecc_point_clear + nettle_ecc_point_set + nettle_ecc_point_get + nettle_ecc_scalar_random + _nettle_ecc_mod_random + _nettle_ecc_mul_a + _nettle_ecc_mul_g + _nettle_ecc_mul_m + _nettle_ecc_mul_a_eh + _nettle_ecc_mul_g_eh + _nettle_ecc_add_thh + _nettle_ecc_add_th + _nettle_ecc_dup_th + _nettle_ecc_add_ehh + _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 + _nettle_ecc_a_to_j + _nettle_ecc_j_to_a + nettle_ecc_bit_size + nettle_ecc_size + nettle_ecc_size_a + nettle_ecc_size_j + _nettle_secp_521r1 + nettle_get_secp_521r1 + _nettle_secp_384r1 + nettle_get_secp_384r1 + _nettle_secp_256r1 + nettle_get_secp_256r1 + _nettle_secp_224r1 + nettle_get_secp_224r1 + _nettle_secp_192r1 + nettle_get_secp_192r1 + _nettle_gost_gc512a + nettle_get_gost_gc512a + _nettle_gost_gc256b + nettle_get_gost_gc256b + _nettle_curve448 + _nettle_curve25519 + _nettle_ecc_pm1_redc + _nettle_ecc_pp1_redc + _nettle_ecc_mod_zero_p + _nettle_ecc_mod_equal_p + _nettle_ecc_mod_add + _nettle_ecc_mod_sub + _nettle_ecc_mod_mul_1 + _nettle_ecc_mod_addmul_1 + _nettle_ecc_mod_submul_1 + _nettle_ecc_mod_mul + _nettle_ecc_mod_sqr + _nettle_ecc_mod_mul_canonical + _nettle_ecc_mod_sqr_canonical + _nettle_ecc_mod_pow_2k + _nettle_ecc_mod_pow_2k_mul + _nettle_ecc_mod_inv + _nettle_ecc_mod + _nettle_cnd_copy + _nettle_sec_zero_p + _nettle_mpz_limbs_copy + _nettle_mpz_set_n + _nettle_mpn_set_base256 + _nettle_mpn_set_base256_le + _nettle_mpn_get_base256 + _nettle_mpn_get_base256_le + _nettle_gmp_alloc_limbs + _nettle_gmp_free_limbs + _nettle_gmp_alloc + _nettle_gmp_free + _nettle_sec_sub_1 + _nettle_sec_add_1 + nettle_dsa_params_from_der_iterator + nettle_dsa_public_key_from_der_iterator + nettle_dsa_openssl_private_key_from_der_iterator + nettle_openssl_provate_key_from_der + nettle_rsa_public_key_from_der_iterator + nettle_rsa_private_key_from_der_iterator + nettle_rsa_keypair_from_der + nettle_asn1_der_get_bignum + nettle_asn1_der_iterator_first + nettle_asn1_der_iterator_next + nettle_asn1_der_decode_constructed + nettle_asn1_der_decode_constructed_last + nettle_asn1_der_decode_bitstring + nettle_asn1_der_decode_bitstring_last + nettle_asn1_der_get_uint32 + nettle_rsa_keypair_to_openpgp + nettle_pgp_put_uint32 + nettle_pgp_put_uint16 + nettle_pgp_put_mpi + nettle_pgp_put_string + nettle_pgp_put_length + nettle_pgp_put_header + nettle_pgp_put_header_length + nettle_pgp_sub_packet_start + nettle_pgp_put_sub_packet + nettle_pgp_sub_packet_end + nettle_pgp_put_public_rsa_key + nettle_pgp_put_rsa_sha1_signature + nettle_pgp_put_userid + nettle_pgp_crc24 + nettle_pgp_armor + nettle_dsa_signature_from_sexp + nettle_dsa_keypair_from_sexp_alist + nettle_dsa_sha1_keypair_from_sexp + nettle_dsa_sha256_keypair_from_sexp + nettle_dsa_keypair_to_sexp + nettle_dsa_sha256_verify + nettle_dsa_sha256_verify_digest + nettle_dsa_sha256_sign + nettle_dsa_sha256_sign_digest + nettle_dsa_sha1_verify + nettle_dsa_sha1_verify_digest + nettle_dsa_sha1_sign + nettle_dsa_sha1_sign_digest + _nettle_dsa_hash + nettle_dsa_generate_keypair + nettle_dsa_verify + nettle_dsa_sign + nettle_dsa_generate_params + nettle_dsa_compat_generate_keypair + nettle_dsa_public_key_init + nettle_dsa_public_key_clear + nettle_dsa_private_key_init + nettle_dsa_private_key_clear + nettle_dsa_params_init + nettle_dsa_params_clear + nettle_dsa_signature_init + nettle_dsa_signature_clear + nettle_rsa_keypair_from_sexp_alist + nettle_rsa_keypair_from_sexp + nettle_rsa_keypair_to_sexp + _nettle_rsa_blind + _nettle_rsa_unblind + nettle_rsa_generate_keypair + nettle_rsa_decrypt_tr + nettle_rsa_sec_decrypt + nettle_rsa_decrypt + nettle_rsa_encrypt + nettle_rsa_pss_sha384_verify_digest + nettle_rsa_pss_sha512_verify_digest + nettle_rsa_pss_sha384_sign_digest_tr + nettle_rsa_pss_sha512_sign_digest_tr + nettle_rsa_pss_sha256_verify_digest + nettle_rsa_pss_sha256_sign_digest_tr + nettle_rsa_sha512_verify + nettle_rsa_sha512_verify_digest + nettle_rsa_sha512_sign_tr + nettle_rsa_sha512_sign_digest_tr + nettle_rsa_sha512_sign + nettle_rsa_sha512_sign_digest + nettle_rsa_sha256_verify + nettle_rsa_sha256_verify_digest + nettle_rsa_sha256_sign_tr + nettle_rsa_sha256_sign_digest_tr + nettle_rsa_sha256_sign + nettle_rsa_sha256_sign_digest + nettle_rsa_sha1_verify + nettle_rsa_sha1_verify_digest + nettle_rsa_sha1_sign_tr + nettle_rsa_sha1_sign_digest_tr + nettle_rsa_sha1_sign + nettle_rsa_sha1_sign_digest + nettle_rsa_md5_verify + nettle_rsa_md5_verify_digest + nettle_rsa_md5_sign_tr + nettle_rsa_md5_sign_digest_tr + nettle_rsa_md5_sign + nettle_rsa_md5_sign_digest + nettle_rsa_pkcs1_verify + nettle_rsa_pkcs1_sign_tr + nettle_rsa_pkcs1_sign + _nettle_rsa_sec_compute_root_itch + _nettle_rsa_sec_compute_root + _nettle_rsa_verify + _nettle_rsa_verify_recover + nettle_rsa_compute_root_tr + _nettle_rsa_sec_compute_root_tr + nettle_rsa_private_key_init + nettle_rsa_private_key_clear + nettle_rsa_private_key_prepare + nettle_rsa_compute_root + nettle_rsa_public_key_init + nettle_rsa_public_key_clear + nettle_rsa_public_key_prepare + _nettle_rsa_check_size + nettle_pss_mgf1 + nettle_pss_encode_mgf1 + nettle_pss_verify_mgf1 + nettle_pkcs1_rsa_sha512_encode + nettle_pkcs1_rsa_sha512_encode_digest + nettle_pkcs1_rsa_sha256_encode + nettle_pkcs1_rsa_sha256_encode_digest + nettle_pkcs1_rsa_sha1_encode + nettle_pkcs1_rsa_sha1_encode_digest + nettle_pkcs1_rsa_md5_encode + nettle_pkcs1_rsa_md5_encode_digest + nettle_pkcs1_rsa_digest_encode + _nettle_pkcs1_sec_decrypt + _nettle_pkcs1_sec_decrypt_variable + nettle_pkcs1_decrypt + nettle_pkcs1_encrypt + _nettle_pkcs1_signature_prefix + nettle_mpz_set_sexp + nettle_random_prime + _nettle_generate_pocklington_prime + nettle_mpz_random_size + nettle_mpz_random + nettle_mpz_sizeinbase_256_s + nettle_mpz_sizeinbase_256_u + nettle_mpz_get_str_256 + nettle_mpz_set_str_256_s + nettle_mpz_init_set_str_256_s + nettle_mpz_set_str_256_u + nettle_mpz_init_set_str_256_u + nettle_sexp_transport_format + nettle_sexp_transport_vformat + nettle_sexp_transport_iterator_first + nettle_sexp_format + nettle_sexp_vformat + nettle_sexp_iterator_first + nettle_sexp_iterator_next + nettle_sexp_iterator_enter_list + nettle_sexp_iterator_exit_list + nettle_sexp_iterator_subexpr + nettle_sexp_iterator_get_uint32 + 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 new file mode 100644 index 00000000000000..5b9c50063fb007 --- /dev/null +++ b/ports/nettle/host-tools.patch @@ -0,0 +1,115 @@ +diff --git a/Makefile.in b/Makefile.in +index 2bf7f1e8..4b80c8df 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -1,3 +1,6 @@ ++# Using native tools, either this build or from host triplet ++HOST_TOOLS_PREFIX ?= . ++ + # Nettle Makefile + + @SET_MAKE@ +@@ -347,11 +350,11 @@ des_headers = rotors.h keymap.h + # Generate DES headers. + $(des_headers): desdata.stamp + f="$(srcdir)/`basename $@`"; \ +- ./desdata$(EXEEXT_FOR_BUILD) $(@F) > $${f}T; \ ++ $(HOST_TOOLS_PREFIX)/desdata$(EXEEXT_FOR_BUILD) $(@F) > $${f}T; \ + test -s $${f}T && mv -f $${f}T $$f + +-desdata.stamp: desdata.c +- $(MAKE) desdata$(EXEEXT_FOR_BUILD) ++./desdata$(EXEEXT_FOR_BUILD): desdata.c ++desdata.stamp: $(HOST_TOOLS_PREFIX)/desdata$(EXEEXT_FOR_BUILD) + echo stamp > desdata.stamp + + 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 +- ./eccdata$(EXEEXT_FOR_BUILD) secp192r1 8 6 $(NUMB_BITS) > $@T && mv $@T $@ ++ $(HOST_TOOLS_PREFIX)/eccdata$(EXEEXT_FOR_BUILD) secp192r1 8 6 $(NUMB_BITS) > $@T && mv $@T $@ + + # Some reasonable choices for 224: + # k = 16, c = 7, S = 256, T = 48 ( 32 A + 16 D) ~16 KB +@@ -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 +- ./eccdata$(EXEEXT_FOR_BUILD) secp224r1 16 7 $(NUMB_BITS) > $@T && mv $@T $@ ++ $(HOST_TOOLS_PREFIX)/eccdata$(EXEEXT_FOR_BUILD) secp224r1 16 7 $(NUMB_BITS) > $@T && mv $@T $@ + + # Some reasonable choices for 256: + # k = 9, c = 6, S = 320, T = 54 ( 45 A + 9 D) 20 KB +@@ -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 +- ./eccdata$(EXEEXT_FOR_BUILD) secp256r1 11 6 $(NUMB_BITS) > $@T && mv $@T $@ ++ $(HOST_TOOLS_PREFIX)/eccdata$(EXEEXT_FOR_BUILD) secp256r1 11 6 $(NUMB_BITS) > $@T && mv $@T $@ + + # Some reasonable choices for 384: + # k = 16, c = 6, S = 256, T = 80 ( 64 A + 16 D) 24 KB +@@ -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 +- ./eccdata$(EXEEXT_FOR_BUILD) secp384r1 32 6 $(NUMB_BITS) > $@T && mv $@T $@ ++ $(HOST_TOOLS_PREFIX)/eccdata$(EXEEXT_FOR_BUILD) secp384r1 32 6 $(NUMB_BITS) > $@T && mv $@T $@ + + # Some reasonable choices for 521: + # k = 29, c = 6, S = 192, T = 116 ( 87 A + 29 D) ~27 KB +@@ -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 +- ./eccdata$(EXEEXT_FOR_BUILD) secp521r1 44 6 $(NUMB_BITS) > $@T && mv $@T $@ ++ $(HOST_TOOLS_PREFIX)/eccdata$(EXEEXT_FOR_BUILD) secp521r1 44 6 $(NUMB_BITS) > $@T && mv $@T $@ + + # Parameter choices mostly the same as for ecc-secp256r1.h. + ecc-curve25519.h: eccdata.stamp +- ./eccdata$(EXEEXT_FOR_BUILD) curve25519 11 6 $(NUMB_BITS) > $@T && mv $@T $@ ++ $(HOST_TOOLS_PREFIX)/eccdata$(EXEEXT_FOR_BUILD) curve25519 11 6 $(NUMB_BITS) > $@T && mv $@T $@ + + ecc-curve448.h: eccdata.stamp +- ./eccdata$(EXEEXT_FOR_BUILD) curve448 38 6 $(NUMB_BITS) > $@T && mv $@T $@ ++ $(HOST_TOOLS_PREFIX)/eccdata$(EXEEXT_FOR_BUILD) curve448 38 6 $(NUMB_BITS) > $@T && mv $@T $@ + + # Some reasonable choices for 256: + # k = 9, c = 6, S = 320, T = 54 ( 45 A + 9 D) 20 KB +@@ -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 +- ./eccdata$(EXEEXT_FOR_BUILD) gost_gc256b 11 6 $(NUMB_BITS) > $@T && mv $@T $@ ++ $(HOST_TOOLS_PREFIX)/eccdata$(EXEEXT_FOR_BUILD) gost_gc256b 11 6 $(NUMB_BITS) > $@T && mv $@T $@ + + # Some reasonable choices for 512: + # k = 22, c = 6, S = 256, T = 110 ( 88 A + 22 D) 32 KB +@@ -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 +- ./eccdata$(EXEEXT_FOR_BUILD) gost_gc512a 43 6 $(NUMB_BITS) > $@T && mv $@T $@ ++ $(HOST_TOOLS_PREFIX)/eccdata$(EXEEXT_FOR_BUILD) gost_gc512a 43 6 $(NUMB_BITS) > $@T && mv $@T $@ + +-eccdata.stamp: eccdata.c +- $(MAKE) eccdata$(EXEEXT_FOR_BUILD) ++./eccdata$(EXEEXT_FOR_BUILD): eccdata.c ++eccdata.stamp: $(HOST_TOOLS_PREFIX)/eccdata$(EXEEXT_FOR_BUILD) + echo stamp > eccdata.stamp + + ecc-curve25519.$(OBJEXT): ecc-curve25519.h +diff --git a/aclocal.m4 b/aclocal.m4 +index 629db8a7..0cf32544 100644 +--- a/aclocal.m4 ++++ b/aclocal.m4 +@@ -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 + fi + rm -f conftest* a.out b.out a.exe a_out.exe + AC_MSG_RESULT($cc_for_build_works) diff --git a/ports/nettle/lib-to-def.cmake b/ports/nettle/lib-to-def.cmake new file mode 100644 index 00000000000000..09d55c42b178de --- /dev/null +++ b/ports/nettle/lib-to-def.cmake @@ -0,0 +1,32 @@ +function(lib_to_def) + if(NOT VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_MINGW OR NOT VCPKG_LIBRARY_LINKAGE STREQUAL "static") + return() + endif() + + cmake_parse_arguments(PARSE_ARGV 0 arg "" "BASENAME;REGEX" "") + if(NOT arg_BASENAME) + message(FATAL_ERROR "BASENAME is a required argument.") + endif() + if(NOT arg_REGEX) + set(arg_REGEX "[^ ]+") + endif() + + set(logfile "${CURRENT_BUILDTREES_DIR}/dumpbin-${arg_BASENAME}-${TARGET_TRIPLET}-symbols.log") + vcpkg_execute_required_process( + COMMAND dumpbin /symbols "/OUT:${logfile}" "${CURRENT_PACKAGES_DIR}/lib/${arg_BASENAME}.lib" + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}" + LOGNAME "dumpbin-${arg_BASENAME}-${TARGET_TRIPLET}" + ) + file(STRINGS "${logfile}" symbols REGEX "^... ........ SECT.. notype .. External [|] ${arg_REGEX}") + list(TRANSFORM symbols REPLACE "^[^|]+[|] " " ") + if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + string(REPLACE " _" " " symbols "${symbols}") + endif() + list(JOIN symbols "\n" symbols) + set(symbols "EXPORTS\n${symbols}\n") + file(READ "${CMAKE_CURRENT_LIST_DIR}/${arg_BASENAME}-${VCPKG_TARGET_ARCHITECTURE}.def" original_symbols) + if(NOT symbols STREQUAL original_symbols) + file(WRITE "${CURRENT_BUILDTREES_DIR}/${arg_BASENAME}-${VCPKG_TARGET_ARCHITECTURE}.def.log" "${symbols}") + message(SEND_ERROR "${arg_BASENAME}-${VCPKG_TARGET_ARCHITECTURE}.def has changed.") + endif() +endfunction() diff --git a/ports/nettle/libname-windows.patch b/ports/nettle/libname-windows.patch new file mode 100644 index 00000000000000..e8990ec9eb727a --- /dev/null +++ b/ports/nettle/libname-windows.patch @@ -0,0 +1,67 @@ +diff --git a/Makefile.in b/Makefile.in +index 2f05c29..16a150c 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -26,7 +26,7 @@ include config.make + PRE_CPPFLAGS = -I. + EXTRA_CFLAGS = $(CCPIC) + +-LIBTARGETS = @IF_STATIC@ libnettle.a @IF_HOGWEED@ libhogweed.a ++LIBTARGETS = @IF_STATIC@ $(LIBNETTLE_FILE) @IF_HOGWEED@ $(LIBHOGWEED_FILE) + SHLIBTARGETS = @IF_SHARED@ $(LIBNETTLE_FORLINK) @IF_HOGWEED@ $(LIBHOGWEED_FORLINK) + + getopt_SOURCES = getopt.c getopt1.c +@@ -276,13 +276,13 @@ nettle_OBJS = $(nettle_SOURCES:.c=.$(OBJEXT)) \ + hogweed_OBJS = $(hogweed_SOURCES:.c=.$(OBJEXT)) \ + $(OPT_HOGWEED_OBJS) @IF_MINI_GMP@ mini-gmp.$(OBJEXT) + +-libnettle.a: $(nettle_OBJS) ++$(LIBNETTLE_FILE): $(nettle_OBJS) + -rm -f $@ + $(AR) $(ARFLAGS) $@ $(nettle_OBJS) + $(RANLIB) $@ + echo nettle > libnettle.stamp + +-libhogweed.a: $(hogweed_OBJS) ++$(LIBHOGWEED_FILE): $(hogweed_OBJS) + -rm -f $@ + $(AR) $(ARFLAGS) $@ $(hogweed_OBJS) + $(RANLIB) $@ +diff --git a/configure.ac b/configure.ac +index c020afd..0fb201b 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -786,8 +786,8 @@ case "$host_os" in + # linking to the DLL, is installed into the lib dir. + case "$host_os" in + mingw32*) +- LIBNETTLE_FORLINK='libnettle-$(LIBNETTLE_MAJOR).dll' +- LIBHOGWEED_FORLINK='libhogweed-$(LIBHOGWEED_MAJOR).dll' ++ LIBNETTLE_FORLINK='nettle-$(LIBNETTLE_MAJOR).dll' ++ LIBHOGWEED_FORLINK='hogweed-$(LIBHOGWEED_MAJOR).dll' + ;; + cygwin*) + LIBNETTLE_FORLINK='cygnettle-$(LIBNETTLE_MAJOR).dll' +@@ -808,16 +808,16 @@ case "$host_os" in + W64_ABI=yes + fi + LIBNETTLE_SONAME='' +- LIBNETTLE_FILE='libnettle.dll.a' ++ LIBNETTLE_FILE='nettle.lib' + LIBNETTLE_FILE_SRC='$(LIBNETTLE_FILE)' +- LIBNETTLE_LINK='$(CC) $(CFLAGS) $(LDFLAGS) -shared -Wl,--out-implib=$(LIBNETTLE_FILE) -Wl,--export-all-symbols -Wl,--enable-auto-import -Wl,--whole-archive' +- LIBNETTLE_LIBS='-Wl,--no-whole-archive $(LIBS)' ++ LIBNETTLE_LINK='$(CC) $(CPPFLAGS) -Wl,$(LDFLAGS) -Wl,-DLL -Wl,-IMPLIB:$(LIBNETTLE_FILE) -Wl,-DEF:nettle.def' ++ LIBNETTLE_LIBS='$(LIBS)' + + LIBHOGWEED_SONAME='' +- LIBHOGWEED_FILE='libhogweed.dll.a' ++ LIBHOGWEED_FILE='hogweed.lib' + LIBHOGWEED_FILE_SRC='$(LIBHOGWEED_FILE)' +- LIBHOGWEED_LINK='$(CC) $(CFLAGS) $(LDFLAGS) -shared -Wl,--out-implib=$(LIBHOGWEED_FILE) -Wl,--export-all-symbols -Wl,--enable-auto-import -Wl,--whole-archive' +- LIBHOGWEED_LIBS='-Wl,--no-whole-archive $(LIBS) libnettle.dll.a' ++ LIBHOGWEED_LINK='$(CC) $(CPPFLAGS) -Wl,$(LDFLAGS) -Wl,-DLL -Wl,-IMPLIB:$(LIBHOGWEED_FILE) -Wl,-DEF:hogweed.def' ++ LIBHOGWEED_LIBS='$(LIBS) $(LIBNETTLE_FILE)' + IF_DLL='' + ;; + darwin*) diff --git a/ports/nettle/msvc-support.patch b/ports/nettle/msvc-support.patch new file mode 100644 index 00000000000000..4245a28304e39a --- /dev/null +++ b/ports/nettle/msvc-support.patch @@ -0,0 +1,99 @@ +diff --git a/Makefile.in b/Makefile.in +index 3194735..669bdfe 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -29,8 +29,9 @@ include config.make + PRE_CPPFLAGS = -I. + EXTRA_CFLAGS = $(CCPIC) + +-LIBTARGETS = @IF_STATIC@ libnettle.a @IF_HOGWEED@ libhogweed.a ++LIBTARGETS = @IF_STATIC@ @LIBNETTLE_ARCHIVE@ @IF_HOGWEED@ @LIBHOGWEED_ARCHIVE@ + SHLIBTARGETS = @IF_SHARED@ $(LIBNETTLE_FORLINK) @IF_HOGWEED@ $(LIBHOGWEED_FORLINK) ++MSVC_TARGET = @MSVC_TARGET@ + + getopt_SOURCES = getopt.c getopt1.c + getopt_TARGETS = $(getopt_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) + +-libnettle.a: $(nettle_OBJS) ++@LIBNETTLE_ARCHIVE@: $(nettle_OBJS) + -rm -f $@ + $(AR) $(ARFLAGS) $@ $(nettle_OBJS) + $(RANLIB) $@ + echo nettle > libnettle.stamp + +-libhogweed.a: $(hogweed_OBJS) ++@LIBHOGWEED_ARCHIVE@: $(hogweed_OBJS) + -rm -f $@ + $(AR) $(ARFLAGS) $@ $(hogweed_OBJS) + $(RANLIB) $@ +@@ -500,8 +501,8 @@ install-static: $(LIBTARGETS) + done + + install-dll-nettle: +- $(MKDIR_P) $(DESTDIR)$(bindir) +- $(INSTALL_DATA) $(LIBNETTLE_FORLINK) $(DESTDIR)$(bindir)/$(LIBNETTLE_FORLINK) ++ $(MKDIR_P) $(DESTDIR)$(libdir)/../bin ++ $(INSTALL_DATA) $(LIBNETTLE_FORLINK) $(DESTDIR)$(libdir)/../bin/$(LIBNETTLE_FORLINK) + + install-shared-nettle: $(LIBNETTLE_FORLINK) @IF_DLL@ install-dll-nettle + $(MKDIR_P) $(DESTDIR)$(libdir) +@@ -513,8 +514,8 @@ install-shared-nettle: $(LIBNETTLE_FORLINK) @IF_DLL@ install-dll-nettle + && $(LN_S) $(LIBNETTLE_FILE) $(LIBNETTLE_FORLINK)) + + install-dll-hogweed: +- $(MKDIR_P) $(DESTDIR)$(bindir) +- $(INSTALL_DATA) $(LIBHOGWEED_FORLINK) $(DESTDIR)$(bindir)/$(LIBHOGWEED_FORLINK) ++ $(MKDIR_P) $(DESTDIR)$(libdir)/../bin ++ $(INSTALL_DATA) $(LIBHOGWEED_FORLINK) $(DESTDIR)$(libdir)/../bin/$(LIBHOGWEED_FORLINK) + + install-shared-hogweed: $(LIBHOGWEED_FORLINK) @IF_DLL@ install-dll-hogweed + $(MKDIR_P) $(DESTDIR)$(libdir) +diff --git a/configure.ac b/configure.ac +index 7a17853..c854679 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -907,6 +907,27 @@ case "$host_os" in + LIBHOGWEED_LIBS='libnettle.so $(LIBS)' + ;; + esac ++AC_ARG_VAR(MSVC_TARGET,[Enable msvc and set target architecture]) ++case "$MSVC_TARGET" in ++x86|x64|arm|arm64) ++ LIBNETTLE_ARCHIVE='nettle.lib' ++ LIBNETTLE_FORLINK='nettle-$(LIBNETTLE_MAJOR).dll' ++ LIBNETTLE_FILE='nettle.lib' ++ LIBNETTLE_LINK='$(CC) $(CPPFLAGS) -Wl,$(LDFLAGS) -Wl,-DLL -Wl,-IMPLIB:$(LIBNETTLE_FILE) -Wl,-DEF:$(srcdir)/nettle-$(MSVC_TARGET).def' ++ LIBNETTLE_LIBS='$(LIBS)' ++ LIBHOGWEED_FILE='hogweed.lib' ++ LIBHOGWEED_ARCHIVE='hogweed.lib' ++ LIBHOGWEED_FORLINK='hogweed-$(LIBHOGWEED_MAJOR).dll' ++ LIBHOGWEED_LINK='$(CC) $(CPPFLAGS) -Wl,$(LDFLAGS) -Wl,-DLL -Wl,-IMPLIB:$(LIBHOGWEED_FILE) -Wl,-DEF:$(srcdir)/hogweed-$(MSVC_TARGET).def' ++ LIBHOGWEED_LIBS='$(LIBNETTLE_FILE) $(LIBS)' ++ ;; ++*) ++ LIBNETTLE_ARCHIVE='libnettle.a' ++ LIBHOGWEED_ARCHIVE='libhogweed.a' ++ ;; ++esac ++AC_SUBST(LIBNETTLE_ARCHIVE) ++AC_SUBST(LIBHOGWEED_ARCHIVE) + + 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/name.dir.patch b/ports/nettle/name.dir.patch deleted file mode 100644 index 834a0440978740..00000000000000 --- a/ports/nettle/name.dir.patch +++ /dev/null @@ -1,381 +0,0 @@ -diff --git a/SMP/libhogweed.vcxproj b/SMP/libhogweed.vcxproj -index 976d9fc..5fd42ba 100644 ---- a/SMP/libhogweed.vcxproj -+++ b/SMP/libhogweed.vcxproj -@@ -18,7 +18,7 @@ - 4146;4267;4028;4244;%(DisableSpecificWarnings) - - -- libnettled.lib;%(AdditionalDependencies) -+ nettled.lib;%(AdditionalDependencies) - /IGNORE:4006,4221,4078 %(AdditionalOptions) - - -@@ -132,7 +132,7 @@ del /f /q $(OutDir)\licenses\nettle.txt - 4146;4267;4028;4244;%(DisableSpecificWarnings) - - -- libnettled.lib;%(AdditionalDependencies) -+ nettled.lib;%(AdditionalDependencies) - /IGNORE:4006,4221,4078 %(AdditionalOptions) - - -@@ -476,7 +476,7 @@ del /f /q $(OutDir)\licenses\nettle.txt - 4146;4267;4028;4244;%(DisableSpecificWarnings) - - -- libnettle.lib;%(AdditionalDependencies) -+ nettle.lib;%(AdditionalDependencies) - /IGNORE:4006,4221,4078 %(AdditionalOptions) - - -@@ -590,7 +590,7 @@ del /f /q $(OutDir)\licenses\nettle.txt - 4146;4267;4028;4244;%(DisableSpecificWarnings) - - -- libnettle.lib;%(AdditionalDependencies) -+ nettle.lib;%(AdditionalDependencies) - /IGNORE:4006,4221,4078 %(AdditionalOptions) - - -@@ -820,7 +820,7 @@ del /f /q $(OutDir)\licenses\nettle.txt - - - libhogweed.def -- libnettle.lib;%(AdditionalDependencies) -+ nettle.lib;%(AdditionalDependencies) - /IGNORE:4006,4221,4078 %(AdditionalOptions) - - -@@ -1050,7 +1050,7 @@ del /f /q $(OutDir)\licenses\nettle.txt - - - libhogweed.def -- libnettle.lib;%(AdditionalDependencies) -+ nettle.lib;%(AdditionalDependencies) - /IGNORE:4006,4221,4078 %(AdditionalOptions) - - -diff --git a/SMP/libhogweed_winrt.vcxproj b/SMP/libhogweed_winrt.vcxproj -index 308bd0b..a436c69 100644 ---- a/SMP/libhogweed_winrt.vcxproj -+++ b/SMP/libhogweed_winrt.vcxproj -@@ -18,7 +18,7 @@ - 4146;4267;4028;4244;%(DisableSpecificWarnings) - - -- libnettled_winrt.lib;%(AdditionalDependencies) -+ nettled.lib;%(AdditionalDependencies) - /IGNORE:4006,4221,4078 %(AdditionalOptions) - - -@@ -132,7 +132,7 @@ del /f /q $(OutDir)\licenses\nettle.txt - 4146;4267;4028;4244;%(DisableSpecificWarnings) - - -- libnettled_winrt.lib;%(AdditionalDependencies) -+ nettled.lib;%(AdditionalDependencies) - /IGNORE:4006,4221,4078 %(AdditionalOptions) - - -@@ -247,7 +247,7 @@ del /f /q $(OutDir)\licenses\nettle.txt - - - libhogweed.def -- nettled_winrt.lib;gmpd.lib;%(AdditionalDependencies) -+ nettled.lib;gmpd.lib;%(AdditionalDependencies) - /IGNORE:4006,4221,4078 %(AdditionalOptions) - - -@@ -362,7 +362,7 @@ del /f /q $(OutDir)\licenses\nettle.txt - - - libhogweed.def -- nettled_winrt.lib;gmpd.lib;%(AdditionalDependencies) -+ nettled.lib;gmpd.lib;%(AdditionalDependencies) - /IGNORE:4006,4221,4078 %(AdditionalOptions) - - -@@ -476,7 +476,7 @@ del /f /q $(OutDir)\licenses\nettle.txt - 4146;4267;4028;4244;%(DisableSpecificWarnings) - - -- libnettle_winrt.lib;%(AdditionalDependencies) -+ nettle.lib;%(AdditionalDependencies) - /IGNORE:4006,4221,4078 %(AdditionalOptions) - - -@@ -590,7 +590,7 @@ del /f /q $(OutDir)\licenses\nettle.txt - 4146;4267;4028;4244;%(DisableSpecificWarnings) - - -- libnettle_winrt.lib;%(AdditionalDependencies) -+ nettle.lib;%(AdditionalDependencies) - /IGNORE:4006,4221,4078 %(AdditionalOptions) - - -@@ -705,7 +705,7 @@ del /f /q $(OutDir)\licenses\nettle.txt - - - libhogweed.def -- nettle_winrt.lib;gmp.lib;%(AdditionalDependencies) -+ nettle.lib;gmp.lib;%(AdditionalDependencies) - /IGNORE:4006,4221,4078 %(AdditionalOptions) - - -@@ -820,7 +820,7 @@ del /f /q $(OutDir)\licenses\nettle.txt - - - libhogweed.def -- libnettle_winrt.lib;%(AdditionalDependencies) -+ nettle.lib;%(AdditionalDependencies) - /IGNORE:4006,4221,4078 %(AdditionalOptions) - - -@@ -935,7 +935,7 @@ del /f /q $(OutDir)\licenses\nettle.txt - - - libhogweed.def -- nettle_winrt.lib;gmp.lib;%(AdditionalDependencies) -+ nettle.lib;gmp.lib;%(AdditionalDependencies) - /IGNORE:4006,4221,4078 %(AdditionalOptions) - - -@@ -1050,7 +1050,7 @@ del /f /q $(OutDir)\licenses\nettle.txt - - - libhogweed.def -- libnettle_winrt.lib;%(AdditionalDependencies) -+ nettle.lib;%(AdditionalDependencies) - /IGNORE:4006,4221,4078 %(AdditionalOptions) - - -diff --git a/SMP/smp_deps.props b/SMP/smp_deps.props -index 487099d..1eade47 100644 ---- a/SMP/smp_deps.props -+++ b/SMP/smp_deps.props -@@ -104,16 +104,16 @@ - - - -- lib$(RootNamespace)d -- $(ProjectDir)..\..\..\msvc\ -+ $(RootNamespace)d -+ $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated - Clean - MSB8012 - - -- lib$(RootNamespace)d -- $(ProjectDir)..\..\..\msvc\ -+ $(RootNamespace)d -+ $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated - Clean -@@ -121,7 +121,7 @@ - - - $(RootNamespace)d -- $(ProjectDir)..\..\..\msvc\ -+ $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated - Clean -@@ -129,23 +129,23 @@ - - - $(RootNamespace)d -- $(ProjectDir)..\..\..\msvc\ -+ $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated - Clean - MSB8012 - - -- lib$(RootNamespace) -- $(ProjectDir)..\..\..\msvc\ -+ $(RootNamespace) -+ $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated - Clean - MSB8012 - - -- lib$(RootNamespace) -- $(ProjectDir)..\..\..\msvc\ -+ $(RootNamespace) -+ $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated - Clean -@@ -153,7 +153,7 @@ - - - $(RootNamespace) -- $(ProjectDir)..\..\..\msvc\ -+ $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated - Clean -@@ -161,7 +161,7 @@ - - - $(RootNamespace) -- $(ProjectDir)..\..\..\msvc\ -+ $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated - Clean -@@ -169,7 +169,7 @@ - - - $(RootNamespace) -- $(ProjectDir)..\..\..\msvc\ -+ $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated - Clean -@@ -177,7 +177,7 @@ - - - $(RootNamespace) -- $(ProjectDir)..\..\..\msvc\ -+ $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated - Clean -diff --git a/SMP/smp_winrt_deps.props b/SMP/smp_winrt_deps.props -index d44408a..b44482c 100644 ---- a/SMP/smp_winrt_deps.props -+++ b/SMP/smp_winrt_deps.props -@@ -115,80 +115,80 @@ - - - -- lib$(RootNamespace)d_winrt -- $(ProjectDir)..\..\..\msvc\ -+ $(RootNamespace)d -+ $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated - Clean - MSB8012 - - -- lib$(RootNamespace)d_winrt -- $(ProjectDir)..\..\..\msvc\ -+ $(RootNamespace)d -+ $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated - Clean - MSB8012 - - -- $(RootNamespace)d_winrt -- $(ProjectDir)..\..\..\msvc\ -+ $(RootNamespace)d -+ $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated - Clean - MSB8012 - - -- $(RootNamespace)d_winrt -- $(ProjectDir)..\..\..\msvc\ -+ $(RootNamespace)d -+ $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated - Clean - MSB8012 - - -- lib$(RootNamespace)_winrt -- $(ProjectDir)..\..\..\msvc\ -+ $(RootNamespace) -+ $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated - Clean - MSB8012 - - -- lib$(RootNamespace)_winrt -- $(ProjectDir)..\..\..\msvc\ -+ $(RootNamespace) -+ $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated - Clean - MSB8012 - - -- $(RootNamespace)_winrt -- $(ProjectDir)..\..\..\msvc\ -+ $(RootNamespace) -+ $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated - Clean - MSB8012 - - -- $(RootNamespace)_winrt -- $(ProjectDir)..\..\..\msvc\ -+ $(RootNamespace) -+ $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated - Clean - MSB8012 - - -- $(RootNamespace)_winrt -- $(ProjectDir)..\..\..\msvc\ -+ $(RootNamespace) -+ $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated - Clean - MSB8012 - - -- $(RootNamespace)_winrt -- $(ProjectDir)..\..\..\msvc\ -+ $(RootNamespace) -+ $(ProjectDir)..\msvc\ - $(ProjectDir)obj\$(Configuration)\$(Platform)\$(ProjectName)\ - $(ProjectDir)obj\Generated - Clean -diff --git a/hogweed.pc.in b/hogweed.pc.in -index 97fb9d4..ce977c0 100644 ---- a/hogweed.pc.in -+++ b/hogweed.pc.in -@@ -13,7 +13,7 @@ URL: http://www.lysator.liu.se/~nisse/nettle - Version: @PACKAGE_VERSION@ - Requires: @IF_NOT_SHARED@ nettle - Requires.private: @IF_SHARED@ nettle --Libs: -L${libdir} -lhogweed @IF_NOT_SHARED@ @LIBS@ -+Libs: -L${libdir} @HOGWEED@ @IF_NOT_SHARED@ @LIBS@ - Libs.private: @IF_SHARED@ @LIBS@ - Cflags: -I${includedir} - -diff --git a/nettle.pc.in b/nettle.pc.in -index eb0020c..6e3ed1e 100644 ---- a/nettle.pc.in -+++ b/nettle.pc.in -@@ -7,5 +7,6 @@ Name: Nettle - Description: Nettle low-level cryptographic library (symmetric algorithms) - URL: http://www.lysator.liu.se/~nisse/nettle - Version: @PACKAGE_VERSION@ --Libs: -L${libdir} -lnettle -+Requires.private: gmp -+Libs: -L${libdir} @LIBS@ - Cflags: -I${includedir} diff --git a/ports/nettle/nettle-arm.def b/ports/nettle/nettle-arm.def new file mode 100644 index 00000000000000..52d5fb1b4091ec --- /dev/null +++ b/ports/nettle/nettle-arm.def @@ -0,0 +1,567 @@ +EXPORTS + nettle_xts_aes256_set_encrypt_key + nettle_xts_aes256_set_decrypt_key + nettle_xts_aes256_encrypt_message + nettle_xts_aes256_decrypt_message + nettle_xts_aes128_set_encrypt_key + nettle_xts_aes128_set_decrypt_key + nettle_xts_aes128_encrypt_message + nettle_xts_aes128_decrypt_message + nettle_xts_encrypt_message + nettle_xts_decrypt_message + nettle_yarrow_key_event_init + nettle_yarrow_key_event_estimate + nettle_yarrow256_init + nettle_yarrow256_seed + nettle_yarrow256_update + nettle_yarrow256_random + nettle_yarrow256_is_seeded + nettle_yarrow256_needed_sources + nettle_yarrow256_fast_reseed + nettle_yarrow256_slow_reseed + _nettle_write_le64 + _nettle_write_le32 + _nettle_write_be32 + nettle_version_major + nettle_version_minor + nettle_umac128_set_key + nettle_umac128_set_nonce + nettle_umac128_update + nettle_umac128_digest + nettle_umac96_set_key + nettle_umac96_set_nonce + nettle_umac96_update + nettle_umac96_digest + nettle_umac64_set_key + nettle_umac64_set_nonce + nettle_umac64_update + nettle_umac64_digest + nettle_umac32_set_key + nettle_umac32_set_nonce + nettle_umac32_update + nettle_umac32_digest + _nettle_umac_set_key + _nettle_umac_poly128 + _nettle_umac_poly64 + _nettle_umac_l3_init + _nettle_umac_l3 + _nettle_umac_l2_init + _nettle_umac_l2 + _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 + nettle_twofish_set_key + nettle_twofish128_set_key + nettle_twofish192_set_key + nettle_twofish256_set_key + nettle_twofish_encrypt + nettle_twofish_decrypt + nettle_streebog256 + nettle_streebog512 + nettle_streebog512_init + nettle_streebog512_update + nettle_streebog512_digest + nettle_streebog256_init + nettle_streebog256_digest + nettle_serpent128 + nettle_serpent192 + nettle_serpent256 + nettle_serpent_decrypt + nettle_serpent_encrypt + nettle_serpent_set_key + nettle_serpent128_set_key + nettle_serpent192_set_key + nettle_serpent256_set_key + nettle_sm3 + nettle_sm3_init + nettle_sm3_update + nettle_sm3_digest + nettle_sha3_256_shake + nettle_sha3_512 + nettle_sha3_512_init + nettle_sha3_512_update + nettle_sha3_512_digest + nettle_sha3_384 + nettle_sha3_384_init + nettle_sha3_384_update + nettle_sha3_384_digest + nettle_sha3_256 + nettle_sha3_256_init + nettle_sha3_256_update + nettle_sha3_256_digest + nettle_sha3_224 + nettle_sha3_224_init + nettle_sha3_224_update + nettle_sha3_224_digest + nettle_sha3_permute + _nettle_sha3_update + _nettle_sha3_pad + nettle_sha512_256 + nettle_sha512_224 + nettle_sha512 + nettle_sha384 + _nettle_sha512_compress + nettle_sha512_init + nettle_sha512_update + nettle_sha512_digest + nettle_sha512_compress + nettle_sha384_init + nettle_sha384_digest + nettle_sha512_224_init + nettle_sha512_224_digest + nettle_sha512_256_init + nettle_sha512_256_digest + nettle_sha256 + nettle_sha224 + _nettle_sha256_compress_n + nettle_sha256_init + nettle_sha256_update + nettle_sha256_digest + nettle_sha256_compress + nettle_sha224_init + nettle_sha224_digest + nettle_sha1 + nettle_sha1_compress + nettle_sha1_init + nettle_sha1_update + nettle_sha1_digest + nettle_salsa20_256_set_key + nettle_salsa20_128_set_key + nettle_salsa20_set_nonce + nettle_salsa20_set_key + nettle_salsa20r12_crypt + nettle_salsa20_crypt + _nettle_salsa20_crypt + _nettle_salsa20_core + nettle_ripemd160 + _nettle_ripemd160_compress + nettle_ripemd160_init + nettle_ripemd160_update + nettle_ripemd160_digest + nettle_realloc + nettle_xrealloc + _nettle_poly1305_update + _nettle_poly1305_set_key + _nettle_poly1305_digest + _nettle_poly1305_block + nettle_poly1305_aes_set_key + nettle_poly1305_aes_set_nonce + nettle_poly1305_aes_update + nettle_poly1305_aes_digest + nettle_pbkdf2_hmac_sha512 + nettle_pbkdf2_hmac_sha384 + nettle_pbkdf2_hmac_sha256 + 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 + nettle_get_hashes + _nettle_ciphers + nettle_get_ciphers + _nettle_armors + nettle_get_armors + _nettle_aeads + nettle_get_aeads + nettle_lookup_hash + nettle_memxor3 + nettle_memxor + nettle_memeql_sec + nettle_md5 + nettle_MD5Init + nettle_MD5Update + nettle_MD5Final + nettle_md5_compress + nettle_md5_init + nettle_md5_update + nettle_md5_digest + nettle_md4 + nettle_md4_init + nettle_md4_update + nettle_md4_digest + nettle_md2 + nettle_md2_init + nettle_md2_update + nettle_md2_digest + nettle_hkdf_extract + nettle_hkdf_expand + nettle_knuth_lfib_init + nettle_knuth_lfib_get + nettle_knuth_lfib_get_array + nettle_knuth_lfib_random + nettle_hmac_sm3 + nettle_hmac_streebog256 + nettle_hmac_streebog512 + nettle_hmac_sha512 + nettle_hmac_sha384 + nettle_hmac_sha256 + nettle_hmac_sha224 + nettle_hmac_sha1 + nettle_hmac_ripemd160 + nettle_hmac_md5 + nettle_hmac_sm3_set_key + nettle_hmac_sm3_update + nettle_hmac_sm3_digest + nettle_hmac_streebog512_set_key + nettle_hmac_streebog512_update + nettle_hmac_streebog512_digest + nettle_hmac_streebog256_set_key + nettle_hmac_streebog256_digest + nettle_hmac_sha512_set_key + nettle_hmac_sha512_update + nettle_hmac_sha512_digest + nettle_hmac_sha384_set_key + nettle_hmac_sha384_digest + nettle_hmac_sha256_set_key + nettle_hmac_sha256_update + nettle_hmac_sha256_digest + nettle_hmac_sha224_set_key + nettle_hmac_sha224_digest + nettle_hmac_sha1_set_key + nettle_hmac_sha1_update + nettle_hmac_sha1_digest + nettle_hmac_ripemd160_set_key + nettle_hmac_ripemd160_update + nettle_hmac_ripemd160_digest + nettle_hmac_md5_set_key + nettle_hmac_md5_update + nettle_hmac_md5_digest + nettle_hmac_gosthash94_set_key + nettle_hmac_gosthash94_update + nettle_hmac_gosthash94_digest + nettle_hmac_gosthash94cp_set_key + nettle_hmac_gosthash94cp_update + nettle_hmac_gosthash94cp_digest + nettle_hmac_set_key + nettle_hmac_update + nettle_hmac_digest + nettle_gosthash94 + nettle_gosthash94cp + nettle_gosthash94_init + nettle_gosthash94_update + nettle_gosthash94_digest + nettle_gosthash94cp_update + nettle_gosthash94cp_digest + _nettle_gost28147_param_test_3411 + _nettle_gost28147_param_CryptoPro_3411 + _nettle_gost28147_encrypt_block + nettle_cmac_des3 + nettle_cmac_aes256 + nettle_cmac_aes128 + nettle_cmac_des3_set_key + nettle_cmac_des3_update + nettle_cmac_des3_digest + nettle_cmac_aes256_set_key + nettle_cmac_aes256_update + nettle_cmac_aes256_digest + nettle_cmac_aes128_set_key + nettle_cmac_aes128_update + nettle_cmac_aes128_digest + nettle_cmac64_set_key + nettle_cmac64_init + nettle_cmac64_update + nettle_cmac64_digest + nettle_cmac128_set_key + 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 + nettle_gcm_camellia256_update + nettle_gcm_camellia256_encrypt + nettle_gcm_camellia256_decrypt + nettle_gcm_camellia256_digest + nettle_gcm_camellia128 + nettle_gcm_camellia128_set_key + nettle_gcm_camellia128_set_iv + nettle_gcm_camellia128_update + nettle_gcm_camellia128_encrypt + nettle_gcm_camellia128_decrypt + nettle_gcm_camellia128_digest + nettle_gcm_aes256 + nettle_gcm_aes256_set_key + nettle_gcm_aes256_update + nettle_gcm_aes256_set_iv + nettle_gcm_aes256_encrypt + nettle_gcm_aes256_decrypt + nettle_gcm_aes256_digest + nettle_gcm_aes192 + nettle_gcm_aes192_set_key + nettle_gcm_aes192_update + nettle_gcm_aes192_set_iv + nettle_gcm_aes192_encrypt + nettle_gcm_aes192_decrypt + nettle_gcm_aes192_digest + nettle_gcm_aes128 + nettle_gcm_aes128_set_key + nettle_gcm_aes128_update + nettle_gcm_aes128_set_iv + nettle_gcm_aes128_encrypt + nettle_gcm_aes128_decrypt + nettle_gcm_aes128_digest + nettle_gcm_aes_set_key + nettle_gcm_aes_set_iv + nettle_gcm_aes_update + nettle_gcm_aes_encrypt + nettle_gcm_aes_decrypt + nettle_gcm_aes_digest + nettle_gcm_set_key + nettle_gcm_set_iv + nettle_gcm_update + 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 + nettle_eax_aes128_set_key + nettle_eax_aes128_set_nonce + nettle_eax_aes128_update + nettle_eax_aes128_encrypt + nettle_eax_aes128_decrypt + nettle_eax_aes128_digest + nettle_eax_set_key + nettle_eax_set_nonce + nettle_eax_update + nettle_eax_encrypt + nettle_eax_decrypt + nettle_eax_digest + nettle_des3_set_key + nettle_des3_encrypt + nettle_des3_decrypt + nettle_des_set_key + nettle_des_encrypt + nettle_des_decrypt + nettle_des_check_parity + nettle_des_fix_parity + _nettle_ctr_crypt16 + nettle_ctr_crypt + nettle_chacha_set_nonce + nettle_chacha_set_nonce96 + nettle_chacha_set_counter + nettle_chacha_set_counter32 + nettle_chacha_set_key + nettle_chacha_poly1305 + nettle_chacha_poly1305_set_key + nettle_chacha_poly1305_set_nonce + nettle_chacha_poly1305_update + nettle_chacha_poly1305_encrypt + nettle_chacha_poly1305_decrypt + nettle_chacha_poly1305_digest + _nettle_chacha_core + 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 + nettle_siv_cmac_aes128_set_key + nettle_siv_cmac_aes128_encrypt_message + nettle_siv_cmac_aes128_decrypt_message + nettle_siv_cmac_set_key + nettle_siv_cmac_encrypt_message + nettle_siv_cmac_decrypt_message + nettle_cfb_encrypt + nettle_cfb_decrypt + nettle_cfb8_encrypt + nettle_cfb8_decrypt + nettle_ccm_aes256_set_key + nettle_ccm_aes256_set_nonce + nettle_ccm_aes256_update + nettle_ccm_aes256_encrypt + nettle_ccm_aes256_decrypt + nettle_ccm_aes256_digest + nettle_ccm_aes256_encrypt_message + nettle_ccm_aes256_decrypt_message + nettle_ccm_aes192_set_key + nettle_ccm_aes192_set_nonce + nettle_ccm_aes192_update + nettle_ccm_aes192_encrypt + nettle_ccm_aes192_decrypt + nettle_ccm_aes192_digest + nettle_ccm_aes192_encrypt_message + nettle_ccm_aes192_decrypt_message + nettle_ccm_aes128_set_key + nettle_ccm_aes128_set_nonce + nettle_ccm_aes128_update + nettle_ccm_aes128_encrypt + nettle_ccm_aes128_decrypt + nettle_ccm_aes128_digest + nettle_ccm_aes128_encrypt_message + nettle_ccm_aes128_decrypt_message + nettle_ccm_set_nonce + nettle_ccm_update + nettle_ccm_encrypt + nettle_ccm_decrypt + nettle_ccm_digest + nettle_ccm_encrypt_message + nettle_ccm_decrypt_message + nettle_cbc_aes256_encrypt + nettle_cbc_aes192_encrypt + nettle_cbc_aes128_encrypt + nettle_cbc_encrypt + nettle_cbc_decrypt + nettle_cast128 + nettle_cast5_set_key + nettle_cast128_set_key + nettle_cast128_encrypt + nettle_cast128_decrypt + nettle_camellia256 + nettle_camellia256_set_decrypt_key + nettle_camellia256_invert_key + nettle_camellia192_set_decrypt_key + nettle_camellia256_crypt + nettle_camellia256_set_encrypt_key + nettle_camellia192_set_encrypt_key + nettle_camellia192 + nettle_camellia128 + nettle_camellia_set_decrypt_key + nettle_camellia128_invert_key + nettle_camellia128_crypt + nettle_camellia128_set_encrypt_key + _nettle_camellia_invert_key + _nettle_camellia_absorb + _nettle_camellia_table + _nettle_camellia_crypt + nettle_buffer_init + nettle_buffer_init_realloc + nettle_buffer_init_size + nettle_buffer_clear + nettle_buffer_reset + nettle_buffer_grow + nettle_buffer_write + nettle_buffer_space + nettle_buffer_copy + nettle_base64url + nettle_base64url_decode_init + nettle_base64url_encode_init + nettle_base64 + nettle_base64_decode_init + nettle_base64_decode_single + nettle_base64_decode_update + nettle_base64_decode_final + nettle_base64_encode_init + nettle_base64_encode_single + nettle_base64_encode_update + nettle_base64_encode_final + nettle_base64_encode_raw + nettle_base64_encode_group + nettle_base16 + nettle_base16_decode_init + nettle_base16_decode_single + nettle_base16_decode_update + 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 + nettle_blowfish_set_key + nettle_blowfish128_set_key + nettle_blowfish_encrypt + nettle_blowfish_decrypt + _nettle_blowfish_encround + nettle_arctwo40 + nettle_arctwo64 + nettle_arctwo128 + nettle_arctwo_gutmann128 + nettle_arctwo_set_key_ekb + nettle_arctwo_set_key + nettle_arctwo40_set_key + nettle_arctwo64_set_key + nettle_arctwo128_set_key + nettle_arctwo_set_key_gutmann + nettle_arctwo128_set_key_gutmann + nettle_arctwo_encrypt + nettle_arctwo_decrypt + nettle_arcfour_set_key + nettle_arcfour128_set_key + nettle_arcfour_crypt + nettle_nist_keywrap16 + nettle_nist_keyunwrap16 + nettle_aes128_keywrap + nettle_aes192_keywrap + nettle_aes256_keywrap + nettle_aes128_keyunwrap + nettle_aes192_keyunwrap + nettle_aes256_keyunwrap + nettle_aes256 + nettle_aes256_set_decrypt_key + nettle_aes256_invert_key + nettle_aes256_set_encrypt_key + nettle_aes192 + nettle_aes192_set_decrypt_key + nettle_aes192_invert_key + nettle_aes192_set_encrypt_key + nettle_aes128 + nettle_aes128_set_decrypt_key + nettle_aes128_invert_key + nettle_aes128_set_encrypt_key + nettle_aes_set_decrypt_key + nettle_aes_invert_key + nettle_aes_set_encrypt_key + _nettle_aes_set_key + _nettle_aes_invert + nettle_aes256_encrypt + nettle_aes192_encrypt + nettle_aes128_encrypt + _nettle_aes_encrypt_table + nettle_aes_encrypt + _nettle_aes_encrypt + nettle_aes256_decrypt + nettle_aes192_decrypt + nettle_aes128_decrypt + _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 new file mode 100644 index 00000000000000..448d040ee14dc9 --- /dev/null +++ b/ports/nettle/nettle-arm64.def @@ -0,0 +1,591 @@ +EXPORTS + _nettle_sha256_compress_n_arm64 + _nettle_sha1_compress_arm64 + _nettle_ghash_update_arm64 + _nettle_ghash_set_key_arm64 + _nettle_chacha_4core + _nettle_chacha_4core32 + _nettle_chacha_2core + _nettle_chacha_2core32 + _nettle_aes256_decrypt_arm64 + _nettle_aes256_encrypt_arm64 + _nettle_aes192_decrypt_arm64 + _nettle_aes192_encrypt_arm64 + _nettle_aes128_decrypt_arm64 + _nettle_aes128_encrypt_arm64 + nettle_aes128_encrypt + nettle_aes128_decrypt + nettle_aes192_encrypt + nettle_aes192_decrypt + nettle_aes256_encrypt + nettle_aes256_decrypt + _nettle_ghash_set_key + _nettle_ghash_update + nettle_sha1_compress + _nettle_sha256_compress_n + nettle_xts_aes256_set_encrypt_key + nettle_xts_aes256_set_decrypt_key + nettle_xts_aes256_encrypt_message + nettle_xts_aes256_decrypt_message + nettle_xts_aes128_set_encrypt_key + nettle_xts_aes128_set_decrypt_key + nettle_xts_aes128_encrypt_message + nettle_xts_aes128_decrypt_message + nettle_xts_encrypt_message + nettle_xts_decrypt_message + nettle_yarrow_key_event_init + nettle_yarrow_key_event_estimate + nettle_yarrow256_init + nettle_yarrow256_seed + nettle_yarrow256_update + nettle_yarrow256_random + nettle_yarrow256_is_seeded + nettle_yarrow256_needed_sources + nettle_yarrow256_fast_reseed + nettle_yarrow256_slow_reseed + _nettle_write_le64 + _nettle_write_le32 + _nettle_write_be32 + nettle_version_major + nettle_version_minor + nettle_umac128_set_key + nettle_umac128_set_nonce + nettle_umac128_update + nettle_umac128_digest + nettle_umac96_set_key + nettle_umac96_set_nonce + nettle_umac96_update + nettle_umac96_digest + nettle_umac64_set_key + nettle_umac64_set_nonce + nettle_umac64_update + nettle_umac64_digest + nettle_umac32_set_key + nettle_umac32_set_nonce + nettle_umac32_update + nettle_umac32_digest + _nettle_umac_set_key + _nettle_umac_poly128 + _nettle_umac_poly64 + _nettle_umac_l3_init + _nettle_umac_l3 + _nettle_umac_l2_init + _nettle_umac_l2 + _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 + nettle_twofish_set_key + nettle_twofish128_set_key + nettle_twofish192_set_key + nettle_twofish256_set_key + nettle_twofish_encrypt + nettle_twofish_decrypt + nettle_streebog256 + nettle_streebog512 + nettle_streebog512_init + nettle_streebog512_update + nettle_streebog512_digest + nettle_streebog256_init + nettle_streebog256_digest + nettle_serpent128 + nettle_serpent192 + nettle_serpent256 + nettle_serpent_decrypt + nettle_serpent_encrypt + nettle_serpent_set_key + nettle_serpent128_set_key + nettle_serpent192_set_key + nettle_serpent256_set_key + nettle_sm3 + nettle_sm3_init + nettle_sm3_update + nettle_sm3_digest + nettle_sha3_256_shake + nettle_sha3_512 + nettle_sha3_512_init + nettle_sha3_512_update + nettle_sha3_512_digest + nettle_sha3_384 + nettle_sha3_384_init + nettle_sha3_384_update + nettle_sha3_384_digest + nettle_sha3_256 + nettle_sha3_256_init + nettle_sha3_256_update + nettle_sha3_256_digest + nettle_sha3_224 + nettle_sha3_224_init + nettle_sha3_224_update + nettle_sha3_224_digest + nettle_sha3_permute + _nettle_sha3_update + _nettle_sha3_pad + nettle_sha512_256 + nettle_sha512_224 + nettle_sha512 + nettle_sha384 + _nettle_sha512_compress + nettle_sha512_init + nettle_sha512_update + nettle_sha512_digest + nettle_sha512_compress + nettle_sha384_init + nettle_sha384_digest + nettle_sha512_224_init + nettle_sha512_224_digest + nettle_sha512_256_init + nettle_sha512_256_digest + nettle_sha256 + nettle_sha224 + _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 + _nettle_sha1_compress_c + nettle_sha1_init + nettle_sha1_update + nettle_sha1_digest + nettle_salsa20_256_set_key + nettle_salsa20_128_set_key + nettle_salsa20_set_nonce + nettle_salsa20_set_key + nettle_salsa20r12_crypt + nettle_salsa20_crypt + _nettle_salsa20_crypt + _nettle_salsa20_core + nettle_ripemd160 + _nettle_ripemd160_compress + nettle_ripemd160_init + nettle_ripemd160_update + nettle_ripemd160_digest + nettle_realloc + nettle_xrealloc + _nettle_poly1305_update + _nettle_poly1305_set_key + _nettle_poly1305_digest + _nettle_poly1305_block + nettle_poly1305_aes_set_key + nettle_poly1305_aes_set_nonce + nettle_poly1305_aes_update + nettle_poly1305_aes_digest + nettle_pbkdf2_hmac_sha512 + nettle_pbkdf2_hmac_sha384 + nettle_pbkdf2_hmac_sha256 + 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 + nettle_get_hashes + _nettle_ciphers + nettle_get_ciphers + _nettle_armors + nettle_get_armors + _nettle_aeads + nettle_get_aeads + nettle_lookup_hash + nettle_memxor3 + nettle_memxor + nettle_memeql_sec + nettle_md5 + nettle_MD5Init + nettle_MD5Update + nettle_MD5Final + nettle_md5_compress + nettle_md5_init + nettle_md5_update + nettle_md5_digest + nettle_md4 + nettle_md4_init + nettle_md4_update + nettle_md4_digest + nettle_md2 + nettle_md2_init + nettle_md2_update + nettle_md2_digest + nettle_hkdf_extract + nettle_hkdf_expand + nettle_knuth_lfib_init + nettle_knuth_lfib_get + nettle_knuth_lfib_get_array + nettle_knuth_lfib_random + nettle_hmac_sm3 + nettle_hmac_streebog256 + nettle_hmac_streebog512 + nettle_hmac_sha512 + nettle_hmac_sha384 + nettle_hmac_sha256 + nettle_hmac_sha224 + nettle_hmac_sha1 + nettle_hmac_ripemd160 + nettle_hmac_md5 + nettle_hmac_sm3_set_key + nettle_hmac_sm3_update + nettle_hmac_sm3_digest + nettle_hmac_streebog512_set_key + nettle_hmac_streebog512_update + nettle_hmac_streebog512_digest + nettle_hmac_streebog256_set_key + nettle_hmac_streebog256_digest + nettle_hmac_sha512_set_key + nettle_hmac_sha512_update + nettle_hmac_sha512_digest + nettle_hmac_sha384_set_key + nettle_hmac_sha384_digest + nettle_hmac_sha256_set_key + nettle_hmac_sha256_update + nettle_hmac_sha256_digest + nettle_hmac_sha224_set_key + nettle_hmac_sha224_digest + nettle_hmac_sha1_set_key + nettle_hmac_sha1_update + nettle_hmac_sha1_digest + nettle_hmac_ripemd160_set_key + nettle_hmac_ripemd160_update + nettle_hmac_ripemd160_digest + nettle_hmac_md5_set_key + nettle_hmac_md5_update + nettle_hmac_md5_digest + nettle_hmac_gosthash94_set_key + nettle_hmac_gosthash94_update + nettle_hmac_gosthash94_digest + nettle_hmac_gosthash94cp_set_key + nettle_hmac_gosthash94cp_update + nettle_hmac_gosthash94cp_digest + nettle_hmac_set_key + nettle_hmac_update + nettle_hmac_digest + nettle_gosthash94 + nettle_gosthash94cp + nettle_gosthash94_init + nettle_gosthash94_update + nettle_gosthash94_digest + nettle_gosthash94cp_update + nettle_gosthash94cp_digest + _nettle_gost28147_param_test_3411 + _nettle_gost28147_param_CryptoPro_3411 + _nettle_gost28147_encrypt_block + nettle_cmac_des3 + nettle_cmac_aes256 + nettle_cmac_aes128 + nettle_cmac_des3_set_key + nettle_cmac_des3_update + nettle_cmac_des3_digest + nettle_cmac_aes256_set_key + nettle_cmac_aes256_update + nettle_cmac_aes256_digest + nettle_cmac_aes128_set_key + nettle_cmac_aes128_update + nettle_cmac_aes128_digest + nettle_cmac64_set_key + nettle_cmac64_init + nettle_cmac64_update + nettle_cmac64_digest + nettle_cmac128_set_key + 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 + nettle_gcm_camellia256_update + nettle_gcm_camellia256_encrypt + nettle_gcm_camellia256_decrypt + nettle_gcm_camellia256_digest + nettle_gcm_camellia128 + nettle_gcm_camellia128_set_key + nettle_gcm_camellia128_set_iv + nettle_gcm_camellia128_update + nettle_gcm_camellia128_encrypt + nettle_gcm_camellia128_decrypt + nettle_gcm_camellia128_digest + nettle_gcm_aes256 + nettle_gcm_aes256_set_key + nettle_gcm_aes256_update + nettle_gcm_aes256_set_iv + nettle_gcm_aes256_encrypt + nettle_gcm_aes256_decrypt + nettle_gcm_aes256_digest + nettle_gcm_aes192 + nettle_gcm_aes192_set_key + nettle_gcm_aes192_update + nettle_gcm_aes192_set_iv + nettle_gcm_aes192_encrypt + nettle_gcm_aes192_decrypt + nettle_gcm_aes192_digest + nettle_gcm_aes128 + nettle_gcm_aes128_set_key + nettle_gcm_aes128_update + nettle_gcm_aes128_set_iv + nettle_gcm_aes128_encrypt + nettle_gcm_aes128_decrypt + nettle_gcm_aes128_digest + nettle_gcm_aes_set_key + nettle_gcm_aes_set_iv + nettle_gcm_aes_update + nettle_gcm_aes_encrypt + nettle_gcm_aes_decrypt + nettle_gcm_aes_digest + nettle_gcm_set_key + nettle_gcm_set_iv + nettle_gcm_update + 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 + nettle_eax_aes128_set_key + nettle_eax_aes128_set_nonce + nettle_eax_aes128_update + nettle_eax_aes128_encrypt + nettle_eax_aes128_decrypt + nettle_eax_aes128_digest + nettle_eax_set_key + nettle_eax_set_nonce + nettle_eax_update + nettle_eax_encrypt + nettle_eax_decrypt + nettle_eax_digest + nettle_des3_set_key + nettle_des3_encrypt + nettle_des3_decrypt + nettle_des_set_key + nettle_des_encrypt + nettle_des_decrypt + nettle_des_check_parity + nettle_des_fix_parity + _nettle_ctr_crypt16 + nettle_ctr_crypt + nettle_chacha_set_nonce + nettle_chacha_set_nonce96 + nettle_chacha_set_counter + nettle_chacha_set_counter32 + nettle_chacha_set_key + nettle_chacha_poly1305 + nettle_chacha_poly1305_set_key + nettle_chacha_poly1305_set_nonce + nettle_chacha_poly1305_update + nettle_chacha_poly1305_encrypt + nettle_chacha_poly1305_decrypt + nettle_chacha_poly1305_digest + _nettle_chacha_core + 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 + nettle_siv_cmac_aes128_set_key + nettle_siv_cmac_aes128_encrypt_message + nettle_siv_cmac_aes128_decrypt_message + nettle_siv_cmac_set_key + nettle_siv_cmac_encrypt_message + nettle_siv_cmac_decrypt_message + nettle_cfb_encrypt + nettle_cfb_decrypt + nettle_cfb8_encrypt + nettle_cfb8_decrypt + nettle_ccm_aes256_set_key + nettle_ccm_aes256_set_nonce + nettle_ccm_aes256_update + nettle_ccm_aes256_encrypt + nettle_ccm_aes256_decrypt + nettle_ccm_aes256_digest + nettle_ccm_aes256_encrypt_message + nettle_ccm_aes256_decrypt_message + nettle_ccm_aes192_set_key + nettle_ccm_aes192_set_nonce + nettle_ccm_aes192_update + nettle_ccm_aes192_encrypt + nettle_ccm_aes192_decrypt + nettle_ccm_aes192_digest + nettle_ccm_aes192_encrypt_message + nettle_ccm_aes192_decrypt_message + nettle_ccm_aes128_set_key + nettle_ccm_aes128_set_nonce + nettle_ccm_aes128_update + nettle_ccm_aes128_encrypt + nettle_ccm_aes128_decrypt + nettle_ccm_aes128_digest + nettle_ccm_aes128_encrypt_message + nettle_ccm_aes128_decrypt_message + nettle_ccm_set_nonce + nettle_ccm_update + nettle_ccm_encrypt + nettle_ccm_decrypt + nettle_ccm_digest + nettle_ccm_encrypt_message + nettle_ccm_decrypt_message + nettle_cbc_aes256_encrypt + nettle_cbc_aes192_encrypt + nettle_cbc_aes128_encrypt + nettle_cbc_encrypt + nettle_cbc_decrypt + nettle_cast128 + nettle_cast5_set_key + nettle_cast128_set_key + nettle_cast128_encrypt + nettle_cast128_decrypt + nettle_camellia256 + nettle_camellia256_set_decrypt_key + nettle_camellia256_invert_key + nettle_camellia192_set_decrypt_key + nettle_camellia256_crypt + nettle_camellia256_set_encrypt_key + nettle_camellia192_set_encrypt_key + nettle_camellia192 + nettle_camellia128 + nettle_camellia_set_decrypt_key + nettle_camellia128_invert_key + nettle_camellia128_crypt + nettle_camellia128_set_encrypt_key + _nettle_camellia_invert_key + _nettle_camellia_absorb + _nettle_camellia_table + _nettle_camellia_crypt + nettle_buffer_init + nettle_buffer_init_realloc + nettle_buffer_init_size + nettle_buffer_clear + nettle_buffer_reset + nettle_buffer_grow + nettle_buffer_write + nettle_buffer_space + nettle_buffer_copy + nettle_base64url + nettle_base64url_decode_init + nettle_base64url_encode_init + nettle_base64 + nettle_base64_decode_init + nettle_base64_decode_single + nettle_base64_decode_update + nettle_base64_decode_final + nettle_base64_encode_init + nettle_base64_encode_single + nettle_base64_encode_update + nettle_base64_encode_final + nettle_base64_encode_raw + nettle_base64_encode_group + nettle_base16 + nettle_base16_decode_init + nettle_base16_decode_single + nettle_base16_decode_update + 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 + nettle_blowfish_set_key + nettle_blowfish128_set_key + nettle_blowfish_encrypt + nettle_blowfish_decrypt + _nettle_blowfish_encround + nettle_arctwo40 + nettle_arctwo64 + nettle_arctwo128 + nettle_arctwo_gutmann128 + nettle_arctwo_set_key_ekb + nettle_arctwo_set_key + nettle_arctwo40_set_key + nettle_arctwo64_set_key + nettle_arctwo128_set_key + nettle_arctwo_set_key_gutmann + nettle_arctwo128_set_key_gutmann + nettle_arctwo_encrypt + nettle_arctwo_decrypt + nettle_arcfour_set_key + nettle_arcfour128_set_key + nettle_arcfour_crypt + nettle_nist_keywrap16 + nettle_nist_keyunwrap16 + nettle_aes128_keywrap + nettle_aes192_keywrap + nettle_aes256_keywrap + nettle_aes128_keyunwrap + nettle_aes192_keyunwrap + nettle_aes256_keyunwrap + nettle_aes256 + nettle_aes256_set_decrypt_key + nettle_aes256_invert_key + nettle_aes256_set_encrypt_key + nettle_aes192 + nettle_aes192_set_decrypt_key + nettle_aes192_invert_key + nettle_aes192_set_encrypt_key + nettle_aes128 + nettle_aes128_set_decrypt_key + nettle_aes128_invert_key + nettle_aes128_set_encrypt_key + nettle_aes_set_decrypt_key + nettle_aes_invert_key + nettle_aes_set_encrypt_key + _nettle_aes_set_key + _nettle_aes_invert + _nettle_aes256_encrypt_c + _nettle_aes192_encrypt_c + _nettle_aes128_encrypt_c + _nettle_aes_encrypt_table + nettle_aes_encrypt + _nettle_aes_encrypt + _nettle_aes256_decrypt_c + _nettle_aes192_decrypt_c + _nettle_aes128_decrypt_c + _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 new file mode 100644 index 00000000000000..4155da9cb41ce0 --- /dev/null +++ b/ports/nettle/nettle-x64.def @@ -0,0 +1,598 @@ +EXPORTS + _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 + _nettle_aes256_decrypt_aesni + _nettle_aes256_encrypt_aesni + _nettle_aes192_decrypt_aesni + _nettle_aes192_encrypt_aesni + _nettle_aes128_decrypt_aesni + _nettle_aes128_encrypt_aesni + _nettle_memxor_sse2 + _nettle_cpuid + nettle_aes128_encrypt + nettle_aes128_decrypt + nettle_aes192_encrypt + nettle_aes192_decrypt + nettle_aes256_encrypt + nettle_aes256_decrypt + _nettle_ghash_set_key + _nettle_ghash_update + nettle_memxor + nettle_cbc_aes128_encrypt + nettle_cbc_aes192_encrypt + nettle_cbc_aes256_encrypt + nettle_sha1_compress + _nettle_sha256_compress_n + nettle_xts_aes256_set_encrypt_key + nettle_xts_aes256_set_decrypt_key + nettle_xts_aes256_encrypt_message + nettle_xts_aes256_decrypt_message + nettle_xts_aes128_set_encrypt_key + nettle_xts_aes128_set_decrypt_key + nettle_xts_aes128_encrypt_message + nettle_xts_aes128_decrypt_message + nettle_xts_encrypt_message + nettle_xts_decrypt_message + nettle_yarrow_key_event_init + nettle_yarrow_key_event_estimate + nettle_yarrow256_init + nettle_yarrow256_seed + nettle_yarrow256_update + nettle_yarrow256_random + nettle_yarrow256_is_seeded + nettle_yarrow256_needed_sources + nettle_yarrow256_fast_reseed + nettle_yarrow256_slow_reseed + _nettle_write_le64 + _nettle_write_le32 + _nettle_write_be32 + nettle_version_major + nettle_version_minor + nettle_umac128_set_key + nettle_umac128_set_nonce + nettle_umac128_update + nettle_umac128_digest + nettle_umac96_set_key + nettle_umac96_set_nonce + nettle_umac96_update + nettle_umac96_digest + nettle_umac64_set_key + nettle_umac64_set_nonce + nettle_umac64_update + nettle_umac64_digest + nettle_umac32_set_key + nettle_umac32_set_nonce + nettle_umac32_update + nettle_umac32_digest + _nettle_umac_set_key + _nettle_umac_poly128 + _nettle_umac_poly64 + _nettle_umac_l3_init + _nettle_umac_l3 + _nettle_umac_l2_init + _nettle_umac_l2 + _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 + nettle_twofish_set_key + nettle_twofish128_set_key + nettle_twofish192_set_key + nettle_twofish256_set_key + nettle_twofish_encrypt + nettle_twofish_decrypt + nettle_streebog256 + nettle_streebog512 + nettle_streebog512_init + nettle_streebog512_update + nettle_streebog512_digest + nettle_streebog256_init + nettle_streebog256_digest + nettle_serpent128 + nettle_serpent192 + nettle_serpent256 + nettle_serpent_decrypt + nettle_serpent_encrypt + nettle_serpent_set_key + nettle_serpent128_set_key + nettle_serpent192_set_key + nettle_serpent256_set_key + nettle_sm3 + nettle_sm3_init + nettle_sm3_update + nettle_sm3_digest + nettle_sha3_256_shake + nettle_sha3_512 + nettle_sha3_512_init + nettle_sha3_512_update + nettle_sha3_512_digest + nettle_sha3_384 + nettle_sha3_384_init + nettle_sha3_384_update + nettle_sha3_384_digest + nettle_sha3_256 + nettle_sha3_256_init + nettle_sha3_256_update + nettle_sha3_256_digest + nettle_sha3_224 + nettle_sha3_224_init + nettle_sha3_224_update + nettle_sha3_224_digest + nettle_sha3_permute + _nettle_sha3_update + _nettle_sha3_pad + nettle_sha512_256 + nettle_sha512_224 + nettle_sha512 + nettle_sha384 + _nettle_sha512_compress + nettle_sha512_init + nettle_sha512_update + nettle_sha512_digest + nettle_sha512_compress + nettle_sha384_init + nettle_sha384_digest + nettle_sha512_224_init + nettle_sha512_224_digest + nettle_sha512_256_init + nettle_sha512_256_digest + nettle_sha256 + nettle_sha224 + _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 + _nettle_sha1_compress_x86_64 + nettle_sha1_init + nettle_sha1_update + nettle_sha1_digest + nettle_salsa20_256_set_key + nettle_salsa20_128_set_key + nettle_salsa20_set_nonce + nettle_salsa20_set_key + nettle_salsa20r12_crypt + nettle_salsa20_crypt + _nettle_salsa20_crypt + _nettle_salsa20_core + nettle_ripemd160 + _nettle_ripemd160_compress + nettle_ripemd160_init + nettle_ripemd160_update + nettle_ripemd160_digest + nettle_realloc + nettle_xrealloc + _nettle_poly1305_update + _nettle_poly1305_set_key + _nettle_poly1305_block + _nettle_poly1305_digest + nettle_poly1305_aes_set_key + nettle_poly1305_aes_set_nonce + nettle_poly1305_aes_update + nettle_poly1305_aes_digest + nettle_pbkdf2_hmac_sha512 + nettle_pbkdf2_hmac_sha384 + nettle_pbkdf2_hmac_sha256 + 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 + nettle_get_hashes + _nettle_ciphers + nettle_get_ciphers + _nettle_armors + nettle_get_armors + _nettle_aeads + nettle_get_aeads + nettle_lookup_hash + nettle_memxor3 + _nettle_memxor_x86_64 + nettle_memeql_sec + nettle_md5 + nettle_MD5Init + nettle_MD5Update + nettle_MD5Final + nettle_md5_compress + nettle_md5_init + nettle_md5_update + nettle_md5_digest + nettle_md4 + nettle_md4_init + nettle_md4_update + nettle_md4_digest + nettle_md2 + nettle_md2_init + nettle_md2_update + nettle_md2_digest + nettle_hkdf_extract + nettle_hkdf_expand + nettle_knuth_lfib_init + nettle_knuth_lfib_get + nettle_knuth_lfib_get_array + nettle_knuth_lfib_random + nettle_hmac_sm3 + nettle_hmac_streebog256 + nettle_hmac_streebog512 + nettle_hmac_sha512 + nettle_hmac_sha384 + nettle_hmac_sha256 + nettle_hmac_sha224 + nettle_hmac_sha1 + nettle_hmac_ripemd160 + nettle_hmac_md5 + nettle_hmac_sm3_set_key + nettle_hmac_sm3_update + nettle_hmac_sm3_digest + nettle_hmac_streebog512_set_key + nettle_hmac_streebog512_update + nettle_hmac_streebog512_digest + nettle_hmac_streebog256_set_key + nettle_hmac_streebog256_digest + nettle_hmac_sha512_set_key + nettle_hmac_sha512_update + nettle_hmac_sha512_digest + nettle_hmac_sha384_set_key + nettle_hmac_sha384_digest + nettle_hmac_sha256_set_key + nettle_hmac_sha256_update + nettle_hmac_sha256_digest + nettle_hmac_sha224_set_key + nettle_hmac_sha224_digest + nettle_hmac_sha1_set_key + nettle_hmac_sha1_update + nettle_hmac_sha1_digest + nettle_hmac_ripemd160_set_key + nettle_hmac_ripemd160_update + nettle_hmac_ripemd160_digest + nettle_hmac_md5_set_key + nettle_hmac_md5_update + nettle_hmac_md5_digest + nettle_hmac_gosthash94_set_key + nettle_hmac_gosthash94_update + nettle_hmac_gosthash94_digest + nettle_hmac_gosthash94cp_set_key + nettle_hmac_gosthash94cp_update + nettle_hmac_gosthash94cp_digest + nettle_hmac_set_key + nettle_hmac_update + nettle_hmac_digest + nettle_gosthash94 + nettle_gosthash94cp + nettle_gosthash94_init + nettle_gosthash94_update + nettle_gosthash94_digest + nettle_gosthash94cp_update + nettle_gosthash94cp_digest + _nettle_gost28147_param_test_3411 + _nettle_gost28147_param_CryptoPro_3411 + _nettle_gost28147_encrypt_block + nettle_cmac_des3 + nettle_cmac_aes256 + nettle_cmac_aes128 + nettle_cmac_des3_set_key + nettle_cmac_des3_update + nettle_cmac_des3_digest + nettle_cmac_aes256_set_key + nettle_cmac_aes256_update + nettle_cmac_aes256_digest + nettle_cmac_aes128_set_key + nettle_cmac_aes128_update + nettle_cmac_aes128_digest + nettle_cmac64_set_key + nettle_cmac64_init + nettle_cmac64_update + nettle_cmac64_digest + nettle_cmac128_set_key + 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 + nettle_gcm_camellia256_update + nettle_gcm_camellia256_encrypt + nettle_gcm_camellia256_decrypt + nettle_gcm_camellia256_digest + nettle_gcm_camellia128 + nettle_gcm_camellia128_set_key + nettle_gcm_camellia128_set_iv + nettle_gcm_camellia128_update + nettle_gcm_camellia128_encrypt + nettle_gcm_camellia128_decrypt + nettle_gcm_camellia128_digest + nettle_gcm_aes256 + nettle_gcm_aes256_set_key + nettle_gcm_aes256_update + nettle_gcm_aes256_set_iv + nettle_gcm_aes256_encrypt + nettle_gcm_aes256_decrypt + nettle_gcm_aes256_digest + nettle_gcm_aes192 + nettle_gcm_aes192_set_key + nettle_gcm_aes192_update + nettle_gcm_aes192_set_iv + nettle_gcm_aes192_encrypt + nettle_gcm_aes192_decrypt + nettle_gcm_aes192_digest + nettle_gcm_aes128 + nettle_gcm_aes128_set_key + nettle_gcm_aes128_update + nettle_gcm_aes128_set_iv + nettle_gcm_aes128_encrypt + nettle_gcm_aes128_decrypt + nettle_gcm_aes128_digest + nettle_gcm_aes_set_key + nettle_gcm_aes_set_iv + nettle_gcm_aes_update + nettle_gcm_aes_encrypt + nettle_gcm_aes_decrypt + nettle_gcm_aes_digest + nettle_gcm_set_key + nettle_gcm_set_iv + nettle_gcm_update + 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 + nettle_eax_aes128_set_key + nettle_eax_aes128_set_nonce + nettle_eax_aes128_update + nettle_eax_aes128_encrypt + nettle_eax_aes128_decrypt + nettle_eax_aes128_digest + nettle_eax_set_key + nettle_eax_set_nonce + nettle_eax_update + nettle_eax_encrypt + nettle_eax_decrypt + nettle_eax_digest + nettle_des3_set_key + nettle_des3_encrypt + nettle_des3_decrypt + nettle_des_set_key + nettle_des_encrypt + nettle_des_decrypt + nettle_des_check_parity + nettle_des_fix_parity + _nettle_ctr_crypt16 + nettle_ctr_crypt + nettle_chacha_set_nonce + nettle_chacha_set_nonce96 + nettle_chacha_set_counter + nettle_chacha_set_counter32 + nettle_chacha_set_key + nettle_chacha_poly1305 + nettle_chacha_poly1305_set_key + nettle_chacha_poly1305_set_nonce + nettle_chacha_poly1305_update + nettle_chacha_poly1305_encrypt + nettle_chacha_poly1305_decrypt + nettle_chacha_poly1305_digest + _nettle_chacha_core + 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 + nettle_siv_cmac_aes128_set_key + nettle_siv_cmac_aes128_encrypt_message + nettle_siv_cmac_aes128_decrypt_message + nettle_siv_cmac_set_key + nettle_siv_cmac_encrypt_message + nettle_siv_cmac_decrypt_message + nettle_cfb_encrypt + nettle_cfb_decrypt + nettle_cfb8_encrypt + nettle_cfb8_decrypt + nettle_ccm_aes256_set_key + nettle_ccm_aes256_set_nonce + nettle_ccm_aes256_update + nettle_ccm_aes256_encrypt + nettle_ccm_aes256_decrypt + nettle_ccm_aes256_digest + nettle_ccm_aes256_encrypt_message + nettle_ccm_aes256_decrypt_message + nettle_ccm_aes192_set_key + nettle_ccm_aes192_set_nonce + nettle_ccm_aes192_update + nettle_ccm_aes192_encrypt + nettle_ccm_aes192_decrypt + nettle_ccm_aes192_digest + nettle_ccm_aes192_encrypt_message + nettle_ccm_aes192_decrypt_message + nettle_ccm_aes128_set_key + nettle_ccm_aes128_set_nonce + nettle_ccm_aes128_update + nettle_ccm_aes128_encrypt + nettle_ccm_aes128_decrypt + nettle_ccm_aes128_digest + nettle_ccm_aes128_encrypt_message + nettle_ccm_aes128_decrypt_message + nettle_ccm_set_nonce + nettle_ccm_update + nettle_ccm_encrypt + nettle_ccm_decrypt + nettle_ccm_digest + nettle_ccm_encrypt_message + nettle_ccm_decrypt_message + _nettle_cbc_aes256_encrypt_c + _nettle_cbc_aes192_encrypt_c + _nettle_cbc_aes128_encrypt_c + nettle_cbc_encrypt + nettle_cbc_decrypt + nettle_cast128 + nettle_cast5_set_key + nettle_cast128_set_key + nettle_cast128_encrypt + nettle_cast128_decrypt + nettle_camellia256 + nettle_camellia256_set_decrypt_key + nettle_camellia256_invert_key + nettle_camellia192_set_decrypt_key + nettle_camellia256_crypt + nettle_camellia256_set_encrypt_key + nettle_camellia192_set_encrypt_key + nettle_camellia192 + nettle_camellia128 + nettle_camellia_set_decrypt_key + nettle_camellia128_invert_key + nettle_camellia128_crypt + nettle_camellia128_set_encrypt_key + _nettle_camellia_invert_key + _nettle_camellia_absorb + _nettle_camellia_table + _nettle_camellia_crypt + nettle_buffer_init + nettle_buffer_init_realloc + nettle_buffer_init_size + nettle_buffer_clear + nettle_buffer_reset + nettle_buffer_grow + nettle_buffer_write + nettle_buffer_space + nettle_buffer_copy + nettle_base64url + nettle_base64url_decode_init + nettle_base64url_encode_init + nettle_base64 + nettle_base64_decode_init + nettle_base64_decode_single + nettle_base64_decode_update + nettle_base64_decode_final + nettle_base64_encode_init + nettle_base64_encode_single + nettle_base64_encode_update + nettle_base64_encode_final + nettle_base64_encode_raw + nettle_base64_encode_group + nettle_base16 + nettle_base16_decode_init + nettle_base16_decode_single + nettle_base16_decode_update + 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 + nettle_blowfish_set_key + nettle_blowfish128_set_key + nettle_blowfish_encrypt + nettle_blowfish_decrypt + _nettle_blowfish_encround + nettle_arctwo40 + nettle_arctwo64 + nettle_arctwo128 + nettle_arctwo_gutmann128 + nettle_arctwo_set_key_ekb + nettle_arctwo_set_key + nettle_arctwo40_set_key + nettle_arctwo64_set_key + nettle_arctwo128_set_key + nettle_arctwo_set_key_gutmann + nettle_arctwo128_set_key_gutmann + nettle_arctwo_encrypt + nettle_arctwo_decrypt + nettle_arcfour_set_key + nettle_arcfour128_set_key + nettle_arcfour_crypt + nettle_nist_keywrap16 + nettle_nist_keyunwrap16 + nettle_aes128_keywrap + nettle_aes192_keywrap + nettle_aes256_keywrap + nettle_aes128_keyunwrap + nettle_aes192_keyunwrap + nettle_aes256_keyunwrap + nettle_aes256 + nettle_aes256_set_decrypt_key + nettle_aes256_invert_key + nettle_aes256_set_encrypt_key + nettle_aes192 + nettle_aes192_set_decrypt_key + nettle_aes192_invert_key + nettle_aes192_set_encrypt_key + nettle_aes128 + nettle_aes128_set_decrypt_key + nettle_aes128_invert_key + nettle_aes128_set_encrypt_key + nettle_aes_set_decrypt_key + nettle_aes_invert_key + nettle_aes_set_encrypt_key + _nettle_aes_set_key + _nettle_aes_invert + _nettle_aes256_encrypt_c + _nettle_aes192_encrypt_c + _nettle_aes128_encrypt_c + _nettle_aes_encrypt_table + nettle_aes_encrypt + _nettle_aes_encrypt + _nettle_aes256_decrypt_c + _nettle_aes192_decrypt_c + _nettle_aes128_decrypt_c + _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 new file mode 100644 index 00000000000000..edfd5019a67f86 --- /dev/null +++ b/ports/nettle/nettle-x86.def @@ -0,0 +1,567 @@ +EXPORTS + nettle_xts_aes256_set_encrypt_key + nettle_xts_aes256_set_decrypt_key + nettle_xts_aes256_encrypt_message + nettle_xts_aes256_decrypt_message + nettle_xts_aes128_set_encrypt_key + nettle_xts_aes128_set_decrypt_key + nettle_xts_aes128_encrypt_message + nettle_xts_aes128_decrypt_message + nettle_xts_encrypt_message + nettle_xts_decrypt_message + nettle_yarrow_key_event_init + nettle_yarrow_key_event_estimate + nettle_yarrow256_init + nettle_yarrow256_seed + nettle_yarrow256_update + nettle_yarrow256_random + nettle_yarrow256_is_seeded + nettle_yarrow256_needed_sources + nettle_yarrow256_fast_reseed + nettle_yarrow256_slow_reseed + _nettle_write_le64 + _nettle_write_le32 + _nettle_write_be32 + nettle_version_major + nettle_version_minor + nettle_umac128_set_key + nettle_umac128_set_nonce + nettle_umac128_update + nettle_umac128_digest + nettle_umac96_set_key + nettle_umac96_set_nonce + nettle_umac96_update + nettle_umac96_digest + nettle_umac64_set_key + nettle_umac64_set_nonce + nettle_umac64_update + nettle_umac64_digest + nettle_umac32_set_key + nettle_umac32_set_nonce + nettle_umac32_update + nettle_umac32_digest + _nettle_umac_set_key + _nettle_umac_poly128 + _nettle_umac_poly64 + _nettle_umac_l3_init + _nettle_umac_l3 + _nettle_umac_l2_init + _nettle_umac_l2 + _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 + nettle_twofish_set_key + nettle_twofish128_set_key + nettle_twofish192_set_key + nettle_twofish256_set_key + nettle_twofish_encrypt + nettle_twofish_decrypt + nettle_streebog256 + nettle_streebog512 + nettle_streebog512_init + nettle_streebog512_update + nettle_streebog512_digest + nettle_streebog256_init + nettle_streebog256_digest + nettle_serpent128 + nettle_serpent192 + nettle_serpent256 + nettle_serpent_decrypt + nettle_serpent_encrypt + nettle_serpent_set_key + nettle_serpent128_set_key + nettle_serpent192_set_key + nettle_serpent256_set_key + nettle_sm3 + nettle_sm3_init + nettle_sm3_update + nettle_sm3_digest + nettle_sha3_256_shake + nettle_sha3_512 + nettle_sha3_512_init + nettle_sha3_512_update + nettle_sha3_512_digest + nettle_sha3_384 + nettle_sha3_384_init + nettle_sha3_384_update + nettle_sha3_384_digest + nettle_sha3_256 + nettle_sha3_256_init + nettle_sha3_256_update + nettle_sha3_256_digest + nettle_sha3_224 + nettle_sha3_224_init + nettle_sha3_224_update + nettle_sha3_224_digest + nettle_sha3_permute + _nettle_sha3_update + _nettle_sha3_pad + nettle_sha512_256 + nettle_sha512_224 + nettle_sha512 + nettle_sha384 + _nettle_sha512_compress + nettle_sha512_init + nettle_sha512_update + nettle_sha512_digest + nettle_sha512_compress + nettle_sha384_init + nettle_sha384_digest + nettle_sha512_224_init + nettle_sha512_224_digest + nettle_sha512_256_init + nettle_sha512_256_digest + nettle_sha256 + nettle_sha224 + _nettle_sha256_compress_n + nettle_sha256_init + nettle_sha256_update + nettle_sha256_digest + nettle_sha256_compress + nettle_sha224_init + nettle_sha224_digest + nettle_sha1 + nettle_sha1_compress + nettle_sha1_init + nettle_sha1_update + nettle_sha1_digest + nettle_salsa20_256_set_key + nettle_salsa20_128_set_key + nettle_salsa20_set_nonce + nettle_salsa20_set_key + nettle_salsa20r12_crypt + nettle_salsa20_crypt + _nettle_salsa20_crypt + _nettle_salsa20_core + nettle_ripemd160 + _nettle_ripemd160_compress + nettle_ripemd160_init + nettle_ripemd160_update + nettle_ripemd160_digest + nettle_realloc + nettle_xrealloc + _nettle_poly1305_update + _nettle_poly1305_set_key + _nettle_poly1305_digest + _nettle_poly1305_block + nettle_poly1305_aes_set_key + nettle_poly1305_aes_set_nonce + nettle_poly1305_aes_update + nettle_poly1305_aes_digest + nettle_pbkdf2_hmac_sha512 + nettle_pbkdf2_hmac_sha384 + nettle_pbkdf2_hmac_sha256 + 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 + nettle_get_hashes + _nettle_ciphers + nettle_get_ciphers + _nettle_armors + nettle_get_armors + _nettle_aeads + nettle_get_aeads + nettle_lookup_hash + nettle_memxor3 + nettle_memxor + nettle_memeql_sec + nettle_md5 + nettle_MD5Init + nettle_MD5Update + nettle_MD5Final + nettle_md5_compress + nettle_md5_init + nettle_md5_update + nettle_md5_digest + nettle_md4 + nettle_md4_init + nettle_md4_update + nettle_md4_digest + nettle_md2 + nettle_md2_init + nettle_md2_update + nettle_md2_digest + nettle_hkdf_extract + nettle_hkdf_expand + nettle_knuth_lfib_init + nettle_knuth_lfib_get + nettle_knuth_lfib_get_array + nettle_knuth_lfib_random + nettle_hmac_sm3 + nettle_hmac_streebog256 + nettle_hmac_streebog512 + nettle_hmac_sha512 + nettle_hmac_sha384 + nettle_hmac_sha256 + nettle_hmac_sha224 + nettle_hmac_sha1 + nettle_hmac_ripemd160 + nettle_hmac_md5 + nettle_hmac_sm3_set_key + nettle_hmac_sm3_update + nettle_hmac_sm3_digest + nettle_hmac_streebog512_set_key + nettle_hmac_streebog512_update + nettle_hmac_streebog512_digest + nettle_hmac_streebog256_set_key + nettle_hmac_streebog256_digest + nettle_hmac_sha512_set_key + nettle_hmac_sha512_update + nettle_hmac_sha512_digest + nettle_hmac_sha384_set_key + nettle_hmac_sha384_digest + nettle_hmac_sha256_set_key + nettle_hmac_sha256_update + nettle_hmac_sha256_digest + nettle_hmac_sha224_set_key + nettle_hmac_sha224_digest + nettle_hmac_sha1_set_key + nettle_hmac_sha1_update + nettle_hmac_sha1_digest + nettle_hmac_ripemd160_set_key + nettle_hmac_ripemd160_update + nettle_hmac_ripemd160_digest + nettle_hmac_md5_set_key + nettle_hmac_md5_update + nettle_hmac_md5_digest + nettle_hmac_gosthash94_set_key + nettle_hmac_gosthash94_update + nettle_hmac_gosthash94_digest + nettle_hmac_gosthash94cp_set_key + nettle_hmac_gosthash94cp_update + nettle_hmac_gosthash94cp_digest + nettle_hmac_set_key + nettle_hmac_update + nettle_hmac_digest + nettle_gosthash94 + nettle_gosthash94cp + nettle_gosthash94_init + nettle_gosthash94_update + nettle_gosthash94_digest + nettle_gosthash94cp_update + nettle_gosthash94cp_digest + _nettle_gost28147_param_test_3411 + _nettle_gost28147_param_CryptoPro_3411 + _nettle_gost28147_encrypt_block + nettle_cmac_des3 + nettle_cmac_aes256 + nettle_cmac_aes128 + nettle_cmac_des3_set_key + nettle_cmac_des3_update + nettle_cmac_des3_digest + nettle_cmac_aes256_set_key + nettle_cmac_aes256_update + nettle_cmac_aes256_digest + nettle_cmac_aes128_set_key + nettle_cmac_aes128_update + nettle_cmac_aes128_digest + nettle_cmac64_set_key + nettle_cmac64_init + nettle_cmac64_update + nettle_cmac64_digest + nettle_cmac128_set_key + 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 + nettle_gcm_camellia256_update + nettle_gcm_camellia256_encrypt + nettle_gcm_camellia256_decrypt + nettle_gcm_camellia256_digest + nettle_gcm_camellia128 + nettle_gcm_camellia128_set_key + nettle_gcm_camellia128_set_iv + nettle_gcm_camellia128_update + nettle_gcm_camellia128_encrypt + nettle_gcm_camellia128_decrypt + nettle_gcm_camellia128_digest + nettle_gcm_aes256 + nettle_gcm_aes256_set_key + nettle_gcm_aes256_update + nettle_gcm_aes256_set_iv + nettle_gcm_aes256_encrypt + nettle_gcm_aes256_decrypt + nettle_gcm_aes256_digest + nettle_gcm_aes192 + nettle_gcm_aes192_set_key + nettle_gcm_aes192_update + nettle_gcm_aes192_set_iv + nettle_gcm_aes192_encrypt + nettle_gcm_aes192_decrypt + nettle_gcm_aes192_digest + nettle_gcm_aes128 + nettle_gcm_aes128_set_key + nettle_gcm_aes128_update + nettle_gcm_aes128_set_iv + nettle_gcm_aes128_encrypt + nettle_gcm_aes128_decrypt + nettle_gcm_aes128_digest + nettle_gcm_aes_set_key + nettle_gcm_aes_set_iv + nettle_gcm_aes_update + nettle_gcm_aes_encrypt + nettle_gcm_aes_decrypt + nettle_gcm_aes_digest + nettle_gcm_set_key + nettle_gcm_set_iv + nettle_gcm_update + 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 + nettle_eax_aes128_set_key + nettle_eax_aes128_set_nonce + nettle_eax_aes128_update + nettle_eax_aes128_encrypt + nettle_eax_aes128_decrypt + nettle_eax_aes128_digest + nettle_eax_set_key + nettle_eax_set_nonce + nettle_eax_update + nettle_eax_encrypt + nettle_eax_decrypt + nettle_eax_digest + nettle_des3_set_key + nettle_des3_encrypt + nettle_des3_decrypt + nettle_des_set_key + nettle_des_encrypt + nettle_des_decrypt + nettle_des_check_parity + nettle_des_fix_parity + _nettle_ctr_crypt16 + nettle_ctr_crypt + nettle_chacha_set_nonce + nettle_chacha_set_nonce96 + nettle_chacha_set_counter + nettle_chacha_set_counter32 + nettle_chacha_set_key + nettle_chacha_poly1305 + nettle_chacha_poly1305_set_key + nettle_chacha_poly1305_set_nonce + nettle_chacha_poly1305_update + nettle_chacha_poly1305_encrypt + nettle_chacha_poly1305_decrypt + nettle_chacha_poly1305_digest + _nettle_chacha_core + 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 + nettle_siv_cmac_aes128_set_key + nettle_siv_cmac_aes128_encrypt_message + nettle_siv_cmac_aes128_decrypt_message + nettle_siv_cmac_set_key + nettle_siv_cmac_encrypt_message + nettle_siv_cmac_decrypt_message + nettle_cfb_encrypt + nettle_cfb_decrypt + nettle_cfb8_encrypt + nettle_cfb8_decrypt + nettle_ccm_aes256_set_key + nettle_ccm_aes256_set_nonce + nettle_ccm_aes256_update + nettle_ccm_aes256_encrypt + nettle_ccm_aes256_decrypt + nettle_ccm_aes256_digest + nettle_ccm_aes256_encrypt_message + nettle_ccm_aes256_decrypt_message + nettle_ccm_aes192_set_key + nettle_ccm_aes192_set_nonce + nettle_ccm_aes192_update + nettle_ccm_aes192_encrypt + nettle_ccm_aes192_decrypt + nettle_ccm_aes192_digest + nettle_ccm_aes192_encrypt_message + nettle_ccm_aes192_decrypt_message + nettle_ccm_aes128_set_key + nettle_ccm_aes128_set_nonce + nettle_ccm_aes128_update + nettle_ccm_aes128_encrypt + nettle_ccm_aes128_decrypt + nettle_ccm_aes128_digest + nettle_ccm_aes128_encrypt_message + nettle_ccm_aes128_decrypt_message + nettle_ccm_set_nonce + nettle_ccm_update + nettle_ccm_encrypt + nettle_ccm_decrypt + nettle_ccm_digest + nettle_ccm_encrypt_message + nettle_ccm_decrypt_message + nettle_cbc_aes256_encrypt + nettle_cbc_aes192_encrypt + nettle_cbc_aes128_encrypt + nettle_cbc_encrypt + nettle_cbc_decrypt + nettle_cast128 + nettle_cast5_set_key + nettle_cast128_set_key + nettle_cast128_encrypt + nettle_cast128_decrypt + nettle_camellia256 + nettle_camellia256_set_decrypt_key + nettle_camellia256_invert_key + nettle_camellia192_set_decrypt_key + nettle_camellia256_crypt + nettle_camellia256_set_encrypt_key + nettle_camellia192_set_encrypt_key + nettle_camellia192 + nettle_camellia128 + nettle_camellia_set_decrypt_key + nettle_camellia128_invert_key + nettle_camellia128_crypt + nettle_camellia128_set_encrypt_key + _nettle_camellia_invert_key + _nettle_camellia_absorb + _nettle_camellia_table + _nettle_camellia_crypt + nettle_buffer_init + nettle_buffer_init_realloc + nettle_buffer_init_size + nettle_buffer_clear + nettle_buffer_reset + nettle_buffer_grow + nettle_buffer_write + nettle_buffer_space + nettle_buffer_copy + nettle_base64url + nettle_base64url_decode_init + nettle_base64url_encode_init + nettle_base64 + nettle_base64_decode_init + nettle_base64_decode_single + nettle_base64_decode_update + nettle_base64_decode_final + nettle_base64_encode_init + nettle_base64_encode_single + nettle_base64_encode_update + nettle_base64_encode_final + nettle_base64_encode_raw + nettle_base64_encode_group + nettle_base16 + nettle_base16_decode_init + nettle_base16_decode_single + nettle_base16_decode_update + 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 + nettle_blowfish_set_key + nettle_blowfish128_set_key + nettle_blowfish_encrypt + nettle_blowfish_decrypt + _nettle_blowfish_encround + nettle_arctwo40 + nettle_arctwo64 + nettle_arctwo128 + nettle_arctwo_gutmann128 + nettle_arctwo_set_key_ekb + nettle_arctwo_set_key + nettle_arctwo40_set_key + nettle_arctwo64_set_key + nettle_arctwo128_set_key + nettle_arctwo_set_key_gutmann + nettle_arctwo128_set_key_gutmann + nettle_arctwo_encrypt + nettle_arctwo_decrypt + nettle_arcfour_set_key + nettle_arcfour128_set_key + nettle_arcfour_crypt + nettle_nist_keywrap16 + nettle_nist_keyunwrap16 + nettle_aes128_keywrap + nettle_aes192_keywrap + nettle_aes256_keywrap + nettle_aes128_keyunwrap + nettle_aes192_keyunwrap + nettle_aes256_keyunwrap + nettle_aes256 + nettle_aes256_set_decrypt_key + nettle_aes256_invert_key + nettle_aes256_set_encrypt_key + nettle_aes192 + nettle_aes192_set_decrypt_key + nettle_aes192_invert_key + nettle_aes192_set_encrypt_key + nettle_aes128 + nettle_aes128_set_decrypt_key + nettle_aes128_invert_key + nettle_aes128_set_encrypt_key + nettle_aes_set_decrypt_key + nettle_aes_invert_key + nettle_aes_set_encrypt_key + _nettle_aes_set_key + _nettle_aes_invert + nettle_aes256_encrypt + nettle_aes192_encrypt + nettle_aes128_encrypt + _nettle_aes_encrypt_table + nettle_aes_encrypt + _nettle_aes_encrypt + nettle_aes256_decrypt + nettle_aes192_decrypt + nettle_aes128_decrypt + _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 731017de7be79d..26ff533b3d48ee 100644 --- a/ports/nettle/portfile.cmake +++ b/ports/nettle/portfile.cmake @@ -1,136 +1,117 @@ -if(VCPKG_TARGET_IS_WINDOWS) - vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO ShiftMediaProject/nettle - REF bf483378326c67d634977287dd576279734b7acc #v3.6 - SHA512 ba125a27c81a800be8bc8d1b0d4f3125587330ef64d8a605b4d3ae211fb675c5ef89e9bf4bcf63b07d0f004c6c5ff851630690cdd1eda6b5b8a526d84edffe73 - HEAD_REF master - PATCHES - gmp.patch - name.dir.patch - runtime.patch - ) +vcpkg_from_gitlab( + GITLAB_URL https://git.lysator.liu.se/ + OUT_SOURCE_PATH SOURCE_PATH + REPO nettle/nettle + REF nettle_3.10_release_20240616 + SHA512 8767e4f0c34ce76ead5d66f06f97e6b184d439fa94f848ee440196fafde3da2ea7cfc54f9bd8f9ab6a99929b0d14b3d5a28857e05d954551e94b619598c17659 + HEAD_REF master + PATCHES + subdirs.patch + fix-libdir.patch + compile.patch + host-tools.patch + ccas.patch + msvc-support.patch +) - include(${CURRENT_INSTALLED_DIR}/share/yasm-tool-helper/yasm-tool-helper.cmake) - yasm_tool_helper(OUT_VAR YASM) - file(TO_NATIVE_PATH "${YASM}" YASM) +vcpkg_cmake_get_vars(cmake_vars_file) +include("${cmake_vars_file}") - if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - set(CONFIGURATION_RELEASE ReleaseDLL) - set(CONFIGURATION_DEBUG DebugDLL) +# Maintainer switch: Temporarily set this to 1 to re-generate the lists +# of exported symbols. This is needed when the version is bumped. +set(GENERATE_SYMBOLS 0) +if(GENERATE_SYMBOLS) + if(VCPKG_DETECTED_CMAKE_C_COMPILER_ID STREQUAL "MSVC") + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) else() - set(CONFIGURATION_RELEASE Release) - set(CONFIGURATION_DEBUG Debug) + set(GENERATE_SYMBOLS 0) endif() +endif() - if(VCPKG_TARGET_IS_UWP) - string(APPEND CONFIGURATION_RELEASE WinRT) - string(APPEND CONFIGURATION_DEBUG WinRT) - endif() +vcpkg_list(SET OPTIONS) +if("tools" IN_LIST FEATURES) + vcpkg_list(APPEND OPTIONS --enable-tools) +endif() - #Setup YASM integration - set(_nettleproject) - set(_hogweedproject) - if(VCPKG_TARGET_IS_UWP) - set(_nettleproject "${SOURCE_PATH}/SMP/libnettle_winrt.vcxproj") - set(_hogweedproject "${SOURCE_PATH}/SMP/libhogweed_winrt.vcxproj") +# As in gmp +set(disable_assembly OFF) +set(ccas "") +set(asmflags "") +if(VCPKG_DETECTED_CMAKE_C_COMPILER_ID STREQUAL "MSVC") + vcpkg_list(APPEND OPTIONS ac_cv_func_memset=yes) + if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + string(APPEND asmflags " --target=i686-pc-windows-msvc -m32") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + string(APPEND asmflags " --target=x86_64-pc-windows-msvc") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") + string(APPEND asmflags " --target=arm64-pc-windows-msvc") else() - set(_nettleproject "${SOURCE_PATH}/SMP/libnettle.vcxproj") - set(_hogweedproject "${SOURCE_PATH}/SMP/libhogweed.vcxproj") + set(disable_assembly ON) endif() + if(NOT disable_assembly) + vcpkg_find_acquire_program(CLANG) + set(ccas "${CLANG}") + endif() +else() + set(ccas "${VCPKG_DETECTED_CMAKE_C_COMPILER}") +endif() - file(READ "${_nettleproject}" _contents) - string(REPLACE [[]] - "" - _contents "${_contents}") - string(REPLACE [[]] - "" - _contents "${_contents}") - string(REGEX REPLACE "${VCPKG_ROOT_DIR}/installed/[^/]+/share" "${CURRENT_INSTALLED_DIR}/share" _contents "${_contents}") # Above already - file(WRITE "${_nettleproject}" "${_contents}") - - file(READ "${_hogweedproject}" _contents) - string(REPLACE [[]] - "" - _contents "${_contents}") - string(REPLACE [[]] - "" - _contents "${_contents}") - string(REGEX REPLACE "${VCPKG_ROOT_DIR}/installed/[^/]+/share" "${CURRENT_INSTALLED_DIR}/share" _contents "${_contents}") # Above already - file(WRITE "${_hogweedproject}" "${_contents}") +if(disable_assembly) + vcpkg_list(APPEND OPTIONS "--enable-assembler=no") +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}" "ASM_FLAGS=${asmflags}") +endif() - vcpkg_install_msbuild( - USE_VCPKG_INTEGRATION - SOURCE_PATH ${SOURCE_PATH} - PROJECT_SUBPATH SMP/libnettle.sln - PLATFORM ${TRIPLET_SYSTEM_ARCH} - LICENSE_SUBPATH COPYING.LESSERv3 - TARGET Rebuild - RELEASE_CONFIGURATION ${CONFIGURATION_RELEASE} - DEBUG_CONFIGURATION ${CONFIGURATION_DEBUG} - SKIP_CLEAN - OPTIONS "/p:YasmPath=${YASM}" - ) +if(VCPKG_CROSSCOMPILING) + set(ENV{HOST_TOOLS_PREFIX} "${CURRENT_HOST_INSTALLED_DIR}/manual-tools/${PORT}") +endif() - get_filename_component(SOURCE_PATH_SUFFIX "${SOURCE_PATH}" NAME) - file(RENAME "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/${SOURCE_PATH_SUFFIX}/msvc/include" "${CURRENT_PACKAGES_DIR}/include") - set(PACKAGE_VERSION 3.6) - set(prefix "${CURRENT_INSTALLED_DIR}") - set(exec_prefix "\${prefix}") - set(libdir "\${prefix}/lib") - set(includedir "\${prefix}/include") - set(LIBS "-lnettle -lgmp") - configure_file("${SOURCE_PATH}/nettle.pc.in" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/nettle.pc" @ONLY) - set(HOGWEED -lhogweed) - set(LIBS -lnettle) - configure_file("${SOURCE_PATH}/hogweed.pc.in" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libhogweed.pc" @ONLY) - set(prefix "${CURRENT_INSTALLED_DIR}/debug") - set(exec_prefix "\${prefix}") - set(libdir "\${prefix}/lib") - set(includedir "\${prefix}/../include") - set(LIBS "-lnettled -lgmpd") - configure_file("${SOURCE_PATH}/nettle.pc.in" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/nettle.pc" @ONLY) - set(LIBS -lnettled) - set(HOGWEED -lhogweedd) - configure_file("${SOURCE_PATH}/hogweed.pc.in" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libhogweed.pc" @ONLY) - vcpkg_fixup_pkgconfig() +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + file(GLOB def_files "${CMAKE_CURRENT_LIST_DIR}/*.def") + file(COPY ${def_files} DESTINATION "${SOURCE_PATH}") + vcpkg_list(APPEND OPTIONS "MSVC_TARGET=${VCPKG_TARGET_ARCHITECTURE}") else() - vcpkg_from_gitlab( - GITLAB_URL https://git.lysator.liu.se/ - OUT_SOURCE_PATH SOURCE_PATH - REPO nettle/nettle - REF 9e2bea82b9fb606bffd2d3f648e05248e146e54f #v3.6 - SHA512 008089eba2ef197a0ec6a266baac485e72051e646d19861f3fb605915a591bc2dd38edcb4ea7eaad958ea5d56f7744d42c25b691b49921a1285edd22f9c90b7f - HEAD_REF master - PATCHES - fix-InstallLibPath.patch - flags.patch - ) + vcpkg_list(APPEND OPTIONS "MSVC_TARGET=no") +endif() - if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - set(OPTIONS --disable-static) - else() - set(OPTIONS --disable-shared) - endif() +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG + OPTIONS + ${OPTIONS} + --disable-documentation + --disable-openssl + "gmp_cv_prog_exeext_for_build=${VCPKG_HOST_EXECUTABLE_SUFFIX}" + OPTIONS_DEBUG + --disable-tools +) +vcpkg_install_make() +vcpkg_fixup_pkgconfig() - vcpkg_configure_make( - SOURCE_PATH ${SOURCE_PATH} - AUTOCONFIG - OPTIONS - --disable-documentation - --disable-openssl - ${OPTIONS} - ) +if(NOT VCPKG_CROSSCOMPILING) + set(tool_names desdata eccdata) # aes gcm sha twofish? + list(TRANSFORM tool_names PREPEND "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/") + list(TRANSFORM tool_names APPEND "${VCPKG_HOST_EXECUTABLE_SUFFIX}") + file(COPY ${tool_names} DESTINATION "${CURRENT_PACKAGES_DIR}/manual-tools/${PORT}") + vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/manual-tools/${PORT}") +endif() + +if("tools" IN_LIST FEATURES) + vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin") +endif() - vcpkg_install_make() - 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}/debug/share" + "${CURRENT_PACKAGES_DIR}/debug/include" +) - # # Handle copyright - file(INSTALL "${SOURCE_PATH}/COPYINGv3" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYINGv3") - if(VCPKG_LIBRARY_LINKAGE STREQUAL "static" OR VCPKG_TARGET_IS_LINUX) - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") - endif() +if(GENERATE_SYMBOLS) + include("${CMAKE_CURRENT_LIST_DIR}/lib-to-def.cmake") + lib_to_def(BASENAME nettle REGEX "_*nettle_") + lib_to_def(BASENAME hogweed REGEX "_*nettle_") endif() diff --git a/ports/nettle/runtime.patch b/ports/nettle/runtime.patch deleted file mode 100644 index 3c232d882a7e06..00000000000000 --- a/ports/nettle/runtime.patch +++ /dev/null @@ -1,168 +0,0 @@ -diff --git a/SMP/smp_deps.props b/SMP/smp_deps.props -index 1eade47..ab279f4 100644 ---- a/SMP/smp_deps.props -+++ b/SMP/smp_deps.props -@@ -193,6 +193,7 @@ - $(OutDir)\lib\x86\$(TargetName).pdb - false - 4113;%(TreatSpecificWarningsAsErrors) -+ MultiThreadedDebug - - - $(OutDir)\lib\x86\$(TargetName)$(TargetExt) -@@ -211,6 +212,7 @@ - $(OutDir)\lib\x64\$(TargetName).pdb - false - 4113;%(TreatSpecificWarningsAsErrors) -+ MultiThreadedDebug - - - $(OutDir)\lib\x64\$(TargetName)$(TargetExt) -@@ -230,6 +232,7 @@ - $(IntDir)$(TargetName).pdb - false - 4113;%(TreatSpecificWarningsAsErrors) -+ MultiThreadedDebugDLL - - - $(OutDir)\bin\x86\$(TargetName)$(TargetExt) -@@ -253,6 +256,7 @@ - $(IntDir)$(TargetName).pdb - false - 4113;%(TreatSpecificWarningsAsErrors) -+ MultiThreadedDebugDLL - - - $(OutDir)\bin\x64\$(TargetName)$(TargetExt) -@@ -282,6 +286,7 @@ - SingleFile - $(OutDir)\lib\x86\$(TargetName).pdb - 4113;%(TreatSpecificWarningsAsErrors) -+ MultiThreaded - - - $(OutDir)\lib\x86\$(TargetName)$(TargetExt) -@@ -307,6 +312,7 @@ - SingleFile - $(OutDir)\lib\x64\$(TargetName).pdb - 4113;%(TreatSpecificWarningsAsErrors) -+ MultiThreaded - - - $(OutDir)\lib\x64\$(TargetName)$(TargetExt) -@@ -331,6 +337,7 @@ - $(OutDir)\include;$(ProjectDir)\..\..\prebuilt\include;%(AdditionalIncludeDirectories) - $(IntDir)$(TargetName).pdb - 4113;%(TreatSpecificWarningsAsErrors) -+ MultiThreadedDLL - - - true -@@ -362,6 +369,7 @@ - $(OutDir)\include;$(ProjectDir)\..\..\prebuilt\include;%(AdditionalIncludeDirectories) - $(IntDir)$(TargetName).pdb - 4113;%(TreatSpecificWarningsAsErrors) -+ MultiThreadedDLL - - - true -@@ -392,6 +400,7 @@ - $(OutDir)\include;$(ProjectDir)\..\..\prebuilt\include;%(AdditionalIncludeDirectories) - $(IntDir)$(TargetName).pdb - 4113;%(TreatSpecificWarningsAsErrors) -+ MultiThreadedDLL - - - true -@@ -423,6 +432,7 @@ - $(OutDir)\include;$(ProjectDir)\..\..\prebuilt\include;%(AdditionalIncludeDirectories) - $(IntDir)$(TargetName).pdb - 4113;%(TreatSpecificWarningsAsErrors) -+ MultiThreadedDLL - - - true -diff --git a/SMP/smp_winrt_deps.props b/SMP/smp_winrt_deps.props -index b44482c..35ae231 100644 ---- a/SMP/smp_winrt_deps.props -+++ b/SMP/smp_winrt_deps.props -@@ -206,6 +206,7 @@ - NotUsing - false - 4113;%(TreatSpecificWarningsAsErrors) -+ MultiThreadedDebug - - - $(OutDir)\lib\x86\$(TargetName)$(TargetExt) -@@ -226,6 +227,7 @@ - NotUsing - false - 4113;%(TreatSpecificWarningsAsErrors) -+ MultiThreadedDebug - - - $(OutDir)\lib\x64\$(TargetName)$(TargetExt) -@@ -247,6 +249,7 @@ - NotUsing - false - 4113;%(TreatSpecificWarningsAsErrors) -+ MultiThreadedDebugDLL - - - $(OutDir)\bin\x86\$(TargetName)$(TargetExt) -@@ -274,6 +277,7 @@ - NotUsing - false - 4113;%(TreatSpecificWarningsAsErrors) -+ MultiThreadedDebugDLL - - - $(OutDir)\bin\x64\$(TargetName)$(TargetExt) -@@ -307,6 +311,7 @@ - NotUsing - false - 4113;%(TreatSpecificWarningsAsErrors) -+ MultiThreaded - - - $(OutDir)\lib\x86\$(TargetName)$(TargetExt) -@@ -335,6 +340,7 @@ - NotUsing - false - 4113;%(TreatSpecificWarningsAsErrors) -+ MultiThreaded - - - $(OutDir)\lib\x64\$(TargetName)$(TargetExt) -@@ -361,6 +367,7 @@ - NotUsing - false - 4113;%(TreatSpecificWarningsAsErrors) -+ MultiThreadedDLL - - - true -@@ -396,6 +403,7 @@ - NotUsing - false - 4113;%(TreatSpecificWarningsAsErrors) -+ MultiThreadedDLL - - - true -@@ -430,6 +438,7 @@ - NotUsing - false - 4113;%(TreatSpecificWarningsAsErrors) -+ MultiThreadedDLL - - - true -@@ -465,6 +474,7 @@ - NotUsing - false - 4113;%(TreatSpecificWarningsAsErrors) -+ MultiThreadedDLL - - - true diff --git a/ports/nettle/subdirs.patch b/ports/nettle/subdirs.patch new file mode 100644 index 00000000000000..98dd395c5d7f82 --- /dev/null +++ b/ports/nettle/subdirs.patch @@ -0,0 +1,32 @@ +diff --git a/Makefile.in b/Makefile.in +index 2bf7f1e8..3e0ba565 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -19,7 +19,7 @@ OPT_NETTLE_SOURCES = @OPT_NETTLE_SOURCES@ + + FAT_TEST_LIST = @FAT_TEST_LIST@ + +-SUBDIRS = tools testsuite examples ++SUBDIRS = @IF_TOOLS@ tools + + include config.make + +diff --git a/configure.ac b/configure.ac +index 4f27e663..a72b732b 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -24,6 +24,14 @@ AC_SUBST([MINOR_VERSION]) + + AC_CANONICAL_HOST + ++AC_ARG_ENABLE(tools,[]) ++if test "x$enable_tools" = xyes ; then ++ IF_TOOLS='' ++else ++ IF_TOOLS='#' ++fi ++AC_SUBST([IF_TOOLS]) ++ + # Command line options + AC_ARG_WITH(include-path, + 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 1a653be5ff7681..4ae4e73f8013ce 100644 --- a/ports/nettle/vcpkg.json +++ b/ports/nettle/vcpkg.json @@ -1,18 +1,24 @@ { "name": "nettle", - "version-string": "3.6", + "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", + "license": null, "dependencies": [ "gmp", { - "name": "vs-yasm", - "platform": "windows" + "name": "nettle", + "host": true }, { - "name": "yasm-tool-helper", - "platform": "windows" + "name": "vcpkg-cmake-get-vars", + "host": true } - ] + ], + "features": { + "tools": { + "description": "Build tools" + } + } } diff --git a/ports/nettle/yasm.patch b/ports/nettle/yasm.patch new file mode 100644 index 00000000000000..5ea10abbaf91b8 --- /dev/null +++ b/ports/nettle/yasm.patch @@ -0,0 +1,61 @@ +diff --git a/configure.ac b/configure.ac +index e95f1c825..1d7ef36bb 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -302,7 +302,7 @@ ABI=standard + case "$host_cpu" in + [x86_64 | amd64]) + AC_TRY_COMPILE([ +-#if defined(__x86_64__) || defined(__arch64__) ++#if defined(__x86_64__) || defined(__arch64__) || defined(_M_AMD64) + #error 64-bit x86 + #endif + ], [], [ +diff --git a/x86_64/aes.m4 b/x86_64/aes.m4 +index 3bec9eae2..85cafc046 100644 +--- a/x86_64/aes.m4 ++++ b/x86_64/aes.m4 +@@ -77,9 +77,9 @@ define(`AES_STORE', ` + dnl AES_ROUND(table,a,b,c,d,out,ptr) + dnl Computes one word of the AES round. Leaves result in $6. + define(`AES_ROUND', ` +- movzb LREG($2), $7 ++ movzbq LREG($2), $7 + movl AES_TABLE0 ($1, $7, 4),$6 +- movzb HREG($3), XREG($7) ++ movzbq HREG($3), XREG($7) + xorl AES_TABLE1 ($1, $7, 4),$6 + movl $4,XREG($7) + shr `$'16,$7 +@@ -94,7 +94,7 @@ dnl Computes one word of the final round. Leaves result in $6. Also + dnl performs the first substitution step, on the least significant + dnl byte, and rotates 8 bits. + define(`AES_FINAL_ROUND', ` +- movzb LREG($1),$7 ++ movzbq LREG($1),$7 + movzbl ($5, $7), $6 + movl $2,XREG($7) + andl `$'0x0000ff00,XREG($7) +@@ -113,18 +113,18 @@ dnl each of eax, ebx, ecx and edx, and also rotates + dnl the words one byte to the left. + dnl Uses that AES_SBOX == 0 + define(`AES_SUBST_BYTE', ` +- movzb LREG($1),$6 ++ movzbq LREG($1),$6 + movb ($5, $6),LREG($1) + roll `$'8,$1 + +- movzb LREG($2),$6 ++ movzbq LREG($2),$6 + movb ($5, $6),LREG($2) + roll `$'8,$2 + +- movzb LREG($3),$6 ++ movzbq LREG($3),$6 + movb ($5, $6),LREG($3) + roll `$'8,$3 + +- movzb LREG($4),$6 ++ movzbq LREG($4),$6 + movb ($5, $6),LREG($4) + roll `$'8,$4')dnl diff --git a/ports/networkdirect-sdk/portfile.cmake b/ports/networkdirect-sdk/portfile.cmake index 2b97eb8a1a0215..1d6c73c928c3f7 100644 --- a/ports/networkdirect-sdk/portfile.cmake +++ b/ports/networkdirect-sdk/portfile.cmake @@ -1,6 +1,3 @@ -#only supports windows -vcpkg_fail_port_install(ON_ARCH "arm" ON_TARGET "uwp" "linux" "osx") - vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_download_distfile(ARCHIVE @@ -15,8 +12,8 @@ vcpkg_download_distfile(LICENSE SHA512 7d79aae4c9beb85811a3e122a2b12aad231f519dd12a461ac49d52864a735a6b05a263d433c11ede1406d2e49b6dc62dd38487eb7bd8c079d7198a20cf85fc4d ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH +vcpkg_extract_source_archive( + SOURCE_PATH ARCHIVE ${ARCHIVE} NO_REMOVE_ONE_LEVEL ) diff --git a/ports/networkdirect-sdk/vcpkg.json b/ports/networkdirect-sdk/vcpkg.json index ec8ec3f989082f..850635164dabe3 100644 --- a/ports/networkdirect-sdk/vcpkg.json +++ b/ports/networkdirect-sdk/vcpkg.json @@ -1,7 +1,7 @@ { "name": "networkdirect-sdk", - "version-string": "2.0.1", - "port-version": 2, + "version": "2.0.1", + "port-version": 4, "description": "The Network Direct architecture allows hardware vendors to expose the advanced capabilities of their networking devices.", "homepage": "https://www.nuget.org/packages/NetworkDirect", "supports": "windows & (x64 | x86) & !uwp" diff --git a/ports/nghttp2-asio/0001-Fix-exception-in-server.patch b/ports/nghttp2-asio/0001-Fix-exception-in-server.patch new file mode 100644 index 00000000000000..b8ddb253e4f357 --- /dev/null +++ b/ports/nghttp2-asio/0001-Fix-exception-in-server.patch @@ -0,0 +1,45 @@ +From b4745aa3d87916c7d3da33c00da400b22a0539b5 Mon Sep 17 00:00:00 2001 +From: m8mble +Date: Fri, 20 Jan 2023 16:36:30 +0100 +Subject: [PATCH 1/1] Fix exception in server + +It can happen that a connection handler calls writefun when the +connection is already destroyed. This causes bad_weak_ptr exceptions +thrown from the server. + +Fix this issue by skipping the respective do_write invocations. + +Signed-off-by: m8mble +--- + lib/asio_server_connection.h | 13 ++++++++++++- + 1 file changed, 12 insertions(+), 1 deletion(-) + +diff --git a/lib/asio_server_connection.h b/lib/asio_server_connection.h +index a948965..94ed59f 100644 +--- a/lib/asio_server_connection.h ++++ b/lib/asio_server_connection.h +@@ -88,9 +88,20 @@ public: + void start() { + boost::system::error_code ec; + ++ auto make_writefun = [original_self = this->shared_from_this()] { ++ return [weak = std::weak_ptr{original_self}]() { ++ auto self = weak.lock(); ++ // If connection already got destroyed, the socket is already closed in particular. ++ // Therefore we can simply ignore further calls to write. ++ if (self) { ++ self->do_write(); ++ } ++ }; ++ }; ++ + handler_ = std::make_shared( + GET_IO_SERVICE(socket_), socket_.lowest_layer().remote_endpoint(ec), +- [this]() { do_write(); }, mux_); ++ make_writefun(), mux_); + if (handler_->start() != 0) { + stop(); + return; +-- +2.39.1 + diff --git a/ports/nghttp2-asio/0002-Honor-BUILD_SHARED_LIBS.patch b/ports/nghttp2-asio/0002-Honor-BUILD_SHARED_LIBS.patch new file mode 100644 index 00000000000000..c74b57c4337451 --- /dev/null +++ b/ports/nghttp2-asio/0002-Honor-BUILD_SHARED_LIBS.patch @@ -0,0 +1,26 @@ +From c68e0a22f8a96ceb5011aa09c4ad93d26c31dc0c Mon Sep 17 00:00:00 2001 +From: m8mble +Date: Fri, 24 Feb 2023 11:36:19 +0100 +Subject: [PATCH 1/1] Honor BUILD_SHARED_LIBS + +Signed-off-by: m8mble +--- + lib/CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt +index ee8f87d..0a67c14 100644 +--- a/lib/CMakeLists.txt ++++ b/lib/CMakeLists.txt +@@ -36,7 +36,7 @@ set(NGHTTP2_ASIO_SOURCES + asio_client_tls_context.cc + ) + +-add_library(nghttp2_asio SHARED ++add_library(nghttp2_asio + ${NGHTTP2_ASIO_SOURCES} + $ + ) +-- +2.39.1 + diff --git a/ports/nghttp2-asio/portfile.cmake b/ports/nghttp2-asio/portfile.cmake new file mode 100644 index 00000000000000..123afacdc7316a --- /dev/null +++ b/ports/nghttp2-asio/portfile.cmake @@ -0,0 +1,40 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO nghttp2/nghttp2-asio + REF e877868abe06a83ed0a6ac6e245c07f6f20866b5 + SHA512 ed9112d8062dc624cb954c6b4366f79e1e4a8c814a12c9f428a3da882127895b6ea0ff82a3660469c2bef29e3dea906ad9127faa46df773e00ed93b8c7c31d9c + PATCHES + 0001-Fix-exception-in-server.patch + 0002-Honor-BUILD_SHARED_LIBS.patch +) + +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_STATIC_CRT=${ENABLE_STATIC_CRT}" + "-DENABLE_STATIC_LIB=${ENABLE_STATIC_LIB}" + "-DENABLE_SHARED_LIB=${ENABLE_SHARED_LIB}" +) +vcpkg_cmake_install() +vcpkg_copy_pdbs() +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" +) + +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/nghttp2-asio/vcpkg.json b/ports/nghttp2-asio/vcpkg.json new file mode 100644 index 00000000000000..a33bd2085ce88d --- /dev/null +++ b/ports/nghttp2-asio/vcpkg.json @@ -0,0 +1,26 @@ +{ + "name": "nghttp2-asio", + "version-date": "2022-08-11", + "port-version": 1, + "description": "High level abstraction API to build HTTP/2 applications with nghttp2 and boost asio.", + "homepage": "https://github.com/nghttp2/nghttp2-asio", + "license": "MIT", + "supports": "!windows", + "dependencies": [ + { + "name": "boost-asio", + "version>=": "1.81.0" + }, + "boost-system", + "boost-thread", + { + "name": "nghttp2", + "version>=": "1.51.0" + }, + "openssl", + { + "name": "vcpkg-cmake", + "host": true + } + ] +} diff --git a/ports/nghttp2/portfile.cmake b/ports/nghttp2/portfile.cmake index ef14b80ad6c35d..f2e698c483f667 100644 --- a/ports/nghttp2/portfile.cmake +++ b/ports/nghttp2/portfile.cmake @@ -1,23 +1,34 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO nghttp2/nghttp2 - REF 7af0c508be9cbec407268e2f546f597d268c104e # v1.46.0 - SHA512 e25e8a43d0f9523f654d9136c2b9db30cfa5e8086da3fe3e9bcf68ff8c034383550ca17d89d31cd14e23b5886a0a948d777b4e182d0a042ccfe9a8083410de93 + 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_ASIO_LIB=OFF + -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_Libngtcp2=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 + MAYBE_UNUSED_VARIABLES + ENABLE_STATIC_CRT ) vcpkg_cmake_install() vcpkg_copy_pdbs() @@ -26,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 @@ -42,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 9b5ce8969be7ce..22a75865ed8a43 100644 --- a/ports/nghttp2/vcpkg.json +++ b/ports/nghttp2/vcpkg.json @@ -1,8 +1,9 @@ { "name": "nghttp2", - "version": "1.46.0", + "version": "1.64.0", "description": "Implementation of the Hypertext Transfer Protocol version 2 in C", "homepage": "https://github.com/nghttp2/nghttp2", + "license": "MIT", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/nghttp3/portfile.cmake b/ports/nghttp3/portfile.cmake new file mode 100644 index 00000000000000..a6bd0b8b604b11 --- /dev/null +++ b/ports/nghttp3/portfile.cmake @@ -0,0 +1,60 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO ngtcp2/nghttp3 + REF v${VERSION} + SHA512 c5f8188b7c74a8162b4526d0d317f94db934eb75335c6ccc4f289d3e3592edb099b7cdc72d966db68140be99c3b6ebf34f5814d62a52b0dc4040d79fab2351cf + HEAD_REF main + PATCHES +) + +vcpkg_from_github( + OUT_SOURCE_PATH SFPARSE_SOURCE_PATH + REPO ngtcp2/sfparse + REF c2e010d064d58f7775aca1aa29df20dd2f534a9a + SHA512 5556878d9bfd190e537064e069ca71e76aa0e3bc9fc1d5eef24f1b413a6d3abc584024fb81e188d8ae148673db279e665064cb9971cf04568148782152bd9702 + 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) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DENABLE_LIB_ONLY=ON + -DBUILD_TESTING=OFF + "-DENABLE_STATIC_CRT=${ENABLE_STATIC_CRT}" + "-DENABLE_STATIC_LIB=${ENABLE_STATIC_LIB}" + "-DENABLE_SHARED_LIB=${ENABLE_SHARED_LIB}" + 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" + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/share/man" + "${CURRENT_PACKAGES_DIR}/share/doc" +) + +if(VCPKG_LIBRARY_LINKAGE STREQUAL static) + file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/bin" + "${CURRENT_PACKAGES_DIR}/debug/bin" + ) + file(APPEND "${CURRENT_PACKAGES_DIR}/include/nghttp3/version.h" [[ +]]) +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 new file mode 100644 index 00000000000000..1d24fdf6aa8e3b --- /dev/null +++ b/ports/nghttp3/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "nghttp3", + "version": "1.6.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", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/ngspice/Fix-C2065.patch b/ports/ngspice/Fix-C2065.patch new file mode 100644 index 00000000000000..5823d4f54a750d --- /dev/null +++ b/ports/ngspice/Fix-C2065.patch @@ -0,0 +1,170 @@ +diff --git a/visualc/sharedspice.vcxproj b/visualc/sharedspice.vcxproj +index ba979bd..ce9d4df 100644 +--- a/visualc/sharedspice.vcxproj ++++ b/visualc/sharedspice.vcxproj +@@ -113,7 +113,7 @@ + + Disabled + ..\src\maths\poly;..\src\frontend;..\src\spicelib\devices;tmp-bison;..\src\spicelib\parser;src\include;..\src\include;..\src\include\cppduals;.;%(AdditionalIncludeDirectories) +- _CRT_SECURE_NO_DEPRECATE;SIMULATOR;XSPICE;SHARED_MODULE;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);NGDEBUG;%(PreprocessorDefinitions) ++ _CRT_SECURE_NO_DEPRECATE;__STDC_LIMIT_MACROS;SIMULATOR;XSPICE;SHARED_MODULE;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);NGDEBUG;%(PreprocessorDefinitions) + false + false + false +@@ -157,7 +157,7 @@ + Speed + true + ..\src\maths\poly;..\src\frontend;..\src\spicelib\devices;tmp-bison;..\src\spicelib\parser;src\include;..\src\include;..\src\include\cppduals;.;%(AdditionalIncludeDirectories) +- _CRT_SECURE_NO_DEPRECATE;SIMULATOR;XSPICE;SHARED_MODULE;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);%(PreprocessorDefinitions) ++ _CRT_SECURE_NO_DEPRECATE;__STDC_LIMIT_MACROS;SIMULATOR;XSPICE;SHARED_MODULE;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);%(PreprocessorDefinitions) + false + + MultiThreaded +@@ -199,7 +199,7 @@ + + Disabled + ..\src\maths\poly;..\src\osdi;..\src\frontend;..\src\spicelib\devices;tmp-bison;..\src\spicelib\parser;src\include;..\src\include;..\src\include\cppduals;.;%(AdditionalIncludeDirectories) +- _CRT_SECURE_NO_DEPRECATE;SIMULATOR;SHARED_MODULE;CONFIG64;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);NGDEBUG;%(PreprocessorDefinitions) ++ _CRT_SECURE_NO_DEPRECATE;__STDC_LIMIT_MACROS;SIMULATOR;SHARED_MODULE;CONFIG64;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);NGDEBUG;%(PreprocessorDefinitions) + false + false + false +@@ -249,7 +249,7 @@ + Speed + true + ..\src\maths\poly;..\src\osdi;..\src\frontend;..\src\spicelib\devices;tmp-bison;..\src\spicelib\parser;src\include;..\src\include;..\src\include\cppduals;.;%(AdditionalIncludeDirectories) +- _CRT_SECURE_NO_DEPRECATE;SIMULATOR;SHARED_MODULE;CONFIG64;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);%(PreprocessorDefinitions) ++ _CRT_SECURE_NO_DEPRECATE;__STDC_LIMIT_MACROS;SIMULATOR;SHARED_MODULE;CONFIG64;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);%(PreprocessorDefinitions) + false + + +@@ -294,7 +294,7 @@ + Speed + true + ..\src\maths\poly;..\src\frontend;..\src\spicelib\devices;tmp-bison;..\src\spicelib\parser;src\include;..\src\include;..\src\include\cppduals;.;%(AdditionalIncludeDirectories) +- _CRT_SECURE_NO_DEPRECATE;SIMULATOR;XSPICE;SHARED_MODULE;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);USE_OMP;%(PreprocessorDefinitions) ++ _CRT_SECURE_NO_DEPRECATE;__STDC_LIMIT_MACROS;SIMULATOR;XSPICE;SHARED_MODULE;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);USE_OMP;%(PreprocessorDefinitions) + false + + MultiThreaded +@@ -339,7 +339,7 @@ + Speed + true + ..\src\maths\poly;..\src\osdi;..\src\frontend;..\src\spicelib\devices;tmp-bison;..\src\spicelib\parser;src\include;..\src\include;..\src\include\cppduals;.;%(AdditionalIncludeDirectories) +- _CRT_SECURE_NO_DEPRECATE;SIMULATOR;SHARED_MODULE;CONFIG64;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);USE_OMP;%(PreprocessorDefinitions) ++ _CRT_SECURE_NO_DEPRECATE;__STDC_LIMIT_MACROS;SIMULATOR;SHARED_MODULE;CONFIG64;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);USE_OMP;%(PreprocessorDefinitions) + false + + +diff --git a/visualc/vngspice.vcxproj b/visualc/vngspice.vcxproj +index 0df1dd5..67d2029 100644 +--- a/visualc/vngspice.vcxproj ++++ b/visualc/vngspice.vcxproj +@@ -212,7 +212,7 @@ + + Disabled + ..\src\maths\poly;..\src\frontend;..\src\spicelib\devices;tmp-bison;src\include;..\src\spicelib\parser;..\src\include;..\src\include\cppduals;.;%(AdditionalIncludeDirectories) +- _CRT_SECURE_NO_DEPRECATE;SIMULATOR;XSPICE;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);NGDEBUG;%(PreprocessorDefinitions) ++ _CRT_SECURE_NO_DEPRECATE;__STDC_LIMIT_MACROS;SIMULATOR;XSPICE;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);NGDEBUG;%(PreprocessorDefinitions) + false + + +@@ -259,7 +259,7 @@ + Speed + true + ..\src\maths\poly;..\src\frontend;..\src\spicelib\devices;tmp-bison;src\include;..\src\spicelib\parser;..\src\include;..\src\include\cppduals;.;%(AdditionalIncludeDirectories) +- _CRT_SECURE_NO_DEPRECATE;SIMULATOR;XSPICE;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);%(PreprocessorDefinitions) ++ _CRT_SECURE_NO_DEPRECATE;__STDC_LIMIT_MACROS;SIMULATOR;XSPICE;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);%(PreprocessorDefinitions) + false + + +@@ -310,7 +310,7 @@ + + Disabled + ..\src\maths\poly;..\src\osdi;..\src\frontend;..\src\spicelib\devices;tmp-bison;src\include;..\src\spicelib\parser;..\src\include;..\src\include\cppduals;.;%(AdditionalIncludeDirectories) +- _CRT_SECURE_NO_DEPRECATE;SIMULATOR;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);NGDEBUG;CONFIG64;%(PreprocessorDefinitions) ++ _CRT_SECURE_NO_DEPRECATE;__STDC_LIMIT_MACROS;SIMULATOR;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);NGDEBUG;CONFIG64;%(PreprocessorDefinitions) + false + + +@@ -362,7 +362,7 @@ + Speed + true + ..\src\maths\poly;..\src\frontend;..\src\spicelib\devices;tmp-bison;src\include;..\src\spicelib\parser;..\src\include;..\src\include\cppduals;.;%(AdditionalIncludeDirectories) +- _CRT_SECURE_NO_DEPRECATE;SIMULATOR;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);CONFIG64;%(PreprocessorDefinitions) ++ _CRT_SECURE_NO_DEPRECATE;__STDC_LIMIT_MACROS;SIMULATOR;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);CONFIG64;%(PreprocessorDefinitions) + false + + +@@ -413,7 +413,7 @@ + + Disabled + ..\src\maths\poly;..\src\frontend;..\src\spicelib\devices;tmp-bison;src\include;..\src\spicelib\parser;..\src\include;..\src\include\cppduals;.;%(AdditionalIncludeDirectories) +- _CRT_SECURE_NO_DEPRECATE;SIMULATOR;XSPICE;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);NGDEBUG;CONSOLE;%(PreprocessorDefinitions) ++ _CRT_SECURE_NO_DEPRECATE;__STDC_LIMIT_MACROS;SIMULATOR;XSPICE;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);NGDEBUG;CONSOLE;%(PreprocessorDefinitions) + false + + +@@ -460,7 +460,7 @@ + Speed + true + ..\src\maths\poly;..\src\frontend;..\src\spicelib\devices;tmp-bison;src\include;..\src\spicelib\parser;..\src\include;..\src\include\cppduals;.;%(AdditionalIncludeDirectories) +- _CRT_SECURE_NO_DEPRECATE;SIMULATOR;XSPICE;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);CONSOLE;%(PreprocessorDefinitions) ++ _CRT_SECURE_NO_DEPRECATE;__STDC_LIMIT_MACROS;SIMULATOR;XSPICE;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);CONSOLE;%(PreprocessorDefinitions) + false + + +@@ -510,7 +510,7 @@ + + Disabled + ..\src\maths\poly;..\src\frontend;..\src\spicelib\devices;tmp-bison;src\include;..\src\spicelib\parser;..\src\include;..\src\include\cppduals;.;%(AdditionalIncludeDirectories) +- _CRT_SECURE_NO_DEPRECATE;SIMULATOR;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);NGDEBUG;CONSOLE;CONFIG64;%(PreprocessorDefinitions) ++ _CRT_SECURE_NO_DEPRECATE;__STDC_LIMIT_MACROS;SIMULATOR;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);NGDEBUG;CONSOLE;CONFIG64;%(PreprocessorDefinitions) + false + + +@@ -562,7 +562,7 @@ + Speed + true + ..\src\maths\poly;..\src\frontend;..\src\spicelib\devices;tmp-bison;src\include;..\src\spicelib\parser;..\src\include;..\src\include\cppduals;.;%(AdditionalIncludeDirectories) +- _CRT_SECURE_NO_DEPRECATE;SIMULATOR;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);CONSOLE;CONFIG64;%(PreprocessorDefinitions) ++ _CRT_SECURE_NO_DEPRECATE;__STDC_LIMIT_MACROS;SIMULATOR;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);CONSOLE;CONFIG64;%(PreprocessorDefinitions) + false + + +@@ -614,7 +614,7 @@ + Speed + true + ..\src\maths\poly;..\src\frontend;..\src\spicelib\devices;tmp-bison;src\include;..\src\spicelib\parser;..\src\include;..\src\include\cppduals;.;%(AdditionalIncludeDirectories) +- _CRT_SECURE_NO_DEPRECATE;SIMULATOR;XSPICE;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);USE_OMP;%(PreprocessorDefinitions) ++ _CRT_SECURE_NO_DEPRECATE;__STDC_LIMIT_MACROS;SIMULATOR;XSPICE;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);USE_OMP;%(PreprocessorDefinitions) + false + + +@@ -668,7 +668,7 @@ + Speed + true + ..\src\maths\poly;..\src\frontend;..\src\spicelib\devices;tmp-bison;src\include;..\src\spicelib\parser;..\src\include;..\src\include\cppduals;.;%(AdditionalIncludeDirectories) +- _CRT_SECURE_NO_DEPRECATE;SIMULATOR;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);USE_OMP;CONFIG64;%(PreprocessorDefinitions) ++ _CRT_SECURE_NO_DEPRECATE;__STDC_LIMIT_MACROS;SIMULATOR;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);USE_OMP;CONFIG64;%(PreprocessorDefinitions) + false + + +@@ -724,7 +724,7 @@ + Speed + true + ..\src\maths\poly;..\src\frontend;..\src\spicelib\devices;tmp-bison;src\include;..\src\spicelib\parser;..\src\include;..\src\include\cppduals;.;%(AdditionalIncludeDirectories) +- _CRT_SECURE_NO_DEPRECATE;SIMULATOR;XSPICE;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);CONSOLE;USE_OMP;%(PreprocessorDefinitions) ++ _CRT_SECURE_NO_DEPRECATE;__STDC_LIMIT_MACROS;SIMULATOR;XSPICE;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);CONSOLE;USE_OMP;%(PreprocessorDefinitions) + false + + +@@ -778,7 +778,7 @@ + Speed + true + ..\src\maths\poly;..\src\frontend;..\src\spicelib\devices;tmp-bison;src\include;..\src\spicelib\parser;..\src\include;..\src\include\cppduals;.;%(AdditionalIncludeDirectories) +- _CRT_SECURE_NO_DEPRECATE;SIMULATOR;XSPICE;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);CONSOLE;CONFIG64;USE_OMP;%(PreprocessorDefinitions) ++ _CRT_SECURE_NO_DEPRECATE;__STDC_LIMIT_MACROS;SIMULATOR;XSPICE;_MSC_PLATFORM_TOOLSET=$(PlatformToolsetVersion);CONSOLE;CONFIG64;USE_OMP;%(PreprocessorDefinitions) + false + + diff --git a/ports/ngspice/portfile.cmake b/ports/ngspice/portfile.cmake index e128d737ec52cb..2a0f1028010b7d 100644 --- a/ports/ngspice/portfile.cmake +++ b/ports/ngspice/portfile.cmake @@ -1,5 +1,3 @@ -vcpkg_fail_port_install(ON_TARGET "Linux" "OSX" "UWP" ON_ARCH "arm" "arm64") - vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) # ngspice produces self-contained DLLs @@ -8,15 +6,15 @@ set(VCPKG_CRT_LINKAGE static) vcpkg_from_sourceforge( OUT_SOURCE_PATH SOURCE_PATH REPO ngspice/ng-spice-rework - REF 35 - FILENAME "ngspice-35.tar.gz" - SHA512 2f9b0f951e3ca8d52692beadb895b352311f67b8760f99d0e2f4718fce4b497dd68e2b933029eeacb4ed57551e959bc6e3747e64feb4722a4f841e734f5a664b + REF ${VERSION} + FILENAME "ngspice-${VERSION}.tar.gz" + SHA512 fb0960cc9fcde1871fad82571cacebb1f5cce09ee3297cc938a24b88173ed102a2cb3f246599cdfbde7275e45e3d551edd0368e3ba6e79c592937c4cc466325e PATCHES use-winbison-sharedspice.patch use-winbison-vngspice.patch remove-post-build.patch remove-64-in-codemodel-name.patch - + Fix-C2065.patch ) vcpkg_find_acquire_program(BISON) @@ -27,31 +25,29 @@ vcpkg_add_to_path(PREPEND "${BISON_DIR}") # Sadly, vcpkg globs .libs inside install_msbuild and whines that the 47 year old SPICE format isn't a MSVC lib ;) # We need to kill them off first before the source tree is copied to a tmp location by install_msbuild -file(REMOVE_RECURSE ${SOURCE_PATH}/contrib) -file(REMOVE_RECURSE ${SOURCE_PATH}/examples) -file(REMOVE_RECURSE ${SOURCE_PATH}/man) -file(REMOVE_RECURSE ${SOURCE_PATH}/tests) +file(REMOVE_RECURSE "${SOURCE_PATH}/contrib") +file(REMOVE_RECURSE "${SOURCE_PATH}/examples") +file(REMOVE_RECURSE "${SOURCE_PATH}/man") +file(REMOVE_RECURSE "${SOURCE_PATH}/tests") # this builds the main dll -vcpkg_install_msbuild( - SOURCE_PATH ${SOURCE_PATH} - INCLUDES_SUBPATH /src/include - LICENSE_SUBPATH COPYING +vcpkg_msbuild_install( + SOURCE_PATH "${SOURCE_PATH}" # install_msbuild swaps x86 for win32(bad) if we dont force our own setting PLATFORM ${TRIPLET_SYSTEM_ARCH} PROJECT_SUBPATH visualc/sharedspice.sln TARGET Build ) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") +file(COPY "${SOURCE_PATH}/src/include/" DESTINATION "${CURRENT_PACKAGES_DIR}/include") + if("codemodels" IN_LIST FEATURES) # vngspice generates "codemodels" to enhance simulation capabilities # we cannot use install_msbuild as they output with ".cm" extensions on purpose - set(BUILDTREE_PATH ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}) - file(REMOVE_RECURSE ${BUILDTREE_PATH}) - file(COPY ${SOURCE_PATH}/ DESTINATION ${BUILDTREE_PATH}) - - vcpkg_build_msbuild( - PROJECT_PATH ${BUILDTREE_PATH}/visualc/vngspice.sln + vcpkg_msbuild_install( + SOURCE_PATH "${SOURCE_PATH}" + PROJECT_SUBPATH visualc/vngspice.sln # build_msbuild swaps x86 for win32(bad) if we dont force our own setting PLATFORM ${TRIPLET_SYSTEM_ARCH} TARGET Build @@ -66,29 +62,28 @@ if("codemodels" IN_LIST FEATURES) else() message(FATAL_ERROR "Unsupported target architecture") endif() - + #put the code models in the intended location - file(GLOB NGSPICE_CODEMODELS_DEBUG - ${BUILDTREE_PATH}/visualc/codemodels/${OUT_ARCH}/Debug/*.cm - ) - file(COPY ${NGSPICE_CODEMODELS_DEBUG} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/ngspice) - + if(NOT VCPKG_BUILD_TYPE) + file(GLOB NGSPICE_CODEMODELS_DEBUG + "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/visualc/codemodels/${OUT_ARCH}/Debug/*.cm" + ) + file(COPY ${NGSPICE_CODEMODELS_DEBUG} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib/ngspice") + endif() + file(GLOB NGSPICE_CODEMODELS_RELEASE - ${BUILDTREE_PATH}/visualc/codemodels/${OUT_ARCH}/Release/*.cm + "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/visualc/codemodels/${OUT_ARCH}/Release/*.cm" ) - file(COPY ${NGSPICE_CODEMODELS_RELEASE} DESTINATION ${CURRENT_PACKAGES_DIR}/lib/ngspice) - - + file(COPY ${NGSPICE_CODEMODELS_RELEASE} DESTINATION "${CURRENT_PACKAGES_DIR}/lib/ngspice") + # copy over spinit (spice init) - file(RENAME ${BUILDTREE_PATH}/visualc/spinit_all ${BUILDTREE_PATH}/visualc/spinit) - file(COPY ${BUILDTREE_PATH}/visualc/spinit DESTINATION ${CURRENT_PACKAGES_DIR}/share/ngspice) + file(COPY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/visualc/spinit_all" DESTINATION "${CURRENT_PACKAGES_DIR}/share/ngspice") + file(RENAME "${CURRENT_PACKAGES_DIR}/share/ngspice/spinit_all" "${CURRENT_PACKAGES_DIR}/share/ngspice/spinit") endif() -vcpkg_copy_pdbs() - # Unforunately install_msbuild isn't able to dual include directories that effectively layer -file(GLOB NGSPICE_INCLUDES ${SOURCE_PATH}/visualc/src/include/ngspice/*) -file(COPY ${NGSPICE_INCLUDES} DESTINATION ${CURRENT_PACKAGES_DIR}/include/ngspice) +file(GLOB NGSPICE_INCLUDES "${SOURCE_PATH}/visualc/src/include/ngspice/*") +file(COPY ${NGSPICE_INCLUDES} DESTINATION "${CURRENT_PACKAGES_DIR}/include/ngspice") # This gets copied by install_msbuild but should not be shared -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/cppduals) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/cppduals") diff --git a/ports/ngspice/vcpkg.json b/ports/ngspice/vcpkg.json index 1b6da85d1545cc..31cfa6f913ded1 100644 --- a/ports/ngspice/vcpkg.json +++ b/ports/ngspice/vcpkg.json @@ -1,9 +1,17 @@ { "name": "ngspice", - "version-string": "35", + "version": "41", "description": "Ngspice is a mixed-level/mixed-signal electronic circuit simulator. It is a successor of the latest stable release of Berkeley SPICE", "homepage": "http://ngspice.sourceforge.net/", + "license": "CC-BY-SA-4.0", "supports": "!(linux | osx | arm | uwp)", + "dependencies": [ + { + "name": "vcpkg-msbuild", + "host": true, + "platform": "windows" + } + ], "default-features": [ "codemodels" ], diff --git a/ports/ngtcp2/openssl_required.patch b/ports/ngtcp2/openssl_required.patch new file mode 100644 index 00000000000000..22aeeaf701ad47 --- /dev/null +++ b/ports/ngtcp2/openssl_required.patch @@ -0,0 +1,14 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -119,9 +119,9 @@ + if(ENABLE_GNUTLS) + find_package(GnuTLS 3.7.2) + endif() + if(ENABLE_OPENSSL) +- find_package(OpenSSL 1.1.1) ++ find_package(OpenSSL REQUIRED) + endif() + if(ENABLE_WOLFSSL) + find_package(wolfssl 5.5.0) + endif() diff --git a/ports/ngtcp2/portfile.cmake b/ports/ngtcp2/portfile.cmake new file mode 100644 index 00000000000000..01394823d8925d --- /dev/null +++ b/ports/ngtcp2/portfile.cmake @@ -0,0 +1,42 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO ngtcp2/ngtcp2 + REF "v${VERSION}" + SHA512 de38eaa8b7761ed1f7d8b07bfd8dd274820694b4438f224a4984e045a6c866ec5c4f23a142885883e2ea005994b40914e2aafc2724e3860cb9d72b759d947a9b + HEAD_REF main + PATCHES + openssl_required.patch +) + +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}" + -DBUILD_TESTING=OFF + -DCMAKE_DISABLE_FIND_PACKAGE_Libev=ON + -DCMAKE_DISABLE_FIND_PACKAGE_Libnghttp3=ON + -DCMAKE_INSTALL_DOCDIR=share/ngtcp2 +) +vcpkg_cmake_install() +vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/ngtcp2") + +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/ngtcp2/vcpkg.json b/ports/ngtcp2/vcpkg.json new file mode 100644 index 00000000000000..4fa7ec37b0dfcf --- /dev/null +++ b/ports/ngtcp2/vcpkg.json @@ -0,0 +1,49 @@ +{ + "name": "ngtcp2", + "version": "1.8.1", + "description": "ngtcp2 project is an effort to implement RFC9000 QUIC protocol.", + "homepage": "https://github.com/ngtcp2/ngtcp2", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "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/nifly/portfile.cmake b/ports/nifly/portfile.cmake new file mode 100644 index 00000000000000..bb6ee1084f385f --- /dev/null +++ b/ports/nifly/portfile.cmake @@ -0,0 +1,33 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_download_distfile( + MISSING_STDINT_H + URLS https://github.com/ousnius/nifly/commit/a16057e349b9cbee53d9618b22d3e235505f0df0.patch?full_index=1 + SHA512 45147c85384deba257e52eda5c2ff0c8dee559edc10b00d6e9964d5cc675669587ef941cea0228816c39846de58e33197e953506b9b73267397c4b36cd1f1374 + FILENAME a16057e349b9cbee53d9618b22d3e235505f0df0.patch +) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO ousnius/nifly + REF 680a3c0435ff78f8189c46de410d0c8aa9c18a06 + SHA512 b1bb4a194f95e7bcd66280e1b796d0813cd0b4dc292dae5b168092c2d529f89c966a0f11b364787dfa906556181326b30517b7f734fe85246cde4016e3a1d55b + HEAD_REF main + PATCHES + "${MISSING_STDINT_H}" +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_TESTING=OFF +) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH "cmake/") + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" +) + +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/nifly/vcpkg.json b/ports/nifly/vcpkg.json new file mode 100644 index 00000000000000..e7f56bafe574f4 --- /dev/null +++ b/ports/nifly/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "nifly", + "version": "1.0.0", + "port-version": 1, + "description": "A C++ library for working with the NIF file format", + "homepage": "https://github.com/ousnius/nifly", + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/nifticlib/portfile.cmake b/ports/nifticlib/portfile.cmake index c9d74a49e5c39e..56e3795525e659 100644 --- a/ports/nifticlib/portfile.cmake +++ b/ports/nifticlib/portfile.cmake @@ -1,17 +1,18 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO NIFTI-Imaging/nifti_clib - REF 65f801b9c2f1f15f4de4a19d45e6595c25765632 - SHA512 be03cdc6cf17fd9ff74c5ecc1f6b2132121bb4b7973a731da334af2a8428d1f0dbbf7b94b2511d1ff7e515b8cc4cf3316d62b189566fb6ffc88c6146eebd48ff + REPO NIFTI-Imaging/nifti_clib + REF 5a8016be2161058f116b39ca476734bd81bb83c5 + SHA512 782cb4e494d73b054f8e3ab5f059b952fa461ceb3a0e12989ef1485675d1009d107c496abe6a495fbc30214d92859faad2c58a3edb10899114b440476b613315 HEAD_REF master - PATCHES zlib_include.patch + PATCHES + zlib_include.patch ) if(VCPKG_TARGET_IS_WINDOWS) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) endif() -vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES "cifti" USE_CIFTI_CODE "fsl" USE_FSL_CODE "nifti2" USE_NIFTI2_CODE @@ -21,22 +22,27 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS ) set(TOOL_NAMES) if("tools" IN_LIST FEATURES) - list(APPEND TOOL_NAMES nifti_stats nifti_tool nifti1_tool) -endif() -if("tests" IN_LIST FEATURES) - list(APPEND TOOL_NAMES nifit_test) + list(APPEND TOOL_NAMES nifti1_tool) + if("nifti2" IN_LIST FEATURES) + list(APPEND TOOL_NAMES nifti_tool) + endif() + if("nifticdf" IN_LIST FEATURES) + list(APPEND TOOL_NAMES nifti_stats) + endif() + if("cifti" IN_LIST FEATURES AND "nifti2" IN_LIST FEATURES) + list(APPEND TOOL_NAMES cifti_tool afni_xml_tool) + endif() endif() -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${FEATURE_OPTIONS} ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake TARGET_PATH share) +vcpkg_cmake_config_fixup(CONFIG_PATH share/cmake/NIFTI PACKAGE_NAME nifti) if(TOOL_NAMES) vcpkg_copy_tools(TOOL_NAMES ${TOOL_NAMES} AUTO_CLEAN) @@ -45,4 +51,4 @@ endif() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") 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/nifticlib/vcpkg.json b/ports/nifticlib/vcpkg.json index 8a35da5a0ae0a8..2e90bf03c7e6f5 100644 --- a/ports/nifticlib/vcpkg.json +++ b/ports/nifticlib/vcpkg.json @@ -1,11 +1,19 @@ { "name": "nifticlib", - "version-string": "2020-04-30", - "port-version": 1, + "version-date": "2022-07-04", "description": "Nifticlib is a C I/O library for reading and writing files in the nifti-1 data format.", - "homepage": "NIFTI-Imaging/nifti_clib", + "homepage": "https://github.com/NIFTI-Imaging/nifti_clib", + "license": null, "supports": "!uwp", "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, "zlib" ], "default-features": [ @@ -14,22 +22,19 @@ ], "features": { "cifti": { - "description": "Build cifti libraries and tools" + "description": "Build cifti libraries" }, "fsl": { - "description": "Build fsl libraries and tools" + "description": "Build fsl libraries" }, "nifti2": { - "description": "Build nifti2 libraries and tools" + "description": "Build nifti2 libraries" }, "nifticdf": { - "description": "Build nifticdf libraries and tools" - }, - "tests": { - "description": "Build tests" + "description": "Build nifticdf libraries" }, "tools": { - "description": "Build tools" + "description": "Builds the core tool and the tools for 'nifti2' and 'nifticdf' if selected" } } } diff --git a/ports/nlohmann-fifo-map/portfile.cmake b/ports/nlohmann-fifo-map/portfile.cmake index 3079e964e3da9a..2209ea42b30aa9 100644 --- a/ports/nlohmann-fifo-map/portfile.cmake +++ b/ports/nlohmann-fifo-map/portfile.cmake @@ -7,21 +7,20 @@ vcpkg_from_github( ) #make sure we don't use any integrated pre-built library nor any unnecessary CMake module -file(REMOVE_RECURSE ${SOURCE_PATH}/test) -file(REMOVE ${SOURCE_PATH}/CMakeLists.txt) +file(REMOVE_RECURSE "${SOURCE_PATH}/test") +file(REMOVE "${SOURCE_PATH}/CMakeLists.txt") -file(COPY ${CURRENT_PORT_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CURRENT_PORT_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets() +vcpkg_cmake_install() +vcpkg_cmake_config_fixup() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") # Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE.MIT DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE.MIT" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/nlohmann-fifo-map/vcpkg.json b/ports/nlohmann-fifo-map/vcpkg.json index e18734a35f4f05..e611b961580ac9 100644 --- a/ports/nlohmann-fifo-map/vcpkg.json +++ b/ports/nlohmann-fifo-map/vcpkg.json @@ -1,7 +1,17 @@ { "name": "nlohmann-fifo-map", "version-string": "2018.05.07", - "port-version": 2, + "port-version": 3, "description": "a FIFO-ordered associative container for C++", - "homepage": "https://github.com/nlohmann/fifo_map" + "homepage": "https://github.com/nlohmann/fifo_map", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/nlohmann-json/portfile.cmake b/ports/nlohmann-json/portfile.cmake index 623392a7805994..a942d0c8c31b16 100644 --- a/ports/nlohmann-json/portfile.cmake +++ b/ports/nlohmann-json/portfile.cmake @@ -1,37 +1,49 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO nlohmann/json - REF v3.10.4 - SHA512 f78592db6218165cbc74c10bcba40366f1bfea84405b7ee25fe97a056d5b7a15aeeb956d93296673928dcbd6e26ffcfb152f885b4a44d5d55751396ccf090835 + REF "v${VERSION}" + SHA512 7df19b621de34f08d5d5c0a25e8225975980841ef2e48536abcf22526ed7fb99f88ad954a2cb823115db59ccc88d1dbe74fe6c281b5644b976b33fb78db9d717 HEAD_REF master ) +if(NOT DEFINED nlohmann-json_IMPLICIT_CONVERSIONS) + set(nlohmann-json_IMPLICIT_CONVERSIONS ON) +endif() + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS +FEATURES + "diagnostics" JSON_Diagnostics +) + vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} - OPTIONS + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} -DJSON_Install=ON -DJSON_MultipleHeaders=ON -DJSON_BuildTests=OFF + -DJSON_ImplicitConversions=${nlohmann-json_IMPLICIT_CONVERSIONS} ) vcpkg_cmake_install() -vcpkg_cmake_config_fixup(PACKAGE_NAME "nlohmann_json" CONFIG_PATH "lib/cmake/nlohmann_json") +vcpkg_cmake_config_fixup(PACKAGE_NAME "nlohmann_json" CONFIG_PATH "share/cmake/nlohmann_json") vcpkg_fixup_pkgconfig() 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) +if(EXISTS "${CURRENT_PACKAGES_DIR}/nlohmann_json.natvis") file(RENAME "${CURRENT_PACKAGES_DIR}/nlohmann_json.natvis" "${CURRENT_PACKAGES_DIR}/share/nlohmann_json/nlohmann_json.natvis" ) endif() -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/nlohmann_json.natvis") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") # Handle copyright file(INSTALL "${SOURCE_PATH}/LICENSE.MIT" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) + +# Handle usage +file(COPY "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/nlohmann-json/usage b/ports/nlohmann-json/usage new file mode 100644 index 00000000000000..19c76d508d09dc --- /dev/null +++ b/ports/nlohmann-json/usage @@ -0,0 +1,12 @@ +The package nlohmann-json provides CMake targets: + + find_package(nlohmann_json CONFIG REQUIRED) + target_link_libraries(main PRIVATE nlohmann_json::nlohmann_json) + +The package nlohmann-json can be configured to not provide implicit conversions via a custom triplet file: + + set(nlohmann-json_IMPLICIT_CONVERSIONS OFF) + +For more information, see the docs here: + + https://json.nlohmann.me/api/macros/json_use_implicit_conversions/ diff --git a/ports/nlohmann-json/vcpkg.json b/ports/nlohmann-json/vcpkg.json index 1b13bdbbcfa783..2329c5b6666ecc 100644 --- a/ports/nlohmann-json/vcpkg.json +++ b/ports/nlohmann-json/vcpkg.json @@ -1,8 +1,10 @@ { "name": "nlohmann-json", - "version-semver": "3.10.4", + "version-semver": "3.11.3", + "port-version": 1, "description": "JSON for Modern C++", "homepage": "https://github.com/nlohmann/json", + "license": "MIT", "dependencies": [ { "name": "vcpkg-cmake", @@ -12,5 +14,10 @@ "name": "vcpkg-cmake-config", "host": true } - ] + ], + "features": { + "diagnostics": { + "description": "Build json_diagnostics" + } + } } diff --git a/ports/nlopt/portfile.cmake b/ports/nlopt/portfile.cmake index e2204c239ff163..28cf33a553ae90 100644 --- a/ports/nlopt/portfile.cmake +++ b/ports/nlopt/portfile.cmake @@ -1,14 +1,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO stevengj/nlopt - REF v2.7.0 - SHA512 3c41cab357b50adf50fe2d6225409ade8c5e8ee3576e3680ab29dded29ed7d328bc3d51d3a50054630159c319dca69e47ff08dc5df891b180b7d7e8fcbc27694 + REF "v${VERSION}" + SHA512 cb294caa5532e11ae0d22ed849705920bbae79f712144c840a5ca865ef8e6a15c6c9540c81ced0c3c05b9f44c360d50f74e235e69d893be34b7e1c5599f07c71 HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DNLOPT_FORTRAN=OFF -DNLOPT_PYTHON=OFF @@ -18,14 +17,16 @@ vcpkg_configure_cmake( -DNLOPT_SWIG=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/nlopt) +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(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 3e895d4a3b2c91..65eee0cd1dfd51 100644 --- a/ports/nlopt/vcpkg.json +++ b/ports/nlopt/vcpkg.json @@ -1,7 +1,16 @@ { "name": "nlopt", - "version-string": "2.7.0", - "port-version": 1, - "description": "a library for nonlinear local and global optimization, for functions with and without gradient information.", - "homepage": "https://github.com/stevengj/nlopt" + "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": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } 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 c0252af8dac02e..00000000000000 --- a/ports/nmap/portfile.cmake +++ /dev/null @@ -1,120 +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_ex( - OUT_SOURCE_PATH 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() - - # 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} - ) - # Build - vcpkg_build_msbuild( - PROJECT_PATH ${SOURCE_PATH}/mswin32/nmap.vcxproj - PLATFORM ${MSBUILD_PLATFORM} - USE_VCPKG_INTEGRATION - ) - - # Install - if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL Release) - file(INSTALL ${SOURCE_PATH}/mswin32/Release/nmap.exe - ${SOURCE_PATH}/mswin32/Release/nmap.pdb - DESTINATION ${CURRENT_PACKAGES_DIR}/tools) - endif() - if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL Debug) - file(INSTALL ${SOURCE_PATH}/mswin32/Debug/nmap.exe - ${SOURCE_PATH}/mswin32/Debug/nmap.pdb - DESTINATION ${CURRENT_PACKAGES_DIR}/tools) - endif() -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}") - - if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL Release) - # 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) - endif() - - if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL Debug) - # 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() - -vcpkg_copy_pdbs() - -# Handle copyright -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/nmap/usage b/ports/nmap/usage deleted file mode 100644 index d910c7d2eca129..00000000000000 --- a/ports/nmap/usage +++ /dev/null @@ -1,5 +0,0 @@ -The package curl 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 6aba23611c541d..00000000000000 --- a/ports/nmap/vcpkg.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "name": "nmap", - "version": "7.70", - "port-version": 5, - "description": "A library for scanning network ports.", - "dependencies": [ - { - "name": "libpcap", - "platform": "!windows" - }, - "libssh2", - "lua", - "openssl", - "pcre", - { - "name": "python2", - "platform": "windows" - }, - { - "name": "winpcap", - "platform": "windows" - }, - "zlib" - ] -} diff --git a/ports/nmslib/portfile.cmake b/ports/nmslib/portfile.cmake index 1ca78c8119ff73..a6f6a0bd4f2a79 100644 --- a/ports/nmslib/portfile.cmake +++ b/ports/nmslib/portfile.cmake @@ -1,5 +1,3 @@ -vcpkg_fail_port_install(ON_ARCH "arm" ON_TARGET "uwp") - vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( diff --git a/ports/nmslib/vcpkg.json b/ports/nmslib/vcpkg.json index 1d53e2e02f4b6a..eb475f07dcdaa7 100644 --- a/ports/nmslib/vcpkg.json +++ b/ports/nmslib/vcpkg.json @@ -1,6 +1,7 @@ { "name": "nmslib", "version": "2.1.1", + "port-version": 1, "description": "Non-Metric Space Library (NMSLIB) is an efficient similarity search library and a toolkit for evaluation of k-NN methods for generic non-metric spaces.", "homepage": "https://github.com/searchivarius/nmslib", "supports": "!(arm | uwp)", diff --git a/ports/nng/portfile.cmake b/ports/nng/portfile.cmake index 60af4ca7e02a6c..cb1631d2d8500f 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 9fcf039b573d153ba9bbc2beb5f11259ddacdcff # v1.5.1 - SHA512 3db2668c3f971dc54156df2a3520645224fbb55460957da35940889c3148cb2cbc67c10cd23b9614ece70235d1f6003618310129eb9c40ced42db058c140dd58 + REF "v${VERSION}" + SHA512 d334264981ce6648537ed1b7fb469fd35fbbf0bea9a276ee23f12e04d1c9b0b4aa3008715a4774b51e9e46fabecf54dd4da95ac10194ed1099cbfbe524747272 HEAD_REF master ) @@ -34,13 +34,13 @@ vcpkg_replace_string( if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) vcpkg_replace_string( - ${CURRENT_PACKAGES_DIR}/include/nng/nng.h + "${CURRENT_PACKAGES_DIR}/include/nng/nng.h" "!defined(NNG_STATIC_LIB)" "1 /* !defined(NNG_STATIC_LIB) */" ) else() vcpkg_replace_string( - ${CURRENT_PACKAGES_DIR}/include/nng/nng.h + "${CURRENT_PACKAGES_DIR}/include/nng/nng.h" "!defined(NNG_STATIC_LIB)" "0 /* !defined(NNG_STATIC_LIB) */" ) @@ -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 c89456dfd6237c..f73e374c71d317 100644 --- a/ports/nng/vcpkg.json +++ b/ports/nng/vcpkg.json @@ -1,9 +1,10 @@ { "name": "nng", - "version-semver": "1.5.1", + "version-semver": "1.9.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/nngpp/portfile.cmake b/ports/nngpp/portfile.cmake index 5da246e5533e5e..ff8074c9d390a7 100644 --- a/ports/nngpp/portfile.cmake +++ b/ports/nngpp/portfile.cmake @@ -6,22 +6,21 @@ vcpkg_from_github( HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DNNGPP_BUILD_DEMOS=OFF -DNNGPP_BUILD_TESTS=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() # Move CMake config files to the right place -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") # Handle copyright -file(INSTALL ${SOURCE_PATH}/license.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/license.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/nngpp/vcpkg.json b/ports/nngpp/vcpkg.json index d7e62a2ea9a7cc..2720e9b0d6d901 100644 --- a/ports/nngpp/vcpkg.json +++ b/ports/nngpp/vcpkg.json @@ -1,10 +1,18 @@ { "name": "nngpp", - "version-string": "1.3.0", - "port-version": 1, + "version": "1.3.0", + "port-version": 3, "description": "C++ wrapper around the nanomsg NNG API.", "homepage": "https://github.com/cwzx/nngpp", "dependencies": [ - "nng" + "nng", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/nnpack/fix-cmakelists.patch b/ports/nnpack/fix-cmakelists.patch index 046443d80279ab..bd80f1000db0c5 100644 --- a/ports/nnpack/fix-cmakelists.patch +++ b/ports/nnpack/fix-cmakelists.patch @@ -42,8 +42,8 @@ index 5ecd2df..8565044 100644 "${CONFU_DEPENDENCIES_BINARY_DIR}/cpuinfo") ENDIF() -TARGET_LINK_LIBRARIES(nnpack PRIVATE cpuinfo) -+find_package(unofficial-cpuinfo CONFIG REQUIRED) -+target_link_libraries(nnpack PUBLIC unofficial::cpuinfo::cpuinfo) ++find_package(cpuinfo CONFIG REQUIRED) ++target_link_libraries(nnpack PUBLIC cpuinfo::cpuinfo) # ---[ Configure pthreadpool -IF(NOT TARGET pthreadpool) diff --git a/ports/nnpack/portfile.cmake b/ports/nnpack/portfile.cmake index 51432669a93dc8..7e3203223b1674 100644 --- a/ports/nnpack/portfile.cmake +++ b/ports/nnpack/portfile.cmake @@ -1,4 +1,3 @@ -vcpkg_fail_port_install(ON_TARGET "Windows") vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Maratyszcza/nnpack @@ -8,16 +7,15 @@ vcpkg_from_github( fix-cmakelists.patch ) -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA OPTIONS -DNNPACK_BACKEND=psimd -DNNPACK_BUILD_TESTS=OFF -DNNPACK_BUILD_BENCHMARKS=OFF -DNNPACK_CUSTOM_THREADPOOL=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/nnpack/vcpkg.json b/ports/nnpack/vcpkg.json index a0e0a4ea211d7c..fe1878175e1b74 100644 --- a/ports/nnpack/vcpkg.json +++ b/ports/nnpack/vcpkg.json @@ -1,15 +1,20 @@ { "name": "nnpack", "version-date": "2021-02-21", - "port-version": 1, + "port-version": 3, "description": "Acceleration package for neural networks on multi-core CPUs", "homepage": "https://github.com/Maratyszcza/NNPACK", - "supports": "linux & osx", + "license": "BSD-2-Clause", + "supports": "linux | osx", "dependencies": [ "cpuinfo", "fp16", "fxdiv", "psimd", - "pthreadpool" + "pthreadpool", + { + "name": "vcpkg-cmake", + "host": true + } ] } diff --git a/ports/node-addon-api/portfile.cmake b/ports/node-addon-api/portfile.cmake new file mode 100644 index 00000000000000..d70301a1bee15f --- /dev/null +++ b/ports/node-addon-api/portfile.cmake @@ -0,0 +1,16 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO nodejs/node-addon-api + REF "v${VERSION}" + SHA512 ff7b712b53479c10ebf34b6723b91a3e70eb946c39fc7feeebc5485a3928f15ce2af92126d3c331e54fbb852bec8286aa5ddd8211f1315f3b133fcede6e2f53c + HEAD_REF main +) + +file(COPY "${SOURCE_PATH}/napi.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include") +file(COPY "${SOURCE_PATH}/napi-inl.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include") +file(COPY "${SOURCE_PATH}/napi-inl.deprecated.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include") + +file(COPY "${CMAKE_CURRENT_LIST_DIR}/unofficial-node-addon-api-config.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/unofficial-${PORT}") + +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/node-addon-api/unofficial-node-addon-api-config.cmake b/ports/node-addon-api/unofficial-node-addon-api-config.cmake new file mode 100644 index 00000000000000..57e2a2625fd60f --- /dev/null +++ b/ports/node-addon-api/unofficial-node-addon-api-config.cmake @@ -0,0 +1,11 @@ +if(NOT TARGET unofficial::node-addon-api::node-addon-api) + include(CMakeFindDependencyMacro) + find_dependency(unofficial-node-api-headers CONFIG) + + add_library(unofficial::node-addon-api::node-addon-api IMPORTED INTERFACE) + target_link_libraries(unofficial::node-addon-api::node-addon-api INTERFACE unofficial::node-api-headers::node-api-headers) + + set_target_properties(unofficial::node-addon-api::node-addon-api PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_CURRENT_LIST_DIR}/../../include/" + ) +endif() diff --git a/ports/node-addon-api/usage b/ports/node-addon-api/usage new file mode 100644 index 00000000000000..152efabd6682e0 --- /dev/null +++ b/ports/node-addon-api/usage @@ -0,0 +1,4 @@ +node-addon-api provides CMake targets: + + find_package(unofficial-node-addon-api CONFIG REQUIRED) + target_link_libraries(main PRIVATE unofficial::node-addon-api::node-addon-api) diff --git a/ports/node-addon-api/vcpkg.json b/ports/node-addon-api/vcpkg.json new file mode 100644 index 00000000000000..74a31d37a82584 --- /dev/null +++ b/ports/node-addon-api/vcpkg.json @@ -0,0 +1,19 @@ +{ + "name": "node-addon-api", + "version": "7.0.0", + "description": "Module for using Node-API from C++", + "homepage": "https://github.com/nodejs/node-addon-api", + "license": "MIT", + "supports": "((windows & !arm) | linux | osx) & !uwp", + "dependencies": [ + "node-api-headers", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/node-api-headers/CMakeLists.txt b/ports/node-api-headers/CMakeLists.txt new file mode 100644 index 00000000000000..8360555407219e --- /dev/null +++ b/ports/node-api-headers/CMakeLists.txt @@ -0,0 +1,15 @@ +project(nodelib C) + +add_custom_target(nodelib ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/node.lib) +add_custom_command( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/node.lib + COMMAND ${CMAKE_AR} + /def:${CMAKE_CURRENT_SOURCE_DIR}/def/node_api.def + /out:${CMAKE_CURRENT_BINARY_DIR}/node.lib + ${CMAKE_STATIC_LINKER_FLAGS} + $<$:${CMAKE_STATIC_LINKER_FLAGS_DEBUG}> + $<$:${CMAKE_STATIC_LINKER_FLAGS_RELEASE}> + COMMENT "Building import library for NodeJS" +) + +install(FILES ${CMAKE_BINARY_DIR}/node.lib DESTINATION lib) diff --git a/ports/node-api-headers/portfile.cmake b/ports/node-api-headers/portfile.cmake new file mode 100644 index 00000000000000..0d01ee222af10c --- /dev/null +++ b/ports/node-api-headers/portfile.cmake @@ -0,0 +1,21 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO nodejs/node-api-headers + REF "v${VERSION}" + SHA512 70871b8fd1fc16f3f525953fd229ceff99110fb604f039e35e44f21d74aa9d50d2d3be1eadc5700bf576fd27e750c71868b273277858195fb6c5739672d4455e + HEAD_REF main +) + +if(VCPKG_TARGET_IS_WINDOWS) + file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") + vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}") + vcpkg_cmake_install() +endif() + +file(INSTALL "${SOURCE_PATH}/include" DESTINATION "${CURRENT_PACKAGES_DIR}/include" RENAME "node") + +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}") + +configure_file("${CMAKE_CURRENT_LIST_DIR}/unofficial-${PORT}-config.cmake.in" "${CURRENT_PACKAGES_DIR}/share/unofficial-${PORT}/unofficial-${PORT}-config.cmake" @ONLY) diff --git a/ports/node-api-headers/unofficial-node-api-headers-config.cmake.in b/ports/node-api-headers/unofficial-node-api-headers-config.cmake.in new file mode 100644 index 00000000000000..7eb5751fcada62 --- /dev/null +++ b/ports/node-api-headers/unofficial-node-api-headers-config.cmake.in @@ -0,0 +1,41 @@ +if(NOT TARGET unofficial::node-api-headers::node-api-headers) + if(WIN32) + add_library(unofficial::node-api-headers::node-api-headers UNKNOWN IMPORTED) + else() + add_library(unofficial::node-api-headers::node-api-headers INTERFACE IMPORTED) + endif() + + set(node-api-headers_INCLUDE_DIR ${CMAKE_CURRENT_LIST_DIR}/../../include/node) + + set_target_properties(unofficial::node-api-headers::node-api-headers PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${node-api-headers_INCLUDE_DIR}" + ) + + if(APPLE) + # setting those properties like cmake-js does + # https://github.com/cmake-js/cmake-js/blob/272ec1883bc1207205abae948022eecdea02e225/lib/toolset.js#L126 + set_target_properties(unofficial::node-api-headers::node-api-headers PROPERTIES + INTERFACE_LINK_OPTIONS "LINKER:SHELL:-undefined dynamic_lookup" + ) + set_target_properties(unofficial::node-api-headers::node-api-headers PROPERTIES + INTERFACE_COMPILE_DEFINITIONS "_DARWIN_USE_64_BIT_INODE=1;_LARGEFILE_SOURCE;_FILE_OFFSET_BITS=64" + ) + endif() + + set_property(TARGET unofficial::node-api-headers::node-api-headers APPEND PROPERTY INTERFACE_COMPILE_DEFINITIONS "BUILDING_NODE_EXTENSION") + + if(WIN32) + find_library(node-api-headers_LIBRARY_RELEASE NAMES node PATHS "${CMAKE_CURRENT_LIST_DIR}/../../lib" NO_DEFAULT_PATH REQUIRED) + set_target_properties(unofficial::node-api-headers::node-api-headers PROPERTIES + IMPORTED_LOCATION_RELEASE "${node-api-headers_LIBRARY_RELEASE}" + IMPORTED_CONFIGURATIONS RELEASE + ) + if("@VCPKG_BUILD_TYPE@" STREQUAL "") + find_library(node-api-headers_LIBRARY_DEBUG NAMES node PATHS "${CMAKE_CURRENT_LIST_DIR}/../../debug/lib" NO_DEFAULT_PATH REQUIRED) + set_target_properties(unofficial::node-api-headers::node-api-headers PROPERTIES + IMPORTED_LOCATION_DEBUG "${node-api-headers_LIBRARY_DEBUG}" + ) + set_property(TARGET unofficial::node-api-headers::node-api-headers APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG) + endif() + endif() +endif() diff --git a/ports/node-api-headers/usage b/ports/node-api-headers/usage new file mode 100644 index 00000000000000..09bf0b37c37955 --- /dev/null +++ b/ports/node-api-headers/usage @@ -0,0 +1,23 @@ +node-api-headers provides CMake targets: + + find_package(unofficial-node-api-headers CONFIG REQUIRED) + target_link_libraries(main PRIVATE unofficial::node-api-headers::node-api-headers) + +Add this to your CMakeLists.txt to build a Node.js addon: + add_library(addon SHARED main.cpp ...) + set_target_properties(addon PROPERTIES OUTPUT_NAME "my-addon" PREFIX "" SUFFIX ".node") + + find_package(unofficial-node-api-headers CONFIG REQUIRED) + target_link_libraries(addon PRIVATE unofficial::node-api-headers::node-api-headers) + +You will be able to load your addon in JavaScript code: + const addon = require("/path/to/addon/my-addon.node"); + +Make sure that your Node.js OS/architecture matches vcpkg triplet you use. + +Also, make sure to register a module in your C/C++ code like official example does: +https://github.com/nodejs/node-addon-examples/blob/main/1_hello_world/napi/hello.c + +This port doesn't have specific functionality for publishing npm packages. + +See https://nodejs.org/api/n-api.html diff --git a/ports/node-api-headers/vcpkg.json b/ports/node-api-headers/vcpkg.json new file mode 100644 index 00000000000000..fb54df90e055bd --- /dev/null +++ b/ports/node-api-headers/vcpkg.json @@ -0,0 +1,20 @@ +{ + "name": "node-api-headers", + "version": "1.1.0", + "description": "NodeJS API for writing modules in C++", + "homepage": "https://nodejs.org/api/addons.html", + "license": "MIT", + "supports": "(windows & !arm & !uwp) | linux | osx", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true, + "platform": "windows" + }, + { + "name": "vcpkg-cmake-config", + "host": true, + "platform": "windows" + } + ] +} diff --git a/ports/nodesoup/fix-cmakelists.patch b/ports/nodesoup/fix-cmakelists.patch new file mode 100644 index 00000000000000..6ea933f570ba59 --- /dev/null +++ b/ports/nodesoup/fix-cmakelists.patch @@ -0,0 +1,28 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index be6aa9d..26e59f3 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -34,7 +34,7 @@ install( + ARCHIVE DESTINATION lib + INCLUDES + DESTINATION include +- PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/nodesoup) ++ PUBLIC_HEADER DESTINATION include) + + include(CMakePackageConfigHelpers) + write_basic_package_version_file( +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index dbd43b9..44164c9 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -5,7 +5,9 @@ add_library(nodesoup::nodesoup ALIAS nodesoup) + target_include_directories( + nodesoup + PUBLIC $ +- PRIVATE $) ++ $ ++ PRIVATE $ ++) + + target_compile_features(nodesoup PUBLIC cxx_std_14) + diff --git a/ports/nodesoup/portfile.cmake b/ports/nodesoup/portfile.cmake new file mode 100644 index 00000000000000..65f53532001ac6 --- /dev/null +++ b/ports/nodesoup/portfile.cmake @@ -0,0 +1,27 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO olvb/nodesoup + REF 3158ad082bb0cd1abee75418b12b35522dbca74f + SHA512 be98cd5a1106fb1b6e6cb6b880229f590c2d4c4cc176dcceb2e2226ff3f2344ccb4510fb3a0911e9329701af50f076ee2efb9a3afc9e985b4d9c3fb92c12102d + HEAD_REF master + PATCHES + fix-cmakelists.patch +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_DEMO=OFF +) + +vcpkg_cmake_install() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +vcpkg_cmake_config_fixup(PACKAGE_NAME nodesoup CONFIG_PATH lib/cmake/nodesoup) + +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/nodesoup/" RENAME copyright) +file(INSTALL "${CURRENT_PORT_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/nodesoup/") diff --git a/ports/nodesoup/usage b/ports/nodesoup/usage new file mode 100644 index 00000000000000..652f4dfda32c6d --- /dev/null +++ b/ports/nodesoup/usage @@ -0,0 +1,4 @@ +The package nodesoup provides CMake targets: + + find_package(nodesoup CONFIG REQUIRED) + target_link_libraries(main PRIVATE nodesoup::nodesoup) diff --git a/ports/nodesoup/vcpkg.json b/ports/nodesoup/vcpkg.json new file mode 100644 index 00000000000000..3b7951ddac7cad --- /dev/null +++ b/ports/nodesoup/vcpkg.json @@ -0,0 +1,16 @@ +{ + "name": "nodesoup", + "version-date": "2023-06-12", + "description": "Force-directed graph layout with Fruchterman-Reingold", + "license": "Unlicense", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/nonius/portfile.cmake b/ports/nonius/portfile.cmake index 9b55dc1a8c9dc1..a2a14594be085c 100644 --- a/ports/nonius/portfile.cmake +++ b/ports/nonius/portfile.cmake @@ -8,19 +8,18 @@ vcpkg_from_github( HEAD_REF master ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/${PORT}) +vcpkg_cmake_config_fixup() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") # Handle copyright -configure_file(${SOURCE_PATH}/COPYING.txt ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) +configure_file("${SOURCE_PATH}/COPYING.txt" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) diff --git a/ports/nonius/vcpkg.json b/ports/nonius/vcpkg.json index 71fef7a085139b..ae3b517b081854 100644 --- a/ports/nonius/vcpkg.json +++ b/ports/nonius/vcpkg.json @@ -1,11 +1,19 @@ { "name": "nonius", - "version-string": "2019-04-20", - "port-version": 2, + "version-date": "2019-04-20", + "port-version": 4, "description": "A C++ micro-benchmarking framework", "dependencies": [ "boost-algorithm", "boost-lexical-cast", - "boost-math" + "boost-math", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/nowide/portfile.cmake b/ports/nowide/portfile.cmake index 48af04d8ce7f72..c251db04d5cdf0 100644 --- a/ports/nowide/portfile.cmake +++ b/ports/nowide/portfile.cmake @@ -1,24 +1,23 @@ vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/boostorg/nowide/releases/download/v11.1.2/nowide_standalone_v11.1.2.tar.gz" - FILENAME "nowide_standalone_v11.1.2.tar.gz" - SHA512 8a4dcd6ead15b2b0eeabaccd306df88c54b282bbef33aca3d8303be86b39de5958f2f11b8f8e00e6f0190ece8f90f940e26d0b702323b7b005ea21dd8bae6393 + URLS "https://github.com/boostorg/nowide/releases/download/v${VERSION}/nowide_standalone_v${VERSION}.tar.gz" + FILENAME "nowide_standalone_v${VERSION}.tar.gz" + SHA512 68e4d4b11db7265bf91e90b16e35ef2ea3a8ad80031b122067393a4cb89e20e26bacff81c7abddfc7a84d22c0d545875d7ba40b0288c665fb82028f08f957524 ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH +vcpkg_extract_source_archive( + SOURCE_PATH ARCHIVE ${ARCHIVE} ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_TESTING=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/nowide TARGET_PATH share/${PORT}) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/nowide) 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/nowide/vcpkg.json b/ports/nowide/vcpkg.json index 8635a7cd9fe8eb..311b6e35e11e11 100644 --- a/ports/nowide/vcpkg.json +++ b/ports/nowide/vcpkg.json @@ -1,6 +1,16 @@ { "name": "nowide", - "version": "11.1.2", + "version": "11.3.0", "description": "Boost nowide module (standalone)", - "homepage": "https://github.com/boostorg/nowide" + "homepage": "https://github.com/boostorg/nowide", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/nrf-ble-driver/gcc-11.2.0-compilation.patch b/ports/nrf-ble-driver/gcc-11.2.0-compilation.patch new file mode 100644 index 00000000000000..5fc659e342e504 --- /dev/null +++ b/ports/nrf-ble-driver/gcc-11.2.0-compilation.patch @@ -0,0 +1,22 @@ +From 00791acc7c23ac2421102edd42a7fa562cc98bfd Mon Sep 17 00:00:00 2001 +From: Krzysztof Rosinski +Date: Wed, 29 Dec 2021 09:47:40 +0100 +Subject: [PATCH] fix compilation issue (gcc-11.2.0) + +error: 'sleep_for' is not a member of 'std::this_thread' +--- + src/common/transport/uart_transport.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/common/transport/uart_transport.cpp b/src/common/transport/uart_transport.cpp +index 1f063ff2..96e045fb 100644 +--- a/src/common/transport/uart_transport.cpp ++++ b/src/common/transport/uart_transport.cpp +@@ -45,6 +45,7 @@ + #include + #include + #include ++#include + + #if defined(__APPLE__) + #include diff --git a/ports/nrf-ble-driver/portfile.cmake b/ports/nrf-ble-driver/portfile.cmake index 22ae9c4af8c11d..ad997c97122106 100644 --- a/ports/nrf-ble-driver/portfile.cmake +++ b/ports/nrf-ble-driver/portfile.cmake @@ -9,44 +9,57 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO NordicSemiconductor/pc-ble-driver - REF v4.1.2 - SHA512 625a52151f2c78421e48e90ff60292c6106e8504b55a26c7df716df75e051a40d2ee4a26c57b5daaa370e53a79002fe965aee8a0d8749f7dce380e8e4a617c95 + REF v${VERSION}-hex + SHA512 1e8b5882aa3754a29a8f0ec11b8e70390db7ddf7bc50e1318adaaf4cd1ba2b787129d8003f8076ad39c35ec887ef3aeadbcb23fa5100b2be24956d118370cb84 HEAD_REF master PATCHES 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 ) # Ensure that git is found within CMakeLists.txt by appending vcpkg's git executable dirpath to $PATH. # Git should always be available as it is downloaded during the bootstrap phase. # Append instead of prepend to $PATH to honor the user's git executable as a general rule. -find_program(GIT NAMES git git.cmd) -get_filename_component(GIT_EXE_DIRPATH "${GIT}" DIRECTORY) -set(ENV{PATH} "$ENV{PATH};${GIT_EXE_DIRPATH}") - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS -DDISABLE_EXAMPLES= -DDISABLE_TESTS= -DNRF_BLE_DRIVER_VERSION=4.1.2 -DCONNECTIVITY_VERSION=4.1.2 +vcpkg_find_acquire_program(GIT) +get_filename_component(GIT_EXE_PATH "${GIT}" DIRECTORY) +vcpkg_add_to_path("${GIT_EXE_PATH}") + +set(OPTIONS) +if (VCPKG_TARGET_IS_OSX AND VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") + set(OPTIONS "-DARCH=${VCPKG_TARGET_ARCHITECTURE}") +endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DDISABLE_EXAMPLES=ON + -DDISABLE_TESTS=ON + -DNRF_BLE_DRIVER_VERSION=${VERSION} + -DCONNECTIVITY_VERSION=${VERSION} + ${OPTIONS} + MAYBE_UNUSED_VARIABLES + DISABLE_EXAMPLES + DISABLE_TESTS ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets() +vcpkg_cmake_config_fixup() # Copy hex files into shared folder for package foreach(HEX_DIR IN ITEMS "sd_api_v2" "sd_api_v3" "sd_api_v5" "sd_api_v6") set(TARGET_DIRECTORY "${CURRENT_PACKAGES_DIR}/share/${PORT}/hex/${HEX_DIR}") - file(MAKE_DIRECTORY ${TARGET_DIRECTORY}) - file(INSTALL "${SOURCE_PATH}/hex/${HEX_DIR}" DESTINATION ${TARGET_DIRECTORY}/..) + file(MAKE_DIRECTORY "${TARGET_DIRECTORY}") + file(INSTALL "${SOURCE_PATH}/hex/${HEX_DIR}" DESTINATION "${TARGET_DIRECTORY}/..") endforeach() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/LICENSE) -file(REMOVE ${CURRENT_PACKAGES_DIR}/LICENSE) +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 ${CURRENT_PACKAGES_DIR}/debug/bin) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") endif() -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/nrf-ble-driver/support-arm64-osx.diff b/ports/nrf-ble-driver/support-arm64-osx.diff new file mode 100644 index 00000000000000..37e22bcf194707 --- /dev/null +++ b/ports/nrf-ble-driver/support-arm64-osx.diff @@ -0,0 +1,78 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ec7b4d2d7..16c136958 100755 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -298,7 +298,17 @@ include (cmake/clang-dev-tools.cmake) + set(ARCH_SUFFIX "unknown") + + if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8") +- set(ARCH_SUFFIX "x86_64") ++ if(APPLE) ++ if(${ARCH} STREQUAL not_set OR ${ARCH} STREQUAL x86_64) ++ set(ARCH_SUFFIX "x86_64") ++ elseif(${ARCH} STREQUAL arm64) ++ set(ARCH_SUFFIX "arm64") ++ else() ++ message(FATAL_ERROR "Invalid ARCH_SUFFIX: ARCH=${ARCH}.") ++ endif() ++ else() ++ set(ARCH_SUFFIX "x86_64") ++ endif() + else() + set(ARCH_SUFFIX "x86_32") + endif() +diff --git a/cmake/apple.cmake b/cmake/apple.cmake +index c413cfa7e..cef762cf1 100644 +--- a/cmake/apple.cmake ++++ b/cmake/apple.cmake +@@ -1,4 +1,13 @@ +-set(CMAKE_OSX_ARCHITECTURES "x86_64") ++if(${ARCH} STREQUAL not_set) ++ message(STATUS "macOS Architecture not set, using x86_64 as default.") ++ SET(CMAKE_OSX_ARCHITECTURES "x86_64") ++else() ++ if(${ARCH} STREQUAL x86_64 OR ${ARCH} STREQUAL arm64) ++ set(CMAKE_OSX_ARCHITECTURES "${ARCH}") ++ else() ++ message(FATAL_ERROR "Invalid CMAKE_OSX_ARCHITECTURES: ARCH=${ARCH}.") ++ endif() ++endif() + + set(CMAKE_SKIP_BUILD_RPATH TRUE) + set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE) +diff --git a/cmake/nrf-ble-driver.cmake b/cmake/nrf-ble-driver.cmake +index d81608c72..467afd0e9 100644 +--- a/cmake/nrf-ble-driver.cmake ++++ b/cmake/nrf-ble-driver.cmake +@@ -8,7 +8,7 @@ math(EXPR COMPILER_ARCH_BITS "8*${CMAKE_SIZEOF_VOID_P}") + # Default to compiler architecture + set(ARCH_BITS ${COMPILER_ARCH_BITS}) + +-SET(ARCH not_set CACHE STRING "Architecture (x86_32 or x86_64)") ++SET(ARCH not_set CACHE STRING "Architecture (x86_32, x86_64, arm or arm64)") + string(TOLOWER "${ARCH}" ARCH) + + if(${ARCH} STREQUAL not_set) +@@ -16,17 +16,19 @@ if(${ARCH} STREQUAL not_set) + else() + if(MSVC) + message(FATAL_ERROR "ARCH not available with MSVC. Use -G \"Visual Studio XX \" instead.") +- elseif(APPLE) +- message(FATAL_ERROR "ARCH not available on macOS / OS X. Universal 32 and 64-bit binaries will be built.") + endif() + if(${ARCH} STREQUAL x86_32) + set(ARCH_BITS 32) + elseif(${ARCH} STREQUAL x86_64) + set(ARCH_BITS 64) ++ elseif(${ARCH} STREQUAL arm) ++ set(ARCH_BITS 32) ++ elseif(${ARCH} STREQUAL arm64) ++ set(ARCH_BITS 64) + else() + message(FATAL_ERROR "Invalid architecture: ARCH=${ARCH}.") + endif() +- message(STATUS "Building ${ARCH_BITS}-bit targets with ${COMPILER_ARCH_BITS}-bit toolchain.") ++ message(STATUS "Building ${ARCH} ${ARCH_BITS}-bit targets with ${COMPILER_ARCH_BITS}-bit toolchain.") + endif() + + if(NOT MSVC) diff --git a/ports/nrf-ble-driver/vcpkg.json b/ports/nrf-ble-driver/vcpkg.json index 07176c46608bd9..fac748f0e687e1 100644 --- a/ports/nrf-ble-driver/vcpkg.json +++ b/ports/nrf-ble-driver/vcpkg.json @@ -1,12 +1,22 @@ { "name": "nrf-ble-driver", - "version-string": "4.1.2", + "version": "4.1.4", "port-version": 1, "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", + "supports": "!uwp", "dependencies": [ "asio", - "catch2", "cli11", - "spdlog" + "spdlog", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/nspr/portfile.cmake b/ports/nspr/portfile.cmake new file mode 100644 index 00000000000000..5735dede5d78c5 --- /dev/null +++ b/ports/nspr/portfile.cmake @@ -0,0 +1,99 @@ + +vcpkg_download_distfile(ARCHIVE + URLS "https://releases.mozilla.org/pub/nspr/releases/v${VERSION}/src/nspr-${VERSION}.tar.gz" + FILENAME "nspr-${VERSION}.tar.gz" + SHA512 502815833116e25f79ddf71d1526484908aa92fbc55f8a892729cb404a4daafcc0470a89854cd080d2d20299fdb7d9662507c5362c7ae661cbacf308ac56ef7f +) + +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE ${ARCHIVE} + SOURCE_BASE "${VERSION}" +) + +set(MOZBUILD_ROOT "${CURRENT_HOST_INSTALLED_DIR}/tools/mozbuild") + +set(MOZBUILD_BINDIR "${MOZBUILD_ROOT}/bin") +vcpkg_add_to_path("${MOZBUILD_BINDIR}") + +set(MOZBUILD_MSYS_ROOT "${MOZBUILD_ROOT}/msys") +vcpkg_add_to_path(PREPEND "${MOZBUILD_MSYS_ROOT}") + +set(OPTIONS "") +if (VCPKG_CRT_LINKAGE STREQUAL "dynamic") + list(APPEND OPTIONS "--disable-static-rtl") +else() + list(APPEND OPTIONS "--enable-static-rtl") +endif() + +list(APPEND OPTIONS "--enable-win32-target=win95") + +if (VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + list(APPEND OPTIONS "--enable-64bit") +elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + list(APPEND OPTIONS "--disable-64bit") +else() + message(FATAL_ERROR "Unsupported arch: ${VCPKG_TARGET_ARCHITECTURE}") +endif() + +set(OPTIONS_DEBUG + "--enable-debug-rtl" +) + +set(OPTIONS_RELEASE + "--disable-debug-rtl" +) + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + CONFIGURE_ENVIRONMENT_VARIABLES CC CXX LD + PROJECT_SUBPATH "nspr" + OPTIONS ${OPTIONS} + OPTIONS_DEBUG ${OPTIONS_DEBUG} + OPTIONS_RELEASE ${OPTIONS_RELEASE} + DISABLE_VERBOSE_FLAGS +) +vcpkg_install_make() +vcpkg_copy_pdbs() + +# +# VCPKG FHS adjustments +# + +# Release +if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + file(GLOB BIN_RELEASE "${CURRENT_PACKAGES_DIR}/lib/*.dll" "${CURRENT_PACKAGES_DIR}/lib/*.pdb") + list(LENGTH BIN_RELEASE BIN_RELEASE_SIZE) + if (BIN_RELEASE_SIZE GREATER 0) + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/bin") + + foreach(path ${BIN_RELEASE}) + get_filename_component(name "${path}" NAME) + file(RENAME "${CURRENT_PACKAGES_DIR}/lib/${name}" "${CURRENT_PACKAGES_DIR}/bin/${name}") + endforeach() + endif() +endif() + +# Debug +if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + file(GLOB BIN_DEBUG "${CURRENT_PACKAGES_DIR}/debug/lib/*.dll" "${CURRENT_PACKAGES_DIR}/debug/lib/*.pdb") + list(LENGTH BIN_DEBUG BIN_DEBUG_SIZE) + if (BIN_DEBUG_SIZE GREATER 0) + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/bin") + + foreach(path IN LISTS BIN_DEBUG) + get_filename_component(name "${path}" NAME) + file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/${name}" "${CURRENT_PACKAGES_DIR}/debug/bin/${name}") + endforeach() + endif() +endif() + +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin/nspr-config" "${CURRENT_INSTALLED_DIR}" "`dirname $0`/../../..") + +if(NOT VCPKG_BUILD_TYPE) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug/bin/nspr-config" "${CURRENT_INSTALLED_DIR}/debug" "`dirname $0`/../../../..") +endif() + +# Copy license +file(INSTALL "${SOURCE_PATH}/nspr/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/nspr/vcpkg.json b/ports/nspr/vcpkg.json new file mode 100644 index 00000000000000..8d5c7115ee2964 --- /dev/null +++ b/ports/nspr/vcpkg.json @@ -0,0 +1,15 @@ +{ + "name": "nspr", + "version": "4.35", + "port-version": 4, + "description": "Netscape portable runtime", + "homepage": "https://releases.mozilla.org/pub/nspr/", + "license": "MPL-2.0", + "supports": "windows & !(arm | uwp | static | xbox)", + "dependencies": [ + { + "name": "vcpkg-tool-mozbuild", + "host": true + } + ] +} diff --git a/ports/nss/01-nspr-no-lib-prefix.patch b/ports/nss/01-nspr-no-lib-prefix.patch new file mode 100644 index 00000000000000..0351c0db6ac91f --- /dev/null +++ b/ports/nss/01-nspr-no-lib-prefix.patch @@ -0,0 +1,12 @@ +diff -ur x64-windows-rel/nss/coreconf/config.gypi src/3.66-485ec2a7fc.clean/nss/coreconf/config.gypi +--- a/nss/coreconf/config.gypi 2021-05-28 02:50:43.000000000 -0700 ++++ b/nss/coreconf/config.gypi 2021-11-09 07:51:35.884650900 -0800 +@@ -44,7 +44,7 @@ + }], + ['OS=="win"', { + 'use_system_zlib%': 0, +- 'nspr_libs%': ['libnspr4.lib', 'libplc4.lib', 'libplds4.lib'], ++ 'nspr_libs%': ['nspr4.lib', 'plc4.lib', 'plds4.lib'], + 'zlib_libs%': [], + #TODO + 'moz_debug_flags%': '', diff --git a/ports/nss/02-gen-debug-info-for-release.patch b/ports/nss/02-gen-debug-info-for-release.patch new file mode 100644 index 00000000000000..435abea2d86478 --- /dev/null +++ b/ports/nss/02-gen-debug-info-for-release.patch @@ -0,0 +1,15 @@ +diff -ur +--- a/nss/coreconf/config.gypi 2021-11-09 22:46:52.555246500 -0800 ++++ b/nss/coreconf/config.gypi 2021-11-10 00:49:48.044560100 -0800 +@@ -638,9 +638,11 @@ + 'VCCLCompilerTool': { + 'Optimization': '<(release_optimization_level)', + 'RuntimeLibrary': '2', # /MD ++ 'DebugInformationFormat': '3', + }, + 'VCLinkerTool': { + 'LinkIncremental': '1', ++ 'GenerateDebugInformation' : 'true', + }, + }, + }, 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 new file mode 100644 index 00000000000000..7ed61e861c2d42 --- /dev/null +++ b/ports/nss/portfile.cmake @@ -0,0 +1,236 @@ + +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 8ae032f3cb8eadfe524505d20e430b90ed25af2b4732b2cf286c435b0fcd5701d2f5c48bd2cfb3f9aa0bfdf503c1f3d5394cf34f860f51a1141cc4a7586bba32 +) + +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE ${ARCHIVE} + SOURCE_BASE "${VERSION}" + 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 +if (VCPKG_TARGET_IS_WINDOWS) + set(MOZBUILD_ROOT "${CURRENT_HOST_INSTALLED_DIR}/tools/mozbuild") + + set(MOZBUILD_BINDIR "${MOZBUILD_ROOT}/bin") + vcpkg_add_to_path(PREPEND "${MOZBUILD_BINDIR}") + + set(MOZBUILD_MSYS_ROOT "${MOZBUILD_ROOT}/msys2") + vcpkg_add_to_path(PREPEND "${MOZBUILD_MSYS_ROOT}/usr/bin") + + # setup mozbuild + find_program(MOZBUILD_ENV env PATHS "${MOZBUILD_MSYS_ROOT}/usr/bin" NO_DEFAULT_PATH REQUIRED) + execute_process( + COMMAND ${MOZBUILD_ENV} mkdir -p /tmp + ) + + find_program(MOZBUILD_BASH bash PATHS "${MOZBUILD_MSYS_ROOT}/usr/bin" NO_DEFAULT_PATH REQUIRED) + message(STATUS "Found bash: ${MOZBUILD_BASH}") + + # setup mozbuild python + set(MOZBUILD_PYTHON_ROOT "${MOZBUILD_ROOT}/python3") + find_program(MOZBUILD_PYTHON python PATHS "${MOZBUILD_PYTHON_ROOT}" NO_DEFAULT_PATH REQUIRED) + message(STATUS "Found python: ${MOZBUILD_PYTHON}") + vcpkg_add_to_path(PREPEND "${MOZBUILD_PYTHON_ROOT}") + + # setup paths + execute_process( + COMMAND ${MOZBUILD_BASH} -c pwd + WORKING_DIRECTORY ${CURRENT_INSTALLED_DIR}/include + OUTPUT_VARIABLE VCPKG_INCLUDEDIR + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + message(STATUS "Using headers from: ${VCPKG_INCLUDEDIR} arch: ${VCPKG_TARGET_ARCHITECTURE}") + + execute_process( + COMMAND ${MOZBUILD_BASH} -c pwd + WORKING_DIRECTORY ${CURRENT_INSTALLED_DIR}/lib + OUTPUT_VARIABLE VCPKG_LIBDIR + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + message(STATUS "Using libraries from: ${VCPKG_LIBDIR} arch: ${VCPKG_TARGET_ARCHITECTURE}") + +else() + # TODO: setup non-windows build environment + +endif() + +# setup gyp-next +set(GYP_NEXT_ROOT "${CURRENT_HOST_INSTALLED_DIR}/tools/gyp-next") +if (VCPKG_HOST_IS_WINDOWS) + find_file(GYP_NEXT NAMES gyp.bat PATHS "${GYP_NEXT_ROOT}" NO_DEFAULT_PATH REQUIRED) +else() + find_program(GYP_NEXT NAMES gyp PATHS "${GYP_NEXT_ROOT}" NO_DEFAULT_PATH REQUIRED) +endif() + +vcpkg_add_to_path(PREPEND "${GYP_NEXT_ROOT}") +message(STATUS "Found gyp-next: ${GYP_NEXT}") + +# setup ninja +vcpkg_find_acquire_program(NINJA) +get_filename_component(NINJA_ROOT "${NINJA}" DIRECTORY) +list(APPEND CMAKE_PROGRAM_PATH "${NINJA_ROOT}") +vcpkg_add_to_path(APPEND "${NINJA_ROOT}") + +# setup build.sh options -- see help.txt in nss root +set(OPTIONS + "-v" + "-g" + "--disable-tests" + "--with-nspr=${VCPKG_INCLUDEDIR}/nspr:${VCPKG_LIBDIR}" + "--system-sqlite" + "-Dsign_libs=0" +) + +if (VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + list(APPEND OPTIONS "--target=x64") +elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + list(APPEND OPTIONS "--target=ia32") +else() + message(FATAL_ERROR "Unsupported arch: ${VCPKG_TARGET_ARCHITECTURE}") +endif() + +if (VCPKG_TARGET_IS_WINDOWS) + list(APPEND OPTIONS + "--msvc" + ) + + # prevent homemade vcvarsall.sh from running + set(VSCOMPONENT "Microsoft.VisualStudio.Component.VC.Tools.x86.x64") + execute_process( + COMMAND ${MOZBUILD_ENV} cygpath --unix $ENV{VSINSTALLDIR} + OUTPUT_VARIABLE GYP_MSVS_OVERRIDE_PATH + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + + execute_process( + COMMAND vswhere -latest -requires ${VSCOMPONENT} -property catalog_productLineVersion + OUTPUT_VARIABLE GYP_MSVS_VERSION + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + + list(APPEND GYPENV + "PYTHONUTF8=1" + "VSPATH=${GYP_MSVS_OVERRIDE_PATH}" + "GYP_MSVS_OVERRIDE_PATH=${GYP_MSVS_OVERRIDE_PATH}" + "GYP_MSVS_VERSION=${GYP_MSVS_VERSION}" + ) +endif() + +# +# get to work +# + +set(VCPKG_BINARY_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}") + +# build debug +if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + message(STATUS "Copying sources to debug build dir ...") + file(COPY "${SOURCE_PATH}/nss" DESTINATION "${VCPKG_BINARY_DIR}-dbg") + message(STATUS "Building debug ...") + vcpkg_execute_required_process( + COMMAND ${MOZBUILD_ENV} ${GYPENV} bash ./build.sh ${OPTIONS} + WORKING_DIRECTORY ${VCPKG_BINARY_DIR}-dbg/nss + LOGNAME build-${TARGET_TRIPLET}${short_buildtype} + ) +endif() + +# build release +if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + message(STATUS "Copying sources to release build dir ...") + file(COPY "${SOURCE_PATH}/nss" DESTINATION "${VCPKG_BINARY_DIR}-rel") + message(STATUS "Building release ...") + vcpkg_execute_required_process( + COMMAND ${MOZBUILD_ENV} ${GYPENV} bash ./build.sh ${OPTIONS} --opt + WORKING_DIRECTORY ${VCPKG_BINARY_DIR}-rel/nss + LOGNAME build-${TARGET_TRIPLET}${short_buildtype} + ) +endif() + +# +# VCPKG FHS adjustments +# + +# Headers +file( + COPY "${VCPKG_BINARY_DIR}-rel/dist/public/nss" + DESTINATION "${CURRENT_PACKAGES_DIR}/include" +) + +file( + COPY "${VCPKG_BINARY_DIR}-rel/dist/private/nss/" + DESTINATION "${CURRENT_PACKAGES_DIR}/include/nss/private" +) + +# Release libraries +file(GLOB LIB_RELEASE + "${VCPKG_BINARY_DIR}-rel/dist/Release/lib/*.dll" + "${VCPKG_BINARY_DIR}-rel/dist/Release/lib/*.pdb" +) +list(LENGTH LIB_RELEASE LIB_RELEASE_SIZE) + +if (LIB_RELEASE_SIZE GREATER 0) + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/bin") + + foreach(path ${LIB_RELEASE}) + get_filename_component(name "${path}" NAME) + file(RENAME "${path}" "${CURRENT_PACKAGES_DIR}/bin/${name}") + endforeach() + + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/lib") + file(COPY "${VCPKG_BINARY_DIR}-rel/dist/Release/lib" DESTINATION "${CURRENT_PACKAGES_DIR}") +endif() + +# Tools from the release build +vcpkg_copy_tools( + TOOL_NAMES + "certutil" + "cmsutil" + "crlutil" + "hw-support" + "modutil" + "nss" + "pk12util" + "pwdecrypt" + "shlibsign" + "signtool" + "signver" + "ssltap" + "symkeyutil" + "validation" + SEARCH_DIR "${VCPKG_BINARY_DIR}-rel/dist/Release/bin/" + DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}" +) + +# Debug libraries +if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + file(GLOB LIB_DEBUG + "${VCPKG_BINARY_DIR}-dbg/dist/Debug/lib/*.dll" + "${VCPKG_BINARY_DIR}-dbg/dist/Debug/lib/*.pdb" + ) + list(LENGTH LIB_DEBUG LIB_DEBUG_SIZE) + + if (LIB_DEBUG_SIZE GREATER 0) + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/bin") + + foreach(path ${LIB_DEBUG}) + get_filename_component(name "${path}" NAME) + file(RENAME "${path}" "${CURRENT_PACKAGES_DIR}/debug/bin/${name}") + endforeach() + + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/lib") + file(COPY "${VCPKG_BINARY_DIR}-dbg/dist/Debug/lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug") + endif() +endif() + +# License +file(INSTALL "${SOURCE_PATH}/nss/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/nss" RENAME copyright) diff --git a/ports/nss/vcpkg.json b/ports/nss/vcpkg.json new file mode 100644 index 00000000000000..de7b721cdec4fc --- /dev/null +++ b/ports/nss/vcpkg.json @@ -0,0 +1,21 @@ +{ + "name": "nss", + "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", + "supports": "windows & !arm & !xbox", + "dependencies": [ + "nspr", + "sqlite3", + { + "name": "vcpkg-tool-gyp-next", + "host": true + }, + { + "name": "vcpkg-tool-mozbuild", + "host": true + } + ] +} 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 65abd9c87f5239..60c2c0d5e13895 100644 --- a/ports/nsync/portfile.cmake +++ b/ports/nsync/portfile.cmake @@ -5,21 +5,24 @@ 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 ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DNSYNC_ENABLE_TESTS=OFF ) -vcpkg_install_cmake() +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() -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/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/nsync/vcpkg.json b/ports/nsync/vcpkg.json index 292da006c9059a..d562db0210f8fe 100644 --- a/ports/nsync/vcpkg.json +++ b/ports/nsync/vcpkg.json @@ -1,6 +1,17 @@ { "name": "nsync", - "version": "1.24.0", + "version": "1.29.2", "description": "nsync is a C library that exports various synchronization primitives, such as mutexes", - "homepage": "https://github.com/google/nsync" + "homepage": "https://github.com/google/nsync", + "license": "Apache-2.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/nt-wrapper/portfile.cmake b/ports/nt-wrapper/portfile.cmake index 78c84358d74895..be589441ad9611 100644 --- a/ports/nt-wrapper/portfile.cmake +++ b/ports/nt-wrapper/portfile.cmake @@ -8,16 +8,15 @@ vcpkg_from_github( HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_TESTING=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") # Handle copyright -configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) +configure_file("${SOURCE_PATH}/LICENSE" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) diff --git a/ports/nt-wrapper/vcpkg.json b/ports/nt-wrapper/vcpkg.json index 7504ae1903e74c..eef5e82c372ccb 100644 --- a/ports/nt-wrapper/vcpkg.json +++ b/ports/nt-wrapper/vcpkg.json @@ -1,7 +1,13 @@ { "name": "nt-wrapper", - "version-string": "2019-08-10", - "port-version": 1, + "version-date": "2019-08-10", + "port-version": 3, "description": "A header only wrapper library around native windows system APIs", - "homepage": "https://github.com/JustasMasiulis/nt_wrapper" + "homepage": "https://github.com/JustasMasiulis/nt_wrapper", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/ntf-core/dont-use-lib64.patch b/ports/ntf-core/dont-use-lib64.patch new file mode 100644 index 00000000000000..89cd0dae4c40a9 --- /dev/null +++ b/ports/ntf-core/dont-use-lib64.patch @@ -0,0 +1,17 @@ +diff --git a/repository.cmake b/repository.cmake +index 9b6c699..ed2ce32 100644 +--- a/repository.cmake ++++ b/repository.cmake +@@ -1737,11 +1737,7 @@ function (ntf_group_end) + + ntf_ufid_string_has(UFID ${build_ufid} FLAG "64" OUTPUT is_64_bit) + +- if (${is_64_bit} AND NOT "${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin") +- set(lib_name "lib64" CACHE INTERNAL "") +- else() +- set(lib_name "lib" CACHE INTERNAL "") +- endif() ++ set(lib_name "lib" CACHE INTERNAL "") + + # Set the relative path to the library directory under the prefix. For + # example: lib64 diff --git a/ports/ntf-core/portfile.cmake b/ports/ntf-core/portfile.cmake new file mode 100644 index 00000000000000..569f8d922324d5 --- /dev/null +++ b/ports/ntf-core/portfile.cmake @@ -0,0 +1,71 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO bloomberg/ntf-core + REF "${VERSION}" + SHA512 57662d2dd105b2781e580623c26cd7bde84fce8374bbd70c18595a5f6934869b7a570f0d3c2e17e115f6c7eb1067541f8d19523639815b285324061f807d3179 + HEAD_REF main + PATCHES dont-use-lib64.patch +) + +# ntf-core requires debugger information to for dev tooling purposes, so we just fake it +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS "-DNTF_BUILD_WITH_USAGE_EXAMPLES=0" + "-DNTF_TOOLCHAIN_DEBUGGER_PATH=NOT-FOUND" +) + +vcpkg_cmake_build() + +vcpkg_cmake_install() + +function(fix_pkgconfig_ufid lib_dir ufid pc_name) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/${lib_dir}/pkgconfig/${pc_name}.pc" "/${ufid}" "") + if ("${ufid}" MATCHES opt) + set(build_mode "release") + else() + set(build_mode "debug") + endif() + + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/${lib_dir}/cmake/${pc_name}Targets-${build_mode}.cmake" "/${ufid}" "") +endfunction() + +function(fix_install_dir lib_dir ufid) + message(STATUS "Fixing ufid layout for ${CURRENT_PACKAGES_DIR}/${lib_dir}/${ufid}") + file(RENAME "${CURRENT_PACKAGES_DIR}/${lib_dir}/${ufid}" "${CURRENT_PACKAGES_DIR}/tmp") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/${lib_dir}") + file(RENAME "${CURRENT_PACKAGES_DIR}/tmp" "${CURRENT_PACKAGES_DIR}/${lib_dir}") + + fix_pkgconfig_ufid("${lib_dir}" "${ufid}" "nts") + fix_pkgconfig_ufid("${lib_dir}" "${ufid}" "ntc") +endfunction() + +fix_install_dir("lib" "opt_exc_mt") +fix_install_dir("debug/lib" "dbg_exc_mt") + +# The ntf-core build installs CMake configs for both targets into share/ntf-core, which +# find_package will not be able to find on its own. We use vcpkg_cmake_config_fixup to install +# CMake configs into share/nts, and then move the ntc CMake configs into share/ntc with this +# function. +function(ntf_core_fixup_ntc_config) + set(nts_share "${CURRENT_PACKAGES_DIR}/share/nts") + set(ntc_share "${CURRENT_PACKAGES_DIR}/share/ntc") + file(GLOB ntc_configs "${nts_share}/ntc*.cmake") + file(MAKE_DIRECTORY "${ntc_share}") + foreach(ntc_config IN LISTS ntc_configs) + file(RELATIVE_PATH ntc_config_rel "${nts_share}" "${ntc_config}") + file(RENAME "${ntc_config}" "${ntc_share}/${ntc_config_rel}") + endforeach() +endfunction() + +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake" PACKAGE_NAME nts) +ntf_core_fixup_ntc_config() + +# Handle copyright +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") +vcpkg_fixup_pkgconfig() + +# Usage +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + diff --git a/ports/ntf-core/usage b/ports/ntf-core/usage new file mode 100644 index 00000000000000..e20af2f2fd3308 --- /dev/null +++ b/ports/ntf-core/usage @@ -0,0 +1,9 @@ +The package ntf-core provides the CMake targets: + + # Blocking and non-blocking sockets for network programming + find_package(nts CONFIG REQUIRED) + target_link_libraries(main PRIVATE nts) + + # Asynchronous sockets, timers, event loops, and thread pools for network programming + find_package(ntc CONFIG REQUIRED) + target_link_libraries(main PRIVATE ntc) diff --git a/ports/ntf-core/vcpkg.json b/ports/ntf-core/vcpkg.json new file mode 100644 index 00000000000000..13b983626d77ef --- /dev/null +++ b/ports/ntf-core/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "ntf-core", + "version": "2.1.0", + "port-version": 1, + "description": "The Network Transport Framework: Core Libraries", + "license": "Apache-2.0", + "dependencies": [ + "bde", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/nu-book-zxing-cpp/portfile.cmake b/ports/nu-book-zxing-cpp/portfile.cmake new file mode 100644 index 00000000000000..4b3269819382d8 --- /dev/null +++ b/ports/nu-book-zxing-cpp/portfile.cmake @@ -0,0 +1,34 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO zxing-cpp/zxing-cpp + REF "v${VERSION}" + SHA512 f1de8df783061a152a18cd9102ac0c579c40c76ab4a5ba9f30bcb8ddb532f3fac08736840a631adbf7c30a7fa00ce8d65625c8cd695288620601708e8f256a53 + 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_cmake_config_fixup( + CONFIG_PATH lib/cmake/ZXing + PACKAGE_NAME ZXing +) + +file(READ "${CURRENT_PACKAGES_DIR}/share/ZXing/ZXingConfig.cmake" _contents) +file(WRITE "${CURRENT_PACKAGES_DIR}/share/ZXing/ZXingConfig.cmake" " +include(CMakeFindDependencyMacro) +find_dependency(Threads) +${_contents}") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/nu-book-zxing-cpp/vcpkg.json b/ports/nu-book-zxing-cpp/vcpkg.json new file mode 100644 index 00000000000000..c1669e0c634bc2 --- /dev/null +++ b/ports/nu-book-zxing-cpp/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "nu-book-zxing-cpp", + "version": "2.2.1", + "description": "Barcode detection and decoding library.", + "homepage": "https://github.com/zxing-cpp/zxing-cpp", + "license": "Apache-2.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/nuklear/CMakeLists.txt b/ports/nuklear/CMakeLists.txt index 28009f466b754b..eba91e1fd03c80 100644 --- a/ports/nuklear/CMakeLists.txt +++ b/ports/nuklear/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.16) -project(Nuklear LANGUAGES C CXX) +project(Nuklear LANGUAGES C) option(INSTALL_EXAMPLE "Install the example code" OFF) option(INSTALL_DEMO "Install the demo code" OFF) diff --git a/ports/nuklear/portfile.cmake b/ports/nuklear/portfile.cmake index e13332986b517e..f30f54d0f5f8a1 100644 --- a/ports/nuklear/portfile.cmake +++ b/ports/nuklear/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Immediate-Mode-UI/Nuklear - REF 6e80e2a646f35be4afc157a932f2936392ec8f74 # accessed on 2021-04-04 - SHA512 ce064dff721111749d4056717879f42d3e24bb94655dd2b04c137eb7391d2c90d0b1b95155912c100b537f74fd150aedc48e0ac85eb72963c66e35ac81048323 + REF 0a77211844458673446aa99b8a0ae1090a04e413 # 2022-05-12 + SHA512 57ad5578c534d19ce6dd5e9b8c7b725da6e7f379a5289daed6b7128a1671dc5c368175d1e780a7fcb3405fad989e3bc50a8a921d62301e64e58014e351845cae HEAD_REF master ) @@ -26,4 +26,4 @@ vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-nuklear) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") -file(INSTALL "${SOURCE_PATH}/Readme.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +file(INSTALL "${SOURCE_PATH}/src/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/nuklear/vcpkg.json b/ports/nuklear/vcpkg.json index 1e48043bf8e890..25261916ed7537 100644 --- a/ports/nuklear/vcpkg.json +++ b/ports/nuklear/vcpkg.json @@ -1,9 +1,9 @@ { "name": "nuklear", - "version-date": "2021-03-18", - "port-version": 1, + "version-date": "2022-05-12", "description": "This is a minimal state immediate mode graphical user interface toolkit written in ANSI C and licensed under public domain", "homepage": "https://github.com/Immediate-Mode-UI/Nuklear", + "license": "Unlicense OR MIT", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/numactl/portfile.cmake b/ports/numactl/portfile.cmake index 302f1ba7f8b75d..fa60675263d1f2 100644 --- a/ports/numactl/portfile.cmake +++ b/ports/numactl/portfile.cmake @@ -1,15 +1,11 @@ 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 ) -if(NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") - message(FATAL_ERROR "Package only supports linux platform.") -endif() - message( "numactl currently requires the following libraries from the system package manager: autoconf libtool @@ -67,5 +63,7 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL static) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) endif() +vcpkg_fixup_pkgconfig() + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share) configure_file(${SOURCE_PATH}/README.md ${CURRENT_PACKAGES_DIR}/share/numactl/copyright COPYONLY) diff --git a/ports/numactl/vcpkg.json b/ports/numactl/vcpkg.json index 62684dd4d82505..a68acaf1648302 100644 --- a/ports/numactl/vcpkg.json +++ b/ports/numactl/vcpkg.json @@ -1,6 +1,6 @@ { "name": "numactl", - "version": "2.0.14", + "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 e2dce207f88e81..114a0cb0e8f923 100644 --- a/ports/numcpp/portfile.cmake +++ b/ports/numcpp/portfile.cmake @@ -2,13 +2,20 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO dpilger26/NumCpp - REF Version_2.6.0 - SHA512 4D057941F4CB541CFAA56E4188C865DFC1804CA1B2203422B9EB7D7E8EE43CCB15DC5109DA5C932234E6055B6A5554D877347FA7CAEC5EA619A2975A56D2B16C + REF "Version_${VERSION}" + 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() @@ -17,4 +24,4 @@ vcpkg_cmake_config_fixup(PACKAGE_NAME NumCpp CONFIG_PATH share/NumCpp/cmake) 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/numcpp/vcpkg.json b/ports/numcpp/vcpkg.json index d93591882171e7..59e3559ce79b19 100644 --- a/ports/numcpp/vcpkg.json +++ b/ports/numcpp/vcpkg.json @@ -1,17 +1,11 @@ { "name": "numcpp", - "version": "2.6.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-algorithm", - "boost-endian", - "boost-integer", - "boost-math", - "boost-predef", - "boost-random", - "boost-type-traits", { "name": "vcpkg-cmake", "host": true @@ -22,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 3128018e3e72bf..094a44d10e8e8f 100644 --- a/ports/nuspell/portfile.cmake +++ b/ports/nuspell/portfile.cmake @@ -1,29 +1,41 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO nuspell/nuspell - REF v5.0.0 - SHA512 92605c5f0d413b86711fea3b993d656552d5e72440303d3e71907a503d060ead032dfeb0dd8dbb790f35599b8cca8854bdd8650f0560793d9c62a11aebccc2e5 + REF "v${VERSION}" + SHA512 ab6d9394a55d9a2a347ccae47aeef6a96af70f421ad6ea8f7ac7fde2052790f37fb1c7ec3112daac7600d193430a560cb1915ab6557c9353717f65cb32f13ab8 HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS -DBUILD_TESTING=OFF + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + tools BUILD_TOOLS ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/nuspell) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} + -DBUILD_TESTING=OFF + -DBUILD_DOCS=OFF +) +vcpkg_cmake_install() +vcpkg_copy_pdbs() + +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/nuspell) vcpkg_fixup_pkgconfig( # nuspell.pc depends on icu-uc.pc which has -lm specified as private # library. Ignore this -lm, otherwise this function shows error # because it can't find this. -lm is part of glibc on Linux. SYSTEM_LIBRARIES m ) -vcpkg_copy_tools(TOOL_NAMES nuspell AUTO_CLEAN) + +if (BUILD_TOOLS) + vcpkg_copy_tools(TOOL_NAMES nuspell AUTO_CLEAN) +endif() + file(REMOVE_RECURSE - ${CURRENT_PACKAGES_DIR}/debug/include - ${CURRENT_PACKAGES_DIR}/debug/share + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" ) -file( - INSTALL ${SOURCE_PATH}/COPYING.LESSER - DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} - RENAME copyright) + +file(INSTALL "${SOURCE_PATH}/COPYING.LESSER" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/nuspell/vcpkg.json b/ports/nuspell/vcpkg.json index 5840ce1c50b459..ef61425fb3ba0b 100644 --- a/ports/nuspell/vcpkg.json +++ b/ports/nuspell/vcpkg.json @@ -1,13 +1,31 @@ { "name": "nuspell", - "version-semver": "5.0.0", + "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.", "Nuspell is written in modern C++ and it supports Hunspell dictionaries." ], "homepage": "https://nuspell.github.io/", + "license": "LGPL-3.0-or-later", + "supports": "!xbox", "dependencies": [ - "icu" - ] + "icu", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "tools": { + "description": "Build tools", + "dependencies": [ + "getopt" + ] + } + } } 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/nvtt/fix-intrinsic-function.patch b/ports/nvtt/fix-intrinsic-function.patch new file mode 100644 index 00000000000000..397e816817e3a2 --- /dev/null +++ b/ports/nvtt/fix-intrinsic-function.patch @@ -0,0 +1,19 @@ +diff --git a/src/nvmath/nvmath.h b/src/nvmath/nvmath.h +index 38532eb..e68d8f8 100644 +--- a/src/nvmath/nvmath.h ++++ b/src/nvmath/nvmath.h +@@ -118,12 +118,12 @@ inline float asinf_assert(const float f) + #endif + + #if NV_CC_MSVC +-NV_FORCEINLINE float log2f(float x) ++NV_FORCEINLINE float nv_log2f(float x) + { + nvCheck(x >= 0); + return logf(x) / logf(2.0f); + } +-NV_FORCEINLINE float exp2f(float x) ++NV_FORCEINLINE float nv_exp2f(float x) + { + return powf(2.0f, x); + } diff --git a/ports/nvtt/fix-release-flags.patch b/ports/nvtt/fix-release-flags.patch new file mode 100644 index 00000000000000..04263e0c6b229b --- /dev/null +++ b/ports/nvtt/fix-release-flags.patch @@ -0,0 +1,15 @@ +diff --git a/cmake/OptimalOptions.cmake b/cmake/OptimalOptions.cmake +index e4d5c56..eba8624 100644 +--- a/cmake/OptimalOptions.cmake ++++ b/cmake/OptimalOptions.cmake +@@ -11,8 +11,8 @@ IF(MSVC) + # SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /arch:SSE2 /fp:fast") + + # Optimization flags. +- SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS} /O2 /Ob2 /Oi /Ot /Oy /GL") +- SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS} /O2 /Ob2 /Oi /Ot /Oy /GL") ++ SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /O2 /Ob2 /Oi /Ot /Oy /GL") ++ SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /O2 /Ob2 /Oi /Ot /Oy /GL") + SET(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} /LTCG") + SET(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} /LTCG") + SET(CMAKE_MODULE_LINKER_FLAGS_RELEASE "${CMAKE_MODULE_LINKER_FLAGS_RELEASE} /LTCG") diff --git a/ports/nvtt/portfile.cmake b/ports/nvtt/portfile.cmake index f235be2d0cde52..34b7d0a8a1919f 100644 --- a/ports/nvtt/portfile.cmake +++ b/ports/nvtt/portfile.cmake @@ -1,5 +1,3 @@ -vcpkg_fail_port_install(ON_ARCH "x86") - vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( @@ -16,27 +14,38 @@ vcpkg_from_github( fix-build-error.patch add-compile-options-for-osx.patch skip-building-libsquish.patch + fix-intrinsic-function.patch + fix-release-flags.patch +) + +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + cuda CMAKE_REQUIRE_FIND_PACKAGE_CUDA + INVERTED_FEATURES + cuda CMAKE_DISABLE_FIND_PACKAGE_CUDA ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DNVTT_SHARED=0 + ${FEATURE_OPTIONS} + OPTIONS_DEBUG -DCMAKE_DEBUG_POSTFIX=_d # required by OSG ) -vcpkg_install_cmake() +vcpkg_cmake_install() -if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") endif() vcpkg_copy_pdbs() -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") # Handle copyright -file(REMOVE ${CURRENT_PACKAGES_DIR}/share/doc/nvtt/LICENSE) -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(REMOVE "${CURRENT_PACKAGES_DIR}/share/doc/nvtt/LICENSE") +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/nvtt/vcpkg.json b/ports/nvtt/vcpkg.json index 24ad40926d3072..381ecea3a5d507 100644 --- a/ports/nvtt/vcpkg.json +++ b/ports/nvtt/vcpkg.json @@ -1,11 +1,24 @@ { "name": "nvtt", - "version-string": "2.1.2", - "port-version": 2, + "version": "2.1.2", + "port-version": 8, "description": "Texture processing tools with support for Direct3D 10 and 11 formats.", "homepage": "https://github.com/castano/nvidia-texture-tools", - "supports": "!x86", + "license": "MIT", + "supports": "!uwp & !arm", "dependencies": [ - "libsquish" - ] + "libsquish", + { + "name": "vcpkg-cmake", + "host": true + } + ], + "features": { + "cuda": { + "description": "Enable CUDA support", + "dependencies": [ + "cuda" + ] + } + } } diff --git a/ports/nyan-lang/portfile.cmake b/ports/nyan-lang/portfile.cmake new file mode 100644 index 00000000000000..ded5706d55c248 --- /dev/null +++ b/ports/nyan-lang/portfile.cmake @@ -0,0 +1,31 @@ +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 + HEAD_REF master +) + +vcpkg_find_acquire_program(FLEX) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + "-DFLEX_EXECUTABLE=${FLEX}" +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake) +vcpkg_copy_tools(TOOL_NAMES nyancat AUTO_CLEAN) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright( + FILE_LIST + "${SOURCE_PATH}/copying.md" + "${SOURCE_PATH}/legal/LGPLv3" + "${SOURCE_PATH}/legal/GPLv3" +) diff --git a/ports/nyan-lang/vcpkg.json b/ports/nyan-lang/vcpkg.json new file mode 100644 index 00000000000000..3dcc1439db11da --- /dev/null +++ b/ports/nyan-lang/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "nyan-lang", + "version": "0.3", + "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", + "supports": "!osx & !static & !uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/oatpp-consul/portfile.cmake b/ports/oatpp-consul/portfile.cmake index 83c1889bd8067c..83e428723cff5a 100644 --- a/ports/oatpp-consul/portfile.cmake +++ b/ports/oatpp-consul/portfile.cmake @@ -1,4 +1,4 @@ -set(OATPP_VERSION "1.2.5") +set(OATPP_VERSION "1.3.0") vcpkg_check_linkage(ONLY_STATIC_LIBRARY) @@ -6,21 +6,19 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO oatpp/oatpp-consul REF ${OATPP_VERSION} - SHA512 6d73b869e5fea966451d15cbdc389f7c6c367a8e10124aadaa33121f0ef78bbf5b702a094b2ca6ad8583257ab7cb4187a7a0571b119c96d5d5e20b2d5cb4beae + SHA512 b7bfff564e70fe94f99e959e8bc095b6cda704764c54e3837fc5f808b610c9197fbd0d601cb481a9cbf0d17fc1dece8d7cce6881a604fccbe63bd9b1c2b871f0 HEAD_REF master ) -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - PREFER_NINJA OPTIONS "-DOATPP_BUILD_TESTS:BOOL=OFF" - "-DCMAKE_CXX_FLAGS=-D_CRT_SECURE_NO_WARNINGS" ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/oatpp-consul-${OATPP_VERSION}) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME oatpp-consul CONFIG_PATH lib/cmake/oatpp-consul-${OATPP_VERSION}) vcpkg_copy_pdbs() -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/include") +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/oatpp-consul/vcpkg.json b/ports/oatpp-consul/vcpkg.json index 0f3a90df3594d8..c59494d3691d65 100644 --- a/ports/oatpp-consul/vcpkg.json +++ b/ports/oatpp-consul/vcpkg.json @@ -1,9 +1,19 @@ { "name": "oatpp-consul", - "version": "1.2.5", + "version": "1.3.0", + "port-version": 1, "description": "OAT++ Modern web framework consul module.", "homepage": "https://github.com/oatpp/oatpp-consul", + "license": "Apache-2.0", "dependencies": [ - "oatpp" + "oatpp", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/oatpp-curl/portfile.cmake b/ports/oatpp-curl/portfile.cmake index 9340560a5f3e74..7dff231c95d51b 100644 --- a/ports/oatpp-curl/portfile.cmake +++ b/ports/oatpp-curl/portfile.cmake @@ -1,4 +1,4 @@ -set(OATPP_VERSION "1.2.5") +set(OATPP_VERSION "1.3.0") vcpkg_check_linkage(ONLY_STATIC_LIBRARY) @@ -6,22 +6,20 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO oatpp/oatpp-curl REF ${OATPP_VERSION} - SHA512 db2b4ab07dbf1140e44c131a1919c6ac29e9cea3df8dde8951028d6096ed5a66a248d3ddeeaabc32cac0fde38fd5905e706daaa7c9fbf6bcb49ccb9ba1cfb50e + SHA512 d9437a6b3a214bf0f17561e905709d741cd7d5fcad30ec0cdddeaacb3a72142bf8b24034d13201cd416898ffd0ab07ca50ec66d4025406acee1518ae65dac45e HEAD_REF master PATCHES "fix-find-curl.patch" ) -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - PREFER_NINJA OPTIONS "-DOATPP_BUILD_TESTS:BOOL=OFF" - "-DCMAKE_CXX_FLAGS=-D_CRT_SECURE_NO_WARNINGS" ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/oatpp-curl-${OATPP_VERSION}) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME oatpp-curl CONFIG_PATH lib/cmake/oatpp-curl-${OATPP_VERSION}) vcpkg_copy_pdbs() -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/include") +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/oatpp-curl/vcpkg.json b/ports/oatpp-curl/vcpkg.json index c552f8beeff292..86904834087d0d 100644 --- a/ports/oatpp-curl/vcpkg.json +++ b/ports/oatpp-curl/vcpkg.json @@ -1,10 +1,20 @@ { "name": "oatpp-curl", - "version": "1.2.5", + "version": "1.3.0", + "port-version": 1, "description": "Oat++ Modern web framework curl module to use libcurl as a RequestExecutor on the oatpp's ApiClient.", "homepage": "https://github.com/oatpp/oatpp-curl", + "license": "Apache-2.0", "dependencies": [ "curl", - "oatpp" + "oatpp", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/oatpp-libressl/portfile.cmake b/ports/oatpp-libressl/portfile.cmake index e53766e3a50bc9..c2643ab4145f67 100644 --- a/ports/oatpp-libressl/portfile.cmake +++ b/ports/oatpp-libressl/portfile.cmake @@ -1,4 +1,4 @@ -set(OATPP_VERSION "1.2.5") +set(OATPP_VERSION "1.3.0") vcpkg_check_linkage(ONLY_STATIC_LIBRARY) @@ -7,23 +7,21 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO oatpp/oatpp-libressl REF ${OATPP_VERSION} - SHA512 64b596576b7c976cd8ebd68ba16a38e7b9c65794d9dcea82d3537d2433f11645a25eb567aea6d16ddc51f8ff5f90e83f29e24555c3ae87f80883ec2f53366d99 + SHA512 8f16c4e0341dc20e4a8a5fcdcf8e58bac1cfbef51b8cac6f5ca4894acf296333fcc2b8f34c6353cbd31a1f2f2be021550ce859489a45f388f4b5ccec4c67eee9 HEAD_REF master PATCHES "libress-submodule-downgrade-required-libressl-version.patch" ) -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - PREFER_NINJA OPTIONS "-DOATPP_BUILD_TESTS:BOOL=OFF" - "-DCMAKE_CXX_FLAGS=-D_CRT_SECURE_NO_WARNINGS" - "-DLIBRESSL_ROOT_DIR=${CURRENT_INSTALLED_DIR}" + "-DLIBRESSL_ROOT_DIR=${CURRENT_INSTALLED_DIR}" ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/oatpp-libressl-${OATPP_VERSION}) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME oatpp-libressl CONFIG_PATH lib/cmake/oatpp-libressl-${OATPP_VERSION}) vcpkg_copy_pdbs() -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/include") +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/oatpp-libressl/vcpkg.json b/ports/oatpp-libressl/vcpkg.json index 3c34c9a991a165..b4d919f8ac1570 100644 --- a/ports/oatpp-libressl/vcpkg.json +++ b/ports/oatpp-libressl/vcpkg.json @@ -1,10 +1,20 @@ { "name": "oatpp-libressl", - "version": "1.2.5", + "version": "1.3.0", + "port-version": 1, "description": "Oat++ libressl module providing secure server and client connection providers.", "homepage": "https://github.com/oatpp/oatpp-libressl", + "license": "Apache-2.0", "dependencies": [ "libressl", - "oatpp" + "oatpp", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } 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 fd95c8c33bb09f..914f4cb64f3fcd 100644 --- a/ports/oatpp-mbedtls/portfile.cmake +++ b/ports/oatpp-mbedtls/portfile.cmake @@ -1,26 +1,35 @@ -set(OATPP_VERSION "1.2.5") - -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} - SHA512 ffc7ef3614a4b3ef44c61af3db8c5b5a75ecc657b2f9f5ade4f9e78260427ca113be700065b6fcdc3e6f553648601fe4d8c68a54e10234949e004f40def0d343 + REF ${VERSION} + SHA512 3eea805f2a02110daec25b7455543c59d8e72acd37d412fa98cb1c90f58e4edcd9cc62c16331efcca36a524834fa0f314f2f69a7a4d0d1108a758f811a68e021 HEAD_REF master - PATCHES find-mbedtls.patch + PATCHES + find-mbedtls.patch + mbedtls-3.patch ) -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - PREFER_NINJA OPTIONS "-DOATPP_BUILD_TESTS:BOOL=OFF" ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/oatpp-mbedtls-${OATPP_VERSION}) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/oatpp-mbedtls-${VERSION}") vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +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") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/oatpp-mbedtls/vcpkg.json b/ports/oatpp-mbedtls/vcpkg.json index 1c4b07d4809228..058a99b3b7fac6 100644 --- a/ports/oatpp-mbedtls/vcpkg.json +++ b/ports/oatpp-mbedtls/vcpkg.json @@ -1,10 +1,20 @@ { "name": "oatpp-mbedtls", - "version": "1.2.5", + "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" + "oatpp", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/oatpp-mongo/portfile.cmake b/ports/oatpp-mongo/portfile.cmake index 2a244eda1c1f3e..b3bf87613fb206 100644 --- a/ports/oatpp-mongo/portfile.cmake +++ b/ports/oatpp-mongo/portfile.cmake @@ -1,4 +1,4 @@ -set(OATPP_VERSION "1.2.5") +set(OATPP_VERSION "1.3.0") vcpkg_check_linkage(ONLY_STATIC_LIBRARY) @@ -6,22 +6,18 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO oatpp/oatpp-mongo REF ${OATPP_VERSION} - SHA512 b4d15b40521fc731213decbb4a68edf9f04d918ebd6539ec56e71bdc5aa3536bcd170d4d1f5ee828dc666294f520140241dbcd2c4498247c6d9ea363d7f8ec56 + SHA512 11f4164948feb63ed3f5e8554a54348e29cd4d90333761f98c37f4eb49f129c6589955755e8e052c5c29e6b2980f1bb899657415d6480c3ae7a50fc2445afbfe HEAD_REF master ) -set(VCPKG_C_FLAGS "${VCPKG_CXX_FLAGS} -D_CRT_SECURE_NO_WARNINGS") -set(VCPKG_CXX_FLAGS "${VCPKG_CXX_FLAGS} -D_CRT_SECURE_NO_WARNINGS") - -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - PREFER_NINJA OPTIONS "-DOATPP_BUILD_TESTS:BOOL=OFF" ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/oatpp-mongo-${OATPP_VERSION}) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME oatpp-mongo CONFIG_PATH lib/cmake/oatpp-mongo-${OATPP_VERSION}) vcpkg_copy_pdbs() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/oatpp-mongo/vcpkg.json b/ports/oatpp-mongo/vcpkg.json index cbdf48c1af96ca..da880a9b48cd9e 100644 --- a/ports/oatpp-mongo/vcpkg.json +++ b/ports/oatpp-mongo/vcpkg.json @@ -1,9 +1,19 @@ { "name": "oatpp-mongo", - "version": "1.2.5", + "version": "1.3.0", + "port-version": 1, "description": "Oat++ MongoDB adapter for Oat++ ORM (native client). It contains DTO to BSON mapper plus database driver.", "homepage": "https://github.com/oatpp/oatpp-mongo", + "license": "Apache-2.0", "dependencies": [ - "oatpp" + "oatpp", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/oatpp-openssl/portfile.cmake b/ports/oatpp-openssl/portfile.cmake index 9445ee7006a2f1..feada9b69f270f 100644 --- a/ports/oatpp-openssl/portfile.cmake +++ b/ports/oatpp-openssl/portfile.cmake @@ -1,4 +1,4 @@ -set(OATPP_VERSION "1.2.5") +set(OATPP_VERSION "1.3.0") vcpkg_check_linkage(ONLY_STATIC_LIBRARY) @@ -7,7 +7,7 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO oatpp/oatpp-openssl REF ${OATPP_VERSION} - SHA512 c5a40691d846703378c2965f2ad9b99edb2025d47854719bab4e80a4771258c2b72cfba0135b63dd9e2387da4549b5bc6cebfc1913a8006d14d59e250be19060 + SHA512 a358a98e4c7e779c4c799e55667af67530fea537103500bf07b62ee434e87241c8ce3899bd19945a942b81ae9df86e318f0a725a56f4cb7cfceb0f98e3c0378b HEAD_REF master ) @@ -18,8 +18,8 @@ vcpkg_cmake_configure( ) vcpkg_cmake_install() -vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/oatpp-openssl-${OATPP_VERSION}") +vcpkg_cmake_config_fixup(PACKAGE_NAME oatpp-openssl CONFIG_PATH "lib/cmake/oatpp-openssl-${OATPP_VERSION}") vcpkg_copy_pdbs() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/oatpp-openssl/vcpkg.json b/ports/oatpp-openssl/vcpkg.json index b844deaa36f7c7..daa2c185077718 100644 --- a/ports/oatpp-openssl/vcpkg.json +++ b/ports/oatpp-openssl/vcpkg.json @@ -1,6 +1,6 @@ { "name": "oatpp-openssl", - "version-semver": "1.2.5", + "version-semver": "1.3.0", "description": "Oat++ openssl module providing secure server and client connection providers.", "homepage": "https://github.com/oatpp/oatpp-openssl", "dependencies": [ diff --git a/ports/oatpp-postgresql/fix-windows-build.patch b/ports/oatpp-postgresql/fix-windows-build.patch deleted file mode 100644 index 0b6a57d869d088..00000000000000 --- a/ports/oatpp-postgresql/fix-windows-build.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/oatpp-postgresql/mapping/Serializer.hpp b/src/oatpp-postgresql/mapping/Serializer.hpp -index af76701..615d11b 100644 ---- a/src/oatpp-postgresql/mapping/Serializer.hpp -+++ b/src/oatpp-postgresql/mapping/Serializer.hpp -@@ -201,7 +201,7 @@ private: - - outData.oid = _this->getArrayTypeOid(itemType); - outData.dataSize = stream.getCurrentPosition(); -- outData.dataBuffer.template reset(new char[outData.dataSize]); -+ outData.dataBuffer.reset(new char[outData.dataSize]); - outData.data = outData.dataBuffer.get(); - outData.dataFormat = 1; - diff --git a/ports/oatpp-postgresql/portfile.cmake b/ports/oatpp-postgresql/portfile.cmake index ce8af28f8a54ba..c798d5f8d78e48 100644 --- a/ports/oatpp-postgresql/portfile.cmake +++ b/ports/oatpp-postgresql/portfile.cmake @@ -1,4 +1,4 @@ -set(OATPP_VERSION "1.2.5") +set(OATPP_VERSION "1.3.0") vcpkg_check_linkage(ONLY_STATIC_LIBRARY) @@ -6,24 +6,18 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO oatpp/oatpp-postgresql REF ${OATPP_VERSION} - SHA512 43381422224f0254a823fdc702d1a007c405930157e6ea361f51e5232df4b04073181de175f61ab4986f3468d21f9ac25a0820d14efcecb0afb0096bdd674dcb + SHA512 6926194ae7d77db2a071fcb805ce048954908cf18d59f3095e1bf779748d9e5b9ceb657d97b1fc8a6ebfcf71936b211e2b10e68a62983e847c68ab58e1f3f2ba HEAD_REF master - PATCHES - fix-windows-build.patch # see https://github.com/oatpp/oatpp-postgresql/pull/8 ) -set(VCPKG_C_FLAGS "${VCPKG_CXX_FLAGS} -D_CRT_SECURE_NO_WARNINGS") -set(VCPKG_CXX_FLAGS "${VCPKG_CXX_FLAGS} -D_CRT_SECURE_NO_WARNINGS") - -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - PREFER_NINJA OPTIONS "-DOATPP_BUILD_TESTS:BOOL=OFF" ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/oatpp-postgresql-${OATPP_VERSION}) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME oatpp-postgresql CONFIG_PATH lib/cmake/oatpp-postgresql-${OATPP_VERSION}) vcpkg_copy_pdbs() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/oatpp-postgresql/vcpkg.json b/ports/oatpp-postgresql/vcpkg.json index 7a5eb7b01788b6..01ce5d7a5a1f96 100644 --- a/ports/oatpp-postgresql/vcpkg.json +++ b/ports/oatpp-postgresql/vcpkg.json @@ -1,10 +1,20 @@ { "name": "oatpp-postgresql", - "version": "1.2.5", + "version": "1.3.0", + "port-version": 1, "description": "Oat++ PostgreSQL adapter for Oat++ ORM (alpha - not all datatypes are supported).", "homepage": "https://github.com/oatpp/oatpp-postgresql", + "license": "Apache-2.0", "dependencies": [ "libpq", - "oatpp" + "oatpp", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } 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 f446876ad19cc4..56727375d99beb 100644 --- a/ports/oatpp-sqlite/portfile.cmake +++ b/ports/oatpp-sqlite/portfile.cmake @@ -1,4 +1,4 @@ -set(OATPP_VERSION "1.2.5") +set(OATPP_VERSION "1.3.0") vcpkg_check_linkage(ONLY_STATIC_LIBRARY) @@ -6,21 +6,21 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO oatpp/oatpp-sqlite REF ${OATPP_VERSION} - SHA512 b92d8c8b2afbbca38ecef7030648dcd7e15d7b2dd221bc32ea9778533ffcc9923b628308aa86bc53451b1ea4bb15dae8727bc6e0d8345fa611ef32469d850064 + SHA512 8a208145ee10ed858767b4b56c220b6befd83e6858759128103ce679b889e6218a95ed6627af5098e4d26367be8add82de26e1f1f8ef581b1913b8386f9d56de HEAD_REF master + PATCHES + fix-usage.patch ) -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - PREFER_NINJA OPTIONS "-DOATPP_BUILD_TESTS:BOOL=OFF" - "-DCMAKE_CXX_FLAGS=-D_CRT_SECURE_NO_WARNINGS" "-DOATPP_SQLITE_AMALGAMATION:BOOL=OFF" ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/oatpp-sqlite-${OATPP_VERSION}) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME oatpp-sqlite CONFIG_PATH lib/cmake/oatpp-sqlite-${OATPP_VERSION}) vcpkg_copy_pdbs() -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/include") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/oatpp-sqlite/vcpkg.json b/ports/oatpp-sqlite/vcpkg.json index 85fa464937ded1..1f7d8812e89031 100644 --- a/ports/oatpp-sqlite/vcpkg.json +++ b/ports/oatpp-sqlite/vcpkg.json @@ -1,10 +1,20 @@ { "name": "oatpp-sqlite", - "version": "1.2.5", + "version": "1.3.0", + "port-version": 2, "description": "Oat++ SQLite adapter for Oat++ ORM.", "homepage": "https://github.com/oatpp/oatpp-sqlite", + "license": "Apache-2.0", "dependencies": [ "oatpp", - "sqlite3" + "sqlite3", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/oatpp-ssdp/fix_String_to_string.patch b/ports/oatpp-ssdp/fix_String_to_string.patch new file mode 100644 index 00000000000000..28c506a31e7fc4 --- /dev/null +++ b/ports/oatpp-ssdp/fix_String_to_string.patch @@ -0,0 +1,20 @@ +diff --git i/src/oatpp-ssdp/SimpleUdpStreamProvider.cpp w/src/oatpp-ssdp/SimpleUdpStreamProvider.cpp +index d351c1e..7c430e9 100644 +--- i/src/oatpp-ssdp/SimpleUdpStreamProvider.cpp ++++ w/src/oatpp-ssdp/SimpleUdpStreamProvider.cpp +@@ -106,7 +106,7 @@ v_io_handle SimpleUdpStreamProvider::instantiateServer() { + hints.ai_flags = AI_PASSIVE; + auto portStr = oatpp::utils::conversion::int32ToStr(m_port); + +- ret = getaddrinfo(NULL, (const char*)portStr->getData(), &hints, &result); ++ ret = getaddrinfo(NULL, (const char*)portStr->c_str(), &hints, &result); + if (ret != 0) { + OATPP_LOGE("[oatpp::ssdp::SimpleUdpStreamProvider::instantiateServer()]", "Error. Call to getaddrinfo() failed with result=%d: %s", ret, strerror(errno)); + throw std::runtime_error("[oatpp::ssdp::SimpleUdpStreamProvider::instantiateServer()]: Error. Call to getaddrinfo() failed."); +@@ -233,4 +233,4 @@ provider::ResourceHandle SimpleUdpStreamProvider::get() + ); + } + +-}} +\ No newline at end of file ++}} diff --git a/ports/oatpp-ssdp/fix_win_close.patch b/ports/oatpp-ssdp/fix_win_close.patch new file mode 100644 index 00000000000000..c6410187996a55 --- /dev/null +++ b/ports/oatpp-ssdp/fix_win_close.patch @@ -0,0 +1,20 @@ +diff --git i/src/oatpp-ssdp/SimpleUdpStreamProvider.cpp w/src/oatpp-ssdp/SimpleUdpStreamProvider.cpp +index d351c1e..f5774bd 100644 +--- i/src/oatpp-ssdp/SimpleUdpStreamProvider.cpp ++++ w/src/oatpp-ssdp/SimpleUdpStreamProvider.cpp +@@ -129,7 +129,7 @@ v_io_handle SimpleUdpStreamProvider::instantiateServer() { + + ret = bind(serverHandle, result->ai_addr, (int)result->ai_addrlen); + if (ret != 0) { +- ::close(serverHandle); ++ ::_close(serverHandle); + OATPP_LOGE("[oatpp::ssdp::SimpleUdpStreamProvider::instantiateServer()]", "Error. Failed to bind port %d: %s", m_port, strerror(errno)); + throw std::runtime_error("[oatpp::ssdp::SimpleUdpStreamProvider::instantiateServer()]: Error. Can't bind to address: %s"); + } +@@ -233,4 +233,4 @@ provider::ResourceHandle SimpleUdpStreamProvider::get() + ); + } + +-}} +\ No newline at end of file ++}} diff --git a/ports/oatpp-ssdp/portfile.cmake b/ports/oatpp-ssdp/portfile.cmake new file mode 100644 index 00000000000000..3523504d230859 --- /dev/null +++ b/ports/oatpp-ssdp/portfile.cmake @@ -0,0 +1,27 @@ +set(OATPP_VERSION "1.3.0") + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO oatpp/oatpp-ssdp + REF ${OATPP_VERSION} + SHA512 ab6f10bb79cb058eb7ce4115327e2f2d85133753d02dc2b4339505cc2ed4ef8b6284b5e832d0e190de17b8ae70e0b9a99b1b074d0691ca9a613873e8d4e1ace8 + HEAD_REF master + PATCHES + fix_String_to_string.patch + fix_win_close.patch +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + "-DOATPP_BUILD_TESTS:BOOL=OFF" +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME oatpp-ssdp CONFIG_PATH lib/cmake/oatpp-ssdp-${OATPP_VERSION}) +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/oatpp-ssdp/vcpkg.json b/ports/oatpp-ssdp/vcpkg.json new file mode 100644 index 00000000000000..8a7496deb30668 --- /dev/null +++ b/ports/oatpp-ssdp/vcpkg.json @@ -0,0 +1,19 @@ +{ + "name": "oatpp-ssdp", + "version": "1.3.0", + "port-version": 1, + "description": "Oat++ SSDP (Simple Service Discovery Protocol) submodule.", + "homepage": "https://github.com/oatpp/oatpp-ssdp", + "license": "Apache-2.0", + "dependencies": [ + "oatpp", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/oatpp-swagger/portfile.cmake b/ports/oatpp-swagger/portfile.cmake index c94eda0b618936..e79301a76790bb 100644 --- a/ports/oatpp-swagger/portfile.cmake +++ b/ports/oatpp-swagger/portfile.cmake @@ -1,4 +1,4 @@ -set(OATPP_VERSION "1.2.5") +set(OATPP_VERSION "1.3.0") vcpkg_check_linkage(ONLY_STATIC_LIBRARY) @@ -6,21 +6,26 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO oatpp/oatpp-swagger REF ${OATPP_VERSION} - SHA512 ad9b92a2b8ef7c54533bde92d5a12eb4b62553ee0a5252a5dd15aba7dc7293202931acc0ad40fc6f3be566813221a309a0bfec8bdbefca2197767387fe68fa6c + SHA512 5b4ced90690f484ebe15c3a0be47b1b851fb7b650e70c99fddc20430724aac8eff89d8c6187df750bd2ceff0e1144336f258d740fc10cdfa67a65a2f3b00d80b HEAD_REF master ) -vcpkg_configure_cmake( +if (VCPKG_CRT_LINKAGE STREQUAL "static") + set(OATPP_MSVC_LINK_STATIC_RUNTIME TRUE) +else() + set(OATPP_MSVC_LINK_STATIC_RUNTIME FALSE) +endif() + +vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - PREFER_NINJA OPTIONS "-DOATPP_BUILD_TESTS:BOOL=OFF" - "-DCMAKE_CXX_FLAGS=-D_CRT_SECURE_NO_WARNINGS" + "-DOATPP_MSVC_LINK_STATIC_RUNTIME=${OATPP_MSVC_LINK_STATIC_RUNTIME}" ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/oatpp-swagger-${OATPP_VERSION}) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME oatpp-swagger CONFIG_PATH lib/cmake/oatpp-swagger-${OATPP_VERSION}) vcpkg_copy_pdbs() -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/include") +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/oatpp-swagger/vcpkg.json b/ports/oatpp-swagger/vcpkg.json index da63d6133bd187..2a920d4ba92b58 100644 --- a/ports/oatpp-swagger/vcpkg.json +++ b/ports/oatpp-swagger/vcpkg.json @@ -1,9 +1,19 @@ { "name": "oatpp-swagger", - "version": "1.2.5", + "version": "1.3.0", + "port-version": 1, "description": "Oat++ OpenApi (Swagger) UI submodule.", "homepage": "https://github.com/oatpp/oatpp-swagger", + "license": "Apache-2.0", "dependencies": [ - "oatpp" + "oatpp", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/oatpp-websocket/portfile.cmake b/ports/oatpp-websocket/portfile.cmake index b0cbf4fe0f49b3..1c6e9912887685 100644 --- a/ports/oatpp-websocket/portfile.cmake +++ b/ports/oatpp-websocket/portfile.cmake @@ -1,4 +1,4 @@ -set(OATPP_VERSION "1.2.5") +set(OATPP_VERSION "1.3.0") vcpkg_check_linkage(ONLY_STATIC_LIBRARY) @@ -6,20 +6,26 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO oatpp/oatpp-websocket REF ${OATPP_VERSION} - SHA512 7bf4d8c8adf158e1b46b617d0aea201db32802dc89238d50c39bb10228ae59c8536ec198696f4e403da293c9b2dcc25a3c81aff1dedc49b38d4c7d94e97557e0 + SHA512 e5d5f974da4fd95599352d04d18422c74b274be50a803cdb0b65674ebde8dfe8587c44ddb8b376ad866de06841935687be4294ac5954f33f0a087b009da23177 HEAD_REF master ) -vcpkg_configure_cmake( +if (VCPKG_CRT_LINKAGE STREQUAL "static") + set(OATPP_MSVC_LINK_STATIC_RUNTIME TRUE) +else() + set(OATPP_MSVC_LINK_STATIC_RUNTIME FALSE) +endif() + +vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - PREFER_NINJA OPTIONS "-DOATPP_BUILD_TESTS:BOOL=OFF" + "-DOATPP_MSVC_LINK_STATIC_RUNTIME=${OATPP_MSVC_LINK_STATIC_RUNTIME}" ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/oatpp-websocket-${OATPP_VERSION}) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME oatpp-websocket CONFIG_PATH lib/cmake/oatpp-websocket-${OATPP_VERSION}) vcpkg_copy_pdbs() -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/include") +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/oatpp-websocket/vcpkg.json b/ports/oatpp-websocket/vcpkg.json index be7aa11769d504..5a28f2bdd3d598 100644 --- a/ports/oatpp-websocket/vcpkg.json +++ b/ports/oatpp-websocket/vcpkg.json @@ -1,9 +1,17 @@ { "name": "oatpp-websocket", - "version": "1.2.5", + "version": "1.3.0", "description": "Oat++ websocket module.", "homepage": "https://github.com/oatpp/oatpp-websocket", "dependencies": [ - "oatpp" + "oatpp", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/oatpp-zlib/fix-usage.patch b/ports/oatpp-zlib/fix-usage.patch new file mode 100644 index 00000000000000..c08afc71146c2d --- /dev/null +++ b/ports/oatpp-zlib/fix-usage.patch @@ -0,0 +1,13 @@ +diff --git a/cmake/module-utils.cmake b/cmake/module-utils.cmake +index 8f1d35a..cade49d 100644 +--- a/cmake/module-utils.cmake ++++ b/cmake/module-utils.cmake +@@ -5,7 +5,7 @@ macro(target_link_oatpp target) + message("target_link_oatpp(${target}) to installed oatpp lib") + + target_link_libraries(${target} +- PRIVATE oatpp::oatpp ++ PUBLIC oatpp::oatpp + PRIVATE oatpp::oatpp-test + ) + diff --git a/ports/oatpp-zlib/missing-find_dependency.patch b/ports/oatpp-zlib/missing-find_dependency.patch new file mode 100644 index 00000000000000..f1bdeaeb5d4447 --- /dev/null +++ b/ports/oatpp-zlib/missing-find_dependency.patch @@ -0,0 +1,14 @@ +diff --git a/cmake/module-config.cmake.in b/cmake/module-config.cmake.in +index 5cc12b0..71f8f10 100644 +--- a/cmake/module-config.cmake.in ++++ b/cmake/module-config.cmake.in +@@ -1,5 +1,9 @@ + @PACKAGE_INIT@ + ++include(CMakeFindDependencyMacro) ++find_dependency(oatpp) ++find_dependency(ZLIB) ++ + if(NOT TARGET oatpp::@OATPP_MODULE_NAME@) + include("${CMAKE_CURRENT_LIST_DIR}/@OATPP_MODULE_NAME@Targets.cmake") + endif() diff --git a/ports/oatpp-zlib/portfile.cmake b/ports/oatpp-zlib/portfile.cmake index 84a4cf84a8d7f3..69e01063cfc078 100644 --- a/ports/oatpp-zlib/portfile.cmake +++ b/ports/oatpp-zlib/portfile.cmake @@ -1,4 +1,4 @@ -set(OATPP_VERSION "1.2.5") +set(OATPP_VERSION "1.3.0") vcpkg_check_linkage(ONLY_STATIC_LIBRARY) @@ -6,22 +6,21 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO oatpp/oatpp-zlib REF ${OATPP_VERSION} - SHA512 da132edc8c6476bf8d6d1df7d05eac45ac05057153fb0042f0fae54c1a20b3866174cffce2813a0cde7dbf0d8674babf61c84b62cba8dd22c440fef5f81e322b + SHA512 574f0440cbb2cd2bc14ad89e33538a1a300ad23ecc941629b74aa8ccb9aeae5158b1b57e2f1af09d7a6b9b97430a5685354677002dab2261120afa9c6ea74381 HEAD_REF master + PATCHES + missing-find_dependency.patch + fix-usage.patch ) -set(VCPKG_C_FLAGS "${VCPKG_CXX_FLAGS} -D_CRT_SECURE_NO_WARNINGS") -set(VCPKG_CXX_FLAGS "${VCPKG_CXX_FLAGS} -D_CRT_SECURE_NO_WARNINGS") - -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - PREFER_NINJA OPTIONS "-DOATPP_BUILD_TESTS:BOOL=OFF" ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/oatpp-zlib-${OATPP_VERSION}) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME oatpp-zlib CONFIG_PATH lib/cmake/oatpp-zlib-${OATPP_VERSION}) vcpkg_copy_pdbs() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/oatpp-zlib/vcpkg.json b/ports/oatpp-zlib/vcpkg.json index 4f624c3aa69570..d1b17cb37d4908 100644 --- a/ports/oatpp-zlib/vcpkg.json +++ b/ports/oatpp-zlib/vcpkg.json @@ -1,9 +1,20 @@ { "name": "oatpp-zlib", - "version": "1.2.5", + "version": "1.3.0", + "port-version": 2, "description": "Oat++ functionality for automatically compressing/decompressing content with deflate and gzip.", "homepage": "https://github.com/oatpp/oatpp-zlib", + "license": "Apache-2.0", "dependencies": [ - "oatpp" + "oatpp", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "zlib" ] } diff --git a/ports/oatpp/fix-target.patch b/ports/oatpp/fix-target.patch new file mode 100644 index 00000000000000..e2e40c729bc4d3 --- /dev/null +++ b/ports/oatpp/fix-target.patch @@ -0,0 +1,12 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 13cccc2c..c4a3fe44 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -301,6 +301,7 @@ set_target_properties(oatpp PROPERTIES + CXX_EXTENSIONS OFF + CXX_STANDARD_REQUIRED ON + ) ++target_compile_features(oatpp PUBLIC cxx_std_11) + if (MSVC) + target_compile_options(oatpp PRIVATE /permissive-) + endif() diff --git a/ports/oatpp/fix-windows-build.patch b/ports/oatpp/fix-windows-build.patch deleted file mode 100644 index d017f7480d8d40..00000000000000 --- a/ports/oatpp/fix-windows-build.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff --git a/src/oatpp/core/base/Environment.cpp b/src/oatpp/core/base/Environment.cpp -index b870835..ae36970 100644 ---- a/src/oatpp/core/base/Environment.cpp -+++ b/src/oatpp/core/base/Environment.cpp -@@ -36,14 +36,9 @@ - #include - #endif - --#if (defined(WIN32) || defined(_WIN32)) && defined(_WIN64) --struct tm* localtime_r(time_t *_clock, struct tm *_result) { -- _localtime64_s(_result, _clock); -- return _result; --} --#elif (defined(WIN32) || defined(_WIN32)) && not defined(_WIN64) -+#if defined(WIN32) || defined(_WIN32) - struct tm* localtime_r(time_t *_clock, struct tm *_result) { -- _localtime32_s(_result, _clock); -+ localtime_s(_result, _clock); - return _result; - } - #endif diff --git a/ports/oatpp/portfile.cmake b/ports/oatpp/portfile.cmake index 233bc2f22ac64c..202929b6590074 100644 --- a/ports/oatpp/portfile.cmake +++ b/ports/oatpp/portfile.cmake @@ -1,4 +1,4 @@ -set(OATPP_VERSION "1.2.5") +set(OATPP_VERSION "1.3.0") vcpkg_check_linkage(ONLY_STATIC_LIBRARY) @@ -6,23 +6,28 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO oatpp/oatpp REF ${OATPP_VERSION} - SHA512 8c7c939860c02ade86234e46f907051b088c07d6975cf90190c9263bb7fd8081a7aaccd3e08bfe8a962c07ae39ff771cf17099a48812ecc69df20272a856d0ed + SHA512 4fe8587efe1b4ecae14554ec8edb209e5558a3e4a4e6ff49bbfaaf06d2cc12f2cc306c5edc43b8dafc465aff53098ad4bebb9971694761b91a553730d5acb59a HEAD_REF master PATCHES - fix-windows-build.patch # see https://github.com/oatpp/oatpp/pull/428 + fix-target.patch ) -vcpkg_configure_cmake( +if (VCPKG_CRT_LINKAGE STREQUAL "static") + set(OATPP_MSVC_LINK_STATIC_RUNTIME TRUE) +else() + set(OATPP_MSVC_LINK_STATIC_RUNTIME FALSE) +endif() + +vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - PREFER_NINJA OPTIONS "-DOATPP_BUILD_TESTS:BOOL=OFF" - "-DCMAKE_CXX_FLAGS=-D_CRT_SECURE_NO_WARNINGS" + "-DOATPP_MSVC_LINK_STATIC_RUNTIME=${OATPP_MSVC_LINK_STATIC_RUNTIME}" ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/oatpp-${OATPP_VERSION}) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME oatpp CONFIG_PATH lib/cmake/oatpp-${OATPP_VERSION}) vcpkg_copy_pdbs() -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/include") +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/oatpp/vcpkg.json b/ports/oatpp/vcpkg.json index 594939dcf638c2..92c799fe51ae6a 100644 --- a/ports/oatpp/vcpkg.json +++ b/ports/oatpp/vcpkg.json @@ -1,6 +1,18 @@ { "name": "oatpp", - "version": "1.2.5", + "version": "1.3.0", + "port-version": 2, "description": "Modern web framework.", - "homepage": "https://github.com/oatpp/oatpp" + "homepage": "https://github.com/oatpp/oatpp", + "license": "Apache-2.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/oboe/fix_install.patch b/ports/oboe/fix_install.patch new file mode 100644 index 00000000000000..6916a32068c839 --- /dev/null +++ b/ports/oboe/fix_install.patch @@ -0,0 +1,16 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 3e3af59..aeac85d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -94,8 +94,8 @@ target_link_libraries(oboe PRIVATE log OpenSLES) + + # When installing oboe put the libraries in the lib/ folder e.g. lib/arm64-v8a + install(TARGETS oboe +- LIBRARY DESTINATION lib/${ANDROID_ABI} +- ARCHIVE DESTINATION lib/${ANDROID_ABI}) ++ LIBRARY DESTINATION lib ++ ARCHIVE DESTINATION lib) + + # Also install the headers + install(DIRECTORY include/oboe DESTINATION include) + diff --git a/ports/oboe/portfile.cmake b/ports/oboe/portfile.cmake new file mode 100644 index 00000000000000..e6aecf1e40ea9b --- /dev/null +++ b/ports/oboe/portfile.cmake @@ -0,0 +1,20 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO google/oboe + REF ${VERSION} + SHA512 7eeaf85f9889e03dd1e7f5de0e9f2cee815fc555fddfdb8c4d3450d67f6ae11b0ca43b63c73e869bfc4629d2f8e5bdb23a5833c665ca5226c339f74b9b34a8ad + HEAD_REF master + PATCHES + fix_install.patch +) + +vcpkg_cmake_configure( + SOURCE_PATH ${SOURCE_PATH} + OPTIONS +) + +vcpkg_cmake_install() +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/oboe/vcpkg.json b/ports/oboe/vcpkg.json new file mode 100644 index 00000000000000..e06d124b617cd2 --- /dev/null +++ b/ports/oboe/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "oboe", + "version": "1.8.0", + "description": "Oboe is a C++ library which makes it easy to build high-performance audio apps on Android", + "homepage": "https://developer.android.com/games/sdk/oboe", + "license": "Apache-2.0", + "supports": "android", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/observer-ptr-lite/portfile.cmake b/ports/observer-ptr-lite/portfile.cmake index 60b42bcab9cc37..76359f7bcfde1b 100644 --- a/ports/observer-ptr-lite/portfile.cmake +++ b/ports/observer-ptr-lite/portfile.cmake @@ -5,25 +5,24 @@ vcpkg_from_github( SHA512 4e53d8e0ce595604880bda423440071e7c207dd63e7b6bfa09cc7a870a010f09c51c31e640142c565ce261c4911acab13c6e9f5970853ad8fc2da3e4034ab7d7 ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DNSOP_OPT_BUILD_TESTS=OFF -DNSOP_OPT_BUILD_EXAMPLES=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets( +vcpkg_cmake_config_fixup( CONFIG_PATH lib/cmake/${PORT} ) file(REMOVE_RECURSE - ${CURRENT_PACKAGES_DIR}/debug - ${CURRENT_PACKAGES_DIR}/lib + "${CURRENT_PACKAGES_DIR}/debug" + "${CURRENT_PACKAGES_DIR}/lib" ) file(INSTALL - ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright + "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright ) diff --git a/ports/observer-ptr-lite/vcpkg.json b/ports/observer-ptr-lite/vcpkg.json index e2d70546534145..027ea5703a4f3e 100644 --- a/ports/observer-ptr-lite/vcpkg.json +++ b/ports/observer-ptr-lite/vcpkg.json @@ -1,6 +1,16 @@ { "name": "observer-ptr-lite", - "version-string": "0.4.0", - "port-version": 1, - "description": "A C++17-like observer_ptr for C++98 and later in a single-file header-only library" + "version": "0.4.0", + "port-version": 3, + "description": "A C++17-like observer_ptr for C++98 and later in a single-file header-only library", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/ocilib/fix-DisableWC4191.patch b/ports/ocilib/fix-DisableWC4191.patch new file mode 100644 index 00000000000000..f2ab36e689f42b --- /dev/null +++ b/ports/ocilib/fix-DisableWC4191.patch @@ -0,0 +1,40 @@ +diff --git a/proj/dll/ocilib_dll.vcxproj b/proj/dll/ocilib_dll.vcxproj +index 1caf1d3..b7d36ea 100644 +--- a/proj/dll/ocilib_dll.vcxproj ++++ b/proj/dll/ocilib_dll.vcxproj +@@ -116,7 +116,7 @@ + + + EnableAllWarnings +- true ++ false + + + CompileAsC +@@ -173,7 +173,7 @@ + + CompileAsC + 4255;4668;4996;4710;4711;4738;4774;4820;5045 +- true ++ false + + + OCI_CHARSET_ANSI;%(PreprocessorDefinitions) +@@ -223,7 +223,7 @@ + + CompileAsC + 4255;4668;4996;4710;4711;4738;4774;4820;5045 +- true ++ false + + + OCI_CHARSET_WIDE;%(PreprocessorDefinitions) +@@ -276,7 +276,7 @@ + + CompileAsC + 4255;4668;4996;4710;4711;4738;4774;4820;5045 +- true ++ false + + + OCI_CHARSET_WIDE;%(PreprocessorDefinitions) diff --git a/ports/ocilib/portfile.cmake b/ports/ocilib/portfile.cmake index 139ccab3f4049f..efb093d7bca2d4 100644 --- a/ports/ocilib/portfile.cmake +++ b/ports/ocilib/portfile.cmake @@ -1,32 +1,25 @@ -vcpkg_fail_port_install(ON_ARCH "arm" ON_TARGET "uwp") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO vrogier/ocilib - REF v4.7.3 - SHA512 80cf1f76420b506789b1f7edd9af826801236499dd0757be3438e3cdf286b95ddd7dd35909622b3862244f6b535a8744f0b25989fb3740a4a0fd984410fb420b + REF "v${VERSION}" + SHA512 5982b17d04ebbcb281848a998b3f2f35c5a83bc6d14cd6fecb8eef695300b577fb8dcc1377e9a8827587ac06d58441328cb0d55b19ae65788c2fce8da7ce702a HEAD_REF master + PATCHES fix-DisableWC4191.patch ) + if(VCPKG_TARGET_IS_WINDOWS) - if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") - set(PLATFORM x86) - else() - set(PLATFORM x64) - endif() - # There is no debug configuration # As it is a C library, build the release configuration and copy its output to the debug folder set(VCPKG_BUILD_TYPE release) - vcpkg_install_msbuild( + vcpkg_msbuild_install( SOURCE_PATH "${SOURCE_PATH}" - PROJECT_SUBPATH proj/dll/ocilib_dll_vs2019.sln - INCLUDES_SUBPATH include - LICENSE_SUBPATH LICENSE + PROJECT_SUBPATH proj/dll/ocilib_dll.sln RELEASE_CONFIGURATION "Release - ANSI" - PLATFORM ${PLATFORM} - USE_VCPKG_INTEGRATION - ALLOW_ROOT_INCLUDES) + PLATFORM ${VCPKG_TARGET_ARCHITECTURE} + ) + + file(COPY "${SOURCE_PATH}/include/" DESTINATION "${CURRENT_PACKAGES_DIR}/include") file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug") file(COPY "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug") @@ -39,7 +32,7 @@ else() COPY_SOURCE AUTOCONFIG SOURCE_PATH "${SOURCE_PATH}" - OPTIONS + OPTIONS --with-oracle-import=runtime ) @@ -48,5 +41,6 @@ else() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") file(RENAME "${CURRENT_PACKAGES_DIR}/share/doc/${PORT}" "${CURRENT_PACKAGES_DIR}/share/${PORT}") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/doc") - file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) endif() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/ocilib/vcpkg.json b/ports/ocilib/vcpkg.json index 6c7a56a11c9a96..6fe117b84fb80e 100644 --- a/ports/ocilib/vcpkg.json +++ b/ports/ocilib/vcpkg.json @@ -1,7 +1,15 @@ { "name": "ocilib", - "version": "4.7.3", + "version": "4.7.6", "description": "OCILIB is an open source and cross platform Oracle Driver that delivers efficient access to Oracle databases.", "homepage": "https://vrogier.github.io/ocilib/", - "supports": "!(arm | uwp)" + "license": "Apache-2.0", + "supports": "!uwp & !(arm & windows)", + "dependencies": [ + { + "name": "vcpkg-msbuild", + "host": true, + "platform": "windows" + } + ] } diff --git a/ports/octave/portfile.cmake b/ports/octave/portfile.cmake new file mode 100644 index 00000000000000..3e6422cd018742 --- /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 cb1667cd6557d48ecd7ae191bc44c9b9fd4f79e7cf4bf6c917093d120c4312e9594e6dddc5287661627ac053e9f23faaec40a1286d792d859f1fefbfdb3eeb8c +) + +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..fb609d260095d3 --- /dev/null +++ b/ports/octave/vcpkg.json @@ -0,0 +1,30 @@ +{ + "name": "octave", + "version": "9.2.0", + "port-version": 1, + "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-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 0730461b63ef3c..c3405ac3bc4b9c 100644 --- a/ports/octomap/portfile.cmake +++ b/ports/octomap/portfile.cmake @@ -3,16 +3,16 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO OctoMap/octomap - REF v1.9.5 - SHA512 e58c6d33c351b14e9596e18a8702715d167c136fd029b1078ddd13a5926fe451d3b619231b5a8ccfb64b6e5fc6db8b57e6ef329099828d2f5195c0988700b581 - HEAD_REF master + REF "v${VERSION}" + SHA512 1cbee4f6b3569587986774447ad9ec4190f597310c4d6865ffa7cd8865ece2492e4a42fa369b633d9d7a9da782560d49deaa62a18601ea4f56396bdf1a6a5f52 + HEAD_REF devel PATCHES - "001-fix-exported-targets.patch" + 001-fix-exported-targets.patch + fix-isnan.patch # Remove this patch in the next update ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" DISABLE_PARALLEL_CONFIGURE OPTIONS -DBUILD_TESTING=OFF @@ -20,26 +20,26 @@ vcpkg_configure_cmake( -DBUILD_DYNAMICETD3D_SUBPROJECT=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") vcpkg_copy_tools( TOOL_NAMES binvox2bt bt2vrml compare_octrees convert_octree edit_octree eval_octree_accuracy graph2tree log2graph AUTO_CLEAN) -vcpkg_fixup_cmake_targets() +vcpkg_cmake_config_fixup() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") endif() file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/octomap") # Handle copyright -file(INSTALL ${SOURCE_PATH}/octomap/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/octomap/LICENSE.txt") vcpkg_copy_pdbs() diff --git a/ports/octomap/vcpkg.json b/ports/octomap/vcpkg.json index a68ad430a6bc0f..53a6dad1659b14 100644 --- a/ports/octomap/vcpkg.json +++ b/ports/octomap/vcpkg.json @@ -1,7 +1,18 @@ { "name": "octomap", - "version-string": "1.9.5", - "port-version": 2, + "version": "1.10.0", "description": "An Efficient Probabilistic 3D Mapping Framework Based on Octrees", - "homepage": "https://octomap.github.io/" + "homepage": "https://octomap.github.io/", + "license": "BSD-3-Clause", + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/ode/portfile.cmake b/ports/ode/portfile.cmake index 800c2f63189c55..216695bd8845f4 100644 --- a/ports/ode/portfile.cmake +++ b/ports/ode/portfile.cmake @@ -1,27 +1,35 @@ vcpkg_from_bitbucket( OUT_SOURCE_PATH SOURCE_PATH REPO odedevs/ode - REF 0.16.1 - SHA512 04429cae1b8fc703e53880c5de78293cee46fe4855c96ca7006bd5848255a0df004b75716a6b30ff5176df004e2bec29b2a31d4af8e7ac59da18f0af2eed8396 + REF ${VERSION} + SHA512 683869e6c7a39ea8dc6666b47633199111d1c0f2516cacb534ec57f6025a5780d85b2e59095a736790662280e4e4c9a2cd44b2cafaa34669e6861cce5b32e76b HEAD_REF master + PATCHES ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS -DODE_WITH_DEMOS=0 -DODE_WITH_TESTS=0 +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DODE_WITH_DEMOS=0 + -DODE_WITH_TESTS=0 ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/ode-0.16.1) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/ode-${VERSION}) if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") +else() + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/bin/ode-config" "${CURRENT_PACKAGES_DIR}" "`dirname $0`/..") + if(NOT VCPKG_BUILD_TYPE) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/bin/ode-config" "${CURRENT_PACKAGES_DIR}" "`dirname $0`/../..") + endif() endif() -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/cmake) + +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/cmake") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/cmake") vcpkg_fixup_pkgconfig() diff --git a/ports/ode/vcpkg.json b/ports/ode/vcpkg.json index 921ec7dd3331b8..5af8a8ae3272e4 100644 --- a/ports/ode/vcpkg.json +++ b/ports/ode/vcpkg.json @@ -1,7 +1,18 @@ { "name": "ode", - "version-string": "0.16.1", - "port-version": 2, + "version": "0.16.5", "description": "Open Dynamics Engine", - "homepage": "https://bitbucket.org/odedevs/ode/src/default/" + "homepage": "https://bitbucket.org/odedevs/ode/src/master/", + "license": "BSD-3-Clause OR LGPL-2.1-or-later", + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/ogdf/fix-c4723.patch b/ports/ogdf/fix-c4723.patch deleted file mode 100644 index 14401c7a988d09..00000000000000 --- a/ports/ogdf/fix-c4723.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/cmake/compiler-specifics.cmake b/cmake/compiler-specifics.cmake -index 2446f32..45b00ac 100644 ---- a/cmake/compiler-specifics.cmake -+++ b/cmake/compiler-specifics.cmake -@@ -40,7 +40,7 @@ if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang") - set(available_default_warning_flags_release "${available_default_warning_flags_release} -Wno-error=unused-variable") - set(warnings_as_errors_flag "-Werror") - elseif(MSVC) -- set(available_default_warning_flags "/W3 /wd4018 /wd4068 /wd4101 /wd4244 /wd4250 /wd4267 /wd4373 /wd4800 /wd4996") -+ set(available_default_warning_flags "/W3 /wd4018 /wd4068 /wd4101 /wd4244 /wd4250 /wd4267 /wd4373 /wd4800 /wd4996 /wd4723") - # this has to be explained because MSVC is so cryptic: - # /W3 sets the warning level of MSVC to 3 (all warnings except informational warnings), - # /wd disables the warning with the specific code, diff --git a/ports/ogdf/portfile.cmake b/ports/ogdf/portfile.cmake index 45951698a5ad1b..aa188e7a9fd42d 100644 --- a/ports/ogdf/portfile.cmake +++ b/ports/ogdf/portfile.cmake @@ -1,15 +1,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ogdf/ogdf - REF 8a103cf3a7dfff87fe8b7534575604bc53c0870c - SHA512 264e8586be7a18640f253eb7b289dd99f1f2fc42c4d2304ab12f7c6aa9c5754b710642e7296038aea0cd9368d732d0106501fefed800743b403adafff7e3f0b2 + REF 214105da97863e1d0a066157e5cc573b65b433a9 + SHA512 8ab9f266fef224ce600cec418d5de56761714fbaa2d509ba89d55700c1d27d02a5fc93fab8eb8e10325a42c7d2fa8e251e2a18ece9a9565e215bf39672bff92d HEAD_REF master - PATCHES fix-c4723.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DCOIN_INSTALL_LIBRARY_DIR:STRING=lib -DCOIN_INSTALL_CMAKE_DIR:STRING=lib/cmake/OGDF @@ -17,11 +15,11 @@ vcpkg_configure_cmake( -DOGDF_INSTALL_CMAKE_DIR:STRING=lib/cmake/OGDF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/OGDF) +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) -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) +file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +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 dc21d5e43f8141..51731e2211b047 100644 --- a/ports/ogdf/vcpkg.json +++ b/ports/ogdf/vcpkg.json @@ -1,7 +1,18 @@ { "name": "ogdf", - "version-string": "2019-08-23", - "port-version": 2, + "version-date": "2022-06-30", "description": "Open Graph Drawing Framework", - "homepage": "https://github.com/ogdf/ogdf" + "homepage": "https://github.com/ogdf/ogdf", + "license": null, + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/ogre-next/avoid-name-clashes.patch b/ports/ogre-next/avoid-name-clashes.patch new file mode 100644 index 00000000000000..300aa94cf8434d --- /dev/null +++ b/ports/ogre-next/avoid-name-clashes.patch @@ -0,0 +1,15 @@ +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 ++++ b/CMakeLists.txt +@@ -678,5 +678,5 @@ include(Packaging) + + + # Show feature summary +-include(FeatureSummary) ++include(OgreFeatureSummary) + diff --git a/ports/ogre-next/environment-overrides.cmake b/ports/ogre-next/environment-overrides.cmake deleted file mode 100644 index 4957cdcd5d5d51..00000000000000 --- a/ports/ogre-next/environment-overrides.cmake +++ /dev/null @@ -1,16 +0,0 @@ -#[[ - -Building steps for ogre-next[d3d9]: - -1. Download and install "Microsoft DirectX SDK" -https://www.microsoft.com/en-us/download/confirmation.aspx?id=6812 - -2. Set env variable -set DXSDK_DIR=C:/Program Files (x86)/Microsoft DirectX SDK (June 2010) - -3. Install port -.\vcpkg.exe install ogre-next[d3d9] --triplet x64-windows - -]] - -set(VCPKG_ENV_PASSTHROUGH DXSDK_DIR) diff --git a/ports/ogre-next/fix-dependencies.patch b/ports/ogre-next/fix-dependencies.patch new file mode 100644 index 00000000000000..df65fe426d937e --- /dev/null +++ b/ports/ogre-next/fix-dependencies.patch @@ -0,0 +1,69 @@ +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 +@@ -74,21 +74,24 @@ set(CMAKE_FRAMEWORK_PATH ${OGRE_DEP_SEARCH_PATH} ${CMAKE_FRAMEWORK_PATH}) + ####################################################################### + + # Find zlib +-find_package(ZLIB) ++find_package(ZLIB REQUIRED) + macro_log_feature(ZLIB_FOUND "zlib" "Simple data compression library" "http://www.zlib.net" FALSE "" "") + + if (ZLIB_FOUND) + # Find zziplib +- find_package(ZZip) ++ 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 () + + # Find FreeImage +-find_package(FreeImage) ++find_package(FreeImage NAMES freeimage REQUIRED) ++set(FreeImage_LIBRARIES freeimage::FreeImage) + macro_log_feature(FreeImage_FOUND "freeimage" "Support for commonly used graphics image formats" "http://freeimage.sourceforge.net" FALSE "" "") + + # Find FreeType +-find_package(Freetype) ++find_package(FREETYPE NAMES freetype REQUIRED) ++set(FREETYPE_LIBRARIES freetype) + macro_log_feature(FREETYPE_FOUND "freetype" "Portable font engine" "http://www.freetype.org" FALSE "" "") + + find_package(Vulkan) +@@ -105,7 +108,7 @@ if (UNIX AND NOT APPLE AND NOT ANDROID AND NOT EMSCRIPTEN) + endif () + + # 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_find_package_sdl2.patch b/ports/ogre-next/fix_find_package_sdl2.patch deleted file mode 100644 index aa72be664bc03a..00000000000000 --- a/ports/ogre-next/fix_find_package_sdl2.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff --git a/CMake/Dependencies.cmake b/CMake/Dependencies.cmake -index 4b67ed8cb..7da194820 100644 ---- a/CMake/Dependencies.cmake -+++ b/CMake/Dependencies.cmake -@@ -292,11 +292,11 @@ macro_log_feature(PYTHONLIBS_FOUND "Python" "Language bindings to use OGRE from - # Find sdl2 - if(NOT ANDROID AND NOT EMSCRIPTEN) - # find script does not work in cross compilation environment -- find_package(SDL2) -+ find_package(SDL2 CONFIG) - macro_log_feature(SDL2_FOUND "SDL2" "Simple DirectMedia Library needed for input handling in samples" "https://www.libsdl.org/" FALSE "" "") - if(SDL2_FOUND AND WIN32 AND NOT SDL2_BINARY) - # fix linking static SDL2 on windows -- set(SDL2_LIBRARY ${SDL2_LIBRARY} winmm.lib imm32.lib version.lib) -+ set(SDL2_LIBRARY SDL2::SDL2 winmm.lib imm32.lib version.lib) - endif() - endif() - diff --git a/ports/ogre-next/portfile.cmake b/ports/ogre-next/portfile.cmake index 02f147ab85b963..9da922912c0dba 100644 --- a/ports/ogre-next/portfile.cmake +++ b/ports/ogre-next/portfile.cmake @@ -1,121 +1,101 @@ -# 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() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO OGRECave/ogre-next - REF 8083067c1835147de5d82015347d95c710e36bc0 - SHA512 2660f739def7076b42009ba932a27532f2a20e7be8ec2674aff29116c7dcd7f2d75564d8ce07bef3dba13ece5293d604573ad4f8734f6086c1750127f52834cd + REF v${VERSION} + SHA512 52ed2d2a3375c0d35f0dc695b986514484ad1d47966c5c18351d3b09913123b2487b9729738c6b8b1219c1a992a8c8509a2303e097a6eb26497e152a14d48830 HEAD_REF master PATCHES toolchain_fixes.patch - rename_config_cmake.patch - fix_find_package_sdl2.patch + avoid-name-clashes.patch + fix-dependencies.patch +) +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" ) -file(REMOVE "${SOURCE_PATH}/CMake/Packages/FindOpenEXR.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 +) -if (VCPKG_LIBRARY_LINKAGE STREQUAL static) - set(OGRE_STATIC ON) -else() - set(OGRE_STATIC OFF) -endif() +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" OGRE_STATIC) -vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - d3d9 OGRE_BUILD_RENDERSYSTEM_D3D9 - java OGRE_BUILD_COMPONENT_JAVA - python OGRE_BUILD_COMPONENT_PYTHON - csharp OGRE_BUILD_COMPONENT_CSHARP -) +vcpkg_find_acquire_program(PKGCONFIG) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DOGRE_BUILD_DEPENDENCIES=OFF - -DOGRE_BUILD_SAMPLES=OFF - -DOGRE_BUILD_TESTS=OFF - -DOGRE_BUILD_TOOLS=OFF + ${FEATURE_OPTIONS} + -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_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_CMAKE=ON -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 -# Optional stuff - ${FEATURE_OPTIONS} -# vcpkg specific stuff - -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_install_cmake() -vcpkg_fixup_cmake_targets() - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) - -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}) -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/OgreMain.lib ${CURRENT_PACKAGES_DIR}/lib/manual-link/OgreMain.lib) - else() - file(RENAME ${CURRENT_PACKAGES_DIR}/lib/OgreMainStatic.lib ${CURRENT_PACKAGES_DIR}/lib/manual-link/OgreMainStatic.lib) - endif() - 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/OgreMain_d.lib ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link/OgreMain_d.lib) - else() - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/OgreMainStatic_d.lib ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link/OgreMainStatic_d.lib) - endif() - 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() +if(NOT VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_MINGW) + vcpkg_fixup_pkgconfig() endif() -# Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -vcpkg_copy_pdbs() +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/ogre-next/rename_config_cmake.patch b/ports/ogre-next/rename_config_cmake.patch deleted file mode 100644 index d85603290c455c..00000000000000 --- a/ports/ogre-next/rename_config_cmake.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/CMake/InstallResources.cmake b/CMake/InstallResources.cmake -index 79f7514..79bc033 100644 ---- a/CMake/InstallResources.cmake -+++ b/CMake/InstallResources.cmake -@@ -215,7 +215,7 @@ if(NOT DEFINED OGRE_CMAKE_DIR) - set(OGRE_CMAKE_DIR "${OGRE_LIB_DIRECTORY}/OGRE/cmake") - endif() - endif() --configure_package_config_file(${OGRE_TEMPLATES_DIR}/OGREConfig.cmake.in ${PROJECT_BINARY_DIR}/cmake/OGREConfig.cmake -+configure_package_config_file(${OGRE_TEMPLATES_DIR}/OGREConfig.cmake.in ${PROJECT_BINARY_DIR}/cmake/ogre-nextConfig.cmake - INSTALL_DESTINATION ${OGRE_CMAKE_DIR} - PATH_VARS CMAKE_INSTALL_PREFIX) - write_basic_package_version_file( -@@ -223,7 +223,7 @@ write_basic_package_version_file( - VERSION ${OGRE_VERSION} - COMPATIBILITY SameMajorVersion) - install(FILES -- ${PROJECT_BINARY_DIR}/cmake/OGREConfig.cmake -+ ${PROJECT_BINARY_DIR}/cmake/ogre-nextConfig.cmake - ${PROJECT_BINARY_DIR}/cmake/OGREConfigVersion.cmake - DESTINATION ${OGRE_CMAKE_DIR} - ) diff --git a/ports/ogre-next/toolchain_fixes.patch b/ports/ogre-next/toolchain_fixes.patch index 9ff2d87dfe6b1d..6ea38a1e0ec0b3 100644 --- a/ports/ogre-next/toolchain_fixes.patch +++ b/ports/ogre-next/toolchain_fixes.patch @@ -1,291 +1,136 @@ diff --git a/CMake/CMakeLists.txt b/CMake/CMakeLists.txt -index a7a3796..2e21403 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(INST_FILES Utils/FindPkgMacros.cmake) -diff --git a/CMake/InstallResources.cmake b/CMake/InstallResources.cmake -index 783755e..79f7514 100644 ---- a/CMake/InstallResources.cmake -+++ b/CMake/InstallResources.cmake -@@ -208,10 +208,12 @@ endif () - # Create the CMake package files - include(CMakePackageConfigHelpers) - --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() - endif() - configure_package_config_file(${OGRE_TEMPLATES_DIR}/OGREConfig.cmake.in ${PROJECT_BINARY_DIR}/cmake/OGREConfig.cmake - INSTALL_DESTINATION ${OGRE_CMAKE_DIR} -diff --git a/CMake/Packages/FindCg.cmake b/CMake/Packages/FindCg.cmake -index 4501cf9..7eb57c3 100644 ---- a/CMake/Packages/FindCg.cmake -+++ b/CMake/Packages/FindCg.cmake -@@ -56,7 +56,7 @@ endif() - - find_library(Cg_LIBRARY_REL NAMES ${Cg_LIBRARY_NAMES} HINTS ${Cg_LIB_SEARCH_PATH} ${Cg_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" Release RelWithDebInfo MinSizeRel) - find_library(Cg_LIBRARY_DBG NAMES ${Cg_LIBRARY_NAMES_DBG} HINTS ${Cg_LIB_SEARCH_PATH} ${Cg_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" Debug) --make_library_set(Cg_LIBRARY) -+make_library_set(Cg) - - if (WIN32) - if (CMAKE_CL_64) -diff --git a/CMake/Packages/FindFreeImage.cmake b/CMake/Packages/FindFreeImage.cmake -index 7c89ec5..d8314f0 100644 ---- a/CMake/Packages/FindFreeImage.cmake -+++ b/CMake/Packages/FindFreeImage.cmake -@@ -43,7 +43,7 @@ find_path(FreeImage_INCLUDE_DIR NAMES FreeImage.h HINTS ${FreeImage_INC_SEARCH_P - find_library(FreeImage_LIBRARY_REL NAMES ${FreeImage_LIBRARY_NAMES} HINTS ${FreeImage_LIB_SEARCH_PATH} ${FreeImage_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" Release RelWithDebInfo MinSizeRel) - find_library(FreeImage_LIBRARY_DBG NAMES ${FreeImage_LIBRARY_NAMES_DBG} HINTS ${FreeImage_LIB_SEARCH_PATH} ${FreeImage_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" Debug) - --make_library_set(FreeImage_LIBRARY) -+make_library_set(FreeImage) - - findpkg_finish(FreeImage) - -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 2b9deba..f33a298 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 0c48510..c121966 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) -diff --git a/CMake/Packages/FindZZip.cmake b/CMake/Packages/FindZZip.cmake -index e97951e..54c2567 100644 ---- a/CMake/Packages/FindZZip.cmake -+++ b/CMake/Packages/FindZZip.cmake -@@ -39,12 +39,12 @@ use_pkgconfig(ZZip_PKGC zziplib) - - findpkg_framework(ZZip) - --find_path(ZZip_INCLUDE_DIR NAMES zzip/zzip.h HINTS ${ZZip_INC_SEARCH_PATH} ${ZZip_PKGC_INCLUDE_DIRS}) -+find_path(ZZip_INCLUDE_DIRS NAMES zzip/zzip.h HINTS ${ZZip_INC_SEARCH_PATH} ${ZZip_PKGC_INCLUDE_DIRS}) - - find_library(ZZip_LIBRARY_REL NAMES ${ZZip_LIBRARY_NAMES} HINTS ${ZZip_LIB_SEARCH_PATH} ${ZZip_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" Release RelWithDebInfo MinSizeRel) - find_library(ZZip_LIBRARY_DBG NAMES ${ZZip_LIBRARY_NAMES_DBG} HINTS ${ZZip_LIB_SEARCH_PATH} ${ZZip_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" Debug) - --make_library_set(ZZip_LIBRARY) -+make_library_set(ZZip) - - findpkg_finish(ZZip) - ++set(OGRE_CMAKE_DIR "share/ogre-next") + + set(INST_FILES + 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 374f84b..dc7066d 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 3e09d2d..58968f0 100644 +index 2786e35..7a92a7b 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -274,7 +274,7 @@ elseif(EMSCRIPTEN) - elseif (APPLE AND NOT 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(XCODE_ATTRIBUTE_SDKROOT macosx) -- 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() -diff --git a/Components/Overlay/CMakeLists.txt b/Components/Overlay/CMakeLists.txt -index bdb303d..d9cc221 100644 ---- a/Components/Overlay/CMakeLists.txt -+++ b/Components/Overlay/CMakeLists.txt -@@ -21,7 +21,7 @@ file(GLOB SOURCE_FILES "${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp") - # setup target - add_library(OgreOverlay ${OGRE_COMP_LIB_TYPE} ${HEADER_FILES} ${SOURCE_FILES} ${PLATFORM_HEADER_FILES} ${PLATFORM_SOURCE_FILES}) - set_target_properties(OgreOverlay PROPERTIES VERSION ${OGRE_SOVERSION} SOVERSION ${OGRE_SOVERSION}) --target_link_libraries(OgreOverlay PUBLIC OgreMain PRIVATE "${FREETYPE_LIBRARIES}" ZLIB::ZLIB) -+target_link_libraries(OgreOverlay PUBLIC OgreMain PRIVATE ${FREETYPE_LIBRARIES} ZLIB::ZLIB) - target_include_directories(OgreOverlay PUBLIC - "$" - $ +- 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 6ec4e34..cc9cb9d 100644 +index b698b84..75fef2c 100644 --- a/OgreMain/CMakeLists.txt +++ b/OgreMain/CMakeLists.txt -@@ -225,8 +225,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 ".") - if(OGRE_BUILD_LIBS_AS_FRAMEWORKS) - add_custom_command(TARGET OgreMain POST_BUILD -diff --git a/PlugIns/EXRCodec/CMakeLists.txt b/PlugIns/EXRCodec/CMakeLists.txt -index e9c936a..bb8747e 100644 ---- a/PlugIns/EXRCodec/CMakeLists.txt -+++ b/PlugIns/EXRCodec/CMakeLists.txt -@@ -16,7 +16,7 @@ target_link_libraries(Codec_EXR OgreMain ${OPENEXR_LIBRARIES}) - target_include_directories(Codec_EXR PUBLIC - "$" - $) --target_include_directories(Codec_EXR SYSTEM PRIVATE "${OPENEXR_INCLUDE_DIR}/OpenEXR") -+target_include_directories(Codec_EXR SYSTEM PRIVATE "${OPENEXR_INCLUDE_DIR}") - - ogre_config_framework(Codec_EXR) - ogre_config_plugin(Codec_EXR) + 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 a729f0bfd84319..53528721c27af0 100644 --- a/ports/ogre-next/vcpkg.json +++ b/ports/ogre-next/vcpkg.json @@ -1,37 +1,70 @@ { "name": "ogre-next", - "version-string": "2019-10-20", - "port-version": 2, - "description": "Ogre 2.1 & 2.2 - scene-oriented, flexible 3D engine written in C++", + "version": "2.3.3", + "port-version": 3, + "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", - "poco", + { + "name": "freetype", + "default-features": false + }, "rapidjson", - "sdl2", - "tbb", "tinyxml", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, "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": { - "csharp": { - "description": "Build csharp bindings" + "d3d11": { + "description": "Direct3D 11 render system", + "supports": "windows" + }, + "gl3plus": { + "description": "OpenGL 3+ render system", + "supports": "!android & !(arm & windows)" }, - "d3d9": { - "description": "Build Direct3D9 RenderSystem" + "metal": { + "description": "Metal render system", + "supports": "osx | ios" }, - "java": { - "description": "Build Java (JNI) bindings" + "planar-reflections": { + "description": "Component to use planar reflections, can be used by both HlmsPbs and HlmsUnlit" }, - "python": { - "description": "Build Python bindings", + "vulkan": { + "description": "Vulkan render system", + "supports": "!osx", "dependencies": [ - "python3" + "glslang", + "vulkan" ] } } diff --git a/ports/ogre/cfg-rel-paths.patch b/ports/ogre/cfg-rel-paths.patch new file mode 100644 index 00000000000000..512bf159781e8a --- /dev/null +++ b/ports/ogre/cfg-rel-paths.patch @@ -0,0 +1,24 @@ +diff --git a/CMake/InstallResources.cmake b/CMake/InstallResources.cmake +index 09789ce..3d918e4 100644 +--- a/CMake/InstallResources.cmake ++++ b/CMake/InstallResources.cmake +@@ -61,7 +61,6 @@ elseif (APPLE) + endif() + # these are resolved relative to the app bundle + set(OGRE_SAMPLES_DIR_REL "Contents/Plugins/") +- set(OGRE_CFG_INSTALL_PATH "bin") + elseif (UNIX) + set(OGRE_TEST_MEDIA_DIR_REL "${CMAKE_INSTALL_PREFIX}/Tests/Media") + set(OGRE_SAMPLES_DIR_REL "${CMAKE_INSTALL_PREFIX}/${OGRE_LIB_DIRECTORY}/OGRE/Samples") +@@ -155,6 +154,10 @@ endif() + + set(OGRE_SAMPLE_RESOURCES "") + ++set(OGRE_PLUGIN_DIR_REL "${CMAKE_INSTALL_PREFIX}/${OGRE_PLUGINS_PATH}") ++cmake_path(RELATIVE_PATH OGRE_PLUGIN_DIR_REL BASE_DIRECTORY "${CMAKE_INSTALL_PREFIX}/${OGRE_CFG_INSTALL_PATH}") ++set(OGRE_MEDIA_DIR_REL "${CMAKE_INSTALL_PREFIX}/${OGRE_MEDIA_PATH}") ++cmake_path(RELATIVE_PATH OGRE_MEDIA_DIR_REL BASE_DIRECTORY "${CMAKE_INSTALL_PREFIX}/${OGRE_CFG_INSTALL_PATH}") + set(OGRE_CORE_MEDIA_DIR "${OGRE_MEDIA_DIR_REL}") + + # CREATE CONFIG FILES - INSTALL VERSIONS + diff --git a/ports/ogre/disable-dependency-qt.patch b/ports/ogre/disable-dependency-qt.patch deleted file mode 100644 index f97bd256b7fba6..00000000000000 --- a/ports/ogre/disable-dependency-qt.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/CMake/Dependencies.cmake b/CMake/Dependencies.cmake -index 068dd27..721121b 100644 ---- a/CMake/Dependencies.cmake -+++ b/CMake/Dependencies.cmake -@@ -346,7 +346,9 @@ if(NOT ANDROID AND NOT EMSCRIPTEN) - ) - endif() - -+ if (0) - find_package(Qt5 COMPONENTS Core Gui QUIET) -+ endif() - macro_log_feature(Qt5_FOUND "Qt" "optional integration with the Qt Library for window creation and input" "http://www.qt.io/" FALSE "" "") - endif() - diff --git a/ports/ogre/fix-dependencies.patch b/ports/ogre/fix-dependencies.patch new file mode 100644 index 00000000000000..a90a652fb3cc4d --- /dev/null +++ b/ports/ogre/fix-dependencies.patch @@ -0,0 +1,220 @@ +diff --git a/CMake/Dependencies.cmake b/CMake/Dependencies.cmake +index 21590f4..4b46a29 100644 +--- a/CMake/Dependencies.cmake ++++ b/CMake/Dependencies.cmake +@@ -210,11 +210,14 @@ endif() + ####################################################################### + + # Find FreeImage +-find_package(FreeImage) ++find_package(FreeImage NAMES freeimage) ++set(FreeImage_LIBRARIES freeimage::FreeImage) ++set(FreeImage_LIBRARY_DBG "-lFreeImaged") ++set(FreeImage_LIBRARY_REL "-lFreeImage") + macro_log_feature(FreeImage_FOUND "freeimage" "Support for commonly used graphics image formats" "http://freeimage.sourceforge.net") + + # Find FreeType +-find_package(Freetype) ++find_package(FREETYPE NAMES freetype) + macro_log_feature(FREETYPE_FOUND "freetype" "Portable font engine" "http://www.freetype.org") + + # Find X11 +@@ -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 +-find_package(OpenEXR) ++find_package(IMath CONFIG) ++find_package(OPENEXR NAMES OpenEXR) ++set(OPENEXR_LIBRARIES OpenEXR::OpenEXR Imath::Imath) + macro_log_feature(OPENEXR_FOUND "OpenEXR" "Load High dynamic range images" "http://www.openexr.com/") + + # Python + set(Python_ADDITIONAL_VERSIONS 3.4) # allows using python3 on Ubuntu 14.04 +-find_package(PythonInterp) +-find_package(PythonLibs) ++find_package(Python3 COMPONENTS Development Interpreter) # Interpreter is needed for Python3_FOUND ++set(PYTHONLIBS_FOUND "${Python3_FOUND}") ++set(PYTHON_INCLUDE_PATH "${Python3_INCLUDE_DIRS}") ++set(PYTHON_LIBRARIES "${Python3_LIBRARIES}") + macro_log_feature(PYTHONLIBS_FOUND "Python" "Language bindings to use OGRE from Python" "http://www.python.org/") + + # SWIG +@@ -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 +-find_package(pugixml QUIET) ++find_package(pugixml CONFIG REQUIRED) + macro_log_feature(pugixml_FOUND "pugixml" "Needed for XMLConverter and DotScene Plugin" "https://pugixml.org/") + + # Find zlib +@@ -303,7 +310,7 @@ find_package(ZLIB) + macro_log_feature(ZLIB_FOUND "zlib" "Simple data compression library" "http://www.zlib.net") + + # Assimp +-find_package(assimp QUIET) ++find_package(assimp CONFIG) + macro_log_feature(assimp_FOUND "Assimp" "Needed for the AssimpLoader Plugin" "https://www.assimp.org/") + + # Bullet +@@ -311,6 +318,8 @@ find_package(Bullet QUIET) + macro_log_feature(BULLET_FOUND "Bullet" "Bullet physics" "https://pybullet.org") + + if(assimp_FOUND) ++ add_library(fix::assimp ALIAS assimp::assimp) ++elseif(0) + # workaround horribly broken assimp cmake, fixed with assimp 5.1 + add_library(fix::assimp INTERFACE IMPORTED) + set_target_properties(fix::assimp PROPERTIES +@@ -329,7 +338,7 @@ endif() + # Find sdl2 + if(NOT ANDROID AND NOT EMSCRIPTEN) + # find script does not work in cross compilation environment +- find_package(SDL2 QUIET) ++ find_package(SDL2 CONFIG REQUIRED) + macro_log_feature(SDL2_FOUND "SDL2" "Simple DirectMedia Library needed for input handling in samples" "https://www.libsdl.org/") + if(SDL2_FOUND AND NOT TARGET SDL2::SDL2) + add_library(SDL2::SDL2 INTERFACE IMPORTED) +diff --git a/CMake/Templates/OGREConfig.cmake.in b/CMake/Templates/OGREConfig.cmake.in +index 2047f66..a5c7cd0 100644 +--- a/CMake/Templates/OGREConfig.cmake.in ++++ b/CMake/Templates/OGREConfig.cmake.in +@@ -35,6 +35,25 @@ set(OGRE_LIBRARIES) + cmake_policy(PUSH) + cmake_policy(SET CMP0012 NEW) + ++include(CMakeFindDependencyMacro) ++find_dependency(pugixml CONFIG) ++find_dependency(SDL2 CONFIG) ++find_dependency(ZLIB) ++find_dependency(freetype CONFIG) ++if (@OGRE_BUILD_COMPONENT_OVERLAY_IMGUI@) ++ find_dependency(imgui CONFIG) ++endif() ++if(@OGRE_BUILD_PLUGIN_ASSIMP@) ++ find_dependency(assimp CONFIG) ++endif() ++if(@OGRE_BUILD_PLUGIN_FREEIMAGE@) ++ find_dependency(freeimage CONFIG) ++endif() ++if(@OGRE_BUILD_PLUGIN_EXRCODEC@) ++ find_dependency(Imath CONFIG) ++ find_dependency(OpenEXR CONFIG) ++endif() ++ + if(@OGRE_THREAD_PROVIDER@ EQUAL 1) + list(APPEND OGRE_INCLUDE_DIRS @Boost_INCLUDE_DIRS@) + endif() +diff --git a/Components/Bites/CMakeLists.txt b/Components/Bites/CMakeLists.txt +index 9e990b8..16c0ae4 100644 +--- a/Components/Bites/CMakeLists.txt ++++ b/Components/Bites/CMakeLists.txt +@@ -185,6 +185,12 @@ elseif(NOT EMSCRIPTEN) + message(WARNING "SDL2 not found - no input handling and reduced window creation capabilites") + endif() + ++if(OGRE_BUILD_COMPONENT_OVERLAY_IMGUI) ++ find_package(imgui CONFIG REQUIRED) ++ find_path(IMGUI_DIR NAMES imgui.h) ++ target_link_libraries(OgreBites PRIVATE imgui::imgui) ++endif() ++ + 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 41bd634..87f1406 100644 +--- a/Components/Overlay/CMakeLists.txt ++++ b/Components/Overlay/CMakeLists.txt +@@ -19,6 +19,8 @@ list(APPEND HEADER_FILES + file(GLOB SOURCE_FILES "${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp") + + if(OGRE_BUILD_COMPONENT_OVERLAY_IMGUI) ++ find_package(imgui CONFIG REQUIRED) ++elseif(0) + 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) + endif() + + if(OGRE_BUILD_COMPONENT_OVERLAY_IMGUI) ++ target_link_libraries(OgreOverlay PUBLIC OgreMain PRIVATE imgui::imgui) ++elseif(0) + target_include_directories(OgreOverlay PUBLIC + PUBLIC "$" + PRIVATE "$") +diff --git a/PlugIns/EXRCodec/src/OgreEXRCodec.cpp b/PlugIns/EXRCodec/src/OgreEXRCodec.cpp +index efd4b32..1e3ea23 100644 +--- a/PlugIns/EXRCodec/src/OgreEXRCodec.cpp ++++ b/PlugIns/EXRCodec/src/OgreEXRCodec.cpp +@@ -36,6 +36,9 @@ THE SOFTWARE. + #include "O_IStream.h" + + #include ++#include ++#include ++#include + #include + #include + #include +diff --git a/PlugIns/STBICodec/CMakeLists.txt b/PlugIns/STBICodec/CMakeLists.txt +index 10283f5..e7edfd3 100644 +--- a/PlugIns/STBICodec/CMakeLists.txt ++++ b/PlugIns/STBICodec/CMakeLists.txt +@@ -19,8 +19,10 @@ endif() + add_library(Codec_STBI ${OGRE_LIB_TYPE} ${HEADER_FILES} ${SOURCES}) + target_link_libraries(Codec_STBI PUBLIC OgreMain) + ++find_path(STB_INCLUDE_DIRS "stb_image.h") + target_include_directories(Codec_STBI PUBLIC + "$" ++ "$" + $) + + if(CMAKE_COMPILER_IS_GNUCXX) +diff --git a/PlugIns/STBICodec/src/OgreSTBICodec.cpp b/PlugIns/STBICodec/src/OgreSTBICodec.cpp +index c5a4d4b..df648d7 100644 +--- a/PlugIns/STBICodec/src/OgreSTBICodec.cpp ++++ b/PlugIns/STBICodec/src/OgreSTBICodec.cpp +@@ -40,7 +40,7 @@ THE SOFTWARE. + #define STBI_NO_STDIO + #define STB_IMAGE_IMPLEMENTATION + #define STB_IMAGE_STATIC +-#include "stbi/stb_image.h" ++#include "stb_image.h" + + #ifdef HAVE_ZLIB + #include +@@ -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 +-#include "stbi/stb_image_write.h" ++#include "stb_image_write.h" + + 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.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/ports/ogre/fix-dependency.patch b/ports/ogre/fix-dependency.patch deleted file mode 100644 index fd7076dd83ed5c..00000000000000 --- a/ports/ogre/fix-dependency.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff --git a/CMake/Dependencies.cmake b/CMake/Dependencies.cmake -index 2ae0b66..e6c55cd 100644 ---- a/CMake/Dependencies.cmake -+++ b/CMake/Dependencies.cmake -@@ -242,7 +242,7 @@ find_package(FreeImage) - macro_log_feature(FreeImage_FOUND "freeimage" "Support for commonly used graphics image formats" "http://freeimage.sourceforge.net" FALSE "" "") - - # Find FreeType --find_package(Freetype) -+find_package(freetype CONFIG REQUIRED) - macro_log_feature(FREETYPE_FOUND "freetype" "Portable font engine" "http://www.freetype.org" FALSE "" "") - - # Find X11 -@@ -310,11 +310,11 @@ find_package(SWIG 3.0.8 QUIET) - macro_log_feature(SWIG_FOUND "SWIG" "Language bindings (Python, Java, C#) for OGRE" "http://www.swig.org/" FALSE "" "") - - # pugixml --find_package(pugixml QUIET) -+find_package(pugixml CONFIG REQUIRED) - macro_log_feature(pugixml_FOUND "pugixml" "Needed for XMLConverter and DotScene Plugin" "https://pugixml.org/" FALSE "" "") - - # Assimp --find_package(ASSIMP QUIET) -+find_package(assimp CONFIG REQUIRED) - macro_log_feature(ASSIMP_FOUND "Assimp" "Needed for the AssimpLoader Plugin" "https://www.assimp.org/" FALSE "" "") - - if(ASSIMP_FOUND) -@@ -336,7 +336,7 @@ endif() - # Find sdl2 - if(NOT ANDROID AND NOT EMSCRIPTEN) - # find script does not work in cross compilation environment -- find_package(SDL2 QUIET) -+ find_package(SDL2 CONFIG REQUIRED) - macro_log_feature(SDL2_FOUND "SDL2" "Simple DirectMedia Library needed for input handling in samples" "https://www.libsdl.org/" FALSE "" "") - if(SDL2_FOUND AND NOT TARGET SDL2::SDL2) - add_library(SDL2::SDL2 INTERFACE IMPORTED) diff --git a/ports/ogre/fix-findimgui.patch b/ports/ogre/fix-findimgui.patch deleted file mode 100644 index 8e812d92652dbf..00000000000000 --- a/ports/ogre/fix-findimgui.patch +++ /dev/null @@ -1,65 +0,0 @@ -diff --git a/Components/Overlay/CMakeLists.txt b/Components/Overlay/CMakeLists.txt -index df8f32af4..42be1e8f2 100644 ---- a/Components/Overlay/CMakeLists.txt -+++ b/Components/Overlay/CMakeLists.txt -@@ -19,21 +19,8 @@ list(APPEND HEADER_FILES - file(GLOB SOURCE_FILES "${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp") - - if(OGRE_BUILD_COMPONENT_OVERLAY_IMGUI) -- set(IMGUI_DIR "${PROJECT_BINARY_DIR}/imgui-1.77" CACHE PATH "") -- if(NOT EXISTS ${IMGUI_DIR}) -- message(STATUS "Dowloading imgui") -- file(DOWNLOAD -- https://github.com/ocornut/imgui/archive/v1.77.tar.gz -- ${PROJECT_BINARY_DIR}/imgui.tar.gz) -- execute_process(COMMAND ${CMAKE_COMMAND} -- -E tar xf imgui.tar.gz WORKING_DIRECTORY ${PROJECT_BINARY_DIR}) -- endif() -- list(APPEND SOURCE_FILES -- ${IMGUI_DIR}/imgui.cpp -- ${IMGUI_DIR}/imgui_draw.cpp -- ${IMGUI_DIR}/imgui_widgets.cpp -- ${IMGUI_DIR}/imgui_demo.cpp -- ${IMGUI_DIR}/misc/freetype/imgui_freetype.cpp) -+ find_package(imgui CONFIG REQUIRED) -+ find_path(IMGUI_INCLUDE_DIR imgui.h) - else() - list(REMOVE_ITEM SOURCE_FILES "${CMAKE_CURRENT_SOURCE_DIR}/src/OgreImGuiOverlay.cpp") - endif() -@@ -41,13 +28,17 @@ endif() - # setup target - add_library(OgreOverlay ${OGRE_COMP_LIB_TYPE} ${HEADER_FILES} ${SOURCE_FILES}) - set_target_properties(OgreOverlay PROPERTIES VERSION ${OGRE_SOVERSION} SOVERSION ${OGRE_SOVERSION}) --target_link_libraries(OgreOverlay PUBLIC OgreMain PRIVATE ${FREETYPE_LIBRARIES} ZLIB::ZLIB) -+if(OGRE_BUILD_COMPONENT_OVERLAY_IMGUI) -+ target_link_libraries(OgreOverlay PUBLIC OgreMain PRIVATE freetype ZLIB::ZLIB imgui::imgui) -+else() -+ target_link_libraries(OgreOverlay PUBLIC OgreMain PRIVATE freetype ZLIB::ZLIB) -+endif() - target_include_directories(OgreOverlay PUBLIC - "$" - $ - PRIVATE ${FREETYPE_INCLUDE_DIRS}) - --if(OGRE_BUILD_COMPONENT_OVERLAY_IMGUI) -+if(0) - target_include_directories(OgreOverlay PUBLIC - PUBLIC "$" - PRIVATE "$") -diff --git "a/Components/Bites/CMakeLists.txt" "b/Components/Bites/CMakeLists.txt" -index 5d58a8d74..fe41e4a28 100644 ---- "a/Components/Bites/CMakeLists.txt" -+++ "b/Components/Bites/CMakeLists.txt" -@@ -152,6 +152,11 @@ elseif(NOT EMSCRIPTEN) - message(WARNING "SDL2 not found - no input handling and reduced window creation capabilites") - endif() - -+if(OGRE_BUILD_COMPONENT_OVERLAY_IMGUI) -+ find_package(imgui CONFIG REQUIRED) -+ target_link_libraries(OgreBites PRIVATE imgui::imgui) -+endif() -+ - generate_export_header(OgreBites - EXPORT_MACRO_NAME _OgreBitesExport - EXPORT_FILE_NAME ${PROJECT_BINARY_DIR}/include/OgreBitesPrerequisites.h) - diff --git a/ports/ogre/pkgconfig.patch b/ports/ogre/pkgconfig.patch new file mode 100644 index 00000000000000..ac63f21ddb20a9 --- /dev/null +++ b/ports/ogre/pkgconfig.patch @@ -0,0 +1,30 @@ +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() ++ set(PC_REQUIRES_STATIC "") ++ if(OGRE_BUILD_COMPONENT_OVERLAY) ++ string(APPEND PC_REQUIRES_STATIC " freetype2") ++ endif() ++ if(X11_X11_LIB) ++ string(APPEND PC_REQUIRES_STATIC " x11 xt xaw7 gl") ++ endif() + configure_file(${OGRE_TEMPLATES_DIR}/OGREStatic.pc.in ${PROJECT_BINARY_DIR}/pkgconfig/OGRE.pc @ONLY) + 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 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, 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 c14da2fac93b22..e0243aad6ff9fe 100644 --- a/ports/ogre/portfile.cmake +++ b/ports/ogre/portfile.cmake @@ -2,121 +2,168 @@ 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_WINDOWS AND NOT VCPKG_TARGET_IS_OSX) 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() +if(VCPKG_TARGET_IS_ANDROID OR VCPKG_TARGET_IS_IOS OR VCPKG_TARGET_IS_EMSCRIPTEN) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO OGRECave/ogre - REF 7d0c8181ac43ad20bdba326abbd3deeddf310f0b #v1.12.9 - SHA512 f223075f49a2465cd5070f5efa796aa715f3ea2fefd578e4ec0a11be2fd3330922849ed804e1df004209abafaa7b24ff42432dd79f336a56063e3cf38ae0e8c9 + REF "v${VERSION}" + SHA512 18622296d5494705b3b0f2386d35a147efe3a79f05ddc7ac6dca49ea3b3f373354023e5175244176a6478ec998b7361d034ee344679f036e1466e27ca8c4d48f HEAD_REF master PATCHES - toolchain_fixes.patch - fix-dependency.patch - fix-findimgui.patch - disable-dependency-qt.patch + fix-dependencies.patch + cfg-rel-paths.patch + swig-python-polyfill.patch + pkgconfig.patch + same-install-rules-all-platforms.patch ) file(REMOVE "${SOURCE_PATH}/CMake/Packages/FindOpenEXR.cmake") -if (VCPKG_LIBRARY_LINKAGE STREQUAL static) - set(OGRE_STATIC ON) -else() - set(OGRE_STATIC OFF) -endif() - -# Configure features +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" OGRE_STATIC) +string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" OGRE_CONFIG_STATIC_LINK_CRT) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - d3d9 OGRE_BUILD_RENDERSYSTEM_D3D9 - java OGRE_BUILD_COMPONENT_JAVA - python OGRE_BUILD_COMPONENT_PYTHON - csharp OGRE_BUILD_COMPONENT_CSHARP - overlay OGRE_BUILD_COMPONENT_OVERLAY - zziplib OGRE_CONFIG_ENABLE_ZIP - strict OGRE_RESOURCEMANAGER_STRICT + FEATURES + assimp OGRE_BUILD_PLUGIN_ASSIMP + assimp CMAKE_REQUIRE_FIND_PACKAGE_assimp + bullet OGRE_BUILD_COMPONENT_BULLET + bullet CMAKE_REQUIRE_FIND_PACKAGE_Bullet + d3d9 OGRE_BUILD_RENDERSYSTEM_D3D9 + freeimage OGRE_BUILD_PLUGIN_FREEIMAGE + freeimage CMAKE_REQUIRE_FIND_PACKAGE_FreeImage + java OGRE_BUILD_COMPONENT_JAVA + openexr OGRE_BUILD_PLUGIN_EXRCODEC + openexr CMAKE_REQUIRE_FIND_PACKAGE_OpenEXR + python OGRE_BUILD_COMPONENT_PYTHON + python CMAKE_REQUIRE_FIND_PACKAGE_Python3 + csharp OGRE_BUILD_COMPONENT_CSHARP + overlay OGRE_BUILD_COMPONENT_OVERLAY + zip OGRE_CONFIG_ENABLE_ZIP + strict OGRE_RESOURCEMANAGER_STRICT + tools OGRE_BUILD_TOOLS + tools OGRE_INSTALL_TOOLS + INVERTED_FEATURES + assimp CMAKE_DISABLE_FIND_PACKAGE_assimp + bullet CMAKE_DISABLE_FIND_PACKAGE_Bullet + python CMAKE_DISABLE_FIND_PACKAGE_Python3 ) +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") + vcpkg_find_acquire_program(SWIG) + vcpkg_list(APPEND FEATURE_OPTIONS "-DSWIG_EXECUTABLE=${SWIG}") +endif() + # OGRE_RESOURCEMANAGER_STRICT need to be 0 for OFF and 1 for ON, because it is used 'as is' in sources string(REPLACE "OGRE_RESOURCEMANAGER_STRICT=ON" "OGRE_RESOURCEMANAGER_STRICT=1" FEATURE_OPTIONS "${FEATURE_OPTIONS}") string(REPLACE "OGRE_RESOURCEMANAGER_STRICT=OFF" "OGRE_RESOURCEMANAGER_STRICT=0" FEATURE_OPTIONS "${FEATURE_OPTIONS}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS + ${FEATURE_OPTIONS} + -DOGRE_CFG_INSTALL_PATH=etc/${PORT} + -DOGRE_CMAKE_DIR=share/${PORT} + -DOGRE_MEDIA_PATH=share/${PORT}/Media + -DOGRE_PLUGINS_PATH=plugins/${PORT} -DOGRE_BUILD_DEPENDENCIES=OFF + -DOGRE_BUILD_LIBS_AS_FRAMEWORKS=OFF -DOGRE_BUILD_SAMPLES=OFF -DOGRE_BUILD_TESTS=OFF - -DOGRE_BUILD_TOOLS=OFF -DOGRE_BUILD_MSVC_MP=ON -DOGRE_BUILD_MSVC_ZM=ON + -DOGRE_COPY_DEPENDENCIES=OFF + -DOGRE_ENABLE_PRECOMPILED_HEADERS=OFF -DOGRE_INSTALL_DEPENDENCIES=OFF -DOGRE_INSTALL_DOCS=OFF -DOGRE_INSTALL_PDB=OFF -DOGRE_INSTALL_SAMPLES=OFF - -DOGRE_INSTALL_TOOLS=OFF - -DOGRE_INSTALL_CMAKE=ON -DOGRE_INSTALL_VSPROPS=OFF -DOGRE_STATIC=${OGRE_STATIC} + -DOGRE_CONFIG_STATIC_LINK_CRT=${OGRE_CONFIG_STATIC_LINK_CRT} -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 - -DFREETYPE_FOUND=ON -# Optional stuff - ${FEATURE_OPTIONS} -# vcpkg specific stuff - -DOGRE_CMAKE_DIR=share/ogre + -DCMAKE_REQUIRE_FIND_PACKAGE_FREETYPE=ON + -DCMAKE_REQUIRE_FIND_PACKAGE_pugixml=ON + -DCMAKE_REQUIRE_FIND_PACKAGE_ZLIB=ON + -DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=ON + -DCMAKE_DISABLE_FIND_PACKAGE_QT=ON + -DCMAKE_DISABLE_FIND_PACKAGE_Qt5=ON + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6=ON + OPTIONS_DEBUG + -DOGRE_BUILD_TOOLS=OFF + -DOGRE_INSTALL_TOOLS=OFF + MAYBE_UNUSED_VARIABLES + CMAKE_DISABLE_FIND_PACKAGE_Qt5 + CMAKE_DISABLE_FIND_PACKAGE_Qt6 + CMAKE_REQUIRE_FIND_PACKAGE_OpenEXR + OGRE_COPY_DEPENDENCIES + OGRE_BUILD_MSVC_MP + OGRE_BUILD_MSVC_ZM + OGRE_BUILD_RENDERSYSTEM_GLES + OGRE_INSTALL_DEPENDENCIES + OGRE_INSTALL_VSPROPS ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets() +vcpkg_cmake_install() +vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +vcpkg_cmake_config_fixup() +vcpkg_fixup_pkgconfig() -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_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" "" 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" "" IGNORE_UNCHANGED) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/etc/ogre/samples.cfg" + "${CURRENT_PACKAGES_DIR}/debug/etc/ogre/samples.cfg" + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" +) + +set(tools OgreMeshUpgrader OgreXMLConverter VRMLConverter) +if(OGRE_BUILD_PLUGIN_ASSIMP) + list(APPEND tools OgreAssimpConverter) +endif() +if(OGRE_BUILD_TOOLS) + vcpkg_copy_tools(TOOL_NAMES ${tools} AUTO_CLEAN) 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/OgreMain.lib ${CURRENT_PACKAGES_DIR}/lib/manual-link/OgreMain.lib) - else() - file(RENAME ${CURRENT_PACKAGES_DIR}/lib/OgreMainStatic.lib ${CURRENT_PACKAGES_DIR}/lib/manual-link/OgreMainStatic.lib) - endif() +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/lib/manual-link") + if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + file(RENAME "${CURRENT_PACKAGES_DIR}/lib/OgreMain.lib" "${CURRENT_PACKAGES_DIR}/lib/manual-link/OgreMain.lib") + else() + file(RENAME "${CURRENT_PACKAGES_DIR}/lib/OgreMainStatic.lib" "${CURRENT_PACKAGES_DIR}/lib/manual-link/OgreMainStatic.lib") endif() - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "Debug") - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link) + if(NOT VCPKG_BUILD_TYPE) + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/lib/manual-link") if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/OgreMain_d.lib ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link/OgreMain_d.lib) + file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/OgreMain_d.lib" "${CURRENT_PACKAGES_DIR}/debug/lib/manual-link/OgreMain_d.lib") else() - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/OgreMainStatic_d.lib ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link/OgreMainStatic_d.lib) + file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/OgreMainStatic_d.lib" "${CURRENT_PACKAGES_DIR}/debug/lib/manual-link/OgreMainStatic_d.lib") endif() endif() - file(GLOB SHARE_FILES ${CURRENT_PACKAGES_DIR}/share/ogre/*.cmake) + file(GLOB SHARE_FILES "${CURRENT_PACKAGES_DIR}/share/ogre/*.cmake") foreach(SHARE_FILE ${SHARE_FILES}) file(READ "${SHARE_FILE}" _contents) string(REPLACE "lib/OgreMain" "lib/manual-link/OgreMain" _contents "${_contents}") @@ -125,6 +172,4 @@ if(VCPKG_TARGET_IS_WINDOWS) endif() # Handle copyright -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/ogre/same-install-rules-all-platforms.patch b/ports/ogre/same-install-rules-all-platforms.patch new file mode 100644 index 00000000000000..06f72bad73fc94 --- /dev/null +++ b/ports/ogre/same-install-rules-all-platforms.patch @@ -0,0 +1,14 @@ +diff --git a/CMake/Utils/OgreConfigTargets.cmake b/CMake/Utils/OgreConfigTargets.cmake +index c4e6de8..e92da59 100644 +--- a/CMake/Utils/OgreConfigTargets.cmake ++++ b/CMake/Utils/OgreConfigTargets.cmake +@@ -56,9 +56,6 @@ elseif (UNIX) + set(OGRE_LIB_RELEASE_PATH "") + set(OGRE_LIB_RELWDBG_PATH "") + set(OGRE_LIB_DEBUG_PATH "") +- if(APPLE AND NOT APPLE_IOS) +- set(OGRE_RELEASE_PATH "/${PLATFORM_NAME}") +- endif() + if(APPLE AND APPLE_IOS) + set(OGRE_LIB_RELEASE_PATH "/Release") + endif(APPLE AND APPLE_IOS) diff --git a/ports/ogre/swig-python-polyfill.patch b/ports/ogre/swig-python-polyfill.patch new file mode 100644 index 00000000000000..f8e2b420a49781 --- /dev/null +++ b/ports/ogre/swig-python-polyfill.patch @@ -0,0 +1,19 @@ +diff --git a/Components/Python/CMakeLists.txt b/Components/Python/CMakeLists.txt +index b6062c6..df955e3 100644 +--- a/Components/Python/CMakeLists.txt ++++ b/Components/Python/CMakeLists.txt +@@ -22,7 +22,14 @@ if(OGRE_BUILD_COMPONENT_OVERLAY_IMGUI) + list(APPEND CMAKE_SWIG_FLAGS -DHAVE_IMGUI -DIMGUI_DISABLE_OBSOLETE_FUNCTIONS) + endif() + ++# cf. https://github.com/swig/swig/pull/1587 ++file(GENERATE OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/pyobject_gc_polyfill.h" CONTENT [[ ++#define _PyObject_GC_UNTRACK(x) PyObject_GC_UnTrack(x) ++]]) + macro(ogre_python_module target) ++ if(SWIG_FOUND AND SWIG_VERSION VERSION_LESS "4.0.1" AND Python3_VERSION VERSION_GREATER_EQUAL "3.8") ++ target_precompile_headers(${SWIG_MODULE_${target}_REAL_NAME} PRIVATE "${CMAKE_CURRENT_BINARY_DIR}/pyobject_gc_polyfill.h") ++ endif() + set_target_properties(${target} PROPERTIES DEBUG_POSTFIX "") + install(TARGETS ${target} LIBRARY DESTINATION ${PYTHON_SITE_PACKAGES}) + install(FILES ${PROJECT_BINARY_DIR}/Components/Python/${target}.py DESTINATION ${PYTHON_SITE_PACKAGES}) diff --git a/ports/ogre/toolchain_fixes.patch b/ports/ogre/toolchain_fixes.patch deleted file mode 100644 index c363a34d7db565..00000000000000 --- a/ports/ogre/toolchain_fixes.patch +++ /dev/null @@ -1,265 +0,0 @@ -diff --git a/CMake/CMakeLists.txt b/CMake/CMakeLists.txt -index a7a3796..2e21403 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() - endif() - - set(INST_FILES Utils/FindPkgMacros.cmake) -diff --git a/CMake/InstallResources.cmake b/CMake/InstallResources.cmake -index 06a055b..09d10bd 100644 ---- a/CMake/InstallResources.cmake -+++ b/CMake/InstallResources.cmake -@@ -204,10 +204,12 @@ endif () - # Create the CMake package files - include(CMakePackageConfigHelpers) - --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() - endif() - if(WIN32) - set(OGRE_PLUGIN_DIR_CMAKE "bin") -diff --git a/CMake/Packages/FindCg.cmake b/CMake/Packages/FindCg.cmake -index 4501cf9..7eb57c3 100644 ---- a/CMake/Packages/FindCg.cmake -+++ b/CMake/Packages/FindCg.cmake -@@ -56,7 +56,7 @@ endif() - - find_library(Cg_LIBRARY_REL NAMES ${Cg_LIBRARY_NAMES} HINTS ${Cg_LIB_SEARCH_PATH} ${Cg_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" Release RelWithDebInfo MinSizeRel) - find_library(Cg_LIBRARY_DBG NAMES ${Cg_LIBRARY_NAMES_DBG} HINTS ${Cg_LIB_SEARCH_PATH} ${Cg_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" Debug) --make_library_set(Cg_LIBRARY) -+make_library_set(Cg) - - if (WIN32) - if (CMAKE_CL_64) -diff --git a/CMake/Packages/FindFreeImage.cmake b/CMake/Packages/FindFreeImage.cmake -index 7c89ec5..d8314f0 100644 ---- a/CMake/Packages/FindFreeImage.cmake -+++ b/CMake/Packages/FindFreeImage.cmake -@@ -43,7 +43,7 @@ find_path(FreeImage_INCLUDE_DIR NAMES FreeImage.h HINTS ${FreeImage_INC_SEARCH_P - find_library(FreeImage_LIBRARY_REL NAMES ${FreeImage_LIBRARY_NAMES} HINTS ${FreeImage_LIB_SEARCH_PATH} ${FreeImage_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" Release RelWithDebInfo MinSizeRel) - find_library(FreeImage_LIBRARY_DBG NAMES ${FreeImage_LIBRARY_NAMES_DBG} HINTS ${FreeImage_LIB_SEARCH_PATH} ${FreeImage_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" Debug) - --make_library_set(FreeImage_LIBRARY) -+make_library_set(FreeImage) - - findpkg_finish(FreeImage) - -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 0c48510..c121966 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) -diff --git a/CMake/Packages/FindZZip.cmake b/CMake/Packages/FindZZip.cmake -index e97951e..54c2567 100644 ---- a/CMake/Packages/FindZZip.cmake -+++ b/CMake/Packages/FindZZip.cmake -@@ -39,12 +39,12 @@ use_pkgconfig(ZZip_PKGC zziplib) - - findpkg_framework(ZZip) - --find_path(ZZip_INCLUDE_DIR NAMES zzip/zzip.h HINTS ${ZZip_INC_SEARCH_PATH} ${ZZip_PKGC_INCLUDE_DIRS}) -+find_path(ZZip_INCLUDE_DIRS NAMES zzip/zzip.h HINTS ${ZZip_INC_SEARCH_PATH} ${ZZip_PKGC_INCLUDE_DIRS}) - - find_library(ZZip_LIBRARY_REL NAMES ${ZZip_LIBRARY_NAMES} HINTS ${ZZip_LIB_SEARCH_PATH} ${ZZip_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" Release RelWithDebInfo MinSizeRel) - find_library(ZZip_LIBRARY_DBG NAMES ${ZZip_LIBRARY_NAMES_DBG} HINTS ${ZZip_LIB_SEARCH_PATH} ${ZZip_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" Debug) - --make_library_set(ZZip_LIBRARY) -+make_library_set(ZZip) - - findpkg_finish(ZZip) - -diff --git a/CMake/Utils/FindPkgMacros.cmake b/CMake/Utils/FindPkgMacros.cmake -index 374f84b..dc7066d 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) - 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 -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 1602572..9fddbe7 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -271,7 +271,7 @@ elseif(EMSCRIPTEN) - elseif (APPLE AND NOT APPLE_IOS) - - set(XCODE_ATTRIBUTE_SDKROOT macosx) -- if(CMAKE_GENERATOR STREQUAL "Unix Makefiles") -+ if(1) - 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() -diff --git a/PlugIns/EXRCodec/CMakeLists.txt b/PlugIns/EXRCodec/CMakeLists.txt -index e9c936a..bb8747e 100644 ---- a/PlugIns/EXRCodec/CMakeLists.txt -+++ b/PlugIns/EXRCodec/CMakeLists.txt -@@ -16,7 +16,7 @@ target_link_libraries(Codec_EXR OgreMain ${OPENEXR_LIBRARIES}) - target_include_directories(Codec_EXR PUBLIC - "$" - $) --target_include_directories(Codec_EXR SYSTEM PRIVATE "${OPENEXR_INCLUDE_DIR}/OpenEXR") -+target_include_directories(Codec_EXR SYSTEM PRIVATE "${OPENEXR_INCLUDE_DIR}") - - ogre_config_framework(Codec_EXR) - ogre_config_plugin(Codec_EXR) diff --git a/ports/ogre/vcpkg.json b/ports/ogre/vcpkg.json index d084653e719bfb..fd0d55b6d4d2f6 100644 --- a/ports/ogre/vcpkg.json +++ b/ports/ogre/vcpkg.json @@ -1,46 +1,80 @@ { "name": "ogre", - "version-string": "1.12.9", - "port-version": 5, + "version": "14.3.1", "description": "3D Object-Oriented Graphics Rendering Engine", "homepage": "https://github.com/OGRECave/ogre", + "license": "MIT", + "supports": "!uwp", "dependencies": [ + { + "name": "freetype", + "default-features": false + }, "pugixml", - "sdl2", + { + "name": "sdl2", + "platform": "!android" + }, + "stb", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, "zlib" ], "default-features": [ "assimp", "freeimage", "overlay", - "zziplib" + "zip" ], "features": { "assimp": { - "description": "Use assimp", + "description": "Build with assimp support", "dependencies": [ "assimp" ] }, + "bullet": { + "description": "Build with bullet physics support", + "dependencies": [ + "bullet3" + ] + }, "csharp": { - "description": "Build csharp bindings" + "description": "Build csharp bindings", + "supports": "!static & !android & !ios & !emscripten" }, "d3d9": { - "description": "Build Direct3D9 RenderSystem" + "description": "Build Direct3D9 RenderSystem", + "supports": "windows" }, "freeimage": { - "description": "Build with FreeImage support", + "description": "Build with FreeImage support (no effect for Emscripten)", "dependencies": [ - "freeimage" + { + "name": "freeimage", + "platform": "!emscripten" + } ] }, "java": { - "description": "Build Java (JNI) bindings" + "description": "Build Java (JNI) bindings", + "supports": "!static & !android & !ios & !emscripten" + }, + "openexr": { + "description": "Build with OpenEXR support", + "dependencies": [ + "openexr" + ] }, "overlay": { "description": "Build overlay component", "dependencies": [ - "freetype", { "name": "imgui", "features": [ @@ -51,6 +85,7 @@ }, "python": { "description": "Build Python bindings", + "supports": "!static & !android & !ios & !emscripten", "dependencies": [ "python3" ] @@ -58,10 +93,23 @@ "strict": { "description": "Force Ogre resource manager to be strict with group names and resource names" }, + "tools": { + "description": "Build tools", + "supports": "!android & !emscripten" + }, + "zip": { + "description": "Build ZIP archive support" + }, "zziplib": { - "description": "Build with zziplib support (GPL)", + "description": "Obsolete, use zip feature instead", "dependencies": [ - "zziplib" + { + "name": "ogre", + "default-features": false, + "features": [ + "zip" + ] + } ] } } diff --git a/ports/ois/0001_install_pkgconfig_win32.patch b/ports/ois/0001_install_pkgconfig_win32.patch new file mode 100644 index 00000000000000..2568e3f7c996f1 --- /dev/null +++ b/ports/ois/0001_install_pkgconfig_win32.patch @@ -0,0 +1,29 @@ +diff -Naur a/CMakeLists.txt b/CMakeLists.txt +--- a/CMakeLists.txt 2021-05-14 03:09:42.000000000 +0800 ++++ b/CMakeLists.txt 2022-03-08 12:48:17.012589000 +0800 +@@ -255,7 +255,12 @@ + install(FILES $ DESTINATION bin OPTIONAL) + endif(MSVC AND BUILD_SHARED_LIBS) + +-if(UNIX) +- configure_file(${CMAKE_CURRENT_SOURCE_DIR}/OIS.pc.in ${CMAKE_BINARY_DIR}/OIS.pc @ONLY) +- install(FILES ${CMAKE_BINARY_DIR}/OIS.pc DESTINATION ${OIS_LIB_DIRECTORY}/pkgconfig) ++if (CMAKE_DEBUG_POSTFIX AND CMAKE_BUILD_TYPE STREQUAL "Debug") ++ set(OIS_POSTFIX ${CMAKE_DEBUG_POSTFIX}) ++else() ++ set(OIS_POSTFIX "") + endif() ++ ++configure_file(${CMAKE_CURRENT_SOURCE_DIR}/OIS.pc.in ${CMAKE_BINARY_DIR}/OIS.pc @ONLY) ++install(FILES ${CMAKE_BINARY_DIR}/OIS.pc DESTINATION ${OIS_LIB_DIRECTORY}/pkgconfig) ++ +diff -Naur a/OIS.pc.in b/OIS.pc.in +--- a/OIS.pc.in 2021-05-14 03:09:42.000000000 +0800 ++++ b/OIS.pc.in 2022-03-08 12:48:33.599696300 +0800 +@@ -6,5 +6,5 @@ + Name: OIS + Description: Cross platform C++ Input Framework + Version: @OIS_VERSION@ +-Libs: -L${libdir} -lOIS ++Libs: -L${libdir} -lOIS@OIS_POSTFIX@ + Cflags: -I${includedir} -I${includedir}/ois diff --git a/ports/ois/portfile.cmake b/ports/ois/portfile.cmake index 69e24c4393a2cd..e7b5d2bce00fca 100644 --- a/ports/ois/portfile.cmake +++ b/ports/ois/portfile.cmake @@ -4,6 +4,8 @@ vcpkg_from_github( REF v1.5.1 SHA512 20598aef999a70900cb7f75ffaf62059acf8e811822971cb21986b5d25d28dacb79e4b4cf4770c70e00d3c55cdd01ef3e68a77c2dd148677784fc4df38891340 HEAD_REF master + PATCHES + 0001_install_pkgconfig_win32.patch ) vcpkg_cmake_configure( diff --git a/ports/ois/vcpkg.json b/ports/ois/vcpkg.json index 9daa139ed56793..c73ac9131e911c 100644 --- a/ports/ois/vcpkg.json +++ b/ports/ois/vcpkg.json @@ -1,8 +1,10 @@ { "name": "ois", "version": "1.5.1", + "port-version": 1, "description": "Cross Platform Object Oriented Input Lib System. Meant to be very robust and compatible with many systems and operating systems.", "homepage": "https://wgois.github.io/OIS/", + "license": "Zlib", "supports": "!(arm | arm64 | uwp)", "dependencies": [ { diff --git a/ports/omniorb/add_win_into_autotools.patch b/ports/omniorb/add_win_into_autotools.patch new file mode 100644 index 00000000000000..df25c3183010b8 --- /dev/null +++ b/ports/omniorb/add_win_into_autotools.patch @@ -0,0 +1,315 @@ +diff --git a/configure.ac b/configure.ac +index d485463..2ba9c82 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -231,6 +231,7 @@ case "$host" in + *-*-openbsd*) plat_name="OpenBSD"; plat_def="__openbsd__"; os_v="3";; + *-*-sco*) plat_name="OSR5"; plat_def="__osr5__"; os_v="5";; + *-*-gnu*) plat_name="GNU"; plat_def="__hurd__" ; os_v="0";; ++ *-*-mingw*) plat_name="Win32Platform"; plat_def="__WIN32__" ; os_v="4";; + esac + + AC_SUBST(PLATFORM_NAME, $plat_name) +diff --git a/mk/beforeauto.mk.in b/mk/beforeauto.mk.in +index f078912..9aef646 100644 +--- a/mk/beforeauto.mk.in ++++ b/mk/beforeauto.mk.in +@@ -1311,3 +1314,7 @@ endif + + lib_depend := $(patsubst %,$(LibPattern),omnithread) + OMNITHREAD_LIB_DEPEND := $(GENERATE_LIB_DEPEND) ++ ++ifdef Win32Platform ++include $(THIS_IMPORT_TREE)/mk/platforms/vcpkg.mk ++endif +\ No newline at end of file +diff --git a/mk/win32.mk b/mk/win32.mk +index 94c9aad..f788d41 100644 +--- a/mk/win32.mk ++++ b/mk/win32.mk +@@ -81,7 +81,6 @@ endif + + + ifndef WINVER +-WINVER = 0x0400 + endif + + IMPORT_CPPFLAGS += -D__WIN32__ -D_WIN32_WINNT=$(WINVER) +@@ -179,7 +179,7 @@ define CXXExecutable + $(RM) $@; \ + $(CXXLINK) -out:$@ $(CXXLINKOPTIONS) -PDB:$@.pdb $(IMPORT_LIBRARY_FLAGS) \ + $(filter-out $(LibPattern),$^) $$libs; \ +- $(MANIFESTTOOL) /outputresource:"$@;#1" /manifest $@.manifest; \ ++ $(MANIFESTTOOL) -outputresource:"$@;#1" -manifest $@.manifest; \ + ) + endef + +@@ -187,7 +187,7 @@ define CExecutable + (set -x; \ + $(RM) $@; \ + $(CLINK) -out:$@ $(CLINKOPTIONS) -PDB:$@.pdb $(IMPORT_LIBRARY_FLAGS) $(filter-out $(LibPattern),$^) $$libs; \ +- $(MANIFESTTOOL) /outputresource:"$@;#1" /manifest $@.manifest; \ ++ $(MANIFESTTOOL) -outputresource:"$@;#1" -manifest $@.manifest; \ + ) + endef + +@@ -356,18 +356,18 @@ extralinkoption="$(MSVC_DLL_CXXLINKDEBUGOPTIONS)"; \ + else \ + extralinkoption="$(MSVC_DLL_CXXLINKNODEBUGOPTIONS)"; \ + fi; \ + if [ -z "$$nodeffile" ]; then \ + $(MakeCXXExportSymbolDefinitionFile) \ + defflag="-def:$$defname"; \ + fi; \ + $(MakeResourceDefinitionFile) \ + set -x; \ + $(RM) $@; \ + $(CXXLINK) -out:$$dllname -DLL $$extralinkoption \ + $$defflag -IMPLIB:$@ $(IMPORT_LIBRARY_FLAGS) \ + $^ $$extralibs $$resname; \ +-$(MANIFESTTOOL) /outputresource:"$$dllname;#2" /manifest $$dllname.manifest; \ ++$(MANIFESTTOOL) -outputresource:"$$dllname;#2" -manifest $$dllname.manifest; \ + $(CP) $@ $$slibname; + endef + + # Export SharedLibrary +diff --git a/acinclude.m4 b/acinclude.m4 +index cef87f8bd..cf61556bd 100644 +--- a/acinclude.m4 ++++ b/acinclude.m4 +@@ -433,8 +433,8 @@ AC_SUBST(ENABLE_LONGDOUBLE, $omni_cv_enable_longdouble) + + dnl Enable ZIOP + AC_DEFUN([OMNI_ENABLE_ZIOP], +-[AC_CHECK_LIB(z,compressBound,omni_cv_enable_ziop_zlib=yes,omni_cv_enable_ziop_zlib=no) +-AC_CHECK_LIB(zstd,ZSTD_compress,omni_cv_enable_ziop_zstd=yes,omni_cv_enable_ziop_zstd=no) ++[AC_SEARCH_LIBS(compressBound,[z zlib zlibd],omni_cv_enable_ziop_zlib=yes,omni_cv_enable_ziop_zlib=no) ++AC_SEARCH_LIBS(ZSTD_compress,[zstd zstdd],omni_cv_enable_ziop_zstd=yes,omni_cv_enable_ziop_zstd=no) + omni_cv_enable_ziop="no" + if test "$omni_cv_enable_ziop_zlib" = "yes"; then + omni_cv_enable_ziop="yes" +diff --git a/mk/win32.mk b/mk/win32.mk +index 741835b4b..7a5bff934 100644 +--- a/mk/win32.mk ++++ b/mk/win32.mk +@@ -580,8 +580,7 @@ OMNIORB_IDL = $(OMNIORB_IDL_ONLY) $(OMNIORB_IDL_ANY_FLAGS) + OMNIORB_CPPFLAGS = -D__OMNIORB4__ -I$(CORBA_STUB_DIR) $(OMNITHREAD_CPPFLAGS) + OMNIORB_IDL_OUTPUTDIR_PATTERN = -C% + +-msvc_work_around_stub = $(patsubst %,$(LibPattern),msvcstub) \ +- -NODEFAULTLIB:libcmt.lib -NODEFAULTLIB:libcmtd.lib ++msvc_work_around_stub = $(patsubst %,$(LibPattern),msvcstub) + + OMNIORB_LIB = $(omniorb_dll_name) \ + $(omnidynamic_dll_name) \ +diff --git a/src/tool/dir.mk b/src/tool/dir.mk +index c6cb127d9..d75ba288a 100644 +--- a/src/tool/dir.mk ++++ b/src/tool/dir.mk +@@ -11,7 +11,7 @@ SUBDIRS = omkdepend omniidl + endif + + ifdef Win32Platform +-SUBDIRS = omniidl ++SUBDIRS = omkdepend omniidl + endif + + +diff --git a/mk/win32.mk b/mk/win32.mk +index 6d320a2bd..3983eba5c 100644 +--- a/mk/win32.mk ++++ b/mk/win32.mk +@@ -40,12 +40,7 @@ SORT = sort + endif + + +-AR = $(BASE_OMNI_TREE)/$(WRAPPER_FPATH)/libwrapper $(XLN) +-CXX = $(BASE_OMNI_TREE)/$(WRAPPER_FPATH)/clwrapper $(XLN) +-CXXLINK = $(BASE_OMNI_TREE)/$(WRAPPER_FPATH)/linkwrapper $(XLN) + CXXMAKEDEPEND = $(BASE_OMNI_TREE)/$(WRAPPER_FPATH)/omkdepend $(MKDEPOPT) -D__cplusplus -D_MSC_VER +-CC = $(BASE_OMNI_TREE)/$(WRAPPER_FPATH)/clwrapper $(XLN) +-CLINK = $(BASE_OMNI_TREE)/$(WRAPPER_FPATH)/linkwrapper $(XLN) + CMAKEDEPEND = $(BASE_OMNI_TREE)/$(WRAPPER_FPATH)/omkdepend $(MKDEPOPT) -D_MSC_VER + + RCTOOL = rc.exe +@@ -83,7 +83,7 @@ endif + ifndef WINVER + endif + +-IMPORT_CPPFLAGS += -D__WIN32__ -D_WIN32_WINNT=$(WINVER) ++IMPORT_CPPFLAGS += -D__WIN32__ + + SOCKET_LIB = ws2_32.lib mswsock.lib + +diff --git a/mk/beforeauto.mk.in b/mk/beforeauto.mk.in +index b7087ea36..d7a826fa9 100644 +--- a/mk/beforeauto.mk.in ++++ b/mk/beforeauto.mk.in +@@ -36,6 +36,8 @@ BINDIR = bin + + prefix := @prefix@ + exec_prefix := @exec_prefix@ ++includedir := @includedir@ ++libdir := @libdir@ + INSTALLTARGET := 1 + INSTALLINCDIR := $(DESTDIR)@includedir@ + INSTALLBINDIR := $(DESTDIR)@bindir@ +@@ -362,6 +364,9 @@ endef + # + # Patterns for various file types + # ++ ++ifndef Win32Platform ++ + LibPathPattern = -L% + LibNoDebugPattern = lib%.a + LibDebugPattern = lib%.a +@@ -371,6 +376,37 @@ LibSearchPattern = -l% + BinPattern = % + TclScriptPattern = % + ++else ++ ++LibPathPattern = -libpath:% ++LibNoDebugPattern = %.lib ++LibDebugPattern = %d.lib ++DLLNoDebugPattern = %_rt.lib ++DLLDebugPattern = %_rtd.lib ++LibNoDebugSearchPattern = %.lib ++LibDebugSearchPattern = %d.lib ++DLLNoDebugSearchPattern = %_rt.lib ++DLLDebugSearchPattern = %_rtd.lib ++ ++ ++ifndef BuildDebugBinary ++ ++LibPattern = $(LibNoDebugPattern) ++DLLPattern = $(DLLNoDebugPattern) ++LibSearchPattern = $(LibNoDebugSearchPattern) ++DLLSearchPattern = $(DLLNoDebugSearchPattern) ++ ++else ++ ++LibPattern = $(LibDebugPattern) ++DLLPattern = $(DLLDebugPattern) ++LibSearchPattern = $(LibDebugSearchPattern) ++DLLSearchPattern = $(DLLDebugSearchPattern) ++endif ++ ++endif ++ ++ + + # + # Stuff to generate statically-linked libraries. +diff --git a/src/services/mklib/dynstublib/dir.mk b/src/services/mklib/dynstublib/dir.mk +index e128aa87a..f2e1448b3 100644 +--- a/src/services/mklib/dynstublib/dir.mk ++++ b/src/services/mklib/dynstublib/dir.mk +@@ -17,6 +17,14 @@ ifdef Win32Platform + MSVC_STATICLIB_CXXDEBUGFLAGS += -D_WINSTATIC + endif + ++ifdef Win32Platform ++# in case of Win32 lossage: ++dynimps := COS$(OMNIORB_MAJOR_VERSION)$(OMNIORB_MINOR_VERSION)$(OMNIORB_MICRO_VERSION)_rt.lib \ ++ $(patsubst $(DLLDebugSearchPattern),$(DLLNoDebugSearchPattern), $(OMNIORB_LIB)) ++else ++dynimps := $(OMNIORB_COS_LIB) $(OMNIORB_LIB) ++endif ++ + ifndef NoReleaseBuild + all:: mkstatic mkshared + +@@ -75,14 +83,6 @@ dynskshared = shared/$(shell $(SharedLibraryFullName) $(dynsknamespec)) + + MDFLAGS += -p shared/ + +-ifdef Win32Platform +-# in case of Win32 lossage: +-dynimps := COS$(OMNIORB_MAJOR_VERSION)$(OMNIORB_MINOR_VERSION)$(OMNIORB_MICRO_VERSION)_rt.lib \ +- $(patsubst $(DLLDebugSearchPattern),$(DLLNoDebugSearchPattern), $(OMNIORB_LIB)) +-else +-dynimps := $(OMNIORB_COS_LIB) $(OMNIORB_LIB) +-endif +- + mkshared:: + @(dir=shared; $(CreateDir)) + +diff --git a/mk/win32.mk b/mk/win32.mk +index 83f1b1687..741835b4b 100644 +--- a/mk/win32.mk ++++ b/mk/win32.mk +@@ -43,5 +43,5 @@ endif +-CXXMAKEDEPEND = $(BASE_OMNI_TREE)/$(WRAPPER_FPATH)/omkdepend $(MKDEPOPT) -D__cplusplus -D_MSC_VER ++CXXMAKEDEPEND = $(OMKDEPEND) -D__cplusplus -D_MSC_VER +-CMAKEDEPEND = $(BASE_OMNI_TREE)/$(WRAPPER_FPATH)/omkdepend $(MKDEPOPT) -D_MSC_VER ++CMAKEDEPEND = $(OMKDEPEND) $(MKDEPOPT) -D_MSC_VER + + RCTOOL = rc.exe + MANIFESTTOOL = true +@@ -145,7 +145,7 @@ BinPattern = %.exe + define StaticLinkLibrary + (set -x; \ + $(RM) $@; \ +- $(AR) $@ $^; \ ++ $(AR) -OUT:$@ $^; \ + ) + endef + +@@ -439,12 +444,11 @@ endef + # The pattern rules below ensured that the right compiler flags are used + # to compile the source for the library. + ++ifndef NoReleaseBuild ++ + static/%.o: %.cc + $(CXX) -c $(CXXDEBUGFLAGS) $(MSVC_STATICLIB_CXXNODEBUGFLAGS) $(CPPFLAGS) -Fo$@ -Fdstatic\\$(LIB_NAME)$(major).pdb $< + +-debug/%.o: %.cc +- $(CXX) -c $(MSVC_STATICLIB_CXXDEBUGFLAGS) $(CPPFLAGS) -Fo$@ -Fddebug\\$(LIB_NAME)$(major)d.pdb $< +- + shared/%DynSK.o: %DynSK.cc + $(CXX) -c $(CXXDEBUGFLAGS) -DUSE_core_stub_in_nt_dll $(MSVC_DLL_CXXNODEBUGFLAGS) $(CPPFLAGS) -Fo$@ -Fdshared\\ $< + +@@ -454,6 +458,18 @@ shared/%SK.o: %SK.cc + shared/%.o: %.cc + $(CXX) -c $(CXXDEBUGFLAGS) $(MSVC_DLL_CXXNODEBUGFLAGS) $(CPPFLAGS) -Fo$@ -Fdshared\\ $< + ++static/%.o: %.c ++ $(CC) -c $(CDEBUGFLAGS) $(MSVC_STATICLIB_CXXNODEBUGFLAGS) $(CPPFLAGS) -Fo$@ -Fdstatic\\$(LIB_NAME)$(major).pdb $< ++ ++shared/%.o: %.c ++ $(CC) -c $(CDEBUGFLAGS) $(MSVC_DLL_CXXNODEBUGFLAGS) $(CPPFLAGS) -Fo$@ $< ++ ++endif ++ ++ifndef NoDebugBuild ++ ++debug/%.o: %.cc ++ $(CXX) -c $(MSVC_STATICLIB_CXXDEBUGFLAGS) $(CPPFLAGS) -Fo$@ -Fddebug\\$(LIB_NAME)$(major)d.pdb $< + + shareddebug/%DynSK.o: %DynSK.cc + $(CXX) -c -DUSE_core_stub_in_nt_dll $(MSVC_DLL_CXXDEBUGFLAGS) $(CPPFLAGS) -Fo$@ -Fdshareddebug\\ $< +@@ -464,19 +480,14 @@ shareddebug/%SK.o: %SK.cc + shareddebug/%.o: %.cc + $(CXX) -c $(MSVC_DLL_CXXDEBUGFLAGS) $(CPPFLAGS) -Fo$@ -Fdshareddebug\\ $< + +-static/%.o: %.c +- $(CC) -c $(CDEBUGFLAGS) $(MSVC_STATICLIB_CXXNODEBUGFLAGS) $(CPPFLAGS) -Fo$@ -Fdstatic\\$(LIB_NAME)$(major).pdb $< +- + debug/%.o: %.c + $(CC) -c $(MSVC_STATICLIB_CXXDEBUGFLAGS) $(CPPFLAGS) -Fo$@ -Fdstatic\\$(LIB_NAME)$(major)d.pdb $< + +-shared/%.o: %.c +- $(CC) -c $(CDEBUGFLAGS) $(MSVC_DLL_CXXNODEBUGFLAGS) $(CPPFLAGS) -Fo$@ $< +- +- + shareddebug/%.o: %.c + $(CC) -c $(MSVC_DLL_CXXDEBUGFLAGS) $(CPPFLAGS) -Fo$@ $< + ++endif ++ + + # + # Replacements for implicit rules diff --git a/ports/omniorb/def_gen_fix.patch b/ports/omniorb/def_gen_fix.patch new file mode 100644 index 00000000000000..5034c2e13ad0a8 --- /dev/null +++ b/ports/omniorb/def_gen_fix.patch @@ -0,0 +1,18 @@ +diff --git a/mk/win32.mk b/mk/win32.mk +index fc179563e..15903919a 100644 +--- a/mk/win32.mk ++++ b/mk/win32.mk +@@ -264,12 +264,12 @@ endef + define MakeCXXExportSymbolDefinitionFile + symrefdir=$${debug:+debug}; \ + symreflib=$(SharedLibrarySymbolRefLibraryTemplate); \ + if [ ! -f $$symreflib ]; then echo "Cannot find reference static library $$symreflib"; return 1; fi; \ + set -x; \ + echo "LIBRARY $$dllbase" > $$defname; \ + echo "VERSION $$version" >> $$defname; \ + echo "EXPORTS" >> $$defname; \ +-DUMPBIN.EXE /SYMBOLS $$symreflib | \ ++DUMPBIN.EXE $$symreflib -SYMBOLS | \ + egrep '^[^ ]+ +[^ ]+ +SECT[^ ]+ +[^ ]+ +\(\) +External +\| +\?[^ ]*|^[^ ]+ +[^ ]+ +SECT[^ ]+ +[^ ]+ +External +\| +\?[^?][^ ]*'|\ + egrep -v 'deleting destructor[^(]+\(unsigned int\)' | \ + egrep -v 'anonymous namespace' | \ diff --git a/ports/omniorb/fix_dependency.patch b/ports/omniorb/fix_dependency.patch new file mode 100644 index 00000000000000..39398c3bcea791 --- /dev/null +++ b/ports/omniorb/fix_dependency.patch @@ -0,0 +1,78 @@ +diff --git a/mk/mklib.mk b/mk/mklib.mk +index fb83cf391..9b28a314b 100644 +--- a/mk/mklib.mk ++++ b/mk/mklib.mk +@@ -100,6 +100,10 @@ $(shlib): $(patsubst %, shared/%, $(LIB_OBJS) $(LIB_SHARED_ONLY_OBJS)) + @(namespec="$(namespec)" extralibs="$(imps) $(extralibs)"; \ + $(MakeCXXSharedLibrary)) + ++ifdef Win32Platform ++$(shlib): | $(staticlib) ++endif ++ + export:: $(shlib) + @(namespec="$(namespec)"; \ + $(ExportSharedLibrary)) +@@ -209,6 +211,10 @@ $(dbugshlib): $(patsubst %, shareddebug/%, $(LIB_OBJS) $(LIB_SHARED_ONLY_OBJS)) + (namespec="$(namespec)" debug=1 extralibs="$(dbugimps) $(extralibs)"; \ + $(MakeCXXSharedLibrary)) + ++ifdef Win32Platform ++$(dbugshlib): | $(dbuglib) ++endif ++ + export:: $(dbugshlib) + @(namespec="$(namespec)" debug=1; \ + $(ExportSharedLibrary)) +diff --git a/src/services/mklib/stublib/dir.mk b/src/services/mklib/stublib/dir.mk +index ce46f6c5f..eb619e5c5 100644 +--- a/src/services/mklib/stublib/dir.mk ++++ b/src/services/mklib/stublib/dir.mk +@@ -92,6 +92,10 @@ $(skshared): $(patsubst %, shared/%, $(COS_SK_OBJS)) + @(namespec="$(sknamespec)"; extralibs="$(imps) $(extralibs)"; \ + $(MakeCXXSharedLibrary)) + ++ifdef Win32Platform ++$(skshared): | $(sk) ++endif ++ + export:: $(skshared) + @(namespec="$(sknamespec)"; \ + $(ExportSharedLibrary)) +@@ -168,6 +170,10 @@ $(skshareddbug): $(patsubst %, shareddebug/%, $(COS_SK_OBJS)) + (namespec="$(sknamespec)"; debug=1; extralibs="$(dbugimps) $(extralibs)"; \ + $(MakeCXXSharedLibrary)) + ++ifdef Win32Platform ++$(skshareddbug): | $(skdbug) ++endif ++ + export:: $(skshareddbug) + @(namespec="$(sknamespec)" debug=1; \ + $(ExportSharedLibrary)) +diff --git a/src/services/mklib/dynstublib/dir.mk b/src/services/mklib/dynstublib/dir.mk +index f2e1448b3..9134e8aba 100644 +--- a/src/services/mklib/dynstublib/dir.mk ++++ b/src/services/mklib/dynstublib/dir.mk +@@ -92,6 +92,10 @@ $(dynskshared): $(skshared) $(patsubst %, shared/%, $(COS_DYNSK_OBJS)) + @(namespec="$(dynsknamespec)"; extralibs="$(dynimps)"; \ + $(MakeCXXSharedLibrary)) + ++ifdef Win32Platform ++$(dynskshared): | $(dynsk) ++endif ++ + export:: $(dynskshared) + @(namespec="$(dynsknamespec)"; \ + $(ExportSharedLibrary)) +@@ -169,6 +171,10 @@ $(dynskshareddbug): $(patsubst %, shareddebug/%, $(COS_DYNSK_OBJS)) + @(namespec="$(dynsknamespec)"; debug=1; extralibs="$(skshareddbug) $(dbugimps) $(extralibs)"; \ + $(MakeCXXSharedLibrary)) + ++ifdef Win32Platform ++$(dynskshareddbug): | $(dynskdbug) ++endif ++ + export:: $(dynskshareddbug) + @(namespec="$(dynsknamespec)" debug=1; \ + $(ExportSharedLibrary)) diff --git a/ports/omniorb/hardcode_vaargs_for_msvc.patch b/ports/omniorb/hardcode_vaargs_for_msvc.patch new file mode 100644 index 00000000000000..add8ec08019dfe --- /dev/null +++ b/ports/omniorb/hardcode_vaargs_for_msvc.patch @@ -0,0 +1,76 @@ +diff --git a/src/tool/omniidl/cxx/cccp/cccp.c b/src/tool/omniidl/cxx/cccp/cccp.c +index 507c330..5651b3e 100644 +--- a/src/tool/omniidl/cxx/cccp/cccp.c ++++ b/src/tool/omniidl/cxx/cccp/cccp.c +@@ -182,15 +182,20 @@ my_bzero (b, length) + # endif + #endif + ++#if defined(_MSC_VER) ++#define OMNI_HAVE_VPRINTF ++#define __STDC__ ++#endif ++ + #if defined (__STDC__) && defined (OMNI_HAVE_VPRINTF) + # include + # define VA_START(va_list, var) va_start (va_list, var) + # define PRINTF_ALIST(msg) char *msg, ... + # define PRINTF_DCL(msg) + # define PRINTF_PROTO(ARGS, m, n) PROTO (ARGS) __attribute__ ((format (__printf__, m, n))) + #else + # include + # define VA_START(va_list, var) va_start (va_list) + # define PRINTF_ALIST(msg) msg, va_alist + # define PRINTF_DCL(msg) char *msg; va_dcl + # define PRINTF_PROTO(ARGS, m, n) () __attribute__ ((format (__printf__, m, n))) +diff --git a/src/tool/omniidl/cxx/cccp/cexp.c b/src/tool/omniidl/cxx/cccp/cexp.c +index 4b4679c..b534fb3 100644 +--- a/src/tool/omniidl/cxx/cccp/cexp.c ++++ b/src/tool/omniidl/cxx/cccp/cexp.c +@@ -152,15 +152,20 @@ struct arglist { + # endif + #endif + ++#if defined(_MSC_VER) ++#define OMNI_HAVE_VPRINTF ++#define __STDC__ ++#endif ++ + #if defined (__STDC__) && defined (OMNI_HAVE_VPRINTF) + # include + # define VA_START(va_list, var) va_start (va_list, var) + # define PRINTF_ALIST(msg) char *msg, ... + # define PRINTF_DCL(msg) + # define PRINTF_PROTO(ARGS, m, n) PROTO (ARGS) __attribute__ ((format (__printf__, m, n))) + #else + # include + # define VA_START(va_list, var) va_start (va_list) + # define PRINTF_ALIST(msg) msg, va_alist + # define PRINTF_DCL(msg) char *msg; va_dcl + # define PRINTF_PROTO(ARGS, m, n) () __attribute__ ((format (__printf__, m, n))) +diff --git a/src/tool/omniidl/cxx/cccp/cexp.y.source b/src/tool/omniidl/cxx/cccp/cexp.y.source +index 6fc69f5..6f59873 100644 +--- a/src/tool/omniidl/cxx/cccp/cexp.y.source ++++ b/src/tool/omniidl/cxx/cccp/cexp.y.source +@@ -111,15 +111,20 @@ struct arglist { + # endif + #endif + ++#if defined(_MSC_VER) ++#define OMNI_HAVE_VPRINTF ++#define __STDC__ ++#endif ++ +-#if defined (__STDC__) && defined (HAVE_VPRINTF) ++#if defined (__STDC__) && defined (OMNI_HAVE_VPRINTF) + # include + # define VA_START(va_list, var) va_start (va_list, var) + # define PRINTF_ALIST(msg) char *msg, ... + # define PRINTF_DCL(msg) + # define PRINTF_PROTO(ARGS, m, n) PROTO (ARGS) __attribute__ ((format (__printf__, m, n))) + #else + # include + # define VA_START(va_list, var) va_start (va_list) + # define PRINTF_ALIST(msg) msg, va_alist + # define PRINTF_DCL(msg) char *msg; va_dcl + # define PRINTF_PROTO(ARGS, m, n) () __attribute__ ((format (__printf__, m, n))) diff --git a/ports/omniorb/msvc-src-build-fixes.patch b/ports/omniorb/msvc-src-build-fixes.patch new file mode 100644 index 00000000000000..fb7ae67169054b --- /dev/null +++ b/ports/omniorb/msvc-src-build-fixes.patch @@ -0,0 +1,13 @@ +diff --git a/include/omnithread/atomic.h b/include/omnithread/atomic.h +index 3fed8df..e1b6a71 100644 +--- a/include/omnithread/atomic.h ++++ b/include/omnithread/atomic.h +@@ -27,7 +27,7 @@ + #define __omnithread_atomic_h_ + + +-#ifdef OMNI_HAVE_SYNC_ADD_AND_FETCH ++#if defined(OMNI_HAVE_SYNC_ADD_AND_FETCH) && !defined(_MSC_VER) + + # define OMNI_REFCOUNT_DEFINED + diff --git a/ports/omniorb/portfile.cmake b/ports/omniorb/portfile.cmake new file mode 100644 index 00000000000000..c4b8058559c2cf --- /dev/null +++ b/ports/omniorb/portfile.cmake @@ -0,0 +1,219 @@ +vcpkg_download_distfile(ARCHIVE + URLS "https://netcologne.dl.sourceforge.net/project/omniorb/omniORB/omniORB-4.3.0/omniORB-4.3.0.tar.bz2" + FILENAME "omniORB-${VERSION}.tar.bz2" + SHA512 b081c1acbea3c7bee619a288fec209a0705b7d436f8e5fd4743675046356ef271a8c75882334fcbde4ff77d15f54d2da55f6cfcd117b01e42919d04fd29bfe2f +) + +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) +set (PATCHES + hardcode_vaargs_for_msvc.patch + ) +set (OPTIONS + ac_cv_prog_cc_g=yes + ac_cv_prog_cxx_11=no + ac_cv_prog_cxx_g=yes + omni_cv_sync_add_and_fetch=no + ) +endif() + +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" + PATCHES + fix_dependency.patch + def_gen_fix.patch + msvc-src-build-fixes.patch + release-debug-static.patch + add_win_into_autotools.patch + python-fixes.patch + ${PATCHES} +) + +vcpkg_add_to_path("${CURRENT_HOST_INSTALLED_DIR}/tools/python3") # port ask python distutils for info. +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + set(ENV{PYTHONPATH} "${CURRENT_HOST_INSTALLED_DIR}/tools/python3/Lib${VCPKG_HOST_PATH_SEPARATOR}${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/lib/python${VCPKG_HOST_PATH_SEPARATOR}${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/lib/python") +endif() + +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}") + list(APPEND OPTIONS "PYTHON=${CURRENT_HOST_INSTALLED_DIR}/tools/python3/python3.${PYTHON_VERSION_MINOR}") +endif() + +vcpkg_find_acquire_program(FLEX) +cmake_path(GET FLEX PARENT_PATH FLEX_DIR) +vcpkg_add_to_path("${FLEX_DIR}") + +vcpkg_find_acquire_program(BISON) +cmake_path(GET BISON PARENT_PATH BISON_DIR) +vcpkg_add_to_path("${BISON_DIR}") + +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + set(z_vcpkg_org_linkage "${VCPKG_LIBRARY_LINKAGE}") + # convoluted build system; shared builds requires + # static library to create def file for symbol export + # tools seem to only dynamically link on windows due to make rules! + # zlib/zstd deps for ZIOP seem to not work on windows. At least configure + # won't run the required checks for some reasons. + set(VCPKG_LIBRARY_LINKAGE dynamic) + z_vcpkg_get_cmake_vars(cmake_vars_file) + include("${cmake_vars_file}") + if(VCPKG_BUILD_TYPE) + string(APPEND build_info "NoDebugBuild=1\n") + endif() + string(APPEND build_info "replace-with-per-config-text\n") + set(progs C_COMPILER CXX_COMPILER AR + LINKER RANLIB OBJDUMP MT + STRIP NM DLLTOOL RC_COMPILER) + list(TRANSFORM progs PREPEND "VCPKG_DETECTED_CMAKE_") + foreach(prog IN LISTS progs) + if(${prog}) + set(path "${${prog}}") + unset(prog_found CACHE) + get_filename_component(${prog} "${${prog}}" NAME) + find_program(prog_found ${${prog}} PATHS ENV PATH NO_DEFAULT_PATH) + if(NOT path STREQUAL prog_found) + get_filename_component(path "${path}" DIRECTORY) + vcpkg_add_to_path(PREPEND ${path}) + endif() + endif() + endforeach() + configure_file("${CMAKE_CURRENT_LIST_DIR}/vcpkg.mk" "${SOURCE_PATH}/mk/platforms/vcpkg.mk" @ONLY NEWLINE_STYLE UNIX) + file(GLOB_RECURSE wrappers "${SOURCE_PATH}/bin/x86_win32/*") + file(COPY ${wrappers} DESTINATION "${SOURCE_PATH}/bin") +endif() + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG + NO_WRAPPERS + COPY_SOURCE + OPTIONS + ${OPTIONS} +) + +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + vcpkg_replace_string("${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel//mk/platforms/vcpkg.mk" "replace-with-per-config-text" "NoDebugBuild=1") + if(NOT VCPKG_BUILD_TYPE) + vcpkg_replace_string("${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/mk/platforms/vcpkg.mk" "replace-with-per-config-text" "NoReleaseBuild=1\nBuildDebugBinary=1") + vcpkg_replace_string("${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/src/tool/omniidl/cxx/dir.mk" "python$(subst .,,$(PYVERSION)).lib" "python$(subst .,,$(PYVERSION))_d.lib") + vcpkg_replace_string("${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/src/tool/omniidl/cxx/dir.mk" "zlib.lib" "zlibd.lib") + endif() +endif() + +vcpkg_install_make( + MAKEFILE "GNUmakefile" + ADD_BIN_TO_PATH +) + +vcpkg_fixup_pkgconfig() + +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + file(COPY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/lib/msvcstub.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/lib") + file(GLOB all_libs "${CURRENT_PACKAGES_DIR}/lib/*.lib") + set(import_libs "${all_libs}") + list(FILTER import_libs INCLUDE REGEX "(_rt.lib$|msvcstub)") + if(z_vcpkg_org_linkage STREQUAL "static") + file(REMOVE ${import_libs}) + else() + list(REMOVE_ITEM all_libs ${import_libs}) + file(REMOVE ${all_libs}) # remove installed static libs + set(to_copy_and_rename "${import_libs}") + list(FILTER to_copy_and_rename INCLUDE REGEX "3(0)?_rt.lib") + foreach(cp IN LISTS to_copy_and_rename) + string(REGEX REPLACE "3(0)?_rt" "" new_name "${cp}") + string(REGEX REPLACE "thread4" "thread" new_name "${new_name}") + file(COPY_FILE "${cp}" "${new_name}") + endforeach() + file(GLOB dll_files "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bin/*.dll") + file(COPY ${dll_files} DESTINATION "${CURRENT_PACKAGES_DIR}/bin") + file(GLOB pc_files "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/*.pc") + foreach(pc_file IN LISTS pc_files) + get_filename_component(filename "${pc_file}" NAME_WE) + if(filename STREQUAL "omnithread3") + vcpkg_replace_string("${pc_file}" "-lomnithread" "-lomnithread_rt") + else() + vcpkg_replace_string("${pc_file}" "-l${filename}" "-l${filename}_rt" IGNORE_UNCHANGED) + endif() + endforeach() + endif() + + if(NOT VCPKG_BUILD_TYPE) # dbg libs have no install rules so manually copy them. + file(GLOB all_libs "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/lib/*.lib") + set(install_libs "${all_libs}") + if(z_vcpkg_org_linkage STREQUAL "static") + list(FILTER install_libs EXCLUDE REGEX "(_rtd.lib$|msvcstub)") + else() # dynamic lib + list(FILTER install_libs INCLUDE REGEX "(_rtd.lib$|msvcstub)") + set(to_copy_and_rename "${install_libs}") + list(FILTER to_copy_and_rename INCLUDE REGEX "3(0)?_rtd.lib") + foreach(cp IN LISTS to_copy_and_rename) + string(REGEX REPLACE "3(0)?_rt" "" new_name "${cp}") + string(REGEX REPLACE "thread4" "thread" new_name "${new_name}") + file(COPY_FILE "${cp}" "${new_name}") + list(APPEND install_libs "${new_name}") + endforeach() + file(GLOB dll_files "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/bin/*.dll") + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/bin") + file(COPY ${dll_files} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin") + file(GLOB pc_files "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/*.pc") + foreach(pc_file IN LISTS pc_files) + get_filename_component(filename "${pc_file}" NAME_WE) + if(filename STREQUAL "omnithread3") + vcpkg_replace_string("${pc_file}" "-lomnithread" "-lomnithread_rtd") + else() + vcpkg_replace_string("${pc_file}" "-l${filename}" "-l${filename}_rtd" IGNORE_UNCHANGED) + endif() + endforeach() + endif() + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/lib") + file(COPY ${install_libs} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") + endif() +endif() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING.LIB") # Lib is LGPL +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin" RENAME copyright) # Tools etc are GPL + +vcpkg_copy_pdbs() + +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) +file(COPY + "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bin/omnicpp${VCPKG_TARGET_EXECUTABLE_SUFFIX}" + DESTINATION + "${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin" + ) +endif() + +file(COPY + "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bin/omniidl${VCPKG_TARGET_EXECUTABLE_SUFFIX}" + DESTINATION + "${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin" + ) + +vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin") + +# Restore old linkage info. +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + set(VCPKG_LIBRARY_LINKAGE "${z_vcpkg_org_linkage}") +endif() + +if(NOT VCPKG_TARGET_IS_WINDOWS) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin/omniidl" "${CURRENT_INSTALLED_DIR}" "\"os.path.dirname(__file__)+\"/../../../") +endif() + +set(del_files "") +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + file(GLOB del_files "${CURRENT_PACKAGES_DIR}/lib/*.a" "${CURRENT_PACKAGES_DIR}/debug/lib/*.a") + if(del_files) + file(REMOVE ${del_files}) + endif() +else() + file(GLOB del_files "${CURRENT_PACKAGES_DIR}/lib/*.so*" "${CURRENT_PACKAGES_DIR}/debug/lib/*.so*") + if(del_files) + file(REMOVE ${del_files}) + endif() +endif() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") diff --git a/ports/omniorb/python-fixes.patch b/ports/omniorb/python-fixes.patch new file mode 100644 index 00000000000000..3555db758f724e --- /dev/null +++ b/ports/omniorb/python-fixes.patch @@ -0,0 +1,46 @@ +diff --git a/mk/python.mk b/mk/python.mk +index 1380018..fb321a5 100644 +--- a/mk/python.mk ++++ b/mk/python.mk +@@ -4,7 +4,7 @@ + + PYVERSION := $(shell $(PYTHON) -c 'import sys; sys.stdout.write(".".join(sys.version.split(".")[:2]))') + PYPREFIX := $(shell $(PYTHON) -c 'import sys; sys.stdout.write(sys.exec_prefix.replace("\\","/"))') +-PYINCDIR := $(shell $(PYTHON) -c 'import sys, distutils.sysconfig; sys.stdout.write(distutils.sysconfig.get_python_inc().replace("\\","/"))') ++PYINCDIR := $(includedir)/python$(PYVERSION) + + PythonSHAREDLIB_SUFFIX = $(shell $(PYTHON) -c 'import sys, distutils.sysconfig; sys.stdout.write((distutils.sysconfig.get_config_var("SO") or ".so").lstrip("."))') + +diff --git a/src/tool/omniidl/cxx/idlpython.cc b/src/tool/omniidl/cxx/idlpython.cc +index 639515105..27ad3ee0e 100644 +--- a/src/tool/omniidl/cxx/idlpython.cc ++++ b/src/tool/omniidl/cxx/idlpython.cc +@@ -27,8 +27,6 @@ + + // On Windows, if _DEBUG is defined, some Python versions try to force + // use of _d.lib libraries that are not actually present. +-#undef _DEBUG +- + #include + + #include +diff --git a/src/tool/omniidl/cxx/dir.mk b/src/tool/omniidl/cxx/dir.mk +index 84f10ac03..3b5a60b87 100644 +--- a/src/tool/omniidl/cxx/dir.mk ++++ b/src/tool/omniidl/cxx/dir.mk +@@ -190,13 +190,13 @@ ifdef Win32Platform + + DIR_CPPFLAGS += -DMSDOS -DOMNIIDL_EXECUTABLE + +-PYLIBDIR := $(PYPREFIX)/libs $(PYPREFIX)/lib/x86_win32 ++PYLIBDIR := $(libdir) + + ifdef MinGW32Build + PYLIB := -lpython$(subst .,,$(PYVERSION)) + CXXLINKOPTIONS += $(patsubst %,-L%,$(PYLIBDIR)) + else +-PYLIB := python$(subst .,,$(PYVERSION)).lib ++PYLIB = python$(subst .,,$(PYVERSION)).lib zlib.lib Advapi32.lib + CXXLINKOPTIONS += $(patsubst %,-libpath:%,$(PYLIBDIR)) + endif + diff --git a/ports/omniorb/release-debug-static.patch b/ports/omniorb/release-debug-static.patch new file mode 100644 index 00000000000000..f9cc82409c8322 --- /dev/null +++ b/ports/omniorb/release-debug-static.patch @@ -0,0 +1,319 @@ +diff --git a/mk/mklib.mk b/mk/mklib.mk +index 8f64b14dd..1d73cfdbe 100644 +--- a/mk/mklib.mk ++++ b/mk/mklib.mk +@@ -16,6 +16,8 @@ + # are called libfoo.a and libfoo.so.1.3 etc. + # + ++ifndef NoReleaseBuild ++ + all:: mkstatic mkshared + + export:: mkstatic mkshared +@@ -147,9 +149,13 @@ mkshared:: + + endif + ++endif ++ + ############################################################################## + # Build debug libraries for Win32 + ############################################################################## ++ifndef NoDebugBuild ++ + ifdef Win32Platform + + ifdef BuildSharedLibrary +@@ -231,3 +237,4 @@ veryclean:: + + endif + endif ++endif +\ No newline at end of file +diff --git a/src/lib/dir.mk b/src/lib/dir.mk +index 732f8457c..bff3144f8 100644 +--- a/src/lib/dir.mk ++++ b/src/lib/dir.mk +@@ -17,9 +17,14 @@ ciao:: + ifndef EmbeddedSystem + ifdef Win32Platform + ifndef MinGW32Build ++ifndef NoReleaseBuild + export:: + (cd $(EXPORT_TREE)/$(BINDIR); editbin /REBASE:BASE=0x68000000,DOWN *_rt.dll; ) ++endif ++ifndef NoDebugBuild ++export:: + (cd $(EXPORT_TREE)/$(BINDIR); editbin /REBASE:BASE=0x68000000,DOWN *_rtd.dll; ) + endif + endif + endif ++endif +diff --git a/src/lib/omnithread/dir.mk b/src/lib/omnithread/dir.mk +index ed2194c98..adb87adba 100644 +--- a/src/lib/omnithread/dir.mk ++++ b/src/lib/omnithread/dir.mk +@@ -32,14 +32,6 @@ LIB_VERSION := $(OMNITHREAD_VERSION) + LIB_OBJS := $(CXXSRCS:.cc=.o) + LIB_IMPORTS := $(OMNITHREAD_PLATFORM_LIB) + +-all:: mkstatic mkshared +- +-export:: mkstatic mkshared +- +-ifdef INSTALLTARGET +-install:: mkstatic mkshared +-endif +- + vers := $(subst ., ,$(LIB_VERSION)) + ifeq ($(words $(vers)), 2) + vers := _ $(vers) +@@ -50,6 +42,16 @@ endif + + namespec := $(LIB_NAME) $(vers) + ++ifndef NoReleaseBuild ++ ++all:: mkstatic mkshared ++ ++export:: mkstatic mkshared ++ ++ifdef INSTALLTARGET ++install:: mkstatic mkshared ++endif ++ + ############################################################################## + # Build Static library + ############################################################################## +@@ -158,9 +160,12 @@ mkshared:: + + endif + ++endif + ############################################################################## + # Build debug libraries for Win32 + ############################################################################## ++ifndef NoDebugBuild ++ + ifdef Win32Platform + + ifdef BuildSharedLibrary +@@ -239,4 +244,4 @@ veryclean:: + + endif + endif +- ++endif +diff --git a/src/services/mklib/dynstublib/dir.mk b/src/services/mklib/dynstublib/dir.mk +index 23573345d..e128aa87a 100644 +--- a/src/services/mklib/dynstublib/dir.mk ++++ b/src/services/mklib/dynstublib/dir.mk +@@ -12,15 +12,18 @@ COS_DYNSK_SRCS = $(COS_INTERFACES:%=%DynSK.cc) + + CXXSRCS = $(COS_DYNSK_SRCS) + +-all:: mkstatic mkshared +- +-export:: mkstatic mkshared +- + ifdef Win32Platform + MSVC_STATICLIB_CXXNODEBUGFLAGS += -D_WINSTATIC + MSVC_STATICLIB_CXXDEBUGFLAGS += -D_WINSTATIC + endif + ++ifndef NoReleaseBuild ++all:: mkstatic mkshared ++ ++export:: mkstatic mkshared ++ ++ ++ + + ############################################################################## + # Build Static library +@@ -108,10 +111,11 @@ else + mkshared:: + + endif +- ++endif + ############################################################################## + # Build debug libraries for Win32 + ############################################################################## ++ifndef NoDebugBuild + ifdef Win32Platform + + all:: mkstaticdbug mkshareddbug +@@ -145,6 +149,7 @@ clean:: + ##################################################### + # DLL debug libraries + ##################################################### ++ + shareddbugversion = $(OMNIORB_VERSION) + + dynsknamespec = $(subst ., ,$(COS_DYNSKLIB_NAME).$(shareddbugversion)) +@@ -173,3 +178,4 @@ clean:: + @(dir=shareddebug; $(CleanSharedLibrary)) + + endif ++endif +\ No newline at end of file +diff --git a/src/services/mklib/mkBOAlib/dir.mk b/src/services/mklib/mkBOAlib/dir.mk +index 1869d083d..18cc38764 100644 +--- a/src/services/mklib/mkBOAlib/dir.mk ++++ b/src/services/mklib/mkBOAlib/dir.mk +@@ -16,6 +16,8 @@ COS_SK_OBJS = $(COS_INTERFACES:%=%SK.o) + COS_SK_SRCS = $(COS_INTERFACES:%=%SK.cc) + CXXSRCS = $(COS_SK_SRCS) + ++ifndef NoReleaseBuild ++ + all:: mkstatic mkshared + + export:: mkstatic mkshared +@@ -124,10 +126,11 @@ else + mkshared:: + + endif +- ++endif + ############################################################################## + # Build debug libraries for Win32 + ############################################################################## ++ifndef NoDebugBuild + ifdef Win32Platform + + all:: mkstaticdbug mkshareddbug +@@ -190,4 +193,4 @@ clean:: + + endif + +- ++endif +diff --git a/src/services/mklib/stublib/dir.mk b/src/services/mklib/stublib/dir.mk +index d58027d84..87f7ec22b 100644 +--- a/src/services/mklib/stublib/dir.mk ++++ b/src/services/mklib/stublib/dir.mk +@@ -12,15 +12,18 @@ COS_SK_SRCS = $(COS_INTERFACES:%=%SK.cc) + + CXXSRCS = $(COS_SK_SRCS) + +-all:: mkstatic mkshared +- +-export:: mkstatic mkshared +- + ifdef Win32Platform + MSVC_STATICLIB_CXXNODEBUGFLAGS += -D_WINSTATIC + MSVC_STATICLIB_CXXDEBUGFLAGS += -D_WINSTATIC + endif + ++ifndef NoReleaseBuild ++ ++all:: mkstatic mkshared ++ ++export:: mkstatic mkshared ++ ++ + + ############################################################################## + # Build Static library +@@ -108,10 +111,11 @@ else + mkshared:: + + endif +- ++endif + ############################################################################## + # Build debug libraries for Win32 + ############################################################################## ++ifdef NoDebugBuild + ifdef Win32Platform + + all:: mkstaticdbug mkshareddbug +@@ -173,3 +177,4 @@ clean:: + @(dir=shareddebug; $(CleanSharedLibrary)) + + endif ++endif +diff --git a/src/lib/omniORB/orbcore/dir.mk b/src/lib/omniORB/orbcore/dir.mk +index 634e6b1e2..4370fed07 100644 +--- a/src/lib/omniORB/orbcore/dir.mk ++++ b/src/lib/omniORB/orbcore/dir.mk +@@ -220,6 +220,7 @@ include $(BASE_OMNI_TREE)/mk/mklib.mk + + ######################################################################### + ifdef Win32Platform ++ifndef NoReleaseBuild + + stublib = static/$(patsubst %,$(LibNoDebugPattern),msvcstub) + +@@ -236,6 +237,8 @@ clean:: + + veryclean:: + $(RM) $(stublib) ++endif ++ifndef NoDebugBuild + + stubdblib = debug/$(patsubst %,$(LibDebugPattern),msvcstub) + +@@ -254,6 +257,7 @@ veryclean:: + $(RM) $(stubdblib) + + endif ++endif + + ######################################################################### + ifdef OPEN_SSL_ROOT +diff --git a/src/services/mklib/stublib/dir.mk b/src/services/mklib/stublib/dir.mk +index 87f7ec22b..ce46f6c5f 100644 +--- a/src/services/mklib/stublib/dir.mk ++++ b/src/services/mklib/stublib/dir.mk +@@ -115,7 +115,7 @@ endif + ############################################################################## + # Build debug libraries for Win32 + ############################################################################## +-ifdef NoDebugBuild ++ifndef NoDebugBuild + ifdef Win32Platform + + all:: mkstaticdbug mkshareddbug +diff --git a/mk/mklib.mk b/mk/mklib.mk +index 1d73cfdbe..e6e8d65fe 100644 +--- a/mk/mklib.mk ++++ b/mk/mklib.mk +@@ -16,16 +16,6 @@ + # are called libfoo.a and libfoo.so.1.3 etc. + # + +-ifndef NoReleaseBuild +- +-all:: mkstatic mkshared +- +-export:: mkstatic mkshared +- +-ifdef INSTALLTARGET +-install:: mkstatic mkshared +-endif +- + vers := $(subst ., ,$(LIB_VERSION)) + ifeq ($(words $(vers)), 2) + vers := _ $(vers) +@@ -36,6 +26,16 @@ endif + + namespec := $(LIB_NAME) $(vers) + ++ifndef NoReleaseBuild ++ ++all:: mkstatic mkshared ++ ++export:: mkstatic mkshared ++ ++ifdef INSTALLTARGET ++install:: mkstatic mkshared ++endif ++ + ############################################################################## + # Build Static library + ############################################################################## + diff --git a/ports/omniorb/vcpkg.json b/ports/omniorb/vcpkg.json new file mode 100644 index 00000000000000..2747401ff7626d --- /dev/null +++ b/ports/omniorb/vcpkg.json @@ -0,0 +1,23 @@ +{ + "name": "omniorb", + "version": "4.3.0", + "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", + "supports": "!uwp & !xbox & !((arm | x86) & windows) & !osx", + "dependencies": [ + "openssl", + "python3", + { + "name": "python3", + "host": true + }, + { + "name": "vcpkg-cmake", + "host": true + }, + "zlib", + "zstd" + ] +} diff --git a/ports/omniorb/vcpkg.mk b/ports/omniorb/vcpkg.mk new file mode 100644 index 00000000000000..1dd805aeb92f67 --- /dev/null +++ b/ports/omniorb/vcpkg.mk @@ -0,0 +1,89 @@ +# +# vcpkg.mk - make variables and rules specific to Visual Studio +# + +WindowsNT=1 +x86Processor=1 + +BINDIR = bin +LIBDIR = lib + +ABSTOP = $(shell cd $(TOP); pwd) + +# Windows builds require a shared library build +BuildSharedLibrary=1 +# This will be replaced + +ThreadSystem=NT +undefine UnixPlatform +# Windows build requires static lib to generate symbol def file +undefine NoStaticLibrary +platform = Win32Platform + +@build_info@ + +# Use the following set of flags to build and use multithreaded DLLs +# +MSVC_DLL_CXXNODEBUGFLAGS = @VCPKG_DETECTED_CMAKE_CXX_FLAGS_RELEASE@ +MSVC_DLL_CXXLINKNODEBUGOPTIONS = @VCPKG_DETECTED_CMAKE_SHARED_LINKER_FLAGS_RELEASE@ -manifest +MSVC_DLL_CNODEBUGFLAGS = @VCPKG_DETECTED_CMAKE_C_FLAGS_RELEASE@ +MSVC_DLL_CLINKNODEBUGOPTIONS = @VCPKG_DETECTED_CMAKE_SHARED_LINKER_FLAGS_RELEASE@ -manifest +# +MSVC_DLL_CXXDEBUGFLAGS = @VCPKG_DETECTED_CMAKE_CXX_FLAGS_DEBUG@ -D_DEBUG +MSVC_DLL_CXXLINKDEBUGOPTIONS = @VCPKG_DETECTED_CMAKE_SHARED_LINKER_FLAGS_DEBUG@ -manifest +MSVC_DLL_CDEBUGFLAGS = @VCPKG_DETECTED_CMAKE_C_FLAGS_DEBUG@ -D_DEBUG +MSVC_DLL_CLINKDEBUGOPTIONS = @VCPKG_DETECTED_CMAKE_SHARED_LINKER_FLAGS_DEBUG@ -manifest +# +# Or +# +# Use the following set of flags to build and use multithread static libraries +# +MSVC_STATICLIB_CXXNODEBUGFLAGS = @VCPKG_DETECTED_CMAKE_CXX_FLAGS_RELEASE@ +MSVC_STATICLIB_CXXLINKNODEBUGOPTIONS = @VCPKG_DETECTED_CMAKE_STATIC_LINKER_FLAGS_RELEASE@ -manifest +MSVC_STATICLIB_CNODEBUGFLAGS = @VCPKG_DETECTED_CMAKE_CXX_FLAGS_RELEASE@ +MSVC_STATICLIB_CLINKNODEBUGOPTIONS = @VCPKG_DETECTED_CMAKE_STATIC_LINKER_FLAGS_RELEASE@ -manifest + +MSVC_STATICLIB_CXXDEBUGFLAGS = @VCPKG_DETECTED_CMAKE_CXX_FLAGS_DEBUG@ -D_DEBUG +MSVC_STATICLIB_CXXLINKDEBUGOPTIONS = @VCPKG_DETECTED_CMAKE_STATIC_LINKER_FLAGS_DEBUG@ -manifest +MSVC_STATICLIB_CDEBUGFLAGS = @VCPKG_DETECTED_CMAKE_C_FLAGS_DEBUG@ -D_DEBUG +MSVC_STATICLIB_CLINKDEBUGOPTIONS = @VCPKG_DETECTED_CMAKE_STATIC_LINKER_FLAGS_DEBUG@ -manifest + +# +# Include general win32 things +# + +include $(THIS_IMPORT_TREE)/mk/win32.mk + +MANIFESTTOOL = @VCPKG_DETECTED_CMAKE_MT@ +RCTOOL = @VCPKG_DETECTED_CMAKE_RC_COMPILER@ +CLINK = @VCPKG_DETECTED_CMAKE_LINKER@ +CXXLINK = @VCPKG_DETECTED_CMAKE_LINKER@ +AR = @VCPKG_DETECTED_CMAKE_AR@ +RANLIB = true + +# To build ZIOP support, EnableZIOP must be defined and one or both of +# the zlib and zstd sections must be defined. + +#EnableZIOP = 1 + +#EnableZIOPZLib = 1 +#ZLIB_ROOT = /cygdrive/c/zlib-1.2.11 +#ZLIB_CPPFLAGS = -DOMNI_ENABLE_ZIOP_ZLIB -I$(ZLIB_ROOT) +#ZLIB_LIB = $(patsubst %,$(LibPathPattern),$(ZLIB_ROOT)) zdll.lib + +#EnableZIOPZStd = 1 +#ZSTD_ROOT = /cygdrive/c/zstd +#ZSTD_CPPFLAGS = -DOMNI_ENABLE_ZIOP_ZSTD -I$(ZSTD_ROOT)/include +#ZSTD_LIB = $(patsubst %,$(LibPathPattern),$(ZSTD_ROOT)/lib) zstd.lib +LN_S=cp -pR + +define ExportSharedLibraryToDir + $(ExportLibraryToDir); \ + $(ParseNameSpec); \ + soname=$(SharedLibraryShortLibName); \ + libname=$(SharedLibraryLibNameTemplate); \ + set -x; \ + cd $$dir; \ + $(RM) $$soname; \ + $(LN_S) $() + 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/portfile.cmake b/ports/ompl/portfile.cmake index 04d55d7f4427e5..85206fb067bbf3 100644 --- a/ports/ompl/portfile.cmake +++ b/ports/ompl/portfile.cmake @@ -1,21 +1,27 @@ vcpkg_buildpath_length_warning(37) -set(OMPL_VERSION 1.5.1) +# See https://github.com/ompl/ompl/blob/main/src/ompl/CMakeLists.txt#L49-L54 +if (VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +else() + vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) +endif() 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 ) # 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}" @@ -32,7 +38,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 25602adc2c5f57..1d88596746b69e 100644 --- a/ports/ompl/vcpkg.json +++ b/ports/ompl/vcpkg.json @@ -1,7 +1,7 @@ { "name": "ompl", - "version-string": "1.5.1", - "port-version": 3, + "version": "1.6.0", + "port-version": 2, "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/fix_boost_static_link.patch b/ports/omplapp/fix_boost_static_link.patch index fd74fb8a7b7cd3..af7c3f43e251cc 100644 --- a/ports/omplapp/fix_boost_static_link.patch +++ b/ports/omplapp/fix_boost_static_link.patch @@ -1,5 +1,5 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index f5c3c88..3a4a7d4 100644 +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 4b391b5..24d2c66 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -36,10 +36,10 @@ set(OMPL_DEMO_INSTALL_DIR "${CMAKE_INSTALL_DATAROOTDIR}/ompl/demos" diff --git a/ports/omplapp/fix_dependency.patch b/ports/omplapp/fix_dependency.patch index 4a19f81b84281e..08b1fcacf1dac5 100644 --- a/ports/omplapp/fix_dependency.patch +++ b/ports/omplapp/fix_dependency.patch @@ -1,32 +1,128 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 4c7e6901..a433b7da 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -136,7 +136,7 @@ find_package(Drawstuff QUIET) - set_package_properties(assimp PROPERTIES - URL "http://assimp.org" - PURPOSE "Used in ompl_app for reading meshes representing robots and environments.") --find_package(assimp REQUIRED) -+find_package(assimp CONFIG REQUIRED) - set_package_properties(ccd PROPERTIES - URL "https://github.com/danfis/libccd" - PURPOSE "Collision detection library used by fcl.") -@@ -178,8 +178,7 @@ include_directories( - "${OMPLAPP_INCLUDE_DIRS}" - "${OMPL_INCLUDE_DIRS}" - "${EIGEN3_INCLUDE_DIR}" -- "${FCL_INCLUDE_DIRS}" -- "${ASSIMP_INCLUDE_DIRS}") -+ "${FCL_INCLUDE_DIRS}") - - # ROS installs fcl in /usr. In /usr/include/fcl/config.h it says octomap was - # enabled. Octomap is installed in /opt/ros/${ROS_DISTRO}/include (most -@@ -195,7 +194,7 @@ set(OMPLAPP_MODULE_LIBRARIES - ${FCL_LIBRARIES}) - set(OMPLAPP_LIBRARIES - ${OPENGL_LIBRARIES} -- ${ASSIMP_LIBRARIES} -+ assimp::assimp - ${FCL_LIBRARIES}) - link_directories(${ASSIMP_LIBRARY_DIRS} ${CCD_LIBRARY_DIRS} ${OCTOMAP_LIBRARY_DIRS} ${FCL_LIBRARY_DIRS}) - +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 4c7e690..4b391b5 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -73,12 +73,15 @@ set_package_properties(OpenGL PROPERTIES + URL "http://opengl.org" + PURPOSE "Used to render graphics in ompl_app.") + set(OpenGL_GL_PREFERENCE GLVND) +-find_package(OpenGL) ++if (OMPLAPP_WITH_OPENGL) ++find_package(OpenGL REQUIRED) ++endif() + set_package_properties(Python PROPERTIES + URL "http://python.org" + PURPOSE "Used for python bindings.") + # This includes our own FindPython.cmake in ompl/CMakeModules. It defines, + # among other things, the find_python_module() function used below. ++if (OMPLAPP_WITH_PYTHON) + find_package(Python) + find_boost_python() + +@@ -105,55 +108,76 @@ find_python_module(OpenGL) + if (NOT OPENGL_FOUND OR NOT PY_OPENGL) + message(WARNING "Both OpenGL and the Python OpenGL module need to be installed to use the GUI") + endif() ++endif() + set_package_properties(Eigen3 PROPERTIES + URL "http://eigen.tuxfamily.org" + PURPOSE "A linear algebra library used throughout OMPL.") +-find_package(Eigen3 REQUIRED) ++find_package(Eigen3 CONFIG REQUIRED) + set_package_properties(Triangle PROPERTIES + URL "http://www.cs.cmu.edu/~quake/triangle.html" + PURPOSE "Used to create triangular decompositions of polygonal 2D environments.") ++if (OMPLAPP_WITH_TRIANGLE) + find_package(Triangle QUIET) ++endif() + set_package_properties(flann PROPERTIES + URL "https://github.com/mariusmuja/flann" + PURPOSE "If detetected, FLANN can be used for nearest neighbor queries by OMPL.") ++if (OMPLAPP_WITH_FLANN) + find_package(flann 1.8.3 QUIET) ++endif() + set_package_properties(spot PROPERTIES + URL "http://spot.lrde.epita.fr" + PURPOSE "Used for constructing finite automata from LTL formulae.") ++if (OMPLAPP_WITH_SPOT) + find_package(spot) ++endif() + set_package_properties(MORSE PROPERTIES + URL "https://www.openrobots.org/wiki/morse" + PURPOSE "OMPL includes a plugin for the MORSE Robot Simulation engine.") ++if (OMPLAPP_WITH_MORSE) + find_package(MORSE QUIET) ++endif() + set_package_properties(ODE PROPERTIES + URL "http://ode.org" + PURPOSE "The Open Dynamics Engine can be used as a \"black box\" for kinodynamic planning.") +-find_package(ODE QUIET) ++if (OMPLAPP_WITH_ODE) ++find_package(ODE CONFIG REQUIRED) ++set(ODE_LIBRARIES ODE::ODE) ++endif() + set_package_properties(Drawstuff PROPERTIES + URL "http://ode.org" + PURPOSE "Part of the ODE source distribution, used in one demo program.") ++if (OMPLAPP_WITH_DRAWSTUFF) + find_package(Drawstuff QUIET) ++endif() + set_package_properties(assimp PROPERTIES + URL "http://assimp.org" + PURPOSE "Used in ompl_app for reading meshes representing robots and environments.") +-find_package(assimp REQUIRED) ++find_package(assimp CONFIG REQUIRED) ++set(ASSIMP_LIBRARIES assimp::assimp) + set_package_properties(ccd PROPERTIES + URL "https://github.com/danfis/libccd" + PURPOSE "Collision detection library used by fcl.") +-find_package(ccd REQUIRED) ++find_package(ccd CONFIG REQUIRED) + set_package_properties(fcl PROPERTIES + URL "https://github.com/flexible-collision-library/fcl" + PURPOSE "The default collision checking library.") ++if (OMPLAPP_WITH_OCTOMAP) + find_package(octomap QUIET) ++endif() + find_package(fcl REQUIRED) + set_package_properties(Threads PROPERTIES + URL "https://en.wikipedia.org/wiki/POSIX_Threads" + PURPOSE "Pthreads is sometimes needed, depending on OS / compiler.") ++if (OMPLAPP_WITH_THREADS) + find_package(Threads QUIET) ++endif() + set_package_properties(Doxygen PROPERTIES + URL "http://doxygen.org" + PURPOSE "Used to create the OMPL documentation (i.e., http://ompl.kavrakilab.org).") ++if (OMPLAPP_WITH_DOXYGEN) + find_package(Doxygen) ++endif() + + enable_testing() + +@@ -177,9 +201,7 @@ include_directories(SYSTEM "${Boost_INCLUDE_DIR}") + include_directories( + "${OMPLAPP_INCLUDE_DIRS}" + "${OMPL_INCLUDE_DIRS}" +- "${EIGEN3_INCLUDE_DIR}" +- "${FCL_INCLUDE_DIRS}" +- "${ASSIMP_INCLUDE_DIRS}") ++ "${FCL_INCLUDE_DIRS}") + + # ROS installs fcl in /usr. In /usr/include/fcl/config.h it says octomap was + # enabled. Octomap is installed in /opt/ros/${ROS_DISTRO}/include (most +@@ -242,12 +264,14 @@ endif() + set_package_properties(PQP PROPERTIES + URL "http://gamma.cs.unc.edu/SSV/" + PURPOSE "Used as an alternative, additional collision checking library (the default is FCL).") ++IF (OMPLAPP_WITH_PQP) + find_package(PQP QUIET) + if(PQP_FOUND) + include_directories("${PQP_INCLUDE_DIR}") + set(OMPLAPP_MODULE_LIBRARIES ${OMPLAPP_MODULE_LIBRARIES} ${PQP_LIBRARY}) + set(OMPLAPP_LIBRARIES ${OMPLAPP_LIBRARIES} ${PQP_LIBRARY}) + endif() ++endif() + + add_subdirectory(ompl/doc) + add_subdirectory(ompl/src) diff --git a/ports/omplapp/portfile.cmake b/ports/omplapp/portfile.cmake index 02da44945fa692..ae067de91936e7 100644 --- a/ports/omplapp/portfile.cmake +++ b/ports/omplapp/portfile.cmake @@ -12,37 +12,49 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL static) set(STATIC_PATCH fix_boost_static_link.patch) endif() -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH +vcpkg_extract_source_archive( + SOURCE_PATH ARCHIVE ${ARCHIVE} - REF ${OMPL_VERSION} + SOURCE_BASE ${OMPL_VERSION} PATCHES fix_dependency.patch ${STATIC_PATCH} ) -# Based on selected features different files get downloaded, so use the following command instead of patch. -file(READ ${SOURCE_PATH}/CMakeLists.txt _contents) -string(REPLACE "find_package(Eigen3 REQUIRED)" "find_package(Eigen3 REQUIRED CONFIG)" _contents "${_contents}") -string(REPLACE "find_package(ccd REQUIRED)" "find_package(ccd REQUIRED CONFIG)" _contents "${_contents}") -file(WRITE ${SOURCE_PATH}/CMakeLists.txt "${_contents}") +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + ode OMPLAPP_WITH_ODE + opengl OMPLAPP_WITH_OPENGL + threads OMPLAPP_WITH_THREADS +) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" DISABLE_PARALLEL_CONFIGURE OPTIONS + ${FEATURE_OPTIONS} -DOMPL_VERSIONED_INSTALL=OFF -DOMPL_REGISTRATION=OFF -DOMPL_BUILD_DEMOS=OFF -DOMPL_BUILD_TESTS=OFF -DOMPL_BUILD_PYBINDINGS=OFF -DOMPL_BUILD_PYTESTS=OFF + # Not implement + -DOMPLAPP_WITH_PYTHON=OFF + -DOMPLAPP_WITH_TRIANGLE=OFF + -DOMPLAPP_WITH_OCTOMAP=OFF + -DOMPLAPP_WITH_FLANN=OFF # Requires 1.8.3 + # Missing dependencies in vcpkg + -DOMPLAPP_WITH_SPOT=OFF + -DOMPLAPP_WITH_MORSE=OFF + -DOMPLAPP_WITH_DRAWSTUFF=OFF + -DOMPLAPP_WITH_PQP=OFF + -DOMPLAPP_WITH_DOXYGEN=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/ompl/cmake) +vcpkg_cmake_config_fixup(CONFIG_PATH share/ompl/cmake) # Remove debug distribution and other, move ompl_benchmark to tools/ dir vcpkg_copy_tools(TOOL_NAMES ompl_benchmark AUTO_CLEAN) @@ -59,9 +71,13 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share" ) +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/omplapp/config.h" "#define OMPLAPP_RESOURCE_DIR \"${CURRENT_PACKAGES_DIR}/share/ompl/resources\"" "") + 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}/lib/pkgconfig" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig") + # Handle copyright file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/omplapp/vcpkg.json b/ports/omplapp/vcpkg.json index 07ac2ba649acdc..becb7ee3b0b1fa 100644 --- a/ports/omplapp/vcpkg.json +++ b/ports/omplapp/vcpkg.json @@ -1,11 +1,59 @@ { "name": "omplapp", - "version-string": "1.5.1", + "version": "1.5.1", + "port-version": 5, "description": "Use OMPL for reading meshes and performing collision checking", "homepage": "https://ompl.kavrakilab.org/", + "license": null, "dependencies": [ "assimp", + "boost-dynamic-bitset", + "boost-filesystem", + "boost-graph", + "boost-odeint", + "boost-program-options", + "boost-serialization", + "boost-system", + "boost-test", + "boost-timer", + "boost-ublas", + "ccd", + "eigen3", "fcl", - "ompl" - ] + { + "name": "omplapp", + "features": [ + "threads" + ], + "platform": "linux" + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "ode": { + "description": "Build with Open Dynamics Engine support", + "dependencies": [ + "ode" + ] + }, + "opengl": { + "description": "Build with OpenGL support", + "dependencies": [ + "opengl" + ] + }, + "threads": { + "description": "Build with Threads support", + "dependencies": [ + "pthreads" + ] + } + } } diff --git a/ports/onednn/portfile.cmake b/ports/onednn/portfile.cmake index 964ed488c278e7..a97a610f01fad5 100644 --- a/ports/onednn/portfile.cmake +++ b/ports/onednn/portfile.cmake @@ -1,10 +1,8 @@ -vcpkg_fail_port_install(ON_ARCH "x86" "arm" ON_TARGET "uwp") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO oneapi-src/oneDNN - REF v2.4.3 - SHA512 6a597be1b6b50d252e346a96d3c9b4771e9d8e8fc495a09b638ea296d53e71d51ea2e2be04cc20de1bca17215a7a7e5f22a1808628bcdf98180def2d91b2c9e3 + REF "v${VERSION}" + SHA512 251da59164c102a6dd3c97e92aef58a879930c0def6e9fe6e43e68e1316ed0c9844796e69eecebbde12085900bfcda6c1ab30db6df24ba9826883171c87a964d HEAD_REF master ) @@ -15,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() @@ -24,5 +25,4 @@ 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") -# Copyright and license -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/onednn/vcpkg.json b/ports/onednn/vcpkg.json index c34f03429ef5cd..e5868569ea97b0 100644 --- a/ports/onednn/vcpkg.json +++ b/ports/onednn/vcpkg.json @@ -1,8 +1,10 @@ { "name": "onednn", - "version-semver": "2.4.3", + "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", "supports": "x64 & !uwp", "dependencies": [ { 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 4c54d77e057957..e590b400f8d9a7 100644 --- a/ports/onnx-optimizer/fix-cmakelists.patch +++ b/ports/onnx-optimizer/fix-cmakelists.patch @@ -1,56 +1,98 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index c2e48b3..5716fbb 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -7,10 +7,18 @@ if(NOT MSVC) - set(CMAKE_CXX_STANDARD 11) - endif(NOT MSVC) - -+# Add MSVC RunTime Flag -+function(add_msvc_runtime_flag lib) -+ if(${ONNX_USE_MSVC_STATIC_RUNTIME}) -+ target_compile_options(${lib} PRIVATE $<$>:/MT> $<$:/MTd>) -+ else() -+ target_compile_options(${lib} PRIVATE $<$>:/MD> $<$:/MDd>) -+ endif() -+endfunction() - set(CMAKE_POSITION_INDEPENDENT_CODE ON) - --set(ONNX_ROOT ${PROJECT_SOURCE_DIR}/third_party/onnx) --add_subdirectory(${ONNX_ROOT}) -+find_package(protobuf CONFIG REQUIRED) -+find_package(ONNX CONFIG REQUIRED) - - file(READ "${PROJECT_SOURCE_DIR}/VERSION_NUMBER" ONNX_OPTIMIZER_VERSION) - string(STRIP "${ONNX_OPTIMIZER_VERSION}" ONNX_OPTIMIZER_VERSION) -@@ -31,6 +39,7 @@ add_executable(onnx_optimizer_exec examples/onnx_optimizer_exec.cpp) - target_link_libraries(onnx_optimizer_exec onnx_optimizer) - - if(BUILD_ONNX_PYTHON) -+ find_package(Python3 COMPONENTS Development REQUIRED) - if("${PY_EXT_SUFFIX}" STREQUAL "") - if(MSVC) - set(PY_EXT_SUFFIX ".pyd") -@@ -51,7 +60,7 @@ if(BUILD_ONNX_PYTHON) - $ - ${PYTHON_INCLUDE_DIR}) - # pybind11 is a header only lib -- find_package(pybind11 2.2) -+ find_package(pybind11 2.2 CONFIG REQUIRED) - if(pybind11_FOUND) - target_include_directories(onnx_opt_cpp2py_export PUBLIC - ${pybind11_INCLUDE_DIRS}) -@@ -87,11 +96,9 @@ if(BUILD_ONNX_PYTHON) - endif() - - target_link_libraries(onnx_opt_cpp2py_export PRIVATE onnx_optimizer) -- -+ target_link_directories(onnx_opt_cpp2py_export PRIVATE ${Python3_LIBRARY_DIRS}) -+ target_link_libraries(onnx_opt_cpp2py_export PRIVATE ${Python3_LIBRARIES}) - if(MSVC) -- find_package(PythonInterp ${PY_VERSION} REQUIRED) -- find_package(PythonLibs ${PY_VERSION} REQUIRED) -- target_link_libraries(onnx_opt_cpp2py_export PRIVATE ${PYTHON_LIBRARIES}) - target_compile_options(onnx_opt_cpp2py_export - PRIVATE /MP - /WX +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 0063385..f1522bc 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -10,6 +10,15 @@ project(onnx_optimizer C CXX) + + set(CMAKE_CXX_STANDARD 17) + ++# Add MSVC RunTime Flag ++function(add_msvc_runtime_flag lib) ++ if(${ONNX_USE_MSVC_STATIC_RUNTIME}) ++ target_compile_options(${lib} PRIVATE $<$>:/MT> $<$:/MTd>) ++ else() ++ target_compile_options(${lib} PRIVATE $<$>:/MD> $<$:/MDd>) ++ endif() ++endfunction() ++ + set(CMAKE_POSITION_INDEPENDENT_CODE ON) + + include(cmake/utils.cmake) +@@ -23,12 +32,10 @@ option(ONNX_OPT_USE_SYSTEM_PROTOBUF "" OFF) + if(NOT ONNX_OPT_USE_SYSTEM_PROTOBUF) + option(protobuf_BUILD_TESTS "" OFF) + option(protobuf_MSVC_STATIC_RUNTIME "" ${ONNX_USE_MSVC_STATIC_RUNTIME}) +- add_subdirectory_if_no_target(${PROJECT_SOURCE_DIR}/third_party/protobuf/cmake libprotobuf) + endif() + +- +-set(ONNX_ROOT ${PROJECT_SOURCE_DIR}/third_party/onnx) +-add_subdirectory_if_no_target(${ONNX_ROOT} ${ONNX_TARGET_NAME}) ++find_package(protobuf CONFIG REQUIRED) ++find_package(ONNX CONFIG REQUIRED) + + 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() + endif() +- find_package(Python COMPONENTS Interpreter REQUIRED) ++ find_package(Python3 COMPONENTS Development REQUIRED) + + onnxopt_add_library(onnx_opt_cpp2py_export MODULE "onnxoptimizer/cpp2py_export.cc") + set_target_properties(onnx_opt_cpp2py_export PROPERTIES PREFIX "") +@@ -84,7 +91,7 @@ if(BUILD_ONNX_PYTHON) + $ + ${Python_INCLUDE_DIR}) + # pybind11 is a header only lib +- find_package(pybind11 2.2) ++ find_package(pybind11 2.2 CONFIG REQUIRED) + if(pybind11_FOUND) + target_include_directories(onnx_opt_cpp2py_export PUBLIC + ${pybind11_INCLUDE_DIRS}) +@@ -121,9 +128,9 @@ if(BUILD_ONNX_PYTHON) + + target_link_libraries(onnx_opt_cpp2py_export PRIVATE onnx_optimizer) + ++ target_link_directories(onnx_opt_cpp2py_export PRIVATE ${Python3_LIBRARY_DIRS}) ++ target_link_libraries(onnx_opt_cpp2py_export PRIVATE ${Python3_LIBRARIES}) + if(MSVC) +- find_package(Python COMPONENTS Interpreter Development REQUIRED) +- target_link_libraries(onnx_opt_cpp2py_export PRIVATE ${Python_LIBRARIES}) + target_compile_options(onnx_opt_cpp2py_export + PRIVATE /MP + /WX +diff --git a/cmake/utils.cmake b/cmake/utils.cmake +index 6cca9f3..9d79f1a 100644 +--- a/cmake/utils.cmake ++++ b/cmake/utils.cmake +@@ -1,5 +1,3 @@ +-include(${PROJECT_SOURCE_DIR}/third_party/onnx/cmake/Utils.cmake) +- + # 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 fe62f0304d12a5..10e8d7fe78ea60 100644 --- a/ports/onnx-optimizer/portfile.cmake +++ b/ports/onnx-optimizer/portfile.cmake @@ -3,13 +3,15 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO onnx/optimizer - REF v0.2.6 - SHA512 cc6373781f04bc6fafd3282d248e26eaf93556b86acbb0dee44b4aa7a5d59c634905c1a05d035e31a50fc0f06cfc686fa483b79a324dd973faa421747d4a681b + REF "v${VERSION}" + SHA512 552d6fa261c3ce2db2e0938a5b5261676335bce9bd828b46a1e2631f3b362c748ae9a6cfe7d62072fc3774b3f506bc54aa5827b52241e6f48d78a08dea1d9316 HEAD_REF master PATCHES fix-cmakelists.patch ) +string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" USE_STATIC_RUNTIME) + vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES pybind11 BUILD_ONNX_PYTHON @@ -26,6 +28,7 @@ vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${FEATURE_OPTIONS} + -DONNX_USE_MSVC_STATIC_RUNTIME=${USE_STATIC_RUNTIME} ) if("pybind11" IN_LIST FEATURES) # This target is not in install/export @@ -35,8 +38,7 @@ vcpkg_cmake_install() vcpkg_copy_pdbs() vcpkg_cmake_config_fixup(PACKAGE_NAME ONNXOptimizer CONFIG_PATH lib/cmake/ONNXOptimizer) -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/include" "${CURRENT_PACKAGES_DIR}/debug/share" "${CURRENT_PACKAGES_DIR}/include/onnxoptimizer/test" diff --git a/ports/onnx-optimizer/vcpkg.json b/ports/onnx-optimizer/vcpkg.json index f38496eb083255..9ca4a5e77a2a0f 100644 --- a/ports/onnx-optimizer/vcpkg.json +++ b/ports/onnx-optimizer/vcpkg.json @@ -1,6 +1,6 @@ { "name": "onnx-optimizer", - "version-semver": "0.2.6", + "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-cmakelists.patch b/ports/onnx/fix-cmakelists.patch index c5863deafe53b8..f8d300103ab205 100644 --- a/ports/onnx/fix-cmakelists.patch +++ b/ports/onnx/fix-cmakelists.patch @@ -1,44 +1,8 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 628dcaa..300e4ea 100644 +index 4dd56b6..2ff3e29 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -111,8 +111,8 @@ endif() - # find_package Python has replaced PythonInterp and PythonLibs since cmake 3.12 - # Use the following command in the future; now this is only compatible with the latest pybind11 - # find_package(Python ${PY_VERSION} COMPONENTS Interpreter Development REQUIRED) --find_package(PythonInterp ${PY_VERSION} REQUIRED) --find_package(PythonLibs ${PY_VERSION}) -+find_package(Python3 ${PY_VERSION} COMPONENTS Interpreter REQUIRED) -+set(PYTHON_EXECUTABLE ${Python3_EXECUTABLE}) - - if(CMAKE_SYSTEM_NAME STREQUAL "AIX") - set(CMAKE_NO_SYSTEM_FROM_IMPORTED 1) -@@ -422,6 +422,7 @@ target_link_libraries(onnx PUBLIC onnx_proto) - add_onnx_global_defines(onnx) - - if(BUILD_ONNX_PYTHON) -+ find_package(Python3 ${PY_VERSION} COMPONENTS Development REQUIRED) - if("${PY_EXT_SUFFIX}" STREQUAL "") - if(MSVC) - set(PY_EXT_SUFFIX ".pyd") -@@ -441,10 +442,13 @@ if(BUILD_ONNX_PYTHON) - $ - $ - $ -- ${PYTHON_INCLUDE_DIR}) -- -+ ${Python3_INCLUDE_DIRS}) -+ target_link_directories(onnx_cpp2py_export PRIVATE -+ ${Python3_LIBRARY_DIRS}) -+ target_link_libraries(onnx_cpp2py_export PRIVATE -+ ${Python3_LIBRARIES}) - # pybind11 is a header only lib -- find_package(pybind11 2.2) -+ find_package(pybind11 2.2 CONFIG REQUIRED) - if(pybind11_FOUND) - target_include_directories(onnx_cpp2py_export PUBLIC - ${pybind11_INCLUDE_DIRS}) -@@ -687,6 +691,27 @@ endif() +@@ -65,6 +65,27 @@ endif() include(GNUInstallDirs) @@ -63,24 +27,41 @@ index 628dcaa..300e4ea 100644 + ) +endif() + - install(DIRECTORY ${ONNX_ROOT}/onnx - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} - FILES_MATCHING -@@ -639,7 +639,7 @@ endif() + set(ONNX_ROOT ${PROJECT_SOURCE_DIR}) - if (NOT ANDROID AND NOT IOS) - # ---[ ONNXIFI wrapper -- add_library(onnxifi_wrapper MODULE onnx/onnxifi_wrapper.c) -+ add_library(onnxifi_wrapper onnx/onnxifi_wrapper.c) - if(MSVC) - add_msvc_runtime_flag(onnxifi_wrapper) - endif() -@@ -669,7 +669,7 @@ if (NOT ANDROID AND NOT IOS) + # Read ONNX version +@@ -116,7 +137,8 @@ endif() + # find_package Python has replaced PythonInterp and PythonLibs since cmake 3.12 + # Use the following command in the future; now this is only compatible with the latest pybind11 + # find_package(Python ${PY_VERSION} COMPONENTS Interpreter Development REQUIRED) +-find_package(PythonInterp ${PY_VERSION} REQUIRED) ++find_package(Python3 ${PY_VERSION} COMPONENTS Interpreter REQUIRED) ++set(PYTHON_EXECUTABLE ${Python3_EXECUTABLE}) + if(BUILD_ONNX_PYTHON) + find_package(PythonLibs ${PY_VERSION}) endif() +@@ -434,6 +456,7 @@ target_link_libraries(onnx PUBLIC onnx_proto) + add_onnx_global_defines(onnx) - # ---[ ONNXIFI dummy backend --add_library(onnxifi_dummy SHARED onnx/onnxifi_dummy.c) -+add_library(onnxifi_dummy onnx/onnxifi_dummy.c) + if(BUILD_ONNX_PYTHON) ++ find_package(Python3 ${PY_VERSION} COMPONENTS Development REQUIRED) + if("${PY_EXT_SUFFIX}" STREQUAL "") + if(MSVC) + set(PY_EXT_SUFFIX ".pyd") +@@ -452,10 +475,14 @@ if(BUILD_ONNX_PYTHON) + target_include_directories(onnx_cpp2py_export PRIVATE + $ + $ +- $) ++ ${Python3_INCLUDE_DIRS}) ++ target_link_directories(onnx_cpp2py_export PRIVATE ++ ${Python3_LIBRARY_DIRS}) ++ target_link_libraries(onnx_cpp2py_export PRIVATE ++ ${Python3_LIBRARIES}) - if(ONNXIFI_ENABLE_EXT) - add_definitions(-DONNXIFI_ENABLE_EXT=ON) + # pybind11 is a header only lib +- find_package(pybind11 2.2 CONFIG) ++ find_package(pybind11 2.2 CONFIG REQUIRED) + if(NOT pybind11_FOUND) + if(EXISTS "${ONNX_ROOT}/third_party/pybind11/include/pybind11/pybind11.h") + add_subdirectory("${ONNX_ROOT}/third_party/pybind11") diff --git a/ports/onnx/fix-dependency-protobuf.patch b/ports/onnx/fix-dependency-protobuf.patch new file mode 100644 index 00000000000000..603f58770ffcf5 --- /dev/null +++ b/ports/onnx/fix-dependency-protobuf.patch @@ -0,0 +1,12 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d81ac1d..9f97998 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -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/ports/onnx/portfile.cmake b/ports/onnx/portfile.cmake index 61c36b56f24c7f..9cab0c6f3d6bc9 100644 --- a/ports/onnx/portfile.cmake +++ b/ports/onnx/portfile.cmake @@ -3,10 +3,11 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO onnx/onnx - REF v1.10.2 - SHA512 7519d326cd2b2b13a269ec0d01af07c32115d183dae6e1eaae55f5b23b6c92b2aadbb2b1e555557f4201bbcf921fa563d09d45d7f1d3bd2399c1a94a6ef63303 + REF "v${VERSION}" + SHA512 7a9a8493b9c007429629484156487395044506f34e72253640e626351cb623b390750b36af78a290786131e3dcac35f4eb269e8693b594b7ce7cb105bcf9318d PATCHES fix-cmakelists.patch + fix-dependency-protobuf.patch ) string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" USE_STATIC_RUNTIME) @@ -62,7 +63,11 @@ endif() vcpkg_cmake_install() vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/ONNX) -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/${PORT}/ONNXConfig.cmake" "# import targets" +[[# import targets +include(CMakeFindDependencyMacro) +find_dependency(protobuf CONFIG)]]) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" @@ -72,6 +77,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" @@ -81,6 +87,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" @@ -91,4 +98,6 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/onnx/onnx_ml" "${CURRENT_PACKAGES_DIR}/include/onnx/onnx_data" "${CURRENT_PACKAGES_DIR}/include/onnx/onnx_operators_ml" + "${CURRENT_PACKAGES_DIR}/include/onnx/reference/ops" + "${CURRENT_PACKAGES_DIR}/include/onnx/reference" ) diff --git a/ports/onnx/vcpkg.json b/ports/onnx/vcpkg.json index 069934dd73562a..f2386a485f4918 100644 --- a/ports/onnx/vcpkg.json +++ b/ports/onnx/vcpkg.json @@ -1,6 +1,6 @@ { "name": "onnx", - "version-semver": "1.10.2", + "version-semver": "1.16.2", "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 524936ac26c74b..666d0f9ca91d9f 100644 --- a/ports/onnxruntime-gpu/portfile.cmake +++ b/ports/onnxruntime-gpu/portfile.cmake @@ -1,22 +1,31 @@ -vcpkg_fail_port_install(ON_ARCH "x86" "arm" ON_TARGET "UWP" "LINUX" "ANDROID" "FREEBSD" "OSX") - vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) -set(VERSION 1.5.1) - vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/microsoft/onnxruntime/releases/download/v1.5.1/onnxruntime-win-x64-gpu-1.5.1.zip" - FILENAME "onnxruntime-win-x64-gpu-1.5.1.zip" - SHA512 893dbed1196b5c9730744dc5566cd3ad8ec677cbea04dd0572efc9a8b3563d3f1cbf40d0dea3d624d9451dc33272c0ae44d53d6deee6f249fa2520e60718ee52 + URLS "https://github.com/microsoft/onnxruntime/releases/download/v${VERSION}/onnxruntime-win-x64-gpu-${VERSION}.zip" + FILENAME "onnxruntime-win-x64-gpu-${VERSION}.zip" + SHA512 9576eafca59fc7f2af9f62d7ee8aa31208ef965d17f3ad71747d5a9a46cdffd6b3958dc945109d82937555df8bb35319ce92925e66ab707f1ca8e7564ecb3ced ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" NO_REMOVE_ONE_LEVEL - REF ${VERSION} ) +# Download repo for experimental features +vcpkg_from_github( + OUT_SOURCE_PATH REPO_PATH + REPO microsoft/onnxruntime + REF v${VERSION} + SHA512 3bf25e431d175c61953d28b1bf8f6871376684263992451a5b2a66e670768fc66e7027f141c6e3f4d1eddeebeda51f31ea0adf4749e50d99ee89d0a26bec77ce +) + +file(COPY + ${REPO_PATH}/include/onnxruntime/core/session/experimental_onnxruntime_cxx_api.h + ${REPO_PATH}/include/onnxruntime/core/session/experimental_onnxruntime_cxx_inline.h + DESTINATION ${CURRENT_PACKAGES_DIR}/include + ) + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/include ${CURRENT_PACKAGES_DIR}/lib @@ -26,18 +35,68 @@ file(MAKE_DIRECTORY ) file(COPY - ${SOURCE_PATH}/onnxruntime-win-x64-gpu-1.5.1/include + ${SOURCE_PATH}/onnxruntime-win-x64-gpu-${VERSION}/include DESTINATION ${CURRENT_PACKAGES_DIR} ) -file(COPY ${SOURCE_PATH}/onnxruntime-win-x64-gpu-1.5.1/lib/onnxruntime.lib +file(COPY ${SOURCE_PATH}/onnxruntime-win-x64-gpu-${VERSION}/lib/onnxruntime.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib) -file(COPY ${SOURCE_PATH}/onnxruntime-win-x64-gpu-1.5.1/lib/onnxruntime.lib +file(COPY ${SOURCE_PATH}/onnxruntime-win-x64-gpu-${VERSION}/lib/onnxruntime.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) -file(COPY ${SOURCE_PATH}/onnxruntime-win-x64-gpu-1.5.1/lib/onnxruntime.dll + +file(COPY ${SOURCE_PATH}/onnxruntime-win-x64-gpu-${VERSION}/lib/onnxruntime.pdb DESTINATION ${CURRENT_PACKAGES_DIR}/bin) -file(COPY ${SOURCE_PATH}/onnxruntime-win-x64-gpu-1.5.1/lib/onnxruntime.dll +file(COPY ${SOURCE_PATH}/onnxruntime-win-x64-gpu-${VERSION}/lib/onnxruntime.pdb DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) +file(COPY ${SOURCE_PATH}/onnxruntime-win-x64-gpu-${VERSION}/lib/onnxruntime_providers_cuda.lib + DESTINATION ${CURRENT_PACKAGES_DIR}/lib) +file(COPY ${SOURCE_PATH}/onnxruntime-win-x64-gpu-${VERSION}/lib/onnxruntime_providers_cuda.lib + DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) + +file(COPY ${SOURCE_PATH}/onnxruntime-win-x64-gpu-${VERSION}/lib/onnxruntime_providers_cuda.pdb + DESTINATION ${CURRENT_PACKAGES_DIR}/bin) +file(COPY ${SOURCE_PATH}/onnxruntime-win-x64-gpu-${VERSION}/lib/onnxruntime_providers_cuda.pdb + DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) + +file(COPY ${SOURCE_PATH}/onnxruntime-win-x64-gpu-${VERSION}/lib/onnxruntime_providers_shared.pdb + DESTINATION ${CURRENT_PACKAGES_DIR}/bin) +file(COPY ${SOURCE_PATH}/onnxruntime-win-x64-gpu-${VERSION}/lib/onnxruntime_providers_shared.pdb + DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) + +file(COPY ${SOURCE_PATH}/onnxruntime-win-x64-gpu-${VERSION}/lib/onnxruntime_providers_tensorrt.pdb + DESTINATION ${CURRENT_PACKAGES_DIR}/bin) +file(COPY ${SOURCE_PATH}/onnxruntime-win-x64-gpu-${VERSION}/lib/onnxruntime_providers_tensorrt.pdb + DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) + +file(COPY ${SOURCE_PATH}/onnxruntime-win-x64-gpu-${VERSION}/lib/onnxruntime_providers_shared.lib + DESTINATION ${CURRENT_PACKAGES_DIR}/lib) +file(COPY ${SOURCE_PATH}/onnxruntime-win-x64-gpu-${VERSION}/lib/onnxruntime_providers_shared.lib + DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) + +file(COPY ${SOURCE_PATH}/onnxruntime-win-x64-gpu-${VERSION}/lib/onnxruntime_providers_tensorrt.lib + DESTINATION ${CURRENT_PACKAGES_DIR}/lib) +file(COPY ${SOURCE_PATH}/onnxruntime-win-x64-gpu-${VERSION}/lib/onnxruntime_providers_tensorrt.lib + DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) + +file(COPY ${SOURCE_PATH}/onnxruntime-win-x64-gpu-${VERSION}/lib/onnxruntime_providers_shared.dll + DESTINATION ${CURRENT_PACKAGES_DIR}/bin) +file(COPY ${SOURCE_PATH}/onnxruntime-win-x64-gpu-${VERSION}/lib/onnxruntime_providers_shared.dll + DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) + +file(COPY ${SOURCE_PATH}/onnxruntime-win-x64-gpu-${VERSION}/lib/onnxruntime.dll + DESTINATION ${CURRENT_PACKAGES_DIR}/bin) +file(COPY ${SOURCE_PATH}/onnxruntime-win-x64-gpu-${VERSION}/lib/onnxruntime.dll + DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) + +file(COPY ${SOURCE_PATH}/onnxruntime-win-x64-gpu-${VERSION}/lib/onnxruntime_providers_tensorrt.dll + DESTINATION ${CURRENT_PACKAGES_DIR}/bin) +file(COPY ${SOURCE_PATH}/onnxruntime-win-x64-gpu-${VERSION}/lib/onnxruntime_providers_tensorrt.dll + DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) + +file(COPY ${SOURCE_PATH}/onnxruntime-win-x64-gpu-${VERSION}/lib/onnxruntime_providers_cuda.dll + DESTINATION ${CURRENT_PACKAGES_DIR}/bin) +file(COPY ${SOURCE_PATH}/onnxruntime-win-x64-gpu-${VERSION}/lib/onnxruntime_providers_cuda.dll + DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) # # Handle copyright -file(INSTALL ${SOURCE_PATH}/onnxruntime-win-x64-gpu-1.5.1/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/onnxruntime-win-x64-gpu-${VERSION}/LICENSE") diff --git a/ports/onnxruntime-gpu/vcpkg.json b/ports/onnxruntime-gpu/vcpkg.json index b656e7df3a0466..ac545ae04b7147 100644 --- a/ports/onnxruntime-gpu/vcpkg.json +++ b/ports/onnxruntime-gpu/vcpkg.json @@ -1,7 +1,8 @@ { "name": "onnxruntime-gpu", - "version-string": "1.5.1", + "version": "1.19.2", "description": "onnxruntime (GPU)", "homepage": "https://github.com/microsoft/onnxruntime", + "license": "MIT", "supports": "windows & !x86 & !uwp & !static & !arm" } diff --git a/ports/oof/portfile.cmake b/ports/oof/portfile.cmake new file mode 100644 index 00000000000000..49b3abbc7e0fa8 --- /dev/null +++ b/ports/oof/portfile.cmake @@ -0,0 +1,11 @@ +# Header-only library +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO s9w/oof + REF a0c3e8e0dceec391bd38861ab108b932a2513bcb + SHA512 4d5650c8fa1e21e7fe71dbe615a6e3bdbe3781be28811e895ac335261de24b3ed26c4842cdd133df897cdb7181c3ea11c051607fbda5a7a1b9a4d8580323181d + HEAD_REF master +) + +file(INSTALL "${SOURCE_PATH}/oof.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include") +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/oof/vcpkg.json b/ports/oof/vcpkg.json new file mode 100644 index 00000000000000..45a899d6141333 --- /dev/null +++ b/ports/oof/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "oof", + "version-date": "2021-11-23", + "description": "Convenient, high-performance RGB color and position control for console output.", + "homepage": "https://github.com/s9w/oof", + "license": "MIT" +} diff --git a/ports/open-dis-cpp/portfile.cmake b/ports/open-dis-cpp/portfile.cmake new file mode 100644 index 00000000000000..a0b37815fbe511 --- /dev/null +++ b/ports/open-dis-cpp/portfile.cmake @@ -0,0 +1,25 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO open-dis/open-dis-cpp + REF "v${VERSION}" + SHA512 e6d38f55beabf85d0319be21d9cec07f818b833dfa14dcb649cacbc8ea86779c29ac2717579239378ace1ae62054864851ecb55402e82fe4d083ab483218260e + HEAD_REF master +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_EXAMPLES=OFF + -DBUILD_TESTS=OFF +) + +vcpkg_cmake_install() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_cmake_config_fixup(PACKAGE_NAME OpenDIS CONFIG_PATH lib/cmake/OpenDIS) + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") + +# Handle copyright +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/open-dis-cpp/usage b/ports/open-dis-cpp/usage new file mode 100644 index 00000000000000..6cb9908d99ad1a --- /dev/null +++ b/ports/open-dis-cpp/usage @@ -0,0 +1,5 @@ +The package open-dis-cpp provides CMake targets: + + find_package(OpenDIS CONFIG REQUIRED) + target_link_libraries(main PRIVATE OpenDIS::OpenDIS6) + target_link_libraries(main PRIVATE OpenDIS::OpenDIS7) diff --git a/ports/open-dis-cpp/vcpkg.json b/ports/open-dis-cpp/vcpkg.json new file mode 100644 index 00000000000000..e9469f2fc01fdf --- /dev/null +++ b/ports/open-dis-cpp/vcpkg.json @@ -0,0 +1,20 @@ +{ + "name": "open-dis-cpp", + "version": "1.0.1", + "description": [ + "DIS v6/v7 Library", + "C++ implementation of the IEEE-1278.1 Distributed Interactive Simulation (DIS) application protocol v6 and v7" + ], + "homepage": "https://open-dis.org", + "license": "BSD-2-Clause", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/open62541/portfile.cmake b/ports/open62541/portfile.cmake index e6612315cda4bd..31692bc0cd789e 100644 --- a/ports/open62541/portfile.cmake +++ b/ports/open62541/portfile.cmake @@ -1,21 +1,43 @@ -set(VERSION v1.2.2) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO open62541/open62541 - REF "${VERSION}" - SHA512 E6A1EC2208EC29D8685D2A957FAE6F3FEDC0E847D6AB1BB8AC5C7980223BC377692334C87575956B53BB37A9B71C5DEDD1B5C4F19F122561543D04661FEFE1D5 + REF 43afb0471a81c71dfb1d1e33589308762d5a6d18 + SHA512 4c602160baa7ffa464a48f53edcaaaa95bac6933ed40d5113915a04941c0006d0f65267f5ec2462decb0307db5995b8facd3c1d7c4e0e3c3cb9b6f8adb18eb6f HEAD_REF master ) +# 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 - openssl UA_ENABLE_ENCRYPTION_OPENSSL - mbedtls UA_ENABLE_ENCRYPTION_MBEDTLS 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) + set(OPEN62541_ENCRYPTION_OPTIONS -DUA_ENABLE_ENCRYPTION=OPENSSL) + if("mbedtls" IN_LIST FEATURES) + message(WARNING "Only one encryption method can be used. When both [openssl] and [mbedtls] " + "are on, openssl is used. To use [mbedtls], don't enable [openssl]. To suppress this " + "message, don't enable [mbedtls]") + endif() +elseif("mbedtls" IN_LIST FEATURES) + set(OPEN62541_ENCRYPTION_OPTIONS -DUA_ENABLE_ENCRYPTION=MBEDTLS) +endif() + vcpkg_find_acquire_program(PYTHON3) get_filename_component(PYTHON3_DIR "${PYTHON3}" DIRECTORY) vcpkg_add_to_path("${PYTHON3_DIR}") @@ -24,17 +46,19 @@ vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${FEATURE_OPTIONS} - -DOPEN62541_VERSION=${VERSION} - OPTIONS_DEBUG - -DCMAKE_DEBUG_POSTFIX=d + ${OPEN62541_ENCRYPTION_OPTIONS} + "-DOPEN62541_VERSION=v${VERSION}" + -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() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/open62541/tools") -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/open62541/vcpkg.json b/ports/open62541/vcpkg.json index a1e80fc4cca295..ecc3d729d3d2ae 100644 --- a/ports/open62541/vcpkg.json +++ b/ports/open62541/vcpkg.json @@ -1,8 +1,11 @@ { "name": "open62541", - "version": "1.2.2", + "version": "1.3.14", + "port-version": 1, "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", + "supports": "!xbox", "dependencies": [ { "name": "vcpkg-cmake", @@ -14,23 +17,43 @@ } ], "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)" + }, "mbedtls": { "description": "Enable encryption support (uses MbedTLS)", "dependencies": [ "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..3f98f25488f1e5 --- /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 e1b273dafd570e0393d5f5cdb0a899758042cc8c2d8cfe1080829844f8b892fd171de4264f6861c9f3d2544bb4b635532a719c45baaad1015eec3a46fff27ff7 + 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..3e3f45c95ca826 --- /dev/null +++ b/ports/open62541pp/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "open62541pp", + "version": "0.15.0", + "description": "C++ wrapper of the open62541 OPC UA library", + "homepage": "https://open62541pp.github.io/open62541pp/", + "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 new file mode 100644 index 00000000000000..09709ab90a2e86 --- /dev/null +++ b/ports/openal-soft/c12ada68951ea67a59bef7d4fcdf22334990c12a.patch @@ -0,0 +1,54 @@ +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/dont-export-symbols-in-static-build.patch b/ports/openal-soft/dont-export-symbols-in-static-build.patch deleted file mode 100644 index 3ff82b0b81a967..00000000000000 --- a/ports/openal-soft/dont-export-symbols-in-static-build.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/config.h.in b/config.h.in ---- a/config.h.in -+++ b/config.h.in -@@ -1,6 +1,8 @@ - /* API declaration export attribute */ -+#ifndef AL_LIBTYPE_STATIC - #define AL_API ${EXPORT_DECL} - #define ALC_API ${EXPORT_DECL} -+#endif - - /* Define if HRTF data is embedded in the library */ - #cmakedefine ALSOFT_EMBED_HRTF_DATA - \ No newline at end of file diff --git a/ports/openal-soft/portfile.cmake b/ports/openal-soft/portfile.cmake index 30c413ff43df8b..73bc9c56bdd1ef 100644 --- a/ports/openal-soft/portfile.cmake +++ b/ports/openal-soft/portfile.cmake @@ -1,13 +1,16 @@ -vcpkg_fail_port_install(ON_TARGET "UWP") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO kcat/openal-soft - REF ae4eacf147e2c2340cc4e02a790df04c793ed0a9 # openal-soft-1.21.1 - SHA512 6ba006d3dad6efe002f285ff509a59f02b499ec3f6065df12a89c52355464117b4dbabcd04ee9cbf22cc3b4125c8e456769b172f8c3e9ee215e760b2c51a0a8f + REF ${VERSION} + SHA512 21f768484978e4321b733004988cb5ecf43d908e7e08f2d421a338633fcfb2ade722d035de73742470ff135ab538d6b9b56df14020976adb1d1e081dfb095c6b HEAD_REF master PATCHES - dont-export-symbols-in-static-build.patch + c12ada68951ea67a59bef7d4fcdf22334990c12a.patch # Merged upstream, remove in next version +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + pipewire ALSOFT_BACKEND_PIPEWIRE ) if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") @@ -19,6 +22,7 @@ endif() set(ALSOFT_REQUIRE_LINUX OFF) set(ALSOFT_REQUIRE_WINDOWS OFF) set(ALSOFT_REQUIRE_APPLE OFF) +set(ALSOFT_CPUEXT_NEON OFF) if(VCPKG_TARGET_IS_LINUX) set(ALSOFT_REQUIRE_LINUX ON) @@ -29,10 +33,13 @@ endif() if(VCPKG_TARGET_IS_OSX OR VCPKG_TARGET_IS_IOS) set(ALSOFT_REQUIRE_APPLE ON) endif() +if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") + set(ALSOFT_CPUEXT_NEON ON) +endif() -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - OPTIONS + OPTIONS ${FEATURE_OPTIONS} -DLIBTYPE=${OPENAL_LIBTYPE} -DALSOFT_UTILS=OFF -DALSOFT_NO_CONFIG_UTIL=ON @@ -45,16 +52,17 @@ vcpkg_configure_cmake( -DALSOFT_BACKEND_SOLARIS=OFF -DALSOFT_BACKEND_SNDIO=OFF -DALSOFT_BACKEND_PORTAUDIO=OFF - -DALSOFT_BACKEND_PULSEAUDIO=OFF + -DALSOFT_BACKEND_PULSEAUDIO=${ALSOFT_REQUIRE_LINUX} -DALSOFT_BACKEND_COREAUDIO=${ALSOFT_REQUIRE_APPLE} -DALSOFT_BACKEND_JACK=OFF - -DALSOFT_BACKEND_OPENSL=OFF + -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=OFF + -DALSOFT_CPUEXT_NEON=${ALSOFT_CPUEXT_NEON} -DCMAKE_DISABLE_FIND_PACKAGE_WindowsSDK=ON + -DCMAKE_POLICY_DEFAULT_CMP0057=NEW MAYBE_UNUSED_VARIABLES ALSOFT_AMBDEC_PRESETS ALSOFT_BACKEND_ALSA @@ -63,17 +71,20 @@ vcpkg_configure_cmake( ALSOFT_BACKEND_OPENSL ALSOFT_BACKEND_OSS ALSOFT_BACKEND_PORTAUDIO + ALSOFT_BACKEND_PIPEWIRE ALSOFT_BACKEND_PULSEAUDIO ALSOFT_BACKEND_SNDIO ALSOFT_BACKEND_SOLARIS ALSOFT_CONFIG ALSOFT_CPUEXT_NEON ALSOFT_HRTF_DEFS + ALSOFT_BACKEND_WINMM + ALSOFT_BACKEND_DSOUND CMAKE_DISABLE_FIND_PACKAGE_WindowsSDK ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/OpenAL") +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/OpenAL") foreach(HEADER al.h alc.h) file(READ "${CURRENT_PACKAGES_DIR}/include/AL/${HEADER}" AL_H) @@ -92,7 +103,7 @@ 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") file(COPY "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") vcpkg_copy_pdbs() diff --git a/ports/openal-soft/vcpkg.json b/ports/openal-soft/vcpkg.json index 8f86e6bd5946ac..f480d86de00734 100644 --- a/ports/openal-soft/vcpkg.json +++ b/ports/openal-soft/vcpkg.json @@ -1,8 +1,32 @@ { "name": "openal-soft", - "version-semver": "1.21.1", - "port-version": 3, + "version": "1.23.1", + "port-version": 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", - "supports": "!uwp" + "license": "LGPL-2.0-or-later", + "supports": "!uwp & !xbox", + "dependencies": [ + { + "name": "alsa", + "platform": "linux" + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "pipewire": { + "description": "Native support for Pipewire", + "supports": "linux", + "dependencies": [ + "pipewire" + ] + } + } } diff --git a/ports/openblas/fix-marco-conflict.patch b/ports/openblas/fix-marco-conflict.patch deleted file mode 100644 index 939461875ea6c9..00000000000000 --- a/ports/openblas/fix-marco-conflict.patch +++ /dev/null @@ -1,244 +0,0 @@ -diff --git a/cmake/utils.cmake b/cmake/utils.cmake -index 1c21e77..3894011 100644 ---- a/cmake/utils.cmake -+++ b/cmake/utils.cmake -@@ -251,6 +251,19 @@ function(GenerateNamedObjects sources_in) - # now add the object and set the defines - set(obj_defines ${defines_in}) - -+ list(FIND obj_defines "RC" def_idx) -+ if (${def_idx} GREATER -1) -+ # list(REMOVE_AT ${obj_defines} ${def_idx}) -+ list (REMOVE_ITEM obj_defines "RC") -+ list(APPEND obj_defines "RC=RC") -+ endif () -+ list(FIND obj_defines "CR" def_idx) -+ if (${def_idx} GREATER -1) -+ # list(REMOVE_AT ${obj_defines} ${def_idx}) -+ list (REMOVE_ITEM obj_defines "CR") -+ list(APPEND obj_defines "CR=CR") -+ endif () -+ - if (use_cblas) - set(obj_name "cblas_${obj_name}") - list(APPEND obj_defines "CBLAS") -diff --git a/driver/level3/Makefile b/driver/level3/Makefile -index 09a62d9..970bc58 100644 ---- a/driver/level3/Makefile -+++ b/driver/level3/Makefile -@@ -371,7 +371,7 @@ cgemm_rr.$(SUFFIX) : gemm.c level3.c ../../param.h - $(CC) $(CFLAGS) $(BLOCKS) -c -UDOUBLE -DCOMPLEX -DRR $< -o $(@F) - - cgemm_rc.$(SUFFIX) : gemm.c level3.c ../../param.h -- $(CC) $(CFLAGS) $(BLOCKS) -c -UDOUBLE -DCOMPLEX -DRC $< -o $(@F) -+ $(CC) $(CFLAGS) $(BLOCKS) -c -UDOUBLE -DCOMPLEX -DRC=RC $< -o $(@F) - - cgemm_cn.$(SUFFIX) : gemm.c level3.c ../../param.h - $(CC) $(CFLAGS) $(BLOCKS) -c -UDOUBLE -DCOMPLEX -DCN $< -o $(@F) -@@ -419,7 +419,7 @@ zgemm_rr.$(SUFFIX) : gemm.c level3.c ../../param.h - $(CC) $(CFLAGS) $(BLOCKS) -c -DDOUBLE -DCOMPLEX -DRR $< -o $(@F) - - zgemm_rc.$(SUFFIX) : gemm.c level3.c ../../param.h -- $(CC) $(CFLAGS) $(BLOCKS) -c -DDOUBLE -DCOMPLEX -DRC $< -o $(@F) -+ $(CC) $(CFLAGS) $(BLOCKS) -c -DDOUBLE -DCOMPLEX -DRC=RC $< -o $(@F) - - zgemm_cn.$(SUFFIX) : gemm.c level3.c ../../param.h - $(CC) $(CFLAGS) $(BLOCKS) -c -DDOUBLE -DCOMPLEX -DCN $< -o $(@F) -@@ -467,7 +467,7 @@ xgemm_rr.$(SUFFIX) : gemm.c level3.c ../../param.h - $(CC) $(CFLAGS) $(BLOCKS) -c -DXDOUBLE -DCOMPLEX -DRR $< -o $(@F) - - xgemm_rc.$(SUFFIX) : gemm.c level3.c ../../param.h -- $(CC) $(CFLAGS) $(BLOCKS) -c -DXDOUBLE -DCOMPLEX -DRC $< -o $(@F) -+ $(CC) $(CFLAGS) $(BLOCKS) -c -DXDOUBLE -DCOMPLEX -DRC=RC $< -o $(@F) - - xgemm_cn.$(SUFFIX) : gemm.c level3.c ../../param.h - $(CC) $(CFLAGS) $(BLOCKS) -c -DXDOUBLE -DCOMPLEX -DCN $< -o $(@F) -@@ -578,7 +578,7 @@ cgemm_thread_rr.$(SUFFIX) : gemm.c level3_thread.c ../../param.h - $(CC) $(CFLAGS) $(BLOCKS) -c -DTHREADED_LEVEL3 -UDOUBLE -DCOMPLEX -DRR $< -o $(@F) - - cgemm_thread_rc.$(SUFFIX) : gemm.c level3_thread.c ../../param.h -- $(CC) $(CFLAGS) $(BLOCKS) -c -DTHREADED_LEVEL3 -UDOUBLE -DCOMPLEX -DRC $< -o $(@F) -+ $(CC) $(CFLAGS) $(BLOCKS) -c -DTHREADED_LEVEL3 -UDOUBLE -DCOMPLEX -DRC=RC $< -o $(@F) - - cgemm_thread_cn.$(SUFFIX) : gemm.c level3_thread.c ../../param.h - $(CC) $(CFLAGS) $(BLOCKS) -c -DTHREADED_LEVEL3 -UDOUBLE -DCOMPLEX -DCN $< -o $(@F) -@@ -626,7 +626,7 @@ zgemm_thread_rr.$(SUFFIX) : gemm.c level3_thread.c ../../param.h - $(CC) $(CFLAGS) $(BLOCKS) -c -DTHREADED_LEVEL3 -DDOUBLE -DCOMPLEX -DRR $< -o $(@F) - - zgemm_thread_rc.$(SUFFIX) : gemm.c level3_thread.c ../../param.h -- $(CC) $(CFLAGS) $(BLOCKS) -c -DTHREADED_LEVEL3 -DDOUBLE -DCOMPLEX -DRC $< -o $(@F) -+ $(CC) $(CFLAGS) $(BLOCKS) -c -DTHREADED_LEVEL3 -DDOUBLE -DCOMPLEX -DRC=RC $< -o $(@F) - - zgemm_thread_cn.$(SUFFIX) : gemm.c level3_thread.c ../../param.h - $(CC) $(CFLAGS) $(BLOCKS) -c -DTHREADED_LEVEL3 -DDOUBLE -DCOMPLEX -DCN $< -o $(@F) -@@ -674,7 +674,7 @@ xgemm_thread_rr.$(SUFFIX) : gemm.c level3_thread.c ../../param.h - $(CC) $(CFLAGS) $(BLOCKS) -c -DTHREADED_LEVEL3 -DXDOUBLE -DCOMPLEX -DRR $< -o $(@F) - - xgemm_thread_rc.$(SUFFIX) : gemm.c level3_thread.c ../../param.h -- $(CC) $(CFLAGS) $(BLOCKS) -c -DTHREADED_LEVEL3 -DXDOUBLE -DCOMPLEX -DRC $< -o $(@F) -+ $(CC) $(CFLAGS) $(BLOCKS) -c -DTHREADED_LEVEL3 -DXDOUBLE -DCOMPLEX -DRC=RC $< -o $(@F) - - xgemm_thread_cn.$(SUFFIX) : gemm.c level3_thread.c ../../param.h - $(CC) $(CFLAGS) $(BLOCKS) -c -DTHREADED_LEVEL3 -DXDOUBLE -DCOMPLEX -DCN $< -o $(@F) -@@ -1841,7 +1841,7 @@ cgemm3m_rr.$(SUFFIX) : gemm3m.c gemm3m_level3.c - $(CC) $(CFLAGS) $(BLOCKS) -c -UDOUBLE -DCOMPLEX -DRR $< -o $(@F) - - cgemm3m_rc.$(SUFFIX) : gemm3m.c gemm3m_level3.c -- $(CC) $(CFLAGS) $(BLOCKS) -c -UDOUBLE -DCOMPLEX -DRC $< -o $(@F) -+ $(CC) $(CFLAGS) $(BLOCKS) -c -UDOUBLE -DCOMPLEX -DRC=RC $< -o $(@F) - - cgemm3m_cn.$(SUFFIX) : gemm3m.c gemm3m_level3.c - $(CC) $(CFLAGS) $(BLOCKS) -c -UDOUBLE -DCOMPLEX -DCN $< -o $(@F) -@@ -1889,7 +1889,7 @@ zgemm3m_rr.$(SUFFIX) : gemm3m.c gemm3m_level3.c - $(CC) $(CFLAGS) $(BLOCKS) -c -DDOUBLE -DCOMPLEX -DRR $< -o $(@F) - - zgemm3m_rc.$(SUFFIX) : gemm3m.c gemm3m_level3.c -- $(CC) $(CFLAGS) $(BLOCKS) -c -DDOUBLE -DCOMPLEX -DRC $< -o $(@F) -+ $(CC) $(CFLAGS) $(BLOCKS) -c -DDOUBLE -DCOMPLEX -DRC=RC $< -o $(@F) - - zgemm3m_cn.$(SUFFIX) : gemm3m.c gemm3m_level3.c - $(CC) $(CFLAGS) $(BLOCKS) -c -DDOUBLE -DCOMPLEX -DCN $< -o $(@F) -@@ -1937,7 +1937,7 @@ xgemm3m_rr.$(SUFFIX) : gemm3m.c gemm3m_level3.c ../../param.h - $(CC) $(CFLAGS) $(BLOCKS) -c -DXDOUBLE -DCOMPLEX -DRR $< -o $(@F) - - xgemm3m_rc.$(SUFFIX) : gemm3m.c gemm3m_level3.c ../../param.h -- $(CC) $(CFLAGS) $(BLOCKS) -c -DXDOUBLE -DCOMPLEX -DRC $< -o $(@F) -+ $(CC) $(CFLAGS) $(BLOCKS) -c -DXDOUBLE -DCOMPLEX -DRC=RC $< -o $(@F) - - xgemm3m_cn.$(SUFFIX) : gemm3m.c gemm3m_level3.c ../../param.h - $(CC) $(CFLAGS) $(BLOCKS) -c -DXDOUBLE -DCOMPLEX -DCN $< -o $(@F) -@@ -1994,7 +1994,7 @@ cgemm3m_thread_rr.$(SUFFIX) : gemm3m.c level3_gemm3m_thread.c ../../param.h - $(CC) $(CFLAGS) $(BLOCKS) -c -DTHREADED_LEVEL3 -UDOUBLE -DCOMPLEX -DRR $< -o $(@F) - - cgemm3m_thread_rc.$(SUFFIX) : gemm3m.c level3_gemm3m_thread.c ../../param.h -- $(CC) $(CFLAGS) $(BLOCKS) -c -DTHREADED_LEVEL3 -UDOUBLE -DCOMPLEX -DRC $< -o $(@F) -+ $(CC) $(CFLAGS) $(BLOCKS) -c -DTHREADED_LEVEL3 -UDOUBLE -DCOMPLEX -DRC=RC $< -o $(@F) - - cgemm3m_thread_cn.$(SUFFIX) : gemm3m.c level3_gemm3m_thread.c ../../param.h - $(CC) $(CFLAGS) $(BLOCKS) -c -DTHREADED_LEVEL3 -UDOUBLE -DCOMPLEX -DCN $< -o $(@F) -@@ -2042,7 +2042,7 @@ zgemm3m_thread_rr.$(SUFFIX) : gemm3m.c level3_gemm3m_thread.c ../../param.h - $(CC) $(CFLAGS) $(BLOCKS) -c -DTHREADED_LEVEL3 -DDOUBLE -DCOMPLEX -DRR $< -o $(@F) - - zgemm3m_thread_rc.$(SUFFIX) : gemm3m.c level3_gemm3m_thread.c ../../param.h -- $(CC) $(CFLAGS) $(BLOCKS) -c -DTHREADED_LEVEL3 -DDOUBLE -DCOMPLEX -DRC $< -o $(@F) -+ $(CC) $(CFLAGS) $(BLOCKS) -c -DTHREADED_LEVEL3 -DDOUBLE -DCOMPLEX -DRC=RC $< -o $(@F) - - zgemm3m_thread_cn.$(SUFFIX) : gemm3m.c level3_gemm3m_thread.c ../../param.h - $(CC) $(CFLAGS) $(BLOCKS) -c -DTHREADED_LEVEL3 -DDOUBLE -DCOMPLEX -DCN $< -o $(@F) -@@ -2090,7 +2090,7 @@ xgemm3m_thread_rr.$(SUFFIX) : gemm3m.c level3_gemm3m_thread.c ../../param.h - $(CC) $(CFLAGS) $(BLOCKS) -c -DTHREADED_LEVEL3 -DXDOUBLE -DCOMPLEX -DRR $< -o $(@F) - - xgemm3m_thread_rc.$(SUFFIX) : gemm3m.c level3_gemm3m_thread.c ../../param.h -- $(CC) $(CFLAGS) $(BLOCKS) -c -DTHREADED_LEVEL3 -DXDOUBLE -DCOMPLEX -DRC $< -o $(@F) -+ $(CC) $(CFLAGS) $(BLOCKS) -c -DTHREADED_LEVEL3 -DXDOUBLE -DCOMPLEX -DRC=RC $< -o $(@F) - - xgemm3m_thread_cn.$(SUFFIX) : gemm3m.c level3_gemm3m_thread.c ../../param.h - $(CC) $(CFLAGS) $(BLOCKS) -c -DTHREADED_LEVEL3 -DXDOUBLE -DCOMPLEX -DCN $< -o $(@F) -@@ -2763,7 +2763,7 @@ cgemm_rr.$(PSUFFIX) : gemm.c level3.c ../../param.h - $(CC) $(PFLAGS) $(BLOCKS) -c -UDOUBLE -DCOMPLEX -DRR $< -o $(@F) - - cgemm_rc.$(PSUFFIX) : gemm.c level3.c ../../param.h -- $(CC) $(PFLAGS) $(BLOCKS) -c -UDOUBLE -DCOMPLEX -DRC $< -o $(@F) -+ $(CC) $(PFLAGS) $(BLOCKS) -c -UDOUBLE -DCOMPLEX -DRC=RC $< -o $(@F) - - cgemm_cn.$(PSUFFIX) : gemm.c level3.c ../../param.h - $(CC) $(PFLAGS) $(BLOCKS) -c -UDOUBLE -DCOMPLEX -DCN $< -o $(@F) -@@ -2811,7 +2811,7 @@ zgemm_rr.$(PSUFFIX) : gemm.c level3.c ../../param.h - $(CC) $(PFLAGS) $(BLOCKS) -c -DDOUBLE -DCOMPLEX -DRR $< -o $(@F) - - zgemm_rc.$(PSUFFIX) : gemm.c level3.c ../../param.h -- $(CC) $(PFLAGS) $(BLOCKS) -c -DDOUBLE -DCOMPLEX -DRC $< -o $(@F) -+ $(CC) $(PFLAGS) $(BLOCKS) -c -DDOUBLE -DCOMPLEX -DRC=RC $< -o $(@F) - - zgemm_cn.$(PSUFFIX) : gemm.c level3.c ../../param.h - $(CC) $(PFLAGS) $(BLOCKS) -c -DDOUBLE -DCOMPLEX -DCN $< -o $(@F) -@@ -2859,7 +2859,7 @@ xgemm_rr.$(PSUFFIX) : gemm.c level3.c ../../param.h - $(CC) $(PFLAGS) $(BLOCKS) -c -DXDOUBLE -DCOMPLEX -DRR $< -o $(@F) - - xgemm_rc.$(PSUFFIX) : gemm.c level3.c ../../param.h -- $(CC) $(PFLAGS) $(BLOCKS) -c -DXDOUBLE -DCOMPLEX -DRC $< -o $(@F) -+ $(CC) $(PFLAGS) $(BLOCKS) -c -DXDOUBLE -DCOMPLEX -DRC=RC $< -o $(@F) - - xgemm_cn.$(PSUFFIX) : gemm.c level3.c ../../param.h - $(CC) $(PFLAGS) $(BLOCKS) -c -DXDOUBLE -DCOMPLEX -DCN $< -o $(@F) -@@ -2971,7 +2971,7 @@ cgemm_thread_rr.$(PSUFFIX) : gemm.c level3_thread.c ../../param.h - $(CC) $(PFLAGS) $(BLOCKS) -c -DTHREADED_LEVEL3 -UDOUBLE -DCOMPLEX -DRR $< -o $(@F) - - cgemm_thread_rc.$(PSUFFIX) : gemm.c level3_thread.c ../../param.h -- $(CC) $(PFLAGS) $(BLOCKS) -c -DTHREADED_LEVEL3 -UDOUBLE -DCOMPLEX -DRC $< -o $(@F) -+ $(CC) $(PFLAGS) $(BLOCKS) -c -DTHREADED_LEVEL3 -UDOUBLE -DCOMPLEX -DRC=RC $< -o $(@F) - - cgemm_thread_cn.$(PSUFFIX) : gemm.c level3_thread.c ../../param.h - $(CC) $(PFLAGS) $(BLOCKS) -c -DTHREADED_LEVEL3 -UDOUBLE -DCOMPLEX -DCN $< -o $(@F) -@@ -3019,7 +3019,7 @@ zgemm_thread_rr.$(PSUFFIX) : gemm.c level3_thread.c ../../param.h - $(CC) $(PFLAGS) $(BLOCKS) -c -DTHREADED_LEVEL3 -DDOUBLE -DCOMPLEX -DRR $< -o $(@F) - - zgemm_thread_rc.$(PSUFFIX) : gemm.c level3_thread.c ../../param.h -- $(CC) $(PFLAGS) $(BLOCKS) -c -DTHREADED_LEVEL3 -DDOUBLE -DCOMPLEX -DRC $< -o $(@F) -+ $(CC) $(PFLAGS) $(BLOCKS) -c -DTHREADED_LEVEL3 -DDOUBLE -DCOMPLEX -DRC=RC $< -o $(@F) - - zgemm_thread_cn.$(PSUFFIX) : gemm.c level3_thread.c ../../param.h - $(CC) $(PFLAGS) $(BLOCKS) -c -DTHREADED_LEVEL3 -DDOUBLE -DCOMPLEX -DCN $< -o $(@F) -@@ -3067,7 +3067,7 @@ xgemm_thread_rr.$(PSUFFIX) : gemm.c level3_thread.c ../../param.h - $(CC) $(PFLAGS) $(BLOCKS) -c -DTHREADED_LEVEL3 -DXDOUBLE -DCOMPLEX -DRR $< -o $(@F) - - xgemm_thread_rc.$(PSUFFIX) : gemm.c level3_thread.c ../../param.h -- $(CC) $(PFLAGS) $(BLOCKS) -c -DTHREADED_LEVEL3 -DXDOUBLE -DCOMPLEX -DRC $< -o $(@F) -+ $(CC) $(PFLAGS) $(BLOCKS) -c -DTHREADED_LEVEL3 -DXDOUBLE -DCOMPLEX -DRC=RC $< -o $(@F) - - xgemm_thread_cn.$(PSUFFIX) : gemm.c level3_thread.c ../../param.h - $(CC) $(PFLAGS) $(BLOCKS) -c -DTHREADED_LEVEL3 -DXDOUBLE -DCOMPLEX -DCN $< -o $(@F) -@@ -4234,7 +4234,7 @@ cgemm3m_rr.$(PSUFFIX) : gemm3m.c gemm3m_level3.c - $(CC) $(PFLAGS) $(BLOCKS) -c -UDOUBLE -DCOMPLEX -DRR $< -o $(@F) - - cgemm3m_rc.$(PSUFFIX) : gemm3m.c gemm3m_level3.c -- $(CC) $(PFLAGS) $(BLOCKS) -c -UDOUBLE -DCOMPLEX -DRC $< -o $(@F) -+ $(CC) $(PFLAGS) $(BLOCKS) -c -UDOUBLE -DCOMPLEX -DRC=RC $< -o $(@F) - - cgemm3m_cn.$(PSUFFIX) : gemm3m.c gemm3m_level3.c - $(CC) $(PFLAGS) $(BLOCKS) -c -UDOUBLE -DCOMPLEX -DCN $< -o $(@F) -@@ -4282,7 +4282,7 @@ zgemm3m_rr.$(PSUFFIX) : gemm3m.c gemm3m_level3.c - $(CC) $(PFLAGS) $(BLOCKS) -c -DDOUBLE -DCOMPLEX -DRR $< -o $(@F) - - zgemm3m_rc.$(PSUFFIX) : gemm3m.c gemm3m_level3.c -- $(CC) $(PFLAGS) $(BLOCKS) -c -DDOUBLE -DCOMPLEX -DRC $< -o $(@F) -+ $(CC) $(PFLAGS) $(BLOCKS) -c -DDOUBLE -DCOMPLEX -DRC=RC $< -o $(@F) - - zgemm3m_cn.$(PSUFFIX) : gemm3m.c gemm3m_level3.c - $(CC) $(PFLAGS) $(BLOCKS) -c -DDOUBLE -DCOMPLEX -DCN $< -o $(@F) -@@ -4330,7 +4330,7 @@ xgemm3m_rr.$(PSUFFIX) : gemm3m.c gemm3m_level3.c ../../param.h - $(CC) $(PFLAGS) $(BLOCKS) -c -DXDOUBLE -DCOMPLEX -DRR $< -o $(@F) - - xgemm3m_rc.$(PSUFFIX) : gemm3m.c gemm3m_level3.c ../../param.h -- $(CC) $(PFLAGS) $(BLOCKS) -c -DXDOUBLE -DCOMPLEX -DRC $< -o $(@F) -+ $(CC) $(PFLAGS) $(BLOCKS) -c -DXDOUBLE -DCOMPLEX -DRC=RC $< -o $(@F) - - xgemm3m_cn.$(PSUFFIX) : gemm3m.c gemm3m_level3.c ../../param.h - $(CC) $(PFLAGS) $(BLOCKS) -c -DXDOUBLE -DCOMPLEX -DCN $< -o $(@F) -@@ -4387,7 +4387,7 @@ cgemm3m_thread_rr.$(PSUFFIX) : gemm3m.c level3_gemm3m_thread.c ../../param.h - $(CC) $(PFLAGS) $(BLOCKS) -c -DTHREADED_LEVEL3 -UDOUBLE -DCOMPLEX -DRR $< -o $(@F) - - cgemm3m_thread_rc.$(PSUFFIX) : gemm3m.c level3_gemm3m_thread.c ../../param.h -- $(CC) $(PFLAGS) $(BLOCKS) -c -DTHREADED_LEVEL3 -UDOUBLE -DCOMPLEX -DRC $< -o $(@F) -+ $(CC) $(PFLAGS) $(BLOCKS) -c -DTHREADED_LEVEL3 -UDOUBLE -DCOMPLEX -DRC=RC $< -o $(@F) - - cgemm3m_thread_cn.$(PSUFFIX) : gemm3m.c level3_gemm3m_thread.c ../../param.h - $(CC) $(PFLAGS) $(BLOCKS) -c -DTHREADED_LEVEL3 -UDOUBLE -DCOMPLEX -DCN $< -o $(@F) -@@ -4435,7 +4435,7 @@ zgemm3m_thread_rr.$(PSUFFIX) : gemm3m.c level3_gemm3m_thread.c ../../param.h - $(CC) $(PFLAGS) $(BLOCKS) -c -DTHREADED_LEVEL3 -DDOUBLE -DCOMPLEX -DRR $< -o $(@F) - - zgemm3m_thread_rc.$(PSUFFIX) : gemm3m.c level3_gemm3m_thread.c ../../param.h -- $(CC) $(PFLAGS) $(BLOCKS) -c -DTHREADED_LEVEL3 -DDOUBLE -DCOMPLEX -DRC $< -o $(@F) -+ $(CC) $(PFLAGS) $(BLOCKS) -c -DTHREADED_LEVEL3 -DDOUBLE -DCOMPLEX -DRC=RC $< -o $(@F) - - zgemm3m_thread_cn.$(PSUFFIX) : gemm3m.c level3_gemm3m_thread.c ../../param.h - $(CC) $(PFLAGS) $(BLOCKS) -c -DTHREADED_LEVEL3 -DDOUBLE -DCOMPLEX -DCN $< -o $(@F) -@@ -4483,7 +4483,7 @@ xgemm3m_thread_rr.$(PSUFFIX) : gemm3m.c level3_gemm3m_thread.c ../../param.h - $(CC) $(PFLAGS) $(BLOCKS) -c -DTHREADED_LEVEL3 -DXDOUBLE -DCOMPLEX -DRR $< -o $(@F) - - xgemm3m_thread_rc.$(PSUFFIX) : gemm3m.c level3_gemm3m_thread.c ../../param.h -- $(CC) $(PFLAGS) $(BLOCKS) -c -DTHREADED_LEVEL3 -DXDOUBLE -DCOMPLEX -DRC $< -o $(@F) -+ $(CC) $(PFLAGS) $(BLOCKS) -c -DTHREADED_LEVEL3 -DXDOUBLE -DCOMPLEX -DRC=RC $< -o $(@F) - - xgemm3m_thread_cn.$(PSUFFIX) : gemm3m.c level3_gemm3m_thread.c ../../param.h - $(CC) $(PFLAGS) $(BLOCKS) -c -DTHREADED_LEVEL3 -DXDOUBLE -DCOMPLEX -DCN $< -o $(@F) diff --git a/ports/openblas/fix-space-path.patch b/ports/openblas/fix-space-path.patch deleted file mode 100644 index b782a994fe0f5b..00000000000000 --- a/ports/openblas/fix-space-path.patch +++ /dev/null @@ -1,43 +0,0 @@ -diff --git a/cmake/prebuild.cmake b/cmake/prebuild.cmake -index 58ca1eb..e2f2134 100644 ---- a/cmake/prebuild.cmake -+++ b/cmake/prebuild.cmake -@@ -490,14 +490,14 @@ else(NOT CMAKE_CROSSCOMPILING) - - set(GETARCH_DIR "${PROJECT_BINARY_DIR}/getarch_build") - set(GETARCH_BIN "getarch${CMAKE_EXECUTABLE_SUFFIX}") -- file(MAKE_DIRECTORY ${GETARCH_DIR}) -- configure_file(${TARGET_CONF_TEMP} ${GETARCH_DIR}/${TARGET_CONF} COPYONLY) -+ file(MAKE_DIRECTORY "${GETARCH_DIR}") -+ configure_file(${TARGET_CONF_TEMP} "${GETARCH_DIR}/${TARGET_CONF}" COPYONLY) - if (NOT "${CMAKE_SYSTEM_NAME}" STREQUAL "WindowsStore") -- try_compile(GETARCH_RESULT ${GETARCH_DIR} -+ try_compile(GETARCH_RESULT "${GETARCH_DIR}" - SOURCES ${GETARCH_SRC} - COMPILE_DEFINITIONS ${EXFLAGS} ${GETARCH_FLAGS} -I"${GETARCH_DIR}" -I"${PROJECT_SOURCE_DIR}" -I"${PROJECT_BINARY_DIR}" - OUTPUT_VARIABLE GETARCH_LOG -- COPY_FILE ${PROJECT_BINARY_DIR}/${GETARCH_BIN} -+ COPY_FILE "${PROJECT_BINARY_DIR}/${GETARCH_BIN}" - ) - - if (NOT ${GETARCH_RESULT}) -@@ -518,14 +518,14 @@ execute_process(COMMAND "${BLASHELPER_BINARY_DIR}/${GETARCH_BIN}" 1 OUTPUT_VARIA - - set(GETARCH2_DIR "${PROJECT_BINARY_DIR}/getarch2_build") - set(GETARCH2_BIN "getarch_2nd${CMAKE_EXECUTABLE_SUFFIX}") -- file(MAKE_DIRECTORY ${GETARCH2_DIR}) -- configure_file(${TARGET_CONF_TEMP} ${GETARCH2_DIR}/${TARGET_CONF} COPYONLY) -+ file(MAKE_DIRECTORY "${GETARCH2_DIR}") -+ configure_file(${TARGET_CONF_TEMP} "${GETARCH2_DIR}/${TARGET_CONF}" COPYONLY) - if (NOT "${CMAKE_SYSTEM_NAME}" STREQUAL "WindowsStore") -- try_compile(GETARCH2_RESULT ${GETARCH2_DIR} -- SOURCES ${PROJECT_SOURCE_DIR}/getarch_2nd.c -+ try_compile(GETARCH2_RESULT "${GETARCH2_DIR}" -+ SOURCES "${PROJECT_SOURCE_DIR}/getarch_2nd.c" - COMPILE_DEFINITIONS ${EXFLAGS} ${GETARCH_FLAGS} ${GETARCH2_FLAGS} -I"${GETARCH2_DIR}" -I"${PROJECT_SOURCE_DIR}" -I"${PROJECT_BINARY_DIR}" - OUTPUT_VARIABLE GETARCH2_LOG -- COPY_FILE ${PROJECT_BINARY_DIR}/${GETARCH2_BIN} -+ COPY_FILE "${PROJECT_BINARY_DIR}/${GETARCH2_BIN}" - ) - - if (NOT ${GETARCH2_RESULT}) diff --git a/ports/openblas/fix-uwp-build.patch b/ports/openblas/fix-uwp-build.patch deleted file mode 100644 index 7604cf736c1c8e..00000000000000 --- a/ports/openblas/fix-uwp-build.patch +++ /dev/null @@ -1,35 +0,0 @@ -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/gcc14.patch b/ports/openblas/gcc14.patch new file mode 100644 index 00000000000000..00a017de6384cf --- /dev/null +++ b/ports/openblas/gcc14.patch @@ -0,0 +1,19 @@ +Index: cmake/system.cmake +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/cmake/system.cmake b/cmake/system.cmake +--- a/cmake/system.cmake (revision ce3f668c992cb3cc80849d5c30ed637f5adbd5b2) ++++ b/cmake/system.cmake (date 1718638483744) +@@ -160,6 +160,10 @@ + endif () + endif () + ++if (${CMAKE_C_COMPILER_ID} STREQUAL "GNU") ++ set(CCOMMON_OPT "${CCOMMON_OPT} -Wno-error=incompatible-pointer-types") ++endif () ++ + include("${PROJECT_SOURCE_DIR}/cmake/prebuild.cmake") + if (DEFINED TARGET) + if (${TARGET} STREQUAL COOPERLAKE AND NOT NO_AVX512) diff --git a/ports/openblas/install-tools.patch b/ports/openblas/install-tools.patch new file mode 100644 index 00000000000000..5d9e4061b8802c --- /dev/null +++ b/ports/openblas/install-tools.patch @@ -0,0 +1,22 @@ +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 cec9cf2a98c99e..6fbb95be8775bf 100644 --- a/ports/openblas/portfile.cmake +++ b/ports/openblas/portfile.cmake @@ -1,111 +1,101 @@ +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 - REF 904f9a267dddb30e9f187e57231ed160ab2f2704 # v0.3.15 - SHA512 ddb1eba7b0def08483d7610675335648017eff41de3cbe24357bd15c6938c7997f12c449f32d8225abbb5ef8f7a2e7501320ec05e970e8ddf8e4c25fd81e8002 + REPO OpenMathLib/OpenBLAS + REF "v${VERSION}" + SHA512 358301c8a60bedf920c07a110c772feb639e52412bd783789741fd2fd0686aac97e6b17ebcdf01ce48a2a15841058f82df0fee551af952f6e70b58140c055133 HEAD_REF develop PATCHES uwp.patch - fix-space-path.patch fix-redefinition-function.patch - fix-uwp-build.patch - fix-marco-conflict.patch + install-tools.patch + gcc14.patch + ${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) +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 +# openblas requires perl to generate .def for exports vcpkg_find_acquire_program(PERL) -get_filename_component(PERL_EXE_PATH ${PERL} DIRECTORY) +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 FEATURES - threads USE_THREAD - simplethread USE_SIMPLE_THREADED_LEVEL3 + threads USE_THREAD + simplethread USE_SIMPLE_THREADED_LEVEL3 + "dynamic-arch" DYNAMIC_ARCH ) set(COMMON_OPTIONS -DBUILD_WITHOUT_LAPACK=ON) -vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - FEATURES - "dynamic-arch" DYNAMIC_ARCH -) - if(VCPKG_TARGET_IS_OSX) + list(APPEND COMMON_OPTIONS -DONLY_CBLAS=1) if("dynamic-arch" IN_LIST FEATURES) - vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) - message(STATUS "Openblas with \"dynamic-arch\" option for OSX supports only dynamic linkage. It's not a bag of openblas but bug of combination cmake+ninja+osx. See: https://gitlab.kitware.com/cmake/cmake/-/issues/16731") + set(conf_opts GENERATOR "Unix Makefiles") endif() endif() -# for UWP version, must build non uwp first for helper -# binaries. -if(VCPKG_TARGET_IS_UWP) - message(STATUS "Building Windows helper files") - set(TEMP_CMAKE_SYSTEM_NAME "${VCPKG_CMAKE_SYSTEM_NAME}") - set(TEMP_CMAKE_SYSTEM_VERSION "${VCPKG_CMAKE_SYSTEM_VERSION}") - set(TEMP_TARGET_TRIPLET "${TARGET_TRIPLET}") - unset(VCPKG_CMAKE_SYSTEM_NAME) - unset(VCPKG_CMAKE_SYSTEM_VERSION) - set(TARGET_TRIPLET "x64-windows") - - vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - OPTIONS ${FEATURE_OPTIONS} - ${COMMON_OPTIONS} - -DTARGET=NEHALEM - ) +if(VCPKG_TARGET_IS_ANDROID) + list(APPEND COMMON_OPTIONS -DONLY_CBLAS=1) +endif() - # add just built path to environment for gen_config_h.exe, - # getarch.exe and getarch_2nd.exe - vcpkg_add_to_path("${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") - - # restore target build information - set(VCPKG_CMAKE_SYSTEM_NAME "${TEMP_CMAKE_SYSTEM_NAME}") - set(VCPKG_CMAKE_SYSTEM_VERSION "${TEMP_CMAKE_SYSTEM_VERSION}") - set(TARGET_TRIPLET "${TEMP_TARGET_TRIPLET}") - - message(STATUS "Finished building Windows helper files") - - vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - OPTIONS - ${COMMON_OPTIONS} - -DCMAKE_SYSTEM_PROCESSOR=AMD64 - -DVS_WINRT_COMPONENT=TRUE - "-DBLASHELPER_BINARY_DIR=${CURRENT_BUILDTREES_DIR}/x64-windows-rel") - -elseif(VCPKG_TARGET_IS_WINDOWS) - vcpkg_configure_cmake( - PREFER_NINJA - SOURCE_PATH ${SOURCE_PATH} - OPTIONS - ${COMMON_OPTIONS} - ${FEATURE_OPTIONS} - ) -else() +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") - vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - OPTIONS - ${COMMON_OPTIONS} - ${FEATURE_OPTIONS} - -DNOFORTRAN=ON - -DBU=_ #required for all blas functions to append extra _ using NAME - ) + list(APPEND OPENBLAS_EXTRA_OPTIONS + -DNOFORTRAN=ON + -DBU=_ # Required for all BLAS functions to append extra _ using NAME + ) +endif() + +if (VCPKG_TARGET_IS_WINDOWS AND VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") + list(APPEND OPENBLAS_EXTRA_OPTIONS -DCORE=GENERIC) endif() +# For emscripten only the riscv64 kernel with riscv64_generic target is supported +if(VCPKG_TARGET_IS_EMSCRIPTEN) + list(APPEND OPENBLAS_EXTRA_OPTIONS + -DEMSCRIPTEN_SYSTEM_PROCESSOR=riscv64 + -DTARGET=RISCV64_GENERIC) +endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + ${conf_opts} + OPTIONS + ${FEATURE_OPTIONS} + ${COMMON_OPTIONS} + ${OPENBLAS_EXTRA_OPTIONS} +) + +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() -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/OpenBLAS TARGET_PATH share/openblas) set(ENV{PATH} "${PATH_BACKUP}") set(pcfile "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/openblas.pc") @@ -123,19 +113,20 @@ if(EXISTS "${pcfile}") #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) - -file(READ ${SOURCE_PATH}/cblas.h CBLAS_H) -string(REPLACE "#include \"common.h\"" "#include \"openblas_common.h\"" CBLAS_H "${CBLAS_H}") -file(WRITE ${CURRENT_PACKAGES_DIR}/include/cblas.h "${CBLAS_H}") - -vcpkg_copy_pdbs() +# 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 does not have a config file, so I manually made this. +# But I think in most cases, 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\"" +) -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") -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/openblas/uwp.patch b/ports/openblas/uwp.patch index 50a8e9b299832a..fd29ed7fefd7ad 100644 --- a/ports/openblas/uwp.patch +++ b/ports/openblas/uwp.patch @@ -1,7 +1,8 @@ diff --git a/cmake/prebuild.cmake b/cmake/prebuild.cmake ---- a/cmake/prebuild.cmake 2019-01-28 03:05:58.422245700 -0600 -+++ b/cmake/prebuild.cmake 2019-01-28 03:07:02.885495800 -0600 -@@ -37,6 +37,9 @@ +index 730555a..1b09e00 100644 +--- a/cmake/prebuild.cmake ++++ b/cmake/prebuild.cmake +@@ -39,6 +39,9 @@ # CPUIDEMU = ../../cpuid/table.o @@ -11,7 +12,7 @@ diff --git a/cmake/prebuild.cmake b/cmake/prebuild.cmake if (DEFINED CPUIDEMU) set(EXFLAGS "-DCPUIDEMU -DVENDOR=99") -@@ -310,8 +313,8 @@ else(NOT CMAKE_CROSSCOMPILING) +@@ -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 @@ -22,7 +23,7 @@ diff --git a/cmake/prebuild.cmake b/cmake/prebuild.cmake message(STATUS "GETARCH results:\n${GETARCH_MAKE_OUT}") -@@ -337,8 +340,8 @@ execute_process(COMMAND "${PROJECT_BINAR +@@ -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 @@ -32,10 +33,9 @@ diff --git a/cmake/prebuild.cmake b/cmake/prebuild.cmake +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}) - + file(APPEND "${TARGET_CONF_TEMP}" ${GETARCH2_CONF_OUT}) diff --git a/cmake/system.cmake b/cmake/system.cmake -index a060d98..52ffa5a 100644 +index 631e7fe..83220ce 100644 --- a/cmake/system.cmake +++ b/cmake/system.cmake @@ -13,6 +13,9 @@ if(CMAKE_CROSSCOMPILING AND NOT DEFINED TARGET) @@ -48,3 +48,38 @@ index a060d98..52ffa5a 100644 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 e0206c35c26925..98a777d1e62e2e 100644 --- a/ports/openblas/vcpkg.json +++ b/ports/openblas/vcpkg.json @@ -1,17 +1,32 @@ { "name": "openblas", - "version": "0.3.15", + "version": "0.3.28", "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 + }, + { + "name": "vcpkg-cmake-config", + "host": true } ], "features": { "dynamic-arch": { - "description": "Support for multiple targets in a single library" + "description": "Support for multiple targets in a single library", + "supports": "!windows | mingw" }, "simplethread": { "description": "Use simple thread", 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-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/fix-pdb-find.patch b/ports/opencascade/fix-pdb-find.patch index c74aba04f53fd3..5446f9455e0e74 100644 --- a/ports/opencascade/fix-pdb-find.patch +++ b/ports/opencascade/fix-pdb-find.patch @@ -1,33 +1,33 @@ -diff --git a/adm/cmake/cotire.cmake b/adm/cmake/cotire.cmake -index a63f3ce..aa77c20 100644 ---- a/adm/cmake/cotire.cmake -+++ b/adm/cmake/cotire.cmake -@@ -3114,6 +3114,7 @@ function (cotire_setup_unity_build_target _languages _configurations _target) - OSX_ARCHITECTURES OSX_ARCHITECTURES_ PRIVATE_HEADER PUBLIC_HEADER RESOURCE XCTEST - IOS_INSTALL_COMBINED) - # copy Windows platform specific stuff -+ if (BUILD_SHARED_LIBS) - cotire_copy_set_properites("${_configurations}" TARGET ${_target} ${_unityTargetName} - GNUtoMS - COMPILE_PDB_NAME COMPILE_PDB_NAME_ -@@ -3129,6 +3130,7 @@ function (cotire_setup_unity_build_target _languages _configurations _target) - WIN32_EXECUTABLE WINDOWS_EXPORT_ALL_SYMBOLS - DEPLOYMENT_REMOTE_DIRECTORY VS_CONFIGURATION_TYPE - VS_SDK_REFERENCES) -+ endif() - # copy Android platform specific stuff - cotire_copy_set_properites("${_configurations}" TARGET ${_target} ${_unityTargetName} - ANDROID_API ANDROID_API_MIN ANDROID_GUI -diff --git a/adm/cmake/occt_toolkit.cmake b/adm/cmake/occt_toolkit.cmake -index 2f96c6f..78f15f0 100644 ---- a/adm/cmake/occt_toolkit.cmake -+++ b/adm/cmake/occt_toolkit.cmake -@@ -235,7 +235,7 @@ if (EXECUTABLE_PROJECT) - else() - add_library (${PROJECT_NAME} ${USED_SRCFILES} ${USED_INCFILES} ${USED_RCFILE} ${RESOURCE_FILES} ${${PROJECT_NAME}_MOC_FILES}) - -- if (MSVC) -+ if (MSVC AND BUILD_SHARED_LIBS) +diff --git a/adm/cmake/cotire.cmake b/adm/cmake/cotire.cmake +index acdca71a9f..aa41f2c8b8 100644 +--- a/adm/cmake/cotire.cmake ++++ b/adm/cmake/cotire.cmake +@@ -3291,6 +3291,7 @@ function (cotire_setup_unity_build_target _languages _configurations _target) + OSX_ARCHITECTURES OSX_ARCHITECTURES_ PRIVATE_HEADER PUBLIC_HEADER RESOURCE XCTEST + IOS_INSTALL_COMBINED XCODE_EXPLICIT_FILE_TYPE XCODE_PRODUCT_TYPE) + # copy Windows platform specific stuff ++ if (BUILD_SHARED_LIBS) + cotire_copy_set_properties("${_configurations}" TARGET ${_target} ${_unityTargetName} + GNUtoMS + COMPILE_PDB_NAME COMPILE_PDB_NAME_ +@@ -3306,6 +3307,7 @@ function (cotire_setup_unity_build_target _languages _configurations _target) + WIN32_EXECUTABLE WINDOWS_EXPORT_ALL_SYMBOLS + DEPLOYMENT_REMOTE_DIRECTORY VS_CONFIGURATION_TYPE + VS_SDK_REFERENCES VS_USER_PROPS VS_DEBUGGER_WORKING_DIRECTORY) ++ endif() + # copy Android platform specific stuff + cotire_copy_set_properties("${_configurations}" TARGET ${_target} ${_unityTargetName} + ANDROID_API ANDROID_API_MIN ANDROID_GUI +diff --git a/adm/cmake/occt_toolkit.cmake b/adm/cmake/occt_toolkit.cmake +index c9399159f1..ce74b918df 100644 +--- a/adm/cmake/occt_toolkit.cmake ++++ b/adm/cmake/occt_toolkit.cmake +@@ -278,7 +278,7 @@ else() + # endif() + endif() + +- if (MSVC) ++ if (MSVC AND BUILD_SHARED_LIBS) if (BUILD_FORCE_RelWithDebInfo) set (aReleasePdbConf "Release") else() diff --git a/ports/opencascade/install-include-dir.patch b/ports/opencascade/install-include-dir.patch index 85ab582bd346f8..9df3678542ee46 100644 --- a/ports/opencascade/install-include-dir.patch +++ b/ports/opencascade/install-include-dir.patch @@ -1,31 +1,16 @@ -From 32c4bdd88555309752215c53842d438cb51bcb62 Mon Sep 17 00:00:00 2001 -From: bloess -Date: Mon, 15 Feb 2021 16:26:36 +0100 -Subject: [PATCH] install include-dir - ---- - CMakeLists.txt | 9 +++++++++ - 1 file changed, 9 insertions(+) - diff --git a/CMakeLists.txt b/CMakeLists.txt -index 100d613..464f95a 100644 +index a80e39e6..bb6ab2db 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -1171,6 +1171,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 export (TARGETS ${OCCT_LIBRARIES} FILE "${CMAKE_BINARY_DIR}/OpenCASCADETargets.cmake") --- -2.14.3.windows.1 - diff --git a/ports/opencascade/portfile.cmake b/ports/opencascade/portfile.cmake index a1f7e439d915b6..f6b0f1dc6924af 100644 --- a/ports/opencascade/portfile.cmake +++ b/ports/opencascade/portfile.cmake @@ -1,16 +1,20 @@ +string(REPLACE "." "_" VERSION_STR "V${VERSION}") vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Open-Cascade-SAS/OCCT - REF 80ffc5f84dae96de6ed093d3e5d2466a9e368b27 #V7.6.0 - SHA512 1dfee9c59eb6ea61735f0807d44ccf62019a2649f506a5a8197e04b1533592dc95d6d67ab7a3bb392785755ed60b6fc489bea049f658d4ae7d05dfe0d7d5bdcd + 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-freetype.diff # https://github.com/Open-Cascade-SAS/OCCT/pull/49 ) -if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) +if (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") set(BUILD_TYPE "Shared") else() set(BUILD_TYPE "Static") @@ -18,13 +22,14 @@ endif() vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES - "freeimage" USE_FREEIMAGE - "tbb" USE_TBB - "rapidjson" USE_RAPIDJSON + freeimage USE_FREEIMAGE + freetype USE_FREETYPE + rapidjson USE_RAPIDJSON + samples INSTALL_SAMPLES + tbb USE_TBB + vtk USE_VTK ) -# VTK option in opencascade not currently supported because only 6.1.0 is supported but vcpkg has >= 9.0 - # 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 # And pre-built ActiveTCL binaries are behind a marketing wall :( # We use the Unix install layout for Windows as it matches vcpkg @@ -34,11 +39,14 @@ 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 + -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 ) @@ -47,62 +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() - file(WRITE "${file_name}" "${filedata}") + file(READ "${file_name}" filedata) + 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 -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib") -file(RENAME "${CURRENT_PACKAGES_DIR}/debug/libd" "${CURRENT_PACKAGES_DIR}/debug/lib") - 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 (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") - - # 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() - - # 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() - -file(INSTALL "${SOURCE_PATH}/OCCT_LGPL_EXCEPTION.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +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 ea7ddba2961fbf..2a265937d5b447 100644 --- a/ports/opencascade/vcpkg.json +++ b/ports/opencascade/vcpkg.json @@ -1,11 +1,20 @@ { "name": "opencascade", - "version": "7.6.0", + "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", - "supports": "!(uwp | osx | linux | arm)", + "license": "LGPL-2.1-only", + "supports": "!xbox", "dependencies": [ - "freetype", + { + "name": "angle", + "platform": "uwp" + }, + { + "name": "opengl", + "platform": "!(android | ios | uwp | wasm32)" + }, { "name": "vcpkg-cmake", "host": true @@ -15,6 +24,12 @@ "host": true } ], + "default-features": [ + { + "name": "freetype", + "platform": "!uwp" + } + ], "features": { "freeimage": { "description": "Enable optional usage of freeimage", @@ -22,17 +37,43 @@ "freeimage" ] }, + "freetype": { + "description": "Use of freetype", + "supports": "!uwp", + "dependencies": [ + "fontconfig", + { + "name": "freetype", + "default-features": false + } + ] + }, "rapidjson": { "description": "Enable optional usage of rapidjson", "dependencies": [ "rapidjson" ] }, + "samples": { + "description": "Enable optional samples" + }, "tbb": { "description": "Enable optional usage of tbb", "dependencies": [ "tbb" ] + }, + "vtk": { + "description": "Enable optional usage of vtk", + "dependencies": [ + { + "name": "vtk", + "default-features": false, + "features": [ + "opengl" + ] + } + ] } } } diff --git a/ports/opencc/fix-dependencies.patch b/ports/opencc/fix-dependencies.patch new file mode 100644 index 00000000000000..581a993d6a31a3 --- /dev/null +++ b/ports/opencc/fix-dependencies.patch @@ -0,0 +1,35 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 7768c89..70292d6 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -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 ${LIBMARISA}) + target_include_directories(libopencc PUBLIC + $ + $ +@@ -144,6 +144,21 @@ set_target_properties( + ${OPENCC_VERSION_MAJOR}.${OPENCC_VERSION_MINOR} + ) + ++if(USE_SYSTEM_RAPIDJSON) ++ find_package(RapidJSON CONFIG REQUIRED) ++ target_link_libraries(libopencc rapidjson) ++endif() ++ ++if(USE_SYSTEM_TCLAP) ++ find_path(TCLAP_INCLUDE_DIRS "tclap/Arg.h") ++ target_include_directories(libopencc PUBLIC ${TCLAP_INCLUDE_DIRS}) ++endif() ++ ++if(USE_SYSTEM_DARTS) ++ find_path(DARTS_INCLUDE_DIRS "darts.h") ++ target_include_directories(libopencc PUBLIC ${DARTS_INCLUDE_DIRS}) ++endif() ++ + # Installation + + if (USE_SYSTEM_MARISA) diff --git a/ports/opencc/portfile.cmake b/ports/opencc/portfile.cmake index ad68c29b229203..7bc8ac5c57ff57 100644 --- a/ports/opencc/portfile.cmake +++ b/ports/opencc/portfile.cmake @@ -1,53 +1,56 @@ -vcpkg_fail_port_install(ON_ARCH "arm" "arm64" ON_TARGET "UWP") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO BYVoid/OpenCC - REF e8ec6d59f264a4a42e310148a9534a8cc0123928 - SHA512 e6b3f6d681223b299795c324a48e82609abd1f411d3cbd5f9d8607284ec04717fa9878953d037c25a931a0857f50a5c0e883e0d44ddbea18c50830ad49514c59 + REF "ver.${VERSION}" + SHA512 713cf00931d7616994eb455eef3bc893096b5cd6d42b346aa1130591752d9612891ea3ed035bd7bd4ec7df1c90425e86375f5b3337fac11663c656c79a8f33e9 HEAD_REF master + PATCHES + fix-dependencies.patch ) vcpkg_find_acquire_program(PYTHON3) -get_filename_component(PYTHON3_DIR ${PYTHON3} DIRECTORY) -vcpkg_add_to_path(${PYTHON3_DIR}) +get_filename_component(PYTHON3_DIR "${PYTHON3}" DIRECTORY) +vcpkg_add_to_path("${PYTHON3_DIR}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_DOCUMENTATION=OFF -DENABLE_GTEST=OFF + -DUSE_SYSTEM_RAPIDJSON=ON + -DUSE_SYSTEM_TCLAP=ON + -DUSE_SYSTEM_DARTS=ON + -DUSE_SYSTEM_MARISA=ON + -DPKG_CONFIG_EXECUTABLE=${CURRENT_HOST_INSTALLED_DIR}/tools/pkgconf/pkgconf ) -vcpkg_install_cmake( +vcpkg_cmake_install( DISABLE_PARALLEL ) vcpkg_copy_pdbs() -if(tools IN_LIST FEATURES) - foreach(opencc_tool opencc opencc_dict opencc_phrase_extract) - file(COPY - ${CURRENT_PACKAGES_DIR}/bin/${opencc_tool}${VCPKG_TARGET_EXECUTABLE_SUFFIX} - DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT} - ) - endforeach() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/opencc) + +vcpkg_fixup_pkgconfig() - vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT}) +set(tool_names "opencc" "opencc_dict" "opencc_phrase_extract") +if("tools" IN_LIST FEATURES) + vcpkg_copy_tools(TOOL_NAMES ${tool_names} AUTO_CLEAN) endif() -if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) -else() - foreach(opencc_tool opencc opencc_dict opencc_phrase_extract) - file(REMOVE - ${CURRENT_PACKAGES_DIR}/bin/${opencc_tool}${VCPKG_TARGET_EXECUTABLE_SUFFIX} - ${CURRENT_PACKAGES_DIR}/debug/bin/${opencc_tool}${VCPKG_TARGET_EXECUTABLE_SUFFIX} - ) - endforeach() +foreach(opencc_tool IN LISTS tool_names) + file(REMOVE + "${CURRENT_PACKAGES_DIR}/bin/${opencc_tool}${VCPKG_TARGET_EXECUTABLE_SUFFIX}" + "${CURRENT_PACKAGES_DIR}/debug/bin/${opencc_tool}${VCPKG_TARGET_EXECUTABLE_SUFFIX}" + ) +endforeach() + +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(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share) +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) -vcpkg_fixup_pkgconfig() +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/opencc/vcpkg.json b/ports/opencc/vcpkg.json index 3645c6d13632e8..97ecf841ce748e 100644 --- a/ports/opencc/vcpkg.json +++ b/ports/opencc/vcpkg.json @@ -1,10 +1,28 @@ { "name": "opencc", - "version-string": "2020-04-26", - "port-version": 9, - "description": "A project for conversion between Traditional and Simplified Chinese", + "version": "1.1.9", + "description": "A project for conversions between Traditional Chinese, Simplified Chinese and Japanese Kanji (Shinjitai)", "homepage": "https://github.com/BYVoid/OpenCC", - "supports": "!(arm | arm64 | uwp)", + "license": "Apache-2.0", + "supports": "!(arm | uwp)", + "dependencies": [ + "darts-clone", + "marisa-trie", + { + "name": "pkgconf", + "host": true + }, + "rapidjson", + "tclap", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], "features": { "tools": { "description": "Build OpenCC command-line tools" diff --git a/ports/opencensus-cpp/fix-install.patch b/ports/opencensus-cpp/fix-install.patch index ac8781da3f3596..bca8ea1e68810c 100644 --- a/ports/opencensus-cpp/fix-install.patch +++ b/ports/opencensus-cpp/fix-install.patch @@ -1,12 +1,34 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 0ecec53..45d994c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -38,7 +38,13 @@ enable_testing() + + list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake) + +-include(OpenCensusDeps) ++find_package(absl CONFIG REQUIRED) ++find_package(prometheus-cpp CONFIG REQUIRED) ++ ++if(BUILD_TESTING) ++ find_package(GTest CONFIG REQUIRED) ++ find_package(benchmark CONFIG REQUIRED) ++endif() + + include(OpenCensusHelpers) + diff --git a/cmake/OpenCensusHelpers.cmake b/cmake/OpenCensusHelpers.cmake -index c8d35e6..a15231a 100644 +index 8fdfe96..6667085 100644 --- a/cmake/OpenCensusHelpers.cmake +++ b/cmake/OpenCensusHelpers.cmake -@@ -38,6 +38,13 @@ function(opencensus_test NAME SRC) - gmock - gtest_main) +@@ -35,8 +35,15 @@ function(opencensus_test NAME SRC) + set(_NAME "opencensus_${NAME}") + add_executable(${_NAME} ${SRC}) + prepend_opencensus(DEPS "${ARGN}") +- target_link_libraries(${_NAME} "${DEPS}" gmock gtest_main) ++ target_link_libraries(${_NAME} "${DEPS}" GTest::gmock GTest::gtest_main) add_test(NAME ${_NAME} COMMAND ${_NAME}) -+ ++ + install( + TARGETS ${_NAME} + RUNTIME DESTINATION tools @@ -16,11 +38,13 @@ index c8d35e6..a15231a 100644 endif() endfunction() -@@ -51,6 +58,13 @@ function(opencensus_benchmark NAME SRC) +@@ -49,7 +56,14 @@ function(opencensus_benchmark NAME SRC) + set(_NAME "opencensus_${NAME}") add_executable(${_NAME} ${SRC}) prepend_opencensus(DEPS "${ARGN}") - target_link_libraries(${_NAME} "${DEPS}" benchmark) -+ +- target_link_libraries(${_NAME} "${DEPS}" benchmark) ++ target_link_libraries(${_NAME} "${DEPS}" benchmark::benchmark) ++ + install( + TARGETS ${_NAME} + RUNTIME DESTINATION tools @@ -30,11 +54,10 @@ index c8d35e6..a15231a 100644 endif() endfunction() -@@ -76,6 +90,13 @@ function(opencensus_lib NAME) +@@ -71,6 +85,12 @@ function(opencensus_lib NAME) if(ARG_PUBLIC) add_library(${PROJECT_NAME}::${NAME} ALIAS ${_NAME}) endif() -+ + install( + TARGETS ${_NAME} + RUNTIME DESTINATION bin @@ -44,11 +67,11 @@ index c8d35e6..a15231a 100644 endfunction() # Helper function for fuzzing. Usage: -@@ -88,5 +109,12 @@ function(opencensus_fuzzer NAME SRC) +@@ -83,5 +103,12 @@ function(opencensus_fuzzer NAME SRC) prepend_opencensus(DEPS "${ARGN}") target_link_libraries(${_NAME} "${DEPS}" ${FUZZER}) target_compile_options(${_NAME} PRIVATE ${FUZZER}) -+ ++ + install( + TARGETS ${_NAME} + RUNTIME DESTINATION tools @@ -58,97 +81,148 @@ index c8d35e6..a15231a 100644 endif() endfunction() diff --git a/examples/helloworld/CMakeLists.txt b/examples/helloworld/CMakeLists.txt -index 456169f..71e43d1 100644 +index 86cc1f4..cbbcb29 100644 --- a/examples/helloworld/CMakeLists.txt +++ b/examples/helloworld/CMakeLists.txt -@@ -22,3 +22,10 @@ target_link_libraries(opencensus_examples_helloworld - opencensus-cpp::stats - opencensus-cpp::trace - Threads::Threads) +@@ -23,3 +23,10 @@ target_link_libraries( + opencensus-cpp::stats + opencensus-cpp::trace + Threads::Threads) + +install( -+ TARGETS opencensus_examples_helloworld -+ RUNTIME DESTINATION tools -+ LIBRARY DESTINATION lib -+ ARCHIVE DESTINATION lib ++ TARGETS opencensus_examples_helloworld ++ RUNTIME DESTINATION tools ++ LIBRARY DESTINATION lib ++ ARCHIVE DESTINATION lib +) -\ No newline at end of file diff --git a/opencensus/common/internal/CMakeLists.txt b/opencensus/common/internal/CMakeLists.txt -index c18859d..55a1121 100644 +index a9dbd87..810a8c8 100644 --- a/opencensus/common/internal/CMakeLists.txt +++ b/opencensus/common/internal/CMakeLists.txt -@@ -21,6 +21,8 @@ opencensus_lib(common_random - absl::base - absl::synchronization - absl::time) -+ -+install(FILES ${CMAKE_CURRENT_LIST_DIR}/../version.h DESTINATION include/opencensus-cpp/common/internal) +@@ -23,6 +23,12 @@ opencensus_lib( + absl::synchronization + absl::time) ++file(GLOB HDRS ${CMAKE_CURRENT_LIST_DIR}/*.h) ++install(FILES ${HDRS} DESTINATION include/opencensus-cpp/opencensus/common/internal) ++ ++file(GLOB HDRS ${CMAKE_CURRENT_LIST_DIR}/grpc/*.h) ++install(FILES ${HDRS} DESTINATION include/opencensus-cpp/opencensus/common/internal/grpc) ++ opencensus_lib(common_stats_object DEPS absl::time) + # Define NOMINMAX to fix build errors when compiling with MSVC. diff --git a/opencensus/context/CMakeLists.txt b/opencensus/context/CMakeLists.txt -index 525885b..537de02 100644 +index 149958c..2474a66 100644 --- a/opencensus/context/CMakeLists.txt +++ b/opencensus/context/CMakeLists.txt -@@ -21,6 +21,10 @@ opencensus_lib(context - tags - trace) +@@ -22,6 +22,9 @@ opencensus_lib( + tags + trace) -+install(FILES ${CMAKE_CURRENT_LIST_DIR}/context.h -+ ${CMAKE_CURRENT_LIST_DIR}/with_context.h -+ DESTINATION include/opencensus-cpp/context) ++file(GLOB HDRS ${CMAKE_CURRENT_LIST_DIR}/*.h) ++install(FILES ${HDRS} DESTINATION include/opencensus-cpp/opencensus/context) + - opencensus_test(context_context_test - internal/context_test.cc - context + opencensus_test( + context_context_test + internal/context_test.cc diff --git a/opencensus/exporters/stats/prometheus/CMakeLists.txt b/opencensus/exporters/stats/prometheus/CMakeLists.txt -index 4da7de7..39121f5 100644 +index 01038cc..0ad712b 100644 --- a/opencensus/exporters/stats/prometheus/CMakeLists.txt +++ b/opencensus/exporters/stats/prometheus/CMakeLists.txt -@@ -28,6 +28,8 @@ opencensus_lib(exporters_stats_prometheus_utils - absl::strings - absl::time - prometheus-cpp::core) -+ -+install(FILES ${CMAKE_CURRENT_LIST_DIR}/prometheus_exporter.h DESTINATION include/opencensus-cpp/exporters/stats/prometheus) - - opencensus_test(exporters_stats_prometheus_utils_test - internal/prometheus_utils_test.cc +@@ -21,6 +21,12 @@ opencensus_lib( + exporters_stats_prometheus_utils + stats) + ++file(GLOB HDRS ${CMAKE_CURRENT_LIST_DIR}/*.h) ++install(FILES ${HDRS} DESTINATION include/opencensus-cpp/opencensus/exporters/stats/prometheus) ++ ++file(GLOB HDRS ${CMAKE_CURRENT_LIST_DIR}/internal/*.h) ++install(FILES ${HDRS} DESTINATION include/opencensus-cpp/opencensus/exporters/stats/prometheus/internal) ++ + opencensus_lib( + exporters_stats_prometheus_utils + SRCS diff --git a/opencensus/exporters/stats/stdout/CMakeLists.txt b/opencensus/exporters/stats/stdout/CMakeLists.txt -index b4f3110..31bc991 100644 +index 5278e65..2930817 100644 --- a/opencensus/exporters/stats/stdout/CMakeLists.txt +++ b/opencensus/exporters/stats/stdout/CMakeLists.txt -@@ -21,6 +21,8 @@ opencensus_lib(exporters_stats_stdout - absl::memory - absl::strings - absl::time) -+ -+install(FILES ${CMAKE_CURRENT_LIST_DIR}/stdout_exporter.h DESTINATION include/opencensus-cpp/exporters/stats/stdout) - - opencensus_test(exporters_stats_stdout_test - internal/stdout_exporter_test.cc +@@ -23,5 +23,8 @@ opencensus_lib( + absl::strings + absl::time) + ++file(GLOB HDRS ${CMAKE_CURRENT_LIST_DIR}/*.h) ++install(FILES ${HDRS} DESTINATION include/opencensus-cpp/opencensus/exporters/stats/stdout) ++ + opencensus_test(exporters_stats_stdout_test internal/stdout_exporter_test.cc + exporters_stats_stdout stats stats_test_utils absl::time) diff --git a/opencensus/exporters/trace/stdout/CMakeLists.txt b/opencensus/exporters/trace/stdout/CMakeLists.txt -index 2b8bc78..fce50e7 100644 +index c7c580f..d9befa1 100644 --- a/opencensus/exporters/trace/stdout/CMakeLists.txt +++ b/opencensus/exporters/trace/stdout/CMakeLists.txt -@@ -21,6 +21,7 @@ opencensus_lib(exporters_trace_stdout - absl::base - absl::memory) - -+install(FILES ${CMAKE_CURRENT_LIST_DIR}/stdout_exporter.h DESTINATION include/opencensus-cpp/exporters/trace/stdout) - opencensus_test(exporters_trace_stdout_test - internal/stdout_exporter_test.cc - exporters_trace_stdout +@@ -22,5 +22,8 @@ opencensus_lib( + absl::base + absl::memory) + ++file(GLOB HDRS ${CMAKE_CURRENT_LIST_DIR}/*.h) ++install(FILES ${HDRS} DESTINATION include/opencensus-cpp/opencensus/exporters/trace/stdout) ++ + opencensus_test(exporters_trace_stdout_test internal/stdout_exporter_test.cc + exporters_trace_stdout trace absl::time) +diff --git a/opencensus/stats/CMakeLists.txt b/opencensus/stats/CMakeLists.txt +index 9b0d7af..a8a9d50 100644 +--- a/opencensus/stats/CMakeLists.txt ++++ b/opencensus/stats/CMakeLists.txt +@@ -71,6 +71,12 @@ opencensus_lib( + absl::strings + absl::time) + ++file(GLOB HDRS ${CMAKE_CURRENT_LIST_DIR}/*.h) ++install(FILES ${HDRS} DESTINATION include/opencensus-cpp/opencensus/stats) ++ ++file(GLOB HDRS ${CMAKE_CURRENT_LIST_DIR}/internal/*.h) ++install(FILES ${HDRS} DESTINATION include/opencensus-cpp/opencensus/stats/internal) ++ + # ---------------------------------------------------------------------- + # Tests + # ---------------------------------------------------------------------- diff --git a/opencensus/tags/CMakeLists.txt b/opencensus/tags/CMakeLists.txt -index dbc4c9b..1b304ce 100644 +index 7219a2a..97a0de1 100644 --- a/opencensus/tags/CMakeLists.txt +++ b/opencensus/tags/CMakeLists.txt -@@ -40,6 +40,8 @@ opencensus_lib(tags_with_tag_map - context - absl::strings) - -+file(GLOB TAGS_HDRS ${CMAKE_CURRENT_LIST_DIR}/*.h) -+install(FILES ${TAGS_HDRS} DESTINATION include/opencensus-cpp/tags) - opencensus_test(tags_context_util_test - internal/context_util_test.cc - tags +@@ -53,6 +53,12 @@ opencensus_lib( + context + absl::strings) + ++file(GLOB HDRS ${CMAKE_CURRENT_LIST_DIR}/*.h) ++install(FILES ${HDRS} DESTINATION include/opencensus-cpp/opencensus/tags) ++ ++file(GLOB HDRS ${CMAKE_CURRENT_LIST_DIR}/propagation/*.h) ++install(FILES ${HDRS} DESTINATION include/opencensus-cpp/opencensus/tags/propagation) ++ + opencensus_test(tags_context_util_test internal/context_util_test.cc tags + tags_context_util tags_with_tag_map context) + +diff --git a/opencensus/trace/CMakeLists.txt b/opencensus/trace/CMakeLists.txt +index 2c4e656..25d7241 100644 +--- a/opencensus/trace/CMakeLists.txt ++++ b/opencensus/trace/CMakeLists.txt +@@ -122,6 +122,18 @@ opencensus_lib( + trace + context) + ++file(GLOB HDRS ${CMAKE_CURRENT_LIST_DIR}/*.h) ++install(FILES ${HDRS} DESTINATION include/opencensus-cpp/opencensus/trace) ++ ++file(GLOB HDRS ${CMAKE_CURRENT_LIST_DIR}/exporter/*.h) ++install(FILES ${HDRS} DESTINATION include/opencensus-cpp/opencensus/trace/exporter) ++ ++file(GLOB HDRS ${CMAKE_CURRENT_LIST_DIR}/internal/*.h) ++install(FILES ${HDRS} DESTINATION include/opencensus-cpp/opencensus/trace/internal) ++ ++file(GLOB HDRS ${CMAKE_CURRENT_LIST_DIR}/propagation/*.h) ++install(FILES ${HDRS} DESTINATION include/opencensus-cpp/opencensus/trace/propagation) ++ + # ---------------------------------------------------------------------- + # Tests + # ---------------------------------------------------------------------- diff --git a/ports/opencensus-cpp/portfile.cmake b/ports/opencensus-cpp/portfile.cmake index be9283a5ec8b0f..b6348136a75463 100644 --- a/ports/opencensus-cpp/portfile.cmake +++ b/ports/opencensus-cpp/portfile.cmake @@ -1,28 +1,27 @@ -vcpkg_fail_port_install(ON_TARGET "Windows") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO census-instrumentation/opencensus-cpp - REF 2b0725c2d0f809351300c634c54e70e0a8c3f4ed #v0.4.0 - SHA512 16f3975ed0580aec83e0dd98f15a04d614cf45bfa7e07b0b94e881afc12e8e4bac3c0efde1f8e7da9f5dc66365415ae1e3ab10dfcbd9e078879246db6e81cd56 + REF 62d8281899a1cfd1084793f64295329a6b5d22b3 # 2021-08-26 + SHA512 35df40d7e5ce933384fe6ba4ac2d704e0801ac47765fca97ea3f8d787886abe5c588855c3aac5745f047c1c8f2047e1f69b62340dd702042a61c3dc430ca36b4 HEAD_REF master - PATCHES fix-install.patch + PATCHES + fix-install.patch ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - test BUILD_TESTING + FEATURES + test BUILD_TESTING ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${FEATURE_OPTIONS} ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/opencensus-cpp/vcpkg.json b/ports/opencensus-cpp/vcpkg.json index 892a8754e7c715..db888711ff5b0c 100644 --- a/ports/opencensus-cpp/vcpkg.json +++ b/ports/opencensus-cpp/vcpkg.json @@ -1,16 +1,26 @@ { "name": "opencensus-cpp", - "version-string": "0.4.0", + "version-date": "2021-08-26", "port-version": 2, "description": "OpenCensus is a toolkit for collecting application performance and behavior data. It currently includes an API for tracing and stats.", "homepage": "https://github.com/census-instrumentation/opencensus-cpp", + "license": "Apache-2.0", "supports": "!windows", "dependencies": [ - "abseil" + "abseil", + "prometheus-cpp", + { + "name": "vcpkg-cmake", + "host": true + } ], "features": { "test": { - "description": "Build test" + "description": "Build test", + "dependencies": [ + "benchmark", + "gtest" + ] } } } 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/portfile.cmake b/ports/opencl/portfile.cmake index ad9c5c59937e5e..acfc16f45452dd 100644 --- a/ports/opencl/portfile.cmake +++ b/ports/opencl/portfile.cmake @@ -1,105 +1,88 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO KhronosGroup/OpenCL-Headers - REF 0d5f18c6e7196863bc1557a693f1509adfcee056 - SHA512 7e8fa6c8e73c660d8e9e31ddea3bfef887ed827fc21a1da559bde9dd4af6c52a91f609401bb718528b5c96d21e4c01aee7b8027bdf3dec4b0aa326270788a4b0 - HEAD_REF master + REPO KhronosGroup/OpenCL-SDK + REF "${VERSION}" + SHA512 995ed5cff95fec7ffd8470f04eb4d00325f9acb20cc1f0d78442890d0636554c2526c015351f4b19bc673dcadd531bb62d9d3c8c526dd921f236cb5035e906e0 + HEAD_REF main ) -file(INSTALL "${SOURCE_PATH}/CL" DESTINATION ${CURRENT_PACKAGES_DIR}/include) - -# OpenCL C++ headers vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO KhronosGroup/OpenCL-CLHPP - REF d62a02090625655e5b2d791d6a58618b043c989c - SHA512 837bbe914931d2f18a468f21634dbd4d088eda0a2f22eea23304c0323b9ee064c3ee76db7ebf28ba67fbe07c44129241f8dca62512d89bc7a6b35c2b4b316ed7 - HEAD_REF master + OUT_SOURCE_PATH OPENCL_HEADERS + REPO KhronosGroup/OpenCL-Headers + REF "${VERSION}" + SHA512 2f1a46d58a5a9329470bab4c3662f17e81aab9558bfd9e1aafa14d3e1ab129513ab9493eeeb3cc48f0f91f0bc6b61bd54e28d7083eed58af9f34cd973cc93de1 + 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() -vcpkg_find_acquire_program(PYTHON3) - -vcpkg_execute_required_process( - COMMAND "${PYTHON3}" "${SOURCE_PATH}/gen_cl_hpp.py" - -i ${SOURCE_PATH}/input_cl.hpp - -o ${CURRENT_PACKAGES_DIR}/include/CL/cl.hpp - WORKING_DIRECTORY ${SOURCE_PATH} - LOGNAME generate_clhpp-${TARGET_TRIPLET} +vcpkg_from_github( + OUT_SOURCE_PATH OPENCL_CLHPP + REPO KhronosGroup/OpenCL-CLHPP + REF "${VERSION}" + SHA512 6396cd67a2edef6a76695857e3e45f7eeb8cdaa8c729197357c6374ac58b41caa37bbe8c3b7a1724d43d3805f8cd5edd53a8ed833d6415bf072745800b744572 + 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() -vcpkg_execute_required_process( - COMMAND "${PYTHON3}" "${SOURCE_PATH}/gen_cl_hpp.py" - -i ${SOURCE_PATH}/input_cl2.hpp - -o ${CURRENT_PACKAGES_DIR}/include/CL/cl2.hpp - WORKING_DIRECTORY ${SOURCE_PATH} - LOGNAME generate_cl2hpp-${TARGET_TRIPLET} +vcpkg_from_github( + OUT_SOURCE_PATH OPENCL_ICD_LOADER + REPO KhronosGroup/OpenCL-ICD-Loader + REF "${VERSION}" + SHA512 12d62183e49c5a1f813807291744d816008afca55b09f5acf2eef1bce50a453bf35a8dfbeb5f433022b0c5517f0a210d7123a3bac7a15ea63cc10f3bc71510f0 + HEAD_REF main ) -message(STATUS "Generating OpenCL C++ headers done") +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() -# OpenCL ICD loader vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO KhronosGroup/OpenCL-ICD-Loader - REF e6e30ab9c7a61c171cf68d2e7f5c0ce28e2a4eae - SHA512 f3563c0a4c094d3795d8386ec0db41189d350ab8136d80ae5de611ee3db87fbb0ab851bad2b33e111eddf135add5dbfef77d96979473ca5a23c036608d443378 + OUT_SOURCE_PATH WHEREAMI + REPO gpakosz/whereami + REF f5e3eac441acbb4ec1fe3e2c32646248ae463398 # 2024-06-09 + SHA512 d6fa8b6788cabdbb185a6ffba79c994762924a1c60595b769a7d3bb4a3ddf0f80cdeac7bd915cffa720f9123a720a1b7f0023fd7f2cf58906d15758529a99e2d HEAD_REF master - PATCHES - 0001-include-unistd-for-gete-ug-id.patch ) +vcpkg_replace_string("${SOURCE_PATH}/cmake/Dependencies/whereami/whereami.cmake" [[${CMAKE_CURRENT_BINARY_DIR}/_deps/whereami-external-src]] [[${whereami-external_SOURCE_DIR}]]) -string(COMPARE EQUAL ${VCPKG_CRT_LINKAGE} dynamic USE_DYNAMIC_VCXX_RUNTIME) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DOPENCL_ICD_LOADER_HEADERS_DIR=${CURRENT_PACKAGES_DIR}/include - -DOPENCL_ICD_LOADER_REQUIRE_WDK=OFF - -DUSE_DYNAMIC_VCXX_RUNTIME=${USE_DYNAMIC_VCXX_RUNTIME} + "-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_build_cmake(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/lib/${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/lib/${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) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +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 0893710ff58a4a..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(NOT BUILD_SHARED_LIBS 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) - endif() - endif(CMAKE_SYSTEM_NAME MATCHES "Windows") + if("$ENV{WindowsSDKVersion}" MATCHES "^10") + list(APPEND OpenCL_Extra_Libs OneCoreUAP) + endif() + endif() if(TARGET OpenCL::OpenCL) set_property(TARGET OpenCL::OpenCL APPEND PROPERTY INTERFACE_LINK_LIBRARIES ${OpenCL_Extra_Libs}) @@ -15,4 +16,6 @@ if(NOT BUILD_SHARED_LIBS AND (NOT CMAKE_SYSTEM_NAME MATCHES "Darwin")) if(OpenCL_LIBRARIES) list(APPEND OpenCL_LIBRARIES ${OpenCL_Extra_Libs}) endif() -endif() \ No newline at end of file + unset(OpenCL_Extra_Libs) +endif() +unset(z_vcpkg_opencl_config) diff --git a/ports/opencl/vcpkg.json b/ports/opencl/vcpkg.json index 633a0ab8c874f4..99b9f3cb9870dc 100644 --- a/ports/opencl/vcpkg.json +++ b/ports/opencl/vcpkg.json @@ -1,8 +1,18 @@ { "name": "opencl", - "version-string": "2.2", - "port-version": 8, - "description": "C/C++ headers and ICD loader (Installable Client Driver) for OpenCL", - "homepage": "https://github.com/KhronosGroup/OpenCL-Headers", - "supports": "!uwp" + "version-string": "v2024.05.08", + "description": "OpenCL SDK", + "homepage": "https://github.com/KhronosGroup/OpenCL-SDK", + "license": "Apache-2.0 AND (MIT OR WTFPL)", + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/opencolorio/fix-del-install-file.patch b/ports/opencolorio/fix-del-install-file.patch new file mode 100644 index 00000000000000..6605d721cc4d98 --- /dev/null +++ b/ports/opencolorio/fix-del-install-file.patch @@ -0,0 +1,16 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 17e188d..c6c5ff5 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -341,11 +341,7 @@ if (NOT BUILD_SHARED_LIBS) + + # Install custom Find modules. + install(FILES +- ${CMAKE_CURRENT_LIST_DIR}/share/cmake/modules/Findexpat.cmake +- ${CMAKE_CURRENT_LIST_DIR}/share/cmake/modules/FindImath.cmake +- ${CMAKE_CURRENT_LIST_DIR}/share/cmake/modules/Findpystring.cmake + ${CMAKE_CURRENT_LIST_DIR}/share/cmake/modules/Findminizip-ng.cmake +- ${CMAKE_CURRENT_LIST_DIR}/share/cmake/modules/Findyaml-cpp.cmake + DESTINATION ${OCIO_CUSTOM_FIND_MODULE_DIR} + ) + endif() diff --git a/ports/opencolorio/fix-dependency.patch b/ports/opencolorio/fix-dependency.patch new file mode 100644 index 00000000000000..a1ed321d81fc69 --- /dev/null +++ b/ports/opencolorio/fix-dependency.patch @@ -0,0 +1,73 @@ +diff --git a/share/cmake/modules/FindExtPackages.cmake b/share/cmake/modules/FindExtPackages.cmake +index 5455a08..3b9530e 100644 +--- a/share/cmake/modules/FindExtPackages.cmake ++++ b/share/cmake/modules/FindExtPackages.cmake +@@ -37,20 +37,20 @@ endif() + + # expat + # https://github.com/libexpat/libexpat +-find_package(expat 2.4.1 REQUIRED) ++find_package(expat CONFIG REQUIRED) + + # yaml-cpp + # https://github.com/jbeder/yaml-cpp +-find_package(yaml-cpp 0.7.0 REQUIRED) ++find_package(yaml-cpp CONFIG REQUIRED) + + # pystring + # https://github.com/imageworks/pystring +-find_package(pystring 1.1.3 REQUIRED) ++find_package(pystring CONFIG REQUIRED) + + # Imath (>=3.1) + # https://github.com/AcademySoftwareFoundation/Imath + set(_Imath_ExternalProject_VERSION "3.1.5") +-find_package(Imath 3.0 REQUIRED) ++find_package(Imath CONFIG REQUIRED) + + ############################################################################### + ### ZLIB (https://github.com/madler/zlib) +@@ -138,7 +138,7 @@ endif() + + # minizip-ng + # https://github.com/zlib-ng/minizip-ng +-find_package(minizip-ng 3.0.7 REQUIRED) ++find_package(minizip-ng CONFIG REQUIRED) + + if(OCIO_BUILD_APPS) + +@@ -149,7 +149,7 @@ if(OCIO_BUILD_APPS) + + # lcms2 + # https://github.com/mm2/Little-CMS +- find_package(lcms2 2.2 REQUIRED) ++ find_package(lcms2 CONFIG REQUIRED) + endif() + + if(OCIO_BUILD_OPENFX) +diff --git a/src/cmake/Config.cmake.in b/src/cmake/Config.cmake.in +index 6a4932a..0fe7c89 100644 +--- a/src/cmake/Config.cmake.in ++++ b/src/cmake/Config.cmake.in +@@ -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) + + 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/fix-func-param.patch b/ports/opencolorio/fix-func-param.patch new file mode 100644 index 00000000000000..0da99a62ad16c1 --- /dev/null +++ b/ports/opencolorio/fix-func-param.patch @@ -0,0 +1,93 @@ +diff --git a/src/OpenColorIO/OCIOZArchive.cpp b/src/OpenColorIO/OCIOZArchive.cpp +index 85fc7bb..aa90943 100644 +--- a/src/OpenColorIO/OCIOZArchive.cpp ++++ b/src/OpenColorIO/OCIOZArchive.cpp +@@ -24,9 +24,11 @@ + #include "mz_strm_mem.h" + #include "mz_strm_os.h" + #include "mz_strm_split.h" +-#include "mz_strm_zlib.h" + #include "mz_zip.h" + #include "mz_zip_rw.h" ++#ifndef __APPLE__ ++#include "mz_strm_zlib.h" ++#endif + + namespace OCIO_NAMESPACE + { +@@ -225,7 +227,11 @@ void archiveConfig(std::ostream & ostream, const Config & config, const char * c + std::string configStr = ss.str(); + + // Write zip to memory stream. ++#if MZ_VERSION_BUILD >= 040000 ++ write_mem_stream = mz_stream_mem_create(); ++#else + mz_stream_mem_create(&write_mem_stream); ++#endif + mz_stream_mem_set_grow_size(write_mem_stream, 128 * 1024); + mz_stream_open(write_mem_stream, NULL, MZ_OPEN_MODE_CREATE); + +@@ -237,7 +243,11 @@ void archiveConfig(std::ostream & ostream, const Config & config, const char * c + options.compress_level = ArchiveCompressionLevels::BEST; + + // Create the writer handle. ++#if MZ_VERSION_BUILD >= 040000 ++ archiver = mz_zip_writer_create(); ++#else + mz_zip_writer_create(&archiver); ++#endif + + // Archive options. + // Compression method +@@ -332,7 +342,11 @@ void ExtractOCIOZArchive(const char * archivePath, const char * destination) + std::string outputDestination = pystring::os::path::normpath(destination); + + // Create zip reader. ++#if MZ_VERSION_BUILD >= 040000 ++ extracter = mz_zip_reader_create(); ++#else + mz_zip_reader_create(&extracter); ++#endif + + MinizipNgHandlerGuard extracterGuard(extracter, false, false); + +@@ -450,7 +464,11 @@ std::vector getFileStringFromArchiveFile(const std::string & filepath, + std::vector buffer; + + // Create the reader object. ++#if MZ_VERSION_BUILD >= 040000 ++ reader = mz_zip_reader_create(); ++#else + mz_zip_reader_create(&reader); ++#endif + + MinizipNgHandlerGuard extracterGuard(reader, false, true); + +@@ -510,7 +528,11 @@ void getEntriesMappingFromArchiveFile(const std::string & archivePath, + void *reader = NULL; + + // Create the reader object. ++#if MZ_VERSION_BUILD >= 040000 ++ reader = mz_zip_reader_create(); ++#else + mz_zip_reader_create(&reader); ++#endif + + MinizipNgHandlerGuard extracterGuard(reader, false, false); + +diff --git a/src/apps/ocioarchive/main.cpp b/src/apps/ocioarchive/main.cpp +index 190cade..68054a6 100644 +--- a/src/apps/ocioarchive/main.cpp ++++ b/src/apps/ocioarchive/main.cpp +@@ -235,7 +235,11 @@ int main(int argc, const char **argv) + } + + std::string path = args[0]; ++#if MZ_VERSION_BUILD >= 040000 ++ reader = mz_zip_reader_create(); ++#else + mz_zip_reader_create(&reader); ++#endif + struct tm tmu_date; + + err = mz_zip_reader_open_file(reader, path.c_str()); diff --git a/ports/opencolorio/fix-pkgconfig.patch b/ports/opencolorio/fix-pkgconfig.patch new file mode 100644 index 00000000000000..976afe122c52e3 --- /dev/null +++ b/ports/opencolorio/fix-pkgconfig.patch @@ -0,0 +1,10 @@ +diff --git a/src/OpenColorIO/res/OpenColorIO.pc.in b/src/OpenColorIO/res/OpenColorIO.pc.in +index f25c280..d9a450b 100644 +--- a/src/OpenColorIO/res/OpenColorIO.pc.in ++++ b/src/OpenColorIO/res/OpenColorIO.pc.in +@@ -9,3 +9,5 @@ Description: @PROJECT_DESCRIPTION@ + URL: @PROJECT_HOMEPAGE_URL@ + Libs: -L${libdir} -l@PROJECT_NAME@ + Cflags: -I${includedir} ++Libs.private: -lpystring ++Requires.private: expat Imath yaml-cpp minizip-ng diff --git a/ports/opencolorio/portfile.cmake b/ports/opencolorio/portfile.cmake index b5dc0fb29a6c55..3b89e97fc06242 100644 --- a/ports/opencolorio/portfile.cmake +++ b/ports/opencolorio/portfile.cmake @@ -1,13 +1,18 @@ -vcpkg_fail_port_install(ON_TARGET "uwp") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO AcademySoftwareFoundation/OpenColorIO - REF v2.1.0 - SHA512 a0f4fb62c768b392ca1129e2046df96d670d785fc057d4103768440b7adb65d8faf5b7d39729060791794e83e6cd4e67821aed9b30f3f04b410c60809cd72267 + REF "v${VERSION}" + SHA512 d5f3a4b5bd661af7336c015d07e0feccb286464a08239a3c259a97217001161e7571f5137475fc2f4d1b9af6381bbfa03c0b60f41de282f114307961b8d84fc9 HEAD_REF master + PATCHES + fix-dependency.patch + fix-del-install-file.patch + fix-func-param.patch #https://github.com/AcademySoftwareFoundation/OpenColorIO/pull/1806 + fix-pkgconfig.patch ) +file(REMOVE "${SOURCE_PATH}/share/cmake/modules/Findlcms2.cmake") + vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES tools OCIO_BUILD_APPS @@ -21,29 +26,45 @@ vcpkg_cmake_configure( -DOCIO_BUILD_TESTS:BOOL=OFF -DOCIO_BUILD_GPU_TESTS:BOOL=OFF -DOCIO_BUILD_PYTHON:BOOL=OFF + -DOCIO_BUILD_OPENFX:BOOL=OFF + -DOCIO_BUILD_JAVA:BOOL=OFF + -DOCIO_USE_OPENEXR_HALF:BOOL=OFF -DOCIO_INSTALL_EXT_PACKAGES=NONE -DCMAKE_DISABLE_FIND_PACKAGE_OpenImageIO=On ${FEATURE_OPTIONS} + MAYBE_UNUSED_VARIABLES + CMAKE_DISABLE_FIND_PACKAGE_OpenImageIO + OCIO_USE_OPENEXR_HALF ) vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/OpenColorIO") +set(dll_import 0) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + set(dll_import 1) +endif() +vcpkg_replace_string( + "${CURRENT_PACKAGES_DIR}/include/OpenColorIO/OpenColorABI.h" + "ifndef OpenColorIO_SKIP_IMPORTS" + "if ${dll_import}" +) + +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/OpenColorIO") vcpkg_copy_pdbs() -# Clean redundant files file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share" - "${CURRENT_PACKAGES_DIR}/debug/OpenColorIOConfig.cmake" - "${CURRENT_PACKAGES_DIR}/OpenColorIOConfig.cmake" + "${CURRENT_PACKAGES_DIR}/share/ocio" ) if(OCIO_BUILD_APPS) vcpkg_copy_tools( - TOOL_NAMES ociowrite ociomakeclf ociochecklut ociocheck ociobakelut + TOOL_NAMES ociowrite ociomakeclf ociochecklut ociocheck ociobakelut ocioarchive ocioconvert ociolutimage ocioperf AUTO_CLEAN ) endif() -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) \ No newline at end of file +vcpkg_fixup_pkgconfig() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/opencolorio/vcpkg.json b/ports/opencolorio/vcpkg.json index 7166c48edce125..b69a3085bb4246 100644 --- a/ports/opencolorio/vcpkg.json +++ b/ports/opencolorio/vcpkg.json @@ -1,17 +1,24 @@ { "name": "opencolorio", - "version-semver": "2.1.0", + "version-semver": "2.2.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", "supports": "!uwp", "dependencies": [ "expat", "imath", + "minizip-ng", "pystring", { "name": "vcpkg-cmake", "host": true }, + { + "name": "vcpkg-cmake-config", + "host": true + }, "yaml-cpp" ], "features": { @@ -19,7 +26,8 @@ "description": "Installs tools", "dependencies": [ "glew", - "lcms" + "lcms", + "openexr" ] } } 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 939b873cb8e5a6..266bf76c613c69 100644 --- a/ports/opencsg/portfile.cmake +++ b/ports/opencsg/portfile.cmake @@ -1,24 +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_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS -DUNICODE=1 -D_UNICODE=1 - # OPTIONS_RELEASE -DOPTIMIZE=1 - OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS_DEBUG + -DDISABLE_INSTALL_HEADERS=ON ) -vcpkg_install_cmake() +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 829a0f63aabde9..7fc4e3df4fa570 100644 --- a/ports/opencsg/vcpkg.json +++ b/ports/opencsg/vcpkg.json @@ -1,9 +1,14 @@ { "name": "opencsg", - "version-string": "1.4.2", - "port-version": 2, + "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" + "glew", + { + "name": "vcpkg-cmake", + "host": true + } ] } diff --git a/ports/openctm/CMakeLists.txt b/ports/openctm/CMakeLists.txt new file mode 100644 index 00000000000000..2d1de6a455931b --- /dev/null +++ b/ports/openctm/CMakeLists.txt @@ -0,0 +1,60 @@ +cmake_minimum_required(VERSION 3.19...3.23) +project( + openctm + VERSION 1.0.3 + LANGUAGES C) + +set(PUBLIC_HEADERS lib/openctm.h lib/openctmpp.h) + +add_library( + openctm + lib/compressMG1.c + lib/compressMG2.c + lib/compressRAW.c + lib/openctm.c + lib/stream.c + lib/liblzma/Alloc.c + lib/liblzma/LzFind.c + lib/liblzma/LzmaDec.c + lib/liblzma/LzmaEnc.c + lib/liblzma/LzmaLib.c) + +target_include_directories( + openctm + PUBLIC $ + $ + $) +target_compile_definitions(openctm PRIVATE OPENCTM_BUILD LZMA_PREFIX_CTM) +if(NOT BUILD_SHARED_LIBS) + target_compile_definitions(openctm PUBLIC OPENCTM_STATIC) +endif() +target_compile_features(openctm PRIVATE c_std_99) +set_target_properties(openctm PROPERTIES C_VISIBILITY_PRESET hidden + PUBLIC_HEADER "${PUBLIC_HEADERS}") + +include(GNUInstallDirs) +install( + TARGETS openctm + EXPORT unofficial-openctmConfig + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" + ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" + LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" + PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" COMPONENT dev) + +include(CMakePackageConfigHelpers) +set(VERSION_FILE_PATH "${CMAKE_CURRENT_BINARY_DIR}/unofficial-openctmConfigVersion.cmake") +write_basic_package_version_file( + "${VERSION_FILE_PATH}" + VERSION ${PROJECT_VERSION} + COMPATIBILITY SameMajorVersion) +install(FILES "${VERSION_FILE_PATH}" DESTINATION share/unofficial-openctm) + +install(FILES ${PUBLIC_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") + +install( + EXPORT unofficial-openctmConfig + FILE unofficial-openctmConfig.cmake + NAMESPACE unofficial::openctm:: + DESTINATION share/unofficial-openctm) + +export(PACKAGE openctm) diff --git a/ports/openctm/portfile.cmake b/ports/openctm/portfile.cmake new file mode 100644 index 00000000000000..5be1b1d06475cf --- /dev/null +++ b/ports/openctm/portfile.cmake @@ -0,0 +1,21 @@ +vcpkg_from_sourceforge( + OUT_SOURCE_PATH SOURCE_PATH + REPO openctm + REF OpenCTM-1.0.3 + SHA512 fdfa08d19ecbfea99ba01aa2032e941ed6313394a96bd69f8984c2d2d079d836c616471d2bdf6f40175e75659f3ad0ba41502bc3d8224091472f40893ea8746e + FILENAME "OpenCTM-1.0.3-src.tar.bz2" +) + +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" +) + +vcpkg_cmake_install() +vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-openctm) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/openctm/vcpkg.json b/ports/openctm/vcpkg.json new file mode 100644 index 00000000000000..fd0586f74158fe --- /dev/null +++ b/ports/openctm/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "openctm", + "version": "1.0.3", + "description": "OpenCTM — the Open Compressed Triangle Mesh file format — is a file format, a software library and a tool set for compression of 3D triangle meshes.", + "homepage": "http://openctm.sourceforge.net/", + "license": "Zlib", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/opencv/portfile.cmake b/ports/opencv/portfile.cmake index cc6e26fcb0b69f..3da112227b31d9 100644 --- a/ports/opencv/portfile.cmake +++ b/ports/opencv/portfile.cmake @@ -1 +1,4 @@ SET(VCPKG_POLICY_EMPTY_PACKAGE enabled) + +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 23374c7cc4943a..5e7a227c0805ac 100644 --- a/ports/opencv/vcpkg.json +++ b/ports/opencv/vcpkg.json @@ -1,8 +1,9 @@ { "name": "opencv", - "version": "4.5.3", - "description": "Computer vision library", + "version": "4.10.0", + "description": "computer vision library", "homepage": "https://github.com/opencv/opencv", + "license": "Apache-2.0", "dependencies": [ { "name": "opencv4", @@ -10,12 +11,7 @@ } ], "default-features": [ - "dnn", - "jpeg", - "png", - "quirc", - "tiff", - "webp" + "default-features" ], "features": { "ade": { @@ -30,6 +26,18 @@ } ] }, + "calib3d": { + "description": "calib3d module", + "dependencies": [ + { + "name": "opencv4", + "default-features": false, + "features": [ + "calib3d" + ] + } + ] + }, "contrib": { "description": "opencv_contrib module", "dependencies": [ @@ -66,6 +74,30 @@ } ] }, + "dc1394": { + "description": "Dc1394 support for opencv", + "dependencies": [ + { + "name": "opencv4", + "default-features": false, + "features": [ + "dc1394" + ] + } + ] + }, + "default-features": { + "description": "Platform-dependent default features", + "dependencies": [ + { + "name": "opencv4", + "default-features": false, + "features": [ + "default-features" + ] + } + ] + }, "dnn": { "description": "Enable dnn module", "dependencies": [ @@ -78,6 +110,30 @@ } ] }, + "dnn-cuda": { + "description": "Build dnn module with CUDA support", + "dependencies": [ + { + "name": "opencv4", + "default-features": false, + "features": [ + "dnn-cuda" + ] + } + ] + }, + "dshow": { + "description": "enable DirectShow", + "dependencies": [ + { + "name": "opencv4", + "default-features": false, + "features": [ + "dshow" + ] + } + ] + }, "eigen": { "description": "Eigen support for opencv", "dependencies": [ @@ -102,6 +158,42 @@ } ] }, + "freetype": { + "description": "Freetype support for opencv", + "dependencies": [ + { + "name": "opencv4", + "default-features": false, + "features": [ + "freetype" + ] + } + ] + }, + "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": [ @@ -114,6 +206,30 @@ } ] }, + "gstreamer": { + "description": "gstreamer support for opencv", + "dependencies": [ + { + "name": "opencv4", + "default-features": false, + "features": [ + "gstreamer" + ] + } + ] + }, + "gtk": { + "description": "GTK support for opencv", + "dependencies": [ + { + "name": "opencv4", + "default-features": false, + "features": [ + "gtk" + ] + } + ] + }, "halide": { "description": "Halide support for opencv", "dependencies": [ @@ -126,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": [ @@ -139,7 +279,7 @@ ] }, "jasper": { - "description": "JPEG 2000 support for opencv", + "description": "JPEG 2000 support for opencv (deprecated)", "dependencies": [ { "name": "opencv4", @@ -174,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", @@ -186,6 +338,18 @@ } ] }, + "opencl": { + "description": "Enable OpenCL support", + "dependencies": [ + { + "name": "opencv4", + "default-features": false, + "features": [ + "opencl" + ] + } + ] + }, "openexr": { "description": "OpenEXR support for opencv", "dependencies": [ @@ -210,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": [ @@ -222,6 +398,18 @@ } ] }, + "openvino": { + "description": "OpenVINO support for OpenCV DNN", + "dependencies": [ + { + "name": "opencv4", + "default-features": false, + "features": [ + "openvino" + ] + } + ] + }, "ovis": { "description": "opencv_ovis module", "dependencies": [ @@ -246,6 +434,18 @@ } ] }, + "python": { + "description": "Python wrapper support for opencv", + "dependencies": [ + { + "name": "opencv4", + "default-features": false, + "features": [ + "python" + ] + } + ] + }, "qt": { "description": "Qt GUI support for opencv", "dependencies": [ @@ -258,6 +458,18 @@ } ] }, + "quality": { + "description": "Build opencv_quality module", + "dependencies": [ + { + "name": "opencv4", + "default-features": false, + "features": [ + "quality" + ] + } + ] + }, "quirc": { "description": "Enable QR code module", "dependencies": [ @@ -270,6 +482,18 @@ } ] }, + "rgbd": { + "description": "Build opencv_rgbd module", + "dependencies": [ + { + "name": "opencv4", + "default-features": false, + "features": [ + "rgbd" + ] + } + ] + }, "sfm": { "description": "opencv_sfm module", "dependencies": [ @@ -294,6 +518,18 @@ } ] }, + "thread": { + "description": "Enable thread support", + "dependencies": [ + { + "name": "opencv4", + "default-features": false, + "features": [ + "thread" + ] + } + ] + }, "tiff": { "description": "TIFF support for opencv", "dependencies": [ @@ -318,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": [ @@ -330,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 new file mode 100644 index 00000000000000..fa01b8b6c3b854 --- /dev/null +++ b/ports/opencv2/0001-install-options.patch @@ -0,0 +1,368 @@ +--- a/3rdparty/libtiff/CMakeLists.txt ++++ b/3rdparty/libtiff/CMakeLists.txt +@@ -102,7 +102,7 @@ if(UNIX AND (CMAKE_COMPILER_IS_GNUCXX OR CV_ICC)) + endif() + + add_library(${TIFF_LIBRARY} STATIC ${lib_srcs}) +-target_link_libraries(${TIFF_LIBRARY} ${ZLIB_LIBRARIES}) ++target_link_libraries(${TIFF_LIBRARY} ZLIB::ZLIB) + + set_target_properties(${TIFF_LIBRARY} + PROPERTIES +--- a/3rdparty/openexr/CMakeLists.txt ++++ b/3rdparty/openexr/CMakeLists.txt +@@ -55,7 +55,7 @@ if(MSVC AND CV_ICC) + endif() + + add_library(IlmImf STATIC ${lib_hdrs} ${lib_srcs}) +-target_link_libraries(IlmImf ${ZLIB_LIBRARIES}) ++target_link_libraries(IlmImf ZLIB::ZLIB) + + set_target_properties(IlmImf + PROPERTIES +--- a/3rdparty/tbb/CMakeLists.txt ++++ b/3rdparty/tbb/CMakeLists.txt +@@ -116,7 +116,7 @@ endif() + + if(NOT EXISTS "${tbb_tarball}") + message(STATUS "Downloading ${tbb_ver}_src.tgz") +- file(DOWNLOAD "${tbb_url}" "${tbb_tarball}" TIMEOUT 600 STATUS __statvar) ++ message(FATAL_ERROR " Downloads are not permitted during configure. Please pre-download the file \"${CACHE_CANDIDATE}\":\n \n vcpkg_download_distfile(OCV_DOWNLOAD\n URLS \"${tbb_url}\"\n FILENAME \"${tbb_tarball}\"\n SHA512 0\n )") + if(NOT __statvar EQUAL 0) + message(FATAL_ERROR "Failed to download TBB sources (${__statvar}): ${tbb_url}") + endif() +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -275,23 +275,10 @@ if (ANDROID) + endif() + + if(NOT DEFINED OPENCV_DOC_INSTALL_PATH) +- if(ANDROID OR WIN32) +- set(OPENCV_DOC_INSTALL_PATH doc) +- elseif(INSTALL_TO_MANGLED_PATHS) +- set(OPENCV_DOC_INSTALL_PATH share/OpenCV-${OPENCV_VERSION}/doc) +- else() +- set(OPENCV_DOC_INSTALL_PATH share/OpenCV/doc) +- endif() ++ set(OPENCV_DOC_INSTALL_PATH share/opencv/doc) + endif() + +-if(WIN32) +- if(DEFINED OpenCV_RUNTIME AND DEFINED OpenCV_ARCH) +- set(OpenCV_INSTALL_BINARIES_PREFIX "${OpenCV_ARCH}/${OpenCV_RUNTIME}/") +- else() +- message(STATUS "Can't detect runtime and/or arch") +- set(OpenCV_INSTALL_BINARIES_PREFIX "") +- endif() +-elseif(ANDROID) ++if(ANDROID) + set(OpenCV_INSTALL_BINARIES_PREFIX "sdk/native/") + else() + set(OpenCV_INSTALL_BINARIES_PREFIX "") +@@ -322,29 +309,13 @@ if(ANDROID) + set(OPENCV_INCLUDE_INSTALL_PATH sdk/native/jni/include) + set(OPENCV_SAMPLES_SRC_INSTALL_PATH samples/native) + else() +- set(LIBRARY_OUTPUT_PATH "${OpenCV_BINARY_DIR}/lib") +- set(3P_LIBRARY_OUTPUT_PATH "${OpenCV_BINARY_DIR}/3rdparty/lib${LIB_SUFFIX}") +- if(WIN32) +- if(OpenCV_STATIC) +- set(OPENCV_LIB_INSTALL_PATH "${OpenCV_INSTALL_BINARIES_PREFIX}staticlib${LIB_SUFFIX}") +- else() +- set(OPENCV_LIB_INSTALL_PATH "${OpenCV_INSTALL_BINARIES_PREFIX}lib${LIB_SUFFIX}") +- endif() +- set(OPENCV_3P_LIB_INSTALL_PATH "${OpenCV_INSTALL_BINARIES_PREFIX}staticlib${LIB_SUFFIX}") +- set(OPENCV_SAMPLES_SRC_INSTALL_PATH samples/native) +- else() +- set(OPENCV_LIB_INSTALL_PATH lib${LIB_SUFFIX}) +- set(OPENCV_3P_LIB_INSTALL_PATH share/OpenCV/3rdparty/${OPENCV_LIB_INSTALL_PATH}) +- set(OPENCV_SAMPLES_SRC_INSTALL_PATH share/OpenCV/samples) +- endif() +- set(OPENCV_INCLUDE_INSTALL_PATH "include") +- +- math(EXPR SIZEOF_VOID_P_BITS "8 * ${CMAKE_SIZEOF_VOID_P}") +- if(LIB_SUFFIX AND NOT SIZEOF_VOID_P_BITS EQUAL LIB_SUFFIX) +- set(OPENCV_CONFIG_INSTALL_PATH lib${LIB_SUFFIX}/cmake/opencv) +- else() +- set(OPENCV_CONFIG_INSTALL_PATH share/OpenCV) +- endif() ++ set(LIBRARY_OUTPUT_PATH "${OpenCV_BINARY_DIR}/lib") ++ set(3P_LIBRARY_OUTPUT_PATH "${LIBRARY_OUTPUT_PATH}") ++ set(OPENCV_LIB_INSTALL_PATH "${OpenCV_INSTALL_BINARIES_PREFIX}lib") ++ set(OPENCV_3P_LIB_INSTALL_PATH "${OPENCV_LIB_INSTALL_PATH}") ++ set(OPENCV_SAMPLES_SRC_INSTALL_PATH "share/opencv2/samples") ++ set(OPENCV_INCLUDE_INSTALL_PATH "include/opencv2.4") ++ set(OPENCV_CONFIG_INSTALL_PATH "share/opencv2") + endif() + + set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${OPENCV_LIB_INSTALL_PATH}") +@@ -354,15 +325,8 @@ if(INSTALL_TO_MANGLED_PATHS) + set(OPENCV_INCLUDE_INSTALL_PATH ${OPENCV_INCLUDE_INSTALL_PATH}/opencv-${OPENCV_VERSION}) + endif() + +-if(WIN32) +- # Postfix of DLLs: +- set(OPENCV_DLLVERSION "${OPENCV_VERSION_MAJOR}${OPENCV_VERSION_MINOR}${OPENCV_VERSION_PATCH}") ++ set(OPENCV_DLLVERSION 2) + set(OPENCV_DEBUG_POSTFIX d) +-else() +- # Postfix of so's: +- set(OPENCV_DLLVERSION "") +- set(OPENCV_DEBUG_POSTFIX "") +-endif() + + if(DEFINED CMAKE_DEBUG_POSTFIX) + set(OPENCV_DEBUG_POSTFIX "${CMAKE_DEBUG_POSTFIX}") +@@ -397,8 +361,6 @@ if(CMAKE_HOST_WIN32) + endif() + endif() + +-find_host_program(GIT_EXECUTABLE NAMES ${git_names} PATH_SUFFIXES Git/cmd Git/bin DOC "git command line client") +-mark_as_advanced(GIT_EXECUTABLE) + + if(GIT_EXECUTABLE) + execute_process(COMMAND ${GIT_EXECUTABLE} describe --tags --always --dirty --match "2.[0-9].[0-9]*" +@@ -501,7 +463,9 @@ if(BUILD_DOCS) + endif(BUILD_DOCS) + + # --- Python Support --- +-include(cmake/OpenCVDetectPython.cmake) ++if(WITH_PYTHON) ++ include(cmake/OpenCVDetectPython.cmake) ++endif() + + # --- Java Support --- + include(cmake/OpenCVDetectApacheAnt.cmake) +@@ -885,11 +849,7 @@ if(ANDROID) + endif() + + if(DEFINED WITH_FFMPEG OR HAVE_FFMPEG) +- if(WIN32) +- status(" FFMPEG:" WITH_FFMPEG THEN "YES (prebuilt binaries)" ELSE NO) +- else() + status(" FFMPEG:" HAVE_FFMPEG THEN YES ELSE NO) +- endif() + status(" avcodec:" FFMPEG_libavcodec_FOUND THEN "YES (ver ${FFMPEG_libavcodec_VERSION})" ELSE NO) + status(" avformat:" FFMPEG_libavformat_FOUND THEN "YES (ver ${FFMPEG_libavformat_VERSION})" ELSE NO) + status(" avutil:" FFMPEG_libavutil_FOUND THEN "YES (ver ${FFMPEG_libavutil_VERSION})" ELSE NO) +--- a/cmake/OpenCVCompilerOptions.cmake ++++ b/cmake/OpenCVCompilerOptions.cmake +@@ -269,7 +269,6 @@ if(MSVC) + set(OPENCV_EXTRA_FLAGS "${OPENCV_EXTRA_FLAGS} /bigobj") + endif() + if(BUILD_WITH_DEBUG_INFO) +- set(OPENCV_EXTRA_FLAGS_RELEASE "${OPENCV_EXTRA_FLAGS_RELEASE} /Zi") + endif() + + if(ENABLE_SSE4_1 AND CV_ICC AND NOT OPENCV_EXTRA_FLAGS MATCHES "/arch:") +--- a/cmake/OpenCVFindLibsVideo.cmake ++++ b/cmake/OpenCVFindLibsVideo.cmake +@@ -185,12 +185,8 @@ endif(WITH_XIMEA) + # --- FFMPEG --- + ocv_clear_vars(HAVE_FFMPEG) + if(WITH_FFMPEG) +- if(WIN32 AND NOT ARM) +- include("${OpenCV_SOURCE_DIR}/3rdparty/ffmpeg/ffmpeg_version.cmake") ++ find_package(FFMPEG REQUIRED) + set(HAVE_FFMPEG TRUE) +- elseif(PKG_CONFIG_FOUND) +- ocv_check_modules(FFMPEG libavcodec libavformat libavutil libswscale) +- ocv_check_modules(FFMPEG_libavresample libavresample) + if(FFMPEG_libavresample_FOUND) + ocv_append_build_options(FFMPEG FFMPEG_libavresample) + endif() +@@ -211,9 +207,6 @@ if(WITH_FFMPEG) + ocv_append_build_options(HIGHGUI FFMPEG) + endif() + endif() +- else() +- message(STATUS "Can't find ffmpeg - 'pkg-config' utility is missing") +- endif() + endif(WITH_FFMPEG) + + # --- VideoInput/DirectShow --- +--- a/cmake/OpenCVGenConfig.cmake ++++ b/cmake/OpenCVGenConfig.cmake +@@ -101,7 +101,7 @@ endif() + configure_file("${OpenCV_SOURCE_DIR}/cmake/templates/OpenCVConfig.cmake.in" "${CMAKE_BINARY_DIR}/unix-install/OpenCVConfig.cmake" @ONLY) + configure_file("${OpenCV_SOURCE_DIR}/cmake/templates/OpenCVConfig-version.cmake.in" "${CMAKE_BINARY_DIR}/unix-install/OpenCVConfig-version.cmake" @ONLY) + +-if(UNIX) # ANDROID configuration is created here also ++if(1) # ANDROID configuration is created here also + #http://www.vtk.org/Wiki/CMake/Tutorials/Packaging reference + # For a command "find_package( [major[.minor]] [EXACT] [REQUIRED|QUIET])" + # cmake will look in the following dir on unix: +@@ -126,7 +126,7 @@ endif() + # -------------------------------------------------------------------------------------------- + # Part 3/3: ${BIN_DIR}/win-install/OpenCVConfig.cmake -> For use within binary installers/packages + # -------------------------------------------------------------------------------------------- +-if(WIN32) ++if(0) + set(OpenCV_INCLUDE_DIRS_CONFIGCMAKE "\"\${OpenCV_CONFIG_PATH}/include\" \"\${OpenCV_CONFIG_PATH}/include/opencv\"") + set(OpenCV2_INCLUDE_DIRS_CONFIGCMAKE "\"\"") + +--- a/cmake/OpenCVGenPkgconfig.cmake ++++ b/cmake/OpenCVGenPkgconfig.cmake +@@ -95,7 +95,7 @@ set(includedir "\${prefix}/${OPENCV_INCLUDE_INSTALL_PATH}") + 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 opencv2.pc) + endif() + configure_file("${OpenCV_SOURCE_DIR}/cmake/templates/opencv-XXX.pc.in" + "${CMAKE_BINARY_DIR}/unix-install/${OPENCV_PC_FILE_NAME}" +--- a/cmake/OpenCVModule.cmake ++++ b/cmake/OpenCVModule.cmake +@@ -86,10 +86,10 @@ macro(ocv_add_dependencies full_modname) + endforeach() + unset(__depsvar) + +- ocv_list_unique(OPENCV_MODULE_${full_modname}_REQ_DEPS) +- ocv_list_unique(OPENCV_MODULE_${full_modname}_OPT_DEPS) +- ocv_list_unique(OPENCV_MODULE_${full_modname}_PRIVATE_REQ_DEPS) +- ocv_list_unique(OPENCV_MODULE_${full_modname}_PRIVATE_OPT_DEPS) ++ #ocv_list_unique(OPENCV_MODULE_${full_modname}_REQ_DEPS) ++ #ocv_list_unique(OPENCV_MODULE_${full_modname}_OPT_DEPS) ++ #ocv_list_unique(OPENCV_MODULE_${full_modname}_PRIVATE_REQ_DEPS) ++ #ocv_list_unique(OPENCV_MODULE_${full_modname}_PRIVATE_OPT_DEPS) + + set(OPENCV_MODULE_${full_modname}_REQ_DEPS ${OPENCV_MODULE_${full_modname}_REQ_DEPS} + CACHE INTERNAL "Required dependencies of ${full_modname} module") +@@ -277,7 +277,7 @@ endfunction() + + # sort modules by dependencies + function(__ocv_sort_modules_by_deps __lst) +- ocv_list_sort(${__lst}) ++ #ocv_list_sort(${__lst}) + set(${__lst}_ORDERED ${${__lst}} CACHE INTERNAL "") + set(__result "") + foreach (m ${${__lst}}) +@@ -382,7 +382,7 @@ function(__ocv_resolve_dependencies) + endforeach() + endforeach() + +- ocv_list_sort(OPENCV_MODULES_BUILD) ++ #ocv_list_sort(OPENCV_MODULES_BUILD) + + foreach(m ${OPENCV_MODULES_BUILD}) + # message(STATUS "FULL deps of ${m}: ${deps_${m}}") +@@ -397,7 +397,7 @@ function(__ocv_resolve_dependencies) + # reorder dependencies + foreach(m ${OPENCV_MODULES_BUILD}) + __ocv_sort_modules_by_deps(OPENCV_MODULE_${m}_DEPS) +- ocv_list_sort(OPENCV_MODULE_${m}_DEPS_EXT) ++ #ocv_list_sort(OPENCV_MODULE_${m}_DEPS_EXT) + + 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) + install(FILES ${HAAR_CASCADES} DESTINATION sdk/etc/haarcascades COMPONENT libs) + install(FILES ${LBP_CASCADES} DESTINATION sdk/etc/lbpcascades COMPONENT libs) + else() +- install(FILES ${HAAR_CASCADES} DESTINATION share/OpenCV/haarcascades COMPONENT libs) +- install(FILES ${LBP_CASCADES} DESTINATION share/OpenCV/lbpcascades COMPONENT libs) + endif() + + if(INSTALL_TESTS AND OPENCV_TEST_DATA_PATH) +@@ -51,4 +49,4 @@ if(INSTALL_TESTS AND OPENCV_TEST_DATA_PATH) + install(FILES ${DATAFILES_CASCADES} DESTINATION share/OpenCV/testdata/data/haarcascades COMPONENT tests) + endif() + endif() +-endif() +\ No newline at end of file ++endif() +--- a/modules/core/CMakeLists.txt ++++ b/modules/core/CMakeLists.txt +@@ -1,9 +1,9 @@ + set(the_description "The Core Functionality") + + if (NOT HAVE_CUDA OR ENABLE_DYNAMIC_CUDA) +- ocv_add_module(core PRIVATE_REQUIRED ${ZLIB_LIBRARIES}) ++ ocv_add_module(core PRIVATE_REQUIRED ZLIB::ZLIB) + else() +- ocv_add_module(core PRIVATE_REQUIRED ${ZLIB_LIBRARIES} ${CUDA_LIBRARIES} ${CUDA_npp_LIBRARY}) ++ ocv_add_module(core PRIVATE_REQUIRED ZLIB::ZLIB ${CUDA_LIBRARIES} ${CUDA_npp_LIBRARY}) + endif() + + ocv_module_include_directories("${OpenCV_SOURCE_DIR}/modules/dynamicuda/include/" ${ZLIB_INCLUDE_DIR}) +--- a/modules/highgui/CMakeLists.txt ++++ b/modules/highgui/CMakeLists.txt +@@ -15,23 +15,23 @@ endif() + + if(HAVE_PNG OR HAVE_TIFF OR HAVE_OPENEXR) + ocv_include_directories(${ZLIB_INCLUDE_DIR}) +- list(APPEND GRFMT_LIBS ${ZLIB_LIBRARIES}) ++ list(APPEND GRFMT_LIBS ZLIB::ZLIB) + endif() + + if(HAVE_JPEG) + ocv_include_directories(${JPEG_INCLUDE_DIR}) +- list(APPEND GRFMT_LIBS ${JPEG_LIBRARIES}) ++ list(APPEND GRFMT_LIBS JPEG::JPEG) + endif() + + if(HAVE_PNG) + add_definitions(${PNG_DEFINITIONS}) + ocv_include_directories(${PNG_INCLUDE_DIR}) +- list(APPEND GRFMT_LIBS ${PNG_LIBRARIES}) ++ list(APPEND GRFMT_LIBS PNG::PNG) + endif() + + if(HAVE_TIFF) + ocv_include_directories(${TIFF_INCLUDE_DIR}) +- list(APPEND GRFMT_LIBS ${TIFF_LIBRARIES}) ++ list(APPEND GRFMT_LIBS TIFF::TIFF) + endif() + + if(HAVE_JASPER) +@@ -296,38 +296,5 @@ endif() + ocv_add_precompiled_headers(${the_module}) + ocv_warnings_disable(CMAKE_CXX_FLAGS -Wno-deprecated-declarations -Wno-clobbered) + +-if(WIN32 AND WITH_FFMPEG) +- #copy ffmpeg dll to the output folder +- if(MSVC64 OR MINGW64) +- set(FFMPEG_SUFFIX _64) +- endif() +- +- set(ffmpeg_bare_name "opencv_ffmpeg${FFMPEG_SUFFIX}.dll") +- set(ffmpeg_bare_name_ver "opencv_ffmpeg${OPENCV_DLLVERSION}${FFMPEG_SUFFIX}.dll") +- set(ffmpeg_path "${OpenCV_SOURCE_DIR}/3rdparty/ffmpeg/${ffmpeg_bare_name}") +- +- #if(MSVC AND CMAKE_VERSION VERSION_GREATER "2.8.2") +- # add_custom_command(TARGET ${the_module} POST_BUILD +- # COMMAND ${CMAKE_COMMAND} -E copy "${ffmpeg_path}" "${EXECUTABLE_OUTPUT_PATH}/$/${ffmpeg_bare_name_ver}" +- # COMMENT "Copying ${ffmpeg_path} to the output directory") +- #else +- if(MSVC_IDE) +- add_custom_command(TARGET ${the_module} POST_BUILD +- COMMAND ${CMAKE_COMMAND} -E copy "${ffmpeg_path}" "${EXECUTABLE_OUTPUT_PATH}/Release/${ffmpeg_bare_name_ver}" +- COMMAND ${CMAKE_COMMAND} -E copy "${ffmpeg_path}" "${EXECUTABLE_OUTPUT_PATH}/Debug/${ffmpeg_bare_name_ver}" +- COMMENT "Copying ${ffmpeg_path} to the output directory") +- elseif(MSVC AND (CMAKE_GENERATOR MATCHES "Visual")) +- add_custom_command(TARGET ${the_module} POST_BUILD +- COMMAND ${CMAKE_COMMAND} -E copy "${ffmpeg_path}" "${EXECUTABLE_OUTPUT_PATH}/${CMAKE_BUILD_TYPE}/${ffmpeg_bare_name_ver}" +- COMMENT "Copying ${ffmpeg_path} to the output directory") +- else() +- add_custom_command(TARGET ${the_module} POST_BUILD +- COMMAND ${CMAKE_COMMAND} -E copy "${ffmpeg_path}" "${EXECUTABLE_OUTPUT_PATH}/${ffmpeg_bare_name_ver}" +- COMMENT "Copying ${ffmpeg_path} to the output directory") +- endif() +- +- install(FILES "${ffmpeg_path}" DESTINATION ${OPENCV_BIN_INSTALL_PATH} COMPONENT libs RENAME "${ffmpeg_bare_name_ver}") +-endif() +- + ocv_add_accuracy_tests() + ocv_add_perf_tests() diff --git a/ports/opencv2/0002-fix-paths-containing-symbols.patch b/ports/opencv2/0002-fix-paths-containing-symbols.patch new file mode 100644 index 00000000000000..c24b5eba80b576 --- /dev/null +++ b/ports/opencv2/0002-fix-paths-containing-symbols.patch @@ -0,0 +1,47 @@ +--- a/cmake/OpenCVUtils.cmake ++++ b/cmake/OpenCVUtils.cmake +@@ -82,12 +82,42 @@ macro(ocv_check_environment_variables) + endforeach() + endmacro() + ++# check if "sub" (file or dir) is below "dir" ++function(is_subdir res dir sub ) ++ get_filename_component(dir "${dir}" ABSOLUTE) ++ get_filename_component(sub "${sub}" ABSOLUTE) ++ file(TO_CMAKE_PATH "${dir}" dir) ++ file(TO_CMAKE_PATH "${sub}" sub) ++ set(dir "${dir}/") ++ string(LENGTH "${dir}" len) ++ string(LENGTH "${sub}" len_sub) ++ if(NOT len GREATER len_sub) ++ string(SUBSTRING "${sub}" 0 ${len} prefix) ++ endif() ++ if(prefix AND prefix STREQUAL dir) ++ set(${res} TRUE PARENT_SCOPE) ++ else() ++ set(${res} FALSE PARENT_SCOPE) ++ endif() ++endfunction() ++ ++function(ocv_is_opencv_directory result_var dir) ++ set(result FALSE) ++ foreach(parent ${OpenCV_SOURCE_DIR} ${OpenCV_BINARY_DIR} ${OPENCV_EXTRA_MODULES_PATH}) ++ is_subdir(result "${parent}" "${dir}") ++ if(result) ++ break() ++ endif() ++ endforeach() ++ set(${result_var} ${result} PARENT_SCOPE) ++endfunction() ++ + # adds include directories in such a way that directories from the OpenCV source tree go first + function(ocv_include_directories) + set(__add_before "") + foreach(dir ${ARGN}) +- get_filename_component(__abs_dir "${dir}" ABSOLUTE) +- if("${__abs_dir}" MATCHES "^${OpenCV_SOURCE_DIR}" OR "${__abs_dir}" MATCHES "^${OpenCV_BINARY_DIR}") ++ ocv_is_opencv_directory(__is_opencv_dir "${dir}") ++ if(__is_opencv_dir) + list(APPEND __add_before "${dir}") + elseif(CMAKE_COMPILER_IS_GNUCXX AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS "6.0" AND + dir MATCHES "/usr/include$") diff --git a/ports/opencv2/0002-install-options.patch b/ports/opencv2/0002-install-options.patch deleted file mode 100644 index 206fb287554ea4..00000000000000 --- a/ports/opencv2/0002-install-options.patch +++ /dev/null @@ -1,359 +0,0 @@ -diff --git a/3rdparty/libtiff/CMakeLists.txt b/3rdparty/libtiff/CMakeLists.txt -index b0e076f..3f7ade1 100644 ---- a/3rdparty/libtiff/CMakeLists.txt -+++ b/3rdparty/libtiff/CMakeLists.txt -@@ -102,7 +102,7 @@ if(UNIX AND (CMAKE_COMPILER_IS_GNUCXX OR CV_ICC)) - endif() - - add_library(${TIFF_LIBRARY} STATIC ${lib_srcs}) --target_link_libraries(${TIFF_LIBRARY} ${ZLIB_LIBRARIES}) -+target_link_libraries(${TIFF_LIBRARY} ZLIB::ZLIB) - - set_target_properties(${TIFF_LIBRARY} - PROPERTIES -diff --git a/3rdparty/openexr/CMakeLists.txt b/3rdparty/openexr/CMakeLists.txt -index 9387616..54ecc1a 100644 ---- a/3rdparty/openexr/CMakeLists.txt -+++ b/3rdparty/openexr/CMakeLists.txt -@@ -55,7 +55,7 @@ if(MSVC AND CV_ICC) - endif() - - add_library(IlmImf STATIC ${lib_hdrs} ${lib_srcs}) --target_link_libraries(IlmImf ${ZLIB_LIBRARIES}) -+target_link_libraries(IlmImf ZLIB::ZLIB) - - set_target_properties(IlmImf - PROPERTIES -diff --git a/3rdparty/tbb/CMakeLists.txt b/3rdparty/tbb/CMakeLists.txt -index fd8ef32..fe571a2 100644 ---- a/3rdparty/tbb/CMakeLists.txt -+++ b/3rdparty/tbb/CMakeLists.txt -@@ -116,7 +116,7 @@ endif() - - if(NOT EXISTS "${tbb_tarball}") - message(STATUS "Downloading ${tbb_ver}_src.tgz") -- file(DOWNLOAD "${tbb_url}" "${tbb_tarball}" TIMEOUT 600 STATUS __statvar) -+ message(FATAL_ERROR " Downloads are not permitted during configure. Please pre-download the file \"${CACHE_CANDIDATE}\":\n \n vcpkg_download_distfile(OCV_DOWNLOAD\n URLS \"${tbb_url}\"\n FILENAME \"${tbb_tarball}\"\n SHA512 0\n )") - if(NOT __statvar EQUAL 0) - message(FATAL_ERROR "Failed to download TBB sources (${__statvar}): ${tbb_url}") - endif() -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 90e16c2..6601820 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -275,23 +275,10 @@ if (ANDROID) - endif() - - if(NOT DEFINED OPENCV_DOC_INSTALL_PATH) -- if(ANDROID OR WIN32) -- set(OPENCV_DOC_INSTALL_PATH doc) -- elseif(INSTALL_TO_MANGLED_PATHS) -- set(OPENCV_DOC_INSTALL_PATH share/OpenCV-${OPENCV_VERSION}/doc) -- else() -- set(OPENCV_DOC_INSTALL_PATH share/OpenCV/doc) -- endif() -+ set(OPENCV_DOC_INSTALL_PATH share/opencv/doc) - endif() - --if(WIN32) -- if(DEFINED OpenCV_RUNTIME AND DEFINED OpenCV_ARCH) -- set(OpenCV_INSTALL_BINARIES_PREFIX "${OpenCV_ARCH}/${OpenCV_RUNTIME}/") -- else() -- message(STATUS "Can't detect runtime and/or arch") -- set(OpenCV_INSTALL_BINARIES_PREFIX "") -- endif() --elseif(ANDROID) -+if(ANDROID) - set(OpenCV_INSTALL_BINARIES_PREFIX "sdk/native/") - else() - set(OpenCV_INSTALL_BINARIES_PREFIX "") -@@ -322,29 +309,13 @@ if(ANDROID) - set(OPENCV_INCLUDE_INSTALL_PATH sdk/native/jni/include) - set(OPENCV_SAMPLES_SRC_INSTALL_PATH samples/native) - else() -- set(LIBRARY_OUTPUT_PATH "${OpenCV_BINARY_DIR}/lib") -- set(3P_LIBRARY_OUTPUT_PATH "${OpenCV_BINARY_DIR}/3rdparty/lib${LIB_SUFFIX}") -- if(WIN32) -- if(OpenCV_STATIC) -- set(OPENCV_LIB_INSTALL_PATH "${OpenCV_INSTALL_BINARIES_PREFIX}staticlib${LIB_SUFFIX}") -- else() -- set(OPENCV_LIB_INSTALL_PATH "${OpenCV_INSTALL_BINARIES_PREFIX}lib${LIB_SUFFIX}") -- endif() -- set(OPENCV_3P_LIB_INSTALL_PATH "${OpenCV_INSTALL_BINARIES_PREFIX}staticlib${LIB_SUFFIX}") -- set(OPENCV_SAMPLES_SRC_INSTALL_PATH samples/native) -- else() -- set(OPENCV_LIB_INSTALL_PATH lib${LIB_SUFFIX}) -- set(OPENCV_3P_LIB_INSTALL_PATH share/OpenCV/3rdparty/${OPENCV_LIB_INSTALL_PATH}) -- set(OPENCV_SAMPLES_SRC_INSTALL_PATH share/OpenCV/samples) -- endif() -- set(OPENCV_INCLUDE_INSTALL_PATH "include") -- -- math(EXPR SIZEOF_VOID_P_BITS "8 * ${CMAKE_SIZEOF_VOID_P}") -- if(LIB_SUFFIX AND NOT SIZEOF_VOID_P_BITS EQUAL LIB_SUFFIX) -- set(OPENCV_CONFIG_INSTALL_PATH lib${LIB_SUFFIX}/cmake/opencv) -- else() -- set(OPENCV_CONFIG_INSTALL_PATH share/OpenCV) -- endif() -+ set(LIBRARY_OUTPUT_PATH "${OpenCV_BINARY_DIR}/lib") -+ set(3P_LIBRARY_OUTPUT_PATH "${LIBRARY_OUTPUT_PATH}") -+ set(OPENCV_LIB_INSTALL_PATH "${OpenCV_INSTALL_BINARIES_PREFIX}lib") -+ set(OPENCV_3P_LIB_INSTALL_PATH "${OPENCV_LIB_INSTALL_PATH}") -+ set(OPENCV_SAMPLES_SRC_INSTALL_PATH "share/opencv/samples") -+ set(OPENCV_INCLUDE_INSTALL_PATH "include") -+ set(OPENCV_CONFIG_INSTALL_PATH "share/opencv") - endif() - - set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${OPENCV_LIB_INSTALL_PATH}") -@@ -356,7 +327,7 @@ endif() - - if(WIN32) - # Postfix of DLLs: -- set(OPENCV_DLLVERSION "${OPENCV_VERSION_MAJOR}${OPENCV_VERSION_MINOR}${OPENCV_VERSION_PATCH}") -+ set(OPENCV_DLLVERSION "") - set(OPENCV_DEBUG_POSTFIX d) - else() - # Postfix of so's: -@@ -397,8 +368,6 @@ if(CMAKE_HOST_WIN32) - endif() - endif() - --find_host_program(GIT_EXECUTABLE NAMES ${git_names} PATH_SUFFIXES Git/cmd Git/bin DOC "git command line client") --mark_as_advanced(GIT_EXECUTABLE) - - if(GIT_EXECUTABLE) - execute_process(COMMAND ${GIT_EXECUTABLE} describe --tags --always --dirty --match "2.[0-9].[0-9]*" -@@ -501,7 +470,6 @@ if(BUILD_DOCS) - endif(BUILD_DOCS) - - # --- Python Support --- --include(cmake/OpenCVDetectPython.cmake) - - # --- Java Support --- - include(cmake/OpenCVDetectApacheAnt.cmake) -@@ -885,11 +853,7 @@ if(ANDROID) - endif() - - if(DEFINED WITH_FFMPEG OR HAVE_FFMPEG) -- if(WIN32) -- status(" FFMPEG:" WITH_FFMPEG THEN "YES (prebuilt binaries)" ELSE NO) -- else() - status(" FFMPEG:" HAVE_FFMPEG THEN YES ELSE NO) -- endif() - status(" avcodec:" FFMPEG_libavcodec_FOUND THEN "YES (ver ${FFMPEG_libavcodec_VERSION})" ELSE NO) - status(" avformat:" FFMPEG_libavformat_FOUND THEN "YES (ver ${FFMPEG_libavformat_VERSION})" ELSE NO) - status(" avutil:" FFMPEG_libavutil_FOUND THEN "YES (ver ${FFMPEG_libavutil_VERSION})" ELSE NO) -diff --git a/cmake/OpenCVCompilerOptions.cmake b/cmake/OpenCVCompilerOptions.cmake -index e61059a..ec6f34f 100644 ---- a/cmake/OpenCVCompilerOptions.cmake -+++ b/cmake/OpenCVCompilerOptions.cmake -@@ -269,7 +269,6 @@ if(MSVC) - set(OPENCV_EXTRA_FLAGS "${OPENCV_EXTRA_FLAGS} /bigobj") - endif() - if(BUILD_WITH_DEBUG_INFO) -- set(OPENCV_EXTRA_FLAGS_RELEASE "${OPENCV_EXTRA_FLAGS_RELEASE} /Zi") - endif() - - if(ENABLE_SSE4_1 AND CV_ICC AND NOT OPENCV_EXTRA_FLAGS MATCHES "/arch:") -diff --git a/cmake/OpenCVFindLibsVideo.cmake b/cmake/OpenCVFindLibsVideo.cmake -index 146043f..1202225 100644 ---- a/cmake/OpenCVFindLibsVideo.cmake -+++ b/cmake/OpenCVFindLibsVideo.cmake -@@ -185,12 +185,8 @@ endif(WITH_XIMEA) - # --- FFMPEG --- - ocv_clear_vars(HAVE_FFMPEG) - if(WITH_FFMPEG) -- if(WIN32 AND NOT ARM) -- include("${OpenCV_SOURCE_DIR}/3rdparty/ffmpeg/ffmpeg_version.cmake") -+ find_package(FFMPEG REQUIRED) - set(HAVE_FFMPEG TRUE) -- elseif(PKG_CONFIG_FOUND) -- ocv_check_modules(FFMPEG libavcodec libavformat libavutil libswscale) -- ocv_check_modules(FFMPEG_libavresample libavresample) - if(FFMPEG_libavresample_FOUND) - ocv_append_build_options(FFMPEG FFMPEG_libavresample) - endif() -@@ -211,9 +207,6 @@ if(WITH_FFMPEG) - ocv_append_build_options(HIGHGUI FFMPEG) - endif() - endif() -- else() -- message(STATUS "Can't find ffmpeg - 'pkg-config' utility is missing") -- endif() - endif(WITH_FFMPEG) - - # --- VideoInput/DirectShow --- -diff --git a/cmake/OpenCVGenConfig.cmake b/cmake/OpenCVGenConfig.cmake -index dacfbb1..3760866 100644 ---- a/cmake/OpenCVGenConfig.cmake -+++ b/cmake/OpenCVGenConfig.cmake -@@ -101,7 +101,7 @@ endif() - configure_file("${OpenCV_SOURCE_DIR}/cmake/templates/OpenCVConfig.cmake.in" "${CMAKE_BINARY_DIR}/unix-install/OpenCVConfig.cmake" @ONLY) - configure_file("${OpenCV_SOURCE_DIR}/cmake/templates/OpenCVConfig-version.cmake.in" "${CMAKE_BINARY_DIR}/unix-install/OpenCVConfig-version.cmake" @ONLY) - --if(UNIX) # ANDROID configuration is created here also -+if(1) # ANDROID configuration is created here also - #http://www.vtk.org/Wiki/CMake/Tutorials/Packaging reference - # For a command "find_package( [major[.minor]] [EXACT] [REQUIRED|QUIET])" - # cmake will look in the following dir on unix: -@@ -126,7 +126,7 @@ endif() - # -------------------------------------------------------------------------------------------- - # Part 3/3: ${BIN_DIR}/win-install/OpenCVConfig.cmake -> For use within binary installers/packages - # -------------------------------------------------------------------------------------------- --if(WIN32) -+if(0) - set(OpenCV_INCLUDE_DIRS_CONFIGCMAKE "\"\${OpenCV_CONFIG_PATH}/include\" \"\${OpenCV_CONFIG_PATH}/include/opencv\"") - set(OpenCV2_INCLUDE_DIRS_CONFIGCMAKE "\"\"") - -diff --git a/cmake/OpenCVModule.cmake b/cmake/OpenCVModule.cmake -index 6f9fb0b..56f8879 100644 ---- a/cmake/OpenCVModule.cmake -+++ b/cmake/OpenCVModule.cmake -@@ -86,10 +86,10 @@ macro(ocv_add_dependencies full_modname) - endforeach() - unset(__depsvar) - -- ocv_list_unique(OPENCV_MODULE_${full_modname}_REQ_DEPS) -- ocv_list_unique(OPENCV_MODULE_${full_modname}_OPT_DEPS) -- ocv_list_unique(OPENCV_MODULE_${full_modname}_PRIVATE_REQ_DEPS) -- ocv_list_unique(OPENCV_MODULE_${full_modname}_PRIVATE_OPT_DEPS) -+ #ocv_list_unique(OPENCV_MODULE_${full_modname}_REQ_DEPS) -+ #ocv_list_unique(OPENCV_MODULE_${full_modname}_OPT_DEPS) -+ #ocv_list_unique(OPENCV_MODULE_${full_modname}_PRIVATE_REQ_DEPS) -+ #ocv_list_unique(OPENCV_MODULE_${full_modname}_PRIVATE_OPT_DEPS) - - set(OPENCV_MODULE_${full_modname}_REQ_DEPS ${OPENCV_MODULE_${full_modname}_REQ_DEPS} - CACHE INTERNAL "Required dependencies of ${full_modname} module") -@@ -277,7 +277,7 @@ endfunction() - - # sort modules by dependencies - function(__ocv_sort_modules_by_deps __lst) -- ocv_list_sort(${__lst}) -+ #ocv_list_sort(${__lst}) - set(${__lst}_ORDERED ${${__lst}} CACHE INTERNAL "") - set(__result "") - foreach (m ${${__lst}}) -@@ -382,7 +382,7 @@ function(__ocv_resolve_dependencies) - endforeach() - endforeach() - -- ocv_list_sort(OPENCV_MODULES_BUILD) -+ #ocv_list_sort(OPENCV_MODULES_BUILD) - - foreach(m ${OPENCV_MODULES_BUILD}) - # message(STATUS "FULL deps of ${m}: ${deps_${m}}") -@@ -397,7 +397,7 @@ function(__ocv_resolve_dependencies) - # reorder dependencies - foreach(m ${OPENCV_MODULES_BUILD}) - __ocv_sort_modules_by_deps(OPENCV_MODULE_${m}_DEPS) -- ocv_list_sort(OPENCV_MODULE_${m}_DEPS_EXT) -+ #ocv_list_sort(OPENCV_MODULE_${m}_DEPS_EXT) - - 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") -diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt -index e3177bd..f902b2b 100644 ---- a/data/CMakeLists.txt -+++ b/data/CMakeLists.txt -@@ -5,8 +5,6 @@ if(ANDROID) - install(FILES ${HAAR_CASCADES} DESTINATION sdk/etc/haarcascades COMPONENT libs) - install(FILES ${LBP_CASCADES} DESTINATION sdk/etc/lbpcascades COMPONENT libs) - else() -- install(FILES ${HAAR_CASCADES} DESTINATION share/OpenCV/haarcascades COMPONENT libs) -- install(FILES ${LBP_CASCADES} DESTINATION share/OpenCV/lbpcascades COMPONENT libs) - endif() - - if(INSTALL_TESTS AND OPENCV_TEST_DATA_PATH) -@@ -51,4 +49,4 @@ if(INSTALL_TESTS AND OPENCV_TEST_DATA_PATH) - install(FILES ${DATAFILES_CASCADES} DESTINATION share/OpenCV/testdata/data/haarcascades COMPONENT tests) - endif() - endif() --endif() -\ No newline at end of file -+endif() -diff --git a/modules/core/CMakeLists.txt b/modules/core/CMakeLists.txt -index d9de52d..be604dc 100644 ---- a/modules/core/CMakeLists.txt -+++ b/modules/core/CMakeLists.txt -@@ -1,9 +1,9 @@ - set(the_description "The Core Functionality") - - if (NOT HAVE_CUDA OR ENABLE_DYNAMIC_CUDA) -- ocv_add_module(core PRIVATE_REQUIRED ${ZLIB_LIBRARIES}) -+ ocv_add_module(core PRIVATE_REQUIRED ZLIB::ZLIB) - else() -- ocv_add_module(core PRIVATE_REQUIRED ${ZLIB_LIBRARIES} ${CUDA_LIBRARIES} ${CUDA_npp_LIBRARY}) -+ ocv_add_module(core PRIVATE_REQUIRED ZLIB::ZLIB ${CUDA_LIBRARIES} ${CUDA_npp_LIBRARY}) - endif() - - ocv_module_include_directories("${OpenCV_SOURCE_DIR}/modules/dynamicuda/include/" ${ZLIB_INCLUDE_DIR}) -diff --git a/modules/highgui/CMakeLists.txt b/modules/highgui/CMakeLists.txt -index d59e95a..ce7f87b 100644 ---- a/modules/highgui/CMakeLists.txt -+++ b/modules/highgui/CMakeLists.txt -@@ -15,23 +15,23 @@ endif() - - if(HAVE_PNG OR HAVE_TIFF OR HAVE_OPENEXR) - ocv_include_directories(${ZLIB_INCLUDE_DIR}) -- list(APPEND GRFMT_LIBS ${ZLIB_LIBRARIES}) -+ list(APPEND GRFMT_LIBS ZLIB::ZLIB) - endif() - - if(HAVE_JPEG) - ocv_include_directories(${JPEG_INCLUDE_DIR}) -- list(APPEND GRFMT_LIBS ${JPEG_LIBRARIES}) -+ list(APPEND GRFMT_LIBS JPEG::JPEG) - endif() - - if(HAVE_PNG) - add_definitions(${PNG_DEFINITIONS}) - ocv_include_directories(${PNG_INCLUDE_DIR}) -- list(APPEND GRFMT_LIBS ${PNG_LIBRARIES}) -+ list(APPEND GRFMT_LIBS PNG::PNG) - endif() - - if(HAVE_TIFF) - ocv_include_directories(${TIFF_INCLUDE_DIR}) -- list(APPEND GRFMT_LIBS ${TIFF_LIBRARIES}) -+ list(APPEND GRFMT_LIBS TIFF::TIFF) - endif() - - if(HAVE_JASPER) -@@ -296,38 +296,5 @@ endif() - ocv_add_precompiled_headers(${the_module}) - ocv_warnings_disable(CMAKE_CXX_FLAGS -Wno-deprecated-declarations -Wno-clobbered) - --if(WIN32 AND WITH_FFMPEG) -- #copy ffmpeg dll to the output folder -- if(MSVC64 OR MINGW64) -- set(FFMPEG_SUFFIX _64) -- endif() -- -- set(ffmpeg_bare_name "opencv_ffmpeg${FFMPEG_SUFFIX}.dll") -- set(ffmpeg_bare_name_ver "opencv_ffmpeg${OPENCV_DLLVERSION}${FFMPEG_SUFFIX}.dll") -- set(ffmpeg_path "${OpenCV_SOURCE_DIR}/3rdparty/ffmpeg/${ffmpeg_bare_name}") -- -- #if(MSVC AND CMAKE_VERSION VERSION_GREATER "2.8.2") -- # add_custom_command(TARGET ${the_module} POST_BUILD -- # COMMAND ${CMAKE_COMMAND} -E copy "${ffmpeg_path}" "${EXECUTABLE_OUTPUT_PATH}/$/${ffmpeg_bare_name_ver}" -- # COMMENT "Copying ${ffmpeg_path} to the output directory") -- #else -- if(MSVC_IDE) -- add_custom_command(TARGET ${the_module} POST_BUILD -- COMMAND ${CMAKE_COMMAND} -E copy "${ffmpeg_path}" "${EXECUTABLE_OUTPUT_PATH}/Release/${ffmpeg_bare_name_ver}" -- COMMAND ${CMAKE_COMMAND} -E copy "${ffmpeg_path}" "${EXECUTABLE_OUTPUT_PATH}/Debug/${ffmpeg_bare_name_ver}" -- COMMENT "Copying ${ffmpeg_path} to the output directory") -- elseif(MSVC AND (CMAKE_GENERATOR MATCHES "Visual")) -- add_custom_command(TARGET ${the_module} POST_BUILD -- COMMAND ${CMAKE_COMMAND} -E copy "${ffmpeg_path}" "${EXECUTABLE_OUTPUT_PATH}/${CMAKE_BUILD_TYPE}/${ffmpeg_bare_name_ver}" -- COMMENT "Copying ${ffmpeg_path} to the output directory") -- else() -- add_custom_command(TARGET ${the_module} POST_BUILD -- COMMAND ${CMAKE_COMMAND} -E copy "${ffmpeg_path}" "${EXECUTABLE_OUTPUT_PATH}/${ffmpeg_bare_name_ver}" -- COMMENT "Copying ${ffmpeg_path} to the output directory") -- endif() -- -- install(FILES "${ffmpeg_path}" DESTINATION ${OPENCV_BIN_INSTALL_PATH} COMPONENT libs RENAME "${ffmpeg_bare_name_ver}") --endif() -- - ocv_add_accuracy_tests() - ocv_add_perf_tests() diff --git a/ports/opencv2/0003-force-package-requirements.patch b/ports/opencv2/0003-force-package-requirements.patch index aea8936516aed2..335aed4a181c59 100644 --- a/ports/opencv2/0003-force-package-requirements.patch +++ b/ports/opencv2/0003-force-package-requirements.patch @@ -1,5 +1,3 @@ -diff --git a/cmake/OpenCVFindLibsGrfmt.cmake b/cmake/OpenCVFindLibsGrfmt.cmake -index 43c3b16..9b43066 100644 --- a/cmake/OpenCVFindLibsGrfmt.cmake +++ b/cmake/OpenCVFindLibsGrfmt.cmake @@ -6,7 +6,7 @@ @@ -47,12 +45,3 @@ index 43c3b16..9b43066 100644 if(PNG_FOUND) include(CheckIncludeFile) check_include_file("${PNG_PNG_INCLUDE_DIR}/libpng/png.h" HAVE_LIBPNG_PNG_H) -@@ -151,7 +151,7 @@ if(WITH_OPENEXR) - if(BUILD_OPENEXR) - ocv_clear_vars(OPENEXR_FOUND) - else() -- include("${OpenCV_SOURCE_DIR}/cmake/OpenCVFindOpenEXR.cmake") -+ find_package(OpenEXR REQUIRED) - endif() - - if(NOT OPENEXR_FOUND) 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 c5e21401a96c8e..00000000000000 --- a/ports/opencv2/0005-fix-cuda.patch +++ /dev/null @@ -1,138 +0,0 @@ ---- a/cmake/OpenCVDetectCUDA.cmake -+++ b/cmake/OpenCVDetectCUDA.cmake -@@ -51,7 +51,7 @@ if(CUDA_FOUND) - - message(STATUS "CUDA detected: " ${CUDA_VERSION}) - -- set(_generations "Fermi" "Kepler") -+ set(_generations "Kepler" "Maxwell") - if(NOT CMAKE_CROSSCOMPILING) - list(APPEND _generations "Auto") - endif() -@@ -70,14 +70,10 @@ if(CUDA_FOUND) - 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() -+ if(CUDA_GENERATION STREQUAL "Kepler") -+ set(__cuda_arch_bin "3.0 3.5 3.7") -+ elseif(CUDA_GENERATION STREQUAL "Maxwell") -+ set(__cuda_arch_bin "5.0 5.2") - 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/" -@@ -87,7 +83,6 @@ if(CUDA_FOUND) - 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() - -@@ -102,11 +97,11 @@ if(CUDA_FOUND) - 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") -+ set(__cuda_arch_bin "3.0") - elseif(${CUDA_VERSION} VERSION_GREATER "6.5") -- set(__cuda_arch_bin "2.0 2.1(2.0) 3.0 3.5") -+ set(__cuda_arch_bin "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") -+ set(__cuda_arch_bin "3.0 3.5") - endif() - set(__cuda_arch_ptx "3.0") - endif() -diff --git a/cmake/templates/OpenCVConfig.cmake.in b/cmake/templates/OpenCVConfig.cmake.in -index fe85571..0f9d2f5 100644 ---- 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/cmake/OpenCVDetectCUDA.cmake b/cmake/OpenCVDetectCUDA.cmake -index 30b5093..50dcdc9 100644 ---- a/cmake/OpenCVDetectCUDA.cmake -+++ b/cmake/OpenCVDetectCUDA.cmake -@@ -229,18 +229,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() diff --git a/ports/opencv2/0006-fix-jasper.patch b/ports/opencv2/0006-fix-jasper.patch new file mode 100644 index 00000000000000..403305fce46377 --- /dev/null +++ b/ports/opencv2/0006-fix-jasper.patch @@ -0,0 +1,20 @@ +--- a/modules/highgui/src/grfmt_jpeg2000.cpp ++++ b/modules/highgui/src/grfmt_jpeg2000.cpp +@@ -377,7 +377,7 @@ bool Jpeg2KDecoder::readComponent8u( uchar *data, void *_buffer, + + for( y = 0; y < yend - ystart; ) + { +- jas_seqent_t* pix_row = &jas_matrix_get( buffer, y / ystep, 0 ); ++ jas_seqent_t* pix_row = jas_matrix_getref( buffer, y / ystep, 0 ); + uchar* dst = data + (y - yoffset) * step - xoffset; + + if( xstep == 1 ) +@@ -443,7 +443,7 @@ bool Jpeg2KDecoder::readComponent16u( unsigned short *data, void *_buffer, + + for( y = 0; y < yend - ystart; ) + { +- jas_seqent_t* pix_row = &jas_matrix_get( buffer, y / ystep, 0 ); ++ jas_seqent_t* pix_row = jas_matrix_getref( buffer, y / ystep, 0 ); + ushort* dst = data + (y - yoffset) * step - xoffset; + + if( xstep == 1 ) diff --git a/ports/opencv2/0007-fix-config.patch b/ports/opencv2/0007-fix-config.patch new file mode 100644 index 00000000000000..e9449e56ad6871 --- /dev/null +++ b/ports/opencv2/0007-fix-config.patch @@ -0,0 +1,18 @@ +--- a/cmake/templates/OpenCVConfig.cmake.in ++++ b/cmake/templates/OpenCVConfig.cmake.in +@@ -97,7 +97,6 @@ set(OpenCV_USE_MANGLED_PATHS @OpenCV_USE_MANGLED_PATHS_CONFIGCMAKE@) + # Extract the directory where *this* file has been installed (determined at cmake run-time) + get_filename_component(OpenCV_CONFIG_PATH "${CMAKE_CURRENT_LIST_FILE}" PATH CACHE) + +-if(NOT WIN32 OR ANDROID) + if(ANDROID) + set(OpenCV_INSTALL_PATH "${OpenCV_CONFIG_PATH}/../../..") + else() +@@ -109,7 +108,6 @@ if(NOT WIN32 OR ANDROID) + else() + get_filename_component(OpenCV_INSTALL_PATH "${OpenCV_INSTALL_PATH}" REALPATH) + endif() +-endif() + + # Presence of Android native camera wrappers + set(OpenCV_HAVE_ANDROID_CAMERA @HAVE_opencv_androidcamera@) diff --git a/ports/opencv2/0019-fix-openexr.patch b/ports/opencv2/0019-fix-openexr.patch new file mode 100644 index 00000000000000..533ce2d849f4c2 --- /dev/null +++ b/ports/opencv2/0019-fix-openexr.patch @@ -0,0 +1,26 @@ +--- a/cmake/OpenCVFindLibsGrfmt.cmake ++++ b/cmake/OpenCVFindLibsGrfmt.cmake +@@ -151,7 +151,12 @@ if(WITH_OPENEXR) + if(BUILD_OPENEXR) + ocv_clear_vars(OPENEXR_FOUND) + else() +- include("${OpenCV_SOURCE_DIR}/cmake/OpenCVFindOpenEXR.cmake") ++ find_package(Imath CONFIG REQUIRED) ++ find_package(OpenEXR CONFIG REQUIRED) ++ set(OPENEXR_LIBRARIES Imath::Imath OpenEXR::OpenEXR) ++ set(OPENEXR_INCLUDE_PATHS "") ++ set(OPENEXR_VERSION "${OpenEXR_VERSION}") ++ set(OPENEXR_FOUND 1) + endif() + + if(NOT OPENEXR_FOUND) +--- a/modules/highgui/src/grfmt_exr.cpp ++++ b/modules/highgui/src/grfmt_exr.cpp +@@ -57,6 +57,7 @@ + #include + #include + #include ++#include + #include + #include "grfmt_exr.hpp" + diff --git a/ports/opencv2/0020-missing-include.patch b/ports/opencv2/0020-missing-include.patch new file mode 100644 index 00000000000000..d5390a1340e9e1 --- /dev/null +++ b/ports/opencv2/0020-missing-include.patch @@ -0,0 +1,10 @@ +--- a/modules/ts/src/gpu_test.cpp ++++ b/modules/ts/src/gpu_test.cpp +@@ -42,6 +42,7 @@ + + #include "opencv2/ts/gpu_test.hpp" + #include ++#include + + using namespace cv; + using namespace cv::gpu; 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/fix-path-contains-++-error.patch b/ports/opencv2/fix-path-contains-++-error.patch deleted file mode 100644 index bb2a2a7fe665de..00000000000000 --- a/ports/opencv2/fix-path-contains-++-error.patch +++ /dev/null @@ -1,49 +0,0 @@ -diff --git a/cmake/OpenCVUtils.cmake b/cmake/OpenCVUtils.cmake -index 72df4d4..7d45974 100644 ---- a/cmake/OpenCVUtils.cmake -+++ b/cmake/OpenCVUtils.cmake -@@ -82,12 +82,42 @@ macro(ocv_check_environment_variables) - endforeach() - endmacro() - -+# check if "sub" (file or dir) is below "dir" -+function(is_subdir res dir sub ) -+ get_filename_component(dir "${dir}" ABSOLUTE) -+ get_filename_component(sub "${sub}" ABSOLUTE) -+ file(TO_CMAKE_PATH "${dir}" dir) -+ file(TO_CMAKE_PATH "${sub}" sub) -+ set(dir "${dir}/") -+ string(LENGTH "${dir}" len) -+ string(LENGTH "${sub}" len_sub) -+ if(NOT len GREATER len_sub) -+ string(SUBSTRING "${sub}" 0 ${len} prefix) -+ endif() -+ if(prefix AND prefix STREQUAL dir) -+ set(${res} TRUE PARENT_SCOPE) -+ else() -+ set(${res} FALSE PARENT_SCOPE) -+ endif() -+endfunction() -+ -+function(ocv_is_opencv_directory result_var dir) -+ set(result FALSE) -+ foreach(parent ${OpenCV_SOURCE_DIR} ${OpenCV_BINARY_DIR} ${OPENCV_EXTRA_MODULES_PATH}) -+ is_subdir(result "${parent}" "${dir}") -+ if(result) -+ break() -+ endif() -+ endforeach() -+ set(${result_var} ${result} PARENT_SCOPE) -+endfunction() -+ - # adds include directories in such a way that directories from the OpenCV source tree go first - function(ocv_include_directories) - set(__add_before "") - foreach(dir ${ARGN}) -- get_filename_component(__abs_dir "${dir}" ABSOLUTE) -- if("${__abs_dir}" MATCHES "^${OpenCV_SOURCE_DIR}" OR "${__abs_dir}" MATCHES "^${OpenCV_BINARY_DIR}") -+ ocv_is_opencv_directory(__is_opencv_dir "${dir}") -+ if(__is_opencv_dir) - list(APPEND __add_before "${dir}") - elseif(CMAKE_COMPILER_IS_GNUCXX AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS "6.0" AND - dir MATCHES "/usr/include$") diff --git a/ports/opencv2/portfile.cmake b/ports/opencv2/portfile.cmake index cbd4c319fb0f83..39335520c52a6b 100644 --- a/ports/opencv2/portfile.cmake +++ b/ports/opencv2/portfile.cmake @@ -1,69 +1,49 @@ -if (EXISTS "${CURRENT_INSTALLED_DIR}/share/opencv3") - message(FATAL_ERROR "OpenCV 3 is installed, please uninstall and try again:\n vcpkg remove opencv3") -endif() - -if (EXISTS "${CURRENT_INSTALLED_DIR}/share/opencv4") - message(FATAL_ERROR "OpenCV 4 is installed, please uninstall and try again:\n vcpkg remove opencv4") -endif() - -if (VCPKG_TARGET_IS_UWP) - # - opengl feature is broken on UWP - # - jasper and openexr are not available on UWP due to missing dependencies - # - opencv2 code itself fails even if previous conditions are avoided - message(FATAL_ERROR "${PORT} doesn't support UWP") -endif() - -set(OPENCV_VERSION "2.4.13.7") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO opencv/opencv - REF ${OPENCV_VERSION} + REF "${VERSION}" SHA512 de7d24ac7ed78ac14673011cbecc477cae688b74222a972e553c95a557b5cb8e5913f97db525421d6a72af30998ca300112fa0b285daed65f65832eb2cf7241a HEAD_REF master PATCHES - 0002-install-options.patch + 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 - fix-path-contains-++-error.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 "qt" WITH_QT "tiff" WITH_TIFF "world" BUILD_opencv_world + "dc1394" WITH_1394 ) -set(WITH_MSMF ON) -if(NOT VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_UWP) - set(WITH_MSMF OFF) -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() +string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" STATIC_CRT_LNK) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS ###### ocv_options -DCMAKE_DEBUG_POSTFIX=d + -DBUILD_WITH_STATIC_CRT=${STATIC_CRT_LNK} + -DINSTALL_TO_MANGLED_PATHS=OFF # Do not build docs/examples -DBUILD_DOCS=OFF -DBUILD_EXAMPLES=OFF @@ -89,32 +69,50 @@ vcpkg_cmake_configure( -DWITH_1394=OFF -DWITH_IPP=OFF -DWITH_LAPACK=OFF - -DWITH_MSMF=${WITH_MSMF} -DWITH_OPENCLAMDBLAS=OFF -DWITH_OPENMP=OFF + -DWITH_PYTHON=OFF + -DWITH_FFMPEG=OFF -DWITH_ZLIB=ON - -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 ) vcpkg_cmake_install() -vcpkg_cmake_config_fixup(PACKAGE_NAME opencv CONFIG_PATH "share/opencv") +vcpkg_cmake_config_fixup() vcpkg_copy_pdbs() if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(READ "${CURRENT_PACKAGES_DIR}/share/opencv/OpenCVModules.cmake" OPENCV_MODULES) - string(REPLACE "set(CMAKE_IMPORT_FILE_VERSION 1)" - "set(CMAKE_IMPORT_FILE_VERSION 1) -find_package(CUDA QUIET) -find_package(Threads QUIET) -find_package(PNG QUIET) -find_package(OpenEXR QUIET) + file(READ "${CURRENT_PACKAGES_DIR}/share/opencv2/OpenCVModules.cmake" OPENCV_MODULES) + + set(DEPS_STRING "include(CMakeFindDependencyMacro) +find_dependency(Threads)") + if("tiff" IN_LIST FEATURES) + string(APPEND DEPS_STRING "\nfind_dependency(TIFF)") + endif() + if("openexr" IN_LIST FEATURES) + string(APPEND DEPS_STRING "\nfind_dependency(Imath CONFIG)\nfind_dependency(OpenEXR CONFIG)") + endif() + if("png" IN_LIST FEATURES) + string(APPEND DEPS_STRING "\nfind_dependency(PNG)") + endif() + if("qt" IN_LIST FEATURES) + string(APPEND DEPS_STRING " set(CMAKE_AUTOMOC ON) set(CMAKE_AUTORCC ON) set(CMAKE_AUTOUIC ON) -find_package(Qt5 COMPONENTS OpenGL Concurrent Test QUIET) -find_package(TIFF QUIET)" OPENCV_MODULES "${OPENCV_MODULES}") +find_dependency(Qt5 COMPONENTS Core Gui Widgets Test Concurrent)") + if("opengl" IN_LIST FEATURES) + string(APPEND DEPS_STRING " +find_dependency(Qt5 COMPONENTS OpenGL)") + endif() + endif() + + string(REPLACE "set(CMAKE_IMPORT_FILE_VERSION 1)" + "set(CMAKE_IMPORT_FILE_VERSION 1)\n${DEPS_STRING}" OPENCV_MODULES "${OPENCV_MODULES}") - file(WRITE "${CURRENT_PACKAGES_DIR}/share/opencv/OpenCVModules.cmake" "${OPENCV_MODULES}") + file(WRITE "${CURRENT_PACKAGES_DIR}/share/opencv2/OpenCVModules.cmake" "${OPENCV_MODULES}") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") endif() @@ -124,4 +122,10 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE "${CURRENT_PACKAGES_DIR}/LICENSE") file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/LICENSE") -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +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/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 new file mode 100644 index 00000000000000..217ce72976182f --- /dev/null +++ b/ports/opencv2/usage.in @@ -0,0 +1,4 @@ +@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_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 f12dc20029c1c0..10faa91e5eb329 100644 --- a/ports/opencv2/vcpkg.json +++ b/ports/opencv2/vcpkg.json @@ -1,9 +1,11 @@ { "name": "opencv2", "version": "2.4.13.7", - "port-version": 7, - "description": "computer vision library", + "port-version": 22, + "description": "Open Source Computer Vision Library", "homepage": "https://github.com/opencv/opencv", + "license": "BSD-3-Clause", + "supports": "!uwp & !(arm & windows) & !android", "dependencies": [ { "name": "vcpkg-cmake", @@ -16,16 +18,36 @@ "zlib" ], "default-features": [ - "eigen", - "jpeg", - "png", - "tiff" + "default-features" ], "features": { - "cuda": { - "description": "CUDA support for opencv", + "dc1394": { + "description": "Dc1394 support for opencv", "dependencies": [ - "cuda" + "libdc1394" + ] + }, + "default-features": { + "description": "Platform-dependent default features", + "dependencies": [ + { + "name": "opencv2", + "default-features": false, + "features": [ + "eigen", + "jpeg", + "png", + "tiff" + ] + }, + { + "name": "opencv2", + "default-features": false, + "features": [ + "msmf" + ], + "platform": "windows & !mingw" + } ] }, "eigen": { @@ -34,19 +56,11 @@ "eigen3" ] }, - "ffmpeg": { - "description": "ffmpeg support for opencv", + "gtk": { + "description": "GTK support for opencv", + "supports": "linux", "dependencies": [ - { - "name": "ffmpeg", - "default-features": false, - "features": [ - "avcodec", - "avformat", - "swresample", - "swscale" - ] - } + "gtk3" ] }, "jasper": { @@ -61,9 +75,14 @@ "libjpeg-turbo" ] }, + "msmf": { + "description": "Microsoft Media Foundation support for opencv", + "supports": "windows & !mingw" + }, "openexr": { "description": "OpenEXR support for opencv", "dependencies": [ + "imath", "openexr" ] }, @@ -91,7 +110,10 @@ "tiff": { "description": "TIFF support for opencv", "dependencies": [ - "tiff" + { + "name": "tiff", + "default-features": false + } ] }, "world": { diff --git a/ports/opencv3/0002-install-options.patch b/ports/opencv3/0002-install-options.patch index 2c76f7d1c0f572..e47724bfc847d5 100644 --- a/ports/opencv3/0002-install-options.patch +++ b/ports/opencv3/0002-install-options.patch @@ -5,7 +5,7 @@ # --- Python Support --- -if(NOT IOS) -+if(FALSE) ++if(WITH_PYTHON) include(cmake/OpenCVDetectPython.cmake) endif() diff --git a/ports/opencv3/0003-force-package-requirements.patch b/ports/opencv3/0003-force-package-requirements.patch index dd12caad531ab1..5f7e360c99bb11 100644 --- a/ports/opencv3/0003-force-package-requirements.patch +++ b/ports/opencv3/0003-force-package-requirements.patch @@ -32,7 +32,7 @@ else() ocv_clear_internal_cache_vars(WEBP_LIBRARY WEBP_INCLUDE_DIR) - include(cmake/OpenCVFindWebP.cmake) -+ find_package(WebP REQUIRED) ++ find_package(WEBP NAMES WebP REQUIRED) if(WEBP_FOUND) set(HAVE_WEBP 1) endif() @@ -54,15 +54,6 @@ if(PNG_FOUND) include(CheckIncludeFile) check_include_file("${PNG_PNG_INCLUDE_DIR}/libpng/png.h" HAVE_LIBPNG_PNG_H) -@@ -229,7 +229,7 @@ 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 REQUIRED) - endif() - - if(OPENEXR_FOUND) @@ -247,7 +247,7 @@ endif() # --- GDAL (optional) --- @@ -81,3 +72,16 @@ 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() + + if(HAVE_WEBP) + add_definitions(-DHAVE_WEBP) +- ocv_include_directories(${WEBP_INCLUDE_DIR}) ++ ocv_include_directories(${WEBP_INCLUDE_DIRS}) + list(APPEND GRFMT_LIBS ${WEBP_LIBRARIES}) + endif() + 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/0011-fix-caffe-io.patch b/ports/opencv3/0011-fix-caffe-io.patch deleted file mode 100644 index 1c0941adbadb85..00000000000000 --- a/ports/opencv3/0011-fix-caffe-io.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/modules/dnn/src/caffe/caffe_io.cpp -+++ b/modules/dnn/src/caffe/caffe_io.cpp -@@ -1111,7 +1111,7 @@ static const int kProtoReadBytesLimit = INT_MAX; // Max size of 2 GB minus 1 by - - bool ReadProtoFromBinary(ZeroCopyInputStream* input, Message *proto) { - CodedInputStream coded_input(input); -- coded_input.SetTotalBytesLimit(kProtoReadBytesLimit, 536870912); -+ coded_input.SetTotalBytesLimit(kProtoReadBytesLimit); - - return proto->ParseFromCodedStream(&coded_input); - } diff --git a/ports/opencv3/0011-remove-python2.patch b/ports/opencv3/0011-remove-python2.patch new file mode 100644 index 00000000000000..bee0faa87c593e --- /dev/null +++ b/ports/opencv3/0011-remove-python2.patch @@ -0,0 +1,18 @@ +--- a/cmake/OpenCVDetectPython.cmake ++++ b/cmake/OpenCVDetectPython.cmake +@@ -268,15 +268,6 @@ if(OPENCV_PYTHON_SKIP_DETECTION) + return() + endif() + +-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) +- +-option(OPENCV_PYTHON3_VERSION "Python3 version" "") + find_python("${OPENCV_PYTHON3_VERSION}" "${MIN_VER_PYTHON3}" PYTHON3_LIBRARY PYTHON3_INCLUDE_DIR + PYTHON3INTERP_FOUND PYTHON3_EXECUTABLE PYTHON3_VERSION_STRING + PYTHON3_VERSION_MAJOR PYTHON3_VERSION_MINOR PYTHON3LIBS_FOUND diff --git a/ports/opencv3/0012-fix-zlib.patch b/ports/opencv3/0012-fix-zlib.patch new file mode 100644 index 00000000000000..b82b9b00ebddd2 --- /dev/null +++ b/ports/opencv3/0012-fix-zlib.patch @@ -0,0 +1,12 @@ +--- 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) + if(ANDROID) diff --git a/ports/opencv3/0013-contrib-fix-ceres.patch b/ports/opencv3/0013-contrib-fix-ceres.patch new file mode 100644 index 00000000000000..c8acb16101724f --- /dev/null +++ b/ports/opencv3/0013-contrib-fix-ceres.patch @@ -0,0 +1,11 @@ +--- a/modules/sfm/src/libmv_light/libmv/simple_pipeline/bundle.cc ++++ b/modules/sfm/src/libmv_light/libmv/simple_pipeline/bundle.cc +@@ -549,7 +549,7 @@ void EuclideanBundleCommonIntrinsics( + + if (bundle_constraints & BUNDLE_NO_TRANSLATION) { + #if CERES_VERSION_MAJOR >= 3 || (CERES_VERSION_MAJOR >= 2 && CERES_VERSION_MINOR >= 1) +- problem.SetParameterization(current_camera_R_t, ++ problem.SetManifold(current_camera_R_t, + constant_translation_manifold); + #else + problem.SetParameterization(current_camera_R_t, 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-contrib-fix-freetype.patch b/ports/opencv3/0016-contrib-fix-freetype.patch new file mode 100644 index 00000000000000..930a1d65a35a04 --- /dev/null +++ b/ports/opencv3/0016-contrib-fix-freetype.patch @@ -0,0 +1,15 @@ +--- a/modules/freetype/CMakeLists.txt ++++ b/modules/freetype/CMakeLists.txt +@@ -3,8 +5,10 @@ if(APPLE_FRAMEWORK) + ocv_module_disable(freetype) + endif() + +-ocv_check_modules(FREETYPE freetype2) +-ocv_check_modules(HARFBUZZ harfbuzz) ++if(WITH_FREETYPE) ++find_package(freetype CONFIG REQUIRED) ++find_package(harfbuzz CONFIG REQUIRED) ++endif() + + if(OPENCV_INITIAL_PASS) + if(NOT FREETYPE_FOUND) 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-contrib-fix-tesseract.patch b/ports/opencv3/0018-contrib-fix-tesseract.patch new file mode 100644 index 00000000000000..6a8bc7acd38276 --- /dev/null +++ b/ports/opencv3/0018-contrib-fix-tesseract.patch @@ -0,0 +1,11 @@ +--- a/modules/text/cmake/init.cmake ++++ b/modules/text/cmake/init.cmake +@@ -4,6 +4,8 @@ OCV_OPTION(WITH_TESSERACT "Include Tesseract OCR library support" (NOT CMAKE_CRO + if(NOT HAVE_TESSERACT + AND (WITH_TESSERACT OR OPENCV_FIND_TESSERACT) + ) ++ find_package(Tesseract CONFIG REQUIRED) ++ set(Tesseract_LIBRARIES Tesseract::libtesseract) + if(NOT Tesseract_FOUND) + find_package(Tesseract QUIET) # Prefer CMake's standard locations (including Tesseract_DIR) + endif() 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/portfile.cmake b/ports/opencv3/portfile.cmake index 2a435a97ef37c0..b86f7ced44c71b 100644 --- a/ports/opencv3/portfile.cmake +++ b/ports/opencv3/portfile.cmake @@ -1,18 +1,10 @@ -if (EXISTS "${CURRENT_INSTALLED_DIR}/share/opencv2") - message(FATAL_ERROR "OpenCV 2 is installed, please uninstall and try again:\n vcpkg remove opencv2") -endif() - -if (EXISTS "${CURRENT_INSTALLED_DIR}/share/opencv4") - message(FATAL_ERROR "OpenCV 4 is installed, please uninstall and try again:\n vcpkg remove opencv4") -endif() - -set(OPENCV_VERSION "3.4.15") +set(USE_QT_VERSION "5") vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO opencv/opencv - REF ${OPENCV_VERSION} - SHA512 775149e56f0aa94d53eb024404866380d97ce423ef1c8343ee8f12c1377e454ae182b2528e86949b5f7250e551d464bd1a5de2e2d9f0d0e1dd3dc188a1db790d + REF "${VERSION}" + SHA512 96bbeb9525325f17ba635a0b75126aae0a7b0daef211af45057a97abd5d31a57fc50f0e889a6dab614df9b7621a145e06c0d240f0a218f33df1217d9a19c510d HEAD_REF master PATCHES 0001-disable-downloading.patch @@ -24,8 +16,16 @@ vcpkg_from_github( 0008-devendor-quirc.patch 0009-fix-protobuf.patch 0010-fix-uwp-tiff-imgcodecs.patch - 0011-fix-caffe-io.patch + 0011-remove-python2.patch + 0012-fix-zlib.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) @@ -37,61 +37,80 @@ 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 - "gdcm" WITH_GDCM - "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 - "qt" WITH_QT - "quirc" WITH_QUIRC - "sfm" BUILD_opencv_sfm - "tiff" WITH_TIFF - "vtk" WITH_VTK - "webp" WITH_WEBP - "world" BUILD_opencv_world + "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", "ipp", ovis", "tbb" -# As the respective value of their variables can be unset conditionally. -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_IPP OFF) -if("ipp" IN_LIST FEATURES) - set(WITH_IPP ON) -endif() - -set(BUILD_opencv_ovis OFF) -if("ovis" IN_LIST FEATURES) - set(BUILD_opencv_ovis ON) +# 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_TBB OFF) -if("tbb" IN_LIST FEATURES) - set(WITH_TBB ON) +if("python" IN_LIST FEATURES) + 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() if("dnn" IN_LIST FEATURES) @@ -102,26 +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 639f5f869d68014fcc5041f5fe890c98635610d8b26c9964721e2fbe74ce8a12aef8f305364ff024fe0086bf2e7252c4fdd00a5de08854fdcd285c0f4916125a - HEAD_REF master - PATCHES - 0007-fix-hdf5.patch + OUT_SOURCE_PATH CONTRIB_SOURCE_PATH + REPO opencv/opencv_contrib + REF "${VERSION}" + SHA512 a051497e61ae55f86c224044487fc2247a3bba1aa27031c4997c981ddf8402edf82f1dd0d307f562c638bc021cfd8bd42a723973f00ab25131495f84d33c5383 + HEAD_REF master + PATCHES + 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") @@ -166,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") @@ -208,109 +211,82 @@ 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) - 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() +if("halide" IN_LIST FEATURES) + list(APPEND ADDITIONAL_BUILD_FLAGS + # Halide 13 requires C++17 + "-DCMAKE_CXX_STANDARD_REQUIRED=ON" + "-DCMAKE_DISABLE_FIND_PACKAGE_Halide=ON" + "-DHALIDE_ROOT_DIR=${CURRENT_INSTALLED_DIR}" + ) endif() 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= -DOPENCV_BIN_INSTALL_PATH=bin - -DOPENCV_INCLUDE_INSTALL_PATH=include + -DOPENCV_INCLUDE_INSTALL_PATH=include/opencv3 -DOPENCV_LIB_INSTALL_PATH=lib - -DOPENCV_3P_LIB_INSTALL_PATH=lib - -DOPENCV_CONFIG_INSTALL_PATH=share/opencv - -DINSTALL_TO_MANGLED_PATHS=OFF + -DOPENCV_3P_LIB_INSTALL_PATH=lib/manual-link/opencv3_thirdparty + -DOPENCV_CONFIG_INSTALL_PATH=share/opencv3 -DOPENCV_FFMPEG_USE_FIND_PACKAGE=FFMPEG -DOPENCV_FFMPEG_SKIP_BUILD_CHECK=TRUE -DCMAKE_DEBUG_POSTFIX=d - -DOPENCV_DLLVERSION= + -DOPENCV_DLLVERSION=3 -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 ###### 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_IPP_IW=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_bgsegm=${BUILD_opencv_bgsegm} - -DBUILD_opencv_line_descriptor=${BUILD_opencv_line_descriptor} - -DBUILD_opencv_saliency=${BUILD_opencv_saliency} + -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_flann} - -DUPDATE_PROTO_FILES=${BUILD_opencv_flann} ###### PYLINT/FLAKE8 -DENABLE_PYLINT=OFF -DENABLE_FLAKE8=OFF @@ -322,38 +298,53 @@ 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/opencv3 ###### customized properties ## Options from vcpkg_check_features() ${FEATURE_OPTIONS} - -DCMAKE_DISABLE_FIND_PACKAGE_Halide=ON - -DHALIDE_ROOT_DIR=${CURRENT_INSTALLED_DIR} - -DWITH_GTK=OFF - -DWITH_IPP=${WITH_IPP} + -DWITH_QT=${WITH_QT} -DWITH_MATLAB=OFF - -DWITH_MSMF=${WITH_MSMF} - -DWITH_OPENMP=OFF - -DWITH_PROTOBUF=${BUILD_opencv_flann} - -DWITH_OPENCLAMDBLAS=OFF - -DWITH_TBB=${WITH_TBB} -DWITH_OPENJPEG=OFF - ###### BUILD_options (mainly modules which require additional libraries) - -DBUILD_opencv_ovis=${BUILD_opencv_ovis} - -DBUILD_opencv_dnn=${BUILD_opencv_dnn} - ###### The following modules are disabled for UWP - -DBUILD_opencv_quality=${BUILD_opencv_quality} + -DWITH_CPUFEATURES=OFF + -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} + OPTIONS_RELEASE + ###### Python install path + ${PYTHON_EXTRA_DEFINES_RELEASE} + OPTIONS_DEBUG + ###### Python install path + ${PYTHON_EXTRA_DEFINES_DEBUG} ) vcpkg_cmake_install() -vcpkg_cmake_config_fixup(PACKAGE_NAME opencv CONFIG_PATH "share/opencv") +vcpkg_cmake_config_fixup() vcpkg_copy_pdbs() -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(READ "${CURRENT_PACKAGES_DIR}/share/opencv/OpenCVModules.cmake" OPENCV_MODULES) - set(DEPS_STRING "include(CMakeFindDependencyMacro) -if(${BUILD_opencv_flann}) +if (NOT VCPKG_BUILD_TYPE) + # Update debug paths for libs in Android builds (e.g. sdk/native/staticlibs/armeabi-v7a) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/opencv3/OpenCVModules-debug.cmake" + "\${_IMPORT_PREFIX}/sdk" + "\${_IMPORT_PREFIX}/debug/sdk" + IGNORE_UNCHANGED + ) +endif() + +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) @@ -370,89 +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(Qt5 COMPONENTS OpenGL Concurrent Test)") - 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/opencv/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") - if(VCPKG_TARGET_IS_ANDROID) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/README.android") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/README.android") endif() -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +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/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(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 new file mode 100644 index 00000000000000..217ce72976182f --- /dev/null +++ b/ports/opencv3/usage.in @@ -0,0 +1,4 @@ +@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_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 b08ac1c20e9f5f..f44abc58ec8500 100644 --- a/ports/opencv3/vcpkg.json +++ b/ports/opencv3/vcpkg.json @@ -1,9 +1,10 @@ { "name": "opencv3", - "version": "3.4.15", - "port-version": 3, - "description": "computer vision library", + "version": "3.4.18", + "port-version": 17, + "description": "Open Source Computer Vision Library", "homepage": "https://github.com/opencv/opencv", + "license": "BSD-3-Clause", "dependencies": [ { "name": "vcpkg-cmake", @@ -13,17 +14,20 @@ "name": "vcpkg-cmake-config", "host": true }, + { + "name": "vcpkg-get-python-packages", + "host": true + }, "zlib" ], "default-features": [ - "dnn", - "jpeg", - "png", - "quirc", - "tiff", - "webp" + "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,21 +48,31 @@ } ] }, - "cuda": { - "description": "CUDA support for opencv", + "dc1394": { + "description": "Dc1394 support for opencv", + "dependencies": [ + "libdc1394" + ] + }, + "default-features": { + "description": "Platform-dependent default features", "dependencies": [ - "cuda", - "cudnn", { "name": "opencv3", + "default-features": false, "features": [ - "contrib" + "jpeg", + "png", + "quirc", + "tiff", + "webp" ] } ] }, "dnn": { "description": "Enable dnn module", + "supports": "!android", "dependencies": [ { "name": "opencv3", @@ -73,33 +88,42 @@ "eigen3" ] }, - "ffmpeg": { - "description": "ffmpeg support for opencv", - "dependencies": [ - { - "name": "ffmpeg", - "default-features": false, - "features": [ - "avcodec", - "avformat", - "swresample", - "swscale" - ] - } - ] - }, "flann": { "description": "opencv_flann module", "dependencies": [ "protobuf" ] }, + "freetype": { + "description": "Freetype support for opencv", + "dependencies": [ + "freetype", + "harfbuzz" + ] + }, + "gapi": { + "description": "Enable gapi module", + "supports": "!uwp" + }, "gdcm": { "description": "GDCM support for opencv", "dependencies": [ "gdcm" ] }, + "gstreamer": { + "description": "gstreamer support for opencv", + "dependencies": [ + "gstreamer" + ] + }, + "gtk": { + "description": "GTK support for opencv", + "supports": "linux", + "dependencies": [ + "gtk3" + ] + }, "halide": { "description": "Halide support for opencv", "dependencies": [ @@ -117,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", @@ -138,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" }, @@ -153,12 +186,18 @@ "opengl" ] }, + "openmp": { + "description": "Enable openmp support for opencv", + "supports": "!osx" + }, "ovis": { "description": "opencv_ovis module", + "supports": "!(windows & static) & !android", "dependencies": [ "ogre", { "name": "opencv3", + "default-features": false, "features": [ "contrib" ] @@ -171,6 +210,25 @@ "libpng" ] }, + "python": { + "description": "Python wrapper support for opencv", + "dependencies": [ + { + "name": "opencv3", + "default-features": false, + "features": [ + "flann" + ] + }, + { + "name": "python3", + "default-features": false, + "features": [ + "extensions" + ] + } + ] + }, "qt": { "description": "Qt GUI support for opencv", "dependencies": [ @@ -180,29 +238,54 @@ } ] }, + "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": [ "ceres", - "eigen3", "gflags", "glog", { "name": "opencv3", + "default-features": false, "features": [ "contrib" ] + }, + { + "name": "opencv3", + "default-features": false, + "features": [ + "eigen" + ] } ] }, "tbb": { "description": "Enable Intel Threading Building Blocks", + "supports": "!static", "dependencies": [ "tbb" ] @@ -210,13 +293,25 @@ "tiff": { "description": "TIFF support for opencv", "dependencies": [ - "tiff" + { + "name": "tiff", + "default-features": false + } ] }, "vtk": { "description": "vtk support for opencv", "dependencies": [ - "vtk" + { + "name": "opencv3", + "features": [ + "contrib" + ] + }, + { + "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 a551023c3bf85b..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(0) +-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 15ce3756be50ee..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,16 +36,16 @@ 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) - include(cmake/OpenCVFindWebP.cmake) -+ find_package(WebP REQUIRED) ++ find_package(WEBP NAMES WebP REQUIRED) 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,25 +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) -@@ -257,7 +257,7 @@ if(WITH_OPENEXR) + 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 REQUIRED) ++ find_package(OpenEXR CONFIG REQUIRED) ++ set(OPENEXR_FOUND TRUE) endif() if(OPENEXR_FOUND) -@@ -275,7 +275,7 @@ endif() +@@ -330,7 +331,7 @@ endif() # --- GDAL (optional) --- if(WITH_GDAL) @@ -81,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) @@ -90,3 +109,14 @@ if(NOT GDCM_FOUND) set(HAVE_GDCM NO) ocv_clear_vars(GDCM_VERSION GDCM_LIBRARIES) +--- a/modules/imgcodecs/CMakeLists.txt ++++ b/modules/imgcodecs/CMakeLists.txt +@@ -25,7 +25,7 @@ endif() + + if(HAVE_WEBP) + add_definitions(-DHAVE_WEBP) +- ocv_include_directories(${WEBP_INCLUDE_DIR}) ++ ocv_include_directories(${WEBP_INCLUDE_DIRS}) + list(APPEND GRFMT_LIBS ${WEBP_LIBRARIES}) + endif() + diff --git a/ports/opencv4/0004-fix-eigen.patch b/ports/opencv4/0004-fix-eigen.patch new file mode 100644 index 00000000000000..4b0229b344864e --- /dev/null +++ b/ports/opencv4/0004-fix-eigen.patch @@ -0,0 +1,11 @@ +--- a/cmake/OpenCVFindLibsPerf.cmake ++++ b/cmake/OpenCVFindLibsPerf.cmake +@@ -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 + ) +- find_package(Eigen3 CONFIG QUIET) # Ceres 2.0.0 CMake scripts doesn't work with CMake's FindEigen3.cmake module (due to missing EIGEN3_VERSION_STRING) ++ find_package(Eigen3 CONFIG REQUIRED) # Ceres 2.0.0 CMake scripts doesn't work with CMake's FindEigen3.cmake module (due to missing EIGEN3_VERSION_STRING) + endif() + if(NOT Eigen3_FOUND) + find_package(Eigen3 QUIET) diff --git a/ports/opencv4/0004-fix-policy-CMP0057.patch b/ports/opencv4/0004-fix-policy-CMP0057.patch deleted file mode 100644 index d126d9d96a14e7..00000000000000 --- a/ports/opencv4/0004-fix-policy-CMP0057.patch +++ /dev/null @@ -1,7 +0,0 @@ ---- a/modules/videoio/CMakeLists.txt -+++ b/modules/videoio/CMakeLists.txt -@@ -1,3 +1,4 @@ -+cmake_minimum_required(VERSION 3.3) - set(VIDEOIO_PLUGIN_LIST "" CACHE STRING "List of videoio backends to be compiled as plugins (ffmpeg, gstreamer, mfx, msmf or special value 'all')") - set(VIDEOIO_ENABLE_PLUGINS "ON" CACHE BOOL "Allow building and using of videoio plugins") - mark_as_advanced(VIDEOIO_PLUGIN_LIST VIDEOIO_ENABLE_PLUGINS) diff --git a/ports/opencv4/0005-fix-eigen.patch b/ports/opencv4/0005-fix-eigen.patch deleted file mode 100644 index 196542dcdd2ea6..00000000000000 --- a/ports/opencv4/0005-fix-eigen.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/cmake/OpenCVFindLibsPerf.cmake -+++ b/cmake/OpenCVFindLibsPerf.cmake -@@ -55,7 +55,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 - ) -- find_package(Eigen3 CONFIG QUIET) # Ceres 2.0.0 CMake scripts doesn't work with CMake's FindEigen3.cmake module (due to missing EIGEN3_VERSION_STRING) -+ find_package(Eigen3 CONFIG REQUIRED) # Ceres 2.0.0 CMake scripts doesn't work with CMake's FindEigen3.cmake module (due to missing EIGEN3_VERSION_STRING) - endif() - if(NOT Eigen3_FOUND) - find_package(Eigen3 QUIET) diff --git a/ports/opencv4/0005-fix-policy-CMP0057.patch b/ports/opencv4/0005-fix-policy-CMP0057.patch new file mode 100644 index 00000000000000..937a50be59155b --- /dev/null +++ b/ports/opencv4/0005-fix-policy-CMP0057.patch @@ -0,0 +1,7 @@ +--- a/modules/videoio/CMakeLists.txt ++++ b/modules/videoio/CMakeLists.txt +@@ -1,3 +1,4 @@ ++cmake_minimum_required(VERSION 3.5) + set(VIDEOIO_ENABLE_PLUGINS_DEFAULT ON) + 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 62b02ce0ad0d84..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 -@@ -803,7 +803,7 @@ if(WITH_OPENVX) +@@ -935,7 +935,7 @@ if(WITH_OPENVX) endif() if(WITH_QUIRC) @@ -11,8 +11,8 @@ --- a/modules/objdetect/CMakeLists.txt +++ b/modules/objdetect/CMakeLists.txt -@@ -2,7 +2,5 @@ set(the_description "Object Detection") - ocv_define_module(objdetect opencv_core opencv_imgproc opencv_calib3d WRAP java objc python js) +@@ -13,7 +13,5 @@ ocv_define_module(objdetect + ) if(HAVE_QUIRC) - get_property(QUIRC_INCLUDE GLOBAL PROPERTY QUIRC_INCLUDE_DIR) 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-fix-caffe-io.patch b/ports/opencv4/0011-fix-caffe-io.patch deleted file mode 100644 index ee33ea63f93bc8..00000000000000 --- a/ports/opencv4/0011-fix-caffe-io.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/modules/dnn/src/caffe/caffe_io.cpp b/modules/dnn/src/caffe/caffe_io.cpp -index 2fc4d84..779d0dd 100644 ---- a/modules/dnn/src/caffe/caffe_io.cpp -+++ b/modules/dnn/src/caffe/caffe_io.cpp -@@ -1111,7 +1111,7 @@ static const int kProtoReadBytesLimit = INT_MAX; // Max size of 2 GB minus 1 by - - bool ReadProtoFromBinary(ZeroCopyInputStream* input, Message *proto) { - CodedInputStream coded_input(input); -- coded_input.SetTotalBytesLimit(kProtoReadBytesLimit, 536870912); -+ coded_input.SetTotalBytesLimit(kProtoReadBytesLimit); - - return proto->ParseFromCodedStream(&coded_input); - } diff --git a/ports/opencv4/0011-remove-python2.patch b/ports/opencv4/0011-remove-python2.patch new file mode 100644 index 00000000000000..e0237d7092a15c --- /dev/null +++ b/ports/opencv4/0011-remove-python2.patch @@ -0,0 +1,24 @@ +--- a/cmake/OpenCVDetectPython.cmake ++++ b/cmake/OpenCVDetectPython.cmake +@@ -268,21 +268,6 @@ if(OPENCV_PYTHON_SKIP_DETECTION) + return() + endif() + +-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 + PYTHON3INTERP_FOUND PYTHON3_EXECUTABLE PYTHON3_VERSION_STRING + PYTHON3_VERSION_MAJOR PYTHON3_VERSION_MINOR PYTHON3LIBS_FOUND diff --git a/ports/opencv4/0012-fix-zlib.patch b/ports/opencv4/0012-fix-zlib.patch new file mode 100644 index 00000000000000..d975c989c70a7f --- /dev/null +++ b/ports/opencv4/0012-fix-zlib.patch @@ -0,0 +1,10 @@ +--- a/cmake/OpenCVFindLibsGrfmt.cmake ++++ b/cmake/OpenCVFindLibsGrfmt.cmake +@@ -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 new file mode 100644 index 00000000000000..6eeafe7f9ec16c --- /dev/null +++ b/ports/opencv4/0015-fix-freetype.patch @@ -0,0 +1,11 @@ +--- a/modules/gapi/cmake/init.cmake ++++ b/modules/gapi/cmake/init.cmake +@@ -21,7 +21,7 @@ if(NOT TARGET ade) + endif() + + if(WITH_FREETYPE) +- ocv_check_modules(FREETYPE freetype2) ++ find_package(Freetype REQUIRED) + if (FREETYPE_FOUND) + set(HAVE_FREETYPE TRUE) + endif() 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/0017-fix-flatbuffers.patch b/ports/opencv4/0017-fix-flatbuffers.patch new file mode 100644 index 00000000000000..6516a58cc9c6b9 --- /dev/null +++ b/ports/opencv4/0017-fix-flatbuffers.patch @@ -0,0 +1,16 @@ +--- 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-contrib-fix-tesseract.patch b/ports/opencv4/0018-contrib-fix-tesseract.patch new file mode 100644 index 00000000000000..6a8bc7acd38276 --- /dev/null +++ b/ports/opencv4/0018-contrib-fix-tesseract.patch @@ -0,0 +1,11 @@ +--- a/modules/text/cmake/init.cmake ++++ b/modules/text/cmake/init.cmake +@@ -4,6 +4,8 @@ OCV_OPTION(WITH_TESSERACT "Include Tesseract OCR library support" (NOT CMAKE_CRO + if(NOT HAVE_TESSERACT + AND (WITH_TESSERACT OR OPENCV_FIND_TESSERACT) + ) ++ find_package(Tesseract CONFIG REQUIRED) ++ set(Tesseract_LIBRARIES Tesseract::libtesseract) + if(NOT Tesseract_FOUND) + find_package(Tesseract QUIET) # Prefer CMake's standard locations (including Tesseract_DIR) + endif() 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/portfile.cmake b/ports/opencv4/portfile.cmake index 45cf964d54d6d3..5dc61200e82047 100644 --- a/ports/opencv4/portfile.cmake +++ b/ports/opencv4/portfile.cmake @@ -1,31 +1,32 @@ -if (EXISTS "${CURRENT_INSTALLED_DIR}/share/opencv2") - message(FATAL_ERROR "OpenCV 2 is installed, please uninstall and try again:\n vcpkg remove opencv2") -endif() - -if (EXISTS "${CURRENT_INSTALLED_DIR}/share/opencv3") - message(FATAL_ERROR "OpenCV 3 is installed, please uninstall and try again:\n vcpkg remove opencv3") -endif() - -set(OPENCV_VERSION "4.5.3") +set(USE_QT_VERSION "6") vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO opencv/opencv - REF ${OPENCV_VERSION} - SHA512 efd2214f29b1eb2e1ae55280f9fc2f64af7c2e91154264c43d0d4186dd5b8f81e86942dff612d08cd9eaa834421457fe765760181160168cd4c52839a0739758 + REF "${VERSION}" + SHA512 b4f7248f89f1cd146dbbae7860a17131cd29bd3cb81db1e678abfcfbf2d8fa4a7633bfd0edbf50afae7b838c8700e8c0d0bb05828139d5cb5662df6bbf3eb92c HEAD_REF master PATCHES 0001-disable-downloading.patch 0002-install-options.patch 0003-force-package-requirements.patch - 0004-fix-policy-CMP0057.patch - 0005-fix-eigen.patch + 0004-fix-eigen.patch + 0005-fix-policy-CMP0057.patch 0006-fix-uwp.patch 0008-devendor-quirc.patch 0009-fix-protobuf.patch 0010-fix-uwp-tiff-imgcodecs.patch - 0011-fix-caffe-io.patch + 0011-remove-python2.patch + 0012-fix-zlib.patch + 0014-fix-cmake-in-list.patch + 0015-fix-freetype.patch + 0017-fix-flatbuffers.patch + 0019-opencl-kernel.patch ) +# 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) @@ -37,80 +38,116 @@ 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 - "eigen" WITH_EIGEN - "ffmpeg" WITH_FFMPEG - "gdcm" WITH_GDCM - "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 - "qt" WITH_QT - "quirc" WITH_QUIRC - "sfm" BUILD_opencv_sfm - "tiff" WITH_TIFF - "vtk" WITH_VTK - "webp" WITH_WEBP - "world" BUILD_opencv_world + "ade" WITH_ADE + "calib3d" BUILD_opencv_calib3d + "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", ipp", "openmp", "ovis", "tbb" -# As the respective value of their variables can be unset conditionally. -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" + WORKING_DIRECTORY "${SOURCE_PATH}/modules/dnn/misc/tflite" + LOGNAME flatc-${TARGET_TRIPLET} + ) 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") +if (VCPKG_LIBRARY_LINKAGE STREQUAL static) + set(OPENCV_LAPACK_SHARED_LIBS OFF) +else() + set(OPENCV_LAPACK_SHARED_LIBS ON) endif() -set(WITH_IPP OFF) -if("ipp" IN_LIST FEATURES) - set(WITH_IPP ON) +set(WITH_QT OFF) +if("qt" IN_LIST FEATURES) + set(WITH_QT ${USE_QT_VERSION}) 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") +if("python" IN_LIST FEATURES) + 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() -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() - if("dnn" IN_LIST FEATURES) vcpkg_download_distfile(TINYDNN_ARCHIVE URLS "https://github.com/tiny-dnn/tiny-dnn/archive/v1.0.0a3.tar.gz" @@ -127,27 +164,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) - 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 5b48e2aedcf8c64fcfe80fad243c455c1bb9bfd10741c5ba03679ef26b28f61767fec632a9a9828a87a90542488354ebbbe8c65845bf2ae55b15a721c147a30a + REF "${VERSION}" + SHA512 480df862250692a97ce6431cba00dbecb70332307a19c1c04aa9d7444e6e74ab4f8c798548dce76d2319a9877624b82e361fb22a71df14b996087ade448be501 HEAD_REF master PATCHES - 0007-fix-hdf5.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 @@ -232,72 +262,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/a56b6ac6f030c312b2dce17430eef13aed9af274/ippicv/ippicv_2020_mac_intel64_20191018_general.tgz" - FILENAME "opencv-cache/ippicv/1c3d675c2a2395d094d523024896e01b-ippicv_2020_mac_intel64_20191018_general.tgz" - SHA512 454dfaaa245e3a3b2f1ffb1aa8e27e280b03685009d66e147482b14e5796fdf2d332cac0f9b0822caedd5760fda4ee0ce2961889597456bbc18202f10bf727cd + 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/a56b6ac6f030c312b2dce17430eef13aed9af274/ippicv/ippicv_2020_lnx_intel64_20191018_general.tgz" - FILENAME "opencv-cache/ippicv/7421de0095c7a39162ae13a6098782f9-ippicv_2020_lnx_intel64_20191018_general.tgz" - SHA512 de6d80695cd6deef359376476edc4ff85fdddcf94972b936e0017f8a48aaa5d18f55c4253ae37deb83bff2f71410f68408063c88b5f3bf4df3c416aa93ceca87 + 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/a56b6ac6f030c312b2dce17430eef13aed9af274/ippicv/ippicv_2020_lnx_ia32_20191018_general.tgz" - FILENAME "opencv-cache/ippicv/ad189a940fb60eb71f291321322fe3e8-ippicv_2020_lnx_ia32_20191018_general.tgz" - SHA512 5ca9dafc3a634e2a5f83f6a498611c990ef16d54358e9b44574b01694e9d64b118d46d6e2011506e40d37e5a9865f576f790e37ff96b7c8b503507633631a296 + 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/a56b6ac6f030c312b2dce17430eef13aed9af274/ippicv/ippicv_2020_win_intel64_20191018_general.zip" - FILENAME "opencv-cache/ippicv/879741a7946b814455eee6c6ffde2984-ippicv_2020_win_intel64_20191018_general.zip" - SHA512 50c4af4b7fe2161d652264230389dad2330e8c95b734d04fb7565bffdab855c06d43085e480da554c56b04f8538087d49503538d5943221ee2a772ee7be4c93c + 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/a56b6ac6f030c312b2dce17430eef13aed9af274/ippicv/ippicv_2020_win_ia32_20191018_general.zip" - FILENAME "opencv-cache/ippicv/cd39bdf0c2e1cac9a61101dad7a2413e-ippicv_2020_win_ia32_20191018_general.zip" - SHA512 058d00775d9f16955c7a557d554b8c2976ab9dbad4ba3fdb9823c0f768809edbd835e4397f01dc090a9bc80d81de834375e7006614d2a898f42e8004de0e04bf + 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) - 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() @@ -308,66 +309,84 @@ if("ffmpeg" IN_LIST FEATURES) endif() endif() +if("halide" IN_LIST FEATURES) + list(APPEND ADDITIONAL_BUILD_FLAGS + # Halide 13 requires C++17 + "-DCMAKE_CXX_STANDARD_REQUIRED=ON" + "-DCMAKE_DISABLE_FIND_PACKAGE_Halide=ON" + "-DHALIDE_ROOT_DIR=${CURRENT_INSTALLED_DIR}" + ) +endif() + if("qt" IN_LIST FEATURES) list(APPEND ADDITIONAL_BUILD_FLAGS "-DCMAKE_AUTOMOC=ON") endif() +if("contrib" IN_LIST FEATURES) + if(VCPKG_TARGET_IS_UWP) + list(APPEND ADDITIONAL_BUILD_FLAGS "-DWITH_TESSERACT=OFF") + endif() +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 - -DOPENCV_CONFIG_INSTALL_PATH=share/opencv - -DINSTALL_TO_MANGLED_PATHS=OFF + -DOPENCV_3P_LIB_INSTALL_PATH=lib/manual-link/opencv4_thirdparty + -DOPENCV_CONFIG_INSTALL_PATH=share/opencv4 -DOPENCV_FFMPEG_USE_FIND_PACKAGE=FFMPEG -DOPENCV_FFMPEG_SKIP_BUILD_CHECK=TRUE -DCMAKE_DEBUG_POSTFIX=d - -DOPENCV_DLLVERSION= + -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_IPP_IW=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 @@ -379,41 +398,58 @@ 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} - -DCMAKE_DISABLE_FIND_PACKAGE_Halide=ON - -DHALIDE_ROOT_DIR=${CURRENT_INSTALLED_DIR} - -DWITH_GTK=OFF - -DWITH_IPP=${WITH_IPP} + -DWITH_QT=${WITH_QT} -DWITH_MATLAB=OFF - -DWITH_MSMF=${WITH_MSMF} - -DWITH_OPENMP=${WITH_OPENMP} - -DWITH_PROTOBUF=${BUILD_opencv_dnn} - -DWITH_OPENCLAMDBLAS=OFF - -DWITH_TBB=${WITH_TBB} -DWITH_OPENJPEG=OFF - ###### BUILD_options (mainly modules which require additional libraries) - -DBUILD_opencv_ovis=${BUILD_opencv_ovis} - -DBUILD_opencv_dnn=${BUILD_opencv_dnn} - ###### The following modules are disabled for UWP + -DWITH_CPUFEATURES=OFF + -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} + OPTIONS_RELEASE + ###### Python install path + ${PYTHON_EXTRA_DEFINES_RELEASE} + OPTIONS_DEBUG + ###### Python install path + ${PYTHON_EXTRA_DEFINES_DEBUG} ) vcpkg_cmake_install() -vcpkg_cmake_config_fixup(PACKAGE_NAME opencv CONFIG_PATH "share/opencv") +vcpkg_cmake_config_fixup() vcpkg_copy_pdbs() -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(READ "${CURRENT_PACKAGES_DIR}/share/opencv/OpenCVModules.cmake" OPENCV_MODULES) - set(DEPS_STRING "include(CMakeFindDependencyMacro) -if(${BUILD_opencv_dnn}) +if (NOT VCPKG_BUILD_TYPE) + # Update debug paths for libs in Android builds (e.g. sdk/native/staticlibs/armeabi-v7a) + 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} 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) @@ -430,89 +466,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) - 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_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(Qt5 COMPONENTS OpenGL Concurrent Test)") - 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/opencv/OpenCVModules.cmake" "${OPENCV_MODULES}") +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}") +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") - if(VCPKG_TARGET_IS_ANDROID) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/README.android") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/README.android") endif() -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +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(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 new file mode 100644 index 00000000000000..217ce72976182f --- /dev/null +++ b/ports/opencv4/usage.in @@ -0,0 +1,4 @@ +@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_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 ce572115d220c4..dcf16388ef3eba 100644 --- a/ports/opencv4/vcpkg.json +++ b/ports/opencv4/vcpkg.json @@ -1,9 +1,9 @@ { "name": "opencv4", - "version": "4.5.3", - "port-version": 3, + "version": "4.10.0", "description": "computer vision library", "homepage": "https://github.com/opencv/opencv", + "license": "Apache-2.0", "dependencies": [ { "name": "vcpkg-cmake", @@ -13,15 +13,14 @@ "name": "vcpkg-cmake-config", "host": true }, + { + "name": "vcpkg-get-python-packages", + "host": true + }, "zlib" ], "default-features": [ - "dnn", - "jpeg", - "png", - "quirc", - "tiff", - "webp" + "default-features" ], "features": { "ade": { @@ -30,16 +29,26 @@ "ade" ] }, + "calib3d": { + "description": "calib3d module" + }, "contrib": { "description": "opencv_contrib module", "dependencies": [ { "name": "hdf5", - "platform": "!uwp & !(windows & (arm | arm64))" + "platform": "!uwp & !(windows & (arm | arm64)) & !ios" + }, + { + "name": "opencv4", + "default-features": false, + "features": [ + "calib3d" + ] }, { "name": "tesseract", - "platform": "!uwp & !(windows & (arm | arm64))" + "platform": "!uwp & !(windows & (arm | arm64)) & !ios" } ] }, @@ -69,12 +78,95 @@ } ] }, + "dc1394": { + "description": "Dc1394 support for opencv", + "dependencies": [ + "libdc1394" + ] + }, + "default-features": { + "description": "Platform-dependent default features", + "dependencies": [ + { + "name": "opencv4", + "default-features": false, + "features": [ + "calib3d", + "fs", + "highgui", + "intrinsics", + "jpeg", + "png", + "quirc", + "thread", + "tiff", + "webp" + ] + }, + { + "name": "opencv4", + "default-features": false, + "features": [ + "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", + { + "name": "flatbuffers", + "host": true, + "default-features": false + }, "protobuf" ] }, + "dnn-cuda": { + "description": "Build dnn module with CUDA support", + "dependencies": [ + { + "name": "opencv4", + "default-features": false, + "features": [ + "cudnn", + "dnn" + ] + } + ] + }, + "dshow": { + "description": "Enable DirectShow" + }, "eigen": { "description": "Eigen support for opencv", "dependencies": [ @@ -96,12 +188,54 @@ } ] }, + "freetype": { + "description": "Freetype support for opencv", + "dependencies": [ + { + "name": "freetype", + "default-features": false + }, + { + "name": "harfbuzz", + "default-features": false + } + ] + }, + "fs": { + "description": "Enable filesystem support" + }, + "gapi": { + "description": "Enable gapi module", + "supports": "!uwp" + }, "gdcm": { "description": "GDCM support for opencv", "dependencies": [ "gdcm" ] }, + "gstreamer": { + "description": "gstreamer support for opencv", + "dependencies": [ + { + "name": "gstreamer", + "default-features": false, + "features": [ + "plugins-base" + ] + } + ] + }, + "gtk": { + "description": "GTK support for opencv", + "supports": "!windows & !osx & !ios & !android", + "dependencies": [ + { + "name": "gtk3", + "default-features": false + } + ] + }, "halide": { "description": "Halide support for opencv", "dependencies": [ @@ -118,11 +252,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" ] @@ -140,9 +281,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": [ @@ -155,11 +306,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", { @@ -177,12 +366,44 @@ "libpng" ] }, + "python": { + "description": "Python wrapper support for opencv", + "dependencies": [ + { + "name": "python3", + "default-features": false, + "features": [ + "extensions" + ] + } + ] + }, "qt": { "description": "Qt GUI support for opencv", "dependencies": [ + "qt5compat", { - "name": "qt5-base", - "default-features": false + "name": "qtbase", + "default-features": false, + "features": [ + "concurrent", + "gui", + "testlib", + "widgets" + ] + } + ] + }, + "quality": { + "description": "Build opencv_quality module", + "supports": "!uwp", + "dependencies": [ + { + "name": "opencv4", + "default-features": false, + "features": [ + "contrib" + ] } ] }, @@ -192,6 +413,18 @@ "quirc" ] }, + "rgbd": { + "description": "Build opencv_rgbd module", + "dependencies": [ + { + "name": "opencv4", + "default-features": false, + "features": [ + "contrib" + ] + } + ] + }, "sfm": { "description": "opencv_sfm module", "dependencies": [ @@ -216,14 +449,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": { @@ -235,7 +475,22 @@ "contrib" ] }, - "vtk" + { + "name": "vtk", + "default-features": false + } + ] + }, + "vulkan": { + "description": "Vulkan support for opencv dnn", + "dependencies": [ + { + "name": "opencv4", + "default-features": false, + "features": [ + "dnn" + ] + } ] }, "webp": { @@ -244,6 +499,10 @@ "libwebp" ] }, + "win32ui": { + "description": "Enable win32ui", + "supports": "windows & !uwp" + }, "world": { "description": "Compile to a single package support for opencv" } diff --git a/ports/opendnp3/deps/asio.cmake b/ports/opendnp3/deps/asio.cmake new file mode 100644 index 00000000000000..7645e466a3ab30 --- /dev/null +++ b/ports/opendnp3/deps/asio.cmake @@ -0,0 +1 @@ +find_package(asio CONFIG REQUIRED) diff --git a/ports/opendnp3/portfile.cmake b/ports/opendnp3/portfile.cmake index c62261e2e5c87e..d0b5b976f6abd5 100644 --- a/ports/opendnp3/portfile.cmake +++ b/ports/opendnp3/portfile.cmake @@ -1,33 +1,65 @@ -vcpkg_fail_port_install(ON_TARGET "uwp") - if (VCPKG_TARGET_IS_WINDOWS) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) endif() -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" STATICLIBS) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO dnp3/opendnp3 - REF 3.1.0 - SHA512 838a816a8d65d3c99dc489e0e3e4d25f0acdbe0f6f3cc21a6fdbaea11f84f7b1f54958097763d0eae8e1860ba209da4e5377cd3ea6ab08a48a25429860063179 - HEAD_REF master + REF 3.1.1 + SHA512 2d7b26753fa03596ab73944236e5f1d82656f38248cc23fd00f7a2cdac27f481e5fe51e68b5896b6740db1a6d9560f0262e473648e001601125f4af8b4a652c2 ) -file(COPY ${CURRENT_PORT_DIR}/opendnp3-config.cmake.in DESTINATION ${SOURCE_PATH}) +file(READ "${SOURCE_PATH}/deps/ser4cpp.cmake" ser4cpp_cmake) +if(ser4cpp_cmake MATCHES "https://github\\.com/automatak/ser4cpp/archive/([0-9a-f]*)\\.zip") + vcpkg_from_github( + OUT_SOURCE_PATH ser4cpp_src + REPO automatak/ser4cpp + REF "${CMAKE_MATCH_1}" + SHA512 cd8d634c0e9fadda357bdd832c382189461f4707ced4834604668df0aa4e396333cce8d676d4f98ba1b414664228518e9a24c6456204b9d96a5f2df078bada2c + ) +else() + message(FATAL_ERROR "Unable to determine version of ser4cpp") +endif() + +file(READ "${SOURCE_PATH}/deps/exe4cpp.cmake" exe4cpp_cmake) +if(exe4cpp_cmake MATCHES "https://github\\.com/automatak/exe4cpp/archive/([0-9a-f]*)\\.zip") + vcpkg_from_github( + OUT_SOURCE_PATH exe4cpp_src + REPO automatak/exe4cpp + REF "${CMAKE_MATCH_1}" + SHA512 c8946db752c0f8499d21c2da96b84676b8768954bcb1964f4c444c731d9871d8978cb96fe89b1125e91b861aef0984bdd943a4dccb91d17ba43f22c57673b7b2 + ) +else() + message(FATAL_ERROR "Unable to determine version of exe4cpp") +endif() + +file(COPY "${CMAKE_CURRENT_LIST_DIR}/opendnp3-config.cmake.in" DESTINATION "${SOURCE_PATH}") +file(COPY "${CMAKE_CURRENT_LIST_DIR}/deps/" DESTINATION "${SOURCE_PATH}/deps/") + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" STATICLIBS) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + tls DNP3_TLS +) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS -DSTATICLIBS=${STATICLIBS} -DDNP3_TLS=ON +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DDNP3_STATIC_LIBS=${STATICLIBS} + -DFETCHCONTENT_FULLY_DISCONNECTED=ON + -DFETCHCONTENT_SOURCE_DIR_SER4CPP=${ser4cpp_src} + -DFETCHCONTENT_SOURCE_DIR_EXE4CPP=${exe4cpp_src} + ${FEATURE_OPTIONS} ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake TARGET_PATH share/opendnp3) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -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) \ No newline at end of file diff --git a/ports/opendnp3/vcpkg.json b/ports/opendnp3/vcpkg.json index d853f8c866f314..98d7f33705729a 100644 --- a/ports/opendnp3/vcpkg.json +++ b/ports/opendnp3/vcpkg.json @@ -1,10 +1,27 @@ { "name": "opendnp3", - "version-string": "3.1.0", + "version": "3.1.1", + "port-version": 1, "description": "DNP3 (IEEE-1815) protocol stack. Modern C++ with bindings for .NET and Java.", "homepage": "https://github.com/dnp3/opendnp3/", + "supports": "!uwp", "dependencies": [ "asio", - "openssl" - ] + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "tls": { + "description": "Build TLS client/server support", + "dependencies": [ + "openssl" + ] + } + } } diff --git a/ports/openexr/0001-remove_find_package_macro.patch b/ports/openexr/0001-remove_find_package_macro.patch deleted file mode 100644 index 967e89a83c7e3f..00000000000000 --- a/ports/openexr/0001-remove_find_package_macro.patch +++ /dev/null @@ -1,87 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 111a603..109394f 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -25,22 +25,12 @@ endif() - project(OpenEXRMetaProject) - - --# An "official" way to make this a super-project --# basically overrides the find_package to not find anything --# for stuff we're including locally --set(as_subproject IlmBase OpenEXR) --macro(find_package) -- if(NOT "${ARGV0}" IN_LIST as_subproject) -- _find_package(${ARGV}) -- endif() --endmacro() -- - - # If you want to use ctest to configure, build and - # upload the results, cmake has builtin support for - # submitting to CDash, or any server who speaks the - # same protocol --# -+# - # These settings will need to be set for your environment, - # and then a script such as the example in - # -@@ -51,7 +41,7 @@ endmacro() - # cmake -S cmake/SampleCTestScript.cmake - # - # [or whatever you name the file you edit] --# -+# - #set(CTEST_PROJECT_NAME "OpenEXR") - #set(CTEST_NIGHTLY_START_TIME "01:01:01 UTC") - #set(CTEST_DROP_METHOD "http") # there are others... -diff --git a/OpenEXR/CMakeLists.txt b/OpenEXR/CMakeLists.txt -index 390b27f..87b2d01 100644 ---- a/OpenEXR/CMakeLists.txt -+++ b/OpenEXR/CMakeLists.txt -@@ -35,7 +35,6 @@ include(config/OpenEXRSetup.cmake) - - # Everyone depends on IlmBase, and we currently rely on - # the version matched with our release --find_package(IlmBase ${OPENEXR_VERSION} EXACT REQUIRED CONFIG) - - # generates config headers, package config files - add_subdirectory(config) -diff --git a/OpenEXR/config/OpenEXRSetup.cmake b/OpenEXR/config/OpenEXRSetup.cmake -index 5116726..34c7c87 100644 ---- a/OpenEXR/config/OpenEXRSetup.cmake -+++ b/OpenEXR/config/OpenEXRSetup.cmake -@@ -33,7 +33,7 @@ endif() - # Whether to build & install the various command line utility programs - option(OPENEXR_BUILD_UTILS "Enables building of utility programs" ON) - --# This is a variable here for use in controlling where include files are -+# This is a variable here for use in controlling where include files are - # installed. Care must be taken when changing this, as many things - # probably assume this is OpenEXR - set(OPENEXR_OUTPUT_SUBDIR OpenEXR CACHE STRING "Destination sub-folder of the include path for install") -diff --git a/OpenEXR_Viewers/CMakeLists.txt b/OpenEXR_Viewers/CMakeLists.txt -index 5efa353..5246fa7 100644 ---- a/OpenEXR_Viewers/CMakeLists.txt -+++ b/OpenEXR_Viewers/CMakeLists.txt -@@ -24,8 +24,6 @@ project(OpenEXR_Viewers VERSION ${OPENEXR_VIEWERS_VERSION}) - ####################################### - include(config/OpenEXRViewersSetup.cmake) - --find_package(IlmBase ${OPENEXR_VIEWERS_VERSION} EXACT REQUIRED CONFIG) --find_package(OpenEXR ${OPENEXR_VIEWERS_VERSION} EXACT REQUIRED CONFIG) - - # This is for newer cmake versions who know about vendor versions - set(OpenGL_GL_PREFERENCE GLVND) -diff --git a/PyIlmBase/CMakeLists.txt b/PyIlmBase/CMakeLists.txt -index 291b96e..7d5074f 100644 ---- a/PyIlmBase/CMakeLists.txt -+++ b/PyIlmBase/CMakeLists.txt -@@ -27,7 +27,6 @@ project(PyIlmBase VERSION ${PYILMBASE_VERSION} LANGUAGES C CXX) - include(config/PyIlmBaseSetup.cmake) - - # we have a strong dependence on IlmBase being an exact match --find_package(IlmBase ${PYILMBASE_VERSION} EXACT REQUIRED CONFIG) - - # we are building a python extension, so of course we depend on - # python as well. Except we don't know which version... diff --git a/ports/openexr/0002-fixup_cmake_exports_path.patch b/ports/openexr/0002-fixup_cmake_exports_path.patch deleted file mode 100644 index e39bd3792ff8a7..00000000000000 --- a/ports/openexr/0002-fixup_cmake_exports_path.patch +++ /dev/null @@ -1,78 +0,0 @@ -diff --git a/IlmBase/config/CMakeLists.txt b/IlmBase/config/CMakeLists.txt -index d9c5ae4..45ee6cc 100644 ---- a/IlmBase/config/CMakeLists.txt -+++ b/IlmBase/config/CMakeLists.txt -@@ -105,7 +105,7 @@ endif() - include(CMakePackageConfigHelpers) - configure_package_config_file(IlmBaseConfig.cmake.in - ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake -- INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME} -+ INSTALL_DESTINATION share/ilmbase - ) - write_basic_package_version_file("${PROJECT_NAME}ConfigVersion.cmake" - VERSION ${ILMBASE_VERSION} -@@ -113,10 +113,10 @@ write_basic_package_version_file("${PROJECT_NAME}ConfigVersion.cmake" - ) - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake - ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake -- DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME} -+ DESTINATION share/ilmbase - ) - install(EXPORT ${PROJECT_NAME} -- DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME} -+ DESTINATION share/ilmbase - FILE ${PROJECT_NAME}Targets.cmake - NAMESPACE ${PROJECT_NAME}:: - EXPORT_LINK_INTERFACE_LIBRARIES -diff --git a/OpenEXR/config/CMakeLists.txt b/OpenEXR/config/CMakeLists.txt -index b52ad0d..3dc6d22 100644 ---- a/OpenEXR/config/CMakeLists.txt -+++ b/OpenEXR/config/CMakeLists.txt -@@ -19,7 +19,7 @@ int main() - sysconf(_SC_NPROCESSORS_ONLN); - } - " OPENEXR_IMF_HAVE_SYSCONF_NPROCESSORS_ONLN --) -+) - - check_cxx_source_compiles( - " -@@ -100,7 +100,7 @@ endif() - include(CMakePackageConfigHelpers) - configure_package_config_file(OpenEXRConfig.cmake.in - ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake -- INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME} -+ INSTALL_DESTINATION share/openexr - ) - write_basic_package_version_file("${PROJECT_NAME}ConfigVersion.cmake" - VERSION ${OPENEXR_VERSION} -@@ -108,10 +108,10 @@ write_basic_package_version_file("${PROJECT_NAME}ConfigVersion.cmake" - ) - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake - ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake -- DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME} -+ DESTINATION share/openexr - ) - install(EXPORT ${PROJECT_NAME} -- DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME} -+ DESTINATION share/openexr - FILE ${PROJECT_NAME}Targets.cmake - NAMESPACE ${PROJECT_NAME}:: - EXPORT_LINK_INTERFACE_LIBRARIES -diff --git a/PyIlmBase/config/CMakeLists.txt b/PyIlmBase/config/CMakeLists.txt -index 1872c89..bc61f43 100644 ---- a/PyIlmBase/config/CMakeLists.txt -+++ b/PyIlmBase/config/CMakeLists.txt -@@ -39,10 +39,10 @@ write_basic_package_version_file("${PROJECT_NAME}ConfigVersion.cmake" - COMPATIBILITY SameMajorVersion - ) - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake -- DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME} -+ DESTINATION share/pyilmbase - ) - install(EXPORT ${PROJECT_NAME} -- DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME} -+ DESTINATION share/pyilmbase - FILE ${PROJECT_NAME}Config.cmake - NAMESPACE ${PROJECT_NAME}:: - EXPORT_LINK_INTERFACE_LIBRARIES diff --git a/ports/openexr/0003-remove_symlinks.patch b/ports/openexr/0003-remove_symlinks.patch deleted file mode 100644 index 89b9c53f3c96fc..00000000000000 --- a/ports/openexr/0003-remove_symlinks.patch +++ /dev/null @@ -1,40 +0,0 @@ -diff --git a/IlmBase/config/LibraryDefine.cmake b/IlmBase/config/LibraryDefine.cmake -index 44254a7..1f5d2a6 100644 ---- a/IlmBase/config/LibraryDefine.cmake -+++ b/IlmBase/config/LibraryDefine.cmake -@@ -101,15 +101,6 @@ function(ILMBASE_DEFINE_LIBRARY libname) - if(BUILD_SHARED_LIBS AND (NOT "${ILMBASE_LIB_SUFFIX}" STREQUAL "")) - set(verlibname ${CMAKE_SHARED_LIBRARY_PREFIX}${libname}${ILMBASE_LIB_SUFFIX}${CMAKE_SHARED_LIBRARY_SUFFIX}) - set(baselibname ${CMAKE_SHARED_LIBRARY_PREFIX}${libname}${CMAKE_SHARED_LIBRARY_SUFFIX}) -- if(WIN32) -- install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E chdir \"\$ENV\{DESTDIR\}${CMAKE_INSTALL_FULL_BINDIR}\" ${CMAKE_COMMAND} -E create_symlink ${verlibname} ${baselibname})") -- install(CODE "message(\"-- Creating symlink in ${CMAKE_INSTALL_FULL_BINDIR} ${baselibname} -> ${verlibname}\")") -- else() -- install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E chdir \"\$ENV\{DESTDIR\}${CMAKE_INSTALL_FULL_LIBDIR}\" ${CMAKE_COMMAND} -E create_symlink ${verlibname} ${baselibname})") -- install(CODE "message(\"-- Creating symlink in ${CMAKE_INSTALL_FULL_LIBDIR} ${baselibname} -> ${verlibname}\")") -- endif() -- set(verlibname) -- set(baselibname) - endif() - - if(ILMBASE_BUILD_BOTH_STATIC_SHARED) -diff --git a/OpenEXR/config/LibraryDefine.cmake b/OpenEXR/config/LibraryDefine.cmake -index a9561dc..42853af 100644 ---- a/OpenEXR/config/LibraryDefine.cmake -+++ b/OpenEXR/config/LibraryDefine.cmake -@@ -95,15 +95,6 @@ function(OPENEXR_DEFINE_LIBRARY libname) - if(BUILD_SHARED_LIBS AND (NOT "${OPENEXR_LIB_SUFFIX}" STREQUAL "")) - set(verlibname ${CMAKE_SHARED_LIBRARY_PREFIX}${libname}${OPENEXR_LIB_SUFFIX}${CMAKE_SHARED_LIBRARY_SUFFIX}) - set(baselibname ${CMAKE_SHARED_LIBRARY_PREFIX}${libname}${CMAKE_SHARED_LIBRARY_SUFFIX}) -- if(WIN32) -- install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E chdir \"\$ENV\{DESTDIR\}${CMAKE_INSTALL_FULL_BINDIR}\" ${CMAKE_COMMAND} -E create_symlink ${verlibname} ${baselibname})") -- install(CODE "message(\"-- Creating symlink in ${CMAKE_INSTALL_FULL_BINDIR} ${baselibname} -> ${verlibname}\")") -- else() -- install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E chdir \"\$ENV\{DESTDIR\}${CMAKE_INSTALL_FULL_LIBDIR}\" ${CMAKE_COMMAND} -E create_symlink ${verlibname} ${baselibname})") -- install(CODE "message(\"-- Creating symlink in ${CMAKE_INSTALL_FULL_DIR} ${baselibname} -> ${verlibname}\")") -- endif() -- set(verlibname) -- set(baselibname) - endif() - - if(OPENEXR_BUILD_BOTH_STATIC_SHARED) diff --git a/ports/openexr/0004-Fix-pkg-config-lib-suffix-for-cmake-debug-builds.patch b/ports/openexr/0004-Fix-pkg-config-lib-suffix-for-cmake-debug-builds.patch deleted file mode 100644 index 83ab73a217c776..00000000000000 --- a/ports/openexr/0004-Fix-pkg-config-lib-suffix-for-cmake-debug-builds.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 6cd6b32af052563e4cd5114a1d279736d1d8653a Mon Sep 17 00:00:00 2001 -From: "Matthias C. M. Troffaes" -Date: Tue, 1 Jun 2021 08:06:45 +0100 -Subject: [PATCH] Use CMAKE__POSTFIX for .pc file lib suffix. - -Signed-off-by: Matthias C. M. Troffaes ---- - IlmBase/config/CMakeLists.txt | 3 ++- - OpenEXR/config/CMakeLists.txt | 3 ++- - PyIlmBase/config/CMakeLists.txt | 3 ++- - 3 files changed, 6 insertions(+), 3 deletions(-) - -diff --git a/IlmBase/config/CMakeLists.txt b/IlmBase/config/CMakeLists.txt -index d9c5ae449..dfebb43bd 100644 ---- a/IlmBase/config/CMakeLists.txt -+++ b/IlmBase/config/CMakeLists.txt -@@ -78,7 +78,8 @@ if(ILMBASE_INSTALL_PKG_CONFIG) - set(exec_prefix "\${prefix}") - set(libdir "\${exec_prefix}/${CMAKE_INSTALL_LIBDIR}") - set(includedir "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}") -- set(LIB_SUFFIX_DASH ${ILMBASE_LIB_SUFFIX}) -+ string(TOUPPER "${CMAKE_BUILD_TYPE}" uppercase_CMAKE_BUILD_TYPE) -+ set(LIB_SUFFIX_DASH ${ILMBASE_LIB_SUFFIX}${CMAKE_${uppercase_CMAKE_BUILD_TYPE}_POSTFIX}) - if(TARGET Threads::Threads) - # hrm, can't use properties as they end up as generator expressions - # which don't seem to evaluate -diff --git a/OpenEXR/config/CMakeLists.txt b/OpenEXR/config/CMakeLists.txt -index 8386e3a0e..039190cd9 100644 ---- a/OpenEXR/config/CMakeLists.txt -+++ b/OpenEXR/config/CMakeLists.txt -@@ -77,7 +77,8 @@ if(OPENEXR_INSTALL_PKG_CONFIG) - set(exec_prefix "\${prefix}") - set(libdir "\${exec_prefix}/${CMAKE_INSTALL_LIBDIR}") - set(includedir "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}") -- set(LIB_SUFFIX_DASH ${OPENEXR_LIB_SUFFIX}) -+ string(TOUPPER "${CMAKE_BUILD_TYPE}" uppercase_CMAKE_BUILD_TYPE) -+ set(LIB_SUFFIX_DASH ${OPENEXR_LIB_SUFFIX}${CMAKE_${uppercase_CMAKE_BUILD_TYPE}_POSTFIX}) - if(TARGET Threads::Threads) - # hrm, can't use properties as they end up as generator expressions - # which don't seem to evaluate -diff --git a/PyIlmBase/config/CMakeLists.txt b/PyIlmBase/config/CMakeLists.txt -index 1872c89e7..a4139bcfd 100644 ---- a/PyIlmBase/config/CMakeLists.txt -+++ b/PyIlmBase/config/CMakeLists.txt -@@ -18,7 +18,8 @@ if(PYILMBASE_INSTALL_PKG_CONFIG) - set(exec_prefix ${CMAKE_INSTALL_BINDIR}) - set(libdir ${CMAKE_INSTALL_LIBDIR}) - set(includedir ${CMAKE_INSTALL_INCLUDEDIR}) -- set(LIB_SUFFIX_DASH ${OPENEXR_LIB_SUFFIX}) -+ string(TOUPPER "${CMAKE_BUILD_TYPE}" uppercase_CMAKE_BUILD_TYPE) -+ set(LIB_SUFFIX_DASH ${OPENEXR_LIB_SUFFIX}${CMAKE_${uppercase_CMAKE_BUILD_TYPE}_POSTFIX}) - string(REPLACE ".in" "" pcout ${pcinfile}) - configure_file(${pcinfile} ${CMAKE_CURRENT_BINARY_DIR}/${pcout} @ONLY) - install( diff --git a/ports/openexr/portfile.cmake b/ports/openexr/portfile.cmake index aac8fea5528019..e221f10104a2be 100644 --- a/ports/openexr/portfile.cmake +++ b/ports/openexr/portfile.cmake @@ -1,61 +1,58 @@ -if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - message(FATAL_ERROR "UWP build not supported") -endif() - vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO openexr/openexr - REF ed64d5467dee9763f28baf300f7699e6288b9f5f - SHA512 549d37ed1ef4d1ff7e732d583f7213ee15c7f92625aea9fd65345e4c5b854902c02e5940d0692b1af5ae0a02abf46aaefea2662db2389d1b2fb4264a373baac2 - HEAD_REF master - PATCHES - 0001-remove_find_package_macro.patch - 0002-fixup_cmake_exports_path.patch - 0003-remove_symlinks.patch - 0004-Fix-pkg-config-lib-suffix-for-cmake-debug-builds.patch # https://github.com/AcademySoftwareFoundation/openexr/pull/1032 + OUT_SOURCE_PATH SOURCE_PATH + REPO AcademySoftwareFoundation/openexr + REF "v${VERSION}" + SHA512 78f237ce5ec6a4f122d0609bf48c2a9dfcb701e3ce5587906050fbf32d2115dae1984e7cce0f554edda0bd7ec35e4c7aacfc3d1dfb51ea8aa9feebb7f2b3db59 + HEAD_REF main ) -vcpkg_configure_cmake(SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - -DCMAKE_DEBUG_POSTFIX=_d - -DPYILMBASE_ENABLE=FALSE +vcpkg_check_features(OUT_FEATURE_OPTIONS OPTIONS + FEATURES + tools OPENEXR_BUILD_TOOLS + tools OPENEXR_INSTALL_TOOLS +) +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${OPTIONS} + -DBUILD_TESTING=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 ) +vcpkg_cmake_install() +vcpkg_copy_pdbs() -vcpkg_install_cmake() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/OpenEXR) -vcpkg_fixup_cmake_targets(CONFIG_PATH share/ilmbase TARGET_PATH share/ilmbase) -vcpkg_fixup_cmake_targets() vcpkg_fixup_pkgconfig() -file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/exrenvmap${VCPKG_HOST_EXECUTABLE_SUFFIX}) -file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/exrheader${VCPKG_HOST_EXECUTABLE_SUFFIX}) -file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/exrmakepreview${VCPKG_HOST_EXECUTABLE_SUFFIX}) -file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/exrmaketiled${VCPKG_HOST_EXECUTABLE_SUFFIX}) -file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/exrmultipart${VCPKG_HOST_EXECUTABLE_SUFFIX}) -file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/exrmultiview${VCPKG_HOST_EXECUTABLE_SUFFIX}) -file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/exrstdattr${VCPKG_HOST_EXECUTABLE_SUFFIX}) -file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/exr2aces${VCPKG_HOST_EXECUTABLE_SUFFIX}) - -file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/openexr/) -file(RENAME ${CURRENT_PACKAGES_DIR}/bin/exrenvmap${VCPKG_HOST_EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/openexr/exrenvmap${VCPKG_HOST_EXECUTABLE_SUFFIX}) -file(RENAME ${CURRENT_PACKAGES_DIR}/bin/exrheader${VCPKG_HOST_EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/openexr/exrheader${VCPKG_HOST_EXECUTABLE_SUFFIX}) -file(RENAME ${CURRENT_PACKAGES_DIR}/bin/exrmakepreview${VCPKG_HOST_EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/openexr/exrmakepreview${VCPKG_HOST_EXECUTABLE_SUFFIX}) -file(RENAME ${CURRENT_PACKAGES_DIR}/bin/exrmaketiled${VCPKG_HOST_EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/openexr/exrmaketiled${VCPKG_HOST_EXECUTABLE_SUFFIX}) -file(RENAME ${CURRENT_PACKAGES_DIR}/bin/exrmultipart${VCPKG_HOST_EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/openexr/exrmultipart${VCPKG_HOST_EXECUTABLE_SUFFIX}) -file(RENAME ${CURRENT_PACKAGES_DIR}/bin/exrmultiview${VCPKG_HOST_EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/openexr/exrmultiview${VCPKG_HOST_EXECUTABLE_SUFFIX}) -file(RENAME ${CURRENT_PACKAGES_DIR}/bin/exrstdattr${VCPKG_HOST_EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/openexr/exrstdattr${VCPKG_HOST_EXECUTABLE_SUFFIX}) -file(RENAME ${CURRENT_PACKAGES_DIR}/bin/exr2aces${VCPKG_HOST_EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/openexr/exr2aces${VCPKG_HOST_EXECUTABLE_SUFFIX}) -vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/openexr) - -vcpkg_copy_pdbs() - -if (VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_LIBRARY_LINKAGE STREQUAL static) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) +if(OPENEXR_INSTALL_TOOLS) + vcpkg_copy_tools( + TOOL_NAMES + exr2aces + # not installed: exrcheck + exrenvmap + exrheader + exrinfo + exrmakepreview + exrmaketiled + exrmanifest + exrmultipart + exrmultiview + exrstdattr + AUTO_CLEAN + ) 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" + "${CURRENT_PACKAGES_DIR}/debug/share" +) -file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) -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}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.md") diff --git a/ports/openexr/usage b/ports/openexr/usage new file mode 100644 index 00000000000000..6b09d9db5fc41c --- /dev/null +++ b/ports/openexr/usage @@ -0,0 +1,4 @@ +openexr provides CMake targets: + + find_package(OpenEXR CONFIG REQUIRED) + target_link_libraries(main PRIVATE OpenEXR::OpenEXR) diff --git a/ports/openexr/vcpkg-cmake-wrapper.cmake b/ports/openexr/vcpkg-cmake-wrapper.cmake deleted file mode 100644 index 479cd302782d11..00000000000000 --- a/ports/openexr/vcpkg-cmake-wrapper.cmake +++ /dev/null @@ -1,38 +0,0 @@ -_find_package(${ARGS}) - -if(TARGET OpenEXR::IlmImf AND NOT OPENEXR_LIBRARIES AND NOT OPENEXR_FOUND) - set(OPENEXR_FOUND TRUE CACHE BOOL "") - set(OpenEXR_FOUND TRUE CACHE BOOL "") - set(OPENEXR_VERSION "2.5.0" CACHE STRING "") - set(OpenEXR_VERSION "2.5.0" CACHE STRING "") - get_target_property(OpenEXR_INCLUDE_DIRS OpenEXR::IlmImf INTERFACE_INCLUDE_DIRECTORIES) - get_target_property(OPENEXR_INCLUDE_PATHS OpenEXR::IlmImf INTERFACE_INCLUDE_DIRECTORIES) - get_target_property(OPENEXR_INCLUDE_DIRS OpenEXR::IlmImf INTERFACE_INCLUDE_DIRECTORIES) - get_target_property(OPENEXR_INCLUDE_DIR OpenEXR::IlmImf INTERFACE_INCLUDE_DIRECTORIES) - set(OpenEXR_INCLUDE_DIRS ${OpenEXR_INCLUDE_DIRS} CACHE STRING "") - set(OPENEXR_INCLUDE_PATHS ${OPENEXR_INCLUDE_PATHS} CACHE STRING "") - set(OPENEXR_INCLUDE_DIRS ${OPENEXR_INCLUDE_DIRS} CACHE STRING "") - set(OPENEXR_INCLUDE_DIR ${OPENEXR_INCLUDE_DIR} CACHE STRING "") - set(OPENEXR_ILMIMF_LIBRARY "OpenEXR::IlmImf" CACHE STRING "") - set(OPENEXR_ILMIMFUTIL_LIBRARY "OpenEXR::IlmImfUtil" CACHE STRING "") - set(OPENEXR_LIBRARIES ${OPENEXR_ILMIMFUTIL_LIBRARY} ${OPENEXR_ILMIMF_LIBRARY} CACHE STRING "") -endif() - -if(TARGET IlmBase::Half AND NOT ILMBASE_LIBRARIES AND NOT ILMBASE_FOUND) - set(ILMBASE_FOUND TRUE CACHE BOOL "") - set(IlmBASE_FOUND TRUE CACHE BOOL "") - set(ILMBASE_VERSION "2.5.0" CACHE STRING "") - set(IlmBASE_VERSION "2.5.0" CACHE STRING "") - get_target_property(ILMBASE_INCLUDE_DIR IlmBase::Half INTERFACE_INCLUDE_DIRECTORIES) - get_target_property(ILMBASE_INCLUDE_DIRS IlmBase::Half INTERFACE_INCLUDE_DIRECTORIES) - get_target_property(ILMBASE_INCLUDE_PATHS IlmBase::Half INTERFACE_INCLUDE_DIRECTORIES) - set(ILMBASE_INCLUDE_DIR ${ILMBASE_INCLUDE_DIR} CACHE STRING "") - set(ILMBASE_INCLUDE_DIRS ${ILMBASE_INCLUDE_DIRS} CACHE STRING "") - set(ILMBASE_INCLUDE_PATHS ${ILMBASE_INCLUDE_PATHS} CACHE STRING "") - set(OPENEXR_HALF_LIBRARY "IlmBase::Half" CACHE STRING "") - set(OPENEXR_IEX_LIBRARY "IlmBase::Iex" CACHE STRING "") - set(OPENEXR_IEXMATH_LIBRARY "IlmBase::IexMath" CACHE STRING "") - set(OPENEXR_ILMTHREAD_LIBRARY "IlmBase::IlmThread" CACHE STRING "") - set(OPENEXR_IMATH_LIBRARY "IlmBase::Imath" CACHE STRING "") - set(ILMBASE_LIBRARIES ${OPENEXR_IMATH_LIBRARY} ${OPENEXR_ILMTHREAD_LIBRARY} ${OPENEXR_IEXMATH_LIBRARY} ${OPENEXR_IEX_LIBRARY} ${OPENEXR_HALF_LIBRARY} CACHE STRING "") -endif() diff --git a/ports/openexr/vcpkg.json b/ports/openexr/vcpkg.json index b293e7047da35c..079323ea15ca95 100644 --- a/ports/openexr/vcpkg.json +++ b/ports/openexr/vcpkg.json @@ -1,11 +1,25 @@ { "name": "openexr", - "version-string": "2.5.0", - "port-version": 3, + "version": "3.3.1", "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": [ - "zlib" - ] + "imath", + "libdeflate", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "tools": { + "description": "Build tools" + } + } } diff --git a/ports/openfbx/CMakeLists.txt b/ports/openfbx/CMakeLists.txt new file mode 100644 index 00000000000000..820b4442c2b799 --- /dev/null +++ b/ports/openfbx/CMakeLists.txt @@ -0,0 +1,48 @@ +cmake_minimum_required(VERSION 3.11) + +project(OpenFBX LANGUAGES CXX) + +set(CMAKE_CXX_STANDARD 11) + +include(GNUInstallDirs) + +find_package(miniz REQUIRED) + +add_library(openfbx src/ofbx.cpp) +target_link_libraries(openfbx PRIVATE miniz::miniz) + +target_include_directories(openfbx + PUBLIC + $ + $) + +target_compile_definitions(openfbx PRIVATE _LARGEFILE64_SOURCE) + +install(TARGETS openfbx EXPORT unofficial-openfbxTargets + RUNTIME DESTINATION bin + ARCHIVE DESTINATION lib + LIBRARY DESTINATION lib + PUBLIC_HEADER DESTINATION include + INCLUDES DESTINATION include) + +include(CMakePackageConfigHelpers) +configure_package_config_file( + unofficial-openfbxConfig.cmake.in + "${CMAKE_CURRENT_BINARY_DIR}/unofficial-openfbxConfig.cmake" + INSTALL_DESTINATION "${CMAKE_INSTALL_DATADIR}/unofficial-openfbx" +) + +install( + FILES "${CMAKE_CURRENT_BINARY_DIR}/unofficial-openfbxConfig.cmake" + DESTINATION "${CMAKE_INSTALL_DATADIR}/unofficial-openfbx" +) + +install(FILES ${CMAKE_SOURCE_DIR}/src/ofbx.h + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} +) + +install( + EXPORT unofficial-openfbxTargets + NAMESPACE unoffical::openfbx:: + DESTINATION ${CMAKE_INSTALL_DATADIR}/unofficial-openfbx +) diff --git a/ports/openfbx/portfile.cmake b/ports/openfbx/portfile.cmake new file mode 100644 index 00000000000000..4e1e77b30c457d --- /dev/null +++ b/ports/openfbx/portfile.cmake @@ -0,0 +1,25 @@ +if (VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO nem0/OpenFBX + REF 6a788af3b19dd6921a64eb7e133a3fa131dfbbd5 + SHA512 c441e15ef0916e412af464c9f318a471cdbdc55225fe4282ff640243cd11dfcac6ff233ae8e60db63d1eaed1511d33ffa8d7ed37743c4580f8bde0724d7b6c47 + HEAD_REF master +) + +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") +file(COPY "${CMAKE_CURRENT_LIST_DIR}/unofficial-openfbxConfig.cmake.in" DESTINATION "${SOURCE_PATH}") + +vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}") +vcpkg_cmake_install() +vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-openfbx) + +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 new file mode 100644 index 00000000000000..421787837f23e3 --- /dev/null +++ b/ports/openfbx/unofficial-openfbxConfig.cmake.in @@ -0,0 +1,8 @@ +@PACKAGE_INIT@ + +include(CMakeFindDependencyMacro) +find_dependency(miniz) + +include("${CMAKE_CURRENT_LIST_DIR}/unofficial-openfbxTargets.cmake") + +check_required_components(miniz) diff --git a/ports/openfbx/vcpkg.json b/ports/openfbx/vcpkg.json new file mode 100644 index 00000000000000..6c59df51871843 --- /dev/null +++ b/ports/openfbx/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "openfbx", + "version-date": "2022-07-18", + "description": "Lightweight open source FBX importer", + "homepage": "https://github.com/nem0/OpenFBX", + "license": "MIT", + "dependencies": [ + "miniz", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "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 13f9386d759016..09d2adab4104b2 100644 --- a/ports/opengl-registry/portfile.cmake +++ b/ports/opengl-registry/portfile.cmake @@ -1,27 +1,32 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KhronosGroup/OpenGL-Registry - REF 4594c03239fb76580bc5d5a13acb2a8f563f0158 - SHA512 c005a4eb7e5c17002647e7762ae1a7ecba0d0780a62d66f1afd3b7f45c1ca49bd5a069ab0fabb94de3ec971604586457932941fa8eb924cf5ac3a959d8f5f146 + REF 3530768138c5ba3dfbb2c43c830493f632f7ea33 + SHA512 1b2260e2baf2f40964ff6677ce2c5f0e970752408e94b251d443de57c2021d8848dda8ba61ba67547692dfd283fd2351fc900da60e3973f14b7b9be8a5ec5145 HEAD_REF master ) -file(COPY ${SOURCE_PATH}/api/GL DESTINATION ${CURRENT_PACKAGES_DIR}/include) -file(COPY ${SOURCE_PATH}/api/GLES DESTINATION ${CURRENT_PACKAGES_DIR}/include) -file(COPY ${SOURCE_PATH}/api/GLES2 DESTINATION ${CURRENT_PACKAGES_DIR}/include) -file(COPY ${SOURCE_PATH}/api/GLES3 DESTINATION ${CURRENT_PACKAGES_DIR}/include) -file(COPY ${SOURCE_PATH}/api/GLSC DESTINATION ${CURRENT_PACKAGES_DIR}/include) -file(COPY ${SOURCE_PATH}/api/GLSC2 DESTINATION ${CURRENT_PACKAGES_DIR}/include) +file(COPY "${SOURCE_PATH}/api/GL" DESTINATION "${CURRENT_PACKAGES_DIR}/include") +file(COPY "${SOURCE_PATH}/api/GLES" DESTINATION "${CURRENT_PACKAGES_DIR}/include") +file(COPY "${SOURCE_PATH}/api/GLES2" DESTINATION "${CURRENT_PACKAGES_DIR}/include") +file(COPY "${SOURCE_PATH}/api/GLES3" DESTINATION "${CURRENT_PACKAGES_DIR}/include") +file(COPY "${SOURCE_PATH}/api/GLSC" DESTINATION "${CURRENT_PACKAGES_DIR}/include") +file(COPY "${SOURCE_PATH}/api/GLSC2" DESTINATION "${CURRENT_PACKAGES_DIR}/include") + +file(GLOB reg_files "${SOURCE_PATH}/xml/*.xml" "${SOURCE_PATH}/xml/readme.pdf" "${SOURCE_PATH}/xml/*.rnc" "${SOURCE_PATH}/xml/reg.py") file(COPY - ${SOURCE_PATH}/xml/gl.xml - ${SOURCE_PATH}/xml/glx.xml - ${SOURCE_PATH}/xml/wgl.xml - DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} + ${reg_files} + 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" [=[ +prefix=${pcfiledir}/../.. +datadir=${prefix}/share +specdir=${datadir}/opengl +Name: khronos-opengl-registry +Description: Khronos OpenGL registry +Version: git3530768138c5ba3dfbb2c43c830493f632f7ea33 +]=]) diff --git a/ports/opengl-registry/vcpkg.json b/ports/opengl-registry/vcpkg.json index 2ba48cf6abcadd..7e2db5b4460235 100644 --- a/ports/opengl-registry/vcpkg.json +++ b/ports/opengl-registry/vcpkg.json @@ -1,9 +1,10 @@ { "name": "opengl-registry", - "version-string": "2020-03-25", + "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": [ "egl-registry" ] diff --git a/ports/opengl/glu.pc.in b/ports/opengl/glu.pc.in new file mode 100644 index 00000000000000..8ed2fb0a18f41e --- /dev/null +++ b/ports/opengl/glu.pc.in @@ -0,0 +1,10 @@ +prefix=${pcfiledir}/../.. +libdir=${prefix}/lib +includedir=${prefix}/include + +Name: glu +Description: Windows OpenGL Utility library +Version: @WINDOWS_SDK_SEMVER@ +Requires: opengl +Libs: -L${libdir} -lglu32 +Cflags: @WINDOWS_GL_CFLAGS@ diff --git a/ports/opengl/opengl.pc.in b/ports/opengl/opengl.pc.in new file mode 100644 index 00000000000000..2bb10668750526 --- /dev/null +++ b/ports/opengl/opengl.pc.in @@ -0,0 +1,9 @@ +prefix=${pcfiledir}/../.. +libdir=${prefix}/lib +includedir=${prefix}/include + +Name: OpenGL +Description: Windows OpenGL library +Version: @WINDOWS_SDK_SEMVER@ +Libs: -L${libdir} -lopengl32 +Cflags: @WINDOWS_GL_CFLAGS@ diff --git a/ports/opengl/portfile.cmake b/ports/opengl/portfile.cmake index 72625fa15feb30..5943a0112e6f2f 100644 --- a/ports/opengl/portfile.cmake +++ b/ports/opengl/portfile.cmake @@ -1,67 +1,61 @@ -if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - vcpkg_get_windows_sdk(WINDOWS_SDK) - +function(copy_from_windows_sdk WINDOWS_SDK) if (WINDOWS_SDK MATCHES "10.") - file(TO_NATIVE_PATH "$ENV{WindowsSdkDir}Lib/${WINDOWS_SDK}/um/${TRIPLET_SYSTEM_ARCH}/OpenGL32.Lib" LIBGLFILEPATH) - file(TO_NATIVE_PATH "$ENV{WindowsSdkDir}Lib/${WINDOWS_SDK}/um/${TRIPLET_SYSTEM_ARCH}/GlU32.Lib" LIBGLUFILEPATH) - file(TO_NATIVE_PATH "$ENV{WindowsSdkDir}Include/${WINDOWS_SDK}/um" HEADERSPATH) + set(LIBGLFILEPATH "$ENV{WindowsSdkDir}Lib/${WINDOWS_SDK}/um/${TRIPLET_SYSTEM_ARCH}/OpenGL32.Lib") + set(LIBGLUFILEPATH "$ENV{WindowsSdkDir}Lib/${WINDOWS_SDK}/um/${TRIPLET_SYSTEM_ARCH}/GlU32.Lib") + set(HEADERSPATH "$ENV{WindowsSdkDir}Include/${WINDOWS_SDK}/um") + set(COPYRIGHT "See https://developer.microsoft.com/windows/downloads/windows-10-sdk for the Windows 10 SDK license.") elseif(WINDOWS_SDK MATCHES "8.") - file(TO_NATIVE_PATH "$ENV{WindowsSdkDir}Lib/winv6.3/um/${TRIPLET_SYSTEM_ARCH}/OpenGL32.Lib" LIBGLFILEPATH) - file(TO_NATIVE_PATH "$ENV{WindowsSdkDir}Lib/winv6.3/um/${TRIPLET_SYSTEM_ARCH}/GlU32.Lib" LIBGLUFILEPATH) - file(TO_NATIVE_PATH "$ENV{WindowsSdkDir}Include/um" HEADERSPATH) + set(LIBGLFILEPATH "$ENV{WindowsSdkDir}Lib/winv6.3/um/${TRIPLET_SYSTEM_ARCH}/OpenGL32.Lib") + set(LIBGLUFILEPATH "$ENV{WindowsSdkDir}Lib/winv6.3/um/${TRIPLET_SYSTEM_ARCH}/GlU32.Lib") + set(HEADERSPATH "$ENV{WindowsSdkDir}Include/um") + set(COPYRIGHT "See https://developer.microsoft.com/windows/downloads/windows-8-1-sdk for the Windows 8.1 SDK license.") else() message(FATAL_ERROR "Portfile not yet configured for Windows SDK with version: ${WINDOWS_SDK}") endif() if (NOT EXISTS "${LIBGLFILEPATH}") - message(FATAL_ERROR "Cannot find Windows ${WINDOWS_SDK} SDK. File does not exist: ${LIBGLFILEPATH}") + file(TO_NATIVE_PATH "${LIBGLFILEPATH}" DISPLAY) + message(FATAL_ERROR "Cannot find Windows ${WINDOWS_SDK} SDK. File does not exist: ${DISPLAY}") endif() if (NOT EXISTS "${LIBGLUFILEPATH}") - message(FATAL_ERROR "Cannot find Windows ${WINDOWS_SDK} SDK. File does not exist: ${LIBGLUFILEPATH}") + file(TO_NATIVE_PATH "${LIBGLUFILEPATH}" DISPLAY) + message(FATAL_ERROR "Cannot find Windows ${WINDOWS_SDK} SDK. File does not exist: ${DISPLAY}") endif() - file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}/include/gl" INCLUDEGLPATH) - file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}/share/opengl" SHAREOPENGLPATH) - file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}/lib" RELEASELIBPATH) - file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}/debug/lib" DEBUGLIBPATH) - file(TO_NATIVE_PATH "${HEADERSPATH}/gl/GL.h" GLGLHPATH) - file(TO_NATIVE_PATH "${HEADERSPATH}/gl/GLU.h" GLGLUHPATH) - - file(MAKE_DIRECTORY - "${INCLUDEGLPATH}" - "${SHAREOPENGLPATH}" - ) - if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - file(MAKE_DIRECTORY - "${RELEASELIBPATH}" - ) - endif() - if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(MAKE_DIRECTORY - "${DEBUGLIBPATH}" - ) + file(INSTALL "${HEADERSPATH}/GL/gl.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include/GL") + file(INSTALL "${HEADERSPATH}/GL/glu.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include/GL") + file(INSTALL "${LIBGLFILEPATH}" DESTINATION "${CURRENT_PACKAGES_DIR}/lib") + file(INSTALL "${LIBGLUFILEPATH}" DESTINATION "${CURRENT_PACKAGES_DIR}/lib") + if (NOT VCPKG_BUILD_TYPE) + file(INSTALL "${LIBGLFILEPATH}" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") + file(INSTALL "${LIBGLUFILEPATH}" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") endif() - file(COPY - "${GLGLHPATH}" - "${GLGLUHPATH}" - DESTINATION "${INCLUDEGLPATH}" - ) - if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - file(COPY ${LIBGLFILEPATH} DESTINATION "${RELEASELIBPATH}") - file(COPY ${LIBGLUFILEPATH} DESTINATION "${RELEASELIBPATH}") - endif() - if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(COPY ${LIBGLFILEPATH} DESTINATION "${DEBUGLIBPATH}") - file(COPY ${LIBGLUFILEPATH} DESTINATION "${DEBUGLIBPATH}") - endif() + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/share/${PORT}") + file(WRITE "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" "${COPYRIGHT}") +endfunction() - if (WINDOWS_SDK MATCHES "10.") - file(WRITE ${CURRENT_PACKAGES_DIR}/share/opengl/copyright "See https://developer.microsoft.com/windows/downloads/windows-10-sdk for the Windows 10 SDK license") - elseif(WINDOWS_SDK MATCHES "8.") - file(WRITE ${CURRENT_PACKAGES_DIR}/share/opengl/copyright "See https://developer.microsoft.com/windows/downloads/windows-8-1-sdk for the Windows 8.1 SDK license") - endif() +if(VCPKG_TARGET_IS_WINDOWS) + if(VCPKG_TARGET_IS_MINGW) + set(VCPKG_POLICY_EMPTY_PACKAGE enabled) + set(WINDOWS_SDK_SEMVER "10.0.0") + set(WINDOWS_GL_CFLAGS "") + else() + vcpkg_get_windows_sdk(WINDOWS_SDK) + copy_from_windows_sdk("${WINDOWS_SDK}") + string(REGEX MATCH "^([0-9]+)\\.([0-9]+)\\.([0-9]+)" WINDOWS_SDK_SEMVER "${WINDOWS_SDK}") + set(WINDOWS_GL_CFLAGS "-I\${includedir}") + endif() + configure_file("${CMAKE_CURRENT_LIST_DIR}/opengl.pc.in" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/opengl.pc" @ONLY) + configure_file("${CMAKE_CURRENT_LIST_DIR}/glu.pc.in" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/glu.pc" @ONLY) + if(NOT VCPKG_BUILD_TYPE) + file(COPY "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/opengl.pc" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig") + file(COPY "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/glu.pc" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig") + endif() + vcpkg_fixup_pkgconfig() else() set(VCPKG_POLICY_EMPTY_PACKAGE enabled) endif() + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/opengl/vcpkg.json b/ports/opengl/vcpkg.json index da77cb58b28bf2..6e3a19686eb3bf 100644 --- a/ports/opengl/vcpkg.json +++ b/ports/opengl/vcpkg.json @@ -1,6 +1,11 @@ { "name": "opengl", - "version-string": "0.0", - "port-version": 9, - "description": "Open Graphics Library (OpenGL)[3][4][5] is a cross-language, cross-platform application programming interface (API) for rendering 2D and 3D vector graphics." + "version-date": "2022-12-04", + "port-version": 3, + "description": "Open Graphics Library (OpenGL)[3][4][5] is a cross-language, cross-platform application programming interface (API) for rendering 2D and 3D vector graphics.", + "license": null, + "supports": "!uwp & !xbox", + "dependencies": [ + "opengl-registry" + ] } diff --git a/ports/openh264/portfile.cmake b/ports/openh264/portfile.cmake index 903bb593996a14..d2848c790dd292 100644 --- a/ports/openh264/portfile.cmake +++ b/ports/openh264/portfile.cmake @@ -28,6 +28,13 @@ vcpkg_install_meson() vcpkg_copy_pdbs() vcpkg_fixup_pkgconfig() +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/openh264.pc" " -lstdc++" "") + if(NOT VCPKG_BUILD_TYPE) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/openh264.pc" " -lstdc++" "") + endif() +endif() + if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") endif() diff --git a/ports/openh264/vcpkg.json b/ports/openh264/vcpkg.json index f05ee097824339..00766959931b9d 100644 --- a/ports/openh264/vcpkg.json +++ b/ports/openh264/vcpkg.json @@ -1,11 +1,14 @@ { "name": "openh264", "version-date": "2021-03-16", - "port-version": 2, + "port-version": 4, "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", "dependencies": [ - "tool-meson" + { + "name": "vcpkg-tool-meson", + "host": true + } ] } diff --git a/ports/openigtlink/portfile.cmake b/ports/openigtlink/portfile.cmake index e5e6dd466c35dc..4dc805c520558d 100644 --- a/ports/openigtlink/portfile.cmake +++ b/ports/openigtlink/portfile.cmake @@ -6,21 +6,19 @@ vcpkg_from_github( HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_TESTING=OFF -DOpenIGTLink_INSTALL_PACKAGE_DIR=share/${PORT} ) -vcpkg_install_cmake() +vcpkg_cmake_install() -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") vcpkg_copy_pdbs() # Handle copyright -file(COPY ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) \ No newline at end of file +file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) \ No newline at end of file diff --git a/ports/openigtlink/vcpkg.json b/ports/openigtlink/vcpkg.json index a106056b515650..c517b0e6ad488e 100644 --- a/ports/openigtlink/vcpkg.json +++ b/ports/openigtlink/vcpkg.json @@ -1,7 +1,13 @@ { "name": "openigtlink", - "version-string": "3.0", - "port-version": 2, + "version": "3.0", + "port-version": 4, "description": "OpenIGTLink is an open-source network communication interface specifically designed for image-guided interventions.", - "homepage": "https://github.com/openigtlink/OpenIGTLink" + "homepage": "https://github.com/openigtlink/OpenIGTLink", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/openimageio/disable-test.patch b/ports/openimageio/disable-test.patch deleted file mode 100644 index fc46c40b47176a..00000000000000 --- a/ports/openimageio/disable-test.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 54fe7d9..65f47fd 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -281,11 +281,12 @@ install (EXPORT OIIO_EXPORTED_TARGETS - FILE ${OIIO_TARGETS_EXPORT_NAME} - NAMESPACE ${PROJECT_NAME}::) - -- -+if (0) - if (NOT ${PROJECT_NAME}_IS_SUBPROJECT) - oiio_setup_test_data() - oiio_add_all_tests() - endif () -+endif () - - if (NOT ${PROJECT_NAME}_IS_SUBPROJECT) - include (packaging) diff --git a/ports/openimageio/fix-config-cmake.patch b/ports/openimageio/fix-config-cmake.patch deleted file mode 100644 index e943d1c1eb19bb..00000000000000 --- a/ports/openimageio/fix-config-cmake.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/src/cmake/Config.cmake.in b/src/cmake/Config.cmake.in -index c578a1b..298362a 100644 ---- a/src/cmake/Config.cmake.in -+++ b/src/cmake/Config.cmake.in -@@ -14,6 +14,6 @@ set (@PROJECT_NAME@_PLUGIN_SEARCH_PATH "@PLUGIN_SEARCH_PATH_NATIVE@") - #...logic to determine installedPrefix from the own location... - #set (@PROJECT_NAME@_CONFIG_DIR "${installedPrefix}/@CONFIG_INSTALL_DIR@") - --include ("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") -+include("${CMAKE_CURRENT_LIST_DIR}/OpenImageIOTargets.cmake") - - check_required_components ("@PROJECT_NAME@") diff --git a/ports/openimageio/fix-dependencies.patch b/ports/openimageio/fix-dependencies.patch index 433d960e3ee300..9af314c2705898 100644 --- a/ports/openimageio/fix-dependencies.patch +++ b/ports/openimageio/fix-dependencies.patch @@ -1,156 +1,102 @@ -diff --git a/src/cmake/Config.cmake.in b/src/cmake/Config.cmake.in -index 740da06..a34d4c9 100644 +diff -u -r a/src/cmake/Config.cmake.in b/src/cmake/Config.cmake.in --- a/src/cmake/Config.cmake.in +++ b/src/cmake/Config.cmake.in -@@ -11,6 +11,9 @@ elseif (@OpenEXR_VERSION@ VERSION_GREATER_EQUAL 2.4 AND @FOUND_OPENEXR_WITH_CONF - HINTS @IlmBase_DIR@ @OpenEXR_DIR@) - find_dependency(OpenEXR @OpenEXR_VERSION@ - HINTS @OpenEXR_DIR@) -+ find_dependency(libpng CONFIG REQUIRED) -+ find_dependency(libheif CONFIG REQUIRED) -+ find_dependency(unofficial-libsquish CONFIG REQUIRED) - find_dependency(ZLIB @ZLIB_VERSION@) # Because OpenEXR doesn't do it - find_dependency(Threads) # Because OpenEXR doesn't do it - endif () -diff --git a/src/cmake/externalpackages.cmake b/src/cmake/externalpackages.cmake -index 957abe3..2c093dd 100644 ---- a/src/cmake/externalpackages.cmake -+++ b/src/cmake/externalpackages.cmake -@@ -148,7 +148,7 @@ find_python() - # Dependencies for optional formats and features. If these are not found, - # we will continue building, but the related functionality will be disabled. +@@ -6,6 +6,30 @@ --checked_find_package (PNG) -+checked_find_package (png PREFER_CONFIG) + include(CMakeFindDependencyMacro) - checked_find_package (BZip2) # Used by ffmpeg and freetype - if (NOT BZIP2_FOUND) -@@ -158,8 +158,6 @@ endif () ++find_dependency(Boost COMPONENTS @Boost_COMPONENTS@) ++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) ++endif() ++if(@USE_OPENCOLORIO@) ++ find_dependency(OpenColorIO CONFIG) ++endif() ++if(@USE_OPENJPEG@) ++ find_dependency(OpenJPEG CONFIG) ++endif() ++if(@USE_WEBP@) ++ find_dependency(WebP CONFIG) ++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) +diff -u -r a/src/cmake/externalpackages.cmake b/src/cmake/externalpackages.cmake +--- a/src/cmake/externalpackages.cmake ++++ b/src/cmake/externalpackages.cmake +@@ -177,10 +177,13 @@ checked_find_package (Freetype DEFINITIONS -DUSE_FREETYPE=1 ) --checked_find_package (HDF5 -- ISDEPOF Field3D) - checked_find_package (OpenColorIO +-checked_find_package (OpenColorIO ++set(OPENCOLORIO_INCLUDES "") ++set(OPENCOLORIO_LIBRARIES OpenColorIO::OpenColorIO) ++checked_find_package (OpenColorIO CONFIG DEFINITIONS -DUSE_OCIO=1 -DUSE_OPENCOLORIO=1 # PREFER_CONFIG -@@ -176,15 +174,15 @@ checked_find_package (TBB 2017 - checked_find_package (DCMTK VERSION_MIN 3.6.1) # For DICOM images - checked_find_package (FFmpeg VERSION_MIN 3.0) - checked_find_package (Field3D -- DEPS HDF5 -- DEFINITIONS -DUSE_FIELD3D=1) -+ DEFINITIONS -DUSE_FIELD3D=1) + ) ++set(OPENCOLORIO_FOUND "${OpenColorIO_FOUND}") + if (OpenColorIO_FOUND) + option (OIIO_DISABLE_BUILTIN_OCIO_CONFIGS + "For deveoper debugging/testing ONLY! Disable OCIO 2.2 builtin configs." OFF) +@@ -191,7 +194,9 @@ + set (OpenColorIO_FOUND 0) + endif () + +-checked_find_package (OpenCV 3.0 ++set(OPENCV_INCLUDES "") ++set(OPENCV_LIBRARIES opencv_core) ++checked_find_package (OpenCV CONFIG + DEFINITIONS -DUSE_OPENCV=1) + + # Intel TBB +@@ -205,12 +210,16 @@ + PREFER_CONFIG) + +-checked_find_package (FFmpeg VERSION_MIN 3.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") # For HEIF/HEIC/AVIF formats --checked_find_package (Libheif VERSION_MIN 1.3 -+checked_find_package (libheif VERSION_MIN 1.3 -+ PREFER_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) -@@ -291,7 +289,8 @@ endmacro() - option (USE_EMBEDDED_LIBSQUISH - "Force use of embedded Libsquish, even if external is found" OFF) - if (NOT USE_EMBEDDED_LIBSQUISH) -- checked_find_package (Libsquish) -+ checked_find_package (unofficial-libsquish PREFER_CONFIG) -+ set(Libsquish_FOUND 1) ++set(LIBHEIF_INCLUDES "") ++set(LIBHEIF_LIBRARIES heif) + checked_find_package (Libheif VERSION_MIN 1.3 + RECOMMEND_MIN 1.16 + RECOMMEND_MIN_REASON "for orientation support") +@@ -231,9 +240,8 @@ + # set (LIBRAW_FOUND 0) endif () +-checked_find_package (OpenJPEG VERSION_MIN 2.0 +- RECOMMEND_MIN 2.2 +- RECOMMEND_MIN_REASON "for multithreading support") ++set(CMAKE_REQUIRE_FIND_PACKAGE_OpenJPEG ${USE_OPENJPEG}) ++checked_find_package (OpenJPEG CONFIG) + # 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. -diff --git a/src/dds.imageio/CMakeLists.txt b/src/dds.imageio/CMakeLists.txt -index d693453..9bef055 100644 ---- a/src/dds.imageio/CMakeLists.txt -+++ b/src/dds.imageio/CMakeLists.txt -@@ -5,7 +5,7 @@ - if (Libsquish_FOUND) - # External libsquish was found -- use it - add_oiio_plugin (ddsinput.cpp -- LINK_LIBRARIES Libsquish::Libsquish -+ LINK_LIBRARIES unofficial::libsquish::squish - ) - else () - # No external libsquish was found -- use the embedded version. -diff --git a/src/field3d.imageio/CMakeLists.txt b/src/field3d.imageio/CMakeLists.txt -index a9e54e3..cc73ac4 100644 ---- a/src/field3d.imageio/CMakeLists.txt -+++ b/src/field3d.imageio/CMakeLists.txt -@@ -9,7 +9,7 @@ if (Field3D_FOUND) - endif () - add_oiio_plugin (field3dinput.cpp field3doutput.cpp - INCLUDE_DIRS ${FIELD3D_INCLUDES} -- LINK_LIBRARIES Field3D::Field3D -+ LINK_LIBRARIES ${FIELD3D_LIBRARIES} - # ${HDF5_LIBRARIES} - ${SZIP_LIBRARY}) - endif() -diff --git a/src/heif.imageio/CMakeLists.txt b/src/heif.imageio/CMakeLists.txt -index fed8001..15e87ae 100644 ---- a/src/heif.imageio/CMakeLists.txt -+++ b/src/heif.imageio/CMakeLists.txt -@@ -2,9 +2,9 @@ - # SPDX-License-Identifier: BSD-3-Clause - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - --if (Libheif_FOUND) -+if (libheif_FOUND) - add_oiio_plugin (heifinput.cpp heifoutput.cpp -- LINK_LIBRARIES Libheif::Libheif -+ LINK_LIBRARIES heif - DEFINITIONS "-DUSE_HEIF=1") - else () - message (WARNING "heif plugin will not be built") -diff --git a/src/ico.imageio/CMakeLists.txt b/src/ico.imageio/CMakeLists.txt -index 9ba76ac..13db4ac 100644 ---- a/src/ico.imageio/CMakeLists.txt -+++ b/src/ico.imageio/CMakeLists.txt -@@ -2,9 +2,15 @@ - # SPDX-License-Identifier: BSD-3-Clause - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - --if (TARGET PNG::PNG) -+if (libpng_FOUND) -+ if (TARGET png_static) -+ set(PNG_TARGET png_static) -+ elseif (TARGET png) -+ set(PNG_TARGET png) -+ endif() -+ - add_oiio_plugin (icoinput.cpp icooutput.cpp -- LINK_LIBRARIES PNG::PNG ZLIB::ZLIB) -+ LINK_LIBRARIES ${PNG_TARGET} ZLIB::ZLIB) - else () - message (WARNING "libpng not found, so ICO support will not work") - set (format_plugin_definitions ${format_plugin_definitions} DISABLE_ICO=1 PARENT_SCOPE) -diff --git a/src/openvdb.imageio/CMakeLists.txt b/src/openvdb.imageio/CMakeLists.txt -index 57a0f62..3a07c31 100644 ---- a/src/openvdb.imageio/CMakeLists.txt -+++ b/src/openvdb.imageio/CMakeLists.txt -@@ -4,6 +4,6 @@ - - if (OpenVDB_FOUND) - add_oiio_plugin (openvdbinput.cpp -- INCLUDE_DIRS ${TBB_INCLUDE_DIRS} -- LINK_LIBRARIES OpenVDB::OpenVDB ${TBB_tbb_LIBRARY} ${BOOST_LIBRARIES}) -+ INCLUDE_DIRS ${OPENVDB_INCLUDES} ${TBB_INCLUDE_DIRS} -+ LINK_LIBRARIES ${OPENVDB_LIBRARIES} ${TBB_tbb_LIBRARY} ${BOOST_LIBRARIES}) - endif() -diff --git a/src/webp.imageio/CMakeLists.txt b/src/webp.imageio/CMakeLists.txt -index 44462c4..e1cb068 100644 ---- a/src/webp.imageio/CMakeLists.txt -+++ b/src/webp.imageio/CMakeLists.txt -@@ -4,7 +4,8 @@ +@@ -255,6 +263,8 @@ + checked_find_package (Ptex) + endif () - if (WebP_FOUND) - add_oiio_plugin (webpinput.cpp webpoutput.cpp -- LINK_LIBRARIES WebP::WebP WebP::WebPDemux -+ INCLUDE_DIRS ${WEBP_INCLUDES} -+ LINK_LIBRARIES ${WEBP_LIBRARIES} - DEFINITIONS "-DUSE_WEBP=1") - else () - message (STATUS "WebP plugin will not be built") ++set(WEBP_INCLUDES "") ++set(WEBP_LIBRARIES WebP::webp WebP::webpdemux) + checked_find_package (WebP) + # Note: When WebP 1.1 (released late 2019) is our minimum, we can use their + # exported configs and remove our FindWebP.cmake module. diff --git a/ports/openimageio/fix-dependency-libraw.patch b/ports/openimageio/fix-dependency-libraw.patch new file mode 100644 index 00000000000000..1c006bb97846e4 --- /dev/null +++ b/ports/openimageio/fix-dependency-libraw.patch @@ -0,0 +1,14 @@ +diff --git a/src/cmake/Config.cmake.in b/src/cmake/Config.cmake.in +index 4aee211..fa71d86 100644 +--- a/src/cmake/Config.cmake.in ++++ b/src/cmake/Config.cmake.in +@@ -25,6 +25,9 @@ endif() + 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) diff --git a/ports/openimageio/fix-openexr-dll.patch b/ports/openimageio/fix-openexr-dll.patch new file mode 100644 index 00000000000000..d5b7d8c7d44d82 --- /dev/null +++ b/ports/openimageio/fix-openexr-dll.patch @@ -0,0 +1,13 @@ +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 new file mode 100644 index 00000000000000..ef16615df28d41 --- /dev/null +++ b/ports/openimageio/fix-openexr-target-missing.patch @@ -0,0 +1,13 @@ +diff --git a/src/cmake/Config.cmake.in b/src/cmake/Config.cmake.in +index 08401a2..4f2694e 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@ ++ 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@) diff --git a/ports/openimageio/fix-openimageio_include_dir.patch b/ports/openimageio/fix-openimageio_include_dir.patch new file mode 100644 index 00000000000000..96e1db16971455 --- /dev/null +++ b/ports/openimageio/fix-openimageio_include_dir.patch @@ -0,0 +1,13 @@ +diff --git a/src/cmake/Config.cmake.in b/src/cmake/Config.cmake.in +index 2a67ee3..11a5d67 100644 +--- a/src/cmake/Config.cmake.in ++++ b/src/cmake/Config.cmake.in +@@ -53,7 +53,7 @@ endif () + + # Compute the installation prefix relative to this file. Note that cmake files are installed + # to ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME} (see OIIO_CONFIG_INSTALL_DIR) +-get_filename_component(_CURR_INSTALL_LIBDIR "${CMAKE_CURRENT_LIST_DIR}/../../" ABSOLUTE) ++get_filename_component(_CURR_INSTALL_LIBDIR "${CMAKE_CURRENT_LIST_DIR}/../" ABSOLUTE) + get_filename_component(_ABS_CMAKE_INSTALL_LIBDIR "@CMAKE_INSTALL_FULL_LIBDIR@" ABSOLUTE) + get_filename_component(_ABS_CMAKE_INSTALL_INCLUDEDIR "@CMAKE_INSTALL_FULL_INCLUDEDIR@" ABSOLUTE) + file(RELATIVE_PATH _INCLUDEDIR_RELATIVE_TO_LIBDIR diff --git a/ports/openimageio/fix-static-ffmpeg.patch b/ports/openimageio/fix-static-ffmpeg.patch new file mode 100644 index 00000000000000..e21cacd7ce56fb --- /dev/null +++ b/ports/openimageio/fix-static-ffmpeg.patch @@ -0,0 +1,17 @@ +diff -u -r a/src/python/CMakeLists.txt b/src/python/CMakeLists.txt +--- a/src/python/CMakeLists.txt ++++ b/src/python/CMakeLists.txt +@@ -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) ++ check_linker_flag(C "LINKER:-Bsymbolic" supports_bsymbolic) ++ if(supports_bsymbolic) ++ add_link_options("LINKER:-Bsymbolic") ++ endif() ++endif() + + file (GLOB python_srcs *.cpp) + setup_python_module (TARGET PyOpenImageIO diff --git a/ports/openimageio/fix_static_build.patch b/ports/openimageio/fix_static_build.patch deleted file mode 100644 index a5ebb467a5d521..00000000000000 --- a/ports/openimageio/fix_static_build.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/cmake/compiler.cmake b/src/cmake/compiler.cmake -index 1468be3..ed4167a 100644 ---- a/src/cmake/compiler.cmake -+++ b/src/cmake/compiler.cmake -@@ -482,7 +482,7 @@ set (EXTRA_DSO_LINK_ARGS "" CACHE STRING "Extra command line definitions when bu - # - option (BUILD_SHARED_LIBS "Build shared libraries (set to OFF to build static libs)" ON) - if (NOT BUILD_SHARED_LIBS) -- add_definitions (-D${PROJ_NAME}_STATIC_DEFINE=1) -+ add_definitions (-DOIIO_STATIC_DEFINE=1) - endif () - - diff --git a/ports/openimageio/imath-version-guard.patch b/ports/openimageio/imath-version-guard.patch new file mode 100644 index 00000000000000..00a1e43e6bf374 --- /dev/null +++ b/ports/openimageio/imath-version-guard.patch @@ -0,0 +1,15 @@ +diff -u -r a/src/cmake/externalpackages.cmake b/src/cmake/externalpackages.cmake +--- a/src/cmake/externalpackages.cmake ++++ b/src/cmake/externalpackages.cmake +@@ -193,6 +193,11 @@ + else () + set (OpenColorIO_FOUND 0) + endif () ++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) diff --git a/ports/openimageio/portfile.cmake b/ports/openimageio/portfile.cmake index 9d49af03dc2e2d..e191800cc7bf48 100644 --- a/ports/openimageio/portfile.cmake +++ b/ports/openimageio/portfile.cmake @@ -1,92 +1,113 @@ -if("field3d" IN_LIST FEATURES) - vcpkg_fail_port_install( - ON_TARGET WINDOWS UWP - MESSAGE "The field3d feature is not supported on Windows" - ) -endif() - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO OpenImageIO/oiio - REF 9f74cf4d9813bfdcad5bca08b4ff75a25d056cb0 # 2.3.7.2 - SHA512 cebc388e842e983f010c5f3bf57bed3fe1ae9d2eac79019472f8431b194d6a8b156b27cc5688bd0998aa2d01959d47bcdc7e637417f755433ffe32c491cdc376 + REPO AcademySoftwareFoundation/OpenImageIO + REF "v${VERSION}" + SHA512 1e24d7ffc3ad65a1fe1f53ae59006de912c0a8d85827d64671fab95350977e22e2d147cf26ffe362646c768747ec11e6f9aeae04ea66030f82ad597adf3135a5 HEAD_REF master PATCHES - fix-config-cmake.patch - fix_static_build.patch - disable-test.patch 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-dependency-libraw.patch ) file(REMOVE_RECURSE "${SOURCE_PATH}/ext") -file(REMOVE "${SOURCE_PATH}/src/cmake/modules/FindLibRaw.cmake" - "${SOURCE_PATH}/src/cmake/modules/FindOpenCV.cmake" - "${SOURCE_PATH}/src/cmake/modules/FindFFmpeg.cmake") - -file(MAKE_DIRECTORY "${SOURCE_PATH}/ext/robin-map/tsl") - -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" LINKSTATIC) +file(REMOVE + "${SOURCE_PATH}/src/cmake/modules/FindFFmpeg.cmake" + "${SOURCE_PATH}/src/cmake/modules/FindLibheif.cmake" + "${SOURCE_PATH}/src/cmake/modules/FindLibRaw.cmake" + "${SOURCE_PATH}/src/cmake/modules/FindLibsquish.cmake" + "${SOURCE_PATH}/src/cmake/modules/FindOpenCV.cmake" + "${SOURCE_PATH}/src/cmake/modules/FindOpenJPEG.cmake" + "${SOURCE_PATH}/src/cmake/modules/FindWebP.cmake" + "${SOURCE_PATH}/src/cmake/modules/Findfmt.cmake" + "${SOURCE_PATH}/src/cmake/modules/FindTBB.cmake" +) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES libraw USE_LIBRAW opencolorio USE_OPENCOLORIO ffmpeg USE_FFMPEG - field3d USE_FIELD3D freetype USE_FREETYPE gif USE_GIF opencv USE_OPENCV openjpeg USE_OPENJPEG webp USE_WEBP + libheif USE_LIBHEIF pybind11 USE_PYTHON tools OIIO_BUILD_TOOLS + viewer ENABLE_IV ) -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} + SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${FEATURE_OPTIONS} + -DBUILD_TESTING=OFF -DOIIO_BUILD_TESTS=OFF -DUSE_DCMTK=OFF -DUSE_NUKE=OFF - -DUSE_QT=OFF + -DUSE_OpenVDB=OFF -DUSE_PTEX=OFF - -DLINKSTATIC=${LINKSTATIC} + -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 -DVERBOSE=ON + -DBUILD_DOCS=OFF + -DINSTALL_DOCS=OFF + -DENABLE_INSTALL_testtex=OFF + "-DFMT_INCLUDES=${CURRENT_INSTALLED_DIR}/include" + "-DREQUIRED_DEPS=fmt;JPEG;PNG;Robinmap" + MAYBE_UNUSED_VARIABLES + ENABLE_INSTALL_testtex + ENABLE_IV ) vcpkg_cmake_install() -vcpkg_copy_pdbs() - -vcpkg_cmake_config_fixup(PACKAGE_NAME OpenImageIO CONFIG_PATH lib/cmake/OpenImageIO) +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}/doc" - "${CURRENT_PACKAGES_DIR}/debug/doc" +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/doc" "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") -file(COPY "${SOURCE_PATH}/src/cmake/modules/FindOpenImageIO.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/OpenImageIO") -file(COPY "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_fixup_pkgconfig() -# Handle copyright -file(INSTALL "${SOURCE_PATH}/LICENSE.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/OpenImageIO/export.h" "ifdef OIIO_STATIC_DEFINE" "if 1") +endif() -vcpkg_fixup_pkgconfig() + +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) +string(REGEX REPLACE + "^.*The remainder of this file" + "\n-------------------------------------------------------------------------\n\nThe remainder of this file" + third_party + "${third_party}" +) +file(APPEND "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" "${third_party}") diff --git a/ports/openimageio/usage b/ports/openimageio/usage new file mode 100644 index 00000000000000..b76a4cdd776a12 --- /dev/null +++ b/ports/openimageio/usage @@ -0,0 +1,4 @@ +The package openimageio provides CMake targets: + + find_package(OpenImageIO CONFIG REQUIRED) + target_link_libraries(main PRIVATE OpenImageIO::OpenImageIO) diff --git a/ports/openimageio/vcpkg-cmake-wrapper.cmake b/ports/openimageio/vcpkg-cmake-wrapper.cmake deleted file mode 100644 index 5976305769ad2c..00000000000000 --- a/ports/openimageio/vcpkg-cmake-wrapper.cmake +++ /dev/null @@ -1,6 +0,0 @@ -set(OPENIMAGEIO_PREV_MODULE_PATH ${CMAKE_MODULE_PATH}) -list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/../OpenImageIO") - -_find_package(${ARGS}) - -set(CMAKE_MODULE_PATH ${OPENIMAGEIO_PREV_MODULE_PATH}) diff --git a/ports/openimageio/vcpkg.json b/ports/openimageio/vcpkg.json index fd23968aa1d445..cd17dccc7ae51f 100644 --- a/ports/openimageio/vcpkg.json +++ b/ports/openimageio/vcpkg.json @@ -1,9 +1,10 @@ { "name": "openimageio", - "version": "2.3.7.2", - "port-version": 4, + "version": "2.5.16.0", + "port-version": 1, "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", @@ -19,13 +20,14 @@ "boost-thread", "boost-type-traits", "fmt", - "libheif", "libjpeg-turbo", "libpng", - "libsquish", "openexr", "robin-map", - "tiff", + { + "name": "tiff", + "default-features": false + }, { "name": "vcpkg-cmake", "host": true @@ -42,18 +44,13 @@ "dependencies": [ { "name": "ffmpeg", + "default-features": false, "features": [ "avresample" ] } ] }, - "field3d": { - "description": "Enable field3D support for openimageio", - "dependencies": [ - "field3d" - ] - }, "freetype": { "description": "Enable freetype support for openimageio", "dependencies": [ @@ -66,6 +63,12 @@ "giflib" ] }, + "libheif": { + "description": "Enable heif support for openimageio", + "dependencies": [ + "libheif" + ] + }, "libraw": { "description": "Enable RAW image files support", "dependencies": [ @@ -73,7 +76,10 @@ ] }, "opencolorio": { - "description": "Enable opencolorio support for openimageio", + "description": [ + "Enable opencolorio support for openimageio.", + "This feature can only be used when openexr and opencolorio use the same version of Imath." + ], "dependencies": [ "opencolorio" ] @@ -81,7 +87,10 @@ "opencv": { "description": "Enable opencv support for openimageio", "dependencies": [ - "opencv" + { + "name": "opencv", + "default-features": false + } ] }, "openjpeg": { @@ -93,14 +102,27 @@ "pybind11": { "description": "Enable Python bindings support for openimageio", "dependencies": [ - "pybind11" + "pybind11", + "python3" ] }, "tools": { - "description": "Build openimageio tools", + "description": "Build openimageio tools" + }, + "viewer": { + "description": "Build openimageio viewer", "dependencies": [ "opengl", - "qt5-base" + { + "name": "openimageio", + "features": [ + "tools" + ] + }, + { + "name": "qtbase", + "default-features": false + } ] }, "webp": { diff --git a/ports/openjpeg/Enable-tools-of-each-features.patch b/ports/openjpeg/Enable-tools-of-each-features.patch deleted file mode 100644 index cce376596cc3c0..00000000000000 --- a/ports/openjpeg/Enable-tools-of-each-features.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 5a41078..747c61c 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -277,7 +277,7 @@ mark_as_advanced(BUILD_VIEWER) - mark_as_advanced(BUILD_JAVA) - mark_as_advanced(BUILD_JP3D) - --if(BUILD_CODEC OR BUILD_MJ2) -+if(BUILD_CODEC OR BUILD_JPWL OR BUILD_MJ2 OR BUILD_JPIP OR BUILD_JP3D) - # OFF: It will only build 3rd party libs if they are not found on the system - # ON: 3rd party libs will ALWAYS be build, and used - option(BUILD_THIRDPARTY "Build the thirdparty executables if it is needed" OFF) diff --git a/ports/openjpeg/dll.location.patch b/ports/openjpeg/dll.location.patch deleted file mode 100644 index bdc77a5427c31d..00000000000000 --- a/ports/openjpeg/dll.location.patch +++ /dev/null @@ -1,32 +0,0 @@ -diff --git a/src/lib/openjp3d/CMakeLists.txt b/src/lib/openjp3d/CMakeLists.txt -index b0469af1f..75048ef13 100644 ---- a/src/lib/openjp3d/CMakeLists.txt -+++ b/src/lib/openjp3d/CMakeLists.txt -@@ -34,8 +34,9 @@ endif() - # Install library - install(TARGETS ${OPENJP3D_LIBRARY_NAME} - EXPORT OpenJP3DTargets -- DESTINATION ${OPENJPEG_INSTALL_LIB_DIR} -- COMPONENT Libraries -+ RUNTIME DESTINATION ${OPENJPEG_INSTALL_BIN_DIR} COMPONENT Applications -+ LIBRARY DESTINATION ${OPENJPEG_INSTALL_LIB_DIR} COMPONENT Libraries -+ ARCHIVE DESTINATION ${OPENJPEG_INSTALL_LIB_DIR} COMPONENT Libraries - ) - - # Install includes files -diff --git a/src/lib/openmj2/CMakeLists.txt b/src/lib/openmj2/CMakeLists.txt -index 25294b20e..e3acfe8e7 100644 ---- a/src/lib/openmj2/CMakeLists.txt -+++ b/src/lib/openmj2/CMakeLists.txt -@@ -53,8 +53,9 @@ endif() - # Install library - install(TARGETS ${OPENMJ2_LIBRARY_NAME} - EXPORT OpenMJ2Targets -- DESTINATION ${OPENJPEG_INSTALL_LIB_DIR} -- COMPONENT Libraries -+ RUNTIME DESTINATION ${OPENJPEG_INSTALL_BIN_DIR} COMPONENT Applications -+ LIBRARY DESTINATION ${OPENJPEG_INSTALL_LIB_DIR} COMPONENT Libraries -+ ARCHIVE DESTINATION ${OPENJPEG_INSTALL_LIB_DIR} COMPONENT Libraries - ) - - # Install includes files diff --git a/ports/openjpeg/fix-lrintf-to-opj_lrintf.patch b/ports/openjpeg/fix-lrintf-to-opj_lrintf.patch deleted file mode 100644 index 1d79d6332e2fc4..00000000000000 --- a/ports/openjpeg/fix-lrintf-to-opj_lrintf.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/lib/openmj2/opj_includes.h b/src/lib/openmj2/opj_includes.h -index 340e8a9..11bb0e4 100644 ---- a/src/lib/openmj2/opj_includes.h -+++ b/src/lib/openmj2/opj_includes.h -@@ -93,7 +93,7 @@ Most compilers implement their own version of this keyword ... - - /* MSVC and Borland C do not have lrintf */ - #if defined(_MSC_VER) || defined(__BORLANDC__) --static INLINE long lrintf(float f) -+static INLINE long opj_lrintf(float f) - { - #ifdef _M_X64 - return (long)((f > 0.0f) ? (f + 0.5f) : (f - 0.5f)); 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 195ff13a76d531..90cd47bd46dbd8 100644 --- a/ports/openjpeg/portfile.cmake +++ b/ports/openjpeg/portfile.cmake @@ -1,84 +1,89 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO uclouvain/openjpeg - REF 37ac30ceff6640bbab502388c5e0fa0bff23f505 #v2.4.0 - SHA512 7554d64701f1b51501a977bc165e61e4696d97f1f40e4c784c729824878a716c13ac378c6b2dd0d23a11d9e3fa316ff6fc817ca5a614ef4d6530db06a8f83971 + REF "v${VERSION}" + SHA512 24c058b3e0710e689ba7fd6bce8a88353ce64e825b2e5bbf6b00ca3f2a2ec1e9c70a72e0252a5c89d10c537cf84d55af54bf2f16c58ca01db98c2018cf132e1a HEAD_REF master - PATCHES - dll.location.patch - fix-lrintf-to-opj_lrintf.patch - Enable-tools-of-each-features.patch + PATCHES + third-party.diff + openjpip-static.diff ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC_LIBS) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES - "jpwl" BUILD_JPWL - "mj2" BUILD_MJ2 "jpip" BUILD_JPIP - "jp3d" BUILD_JP3D + "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) -if("jpwl" IN_LIST FEATURES) - list(APPEND TOOL_NAMES opj_compress opj_decompress opj_dump opj_jpwl_compress opj_jpwl_decompress) -endif() -if("mj2" IN_LIST FEATURES) - list(APPEND TOOL_NAMES opj_compress opj_decompress opj_dump opj_mj2_compress opj_mj2_decompress opj_mj2_extract opj_mj2_wrap) -endif() -if("jpip" IN_LIST FEATURES) +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() -if("jp3d" IN_LIST FEATURES) - list(APPEND TOOL_NAMES opj_jp3d_compress opj_jp3d_decompress) -endif() 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 031f12a4462e0f..dcc5ed9e9337d6 100644 --- a/ports/openjpeg/vcpkg.json +++ b/ports/openjpeg/vcpkg.json @@ -1,8 +1,10 @@ { "name": "openjpeg", - "version-semver": "2.4.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", + "license": "BSD-2-Clause", "dependencies": [ { "name": "vcpkg-cmake", @@ -14,17 +16,29 @@ } ], "features": { - "jp3d": { - "description": "Build optional component jp3d" - }, "jpip": { - "description": "Build optional component jpip" - }, - "jpwl": { - "description": "Build optional component jpwl" + "description": "Build optional component jpip", + "supports": "!uwp" }, - "mj2": { - "description": "Build optional component mj2" + "tools": { + "description": "(deprecated)", + "dependencies": [ + { + "name": "curl", + "platform": "!windows" + }, + { + "name": "fastcgi", + "platform": "!windows" + }, + "lcms", + "libpng", + { + "name": "tiff", + "default-features": false + }, + "zlib" + ] } } } diff --git a/ports/openldap/m4.patch b/ports/openldap/m4.patch new file mode 100644 index 00000000000000..4df7e91a6d9623 --- /dev/null +++ b/ports/openldap/m4.patch @@ -0,0 +1,12 @@ +diff --git a/configure.ac b/configure.ac +index 71dd7a6..6741ec6 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -38,6 +38,7 @@ m4_ifndef([PKG_PREREQ], + + AC_CONFIG_AUX_DIR(build)dnl + AC_CONFIG_MACRO_DIRS([build]) ++AC_CONFIG_MACRO_DIR([m4]) + + eval `$ac_aux_dir/version.sh` + if test -z "$OL_STRING"; then diff --git a/ports/openldap/openssl.patch b/ports/openldap/openssl.patch new file mode 100644 index 00000000000000..88c11f3c8971dc --- /dev/null +++ b/ports/openldap/openssl.patch @@ -0,0 +1,42 @@ +diff --git a/configure.ac b/configure.ac +index d231e0e..c994103 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -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_CHECK_HEADERS(openssl/ssl.h) + + if test $ac_cv_header_openssl_ssl_h = yes ; 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]) + +- TLS_LIBS="-lssl -lcrypto" ++ TLS_LIBS="${OPENSSL_LIBS}" ++ AC_SUBST(TLS_MODULE, openssl, [TLS pkg-config module]) + fi + fi + fi +diff --git a/libraries/libldap/ldap.pc.in b/libraries/libldap/ldap.pc.in +index 3f7dd46..43b2e52 100644 +--- a/libraries/libldap/ldap.pc.in ++++ b/libraries/libldap/ldap.pc.in +@@ -10,4 +10,5 @@ Version: @VERSION@ + Requires: lber + Cflags: -I${includedir} + Libs: -L${libdir} -lldap +-Libs.private: @LIBS@ @SASL_LIBS@ @TLS_LIBS@ @AUTH_LIBS@ ++Libs.private: @LIBS@ @SASL_LIBS@ @AUTH_LIBS@ ++Requires.private: @TLS_MODULE@ diff --git a/ports/openldap/portfile.cmake b/ports/openldap/portfile.cmake new file mode 100644 index 00000000000000..fac2002fdfe194 --- /dev/null +++ b/ports/openldap/portfile.cmake @@ -0,0 +1,70 @@ +vcpkg_download_distfile(ARCHIVE + URLS "https://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-${VERSION}.tgz" + FILENAME "openldap-${VERSION}.tgz" + SHA512 b119d60e179b4e27e9285c7c485f5728ab65dca7010879ffba41530f11f8ba359ea5693a3d1b9bb7279b7b8954f51c12db50e29aa231a5fa0bef11c7d1b5773a +) + +vcpkg_list(SET EXTRA_PATCHES) + +# Check autoconf version < 2.70 +execute_process(COMMAND autoconf --version OUTPUT_VARIABLE AUTOCONF_VERSION_STR) +if(NOT "${AUTOCONF_VERSION_STR}" STREQUAL "" AND "${AUTOCONF_VERSION_STR}" MATCHES ".*2\\.[0-6].*") + vcpkg_list(APPEND EXTRA_PATCHES m4.patch) +endif() + +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" + PATCHES + openssl.patch + subdirs.patch + ${EXTRA_PATCHES} +) + +vcpkg_list(SET FEATURE_OPTIONS) +if("tools" IN_LIST FEATURES) + vcpkg_list(APPEND FEATURE_OPTIONS --enable-tools) +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() + +# Disable build environment details in binaries +set(ENV{SOURCE_DATE_EPOCH} "1659614616") + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + DISABLE_VERBOSE_FLAGS + AUTOCONFIG + OPTIONS + ${FEATURE_OPTIONS} + --disable-cleartext + --disable-mdb + --disable-relay + --disable-slapd + --disable-syncprov + --with-tls=openssl + --without-systemd + --without-fetch + --without-argon2 + ac_cv_lib_iodbc_SQLDriverConnect=no + ac_cv_lib_odbc_SQLDriverConnect=no + ac_cv_lib_odbc32_SQLDriverConnect=no +) + +vcpkg_build_make(BUILD_TARGET depend LOGFILE_ROOT depend) +vcpkg_install_make() +vcpkg_fixup_pkgconfig() +vcpkg_copy_pdbs() + +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/openldap/subdirs.patch b/ports/openldap/subdirs.patch new file mode 100644 index 00000000000000..633a2542cb9571 --- /dev/null +++ b/ports/openldap/subdirs.patch @@ -0,0 +1,34 @@ +diff --git a/Makefile.in b/Makefile.in +index 5c6bec0..c654210 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -13,7 +13,11 @@ + ## top-level directory of the distribution or, alternatively, at + ## . + +-SUBDIRS= include libraries clients servers tests doc ++ifeq ($(patsubst %/debug,DEBUG,$(prefix)),DEBUG) ++SUBDIRS= include libraries ++else ++SUBDIRS= include libraries @TOOLS_SUBDIRS@ ++endif + CLEANDIRS= + INSTALLDIRS= + +diff --git a/configure.ac b/configure.ac +index e97f548..71dd7a6 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -235,6 +235,12 @@ dnl OL_ARG_ENABLE(referrals,[AS_HELP_STRING([--enable-referrals], [enable LDAPv2 + ol_enable_referrals=${ol_enable_referrals-no} + OL_ARG_ENABLE(ipv6, [AS_HELP_STRING([--enable-ipv6], [enable IPv6 support])], auto)dnl + OL_ARG_ENABLE(local, [AS_HELP_STRING([--enable-local], [enable AF_LOCAL (AF_UNIX) socket support])], auto)dnl ++OL_ARG_ENABLE(tools, [AS_HELP_STRING([--enable-tools], [Build client tools])],no,[no yes]) ++TOOLS_SUBDIRS="" ++if test "$ol_enable_tools" = "yes" ; then ++ TOOLS_SUBDIRS="clients" ++fi ++AC_SUBST(TOOLS_SUBDIRS) + + dnl ---------------------------------------------------------------- + dnl General "with" options diff --git a/ports/openldap/vcpkg.json b/ports/openldap/vcpkg.json new file mode 100644 index 00000000000000..62e6e7f8503f87 --- /dev/null +++ b/ports/openldap/vcpkg.json @@ -0,0 +1,19 @@ +{ + "name": "openldap", + "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)", + "dependencies": [ + "openssl" + ], + "features": { + "cyrus-sasl": { + "description": "with Cyrus SASL support" + }, + "tools": { + "description": "Enable client tools" + } + } +} diff --git a/ports/openmama/fix-dependencies.diff b/ports/openmama/fix-dependencies.diff new file mode 100644 index 00000000000000..f731726c0a8aaf --- /dev/null +++ b/ports/openmama/fix-dependencies.diff @@ -0,0 +1,26 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1332a55..2ed3770 100755 +@@ -123,7 +125,8 @@ find_package(Threads REQUIRED) + find_package(APR REQUIRED) + + if (WITH_PROTON) +- find_package(Proton REQUIRED) ++ find_package(PROTON NAMES Proton REQUIRED) ++ set(PROTON_LIBRARIES Proton::qpid-proton) + endif() + + if (WITH_UNITTEST) +diff --git a/cmake/FindUUID.cmake b/cmake/FindUUID.cmake +index 7a11c70..07f21ed 100644 +--- a/cmake/FindUUID.cmake ++++ b/cmake/FindUUID.cmake +@@ -90,6 +90,9 @@ else (UUID_LIBRARIES AND UUID_INCLUDE_DIRS) + + if (UUID_INCLUDE_DIRS AND UUID_LIBRARIES) + set(UUID_FOUND TRUE) ++ elseif(UUID_INCLUDE_DIRS AND APPLE) ++ set(UUID_LIBRARIES "") ++ set(UUID_FOUND TRUE) + endif (UUID_INCLUDE_DIRS AND UUID_LIBRARIES) + + if (UUID_FOUND) diff --git a/ports/openmama/git-no-tags.diff b/ports/openmama/git-no-tags.diff new file mode 100644 index 00000000000000..5a28cfbe443277 --- /dev/null +++ b/ports/openmama/git-no-tags.diff @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1332a55..2ed3770 100755 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -23,6 +23,8 @@ if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/.git) + COMMAND "${GIT_BIN}" diff-index --quiet HEAD -- + WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" + RESULT_VARIABLE is_current_source_dir_dirty) ++endif() ++if(OPENMAMA_VERSION_GIT) + # Strip out unwanted part of version from git + message(STATUS "OPENMAMA_VERSION_GIT: ${OPENMAMA_VERSION_GIT}") + STRING(REGEX REPLACE "^OpenMAMA-" "" OPENMAMA_VERSION ${OPENMAMA_VERSION_GIT}) diff --git a/ports/openmama/portfile.cmake b/ports/openmama/portfile.cmake index dfd63074aef4b9..44c3b3a18bdaea 100644 --- a/ports/openmama/portfile.cmake +++ b/ports/openmama/portfile.cmake @@ -1,54 +1,37 @@ -vcpkg_find_acquire_program(FLEX) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO finos/OpenMAMA - REF c4925ee103add1a51c1d27be45b46d97af347f36 # https://github.com/finos/OpenMAMA/releases/tag/OpenMAMA-6.3.1-release - SHA512 e2773d082dd28e073fe81223fc113b1a5db7cd0d95e150e9f3f02c8c9483b9219b5d10682a125dd792c3a7877e15b90fd908084a4c89af4ec8d8c0389c282de2 + REF "OpenMAMA-${VERSION}-release" + SHA512 bf6a9343546ace80b8a72072f97aa85988a3d0d047e2a60d05de638afce89b4e4f2bcae28b8e93ca808e8c0e4a83de9035ff785f69f9b4ac4ccd2616e792fa08 HEAD_REF next + PATCHES + git-no-tags.diff + fix-dependencies.diff ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_find_acquire_program(FLEX) +vcpkg_find_acquire_program(GIT) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DPROTON_ROOT=${CURRENT_INSTALLED_DIR} - -DAPR_ROOT=${CURRENT_INSTALLED_DIR} + "-DOPENMAMA_DEPENDENCY_ROOT=${CURRENT_INSTALLED_DIR}" -DINSTALL_RUNTIME_DEPENDENCIES=OFF - -DFLEX_EXECUTABLE=${FLEX} + "-DFLEX_EXECUTABLE=${FLEX}" + "-DGIT_BIN=${GIT}" + "-DOPENMAMA_VERSION=${VERSION}" -DWITH_EXAMPLES=OFF -DWITH_TESTTOOLS=OFF ) +vcpkg_cmake_install() +vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/OpenMAMA) -vcpkg_install_cmake() - -# Copy across license files and copyright -file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/${PORT}) -file(COPY ${SOURCE_PATH}/LICENSE-3RD-PARTY.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}/) -file(INSTALL ${SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) - -# Clean up LICENSE file - vcpkg doesn't expect it to be there -file(REMOVE ${CURRENT_PACKAGES_DIR}/LICENSE.MD ${CURRENT_PACKAGES_DIR}/debug/LICENSE.MD) - -# Temporary workaround until upstream project puts dll in right place -if(EXISTS "${CURRENT_PACKAGES_DIR}/lib/libmamaplugindqstrategymd.dll") - file(RENAME ${CURRENT_PACKAGES_DIR}/lib/libmamaplugindqstrategymd.dll ${CURRENT_PACKAGES_DIR}/bin/libmamaplugindqstrategymd.dll) -endif() -if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/lib/libmamaplugindqstrategymd.dll") - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/libmamaplugindqstrategymd.dll ${CURRENT_PACKAGES_DIR}/debug/bin/libmamaplugindqstrategymd.dll) -endif() - -# Vcpkg does not expect include files to be in the debug directory -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") - -foreach(OPENMAMA_ROOT_HEADER destroyhandle.h platform.h list.h lookup2.h property.h timers.h wlock.h windows) - if(EXISTS "${CURRENT_PACKAGES_DIR}/include/${OPENMAMA_ROOT_HEADER}") - file(RENAME "${CURRENT_PACKAGES_DIR}/include/${OPENMAMA_ROOT_HEADER}" "${CURRENT_PACKAGES_DIR}/include/wombat/${OPENMAMA_ROOT_HEADER}") - endif() -endforeach() - -vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/mama/integration/transport.h" "list.h" "wombat/list.h") -vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/mama/integration/types.h" "list.h" "wombat/list.h") -vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/mama/integration/mama.h" "property.h" "wombat/property.h") +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/LICENSE.md" + "${CURRENT_PACKAGES_DIR}/debug/LICENSE.md" + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/config" +) -vcpkg_copy_pdbs() +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.md") diff --git a/ports/openmama/vcpkg.json b/ports/openmama/vcpkg.json index ae3b7957867cc2..0a5a2005405035 100644 --- a/ports/openmama/vcpkg.json +++ b/ports/openmama/vcpkg.json @@ -1,13 +1,30 @@ { "name": "openmama", - "version-semver": "6.3.1", - "port-version": 1, + "version-semver": "6.3.2", + "port-version": 3, "description": "OpenMAMA is a high performance vendor neutral lightweight wrapper that provides a common API interface to different middleware and messaging solutions across a variety of platforms and languages", "homepage": "https://github.com/finos/OpenMAMA", - "supports": "windows & (x64 | x86)", + "license": "LGPL-2.1", + "supports": "!xbox", "dependencies": [ "apr", + "apr-util", "libevent", - "qpid-proton" + { + "name": "libuuid", + "platform": "!windows & !osx" + }, + { + "name": "qpid-proton", + "default-features": false + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } 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 28ea0e490f92a8..d5fca6adc77af6 100644 --- a/ports/openmesh/portfile.cmake +++ b/ports/openmesh/portfile.cmake @@ -1,16 +1,21 @@ -set(VERSION 8.1) - # 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 c146e6b21d709a31772621a6a913def93a51460c4abb950c2eb64eea4528c7efd4c86166ba56ae0bc8090cc5878dd9328b570e094e61c1b64d6d298de05aca61 + SHA512 b895e5eaabdf5d3671625df5314e1f95921ac672e9d9d945a5cf0973e20b4e395aac6517d86269a2e8c103f32bc9c8c2ecf57d811a260bbc69f592043e1307ba ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH +vcpkg_extract_source_archive( + SOURCE_PATH ARCHIVE "${ARCHIVE}" - REF "${VERSION}" + 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") @@ -19,45 +24,24 @@ else() set(OPENMESH_BUILD_SHARED OFF) endif() -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +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 # [TODO]: add apps as feature, requires qt5 and freeglut ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/OpenMesh/cmake TARGET_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() +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/OpenMesh/Tools/VDPM/xpm") -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}) -# 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/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 ab48f6d5f2c992..72e55cee995218 100644 --- a/ports/openmesh/vcpkg.json +++ b/ports/openmesh/vcpkg.json @@ -1,6 +1,17 @@ { "name": "openmesh", - "version-string": "8.1", - "port-version": 3, - "description": "A generic and efficient polygon mesh data structure" + "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", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/openmpi/portfile.cmake b/ports/openmpi/portfile.cmake index 09c74688362c97..0bfdca4a84e871 100644 --- a/ports/openmpi/portfile.cmake +++ b/ports/openmpi/portfile.cmake @@ -1,20 +1,18 @@ -vcpkg_fail_port_install(ON_TARGET "Windows" "UWP") - vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) -set(OpenMPI_FULL_VERSION "4.1.0") +set(OpenMPI_FULL_VERSION "4.1.6") set(OpenMPI_SHORT_VERSION "4.1") vcpkg_download_distfile(ARCHIVE URLS "https://download.open-mpi.org/release/open-mpi/v${OpenMPI_SHORT_VERSION}/openmpi-${OpenMPI_FULL_VERSION}.tar.gz" FILENAME "openmpi-${OpenMPI_FULL_VERSION}.tar.gz" - SHA512 1f8117b11c5279d34194b4f5652b0223cf1258a4ac0efd40bab78f31f203068e027235a92a87e546b1b35c5b369bc90788b109c05a7068c75533a03649410e99 + SHA512 6fb38cafa75021f12a9674a05056d25cc9bb5e6dd88f26fee73a89736fb741bbfb37efee31e07edb372f21583144ccc2c03cd7861e9055e87699a22740173e0b ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH +vcpkg_extract_source_archive( + SOURCE_PATH ARCHIVE ${ARCHIVE} - PATCHES + PATCHES keep_isystem.patch ) @@ -28,12 +26,13 @@ vcpkg_configure_make( OPTIONS --with-hwloc=internal --with-libevent=internal + --with-pmix=internal --disable-mpi-fortran OPTIONS_DEBUG --enable-debug ) -vcpkg_install_make(DISABLE_PARALLEL) +vcpkg_install_make() vcpkg_fixup_pkgconfig() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/openmpi/vcpkg.json b/ports/openmpi/vcpkg.json index 1d371474b2d917..e76173b15634de 100644 --- a/ports/openmpi/vcpkg.json +++ b/ports/openmpi/vcpkg.json @@ -1,7 +1,7 @@ { "name": "openmpi", - "version": "4.1.0", - "port-version": 3, + "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/0001-eigen_3.4.0.patch b/ports/openmvg/0001-eigen_3.4.0.patch index be81355dd4e5c1..a4e759f52ebb36 100644 --- a/ports/openmvg/0001-eigen_3.4.0.patch +++ b/ports/openmvg/0001-eigen_3.4.0.patch @@ -1,25 +1,13 @@ -From 7be28dca0403660e721d66de954f27b92897163e Mon Sep 17 00:00:00 2001 -From: Alberto Luaces -Date: Wed, 8 Sep 2021 18:00:53 +0200 -Subject: [PATCH] eigen_3.4.0 - ---- - src/openMVG/multiview/solver_fundamental_kernel.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - diff --git a/src/openMVG/multiview/solver_fundamental_kernel.cpp b/src/openMVG/multiview/solver_fundamental_kernel.cpp -index 5e0c12eb..fa025198 100644 +index 2ffd45a..bbf74b4 100644 --- a/src/openMVG/multiview/solver_fundamental_kernel.cpp +++ b/src/openMVG/multiview/solver_fundamental_kernel.cpp -@@ -134,7 +134,7 @@ void EightPointSolver::Solve - MatX9 epipolar_constraint(x1.cols(), 9); - epipolar_constraint.fill(0.0); - EncodeEpipolarEquation(x1, x2, &epipolar_constraint); -- Eigen::SelfAdjointEigenSolver solver -+ Eigen::SelfAdjointEigenSolver> solver - (epipolar_constraint.transpose() * epipolar_constraint); - f = solver.eigenvectors().leftCols<1>(); - } --- -2.30.2 - +@@ -110,7 +110,7 @@ void EightPointSolver::Solve + x2.colwise().homogeneous(), + &epipolar_constraint); + // Find the F matrice in the nullspace of epipolar_constraint. +- Eigen::SelfAdjointEigenSolver solver ++ Eigen::SelfAdjointEigenSolver> solver + (epipolar_constraint.transpose() * epipolar_constraint); + f = solver.eigenvectors().leftCols<1>(); + diff --git a/ports/openmvg/0002-eigen-3.4.patch b/ports/openmvg/0002-eigen-3.4.patch new file mode 100644 index 00000000000000..19098d2ae246fc --- /dev/null +++ b/ports/openmvg/0002-eigen-3.4.patch @@ -0,0 +1,13 @@ +--- 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 3b2b199b4b29ae..66cc004f3e7769 100644 --- a/ports/openmvg/build_fixes.patch +++ b/ports/openmvg/build_fixes.patch @@ -1,8 +1,8 @@ diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 9cfd06c..8859469 100644 +index 5d909ec..ab7eb6f 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt -@@ -14,6 +14,7 @@ if (${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR}) +@@ -20,6 +20,7 @@ if (${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR}) message(FATAL_ERROR "In-source builds not allowed.") endif() @@ -10,16 +10,15 @@ index 9cfd06c..8859469 100644 # ============================================================================== # OpenMVG build options # ============================================================================== -@@ -31,7 +32,7 @@ option(OpenMVG_USE_OPENMP "Enable OpenMP parallelization" ON) +@@ -37,6 +38,7 @@ option(OpenMVG_USE_OPENMP "Enable OpenMP parallelization" ON) # and openMVG simultaneously # ============================================================================== option(OpenMVG_USE_OPENCV "Build or not opencv+openMVG samples programs" OFF) -- +endif() + # ============================================================================== # Since OpenCV 3, SIFT is no longer in the default modules. See - # https://github.com/itseez/opencv_contrib for more informations. -@@ -85,6 +86,7 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "Clang") +@@ -95,6 +97,7 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "Clang") register_definitions(-DOPENMVG_STD_UNORDERED_MAP) endif() @@ -27,7 +26,7 @@ index 9cfd06c..8859469 100644 # ============================================================================== # Check that submodule have been initialized and updated # ============================================================================== -@@ -93,6 +95,7 @@ if (NOT EXISTS ${PROJECT_SOURCE_DIR}/dependencies/cereal/include) +@@ -103,6 +106,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() @@ -35,7 +34,7 @@ index 9cfd06c..8859469 100644 # ============================================================================== # Additional cmake find modules -@@ -128,7 +131,6 @@ if (OpenMVG_USE_OPENMP) +@@ -138,7 +142,6 @@ if (OpenMVG_USE_OPENMP) find_package(OpenMP) if (OPENMP_FOUND) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}") @@ -43,7 +42,7 @@ index 9cfd06c..8859469 100644 register_definitions(-DOPENMVG_USE_OPENMP) if (NOT MSVC) if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") -@@ -139,11 +141,6 @@ if (OpenMVG_USE_OPENMP) +@@ -149,11 +152,6 @@ if (OpenMVG_USE_OPENMP) endif() endif (NOT MSVC) endif (OPENMP_FOUND) @@ -55,22 +54,21 @@ index 9cfd06c..8859469 100644 endif (OpenMVG_USE_OPENMP) # ============================================================================== -@@ -160,10 +157,10 @@ endif() +@@ -170,9 +168,10 @@ endif() # ============================================================================== # IMAGE IO detection # ============================================================================== -find_package(JPEG QUIET) -find_package(PNG QUIET) -find_package(TIFF QUIET) -- +find_package(JPEG REQUIRED) +find_package(PNG REQUIRED) +find_package(TIFF REQUIRED) +find_package(vlfeat REQUIRED) + # Folders set_property(GLOBAL PROPERTY USE_FOLDERS ON) - -@@ -182,6 +179,7 @@ if (OpenMVG_BUILD_OPENGL_EXAMPLES) +@@ -192,6 +191,7 @@ if (OpenMVG_BUILD_OPENGL_EXAMPLES) set_property(TARGET glfw PROPERTY FOLDER OpenMVG/3rdParty/glfw) endif (OpenMVG_BUILD_OPENGL_EXAMPLES) @@ -78,16 +76,15 @@ index 9cfd06c..8859469 100644 # Dependencies install rules install( DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/dependencies/ -@@ -189,7 +187,7 @@ install( +@@ -199,6 +199,7 @@ install( COMPONENT headers FILES_MATCHING PATTERN "*.hpp" PATTERN "*.h" ) -- +endif() + # ============================================================================== # --END-- SUBMODULE CONFIGURATION - # ============================================================================== -@@ -225,6 +223,7 @@ ENDMACRO(UNIT_TEST) +@@ -235,6 +236,7 @@ ENDMACRO(UNIT_TEST) # - external by default # - internal if cereal not found # ============================================================================== @@ -95,18 +92,19 @@ index 9cfd06c..8859469 100644 find_package(cereal QUIET CONFIG) if (NOT TARGET cereal) add_library(cereal INTERFACE) -@@ -237,6 +236,10 @@ if (NOT TARGET cereal) +@@ -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 INTERFACE_INCLUDE_DIRECTORIES) ++find_package(cereal REQUIRED CONFIG) ++get_target_property(CEREAL_INCLUDE_DIRS cereal::cereal INTERFACE_INCLUDE_DIRECTORIES) ++ # ============================================================================== # Eigen -@@ -245,6 +248,7 @@ endif() + # ============================================================================== +@@ -255,6 +261,7 @@ endif() # - external if EIGEN_INCLUDE_DIR_HINTS is defined # - internal if Eigen not found # ============================================================================== @@ -114,17 +112,18 @@ index 9cfd06c..8859469 100644 find_package(Eigen3 QUIET) if (NOT Eigen3_FOUND) set(EIGEN_INCLUDE_DIR_HINTS ${CMAKE_CURRENT_SOURCE_DIR}/third_party/eigen) -@@ -253,13 +257,17 @@ if (NOT Eigen3_FOUND) +@@ -263,6 +270,10 @@ if (NOT Eigen3_FOUND) else() set(EIGEN_INCLUDE_DIRS ${EIGEN3_INCLUDE_DIR}) endif() +endif() - ++ +find_package(Eigen3 REQUIRED) +set(EIGEN_INCLUDE_DIRS ${EIGEN3_INCLUDE_DIR}) + # ============================================================================== # Ceres - # ============================================================================== +@@ -270,6 +281,7 @@ endif() # - external by default if CERES_DIR_HINTS or find_package found a valid Ceres # - internal if ceres not found (ceres-solver+cxsparse+miniglog) # ============================================================================== @@ -132,16 +131,17 @@ index 9cfd06c..8859469 100644 find_package(Ceres QUIET HINTS ${CERES_DIR_HINTS}) if (NOT Ceres_FOUND) set(OpenMVG_USE_INTERNAL_CERES ON) -@@ -271,13 +279,16 @@ if (NOT Ceres_FOUND) +@@ -281,6 +293,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() # - internal by default (flann), # - external if FLANN_INCLUDE_DIR_HINTS and a valid Flann setup is found # ============================================================================== @@ -149,69 +149,17 @@ index 9cfd06c..8859469 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) -@@ -286,13 +297,16 @@ find_package(Flann QUIET) +@@ -296,6 +312,9 @@ find_package(Flann QUIET) 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 - # ============================================================================== - # - internal by default (CoinUtils), - # - external if COINUTILS_INCLUDE_DIR_HINTS and a valid CoinUtils setup is found - # ============================================================================== -+if(0) - if (NOT DEFINED COINUTILS_INCLUDE_DIR_HINTS) - set(COINUTILS_INCLUDE_DIR_HINTS ${CMAKE_CURRENT_SOURCE_DIR}/dependencies/osi_clp/CoinUtils/src/) - set(OpenMVG_USE_INTERNAL_COINUTILS ON) -@@ -302,13 +316,16 @@ if (NOT DEFINED COINUTILS_INCLUDE_DIR_HINTS) - else() - find_package(CoinUtils QUIET) - endif() -+endif() - -+find_package(CoinUtils REQUIRED) - ## ============================================================================== - ## Clp - ## ============================================================================== - ## - internal by default (Clp), - ## - external if CLP_INCLUDE_DIR_HINTS and a valid Clp setup is found - ## ============================================================================== -+if(0) - 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) -@@ -320,6 +337,9 @@ if (NOT DEFINED CLP_INCLUDE_DIR_HINTS) - else() - find_package(Clp QUIET) - endif() -+endif() -+ -+find_package(Clp REQUIRED) - - # ============================================================================== - # Osi -@@ -327,6 +347,7 @@ endif() - # - internal by default (Osi), - # - external if OSI_INCLUDE_DIR_HINTS and a valid Osi setup is found - # ============================================================================== -+if(0) - if (NOT DEFINED OSI_INCLUDE_DIR_HINTS) - set(OSI_INCLUDE_DIR_HINTS ${CMAKE_CURRENT_SOURCE_DIR}/dependencies/osi_clp/Osi/src/) - set(OpenMVG_USE_INTERNAL_OSI ON) -@@ -336,6 +357,9 @@ if (NOT DEFINED OSI_INCLUDE_DIR_HINTS) - else() - find_package(Osi QUIET) - endif() -+endif() -+ -+find_package(Osi REQUIRED) - - # ============================================================================== - # Internal CLP/OSI/COINUTILS libraries: -@@ -354,6 +378,7 @@ endif() +@@ -364,6 +395,7 @@ endif() # - internal by default (Lemon), # - external if LEMON_INCLUDE_DIR_HINTS and a valid Lemon setup is found # ============================================================================== @@ -219,9 +167,9 @@ index 9cfd06c..8859469 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) -@@ -365,6 +390,9 @@ if (NOT LEMON_FOUND OR OpenMVG_USE_INTERNAL_LEMON) +@@ -374,6 +406,9 @@ if (NOT LEMON_FOUND OR OpenMVG_USE_INTERNAL_LEMON) + ${CMAKE_CURRENT_SOURCE_DIR}/third_party/lemon ${PROJECT_BINARY_DIR}/third_party/lemon) - set(LEMON_LIBRARY openMVG_lemon) endif() +endif() + @@ -229,7 +177,7 @@ index 9cfd06c..8859469 100644 # ============================================================================== # OpenCV -@@ -372,20 +400,13 @@ endif() +@@ -381,12 +416,7 @@ endif() # - only external and enabled only if OpenMVG_USE_OPENCV is set to ON # ============================================================================== if (OpenMVG_USE_OPENCV) @@ -239,11 +187,11 @@ index 9cfd06c..8859469 100644 - UPDATE_CACHE_VARIABLE(OpenMVG_USE_OPENCV OFF) - UPDATE_CACHE_VARIABLE(OpenMVG_USE_OCVSIFT OFF) - endif() -+ find_package( OpenCV REQUIRED ) ++ find_package( OpenCV REQUIRED ) endif() -- - # ============================================================================== + +@@ -394,7 +424,6 @@ endif() # Third-party libraries: # ============================================================================== add_subdirectory(third_party) @@ -251,7 +199,7 @@ index 9cfd06c..8859469 100644 # ============================================================================== # openMVG modules -@@ -472,67 +493,67 @@ message("** Use OpenCV SIFT features: " ${OpenMVG_USE_OCVSIFT}) +@@ -481,67 +510,67 @@ message("** Use OpenCV SIFT features: " ${OpenMVG_USE_OCVSIFT}) message("\n") @@ -330,24 +278,8 @@ index 9cfd06c..8859469 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 8a69c23..6a81580 100644 ---- a/src/cmakeFindModules/FindClp.cmake -+++ b/src/cmakeFindModules/FindClp.cmake -@@ -51,9 +51,8 @@ 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(OSICLP_LIBRARY NAMES OsiClp) -- -+ FIND_LIBRARY(CLPSOLVER_LIBRARY NAMES ClpSolver Clp) -+ FIND_LIBRARY(OSICLP_LIBRARY NAMES OsiClp Clp) - # locate Clp libraries - IF(DEFINED CLP_LIBRARY AND DEFINED CLPSOLVER_LIBRARY AND DEFINED OSICLP_LIBRARY) - SET(CLP_LIBRARIES ${CLP_LIBRARY} ${CLPSOLVER_LIBRARY} ${OSICLP_LIBRARY}) diff --git a/src/cmakeFindModules/OpenMVGConfig.cmake.in b/src/cmakeFindModules/OpenMVGConfig.cmake.in -index e7dfbfd..c01910d 100644 +index e7dfbfd..65224c4 100644 --- a/src/cmakeFindModules/OpenMVGConfig.cmake.in +++ b/src/cmakeFindModules/OpenMVGConfig.cmake.in @@ -19,7 +19,7 @@ @@ -359,20 +291,18 @@ index e7dfbfd..c01910d 100644 # 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) -@@ -59,9 +59,19 @@ set(CALLERS_CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH}) +@@ -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}) - +include(CMakeFindDependencyMacro) -+find_dependency(CoinUtils) -+find_dependency(Clp) -+find_dependency(Osi) ++ +find_dependency(flann) +find_dependency(Threads) +find_dependency(cereal) +find_dependency(Ceres) +find_dependency(vlfeat) -+ + # Build the absolute root install directory as a relative path get_filename_component(CURRENT_ROOT_INSTALL_DIR - ${CMAKE_MODULE_PATH}/../../../ ABSOLUTE) @@ -462,7 +392,7 @@ index cd800b0..20e9c8e 100644 -extern "C" { -#include "nonFree/sift/vl/sift.h" -} -+#include ++#include namespace openMVG { namespace features { @@ -475,35 +405,11 @@ index cd800b0..20e9c8e 100644 #ifdef OPENMVG_USE_OPENMP #pragma omp parallel for private(descr, descriptor) -diff --git a/src/openMVG/linearProgramming/CMakeLists.txt b/src/openMVG/linearProgramming/CMakeLists.txt -index cc5212f..acc57dd 100644 ---- a/src/openMVG/linearProgramming/CMakeLists.txt -+++ b/src/openMVG/linearProgramming/CMakeLists.txt -@@ -15,16 +15,12 @@ target_link_libraries(openMVG_linearProgramming - PUBLIC - openMVG_numeric - PRIVATE -- ${CLP_LIBRARIES} # clp + solver wrapper -- ${COINUTILS_LIBRARY} # container tools -- ${OSI_LIBRARY} # generic LP -+ Coin::Clp # clp + solver wrapper -+ Coin::CoinUtils # container tools -+ Coin::Osi # generic LP - ) - - target_include_directories(openMVG_linearProgramming -- PRIVATE -- ${CLP_INCLUDE_DIRS} -- ${COINUTILS_INCLUDE_DIRS} -- ${OSI_INCLUDE_DIRS} - PUBLIC - $ - ) diff --git a/src/openMVG/matching/CMakeLists.txt b/src/openMVG/matching/CMakeLists.txt -index 5fcd972..b21ea7b 100644 +index 2e0eafd7..d54d1e88 100644 --- a/src/openMVG/matching/CMakeLists.txt +++ b/src/openMVG/matching/CMakeLists.txt -@@ -18,6 +18,7 @@ list(REMOVE_ITEM matching_files_cpp ${REMOVEFILESUNITTEST}) +@@ -16,6 +16,7 @@ list(REMOVE_ITEM matching_files_cpp ${REMOVEFILESUNITTEST}) set(THREADS_PREFER_PTHREAD_FLAG ON) find_package(Threads REQUIRED) @@ -511,9 +417,12 @@ index 5fcd972..b21ea7b 100644 set_source_files_properties(${matching_files_cpp} PROPERTIES LANGUAGE CXX) add_library(openMVG_matching -@@ -39,10 +40,10 @@ target_link_libraries(openMVG_matching +@@ -35,12 +36,12 @@ target_link_libraries(openMVG_matching + PUBLIC + openMVG_features Threads::Threads - cereal +- cereal ++ cereal::cereal ) -if (NOT DEFINED OpenMVG_USE_INTERNAL_FLANN) +if (NOT OpenMVG_USE_INTERNAL_FLANN) @@ -538,18 +447,19 @@ index 1f3fc30..4097320 100644 $) 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..326fc9a 100644 +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,7 +18,7 @@ if (OpenMVG_BUILD_GUI_SOFTWARES) +@@ -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 @@ -590,7 +500,7 @@ index 2f60393..0d57d0a 100644 # Installation rules diff --git a/src/software/SfM/CMakeLists.txt b/src/software/SfM/CMakeLists.txt -index 013a6c8..f38daa9 100644 +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 @@ -602,7 +512,7 @@ index 013a6c8..f38daa9 100644 ) if (MSVC) set_target_properties(openMVG_main_ComputeFeatures PROPERTIES COMPILE_FLAGS "/bigobj") -@@ -235,7 +235,7 @@ if(OpenMVG_USE_OPENCV) +@@ -275,7 +275,7 @@ if(OpenMVG_USE_OPENCV) openMVG_multiview openMVG_sfm ${STLPLUS_LIBRARY} @@ -611,76 +521,6 @@ index 013a6c8..f38daa9 100644 ${OpenCV_LIBS}) target_include_directories(openMVG_main_ComputeFeatures_OpenCV PRIVATE ${OpenCV_INCLUDE_DIRS}) -diff --git a/src/software/SfM/SfM_GlobalPipeline.py.in b/src/software/SfM/SfM_GlobalPipeline.py.in -index 42405a4..28b0246 100644 ---- a/src/software/SfM/SfM_GlobalPipeline.py.in -+++ b/src/software/SfM/SfM_GlobalPipeline.py.in -@@ -21,7 +21,7 @@ - OPENMVG_SFM_BIN = "@OPENMVG_SOFTWARE_SFM_BUILD_DIR@" - - # Indicate the openMVG camera sensor width directory --CAMERA_SENSOR_WIDTH_DIRECTORY = "@OPENMVG_SOFTWARE_SFM_SRC_DIR@" + "/../../openMVG/exif/sensor_width_database" -+CAMERA_SENSOR_WIDTH_DIRECTORY = "@OPENMVG_CAMERA_SENSOR_WIDTH_DIRECTORY@" - - import os - import subprocess -@@ -77,5 +77,3 @@ pRecons.wait() - - pRecons = subprocess.Popen( [os.path.join(OPENMVG_SFM_BIN, "openMVG_main_ComputeSfM_DataColor"), "-i", reconstruction_dir+"/robust.bin", "-o", os.path.join(reconstruction_dir,"robust_colorized.ply")] ) - pRecons.wait() -- -- -diff --git a/src/software/SfM/SfM_SequentialPipeline.py.in b/src/software/SfM/SfM_SequentialPipeline.py.in -index 9a5a482..e804a19 100644 ---- a/src/software/SfM/SfM_SequentialPipeline.py.in -+++ b/src/software/SfM/SfM_SequentialPipeline.py.in -@@ -21,7 +21,7 @@ - OPENMVG_SFM_BIN = "@OPENMVG_SOFTWARE_SFM_BUILD_DIR@" - - # Indicate the openMVG camera sensor width directory --CAMERA_SENSOR_WIDTH_DIRECTORY = "@OPENMVG_SOFTWARE_SFM_SRC_DIR@" + "/../../openMVG/exif/sensor_width_database" -+CAMERA_SENSOR_WIDTH_DIRECTORY = "@OPENMVG_CAMERA_SENSOR_WIDTH_DIRECTORY@" - - import os - import subprocess -@@ -77,5 +77,3 @@ pRecons.wait() - - pRecons = subprocess.Popen( [os.path.join(OPENMVG_SFM_BIN, "openMVG_main_ComputeSfM_DataColor"), "-i", reconstruction_dir+"/robust.bin", "-o", os.path.join(reconstruction_dir,"robust_colorized.ply")] ) - pRecons.wait() -- -- -diff --git a/src/software/SfM/main_ComputeFeatures_OpenCV.cpp b/src/software/SfM/main_ComputeFeatures_OpenCV.cpp -index 9cc46af..f8bd892 100644 ---- a/src/software/SfM/main_ComputeFeatures_OpenCV.cpp -+++ b/src/software/SfM/main_ComputeFeatures_OpenCV.cpp -@@ -208,7 +208,7 @@ public: - // Create a SIFT detector - std::vector< cv::KeyPoint > v_keypoints; - cv::Mat m_desc; -- cv::Ptr siftdetector = cv::xfeatures2d::SIFT::create(); -+ cv::Ptr siftdetector = cv::SIFT::create(); - - // Process SIFT computation - siftdetector->detectAndCompute(img, m_mask, v_keypoints, m_desc); -diff --git a/src/software/SfM/tutorial_demo.py.in b/src/software/SfM/tutorial_demo.py.in -index 259e24e..1097062 100644 ---- a/src/software/SfM/tutorial_demo.py.in -+++ b/src/software/SfM/tutorial_demo.py.in -@@ -12,7 +12,7 @@ - OPENMVG_SFM_BIN = "@OPENMVG_SOFTWARE_SFM_BUILD_DIR@" - - # Indicate the openMVG camera sensor width directory --CAMERA_SENSOR_WIDTH_DIRECTORY = "@OPENMVG_SOFTWARE_SFM_SRC_DIR@" + "/../../openMVG/exif/sensor_width_database" -+CAMERA_SENSOR_WIDTH_DIRECTORY = "@OPENMVG_CAMERA_SENSOR_WIDTH_DIRECTORY@" - - import os - import subprocess -@@ -89,5 +89,3 @@ pRecons.wait() - print ("4. Structure from Known Poses (robust triangulation)") - pRecons = subprocess.Popen( [os.path.join(OPENMVG_SFM_BIN, "openMVG_main_ComputeStructureFromKnownPoses"), "-i", reconstruction_dir+"/sfm_data.bin", "-m", matches_dir, "-o", os.path.join(reconstruction_dir,"robust.ply")] ) - pRecons.wait() -- -- 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 @@ -695,7 +535,7 @@ index aa7dffe..2c4d237 100644 m_detector->detect(current_img, m_nextKeypoints); diff --git a/src/third_party/CMakeLists.txt b/src/third_party/CMakeLists.txt -index b71dfab..ad98e51 100644 +index 0d61c9f..05c8b29 100644 --- a/src/third_party/CMakeLists.txt +++ b/src/third_party/CMakeLists.txt @@ -18,7 +18,7 @@ add_subdirectory(stlplus3) @@ -705,9 +545,9 @@ index b71dfab..ad98e51 100644 -if(DEFINED OpenMVG_USE_INTERNAL_LEMON) +if(OpenMVG_USE_INTERNAL_LEMON) add_subdirectory(lemon) - set_property(TARGET openMVG_lemon PROPERTY FOLDER OpenMVG/3rdParty/lemon) - set_property(TARGET check PROPERTY FOLDER OpenMVG/3rdParty/lemon) -@@ -68,7 +68,7 @@ endif (NOT TIFF_FOUND) + set(LEMON_LIBRARY openMVG_lemon PARENT_SCOPE) + endif() +@@ -67,7 +67,7 @@ endif (NOT TIFF_FOUND) add_subdirectory(vectorGraphics) # Add ceres-solver (A Nonlinear Least Squares Minimizer) @@ -716,7 +556,7 @@ index b71dfab..ad98e51 100644 add_subdirectory(cxsparse) add_subdirectory(ceres-solver) set_property(TARGET openMVG_cxsparse PROPERTY FOLDER OpenMVG/3rdParty/ceres) -@@ -76,7 +76,7 @@ if (DEFINED OpenMVG_USE_INTERNAL_CERES) +@@ -75,7 +75,7 @@ if (DEFINED OpenMVG_USE_INTERNAL_CERES) endif() # Add an Approximate Nearest Neighbor library @@ -725,12 +565,92 @@ index b71dfab..ad98e51 100644 set(FLANN_INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/include/openMVG/third_party/flann/src/cpp) add_subdirectory(flann) endif() -@@ -90,7 +90,7 @@ add_subdirectory(fast) +@@ -89,7 +89,7 @@ add_subdirectory(fast) ## # Install Header only libraries if necessary ## -if (DEFINED OpenMVG_USE_INTERNAL_EIGEN) +if (OpenMVG_USE_INTERNAL_EIGEN) #Configure Eigen install - set(EIGEN_INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/include/openMVG/third_party/eigen) + 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 new file mode 100644 index 00000000000000..903c84a00616b0 --- /dev/null +++ b/ports/openmvg/fix-coinutils.patch @@ -0,0 +1,47 @@ +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/no-absolute-paths.patch b/ports/openmvg/no-absolute-paths.patch new file mode 100644 index 00000000000000..45d00aec4b63b6 --- /dev/null +++ b/ports/openmvg/no-absolute-paths.patch @@ -0,0 +1,66 @@ +diff --git a/src/software/SfM/SfM_GlobalPipeline.py.in b/src/software/SfM/SfM_GlobalPipeline.py.in +index 7fda0cd..c6f0bdb 100644 +--- a/src/software/SfM/SfM_GlobalPipeline.py.in ++++ b/src/software/SfM/SfM_GlobalPipeline.py.in +@@ -16,14 +16,13 @@ + # + # if output_dir is not present script will create it + # +- ++import os + # Indicate the openMVG binary directory +-OPENMVG_SFM_BIN = "@OPENMVG_SOFTWARE_SFM_BUILD_DIR@" ++OPENMVG_SFM_BIN = os.path.dirname(__file__) + + # Indicate the openMVG camera sensor width directory +-CAMERA_SENSOR_WIDTH_DIRECTORY = "@OPENMVG_SOFTWARE_SFM_SRC_DIR@" + "/../../openMVG/exif/sensor_width_database" ++CAMERA_SENSOR_WIDTH_DIRECTORY = os.path.dirname(__file__) + +-import os + import subprocess + import sys + +diff --git a/src/software/SfM/SfM_SequentialPipeline.py.in b/src/software/SfM/SfM_SequentialPipeline.py.in +index 0ff2e77..98d3eb2 100644 +--- a/src/software/SfM/SfM_SequentialPipeline.py.in ++++ b/src/software/SfM/SfM_SequentialPipeline.py.in +@@ -16,14 +16,13 @@ + # + # if output_dir is not present script will create it + # +- ++import os + # Indicate the openMVG binary directory +-OPENMVG_SFM_BIN = "@OPENMVG_SOFTWARE_SFM_BUILD_DIR@" ++OPENMVG_SFM_BIN = os.path.dirname(__file__) + + # Indicate the openMVG camera sensor width directory +-CAMERA_SENSOR_WIDTH_DIRECTORY = "@OPENMVG_SOFTWARE_SFM_SRC_DIR@" + "/../../openMVG/exif/sensor_width_database" ++CAMERA_SENSOR_WIDTH_DIRECTORY = os.path.dirname(__file__) + +-import os + import subprocess + import sys + +diff --git a/src/software/SfM/tutorial_demo.py.in b/src/software/SfM/tutorial_demo.py.in +index 1c56aab..3fb31c4 100644 +--- a/src/software/SfM/tutorial_demo.py.in ++++ b/src/software/SfM/tutorial_demo.py.in +@@ -8,13 +8,14 @@ + # usage : python tutorial_demo.py + # + ++import os ++ + # Indicate the openMVG binary directory +-OPENMVG_SFM_BIN = "@OPENMVG_SOFTWARE_SFM_BUILD_DIR@" ++OPENMVG_SFM_BIN = os.path.dirname(__file__) + + # Indicate the openMVG camera sensor width directory +-CAMERA_SENSOR_WIDTH_DIRECTORY = "@OPENMVG_SOFTWARE_SFM_SRC_DIR@" + "/../../openMVG/exif/sensor_width_database" ++CAMERA_SENSOR_WIDTH_DIRECTORY = os.path.dirname(__file__) + +-import os + import subprocess + import sys + diff --git a/ports/openmvg/portfile.cmake b/ports/openmvg/portfile.cmake index bb8d115ee8f553..369e9472786d5d 100644 --- a/ports/openmvg/portfile.cmake +++ b/ports/openmvg/portfile.cmake @@ -10,20 +10,19 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO openMVG/openMVG - REF 74deb33d12bf275a3b3a9afc833f4760be90f031 # v1.6 - SHA512 6e74effbc66f5d5e7c2d5edd7dacf3c0fa7eec1cb666244db8e4147c08d2e6faca98c1164ca1305a5013d247d479184742e5156232d4d8430615af31811e216e + REF d0fe73dd426ae4001631a51272cff71047522df9 # v2.0 + SHA512 1d5c68971ad63ced46d8b9070bdacc1065b4ba950fe919e11f952a004def87d4d83a474d48aee714c21b12106d7d81187d3670d8a2e6daf2d3c5fceb008a5de3 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) if("openmp" IN_LIST FEATURES) - if(VCPKG_TARGET_IS_WINDOWS) - message(WARNING "OpenMP feature is broken on Windows, disabled until fixed https://github.com/openMVG/openMVG/issues/1765") - else() set(OpenMVG_USE_OPENMP ON) - endif() endif() vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS @@ -49,13 +48,13 @@ file(REMOVE_RECURSE ${SOURCE_PATH}/src/third_party/ceres-solver file(REMOVE_RECURSE ${SOURCE_PATH}/src/cmakeFindModules/FindEigen.cmake ${SOURCE_PATH}/src/cmakeFindModules/FindLemon.cmake ${SOURCE_PATH}/src/cmakeFindModules/FindFlann.cmake - ${SOURCE_PATH}/src/cmakeFindModules/FindCoinUtils.cmake - ${SOURCE_PATH}/src/cmakeFindModules/FindClp.cmake - ${SOURCE_PATH}/src/cmakeFindModules/FindOsi.cmake) + #${SOURCE_PATH}/src/cmakeFindModules/FindCoinUtils.cmake + #${SOURCE_PATH}/src/cmakeFindModules/FindClp.cmake + #${SOURCE_PATH}/src/cmakeFindModules/FindOsi.cmake + ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH}/src - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/src" OPTIONS ${FEATURE_OPTIONS} -DOpenMVG_USE_OPENMP=${OpenMVG_USE_OPENMP} -DOpenMVG_BUILD_SHARED=OFF @@ -72,31 +71,36 @@ vcpkg_configure_cmake( -DOpenMVG_USE_INTERNAL_CERES=OFF -DOpenMVG_USE_INTERNAL_FLANN=OFF -DOpenMVG_USE_INTERNAL_LEMON=OFF + "-DCOINUTILS_INCLUDE_DIR_HINTS=${CURRENT_INSTALLED_DIR}/include/coin-or" + "-DCLP_INCLUDE_DIR_HINTS=${CURRENT_INSTALLED_DIR}/include/coin-or" + "-DOSI_INCLUDE_DIR_HINTS=${CURRENT_INSTALLED_DIR}/include/coin-or" ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/openMVG/cmake) +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_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") 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) +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") if(OpenMVG_BUILD_SHARED) if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") # release - file(GLOB DLL_FILES ${CURRENT_PACKAGES_DIR}/lib/*.dll) - file(COPY ${DLL_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/bin) - file(REMOVE_RECURSE ${DLL_FILES}) + file(GLOB DLL_FILES "${CURRENT_PACKAGES_DIR}/lib/*.dll") + file(COPY "${DLL_FILES}" DESTINATION "${CURRENT_PACKAGES_DIR}/bin") + file(REMOVE_RECURSE "${DLL_FILES}") endif() if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") # debug - file(GLOB DLL_FILES ${CURRENT_PACKAGES_DIR}/debug/lib/*.dll) - file(COPY ${DLL_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) - file(REMOVE_RECURSE ${DLL_FILES}) + file(GLOB DLL_FILES "${CURRENT_PACKAGES_DIR}/debug/lib/*.dll") + file(COPY "${DLL_FILES}" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin") + file(REMOVE_RECURSE "${DLL_FILES}") endif() endif() vcpkg_copy_pdbs() @@ -107,10 +111,10 @@ if("software" IN_LIST FEATURES) openMVG_main_AlternativeVO.app ui_openMVG_MatchesViewer.app ) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin/openMVG_main_AlternativeVO.app) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin/ui_openMVG_MatchesViewer.app) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin/openMVG_main_AlternativeVO.app) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin/ui_openMVG_MatchesViewer.app) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin/openMVG_main_AlternativeVO.app") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin/ui_openMVG_MatchesViewer.app") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin/openMVG_main_AlternativeVO.app") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin/ui_openMVG_MatchesViewer.app") else() vcpkg_copy_tools(AUTO_CLEAN TOOL_NAMES openMVG_main_AlternativeVO @@ -135,9 +139,6 @@ if("software" IN_LIST FEATURES) openMVG_main_ExportUndistortedImages openMVG_main_FrustumFiltering openMVG_main_geodesy_registration_to_gps_position - openMVG_main_GlobalSfM - openMVG_main_IncrementalSfM - openMVG_main_IncrementalSfM2 openMVG_main_ListMatchingPairs openMVG_main_MatchesToTracks openMVG_main_openMVG2Agisoft @@ -157,21 +158,22 @@ if("software" IN_LIST FEATURES) openMVG_main_SfM_Localization openMVG_main_SplitMatchFileIntoMatchFiles ui_openMVG_control_points_registration + openMVG_main_GeometricFilter + openMVG_main_PairGenerator + openMVG_main_SfM ) if("opencv" IN_LIST FEATURES) vcpkg_copy_tools(AUTO_CLEAN TOOL_NAMES - openMVG_main_ComputeFeatures_OpenCV - ) + openMVG_main_ComputeFeatures_OpenCV) endif() - file(COPY ${SOURCE_PATH}/src/openMVG/exif/sensor_width_database/sensor_width_camera_database.txt DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT}) - set(OPENMVG_SOFTWARE_SFM_BUILD_DIR ${CURRENT_INSTALLED_DIR}/tools/${PORT}) - set(OPENMVG_CAMERA_SENSOR_WIDTH_DIRECTORY ${CURRENT_INSTALLED_DIR}/tools/${PORT}) + file(COPY "${SOURCE_PATH}/src/openMVG/exif/sensor_width_database/sensor_width_camera_database.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}") + set(OPENMVG_SOFTWARE_SFM_BUILD_DIR "${CURRENT_INSTALLED_DIR}/tools/${PORT}") + set(OPENMVG_CAMERA_SENSOR_WIDTH_DIRECTORY "${CURRENT_INSTALLED_DIR}/tools/${PORT}") configure_file("${SOURCE_PATH}/src/software/SfM/tutorial_demo.py.in" "${CURRENT_PACKAGES_DIR}/tools/${PORT}/tutorial_demo.py" @ONLY) configure_file("${SOURCE_PATH}/src/software/SfM/SfM_GlobalPipeline.py.in" "${CURRENT_PACKAGES_DIR}/tools/${PORT}/SfM_GlobalPipeline.py" @ONLY) configure_file("${SOURCE_PATH}/src/software/SfM/SfM_SequentialPipeline.py.in" "${CURRENT_PACKAGES_DIR}/tools/${PORT}/SfM_SequentialPipeline.py" @ONLY) - message(STATUS "To use tools, you need graphviz installed and manually added to path (to have neato executable)") endif() # Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/openmvg/vcpkg.json b/ports/openmvg/vcpkg.json index 42686e60a0b712..65be709b66d524 100644 --- a/ports/openmvg/vcpkg.json +++ b/ports/openmvg/vcpkg.json @@ -1,8 +1,10 @@ { "name": "openmvg", - "version": "1.6", - "port-version": 3, + "version": "2.0", + "port-version": 11, "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", "dependencies": [ "cereal", { @@ -12,15 +14,26 @@ "suitesparse" ] }, - "clp", + "coin-or-clp", + "coin-or-osi", "coinutils", "eigen3", "flann", "libjpeg-turbo", "liblemon", "libpng", - "osi", - "tiff", + { + "name": "tiff", + "default-features": false + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, "vlfeat", "zlib" ], diff --git a/ports/openmvs/fix-build-boost-1_77_0.patch b/ports/openmvs/fix-build-boost-1_77_0.patch deleted file mode 100644 index 69924d219c5671..00000000000000 --- a/ports/openmvs/fix-build-boost-1_77_0.patch +++ /dev/null @@ -1,19 +0,0 @@ - libs/Common/Common.cpp | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/libs/Common/Common.cpp b/libs/Common/Common.cpp -index 052951d..8dc404e 100644 ---- a/libs/Common/Common.cpp -+++ b/libs/Common/Common.cpp -@@ -31,6 +31,11 @@ namespace boost { - ASSERT("boost exception thrown" == NULL); - exit(EXIT_FAILURE); - } -+ void throw_exception(std::exception const & e, boost::source_location const &) { -+ VERBOSE("exception thrown: %s", e.what()); -+ ASSERT("boost exception thrown" == NULL); -+ exit(EXIT_FAILURE); -+ } - } // namespace boost - #endif - #endif diff --git a/ports/openmvs/fix-build.patch b/ports/openmvs/fix-build.patch index 48f62ae0a9d0ea..26839fc6299ccb 100644 --- a/ports/openmvs/fix-build.patch +++ b/ports/openmvs/fix-build.patch @@ -1,194 +1,18 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 7966ed5..f34b5b4 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -63,9 +63,10 @@ INCLUDE_DIRECTORIES("${OpenMVS_SOURCE_DIR}") - SET(OpenMVS_EXTRA_LIBS "") - if(OpenMVS_USE_OPENMP) - SET(OpenMP_LIBS "") -- FIND_PACKAGE(OpenMP) -- if(OPENMP_FOUND) -- SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}") -+ FIND_PACKAGE(OpenMP REQUIRED) -+ if(OpenMP_FOUND) -+ link_libraries(OpenMP::OpenMP_CXX) -+ link_libraries(OpenMP::OpenMP_C) - ADD_DEFINITIONS(-D_USE_OPENMP) - SET(_USE_OPENMP TRUE) - #cmake only check for separate OpenMP library on AppleClang 7+ -@@ -83,7 +84,7 @@ if(OpenMVS_USE_OPENGL) - if(POLICY CMP0072) - cmake_policy(SET CMP0072 NEW) - endif() -- FIND_PACKAGE(OpenGL) -+ FIND_PACKAGE(OpenGL REQUIRED) - if(OPENGL_FOUND) - INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR}) - ADD_DEFINITIONS(${OpenGL_DEFINITIONS} -D_USE_OPENGL) -@@ -94,7 +95,7 @@ if(OpenMVS_USE_OPENGL) - endif() +diff --git a/build/Templates/OpenMVSConfig.cmake.in b/build/Templates/OpenMVSConfig.cmake.in +index 9747b3e..ed2347e 100644 +--- a/build/Templates/OpenMVSConfig.cmake.in ++++ b/build/Templates/OpenMVSConfig.cmake.in +@@ -15,9 +15,64 @@ set(OpenMVS_INCLUDE_DIRS "@INSTALL_INCLUDE_DIR_IN@") - if(OpenMVS_USE_CUDA) -- FIND_PACKAGE(CUDA) -+ FIND_PACKAGE(CUDA REQUIRED) - if(CUDA_FOUND) - INCLUDE_DIRECTORIES(${CUDA_INCLUDE_DIRS}) - ADD_DEFINITIONS(-D_USE_CUDA) -@@ -108,7 +109,7 @@ else() - endif() + set(OpenMVS_DEFINITIONS "@OpenMVS_DEFINITIONS@") - if(OpenMVS_USE_BREAKPAD) -- FIND_PACKAGE(BREAKPAD) -+ FIND_PACKAGE(BREAKPAD REQUIRED) - if(BREAKPAD_FOUND) - INCLUDE_DIRECTORIES(${BREAKPAD_INCLUDE_DIRS}) - ADD_DEFINITIONS(${BREAKPAD_DEFINITIONS} -D_USE_BREAKPAD) -@@ -119,7 +120,7 @@ if(OpenMVS_USE_BREAKPAD) - endif() - endif() - --FIND_PACKAGE(Boost ${SYSTEM_PACKAGE_REQUIRED} COMPONENTS iostreams program_options system serialization) -+FIND_PACKAGE(Boost COMPONENTS iostreams program_options system serialization REQUIRED) - if(Boost_FOUND) - INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS}) - ADD_DEFINITIONS(${Boost_DEFINITIONS} -D_USE_BOOST) -@@ -127,14 +128,14 @@ if(Boost_FOUND) - SET(_USE_BOOST TRUE) - endif() - --FIND_PACKAGE(Eigen ${SYSTEM_PACKAGE_REQUIRED}) --if(EIGEN_FOUND) -- INCLUDE_DIRECTORIES(${EIGEN_INCLUDE_DIRS}) -- ADD_DEFINITIONS(${EIGEN_DEFINITIONS} -D_USE_EIGEN) -+FIND_PACKAGE(Eigen3 REQUIRED) -+if(EIGEN3_FOUND) -+ INCLUDE_DIRECTORIES(${EIGEN3_INCLUDE_DIRS}) -+ ADD_DEFINITIONS(${EIGEN3_DEFINITIONS} -D_USE_EIGEN) - SET(_USE_EIGEN TRUE) - endif() - --FIND_PACKAGE(OpenCV ${SYSTEM_PACKAGE_REQUIRED}) -+FIND_PACKAGE(OpenCV REQUIRED) - if(OpenCV_FOUND) - INCLUDE_DIRECTORIES(${OpenCV_INCLUDE_DIRS}) - ADD_DEFINITIONS(${OpenCV_DEFINITIONS}) -@@ -170,7 +171,9 @@ ADD_DEFINITIONS(${OpenMVS_DEFINITIONS}) - - # Add modules - ADD_SUBDIRECTORY(libs) -+if(OpenMVS_BUILD_TOOLS) - ADD_SUBDIRECTORY(apps) -+endif() - ADD_SUBDIRECTORY(docs) - - if(OpenMVS_USE_CERES) -@@ -188,7 +191,7 @@ export(TARGETS Common IO Math MVS FILE "${PROJECT_BINARY_DIR}/OpenMVSTargets.cma - # Export the package for use from the build-tree - # (this registers the build-tree with a global CMake-registry) - export(PACKAGE OpenMVS) -- -+ - # Create the OpenMVSConfig.cmake and OpenMVSConfigVersion files - file(RELATIVE_PATH REL_INCLUDE_DIR "${INSTALL_CMAKE_DIR}" "${INSTALL_INCLUDE_DIR}") - # ... for the build tree -@@ -199,7 +202,7 @@ set(CONF_INCLUDE_DIRS "${INSTALL_CMAKE_DIR}/${REL_INCLUDE_DIR}") - configure_file("${CMAKE_CURRENT_SOURCE_DIR}/build/OpenMVSConfig.cmake.in" "${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/OpenMVSConfig.cmake" @ONLY) - # ... for both - configure_file("${CMAKE_CURRENT_SOURCE_DIR}/build/OpenMVSConfigVersion.cmake.in" "${PROJECT_BINARY_DIR}/OpenMVSConfigVersion.cmake" @ONLY) -- -+ - # Install the OpenMVSConfig.cmake and OpenMVSConfigVersion.cmake - install(FILES - "${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/OpenMVSConfig.cmake" -diff --git a/MvgMvsPipeline.py b/MvgMvsPipeline.py.in -similarity index 97% -rename from MvgMvsPipeline.py -rename to MvgMvsPipeline.py.in -index f4914bf..23d03e6 100644 ---- a/MvgMvsPipeline.py -+++ b/MvgMvsPipeline.py.in -@@ -91,12 +91,12 @@ def find(afile): - - - # Try to find openMVG and openMVS binaries in PATH --OPENMVG_BIN = whereis("openMVG_main_SfMInit_ImageListing") --OPENMVS_BIN = whereis("ReconstructMesh") -+OPENMVG_BIN = "@OPENMVG_TOOLS_PATH@" -+OPENMVS_BIN = "@OPENMVS_TOOLS_PATH@" - - # Try to find openMVG camera sensor database --CAMERA_SENSOR_DB_FILE = "sensor_width_camera_database.txt" --CAMERA_SENSOR_DB_DIRECTORY = find(CAMERA_SENSOR_DB_FILE) -+CAMERA_SENSOR_DB_FILE = "@SENSOR_WIDTH_CAMERA_DATABASE_TXT_PATH@" -+CAMERA_SENSOR_DB_DIRECTORY = "@OPENMVG_TOOLS_PATH@" - - # Ask user for openMVG and openMVS directories if not found - if not OPENMVG_BIN: -@@ -175,10 +175,10 @@ class StepsStore: - ["-i", "%input_dir%", "-o", "%matches_dir%", "-d", "%camera_file_params%"]], - ["Compute features", # 1 - os.path.join(OPENMVG_BIN, "openMVG_main_ComputeFeatures"), -- ["-i", "%matches_dir%/sfm_data.json", "-o", "%matches_dir%", "-m", "SIFT", "-n", "4"]], -+ ["-i", "%matches_dir%/sfm_data.json", "-o", "%matches_dir%", "-m", "SIFT"]], - ["Compute matches", # 2 - os.path.join(OPENMVG_BIN, "openMVG_main_ComputeMatches"), -- ["-i", "%matches_dir%/sfm_data.json", "-o", "%matches_dir%", "-n", "HNSWL2", "-r", ".8"]], -+ ["-i", "%matches_dir%/sfm_data.json", "-o", "%matches_dir%", "-n", "AUTO", "-r", ".8"]], - ["Incremental reconstruction", # 3 - os.path.join(OPENMVG_BIN, "openMVG_main_IncrementalSfM"), - ["-i", "%matches_dir%/sfm_data.json", "-m", "%matches_dir%", "-o", "%reconstruction_dir%"]], -diff --git a/apps/Viewer/CMakeLists.txt b/apps/Viewer/CMakeLists.txt -index c519040..934cd50 100644 ---- a/apps/Viewer/CMakeLists.txt -+++ b/apps/Viewer/CMakeLists.txt -@@ -16,18 +16,6 @@ else() - MESSAGE("-- Can't find GLEW. Continuing without it.") - RETURN() - endif() --if(CMAKE_COMPILER_IS_GNUCXX) -- FIND_PACKAGE(PkgConfig QUIET) -- pkg_search_module(GLFW QUIET glfw3) -- if(GLFW_FOUND) -- INCLUDE_DIRECTORIES(${GLFW_INCLUDE_DIRS}) -- ADD_DEFINITIONS(${GLFW_DEFINITIONS}) -- MESSAGE(STATUS "GLFW3 ${GLFW_VERSION} found (include: ${GLFW_INCLUDE_DIRS})") -- else() -- MESSAGE("-- Can't find GLFW3. Continuing without it.") -- RETURN() -- endif() --else() - FIND_PACKAGE(glfw3 QUIET) - if(glfw3_FOUND) - INCLUDE_DIRECTORIES(${glfw3_INCLUDE_DIRS}) -@@ -37,7 +25,6 @@ else() - MESSAGE("-- Can't find GLFW3. Continuing without it.") - RETURN() - endif() --endif() - - # List sources files - FILE(GLOB PCH_C "Common.cpp") -diff --git a/build/OpenMVSConfig.cmake.in b/build/OpenMVSConfig.cmake.in -index 96b8fe2..fa6d4a6 100644 ---- a/build/OpenMVSConfig.cmake.in -+++ b/build/OpenMVSConfig.cmake.in -@@ -3,16 +3,71 @@ - # OpenMVS_INCLUDE_DIRS - include directories for OpenMVS - # OpenMVS_LIBRARIES - libraries to link against - # OpenMVS_BINARIES - the binaries -- -+ - # Compute paths - get_filename_component(OpenMVS_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) - set(OpenMVS_INCLUDE_DIRS "@CONF_INCLUDE_DIRS@") -- +list(APPEND CMAKE_MODULE_PATH "${OpenMVS_CMAKE_DIR}") + +if (MSVC) -+ set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /GL") -+ set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /GL") -+ set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} /LTCG") -+ set(CMAKE_MODULE_LINKER_FLAGS_RELEASE "${CMAKE_MODULE_LINKER_FLAGS_RELEASE} /LTCG") ++ set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /GL") ++ set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /GL") ++ set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} /LTCG") ++ set(CMAKE_MODULE_LINKER_FLAGS_RELEASE "${CMAKE_MODULE_LINKER_FLAGS_RELEASE} /LTCG") +endif() + +set(CMAKE_CXX_STANDARD 14) @@ -197,27 +21,27 @@ index 96b8fe2..fa6d4a6 100644 +include(CMakeFindDependencyMacro) + +if(@OpenMVS_USE_OPENMP@) -+ find_dependency(OpenMP) -+ add_definitions(-D_USE_OPENMP) ++ find_dependency(OpenMP) ++ add_definitions(-D_USE_OPENMP) +endif() + +if(@OpenMVS_USE_OPENGL@) -+ find_dependency(OpenGL) -+ add_definitions(${OpenGL_DEFINITIONS} -D_USE_OPENGL) ++ find_dependency(OpenGL) ++ add_definitions(${OpenGL_DEFINITIONS} -D_USE_OPENGL) +endif() + +if(@OpenMVS_USE_CUDA@) -+ find_dependency(CUDA) -+ add_definitions(-D_USE_CUDA) -+ include_directories(${CUDA_INCLUDE_DIRS}) ++ find_dependency(CUDA) ++ add_definitions(-D_USE_CUDA) ++ include_directories(${CUDA_INCLUDE_DIRS}) +endif() + +if(@OpenMVS_USE_BREAKPAD@) -+ find_dependency(BREAKPAD) -+ add_definitions(${BREAKPAD_DEFINITIONS} -D_USE_BREAKPAD) ++ find_dependency(BREAKPAD) ++ 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) @@ -228,46 +52,39 @@ index 96b8fe2..fa6d4a6 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}) ++ find_dependency(Ceres) ++ add_definitions(${CERES_DEFINITIONS}) +endif() + +add_definitions(@OpenMVS_DEFINITIONS@) + - # Our library dependencies (contains definitions for IMPORTED targets) - if(NOT TARGET MVS AND NOT OpenMVS_BINARY_DIR) - include("${OpenMVS_CMAKE_DIR}/OpenMVSTargets.cmake") - endif() -- ++# Our library dependencies (contains definitions for IMPORTED targets) ++if(NOT TARGET MVS AND NOT OpenMVS_BINARY_DIR) ++ include("${OpenMVS_CMAKE_DIR}/OpenMVSTargets.cmake") ++endif() + # These are IMPORTED targets created by OpenMVSTargets.cmake set(OpenMVS_LIBRARIES MVS) - set(OpenMVS_BINARIES InterfaceVisualSFM DensifyPointCloud ReconstructMesh RefineMesh TextureMesh) +-set(OpenMVS_BINARIES InterfaceCOLMAP DensifyPointCloud ReconstructMesh RefineMesh TextureMesh) +- +-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 f41c9d8..31cd292 100644 +index 0cb2d8e1..62e1661f 100644 --- a/build/Utils.cmake +++ b/build/Utils.cmake -@@ -160,7 +160,7 @@ macro(GetOperatingSystemArchitectureBitness) - elseif(CMAKE_SYSTEM_PROCESSOR MATCHES i686.*|i386.*|x86.*) - set(X86 1) - endif() -- -+ - if(NOT ${MY_VAR_PREFIX}_PACKAGE_REQUIRED) - set(${MY_VAR_PREFIX}_PACKAGE_REQUIRED "REQUIRED") - endif() -@@ -173,30 +173,6 @@ macro(ComposePackageLibSuffix) +@@ -173,32 +173,6 @@ macro(ComposePackageLibSuffix) set(PACKAGE_LIB_SUFFIX "") set(PACKAGE_LIB_SUFFIX_DBG "") set(PACKAGE_LIB_SUFFIX_REL "") - if(MSVC) -- if("${MSVC_VERSION}" STREQUAL "1921") +- if("${MSVC_VERSION}" STRGREATER "1929") +- set(PACKAGE_LIB_SUFFIX "/vc17") +- elseif("${MSVC_VERSION}" STRGREATER "1916") - set(PACKAGE_LIB_SUFFIX "/vc16") -- elseif("${MSVC_VERSION}" STREQUAL "1916") +- elseif("${MSVC_VERSION}" STRGREATER "1900") - set(PACKAGE_LIB_SUFFIX "/vc15") - elseif("${MSVC_VERSION}" STREQUAL "1900") - set(PACKAGE_LIB_SUFFIX "/vc14") @@ -291,67 +108,40 @@ index f41c9d8..31cd292 100644 endmacro() -@@ -511,7 +487,7 @@ macro(optimize_default_compiler_settings) - endif() - add_extra_compiler_option(-fdiagnostics-show-option) - add_extra_compiler_option(-ftemplate-backtrace-limit=0) -- -+ - # The -Wno-long-long is required in 64bit systems when including sytem headers. - if(X86_64) - add_extra_compiler_option(-Wno-long-long) -@@ -817,7 +793,7 @@ macro(ConfigCompilerAndLinker) - else() - set(cxx_rtti_support "${cxx_no_rtti_flags}") - endif() -- -+ - SET(cxx_default "${cxx_exception_support} ${cxx_rtti_support}" CACHE PATH "Common compile CXX flags") - SET(c_default "${CMAKE_C_FLAGS} ${cxx_base_flags}" CACHE PATH "Common compile C flags") - endmacro() -@@ -825,16 +801,12 @@ endmacro() - # Initialize variables needed for a library type project. - macro(ConfigLibrary) +@@ -805,12 +779,8 @@ macro(ConfigLibrary) # Offer the user the choice of overriding the installation directories -- set(INSTALL_LIB_DIR "lib/${PROJECT_NAME}" CACHE PATH "Installation directory for libraries") -- set(INSTALL_BIN_DIR "bin/${PROJECT_NAME}" CACHE PATH "Installation directory for executables") -- set(INSTALL_INCLUDE_DIR "include/${PROJECT_NAME}" CACHE PATH "Installation directory for header files") + set(INSTALL_LIB_DIR "lib" CACHE PATH "Installation directory for libraries") + set(INSTALL_BIN_DIR "bin" CACHE PATH "Installation directory for executables") +- set(INSTALL_INCLUDE_DIR "include" CACHE PATH "Installation directory for header files") - if(WIN32 AND NOT CYGWIN) - set(DEF_INSTALL_CMAKE_DIR "CMake") - else() -- set(DEF_INSTALL_CMAKE_DIR "lib/CMake/${PROJECT_NAME}") +- set(DEF_INSTALL_CMAKE_DIR "lib/cmake") - endif() -+ set(INSTALL_LIB_DIR "lib" CACHE PATH "Installation directory for libraries") -+ set(INSTALL_BIN_DIR "bin" CACHE PATH "Installation directory for executables") + set(INSTALL_INCLUDE_DIR "include/openmvs" CACHE PATH "Installation directory for header files") + set(DEF_INSTALL_CMAKE_DIR "share/openmvs") set(INSTALL_CMAKE_DIR ${DEF_INSTALL_CMAKE_DIR} CACHE PATH "Installation directory for CMake files") -- -+ # Make relative paths absolute (needed later on) foreach(p LIB BIN INCLUDE CMAKE) - set(var INSTALL_${p}_DIR) -diff --git a/libs/Common/CMakeLists.txt b/libs/Common/CMakeLists.txt -index 2e6c1a4..6e1fa95 100644 ---- a/libs/Common/CMakeLists.txt -+++ b/libs/Common/CMakeLists.txt -@@ -18,6 +18,7 @@ set_target_pch(Common Common.h) - - # Link its dependencies - TARGET_LINK_LIBRARIES(Common ${Boost_LIBRARIES} ${OpenCV_LIBS}) -+TARGET_INCLUDE_DIRECTORIES(Common PUBLIC $ $) +@@ -821,7 +791,7 @@ macro(ConfigLibrary) + else() + set(${varp} "${CMAKE_INSTALL_PREFIX}/${${var}}") + endif() +- set(${var} "${${varp}}/${PROJECT_NAME}") ++ set(${var} "${${varp}}") + endforeach() + endmacro() - # Install - SET_TARGET_PROPERTIES(Common PROPERTIES + diff --git a/libs/Common/Strings.h b/libs/Common/MVSStrings.h similarity index 100% rename from libs/Common/Strings.h rename to libs/Common/MVSStrings.h diff --git a/libs/Common/Types.h b/libs/Common/Types.h -index bcac65c..9abeefb 100644 +index d5dcb27e..04fbfe2f 100644 --- a/libs/Common/Types.h +++ b/libs/Common/Types.h -@@ -378,7 +378,7 @@ typedef TAliasCast CastD2I; +@@ -385,7 +385,7 @@ typedef TAliasCast CastD2I; // I N C L U D E S ///////////////////////////////////////////////// @@ -360,90 +150,17 @@ index bcac65c..9abeefb 100644 #include "AutoPtr.h" #include "List.h" #include "Thread.h" -@@ -2558,7 +2558,7 @@ public: - - /// creates an SO3 as a rotation that takes Vector a into the direction of Vector b - /// with the rotation axis along a ^ b. If |a ^ b| == 0, it creates the identity rotation. -- /// An assertion will fail if Vector a and Vector b are in exactly opposite directions. -+ /// An assertion will fail if Vector a and Vector b are in exactly opposite directions. - /// @param a source Vector - /// @param b target Vector - SO3(const Vec3& a, const Vec3& b) { -@@ -2604,7 +2604,7 @@ public: - mat.row(2) -= mat.row(1) * d12; - mat.row(2).normalize(); - // check for positive determinant <=> right handed coordinate system of row vectors -- ASSERT(mat.row(0).cross(mat.row(1)).dot(mat.row(2)) > 0); -+ ASSERT(mat.row(0).cross(mat.row(1)).dot(mat.row(2)) > 0); + +diff --git a/apps/InterfaceMetashape/InterfaceMetashape.cpp b/apps/InterfaceMetashape/InterfaceMetashape.cpp +index 4886973a..c2ab8f98 100644 +--- a/apps/InterfaceMetashape/InterfaceMetashape.cpp ++++ b/apps/InterfaceMetashape/InterfaceMetashape.cpp +@@ -627,7 +627,7 @@ bool ParseSceneXML(Scene& scene, PlatformDistCoeffs& pltDistCoeffs, size_t& nCam + } + const size_t nLen(pStream->getSize()); + String str; str.resize(nLen); +- pStream->read(&str[0], nLen); ++ pStream->read(str.data(), nLen); + doc.Parse(str.c_str(), nLen); } - - /// Exponentiate a vector in the Lie algebra to generate a new SO3. -diff --git a/libs/IO/CMakeLists.txt b/libs/IO/CMakeLists.txt -index a354376..4fd478c 100644 ---- a/libs/IO/CMakeLists.txt -+++ b/libs/IO/CMakeLists.txt -@@ -43,7 +43,8 @@ cxx_library_with_type_no_pch(IO "Libs" "STATIC" "${cxx_default}" - set_target_pch(IO Common.h) - - # Link its dependencies --TARGET_LINK_LIBRARIES(IO Common ${PNG_LIBRARIES} ${JPEG_LIBRARIES} ${TIFF_LIBRARIES} ${EXIV2_LIBS}) -+TARGET_LINK_LIBRARIES(IO Common ${TIFF_LIBRARIES} ${PNG_LIBRARIES} ${JPEG_LIBRARIES} ${EXIV2_LIBS}) -+TARGET_INCLUDE_DIRECTORIES(IO PUBLIC $ $) - - # Install - SET_TARGET_PROPERTIES(IO PROPERTIES -diff --git a/libs/MVS/CMakeLists.txt b/libs/MVS/CMakeLists.txt -index 14be620..867cfd5 100644 ---- a/libs/MVS/CMakeLists.txt -+++ b/libs/MVS/CMakeLists.txt -@@ -1,12 +1,12 @@ - # Find required packages --FIND_PACKAGE(CGAL ${SYSTEM_PACKAGE_REQUIRED}) -+FIND_PACKAGE(CGAL REQUIRED) - if(CGAL_FOUND) - include_directories(${CGAL_INCLUDE_DIRS}) - add_definitions(${CGAL_DEFINITIONS}) - link_directories(${CGAL_LIBRARY_DIRS}) - endif() - --FIND_PACKAGE(VCG ${SYSTEM_PACKAGE_REQUIRED}) -+FIND_PACKAGE(VCG REQUIRED) - if(VCG_FOUND) - include_directories(${VCG_INCLUDE_DIRS}) - add_definitions(${VCG_DEFINITIONS}) -@@ -14,12 +14,10 @@ endif() - - set(CERES_LIBS "") - if(OpenMVS_USE_CERES) -- FIND_PACKAGE(CERES) -+ FIND_PACKAGE(Ceres REQUIRED) - if(CERES_FOUND) - include_directories(${CERES_INCLUDE_DIRS}) - add_definitions(${CERES_DEFINITIONS}) -- else() -- set(OpenMVS_USE_CERES OFF) - endif() - endif() - -@@ -42,7 +40,8 @@ cxx_library_with_type_no_pch(MVS "Libs" "" "${cxx_default}" - set_target_pch(MVS Common.h) - - # Link its dependencies --TARGET_LINK_LIBRARIES(MVS PRIVATE Common Math IO ${CERES_LIBS} ${CGAL_LIBS} ${CUDA_CUDA_LIBRARY}) -+TARGET_LINK_LIBRARIES(MVS PRIVATE Common Math IO ${CERES_LIBS} CGAL::CGAL ${CUDA_CUDA_LIBRARY}) -+TARGET_INCLUDE_DIRECTORIES(MVS PUBLIC $ $) - - # Install - SET_TARGET_PROPERTIES(MVS PROPERTIES -diff --git a/libs/Math/CMakeLists.txt b/libs/Math/CMakeLists.txt -index d592bd0..f1fe4c6 100644 ---- a/libs/Math/CMakeLists.txt -+++ b/libs/Math/CMakeLists.txt -@@ -35,6 +35,7 @@ set_target_pch(Math Common.h) - - # Link its dependencies - TARGET_LINK_LIBRARIES(Math Common) -+TARGET_INCLUDE_DIRECTORIES(Math PUBLIC $ $) - - # Install - INSTALL(FILES ${LIBRARY_FILES_H} DESTINATION "${INSTALL_INCLUDE_DIR}/Math" COMPONENT dev) + if (doc.ErrorID() != tinyxml2::XML_SUCCESS) { 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/no-absolute-paths.patch b/ports/openmvs/no-absolute-paths.patch new file mode 100644 index 00000000000000..9ba0a9753ec724 --- /dev/null +++ b/ports/openmvs/no-absolute-paths.patch @@ -0,0 +1,42 @@ +diff --git a/MvgMvsPipeline.py b/MvgMvsPipeline.py.in +index 53a4a5cc..97735396 100644 +--- a/MvgMvsPipeline.py ++++ b/MvgMvsPipeline.py.in +@@ -109,14 +109,14 @@ def find(afile): + return d + return None + +- ++current_dir = os.path.dirname(os.path.abspath(__file__)) + # Try to find openMVG and openMVS binaries in PATH +-OPENMVG_BIN = whereis("openMVG_main_SfMInit_ImageListing") +-OPENMVS_BIN = whereis("ReconstructMesh") ++OPENMVG_BIN = os.path.join(current_dir, '..', 'openmvg') ++OPENMVS_BIN = current_dir + + # Try to find openMVG camera sensor database +-CAMERA_SENSOR_DB_FILE = "sensor_width_camera_database.txt" +-CAMERA_SENSOR_DB_DIRECTORY = find(CAMERA_SENSOR_DB_FILE) ++CAMERA_SENSOR_DB_FILE = os.path.join(OPENMVG_BIN, 'sensor_width_camera_database.txt') ++CAMERA_SENSOR_DB_DIRECTORY = OPENMVS_BIN + + # Ask user for openMVG and openMVS directories if not found + if not OPENMVG_BIN: + +diff --git a/MvgOptimizeSfM.py b/MvgOptimizeSfM.py.in +index 930d6805..6eb672c1 100644 +--- a/MvgOptimizeSfM.py ++++ b/MvgOptimizeSfM.py.in +@@ -56,9 +56,10 @@ def launch(cmdline): + sys.exit('\r\nProcess canceled by user, all files remains') + + ++current_dir = os.path.dirname(os.path.abspath(__file__)) + # Try to find openMVG and openMVS binaries in PATH +-OPENMVG_BIN = whereis("openMVG_main_SfMInit_ImageListing") +-OPENMVS_BIN = whereis("ReconstructMesh") ++OPENMVG_BIN = os.path.join(current_dir, '..', 'openmvg') ++OPENMVS_BIN = current_dir + + # Ask user for openMVG and openMVS directories if not found + if not OPENMVG_BIN: diff --git a/ports/openmvs/portfile.cmake b/ports/openmvs/portfile.cmake index f7232ee1be38ed..22d36d5e7f9afe 100644 --- a/ports/openmvs/portfile.cmake +++ b/ports/openmvs/portfile.cmake @@ -3,35 +3,45 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO cdcseacave/openMVS - REF v1.1.1 - SHA512 eeb15d0756f12136a1e7938a0eed97024d564eef3355f3bb6abf6c681e38919011e1a133d89ca360f463e7fed5feb8e0138a0fe9be4c25b6a13ba4b042aef3eb + REF "v${VERSION}" + SHA512 95d83c6694b63b6fd27657c4c5e22ddbc078d26b7324b8f17952a6c7e4547028698aa155077c0cfb916d3497ca31c365e0cbcd81f3cbe959ef40a7ee2e5cd300 HEAD_REF master PATCHES fix-build.patch - fix-build-boost-1_77_0.patch + no-absolute-paths.patch + fix-static-build.patch + fix-lib-name-conflict.patch ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES cuda OpenMVS_USE_CUDA openmp OpenMVS_USE_OPENMP + nonfree OpenMVS_USE_NONFREE + ceres OpenMVS_USE_CERES ) file(REMOVE "${SOURCE_PATH}/build/Modules/FindCERES.cmake") file(REMOVE "${SOURCE_PATH}/build/Modules/FindCGAL.cmake") file(REMOVE "${SOURCE_PATH}/build/Modules/FindEIGEN.cmake") +if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + set(USE_SSE ON) +else() + set(USE_SSE OFF) +endif() + vcpkg_cmake_configure( SOURCE_PATH ${SOURCE_PATH} OPTIONS ${FEATURE_OPTIONS} - -DOpenMVS_USE_NONFREE=ON - -DOpenMVS_USE_CERES=OFF -DOpenMVS_USE_FAST_FLOAT2INT=ON -DOpenMVS_USE_FAST_INVSQRT=OFF -DOpenMVS_USE_FAST_CBRT=ON -DOpenMVS_USE_SSE=ON -DOpenMVS_USE_OPENGL=ON -DOpenMVS_USE_BREAKPAD=OFF + -DOpenMVS_ENABLE_TESTS=OFF + -DOpenMVS_USE_SSE=${USE_SSE} OPTIONS_RELEASE -DOpenMVS_BUILD_TOOLS=ON OPTIONS_DEBUG @@ -42,24 +52,28 @@ vcpkg_cmake_install() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -vcpkg_fixup_cmake_targets() -file(READ ${CURRENT_PACKAGES_DIR}/share/openmvs/OpenMVSTargets-release.cmake TARGETS_CMAKE) -string(REPLACE "bin/InterfaceCOLMAP" "tools/openmvs/InterfaceCOLMAP" TARGETS_CMAKE "${TARGETS_CMAKE}") -string(REPLACE "bin/InterfaceVisualSFM" "tools/openmvs/InterfaceVisualSFM" TARGETS_CMAKE "${TARGETS_CMAKE}") -string(REPLACE "bin/DensifyPointCloud" "tools/openmvs/DensifyPointCloud" TARGETS_CMAKE "${TARGETS_CMAKE}") -string(REPLACE "bin/ReconstructMesh" "tools/openmvs/ReconstructMesh" TARGETS_CMAKE "${TARGETS_CMAKE}") -string(REPLACE "bin/RefineMesh" "tools/openmvs/RefineMesh" TARGETS_CMAKE "${TARGETS_CMAKE}") -string(REPLACE "bin/TextureMesh" "tools/openmvs/TextureMesh" TARGETS_CMAKE "${TARGETS_CMAKE}") -string(REPLACE "bin/Viewer" "tools/openmvs/Viewer" TARGETS_CMAKE "${TARGETS_CMAKE}") -file(WRITE ${CURRENT_PACKAGES_DIR}/share/openmvs/OpenMVSTargets-release.cmake "${TARGETS_CMAKE}") +vcpkg_cmake_config_fixup() +file(READ ${CURRENT_PACKAGES_DIR}/share/${PORT}/OpenMVSTargets-release.cmake TARGETS_CMAKE) +string(REPLACE "bin/InterfaceCOLMAP" "tools/${PORT}/InterfaceCOLMAP" TARGETS_CMAKE "${TARGETS_CMAKE}") +string(REPLACE "bin/InterfaceMetashape" "tools/${PORT}/InterfaceMetashape" TARGETS_CMAKE "${TARGETS_CMAKE}") +string(REPLACE "bin/InterfaceMVSNet" "tools/${PORT}/InterfaceMVSNet" TARGETS_CMAKE "${TARGETS_CMAKE}") +string(REPLACE "bin/DensifyPointCloud" "tools/${PORT}/DensifyPointCloud" TARGETS_CMAKE "${TARGETS_CMAKE}") +string(REPLACE "bin/ReconstructMesh" "tools/${PORT}/ReconstructMesh" TARGETS_CMAKE "${TARGETS_CMAKE}") +string(REPLACE "bin/RefineMesh" "tools/${PORT}/RefineMesh" TARGETS_CMAKE "${TARGETS_CMAKE}") +string(REPLACE "bin/TextureMesh" "tools/${PORT}/TextureMesh" TARGETS_CMAKE "${TARGETS_CMAKE}") +string(REPLACE "bin/TransformScene" "tools/${PORT}/TransformScene" TARGETS_CMAKE "${TARGETS_CMAKE}") +string(REPLACE "bin/Viewer" "tools/${PORT}/Viewer" TARGETS_CMAKE "${TARGETS_CMAKE}") +file(WRITE ${CURRENT_PACKAGES_DIR}/share/${PORT}/OpenMVSTargets-release.cmake "${TARGETS_CMAKE}") vcpkg_copy_tools(AUTO_CLEAN TOOL_NAMES DensifyPointCloud InterfaceCOLMAP - InterfaceVisualSFM + InterfaceMetashape + InterfaceMVSNet ReconstructMesh RefineMesh TextureMesh + TransformScene Viewer ) @@ -67,6 +81,7 @@ set(OPENMVG_TOOLS_PATH "${CURRENT_INSTALLED_DIR}/tools/openmvg") set(OPENMVS_TOOLS_PATH "${CURRENT_INSTALLED_DIR}/tools/${PORT}") set(SENSOR_WIDTH_CAMERA_DATABASE_TXT_PATH "${OPENMVG_TOOLS_PATH}/sensor_width_camera_database.txt") configure_file("${SOURCE_PATH}/MvgMvsPipeline.py.in" "${CURRENT_PACKAGES_DIR}/tools/${PORT}/MvgMvsPipeline.py" @ONLY) -file(INSTALL "${SOURCE_PATH}/build/Modules/FindVCG.cmake" DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +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 14a8c3e63ed3ef..efaa701f3b26ad 100644 --- a/ports/openmvs/vcpkg.json +++ b/ports/openmvs/vcpkg.json @@ -1,9 +1,11 @@ { "name": "openmvs", - "version": "1.1.1", - "port-version": 2, + "version": "2.1.0", + "port-version": 6, "description": "OpenMVS: open Multi-View Stereo reconstruction library", "homepage": "https://cdcseacave.github.io/openMVS", + "license": "AGPL-3.0-only", + "supports": "!xbox", "dependencies": [ "boost-iostreams", "boost-program-options", @@ -26,21 +28,40 @@ ], "platform": "!(windows & static)" }, - "tiff", + { + "name": "tiff", + "default-features": false + }, "vcglib", { "name": "vcpkg-cmake", "host": true }, + { + "name": "vcpkg-cmake-config", + "host": true + }, "zlib" ], + "default-features": [ + "nonfree" + ], "features": { + "ceres": { + "description": "CERES support for openmvs", + "dependencies": [ + "ceres" + ] + }, "cuda": { "description": "CUDA support for openmvs", "dependencies": [ "cuda" ] }, + "nonfree": { + "description": "nonfree support for openmvs" + }, "openmp": { "description": "OpenMP support for openmvs" } diff --git a/ports/openni2/portfile.cmake b/ports/openni2/portfile.cmake index 0864fda611b2ff..ce6124f98360fd 100644 --- a/ports/openni2/portfile.cmake +++ b/ports/openni2/portfile.cmake @@ -1,7 +1,3 @@ -if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - message(FATAL_ERROR "Error: UWP builds are currently not supported.") -endif() - find_path(COR_H_PATH cor.h) if(COR_H_PATH MATCHES "NOTFOUND") message(FATAL_ERROR "Could not find . Ensure the NETFXSDK is installed.") @@ -21,17 +17,21 @@ vcpkg_from_github( replace_environment_variable.patch ) -file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}) -file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}) -file(COPY ${SOURCE_PATH} DESTINATION ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}) - -file(TO_NATIVE_PATH ${CURRENT_INSTALLED_DIR} NATIVE_INSTALLED_DIR) +file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}" NATIVE_INSTALLED_DIR) configure_file("${SOURCE_PATH}/Source/Drivers/Kinect/Kinect.vcxproj" "${SOURCE_PATH}/Source/Drivers/Kinect/Kinect.vcxproj" @ONLY) +if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + set(additional_options PLATFORM "x86") +endif() + # Build OpenNI2 -vcpkg_build_msbuild( - PROJECT_PATH "${SOURCE_PATH}/OpenNI.sln" +vcpkg_msbuild_install( + SOURCE_PATH "${SOURCE_PATH}" + PROJECT_SUBPATH OpenNI.sln OPTIONS "/p:DotNetSdkRoot=${NETFXSDK_PATH}/" + NO_TOOLCHAIN_PROPS # Port uses /clr which conflicts with /EHs(a) from the toolchain + NO_INSTALL # Port seems to have its own layout regarding bin/lib + ${additional_options} ) # Install OpenNI2 @@ -42,16 +42,16 @@ elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") endif() set(SOURCE_INCLUDE_PATH "${SOURCE_PATH}/Include") -set(SOURCE_BIN_PATH_RELEASE "${SOURCE_PATH}/Bin/${PLATFORM}-Release") -set(SOURCE_BIN_PATH_DEBUG "${SOURCE_PATH}/Bin/${PLATFORM}-Debug") -set(SOURCE_CONFIG_PATH ${SOURCE_PATH}/Config) +set(SOURCE_BIN_PATH_RELEASE "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/Bin/${PLATFORM}-Release") +set(SOURCE_BIN_PATH_DEBUG "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/Bin/${PLATFORM}-Debug") +set(SOURCE_CONFIG_PATH "${SOURCE_PATH}/Config") set(SOURCE_THIRDPARTY_PATH "${SOURCE_PATH}/ThirdParty") file( INSTALL "${SOURCE_INCLUDE_PATH}/Android-Arm/OniPlatformAndroid-Arm.h" DESTINATION - ${CURRENT_PACKAGES_DIR}/include/openni2/Android-Arm + "${CURRENT_PACKAGES_DIR}/include/openni2/Android-Arm" ) file( @@ -59,35 +59,35 @@ file( "${SOURCE_INCLUDE_PATH}/Driver/OniDriverAPI.h" "${SOURCE_INCLUDE_PATH}/Driver/OniDriverTypes.h" DESTINATION - ${CURRENT_PACKAGES_DIR}/include/openni2/Driver + "${CURRENT_PACKAGES_DIR}/include/openni2/Driver" ) file( INSTALL "${SOURCE_INCLUDE_PATH}/Linux-Arm/OniPlatformLinux-Arm.h" DESTINATION - ${CURRENT_PACKAGES_DIR}/include/openni2/Linux-Arm + "${CURRENT_PACKAGES_DIR}/include/openni2/Linux-Arm" ) file( INSTALL "${SOURCE_INCLUDE_PATH}/Linux-x86/OniPlatformLinux-x86.h" DESTINATION - ${CURRENT_PACKAGES_DIR}/include/openni2/Linux-x86 + "${CURRENT_PACKAGES_DIR}/include/openni2/Linux-x86" ) file( INSTALL "${SOURCE_INCLUDE_PATH}/MacOSX/OniPlatformMacOSX.h" DESTINATION - ${CURRENT_PACKAGES_DIR}/include/openni2/MacOSX + "${CURRENT_PACKAGES_DIR}/include/openni2/MacOSX" ) file( INSTALL "${SOURCE_INCLUDE_PATH}/Win32/OniPlatformWin32.h" DESTINATION - ${CURRENT_PACKAGES_DIR}/include/openni2/Win32 + "${CURRENT_PACKAGES_DIR}/include/openni2/Win32" ) file( @@ -105,22 +105,24 @@ file( "${SOURCE_INCLUDE_PATH}/PS1080.h" "${SOURCE_INCLUDE_PATH}/PSLink.h" DESTINATION - ${CURRENT_PACKAGES_DIR}/include/openni2 + "${CURRENT_PACKAGES_DIR}/include/openni2" ) file( INSTALL "${SOURCE_BIN_PATH_RELEASE}/OpenNI2.lib" DESTINATION - ${CURRENT_PACKAGES_DIR}/lib + "${CURRENT_PACKAGES_DIR}/lib" ) +if(NOT VCPKG_BUILD_TYPE) file( INSTALL "${SOURCE_BIN_PATH_DEBUG}/OpenNI2.lib" DESTINATION - ${CURRENT_PACKAGES_DIR}/debug/lib + "${CURRENT_PACKAGES_DIR}/debug/lib" ) +endif() file( INSTALL @@ -131,23 +133,24 @@ file( "${SOURCE_BIN_PATH_RELEASE}/OpenNI2/Drivers/PSLink.dll" "${SOURCE_CONFIG_PATH}/OpenNI2/Drivers/PSLink.ini" DESTINATION - ${CURRENT_PACKAGES_DIR}/bin/OpenNI2/Drivers + "${CURRENT_PACKAGES_DIR}/bin/OpenNI2/Drivers" ) file( INSTALL "${SOURCE_CONFIG_PATH}/OpenNI.ini" DESTINATION - ${CURRENT_PACKAGES_DIR}/bin/OpenNI2 + "${CURRENT_PACKAGES_DIR}/bin/OpenNI2" ) file( INSTALL "${SOURCE_BIN_PATH_RELEASE}/OpenNI2.dll" DESTINATION - ${CURRENT_PACKAGES_DIR}/bin + "${CURRENT_PACKAGES_DIR}/bin" ) +if(NOT VCPKG_BUILD_TYPE) file( INSTALL "${SOURCE_BIN_PATH_DEBUG}/OpenNI2/Drivers/Kinect.dll" @@ -157,22 +160,25 @@ file( "${SOURCE_BIN_PATH_DEBUG}/OpenNI2/Drivers/PSLink.dll" "${SOURCE_CONFIG_PATH}/OpenNI2/Drivers/PSLink.ini" DESTINATION - ${CURRENT_PACKAGES_DIR}/debug/bin/OpenNI2/Drivers + "${CURRENT_PACKAGES_DIR}/debug/bin/OpenNI2/Drivers" ) +endif() file( INSTALL "${SOURCE_CONFIG_PATH}/OpenNI.ini" DESTINATION - ${CURRENT_PACKAGES_DIR}/debug/bin/OpenNI2 + "${CURRENT_PACKAGES_DIR}/debug/bin/OpenNI2" ) +if(NOT VCPKG_BUILD_TYPE) file( INSTALL "${SOURCE_BIN_PATH_DEBUG}/OpenNI2.dll" DESTINATION - ${CURRENT_PACKAGES_DIR}/debug/bin + "${CURRENT_PACKAGES_DIR}/debug/bin" ) +endif() file( INSTALL @@ -183,7 +189,7 @@ file( "${SOURCE_BIN_PATH_RELEASE}/OpenNI2/Drivers/PSLink.dll" "${SOURCE_CONFIG_PATH}/OpenNI2/Drivers/PSLink.ini" DESTINATION - ${CURRENT_PACKAGES_DIR}/tools/openni2/OpenNI2/Drivers + "${CURRENT_PACKAGES_DIR}/tools/openni2/OpenNI2/Drivers" ) if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") @@ -201,13 +207,14 @@ file( "${SOURCE_BIN_PATH_RELEASE}/PS1080Console.exe" "${SOURCE_BIN_PATH_RELEASE}/PSLinkConsole.exe" DESTINATION - ${CURRENT_PACKAGES_DIR}/tools/openni2 + "${CURRENT_PACKAGES_DIR}/tools/openni2" ) # Deploy Script -file(COPY ${CMAKE_CURRENT_LIST_DIR}/openni2deploy.ps1 DESTINATION ${CURRENT_PACKAGES_DIR}/bin/OpenNI2) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/openni2deploy.ps1 DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin/OpenNI2) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/openni2deploy.ps1" DESTINATION "${CURRENT_PACKAGES_DIR}/bin/OpenNI2") +if(NOT VCPKG_BUILD_TYPE) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/openni2deploy.ps1" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin/OpenNI2") +endif() # Handle copyright -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/openni2) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/openni2/LICENSE ${CURRENT_PACKAGES_DIR}/share/openni2/copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/openni2/vcpkg.json b/ports/openni2/vcpkg.json index 5110fbc072c16c..933540a52c672d 100644 --- a/ports/openni2/vcpkg.json +++ b/ports/openni2/vcpkg.json @@ -1,11 +1,17 @@ { "name": "openni2", - "version-string": "2.2.0.33", - "port-version": 13, + "version": "2.2.0.33", + "port-version": 15, "description": "OpenNI is open source library for access to Natural Interaction (NI) devices such as RGB-D camera.", "homepage": "https://github.com/OpenNI/OpenNI2", - "supports": "!uwp", + "license": "Apache-2.0", + "supports": "!uwp & !staticcrt", "dependencies": [ - "kinectsdk1" + "kinectsdk1", + { + "name": "vcpkg-msbuild", + "host": true, + "platform": "windows" + } ] } diff --git a/ports/openscap/fix-build.patch b/ports/openscap/fix-build.patch index 57d22946b698ef..b5016a82fb35f8 100644 --- a/ports/openscap/fix-build.patch +++ b/ports/openscap/fix-build.patch @@ -1,41 +1,34 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 4de5b57..5f483a3 100644 +index e4076b7..dff0a45 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -140,15 +140,25 @@ find_package(SWIG) - find_package(LibXml2 REQUIRED) - find_package(LibXslt REQUIRED) - find_package(BZip2) -+find_package(OpenSSL REQUIRED) -+find_package(ZLIB REQUIRED) - - # PThread +@@ -163,13 +163,19 @@ if (WIN32 AND NOT MINGW) + else() + find_package(Threads REQUIRED) + endif() -set(CMAKE_THREAD_PREFER_PTHREAD) -set(THREADS_PREFER_PTHREAD_FLAG) --set(THREADS_USE_PTHREADS_WIN32 true) --find_package(Threads REQUIRED) +-set(THREADS_USE_PTHREADS_WIN32 TRUE) -check_library_exists(pthread pthread_timedjoin_np "" HAVE_PTHREAD_TIMEDJOIN_NP) -check_library_exists(pthread pthread_setname_np "" HAVE_PTHREAD_SETNAME_NP) -check_library_exists(pthread pthread_getname_np "" HAVE_PTHREAD_GETNAME_NP) +if (WIN32) + set(CMAKE_THREAD_PREFER_PTHREAD) + set(THREADS_PREFER_PTHREAD_FLAG) -+ set(THREADS_USE_PTHREADS_WIN32 true) -+ find_package(pthread CONFIG REQUIRED) -+ set(CMAKE_THREAD_LIBS_INIT ${PThreads4W_LIBRARY}) ++ set(THREADS_USE_PTHREADS_WIN32 TRUE) + check_library_exists(pthread pthread_timedjoin_np "" HAVE_PTHREAD_TIMEDJOIN_NP) + check_library_exists(pthread pthread_setname_np "" HAVE_PTHREAD_SETNAME_NP) + check_library_exists(pthread pthread_getname_np "" HAVE_PTHREAD_GETNAME_NP) +else() -+ set(THREADS_USE_PTHREADS_WIN32 -pthread) ++ find_package(Threads REQUIRED) +endif() -+ + +# OpenSSL +link_libraries(OpenSSL::SSL OpenSSL::Crypto) - # WITH_CRYPTO - set(WITH_CRYPTO "gcrypt" CACHE STRING "gcrypt|nss3") -@@ -373,19 +383,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 @@ -57,30 +50,26 @@ index 4de5b57..5f483a3 100644 +set(OSCAP_DEFAULT_CPE_PATH share/openscap/cpe) set(OSCAP_TEMP_DIR "/tmp" CACHE STRING "use different temporary directory to execute sce scripts (default=/tmp)") - # ---------- RPATHS for linking + +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 5d59bf3..d6919d0 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -125,4 +125,8 @@ else() + set(OPENSCAP_INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}) + endif() + +-install(TARGETS openscap DESTINATION ${OPENSCAP_INSTALL_DESTINATION}) ++install(TARGETS openscap ++ RUNTIME DESTINATION bin ++ LIBRARY DESTINATION lib ++ ARCHIVE DESTINATION lib ++) diff --git a/utils/CMakeLists.txt b/utils/CMakeLists.txt -index 2a3f373..781d05a 100644 +index 9347c29..0e16a8d 100644 --- a/utils/CMakeLists.txt +++ b/utils/CMakeLists.txt -@@ -6,27 +6,32 @@ if(ENABLE_OSCAP_UTIL) - add_executable(oscap ${UTILS_SOURCES}) - target_link_libraries(oscap openscap) - if(WIN32) -- set(OSCAP_UTIL_DESTINATION ".") -+ find_path(GETOPT_INCLUDE_DIR getopt.h) -+ include(SelectLibraryConfigurations) -+ find_library(GETOPT_LIBRARY_RELEASE NAMES getopt) -+ find_library(GETOPT_LIBRARY_DEBUG NAMES getopt PATH_SUFFIXES debug/lib) -+ select_library_configurations(GETOPT) -+ -+ message("GETOPT_INCLUDE_DIR: ${GETOPT_INCLUDE_DIR}") -+ message("GETOPT_LIBRARY: ${GETOPT_LIBRARY}") -+ -+ target_include_directories(oscap PRIVATE ${GETOPT_INCLUDE_DIR}) -+ target_link_libraries(oscap PRIVATE ${GETOPT_LIBRARY}) -+ -+ set(OSCAP_UTIL_DESTINATION tools) - # Install the 'oscap' utility +@@ -29,22 +29,15 @@ if(ENABLE_OSCAP_UTIL) install(TARGETS "oscap" DESTINATION ${OSCAP_UTIL_DESTINATION} ) @@ -93,7 +82,7 @@ index 2a3f373..781d05a 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} @@ -103,19 +92,5 @@ index 2a3f373..781d05a 100644 - DESTINATION "${CMAKE_INSTALL_MANDIR}/man8" + DESTINATION share/openscap/man8 ) - endif() - endif() -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 9e18613..e84a21f 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -125,4 +125,8 @@ else() - set(OPENSCAP_INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}) - endif() --install(TARGETS openscap DESTINATION ${OPENSCAP_INSTALL_DESTINATION}) -+install(TARGETS openscap -+ RUNTIME DESTINATION bin -+ LIBRARY DESTINATION lib -+ ARCHIVE DESTINATION lib -+) + add_custom_target(oscap-chrootable-nocap diff --git a/ports/openscap/fix-buildflag-and-install.patch b/ports/openscap/fix-buildflag-and-install.patch new file mode 100644 index 00000000000000..2cad725e979874 --- /dev/null +++ b/ports/openscap/fix-buildflag-and-install.patch @@ -0,0 +1,27 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index dff0a45..494512e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -147,9 +147,7 @@ if (APPLE) + endif() + find_package(OpenSSL REQUIRED) + add_definitions(${XMLSEC_DEFINITIONS}) +-if (WIN32) +- add_compile_definitions("XMLSEC_CRYPTO_OPENSSL") +-endif() ++add_compile_definitions("XMLSEC_CRYPTO_OPENSSL") + find_package(BZip2) + + # PThread +@@ -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 new file mode 100644 index 00000000000000..509ccae11da523 --- /dev/null +++ b/ports/openscap/fix-utils.patch @@ -0,0 +1,29 @@ +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 70f55be56592c9..d1c6aa201116ff 100644 --- a/ports/openscap/portfile.cmake +++ b/ports/openscap/portfile.cmake @@ -1,27 +1,38 @@ +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO OpenSCAP/openscap - REF 3a4c635691380fa990a226acc8558db35d7ebabc #1.3.1 - SHA512 12681d43b2ce067c5a5c4eb47e14d91d6e9362b1f98f1d35b05d79ad84c7ee8c29f438eaae8e8465033155e500bb0f936eb79af46fab15e4a07e03c6be8b655d + REF ${VERSION} + 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") if ("python" IN_LIST FEATURES) vcpkg_find_acquire_program(PYTHON3) endif() vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - docs ENABLE_DOCS - tests ENABLE_TESTS - util ENABLE_OSCAP_UTIL - python ENABLE_PYTHON3 + FEATURES + util ENABLE_OSCAP_UTIL + python ENABLE_PYTHON3 ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +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} -DPYTHON_EXECUTABLE=${PYTHON3} -DENABLE_PERL=OFF @@ -33,13 +44,21 @@ vcpkg_configure_cmake( -DENABLE_OSCAP_UTIL_VM=OFF -DENABLE_OSCAP_UTIL_PODMAN=OFF -DENABLE_OSCAP_UTIL_CHROOT=OFF + -DPKG_CONFIG_USE_CMAKE_PREFIX_PATH=ON + -DENABLE_TESTS=OFF + -DENABLE_DOCS=OFF + -DWANT_BASE64=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() +if(ENABLE_OSCAP_UTIL) + vcpkg_copy_tools(TOOL_NAMES oscap AUTO_CLEAN) +endif() -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") vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() #Handle copyright -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) \ No newline at end of file +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/openscap/vcpkg.json b/ports/openscap/vcpkg.json index 3bab620ed2dd74..20adfa66842714 100644 --- a/ports/openscap/vcpkg.json +++ b/ports/openscap/vcpkg.json @@ -1,10 +1,16 @@ { "name": "openscap", - "version-string": "1.3.1", + "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", @@ -12,20 +18,19 @@ "libxslt", "libzip", "openssl", - "pcre2", - "pthread", + "pcre", + "pthreads", + { + "name": "vcpkg-cmake", + "host": true + }, + "xmlsec", "zlib" ], "features": { - "docs": { - "description": "install docs" - }, "python": { "description": "build with python3" }, - "tests": { - "description": "build with tests" - }, "util": { "description": "build available utils", "dependencies": [ diff --git a/ports/openslide/fix-win-build.patch b/ports/openslide/fix-win-build.patch new file mode 100644 index 00000000000000..f5938691c3c66d --- /dev/null +++ b/ports/openslide/fix-win-build.patch @@ -0,0 +1,126 @@ +diff --git a/src/openslide-decode-tifflike.c b/src/openslide-decode-tifflike.c +index 63e0ad5..8de1abb 100644 +--- a/src/openslide-decode-tifflike.c ++++ b/src/openslide-decode-tifflike.c +@@ -348,7 +348,7 @@ static bool populate_item(struct _openslide_tifflike *tl, + uint64_t count = item->count; + int32_t value_size = get_value_size(item->type, &count); + g_assert(value_size); +- ssize_t len = value_size * count; ++ size_t len = value_size * count; + + buf = g_try_malloc(len); + if (buf == NULL) { +@@ -485,7 +485,7 @@ static struct tiff_directory *read_directory(FILE *f, int64_t *diroff, + } + + // check for overflow +- if (count > SSIZE_MAX / value_size) { ++ if (count > PTRDIFF_MAX / value_size) { + g_set_error(err, OPENSLIDE_ERROR, OPENSLIDE_ERROR_FAILED, + "Value count too large"); + goto FAIL; +diff --git a/src/openslide-features.h b/src/openslide-features.h +index a5328fb..db7593d 100644 +--- a/src/openslide-features.h ++++ b/src/openslide-features.h +@@ -22,26 +22,7 @@ + #ifndef OPENSLIDE_OPENSLIDE_FEATURES_H_ + #define OPENSLIDE_OPENSLIDE_FEATURES_H_ + +- +-#ifndef __cplusplus +-# ifdef _MSC_VER +-# ifndef bool +-# define bool unsigned char +-# endif +-# ifndef true +-# define true 1 +-# endif +-# ifndef false +-# define false 0 +-# endif +-# ifndef __bool_true_false_are_defined +-# define __bool_true_false_are_defined 1 +-# endif +-# else +-# include +-# endif +-#endif +- ++#include + + // for exporting from shared libraries or DLLs + #if defined _WIN32 +diff --git a/src/openslide-private.h b/src/openslide-private.h +index a70bcba..e39f288 100644 +--- a/src/openslide-private.h ++++ b/src/openslide-private.h +@@ -34,6 +34,11 @@ + + #include + ++#ifdef _MSC_VER ++#define fseeko fseek ++#define ftello ftell ++#endif ++ + /* the associated image structure */ + struct _openslide_associated_image { + const struct _openslide_associated_image_ops *ops; +@@ -357,8 +362,8 @@ void openslide_cancel_prefetch_hint(openslide_t *osr, int prefetch_id); + Every @p replacement must be unique to avoid conflicting-type errors. */ + #define _OPENSLIDE_POISON(replacement) error__use_ ## replacement ## _instead + #define fopen _OPENSLIDE_POISON(_openslide_fopen) +-#define fseek _OPENSLIDE_POISON(fseeko) +-#define ftell _OPENSLIDE_POISON(ftello) ++//#define fseek _OPENSLIDE_POISON(fseeko) ++//#define ftell _OPENSLIDE_POISON(ftello) + #define strtod _OPENSLIDE_POISON(_openslide_parse_double) + #define g_ascii_strtod _OPENSLIDE_POISON(_openslide_parse_double_) + #define sqlite3_open _OPENSLIDE_POISON(_openslide_sqlite_open) +diff --git a/test/test-common.c b/test/test-common.c +index 8003128..b7c4bd4 100644 +--- a/test/test-common.c ++++ b/test/test-common.c +@@ -22,11 +22,13 @@ + #ifdef WIN32 + #define _WIN32_WINNT 0x0600 + #include ++#include ++#else ++#include + #endif + + #include + #include +-#include + #include + #include + +diff --git a/test/test.c b/test/test.c +index 50f0651..7fb192a 100644 +--- a/test/test.c ++++ b/test/test.c +@@ -32,7 +32,7 @@ + #include + #include + #include +-#include ++//#include + + #include + #include +diff --git a/test/try_open.c b/test/try_open.c +index dd3a6a2..ad9233e 100644 +--- a/test/try_open.c ++++ b/test/try_open.c +@@ -24,7 +24,7 @@ + #include + #include + #include +-#include ++//#include + #include + #include "openslide.h" + #include "test-common.h" diff --git a/ports/openslide/portfile.cmake b/ports/openslide/portfile.cmake new file mode 100644 index 00000000000000..0ed9acd8e2e4d9 --- /dev/null +++ b/ports/openslide/portfile.cmake @@ -0,0 +1,57 @@ +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + set(PATCHES fix-win-build.patch) +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO openslide/openslide + REF "v${VERSION}" + SHA512 5b0315215f9cada56c85e0068c9493a66c70bae1230cc01dd00ce364414f53bf285728dc860d7de0ac30a10bdc3c1a76f728446b96ca337a62d588f5cc2a971c + HEAD_REF master + PATCHES remove-w-flags.patch + ${PATCHES} +) + +set(opts "") +if(VCPKG_TARGET_IS_WINDOWS) + list(APPEND opts "ac_cv_search_floor=none required") +endif() + +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + #switching to clang-cl due to __attribute__((constructor)) in openslide.c + z_vcpkg_get_cmake_vars(cmake_vars_file) + include("${cmake_vars_file}") + if(VCPKG_DETECTED_CMAKE_C_COMPILER_ID STREQUAL "MSVC") + vcpkg_find_acquire_program(CLANG) + cmake_path(GET CLANG PARENT_PATH CLANG_PARENT_PATH) + set(CLANG_CL "${CLANG_PARENT_PATH}/clang-cl.exe") + file(READ "${cmake_vars_file}" contents) + string(APPEND contents "\nset(VCPKG_DETECTED_CMAKE_C_COMPILER \"${CLANG_CL}\")") + string(APPEND contents "\nset(VCPKG_DETECTED_CMAKE_CXX_COMPILER \"${CLANG_CL}\")") + if(VCPKG_TARGET_ARCHITECTURE STREQUAL x86) + string(APPEND contents "\nstring(APPEND VCPKG_DETECTED_CMAKE_C_FLAGS_DEBUG \" -m32\")") + string(APPEND contents "\nstring(APPEND VCPKG_DETECTED_CMAKE_C_FLAGS_RELEASE \" -m32\")") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL arm64) + string(APPEND contents "\nstring(PREPEND VCPKG_DETECTED_CMAKE_C_FLAGS_DEBUG \"--target=arm64-pc-win32 \")") + string(APPEND contents "\nstring(PREPEND VCPKG_DETECTED_CMAKE_C_FLAGS_RELEASE \"--target=arm64-pc-win32 \")") + endif() + file(WRITE "${cmake_vars_file}" "${contents}") + endif() + set(cmake_vars_file "${cmake_vars_file}" CACHE INTERNAL "") # Don't run z_vcpkg_get_cmake_vars twice +endif() + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG + OPTIONS ${opts} +) + +vcpkg_install_make() +vcpkg_fixup_pkgconfig() + +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.txt") diff --git a/ports/openslide/remove-w-flags.patch b/ports/openslide/remove-w-flags.patch new file mode 100644 index 00000000000000..7885d4d2430958 --- /dev/null +++ b/ports/openslide/remove-w-flags.patch @@ -0,0 +1,35 @@ +diff --git a/Makefile.am b/Makefile.am +index d5fba9f80..5846768f5 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -60,7 +60,7 @@ endif + .rc.lo: + $(AM_V_GEN)$(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --tag=RC --mode=compile $(RC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) -i "$<" -o "$@" + +-src_libopenslide_la_CPPFLAGS = -pedantic -D_OPENSLIDE_BUILDING_DLL \ ++src_libopenslide_la_CPPFLAGS = -D_OPENSLIDE_BUILDING_DLL \ + $(GLIB2_CFLAGS) $(CAIRO_CFLAGS) $(SQLITE3_CFLAGS) $(LIBXML2_CFLAGS) \ + $(OPENJPEG_CFLAGS) $(LIBTIFF_CFLAGS) $(LIBPNG_CFLAGS) \ + $(GDKPIXBUF_CFLAGS) $(ZLIB_CFLAGS) -DG_LOG_DOMAIN=\"Openslide\" \ +diff --git a/configure.ac b/configure.ac +index e401ae313..d4326ad96 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -195,7 +195,7 @@ AM_CONDITIONAL([CYGWIN_CROSS_TEST], [test -n "$CYGWIN_CROSS_TEST"]) + # Only enable this on MinGW, since otherwise gcc will complain about an + # unknown option whenever it produces any *other* warnings + if test "$host_os" = "mingw32"; then +- CFLAG_MS_FORMAT=-Wno-pedantic-ms-format ++ CFLAG_MS_FORMAT="" + else + CFLAG_MS_FORMAT="" + fi +@@ -203,7 +203,7 @@ AC_SUBST([CFLAG_MS_FORMAT]) + + # The min/max glib version is actually 2.16, but glib doesn't have special + # handling for API changes that old +-AC_SUBST(AM_CFLAGS, ['-Wall -Wextra -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs $(CFLAG_MS_FORMAT) $(CFLAG_VISIBILITY) -DG_DISABLE_SINGLE_INCLUDES -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_26 -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_MIN_REQUIRED -fno-common']) ++AC_SUBST(AM_CFLAGS, ['$(CFLAG_MS_FORMAT) $(CFLAG_VISIBILITY) -DG_DISABLE_SINGLE_INCLUDES -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_26 -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_MIN_REQUIRED -fno-common']) + + AC_SUBST(FEATURE_FLAGS) + diff --git a/ports/openslide/vcpkg.json b/ports/openslide/vcpkg.json new file mode 100644 index 00000000000000..9f0bf57706838e --- /dev/null +++ b/ports/openslide/vcpkg.json @@ -0,0 +1,28 @@ +{ + "name": "openslide", + "version": "3.4.1", + "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", + "supports": "native & !(windows & static) & !xbox & !osx", + "dependencies": [ + "cairo", + "gdk-pixbuf", + "glib", + "libjpeg-turbo", + "libpng", + "libxml2", + "openjpeg", + "sqlite3", + { + "name": "tiff", + "default-features": false + }, + { + "name": "vcpkg-tool-meson", + "host": true + }, + "zlib" + ] +} diff --git a/ports/openssl-unix/vcpkg.json b/ports/openssl-unix/vcpkg.json deleted file mode 100644 index 16ac635a7d548f..00000000000000 --- a/ports/openssl-unix/vcpkg.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name": "openssl-unix", - "version-string": "1.1.1h", - "port-version": 2, - "description": "Deprecated OpenSSL port", - "supports": "!(windows | uwp)", - "dependencies": [ - "openssl" - ] -} diff --git a/ports/openssl-uwp/vcpkg.json b/ports/openssl-uwp/vcpkg.json deleted file mode 100644 index eba2d4781ee4a3..00000000000000 --- a/ports/openssl-uwp/vcpkg.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name": "openssl-uwp", - "version-string": "1.1.1h", - "port-version": 2, - "description": "Deprecated OpenSSL port", - "supports": "uwp", - "dependencies": [ - "openssl" - ] -} diff --git a/ports/openssl-windows/vcpkg.json b/ports/openssl-windows/vcpkg.json deleted file mode 100644 index 069235b15ee031..00000000000000 --- a/ports/openssl-windows/vcpkg.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name": "openssl-windows", - "version-string": "1.1.1h", - "port-version": 2, - "description": "Deprecated OpenSSL port", - "supports": "windows", - "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/install-pc-files.cmake b/ports/openssl/install-pc-files.cmake index eb8d2b8c288473..04897faed78b2b 100644 --- a/ports/openssl/install-pc-files.cmake +++ b/ports/openssl/install-pc-files.cmake @@ -25,7 +25,7 @@ install_pc_file(libcrypto [[ Name: OpenSSL-libcrypto Description: OpenSSL cryptography library Libs: -L"${libdir}" -llibcrypto -Libs.private: -lcrypt32 -lws2_32 +Libs.private: -lcrypt32 -lws2_32 -ladvapi32 -luser32 Cflags: -I"${includedir}" ]]) diff --git a/ports/openssl/openssl.pc.in b/ports/openssl/openssl.pc.in index 3033e1804da0f4..f7fa9d185f1702 100644 --- a/ports/openssl/openssl.pc.in +++ b/ports/openssl/openssl.pc.in @@ -2,5 +2,5 @@ prefix=${pcfiledir}/../.. exec_prefix=${prefix} libdir=${exec_prefix}/lib includedir=${prefix}/include -Version: @OPENSSL_VERSION@ +Version: @VERSION@ @pc_data@ diff --git a/ports/openssl/portfile.cmake b/ports/openssl/portfile.cmake index 85e5a544b3b008..732da8dbe50190 100644 --- a/ports/openssl/portfile.cmake +++ b/ports/openssl/portfile.cmake @@ -1,27 +1,85 @@ -if(EXISTS "${CURRENT_INSTALLED_DIR}/include/openssl/ssl.h") - message(FATAL_ERROR "Can't build openssl if libressl/boringssl is installed. Please remove libressl/boringssl, and try install openssl again if you need it.") +if(EXISTS "${CURRENT_INSTALLED_DIR}/share/libressl/copyright" + OR EXISTS "${CURRENT_INSTALLED_DIR}/share/boringssl/copyright") + message(FATAL_ERROR "Can't build openssl if libressl/boringssl is installed. Please remove libressl/boringssl, and try install openssl again if you need it.") endif() -set(OPENSSL_VERSION 1.1.1l) -vcpkg_download_distfile(ARCHIVE - URLS "https://www.openssl.org/source/openssl-${OPENSSL_VERSION}.tar.gz" "https://www.openssl.org/source/old/1.1.1/openssl-${OPENSSL_VERSION}.tar.gz" - FILENAME "openssl-${OPENSSL_VERSION}.tar.gz" - SHA512 d9611f393e37577cca05004531388d3e0ebbf714894cab9f95f4903909cd4f45c214faab664c0cbc3ad3cca309d500b9e6d0ecbf9a0a0588d1677dc6b047f9e0 +if(VCPKG_TARGET_IS_EMSCRIPTEN) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO openssl/openssl + REF "openssl-${VERSION}" + SHA512 d5f78b2e9d7b7b4787c976c4f832b1448bbadf5f9d398a50ef98053f92501768d000aa73673af200568aef4c8a491442ebbee8c43556838f465d4f91dfc2b5ad + PATCHES + cmake-config.patch + command-line-length.patch + script-prefix.patch + asm-armcap.patch + windows/install-layout.patch + windows/install-pdbs.patch + unix/android-cc.patch + unix/move-openssldir.patch + unix/no-empty-dirs.patch + unix/no-static-libs-for-shared.patch +) + +vcpkg_list(SET CONFIGURE_OPTIONS + enable-static-engine + enable-capieng + no-tests + no-docs ) -vcpkg_find_acquire_program(PERL) -get_filename_component(PERL_EXE_PATH ${PERL} DIRECTORY) -vcpkg_add_to_path("${PERL_EXE_PATH}") +set(INSTALL_FIPS "") +if("fips" IN_LIST FEATURES) + vcpkg_list(APPEND INSTALL_FIPS install_fips) + vcpkg_list(APPEND CONFIGURE_OPTIONS enable-fips) +endif() -if(VCPKG_TARGET_IS_UWP) - include("${CMAKE_CURRENT_LIST_DIR}/uwp/portfile.cmake") - include("${CMAKE_CURRENT_LIST_DIR}/install-pc-files.cmake") -elseif(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + vcpkg_list(APPEND CONFIGURE_OPTIONS shared) +else() + vcpkg_list(APPEND CONFIGURE_OPTIONS no-shared no-module) +endif() + +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() + +if(OPENSSL_NO_AUTOLOAD_CONFIG) + vcpkg_list(APPEND CONFIGURE_OPTIONS no-autoload-config) +endif() + +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) include("${CMAKE_CURRENT_LIST_DIR}/windows/portfile.cmake") include("${CMAKE_CURRENT_LIST_DIR}/install-pc-files.cmake") else() include("${CMAKE_CURRENT_LIST_DIR}/unix/portfile.cmake") 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}") + +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/script-prefix.patch b/ports/openssl/script-prefix.patch new file mode 100644 index 00000000000000..70f0859ca86635 --- /dev/null +++ b/ports/openssl/script-prefix.patch @@ -0,0 +1,22 @@ +diff --git a/tools/c_rehash.in b/tools/c_rehash.in +index 343cdc1..e48038e 100644 +--- a/tools/c_rehash.in ++++ b/tools/c_rehash.in +@@ -12,7 +12,7 @@ + # and add symbolic links to their hash values. + + my $dir = {- quotify1($config{openssldir}) -}; +-my $prefix = {- quotify1($config{prefix}) -}; ++use FindBin; + + my $errorcount = 0; + my $openssl = $ENV{OPENSSL} || "openssl"; +@@ -61,7 +61,7 @@ if (defined(&Cwd::getcwd)) { + + # DOS/Win32 or Unix delimiter? Prefix our installdir, then search. + my $path_delim = ($pwd =~ /^[a-z]\:/i) ? ';' : ':'; +-$ENV{PATH} = "$prefix/bin" . ($ENV{PATH} ? $path_delim . $ENV{PATH} : ""); ++$ENV{PATH} = "$FindBin::Bin" . ($ENV{PATH} ? $path_delim . $ENV{PATH} : ""); + + if (! -x $openssl) { + my $found = 0; diff --git a/ports/openssl/unix/CMakeLists.txt b/ports/openssl/unix/CMakeLists.txt deleted file mode 100644 index 7bf45e27bb73e0..00000000000000 --- a/ports/openssl/unix/CMakeLists.txt +++ /dev/null @@ -1,283 +0,0 @@ -cmake_minimum_required(VERSION 3.9) -project(openssl C) - -if(NOT SOURCE_PATH) - message(FATAL_ERROR "Requires SOURCE_PATH") -endif() - -if(CMAKE_SYSTEM_NAME STREQUAL "Android" OR CMAKE_SYSTEM_NAME STREQUAL "Linux") - if(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64") - set(PLATFORM linux-x86_64) - else() - set(PLATFORM linux-generic32) - endif() -elseif(CMAKE_SYSTEM_NAME STREQUAL "iOS") - if(VCPKG_TARGET_ARCHITECTURE MATCHES "arm64") - set(PLATFORM ios64-xcrun) - elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "arm") - set(PLATFORM ios-xcrun) - elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "x86" OR - VCPKG_TARGET_ARCHITECTURE MATCHES "x64") - set(PLATFORM iossimulator-xcrun) - else() - message(FATAL_ERROR "Unknown iOS target architecture: ${VCPKG_TARGET_ARCHITECTURE}") - endif() - # disable that makes linkage error (e.g. require stderr usage) - list(APPEND DISABLES no-stdio no-ui no-asm) -elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin") - if(VCPKG_TARGET_ARCHITECTURE MATCHES "arm64") - set(PLATFORM darwin64-arm64-cc) - else() - set(PLATFORM darwin64-x86_64-cc) - endif() -elseif(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") - set(PLATFORM BSD-generic64) -elseif(CMAKE_SYSTEM_NAME STREQUAL "OpenBSD") - set(PLATFORM BSD-generic64) -elseif(MINGW) - if(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64") - set(PLATFORM mingw64) - else() - set(PLATFORM mingw) - endif() -elseif(EMSCRIPTEN) - set(MAKE $ENV{EMSDK}/upstream/emscripten/emmake) - set(ENV{MAKE} $ENV{EMSDK}/upstream/emscripten/emmake) -else() - message(FATAL_ERROR "Unknown platform") -endif() - -get_filename_component(COMPILER_ROOT "${CMAKE_C_COMPILER}" DIRECTORY) - -message("CMAKE_C_COMPILER=${CMAKE_C_COMPILER}") -message("COMPILER_ROOT=${COMPILER_ROOT}") -message("CMAKE_SYSROOT=${CMAKE_SYSROOT}") -message("CMAKE_OSX_SYSROOT=${CMAKE_OSX_SYSROOT}") -message("CMAKE_OSX_DEPLOYMENT_TARGET=${CMAKE_OSX_DEPLOYMENT_TARGET}") -message("CMAKE_C_FLAGS=${CMAKE_C_FLAGS}") -message("CMAKE_C_FLAGS_RELEASE=${CMAKE_C_FLAGS_RELEASE}") -message("CMAKE_C_FLAGS_DEBUG=${CMAKE_C_FLAGS_DEBUG}") -message("CMAKE_INCLUDE_SYSTEM_FLAG_C=${CMAKE_INCLUDE_SYSTEM_FLAG_C}") -message("CMAKE_C_OSX_DEPLOYMENT_TARGET_FLAG=${CMAKE_C_OSX_DEPLOYMENT_TARGET_FLAG}") - -set(CFLAGS "${CMAKE_C_FLAGS}") -if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang") - set(CFLAGS "-Wno-error=unused-command-line-argument ${CMAKE_C_FLAGS}") -endif() -if(CMAKE_C_COMPILER_TARGET AND CMAKE_C_COMPILE_OPTIONS_TARGET) - set(CFLAGS "${CFLAGS} ${CMAKE_C_COMPILE_OPTIONS_TARGET}${CMAKE_C_COMPILER_TARGET}") -endif() -if(CMAKE_C_COMPILER_EXTERNAL_TOOLCHAIN AND CMAKE_C_COMPILE_OPTIONS_EXTERNAL_TOOLCHAIN) - set(CFLAGS "${CFLAGS} ${CMAKE_C_COMPILE_OPTIONS_EXTERNAL_TOOLCHAIN}${CMAKE_C_COMPILER_EXTERNAL_TOOLCHAIN}") -endif() -if(CMAKE_SYSROOT AND CMAKE_C_COMPILE_OPTIONS_SYSROOT) - set(CFLAGS "${CFLAGS} ${CMAKE_C_COMPILE_OPTIONS_SYSROOT}${CMAKE_SYSROOT}") -elseif(CMAKE_OSX_SYSROOT AND CMAKE_C_COMPILE_OPTIONS_SYSROOT) - set(CFLAGS "${CFLAGS} ${CMAKE_C_COMPILE_OPTIONS_SYSROOT}${CMAKE_OSX_SYSROOT}") -endif() -if (CMAKE_OSX_DEPLOYMENT_TARGET AND CMAKE_C_OSX_DEPLOYMENT_TARGET_FLAG) - set(CFLAGS "${CFLAGS} ${CMAKE_C_OSX_DEPLOYMENT_TARGET_FLAG}${CMAKE_OSX_DEPLOYMENT_TARGET}") -elseif((CMAKE_SYSTEM_NAME STREQUAL "Darwin") AND (VCPKG_TARGET_ARCHITECTURE MATCHES "arm64")) - set(CFLAGS "${CFLAGS} -mmacosx-version-min=11.0") -endif() - -string(REGEX REPLACE "^ " "" CFLAGS "${CFLAGS}") - -if(CMAKE_HOST_WIN32) - file(TO_NATIVE_PATH ENV_PATH "${COMPILER_ROOT};$ENV{PATH}") -else() - file(TO_NATIVE_PATH ENV_PATH "${COMPILER_ROOT}:$ENV{PATH}") -endif() -set(ENV{ANDROID_DEV} "${CMAKE_SYSROOT}/usr") - -if(NOT IOS) - set(ENV{CC} "${CMAKE_C_COMPILER}") -endif() - -message("ENV{ANDROID_DEV}=$ENV{ANDROID_DEV}") - -get_filename_component(SOURCE_PATH_NAME "${SOURCE_PATH}" NAME) -set(BUILDDIR "${CMAKE_CURRENT_BINARY_DIR}/${SOURCE_PATH_NAME}") - -if(NOT EXISTS "${BUILDDIR}") - file(COPY ${SOURCE_PATH} DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) -endif() - -get_filename_component(MSYS_BIN_DIR "${MAKE}" DIRECTORY) - -if(BUILD_SHARED_LIBS) - set(SHARED shared) - file(STRINGS "${BUILDDIR}/include/openssl/opensslv.h" SHLIB_VERSION - REGEX "^#[\t ]*define[\t ]+SHLIB_VERSION_NUMBER[\t ]+\".*\".*") - string(REGEX REPLACE "^.*SHLIB_VERSION_NUMBER[\t ]+\"([^\"]*)\".*$" "\\1" - SHLIB_VERSION "${SHLIB_VERSION}") - if(CMAKE_SYSTEM_NAME STREQUAL "Darwin" OR CMAKE_SYSTEM_NAME STREQUAL "iOS") - set(LIB_EXT dylib) - set(LIB_EXTS ${SHLIB_VERSION}.${LIB_EXT}) - elseif(MINGW) - string(REPLACE "." "_" SHLIB_VERSION "${SHLIB_VERSION}") - set(BIN_EXT dll) - set(LIB_EXT dll.a) - else() - set(LIB_EXT so) - set(LIB_EXTS ${LIB_EXT}.${SHLIB_VERSION}) - endif() - list(APPEND BIN_EXTS ${BIN_EXT}) - list(APPEND LIB_EXTS ${LIB_EXT}) -else() - set(SHARED no-shared) - set(LIB_EXTS a) -endif() -set(INSTALL_PKG_CONFIGS "${BUILDDIR}/openssl.pc") -foreach(lib ssl crypto) - foreach(ext ${LIB_EXTS}) - list(APPEND INSTALL_LIBS "${BUILDDIR}/lib${lib}.${ext}") - list(APPEND INSTALL_PKG_CONFIGS "${BUILDDIR}/lib${lib}.pc") - endforeach() - foreach(ext ${BIN_EXTS}) - # This might be wrong for targets which don't follow this naming scheme, but I'm not aware of any - if(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64") - list(APPEND INSTALL_BINS "${BUILDDIR}/lib${lib}-${SHLIB_VERSION}-x64.${ext}") - else() - list(APPEND INSTALL_BINS "${BUILDDIR}/lib${lib}-${SHLIB_VERSION}.${ext}") - endif() - endforeach() -endforeach() - -if(CMAKE_HOST_WIN32) - set(ENV_COMMAND set) - set(PATH_VAR ";%PATH%") -else() - set(ENV_COMMAND export) - set(PATH_VAR ":$ENV{PATH}") -endif() - -add_custom_command( - OUTPUT "${BUILDDIR}/Makefile" - COMMAND ${ENV_COMMAND} "PATH=${MSYS_BIN_DIR}${PATH_VAR}" - VERBATIM - WORKING_DIRECTORY "${BUILDDIR}" -) - -if(NOT IOS) - add_custom_command( - OUTPUT "${BUILDDIR}/Makefile" - COMMAND ${ENV_COMMAND} CC=${CMAKE_C_COMPILER} - COMMAND ${ENV_COMMAND} AR=${CMAKE_AR} - COMMAND ${ENV_COMMAND} LD=${CMAKE_LINKER} - COMMAND ${ENV_COMMAND} RANLIB=${CMAKE_RANLIB} - COMMAND ${ENV_COMMAND} MAKE=${MAKE} - COMMAND ${ENV_COMMAND} MAKEDEPPROG=${CMAKE_C_COMPILER} - COMMAND ${ENV_COMMAND} WINDRES=${CMAKE_RC_COMPILER} - VERBATIM - APPEND - ) - if(EMSCRIPTEN) - list(APPEND DISABLES - threads - no-engine - no-dso - no-asm - no-shared - no-sse2 - no-srtp - ) - else() - list(APPEND DISABLES - enable-static-engine - no-zlib - no-ssl2 - no-idea - no-cast - no-seed - no-md2 - no-tests) - endif() -endif() - -if(EMSCRIPTEN) - add_custom_command( - OUTPUT "${BUILDDIR}/Makefile" - COMMAND "$ENV{EMSDK}/upstream/emscripten/emconfigure" ./config - ${SHARED} - ${DISABLES} - "--prefix=${CMAKE_INSTALL_PREFIX}" - "--openssldir=/etc/ssl" - "--cross-compile-prefix=\"/\"" - VERBATIM - APPEND - ) - - add_custom_target(build_libs ALL - COMMAND ${ENV_COMMAND} "PATH=${MSYS_BIN_DIR}${PATH_VAR}" - COMMAND "${CMAKE_COMMAND}" -E touch "${BUILDDIR}/krb5.h" - COMMAND "${MAKE}" make build_libs - VERBATIM - WORKING_DIRECTORY "${BUILDDIR}" - DEPENDS "${BUILDDIR}/Makefile" - BYPRODUCTS ${INSTALL_LIBS} - ) -else() - add_custom_command( - OUTPUT "${BUILDDIR}/Makefile" - COMMAND "${PERL}" Configure - ${SHARED} - ${DISABLES} - ${PLATFORM} - "--prefix=${CMAKE_INSTALL_PREFIX}" - "--openssldir=/etc/ssl" - ${CFLAGS} - VERBATIM - APPEND - ) - - add_custom_target(build_libs ALL - COMMAND ${ENV_COMMAND} "PATH=${MSYS_BIN_DIR}${PATH_VAR}" - COMMAND "${CMAKE_COMMAND}" -E touch "${BUILDDIR}/krb5.h" - COMMAND "${MAKE}" -j ${VCPKG_CONCURRENCY} build_libs - VERBATIM - WORKING_DIRECTORY "${BUILDDIR}" - DEPENDS "${BUILDDIR}/Makefile" - BYPRODUCTS ${INSTALL_LIBS} - ) -endif() - -add_custom_command( - OUTPUT "${BUILDDIR}/Makefile" - COMMAND "${CMAKE_COMMAND}" "-DDIR=${BUILDDIR}" -P "${CMAKE_CURRENT_LIST_DIR}/remove-deps.cmake" - VERBATIM - APPEND -) - -if((CMAKE_SYSTEM_NAME STREQUAL "Darwin" OR CMAKE_SYSTEM_NAME STREQUAL "iOS") AND BUILD_SHARED_LIBS) - if(DEFINED CMAKE_INSTALL_NAME_DIR) - set(ID_PREFIX "${CMAKE_INSTALL_NAME_DIR}") - else() - set(ID_PREFIX "@rpath") - endif() - - add_custom_command( - TARGET build_libs - COMMAND /usr/bin/install_name_tool -id "${ID_PREFIX}/libssl.${SHLIB_VERSION}.dylib" - "${BUILDDIR}/libssl.${SHLIB_VERSION}.dylib" - COMMAND /usr/bin/install_name_tool -id "${ID_PREFIX}/libcrypto.${SHLIB_VERSION}.dylib" - "${BUILDDIR}/libcrypto.1.1.dylib" - COMMAND /usr/bin/install_name_tool -change "${CMAKE_INSTALL_PREFIX}/lib/libcrypto.${SHLIB_VERSION}.dylib" - "${ID_PREFIX}/libcrypto.${SHLIB_VERSION}.dylib" - "${BUILDDIR}/libssl.${SHLIB_VERSION}.dylib" - VERBATIM - ) -endif() - -install( - FILES ${INSTALL_LIBS} - DESTINATION lib -) -install( - FILES ${INSTALL_BINS} - DESTINATION bin -) -install( - FILES ${INSTALL_PKG_CONFIGS} - DESTINATION lib/pkgconfig -) diff --git a/ports/openssl/unix/android-cc.patch b/ports/openssl/unix/android-cc.patch new file mode 100644 index 00000000000000..f4c3d68343114e --- /dev/null +++ b/ports/openssl/unix/android-cc.patch @@ -0,0 +1,20 @@ +diff --git a/Configurations/15-android.conf b/Configurations/15-android.conf +index 41ad922..d15e34c 100644 +--- a/Configurations/15-android.conf ++++ b/Configurations/15-android.conf +@@ -102,6 +102,7 @@ + my $cflags; + my $cppflags; + ++if (0) { + # see if there is NDK clang on $PATH, "universal" or "standalone" + if (which("clang") =~ m|^$ndk/.*/prebuilt/([^/]+)/|) { + my $host=$1; +@@ -158,6 +159,7 @@ + $sysroot =~ s|^$ndk/||; + $sysroot = " --sysroot=\$($ndk_var)/$sysroot"; + } ++} + $android_ndk = { + cflags => $cflags . $sysroot, + cppflags => $cppflags, diff --git a/ports/openssl/unix/configure b/ports/openssl/unix/configure new file mode 100755 index 00000000000000..2d49b3d166b41a --- /dev/null +++ b/ports/openssl/unix/configure @@ -0,0 +1,31 @@ +#!/usr/bin/env bash + +set -e + +declare -a OUT_OPTIONS + +INTERPRETER=perl + +LAST_SEEN= +COPY_OPTIONS=no +for OPTION; do + case "${OPTION},${COPY_OPTIONS}" in + */Configure,no) + OUT_OPTIONS+=("${OPTION}") + INTERPRETER="${LAST_SEEN}" + COPY_OPTIONS=yes + ;; + --prefix=*|--openssldir=*|--libdir=*|--cross-compile-prefix=*|--debug,*) + OUT_OPTIONS+=("${OPTION}") + ;; + -*|*=*) + ;; + *,yes) + OUT_OPTIONS+=("${OPTION}") + ;; + esac + LAST_SEEN="${OPTION}" +done + +set -x +"${INTERPRETER}" ${OUT_OPTIONS[@]} diff --git a/ports/openssl/unix/move-openssldir.patch b/ports/openssl/unix/move-openssldir.patch new file mode 100644 index 00000000000000..2a39bdbe745110 --- /dev/null +++ b/ports/openssl/unix/move-openssldir.patch @@ -0,0 +1,16 @@ +diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl +index c82c086..6c5402d 100644 +--- a/Configurations/unix-Makefile.tmpl ++++ b/Configurations/unix-Makefile.tmpl +@@ -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 new file mode 100644 index 00000000000000..7cf0cf05fa9273 --- /dev/null +++ b/ports/openssl/unix/no-empty-dirs.patch @@ -0,0 +1,22 @@ +diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl +index 6c5402d..fc982df 100644 +--- a/Configurations/unix-Makefile.tmpl ++++ b/Configurations/unix-Makefile.tmpl +@@ -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)/" ++ @[ -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; \ +@@ -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)/" ++ @[ -z "$(INSTALL_MODULES)" ] || $(PERL) $(SRCDIR)/util/mkdir-p.pl $(DESTDIR)$(MODULESDIR)/ + @$(ECHO) "*** Installing modules" + @set -e; for e in dummy $(INSTALL_MODULES); do \ + if [ "$$e" = "dummy" ]; then continue; fi; \ diff --git a/ports/openssl/unix/no-static-libs-for-shared.patch b/ports/openssl/unix/no-static-libs-for-shared.patch new file mode 100644 index 00000000000000..d6aa34cfe241e4 --- /dev/null +++ b/ports/openssl/unix/no-static-libs-for-shared.patch @@ -0,0 +1,12 @@ +diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl +index fc982df..10f1c54 100644 +--- a/Configurations/unix-Makefile.tmpl ++++ b/Configurations/unix-Makefile.tmpl +@@ -713,6 +713,7 @@ install_dev: install_runtime_libs + done + @$(PERL) $(SRCDIR)/util/mkdir-p.pl "$(DESTDIR)$(libdir)" + @set -e; for l in $(INSTALL_LIBS); do \ ++ if [ -n "$(INSTALL_SHLIBS)" ] ; then continue ; fi ; \ + fn=`basename $$l`; \ + $(ECHO) "install $$l -> $(DESTDIR)$(libdir)/$$fn"; \ + cp $$l "$(DESTDIR)$(libdir)/$$fn.new"; \ diff --git a/ports/openssl/unix/portfile.cmake b/ports/openssl/unix/portfile.cmake index f051fd63975f16..98c5dcb549d2be 100644 --- a/ports/openssl/unix/portfile.cmake +++ b/ports/openssl/unix/portfile.cmake @@ -1,45 +1,154 @@ -if (NOT VCPKG_TARGET_IS_MINGW) - vcpkg_fail_port_install(MESSAGE "${PORT} is only for openssl on Unix-like systems" ON_TARGET "UWP" "Windows") +if (VCPKG_TARGET_IS_LINUX) + message(NOTICE [[ +openssl requires Linux kernel headers from the system package manager. + They can be installed on Alpine systems via `apk add linux-headers`. + They can be installed on Ubuntu systems via `apt install linux-libc-dev`. +]]) endif() -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH MASTER_COPY_SOURCE_PATH - ARCHIVE "${ARCHIVE}" - REF ${OPENSSL_VERSION} -) - -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) + set(MAKE "${MSYS_ROOT}/usr/bin/make.exe") + set(PERL "${MSYS_ROOT}/usr/bin/perl.exe") else() find_program(MAKE make) if(NOT MAKE) message(FATAL_ERROR "Could not find make. Please install it through your package manager.") endif() + vcpkg_find_acquire_program(PERL) endif() +set(INTERPRETER "${PERL}") -vcpkg_configure_cmake( - SOURCE_PATH ${CMAKE_CURRENT_LIST_DIR} - PREFER_NINJA - OPTIONS - -DSOURCE_PATH=${MASTER_COPY_SOURCE_PATH} - -DPERL=${PERL} - -DMAKE=${MAKE} - -DVCPKG_CONCURRENCY=${VCPKG_CONCURRENCY} - OPTIONS_RELEASE - -DINSTALL_HEADERS=ON +execute_process( + COMMAND "${PERL}" -e "use IPC::Cmd;" + RESULT_VARIABLE perl_ipc_cmd_result ) +if(NOT perl_ipc_cmd_result STREQUAL "0") + message(FATAL_ERROR "\nPerl cannot find IPC::Cmd. Please install it through your system package manager.\n") +endif() + +# Ideally, OpenSSL should use `CC` from vcpkg as is (absolute path). +# But in reality, OpenSSL expects to locate the compiler via `PATH`, +# and it makes its own choices e.g. for Android. +vcpkg_cmake_get_vars(cmake_vars_file) +include("${cmake_vars_file}") +cmake_path(GET VCPKG_DETECTED_CMAKE_C_COMPILER PARENT_PATH compiler_path) +cmake_path(GET VCPKG_DETECTED_CMAKE_C_COMPILER FILENAME compiler_name) +find_program(compiler_in_path NAMES "${compiler_name}" PATHS ENV PATH NO_DEFAULT_PATH) +if(NOT compiler_in_path) + vcpkg_host_path_list(APPEND ENV{PATH} "${compiler_path}") +elseif(NOT compiler_in_path STREQUAL VCPKG_DETECTED_CMAKE_C_COMPILER) + vcpkg_host_path_list(PREPEND ENV{PATH} "${compiler_path}") +endif() -vcpkg_install_cmake() +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}") + 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) + if(VCPKG_TARGET_ARCHITECTURE MATCHES "arm64") + set(OPENSSL_ARCH linux-aarch64) + elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "arm") + set(OPENSSL_ARCH linux-armv4) + elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "x64") + set(OPENSSL_ARCH linux-x86_64) + elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "x86") + set(OPENSSL_ARCH linux-x86) + else() + set(OPENSSL_ARCH linux-generic32) + endif() +elseif(VCPKG_TARGET_IS_IOS) + if(VCPKG_TARGET_ARCHITECTURE MATCHES "arm64") + set(OPENSSL_ARCH ios64-xcrun) + elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "arm") + set(OPENSSL_ARCH ios-xcrun) + elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "x86" OR VCPKG_TARGET_ARCHITECTURE MATCHES "x64") + set(OPENSSL_ARCH iossimulator-xcrun) + else() + message(FATAL_ERROR "Unknown iOS target architecture: ${VCPKG_TARGET_ARCHITECTURE}") + endif() + # disable that makes linkage error (e.g. require stderr usage) + list(APPEND CONFIGURE_OPTIONS no-ui no-asm) +elseif(VCPKG_TARGET_IS_OSX) + if(VCPKG_TARGET_ARCHITECTURE MATCHES "arm64") + set(OPENSSL_ARCH darwin64-arm64) + else() + set(OPENSSL_ARCH darwin64-x86_64) + endif() +elseif(VCPKG_TARGET_IS_FREEBSD OR VCPKG_TARGET_IS_OPENBSD) + set(OPENSSL_ARCH BSD-generic64) +elseif(VCPKG_TARGET_IS_MINGW) + if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + set(OPENSSL_ARCH mingw64) + else() + set(OPENSSL_ARCH mingw) + endif() +elseif(VCPKG_TARGET_IS_EMSCRIPTEN) + set(OPENSSL_ARCH linux-x32) + vcpkg_list(APPEND CONFIGURE_OPTIONS + threads + no-engine + no-asm + no-sse2 + no-srtp + --cross-compile-prefix= + ) +else() + message(FATAL_ERROR "Unknown platform") +endif() + +file(MAKE_DIRECTORY "${SOURCE_PATH}/vcpkg") +file(COPY "${CMAKE_CURRENT_LIST_DIR}/configure" DESTINATION "${SOURCE_PATH}/vcpkg") +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + PROJECT_SUBPATH "vcpkg" + NO_ADDITIONAL_PATHS + OPTIONS + "${INTERPRETER}" + "${SOURCE_PATH}/Configure" + ${OPENSSL_ARCH} + ${CONFIGURE_OPTIONS} + "--openssldir=/etc/ssl" + "--libdir=lib" + OPTIONS_DEBUG + --debug +) +vcpkg_install_make( + ${MAKEFILE_OPTIONS} + BUILD_TARGET build_sw +) vcpkg_fixup_pkgconfig() -file(GLOB HEADERS ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/*/include/openssl/*.h) -set(RESOLVED_HEADERS) -foreach(HEADER ${HEADERS}) - get_filename_component(X "${HEADER}" REALPATH) - list(APPEND RESOLVED_HEADERS "${X}") -endforeach() +if("tools" IN_LIST FEATURES) + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/${PORT}") + file(RENAME "${CURRENT_PACKAGES_DIR}/bin/c_rehash" "${CURRENT_PACKAGES_DIR}/tools/${PORT}/c_rehash") + file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/bin/c_rehash") + vcpkg_copy_tools(TOOL_NAMES openssl AUTO_CLEAN) +elseif(VCPKG_LIBRARY_LINKAGE STREQUAL "static" OR NOT VCPKG_TARGET_IS_WINDOWS) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/etc/ssl/misc") +endif() -file(INSTALL ${RESOLVED_HEADERS} DESTINATION ${CURRENT_PACKAGES_DIR}/include/openssl) -file(INSTALL ${MASTER_COPY_SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(TOUCH "${CURRENT_PACKAGES_DIR}/etc/ssl/certs/.keep") +file(TOUCH "${CURRENT_PACKAGES_DIR}/etc/ssl/private/.keep") + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/etc" + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" +) + +# For consistency of mingw build with nmake build +file(GLOB engines "${CURRENT_PACKAGES_DIR}/lib/ossl-modules/*.dll") +if(NOT engines STREQUAL "") + file(COPY ${engines} DESTINATION "${CURRENT_PACKAGES_DIR}/bin") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/ossl-modules") +endif() +file(GLOB engines "${CURRENT_PACKAGES_DIR}/debug/lib/ossl-modules/*.dll") +if(NOT engines STREQUAL "") + file(COPY ${engines} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/ossl-modules") +endif() 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/uwp/EnableUWPSupport.patch b/ports/openssl/uwp/EnableUWPSupport.patch deleted file mode 100644 index fe7837445985cf..00000000000000 --- a/ports/openssl/uwp/EnableUWPSupport.patch +++ /dev/null @@ -1,170 +0,0 @@ -diff --git a/Configurations/10-main.conf b/Configurations/10-main.conf -index 3c4299d264..99fcb1f713 100644 ---- a/Configurations/10-main.conf -+++ b/Configurations/10-main.conf -@@ -1287,7 +1287,7 @@ my %targets = ( - }, - "VC-WIN64I" => { - inherit_from => [ "VC-WIN64-common", asm("ia64_asm"), -- sub { $disabled{shared} ? () : "ia64_uplink" } ], -+ sub { $disabled{uplink} ? () : "ia64_uplink" } ], - AS => "ias", - ASFLAGS => "-d debug", - asoutflag => "-o ", -@@ -1299,7 +1299,7 @@ my %targets = ( - }, - "VC-WIN64A" => { - inherit_from => [ "VC-WIN64-common", asm("x86_64_asm"), -- sub { $disabled{shared} ? () : "x86_64_uplink" } ], -+ sub { $disabled{uplink} ? () : "x86_64_uplink" } ], - AS => sub { vc_win64a_info()->{AS} }, - ASFLAGS => sub { vc_win64a_info()->{ASFLAGS} }, - asoutflag => sub { vc_win64a_info()->{asoutflag} }, -@@ -1312,7 +1312,7 @@ my %targets = ( - }, - "VC-WIN32" => { - inherit_from => [ "VC-noCE-common", asm("x86_asm"), -- sub { $disabled{shared} ? () : "uplink_common" } ], -+ sub { $disabled{uplink} ? () : "uplink_common" } ], - AS => sub { vc_win32_info()->{AS} }, - ASFLAGS => sub { vc_win32_info()->{ASFLAGS} }, - asoutflag => sub { vc_win32_info()->{asoutflag} }, -@@ -1374,7 +1374,7 @@ my %targets = ( - #### MinGW - "mingw" => { - inherit_from => [ "BASE_unix", asm("x86_asm"), -- sub { $disabled{shared} ? () : "x86_uplink" } ], -+ sub { $disabled{uplink} ? () : "x86_uplink" } ], - CC => "gcc", - CFLAGS => picker(default => "-Wall", - debug => "-g -O0", -diff --git a/Configurations/50-win-onecore.conf b/Configurations/50-win-onecore.conf -index d478f42b0f..e0fb70daca 100644 ---- a/Configurations/50-win-onecore.conf -+++ b/Configurations/50-win-onecore.conf -@@ -1,3 +1,4 @@ -+## -*- mode: perl; -*- - # Windows OneCore targets. - # - # OneCore is new API stability "contract" that transcends Desktop, IoT and -@@ -10,6 +11,25 @@ - # TODO: extend error handling to use ETW based eventing - # (Or rework whole error messaging) - -+my $UWP_info = {}; -+sub UWP_info { -+ unless (%$UWP_info) { -+ my $SDKver = `pwsh.exe -Command \"& {\$(Get-Item \\\"hklm:\\SOFTWARE\\WOW6432Node\\Microsoft\\Microsoft SDKs\\Windows\\\").GetValue(\\\"CurrentVersion\\\")}\"`; -+ $SDKver =~ s|\R$||; -+ my @SDKver_split = split(/\./, $SDKver); -+ # SDK version older than 10.0.17763 don't support our ASM builds -+ if ($SDKver_split[0] < 10 -+ || ($SDKver_split[0] == 10 -+ && $SDKver_split[1] == 0 -+ && $SDKver_split[2] < 17763)) { -+ $UWP_info->{disable} = [ 'asm' ]; -+ } else { -+ $UWP_info->{disable} = [ ]; -+ } -+ } -+ return $UWP_info; -+} -+ - my %targets = ( - "VC-WIN32-ONECORE" => { - inherit_from => [ "VC-WIN32" ], -@@ -61,4 +81,57 @@ my %targets = ( - ex_libs => "onecore.lib", - multilib => "-arm64", - }, -+ -+ # Universal Windows Platform (UWP) App Support -+ -+ # TODO -+ # -+ # The 'disable' attribute should have 'uplink'. -+ # however, these are checked in some 'inherit_from', which is processed -+ # very early, before the 'disable' attributes are seen. -+ # This is a problem that needs to be resolved in Configure first. -+ # -+ # But if you want to build library with Windows 10 Version 1809 SDK or -+ # earlier, the 'disable' attribute should also have 'asm'. -+ -+ "VC-WIN32-UWP" => { -+ inherit_from => [ "VC-WIN32-ONECORE" ], -+ lflags => add("/APPCONTAINER"), -+ defines => add("WINAPI_FAMILY=WINAPI_FAMILY_APP", -+ "_WIN32_WINNT=0x0A00"), -+ dso_scheme => "", -+ disable => sub { [ 'ui-console', 'stdio', 'async', 'uplink', -+ @{ UWP_info()->{disable} } ] }, -+ ex_libs => "WindowsApp.lib", -+ }, -+ "VC-WIN64A-UWP" => { -+ inherit_from => [ "VC-WIN64A-ONECORE" ], -+ lflags => add("/APPCONTAINER"), -+ defines => add("WINAPI_FAMILY=WINAPI_FAMILY_APP", -+ "_WIN32_WINNT=0x0A00"), -+ dso_scheme => "", -+ disable => sub { [ 'ui-console', 'stdio', 'async', 'uplink', -+ @{ UWP_info()->{disable} } ] }, -+ ex_libs => "WindowsApp.lib", -+ }, -+ "VC-WIN32-ARM-UWP" => { -+ inherit_from => [ "VC-WIN32-ARM" ], -+ lflags => add("/APPCONTAINER"), -+ defines => add("WINAPI_FAMILY=WINAPI_FAMILY_APP", -+ "_WIN32_WINNT=0x0A00"), -+ dso_scheme => "", -+ disable => sub { [ 'ui-console', 'stdio', 'async', 'uplink', -+ @{ UWP_info()->{disable} } ] }, -+ ex_libs => "WindowsApp.lib", -+ }, -+ "VC-WIN64-ARM-UWP" => { -+ inherit_from => [ "VC-WIN64-ARM" ], -+ lflags => add("/APPCONTAINER"), -+ defines => add("WINAPI_FAMILY=WINAPI_FAMILY_APP", -+ "_WIN32_WINNT=0x0A00"), -+ dso_scheme => "", -+ disable => sub { [ 'ui-console', 'stdio', 'async', 'uplink', -+ @{ UWP_info()->{disable} } ] }, -+ ex_libs => "WindowsApp.lib", -+ }, - ); -diff --git a/Configure b/Configure -index 5a699836f3..de45f1e299 100755 ---- a/Configure -+++ b/Configure -@@ -407,6 +408,7 @@ my @disablables = ( - "ubsan", - "ui-console", - "unit-test", -+ "uplink", - "whirlpool", - "weak-ssl-ciphers", - "zlib", -@@ -491,8 +493,8 @@ my @disable_cascades = ( - - # Without position independent code, there can be no shared libraries or DSOs - "pic" => [ "shared" ], -- "shared" => [ "dynamic-engine" ], -+ "shared" => [ "dynamic-engine", "uplink" ], - "dso" => [ "dynamic-engine" ], - "engine" => [ "afalgeng", "devcryptoeng" ], - - # no-autoalginit is only useful when building non-shared -diff --git a/INSTALL b/INSTALL -index 2119cbae9e..ee54e8c215 100644 ---- a/INSTALL -+++ b/INSTALL -@@ -560,6 +560,10 @@ - likely to complement configuration command line with - suitable compiler-specific option. - -+ no-uplink -+ Don't build support for UPLINK interface. -+ -+ - no- - Don't build support for negotiating the specified SSL/TLS - protocol (one of ssl, ssl3, tls, tls1, tls1_1, tls1_2, diff --git a/ports/openssl/uwp/make-openssl.bat b/ports/openssl/uwp/make-openssl.bat deleted file mode 100644 index 6f6166a24e980e..00000000000000 --- a/ports/openssl/uwp/make-openssl.bat +++ /dev/null @@ -1,16 +0,0 @@ -set build=%1 - -perl Configure no-asm no-hw no-dso VC-WINUNIVERSAL -FS -FIWindows.h - -for /D %%f in ("%WindowsSdkDir%References\%WindowsSDKLibVersion%Windows.Foundation.FoundationContract\*") do set LibPath=%LibPath%;%%f\ -for /D %%f in ("%WindowsSdkDir%References\%WindowsSDKLibVersion%Windows.Foundation.UniversalApiContract\*") do set LibPath=%LibPath%;%%f\ -for /D %%f in ("%WindowsSdkDir%References\Windows.Foundation.FoundationContract\*") do set LibPath=%LibPath%;%%f\ -for /D %%f in ("%WindowsSdkDir%References\Windows.Foundation.UniversalApiContract\*") do set LibPath=%LibPath%;%%f\ - -call ms\do_winuniversal.bat - -mkdir inc32\openssl - -jom -j %NUMBER_OF_PROCESSORS% -k -f ms\ntdll.mak -REM due to a race condition in the build, we need to have a second single-threaded pass. -nmake -f ms\ntdll.mak diff --git a/ports/openssl/uwp/portfile.cmake b/ports/openssl/uwp/portfile.cmake deleted file mode 100644 index d474abe0373813..00000000000000 --- a/ports/openssl/uwp/portfile.cmake +++ /dev/null @@ -1,165 +0,0 @@ -vcpkg_fail_port_install(MESSAGE "${PORT} is only for Windows Universal Platform" ON_TARGET "Linux" "OSX") - -vcpkg_find_acquire_program(JOM) -get_filename_component(JOM_EXE_PATH ${JOM} DIRECTORY) -vcpkg_add_to_path("${PERL_EXE_PATH}") - -set(OPENSSL_SHARED no-shared) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - set(OPENSSL_SHARED shared) -endif() - -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} - PATCHES - uwp/EnableUWPSupport.patch -) - -vcpkg_find_acquire_program(NASM) -get_filename_component(NASM_EXE_PATH ${NASM} DIRECTORY) -vcpkg_add_to_path(PREPEND "${NASM_EXE_PATH}") - -set(CONFIGURE_COMMAND ${PERL} Configure - enable-static-engine - enable-capieng - no-unit-test - no-ssl2 - no-asm - no-uplink - no-tests - -utf-8 - ${OPENSSL_SHARED} -) - -if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") - set(OPENSSL_ARCH VC-WIN32-UWP) -elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") - set(OPENSSL_ARCH VC-WIN64A-UWP) -elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") - set(OPENSSL_ARCH VC-WIN32-ARM-UWP) -elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") - set(OPENSSL_ARCH VC-WIN64-ARM-UWP) -else() - message(FATAL_ERROR "Unsupported target architecture: ${VCPKG_TARGET_ARCHITECTURE}") -endif() - -set(OPENSSL_MAKEFILE "makefile") - -file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg) - - -if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - - # Copy openssl sources. - message(STATUS "Copying openssl release source files...") - file(GLOB OPENSSL_SOURCE_FILES "${SOURCE_PATH}/*") - foreach(SOURCE_FILE ${OPENSSL_SOURCE_FILES}) - file(COPY ${SOURCE_FILE} DESTINATION "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") - endforeach() - message(STATUS "Copying openssl release source files... done") - set(SOURCE_PATH_RELEASE "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") - - set(OPENSSLDIR_RELEASE "${CURRENT_PACKAGES_DIR}") - - message(STATUS "Configure ${TARGET_TRIPLET}-rel") - vcpkg_execute_required_process( - COMMAND ${CONFIGURE_COMMAND} ${OPENSSL_ARCH} "--prefix=${OPENSSLDIR_RELEASE}" "--openssldir=${OPENSSLDIR_RELEASE}" -FS - WORKING_DIRECTORY "${SOURCE_PATH_RELEASE}" - LOGNAME configure-perl-${TARGET_TRIPLET}-${VCPKG_BUILD_TYPE}-rel - ) - message(STATUS "Configure ${TARGET_TRIPLET}-rel done") - - message(STATUS "Build ${TARGET_TRIPLET}-rel") - # Openssl's buildsystem has a race condition which will cause JOM to fail at some point. - # This is ok; we just do as much work as we can in parallel first, then follow up with a single-threaded build. - make_directory(${SOURCE_PATH_RELEASE}/inc32/openssl) - execute_process( - COMMAND "${JOM}" -k -j ${VCPKG_CONCURRENCY} -f "${OPENSSL_MAKEFILE}" build_libs - WORKING_DIRECTORY "${SOURCE_PATH_RELEASE}" - OUTPUT_FILE "${CURRENT_BUILDTREES_DIR}/build-${TARGET_TRIPLET}-rel-0-out.log" - ERROR_FILE "${CURRENT_BUILDTREES_DIR}/build-${TARGET_TRIPLET}-rel-0-err.log" - ) - vcpkg_execute_required_process( - COMMAND nmake -f "${OPENSSL_MAKEFILE}" install_dev - WORKING_DIRECTORY "${SOURCE_PATH_RELEASE}" - LOGNAME build-${TARGET_TRIPLET}-rel-1) - - message(STATUS "Build ${TARGET_TRIPLET}-rel done") -endif() - - -if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - # Copy openssl sources. - message(STATUS "Copying openssl debug source files...") - file(GLOB OPENSSL_SOURCE_FILES ${SOURCE_PATH}/*) - foreach(SOURCE_FILE ${OPENSSL_SOURCE_FILES}) - file(COPY "${SOURCE_FILE}" DESTINATION "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") - endforeach() - message(STATUS "Copying openssl debug source files... done") - set(SOURCE_PATH_DEBUG "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") - - set(OPENSSLDIR_DEBUG "${CURRENT_PACKAGES_DIR}/debug") - - message(STATUS "Configure ${TARGET_TRIPLET}-dbg") - vcpkg_execute_required_process( - COMMAND ${CONFIGURE_COMMAND} debug-${OPENSSL_ARCH} "--prefix=${OPENSSLDIR_DEBUG}" "--openssldir=${OPENSSLDIR_DEBUG}" -FS - WORKING_DIRECTORY "${SOURCE_PATH_DEBUG}" - LOGNAME configure-perl-${TARGET_TRIPLET}-${VCPKG_BUILD_TYPE}-dbg - ) - message(STATUS "Configure ${TARGET_TRIPLET}-dbg done") - - message(STATUS "Build ${TARGET_TRIPLET}-dbg") - make_directory("${SOURCE_PATH_DEBUG}/inc32/openssl") - execute_process( - COMMAND "${JOM}" -k -j ${VCPKG_CONCURRENCY} -f "${OPENSSL_MAKEFILE}" build_libs - WORKING_DIRECTORY "${SOURCE_PATH_DEBUG}" - OUTPUT_FILE "${CURRENT_BUILDTREES_DIR}/build-${TARGET_TRIPLET}-dbg-0-out.log" - ERROR_FILE "${CURRENT_BUILDTREES_DIR}/build-${TARGET_TRIPLET}-dbg-0-err.log" - ) - vcpkg_execute_required_process( - COMMAND nmake -f "${OPENSSL_MAKEFILE}" install_dev - WORKING_DIRECTORY "${SOURCE_PATH_DEBUG}" - LOGNAME build-${TARGET_TRIPLET}-dbg-1) - - message(STATUS "Build ${TARGET_TRIPLET}-dbg done") -endif() - -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/certs") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/private") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/engines-1_1") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/certs") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/engines-1_1") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/private") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") - -file(REMOVE - "${CURRENT_PACKAGES_DIR}/bin/openssl.exe" - "${CURRENT_PACKAGES_DIR}/debug/bin/openssl.exe" - "${CURRENT_PACKAGES_DIR}/debug/openssl.cnf" - "${CURRENT_PACKAGES_DIR}/openssl.cnf" - "${CURRENT_PACKAGES_DIR}/ct_log_list.cnf" - "${CURRENT_PACKAGES_DIR}/ct_log_list.cnf.dist" - "${CURRENT_PACKAGES_DIR}/openssl.cnf.dist" - "${CURRENT_PACKAGES_DIR}/debug/ct_log_list.cnf" - "${CURRENT_PACKAGES_DIR}/debug/ct_log_list.cnf.dist" - "${CURRENT_PACKAGES_DIR}/debug/openssl.cnf.dist" -) - -if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - # They should be empty, only the exes deleted above were in these directories - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin/") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin/") -endif() - -file(READ "${CURRENT_PACKAGES_DIR}/include/openssl/dtls1.h" _contents) -string(REPLACE "" "" _contents "${_contents}") -file(WRITE "${CURRENT_PACKAGES_DIR}/include/openssl/dtls1.h" "${_contents}") - -file(READ "${CURRENT_PACKAGES_DIR}/include/openssl/rand.h" _contents) -string(REPLACE "# include " "#ifndef _WINSOCKAPI_\n#define _WINSOCKAPI_\n#endif\n# include " _contents "${_contents}") -file(WRITE "${CURRENT_PACKAGES_DIR}/include/openssl/rand.h" "${_contents}") - -vcpkg_copy_pdbs() - -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/openssl/vcpkg-cmake-wrapper.cmake.in b/ports/openssl/vcpkg-cmake-wrapper.cmake.in index 4d9957c861c1b7..5008112c35cfc1 100644 --- a/ports/openssl/vcpkg-cmake-wrapper.cmake.in +++ b/ports/openssl/vcpkg-cmake-wrapper.cmake.in @@ -1,40 +1,51 @@ -set(OPENSSL_ROOT_DIR_BAK ${OPENSSL_ROOT_DIR}) -get_filename_component(OPENSSL_ROOT_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) -get_filename_component(OPENSSL_ROOT_DIR "${OPENSSL_ROOT_DIR}" PATH) -get_filename_component(OPENSSL_ROOT_DIR "${OPENSSL_ROOT_DIR}" PATH) +cmake_policy(PUSH) +cmake_policy(SET CMP0012 NEW) +cmake_policy(SET CMP0054 NEW) +cmake_policy(SET CMP0057 NEW) -if(CMAKE_HOST_WIN32) - file(TO_CMAKE_PATH "$ENV{PROGRAMFILES}" Z_VCPKG_PROGRAMFILES) - set(Z_VCPKG_PROGRAMFILESX86_NAME "PROGRAMFILES(x86)") - file(TO_CMAKE_PATH "$ENV{${Z_VCPKG_PROGRAMFILESX86_NAME}}" Z_VCPKG_PROGRAMFILESX86) - set(CMAKE_SYSTEM_IGNORE_PATH - "${Z_VCPKG_PROGRAMFILES}/OpenSSL" - "${Z_VCPKG_PROGRAMFILES}/OpenSSL-Win32" - "${Z_VCPKG_PROGRAMFILES}/OpenSSL-Win64" - "${Z_VCPKG_PROGRAMFILES}/OpenSSL-Win32/lib/VC" - "${Z_VCPKG_PROGRAMFILES}/OpenSSL-Win64/lib/VC" - "${Z_VCPKG_PROGRAMFILES}/OpenSSL-Win32/lib/VC/static" - "${Z_VCPKG_PROGRAMFILES}/OpenSSL-Win64/lib/VC/static" - "${Z_VCPKG_PROGRAMFILESX86}/OpenSSL" - "${Z_VCPKG_PROGRAMFILESX86}/OpenSSL-Win32" - "${Z_VCPKG_PROGRAMFILESX86}/OpenSSL-Win64" - "${Z_VCPKG_PROGRAMFILESX86}/OpenSSL-Win32/lib/VC" - "${Z_VCPKG_PROGRAMFILESX86}/OpenSSL-Win64/lib/VC" - "${Z_VCPKG_PROGRAMFILESX86}/OpenSSL-Win32/lib/VC/static" - "${Z_VCPKG_PROGRAMFILESX86}/OpenSSL-Win64/lib/VC/static" - "C:/OpenSSL/" - "C:/OpenSSL-Win32/" - "C:/OpenSSL-Win64/" - "C:/OpenSSL-Win32/lib/VC" - "C:/OpenSSL-Win64/lib/VC" - "C:/OpenSSL-Win32/lib/VC/static" - "C:/OpenSSL-Win64/lib/VC/static" - ) +set(OPENSSL_VERSION_MAJOR @OPENSSL_VERSION_MAJOR@) +set(OPENSSL_VERSION_MINOR @OPENSSL_VERSION_MINOR@) +set(OPENSSL_VERSION_FIX @OPENSSL_VERSION_FIX@) + +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 libcrypto PATHS "${OPENSSL_ROOT_DIR}/debug/lib" NO_DEFAULT_PATH) + find_library(LIB_EAY_RELEASE NAMES libcrypto PATHS "${OPENSSL_ROOT_DIR}/lib" NO_DEFAULT_PATH) + find_library(SSL_EAY_DEBUG NAMES libssl PATHS "${OPENSSL_ROOT_DIR}/debug/lib" NO_DEFAULT_PATH) + find_library(SSL_EAY_RELEASE NAMES libssl 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}) -set(OPENSSL_ROOT_DIR ${OPENSSL_ROOT_DIR_BAK}) +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) @@ -46,8 +57,6 @@ if(OPENSSL_FOUND AND "@VCPKG_LIBRARY_LINKAGE@" STREQUAL "static") set_property(TARGET OpenSSL::SSL APPEND PROPERTY INTERFACE_LINK_LIBRARIES "crypt32;ws2_32") endif() else() - cmake_policy(PUSH) - cmake_policy(SET CMP0057 NEW) find_library(OPENSSL_DL_LIBRARY NAMES dl) if(OPENSSL_DL_LIBRARY) list(APPEND OPENSSL_LIBRARIES "dl") @@ -68,6 +77,6 @@ if(OPENSSL_FOUND AND "@VCPKG_LIBRARY_LINKAGE@" STREQUAL "static") if(TARGET OpenSSL::SSL) set_property(TARGET OpenSSL::SSL APPEND PROPERTY INTERFACE_LINK_LIBRARIES "Threads::Threads") endif() - cmake_policy(POP) endif() endif() +cmake_policy(POP) diff --git a/ports/openssl/vcpkg.json b/ports/openssl/vcpkg.json index 0c09f7d0da9104..d9350a1f3f3f1e 100644 --- a/ports/openssl/vcpkg.json +++ b/ports/openssl/vcpkg.json @@ -1,7 +1,37 @@ { "name": "openssl", - "version-string": "1.1.1l", - "port-version": 3, + "version": "3.4.0", "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" + "homepage": "https://www.openssl.org", + "license": "Apache-2.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + { + "name": "vcpkg-cmake-get-vars", + "host": true + } + ], + "features": { + "fips": { + "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-layout.patch b/ports/openssl/windows/install-layout.patch new file mode 100644 index 00000000000000..be9df768b38467 --- /dev/null +++ b/ports/openssl/windows/install-layout.patch @@ -0,0 +1,13 @@ +diff --git a/Configurations/windows-makefile.tmpl b/Configurations/windows-makefile.tmpl +index f71f3bf..116954f 100644 +--- a/Configurations/windows-makefile.tmpl ++++ b/Configurations/windows-makefile.tmpl +@@ -223,7 +223,7 @@ MODULESDIR_dev={- use File::Spec::Functions qw(:DEFAULT splitpath catpath); + splitpath($modulesprefix, 1); + our $modulesdir_dev = $modulesprefix_dev; + our $modulesdir_dir = +- catdir($modulesprefix_dir, "ossl-modules"); ++ catdir($modulesprefix_dir, "../bin"); + our $modulesdir = catpath($modulesdir_dev, $modulesdir_dir); + our $enginesdir_dev = $modulesprefix_dev; + our $enginesdir_dir = diff --git a/ports/openssl/windows/install-pdbs.patch b/ports/openssl/windows/install-pdbs.patch new file mode 100644 index 00000000000000..552545407e0c4c --- /dev/null +++ b/ports/openssl/windows/install-pdbs.patch @@ -0,0 +1,46 @@ +diff --git a/Configurations/windows-makefile.tmpl b/Configurations/windows-makefile.tmpl +index 5946c89..f71f3bf 100644 +--- a/Configurations/windows-makefile.tmpl ++++ b/Configurations/windows-makefile.tmpl +@@ -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)" + +@@ -569,6 +570,7 @@ install_engines: _install_modules_deps + @if not "$(INSTALL_ENGINES)"=="" \ + "$(PERL)" "$(SRCDIR)\util\copy.pl" $(INSTALL_ENGINES) "$(ENGINESDIR)" + @if not "$(INSTALL_ENGINES)"=="" \ ++ @if "$(INSTALL_PDBS)"=="ON" \ + "$(PERL)" "$(SRCDIR)\util\copy.pl" $(INSTALL_ENGINEPDBS) "$(ENGINESDIR)" + + uninstall_engines: +@@ -580,6 +582,7 @@ install_modules: _install_modules_deps + @if not "$(INSTALL_MODULES)"=="" \ + "$(PERL)" "$(SRCDIR)\util\copy.pl" $(INSTALL_MODULES) "$(MODULESDIR)" + @if not "$(INSTALL_MODULES)"=="" \ ++ @if "$(INSTALL_PDBS)"=="ON" \ + "$(PERL)" "$(SRCDIR)\util\copy.pl" $(INSTALL_MODULEPDBS) "$(MODULESDIR)" + + uninstall_modules: +@@ -593,6 +596,7 @@ install_runtime_libs: build_libs + @if not "$(SHLIBS)"=="" \ + "$(PERL)" "$(SRCDIR)\util\copy.pl" $(INSTALL_SHLIBS) "$(INSTALLTOP)\bin" + @if not "$(SHLIBS)"=="" \ ++ @if "$(INSTALL_PDBS)"=="ON" \ + "$(PERL)" "$(SRCDIR)\util\copy.pl" $(INSTALL_SHLIBPDBS) \ + "$(INSTALLTOP)\bin" + +@@ -605,6 +609,7 @@ install_programs: install_runtime_libs build_programs + "$(PERL)" "$(SRCDIR)\util\copy.pl" $(INSTALL_PROGRAMS) \ + "$(INSTALLTOP)\bin" + @if not "$(INSTALL_PROGRAMS)"=="" \ ++ @if "$(INSTALL_PDBS)"=="ON" \ + "$(PERL)" "$(SRCDIR)\util\copy.pl" $(INSTALL_PROGRAMPDBS) \ + "$(INSTALLTOP)\bin" + @if not "$(INSTALL_PROGRAMS)"=="" \ diff --git a/ports/openssl/windows/portfile.cmake b/ports/openssl/windows/portfile.cmake index 4987e810760761..d35f3097240dc3 100644 --- a/ports/openssl/windows/portfile.cmake +++ b/ports/openssl/windows/portfile.cmake @@ -1,39 +1,14 @@ -vcpkg_fail_port_install(MESSAGE "${PORT} is only for Windows Desktop" ON_TARGET "UWP" "Linux" "OSX") +# 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_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} -) - -vcpkg_find_acquire_program(NASM) -get_filename_component(NASM_EXE_PATH "${NASM}" DIRECTORY) -vcpkg_add_to_path(PREPEND "${NASM_EXE_PATH}") - -vcpkg_find_acquire_program(JOM) - -set(OPENSSL_SHARED no-shared) -if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - set(OPENSSL_SHARED shared) -endif() - -set(CONFIGURE_OPTIONS - enable-static-engine - enable-capieng - no-ssl2 - no-tests - -utf-8 - ${OPENSSL_SHARED} -) - -if(DEFINED OPENSSL_USE_NOPINSHARED) - set(CONFIGURE_OPTIONS ${CONFIGURE_OPTIONS} no-pinshared) -endif() +vcpkg_find_acquire_program(PERL) +get_filename_component(PERL_EXE_PATH "${PERL}" DIRECTORY) +vcpkg_add_to_path("${PERL_EXE_PATH}") -if(OPENSSL_NO_AUTOLOAD_CONFIG) - set(CONFIGURE_OPTIONS ${CONFIGURE_OPTIONS} no-autoload-config) -endif() - -set(CONFIGURE_COMMAND "${PERL}" Configure ${CONFIGURE_OPTIONS}) +vcpkg_cmake_get_vars(cmake_vars_file) +include("${cmake_vars_file}") if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") set(OPENSSL_ARCH VC-WIN32) @@ -42,133 +17,142 @@ 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() -set(OPENSSL_MAKEFILE "makefile") - -file(REMOVE_RECURSE "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel" - "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") - -if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - - # Copy openssl sources. - message(STATUS "Copying openssl release source files...") - file(GLOB OPENSSL_SOURCE_FILES ${SOURCE_PATH}/*) - foreach(SOURCE_FILE ${OPENSSL_SOURCE_FILES}) - file(COPY ${SOURCE_FILE} DESTINATION "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") - endforeach() - message(STATUS "Copying openssl release source files... done") - set(SOURCE_PATH_RELEASE "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") - - set(OPENSSLDIR_RELEASE ${CURRENT_PACKAGES_DIR}) - - message(STATUS "Configure ${TARGET_TRIPLET}-rel") - vcpkg_execute_required_process( - COMMAND ${CONFIGURE_COMMAND} ${OPENSSL_ARCH} "--prefix=${OPENSSLDIR_RELEASE}" "--openssldir=${OPENSSLDIR_RELEASE}" -FS - WORKING_DIRECTORY ${SOURCE_PATH_RELEASE} - LOGNAME configure-perl-${TARGET_TRIPLET}-rel +if(VCPKG_TARGET_IS_UWP) + vcpkg_list(APPEND CONFIGURE_OPTIONS + no-unit-test + no-asm + no-uplink ) - message(STATUS "Configure ${TARGET_TRIPLET}-rel done") - - message(STATUS "Build ${TARGET_TRIPLET}-rel") - # Openssl's buildsystem has a race condition which will cause JOM to fail at some point. - # This is ok; we just do as much work as we can in parallel first, then follow up with a single-threaded build. - make_directory(${SOURCE_PATH_RELEASE}/inc32/openssl) - execute_process( - COMMAND ${JOM} -k -j $ENV{NUMBER_OF_PROCESSORS} -f ${OPENSSL_MAKEFILE} - WORKING_DIRECTORY ${SOURCE_PATH_RELEASE} - OUTPUT_FILE ${CURRENT_BUILDTREES_DIR}/build-${TARGET_TRIPLET}-rel-0-out.log - ERROR_FILE ${CURRENT_BUILDTREES_DIR}/build-${TARGET_TRIPLET}-rel-0-err.log - ) - vcpkg_execute_required_process( - COMMAND nmake -f ${OPENSSL_MAKEFILE} install_sw install_ssldirs - WORKING_DIRECTORY ${SOURCE_PATH_RELEASE} - LOGNAME build-${TARGET_TRIPLET}-rel-1) + string(APPEND OPENSSL_ARCH "-UWP") +endif() - message(STATUS "Build ${TARGET_TRIPLET}-rel done") +if(VCPKG_CONCURRENCY GREATER "1") + vcpkg_list(APPEND CONFIGURE_OPTIONS no-makedepend) endif() +cmake_path(NATIVE_PATH CURRENT_PACKAGES_DIR NORMALIZE install_dir_native) -if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - # Copy openssl sources. - message(STATUS "Copying openssl debug source files...") - file(GLOB OPENSSL_SOURCE_FILES ${SOURCE_PATH}/*) - foreach(SOURCE_FILE ${OPENSSL_SOURCE_FILES}) - file(COPY ${SOURCE_FILE} DESTINATION "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") - endforeach() - message(STATUS "Copying openssl debug source files... done") - set(SOURCE_PATH_DEBUG "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") - - set(OPENSSLDIR_DEBUG ${CURRENT_PACKAGES_DIR}/debug) +# 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() - message(STATUS "Configure ${TARGET_TRIPLET}-dbg") - vcpkg_execute_required_process( - COMMAND ${CONFIGURE_COMMAND} debug-${OPENSSL_ARCH} "--prefix=${OPENSSLDIR_DEBUG}" "--openssldir=${OPENSSLDIR_DEBUG}" -FS - WORKING_DIRECTORY ${SOURCE_PATH_DEBUG} - LOGNAME configure-perl-${TARGET_TRIPLET}-dbg - ) - message(STATUS "Configure ${TARGET_TRIPLET}-dbg done") +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() - message(STATUS "Build ${TARGET_TRIPLET}-dbg") - make_directory(${SOURCE_PATH_DEBUG}/inc32/openssl) - execute_process( - COMMAND "${JOM}" -k -j ${VCPKG_CONCURRENCY} -f "${OPENSSL_MAKEFILE}" - WORKING_DIRECTORY ${SOURCE_PATH_DEBUG} - OUTPUT_FILE ${CURRENT_BUILDTREES_DIR}/build-${TARGET_TRIPLET}-dbg-0-out.log - ERROR_FILE ${CURRENT_BUILDTREES_DIR}/build-${TARGET_TRIPLET}-dbg-0-err.log - ) - vcpkg_execute_required_process( - COMMAND nmake -f "${OPENSSL_MAKEFILE}" install_sw install_ssldirs - WORKING_DIRECTORY ${SOURCE_PATH_DEBUG} - LOGNAME build-${TARGET_TRIPLET}-dbg-1) +cmake_path(NATIVE_PATH VCPKG_DETECTED_CMAKE_AR NORMALIZE ar) +cmake_path(NATIVE_PATH VCPKG_DETECTED_CMAKE_LINKER NORMALIZE ld) + +vcpkg_build_nmake( + SOURCE_PATH "${SOURCE_PATH}" + PREFER_JOM + CL_LANGUAGE NONE + PRERUN_SHELL_RELEASE "${PERL}" Configure + ${CONFIGURE_OPTIONS} + ${OPENSSL_ARCH} + "--prefix=${install_dir_native}" + "--openssldir=${install_dir_native}" + "AS=${as}" + "CC=${cc}" + "CFLAGS=${VCPKG_COMBINED_C_FLAGS_RELEASE}" + "AR=${ar}" + "ARFLAGS=${VCPKG_COMBINED_STATIC_LINKER_FLAGS_RELEASE}" + "LD=${ld}" + "LDFLAGS=${VCPKG_COMBINED_SHARED_LINKER_FLAGS_RELEASE}" + PRERUN_SHELL_DEBUG "${PERL}" Configure + ${CONFIGURE_OPTIONS} + ${OPENSSL_ARCH} + --debug + "--prefix=${install_dir_native}\\debug" + "--openssldir=${install_dir_native}\\debug" + "AS=${as}" + "CC=${cc}" + "CFLAGS=${VCPKG_COMBINED_C_FLAGS_DEBUG}" + "AR=${ar}" + "ARFLAGS=${VCPKG_COMBINED_STATIC_LINKER_FLAGS_DEBUG}" + "LD=${ld}" + "LDFLAGS=${VCPKG_COMBINED_SHARED_LINKER_FLAGS_DEBUG}" + PROJECT_NAME "makefile" + TARGET install_dev install_modules ${INSTALL_FIPS} + LOGFILE_ROOT install + OPTIONS + "INSTALL_PDBS=${OPENSSL_BUILD_MAKES_PDBS}" # install-pdbs.patch + OPTIONS_RELEASE + install_runtime install_ssldirs # extra targets +) - message(STATUS "Build ${TARGET_TRIPLET}-dbg done") +set(scripts "bin/c_rehash.pl" "misc/CA.pl" "misc/tsget.pl") +if("tools" IN_LIST FEATURES) + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/${PORT}") + file(RENAME "${CURRENT_PACKAGES_DIR}/openssl.cnf" "${CURRENT_PACKAGES_DIR}/tools/${PORT}/openssl.cnf") + if("fips" IN_LIST FEATURES) + file(RENAME "${CURRENT_PACKAGES_DIR}/fipsmodule.cnf" "${CURRENT_PACKAGES_DIR}/tools/${PORT}/fipsmodule.cnf") + endif() + foreach(script IN LISTS scripts) + file(COPY "${CURRENT_PACKAGES_DIR}/${script}" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}") + file(REMOVE "${CURRENT_PACKAGES_DIR}/${script}" "${CURRENT_PACKAGES_DIR}/debug/${script}") + endforeach() + vcpkg_copy_tools(TOOL_NAMES openssl AUTO_CLEAN) +else() + file(REMOVE "${CURRENT_PACKAGES_DIR}/openssl.cnf") + file(REMOVE "${CURRENT_PACKAGES_DIR}/fipsmodule.cnf") + foreach(script IN LISTS scripts) + file(REMOVE "${CURRENT_PACKAGES_DIR}/${script}" "${CURRENT_PACKAGES_DIR}/debug/${script}") + endforeach() + if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") + endif() endif() -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/certs") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/private") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/engines-1_1") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/certs") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/engines-1_1") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/private") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +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}/debug/misc" + "${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" "${CURRENT_PACKAGES_DIR}/ct_log_list.cnf.dist" "${CURRENT_PACKAGES_DIR}/openssl.cnf.dist" - "${CURRENT_PACKAGES_DIR}/debug/bin/openssl.exe" "${CURRENT_PACKAGES_DIR}/debug/ct_log_list.cnf" "${CURRENT_PACKAGES_DIR}/debug/ct_log_list.cnf.dist" "${CURRENT_PACKAGES_DIR}/debug/openssl.cnf" "${CURRENT_PACKAGES_DIR}/debug/openssl.cnf.dist" + "${CURRENT_PACKAGES_DIR}/debug/fipsmodule.cnf" ) - -file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/openssl/") -file(RENAME "${CURRENT_PACKAGES_DIR}/bin/openssl.exe" "${CURRENT_PACKAGES_DIR}/tools/openssl/openssl.exe") -file(RENAME "${CURRENT_PACKAGES_DIR}/openssl.cnf" "${CURRENT_PACKAGES_DIR}/tools/openssl/openssl.cnf") - -vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/openssl") - -if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - # They should be empty, only the exes deleted above were in these directories - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin/") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin/") -endif() - -vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/openssl/dtls1.h" - "" - "" -) - -vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/openssl/rand.h" - "# include " - "#ifndef _WINSOCKAPI_\n#define _WINSOCKAPI_\n#endif\n# include " -) - -vcpkg_copy_pdbs() - -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/opensubdiv/fix-build-type.patch b/ports/opensubdiv/fix-build-type.patch index c8ea3e6d06eb1b..b9f7752a4e0534 100644 --- a/ports/opensubdiv/fix-build-type.patch +++ b/ports/opensubdiv/fix-build-type.patch @@ -1,20 +1,36 @@ diff --git a/opensubdiv/CMakeLists.txt b/opensubdiv/CMakeLists.txt -index 72c5b7e..ca24488 100644 +index f01a8a0..e1c24eb 100644 --- a/opensubdiv/CMakeLists.txt +++ b/opensubdiv/CMakeLists.txt -@@ -124,6 +124,7 @@ if (NOT NO_LIB) +@@ -122,6 +122,7 @@ if (NOT NO_LIB) #--------------------------------------------------------------------------- -+ if (NOT BUILD_SHARED_LIBS) ++ if(NOT BUILD_SHARED_LIBS) # Build static libs ------------------------------------ add_library(osd_static_cpu STATIC -@@ -146,6 +147,7 @@ if (NOT NO_LIB) - ) +@@ -169,6 +170,7 @@ if (NOT NO_LIB) - install( TARGETS osd_static_cpu DESTINATION "${CMAKE_LIBDIR_BASE}" ) + install( TARGETS osd_static_gpu EXPORT opensubdiv-targets DESTINATION "${CMAKE_LIBDIR_BASE}" ) + endif() + endif() - if( OSD_GPU ) - # this macro uses FindCUDA.cmake to compile .cu kernel files + + # Build dynamic libs ---------------------------------- +@@ -284,6 +286,7 @@ if (NOT NO_LIB) + list(APPEND PUBLIC_HEADER_FILES "version.h") + + #static framework ++ if(NOT BUILD_SHARED_LIBS) + add_library(osd_static_framework + STATIC + version.cpp +@@ -330,6 +333,7 @@ if (NOT NO_LIB) + "Versions/Current/Headers" + "$/../../Headers" + ) ++ endif() + + #shared framework + if (BUILD_SHARED_LIBS) 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-mac-build.patch b/ports/opensubdiv/fix-mac-build.patch deleted file mode 100644 index 6aa244f1f4f468..00000000000000 --- a/ports/opensubdiv/fix-mac-build.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/opensubdiv/CMakeLists.txt b/opensubdiv/CMakeLists.txt -index ca24488..adb0191 100644 ---- a/opensubdiv/CMakeLists.txt -+++ b/opensubdiv/CMakeLists.txt -@@ -241,7 +241,7 @@ if (NOT NO_LIB) - endif() - - # Build frameworks ---------------------------------- -- if(APPLE) -+ if(APPLE AND OSD_GPU) - get_directory_property(OSD_HEADER_FILES DIRECTORY ${CMAKE_SOURCE_DIR}/opensubdiv/osd DEFINITION PUBLIC_HEADER_FILES) - get_directory_property(FAR_HEADER_FILES DIRECTORY ${CMAKE_SOURCE_DIR}/opensubdiv/far DEFINITION PUBLIC_HEADER_FILES) - get_directory_property(SDC_HEADER_FILES DIRECTORY ${CMAKE_SOURCE_DIR}/opensubdiv/sdc DEFINITION PUBLIC_HEADER_FILES) 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 faa42c30907a1a..5b7138a086bb9f 100644 --- a/ports/opensubdiv/portfile.cmake +++ b/ports/opensubdiv/portfile.cmake @@ -2,20 +2,19 @@ if (VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_IOS) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) endif() -vcpkg_fail_port_install(ON_ARCH "arm" "arm64" ON_TARGET "uwp") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO PixarAnimationStudios/OpenSubdiv - REF 82ab1b9f54c87fdd7e989a3470d53e137b8ca270 # 3.4.3 - SHA512 607cb9aa05d83a24bc2102bfd28abfec58f5723b1c56f6f431111ebf98f105ff7ca2a77610953acd21f73cb74d8d8ec68db3aeb11be1f9ca56d87c36c58dd095 - HEAD_REF master + REF 8ffa2b6566be10209529d7a0d1db02a0796b160c # v3.5.0 + SHA512 cb48470f044ca4e9fcdfb3ff05d710fd710212d5a2f539f3f90ebb33cc6a6b1530fd9deb7d3eb25b275133dbdf5c1a5d4777b289d13b15006a59db12e8b28398 + HEAD_REF release PATCHES fix_compile-option.patch fix-version-search.patch fix-build-type.patch - fix-mac-build.patch fix-dependencies.patch + fix-feature-cuda.patch + fix-notfind-header.patch ) if(VCPKG_TARGET_IS_LINUX) @@ -26,9 +25,9 @@ if(VCPKG_TARGET_IS_LINUX) These can be installed on Ubuntu systems via sudo apt install libxinerama-dev libxxf86vm-dev") endif() -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}") if (VCPKG_CRT_LINKAGE STREQUAL static) set(STATIC_CRT_LNK ON) @@ -56,6 +55,7 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS "glfw" NO_GLFW_X11 "omp" NO_OMP "opencl" NO_OPENCL + "opengl" NO_OPENGL "ptex" NO_PTEX "tbb" NO_TBB "tutorials" NO_TUTORIALS @@ -74,6 +74,11 @@ endif() if ("dx" IN_LIST FEATURES) list(APPEND OSD_EXTRA_OPTS -DDXSDK_LOCATION=${CURRENT_INSTALLED_DIR}) endif() +if (VCPKG_TARGET_IS_OSX) + list(APPEND OSD_EXTRA_OPTS -DNO_METAL=OFF) +else() + list(APPEND OSD_EXTRA_OPTS -DNO_METAL=ON) +endif() vcpkg_cmake_configure( SOURCE_PATH ${SOURCE_PATH} @@ -85,8 +90,6 @@ vcpkg_cmake_configure( -DNO_TESTS=ON -DNO_GLTESTS=ON -DNO_CLEW=ON - -DNO_METAL=ON - -DNO_OPENGL=ON # missing glloader ${FEATURE_OPTIONS} ${OSD_EXTRA_OPTS} MAYBE_UNUSED_VARIABLES @@ -95,10 +98,6 @@ vcpkg_cmake_configure( vcpkg_cmake_install() -if ("opencl" IN_LIST FEATURES OR "dx" IN_LIST FEATURES) - vcpkg_copy_tools(TOOL_NAMES stringify AUTO_CLEAN) -endif() - if ("examples" IN_LIST FEATURES) if ("dx" IN_LIST FEATURES) vcpkg_copy_tools(TOOL_NAMES dxViewer AUTO_CLEAN) @@ -120,9 +119,13 @@ if ("tutorials" IN_LIST FEATURES) endif() endif() +vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup(PACKAGE_NAME OpenSubdiv CONFIG_PATH lib/cmake/OpenSubdiv) +vcpkg_fixup_pkgconfig() + # The header files are read only and can't remove when remove this port file(GLOB_RECURSE OSD_HDRS "${CURRENT_PACKAGES_DIR}/include/*.h") -file(CHMOD_RECURSE ${OSD_HDRS} +file(CHMOD_RECURSE ${OSD_HDRS} PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ GROUP_WRITE @@ -134,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 f535d51b79b789..56e4a23eb36521 100644 --- a/ports/opensubdiv/vcpkg.json +++ b/ports/opensubdiv/vcpkg.json @@ -1,14 +1,19 @@ { "name": "opensubdiv", - "version-semver": "3.4.3", - "port-version": 3, + "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", "supports": "!arm & !uwp", "dependencies": [ { "name": "vcpkg-cmake", "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true } ], "features": { @@ -30,16 +35,16 @@ ] }, "examples": { - "description": "Enable examples build" + "description": "Build examples" }, "glew": { - "description": "Path to glew", + "description": "Enable GLEW wrapper library", "dependencies": [ "glew" ] }, "glfw": { - "description": "Path to glfw", + "description": "Build components depending on GLFW", "dependencies": [ "glfw3" ] @@ -53,8 +58,14 @@ "opencl" ] }, + "opengl": { + "description": "Enable OpenGL backend", + "dependencies": [ + "opengl" + ] + }, "ptex": { - "description": "Path to Ptex", + "description": "Enable Ptex support", "dependencies": [ "ptex" ] 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..ce94261f3d342a --- /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 93733bb2e52273474f4298d10645bf7d1157fc55 + HEAD_REF main + SHA512 bfe297e313b8e960a4557dd8750c814af2f9b574dd248f8c30b452160f5b7aba53af85b2c5b87a423ea3878e8a852022e3ff3d08a983db073c68418e64f671b2 + ) + 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..872532ce72f9a8 --- /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-06-17", + "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-find-dependency.patch b/ports/opentelemetry-cpp/add-missing-find-dependency.patch new file mode 100644 index 00000000000000..1f9c12d1636026 --- /dev/null +++ b/ports/opentelemetry-cpp/add-missing-find-dependency.patch @@ -0,0 +1,13 @@ +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/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 ff17db6aec0f48..d66d78e04e56af 100644 --- a/ports/opentelemetry-cpp/portfile.cmake +++ b/ports/opentelemetry-cpp/portfile.cmake @@ -2,18 +2,16 @@ if(VCPKG_TARGET_IS_WINDOWS) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) endif() -if ("etw" IN_LIST FEATURES) - if(VCPKG_TARGET_ARCHITECTURE STREQUAL "linux" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "OSX") - message(FATAL_ERROR "Feature 'ewt' does not support 'linux & osx'") - endif() -endif() - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO open-telemetry/opentelemetry-cpp - REF v1.0.1 - SHA512 ddaf5f52f5c100f385e09a6eb69f08fced2e890145939d35f969b05743733409e43f4747713259b68641511401c2c1e01a498b9b7a20fab0f52ee6f4b5d3c77c + REF "v${VERSION}" + SHA512 c89c4f7a73c11c020f8ea1cb836ccd222456f899ede8e81a1fd0024e0a88f17c44a66bada8ed3010b0d03ac052475edb34b855aeafcff50975d24c8859463d68 HEAD_REF main + PATCHES + cmake-quirks.diff + # Missing find_dependency for Abseil + add-missing-find-dependency.patch ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS @@ -22,23 +20,55 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS zipkin WITH_ZIPKIN prometheus WITH_PROMETHEUS elasticsearch WITH_ELASTICSEARCH - jaeger WITH_JAEGER - otlp WITH_OTLP - zpages WITH_ZPAGES + otlp-http WITH_OTLP_HTTP + 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.11.0") +if(WITH_OTLP_GRPC OR WITH_OTLP_HTTP) + set(OTEL_PROTO_VERSION "1.3.2") 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 ff6c207fe9cc2b6a344439ab5323b3225cf532358d52caf0afee27d9b4cd89195f6da6b6e383fe94de52f60c772df8b477c1ea943db67a217063c71587b7bb92 + SHA512 ac95bb70c5566bab5c9ec7b9c469414b013f2bcf1c5ea82e7b7466311c767de091be819ddbbb01de8ce6e49f163035fec2a9d691c19ae47645b3c4a27c227f2b ) - vcpkg_extract_source_archive(${ARCHIVE} ${SOURCE_PATH}/third_party) - file(REMOVE_RECURSE ${SOURCE_PATH}/third_party/opentelemetry-proto) - file(RENAME ${SOURCE_PATH}/third_party/opentelemetry-proto-${OTEL_PROTO_VERSION} ${SOURCE_PATH}/third_party/opentelemetry-proto) + vcpkg_extract_source_archive(src ARCHIVE "${ARCHIVE}") + file(REMOVE_RECURSE "${SOURCE_PATH}/third_party/opentelemetry-proto") + file(COPY "${src}/." DESTINATION "${SOURCE_PATH}/third_party/opentelemetry-proto") + # 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}") +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( @@ -46,13 +76,21 @@ vcpkg_cmake_configure( OPTIONS -DBUILD_TESTING=OFF -DWITH_EXAMPLES=OFF + -DOPENTELEMETRY_INSTALL=ON + -DWITH_ABSEIL=ON + -DWITH_BENCHMARK=OFF + -DOPENTELEMETRY_EXTERNAL_COMPONENT_PATH=${OPENTELEMETRY_CPP_EXTERNAL_COMPONENTS} ${FEATURE_OPTIONS} + MAYBE_UNUSED_VARIABLES + 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") file(REMOVE_RECURSE "${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/opentelemetry-cpp/vcpkg.json b/ports/opentelemetry-cpp/vcpkg.json index bbf828464d9b5d..12972ca2933154 100644 --- a/ports/opentelemetry-cpp/vcpkg.json +++ b/ports/opentelemetry-cpp/vcpkg.json @@ -1,16 +1,16 @@ { - "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg/master/scripts/vcpkg.schema.json", + "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json", "name": "opentelemetry-cpp", - "version-semver": "1.0.1", + "version-semver": "1.17.0", "port-version": 1, "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." ], "homepage": "https://github.com/open-telemetry/opentelemetry-cpp", - "supports": "!(windows & !static)", + "license": "Apache-2.0", "dependencies": [ - "curl", + "abseil", "nlohmann-json", { "name": "vcpkg-cmake", @@ -23,21 +23,45 @@ ], "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" + "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" + { + "name": "opentelemetry-cpp", + "features": [ + "etw" + ], + "platform": "windows" + }, + "opentelemetry-cpp-contrib-version" ] }, - "otlp": { - "description": "Whether to include the OpenTelemetry Protocol in the SDK", + "otlp-grpc": { + "description": "Whether to include the OTLP gRPC exporter in the SDK", "dependencies": [ "grpc", + { + "name": "grpc", + "host": true + } + ] + }, + "otlp-http": { + "description": "Whether to include the OpenTelemetry Protocol over HTTP in the SDK", + "dependencies": [ + "curl", "protobuf" ] }, @@ -47,11 +71,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/opentracing/fix-cmake.patch b/ports/opentracing/fix-cmake.patch new file mode 100644 index 00000000000000..6e041b6abb09f5 --- /dev/null +++ b/ports/opentracing/fix-cmake.patch @@ -0,0 +1,39 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a451844..5966aa3 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -39,11 +39,13 @@ set(CPACK_COMPONENTS_GROUPING ONE_PER_GROUP) + set(CPACK_GENERATOR "RPM") + set(CPACK_COMPONENTS_IGNORE_GROUPS 1) + ++if(0) + include(CPack) + + set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/output) + set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/output) + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/output) ++endif() + + # ============================================================================== + # Configure compilers +@@ -165,7 +167,7 @@ if (BUILD_SHARED_LIBS) + target_compile_definitions(opentracing PRIVATE OPENTRACING_EXPORTS) + install(TARGETS opentracing EXPORT OpenTracingTargets + COMPONENT DIST +- RUNTIME DESTINATION ${LIB_INSTALL_DIR} ++ RUNTIME DESTINATION bin + LIBRARY DESTINATION ${LIB_INSTALL_DIR} + ARCHIVE DESTINATION ${LIB_INSTALL_DIR} + ) +diff --git a/mocktracer/CMakeLists.txt b/mocktracer/CMakeLists.txt +index 9835fe3..147179b 100644 +--- a/mocktracer/CMakeLists.txt ++++ b/mocktracer/CMakeLists.txt +@@ -21,6 +21,7 @@ if (BUILD_SHARED_LIBS) + install(TARGETS opentracing_mocktracer + COMPONENT DIST + EXPORT OpenTracingTargets ++ RUNTIME DESTINATION bin + LIBRARY DESTINATION ${LIB_INSTALL_DIR} + ARCHIVE DESTINATION ${LIB_INSTALL_DIR}) + diff --git a/ports/opentracing/portfile.cmake b/ports/opentracing/portfile.cmake index 61c1516cb3f201..5034bfa66dfc67 100644 --- a/ports/opentracing/portfile.cmake +++ b/ports/opentracing/portfile.cmake @@ -1,60 +1,28 @@ -vcpkg_fail_port_install(ON_TARGET uwp) - -if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - set(LOCAL_OPTIONS - -DBUILD_STATIC_LIBS=OFF - ) -else() - message("Static building is only possible when compiling static and dynamic versions at the same time. Enabling both.") - set(VCPKG_LIBRARY_LINKAGE dynamic) -endif() - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO opentracing/opentracing-cpp REF 4bb431f7728eaf383a07e86f9754a5b67575dab0 # v1.6.0 SHA512 1c69ff4cfd5f6037a48815367d3026c1bf06c3c49ebf232a64c43167385fb62e444c3b3224fc38f68ef0fdb378e3736db6ee6ba57160e6e578c87c09e92e527e PATCHES - repair_mojibake.patch + fix-cmake.patch ) -vcpkg_configure_cmake( +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC) + +vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - PREFER_NINJA OPTIONS -DENABLE_LINTING=OFF - ${LOCAL_OPTIONS} + -DBUILD_TESTING=OFF + -DBUILD_DYNAMIC_LOADING=OFF + -DBUILD_STATIC_LIBS=${BUILD_STATIC} ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/OpenTracing) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/OpenTracing) vcpkg_copy_pdbs() -# Move DLLs to /bin -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" OR NOT VCPKG_CMAKE_SYSTEM_NAME) - if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/bin) - file(RENAME ${CURRENT_PACKAGES_DIR}/lib/opentracing.dll ${CURRENT_PACKAGES_DIR}/bin/opentracing.dll) - - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/bin) - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/opentracing.dll ${CURRENT_PACKAGES_DIR}/debug/bin/opentracing.dll) - - # Fix targets - file(READ ${CURRENT_PACKAGES_DIR}/share/opentracing/OpenTracingTargets-release.cmake RELEASE_CONFIG) - string(REPLACE "\${_IMPORT_PREFIX}/lib/opentracing.dll" - "\${_IMPORT_PREFIX}/bin/opentracing.dll" RELEASE_CONFIG ${RELEASE_CONFIG}) - file(WRITE ${CURRENT_PACKAGES_DIR}/share/opentracing/OpenTracingTargets-release.cmake "${RELEASE_CONFIG}") - - file(READ ${CURRENT_PACKAGES_DIR}/share/opentracing/OpenTracingTargets-debug.cmake DEBUG_CONFIG) - string(REPLACE "\${_IMPORT_PREFIX}/debug/lib/opentracing.dll" - "\${_IMPORT_PREFIX}/debug/bin/opentracing.dll" DEBUG_CONFIG ${DEBUG_CONFIG}) - file(WRITE ${CURRENT_PACKAGES_DIR}/share/opentracing/OpenTracingTargets-debug.cmake "${DEBUG_CONFIG}") - endif() -endif() - -# Handle copyright -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) - -# Remove duplicate headers file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/opentracing/repair_mojibake.patch b/ports/opentracing/repair_mojibake.patch deleted file mode 100644 index ae427e661aaea0..00000000000000 --- a/ports/opentracing/repair_mojibake.patch +++ /dev/null @@ -1,59 +0,0 @@ -From 31c92781ac953cb83963cfe5ac30324579fa7b2d Mon Sep 17 00:00:00 2001 -From: Billy Robert O'Neal III -Date: Fri, 18 Dec 2020 10:07:02 -0800 -Subject: [PATCH] Repair mojibake in expected.hpp - -The affected characters herein triggered warnings -C:\Dev\vcpkg\buildtrees\opentracing\src\b67575dab0-0250653c81.clean\3rd_party\include\opentracing/expected/expected.hpp(1): warning C4828: The file contains a character starting at offset 0x4a77 that is illegal in the current source character set (codepage 65001). ---- - 3rd_party/include/opentracing/expected/expected.hpp | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -diff --git a/3rd_party/include/opentracing/expected/expected.hpp b/3rd_party/include/opentracing/expected/expected.hpp -index 8283a77..0d21d43 100644 ---- a/3rd_party/include/opentracing/expected/expected.hpp -+++ b/3rd_party/include/opentracing/expected/expected.hpp -@@ -778,13 +778,13 @@ class expected - // expected())),E> map(F&& func) ; - - // template --// see below bind(F&& func); -+// 'see below' bind(F&& func); - - // template - // expected catch_error(F&& f); - - // template --// see below then(F&& func); -+// 'see below' then(F&& func); - - private: - bool has_value_; -@@ -955,9 +955,9 @@ class expected - return ! has_value() && std::is_base_of< Ex, decltype( get_unexpected().value() ) >::value; - } - --// template constexpr see below unwrap() const&; -+// template constexpr 'see below' unwrap() const&; - // --// template see below unwrap() &&; -+// template 'see below' unwrap() &&; - - // factories - -@@ -968,13 +968,13 @@ class expected - // expected map(F&& func) ; - // - // template --// see below bind(F&& func) ; -+// 'see below' bind(F&& func) ; - // - // template - // expected catch_error(F&& f); - // - // template --// see below then(F&& func); -+// 'see below' then(F&& func); - - private: - bool has_value_; diff --git a/ports/opentracing/vcpkg.json b/ports/opentracing/vcpkg.json index d61870038912f7..707e2f9c001c51 100644 --- a/ports/opentracing/vcpkg.json +++ b/ports/opentracing/vcpkg.json @@ -1,8 +1,19 @@ { "name": "opentracing", - "version-string": "1.6.0", - "port-version": 1, + "version": "1.6.0", + "port-version": 4, "description": "C++ implementation of the OpenTracing API", "homepage": "https://opentracing.io", - "supports": "!uwp" + "license": "Apache-2.0", + "supports": "!uwp", + "dependencies": [ + { + "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..125d3e127ced5f --- /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 1247591893..c12e423892 100644 +--- a/lib/OpenTURNSConfig.cmake.in ++++ b/lib/OpenTURNSConfig.cmake.in +@@ -74,6 +74,17 @@ if ("1" STREQUAL "@HMAT_FOUND@") + find_package (HMAT REQUIRED NO_MODULE PATHS ${HMAT_DIR} NO_DEFAULT_PATH) + 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) ++ + # 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 new file mode 100644 index 00000000000000..c8a6954f13efd2 --- /dev/null +++ b/ports/openturns/link-gmp.patch @@ -0,0 +1,15 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e13414978..77ecf3e9e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -303,6 +303,10 @@ if (USE_BOOST) + list (APPEND OPENTURNS_PRIVATE_LIBRARIES ${MPC_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}) ++ endif() + list (APPEND OPENTURNS_PRIVATE_INCLUDE_DIRS ${Boost_INCLUDE_DIRS}) + endif () + endif () diff --git a/ports/openturns/portfile.cmake b/ports/openturns/portfile.cmake new file mode 100644 index 00000000000000..9f87094cfb7c0f --- /dev/null +++ b/ports/openturns/portfile.cmake @@ -0,0 +1,68 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO openturns/openturns + REF ad8482ece23d98802edc6258683e8353f9ff8b08 + SHA512 b0bc88bcf54945b5e786b480e640ee182926c75f1d871f70690d9609c98745b1907b3d9184c07586591fa45238c837da5a893a00d9c576a9e10232bcc9adc593 + 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(PREPEND "${FLEX_DIR}") +vcpkg_find_acquire_program(BISON) +get_filename_component(BISON_DIR "${BISON}" DIRECTORY) +vcpkg_add_to_path(PREPEND "${BISON_DIR}") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} + -DBUILD_PYTHON:BOOL=OFF # Requires additional python modules + -DUSE_BOOST:BOOL=ON # Required to make the distributions cross platform + -DUSE_DOXYGEN:BOOL=OFF + -DUSE_OPENMP:BOOL=OFF + -DCMAKE_REQUIRE_FIND_PACKAGE_Spectra:BOOL=ON + -DCMAKE_REQUIRE_FIND_PACKAGE_Eigen3:BOOL=ON + -DCMAKE_DISABLE_FIND_PACKAGE_primesieve:BOOL=ON + -DCMAKE_REQUIRE_FIND_PACKAGE_BISON:BOOL=ON + -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 + -DCMAKE_REQUIRE_FIND_PACKAGE_MPC:BOOL=ON + -DCMAKE_REQUIRE_FIND_PACKAGE_NLopt:BOOL=ON + -DCMAKE_REQUIRE_FIND_PACKAGE_dlib:BOOL=ON + -DCMAKE_REQUIRE_FIND_PACKAGE_Ceres:BOOL=ON + -DCMAKE_REQUIRE_FIND_PACKAGE_CMinpack:BOOL=ON + -DCMAKE_DISABLE_FIND_PACKAGE_Bonmin:BOOL=ON + -DCMAKE_DISABLE_FIND_PACKAGE_Ipopt:BOOL=ON + -DCMAKE_REQUIRE_FIND_PACKAGE_Pagmo:BOOL=ON +) + +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") + +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") +file(REMOVE "${CURRENT_PACKAGES_DIR}/include/pthread.h" + "${CURRENT_PACKAGES_DIR}/include/semaphore.h" + "${CURRENT_PACKAGES_DIR}/include/unistd.h") + +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}") diff --git a/ports/openturns/reorder-mpc.patch b/ports/openturns/reorder-mpc.patch new file mode 100644 index 00000000000000..1d1d4672ed4cbc --- /dev/null +++ b/ports/openturns/reorder-mpc.patch @@ -0,0 +1,34 @@ +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/usage b/ports/openturns/usage new file mode 100644 index 00000000000000..6ccd5926bdccfe --- /dev/null +++ b/ports/openturns/usage @@ -0,0 +1,4 @@ +openturns provides CMake targets: + + find_package(OpenTURNS CONFIG REQUIRED) + target_link_libraries(main PRIVATE OT) diff --git a/ports/openturns/vcpkg.json b/ports/openturns/vcpkg.json new file mode 100644 index 00000000000000..73c5de2ebf08d9 --- /dev/null +++ b/ports/openturns/vcpkg.json @@ -0,0 +1,47 @@ +{ + "name": "openturns", + "version": "1.20", + "port-version": 2, + "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-multiprecision", + "boost-random", + "ceres", + "cminpack", + "dlib", + "exprtk", + { + "name": "hdf5", + "default-features": false, + "features": [ + "cpp" + ] + }, + "lapack", + "libxml2", + "mpc", + "mpfr", + "muparser", + "nlopt", + "pagmo2", + "pthread", + "python3", + { + "name": "python3", + "host": true + }, + "spectra", + "tbb", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/openvdb/0003-fix-cmake.patch b/ports/openvdb/0003-fix-cmake.patch deleted file mode 100644 index 5db8cdde9ede53..00000000000000 --- a/ports/openvdb/0003-fix-cmake.patch +++ /dev/null @@ -1,129 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 3456346..f7e5796 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -354,13 +354,9 @@ endif() - - 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 1dc5bc0..d84d8f1 100644 ---- a/cmake/FindOpenVDB.cmake -+++ b/cmake/FindOpenVDB.cmake -@@ -457,7 +457,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 -@@ -607,7 +607,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) -@@ -619,7 +619,7 @@ if(OpenVDB_USES_LOG4CPLUS) - endif() - - if(OpenVDB_USES_IMATH_HALF) -- find_package(IlmBase REQUIRED COMPONENTS Half) -+ find_package(IlmBase CONFIG REQUIRED) - if(WIN32) - # @note OPENVDB_OPENEXR_STATICLIB is old functionality and should be removed - if(OPENEXR_USE_STATIC_LIBS OR (${ILMBASE_LIB_TYPE} STREQUAL STATIC_LIBRARY)) -@@ -664,7 +664,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 88543df..92efaee 100644 ---- a/openvdb/openvdb/CMakeLists.txt -+++ b/openvdb/openvdb/CMakeLists.txt -@@ -120,7 +120,7 @@ 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) - message(DEPRECATION "Support for TBB versions < ${FUTURE_MINIMUM_TBB_VERSION} " -@@ -129,7 +129,7 @@ if(OPENVDB_FUTURE_DEPRECATION AND FUTURE_MINIMUM_TBB_VERSION) - endif() - - if(USE_IMATH_HALF) -- 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} " -@@ -145,14 +145,7 @@ endif() - - if(USE_BLOSC) - # Find Blosc libraries -- find_package(Blosc ${MINIMUM_BLOSC_VERSION} REQUIRED) -- if(Blosc_FOUND AND Blosc_VERSION VERSION_GREATER MINIMUM_BLOSC_VERSION) -- message(WARNING "The version of Blosc located is greater than ${MINIMUM_BLOSC_VERSION}. " -- "There have been reported issues with using later versions of Blosc with OpenVDB. " -- "OpenVDB has been tested fully against Blosc ${MINIMUM_BLOSC_VERSION}, it is " -- "recommended that you use this version where possible." -- ) -- 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 " -@@ -215,7 +208,7 @@ endif() - # See FindOpenVDB.cmake - - if(USE_BLOSC) -- list(APPEND OPENVDB_CORE_DEPENDENT_LIBS Blosc::blosc) -+ list(APPEND OPENVDB_CORE_DEPENDENT_LIBS blosc) - endif() - - if(USE_BLOSC OR USE_ZLIB) -diff --git a/openvdb/openvdb/cmd/CMakeLists.txt b/openvdb/openvdb/cmd/CMakeLists.txt -index 8d9c375..14e1296 100644 ---- a/openvdb/openvdb/cmd/CMakeLists.txt -+++ b/openvdb/openvdb/cmd/CMakeLists.txt -@@ -46,7 +46,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() - -@@ -116,8 +116,8 @@ endif() - #### vdb_render - - if(OPENVDB_BUILD_VDB_RENDER) -- find_package(IlmBase ${MINIMUM_ILMBASE_VERSION} REQUIRED COMPONENTS Half Iex IlmThread Imath) -- find_package(OpenEXR ${MINIMUM_OPENEXR_VERSION} REQUIRED COMPONENTS IlmImf) -+ find_package(IlmBase CONFIG REQUIRED) -+ find_package(OpenEXR CONFIG REQUIRED) - - set(VDB_RENDER_SOURCE_FILES openvdb_render.cc) - add_executable(vdb_render ${VDB_RENDER_SOURCE_FILES}) 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/portfile.cmake b/ports/openvdb/portfile.cmake index 116cbb34b50913..dee9a44d43ba3f 100644 --- a/ports/openvdb/portfile.cmake +++ b/ports/openvdb/portfile.cmake @@ -1,45 +1,46 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO AcademySoftwareFoundation/openvdb - REF ea786c46b7a1b5158789293d9b148b379fc9914c # v8.1.0 - SHA512 3c4ab3db35b3eb019149ac455f0c7a262081e9866b7e49eaba05424bf837debccf0c987c2555d3c91a2cff2d1ba4b41862f544fd4684558f3a319616ef3c9eb3 - HEAD_REF master + REF "v${VERSION}" + SHA512 7ea2997afa99ed1ed23422eb8b8420c7127c913432f94043ccf559b6720bba2f6e19376e955d8d9055ab765a821749936966f6e5925b9d36febaa724d866b90a PATCHES - 0003-fix-cmake.patch + fix_cmake.patch ) -file(REMOVE ${SOURCE_PATH}/cmake/FindTBB.cmake) -file(REMOVE ${SOURCE_PATH}/cmake/FindIlmBase.cmake) -file(REMOVE ${SOURCE_PATH}/cmake/FindBlosc.cmake) -file(REMOVE ${SOURCE_PATH}/cmake/FindOpenEXR.cmake) +file(REMOVE "${SOURCE_PATH}/cmake/FindTBB.cmake") +file(REMOVE "${SOURCE_PATH}/cmake/FindIlmBase.cmake") +file(REMOVE "${SOURCE_PATH}/cmake/FindBlosc.cmake") +file(REMOVE "${SOURCE_PATH}/cmake/FindOpenEXR.cmake") string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" OPENVDB_STATIC) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" OPENVDB_SHARED) -set(OPENVDB_BUILD_TOOLS OFF) -if ("tools" IN_LIST FEATURES) - if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - set(OPENVDB_BUILD_TOOLS ON) - else() - message(FATAL_ERROR "Unable to build tools if static libraries are required") - endif() -endif() +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + "tools" OPENVDB_BUILD_TOOLS + "ax" OPENVDB_BUILD_AX + "nanovdb" OPENVDB_BUILD_NANOVDB +) -if ("ax" IN_LIST FEATURES) - if(NOT VCPKG_TARGET_IS_WINDOWS) - set(OPENVDB_BUILD_AX ON) - else() - message(FATAL_ERROR "Currently no support for building OpenVDB AX on Windows.") - endif() +if (OPENVDB_BUILD_NANOVDB) + set(NANOVDB_OPTIONS + -DNANOVDB_BUILD_TOOLS=OFF + -DNANOVDB_USE_INTRINSICS=ON + -DNANOVDB_USE_CUDA=ON + -DNANOVDB_CUDA_KEEP_PTX=ON + -DNANOVDB_USE_OPENVDB=ON +) endif() vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DOPENVDB_BUILD_UNITTESTS=OFF -DOPENVDB_BUILD_PYTHON_MODULE=OFF - -DOPENVDB_ENABLE_3_ABI_COMPATIBLE=OFF - -DUSE_GLFW3=ON + -DOPENVDB_3_ABI_COMPATIBLE=OFF + -DUSE_EXR=ON + -DUSE_IMATH_HALF=ON -DOPENVDB_CORE_STATIC=${OPENVDB_STATIC} -DOPENVDB_CORE_SHARED=${OPENVDB_SHARED} -DOPENVDB_BUILD_VDB_PRINT=${OPENVDB_BUILD_TOOLS} @@ -47,7 +48,12 @@ vcpkg_cmake_configure( -DOPENVDB_BUILD_VDB_RENDER=${OPENVDB_BUILD_TOOLS} -DOPENVDB_BUILD_VDB_LOD=${OPENVDB_BUILD_TOOLS} -DUSE_PKGCONFIG=OFF - ${OPENVDB_BUILD_AX} + ${FEATURE_OPTIONS} + -DUSE_EXPLICIT_INSTANTIATION=OFF + ${NANOVDB_OPTIONS} + MAYBE_UNUSED_VARIABLES + OPENVDB_3_ABI_COMPATIBLE + OPENVDB_BUILD_TOOLS ) vcpkg_cmake_install() @@ -64,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 242f3f46ea5d98..0e1eb083862cf5 100644 --- a/ports/openvdb/vcpkg.json +++ b/ports/openvdb/vcpkg.json @@ -1,8 +1,10 @@ { "name": "openvdb", - "version": "8.1.0", + "version": "12.0.0", "description": "Sparse volume data structure and tools", "homepage": "https://github.com/dreamworksanimation/openvdb", + "license": "MPL-2.0", + "supports": "!xbox", "dependencies": [ "blosc", "boost-any", @@ -13,7 +15,7 @@ "boost-system", "boost-thread", "boost-uuid", - "ilmbase", + "imath", "openexr", "tbb", { @@ -27,7 +29,20 @@ ], "features": { "ax": { - "description": "Provides a powerful and easy way of interacting with OpenVDB volume and point data." + "description": "Provides a powerful and easy way of interacting with OpenVDB volume and point data.", + "supports": "!windows", + "dependencies": [ + { + "name": "llvm", + "default-features": false + } + ] + }, + "nanovdb": { + "description": "A lightweight GPU friendly version of VDB initially targeting rendering applications", + "dependencies": [ + "cuda" + ] }, "tools": { "description": "OpenVDB utilities: view, print and render", diff --git a/ports/openvino/001-disable-tools.patch b/ports/openvino/001-disable-tools.patch new file mode 100644 index 00000000000000..3f5295dd27626f --- /dev/null +++ b/ports/openvino/001-disable-tools.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e4d31492a4..38c009b3cb 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -161,7 +161,7 @@ endif() + + include(cmake/extra_modules.cmake) + add_subdirectory(docs) +-add_subdirectory(tools) ++# add_subdirectory(tools) + add_subdirectory(scripts) + add_subdirectory(licensing) + diff --git a/ports/openvino/002-fix-onnx.patch b/ports/openvino/002-fix-onnx.patch new file mode 100644 index 00000000000000..7fdbc006a6f0f8 --- /dev/null +++ b/ports/openvino/002-fix-onnx.patch @@ -0,0 +1,26 @@ +diff --git a/src/frontends/onnx/onnx_common/CMakeLists.txt b/src/frontends/onnx/onnx_common/CMakeLists.txt +index d63bce4..116a6e3 100644 +--- a/src/frontends/onnx/onnx_common/CMakeLists.txt ++++ b/src/frontends/onnx/onnx_common/CMakeLists.txt +@@ -30,7 +30,7 @@ target_include_directories(${TARGET_NAME} + + target_link_libraries(${TARGET_NAME} PRIVATE openvino::runtime openvino::util) + +-ov_link_system_libraries(${TARGET_NAME} PUBLIC onnx_proto onnx) ++ov_link_system_libraries(${TARGET_NAME} PUBLIC ONNX::onnx ONNX::onnx_proto) + + ov_add_clang_format_target(${TARGET_NAME}_clang FOR_TARGETS ${TARGET_NAME}) + +diff --git a/thirdparty/dependencies.cmake b/thirdparty/dependencies.cmake +index 24c4940..8ea7d12 100644 +--- a/thirdparty/dependencies.cmake ++++ b/thirdparty/dependencies.cmake +@@ -479,7 +479,7 @@ endif() + # + + if(ENABLE_OV_ONNX_FRONTEND) +- find_package(ONNX 1.15.0 QUIET COMPONENTS onnx onnx_proto NO_MODULE) ++ find_package(ONNX CONFIG REQUIRED) + + if(ONNX_FOUND) + # conan and vcpkg create imported targets 'onnx' and 'onnx_proto' diff --git a/ports/openvino/003-protobuf.patch b/ports/openvino/003-protobuf.patch new file mode 100644 index 00000000000000..949595a15feef3 --- /dev/null +++ b/ports/openvino/003-protobuf.patch @@ -0,0 +1,13 @@ +diff --git a/thirdparty/dependencies.cmake b/thirdparty/dependencies.cmake +index 9d7b16aeb8..af47fb99ee 100644 +--- a/thirdparty/dependencies.cmake ++++ b/thirdparty/dependencies.cmake +@@ -325,7 +325,7 @@ if(ENABLE_OV_PADDLE_FRONTEND OR ENABLE_OV_ONNX_FRONTEND OR ENABLE_OV_TF_FRONTEND + # 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 CONFIG) ++ find_package(Protobuf REQUIRED CONFIG) + if(Protobuf_FOUND) + # protobuf was found via CONFIG mode, let's save it for later usage in OpenVINOConfig.cmake static build + set(protobuf_config CONFIG) diff --git a/ports/openvino/portfile.cmake b/ports/openvino/portfile.cmake new file mode 100644 index 00000000000000..5d2c1b3dc9a2ef --- /dev/null +++ b/ports/openvino/portfile.cmake @@ -0,0 +1,162 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO openvinotoolkit/openvino + REF "${VERSION}" + SHA512 2bf3f00589d825b7f4ca40d43129d81af4ba62382f98b283a3a206e7661a7a69f178c6afafdde646db8d68cb7fc54ec5280d2f4ff4fbbffe24082cf6649dda29 + HEAD_REF master + PATCHES + # vcpkg specific patch, because OV creates a file in source tree, which is prohibited + 001-disable-tools.patch + 002-fix-onnx.patch + 003-protobuf.patch +) + +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 + ir ENABLE_OV_IR_FRONTEND + onnx ENABLE_OV_ONNX_FRONTEND + paddle ENABLE_OV_PADDLE_FRONTEND + pytorch ENABLE_OV_PYTORCH_FRONTEND + tensorflow ENABLE_OV_TF_FRONTEND + tensorflow-lite ENABLE_OV_TF_LITE_FRONTEND +) + +if(ENABLE_INTEL_GPU) + # python is required for conversion of OpenCL source files into .cpp. + vcpkg_find_acquire_program(PYTHON3) + + # 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 4ccd07e3a10e1c08075cf824ac14708245fbc334 + SHA512 c9a28f8427b5cd9c057a546b0b62303026f848045b26e0c9705e2f64d5bc84424ee15935d3bf5ee120d3c430a9dd41b7a6e26ef4fc0c53a2154ce83fcaee8b5a + ) + file(COPY "${DEP_SOURCE_PATH}/" DESTINATION "${SOURCE_PATH}/src/plugins/intel_gpu/thirdparty/onednn_gpu") + + list(APPEND FEATURE_OPTIONS + "-DENABLE_SYSTEM_OPENCL=ON" + "-DPython3_EXECUTABLE=${PYTHON3}") +endif() + +if(ENABLE_INTEL_CPU) + vcpkg_from_github( + OUT_SOURCE_PATH DEP_SOURCE_PATH + REPO openvinotoolkit/oneDNN + REF c8ae8d96e963bd04214858319fa334968e5e73c9 + SHA512 6877ca37c3678e738fa94767b70432d3fff73305342164d0902875d9bcce3fe12abaf52bfc6ae0ef288532324e746b01e604ab7e47f198e7776352b8f5b6f009 + ) + 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 d1bc25ec4660cddd87804fcf03b2411b5dfb2e94 + SHA512 8d6dd319924135b7b22940d623305bf200b812ae64cde79000709de4fad429fbd43794301ef16e6f10ed7132777b7a73e9f30ecae7c030aea80d57d7c0ce4500 + ) + file(COPY "${DEP_SOURCE_PATH}/" DESTINATION "${SOURCE_PATH}/src/plugins/intel_cpu/thirdparty/mlas") + + if(VCPKG_TARGET_ARCHITECTURE MATCHES "arm") + # scons (python tool) is required for ARM Compute Library building + vcpkg_find_acquire_program(PYTHON3) + + x_vcpkg_get_python_packages( + PYTHON_VERSION 3 + PYTHON_EXECUTABLE ${PYTHON3} + PACKAGES scons + OUT_PYTHON_VAR OV_PYTHON_WITH_SCONS + ) + + vcpkg_from_github( + OUT_SOURCE_PATH DEP_SOURCE_PATH + REPO ARM-software/ComputeLibrary + REF v24.08 + SHA512 82debaf8d8345b79b112afdabf6019c7ad8a9b30161d3061320a3da3040b2ad49153cc508caafe9fb1182c2669c958785acf2c361382080af273465d1727a71c + ) + 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") + vcpkg_from_github( + OUT_SOURCE_PATH DEP_SOURCE_PATH + REPO oneapi-src/level-zero + REF v1.17.6 + SHA512 bb412e875d97d1c80a0e67087e6dac1a6ffb91fa50e22deb7649ee3250c0937679d225419b52bfd7938f71a66ac15742a6a215cee7714c27e0f935e04df5b88e + ) + file(COPY "${DEP_SOURCE_PATH}/" DESTINATION "${SOURCE_PATH}/src/plugins/intel_npu/thirdparty/level-zero") + + vcpkg_from_github( + OUT_SOURCE_PATH DEP_SOURCE_PATH + REPO intel/level-zero-npu-extensions + REF 16c85231a82ee1a0b06ed7ab7da3f411a0878ed7 + SHA512 983468c7706dc44cfc248c491cf51d2f69181c16ae1e400ca689df39c51112e03227c2f311173b1665115cdd33fa7d51d48e75adaf8353564a980b37c16aaa66 + ) + 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() + +if(ENABLE_OV_TF_FRONTEND) + list(APPEND FEATURE_OPTIONS "-DENABLE_SYSTEM_SNAPPY=ON") +endif() + +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} + "-DCMAKE_DISABLE_FIND_PACKAGE_OpenCV=ON" + "-DCPACK_GENERATOR=VCPKG" + "-DENABLE_CLANG_FORMAT=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" + "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}" +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup() + +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright( + FILE_LIST + "${SOURCE_PATH}/LICENSE" + "${SOURCE_PATH}/licensing/third-party-programs.txt" + "${SOURCE_PATH}/licensing/onednn_third-party-programs.txt" + "${SOURCE_PATH}/licensing/runtime-third-party-programs.txt" + COMMENT + "OpenVINO License") + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/openvino/usage b/ports/openvino/usage new file mode 100644 index 00000000000000..87db5b1e28a66b --- /dev/null +++ b/ports/openvino/usage @@ -0,0 +1,4 @@ +openvino provides CMake targets: + + find_package(OpenVINO REQUIRED) + target_link_libraries(main PRIVATE openvino::runtime) diff --git a/ports/openvino/vcpkg.json b/ports/openvino/vcpkg.json new file mode 100644 index 00000000000000..cecc27d3ba0bc7 --- /dev/null +++ b/ports/openvino/vcpkg.json @@ -0,0 +1,156 @@ +{ + "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json", + "name": "openvino", + "version": "2024.4.0", + "port-version": 3, + "maintainers": "OpenVINO Developers ", + "summary": "This is a port for Open Visual Inference And Optimization toolkit for AI inference", + "description": [ + "Intel® Distribution of OpenVINO™ toolkit is an open-source toolkit for optimizing ", + "and deploying AI inference. It can be used to develop applications and solutions based ", + "on deep learning tasks, such as: emulation of human vision, automatic speech recognition, ", + "natural language processing, recommendation systems, etc. It provides high-performance ", + "and rich deployment options, from edge to cloud" + ], + "homepage": "https://github.com/openvinotoolkit/openvino", + "documentation": "https://docs.openvino.ai/latest/index.html", + "license": "Apache-2.0", + "supports": "!uwp & !x86 & !(android & arm32)", + "dependencies": [ + "pugixml", + { + "name": "tbb", + "version>=": "2021.10.0#2" + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + { + "name": "vcpkg-get-python-packages", + "host": true + }, + { + "name": "xbyak", + "platform": "!(arm | uwp)", + "version>=": "6.69" + } + ], + "default-features": [ + "auto", + "auto-batch", + { + "name": "cpu", + "platform": "!(windows & arm)" + }, + { + "name": "gpu", + "platform": "x64 & !(osx | uwp)" + }, + "hetero", + "ir", + "onnx", + "paddle", + "pytorch", + "tensorflow", + "tensorflow-lite" + ], + "features": { + "auto": { + "description": "Enables Auto plugin for inference" + }, + "auto-batch": { + "description": "Enables Auto Batch plugin for inference, useful for throughput mode" + }, + "cpu": { + "description": "Enables CPU plugin for inference", + "supports": "!(windows & arm)" + }, + "gpu": { + "description": "Enables GPU plugin for inference", + "supports": "x64 & !(osx | uwp)", + "dependencies": [ + "opencl", + "rapidjson" + ] + }, + "hetero": { + "description": "Enables Hetero plugin for inference" + }, + "ir": { + "description": "Enables IR frontend for reading models in OpenVINO IR format" + }, + "npu": { + "description": "NPU Support", + "supports": "x64 & !(osx | uwp) & !static" + }, + "onnx": { + "description": "Enables ONNX frontend for reading models in ONNX format", + "dependencies": [ + { + "name": "onnx", + "version>=": "1.13.1" + }, + { + "name": "protobuf", + "version>=": "3.21.2" + }, + { + "name": "protobuf", + "host": true, + "version>=": "3.21.2" + } + ] + }, + "paddle": { + "description": "Enables PaddlePaddle frontend for reading models in PaddlePaddle format", + "dependencies": [ + { + "name": "protobuf", + "version>=": "3.21.2" + }, + { + "name": "protobuf", + "host": true, + "version>=": "3.21.2" + } + ] + }, + "pytorch": { + "description": "Enables PyTorch frontend to convert models in PyTorch format" + }, + "tensorflow": { + "description": "Enables TensorFlow frontend for reading models in TensorFlow format", + "dependencies": [ + { + "name": "protobuf", + "version>=": "3.21.2" + }, + { + "name": "protobuf", + "host": true, + "version>=": "3.21.2" + }, + "snappy" + ] + }, + "tensorflow-lite": { + "description": "Enables TensorFlow Lite frontend for reading models in TensorFlow Lite format", + "dependencies": [ + { + "name": "flatbuffers", + "version>=": "2.0.6" + }, + { + "name": "flatbuffers", + "host": true, + "version>=": "2.0.6" + } + ] + } + } +} diff --git a/ports/openvpn3/CMakeLists.txt b/ports/openvpn3/CMakeLists.txt deleted file mode 100644 index 58514cbb08402e..00000000000000 --- a/ports/openvpn3/CMakeLists.txt +++ /dev/null @@ -1,34 +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}) - -install( - TARGETS ovpncli - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib -) - -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 e638f1a42c1aff..ec2e13e81274e5 100644 --- a/ports/openvpn3/portfile.cmake +++ b/ports/openvpn3/portfile.cmake @@ -1,26 +1,37 @@ -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.4.1 - SHA512 2d0a7d2d48047c969ba1cb49b34d51c85dd82ae97296d7c096ead13a8e7cc69fa3908262228e29d93f60b7273814d8ef5a402a5d401cd7f91370868d5d308678 + REF "release/${VERSION}" + SHA512 f096644078c10022685c1a8f7e0afddf352b4a5c229a772d24adbc6ec3f44e27501beabd28c4da1b6b182ae9d220b80865757693d52d085817d42f2322b71213 HEAD_REF master + PATCHES + dependencies.diff + mbedtls-compat.diff + only-library.diff ) +file(REMOVE_RECURSE "${SOURCE_PATH}/deps") -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +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_install_cmake() +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}/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/*) +file(GLOB_RECURSE HEADERS "${CURRENT_PACKAGES_DIR}/include/openvpn/*") foreach(HEADER IN LISTS HEADERS) file(READ "${HEADER}" _contents) string(REPLACE "defined(USE_ASIO)" "1" _contents "${_contents}") @@ -30,6 +41,9 @@ foreach(HEADER IN LISTS HEADERS) file(WRITE "${HEADER}" "${_contents}") endforeach() -file(INSTALL - ${SOURCE_PATH}/COPYRIGHT.AGPLV3 - DESTINATION ${CURRENT_PACKAGES_DIR}/share/openvpn3 RENAME copyright) +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") +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 ea718ed621af0e..87dcb6280804b7 100644 --- a/ports/openvpn3/vcpkg.json +++ b/ports/openvpn3/vcpkg.json @@ -1,14 +1,26 @@ { "name": "openvpn3", - "version-string": "3.4.1", - "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-only", + "supports": "!uwp & !xbox", "dependencies": [ "asio", + "lz4", "mbedtls", { "name": "tap-windows6", "platform": "windows" + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true } ] } diff --git a/ports/openvr/portfile.cmake b/ports/openvr/portfile.cmake index 9b4b3d6505276c..d54eb76696ecb9 100644 --- a/ports/openvr/portfile.cmake +++ b/ports/openvr/portfile.cmake @@ -1,11 +1,10 @@ -vcpkg_fail_port_install(ON_ARCH "arm" ON_TARGET "uwp" "osx") vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ValveSoftware/openvr - REF 4c85abcb7f7f1f02adaf3812018c99fc593bc341 # v1.16.8 - SHA512 366e553e6c9caa2bf884caf41b29a7ae6bdad165aeb56ea469625dc963bd91fd8423e753d07a28f8b6a69eed3939ba5a5e4fb0f84b52074bf6279b510e66f793 + REF v2.5.1 + SHA512 e224737e75f21ec074ca8450a1f1d81764aafeec924cc92a3f5571efc466d74280cb59b0ddfcd251431165ffbfae8aa0c8afe94144fe1c9106a3aa4c2761f3dc HEAD_REF master ) diff --git a/ports/openvr/vcpkg.json b/ports/openvr/vcpkg.json index 3a3b00bab4d153..14715032581bbf 100644 --- a/ports/openvr/vcpkg.json +++ b/ports/openvr/vcpkg.json @@ -1,8 +1,8 @@ { "name": "openvr", - "version-string": "1.16.8", - "port-version": 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.", + "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", "supports": "!(arm | uwp | osx | android)" } 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 new file mode 100644 index 00000000000000..5d77cb4e461a0f --- /dev/null +++ b/ports/openxr-loader/fix-jinja2.patch @@ -0,0 +1,23 @@ +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 24e6b5149be0ee..bf915949a1a71b 100644 --- a/ports/openxr-loader/fix-openxr-sdk-jsoncpp.patch +++ b/ports/openxr-loader/fix-openxr-sdk-jsoncpp.patch @@ -2,7 +2,7 @@ diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index c75b145..386494c 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt -@@ -66,7 +66,7 @@ if(NOT VULKAN_INCOMPATIBLE) +@@ -89,7 +89,7 @@ if(NOT VULKAN_INCOMPATIBLE) endif() find_package(Threads REQUIRED) @@ -15,7 +15,7 @@ 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 -@@ -67,7 +67,11 @@ add_library(openxr_loader ${LIBRARY_TYPE} +@@ -68,7 +68,11 @@ add_library(openxr_loader ${LIBRARY_TYPE} ${openxr_loader_RESOURCE_FILE} ) if(BUILD_WITH_SYSTEM_JSONCPP) diff --git a/ports/openxr-loader/portfile.cmake b/ports/openxr-loader/portfile.cmake index c3046fdf9c7083..4d1127e56e6e6b 100644 --- a/ports/openxr-loader/portfile.cmake +++ b/ports/openxr-loader/portfile.cmake @@ -1,10 +1,9 @@ -vcpkg_fail_port_install(ON_ARCH "arm" ON_TARGET "uwp") vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KhronosGroup/OpenXR-SDK - REF 960c4a6aa8cc9f47e357c696b5377d817550bf88 - SHA512 515494520a31491587418ab6cb1b28333481e0a20cb25d3f9bc875ac211faf1636641afdfee2ecdf816ea1222305ea52565992953b3bab68fffe40fa25e23145 + REF "release-${VERSION}" + SHA512 6efc7596e707f95366dbcdbac9bd7d0c20735a2175b4edf56a9e8a112cf0ab8b664069fe942313164a37119032ddbf5671bc88ab5f276005dd36e4a4dabba1c7 HEAD_REF master PATCHES fix-openxr-sdk-jsoncpp.patch @@ -13,25 +12,26 @@ vcpkg_from_github( vcpkg_from_github( OUT_SOURCE_PATH SDK_SOURCE_PATH REPO KhronosGroup/OpenXR-SDK-Source - REF 09cbbc9d3bc540a53d5f2d76b8074ddc0b96e933 - SHA512 1fc777d7aaea585dd8e9f9ac60a71a7eb55017183f33e51f987b94af6bba8d7808771abf9fc377c6e2b613f282db08a095595b4bc6899d4eaa6eabb45405dc1b + REF "release-${VERSION}" + SHA512 04bdb0f16078209b5edd175a3396f70e1ceb8cfa382c65b8fda388e565480e3844daf68e0d987e72ed8c21d3148af0b41a2170911ec1660565887e0e5ae6d2bf HEAD_REF master PATCHES fix-openxr-sdk-jsoncpp.patch + fix-jinja2.patch ) vcpkg_from_github( OUT_SOURCE_PATH HPP_SOURCE_PATH REPO KhronosGroup/OpenXR-hpp - REF 6fcea9e472622c9c7f4df0b5f0bfe7ff5d8553f7 - SHA512 04d1f9db6fd0a01cdf3274089ab17bf17974ff799b4690561c16067e83710e1422a2aefd070b26023ff832eb58e6a3365297a818c9546ea4c531328bd1fb2de4 + 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 +# 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) @@ -44,39 +44,36 @@ endif() vcpkg_find_acquire_program(PYTHON3) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_API_LAYERS=OFF -DBUILD_TESTS=OFF -DBUILD_CONFORMANCE_TESTS=OFF -DDYNAMIC_LOADER=${DYNAMIC_LOADER} - -DPYTHON_EXECUTABLE=${PYTHON3} + -DPYTHON_EXECUTABLE="${PYTHON3}" -DBUILD_WITH_SYSTEM_JSONCPP=ON ) -vcpkg_install_cmake() +vcpkg_cmake_install() -# 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() +# Generate the OpenXR C++ bindings +set(ENV{OPENXR_REPO} "${SDK_SOURCE_PATH}") +vcpkg_execute_required_process( + COMMAND ${PYTHON3} "${HPP_SOURCE_PATH}/scripts/hpp_genxr.py" -quiet -registry "${SDK_SOURCE_PATH}/specification/registry/xr.xml" -o "${CURRENT_PACKAGES_DIR}/include/openxr" + WORKING_DIRECTORY "${HPP_SOURCE_PATH}" + LOGNAME "openxr-hpp" +) if(VCPKG_TARGET_IS_WINDOWS) - vcpkg_fixup_cmake_targets(CONFIG_PATH cmake TARGET_PATH share/OpenXR) -else(VCPKG_TARGET_IS_WINDOWS) - vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/openxr TARGET_PATH share/OpenXR) + vcpkg_cmake_config_fixup(PACKAGE_NAME OpenXR CONFIG_PATH cmake) +else() + vcpkg_cmake_config_fixup(PACKAGE_NAME OpenXR CONFIG_PATH lib/cmake/openxr) 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") +vcpkg_fixup_pkgconfig() vcpkg_copy_pdbs() -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) 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 43ca0e1907caf9..a45e3c9199ffda 100644 --- a/ports/openxr-loader/vcpkg.json +++ b/ports/openxr-loader/vcpkg.json @@ -1,11 +1,20 @@ { "name": "openxr-loader", - "version-string": "1.0.18", - "port-version": 2, - "description": "Khronos API for abstracting VR/MR/AR hardware", - "supports": "!(arm | uwp)", + "version": "1.0.31", + "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", "dependencies": [ - "jsoncpp" + "jsoncpp", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ], "features": { "vulkan": { diff --git a/ports/optimus-cpp/portfile.cmake b/ports/optimus-cpp/portfile.cmake new file mode 100644 index 00000000000000..4692f4f56ae92f --- /dev/null +++ b/ports/optimus-cpp/portfile.cmake @@ -0,0 +1,17 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO kafeg/optimus-cpp + REF 0.3.0 + SHA512 93abd13d4552a896f61e32dfebcc9037e7255f3fa86b230c03905df3148b9cc91cec772ec733e83fbcad574fd93fa4dadca9ec88b5836c5a4137d01e16580d6f + HEAD_REF main +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" +) + +vcpkg_cmake_install() +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/optimus-cpp/vcpkg.json b/ports/optimus-cpp/vcpkg.json new file mode 100644 index 00000000000000..2b8ee879d5077a --- /dev/null +++ b/ports/optimus-cpp/vcpkg.json @@ -0,0 +1,13 @@ +{ + "name": "optimus-cpp", + "version": "0.3.0", + "description": "ID hashing and Obfuscation using Knuth's Algorithm for C++", + "homepage": "https://github.com/kafeg/optimus-cpp", + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] +} diff --git a/ports/optional-bare/portfile.cmake b/ports/optional-bare/portfile.cmake index 6219df627627c4..f0f05668b3afce 100644 --- a/ports/optional-bare/portfile.cmake +++ b/ports/optional-bare/portfile.cmake @@ -5,25 +5,24 @@ vcpkg_from_github( SHA512 0eed103c4e909991b596c0cd23d6206662e3ca71cd8148e27c19d8e071c2a16e18cc940a6cd4f8571510f5e64577157f94c561fb889330bb7a868af64c2f3aa0 ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DOPTIONAL_BARE_OPT_BUILD_TESTS=OFF -DOPTIONAL_BARE_OPT_BUILD_EXAMPLES=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets( +vcpkg_cmake_config_fixup( CONFIG_PATH lib/cmake/${PORT} ) file(REMOVE_RECURSE - ${CURRENT_PACKAGES_DIR}/debug - ${CURRENT_PACKAGES_DIR}/lib + "${CURRENT_PACKAGES_DIR}/debug" + "${CURRENT_PACKAGES_DIR}/lib" ) file(INSTALL - ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright + "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright ) diff --git a/ports/optional-bare/vcpkg.json b/ports/optional-bare/vcpkg.json index 673d184acc268e..a358a79d846161 100644 --- a/ports/optional-bare/vcpkg.json +++ b/ports/optional-bare/vcpkg.json @@ -1,6 +1,16 @@ { "name": "optional-bare", - "version-string": "1.1.0", - "port-version": 1, - "description": "A simple version of a C++17-like optional for default-constructible, copyable types, for C++98 and later in a single-file header-only library" + "version": "1.1.0", + "port-version": 3, + "description": "A simple version of a C++17-like optional for default-constructible, copyable types, for C++98 and later in a single-file header-only library", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } 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/fix-pkgconfig-version.patch b/ports/opus/fix-pkgconfig-version.patch new file mode 100644 index 00000000000000..ef9f7229c4191f --- /dev/null +++ b/ports/opus/fix-pkgconfig-version.patch @@ -0,0 +1,15 @@ +diff --git a/cmake/OpusPackageVersion.cmake b/cmake/OpusPackageVersion.cmake +index 447ce3b..15ebd8e 100644 +--- a/cmake/OpusPackageVersion.cmake ++++ b/cmake/OpusPackageVersion.cmake +@@ -4,7 +4,9 @@ endif() + set(__opus_version INCLUDED) + + function(get_package_version PACKAGE_VERSION PROJECT_VERSION) +- ++ set(PACKAGE_VERSION "0" CACHE STRING "opus package version") ++ set(PROJECT_VERSION "0" CACHE STRING "opus project version") ++ return() + find_package(Git) + if(GIT_FOUND AND EXISTS "${CMAKE_CURRENT_LIST_DIR}/.git") + execute_process(COMMAND ${GIT_EXECUTABLE} diff --git a/ports/opus/portfile.cmake b/ports/opus/portfile.cmake index b2e1e3807b04ee..c3689a1d5400d9 100644 --- a/ports/opus/portfile.cmake +++ b/ports/opus/portfile.cmake @@ -1,43 +1,59 @@ vcpkg_from_github( - OUT_SOURCE_PATH - SOURCE_PATH - REPO - xiph/opus - REF - 5c94ec3205c30171ffd01056f5b4622b7c0ab54c - SHA512 - 2423b1fc86d5b46c32d8e3bde5fc2b410a5c25c001995ce234a94a3a6c7a8b1446fdf19eafe9d6a8a7356fe0857697053db5eb8380d18f8111818aa770b4c4ea - HEAD_REF - master) + OUT_SOURCE_PATH SOURCE_PATH + REPO xiph/opus + REF "v${VERSION}" + SHA512 4ffefd9c035671024f9720c5129bfe395dea04f0d6b730041c2804e89b1db6e4d19633ad1ae58855afc355034233537361e707f26dc53adac916554830038fab + HEAD_REF main + PATCHES fix-pkgconfig-version.patch +) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - avx AVX_SUPPORTED + FEATURES + avx2 AVX2_SUPPORTED ) +set(ADDITIONAL_OPUS_OPTIONS "") if(VCPKG_TARGET_IS_MINGW) - set(STACK_PROTECTOR OFF) - string(APPEND VCPKG_C_FLAGS "-D_FORTIFY_SOURCE=0") - string(APPEND VCPKG_CXX_FLAGS "-D_FORTIFY_SOURCE=0") + set(STACK_PROTECTOR OFF) + string(APPEND VCPKG_C_FLAGS "-D_FORTIFY_SOURCE=0") + string(APPEND VCPKG_CXX_FLAGS "-D_FORTIFY_SOURCE=0") + if(VCPKG_TARGET_ARCHITECTURE MATCHES "^(ARM|arm)64$") + 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() - set(STACK_PROTECTOR ON) + set(STACK_PROTECTOR ON) endif() -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${FEATURE_OPTIONS} - -DOPUS_STACK_PROTECTOR=${STACK_PROTECTOR} - PREFER_NINJA) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/Opus) + -DPACKAGE_VERSION=${VERSION} + -DOPUS_STACK_PROTECTOR=${STACK_PROTECTOR} + -DOPUS_INSTALL_PKG_CONFIG_MODULE=ON + -DOPUS_INSTALL_CMAKE_CONFIG_MODULE=ON + -DOPUS_BUILD_PROGRAMS=OFF + -DOPUS_BUILD_TESTING=OFF + ${ADDITIONAL_OPUS_OPTIONS} + MAYBE_UNUSED_VARIABLES + OPUS_USE_NEON + OPUS_DISABLE_INTRINSICS +) +vcpkg_cmake_install() vcpkg_copy_pdbs() + +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/Opus) vcpkg_fixup_pkgconfig(SYSTEM_LIBRARIES m) -file(INSTALL - ${SOURCE_PATH}/COPYING - DESTINATION - ${CURRENT_PACKAGES_DIR}/share/opus - RENAME copyright) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake - ${CURRENT_PACKAGES_DIR}/lib/cmake - ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/cmake" + "${CURRENT_PACKAGES_DIR}/lib/cmake" + "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/opus/vcpkg.json b/ports/opus/vcpkg.json index f1ea43d6952d02..574879eed651b8 100644 --- a/ports/opus/vcpkg.json +++ b/ports/opus/vcpkg.json @@ -1,12 +1,22 @@ { "name": "opus", - "version-string": "1.3.1", - "port-version": 6, + "version": "1.5.2", "description": "Totally open, royalty-free, highly versatile audio codec", "homepage": "https://github.com/xiph/opus", + "license": "BSD-3-Clause", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], "features": { - "avx": { - "description": "Builds the library with avx instruction set" + "avx2": { + "description": "Builds the library with avx2 instruction set" } } } diff --git a/ports/opusfile/CMakeLists.txt b/ports/opusfile/CMakeLists.txt deleted file mode 100644 index ecef1d01f8f0fe..00000000000000 --- a/ports/opusfile/CMakeLists.txt +++ /dev/null @@ -1,48 +0,0 @@ -cmake_minimum_required(VERSION 3.4) -project(opusfile C) - -if(MSVC) -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /wd4267 /wd4244 /wd4090") -endif() - -find_path(OGG_INCLUDE_DIR ogg/ogg.h) -find_library(OGG_LIBRARY ogg) - -find_path(OPUS_INCLUDE_DIR opus.h PATH_SUFFIXES opus) -find_library(OPUS_LIBRARY opus) - -add_library(opusfile - src/info.c - src/internal.c - src/opusfile.c - src/stream.c) - -target_include_directories(opusfile PRIVATE include PUBLIC ${OGG_INCLUDE_DIR} ${OPUS_INCLUDE_DIR}) -target_link_libraries(opusfile PRIVATE ${OGG_LIBRARY} ${OPUS_LIBRARY}) - -install(TARGETS opusfile - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib) - -if(BUILD_OPUSURL) - find_package(OpenSSL MODULE REQUIRED) - - add_library(opusurl - src/http.c - src/wincerts.c) - - target_compile_definitions(opusurl PRIVATE OP_ENABLE_HTTP) - target_include_directories(opusurl PRIVATE include) - target_link_libraries(opusurl PRIVATE opusfile OpenSSL::SSL ws2_32.lib crypt32.lib) - - install(TARGETS opusurl - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib) -endif() - -if(NOT OPUSFILE_SKIP_HEADERS) - install(FILES include/opusfile.h - DESTINATION include/opus) -endif() diff --git a/ports/opusfile/portfile.cmake b/ports/opusfile/portfile.cmake index ed687167c72668..bed5e96ee44cfd 100644 --- a/ports/opusfile/portfile.cmake +++ b/ports/opusfile/portfile.cmake @@ -1,38 +1,60 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore) - message(FATAL_ERROR "UWP builds not supported") -endif() - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO xiph/opusfile - REF a55c164e9891a9326188b7d4d216ec9a88373739 # v0.12 - SHA512 cfe90b63b8ec027caf6d472167aba863e62f02650245cf0e4d9a543bb565c9088d38b45f7dc2d42cdfcdac5397c3757f4377c24afee73cac52437c125830c411 + REF "9d718345ce03b2fad5d7d28e0bcd1cc69ab2b166" # https://github.com/xiph/opusfile/compare/v0.12...9d71834 + SHA512 17e323d6c031330f10b045a1438cd7ba44e2ac313ec7b3d69a8041dfa927c3f501d04246d974109fbd68dfa1a8d7b63584d96caed69ad5e38b68358aa35af65a HEAD_REF master) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(WRITE "${SOURCE_PATH}/package_version" "PACKAGE_VERSION=${VERSION}") -if("opusurl" IN_LIST FEATURES) - set(BUILD_OPUSURL ON) -else() - set(BUILD_OPUSURL OFF) -endif() +vcpkg_replace_string("${SOURCE_PATH}/cmake/OpusFileConfig.cmake.in" "opusfileTargets.cmake" "OpusFileTargets.cmake") -vcpkg_configure_cmake(SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + INVERTED_FEATURES + opusurl OP_DISABLE_HTTP +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DBUILD_OPUSURL=${BUILD_OPUSURL} - OPTIONS_DEBUG - -DOPUSFILE_SKIP_HEADERS=ON) + ${FEATURE_OPTIONS} + -DOP_DISABLE_DOCS=ON + -DOP_DISABLE_EXAMPLES=ON +) -vcpkg_install_cmake() +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/opusfile") vcpkg_copy_pdbs() +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +# Create the pkg-config files +set(prefix "") +set(exec_prefix "\${prefix}") +set(libdir "\${prefix}/lib") +set(includedir "\${prefix}/include") +set(PACKAGE_VERSION "${VERSION}") +set(lrintf_lib "") +configure_file("${SOURCE_PATH}/opusfile.pc.in" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/opusfile.pc" @ONLY) +if(NOT VCPKG_BUILD_TYPE) + configure_file("${SOURCE_PATH}/opusfile.pc.in" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/opusfile.pc" @ONLY) +endif() + +if(opusurl IN_LIST FEATURES) + set(openssl "openssl") + configure_file("${SOURCE_PATH}/opusurl.pc.in" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/opusurl.pc" @ONLY) + if(NOT VCPKG_BUILD_TYPE) + configure_file("${SOURCE_PATH}/opusurl.pc.in" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/opusurl.pc" @ONLY) + endif() +endif() + +vcpkg_fixup_pkgconfig() + # make includes work with MSBuild integration -file(READ ${CURRENT_PACKAGES_DIR}/include/opus/opusfile.h OPUSFILE_H) - string(REPLACE "# include " "# include \"opus_multistream.h\"" OPUSFILE_H "${OPUSFILE_H}") -file(WRITE ${CURRENT_PACKAGES_DIR}/include/opus/opusfile.h "${OPUSFILE_H}") +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/opus/opusfile.h" "# include " "# include \"opus_multistream.h\"") -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/opusfile) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/opusfile/COPYING ${CURRENT_PACKAGES_DIR}/share/opusfile/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/opusfile/usage b/ports/opusfile/usage new file mode 100644 index 00000000000000..f522f1e76e5463 --- /dev/null +++ b/ports/opusfile/usage @@ -0,0 +1,7 @@ +The package opusfile provides CMake targets: + + find_package(OpusFile CONFIG REQUIRED) + target_link_libraries(main PRIVATE OpusFile::opusfile) + + # To use the opusurl API + target_link_libraries(main PRIVATE OpusFile::opusurl) diff --git a/ports/opusfile/vcpkg.json b/ports/opusfile/vcpkg.json index 212c393f55964c..fcb3308a675e0a 100644 --- a/ports/opusfile/vcpkg.json +++ b/ports/opusfile/vcpkg.json @@ -1,17 +1,27 @@ { "name": "opusfile", - "version-string": "0.12", + "version": "0.12+20221121", "port-version": 1, "description": "Stand-alone decoder library for .opus streams", "homepage": "https://github.com/xiph/opusfile", + "license": "BSD-3-Clause", "supports": "!uwp", "dependencies": [ "libogg", - "opus" + "opus", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ], "features": { "opusurl": { "description": "Support decoding of http(s) streams", + "supports": "!windows", "dependencies": [ "openssl" ] diff --git a/ports/orc/0003-dependencies-from-vcpkg.patch b/ports/orc/0003-dependencies-from-vcpkg.patch deleted file mode 100644 index fb7c591441744b..00000000000000 --- a/ports/orc/0003-dependencies-from-vcpkg.patch +++ /dev/null @@ -1,162 +0,0 @@ -diff --git a/c++/src/CMakeLists.txt b/c++/src/CMakeLists.txt -index 3d4a162..6926bc3 100644 ---- a/c++/src/CMakeLists.txt -+++ b/c++/src/CMakeLists.txt -@@ -230,12 +230,13 @@ endif(BUILD_LIBHDFSPP) - add_library (orc STATIC ${SOURCE_FILES}) - - target_link_libraries (orc -- protobuf -- zlib -- snappy -- lz4 -- zstd -- ${LIBHDFSPP_LIBRARIES} -+ PRIVATE -+ protobuf::libprotobuf -+ ZLIB::ZLIB -+ Snappy::snappy -+ lz4::lz4 -+ $,zstd::libzstd_shared,zstd::libzstd_static> -+ ${LIBHDFSPP_LIBRARIES} - ) - - install(TARGETS orc DESTINATION lib) -diff --git a/cmake_modules/ThirdpartyToolchain.cmake b/cmake_modules/ThirdpartyToolchain.cmake -index 3a35325..56ffd74 100644 ---- a/cmake_modules/ThirdpartyToolchain.cmake -+++ b/cmake_modules/ThirdpartyToolchain.cmake -@@ -59,8 +59,8 @@ endif () - # ---------------------------------------------------------------------- - # Snappy - --if (NOT "${SNAPPY_HOME}" STREQUAL "") -- find_package (Snappy REQUIRED) -+if (1) -+ find_package (Snappy CONFIG REQUIRED) - set(SNAPPY_VENDORED FALSE) - else () - set(SNAPPY_HOME "${THIRDPARTY_DIR}/snappy_ep-install") -@@ -78,10 +78,6 @@ else () - set(SNAPPY_VENDORED TRUE) - endif () - --include_directories (SYSTEM ${SNAPPY_INCLUDE_DIR}) --add_library (snappy STATIC IMPORTED) --set_target_properties (snappy PROPERTIES IMPORTED_LOCATION ${SNAPPY_STATIC_LIB}) -- - if (SNAPPY_VENDORED) - add_dependencies (snappy snappy_ep) - if (INSTALL_VENDORED_LIBS) -@@ -93,7 +89,7 @@ endif () - # ---------------------------------------------------------------------- - # ZLIB - --if (NOT "${ZLIB_HOME}" STREQUAL "") -+if (1) - find_package (ZLIB REQUIRED) - set(ZLIB_VENDORED FALSE) - else () -@@ -120,10 +116,6 @@ else () - set(ZLIB_VENDORED TRUE) - endif () - --include_directories (SYSTEM ${ZLIB_INCLUDE_DIR}) --add_library (zlib STATIC IMPORTED) --set_target_properties (zlib PROPERTIES IMPORTED_LOCATION ${ZLIB_STATIC_LIB}) -- - if (ZLIB_VENDORED) - add_dependencies (zlib zlib_ep) - if (INSTALL_VENDORED_LIBS) -@@ -135,8 +127,8 @@ endif () - # ---------------------------------------------------------------------- - # Zstd - --if (NOT "${ZSTD_HOME}" STREQUAL "") -- find_package (ZSTD REQUIRED) -+if (1) -+ find_package (zstd CONFIG REQUIRED) - set(ZSTD_VENDORED FALSE) - else () - set(ZSTD_HOME "${THIRDPARTY_DIR}/zstd_ep-install") -@@ -169,10 +161,6 @@ else () - set(ZSTD_VENDORED TRUE) - endif () - --include_directories (SYSTEM ${ZSTD_INCLUDE_DIR}) --add_library (zstd STATIC IMPORTED) --set_target_properties (zstd PROPERTIES IMPORTED_LOCATION ${ZSTD_STATIC_LIB}) -- - if (ZSTD_VENDORED) - add_dependencies (zstd zstd_ep) - if (INSTALL_VENDORED_LIBS) -@@ -184,8 +172,8 @@ endif () - # ---------------------------------------------------------------------- - # LZ4 - --if (NOT "${LZ4_HOME}" STREQUAL "") -- find_package (LZ4 REQUIRED) -+if (1) -+ find_package (lz4 CONFIG REQUIRED) - set(LZ4_VENDORED FALSE) - else () - set(LZ4_PREFIX "${THIRDPARTY_DIR}/lz4_ep-install") -@@ -211,10 +199,6 @@ else () - set(LZ4_VENDORED TRUE) - endif () - --include_directories (SYSTEM ${LZ4_INCLUDE_DIR}) --add_library (lz4 STATIC IMPORTED) --set_target_properties (lz4 PROPERTIES IMPORTED_LOCATION ${LZ4_STATIC_LIB}) -- - if (LZ4_VENDORED) - add_dependencies (lz4 lz4_ep) - if (INSTALL_VENDORED_LIBS) -@@ -288,8 +272,8 @@ endif () - # ---------------------------------------------------------------------- - # Protobuf - --if (NOT "${PROTOBUF_HOME}" STREQUAL "") -- find_package (Protobuf REQUIRED) -+if (1) -+ find_package (Protobuf CONFIG REQUIRED) - set(PROTOBUF_VENDORED FALSE) - else () - set(PROTOBUF_PREFIX "${THIRDPARTY_DIR}/protobuf_ep-install") -@@ -327,12 +311,6 @@ endif () - - include_directories (SYSTEM ${PROTOBUF_INCLUDE_DIR}) - --add_library (protobuf STATIC IMPORTED) --set_target_properties (protobuf PROPERTIES IMPORTED_LOCATION ${PROTOBUF_STATIC_LIB}) -- --add_library (protoc STATIC IMPORTED) --set_target_properties (protoc PROPERTIES IMPORTED_LOCATION ${PROTOC_STATIC_LIB}) -- - if (PROTOBUF_VENDORED) - add_dependencies (protoc protobuf_ep) - add_dependencies (protobuf protobuf_ep) -diff --git a/tools/src/CMakeLists.txt b/tools/src/CMakeLists.txt -index f5a53ca..ec22e7a 100644 ---- a/tools/src/CMakeLists.txt -+++ b/tools/src/CMakeLists.txt -@@ -51,7 +51,6 @@ add_executable (orc-metadata - - target_link_libraries (orc-metadata - orc -- protobuf - ${CMAKE_THREAD_LIBS_INIT} - ) - -@@ -92,7 +91,7 @@ target_link_libraries (csv-import - ) - - install(TARGETS -- orc-contents -- orc-metadata -- orc-statistics -- DESTINATION bin) -+ orc-scan -+ orc-memory -+ csv-import -+ DESTINATION tools/orc) diff --git a/ports/orc/0005-disable-tzdata.patch b/ports/orc/0005-disable-tzdata.patch deleted file mode 100644 index 829bd18b1fd3f4..00000000000000 --- a/ports/orc/0005-disable-tzdata.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff --git a/c++/test/CMakeLists.txt b/c++/test/CMakeLists.txt -index ea39023..599d79a 100644 ---- a/c++/test/CMakeLists.txt -+++ b/c++/test/CMakeLists.txt -@@ -67,6 +67,7 @@ target_link_libraries (create-test-files - protobuf - ) - -+if (ENABLE_TEST) - if (TEST_VALGRIND_MEMCHECK) - add_test (orc-test - valgrind --tool=memcheck --leak-check=full --error-exitcode=1 ./orc-test) -@@ -86,3 +87,4 @@ if (WIN32) - ENVIRONMENT "TZDIR=${TZDATA_DIR}" - ) - endif () -+endif() -diff --git a/cmake_modules/ThirdpartyToolchain.cmake b/cmake_modules/ThirdpartyToolchain.cmake -index 3a35325..364470b 100644 ---- a/cmake_modules/ThirdpartyToolchain.cmake -+++ b/cmake_modules/ThirdpartyToolchain.cmake -@@ -226,7 +226,7 @@ endif () - # ---------------------------------------------------------------------- - # IANA - Time Zone Database - --if (WIN32) -+if (WIN32 AND TEST_VALGRIND_MEMCHECK) - ExternalProject_Add(tzdata_ep - URL "ftp://cygwin.osuosl.org/pub/cygwin/noarch/release/tzdata/tzdata-2019b-1.tar.xz" - URL_HASH MD5=17D8AB346BB1009D4EB35BC08040E51D diff --git a/ports/orc/fix-cmake.patch b/ports/orc/fix-cmake.patch new file mode 100644 index 00000000000000..cabc118929d0b3 --- /dev/null +++ b/ports/orc/fix-cmake.patch @@ -0,0 +1,144 @@ +diff --git a/c++/src/CMakeLists.txt b/c++/src/CMakeLists.txt +index 33ad5848..2a41e427 100644 +--- a/c++/src/CMakeLists.txt ++++ b/c++/src/CMakeLists.txt +@@ -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 +- orc::zlib +- orc::snappy +- orc::lz4 +- orc::zstd ++ PRIVATE ++ protobuf::libprotobuf ++ ZLIB::ZLIB ++ Snappy::snappy ++ lz4::lz4 ++ $,zstd::libzstd_shared,zstd::libzstd_static> + ${LIBHDFSPP_LIBRARIES} +- ) ++) + + add_dependencies(orc orc-format_ep) + +-install(TARGETS orc DESTINATION lib) ++install(TARGETS orc EXPORT unofficial-orc) ++ ++install( ++ EXPORT unofficial-orc ++ FILE unofficial-orc-config.cmake ++ 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 ec33193d..5b7a009d 100644 +--- a/cmake_modules/ThirdpartyToolchain.cmake ++++ b/cmake_modules/ThirdpartyToolchain.cmake +@@ -83,7 +83,8 @@ ExternalProject_Add (orc-format_ep + + # ---------------------------------------------------------------------- + # Snappy +- ++find_package(Snappy CONFIG REQUIRED) ++if (0) + 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 () + + # ---------------------------------------------------------------------- + # ZLIB +- ++find_package(ZLIB REQUIRED) ++if (0) + 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 () + # ---------------------------------------------------------------------- + # Zstd +- ++find_package(zstd CONFIG REQUIRED) ++if (0) + 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 () + # ---------------------------------------------------------------------- + # LZ4 +- ++find_package(lz4 CONFIG REQUIRED) ++if (0) + 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 () + # ---------------------------------------------------------------------- + # IANA - Time Zone Database + +-if (WIN32) ++if (WIN32 AND TEST_VALGRIND_MEMCHECK) + SET(CURRENT_TZDATA_FILE "") + 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 "" 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 3863c408..b71ab5ea 100644 +--- a/tools/src/CMakeLists.txt ++++ b/tools/src/CMakeLists.txt +@@ -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 722b6a10a5f0b5..f52dcbca71e236 100644 --- a/ports/orc/portfile.cmake +++ b/ports/orc/portfile.cmake @@ -1,12 +1,13 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO apache/orc - REF 23ecc03e87548f6d6783c2d8af2b46672c52214c # rel/release-1.6.4 - SHA512 907984c7e036ddaa90e7cbfabb9af4f6fd3520820b9a8732b304f2213030f7d67cef89ad87d50e028a51bff06f68ff359345ad6894850e299b2fca343d7c0c3e - HEAD_REF master - PATCHES - 0003-dependencies-from-vcpkg.patch - 0005-disable-tzdata.patch + OUT_SOURCE_PATH SOURCE_PATH + REPO apache/orc + REF "v${VERSION}" + SHA512 6109b27047b0688566756f9ca6833689cdf0bd7a5086c4212ef1fd6484fb73d9077fa3017137a7fd65f0ab51518c80fc43ab55bd308ad146f6f4b6d97c51b4fc + HEAD_REF master + PATCHES + fix-cmake.patch ) file(REMOVE "${SOURCE_PATH}/cmake_modules/FindGTest.cmake") @@ -16,22 +17,28 @@ file(REMOVE "${SOURCE_PATH}/cmake_modules/FindProtobuf.cmake") file(REMOVE "${SOURCE_PATH}/cmake_modules/FindSnappy.cmake") file(REMOVE "${SOURCE_PATH}/cmake_modules/FindZLIB.cmake") -if(CMAKE_HOST_WIN32) - set(PROTOBUF_EXECUTABLE ${CURRENT_INSTALLED_DIR}/tools/protobuf/protoc.exe) -else() - set(PROTOBUF_EXECUTABLE ${CURRENT_INSTALLED_DIR}/tools/protobuf/protoc) -endif() +set(PROTOBUF_EXECUTABLE "${CURRENT_HOST_INSTALLED_DIR}/tools/protobuf/protoc${VCPKG_HOST_EXECUTABLE_SUFFIX}") if(VCPKG_TARGET_IS_WINDOWS) set(BUILD_TOOLS OFF) + # when cross compiling, we can't run their test. however: + # - Windows doesn't support time_t < 0 => HAS_PRE_1970 test returns false + # - Windows doesn't support setenv => HAS_POST_2038 test fails to compile + set(time_t_checks "-DHAS_PRE_1970=OFF" "-DHAS_POST_2038=OFF") else() set(BUILD_TOOLS ON) + set(time_t_checks "") endif() -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +if(VCPKG_TARGET_IS_UWP) + set(configure_opts WINDOWS_USE_MSBUILD) +endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + ${configure_opts} OPTIONS + ${time_t_checks} -DBUILD_TOOLS=${BUILD_TOOLS} -DBUILD_CPP_TESTS=OFF -DBUILD_JAVA=OFF @@ -40,25 +47,42 @@ vcpkg_configure_cmake( -DPROTOBUF_EXECUTABLE:FILEPATH=${PROTOBUF_EXECUTABLE} -DSTOP_BUILD_ON_WARNING=OFF -DENABLE_TEST=OFF + MAYBE_UNUSED_VARIABLES + ENABLE_TEST ) -vcpkg_install_cmake() +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-orc) vcpkg_copy_pdbs() +file(READ "${CURRENT_PACKAGES_DIR}/share/unofficial-orc/unofficial-orc-config.cmake" cmake_config) +file(WRITE "${CURRENT_PACKAGES_DIR}/share/unofficial-orc/unofficial-orc-config.cmake" +"include(CMakeFindDependencyMacro) +find_dependency(Snappy CONFIG) +find_dependency(ZLIB) +find_dependency(zstd CONFIG) +find_dependency(lz4 CONFIG) +find_dependency(Protobuf CONFIG) +${cmake_config} +") + file(GLOB TOOLS ${CURRENT_PACKAGES_DIR}/bin/orc-*) if(TOOLS) - file(COPY ${TOOLS} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/orc) + file(COPY ${TOOLS} DESTINATION "${CURRENT_PACKAGES_DIR}/tools/orc") file(REMOVE ${TOOLS}) endif() -file(GLOB BINS ${CURRENT_PACKAGES_DIR}/bin/*) +file(GLOB BINS "${CURRENT_PACKAGES_DIR}/bin/*") if(NOT BINS) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") 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" "${CURRENT_PACKAGES_DIR}/debug/bin") +endif() +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -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) +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/orc/usage b/ports/orc/usage index b364b8bfea64a4..c3e7e55e767ae7 100644 --- a/ports/orc/usage +++ b/ports/orc/usage @@ -1,11 +1,4 @@ -The package orc does not provide CMake targets: +orc provides CMake targets: - find_package(protobuf CONFIG REQUIRED) - find_package(ZLIB REQUIRED) - find_package(Snappy CONFIG REQUIRED) - - find_library(LZ4_LIBRARY NAMES lz4d lz4) - find_library(ZSTD_LIBRARY NAMES zstd) - find_library(ORC_LIBRARY NAMES orc) - - target_link_libraries(main PRIVATE ${ORC_LIBRARY} protobuf::libprotoc protobuf::libprotobuf Snappy::snappy ${LZ4_LIBRARY} ${ZSTD_LIBRARY} ZLIB::ZLIB) + find_package(unofficial-orc CONFIG REQUIRED) + target_link_libraries(main PRIVATE unofficial::orc::orc) diff --git a/ports/orc/vcpkg.json b/ports/orc/vcpkg.json index 7f87b3c6236d10..7f3a774c7660dd 100644 --- a/ports/orc/vcpkg.json +++ b/ports/orc/vcpkg.json @@ -1,14 +1,26 @@ { "name": "orc", - "version-string": "1.6.4", - "port-version": 2, + "version": "2.0.0", "description": "The smallest, fastest columnar storage for Hadoop workloads.", "homepage": "https://orc.apache.org/", + "license": "Apache-2.0", + "supports": "!uwp", "dependencies": [ - "gtest", "lz4", "protobuf", + { + "name": "protobuf", + "host": true + }, "snappy", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, "zlib", "zstd" ] diff --git a/ports/orocos-kdl/portfile.cmake b/ports/orocos-kdl/portfile.cmake index 6d6764f6cb9bc3..e7d041161728f8 100644 --- a/ports/orocos-kdl/portfile.cmake +++ b/ports/orocos-kdl/portfile.cmake @@ -1,31 +1,31 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO orocos/orocos_kinematics_dynamics - REF v1.4.0 - SHA512 7156465e2aff02f472933617512069355836a03a02d4587cfe03c1b1d667a9762a4e3ed6e055b2a44f1fce1b6746179203c7204389626a7b458dcab1b28930d8 + REF "v${VERSION}" + SHA512 9774b76b755ea81168390643813789783f60d0b1cdb46cd250e3e0d27f75a6cf2fd3bfd2081c04e30a14ff4fc70d0080c9b43b82ee181c2dda82f23f052b338d HEAD_REF master PATCHES export-include-dir.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH}/orocos_kdl - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/orocos_kdl" ) -vcpkg_install_cmake() +vcpkg_cmake_install() +vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/orocos_kdl/cmake TARGET_PATH share/orocos_kdl) +vcpkg_cmake_config_fixup(CONFIG_PATH share/orocos_kdl/cmake PACKAGE_NAME orocos_kdl) -file(READ ${CURRENT_PACKAGES_DIR}/share/orocos_kdl/orocos_kdl-config.cmake _contents) +file(READ "${CURRENT_PACKAGES_DIR}/share/orocos_kdl/orocos_kdl-config.cmake" _contents) string(REPLACE "\${CMAKE_CURRENT_LIST_DIR}/../../.." "\${CMAKE_CURRENT_LIST_DIR}/../.." _contents "${_contents}") string(REPLACE "\${_IMPORT_PREFIX}" "\${CMAKE_CURRENT_LIST_DIR}/../.." _contents "${_contents}") -file(WRITE ${CURRENT_PACKAGES_DIR}/share/orocos_kdl/orocos_kdl-config.cmake "${_contents}") +file(WRITE "${CURRENT_PACKAGES_DIR}/share/orocos_kdl/orocos_kdl-config.cmake" "${_contents}") file(REMOVE_RECURSE - ${CURRENT_PACKAGES_DIR}/debug/include - ${CURRENT_PACKAGES_DIR}/debug/share - ${CURRENT_PACKAGES_DIR}/share/doc - ${CURRENT_PACKAGES_DIR}/doc/liborocos-kdl) + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/share/doc" + "${CURRENT_PACKAGES_DIR}/doc/liborocos-kdl") -file(INSTALL ${SOURCE_PATH}/orocos_kdl/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) -vcpkg_fixup_pkgconfig() +file(INSTALL "${SOURCE_PATH}/orocos_kdl/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_fixup_pkgconfig() diff --git a/ports/orocos-kdl/vcpkg.json b/ports/orocos-kdl/vcpkg.json index 3eeca90301373e..475a66f1c62c8c 100644 --- a/ports/orocos-kdl/vcpkg.json +++ b/ports/orocos-kdl/vcpkg.json @@ -1,10 +1,17 @@ { "name": "orocos-kdl", - "version": "1.4", - "port-version": 5, + "version": "1.5.1", "description": "Kinematics and Dynamics Library.", "homepage": "https://github.com/orocos/orocos_kinematics_dynamics", "dependencies": [ - "eigen3" + "eigen3", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/osg/disable-present3d-staticview-in-linux.patch b/ports/osg/disable-present3d-staticview-in-linux.patch deleted file mode 100644 index fd76db35bb59b6..00000000000000 --- a/ports/osg/disable-present3d-staticview-in-linux.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff --git a/applications/CMakeLists.txt b/applications/CMakeLists.txt -index ab491c6..bee3d1f 100644 ---- a/applications/CMakeLists.txt -+++ b/applications/CMakeLists.txt -@@ -32,12 +32,16 @@ IF(DYNAMIC_OPENSCENEGRAPH) - ADD_SUBDIRECTORY(osgconv) - ADD_SUBDIRECTORY(osgfilecache) - ADD_SUBDIRECTORY(osgversion) -- ADD_SUBDIRECTORY(present3D) -+ if (NOT UNIX) -+ ADD_SUBDIRECTORY(present3D) -+ endif() - ELSE() - # need to define this on win32 or linker cries about _declspecs - ADD_DEFINITIONS(-DOSG_LIBRARY_STATIC) - - ADD_SUBDIRECTORY(osgversion) -- ADD_SUBDIRECTORY(present3D) -+ if (NOT UNIX) -+ ADD_SUBDIRECTORY(present3D) -+ endif() - ENDIF() - -diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt -index 788e507..3c550bc 100644 ---- a/examples/CMakeLists.txt -+++ b/examples/CMakeLists.txt -@@ -245,7 +245,7 @@ ELSE(DYNAMIC_OPENSCENEGRAPH) - - IF(OSG_BUILD_PLATFORM_IPHONE) - ADD_SUBDIRECTORY(osgviewerIPhone) -- ELSE() -+ ELSEIF (NOT UNIX) - ADD_SUBDIRECTORY(osgstaticviewer) - ENDIF() - diff --git a/ports/osg/fix-curl.patch b/ports/osg/fix-curl.patch deleted file mode 100644 index e95fbee5dc3dbc..00000000000000 --- a/ports/osg/fix-curl.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff --git a/src/osgPlugins/curl/CMakeLists.txt b/src/osgPlugins/curl/CMakeLists.txt -index cc459ff..370dbec 100644 ---- a/src/osgPlugins/curl/CMakeLists.txt -+++ b/src/osgPlugins/curl/CMakeLists.txt -@@ -23,11 +23,11 @@ SET(TARGET_H - - IF(ZLIB_FOUND) - SET(TARGET_LIBRARIES_VARS -- CURL_LIBRARY -+ CURL_LIBRARIES - ZLIB_LIBRARIES) - ELSE() - SET(TARGET_LIBRARIES_VARS -- CURL_LIBRARY) -+ CURL_LIBRARIES) - ENDIF() - - IF(WIN32 OR MINGW) diff --git a/ports/osg/fix-dependency-coin.patch b/ports/osg/fix-dependency-coin.patch deleted file mode 100644 index b04318683331b5..00000000000000 --- a/ports/osg/fix-dependency-coin.patch +++ /dev/null @@ -1,29 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 798b8b9..c975d78 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -740,7 +740,7 @@ ELSE() - # Common to all platforms except android: - FIND_PACKAGE(Freetype) - FIND_PACKAGE(ilmbase) -- FIND_PACKAGE(Inventor) -+ FIND_PACKAGE(coin CONFIG) - FIND_PACKAGE(Jasper) - FIND_PACKAGE(OpenEXR) - FIND_PACKAGE(OpenCascade) -diff --git a/src/osgPlugins/Inventor/CMakeLists.txt b/src/osgPlugins/Inventor/CMakeLists.txt -index 963a494..e34b6b8 100644 ---- a/src/osgPlugins/Inventor/CMakeLists.txt -+++ b/src/osgPlugins/Inventor/CMakeLists.txt -@@ -17,10 +17,6 @@ SET(TARGET_HDRS - ShuttleCallback.h - ) - --ADD_DEFINITIONS(-DCOIN_DLL) -- --INCLUDE_DIRECTORIES(${INVENTOR_INCLUDE_DIR}) -- --SET(TARGET_ADDED_LIBRARIES ${INVENTOR_LIBRARY}) -+SET(TARGET_ADDED_LIBRARIES Coin::Coin) - - SETUP_PLUGIN(iv iv) 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-example-application.patch b/ports/osg/fix-example-application.patch deleted file mode 100644 index ebef27fd4764f6..00000000000000 --- a/ports/osg/fix-example-application.patch +++ /dev/null @@ -1,34 +0,0 @@ -diff --git a/applications/present3D/CMakeLists.txt b/applications/present3D/CMakeLists.txt -index df859d0..123313a 100644 ---- a/applications/present3D/CMakeLists.txt -+++ b/applications/present3D/CMakeLists.txt -@@ -103,6 +103,11 @@ ENDIF() - IF (WIN32) - # to support cluster code - SET(TARGET_EXTERNAL_LIBRARIES ${TARGET_EXTERNAL_LIBRARIES} ws2_32) -+ -+ find_package(EXPAT REQUIRED) -+ find_package(Iconv REQUIRED) -+ -+ list(APPEND TARGET_EXTERNAL_LIBRARIES EXPAT::EXPAT Iconv::Iconv) - ELSE() - CHECK_LIBRARY_EXISTS("nsl" "gethostbyname" "" LIB_NSL_HAS_GETHOSTBYNAME) - IF(LIB_NSL_HAS_GETHOSTBYNAME) -diff --git a/examples/osgstaticviewer/CMakeLists.txt b/examples/osgstaticviewer/CMakeLists.txt -index 071ab26..bf8d85f 100644 ---- a/examples/osgstaticviewer/CMakeLists.txt -+++ b/examples/osgstaticviewer/CMakeLists.txt -@@ -19,6 +19,13 @@ IF(FREETYPE_FOUND) - SET(TARGET_ADDED_LIBRARIES ${TARGET_ADDED_LIBRARIES} osgdb_freetype) - ENDIF(FREETYPE_FOUND) - -+IF (WIN32) -+ find_package(EXPAT REQUIRED) -+ find_package(Iconv REQUIRED) -+ -+ list(APPEND TARGET_EXTERNAL_LIBRARIES EXPAT::EXPAT Iconv::Iconv) -+ENDIF() -+ - SET(TARGET_SRC osgstaticviewer.cpp ) - #### end var setup ### - SETUP_EXAMPLE(osgstaticviewer) diff --git a/ports/osg/fix-liblas.patch b/ports/osg/fix-liblas.patch deleted file mode 100644 index c36396e97bfbb2..00000000000000 --- a/ports/osg/fix-liblas.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index b84fa06..a991670 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -765,7 +765,10 @@ ELSE() - ENDIF() - FIND_PACKAGE(ZeroConf) - -- FIND_PACKAGE(LIBLAS) -+ FIND_PACKAGE(liblas CONFIG) -+ set(LIBLAS_FOUND ${liblas_FOUND}) -+ set(LIBLAS_LIBRARY liblas) -+ set(LIBLASC_LIBRARY liblas_c) - - IF (NOT(OSG_USE_LOCAL_LUA_SOURCE)) - FIND_PACKAGE(Lua52) 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/fix-nvtt-squish.patch b/ports/osg/fix-nvtt-squish.patch new file mode 100644 index 00000000000000..fb7ef087087283 --- /dev/null +++ b/ports/osg/fix-nvtt-squish.patch @@ -0,0 +1,22 @@ +diff --git a/CMakeModules/FindNVTT.cmake b/CMakeModules/FindNVTT.cmake +index d0e7414..f6fb761 100644 +--- a/CMakeModules/FindNVTT.cmake ++++ b/CMakeModules/FindNVTT.cmake +@@ -120,7 +120,7 @@ FIND_LIBRARY(NVTHREAD_LIBRARY_DEBUG + + # SQUISH + FIND_LIBRARY(NVSQUISH_LIBRARY_RELEASE +- NAMES squish ++ NAMES nvsquish NAMES_PER_DIR + PATHS + /usr/local + /usr +@@ -129,7 +129,7 @@ FIND_LIBRARY(NVSQUISH_LIBRARY_RELEASE + PATH_SUFFIXES lib64 lib lib/shared lib/static lib64/static + ) + FIND_LIBRARY(NVSQUISH_LIBRARY_DEBUG +- NAMES squish_d ++ NAMES nvsquish_d NAMES_PER_DIR + PATHS + /usr/local + /usr diff --git a/ports/osg/fix-nvtt.patch b/ports/osg/fix-nvtt.patch deleted file mode 100644 index 3cc1c4d5883701..00000000000000 --- a/ports/osg/fix-nvtt.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index a991670..5b530c5 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -759,7 +759,9 @@ ELSE() - FIND_PACKAGE(RSVG) - FIND_PACKAGE(GtkGl) - FIND_PACKAGE(DirectInput) -+ if (ENABLE_NVTT) - FIND_PACKAGE(NVTT) -+ endif() - IF (NOT WIN32) - FIND_PACKAGE(Asio) - ENDIF() diff --git a/ports/osg/fix-sdl.patch b/ports/osg/fix-sdl.patch index e97d86476f3cbd..c779235ff084f7 100644 --- a/ports/osg/fix-sdl.patch +++ b/ports/osg/fix-sdl.patch @@ -2,36 +2,13 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt index 81328ea..c735419 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -755,8 +755,6 @@ ELSE() +@@ -755,7 +755,8 @@ ELSE() FIND_PACKAGE(GStreamer COMPONENTS app pbutils) FIND_PACKAGE(GLIB COMPONENTS gobject) FIND_PACKAGE(DirectShow) - FIND_PACKAGE(SDL2) -- FIND_PACKAGE(SDL) - FIND_PACKAGE(Poppler-glib) - FIND_PACKAGE(RSVG) - FIND_PACKAGE(GtkGl) -@@ -775,6 +773,10 @@ ELSE() - FIND_PACKAGE(Lua51) - ENDIF() - ENDIF() -+ -+ find_package(SDL) + find_package(SDL2 CONFIG) + set(SDL2_LIBRARY SDL2::SDL2 SDL2::SDL2main) - - # V8 and Python plugins are tests for linking against these libraries but aren't functionality beyond this. - # FIND_PACKAGE(V8) -diff --git a/examples/osgmovie/osgmovie.cpp b/examples/osgmovie/osgmovie.cpp -index 9de15b1..ae96e11 100644 ---- a/examples/osgmovie/osgmovie.cpp -+++ b/examples/osgmovie/osgmovie.cpp -@@ -691,7 +691,7 @@ int main(int argc, char** argv) - - #if USE_SDL || USE_SDL2 - --#include "SDL.h" -+#include - - static void soundReadCallback(void * user_data, uint8_t * data, int datalen) - { + FIND_PACKAGE(SDL) + FIND_PACKAGE(Poppler-glib) + FIND_PACKAGE(RSVG) diff --git a/ports/osg/link-libraries.patch b/ports/osg/link-libraries.patch new file mode 100644 index 00000000000000..b65844432d266d --- /dev/null +++ b/ports/osg/link-libraries.patch @@ -0,0 +1,21 @@ +diff --git a/CMakeModules/OsgMacroUtils.cmake b/CMakeModules/OsgMacroUtils.cmake +index ce55be0..9b7107c 100644 +--- a/CMakeModules/OsgMacroUtils.cmake ++++ b/CMakeModules/OsgMacroUtils.cmake +@@ -37,6 +37,16 @@ SET(VALID_BUILDER_VERSION OFF) + + MACRO(LINK_WITH_VARIABLES TRGTNAME) + FOREACH(varname ${ARGN}) ++ string(REPLACE "_LIBRARY" "_LINK_LIBRARIES" lwv_link_libraries "${varname}") ++ if(DEFINED ${lwv_link_libraries}) ++ TARGET_LINK_LIBRARIES(${TRGTNAME} ${${lwv_link_libraries}}) ++ continue() ++ endif() ++ 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/osg/openexr3.patch b/ports/osg/openexr3.patch new file mode 100644 index 00000000000000..9d525008fe2315 --- /dev/null +++ b/ports/osg/openexr3.patch @@ -0,0 +1,46 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c7de889..2a58f19 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -743,6 +743,9 @@ ELSE() + FIND_PACKAGE(Inventor) + FIND_PACKAGE(Jasper) + FIND_PACKAGE(OpenEXR) ++ set(OPENEXR_FOUND "${OpenEXR_FOUND}") ++ set(OPENEXR_LIBRARIES OpenEXR::OpenEXR) ++ set(OPENEXR_LIBRARIES_VARS OPENEXR_LIBRARIES) + FIND_PACKAGE(OpenCascade) + FIND_PACKAGE(COLLADA) + FIND_PACKAGE(FBX) +diff --git a/src/osgPlugins/exr/ReaderWriterEXR.cpp b/src/osgPlugins/exr/ReaderWriterEXR.cpp +index 7132e97..bea1483 100644 +--- a/src/osgPlugins/exr/ReaderWriterEXR.cpp ++++ b/src/osgPlugins/exr/ReaderWriterEXR.cpp +@@ -41,11 +41,11 @@ public: + { + return _inStream->read(c,n).good(); + }; +- virtual Int64 tellg () ++ virtual uint64_t tellg () + { + return _inStream->tellg(); + }; +- virtual void seekg (Int64 pos) ++ virtual void seekg (uint64_t pos) + { + _inStream->seekg(pos); + }; +@@ -69,11 +69,11 @@ public: + { + _outStream->write(c,n); + }; +- virtual Int64 tellp () ++ virtual uint64_t tellp () + { + return _outStream->tellp(); + }; +- virtual void seekp (Int64 pos) ++ virtual void seekp (uint64_t pos) + { + _outStream->seekp(pos); + }; diff --git a/ports/osg/plugin-pdb-install.patch b/ports/osg/plugin-pdb-install.patch new file mode 100644 index 00000000000000..2ba45651410f7f --- /dev/null +++ b/ports/osg/plugin-pdb-install.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeModules/OsgMacroUtils.cmake b/CMakeModules/OsgMacroUtils.cmake +index a12fcf1..ce55be0 100644 +--- a/CMakeModules/OsgMacroUtils.cmake ++++ b/CMakeModules/OsgMacroUtils.cmake +@@ -351,7 +351,7 @@ MACRO(SETUP_PLUGIN PLUGIN_NAME) + LIBRARY DESTINATION bin/${OSG_PLUGINS} COMPONENT ${PACKAGE_COMPONENT}) + IF(MSVC AND DYNAMIC_OPENSCENEGRAPH) + INSTALL(FILES ${OUTPUT_BINDIR}/${OSG_PLUGINS}/${TARGET_TARGETNAME}${CMAKE_RELWITHDEBINFO_POSTFIX}.pdb DESTINATION bin/${OSG_PLUGINS} COMPONENT ${PACKAGE_COMPONENT} CONFIGURATIONS RelWithDebInfo) +- INSTALL(FILES ${OUTPUT_BINDIR}/${OSG_PLUGINS}/${TARGET_TARGETNAME}${CMAKE_DEBUG_POSTFIX}.pdb DESTINATION bin/${OSG_PLUGINS} COMPONENT ${PACKAGE_COMPONENT} CONFIGURATIONS Debug) ++ INSTALL(FILES $ DESTINATION bin/${OSG_PLUGINS} COMPONENT ${PACKAGE_COMPONENT} CONFIGURATIONS Debug) + ENDIF(MSVC AND DYNAMIC_OPENSCENEGRAPH) + ELSE(WIN32) + INSTALL(TARGETS ${TARGET_TARGETNAME} diff --git a/ports/osg/portfile.cmake b/ports/osg/portfile.cmake index 1ea919dcd4848c..6da60ade252d40 100644 --- a/ports/osg/portfile.cmake +++ b/ports/osg/portfile.cmake @@ -7,141 +7,179 @@ vcpkg_from_github( SHA512 7002fa30a3bcf6551d2e1050b4ca75a3736013fd190e4f50953717406864da1952deb09f530bc8c5ddf6e4b90204baec7dbc283f497829846d46d561f66feb4b HEAD_REF master PATCHES + link-libraries.patch collada.patch - static.patch fix-sdl.patch - fix-example-application.patch - disable-present3d-staticview-in-linux.patch #Due to some link error we cannot solve yet, disable them in linux. - fix-curl.patch - remove-prefix.patch # Remove this patch when cmake fix Findosg_functions.cmake - fix-liblas.patch - fix-nvtt.patch - use-boost-asio.patch - fix-dependency-coin.patch + fix-nvtt-squish.patch + plugin-pdb-install.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 ) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - set(OSG_DYNAMIC OFF) -else() - set(OSG_DYNAMIC ON) -endif() - -file(REMOVE ${SOURCE_PATH}/CMakeModules/FindSDL2.cmake) - -set(OSG_USE_UTF8_FILENAME ON) -if (NOT VCPKG_TARGET_IS_WINDOWS) - message("Build osg requires gcc with version higher than 4.7.") - # Enable OSG_USE_UTF8_FILENAME will call some windows-only functions. - set(OSG_USE_UTF8_FILENAME OFF) -endif() +file(REMOVE + "${SOURCE_PATH}/CMakeModules/FindFontconfig.cmake" + "${SOURCE_PATH}/CMakeModules/FindFreetype.cmake" + "${SOURCE_PATH}/CMakeModules/Findilmbase.cmake" + "${SOURCE_PATH}/CMakeModules/FindOpenEXR.cmake" + "${SOURCE_PATH}/CMakeModules/FindSDL2.cmake" +) -set(OPTIONS) -if(NOT "collada" IN_LIST FEATURES) - list(APPEND OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_COLLADA=ON) -endif() -list(APPEND OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_FFmpeg=ON) -list(APPEND OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_DCMTK=ON) -list(APPEND OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_GStreamer=ON) -list(APPEND OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_GLIB=ON) -list(APPEND OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_SDL=ON) -list(APPEND OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_LIBLAS=ON) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" OSG_DYNAMIC) -# Due to nvtt CRT linkage error, we can only enable static builds here -set(ENABLE_NVTT ON) -if (VCPKG_TARGET_IS_WINDOWS AND OSG_DYNAMIC) - set(ENABLE_NVTT OFF) +set(OPTIONS "") +if(VCPKG_TARGET_IS_WINDOWS) + list(APPEND OPTIONS -DOSG_USE_UTF8_FILENAME=ON) endif() -list(APPEND OPTIONS -DENABLE_NVTT=${ENABLE_NVTT}) - -if (VCPKG_TARGET_IS_WINDOWS) - list(APPEND OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_FONTCONFIG=ON) - list(APPEND OPTIONS -DOSG_TEXT_USE_FONTCONFIG=OFF) +# Skip try_run checks +if(VCPKG_TARGET_IS_MINGW) + list(APPEND OPTIONS -D_OPENTHREADS_ATOMIC_USE_WIN32_INTERLOCKED=0 -D_OPENTHREADS_ATOMIC_USE_GCC_BUILTINS=1) +elseif(VCPKG_TARGET_IS_WINDOWS) + list(APPEND OPTIONS -D_OPENTHREADS_ATOMIC_USE_WIN32_INTERLOCKED=1 -D_OPENTHREADS_ATOMIC_USE_GCC_BUILTINS=0) +elseif(VCPKG_TARGET_IS_IOS) + # handled by osg +elseif(VCPKG_CROSSCOMPILING) + message(WARNING "Atomics detection may fail for cross builds. You can set osg cmake variables in a custom triplet.") endif() vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - tools BUILD_OSG_APPLICATIONS - examples BUILD_OSG_EXAMPLES - plugins BUILD_OSG_PLUGINS - packages BUILD_OSG_PACKAGES - docs BUILD_DOCUMENTATION - docs BUILD_REF_DOCS_SEARCHENGINE - docs BUILD_REF_DOCS_TAGFILE + FEATURES + tools BUILD_OSG_APPLICATIONS + examples BUILD_OSG_EXAMPLES + plugins BUILD_OSG_PLUGINS_BY_DEFAULT + plugins CMAKE_REQUIRE_FIND_PACKAGE_CURL + plugins CMAKE_REQUIRE_FIND_PACKAGE_Jasper + plugins CMAKE_REQUIRE_FIND_PACKAGE_GDAL + plugins CMAKE_REQUIRE_FIND_PACKAGE_GTA + packages BUILD_OSG_PACKAGES + docs BUILD_DOCUMENTATION + docs BUILD_REF_DOCS_SEARCHENGINE + docs BUILD_REF_DOCS_TAGFILE + fontconfig OSG_TEXT_USE_FONTCONFIG + freetype BUILD_OSG_PLUGIN_FREETYPE + freetype CMAKE_REQUIRE_FIND_PACKAGE_Freetype + collada BUILD_OSG_PLUGIN_DAE + collada CMAKE_REQUIRE_FIND_PACKAGE_COLLADA + nvtt BUILD_OSG_PLUGIN_NVTT + nvtt CMAKE_REQUIRE_FIND_PACKAGE_NVTT + 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 ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - OPTIONS ${FEATURE_OPTIONS} - -DOSG_USE_UTF8_FILENAME=${OSG_USE_UTF8_FILENAME} +# The package osg can be configured to use different OpenGL profiles via a custom triplet file: +# Possible values are GLCORE, GL2, GL3, GLES1, GLES2, GLES3, and GLES2+GLES3 +if(NOT DEFINED osg_OPENGL_PROFILE) + set(osg_OPENGL_PROFILE "GL2") +endif() + +# Plugin control variables are used only if prerequisites are satisfied. +set(plugin_vars "") +file(STRINGS "${SOURCE_PATH}/src/osgPlugins/CMakeLists.txt" plugin_lines REGEX "ADD_PLUGIN_DIRECTORY") +foreach(line IN LISTS plugin_lines) + if(NOT line MATCHES "ADD_PLUGIN_DIRECTORY\\(([^)]*)" OR NOT EXISTS "${SOURCE_PATH}/src/osgPlugins/${CMAKE_MATCH_1}/CMakeLists.txt") + continue() + endif() + string(TOUPPER "${CMAKE_MATCH_1}" plugin_upper) + list(APPEND plugin_vars "BUILD_OSG_PLUGIN_${plugin_upper}") +endforeach() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} -DDYNAMIC_OPENSCENEGRAPH=${OSG_DYNAMIC} -DDYNAMIC_OPENTHREADS=${OSG_DYNAMIC} + -DOSG_MSVC_VERSIONED_DLL=OFF + -DOSG_DETERMINE_WIN_VERSION=OFF + -DUSE_3RDPARTY_BIN=OFF + -DBUILD_OSG_PLUGIN_DICOM=OFF + -DBUILD_OSG_PLUGIN_OPENCASCADE=OFF + -DBUILD_OSG_PLUGIN_INVENTOR=OFF + -DBUILD_OSG_PLUGIN_FBX=OFF + -DBUILD_OSG_PLUGIN_DIRECTSHOW=OFF + -DBUILD_OSG_PLUGIN_LAS=OFF + -DBUILD_OSG_PLUGIN_QTKIT=OFF + -DBUILD_OSG_PLUGIN_SVG=OFF + -DBUILD_OSG_PLUGIN_VNC=OFF + -DBUILD_OSG_PLUGIN_LUA=OFF + -DOPENGL_PROFILE=${osg_OPENGL_PROFILE} + -DBUILD_OSG_PLUGIN_ZEROCONFDEVICE=OFF -DBUILD_DASHBOARD_REPORTS=OFF -DCMAKE_CXX_STANDARD=11 - ${OPTIONS} + -DCMAKE_DISABLE_FIND_PACKAGE_FFmpeg=ON + -DCMAKE_DISABLE_FIND_PACKAGE_DCMTK=ON + -DCMAKE_DISABLE_FIND_PACKAGE_GStreamer=ON + -DCMAKE_DISABLE_FIND_PACKAGE_GLIB=ON + -DCMAKE_DISABLE_FIND_PACKAGE_Inventor=ON + -DPKG_CONFIG_USE_CMAKE_PREFIX_PATH=ON + ${OPTIONS} + OPTIONS_DEBUG + -DBUILD_OSG_APPLICATIONS=OFF + -DBUILD_OSG_EXAMPLES=OFF + -DBUILD_DOCUMENTATION=OFF + MAYBE_UNUSED_VARIABLES + BUILD_REF_DOCS_SEARCHENGINE + BUILD_REF_DOCS_TAGFILE + OSG_DETERMINE_WIN_VERSION + USE_3RDPARTY_BIN + ${plugin_vars} ) - -vcpkg_install_cmake() - +vcpkg_cmake_install() vcpkg_copy_pdbs() - -# handle osg tools and plugins -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) - -set(OSG_TOOL_PATH ${CURRENT_PACKAGES_DIR}/tools/${PORT}) - -file(GLOB OSG_TOOLS ${CURRENT_PACKAGES_DIR}/bin/*${VCPKG_TARGET_EXECUTABLE_SUFFIX}) -if (OSG_TOOLS) - file(MAKE_DIRECTORY ${OSG_TOOL_PATH}) - file(COPY ${OSG_TOOLS} DESTINATION ${OSG_TOOL_PATH}) - file(REMOVE_RECURSE ${OSG_TOOLS}) - file(GLOB OSG_TOOLS_DBG ${CURRENT_PACKAGES_DIR}/debug/bin/*${VCPKG_TARGET_EXECUTABLE_SUFFIX}) - file(REMOVE_RECURSE ${OSG_TOOLS_DBG}) +configure_file("${CMAKE_CURRENT_LIST_DIR}/unofficial-osg-config.cmake" "${CURRENT_PACKAGES_DIR}/share/unofficial-osg/unofficial-osg-config.cmake" @ONLY) +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-osg) + +# Add debug folder prefix for plugin targets. vcpkg_cmake_config_fixup only handles this for targets in bin/ and lib/. +set(osg_plugins_debug_targets "${CURRENT_PACKAGES_DIR}/share/unofficial-osg/osg-plugins-debug.cmake") +if(EXISTS "${osg_plugins_debug_targets}") + file(READ "${osg_plugins_debug_targets}" contents) + string(REPLACE "${CURRENT_INSTALLED_DIR}" "\${_IMPORT_PREFIX}" contents "${contents}") + string(REPLACE "\${_IMPORT_PREFIX}/plugins" "\${_IMPORT_PREFIX}/debug/plugins" contents "${contents}") + file(WRITE "${osg_plugins_debug_targets}" "${contents}") endif() -file(GLOB OSG_TOOLS ${CURRENT_PACKAGES_DIR}/share/OpenSceneGraph/bin/*${VCPKG_TARGET_EXECUTABLE_SUFFIX}) -if (OSG_TOOLS) - file(COPY ${OSG_TOOLS} DESTINATION ${OSG_TOOL_PATH}) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share/OpenSceneGraph) -endif() - -if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - file(GLOB OSG_PLUGINS_DBG ${CURRENT_PACKAGES_DIR}/debug/bin/osgPlugins-${OSG_VER}/*) - if (OSG_PLUGINS_DBG) - file(COPY ${OSG_PLUGINS_DBG} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/tools/${PORT}/osgPlugins-${OSG_VER}) - endif() - file(GLOB OSG_PLUGINS_REL ${CURRENT_PACKAGES_DIR}/bin/osgPlugins-${OSG_VER}/*) - if (OSG_PLUGINS_REL) - if (NOT EXISTS ${OSG_TOOL_PATH}) - file(MAKE_DIRECTORY ${OSG_TOOL_PATH}) - endif() - file(COPY ${OSG_PLUGINS_REL} DESTINATION ${OSG_TOOL_PATH}/osgPlugins-${OSG_VER}) - endif() - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin/osgPlugins-${OSG_VER}/ ${CURRENT_PACKAGES_DIR}/debug/bin/osgPlugins-${OSG_VER}/) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + file(APPEND "${CURRENT_PACKAGES_DIR}/include/osg/Config" "#ifndef OSG_LIBRARY_STATIC\n#define OSG_LIBRARY_STATIC 1\n#endif\n") endif() -file(GLOB OSG_PLUGINS_DBG ${CURRENT_PACKAGES_DIR}/debug/bin/osgPlugins-${OSG_VER}/*) -if (OSG_PLUGINS_DBG) - file(COPY ${OSG_PLUGINS_DBG} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/tools/${PORT}/osgPlugins-${OSG_VER}) +set(osg_plugins_subdir "osgPlugins-${OSG_VER}") +vcpkg_list(SET tools) +if("examples" IN_LIST FEATURES AND VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + list(APPEND tools osg2cpp osgshaderpipeline) endif() - -file(GLOB OSG_PLUGINS_REL ${CURRENT_PACKAGES_DIR}/bin/osgPlugins-${OSG_VER}/*) -if (OSG_PLUGINS_REL) - if (NOT EXISTS ${OSG_TOOL_PATH}) - file(MAKE_DIRECTORY ${OSG_TOOL_PATH}) +if("tools" IN_LIST FEATURES) + list(APPEND tools osgversion present3D) + if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + list(APPEND tools osgviewer osgarchive osgconv osgfilecache) endif() - file(COPY ${OSG_PLUGINS_REL} DESTINATION ${OSG_TOOL_PATH}/osgPlugins-${OSG_VER}) endif() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin/osgPlugins-${OSG_VER}/ ${CURRENT_PACKAGES_DIR}/debug/bin/osgPlugins-${OSG_VER}/) - -#Cleanup -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) - -if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) +if(tools) + set(osg_plugin_pattern "${VCPKG_TARGET_SHARED_LIBRARY_PREFIX}osgdb*${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}") + file(GLOB osg_plugins "${CURRENT_PACKAGES_DIR}/plugins/${osg_plugins_subdir}/${osg_plugin_pattern}") + if(NOT osg_plugins STREQUAL "") + file(INSTALL ${osg_plugins} DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}/${osg_plugins_subdir}") + endif() + vcpkg_copy_tools(TOOL_NAMES ${tools} AUTO_CLEAN) endif() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin/osgPlugins-${OSG_VER}/) -# Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" +) +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/openscenegraph.pc" "\\\n" " ") +if(NOT VCPKG_BUILD_TYPE) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/openscenegraph.pc" "\\\n" " ") +endif() vcpkg_fixup_pkgconfig() + +file(COPY "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") diff --git a/ports/osg/remove-prefix.patch b/ports/osg/remove-prefix.patch deleted file mode 100644 index ced94522cdb579..00000000000000 --- a/ports/osg/remove-prefix.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/CMakeModules/ModuleInstall.cmake b/CMakeModules/ModuleInstall.cmake -index bb3be63..356edcd 100644 ---- a/CMakeModules/ModuleInstall.cmake -+++ b/CMakeModules/ModuleInstall.cmake -@@ -21,7 +21,7 @@ SOURCE_GROUP( - FILES ${TARGET_H} - ) - --IF(MSVC AND OSG_MSVC_VERSIONED_DLL) -+IF(0) - HANDLE_MSVC_DLL() - ENDIF() - -diff --git a/src/OpenThreads/win32/CMakeLists.txt b/src/OpenThreads/win32/CMakeLists.txt -index 84550bd..0e816f7 100644 ---- a/src/OpenThreads/win32/CMakeLists.txt -+++ b/src/OpenThreads/win32/CMakeLists.txt -@@ -39,7 +39,7 @@ LINK_DIRECTORIES( - ${CMAKE_CURRENT_BINARY_DIR} - ) - --IF(MSVC AND OSG_MSVC_VERSIONED_DLL) -+IF(0) - HANDLE_MSVC_DLL(ot ${OPENTHREADS_SOVERSION}) - ENDIF() - diff --git a/ports/osg/static.patch b/ports/osg/static.patch deleted file mode 100644 index c7278d282c2487..00000000000000 --- a/ports/osg/static.patch +++ /dev/null @@ -1,7 +0,0 @@ ---- a/src/osgPlugins/curl/CMakeLists.txt -+++ b/src/osgPlugins/curl/CMakeLists.txt -@@ -35,3 +35,3 @@ - ADD_DEFINITIONS(-DCURL_STATICLIB) -- SET(TARGET_EXTERNAL_LIBRARIES ${TARGET_EXTERNAL_LIBRARIES} ws2_32 winmm wldap32) -+ SET(TARGET_EXTERNAL_LIBRARIES ${TARGET_EXTERNAL_LIBRARIES} ws2_32 winmm wldap32 crypt32) - ENDIF() diff --git a/ports/osg/unofficial-export.patch b/ports/osg/unofficial-export.patch new file mode 100644 index 00000000000000..2142b112761905 --- /dev/null +++ b/ports/osg/unofficial-export.patch @@ -0,0 +1,76 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c975d78..cc53332 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1374,3 +1374,6 @@ ADD_CUSTOM_TARGET(uninstall + # + include(FeatureSummary) + feature_summary(WHAT ALL) ++ ++INSTALL(EXPORT osg-targets NAMESPACE unofficial::osg:: DESTINATION share/unofficial-osg) ++INSTALL(EXPORT osg-plugins NAMESPACE unofficial::osg:: DESTINATION share/unofficial-osg) +diff --git a/CMakeModules/ModuleInstall.cmake b/CMakeModules/ModuleInstall.cmake +index f6714c5..d58f6fd 100644 +--- a/CMakeModules/ModuleInstall.cmake ++++ b/CMakeModules/ModuleInstall.cmake +@@ -27,6 +27,7 @@ ENDIF() + + INSTALL( + TARGETS ${LIB_NAME} ++ EXPORT osg-targets + RUNTIME DESTINATION ${INSTALL_BINDIR} COMPONENT libopenscenegraph + LIBRARY DESTINATION ${INSTALL_LIBDIR} COMPONENT libopenscenegraph + ARCHIVE DESTINATION ${INSTALL_ARCHIVEDIR} COMPONENT libopenscenegraph-dev +diff --git a/CMakeModules/OsgMacroUtils.cmake b/CMakeModules/OsgMacroUtils.cmake +index dcc1fe37d..76429b85a 100644 +--- a/CMakeModules/OsgMacroUtils.cmake ++++ b/CMakeModules/OsgMacroUtils.cmake +@@ -345,18 +350,20 @@ 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}/${OSG_PLUGINS} + IF(WIN32) + INSTALL(TARGETS ${TARGET_TARGETNAME} ++ EXPORT osg-plugins + RUNTIME DESTINATION bin COMPONENT ${PACKAGE_COMPONENT} + ARCHIVE DESTINATION lib/${OSG_PLUGINS} COMPONENT libopenscenegraph-dev +- LIBRARY DESTINATION bin/${OSG_PLUGINS} COMPONENT ${PACKAGE_COMPONENT}) ++ LIBRARY DESTINATION plugins/${OSG_PLUGINS} COMPONENT ${PACKAGE_COMPONENT}) + IF(MSVC AND DYNAMIC_OPENSCENEGRAPH) +- INSTALL(FILES ${OUTPUT_BINDIR}/${OSG_PLUGINS}/${TARGET_TARGETNAME}${CMAKE_RELWITHDEBINFO_POSTFIX}.pdb DESTINATION bin/${OSG_PLUGINS} COMPONENT ${PACKAGE_COMPONENT} CONFIGURATIONS RelWithDebInfo) +- INSTALL(FILES $ DESTINATION bin/${OSG_PLUGINS} COMPONENT ${PACKAGE_COMPONENT} CONFIGURATIONS Debug) ++ INSTALL(FILES ${OUTPUT_BINDIR}/${OSG_PLUGINS}/${TARGET_TARGETNAME}${CMAKE_RELWITHDEBINFO_POSTFIX}.pdb DESTINATION plugins/${OSG_PLUGINS} COMPONENT ${PACKAGE_COMPONENT} CONFIGURATIONS RelWithDebInfo) ++ INSTALL(FILES $ DESTINATION plugins/${OSG_PLUGINS} COMPONENT ${PACKAGE_COMPONENT} CONFIGURATIONS Debug) + ENDIF(MSVC AND DYNAMIC_OPENSCENEGRAPH) + ELSE(WIN32) + INSTALL(TARGETS ${TARGET_TARGETNAME} ++ EXPORT osg-plugins + RUNTIME DESTINATION bin COMPONENT ${PACKAGE_COMPONENT} + ARCHIVE DESTINATION lib${LIB_POSTFIX}/${OSG_PLUGINS} COMPONENT libopenscenegraph-dev +- LIBRARY DESTINATION lib${LIB_POSTFIX}/${OSG_PLUGINS} COMPONENT ${PACKAGE_COMPONENT}) ++ LIBRARY DESTINATION plugins${LIB_POSTFIX}/${OSG_PLUGINS} COMPONENT ${PACKAGE_COMPONENT}) + ENDIF(WIN32) + ENDMACRO(SETUP_PLUGIN) + +diff --git a/src/OpenThreads/pthreads/CMakeLists.txt b/src/OpenThreads/pthreads/CMakeLists.txt +index e18969c..5a8ad62 100644 +--- a/src/OpenThreads/pthreads/CMakeLists.txt ++++ b/src/OpenThreads/pthreads/CMakeLists.txt +@@ -157,6 +157,7 @@ ELSE() + + INSTALL( + TARGETS OpenThreads ++ EXPORT osg-targets + ARCHIVE DESTINATION lib${LIB_POSTFIX} COMPONENT libopenthreads-dev + LIBRARY DESTINATION lib${LIB_POSTFIX} COMPONENT libopenthreads + RUNTIME DESTINATION bin COMPONENT libopenthreads +diff --git a/src/OpenThreads/win32/CMakeLists.txt b/src/OpenThreads/win32/CMakeLists.txt +index 0e816f7..0c083fd 100644 +--- a/src/OpenThreads/win32/CMakeLists.txt ++++ b/src/OpenThreads/win32/CMakeLists.txt +@@ -45,6 +45,7 @@ ENDIF() + + INSTALL( + TARGETS OpenThreads ++ EXPORT osg-targets + ARCHIVE DESTINATION lib COMPONENT libopenthreads-dev + LIBRARY DESTINATION lib COMPONENT libopenthreads + RUNTIME DESTINATION bin COMPONENT libopenthreads diff --git a/ports/osg/unofficial-osg-config.cmake b/ports/osg/unofficial-osg-config.cmake new file mode 100644 index 00000000000000..512253b29bc9ad --- /dev/null +++ b/ports/osg/unofficial-osg-config.cmake @@ -0,0 +1,23 @@ +cmake_policy(PUSH) +cmake_policy(SET CMP0012 NEW) +cmake_policy(SET CMP0054 NEW) +cmake_policy(SET CMP0057 NEW) +include("${CMAKE_CURRENT_LIST_DIR}/osg-targets.cmake") +include(CMakeFindDependencyMacro) +if("@OSG_TEXT_USE_FONTCONFIG@") + find_dependency(Fontconfig) # CMake 3.14 +endif() +if("plugins" IN_LIST ${CMAKE_FIND_PACKAGE_NAME}_FIND_COMPONENTS) + include("${CMAKE_CURRENT_LIST_DIR}/osg-plugins.cmake") + if(TARGET unofficial::osg::osgdb_curl) + find_dependency(CURL) + endif() + if(TARGET unofficial::osg::osgdb_exr) + find_dependency(OpenEXR CONFIG) + endif() + if(TARGET unofficial::osg::osgdb_gdal OR TARGET unofficial::osg::osgdb_ogr) + find_dependency(GDAL) + endif() +endif() +set(${CMAKE_FIND_PACKAGE_NAME}_VERSION "@OSG_VER@") +cmake_policy(POP) diff --git a/ports/osg/usage b/ports/osg/usage new file mode 100644 index 00000000000000..7b7388febe6337 --- /dev/null +++ b/ports/osg/usage @@ -0,0 +1,5 @@ +The package osg can be configured to use different OpenGL profiles via a custom triplet file. +Possible values are GLCORE, GL2, GL3, GLES1, GLES2, GLES3 and GLES2+GLES3. +The default value is GL2. If you want use other profiles, please add the following +code to a custom triplet file. +set(osg_OPENGL_PROFILE GL3) 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 66d2ee8e566290..ecfbed13580b9b 100644 --- a/ports/osg/vcpkg.json +++ b/ports/osg/vcpkg.json @@ -1,24 +1,37 @@ { "name": "osg", - "version-string": "3.6.5", - "port-version": 10, + "version": "3.6.5", + "port-version": 25, "description": "The OpenSceneGraph is an open source high performance 3D graphics toolkit.", - "homepage": "https://github.com/openscenegraph/OpenSceneGraph", + "homepage": "https://www.openscenegraph.com/", + "license": null, + "supports": "!uwp", "dependencies": [ { "name": "expat", "platform": "windows" }, - { - "name": "fontconfig", - "platform": "!windows" - }, + "opengl-registry", { "name": "openimageio", + "default-features": false, "platform": "osx" }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, "zlib" ], + "default-features": [ + "default-features", + "freetype", + "plugins" + ], "features": { "collada": { "description": "Support for Collada (.dae) files", @@ -26,98 +39,156 @@ "collada-dom" ] }, + "default-features": { + "description": "Platform-dependent default features", + "dependencies": [ + { + "name": "osg", + "default-features": false, + "features": [ + "openexr" + ], + "platform": "!uwp" + }, + { + "name": "osg", + "default-features": false, + "features": [ + "fontconfig" + ], + "platform": "!android & !ios & !uwp" + }, + { + "name": "osg", + "default-features": false, + "features": [ + "nvtt" + ], + "platform": "!x86 & !(windows & arm64) & !uwp" + } + ] + }, "docs": { "description": "Build OpenSceneGraph reference documentation using doxygen (use: make doc_openscenegraph doc_openthreads" }, "examples": { "description": "Enable to build OSG Examples", "dependencies": [ - "freetype", { "name": "libiconv", "platform": "windows" }, - "sdl1", + { + "name": "osg", + "default-features": false, + "features": [ + "freetype", + "plugins" + ] + }, "sdl2" ] }, + "fontconfig": { + "description": "Enable Fontconfig support for osgText", + "dependencies": [ + "fontconfig", + { + "name": "osg", + "default-features": false, + "features": [ + "freetype" + ] + } + ] + }, + "freetype": { + "description": "Enable Freetype support", + "dependencies": [ + { + "name": "freetype", + "default-features": false + } + ] + }, + "nvtt": { + "description": "Build texture processing tools plugin", + "dependencies": [ + "nvtt" + ] + }, + "openexr": { + "description": "Build the exr plugin", + "dependencies": [ + "openexr" + ] + }, "packages": { "description": "Set to ON to generate CPack configuration files and packaging targets" }, "plugins": { - "description": "Build OSG Plugins - Disable for compile testing examples on a time limit", + "description": "Build most OSG plugins", "dependencies": [ { - "name": "boost-asio", - "platform": "!windows" - }, - { - "name": "boost-bind", - "platform": "!windows" - }, - { - "name": "boost-core", - "platform": "!windows" - }, - { - "name": "boost-lexical-cast", - "platform": "!windows" - }, - { - "name": "boost-logic", - "platform": "!windows" + "name": "curl", + "default-features": false }, { - "name": "boost-smart-ptr", - "platform": "!windows" + "name": "gdal", + "default-features": false }, - { - "name": "boost-tuple", - "platform": "!windows" - }, - "coin", - "curl", - "freetype", - "gdal", { "name": "giflib", "platform": "windows" }, - "ilmbase", - "jasper", + { + "name": "jasper", + "default-features": false + }, "libgta", { "name": "libiconv", "platform": "windows" }, "libjpeg-turbo", - "liblas", "libpng", { "name": "libxml2", "platform": "windows" }, { - "name": "nvtt", - "platform": "!x86" - }, - "openexr", - "sdl1", - "tiff" + "name": "tiff", + "default-features": false + } + ] + }, + "sdl1": { + "description": "Build SDL 1 plugin, and enable SDL 1 app features", + "dependencies": [ + "sdl1" ] }, "tools": { "description": "Enable to build OSG Applications (e.g. osgviewer)", "dependencies": [ - "curl", - "freetype", + { + "name": "curl", + "default-features": false + }, { "name": "libiconv", "platform": "windows" }, "libjpeg-turbo", "libpng", - "sdl1" + { + "name": "osg", + "default-features": false, + "features": [ + "freetype", + "plugins" + ] + } ] } } diff --git a/ports/osgearth/StaticOSG.patch b/ports/osgearth/StaticOSG.patch deleted file mode 100644 index 2f4b1bff11c7de..00000000000000 --- a/ports/osgearth/StaticOSG.patch +++ /dev/null @@ -1,84 +0,0 @@ -From 4e719ceacdc8df729f3296f62c9f50075c862967 Mon Sep 17 00:00:00 2001 -From: Ankur Verma -Date: Sun, 27 Dec 2020 22:26:32 -0800 -Subject: [PATCH] StaticOSG - ---- - CMakeLists.txt | 9 ++++++ - CMakeModules/FindGEOS.cmake | 29 +++++++++++++++++++++++++++-- - 2 files changed, 36 insertions(+), 2 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 049e37e..d75a3b9 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -266,6 +266,15 @@ ELSE() - SET(OSGEARTH_DYNAMIC_OR_STATIC "STATIC") - ENDIF() - -+IF(NOT OSGEARTH_BUILD_SHARED_LIBS) -+ ADD_DEFINITIONS(-DOSGEARTH_LIBRARY_STATIC) -+ENDIF() -+ -+OPTION(OSG_IS_STATIC "Set to ON to build OSG for static linking. Use OFF for dynamic." OFF) -+IF (OSG_IS_STATIC) -+ ADD_DEFINITIONS(-DOSG_LIBRARY_STATIC) -+ LINK_LIBRARIES(${CMAKE_DL_LIBS}) -+ENDIF(OSG_IS_STATIC) - - # OE Libraries - ADD_SUBDIRECTORY(src) -diff --git a/CMakeModules/FindGEOS.cmake b/CMakeModules/FindGEOS.cmake -index e85f922..b1bbfed 100644 ---- a/CMakeModules/FindGEOS.cmake -+++ b/CMakeModules/FindGEOS.cmake -@@ -65,7 +65,7 @@ FIND_LIBRARY(GEOS_LIBRARY - ) - - FIND_LIBRARY(GEOS_LIBRARY_DEBUG -- NAMES geos_cd geos_i_d geosd -+ NAMES geos_cd geos_i_d - PATHS - ${GEOS_DIR}/lib - $ENV{GEOS_DIR} -@@ -74,7 +74,7 @@ FIND_LIBRARY(GEOS_LIBRARY_DEBUG - ) - - FIND_LIBRARY(GEOS_LIBRARY_DEBUG -- NAMES geos_cd geos_i_d geosd -+ NAMES geos_cd geos_i_d - PATHS - ~/Library/Frameworks - /Library/Frameworks -@@ -92,3 +92,28 @@ SET(GEOS_FOUND "NO") - IF(GEOS_LIBRARY AND GEOS_INCLUDE_DIR) - SET(GEOS_FOUND "YES") - ENDIF(GEOS_LIBRARY AND GEOS_INCLUDE_DIR) -+ -+OPTION(GEOS_IS_STATIC "Set to ON to build GEOS for static linking. Use OFF for dynamic." OFF) -+IF (GEOS_IS_STATIC) -+ FIND_LIBRARY(GEOS_CXX_LIBRARY -+ NAMES geos -+ PATHS -+ ${GEOS_DIR}/lib -+ $ENV{GEOS_DIR} -+ NO_DEFAULT_PATH -+ PATH_SUFFIXES lib64 lib -+ ) -+ -+ FIND_LIBRARY(GEOS_CXX_LIBRARY_DEBUG -+ NAMES geosd -+ PATHS -+ ${GEOS_DIR}/lib -+ $ENV{GEOS_DIR} -+ NO_DEFAULT_PATH -+ PATH_SUFFIXES lib64 lib -+ ) -+ -+ set(GEOS_LIBRARY "${GEOS_LIBRARY};${GEOS_CXX_LIBRARY}" CACHE STRING "Geos Libraries" FORCE ) -+ set(GEOS_LIBRARY_DEBUG "${GEOS_LIBRARY_DEBUG};${GEOS_CXX_LIBRARY_DEBUG}" CACHE STRING "Geos Debug Libraries" FORCE ) -+ -+ENDIF(GEOS_IS_STATIC) --- -2.29.2 - diff --git a/ports/osgearth/fix-dependency-osg.patch b/ports/osgearth/fix-dependency-osg.patch deleted file mode 100644 index 9d8b0d43df78be..00000000000000 --- a/ports/osgearth/fix-dependency-osg.patch +++ /dev/null @@ -1,172 +0,0 @@ -diff --git a/CMakeModules/FindOSG.cmake b/CMakeModules/FindOSG.cmake -index b7dff11..d1ec2ff 100644 ---- a/CMakeModules/FindOSG.cmake -+++ b/CMakeModules/FindOSG.cmake -@@ -121,5 +121,36 @@ IF( OSG_LIBRARY AND OSG_INCLUDE_DIR ) - SET( OSG_FOUND "YES" ) - SET( OSG_INCLUDE_DIRS ${OSG_INCLUDE_DIR} ${OSG_GEN_INCLUDE_DIR} ) - GET_FILENAME_COMPONENT( OSG_LIBRARIES_DIR ${OSG_LIBRARY} PATH ) -+ -+ find_package(ZLIB REQUIRED) -+ set(ZLIB_LIBRARY ZLIB::ZLIB) -+ -+ find_package(Freetype REQUIRED) -+ set(FREETYPE_LIBRARY Freetype::Freetype) -+ -+ find_package(unofficial-brotli CONFIG REQUIRED) -+ find_package(BZip2 REQUIRED) -+ find_package(expat CONFIG REQUIRED) -+ find_package(PNG REQUIRED) -+ find_package(JPEG REQUIRED) -+ find_package(TIFF REQUIRED) -+ find_package(zstd REQUIRED) -+ find_package(GIF REQUIRED) -+ -+ if (UNIX) -+ list(APPEND OSG_DEPENDS_LIBRARY ${OSG_DEPENDS_LIBRARY} -pthread) -+ # Due to Linux Linker dependency issues these need to included again -+ set(DEPEND_LIB_LIST fontconfig freetype uuid gdal json-c expat zstd proj sqlite3 webp gif cfitsio openjp2 xml2) -+ else(UNIX) -+ set(DEPEND_LIB_LIST cfitsio) -+ endif() -+ foreach (libname ${DEPEND_LIB_LIST}) -+ find_library(${libname}_LIBRARY_RELEASE NAMES ${libname} NAMES_PER_DIR PATH_SUFFIXES lib PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}" NO_DEFAULT_PATH REQUIRED) -+ find_library(${libname}_LIBRARY_DEBUG NAMES ${libname} ${libname}d ${libname}_d NAMES_PER_DIR PATH_SUFFIXES lib PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug" NO_DEFAULT_PATH REQUIRED) -+ select_library_configurations(${libname}) -+ list(APPEND OSG_DEPENDS_LIBRARY ${${libname}_LIBRARY}) -+ endforeach() -+ list(APPEND OSG_DEPENDS_LIBRARY ZLIB::ZLIB Freetype::Freetype expat::expat PNG::PNG JPEG::JPEG TIFF::TIFF ${GIF_LIBRARIES} ${CFITSIO_LIBRARY}) -+ - ENDIF( OSG_LIBRARY AND OSG_INCLUDE_DIR ) - -diff --git a/src/applications/osgearth_3pv/CMakeLists.txt b/src/applications/osgearth_3pv/CMakeLists.txt -index e1dc876..6d688ff 100644 ---- a/src/applications/osgearth_3pv/CMakeLists.txt -+++ b/src/applications/osgearth_3pv/CMakeLists.txt -@@ -1,5 +1,5 @@ - INCLUDE_DIRECTORIES(${OSG_INCLUDE_DIRS} ) --SET(TARGET_LIBRARIES_VARS OSG_LIBRARY OSGDB_LIBRARY OSGUTIL_LIBRARY OSGVIEWER_LIBRARY OPENTHREADS_LIBRARY) -+SET(TARGET_LIBRARIES_VARS OSGDB_LIBRARY OSGVIEWER_LIBRARY OSGUTIL_LIBRARY OSG_LIBRARY OPENTHREADS_LIBRARY) - - SET(TARGET_SRC osgearth_3pv.cpp ) - -diff --git a/src/applications/osgearth_atlas/CMakeLists.txt b/src/applications/osgearth_atlas/CMakeLists.txt -index aadbb5e..69698c7 100644 ---- a/src/applications/osgearth_atlas/CMakeLists.txt -+++ b/src/applications/osgearth_atlas/CMakeLists.txt -@@ -1,6 +1,6 @@ - INCLUDE_DIRECTORIES(${OSG_INCLUDE_DIRS} ) - --SET(TARGET_LIBRARIES_VARS OSG_LIBRARY OSGDB_LIBRARY OSGUTIL_LIBRARY OSGVIEWER_LIBRARY OPENTHREADS_LIBRARY) -+SET(TARGET_LIBRARIES_VARS OSGDB_LIBRARY OSGVIEWER_LIBRARY OSGUTIL_LIBRARY OSG_LIBRARY OPENTHREADS_LIBRARY) - - SET(TARGET_SRC osgearth_atlas.cpp ) - -diff --git a/src/applications/osgearth_boundarygen/CMakeLists.txt b/src/applications/osgearth_boundarygen/CMakeLists.txt -index fe9ec6b..52915b0 100644 ---- a/src/applications/osgearth_boundarygen/CMakeLists.txt -+++ b/src/applications/osgearth_boundarygen/CMakeLists.txt -@@ -1,5 +1,5 @@ - INCLUDE_DIRECTORIES(${OSG_INCLUDE_DIRS} ) --SET(TARGET_LIBRARIES_VARS OSG_LIBRARY OSGDB_LIBRARY OSGUTIL_LIBRARY OSGVIEWER_LIBRARY OPENTHREADS_LIBRARY) -+SET(TARGET_LIBRARIES_VARS OSGDB_LIBRARY OSGVIEWER_LIBRARY OSGUTIL_LIBRARY OSG_LIBRARY OPENTHREADS_LIBRARY) - - SET(TARGET_H - BoundaryUtil -diff --git a/src/applications/osgearth_clamp/CMakeLists.txt b/src/applications/osgearth_clamp/CMakeLists.txt -index 996ea43..728ee77 100644 ---- a/src/applications/osgearth_clamp/CMakeLists.txt -+++ b/src/applications/osgearth_clamp/CMakeLists.txt -@@ -1,5 +1,5 @@ - INCLUDE_DIRECTORIES(${OSG_INCLUDE_DIRS} ) --SET(TARGET_LIBRARIES_VARS OSG_LIBRARY OSGDB_LIBRARY OSGUTIL_LIBRARY OPENTHREADS_LIBRARY) -+SET(TARGET_LIBRARIES_VARS OSGDB_LIBRARY OSGUTIL_LIBRARY OSG_LIBRARY OPENTHREADS_LIBRARY) - - SET(TARGET_SRC osgearth_clamp.cpp) - -diff --git a/src/applications/osgearth_conv/CMakeLists.txt b/src/applications/osgearth_conv/CMakeLists.txt -index a77d703..2aac5f2 100644 ---- a/src/applications/osgearth_conv/CMakeLists.txt -+++ b/src/applications/osgearth_conv/CMakeLists.txt -@@ -1,5 +1,5 @@ - INCLUDE_DIRECTORIES(${OSG_INCLUDE_DIRS} ) --SET(TARGET_LIBRARIES_VARS OSG_LIBRARY OSGDB_LIBRARY OSGUTIL_LIBRARY OPENTHREADS_LIBRARY) -+SET(TARGET_LIBRARIES_VARS OSGDB_LIBRARY OSGUTIL_LIBRARY OSG_LIBRARY OPENTHREADS_LIBRARY) - - SET(TARGET_SRC osgearth_conv.cpp ) - -diff --git a/src/applications/osgearth_overlayviewer/CMakeLists.txt b/src/applications/osgearth_overlayviewer/CMakeLists.txt -index bb2802a..5175cfc 100644 ---- a/src/applications/osgearth_overlayviewer/CMakeLists.txt -+++ b/src/applications/osgearth_overlayviewer/CMakeLists.txt -@@ -1,5 +1,5 @@ - INCLUDE_DIRECTORIES(${OSG_INCLUDE_DIRS} ) --SET(TARGET_LIBRARIES_VARS OSG_LIBRARY OSGDB_LIBRARY OSGUTIL_LIBRARY OSGVIEWER_LIBRARY OPENTHREADS_LIBRARY) -+SET(TARGET_LIBRARIES_VARS OSGDB_LIBRARY OSGVIEWER_LIBRARY OSGUTIL_LIBRARY OSG_LIBRARY OPENTHREADS_LIBRARY) - - SET(TARGET_SRC osgearth_overlayviewer.cpp ) - -diff --git a/src/applications/osgearth_tfs/CMakeLists.txt b/src/applications/osgearth_tfs/CMakeLists.txt -index 90c153a..d331019 100644 ---- a/src/applications/osgearth_tfs/CMakeLists.txt -+++ b/src/applications/osgearth_tfs/CMakeLists.txt -@@ -1,6 +1,6 @@ - INCLUDE_DIRECTORIES(${OSG_INCLUDE_DIRS} ) - --SET(TARGET_LIBRARIES_VARS OSG_LIBRARY OSGDB_LIBRARY OSGUTIL_LIBRARY OSGVIEWER_LIBRARY OPENTHREADS_LIBRARY) -+SET(TARGET_LIBRARIES_VARS OSGDB_LIBRARY OSGVIEWER_LIBRARY OSGUTIL_LIBRARY OSG_LIBRARY OPENTHREADS_LIBRARY) - - SET(TARGET_SRC osgearth_tfs.cpp ) - -diff --git a/src/applications/osgearth_toc/CMakeLists.txt b/src/applications/osgearth_toc/CMakeLists.txt -index b32c523..7b25b79 100644 ---- a/src/applications/osgearth_toc/CMakeLists.txt -+++ b/src/applications/osgearth_toc/CMakeLists.txt -@@ -1,5 +1,5 @@ - INCLUDE_DIRECTORIES(${OSG_INCLUDE_DIRS} ) --SET(TARGET_LIBRARIES_VARS OSG_LIBRARY OSGDB_LIBRARY OSGUTIL_LIBRARY OSGVIEWER_LIBRARY OPENTHREADS_LIBRARY OSGWIDGET_LIBRARY) -+SET(TARGET_LIBRARIES_VARS OSGDB_LIBRARY OSGVIEWER_LIBRARY OSGWIDGET_LIBRARY OSGUTIL_LIBRARY OSG_LIBRARY OPENTHREADS_LIBRARY) - - SET(TARGET_SRC osgearth_toc.cpp ) - -diff --git a/src/applications/osgearth_version/CMakeLists.txt b/src/applications/osgearth_version/CMakeLists.txt -index 1f1d48d..01e963b 100644 ---- a/src/applications/osgearth_version/CMakeLists.txt -+++ b/src/applications/osgearth_version/CMakeLists.txt -@@ -1,5 +1,5 @@ - INCLUDE_DIRECTORIES(${OSG_INCLUDE_DIRS} ) --SET(TARGET_LIBRARIES_VARS OSG_LIBRARY OSGDB_LIBRARY OSGUTIL_LIBRARY OSGVIEWER_LIBRARY OPENTHREADS_LIBRARY) -+SET(TARGET_LIBRARIES_VARS OSGDB_LIBRARY OSGVIEWER_LIBRARY OSGUTIL_LIBRARY OSG_LIBRARY OPENTHREADS_LIBRARY) - - SET(TARGET_SRC osgearth_version.cpp ) - -diff --git a/src/applications/osgearth_viewer/CMakeLists.txt b/src/applications/osgearth_viewer/CMakeLists.txt -index 8c61e42..bbda7be 100644 ---- a/src/applications/osgearth_viewer/CMakeLists.txt -+++ b/src/applications/osgearth_viewer/CMakeLists.txt -@@ -1,5 +1,5 @@ - INCLUDE_DIRECTORIES(${OSG_INCLUDE_DIRS} ) --SET(TARGET_LIBRARIES_VARS OSG_LIBRARY OSGDB_LIBRARY OSGUTIL_LIBRARY OSGVIEWER_LIBRARY OPENTHREADS_LIBRARY) -+SET(TARGET_LIBRARIES_VARS OSGDB_LIBRARY OSGVIEWER_LIBRARY OSGUTIL_LIBRARY OSG_LIBRARY OPENTHREADS_LIBRARY) - - SET(TARGET_SRC osgearth_viewer.cpp ) - -diff --git a/src/osgEarth/CMakeLists.txt b/src/osgEarth/CMakeLists.txt -index cd55c1164..7cecdac74 100644 ---- a/src/osgEarth/CMakeLists.txt -+++ b/src/osgEarth/CMakeLists.txt -@@ -928,9 +928,11 @@ ENDIF(TRACY_FOUND) - - OPTION(NRL_STATIC_LIBRARIES "Link osgEarth against static GDAL and cURL, including static OpenSSL, Proj4, JPEG, PNG, and TIFF." OFF) - if(NOT NRL_STATIC_LIBRARIES) -- LINK_WITH_VARIABLES(${LIB_NAME} OSG_LIBRARY OSGUTIL_LIBRARY OSGSIM_LIBRARY OSGDB_LIBRARY OSGVIEWER_LIBRARY OSGTEXT_LIBRARY OSGGA_LIBRARY OSGSHADOW_LIBRARY CURL_LIBRARY GDAL_LIBRARY OSGMANIPULATOR_LIBRARY) -+ LINK_WITH_VARIABLES(${LIB_NAME} OSGSIM_LIBRARY OSGVIEWER_LIBRARY OSGTEXT_LIBRARY OSGDB_LIBRARY OSGGA_LIBRARY OSGSHADOW_LIBRARY OPENTHREADS_LIBRARY OSGMANIPULATOR_LIBRARY OSGUTIL_LIBRARY OSG_LIBRARY) -+ TARGET_LINK_LIBRARIES(${LIB_NAME} ${OSG_DEPENDS_LIBRARY} ${CURL_LIBRARY} ${GDAL_LIBRARIES}) - else(NOT NRL_STATIC_LIBRARIES) -- LINK_WITH_VARIABLES(${LIB_NAME} OSG_LIBRARY OSGUTIL_LIBRARY OSGSIM_LIBRARY OSGDB_LIBRARY OSGVIEWER_LIBRARY OSGTEXT_LIBRARY OSGGA_LIBRARY OSGSHADOW_LIBRARY CURL_LIBRARY GDAL_LIBRARY OSGMANIPULATOR_LIBRARY SSL_EAY_RELEASE LIB_EAY_RELEASE TIFF_LIBRARY PROJ4_LIBRARY PNG_LIBRARY JPEG_LIBRARY) -+ LINK_WITH_VARIABLES(${LIB_NAME} OSGSIM_LIBRARY OSGVIEWER_LIBRARY OSGTEXT_LIBRARY OSGDB_LIBRARY OSGGA_LIBRARY OSGSHADOW_LIBRARY OPENTHREADS_LIBRARY OSGMANIPULATOR_LIBRARY OSGUTIL_LIBRARY OSG_LIBRARY) -+ TARGET_LINK_LIBRARIES(${LIB_NAME} ${OSG_DEPENDS_LIBRARY} ${CURL_LIBRARY} ${GDAL_LIBRARIES} ${SSL_EAY_RELEASE} ${LIB_EAY_RELEASE} ${TIFF_LIBRARY} ${PROJ4_LIBRARY} ${PNG_LIBRARY} ${JPEG_LIBRARY}) - endif(NOT NRL_STATIC_LIBRARIES) - - LINK_CORELIB_DEFAULT(${LIB_NAME} ${CMAKE_THREAD_LIBS_INIT} ${MATH_LIBRARY}) - 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/make-all-find-packages-required.patch b/ports/osgearth/make-all-find-packages-required.patch deleted file mode 100644 index a39abb47955a59..00000000000000 --- a/ports/osgearth/make-all-find-packages-required.patch +++ /dev/null @@ -1,95 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 7541c8d..b4076fe 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -122,40 +122,54 @@ option(OSGEARTH_ENABLE_GEOCODER "Enable the geocoder (GDAL/OGR must be built wit - - # 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) - - # required - find_package(OSG REQUIRED) --find_package(CURL REQUIRED) -+find_package(CURL CONFIG REQUIRED) -+set(CURL_LIBRARY CURL::libcurl) - find_package(GDAL REQUIRED) -- -+set(GDAL_LIBRARY ${GDAL_LIBRARIES}) -+set(GDAL_FOUND 1) - # 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(geos CONFIG REQUIRED) -+set(GEOS_LIBRARY GEOS::geos GEOS::geos_c) -+set(GEOS_FOUND 1) -+find_package(unofficial-sqlite3 CONFIG REQUIRED) -+set(SQLITE3_FOUND 1) -+set(SQLITE3_LIBRARY unofficial::sqlite3::sqlite3) -+find_package(Draco REQUIRED) -+find_package(BASISU REQUIRED) -+find_package(GLEW REQUIRED) -+set(GLEW_LIBRARIES GLEW::GLEW) -+set(GLEW_FOUND 1) -+find_package(protobuf CONFIG REQUIRED) -+set(Protobuf_LIBRARIES protobuf::libprotoc protobuf::libprotobuf) -+set(Protobuf_FOUND 1) -+find_package(WebP CONFIG REQUIRED) -+set(WEBP_LIBRARY WebP::webp) -+set(WEBP_FOUND 1) -+find_package(Blend2D 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) -+ set(LIBZIP_FOUND 1) - 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: -@@ -193,7 +207,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). -@@ -204,7 +218,9 @@ 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 CONFIG REQUIRED) -+ set(TINYXML_FOUND 1) -+ set(TINYXML_LIBRARY unofficial-tinyxml::unofficial-tinyxml) - ENDIF (WITH_EXTERNAL_TINYXML) - - # postfix settings for various configs diff --git a/ports/osgearth/portfile.cmake b/ports/osgearth/portfile.cmake index 6b7725ccc6591b..615ae91d0632df 100644 --- a/ports/osgearth/portfile.cmake +++ b/ports/osgearth/portfile.cmake @@ -1,88 +1,86 @@ -# Only dynamic build need dlls -if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - file(GLOB OSG_PLUGINS_SUBDIR ${CURRENT_INSTALLED_DIR}/tools/osg/osgPlugins-*) - list(LENGTH OSG_PLUGINS_SUBDIR OSG_PLUGINS_SUBDIR_LENGTH) - if(NOT OSG_PLUGINS_SUBDIR_LENGTH EQUAL 1) - message(FATAL_ERROR "Could not determine osg version") - endif() - string(REPLACE "${CURRENT_INSTALLED_DIR}/tools/osg/" "" OSG_PLUGINS_SUBDIR "${OSG_PLUGINS_SUBDIR}") -endif() - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO gwaldron/osgearth - REF 15d5340f174212d6f93ae55c0d9af606c3d361c0 #version 3.2 - SHA512 f922e8bbb041a498e948587f03e8dc8a07b92e641f38d50a8eafb8b3ce1e0c92bb1ee01360d57e794429912734b60cf05ba143445a442bc95af39e3dd9fc3670 + REF "osgearth-${VERSION}" + SHA512 2f764eb1fff21cff57a04eceb73643b372c8b70899114c88cdf9928d525517214959745cb70b99ad3d1def946bfb3f58f16b4969ee4117b7563398f2410ee3e2 HEAD_REF master - PATCHES - StaticOSG.patch # Fix port compilation in static-md module - make-all-find-packages-required.patch - fix-dependency-osg.patch - remove-tool-debug-suffix.patch + PATCHES + remove-lerc-gltf.patch + install-plugins.patch ) -# Upstream bug, see https://github.com/gwaldron/osgearth/issues/1002 -file(REMOVE ${SOURCE_PATH}/src/osgEarth/tinyxml.h) +if("tools" IN_LIST FEATURES) + message(STATUS "Downloading submodules") + # Download submodules from github manually since vpckg doesn't support submodules natively. + # IMGUI + #osgEarth is currently using imgui docking branch for osgearth_imgui example + vcpkg_from_github( + OUT_SOURCE_PATH IMGUI_SOURCE_PATH + REPO ocornut/imgui + REF cab7edd135fb8a02b3552e9abe4c312d595e8777 #docking branch + SHA512 26dfe94793bcc7b041c723cfbf2033c32e5050d87b99856746f9f3e7f562db15b9432bf92747db7823acbc6e366dbcb023653692bb5336ce65a98483c4d8232a + HEAD_REF master + ) + + # Remove exisiting folder in case it was not cleaned + file(REMOVE_RECURSE "${SOURCE_PATH}/src/third_party/imgui") + # Copy the submodules to the right place + file(COPY "${IMGUI_SOURCE_PATH}/" DESTINATION "${SOURCE_PATH}/src/third_party/imgui") +endif() -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 - tools OSGEARTH_BUILD_TOOLS + FEATURES + tools OSGEARTH_BUILD_TOOLS + blend2d WITH_BLEND2D ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS ${FEATURE_OPTIONS} +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} + -DLIB_POSTFIX= -DOSGEARTH_BUILD_SHARED_LIBS=${BUILD_SHARED} - -DNRL_STATIC_LIBRARIES=${BUILD_STATIC} - -DOSG_IS_STATIC=${BUILD_STATIC} - -DGEOS_IS_STATIC=${BUILD_STATIC} - -DCURL_IS_STATIC=${BUILD_STATIC} -DOSGEARTH_BUILD_EXAMPLES=OFF -DOSGEARTH_BUILD_TESTS=OFF -DOSGEARTH_BUILD_DOCS=OFF -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_install_cmake() - -if (WIN32 AND (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)) - #Release - set(OSGEARTH_TOOL_PATH ${CURRENT_PACKAGES_DIR}/tools/${PORT}) - set(OSGEARTH_TOOL_PLUGIN_PATH ${OSGEARTH_TOOL_PATH}/${OSG_PLUGINS_SUBDIR}) - - file(MAKE_DIRECTORY ${OSGEARTH_TOOL_PLUGIN_PATH}) - file(GLOB OSGDB_PLUGINS ${CURRENT_PACKAGES_DIR}/bin/${OSG_PLUGINS_SUBDIR}/osgdb*.dll) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup() - file(COPY ${OSGDB_PLUGINS} DESTINATION ${OSGEARTH_TOOL_PLUGIN_PATH}) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin/${OSG_PLUGINS_SUBDIR}) - - #Debug - set(OSGEARTH_DEBUG_TOOL_PATH ${CURRENT_PACKAGES_DIR}/debug/tools/${PORT}) - set(OSGEARTH_DEBUG_TOOL_PLUGIN_PATH ${OSGEARTH_DEBUG_TOOL_PATH}/${OSG_PLUGINS_SUBDIR}) - - file(MAKE_DIRECTORY ${OSGEARTH_DEBUG_TOOL_PLUGIN_PATH}) - - file(GLOB OSGDB_DEBUG_PLUGINS ${CURRENT_PACKAGES_DIR}/debug/bin/${OSG_PLUGINS_SUBDIR}/osgdb*.dll) - - file(COPY ${OSGDB_DEBUG_PLUGINS} DESTINATION ${OSGEARTH_DEBUG_TOOL_PLUGIN_PATH}) - - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin/${OSG_PLUGINS_SUBDIR}) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/osgEarth/Export" "defined( OSGEARTH_LIBRARY_STATIC )" "1") endif() -if ("tools" IN_LIST FEATURES) - vcpkg_copy_tools(TOOL_NAMES osgearth_3pv osgearth_atlas osgearth_boundarygen osgearth_clamp - osgearth_conv osgearth_imgui osgearth_overlayviewer osgearth_tfs osgearth_toc osgearth_version osgearth_viewer +set(osg_plugin_pattern "${VCPKG_TARGET_SHARED_LIBRARY_PREFIX}osgdb*${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}") +if("tools" IN_LIST FEATURES) + if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + file(GLOB osg_plugins "${CURRENT_PACKAGES_DIR}/plugins/${osg_plugins_subdir}/${osg_plugin_pattern}") + file(INSTALL ${osg_plugins} DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}/${osg_plugins_subdir}") + if(NOT VCPKG_BUILD_TYPE) + file(GLOB osg_plugins "${CURRENT_PACKAGES_DIR}/debug/plugins/${osg_plugins_subdir}/${osg_plugin_pattern}") + file(INSTALL ${osg_plugins} DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug/${osg_plugins_subdir}") + endif() + endif() + vcpkg_copy_tools(TOOL_NAMES osgearth_3pv osgearth_atlas osgearth_bakefeaturetiles osgearth_boundarygen + osgearth_clamp osgearth_conv osgearth_imgui osgearth_tfs osgearth_version osgearth_viewer AUTO_CLEAN ) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug") endif() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +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 new file mode 100644 index 00000000000000..af191e633522c9 --- /dev/null +++ b/ports/osgearth/remove-lerc-gltf.patch @@ -0,0 +1,18 @@ +diff --git a/src/osgEarthDrivers/CMakeLists.txt b/src/osgEarthDrivers/CMakeLists.txt +index dd54d0ae8..37b2fbd83 100644 +--- a/src/osgEarthDrivers/CMakeLists.txt ++++ b/src/osgEarthDrivers/CMakeLists.txt +@@ -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(script_engine_duktape) + add_subdirectory(sky_gl) +@@ -45,5 +44,4 @@ add_subdirectory(cache_rocksdb) + + IF(NOT APPLE AND NOT ANDROID) + add_subdirectory(fastdxt) +- add_subdirectory(lerc) + ENDIF() 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 57cc6af2682dd2..6c375190011e3f 100644 --- a/ports/osgearth/vcpkg.json +++ b/ports/osgearth/vcpkg.json @@ -1,32 +1,62 @@ { "name": "osgearth", - "version": "3.2", - "port-version": 1, + "version": "3.7", "description": "osgEarth - Dynamic map generation toolkit for OpenSceneGraph Copyright 2021 Pelican Mapping.", "homepage": "https://github.com/gwaldron/osgearth", - "supports": "!(x86 | wasm32)", + "license": "LGPL-3.0-or-later", + "supports": "!(arm | x86 | wasm32 | xbox)", "dependencies": [ "basisu", + "blosc", + "cfitsio", "draco", "geos", "glew", "libwebp", - "libzip", "opengl", { "name": "osg", + "default-features": false, "features": [ "plugins" ] }, "protobuf", + "pthreads", "sqlite3", - "tinyxml" + "tinyxml", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ], "default-features": [ - "tools" + "default-features" ], "features": { + "blend2d": { + "description": "Enable Blend2D support", + "dependencies": [ + "blend2d" + ] + }, + "default-features": { + "description": "Platform-dependent default features", + "dependencies": [ + { + "name": "osgearth", + "default-features": false, + "features": [ + "blend2d" + ], + "platform": "!(arm & windows) & !uwp & !wasm32" + } + ] + }, "tools": { "description": "Build tools" } diff --git a/ports/osi/CMakeLists.txt b/ports/osi/CMakeLists.txt deleted file mode 100644 index 0542339ebd07ae..00000000000000 --- a/ports/osi/CMakeLists.txt +++ /dev/null @@ -1,89 +0,0 @@ -cmake_minimum_required(VERSION 3.11) - -project(Osi LANGUAGES C CXX) - -set(PROJECT_VERSION 0.107.9) -set(PROJECT_VERSION_MAJOR 0) -set(PROJECT_VERSION_MINOR 107) -set(PROJECT_VERSION_PATCH 9) - -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/Coin" CACHE PATH "Path where headers will be installed") -set(INSTALL_CMAKE_DIR "share/osi" CACHE PATH "Path where cmake configs will be installed") - -# Make relative paths absolute (needed later on) -set(RELATIVE_INSTALL_INCLUDE_DIR ${INSTALL_INCLUDE_DIR}) -foreach(p LIB BIN INCLUDE CMAKE) - set(var INSTALL_${p}_DIR) - if(NOT IS_ABSOLUTE "${${var}}") - set(${var} "${CMAKE_INSTALL_PREFIX}/${${var}}") - endif() -endforeach() - -if(MSVC) - set( - CMAKE_CXX_FLAGS - "${CMAKE_CXX_FLAGS} /bigobj /MP /wd4996 /wd4819 /wd4251 /wd4267 /wd4244 /wd4275" - ) -endif() - -if(APPLE) - set( - CMAKE_CXX_FLAGS - "${CMAKE_CXX_FLAGS} -Wno-inconsistent-missing-override -Wno-unused-command-line-argument -Wno-unused-result -Wno-exceptions" - ) - set(CMAKE_OSX_DEPLOYMENT_TARGET "10.9" - CACHE STRING "Minimum OS X deployment version") -endif() - -find_package(CoinUtils REQUIRED) - -file(GLOB OSI_SOURCES Osi/src/Osi/*.hpp Osi/src/Osi/*.cpp) - -add_library(${PROJECT_NAME} ${OSI_SOURCES}) - -target_include_directories(${PROJECT_NAME} PUBLIC $ $) - -if(MSVC) - target_compile_definitions(${PROJECT_NAME} PRIVATE _CRT_SECURE_NO_WARNINGS) -endif() -target_compile_definitions(${PROJECT_NAME} PRIVATE HAVE_CMATH) - -target_link_libraries(${PROJECT_NAME} PRIVATE Coin::CoinUtils) - -install(DIRECTORY Osi/src/Osi/ - DESTINATION ${INSTALL_INCLUDE_DIR} - FILES_MATCHING - PATTERN "*.h" - PATTERN "*.hpp" - PATTERN "config_default.h" EXCLUDE) - -install(TARGETS ${PROJECT_NAME} - EXPORT "${PROJECT_NAME}Targets" - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib - RUNTIME DESTINATION bin) - -include(CMakePackageConfigHelpers) - -set(version_config "${CMAKE_CURRENT_BINARY_DIR}/temp/${PROJECT_NAME}ConfigVersion.cmake") -set(project_config "${CMAKE_CURRENT_BINARY_DIR}/temp/${PROJECT_NAME}Config.cmake") -set(namespace "Coin::") - -write_basic_package_version_file("${version_config}" - COMPATIBILITY SameMajorVersion) - -configure_package_config_file("Config.cmake.in" - "${project_config}" - INSTALL_DESTINATION - "${INSTALL_CMAKE_DIR}") - -install(FILES "${project_config}" "${version_config}" - DESTINATION "${INSTALL_CMAKE_DIR}") - -install(EXPORT "${PROJECT_NAME}Targets" - NAMESPACE "${namespace}" - DESTINATION "${INSTALL_CMAKE_DIR}") diff --git a/ports/osi/Config.cmake.in b/ports/osi/Config.cmake.in deleted file mode 100644 index 2c12f83f027dcf..00000000000000 --- a/ports/osi/Config.cmake.in +++ /dev/null @@ -1,5 +0,0 @@ - -@PACKAGE_INIT@ - -include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") -check_required_components("@PROJECT_NAME@") diff --git a/ports/osi/portfile.cmake b/ports/osi/portfile.cmake deleted file mode 100644 index ea585b1150ae0b..00000000000000 --- a/ports/osi/portfile.cmake +++ /dev/null @@ -1,25 +0,0 @@ -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO coin-or/Osi - REF dfa6449d6756fdd96912cf96e168d0be07b1d37c # releases/0.108.6 - SHA512 8c23998a3f442766c515acd5549ed97608b972de61b9ef5b50b9e5d1d03b43fb5f77dc02d3562084fbf4f18f3397f9cd50c0f9bde4f576a4dff0dab795c04358 -) - -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/Config.cmake.in DESTINATION ${SOURCE_PATH}) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA -) - -vcpkg_install_cmake() -vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets() - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) - -# Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/osi RENAME copyright) diff --git a/ports/osi/vcpkg.json b/ports/osi/vcpkg.json deleted file mode 100644 index de8d0a488b76fe..00000000000000 --- a/ports/osi/vcpkg.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "osi", - "version-string": "0.108.6", - "port-version": 1, - "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.", - "dependencies": [ - "coinutils" - ] -} diff --git a/ports/osmanip/portfile.cmake b/ports/osmanip/portfile.cmake new file mode 100644 index 00000000000000..b46a0adbfdf150 --- /dev/null +++ b/ports/osmanip/portfile.cmake @@ -0,0 +1,25 @@ +# Github config +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO JustWhit3/osmanip + REF "v${VERSION}" + SHA512 ac5435ce5d39440851a01ee1576b7a543979efbf374a27ec32d63716361ef91662c353c2e39fecbd7e01059e8676f952f6851111643a55f941695dbbc6f03da4 + HEAD_REF main +) + +# Main commands +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DOSMANIP_TESTS=OFF +) +vcpkg_cmake_install() + +# Move cmake configs +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/osmanip) + +# Remove duplicate files +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +# Install license +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/osmanip/vcpkg.json b/ports/osmanip/vcpkg.json new file mode 100644 index 00000000000000..94357fed4255d5 --- /dev/null +++ b/ports/osmanip/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "osmanip", + "version": "4.6.1", + "description": "A cross-platform library for output stream manipulation using ANSI escape sequences.", + "homepage": "https://github.com/JustWhit3/osmanip", + "license": "MIT", + "dependencies": [ + "arsenalgear", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/otl/portfile.cmake b/ports/otl/portfile.cmake index 54896c2899c374..a4345068bbaa90 100644 --- a/ports/otl/portfile.cmake +++ b/ports/otl/portfile.cmake @@ -1,21 +1,31 @@ -set(OTL_VERSION 40463) +set(OTL_VERSION 40478) vcpkg_download_distfile(ARCHIVE URLS "http://otl.sourceforge.net/otlv4_${OTL_VERSION}.zip" - FILENAME "otlv4_${OTL_VERSION}-9485a0fe15a7.zip" - SHA512 9485a0fe15a737d55b0746a7e289b1a20e9435ed5c69bda7010705f8cde0a456163d83221d0103236a723837596613b578edc6d3d0007ce80a6cc76b4ed83888 + FILENAME "otlv4_${OTL_VERSION}.zip" + SHA512 1b36aff8e18bded3bade20b63191d9fcd77a9e7abfdfd6c4f79da9a7cc205a21a741d088c453ef1fb8dedf161a320378bdfa9c0ff7a7d79916b6bef8f4268b6d ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${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(INSTALL "${SOURCE_PATH}/otlv${OTL_VERSION}.h" - DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" - RENAME copyright) +file(READ "${SOURCE_PATH}/otlv${OTL_VERSION}.h" copyright_contents) +string(FIND "${copyright_contents}" "#ifndef OTL_H" start_of_source) +if(start_of_source EQUAL "-1") + message(FATAL_ERROR "Could not find start of source; the header file has changed in a way that we cannot get the license text.") +endif() +string(SUBSTRING "${copyright_contents}" 0 "${start_of_source}" copyright_contents) +string(REGEX REPLACE "// ?" "" copyright_contents "${copyright_contents}") +string(REGEX REPLACE "=+\n" "" copyright_contents "${copyright_contents}") + +file(WRITE + "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" + "${copyright_contents}" +) diff --git a/ports/otl/vcpkg.json b/ports/otl/vcpkg.json index e2a6b46978ee5f..2e56b14e2d5a46 100644 --- a/ports/otl/vcpkg.json +++ b/ports/otl/vcpkg.json @@ -1,6 +1,7 @@ { "name": "otl", - "version": "4.0.463", + "version": "4.0.478", "description": "Oracle, Odbc and DB2-CLI Template Library", - "homepage": "http://otl.sourceforge.net/" + "homepage": "http://otl.sourceforge.net/", + "license": "ISC" } diff --git a/ports/outcome/outcome-prune-sources.patch b/ports/outcome/outcome-prune-sources.patch deleted file mode 100644 index 59c5db01a50f2b..00000000000000 --- a/ports/outcome/outcome-prune-sources.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git "a/cmake/headers.cmake" "b/cmake/headers.cmake" -index 108038d16..bf4807e16 100644 ---- "a/cmake/headers.cmake" -+++ "b/cmake/headers.cmake" -@@ -47,7 +47,6 @@ set(outcome_HEADERS - "include/outcome/experimental/status-code/include/system_code_from_exception.hpp" - "include/outcome/experimental/status-code/include/system_error2.hpp" - "include/outcome/experimental/status-code/include/win32_code.hpp" -- "include/outcome/experimental/status-code/single-header/system_error2.hpp" - "include/outcome/experimental/status_outcome.hpp" - "include/outcome/experimental/status_result.hpp" - "include/outcome/iostream_support.hpp" diff --git a/ports/outcome/portfile.cmake b/ports/outcome/portfile.cmake index 38cf26bf10cc40..c630e9bce169fa 100644 --- a/ports/outcome/portfile.cmake +++ b/ports/outcome/portfile.cmake @@ -15,63 +15,44 @@ # the exact copy of those third party libraries known to # have passed Outcome's CI process. -message(WARNING [=[ -Outcome depends on QuickCppLib which uses the vcpkg versions of gsl-lite and byte-lite, rather than the versions tested by QuickCppLib's and Outcome's CI. It is not guaranteed to work with other versions, with failures experienced in the past up-to-and-including runtime crashes. See the warning message from QuickCppLib for how you can pin the versions of those dependencies in your manifest file to those with which QuickCppLib was tested. Do not report issues to upstream without first pinning the versions as QuickCppLib was tested against. -]=]) +if ("polyfill-cxx20" IN_LIST FEATURES) + message(WARNING [=[ + Outcome depends on QuickCppLib which uses the vcpkg versions of gsl-lite and byte-lite, rather than the versions tested by QuickCppLib's and Outcome's CI. It is not guaranteed to work with other versions, with failures experienced in the past up-to-and-including runtime crashes. See the warning message from QuickCppLib for how you can pin the versions of those dependencies in your manifest file to those with which QuickCppLib was tested. Do not report issues to upstream without first pinning the versions as QuickCppLib was tested against. + ]=]) +endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ned14/outcome - REF a86c6b053b86e4fc5d920907b0afb3234bec9336 - SHA512 c282afd7b335fef37ec4c2011bf591d3ffd56872515e8fcbd95714020ab99d141a87a064ecda44bf9308cb4bd1f39977b62303f2cc297918be2f257a36ff5832 + REF v${VERSION} + SHA512 44c692472a59ffdf77574c25aab9b43f6418a9a384dc9d47eabf5af9e28881d8e7a8c3dfac166c53747a5e2a692055ba4e135e2425a24bca81eee7220212de44 HEAD_REF develop - PATCHES - outcome-prune-sources.patch -) - -# Outcome needs a copy of QuickCppLib with which to bootstrap its cmake -file(COPY "${CURRENT_INSTALLED_DIR}/include/quickcpplib" - DESTINATION "${SOURCE_PATH}/quickcpplib/repo/include/" -) -file(COPY "${CURRENT_INSTALLED_DIR}/share/ned14-internal-quickcpplib/" - DESTINATION "${SOURCE_PATH}/quickcpplib/repo/" -) - -# Outcome expects status-code to live inside its include directory -file(COPY "${CURRENT_INSTALLED_DIR}/include/status-code/" - DESTINATION "${SOURCE_PATH}/include/outcome/experimental/status-code/include/" -) -file(COPY "${CURRENT_INSTALLED_DIR}/include/status-code/detail/" - DESTINATION "${SOURCE_PATH}/include/outcome/experimental/status-code/include/detail/" ) # Because outcome's deployed files are header-only, the debug build is not necessary set(VCPKG_BUILD_TYPE release) -# Already installed dependencies don't appear on the include path, which Outcome assumes. -string(APPEND VCPKG_CXX_FLAGS " \"-I${CURRENT_INSTALLED_DIR}/include\"") -string(APPEND VCPKG_C_FLAGS " \"-I${CURRENT_INSTALLED_DIR}/include\"") - # Use Outcome's own build process, skipping examples and tests. -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - PREFER_NINJA OPTIONS - -DPROJECT_IS_DEPENDENCY=On - -Dquickcpplib_FOUND=1 + -Doutcome_IS_DEPENDENCY=ON + "-DCMAKE_PREFIX_PATH=${CURRENT_INSTALLED_DIR}" + -DOUTCOME_BUNDLE_EMBEDDED_STATUS_CODE=OFF -DOUTCOME_ENABLE_DEPENDENCY_SMOKE_TEST=ON # Leave this always on to test everything compiles -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON + -DCXX_CONCEPTS_FLAGS= ) if("run-tests" IN_LIST FEATURES) - vcpkg_build_cmake(TARGET test) + vcpkg_cmake_build(TARGET test) endif() -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/outcome) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/outcome) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") file(INSTALL "${CURRENT_PORT_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -file(INSTALL "${SOURCE_PATH}/Licence.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/Licence.txt") diff --git a/ports/outcome/vcpkg.json b/ports/outcome/vcpkg.json index 0735c5d090d689..7c6b25dfaf5857 100644 --- a/ports/outcome/vcpkg.json +++ b/ports/outcome/vcpkg.json @@ -1,14 +1,58 @@ { "name": "outcome", - "version-string": "2.2.2-20210922", + "version": "2.2.9", + "maintainers": [ + "Niall Douglas ", + "Henrik Gaßmann " + ], "description": "Provides very lightweight outcome and result (non-Boost edition)", "homepage": "https://github.com/ned14/outcome", + "license": "Apache-2.0 OR BSL-1.0", "supports": "!uwp", "dependencies": [ "ned14-internal-quickcpplib", - "status-code" + "status-code", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ], "features": { + "polyfill-cxx17": { + "description": "Polyfill C++17 entities", + "dependencies": [ + { + "name": "ned14-internal-quickcpplib", + "default-features": false, + "features": [ + "polyfill-cxx17" + ] + }, + { + "name": "outcome", + "default-features": false, + "features": [ + "polyfill-cxx20" + ] + } + ] + }, + "polyfill-cxx20": { + "description": "Polyfill C++20 entities", + "dependencies": [ + { + "name": "ned14-internal-quickcpplib", + "default-features": false, + "features": [ + "polyfill-cxx20" + ] + } + ] + }, "run-tests": { "description": "Build and run the dependency validation tests" } diff --git a/ports/p-ranav-csv/portfile.cmake b/ports/p-ranav-csv/portfile.cmake index fcbaeee74bb9da..a9cf6dad227ebb 100644 --- a/ports/p-ranav-csv/portfile.cmake +++ b/ports/p-ranav-csv/portfile.cmake @@ -8,16 +8,15 @@ vcpkg_from_github( HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DCSV_BUILD_TESTS=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") # Handle copyright -configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) +configure_file("${SOURCE_PATH}/LICENSE" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) diff --git a/ports/p-ranav-csv/vcpkg.json b/ports/p-ranav-csv/vcpkg.json index 86a2e0a0ca6061..041781021b3964 100644 --- a/ports/p-ranav-csv/vcpkg.json +++ b/ports/p-ranav-csv/vcpkg.json @@ -1,7 +1,13 @@ { "name": "p-ranav-csv", - "version-string": "2019-07-11", - "port-version": 1, + "version-date": "2019-07-11", + "port-version": 3, "description": "[deprecated] CSV for modern C++", - "homepage": "https://github.com/p-ranav/csv" + "homepage": "https://github.com/p-ranav/csv", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/p-ranav-csv2/portfile.cmake b/ports/p-ranav-csv2/portfile.cmake index 9e03f7ab4334d6..4c83afbe8839b4 100644 --- a/ports/p-ranav-csv2/portfile.cmake +++ b/ports/p-ranav-csv2/portfile.cmake @@ -8,20 +8,19 @@ vcpkg_from_github( HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DCSV2_BUILD_TESTS=OFF -DCSV2_SAMPLES=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake TARGET_PATH share) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share ${CURRENT_PACKAGES_DIR}/share/licenses) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share" "${CURRENT_PACKAGES_DIR}/share/licenses") -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) -file(INSTALL ${SOURCE_PATH}/LICENSE.mio DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) - -vcpkg_fixup_pkgconfig() +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE.mio" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") + +vcpkg_fixup_pkgconfig() diff --git a/ports/p-ranav-csv2/vcpkg.json b/ports/p-ranav-csv2/vcpkg.json index 957935ad900dfd..c2dd345a25639d 100644 --- a/ports/p-ranav-csv2/vcpkg.json +++ b/ports/p-ranav-csv2/vcpkg.json @@ -1,7 +1,17 @@ { "name": "p-ranav-csv2", - "version-string": "2020-12-14", - "port-version": 2, + "version-date": "2020-12-14", + "port-version": 4, "description": "CSV for modern C++", - "homepage": "https://github.com/p-ranav/csv2" + "homepage": "https://github.com/p-ranav/csv2", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/pagmo2/disable-C4701.patch b/ports/pagmo2/disable-C4701.patch deleted file mode 100644 index 05ed75bd2dc005..00000000000000 --- a/ports/pagmo2/disable-C4701.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 96653ba..1afaafa 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -80,7 +80,7 @@ endif() - if(YACMA_COMPILER_IS_MSVC) - # Disable the idiotic minmax macros on MSVC, some annoying warnings, - # enable the bigobj option and the WIN32_LEAN_AND_MEAN definition. -- list(APPEND PAGMO_CXX_FLAGS_DEBUG "-DNOMINMAX" "/wd4459" "/wd4127" "/wd4702" "/wd4251" "/bigobj" "-DWIN32_LEAN_AND_MEAN") -+ list(APPEND PAGMO_CXX_FLAGS_DEBUG "-DNOMINMAX" "/wd4459" "/wd4127" "/wd4702" "/wd4251" "/wd4701" "/bigobj" "-DWIN32_LEAN_AND_MEAN") - list(APPEND PAGMO_CXX_FLAGS_RELEASE "-DNOMINMAX" "/wd4459" "/wd4127" "/wd4702" "/wd4251" "/bigobj" "-DWIN32_LEAN_AND_MEAN") - # Enable strict conformance mode, if supported. - set(CMAKE_REQUIRED_QUIET TRUE) diff --git a/ports/pagmo2/disable-md-override.patch b/ports/pagmo2/disable-md-override.patch deleted file mode 100644 index a5e09d3fa3bb11..00000000000000 --- a/ports/pagmo2/disable-md-override.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 96653ba..549d9d4 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -141,6 +141,7 @@ endif() - # Boost setup. - include(PagmoFindBoost) - -+if(0) - # Explanation: on MSVC, when building static libraries, it is good practice to link - # to the static runtime. CMake, however, is hard-coded to link to the dynamic runtime. - # Hence we hackishly replace the /MD flag with /MT. This is the approach suggested -@@ -161,6 +162,7 @@ if(YACMA_COMPILER_IS_MSVC AND PAGMO_BUILD_STATIC_LIBRARY) - endif() - endforeach() - endif() -+endif() - - # List of source files. - set(PAGMO_SRC_FILES diff --git a/ports/pagmo2/disable-werror.patch b/ports/pagmo2/disable-werror.patch new file mode 100644 index 00000000000000..bc5ba11b305a7f --- /dev/null +++ b/ports/pagmo2/disable-werror.patch @@ -0,0 +1,20 @@ +diff --git a/cmake_modules/yacma/YACMACompilerLinkerSettings.cmake b/cmake_modules/yacma/YACMACompilerLinkerSettings.cmake +index 7d7aa1b..81c8bf6 100644 +--- a/cmake_modules/yacma/YACMACompilerLinkerSettings.cmake ++++ b/cmake_modules/yacma/YACMACompilerLinkerSettings.cmake +@@ -95,7 +95,6 @@ if(NOT _YACMACompilerLinkerSettingsRun) + # NOTE: enable unconditionally, as it seems like the CMake + # machinery for detecting this fails. Perhaps the source code + # used for checking the flag emits warnings? +- list(APPEND _YACMA_CXX_FLAGS_DEBUG "-Werror") + # New warnings in clang 8. + # NOTE: a few issues with macros here, let's disable for now. + # _YACMA_CHECK_ENABLE_DEBUG_CXX_FLAG(-Wextra-semi-stmt) +@@ -180,7 +179,6 @@ if(NOT _YACMACompilerLinkerSettingsRun) + # Enable higher warning level than usual. + _YACMA_CHECK_ENABLE_DEBUG_CXX_FLAG(/W4) + # Treat warnings as errors. +- _YACMA_CHECK_ENABLE_DEBUG_CXX_FLAG(/WX) + endif() + + # Set the cache variables. diff --git a/ports/pagmo2/doxygen.patch b/ports/pagmo2/doxygen.patch new file mode 100644 index 00000000000000..1a59a9110c7d0c --- /dev/null +++ b/ports/pagmo2/doxygen.patch @@ -0,0 +1,15 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 34bad69..dfb942d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -398,8 +398,8 @@ endif() + configure_file("${CMAKE_CURRENT_SOURCE_DIR}/config.hpp.in" "${CMAKE_CURRENT_BINARY_DIR}/include/pagmo/config.hpp" @ONLY) + + # Configure the doc files. +-configure_file("${CMAKE_CURRENT_SOURCE_DIR}/doc/doxygen/Doxyfile.in" "${CMAKE_CURRENT_SOURCE_DIR}/doc/doxygen/Doxyfile" @ONLY) +-configure_file("${CMAKE_CURRENT_SOURCE_DIR}/doc/sphinx/conf.py.in" "${CMAKE_CURRENT_SOURCE_DIR}/doc/sphinx/conf.py" @ONLY) ++# configure_file("${CMAKE_CURRENT_SOURCE_DIR}/doc/doxygen/Doxyfile.in" "${CMAKE_CURRENT_SOURCE_DIR}/doc/doxygen/Doxyfile" @ONLY) ++# configure_file("${CMAKE_CURRENT_SOURCE_DIR}/doc/sphinx/conf.py.in" "${CMAKE_CURRENT_SOURCE_DIR}/doc/sphinx/conf.py" @ONLY) + + # This is just a simple counter variable, internal use only. + set(_PAGMO_TEST_NUM "0") diff --git a/ports/pagmo2/find-tbb.patch b/ports/pagmo2/find-tbb.patch index 8781910f8aae5c..56d998e3e72ab2 100644 --- a/ports/pagmo2/find-tbb.patch +++ b/ports/pagmo2/find-tbb.patch @@ -2,11 +2,12 @@ diff --git a/pagmo-config.cmake.in b/pagmo-config.cmake.in index 9553fc8..cb5e90b 100644 --- a/pagmo-config.cmake.in +++ b/pagmo-config.cmake.in -@@ -8,6 +8,7 @@ set(THREADS_PREFER_PTHREAD_FLAG YES) +@@ -8,6 +8,8 @@ set(THREADS_PREFER_PTHREAD_FLAG YES) find_package(Threads REQUIRED) unset(THREADS_PREFER_PTHREAD_FLAG) include(PagmoFindBoost) -+find_package(TBB REQUIRED) ++include(CMakeFindDependencyMacro) ++find_dependency(TBB CONFIG) @_PAGMO_CONFIG_OPTIONAL_DEPS@ # Restore original module path. set(CMAKE_MODULE_PATH "${_PAGMO_CONFIG_OLD_MODULE_PATH}") diff --git a/ports/pagmo2/portfile.cmake b/ports/pagmo2/portfile.cmake index a709a2fb6a61e5..995d9dc41b3e81 100644 --- a/ports/pagmo2/portfile.cmake +++ b/ports/pagmo2/portfile.cmake @@ -1,36 +1,38 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO esa/pagmo2 - REF v2.16.1 - SHA512 dac85a8525316e827df809d187d40f14dc20db7119796b7384d7855f83ba37e0bb595f6d8199053aac857460816929dd599c9d43802f2ed920a6f42dd2f16a03 + REPO esa/pagmo2 + REF "v${VERSION}" + SHA512 9ebe7f63b907607ea5762e56a884be62630efaca3f45d9ba9ad85ca1818d60d09864422bd075c2653aea1a14609fe9ad6520297aee5a00e07fa88df45872cef9 HEAD_REF master PATCHES - "disable-C4701.patch" - "disable-md-override.patch" - "find-tbb.patch" + doxygen.patch + find-tbb.patch + disable-werror.patch ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES - nlopt PAGMO_WITH_NLOPT + nlopt PAGMO_WITH_NLOPT ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" PAGMO_BUILD_STATIC_LIBRARY) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${FEATURE_OPTIONS} + -DPAGMO_BUILD_TESTS=OFF + -DPAGMO_BUILD_BENCHMARKS=OFF + -DPAGMO_BUILD_TUTORIALS=OFF -DPAGMO_WITH_EIGEN3=ON -DPAGMO_BUILD_STATIC_LIBRARY=${PAGMO_BUILD_STATIC_LIBRARY} ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/pagmo) +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/pagmo") -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) - -file(INSTALL ${SOURCE_PATH}/COPYING.lgpl3 DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING.lgpl3" "${SOURCE_PATH}/COPYING.gpl3") +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/pagmo2/usage b/ports/pagmo2/usage new file mode 100644 index 00000000000000..f9b3e069705cf4 --- /dev/null +++ b/ports/pagmo2/usage @@ -0,0 +1,4 @@ +pagmo2 provides CMake targets: + + find_package(pagmo CONFIG REQUIRED) + target_link_libraries(main PRIVATE Pagmo::pagmo) diff --git a/ports/pagmo2/vcpkg.json b/ports/pagmo2/vcpkg.json index 4e491b4969ef1f..54e644ab03613c 100644 --- a/ports/pagmo2/vcpkg.json +++ b/ports/pagmo2/vcpkg.json @@ -1,14 +1,25 @@ { "name": "pagmo2", - "version": "2.16.1", - "description": "A C++ platform to perform parallel computations of optimisation tasks (global and local) via the asynchronous generalized island model.", + "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", + "supports": "!xbox", "dependencies": [ "boost-any", "boost-graph", + "boost-safe-numerics", "boost-serialization", "eigen3", - "tbb" + "tbb", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ], "features": { "nlopt": { diff --git a/ports/paho-mqtt/fix-ODR-libuuid-linux.patch b/ports/paho-mqtt/fix-ODR-libuuid-linux.patch new file mode 100644 index 00000000000000..2542769df479b0 --- /dev/null +++ b/ports/paho-mqtt/fix-ODR-libuuid-linux.patch @@ -0,0 +1,38 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 4c06409..29f53c0 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -95,6 +95,12 @@ ADD_LIBRARY(common_obj_static OBJECT ${common_src}) + SET_TARGET_PROPERTIES(common_obj_static PROPERTIES + POSITION_INDEPENDENT_CODE ON + COMPILE_DEFINITIONS "PAHO_MQTT_STATIC=1") ++ IF(WIN32 OR APPLE) ++ ELSE() ++ find_package(unofficial-libuuid CONFIG REQUIRED) ++ target_link_libraries(common_obj_static PRIVATE unofficial::UUID::uuid) ++ target_compile_definitions(common_obj_static PUBLIC LIBUUID) ++ ENDIF() + ENDIF() + + IF (PAHO_BUILD_SHARED) +@@ -149,7 +155,6 @@ ENDIF() + IF (PAHO_BUILD_STATIC) + ADD_LIBRARY(paho-mqtt3c-static STATIC $ MQTTClient.c) + ADD_LIBRARY(paho-mqtt3a-static STATIC $ MQTTAsync.c MQTTAsyncUtils.c) +- + TARGET_LINK_LIBRARIES(paho-mqtt3c-static ${LIBS_SYSTEM}) + TARGET_LINK_LIBRARIES(paho-mqtt3a-static ${LIBS_SYSTEM}) + IF (NOT WIN32) +@@ -249,6 +254,12 @@ IF (PAHO_WITH_SSL) + TARGET_INCLUDE_DIRECTORIES(common_ssl_obj_static PUBLIC ${OPENSSL_INCLUDE_DIR}) + SET_PROPERTY(TARGET common_ssl_obj_static PROPERTY POSITION_INDEPENDENT_CODE ON) + SET_PROPERTY(TARGET common_ssl_obj_static PROPERTY COMPILE_DEFINITIONS "OPENSSL=1;PAHO_MQTT_STATIC=1") ++ IF(WIN32 OR APPLE) ++ ELSE() ++ find_package(unofficial-libuuid CONFIG REQUIRED) ++ target_link_libraries(common_ssl_obj_static PRIVATE unofficial::UUID::uuid) ++ target_compile_definitions(common_ssl_obj_static PUBLIC LIBUUID) ++ ENDIF() + + ADD_LIBRARY(paho-mqtt3cs-static STATIC $ MQTTClient.c SSLSocket.c) + ADD_LIBRARY(paho-mqtt3as-static STATIC $ MQTTAsync.c MQTTAsyncUtils.c SSLSocket.c) diff --git a/ports/paho-mqtt/fix-install-path.patch b/ports/paho-mqtt/fix-install-path.patch deleted file mode 100644 index 68cb3b4c4b89cc..00000000000000 --- a/ports/paho-mqtt/fix-install-path.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index aa4ad05..669adde 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -60,8 +60,8 @@ IF (NOT PAHO_BUILD_SHARED AND NOT PAHO_BUILD_STATIC) - MESSAGE(FATAL_ERROR "You must set either PAHO_BUILD_SHARED, PAHO_BUILD_STATIC, or both") - ENDIF() - --IF(PAHO_BUILD_DEB_PACKAGE) -- set(CMAKE_INSTALL_DOCDIR share/doc/libpaho-mqtt) -+IF(1) -+ set(CMAKE_INSTALL_DOCDIR share/paho-mqtt) - set(CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS ON) - set(CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS_POLICY ">=") - ENDIF() -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 0bc7194..db4a0ac 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -183,7 +183,7 @@ IF (PAHO_BUILD_STATIC) - ENDIF() - - INSTALL(FILES MQTTAsync.h MQTTClient.h MQTTClientPersistence.h MQTTProperties.h MQTTReasonCodes.h MQTTSubscribeOpts.h MQTTExportDeclarations.h -- DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) -+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/paho-mqtt) - - IF (PAHO_WITH_SSL) - SET(OPENSSL_ROOT_DIR "" CACHE PATH "Directory containing OpenSSL libraries and includes") diff --git a/ports/paho-mqtt/fix-unresolvedsymbol-arm.patch b/ports/paho-mqtt/fix-unresolvedsymbol-arm.patch index 7726368326ef3d..0b7e9fb8802330 100644 --- a/ports/paho-mqtt/fix-unresolvedsymbol-arm.patch +++ b/ports/paho-mqtt/fix-unresolvedsymbol-arm.patch @@ -1,11 +1,12 @@ diff --git a/src/SHA1.c b/src/SHA1.c -index 3ef07d9..f0e82ce 100644 +index 3ef07d9..8ed6b16 100644 --- a/src/SHA1.c +++ b/src/SHA1.c -@@ -19,6 +19,7 @@ +@@ -18,7 +18,7 @@ + #if !defined(OPENSSL) #if defined(_WIN32) || defined(_WIN64) - #pragma comment(lib, "crypt32.lib") +-#pragma comment(lib, "crypt32.lib") +#pragma comment(lib, "Advapi32.lib") int SHA1_Init(SHA_CTX *c) diff --git a/ports/paho-mqtt/portfile.cmake b/ports/paho-mqtt/portfile.cmake index 7c7875bb2be7b6..57dec0b28fc3ae 100644 --- a/ports/paho-mqtt/portfile.cmake +++ b/ports/paho-mqtt/portfile.cmake @@ -1,37 +1,55 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO eclipse/paho.mqtt.c - REF 3b7ae6348bc917d42c04efa962e4868c09bbde9f # v1.3.9 - SHA512 73c10b7da7aa228100511db280ae56484cb8c42b8f0cfafb2fa3f6e230b4bb1d6b3611aa9219736a0baa9d7de0baf802dd70dbf308077f1a745bd61a67a797c7 + REF "v${VERSION}" + SHA512 0f436470bcff224461ed3227c8db10914f84bc2dcf76e51b55d4a78b80abaa4e636ac8f7a20e517524625888335c738e975283e5d573ae8d59147aa4de7963fc HEAD_REF master PATCHES - remove_compiler_options.patch - fix-install-path.patch fix-unresolvedsymbol-arm.patch + fix-ODR-libuuid-linux.patch ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" PAHO_BUILD_STATIC) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" PAHO_BUILD_DYNAMIC) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_replace_string("${SOURCE_PATH}/src/CMakeLists.txt" [[SET(OPENSSL_ROOT_DIR "" CACHE PATH "Directory containing OpenSSL libraries and includes")]] "") + +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 ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/eclipse-paho-mqtt-c TARGET_PATH share/eclipse-paho-mqtt-c) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME eclipse-paho-mqtt-c CONFIG_PATH lib/cmake/eclipse-paho-mqtt-c) vcpkg_copy_pdbs() if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") vcpkg_copy_tools(TOOL_NAMES MQTTVersion AUTO_CLEAN) endif() +if(VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_OSX) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/eclipse-paho-mqtt-c/eclipse-paho-mqtt-cConfig.cmake" + [[# Generated by CMake]] + [[# Generated by CMake + include(CMakeFindDependencyMacro) + find_dependency(OpenSSL)]] + ) +else() + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/eclipse-paho-mqtt-c/eclipse-paho-mqtt-cConfig.cmake" + [[# Generated by CMake]] + [[# Generated by CMake + include(CMakeFindDependencyMacro) + find_dependency(OpenSSL) + find_dependency(unofficial-libuuid CONFIG)]] + ) +endif() + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/doc") -file(COPY ${SOURCE_PATH}/README.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) -file(INSTALL ${SOURCE_PATH}/about.html DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/paho-mqtt/remove_compiler_options.patch b/ports/paho-mqtt/remove_compiler_options.patch deleted file mode 100644 index a1193fee87745b..00000000000000 --- a/ports/paho-mqtt/remove_compiler_options.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 531c39c..3df385a 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -41,7 +41,7 @@ IF (PAHO_HIGH_PERFORMANCE) - ENDIF() - - IF(WIN32) -- ADD_DEFINITIONS(-D_CRT_SECURE_NO_DEPRECATE -DWIN32_LEAN_AND_MEAN -MD) -+ ADD_DEFINITIONS(-D_CRT_SECURE_NO_DEPRECATE -DWIN32_LEAN_AND_MEAN) - ELSEIF(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin") - ADD_DEFINITIONS(-DOSX) - ENDIF() diff --git a/ports/paho-mqtt/vcpkg.json b/ports/paho-mqtt/vcpkg.json index 186e1299ef7af0..724826895db9ed 100644 --- a/ports/paho-mqtt/vcpkg.json +++ b/ports/paho-mqtt/vcpkg.json @@ -1,9 +1,23 @@ { "name": "paho-mqtt", - "version-semver": "1.3.9", + "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", + "license": "EPL-2.0", "dependencies": [ - "openssl" + { + "name": "libuuid", + "platform": "!osx & !windows" + }, + "openssl", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } 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/fix-include-path.patch b/ports/paho-mqttpp3/fix-include-path.patch deleted file mode 100644 index 17310738de3f5d..00000000000000 --- a/ports/paho-mqttpp3/fix-include-path.patch +++ /dev/null @@ -1,249 +0,0 @@ -diff --git a/src/mqtt/async_client.h b/src/mqtt/async_client.h -index 7fb13a4..59247ca 100644 ---- a/src/mqtt/async_client.h -+++ b/src/mqtt/async_client.h -@@ -25,7 +25,7 @@ - #ifndef __mqtt_async_client_h - #define __mqtt_async_client_h - --#include "MQTTAsync.h" -+#include "paho-mqtt/MQTTAsync.h" - #include "mqtt/types.h" - #include "mqtt/token.h" - #include "mqtt/create_options.h" -diff --git a/src/mqtt/callback.h b/src/mqtt/callback.h -index 63f21a1..c4638fa 100644 ---- a/src/mqtt/callback.h -+++ b/src/mqtt/callback.h -@@ -24,7 +24,7 @@ - #ifndef __mqtt_callback_h - #define __mqtt_callback_h - --#include "MQTTAsync.h" -+#include "paho-mqtt/MQTTAsync.h" - #include "mqtt/delivery_token.h" - #include "mqtt/types.h" - #include -diff --git a/src/mqtt/connect_options.h b/src/mqtt/connect_options.h -index 8001fe3..650ba91 100644 ---- a/src/mqtt/connect_options.h -+++ b/src/mqtt/connect_options.h -@@ -24,7 +24,7 @@ - #ifndef __mqtt_connect_options_h - #define __mqtt_connect_options_h - --#include "MQTTAsync.h" -+#include "paho-mqtt/MQTTAsync.h" - #include "mqtt/types.h" - #include "mqtt/message.h" - #include "mqtt/topic.h" -diff --git a/src/mqtt/create_options.h b/src/mqtt/create_options.h -index d57e32b..2bb3561 100644 ---- a/src/mqtt/create_options.h -+++ b/src/mqtt/create_options.h -@@ -24,7 +24,7 @@ - #ifndef __mqtt_create_options_h - #define __mqtt_create_options_h - --#include "MQTTAsync.h" -+#include "paho-mqtt/MQTTAsync.h" - #include "mqtt/types.h" - - namespace mqtt { -diff --git a/src/mqtt/delivery_token.h b/src/mqtt/delivery_token.h -index b70d582..ee1b306 100644 ---- a/src/mqtt/delivery_token.h -+++ b/src/mqtt/delivery_token.h -@@ -24,7 +24,7 @@ - #ifndef __mqtt_delivery_token_h - #define __mqtt_delivery_token_h - --#include "MQTTAsync.h" -+#include "paho-mqtt/MQTTAsync.h" - #include "mqtt/token.h" - #include "mqtt/message.h" - #include -diff --git a/src/mqtt/disconnect_options.h b/src/mqtt/disconnect_options.h -index db93679..2739d89 100644 ---- a/src/mqtt/disconnect_options.h -+++ b/src/mqtt/disconnect_options.h -@@ -23,7 +23,7 @@ - #ifndef __mqtt_disconnect_options_h - #define __mqtt_disconnect_options_h - --#include "MQTTAsync.h" -+#include "paho-mqtt/MQTTAsync.h" - #include "mqtt/types.h" - #include "mqtt/token.h" - #include "mqtt/properties.h" -diff --git a/src/mqtt/exception.h b/src/mqtt/exception.h -index 9db330a..32b7c97 100644 ---- a/src/mqtt/exception.h -+++ b/src/mqtt/exception.h -@@ -24,7 +24,7 @@ - #ifndef __mqtt_exception_h - #define __mqtt_exception_h - --#include "MQTTAsync.h" -+#include "paho-mqtt/MQTTAsync.h" - #include "mqtt/types.h" - #include - #include -diff --git a/src/mqtt/iaction_listener.h b/src/mqtt/iaction_listener.h -index 1e34577..2af8c1b 100644 ---- a/src/mqtt/iaction_listener.h -+++ b/src/mqtt/iaction_listener.h -@@ -24,7 +24,7 @@ - #ifndef __mqtt_iaction_listener_h - #define __mqtt_iaction_listener_h - --#include "MQTTAsync.h" -+#include "paho-mqtt/MQTTAsync.h" - #include "mqtt/types.h" - #include - -diff --git a/src/mqtt/iclient_persistence.h b/src/mqtt/iclient_persistence.h -index 635a292..aedc1d9 100644 ---- a/src/mqtt/iclient_persistence.h -+++ b/src/mqtt/iclient_persistence.h -@@ -24,7 +24,7 @@ - #ifndef __mqtt_iclient_persistence_h - #define __mqtt_iclient_persistence_h - --#include "MQTTAsync.h" -+#include "paho-mqtt/MQTTAsync.h" - #include "mqtt/types.h" - #include "mqtt/buffer_view.h" - #include "mqtt/string_collection.h" -diff --git a/src/mqtt/message.h b/src/mqtt/message.h -index 4cb95a6..e036269 100644 ---- a/src/mqtt/message.h -+++ b/src/mqtt/message.h -@@ -25,7 +25,7 @@ - #ifndef __mqtt_message_h - #define __mqtt_message_h - --#include "MQTTAsync.h" -+#include "paho-mqtt/MQTTAsync.h" - #include "mqtt/buffer_ref.h" - #include "mqtt/properties.h" - #include "mqtt/exception.h" -diff --git a/src/mqtt/properties.h b/src/mqtt/properties.h -index 826bc97..42c286a 100644 ---- a/src/mqtt/properties.h -+++ b/src/mqtt/properties.h -@@ -25,7 +25,7 @@ - #define __mqtt_properties_h - - extern "C" { -- #include "MQTTProperties.h" -+ #include "paho-mqtt/MQTTAsync.h" - } - - #include "mqtt/types.h" -diff --git a/src/mqtt/response_options.h b/src/mqtt/response_options.h -index 7bcb45c..40e45a2 100644 ---- a/src/mqtt/response_options.h -+++ b/src/mqtt/response_options.h -@@ -7,7 +7,7 @@ - #ifndef __mqtt_response_options_h - #define __mqtt_response_options_h - --#include "MQTTAsync.h" -+#include "paho-mqtt/MQTTAsync.h" - #include "mqtt/token.h" - #include "mqtt/delivery_token.h" - #include "subscribe_options.h" -diff --git a/src/mqtt/server_response.h b/src/mqtt/server_response.h -index a111839..094135b 100644 ---- a/src/mqtt/server_response.h -+++ b/src/mqtt/server_response.h -@@ -24,7 +24,7 @@ - #ifndef __mqtt_server_response_h - #define __mqtt_server_response_h - --#include "MQTTAsync.h" -+#include "paho-mqtt/MQTTAsync.h" - #include "mqtt/types.h" - #include "mqtt/properties.h" - -diff --git a/src/mqtt/ssl_options.h b/src/mqtt/ssl_options.h -index eba49ed..aad0da3 100644 ---- a/src/mqtt/ssl_options.h -+++ b/src/mqtt/ssl_options.h -@@ -27,7 +27,7 @@ - #ifndef __mqtt_ssl_options_h - #define __mqtt_ssl_options_h - --#include "MQTTAsync.h" -+#include "paho-mqtt/MQTTAsync.h" - #include "mqtt/message.h" - #include "mqtt/topic.h" - #include "mqtt/types.h" -diff --git a/src/mqtt/string_collection.h b/src/mqtt/string_collection.h -index bc43775..99a2674 100644 ---- a/src/mqtt/string_collection.h -+++ b/src/mqtt/string_collection.h -@@ -24,7 +24,7 @@ - #ifndef __mqtt_string_collection_h - #define __mqtt_string_collection_h - --#include "MQTTAsync.h" -+#include "paho-mqtt/MQTTAsync.h" - #include "mqtt/types.h" - #include - #include -diff --git a/src/mqtt/subscribe_options.h b/src/mqtt/subscribe_options.h -index 753c811..5f0d86c 100644 ---- a/src/mqtt/subscribe_options.h -+++ b/src/mqtt/subscribe_options.h -@@ -24,8 +24,8 @@ - #ifndef __mqtt_subscribe_options_h - #define __mqtt_subscribe_options_h - --#include "MQTTAsync.h" --#include "MQTTSubscribeOpts.h" -+#include "paho-mqtt/MQTTAsync.h" -+#include "paho-mqtt/MQTTSubscribeOpts.h" - #include "mqtt/types.h" - - namespace mqtt { -diff --git a/src/mqtt/token.h b/src/mqtt/token.h -index 4cafda7..1815ab9 100644 ---- a/src/mqtt/token.h -+++ b/src/mqtt/token.h -@@ -25,7 +25,7 @@ - #ifndef __mqtt_token_h - #define __mqtt_token_h - --#include "MQTTAsync.h" -+#include "paho-mqtt/MQTTAsync.h" - #include "mqtt/iaction_listener.h" - #include "mqtt/exception.h" - #include "mqtt/types.h" -diff --git a/src/mqtt/topic.h b/src/mqtt/topic.h -index 618eb85..555de60 100644 ---- a/src/mqtt/topic.h -+++ b/src/mqtt/topic.h -@@ -24,7 +24,7 @@ - #ifndef __mqtt_topic_h - #define __mqtt_topic_h - --#include "MQTTAsync.h" -+#include "paho-mqtt/MQTTAsync.h" - #include "mqtt/delivery_token.h" - #include "mqtt/subscribe_options.h" - #include "mqtt/message.h" -diff --git a/src/mqtt/will_options.h b/src/mqtt/will_options.h -index 8c5c67d..63bfffc 100644 ---- a/src/mqtt/will_options.h -+++ b/src/mqtt/will_options.h -@@ -26,7 +26,7 @@ - #ifndef __mqtt_will_options_h - #define __mqtt_will_options_h - --#include "MQTTAsync.h" -+#include "paho-mqtt/MQTTAsync.h" - #include "mqtt/types.h" - #include "mqtt/message.h" - #include "mqtt/topic.h" diff --git a/ports/paho-mqttpp3/portfile.cmake b/ports/paho-mqttpp3/portfile.cmake index 7926d0d73c174d..7b88533ecafb63 100644 --- a/ports/paho-mqttpp3/portfile.cmake +++ b/ports/paho-mqttpp3/portfile.cmake @@ -1,67 +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-include-path.patch - 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_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +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_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/PahoMqttCpp" TARGET_PATH "share/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) +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 b4152d7085e5c8..f5a45a52644728 100644 --- a/ports/paho-mqttpp3/vcpkg.json +++ b/ports/paho-mqttpp3/vcpkg.json @@ -1,10 +1,20 @@ { "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", + "license": "EPL-1.0", "dependencies": [ - "paho-mqtt" + "paho-mqtt", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ], "default-features": [ "ssl" diff --git a/ports/palsigslot/portfile.cmake b/ports/palsigslot/portfile.cmake index 4ab6d29cbff759..cff3980f370bb6 100644 --- a/ports/palsigslot/portfile.cmake +++ b/ports/palsigslot/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO palacaze/sigslot - REF v1.2.1 - SHA512 cd79985a09ad41562dc8e582d30bc9df0fdc9409ee3676919b56d0d70a6c1af9414587b61977d2fa2ba763ef8df65b30c7b7dc883629e016660baeb998e708f5 + REF "v${VERSION}" + SHA512 ed8614d9c2e418259b1bce6d0a528b54939700876969c5e8dfcfc466c167690180cb18324602f83d521c79dcba2565e5317647416b70cf8773860ab956d9b62f HEAD_REF master ) @@ -22,4 +22,4 @@ 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/palsigslot/vcpkg.json b/ports/palsigslot/vcpkg.json index 29c68fa94197b0..c02f85a0929a9f 100644 --- a/ports/palsigslot/vcpkg.json +++ b/ports/palsigslot/vcpkg.json @@ -1,8 +1,9 @@ { "name": "palsigslot", - "version": "1.2.1", + "version": "1.2.2", "description": "A header-only, thread safe implementation of signal-slots for C++.", "homepage": "https://github.com/palacaze/sigslot", + "license": "MIT", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/pango/portfile.cmake b/ports/pango/portfile.cmake index db31f6f15e8a6c..81c05ef6996e61 100644 --- a/ports/pango/portfile.cmake +++ b/ports/pango/portfile.cmake @@ -1,16 +1,30 @@ +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/pango - REF 386639c3b118cc973f714eb485877f480391f31f #v1.48.4 - SHA512 d7de3bc3108826de9f0b34ca888e0c1eb97c1d0723b2dd68cfb1030fb78d1367e3ac4df88e4a5dea66b08854ef85ecf562d149a58f070351768d6ac144da8520 - HEAD_REF master # branch name + REF "${VERSION}" + SHA512 1c5f5f2de778b2ca157a4f3eb8bbbba1a79f5f9d60aac678e9c213005f1d8bedfc027ee5c1cebb07dc0eb8c308c38c37beb05293ef2cbe4ac9a0b481176934bb + HEAD_REF master ) + +if("introspection" IN_LIST FEATURES) + list(APPEND OPTIONS_DEBUG -Dintrospection=disabled) + list(APPEND OPTIONS_RELEASE -Dintrospection=enabled) +else() + list(APPEND OPTIONS -Dintrospection=disabled) +endif() + +if(CMAKE_HOST_WIN32 AND VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + set(GIR_TOOL_DIR ${CURRENT_INSTALLED_DIR}) +else() + set(GIR_TOOL_DIR ${CURRENT_HOST_INSTALLED_DIR}) +endif() + vcpkg_configure_meson( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -Dintrospection=disabled # Build the GObject introspection data for Pango -Dfontconfig=enabled # Build with FontConfig support. -Dsysprof=disabled # include tracing support for sysprof -Dlibthai=disabled # Build with libthai support @@ -18,25 +32,22 @@ vcpkg_configure_meson( -Dxft=disabled # Build with xft support -Dfreetype=enabled # Build with freetype support -Dgtk_doc=false #Build API reference for Pango using GTK-Doc - ADDITIONAL_NATIVE_BINARIES glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal' - glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums' - ADDITIONAL_CROSS_BINARIES glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal' - glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums' + ${OPTIONS} + OPTIONS_DEBUG + ${OPTIONS_DEBUG} + OPTIONS_RELEASE + ${OPTIONS_RELEASE} + ADDITIONAL_BINARIES + "glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal'" + "glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums'" + "g-ir-compiler='${CURRENT_HOST_INSTALLED_DIR}/tools/gobject-introspection/g-ir-compiler${VCPKG_HOST_EXECUTABLE_SUFFIX}'" + "g-ir-scanner='${GIR_TOOL_DIR}/tools/gobject-introspection/g-ir-scanner'" ) -vcpkg_install_meson() +vcpkg_install_meson(ADD_BIN_TO_PATH) vcpkg_fixup_pkgconfig() vcpkg_copy_pdbs() -vcpkg_copy_tools(TOOL_NAMES pango-view pango-list AUTO_CLEAN) - -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +vcpkg_copy_tools(TOOL_NAMES pango-view pango-list pango-segmentation AUTO_CLEAN) -set(_file "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/pango.pc") -if(EXISTS "${_file}") - vcpkg_replace_string("${_file}" [[-I"${includedir}/pango-1.0"]] [[-I"${includedir}/pango-1.0" -I"${includedir}/harfbuzz"]]) -endif() -set(_file "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/pango.pc") -if(EXISTS "${_file}") - vcpkg_replace_string("${_file}" [[-I"${includedir}/pango-1.0"]] [[-I"${includedir}/pango-1.0" -I"${includedir}/harfbuzz"]]) -endif() +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/pango/vcpkg.json b/ports/pango/vcpkg.json index f0741023681754..2e1032198797f4 100644 --- a/ports/pango/vcpkg.json +++ b/ports/pango/vcpkg.json @@ -1,9 +1,10 @@ { "name": "pango", - "version": "1.48.4", - "port-version": 1, + "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", + "supports": "!xbox", "dependencies": [ { "name": "cairo", @@ -27,6 +28,23 @@ "coretext" ], "platform": "osx" + }, + { + "name": "vcpkg-tool-meson", + "host": true + } + ], + "features": { + "introspection": { + "description": "build with introspection", + "dependencies": [ + { + "name": "harfbuzz", + "features": [ + "introspection" + ] + } + ] } - ] + } } diff --git a/ports/pangolin/devendor-palsigslot.patch b/ports/pangolin/devendor-palsigslot.patch new file mode 100644 index 00000000000000..4a858e0d8cb819 --- /dev/null +++ b/ports/pangolin/devendor-palsigslot.patch @@ -0,0 +1,26 @@ +diff --git a/cmake/PangolinConfig.cmake.in b/cmake/PangolinConfig.cmake.in +index 3ceea9d..e5bf9f0 100644 +--- a/cmake/PangolinConfig.cmake.in ++++ b/cmake/PangolinConfig.cmake.in +@@ -12,6 +12,7 @@ SET( Pangolin_LIBRARY "${Pangolin_LIBRARIES}" ) + + include(CMakeFindDependencyMacro) + find_dependency(Eigen3) ++find_dependency(PalSigslot CONFIG) + + if (UNIX) + find_dependency(Threads) +diff --git a/components/pango_core/CMakeLists.txt b/components/pango_core/CMakeLists.txt +index e1d931b..6c6ad4d 100644 +--- a/components/pango_core/CMakeLists.txt ++++ b/components/pango_core/CMakeLists.txt +@@ -49,6 +49,9 @@ install(DIRECTORY "${CMAKE_CURRENT_LIST_DIR}/include" + DESTINATION ${CMAKE_INSTALL_PREFIX} + ) + ++find_package(PalSigslot CONFIG REQUIRED) ++target_link_libraries(${COMPONENT} PUBLIC Pal::Sigslot) ++ + find_package(Threads QUIET) + if(Threads_FOUND) + target_link_libraries(${COMPONENT} PUBLIC Threads::Threads) diff --git a/ports/pangolin/fix-build-error-in-vs2019.patch b/ports/pangolin/fix-build-error-in-vs2019.patch deleted file mode 100644 index 1b7be934ea3219..00000000000000 --- a/ports/pangolin/fix-build-error-in-vs2019.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/include/mpark/variant.hpp b/include/mpark/variant.hpp -index fb2cf06..6debb99 100644 ---- a/include/mpark/variant.hpp -+++ b/include/mpark/variant.hpp -@@ -243,7 +243,7 @@ namespace std { - #endif - - #if defined(__cpp_constexpr) && __cpp_constexpr >= 201304 --#define MPARK_CPP14_CONSTEXPR -+//#define MPARK_CPP14_CONSTEXPR - #endif - - #if __has_feature(cxx_exceptions) || defined(__cpp_exceptions) || \ diff --git a/ports/pangolin/fix-cmake-version.patch b/ports/pangolin/fix-cmake-version.patch deleted file mode 100644 index 0153d90eaf5948..00000000000000 --- a/ports/pangolin/fix-cmake-version.patch +++ /dev/null @@ -1,10 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 0e13110..6adf1e2 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1,4 +1,4 @@ --cmake_minimum_required(VERSION 2.8.12) -+cmake_minimum_required(VERSION 3.8) - project("Pangolin") - set(PANGOLIN_VERSION_MAJOR 0) - set(PANGOLIN_VERSION_MINOR 6) diff --git a/ports/pangolin/fix-dependencies.patch b/ports/pangolin/fix-dependencies.patch deleted file mode 100644 index e3ced434ea2b4b..00000000000000 --- a/ports/pangolin/fix-dependencies.patch +++ /dev/null @@ -1,97 +0,0 @@ -diff --git a/include/pangolin/gl/colour.h b/include/pangolin/gl/colour.h -index 92bedf4..8c3e542 100644 ---- a/include/pangolin/gl/colour.h -+++ b/include/pangolin/gl/colour.h -@@ -28,6 +28,7 @@ - #pragma once - - #include -+#include - - #include - -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index ddeb144..ee27d57 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -299,7 +299,9 @@ if(BUILD_PANGOLIN_PYTHON AND BUILD_PANGOLIN_GUI AND BUILD_PANGOLIN_VARS AND NOT - - if(pybind11_FOUND) - set(HAVE_PYTHON 1) -- -+ if (UNIX) -+ set(PYTHON_LIBRARY ${PYTHON_LIBRARY} dl util) -+ endif() - file(GLOB pypangolin_SRC "python/pypangolin/*.cpp" ) - file(GLOB pypangolin_HDR "python/pypangolin/*.hpp" ) - list(APPEND HEADERS -@@ -382,6 +384,7 @@ endif() - - option(BUILD_PANGOLIN_FFMPEG "Build support for ffmpeg video input" ON) - if(BUILD_PANGOLIN_FFMPEG AND BUILD_PANGOLIN_VIDEO) -+ add_definitions(-DHAVE_FFMPEG_AVPIXELFORMAT) - find_package(FFMPEG QUIET) - if(FFMPEG_FOUND) - set(HAVE_FFMPEG 1) -@@ -464,11 +467,14 @@ endif() - - option(BUILD_PANGOLIN_LIBUVC "Build support for libuvc video input" ON) - if(BUILD_PANGOLIN_LIBUVC AND BUILD_PANGOLIN_VIDEO) -- find_package(uvc QUIET) -- if(uvc_FOUND) -+ find_package(libuvc CONFIG QUIET) -+ if(libuvc_FOUND) - set(HAVE_UVC 1) -- list(APPEND INTERNAL_INC ${uvc_INCLUDE_DIRS} ) -- list(APPEND LINK_LIBS ${uvc_LIBRARIES} ) -+ if (TARGET LibUVC::UVCShared) -+ list(APPEND LINK_LIBS LibUVC::UVCShared ) -+ else() -+ list(APPEND LINK_LIBS LibUVC::UVCStatic ) -+ endif() - list(APPEND HEADERS ${INCDIR}/video/drivers/uvc.h ) - list(APPEND SOURCES video/drivers/uvc.cpp) - list(APPEND VIDEO_FACTORY_REG RegisterUvcVideoFactory ) -@@ -584,11 +590,10 @@ endif() - - option(BUILD_PANGOLIN_LIBOPENEXR "Build support for libopenexr image input" ON) - if(BUILD_PANGOLIN_LIBOPENEXR) -- find_package(OpenEXR QUIET) -+ find_package(OpenEXR CONFIG QUIET) - if(OpenEXR_FOUND) - set(HAVE_OPENEXR 1) -- list(APPEND INTERNAL_INC ${OpenEXR_INCLUDE_DIR} ) -- list(APPEND LINK_LIBS ${OpenEXR_LIBRARY} ) -+ list(APPEND LINK_LIBS OpenEXR::IlmImf OpenEXR::IlmImfUtil OpenEXR::IlmImfConfig ) - message(STATUS "libopenexr Found and Enabled") - endif() - endif() -@@ -630,6 +635,13 @@ endif() - - set(INSTALL_INCLUDE_DIR "include") - -+# Required by geometry -+if(NOT BUILD_EXTERN_GLEW) -+ find_package(GLEW REQUIRED) -+endif() -+list(APPEND USER_INC ${GLEW_INCLUDE_DIR}) -+list(APPEND LINK_LIBS ${GLEW_LIBRARY}) -+ - add_library(${LIBRARY_NAME} ${SOURCES} ${HEADERS}) - # 'System' includes shield us from warnings in those includes. - target_include_directories(${LIBRARY_NAME} SYSTEM PUBLIC ${USER_INC} PRIVATE ${INTERNAL_INC}) -@@ -692,7 +704,13 @@ CreateMethodCallFile( - option(BUILD_PYPANGOLIN_MODULE "Python wrapper for Pangolin" ON) - if(BUILD_PYPANGOLIN_MODULE AND HAVE_PYTHON ) - file(GLOB pypangolin_SRC "python/pypangolin/*.hpp" "python/pypangolin/*.cpp" "python/pypangolin_module.cpp") -- pybind11_add_module(pypangolin ${pypangolin_SRC}) -+ if (BUILD_SHARED_LIBS) -+ set(PYBIND11_MODULE_TYPE SHARED) -+ else() -+ set(PYBIND11_MODULE_TYPE STATIC) -+ endif() -+ -+ pybind11_add_module(pypangolin ${PYBIND11_MODULE_TYPE} ${pypangolin_SRC}) - target_link_libraries(pypangolin PRIVATE ${LIBRARY_NAME}) - target_include_directories(pypangolin PRIVATE "${USER_INC}") - endif() diff --git a/ports/pangolin/fix-includepath-error.patch b/ports/pangolin/fix-includepath-error.patch deleted file mode 100644 index a5ee1ad1d77948..00000000000000 --- a/ports/pangolin/fix-includepath-error.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index a2c60ea..ddeb144 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -735,7 +735,7 @@ configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}Config.cmake.in - ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake @ONLY IMMEDIATE ) - - # Install tree config --set( EXPORT_LIB_INC_DIR "\${PROJECT_CMAKE_DIR}/${REL_INCLUDE_DIR}" ) -+set( EXPORT_LIB_INC_DIR "\${PROJECT_CMAKE_DIR}/../../include" ) - configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}Config.cmake.in - ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${PROJECT_NAME}Config.cmake @ONLY ) - diff --git a/ports/pangolin/portfile.cmake b/ports/pangolin/portfile.cmake index a3c79858635935..74a1f530d0f426 100644 --- a/ports/pangolin/portfile.cmake +++ b/ports/pangolin/portfile.cmake @@ -1,4 +1,3 @@ -vcpkg_fail_port_install(ON_TARGET "UWP") if(VCPKG_TARGET_IS_WINDOWS) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) @@ -7,14 +6,11 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO stevenlovegrove/Pangolin - REF dd801d244db3a8e27b7fe8020cd751404aa818fd #v0.6 - SHA512 8004ab6f146f319df41e4b8d4bdb6677b8faf6db725e34fea76fcbf065522fa286d334c2426dcb39faf0cfb3332946104f78393d2b2b2418fe02d91450916e78 + REF "v${VERSION}" + SHA512 ef2461770def3b0752d23df0c9a0090b733943249404528d0b2ba985d08c9083aabe685e3fd00be08318ea7b90dc38e9735ab004124643619e6cf369d64f6321 HEAD_REF master PATCHES - fix-includepath-error.patch # include path has one more ../ - fix-cmake-version.patch - fix-build-error-in-vs2019.patch - fix-dependencies.patch + devendor-palsigslot.patch ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS @@ -22,13 +18,9 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS test BUILD_TESTS tools BUILD_TOOLS examples BUILD_EXAMPLES - gui BUILD_PANGOLIN_GUI - vars BUILD_PANGOLIN_VARS - video BUILD_PANGOLIN_VIDEO pybind11 BUILD_PANGOLIN_PYTHON - eigen BUILD_PANGOLIN_EIGEN ffmpeg BUILD_PANGOLIN_FFMPEG - realsense BUILD_PANGOLIN_LIBREALSENSE2 + realsense BUILD_PANGOLIN_REALSENSE2 openni2 BUILD_PANGOLIN_OPENNI2 uvc BUILD_PANGOLIN_LIBUVC png BUILD_PANGOLIN_LIBPNG @@ -37,32 +29,27 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS openexr BUILD_PANGOLIN_LIBOPENEXR zstd BUILD_PANGOLIN_ZSTD lz4 BUILD_PANGOLIN_LZ4 - module BUILD_PYPANGOLIN_MODULE ) file(REMOVE "${SOURCE_PATH}/CMakeModules/FindGLEW.cmake") file(REMOVE "${SOURCE_PATH}/CMakeModules/FindFFMPEG.cmake") +file(REMOVE_RECURSE "${SOURCE_PATH}/components/pango_core/include/sigslot") string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" MSVC_USE_STATIC_CRT) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${FEATURE_OPTIONS} - -DBUILD_EXTERN_GLEW=OFF - -DBUILD_EXTERN_LIBPNG=OFF - -DBUILD_EXTERN_LIBJPEG=OFF -DBUILD_PANGOLIN_PLEORA=OFF -DBUILD_PANGOLIN_TELICAM=OFF -DBUILD_PANGOLIN_DEPTHSENSE=OFF -DBUILD_PANGOLIN_OPENNI=OFF -DBUILD_PANGOLIN_UVC_MEDIAFOUNDATION=OFF - -DBUILD_PANGOLIN_LIBREALSENSE=OFF + -DBUILD_PANGOLIN_REALSENSE=OFF -DBUILD_PANGOLIN_V4L=OFF -DBUILD_PANGOLIN_LIBDC1394=OFF - -DBUILD_PANGOLIN_TOON=OFF - -DDISPLAY_WAYLAND=OFF - -DDISPLAY_X11=OFF -DBUILD_FOR_GLES_2=OFF + -DBUILD_PANGOLIN_LIBRAW=OFF -DMSVC_USE_STATIC_CRT=${MSVC_USE_STATIC_CRT} MAYBE_UNUSED_VARIABLES MSVC_USE_STATIC_CRT @@ -72,6 +59,7 @@ vcpkg_cmake_configure( vcpkg_cmake_install() vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/Pangolin) +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/pangolin/PangolinConfig.cmake" "Pangolin_CMAKEMODULES ${SOURCE_PATH}/" "Pangolin_CMAKEMODULES \${CMAKE_CURRENT_LIST_DIR}/") vcpkg_copy_pdbs() @@ -85,11 +73,6 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") endif() -if(VCPKG_TARGET_IS_WINDOWS) - # Copy missing header file - file(COPY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/src/include/pangolin/pangolin_export.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include/pangolin") -endif() - # Put the license file where vcpkg expects it file(COPY "${CURRENT_PORT_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -file(INSTALL "${SOURCE_PATH}/LICENCE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) \ No newline at end of file +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENCE") \ No newline at end of file diff --git a/ports/pangolin/usage b/ports/pangolin/usage index 93db9b75b2082e..90fe10736f45ff 100644 --- a/ports/pangolin/usage +++ b/ports/pangolin/usage @@ -1,5 +1,4 @@ -The package pangolin is compatible with built-in CMake targets: +pangolin provides CMake targets: find_package(Pangolin CONFIG REQUIRED) - target_link_libraries(main PRIVATE pangolin) - target_include_directories(main PRIVATE ${Pangolin_INCLUDE_DIRS}) + target_link_libraries(main PRIVATE ${Pangolin_LIBRARIES}) diff --git a/ports/pangolin/vcpkg.json b/ports/pangolin/vcpkg.json index b28451d10e978d..5d0880c8c236b8 100644 --- a/ports/pangolin/vcpkg.json +++ b/ports/pangolin/vcpkg.json @@ -1,12 +1,15 @@ { "name": "pangolin", - "version": "0.6", - "port-version": 1, + "version": "0.9.2", "description": "Lightweight GUI Library", "homepage": "https://github.com/stevenlovegrove/Pangolin", + "license": "MIT", "supports": "!uwp", "dependencies": [ + "eigen3", "glew", + "libepoxy", + "palsigslot", { "name": "vcpkg-cmake", "host": true @@ -17,20 +20,13 @@ } ], "default-features": [ - "eigen", "ffmpeg", - "gui", "jpeg", - "png", - "vars", - "video" + "png" ], "features": { "eigen": { - "description": "Build support for Eigen matrix types", - "dependencies": [ - "eigen3" - ] + "description": "Unused option left for backwards compatibility with older versions" }, "examples": { "description": "Build Examples" @@ -47,7 +43,7 @@ ] }, "gui": { - "description": "Build support for Pangolin GUI" + "description": "Unused option left for backwards compatibility with older versions" }, "jpeg": { "description": "Build support for libjpeg image input", @@ -62,10 +58,7 @@ ] }, "module": { - "description": "Python wrapper for Pangolin", - "dependencies": [ - "python3" - ] + "description": "Unused option left for backwards compatibility with older versions" }, "openexr": { "description": "Build support for libopenexr image input", @@ -86,9 +79,10 @@ ] }, "pybind11": { - "description": "Build support for Pangolin Interactive Console", + "description": "Python wrapper for Pangolin", "dependencies": [ - "pybind11" + "pybind11", + "python3" ] }, "realsense": { @@ -103,11 +97,20 @@ "tiff": { "description": "Build support for libtiff image input", "dependencies": [ - "tiff" + { + "name": "tiff", + "default-features": false + } ] }, "tools": { - "description": "Build Tools" + "description": "Build Tools", + "dependencies": [ + { + "name": "pangolin", + "default-features": false + } + ] }, "uvc": { "description": "Build support for MediaFoundation UVC input", @@ -116,10 +119,10 @@ ] }, "vars": { - "description": "Build support for Pangolin Vars" + "description": "Unused option left for backwards compatibility with older versions" }, "video": { - "description": "Build support for Pangolin Video Utilities" + "description": "Unused option left for backwards compatibility with older versions" }, "zstd": { "description": "Build support for libzstd compression", diff --git a/ports/pangomm/COPYING b/ports/pangomm/COPYING deleted file mode 100644 index c4792dd27a32d2..00000000000000 --- a/ports/pangomm/COPYING +++ /dev/null @@ -1,515 +0,0 @@ - - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations -below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. -^L - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it -becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. -^L - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control -compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. -^L - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. -^L - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. -^L - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. -^L - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply, and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License -may add an explicit geographical distribution limitation excluding those -countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. -^L - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS -^L - How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms -of the ordinary General Public License). - - To apply these terms, attach the following notices to the library. -It is safest to attach them to the start of each source file to most -effectively convey the exclusion of warranty; and each file should -have at least the "copyright" line and a pointer to where the full -notice is found. - - - - Copyright (C) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -Also add information on how to contact you by electronic and paper -mail. - -You should also get your employer (if you work as a programmer) or -your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James -Random Hacker. - - , 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! - - diff --git a/ports/pangomm/portfile.cmake b/ports/pangomm/portfile.cmake index b7a59711964e43..27b7b28fe18cb5 100644 --- a/ports/pangomm/portfile.cmake +++ b/ports/pangomm/portfile.cmake @@ -1,28 +1,27 @@ -vcpkg_fail_port_install(ON_ARCH "arm" "arm64") - +# Keep distfile, don't use GitLab! vcpkg_download_distfile(ARCHIVE - URLS "https://ftp.gnome.org/pub/GNOME/sources/pangomm/2.48/pangomm-2.48.1.tar.xz" - FILENAME "pangomm-2.48.1.tar.xz" - SHA512 c204a1cb7a404f055d62880a760716c5567a835ca495cc5e01589ed59fabb332490e529de716c3438cefbc4428c025d6d01c71e4412b2843e3ab3a3175ccc2f4 + URLS "https://ftp.gnome.org/pub/GNOME/sources/pangomm/2.50/pangomm-2.50.1.tar.xz" + FILENAME "pangomm-2.50.1.tar.xz" + SHA512 bffc55eedc4f278480a74afcf119b79a295bf5775123f582746ba425e19e2690d627baa9a9813b70db9e063db7efe959f365567dd7bcbc1fc862212ba8225a98 ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH +vcpkg_extract_source_archive( + SOURCE_PATH ARCHIVE ${ARCHIVE} ) vcpkg_configure_meson( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -Dmsvc14x-parallel-installable=false - ADDITIONAL_NATIVE_BINARIES glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal' - glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums' - ADDITIONAL_CROSS_BINARIES glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal' - glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums' + -Dbuild-documentation=false + ADDITIONAL_BINARIES + 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() vcpkg_copy_pdbs() -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/pangomm/vcpkg.json b/ports/pangomm/vcpkg.json index f0e36aa4eb7bcf..955bef04fd64f0 100644 --- a/ports/pangomm/vcpkg.json +++ b/ports/pangomm/vcpkg.json @@ -1,8 +1,11 @@ { "name": "pangomm", - "version": "2.48.1", + "version": "2.50.1", + "port-version": 3, "description": "pangomm is the official C++ interface for the Pango font layout library. See, for instance, the Pango::Layout class.", - "homepage": "https://ftp.gnome.org/pub/GNOME/sources/pangomm", + "homepage": "https://gitlab.gnome.org/GNOME/pangomm", + "license": "LGPL-2.1-or-later", + "supports": "!(arm | xbox)", "dependencies": [ "cairo", "cairomm", @@ -16,6 +19,10 @@ }, "glibmm", "harfbuzz", - "pango" + "pango", + { + "name": "vcpkg-tool-meson", + "host": true + } ] } diff --git a/ports/parallel-hashmap/portfile.cmake b/ports/parallel-hashmap/portfile.cmake index e8b81b15d18176..67c5f73813ab59 100644 --- a/ports/parallel-hashmap/portfile.cmake +++ b/ports/parallel-hashmap/portfile.cmake @@ -3,17 +3,19 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO greg7mdp/parallel-hashmap - REF 1.33 - SHA512 287f098229153d925632e68e3cdbabfae0ea0ab8864089e4c0553a166c6079ca82ed5246ba53afd2a2917abcf06f37bc18f098e721f5f3b8def4d2d8c1c8c745 + REF "v${VERSION}" + SHA512 76ed02d92ea11248422be6728f10ee6b2dec91856e22e8475f04ec77b43b1885877e1c53ab2732fdf00fe550d1ce70f3daa4a5e7a47b6cf6d110c9b7ed77f7a7 HEAD_REF master ) # Use greg7mdp/parallel-hashmap's own build process, skipping examples and tests -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DPHMAP_BUILD_TESTS=OFF + -DPHMAP_BUILD_EXAMPLES=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() # Delete redundant directories file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/share/doc) diff --git a/ports/parallel-hashmap/vcpkg.json b/ports/parallel-hashmap/vcpkg.json index b1d7230cf1d651..92506c5edae439 100644 --- a/ports/parallel-hashmap/vcpkg.json +++ b/ports/parallel-hashmap/vcpkg.json @@ -1,6 +1,12 @@ { "name": "parallel-hashmap", - "version-string": "1.33", - "port-version": 1, - "description": "A header-only, very fast and memory-friendly family of C++ hash maps." + "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": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/parallelstl/portfile.cmake b/ports/parallelstl/portfile.cmake index a082b8b2b32708..efc6b64bf6dd86 100644 --- a/ports/parallelstl/portfile.cmake +++ b/ports/parallelstl/portfile.cmake @@ -8,21 +8,20 @@ vcpkg_from_github( fix-cmakelist.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DPARALLELSTL_USE_PARALLEL_POLICIES=ON ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/ParallelSTL) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/ParallelSTL) vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") # Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/parallelstl/vcpkg.json b/ports/parallelstl/vcpkg.json index f64a2af0fd0823..8cae816e0651e0 100644 --- a/ports/parallelstl/vcpkg.json +++ b/ports/parallelstl/vcpkg.json @@ -1,10 +1,18 @@ { "name": "parallelstl", - "version-string": "20200330", - "port-version": 1, + "version": "20200330", + "port-version": 3, "description": "Parallel STL is an implementation of the C++ standard library algorithms with support for execution policies, as specified in ISO/IEC 14882:2017 standard, commonly called C++17.", "homepage": "https://github.com/intel/parallelstl", "dependencies": [ - "tbb" + "tbb", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/paraview/catalyst_install.patch b/ports/paraview/catalyst_install.patch deleted file mode 100644 index e52802fbef3338..00000000000000 --- a/ports/paraview/catalyst_install.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff --git a/Clients/InSitu/CMakeLists.txt b/Clients/InSitu/CMakeLists.txt -index 159aa8ffc..f9bfc7dfe 100644 ---- a/Clients/InSitu/CMakeLists.txt -+++ b/Clients/InSitu/CMakeLists.txt -@@ -86,5 +86,5 @@ _vtk_module_apply_properties(catalyst) - # Update install locations - catalyst_library( - TARGET catalyst -- LIBRARY_DESTINATION "${_vtk_build_LIBRARY_DESTINATION}" -+ #LIBRARY_DESTINATION "${_vtk_build_LIBRARY_DESTINATION}" - INSTALL_EXPORT_DEFAULT) -diff --git a/Remoting/Views/vtkGeometryRepresentationInternal.h b/Remoting/Views/vtkGeometryRepresentationInternal.h -index 86eb383af..cc204fba2 100644 ---- a/Remoting/Views/vtkGeometryRepresentationInternal.h -+++ b/Remoting/Views/vtkGeometryRepresentationInternal.h -@@ -22,7 +22,7 @@ - // serial backend. - #ifndef __VTK_WRAP__ - #if VTK_MODULE_ENABLE_VTK_vtkm --#include "vtkmConfigFilters.h" // for VTKM_ENABLE_TBB -+//#include "vtkmConfigFilters.h" // for VTKM_ENABLE_TBB - #endif - - #if defined(VTKM_ENABLE_TBB) && VTK_MODULE_ENABLE_VTK_AcceleratorsVTKmFilters diff --git a/ports/paraview/cgns.patch b/ports/paraview/cgns.patch deleted file mode 100644 index 2ebb05e1bd2ec2..00000000000000 --- a/ports/paraview/cgns.patch +++ /dev/null @@ -1,29 +0,0 @@ -diff --git a/CMake/FindCGNS.cmake b/CMake/FindCGNS.cmake -index 005f1afd9..a45103a9f 100644 ---- a/CMake/FindCGNS.cmake -+++ b/CMake/FindCGNS.cmake -@@ -16,7 +16,7 @@ mark_as_advanced(CGNS_INCLUDE_DIR) - - find_library(CGNS_LIBRARY - NAMES -- cgns -+ cgnsdll cgns - DOC "CGNS library") - mark_as_advanced(CGNS_LIBRARY) - -@@ -45,4 +45,15 @@ if (CGNS_FOUND) - IMPORTED_LOCATION "${CGNS_LIBRARY}" - INTERFACE_INCLUDE_DIRECTORIES "${CGNS_INCLUDE_DIR}") - endif () -+ include(CMakeFindDependencyMacro) -+ find_dependency(hdf5 CONFIG) -+ if(TARGET hdf5::hdf5-shared) -+ set_property(TARGET CGNS::CGNS APPEND PROPERTY -+ INTERFACE_LINK_LIBRARIES "hdf5::hdf5-shared") -+ elseif(TARGET hdf5::hdf5-static) -+ set_property(TARGET CGNS::CGNS APPEND PROPERTY -+ INTERFACE_LINK_LIBRARIES "hdf5::hdf5-static") -+ else() -+ message(FATAL_ERROR "No HDF5 target to link cgns against") -+ endif() - endif () diff --git a/ports/paraview/external_vtk.patch b/ports/paraview/external_vtk.patch deleted file mode 100644 index 0df160d6acb46f..00000000000000 --- a/ports/paraview/external_vtk.patch +++ /dev/null @@ -1,150 +0,0 @@ -diff --git a/CMake/ParaViewClient.cmake b/CMake/ParaViewClient.cmake -index b0dea2b32..b035a9dc3 100644 ---- a/CMake/ParaViewClient.cmake -+++ b/CMake/ParaViewClient.cmake -@@ -516,6 +516,7 @@ function (paraview_client_documentation) - NAMES xmlpatterns-qt5 xmlpatterns - HINTS "${Qt5_DIR}/../../../bin" - "${Qt5_DIR}/../../../libexec/qt5/bin" -+ "${Qt5_DIR}/../../../tools/qt5/bin" - DOC "Path to xmlpatterns") - mark_as_advanced(qt_xmlpatterns_executable) - -diff --git a/CMake/ParaViewOptions.cmake b/CMake/ParaViewOptions.cmake -index f544a7c06..c51278931 100644 ---- a/CMake/ParaViewOptions.cmake -+++ b/CMake/ParaViewOptions.cmake -@@ -88,7 +88,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 1af77d164..bebcb83ee 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -72,7 +72,8 @@ 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") -+set(vtk_cmake_dir "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/share/vtk") -+message(STATUS "vtk_cmake_dir:${vtk_cmake_dir}") - if (NOT IS_DIRECTORY "${vtk_cmake_dir}") - message(FATAL_ERROR - "Failed to find the VTK CMake directory. Did you forget to initialize the " -@@ -383,9 +384,73 @@ 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}.") -+ message(STATUS "REQUIRED:${paraview_required_modules}") -+ foreach(mod ${paraview_required_modules}) -+ if(NOT TARGET ${mod}) -+ message(STATUS "REQUIRED TARGET not defined: ${mod}") -+ list(APPEND modules_notarget ${mod}) -+ endif() -+ if(${mod} MATCHES "VTK::") # For better debugging -+ message(STATUS "VTK TARGET found: ${mod}") -+ list(APPEND vtk_modules ${mod}) -+ endif() -+ endforeach() -+ foreach(mod ${paraview_unrecognized_modules}) -+ if(NOT TARGET ${mod}) -+ message(STATUS "UNREC TARGET not defined: ${mod}") -+ list(FIND paraview_rejected_modules ${mod} _found_mod) -+ if(_found_mod GREATER_EQUAL 0) -+ message(STATUS "MODULE ${mod} not necessary; Removing from unrecognized") -+ 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() -+ message(STATUS "UNRECOGNIZED:${paraview_unrecognized_modules}") -+ list(REMOVE_ITEM paraview_unrecognized_modules ${_to_remove}) -+ 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}) -+ message(STATUS "Unnecessary MODULES: ${_unnecessary_moduls}") -+ 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) -@@ -459,7 +524,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 -@@ -558,6 +623,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} -@@ -596,9 +664,11 @@ vtk_module_build( - TEST_OUTPUT_DATA_DIRECTORY "${paraview_test_data_directory_output}") - - 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 784efa6be443ea..8456baa943dbb5 100644 --- a/ports/paraview/portfile.cmake +++ b/ports/paraview/portfile.cmake @@ -1,29 +1,65 @@ -file(READ "${CMAKE_CURRENT_LIST_DIR}/vcpkg.json" _vcpkg_json) -string(JSON _ver_string GET "${_vcpkg_json}" "version-semver") -string(REGEX MATCH "^[0-9]+\.[0-9]+" VERSION "${_ver_string}") +set(VERSION_MAJOR_MINOR 5.12) -vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS +set(plat_feat "") +if(VCPKG_TARGET_IS_LINUX) + set(plat_feat "tools" VTK_USE_X) # required to build the client +endif() +if(VCPKG_TARGET_IS_LINUX) + set(plat_feat "tools" VTK_USE_COCOA) # required to build the client +endif() + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES "cuda" PARAVIEW_USE_CUDA #untested; probably only affects internal VTK build so it does nothing here "all_modules" PARAVIEW_BUILD_ALL_MODULES #untested "mpi" PARAVIEW_USE_MPI #untested "vtkm" PARAVIEW_USE_VTKM "python" PARAVIEW_USE_PYTHON "tools" PARAVIEW_BUILD_TOOLS + ${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 aad4b6f1e92154879209102edfab8367f1e7d191 # v5.9.1 - SHA512 330fcb8525bdee9b02e06f05d4e91cc4d631d03df99c30f82bb97da5e06b5a2a6ff4ecee807b6f6c7110d2f53db1c17e4670d6078ae1cc89cfd7089b67d05bdb + REF 8751c670e2aac949f17dd701a5a2f13849afafb2 # v5.12.1 + SHA512 ed7b7e183c9d1350d8d2feadf7b76bef939bc657f49e5160e2e96e2329642d8ba1c0a8ab7cb58ff068ba21b7adc3f52676b38779e1ecec31b4714184c2364072 HEAD_REF master PATCHES - external_vtk.patch - cgns.patch - python_include.patch - python_wrapper.patch + ${ext_vtk_patch_copy} add-tools-option.patch - catalyst_install.patch + fix-build.patch + fix-configure.patch + protobuf-version.patch ) if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") @@ -38,55 +74,71 @@ vcpkg_from_gitlab( OUT_SOURCE_PATH VISITIT_SOURCE_PATH GITLAB_URL https://gitlab.kitware.com/ REPO paraview/visitbridge - REF 42fce8ad6863ca2c1308741955cca1d0cf570d22 - SHA512 03a6254989d3e286a462683af92caba1e90decbdcfb2e729f2d7e1116b04d63a05c28d02c4615d780fdd0d33e2719f96617233d6e0602410cc6d894f92fe6ee3 - PATCHES + REF 093ea1dfddbb3266554ece823ae8d7dedc66eb3f + SHA512 0fd5dd3fbc8e61123dedb8e30b3150109ef855bc398d01ed0defe0c560692c91231ff72568ee6a1840edc21d6ea3c9c164dbeb29b8590315ee5c153a3d77d568 + PATCHES ${VisItPatches} ) +#VTK_MODULE_USE_EXTERNAL_ParaView_protobuf +#NVPipe? #Get QtTesting Plugin vcpkg_from_gitlab( OUT_SOURCE_PATH QTTESTING_SOURCE_PATH GITLAB_URL https://gitlab.kitware.com/ REPO paraview/qttesting - REF 72290689c7c55622d729bf95c97e7627026a234e - SHA512 fb18c6745b784b294f01d5391ba4cdcaa109443a193eb35fbf1553fdb3a4f7217f784fd4893fab72784cec5bd3fc821bf1e766e943d0f562c5917788800599b0 + REF 375c33053704e2d99dda4d2e1dfc9f6f85b3e73f + SHA512 4d42352394017f4a07ed96dea6b5c0caf3bc6b22bbe0c8f5df6d2740cb7b2946e0b04ac7b79b88bc7c4281bb8d48071878f42c41c042de8ef6979818d26490e5 ) -#Get Catalyst vcpkg_from_gitlab( - OUT_SOURCE_PATH CATALYST_SOURCE_PATH + OUT_SOURCE_PATH ICET_SOURCE_PATH GITLAB_URL https://gitlab.kitware.com/ - REPO paraview/catalyst - REF e36e4a5f3c67011c97c335cce23d2bc3abc0d086 - SHA512 9926c272ab8785997f9c98cfaf696943081b0ddb0e9e343602722671b6f3eaef5b8de5dd049ca783b6844c7e328a96e1b09c8b24c16f001eeeed2d154d290480 + REPO paraview/IceT + REF 32816fe5592de3be664da6f8466a546f221d8532 + SHA512 33d5e8f2ecdc20d305d04c23fc3a3121d3c5305ddff7f5b71cee1a2c2183c4b36c9d0bd91e9dba5f2369e237782d7dbcf635d2e1814ccde88570647c890edc9d ) - -file(COPY ${VISITIT_SOURCE_PATH}/ DESTINATION ${SOURCE_PATH}/Utilities/VisItBridge) -file(COPY ${QTTESTING_SOURCE_PATH}/ DESTINATION ${SOURCE_PATH}/ThirdParty/QtTesting/vtkqttesting) -file(COPY ${CATALYST_SOURCE_PATH}/ DESTINATION ${SOURCE_PATH}/ThirdParty/catalyst/vtkcatalyst/catalyst) +file(COPY "${VISITIT_SOURCE_PATH}/" DESTINATION "${SOURCE_PATH}/Utilities/VisItBridge") +file(COPY "${QTTESTING_SOURCE_PATH}/" DESTINATION "${SOURCE_PATH}/ThirdParty/QtTesting/vtkqttesting") +file(COPY "${ICET_SOURCE_PATH}/" DESTINATION "${SOURCE_PATH}/ThirdParty/IceT/vtkicet") if("python" IN_LIST FEATURES) - vcpkg_find_acquire_program(PYTHON3) + set(python_ver "") + if(NOT VCPKG_TARGET_IS_WINDOWS) + 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}") + endif() list(APPEND ADDITIONAL_OPTIONS -DPython3_FIND_REGISTRY=NEVER - "-DPython3_EXECUTABLE:PATH=${PYTHON3}" # Required by more than one feature + "-DPython3_EXECUTABLE:PATH=${CURRENT_INSTALLED_DIR}/tools/python3/python${python_ver}${VCPKG_EXECUTABLE_SUFFIX}" + -DPARAVIEW_PYTHON_SITE_PACKAGES_SUFFIX=${PYTHON3_SITE} + -DVTK_MODULE_ENABLE_ParaView_PythonCatalyst:STRING=YES ) - #VTK_PYTHON_SITE_PACKAGES_SUFFIX should be set to the install dir of the site-packages endif() -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA # Disable this option if project cannot be built with Ninja - OPTIONS ${FEATURE_OPTIONS} +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} + -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 -DPARAVIEW_ENABLE_VISITBRIDGE:BOOL=ON -DVTK_MODULE_ENABLE_ParaView_qttesting=YES -DPARAVIEW_ENABLE_EMBEDDED_DOCUMENTATION:BOOL=OFF -DPARAVIEW_USE_QTHELP:BOOL=OFF - - #A little bit of help in finding the boost headers + # A little bit of help in finding the boost headers "-DBoost_INCLUDE_DIR:PATH=${CURRENT_INSTALLED_DIR}/include" # Workarounds for CMake issues @@ -102,18 +154,21 @@ if(CMAKE_HOST_UNIX) set(ENV{LD_LIBRARY_PATH} "${BACKUP_LD_LIBRARY_PATH}:${CURRENT_INSTALLED_DIR}/lib") endif() -vcpkg_install_cmake(ADD_BIN_TO_PATH) # Bin to path required since paraview will use some self build tools +vcpkg_cmake_install(ADD_BIN_TO_PATH) # Bin to path required since paraview will use some self build tools if(CMAKE_HOST_UNIX) set(ENV{LD_LIBRARY_PATH} "${BACKUP_LD_LIBRARY_PATH}") endif() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/paraview-${VERSION}) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/paraview-${VERSION_MAJOR_MINOR}) + +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) +# see https://gitlab.kitware.com/paraview/paraview/-/issues/21328 +file(REMOVE "${CURRENT_PACKAGES_DIR}/include/paraview-${VERSION_MAJOR_MINOR}/vtkCPConfig.h") -set(TOOLVER pv${VERSION}) +set(TOOLVER pv${VERSION_MAJOR_MINOR}) set(TOOLS paraview pvbatch pvdataserver @@ -128,34 +183,33 @@ foreach(tool ${TOOLS}) # Remove debug tools set(filename ${CURRENT_PACKAGES_DIR}/debug/bin/${tool}${VCPKG_TARGET_EXECUTABLE_SUFFIX}) if(EXISTS ${filename}) - file(REMOVE ${filename}) + file(REMOVE "${filename}") endif() set(filename ${CURRENT_PACKAGES_DIR}/debug/bin/${tool}-${TOOLVER}${VCPKG_TARGET_EXECUTABLE_SUFFIX}) if(EXISTS ${filename}) - file(REMOVE ${filename}) + file(REMOVE "${filename}") endif() set(filename ${CURRENT_PACKAGES_DIR}/debug/bin/${tool}-${TOOLVER}d${VCPKG_TARGET_EXECUTABLE_SUFFIX}) if(EXISTS ${filename}) - file(REMOVE ${filename}) + file(REMOVE "${filename}") endif() # Move release tools set(filename ${CURRENT_PACKAGES_DIR}/bin/${tool}${VCPKG_TARGET_EXECUTABLE_SUFFIX}) if(EXISTS ${filename}) - file(INSTALL ${filename} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT}) - file(REMOVE ${filename}) + file(INSTALL "${filename}" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}") + file(REMOVE "${filename}") endif() set(filename ${CURRENT_PACKAGES_DIR}/bin/${tool}-${TOOLVER}${VCPKG_TARGET_EXECUTABLE_SUFFIX}) if(EXISTS ${filename}) - file(INSTALL ${filename} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT}) - file(REMOVE ${filename}) + file(INSTALL "${filename}" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}") + file(REMOVE "${filename}") endif() endforeach() vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT}) -# # Handle copyright -file(INSTALL ${SOURCE_PATH}/Copyright.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/paraview RENAME Copyright.txt) # Which one is the correct one? -file(INSTALL ${SOURCE_PATH}/License_v1.2.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/paraview 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) @@ -167,7 +221,7 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") endif() endmacro() - set(to_move Lib paraview-${VERSION} paraview-config) + set(to_move Lib paraview-${VERSION_MAJOR_MINOR} paraview-config) foreach(name ${to_move}) move_bin_to_lib(${name}) endforeach() @@ -179,5 +233,14 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") file(WRITE "${cmake_file}" "${_contents}") endforeach() - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) -endif() \ No newline at end of file + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") +endif() + +file(GLOB cmake_files "${CURRENT_PACKAGES_DIR}/share/${PORT}/*.cmake") +foreach(file IN LISTS cmake_files) + 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 +file(REMOVE "${CURRENT_PACKAGES_DIR}/Applications/paraview.app/Contents/Resources/paraview.conf") +file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/Applications/paraview.app/Contents/Resources/paraview.conf") 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/vcpkg.json b/ports/paraview/vcpkg.json index 85570e754d082a..610ba1e5adb664 100644 --- a/ports/paraview/vcpkg.json +++ b/ports/paraview/vcpkg.json @@ -1,14 +1,26 @@ { "name": "paraview", - "version-semver": "5.9.1", + "version": "5.12.1", + "port-version": 2, "description": "VTK-based Data Analysis and Visualization Application", "homepage": "https://www.paraview.org/", + "license": "BSD-3-Clause", "dependencies": [ "boost-algorithm", "boost-core", "boost-format", "cgns", "protobuf", + "qt5compat", + "qtsvg", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, { "name": "vtk", "default-features": false, diff --git a/ports/parmetis/build-fixes.patch b/ports/parmetis/build-fixes.patch new file mode 100644 index 00000000000000..ff12d4551d5baa --- /dev/null +++ b/ports/parmetis/build-fixes.patch @@ -0,0 +1,98 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 146bc5f..8d6ae23 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,4 +1,4 @@ +-cmake_minimum_required(VERSION 2.8) ++cmake_minimum_required(VERSION 3.22) + project(ParMETIS C) + + +@@ -24,20 +24,16 @@ include(./conf/gkbuild.cmake) + # i.e., the -I equivalent + include_directories(include) + include_directories(${MPI_INCLUDE_PATH}) +-include_directories(${GKLIB_PATH}/include) +-include_directories(${METIS_PATH}/include) +-include_directories(${CMAKE_INSTALL_PREFIX}/include) +- +-# List of paths that the compiler will search for library files. +-# i.e., the -L equivalent +-link_directories(${GKLIB_PATH}/lib) +-link_directories(${METIS_PATH}/lib) +-link_directories(${CMAKE_INSTALL_PREFIX}/lib) +- + # List of directories that cmake will look for CMakeLists.txt +-add_subdirectory(include) + add_subdirectory(libparmetis) +-add_subdirectory(programs) + + # This is for testing during development and is not being distributed + #add_subdirectory(test) ++ ++install(EXPORT parmetisTargets FILE "parmetisTargets.cmake" DESTINATION "share/parmetis") ++file(WRITE "${CMAKE_INSTALL_PREFIX}/share/parmetis/parmetisConfig.cmake" [=[ ++include(CMakeFindDependencyMacro) ++find_dependency(GKlib CONFIG) ++find_dependency(metis CONFIG) ++include("${CMAKE_CURRENT_LIST_DIR}/parmetisTargets.cmake") ++]=]) +diff --git a/conf/gkbuild.cmake b/conf/gkbuild.cmake +index afcafdd..3040b09 100644 +--- a/conf/gkbuild.cmake ++++ b/conf/gkbuild.cmake +@@ -15,7 +15,6 @@ option(GKRAND "enable GKRAND support" OFF) + + # Add compiler flags. + if(MSVC) +- set(GK_COPTS "/Ox") + set(GK_COPTIONS "-DWIN32 -DMSC -D_CRT_SECURE_NO_DEPRECATE -DUSE_GKREGEX") + elseif(MINGW) + set(GK_COPTS "-DUSE_GKREGEX") +@@ -33,7 +32,7 @@ if(CMAKE_COMPILER_IS_GNUCC) + set(GK_COPTIONS "${GK_COPTIONS} -fPIC") + endif(NOT MINGW) + # GCC warnings. +- set(GK_COPTIONS "${GK_COPTIONS} -Werror -Wall -pedantic -Wno-unused-function -Wno-unused-but-set-variable -Wno-unused-variable -Wno-unknown-pragmas -Wno-unused-label") ++ set(GK_COPTIONS "${GK_COPTIONS} -Wall -pedantic -Wno-unused-function -Wno-unused-but-set-variable -Wno-unused-variable -Wno-unknown-pragmas -Wno-unused-label") + elseif(${CMAKE_C_COMPILER_ID} MATCHES "Sun") + # Sun insists on -xc99. + set(GK_COPTIONS "${GK_COPTIONS} -xc99") +@@ -64,7 +63,7 @@ endif(OPENMP) + if(GDB) + set(GK_COPTS "${GK_COPTS} -g") + set(GK_COPTIONS "${GK_COPTIONS} -Werror") +-else() ++elseif(0) + set(GK_COPTS "-O3") + endif(GDB) + +@@ -135,4 +134,3 @@ endif() + + # Finally set the official C flags. + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${GK_COPTIONS} ${GK_COPTS}") +- +diff --git a/libparmetis/CMakeLists.txt b/libparmetis/CMakeLists.txt +index e8c3213..dcdf64e 100644 +--- a/libparmetis/CMakeLists.txt ++++ b/libparmetis/CMakeLists.txt +@@ -4,10 +4,14 @@ include_directories(.) + # Find sources. + file(GLOB parmetis_sources *.c) + ++find_package(GKlib CONFIG REQUIRED) ++find_package(metis CONFIG REQUIRED) ++find_package(MPI REQUIRED) ++ + # Create libparmetis + add_library(parmetis ${ParMETIS_LIBRARY_TYPE} ${parmetis_sources}) +- +-install(TARGETS parmetis +- LIBRARY DESTINATION lib +- RUNTIME DESTINATION lib +- ARCHIVE DESTINATION lib) ++target_link_libraries(parmetis PRIVATE GKlib metis ${MPI_C_LIBRARIES}) ++target_include_directories(parmetis PUBLIC ${MPI_C_INCLUDE_DIRS}) ++target_include_directories(parmetis PRIVATE "../include") ++install(FILES "../include/parmetis.h" DESTINATION "include") ++install(TARGETS parmetis EXPORT parmetisTargets INCLUDES DESTINATION include) diff --git a/ports/parmetis/fix-gklib-vs14-math.patch b/ports/parmetis/fix-gklib-vs14-math.patch deleted file mode 100644 index 059890e36f6f30..00000000000000 --- a/ports/parmetis/fix-gklib-vs14-math.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/metis/GKlib/gk_arch.h Wed Dec 21 18:34:18 2016 -+++ b/metis/GKlib/gk_arch.h Wed Dec 21 18:30:49 2016 -@@ -58,7 +58,7 @@ - #define PTRDIFF_MAX INT64_MAX - #endif - --#ifdef __MSC__ -+#if defined(__MSC__) && (_MSC_VER < 1900) - /* MSC does not have rint() function */ - #define rint(x) ((int)((x)+0.5)) - diff --git a/ports/parmetis/fix-libparmetis-cmakelist.patch b/ports/parmetis/fix-libparmetis-cmakelist.patch deleted file mode 100644 index 6cdd7be62228a3..00000000000000 --- a/ports/parmetis/fix-libparmetis-cmakelist.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- a/libparmetis/CMakeLists.txt Sat Mar 30 17:24:50 2013 -+++ b/libparmetis/CMakeLists.txt Wed Dec 21 19:40:28 2016 -@@ -5,10 +5,10 @@ - # Create libparmetis - add_library(parmetis ${ParMETIS_LIBRARY_TYPE} ${parmetis_sources}) - # Link with metis and MPI libraries. --target_link_libraries(parmetis metis ${MPI_LIBRARIES}) -+target_link_libraries(parmetis ${METIS_LIBRARY} ${MPI_LIBRARIES}) - set_target_properties(parmetis PROPERTIES LINK_FLAGS "${MPI_LINK_FLAGS}") - - install(TARGETS parmetis - LIBRARY DESTINATION lib -- RUNTIME DESTINATION lib -+ RUNTIME DESTINATION bin - ARCHIVE DESTINATION lib) diff --git a/ports/parmetis/fix-metis-vs14-math.patch b/ports/parmetis/fix-metis-vs14-math.patch deleted file mode 100644 index ddf10052a7525b..00000000000000 --- a/ports/parmetis/fix-metis-vs14-math.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/metis/libmetis/metislib.h Sat Mar 30 17:24:45 2013 -+++ b/metis/libmetis/metislib.h Wed Dec 21 18:30:59 2016 -@@ -31,7 +31,7 @@ - #include - - --#if defined(COMPILER_MSC) -+#if defined(COMPILER_MSC) && (_MSC_VER < 1900) - #if defined(rint) - #undef rint - #endif diff --git a/ports/parmetis/fix-root-cmakelist-2.patch b/ports/parmetis/fix-root-cmakelist-2.patch deleted file mode 100644 index 8f4630bfac7433..00000000000000 --- a/ports/parmetis/fix-root-cmakelist-2.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- a/CMakeLists.txt 2013-03-30 17:24:50.000000000 +0100 -+++ b/CMakeLists.txt 2021-04-20 10:41:49.946801222 +0200 -@@ -1,12 +1,12 @@ - cmake_minimum_required(VERSION 2.8) - project(ParMETIS) - --set(GKLIB_PATH METIS/GKlib CACHE PATH "path to GKlib") --set(METIS_PATH METIS CACHE PATH "path to METIS") -+set(GKLIB_PATH ${CMAKE_CURRENT_SOURCE_DIR}/metis/GKlib CACHE PATH "path to GKlib") -+set(METIS_PATH metis CACHE PATH "path to METIS") - - # Symlink ./metis to wherever metis is. This allows files to be - # included from metis/libmetis/. --execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink ${METIS_PATH} metis) -+#execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink ${METIS_PATH} metis) - - # Search for MPI. - # GK commented this out as it seems to be creating problems diff --git a/ports/parmetis/fix-root-cmakelist.patch b/ports/parmetis/fix-root-cmakelist.patch deleted file mode 100644 index 914bf9189c7538..00000000000000 --- a/ports/parmetis/fix-root-cmakelist.patch +++ /dev/null @@ -1,29 +0,0 @@ ---- a/CMakeLists.txt Sat Mar 30 17:24:50 2013 -+++ b/CMakeLists.txt Wed Dec 21 19:38:12 2016 -@@ -16,6 +16,9 @@ - # endif() - # set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${MPI_COMPILE_FLAGS}") - -+find_package(MPI REQUIRED) -+find_library(METIS_LIBRARY NAMES metis) -+ - # Prepare libraries. - if(SHARED) - set(ParMETIS_LIBRARY_TYPE SHARED) -@@ -30,13 +33,13 @@ - include_directories(include) - include_directories(${MPI_INCLUDE_PATH}) - include_directories(${GKLIB_PATH}) --include_directories(${METIS_PATH}/include) -+# include_directories(${METIS_PATH}/include) - - # List of directories that cmake will look for CMakeLists.txt --add_subdirectory(${METIS_PATH}/libmetis ${CMAKE_BINARY_DIR}/libmetis) -+# add_subdirectory(${METIS_PATH}/libmetis ${CMAKE_BINARY_DIR}/libmetis) - add_subdirectory(include) - add_subdirectory(libparmetis) --add_subdirectory(programs) -+# add_subdirectory(programs) - - # This is for testing during development and is not being distributed - #add_subdirectory(test) diff --git a/ports/parmetis/portfile.cmake b/ports/parmetis/portfile.cmake index 62d633eac110e0..b845ca81c7174d 100644 --- a/ports/parmetis/portfile.cmake +++ b/ports/parmetis/portfile.cmake @@ -1,36 +1,27 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -set(ADDITIONAL_OPTIONS -DSHARED=OFF) -vcpkg_download_distfile(ARCHIVE - URLS "http://glaros.dtc.umn.edu/gkhome/fetch/sw/parmetis/parmetis-4.0.3.tar.gz" - FILENAME "parmetis-4.0.3.tar.gz" - SHA512 454a91921ca35c981df11c9846a11963ff8fd8407a25179453af33f8fe69493f6dd7f2a0b8feed9a7d3f121e45b715749dd7a94873eaac2bae4cad1e535ca132 -) - -vcpkg_extract_source_archive_ex( +vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} + REPO KarypisLab/ParMETIS + REF 44fadbf58c71a74b39abb110a7691355d2a760ca + SHA512 d07e2ccb358948b728be3d282841ad42a8358908a4f1ab3342d4c3016e71a06c1b5966640a06e713f4c773365d7dba4f0c68795d615802f3af07194c0778f362 PATCHES - fix-metis-vs14-math.patch - fix-gklib-vs14-math.patch - fix-root-cmakelist.patch - fix-libparmetis-cmakelist.patch - use_stdint.patch - fix-root-cmakelist-2.patch + build-fixes.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS - ${ADDITIONAL_OPTIONS} + -DSHARED=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) - -# Handle copyright -file(COPY ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/parmetis) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/parmetis/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/parmetis/copyright) +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) +file(WRITE "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" [=[ +parmetis provides CMake targets: + find_package(parmetis CONFIG REQUIRED) + target_link_libraries(main PRIVATE parmetis) +]=]) diff --git a/ports/parmetis/vcpkg.json b/ports/parmetis/vcpkg.json index 4b5cf996605b69..50c1c876055196 100644 --- a/ports/parmetis/vcpkg.json +++ b/ports/parmetis/vcpkg.json @@ -1,11 +1,19 @@ { "name": "parmetis", - "version-string": "4.0.3", - "port-version": 5, + "version-date": "2022-07-27", "description": "Parallel Graph Partitioning and Fill-reducing Matrix Ordering", "homepage": "https://glaros.dtc.umn.edu/gkhome/metis/parmetis/overview", + "license": null, "dependencies": [ "metis", - "mpi" + "mpi", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/parquet/vcpkg.json b/ports/parquet/vcpkg.json index c604f1a9f7fd72..8fbce11828280d 100644 --- a/ports/parquet/vcpkg.json +++ b/ports/parquet/vcpkg.json @@ -1,7 +1,7 @@ { "name": "parquet", - "version-string": "0", - "port-version": 1, + "version": "0", + "port-version": 2, "description": "Parquet-cpp is a C++ library to read and write the Apache Parquet columnar data format. It is now part of the arrow library.", "dependencies": [ "arrow" diff --git a/ports/parsi/portfile.cmake b/ports/parsi/portfile.cmake new file mode 100644 index 00000000000000..e111e4392d8418 --- /dev/null +++ b/ports/parsi/portfile.cmake @@ -0,0 +1,17 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO cthulhu-irl/parsi + REF "v${VERSION}" + SHA512 193927b3b2e50d358752c6b58798d4050101d634d5231bf3e5c354edaca846a4e05f8b862c8fc461116f8ddecda0b0ebac7ee936579868a816e6404cedf964ec + HEAD_REF main +) + +vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DPARSI_MAIN_PROJECT=OFF -DPARSI_INSTALL=ON) +vcpkg_cmake_install() + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug" +) + +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/parsi/usage b/ports/parsi/usage new file mode 100644 index 00000000000000..386c5163cf5170 --- /dev/null +++ b/ports/parsi/usage @@ -0,0 +1,4 @@ +parsi provides CMake targets: + + find_package(parsi CONFIG REQUIRED) + target_link_libraries(main PRIVATE parsi::parsi) diff --git a/ports/parsi/vcpkg.json b/ports/parsi/vcpkg.json new file mode 100644 index 00000000000000..6f6603db27dad5 --- /dev/null +++ b/ports/parsi/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "parsi", + "version": "0.1.0", + "description": "A declarative parser combinator library.", + "homepage": "https://github.com/cthulhu-irl/parsi", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/parson/CMakeLists.txt b/ports/parson/CMakeLists.txt deleted file mode 100644 index f96ed427c287f6..00000000000000 --- a/ports/parson/CMakeLists.txt +++ /dev/null @@ -1,19 +0,0 @@ -cmake_minimum_required(VERSION 3.5) -project(parson C) - -add_library(parson parson.c) -target_include_directories(parson PUBLIC $) - -install(TARGETS parson - EXPORT unofficial-parson-targets - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib -) - -install( - EXPORT unofficial-parson-targets - FILE unofficial-parson-config.cmake - NAMESPACE unofficial::parson:: - DESTINATION share/unofficial-parson -) diff --git a/ports/parson/fix-cmake-files-path.patch b/ports/parson/fix-cmake-files-path.patch new file mode 100644 index 00000000000000..1b69455ed5374d --- /dev/null +++ b/ports/parson/fix-cmake-files-path.patch @@ -0,0 +1,12 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 7d656fa..993e859 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -24,6 +24,6 @@ install( + EXPORT parsonTargets + FILE parsonConfig.cmake + NAMESPACE parson:: +- DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME} ++ DESTINATION share/${PROJECT_NAME} + ) + diff --git a/ports/parson/portfile.cmake b/ports/parson/portfile.cmake index 887be6ec8152cb..6a6f50c89a501e 100644 --- a/ports/parson/portfile.cmake +++ b/ports/parson/portfile.cmake @@ -1,31 +1,24 @@ -if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - message("parson only supports static linkage") - set(VCPKG_LIBRARY_LINKAGE "static") -endif() +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO kgabis/parson - REF 102a4467e10c77ffcfde1d233798780acd719cc5 # accessed on 2020-09-14 - SHA512 8498e667525a0f08881c4041877194bf68926af34c9f0cbd9fd3d9538c31e0ad1ab1c083fbee48423f4ffd99f46e25918928c43585206237c8f723e5e47b17b7 + REF ba29f4eda9ea7703a9f6a9cf2b0532a2605723c3 # accessed on 2023-10-31 + SHA512 fdb8c66e9b8966488a22db2e6437d0bfa521c73abc043c7bd18227247fd52de9dd1856dec0d5ebd88f1dacce2493b2c68707b5e16ca4e3032ff6342933f16030 HEAD_REF master + PATCHES + fix-cmake-files-path.patch ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() - -file(COPY ${SOURCE_PATH}/parson.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-parson TARGET_PATH share/unofficial-parson) +vcpkg_cmake_config_fixup() -file(INSTALL - ${SOURCE_PATH}/LICENSE - DESTINATION ${CURRENT_PACKAGES_DIR}/share/parson RENAME copyright) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") vcpkg_copy_pdbs() diff --git a/ports/parson/vcpkg.json b/ports/parson/vcpkg.json index b128637b2a2509..444d62bea390f1 100644 --- a/ports/parson/vcpkg.json +++ b/ports/parson/vcpkg.json @@ -1,6 +1,17 @@ { "name": "parson", - "version-string": "2020-09-14", - "port-version": 1, - "description": "a lighweight json library written in C" + "version-date": "2023-10-31", + "description": "a lightweight json library written in C", + "homepage": "https://github.com/kgabis/parson", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/pbc/portfile.cmake b/ports/pbc/portfile.cmake index 93b06c5dbe090f..fd3b1f8557f1ca 100644 --- a/ports/pbc/portfile.cmake +++ b/ports/pbc/portfile.cmake @@ -1,19 +1,15 @@ -vcpkg_fail_port_install(ON_ARCH "arm" "arm64" ON_TARGET "UWP") - -set(PBC_VERSION 0.5.14) - if(NOT VCPKG_TARGET_IS_WINDOWS) vcpkg_download_distfile( ARCHIVE - URLS "https://crypto.stanford.edu/pbc/files/pbc-${PBC_VERSION}.tar.gz" - FILENAME pbc-${PBC_VERSION}.tar.gz + URLS "https://crypto.stanford.edu/pbc/files/pbc-${VERSION}.tar.gz" + FILENAME pbc-${VERSION}.tar.gz SHA512 d75d4ceb3f67ee62c7ca41e2a91ee914fbffaeb70256675aed6734d586950ea8e64e2f16dc069d71481eddb703624df8d46497005fb58e75cf098dd7e7961333 ) - vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH + vcpkg_extract_source_archive( + SOURCE_PATH ARCHIVE ${ARCHIVE} - REF ${PBC_VERSION} + SOURCE_BASE "${VERSION}" PATCHES linux.patch ) @@ -29,7 +25,7 @@ if(NOT VCPKG_TARGET_IS_WINDOWS) set(OPTIONS ${SHARED_STATIC} LEX=${FLEX} YACC=${BISON}\ -y) vcpkg_configure_make( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" AUTOCONFIG COPY_SOURCE OPTIONS @@ -38,8 +34,8 @@ if(NOT VCPKG_TARGET_IS_WINDOWS) vcpkg_install_make() - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share ${CURRENT_PACKAGES_DIR}/share/info) - file(INSTALL ${SOURCE_PATH}/COPYING 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/info") + vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") else() vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( @@ -51,20 +47,17 @@ else() PATCHES windows.patch ) - set(CMAKE_FIND_LIBRARY_PREFIXES "") - set(CMAKE_FIND_LIBRARY_SUFFIXES "") - - find_path(MPIR_INCLUDE_DIR "gmp.h" HINTS ${CURRENT_INSTALLED_DIR} PATH_SUFFIXES include) + find_path(MPIR_INCLUDE_DIR "gmp.h" HINTS "${CURRENT_INSTALLED_DIR}" PATH_SUFFIXES include) if(NOT MPIR_INCLUDE_DIR) message(FATAL_ERROR "GMP includes not found") endif() - find_library(MPIR_LIBRARIES_REL NAMES "mpir.lib" HINTS ${CURRENT_INSTALLED_DIR} PATH_SUFFIXES lib) + find_library(MPIR_LIBRARIES_REL NAMES "mpir.lib" HINTS "${CURRENT_INSTALLED_DIR}" PATH_SUFFIXES lib) if(NOT MPIR_LIBRARIES_REL) message(FATAL_ERROR "mpir library not found") endif() - find_library(MPIR_LIBRARIES_DBG NAMES "mpir.lib" HINTS ${CURRENT_INSTALLED_DIR} PATH_SUFFIXES debug/lib) + find_library(MPIR_LIBRARIES_DBG NAMES "mpir.lib" HINTS "${CURRENT_INSTALLED_DIR}" PATH_SUFFIXES debug/lib) if(NOT MPIR_LIBRARIES_DBG) message(FATAL_ERROR "mpir debug library not found") endif() @@ -77,12 +70,6 @@ else() set(ConfigurationSuffix " DLL") endif() - if(VCPKG_CRT_LINKAGE STREQUAL "static") - set(RuntimeLibraryExt "") - else() - set(RuntimeLibraryExt "DLL") - endif() - if(TRIPLET_SYSTEM_ARCH STREQUAL "x86") set(Platform "Win32") else() @@ -90,26 +77,24 @@ else() endif() # PBC expects mpir directory in build root - get_filename_component(SOURCE_PATH_PARENT ${SOURCE_PATH} DIRECTORY) - file(REMOVE_RECURSE ${SOURCE_PATH_PARENT}/mpir) - file(MAKE_DIRECTORY ${SOURCE_PATH_PARENT}/mpir) + get_filename_component(SOURCE_PATH_PARENT "${SOURCE_PATH}" DIRECTORY) + file(REMOVE_RECURSE "${SOURCE_PATH_PARENT}/mpir") + file(MAKE_DIRECTORY "${SOURCE_PATH_PARENT}/mpir") file(GLOB FILES ${MPIR_INCLUDE_DIR}/gmp*.h) file(COPY ${FILES} ${MPIR_LIBRARIES_REL} DESTINATION "${SOURCE_PATH_PARENT}/mpir/${LibrarySuffix}/${Platform}/Release") file(COPY ${FILES} ${MPIR_LIBRARIES_DBG} DESTINATION "${SOURCE_PATH_PARENT}/mpir/${LibrarySuffix}/${Platform}/Debug") - get_filename_component(SOURCE_PATH_SUFFIX ${SOURCE_PATH} NAME) - vcpkg_install_msbuild(SOURCE_PATH ${SOURCE_PATH_PARENT} - PROJECT_SUBPATH ${SOURCE_PATH_SUFFIX}/pbcwin/projects/pbclib.vcxproj - INCLUDES_SUBPATH ${SOURCE_PATH_SUFFIX}/include - LICENSE_SUBPATH ${SOURCE_PATH_SUFFIX}/COPYING + get_filename_component(SOURCE_PATH_SUFFIX "${SOURCE_PATH}" NAME) + vcpkg_msbuild_install(SOURCE_PATH "${SOURCE_PATH_PARENT}" + PROJECT_SUBPATH "${SOURCE_PATH_SUFFIX}/pbcwin/projects/pbclib.vcxproj" RELEASE_CONFIGURATION "Release${ConfigurationSuffix}" DEBUG_CONFIGURATION "Debug${ConfigurationSuffix}" - OPTIONS_DEBUG "/p:RuntimeLibrary=MultiThreadedDebug${RuntimeLibraryExt}" - OPTIONS_RELEASE "/p:RuntimeLibrary=MultiThreaded${RuntimeLibraryExt}" OPTIONS /p:SolutionDir=../ - ALLOW_ROOT_INCLUDES ON ) + vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") + file(COPY "${SOURCE_PATH}/include/" DESTINATION "${CURRENT_PACKAGES_DIR}/include") # clean up mpir stuff - file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/mpir.lib ${CURRENT_PACKAGES_DIR}/debug/lib/mpir.lib) + file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/mpir.lib" "${CURRENT_PACKAGES_DIR}/debug/lib/mpir.lib") + file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/unofficial-pbc-config.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/unofficial-${PORT}") endif() diff --git a/ports/pbc/unofficial-pbc-config.cmake b/ports/pbc/unofficial-pbc-config.cmake new file mode 100644 index 00000000000000..5e71df0c02c3ce --- /dev/null +++ b/ports/pbc/unofficial-pbc-config.cmake @@ -0,0 +1,25 @@ +if(NOT TARGET unofficial::pbc::pbc) + 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::pbc::pbc UNKNOWN IMPORTED) + + set_target_properties(unofficial::pbc::pbc PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" + ) + + find_library(PBC_LIBRARY_DEBUG NAMES pbclib libpbc PATHS "${_IMPORT_PREFIX}/debug" PATH_SUFFIXES lib NO_DEFAULT_PATH) + if(EXISTS "${PBC_LIBRARY_DEBUG}") + set_property(TARGET unofficial::pbc::pbc APPEND PROPERTY IMPORTED_CONFIGURATIONS "Debug") + set_target_properties(unofficial::pbc::pbc PROPERTIES IMPORTED_LOCATION_DEBUG "${PBC_LIBRARY_DEBUG}") + endif() + + find_library(PBC_LIBRARY_RELEASE NAMES pbclib libpbc PATHS "${_IMPORT_PREFIX}/" PATH_SUFFIXES lib NO_DEFAULT_PATH) + if(EXISTS "${PBC_LIBRARY_RELEASE}") + set_property(TARGET unofficial::pbc::pbc APPEND PROPERTY IMPORTED_CONFIGURATIONS "Release") + set_target_properties(unofficial::pbc::pbc PROPERTIES IMPORTED_LOCATION_RELEASE "${PBC_LIBRARY_RELEASE}") + endif() + + unset(_IMPORT_PREFIX) +endif() diff --git a/ports/pbc/vcpkg.json b/ports/pbc/vcpkg.json index 3f9c2fc8082728..3fb364a31eb23a 100644 --- a/ports/pbc/vcpkg.json +++ b/ports/pbc/vcpkg.json @@ -1,10 +1,11 @@ { "name": "pbc", - "version-string": "0.5.14", - "port-version": 5, + "version": "0.5.14", + "port-version": 9, "description": "Pairing-Based Crypto library provides low-level routines for pairing-based cryptosystems.", "homepage": "https://crypto.stanford.edu/pbc", - "supports": "!uwp", + "license": "LGPL-3.0", + "supports": "!uwp & !arm", "dependencies": [ { "name": "gmp", @@ -13,6 +14,11 @@ { "name": "mpir", "platform": "windows" + }, + { + "name": "vcpkg-msbuild", + "host": true, + "platform": "windows" } ] } diff --git a/ports/pcapplusplus/0001-warn-STL4043-for-v23.09.patch b/ports/pcapplusplus/0001-warn-STL4043-for-v23.09.patch new file mode 100644 index 00000000000000..3540d828fdd72d --- /dev/null +++ b/ports/pcapplusplus/0001-warn-STL4043-for-v23.09.patch @@ -0,0 +1,12 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 0f24d43..858424c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -219,6 +219,7 @@ if(PCAPPP_TARGET_COMPILER_MSVC) + # Disable VS warnings: Unknown pragma (4068), Zero-sized array in struct/union (4200), Possible loss of data (4244), + # Possible loss of data (4267), Character may not be represented (4819) + add_definitions("/wd4068 /wd4200 /wd4244 /wd4267 /wd4819") ++ add_compile_definitions(_SILENCE_STDEXT_ARR_ITERS_DEPRECATION_WARNING) + endif() + + if(PCAPPP_BUILD_COVERAGE) diff --git a/ports/pcapplusplus/portfile.cmake b/ports/pcapplusplus/portfile.cmake index e280af3c3ffc64..27f9cfabbcdd35 100644 --- a/ports/pcapplusplus/portfile.cmake +++ b/ports/pcapplusplus/portfile.cmake @@ -1,103 +1,33 @@ -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() + +# Convert PcapPlusPlus to add leading zero 23.9 => 23.09 +string(REGEX REPLACE "^([0-9]+)[.]([0-9])\$" "\\1.0\\2" PCAPPLUSPLUS_VERSION "${VERSION}") vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO seladb/PcapPlusPlus - REF v21.11 - SHA512 ad10034950c0c3e6a4638e8b314c8983ce42609948d7d8d40ad0ff678820a2469807bd29aff77e657a150008602475b50cea84a0766ad87ea203985519cb38ac + REF "v${PCAPPLUSPLUS_VERSION}" + SHA512 ae68a61a41915b1272aa7f8d1b70889216ea50e966c594d408d79fbca2667ff5aa073fe21a72c7e0916f744a925ac1e85e1d1f02e458b3f289201b88c8101fa3 HEAD_REF master + PATCHES + 0001-warn-STL4043-for-v23.09.patch # just workaround, which has been fixed on mainline ) -if(VCPKG_TARGET_IS_WINDOWS) - if(VCPKG_PLATFORM_TOOLSET STREQUAL "v140") - set(VS_VERSION "vs2015") - elseif(VCPKG_PLATFORM_TOOLSET STREQUAL "v141") - set(VS_VERSION "vs2017") - elseif(VCPKG_PLATFORM_TOOLSET STREQUAL "v142") - set(VS_VERSION "vs2019") - else() - message(FATAL_ERROR "Unsupported visual studio version") - endif() - - vcpkg_execute_required_process( - COMMAND configure-windows-visual-studio.bat -v ${VS_VERSION} -w . -p . - WORKING_DIRECTORY ${SOURCE_PATH} - ) - - vcpkg_install_msbuild( - SOURCE_PATH "${SOURCE_PATH}" - PROJECT_SUBPATH "mk/${VS_VERSION}/Common++.vcxproj" - PLATFORM ${TRIPLET_SYSTEM_ARCH} - INCLUDES_SUBPATH Dist/header - ALLOW_ROOT_INCLUDES - USE_VCPKG_INTEGRATION - ) - vcpkg_install_msbuild( - SOURCE_PATH "${SOURCE_PATH}" - PROJECT_SUBPATH "mk/${VS_VERSION}/Packet++.vcxproj" - PLATFORM ${TRIPLET_SYSTEM_ARCH} - INCLUDES_SUBPATH Dist/header - ALLOW_ROOT_INCLUDES - USE_VCPKG_INTEGRATION - ) - vcpkg_install_msbuild( - SOURCE_PATH "${SOURCE_PATH}" - PROJECT_SUBPATH "mk/${VS_VERSION}/Pcap++.vcxproj" - PLATFORM ${TRIPLET_SYSTEM_ARCH} - USE_VCPKG_INTEGRATION - INCLUDES_SUBPATH Dist/header - ALLOW_ROOT_INCLUDES - LICENSE_SUBPATH LICENSE - ) - - # Lib - file(GLOB LIB_FILES_RELEASE "${SOURCE_PATH}/Dist/**/Release/*") - file( - INSTALL ${LIB_FILES_RELEASE} - DESTINATION ${CURRENT_PACKAGES_DIR}/lib - ) - file(GLOB LIB_FILES_RELEASE "${SOURCE_PATH}/Dist/**/Debug/*") - file( - INSTALL ${LIB_FILES_RELEASE} - DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib - ) - - file( - REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin" "${CURRENT_PACKAGES_DIR}/tools" "${CURRENT_PACKAGES_DIR}/lib/LightPcapNg.lib" "${CURRENT_PACKAGES_DIR}/debug/lib/LightPcapNg.lib" - ) -else() - if(VCPKG_TARGET_IS_LINUX) - set(CONFIG_CMD "./configure-linux.sh") - elseif(VCPKG_TARGET_IS_OSX) - set(CONFIG_CMD "./configure-mac_os_x.sh") - else() - message(FATAL_ERROR "Unsupported platform") - endif() - - vcpkg_execute_required_process( - COMMAND ${SOURCE_PATH}/${CONFIG_CMD} --libpcap-include-dir ${CURRENT_INSTALLED_DIR}/include - WORKING_DIRECTORY ${SOURCE_PATH} - ) - - vcpkg_execute_build_process( - COMMAND make libs - WORKING_DIRECTORY ${SOURCE_PATH} - ) +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DPCAPPP_BUILD_EXAMPLES=OFF +) - # Lib - file(GLOB LIB_FILES "${SOURCE_PATH}/Dist/*.a") - file( - INSTALL ${LIB_FILES} - DESTINATION ${CURRENT_PACKAGES_DIR}/lib - ) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/pcapplusplus) +vcpkg_fixup_pkgconfig() +vcpkg_copy_pdbs() - # Include - file(GLOB HEADER_FILES "${SOURCE_PATH}/Dist/header/*.h") - file( - INSTALL ${HEADER_FILES} - DESTINATION ${CURRENT_PACKAGES_DIR}/include - ) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/debug/include" +) - # Copyright - file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) -endif() +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/pcapplusplus/vcpkg.json b/ports/pcapplusplus/vcpkg.json index 0d37fff7eb6f33..43ac829be90157 100644 --- a/ports/pcapplusplus/vcpkg.json +++ b/ports/pcapplusplus/vcpkg.json @@ -1,16 +1,22 @@ { "name": "pcapplusplus", - "version-string": "21.11", + "version": "24.9", "description": "PcapPlusPlus is a multi-platform C++ library for capturing, parsing and crafting of network packets", "homepage": "https://github.com/seladb/PcapPlusPlus", + "documentation": "https://pcapplusplus.github.io", + "license": null, "dependencies": [ { "name": "libpcap", "platform": "!windows" }, { - "name": "pthreads", - "platform": "windows" + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true }, { "name": "winpcap", diff --git a/ports/pcg/vcpkg.json b/ports/pcg/vcpkg.json index ce5e0de213f9b1..ebabf6470810b7 100644 --- a/ports/pcg/vcpkg.json +++ b/ports/pcg/vcpkg.json @@ -1,6 +1,6 @@ { "name": "pcg", - "version-string": "2021-04-06", - "port-version": 1, + "version-date": "2021-04-06", + "port-version": 2, "description": "Permuted Congruential Generator" } diff --git a/ports/pciids/acquire_pciids.cmake b/ports/pciids/acquire_pciids.cmake new file mode 100644 index 00000000000000..6f8e8ec2b72c53 --- /dev/null +++ b/ports/pciids/acquire_pciids.cmake @@ -0,0 +1,9 @@ +function(acquire_pciids out_var) + vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO pciutils/pciids + REF 4e3f51b4b7ba7ffd3cca463d6a19daf0f4270252 + SHA512 952b56affffdf9ecf78f6125cf4216bd01d85c55e49ec4b2dfb3a77bae2258dec6b4e2d28824d6408f072667480ef7e5f7279fd69bae65c071b7b3816fe9f504 + ) + set(${out_var} "${SOURCE_PATH}/pci.ids" PARENT_SCOPE) +endfunction() diff --git a/ports/pciids/portfile.cmake b/ports/pciids/portfile.cmake new file mode 100644 index 00000000000000..200ee48c0263c0 --- /dev/null +++ b/ports/pciids/portfile.cmake @@ -0,0 +1,15 @@ +# This package doesn't "install" the pciids data file but +# provides a maintainer function which does the download. + +set(VCPKG_POLICY_CMAKE_HELPER_PORT enabled) + +include("${CMAKE_CURRENT_LIST_DIR}/acquire_pciids.cmake") +acquire_pciids(pciids_path) +cmake_path(GET pciids_path PARENT_PATH pciids_dir) + +file(INSTALL + "${CMAKE_CURRENT_LIST_DIR}/vcpkg-port-config.cmake" + "${CMAKE_CURRENT_LIST_DIR}/acquire_pciids.cmake" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" +) +vcpkg_install_copyright(FILE_LIST "${pciids_dir}/README") diff --git a/ports/pciids/vcpkg-port-config.cmake b/ports/pciids/vcpkg-port-config.cmake new file mode 100644 index 00000000000000..9945df984cce5f --- /dev/null +++ b/ports/pciids/vcpkg-port-config.cmake @@ -0,0 +1 @@ +include("${CMAKE_CURRENT_LIST_DIR}/acquire_pciids.cmake") diff --git a/ports/pciids/vcpkg.json b/ports/pciids/vcpkg.json new file mode 100644 index 00000000000000..edcb67c193b456 --- /dev/null +++ b/ports/pciids/vcpkg.json @@ -0,0 +1,8 @@ +{ + "name": "pciids", + "version-date": "2023-04-11", + "description": "Maintainer function to acquire a PCI ID Repository database snapshot", + "homepage": "https://pci-ids.ucw.cz/", + "license": "GPL-2.0-or-later OR BSD-3-Clause", + "supports": "native" +} diff --git a/ports/pcl/0012-msvc-optimizer-workaround.patch b/ports/pcl/0012-msvc-optimizer-workaround.patch new file mode 100644 index 00000000000000..3941157d1d0fdb --- /dev/null +++ b/ports/pcl/0012-msvc-optimizer-workaround.patch @@ -0,0 +1,28 @@ +diff --git a/surface/src/3rdparty/opennurbs/opennurbs_lookup.cpp b/surface/src/3rdparty/opennurbs/opennurbs_lookup.cpp +index 13584fbbdb3..e006d3a5667 100644 +--- a/surface/src/3rdparty/opennurbs/opennurbs_lookup.cpp ++++ b/surface/src/3rdparty/opennurbs/opennurbs_lookup.cpp +@@ -666,9 +666,13 @@ std::size_t ON_SerialNumberMap::ActiveIdCount() const + return m_active_id_count; + } + +-#if (_MSC_VER >= 1930 && _MSC_VER <= 1939) ++#if (_MSC_VER >= 1930 && _MSC_VER <= 1949) + // Solves internal compiler error on MSVC 2022 + // (see https://github.com/microsoft/vcpkg/issues/19561) ++#define ON_VS2022_COMPILER_CRASH ++#endif ++ ++#if defined(ON_VS2022_COMPILER_CRASH) + #pragma optimize("", off) + #endif + struct ON_SerialNumberMap::SN_ELEMENT* ON_SerialNumberMap::FirstElement() const +@@ -722,7 +726,7 @@ struct ON_SerialNumberMap::SN_ELEMENT* ON_SerialNumberMap::FirstElement() const + } + return e; + } +-#if (_MSC_VER >= 1930 && _MSC_VER <= 1939) ++#if defined(ON_VS2022_COMPILER_CRASH) + #pragma optimize("", on) + #endif + diff --git a/ports/pcl/6053.diff b/ports/pcl/6053.diff new file mode 100644 index 00000000000000..04b1f73690fbe9 --- /dev/null +++ b/ports/pcl/6053.diff @@ -0,0 +1,19 @@ +diff --git a/visualization/src/pcl_visualizer.cpp b/visualization/src/pcl_visualizer.cpp +index 5f073646ac1..bc9b959c246 100644 +--- a/visualization/src/pcl_visualizer.cpp ++++ b/visualization/src/pcl_visualizer.cpp +@@ -4591,10 +4591,12 @@ pcl::visualization::PCLVisualizer::getUniqueCameraFile (int argc, char **argv) + // Build camera filename + if (valid) + { +- unsigned int digest[5]; ++ boost::uuids::detail::sha1::digest_type digest; + sha1.get_digest (digest); + sstream << "."; +- sstream << std::hex << digest[0] << digest[1] << digest[2] << digest[3] << digest[4]; ++ for (int i = 0; i < 5; ++i) { ++ sstream << std::hex << *(reinterpret_cast(&digest[0]) + i); ++ } + sstream << ".cam"; + } + } diff --git a/ports/pcl/6990a3b0d7dd3c1ca04a1a473cc172a937418060.diff b/ports/pcl/6990a3b0d7dd3c1ca04a1a473cc172a937418060.diff new file mode 100644 index 00000000000000..6a98fead25d055 --- /dev/null +++ b/ports/pcl/6990a3b0d7dd3c1ca04a1a473cc172a937418060.diff @@ -0,0 +1,24 @@ +diff --git a/outofcore/include/pcl/outofcore/impl/octree_disk_container.hpp b/outofcore/include/pcl/outofcore/impl/octree_disk_container.hpp +index 28b25de7f51..642aced2853 100644 +--- a/outofcore/include/pcl/outofcore/impl/octree_disk_container.hpp ++++ b/outofcore/include/pcl/outofcore/impl/octree_disk_container.hpp +@@ -48,6 +48,7 @@ + // Boost + #include + #include ++#include // for boost::variate_generator + #include + + // PCL +diff --git a/outofcore/include/pcl/outofcore/octree_disk_container.h b/outofcore/include/pcl/outofcore/octree_disk_container.h +index 0f9c0acf310..9ca3d5d99e0 100644 +--- a/outofcore/include/pcl/outofcore/octree_disk_container.h ++++ b/outofcore/include/pcl/outofcore/octree_disk_container.h +@@ -44,6 +44,7 @@ + #include + + // Boost ++#include // for boost::mt19937 + #include + + #include // pcl::utils::ignore diff --git a/ports/pcl/add-gcc-version-check.patch b/ports/pcl/add-gcc-version-check.patch index 1a9740faca8326..fb5a5fccf51be0 100644 --- a/ports/pcl/add-gcc-version-check.patch +++ b/ports/pcl/add-gcc-version-check.patch @@ -12,7 +12,7 @@ index 63b38df68..29f79d31b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -311,6 +311,10 @@ if(NOT (${FLANN_LIBRARY_TYPE} MATCHES ${PCL_FLANN_REQUIRED_TYPE}) AND NOT (${PCL - message(FATAL_ERROR "Flann was selected with ${PCL_FLANN_REQUIRED_TYPE} but found as ${FLANN_LIBRARY_TYPE}") + endif() endif() +if(UNIX AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 6.0) diff --git a/ports/pcl/fix-clang-cl.patch b/ports/pcl/fix-clang-cl.patch new file mode 100644 index 00000000000000..245c917917f75b --- /dev/null +++ b/ports/pcl/fix-clang-cl.patch @@ -0,0 +1,26 @@ +diff --git a/common/include/pcl/impl/instantiate.hpp b/common/include/pcl/impl/instantiate.hpp +index ea73a0c..4cfc92b 100644 +--- a/common/include/pcl/impl/instantiate.hpp ++++ b/common/include/pcl/impl/instantiate.hpp +@@ -95,7 +95,7 @@ + // + // ((x)(y)(z))((1)(2)(3))((dracula)(radu)) + // +-#ifdef _MSC_VER ++#if defined(_MSC_VER) && ! defined(__clang__) + #define PCL_INSTANTIATE_PRODUCT_IMPL(r, product) \ + BOOST_PP_CAT(PCL_INSTANTIATE_, BOOST_PP_SEQ_HEAD(product)) \ + BOOST_PP_EXPAND(BOOST_PP_SEQ_TO_TUPLE(BOOST_PP_SEQ_TAIL(product))) +diff --git a/CMakeLists.txt b/CMakeLists.txt +index fad95c9..b4ca305 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -51,7 +51,7 @@ set(CMAKE_BUILD_TYPE "${CMAKE_BUILD_TYPE}" CACHE STRING + # Compiler identification + # Define a variable CMAKE_COMPILER_IS_X where X is the compiler short name. + # Note: CMake automatically defines one for GNUCXX, nothing to do in this case. +-if(CMAKE_CXX_COMPILER_ID MATCHES "Clang") ++if(CMAKE_CXX_COMPILER_ID MATCHES "Clang" AND NOT MSVC) + set(CMAKE_COMPILER_IS_CLANG 1) + elseif(__COMPILER_PATHSCALE) + set(CMAKE_COMPILER_IS_PATHSCALE 1) diff --git a/ports/pcl/fix-cmake_find_library_suffixes.patch b/ports/pcl/fix-cmake_find_library_suffixes.patch deleted file mode 100644 index b9e5b2572af9c2..00000000000000 --- a/ports/pcl/fix-cmake_find_library_suffixes.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff --git a/cmake/pcl_options.cmake b/cmake/pcl_options.cmake -index 6570d75..1d9b0d8 100644 ---- a/cmake/pcl_options.cmake -+++ b/cmake/pcl_options.cmake -@@ -7,14 +7,13 @@ if(PCL_SHARED_LIBS) - set(PCL_LIB_SUFFIX ${CMAKE_SHARED_LIBRARY_SUFFIX}) - set(PCL_LIB_TYPE "SHARED") - # set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_SHARED_LIBRARY_SUFFIX}) -- if(WIN32) -+ if(0) - set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_IMPORT_LIBRARY_SUFFIX}) - endif() - else() - set(PCL_LIB_PREFIX ${CMAKE_STATIC_LIBRARY_PREFIX}) - set(PCL_LIB_SUFFIX ${CMAKE_STATIC_LIBRARY_SUFFIX}) - set(PCL_LIB_TYPE "STATIC") -- set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_STATIC_LIBRARY_SUFFIX}) - endif() - mark_as_advanced(PCL_SHARED_LIBS) - diff --git a/ports/pcl/fix-find-qhull.patch b/ports/pcl/fix-find-qhull.patch deleted file mode 100644 index 00813cdf7c4843..00000000000000 --- a/ports/pcl/fix-find-qhull.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 7e3117fb47f58c7b1fb83e3a062a630b787a43bc Mon Sep 17 00:00:00 2001 -From: raahilsha-z -Date: Wed, 7 Jul 2021 16:11:12 -0400 -Subject: [PATCH] fix find qhull - ---- - CMakeLists.txt | 5 +---- - surface/CMakeLists.txt | 9 +++++++-- - 2 files changed, 8 insertions(+), 6 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index a1d9bb58f..7cf86f74b 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -359,10 +359,7 @@ if(WITH_QHULL) - if(NOT PCL_SHARED_LIBS OR ((WIN32 AND NOT MINGW) AND NOT PCL_BUILD_WITH_QHULL_DYNAMIC_LINKING_WIN32)) - set(QHULL_USE_STATIC ON) - endif() -- find_package(Qhull) -- if(QHULL_FOUND) -- include_directories(SYSTEM ${QHULL_INCLUDE_DIRS}) -- endif() -+ find_package(Qhull CONFIG REQUIRED) - endif() - - # Cuda -diff --git a/surface/CMakeLists.txt b/surface/CMakeLists.txt -index d8a8566ea..1953c5566 100644 ---- a/surface/CMakeLists.txt -+++ b/surface/CMakeLists.txt -@@ -12,7 +12,7 @@ if(NOT build) - return() - endif() - --if(QHULL_FOUND) -+if(Qhull_FOUND) - set(HULL_INCLUDES - "include/pcl/${SUBSYS_NAME}/concave_hull.h" - "include/pcl/${SUBSYS_NAME}/convex_hull.h" -@@ -186,7 +186,12 @@ if(VTK_FOUND) - endif() - endif() - --if(QHULL_FOUND) -+if(Qhull_FOUND) -+ if(QHULL_USE_STATIC) -+ set(QHULL_LIBRARIES Qhull::qhullcpp Qhull::qhullstatic Qhull::qhullstatic_r) -+ else() -+ set(QHULL_LIBRARIES Qhull::qhull_r Qhull::qhullcpp) -+ endif() - target_link_libraries("${LIB_NAME}" ${QHULL_LIBRARIES}) - endif() - --- -2.32.0.windows.1 - diff --git a/ports/pcl/fix-numeric-literals-flag.patch b/ports/pcl/fix-numeric-literals-flag.patch index b3db97390e258f..69a1223c1c00ee 100644 --- a/ports/pcl/fix-numeric-literals-flag.patch +++ b/ports/pcl/fix-numeric-literals-flag.patch @@ -19,8 +19,8 @@ index 7cf86f74b..e07fd430a 100644 + add_definitions(-fext-numeric-literals) +endif() - ### ---[ Create the config.h file - set(pcl_config_h_in "${CMAKE_CURRENT_SOURCE_DIR}/pcl_config.h.in") + # System zlib (for nurbs on surface) + option(WITH_SYSTEM_ZLIB "Use system zlib" TRUE) -- 2.32.0.windows.1 diff --git a/ports/pcl/gh-5985-inline.patch b/ports/pcl/gh-5985-inline.patch new file mode 100644 index 00000000000000..44d9a7efce3647 --- /dev/null +++ b/ports/pcl/gh-5985-inline.patch @@ -0,0 +1,15 @@ +diff --git a/segmentation/include/pcl/segmentation/impl/grabcut_segmentation.hpp b/segmentation/include/pcl/segmentation/impl/grabcut_segmentation.hpp +index 2ef5fc27b16..5143080b6de 100644 +--- a/segmentation/include/pcl/segmentation/impl/grabcut_segmentation.hpp ++++ b/segmentation/include/pcl/segmentation/impl/grabcut_segmentation.hpp +@@ -48,8 +48,8 @@ namespace pcl + { + + template <> +-float squaredEuclideanDistance (const pcl::segmentation::grabcut::Color &c1, +- const pcl::segmentation::grabcut::Color &c2) ++inline float squaredEuclideanDistance (const pcl::segmentation::grabcut::Color &c1, ++ const pcl::segmentation::grabcut::Color &c2) + { + return ((c1.r-c2.r)*(c1.r-c2.r)+(c1.g-c2.g)*(c1.g-c2.g)+(c1.b-c2.b)*(c1.b-c2.b)); + } diff --git a/ports/pcl/install-examples.patch b/ports/pcl/install-examples.patch new file mode 100644 index 00000000000000..136a4ce3675c1e --- /dev/null +++ b/ports/pcl/install-examples.patch @@ -0,0 +1,13 @@ +diff --git a/cmake/pcl_targets.cmake b/cmake/pcl_targets.cmake +index 91f2404..18f5a24 100644 +--- a/cmake/pcl_targets.cmake ++++ b/cmake/pcl_targets.cmake +@@ -473,6 +473,8 @@ macro(PCL_ADD_EXAMPLE _name) + # add target to list of example targets created at the parent scope + list(APPEND PCL_EXAMPLES_ALL_TARGETS ${_name}) + set(PCL_EXAMPLES_ALL_TARGETS "${PCL_EXAMPLES_ALL_TARGETS}" PARENT_SCOPE) ++ ++ install(TARGETS ${_name} RUNTIME DESTINATION ${BIN_INSTALL_DIR}) + endmacro() + + ############################################################################### diff --git a/ports/pcl/install-layout.patch b/ports/pcl/install-layout.patch new file mode 100644 index 00000000000000..a6c58c54ed2393 --- /dev/null +++ b/ports/pcl/install-layout.patch @@ -0,0 +1,70 @@ +diff --git a/PCLConfig.cmake.in b/PCLConfig.cmake.in +index cf21c44..1463514 100644 +--- a/PCLConfig.cmake.in ++++ b/PCLConfig.cmake.in +@@ -403,7 +403,7 @@ endif() + find_package(PkgConfig QUIET) + + file(TO_CMAKE_PATH "${PCL_DIR}" PCL_DIR) +-if(WIN32 AND NOT MINGW) ++if(0) + # PCLConfig.cmake is installed to PCL_ROOT/cmake + get_filename_component(PCL_ROOT "${PCL_DIR}" PATH) + if(EXISTS "${PCL_ROOT}/3rdParty") +@@ -425,6 +425,10 @@ elseif(EXISTS "${PCL_ROOT}/include/pcl/pcl_config.h") + # pcl_message("Found a PCL installation") + set(PCL_CONF_INCLUDE_DIR "${PCL_ROOT}/include") + set(PCL_LIBRARY_DIRS "${PCL_ROOT}/lib") ++ list(APPEND PCL_LIBRARY_DIRS "${PCL_ROOT}/debug/lib") ++ if(NOT DEFINED CMAKE_BUILD_TYPE OR CMAKE_BUILD_TYPE MATCHES "^[Dd][Ee][Bb][Uu][Gg]$") ++ list(REVERSE PCL_LIBRARY_DIRS) ++ endif() + elseif(EXISTS "${PCL_DIR}/include/pcl/pcl_config.h") + # Found PCLConfig.cmake in a build tree of PCL + # pcl_message("PCL found into a build tree.") +diff --git a/cmake/Modules/FindFLANN.cmake b/cmake/Modules/FindFLANN.cmake +index f42bca3..faca969 100644 +--- a/cmake/Modules/FindFLANN.cmake ++++ b/cmake/Modules/FindFLANN.cmake +@@ -85,7 +85,7 @@ if(flann_FOUND) + + # Determine FLANN installation root based on the path to the processed Config file + get_filename_component(_config_dir "${flann_CONFIG}" DIRECTORY) +- get_filename_component(FLANN_ROOT "${_config_dir}/../../.." ABSOLUTE) ++ get_filename_component(FLANN_ROOT "${_config_dir}/../.." ABSOLUTE) + unset(_config_dir) + message(STATUS "Found flann version ${flann_VERSION}") + return() +diff --git a/cmake/pcl_utils.cmake b/cmake/pcl_utils.cmake +index d87d02d..9c0ede1 100644 +--- a/cmake/pcl_utils.cmake ++++ b/cmake/pcl_utils.cmake +@@ -100,6 +100,7 @@ macro(SET_INSTALL_DIRS) + else() + set(INCLUDE_INSTALL_ROOT "include") # Android, don't put into subdir + endif() ++ set(INCLUDE_INSTALL_ROOT "include") + set(INCLUDE_INSTALL_DIR "${INCLUDE_INSTALL_ROOT}/pcl") + set(DOC_INSTALL_DIR "share/doc/${PROJECT_NAME_LOWER}-${PCL_VERSION_MAJOR}.${PCL_VERSION_MINOR}") + set(BIN_INSTALL_DIR "bin") +@@ -109,6 +110,7 @@ macro(SET_INSTALL_DIRS) + else() + set(PCLCONFIG_INSTALL_DIR "share/${PROJECT_NAME_LOWER}-${PCL_VERSION_MAJOR}.${PCL_VERSION_MINOR}") + endif() ++ set(PCLCONFIG_INSTALL_DIR "share/pcl") + endmacro() + + +diff --git a/cmake/pkgconfig.cmake.in b/cmake/pkgconfig.cmake.in +index c351e44..b10577a 100644 +--- a/cmake/pkgconfig.cmake.in ++++ b/cmake/pkgconfig.cmake.in +@@ -3,7 +3,7 @@ prefix=@CMAKE_INSTALL_PREFIX@ + exec_prefix=${prefix} + libdir=${prefix}/@LIB_INSTALL_DIR@ + #includedir=${prefix}/@INCLUDE_INSTALL_DIR@ +-includedir=${prefix}/include/@PROJECT_NAME_LOWER@-@PCL_VERSION_MAJOR@.@PCL_VERSION_MINOR@ ++includedir=${prefix}/@INCLUDE_INSTALL_DIR@ + Name: @PKG_NAME@ + Description: @PKG_DESC@ + Version: @PCL_VERSION@ diff --git a/ports/pcl/io_ply.patch b/ports/pcl/io_ply.patch new file mode 100644 index 00000000000000..35c2b8d6a4875a --- /dev/null +++ b/ports/pcl/io_ply.patch @@ -0,0 +1,60 @@ +diff --git a/PCLConfig.cmake.in b/PCLConfig.cmake.in +index cf21c44..4076775 100644 +--- a/PCLConfig.cmake.in ++++ b/PCLConfig.cmake.in +@@ -460,6 +460,11 @@ list(LENGTH pcl_all_components PCL_NB_COMPONENTS) + + @PCLCONFIG_OPTIONAL_DEPENDENCIES@ + ++# io_ply subcomponent ++list(APPEND pcl_io_int_dep io_ply) ++set(pcl_io_ply_int_dep common) ++set(pcl_io_ply_ext_dep boost) ++ + # VTK components required by PCL + set(PCL_VTK_COMPONENTS "@PCL_VTK_COMPONENTS@") + +@@ -517,18 +522,21 @@ foreach(component ${PCL_TO_FIND_COMPONENTS}) + + string(REGEX REPLACE "^cuda_(.*)$" "\\1" cuda_component "${component}") + string(REGEX REPLACE "^gpu_(.*)$" "\\1" gpu_component "${component}") ++ string(REGEX REPLACE "^io_(.*)$" "\\1" io_component "${component}") + + find_path(PCL_${COMPONENT}_INCLUDE_DIR + NAMES pcl/${component} + pcl/apps/${component} + pcl/cuda/${cuda_component} pcl/cuda/${component} + pcl/gpu/${gpu_component} pcl/gpu/${component} ++ pcl/io/${io_component} + HINTS ${PCL_INCLUDE_DIRS} + PATH_SUFFIXES + ${component}/include + apps/${component}/include + cuda/${cuda_component}/include + gpu/${gpu_component}/include ++ io/${io_component}/include + DOC "path to ${component} headers" + NO_DEFAULT_PATH) + mark_as_advanced(PCL_${COMPONENT}_INCLUDE_DIR) +diff --git a/io/CMakeLists.txt b/io/CMakeLists.txt +index 7fc86b2..7a39033 100644 +--- a/io/CMakeLists.txt ++++ b/io/CMakeLists.txt +@@ -213,6 +213,8 @@ PCL_ADD_INCLUDES("${SUBSYS_NAME}" "${SUBSYS_NAME}/ply" ${PLY_INCLUDES}) + PCL_ADD_INCLUDES("${SUBSYS_NAME}" "${SUBSYS_NAME}/ply" ${PLY_INCLUDES}) + target_link_libraries(pcl_io_ply pcl_common Boost::boost) + ++PCL_MAKE_PKGCONFIG(pcl_io_ply COMPONENT ${SUBSYS_NAME} DESC "${SUBSYS_DESC}, PLY" PCL_DEPS common) ++ + set(srcs + src/debayer.cpp + src/pcd_grabber.cpp +@@ -432,7 +434,7 @@ if(WITH_ENSENSO) + list(APPEND EXT_DEPS ensenso) + endif() + +-PCL_MAKE_PKGCONFIG(${LIB_NAME} COMPONENT ${SUBSYS_NAME} DESC ${SUBSYS_DESC} PCL_DEPS ${SUBSYS_DEPS} EXT_DEPS ${EXT_DEPS}) ++PCL_MAKE_PKGCONFIG(${LIB_NAME} COMPONENT ${SUBSYS_NAME} DESC ${SUBSYS_DESC} PCL_DEPS ${SUBSYS_DEPS} EXT_DEPS ${EXT_DEPS} pcl_io_ply) + + # Install include files + PCL_ADD_INCLUDES("${SUBSYS_NAME}" "${SUBSYS_NAME}" ${incs}) diff --git a/ports/pcl/pcl_config.patch b/ports/pcl/pcl_config.patch deleted file mode 100644 index 96971525a09410..00000000000000 --- a/ports/pcl/pcl_config.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 2f4952e1767ad5b0349a03ee56d676d226102381 Mon Sep 17 00:00:00 2001 -From: raahilsha-z -Date: Wed, 7 Jul 2021 15:59:12 -0400 -Subject: [PATCH] pcl_config - ---- - PCLConfig.cmake.in | 12 +++--------- - 1 file changed, 3 insertions(+), 9 deletions(-) - -diff --git a/PCLConfig.cmake.in b/PCLConfig.cmake.in -index a1283a810..4137ed18c 100644 ---- a/PCLConfig.cmake.in -+++ b/PCLConfig.cmake.in -@@ -384,6 +384,7 @@ file(TO_CMAKE_PATH "${PCL_DIR}" PCL_DIR) - if(WIN32 AND NOT MINGW) - # PCLConfig.cmake is installed to PCL_ROOT/cmake - get_filename_component(PCL_ROOT "${PCL_DIR}" PATH) -+ get_filename_component(PCL_ROOT "${PCL_ROOT}" PATH) - if(EXISTS "${PCL_ROOT}/3rdParty") - set(PCL_ALL_IN_ONE_INSTALLER ON) - endif() -@@ -393,16 +394,9 @@ else() - endif() - - # check whether PCLConfig.cmake is found into a PCL installation or in a build tree --if(EXISTS "${PCL_ROOT}/include/pcl-${PCL_VERSION_MAJOR}.${PCL_VERSION_MINOR}/pcl/pcl_config.h") -- # Found a PCL installation -- # pcl_message("Found a PCL installation") -- set(PCL_CONF_INCLUDE_DIR "${PCL_ROOT}/include/pcl-${PCL_VERSION_MAJOR}.${PCL_VERSION_MINOR}") -- set(PCL_LIBRARY_DIRS "${PCL_ROOT}/@LIB_INSTALL_DIR@") --elseif(EXISTS "${PCL_ROOT}/include/pcl/pcl_config.h") -- # Found a non-standard (likely ANDROID) PCL installation -- # pcl_message("Found a PCL installation") -+if(EXISTS "${PCL_ROOT}/include/pcl/pcl_config.h") - set(PCL_CONF_INCLUDE_DIR "${PCL_ROOT}/include") -- set(PCL_LIBRARY_DIRS "${PCL_ROOT}/lib") -+ set(PCL_LIBRARY_DIRS "${PCL_ROOT}/@LIB_INSTALL_DIR@" "${PCL_ROOT}/debug/@LIB_INSTALL_DIR@") - elseif(EXISTS "${PCL_DIR}/include/pcl/pcl_config.h") - # Found PCLConfig.cmake in a build tree of PCL - # pcl_message("PCL found into a build tree.") --- -2.32.0.windows.1 - diff --git a/ports/pcl/pcl_utils.patch b/ports/pcl/pcl_utils.patch deleted file mode 100644 index 3be0f90fbc99e5..00000000000000 --- a/ports/pcl/pcl_utils.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 6f4e2fea829b5986863403d6a611c52c5ac8b2a9 Mon Sep 17 00:00:00 2001 -From: raahilsha-z -Date: Wed, 7 Jul 2021 16:00:30 -0400 -Subject: [PATCH] pcl_utils - ---- - cmake/pcl_utils.cmake | 13 ++----------- - 1 file changed, 2 insertions(+), 11 deletions(-) - -diff --git a/cmake/pcl_utils.cmake b/cmake/pcl_utils.cmake -index d87d02da9..7c951bfd5 100644 ---- a/cmake/pcl_utils.cmake -+++ b/cmake/pcl_utils.cmake -@@ -94,21 +94,12 @@ macro(SET_INSTALL_DIRS) - if(NOT DEFINED LIB_INSTALL_DIR) - set(LIB_INSTALL_DIR "lib") - endif() -- if(NOT ANDROID) -- set(INCLUDE_INSTALL_ROOT -- "include/${PROJECT_NAME_LOWER}-${PCL_VERSION_MAJOR}.${PCL_VERSION_MINOR}") -- else() -- set(INCLUDE_INSTALL_ROOT "include") # Android, don't put into subdir -- endif() -+ set(INCLUDE_INSTALL_ROOT "include") - set(INCLUDE_INSTALL_DIR "${INCLUDE_INSTALL_ROOT}/pcl") - set(DOC_INSTALL_DIR "share/doc/${PROJECT_NAME_LOWER}-${PCL_VERSION_MAJOR}.${PCL_VERSION_MINOR}") - set(BIN_INSTALL_DIR "bin") - set(PKGCFG_INSTALL_DIR "${LIB_INSTALL_DIR}/pkgconfig") -- if(WIN32 AND NOT MINGW) -- set(PCLCONFIG_INSTALL_DIR "cmake") -- else() -- set(PCLCONFIG_INSTALL_DIR "share/${PROJECT_NAME_LOWER}-${PCL_VERSION_MAJOR}.${PCL_VERSION_MINOR}") -- endif() -+ set(PCLCONFIG_INSTALL_DIR "share/pcl") - endmacro() - - --- -2.32.0.windows.1 - diff --git a/ports/pcl/portfile.cmake b/ports/pcl/portfile.cmake index a0d5f4e498a0cd..5c310395f47fb8 100644 --- a/ports/pcl/portfile.cmake +++ b/ports/pcl/portfile.cmake @@ -1,77 +1,133 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO PointCloudLibrary/pcl - REF f36a69a5e89953708990c4669317f989d532cf08 # pcl-1.12.0 - SHA512 dbbd0adbb08949ddef2789e0021b6ca9727be33c7193d0bb135c61def09a42ed6a71333f06b6fad407010ecb4b73c19f087f7520386b92a008e90c254eafe422 + REF "pcl-${VERSION}" + SHA512 8e2d2839fe73a955d49b9a72861de2becf2da9a0dc906bd10ab8a3518e270a2f1900d801922d02871d704f2ed380273d35c2d0e04d8da7e24a21eb351c43c00b HEAD_REF master PATCHES add-gcc-version-check.patch fix-check-sse.patch - fix-find-qhull.patch fix-numeric-literals-flag.patch - pcl_config.patch - pcl_utils.patch - remove-broken-targets.patch - fix-cmake_find_library_suffixes.patch + install-layout.patch + install-examples.patch + fix-clang-cl.patch + gh-5985-inline.patch + io_ply.patch + 6053.diff # https://github.com/PointCloudLibrary/pcl/pull/6053 + 6990a3b0d7dd3c1ca04a1a473cc172a937418060.diff # https://github.com/PointCloudLibrary/pcl/pull/6105 + 0012-msvc-optimizer-workaround.patch # backport pcl #6143 and #6154 ) -file(REMOVE ${SOURCE_PATH}/cmake/Modules/FindQhull.cmake) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" PCL_SHARED_LIBS) -if ("cuda" IN_LIST FEATURES AND VCPKG_TARGET_ARCHITECTURE STREQUAL x86) - message(FATAL_ERROR "Feature cuda only supports 64-bit compilation.") -endif() - -if ("tools" IN_LIST FEATURES AND VCPKG_LIBRARY_LINKAGE STREQUAL static) - message(FATAL_ERROR "Feature tools only supports dynamic build") -endif() - vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES - openni2 WITH_OPENNI2 - qt WITH_QT - pcap WITH_PCAP - cuda WITH_CUDA - cuda BUILD_CUDA - cuda BUILD_GPU - tools BUILD_tools - opengl WITH_OPENGL - vtk WITH_VTK + apps BUILD_apps + cuda WITH_CUDA + cuda BUILD_CUDA + cuda BUILD_GPU + examples BUILD_examples + libusb WITH_LIBUSB + opengl WITH_OPENGL + openni2 WITH_OPENNI2 + pcap WITH_PCAP + qt WITH_QT + simulation BUILD_simulation + surface-on-nurbs BUILD_surface_on_nurbs + tools BUILD_tools + visualization WITH_VTK + visualization BUILD_visualization + # These 2 apps need openni1 + #apps BUILD_apps_in_hand_scanner + #apps BUILD_apps_3d_rec_framework ) vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" OPTIONS - # BUILD - -DBUILD_surface_on_nurbs=ON # PCL + -DPCL_ALLOW_BOTH_SHARED_AND_STATIC_DEPENDENCIES=ON -DPCL_BUILD_WITH_BOOST_DYNAMIC_LINKING_WIN32=${PCL_SHARED_LIBS} -DPCL_BUILD_WITH_FLANN_DYNAMIC_LINKING_WIN32=${PCL_SHARED_LIBS} -DPCL_BUILD_WITH_QHULL_DYNAMIC_LINKING_WIN32=${PCL_SHARED_LIBS} -DPCL_SHARED_LIBS=${PCL_SHARED_LIBS} + -DPCL_ENABLE_MARCHNATIVE=OFF # WITH - -DWITH_LIBUSB=OFF + -DWITH_DAVIDSDK=OFF + -DWITH_DOCS=OFF + -DWITH_DSSDK=OFF + -DWITH_ENSENSO=OFF + -DWITH_OPENNI=OFF -DWITH_PNG=ON -DWITH_QHULL=ON + -DWITH_RSSDK=OFF + -DWITH_RSSDK2=OFF # FEATURES ${FEATURE_OPTIONS} + OPTIONS_DEBUG + -DBUILD_apps=OFF + -DBUILD_examples=OFF + -DBUILD_tools=OFF + MAYBE_UNUSED_VARIABLES + PCL_BUILD_WITH_FLANN_DYNAMIC_LINKING_WIN32 + PCL_BUILD_WITH_QHULL_DYNAMIC_LINKING_WIN32 ) +if(NOT EXISTS "${CURRENT_INSTALLED_DIR}/lib/pkgconfig/vtk.pc") + file(REMOVE "${CURRENT_PACKAGE_DIR}/lib/pkgconfig/pcl_gpu_kinfu_large_scale.pc" "${CURRENT_PACKAGE_DIR}/debug/lib/pkgconfig/pcl_gpu_kinfu_large_scale.pc") +endif() + vcpkg_cmake_install() vcpkg_cmake_config_fixup() vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +if (WITH_OPENNI2) + if (NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + file(GLOB PCL_PKGCONFIG_DBGS "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/*.pc") + foreach (PCL_PKGCONFIG IN LISTS PCL_PKGCONFIG_DBGS) + file(READ "${PCL_PKGCONFIG}" PCL_PC_DBG) + if (PCL_PC_DBG MATCHES "libopenni2") + string(REPLACE "libopenni2" "" PCL_PC_DBG "${PCL_PC_DBG}") + string(REPLACE "Libs: " "Libs: -lKinect10 -lOpenNI2 " PCL_PC_DBG "${PCL_PC_DBG}") + file(WRITE "${PCL_PKGCONFIG}" "${PCL_PC_DBG}") + endif() + endforeach() + endif() + if (NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + file(GLOB PCL_PKGCONFIG_RELS "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/*.pc") + foreach (PCL_PKGCONFIG IN LISTS PCL_PKGCONFIG_RELS) + file(READ "${PCL_PKGCONFIG}" PCL_PC_REL) + if (PCL_PC_REL MATCHES "libopenni2") + string(REPLACE "libopenni2" "" PCL_PC_REL "${PCL_PC_REL}") + string(REPLACE "Libs: " "Libs: -lKinect10 -lOpenNI2 " PCL_PC_REL "${PCL_PC_REL}") + file(WRITE "${PCL_PKGCONFIG}" "${PCL_PC_REL}") + endif() + endforeach() + endif() +endif() +vcpkg_fixup_pkgconfig() -if("tools" IN_LIST FEATURES) - file(GLOB EXEFILES_RELEASE ${CURRENT_PACKAGES_DIR}/bin/*.exe) - file(GLOB EXEFILES_DEBUG ${CURRENT_PACKAGES_DIR}/debug/bin/*.exe) - file(COPY ${EXEFILES_RELEASE} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/pcl) - file(REMOVE ${EXEFILES_RELEASE} ${EXEFILES_DEBUG}) - vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/pcl) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +if(BUILD_tools OR BUILD_apps OR BUILD_examples) + file(GLOB tool_names + LIST_DIRECTORIES false + RELATIVE "${CURRENT_PACKAGES_DIR}/bin" + "${CURRENT_PACKAGES_DIR}/bin/*${VCPKG_TARGET_EXECUTABLE_SUFFIX}" + ) + if(VCPKG_TARGET_EXECUTABLE_SUFFIX) + string(REPLACE "." "[.]" suffix "${VCPKG_TARGET_EXECUTABLE_SUFFIX}") + list(TRANSFORM tool_names REPLACE "${suffix}\$" "") + endif() + vcpkg_copy_tools(TOOL_NAMES ${tool_names} AUTO_CLEAN) endif() -file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +# pcl_apps.dll is only build for release but not used at all since BUILD_apps_3d_rec_framework is OFF. +# Because it is not copied to the tool folder and there is no debug variant, we get an post build check error. +# Since the lib is not needed. Delete it: +file(REMOVE "${CURRENT_PACKAGES_DIR}/bin/pcl_apps.dll" "${CURRENT_PACKAGES_DIR}/bin/pcl_apps.pdb" + "${CURRENT_PACKAGES_DIR}/lib/pcl_apps.lib" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/pcl_apps.pc") -vcpkg_fixup_pkgconfig() +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/pcl/remove-broken-targets.patch b/ports/pcl/remove-broken-targets.patch deleted file mode 100644 index 826babc28ab6d6..00000000000000 --- a/ports/pcl/remove-broken-targets.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 1b2613e1df507fd868b4971294f9a28183ce2e6c Mon Sep 17 00:00:00 2001 -From: raahilsha-z -Date: Wed, 7 Jul 2021 16:01:03 -0400 -Subject: [PATCH] remove broken targets - ---- - tools/CMakeLists.txt | 9 --------- - 1 file changed, 9 deletions(-) - -diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt -index 5bfe6e94c..7abf3d746 100644 ---- a/tools/CMakeLists.txt -+++ b/tools/CMakeLists.txt -@@ -123,15 +123,6 @@ target_link_libraries(pcl_concatenate_points_pcd pcl_common pcl_io) - PCL_ADD_EXECUTABLE(pcl_poisson_reconstruction COMPONENT ${SUBSYS_NAME} SOURCES poisson_reconstruction.cpp) - target_link_libraries(pcl_poisson_reconstruction pcl_common pcl_io pcl_surface) - --PCL_ADD_EXECUTABLE(pcl_train_linemod_template COMPONENT ${SUBSYS_NAME} SOURCES train_linemod_template.cpp) --target_link_libraries(pcl_train_linemod_template pcl_common pcl_io pcl_segmentation pcl_recognition) -- --PCL_ADD_EXECUTABLE(pcl_match_linemod_template COMPONENT ${SUBSYS_NAME} SOURCES match_linemod_template.cpp) --target_link_libraries(pcl_match_linemod_template pcl_common pcl_io pcl_recognition) -- --PCL_ADD_EXECUTABLE(pcl_linemod_detection COMPONENT ${SUBSYS_NAME} SOURCES linemod_detection.cpp) --target_link_libraries(pcl_linemod_detection pcl_common pcl_io pcl_recognition) -- - PCL_ADD_EXECUTABLE(pcl_fast_bilateral_filter COMPONENT ${SUBSYS_NAME} SOURCES fast_bilateral_filter.cpp) - target_link_libraries(pcl_fast_bilateral_filter pcl_common pcl_io pcl_filters) - --- -2.32.0.windows.1 - diff --git a/ports/pcl/usage b/ports/pcl/usage new file mode 100644 index 00000000000000..60aecd4943902f --- /dev/null +++ b/ports/pcl/usage @@ -0,0 +1,4 @@ +The package pcl provides CMake targets: + + find_package(PCL CONFIG REQUIRED) + target_link_libraries(main PRIVATE ${PCL_LIBRARIES}) diff --git a/ports/pcl/vcpkg.json b/ports/pcl/vcpkg.json index 76152d15ecfb46..7fe2f3151f5002 100644 --- a/ports/pcl/vcpkg.json +++ b/ports/pcl/vcpkg.json @@ -1,9 +1,10 @@ { "name": "pcl", - "version": "1.12.0", + "version": "1.14.1", + "port-version": 3, "description": "Point Cloud Library (PCL) is open source library for 2D/3D image and point cloud processing.", "homepage": "https://github.com/PointCloudLibrary/pcl", - "supports": "!(arm64 & windows)", + "license": "BSD-3-Clause", "dependencies": [ "boost-asio", "boost-date-time", @@ -36,19 +37,64 @@ } ], "features": { + "apps": { + "description": "Build application examples/samples that show how PCL works", + "dependencies": [ + { + "name": "pcl", + "default-features": false, + "features": [ + "opengl", + "openni2", + "qt", + "vtk" + ] + } + ] + }, "cuda": { "description": "CUDA support for PCL", + "supports": "x64", "dependencies": [ "cuda" ] }, + "examples": { + "description": "Build PCL examples", + "dependencies": [ + "boost-format", + { + "name": "pcl", + "features": [ + "visualization" + ] + } + ] + }, + "libusb": { + "description": "Build USB RGBD-Camera drivers", + "dependencies": [ + "libusb" + ] + }, "opengl": { - "description": "OpenGL support for PCL" + "description": "OpenGL support for PCL", + "dependencies": [ + "opengl" + ] }, "openni2": { "description": "OpenNI2 support for PCL", "dependencies": [ - "openni2" + "openni2", + { + "name": "pcl", + "default-features": false, + "features": [ + "libusb" + ], + "platform": "!windows" + } ] }, "pcap": { @@ -69,22 +115,61 @@ "dependencies": [ { "name": "vtk", + "default-features": false, "features": [ "qt" ] } ] }, + "simulation": { + "description": "Build Point Cloud Library Simulation", + "dependencies": [ + "glew", + { + "name": "pcl", + "default-features": false, + "features": [ + "opengl" + ] + } + ] + }, + "surface-on-nurbs": { + "description": "Fitting NURBS to point clouds", + "dependencies": [ + "zlib" + ] + }, "tools": { "description": "Build PCL utilities", + "supports": "!static", "dependencies": [ "boost-accumulators" ] }, + "visualization": { + "description": "Build visualization", + "dependencies": [ + { + "name": "vtk", + "default-features": false, + "features": [ + "opengl" + ] + } + ] + }, "vtk": { - "description": "VTK-Visualizations support for PCL", + "description": "An alias for visualization", "dependencies": [ - "vtk" + { + "name": "pcl", + "default-features": false, + "features": [ + "visualization" + ] + } ] } } diff --git a/ports/pcre/pcre-8.4.5_fix_check_function_exists_for_arm-androi_builds.patch b/ports/pcre/pcre-8.4.5_fix_check_function_exists_for_arm-androi_builds.patch new file mode 100644 index 00000000000000..d854d63a2f12da --- /dev/null +++ b/ports/pcre/pcre-8.4.5_fix_check_function_exists_for_arm-androi_builds.patch @@ -0,0 +1,32 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2c3a309..cdd480f 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -94,7 +94,7 @@ FIND_PACKAGE( Editline ) + + INCLUDE(CheckIncludeFile) + INCLUDE(CheckIncludeFileCXX) +-INCLUDE(CheckFunctionExists) ++INCLUDE(CheckSymbolExists) + INCLUDE(CheckTypeSize) + INCLUDE(GNUInstallDirs) # for CMAKE_INSTALL_LIBDIR + +@@ -109,12 +109,12 @@ CHECK_INCLUDE_FILE(windows.h HAVE_WINDOWS_H) + CHECK_INCLUDE_FILE_CXX(type_traits.h HAVE_TYPE_TRAITS_H) + CHECK_INCLUDE_FILE_CXX(bits/type_traits.h HAVE_BITS_TYPE_TRAITS_H) + +-CHECK_FUNCTION_EXISTS(bcopy HAVE_BCOPY) +-CHECK_FUNCTION_EXISTS(memmove HAVE_MEMMOVE) +-CHECK_FUNCTION_EXISTS(strerror HAVE_STRERROR) +-CHECK_FUNCTION_EXISTS(strtoll HAVE_STRTOLL) +-CHECK_FUNCTION_EXISTS(strtoq HAVE_STRTOQ) +-CHECK_FUNCTION_EXISTS(_strtoi64 HAVE__STRTOI64) ++CHECK_SYMBOL_EXISTS(bcopy strings.h HAVE_BCOPY) ++CHECK_SYMBOL_EXISTS(memmove string.h HAVE_MEMMOVE) ++CHECK_SYMBOL_EXISTS(strerror string.h HAVE_STRERROR) ++CHECK_SYMBOL_EXISTS(strtoll stdlib.h HAVE_STRTOLL) ++CHECK_SYMBOL_EXISTS(strtoq stdlib.h HAVE_STRTOQ) ++CHECK_SYMBOL_EXISTS(_strtoi64 stdlib.h HAVE__STRTOI64) + + CHECK_TYPE_SIZE("long long" LONG_LONG) + CHECK_TYPE_SIZE("unsigned long long" UNSIGNED_LONG_LONG) diff --git a/ports/pcre/portfile.cmake b/ports/pcre/portfile.cmake index 874f666c9251d4..f7b42765fc1f66 100644 --- a/ports/pcre/portfile.cmake +++ b/ports/pcre/portfile.cmake @@ -7,7 +7,8 @@ set(PATCHES pcre-8.45_suppress_cmake_and_compiler_warnings-errors.patch # Modified for 8.45 from https://bugs.exim.org/show_bug.cgi?id=2600 pcre-8.45_fix_postfix_for_debug_Windows_builds.patch - export-cmake-targets.patch) + export-cmake-targets.patch + pcre-8.4.5_fix_check_function_exists_for_arm-androi_builds.patch) vcpkg_from_sourceforge( OUT_SOURCE_PATH SOURCE_PATH @@ -18,6 +19,11 @@ vcpkg_from_sourceforge( PATCHES ${PATCHES} ) +set(IS_PCRE_SUPPORT_JIT YES) +if(VCPKG_TARGET_ARCHITECTURE MATCHES "loongarch") + set(IS_PCRE_SUPPORT_JIT NO) +endif() + vcpkg_cmake_configure( SOURCE_PATH ${SOURCE_PATH} OPTIONS @@ -26,7 +32,7 @@ vcpkg_cmake_configure( -DPCRE_BUILD_PCRE32=YES -DPCRE_BUILD_PCRE16=YES -DPCRE_BUILD_PCRE8=YES - -DPCRE_SUPPORT_JIT=YES + -DPCRE_SUPPORT_JIT=${IS_PCRE_SUPPORT_JIT} -DPCRE_SUPPORT_UTF=YES -DPCRE_SUPPORT_UNICODE_PROPERTIES=YES # optional dependencies for PCREGREP @@ -61,7 +67,9 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/man") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/man") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/doc") -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + +file(REMOVE "${CURRENT_PACKAGES_DIR}/bin/pcre-config" "${CURRENT_PACKAGES_DIR}/debug/bin/pcre-config") +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/pcre/vcpkg.json b/ports/pcre/vcpkg.json index d3a6a802773039..364191ba77e38d 100644 --- a/ports/pcre/vcpkg.json +++ b/ports/pcre/vcpkg.json @@ -1,9 +1,10 @@ { "name": "pcre", "version": "8.45", - "port-version": 1, + "port-version": 6, "description": "Perl Compatible Regular Expressions", "homepage": "https://www.pcre.org/", + "license": null, "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/pcre2/fix-cmake.patch b/ports/pcre2/fix-cmake.patch new file mode 100644 index 00000000000000..088be8425a64c5 --- /dev/null +++ b/ports/pcre2/fix-cmake.patch @@ -0,0 +1,323 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 3c915d9..d5963f8 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -143,6 +143,7 @@ INCLUDE(CheckFunctionExists) + INCLUDE(CheckSymbolExists) + INCLUDE(CheckIncludeFile) + INCLUDE(CheckTypeSize) ++INCLUDE(CMakePackageConfigHelpers) + INCLUDE(GNUInstallDirs) # for CMAKE_INSTALL_LIBDIR + + CHECK_INCLUDE_FILE(dirent.h HAVE_DIRENT_H) +@@ -696,7 +697,9 @@ IF(PCRE2_BUILD_PCRE2_8) + VERSION ${LIBPCRE2_8_VERSION} + SOVERSION ${LIBPCRE2_8_SOVERSION}) + TARGET_COMPILE_DEFINITIONS(pcre2-8-static PUBLIC PCRE2_STATIC) +- TARGET_INCLUDE_DIRECTORIES(pcre2-8-static PUBLIC ${PROJECT_BINARY_DIR}) ++ TARGET_INCLUDE_DIRECTORIES(pcre2-8-static PUBLIC ++ $ ++ $) + IF(REQUIRE_PTHREAD) + TARGET_LINK_LIBRARIES(pcre2-8-static Threads::Threads) + ENDIF(REQUIRE_PTHREAD) +@@ -709,7 +712,9 @@ IF(PCRE2_BUILD_PCRE2_8) + VERSION ${LIBPCRE2_POSIX_VERSION} + SOVERSION ${LIBPCRE2_POSIX_SOVERSION}) + TARGET_LINK_LIBRARIES(pcre2-posix-static pcre2-8-static) +- TARGET_INCLUDE_DIRECTORIES(pcre2-posix-static PUBLIC ${PROJECT_SOURCE_DIR}/src) ++ TARGET_INCLUDE_DIRECTORIES(pcre2-posix-static PUBLIC ++ $ ++ $) + set(targets ${targets} pcre2-posix-static) + + IF(MSVC) +@@ -726,7 +731,9 @@ IF(PCRE2_BUILD_PCRE2_8) + + IF(BUILD_SHARED_LIBS) + ADD_LIBRARY(pcre2-8-shared SHARED ${PCRE2_HEADERS} ${PCRE2_SOURCES} ${PROJECT_BINARY_DIR}/config.h) +- TARGET_INCLUDE_DIRECTORIES(pcre2-8-shared PUBLIC ${PROJECT_BINARY_DIR}) ++ TARGET_INCLUDE_DIRECTORIES(pcre2-8-shared PUBLIC ++ $ ++ $) + SET_TARGET_PROPERTIES(pcre2-8-shared PROPERTIES + COMPILE_DEFINITIONS PCRE2_CODE_UNIT_WIDTH=8 + MACHO_COMPATIBILITY_VERSION "${LIBPCRE2_8_MACHO_COMPATIBILITY_VERSION}" +@@ -740,7 +747,9 @@ IF(PCRE2_BUILD_PCRE2_8) + set(targets ${targets} pcre2-8-shared) + + ADD_LIBRARY(pcre2-posix-shared SHARED ${PCRE2POSIX_HEADERS} ${PCRE2POSIX_SOURCES}) +- TARGET_INCLUDE_DIRECTORIES(pcre2-posix-shared PUBLIC ${PROJECT_SOURCE_DIR}/src) ++ TARGET_INCLUDE_DIRECTORIES(pcre2-posix-shared PUBLIC ++ $ ++ $) + SET_TARGET_PROPERTIES(pcre2-posix-shared PROPERTIES + COMPILE_DEFINITIONS PCRE2_CODE_UNIT_WIDTH=8 + MACHO_COMPATIBILITY_VERSION "${LIBPCRE2_POSIX_MACHO_COMPATIBILITY_VERSION}" +@@ -779,7 +788,9 @@ ENDIF(PCRE2_BUILD_PCRE2_8) + IF(PCRE2_BUILD_PCRE2_16) + IF(BUILD_STATIC_LIBS) + ADD_LIBRARY(pcre2-16-static STATIC ${PCRE2_HEADERS} ${PCRE2_SOURCES} ${PROJECT_BINARY_DIR}/config.h) +- TARGET_INCLUDE_DIRECTORIES(pcre2-16-static PUBLIC ${PROJECT_BINARY_DIR}) ++ TARGET_INCLUDE_DIRECTORIES(pcre2-16-static PUBLIC ++ $ ++ $) + SET_TARGET_PROPERTIES(pcre2-16-static PROPERTIES UNITY_BUILD OFF + COMPILE_DEFINITIONS PCRE2_CODE_UNIT_WIDTH=16 + MACHO_COMPATIBILITY_VERSION "${LIBPCRE2_32_MACHO_COMPATIBILITY_VERSION}" +@@ -804,7 +815,9 @@ IF(PCRE2_BUILD_PCRE2_16) + + IF(BUILD_SHARED_LIBS) + ADD_LIBRARY(pcre2-16-shared SHARED ${PCRE2_HEADERS} ${PCRE2_SOURCES} ${PROJECT_BINARY_DIR}/config.h) +- TARGET_INCLUDE_DIRECTORIES(pcre2-16-shared PUBLIC ${PROJECT_BINARY_DIR}) ++ TARGET_INCLUDE_DIRECTORIES(pcre2-16-shared PUBLIC ++ $ ++ $) + SET_TARGET_PROPERTIES(pcre2-16-shared PROPERTIES UNITY_BUILD OFF + COMPILE_DEFINITIONS PCRE2_CODE_UNIT_WIDTH=16 + MACHO_COMPATIBILITY_VERSION "${LIBPCRE2_32_MACHO_COMPATIBILITY_VERSION}" +@@ -841,7 +854,9 @@ ENDIF(PCRE2_BUILD_PCRE2_16) + IF(PCRE2_BUILD_PCRE2_32) + IF(BUILD_STATIC_LIBS) + ADD_LIBRARY(pcre2-32-static STATIC ${PCRE2_HEADERS} ${PCRE2_SOURCES} ${PROJECT_BINARY_DIR}/config.h) +- TARGET_INCLUDE_DIRECTORIES(pcre2-32-static PUBLIC ${PROJECT_BINARY_DIR}) ++ TARGET_INCLUDE_DIRECTORIES(pcre2-32-static PUBLIC ++ $ ++ $) + SET_TARGET_PROPERTIES(pcre2-32-static PROPERTIES UNITY_BUILD OFF + COMPILE_DEFINITIONS PCRE2_CODE_UNIT_WIDTH=32 + MACHO_COMPATIBILITY_VERSION "${LIBPCRE2_32_MACHO_COMPATIBILITY_VERSION}" +@@ -866,7 +881,9 @@ IF(PCRE2_BUILD_PCRE2_32) + + IF(BUILD_SHARED_LIBS) + ADD_LIBRARY(pcre2-32-shared SHARED ${PCRE2_HEADERS} ${PCRE2_SOURCES} ${PROJECT_BINARY_DIR}/config.h) +- TARGET_INCLUDE_DIRECTORIES(pcre2-32-shared PUBLIC ${PROJECT_BINARY_DIR}) ++ TARGET_INCLUDE_DIRECTORIES(pcre2-32-shared PUBLIC ++ $ ++ $) + SET_TARGET_PROPERTIES(pcre2-32-shared PROPERTIES UNITY_BUILD OFF + COMPILE_DEFINITIONS PCRE2_CODE_UNIT_WIDTH=32 + MACHO_COMPATIBILITY_VERSION "${LIBPCRE2_32_MACHO_COMPATIBILITY_VERSION}" +@@ -1107,9 +1124,13 @@ ENDIF(PCRE2_BUILD_TESTS) + SET(CMAKE_INSTALL_ALWAYS 1) + + INSTALL(TARGETS ${targets} +- RUNTIME DESTINATION bin ++ EXPORT pcre2-targets ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++INSTALL(EXPORT pcre2-targets ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/pcre2 ++ NAMESPACE pcre2::) + INSTALL(FILES ${pkg_config_files} DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) + INSTALL(FILES "${CMAKE_CURRENT_BINARY_DIR}/pcre2-config" + DESTINATION bin +@@ -1121,11 +1142,12 @@ INSTALL(FILES ${PCRE2_HEADERS} ${PCRE2POSIX_HEADERS} DESTINATION include) + # CMake config files. + set(PCRE2_CONFIG_IN ${CMAKE_CURRENT_SOURCE_DIR}/cmake/pcre2-config.cmake.in) + set(PCRE2_CONFIG_OUT ${CMAKE_CURRENT_BINARY_DIR}/cmake/pcre2-config.cmake) +-configure_file(${PCRE2_CONFIG_IN} ${PCRE2_CONFIG_OUT} @ONLY) +-set(PCRE2_CONFIG_VERSION_IN ${CMAKE_CURRENT_SOURCE_DIR}/cmake/pcre2-config-version.cmake.in) ++configure_package_config_file(${PCRE2_CONFIG_IN} ${PCRE2_CONFIG_OUT} INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/pcre2) + set(PCRE2_CONFIG_VERSION_OUT ${CMAKE_CURRENT_BINARY_DIR}/cmake/pcre2-config-version.cmake) +-configure_file(${PCRE2_CONFIG_VERSION_IN} ${PCRE2_CONFIG_VERSION_OUT} @ONLY) +-install(FILES ${PCRE2_CONFIG_OUT} ${PCRE2_CONFIG_VERSION_OUT} DESTINATION cmake) ++write_basic_package_version_file(${PCRE2_CONFIG_VERSION_OUT} ++ VERSION ${PCRE2_MAJOR}.${PCRE2_MINOR}.0 ++ COMPATIBILITY SameMajorVersion) ++install(FILES ${PCRE2_CONFIG_OUT} ${PCRE2_CONFIG_VERSION_OUT} DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/pcre2) + + FILE(GLOB html ${PROJECT_SOURCE_DIR}/doc/html/*.html) + FILE(GLOB man1 ${PROJECT_SOURCE_DIR}/doc/*.1) +diff --git a/cmake/pcre2-config-version.cmake.in b/cmake/pcre2-config-version.cmake.in +index dac149e..e69de29 100644 +--- a/cmake/pcre2-config-version.cmake.in ++++ b/cmake/pcre2-config-version.cmake.in +@@ -1,15 +0,0 @@ +-set(PACKAGE_VERSION_MAJOR @PCRE2_MAJOR@) +-set(PACKAGE_VERSION_MINOR @PCRE2_MINOR@) +-set(PACKAGE_VERSION_PATCH 0) +-set(PACKAGE_VERSION @PCRE2_MAJOR@.@PCRE2_MINOR@.0) +- +-# 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/pcre2-config.cmake.in b/cmake/pcre2-config.cmake.in +index 12f3a35..159669b 100644 +--- a/cmake/pcre2-config.cmake.in ++++ b/cmake/pcre2-config.cmake.in +@@ -5,11 +5,17 @@ + # + # Static vs. shared + # ----------------- +-# To make use of the static library instead of the shared one, one needs ++# To force using the static library instead of the shared one, one needs + # to set the variable PCRE2_USE_STATIC_LIBS to ON before calling find_package. ++# If the variable is not set, the static library will be used if only that has ++# been built, otherwise the shared library will be used. ++# ++# The following components are supported: 8BIT, 16BIT, 32BIT and POSIX. ++# They used to be required but not anymore; all available targets will ++# be defined regardless of the requested components. + # Example: + # set(PCRE2_USE_STATIC_LIBS ON) +-# find_package(PCRE2 CONFIG COMPONENTS 8BIT) ++# find_package(PCRE2 CONFIG) + # + # This will define the following variables: + # +@@ -23,70 +29,42 @@ + # PCRE2::32BIT - The 32 bit PCRE2 library. + # PCRE2::POSIX - The POSIX PCRE2 library. + +-set(PCRE2_NON_STANDARD_LIB_PREFIX @NON_STANDARD_LIB_PREFIX@) +-set(PCRE2_NON_STANDARD_LIB_SUFFIX @NON_STANDARD_LIB_SUFFIX@) +-set(PCRE2_8BIT_NAME pcre2-8) +-set(PCRE2_16BIT_NAME pcre2-16) +-set(PCRE2_32BIT_NAME pcre2-32) +-set(PCRE2_POSIX_NAME pcre2-posix) +-find_path(PCRE2_INCLUDE_DIR NAMES pcre2.h DOC "PCRE2 include directory") +-if (PCRE2_USE_STATIC_LIBS) +- if (MSVC) +- set(PCRE2_8BIT_NAME pcre2-8-static) +- set(PCRE2_16BIT_NAME pcre2-16-static) +- set(PCRE2_32BIT_NAME pcre2-32-static) +- set(PCRE2_POSIX_NAME pcre2-posix-static) +- endif () ++@PACKAGE_INIT@ + +- set(PCRE2_PREFIX ${CMAKE_STATIC_LIBRARY_PREFIX}) +- set(PCRE2_SUFFIX ${CMAKE_STATIC_LIBRARY_SUFFIX}) +-else () +- set(PCRE2_PREFIX ${CMAKE_SHARED_LIBRARY_PREFIX}) +- if (MINGW AND PCRE2_NON_STANDARD_LIB_PREFIX) +- set(PCRE2_PREFIX "") +- endif () ++include(CMakeFindDependencyMacro) ++if("@REQUIRE_PTHREAD@") # REQUIRE_PTHREAD ++ find_dependency(Threads) ++endif() + +- set(PCRE2_SUFFIX ${CMAKE_SHARED_LIBRARY_SUFFIX}) +- if (MINGW AND PCRE2_NON_STANDARD_LIB_SUFFIX) +- set(PCRE2_SUFFIX "-0.dll") +- endif () +-endif () +-find_library(PCRE2_8BIT_LIBRARY NAMES ${PCRE2_PREFIX}${PCRE2_8BIT_NAME}${PCRE2_SUFFIX} ${PCRE2_PREFIX}${PCRE2_8BIT_NAME}d${PCRE2_SUFFIX} DOC "8 bit PCRE2 library") +-find_library(PCRE2_16BIT_LIBRARY NAMES ${PCRE2_PREFIX}${PCRE2_16BIT_NAME}${PCRE2_SUFFIX} ${PCRE2_PREFIX}${PCRE2_16BIT_NAME}d${PCRE2_SUFFIX} DOC "16 bit PCRE2 library") +-find_library(PCRE2_32BIT_LIBRARY NAMES ${PCRE2_PREFIX}${PCRE2_32BIT_NAME}${PCRE2_SUFFIX} ${PCRE2_PREFIX}${PCRE2_32BIT_NAME}d${PCRE2_SUFFIX} DOC "32 bit PCRE2 library") +-find_library(PCRE2_POSIX_LIBRARY NAMES ${PCRE2_PREFIX}${PCRE2_POSIX_NAME}${PCRE2_SUFFIX} ${PCRE2_PREFIX}${PCRE2_POSIX_NAME}d${PCRE2_SUFFIX} DOC "8 bit POSIX PCRE2 library") +-unset(PCRE2_NON_STANDARD_LIB_PREFIX) +-unset(PCRE2_NON_STANDARD_LIB_SUFFIX) +-unset(PCRE2_8BIT_NAME) +-unset(PCRE2_16BIT_NAME) +-unset(PCRE2_32BIT_NAME) +-unset(PCRE2_POSIX_NAME) ++include("${CMAKE_CURRENT_LIST_DIR}/pcre2-targets.cmake") + + # Set version +-if (PCRE2_INCLUDE_DIR) +- set(PCRE2_VERSION "@PCRE2_MAJOR@.@PCRE2_MINOR@.0") +-endif () ++set(PCRE2_VERSION "@PCRE2_MAJOR@.@PCRE2_MINOR@.0") + +-# Which components have been found. +-if (PCRE2_8BIT_LIBRARY) +- set(PCRE2_8BIT_FOUND TRUE) +-endif () +-if (PCRE2_16BIT_LIBRARY) +- set(PCRE2_16BIT_FOUND TRUE) +-endif () +-if (PCRE2_32BIT_LIBRARY) +- set(PCRE2_32BIT_FOUND TRUE) +-endif () +-if (PCRE2_POSIX_LIBRARY) +- set(PCRE2_POSIX_FOUND TRUE) +-endif () +- +-# Check if at least one component has been specified. +-list(LENGTH PCRE2_FIND_COMPONENTS PCRE2_NCOMPONENTS) +-if (PCRE2_NCOMPONENTS LESS 1) +- message(FATAL_ERROR "No components have been specified. This is not allowed. Please, specify at least one component.") +-endif () +-unset(PCRE2_NCOMPONENTS) ++# Chooses the linkage of the library to expose in the ++# unsuffixed edition of the target. ++macro(_pcre2_add_component_target component target) ++ # If the static library exists and either PCRE2_USE_STATIC_LIBS ++ # is defined, or the dynamic library does not exist, use the static library. ++ if(NOT TARGET PCRE2::${component}) ++ if(TARGET pcre2::pcre2-${target}-static AND (PCRE2_USE_STATIC_LIBS OR NOT TARGET pcre2::pcre2-${target}-shared)) ++ add_library(PCRE2::${component} ALIAS pcre2::pcre2-${target}-static) ++ set(PCRE2_${component}_FOUND TRUE) ++ # Otherwise use the dynamic library if it exists. ++ elseif(TARGET pcre2::pcre2-${target}-shared AND NOT PCRE2_USE_STATIC_LIBS) ++ add_library(PCRE2::${component} ALIAS pcre2::pcre2-${target}-shared) ++ set(PCRE2_${component}_FOUND TRUE) ++ endif() ++ if(PCRE2_${component}_FOUND) ++ get_target_property(PCRE2_${component}_LIBRARY PCRE2::${component} IMPORTED_LOCATION) ++ set(PCRE2_LIBRARIES ${PCRE2_LIBRARIES} ${PCRE2_${component}_LIBRARY}) ++ endif() ++ endif() ++endmacro() ++_pcre2_add_component_target(8BIT 8) ++_pcre2_add_component_target(16BIT 16) ++_pcre2_add_component_target(32BIT 32) ++_pcre2_add_component_target(POSIX posix) + + # When POSIX component has been specified make sure that also 8BIT component is specified. + set(PCRE2_8BIT_COMPONENT FALSE) +@@ -105,42 +83,5 @@ endif() + unset(PCRE2_8BIT_COMPONENT) + unset(PCRE2_POSIX_COMPONENT) + +-include(FindPackageHandleStandardArgs) +-set(${CMAKE_FIND_PACKAGE_NAME}_CONFIG "${CMAKE_CURRENT_LIST_FILE}") +-find_package_handle_standard_args(PCRE2 +- FOUND_VAR PCRE2_FOUND +- REQUIRED_VARS PCRE2_INCLUDE_DIR +- HANDLE_COMPONENTS +- VERSION_VAR PCRE2_VERSION +- CONFIG_MODE +-) +- +-set(PCRE2_LIBRARIES) +-if (PCRE2_FOUND) +- foreach(component ${PCRE2_FIND_COMPONENTS}) +- if (PCRE2_USE_STATIC_LIBS) +- add_library(PCRE2::${component} STATIC IMPORTED) +- target_compile_definitions(PCRE2::${component} INTERFACE PCRE2_STATIC) +- else () +- add_library(PCRE2::${component} SHARED IMPORTED) +- endif () +- set_target_properties(PCRE2::${component} PROPERTIES +- IMPORTED_LOCATION "${PCRE2_${component}_LIBRARY}" +- IMPORTED_IMPLIB "${PCRE2_${component}_LIBRARY}" +- INTERFACE_INCLUDE_DIRECTORIES "${PCRE2_INCLUDE_DIR}" +- ) +- if (component STREQUAL "POSIX") +- set_target_properties(PCRE2::${component} PROPERTIES +- INTERFACE_LINK_LIBRARIES "PCRE2::8BIT" +- LINK_LIBRARIES "PCRE2::8BIT" +- ) +- endif () +- +- set(PCRE2_LIBRARIES ${PCRE2_LIBRARIES} ${PCRE2_${component}_LIBRARY}) +- mark_as_advanced(PCRE2_${component}_LIBRARY) +- endforeach() +-endif () +- +-mark_as_advanced( +- PCRE2_INCLUDE_DIR +-) ++# Check for required components. ++check_required_components("PCRE2") diff --git a/ports/pcre2/no-static-suffix.patch b/ports/pcre2/no-static-suffix.patch new file mode 100644 index 00000000000000..23cbc1ca224bc7 --- /dev/null +++ b/ports/pcre2/no-static-suffix.patch @@ -0,0 +1,33 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2815dbb..3c915d9 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -713,8 +713,8 @@ IF(PCRE2_BUILD_PCRE2_8) + set(targets ${targets} pcre2-posix-static) + + IF(MSVC) +- SET_TARGET_PROPERTIES(pcre2-8-static PROPERTIES OUTPUT_NAME pcre2-8-static) +- SET_TARGET_PROPERTIES(pcre2-posix-static PROPERTIES OUTPUT_NAME pcre2-posix-static) ++ SET_TARGET_PROPERTIES(pcre2-8-static PROPERTIES OUTPUT_NAME pcre2-8) ++ SET_TARGET_PROPERTIES(pcre2-posix-static PROPERTIES OUTPUT_NAME pcre2-posix) + ELSE(MSVC) + SET_TARGET_PROPERTIES(pcre2-8-static PROPERTIES OUTPUT_NAME pcre2-8) + SET_TARGET_PROPERTIES(pcre2-posix-static PROPERTIES OUTPUT_NAME pcre2-posix) +@@ -793,7 +793,7 @@ IF(PCRE2_BUILD_PCRE2_16) + set(targets ${targets} pcre2-16-static) + + IF(MSVC) +- SET_TARGET_PROPERTIES(pcre2-16-static PROPERTIES OUTPUT_NAME pcre2-16-static) ++ SET_TARGET_PROPERTIES(pcre2-16-static PROPERTIES OUTPUT_NAME pcre2-16) + ELSE(MSVC) + SET_TARGET_PROPERTIES(pcre2-16-static PROPERTIES OUTPUT_NAME pcre2-16) + ENDIF(MSVC) +@@ -855,7 +855,7 @@ IF(PCRE2_BUILD_PCRE2_32) + set(targets ${targets} pcre2-32-static) + + IF(MSVC) +- SET_TARGET_PROPERTIES(pcre2-32-static PROPERTIES OUTPUT_NAME pcre2-32-static) ++ SET_TARGET_PROPERTIES(pcre2-32-static PROPERTIES OUTPUT_NAME pcre2-32) + ELSE(MSVC) + SET_TARGET_PROPERTIES(pcre2-32-static PROPERTIES OUTPUT_NAME pcre2-32) + ENDIF(MSVC) diff --git a/ports/pcre2/portfile.cmake b/ports/pcre2/portfile.cmake index 2d946042692de0..9d2f32ca14affb 100644 --- a/ports/pcre2/portfile.cmake +++ b/ports/pcre2/portfile.cmake @@ -1,33 +1,43 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO PhilipHazel/pcre2 - REF 35fee4193b852cb504892352bd0155de10809889 # pcre2-10.39 - SHA512 a6e50f3354dc4172df05e887dd8646d4ce6a3584fe180b17dc27b42b094e13d1d1a7e5ab3cb15dd352764d81ac33cfd03e81b0c890d9ddec72d823ca6f8bd667 + REPO PCRE2Project/pcre2 + REF "pcre2-${VERSION}" + SHA512 50f3b8b10faf432e0ffe87eca84fdebdb10869b092e4dc66c33bd6e2657638d4433698669af2c5ad9f691d27789663682a7235943761f716f5f2e0637deafc97 HEAD_REF master PATCHES pcre2-10.35_fix-uwp.patch + no-static-suffix.patch + fix-cmake.patch ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" INSTALL_PDB) +string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" BUILD_STATIC_CRT) -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Emscripten" OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "iOS") - set(JIT OFF) -else() - set(JIT ON) -endif() +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + jit PCRE2_SUPPORT_JIT +) vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" OPTIONS + ${FEATURE_OPTIONS} -DBUILD_STATIC_LIBS=${BUILD_STATIC} + -DPCRE2_STATIC_RUNTIME=${BUILD_STATIC_CRT} -DPCRE2_BUILD_PCRE2_8=ON -DPCRE2_BUILD_PCRE2_16=ON -DPCRE2_BUILD_PCRE2_32=ON - -DPCRE2_SUPPORT_JIT=${JIT} -DPCRE2_SUPPORT_UNICODE=ON -DPCRE2_BUILD_TESTS=OFF -DPCRE2_BUILD_PCRE2GREP=OFF -) + -DCMAKE_DISABLE_FIND_PACKAGE_BZip2=ON + -DCMAKE_DISABLE_FIND_PACKAGE_ZLIB=ON + -DCMAKE_DISABLE_FIND_PACKAGE_Readline=ON + -DCMAKE_DISABLE_FIND_PACKAGE_Editline=ON + -DINSTALL_MSVC_PDB=${INSTALL_PDB} + ) vcpkg_cmake_install() vcpkg_copy_pdbs() @@ -41,19 +51,27 @@ endif() file(WRITE "${CURRENT_PACKAGES_DIR}/include/pcre2.h" "${PCRE2_H}") vcpkg_fixup_pkgconfig() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) -# The cmake file provided by pcre2 has some problems, so don't use it for now. -#vcpkg_cmake_config_fixup(CONFIG_PATH cmake) -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/cmake" "${CURRENT_PACKAGES_DIR}/debug/cmake") +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/man" + "${CURRENT_PACKAGES_DIR}/share/doc" + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/man" + "${CURRENT_PACKAGES_DIR}/debug/share") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/man") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/doc") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/man") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") - -if(BUILD_STATIC) - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") +file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/pcre2") +file(RENAME "${CURRENT_PACKAGES_DIR}/bin/pcre2-config" "${CURRENT_PACKAGES_DIR}/tools/pcre2/pcre2-config") +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/pcre2/pcre2-config" "${CURRENT_PACKAGES_DIR}" [[$(cd "$(dirname "$0")/../.."; pwd -P)]]) +if(NOT VCPKG_BUILD_TYPE) + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/pcre2/debug") + file(RENAME "${CURRENT_PACKAGES_DIR}/debug/bin/pcre2-config" "${CURRENT_PACKAGES_DIR}/tools/pcre2/debug/pcre2-config") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/pcre2/debug/pcre2-config" "${CURRENT_PACKAGES_DIR}/debug" [[$(cd "$(dirname "$0")/../../../debug"; pwd -P)]]) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/pcre2/debug/pcre2-config" [[${prefix}/include]] [[${prefix}/../include]]) +endif() +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin" "${CURRENT_PACKAGES_DIR}/bin") 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}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/pcre2/usage b/ports/pcre2/usage new file mode 100644 index 00000000000000..a23aadd334e63f --- /dev/null +++ b/ports/pcre2/usage @@ -0,0 +1,6 @@ +The package pcre2 is compatible with built-in CMake targets: + + # Each component imports a target: + # TARGETS: PCRE2::8BIT PCRE2::16BIT PCRE2::32BIT PCRE2::POSIX + find_package(pcre2 CONFIG REQUIRED) + target_link_libraries(main PRIVATE PCRE2::8BIT PCRE2::16BIT PCRE2::32BIT PCRE2::POSIX) diff --git a/ports/pcre2/vcpkg.json b/ports/pcre2/vcpkg.json index edea44e6582312..af255b21b511ce 100644 --- a/ports/pcre2/vcpkg.json +++ b/ports/pcre2/vcpkg.json @@ -1,8 +1,9 @@ { "name": "pcre2", - "version": "10.39", + "version": "10.43", "description": "Regular Expression pattern matching using the same syntax and semantics as Perl 5.", - "homepage": "https://github.com/PhilipHazel/pcre2", + "homepage": "https://github.com/PCRE2Project/pcre2", + "license": "BSD-3-Clause", "dependencies": [ { "name": "vcpkg-cmake", @@ -12,5 +13,26 @@ "name": "vcpkg-cmake-config", "host": true } - ] + ], + "default-features": [ + "platform-default-features" + ], + "features": { + "jit": { + "description": "Enable support for Just-In-Time compiling regex matchers", + "supports": "!emscripten & !ios" + }, + "platform-default-features": { + "description": "Enable default features", + "dependencies": [ + { + "name": "pcre2", + "features": [ + "jit" + ], + "platform": "!emscripten & !ios" + } + ] + } + } } diff --git a/ports/pdal-c/cmake-project-include.cmake b/ports/pdal-c/cmake-project-include.cmake new file mode 100644 index 00000000000000..39f3cca6d23982 --- /dev/null +++ b/ports/pdal-c/cmake-project-include.cmake @@ -0,0 +1,3 @@ +if(WIN32) + add_compile_definitions(NOMINMAX) +endif() diff --git a/ports/pdal-c/fix-docs-version.patch b/ports/pdal-c/fix-docs-version.patch deleted file mode 100644 index d44b50b6141b8b..00000000000000 --- a/ports/pdal-c/fix-docs-version.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 1fbc4a4..c8a325a 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -23,7 +23,8 @@ set(CMAKE_RELWITHDEBINFO_POSTFIX "" CACHE STRING "CMake RelWithDebInfo suffix") - set(PDALC_ENABLE_CODE_COVERAGE ON CACHE BOOL "Enable code coverage calculation") - set(PDALC_GCC_PARAM_GGC_MIN_HEAPSIZE "131072" CACHE STRING "GCC garbage collection minimum heap size") - --include(ObtainProjectVersion) -+set(${PROJECT_NAME}_VERSION "1.8") -+set(BUILD_ID "vcpkg build") - include_directories("${CMAKE_SOURCE_DIR}/source") - - if(CMAKE_COMPILER_IS_GNUCXX) diff --git a/ports/pdal-c/portfile.cmake b/ports/pdal-c/portfile.cmake index 3e1b8c1a93b405..559361d80ccf5d 100644 --- a/ports/pdal-c/portfile.cmake +++ b/ports/pdal-c/portfile.cmake @@ -1,32 +1,28 @@ vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO PDAL/CAPI - REF 1.8 - SHA512 6a5f4cb3d36b419f3cd195028c3e6dc17abf3cdb7495aa3df638bc1f842ba98243c73e051e9cfcd3afe22787309cb871374b152ded92e6e06f404cd7b1ae50bf - HEAD_REF master - PATCHES - ${CMAKE_CURRENT_LIST_DIR}/fix-docs-version.patch - ${CMAKE_CURRENT_LIST_DIR}/preserve-install-dir.patch - ${CMAKE_CURRENT_LIST_DIR}/remove-tests.patch + OUT_SOURCE_PATH SOURCE_PATH + REPO PDAL/CAPI + REF "v${VERSION}" + SHA512 6fe2136831e37c2f87643b3c971a1397d8912c230e9bfde53a51ec1769bc5c2f08482395263906975c5d40dbabd32852a5a145a159cdcf2548390a0aff72a295 + HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - -DPDALC_ENABLE_CODE_COVERAGE:BOOL=OFF +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + "-DCMAKE_PROJECT_INCLUDE=${CMAKE_CURRENT_LIST_DIR}/cmake-project-include.cmake" + -DPDALC_ENABLE_CODE_COVERAGE:BOOL=OFF + -DPDALC_ENABLE_DOCS:BOOL=OFF + -DPDALC_ENABLE_TESTS:BOOL=OFF + -DCMAKE_DISABLE_FIND_PACKAGE_Git:BOOL=ON ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() # Remove headers from debug -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") # Install copyright -file(INSTALL ${SOURCE_PATH}/LICENSE.md - DESTINATION ${CURRENT_PACKAGES_DIR}/share/pdal-c - RENAME copyright -) +file(INSTALL "${SOURCE_PATH}/LICENSE.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/pdal-c/preserve-install-dir.patch b/ports/pdal-c/preserve-install-dir.patch deleted file mode 100644 index 87377ab2f5500d..00000000000000 --- a/ports/pdal-c/preserve-install-dir.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 1fbc4a4..075c86c 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -13,8 +13,6 @@ set(CMAKE_CXX_STANDARD 11) - set(CMAKE_CXX_STANDARD_REQUIRED ON) - set(CMAKE_CXX_EXTENSIONS OFF) - --# Install to the build directory --set(CMAKE_INSTALL_PREFIX "${CMAKE_BINARY_DIR}" CACHE STRING "CMake install prefix" FORCE) - - # Use "d" suffix for debug builds - # Do not use a suffix for RelWithDebInfo diff --git a/ports/pdal-c/remove-tests.patch b/ports/pdal-c/remove-tests.patch deleted file mode 100644 index c50914e576e2cd..00000000000000 --- a/ports/pdal-c/remove-tests.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 1fbc4a4..e31e552 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -44,7 +44,3 @@ endif() - - add_subdirectory("source/pdal") - add_subdirectory("doc") -- --include(CTest) --add_subdirectory("tests/data") --add_subdirectory("tests/pdal") diff --git a/ports/pdal-c/vcpkg.json b/ports/pdal-c/vcpkg.json index c0629c9909de99..8626a5050e8cd4 100644 --- a/ports/pdal-c/vcpkg.json +++ b/ports/pdal-c/vcpkg.json @@ -1,9 +1,17 @@ { "name": "pdal-c", - "version-string": "1.8", - "port-version": 3, + "version": "2.2.0", "description": "C API for the Point Data Abstraction Library (PDAL)", + "homepage": "https://github.com/PDAL/CAPI#readme", + "supports": "!(windows & staticcrt)", "dependencies": [ - "pdal" + { + "name": "pdal", + "default-features": false + }, + { + "name": "vcpkg-cmake", + "host": true + } ] } diff --git a/ports/pdal-dimbuilder/namespace-nl.diff b/ports/pdal-dimbuilder/namespace-nl.diff new file mode 100644 index 00000000000000..00b69f5b1169d8 --- /dev/null +++ b/ports/pdal-dimbuilder/namespace-nl.diff @@ -0,0 +1,12 @@ +diff --git a/dimbuilder/DimBuilder.hpp b/dimbuilder/DimBuilder.hpp +index cb6dc54..8bee581 100644 +--- a/dimbuilder/DimBuilder.hpp ++++ b/dimbuilder/DimBuilder.hpp +@@ -35,6 +35,7 @@ + #include + + #include ++namespace NL = nlohmann; + + #include + diff --git a/ports/pdal-dimbuilder/portfile.cmake b/ports/pdal-dimbuilder/portfile.cmake new file mode 100644 index 00000000000000..44383dbd887c4b --- /dev/null +++ b/ports/pdal-dimbuilder/portfile.cmake @@ -0,0 +1,32 @@ +# Host tool needed by pdal. No bells and whistles. +set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) +set(VCPKG_BUILD_TYPE release) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO PDAL/PDAL + REF "${VERSION}" + #[[ + Attention: pdal must be updated together with pdal-dimbuilder + #]] + SHA512 1f9c4383fdbd4e10ef0b30b7148386692f8bd5f19b57a0323d92f2dc55a14fbc6a0d4d60c16c9604cbd3837c0ae8e3c88baebdefd534273952f92f01c5703554 + HEAD_REF master + PATCHES + namespace-nl.diff +) +file(REMOVE_RECURSE "${SOURCE_PATH}/vendor") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/dimbuilder" + OPTIONS + "-DNLOHMANN_INCLUDE_DIR=${CURRENT_INSTALLED_DIR}/include" + "-DUTFCPP_INCLUDE_DIR=${CURRENT_INSTALLED_DIR}/include/utf8cpp" +) +vcpkg_cmake_build() + +vcpkg_copy_tools(TOOL_NAMES dimbuilder + SEARCH_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel" + DESTINATION "${CURRENT_PACKAGES_DIR}/manual-tools/${PORT}" +) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") diff --git a/ports/pdal-dimbuilder/vcpkg.json b/ports/pdal-dimbuilder/vcpkg.json new file mode 100644 index 00000000000000..16bd99f5d69636 --- /dev/null +++ b/ports/pdal-dimbuilder/vcpkg.json @@ -0,0 +1,16 @@ +{ + "name": "pdal-dimbuilder", + "version": "2.8.1", + "description": "A tool used by the PDAL build process", + "homepage": "https://pdal.io/", + "license": "BSD-3-Clause", + "supports": "native", + "dependencies": [ + "nlohmann-json", + "utfcpp", + { + "name": "vcpkg-cmake", + "host": true + } + ] +} diff --git a/ports/pdal/0001-win32_compiler_options.cmake.patch b/ports/pdal/0001-win32_compiler_options.cmake.patch deleted file mode 100644 index 8486cc1cd97c20..00000000000000 --- a/ports/pdal/0001-win32_compiler_options.cmake.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -Nuar a/cmake/win32_compiler_options.cmake b/cmake/win32_compiler_options.cmake ---- a/cmake/win32_compiler_options.cmake 2018-04-06 20:24:17.000000000 +0200 -+++ b/cmake/win32_compiler_options.cmake 2018-04-28 19:40:54.534593200 +0200 -@@ -67,10 +67,6 @@ - endif() - 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 (& gadomski) - WHY? - set(PDAL_PLATFORM_WIN32 1) - set(WINSOCK_LIBRARY ws2_32) diff --git a/ports/pdal/0002-no-source-dir-writes.patch b/ports/pdal/0002-no-source-dir-writes.patch deleted file mode 100644 index f7ec12f6bfba81..00000000000000 --- a/ports/pdal/0002-no-source-dir-writes.patch +++ /dev/null @@ -1,49 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index dc146d1..9b82544 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -140,7 +140,7 @@ get_git_head_revision(GIT_REFSPEC GIT_SHA1) - - configure_file( - "${PROJECT_SOURCE_DIR}/gitsha.cpp.in" -- "${PROJECT_SOURCE_DIR}/pdal/gitsha.cpp") -+ "${PROJECT_BINARY_DIR}/pdal/gitsha.cpp") - - # needs to come before configuration of pdal_features - if(APPLE) -@@ -201,6 +201,7 @@ file(GLOB BASE_SRCS - ${PDAL_IO_DIR}/*.cpp - ${PDAL_KERNELS_DIR}/*.cpp - ${PDAL_SRC_DIR}/*.cpp -+ ${PROJECT_BINARY_DIR}/pdal/gitsha.cpp - ${PDAL_SRC_DIR}/compression/*.cpp) - file(GLOB_RECURSE PRIVATE_SRCS - ${PDAL_FILTERS_DIR}/private/*.cpp -diff --git a/apps/CMakeLists.txt b/apps/CMakeLists.txt -index b02aa4a..d60b041 100644 ---- a/apps/CMakeLists.txt -+++ b/apps/CMakeLists.txt -@@ -66,9 +66,9 @@ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/pdal.pc - if(UNIX OR APPLE) - # Autoconf compatibility variables to use the same script source. - configure_file("${CMAKE_CURRENT_SOURCE_DIR}/pdal-config.in" -- "${CMAKE_CURRENT_SOURCE_DIR}/pdal-config" @ONLY) -+ "${CMAKE_CURRENT_BINARY_DIR}/pdal-config" @ONLY) - -- file(COPY "${CMAKE_CURRENT_SOURCE_DIR}/pdal-config" -+ file(COPY "${CMAKE_CURRENT_BINARY_DIR}/pdal-config" - DESTINATION - "${PDAL_OUTPUT_BIN_DIR}/" - FILE_PERMISSIONS -@@ -85,9 +85,9 @@ if(UNIX OR APPLE) - elseif(WIN32) - # Autoconf compatibility variables to use the same script source. - configure_file("${CMAKE_CURRENT_SOURCE_DIR}/pdal-config-bat.in" -- "${CMAKE_CURRENT_SOURCE_DIR}/pdal-config.bat" @ONLY) -+ "${CMAKE_CURRENT_BINARY_DIR}/pdal-config.bat" @ONLY) - -- file(COPY "${CMAKE_CURRENT_SOURCE_DIR}/pdal-config.bat" -+ file(COPY "${CMAKE_CURRENT_BINARY_DIR}/pdal-config.bat" - DESTINATION - "${PDAL_OUTPUT_BIN_DIR}/" - FILE_PERMISSIONS diff --git a/ports/pdal/0003-fix-copy-vendor.patch b/ports/pdal/0003-fix-copy-vendor.patch deleted file mode 100644 index 3aad7af320a9e9..00000000000000 --- a/ports/pdal/0003-fix-copy-vendor.patch +++ /dev/null @@ -1,59 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 43e446a..c4c7d6f 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -339,6 +339,30 @@ install(DIRECTORY ${PDAL_FILTERS_DIR} - install(FILES ${DIMENSION_OUTFILE} ${pdal_features_hpp} - DESTINATION include/pdal - ) -+# Install vendor headers -+install(DIRECTORY ${PDAL_VENDOR_ARBITER_DIR} -+ DESTINATION include/pdal/vendor -+ FILES_MATCHING PATTERN "*.hpp" -+ PATTERN "private" EXCLUDE -+) -+ -+install(DIRECTORY ${PDAL_VENDOR_JSONCPP_DIR} -+ DESTINATION include/pdal/vendor -+ FILES_MATCHING PATTERN "*.h" -+ PATTERN "private" EXCLUDE -+) -+ -+install(DIRECTORY ${PDAL_VENDOR_KAZHDAN_DIR} -+ DESTINATION include/pdal/vendor -+ FILES_MATCHING PATTERN "*.h" -+ PATTERN "private" EXCLUDE -+) -+ -+install(DIRECTORY ${PDAL_VENDOR_NANOFLANN_DIR} -+ DESTINATION include/pdal/vendor -+ FILES_MATCHING PATTERN "*.hpp" -+ PATTERN "private" EXCLUDE -+) - - # - # CPACK -@@ -348,7 +373,7 @@ add_custom_target(dist COMMAND ${CMAKE_MAKE_PROGRAM} package_source) - - export( - TARGETS -- ${PDAL_BASE_LIB_NAME} ${PDAL_UTIL_LIB_NAME} -+ ${PDAL_BASE_LIB_NAME} ${PDAL_ARBITER_LIB_NAME} ${PDAL_KAZHDAN_LIB_NAME} ${PDAL_UTIL_LIB_NAME} - FILE - "${PDAL_BINARY_DIR}/PDALTargets.cmake") - -diff --git a/cmake/directories.cmake b/cmake/directories.cmake -index f079ec7..8e366e8 100644 ---- a/cmake/directories.cmake -+++ b/cmake/directories.cmake -@@ -11,4 +11,7 @@ set(PDAL_KERNELS_DIR ${ROOT_DIR}/kernels) - set(PDAL_FILTERS_DIR ${ROOT_DIR}/filters) - set(PDAL_IO_DIR ${ROOT_DIR}/io) - set(PDAL_VENDOR_DIR ${ROOT_DIR}/vendor) -- -+set(PDAL_VENDOR_ARBITER_DIR ${PDAL_VENDOR_DIR}/arbiter) -+set(PDAL_VENDOR_JSONCPP_DIR ${PDAL_VENDOR_DIR}/jsoncpp) -+set(PDAL_VENDOR_KAZHDAN_DIR ${PDAL_VENDOR_DIR}/kazhdan) -+set(PDAL_VENDOR_NANOFLANN_DIR ${PDAL_VENDOR_DIR}/nanoflann) - -\ No newline at end of file diff --git a/ports/pdal/0004-fix-const-overloaded.patch b/ports/pdal/0004-fix-const-overloaded.patch deleted file mode 100644 index 1f820aef340053..00000000000000 --- a/ports/pdal/0004-fix-const-overloaded.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/pdal/PointViewIter.hpp b/pdal/PointViewIter.hpp -index 0c387be..ccb0721 100644 ---- a/pdal/PointViewIter.hpp -+++ b/pdal/PointViewIter.hpp -@@ -139,7 +139,7 @@ public: - - bool operator==(const PointViewIter& i) - { return m_id == i.m_id; } -- bool operator!=(const PointViewIter& i) -+ bool operator!=(const PointViewIter& i) const - { return m_id != i.m_id; } - bool operator<=(const PointViewIter& i) - { return m_id <= i.m_id; } diff --git a/ports/pdal/FindGEOS.cmake b/ports/pdal/FindGEOS.cmake deleted file mode 100644 index 88d17b0733d0d1..00000000000000 --- a/ports/pdal/FindGEOS.cmake +++ /dev/null @@ -1,13 +0,0 @@ -find_path(GEOS_INCLUDE_DIR geos_c.h) - -find_library(GEOS_LIBRARY_DEBUG NAMES geos_cd) -find_library(GEOS_LIBRARY_RELEASE NAMES geos_c) - -include(SelectLibraryConfigurations) -select_library_configurations(GEOS) - -include(FindPackageHandleStandardArgs) -FIND_PACKAGE_HANDLE_STANDARD_ARGS( - GEOS DEFAULT_MSG - GEOS_LIBRARY GEOS_INCLUDE_DIR -) diff --git a/ports/pdal/cmake-project-include.cmake b/ports/pdal/cmake-project-include.cmake new file mode 100644 index 00000000000000..37fd8c2bd976bd --- /dev/null +++ b/ports/pdal/cmake-project-include.cmake @@ -0,0 +1,6 @@ +include(CheckIncludeFileCXX) + +check_include_file_cxx("filesystem" HAVE_CXX17_FILESYSTEM) +if(NOT HAVE_CXX17_FILESYSTEM) + message(FATAL_ERROR "Unable to find header. PDAL requires full C++17 compiler support.") +endif() diff --git a/ports/pdal/dependencies.diff b/ports/pdal/dependencies.diff new file mode 100644 index 00000000000000..d166d313eaa33f --- /dev/null +++ b/ports/pdal/dependencies.diff @@ -0,0 +1,209 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index dc65543..5bccbce 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -158,12 +158,9 @@ if (WITH_TESTS) + endif() + add_subdirectory(dimbuilder) + add_subdirectory(vendor/arbiter) +-add_subdirectory(vendor/schema-validator) + add_subdirectory(vendor/kazhdan) + add_subdirectory(vendor/lazperf) +-add_subdirectory(vendor/utfcpp) + add_subdirectory(vendor/lepcc) +-add_subdirectory(vendor/h3) + add_subdirectory(tools) + add_subdirectory(apps) + +@@ -220,12 +217,13 @@ add_library(PDAL::PDAL ALIAS ${PDAL_LIB_NAME}) + + + ++find_package(Eigen3 CONFIG REQUIRED) ++target_link_libraries(${PDAL_LIB_NAME} PRIVATE Eigen3::Eigen) + target_include_directories(${PDAL_LIB_NAME} + SYSTEM BEFORE PRIVATE +- ${PDAL_VENDOR_EIGEN_DIR} + ${PDAL_VENDOR_DIR}/kazhdan +- ${PDAL_VENDOR_DIR}/h3/include + ) ++target_link_libraries(${PDAL_LIB_NAME} PRIVATE h3::h3) + target_include_directories(${PDAL_LIB_NAME} + PRIVATE + ${ROOT_DIR} +@@ -263,6 +261,8 @@ target_link_libraries(${PDAL_LIB_NAME} + ${PDAL_LIBDIR} + ${WINSOCK_LIBRARY} + ) ++find_package(nanoflann CONFIG REQUIRED) ++target_link_libraries(${PDAL_LIB_NAME} PRIVATE nanoflann::nanoflann) + + # + # Allow downstream cmake projects to find PDAL header files without +@@ -274,7 +274,7 @@ target_include_directories(${PDAL_LIB_NAME} + + target_compile_definitions(${PDAL_LIB_NAME} + PRIVATE +- H3_PREFIX=PDALH3) ++) + + if(WIN32) + target_compile_definitions(${PDAL_LIB_NAME} +diff --git a/cmake/gdal.cmake b/cmake/gdal.cmake +index 5f68579..a407c60 100644 +--- a/cmake/gdal.cmake ++++ b/cmake/gdal.cmake +@@ -12,7 +12,8 @@ function(gdal_find_version _version) + set(${_version} ${MAJOR}.${MINOR}.${REV} PARENT_SCOPE) + endfunction(gdal_find_version) + +-find_package(GDAL 3.4 REQUIRED) ++find_package(GDAL CONFIG REQUIRED) ++set(GDAL_LIBRARY GDAL::GDAL) + set_package_properties(GDAL PROPERTIES TYPE REQUIRED + PURPOSE "Provides general purpose raster, vector, and reference system support") + if (GDAL_FOUND) +diff --git a/cmake/geotiff.cmake b/cmake/geotiff.cmake +index 1d1e8af..f713c05 100644 +--- a/cmake/geotiff.cmake ++++ b/cmake/geotiff.cmake +@@ -2,7 +2,8 @@ + # GeoTIFF support + # + +-find_package(GeoTIFF REQUIRED 1.3.0) ++find_package(GeoTIFF CONFIG REQUIRED) ++set(GEOTIFF_LIBRARY ${GEOTIFF_LIBRARIES}) + set_package_properties(GeoTIFF PROPERTIES TYPE REQUIRED) + if (GEOTIFF_FOUND) + include_directories("${GEOTIFF_INCLUDE_DIR}") +diff --git a/cmake/h3.cmake b/cmake/h3.cmake +index 398ad6d..fb3c9ad 100644 +--- a/cmake/h3.cmake ++++ b/cmake/h3.cmake +@@ -2,5 +2,6 @@ + # H3 configuration. + # + +-set(PDAL_H3_LIB_NAME pdal_h3) ++find_package(h3 CONFIG REQUIRED) ++set(PDAL_H3_LIB_NAME h3::h3) + +diff --git a/cmake/schema-validator.cmake b/cmake/schema-validator.cmake +index 1f9f996..aeb598c 100644 +--- a/cmake/schema-validator.cmake ++++ b/cmake/schema-validator.cmake +@@ -1,5 +1,5 @@ + # + # N Lohmann JSON schema validator handler + # +-include(${PDAL_CMAKE_DIR}/nlohmann.cmake) +-set(JSON_SCHEMA_LIB_NAME pdal_json_schema) ++find_package(nlohmann_json_schema_validator CONFIG REQUIRED) ++set(JSON_SCHEMA_LIB_NAME nlohmann_json_schema_validator::validator) +diff --git a/cmake/utfcpp.cmake b/cmake/utfcpp.cmake +index 6543ff6..dc6fac8 100644 +--- a/cmake/utfcpp.cmake ++++ b/cmake/utfcpp.cmake +@@ -1,6 +1,7 @@ + # + # UTF CPP + # +-set(UTFCPP_INCLUDE_DIR ${PDAL_VENDOR_DIR}/utfcpp/source) ++find_package(utf8cpp CONFIG REQUIRED) ++set(UTFCPP_INCLUDE_DIR "") + set(UTFCPP_LIB_NAME utf8::cpp) + +diff --git a/cmake/zstd.cmake b/cmake/zstd.cmake +index dfe3dc0..9f699e6 100644 +--- a/cmake/zstd.cmake ++++ b/cmake/zstd.cmake +@@ -4,7 +4,10 @@ + option(WITH_ZSTD + "Build support for compression/decompression with Zstd." TRUE) + if (WITH_ZSTD) +- find_package(ZSTD QUIET) ++ find_package(ZSTD NAMES zstd REQUIRED) ++ set(ZSTD_INCLUDE_DIRS "") ++ set(ZSTD_LIBRARIES zstd::libzstd) ++ set(ZSTD_STATIC_LIB zstd::libzstd) + set_package_properties(ZSTD PROPERTIES TYPE + PURPOSE "General compression support") + if (ZSTD_FOUND) +diff --git a/filters/H3Filter.cpp b/filters/H3Filter.cpp +index 6eb10a2..153c3ee 100644 +--- a/filters/H3Filter.cpp ++++ b/filters/H3Filter.cpp +@@ -45,7 +45,9 @@ + #include + #include + +-#include ++#include

++#define PDALH3degsToRads degsToRads ++#define PDALH3latLngToCell latLngToCell + + namespace pdal + { +diff --git a/pdal/JsonFwd.hpp b/pdal/JsonFwd.hpp +index f764961..f64dcc6 100644 +--- a/pdal/JsonFwd.hpp ++++ b/pdal/JsonFwd.hpp +@@ -1,3 +1,4 @@ ++#include + #ifndef INCLUDE_NLOHMANN_JSON_FWD_HPP_ + #define INCLUDE_NLOHMANN_JSON_FWD_HPP_ + +diff --git a/pdal/private/KDImpl.hpp b/pdal/private/KDImpl.hpp +index 473ffba..a69431f 100644 +--- a/pdal/private/KDImpl.hpp ++++ b/pdal/private/KDImpl.hpp +@@ -34,7 +34,8 @@ + + #pragma once + +-#include ++#include ++#define SearchParams SearchParameters + + namespace pdal + { +@@ -116,7 +117,7 @@ public: + PointIdList radius(double const& x, double const& y, double const& r) const + { + PointIdList output; +- std::vector> ret_matches; ++ std::vector> ret_matches; + nanoflann::SearchParams params; + params.sorted = true; + +@@ -247,7 +248,7 @@ public: + PointIdList radius(double x, double y, double z, double r) const + { + PointIdList output; +- std::vector> ret_matches; ++ std::vector> ret_matches; + nanoflann::SearchParams params; + params.sorted = true; + +@@ -330,7 +331,7 @@ public: + PointIdList radius(PointId idx, double r) const + { + PointIdList output; +- std::vector> ret_matches; ++ std::vector> ret_matches; + nanoflann::SearchParams params; + params.sorted = true; + +diff --git a/tools/lasdump/CMakeLists.txt b/tools/lasdump/CMakeLists.txt +index b15d595..a452d14 100644 +--- a/tools/lasdump/CMakeLists.txt ++++ b/tools/lasdump/CMakeLists.txt +@@ -10,6 +10,7 @@ add_executable(lasdump + ) + + target_link_libraries(lasdump PRIVATE ++ ${UTFCPP_LIB_NAME} + ${PDAL_LAZPERF_LIB_NAME} + ) + target_include_directories(lasdump PRIVATE diff --git a/ports/pdal/external-dimbuilder.diff b/ports/pdal/external-dimbuilder.diff new file mode 100644 index 00000000000000..2aefb2884b3c47 --- /dev/null +++ b/ports/pdal/external-dimbuilder.diff @@ -0,0 +1,11 @@ +diff --git a/dimbuilder/CMakeLists.txt b/dimbuilder/CMakeLists.txt +index 99109b7..fa2355d 100644 +--- a/dimbuilder/CMakeLists.txt ++++ b/dimbuilder/CMakeLists.txt +@@ -1,3 +1,6 @@ ++add_executable(dimbuilder IMPORTED GLOBAL) ++set_target_properties(dimbuilder PROPERTIES IMPORTED_LOCATION "${DIMBUILDER_EXECUTABLE}") ++return() + # + # The seemingly strange arrangement of this cmake file allows you to build + # this application as a standalone. diff --git a/ports/pdal/find-library-suffix.diff b/ports/pdal/find-library-suffix.diff new file mode 100644 index 00000000000000..afbefc541bcb52 --- /dev/null +++ b/ports/pdal/find-library-suffix.diff @@ -0,0 +1,12 @@ +diff --git a/cmake/libraries.cmake b/cmake/libraries.cmake +index 6847cf6..47e9748 100644 +--- a/cmake/libraries.cmake ++++ b/cmake/libraries.cmake +@@ -2,7 +2,6 @@ + + set(PDAL_LIB_TYPE "SHARED") + if (WIN32) +- set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_IMPORT_LIBRARY_SUFFIX}) + endif() + + diff --git a/ports/pdal/fix-CPL_DLL.patch b/ports/pdal/fix-CPL_DLL.patch deleted file mode 100644 index ef7c2647273194..00000000000000 --- a/ports/pdal/fix-CPL_DLL.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/io/GeotiffSupport.cpp b/io/GeotiffSupport.cpp -index 7b75818..909992d 100644 ---- a/io/GeotiffSupport.cpp -+++ b/io/GeotiffSupport.cpp -@@ -43,8 +43,8 @@ PDAL_C_START - - // These functions are available from GDAL, but they - // aren't exported. --char CPL_DLL * GTIFGetOGISDefn(GTIF*, GTIFDefn*); --int CPL_DLL GTIFSetFromOGISDefn(GTIF*, const char*); -+char GTIF_DLL * GTIFGetOGISDefn(GTIF*, GTIFDefn*); -+int GTIF_DLL GTIFSetFromOGISDefn(GTIF*, const char*); - - PDAL_C_END - diff --git a/ports/pdal/fix-dependency.patch b/ports/pdal/fix-dependency.patch deleted file mode 100644 index 352eb1d43f1b17..00000000000000 --- a/ports/pdal/fix-dependency.patch +++ /dev/null @@ -1,231 +0,0 @@ -diff --git a/cmake/geos.cmake b/cmake/geos.cmake -index 90b79d9..5942ee5 100644 ---- a/cmake/geos.cmake -+++ b/cmake/geos.cmake -@@ -1,8 +1,5 @@ - # - # GEOS (required) - # --find_package(GEOS QUIET 3.3) --set_package_properties(GEOS PROPERTIES TYPE REQUIRED -- PURPOSE "Provides general purpose geometry support") -- --include_directories("${GEOS_INCLUDE_DIR}") -+find_package(geos CONFIG REQUIRED) -+set(GEOS_LIBRARY GEOS::geos GEOS::geos_c GEOS::geos_cxx_flags) -\ No newline at end of file -diff --git a/cmake/modules/FindPostgreSQL.cmake b/cmake/modules/FindPostgreSQL.cmake -index 8178418..31b54d6 100644 ---- a/cmake/modules/FindPostgreSQL.cmake -+++ b/cmake/modules/FindPostgreSQL.cmake -@@ -80,4 +80,11 @@ find_package_handle_standard_args(PostgreSQL - POSTGRESQL_LIBRARIES - POSTGRESQL_VERSION) - --mark_as_advanced(POSTGRESQL_INCLUDE_DIR POSTGRESQL_LIBRARIES) -+include (CMakeFindDependencyMacro) -+find_package(OpenSSL REQUIRED) -+set(POSTGRESQL_LIBRARIES ${POSTGRESQL_LIBRARIES} OpenSSL::SSL OpenSSL::Crypto) -+if (WIN32) -+ set(POSTGRESQL_LIBRARIES ${POSTGRESQL_LIBRARIES} Secur32) -+endif() -+ -+mark_as_advanced(POSTGRESQL_INCLUDE_DIR POSTGRESQL_LIBRARIES) -\ No newline at end of file -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 42cca1e..43b0ced 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -174,7 +174,6 @@ if (WITH_TESTS) - add_subdirectory(test) - endif() - add_subdirectory(dimbuilder) --add_subdirectory(vendor/pdalboost) - add_subdirectory(vendor/arbiter) - add_subdirectory(vendor/kazhdan) - if (NOT PDAL_HAVE_JSONCPP) -diff --git a/PDALConfig.cmake.in b/PDALConfig.cmake.in -index a03ef14..9d073e6 100644 ---- a/PDALConfig.cmake.in -+++ b/PDALConfig.cmake.in -@@ -15,6 +15,11 @@ foreach(_dir @PDAL_CONFIG_LIBRARY_DIRS@) - list(APPEND PDAL_LIBRARY_DIRS ${_foo}) - endforeach(_dir) - -+include(CMakeFindDependencyMacro) -+find_dependency(GeoTIFF) -+find_dependency(CURL) -+find_dependency(Boost COMPONENTS system filesystem) -+find_dependency(geos CONFIG) - include("${CMAKE_CURRENT_LIST_DIR}/PDALTargets.cmake") - - if (WIN32) -diff --git a/pdal/util/CMakeLists.txt b/pdal/util/CMakeLists.txt -index 19a2dd1..d498080 100644 ---- a/pdal/util/CMakeLists.txt -+++ b/pdal/util/CMakeLists.txt -@@ -8,6 +8,8 @@ endif() - - include(${PDAL_CMAKE_DIR}/execinfo.cmake) - -+find_package(Boost COMPONENTS system filesystem REQUIRED) -+ - set(PDAL_UTIL_SOURCES - "${PDAL_UTIL_DIR}/Bounds.cpp" - "${PDAL_UTIL_DIR}/Charbuf.cpp" -@@ -16,14 +18,14 @@ set(PDAL_UTIL_SOURCES - "${PDAL_UTIL_DIR}/Utils.cpp" - ) - --PDAL_ADD_FREE_LIBRARY(${PDAL_UTIL_LIB_NAME} SHARED ${PDAL_UTIL_SOURCES}) -+PDAL_ADD_FREE_LIBRARY(${PDAL_UTIL_LIB_NAME} ${PDAL_UTIL_SOURCES}) - target_link_libraries(${PDAL_UTIL_LIB_NAME} - PRIVATE - ${EXECINFO_LIBRARY} -- ${PDAL_BOOST_LIB_NAME} -+ PUBLIC -+ Boost::system -+ Boost::filesystem - ) --target_include_directories(${PDAL_UTIL_LIB_NAME} PRIVATE -- ${PDAL_VENDOR_DIR}/pdalboost) - - if (UNIX AND NOT APPLE) - target_link_libraries(${PDAL_UTIL_LIB_NAME} -diff --git a/pdal/util/FileUtils.cpp b/pdal/util/FileUtils.cpp -index 7679f22..b18b674 100644 ---- a/pdal/util/FileUtils.cpp -+++ b/pdal/util/FileUtils.cpp -@@ -124,19 +124,19 @@ std::ostream *createFile(std::string const& name, bool asBinary) - bool directoryExists(const std::string& dirname) - { - //ABELL - Seems we should be calling is_directory -- return pdalboost::filesystem::exists(dirname); -+ return boost::filesystem::exists(dirname); - } - - - bool createDirectory(const std::string& dirname) - { -- return pdalboost::filesystem::create_directory(dirname); -+ return boost::filesystem::create_directory(dirname); - } - - - void deleteDirectory(const std::string& dirname) - { -- pdalboost::filesystem::remove_all(dirname); -+ boost::filesystem::remove_all(dirname); - } - - -@@ -146,15 +146,15 @@ std::vector directoryList(const std::string& dir) - - try - { -- pdalboost::filesystem::directory_iterator it(dir); -- pdalboost::filesystem::directory_iterator end; -+ boost::filesystem::directory_iterator it(dir); -+ boost::filesystem::directory_iterator end; - while (it != end) - { - files.push_back(it->path().string()); - it++; - } - } -- catch (pdalboost::filesystem::filesystem_error) -+ catch (boost::filesystem::filesystem_error) - { - files.clear(); - } -@@ -194,13 +194,13 @@ void closeFile(std::istream* in) - - bool deleteFile(const std::string& file) - { -- return pdalboost::filesystem::remove(file); -+ return boost::filesystem::remove(file); - } - - - void renameFile(const std::string& dest, const std::string& src) - { -- pdalboost::filesystem::rename(src, dest); -+ boost::filesystem::rename(src, dest); - } - - -@@ -211,9 +211,9 @@ bool fileExists(const std::string& name) - - try - { -- return pdalboost::filesystem::exists(name); -+ return boost::filesystem::exists(name); - } -- catch (pdalboost::filesystem::filesystem_error) -+ catch (boost::filesystem::filesystem_error) - { - } - return false; -@@ -222,7 +222,7 @@ bool fileExists(const std::string& name) - - uintmax_t fileSize(const std::string& file) - { -- return pdalboost::filesystem::file_size(file); -+ return boost::filesystem::file_size(file); - } - - -@@ -243,7 +243,7 @@ std::string readFileIntoString(const std::string& filename) - - std::string getcwd() - { -- const pdalboost::filesystem::path p = pdalboost::filesystem::current_path(); -+ const boost::filesystem::path p = boost::filesystem::current_path(); - return addTrailingSlash(p.string()); - } - -@@ -271,7 +271,7 @@ std::string toAbsolutePath(const std::string& filename) - // otherwise, make it absolute (relative to current working dir) and return that - std::string toAbsolutePath(const std::string& filename) - { -- return pdalboost::filesystem::absolute(filename).string(); -+ return boost::filesystem::absolute(filename).string(); - } - - -@@ -283,7 +283,7 @@ std::string toAbsolutePath(const std::string& filename) - std::string toAbsolutePath(const std::string& filename, const std::string base) - { - const std::string newbase = toAbsolutePath(base); -- return pdalboost::filesystem::absolute(filename, newbase).string(); -+ return boost::filesystem::absolute(filename, newbase).string(); - } - - std::string getFilename(const std::string& path) -@@ -304,8 +304,8 @@ std::string getFilename(const std::string& path) - // Get the directory part of a filename. - std::string getDirectory(const std::string& path) - { -- const pdalboost::filesystem::path dir = -- pdalboost::filesystem::path(path).parent_path(); -+ const boost::filesystem::path dir = -+ boost::filesystem::path(path).parent_path(); - return addTrailingSlash(dir.string()); - } - -@@ -326,13 +326,13 @@ std::string stem(const std::string& path) - // Determine if the path represents a directory. - bool isDirectory(const std::string& path) - { -- return pdalboost::filesystem::is_directory(path); -+ return boost::filesystem::is_directory(path); - } - - // Determine if the path is an absolute path - bool isAbsolutePath(const std::string& path) - { -- return pdalboost::filesystem::path(path).is_absolute(); -+ return boost::filesystem::path(path).is_absolute(); - } - - diff --git a/ports/pdal/libpq.patch b/ports/pdal/libpq.patch deleted file mode 100644 index 3aac2188cd0f90..00000000000000 --- a/ports/pdal/libpq.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff --git a/cmake/postgres.cmake b/cmake/postgres.cmake -index 0dad71069..32fdae2f8 100644 ---- a/cmake/postgres.cmake -+++ b/cmake/postgres.cmake -@@ -7,3 +7,27 @@ find_package(PostgreSQL REQUIRED) - mark_as_advanced(CLEAR POSTGRESQL_INCLUDE_DIR) - mark_as_advanced(CLEAR POSTGRESQL_LIBRARIES) - include_directories(${POSTGRESQL_INCLUDE_DIR}) -+ -+include(SelectLibraryConfigurations) -+ -+find_library(PostgreSQLCommon_LIBRARY_DEBUG -+NAMES libpgcommond pgcommond pgcommon libpgcommon -+NAMES_PER_DIR -+) -+find_library(PostgreSQLCommon_LIBRARY_RELEASE -+NAMES pgcommon libpgcommon -+NAMES_PER_DIR -+) -+select_library_configurations(PostgreSQLCommon) -+ -+find_library(PostgreSQLPort_LIBRARY_DEBUG -+NAMES pgportd libpgportd pgport libpgport -+NAMES_PER_DIR -+) -+find_library(PostgreSQLPort_LIBRARY_RELEASE -+NAMES pgport libpgport -+NAMES_PER_DIR -+) -+select_library_configurations(PostgreSQLPort) -+ -+list(APPEND POSTGRESQL_LIBRARIES ${PostgreSQLPort_LIBRARIES} ${PostgreSQLCommon_LIBRARIES}) -\ No newline at end of file diff --git a/ports/pdal/no-rpath.patch b/ports/pdal/no-rpath.patch new file mode 100644 index 00000000000000..ab2c555c9bf319 --- /dev/null +++ b/ports/pdal/no-rpath.patch @@ -0,0 +1,12 @@ +diff --git a/cmake/rpath.cmake b/cmake/rpath.cmake +index ba486b7..4323a77 100644 +--- a/cmake/rpath.cmake ++++ b/cmake/rpath.cmake +@@ -1,6 +1,7 @@ + # + # Set options and variable related to OSX rpath. + # ++return() + + # per http://www.cmake.org/Wiki/CMake_RPATH_handling + SET(CMAKE_SKIP_BUILD_RPATH FALSE) diff --git a/ports/pdal/portfile.cmake b/ports/pdal/portfile.cmake index 4fbabc1f0f7bae..16267fc97fdb02 100644 --- a/ports/pdal/portfile.cmake +++ b/ports/pdal/portfile.cmake @@ -1,75 +1,113 @@ -set(PDAL_VERSION_STR "1.7.1") +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) -vcpkg_download_distfile(ARCHIVE - URLS "http://download.osgeo.org/pdal/PDAL-${PDAL_VERSION_STR}-src.tar.gz" - FILENAME "PDAL-${PDAL_VERSION_STR}-src.tar.gz" - SHA512 e3e63bb05930c1a28c4f46c7edfaa8e9ea20484f1888d845b660a29a76f1dd1daea3db30a98607be0c2eeb86930ec8bfd0965d5d7d84b07a4fe4cb4512da9b09 -) - -vcpkg_extract_source_archive_ex( - ARCHIVE ${ARCHIVE} +vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH + REPO PDAL/PDAL + REF "${VERSION}" + #[[ + Attention: pdal-dimbuilder must be updated together with pdal + #]] + SHA512 1f9c4383fdbd4e10ef0b30b7148386692f8bd5f19b57a0323d92f2dc55a14fbc6a0d4d60c16c9604cbd3837c0ae8e3c88baebdefd534273952f92f01c5703554 + HEAD_REF master PATCHES - 0001-win32_compiler_options.cmake.patch - 0002-no-source-dir-writes.patch - 0003-fix-copy-vendor.patch - fix-dependency.patch - libpq.patch - fix-CPL_DLL.patch - 0004-fix-const-overloaded.patch + dependencies.diff + external-dimbuilder.diff + find-library-suffix.diff + no-rpath.patch ) +file(REMOVE_RECURSE + "${SOURCE_PATH}/cmake/modules/FindCURL.cmake" + "${SOURCE_PATH}/cmake/modules/FindGeoTIFF.cmake" + "${SOURCE_PATH}/cmake/modules/FindICONV.cmake" + "${SOURCE_PATH}/cmake/modules/FindZSTD.cmake" + "${SOURCE_PATH}/vendor/eigen" + "${SOURCE_PATH}/vendor/h3" + "${SOURCE_PATH}/vendor/nanoflann" + "${SOURCE_PATH}/vendor/nlohmann" + "${SOURCE_PATH}/vendor/schema-validator" + "${SOURCE_PATH}/vendor/utfcpp" +) +# PDAL uses namespace 'NL' for nlohmann +file(COPY "${CURRENT_INSTALLED_DIR}/include/nlohmann" DESTINATION "${SOURCE_PATH}/vendor/nlohmann/") +file(APPEND "${SOURCE_PATH}/vendor/nlohmann/nlohmann/json.hpp" "\nnamespace NL = nlohmann;\n") +file(APPEND "${SOURCE_PATH}/vendor/nlohmann/nlohmann/json_fwd.hpp" "\nnamespace NL = nlohmann;\n") +file(WRITE "${SOURCE_PATH}/pdal/JsonFwd.hpp" "/* vcpkg redacted */\n#include \nnamespace NL = nlohmann;\n") +file(MAKE_DIRECTORY "${SOURCE_PATH}/vendor/nlohmann/schema-validator") +file(WRITE "${SOURCE_PATH}/vendor/nlohmann/schema-validator/json-schema.hpp" "/* vcpkg redacted */\n#include \n") -file(REMOVE "${SOURCE_PATH}/pdal/gitsha.cpp") - -# Deploy custom CMake modules to enforce expected dependencies look-up -foreach(_module IN ITEMS FindGDAL FindGEOS FindGeoTIFF FindCurl) # Outdated; Supplied by CMake - file(REMOVE "${SOURCE_PATH}/cmake/modules/${_module}.cmake") -endforeach() -foreach(_module IN ITEMS FindGEOS) # Overwritten Modules. - file(REMOVE "${SOURCE_PATH}/cmake/modules/${_module}.cmake") - file(COPY ${CMAKE_CURRENT_LIST_DIR}/${_module}.cmake - DESTINATION ${SOURCE_PATH}/cmake/modules/ - ) -endforeach() +unset(ENV{OSGEO4W_HOME}) -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" VCPKG_BUILD_STATIC_LIBS) +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + draco BUILD_PLUGIN_DRACO + e57 BUILD_PLUGIN_E57 + hdf5 BUILD_PLUGIN_HDF + lzma WITH_LZMA + pgpointcloud BUILD_PLUGIN_PGPOINTCLOUD + zstd WITH_ZSTD +) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DPDAL_BUILD_STATIC:BOOL=${VCPKG_BUILD_STATIC_LIBS} + "-DCMAKE_PROJECT_INCLUDE=${CMAKE_CURRENT_LIST_DIR}/cmake-project-include.cmake" + "-DDIMBUILDER_EXECUTABLE=${CURRENT_HOST_INSTALLED_DIR}/manual-tools/pdal-dimbuilder/dimbuilder${VCPKG_HOST_EXECUTABLE_SUFFIX}" + -DPDAL_PLUGIN_INSTALL_PATH=. -DWITH_TESTS:BOOL=OFF -DWITH_COMPLETION:BOOL=OFF + -DCMAKE_DISABLE_FIND_PACKAGE_Libexecinfo:BOOL=ON + -DCMAKE_DISABLE_FIND_PACKAGE_Libunwind:BOOL=ON + ${FEATURE_OPTIONS} ) -vcpkg_install_cmake(ADD_BIN_TO_PATH) -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/pdal/cmake) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/PDAL) +vcpkg_fixup_pkgconfig() vcpkg_copy_pdbs() -# Install PDAL executable -file(GLOB _pdal_apps ${CURRENT_PACKAGES_DIR}/bin/*.exe) -file(COPY ${_pdal_apps} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/pdal) -file(REMOVE ${_pdal_apps}) -vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT}) +# Install and cleanup executables +file(GLOB pdal_unsupported + "${CURRENT_PACKAGES_DIR}/bin/*.bat" + "${CURRENT_PACKAGES_DIR}/bin/pdal-config" + "${CURRENT_PACKAGES_DIR}/debug/bin/*.bat" + "${CURRENT_PACKAGES_DIR}/debug/bin/*.exe" + "${CURRENT_PACKAGES_DIR}/debug/bin/pdal-config" +) +file(REMOVE ${pdal_unsupported}) +vcpkg_copy_tools(TOOL_NAMES pdal AUTO_CLEAN) # Post-install clean-up file(REMOVE_RECURSE - ${CURRENT_PACKAGES_DIR}/lib/pdal - ${CURRENT_PACKAGES_DIR}/debug/lib/pdal - ${CURRENT_PACKAGES_DIR}/debug/include - ${CURRENT_PACKAGES_DIR}/debug/share + "${CURRENT_PACKAGES_DIR}/include/pdal/filters/private/csf" + "${CURRENT_PACKAGES_DIR}/include/pdal/filters/private/miniball" + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" ) -if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin ${CURRENT_PACKAGES_DIR}/bin) -else() - file(GLOB _pdal_bats ${CURRENT_PACKAGES_DIR}/bin/*.bat) - file(REMOVE ${_pdal_bats}) - file(GLOB _pdal_bats ${CURRENT_PACKAGES_DIR}/debug/bin/*.bat) - file(REMOVE ${_pdal_bats}) - file(GLOB _pdal_apps ${CURRENT_PACKAGES_DIR}/debug/bin/*.exe) - file(REMOVE ${_pdal_apps}) -endif() +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") + +set(arbiter_license "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/arbiter LICENSE") +file(COPY_FILE "${SOURCE_PATH}/vendor/arbiter/LICENSE" "${arbiter_license}") + +set(kazhdan_license "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/kazhdan license (PoissonRecon.h)") +file(READ "${SOURCE_PATH}/vendor/kazhdan/PoissonRecon.h" license) +string(REGEX REPLACE "^/\\*\n|\\*/.*\$" "" license "${license}") +file(WRITE "${kazhdan_license}" "${license}") -file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +set(lazperf_license "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/lazperf license (lazperf.hpp)") +file(READ "${SOURCE_PATH}/vendor/lazperf/lazperf.hpp" license) +string(REGEX REPLACE "^/\\*\n|\\*/.*\$" "" license "${license}") +file(WRITE "${lazperf_license}" "${license}") + +set(lepcc_license "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/LEPCC license (LEPCC.h)") +file(READ "${SOURCE_PATH}/vendor/lepcc/src/LEPCC.h" license) +string(REGEX REPLACE "^/\\*\n|\\*/.*\$" "" license "${license}") +file(WRITE "${lepcc_license}" "${license}") + +vcpkg_install_copyright(FILE_LIST + "${SOURCE_PATH}/LICENSE.txt" + "${arbiter_license}" + "${kazhdan_license}" + "${lazperf_license}" + "${lepcc_license}" +) diff --git a/ports/pdal/usage b/ports/pdal/usage new file mode 100644 index 00000000000000..6c6d9678e7e079 --- /dev/null +++ b/ports/pdal/usage @@ -0,0 +1,8 @@ +pdal provides CMake targets: + + find_package(PDAL CONFIG REQUIRED) + target_link_libraries(main PRIVATE $) + +If necessary, override the default plugin search path by setting the +environment variable PDAL_DRIVER_PATH to a list of directories that +PDAL should search for plugins. diff --git a/ports/pdal/vcpkg.json b/ports/pdal/vcpkg.json index 93d9cb70e9aae5..bc7eff9173dbae 100644 --- a/ports/pdal/vcpkg.json +++ b/ports/pdal/vcpkg.json @@ -1,15 +1,112 @@ { "name": "pdal", - "version": "1.7.1", - "port-version": 13, + "version": "2.8.1", "description": "PDAL - Point Data Abstraction Library is a library for manipulating point cloud data.", + "homepage": "https://pdal.io/", + "license": null, "dependencies": [ - "boost-filesystem", - "boost-system", - "gdal", - "geos", - "jsoncpp", - "laszip", - "libgeotiff" - ] + { + "name": "curl", + "default-features": false + }, + "eigen3", + { + "name": "gdal", + "default-features": false + }, + "h3", + "json-schema-validator", + "libgeotiff", + { + "name": "libxml2", + "features": [ + "http" + ] + }, + "nanoflann", + "nlohmann-json", + { + "name": "pdal-dimbuilder", + "host": true + }, + "utfcpp", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "zlib" + ], + "default-features": [ + "supported-plugins" + ], + "features": { + "draco": { + "description": "Build the Draco plugin", + "dependencies": [ + "draco" + ] + }, + "e57": { + "description": "Build the E57 plugin", + "dependencies": [ + "xerces-c" + ] + }, + "hdf": { + "description": "Build the HDF plugin", + "dependencies": [ + { + "name": "hdf5", + "default-features": false + } + ] + }, + "liblzma": { + "description": "Support for compression/decompression with LZMA", + "dependencies": [ + "liblzma" + ] + }, + "pgpointcloud": { + "description": "Build the PgPointCloud plugin", + "dependencies": [ + { + "name": "libpq", + "default-features": false + } + ] + }, + "supported-plugins": { + "description": "Default set of plugins, dependent on platform", + "dependencies": [ + { + "name": "pdal", + "default-features": false, + "features": [ + "draco", + "e57" + ] + }, + { + "name": "pdal", + "default-features": false, + "features": [ + "hdf", + "pgpointcloud" + ], + "platform": "!uwp" + } + ] + }, + "zstd": { + "description": "Support for ZSTD compression/decompression", + "dependencies": [ + "zstd" + ] + } + } } diff --git a/ports/pdcurses/nmake-install.patch b/ports/pdcurses/nmake-install.patch new file mode 100644 index 00000000000000..892550352f4e3d --- /dev/null +++ b/ports/pdcurses/nmake-install.patch @@ -0,0 +1,21 @@ +diff --git a/wincon/Makefile.vc b/wincon/Makefile.vc +index 80c4689..1bae388 100644 +--- a/wincon/Makefile.vc ++++ b/wincon/Makefile.vc +@@ -118,3 +118,16 @@ tui.obj: $(demodir)\tui.c $(demodir)\tui.h + + tuidemo.obj: $(demodir)\tuidemo.c + $(BUILD) -I$(demodir) $(demodir)\tuidemo.c ++ ++install: all ++ -mkdir $(INSTALLDIR)\lib ++ copy pdcurses.lib $(INSTALLDIR)\lib ++!ifdef DLL ++ -mkdir $(INSTALLDIR)\bin ++ copy pdcurses.dll $(INSTALLDIR)\bin ++!endif ++!ifndef SKIP_HEADERS ++ -mkdir $(INSTALLDIR)\include ++ copy $(PDCURSES_SRCDIR)\curses.h $(INSTALLDIR)\include ++ copy $(PDCURSES_SRCDIR)\panel.h $(INSTALLDIR)\include ++!endif diff --git a/ports/pdcurses/portfile.cmake b/ports/pdcurses/portfile.cmake index 81b201c1b61b17..f1041796e6ed27 100644 --- a/ports/pdcurses/portfile.cmake +++ b/ports/pdcurses/portfile.cmake @@ -1,73 +1,43 @@ -vcpkg_check_linkage(ONLY_DYNAMIC_CRT) - -find_program(NMAKE nmake) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO wmcbrine/PDCurses - REF 6c1f95c4fa9f9f105879c2d99dd72a5bf335c046 # 3.9 - SHA512 2d682a3516baaa58a97854aca64d985768b7af76d998240b54afc57ddf2a44894835a1748888f8dd7c1cc8045ede77488284f8adf1b73878879b4b4d3391218d + REF ${VERSION} + SHA512 4fd7c1221c5f34d94069a563dda7a796653148d903bc9023afe134b0f13bdc8b5d30000dfc80ab800e46e58b395ac2fb494d1316b80914998de5bacf0d7f3558 HEAD_REF master + PATCHES + nmake-install.patch ) - -set(PDC_NMAKE_CMD ${NMAKE} /A -f ${SOURCE_PATH}/wincon/Makefile.vc WIDE=Y UTF8=Y) - -set(PDC_NMAKE_CWD ${SOURCE_PATH}/wincon) -set(PDC_PDCLIB ${SOURCE_PATH}/wincon/pdcurses) - -if (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - set(PDC_NMAKE_CMD ${PDC_NMAKE_CMD} DLL=Y) -endif() - -message(STATUS "Build ${TARGET_TRIPLET}-rel") -vcpkg_execute_required_process( - COMMAND ${PDC_NMAKE_CMD} - WORKING_DIRECTORY ${PDC_NMAKE_CWD} - LOGNAME build-${TARGET_TRIPLET}-rel -) -message(STATUS "Build ${TARGET_TRIPLET}-rel done") - -file ( - COPY ${PDC_PDCLIB}.lib - DESTINATION ${CURRENT_PACKAGES_DIR}/lib -) -if (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - file ( - COPY ${PDC_PDCLIB}.dll - DESTINATION ${CURRENT_PACKAGES_DIR}/bin + +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + cmake_path(NATIVE_PATH SOURCE_PATH PDCURSES_SRCDIR) + set(DLL_OPTION "") + if (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + set(DLL_OPTION DLL=Y) + endif() + vcpkg_build_nmake( + SOURCE_PATH "${SOURCE_PATH}/wincon" + PROJECT_NAME Makefile.vc + ENABLE_INSTALL + OPTIONS + /A + "PDCURSES_SRCDIR=${PDCURSES_SRCDIR}" + WIDE=Y + UTF8=Y + ${DLL_OPTION} + OPTIONS_RELEASE + "CFLAGS=-D_CRT_SECURE_NO_WARNINGS" + "LDFLAGS=" + OPTIONS_DEBUG + "CFLAGS=-D_CRT_SECURE_NO_WARNINGS -DPDCDEBUG" + "LDFLAGS=-debug" + DEBUG=Y + SKIP_HEADERS=Y ) + vcpkg_copy_pdbs() + if (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/curses.h" "#ifdef PDC_DLL_BUILD" "#if 1") + endif() endif() -message(STATUS "Build ${TARGET_TRIPLET}-dbg") -vcpkg_execute_required_process( - COMMAND ${PDC_NMAKE_CMD} DEBUG=Y - WORKING_DIRECTORY ${PDC_NMAKE_CWD} - LOGNAME build-${TARGET_TRIPLET}-dbg -) -message(STATUS "Build ${TARGET_TRIPLET}-dbg done") - -file ( - INSTALL ${PDC_PDCLIB}.lib - DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib -) -if (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - file ( - INSTALL ${PDC_PDCLIB}.dll - DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin - ) -endif() - -file( - INSTALL ${SOURCE_PATH}/curses.h ${SOURCE_PATH}/panel.h - DESTINATION ${CURRENT_PACKAGES_DIR}/include -) - -if (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - file(READ ${CURRENT_PACKAGES_DIR}/include/curses.h _contents) - string(REPLACE "#ifdef PDC_DLL_BUILD" "#if 1" _contents "${_contents}") - file(WRITE ${CURRENT_PACKAGES_DIR}/include/curses.h "${_contents}") -endif() - -file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/pdcurses RENAME copyright) - -vcpkg_copy_pdbs() \ No newline at end of file +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/unofficial-pdcurses-config.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/unofficial-${PORT}") +vcpkg_install_copyright(FILE_LIST "${CMAKE_CURRENT_LIST_DIR}/LICENSE") diff --git a/ports/pdcurses/unofficial-pdcurses-config.cmake b/ports/pdcurses/unofficial-pdcurses-config.cmake new file mode 100644 index 00000000000000..804e29e106351c --- /dev/null +++ b/ports/pdcurses/unofficial-pdcurses-config.cmake @@ -0,0 +1,24 @@ +if(NOT TARGET unofficial::pdcurses::pdcurses) + add_library(unofficial::pdcurses::pdcurses UNKNOWN IMPORTED) + get_filename_component(z_vcpkg_pdcurses_root "${CMAKE_CURRENT_LIST_FILE}" PATH) + get_filename_component(z_vcpkg_pdcurses_root "${z_vcpkg_pdcurses_root}" PATH) + get_filename_component(z_vcpkg_pdcurses_root "${z_vcpkg_pdcurses_root}" PATH) + + set_target_properties(unofficial::pdcurses::pdcurses PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${z_vcpkg_pdcurses_root}/include" + ) + + find_library(Z_VCPKG_PDCURSES_LIBRARY_RELEASE NAMES pdcurses PATHS "${z_vcpkg_pdcurses_root}/lib" NO_DEFAULT_PATH) + if(EXISTS "${Z_VCPKG_PDCURSES_LIBRARY_RELEASE}") + set_property(TARGET unofficial::pdcurses::pdcurses APPEND PROPERTY IMPORTED_CONFIGURATIONS "Release") + set_target_properties(unofficial::pdcurses::pdcurses PROPERTIES IMPORTED_LOCATION_RELEASE "${Z_VCPKG_PDCURSES_LIBRARY_RELEASE}") + endif() + + find_library(Z_VCPKG_PDCURSES_LIBRARY_DEBUG NAMES pdcurses PATHS "${z_vcpkg_pdcurses_root}/debug/lib" NO_DEFAULT_PATH) + if(EXISTS "${Z_VCPKG_PDCURSES_LIBRARY_DEBUG}") + set_property(TARGET unofficial::pdcurses::pdcurses APPEND PROPERTY IMPORTED_CONFIGURATIONS "Debug") + set_target_properties(unofficial::pdcurses::pdcurses PROPERTIES IMPORTED_LOCATION_DEBUG "${Z_VCPKG_PDCURSES_LIBRARY_DEBUG}") + endif() + + unset(z_vcpkg_pdcurses_root) +endif() diff --git a/ports/pdcurses/vcpkg.json b/ports/pdcurses/vcpkg.json index 59398f2fe49937..c9a136e3cfe797 100644 --- a/ports/pdcurses/vcpkg.json +++ b/ports/pdcurses/vcpkg.json @@ -1,7 +1,9 @@ { "name": "pdcurses", - "version-string": "3.9", - "port-version": 2, + "version": "3.9", + "port-version": 6, "description": "Public Domain Curses - a curses library for environments that don't fit the termcap/terminfo model.", - "homepage": "https://pdcurses.org/" + "homepage": "https://pdcurses.org/", + "license": null, + "supports": "windows & !uwp & !mingw" } diff --git a/ports/pdqsort/vcpkg.json b/ports/pdqsort/vcpkg.json index 60a5647ea36fbb..d286162170c0b8 100644 --- a/ports/pdqsort/vcpkg.json +++ b/ports/pdqsort/vcpkg.json @@ -1,7 +1,7 @@ { "name": "pdqsort", - "version-string": "2019-07-30", - "port-version": 1, + "version-date": "2019-07-30", + "port-version": 2, "description": "Pattern-defeating quicksort (pdqsort) is a novel sorting algorithm", "homepage": "https://github.com/orlp/pdqsort" } diff --git a/ports/pe-parse/no-werror.patch b/ports/pe-parse/no-werror.patch new file mode 100644 index 00000000000000..6fb2c555cd7791 --- /dev/null +++ b/ports/pe-parse/no-werror.patch @@ -0,0 +1,26 @@ +diff --git a/cmake/compilation_flags.cmake b/cmake/compilation_flags.cmake +index 395f1b5..bb10165 100644 +--- a/cmake/compilation_flags.cmake ++++ b/cmake/compilation_flags.cmake +@@ -26,7 +26,7 @@ else () + -pedantic -Wall -Wextra -Wcast-align -Wcast-qual -Wctor-dtor-privacy -Wdisabled-optimization + -Wformat=2 -Winit-self -Wlong-long -Wmissing-declarations -Wmissing-include-dirs -Wcomment + -Wold-style-cast -Woverloaded-virtual -Wredundant-decls -Wshadow -Wsign-conversion +- -Wsign-promo -Wstrict-overflow=5 -Wswitch-default -Wundef -Werror -Wunused -Wuninitialized ++ -Wsign-promo -Wstrict-overflow=5 -Wswitch-default -Wundef -Wunused -Wuninitialized + -Wno-missing-declarations -Wno-strict-overflow + ) + +diff --git a/examples/peaddrconv/CMakeLists.txt b/examples/peaddrconv/CMakeLists.txt +index fbad06a..02c8bcf 100644 +--- a/examples/peaddrconv/CMakeLists.txt ++++ b/examples/peaddrconv/CMakeLists.txt +@@ -26,7 +26,7 @@ else () + -pedantic -Wall -Wextra -Wcast-align -Wcast-qual -Wctor-dtor-privacy -Wdisabled-optimization + -Wformat=2 -Winit-self -Wlong-long -Wmissing-declarations -Wmissing-include-dirs -Wcomment + -Wold-style-cast -Woverloaded-virtual -Wredundant-decls -Wshadow -Wsign-conversion +- -Wsign-promo -Wstrict-overflow=5 -Wswitch-default -Wundef -Werror -Wunused -Wuninitialized ++ -Wsign-promo -Wstrict-overflow=5 -Wswitch-default -Wundef -Wunused -Wuninitialized + -Wno-missing-declarations + ) + diff --git a/ports/pe-parse/portfile.cmake b/ports/pe-parse/portfile.cmake index c38c8726b93339..8abd4e87a14748 100644 --- a/ports/pe-parse/portfile.cmake +++ b/ports/pe-parse/portfile.cmake @@ -1,11 +1,12 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO trailofbits/pe-parse - REF v1.3.0 - SHA512 b723e90821e0ac67b4d6b15e5a46cf13544f21380a4d2add013eedcaa309e1be2cff6789247397c6fb4a938e4a240a835cbe21c8221bd558a4fccf8e93ce1548 + REF "v${VERSION}" + SHA512 fae9060c48e2cebdfbb742c52bc39c36335c1ad4fc7e6bc75a7da012f59d16497630d40ca814c8da71acc44dcce82983ebe13da3a0d389cc53032261fcd1f6bb HEAD_REF master PATCHES arm64-windows-fix.patch + no-werror.patch ) vcpkg_cmake_configure( diff --git a/ports/pe-parse/vcpkg.json b/ports/pe-parse/vcpkg.json index 8c16ca2fa8ee22..45761d0376e848 100644 --- a/ports/pe-parse/vcpkg.json +++ b/ports/pe-parse/vcpkg.json @@ -1,6 +1,6 @@ { "name": "pe-parse", - "version": "1.3.0", + "version": "2.1.1", "description": "pe-parse is a principled, lightweight C/C++ PE parser", "homepage": "https://github.com/trailofbits/pe-parse", "supports": "!uwp", diff --git a/ports/pegtl-2/portfile.cmake b/ports/pegtl-2/portfile.cmake index 554f50c5c2b7f7..fb64e3b5101a88 100644 --- a/ports/pegtl-2/portfile.cmake +++ b/ports/pegtl-2/portfile.cmake @@ -1,14 +1,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO taocpp/pegtl - REF 47e878ad4fd72c91253c9d47b6f17e001ca2dfcf # 2.8.3 + REF 47e878ad4fd72c91253c9d47b6f17e001ca2dfcf # 2.8.3 SHA512 c7761e36dd28914d89a2d5e2a5ce5ea84bab50b7f7ad235b18dbeca41a675503b00b0fe152247515f81ec380f3c68cf827e667cb3b9a7e34c6d2f5dd60fb4106 HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DPEGTL_BUILD_TESTS=OFF -DPEGTL_BUILD_EXAMPLES=OFF @@ -17,15 +16,15 @@ vcpkg_configure_cmake( -DPEGTL_INSTALL_CMAKE_DIR=share/pegtl-2/cmake ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/pegtl-2/cmake) +vcpkg_cmake_config_fixup(CONFIG_PATH share/pegtl-2/cmake) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") # Handle copyright -file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) +file(RENAME "${CURRENT_PACKAGES_DIR}/share/${PORT}/LICENSE" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright") # Handle collision with latest pegtl -file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/pegtl-config.cmake ${CURRENT_PACKAGES_DIR}/share/${PORT}/${PORT}-config.cmake) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/pegtl-config-version.cmake ${CURRENT_PACKAGES_DIR}/share/${PORT}/${PORT}-config-version.cmake) +file(RENAME "${CURRENT_PACKAGES_DIR}/share/${PORT}/pegtl-config.cmake" "${CURRENT_PACKAGES_DIR}/share/${PORT}/${PORT}-config.cmake") +file(RENAME "${CURRENT_PACKAGES_DIR}/share/${PORT}/pegtl-config-version.cmake" "${CURRENT_PACKAGES_DIR}/share/${PORT}/${PORT}-config-version.cmake") diff --git a/ports/pegtl-2/vcpkg.json b/ports/pegtl-2/vcpkg.json index 55ee5e69f1e1bc..c81ec51114d0cc 100644 --- a/ports/pegtl-2/vcpkg.json +++ b/ports/pegtl-2/vcpkg.json @@ -1,7 +1,17 @@ { "name": "pegtl-2", - "version-string": "2.8.3", - "port-version": 1, + "version": "2.8.3", + "port-version": 3, "description": "The Parsing Expression Grammar Template Library (PEGTL) is a zero-dependency C++ header-only parser combinator library for creating parsers according to a Parsing Expression Grammar (PEG). This version maintains compatibility with C++11.", - "homepage": "https://github.com/taocpp/PEGTL" + "homepage": "https://github.com/taocpp/PEGTL", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/pegtl/portfile.cmake b/ports/pegtl/portfile.cmake index c6c99ee784005f..82d6c3f9a99d60 100644 --- a/ports/pegtl/portfile.cmake +++ b/ports/pegtl/portfile.cmake @@ -1,9 +1,9 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO taocpp/pegtl - REF 3.2.2 - SHA512 7ad055e38b362d6b90a49d5deb400948febfbcc30898e05548424bc758f38ffb3f69ca0db41e4480697f8916c90bdb3e48927a4db0caa7a20c8012b1a6d1fe08 - HEAD_REF master + REF "${VERSION}" + SHA512 aecf9396edbdd65549603484d1841cd676b197d164ee2979ee5acaf657da4fa9ebc1a59fc8550cfa440ce27794cdc59cdf86a6521e4bda084c0600cb2c92f5cf + HEAD_REF 3.x ) vcpkg_cmake_configure( @@ -22,4 +22,4 @@ vcpkg_cmake_config_fixup(CONFIG_PATH share/pegtl/cmake) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") # Handle copyright -file(RENAME "${CURRENT_PACKAGES_DIR}/share/pegtl/LICENSE" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright") +file(RENAME "${CURRENT_PACKAGES_DIR}/share/${PORT}/LICENSE" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright") diff --git a/ports/pegtl/vcpkg.json b/ports/pegtl/vcpkg.json index 95a4f011a5e893..a22cbe0bdf970f 100644 --- a/ports/pegtl/vcpkg.json +++ b/ports/pegtl/vcpkg.json @@ -1,8 +1,9 @@ { "name": "pegtl", - "version-semver": "3.2.2", + "version-semver": "3.2.8", "description": "The Parsing Expression Grammar Template Library (PEGTL) is a zero-dependency C++ header-only parser combinator library for creating parsers according to a Parsing Expression Grammar (PEG).", "homepage": "https://github.com/taocpp/PEGTL", + "license": "MIT", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/perfetto/CMakeLists.txt b/ports/perfetto/CMakeLists.txt new file mode 100644 index 00000000000000..9b566965ac61db --- /dev/null +++ b/ports/perfetto/CMakeLists.txt @@ -0,0 +1,40 @@ +# Unofficial perfetto CMakeLists.txt from https://github.com/google/perfetto/blob/v43.1/meson.build +cmake_minimum_required(VERSION 3.23) +project(perfetto LANGUAGES CXX) + +add_library(perfetto) +target_compile_features(perfetto PRIVATE cxx_std_17) +target_sources(perfetto + PRIVATE "sdk/perfetto.cc" + PUBLIC FILE_SET HEADERS BASE_DIRS "sdk" FILES "sdk/perfetto.h" +) + +set(THREADS_PREFER_PTHREAD_FLAG TRUE) +find_package(Threads REQUIRED) +target_link_libraries(perfetto PRIVATE Threads::Threads) + +if(ANDROID) + target_link_libraries(perfetto PRIVATE log) +endif(ANDROID) + +if(WIN32) + target_compile_options(perfetto PRIVATE "/bigobj") + target_compile_definitions(perfetto PRIVATE WIN32_LEAN_AND_MEAN NOMINMAX) + target_link_libraries(perfetto PRIVATE ws2_32) +endif(WIN32) + +if(MSVC) + target_compile_options(perfetto PRIVATE "/permissive-") +endif(MSVC) + +install(TARGETS perfetto + EXPORT unofficial-perfetto-config + FILE_SET HEADERS DESTINATION "include" +) + +install(EXPORT unofficial-perfetto-config + NAMESPACE unofficial::perfetto:: + DESTINATION "share/unofficial-perfetto" +) + +install(FILES "protos/perfetto/trace/perfetto_trace.proto" DESTINATION "share/unofficial-perfetto") diff --git a/ports/perfetto/portfile.cmake b/ports/perfetto/portfile.cmake new file mode 100644 index 00000000000000..26a7b38bc032a8 --- /dev/null +++ b/ports/perfetto/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 google/perfetto + REF "v${VERSION}" + SHA512 ea7520eaea61f2a73aab3567120a136b5d9570916d7e47f6091cecd10c37428aab564eedd54b3b417ab67ea1b24d479fa5674de9d5b2f2301436eae9c67b5b69 + 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_cmake_config_fixup(PACKAGE_NAME unofficial-${PORT}) + +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/perfetto/vcpkg.json b/ports/perfetto/vcpkg.json new file mode 100644 index 00000000000000..32b3498767ae91 --- /dev/null +++ b/ports/perfetto/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "perfetto", + "version": "48.1", + "description": "System profiling, app tracing and trace analysis", + "homepage": "https://perfetto.dev", + "license": "Apache-2.0", + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/pffft/fix-invalid-command.patch b/ports/pffft/fix-invalid-command.patch new file mode 100644 index 00000000000000..ddb69883e0ee81 --- /dev/null +++ b/ports/pffft/fix-invalid-command.patch @@ -0,0 +1,17 @@ +diff --git a/pffft.c b/pffft.c +index d12f572..7cc0546 100644 +--- a/pffft.c ++++ b/pffft.c +@@ -173,7 +173,11 @@ typedef float32x4_t v4sf; + # define VALIGNED(ptr) ((((long long)(ptr)) & 0x3) == 0) + #else + # if !defined(PFFFT_SIMD_DISABLE) +-# warning "building with simd disabled !\n"; ++# ifdef COMPILER_MSVC ++# pragma message ("building with simd disabled !\n"); ++# else ++# warning "building with simd disabled !\n"; ++# endif + # define PFFFT_SIMD_DISABLE // fallback to scalar code + # endif + #endif diff --git a/ports/pffft/portfile.cmake b/ports/pffft/portfile.cmake index 32d4f833f2c296..434f47ce9a2f4e 100644 --- a/ports/pffft/portfile.cmake +++ b/ports/pffft/portfile.cmake @@ -6,6 +6,8 @@ vcpkg_from_bitbucket( REF ed78751d751e51bbd94c41d24f748b400f272d69 SHA512 44f65c7f7e5b71f549dca2e03d58b1fd64e698858f79e4c2833a9ae3dff8a835cf9d5e14be2341c6370f800012cb69b05b9226d6918b12e67f7f7e81ed8e9ad4 HEAD_REF master + PATCHES + fix-invalid-command.patch ) file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") diff --git a/ports/pffft/vcpkg.json b/ports/pffft/vcpkg.json index 5ea7a3bd204846..f06a359e1e6eb6 100644 --- a/ports/pffft/vcpkg.json +++ b/ports/pffft/vcpkg.json @@ -1,9 +1,10 @@ { "name": "pffft", "version-date": "2021-10-09", + "port-version": 1, "description": "PFFFT, a pretty fast Fourier Transform.", "homepage": "https://bitbucket.org/jpommier/pffft/", - "supports": "static", + "license": null, "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/pfring/makefile.patch b/ports/pfring/makefile.patch deleted file mode 100644 index cc17fb1f7f2db8..00000000000000 --- a/ports/pfring/makefile.patch +++ /dev/null @@ -1,59 +0,0 @@ -diff --git a/Makefile b/Makefile -index 4b377c628..39cbf5cb4 100644 ---- a/Makefile -+++ b/Makefile -@@ -1,10 +1,12 @@ - all: -- cd kernel; make -- cd userland; ./configure; make -- cd drivers; make -+ $(MAKE) -C kernel; -+ #cd kernel; make -+ cd userland; ./configure; -+ $(MAKE) -C userland; -+ $(MAKE) -C drivers; - - install: -- cd userland; make install -+ $(MAKE) install -C userland; - - clean: - -cd kernel; make clean -diff --git a/userland/Makefile b/userland/Makefile -index 959470c0f..e35ca8de7 100644 ---- a/userland/Makefile -+++ b/userland/Makefile -@@ -9,22 +9,22 @@ lib/Makefile: - config: lib/Makefile - - libpfring: config -- cd lib; make -+ $(MAKE) -C lib - - build_nbpf: config -- cd nbpf; make -+ $(MAKE) -C nbpf - - build_c++: libpfring -- cd c++; make -+ $(MAKE) -C c++ - - tcpdump/Makefile: - cd tcpdump; ./configure --with_system_libpcap=yes - - build_tcpdump: libpfring tcpdump/Makefile -- cd tcpdump; make -+ $(MAKE) -C tcpdump - - build_extcap: libpfring -- cd wireshark/extcap; make -+ $(MAKE) -C wireshark/extcap - - ################### - -@@ -46,4 +46,4 @@ extcap_clean: - cd wireshark/extcap; make clean - - install: libpfring -- cd lib; make install -+ $(MAKE) -C lib install diff --git a/ports/pfring/portfile.cmake b/ports/pfring/portfile.cmake index 967bdc5eebb5f8..12b7338f293149 100644 --- a/ports/pfring/portfile.cmake +++ b/ports/pfring/portfile.cmake @@ -1,65 +1,40 @@ -vcpkg_fail_port_install(MESSAGE "${PORT} currently only supports Linux and Mac platforms" ON_TARGET "Windows") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ntop/PF_RING - REF 582fa09bc58411cfe6f27facd7e6438924f779d2 - SHA512 78dd2d2f9df259483196905f80a904534632a835f742d1f8b3ad645ea80f2dad78356960a2b35e2678525786a7344fa248b708bd3f86101c43fb36c7abc05598 + REF "${VERSION}" + SHA512 de86fb2ead8af63a3b73026225ac2dba9ae97c90d0925e30c63ed75f1d1f7f057b6ab586b06dd24fdbbfdce694048b72bbdd35fc4de0c22508701a6c3ee7c7a2 HEAD_REF dev - PATCHES - use-vcpkg-libpcap.patch - makefile.patch ) - -file(REMOVE_RECURSE "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg" "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") -if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(COPY "${SOURCE_PATH}/" DESTINATION "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") -endif() -if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - file(COPY "${SOURCE_PATH}/" DESTINATION "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") -endif() -set(ENV{VCPKG_LIBPCAP_DIR} "${CURRENT_INSTALLED_DIR}") -vcpkg_build_make() -vcpkg_fixup_pkgconfig() -vcpkg_copy_pdbs() +file(REMOVE_RECURSE "${CURRENT_BUILDTREES_DIR}/kernel") +file(COPY "${SOURCE_PATH}/kernel/linux/pf_ring.h" DESTINATION "${CURRENT_BUILDTREES_DIR}/kernel/linux") -# Install manually because pfring cannot set prefix -if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL debug) - set(PFRING_OBJ_DIR ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg) - - if (VCPKG_BUILD_TYPE STREQUAL debug) - file(GLOB_RECURSE PFRING_KO_FILES "${PFRING_OBJ_DIR}/*.ko") - file(INSTALL ${PFRING_KO_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/share/${PORT}) - - file(INSTALL ${SOURCE_PATH}/userland/lib/pfring.h DESTINATION ${CURRENT_PACKAGES_DIR}/debug/include) - endif() - - file(GLOB_RECURSE PFRING_LIBS "${PFRING_OBJ_DIR}/*${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}") - file(INSTALL ${PFRING_LIBS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) - - if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - file(GLOB_RECURSE PFRING_DLLS "${PFRING_OBJ_DIR}/*${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}") - file(INSTALL ${PFRING_DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) - endif() -endif() +vcpkg_find_acquire_program(BISON) +vcpkg_find_acquire_program(FLEX) -if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL release) - set(PFRING_OBJ_DIR ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel) - - file(GLOB_RECURSE PFRING_KO_FILES "${PFRING_OBJ_DIR}/*.ko") - file(INSTALL ${PFRING_KO_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) - - file(GLOB_RECURSE PFRING_LIBS "${PFRING_OBJ_DIR}/*${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}") - file(INSTALL ${PFRING_LIBS} DESTINATION ${CURRENT_PACKAGES_DIR}/lib) - - if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - file(GLOB_RECURSE PFRING_DLLS "${PFRING_OBJ_DIR}/*${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}") - file(INSTALL ${PFRING_DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/bin) - endif() - - file(INSTALL ${SOURCE_PATH}/userland/lib/pfring.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) -endif() +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + PROJECT_SUBPATH "userland" + COPY_SOURCE + OPTIONS + --disable-archopt +) +string(REPLACE "dynamic" "shared" install_target "install-${VCPKG_LIBRARY_LINKAGE}") +vcpkg_install_make( + SUBPATH "lib" + INSTALL_TARGET "${install_target}" + OPTIONS + "LEX=${FLEX}" + "YACC=${BISON}" +) -#Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +vcpkg_install_copyright( + COMMENT [[ +The user-space PF_RING library source code is distributed under the LGPLv2.1. +The library is built using binary objects from the userland/lib/libs directory +which adds an NTOP END USER LICENSE AGREEMENT. +]] + FILE_LIST + "${SOURCE_PATH}/LICENSE" + "${SOURCE_PATH}/userland/lib/libs/EULA.txt" +) diff --git a/ports/pfring/use-vcpkg-libpcap.patch b/ports/pfring/use-vcpkg-libpcap.patch deleted file mode 100644 index e005442bf7c350..00000000000000 --- a/ports/pfring/use-vcpkg-libpcap.patch +++ /dev/null @@ -1,146 +0,0 @@ -diff --git a/userland/Makefile b/userland/Makefile -index d5392c09..959470c0 100644 ---- a/userland/Makefile -+++ b/userland/Makefile -@@ -1,4 +1,4 @@ --all: libpfring pcap build_examples build_examples_zc build_examples_ft build_extcap -+all: libpfring build_extcap - # build_tcpdump build_c++ - - ################### -@@ -14,52 +14,25 @@ libpfring: config - build_nbpf: config - cd nbpf; make - --libpcap/Makefile: -- cd libpcap; ./configure --enable-ipv6 --enable-dbus=no --without-libnl --with-snf=no --disable-bluetooth --disable-canusb --with-dag=no -- --pcap: libpfring libpcap/Makefile -- cd libpcap; make -- --build_examples: config -- cd examples; make -- --build_examples_zc: config -- cd examples_zc; make -- --build_examples_ft: config -- cd examples_ft; make -- - build_c++: libpfring - cd c++; make - - tcpdump/Makefile: -- cd tcpdump; ./configure -+ cd tcpdump; ./configure --with_system_libpcap=yes - --build_tcpdump: libpfring pcap tcpdump/Makefile -+build_tcpdump: libpfring tcpdump/Makefile - cd tcpdump; make - --build_extcap: libpfring pcap -+build_extcap: libpfring - cd wireshark/extcap; make - - ################### - --clean: libpfring_clean pcap_clean examples_clean examples_ft_clean examples_zc_clean c++_clean tcpdump_clean nbpf_clean extcap_clean -+clean: libpfring_clean c++_clean tcpdump_clean nbpf_clean extcap_clean - - libpfring_clean: - cd lib; make clean - --pcap_clean: -- if test -f libpcap/config.status; then cd libpcap; make clean; fi -- --examples_clean: -- cd examples; make clean -- --examples_zc_clean: -- cd examples_zc; make clean -- --examples_ft_clean: -- cd examples_ft; make clean -- - c++_clean: - cd c++; make clean - -@@ -72,8 +45,5 @@ nbpf_clean: - extcap_clean: - cd wireshark/extcap; make clean - --install: libpfring pcap examples examples_zc examples_ft -+install: libpfring - cd lib; make install -- cd libpcap; make install -- cd examples; make install -- cd examples_zc; make install -diff --git a/userland/c++/Makefile.in b/userland/c++/Makefile.in -index 02bf5164..b0442d84 100644 ---- a/userland/c++/Makefile.in -+++ b/userland/c++/Makefile.in -@@ -1,8 +1,7 @@ - CPP=g++ -g - - KERNEL_DIR=../../kernel --LIBPCAP_DIR=../libpcap --INCLUDE=-I$(KERNEL_DIR) -I$(LIBPCAP_DIR) -I../lib `../lib/pfring_config --include` -+INCLUDE=-I$(KERNEL_DIR) -I$(VCPKG_LIBPCAP_DIR)/include -I../lib `../lib/pfring_config --include` - LIBPFRING_CPP=libpfring_cpp.a - RANLIB=ranlib - OBJ=PFring.o -@@ -11,7 +10,7 @@ LIBS=../lib/libpfring.a `../lib/pfring_config --libs` -lpthread - all: $(LIBPFRING_CPP) pf_test - - pf_test: pf_test.cpp $(LIBPFRING_CPP) -- $(CPP) $(INCLUDE) $< $(LIBPFRING_CPP) -o $@ $(LIBS) $(LIBPCAP_DIR)/libpcap.a @SYSLIBS@ -+ $(CPP) $(INCLUDE) $< $(LIBPFRING_CPP) -o $@ $(LIBS) $(VCPKG_LIBPCAP_DIR)/lib/libpcap.a @SYSLIBS@ - - $(LIBPFRING_CPP): $(OBJ) - @rm -f $@ -diff --git a/userland/snort/pfring-daq-module-zc/Makefile.am b/userland/snort/pfring-daq-module-zc/Makefile.am -index 7123de18..45998688 100644 ---- a/userland/snort/pfring-daq-module-zc/Makefile.am -+++ b/userland/snort/pfring-daq-module-zc/Makefile.am -@@ -4,5 +4,5 @@ ACLOCAL_AMFLAGS = -I m4 - - pkglib_LTLIBRARIES = daq_pfring_zc.la - daq_pfring_zc_la_SOURCES = daq_pfring_zc.c --daq_pfring_zc_la_CFLAGS = -DBUILDING_SO -I../../libpcap --daq_pfring_zc_la_LDFLAGS = -module -export-dynamic -avoid-version -shared -lrt ../../libpcap/libpcap.a -+daq_pfring_zc_la_CFLAGS = -DBUILDING_SO -I${VCPKG_LIBPCAP_DIR}/include -+daq_pfring_zc_la_LDFLAGS = -module -export-dynamic -avoid-version -shared -lrt ${VCPKG_LIBPCAP_DIR}/lib/libpcap.a -diff --git a/userland/tcpdump-4.9.2/Makefile.in b/userland/tcpdump-4.9.2/Makefile.in -index e2c74d13..47d9e2cc 100644 ---- a/userland/tcpdump-4.9.2/Makefile.in -+++ b/userland/tcpdump-4.9.2/Makefile.in -@@ -373,7 +373,7 @@ TEST_DIST= `find tests \( -name 'DIFF' -prune \) -o \( -name NEW -prune \) -o -t - - all: $(PROG) $(LIBNETDISSECT) - --$(PROG): $(OBJ) @V_PCAPDEP@ -+$(PROG): $(OBJ) $(VCPKG_LIBPCAP_DIR)/lib/libpcap.a - @rm -f $@ - $(CC) $(FULL_CFLAGS) $(LDFLAGS) -o $@ $(OBJ) $(LIBS) - -diff --git a/userland/wireshark/extcap/Makefile.in b/userland/wireshark/extcap/Makefile.in -index 970b9680..3e34ccc8 100644 ---- a/userland/wireshark/extcap/Makefile.in -+++ b/userland/wireshark/extcap/Makefile.in -@@ -20,14 +20,13 @@ LIBPFRING = ${PFRINGDIR}/libpfring.a - # - O_FLAG = -O2 -DHAVE_PF_RING - EXTRA_LIBS = --PCAPDIR = ../../libpcap --LIBPCAP = ${PCAPDIR}/libpcap.a ${EXTRA_LIBS} -+LIBPCAP = ${VCPKG_LIBPCAP_DIR}/lib/libpcap.a ${EXTRA_LIBS} - - # - # Search directories - # - PFRING_KERNEL=../../../kernel --INCLUDE = -I${PFRING_KERNEL} -I${PFRINGDIR} -I${PCAPDIR} -Ithird-party `../../lib/pfring_config --include` -+INCLUDE = -I${PFRING_KERNEL} -I${PFRINGDIR} -I${VCPKG_LIBPCAP_DIR}/include -Ithird-party `../../lib/pfring_config --include` - - # - # C compiler and flags diff --git a/ports/pfring/vcpkg.json b/ports/pfring/vcpkg.json index 9e78c638bb5dd9..14b48ba057b8fe 100644 --- a/ports/pfring/vcpkg.json +++ b/ports/pfring/vcpkg.json @@ -1,10 +1,8 @@ { "name": "pfring", - "version-string": "2019-10-17", - "port-version": 3, - "description": "PF_RING™ is a Linux kernel module and user-space framework that allows you to process packets at high-rates while providing you a consistent API for packet processing applications.", + "version": "8.4.0", + "description": "Library to interface with the PF_RING™ kernel module for processing packets at high-rates while providing a consistent API.", "homepage": "https://github.com/ntop/PF_RING", - "dependencies": [ - "libpcap" - ] + "license": null, + "supports": "linux" } diff --git a/ports/pfultz2-linq/portfile.cmake b/ports/pfultz2-linq/portfile.cmake index d3eeff7c439f55..4339a955c70734 100644 --- a/ports/pfultz2-linq/portfile.cmake +++ b/ports/pfultz2-linq/portfile.cmake @@ -8,18 +8,17 @@ vcpkg_from_github( HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_TESTING=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/linq TARGET_PATH share/linq) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/linq PACKAGE_NAME linq) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug" "${CURRENT_PACKAGES_DIR}/lib") # Handle copyright -configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) +configure_file("${SOURCE_PATH}/LICENSE" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) diff --git a/ports/pfultz2-linq/vcpkg.json b/ports/pfultz2-linq/vcpkg.json index 768c6118bca652..2c7c45b9f4df7d 100644 --- a/ports/pfultz2-linq/vcpkg.json +++ b/ports/pfultz2-linq/vcpkg.json @@ -1,7 +1,7 @@ { "name": "pfultz2-linq", - "version-string": "2019-05-14", - "port-version": 1, + "version-date": "2019-05-14", + "port-version": 3, "description": "Linq for list comprehension in C++", "dependencies": [ "boost-fusion", @@ -13,6 +13,14 @@ "boost-static-assert", "boost-type-traits", "boost-unordered", - "boost-utility" + "boost-utility", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/phnt/portfile.cmake b/ports/phnt/portfile.cmake index 78f6a86c292c54..ee952b17e007c5 100644 --- a/ports/phnt/portfile.cmake +++ b/ports/phnt/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO processhacker/phnt - REF 3f19efe9fd402378c7cd12fe1c0aacd154c8cd3c - SHA512 88f1f5ab1f2c8b3100e47f43cee7bdcb412ef9f688e3840ddc8a78d8b75b4baf714aadc27829e0ea95d97a22031019d25f9916d09bb63cea37304e9c9c08285a + REPO winsiderss/phnt + REF 4889215a26ece2105548103adba45238fc213fa4 + SHA512 6f6a8d85f321da636a6849e270dc8f23a5706154fa8c63b351ece2198cce55e5ce79d5b05289ede61ee772205f523520c7090961dbba161addd9e78578cb7816 HEAD_REF master ) diff --git a/ports/phnt/vcpkg.json b/ports/phnt/vcpkg.json index cc10293aa754d7..1fc4cefb9de064 100644 --- a/ports/phnt/vcpkg.json +++ b/ports/phnt/vcpkg.json @@ -1,6 +1,6 @@ { "name": "phnt", - "version-date": "2020-12-21", + "version-date": "2024-05-22", "description": "Windows Native API header files", - "homepage": "https://github.com/processhacker/phnt" + "homepage": "https://github.com/winsiderss/phnt" } diff --git a/ports/physac/LICENSE b/ports/physac/LICENSE new file mode 100644 index 00000000000000..9cf7227b762984 --- /dev/null +++ b/ports/physac/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 Víctor Fisac + +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. \ No newline at end of file diff --git a/ports/physac/portfile.cmake b/ports/physac/portfile.cmake new file mode 100644 index 00000000000000..3d9fc5e6f82967 --- /dev/null +++ b/ports/physac/portfile.cmake @@ -0,0 +1,14 @@ +#header-only library +set(VCPKG_BUILD_TYPE release) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO victorfisac/Physac + REF "${VERSION}" + SHA512 c539ee73d6f456e592d4a92cc5707278476632626b0fa0edfe6396cd4460fe0c2669843f4df3a22a132664d1981d261601061cca76ad1e4b63510a901fc3987b + HEAD_REF master +) + +file(INSTALL "${SOURCE_PATH}/src/physac.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include") + +vcpkg_install_copyright(FILE_LIST "${CMAKE_CURRENT_LIST_DIR}/LICENSE") diff --git a/ports/physac/vcpkg.json b/ports/physac/vcpkg.json new file mode 100644 index 00000000000000..2b478cd8118b1a --- /dev/null +++ b/ports/physac/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "physac", + "version": "1.1", + "description": "2D physics header-only library for videogames developed in C using raylib library.", + "homepage": "https://github.com/victorfisac/Physac", + "license": "MIT" +} diff --git a/ports/physfs/001-fix-lzmasdk-arm64-windows.patch b/ports/physfs/001-fix-lzmasdk-arm64-windows.patch deleted file mode 100644 index 0fad2b58007f69..00000000000000 --- a/ports/physfs/001-fix-lzmasdk-arm64-windows.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff --git a/src/physfs_lzmasdk.h b/src/physfs_lzmasdk.h ---- a/src/physfs_lzmasdk.h -+++ b/src/physfs_lzmasdk.h -@@ -506,6 +506,7 @@ MY_CPU_LE_UNALIGN means that CPU is LITTLE ENDIAN and CPU supports unaligned mem - #endif - - #if defined(MY_CPU_AMD64) \ -+ || defined(_M_ARM64) \ - || defined(_M_IA64) \ - || defined(__AARCH64EL__) \ - || defined(__AARCH64EB__) -@@ -531,6 +532,8 @@ MY_CPU_LE_UNALIGN means that CPU is LITTLE ENDIAN and CPU supports unaligned mem - - #if defined(_WIN32) && defined(_M_ARM) - #define MY_CPU_ARM_LE -+#elif defined(_WIN64) && defined(_M_ARM64) -+#define MY_CPU_ARM_LE - #endif - - #if defined(_WIN32) && defined(_M_IA64) diff --git a/ports/physfs/002-fix-posix-eintr.patch b/ports/physfs/002-fix-posix-eintr.patch deleted file mode 100644 index 08d314af1c142e..00000000000000 --- a/ports/physfs/002-fix-posix-eintr.patch +++ /dev/null @@ -1,73 +0,0 @@ -diff --git a/src/physfs_platform_posix.c b/src/physfs_platform_posix.c ---- a/src/physfs_platform_posix.c -+++ b/src/physfs_platform_posix.c -@@ -6,8 +6,6 @@ - * This file written by Ryan C. Gordon. - */ - --/* !!! FIXME: check for EINTR? */ -- - #define __PHYSICSFS_INTERNAL__ - #include "physfs_platforms.h" - -@@ -167,7 +165,9 @@ static void *doOpen(const char *filename, int mode) - /* O_APPEND doesn't actually behave as we'd like. */ - mode &= ~O_APPEND; - -- fd = open(filename, mode, S_IRUSR | S_IWUSR); -+ do { -+ fd = open(filename, mode, S_IRUSR | S_IWUSR); -+ } while ((fd < 0) && (errno == EINTR)); - BAIL_IF(fd < 0, errcodeFromErrno(), NULL); - - if (appending) -@@ -219,7 +219,9 @@ PHYSFS_sint64 __PHYSFS_platformRead(void *opaque, void *buffer, - if (!__PHYSFS_ui64FitsAddressSpace(len)) - BAIL(PHYSFS_ERR_INVALID_ARGUMENT, -1); - -- rc = read(fd, buffer, (size_t) len); -+ do { -+ rc = read(fd, buffer, (size_t) len); -+ } while ((rc == -1) && (errno == EINTR)); - BAIL_IF(rc == -1, errcodeFromErrno(), -1); - assert(rc >= 0); - assert(rc <= len); -@@ -236,7 +238,9 @@ PHYSFS_sint64 __PHYSFS_platformWrite(void *opaque, const void *buffer, - if (!__PHYSFS_ui64FitsAddressSpace(len)) - BAIL(PHYSFS_ERR_INVALID_ARGUMENT, -1); - -- rc = write(fd, (void *) buffer, (size_t) len); -+ do { -+ rc = write(fd, (void *) buffer, (size_t) len); -+ } while ((rc == -1) && (errno == EINTR)); - BAIL_IF(rc == -1, errcodeFromErrno(), rc); - assert(rc >= 0); - assert(rc <= len); -@@ -275,8 +279,13 @@ PHYSFS_sint64 __PHYSFS_platformFileLength(void *opaque) - int __PHYSFS_platformFlush(void *opaque) - { - const int fd = *((int *) opaque); -- if ((fcntl(fd, F_GETFL) & O_ACCMODE) != O_RDONLY) -- BAIL_IF(fsync(fd) == -1, errcodeFromErrno(), 0); -+ int rc = -1; -+ if ((fcntl(fd, F_GETFL) & O_ACCMODE) != O_RDONLY) { -+ do { -+ rc = fsync(fd); -+ } while ((rc == -1) && (errno == EINTR)); -+ BAIL_IF(rc == -1, errcodeFromErrno(), 0); -+ } - return 1; - } /* __PHYSFS_platformFlush */ - -@@ -284,7 +293,10 @@ int __PHYSFS_platformFlush(void *opaque) - void __PHYSFS_platformClose(void *opaque) - { - const int fd = *((int *) opaque); -- (void) close(fd); /* we don't check this. You should have used flush! */ -+ int rc = -1; -+ do { -+ rc = close(fd); /* we don't check this. You should have used flush! */ -+ } while ((rc == -1) && (errno == EINTR)); - allocator.Free(opaque); - } /* __PHYSFS_platformClose */ - diff --git a/ports/physfs/003-fix-posix-cloexec.patch b/ports/physfs/003-fix-posix-cloexec.patch deleted file mode 100644 index 6ff2114a5e7529..00000000000000 --- a/ports/physfs/003-fix-posix-cloexec.patch +++ /dev/null @@ -1,34 +0,0 @@ -diff --git a/src/physfs_platform_posix.c b/src/physfs_platform_posix.c ---- a/src/physfs_platform_posix.c -+++ b/src/physfs_platform_posix.c -@@ -160,16 +160,30 @@ static void *doOpen(const char *filename, int mode) - const int appending = (mode & O_APPEND); - int fd; - int *retval; -+ int flags; -+ flags = -1; - errno = 0; - - /* O_APPEND doesn't actually behave as we'd like. */ - mode &= ~O_APPEND; -+ -+#ifdef O_CLOEXEC -+ /* Add O_CLOEXEC if defined */ -+ mode |= O_CLOEXEC; -+#endif - - do { - fd = open(filename, mode, S_IRUSR | S_IWUSR); - } while ((fd < 0) && (errno == EINTR)); - BAIL_IF(fd < 0, errcodeFromErrno(), NULL); - -+#if !defined(O_CLOEXEC) && defined(FD_CLOEXEC) -+ flags = fcntl(fd, F_GETFD); -+ if (flags != -1) { -+ fcntl(fd, F_SETFD, flags | FD_CLOEXEC); -+ } -+#endif -+ - if (appending) - { - if (lseek(fd, 0, SEEK_END) < 0) diff --git a/ports/physfs/portfile.cmake b/ports/physfs/portfile.cmake index 879a2b0e0f14a7..3fbba5baf2cea1 100644 --- a/ports/physfs/portfile.cmake +++ b/ports/physfs/portfile.cmake @@ -1,38 +1,43 @@ -set(PHYSFS_VERSION 3.0.2) - -vcpkg_download_distfile(ARCHIVE - URLS "https://icculus.org/physfs/downloads/physfs-${PHYSFS_VERSION}.tar.bz2" - "https://hg.icculus.org/icculus/physfs/archive/release-${PHYSFS_VERSION}.tar.bz2" - FILENAME "physfs-${PHYSFS_VERSION}.tar.bz2" - SHA512 4024b6c3348e0b6fc1036aac330192112dfe17de3e3d14773be9f06e9a062df5a1006869f21162b4e0b584989f463788a35e64186b1913225c073fea62754472 -) - -vcpkg_extract_source_archive_ex( +vcpkg_minimum_required(VERSION 2022-10-12) # for ${VERSION} +vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} - REF ${PHYSFS_VERSION} - PATCHES - "001-fix-lzmasdk-arm64-windows.patch" - "002-fix-posix-eintr.patch" # Remove this patch in the next update - "003-fix-posix-cloexec.patch" # Remove this patch in the next update + REPO icculus/physfs + REF "release-${VERSION}" + SHA512 e0d84d6ac6bd8f0973149a5add54ed5ed890b5fabb4592ba61b59a3b3e01c05e05f1754f18d7a1c8d72e68777a23cda0c50dc0512cf57a8310a950bf908f54b1 ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" PHYSFS_STATIC) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" PHYSFS_SHARED) +set(generator_param "") +if(VCPKG_TARGET_IS_UWP) + set(generator_param WINDOWS_USE_MSBUILD) +endif() + vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" + ${generator_param} OPTIONS -DPHYSFS_BUILD_STATIC=${PHYSFS_STATIC} -DPHYSFS_BUILD_SHARED=${PHYSFS_SHARED} -DPHYSFS_BUILD_TEST=OFF + -DPHYSFS_BUILD_DOCS=OFF ) vcpkg_cmake_install() vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/PhysFS) vcpkg_fixup_pkgconfig() +if(PHYSFS_STATIC) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/physfs.h" "defined(PHYSFS_STATIC)" "1") +else() + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/physfs.h" "dllexport" "dllimport") +endif() + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +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}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/physfs/usage b/ports/physfs/usage new file mode 100644 index 00000000000000..39a71fd09032fe --- /dev/null +++ b/ports/physfs/usage @@ -0,0 +1,10 @@ +physfs provides CMake targets: + + find_package(PhysFS CONFIG REQUIRED) + target_link_libraries(main PRIVATE $,PhysFS::PhysFS,PhysFS::PhysFS-static>) + +physfs is compatible with built-in CMake targets: + + find_package(PhysFS REQUIRED) + target_include_directories(main PRIVATE ${PHYSFS_INCLUDE_DIR}) + target_link_libraries(main PRIVATE ${PHYSFS_LIBRARY}) diff --git a/ports/physfs/vcpkg-cmake-wrapper.cmake b/ports/physfs/vcpkg-cmake-wrapper.cmake new file mode 100644 index 00000000000000..0cc39818b3f9a5 --- /dev/null +++ b/ports/physfs/vcpkg-cmake-wrapper.cmake @@ -0,0 +1,6 @@ +find_library(PHYSFS_LIBRARY_RELEASE NAMES physfs physfs-static NAMES_PER_DIR PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib" NO_DEFAULT_PATH) +find_library(PHYSFS_LIBRARY_DEBUG NAMES physfs physfs-static NAMES_PER_DIR PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/lib" NO_DEFAULT_PATH) +include(SelectLibraryConfigurations) +select_library_configurations(PHYSFS) +unset(PHYSFS_FOUND) +_find_package(${ARGS}) diff --git a/ports/physfs/vcpkg.json b/ports/physfs/vcpkg.json index b740565cafc632..f614b9a9b793bc 100644 --- a/ports/physfs/vcpkg.json +++ b/ports/physfs/vcpkg.json @@ -1,14 +1,18 @@ { "name": "physfs", - "version-semver": "3.0.2", - "port-version": 6, + "version-semver": "3.2.0", + "port-version": 1, "description": "a library to provide abstract access to various archives", "homepage": "https://icculus.org/physfs/", + "license": "Zlib", "dependencies": [ { "name": "vcpkg-cmake", "host": true }, - "zlib" + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/physx/fix-compiler-flag.patch b/ports/physx/fix-compiler-flag.patch deleted file mode 100644 index cfb253e7e1c6e3..00000000000000 --- a/ports/physx/fix-compiler-flag.patch +++ /dev/null @@ -1,58 +0,0 @@ -diff --git a/physx/compiler/public/CMakeLists.txt b/physx/compiler/public/CMakeLists.txt -index 77776ca7..bd7b496d 100644 ---- a/physx/compiler/public/CMakeLists.txt -+++ b/physx/compiler/public/CMakeLists.txt -@@ -33,6 +33,8 @@ ENDIF() - - project(PhysXSDK C CXX) - -+SET(PHYSX_CXX_FLAGS "${CMAKE_CXX_FLAGS}" CACHE INTERNAL "PhysX Debug CXX Flags") -+ - OPTION(PX_BUILDSNIPPETS "Generate the snippets" OFF) - OPTION(PX_BUILDPUBLICSAMPLES "Generate the samples" OFF) - OPTION(PX_CMAKE_SUPPRESS_REGENERATION "Disable zero_check projects" OFF) -diff --git a/physx/source/compiler/cmake/uwp/CMakeLists.txt b/physx/source/compiler/cmake/uwp/CMakeLists.txt -index 20dcb6ae..c7e03c3e 100644 ---- a/physx/source/compiler/cmake/uwp/CMakeLists.txt -+++ b/physx/source/compiler/cmake/uwp/CMakeLists.txt -@@ -39,11 +39,13 @@ ELSE() - ENDIF() - - # Cache the CXX flags so the other CMakeLists.txt can use them if needed --SET(PHYSX_CXX_FLAGS "/Wall /d2Zi+ /MP /WX /W4 /GF /GS- /GR- /Gd ${PHYSX_FP_MODE} ${PHYSX_WARNING_DISABLES}" CACHE INTERNAL "PhysX CXX") -+SET(PHYSX_CXX_FLAGS "${PHYSX_CXX_FLAGS} ${PHYSX_FP_MODE} ${PHYSX_WARNING_DISABLES}" CACHE INTERNAL "PhysX CXX") -+if(FALSE) - SET(PHYSX_CXX_FLAGS_DEBUG "/Od ${WINCRT_DEBUG} /Zi" CACHE INTERNAL "PhysX Debug CXX Flags") - SET(PHYSX_CXX_FLAGS_CHECKED "/O2 ${WINCRT_NDEBUG} /Zi" CACHE INTERNAL "PhysX Checked CXX Flags") - SET(PHYSX_CXX_FLAGS_PROFILE "/O2 ${WINCRT_NDEBUG} /Zi" CACHE INTERNAL "PhysX Profile CXX Flags") - SET(PHYSX_CXX_FLAGS_RELEASE "/O2 ${WINCRT_NDEBUG} /Zi" CACHE INTERNAL "PhysX Release CXX Flags") -+endif() - - # These flags are local to the directory the CMakeLists.txt is in, so don't get carried over to OTHER CMakeLists.txt (thus the CACHE variables above) - SET(CMAKE_CXX_FLAGS ${PHYSX_CXX_FLAGS}) -diff --git a/physx/source/compiler/cmake/windows/CMakeLists.txt b/physx/source/compiler/cmake/windows/CMakeLists.txt -index a1ab3596..dbd20fb0 100644 ---- a/physx/source/compiler/cmake/windows/CMakeLists.txt -+++ b/physx/source/compiler/cmake/windows/CMakeLists.txt -@@ -41,17 +41,19 @@ ELSE() - SET(PHYSX_FP_MODE "/fp:fast") - ENDIF() - IF(CMAKE_CL_64) -- SET(PHYSX_CXX_FLAGS "/d2Zi+ /MP /WX /W4 /GF /GS- /GR- /Gd ${PHYSX_FP_MODE} /Oy ${PHYSX_WARNING_DISABLES}" CACHE INTERNAL "PhysX CXX") -+ SET(PHYSX_CXX_FLAGS "${PHYSX_CXX_FLAGS} ${PHYSX_FP_MODE} ${PHYSX_WARNING_DISABLES}" CACHE INTERNAL "PhysX CXX") - ELSE() -- SET(PHYSX_CXX_FLAGS "/arch:SSE2 /d2Zi+ /MP /WX /W4 /GF /GS- /GR- /Gd ${PHYSX_FP_MODE} /Oy ${PHYSX_WARNING_DISABLES}" CACHE INTERNAL "PhysX CXX") -+ SET(PHYSX_CXX_FLAGS "${PHYSX_CXX_FLAGS} /arch:SSE2 ${PHYSX_FP_MODE} ${PHYSX_WARNING_DISABLES}" CACHE INTERNAL "PhysX CXX") - ENDIF() - -+if(FALSE) - SET(PHYSX_CXX_FLAGS_DEBUG "/Od ${WINCRT_DEBUG} /RTCu /Zi" CACHE INTERNAL "PhysX Debug CXX Flags") - # PT: changed /Ox to /O2 because "the /Ox compiler option enables only a subset of the speed optimization options enabled by /O2." - # See https://docs.microsoft.com/en-us/cpp/build/reference/ox-full-optimization?view=vs-2019 - SET(PHYSX_CXX_FLAGS_CHECKED "/O2 ${WINCRT_NDEBUG} /Zi" CACHE INTERNAL "PhysX Checked CXX Flags") - SET(PHYSX_CXX_FLAGS_PROFILE "/O2 ${WINCRT_NDEBUG} /Zi" CACHE INTERNAL "PhysX Profile CXX Flags") - SET(PHYSX_CXX_FLAGS_RELEASE "/O2 ${WINCRT_NDEBUG} /Zi" CACHE INTERNAL "PhysX Release CXX Flags") -+endif() - - # cache lib type defs - IF(PX_GENERATE_STATIC_LIBRARIES) diff --git a/ports/physx/omniverse-physx-sdk-config.cmake b/ports/physx/omniverse-physx-sdk-config.cmake new file mode 100644 index 00000000000000..763c7daa7a7e29 --- /dev/null +++ b/ports/physx/omniverse-physx-sdk-config.cmake @@ -0,0 +1,117 @@ +# omniverse-physx-sdk-config.cmake (from which unofficial-omniverse-physx-sdk-config.cmake is generated) +# A user's CMakeLists.txt should: +# find_package(unofficial-omniverse-physx-sdk CONFIG REQUIRED) +# target_link_libraries(main PRIVATE unofficial::omniverse-physx-sdk::sdk) +# the GPU acceleration .so/.dll libraries are in the port's tools/ directory (needed for late binding). +# See the usage file for more info and more detailed explanation on how to use this. + +include(${CMAKE_ROOT}/Modules/SelectLibraryConfigurations.cmake) + +if(NOT TARGET unofficial::omniverse-physx-sdk) + # Find include and library directories (up one level multiple times) + get_filename_component(z_vcpkg_omniverse_physx_sdk_prefix "${CMAKE_CURRENT_LIST_FILE}" PATH) + get_filename_component(z_vcpkg_omniverse_physx_sdk_prefix "${z_vcpkg_omniverse_physx_sdk_prefix}" PATH) + get_filename_component(z_vcpkg_omniverse_physx_sdk_prefix "${z_vcpkg_omniverse_physx_sdk_prefix}" PATH) + + get_filename_component(OMNIVERSE-PHYSX-SDK_INCLUDE_DIRS "${z_vcpkg_omniverse_physx_sdk_prefix}/include/physx" ABSOLUTE) + get_filename_component(OMNIVERSE-PHYSX-SDK_RELEASE_LIBS_DIR "${z_vcpkg_omniverse_physx_sdk_prefix}/lib" ABSOLUTE) + get_filename_component(OMNIVERSE-PHYSX-SDK_DEBUG_LIBS_DIR "${z_vcpkg_omniverse_physx_sdk_prefix}/debug/lib" ABSOLUTE) + get_filename_component(OMNIVERSE-PHYSX-SDK_RELEASE_BIN_DIR "${z_vcpkg_omniverse_physx_sdk_prefix}/bin" ABSOLUTE) + get_filename_component(OMNIVERSE-PHYSX-SDK_DEBUG_BIN_DIR "${z_vcpkg_omniverse_physx_sdk_prefix}/debug/bin" ABSOLUTE) + get_filename_component(OMNIVERSE-PHYSX-SDK_RELEASE_TOOLS_DIR "${z_vcpkg_omniverse_physx_sdk_prefix}/tools" ABSOLUTE) + + # Find main library files + find_library(OMNIVERSE-PHYSX-SDK_LIBRARY_RELEASE NAMES PhysX_static_64 PhysX_64 PATHS "${OMNIVERSE-PHYSX-SDK_RELEASE_LIBS_DIR}" NO_DEFAULT_PATH) + find_library(OMNIVERSE-PHYSX-SDK_LIBRARY_DEBUG NAMES PhysX_static_64 PhysX_64 PATHS "${OMNIVERSE-PHYSX-SDK_DEBUG_LIBS_DIR}" NO_DEFAULT_PATH) + + # Finally create the imported target that users will link against + set(OMNIVERSE-PHYSX-SDK_LIBRARIES "") + add_library(unofficial::omniverse-physx-sdk::sdk UNKNOWN IMPORTED) + + # Set IMPORTED_IMPLIB for the main target in case of dynamic libraries + if (WIN32 AND VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + set_target_properties(unofficial::omniverse-physx-sdk::sdk PROPERTIES + IMPORTED_IMPLIB_RELEASE "${OMNIVERSE-PHYSX-SDK_LIBRARY_RELEASE}" + IMPORTED_IMPLIB_DEBUG "${OMNIVERSE-PHYSX-SDK_LIBRARY_DEBUG}" + ) + endif() + + set_target_properties(unofficial::omniverse-physx-sdk::sdk PROPERTIES + IMPORTED_CONFIGURATIONS "DEBUG;RELEASE" + IMPORTED_LOCATION_RELEASE "${OMNIVERSE-PHYSX-SDK_LIBRARY_RELEASE}" + IMPORTED_LOCATION_DEBUG "${OMNIVERSE-PHYSX-SDK_LIBRARY_DEBUG}" + INTERFACE_INCLUDE_DIRECTORIES "${OMNIVERSE-PHYSX-SDK_INCLUDE_DIRS}" + ) + + # Add compile definitions to the target for debug/release builds + target_compile_definitions(unofficial::omniverse-physx-sdk::sdk INTERFACE $<$:_DEBUG>) + + set(lib_names + PhysXExtensions + PhysXPvdSDK + PhysXCharacterKinematic + PhysXCooking + PhysXCommon + PhysXFoundation + PhysXVehicle + ) + if(WIN32) + list(APPEND lib_names PhysXVehicle2) + endif() + + foreach(name IN LISTS lib_names) + find_library(OMNIVERSE_${name}_LIBRARY_RELEASE + NAMES ${name}_static_64 ${name}_64 # ... all candidates, only one should be installed for a given triplet + PATHS "${OMNIVERSE-PHYSX-SDK_RELEASE_LIBS_DIR}" + NO_DEFAULT_PATH + REQUIRED + ) + find_library(OMNIVERSE_${name}_LIBRARY_DEBUG + NAMES ${name}_static_64 ${name}_64 # ... all candidates, only one should be installed for a given triplet + PATHS "${OMNIVERSE-PHYSX-SDK_DEBUG_LIBS_DIR}" + NO_DEFAULT_PATH + # not REQUIRED, due to release-only builds + ) + add_library(unofficial::omniverse-physx-sdk::${name} UNKNOWN IMPORTED) + set_target_properties(unofficial::omniverse-physx-sdk::${name} + PROPERTIES + IMPORTED_CONFIGURATIONS "RELEASE" + IMPORTED_LOCATION_RELEASE "${OMNIVERSE_${name}_LIBRARY_RELEASE}" + ) + if(OMNIVERSE_${name}_LIBRARY_DEBUG) + set_target_properties(unofficial::omniverse-physx-sdk::${name} + PROPERTIES + IMPORTED_CONFIGURATIONS "DEBUG;RELEASE" + IMPORTED_LOCATION_DEBUG "${OMNIVERSE_${name}_LIBRARY_DEBUG}" + ) + endif() + set_property(TARGET unofficial::omniverse-physx-sdk::sdk APPEND PROPERTY + INTERFACE_LINK_LIBRARIES unofficial::omniverse-physx-sdk::${name} + ) + select_library_configurations(OMNIVERSE_${name}) + endforeach() + + # Lastly also provide a target for clients to link with the GPU library (optional, provided by NVIDIA and downloaded through packman) + + # Find GPU library files (these are used at late-binding to enable GPU acceleration) + if(WIN32) + find_file(OMNIVERSE-PHYSX-SDK-GPU_LIBRARY_RELEASE NAMES PhysXGpu_64.dll PATHS "${OMNIVERSE-PHYSX-SDK_RELEASE_TOOLS_DIR}" NO_DEFAULT_PATH) + find_file(OMNIVERSE-PHYSX-SDK-GPU_DEVICE_LIBRARY_RELEASE NAMES PhysXDevice64.dll PATHS "${OMNIVERSE-PHYSX-SDK_RELEASE_TOOLS_DIR}" NO_DEFAULT_PATH) + elseif(UNIX) + find_file(OMNIVERSE-PHYSX-SDK-GPU_LIBRARY_RELEASE NAMES libPhysXGpu_64.so PATHS "${OMNIVERSE-PHYSX-SDK_RELEASE_TOOLS_DIR}" NO_DEFAULT_PATH) + endif() + + # Create imported targets for GPU library (only release is used) + add_library(unofficial::omniverse-physx-sdk::gpu-library SHARED IMPORTED) + set_target_properties(unofficial::omniverse-physx-sdk::gpu-library PROPERTIES + IMPORTED_CONFIGURATIONS "DEBUG;RELEASE" + IMPORTED_LOCATION "${OMNIVERSE-PHYSX-SDK-GPU_LIBRARY_RELEASE}" + ) + if(WIN32) + add_library(unofficial::omniverse-physx-sdk::gpu-device-library SHARED IMPORTED) + set_target_properties(unofficial::omniverse-physx-sdk::gpu-device-library PROPERTIES + IMPORTED_CONFIGURATIONS "DEBUG;RELEASE" + IMPORTED_LOCATION "${OMNIVERSE-PHYSX-SDK-GPU_DEVICE_LIBRARY_RELEASE}" + ) + endif() +endif() diff --git a/ports/physx/portfile.cmake b/ports/physx/portfile.cmake index 3b905cc010566a..3d98b0375f92e3 100644 --- a/ports/physx/portfile.cmake +++ b/ports/physx/portfile.cmake @@ -1,99 +1,214 @@ -vcpkg_fail_port_install(ON_TARGET MINGW) +############################################################################################################### +# Port for Omniverse PhysX 5 - NVIDIA Corporation +# Written by Marco Alesiani +# Note: this port is NOT officially supported by NVIDIA. +# This port is also not a replacement for the 'physx' port: the newest Omniverse PhysX dropped support +# for many platforms so the old one will continue to be community maintained to support all previous platforms. +############################################################################################################### vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO NVIDIAGameWorks/PhysX - REF 93c6dd21b545605185f2febc8eeacebe49a99479 - SHA512 c9f50255ca9e0f1ebdb9926992315a62b77e2eea3addd4e65217283490714e71e24f2f687717dd8eb155078a1a6b25c9fadc123ce8bc4c5615f7ac66cd6b11aa - HEAD_REF master - PATCHES - fix-compiler-flag.patch - remove-werror.patch + REPO NVIDIA-Omniverse/PhysX + REF 105.1-physx-5.3.0 # newest tag + SHA512 fa3897738aed583f0498587365aafc77107351d72888058d0b725bd39de1c33b37c99294b6346be165eaf3aa3c6228ca7ddb0a3b18e522c1fb79e2559d70b551 + HEAD_REF main ) -if(NOT DEFINED RELEASE_CONFIGURATION) - set(RELEASE_CONFIGURATION "release") +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + set(VCPKG_BUILD_STATIC_LIBS TRUE) +else() + set(VCPKG_BUILD_STATIC_LIBS FALSE) +endif() +if(VCPKG_CRT_LINKAGE STREQUAL "static") + set(VCPKG_LINK_CRT_STATICALLY TRUE) +else() + set(VCPKG_LINK_CRT_STATICALLY FALSE) endif() -set(DEBUG_CONFIGURATION "debug") - -set(OPTIONS - "-DPHYSX_ROOT_DIR=${SOURCE_PATH}/physx" - "-DPXSHARED_PATH=${SOURCE_PATH}/pxshared" - "-DPXSHARED_INSTALL_PREFIX=${CURRENT_PACKAGES_DIR}" - "-DCMAKEMODULES_PATH=${SOURCE_PATH}/externals/cmakemodules" - "-DCMAKEMODULES_NAME=CMakeModules" - "-DCMAKE_MODULES_VERSION=1.27" - "-DPX_BUILDSNIPPETS=OFF" - "-DPX_BUILDPUBLICSAMPLES=OFF" - "-DPX_FLOAT_POINT_PRECISE_MATH=OFF" - "-DPX_COPY_EXTERNAL_DLL=OFF" - "-DGPU_DLL_COPIED=ON" -) -set(OPTIONS_RELEASE - "-DPX_OUTPUT_BIN_DIR=${CURRENT_PACKAGES_DIR}" - "-DPX_OUTPUT_LIB_DIR=${CURRENT_PACKAGES_DIR}" -) -set(OPTIONS_DEBUG - "-DPX_OUTPUT_BIN_DIR=${CURRENT_PACKAGES_DIR}/debug" - "-DPX_OUTPUT_LIB_DIR=${CURRENT_PACKAGES_DIR}/debug" - "-DNV_USE_DEBUG_WINCRT=ON" -) +# Target platform detection for packman (the NVIDIA dependency downloader) and CMake options settings +if(VCPKG_TARGET_IS_LINUX AND VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + set(PLATFORM_OPTIONS + -DPX_BUILDSNIPPETS=OFF + -DPX_BUILDPVDRUNTIME=OFF + -DPX_GENERATE_STATIC_LIBRARIES=${VCPKG_BUILD_STATIC_LIBS} + ) + set(targetPlatform "linux") +elseif(VCPKG_TARGET_IS_LINUX AND VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") + set(PLATFORM_OPTIONS + -DPX_BUILDSNIPPETS=OFF + -DPX_BUILDPVDRUNTIME=OFF + -DPX_GENERATE_STATIC_LIBRARIES=${VCPKG_BUILD_STATIC_LIBS} + ) + set(targetPlatform "linuxAarch64") +elseif(VCPKG_TARGET_IS_WINDOWS AND VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") -if(VCPKG_TARGET_IS_UWP) - list(APPEND OPTIONS "-DTARGET_BUILD_PLATFORM=uwp") -elseif(VCPKG_TARGET_IS_WINDOWS) - list(APPEND OPTIONS "-DTARGET_BUILD_PLATFORM=windows") -elseif(VCPKG_TARGET_IS_OSX) - list(APPEND OPTIONS "-DTARGET_BUILD_PLATFORM=mac") -elseif(VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_FREEBSD) - list(APPEND OPTIONS "-DTARGET_BUILD_PLATFORM=linux") -elseif(VCPKG_TARGET_IS_ANDROID) - list(APPEND OPTIONS "-DTARGET_BUILD_PLATFORM=android") + set(PLATFORM_OPTIONS + -DPX_BUILDSNIPPETS=OFF + -DPX_BUILDPVDRUNTIME=OFF + -DPX_GENERATE_STATIC_LIBRARIES=${VCPKG_BUILD_STATIC_LIBS} + -DNV_USE_STATIC_WINCRT=${VCPKG_LINK_CRT_STATICALLY} + -DPX_FLOAT_POINT_PRECISE_MATH=OFF + ) + + # Note: it would have been more correct to specify "win64" here, but we specify this so that packman can download + # the right dependencies on windows (see the "platforms" field in the dependencies.xml), that will also later + # set up the correct PM_xxx environment variables that we can pass to the cmake generation invocation to find + # whatever the PhysX project needs. Note that vc17(2022) is not required: the latest repo is guaranteed to work + # with vc15, vc16 and vc17 on x64 Windows. The binaries for these platforms downloaded by packman should be the same. + set(targetPlatform "vc17win64") else() - message(FATAL_ERROR "Unhandled or unsupported target platform.") + message(FATAL_ERROR "Unsupported platform/architecture combination") endif() -if(VCPKG_TARGET_IS_OSX OR VCPKG_TARGET_IS_IOS) - list(APPEND OPTIONS "-DNV_FORCE_64BIT_SUFFIX=ON" "-DNV_FORCE_32BIT_SUFFIX=OFF") -endif() -if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - list(APPEND OPTIONS "-DPX_GENERATE_STATIC_LIBRARIES=OFF") +######################## Download required deps ############################## + +set($ENV{PM_PATHS} "") + +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_download_distfile(ARCHIVE + URLS "https://d4i3qtqj3r0z5.cloudfront.net/PhysXGpu%40105.1-5.3.4207.33265367-windows-public.7z" + FILENAME "PhysXGpu.7z" + SHA512 010b4c135026a15710b2e0d0d503197456f8f9d2eb291b32df65aa3dbeff09ba0877c52af1724f7a9384af727657d247cabf9c330e11c7ae1e1be5d1b89dce81 + ) + + # 7z might not be preinstalled on Win machines + vcpkg_find_acquire_program(7Z) + set(ENV{PM_PhysXGpu_PATH} "${CURRENT_BUILDTREES_DIR}/PhysXGpu_dep") + file(MAKE_DIRECTORY "$ENV{PM_PhysXGpu_PATH}") + vcpkg_execute_required_process( + COMMAND "${7Z}" x "${ARCHIVE}" "-o$ENV{PM_PhysXGpu_PATH}" "-y" "-bso0" "-bsp0" + WORKING_DIRECTORY "$ENV{PM_PhysXGpu_PATH}" + LOGNAME "extract-PhysXGpu" + ) else() - list(APPEND OPTIONS "-DPX_GENERATE_STATIC_LIBRARIES=ON") + vcpkg_download_distfile(ARCHIVE + URLS "https://d4i3qtqj3r0z5.cloudfront.net/PhysXGpu%40105.1-5.3.4207.33265367-linux-x86_64-public.7z" + FILENAME "PhysXGpu.7z" + SHA512 a6209a7d4218e80c3cbeec10a80ca3aaa08793469ddcf01ed8bc4582beef0b13697e1bb91f3a59cfdbdfe9652fe22d7569be4de9f0d08a9525a60951c2989acd + ) + + vcpkg_extract_source_archive(PHYSXGPU_SOURCE_PATH + NO_REMOVE_ONE_LEVEL + ARCHIVE "${ARCHIVE}" + BASE_DIRECTORY PhysXGpu_dep + ) + set(ENV{PM_PhysXGpu_PATH} "${PHYSXGPU_SOURCE_PATH}") endif() +message(STATUS "Extracted dependency to $ENV{PM_PhysXGpu_PATH}") +list(APPEND ENV{PM_PATHS} $ENV{PM_PhysXGpu_PATH}) -if(VCPKG_CRT_LINKAGE STREQUAL "dynamic") - list(APPEND OPTIONS "-DNV_USE_STATIC_WINCRT=OFF") -else() - list(APPEND OPTIONS "-DNV_USE_STATIC_WINCRT=ON") +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_download_distfile(ARCHIVE + URLS "https://d4i3qtqj3r0z5.cloudfront.net/PhysXDevice%4018.12.7.4.7z" + FILENAME "PhysXDevice.7z" + SHA512 c20eb2f1e0dcb9d692cb718ca7e3a332291e72a09614f37080f101e5ebc1591033029f0f1e6fba33a17d4c9f59f13e561f3fc81cee34cd53d50b579c01dd3f3c + ) + + set(ENV{PM_PhysXDevice_PATH} "${CURRENT_BUILDTREES_DIR}/PhysXDevice_dep") + file(MAKE_DIRECTORY "$ENV{PM_PhysXDevice_PATH}") + vcpkg_find_acquire_program(7Z) + vcpkg_execute_required_process( + COMMAND "${7Z}" x "${ARCHIVE}" "-o$ENV{PM_PhysXDevice_PATH}" "-y" "-bso0" "-bsp0" + WORKING_DIRECTORY "$ENV{PM_PhysXDevice_PATH}" + LOGNAME "extract-PhysXDevice" + ) endif() +message(STATUS "Extracted dependency to $ENV{PM_PhysXDevice_PATH}") +list(APPEND ENV{PM_PATHS} $ENV{PM_PhysXDevice_PATH}) -if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") - list(APPEND OPTIONS "-DPX_OUTPUT_ARCH=arm") -else() - list(APPEND OPTIONS "-DPX_OUTPUT_ARCH=x86") +if(targetPlatform STREQUAL "vc17win64") + set(ENV{PM_freeglut_PATH} "${CURRENT_BUILDTREES_DIR}/freeglut_dep") + file(MAKE_DIRECTORY "$ENV{PM_freeglut_PATH}") + vcpkg_download_distfile(ARCHIVE + URLS "https://d4i3qtqj3r0z5.cloudfront.net/freeglut-windows%403.4_1.1.7z" + FILENAME "freeglut.7z" + SHA512 c01cb75dd466d6889a72d7236669bfce841cc6da9e0edb4208c4affb5ca939f28d64bc3d988bc85d98c589b0b42ac3464f606c89f6c113106669fc9fe84000e5 + ) + vcpkg_find_acquire_program(7Z) + vcpkg_execute_required_process( + COMMAND "${7Z}" x "${ARCHIVE}" "-o$ENV{PM_freeglut_PATH}" "-y" "-bso0" "-bsp0" + WORKING_DIRECTORY "$ENV{PM_freeglut_PATH}" + LOGNAME "extract-freeglut" + ) + message(STATUS "Extracted dependency to $ENV{PM_freeglut_PATH}") + list(APPEND ENV{PM_PATHS} $ENV{PM_freeglut_PATH}) +endif() + +######################## Now generate ALL cmake parameters according to our distribution ############################## + +set(PHYSX_ROOT_DIR "${SOURCE_PATH}/physx") + +# Set common parameters +set(common_params -DCMAKE_PREFIX_PATH=$ENV{PM_PATHS} -DPHYSX_ROOT_DIR=${PHYSX_ROOT_DIR} -DPX_OUTPUT_LIB_DIR=${PHYSX_ROOT_DIR} -DPX_OUTPUT_BIN_DIR=${PHYSX_ROOT_DIR}) + +# Set platform and compiler specific parameters +if(targetPlatform STREQUAL "linuxAarch64") + set(cmakeParams -DCMAKE_INSTALL_PREFIX=${PHYSX_ROOT_DIR}/install/linux-aarch64/PhysX) + set(platformCMakeParams -DTARGET_BUILD_PLATFORM=linux -DPX_OUTPUT_ARCH=arm) +elseif(targetPlatform STREQUAL "linux") + set(cmakeParams -DCMAKE_INSTALL_PREFIX=${PHYSX_ROOT_DIR}/install/linux/PhysX) + set(platformCMakeParams -DTARGET_BUILD_PLATFORM=linux -DPX_OUTPUT_ARCH=x86) +elseif(targetPlatform STREQUAL "vc17win64") # Again: this will work for any Win64 + set(cmakeParams -DCMAKE_INSTALL_PREFIX=${PHYSX_ROOT_DIR}/install/vc17win64/PhysX) + set(platformCMakeParams -DTARGET_BUILD_PLATFORM=windows -DPX_OUTPUT_ARCH=x86) endif() +# Also make sure the packman-downloaded GPU driver is found as a binary +list(APPEND platformCMakeParams -DPHYSX_PHYSXGPU_PATH=$ENV{PM_PhysXGpu_PATH}/bin) + +# Anyway the above only works for clang, see +# source/compiler/cmake/linux/CMakeLists.txt:164 +# to avoid problems, we copy _immediately_ the extra binaries +if(targetPlatform STREQUAL "linuxAarch64") + file(COPY "$ENV{PM_PhysXGpu_PATH}/bin/linux.aarch64/checked/libPhysXGpu_64.so" DESTINATION "${SOURCE_PATH}/physx/bin/linux.aarch64/debug") + file(COPY "$ENV{PM_PhysXGpu_PATH}/bin/linux.aarch64/release/libPhysXGpu_64.so" DESTINATION "${SOURCE_PATH}/physx/bin/linux.aarch64/release") +elseif(targetPlatform STREQUAL "linux") + file(COPY "$ENV{PM_PhysXGpu_PATH}/bin/linux.clang/checked/libPhysXGpu_64.so" DESTINATION "${SOURCE_PATH}/physx/bin/linux.clang/debug") + file(COPY "$ENV{PM_PhysXGpu_PATH}/bin/linux.clang/release/libPhysXGpu_64.so" DESTINATION "${SOURCE_PATH}/physx/bin/linux.clang/release") +elseif(targetPlatform STREQUAL "vc17win64") + file(COPY "$ENV{PM_PhysXGpu_PATH}/bin/win.x86_64.vc141.mt/checked/PhysXGpu_64.dll" DESTINATION "${SOURCE_PATH}/physx/bin/vc17win64/debug") + file(COPY "$ENV{PM_PhysXGpu_PATH}/bin/win.x86_64.vc141.mt/release/PhysXGpu_64.dll" DESTINATION "${SOURCE_PATH}/physx/bin/vc17win64/release") +endif() + +set(cmakeParams ${platformCMakeParams} ${common_params} ${cmakeParams}) + +# Finally invoke cmake to configure the PhysX project vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}/physx/compiler/public" + GENERATOR "${generator}" + WINDOWS_USE_MSBUILD + OPTIONS + -DCMAKE_TOOLCHAIN_FILE=${VCPKG_CHAINLOAD_TOOLCHAIN_FILE} + ${PLATFORM_OPTIONS} + -DPHYSX_ROOT_DIR=${PHYSX_ROOT_DIR} + ${cmakeParams} + OPTIONS_DEBUG + -DNV_USE_DEBUG_WINCRT=TRUE DISABLE_PARALLEL_CONFIGURE - OPTIONS ${OPTIONS} - OPTIONS_DEBUG ${OPTIONS_DEBUG} - OPTIONS_RELEASE ${OPTIONS_RELEASE} + MAYBE_UNUSED_VARIABLES + PX_OUTPUT_ARCH + PHYSX_PHYSXGPU_PATH ) + +# Compile and install in vcpkg's final installation directories all of the include headers and binaries for debug/release vcpkg_cmake_install() -# NVIDIA Gameworks release structure is generally something like //[artifact] -# It would be nice to patch this out, but that directory structure is hardcoded over many cmake files. -# So, we have this helpful helper to copy the bins and libs out. -function(fixup_physx_artifacts) - macro(_fixup _IN_DIRECTORY _OUT_DIRECTORY) +######################## Extract to final vcpkg install locations and fixup artifacts in wrong dirs ############################## + +message("[PHYSX BUILD COMPLETED] Extracting build artifacts to vcpkg installation locations..") + +# Artifacts paths are similar to //[artifact] however vcpkg expects +# libraries, binaries and headers to be respectively in ${CURRENT_PACKAGES_DIR}/lib or ${CURRENT_PACKAGES_DIR}/debug/lib, +# ${CURRENT_PACKAGES_DIR}/bin or ${CURRENT_PACKAGES_DIR}/debug/bin and ${CURRENT_PACKAGES_DIR}/include. +# This function accepts a DIRECTORY named variable specifying the 'lib' or 'bin' destination directory and a SUFFIXES named +# variable which specifies a list of suffixes to extract in that folder (e.g. all the .lib or .pdb) +function(copy_in_vcpkg_destination_folder_physx_artifacts) + macro(_copy_up _IN_DIRECTORY _OUT_DIRECTORY) foreach(_SUFFIX IN LISTS _fpa_SUFFIXES) file(GLOB_RECURSE _ARTIFACTS LIST_DIRECTORIES false - "${CURRENT_PACKAGES_DIR}/${_IN_DIRECTORY}/*${_SUFFIX}" + "${SOURCE_PATH}/physx/${_IN_DIRECTORY}/*${_SUFFIX}" ) if(_ARTIFACTS) file(COPY ${_ARTIFACTS} DESTINATION "${CURRENT_PACKAGES_DIR}/${_OUT_DIRECTORY}") @@ -102,40 +217,97 @@ function(fixup_physx_artifacts) endmacro() cmake_parse_arguments(_fpa "" "DIRECTORY" "SUFFIXES" ${ARGN}) - _fixup("bin" ${_fpa_DIRECTORY}) - _fixup("debug/bin" "debug/${_fpa_DIRECTORY}") + _copy_up("bin/*/release" "${_fpa_DIRECTORY}") # could be physx/bin/linux.clang/release or physx/bin/win.x86_64.vc142.mt/release + _copy_up("bin/*/debug" "debug/${_fpa_DIRECTORY}") endfunction() -fixup_physx_artifacts( +# Create output directories +file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/lib") +file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/lib") +if(NOT VCPKG_LIBRARY_LINKAGE STREQUAL "static") + # Packman also downloads the Gpu driver shared library, so we'll place it in bin and debug/bin + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/bin") + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/bin") +endif() + +copy_in_vcpkg_destination_folder_physx_artifacts( DIRECTORY "lib" SUFFIXES ${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX} ${VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX} ) -fixup_physx_artifacts( - DIRECTORY "bin" - SUFFIXES ${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX} ".pdb" -) -# Remove compiler directory and descendents. -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(REMOVE_RECURSE - "${CURRENT_PACKAGES_DIR}/bin/" - "${CURRENT_PACKAGES_DIR}/debug/bin/" +if(NOT VCPKG_LIBRARY_LINKAGE STREQUAL "static") + # Also copy whatever .so/.dll were built. Remember that there should be NO /bin directory (nor debug/bin) + # when using static linkage + copy_in_vcpkg_destination_folder_physx_artifacts( + DIRECTORY "bin" + SUFFIXES ${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX} ".pdb" ) -else() - file(GLOB PHYSX_ARTIFACTS LIST_DIRECTORIES true - "${CURRENT_PACKAGES_DIR}/bin/*" - "${CURRENT_PACKAGES_DIR}/debug/bin/*" +endif() + +# Special treatment is reserved for the PhysXGpu_64 shared library (downloaded by packman). +# This is a 3rd party "optional functionality" dependency. +file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools") +set(GPULIBNAMES "") +if(targetPlatform STREQUAL "linuxAarch64" OR targetPlatform STREQUAL "linux") + list(APPEND GPULIBNAMES "libPhysXGpu_64.so" "libPhysXDevice64.so") +elseif(targetPlatform STREQUAL "vc17win64") # Again: this will work for any Win64 + list(APPEND GPULIBNAMES "PhysXGpu_64.dll" "PhysXDevice64.dll") +endif() + +function(_copy_single_files_from_dir_to_destdir _IN_FILES _IN_DIR _OUT_DIR) + file(GLOB_RECURSE _ARTIFACTS + LIST_DIRECTORIES false + "${_IN_DIR}" ) - foreach(_ARTIFACT IN LISTS PHYSX_ARTIFACTS) - if(IS_DIRECTORY ${_ARTIFACT}) - file(REMOVE_RECURSE ${_ARTIFACT}) - endif() + foreach(_ARTIFACT IN LISTS _ARTIFACTS) + foreach(_FILE IN LISTS _IN_FILES) + if("${_ARTIFACT}" MATCHES "${_FILE}") + file(COPY "${_ARTIFACT}" DESTINATION "${_OUT_DIR}") + endif() + endforeach() endforeach() -endif() +endfunction() + +# Put it in binary directories, it's an optional component (only release binaries should go in tools/) +_copy_single_files_from_dir_to_destdir("${GPULIBNAMES}" "${SOURCE_PATH}/physx/bin/*/release/*" "${CURRENT_PACKAGES_DIR}/tools") +# Copy headers to port's destination folder +file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/include") + +# Renaming trick to finally have final folder structure as ${CURRENT_PACKAGES_DIR}/include/physx +file(RENAME "${SOURCE_PATH}/physx/include" "${SOURCE_PATH}/physx/physx") +file(COPY "${SOURCE_PATH}/physx/physx" DESTINATION "${CURRENT_PACKAGES_DIR}/include") + +# Remove useless build directories file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/source" "${CURRENT_PACKAGES_DIR}/source" ) -file(INSTALL ${SOURCE_PATH}/README.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) + +# Install the cmake config that users will use, replace -if any- only @variables@ +configure_file("${CMAKE_CURRENT_LIST_DIR}/omniverse-physx-sdk-config.cmake" "${CURRENT_PACKAGES_DIR}/share/omniverse-physx-sdk/unofficial-omniverse-physx-sdk-config.cmake" @ONLY) + +file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/share") +file(COPY "${CURRENT_PACKAGES_DIR}/share/omniverse-physx-sdk" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/share/") +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-omniverse-physx-sdk + CONFIG_PATH share/omniverse-physx-sdk) + +# Remove fixup wrong directories +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/share" +) + +if(targetPlatform STREQUAL "vc17win64") + # Remove freeglut (cannot be skipped in public release builds, but unnecessary) + file(REMOVE + "${CURRENT_PACKAGES_DIR}/bin/freeglut.dll" + "${CURRENT_PACKAGES_DIR}/debug/bin/freeglutd.dll" + ) +endif() + +# Install license and usage file +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.md") +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") + +message("[VCPKG Omniverse PhysX port execution completed]") diff --git a/ports/physx/remove-werror.patch b/ports/physx/remove-werror.patch deleted file mode 100644 index 94f802e0f21a67..00000000000000 --- a/ports/physx/remove-werror.patch +++ /dev/null @@ -1,66 +0,0 @@ -diff --git a/physx/source/compiler/cmake/android/CMakeLists.txt b/physx/source/compiler/cmake/android/CMakeLists.txt -index 06e0d98b..e6a77f17 100644 ---- a/physx/source/compiler/cmake/android/CMakeLists.txt -+++ b/physx/source/compiler/cmake/android/CMakeLists.txt -@@ -33,15 +33,15 @@ STRING(TOLOWER "${CMAKE_BUILD_TYPE}" CMAKE_BUILD_TYPE_LOWERCASE) - SET(PHYSX_WARNING_DISABLES "-Wno-invalid-offsetof -Wno-maybe-uninitialized -Wno-unused-variable -Wno-variadic-macros -Wno-array-bounds -Wno-strict-aliasing") - - IF(${ANDROID_ABI} STREQUAL "armeabi-v7a") -- SET(PHYSX_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror -Wall -Wextra -Wpedantic -std=c++11 -fno-rtti -fno-exceptions -ffunction-sections -fdata-sections -funwind-tables -fomit-frame-pointer -funswitch-loops -finline-limit=300 -fno-strict-aliasing -fstack-protector ${PHYSX_WARNING_DISABLES}" CACHE INTERNAL "PhysX CXX") -+ SET(PHYSX_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wpedantic -std=c++11 -fno-rtti -fno-exceptions -ffunction-sections -fdata-sections -funwind-tables -fomit-frame-pointer -funswitch-loops -finline-limit=300 -fno-strict-aliasing -fstack-protector ${PHYSX_WARNING_DISABLES}" CACHE INTERNAL "PhysX CXX") - ELSEIF(${ANDROID_ABI} STREQUAL "armeabi-v7a with NEON") -- SET(PHYSX_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror -Wall -Wextra -Wpedantic -std=c++11 -fno-rtti -fno-exceptions -ffunction-sections -funwind-tables -fomit-frame-pointer -funswitch-loops -finline-limit=300 -fno-strict-aliasing -fstack-protector ${PHYSX_WARNING_DISABLES}" CACHE INTERNAL "PhysX CXX") -+ SET(PHYSX_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wpedantic -std=c++11 -fno-rtti -fno-exceptions -ffunction-sections -funwind-tables -fomit-frame-pointer -funswitch-loops -finline-limit=300 -fno-strict-aliasing -fstack-protector ${PHYSX_WARNING_DISABLES}" CACHE INTERNAL "PhysX CXX") - ELSEIF(${ANDROID_ABI} STREQUAL "arm64-v8a") -- SET(PHYSX_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror -Wall -Wextra -Wpedantic -std=c++11 -fno-rtti -fno-exceptions -ffunction-sections -fdata-sections ${PHYSX_WARNING_DISABLES} " CACHE INTERNAL "PhysX CXX") -+ SET(PHYSX_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wpedantic -std=c++11 -fno-rtti -fno-exceptions -ffunction-sections -fdata-sections ${PHYSX_WARNING_DISABLES} " CACHE INTERNAL "PhysX CXX") - ELSEIF(${ANDROID_ABI} STREQUAL "x86") -- SET(PHYSX_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror -Wall -Wextra -Wpedantic -std=c++11 -fno-rtti -fno-exceptions -ffunction-sections -fdata-sections ${PHYSX_WARNING_DISABLES} -fpack-struct=8 -malign-double " CACHE INTERNAL "PhysX CXX") -+ SET(PHYSX_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wpedantic -std=c++11 -fno-rtti -fno-exceptions -ffunction-sections -fdata-sections ${PHYSX_WARNING_DISABLES} -fpack-struct=8 -malign-double " CACHE INTERNAL "PhysX CXX") - ELSEIF(${ANDROID_ABI} STREQUAL "x86_64") -- SET(PHYSX_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror -Wall -Wextra -Wpedantic -std=c++11 -fno-rtti -fno-exceptions -ffunction-sections -fdata-sections ${PHYSX_WARNING_DISABLES} -mstackrealign -msse3 " CACHE INTERNAL "PhysX CXX") -+ SET(PHYSX_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wpedantic -std=c++11 -fno-rtti -fno-exceptions -ffunction-sections -fdata-sections ${PHYSX_WARNING_DISABLES} -mstackrealign -msse3 " CACHE INTERNAL "PhysX CXX") - ENDIF() - - # Build debug info for all configurations -diff --git a/physx/source/compiler/cmake/ios/CMakeLists.txt b/physx/source/compiler/cmake/ios/CMakeLists.txt -index 5605e9af..3d2fe6f0 100644 ---- a/physx/source/compiler/cmake/ios/CMakeLists.txt -+++ b/physx/source/compiler/cmake/ios/CMakeLists.txt -@@ -26,7 +26,7 @@ - ## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved. - - --SET(PHYSX_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fno-rtti -fno-exceptions -ffunction-sections -fdata-sections -ferror-limit=0 -Wall -Wextra -Werror -fstrict-aliasing -Wstrict-aliasing=2 -Weverything -Wno-unknown-warning-option -Wno-documentation-deprecated-sync -Wno-documentation-unknown-command -Wno-float-equal -Wno-padded -Wno-weak-vtables -Wno-cast-align -Wno-conversion -Wno-missing-noreturn -Wno-missing-variable-declarations -Wno-shift-sign-overflow -Wno-covered-switch-default -Wno-exit-time-destructors -Wno-global-constructors -Wno-missing-prototypes -Wno-unreachable-code -Wno-unused-macros -Wno-unused-member-function -Wno-used-but-marked-unused -Wno-weak-template-vtables -Wno-deprecated -Wno-non-virtual-dtor -Wno-invalid-noreturn -Wno-return-type-c-linkage -Wno-reserved-id-macro -Wno-c++98-compat-pedantic -Wno-unused-local-typedef -Wno-old-style-cast -Wno-newline-eof -Wno-unused-private-field -Wno-undefined-reinterpret-cast -Wno-invalid-offsetof -Wno-zero-as-null-pointer-constant -Wno-atomic-implicit-seq-cst -gdwarf-2" CACHE INTERNAL "PhysX CXX") -+SET(PHYSX_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fno-rtti -fno-exceptions -ffunction-sections -fdata-sections -ferror-limit=0 -Wall -Wextra -fstrict-aliasing -Wstrict-aliasing=2 -Weverything -Wno-unknown-warning-option -Wno-documentation-deprecated-sync -Wno-documentation-unknown-command -Wno-float-equal -Wno-padded -Wno-weak-vtables -Wno-cast-align -Wno-conversion -Wno-missing-noreturn -Wno-missing-variable-declarations -Wno-shift-sign-overflow -Wno-covered-switch-default -Wno-exit-time-destructors -Wno-global-constructors -Wno-missing-prototypes -Wno-unreachable-code -Wno-unused-macros -Wno-unused-member-function -Wno-used-but-marked-unused -Wno-weak-template-vtables -Wno-deprecated -Wno-non-virtual-dtor -Wno-invalid-noreturn -Wno-return-type-c-linkage -Wno-reserved-id-macro -Wno-c++98-compat-pedantic -Wno-unused-local-typedef -Wno-old-style-cast -Wno-newline-eof -Wno-unused-private-field -Wno-undefined-reinterpret-cast -Wno-invalid-offsetof -Wno-zero-as-null-pointer-constant -Wno-atomic-implicit-seq-cst -gdwarf-2" CACHE INTERNAL "PhysX CXX") - - SET(CMAKE_SHARED_LINKER_FLAGS_CHECKED "") - SET(CMAKE_SHARED_LINKER_FLAGS_PROFILE "") -diff --git a/physx/source/compiler/cmake/linux/CMakeLists.txt b/physx/source/compiler/cmake/linux/CMakeLists.txt -index aba53365..6246e488 100644 ---- a/physx/source/compiler/cmake/linux/CMakeLists.txt -+++ b/physx/source/compiler/cmake/linux/CMakeLists.txt -@@ -28,8 +28,8 @@ - STRING(TOLOWER "${CMAKE_BUILD_TYPE}" CMAKE_BUILD_TYPE_LOWERCASE) - - #TODO: Fix warnings --SET(CLANG_WARNINGS "-ferror-limit=0 -Wall -Wextra -Werror -Wno-alloca -Wno-anon-enum-enum-conversion -Wstrict-aliasing=2 -Weverything -Wno-documentation-deprecated-sync -Wno-documentation-unknown-command -Wno-gnu-anonymous-struct -Wno-undef -Wno-unused-function -Wno-nested-anon-types -Wno-float-equal -Wno-padded -Wno-weak-vtables -Wno-cast-align -Wno-conversion -Wno-missing-noreturn -Wno-missing-variable-declarations -Wno-shift-sign-overflow -Wno-covered-switch-default -Wno-exit-time-destructors -Wno-global-constructors -Wno-missing-prototypes -Wno-unreachable-code -Wno-unused-macros -Wno-unused-member-function -Wno-used-but-marked-unused -Wno-weak-template-vtables -Wno-deprecated -Wno-non-virtual-dtor -Wno-invalid-noreturn -Wno-return-type-c-linkage -Wno-reserved-id-macro -Wno-c++98-compat-pedantic -Wno-unused-local-typedef -Wno-old-style-cast -Wno-newline-eof -Wno-unused-private-field -Wno-format-nonliteral -Wno-implicit-fallthrough -Wno-undefined-reinterpret-cast -Wno-disabled-macro-expansion -Wno-zero-as-null-pointer-constant -Wno-shadow -Wno-unknown-warning-option -Wno-atomic-implicit-seq-cst -Wno-extra-semi-stmt") --SET(GCC_WARNINGS "-Wall -Werror -Wno-invalid-offsetof -Wno-uninitialized") -+SET(CLANG_WARNINGS "-ferror-limit=0 -Wall -Wextra -Wno-alloca -Wno-anon-enum-enum-conversion -Wstrict-aliasing=2 -Weverything -Wno-documentation-deprecated-sync -Wno-documentation-unknown-command -Wno-gnu-anonymous-struct -Wno-undef -Wno-unused-function -Wno-nested-anon-types -Wno-float-equal -Wno-padded -Wno-weak-vtables -Wno-cast-align -Wno-conversion -Wno-missing-noreturn -Wno-missing-variable-declarations -Wno-shift-sign-overflow -Wno-covered-switch-default -Wno-exit-time-destructors -Wno-global-constructors -Wno-missing-prototypes -Wno-unreachable-code -Wno-unused-macros -Wno-unused-member-function -Wno-used-but-marked-unused -Wno-weak-template-vtables -Wno-deprecated -Wno-non-virtual-dtor -Wno-invalid-noreturn -Wno-return-type-c-linkage -Wno-reserved-id-macro -Wno-c++98-compat-pedantic -Wno-unused-local-typedef -Wno-old-style-cast -Wno-newline-eof -Wno-unused-private-field -Wno-format-nonliteral -Wno-implicit-fallthrough -Wno-undefined-reinterpret-cast -Wno-disabled-macro-expansion -Wno-zero-as-null-pointer-constant -Wno-shadow -Wno-unknown-warning-option -Wno-atomic-implicit-seq-cst -Wno-extra-semi-stmt") -+SET(GCC_WARNINGS "-Wall -Wno-invalid-offsetof -Wno-uninitialized") - - IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") - # using Clang -diff --git a/physx/source/compiler/cmake/mac/CMakeLists.txt b/physx/source/compiler/cmake/mac/CMakeLists.txt -index 36799700..97cb4c7f 100644 ---- a/physx/source/compiler/cmake/mac/CMakeLists.txt -+++ b/physx/source/compiler/cmake/mac/CMakeLists.txt -@@ -28,7 +28,7 @@ - SET(OSX_BITNESS "-arch x86_64") - SET(CMAKE_OSX_ARCHITECTURES "x86_64") - --SET(PHYSX_CXX_FLAGS "${OSX_BITNESS} -msse2 -std=c++11 -fno-rtti -fno-exceptions -ffunction-sections -fdata-sections -Werror -ferror-limit=0 -Wall -Wextra -fstrict-aliasing -Wstrict-aliasing=2 -Weverything -Wno-unknown-warning-option -Wno-documentation-deprecated-sync -Wno-documentation-unknown-command -Wno-float-equal -Wno-padded -Wno-weak-vtables -Wno-cast-align -Wno-conversion -Wno-missing-noreturn -Wno-missing-variable-declarations -Wno-shift-sign-overflow -Wno-covered-switch-default -Wno-exit-time-destructors -Wno-global-constructors -Wno-missing-prototypes -Wno-unreachable-code -Wno-unused-macros -Wno-unused-member-function -Wno-used-but-marked-unused -Wno-weak-template-vtables -Wno-deprecated -Wno-non-virtual-dtor -Wno-invalid-noreturn -Wno-return-type-c-linkage -Wno-reserved-id-macro -Wno-c++98-compat-pedantic -Wno-unused-local-typedef -Wno-old-style-cast -Wno-newline-eof -Wno-unused-private-field -Wno-undefined-reinterpret-cast -Wno-invalid-offsetof -Wno-zero-as-null-pointer-constant -Wno-atomic-implicit-seq-cst -gdwarf-2" CACHE INTERNAL "PhysX CXX") -+SET(PHYSX_CXX_FLAGS "${OSX_BITNESS} -msse2 -std=c++11 -fno-rtti -fno-exceptions -ffunction-sections -fdata-sections -ferror-limit=0 -Wall -Wextra -fstrict-aliasing -Wstrict-aliasing=2 -Weverything -Wno-unknown-warning-option -Wno-documentation-deprecated-sync -Wno-documentation-unknown-command -Wno-float-equal -Wno-padded -Wno-weak-vtables -Wno-cast-align -Wno-conversion -Wno-missing-noreturn -Wno-missing-variable-declarations -Wno-shift-sign-overflow -Wno-covered-switch-default -Wno-exit-time-destructors -Wno-global-constructors -Wno-missing-prototypes -Wno-unreachable-code -Wno-unused-macros -Wno-unused-member-function -Wno-used-but-marked-unused -Wno-weak-template-vtables -Wno-deprecated -Wno-non-virtual-dtor -Wno-invalid-noreturn -Wno-return-type-c-linkage -Wno-reserved-id-macro -Wno-c++98-compat-pedantic -Wno-unused-local-typedef -Wno-old-style-cast -Wno-newline-eof -Wno-unused-private-field -Wno-undefined-reinterpret-cast -Wno-invalid-offsetof -Wno-zero-as-null-pointer-constant -Wno-atomic-implicit-seq-cst -gdwarf-2" CACHE INTERNAL "PhysX CXX") - - SET(CMAKE_SHARED_LINKER_FLAGS_CHECKED "") - SET(CMAKE_SHARED_LINKER_FLAGS_PROFILE "") diff --git a/ports/physx/usage b/ports/physx/usage new file mode 100644 index 00000000000000..80051f9552e43b --- /dev/null +++ b/ports/physx/usage @@ -0,0 +1,30 @@ +[Sample port usage] +physx provides CMake targets: + + cmake_minimum_required(VERSION 3.15) + + find_package(unofficial-omniverse-physx-sdk CONFIG REQUIRED) + target_link_libraries(main PRIVATE unofficial::omniverse-physx-sdk::sdk) + + # Optional: import the defined target to copy over the GPU acceleration libraries (3rd party provided by NVIDIA) + if(TARGET unofficial::omniverse-physx-sdk::gpu-library) + if(UNIX) + # Add rpath setting to find .so libraries on unix based systems + set_target_properties(main PROPERTIES + BUILD_WITH_INSTALL_RPATH TRUE + INSTALL_RPATH "$ORIGIN" + ) + endif() + add_custom_command(TARGET main POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_if_different + $ + $) + if(WIN32) + add_custom_command(TARGET main POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_if_different + $ + $) + endif() + else() + message(WARNING "GPU acceleration library target not defined - GPU acceleration will NOT be available!") + endif() diff --git a/ports/physx/vcpkg.json b/ports/physx/vcpkg.json index 1a93f3f5161822..5d098b177307b4 100644 --- a/ports/physx/vcpkg.json +++ b/ports/physx/vcpkg.json @@ -1,12 +1,22 @@ { "name": "physx", - "version-semver": "4.1.2", - "description": "The NVIDIA PhysX SDK is a scalable multi-platform physics solution supporting a wide range of devices, from smartphones to high-end multicore CPUs and GPUs", - "homepage": "https://github.com/NVIDIAGameWorks/PhysX", + "version": "5.3.0", + "description": "The NVIDIA PhysX SDK is a scalable multi-platform physics solution supporting a wide range of devices, from smartphones to high-end multicore CPUs and GPUs. This is the latest NVIDIA official version of the PhysX engine which also directly integrates into Omniverse. This port is NOT officially supported by NVIDIA.", + "homepage": "https://github.com/NVIDIA-Omniverse/PhysX", + "license": "BSD-3-Clause", + "supports": "(windows & x64 & !mingw & !uwp) | (linux & x64) | (linux & arm64)", "dependencies": [ { "name": "vcpkg-cmake", "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + { + "name": "vcpkg-cmake-get-vars", + "host": true } ] } diff --git a/ports/picojson/vcpkg.json b/ports/picojson/vcpkg.json index 540a2ad3d50907..4b4ac192c5c4cd 100644 --- a/ports/picojson/vcpkg.json +++ b/ports/picojson/vcpkg.json @@ -1,7 +1,7 @@ { "name": "picojson", - "version-string": "1.3.0", - "port-version": 2, + "version": "1.3.0", + "port-version": 3, "description": "A header-file-only, JSON parser serializer in C++.", "homepage": "https://github.com/kazuho/picojson" } diff --git a/ports/picosha2/vcpkg.json b/ports/picosha2/vcpkg.json index 45091e449f79e2..56ab0dcd0cd7f1 100644 --- a/ports/picosha2/vcpkg.json +++ b/ports/picosha2/vcpkg.json @@ -1,7 +1,7 @@ { "name": "picosha2", - "version-string": "2018-07-30", - "port-version": 1, + "version-date": "2018-07-30", + "port-version": 2, "description": "PicoSHA2 - a C++ SHA256 hash generator", "homepage": "https://github.com/okdshin/PicoSHA2" } diff --git a/ports/piex/CMakeLists.txt b/ports/piex/CMakeLists.txt index 35a881055c4eb2..7b782a66d7b0fd 100644 --- a/ports/piex/CMakeLists.txt +++ b/ports/piex/CMakeLists.txt @@ -17,6 +17,7 @@ add_library(image_type_recognition ) target_link_libraries(image_type_recognition binary_parse) +target_compile_features(image_type_recognition PUBLIC cxx_std_11) add_library(tiff_directory src/tiff_directory/tiff_directory.cc @@ -30,6 +31,7 @@ add_library(piex ) target_link_libraries(piex tiff_directory image_type_recognition binary_parse) +target_compile_features(piex PUBLIC cxx_std_11) install( TARGETS piex diff --git a/ports/piex/portfile.cmake b/ports/piex/portfile.cmake index 485210da0180f2..44ff3fc7de3df6 100644 --- a/ports/piex/portfile.cmake +++ b/ports/piex/portfile.cmake @@ -8,16 +8,15 @@ vcpkg_from_github( HEAD_REF master ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS_DEBUG - -DDISABLE_INSTALL_HEADERS=ON + -DDISABLE_INSTALL_HEADERS=ON ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/piex RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/piex" RENAME copyright) diff --git a/ports/piex/vcpkg.json b/ports/piex/vcpkg.json index fdb727fb705db4..497b60aaa690b9 100644 --- a/ports/piex/vcpkg.json +++ b/ports/piex/vcpkg.json @@ -1,7 +1,13 @@ { "name": "piex", - "version-string": "2019-07-11", - "port-version": 1, + "version-date": "2019-07-11", + "port-version": 2, "description": "The Preview Image Extractor (PIEX) is designed to find and extract the largest", - "homepage": "https://github.com/google/piex" + "homepage": "https://github.com/google/piex", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/pipewire/portfile.cmake b/ports/pipewire/portfile.cmake new file mode 100644 index 00000000000000..3fc9d86bfeefb0 --- /dev/null +++ b/ports/pipewire/portfile.cmake @@ -0,0 +1,95 @@ +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.freedesktop.org/ + OUT_SOURCE_PATH SOURCE_PATH + REPO pipewire/pipewire + REF "${VERSION}" + SHA512 8f444695a3ec4c03fa1a9735d0c08031631b565ff8fbee0edcbbbdf87330da632eb87ba92a9071cbfa2d9ed96705002e63ae7c48277fc45a0a3b793fff39819a + HEAD_REF master # branch name +) + +vcpkg_configure_meson( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -Dalsa=disabled + -Daudioconvert=enabled + -Daudiomixer=disabled + -Daudiotestsrc=disabled + -Davahi=disabled + -Dbluez5-backend-hfp-native=disabled + -Dbluez5-backend-hsp-native=disabled + -Dbluez5-backend-hsphfpd=disabled + -Dbluez5-backend-ofono=disabled + -Dbluez5-codec-aac=disabled + -Dbluez5-codec-aptx=disabled + -Dbluez5-codec-lc3plus=disabled + -Dbluez5-codec-ldac=disabled + -Dbluez5=disabled + -Dcontrol=disabled + -Ddbus=disabled + -Ddocs=disabled + -Decho-cancel-webrtc=disabled + -Devl=disabled + -Dexamples=disabled + -Dffmpeg=disabled + -Dgstreamer-device-provider=disabled + -Dgstreamer=disabled + -Dinstalled_tests=disabled + -Djack-devel=false + -Djack=disabled + -Dlegacy-rtkit=false + -Dlibcamera=disabled + -Dlibcanberra=disabled + -Dlibpulse=disabled + -Dlibusb=disabled + -Dlv2=disabled + -Dman=disabled + -Dopus=disabled + -Dpipewire-alsa=disabled + -Dpipewire-jack=disabled + -Dpipewire-v4l2=disabled + -Dpw-cat=disabled + -Draop=disabled + -Droc=disabled + -Dsdl2=disabled + -Dsndfile=disabled + -Dspa-plugins=enabled # This one must be enabled or the resulting build won't be able to connect to pipewire daemon + -Dsupport=enabled # This one must be enabled or the resulting build won't be able to connect to pipewire daemon + -Dsystemd-system-service=disabled + -Dsystemd-system-unit-dir=disabled + -Dsystemd-user-service=disabled + -Dsystemd-user-unit-dir=disabled + -Dsystemd=disabled + -Dtest=disabled + -Dtests=disabled + -Dudev=disabled + -Dudevrulesdir=disabled + -Dv4l2=disabled + -Dvideoconvert=disabled + -Dvideotestsrc=disabled + -Dvolume=disabled + -Dvulkan=disabled + -Dx11-xfixes=disabled + -Dx11=disabled + -Dsession-managers=[] + -Dc_args=-Wno-strict-prototypes +) +vcpkg_install_meson() +vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") +endif() + +# remove absolute paths +file(GLOB config_files "${CURRENT_PACKAGES_DIR}/share/${PORT}/*.conf") +foreach(file ${config_files}) + vcpkg_replace_string("${file}" "in ${CURRENT_PACKAGES_DIR}/etc/pipewire for system-wide changes\n# or" "" IGNORE_UNCHANGED) + cmake_path(GET file FILENAME filename) + vcpkg_replace_string("${file}" "# ${CURRENT_PACKAGES_DIR}/etc/pipewire/${filename}.d/ for system-wide changes or in" "" IGNORE_UNCHANGED) +endforeach() +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/pipewire/pipewire.conf" "${CURRENT_PACKAGES_DIR}/bin" "") +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/pipewire/minimal.conf" "${CURRENT_PACKAGES_DIR}/bin" "") diff --git a/ports/pipewire/vcpkg.json b/ports/pipewire/vcpkg.json new file mode 100644 index 00000000000000..8e08783315dce9 --- /dev/null +++ b/ports/pipewire/vcpkg.json @@ -0,0 +1,15 @@ +{ + "name": "pipewire", + "version": "1.2.6", + "description": "Low-latency audio/video router and processor. This port only builds the client library, not the server.", + "homepage": "https://pipewire.org", + "license": "MIT", + "supports": "linux", + "dependencies": [ + "glib", + { + "name": "vcpkg-tool-meson", + "host": true + } + ] +} diff --git a/ports/pistache/vcpkg.json b/ports/pistache/vcpkg.json index d627fc301cadaf..fb464a5a10b9d1 100644 --- a/ports/pistache/vcpkg.json +++ b/ports/pistache/vcpkg.json @@ -1,11 +1,15 @@ { "name": "pistache", "version-date": "2021-03-31", - "port-version": 2, + "port-version": 3, "description": "Pistache is a modern and elegant HTTP and REST framework for C++. It is entirely written in pure-C++11 and provides a clear and pleasant API", "homepage": "https://github.com/oktal/pistache", "supports": "linux", "dependencies": [ - "rapidjson" + "rapidjson", + { + "name": "vcpkg-tool-meson", + "host": true + } ] } diff --git a/ports/pixel/001-prevent-examples.patch b/ports/pixel/001-prevent-examples.patch new file mode 100644 index 00000000000000..ec958f867c90d5 --- /dev/null +++ b/ports/pixel/001-prevent-examples.patch @@ -0,0 +1,38 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b910231..71f7ddf 100755 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -34,6 +34,8 @@ else() + target_link_libraries(pixel PUBLIC SDL2::SDL2) + endif() + ++option(BUILD_EXAMPLES "Build examples" OFF) ++if(BUILD_EXAMPLES) + add_executable(image_swap examples/image_swap/src/image_swap.cpp) + target_link_libraries(image_swap PRIVATE pixel) + add_executable(randomdots examples/randomdots/src/randomdots.cpp) +@@ -50,7 +52,11 @@ add_executable(simple examples/simple/src/simple.cpp) + target_link_libraries(simple PRIVATE pixel) + add_executable(starfield examples/starfield/src/starfield.cpp) + target_link_libraries(starfield PRIVATE pixel) ++endif() + ++if(MSVC) ++ add_compile_definitions(_CRT_SECURE_NO_WARNINGS) ++endif() + + # Install Section + include(GNUInstallDirs) +@@ -87,12 +93,6 @@ install( + DESTINATION ${CMAKE_INSTALL_PREFIX} + ) + +-install( +- FILES +- ${PROJECT_SOURCE_DIR}/LICENSE +- DESTINATION ${CMAKE_INSTALL_DATADIR}/pixel/copyright +- ) +- + install( + FILES + ${PROJECT_BINARY_DIR}/pixelConfig.cmake diff --git a/ports/pixel/portfile.cmake b/ports/pixel/portfile.cmake index 0b63c66f7ae867..36c5424f494e2d 100644 --- a/ports/pixel/portfile.cmake +++ b/ports/pixel/portfile.cmake @@ -1,26 +1,29 @@ -vcpkg_fail_port_install(ON_TARGET "Windows") - if(VCPKG_TARGET_IS_LINUX) - message(WARNING"${PORT} currently requires libglu1-mesa from the system package manager: + message(WARNING "${PORT} currently requires libglu1-mesa from the system package manager: This can be installed on Ubuntu systems via sudo apt install libglu1-mesa-dev") endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO dascandy/pixel - REF v0.3 - SHA512 d7d622679195d0eb30c8ed411333711369b108e2171d1e4b0a93c7ae3bd1fb36a25fbe1f5771c858615c07ee139412e5353b8cb5489cb409dd94829253c18a7b + REF c4411f67746fdd811aa5f8c102ac340e9eaf4ec5 + SHA512 e4f704c076bb61220349524b0b1033a92c44128bb81e79dbd32ea2d1aa9d4abb0d6daab3617f69b59d1c1e50d750767153174fea015d8718804612f4d9f68ff6 HEAD_REF master + PATCHES + 001-prevent-examples.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_EXAMPLES=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -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") vcpkg_copy_pdbs() + +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/pixel/vcpkg.json b/ports/pixel/vcpkg.json index df2963bc99ff8c..cc01890b4b2cf3 100644 --- a/ports/pixel/vcpkg.json +++ b/ports/pixel/vcpkg.json @@ -1,10 +1,10 @@ { "name": "pixel", - "version-string": "0.3", - "port-version": 3, + "version-date": "2022-03-15", + "port-version": 1, "description": "Simple 2D Graphics based on standard and portable OpenGL.", "homepage": "https://github.com/dascandy/pixel", - "supports": "!windows", + "license": "Apache-2.0", "dependencies": [ "glew", "opengl", @@ -19,6 +19,10 @@ { "name": "sdl2", "platform": "!linux" + }, + { + "name": "vcpkg-cmake", + "host": true } ] } diff --git a/ports/pixman/fix_clang-cl.patch b/ports/pixman/fix_clang-cl.patch new file mode 100644 index 00000000000000..0a6bdba566b2ea --- /dev/null +++ b/ports/pixman/fix_clang-cl.patch @@ -0,0 +1,13 @@ +diff --git a/pixman/pixman-mmx.c b/pixman/pixman-mmx.c +index d7cf2659d..625a08ace 100644 +--- a/pixman/pixman-mmx.c ++++ b/pixman/pixman-mmx.c +@@ -137,7 +137,7 @@ _mm_mulhi_pu16 (__m64 __A, __m64 __B) + * then define USE_M64_CASTS. + * If __m64 is a double datatype, then define USE_M64_DOUBLE. + */ +-#ifdef _MSC_VER ++#if defined(_MSC_VER) && !defined(__clang__) + # define M64_MEMBER m64_u64 + #elif defined(__ICC) + # define USE_CVT_INTRINSICS diff --git a/ports/pixman/missing_intrin_include.patch b/ports/pixman/missing_intrin_include.patch new file mode 100644 index 00000000000000..76f74af70a54f5 --- /dev/null +++ b/ports/pixman/missing_intrin_include.patch @@ -0,0 +1,15 @@ +diff --git a/pixman/pixman-x86.c b/pixman/pixman-x86.c +index 0130b7bfa..d3d0fe1d9 100644 +--- a/pixman/pixman-x86.c ++++ b/pixman/pixman-x86.c +@@ -24,7 +24,10 @@ + #endif + + #include "pixman-private.h" ++#ifdef _MSC_VER ++#include ++#endif + + #if defined(USE_X86_MMX) || defined (USE_SSE2) || defined (USE_SSSE3) + + /* The CPU detection code needs to be in a file not compiled with diff --git a/ports/pixman/no-host-cpu-checks.patch b/ports/pixman/no-host-cpu-checks.patch new file mode 100644 index 00000000000000..f70c54a01c2ac2 --- /dev/null +++ b/ports/pixman/no-host-cpu-checks.patch @@ -0,0 +1,108 @@ +diff --git a/meson.build b/meson.build +index 1cec227..1b07ca8 100644 +--- a/meson.build ++++ b/meson.build +@@ -95,44 +95,7 @@ else + mmx_flags = ['-mmmx', '-Winline'] + endif + if not use_mmx.disabled() +- if host_machine.cpu_family() == 'x86_64' or cc.get_id() == 'msvc' +- have_mmx = true +- elif host_machine.cpu_family() == 'x86' and cc.compiles(''' +- #include +- #include +- +- /* Check support for block expressions */ +- #define _mm_shuffle_pi16(A, N) \ +- ({ \ +- __m64 ret; \ +- \ +- /* Some versions of clang will choke on K */ \ +- asm ("pshufw %2, %1, %0\n\t" \ +- : "=y" (ret) \ +- : "y" (A), "K" ((const int8_t)N) \ +- ); \ +- \ +- ret; \ +- }) +- +- int main () { +- __m64 v = _mm_cvtsi32_si64 (1); +- __m64 w; +- +- w = _mm_shuffle_pi16(v, 5); +- +- /* Some versions of clang will choke on this */ +- asm ("pmulhuw %1, %0\n\t" +- : "+y" (w) +- : "y" (v) +- ); +- +- return _mm_cvtsi64_si32 (v); +- }''', +- args : mmx_flags, +- name : 'MMX Intrinsic Support') +- have_mmx = true +- endif ++ have_mmx = true + endif + + if have_mmx +@@ -154,29 +117,7 @@ elif cc.get_id() != 'msvc' + sse2_flags = ['-msse2', '-Winline'] + endif + if not use_sse2.disabled() +- if host_machine.cpu_family() == 'x86' +- if cc.compiles(''' +- #if defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 2)) +- # if !defined(__amd64__) && !defined(__x86_64__) +- # error "Need GCC >= 4.2 for SSE2 intrinsics on x86" +- # endif +- #endif +- #include +- #include +- #include +- int param; +- int main () { +- __m128i a = _mm_set1_epi32 (param), b = _mm_set1_epi32 (param + 1), c; +- c = _mm_xor_si128 (a, b); +- return _mm_cvtsi128_si32(c); +- }''', +- args : sse2_flags, +- name : 'SSE2 Intrinsic Support') +- have_sse2 = true +- endif +- elif host_machine.cpu_family() == 'x86_64' +- have_sse2 = true +- endif ++ have_sse2 = true + endif + + if have_sse2 +@@ -192,24 +133,8 @@ if cc.get_id() != 'msvc' + ssse3_flags = ['-mssse3', '-Winline'] + endif + +-# x64 pre-2010 MSVC compilers crashes when building the ssse3 code +-if not use_ssse3.disabled() and not (cc.get_id() == 'msvc' and cc.version().version_compare('<16') and host_machine.cpu_family() == 'x86_64') +- if host_machine.cpu_family().startswith('x86') +- if cc.compiles(''' +- #include +- #include +- #include +- int param; +- int main () { +- __m128i a = _mm_set1_epi32 (param), b = _mm_set1_epi32 (param + 1), c; +- c = _mm_xor_si128 (a, b); +- return _mm_cvtsi128_si32(c); +- }''', +- args : ssse3_flags, +- name : 'SSSE3 Intrinsic Support') +- have_ssse3 = true +- endif +- endif ++if use_ssse3.enabled() ++ have_ssse3 = true + endif + + if have_ssse3 diff --git a/ports/pixman/portfile.cmake b/ports/pixman/portfile.cmake index 43f4f3ddbaf08b..09e6972fade8a7 100644 --- a/ports/pixman/portfile.cmake +++ b/ports/pixman/portfile.cmake @@ -1,15 +1,15 @@ -if(VCPKG_TARGET_IS_WINDOWS) - vcpkg_check_linkage(ONLY_STATIC_LIBRARY) # Meson is not able to automatically export symbols for DLLs -endif() - if(VCPKG_TARGET_IS_UWP) list(APPEND OPTIONS -Dmmx=disabled -Dsse2=disabled -Dssse3=disabled) elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") - set(VCPKG_CXX_FLAGS "/arch:SSE2 ${VCPKG_CXX_FLAGS}") - set(VCPKG_C_FLAGS "/arch:SSE2 ${VCPKG_C_FLAGS}") + if(CMAKE_C_COMPILER_ID STREQUAL "MSVC") + set(VCPKG_C_FLAGS "/arch:SSE2 ${VCPKG_C_FLAGS}") + endif() + if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") + set(VCPKG_CXX_FLAGS "/arch:SSE2 ${VCPKG_CXX_FLAGS}") + endif() list(APPEND OPTIONS -Dmmx=enabled -Dsse2=enabled @@ -21,31 +21,51 @@ elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") -Dsse2=enabled -Dssse3=enabled) elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "arm") - list(APPEND OPTIONS - #-Darm-simd=enabled does not work with arm64-windows - -Dmmx=disabled - -Dsse2=disabled - -Dssse3=disabled - ) + list(APPEND OPTIONS + #-Darm-simd=enabled does not work with arm64-windows + -Dmmx=disabled + -Dsse2=disabled + -Dssse3=disabled) +elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "mips") + list(APPEND OPTIONS + -Dmmx=disabled + -Dsse2=disabled + -Dssse3=disabled) endif() -set(PIXMAN_VERSION 0.40.0) -vcpkg_download_distfile(ARCHIVE - URLS "https://www.cairographics.org/releases/pixman-${PIXMAN_VERSION}.tar.gz" - FILENAME "pixman-${PIXMAN_VERSION}.tar.gz" - SHA512 063776e132f5d59a6d3f94497da41d6fc1c7dca0d269149c78247f0e0d7f520a25208d908cf5e421d1564889a91da44267b12d61c0bd7934cd54261729a7de5f -) -vcpkg_extract_source_archive_ex( +if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_TARGET_ARCHITECTURE MATCHES "arm") + list(APPEND OPTIONS + -Da64-neon=disabled + -Darm-simd=disabled + -Dneon=disabled + ) +endif() + +if(VCPKG_TARGET_IS_OSX) + # https://github.com/microsoft/vcpkg/issues/29168 + list(APPEND OPTIONS -Da64-neon=disabled) +endif() + +vcpkg_from_gitlab( OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} - REF ${PIXMAN_VERSION} - PATCHES remove_test_demos.patch + GITLAB_URL https://gitlab.freedesktop.org + REPO pixman/pixman + REF "pixman-${VERSION}" + SHA512 daeb25d91e9cb8d450a6f050cbec1d91e239a03188e993ceb6286605c5ed33d97e08d6f57efaf1d5c6a8a1eedb1ebe6c113849a80d9028d5ea189c54601be424 + PATCHES + no-host-cpu-checks.patch + fix_clang-cl.patch + missing_intrin_include.patch ) + # Meson install wrongly pkgconfig file! vcpkg_configure_meson( SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${OPTIONS} + -Ddemos=disabled + -Dgtk=disabled -Dlibpng=enabled + -Dtests=disabled ) vcpkg_install_meson() vcpkg_fixup_pkgconfig() @@ -55,3 +75,4 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") # # Handle copyright file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +file(INSTALL "${SOURCE_PATH}/README" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME readme.txt) diff --git a/ports/pixman/remove_test_demos.patch b/ports/pixman/remove_test_demos.patch deleted file mode 100644 index 18efbdc2f9b47d..00000000000000 --- a/ports/pixman/remove_test_demos.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/meson.build b/meson.build -index 1cec22728..fa6199ed0 100644 ---- a/meson.build -+++ b/meson.build -@@ -528,8 +528,8 @@ version_conf.set('PIXMAN_VERSION_MICRO', split[2]) - add_project_arguments('-DHAVE_CONFIG_H', language : ['c']) - - subdir('pixman') --subdir('test') --subdir('demos') -+# subdir('test') -+# subdir('demos') - - pkg = import('pkgconfig') - pkg.generate( diff --git a/ports/pixman/vcpkg.json b/ports/pixman/vcpkg.json index 17284edad02e9f..0d8a1ac2c1e2a2 100644 --- a/ports/pixman/vcpkg.json +++ b/ports/pixman/vcpkg.json @@ -1,10 +1,15 @@ { "name": "pixman", - "version": "0.40.0", + "version": "0.43.4", + "port-version": 1, "description": "Pixman is a low-level software library for pixel manipulation, providing features such as image compositing and trapezoid rasterization.", "homepage": "https://www.cairographics.org/releases", + "license": "MIT", "dependencies": [ "libpng", - "tool-meson" + { + "name": "vcpkg-tool-meson", + "host": true + } ] } diff --git a/ports/pkgconf/portfile.cmake b/ports/pkgconf/portfile.cmake index 1d8dda8dd16f0b..11b518c5328044 100644 --- a/ports/pkgconf/portfile.cmake +++ b/ports/pkgconf/portfile.cmake @@ -1,21 +1,76 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO pkgconf/pkgconf - REF cef30268e1a3f79efd607c26abcf556aa314c9c4 - SHA512 ea03b81d01521201bdc471a39cdc8b13f9452f7cc78706d5c57056595f3e4e8a3562c022ebb72ce6444f2c7a8dfc778114814ef5064eaef770a70cc294c7f7ee + REF "pkgconf-${VERSION}" + SHA512 0759e63b9bfdc1e0b2f95e4c5c7be24b4ffa22e06a08cfad7f8e8be9faf99c256b1cbc72159e4ec805791d6b507a80fc344d05d63a1d273c3285dac868bf6ca0 HEAD_REF master ) vcpkg_configure_meson( SOURCE_PATH "${SOURCE_PATH}" NO_PKG_CONFIG - OPTIONS -Dtests=false - ) + OPTIONS -Dtests=disabled +) + +set(systemsuffix "") +set(architectureprefix "") + +set(SYSTEM_LIBDIR "") +set(PKG_DEFAULT_PATH "") +set(SYSTEM_INCLUDEDIR "") +set(PERSONALITY_PATH "personality.d") + + +if(NOT VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_CROSSCOMPILING AND VCPKG_TARGET_ARCHITECTURE MATCHES "x64") + # These defaults are obtained from pkgconf/pkg-config on Ubuntu and OpenSuse + # vcpkg cannot do system introspection to obtain/set these values since it would break binary caching. + set(SYSTEM_INCLUDEDIR "/usr/include") + # System lib dirs will be stripped from -L from the pkg-config output + set(SYSTEM_LIBDIR "/lib:/lib/i386-linux-gnu:/lib/x86_64-linux-gnu:/lib/x86_64-linux-gnux32:/lib64:/lib32:/libx32:/usr/lib:/usr/lib/i386-linux-gnu:/usr/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnux32:/usr/lib64:/usr/lib32:/usr/libx32") + set(PKG_DEFAULT_PATH "/usr/local/lib/x86_64-linux-gnu/pkgconfig:/usr/local/lib64/pkgconfig:/usr/local/lib/pkgconfig:/usr/local/share/pkgconfig:/usr/lib/x86_64-linux-gnu/pkgconfig:/usr/lib64/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig") + set(PERSONALITY_PATH "/usr/share/pkgconfig/personality.d:/etc/pkgconfig/personality.d") +endif() + +if(DEFINED VCPKG_pkgconf_SYSTEM_LIBDIR) + set(SYSTEM_LIBDIR "${VCPKG_pkgconf_SYSTEM_LIBDIR}") +endif() +if(DEFINED VCPKG_pkgconf_PKG_DEFAULT_PATH) + set(PKG_DEFAULT_PATH "${VCPKG_pkgconf_PKG_DEFAULT_PATH}") +endif() +if(DEFINED VCPKG_pkgconf_SYSTEM_INCLUDEDIR) + set(SYSTEM_INCLUDEDIR "${VCPKG_pkgconf_SYSTEM_INCLUDEDIR}") +endif() +if(DEFINED VCPKG_pkgconf_PERSONALITY_PATH) + set(PERSONALITY_PATH "${VCPKG_pkgconf_PERSONALITY_PATH}") +endif() + + +set(pkgconfig_file "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/libpkgconf/config.h") +if(EXISTS "${pkgconfig_file}") + file(READ "${pkgconfig_file}" contents) + string(REGEX REPLACE "#define PKG_DEFAULT_PATH [^\n]+" "#define PKG_DEFAULT_PATH \"${PKG_DEFAULT_PATH}\"" contents "${contents}") + string(REGEX REPLACE "#define SYSTEM_INCLUDEDIR [^\n]+" "#define SYSTEM_INCLUDEDIR \"${SYSTEM_INCLUDEDIR}\"" contents "${contents}") + string(REGEX REPLACE "#define SYSTEM_LIBDIR [^\n]+" "#define SYSTEM_LIBDIR \"${SYSTEM_LIBDIR}\"" contents "${contents}") + string(REGEX REPLACE "#define PERSONALITY_PATH [^\n]+" "#define PERSONALITY_PATH \"${PERSONALITY_PATH}\"" contents "${contents}") + file(WRITE "${pkgconfig_file}" "${contents}") +endif() +set(pkgconfig_file "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/libpkgconf/config.h") +if(EXISTS "${pkgconfig_file}") + file(READ "${pkgconfig_file}" contents) + string(REGEX REPLACE "#define PKG_DEFAULT_PATH [^\n]+" "#define PKG_DEFAULT_PATH \"${PKG_DEFAULT_PATH}\"" contents "${contents}") + string(REGEX REPLACE "#define SYSTEM_INCLUDEDIR [^\n]+" "#define SYSTEM_INCLUDEDIR \"${SYSTEM_INCLUDEDIR}\"" contents "${contents}") + string(REGEX REPLACE "#define SYSTEM_LIBDIR [^\n]+" "#define SYSTEM_LIBDIR \"${SYSTEM_LIBDIR}\"" contents "${contents}") + string(REGEX REPLACE "#define PERSONALITY_PATH [^\n]+" "#define PERSONALITY_PATH \"${PERSONALITY_PATH}\"" contents "${contents}") + file(WRITE "${pkgconfig_file}" "${contents}") +endif() + vcpkg_install_meson() vcpkg_fixup_pkgconfig(SKIP_CHECK) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/doc") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/man") if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/pkgconf/libpkgconf/libpkgconf-api.h" "#if defined(PKGCONFIG_IS_STATIC)" "#if 1") @@ -23,5 +78,4 @@ endif() vcpkg_copy_tools(TOOL_NAMES pkgconf AUTO_CLEAN) -# Handle copyright file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/pkgconf/vcpkg.json b/ports/pkgconf/vcpkg.json index 8d544f1023b6d3..3a286abfb014ef 100644 --- a/ports/pkgconf/vcpkg.json +++ b/ports/pkgconf/vcpkg.json @@ -1,7 +1,14 @@ { "name": "pkgconf", - "version": "1.8.0", + "version": "2.3.0", "description": "pkgconf is a program which helps to configure compiler and linker flags for development libraries. It is similar to pkg-config from freedesktop.org.", "homepage": "https://github.com/pkgconf/pkgconf", - "supports": "!uwp" + "license": null, + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-tool-meson", + "host": true + } + ] } diff --git a/ports/plasma-wayland-protocols/portfile.cmake b/ports/plasma-wayland-protocols/portfile.cmake new file mode 100644 index 00000000000000..647fb0f6d19553 --- /dev/null +++ b/ports/plasma-wayland-protocols/portfile.cmake @@ -0,0 +1,29 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO KDE/plasma-wayland-protocols + REF "v${VERSION}" + SHA512 3cb5ea1c5c69384181005520c9999b0f1548ec91f2894204ab9a103dd6d76621932f4d6c536664797ab2d24df4e1f182a353bd9be802565ec48dec657cc59276 + HEAD_REF master +) + +# Prevent KDEClangFormat from writing to source effectively blocking parallel configure +file(WRITE "${SOURCE_PATH}/.clang-format" "DisableFormat: true\nSortIncludes: false\n") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME PlasmaWaylandProtocols CONFIG_PATH lib/cmake/PlasmaWaylandProtocols) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") + +file(GLOB LICENSE_FILES "${SOURCE_PATH}/LICENSES/*") +vcpkg_install_copyright(FILE_LIST ${LICENSE_FILES}) + +# Allow empty include directory +set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) \ No newline at end of file diff --git a/ports/plasma-wayland-protocols/vcpkg.json b/ports/plasma-wayland-protocols/vcpkg.json new file mode 100644 index 00000000000000..f93b2bbfd09ed5 --- /dev/null +++ b/ports/plasma-wayland-protocols/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "plasma-wayland-protocols", + "version": "1.14.0", + "description": "The non-standard Wayland protocols use by KDE Plasma", + "homepage": "https://invent.kde.org/libraries/plasma-wayland-protocols/-/tree/master/", + "supports": "linux", + "dependencies": [ + "ecm", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/platform-folders/portfile.cmake b/ports/platform-folders/portfile.cmake index f7832767d7b097..df06adb9e6e26c 100644 --- a/ports/platform-folders/portfile.cmake +++ b/ports/platform-folders/portfile.cmake @@ -4,19 +4,18 @@ set(TARGET_BUILD_PATH "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}") vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO sago007/PlatformFolders - REF 4.1.0 - SHA512 B2C7983399D9EAA8EF95F45E51B7B70626466FC14A0E53C8B497E683D63E40683CC995C75FC9529C7E969BB802CF9C92051B663901326985722AEBF7618C48EB + REF 4.2.0 + SHA512 50a9acd37b8b491e8938190b3b7ed1af2d3cc70bb6e59708dc1928269d5e4b8d52ec02f9330f3d9439099029ac61d193dadbca198e1d561432e02e488e103f7c HEAD_REF master ) -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - PREFER_NINJA OPTIONS - -DBUILD_TESTING=OFF + -DPLATFORMFOLDERS_BUILD_TESTING=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/bin") file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/bin") @@ -25,12 +24,12 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) endif() if (VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_UWP OR VCPKG_TARGET_IS_MinGW) - vcpkg_fixup_cmake_targets(CONFIG_PATH cmake/ TARGET_PATH /share/platform_folders) + vcpkg_cmake_config_fixup(PACKAGE_NAME platform_folders CONFIG_PATH cmake) else() - vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/ TARGET_PATH /share/) + vcpkg_cmake_config_fixup(PACKAGE_NAME platform_folders CONFIG_PATH lib/cmake/platform_folders) 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") vcpkg_copy_pdbs() diff --git a/ports/platform-folders/vcpkg.json b/ports/platform-folders/vcpkg.json index 48230b0469e2f6..2c6ae3d6218dec 100644 --- a/ports/platform-folders/vcpkg.json +++ b/ports/platform-folders/vcpkg.json @@ -1,6 +1,18 @@ { "name": "platform-folders", - "version": "4.1.0", + "version": "4.2.0", + "port-version": 1, "description": "A C++ library to look for special directories like \"My Documents\" and \"%APPDATA%\"", - "homepage": "https://github.com/sago007/PlatformFolders" + "homepage": "https://github.com/sago007/PlatformFolders", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/plf-colony/portfile.cmake b/ports/plf-colony/portfile.cmake index 97e64da711248f..c33598f9423f25 100644 --- a/ports/plf-colony/portfile.cmake +++ b/ports/plf-colony/portfile.cmake @@ -3,12 +3,11 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO mattreecebentley/plf_colony - REF e6e563b63dd9e64fc2fcc66a757e366641e62f01 - SHA512 61723a47387fb3ce9a342fbd6db11369774c1a5c5d28ba2db1fee3396a0588a0e9df50cbcaa4561f409d34ddadc17ae61dba29606aa6481647f3bcd003cfaafa + REF abb0aa6525a3dae56aacf50899517f47e7036016 + SHA512 6a854827b29f4c7fd6d7bae2b62d0b86064cb56ca5484fb262dfe7402a0da3a29834ebc075693bc5d3f9d348ee5b7dc5ae974b7b477bd3409c0927ce15961bd9 HEAD_REF master ) -file(COPY ${SOURCE_PATH}/plf_colony.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) +file(COPY "${SOURCE_PATH}/plf_colony.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include") -# Handle copyright -configure_file(${SOURCE_PATH}/LICENSE.md ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) +file(INSTALL "${SOURCE_PATH}/LICENSE.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/plf-colony/vcpkg.json b/ports/plf-colony/vcpkg.json index 5529658fae8dcf..434a723db8d2cb 100644 --- a/ports/plf-colony/vcpkg.json +++ b/ports/plf-colony/vcpkg.json @@ -1,6 +1,6 @@ { "name": "plf-colony", - "version": "6.28", + "version": "7.41", "description": "An unordered C++ data container providing fast iteration/insertion/erasure while maintaining pointer/iterator validity to non-erased elements regardless of insertions/erasures.", "homepage": "https://plflib.org/colony.htm" } diff --git a/ports/plf-hive/portfile.cmake b/ports/plf-hive/portfile.cmake new file mode 100644 index 00000000000000..8fcbfb5d3d0e41 --- /dev/null +++ b/ports/plf-hive/portfile.cmake @@ -0,0 +1,13 @@ +# header-only library + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO mattreecebentley/plf_hive + REF 39dfcc5712125cc645df123c120006b7a6fd95d6 + SHA512 81a1f185ca8293b6fb83605c05ecf14d024194334cb64932daa29ecae064918241fa7f3e4a688dc2b19b4b5dd8a2605d60947bd513f7cd30299fd6ba25aa8b35 + HEAD_REF master +) + +file(COPY "${SOURCE_PATH}/plf_hive.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include") + +file(INSTALL "${SOURCE_PATH}/LICENSE.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/plf-hive/vcpkg.json b/ports/plf-hive/vcpkg.json new file mode 100644 index 00000000000000..4393fa9720e693 --- /dev/null +++ b/ports/plf-hive/vcpkg.json @@ -0,0 +1,6 @@ +{ + "name": "plf-hive", + "version-date": "2021-12-11", + "description": "plf::hive is a fork of plf::colony to match the current C++ standards proposal.", + "homepage": "https://plflib.org/colony.htm" +} diff --git a/ports/plf-list/vcpkg.json b/ports/plf-list/vcpkg.json index e86191647f677a..c1f91d67b1ada1 100644 --- a/ports/plf-list/vcpkg.json +++ b/ports/plf-list/vcpkg.json @@ -1,7 +1,7 @@ { "name": "plf-list", - "version-string": "2019-08-10", - "port-version": 1, + "version-date": "2019-08-10", + "port-version": 2, "description": "A drop-in replacement for std::list with 293% faster insertion, 57% faster erasure, 17% faster iteration and 77% faster sorting on average", "homepage": "https://www.plflib.org/" } diff --git a/ports/plf-nanotimer/vcpkg.json b/ports/plf-nanotimer/vcpkg.json index 26e8a22e466f31..8d4b15c71e20d7 100644 --- a/ports/plf-nanotimer/vcpkg.json +++ b/ports/plf-nanotimer/vcpkg.json @@ -1,7 +1,7 @@ { "name": "plf-nanotimer", - "version-string": "2019-08-10", - "port-version": 1, + "version-date": "2019-08-10", + "port-version": 2, "description": "A simple C++ 03/11/etc timer class for ~microsecond-precision cross-platform benchmarking", "homepage": "https://www.plflib.org/" } diff --git a/ports/plf-queue/portfile.cmake b/ports/plf-queue/portfile.cmake new file mode 100644 index 00000000000000..d4b4dd7bf2cc67 --- /dev/null +++ b/ports/plf-queue/portfile.cmake @@ -0,0 +1,13 @@ +# header-only library + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO mattreecebentley/plf_queue + REF 1fb9d87a210f7813450ee54a469f9f79ea4ec872 + SHA512 bca6662f5b0c4dfad4b9c1192aced83cf379ed2f115b498ad98003b7201fa80cf00ee697c7c8f9a8f9fe7c979207a8e99dd58549e124ea041af25c9217d7ae6f + HEAD_REF main +) + +file(COPY "${SOURCE_PATH}/plf_queue.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/plf-queue/vcpkg.json b/ports/plf-queue/vcpkg.json new file mode 100644 index 00000000000000..1575d8250b21e5 --- /dev/null +++ b/ports/plf-queue/vcpkg.json @@ -0,0 +1,6 @@ +{ + "name": "plf-queue", + "version": "2.2", + "description": "A data container replicating std::queue functionality but with better performance than standard library containers in a queue context. C++98/03/11/14/etc-compatible.", + "homepage": "https://plflib.org/queue.htm" +} diff --git a/ports/plf-stack/vcpkg.json b/ports/plf-stack/vcpkg.json index 6c0a75f6815c0f..096fc1b81d212e 100644 --- a/ports/plf-stack/vcpkg.json +++ b/ports/plf-stack/vcpkg.json @@ -1,7 +1,7 @@ { "name": "plf-stack", - "version-string": "2019-08-10", - "port-version": 1, + "version-date": "2019-08-10", + "port-version": 2, "description": "A C++ data container replicating std::stack functionality but with better performance", "homepage": "https://www.plflib.org/" } diff --git a/ports/plib/portfile.cmake b/ports/plib/portfile.cmake index 1991b2f6be5d42..514b587438cb85 100644 --- a/ports/plib/portfile.cmake +++ b/ports/plib/portfile.cmake @@ -6,20 +6,19 @@ vcpkg_download_distfile(ARCHIVE SHA512 17154cc77243fe576c2bcbcb0285b98aef1a0634658f5473e95fe0ac8fa3ed477dbe5620e44ccf0b7cc616f812af0cd44d6fcbba0c563180d3b61c9d6f158e1d ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} +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}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/plib/vcpkg.json b/ports/plib/vcpkg.json index 421823aff3c706..ab7919c05d0b74 100644 --- a/ports/plib/vcpkg.json +++ b/ports/plib/vcpkg.json @@ -1,6 +1,14 @@ { "name": "plib", - "version-string": "1.8.5", - "port-version": 5, - "description": "A suite of portable game libraries" + "version": "1.8.5", + "port-version": 8, + "description": "A suite of portable game libraries", + "license": "LGPL-2.0-only", + "supports": "!(osx | uwp | xbox)", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/plibsys/portfile.cmake b/ports/plibsys/portfile.cmake index c6ab653b60714c..00ba54335fde01 100644 --- a/ports/plibsys/portfile.cmake +++ b/ports/plibsys/portfile.cmake @@ -1,5 +1,3 @@ -vcpkg_fail_port_install(ON_TARGET "UWP") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO saprykin/plibsys @@ -12,9 +10,8 @@ vcpkg_from_github( string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" PLIBSYS_STATIC) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DPLIBSYS_TESTS=OFF -DPLIBSYS_COVERAGE=OFF @@ -22,14 +19,12 @@ vcpkg_configure_cmake( -DPLIBSYS_BUILD_STATIC=${PLIBSYS_STATIC} ) -vcpkg_install_cmake() +vcpkg_cmake_install() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") vcpkg_copy_pdbs() -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}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) - - +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}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/plibsys/vcpkg.json b/ports/plibsys/vcpkg.json index 4960c01a26cb2c..54f02084184597 100644 --- a/ports/plibsys/vcpkg.json +++ b/ports/plibsys/vcpkg.json @@ -1,8 +1,14 @@ { "name": "plibsys", - "version-string": "0.0.4", - "port-version": 5, + "version": "0.0.4", + "port-version": 7, "description": "Highly portable C system library: threads and synchronization, sockets, IPC, data structures and more.", "homepage": "https://github.com/saprykin/plibsys", - "supports": "!uwp" + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/plog/portfile.cmake b/ports/plog/portfile.cmake index a4b769dc345d10..a250a8f4c98896 100644 --- a/ports/plog/portfile.cmake +++ b/ports/plog/portfile.cmake @@ -1,15 +1,20 @@ -# Header-only library -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO SergiusTheBest/plog - REF 1.1.5 - SHA512 c16b428e1855c905c486130c8610d043962bedc2b40d1d986c250c8f7fd7139540164a3cbb408ed08298370aa150d5937f358c13ccae2728ce8ea47fa897fd0b - HEAD_REF master -) - -# Put the licence file where vcpkg expects it -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/plog) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/plog/LICENSE ${CURRENT_PACKAGES_DIR}/share/plog/copyright) - -# Copy header files -file(INSTALL ${SOURCE_PATH}/include DESTINATION ${CURRENT_PACKAGES_DIR} FILES_MATCHING PATTERN "*.h") +# Header-only library +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO SergiusTheBest/plog + REF ${VERSION} + SHA512 b1d55baadbd16bafa5165b05352f367455b51f2eec2102f1ebad2e6a049954d1b87ffdd96811b0acea2313877db1db837f780971fd027d0db683fe42aeb29573 + HEAD_REF master +) + +vcpkg_cmake_configure(SOURCE_PATH ${SOURCE_PATH} OPTIONS -DPLOG_BUILD_SAMPLES=OFF) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib) + +# Copy usage file +file(COPY "${CURRENT_PORT_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") + +# Put the licence file where vcpkg expects it +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/plog/usage b/ports/plog/usage new file mode 100644 index 00000000000000..bfba94d5e26ec5 --- /dev/null +++ b/ports/plog/usage @@ -0,0 +1,6 @@ +The package plog is header only and can be used from CMake via: + +Modern CMake: + find_package(plog CONFIG REQUIRED) + target_link_libraries(main PRIVATE plog::plog) + diff --git a/ports/plog/vcpkg.json b/ports/plog/vcpkg.json index c1de0acffa0386..3cb32d0b807337 100644 --- a/ports/plog/vcpkg.json +++ b/ports/plog/vcpkg.json @@ -1,7 +1,17 @@ { "name": "plog", - "version-string": "1.1.5", - "port-version": 1, + "version": "1.1.10", "description": "Portable, simple and extensible C++ logging library.", - "homepage": "https://github.com/SergiusTheBest/plog" + "homepage": "https://github.com/SergiusTheBest/plog", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/plplot/0001-findwxwidgets-fixes.patch b/ports/plplot/0001-findwxwidgets-fixes.patch deleted file mode 100644 index cc30ca56da89ac..00000000000000 --- a/ports/plplot/0001-findwxwidgets-fixes.patch +++ /dev/null @@ -1,71 +0,0 @@ -diff --git a/cmake/modules/FindwxWidgets.cmake b/cmake/modules/FindwxWidgets.cmake -index 4d3a2d1..c83d8a6 100644 ---- a/cmake/modules/FindwxWidgets.cmake -+++ b/cmake/modules/FindwxWidgets.cmake -@@ -515,7 +515,14 @@ if(wxWidgets_FIND_STYLE STREQUAL "win32") - set(_WX_ARCH _x64) - endif() - endif() -- if(BUILD_SHARED_LIBS) -+ -+ include(SelectLibraryConfigurations) -+ find_library(wxWidgets_LIB_DIR_LIBRARY_RELEASE NAMES wxmsw31u_core) -+ find_library(wxWidgets_LIB_DIR_LIBRARY_DEBUG NAMES wxmsw31ud_core) -+ select_library_configurations(wxWidgets_LIB_DIR) -+ get_filename_component(wxWidgets_LIB_DIR ${wxWidgets_LIB_DIR} DIRECTORY) -+ if(0) -+ if(BUILD_SHARED_LIBS) - find_path(wxWidgets_LIB_DIR - NAMES - msw/wx/setup.h -@@ -554,6 +561,7 @@ if(wxWidgets_FIND_STYLE STREQUAL "win32") - NO_DEFAULT_PATH - ) - endif() -+ endif() - unset(_WX_TOOL) - unset(_WX_TOOLVER) - unset(_WX_ARCH) -@@ -571,7 +579,9 @@ if(wxWidgets_FIND_STYLE STREQUAL "win32") - set(wxWidgets_DEFINITIONS WXUSINGDLL) - DBG_MSG_V("detected SHARED/DLL tree WX_LIB_DIR=${WX_LIB_DIR}") - endif() -- -+ if(BUILD_SHARED_LIBS) -+ set(wxWidgets_DEFINITIONS WXUSINGDLL) -+ endif(BUILD_SHARED_LIBS) - # Search for available configuration types. - foreach(CFG mswunivud mswunivd mswud mswd mswunivu mswuniv mswu msw) - set(WX_${CFG}_FOUND FALSE) -@@ -583,6 +593,13 @@ if(wxWidgets_FIND_STYLE STREQUAL "win32") - endforeach() - DBG_MSG_V("WX_CONFIGURATION_LIST=${WX_CONFIGURATION_LIST}") - -+ if(CMAKE_BUILD_TYPE STREQUAL "Debug") -+ set(WX_CONFIGURATION "mswud") -+ else() -+ set(WX_CONFIGURATION "mswu") -+ endif() -+ set(WX_${WX_CONFIGURATION}_FOUND TRUE) -+ - if(WX_CONFIGURATION) - set(wxWidgets_FOUND TRUE) - -@@ -616,6 +633,8 @@ if(wxWidgets_FIND_STYLE STREQUAL "win32") - WX_GET_NAME_COMPONENTS(${wxWidgets_CONFIGURATION} UNV UCD DBG) - - # Set wxWidgets lib setup include directory. -+ set(wxWidgets_INCLUDE_DIRS "${wxWidgets_ROOT_DIR}/include") -+ if(0) - if(EXISTS ${WX_LIB_DIR}/${wxWidgets_CONFIGURATION}/wx/setup.h) - set(wxWidgets_INCLUDE_DIRS - ${WX_LIB_DIR}/${wxWidgets_CONFIGURATION}) -@@ -623,7 +642,7 @@ if(wxWidgets_FIND_STYLE STREQUAL "win32") - DBG_MSG("wxWidgets_FOUND FALSE because ${WX_LIB_DIR}/${wxWidgets_CONFIGURATION}/wx/setup.h does not exists.") - set(wxWidgets_FOUND FALSE) - endif() -- -+ endif() - # Set wxWidgets main include directory. - if(EXISTS ${WX_ROOT_DIR}/include/wx/wx.h) - list(APPEND wxWidgets_INCLUDE_DIRS ${WX_ROOT_DIR}/include) diff --git a/ports/plplot/0002-wxwidgets-dev-fixes.patch b/ports/plplot/0002-wxwidgets-dev-fixes.patch deleted file mode 100644 index 707c64796e23a2..00000000000000 --- a/ports/plplot/0002-wxwidgets-dev-fixes.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/drivers/wxwidgets_dev.cpp b/drivers/wxwidgets_dev.cpp -index f025bd8..f5881b1 100644 ---- a/drivers/wxwidgets_dev.cpp -+++ b/drivers/wxwidgets_dev.cpp -@@ -31,6 +31,7 @@ - - // Headers needed for Rand - #ifdef WIN32 -+#define _WINSOCKAPI_ - // This include must occur before any other include of stdlib.h due to - // the #define _CRT_RAND_S - #define _CRT_RAND_S diff --git a/ports/plplot/fix-pkg-config.patch b/ports/plplot/fix-pkg-config.patch deleted file mode 100644 index dd2601dbf124cc..00000000000000 --- a/ports/plplot/fix-pkg-config.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/cmake/modules/psttf.cmake b/cmake/modules/psttf.cmake -index 950f41b..6c20af5 100644 ---- a/cmake/modules/psttf.cmake -+++ b/cmake/modules/psttf.cmake -@@ -56,7 +56,11 @@ if(PLD_psttf) - endif(PLD_psttf) - - if(PLD_psttf) -- pkg_check_pkgconfig("lasi;pango;pangoft2" includedir libdir linkflags cflags version _PSTTF) -+ set(PKG_LIST lasi pango pangoft2) -+ foreach (SELECTED_PKG ${PKG_LIST}) -+ pkg_check_pkgconfig("${SELECTED_PKG}" includedir libdir linkflags cflags version _PSTTF) -+ endforeach() -+ - if(linkflags) - #blank-separated required. - string(REGEX REPLACE ";" " " psttf_COMPILE_FLAGS "${cflags}") diff --git a/ports/plplot/fix_utils.patch b/ports/plplot/fix_utils.patch deleted file mode 100644 index d1d8596d0faf2f..00000000000000 --- a/ports/plplot/fix_utils.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/utils/CMakeLists.txt b/utils/CMakeLists.txt -index 59cfe20..b936dad 100644 ---- a/utils/CMakeLists.txt -+++ b/utils/CMakeLists.txt -@@ -75,7 +75,8 @@ add_executable(parity_bit_check parity_bit_check.c) - if(ENABLE_wxwidgets AND NOT OLD_WXWIDGETS) - # Build wxwidgets applications with same wxwidgets compile and link flags - # as used with the PLplot wxwidgets device driver. -- -+ find_package(JPEG REQUIRED) -+ find_package(TIFF REQUIRED) - set(wxPLViewer_SRCS wxplviewer.cpp wxplframe.cpp ${CMAKE_SOURCE_DIR}/drivers/wxwidgets_comms.cpp) - set_source_files_properties(${wxPLViewer_SRCS} - PROPERTIES COMPILE_FLAGS "${wxwidgets_COMPILE_FLAGS}") -@@ -90,7 +91,7 @@ if(ENABLE_wxwidgets AND NOT OLD_WXWIDGETS) - COMPILE_DEFINITIONS "USINGDLL" - ) - endif(BUILD_SHARED_LIBS) -- target_link_libraries(wxPLViewer plplotwxwidgets plplotcxx ${wxwidgets_LINK_FLAGS} ${MATH_LIB} ${RT_LIB}) -+ target_link_libraries(wxPLViewer plplotwxwidgets plplotcxx ${wxwidgets_LINK_FLAGS} ${MATH_LIB} ${RT_LIB} ${JPEG_LIBRARIES} ${TIFF_LIBRARIES}) - - if(USE_RPATH) - # Assume that plplotwxwidgets and plplotcxx have the same install location as plplot diff --git a/ports/plplot/install-interface-include-directories.patch b/ports/plplot/install-interface-include-directories.patch index 3e124b5d001b40..99ec812e47877e 100644 --- a/ports/plplot/install-interface-include-directories.patch +++ b/ports/plplot/install-interface-include-directories.patch @@ -1,13 +1,12 @@ -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index d81b6a7..6b51809 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -181,6 +181,8 @@ include_directories( - add_library(plplot ${plplot_LIB_SRCS}) - add_dependencies(plplot plhershey-unicode.h_built) - -+target_include_directories(plplot INTERFACE $) -+ - # Deal with external libraries. - set(LIB_INSTALL_RPATH ${LIB_DIR}) - set(libplplot_LINK_LIBRARIES) +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 757b4ed..7dfd6e3 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -295,6 +295,7 @@ endif(NOT ENABLE_DYNDRIVERS AND ANY_QT_DEVICE AND PLPLOT_USE_QT5) + + configure_library_build(plplot "" "${plplot_LIB_SRCS}" "${libplplot_LINK_LIBRARIES}" "${LIB_INSTALL_RPATH}") + add_dependencies(${WRITEABLE_TARGET}plplot plhershey-unicode.h_built) ++target_include_directories(${WRITEABLE_TARGET}plplot INTERFACE $) + + if(NOT ENABLE_DYNDRIVERS AND (PLD_wxwidgets OR PLD_wxpng)) + set_property(TARGET ${WRITEABLE_TARGET}plplot diff --git a/ports/plplot/portfile.cmake b/ports/plplot/portfile.cmake index da70bbe4e67665..e8836319c1fe37 100644 --- a/ports/plplot/portfile.cmake +++ b/ports/plplot/portfile.cmake @@ -1,75 +1,68 @@ -set(PLPLOT_VERSION 5.13.0) +vcpkg_minimum_required(VERSION 2022-10-12) # for ${VERSION} vcpkg_from_sourceforge( OUT_SOURCE_PATH SOURCE_PATH REPO plplot/plplot - REF ${PLPLOT_VERSION}%20Source - FILENAME "plplot-${PLPLOT_VERSION}.tar.gz" - SHA512 1d5cb5da17d4bde6d675585bff1f8dcb581719249a0b2687867e767703f8dab0870e7ea44b9549a497f4ac0141a3cabf6761c49520c0e2b26ffe581468512cbb + REF "${VERSION}%20Source" + FILENAME "plplot-${VERSION}.tar.gz" + SHA512 54533245569b724a7ef90392cc6e9ae65873e6cbab923df0f841c8b43def5e4307690894c7681802209bd3c8df97f54285310a706428f79b3340cce3207087c8 PATCHES - 0001-findwxwidgets-fixes.patch - 0002-wxwidgets-dev-fixes.patch - install-interface-include-directories.patch - use-math-h-nan.patch - fix_utils.patch - fix-pkg-config.patch + subdirs.patch + install-interface-include-directories.patch + use-math-h-nan.patch ) vcpkg_check_features( OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES - wxwidgets BUILD_with_wxwidgets + wxwidgets PLD_wxwidgets + wxwidgets ENABLE_wxwidgets + x11 PLD_xwin + x11 CMAKE_REQUIRE_FIND_PACKAGE_X11 + INVERTED_FEATURES + x11 CMAKE_DISABLE_FIND_PACKAGE_X11 ) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DENABLE_tcl=OFF - -DENABLE_d=OFF + -DDEFAULT_NO_BINDINGS=ON + -DDEFAULT_NO_QT_DEVICES=ON + -DENABLE_cxx=ON + -DENABLE_DYNDRIVERS=OFF -DENABLE_qt=OFF - -DENABLE_ocaml=OFF - -DPL_HAVE_QHULL=OFF - -DPLPLOT_USE_QT5=OFF + -DENABLE_tk=OFF + -DHAVE_SHAPELIB=OFF -DPL_DOUBLE=ON - -DENABLE_DYNDRIVERS=OFF - -DDATA_DIR=${CURRENT_PACKAGES_DIR}/share/plplot + -DPL_HAVE_QHULL=OFF + -DPLD_aqt=OFF # needs aquaterm framework + -DPLD_pdf=OFF # needs haru + -DPLD_psttf=OFF # needs lasi (in addition to pango) ${FEATURE_OPTIONS} + -DCMAKE_DISABLE_FIND_PACKAGE_Perl=ON + -DCMAKE_DISABLE_FIND_PACKAGE_SWIG=ON + -DCMAKE_REQUIRE_FIND_PACKAGE_Freetype=ON OPTIONS_DEBUG - -DDRV_DIR=${CURRENT_PACKAGES_DIR}/debug/bin + "-DDATA_DIR=${CURRENT_PACKAGES_DIR}/debug/share/${PORT}/data" + "-DDOC_DIR=${CURRENT_PACKAGES_DIR}/debug/share/${PORT}/doc" OPTIONS_RELEASE - -DDRV_DIR=${CURRENT_PACKAGES_DIR}/bin + "-DDATA_DIR=${CURRENT_PACKAGES_DIR}/share/${PORT}/data" + "-DDOC_DIR=${CURRENT_PACKAGES_DIR}/share/${PORT}/doc" ) vcpkg_cmake_install() - vcpkg_copy_pdbs() - vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/plplot) +vcpkg_fixup_pkgconfig() -if(EXISTS "${CURRENT_PACKAGES_DIR}/share/plplot/examples/plplot-test-interactive.sh") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/plplot/examples/plplot-test-interactive.sh" "${CURRENT_PACKAGES_DIR}/share/plplot" "../") -endif() - -# Remove unnecessary tool -file(REMOVE - "${CURRENT_PACKAGES_DIR}/debug/bin/pltek.exe" - "${CURRENT_PACKAGES_DIR}/bin/pltek.exe" - "${CURRENT_PACKAGES_DIR}/debug/bin/wxPLViewer.exe" - "${CURRENT_PACKAGES_DIR}/bin/wxPLViewer.exe" +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" ) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - message(STATUS "Static build: Removing the full bin directory.") - file(REMOVE_RECURSE - "${CURRENT_PACKAGES_DIR}/debug/bin" - "${CURRENT_PACKAGES_DIR}/bin" - ) -endif() - -# Remove unwanted and duplicate directories -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") - -file(INSTALL "${SOURCE_PATH}/Copyright" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) - -vcpkg_fixup_pkgconfig() +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright( + FILE_LIST + "${SOURCE_PATH}/Copyright" + "${SOURCE_PATH}/COPYING.LIB" +) diff --git a/ports/plplot/subdirs.patch b/ports/plplot/subdirs.patch new file mode 100644 index 00000000000000..11f80ee2815b55 --- /dev/null +++ b/ports/plplot/subdirs.patch @@ -0,0 +1,17 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e29c43d..03f05f0 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -347,12 +347,6 @@ add_subdirectory(src) + add_subdirectory(data) + add_subdirectory(bindings) + add_subdirectory(drivers) +-add_subdirectory(utils) +-add_subdirectory(plplot_test) +-add_subdirectory(examples) +-add_subdirectory(scripts) +-add_subdirectory(doc) +-add_subdirectory(www) + add_subdirectory(pkgcfg) + summary() + diff --git a/ports/plplot/usage b/ports/plplot/usage new file mode 100644 index 00000000000000..506e7b08451b3a --- /dev/null +++ b/ports/plplot/usage @@ -0,0 +1,13 @@ +plplot provides CMake targets: + + find_package(plplot CONFIG REQUIRED) + # C API, PLplot Core Library + target_link_libraries(main PRIVATE PLPLOT::plplot) + # C++ binding + target_link_libraries(main PRIVATE PLPLOT::plplotcxx) + # wxWidgets GUI binding (optional, feature "wxwidgets") + target_link_libraries(main PRIVATE PLPLOT::plplotwxwidgets) + # CSIRO Cubic Spline Approximation Library + target_link_libraries(main PRIVATE PLPLOT::csirocsa) + # QSAS Time Format Conversion Library + target_link_libraries(main PRIVATE PLPLOT::qsastime) diff --git a/ports/plplot/vcpkg.json b/ports/plplot/vcpkg.json index 6f7197318014ea..054a7d80cffd63 100644 --- a/ports/plplot/vcpkg.json +++ b/ports/plplot/vcpkg.json @@ -1,12 +1,16 @@ { "name": "plplot", - "version-semver": "5.13.0", - "port-version": 12, + "version-semver": "5.15.0", + "port-version": 2, "description": "PLplot is a cross-platform software package for creating scientific plots whose (UTF-8) plot symbols and text are limited in practice only by what Unicode-aware system fonts are installed on a user's computer.", + "homepage": "http://plplot.org/", + "license": null, "dependencies": [ - "bzip2", - "freetype", - "libpng", + { + "name": "freetype", + "default-features": false + }, + "pango", { "name": "vcpkg-cmake", "host": true @@ -14,14 +18,28 @@ { "name": "vcpkg-cmake-config", "host": true - }, - "zlib" + } ], "features": { "wxwidgets": { - "description": "plplot wxwidgets module", + "description": "Enable wxWidgets GUI binding", + "dependencies": [ + { + "name": "wxwidgets", + "default-features": false + } + ] + }, + "x11": { + "description": "Enable X11 support", "dependencies": [ - "wxwidgets" + { + "name": "cairo", + "features": [ + "x11" + ] + }, + "libx11" ] } } diff --git a/ports/plustache/portfile.cmake b/ports/plustache/portfile.cmake index def92fc15b8871..081ff4d9ca9db0 100644 --- a/ports/plustache/portfile.cmake +++ b/ports/plustache/portfile.cmake @@ -8,19 +8,17 @@ vcpkg_from_github( HEAD_REF master ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() #Debug -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") # Handle copyright -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/plustache) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/plustache/LICENSE ${CURRENT_PACKAGES_DIR}/share/plustache/copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/plustache/vcpkg.json b/ports/plustache/vcpkg.json index 3908571d2fb904..857f6e11b1e95d 100644 --- a/ports/plustache/vcpkg.json +++ b/ports/plustache/vcpkg.json @@ -1,10 +1,14 @@ { "name": "plustache", - "version-string": "0.4.0", - "port-version": 2, + "version": "0.4.0", + "port-version": 4, "description": "{{mustaches}} for C++", "dependencies": [ "boost-algorithm", - "boost-regex" + "boost-regex", + { + "name": "vcpkg-cmake", + "host": true + } ] } diff --git a/ports/pmdk/portfile.cmake b/ports/pmdk/portfile.cmake index 60d53e11a06c3f..9701c4cb79a686 100644 --- a/ports/pmdk/portfile.cmake +++ b/ports/pmdk/portfile.cmake @@ -1,56 +1,41 @@ vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY ONLY_DYNAMIC_CRT) -vcpkg_fail_port_install(ON_ARCH "arm" "x86") - -set(PMDK_VERSION "1.11.0") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO pmem/pmdk - REF 8583fcfd68764ac6779e6f93db89b06971b26704 #Commit id corresponding to the version 1.11.0 - SHA512 6d0a9697c97f75ac10e9e8736c2397c6ee23c26af96b65c746e0c32bc2d16f083b177e52bc399aa93c6f2e29ac6106c2696c6bbf9779788d9d19167ac07000b8 + REF 73d8f958e855904dc0776a7d77d0f0d3698a65b1 #v1.12.0 + SHA512 ffe77796c9028478985ca98e4162a671e3e7f580faa46b31d0dcf8c5e97aa6478044efdf7ad238285044f18f754a20a4e2a1b5992c7b9cffa709884eb62007ab HEAD_REF master + PATCHES "remove_getopt.patch" ) +file(REMOVE "${SOURCE_PATH}/src/windows/getopt" "${SOURCE_PATH}/src/test/getopt") + # Build only the selected projects -vcpkg_build_msbuild( - PROJECT_PATH ${SOURCE_PATH}/src/PMDK.sln +vcpkg_msbuild_install( + SOURCE_PATH "${SOURCE_PATH}" + PROJECT_SUBPATH src/PMDK.sln TARGET "Solution Items\\libpmem,Solution Items\\libpmemlog,Solution Items\\libpmemblk,Solution Items\\libpmemobj,Solution Items\\libpmempool,Solution Items\\Tools\\pmempool" - OPTIONS /p:SRCVERSION=${PMDK_VERSION} + OPTIONS /p:SRCVERSION=${VERSION} + ADDITIONAL_LIBS getopt.lib ) -set(DEBUG_ARTIFACTS_PATH ${SOURCE_PATH}/src/x64/Debug) -set(RELEASE_ARTIFACTS_PATH ${SOURCE_PATH}/src/x64/Release) +set(DEBUG_ARTIFACTS_PATH "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/src/x64/Debug") +set(RELEASE_ARTIFACTS_PATH "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/src/x64/Release") # Install header files -file(GLOB HEADER_FILES ${SOURCE_PATH}/src/include/*.h) -file(INSTALL ${HEADER_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include) -file(GLOB HEADER_FILES ${SOURCE_PATH}/src/include/libpmemobj/*.h) -file(INSTALL ${HEADER_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include/libpmemobj) +file(GLOB HEADER_FILES "${SOURCE_PATH}/src/include/*.h") +file(INSTALL ${HEADER_FILES} DESTINATION "${CURRENT_PACKAGES_DIR}/include") +file(GLOB HEADER_FILES "${SOURCE_PATH}/src/include/libpmemobj/*.h") +file(INSTALL ${HEADER_FILES} DESTINATION "${CURRENT_PACKAGES_DIR}/include/libpmemobj") # Remove unneeded header files -file(REMOVE ${CURRENT_PACKAGES_DIR}/include/libvmmalloc.h) -file(REMOVE ${CURRENT_PACKAGES_DIR}/include/librpmem.h) - -# Install libraries (debug) -file(GLOB LIB_DEBUG_FILES ${DEBUG_ARTIFACTS_PATH}/libs/libpmem*.lib) -file(INSTALL ${LIB_DEBUG_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) -file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/libpmemcommon.lib) -file(GLOB LIB_DEBUG_FILES ${DEBUG_ARTIFACTS_PATH}/libs/libpmem*.dll) -file(INSTALL ${LIB_DEBUG_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) - -# Install libraries (release) -file(GLOB LIB_RELEASE_FILES ${RELEASE_ARTIFACTS_PATH}/libs/libpmem*.lib) -file(INSTALL ${LIB_RELEASE_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/lib) -file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/libpmemcommon.lib) -file(GLOB LIB_RELEASE_FILES ${RELEASE_ARTIFACTS_PATH}/libs/libpmem*.dll) -file(INSTALL ${LIB_RELEASE_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/bin) +file(REMOVE "${CURRENT_PACKAGES_DIR}/include/libvmmalloc.h") +file(REMOVE "${CURRENT_PACKAGES_DIR}/include/librpmem.h") # Install tools (release only) -file(INSTALL ${RELEASE_ARTIFACTS_PATH}/libs/pmempool.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT}) +file(INSTALL "${RELEASE_ARTIFACTS_PATH}/libs/pmempool.exe" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}") vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/pmdk) -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/pmdk/remove_getopt.patch b/ports/pmdk/remove_getopt.patch new file mode 100644 index 00000000000000..45912a87478de8 --- /dev/null +++ b/ports/pmdk/remove_getopt.patch @@ -0,0 +1,233 @@ +diff --git a/src/PMDK.sln b/src/PMDK.sln +index d8220c159..1959a7a59 100644 +--- a/src/PMDK.sln ++++ b/src/PMDK.sln +@@ -239,8 +239,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "obj_alloc", "test\obj_alloc + EndProject + Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pmempool_info", "test\pmempool_info\pmempool_info.vcxproj", "{42CCEF95-5ADD-460C-967E-DD5B2C744943}" + EndProject +-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "getopt", "test\getopt\getopt.vcxproj", "{433F7840-C597-4950-84C9-E4FF7DF6A298}" +-EndProject + Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "sys", "sys", "{45027FC5-4A32-47BD-AC5B-66CC7616B1D2}" + ProjectSection(SolutionItems) = preProject + windows\include\sys\file.h = windows\include\sys\file.h +@@ -538,8 +538,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "obj_tx_flow", "test\obj_tx_ + EndProject + Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "srcversion", "windows\srcversion\srcversion.vcxproj", "{901F04DB-E1A5-4A41-8B81-9D31C19ACD59}" + EndProject +-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "getopt", "windows\getopt\getopt.vcxproj", "{9186EAC4-2F34-4F17-B940-6585D7869BCD}" +-EndProject + Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "libpmemlog", "libpmemlog", "{91C30620-70CA-46C7-AC71-71F3C602690E}" + EndProject + Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "obj_realloc", "test\obj_realloc\obj_realloc.vcxproj", "{91E19AEB-7B75-43E0-B8B4-D2BB60D839EA}" +@@ -2183,7 +2181,6 @@ Global + {3ED56E55-84A6-422C-A8D4-A8439FB8F245} = {BD6CC700-B36B-435B-BAF9-FC5AFCD766C9} + {42B97D47-F800-4100-BFA2-B3AC357E8B6B} = {63C9B3F8-437D-4AD9-B32D-D04AE38C35B6} + {42CCEF95-5ADD-460C-967E-DD5B2C744943} = {59AB6976-D16B-48D0-8D16-94360D3FE51D} +- {433F7840-C597-4950-84C9-E4FF7DF6A298} = {B870D8A6-12CD-4DD0-B843-833695C2310A} + {45027FC5-4A32-47BD-AC5B-66CC7616B1D2} = {9A8482A7-BF0C-423D-8266-189456ED41F6} + {46629F21-089C-4205-B2F8-E01748ECE517} = {A14A4556-9092-430D-B9CA-B2B1223D56CB} + {46B82069-10BE-432A-8D93-F4D995148555} = {4C291EEB-3874-4724-9CC2-1335D13FF0EE} +@@ -2284,7 +2281,6 @@ Global + {8D75FA1A-EC74-4F88-8AC1-CE3F98E4D828} = {63C9B3F8-437D-4AD9-B32D-D04AE38C35B6} + {8E374371-30E1-4623-8755-2A2F3742170B} = {63C9B3F8-437D-4AD9-B32D-D04AE38C35B6} + {901F04DB-E1A5-4A41-8B81-9D31C19ACD59} = {95FAF291-03D1-42FC-9C10-424D551D475D} +- {9186EAC4-2F34-4F17-B940-6585D7869BCD} = {95FAF291-03D1-42FC-9C10-424D551D475D} + {91C30620-70CA-46C7-AC71-71F3C602690E} = {0CC6D525-806E-433F-AB4A-6CFD546418B1} + {91E19AEB-7B75-43E0-B8B4-D2BB60D839EA} = {63C9B3F8-437D-4AD9-B32D-D04AE38C35B6} + {9233FC80-B51C-4A89-AF58-5AE86C068F6A} = {A14A4556-9092-430D-B9CA-B2B1223D56CB} +diff --git a/src/benchmarks/pmembench.vcxproj b/src/benchmarks/pmembench.vcxproj +index ac9b3569e..906a50269 100644 +--- a/src/benchmarks/pmembench.vcxproj ++++ b/src/benchmarks/pmembench.vcxproj +@@ -29,9 +29,6 @@ + + {cf9a0883-6334-44c7-ac29-349468c78e27} + +- +- {9186eac4-2f34-4f17-b940-6585d7869bcd} +- + + + +@@ -205,10 +202,10 @@ + + + +- $(SolutionDir)\core;$(SolutionDir)\examples\libpmemobj\hashmap;$(SolutionDir)\examples\libpmemobj\map;$(SolutionDir)\examples\libpmemobj\tree_map;$(SolutionDir)\common;$(SolutionDir)\test\unittest;$(SolutionDir)\windows\include;$(SolutionDir)\libpmemobj\;$(SolutionDir)\include;$(SolutionDir)\libpmemblk;$(SolutionDir)\windows\getopt;$(IncludePath) ++ $(SolutionDir)\core;$(SolutionDir)\examples\libpmemobj\hashmap;$(SolutionDir)\examples\libpmemobj\map;$(SolutionDir)\examples\libpmemobj\tree_map;$(SolutionDir)\common;$(SolutionDir)\test\unittest;$(SolutionDir)\windows\include;$(SolutionDir)\libpmemobj\;$(SolutionDir)\include;$(SolutionDir)\libpmemblk;$(IncludePath) + + +- $(SolutionDir)\core;$(SolutionDir)\examples\libpmemobj\hashmap;$(SolutionDir)\examples\libpmemobj\map;$(SolutionDir)\examples\libpmemobj\tree_map;$(SolutionDir)\common;$(SolutionDir)\test\unittest;$(SolutionDir)\windows\include;$(SolutionDir)\libpmemobj\;$(SolutionDir)\include;$(SolutionDir)\libpmemblk;$(SolutionDir)\windows\getopt;$(IncludePath) ++ $(SolutionDir)\core;$(SolutionDir)\examples\libpmemobj\hashmap;$(SolutionDir)\examples\libpmemobj\map;$(SolutionDir)\examples\libpmemobj\tree_map;$(SolutionDir)\common;$(SolutionDir)\test\unittest;$(SolutionDir)\windows\include;$(SolutionDir)\libpmemobj\;$(SolutionDir)\include;$(SolutionDir)\libpmemblk;$(IncludePath) + + + +diff --git a/src/test/bttdevice/bttdevice.vcxproj b/src/test/bttdevice/bttdevice.vcxproj +index bfcc74064..05cd8c15d 100644 +--- a/src/test/bttdevice/bttdevice.vcxproj ++++ b/src/test/bttdevice/bttdevice.vcxproj +@@ -72,9 +72,6 @@ + + {9e9e3d25-2139-4a5d-9200-18148ddead45} + +- +- {9186eac4-2f34-4f17-b940-6585d7869bcd} +- + + {ce3f2dfb-8470-4802-ad37-21caf6cb2681} + +diff --git a/src/test/libpmempool_api_win/libpmempool_test_win.vcxproj b/src/test/libpmempool_api_win/libpmempool_test_win.vcxproj +index 73cb7c0b2..ba87422ea 100644 +--- a/src/test/libpmempool_api_win/libpmempool_test_win.vcxproj ++++ b/src/test/libpmempool_api_win/libpmempool_test_win.vcxproj +@@ -64,9 +64,6 @@ + + {9e9e3d25-2139-4a5d-9200-18148ddead45} + +- +- {9186eac4-2f34-4f17-b940-6585d7869bcd} +- + + {ce3f2dfb-8470-4802-ad37-21caf6cb2681} + +diff --git a/src/test/tools/cmpmap/cmpmap.vcxproj b/src/test/tools/cmpmap/cmpmap.vcxproj +index 5a502106c..fc0b07bb0 100644 +--- a/src/test/tools/cmpmap/cmpmap.vcxproj ++++ b/src/test/tools/cmpmap/cmpmap.vcxproj +@@ -17,9 +17,6 @@ + + {9e9e3d25-2139-4a5d-9200-18148ddead45} + +- +- {9186eac4-2f34-4f17-b940-6585d7869bcd} +- + + + +diff --git a/src/test/tools/ddmap/ddmap.vcxproj b/src/test/tools/ddmap/ddmap.vcxproj +index 0824e2bb2..d80e82da3 100644 +--- a/src/test/tools/ddmap/ddmap.vcxproj ++++ b/src/test/tools/ddmap/ddmap.vcxproj +@@ -17,9 +17,6 @@ + + {9e9e3d25-2139-4a5d-9200-18148ddead45} + +- +- {9186eac4-2f34-4f17-b940-6585d7869bcd} +- + + + +diff --git a/src/test/tools/gran_detecto/gran_detecto.vcxproj b/src/test/tools/gran_detecto/gran_detecto.vcxproj +index abbe5bfb9..316a39c20 100644 +--- a/src/test/tools/gran_detecto/gran_detecto.vcxproj ++++ b/src/test/tools/gran_detecto/gran_detecto.vcxproj +@@ -90,9 +90,6 @@ + + {f596c36c-5c96-4f08-b420-8908af500954} + +- +- {9186eac4-2f34-4f17-b940-6585d7869bcd} +- + + + +diff --git a/src/test/tools/pmemalloc/pmemalloc.vcxproj b/src/test/tools/pmemalloc/pmemalloc.vcxproj +index d84b87416..c1f910710 100644 +--- a/src/test/tools/pmemalloc/pmemalloc.vcxproj ++++ b/src/test/tools/pmemalloc/pmemalloc.vcxproj +@@ -26,9 +26,6 @@ + + {9e9e3d25-2139-4a5d-9200-18148ddead45} + +- +- {9186eac4-2f34-4f17-b940-6585d7869bcd} +- + + + +diff --git a/src/test/tools/pmemdetect/pmemdetect.vcxproj b/src/test/tools/pmemdetect/pmemdetect.vcxproj +index 1c4cfd70c..10f472eb4 100644 +--- a/src/test/tools/pmemdetect/pmemdetect.vcxproj ++++ b/src/test/tools/pmemdetect/pmemdetect.vcxproj +@@ -93,9 +93,6 @@ + + {9e9e3d25-2139-4a5d-9200-18148ddead45} + +- +- {9186eac4-2f34-4f17-b940-6585d7869bcd} +- + + {ce3f2dfb-8470-4802-ad37-21caf6cb2681} + +diff --git a/src/test/tools/pmemobjcli/pmemobjcli.vcxproj b/src/test/tools/pmemobjcli/pmemobjcli.vcxproj +index 092ad91f7..0c13bb915 100644 +--- a/src/test/tools/pmemobjcli/pmemobjcli.vcxproj ++++ b/src/test/tools/pmemobjcli/pmemobjcli.vcxproj +@@ -20,9 +20,6 @@ + + {9e9e3d25-2139-4a5d-9200-18148ddead45} + +- +- {9186eac4-2f34-4f17-b940-6585d7869bcd} +- + + + +diff --git a/src/test/tools/pmemspoil/pmemspoil.vcxproj b/src/test/tools/pmemspoil/pmemspoil.vcxproj +index 0d7718e01..5eba7d1f7 100644 +--- a/src/test/tools/pmemspoil/pmemspoil.vcxproj ++++ b/src/test/tools/pmemspoil/pmemspoil.vcxproj +@@ -32,9 +32,6 @@ + + {9e9e3d25-2139-4a5d-9200-18148ddead45} + +- +- {9186eac4-2f34-4f17-b940-6585d7869bcd} +- + + + +diff --git a/src/test/tools/pmemwrite/pmemwrite.vcxproj b/src/test/tools/pmemwrite/pmemwrite.vcxproj +index f4e4a229f..efc80865f 100644 +--- a/src/test/tools/pmemwrite/pmemwrite.vcxproj ++++ b/src/test/tools/pmemwrite/pmemwrite.vcxproj +@@ -26,9 +26,6 @@ + + {9e9e3d25-2139-4a5d-9200-18148ddead45} + +- +- {9186eac4-2f34-4f17-b940-6585d7869bcd} +- + + + +diff --git a/src/test/tools/sparsefile/sparsefile.vcxproj b/src/test/tools/sparsefile/sparsefile.vcxproj +index 76710038b..481bb9332 100644 +--- a/src/test/tools/sparsefile/sparsefile.vcxproj ++++ b/src/test/tools/sparsefile/sparsefile.vcxproj +@@ -21,9 +21,6 @@ + + {492baa3d-0d5d-478e-9765-500463ae69aa} + +- +- {9186eac4-2f34-4f17-b940-6585d7869bcd} +- + + + {3EC30D6A-BDA4-4971-879A-8814204EAE31} +diff --git a/src/tools/pmempool/pmempool.vcxproj b/src/tools/pmempool/pmempool.vcxproj +index 120fe35b6..65709ed92 100644 +--- a/src/tools/pmempool/pmempool.vcxproj ++++ b/src/tools/pmempool/pmempool.vcxproj +@@ -77,9 +77,6 @@ + + {9e9e3d25-2139-4a5d-9200-18148ddead45} + +- +- {9186eac4-2f34-4f17-b940-6585d7869bcd} +- + + + diff --git a/ports/pmdk/vcpkg.json b/ports/pmdk/vcpkg.json index b51a613f0ff579..38e47d48dc9a46 100644 --- a/ports/pmdk/vcpkg.json +++ b/ports/pmdk/vcpkg.json @@ -1,7 +1,17 @@ { "name": "pmdk", - "version": "1.11.0", + "version": "1.12.0", + "port-version": 2, "description": "Persistent Memory Development Kit", "homepage": "https://github.com/pmem/pmdk", - "supports": "!(arm | x86)" + "license": "BSD-3-Clause", + "supports": "!(linux | arm | x86)", + "dependencies": [ + "getopt", + { + "name": "vcpkg-msbuild", + "host": true, + "platform": "windows" + } + ] } diff --git a/ports/pmp-library/portfile.cmake b/ports/pmp-library/portfile.cmake new file mode 100644 index 00000000000000..f6526e1f526048 --- /dev/null +++ b/ports/pmp-library/portfile.cmake @@ -0,0 +1,25 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO pmp-library/pmp-library + REF "${VERSION}" + SHA512 8ee6f731619b92ad3d555b96c9e486446a4b9b3871992b389f9a55a0d07ca9f69cb4e03c1dc1c986357fc5a06ad60b2657ee0d58a78cb5da3c8f5692fb4c8b0f + HEAD_REF main +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DPMP_BUILD_EXAMPLES=OFF + -DPMP_BUILD_TESTS=OFF + -DPMP_BUILD_DOCS=OFF + -DPMP_BUILD_VIS=OFF + -DPMP_STRICT_COMPILATION=OFF +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/pmp" PACKAGE_NAME pmp) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") diff --git a/ports/pmp-library/vcpkg.json b/ports/pmp-library/vcpkg.json new file mode 100644 index 00000000000000..0ef7c63a3d009b --- /dev/null +++ b/ports/pmp-library/vcpkg.json @@ -0,0 +1,19 @@ +{ + "name": "pmp-library", + "version": "3.0.0", + "description": "The Polygon Mesh Processing Library", + "homepage": "https://github.com/pmp-library/pmp-library", + "license": "MIT", + "supports": "!xbox", + "dependencies": [ + "eigen3", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/pngpp/fix-stderror-win.patch b/ports/pngpp/fix-stderror-win.patch new file mode 100644 index 00000000000000..4591e8f40879b5 --- /dev/null +++ b/ports/pngpp/fix-stderror-win.patch @@ -0,0 +1,13 @@ +diff --git a/error.hpp b/error.hpp +index 31e1801..d4b4655 100644 +--- a/error.hpp ++++ b/error.hpp +@@ -32,7 +32,7 @@ + #define PNGPP_ERROR_HPP_INCLUDED + + /* check if we have strerror_s or strerror_r, prefer the former which is C11 std */ +-#ifdef __STDC_LIB_EXT1__ ++#if defined(__STDC_LIB_EXT1__) || defined(_WIN32) + #define __STDC_WANT_LIB_EXT1__ 1 + #include + diff --git a/ports/pngpp/portfile.cmake b/ports/pngpp/portfile.cmake index 1fa23e4445ab07..a01bd1975659cf 100644 --- a/ports/pngpp/portfile.cmake +++ b/ports/pngpp/portfile.cmake @@ -5,9 +5,11 @@ vcpkg_download_distfile(ARCHIVE SHA512 c54a74c0c20212bd0dcf86386c0c11dd824ad14952917ba0ff4c184b6547744458728a4f06018371acb7d5b842b641708914ccaa81bad8e72e173903f494ca85 ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH +vcpkg_extract_source_archive( + SOURCE_PATH ARCHIVE ${ARCHIVE} + PATCHES + fix-stderror-win.patch ) file(GLOB HEADER_FILES ${SOURCE_PATH}/*.hpp) diff --git a/ports/pngpp/vcpkg.json b/ports/pngpp/vcpkg.json index 67312ef2f9f1dd..95374c479d5cd4 100644 --- a/ports/pngpp/vcpkg.json +++ b/ports/pngpp/vcpkg.json @@ -1,6 +1,7 @@ { "name": "pngpp", - "version-string": "0.2.10", + "version": "0.2.10", + "port-version": 2, "description": "A C++ wrapper for libpng library.", "dependencies": [ "libpng" diff --git a/ports/pngwriter/portfile.cmake b/ports/pngwriter/portfile.cmake index 610580b22f9ebc..38c577e4dd87ad 100644 --- a/ports/pngwriter/portfile.cmake +++ b/ports/pngwriter/portfile.cmake @@ -8,16 +8,15 @@ vcpkg_from_github( HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/PNGwriter) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/PNGwriter) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") # Handle copyright -file(INSTALL ${SOURCE_PATH}/doc/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/pngwriter RENAME copyright) +file(INSTALL "${SOURCE_PATH}/doc/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/pngwriter" RENAME copyright) diff --git a/ports/pngwriter/vcpkg.json b/ports/pngwriter/vcpkg.json index f7fa371e323ea8..bb57c111a29f79 100644 --- a/ports/pngwriter/vcpkg.json +++ b/ports/pngwriter/vcpkg.json @@ -1,11 +1,19 @@ { "name": "pngwriter", - "version-string": "0.7.0", - "port-version": 3, + "version": "0.7.0", + "port-version": 5, "description": "PNGwriter is a very easy to use open source graphics library that uses PNG as its output format", "dependencies": [ "freetype", "libpng", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, "zlib" ] } diff --git a/ports/pocketfft/portfile.cmake b/ports/pocketfft/portfile.cmake new file mode 100644 index 00000000000000..6de420e2ea0c26 --- /dev/null +++ b/ports/pocketfft/portfile.cmake @@ -0,0 +1,13 @@ +vcpkg_from_github( + OUT_SOURCE_PATH src_path + REPO mreineck/pocketfft + REF 9efd4da52cf8d28d14531d14e43ad9d913807546 + SHA512 e8c2b65b23feb53f1077b3ae1e0e20d21d8f55601bd1216443af0fbc916638c3649527494ec2f23bed42d562341e0cf1fcde54c37068333161f289d23d8a9009 + HEAD_REF cpp +) + +set(VCPKG_BUILD_TYPE release) # header only + +file(COPY "${src_path}/pocketfft_hdronly.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include") + +vcpkg_install_copyright(FILE_LIST "${src_path}/LICENSE.md") diff --git a/ports/pocketfft/vcpkg.json b/ports/pocketfft/vcpkg.json new file mode 100644 index 00000000000000..90c455f6618ce6 --- /dev/null +++ b/ports/pocketfft/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "pocketfft", + "version-date": "2023-09-25", + "description": "This is a heavily modified implementation of FFTPack", + "homepage": "https://github.com/mreineck/pocketfft", + "license": "BSD-3-Clause" +} diff --git a/ports/pocketpy/fix-conflict.patch b/ports/pocketpy/fix-conflict.patch new file mode 100644 index 00000000000000..617709d6c98bcc --- /dev/null +++ b/ports/pocketpy/fix-conflict.patch @@ -0,0 +1,14 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ed02678..9297b20 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -86,7 +86,8 @@ if (PK_INSTALL) + DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/ + DESTINATION include + FILES_MATCHING PATTERN "*.h" +- PATTERN "typings" EXCLUDE ++ PATTERN "typings" EXCLUDE ++ PATTERN "pybind11" EXCLUDE + ) + + # generate config.cmake diff --git a/ports/pocketpy/portfile.cmake b/ports/pocketpy/portfile.cmake new file mode 100644 index 00000000000000..0801a6a1e818c0 --- /dev/null +++ b/ports/pocketpy/portfile.cmake @@ -0,0 +1,33 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO pocketpy/pocketpy + REF "v${VERSION}" + SHA512 6c9872c4a402bc702e577067c05d593034f45f150ebbf033ef204b4c7deff6cd2da0f9db44e0bb37aefdeb7a4d99e5a9c4a93ece57316f561c5bf4cd33cd12e3 + HEAD_REF master + PATCHES + fix-conflict.patch +) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DPK_BUILD_SHARED_LIB=${BUILD_SHARED} + -DPK_BUILD_STATIC_LIB=${BUILD_STATIC} + -DPK_ENABLE_OS=OFF + -DPK_USE_CJSON=OFF + -DPK_INSTALL=ON +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup() +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/pocketpy/vcpkg.json b/ports/pocketpy/vcpkg.json new file mode 100644 index 00000000000000..6fcc297386b53b --- /dev/null +++ b/ports/pocketpy/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "pocketpy", + "version": "1.4.6", + "port-version": 1, + "description": "pkpy is a lightweight(~15K LOC) Python interpreter for game scripting, built on C++17 with STL.", + "homepage": "https://github.com/pocketpy/pocketpy", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/poco/0001-static-pcre.patch b/ports/poco/0001-static-pcre.patch new file mode 100644 index 00000000000000..4469310e2b3ac4 --- /dev/null +++ b/ports/poco/0001-static-pcre.patch @@ -0,0 +1,28 @@ +diff --git a/Foundation/CMakeLists.txt b/Foundation/CMakeLists.txt +index f504bc1..226dadb 100644 +--- a/Foundation/CMakeLists.txt ++++ b/Foundation/CMakeLists.txt +@@ -109,6 +109,23 @@ set_target_properties(Foundation + if(POCO_UNBUNDLED) + target_link_libraries(Foundation PUBLIC Pcre2::Pcre2 ZLIB::ZLIB) + target_compile_definitions(Foundation PUBLIC POCO_UNBUNDLED) ++ add_definitions( ++ -D_pcre2_utf8_table1=_poco_pcre2_utf8_table1 ++ -D_pcre2_utf8_table1_size=_poco_pcre2_utf8_table1_size ++ -D_pcre2_utf8_table2=_poco_pcre2_utf8_table2 ++ -D_pcre2_utf8_table3=_poco_pcre2_utf8_table3 ++ -D_pcre2_utf8_table4=_poco_pcre2_utf8_table4 ++ -D_pcre2_OP_lengths_8=_poco_pcre2_OP_lengths_8 ++ -D_pcre2_callout_end_delims_8=_poco_pcre2_callout_end_delims_8 ++ -D_pcre2_callout_start_delims_8=_poco_pcre2_callout_start_delims_8 ++ -D_pcre2_hspace_list_8=_poco_pcre2_hspace_list_8 ++ -D_pcre2_vspace_list_8=_poco_pcre2_vspace_list_8 ++ -D_pcre2_ucp_gbtable_8=_poco_pcre2_ucp_gbtable_8 ++ -D_pcre2_ucp_gentype_8=_poco_pcre2_ucp_gentype_8 ++ -D_pcre2_utt_8=_poco_pcre2_utt_8 ++ -D_pcre2_utt_names_8=_poco_pcre2_utt_names_8 ++ -D_pcre2_utt_size_8=_poco_pcre2_utt_size_8 ++ ) + endif(POCO_UNBUNDLED) + + target_include_directories(Foundation diff --git a/ports/poco/0002-arm64-pcre.patch b/ports/poco/0002-arm64-pcre.patch new file mode 100644 index 00000000000000..b5a48cec2adff9 --- /dev/null +++ b/ports/poco/0002-arm64-pcre.patch @@ -0,0 +1,49 @@ +diff --git a/Foundation/src/EventLogChannel.cpp b/Foundation/src/EventLogChannel.cpp +index f9a9fb1..b032f9d 100644 +--- a/Foundation/src/EventLogChannel.cpp ++++ b/Foundation/src/EventLogChannel.cpp +@@ -11,6 +11,7 @@ + // SPDX-License-Identifier: BSL-1.0 + // + ++#pragma comment(lib,"advapi32.lib") + + #include "Poco/EventLogChannel.h" + #include "Poco/Message.h" +diff --git a/Foundation/src/utils.h b/Foundation/src/utils.h +index c9b6c00..710c199 100644 +--- a/Foundation/src/utils.h ++++ b/Foundation/src/utils.h +@@ -129,7 +129,7 @@ int main(int argc, char** argv) { + // + // If it prints "correct" then the architecture should be here, in the "correct" section. + #if defined(_M_X64) || defined(__x86_64__) || \ +- defined(__ARMEL__) || defined(__avr32__) || defined(_M_ARM) || defined(_M_ARM64) || \ ++ defined(__ARMEL__) || defined(_M_ARM) || defined(__arm__) || defined(__arm64__) || defined(_M_ARM64) || \ + defined(__hppa__) || defined(__ia64__) || \ + defined(__mips__) || \ + defined(__loongarch__) || \ +diff --git a/Net/src/Net.cpp b/Net/src/Net.cpp +index 1a75379..b4081fd 100644 +--- a/Net/src/Net.cpp ++++ b/Net/src/Net.cpp +@@ -11,6 +11,7 @@ + // SPDX-License-Identifier: BSL-1.0 + // + ++#pragma comment(lib,"advapi32.lib") + + #include "Poco/Net/Net.h" + +diff --git a/Util/src/WinRegistryKey.cpp b/Util/src/WinRegistryKey.cpp +index 7fd1a28..a07c5d2 100644 +--- a/Util/src/WinRegistryKey.cpp ++++ b/Util/src/WinRegistryKey.cpp +@@ -11,6 +11,7 @@ + // SPDX-License-Identifier: BSL-1.0 + // + ++#pragma comment(lib,"advapi32.lib") + + #include "Poco/Util/WinRegistryKey.h" + #include "Poco/Exception.h" diff --git a/ports/poco/0003-fix-dependency.patch b/ports/poco/0003-fix-dependency.patch new file mode 100644 index 00000000000000..a17e6e8d28e479 --- /dev/null +++ b/ports/poco/0003-fix-dependency.patch @@ -0,0 +1,208 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c552091..8842c76 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -90,8 +90,6 @@ option(FORCE_OPENSSL "Force usage of OpenSSL even under windows" OFF) + + if(ENABLE_CRYPTO OR ENABLE_NETSSL OR ENABLE_JWT) + find_package(OpenSSL REQUIRED) +-else() +- find_package(OpenSSL) + endif() + + if(OPENSSL_FOUND) +@@ -121,24 +119,19 @@ else() + option(ENABLE_APACHECONNECTOR "Enable ApacheConnector" OFF) + endif() + +-if(ENABLE_DATA_MYSQL) +- find_package(MySQL REQUIRED) +-else() +- find_package(MySQL) +-endif() ++option(ENABLE_DATA "Enable Data" OFF) ++option(ENABLE_DATA_MYSQL "Enable Data MySQL or MariaDB" OFF) + +-if(MYSQL_FOUND) +- option(ENABLE_DATA "Enable Data" ON) +- option(ENABLE_DATA_MYSQL "Enable Data MySQL or MariaDB" ON) +-else() +- option(ENABLE_DATA "Enable Data" OFF) +- option(ENABLE_DATA_MYSQL "Enable Data MySQL or MariaDB" OFF) ++if(ENABLE_DATA_MYSQL) ++ find_package(libmysql) ++ if (NOT libmysql_FOUND) ++ find_package(unofficial-libmariadb CONFIG REQUIRED) ++ set(MYSQL_LIBRARIES unofficial::libmariadb) ++ endif() + endif() + + if(ENABLE_DATA_POSTGRESQL) + find_package(PostgreSQL REQUIRED) +-else() +- find_package(PostgreSQL) + endif() + + if(PostgreSQL_FOUND) +@@ -223,6 +216,9 @@ include(DefinePlatformSpecifc) + # Collect the built libraries and include dirs, the will be used to create the PocoConfig.cmake file + set(Poco_COMPONENTS "") + ++# Do not declare the link library in the code! ++add_definitions(-DPOCO_NO_AUTOMATIC_LIBS) ++ + if(ENABLE_TESTS) + add_subdirectory(CppUnit) + set(ENABLE_XML ON CACHE BOOL "Enable XML" FORCE) +@@ -351,8 +347,11 @@ if(EXISTS ${PROJECT_SOURCE_DIR}/Prometheus AND ENABLE_PROMETHEUS) + list(APPEND Poco_COMPONENTS "Prometheus") + endif() + +-if(EXISTS ${PROJECT_SOURCE_DIR}/PDF AND ENABLE_PDF) +- add_subdirectory(PDF) ++if(ENABLE_PDF) ++ include(SelectLibraryConfigurations) ++ find_library(PocoPDF_LIBRARY_RELEASE NAMES libhpdf) ++ find_library(PocoPDF_LIBRARY_DEBUG NAMES libhpdfd) ++ select_library_configurations(PocoPDF) + list(APPEND Poco_COMPONENTS "PDF") + endif() + +@@ -492,15 +491,6 @@ install( + Devel + ) + +-if(POCO_UNBUNDLED) +- install(FILES cmake/FindPCRE2.cmake +- DESTINATION "${PocoConfigPackageLocation}") +- install(FILES cmake/V39/FindEXPAT.cmake +- DESTINATION "${PocoConfigPackageLocation}/V39") +- install(FILES cmake/V313/FindSQLite3.cmake +- DESTINATION "${PocoConfigPackageLocation}/V313") +-endif() +- + message(STATUS "CMake ${CMAKE_VERSION} successfully configured ${PROJECT_NAME} using ${CMAKE_GENERATOR} generator") + message(STATUS "${PROJECT_NAME} package version: ${PROJECT_VERSION}") + if(BUILD_SHARED_LIBS) +diff --git a/Data/CMakeLists.txt b/Data/CMakeLists.txt +index 0772af6..ec82d76 100644 +--- a/Data/CMakeLists.txt ++++ b/Data/CMakeLists.txt +@@ -45,7 +45,7 @@ else(ENABLE_DATA_SQLITE) + message(STATUS "SQLite Support Disabled") + endif() + +-if(MYSQL_FOUND AND ENABLE_DATA_MYSQL) ++if((unofficial-libmysql_FOUND OR unofficial-libmariadb_FOUND) AND ENABLE_DATA_MYSQL) + message(STATUS "MySQL Support Enabled") + add_subdirectory(MySQL) + else() +diff --git a/Data/MySQL/CMakeLists.txt b/Data/MySQL/CMakeLists.txt +index ce411cf..5a30b7c 100644 +--- a/Data/MySQL/CMakeLists.txt ++++ b/Data/MySQL/CMakeLists.txt +@@ -21,7 +21,7 @@ set_target_properties(DataMySQL + DEFINE_SYMBOL MySQL_EXPORTS + ) + +-target_link_libraries(DataMySQL PUBLIC Poco::Data MySQL::client) ++target_link_libraries(DataMySQL PUBLIC Poco::Data ${MYSQL_LIBRARIES}) + target_include_directories(DataMySQL + PUBLIC + $ +diff --git a/Data/MySQL/include/Poco/Data/MySQL/MySQL.h b/Data/MySQL/include/Poco/Data/MySQL/MySQL.h +index 2386590..81b2c8e 100644 +--- a/Data/MySQL/include/Poco/Data/MySQL/MySQL.h ++++ b/Data/MySQL/include/Poco/Data/MySQL/MySQL.h +@@ -57,8 +57,6 @@ + #endif + #if defined(LIBMARIADB) + #pragma comment(lib, "libmariadb") +- #else +- #pragma comment(lib, "libmysql") + #endif + #endif + +diff --git a/Data/SQLite/CMakeLists.txt b/Data/SQLite/CMakeLists.txt +index 3a176d7..d8055cb 100644 +--- a/Data/SQLite/CMakeLists.txt ++++ b/Data/SQLite/CMakeLists.txt +@@ -7,7 +7,7 @@ file(GLOB_RECURSE HDRS_G "include/*.h") + POCO_HEADERS_AUTO(SQLITE_SRCS ${HDRS_G}) + + if(POCO_UNBUNDLED) +- find_package(SQLite3 REQUIRED) ++ find_package(unofficial-sqlite3 CONFIG REQUIRED) + else() + # sqlite3 + POCO_SOURCES(SQLITE_SRCS sqlite3 +@@ -43,7 +43,7 @@ target_include_directories(DataSQLite + ) + + if(POCO_UNBUNDLED) +- target_link_libraries(DataSQLite PUBLIC SQLite::SQLite3) ++ target_link_libraries(DataSQLite PUBLIC unofficial::sqlite3::sqlite3) + target_compile_definitions(DataSQLite PUBLIC + POCO_UNBUNDLED + SQLITE_THREADSAFE=1 +diff --git a/XML/CMakeLists.txt b/XML/CMakeLists.txt +index 123657a..9856c55 100644 +--- a/XML/CMakeLists.txt ++++ b/XML/CMakeLists.txt +@@ -20,7 +20,7 @@ endif() + # If POCO_UNBUNDLED is enabled we try to find the required packages + # The configuration will fail if the packages are not found + if(POCO_UNBUNDLED) +- find_package(EXPAT REQUIRED) ++ find_package(expat CONFIG REQUIRED) + else() + POCO_SOURCES(SRCS expat + src/xmlparse.cpp +@@ -50,7 +50,7 @@ target_include_directories(XML + ) + + if(POCO_UNBUNDLED) +- target_link_libraries(XML PUBLIC EXPAT::EXPAT) ++ target_link_libraries(XML PUBLIC expat::expat) + target_compile_definitions(XML PUBLIC POCO_UNBUNDLED) + else() + if(WIN32) +diff --git a/XML/cmake/PocoXMLConfig.cmake b/XML/cmake/PocoXMLConfig.cmake +index ef58207..4ed94ec 100644 +--- a/XML/cmake/PocoXMLConfig.cmake ++++ b/XML/cmake/PocoXMLConfig.cmake +@@ -4,7 +4,7 @@ if(@POCO_UNBUNDLED@) + if(CMAKE_VERSION VERSION_LESS "3.10") + list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/V39") + endif() +- find_dependency(EXPAT REQUIRED) ++ find_dependency(expat CONFIG REQUIRED) + endif() + + include("${CMAKE_CURRENT_LIST_DIR}/PocoXMLTargets.cmake") +diff --git a/cmake/PocoConfig.cmake.in b/cmake/PocoConfig.cmake.in +index 173eacd..90f68fc 100644 +--- a/cmake/PocoConfig.cmake.in ++++ b/cmake/PocoConfig.cmake.in +@@ -8,6 +8,12 @@ if (NOT Poco_FIND_COMPONENTS) + return() + endif() + ++include(CMakeFindDependencyMacro) ++find_dependency(ZLIB REQUIRED) ++if(Poco_FIND_REQUIRED_XML) ++ find_dependency(expat CONFIG REQUIRED) ++endif() ++ + set(_Poco_FIND_PARTS_REQUIRED) + if (Poco_FIND_REQUIRED) + set(_Poco_FIND_PARTS_REQUIRED REQUIRED) +@@ -23,7 +29,7 @@ set(_Poco_NOTFOUND_MESSAGE) + + # Let components find each other, but don't overwrite CMAKE_PREFIX_PATH + set(_Poco_CMAKE_PREFIX_PATH_old ${CMAKE_PREFIX_PATH}) +-set(CMAKE_PREFIX_PATH ${_Poco_install_prefix}) ++set(CMAKE_PREFIX_PATH ${_Poco_install_prefix} ${CMAKE_PREFIX_PATH}) + + foreach(module ${Poco_FIND_COMPONENTS}) + find_package(Poco${module} diff --git a/ports/poco/fix-feature-sqlite3.patch b/ports/poco/0004-fix-feature-sqlite3.patch similarity index 100% rename from ports/poco/fix-feature-sqlite3.patch rename to ports/poco/0004-fix-feature-sqlite3.patch diff --git a/ports/poco/0005-fix-error-c3861.patch b/ports/poco/0005-fix-error-c3861.patch new file mode 100644 index 00000000000000..dc029c6007e860 --- /dev/null +++ b/ports/poco/0005-fix-error-c3861.patch @@ -0,0 +1,12 @@ +diff --git a/XML/include/Poco/XML/ParserEngine.h b/XML/include/Poco/XML/ParserEngine.h +index e0c8455..363654c 100644 +--- a/XML/include/Poco/XML/ParserEngine.h ++++ b/XML/include/Poco/XML/ParserEngine.h +@@ -19,6 +19,7 @@ + + #include "Poco/XML/XML.h" + #if defined(POCO_UNBUNDLED) ++#include + #include + #else + #include "Poco/XML/expat.h" diff --git a/ports/poco/0007-find-pcre2.patch b/ports/poco/0007-find-pcre2.patch new file mode 100644 index 00000000000000..6ad4785b99cb33 --- /dev/null +++ b/ports/poco/0007-find-pcre2.patch @@ -0,0 +1,94 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 8842c76..b887168 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -491,6 +491,11 @@ install( + Devel + ) + ++if(POCO_UNBUNDLED) ++ install(FILES cmake/FindPCRE2.cmake ++ DESTINATION "${PocoConfigPackageLocation}") ++endif() ++ + message(STATUS "CMake ${CMAKE_VERSION} successfully configured ${PROJECT_NAME} using ${CMAKE_GENERATOR} generator") + message(STATUS "${PROJECT_NAME} package version: ${PROJECT_VERSION}") + if(BUILD_SHARED_LIBS) +diff --git a/Foundation/CMakeLists.txt b/Foundation/CMakeLists.txt +index 226dadb..a3765a7 100644 +--- a/Foundation/CMakeLists.txt ++++ b/Foundation/CMakeLists.txt +@@ -35,8 +35,11 @@ POCO_MESSAGES(SRCS Logging src/pocomsg.mc) + # If POCO_UNBUNDLED is enabled we try to find the required packages + # The configuration will fail if the packages are not found + if(POCO_UNBUNDLED) +- find_package(PCRE2 REQUIRED) + find_package(ZLIB REQUIRED) ++ include(SelectLibraryConfigurations) ++ find_library(PCRE2_LIBRARY_DEBUG NAMES pcre2-8d pcre2-8-staticd HINTS ${INSTALLED_LIB_PATH}) ++ find_library(PCRE2_LIBRARY_RELEASE NAMES pcre2-8 pcre2-8-static HINTS ${INSTALLED_LIB_PATH}) ++ select_library_configurations(PCRE2) + + #HACK: Unicode.cpp requires functions from these files. The can't be taken from the library + POCO_SOURCES(SRCS RegExp +@@ -107,7 +110,7 @@ set_target_properties(Foundation + ) + + if(POCO_UNBUNDLED) +- target_link_libraries(Foundation PUBLIC Pcre2::Pcre2 ZLIB::ZLIB) ++ target_link_libraries(Foundation PUBLIC ${PCRE2_LIBRARY} ZLIB::ZLIB) + target_compile_definitions(Foundation PUBLIC POCO_UNBUNDLED) + add_definitions( + -D_pcre2_utf8_table1=_poco_pcre2_utf8_table1 +diff --git a/cmake/FindPCRE2.cmake b/cmake/FindPCRE2.cmake +index e730f32..6e10df2 100644 +--- a/cmake/FindPCRE2.cmake ++++ b/cmake/FindPCRE2.cmake +@@ -54,7 +54,7 @@ Hints + include(FindPackageHandleStandardArgs) + + find_package(PkgConfig QUIET) +-pkg_check_modules(PC_PCRE2 QUIET pcre2) ++pkg_check_modules(PC_PCRE2 QUIET libpcre2-8) + + find_path(PCRE2_INCLUDE_DIR + NAMES pcre2.h +@@ -66,8 +66,8 @@ find_path(PCRE2_INCLUDE_DIR + DOC "Specify the include directory containing pcre2.h" + ) + +-find_library(PCRE2_LIBRARY +- NAMES pcre2-8 ++find_library(PCRE2_LIBRARY_DEBUG ++ NAMES pcre2-8d pcre2-8-staticd + HINTS + ${PCRE2_ROOT_DIR}/lib + ${PCRE2_ROOT_LIBRARY_DIRS} +@@ -76,6 +76,19 @@ find_library(PCRE2_LIBRARY + DOC "Specify the lib directory containing pcre2" + ) + ++find_library(PCRE2_LIBRARY_RELEASE ++ NAMES pcre2-8 pcre2-8-static ++ HINTS ++ ${PCRE2_ROOT_DIR}/lib ++ ${PCRE2_ROOT_LIBRARY_DIRS} ++ PATHS ++ ${PC_PCRE2_LIBRARY_DIRS} ++ DOC "Specify the lib directory containing pcre2" ++) ++ ++include(SelectLibraryConfigurations) ++select_library_configurations(PCRE2) ++ + set(PCRE2_VERSION ${PC_PCRE2_VERSION}) + + find_package_handle_standard_args(PCRE2 +@@ -87,7 +100,6 @@ find_package_handle_standard_args(PCRE2 + ) + + if(PCRE2_FOUND) +- set(PCRE2_LIBRARIES ${PCRE2_LIBRARY}) + set(PCRE2_INCLUDE_DIRS ${PCRE2_INCLUDE_DIR}) + set(PCRE2_DEFINITIONS ${PC_PCRE2_CFLAGS_OTHER}) + endif() diff --git a/ports/poco/arm64_pcre.patch b/ports/poco/arm64_pcre.patch deleted file mode 100644 index 75151dc34f2d39..00000000000000 --- a/ports/poco/arm64_pcre.patch +++ /dev/null @@ -1,62 +0,0 @@ -diff --git a/Foundation/include/Poco/Platform.h b/Foundation/include/Poco/Platform.h -index 9a945f3..f5a9a7f 100644 ---- a/Foundation/include/Poco/Platform.h -+++ b/Foundation/include/Poco/Platform.h -@@ -191,7 +191,7 @@ - #else - #define POCO_ARCH_LITTLE_ENDIAN 1 - #endif --#elif defined(__arm64__) || defined(__arm64) -+#elif defined(__arm64__) || defined(__arm64) || defined(_M_ARM64) - #define POCO_ARCH POCO_ARCH_ARM64 - #if defined(__ARMEB__) - #define POCO_ARCH_BIG_ENDIAN 1 -diff --git a/Foundation/src/EventLogChannel.cpp b/Foundation/src/EventLogChannel.cpp -index 1f51296..c67b71b 100644 ---- a/Foundation/src/EventLogChannel.cpp -+++ b/Foundation/src/EventLogChannel.cpp -@@ -11,6 +11,7 @@ - // SPDX-License-Identifier: BSL-1.0 - // - -+#pragma comment(lib,"advapi32.lib") - - #include "Poco/EventLogChannel.h" - #include "Poco/Message.h" -diff --git a/Foundation/src/utils.h b/Foundation/src/utils.h -index 4328344..5eeafcd 100644 ---- a/Foundation/src/utils.h -+++ b/Foundation/src/utils.h -@@ -91,7 +91,7 @@ int main(int argc, char** argv) { - // - // If it prints "correct" then the architecture should be here, in the "correct" section. - #if defined(_M_X64) || defined(__x86_64__) || \ -- defined(__ARMEL__) || defined(__avr32__) || defined(_M_ARM) || defined(_M_ARM64) || \ -+ defined(__ARMEL__) || defined(_M_ARM) || defined(__arm__) || defined(__arm64__) || defined(_M_ARM64) || \ - defined(__hppa__) || defined(__ia64__) || \ - defined(__mips__) || \ - defined(__powerpc__) || defined(__ppc__) || defined(__ppc64__) || \ -diff --git a/Net/src/Net.cpp b/Net/src/Net.cpp -index 1a75379..b4081fd 100644 ---- a/Net/src/Net.cpp -+++ b/Net/src/Net.cpp -@@ -11,6 +11,7 @@ - // SPDX-License-Identifier: BSL-1.0 - // - -+#pragma comment(lib,"advapi32.lib") - - #include "Poco/Net/Net.h" - -diff --git a/Util/src/WinRegistryKey.cpp b/Util/src/WinRegistryKey.cpp -index 7fd1a28..a07c5d2 100644 ---- a/Util/src/WinRegistryKey.cpp -+++ b/Util/src/WinRegistryKey.cpp -@@ -11,6 +11,7 @@ - // SPDX-License-Identifier: BSL-1.0 - // - -+#pragma comment(lib,"advapi32.lib") - - #include "Poco/Util/WinRegistryKey.h" - #include "Poco/Exception.h" diff --git a/ports/poco/fix-error-c3861.patch b/ports/poco/fix-error-c3861.patch deleted file mode 100644 index 85891622c75979..00000000000000 --- a/ports/poco/fix-error-c3861.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/XML/include/Poco/XML/ParserEngine.h b/XML/include/Poco/XML/ParserEngine.h -index e0c8455..363654c 100644 ---- a/XML/include/Poco/XML/ParserEngine.h -+++ b/XML/include/Poco/XML/ParserEngine.h -@@ -19,6 +19,7 @@ - - #include "Poco/XML/XML.h" - #if defined(POCO_UNBUNDLED) -+#include - #include - #else - #include "Poco/XML/expat.h" diff --git a/ports/poco/fix_dependency.patch b/ports/poco/fix_dependency.patch deleted file mode 100644 index 4b47bfddb299eb..00000000000000 --- a/ports/poco/fix_dependency.patch +++ /dev/null @@ -1,244 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 4e05272..44dd7cb 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -82,8 +82,6 @@ option(FORCE_OPENSSL "Force usage of OpenSSL even under windows" OFF) - - if(ENABLE_CRYPTO OR ENABLE_NETSSL OR ENABLE_JWT) - find_package(OpenSSL REQUIRED) --else() -- find_package(OpenSSL) - endif() - - if(OPENSSL_FOUND) -@@ -113,24 +111,19 @@ else() - option(ENABLE_APACHECONNECTOR "Enable ApacheConnector" OFF) - endif() - --if(ENABLE_DATA_MYSQL) -- find_package(MySQL REQUIRED) --else() -- find_package(MySQL) --endif() -+option(ENABLE_DATA "Enable Data" OFF) -+option(ENABLE_DATA_MYSQL "Enable Data MySQL or MariaDB" OFF) - --if(MYSQL_FOUND) -- option(ENABLE_DATA "Enable Data" ON) -- option(ENABLE_DATA_MYSQL "Enable Data MySQL or MariaDB" ON) --else() -- option(ENABLE_DATA "Enable Data" OFF) -- option(ENABLE_DATA_MYSQL "Enable Data MySQL or MariaDB" OFF) -+if(ENABLE_DATA_MYSQL) -+ find_package(libmysql) -+ if (NOT libmysql_FOUND) -+ find_package(unofficial-libmariadb CONFIG REQUIRED) -+ set(MYSQL_LIBRARIES unofficial::libmariadb) -+ endif() - endif() - - if(ENABLE_DATA_POSTGRESQL) - find_package(PostgreSQL REQUIRED) --else() -- find_package(PostgreSQL) - endif() - - if(PostgreSQL_FOUND) -@@ -207,6 +200,9 @@ include(DefinePlatformSpecifc) - # Collect the built libraries and include dirs, the will be used to create the PocoConfig.cmake file - set(Poco_COMPONENTS "") - -+# Do not declare the link library in the code! -+add_definitions(-DPOCO_NO_AUTOMATIC_LIBS) -+ - if(ENABLE_TESTS) - add_subdirectory(CppUnit) - set(ENABLE_XML ON CACHE BOOL "Enable XML" FORCE) -@@ -339,8 +335,11 @@ if(EXISTS ${PROJECT_SOURCE_DIR}/Redis AND ENABLE_REDIS) - list(APPEND Poco_COMPONENTS "Redis") - endif() - --if(EXISTS ${PROJECT_SOURCE_DIR}/PDF AND ENABLE_PDF) -- add_subdirectory(PDF) -+if(ENABLE_PDF) -+ include(SelectLibraryConfigurations) -+ find_library(PocoPDF_LIBRARY_RELEASE NAMES libhpdf) -+ find_library(PocoPDF_LIBRARY_DEBUG NAMES libhpdfd) -+ select_library_configurations(PocoPDF) - list(APPEND Poco_COMPONENTS "PDF") - endif() - -@@ -478,15 +477,6 @@ install( - Devel - ) - --if(POCO_UNBUNDLED) -- install(FILES cmake/FindPCRE.cmake -- DESTINATION "${PocoConfigPackageLocation}") -- install(FILES cmake/V39/FindEXPAT.cmake -- DESTINATION "${PocoConfigPackageLocation}/V39") -- install(FILES cmake/V313/FindSQLite3.cmake -- DESTINATION "${PocoConfigPackageLocation}/V313") --endif() -- - message(STATUS "CMake ${CMAKE_VERSION} successfully configured ${PROJECT_NAME} using ${CMAKE_GENERATOR} generator") - message(STATUS "${PROJECT_NAME} package version: ${PROJECT_VERSION}") - if(BUILD_SHARED_LIBS) -diff --git a/Data/CMakeLists.txt b/Data/CMakeLists.txt -index 7d1e99e..9d0a85c 100644 ---- a/Data/CMakeLists.txt -+++ b/Data/CMakeLists.txt -@@ -45,7 +45,7 @@ else(ENABLE_DATA_SQLITE) - message(STATUS "SQLite Support Disabled") - endif() - --if(MYSQL_FOUND AND ENABLE_DATA_MYSQL) -+if((MYSQL_FOUND OR unofficial-libmariadb_FOUND) AND ENABLE_DATA_MYSQL) - message(STATUS "MySQL Support Enabled") - add_subdirectory(MySQL) - else() -diff --git a/Data/MySQL/CMakeLists.txt b/Data/MySQL/CMakeLists.txt -index f71b145..7034974 100644 ---- a/Data/MySQL/CMakeLists.txt -+++ b/Data/MySQL/CMakeLists.txt -@@ -21,7 +21,7 @@ set_target_properties(DataMySQL - DEFINE_SYMBOL MySQL_EXPORTS - ) - --target_link_libraries(DataMySQL PUBLIC Poco::Data MySQL::client) -+target_link_libraries(DataMySQL PUBLIC Poco::Data ${MYSQL_LIBRARIES}) - target_include_directories(DataMySQL - PUBLIC - $ -diff --git a/Data/MySQL/include/Poco/Data/MySQL/MySQL.h b/Data/MySQL/include/Poco/Data/MySQL/MySQL.h -index 6ddcd39..9e50803 100644 ---- a/Data/MySQL/include/Poco/Data/MySQL/MySQL.h -+++ b/Data/MySQL/include/Poco/Data/MySQL/MySQL.h -@@ -57,8 +57,6 @@ - #endif - #if defined(LIBMARIADB) - #pragma comment(lib, "libmariadb") -- #else -- #pragma comment(lib, "libmysql") - #endif - #endif - -diff --git a/Data/SQLite/CMakeLists.txt b/Data/SQLite/CMakeLists.txt -index b52e2c5..0dcfae2 100644 ---- a/Data/SQLite/CMakeLists.txt -+++ b/Data/SQLite/CMakeLists.txt -@@ -7,7 +7,7 @@ file(GLOB_RECURSE HDRS_G "include/*.h") - POCO_HEADERS_AUTO(SQLITE_SRCS ${HDRS_G}) - - if(POCO_UNBUNDLED) -- find_package(SQLite3 REQUIRED) -+ find_package(unofficial-sqlite3 CONFIG REQUIRED) - else() - # sqlite3 - POCO_SOURCES(SQLITE_SRCS sqlite3 -@@ -43,7 +43,7 @@ target_include_directories(DataSQLite - ) - - if(POCO_UNBUNDLED) -- target_link_libraries(DataSQLite PUBLIC SQLite::SQLite3) -+ target_link_libraries(DataSQLite PUBLIC unofficial::sqlite3::sqlite3) - target_compile_definitions(DataSQLite PUBLIC - POCO_UNBUNDLED - SQLITE_THREADSAFE=1 -diff --git a/Foundation/CMakeLists.txt b/Foundation/CMakeLists.txt -index 6f5100f..c9fa2e5 100644 ---- a/Foundation/CMakeLists.txt -+++ b/Foundation/CMakeLists.txt -@@ -35,7 +35,7 @@ POCO_MESSAGES(SRCS Logging src/pocomsg.mc) - # If POCO_UNBUNDLED is enabled we try to find the required packages - # The configuration will fail if the packages are not found - if(POCO_UNBUNDLED) -- find_package(PCRE REQUIRED) -+ find_package(unofficial-pcre CONFIG REQUIRED) - find_package(ZLIB REQUIRED) - - #HACK: Unicode.cpp requires functions from these files. The can't be taken from the library -@@ -101,7 +101,7 @@ set_target_properties(Foundation - ) - - if(POCO_UNBUNDLED) -- target_link_libraries(Foundation PUBLIC Pcre::Pcre ZLIB::ZLIB) -+ target_link_libraries(Foundation PUBLIC unofficial::pcre::pcre ZLIB::ZLIB) - target_compile_definitions(Foundation PUBLIC POCO_UNBUNDLED) - add_definitions( - -D_pcre_utf8_table1=_poco_pcre_utf8_table1 -diff --git a/Foundation/cmake/PocoFoundationConfig.cmake b/Foundation/cmake/PocoFoundationConfig.cmake -index 46c2d3f..af2e78c 100644 ---- a/Foundation/cmake/PocoFoundationConfig.cmake -+++ b/Foundation/cmake/PocoFoundationConfig.cmake -@@ -2,7 +2,7 @@ if(@POCO_UNBUNDLED@) - include(CMakeFindDependencyMacro) - list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}") - find_dependency(ZLIB REQUIRED) -- find_dependency(PCRE REQUIRED) -+ find_dependency(unofficial-pcre REQUIRED) - endif() - - include("${CMAKE_CURRENT_LIST_DIR}/PocoFoundationTargets.cmake") -diff --git a/XML/CMakeLists.txt b/XML/CMakeLists.txt -index 4fbf06f..793285a 100644 ---- a/XML/CMakeLists.txt -+++ b/XML/CMakeLists.txt -@@ -20,7 +20,7 @@ endif() - # If POCO_UNBUNDLED is enabled we try to find the required packages - # The configuration will fail if the packages are not found - if(POCO_UNBUNDLED) -- find_package(EXPAT REQUIRED) -+ find_package(expat CONFIG REQUIRED) - else() - POCO_SOURCES(SRCS expat - src/xmlparse.cpp -@@ -50,7 +50,7 @@ target_include_directories(XML - ) - - if(POCO_UNBUNDLED) -- target_link_libraries(XML PUBLIC EXPAT::EXPAT) -+ target_link_libraries(XML PUBLIC expat::expat) - target_compile_definitions(XML PUBLIC POCO_UNBUNDLED) - else() - if(WIN32) -diff --git a/XML/cmake/PocoXMLConfig.cmake b/XML/cmake/PocoXMLConfig.cmake -index ef58207..4ed94ec 100644 ---- a/XML/cmake/PocoXMLConfig.cmake -+++ b/XML/cmake/PocoXMLConfig.cmake -@@ -4,7 +4,7 @@ if(@POCO_UNBUNDLED@) - if(CMAKE_VERSION VERSION_LESS "3.10") - list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/V39") - endif() -- find_dependency(EXPAT REQUIRED) -+ find_dependency(expat CONFIG REQUIRED) - endif() - - include("${CMAKE_CURRENT_LIST_DIR}/PocoXMLTargets.cmake") -diff --git a/cmake/PocoConfig.cmake.in b/cmake/PocoConfig.cmake.in -index 173eacd..936edf4 100644 ---- a/cmake/PocoConfig.cmake.in -+++ b/cmake/PocoConfig.cmake.in -@@ -8,6 +8,13 @@ if (NOT Poco_FIND_COMPONENTS) - return() - endif() - -+include(CMakeFindDependencyMacro) -+find_dependency(ZLIB REQUIRED) -+find_dependency(unofficial-pcre REQUIRED) -+if(Poco_FIND_REQUIRED_XML) -+ find_dependency(expat CONFIG REQUIRED) -+endif() -+ - set(_Poco_FIND_PARTS_REQUIRED) - if (Poco_FIND_REQUIRED) - set(_Poco_FIND_PARTS_REQUIRED REQUIRED) -@@ -23,7 +30,7 @@ set(_Poco_NOTFOUND_MESSAGE) - - # Let components find each other, but don't overwrite CMAKE_PREFIX_PATH - set(_Poco_CMAKE_PREFIX_PATH_old ${CMAKE_PREFIX_PATH}) --set(CMAKE_PREFIX_PATH ${_Poco_install_prefix}) -+set(CMAKE_PREFIX_PATH ${_Poco_install_prefix} ${CMAKE_PREFIX_PATH}) - - foreach(module ${Poco_FIND_COMPONENTS}) - find_package(Poco${module} diff --git a/ports/poco/portfile.cmake b/ports/poco/portfile.cmake index 4ac9a949df8436..09cbdab7e8355e 100644 --- a/ports/poco/portfile.cmake +++ b/ports/poco/portfile.cmake @@ -1,42 +1,48 @@ -vcpkg_fail_port_install(ON_TARGET "UWP") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO pocoproject/poco - REF f81a38057f1d240fe7b7a069612776f788bc88ea # poco-1.11.0-release - SHA512 c5f39aca8b5464959b9337b0cbd8ee86d81f195f5a5ba864692c71b2bdbffdecef0537b6e6a2d9f41829bcd58f78825b10565d0c4ee7b3c856a4886a9e328118 - HEAD_REF master + REF "poco-${VERSION}-release" + SHA512 084064fb462c9e7993d069ebdf395802af900ed92c5b294465a2c246162bb86caa3505985de329e8110d3e9fb3bc39ae9536d523843729d4ed5ce00c35289d92 + HEAD_REF devel PATCHES # Fix embedded copy of pcre in static linking mode - static_pcre.patch + 0001-static-pcre.patch # Add the support of arm64-windows - arm64_pcre.patch - fix_dependency.patch - fix-feature-sqlite3.patch - fix-error-c3861.patch + 0002-arm64-pcre.patch + 0003-fix-dependency.patch + 0004-fix-feature-sqlite3.patch + 0005-fix-error-c3861.patch + 0007-find-pcre2.patch ) -file(REMOVE "${SOURCE_PATH}/Foundation/src/pcre.h") +file(REMOVE "${SOURCE_PATH}/Foundation/src/pcre2.h") file(REMOVE "${SOURCE_PATH}/cmake/V39/FindEXPAT.cmake") file(REMOVE "${SOURCE_PATH}/cmake/V313/FindSQLite3.cmake") -file(REMOVE "${SOURCE_PATH}/cmake/FindPCRE.cmake") +# vcpkg's PCRE2 does not provide a FindPCRE2, and the bundled one seems to work fine +# file(REMOVE "${SOURCE_PATH}/cmake/FindPCRE2.cmake") file(REMOVE "${SOURCE_PATH}/XML/src/expat_config.h") file(REMOVE "${SOURCE_PATH}/cmake/FindMySQL.cmake") # define Poco linkage type -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" POCO_STATIC) string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" POCO_MT) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES - pdf ENABLE_PDF + crypto ENABLE_CRYPTO netssl ENABLE_NETSSL - netssl ENABLE_NETSSL_WIN - netssl ENABLE_CRYPTO + pdf ENABLE_PDF sqlite3 ENABLE_DATA_SQLITE postgresql ENABLE_DATA_POSTGRESQL ) +# POCO_ENABLE_NETSSL_WIN: +# Use the unreleased NetSSL_Win module instead of (OpenSSL) NetSSL. +# This is a variable which can be set in the triplet file. +if(POCO_ENABLE_NETSSL_WIN) + string(REPLACE "ENABLE_NETSSL" "ENABLE_NETSSL_WIN" FEATURE_OPTIONS "${FEATURE_OPTIONS}") + list(APPEND FEATURE_OPTIONS "-DENABLE_NETSSL:BOOL=OFF") +endif() + if ("mysql" IN_LIST FEATURES OR "mariadb" IN_LIST FEATURES) set(POCO_USE_MYSQL ON) else() @@ -45,22 +51,19 @@ endif() vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - OPTIONS ${FEATURE_OPTIONS} + OPTIONS + ${FEATURE_OPTIONS} # force to use dependencies as external -DPOCO_UNBUNDLED=ON # Define linking feature - -DPOCO_STATIC=${POCO_STATIC} -DPOCO_MT=${POCO_MT} -DENABLE_TESTS=OFF # Allow enabling and disabling components - # POCO_ENABLE_SQL_ODBC, POCO_ENABLE_SQL_MYSQL and POCO_ENABLE_SQL_POSTGRESQL are - # defined on the fly if the required librairies are present -DENABLE_ENCODINGS=ON -DENABLE_ENCODINGS_COMPILER=ON -DENABLE_XML=ON -DENABLE_JSON=ON -DENABLE_MONGODB=ON - # -DPOCO_ENABLE_SQL_SQLITE=ON # SQLITE are not supported. -DENABLE_REDIS=ON -DENABLE_UTIL=ON -DENABLE_NET=ON @@ -73,6 +76,9 @@ vcpkg_cmake_configure( -DPOCO_DISABLE_INTERNAL_OPENSSL=ON -DENABLE_APACHECONNECTOR=OFF -DENABLE_DATA_MYSQL=${POCO_USE_MYSQL} + MAYBE_UNUSED_VARIABLES # these are only used when if(MSVC) + POCO_DISABLE_INTERNAL_OPENSSL + POCO_MT ) vcpkg_cmake_install() @@ -80,24 +86,28 @@ vcpkg_cmake_install() vcpkg_copy_pdbs() # Move apps to the tools folder -vcpkg_copy_tools(TOOL_NAMES cpspc f2cpsp PocoDoc tec arc AUTO_CLEAN) +vcpkg_copy_tools(TOOL_NAMES cpspc f2cpsp PocoDoc tec poco-arc AUTO_CLEAN) + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") +endif() # Copy additional include files not part of any libraries if(EXISTS "${CURRENT_PACKAGES_DIR}/include/Poco/SQL") - file(COPY ${SOURCE_PATH}/Data/include DESTINATION ${CURRENT_PACKAGES_DIR}) + file(COPY "${SOURCE_PATH}/Data/include" DESTINATION "${CURRENT_PACKAGES_DIR}") endif() if(EXISTS "${CURRENT_PACKAGES_DIR}/include/Poco/SQL/MySQL") - file(COPY ${SOURCE_PATH}/Data/MySQL/include DESTINATION ${CURRENT_PACKAGES_DIR}) + file(COPY "${SOURCE_PATH}/Data/MySQL/include" DESTINATION "${CURRENT_PACKAGES_DIR}") endif() if(EXISTS "${CURRENT_PACKAGES_DIR}/include/Poco/SQL/ODBC") - file(COPY ${SOURCE_PATH}/Data/ODBC/include DESTINATION ${CURRENT_PACKAGES_DIR}) + file(COPY "${SOURCE_PATH}/Data/ODBC/include" DESTINATION "${CURRENT_PACKAGES_DIR}") endif() if(EXISTS "${CURRENT_PACKAGES_DIR}/include/Poco/SQL/PostgreSQL") - file(COPY ${SOURCE_PATH}/Data/PostgreSQL/include DESTINATION ${CURRENT_PACKAGES_DIR}) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/libpq) + file(COPY "${SOURCE_PATH}/Data/PostgreSQL/include" DESTINATION "${CURRENT_PACKAGES_DIR}") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/libpq") endif() if(EXISTS "${CURRENT_PACKAGES_DIR}/include/Poco/SQL/SQLite") - file(COPY ${SOURCE_PATH}/Data/SQLite/include DESTINATION ${CURRENT_PACKAGES_DIR}) + file(COPY "${SOURCE_PATH}/Data/SQLite/include" DESTINATION "${CURRENT_PACKAGES_DIR}") endif() if(VCPKG_TARGET_IS_WINDOWS) @@ -109,4 +119,5 @@ endif() 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) +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/poco/static_pcre.patch b/ports/poco/static_pcre.patch deleted file mode 100644 index adfc5a7e8c00f9..00000000000000 --- a/ports/poco/static_pcre.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/Foundation/CMakeLists.txt b/Foundation/CMakeLists.txt -index 6b276be..6f5100f 100644 ---- a/Foundation/CMakeLists.txt -+++ b/Foundation/CMakeLists.txt -@@ -103,6 +103,21 @@ set_target_properties(Foundation - if(POCO_UNBUNDLED) - target_link_libraries(Foundation PUBLIC Pcre::Pcre ZLIB::ZLIB) - target_compile_definitions(Foundation PUBLIC POCO_UNBUNDLED) -+ add_definitions( -+ -D_pcre_utf8_table1=_poco_pcre_utf8_table1 -+ -D_pcre_utf8_table1_size=_poco_pcre_utf8_table1_size -+ -D_pcre_utf8_table2=_poco_pcre_utf8_table2 -+ -D_pcre_utf8_table3=_poco_pcre_utf8_table3 -+ -D_pcre_utf8_table4=_poco_pcre_utf8_table4 -+ -D_pcre_utt_names=_poco_pcre_utt_names -+ -D_pcre_utt=_poco_pcre_utt -+ -D_pcre_utt_size=_poco_pcre_utt_size -+ -D_pcre_OP_lengths=_poco_pcre_OP_lengths -+ -D_pcre_hspace_list=_poco_pcre_hspace_list -+ -D_pcre_vspace_list=_poco_pcre_vspace_list -+ -D_pcre_ucp_gentype=_poco_pcre_ucp_gentype -+ -D_pcre_ucp_gbtable=_poco_pcre_ucp_gbtable -+ ) - endif(POCO_UNBUNDLED) - - target_include_directories(Foundation diff --git a/ports/poco/usage b/ports/poco/usage new file mode 100644 index 00000000000000..9adb3444e339c3 --- /dev/null +++ b/ports/poco/usage @@ -0,0 +1,4 @@ +The package poco is compatible with built-in CMake targets: + + find_package(Poco REQUIRED [COMPONENTS ...]) + target_link_libraries(main PRIVATE Poco::) diff --git a/ports/poco/vcpkg.json b/ports/poco/vcpkg.json index 2090861431af97..d07c55978424a6 100644 --- a/ports/poco/vcpkg.json +++ b/ports/poco/vcpkg.json @@ -1,13 +1,13 @@ { "name": "poco", - "version-semver": "1.11.0", - "port-version": 1, + "version": "1.13.3", "description": "Modern, powerful open source C++ class libraries for building network and internet-based applications that run on desktop, server, mobile and embedded systems.", "homepage": "https://github.com/pocoproject/poco", + "license": "BSL-1.0", "supports": "!uwp", "dependencies": [ "expat", - "pcre", + "pcre2", { "name": "vcpkg-cmake", "host": true @@ -19,6 +19,12 @@ "zlib" ], "features": { + "crypto": { + "description": "Crypto support", + "dependencies": [ + "openssl" + ] + }, "mariadb": { "description": "MariaDB support for POCO", "dependencies": [ @@ -32,11 +38,17 @@ ] }, "netssl": { - "description": "NetSSL support for POCO", + "description": [ + "NetSSL support for POCO", + "By default, this feature uses the OpenSSL implementation. The `POCO_ENABLE_NETSSL_WIN` triplet variable can be used to switch to the NetSSL_Win module." + ], "dependencies": [ { - "name": "openssl", - "platform": "!windows" + "name": "poco", + "default-features": false, + "features": [ + "crypto" + ] } ] }, diff --git a/ports/podofo/0002-HAVE_UNISTD_H.patch b/ports/podofo/0002-HAVE_UNISTD_H.patch deleted file mode 100644 index 6aed4b27972ec5..00000000000000 --- a/ports/podofo/0002-HAVE_UNISTD_H.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/podofo_config.h.in b/podofo_config.h.in -index fea9ada..a813c7b 100644 ---- a/podofo_config.h.in -+++ b/podofo_config.h.in -@@ -59,3 +59,10 @@ - #cmakedefine PODOFO_HAVE_OPENSSL_NO_RC4 - #cmakedefine PODOFO_HAVE_LIBIDN - #cmakedefine PODOFO_HAVE_UNISTRING_LIB -+ -+/* Fix build for MacOS 10.13 */ -+#if defined(__APPLE__) && !defined(__IOS__) -+#cmakedefine01 HAVE_UNISTD_H -+#else -+#cmakedefine HAVE_UNISTD_H -+#endif diff --git a/ports/podofo/0003-uwp_fix.patch b/ports/podofo/0003-uwp_fix.patch deleted file mode 100644 index 4801447c7f9421..00000000000000 --- a/ports/podofo/0003-uwp_fix.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/src/podofo/base/PdfCompilerCompat.h b/src/podofo/base/PdfCompilerCompat.h -index 146731d..7041712 100644 ---- a/src/podofo/base/PdfCompilerCompat.h -+++ b/src/podofo/base/PdfCompilerCompat.h -@@ -113,6 +113,10 @@ - #define NOMINMAX - #endif - -+#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_APP) -+#include -+#endif -+ - // Integer types - fixed size types guaranteed to work anywhere - // because we detect the right underlying type name to use with - // CMake. Use typedefs rather than macros for saner error messages diff --git a/ports/podofo/0005-fix-crypto.patch b/ports/podofo/0005-fix-crypto.patch deleted file mode 100644 index a873ee4c9efa19..00000000000000 --- a/ports/podofo/0005-fix-crypto.patch +++ /dev/null @@ -1,29 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index f23dd5a..fd9e8ed 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -315,11 +315,12 @@ ENDIF(CMAKE_COMPILER_IS_GNUCXX) - FIND_PACKAGE(ZLIB REQUIRED) - MESSAGE("Found zlib headers in ${ZLIB_INCLUDE_DIR}, library at ${ZLIB_LIBRARIES}") - --FIND_PACKAGE(LIBCRYPTO) -+FIND_PACKAGE(OpenSSL) - --IF(LIBCRYPTO_FOUND) -+IF(OpenSSL_FOUND) - SET(PODOFO_HAVE_OPENSSL TRUE) -- INCLUDE_DIRECTORIES(${LIBCRYPTO_INCLUDE_DIR}) -+ LIST(APPEND OPENSSL_LIBRARIES OpenSSL::SSL OpenSSL::Crypto) -+ ADD_DEFINITIONS(-DPODOFO_HAVE_OPENSSL_1_1) - MESSAGE("Found OpenSSL's libCrypto headers in ${LIBCRYPTO_INCLUDE_DIR}, library at ${LIBCRYPTO_LIBRARIES}") - ELSE(LIBCRYPTO_FOUND) - MESSAGE("OpenSSL's libCrypto not found. Encryption support will be disabled") -@@ -396,8 +397,6 @@ ENDIF(CppUnit_FOUND) - - ENDIF(NOT PODOFO_BUILD_LIB_ONLY) - --FIND_PACKAGE(OpenSSL) -- - FIND_PACKAGE(FREETYPE REQUIRED) - MESSAGE("Found freetype library at ${FREETYPE_LIBRARIES}, headers ${FREETYPE_INCLUDE_DIR}") - diff --git a/ports/podofo/fix-interface-include.patch b/ports/podofo/fix-interface-include.patch new file mode 100644 index 00000000000000..a4a2ae6c7c424b --- /dev/null +++ b/ports/podofo/fix-interface-include.patch @@ -0,0 +1,20 @@ +diff --git a/src/podofo/CMakeLists.txt b/src/podofo/CMakeLists.txt +index 697e475..6c12036 100644 +--- a/src/podofo/CMakeLists.txt ++++ b/src/podofo/CMakeLists.txt +@@ -72,6 +72,7 @@ if(PODOFO_BUILD_STATIC) + add_library(podofo_static STATIC ${PODOFO_SOURCES}) + add_library(podofo::podofo ALIAS podofo_static) + target_link_libraries(podofo_static podofo_private ${PODOFO_LIB_DEPENDS}) ++ target_include_directories(podofo_static PUBLIC "$") + set_target_properties(podofo_static PROPERTIES + VERSION "${PODOFO_VERSION}" + SOVERSION "${PODOFO_SOVERSION}" +@@ -96,6 +97,7 @@ if(PODOFO_BUILD_SHARED) + add_library(podofo_shared SHARED ${PODOFO_SOURCES}) + add_library(podofo::podofo ALIAS podofo_shared) + target_link_libraries(podofo_shared PRIVATE podofo_private ${PODOFO_LIB_DEPENDS}) ++ target_include_directories(podofo_shared PUBLIC "$") + # TODO: set /wd4251 flag if we're doing a debug build with + # Visual Studio, since it produces invalid warnings about STL + # use. diff --git a/ports/podofo/fix-x64-osx.patch b/ports/podofo/fix-x64-osx.patch deleted file mode 100644 index 621f0f68e8e43e..00000000000000 --- a/ports/podofo/fix-x64-osx.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/podofo/base/PdfDate.cpp b/src/podofo/base/PdfDate.cpp -index cefa221..75d80e4 100644 ---- a/src/podofo/base/PdfDate.cpp -+++ b/src/podofo/base/PdfDate.cpp -@@ -196,7 +196,7 @@ PdfDate::PdfDate( const PdfString & sDate ) - - strncpy(m_szDate,sDate.GetString(),PDF_DATE_BUFFER_SIZE); - -- struct tm _tm{}; -+ struct tm _tm; memset (&_tm, 0, sizeof(struct tm)); - _tm.tm_mday = 1; - - const char * pszDate = sDate.GetString(); diff --git a/ports/podofo/freetype.patch b/ports/podofo/freetype.patch deleted file mode 100644 index f241690f719136..00000000000000 --- a/ports/podofo/freetype.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff --git a/cmake/modules/FindFREETYPE.cmake b/cmake/modules/FindFREETYPE.cmake -index 41114798f..0911dc092 100644 ---- a/cmake/modules/FindFREETYPE.cmake -+++ b/cmake/modules/FindFREETYPE.cmake -@@ -15,9 +15,13 @@ SET(FREETYPE_FIND_QUIETLY 1) - # first we try to find ft2build.h in the new location as - # of freetype 2.5.1 - FIND_PATH(FREETYPE_INCLUDE_DIR_FT2BUILD ft2build.h -+ PATHS - /usr/include/freetype2 - /usr/local/include/freetype2 - /usr/X11/include/freetype2 -+ PATH_SUFFIXES -+ freetype2 -+ include/freetype2 - NO_CMAKE_SYSTEM_PATH - ) - diff --git a/ports/podofo/portfile.cmake b/ports/podofo/portfile.cmake index b47fbaaf8a3a59..5fbe2c87bf5ddc 100644 --- a/ports/podofo/portfile.cmake +++ b/ports/podofo/portfile.cmake @@ -1,56 +1,59 @@ -set(PODOFO_VERSION 0.9.7) - -if (VCPKG_TARGET_IS_UWP) - set(ADDITIONAL_PATCH "0003-uwp_fix.patch") -endif() - -vcpkg_from_sourceforge( +vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO podofo/podofo - REF ${PODOFO_VERSION} - FILENAME "podofo-${PODOFO_VERSION}.tar.gz" - SHA512 0e699739c2fb7d4d02ffca371504bb19f3a8a97ddcbfc06f8d9636db9e73064b4f633f7f09bce92140bb2174610ad68c1e5f8460d474d176ab803ed28295251b + REF "${VERSION}" + SHA512 963d8e2ad6516a0be4d3d416881e58e2384f07f0c006a8a33656d25f6a6b52858344750a4959e0aef568370df1cb052fc08f308aeec3795844a59cc8c47cff23 PATCHES - 0002-HAVE_UNISTD_H.patch - freetype.patch - ${ADDITIONAL_PATCH} - 0005-fix-crypto.patch - fix-x64-osx.patch + fix-interface-include.patch ) -set(PODOFO_NO_FONTMANAGER ON) -if("fontconfig" IN_LIST FEATURES) - set(PODOFO_NO_FONTMANAGER OFF) -endif() +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + fontconfig CMAKE_REQUIRE_FIND_PACKAGE_Fontconfig + INVERTED_FEATURES + fontconfig CMAKE_DISABLE_FIND_PACKAGE_Fontconfig +) -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" PODOFO_BUILD_SHARED) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" PODOFO_BUILD_STATIC) -set(IS_WIN32 OFF) -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" OR NOT VCPKG_CMAKE_SYSTEM_NAME) - set(IS_WIN32 ON) -endif() - -file(REMOVE ${SOURCE_PATH}/cmake/modules/FindOpenSSL.cmake) -file(REMOVE ${SOURCE_PATH}/cmake/modules/FindZLIB.cmake) +file(REMOVE "${SOURCE_PATH}/cmake/modules/FindOpenSSL.cmake") +file(REMOVE "${SOURCE_PATH}/cmake/modules/FindZLIB.cmake") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS + ${FEATURE_OPTIONS} + -DPKG_CONFIG_FOUND=true # enable pc file for shared linkage -DPODOFO_BUILD_LIB_ONLY=1 - -DPODOFO_BUILD_SHARED=${PODOFO_BUILD_SHARED} -DPODOFO_BUILD_STATIC=${PODOFO_BUILD_STATIC} - -DPODOFO_NO_FONTMANAGER=${PODOFO_NO_FONTMANAGER} - -DCMAKE_DISABLE_FIND_PACKAGE_FONTCONFIG=${PODOFO_NO_FONTMANAGER} - -DCMAKE_DISABLE_FIND_PACKAGE_LIBCRYPTO=${IS_WIN32} - -DCMAKE_DISABLE_FIND_PACKAGE_LIBIDN=ON - -DCMAKE_DISABLE_FIND_PACKAGE_CppUnit=ON - -DCMAKE_DISABLE_FIND_PACKAGE_Boost=ON + -DCMAKE_DISABLE_FIND_PACKAGE_Libidn=ON + MAYBE_UNUSED_VARIABLES + PKG_CONFIG_FOUND # Fix the warning of static build. ) -vcpkg_install_cmake() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +vcpkg_cmake_install() +vcpkg_copy_pdbs() + +vcpkg_replace_string( "${CURRENT_PACKAGES_DIR}/share/${PORT}/podofo-config.cmake" + "# Generated by CMake" + "include(CMakeFindDependencyMacro) +find_dependency(Freetype) +find_dependency(JPEG) +find_dependency(LibXml2) +find_dependency(OpenSSL) +find_dependency(PNG) +find_dependency(TIFF) +find_dependency(ZLIB) +if(\"${CMAKE_REQUIRE_FIND_PACKAGE_Fontconfig}\") + find_dependency(Fontconfig) +endif() +\n# Generated by CMake") + +vcpkg_cmake_config_fixup() +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") # Handle copyright -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME 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/podofo/usage b/ports/podofo/usage new file mode 100644 index 00000000000000..b21f4bb792ea9d --- /dev/null +++ b/ports/podofo/usage @@ -0,0 +1,4 @@ +podofo provides CMake targets: + + find_package(podofo CONFIG REQUIRED) + target_link_libraries(main PRIVATE $,podofo_shared,podofo_static>) diff --git a/ports/podofo/vcpkg.json b/ports/podofo/vcpkg.json index 19429b858ad0f0..2503dffb619a42 100644 --- a/ports/podofo/vcpkg.json +++ b/ports/podofo/vcpkg.json @@ -1,23 +1,55 @@ { "name": "podofo", - "version": "0.9.7", + "version": "0.10.4", "description": "PoDoFo is a library to work with the PDF file format", - "homepage": "https://sourceforge.net/projects/podofo/", - "supports": "!uwp", + "homepage": "https://github.com/podofo/podofo", + "license": "LGPL-2.0-or-later", + "supports": "!uwp & !xbox", "dependencies": [ "freetype", "libjpeg-turbo", "libpng", + { + "name": "libxml2", + "default-features": false + }, "openssl", - "tiff", + { + "name": "tiff", + "default-features": false + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, "zlib" ], + "default-features": [ + "fontmanager" + ], "features": { "fontconfig": { - "description": "Enable font manager support on Unix platforms", + "description": "Use Fontconfig", "dependencies": [ "fontconfig" ] + }, + "fontmanager": { + "description": "Enable font manager", + "dependencies": [ + { + "name": "podofo", + "default-features": false, + "features": [ + "fontconfig" + ], + "platform": "!windows" + } + ] } } } diff --git a/ports/poly2tri/CMakeLists.txt b/ports/poly2tri/CMakeLists.txt deleted file mode 100644 index d3878712afaaf9..00000000000000 --- a/ports/poly2tri/CMakeLists.txt +++ /dev/null @@ -1,57 +0,0 @@ -cmake_minimum_required(VERSION 3.0) - -project(poly2tri LANGUAGES C CXX) - -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") - -set(${PROJECT_NAME}_HEADERS - "poly2tri/poly2tri.h" -) - -set(${PROJECT_NAME}_COMMON_HEADERS - "poly2tri/common/shapes.h" - "poly2tri/common/utils.h" -) - -set(${PROJECT_NAME}_SWEEP_HEADERS - "poly2tri/sweep/advancing_front.h" - "poly2tri/sweep/cdt.h" - "poly2tri/sweep/sweep.h" - "poly2tri/sweep/sweep_context.h" -) - -set(${PROJECT_NAME}_SOURCES - "poly2tri/common/shapes.cc" - "poly2tri/sweep/advancing_front.cc" - "poly2tri/sweep/cdt.cc" - "poly2tri/sweep/sweep.cc" - "poly2tri/sweep/sweep_context.cc" -) - -add_library(${PROJECT_NAME} "${${PROJECT_NAME}_HEADERS}" "${${PROJECT_NAME}_COMMON_HEADERS}" "${${PROJECT_NAME}_SWEEP_HEADERS}" "${${PROJECT_NAME}_SOURCES}") -set_target_properties(${PROJECT_NAME} PROPERTIES PUBLIC_HEADER "${${PROJECT_NAME}_HEADERS}") -target_include_directories(${PROJECT_NAME} PUBLIC - $ - $ - $ -) - -install(FILES ${${PROJECT_NAME}_COMMON_HEADERS} DESTINATION "${INSTALL_INCLUDE_DIR}/common") -install(FILES ${${PROJECT_NAME}_SWEEP_HEADERS} DESTINATION "${INSTALL_INCLUDE_DIR}/sweep") - -install(TARGETS ${PROJECT_NAME} EXPORT ${PROJECT_NAME}Targets - RUNTIME DESTINATION "${INSTALL_BIN_DIR}" - LIBRARY DESTINATION "${INSTALL_LIB_DIR}" - ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" - PUBLIC_HEADER DESTINATION "${INSTALL_INCLUDE_DIR}" - COMPONENT dev -) - -install (EXPORT ${PROJECT_NAME}Targets - FILE ${PROJECT_NAME}Config.cmake - NAMESPACE ${PROJECT_NAME}:: - DESTINATION "${INSTALL_CMAKE_DIR}" -) diff --git a/ports/poly2tri/portfile.cmake b/ports/poly2tri/portfile.cmake deleted file mode 100644 index 278e3d8ee878d0..00000000000000 --- a/ports/poly2tri/portfile.cmake +++ /dev/null @@ -1,26 +0,0 @@ -vcpkg_fail_port_install(ON_TARGET "uwp") - -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO greenm01/poly2tri - REF 88de49021b6d9bef6faa1bc94ceb3fbd85c3c204 - SHA512 fa256bcf923ad59f42205edf5a7e07cac6cbd9a37cefb9a0961a2e06aea7fa8ffd09d4e26154c0028601c12804483842cb935d9f602385f5f203c9628382c4fb - HEAD_REF master -) - -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA -) - -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets() - -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/poly2tri/vcpkg.json b/ports/poly2tri/vcpkg.json deleted file mode 100644 index 9fbdff23afbfa0..00000000000000 --- a/ports/poly2tri/vcpkg.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "poly2tri", - "version-string": "2020-07-21", - "port-version": 1, - "description": "The Clipper library performs clipping and offsetting for both lines and polygons. All four boolean clipping operations are supported - intersection, union, difference and exclusive-or. Polygons can be of any shape including self-intersecting polygons.", - "homepage": "https://github.com/greenm01/poly2tri", - "supports": "!uwp" -} diff --git a/ports/polyclipping/portfile.cmake b/ports/polyclipping/portfile.cmake index 260fb93df32ccf..bc45cadd137828 100644 --- a/ports/polyclipping/portfile.cmake +++ b/ports/polyclipping/portfile.cmake @@ -10,14 +10,13 @@ vcpkg_from_sourceforge( fix_targets.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH}/cpp - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/cpp" ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets() +vcpkg_cmake_install() +vcpkg_cmake_config_fixup() if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") file(RENAME "${CURRENT_PACKAGES_DIR}/debug/share/pkgconfig" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig") @@ -27,11 +26,11 @@ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") endif() 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}/FindCLIPPER.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/clipper) -file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/clipper) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/FindCLIPPER.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/clipper") +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/clipper") -file(INSTALL ${SOURCE_PATH}/License.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/License.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) vcpkg_fixup_pkgconfig() diff --git a/ports/polyclipping/vcpkg.json b/ports/polyclipping/vcpkg.json index 195a0ae4d57dd3..4c53dd031e164c 100644 --- a/ports/polyclipping/vcpkg.json +++ b/ports/polyclipping/vcpkg.json @@ -1,7 +1,17 @@ { "name": "polyclipping", - "version-string": "6.4.2", - "port-version": 10, + "version": "6.4.2", + "port-version": 12, "description": "The Clipper library performs clipping and offsetting for both lines and polygons. All four boolean clipping operations are supported - intersection, union, difference and exclusive-or. Polygons can be of any shape including self-intersecting polygons.", - "homepage": "https://sourceforge.net/projects/polyclipping/" + "homepage": "https://sourceforge.net/projects/polyclipping/", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/polyhook2/portfile.cmake b/ports/polyhook2/portfile.cmake index 5d638eb9a15d82..4d6b36a01781f0 100644 --- a/ports/polyhook2/portfile.cmake +++ b/ports/polyhook2/portfile.cmake @@ -1,28 +1,21 @@ -vcpkg_fail_port_install(ON_ARCH "arm" "arm64" ON_TARGET "Linux" "OSX" "UWP") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO stevemk14ebr/PolyHook_2_0 - REF 01ec7c7ddee1d0da9cc49c4adf930eb5d6a86ba1 - SHA512 9d482cd4ec9161b437ee976130b4e64b3acb5f1eb4c47291074110d86ca1ca7479b5c6d0af5be2c7628f702dc858e6a9ef10cd8dcf915b9f022f158e0e4ad0ba + REF 8cd6cb4ef0f2a599f35bdd46ac5833843aea6523 + SHA512 93e6fcbb47f4b894c325766e1b2c146cebfe73424473ce0f52c8c923bd5b1276aebb3af03da9fc7027e2027994663c47a5a4f5a4f3c4a997a322886ac43401ec HEAD_REF master ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - capstone POLYHOOK_DISASM_CAPSTONE - zydis POLYHOOK_DISASM_ZYDIS - exception POLYHOOK_FEATURE_EXCEPTION - detours POLYHOOK_FEATURE_DETOURS - inlinentd POLYHOOK_FEATURE_INLINENTD - pe POLYHOOK_FEATURE_PE - virtuals POLYHOOK_FEATURE_VIRTUALS + FEATURES + exception POLYHOOK_FEATURE_EXCEPTION + detours POLYHOOK_FEATURE_DETOURS + inlinentd POLYHOOK_FEATURE_INLINENTD + pe POLYHOOK_FEATURE_PE + virtuals POLYHOOK_FEATURE_VIRTUALS ) -if (VCPKG_LIBRARY_LINKAGE STREQUAL "static") - set(BUILD_SHARED_LIB OFF) -else() - set(BUILD_SHARED_LIB ON) -endif() +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED_LIB) if (VCPKG_CRT_LINKAGE STREQUAL "static") set(BUILD_STATIC_RUNTIME ON) @@ -30,23 +23,22 @@ else() set(BUILD_STATIC_RUNTIME OFF) endif() -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${FEATURE_OPTIONS} -DPOLYHOOK_BUILD_SHARED_LIB=${BUILD_SHARED_LIB} -DPOLYHOOK_BUILD_STATIC_RUNTIME=${BUILD_STATIC_RUNTIME} -DPOLYHOOK_USE_EXTERNAL_ASMJIT=ON - -DPOLYHOOK_USE_EXTERNAL_CAPSTONE=ON + -DPOLYHOOK_USE_EXTERNAL_ASMTK=ON -DPOLYHOOK_USE_EXTERNAL_ZYDIS=ON ) -vcpkg_install_cmake() +vcpkg_cmake_install() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/PolyHook_2 TARGET_PATH share/PolyHook_2) +vcpkg_cmake_config_fixup(PACKAGE_NAME PolyHook_2 CONFIG_PATH lib/PolyHook_2) # 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/polyhook2/vcpkg.json b/ports/polyhook2/vcpkg.json index 252fb1a87217a2..a9a792d939ed41 100644 --- a/ports/polyhook2/vcpkg.json +++ b/ports/polyhook2/vcpkg.json @@ -1,34 +1,41 @@ { "name": "polyhook2", - "version-string": "2021-05-09", - "port-version": 1, + "version-date": "2024-06-03", "description": "C++17, x86/x64 Hooking Library v2.0", "homepage": "https://github.com/stevemk14ebr/PolyHook_2_0", - "supports": "!(arm | uwp | linux | osx)", + "license": "MIT", + "supports": "(x86 | x64) & !(uwp | osx)", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "zydis" + ], "default-features": [ - "capstone", "detours", - "exception", + { + "name": "exception", + "platform": "windows" + }, "inlinentd", - "pe", - "virtuals", - "zydis" + { + "name": "pe", + "platform": "windows" + }, + "virtuals" ], "features": { - "capstone": { - "description": "Capstone disassembler integration.", + "detours": { + "description": "Implement detour functionality", "dependencies": [ - { - "name": "capstone", - "features": [ - "x86" - ] - } + "asmtk" ] }, - "detours": { - "description": "Implement detour functionality" - }, "exception": { "description": "Implement all exception hooking functionality" }, @@ -43,12 +50,6 @@ }, "virtuals": { "description": "Implement all virtual table hooking functionality" - }, - "zydis": { - "description": "Zydis disassembler integration.", - "dependencies": [ - "zydis" - ] } } } diff --git a/ports/polymorphic-value/001_no_catch_submodule.patch b/ports/polymorphic-value/001_no_catch_submodule.patch deleted file mode 100644 index 8fec58a76a080c..00000000000000 --- a/ports/polymorphic-value/001_no_catch_submodule.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff --git C:/Users/Charles Barto/Source/vcpkg/buildtrees/polymorphic-value/src/1.3.0-33dc249788/CMakeLists.txt C:/Users/Charles Barto/patched_list.txt -index 2819bf6a4..0ee5fba76 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -9,9 +9,9 @@ set(POLYMOPHIC_VALUE_VERSION "1.3.0") # Revision 3, see paper p0201r3 - project(polymorphic_value VERSION ${POLYMOPHIC_VALUE_VERSION}) - - option(ENABLE_SANITIZERS "Enable Address Sanitizer and Undefined Behaviour Sanitizer if available" OFF) -- -+if(BUILD_TESTING) - add_subdirectory(externals/catch) -- -+endif() - add_library(polymorphic_value INTERFACE) - target_include_directories(polymorphic_value - INTERFACE -@@ -45,6 +45,7 @@ target_compile_features(polymorphic_value - add_library(polymorphic_value::polymorphic_value ALIAS polymorphic_value) - - if(POLYMORPHIC_IS_NOT_SUBPROJECT) -+ if(BUILD_TESTING) - add_executable(test_polymorphic_value test_polymorphic_value.cpp) - target_link_libraries(test_polymorphic_value - PRIVATE -@@ -107,7 +108,7 @@ if(POLYMORPHIC_IS_NOT_SUBPROJECT) - list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/externals/catch/contrib) - include(Catch) - catch_discover_tests(test_polymorphic_value) -- -+ endif() - install( - FILES - "${CMAKE_CURRENT_SOURCE_DIR}/polymorphic_value.h" diff --git a/ports/polymorphic-value/002_fixed_config.patch b/ports/polymorphic-value/002_fixed_config.patch deleted file mode 100644 index 77a99b058681dd..00000000000000 --- a/ports/polymorphic-value/002_fixed_config.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/./broken_config.cmake.in b/./fixed_config.cmake.in -index e64f8a20f..38c441451 100644 ---- a/polymorphic_value-config.cmake.in -+++ b/polymorphic_value-config.cmake.in -@@ -1,5 +1,7 @@ - @PACKAGE_INIT@ - --set_and_check(POLYMORPHIC_VALUE_INCLUDE_DIR "@PACKAGE_INCLUDE_INSTALL_DIR@") - --check_required_components(Foo) -+ -+check_required_components(polymorphic_value) -+ -+include(${CMAKE_CURRENT_LIST_DIR}/polymorphic_value-target.cmake) diff --git a/ports/polymorphic-value/portfile.cmake b/ports/polymorphic-value/portfile.cmake index 5a03c827b810dd..56c665a55a91f2 100644 --- a/ports/polymorphic-value/portfile.cmake +++ b/ports/polymorphic-value/portfile.cmake @@ -1,32 +1,23 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO jbcoe/polymorphic_value - REF 1.3.0 - SHA512 67d49933c46d2a2bccb68c65c6f28b92603e193c68ff434b2c6b1602a573855a176fc98227d85cd24a64ae9299461adb42e792b4f165482bb250488620161742 - HEAD_REF master - PATCHES 001_no_catch_submodule.patch - 002_fixed_config.patch + REF 8b386a006c68c25c8f8c119c1f9620a916fb5afc #v1.3.0 + SHA512 4b131b5d7c86d589418d85f25afcee70ceb48c11d2ea807ef0e97667ba273ee27659ebf95a2a7aefb6379e43bb8e5f3c25d7921cfa348ca53db4b56a5336933c + HEAD_REF main ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_TESTING=OFF ) -vcpkg_install_cmake() -if(VCPKG_HEAD_VERSION) - vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/polymorphic_value TARGET_PATH share/polymorphic_value) - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") -else() - vcpkg_fixup_cmake_targets(CONFIG_PATH cmake TARGET_PATH share/polymorphic_value) - file(REMOVE "${CURRENT_PACKAGES_DIR}/LICENSE.txt") -endif() +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/polymorphic_value) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") -file( - INSTALL ${SOURCE_PATH}/LICENSE.txt - DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} - RENAME copyright -) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") + +file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/polymorphic-value/vcpkg.json b/ports/polymorphic-value/vcpkg.json index a47f482943f5cf..8604b740053204 100644 --- a/ports/polymorphic-value/vcpkg.json +++ b/ports/polymorphic-value/vcpkg.json @@ -1,7 +1,18 @@ { "name": "polymorphic-value", - "version-string": "1.3.0", - "port-version": 2, + "version": "1.3.0", + "port-version": 3, "description": "A polymorphic value-type for C++", - "homepage": "https://github.com/jbcoe/polymorphic_value" + "homepage": "https://github.com/jbcoe/polymorphic_value", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/ponder/vcpkg.json b/ports/ponder/vcpkg.json index bd06df5b813353..b881cb9b43f547 100644 --- a/ports/ponder/vcpkg.json +++ b/ports/ponder/vcpkg.json @@ -1,7 +1,7 @@ { "name": "ponder", - "version-string": "3.0.0", - "port-version": 4, + "version": "3.0.0", + "port-version": 5, "description": "A C++ multi-purpose reflection library.", "homepage": "https://github.com/billyquith/ponder", "dependencies": [ diff --git a/ports/poolstl/fix-find-dependency.patch b/ports/poolstl/fix-find-dependency.patch new file mode 100644 index 00000000000000..75e6d8e725d87b --- /dev/null +++ b/ports/poolstl/fix-find-dependency.patch @@ -0,0 +1,14 @@ +diff --git a/cmake/config.cmake.in b/cmake/config.cmake.in +--- a/cmake/config.cmake.in ++++ b/cmake/config.cmake.in +@@ -1,7 +1,10 @@ + + @PACKAGE_INIT@ + ++include(CMakeFindDependencyMacro) ++find_dependency(Threads) ++ + include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") + + set_and_check(@PROJECT_NAME@_INCLUDE_DIR "@PACKAGE_CMAKE_INSTALL_INCLUDEDIR@") + check_required_components("@PROJECT_NAME@") diff --git a/ports/poolstl/portfile.cmake b/ports/poolstl/portfile.cmake new file mode 100644 index 00000000000000..4143a514c3034e --- /dev/null +++ b/ports/poolstl/portfile.cmake @@ -0,0 +1,30 @@ +set(VCPKG_BUILD_TYPE release) # header-only + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO alugowski/poolSTL + REF "v${VERSION}" + SHA512 a2d29056b29f32f034560f88e05f7257ff1f43b46579b940da3e340c97cf8bfbb7d886f5101044d5e22931af37bbcf72f956a0157e135cdf10c7a987e56ba081 + HEAD_REF main + PATCHES + fix-find-dependency.patch +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH share/cmake/poolSTL) + +vcpkg_install_copyright( + COMMENT [[ +poolSTL is triple-licensed under the BSD 2-Clause License, +the Boost Software License 1.0, and the MIT license. +You may select, at your option, one of the above-listed licenses. +]] + FILE_LIST + "${SOURCE_PATH}/LICENSE-BSD.txt" + "${SOURCE_PATH}/LICENSE-Boost.txt" + "${SOURCE_PATH}/LICENSE-MIT.txt" +) diff --git a/ports/poolstl/vcpkg.json b/ports/poolstl/vcpkg.json new file mode 100644 index 00000000000000..1af8ad98dbca3b --- /dev/null +++ b/ports/poolstl/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "poolstl", + "version": "0.3.5", + "description": "Light and self-contained implementation of C++17 parallel algorithms.", + "homepage": "https://github.com/alugowski/poolSTL", + "license": "BSD-2-Clause OR BSL-1.0 OR MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/poppler/0002-remove-test-subdirectory.patch b/ports/poppler/0002-remove-test-subdirectory.patch deleted file mode 100644 index 80dd5b53fcbdcd..00000000000000 --- a/ports/poppler/0002-remove-test-subdirectory.patch +++ /dev/null @@ -1,24 +0,0 @@ -From aa0fa5f737b8ea3d2dfb396243be79af49274b6e Mon Sep 17 00:00:00 2001 -From: abc -Date: Fri, 18 Dec 2020 14:32:31 +0800 -Subject: [PATCH 2/2] remove test subdirectory - ---- - CMakeLists.txt | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index ec66b515..cce875a0 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -749,7 +749,6 @@ endif() - if(ENABLE_GLIB) - add_subdirectory(glib) - endif() --add_subdirectory(test) - if(ENABLE_QT5) - add_subdirectory(qt5) - endif() --- -2.29.2.windows.2 - diff --git a/ports/poppler/0003-fix-gperf-not-recognized.patch b/ports/poppler/0003-fix-gperf-not-recognized.patch deleted file mode 100644 index e6edf39e79325b..00000000000000 --- a/ports/poppler/0003-fix-gperf-not-recognized.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index cce875a..0b04be7 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -530,8 +530,8 @@ endif() - if (GPERF AND RUN_GPERF_IF_PRESENT) - macro(ADD_GPERF_FILE input) - add_custom_command(OUTPUT poppler/${input}.c -- COMMAND gperf poppler/${input}.gperf > ${CMAKE_CURRENT_BINARY_DIR}/poppler/${input}.c -- COMMAND gperf poppler/${input}.gperf > ${CMAKE_CURRENT_SOURCE_DIR}/poppler/${input}.pregenerated.c -+ COMMAND ${GPERF} poppler/${input}.gperf > ${CMAKE_CURRENT_BINARY_DIR}/poppler/${input}.c -+ COMMAND ${GPERF} poppler/${input}.gperf > ${CMAKE_CURRENT_SOURCE_DIR}/poppler/${input}.pregenerated.c - COMMAND clang-format -i ${CMAKE_CURRENT_SOURCE_DIR}/poppler/${input}.pregenerated.c || true - DEPENDS poppler/${input}.gperf - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) diff --git a/ports/poppler/0004-disable-clang-format.patch b/ports/poppler/0004-disable-clang-format.patch deleted file mode 100644 index 43a48da787bd5e..00000000000000 --- a/ports/poppler/0004-disable-clang-format.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 0b04be7..947d5be 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -532,7 +532,6 @@ if (GPERF AND RUN_GPERF_IF_PRESENT) - add_custom_command(OUTPUT poppler/${input}.c - COMMAND ${GPERF} poppler/${input}.gperf > ${CMAKE_CURRENT_BINARY_DIR}/poppler/${input}.c - COMMAND ${GPERF} poppler/${input}.gperf > ${CMAKE_CURRENT_SOURCE_DIR}/poppler/${input}.pregenerated.c -- COMMAND clang-format -i ${CMAKE_CURRENT_SOURCE_DIR}/poppler/${input}.pregenerated.c || true - DEPENDS poppler/${input}.gperf - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) - diff --git a/ports/poppler/cmake-project-include.cmake b/ports/poppler/cmake-project-include.cmake new file mode 100644 index 00000000000000..8e9d1db25f769e --- /dev/null +++ b/ports/poppler/cmake-project-include.cmake @@ -0,0 +1,29 @@ +if("${FONT_CONFIGURATION}" STREQUAL "fontconfig") + # Poppler uses different variable names than CMake. + find_package(Fontconfig REQUIRED) + set(FONTCONFIG_DEFINITIONS "") + set(FONTCONFIG_INCLUDE_DIR "${Fontconfig_INCLUDE_DIRS}") + set(FONTCONFIG_LIBRARIES "Fontconfig::Fontconfig") +endif() + +# Poppler uses different variable names than CMake, +# plus ICONV_SECOND_ARGUMENT_IS_CONST +find_package(Iconv REQUIRED) +set(ICONV_INCLUDE_DIR "${Iconv_INCLUDE_DIR}") +set(ICONV_LIBRARIES "${Iconv_LIBRARIES}") + +# Create helper file for iconv usage requirement +set(poppler_iconv [[ +Name: poppler-vcpkg-iconv +Description: iconv linking requirements for poppler +Version: 0 +Libs:]]) +string(TOLOWER "${Iconv_LIBRARIES}" iconv_libraries) +if(iconv_libraries MATCHES "iconv") + string(APPEND poppler_iconv " -liconv") +endif() +if(iconv_libraries MATCHES "charset") + string(APPEND poppler_iconv " -lcharset") +endif() +file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/poppler-vcpkg-iconv.pc" "${poppler_iconv}") +install(FILES "${CMAKE_CURRENT_BINARY_DIR}/poppler-vcpkg-iconv.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") diff --git a/ports/poppler/export-unofficial-poppler.patch b/ports/poppler/export-unofficial-poppler.patch new file mode 100644 index 00000000000000..b5858c47c26ece --- /dev/null +++ b/ports/poppler/export-unofficial-poppler.patch @@ -0,0 +1,50 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 4768ac81..eda857af 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -615,9 +615,16 @@ if(MINGW AND BUILD_SHARED_LIBS) + set_target_properties(poppler PROPERTIES SUFFIX "-${POPPLER_SOVERSION}${CMAKE_SHARED_LIBRARY_SUFFIX}") + endif() + target_link_libraries(poppler LINK_PRIVATE ${poppler_LIBS}) +-install(TARGETS poppler RUNTIME DESTINATION bin LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++target_include_directories(poppler PUBLIC $) ++set_target_properties(poppler PROPERTIES EXPORT_NAME poppler-private) ++install(TARGETS poppler EXPORT unofficial-poppler-targets RUNTIME DESTINATION bin LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++install(EXPORT unofficial-poppler-targets NAMESPACE unofficial::poppler:: DESTINATION share/unofficial-poppler) + + if(ENABLE_UNSTABLE_API_ABI_HEADERS) ++ target_include_directories(poppler PUBLIC ++ $ ++ $ ++ ) + install(FILES + poppler/Annot.h + poppler/AnnotStampImageHelper.h +diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt +index 48851454..ad936f6b 100644 +--- a/cpp/CMakeLists.txt ++++ b/cpp/CMakeLists.txt +@@ -31,7 +31,8 @@ if(MINGW AND BUILD_SHARED_LIBS) + set_target_properties(poppler-cpp PROPERTIES SUFFIX "-${POPPLER_CPP_SOVERSION}${CMAKE_SHARED_LIBRARY_SUFFIX}") + endif() + target_link_libraries(poppler-cpp poppler Iconv::Iconv) +-install(TARGETS poppler-cpp RUNTIME DESTINATION bin LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++install(TARGETS poppler-cpp EXPORT unofficial-poppler-cpp-targets RUNTIME DESTINATION bin LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++install(EXPORT unofficial-poppler-cpp-targets NAMESPACE unofficial::poppler:: DESTINATION share/unofficial-poppler) + + install(FILES + poppler-destination.h +diff --git a/qt6/src/CMakeLists.txt b/qt6/src/CMakeLists.txt +index cd919753..1816270f 100644 +--- a/qt6/src/CMakeLists.txt ++++ b/qt6/src/CMakeLists.txt +@@ -51,7 +51,8 @@ if(USE_CMS) + target_link_libraries(poppler-qt6 poppler ${LCMS2_LIBRARIES}) + target_include_directories(poppler-qt6 SYSTEM PRIVATE ${LCMS2_INCLUDE_DIR}) + endif() +-install(TARGETS poppler-qt6 RUNTIME DESTINATION bin LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++install(TARGETS poppler-qt6 EXPORT unofficial-poppler-qt6-targets RUNTIME DESTINATION bin LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++install(EXPORT unofficial-poppler-qt6-targets NAMESPACE unofficial::poppler:: DESTINATION share/unofficial-poppler) + + install(FILES + poppler-qt6.h diff --git a/ports/poppler/portfile.cmake b/ports/poppler/portfile.cmake index fcb96f6c666e54..2b60fa172cbf6c 100644 --- a/ports/poppler/portfile.cmake +++ b/ports/poppler/portfile.cmake @@ -1,45 +1,112 @@ -vcpkg_from_github( +string(REGEX REPLACE "^([0-9]+)[.]([0-9][.])" "\\1.0\\2" POPPLER_VERSION "${VERSION}") +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.freedesktop.org OUT_SOURCE_PATH SOURCE_PATH - REPO freedesktop/poppler - REF poppler-20.12.1 - SHA512 f692682689c0b0fcc3953a1cc157b6e1d2ce3ccab185189d6dc0807f1dd3ea2d1a9773d0b805079a30b3c8a3b0cf3ee83239ed48d7b08dc7762eba29c2033674 + REPO poppler/poppler + REF "poppler-${POPPLER_VERSION}" + SHA512 5997af5698a793aefcc1d0d98ea2e0732c0ce0adfa1e5be182ba2d425b1691ba84dfa89f0cdafacf19756d411b2b2de665d1a4682acf21ad5d3353dfeac0727c HEAD_REF master PATCHES - 0002-remove-test-subdirectory.patch - 0003-fix-gperf-not-recognized.patch - 0004-disable-clang-format.patch + export-unofficial-poppler.patch + private-namespace.patch ) +file(REMOVE "${SOURCE_PATH}/cmake/Modules/FindFontconfig.cmake") -vcpkg_find_acquire_program(GPERF) -get_filename_component(GPERF_PATH ${GPERF} DIRECTORY) -vcpkg_add_to_path(${GPERF_PATH}) +set(POPPLER_PC_REQUIRES "freetype2 libjpeg libopenjp2 libpng libtiff-4 poppler-vcpkg-iconv") vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - curl ENABLE_CURL - zlib ENABLE_ZLIB - splash ENABLE_SPLASH + FEATURES + cairo WITH_Cairo + cairo CMAKE_REQUIRE_FIND_PACKAGE_CAIRO + curl ENABLE_LIBCURL + curl CMAKE_REQUIRE_FIND_PACKAGE_CURL + private-api ENABLE_UNSTABLE_API_ABI_HEADERS + zlib ENABLE_ZLIB + zlib CMAKE_REQUIRE_FIND_PACKAGE_ZLIB + glib ENABLE_GLIB + glib CMAKE_REQUIRE_FIND_PACKAGE_GLIB + qt ENABLE_QT6 + qt CMAKE_REQUIRE_FIND_PACKAGE_Qt6 + cms CMAKE_REQUIRE_FIND_PACKAGE_LCMS2 + cms ENABLE_LCMS ) +if("fontconfig" IN_LIST FEATURES) + list(APPEND FEATURE_OPTIONS "-DFONT_CONFIGURATION=fontconfig") + string(APPEND POPPLER_PC_REQUIRES " fontconfig") +elseif(VCPKG_TARGET_IS_ANDROID) + list(APPEND FEATURE_OPTIONS "-DFONT_CONFIGURATION=android") +elseif(VCPKG_TARGET_IS_WINDOWS) + list(APPEND FEATURE_OPTIONS "-DFONT_CONFIGURATION=win32") +else() + list(APPEND FEATURE_OPTIONS "-DFONT_CONFIGURATION=generic") +endif() +if("cairo" IN_LIST FEATURES) + string(APPEND POPPLER_PC_REQUIRES " cairo") +endif() +if("curl" IN_LIST FEATURES) + string(APPEND POPPLER_PC_REQUIRES " libcurl") +endif() +if("zlib" IN_LIST FEATURES) + string(APPEND POPPLER_PC_REQUIRES " zlib") +endif() -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +if("cms" IN_LIST FEATURES) + string(APPEND POPPLER_PC_REQUIRES " lcms2") +endif() + +vcpkg_find_acquire_program(PKGCONFIG) +vcpkg_find_acquire_program(PYTHON3) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS + "-DCMAKE_PROJECT_INCLUDE=${CMAKE_CURRENT_LIST_DIR}/cmake-project-include.cmake" + "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}" + "-DGLIB2_MKENUMS_PYTHON=${PYTHON3}" -DBUILD_GTK_TESTS=OFF -DBUILD_QT5_TESTS=OFF -DBUILD_QT6_TESTS=OFF -DBUILD_CPP_TESTS=OFF - -DENABLE_LIBCURL=${ENABLE_CURL} + -DBUILD_MANUAL_TESTS=OFF -DENABLE_UTILS=OFF - -DENABLE_GLIB=OFF - -DENABLE_GLOBJECT_INTROSPECTION=OFF + -DENABLE_GOBJECT_INTROSPECTION=OFF -DENABLE_QT5=OFF - -DENABLE_QT6=OFF + -DRUN_GPERF_IF_PRESENT=OFF + -DENABLE_RELOCATABLE=OFF # https://gitlab.freedesktop.org/poppler/poppler/-/issues/1209 + -DENABLE_NSS3=OFF + -DENABLE_GPGME=OFF + -DCMAKE_DISABLE_FIND_PACKAGE_ECM=ON + -DCMAKE_REQUIRE_FIND_PACKAGE_OpenJPEG=ON + -DCMAKE_REQUIRE_FIND_PACKAGE_JPEG=ON + -DCMAKE_REQUIRE_FIND_PACKAGE_TIFF=ON + -DCMAKE_REQUIRE_FIND_PACKAGE_PNG=ON + -DCMAKE_REQUIRE_FIND_PACKAGE_Boost=ON + -DCMAKE_DISABLE_FIND_PACKAGE_GObjectIntrospection=ON + -DCMAKE_DISABLE_FIND_PACKAGE_GTK=ON ${FEATURE_OPTIONS} + MAYBE_UNUSED_VARIABLES + CMAKE_DISABLE_FIND_PACKAGE_GObjectIntrospection + CMAKE_DISABLE_FIND_PACKAGE_GTK + CMAKE_REQUIRE_FIND_PACKAGE_CAIRO + CMAKE_REQUIRE_FIND_PACKAGE_CURL + CMAKE_REQUIRE_FIND_PACKAGE_GLIB + CMAKE_REQUIRE_FIND_PACKAGE_LCMS2 + CMAKE_REQUIRE_FIND_PACKAGE_Qt6 ) +vcpkg_cmake_install() + +configure_file("${CMAKE_CURRENT_LIST_DIR}/unofficial-poppler-config.cmake" "${CURRENT_PACKAGES_DIR}/share/unofficial-poppler/unofficial-poppler-config.cmake" @ONLY) +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-poppler) -vcpkg_install_cmake() +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/poppler.pc" "Libs:" "Requires.private: ${POPPLER_PC_REQUIRES}\nLibs:") +if(NOT VCPKG_BUILD_TYPE) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/poppler.pc" "Libs:" "Requires.private: ${POPPLER_PC_REQUIRES}\nLibs:") +endif() +vcpkg_fixup_pkgconfig() +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_fixup_pkgconfig() +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/poppler/private-namespace.patch b/ports/poppler/private-namespace.patch new file mode 100644 index 00000000000000..052fa0a0771301 --- /dev/null +++ b/ports/poppler/private-namespace.patch @@ -0,0 +1,50 @@ +diff --git a/poppler/Gfx.h b/poppler/Gfx.h +index 81a620b..ecfb449 100644 +--- a/poppler/Gfx.h ++++ b/poppler/Gfx.h +@@ -48,7 +48,10 @@ class PDFDoc; + class XRef; + class Array; + class Stream; ++namespace poppler_private { + class Parser; ++} ++using namespace poppler_private; + class Dict; + class Function; + class OutputDev; +diff --git a/poppler/Parser.h b/poppler/Parser.h +index b379b67..c3d85bd 100644 +--- a/poppler/Parser.h ++++ b/poppler/Parser.h +@@ -33,6 +33,7 @@ + // Parser + //------------------------------------------------------------------------ + ++namespace poppler_private { + class POPPLER_PRIVATE_EXPORT Parser + { + public: +@@ -72,5 +73,7 @@ private: + void shift(int objNum = -1); + void shift(const char *cmdA, int objNum); + }; ++} ++using namespace poppler_private; + + #endif +diff --git a/poppler/XRef.h b/poppler/XRef.h +index e2b2ca8..7d6acbb 100644 +--- a/poppler/XRef.h ++++ b/poppler/XRef.h +@@ -46,7 +46,10 @@ + + class Dict; + class Stream; ++namespace poppler_private { + class Parser; ++} ++using namespace poppler_private; + class ObjectStream; + + //------------------------------------------------------------------------ diff --git a/ports/poppler/unofficial-poppler-config.cmake b/ports/poppler/unofficial-poppler-config.cmake new file mode 100644 index 00000000000000..536a5556322a89 --- /dev/null +++ b/ports/poppler/unofficial-poppler-config.cmake @@ -0,0 +1,28 @@ +include(CMakeFindDependencyMacro) +cmake_policy(SET CMP0012 NEW) +cmake_policy(SET CMP0057 NEW) +set(features "@FEATURES@") +find_dependency(Boost) +if("fontconfig" IN_LIST features) + find_dependency(Fontconfig) # CMake 3.14 +endif() +find_dependency(Freetype) +find_dependency(JPEG) +find_dependency(PNG) +find_dependency(TIFF) +find_dependency(OpenJPEG CONFIG) +if("curl" IN_LIST features) + find_dependency(CURL) +endif() +if("zlib" IN_LIST features) + find_dependency(ZLIB) +endif() +if("qt" IN_LIST features) + find_dependency(Qt6 CONFIG Core GUI) +endif() +find_dependency(Iconv) # CMake 3.11 +include("${CMAKE_CURRENT_LIST_DIR}/unofficial-poppler-targets.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/unofficial-poppler-cpp-targets.cmake") +if("qt" IN_LIST features) + include("${CMAKE_CURRENT_LIST_DIR}/unofficial-poppler-qt6-targets.cmake") +endif() diff --git a/ports/poppler/usage b/ports/poppler/usage new file mode 100644 index 00000000000000..d9b54e284d2a80 --- /dev/null +++ b/ports/poppler/usage @@ -0,0 +1,6 @@ +The package poppler can be imported via CMake FindPkgConfig module: + + find_package(PkgConfig) + pkg_check_modules(POPPLER_CPP REQUIRED IMPORTED_TARGET poppler-cpp) + + target_link_libraries(main PRIVATE PkgConfig::POPPLER_CPP) diff --git a/ports/poppler/vcpkg.json b/ports/poppler/vcpkg.json index 2ae9cae7753454..087676d76b28da 100644 --- a/ports/poppler/vcpkg.json +++ b/ports/poppler/vcpkg.json @@ -1,41 +1,112 @@ { "name": "poppler", - "version": "20.12.1", - "port-version": 6, - "description": "a PDF rendering library", + "version": "24.3.0", + "port-version": 1, + "description": "A PDF rendering library", "homepage": "https://poppler.freedesktop.org/", + "license": "GPL-2.0-or-later", + "supports": "!uwp & !xbox", "dependencies": [ + "boost-container", + "boost-move", + "freetype", + "libiconv", + "libjpeg-turbo", + "libpng", + "openjpeg", { - "name": "cairo", - "platform": "osx" + "name": "tiff", + "default-features": false }, { - "name": "devil", - "platform": "(windows | linux) & !arm" + "name": "vcpkg-cmake", + "host": true }, - "fontconfig", - "freetype", - "libiconv", - "openjpeg" + { + "name": "vcpkg-cmake-config", + "host": true + } ], "default-features": [ - "splash", + "font-configuration", "zlib" ], "features": { + "cairo": { + "description": "Enable the Cairo graphics backend", + "dependencies": [ + { + "name": "cairo", + "default-features": false + } + ] + }, + "cms": { + "description": "Enable use of LCMS2 as color management system", + "dependencies": [ + "lcms" + ] + }, "curl": { "description": "curl for poppler", "dependencies": [ - "curl" + { + "name": "curl", + "default-features": false + } ] }, - "splash": { - "description": "Build the Splash graphics backend", + "font-configuration": { + "description": "Defaut font configuration backend", "dependencies": [ - "boost-container", - "boost-move" + { + "name": "poppler", + "default-features": false, + "features": [ + "fontconfig" + ], + "platform": "!windows & !android" + } ] }, + "fontconfig": { + "description": "Use fontconfig", + "supports": "!windows, mingw", + "dependencies": [ + "fontconfig" + ] + }, + "glib": { + "description": "glib for poppler", + "dependencies": [ + { + "name": "glib", + "default-features": false + }, + { + "name": "poppler", + "default-features": false, + "features": [ + "cairo" + ] + } + ] + }, + "private-api": { + "description": "Install headers for private API (aka unstable API/ABI headers)" + }, + "qt": { + "description": "Enable the Qt API", + "dependencies": [ + { + "name": "qtbase", + "default-features": false + } + ] + }, + "splash": { + "description": "The splash backend is always enabled. This option is kept for compatibility." + }, "zlib": { "description": "zlib for poppler", "dependencies": [ diff --git a/ports/popsift/144.patch b/ports/popsift/144.patch new file mode 100644 index 00000000000000..c2d10fdf66869d --- /dev/null +++ b/ports/popsift/144.patch @@ -0,0 +1,25 @@ +From 7b664e27ca2865f3e06101d50415f2943d2de58c Mon Sep 17 00:00:00 2001 +From: Azhng +Date: Tue, 21 Feb 2023 19:24:57 +0000 +Subject: [PATCH] add required thrust include for s_filtergrid.cu + +--- + src/popsift/s_filtergrid.cu | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/popsift/s_filtergrid.cu b/src/popsift/s_filtergrid.cu +index 301c6a96..a766c2de 100644 +--- a/src/popsift/s_filtergrid.cu ++++ b/src/popsift/s_filtergrid.cu +@@ -19,9 +19,11 @@ + #if ! POPSIFT_IS_DEFINED(POPSIFT_DISABLE_GRID_FILTER) + + #include ++#include + #include + #include + #include ++#include + #include + #include + #include diff --git a/ports/popsift/cuda_12_1.patch b/ports/popsift/cuda_12_1.patch new file mode 100644 index 00000000000000..e8dbb8b78751d7 --- /dev/null +++ b/ports/popsift/cuda_12_1.patch @@ -0,0 +1,49 @@ +diff --git a/cmake/ChooseCudaCC.cmake b/cmake/ChooseCudaCC.cmake +index d9bc6c2..0ac4fa9 100755 +--- a/cmake/ChooseCudaCC.cmake ++++ b/cmake/ChooseCudaCC.cmake +@@ -65,7 +65,8 @@ function(chooseCudaCC SUPPORTED_CC SUPPORTED_GENCODE_FLAGS) + + set(CC_LIST_BY_SYSTEM_PROCESSOR "") + if(CMAKE_SYSTEM_PROCESSOR IN_LIST OTHER_SUPPORTED_PROCESSORS) +- list(APPEND CC_LIST_BY_SYSTEM_PROCESSOR "20;21;30;35;50;52;60;61;70;75;80;86") ++ # 87 is intentionally omitted, see discussion in https://github.com/alicevision/popsift/pull/146 ++ list(APPEND CC_LIST_BY_SYSTEM_PROCESSOR "20;21;30;35;50;52;60;61;70;75;80;86;89;90") + endif() + if(CMAKE_SYSTEM_PROCESSOR IN_LIST TEGRA_SUPPORTED_PROCESSORS) + list(APPEND CC_LIST_BY_SYSTEM_PROCESSOR "32;53;62;72") +@@ -78,10 +79,20 @@ function(chooseCudaCC SUPPORTED_CC SUPPORTED_GENCODE_FLAGS) + # Default setting of the CUDA CC versions to compile. + # Shortening the lists saves a lot of compile time. + # +- set(CUDA_MIN_CC 20) +- set(CUDA_MAX_CC 86) +- if(CUDA_VERSION_MAJOR GREATER_EQUAL 11) ++ ++ # The current version last time this list was updated was CUDA 12.1. ++ if(CUDA_VERSION VERSION_GREATER_EQUAL 12) ++ set(CUDA_MIN_CC 50) ++ set(CUDA_MAX_CC 90) ++ elseif(CUDA_VERSION VERSION_GREATER_EQUAL 11.8) ++ set(CUDA_MIN_CC 35) ++ set(CUDA_MAX_CC 90) ++ elseif(CUDA_VERSION VERSION_GREATER_EQUAL 11.1) ++ set(CUDA_MIN_CC 35) ++ set(CUDA_MAX_CC 86) ++ elseif(CUDA_VERSION_MAJOR GREATER_EQUAL 11) + set(CUDA_MIN_CC 35) ++ set(CUDA_MAX_CC 80) + elseif(CUDA_VERSION_MAJOR GREATER_EQUAL 10) + set(CUDA_MIN_CC 30) + set(CUDA_MAX_CC 75) +@@ -89,8 +100,10 @@ function(chooseCudaCC SUPPORTED_CC SUPPORTED_GENCODE_FLAGS) + set(CUDA_MIN_CC 30) + set(CUDA_MAX_CC 72) + elseif(CUDA_VERSION_MAJOR GREATER_EQUAL 8) ++ set(CUDA_MIN_CC 20) + set(CUDA_MAX_CC 62) + elseif(CUDA_VERSION_MAJOR GREATER_EQUAL 7) ++ set(CUDA_MIN_CC 20) + set(CUDA_MAX_CC 53) + else() + message(FATAL_ERROR "We do not support a CUDA SDK below version 7.0") diff --git a/ports/popsift/fix_missing_thrust_include.patch b/ports/popsift/fix_missing_thrust_include.patch new file mode 100644 index 00000000000000..69138afb56d26e --- /dev/null +++ b/ports/popsift/fix_missing_thrust_include.patch @@ -0,0 +1,21 @@ +From 273adb1c375b12f285694488280e04efd251a76a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Thomas=20Sch=C3=B6ps?= +Date: Sat, 28 Aug 2021 16:52:25 +0200 +Subject: [PATCH] Add missing thrust include + +--- + src/popsift/s_filtergrid.cu | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/popsift/s_filtergrid.cu b/src/popsift/s_filtergrid.cu +index 078eb114..301c6a96 100644 +--- a/src/popsift/s_filtergrid.cu ++++ b/src/popsift/s_filtergrid.cu +@@ -21,6 +21,7 @@ + #include + #include + #include ++#include + #include + #include + #include diff --git a/ports/popsift/portfile.cmake b/ports/popsift/portfile.cmake index a0269235f7fade..a2633e267b4a9e 100644 --- a/ports/popsift/portfile.cmake +++ b/ports/popsift/portfile.cmake @@ -1,39 +1,39 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO alicevision/popsift + REPO alicevision/popsift REF v0.9 SHA512 56789520872203eea86e07e8210e00c0b67d85486af16df9d620b1aff10f8d9ef5d910cf1dda6c68af7ca2ed11658ab5414ac79117b543f91a7d8d6a96a17ce0 HEAD_REF develop + PATCHES + fix_missing_thrust_include.patch + 144.patch + cuda_12_1.patch ) -include(${CURRENT_INSTALLED_DIR}/share/cuda/vcpkg_find_cuda.cmake) vcpkg_find_cuda(OUT_CUDA_TOOLKIT_ROOT CUDA_TOOLKIT_ROOT) -message(STATUS "CUDA_TOOLKIT_ROOT ${CUDA_TOOLKIT_ROOT}") - vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES apps PopSift_BUILD_EXAMPLES ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${FEATURE_OPTIONS} - -DCUDA_TOOLKIT_ROOT_DIR=${CUDA_TOOLKIT_ROOT} + "-DCUDA_TOOLKIT_ROOT_DIR=${CUDA_TOOLKIT_ROOT}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/PopSift) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/PopSift) vcpkg_copy_pdbs() -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") - # copy the apps in tools directory - if ("apps" IN_LIST FEATURES) - vcpkg_copy_tools(TOOL_NAMES popsift-demo AUTO_CLEAN) - endif() +# copy the apps in tools directory +if ("apps" IN_LIST FEATURES) + vcpkg_copy_tools(TOOL_NAMES popsift-demo AUTO_CLEAN) +endif() -file(INSTALL ${SOURCE_PATH}/COPYING.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) \ No newline at end of file +file(INSTALL "${SOURCE_PATH}/COPYING.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/popsift/vcpkg.json b/ports/popsift/vcpkg.json index aed5386b8f9e50..0307c5334bc02d 100644 --- a/ports/popsift/vcpkg.json +++ b/ports/popsift/vcpkg.json @@ -1,12 +1,20 @@ { "name": "popsift", - "version-string": "0.9", - "port-version": 2, + "version": "0.9", + "port-version": 5, "description": "PopSift is an implementation of the SIFT algorithm in CUDA.", "homepage": "https://github.com/alicevision/popsift", "supports": "!(uwp | arm | arm64 | android | x86)", "dependencies": [ - "cuda" + "cuda", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ], "features": { "apps": { diff --git a/ports/portable-file-dialogs/portfile.cmake b/ports/portable-file-dialogs/portfile.cmake new file mode 100644 index 00000000000000..8731108891d3d2 --- /dev/null +++ b/ports/portable-file-dialogs/portfile.cmake @@ -0,0 +1,11 @@ +# Header-only library +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO samhocevar/portable-file-dialogs + REF "${VERSION}" + SHA512 8f3f59534024357b1d4b9054f20f482bfb159c1666be1695220c1be8f028be6adac0d9d82aad7230922a5eea5971c051a8699e60bc99207813776f35ce6937b6 + HEAD_REF master +) + +file(INSTALL "${SOURCE_PATH}/portable-file-dialogs.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include") +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/portable-file-dialogs/vcpkg.json b/ports/portable-file-dialogs/vcpkg.json new file mode 100644 index 00000000000000..d7074d3c922623 --- /dev/null +++ b/ports/portable-file-dialogs/vcpkg.json @@ -0,0 +1,16 @@ +{ + "name": "portable-file-dialogs", + "version": "0.1.0", + "description": "Portable GUI dialogs library", + "homepage": "https://github.com/samhocevar/portable-file-dialogs", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/portable-snippets/CMakeLists.txt b/ports/portable-snippets/CMakeLists.txt index 5f511265ad05bf..0931363ce9708d 100644 --- a/ports/portable-snippets/CMakeLists.txt +++ b/ports/portable-snippets/CMakeLists.txt @@ -62,6 +62,10 @@ foreach (subdir ${subdirs}) else () add_library(${module} STATIC ${entries}) + if (MSVC) + target_compile_definitions(${module} PUBLIC __STDC_NO_THREADS__=1) + endif () + set_target_properties( ${module} PROPERTIES diff --git a/ports/portable-snippets/portfile.cmake b/ports/portable-snippets/portfile.cmake index 197008c3ec6ef9..6ad89c381d2aec 100644 --- a/ports/portable-snippets/portfile.cmake +++ b/ports/portable-snippets/portfile.cmake @@ -8,20 +8,19 @@ vcpkg_from_github( HEAD_REF master ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS_DEBUG -DPSNIP_INSTALL_HEADERS=OFF OPTIONS_RELEASE -DPSNIP_INSTALL_HEADERS=ON ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-${PORT} TARGET_PATH share/unofficial-${PORT}) +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-${PORT}) # Handle copyright -configure_file(${SOURCE_PATH}/COPYING.md ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) +configure_file("${SOURCE_PATH}/COPYING.md" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) diff --git a/ports/portable-snippets/vcpkg.json b/ports/portable-snippets/vcpkg.json index acd3cde956da84..efcb6e53382290 100644 --- a/ports/portable-snippets/vcpkg.json +++ b/ports/portable-snippets/vcpkg.json @@ -1,7 +1,19 @@ { "name": "portable-snippets", - "version-string": "2019-09-20", - "port-version": 1, + "version-date": "2019-09-20", + "port-version": 4, "description": "Collection of miscellaneous portable C snippets", - "homepage": "https://github.com/nemequ/portable-snippets" + "homepage": "https://github.com/nemequ/portable-snippets", + "license": null, + "supports": "!(arm & osx)", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/portaudio/framework_link.patch b/ports/portaudio/framework_link.patch new file mode 100644 index 00000000000000..658ca122c28f75 --- /dev/null +++ b/ports/portaudio/framework_link.patch @@ -0,0 +1,34 @@ +From 8fe2958d3202b409f7d54f53b41fca7b225c3f0e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Daniel=20Sch=C3=BCrmann?= +Date: Thu, 27 Jul 2023 15:06:24 +0200 +Subject: [PATCH] Don't use apsolute path when linking to macOS frameworks + +--- + CMakeLists.txt | 18 +++++++----------- + 1 file changed, 7 insertions(+), 11 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 87d0bb832..75aa89e7b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -261,13 +261,13 @@ ELSE() + SET(PA_PRIVATE_INCLUDES ${PA_PRIVATE_INCLUDES} ${PA_COREAUDIO_INCLUDES}) + SET(PA_SOURCES ${PA_SOURCES} ${PA_COREAUDIO_SOURCES}) + +- FIND_LIBRARY(COREAUDIO_LIBRARY CoreAudio REQUIRED) +- FIND_LIBRARY(AUDIOTOOLBOX_LIBRARY AudioToolbox REQUIRED) +- FIND_LIBRARY(AUDIOUNIT_LIBRARY AudioUnit REQUIRED) +- FIND_LIBRARY(COREFOUNDATION_LIBRARY CoreFoundation REQUIRED) +- FIND_LIBRARY(CORESERVICES_LIBRARY CoreServices REQUIRED) +- MARK_AS_ADVANCED(COREAUDIO_LIBRARY AUDIOTOOLBOX_LIBRARY AUDIOUNIT_LIBRARY COREFOUNDATION_LIBRARY CORESERVICES_LIBRARY) +- SET(PA_LIBRARY_DEPENDENCIES ${PA_LIBRARY_DEPENDENCIES} ${COREAUDIO_LIBRARY} ${AUDIOTOOLBOX_LIBRARY} ${AUDIOUNIT_LIBRARY} ${COREFOUNDATION_LIBRARY} ${CORESERVICES_LIBRARY}) ++ SET(PA_LIBRARY_DEPENDENCIES ++ ${PA_LIBRARY_DEPENDENCIES} ++ -Wl,-framework,CoreAudio ++ -Wl,-framework,AudioToolbox ++ -Wl,-framework,AudioUnit ++ -Wl,-framework,CoreFoundation ++ -Wl,-framework,CoreServices) + SET(PA_PRIVATE_COMPILE_DEFINITIONS ${PA_PRIVATE_COMPILE_DEFINITIONS} PA_USE_COREAUDIO) + SET(PA_PKGCONFIG_LDFLAGS "${PA_PKGCONFIG_LDFLAGS} -framework CoreAudio -framework AudioToolbox -framework AudioUnit -framework CoreFoundation -framework CoreServices") + ENDIF() diff --git a/ports/portaudio/portfile.cmake b/ports/portaudio/portfile.cmake index 30e9adfa0509a8..65c5bcb04a2083 100644 --- a/ports/portaudio/portfile.cmake +++ b/ports/portaudio/portfile.cmake @@ -1,4 +1,3 @@ -vcpkg_fail_port_install(ON_TARGET "uwp") vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO PortAudio/portaudio @@ -6,16 +5,16 @@ vcpkg_from_github( SHA512 0f56e5f5b004f51915f29771b8fc1fe886f1fef5d65ab5ea1db43f43c49917476b9eec14b36aa54d3e9fb4d8bdf61e68c79624d00b7e548d4c493395a758233a PATCHES fix-library-can-not-be-found.patch + framework_link.patch ) -string(COMPARE EQUAL ${VCPKG_LIBRARY_LINKAGE} dynamic PA_BUILD_SHARED) -string(COMPARE EQUAL ${VCPKG_LIBRARY_LINKAGE} static PA_BUILD_STATIC) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" PA_BUILD_SHARED) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" PA_BUILD_STATIC) # NOTE: the ASIO backend will be built automatically if the ASIO-SDK is provided # in a sibling folder of the portaudio source in vcpkg/buildtrees/portaudio/src -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DPA_USE_DS=ON -DPA_USE_WASAPI=ON @@ -29,18 +28,18 @@ vcpkg_configure_cmake( -DPA_ENABLE_DEBUG_OUTPUT:BOOL=ON ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) +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(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 ${CURRENT_PACKAGES_DIR}/debug/bin) + 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) +file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) vcpkg_fixup_pkgconfig() diff --git a/ports/portaudio/vcpkg.json b/ports/portaudio/vcpkg.json index cbf20bfc6b01aa..8ed40572a4942a 100644 --- a/ports/portaudio/vcpkg.json +++ b/ports/portaudio/vcpkg.json @@ -1,8 +1,18 @@ { "name": "portaudio", "version": "19.7", - "port-version": 2, + "port-version": 5, "description": "PortAudio Portable Cross-platform Audio I/O API PortAudio is a free, cross-platform, open-source, audio I/O library. It lets you write simple audio programs in 'C' or C++ that will compile and run on many platforms including Windows, Macintosh OS X, and Unix (OSS/ALSA). It is intended to promote the exchange of audio software between developers on different platforms. Many applications use PortAudio for Audio I/O.", "homepage": "http://www.portaudio.com", - "supports": "!uwp" + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/portmidi/add-feature-options.patch b/ports/portmidi/add-feature-options.patch deleted file mode 100644 index 605dfcd35bcccd..00000000000000 --- a/ports/portmidi/add-feature-options.patch +++ /dev/null @@ -1,50 +0,0 @@ -diff --git a/portmidi/trunk/CMakeLists.txt b/portmidi/trunk/CMakeLists.txt -index e5e01b6..483b900 100644 ---- a/portmidi/trunk/CMakeLists.txt -+++ b/portmidi/trunk/CMakeLists.txt -@@ -72,10 +72,14 @@ endif(0) - include_directories(pm_common porttime) - add_subdirectory(pm_common) - -+if (0) - add_subdirectory(pm_test) -+endif() - - add_subdirectory(pm_dylib) - - # Cannot figure out how to make an xcode Java application with CMake -+if (JAVA_SUPPORT) - add_subdirectory(pm_java) -+endif() - -diff --git a/portmidi/trunk/pm_common/CMakeLists.txt b/portmidi/trunk/pm_common/CMakeLists.txt -index c829063..2597bea 100644 ---- a/portmidi/trunk/pm_common/CMakeLists.txt -+++ b/portmidi/trunk/pm_common/CMakeLists.txt -@@ -111,17 +111,25 @@ target_link_libraries(portmidi-static ${PM_NEEDED_LIBS}) - # define the jni library - include_directories(${JAVA_INCLUDE_PATHS}) - -+if (JAVA_SUPPORT) - set(JNISRC ${LIBSRC} ../pm_java/pmjni/pmjni.c) - add_library(pmjni SHARED ${JNISRC}) - target_link_libraries(pmjni ${JNI_EXTRA_LIBS}) - set_target_properties(pmjni PROPERTIES EXECUTABLE_EXTENSION "jnilib") -+endif() - - # install the libraries (Linux and Mac OS X command line) - if(1) -- INSTALL(TARGETS portmidi-static pmjni -+ INSTALL(TARGETS portmidi-static - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib) -+ if (JAVA_SUPPORT) -+ INSTALL(TARGETS pmjni -+ RUNTIME DESTINATION bin -+ LIBRARY DESTINATION lib -+ ARCHIVE DESTINATION lib) -+ endif() - # .h files installed by pm_dylib/CMakeLists.txt, so don't need them here - INSTALL(FILES portmidi.h ../porttime/porttime.h - DESTINATION include) diff --git a/ports/portmidi/fix-build-install.patch b/ports/portmidi/fix-build-install.patch deleted file mode 100644 index 76f0f92bf215b2..00000000000000 --- a/ports/portmidi/fix-build-install.patch +++ /dev/null @@ -1,148 +0,0 @@ -diff --git a/portmidi/trunk/CMakeLists.txt b/portmidi/trunk/CMakeLists.txt -index 4919b78..e5e01b6 100644 ---- a/portmidi/trunk/CMakeLists.txt -+++ b/portmidi/trunk/CMakeLists.txt -@@ -4,6 +4,7 @@ - - cmake_minimum_required(VERSION 2.6) - -+if (0) - if(UNIX) - # allow user to set Release or Debug - set(CMAKE_BUILD_TYPE Release CACHE STRING -@@ -22,11 +23,13 @@ else(UNIX) - set(CMAKE_CONFIGURATION_TYPES "Debug;Release" CACHE STRING - "Semicolon-separate list of supported configuration types") - endif(UNIX) -+endif() - - #set(CMAKE_RELATIVE_PATHS ON CACHE STRING "avoid absolute paths" FORCE) - - # Clear out the built-in C++ compiler and link flags for each of the - # unused configurations. -+if (0) - set(CMAKE_CXX_FLAGS_MINSIZEREL "" CACHE INTERNAL "Unused") - set(CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL "" CACHE INTERNAL "Unused") - set(CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL "" CACHE INTERNAL "Unused") -@@ -37,10 +40,11 @@ set(CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO "" CACHE INTERNAL "Unused") - set(CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO "" CACHE INTERNAL "Unused") - - set(CMAKE_OSX_ARCHITECTURES i386 ppc x86_64 CACHE STRING "change to needed architecture for a smaller library" FORCE) -+endif() - - PROJECT(portmidi) - --if(UNIX) -+if(0) - # Problem: if there was an old Debug build and you change - # CMAKE_BUILD_TYPE to Release, then the OUTPUT_DIRECTORY's will - # still be Debug. Try to fix this by checking if the DIRECTORY's -@@ -63,7 +67,7 @@ if(UNIX) - ${CMAKE_CACHEFILE_DIR}/${CMAKE_BUILD_TYPE} - CACHE STRING "libraries go here" FORCE) - endif(CMAKE_LIBRARY_OUTPUT_DIRECTORY MATCHES ${BAD_DIR}) --endif(UNIX) -+endif(0) - - include_directories(pm_common porttime) - add_subdirectory(pm_common) -diff --git a/portmidi/trunk/pm_common/CMakeLists.txt b/portmidi/trunk/pm_common/CMakeLists.txt -index cbeeade..c829063 100644 ---- a/portmidi/trunk/pm_common/CMakeLists.txt -+++ b/portmidi/trunk/pm_common/CMakeLists.txt -@@ -5,8 +5,6 @@ - if(APPLE OR WIN32) - set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}) - # set the build directory for .dylib libraries -- set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}) -- set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}) - - # the first time CMake configures, save off CMake's built-in flags - if(NOT DEFAULT_DEBUG_FLAGS) -@@ -104,8 +102,9 @@ set(JNI_EXTRA_LIBS ${PM_NEEDED_LIBS} ${JAVA_JVM_LIBRARY}) - # this completes the list of library sources by adding shared code - list(APPEND LIBSRC pmutil portmidi) - -+if (NOT BUILD_SHARED_LIBS) - # now add the shared files to make the complete list of library sources --add_library(portmidi-static ${LIBSRC}) -+add_library(portmidi-static STATIC ${LIBSRC}) - set_target_properties(portmidi-static PROPERTIES OUTPUT_NAME "portmidi_s") - target_link_libraries(portmidi-static ${PM_NEEDED_LIBS}) - -@@ -118,11 +117,13 @@ target_link_libraries(pmjni ${JNI_EXTRA_LIBS}) - set_target_properties(pmjni PROPERTIES EXECUTABLE_EXTENSION "jnilib") - - # install the libraries (Linux and Mac OS X command line) --if(UNIX) -+if(1) - INSTALL(TARGETS portmidi-static pmjni -- LIBRARY DESTINATION /usr/local/lib -- ARCHIVE DESTINATION /usr/local/lib) -+ RUNTIME DESTINATION bin -+ LIBRARY DESTINATION lib -+ ARCHIVE DESTINATION lib) - # .h files installed by pm_dylib/CMakeLists.txt, so don't need them here --# INSTALL(FILES portmidi.h ../porttime/porttime.h --# DESTINATION /usr/local/include) --endif(UNIX) -+ INSTALL(FILES portmidi.h ../porttime/porttime.h -+ DESTINATION include) -+endif(1) -+endif() -diff --git a/portmidi/trunk/pm_common/portmidi.h b/portmidi/trunk/pm_common/portmidi.h -index e07991e..6f48927 100644 ---- a/portmidi/trunk/pm_common/portmidi.h -+++ b/portmidi/trunk/pm_common/portmidi.h -@@ -108,6 +108,8 @@ typedef unsigned int uint32_t; - - #ifdef _WINDLL - #define PMEXPORT __declspec(dllexport) -+#elif defined _PM_USEDLL -+#define PMEXPORT __declspec(dllimport) - #else - #define PMEXPORT - #endif -diff --git a/portmidi/trunk/pm_dylib/CMakeLists.txt b/portmidi/trunk/pm_dylib/CMakeLists.txt -index f693dd6..69d4d24 100644 ---- a/portmidi/trunk/pm_dylib/CMakeLists.txt -+++ b/portmidi/trunk/pm_dylib/CMakeLists.txt -@@ -4,11 +4,8 @@ - # portmidi/pm_dylib - if(APPLE OR WIN32) - # set the build directory for .dylib libraries -- set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}) -- set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}) - # the "archive" output directory says where to put portmidi.lib, the - # static part of the lib/dll pair: -- set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}) - - # the first time CMake configures, save off CMake's built-in flags - if(NOT DEFAULT_DEBUG_FLAGS) -@@ -113,15 +110,21 @@ set(SHARED_FILES pmutil portmidi) - prepend_path(SHARED_PATHS ../pm_common/ ${SHARED_FILES}) - list(APPEND LIBSRC ${SHARED_PATHS}) - -+if (BUILD_SHARED_LIBS) - add_library(portmidi-dynamic SHARED ${LIBSRC}) - set_target_properties(portmidi-dynamic PROPERTIES OUTPUT_NAME "portmidi") - target_link_libraries(portmidi-dynamic ${PM_NEEDED_LIBS}) -+if (MSVC) -+ target_compile_definitions(portmidi-dynamic PRIVATE _WINDLL) -+endif() - - # install the libraries (Linux and Mac OS X command line) --if(UNIX) -+if(1) - INSTALL(TARGETS portmidi-dynamic -- LIBRARY DESTINATION /usr/local/lib -- ARCHIVE DESTINATION /usr/local/lib) -+ RUNTIME DESTINATION bin -+ LIBRARY DESTINATION lib -+ ARCHIVE DESTINATION lib) - INSTALL(FILES ../pm_common/portmidi.h ../porttime/porttime.h -- DESTINATION /usr/local/include) --endif(UNIX) -+ DESTINATION include) -+endif(1) -+endif() diff --git a/ports/portmidi/framework_link.patch b/ports/portmidi/framework_link.patch new file mode 100644 index 00000000000000..fabd61d42b5254 --- /dev/null +++ b/ports/portmidi/framework_link.patch @@ -0,0 +1,49 @@ +From aa375d4fe0bf91ab1edd445baa7912a23a5e6a60 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Daniel=20Sch=C3=BCrmann?= +Date: Thu, 27 Jul 2023 08:30:44 +0200 +Subject: [PATCH] Don't use absolut paths to macOS frameworks + +This fixes https://github.com/PortMidi/portmidi/issues/56 +--- + pm_common/CMakeLists.txt | 21 +++++++++++++-------- + 1 file changed, 13 insertions(+), 8 deletions(-) + +diff --git a/pm_common/CMakeLists.txt b/pm_common/CMakeLists.txt +index 062887b..e474244 100644 +--- a/pm_common/CMakeLists.txt ++++ b/pm_common/CMakeLists.txt +@@ -81,21 +81,25 @@ endif() + # first include the appropriate system-dependent file: + if(UNIX AND APPLE) + set(Threads::Threads "" PARENT_SCOPE) +- find_library(COREAUDIO_LIBRARY CoreAudio REQUIRED) +- find_library(COREFOUNDATION_LIBRARY CoreFoundation REQUIRED) +- find_library(COREMIDI_LIBRARY CoreMIDI REQUIRED) +- find_library(CORESERVICES_LIBRARY CoreServices REQUIRED) + set(PM_LIB_PRIVATE_SRC + ${PMDIR}/porttime/ptmacosx_mach.c + ${PMDIR}/pm_mac/pmmac.c + ${PMDIR}/pm_mac/pmmacosxcm.c + ${PMDIR}/pm_mac/finddefault.c + ${PMDIR}/pm_mac/readbinaryplist.c) +- set(PM_NEEDED_LIBS ${CMAKE_THREAD_LIBS_INIT} ${COREAUDIO_LIBRARY} +- ${COREFOUNDATION_LIBRARY} ${COREMIDI_LIBRARY} ${CORESERVICES_LIBRARY} +- PARENT_SCOPE) +- target_link_libraries(portmidi PRIVATE Threads::Threads ${COREAUDIO_LIBRARY} +- ${COREFOUNDATION_LIBRARY} ${COREMIDI_LIBRARY} ${CORESERVICES_LIBRARY}) ++ set(PM_NEEDED_LIBS ++ ${CMAKE_THREAD_LIBS_INIT} ++ -Wl,-framework,CoreAudio ++ -Wl,-framework,CoreFoundation ++ -Wl,-framework,CoreMidi ++ -Wl,-framework,CoreServices) ++ target_link_libraries(portmidi ++ PRIVATE ++ Threads::Threads ++ -Wl,-framework,CoreAudio ++ -Wl,-framework,CoreFoundation ++ -Wl,-framework,CoreMidi ++ -Wl,-framework,CoreServices) + # set to CMake default; is this right?: + set_target_properties(portmidi PROPERTIES MACOSX_RPATH ON) + elseif(HAIKU) diff --git a/ports/portmidi/portfile.cmake b/ports/portmidi/portfile.cmake index 45e15ab0520f82..8d17c5cbbef892 100644 --- a/ports/portmidi/portfile.cmake +++ b/ports/portmidi/portfile.cmake @@ -1,35 +1,32 @@ -vcpkg_fail_port_install(ON_TARGET "uwp" ON_ARCH "arm") - -vcpkg_from_sourceforge( +vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO portmedia - FILENAME "portmedia-code-r234.zip" - SHA512 cbc332d89bc465450b38245a83cc300dfd2e1e6de7c62284edf754ff4d8a9aa3dc49a395dcee535ed9688befb019186fa87fd6d8a3698898c2acbf3e6b7a0794 + REPO PortMidi/portmidi + REF "v${VERSION}" + SHA512 d9f22d161e1dd9a4bde1971bb2b6e5352da51545f4fe5ecad11c55e7a535f0d88efce18d1c8fd91e93b70a7926150f86a0f53972ad92370e86556a8dd72dc194 + HEAD_REF master PATCHES - fix-build-install.patch - add-feature-options.patch + "search-for-threads-in-config.patch" + "framework_link.patch" ) +if(VCPKG_CRT_LINKAGE STREQUAL static) + set(PM_USE_STATIC_RUNTIME ON) +else() + set(PM_USE_STATIC_RUNTIME OFF) +endif() + vcpkg_cmake_configure( - SOURCE_PATH "${SOURCE_PATH}/portmidi/trunk" + SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DJAVA_SUPPORT=OFF - -DJAVA_INCLUDE_PATH= - -DJAVA_INCLUDE_PATH2= - -DJAVA_JVM_LIBRARY= - MAYBE_UNUSED_VARIABLES - JAVA_INCLUDE_PATH - JAVA_INCLUDE_PATH2 + -DPM_USE_STATIC_RUNTIME="${PM_USE_STATIC_RUNTIME}" ) vcpkg_cmake_install() - -if (VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/portmidi.h" - "#elif defined _PM_USEDLL" "#elif 1" - ) -endif() +vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/PortMidi) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL "${SOURCE_PATH}/portmidi/trunk/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/portmidi/search-for-threads-in-config.patch b/ports/portmidi/search-for-threads-in-config.patch new file mode 100644 index 00000000000000..78d279431e15ad --- /dev/null +++ b/ports/portmidi/search-for-threads-in-config.patch @@ -0,0 +1,12 @@ +diff --git a/packaging/PortMidiConfig.cmake.in b/packaging/PortMidiConfig.cmake.in +index a04928a..203ba30 100644 +--- a/packaging/PortMidiConfig.cmake.in ++++ b/packaging/PortMidiConfig.cmake.in +@@ -4,6 +4,7 @@ include(CMakeFindDependencyMacro) + if(UNIX AND NOT APPLE AND NOT HAIKU AND (@LINUX_DEFINES@ MATCHES ".*PMALSA.*")) + find_dependency(ALSA) + endif() ++find_dependency(Threads) + + include("${CMAKE_CURRENT_LIST_DIR}/PortMidiTargets.cmake") + diff --git a/ports/portmidi/usage b/ports/portmidi/usage new file mode 100644 index 00000000000000..9851cb79f02a52 --- /dev/null +++ b/ports/portmidi/usage @@ -0,0 +1,4 @@ +portmidi provides CMake targets: + + find_package(PortMidi CONFIG REQUIRED) + target_link_libraries(main PRIVATE PortMidi::portmidi) diff --git a/ports/portmidi/vcpkg.json b/ports/portmidi/vcpkg.json index 91d162c4f11365..31574ddd364178 100644 --- a/ports/portmidi/vcpkg.json +++ b/ports/portmidi/vcpkg.json @@ -1,14 +1,23 @@ { "name": "portmidi", - "version": "0.234", + "version": "2.0.4", "port-version": 3, - "description": "Free, cross-platform, open-source I/O library for MIDI", - "homepage": "https://sourceforge.net/projects/portmedia/", - "supports": "!uwp & !linux", + "description": "PortMidi is a cross platform (Windows, macOS, Linux, and BSDs which support alsalib) library for interfacing with operating systems' MIDI I/O APIs.", + "homepage": "https://github.com/PortMidi/portmidi", + "license": "MIT", + "supports": "!uwp", "dependencies": [ + { + "name": "alsa", + "platform": "linux | android | freebsd | openbsd" + }, { "name": "vcpkg-cmake", "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true } ] } diff --git a/ports/portsmf/portfile.cmake b/ports/portsmf/portfile.cmake index 158094ee76c020..2684ee4de0d80d 100644 --- a/ports/portsmf/portfile.cmake +++ b/ports/portsmf/portfile.cmake @@ -1,11 +1,12 @@ -vcpkg_fail_port_install(ON_TARGET "UWP") +vcpkg_download_distfile(ARCHIVE + URLS "https://codeberg.org/tenacityteam/portsmf/archive/${VERSION}.tar.gz" + FILENAME "${VERSION}.tar.gz" + SHA512 522ef6e92de6497c66d6b9adf2b6b4e419024d26fac421096718b024ea0e183d322d3f0cd9fc357e0ba983371cf313d7a0b93b8b24aff5c9cb1ab61c915725ff +) +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO tenacityteam/portsmf - REF 238 - SHA512 af619d1b0a656361af8f8b8b65d7f98047613ac8e9ea51354031629c1732ad02755f84d63ac7c4ed24cdf0ad3db46381061bf32d9afe29b7be3226dc814ef552 - HEAD_REF main ) vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}") @@ -15,5 +16,5 @@ vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/PortSMF) vcpkg_fixup_pkgconfig() vcpkg_copy_pdbs() -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") diff --git a/ports/portsmf/vcpkg.json b/ports/portsmf/vcpkg.json index c97b7711de8e7b..2f96f307ada0f9 100644 --- a/ports/portsmf/vcpkg.json +++ b/ports/portsmf/vcpkg.json @@ -1,8 +1,8 @@ { "name": "portsmf", - "version": "0.238", + "version": "239", "description": "Portsmf is 'Port Standard MIDI File', a cross-platform, C++ library for reading and writing Standard MIDI Files.", - "homepage": "https://github.com/tenacityteam/portsmf", + "homepage": "https://codeberg.org/tenacityteam/portsmf", "license": "MIT", "supports": "!uwp", "dependencies": [ diff --git a/ports/poselib/portfile.cmake b/ports/poselib/portfile.cmake new file mode 100644 index 00000000000000..a91e46d45d1d82 --- /dev/null +++ b/ports/poselib/portfile.cmake @@ -0,0 +1,25 @@ +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO PoseLib/PoseLib + REF "v${VERSION}" + SHA512 adc43c4f0fd8544d2c7ef05538696a8ae614837f5e90c31b8b9c8f4b5a11eb773229c22444e01482de697a0f5b3137d4a63a24ba9fcc72b366a347252d3c16b1 + HEAD_REF master +) + +vcpkg_cmake_configure( + SOURCE_PATH ${SOURCE_PATH} + OPTIONS + -DMARCH_NATIVE=OFF + -DWITH_BENCHMARK=OFF + -DPYTHON_PACKAGE=OFF +) +vcpkg_cmake_install() +vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/PoseLib) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/poselib/vcpkg.json b/ports/poselib/vcpkg.json new file mode 100644 index 00000000000000..018d5dcf77ab29 --- /dev/null +++ b/ports/poselib/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "poselib", + "version": "2.0.4", + "description": "Minimal solvers for calibrated camera pose estimation", + "homepage": "https://github.com/PoseLib/PoseLib", + "license": "BSD-3-Clause", + "dependencies": [ + "eigen3", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/ppconsul/portfile.cmake b/ports/ppconsul/portfile.cmake index cc1692760d07f4..3f3abe779e8ff3 100644 --- a/ports/ppconsul/portfile.cmake +++ b/ports/ppconsul/portfile.cmake @@ -8,20 +8,19 @@ vcpkg_from_github( ) # Force the use of the vcpkg installed versions -file(REMOVE_RECURSE ${SOURCE_PATH}/ext/json11) -file(REMOVE_RECURSE ${SOURCE_PATH}/ext/catch) +file(REMOVE_RECURSE "${SOURCE_PATH}/ext/json11") +file(REMOVE_RECURSE "${SOURCE_PATH}/ext/catch") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH cmake) +vcpkg_cmake_config_fixup(CONFIG_PATH cmake) -file(INSTALL ${SOURCE_PATH}/LICENSE_1_0.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(INSTALL "${SOURCE_PATH}/LICENSE_1_0.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") vcpkg_copy_pdbs() diff --git a/ports/ppconsul/vcpkg.json b/ports/ppconsul/vcpkg.json index ff2b678c8df8aa..6812951a87a8b1 100644 --- a/ports/ppconsul/vcpkg.json +++ b/ports/ppconsul/vcpkg.json @@ -1,7 +1,7 @@ { "name": "ppconsul", - "version-string": "0.5", - "port-version": 3, + "version": "0.5", + "port-version": 5, "description": "A C++ client library for Consul. Consul is a distributed tool for discovering and configuring services in your infrastructure.", "homepage": "https://github.com/oliora/ppconsul", "dependencies": [ @@ -15,6 +15,14 @@ "openssl" ] }, - "json11" + "json11", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/ppmagic/vcpkg.json b/ports/ppmagic/vcpkg.json index 7bf584f3354678..79dcecfb67b7ef 100644 --- a/ports/ppmagic/vcpkg.json +++ b/ports/ppmagic/vcpkg.json @@ -1,7 +1,7 @@ { "name": "ppmagic", - "version-string": "2020-07-03", - "port-version": 1, + "version-date": "2020-07-03", + "port-version": 2, "description": "C/C++ preprocessor macros that you can use to simplify your life.", "homepage": "https://github.com/kobalicek/ppmagic" } diff --git a/ports/pprint/portfile.cmake b/ports/pprint/portfile.cmake index 609117815d7b88..79b645804b1077 100644 --- a/ports/pprint/portfile.cmake +++ b/ports/pprint/portfile.cmake @@ -8,18 +8,17 @@ vcpkg_from_github( HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DPPRINT_BUILD_TESTS=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug" "${CURRENT_PACKAGES_DIR}/lib") # Handle copyright -configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) +configure_file("${SOURCE_PATH}/LICENSE" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) diff --git a/ports/pprint/vcpkg.json b/ports/pprint/vcpkg.json index 386ed290699d3d..f1f1722b25fbb6 100644 --- a/ports/pprint/vcpkg.json +++ b/ports/pprint/vcpkg.json @@ -1,7 +1,17 @@ { "name": "pprint", - "version-string": "2019-07-19", - "port-version": 1, + "version-date": "2019-07-19", + "port-version": 3, "description": "Pretty Printer for Modern C++", - "homepage": "https://github.com/p-ranav/pprint" + "homepage": "https://github.com/p-ranav/pprint", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/pqp/CMakeLists.txt b/ports/pqp/CMakeLists.txt index dab50802fbbe8e..418beb84a637fa 100644 --- a/ports/pqp/CMakeLists.txt +++ b/ports/pqp/CMakeLists.txt @@ -1,6 +1,8 @@ cmake_minimum_required(VERSION 3.0) project(pqp) +set(CMAKE_CXX_STANDARD 11) + set(SOURCE_CUSTOM_DIR "PQP_v1.3") include_directories(${SOURCE_CUSTOM_DIR}/src) diff --git a/ports/pqp/portfile.cmake b/ports/pqp/portfile.cmake index ac6ab13b1981ef..dc88ab07563a4f 100644 --- a/ports/pqp/portfile.cmake +++ b/ports/pqp/portfile.cmake @@ -6,22 +6,20 @@ vcpkg_download_distfile(ARCHIVE SHA512 baad7b050b13a6d13de5110cdec443048a3543b65b0d3b30d1b5f737b46715052661f762ef71345d39978c0c788a30a3a935717664806b4729722ee3594ebdc1 ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" PATCHES fix-math-functions.patch ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() # Handle copyright -file(COPY ${CMAKE_CURRENT_LIST_DIR}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/pqp) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/pqp/LICENSE ${CURRENT_PACKAGES_DIR}/share/pqp/copyright) +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/pqp/vcpkg.json b/ports/pqp/vcpkg.json index 70d452f261d6d6..6658fe615d225c 100644 --- a/ports/pqp/vcpkg.json +++ b/ports/pqp/vcpkg.json @@ -1,7 +1,17 @@ { "name": "pqp", - "version-string": "1.3", - "port-version": 5, + "version": "1.3", + "port-version": 8, "description": "a proximity query package", - "homepage": "https://gamma.cs.unc.edu/SSV/" + "homepage": "https://gamma.cs.unc.edu/SSV/", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/pravila00-enum-string/portfile.cmake b/ports/pravila00-enum-string/portfile.cmake new file mode 100644 index 00000000000000..5a099731d5d608 --- /dev/null +++ b/ports/pravila00-enum-string/portfile.cmake @@ -0,0 +1,13 @@ +# Header-only library + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Pravila00/enum-string + REF 3eec46f5520c287ee46692ea1d41833cbe0d80f2 + SHA512 5b29c27b8ceb358bae5a2b4fb5d198b7b4cd8a7c9926bd7685c27650da5cda9f6dc85b6a9694fe151d03b22e3230d5f3faf9143e865dffc0795b2952fca5fc0f + HEAD_REF main +) + +file(COPY "${SOURCE_PATH}/EnumString.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include/${PORT}") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/pravila00-enum-string/vcpkg.json b/ports/pravila00-enum-string/vcpkg.json new file mode 100644 index 00000000000000..a1afb14d86f804 --- /dev/null +++ b/ports/pravila00-enum-string/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "pravila00-enum-string", + "version-date": "2023-10-16", + "description": "A utility to provide stringizing support for C++ enums.", + "homepage": "https://github.com/Pravila00/enum-string", + "license": "Unlicense" +} diff --git a/ports/pravila00-enumflag/portfile.cmake b/ports/pravila00-enumflag/portfile.cmake new file mode 100644 index 00000000000000..756af611eb2f19 --- /dev/null +++ b/ports/pravila00-enumflag/portfile.cmake @@ -0,0 +1,13 @@ +# Header-only library + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Pravila00/enumflag + REF 0b6697149a68e9700029840e8ab983c06001e454 + SHA512 2c583bf1dfd4d42dd2589d78da288093c49f1b601da415f524f2201bbb49bf1fc22f1c027874a52e8665dadbe0f5f676c278e0bced0c53cf834a0eab02d454b4 + HEAD_REF main +) + +file(COPY "${SOURCE_PATH}/EnumFlag.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include/${PORT}") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/pravila00-enumflag/vcpkg.json b/ports/pravila00-enumflag/vcpkg.json new file mode 100644 index 00000000000000..8286218bf83198 --- /dev/null +++ b/ports/pravila00-enumflag/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "pravila00-enumflag", + "version-date": "2024-04-12", + "description": "This C++ code provides a template for enabling bitwise operations on enum classes, which are not supported by default in C++.", + "homepage": "https://www.justsoftwaresolutions.co.uk/cplusplus/using-enum-classes-as-bitfields.html", + "license": "BSL-1.0" +} diff --git a/ports/pravila00-make-vector/portfile.cmake b/ports/pravila00-make-vector/portfile.cmake new file mode 100644 index 00000000000000..285464d9b63476 --- /dev/null +++ b/ports/pravila00-make-vector/portfile.cmake @@ -0,0 +1,11 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Pravila00/make-vector + REF 1518ac00adec9b13a645aee45ed1a36eb6ec1e98 + SHA512 2be4af258ceeb71e990ecc5c1c2c269456f6621b7b6b8183ba4e29f5479c4c7a618bd0c737a8d66aa00052a710930ec2f2ee5bc925f7a627427ac90918b6d4fa + HEAD_REF main +) + +file(COPY "${SOURCE_PATH}/include/make_vector.hpp" DESTINATION "${CURRENT_PACKAGES_DIR}/include/make-vector") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/pravila00-make-vector/vcpkg.json b/ports/pravila00-make-vector/vcpkg.json new file mode 100644 index 00000000000000..04cd52a3271c05 --- /dev/null +++ b/ports/pravila00-make-vector/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "pravila00-make-vector", + "version-date": "2023-04-10", + "description": "C++ helper for making vectors.", + "homepage": "https://github.com/Pravila00/make-vector", + "license": "BSL-1.0" +} diff --git a/ports/presentmon/CMakeLists.txt b/ports/presentmon/CMakeLists.txt index 1c8bd8620c9228..427516a32af736 100644 --- a/ports/presentmon/CMakeLists.txt +++ b/ports/presentmon/CMakeLists.txt @@ -6,18 +6,18 @@ option(BUILD_TOOLS "Build tool PresentMon" OFF) set(PRESENTDATA_SRCS PresentData/Debug.cpp - PresentData/MixedRealityTraceConsumer.cpp + PresentData/GpuTrace.cpp PresentData/PresentMonTraceConsumer.cpp + PresentData/PresentMonTraceSession.cpp PresentData/TraceConsumer.cpp - PresentData/TraceSession.cpp ) set(PRESENTDATA_HDRS PresentData/Debug.hpp - PresentData/MixedRealityTraceConsumer.hpp + PresentData/GpuTrace.hpp PresentData/PresentMonTraceConsumer.hpp + PresentData/PresentMonTraceSession.hpp PresentData/TraceConsumer.hpp - PresentData/TraceSession.hpp ${CMAKE_BINARY_DIR}/generated/version.h ) @@ -47,11 +47,10 @@ if (BUILD_TOOLS) PresentMon/Console.cpp PresentMon/ConsumerThread.cpp PresentMon/CsvOutput.cpp - PresentMon/LateStageReprojectionData.cpp PresentMon/MainThread.cpp PresentMon/OutputThread.cpp PresentMon/Privilege.cpp - PresentMon/TraceSession.cpp + PresentMon/PresentMon.hpp ) add_executable(PresentMon ${PresentMon_SRCS}) diff --git a/ports/presentmon/portfile.cmake b/ports/presentmon/portfile.cmake index b6a00824bde1fd..843e9210015114 100644 --- a/ports/presentmon/portfile.cmake +++ b/ports/presentmon/portfile.cmake @@ -1,35 +1,32 @@ # The upstream doesn't export any symbols vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -vcpkg_fail_port_install(ON_TARGET "linux" "osx" "uwp" "ios" "android" "freebsd") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO GameTechDev/PresentMon - REF 47669ad0efaddc9787772d5e4900734417b2c07c # 1.7.0 - SHA512 fac2e2ca4d8476e2cdde7c3f77cf1881b7d7a9208387f12dbf07f3ea7f4012ce79602f4fedbf1e778871fd9ce898b101659a6f192de29dc6a4404213aee444be + REF "v${VERSION}" + SHA512 30945e61ba09e23ebc05e3f8a0e96a298349dad6a83043a37df9e1af0c892bee1704214e8f6ddc8cdaa9f527deb16f27b3653c855eab6bbc2f9ce509da4ded00 HEAD_REF main ) -file(COPY ${CURRENT_PORT_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CURRENT_PORT_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES tools BUILD_TOOLS ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${FEATURE_OPTIONS} OPTIONS_DEBUG -DINSTALL_HEADERS=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() if("tools" IN_LIST FEATURES) vcpkg_copy_tools(TOOL_NAMES presentmon 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") diff --git a/ports/presentmon/vcpkg.json b/ports/presentmon/vcpkg.json index b4e05670cba237..acaed10aa8d2b0 100644 --- a/ports/presentmon/vcpkg.json +++ b/ports/presentmon/vcpkg.json @@ -1,8 +1,14 @@ { "name": "presentmon", - "version-semver": "1.7.0", + "version-semver": "2.1.1", "description": "PresentMon is a tool to capture and analyze ETW events related to swap chain presentation on Windows.", "supports": "windows & !uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ], "features": { "tools": { "description": "Build tool PresentMon" diff --git a/ports/proj/fix-proj4-targets-cmake.patch b/ports/proj/fix-proj4-targets-cmake.patch new file mode 100644 index 00000000000000..30c2242589cac6 --- /dev/null +++ b/ports/proj/fix-proj4-targets-cmake.patch @@ -0,0 +1,12 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 7d736d129..2be8f8be9 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -151,6 +165,7 @@ if(ENABLE_TIFF) + find_package(TIFF REQUIRED) + if(TIFF_FOUND) + set(TIFF_ENABLED TRUE) ++ set(TIFF_LIBRARY TIFF::TIFF) + else() + message(SEND_ERROR + "libtiff dependency not found! Use ENABLE_TIFF=OFF to force it off") diff --git a/ports/proj/portfile.cmake b/ports/proj/portfile.cmake index cc6e26fcb0b69f..d64cc19cc48367 100644 --- a/ports/proj/portfile.cmake +++ b/ports/proj/portfile.cmake @@ -1 +1,75 @@ -SET(VCPKG_POLICY_EMPTY_PACKAGE enabled) +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO OSGeo/PROJ + REF "${VERSION}" + SHA512 8fb672e664951f849926743b8a44b5052ed83fd51c6fdcc0cd5aa7fe4bf428ec0a8627d90cc6690c21e51f593f5e7c29c933a02a9fc57625baa122d4c96d5727 + HEAD_REF master + PATCHES + fix-proj4-targets-cmake.patch + remove_toolset_restriction.patch + sqlite.diff +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + net ENABLE_CURL + tiff ENABLE_TIFF + tools BUILD_APPS +) + +vcpkg_list(SET TOOL_NAMES cct cs2cs geod gie invgeod invproj proj projinfo projsync) +if("tools" IN_LIST FEATURES AND NOT "net" IN_LIST FEATURES) + set(BUILD_PROJSYNC OFF) + vcpkg_list(APPEND FEATURE_OPTIONS -DBUILD_PROJSYNC=${BUILD_PROJSYNC}) + vcpkg_list(REMOVE_ITEM TOOL_NAMES projsync) +endif() + +find_program(EXE_SQLITE3 NAMES "sqlite3" PATHS "${CURRENT_HOST_INSTALLED_DIR}/tools" NO_DEFAULT_PATH REQUIRED) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} + -DNLOHMANN_JSON=external + -DBUILD_TESTING=OFF + -DBUILD_EXAMPLES=OFF + "-DEXE_SQLITE3=${EXE_SQLITE3}" + -DPROJ_DATA_ENV_VAR_TRIED_LAST=ON + -DEMBED_PROJ_DATA_PATH=OFF + OPTIONS_DEBUG + -DBUILD_APPS=OFF +) + +vcpkg_cmake_install() + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + # Enforce consistency with src/lib_proj.cmake build time configuration. + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/proj.h" + "#ifndef PROJ_DLL" + "#ifndef PROJ_DLL\n# define PROJ_DLL\n#elif 0" + ) +endif() + +vcpkg_cmake_config_fixup(PACKAGE_NAME proj4 CONFIG_PATH lib/cmake/proj4 DO_NOT_DELETE_PARENT_CONFIG_PATH) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/proj) + +if ("tools" IN_LIST FEATURES) + vcpkg_copy_tools(TOOL_NAMES ${TOOL_NAMES} AUTO_CLEAN) +endif () + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/share/doc" + "${CURRENT_PACKAGES_DIR}/share/man" +) + +vcpkg_copy_pdbs() + +vcpkg_fixup_pkgconfig() +if(NOT DEFINED VCPKG_BUILD_TYPE AND VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/proj.pc" " -lproj" " -lproj_d") +endif() + +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/proj/remove_toolset_restriction.patch b/ports/proj/remove_toolset_restriction.patch new file mode 100644 index 00000000000000..7da27379565f34 --- /dev/null +++ b/ports/proj/remove_toolset_restriction.patch @@ -0,0 +1,19 @@ +diff --git a/cmake/project-config-version.cmake.in b/cmake/project-config-version.cmake.in +index d9807b2c5..7ffe39364 100644 +--- a/cmake/project-config-version.cmake.in ++++ b/cmake/project-config-version.cmake.in +@@ -28,14 +28,6 @@ elseif (NOT (APPLE OR (NOT DEFINED CMAKE_SIZEOF_VOID_P) OR + # since a multi-architecture library is built for that platform). + set (REASON "sizeof(*void) = @CMAKE_SIZEOF_VOID_P@") + set (PACKAGE_VERSION_UNSUITABLE TRUE) +-elseif (MSVC AND NOT ( +- # toolset version must be at least as great as @PROJECT_NAME@'s +- MSVC_TOOLSET_VERSION GREATER_EQUAL @MSVC_TOOLSET_VERSION@ +- # and major versions must match +- AND MSVC_TOOLSET_MAJOR EQUAL @MSVC_TOOLSET_MAJOR@ )) +- # Reject if there's a mismatch in MSVC compiler versions +- set (REASON "MSVC_TOOLSET_VERSION = @MSVC_TOOLSET_VERSION@") +- set (PACKAGE_VERSION_UNSUITABLE TRUE) + elseif (PACKAGE_FIND_VERSION) + if (PACKAGE_FIND_VERSION VERSION_EQUAL PACKAGE_VERSION) + set (PACKAGE_VERSION_EXACT TRUE) diff --git a/ports/proj/sqlite.diff b/ports/proj/sqlite.diff new file mode 100644 index 00000000000000..14e9a617004d1c --- /dev/null +++ b/ports/proj/sqlite.diff @@ -0,0 +1,32 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 5c9de0f..d43fe91 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -214,12 +214,12 @@ if(DEFINED SQLITE3_LIBRARY) + set(SQLite3_LIBRARY ${SQLITE3_LIBRARY}) + endif() + +-find_package(SQLite3 REQUIRED) ++find_package(unofficial-sqlite3 CONFIG REQUIRED) ++add_library(SQLite::SQLite3 ALIAS unofficial::sqlite3::sqlite3) + + # Would build and run with older versions, but with horrible performance + # See https://github.com/OSGeo/PROJ/issues/1718 + if(SQLite3_VERSION VERSION_LESS "3.11") +- message(SEND_ERROR "SQLite3 >= 3.11 required!") + endif() + + ################################################################################ +diff --git a/cmake/project-config.cmake.in b/cmake/project-config.cmake.in +index 0ca48aa..ab4e931 100644 +--- a/cmake/project-config.cmake.in ++++ b/cmake/project-config.cmake.in +@@ -27,7 +27,7 @@ if("@CURL_ENABLED@") + endif() + cmake_policy(POP) + +-find_dependency(SQLite3) ++find_dependency(unofficial-sqlite3) + + if(DEFINED PROJ_CONFIG_FIND_TIFF_DEP) + find_dependency(TIFF) diff --git a/ports/proj/usage b/ports/proj/usage new file mode 100644 index 00000000000000..59044f7d292123 --- /dev/null +++ b/ports/proj/usage @@ -0,0 +1,4 @@ +proj provides CMake targets: + + find_package(PROJ CONFIG REQUIRED) + target_link_libraries(main PRIVATE PROJ::proj) diff --git a/ports/proj/vcpkg.json b/ports/proj/vcpkg.json index 50beaca9bc8e84..d8750059ccacf3 100644 --- a/ports/proj/vcpkg.json +++ b/ports/proj/vcpkg.json @@ -1,9 +1,58 @@ { "name": "proj", - "version-string": "0", - "port-version": 1, - "description": "a stub package that pulls in proj4. Do not depend on this package.", + "version": "9.5.0", + "description": "PROJ library for cartographic projections", + "homepage": "https://proj.org/", + "license": "MIT", "dependencies": [ - "proj4" - ] + "nlohmann-json", + { + "name": "sqlite3", + "default-features": false + }, + { + "name": "sqlite3", + "host": true, + "default-features": false, + "features": [ + "tool" + ] + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "default-features": [ + "net", + "tiff" + ], + "features": { + "net": { + "description": "Enable network support", + "dependencies": [ + "curl" + ] + }, + "tiff": { + "description": "Enable TIFF support to read some grids", + "dependencies": [ + { + "name": "tiff", + "default-features": false, + "features": [ + "lzma", + "zip" + ] + } + ] + }, + "tools": { + "description": "Build tools" + } + } } diff --git a/ports/proj4/fix-filemanager-uwp.patch b/ports/proj4/fix-filemanager-uwp.patch deleted file mode 100644 index 14dba72c29c55b..00000000000000 --- a/ports/proj4/fix-filemanager-uwp.patch +++ /dev/null @@ -1,71 +0,0 @@ -diff --git a/src/filemanager.cpp b/src/filemanager.cpp -index e6a9ed9..d85290b 100644 ---- a/src/filemanager.cpp -+++ b/src/filemanager.cpp -@@ -48,6 +48,12 @@ - - #include "proj_config.h" - -+#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_APP) -+#define UWP 1 -+#else -+#define UWP 0 -+#endif -+ - #ifdef _WIN32 - #include - #include -@@ -692,10 +698,21 @@ std::unique_ptr FileWin32::open(PJ_CONTEXT *ctx, const char *filename, - ? FILE_ATTRIBUTE_READONLY - : FILE_ATTRIBUTE_NORMAL; - try { -+#if UWP -+ CREATEFILE2_EXTENDED_PARAMETERS extendedParameters; -+ ZeroMemory(&extendedParameters, sizeof(extendedParameters)); -+ extendedParameters.dwSize = sizeof(extendedParameters); -+ extendedParameters.dwFileAttributes = dwFlagsAndAttributes; -+ HANDLE hFile = CreateFile2( -+ UTF8ToWString(std::string(filename)).c_str(), dwDesiredAccess, -+ FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, -+ dwCreationDisposition, &extendedParameters); -+#else // UWP - HANDLE hFile = CreateFileW( - UTF8ToWString(std::string(filename)).c_str(), dwDesiredAccess, - FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, nullptr, - dwCreationDisposition, dwFlagsAndAttributes, nullptr); -+#endif // UWP - return std::unique_ptr(hFile != INVALID_HANDLE_VALUE - ? new FileWin32(filename, ctx, hFile) - : nullptr); -@@ -1211,6 +1228,9 @@ const char *proj_context_get_user_writable_directory(PJ_CONTEXT *ctx, - wPath.resize(wcslen(wPath.data())); - path = NS_PROJ::WStringToUTF8(wPath); - #else -+#if UWP -+ if (false) { -+#else // UWP - wchar_t *wPath; - if (SHGetKnownFolderPath(FOLDERID_LocalAppData, 0, nullptr, &wPath) == - S_OK) { -@@ -1218,6 +1238,7 @@ const char *proj_context_get_user_writable_directory(PJ_CONTEXT *ctx, - std::string str = NS_PROJ::WStringToUTF8(ws); - path = str; - CoTaskMemFree(wPath); -+#endif // UWP - #endif - } else { - const char *local_app_data = getenv("LOCALAPPDATA"); -@@ -1311,11 +1332,13 @@ static std::string pj_get_relative_share_proj_internal_no_check() { - #if defined(_WIN32) || defined(HAVE_LIBDL) - #ifdef _WIN32 - HMODULE hm = NULL; -+#if !UWP - if (GetModuleHandleEx(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS | - GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT, - (LPCSTR)&pj_get_relative_share_proj, &hm) == 0) { - return std::string(); - } -+#endif // UWP - - DWORD path_size = 1024; - diff --git a/ports/proj4/fix-proj4-targets-cmake.patch b/ports/proj4/fix-proj4-targets-cmake.patch deleted file mode 100644 index 73fa76e50948e8..00000000000000 --- a/ports/proj4/fix-proj4-targets-cmake.patch +++ /dev/null @@ -1,68 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 7d736d129..2be8f8be9 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -129,7 +129,22 @@ if(NOT EXE_SQLITE3) - message(SEND_ERROR "sqlite3 binary not found!") - endif() - --find_package(Sqlite3 REQUIRED) -+find_package(unofficial-sqlite3 CONFIG REQUIRED) -+if(unofficial-sqlite3_FOUND) -+ set(SQLITE3_FOUND true) -+ get_target_property(SQLITE3_INCLUDE_DIR unofficial::sqlite3::sqlite3 INTERFACE_INCLUDE_DIRECTORIES) -+ set(SQLITE3_LIBRARY unofficial::sqlite3::sqlite3) -+ # Extract version information from the header file -+ if(SQLITE3_INCLUDE_DIR) -+ file(STRINGS ${SQLITE3_INCLUDE_DIR}/sqlite3.h _ver_line -+ REGEX "^#define SQLITE_VERSION *\"[0-9]+\\.[0-9]+\\.[0-9]+\"" -+ LIMIT_COUNT 1) -+ string(REGEX MATCH "[0-9]+\\.[0-9]+\\.[0-9]+" -+ SQLITE3_VERSION "${_ver_line}") -+ unset(_ver_line) -+ endif() -+endif() -+ - if(NOT SQLITE3_FOUND) - message(SEND_ERROR "sqlite3 dependency not found!") - endif() -@@ -171,6 +186,7 @@ if(ENABLE_CURL) - find_package(CURL REQUIRED) - if(CURL_FOUND) - set(CURL_ENABLED TRUE) -+ set(CURL_LIBRARY CURL::libcurl) - else() - message(SEND_ERROR "curl dependency not found!") - endif() - -diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt -index c790fa4a8..6653a28b9 100644 ---- a/cmake/CMakeLists.txt -+++ b/cmake/CMakeLists.txt -@@ -95,6 +95,10 @@ endif () - - foreach (PROJECT_VARIANT_NAME ${PROJECT_NAME} ${PROJECT_LEGACY_NAME}) - string (TOLOWER "${PROJECT_VARIANT_NAME}" PROJECT_VARIANT_LOWER) -+ set(FIND_DEPENDENCY_SQLITE3 "find_dependency(unofficial-sqlite3 CONFIG)") -+ if(CURL_ENABLED) -+ set(FIND_DEPENDENCY_CURL "find_dependency(CURL CONFIG)") -+ endif() - set (CMAKECONFIGSUBDIR "${CMAKECONFIGDIR}/${PROJECT_VARIANT_LOWER}") - # proj-config.cmake for the install tree. It's installed in - # ${CMAKECONFIGSUBDIR} and @PROJECT_ROOT_DIR@ is the relative - -diff --git a/cmake/project-config.cmake.in b/cmake/project-config.cmake.in -index 23f997abd..8baef00f0 100644 ---- a/cmake/project-config.cmake.in -+++ b/cmake/project-config.cmake.in -@@ -7,6 +7,10 @@ - # @PROJECT_VARIANT_NAME@_LIBRARY_DIRS = /usr/local/lib - # @PROJECT_VARIANT_NAME@_BINARY_DIRS = /usr/local/bin - # @PROJECT_VARIANT_NAME@_VERSION = 4.9.1 (for example) -+include(CMakeFindDependencyMacro) -+ -+@FIND_DEPENDENCY_SQLITE3@ -+@FIND_DEPENDENCY_CURL@ - - # Tell the user project where to find our headers and libraries - get_filename_component (_DIR ${CMAKE_CURRENT_LIST_FILE} PATH) diff --git a/ports/proj4/fix-sqlite3-bin.patch b/ports/proj4/fix-sqlite3-bin.patch deleted file mode 100644 index 20fea7141b421f..00000000000000 --- a/ports/proj4/fix-sqlite3-bin.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 75c4696..2e8a957 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -110,7 +110,7 @@ include(policies) - ################################################################################ - # Check for sqlite3 - ################################################################################ --find_program(EXE_SQLITE3 sqlite3) -+# Use incoming parameter - if(NOT EXE_SQLITE3) - message(SEND_ERROR "sqlite3 binary not found!") - endif() diff --git a/ports/proj4/fix-win-output-name.patch b/ports/proj4/fix-win-output-name.patch deleted file mode 100644 index 09256144109853..00000000000000 --- a/ports/proj4/fix-win-output-name.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/cmake/ProjUtilities.cmake b/cmake/ProjUtilities.cmake -index 6f43edb5c..1ed89d597 100644 ---- a/cmake/ProjUtilities.cmake -+++ b/cmake/ProjUtilities.cmake -@@ -51,7 +51,7 @@ function(proj_target_output_name TARGET_NAME OUTPUT_NAME) - - # On Windows, ABI version is specified using binary file name suffix. - # On Unix, suffix is empty and SOVERSION is used instead. -- if(WIN32) -+ if(0) - string(LENGTH "${${PROJECT_NAME}_ABI_VERSION}" abilen) - if(abilen GREATER 0) - set(SUFFIX "_${${PROJECT_NAME}_ABI_VERSION}") diff --git a/ports/proj4/portfile.cmake b/ports/proj4/portfile.cmake deleted file mode 100644 index 7933cf711939af..00000000000000 --- a/ports/proj4/portfile.cmake +++ /dev/null @@ -1,109 +0,0 @@ -set(VERSION 7.2.1) # Variable used for pc file -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO OSGeo/PROJ - REF "${VERSION}" - SHA512 e6e77266dcd70c939c16667c916cccab8de161221d2ef600cfca43382f50da2dc8d790561556b4416adbb4ac6fba939004e0cc936c278e0e808dc3566e9a70d4 - HEAD_REF master - PATCHES - fix-filemanager-uwp.patch - fix-sqlite3-bin.patch - fix-win-output-name.patch - fix-proj4-targets-cmake.patch - tools-cmake.patch -) - -if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - set(VCPKG_BUILD_SHARED_LIBS ON) - set(EXTRA_FEATURES tiff ENABLE_TIFF tools BUILD_PROJSYNC tools ENABLE_CURL) - set(TOOL_NAMES cct cs2cs geod gie proj projinfo projsync) -else() - set(VCPKG_BUILD_SHARED_LIBS OFF) - set(TOOL_NAMES cct cs2cs geod gie proj projinfo) -endif() - -vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - FEATURES - tools BUILD_CCT - tools BUILD_CS2CS - tools BUILD_GEOD - tools BUILD_GIE - tools BUILD_PROJ - tools BUILD_PROJINFO - ${EXTRA_FEATURES} -) - -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - message(WARNING "ENABLE_TIFF ENABLE_CURL and BUILD_PROJSYNC will be off when building static") - set(FEATURE_OPTIONS ${FEATURE_OPTIONS} -DENABLE_TIFF=OFF -DENABLE_CURL=OFF -DBUILD_PROJSYNC=OFF) -endif() - -set(EXE_SQLITE3 "${CURRENT_HOST_INSTALLED_DIR}/tools/sqlite3${VCPKG_HOST_EXECUTABLE_SUFFIX}") - -vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} - OPTIONS ${FEATURE_OPTIONS} - -DPROJ_LIB_SUBDIR=lib - -DPROJ_INCLUDE_SUBDIR=include - -DPROJ_DATA_SUBDIR=share/${PORT} - -DBUILD_TESTING=OFF - -DEXE_SQLITE3=${EXE_SQLITE3} -) - -vcpkg_cmake_install() - -vcpkg_cmake_config_fixup(PACKAGE_NAME PROJ CONFIG_PATH lib/cmake/proj DO_NOT_DELETE_PARENT_CONFIG_PATH) -vcpkg_cmake_config_fixup(PACKAGE_NAME PROJ4 CONFIG_PATH lib/cmake/proj4) - -if ("tools" IN_LIST FEATURES) - vcpkg_copy_tools(TOOL_NAMES ${TOOL_NAMES} AUTO_CLEAN) -endif () - -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") - -vcpkg_copy_pdbs() - -set(PACKAGE "${PORT}") -set(requires_private "sqlite3") -if(ENABLE_CURL) - string(APPEND requires_private " libcurl") -endif() -if(ENABLE_TIFF) - string(APPEND requires_private " libtiff-4") -endif() -set(libs_private "") -if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) - string(APPEND libs_private " -lole32 -lshell32") -elseif(VCPKG_TARGET_IS_OSX) - string(APPEND libs_private " -lc++ -lm") -else() - string(APPEND libs_private " -lstdc++ -lm") -endif() -set(libdir [[${prefix}/lib]]) -set(exec_prefix [[${prefix}]]) -if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - set(includedir [[${prefix}/include]]) - set(datarootdir [[${prefix}/share]]) - set(datadir [[${prefix}/share]]) - set(outfile "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/proj.pc") - configure_file("${SOURCE_PATH}/proj.pc.in" "${outfile}" @ONLY) - vcpkg_replace_string("${outfile}" "Requires:" "Requires.private: ${requires_private}") - vcpkg_replace_string("${outfile}" " -lstdc++" "${libs_private}") -endif() -if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - set(includedir [[${prefix}/../include]]) - set(datarootdir [[${prefix}/../share]]) - set(datadir [[${prefix}/../share]]) - set(outfile "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/proj.pc") - configure_file("${SOURCE_PATH}/proj.pc.in" "${outfile}" @ONLY) - vcpkg_replace_string("${outfile}" "Requires:" "Requires.private: ${requires_private}") - vcpkg_replace_string("${outfile}" " -lstdc++" "${libs_private}") - if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) - vcpkg_replace_string("${outfile}" " -lproj" " -lproj_d") - endif() -endif() -vcpkg_fixup_pkgconfig() - -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) diff --git a/ports/proj4/tools-cmake.patch b/ports/proj4/tools-cmake.patch deleted file mode 100644 index 514a15ad193805..00000000000000 --- a/ports/proj4/tools-cmake.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 534bc311b..f9fb0f1bb 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -83,10 +83,3 @@ if(BUILD_PROJSYNC) - endif() - - --if(MSVC OR CMAKE_CONFIGURATION_TYPES) -- if(BIN_TARGETS) -- # Add _d suffix for your debug versions of the tools -- set_target_properties(${BIN_TARGETS} PROPERTIES -- DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) -- endif() --endif() diff --git a/ports/proj4/usage b/ports/proj4/usage deleted file mode 100644 index ebf9f6c8d5aae1..00000000000000 --- a/ports/proj4/usage +++ /dev/null @@ -1,4 +0,0 @@ -The package proj4 provides CMake targets: - - find_package(PROJ CONFIG REQUIRED) - target_link_libraries(main PRIVATE PROJ::proj) diff --git a/ports/proj4/vcpkg.json b/ports/proj4/vcpkg.json deleted file mode 100644 index 9aed018aa871bd..00000000000000 --- a/ports/proj4/vcpkg.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "name": "proj4", - "version-semver": "7.2.1", - "port-version": 7, - "description": "PROJ.4 library for cartographic projections", - "homepage": "https://github.com/OSGeo/PROJ", - "dependencies": [ - { - "name": "sqlite3", - "default-features": false - }, - { - "name": "sqlite3", - "host": true, - "features": [ - "tool" - ] - }, - { - "name": "vcpkg-cmake", - "host": true - }, - { - "name": "vcpkg-cmake-config", - "host": true - } - ], - "default-features": [ - "tiff" - ], - "features": { - "tiff": { - "description": "Enable TIFF support to read some grids", - "dependencies": [ - "tiff" - ] - }, - "tools": { - "description": "generate tools", - "dependencies": [ - "curl" - ] - } - } -} diff --git a/ports/projectm-eval/portfile.cmake b/ports/projectm-eval/portfile.cmake new file mode 100644 index 00000000000000..7370e77e94112b --- /dev/null +++ b/ports/projectm-eval/portfile.cmake @@ -0,0 +1,35 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO projectM-visualizer/projectm-eval + REF "v${VERSION}" + SHA512 "ff5abf4c5deb5a665ed116a1a7a56cfaa0acedc6c211b16ef0c118bc1316f256667681c999c31880dd3aa6aec5ab92ce0747c42ba1ab98ac5046b6ef015de935" + HEAD_REF master +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_NS_EEL_SHIM=ON + -DCMAKE_DISABLE_FIND_PACKAGE_BISON=ON + -DCMAKE_DISABLE_FIND_PACKAGE_FLEX=ON +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup( + PACKAGE_NAME "projectm-eval" + CONFIG_PATH "lib/cmake/projectM-Eval" + DO_NOT_DELETE_PARENT_CONFIG_PATH +) + +vcpkg_cmake_config_fixup( + PACKAGE_NAME "projectM-EvalMilkdrop" + CONFIG_PATH "lib/cmake/projectM-EvalMilkdrop" +) + +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +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/projectm-eval/usage b/ports/projectm-eval/usage new file mode 100644 index 00000000000000..f1fcdb84668f5d --- /dev/null +++ b/ports/projectm-eval/usage @@ -0,0 +1,9 @@ +projectm-eval provides CMake targets: + + find_package(projectM-Eval REQUIRED) + target_link_libraries(main PRIVATE projectM::Eval) + +To use the ns-eel2 shim with the Milkdrop codebase: + + find_package(projectM-Eval REQUIRED COMPONENTS Milkdrop) + target_link_libraries(main PRIVATE projectM::ns-eel2) diff --git a/ports/projectm-eval/vcpkg.json b/ports/projectm-eval/vcpkg.json new file mode 100644 index 00000000000000..4647a47a0b6994 --- /dev/null +++ b/ports/projectm-eval/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "projectm-eval", + "version": "1.0.0", + "port-version": 1, + "description": "The projectM Expression Evaluation Library. A portable drop-in replacement of Milkdrop's \"ns-eel2\" expression parser for use in Milkdrop, projectM and other applications.", + "homepage": "https://github.com/projectM-visualizer/projectm-eval", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/prometheus-cpp/portfile.cmake b/ports/prometheus-cpp/portfile.cmake index ce2c018fff765a..337e2902f40f77 100644 --- a/ports/prometheus-cpp/portfile.cmake +++ b/ports/prometheus-cpp/portfile.cmake @@ -3,40 +3,35 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO jupp0r/prometheus-cpp - REF 342de5e93bd0cbafde77ec801f9dd35a03bceb3f # v0.13.0 - SHA512 2edd093dff57109f4e7050f7d870010e696642f0445a8d50f689a9a7e8f4704e74659846c1afcdfcd700ceeb64b48ea83159e87ca00ca58de4866dd39975590b + REF "v${VERSION}" + SHA512 8c15492054189b736e502258c30aaaae0fac3c9ea61907260e6e3cd29fe4077451f9e49fd580508aa6e21691209545d9cf87011be5b046fa097a53a133167553 HEAD_REF master ) -macro(feature FEATURENAME OPTIONNAME) - if("${FEATURENAME}" IN_LIST FEATURES) - list(APPEND FEATURE_OPTIONS -D${OPTIONNAME}=TRUE) - else() - list(APPEND FEATURE_OPTIONS -D${OPTIONNAME}=FALSE) - endif() -endmacro() - -feature(compression ENABLE_COMPRESSION) -feature(pull ENABLE_PULL) -feature(push ENABLE_PUSH) -feature(tests ENABLE_TESTING) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + compression ENABLE_COMPRESSION + pull ENABLE_PULL + push ENABLE_PUSH + tests ENABLE_TESTING +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DUSE_THIRDPARTY_LIBRARIES=OFF # use vcpkg packages -DGENERATE_PKGCONFIG=OFF ${FEATURE_OPTIONS} ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/prometheus-cpp) +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/prometheus-cpp") -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") # Handle copyright -configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) +configure_file("${SOURCE_PATH}/LICENSE" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) diff --git a/ports/prometheus-cpp/vcpkg.json b/ports/prometheus-cpp/vcpkg.json index 371b1e7380deb0..a4a8fffa17b055 100644 --- a/ports/prometheus-cpp/vcpkg.json +++ b/ports/prometheus-cpp/vcpkg.json @@ -1,7 +1,18 @@ { "name": "prometheus-cpp", - "version-semver": "0.13.0", + "version-semver": "1.2.4", "description": "Prometheus Client Library for Modern C++", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], "default-features": [ "compression", "pull" diff --git a/ports/protobuf-c/fix-crt-linkage.patch b/ports/protobuf-c/fix-crt-linkage.patch index 974c6e6200ab9f..818e596e2958f3 100644 --- a/ports/protobuf-c/fix-crt-linkage.patch +++ b/ports/protobuf-c/fix-crt-linkage.patch @@ -1,8 +1,21 @@ diff --git a/build-cmake/CMakeLists.txt b/build-cmake/CMakeLists.txt +index 98b51eb..0243b80 100644 --- a/build-cmake/CMakeLists.txt +++ b/build-cmake/CMakeLists.txt -@@ -70,7 +70,7 @@ if (BUILD_PROTO3) - endif() +@@ -66,11 +66,6 @@ if(MSVC) + SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /wd4267 /wd4244") + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4267 /wd4244") + +- # Allow matching protobuf runtime dependency +- if(NOT BUILD_SHARED_LIBS) +- set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") +- endif(NOT BUILD_SHARED_LIBS) +- + ENDIF() + + get_filename_component(MAIN_DIR ${CMAKE_CURRENT_SOURCE_DIR} PATH) +@@ -103,7 +98,7 @@ INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}) # for generated files + ENDIF() -if (MSVC AND NOT BUILD_SHARED_LIBS) @@ -10,3 +23,12 @@ diff --git a/build-cmake/CMakeLists.txt b/build-cmake/CMakeLists.txt # In case we are building static libraries, link also the runtime library statically # so that MSVCR*.DLL is not required at runtime. # https://msdn.microsoft.com/en-us/library/2kzt1wy3.aspx +@@ -118,7 +113,7 @@ if (MSVC AND NOT BUILD_SHARED_LIBS) + string(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}") + endif(${flag_var} MATCHES "/MD") + endforeach(flag_var) +-endif (MSVC AND NOT BUILD_SHARED_LIBS) ++endif () + + if(WIN32) + # Modify the environment to hint protoc where the plugin is diff --git a/ports/protobuf-c/fix-dependency-protobuf.patch b/ports/protobuf-c/fix-dependency-protobuf.patch new file mode 100644 index 00000000000000..321eaa3eda5791 --- /dev/null +++ b/ports/protobuf-c/fix-dependency-protobuf.patch @@ -0,0 +1,13 @@ +diff --git a/build-cmake/CMakeLists.txt b/build-cmake/CMakeLists.txt +index ba0b730..a5161cf 100644 +--- a/build-cmake/CMakeLists.txt ++++ b/build-cmake/CMakeLists.txt +@@ -15,7 +15,7 @@ if (MSVC AND NOT BUILD_SHARED_LIBS) + SET(Protobuf_USE_STATIC_LIBS ON) + endif (MSVC AND NOT BUILD_SHARED_LIBS) + +-FIND_PACKAGE(Protobuf REQUIRED) ++find_package(protobuf CONFIG REQUIRED) + file(REAL_PATH "${PROTOBUF_INCLUDE_DIR}" PROTOBUF_INCLUDE_DIR) + INCLUDE_DIRECTORIES(${PROTOBUF_INCLUDE_DIR}) + diff --git a/ports/protobuf-c/portfile.cmake b/ports/protobuf-c/portfile.cmake index 4bcce7017d18cc..19e2f0aacb4331 100644 --- a/ports/protobuf-c/portfile.cmake +++ b/ports/protobuf-c/portfile.cmake @@ -1,11 +1,12 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO protobuf-c/protobuf-c - REF v1.4.0 - SHA512 cba4c6116c0f2ebb034236e8455d493bfaa2517733befcd87b6f8d6d3df0c0149b17fcbf59cd1763fa2318119c664d0dae3d2d3a46ebfe2a0fec3ef4719b033b + REF v${VERSION} + SHA512 4c540ca58b65e59aaf7149124d915f106e91fc79d60c6ef80b62faf288843250375e13f8773fd24f2ff27485dc2d2e597f0a95e39c186a30069eb470abd28ae7 HEAD_REF master PATCHES fix-crt-linkage.patch + fix-dependency-protobuf.patch ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS @@ -31,12 +32,17 @@ if("tools" IN_LIST FEATURES) ) endif() +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/protobuf-c") + # Include files should not be duplicated into the /debug/include directory. file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") # Remove duplicate PDB files (vcpkg_copy_pdbs already copied them to "bin") file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/protobuf-c.pdb") file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/lib/protobuf-c.pdb") +if(NOT VCPKG_TARGET_IS_WINDOWS) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") +endif() # 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/protobuf-c/vcpkg.json b/ports/protobuf-c/vcpkg.json index 73fbd998299e2e..ee97eb7d345a31 100644 --- a/ports/protobuf-c/vcpkg.json +++ b/ports/protobuf-c/vcpkg.json @@ -1,6 +1,6 @@ { "name": "protobuf-c", - "version-semver": "1.4.0", + "version-semver": "1.5.0", "description": "This is protobuf-c, a C implementation of the Google Protocol Buffers data serialization format.", "homepage": "https://github.com/protobuf-c/protobuf-c", "dependencies": [ @@ -8,6 +8,10 @@ { "name": "vcpkg-cmake", "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true } ], "features": { @@ -23,7 +27,8 @@ ] }, "tools": { - "description": "Build tools (protoc-gen-c)." + "description": "Build tools (protoc-gen-c).", + "supports": "!uwp" } } } diff --git a/ports/protobuf/fix-arm64-msvc.patch b/ports/protobuf/fix-arm64-msvc.patch new file mode 100644 index 00000000000000..2cff2c3a9675d1 --- /dev/null +++ b/ports/protobuf/fix-arm64-msvc.patch @@ -0,0 +1,22 @@ +diff --git a/src/google/protobuf/parse_context.h b/src/google/protobuf/parse_context.h +index 9292d517f..a1fa35066 100644 +--- a/src/google/protobuf/parse_context.h ++++ b/src/google/protobuf/parse_context.h +@@ -619,7 +619,7 @@ inline const char* VarintParseSlow(const char* p, uint32_t res, uint64_t* out) { + return tmp.first; + } + +-#ifdef __aarch64__ ++#if defined(__aarch64__) && !defined(_MSC_VER) + // Generally, speaking, the ARM-optimized Varint decode algorithm is to extract + // and concatenate all potentially valid data bits, compute the actual length + // of the Varint, and mask off the data bits which are not actually part of the +@@ -850,7 +850,7 @@ static const char* VarintParseSlowArm(const char* p, uint64_t* out, + // The caller must ensure that p points to at least 10 valid bytes. + template + PROTOBUF_NODISCARD const char* VarintParse(const char* p, T* out) { +-#if defined(__aarch64__) && defined(ABSL_IS_LITTLE_ENDIAN) ++#if defined(__aarch64__) && defined(ABSL_IS_LITTLE_ENDIAN) && !defined(_MSC_VER) + // This optimization is not supported in big endian mode + uint64_t first8; + std::memcpy(&first8, p, sizeof(first8)); diff --git a/ports/protobuf/fix-default-proto-file-path.patch b/ports/protobuf/fix-default-proto-file-path.patch index a5af918b32786c..c30abeb9ba88b4 100644 --- a/ports/protobuf/fix-default-proto-file-path.patch +++ b/ports/protobuf/fix-default-proto-file-path.patch @@ -1,11 +1,12 @@ diff --git a/src/google/protobuf/compiler/command_line_interface.cc b/src/google/protobuf/compiler/command_line_interface.cc -index f192ae6..22900ed 100644 +index f9e9666..d453a4c 100644 --- a/src/google/protobuf/compiler/command_line_interface.cc +++ b/src/google/protobuf/compiler/command_line_interface.cc -@@ -260,11 +260,15 @@ void AddDefaultProtoPaths( +@@ -280,12 +280,15 @@ void AddDefaultProtoPaths( + paths->emplace_back("", std::move(include_path)); return; } - // Check if the upper level directory has an "include" subdirectory. +- // 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++) + { @@ -15,6 +16,6 @@ index f192ae6..22900ed 100644 } path = path.substr(0, pos); + } - if (IsInstalledProtoPath(path + "/include")) { - paths->push_back( - std::pair("", path + "/include")); + include_path = absl::StrCat(path, "/include"); + if (IsInstalledProtoPath(include_path)) { + paths->emplace_back("", std::move(include_path)); diff --git a/ports/protobuf/fix-static-build.patch b/ports/protobuf/fix-static-build.patch index fec980a9319860..47c44c32f223b9 100644 --- a/ports/protobuf/fix-static-build.patch +++ b/ports/protobuf/fix-static-build.patch @@ -1,13 +1,21 @@ -diff --git a/cmake/install.cmake b/cmake/install.cmake -index ef5bb13..e2d4acb 100644 ---- a/cmake/install.cmake -+++ b/cmake/install.cmake -@@ -33,7 +33,7 @@ if (protobuf_BUILD_PROTOC_BINARIES) - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - 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 52914a8ea..e7c22ddb6 100644 +--- a/cmake/install.cmake ++++ b/cmake/install.cmake +@@ -49,7 +49,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) +@@ -68,7 +68,6 @@ set(protobuf_HEADERS + ${cpp_features_proto_proto_srcs} + ${descriptor_proto_proto_srcs} + ${plugin_proto_proto_srcs} +- ${java_features_proto_proto_srcs} + ) + foreach(_header ${protobuf_HEADERS}) + string(FIND ${_header} "${protobuf_SOURCE_DIR}/src" _find_src) diff --git a/ports/protobuf/fix-utf8-range.patch b/ports/protobuf/fix-utf8-range.patch new file mode 100644 index 00000000000000..90cd0468d1fcc2 --- /dev/null +++ b/ports/protobuf/fix-utf8-range.patch @@ -0,0 +1,48 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 4137ce2e9..f1289e08a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -294,6 +294,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 f343458cf..f4b1e0faa 100644 +--- a/cmake/libprotobuf-lite.cmake ++++ b/cmake/libprotobuf-lite.cmake +@@ -42,4 +42,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 422754a1a..fa9956685 100644 +--- a/cmake/libprotobuf.cmake ++++ b/cmake/libprotobuf.cmake +@@ -45,4 +45,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/ports/protobuf/fix-uwp-build.patch b/ports/protobuf/fix-uwp-build.patch deleted file mode 100644 index ca806ebd1540cc..00000000000000 --- a/ports/protobuf/fix-uwp-build.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/google/protobuf/descriptor.cc b/src/google/protobuf/descriptor.cc -index b6c31fd..8b77c3d 100644 ---- a/src/google/protobuf/descriptor.cc -+++ b/src/google/protobuf/descriptor.cc -@@ -794,7 +794,7 @@ class TableArena { - size = RoundUp(size); - - Block* to_relocate = nullptr; -- Block* to_use; -+ Block* to_use = nullptr; - - for (size_t i = 0; i < kSmallSizes.size(); ++i) { - if (small_size_blocks_[i] != nullptr && size <= kSmallSizes[i]) { diff --git a/ports/protobuf/portfile.cmake b/ports/protobuf/portfile.cmake index 8395eeae5dd3c4..9c2d9ee561d8a9 100644 --- a/ports/protobuf/portfile.cmake +++ b/ports/protobuf/portfile.cmake @@ -1,13 +1,14 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO protocolbuffers/protobuf - REF v3.18.0 - SHA512 2c8ff451b54120e4670f7ea8c92c0c7d70f4bb781979f74f59ddcb7c9cc74fe3e8910fc579d2686fb0e1aafa35fb9548ccab667accf2358c71cfd17ba38d7826 + REF "v${VERSION}" + SHA512 ce3eeb6d12c42157787bf97d265f34ac8e8af31070a2717b4c783e9158b6d7fbb5f239585fc38128a658315842cf7b6802cb9a80f4f391505bf806952e009da5 HEAD_REF master PATCHES fix-static-build.patch fix-default-proto-file-path.patch - fix-uwp-build.patch + fix-utf8-range.patch + fix-arm64-msvc.patch ) string(COMPARE EQUAL "${TARGET_TRIPLET}" "${HOST_TRIPLET}" protobuf_BUILD_PROTOC_BINARIES) @@ -27,13 +28,25 @@ endif() if (VCPKG_DOWNLOAD_MODE) # download PKGCONFIG in download mode which is used in `vcpkg_fixup_pkgconfig()` at the end of this script. - # download it here because `vcpkg_configure_cmake()` halts execution in download mode when running configure process. + # download it here because `vcpkg_cmake_configure()` halts execution in download mode when running configure process. vcpkg_find_acquire_program(PKGCONFIG) endif() -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH}/cmake - PREFER_NINJA +# 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" +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -Dprotobuf_BUILD_SHARED_LIBS=${protobuf_BUILD_SHARED_LIBS} -Dprotobuf_MSVC_STATIC_RUNTIME=${protobuf_MSVC_STATIC_RUNTIME} @@ -41,87 +54,82 @@ vcpkg_configure_cmake( -DCMAKE_INSTALL_CMAKEDIR:STRING=share/protobuf -Dprotobuf_BUILD_PROTOC_BINARIES=${protobuf_BUILD_PROTOC_BINARIES} -Dprotobuf_BUILD_LIBPROTOC=${protobuf_BUILD_LIBPROTOC} + -Dprotobuf_ABSL_PROVIDER=package ${FEATURE_OPTIONS} ) -vcpkg_install_cmake() - -# 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) +vcpkg_cmake_install() 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-3.18.0.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) + file(COPY "${CURRENT_HOST_INSTALLED_DIR}/tools/${PORT}" DESTINATION "${CURRENT_PACKAGES_DIR}/tools") endif() -vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/share/${PORT}/protobuf-config.cmake +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 + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/${PORT}/protobuf-module.cmake" "_protobuf_find_libraries(Protobuf_PROTOC protoc)" "" ) 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) - configure_file(${CMAKE_CURRENT_LIST_DIR}/protobuf-targets-vcpkg-protoc.cmake ${CURRENT_PACKAGES_DIR}/share/${PORT}/protobuf-targets-vcpkg-protoc.cmake COPYONLY) + configure_file("${CMAKE_CURRENT_LIST_DIR}/protobuf-targets-vcpkg-protoc.cmake" "${CURRENT_PACKAGES_DIR}/share/${PORT}/protobuf-targets-vcpkg-protoc.cmake" COPYONLY) 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) +configure_file("${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" "${CURRENT_PACKAGES_DIR}/share/${PORT}/vcpkg-cmake-wrapper.cmake" @ONLY) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share" "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/protobuf/vcpkg-cmake-wrapper.cmake b/ports/protobuf/vcpkg-cmake-wrapper.cmake index 7269aedcca508f..17d787370b03bb 100644 --- a/ports/protobuf/vcpkg-cmake-wrapper.cmake +++ b/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_program(Protobuf_PROTOC_EXECUTABLE NAMES protoc PATHS "${CMAKE_CURRENT_LIST_DIR}/../../tools/protobuf" NO_DEFAULT_PATH) - -_find_package(${ARGS}) +_find_package(${ARGS} CONFIG) diff --git a/ports/protobuf/vcpkg.json b/ports/protobuf/vcpkg.json index c75206275c098f..2b4bfcf4a29ed3 100644 --- a/ports/protobuf/vcpkg.json +++ b/ports/protobuf/vcpkg.json @@ -1,12 +1,23 @@ { "name": "protobuf", - "version-semver": "3.18.0", - "description": "Protocol Buffers - Google's data interchange format", + "version": "5.26.1", + "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 + }, + { + "name": "vcpkg-cmake-config", + "host": true } ], "features": { diff --git a/ports/protopuf/portfile.cmake b/ports/protopuf/portfile.cmake index 9b1e9c948feb5e..8cb8f3952210b6 100644 --- a/ports/protopuf/portfile.cmake +++ b/ports/protopuf/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO PragmaTwice/protopuf - REF v2.1.0 - SHA512 328fe2a861009c8eaa38299bf1ba31d3a47d73220018d3539b8457bb1d5d512c05e9652769a0261f0ae18be4e1e4e839e5471dfabdf0e6d130361e719ff6aadc + REF v2.2.1 + SHA512 f7cf0df90178f2582ba50f6fb8518b4a005dbad7d0fb1fea8f0b2d80a3df18d251b0c795583a121aab246acf245a46ecf374597447b7b61777e48c5bfafed5f2 HEAD_REF master ) diff --git a/ports/protopuf/vcpkg.json b/ports/protopuf/vcpkg.json index c0063acddd055d..5c100e1b56a35a 100644 --- a/ports/protopuf/vcpkg.json +++ b/ports/protopuf/vcpkg.json @@ -1,9 +1,9 @@ { "name": "protopuf", - "version-semver": "2.1.0", - "port-version": 1, + "version": "2.2.1", "description": "A little, highly templated, and protobuf-compatible serialization/deserialization library written in C++20", "homepage": "https://github.com/PragmaTwice/protopuf", + "license": "Apache-2.0", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/protozero/fix-no-tests.patch b/ports/protozero/fix-no-tests.patch new file mode 100644 index 00000000000000..6cedbd96529379 --- /dev/null +++ b/ports/protozero/fix-no-tests.patch @@ -0,0 +1,17 @@ +From: Fabrice Fontaine +Date: Wed, 16 Feb 2022 00:11:38 +0100 +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b975d490..df2ca15f 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -52,7 +52,9 @@ endif() + # + #----------------------------------------------------------------------------- + +-find_package(Protobuf) ++if(BUILD_TESTING) ++ find_package(Protobuf) ++endif() + + + #----------------------------------------------------------------------------- diff --git a/ports/protozero/portfile.cmake b/ports/protozero/portfile.cmake index fda45303cc87cb..84e704c3c31831 100644 --- a/ports/protozero/portfile.cmake +++ b/ports/protozero/portfile.cmake @@ -2,20 +2,21 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO mapbox/protozero - SHA512 d09a34865c535264c52f9c605ccb6f453c357f5e3a7b0dc72b097de288eabc6985a5b81ddbe79c47d0af2d8f74e33bd380fefce47acb15d8d51d5c151d71786b - REF v1.7.0 + SHA512 90bf1f487efa0ad9da2f3b887b7a6dbd849fa3687dd2126c324f902a8584722f4f7d4a2ea86f6a0e75999f7be829f6ae26cad9df1cae55d0b29a9ec24a4dbfd2 + REF v1.7.1 HEAD_REF master + PATCHES + fix-no-tests.patch # from https://github.com/mapbox/protozero/pull/110 ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_TESTING=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_fixup_pkgconfig() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug") -file(INSTALL ${SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/protozero/vcpkg.json b/ports/protozero/vcpkg.json index aae619a1e56c20..320b34ed8e6860 100644 --- a/ports/protozero/vcpkg.json +++ b/ports/protozero/vcpkg.json @@ -1,9 +1,19 @@ { "name": "protozero", - "version-semver": "1.7.0", + "version-semver": "1.7.1", "description": "Minimalist protocol buffer decoder and encoder in C++", "homepage": "https://github.com/mapbox/protozero", + "license": "BSD-2-Clause", + "supports": "!uwp", "dependencies": [ - "protobuf" + "protobuf", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/proxsuite/portfile.cmake b/ports/proxsuite/portfile.cmake new file mode 100644 index 00000000000000..72ac320ef768f8 --- /dev/null +++ b/ports/proxsuite/portfile.cmake @@ -0,0 +1,37 @@ +set(VCPKG_BUILD_TYPE release) # header-only + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Simple-Robotics/proxsuite + REF "v${VERSION}" + SHA512 471f6ce375904e8ae6d4d78586461e01ea74d24329270b19d6c0c9c20554cba0e84bfdbd28dca4353c55ab10235159a02f3e8c4ffd584b82f6f681b688c524e8 + HEAD_REF main +) + +vcpkg_from_github( + OUT_SOURCE_PATH MODULES_SOURCE_PATH + REPO jrl-umi3218/jrl-cmakemodules + REF 570915059b50f7dead7dae4c7f782ad3612fdc6e + SHA512 829a075189ca2773c612027dce78c27a5c057087803e728524194d56d7e998e93a2ccee9521719eaca7caedf2c90a8fa8f311dafd072a42a07ad4425ac391f6e + HEAD_REF master +) +file(REMOVE_RECURSE "${SOURCE_PATH}/cmake-module") +file(RENAME "${MODULES_SOURCE_PATH}" "${SOURCE_PATH}/cmake-module") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_TESTING=OFF + -DBUILD_WITH_VECTORIZATION_SUPPORT=OFF +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${PORT}") +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/proxsuite/vcpkg.json b/ports/proxsuite/vcpkg.json new file mode 100644 index 00000000000000..e0055cfc124b86 --- /dev/null +++ b/ports/proxsuite/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "proxsuite", + "version": "0.6.4", + "description": "The Advanced Proximal Optimization Toolbox", + "homepage": "https://github.com/Simple-Robotics/proxsuite", + "license": "BSD-2-Clause", + "dependencies": [ + "eigen3", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/proxy/portfile.cmake b/ports/proxy/portfile.cmake new file mode 100644 index 00000000000000..336bd359f78054 --- /dev/null +++ b/ports/proxy/portfile.cmake @@ -0,0 +1,19 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO microsoft/proxy + REF ${VERSION} + SHA512 7ac1092ba6d54ef59839627b9d7c1e583d85731b54b748c4fdbee615e4888cd6b27e5fba2780bc4060c1991d0f8bd0bc412adedc88f5f1cbeb05dd85767da0de + HEAD_REF main +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_TESTING=OFF +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/proxy/vcpkg.json b/ports/proxy/vcpkg.json new file mode 100644 index 00000000000000..64f1b2d69020a8 --- /dev/null +++ b/ports/proxy/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "proxy", + "version": "3.0.0", + "description": "A single-header C++20 library that facilitates runtime polymorphism.", + "homepage": "https://github.com/microsoft/proxy", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/proxygen/fix-dependency.patch b/ports/proxygen/fix-dependency.patch new file mode 100644 index 00000000000000..382cd95554c730 --- /dev/null +++ b/ports/proxygen/fix-dependency.patch @@ -0,0 +1,75 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 112b36b..30e466a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -69,7 +69,10 @@ endif() + find_package(fmt REQUIRED) + find_package(folly REQUIRED) + find_package(wangle REQUIRED) +-find_package(mvfst REQUIRED) ++find_package(fmt CONFIG REQUIRED) ++find_package(folly CONFIG REQUIRED) ++find_package(wangle CONFIG REQUIRED) ++find_package(mvfst CONFIG REQUIRED) + find_package(zstd CONFIG REQUIRED) + find_package(ZLIB REQUIRED) + find_package(OpenSSL REQUIRED) +@@ -124,27 +127,8 @@ SET(GFLAG_DEPENDENCIES "") + SET(PROXYGEN_EXTRA_LINK_LIBRARIES "") + SET(PROXYGEN_EXTRA_INCLUDE_DIRECTORIES "") + +-find_package(gflags CONFIG QUIET) +-if (gflags_FOUND) +- message("module path: ${CMAKE_MODULE_PATH}") +- message(STATUS "Found gflags from package config") +- if (TARGET gflags-shared) +- list(APPEND GFLAG_DEPENDENCIES gflags-shared) +- elseif (TARGET gflags) +- list(APPEND GFLAG_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 PROXYGEN_EXTRA_LINK_LIBRARIES ${LIBGFLAGS_LIBRARY}) +- list(APPEND PROXYGEN_EXTRA_INCLUDE_DIRECTORIES ${LIBGFLAGS_INCLUDE_DIR}) +- list(APPEND CMAKE_REQUIRED_LIBRARIES ${LIBGFLAGS_LIBRARY}) +- list(APPEND CMAKE_REQUIRED_INCLUDES ${LIBGFLAGS_INCLUDE_DIR}) +-endif() ++find_package(gflags CONFIG REQUIRED) ++list(APPEND CMAKE_REQUIRED_LIBRARIES gflags::gflags) + + include(ProxygenTest) + +diff --git a/cmake/proxygen-config.cmake.in b/cmake/proxygen-config.cmake.in +index c79875d..0e002b9 100644 +--- a/cmake/proxygen-config.cmake.in ++++ b/cmake/proxygen-config.cmake.in +@@ -17,17 +17,18 @@ + @PACKAGE_INIT@ + + include(CMakeFindDependencyMacro) +-find_dependency(fmt) +-find_dependency(folly) +-find_dependency(wangle) +-find_dependency(mvfst) +-find_dependency(Fizz) ++find_dependency(fmt CONFIG) ++find_dependency(folly CONFIG) ++find_dependency(wangle CONFIG) ++find_dependency(mvfst CONFIG) ++find_dependency(fizz CONFIG) ++find_dependency(gflags CONFIG) + # For now, anything that depends on Proxygen has to copy its FindZstd.cmake + # and issue a `find_package(Zstd)`. Uncommenting this won't work because + # this Zstd module exposes a library called `zstd`. The right fix is + # discussed on D24686032. + # +-# find_dependency(Zstd) ++find_dependency(zstd CONFIG) + find_dependency(ZLIB) + find_dependency(OpenSSL) + find_dependency(Threads) diff --git a/ports/proxygen/fix-duplicated-target.patch b/ports/proxygen/fix-duplicated-target.patch deleted file mode 100644 index 89d32e53db647d..00000000000000 --- a/ports/proxygen/fix-duplicated-target.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/build/fbcode_builder/CMake/FindSodium.cmake b/build/fbcode_builder/CMake/FindSodium.cmake -index c664ccbe3..3c3f1245c 100644 ---- a/build/fbcode_builder/CMake/FindSodium.cmake -+++ b/build/fbcode_builder/CMake/FindSodium.cmake -@@ -254,7 +254,10 @@ if(sodium_USE_STATIC_LIBS) - else() - set(_LIB_TYPE SHARED) - endif() --add_library(sodium ${_LIB_TYPE} IMPORTED) -+ -+if(NOT TARGET sodium) -+ add_library(sodium ${_LIB_TYPE} IMPORTED) -+endif() - - set_target_properties(sodium PROPERTIES - INTERFACE_INCLUDE_DIRECTORIES "${sodium_INCLUDE_DIR}" diff --git a/ports/proxygen/fix-zstd-zlib-dependency.patch b/ports/proxygen/fix-zstd-zlib-dependency.patch new file mode 100644 index 00000000000000..e117f1e89895d8 --- /dev/null +++ b/ports/proxygen/fix-zstd-zlib-dependency.patch @@ -0,0 +1,30 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 9bf6ec1..112b36b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -70,7 +70,7 @@ find_package(fmt REQUIRED) + find_package(folly REQUIRED) + find_package(wangle REQUIRED) + find_package(mvfst REQUIRED) +-find_package(Zstd REQUIRED) ++find_package(zstd CONFIG REQUIRED) + find_package(ZLIB REQUIRED) + find_package(OpenSSL REQUIRED) + find_package(Threads) +diff --git a/proxygen/lib/CMakeLists.txt b/proxygen/lib/CMakeLists.txt +index ac5005f..fa403ab 100644 +--- a/proxygen/lib/CMakeLists.txt ++++ b/proxygen/lib/CMakeLists.txt +@@ -236,10 +236,10 @@ target_link_libraries( + Folly::folly + fizz::fizz + wangle::wangle +- zstd ++ $,zstd::libzstd_shared,zstd::libzstd_static> + Boost::boost + Boost::iostreams +- -lz ++ ZLIB::ZLIB + ${HTTP3_DEPEND_LIBS} + ) + diff --git a/ports/proxygen/portfile.cmake b/ports/proxygen/portfile.cmake index d2789572d9d96d..a0de5baeb14f4f 100644 --- a/ports/proxygen/portfile.cmake +++ b/ports/proxygen/portfile.cmake @@ -1,43 +1,36 @@ -vcpkg_fail_port_install(ON_TARGET "Windows") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO facebook/proxygen - REF v2021.06.14.00 - SHA512 f5ab54514575f86897438f40a481796c34031101775b61a01581338c91686159995e4f822909e42eed4c006b2c6a6351887d469cc9df1df80711dba10cc15a19 - HEAD_REF master + REF "v${VERSION}" + SHA512 4698f97dfa7190ffa3a3d4a5ab8b6708932b97594292569e30ee5d65073086b9874763336ebebb0a284607eb1859c858351104ac03895f3d5f2e3541c786229b + HEAD_REF main PATCHES remove-register.patch - fix-duplicated-target.patch # fixed in master + fix-zstd-zlib-dependency.patch + fix-dependency.patch ) vcpkg_find_acquire_program(PYTHON3) -get_filename_component(PYTHON3_PATH ${PYTHON3} DIRECTORY) +get_filename_component(PYTHON3_PATH "${PYTHON3}" DIRECTORY) vcpkg_add_to_path(${PYTHON3_PATH}) -if (VCPKG_TARGET_IS_WINDOWS) - vcpkg_find_acquire_program(GPERF) - get_filename_component(GPERF_PATH ${GPERF} DIRECTORY) - vcpkg_add_to_path(${GPERF_PATH}) -else() - # gperf only have windows package in vcpkg now. - if (NOT EXISTS /usr/bin/gperf) - message(FATAL_ERROR "proxygen requires gperf, these can be installed on Ubuntu systems via apt-get install gperf.") - endif() -endif() +vcpkg_add_to_path(PREPEND "${CURRENT_HOST_INSTALLED_DIR}/tools/gperf") -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_copy_tools(TOOL_NAMES proxygen_curl proxygen_echo proxygen_proxy proxygen_push proxygen_static AUTO_CLEAN) +vcpkg_copy_tools(TOOL_NAMES hq proxygen_curl proxygen_echo proxygen_h3datagram_client proxygen_httperf2 proxygen_proxy proxygen_push proxygen_static AUTO_CLEAN) -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/proxygen) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/proxygen) vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +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(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/proxygen/remove-register.patch b/ports/proxygen/remove-register.patch index 18a930649c3a43..f300fc401cdb35 100644 --- a/ports/proxygen/remove-register.patch +++ b/ports/proxygen/remove-register.patch @@ -5,7 +5,7 @@ index a870b2d67..2dec9c5a1 100755 @@ -35,6 +35,7 @@ function generate_perfect_hash_table { LC_ALL=C sort -u ${1?} | awk "${6?}" - "${5?}" | \ ${8:-gperf} -m5 -D --output-file="${7?}" - perl -p -i -e "s/\/\*FALLTHROUGH\*\//FOLLY_FALLTHROUGH;/g" "${7?}" + perl -p -i -e "s/\/\*FALLTHROUGH\*\//[[fallthrough]];/g" "${7?}" + perl -p -i -e "s/register//g" "${7?}" # Here we delete one of the comment lines gperf adds to the top of the file. diff --git a/ports/proxygen/vcpkg.json b/ports/proxygen/vcpkg.json index 2e8dd6606b95db..8cf729a0bd9d8b 100644 --- a/ports/proxygen/vcpkg.json +++ b/ports/proxygen/vcpkg.json @@ -1,8 +1,9 @@ { "name": "proxygen", - "version-string": "2021.06.14.00", + "version-string": "2024.11.04.00", "description": "It comprises the core C++ HTTP abstractions used at Facebook.", "homepage": "https://github.com/facebook/proxygen", + "license": "BSD-3-Clause", "supports": "!windows", "dependencies": [ "boost-context", @@ -15,7 +16,21 @@ "boost-thread", "fizz", "folly", + "gflags", + { + "name": "gperf", + "host": true + }, + "mvfst", "openssl", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, "wangle", "zlib", "zstd" diff --git a/ports/psimd/portfile.cmake b/ports/psimd/portfile.cmake index f68dacb838f692..1b86b3fce40fb6 100644 --- a/ports/psimd/portfile.cmake +++ b/ports/psimd/portfile.cmake @@ -5,11 +5,12 @@ vcpkg_from_github( REF 072586a71b55b7f8c584153d223e95687148a900 SHA512 a18faea093423dd9fe19ece8b228e011dccce0a2a22222f777ea19b023a13173966d4a8aea01147e8fc58de5d39cffcedeb2221a1572ae52bd5aba1295f86a94 ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) +vcpkg_copy_pdbs() + +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") diff --git a/ports/psimd/vcpkg.json b/ports/psimd/vcpkg.json index 49fc6e93d97a65..44ba8f56594e63 100644 --- a/ports/psimd/vcpkg.json +++ b/ports/psimd/vcpkg.json @@ -1,6 +1,13 @@ { "name": "psimd", - "version-string": "2021-02-21", + "version-date": "2021-02-21", + "port-version": 2, "description": "Portable 128-bit SIMD intrinsics", - "homepage": "https://github.com/Maratyszcza/psimd" + "homepage": "https://github.com/Maratyszcza/psimd", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/ptc-print/portfile.cmake b/ports/ptc-print/portfile.cmake new file mode 100644 index 00000000000000..1638033c7e3ae0 --- /dev/null +++ b/ports/ptc-print/portfile.cmake @@ -0,0 +1,30 @@ +# header-only library + +# Github config +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO JustWhit3/ptc-print + REF v1.4.1 + SHA512 45f3008cb848f464ac0355660e7cdbd40db60338a4db5e35d29285c8c1afc0556c8dea6ac0e6939837916ec138dd8e385709d1fa89651d3404418cf3e7948fd9 + HEAD_REF master +) + +# Main commands +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DPTCPRINT_TESTS=OFF +) +vcpkg_cmake_install() + +# Move cmake configs +vcpkg_cmake_config_fixup(PACKAGE_NAME ptcprint CONFIG_PATH lib/cmake/ptcprint) + +# Remove duplicate files +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/lib" + "${CURRENT_PACKAGES_DIR}/lib" + "${CURRENT_PACKAGES_DIR}/debug") + +# Install license +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/ptc-print/vcpkg.json b/ports/ptc-print/vcpkg.json new file mode 100644 index 00000000000000..e90efa4e3cfae4 --- /dev/null +++ b/ports/ptc-print/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "ptc-print", + "version": "1.4.1", + "port-version": 1, + "description": "A single-header library for custom printing to the output stream.", + "homepage": "https://github.com/JustWhit3/ptc-print", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/ptex/fix-build.patch b/ports/ptex/fix-build.patch index 9c74eeda8fd991..e92842d04d34ec 100644 --- a/ports/ptex/fix-build.patch +++ b/ports/ptex/fix-build.patch @@ -1,99 +1,42 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index c708153..0e004da 100644 +index 78f6531..b7ea30b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -60,10 +60,11 @@ include(GNUInstallDirs) - include(CTest) - include(FindThreads) +@@ -28,7 +28,9 @@ set(THREADS_PREFER_PTHREAD_FLAG ON) + include(GNUInstallDirs) -+find_package(ZLIB REQUIRED) -+if (0) - # Use pkg-config to create a PkgConfig::Ptex_ZLIB imported target - find_package(PkgConfig REQUIRED) - pkg_checK_modules(Ptex_ZLIB REQUIRED zlib IMPORTED_TARGET) -- + include(CTest) ++if(0) enable_testing() - - if (NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) -@@ -77,6 +78,7 @@ if (NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) - set(CMAKE_BUILD_TYPE "Release" CACHE STRING "type of build" FORCE) - endif () - endif () +endif() - if (NOT WIN32) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -pedantic") -@@ -99,7 +101,9 @@ endif () + # Setup platform-specific threading flags. + find_package(Threads REQUIRED) +@@ -113,9 +115,11 @@ endif () include_directories(src/ptex) add_subdirectory(src/ptex) -+if (0) ++if(0) add_subdirectory(src/utils) add_subdirectory(src/tests) - add_subdirectory(src/doc) -+endif() + if (PTEX_BUILD_DOCS) + add_subdirectory(src/doc) + endif () ++endif () add_subdirectory(src/build) diff --git a/src/ptex/CMakeLists.txt b/src/ptex/CMakeLists.txt -index ba3a3cc..1619ff1 100644 +index 4dfe372..4572dd5 100644 --- a/src/ptex/CMakeLists.txt +++ b/src/ptex/CMakeLists.txt -@@ -1,6 +1,8 @@ --if (WIN32) -- add_definitions(/DPTEX_EXPORTS) --endif (WIN32) -+if (BUILD_SHARED_LIBS) -+ add_definitions(-DPTEX_EXPORTS) -+else () -+ add_definitions(-DPTEX_STATIC) -+endif () - - configure_file(PtexVersion.h.in - ${CMAKE_CURRENT_SOURCE_DIR}/PtexVersion.h @ONLY) -@@ -18,29 +20,35 @@ set(SRCS - PtexWriter.cpp) - - if(PTEX_BUILD_STATIC_LIBS) -- add_library(Ptex_static STATIC ${SRCS}) -- set_target_properties(Ptex_static PROPERTIES OUTPUT_NAME Ptex) -- target_include_directories(Ptex_static -+ add_library(Ptex STATIC ${SRCS}) -+ target_include_directories(Ptex - PUBLIC - $ - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR}) -- target_link_libraries(Ptex_static -- PUBLIC ${CMAKE_THREAD_LIBS_INIT} PkgConfig::Ptex_ZLIB) -- install(TARGETS Ptex_static EXPORT Ptex DESTINATION ${CMAKE_INSTALL_LIBDIR}) -+ target_link_libraries(Ptex -+ PUBLIC ${CMAKE_THREAD_LIBS_INIT} ZLIB::ZLIB) -+ install(TARGETS Ptex EXPORT Ptex -+ RUNTIME DESTINATION bin -+ LIBRARY DESTINATION lib -+ ARCHIVE DESTINATION lib -+ ) - endif() - - if(PTEX_BUILD_SHARED_LIBS) -- add_library(Ptex_dynamic SHARED ${SRCS}) -- set_target_properties(Ptex_dynamic PROPERTIES OUTPUT_NAME Ptex) -- target_include_directories(Ptex_dynamic -+ add_library(Ptex SHARED ${SRCS}) -+ target_include_directories(Ptex - PUBLIC - $ - PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR}) -- target_link_libraries(Ptex_dynamic -- PUBLIC ${CMAKE_THREAD_LIBS_INIT} PkgConfig::Ptex_ZLIB) +@@ -40,7 +40,10 @@ if(PTEX_BUILD_SHARED_LIBS) + target_compile_definitions(Ptex_dynamic PRIVATE PTEX_EXPORTS) + target_link_libraries(Ptex_dynamic + PUBLIC Threads::Threads ZLIB::ZLIB) - install(TARGETS Ptex_dynamic EXPORT Ptex DESTINATION ${CMAKE_INSTALL_LIBDIR}) -+ target_link_libraries(Ptex -+ PUBLIC ${CMAKE_THREAD_LIBS_INIT} ZLIB::ZLIB) -+ install(TARGETS Ptex EXPORT Ptex -+ RUNTIME DESTINATION bin -+ LIBRARY DESTINATION lib -+ ARCHIVE DESTINATION lib -+ ) ++ install(TARGETS Ptex_dynamic EXPORT Ptex ++ RUNTIME DESTINATION ${BIN_INSTALL_DIR} ++ LIBRARY DESTINATION ${LIB_INSTALL_DIR} ++ ARCHIVE DESTINATION ${LIB_INSTALL_DIR}) endif() install(FILES diff --git a/ports/ptex/fix-config.cmake.patch b/ports/ptex/fix-config.cmake.patch deleted file mode 100644 index d635d4e05c1dad..00000000000000 --- a/ports/ptex/fix-config.cmake.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff --git a/src/build/ptex-config.cmake b/src/build/ptex-config.cmake -index f95df9e..2d3f58f 100644 ---- a/src/build/ptex-config.cmake -+++ b/src/build/ptex-config.cmake -@@ -1,11 +1,11 @@ - @PACKAGE_INIT@ - -+include(CMakeFindDependencyMacro) - include("${CMAKE_CURRENT_LIST_DIR}/ptex-version.cmake") - include("${CMAKE_CURRENT_LIST_DIR}/ptex-exports.cmake") - - # Provide PkgConfig::ZLIB to downstream dependents --find_package(PkgConfig REQUIRED) --pkg_checK_modules(Ptex_ZLIB REQUIRED zlib IMPORTED_TARGET) -+find_dependency(ZLIB REQUIRED) - - set_and_check(Ptex_DIR @PACKAGE_CMAKE_INSTALL_PREFIX@) - set_and_check(Ptex_LIBRARY_DIRS @PACKAGE_CMAKE_INSTALL_LIBDIR@) diff --git a/ports/ptex/portfile.cmake b/ports/ptex/portfile.cmake index 6fe24666be5fa9..bb0abba4261a74 100644 --- a/ports/ptex/portfile.cmake +++ b/ports/ptex/portfile.cmake @@ -1,37 +1,35 @@ -vcpkg_fail_port_install(ON_TARGET "uwp") - -set(PTEX_VER 2.3.2) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO wdas/ptex - REF 1b8bc985a71143317ae9e4969fa08e164da7c2e5 - SHA512 37f2df9ec195f3d69d9526d0dea6a93ef49d69287bfae6ccd9671477491502ea760ed14e3b206b4f488831ab728dc749847b7d176c9b8439fb58b0a0466fe6c5 + REF "v${VERSION}" + SHA512 34fcaf1c4fe27cb4e66d66bb729137ef17ffeea2bc2d849f2f5f543b19acc250f425633142320ce797c2a086e04bc3e0870c94928ad45d94e34faee71af36890 HEAD_REF master - PATCHES + PATCHES fix-build.patch - fix-config.cmake.patch ) -if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - set(BUILD_SHARED_LIB ON) - set(BUILD_STATIC_LIB OFF) -else() - set(BUILD_SHARED_LIB OFF) - set(BUILD_STATIC_LIB ON) -endif() +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC_LIB) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED_LIB) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" DISABLE_PARALLEL_CONFIGURE OPTIONS - -DPTEX_VER=v${PTEX_VER} + "-DPTEX_VER=v${VERSION}" -DPTEX_BUILD_SHARED_LIBS=${BUILD_SHARED_LIB} -DPTEX_BUILD_STATIC_LIBS=${BUILD_STATIC_LIB} ) vcpkg_cmake_install() -vcpkg_cmake_config_fixup(CONFIG_PATH share/cmake/Ptex) + +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/Ptex ) +file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/lib/pkgconfig") +file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig") +file(RENAME "${CURRENT_PACKAGES_DIR}/share/pkgconfig/ptex.pc" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/ptex.pc") +file(COPY "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/ptex.pc" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/") +vcpkg_fixup_pkgconfig() +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/pkgconfig") + vcpkg_copy_pdbs() foreach(HEADER PtexHalf.h Ptexture.h) @@ -46,4 +44,5 @@ endforeach() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") -file(INSTALL "${SOURCE_PATH}/src/doc/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 "${SOURCE_PATH}/LICENSE") diff --git a/ports/ptex/usage b/ports/ptex/usage new file mode 100644 index 00000000000000..82fd687467dc0e --- /dev/null +++ b/ports/ptex/usage @@ -0,0 +1,4 @@ +Ptex provides CMake targets: + + find_package(ptex CONFIG REQUIRED) + target_link_libraries(main PRIVATE $,Ptex::Ptex_dynamic,Ptex::Ptex_static>) diff --git a/ports/ptex/vcpkg.json b/ports/ptex/vcpkg.json index 355a40596ce1f7..f946667f3eb1b2 100644 --- a/ports/ptex/vcpkg.json +++ b/ports/ptex/vcpkg.json @@ -1,9 +1,9 @@ { "name": "ptex", - "version": "2.3.2", - "port-version": 3, + "version": "2.4.3", "description": "Per-Face Texture Mapping for Production Rendering.", "homepage": "https://github.com/wdas/ptex", + "license": "BSD-3-Clause", "supports": "!uwp", "dependencies": [ { diff --git a/ports/pthread-stubs/portfile.cmake b/ports/pthread-stubs/portfile.cmake new file mode 100644 index 00000000000000..931d915e4ae34f --- /dev/null +++ b/ports/pthread-stubs/portfile.cmake @@ -0,0 +1,53 @@ +set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.freedesktop.org/xorg + OUT_SOURCE_PATH SOURCE_PATH + REPO lib/pthread-stubs + REF 50f0755a7f894acae168f19c66e52a3f139ca4ec # 0.4.0 + SHA512 15fcb2144a8abb7b9b1b8f6d9732759351268fb440c7a59380b0ca6ddf48b74a37ce5afbf777ce58fc1993df0c8d6ffb82e452800ce2fcaf16edcbcc1750e338 + HEAD_REF master +) + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG +) + +vcpkg_install_make() +vcpkg_fixup_pkgconfig(SYSTEM_LIBRARIES pthread) + +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/${PORT}" RENAME copyright) + +set(_file "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/pthread-stubs.pc") +file(READ "${_file}" _contents) +string(REPLACE "Cflags: -pthread" "Cflags: " _contents "${_contents}") +if(EXISTS "${CURRENT_INSTALLED_DIR}/lib/pthreadVC3.lib") + string(REPLACE "Libs: -pthread" "Libs: -lpthreadVC3" _contents "${_contents}") +endif() +if(EXISTS "${CURRENT_INSTALLED_DIR}/lib/pthreadGC3.lib") + string(REPLACE "Libs: -pthread" "Libs: -lpthreadGC3" _contents "${_contents}") +endif() +file(WRITE "${_file}" "${_contents}") + +if(NOT VCPKG_BUILD_TYPE) + set(_file "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/pthread-stubs.pc") + file(READ "${_file}" _contents) + string(REPLACE "Cflags: -pthread" "Cflags: " _contents "${_contents}") + if(EXISTS "${CURRENT_INSTALLED_DIR}/debug/lib/pthreadVC3.lib") + string(REPLACE "Libs: -pthread" "Libs: -lpthreadVC3" _contents "${_contents}") + endif() + if(EXISTS "${CURRENT_INSTALLED_DIR}/debug/lib/pthreadGC3.lib") + string(REPLACE "Libs: -pthread" "Libs: -lpthreadGC3" _contents "${_contents}") + endif() + if(EXISTS "${CURRENT_INSTALLED_DIR}/debug/lib/pthreadVC3d.lib") + string(REPLACE "Libs: -pthread" "Libs: -lpthreadVC3d" _contents "${_contents}") + endif() + if(EXISTS "${CURRENT_INSTALLED_DIR}/debug/lib/pthreadGC3d.lib") + string(REPLACE "Libs: -pthread" "Libs: -lpthreadGC3d" _contents "${_contents}") + endif() + file(WRITE "${_file}" "${_contents}") +endif() diff --git a/ports/pthread-stubs/vcpkg.json b/ports/pthread-stubs/vcpkg.json new file mode 100644 index 00000000000000..b0b25b30b56932 --- /dev/null +++ b/ports/pthread-stubs/vcpkg.json @@ -0,0 +1,11 @@ +{ + "name": "pthread-stubs", + "version": "0.4", + "port-version": 1, + "description": "Stub replacements for POSIX Threads functions.", + "homepage": "https://gitlab.freedesktop.org/xorg/lib/pthread-stubs", + "license": "X11-distribute-modifications-variant", + "dependencies": [ + "pthread" + ] +} diff --git a/ports/pthread/vcpkg.json b/ports/pthread/vcpkg.json index 7cc1edb464f4a3..be099cd310d2d1 100644 --- a/ports/pthread/vcpkg.json +++ b/ports/pthread/vcpkg.json @@ -1,7 +1,7 @@ { "name": "pthread", - "version-string": "3.0.0", - "port-version": 1, + "version": "3.0.0", + "port-version": 2, "description": "empty package, linking to other port", "dependencies": [ "pthreads" diff --git a/ports/pthreadpool/fix-uwp.patch b/ports/pthreadpool/fix-uwp.patch index 6ad039d21b5ff3..0b1e5109ae553b 100644 --- a/ports/pthreadpool/fix-uwp.patch +++ b/ports/pthreadpool/fix-uwp.patch @@ -2,12 +2,13 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt index a07945c..6df83d1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -75,7 +75,7 @@ ELSE() +@@ -75,7 +75,8 @@ ELSE() LIST(APPEND PTHREADPOOL_SRCS src/portable-api.c src/memory.c) IF(APPLE AND (PTHREADPOOL_SYNC_PRIMITIVE STREQUAL "default" OR PTHREADPOOL_SYNC_PRIMITIVE STREQUAL "gcd")) LIST(APPEND PTHREADPOOL_SRCS src/gcd.c) - ELSEIF(CMAKE_SYSTEM_NAME MATCHES "^(Windows|CYGWIN|MSYS)$" AND (PTHREADPOOL_SYNC_PRIMITIVE STREQUAL "default" OR PTHREADPOOL_SYNC_PRIMITIVE STREQUAL "event")) + ELSEIF(CMAKE_SYSTEM_NAME MATCHES "^(Windows|WindowsStore|CYGWIN|MSYS)$" AND (PTHREADPOOL_SYNC_PRIMITIVE STREQUAL "default" OR PTHREADPOOL_SYNC_PRIMITIVE STREQUAL "event")) ++ add_compile_options(-wd4146) LIST(APPEND PTHREADPOOL_SRCS src/windows.c) ELSE() LIST(APPEND PTHREADPOOL_SRCS src/pthreads.c) diff --git a/ports/pthreadpool/portfile.cmake b/ports/pthreadpool/portfile.cmake index dbae48f4766d06..126e4eba2dd329 100644 --- a/ports/pthreadpool/portfile.cmake +++ b/ports/pthreadpool/portfile.cmake @@ -12,16 +12,15 @@ vcpkg_from_github( fix-uwp.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DPTHREADPOOL_BUILD_TESTS=OFF -DPTHREADPOOL_BUILD_BENCHMARKS=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-${PORT} TARGET_PATH share/unofficial-${PORT}) +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-${PORT}) -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) -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/include") diff --git a/ports/pthreadpool/vcpkg.json b/ports/pthreadpool/vcpkg.json index cff1bc65057ab9..81b4166071b284 100644 --- a/ports/pthreadpool/vcpkg.json +++ b/ports/pthreadpool/vcpkg.json @@ -1,10 +1,18 @@ { "name": "pthreadpool", "version-date": "2020-04-10", - "port-version": 1, + "port-version": 3, "description": "Portable (POSIX/Windows/Emscripten) thread pool for C/C++", "homepage": "https://github.com/Maratyszcza/pthreadpool", "dependencies": [ - "fxdiv" + "fxdiv", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/pthreads/PThreads4WConfig.cmake b/ports/pthreads/PThreads4WConfig.cmake new file mode 100644 index 00000000000000..a3a132e9ff22d5 --- /dev/null +++ b/ports/pthreads/PThreads4WConfig.cmake @@ -0,0 +1,179 @@ +#.rst: +# PThreads4W config wrap for vcpkg +# ------------ +# +# Find the PThread4W includes and library. +# +# Result Variables +# ^^^^^^^^^^^^^^^^ +# +# This script defines the following variables: +# +# ``PThreads4W_FOUND`` +# True if PThreads4W library found +# +# ``PThreads4W_VERSION`` +# Containing the PThreads4W version tag (manually defined) +# +# ``PThreads4W_INCLUDE_DIR`` +# Location of PThreads4W headers +# +# ``PThreads4W_LIBRARY`` +# List of libraries to link with when using PThreads4W (no exception handling) +# +# ``PThreads4W_CXXEXC_LIBRARY`` +# List of libraries to link with when using PThreads4W (C++ exception handling) +# +# ``PThreads4W_STRUCTEXC_LIBRARY`` +# List of libraries to link with when using PThreads4W (struct exception handling) +# +# Result Targets +# ^^^^^^^^^^^^^^^^ +# +# This script defines the following targets: +# +# ``PThreads4W::PThreads4W`` +# Target to use PThreads4W (no exception handling) +# +# ``PThreads4W::PThreads4W_CXXEXC`` +# Target to use PThreads4W (C++ exception handling) +# +# ``PThreads4W::PThreads4W_STRUCTEXC`` +# Target to use PThreads4W (struct exception handling) +# + +include(${CMAKE_ROOT}/Modules/FindPackageHandleStandardArgs.cmake) +include(${CMAKE_ROOT}/Modules/SelectLibraryConfigurations.cmake) + +if(NOT PThreads4W_INCLUDE_DIR) + find_path(PThreads4W_INCLUDE_DIR NAMES pthread.h PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include" NO_DEFAULT_PATH) +endif() + +set(PThreads4W_MAJOR_VERSION 3) +set(PThreads4W_MINOR_VERSION 0) +set(PThreads4W_PATCH_VERSION 0) +set(PThreads4W_VERSION "${PThreads4W_MAJOR_VERSION}.${PThreads4W_MINOR_VERSION}.${PThreads4W_PATCH_VERSION}") + +# Allow libraries to be set manually +if(NOT PThreads4W_LIBRARY) + find_library(PThreads4W_LIBRARY_RELEASE NAMES pthreadVC${PThreads4W_MAJOR_VERSION} PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib" NO_DEFAULT_PATH) + find_library(PThreads4W_LIBRARY_DEBUG NAMES pthreadVC${PThreads4W_MAJOR_VERSION}d PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/lib" NO_DEFAULT_PATH) + select_library_configurations(PThreads4W) +endif() +if(NOT PThreads4W_CXXEXC_LIBRARY) + find_library(PThreads4W_CXXEXC_LIBRARY_RELEASE NAMES pthreadVCE${PThreads4W_MAJOR_VERSION} PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib" NO_DEFAULT_PATH) + find_library(PThreads4W_CXXEXC_LIBRARY_DEBUG NAMES pthreadVCE${PThreads4W_MAJOR_VERSION}d PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/lib" NO_DEFAULT_PATH) + select_library_configurations(PThreads4W_CXXEXC) +endif() +if(NOT PThreads4W_STRUCTEXC_LIBRARY) + find_library(PThreads4W_STRUCTEXC_LIBRARY_RELEASE NAMES pthreadVSE${PThreads4W_MAJOR_VERSION} PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib" NO_DEFAULT_PATH) + find_library(PThreads4W_STRUCTEXC_LIBRARY_DEBUG NAMES pthreadVSE${PThreads4W_MAJOR_VERSION}d PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/lib" NO_DEFAULT_PATH) + select_library_configurations(PThreads4W_STRUCTEXC) +endif() + +find_package_handle_standard_args(PThreads4W DEFAULT_MSG PThreads4W_LIBRARY PThreads4W_CXXEXC_LIBRARY PThreads4W_STRUCTEXC_LIBRARY PThreads4W_INCLUDE_DIR) +mark_as_advanced(PThreads4W_INCLUDE_DIR PThreads4W_LIBRARY PThreads4W_CXXEXC_LIBRARY PThreads4W_STRUCTEXC_LIBRARY) + +set(PThreads4W_DLL_DIR ${PThreads4W_INCLUDE_DIR}) +list(TRANSFORM PThreads4W_DLL_DIR APPEND "/../bin") +message(STATUS "PThreads4W_DLL_DIR: ${PThreads4W_DLL_DIR}") +set(PThreads4W_DEBUG_DLL_DIR ${PThreads4W_INCLUDE_DIR}) +list(TRANSFORM PThreads4W_DEBUG_DLL_DIR APPEND "/../debug/bin") +message(STATUS "PThreads4W_DEBUG_DLL_DIR: ${PThreads4W_DEBUG_DLL_DIR}") + +find_file(PThreads4W_LIBRARY_RELEASE_DLL NAMES pthreadVC${PThreads4W_MAJOR_VERSION}.dll PATHS ${PThreads4W_DLL_DIR}) +find_file(PThreads4W_LIBRARY_DEBUG_DLL NAMES pthreadVC${PThreads4W_MAJOR_VERSION}d.dll PATHS ${PThreads4W_DEBUG_DLL_DIR}) +find_file(PThreads4W_CXXEXC_LIBRARY_RELEASE_DLL NAMES pthreadVCE${PThreads4W_MAJOR_VERSION}.dll PATHS ${PThreads4W_DLL_DIR}) +find_file(PThreads4W_CXXEXC_LIBRARY_DEBUG_DLL NAMES pthreadVCE${PThreads4W_MAJOR_VERSION}d.dll PATHS ${PThreads4W_DEBUG_DLL_DIR}) +find_file(PThreads4W_STRUCTEXC_LIBRARY_RELEASE_DLL NAMES pthreadVSE${PThreads4W_MAJOR_VERSION}.dll PATHS ${PThreads4W_DLL_DIR}) +find_file(PThreads4W_STRUCTEXC_LIBRARY_DEBUG_DLL NAMES pthreadVSE${PThreads4W_MAJOR_VERSION}d.dll PATHS ${PThreads4W_DEBUG_DLL_DIR}) + +if( PThreads4W_FOUND AND NOT TARGET PThreads4W::PThreads4W_CXXEXC ) + if( EXISTS "${PThreads4W_CXXEXC_LIBRARY_RELEASE_DLL}" ) + add_library( PThreads4W::PThreads4W_CXXEXC SHARED IMPORTED ) + set_target_properties( PThreads4W::PThreads4W_CXXEXC PROPERTIES + IMPORTED_LOCATION_RELEASE "${PThreads4W_CXXEXC_LIBRARY_RELEASE_DLL}" + IMPORTED_IMPLIB "${PThreads4W_CXXEXC_LIBRARY_RELEASE}" + INTERFACE_INCLUDE_DIRECTORIES "${PThreads4W_INCLUDE_DIR}" + IMPORTED_CONFIGURATIONS Release + IMPORTED_LINK_INTERFACE_LANGUAGES "C" ) + if( EXISTS "${PThreads4W_CXXEXC_LIBRARY_DEBUG_DLL}" ) + set_property( TARGET PThreads4W::PThreads4W_CXXEXC APPEND PROPERTY IMPORTED_CONFIGURATIONS Debug ) + set_target_properties( PThreads4W::PThreads4W_CXXEXC PROPERTIES + IMPORTED_LOCATION_DEBUG "${PThreads4W_CXXEXC_LIBRARY_DEBUG_DLL}" + IMPORTED_IMPLIB_DEBUG "${PThreads4W_CXXEXC_LIBRARY_DEBUG}" ) + endif() + else() + add_library( PThreads4W::PThreads4W_CXXEXC UNKNOWN IMPORTED ) + set_target_properties( PThreads4W::PThreads4W_CXXEXC PROPERTIES + IMPORTED_LOCATION_RELEASE "${PThreads4W_CXXEXC_LIBRARY_RELEASE}" + INTERFACE_INCLUDE_DIRECTORIES "${PThreads4W_INCLUDE_DIR}" + IMPORTED_CONFIGURATIONS Release + IMPORTED_LINK_INTERFACE_LANGUAGES "C" ) + if( EXISTS "${PThreads4W_CXXEXC_LIBRARY_DEBUG}" ) + set_property( TARGET PThreads4W::PThreads4W_CXXEXC APPEND PROPERTY IMPORTED_CONFIGURATIONS Debug ) + set_target_properties( PThreads4W::PThreads4W_CXXEXC PROPERTIES + IMPORTED_LOCATION_DEBUG "${PThreads4W_CXXEXC_LIBRARY_DEBUG}" ) + endif() + endif() +endif() + +if( PThreads4W_FOUND AND NOT TARGET PThreads4W::PThreads4W_STRUCTEXC ) + if( EXISTS "${PThreads4W_STRUCTEXC_LIBRARY_RELEASE_DLL}" ) + add_library( PThreads4W::PThreads4W_STRUCTEXC SHARED IMPORTED ) + set_target_properties( PThreads4W::PThreads4W_STRUCTEXC PROPERTIES + IMPORTED_LOCATION_RELEASE "${PThreads4W_STRUCTEXC_LIBRARY_RELEASE_DLL}" + IMPORTED_IMPLIB "${PThreads4W_STRUCTEXC_LIBRARY_RELEASE}" + INTERFACE_INCLUDE_DIRECTORIES "${PThreads4W_INCLUDE_DIR}" + IMPORTED_CONFIGURATIONS Release + IMPORTED_LINK_INTERFACE_LANGUAGES "C" ) + if( EXISTS "${PThreads4W_STRUCTEXC_LIBRARY_DEBUG_DLL}" ) + set_property( TARGET PThreads4W::PThreads4W_STRUCTEXC APPEND PROPERTY IMPORTED_CONFIGURATIONS Debug ) + set_target_properties( PThreads4W::PThreads4W_STRUCTEXC PROPERTIES + IMPORTED_LOCATION_DEBUG "${PThreads4W_STRUCTEXC_LIBRARY_DEBUG_DLL}" + IMPORTED_IMPLIB_DEBUG "${PThreads4W_STRUCTEXC_LIBRARY_DEBUG}" ) + endif() + else() + add_library( PThreads4W::PThreads4W_STRUCTEXC UNKNOWN IMPORTED ) + set_target_properties( PThreads4W::PThreads4W_STRUCTEXC PROPERTIES + IMPORTED_LOCATION_RELEASE "${PThreads4W_STRUCTEXC_LIBRARY_RELEASE}" + INTERFACE_INCLUDE_DIRECTORIES "${PThreads4W_INCLUDE_DIR}" + IMPORTED_CONFIGURATIONS Release + IMPORTED_LINK_INTERFACE_LANGUAGES "C" ) + if( EXISTS "${PThreads4W_STRUCTEXC_LIBRARY_DEBUG}" ) + set_property( TARGET PThreads4W::PThreads4W_STRUCTEXC APPEND PROPERTY IMPORTED_CONFIGURATIONS Debug ) + set_target_properties( PThreads4W::PThreads4W_STRUCTEXC PROPERTIES + IMPORTED_LOCATION_DEBUG "${PThreads4W_STRUCTEXC_LIBRARY_DEBUG}" ) + endif() + endif() +endif() + +if( PThreads4W_FOUND AND NOT TARGET PThreads4W::PThreads4W ) + if( EXISTS "${PThreads4W_LIBRARY_RELEASE_DLL}" ) + add_library( PThreads4W::PThreads4W SHARED IMPORTED ) + set_target_properties( PThreads4W::PThreads4W PROPERTIES + IMPORTED_LOCATION_RELEASE "${PThreads4W_LIBRARY_RELEASE_DLL}" + IMPORTED_IMPLIB "${PThreads4W_LIBRARY_RELEASE}" + INTERFACE_INCLUDE_DIRECTORIES "${PThreads4W_INCLUDE_DIR}" + IMPORTED_CONFIGURATIONS Release + IMPORTED_LINK_INTERFACE_LANGUAGES "C" ) + if( EXISTS "${PThreads4W_LIBRARY_DEBUG_DLL}" ) + set_property( TARGET PThreads4W::PThreads4W APPEND PROPERTY IMPORTED_CONFIGURATIONS Debug ) + set_target_properties( PThreads4W::PThreads4W PROPERTIES + IMPORTED_LOCATION_DEBUG "${PThreads4W_LIBRARY_DEBUG_DLL}" + IMPORTED_IMPLIB_DEBUG "${PThreads4W_LIBRARY_DEBUG}" ) + endif() + else() + add_library( PThreads4W::PThreads4W UNKNOWN IMPORTED ) + set_target_properties( PThreads4W::PThreads4W PROPERTIES + IMPORTED_LOCATION_RELEASE "${PThreads4W_LIBRARY_RELEASE}" + INTERFACE_INCLUDE_DIRECTORIES "${PThreads4W_INCLUDE_DIR}" + IMPORTED_CONFIGURATIONS Release + IMPORTED_LINK_INTERFACE_LANGUAGES "C" ) + if( EXISTS "${PThreads4W_LIBRARY_DEBUG}" ) + set_property( TARGET PThreads4W::PThreads4W APPEND PROPERTY IMPORTED_CONFIGURATIONS Debug ) + set_target_properties( PThreads4W::PThreads4W PROPERTIES + IMPORTED_LOCATION_DEBUG "${PThreads4W_LIBRARY_DEBUG}" ) + endif() + endif() +endif() diff --git a/ports/pthreads/fix-arm64-version_rc.patch b/ports/pthreads/fix-arm64-version_rc.patch new file mode 100644 index 00000000000000..696b1ad22a2fc4 --- /dev/null +++ b/ports/pthreads/fix-arm64-version_rc.patch @@ -0,0 +1,22 @@ +diff --git a/version.rc b/version.rc +index aa0596c..9c8231e 100644 +--- a/version.rc ++++ b/version.rc +@@ -63,6 +63,17 @@ + # define __PTW32_VERSIONINFO_NAME "pthreadVSE2.DLL\0" + # define __PTW32_VERSIONINFO_DESCRIPTION "MS C SEH x86\0" + # endif ++# elif defined (__PTW32_ARCHARM64) ++# if defined(__PTW32_CLEANUP_C) ++# define __PTW32_VERSIONINFO_NAME "pthreadVC2.DLL\0" ++# define __PTW32_VERSIONINFO_DESCRIPTION "MS C arm64\0" ++# elif defined(__PTW32_CLEANUP_CXX) ++# define __PTW32_VERSIONINFO_NAME "pthreadVCE2.DLL\0" ++# define __PTW32_VERSIONINFO_DESCRIPTION "MS C++ arm64\0" ++# elif defined(__PTW32_CLEANUP_SEH) ++# define __PTW32_VERSIONINFO_NAME "pthreadVSE2.DLL\0" ++# define __PTW32_VERSIONINFO_DESCRIPTION "MS C SEH arm64\0" ++# endif + # endif + #elif defined(__GNUC__) + # if defined(_M_X64) diff --git a/ports/pthreads/fix-install.patch b/ports/pthreads/fix-install.patch new file mode 100644 index 00000000000000..afccae9aaa42a2 --- /dev/null +++ b/ports/pthreads/fix-install.patch @@ -0,0 +1,53 @@ +diff --git a/Makefile b/Makefile +index a703b9c..b7b5ea7 100644 +--- a/Makefile ++++ b/Makefile +@@ -80,18 +80,27 @@ help: + @ echo nmake clean VSE-static-debug + + all: ++!IF DEFINED(BUILD_STATIC) ++! IF DEFINED(BUILD_RELEASE) + $(MAKE) /E clean VC-static + $(MAKE) /E clean VCE-static + $(MAKE) /E clean VSE-static ++! ELSE + $(MAKE) /E clean VC-static-debug + $(MAKE) /E clean VCE-static-debug + $(MAKE) /E clean VSE-static-debug ++! ENDIF ++!ELSE ++! IF DEFINED(BUILD_RELEASE) + $(MAKE) /E clean VC + $(MAKE) /E clean VCE + $(MAKE) /E clean VSE ++! ELSE + $(MAKE) /E clean VC-debug + $(MAKE) /E clean VCE-debug + $(MAKE) /E clean VSE-debug ++! ENDIF ++!ENDIF + $(MAKE) /E clean + + TEST_ENV = CFLAGS="$(CFLAGS) /DNO_ERROR_DIALOGS" +@@ -218,8 +227,7 @@ install: + if not exist $(LIBDEST) mkdir $(LIBDEST) + if not exist $(HDRDEST) mkdir $(HDRDEST) + if exist pthreadV*.dll copy pthreadV*.dll $(DLLDEST) +- copy pthreadV*.lib $(LIBDEST) +- copy libpthreadV*.lib $(LIBDEST) ++ if exist pthreadV*.lib copy pthreadV*.lib $(LIBDEST) + copy _ptw32.h $(HDRDEST) + copy pthread.h $(HDRDEST) + copy sched.h $(HDRDEST) +@@ -229,8 +237,8 @@ $(DLLS): $(DLL_OBJS) + $(CC) /LDd /Zi $(DLL_OBJS) /link /implib:$*.lib $(XLIBS) /out:$@ + + $(INLINED_STATIC_STAMPS): $(STATIC_OBJS) +- if exist lib$*.lib del lib$*.lib +- lib $(STATIC_OBJS) /out:lib$*.lib ++ if exist $*.lib del $*.lib ++ lib $(STATIC_OBJS) /out:$*.lib + echo. >$@ + + $(SMALL_STATIC_STAMPS): $(STATIC_OBJS_SMALL) diff --git a/ports/pthreads/fix-pthread_getname_np.patch b/ports/pthreads/fix-pthread_getname_np.patch new file mode 100644 index 00000000000000..7eaadea54cace1 --- /dev/null +++ b/ports/pthreads/fix-pthread_getname_np.patch @@ -0,0 +1,26 @@ +diff --git a/pthread_getname_np.c b/pthread_getname_np.c +index 8fc32b1..7c18655 100644 +--- a/pthread_getname_np.c ++++ b/pthread_getname_np.c +@@ -59,10 +59,18 @@ pthread_getname_np(pthread_t thr, char *name, int len) + + __ptw32_mcs_lock_acquire (&tp->threadLock, &threadLock); + +- for (s = tp->name, d = name; *s && d < &name[len - 1]; *d++ = *s++) +- {} ++ if(tp->name) ++ { ++ for (s = tp->name, d = name; *s && d < &name[len - 1]; *d++ = *s++) ++ {} ++ ++ *d = '\0'; ++ } ++ else ++ { ++ *name = '\0'; ++ } + +- *d = '\0'; + __ptw32_mcs_lock_release (&threadLock); + + return result; diff --git a/ports/pthreads/fix-uwp-linkage.patch b/ports/pthreads/fix-uwp-linkage.patch index 77d3a5b15a5e38..22a12f846bda60 100644 --- a/ports/pthreads/fix-uwp-linkage.patch +++ b/ports/pthreads/fix-uwp-linkage.patch @@ -15,3 +15,23 @@ index 1579376..3a7d29b 100644 #if !defined (__PTW32_CONFIG_H) # error "config.h was not #included" #endif + +diff --git a/pthread_cancel.c b/pthread_cancel.c +index fddf216..bf16870 100644 +--- a/pthread_cancel.c ++++ b/pthread_cancel.c +@@ -64,12 +64,12 @@ __ptw32_cancel_callback (ULONG_PTR unused) + DWORD + __ptw32_Registercancellation (PAPCFUNC unused1, HANDLE threadH, DWORD unused2) + { +- CONTEXT context; ++ /*CONTEXT context; + + context.ContextFlags = CONTEXT_CONTROL; + GetThreadContext (threadH, &context); + __PTW32_PROGCTR (context) = (DWORD_PTR) __ptw32_cancel_self; +- SetThreadContext (threadH, &context); ++ SetThreadContext (threadH, &context);*/ + return 0; + } + diff --git a/ports/pthreads/portfile.cmake b/ports/pthreads/portfile.cmake index 47493940e6a292..682ffa0993dc2c 100644 --- a/ports/pthreads/portfile.cmake +++ b/ports/pthreads/portfile.cmake @@ -3,8 +3,6 @@ if(NOT VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_MINGW) return() endif() -set(PTHREADS4W_VERSION "3.0.0") - if(VCPKG_TARGET_IS_UWP) list(APPEND PATCH_FILES fix-uwp-linkage.patch) # Inject linker option using the `LINK` environment variable @@ -12,6 +10,7 @@ if(VCPKG_TARGET_IS_UWP) # https://docs.microsoft.com/en-us/cpp/build/reference/linking#link-environment-variables set(ENV{LINK} "/APPCONTAINER") endif() + if (VCPKG_CRT_LINKAGE STREQUAL dynamic) list(APPEND PATCH_FILES use-md.patch) else() @@ -19,90 +18,51 @@ else() endif() vcpkg_from_sourceforge( - OUT_SOURCE_PATH SOURCE_PATH - REPO pthreads4w - FILENAME "pthreads4w-code-v${PTHREADS4W_VERSION}.zip" - SHA512 49e541b66c26ddaf812edb07b61d0553e2a5816ab002edc53a38a897db8ada6d0a096c98a9af73a8f40c94283df53094f76b429b09ac49862465d8697ed20013 - PATCHES - fix-arm-macro.patch - ${PATCH_FILES} -) - -find_program(NMAKE nmake REQUIRED) - -################ -# Release build -################ -message(STATUS "Building ${TARGET_TRIPLET}-rel") -file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}" INST_DIR_REL) -vcpkg_execute_required_process( - COMMAND ${NMAKE} -f Makefile all install - "DESTROOT=\"${INST_DIR_REL}\"" - WORKING_DIRECTORY ${SOURCE_PATH} - LOGNAME nmake-build-${TARGET_TRIPLET}-release + OUT_SOURCE_PATH SOURCE_PATH + REPO pthreads4w + FILENAME "pthreads4w-code-v${VERSION}.zip" + SHA512 49e541b66c26ddaf812edb07b61d0553e2a5816ab002edc53a38a897db8ada6d0a096c98a9af73a8f40c94283df53094f76b429b09ac49862465d8697ed20013 + PATCHES + fix-arm-macro.patch + fix-arm64-version_rc.patch # https://sourceforge.net/p/pthreads4w/code/merge-requests/6/ + fix-pthread_getname_np.patch + fix-install.patch + whitespace_in_path.patch + ${PATCH_FILES} ) -message(STATUS "Building ${TARGET_TRIPLET}-rel done") -################ -# Debug build -################ -message(STATUS "Building ${TARGET_TRIPLET}-dbg") -file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}/debug" INST_DIR_DBG) -vcpkg_execute_required_process( - COMMAND ${NMAKE} /G -f Makefile all install - "DESTROOT=\"${INST_DIR_DBG}\"" - WORKING_DIRECTORY ${SOURCE_PATH} - LOGNAME nmake-build-${TARGET_TRIPLET}-debug -) -message(STATUS "Building ${TARGET_TRIPLET}-dbg done") +file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}/debug" DESTROOT_DEBUG) +file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}" DESTROOT_RELEASE) -file(REMOVE "${CURRENT_PACKAGES_DIR}/bin/pthreadVC3d.dll") -file(REMOVE "${CURRENT_PACKAGES_DIR}/bin/pthreadVCE3d.dll") -file(REMOVE "${CURRENT_PACKAGES_DIR}/bin/pthreadVSE3d.dll") -file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/bin/pthreadVC3.dll") -file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/bin/pthreadVCE3.dll") -file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/bin/pthreadVSE3.dll") +vcpkg_list(SET OPTIONS_DEBUG "DESTROOT=${DESTROOT_DEBUG}") +vcpkg_list(SET OPTIONS_RELEASE "DESTROOT=${DESTROOT_RELEASE}" "BUILD_RELEASE=1") -file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/libpthreadVC3d.lib") -file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/libpthreadVCE3d.lib") -file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/libpthreadVSE3d.lib") -file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/lib/libpthreadVC3.lib") -file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/lib/libpthreadVCE3.lib") -file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/lib/libpthreadVSE3.lib") +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + vcpkg_list(APPEND OPTIONS_DEBUG "BUILD_STATIC=1") + vcpkg_list(APPEND OPTIONS_RELEASE "BUILD_STATIC=1") +endif() -file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/pthreadVC3d.lib") -file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/pthreadVCE3d.lib") -file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/pthreadVSE3d.lib") -file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/lib/pthreadVC3.lib") -file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/lib/pthreadVCE3.lib") -file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/lib/pthreadVSE3.lib") +vcpkg_install_nmake( + CL_LANGUAGE C + SOURCE_PATH "${SOURCE_PATH}" + PROJECT_NAME Makefile + OPTIONS_DEBUG ${OPTIONS_DEBUG} + OPTIONS_RELEASE ${OPTIONS_RELEASE} +) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/libpthreadVC3.lib") - file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/libpthreadVCE3.lib") - file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/libpthreadVSE3.lib") - file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/lib/libpthreadVC3d.lib") - file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/lib/libpthreadVCE3d.lib") - file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/lib/libpthreadVSE3d.lib") -endif() +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin") - file(RENAME ${CURRENT_PACKAGES_DIR}/lib/libpthreadVC3.lib ${CURRENT_PACKAGES_DIR}/lib/pthreadVC3.lib) - file(RENAME ${CURRENT_PACKAGES_DIR}/lib/libpthreadVCE3.lib ${CURRENT_PACKAGES_DIR}/lib/pthreadVCE3.lib) - file(RENAME ${CURRENT_PACKAGES_DIR}/lib/libpthreadVSE3.lib ${CURRENT_PACKAGES_DIR}/lib/pthreadVSE3.lib) - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/libpthreadVC3d.lib ${CURRENT_PACKAGES_DIR}/debug/lib/pthreadVC3d.lib) - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/libpthreadVCE3d.lib ${CURRENT_PACKAGES_DIR}/debug/lib/pthreadVCE3d.lib) - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/libpthreadVSE3d.lib ${CURRENT_PACKAGES_DIR}/debug/lib/pthreadVSE3d.lib) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") endif() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/PThreads4WConfig.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/PThreads4W") +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper-pthread.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/pthread" RENAME vcpkg-cmake-wrapper.cmake) +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper-pthreads.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/pthreads" RENAME vcpkg-cmake-wrapper.cmake) +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper-pthreads-windows.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/PThreads_windows" RENAME vcpkg-cmake-wrapper.cmake) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/pthread) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/pthreads) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/pthreads_windows) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) -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}") set(VCPKG_POLICY_ALLOW_RESTRICTED_HEADERS enabled) diff --git a/ports/pthreads/usage b/ports/pthreads/usage index 343c97f4406e59..69dcfd08c2ea1f 100644 --- a/ports/pthreads/usage +++ b/ports/pthreads/usage @@ -1,9 +1,4 @@ The package pthreads provides CMake targets: - find_package(pthreads REQUIRED) - + find_package(PThreads4W REQUIRED) target_link_libraries(main PRIVATE PThreads4W::PThreads4W) - #or - target_link_libraries(main PRIVATE PThreads4W::PThreads4W_CXXEXC) - #or - target_link_libraries(main PRIVATE PThreads4W::PThreads4W_STRUCTEXC) \ No newline at end of file diff --git a/ports/pthreads/vcpkg-cmake-wrapper-pthread.cmake b/ports/pthreads/vcpkg-cmake-wrapper-pthread.cmake new file mode 100644 index 00000000000000..0d0515ce59044e --- /dev/null +++ b/ports/pthreads/vcpkg-cmake-wrapper-pthread.cmake @@ -0,0 +1,13 @@ +_find_package(PThreads4W) +set(PTHREAD_INCLUDE_DIR "${PThreads4W_INCLUDE_DIR}") +set(PTHREAD_LIBRARY "${PThreads4W_LIBRARY}") +set(PTHREAD_LIBRARIES "${PThreads4W_LIBRARY}") +set(PTHREAD_VERSION "${PThreads4W_VERSION}") +set(LIBPTHREAD "${PThreads4W_LIBRARY}") +set(LIBPTHREADS "${PThreads4W_LIBRARY}") + +if(PThreads4W_FOUND) + set(PTHREAD_FOUND TRUE) + set(LIBPTHREAD_FOUND TRUE) + set(LIBPTHREADS_FOUND TRUE) +endif() diff --git a/ports/pthreads/vcpkg-cmake-wrapper-pthreads-windows.cmake b/ports/pthreads/vcpkg-cmake-wrapper-pthreads-windows.cmake new file mode 100644 index 00000000000000..e648ecf640d8b7 --- /dev/null +++ b/ports/pthreads/vcpkg-cmake-wrapper-pthreads-windows.cmake @@ -0,0 +1,39 @@ +_find_package(PThreads4W) +set(PThreads_windows_INCLUDE_DIR "${PThreads4W_INCLUDE_DIR}") +set(PThreads_windows_LIBRARY "${PThreads4W_LIBRARY}") +set(PThreads_windows_LIBRARIES "${PThreads4W_LIBRARY}") +set(PThreads_windows_VERSION "${PThreads4W_VERSION}") + +if(PThreads4W_FOUND) + set(PThreads_windows_FOUND TRUE) + + if(NOT TARGET PThreads_windows::PThreads_windows) + if( EXISTS "${PThreads4W_LIBRARY_RELEASE_DLL}" ) + add_library( PThreads_windows::PThreads_windows SHARED IMPORTED ) + set_target_properties( PThreads_windows::PThreads_windows PROPERTIES + IMPORTED_LOCATION_RELEASE "${PThreads4W_LIBRARY_RELEASE_DLL}" + IMPORTED_IMPLIB "${PThreads4W_LIBRARY_RELEASE}" + INTERFACE_INCLUDE_DIRECTORIES "${PThreads4W_INCLUDE_DIR}" + IMPORTED_CONFIGURATIONS Release + IMPORTED_LINK_INTERFACE_LANGUAGES "C" ) + if( EXISTS "${PThreads4W_LIBRARY_DEBUG_DLL}" ) + set_property( TARGET PThreads_windows::PThreads_windows APPEND PROPERTY IMPORTED_CONFIGURATIONS Debug ) + set_target_properties( PThreads_windows::PThreads_windows PROPERTIES + IMPORTED_LOCATION_DEBUG "${PThreads4W_LIBRARY_DEBUG_DLL}" + IMPORTED_IMPLIB_DEBUG "${PThreads4W_LIBRARY_DEBUG}" ) + endif() + else() + add_library( PThreads_windows::PThreads_windows UNKNOWN IMPORTED ) + set_target_properties( PThreads_windows::PThreads_windows PROPERTIES + IMPORTED_LOCATION_RELEASE "${PThreads4W_LIBRARY_RELEASE}" + INTERFACE_INCLUDE_DIRECTORIES "${PThreads4W_INCLUDE_DIR}" + IMPORTED_CONFIGURATIONS Release + IMPORTED_LINK_INTERFACE_LANGUAGES "C" ) + if( EXISTS "${PThreads4W_LIBRARY_DEBUG}" ) + set_property( TARGET PThreads_windows::PThreads_windows APPEND PROPERTY IMPORTED_CONFIGURATIONS Debug ) + set_target_properties( PThreads_windows::PThreads_windows PROPERTIES + IMPORTED_LOCATION_DEBUG "${PThreads4W_LIBRARY_DEBUG}" ) + endif() + endif() + endif() +endif() diff --git a/ports/pthreads/vcpkg-cmake-wrapper-pthreads.cmake b/ports/pthreads/vcpkg-cmake-wrapper-pthreads.cmake new file mode 100644 index 00000000000000..453c5c24ade672 --- /dev/null +++ b/ports/pthreads/vcpkg-cmake-wrapper-pthreads.cmake @@ -0,0 +1,39 @@ +_find_package(PThreads4W) +set(pthreads_INCLUDE_DIR "${PThreads4W_INCLUDE_DIR}") +set(pthreads_LIBRARY "${PThreads4W_LIBRARY}") +set(pthreads_LIBRARIES "${PThreads4W_LIBRARY}") +set(pthreads_VERSION "${PThreads4W_VERSION}") + +if(PThreads4W_FOUND) + set(pthreads_FOUND TRUE) + + if(NOT TARGET PThreads_windows::PThreads_windows) + if( EXISTS "${PThreads4W_LIBRARY_RELEASE_DLL}" ) + add_library( PThreads_windows::PThreads_windows SHARED IMPORTED ) + set_target_properties( PThreads_windows::PThreads_windows PROPERTIES + IMPORTED_LOCATION_RELEASE "${PThreads4W_LIBRARY_RELEASE_DLL}" + IMPORTED_IMPLIB "${PThreads4W_LIBRARY_RELEASE}" + INTERFACE_INCLUDE_DIRECTORIES "${PThreads4W_INCLUDE_DIR}" + IMPORTED_CONFIGURATIONS Release + IMPORTED_LINK_INTERFACE_LANGUAGES "C" ) + if( EXISTS "${PThreads4W_LIBRARY_DEBUG_DLL}" ) + set_property( TARGET PThreads_windows::PThreads_windows APPEND PROPERTY IMPORTED_CONFIGURATIONS Debug ) + set_target_properties( PThreads_windows::PThreads_windows PROPERTIES + IMPORTED_LOCATION_DEBUG "${PThreads4W_LIBRARY_DEBUG_DLL}" + IMPORTED_IMPLIB_DEBUG "${PThreads4W_LIBRARY_DEBUG}" ) + endif() + else() + add_library( PThreads_windows::PThreads_windows UNKNOWN IMPORTED ) + set_target_properties( PThreads_windows::PThreads_windows PROPERTIES + IMPORTED_LOCATION_RELEASE "${PThreads4W_LIBRARY_RELEASE}" + INTERFACE_INCLUDE_DIRECTORIES "${PThreads4W_INCLUDE_DIR}" + IMPORTED_CONFIGURATIONS Release + IMPORTED_LINK_INTERFACE_LANGUAGES "C" ) + if( EXISTS "${PThreads4W_LIBRARY_DEBUG}" ) + set_property( TARGET PThreads_windows::PThreads_windows APPEND PROPERTY IMPORTED_CONFIGURATIONS Debug ) + set_target_properties( PThreads_windows::PThreads_windows PROPERTIES + IMPORTED_LOCATION_DEBUG "${PThreads4W_LIBRARY_DEBUG}" ) + endif() + endif() + endif() +endif() diff --git a/ports/pthreads/vcpkg-cmake-wrapper.cmake b/ports/pthreads/vcpkg-cmake-wrapper.cmake deleted file mode 100644 index f9818d38456d1b..00000000000000 --- a/ports/pthreads/vcpkg-cmake-wrapper.cmake +++ /dev/null @@ -1,227 +0,0 @@ -#.rst: -# PThreads4W config wrap for vcpkg -# ------------ -# -# Find the PThread4W includes and library. -# -# Result Variables -# ^^^^^^^^^^^^^^^^ -# -# This script defines the following variables: -# -# ``PThreads4W_FOUND`` -# True if PThreads4W library found -# -# ``PThreads4W_VERSION`` -# Containing the PThreads4W version tag (manually defined) -# -# ``PThreads4W_INCLUDE_DIR`` -# Location of PThreads4W headers -# -# ``PThreads4W_LIBRARY`` -# List of libraries to link with when using PThreads4W (no exception handling) -# -# ``PThreads4W_CXXEXC_LIBRARY`` -# List of libraries to link with when using PThreads4W (C++ exception handling) -# -# ``PThreads4W_STRUCTEXC_LIBRARY`` -# List of libraries to link with when using PThreads4W (struct exception handling) -# -# Result Targets -# ^^^^^^^^^^^^^^^^ -# -# This script defines the following targets: -# -# ``PThreads4W::PThreads4W`` -# Target to use PThreads4W (no exception handling) -# -# ``PThreads4W::PThreads4W_CXXEXC`` -# Target to use PThreads4W (C++ exception handling) -# -# ``PThreads4W::PThreads4W_STRUCTEXC`` -# Target to use PThreads4W (struct exception handling) -# - -include(${CMAKE_ROOT}/Modules/FindPackageHandleStandardArgs.cmake) -include(${CMAKE_ROOT}/Modules/SelectLibraryConfigurations.cmake) - -if(NOT PThreads4W_INCLUDE_DIR) - find_path(PThreads4W_INCLUDE_DIR NAMES pthread.h) -endif() - -set(PThreads4W_MAJOR_VERSION 3) -set(PThreads4W_MINOR_VERSION 0) -set(PThreads4W_PATCH_VERSION 0) -set(PThreads4W_VERSION "${PThreads4W_MAJOR_VERSION}.${PThreads4W_MINOR_VERSION}.${PThreads4W_PATCH_VERSION}") - -# Allow libraries to be set manually -if(NOT PThreads4W_LIBRARY) - find_library(PThreads4W_LIBRARY_RELEASE NAMES pthreadVC${PThreads4W_MAJOR_VERSION}) - find_library(PThreads4W_LIBRARY_DEBUG NAMES pthreadVC${PThreads4W_MAJOR_VERSION}d) - select_library_configurations(PThreads4W) -endif() -if(NOT PThreads4W_CXXEXC_LIBRARY) - find_library(PThreads4W_CXXEXC_LIBRARY_RELEASE NAMES pthreadVCE${PThreads4W_MAJOR_VERSION}) - find_library(PThreads4W_CXXEXC_LIBRARY_DEBUG NAMES pthreadVCE${PThreads4W_MAJOR_VERSION}d) - select_library_configurations(PThreads4W_CXXEXC) -endif() -if(NOT PThreads4W_STRUCTEXC_LIBRARY) - find_library(PThreads4W_STRUCTEXC_LIBRARY_RELEASE NAMES pthreadVSE${PThreads4W_MAJOR_VERSION}) - find_library(PThreads4W_STRUCTEXC_LIBRARY_DEBUG NAMES pthreadVSE${PThreads4W_MAJOR_VERSION}d) - select_library_configurations(PThreads4W_STRUCTEXC) -endif() - -find_package_handle_standard_args(PThreads4W DEFAULT_MSG PThreads4W_LIBRARY PThreads4W_CXXEXC_LIBRARY PThreads4W_STRUCTEXC_LIBRARY PThreads4W_INCLUDE_DIR) -mark_as_advanced(PThreads4W_INCLUDE_DIR PThreads4W_LIBRARY PThreads4W_CXXEXC_LIBRARY PThreads4W_STRUCTEXC_LIBRARY) - -set(PThreads4W_DLL_DIR ${PThreads4W_INCLUDE_DIR}) -list(TRANSFORM PThreads4W_DLL_DIR APPEND "/../bin") -message(STATUS "PThreads4W_DLL_DIR: ${PThreads4W_DLL_DIR}") -set(PThreads4W_DEBUG_DLL_DIR ${PThreads4W_INCLUDE_DIR}) -list(TRANSFORM PThreads4W_DEBUG_DLL_DIR APPEND "/../debug/bin") -message(STATUS "PThreads4W_DEBUG_DLL_DIR: ${PThreads4W_DEBUG_DLL_DIR}") - -find_file(PThreads4W_LIBRARY_RELEASE_DLL NAMES pthreadVC${PThreads4W_MAJOR_VERSION}.dll PATHS ${PThreads4W_DLL_DIR}) -find_file(PThreads4W_LIBRARY_DEBUG_DLL NAMES pthreadVC${PThreads4W_MAJOR_VERSION}d.dll PATHS ${PThreads4W_DEBUG_DLL_DIR}) -find_file(PThreads4W_CXXEXC_LIBRARY_RELEASE_DLL NAMES pthreadVCE${PThreads4W_MAJOR_VERSION}.dll PATHS ${PThreads4W_DLL_DIR}) -find_file(PThreads4W_CXXEXC_LIBRARY_DEBUG_DLL NAMES pthreadVCE${PThreads4W_MAJOR_VERSION}d.dll PATHS ${PThreads4W_DEBUG_DLL_DIR}) -find_file(PThreads4W_STRUCTEXC_LIBRARY_RELEASE_DLL NAMES pthreadVSE${PThreads4W_MAJOR_VERSION}.dll PATHS ${PThreads4W_DLL_DIR}) -find_file(PThreads4W_STRUCTEXC_LIBRARY_DEBUG_DLL NAMES pthreadVSE${PThreads4W_MAJOR_VERSION}d.dll PATHS ${PThreads4W_DEBUG_DLL_DIR}) - -#Compatibility definitions, deprecated -set(PTHREAD_INCLUDE_DIR ${PThreads4W_INCLUDE_DIR} CACHE PATH "") -set(PTHREADS_INCLUDE_DIR ${PThreads4W_INCLUDE_DIR} CACHE PATH "") -set(PThreads_windows_INCLUDE_DIR ${PThreads4W_INCLUDE_DIR} CACHE PATH "") -set(PTHREAD_LIBRARIES ${PThreads4W_LIBRARY} CACHE STRING "") -set(PTHREADS_LIBRARIES ${PThreads4W_LIBRARY} CACHE STRING "") -set(PTHREAD_LIBRARY ${PThreads4W_LIBRARY} CACHE STRING "") -set(PTHREADS_LIBRARY ${PThreads4W_LIBRARY} CACHE STRING "") -set(LIBPTHREAD ${PThreads4W_LIBRARY} CACHE STRING "") -set(LIBPTHREADS ${PThreads4W_LIBRARY} CACHE STRING "") -set(PThreads_windows_LIBRARY ${PThreads4W_LIBRARY} CACHE STRING "") -set(PThreads_VERSION "${PThreads4W_VERSION}") -if(PThreads4W_FOUND) - set(PThreads_windows_FOUND TRUE) -endif() - -#TARGETS -if( PThreads4W_FOUND AND NOT TARGET PThreads4W::PThreads4W_CXXEXC ) - if( EXISTS "${PThreads4W_CXXEXC_LIBRARY_RELEASE_DLL}" ) - add_library( PThreads4W::PThreads4W_CXXEXC SHARED IMPORTED ) - set_target_properties( PThreads4W::PThreads4W_CXXEXC PROPERTIES - IMPORTED_LOCATION_RELEASE "${PThreads4W_CXXEXC_LIBRARY_RELEASE_DLL}" - IMPORTED_IMPLIB "${PThreads4W_CXXEXC_LIBRARY_RELEASE}" - INTERFACE_INCLUDE_DIRECTORIES "${PThreads4W_INCLUDE_DIR}" - IMPORTED_CONFIGURATIONS Release - IMPORTED_LINK_INTERFACE_LANGUAGES "C" ) - if( EXISTS "${PThreads4W_CXXEXC_LIBRARY_DEBUG_DLL}" ) - set_property( TARGET PThreads4W::PThreads4W_CXXEXC APPEND PROPERTY IMPORTED_CONFIGURATIONS Debug ) - set_target_properties( PThreads4W::PThreads4W_CXXEXC PROPERTIES - IMPORTED_LOCATION_DEBUG "${PThreads4W_CXXEXC_LIBRARY_DEBUG_DLL}" - IMPORTED_IMPLIB_DEBUG "${PThreads4W_CXXEXC_LIBRARY_DEBUG}" ) - endif() - else() - add_library( PThreads4W::PThreads4W_CXXEXC UNKNOWN IMPORTED ) - set_target_properties( PThreads4W::PThreads4W_CXXEXC PROPERTIES - IMPORTED_LOCATION_RELEASE "${PThreads4W_CXXEXC_LIBRARY_RELEASE}" - INTERFACE_INCLUDE_DIRECTORIES "${PThreads4W_INCLUDE_DIR}" - IMPORTED_CONFIGURATIONS Release - IMPORTED_LINK_INTERFACE_LANGUAGES "C" ) - if( EXISTS "${PThreads4W_CXXEXC_LIBRARY_DEBUG}" ) - set_property( TARGET PThreads4W::PThreads4W_CXXEXC APPEND PROPERTY IMPORTED_CONFIGURATIONS Debug ) - set_target_properties( PThreads4W::PThreads4W_CXXEXC PROPERTIES - IMPORTED_LOCATION_DEBUG "${PThreads4W_CXXEXC_LIBRARY_DEBUG}" ) - endif() - endif() -endif() - -if( PThreads4W_FOUND AND NOT TARGET PThreads4W::PThreads4W_STRUCTEXC ) - if( EXISTS "${PThreads4W_STRUCTEXC_LIBRARY_RELEASE_DLL}" ) - add_library( PThreads4W::PThreads4W_STRUCTEXC SHARED IMPORTED ) - set_target_properties( PThreads4W::PThreads4W_STRUCTEXC PROPERTIES - IMPORTED_LOCATION_RELEASE "${PThreads4W_STRUCTEXC_LIBRARY_RELEASE_DLL}" - IMPORTED_IMPLIB "${PThreads4W_STRUCTEXC_LIBRARY_RELEASE}" - INTERFACE_INCLUDE_DIRECTORIES "${PThreads4W_INCLUDE_DIR}" - IMPORTED_CONFIGURATIONS Release - IMPORTED_LINK_INTERFACE_LANGUAGES "C" ) - if( EXISTS "${PThreads4W_STRUCTEXC_LIBRARY_DEBUG_DLL}" ) - set_property( TARGET PThreads4W::PThreads4W_STRUCTEXC APPEND PROPERTY IMPORTED_CONFIGURATIONS Debug ) - set_target_properties( PThreads4W::PThreads4W_STRUCTEXC PROPERTIES - IMPORTED_LOCATION_DEBUG "${PThreads4W_STRUCTEXC_LIBRARY_DEBUG_DLL}" - IMPORTED_IMPLIB_DEBUG "${PThreads4W_STRUCTEXC_LIBRARY_DEBUG}" ) - endif() - else() - add_library( PThreads4W::PThreads4W_STRUCTEXC UNKNOWN IMPORTED ) - set_target_properties( PThreads4W::PThreads4W_STRUCTEXC PROPERTIES - IMPORTED_LOCATION_RELEASE "${PThreads4W_STRUCTEXC_LIBRARY_RELEASE}" - INTERFACE_INCLUDE_DIRECTORIES "${PThreads4W_INCLUDE_DIR}" - IMPORTED_CONFIGURATIONS Release - IMPORTED_LINK_INTERFACE_LANGUAGES "C" ) - if( EXISTS "${PThreads4W_STRUCTEXC_LIBRARY_DEBUG}" ) - set_property( TARGET PThreads4W::PThreads4W_STRUCTEXC APPEND PROPERTY IMPORTED_CONFIGURATIONS Debug ) - set_target_properties( PThreads4W::PThreads4W_STRUCTEXC PROPERTIES - IMPORTED_LOCATION_DEBUG "${PThreads4W_STRUCTEXC_LIBRARY_DEBUG}" ) - endif() - endif() -endif() - -if( PThreads4W_FOUND AND NOT TARGET PThreads4W::PThreads4W ) - if( EXISTS "${PThreads4W_LIBRARY_RELEASE_DLL}" ) - add_library( PThreads4W::PThreads4W SHARED IMPORTED ) - set_target_properties( PThreads4W::PThreads4W PROPERTIES - IMPORTED_LOCATION_RELEASE "${PThreads4W_LIBRARY_RELEASE_DLL}" - IMPORTED_IMPLIB "${PThreads4W_LIBRARY_RELEASE}" - INTERFACE_INCLUDE_DIRECTORIES "${PThreads4W_INCLUDE_DIR}" - IMPORTED_CONFIGURATIONS Release - IMPORTED_LINK_INTERFACE_LANGUAGES "C" ) - if( EXISTS "${PThreads4W_LIBRARY_DEBUG_DLL}" ) - set_property( TARGET PThreads4W::PThreads4W APPEND PROPERTY IMPORTED_CONFIGURATIONS Debug ) - set_target_properties( PThreads4W::PThreads4W PROPERTIES - IMPORTED_LOCATION_DEBUG "${PThreads4W_LIBRARY_DEBUG_DLL}" - IMPORTED_IMPLIB_DEBUG "${PThreads4W_LIBRARY_DEBUG}" ) - endif() - else() - add_library( PThreads4W::PThreads4W UNKNOWN IMPORTED ) - set_target_properties( PThreads4W::PThreads4W PROPERTIES - IMPORTED_LOCATION_RELEASE "${PThreads4W_LIBRARY_RELEASE}" - INTERFACE_INCLUDE_DIRECTORIES "${PThreads4W_INCLUDE_DIR}" - IMPORTED_CONFIGURATIONS Release - IMPORTED_LINK_INTERFACE_LANGUAGES "C" ) - if( EXISTS "${PThreads4W_LIBRARY_DEBUG}" ) - set_property( TARGET PThreads4W::PThreads4W APPEND PROPERTY IMPORTED_CONFIGURATIONS Debug ) - set_target_properties( PThreads4W::PThreads4W PROPERTIES - IMPORTED_LOCATION_DEBUG "${PThreads4W_LIBRARY_DEBUG}" ) - endif() - endif() -endif() - -#Compatibility targets, deprecated -if( PThreads4W_FOUND AND NOT TARGET PThreads_windows::PThreads_windows ) - if( EXISTS "${PThreads4W_LIBRARY_RELEASE_DLL}" ) - add_library( PThreads_windows::PThreads_windows SHARED IMPORTED ) - set_target_properties( PThreads_windows::PThreads_windows PROPERTIES - IMPORTED_LOCATION_RELEASE "${PThreads4W_LIBRARY_RELEASE_DLL}" - IMPORTED_IMPLIB "${PThreads4W_LIBRARY_RELEASE}" - INTERFACE_INCLUDE_DIRECTORIES "${PThreads4W_INCLUDE_DIR}" - IMPORTED_CONFIGURATIONS Release - IMPORTED_LINK_INTERFACE_LANGUAGES "C" ) - if( EXISTS "${PThreads4W_LIBRARY_DEBUG_DLL}" ) - set_property( TARGET PThreads_windows::PThreads_windows APPEND PROPERTY IMPORTED_CONFIGURATIONS Debug ) - set_target_properties( PThreads_windows::PThreads_windows PROPERTIES - IMPORTED_LOCATION_DEBUG "${PThreads4W_LIBRARY_DEBUG_DLL}" - IMPORTED_IMPLIB_DEBUG "${PThreads4W_LIBRARY_DEBUG}" ) - endif() - else() - add_library( PThreads_windows::PThreads_windows UNKNOWN IMPORTED ) - set_target_properties( PThreads_windows::PThreads_windows PROPERTIES - IMPORTED_LOCATION_RELEASE "${PThreads4W_LIBRARY_RELEASE}" - INTERFACE_INCLUDE_DIRECTORIES "${PThreads4W_INCLUDE_DIR}" - IMPORTED_CONFIGURATIONS Release - IMPORTED_LINK_INTERFACE_LANGUAGES "C" ) - if( EXISTS "${PThreads4W_LIBRARY_DEBUG}" ) - set_property( TARGET PThreads_windows::PThreads_windows APPEND PROPERTY IMPORTED_CONFIGURATIONS Debug ) - set_target_properties( PThreads_windows::PThreads_windows PROPERTIES - IMPORTED_LOCATION_DEBUG "${PThreads4W_LIBRARY_DEBUG}" ) - endif() - endif() -endif() diff --git a/ports/pthreads/vcpkg.json b/ports/pthreads/vcpkg.json index db809649bf64b0..40c9c979314433 100644 --- a/ports/pthreads/vcpkg.json +++ b/ports/pthreads/vcpkg.json @@ -1,7 +1,14 @@ { "name": "pthreads", "version": "3.0.0", - "port-version": 10, - "description": "pthreads for windows", - "homepage": "https://sourceware.org/pub/pthreads-win32/" + "port-version": 14, + "description": "Meta-package that provides PThreads4W on Windows, or assumes presence of system pthreads on POSIX systems.", + "homepage": "https://sourceforge.net/projects/pthreads4w/", + "license": "Apache-2.0", + "dependencies": [ + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/pthreads/whitespace_in_path.patch b/ports/pthreads/whitespace_in_path.patch new file mode 100644 index 00000000000000..77a24c1cb1877e --- /dev/null +++ b/ports/pthreads/whitespace_in_path.patch @@ -0,0 +1,27 @@ +--- a/Makefile Sat Apr 29 09:21:07 2023 ++++ b/Makefile Sat Apr 29 09:19:07 2023 +@@ -223,15 +223,15 @@ + + # Very basic install. It assumes "realclean" was done just prior to build target. + install: +- if not exist $(DLLDEST) mkdir $(DLLDEST) +- if not exist $(LIBDEST) mkdir $(LIBDEST) +- if not exist $(HDRDEST) mkdir $(HDRDEST) +- if exist pthreadV*.dll copy pthreadV*.dll $(DLLDEST) +- if exist pthreadV*.lib copy pthreadV*.lib $(LIBDEST) +- copy _ptw32.h $(HDRDEST) +- copy pthread.h $(HDRDEST) +- copy sched.h $(HDRDEST) +- copy semaphore.h $(HDRDEST) ++ if not exist "$(DLLDEST)" mkdir "$(DLLDEST)" ++ if not exist "$(LIBDEST)" mkdir "$(LIBDEST)" ++ if not exist "$(HDRDEST)" mkdir "$(HDRDEST)" ++ if exist pthreadV*.dll copy pthreadV*.dll "$(DLLDEST)" ++ if exist pthreadV*.lib copy pthreadV*.lib "$(LIBDEST)" ++ copy _ptw32.h "$(HDRDEST)" ++ copy pthread.h "$(HDRDEST)" ++ copy sched.h "$(HDRDEST)" ++ copy semaphore.h "$(HDRDEST)" + + $(DLLS): $(DLL_OBJS) + $(CC) /LDd /Zi $(DLL_OBJS) /link /implib:$*.lib $(XLIBS) /out:$@ diff --git a/ports/ptyqt/portfile.cmake b/ports/ptyqt/portfile.cmake new file mode 100644 index 00000000000000..c478deaced6ce5 --- /dev/null +++ b/ports/ptyqt/portfile.cmake @@ -0,0 +1,42 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO kafeg/ptyqt + REF 0.6.5 + SHA512 0deb12be6c0e7bb44775daef3d4361c5d22143bc32cbf251ef99f10784b8996c4aa8e2806f1e08c3b39749ada6e85be91d721830ceee5d6ff86eaf714ef4c928 + HEAD_REF master +) + +if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") + set(VCPKG_CXX_FLAGS "${VCPKG_CXX_FLAGS} -lrt") + set(VCPKG_C_FLAGS "${VCPKG_C_FLAGS} -lrt") + + if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") + file(READ ${SOURCE_PATH}/core/CMakeLists.txt filedata) + string(REPLACE "-static-libstdc++" "-static-libstdc++ -lglib-2.0" filedata "${filedata}") + file(WRITE ${SOURCE_PATH}/core/CMakeLists.txt "${filedata}") + else() + file(READ ${SOURCE_PATH}/core/CMakeLists.txt filedata) + string(REPLACE "-static-libstdc++ -lglib-2.0" "-static-libstdc++" filedata "${filedata}") + file(WRITE ${SOURCE_PATH}/core/CMakeLists.txt "${filedata}") + endif() +endif() + +if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + set(BUILD_TYPE SHARED) +else() + set(BUILD_TYPE STATIC) +endif() + +vcpkg_cmake_configure( + SOURCE_PATH ${SOURCE_PATH} + OPTIONS + -DNO_BUILD_TESTS=1 + -DNO_BUILD_EXAMPLES=1 + -DBUILD_TYPE=${BUILD_TYPE} +) + +vcpkg_cmake_install() +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/ptyqt/vcpkg.json b/ports/ptyqt/vcpkg.json new file mode 100644 index 00000000000000..ff24709cbc533d --- /dev/null +++ b/ports/ptyqt/vcpkg.json @@ -0,0 +1,21 @@ +{ + "name": "ptyqt", + "version": "0.6.5", + "description": "PtyQt - C++ library for work with PseudoTerminals", + "supports": "!uwp", + "dependencies": [ + "qt5-base", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + { + "name": "winpty", + "platform": "windows" + } + ] +} diff --git a/ports/pugixml/portfile.cmake b/ports/pugixml/portfile.cmake index c27b1a89daeddb..5f32c2cf3599d1 100644 --- a/ports/pugixml/portfile.cmake +++ b/ports/pugixml/portfile.cmake @@ -1,22 +1,22 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO zeux/pugixml - REF v1.11.4 - SHA512 a1fdf4cbd744318fd339362465472279767777b18a3c8c7e8618d5e637213c632bf9dd8144d16ae22a75cfbde007f383e2feb49084e681c930fc89a2e3f2bc4f + REF "v${VERSION}" + SHA512 730d203829eb24d6e1c873f9b921ae97cf7a157fd45504151bc2e61adea5c536eaf33ff38c5ad61629b54a6686135ff1834a61102b4660fbb9ead4ecf20dfd34 HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS -DUSE_POSTFIX=ON +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DPUGIXML_BUILD_TESTS=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/pugixml) +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/include") -file(INSTALL ${SOURCE_PATH}/readme.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.md") diff --git a/ports/pugixml/vcpkg.json b/ports/pugixml/vcpkg.json index 28158b325349cd..4f81e3a62f5813 100644 --- a/ports/pugixml/vcpkg.json +++ b/ports/pugixml/vcpkg.json @@ -1,7 +1,17 @@ { "name": "pugixml", - "version-string": "1.11.4", - "port-version": 1, + "version": "1.14", "description": "Light-weight, simple and fast XML parser for C++ with XPath support", - "homepage": "https://github.com/zeux/pugixml" + "homepage": "https://github.com/zeux/pugixml", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/pulsar-client-cpp/disable-warnings.patch b/ports/pulsar-client-cpp/disable-warnings.patch new file mode 100644 index 00000000000000..644015e9d0d3f4 --- /dev/null +++ b/ports/pulsar-client-cpp/disable-warnings.patch @@ -0,0 +1,12 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b004653..4b7abd9 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -88,7 +88,6 @@ elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Intel") + # ?? Don't have this to test with + else() # GCC or Clang are mostly compatible: + # Turn on warnings and enable warnings-as-errors: +- add_compile_options(-Wall -Wformat-security -Wvla -Werror) + # Turn off certain warnings that are too much pain for too little gain: + add_compile_options(-Wno-sign-compare -Wno-deprecated-declarations -Wno-error=cpp) + if (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" OR APPLE) diff --git a/ports/pulsar-client-cpp/portfile.cmake b/ports/pulsar-client-cpp/portfile.cmake new file mode 100644 index 00000000000000..b5e42390e14c84 --- /dev/null +++ b/ports/pulsar-client-cpp/portfile.cmake @@ -0,0 +1,42 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO apache/pulsar-client-cpp + REF "v${VERSION}" + SHA512 9ee1b8d057298079c58c10226dbb07676eb94a11e7aa7b725dd9e0dd4e61e0af7127cda93c8651921fbbf00b91b89e28a88fb9edf3270360886319e94f672e12 + HEAD_REF main + PATCHES + disable-warnings.patch +) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC_LIB) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_DYNAMIC_LIB) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DINTEGRATE_VCPKG=ON + -DBUILD_TESTS=OFF + -DBUILD_PERF_TOOLS=OFF + -DBUILD_DYNAMIC_LIB=${BUILD_DYNAMIC_LIB} + -DBUILD_STATIC_LIB=${BUILD_STATIC_LIB} +) + +vcpkg_cmake_install() + +if (BUILD_STATIC_LIB) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/pulsar/defines.h" + "#ifdef PULSAR_STATIC" + "#if 1") +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() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") +configure_file("${CMAKE_CURRENT_LIST_DIR}/usage" "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" COPYONLY) + +configure_file("${CMAKE_CURRENT_LIST_DIR}/unofficial-pulsar-config.cmake" "${CURRENT_PACKAGES_DIR}/share/unofficial-pulsar/unofficial-pulsar-config.cmake" @ONLY) + +vcpkg_copy_pdbs() diff --git a/ports/pulsar-client-cpp/unofficial-pulsar-config.cmake b/ports/pulsar-client-cpp/unofficial-pulsar-config.cmake new file mode 100644 index 00000000000000..3ae79afaf5bf07 --- /dev/null +++ b/ports/pulsar-client-cpp/unofficial-pulsar-config.cmake @@ -0,0 +1,84 @@ +if (NOT TARGET unofficial::pulsar::pulsar) + get_filename_component(VCPKG_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) + get_filename_component(VCPKG_IMPORT_PREFIX "${VCPKG_IMPORT_PREFIX}" PATH) + get_filename_component(VCPKG_IMPORT_PREFIX "${VCPKG_IMPORT_PREFIX}" PATH) + + find_path(_pulsar_include_dir NAMES "pulsar/Client.h" PATHS "${VCPKG_IMPORT_PREFIX}/include" NO_DEFAULT_PATH) + find_library(_pulsar_library_release NAMES pulsar pulsar-static PATHS "${VCPKG_IMPORT_PREFIX}/lib" NO_DEFAULT_PATH) + find_library(_pulsar_library_debug NAMES pulsar pulsar-static PATHS "${VCPKG_IMPORT_PREFIX}/debug/lib" NO_DEFAULT_PATH) + message(STATUS "Found _pulsar_library_release: ${_pulsar_library_release}") + message(STATUS "Found _pulsar_library_debug: ${_pulsar_library_debug}") + if (NOT _pulsar_include_dir OR NOT _pulsar_library_release) + message(FATAL_ERROR "Broken installation of vcpkg port pulsar-client-cpp") + endif () + + if (MSVC AND "@VCPKG_LIBRARY_LINKAGE@" STREQUAL "dynamic") + find_file(_pulsar_release_dll NAMES "pulsar.dll" PATHS "${VCPKG_IMPORT_PREFIX}/bin" NO_DEFAULT_PATH) + find_file(_pulsar_debug_dll NAMES "pulsar.dll" PATHS "${VCPKG_IMPORT_PREFIX}/debug/bin" NO_DEFAULT_PATH) + if (NOT _pulsar_release_dll) + message(FATAL_ERROR "No pulsar.dll found") + endif () + message(STATUS "Found _pulsar_release_dll: ${_pulsar_release_dll}") + message(STATUS "Found _pulsar_debug_dll: ${_pulsar_debug_dll}") + endif () + + # When CMAKE_BUILD_TYPE is not specified, debug libraries will be found for dependencies except ZLIB. + # So set it with Debug here to link debug ZLIB library by default. + if (NOT CMAKE_BUILD_TYPE) + set(CMAKE_BUILD_TYPE Debug) + endif () + + include(CMakeFindDependencyMacro) + find_dependency(OpenSSL) + find_dependency(ZLIB) + find_dependency(protobuf CONFIG) + find_dependency(CURL CONFIG) + find_dependency(zstd CONFIG) + find_dependency(Snappy CONFIG) + if (MSVC) + find_dependency(dlfcn-win32 CONFIG) + endif () + + if (_pulsar_release_dll) + add_library(unofficial::pulsar::pulsar SHARED IMPORTED) + set_target_properties(unofficial::pulsar::pulsar PROPERTIES + IMPORTED_CONFIGURATIONS "RELEASE" + IMPORTED_IMPLIB_RELEASE "${_pulsar_library_release}" + IMPORTED_LOCATION_RELEASE "${_pulsar_release_dll}") + if (_pulsar_debug_dll) + set_target_properties(unofficial::pulsar::pulsar PROPERTIES + IMPORTED_CONFIGURATIONS "DEBUG;RELEASE" + IMPORTED_IMPLIB_DEBUG "${_pulsar_library_debug}" + IMPORTED_LOCATION_DEBUG "${_pulsar_debug_dll}") + unset(_pulsar_debug_dll CACHE) + endif () + unset(_pulsar_release_dll CACHE) + else () + add_library(unofficial::pulsar::pulsar UNKNOWN IMPORTED) + set_target_properties(unofficial::pulsar::pulsar PROPERTIES + IMPORTED_CONFIGURATIONS "RELEASE" + IMPORTED_LOCATION_RELEASE "${_pulsar_library_release}") + if (_pulsar_library_debug) + set_target_properties(unofficial::pulsar::pulsar PROPERTIES + IMPORTED_CONFIGURATIONS "DEBUG;RELEASE" + IMPORTED_LOCATION_DEBUG "${_pulsar_library_debug}") + unset(_pulsar_library_debug CACHE) + endif () + endif () + set_target_properties(unofficial::pulsar::pulsar PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${_pulsar_include_dir}") + target_link_libraries(unofficial::pulsar::pulsar INTERFACE + OpenSSL::SSL + OpenSSL::Crypto + ZLIB::ZLIB + protobuf::libprotobuf + CURL::libcurl + $,zstd::libzstd_shared,zstd::libzstd_static> + Snappy::snappy + ) + if (MSVC) + target_link_libraries(unofficial::pulsar::pulsar INTERFACE dlfcn-win32::dl) + endif () + unset(_pulsar_library_release CACHE) + unset(_pulsar_include_dir CACHE) +endif () diff --git a/ports/pulsar-client-cpp/usage b/ports/pulsar-client-cpp/usage new file mode 100644 index 00000000000000..474d73f16f63f1 --- /dev/null +++ b/ports/pulsar-client-cpp/usage @@ -0,0 +1,4 @@ +pulsar-client-cpp provides CMake targets: + + find_package(unofficial-pulsar CONFIG REQUIRED) + target_link_libraries(main PRIVATE unofficial::pulsar::pulsar) diff --git a/ports/pulsar-client-cpp/vcpkg.json b/ports/pulsar-client-cpp/vcpkg.json new file mode 100644 index 00000000000000..40e0e046042cbf --- /dev/null +++ b/ports/pulsar-client-cpp/vcpkg.json @@ -0,0 +1,50 @@ +{ + "name": "pulsar-client-cpp", + "version": "3.5.1", + "port-version": 1, + "description": "The Apache Pulsar C++ library", + "homepage": "https://github.com/apache/pulsar-client-cpp", + "license": "Apache-2.0", + "supports": "!(arm & windows) & !android", + "dependencies": [ + "asio", + "boost-accumulators", + "boost-algorithm", + "boost-any", + "boost-circular-buffer", + "boost-date-time", + "boost-format", + "boost-predef", + "boost-property-tree", + "boost-random", + "boost-serialization", + "boost-xpressive", + { + "name": "curl", + "default-features": false, + "features": [ + "openssl" + ] + }, + { + "name": "dlfcn-win32", + "platform": "windows" + }, + "openssl", + { + "name": "protobuf", + "version>=": "3.21.12" + }, + "snappy", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "zlib", + "zstd" + ] +} diff --git a/ports/pulseaudio/portfile.cmake b/ports/pulseaudio/portfile.cmake new file mode 100644 index 00000000000000..f20c4b366095f7 --- /dev/null +++ b/ports/pulseaudio/portfile.cmake @@ -0,0 +1,95 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO pulseaudio/pulseaudio + REF "v${VERSION}" + SHA512 84b5218dca3a6f793eec5427606a09cabcf108a2aad8316c15422c130d76d1ed6de14e93549c6d952e4f33bcd1e7621d30ebaa145986a5e6fc890e0655c00e07 + HEAD_REF master +) + +file(WRITE "${SOURCE_PATH}/.tarball-version" "${VERSION}") +file(REMOVE "${SOURCE_PATH}/git-version-gen") +vcpkg_replace_string ("${SOURCE_PATH}/meson.build" + "run_command(find_program('git-version-gen'), join_paths(meson.current_source_dir(), '.tarball-version'), check : false).stdout().strip()" + "'${VERSION}'") + +set(opts "") +if(VCPKG_TARGET_IS_LINUX) + list(APPEND opts + -Dalsa=enabled + -Doss-output=enabled + ) +else() + list(APPEND opts + -Dalsa=disabled + -Doss-output=disabled + ) +endif() + +vcpkg_configure_meson( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${opts} + -Ddaemon=false + -Dclient=true + -Ddoxygen=false + -Dgcov=false + -Dman=false + -Dtests=false + -Dbashcompletiondir=no + -Dzshcompletiondir=no + + -Dasyncns=disabled # requires port? + -Davahi=disabled + -Dbluez5=disabled + -Dbluez5-native-headset=false + -Dbluez5-ofono-headset=false + -Dconsolekit=disabled + -Ddbus=enabled + -Delogind=disabled + -Dfftw=enabled + -Dglib=enabled + -Dgsettings=disabled + -Dgstreamer=enabled + -Dgtk=disabled + -Dhal-compat=false + -Dipv6=true + -Dopenssl=enabled + -Djack=enabled # jack2? + -Dlirc=enabled # does this need a port? + -Dorc=enabled # does this need a port? "orc" ? + + -Dsoxr=enabled + -Dspeex=enabled + -Dsystemd=disabled + -Dtcpwrap=enabled # dito + -Dudev=disabled # port ? + -Dvalgrind=disabled + -Dx11=disabled + + -Dadrian-aec=false + -Dwebrtc-aec=disabled +) + + +vcpkg_replace_string("${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/config.h" "${CURRENT_PACKAGES_DIR}" "~~invalid~~") +vcpkg_replace_string("${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/config.h" "${SOURCE_PATH}" "~~invalid~~") +if(NOT VCPKG_BUILD_TYPE) + vcpkg_replace_string("${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/config.h" "${CURRENT_PACKAGES_DIR}/debug" "~~invalid~~") + vcpkg_replace_string("${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/config.h" "${SOURCE_PATH}" "~~invalid~~") +endif() + +vcpkg_install_meson() +vcpkg_fixup_pkgconfig() +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/PulseAudio") + +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/bin/padsp" "${CURRENT_PACKAGES_DIR}" [[$(dirname "$0")/../..]]) +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/etc/pulse/client.conf" "${CURRENT_PACKAGES_DIR}" "") +if(NOT VCPKG_BUILD_TYPE) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/etc/pulse/client.conf" "${CURRENT_PACKAGES_DIR}" "") +endif() +vcpkg_copy_tools(TOOL_NAMES pacat pactl padsp pa-info pamon AUTO_CLEAN) + +# Handle copyright +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") diff --git a/ports/pulseaudio/vcpkg.json b/ports/pulseaudio/vcpkg.json new file mode 100644 index 00000000000000..fc70062660b2ef --- /dev/null +++ b/ports/pulseaudio/vcpkg.json @@ -0,0 +1,53 @@ +{ + "name": "pulseaudio", + "version": "17.0", + "port-version": 2, + "description": "PulseAudio is a sound server, originally created to overcome the limitations of the Enlightened Sound Daemon (EsounD)", + "homepage": "https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Community/", + "license": null, + "supports": "!windows & !osx", + "dependencies": [ + { + "name": "alsa", + "platform": "linux" + }, + { + "name": "dbus", + "default-features": false + }, + "fftw3", + { + "name": "glib", + "default-features": false + }, + { + "name": "gstreamer", + "default-features": false + }, + "jack2", + "libatomic-ops", + "libiconv", + { + "name": "libsndfile", + "default-features": false, + "features": [ + "external-libs" + ] + }, + { + "name": "openssl", + "default-features": false + }, + "orc", + "soxr", + "speex", + { + "name": "vcpkg-cmake-config", + "host": true + }, + { + "name": "vcpkg-tool-meson", + "host": true + } + ] +} diff --git a/ports/pulzed-mini/portfile.cmake b/ports/pulzed-mini/portfile.cmake new file mode 100644 index 00000000000000..406f0e1b90f846 --- /dev/null +++ b/ports/pulzed-mini/portfile.cmake @@ -0,0 +1,12 @@ +# Header-only library +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO pulzed/mINI + REF ${VERSION} + SHA512 af29b0e59a2bed460a3a4e071932e0c01c017a57643c9414d360e17aa643bce476dc2941760a0cd904ec24483e67ee7f0df6029dc79254052c6c3c1d0941d4d0 + HEAD_REF master +) + +file(INSTALL "${SOURCE_PATH}/src/mini/ini.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include/mini") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/pulzed-mini/vcpkg.json b/ports/pulzed-mini/vcpkg.json new file mode 100644 index 00000000000000..da79a07712606a --- /dev/null +++ b/ports/pulzed-mini/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "pulzed-mini", + "version": "0.9.14", + "description": "INI file reader and writer", + "homepage": "https://github.com/pulzed/mINI", + "license": "MIT" +} diff --git a/ports/pybind11/portfile.cmake b/ports/pybind11/portfile.cmake index 6277348ad84049..2c63582d1ee159 100644 --- a/ports/pybind11/portfile.cmake +++ b/ports/pybind11/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO pybind/pybind11 - REF v2.8.1 - SHA512 6738b4551a1ca2fdf6676be78216b9056cecf8b4d125f0d1aaae9929614bcbf4a9b233fc3c52b8f9dfd19a9ca1496515e6748c1afd8968b9c52c9a1e8b28da10 + REF "v${VERSION}" + SHA512 497c25b33b09a9c42f67131ab82e35d689e8ce089dd7639be997305ff9a6d502447b79c824508c455d559e61f0186335b54dd2771d903a7c1621833930622d1a HEAD_REF master ) @@ -10,17 +10,15 @@ vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DPYBIND11_TEST=OFF - -DPYBIND11_FINDPYTHON=ON - OPTIONS_RELEASE - -DPYTHON_IS_DEBUG=OFF - OPTIONS_DEBUG - -DPYTHON_IS_DEBUG=ON + # Disable all Python searching, Python required only for tests + -DPYBIND11_NOPYTHON=ON ) vcpkg_cmake_install() vcpkg_cmake_config_fixup(CONFIG_PATH "share/cmake/pybind11") +vcpkg_fixup_pkgconfig() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/") -# copy license -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/pybind11/usage b/ports/pybind11/usage new file mode 100644 index 00000000000000..39f9166e15a75b --- /dev/null +++ b/ports/pybind11/usage @@ -0,0 +1,23 @@ +pybind11 provides CMake targets. There are two modes provided; classic, which is built on the old Python +discovery packages in CMake, or the new FindPython mode, which uses FindPython +from 3.12+ forward (3.15+ _highly_ recommended). + +New FindPython mode: + + find_package(Python COMPONENTS Interpreter Development) + find_package(pybind11 CONFIG) + + # pybind11 method: + pybind11_add_module(MyModule1 src1.cpp) + + # Python method: + Python_add_library(MyModule2 src2.cpp) + target_link_libraries(MyModule2 pybind11::headers) + set_target_properties(MyModule2 PROPERTIES + INTERPROCEDURAL_OPTIMIZATION ON + CXX_VISIBILITY_PRESET ON + VISIBILITY_INLINES_HIDDEN ON + ) + +For more information see here: + https://pybind11.readthedocs.io/en/latest/compiling.html#building-with-cmake \ No newline at end of file diff --git a/ports/pybind11/vcpkg.json b/ports/pybind11/vcpkg.json index 3c6faa3c719f77..1ac3e4685dd8e6 100644 --- a/ports/pybind11/vcpkg.json +++ b/ports/pybind11/vcpkg.json @@ -1,8 +1,10 @@ { "name": "pybind11", - "version-semver": "2.8.1", + "version": "2.13.6", "description": "pybind11 is a lightweight header-only library that exposes C++ types in Python and vice versa, mainly to create Python bindings of existing C++ code", "homepage": "https://github.com/pybind/pybind11", + "license": "BSD-3-Clause", + "supports": "!(arm & windows)", "dependencies": [ "python3", { diff --git a/ports/pystring/portfile.cmake b/ports/pystring/portfile.cmake index 31143c5c9cab97..5059da1ccbca17 100644 --- a/ports/pystring/portfile.cmake +++ b/ports/pystring/portfile.cmake @@ -1,18 +1,19 @@ +vcpkg_minimum_required(VERSION 2022-10-12) # for ${VERSION} + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO imageworks/pystring - REF v1.1.3 - SHA512 a46bb2e96d6eb351a4a8097cde46ac2877d28e88f9e57e0ac36c42e8fc8543517c4be70306a01e2f88a891fc53c612494aeb37f47a200d94b8e1b050ed16eff6 + REF v${VERSION} + SHA512 9c0460fea67885492f9b0d29a9ba312d960fd5e43577cdcfd47faf04397ff4b7e456ed68f1948b923d2f63f9922d576b93e4ca1a27376bcb6d29c683828acb01 HEAD_REF master ) -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} - PREFER_NINJA + SOURCE_PATH "${SOURCE_PATH}" OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON ) @@ -20,4 +21,4 @@ vcpkg_cmake_install() vcpkg_cmake_config_fixup() 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/pystring/vcpkg.json b/ports/pystring/vcpkg.json index 4011f52e790ce6..4c197cdb15819a 100644 --- a/ports/pystring/vcpkg.json +++ b/ports/pystring/vcpkg.json @@ -1,9 +1,9 @@ { "name": "pystring", - "version-semver": "1.1.3", - "port-version": 4, + "version": "1.1.4", "description": "Pystring is a collection of C++ functions which match the interface and behavior of python's string class methods using std::string", "homepage": "https://github.com/imageworks/pystring", + "license": "BSD-3-Clause", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/python2/008-bz2d.patch b/ports/python2/008-bz2d.patch new file mode 100644 index 00000000000000..88ec7405e01aa1 --- /dev/null +++ b/ports/python2/008-bz2d.patch @@ -0,0 +1,19 @@ +diff --git a/setup.py b/setup.py +index f764223..d6a58e4 100644 +--- a/setup.py ++++ b/setup.py +@@ -1506,6 +1506,14 @@ class PyBuildExt(build_ext): + exts.append( Extension('bz2', ['bz2module.c'], + libraries = ['bz2'], + extra_link_args = bz2_extra_link_args) ) ++ elif (self.compiler.find_library_file(lib_dirs, 'bz2d')): ++ if host_platform == "darwin": ++ bz2_extra_link_args = ('-Wl,-search_paths_first',) ++ else: ++ bz2_extra_link_args = () ++ exts.append( Extension('bz2', ['bz2module.c'], ++ libraries=['bz2d'], ++ extra_link_args = bz2_extra_link_args) ) + else: + missing.append('bz2') + diff --git a/ports/python2/portfile.cmake b/ports/python2/portfile.cmake index fdbf8f415b97a6..a822803078c763 100644 --- a/ports/python2/portfile.cmake +++ b/ports/python2/portfile.cmake @@ -15,25 +15,29 @@ set(PYTHON_VERSION ${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}.${PYTH set(_PYTHON_PATCHES "") if (VCPKG_TARGET_IS_WINDOWS) list(APPEND _PYTHON_PATCHES - ${CMAKE_CURRENT_LIST_DIR}/001-build-msvc.patch - ${CMAKE_CURRENT_LIST_DIR}/002-build-msvc.patch - ${CMAKE_CURRENT_LIST_DIR}/003-build-msvc.patch + "${CMAKE_CURRENT_LIST_DIR}/001-build-msvc.patch" + "${CMAKE_CURRENT_LIST_DIR}/002-build-msvc.patch" + "${CMAKE_CURRENT_LIST_DIR}/003-build-msvc.patch" ) endif() if (VCPKG_LIBRARY_LINKAGE STREQUAL static) list(APPEND _PYTHON_PATCHES - ${CMAKE_CURRENT_LIST_DIR}/004-static-library-msvc.patch - ${CMAKE_CURRENT_LIST_DIR}/006-static-fix-headers.patch + "${CMAKE_CURRENT_LIST_DIR}/004-static-library-msvc.patch" + "${CMAKE_CURRENT_LIST_DIR}/006-static-fix-headers.patch" ) endif() if (VCPKG_CRT_LINKAGE STREQUAL static) - list(APPEND _PYTHON_PATCHES ${CMAKE_CURRENT_LIST_DIR}/005-static-crt-msvc.patch) + list(APPEND _PYTHON_PATCHES "${CMAKE_CURRENT_LIST_DIR}/005-static-crt-msvc.patch") endif() if (VCPKG_TARGET_IS_WINDOWS) list(APPEND _PYTHON_PATCHES - ${CMAKE_CURRENT_LIST_DIR}/007-fix-build-path.patch + "${CMAKE_CURRENT_LIST_DIR}/007-fix-build-path.patch" + ) +else() + list(APPEND _PYTHON_PATCHES + "${CMAKE_CURRENT_LIST_DIR}/008-bz2d.patch" ) endif() @@ -44,12 +48,14 @@ vcpkg_download_distfile(ARCHIVE SHA512 a7bb62b51f48ff0b6df0b18f5b0312a523e3110f49c3237936bfe56ed0e26838c0274ff5401bda6fc21bf24337477ccac49e8026c5d651e4b4cafb5eb5086f6c ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" PATCHES ${_PYTHON_PATCHES} ) +vcpkg_replace_string("${SOURCE_PATH}/Makefile.pre.in" "$(INSTALL) -d -m $(DIRMODE)" "$(MKDIR_P)") + if (VCPKG_TARGET_IS_WINDOWS) if (VCPKG_TARGET_ARCHITECTURE MATCHES "x86") set(BUILD_ARCH "Win32") @@ -61,34 +67,89 @@ if (VCPKG_TARGET_IS_WINDOWS) message(FATAL_ERROR "Unsupported architecture: ${VCPKG_TARGET_ARCHITECTURE}") endif() - vcpkg_build_msbuild( - PROJECT_PATH ${SOURCE_PATH}/PCBuild/pythoncore.vcxproj + vcpkg_msbuild_install( + SOURCE_PATH "${SOURCE_PATH}" + PROJECT_SUBPATH "PCBuild/pythoncore.vcxproj" PLATFORM ${BUILD_ARCH} ) vcpkg_copy_pdbs() - file(GLOB HEADERS ${SOURCE_PATH}/Include/*.h) - file(COPY ${HEADERS} ${SOURCE_PATH}/PC/pyconfig.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}) + file(GLOB HEADERS "${SOURCE_PATH}/Include/*.h") + file(COPY ${HEADERS} "${SOURCE_PATH}/PC/pyconfig.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}") - file(COPY ${SOURCE_PATH}/Lib DESTINATION ${CURRENT_PACKAGES_DIR}/share/python${PYTHON_VERSION_MAJOR}) + file(COPY "${SOURCE_PATH}/Lib" DESTINATION "${CURRENT_PACKAGES_DIR}/share/python${PYTHON_VERSION_MAJOR}") - file(COPY ${SOURCE_PATH}/PCBuild/${OUT_DIR}/python${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR}.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib) - file(COPY ${SOURCE_PATH}/PCBuild/${OUT_DIR}/python${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR}_d.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) + file(COPY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/PCBuild/${OUT_DIR}/python${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR}.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/lib") + if(NOT VCPKG_BUILD_TYPE) + file(COPY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/PCBuild/${OUT_DIR}/python${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR}_d.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") + endif() if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - file(COPY ${SOURCE_PATH}/PCBuild/${OUT_DIR}/python${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR}.dll DESTINATION ${CURRENT_PACKAGES_DIR}/bin) - file(COPY ${SOURCE_PATH}/PCBuild/${OUT_DIR}/python${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR}_d.dll DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) + file(COPY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/PCBuild/${OUT_DIR}/python${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR}.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/bin") + if(NOT VCPKG_BUILD_TYPE) + file(COPY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/PCBuild/${OUT_DIR}/python${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR}_d.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin") + endif() endif() else() vcpkg_configure_make( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" ) vcpkg_install_make() + vcpkg_fixup_pkgconfig() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") endif() -# Handle copyright -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/python${PYTHON_VERSION_MAJOR}) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/python${PYTHON_VERSION_MAJOR}/LICENSE ${CURRENT_PACKAGES_DIR}/share/python${PYTHON_VERSION_MAJOR}/copyright) +if (NOT VCPKG_TARGET_IS_WINDOWS) + foreach(lib_suffix IN ITEMS "" "/debug") + set(python_config_file "${CURRENT_PACKAGES_DIR}${lib_suffix}/lib/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}/_sysconfigdata.py") + if(NOT EXISTS "${python_config_file}") + continue() + endif() + + file(READ "${python_config_file}" contents) + + string(PREPEND contents "import os\n_base = os.path.dirname(os.path.dirname(os.path.dirname(__file__)))\n") + # make contents a list of lines + string(REPLACE ";" "\\;" old_contents "${contents}") + string(REGEX REPLACE "\r?\n" ";" old_contents "${contents}") + + set(new_contents "") + foreach(line IN LISTS old_contents) + if(line MATCHES "\"") + string(REGEX REPLACE + "${CURRENT_PACKAGES_DIR}|${CURRENT_INSTALLED_DIR}" + "\" + _base + \"" + line + "${line}" + ) + string(REGEX REPLACE + "\"[^\"]*${CURRENT_BUILDTREES_DIR}[^\"]*\"" + "''" + line + "${line}" + ) + else() + string(REGEX REPLACE + "${CURRENT_PACKAGES_DIR}|${CURRENT_INSTALLED_DIR}" + "' + _base + '" + line + "${line}" + ) + string(REGEX REPLACE + "'[^']*${CURRENT_BUILDTREES_DIR}[^']*'" + "''" + line + "${line}" + ) + endif() + list(APPEND new_contents "${line}") + endforeach() + + list(JOIN new_contents "\n" contents) + file(WRITE "${python_config_file}" "${contents}") + endforeach() +endif() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/python2/vcpkg.json b/ports/python2/vcpkg.json index 9780104ac1d9d5..efd3c6db82d3e7 100644 --- a/ports/python2/vcpkg.json +++ b/ports/python2/vcpkg.json @@ -1,7 +1,16 @@ { "name": "python2", "version": "2.7.18", - "port-version": 1, + "port-version": 7, "description": "The Python programming language as an embeddable library", - "homepage": "https://www.python.org" + "homepage": "https://www.python.org", + "license": "Python-2.0", + "supports": "!(arm & osx) & !(arm & windows) & !uwp", + "dependencies": [ + { + "name": "vcpkg-msbuild", + "host": true, + "platform": "windows" + } + ] } diff --git a/ports/python3/0001-only-build-required-projects.patch b/ports/python3/0001-only-build-required-projects.patch new file mode 100644 index 00000000000000..1c9f047d4b209d --- /dev/null +++ b/ports/python3/0001-only-build-required-projects.patch @@ -0,0 +1,57 @@ +From 6492277e39dbe7dd77d32fdc9ae4b989213ef3c6 Mon Sep 17 00:00:00 2001 +From: Adam Johnson +Date: Wed, 9 Sep 2020 20:15:58 -0400 +Subject: [PATCH 5/6] only build required projects + +strips out tests and unsupported externals (eg tkinter). +--- + PCbuild/_ssl.vcxproj | 2 +- + PCbuild/pcbuild.proj | 14 +++++++------- + 2 files changed, 8 insertions(+), 8 deletions(-) + +diff --git a/PCbuild/_ssl.vcxproj b/PCbuild/_ssl.vcxproj +index 4dffa202b7..e661cb6fb6 100644 +--- a/PCbuild/_ssl.vcxproj ++++ b/PCbuild/_ssl.vcxproj +@@ -111,7 +111,7 @@ + {cf7ac3d1-e2df-41d2-bea6-1e2556cdea26} + false + +- ++ + {86937f53-c189-40ef-8ce8-8759d8e7d480} + false + +diff --git a/PCbuild/pcbuild.proj b/PCbuild/pcbuild.proj +index 4d416c589e..ede9868a8f 100644 +--- a/PCbuild/pcbuild.proj ++++ b/PCbuild/pcbuild.proj +@@ -60,17 +60,17 @@ + + + +- ++ + +- ++ + + + + + + +- +- +- +- ++ ++ ++ ++ + + + +-- +2.28.0.windows.1 + diff --git a/ports/python3/0001-static-library.patch b/ports/python3/0001-static-library.patch deleted file mode 100644 index eef3875742f7b0..00000000000000 --- a/ports/python3/0001-static-library.patch +++ /dev/null @@ -1,77 +0,0 @@ -From 14d91e4f4a9377f47cc4cc33faeeb7c82f64b176 Mon Sep 17 00:00:00 2001 -From: Adam Johnson -Date: Thu, 28 May 2020 17:25:21 -0400 -Subject: [PATCH 1/7] static library - -builds the pythoncore as a static library instead of a DLL ---- - PC/pyconfig.h | 9 +++++++++ - PCbuild/pythoncore.vcxproj | 4 ++-- - 2 files changed, 11 insertions(+), 2 deletions(-) - -diff --git a/PC/pyconfig.h b/PC/pyconfig.h -index d7d3cf081e..34269f0b75 100644 ---- a/PC/pyconfig.h -+++ b/PC/pyconfig.h -@@ -251,6 +251,7 @@ typedef int pid_t; - - /* For Windows the Python core is in a DLL by default. Test - Py_NO_ENABLE_SHARED to find out. Also support MS_NO_COREDLL for b/w compat */ -+#define Py_NO_ENABLE_SHARED - #if !defined(MS_NO_COREDLL) && !defined(Py_NO_ENABLE_SHARED) - # define Py_ENABLE_SHARED 1 /* standard symbol for shared library */ - # define MS_COREDLL /* deprecated old symbol */ -@@ -276,6 +277,14 @@ Py_NO_ENABLE_SHARED to find out. Also support MS_NO_COREDLL for b/w compat */ - # endif /* _DEBUG */ - # endif /* _MSC_VER */ - # endif /* Py_BUILD_CORE */ -+#else -+ /* So MSVC users need not specify the .lib file in their own config */ -+# pragma comment(lib, "version.lib") -+# pragma comment(lib, "shlwapi.lib") -+# pragma comment(lib, "ws2_32.lib") -+# if Py_WINVER > 0x0601 -+# pragma comment(lib, "pathcch.lib") -+# endif /* Py_WINVER */ - #endif /* MS_COREDLL */ - - #if defined(MS_WIN64) -diff --git a/PCbuild/pythoncore.vcxproj b/PCbuild/pythoncore.vcxproj -index 2625d0293d..2f8bdaa931 100644 ---- a/PCbuild/pythoncore.vcxproj -+++ b/PCbuild/pythoncore.vcxproj -@@ -73,7 +73,7 @@ - - - -- DynamicLibrary -+ StaticLibrary - false - - -@@ -102,7 +102,7 @@ - /Zm200 %(AdditionalOptions) - $(PySourcePath)Python;%(AdditionalIncludeDirectories) - $(zlibDir);%(AdditionalIncludeDirectories) -- _USRDLL;Py_BUILD_CORE;Py_BUILD_CORE_BUILTIN;Py_ENABLE_SHARED;MS_DLL_ID="$(SysWinVer)";%(PreprocessorDefinitions) -+ _USRDLL;Py_BUILD_CORE;Py_BUILD_CORE_BUILTIN;MS_DLL_ID="$(SysWinVer)";%(PreprocessorDefinitions) - _Py_HAVE_ZLIB;%(PreprocessorDefinitions) - - -diff --git a/Python/sysmodule.c b/Python/sysmodule.c -index ac49f7867a..f3583345ff 100644 ---- a/Python/sysmodule.c -+++ b/Python/sysmodule.c -@@ -2804,6 +2804,9 @@ _PySys_InitCore(PyThreadState *tstate, PyObject *sysdict) - #ifdef MS_COREDLL - SET_SYS("dllhandle", PyLong_FromVoidPtr(PyWin_DLLhModule)); - SET_SYS_FROM_STRING("winver", PyWin_DLLVersionString); -+#elif defined(MS_WINDOWS) -+ SET_SYS("dllhandle", PyLong_FromVoidPtr(NULL)); -+ SET_SYS_FROM_STRING("winver", MS_DLL_ID); - #endif - #ifdef ABIFLAGS - SET_SYS_FROM_STRING("abiflags", ABIFLAGS); --- -2.28.0.windows.1 - diff --git a/ports/python3/0002-static-library.patch b/ports/python3/0002-static-library.patch new file mode 100644 index 00000000000000..10bb2c0c7b7b26 --- /dev/null +++ b/ports/python3/0002-static-library.patch @@ -0,0 +1,153 @@ +From 14d91e4f4a9377f47cc4cc33faeeb7c82f64b176 Mon Sep 17 00:00:00 2001 +From: Adam Johnson +Date: Thu, 28 May 2020 17:25:21 -0400 +Subject: [PATCH 1/7] static library + +builds the pythoncore as a static library instead of a DLL +--- + PC/pyconfig.h | 9 +++++++++ + PCbuild/pythoncore.vcxproj | 4 ++-- + 2 files changed, 11 insertions(+), 2 deletions(-) + +diff --git a/Modules/getpath.c b/Modules/getpath.c +index d7d3cf081e..34269f0b75 100644 +--- a/Modules/getpath.c ++++ b/Modules/getpath.c +@@ -801,10 +801,12 @@ static int + library_to_dict(PyObject *dict, const char *key) + { + #ifdef MS_WINDOWS ++#ifdef Py_ENABLE_SHARED + extern HMODULE PyWin_DLLhModule; + if (PyWin_DLLhModule) { + return winmodule_to_dict(dict, key, PyWin_DLLhModule); + } ++#endif + #elif defined(WITH_NEXT_FRAMEWORK) + static char modPath[MAXPATHLEN + 1]; + static int modPathInitialized = -1; +diff --git a/PC/pyconfig.h b/PC/pyconfig.h +index d7d3cf081e..34269f0b75 100644 +--- a/PC/pyconfig.h ++++ b/PC/pyconfig.h +@@ -251,6 +251,9 @@ typedef int pid_t; + + /* For Windows the Python core is in a DLL by default. Test + Py_NO_ENABLE_SHARED to find out. Also support MS_NO_COREDLL for b/w compat */ ++#ifndef Py_NO_ENABLE_SHARED ++#define Py_NO_ENABLE_SHARED ++#endif + #if !defined(MS_NO_COREDLL) && !defined(Py_NO_ENABLE_SHARED) + # define Py_ENABLE_SHARED 1 /* standard symbol for shared library */ + # define MS_COREDLL /* deprecated old symbol */ +@@ -276,6 +277,15 @@ Py_NO_ENABLE_SHARED to find out. Also support MS_NO_COREDLL for b/w compat */ + # endif /* _DEBUG */ + # endif /* _MSC_VER */ + # endif /* Py_BUILD_CORE */ ++#else ++ /* So MSVC users need not specify the .lib file in their own config */ ++# pragma comment(lib, "version.lib") ++# pragma comment(lib, "shlwapi.lib") ++# pragma comment(lib, "ws2_32.lib") ++# pragma comment(lib, "bcrypt.lib") ++# if Py_WINVER > 0x0601 ++# pragma comment(lib, "pathcch.lib") ++# endif /* Py_WINVER */ + #endif /* MS_COREDLL */ + + #if defined(MS_WIN64) +diff --git a/PCbuild/pcbuild.proj b/PCbuild/pcbuild.proj +index 70c336a9d3..ba797e8afd 100644 +--- a/PCbuild/pcbuild.proj ++++ b/PCbuild/pcbuild.proj +@@ -45,7 +45,7 @@ + false + + +- ++ + + + +diff --git a/PCbuild/pythoncore.vcxproj b/PCbuild/pythoncore.vcxproj +index 2625d0293d..2f8bdaa931 100644 +--- a/PCbuild/pythoncore.vcxproj ++++ b/PCbuild/pythoncore.vcxproj +@@ -73,7 +73,7 @@ + + + +- DynamicLibrary ++ StaticLibrary + false + + +@@ -102,7 +102,7 @@ + /Zm200 %(AdditionalOptions) + $(PySourcePath)Python;%(AdditionalIncludeDirectories) + $(zlibDir);%(AdditionalIncludeDirectories) +- _USRDLL;Py_BUILD_CORE;Py_BUILD_CORE_BUILTIN;Py_ENABLE_SHARED;MS_DLL_ID="$(SysWinVer)";%(PreprocessorDefinitions) ++ _USRDLL;Py_BUILD_CORE;Py_BUILD_CORE_BUILTIN;MS_DLL_ID="$(SysWinVer)";%(PreprocessorDefinitions) + _Py_HAVE_ZLIB;%(PreprocessorDefinitions) + + +diff --git a/PCbuild/pythoncore.vcxproj b/PCbuild/pythoncore.vcxproj +index 2625d0293d..2f8bdaa931 100644 +--- a/PCbuild/_freeze_module.vcxproj ++++ b/PCbuild/_freeze_module.vcxproj +@@ -88,7 +88,7 @@ + + + +- Py_NO_ENABLE_SHARED;Py_BUILD_CORE;_CONSOLE;%(PreprocessorDefinitions) ++ Py_NO_ENABLE_SHARED;Py_BUILD_CORE;_CONSOLE;MS_DLL_ID="$(SysWinVer)";%(PreprocessorDefinitions) + Disabled + false + +diff --git a/Python/dynload_win.c b/Python/dynload_win.c +index ac49f7867a..f3583345ff 100644 +--- a/Python/dynload_win.c ++++ b/Python/dynload_win.c +@@ -163,6 +163,7 @@ static char *GetPythonImport (HINSTANCE hModule) + return NULL; + } + ++#ifdef Py_ENABLE_SHARED + /* Load python3.dll before loading any extension module that might refer + to it. That way, we can be sure that always the python3.dll corresponding + to this python DLL is loaded, not a python3.dll that might be on the path +@@ -216,6 +217,7 @@ _Py_CheckPython3(void) + return hPython3 != NULL; + #undef MAXPATHLEN + } ++#endif /* Py_ENABLE_SHARED */ + + dl_funcptr _PyImport_FindSharedFuncptrWindows(const char *prefix, + const char *shortname, +@@ -224,7 +226,9 @@ dl_funcptr _PyImport_FindSharedFuncptrWindows(const char *prefix, + dl_funcptr p; + char funcname[258], *import_python; + ++#ifdef Py_ENABLE_SHARED + _Py_CheckPython3(); ++#endif /* Py_ENABLE_SHARED */ + + #if USE_UNICODE_WCHAR_CACHE + const wchar_t *wpathname = _PyUnicode_AsUnicode(pathname); +diff --git a/Python/sysmodule.c b/Python/sysmodule.c +index ac49f7867a..f3583345ff 100644 +--- a/Python/sysmodule.c ++++ b/Python/sysmodule.c +@@ -2804,6 +2804,9 @@ _PySys_InitCore(PyThreadState *tstate, PyObject *sysdict + #ifdef MS_COREDLL + SET_SYS("dllhandle", PyLong_FromVoidPtr(PyWin_DLLhModule)); + SET_SYS_FROM_STRING("winver", PyWin_DLLVersionString); ++#elif defined(MS_WINDOWS) ++ SET_SYS("dllhandle", PyLong_FromVoidPtr(NULL)); ++ SET_SYS_FROM_STRING("winver", MS_DLL_ID); + #endif + #ifdef ABIFLAGS + SET_SYS_FROM_STRING("abiflags", ABIFLAGS); +-- +2.28.0.windows.1 + diff --git a/ports/python3/0002-use-vcpkg-zlib.patch b/ports/python3/0002-use-vcpkg-zlib.patch deleted file mode 100644 index c7f9dd60e0224b..00000000000000 --- a/ports/python3/0002-use-vcpkg-zlib.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 196555707236f4387875749f66620fb519166963 Mon Sep 17 00:00:00 2001 -From: Adam Johnson -Date: Wed, 9 Sep 2020 15:20:36 -0400 -Subject: [PATCH 2/6] use vcpkg zlib - -building without zlib is not a supported configuration, per the warning -messages. ---- - PCbuild/pythoncore.vcxproj | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/PCbuild/pythoncore.vcxproj b/PCbuild/pythoncore.vcxproj -index dbe236829a..5f30a35eb3 100644 ---- a/PCbuild/pythoncore.vcxproj -+++ b/PCbuild/pythoncore.vcxproj -@@ -507,8 +507,10 @@ - - - -- -+ - -+ -+ - - - -@@ -556,7 +558,7 @@ - - - -- -+ - - - --- -2.28.0.windows.1 - diff --git a/ports/python3/0003-devendor-external-dependencies.patch b/ports/python3/0003-devendor-external-dependencies.patch deleted file mode 100644 index 25e3a1489a8fa5..00000000000000 --- a/ports/python3/0003-devendor-external-dependencies.patch +++ /dev/null @@ -1,117 +0,0 @@ -From 6c5c3793cbc6ba2a1d0d623a2bdaa9c2125be516 Mon Sep 17 00:00:00 2001 -From: Adam Johnson -Date: Wed, 9 Sep 2020 15:24:38 -0400 -Subject: [PATCH 3/6] devendor external dependencies - -externally fetched libraries may cause linker errors resulting from -duplicate symbols in downstream projects. ---- - PCbuild/_bz2.vcxproj | 4 +++- - PCbuild/_lzma.vcxproj | 5 ++--- - PCbuild/_sqlite3.vcxproj | 2 +- - PCbuild/_ssl.vcxproj | 2 +- - PCbuild/pyexpat.vcxproj | 6 ++++-- - 5 files changed, 11 insertions(+), 8 deletions(-) - -diff --git a/PCbuild/_bz2.vcxproj b/PCbuild/_bz2.vcxproj -index 3fe95fbf83..6b12e8818e 100644 ---- a/PCbuild/_bz2.vcxproj -+++ b/PCbuild/_bz2.vcxproj -@@ -101,6 +101,8 @@ - - - -+ -+ - - - -@@ -109,7 +111,7 @@ - - - -- -+ - - - -diff --git a/PCbuild/_lzma.vcxproj b/PCbuild/_lzma.vcxproj -index fe076a6fc5..70cc61dd95 100644 ---- a/PCbuild/_lzma.vcxproj -+++ b/PCbuild/_lzma.vcxproj -@@ -94,10 +94,9 @@ - - - $(lzmaDir)src/liblzma/api;%(AdditionalIncludeDirectories) -- WIN32;_FILE_OFFSET_BITS=64;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;LZMA_API_STATIC;%(PreprocessorDefinitions) -+ WIN32;_FILE_OFFSET_BITS=64;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;%(PreprocessorDefinitions) - - -- $(OutDir)liblzma$(PyDebugExt).lib;%(AdditionalDependencies) - - - -@@ -111,7 +110,7 @@ - {cf7ac3d1-e2df-41d2-bea6-1e2556cdea26} - false - -- -+ - {12728250-16eC-4dc6-94d7-e21dd88947f8} - false - -diff --git a/PCbuild/_sqlite3.vcxproj b/PCbuild/_sqlite3.vcxproj -index 7e0062692b..6fb3279a20 100644 ---- a/PCbuild/_sqlite3.vcxproj -+++ b/PCbuild/_sqlite3.vcxproj -@@ -127,7 +127,7 @@ - {cf7ac3d1-e2df-41d2-bea6-1e2556cdea26} - false - -- -+ - {a1a295e5-463c-437f-81ca-1f32367685da} - false - -diff --git a/PCbuild/_ssl.vcxproj b/PCbuild/_ssl.vcxproj -index 4907f49b66..4dffa202b7 100644 ---- a/PCbuild/_ssl.vcxproj -+++ b/PCbuild/_ssl.vcxproj -@@ -99,7 +99,7 @@ - - - -- -+ - _CRT_SECURE_NO_WARNINGS;$(PreprocessorDefinitions) - - -diff --git a/PCbuild/pyexpat.vcxproj b/PCbuild/pyexpat.vcxproj -index b2d9f5d57d..4efb826a05 100644 ---- a/PCbuild/pyexpat.vcxproj -+++ b/PCbuild/pyexpat.vcxproj -@@ -89,17 +89,19 @@ - - - -- -+ - $(PySourcePath)Modules\expat;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;PYEXPAT_EXPORTS;HAVE_EXPAT_H;XML_STATIC;%(PreprocessorDefinitions) - - -- -+ - - - - - -+ -+ - - - --- -2.28.0.windows.1 - diff --git a/ports/python3/0003-use-vcpkg-zlib.patch b/ports/python3/0003-use-vcpkg-zlib.patch new file mode 100644 index 00000000000000..af0b4fa806c948 --- /dev/null +++ b/ports/python3/0003-use-vcpkg-zlib.patch @@ -0,0 +1,39 @@ +From 196555707236f4387875749f66620fb519166963 Mon Sep 17 00:00:00 2001 +From: Adam Johnson +Date: Wed, 9 Sep 2020 15:20:36 -0400 +Subject: [PATCH 2/6] use vcpkg zlib + +building without zlib is not a supported configuration, per the warning +messages. +--- + PCbuild/pythoncore.vcxproj | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/PCbuild/pythoncore.vcxproj b/PCbuild/pythoncore.vcxproj +index dbe236829a..5f30a35eb3 100644 +--- a/PCbuild/pythoncore.vcxproj ++++ b/PCbuild/pythoncore.vcxproj +@@ -540,8 +540,10 @@ + + + +- ++ + ++ ++ + + + +@@ -593,7 +595,7 @@ + + + +- ++ + + + +-- +2.28.0.windows.1 + diff --git a/ports/python3/0004-devendor-external-dependencies.patch b/ports/python3/0004-devendor-external-dependencies.patch new file mode 100644 index 00000000000000..ad31c1eea7bd92 --- /dev/null +++ b/ports/python3/0004-devendor-external-dependencies.patch @@ -0,0 +1,117 @@ +From 6c5c3793cbc6ba2a1d0d623a2bdaa9c2125be516 Mon Sep 17 00:00:00 2001 +From: Adam Johnson +Date: Wed, 9 Sep 2020 15:24:38 -0400 +Subject: [PATCH 3/6] devendor external dependencies + +externally fetched libraries may cause linker errors resulting from +duplicate symbols in downstream projects. +--- + PCbuild/_bz2.vcxproj | 4 +++- + PCbuild/_lzma.vcxproj | 5 ++--- + PCbuild/_sqlite3.vcxproj | 2 +- + PCbuild/_ssl.vcxproj | 2 +- + PCbuild/pyexpat.vcxproj | 6 ++++-- + 5 files changed, 11 insertions(+), 8 deletions(-) + +diff --git a/PCbuild/_bz2.vcxproj b/PCbuild/_bz2.vcxproj +index 3fe95fbf83..6b12e8818e 100644 +--- a/PCbuild/_bz2.vcxproj ++++ b/PCbuild/_bz2.vcxproj +@@ -101,6 +101,8 @@ + + + ++ ++ + + + +@@ -109,7 +111,7 @@ + + + +- ++ + + + +diff --git a/PCbuild/_lzma.vcxproj b/PCbuild/_lzma.vcxproj +index fe076a6fc5..70cc61dd95 100644 +--- a/PCbuild/_lzma.vcxproj ++++ b/PCbuild/_lzma.vcxproj +@@ -94,10 +94,9 @@ + + + $(lzmaDir)src/liblzma/api;%(AdditionalIncludeDirectories) +- WIN32;_FILE_OFFSET_BITS=64;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;LZMA_API_STATIC;%(PreprocessorDefinitions) ++ WIN32;_FILE_OFFSET_BITS=64;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;%(PreprocessorDefinitions) + + +- $(OutDir)liblzma$(PyDebugExt).lib;%(AdditionalDependencies) + + + +@@ -111,7 +110,7 @@ + {cf7ac3d1-e2df-41d2-bea6-1e2556cdea26} + false + +- ++ + {12728250-16eC-4dc6-94d7-e21dd88947f8} + false + +diff --git a/PCbuild/_sqlite3.vcxproj b/PCbuild/_sqlite3.vcxproj +index 7e0062692b..6fb3279a20 100644 +--- a/PCbuild/_sqlite3.vcxproj ++++ b/PCbuild/_sqlite3.vcxproj +@@ -127,7 +127,7 @@ + {cf7ac3d1-e2df-41d2-bea6-1e2556cdea26} + false + +- ++ + {a1a295e5-463c-437f-81ca-1f32367685da} + false + +diff --git a/PCbuild/_ssl.vcxproj b/PCbuild/_ssl.vcxproj +index 4907f49b66..4dffa202b7 100644 +--- a/PCbuild/_ssl.vcxproj ++++ b/PCbuild/_ssl.vcxproj +@@ -99,7 +99,7 @@ + + + +- ++ + _CRT_SECURE_NO_WARNINGS;$(PreprocessorDefinitions) + + +diff --git a/PCbuild/pyexpat.vcxproj b/PCbuild/pyexpat.vcxproj +index b2d9f5d57d..4efb826a05 100644 +--- a/PCbuild/pyexpat.vcxproj ++++ b/PCbuild/pyexpat.vcxproj +@@ -89,17 +89,19 @@ + + + +- ++ + $(PySourcePath)Modules\expat;%(AdditionalIncludeDirectories) + _CRT_SECURE_NO_WARNINGS;PYEXPAT_EXPORTS;XML_STATIC;%(PreprocessorDefinitions) + + +- ++ + + + + + ++ ++ + + + +-- +2.28.0.windows.1 + diff --git a/ports/python3/0004-dont-copy-vcruntime.patch b/ports/python3/0005-dont-copy-vcruntime.patch similarity index 100% rename from ports/python3/0004-dont-copy-vcruntime.patch rename to ports/python3/0005-dont-copy-vcruntime.patch diff --git a/ports/python3/0005-only-build-required-projects.patch b/ports/python3/0005-only-build-required-projects.patch deleted file mode 100644 index dbbe372340118a..00000000000000 --- a/ports/python3/0005-only-build-required-projects.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 6492277e39dbe7dd77d32fdc9ae4b989213ef3c6 Mon Sep 17 00:00:00 2001 -From: Adam Johnson -Date: Wed, 9 Sep 2020 20:15:58 -0400 -Subject: [PATCH 5/6] only build required projects - -strips out tests and unsupported externals (eg tkinter). ---- - PCbuild/_ssl.vcxproj | 2 +- - PCbuild/pcbuild.proj | 14 +++++++------- - 2 files changed, 8 insertions(+), 8 deletions(-) - -diff --git a/PCbuild/_ssl.vcxproj b/PCbuild/_ssl.vcxproj -index 4dffa202b7..e661cb6fb6 100644 ---- a/PCbuild/_ssl.vcxproj -+++ b/PCbuild/_ssl.vcxproj -@@ -111,7 +111,7 @@ - {cf7ac3d1-e2df-41d2-bea6-1e2556cdea26} - false - -- -+ - {86937f53-c189-40ef-8ce8-8759d8e7d480} - false - -diff --git a/PCbuild/pcbuild.proj b/PCbuild/pcbuild.proj -index 4d416c589e..ede9868a8f 100644 ---- a/PCbuild/pcbuild.proj -+++ b/PCbuild/pcbuild.proj -@@ -45,21 +45,21 @@ - false - - -- -+ - -- -+ - -- -+ - - - - - - -- -- -- -- -+ -+ -+ -+ - - - --- -2.28.0.windows.1 - diff --git a/ports/python3/0006-restore-support-for-windows-7.patch b/ports/python3/0006-restore-support-for-windows-7.patch index e240fefffc1f9e..757d8bf2ac32a9 100644 --- a/ports/python3/0006-restore-support-for-windows-7.patch +++ b/ports/python3/0006-restore-support-for-windows-7.patch @@ -10,30 +10,131 @@ pathcch. The same mechanism is applied to fix posixmodule.c --- index 25ddc82..ff51042 100644 +--- a/Modules/_winapi.c ++++ b/Modules/_winapi.c +@@ -44,6 +44,15 @@ + + #include "pycore_runtime.h" // _Py_ID + ++// The Windws 7 patch lowers the API version such that these constants ++// are no longer defined by the Windows SDK. Debounce that. ++#ifndef LCMAP_SORTHANDLE ++# define LCMAP_SORTHANDLE 0x20000000 ++#endif ++#ifndef LCMAP_HASH ++# define LCMAP_HASH 0x00040000 ++#endif ++ + #if defined(MS_WIN32) && !defined(MS_WIN64) + #define HANDLE_TO_PYNUM(handle) \ + PyLong_FromUnsignedLong((unsigned long) handle) +diff --git a/Modules/getpath.c b/Modules/getpath.c +index bc730fc..7d3d559 100644 +--- a/Modules/getpath.c ++++ b/Modules/getpath.c +@@ -11,7 +11,7 @@ + + #ifdef MS_WINDOWS + # include // GetFullPathNameW(), MAX_PATH +-# include ++# include + #endif + + #ifdef __APPLE__ +@@ -217,6 +217,11 @@ getpath_isfile(PyObject *Py_UNUSED(self), PyObject *args) + return r; + } + ++#ifdef MS_WINDOWS ++static int _PathCchFindExtension_Initialized = 0; ++typedef HRESULT (__stdcall *PPathCchFindExtension) (PCWSTR pszPath, size_t cchPath, PCWSTR *ppszExt); ++static PPathCchFindExtension _PathCchFindExtension; ++#endif + + static PyObject * + getpath_isxfile(PyObject *Py_UNUSED(self), PyObject *args) +@@ -231,13 +235,51 @@ getpath_isxfile(PyObject *Py_UNUSED(self), PyObject *args) + path = PyUnicode_AsWideCharString(pathobj, &cchPath); + if (path) { + #ifdef MS_WINDOWS ++ ++ if (_PathCchFindExtension_Initialized == 0) { ++ HMODULE pathapi = LoadLibraryExW(L"api-ms-win-core-path-l1-1-0.dll", NULL, ++ LOAD_LIBRARY_SEARCH_SYSTEM32); ++ ++ if (pathapi) { ++ _PathCchFindExtension = (PPathCchFindExtension)GetProcAddress(pathapi, "PathCchFindExtension"); ++ } else { ++ _PathCchFindExtension = NULL; ++ } ++ ++ _PathCchFindExtension_Initialized = 1; ++ } ++ + const wchar_t *ext; + DWORD attr = GetFileAttributesW(path); +- r = (attr != INVALID_FILE_ATTRIBUTES) && +- !(attr & FILE_ATTRIBUTE_DIRECTORY) && +- SUCCEEDED(PathCchFindExtension(path, cchPath + 1, &ext)) && +- (CompareStringOrdinal(ext, -1, L".exe", -1, 1 /* ignore case */) == CSTR_EQUAL) +- ? Py_True : Py_False; ++ if (attr == INVALID_FILE_ATTRIBUTES || (attr & FILE_ATTRIBUTE_DIRECTORY)) { ++ r = Py_False; ++ } ++ else { ++ HRESULT hr = S_OK; ++ if (_PathCchFindExtension) { ++ hr = _PathCchFindExtension(path, cchPath + 1, &ext); ++ } ++ else { ++ if (cchPath > MAX_PATH) { ++ hr = E_FAIL; ++ } ++ else { ++ ext = PathFindExtensionW(path); ++ if (*ext == '\0') ++ hr = E_FAIL; ++ } ++ } ++ ++ if (!SUCCEEDED(hr)) { ++ r = Py_False; ++ } ++ else if (CompareStringOrdinal(ext, -1, L".exe", -1, 1 /* ignore case */) != CSTR_EQUAL) { ++ r = Py_False; ++ } ++ else { ++ r = Py_True; ++ } ++ } + #else + struct stat st; + r = (_Py_wstat(path, &st) == 0) && diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c --- a/Modules/posixmodule.c +++ b/Modules/posixmodule.c -@@ -20,7 +20,7 @@ - - FSCTL_GET_REPARSE_POINT is not exported with WIN32_LEAN_AND_MEAN. */ +@@ -15,7 +15,7 @@ + // whereas pycore_condvar.h defines the WIN32_LEAN_AND_MEAN macro. + #ifdef MS_WINDOWS # include -# include +# include - #endif - - #ifdef __VXWORKS__ -@@ -4410,6 +4410,10 @@ os__getvolumepathname_impl(PyObject *module, path_t *path) + # include // UNLEN + # include "osdefs.h" // SEP + # define HAVE_SYMLINK +@@ -4471,6 +4471,11 @@ os__getvolumepathname_impl(PyObject *module, path_t *path) return result; } ++#ifdef MS_WINDOWS +static int _PathCchSkipRoot_Initialized = 0; +typedef HRESULT (__stdcall *PPathCchSkipRoot) (PCWSTR pszPath, PCWSTR *ppszRootEnd); +static PPathCchSkipRoot _PathCchSkipRoot; -+ - ++#endif + /*[clinic input] os._path_splitroot -@@ -4428,6 +4432,19 @@ os__path_splitroot_impl(PyObject *module, path_t *path) +@@ -4489,6 +4493,19 @@ os__path_splitroot_impl(PyObject *module, path_t *path) PyObject *result = NULL; HRESULT ret; @@ -53,7 +154,7 @@ diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c buffer = (wchar_t*)PyMem_Malloc(sizeof(wchar_t) * (wcslen(path->wide) + 1)); if (!buffer) { return NULL; -@@ -4438,7 +4455,14 @@ os__path_splitroot_impl(PyObject *module, path_t *path) +@@ -4499,7 +4516,14 @@ os__path_splitroot_impl(PyObject *module, path_t *path) } Py_BEGIN_ALLOW_THREADS @@ -69,90 +170,11 @@ diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c Py_END_ALLOW_THREADS if (FAILED(ret)) { result = Py_BuildValue("sO", "", path->object); -diff --git a/PC/getpathp.c b/PC/getpathp.c -index 53da3a6..3d58bbf 100644 ---- a/PC/getpathp.c -+++ b/PC/getpathp.c -@@ -250,14 +250,43 @@ ismodule(wchar_t *filename, int update_filename) - stuff as fits will be appended. - */ - -+ -+static int _PathCchCombineEx_Initialized = 0; -+typedef HRESULT(__stdcall *PPathCchCombineEx) (PWSTR pszPathOut, size_t cchPathOut, -+ PCWSTR pszPathIn, PCWSTR pszMore, -+ unsigned long dwFlags); -+static PPathCchCombineEx _PathCchCombineEx; -+ - static void - join(wchar_t *buffer, const wchar_t *stuff) - { -- if (FAILED(PathCchCombineEx(buffer, MAXPATHLEN+1, buffer, stuff, 0))) { -- Py_FatalError("buffer overflow in getpathp.c's join()"); -+ if (_PathCchCombineEx_Initialized == 0) { -+ HMODULE pathapi = LoadLibraryExW(L"api-ms-win-core-path-l1-1-0.dll", NULL, -+ LOAD_LIBRARY_SEARCH_SYSTEM32); -+ if (pathapi) { -+ _PathCchCombineEx = (PPathCchCombineEx)GetProcAddress(pathapi, "PathCchCombineEx"); -+ } -+ else { -+ _PathCchCombineEx = NULL; -+ } -+ _PathCchCombineEx_Initialized = 1; -+ } -+ if (_PathCchCombineEx) { -+ if (FAILED(_PathCchCombineEx(buffer, MAXPATHLEN+1, buffer, stuff, 0))) { -+ Py_FatalError("buffer overflow in getpathp.c's join()"); -+ } -+ } else { -+ if (!PathCombineW(buffer, buffer, stuff)) { -+ Py_FatalError("buffer overflow in getpathp.c's join()"); -+ } - } - } - -+static int _PathCchCanonicalizeEx_Initialized = 0; -+typedef HRESULT(__stdcall *PPathCchCanonicalizeEx) (PWSTR pszPathOut, size_t cchPathOut, -+ PCWSTR pszPathIn, unsigned long dwFlags); -+static PPathCchCanonicalizeEx _PathCchCanonicalizeEx; -+ - /* Call PathCchCanonicalizeEx(path): remove navigation elements such as "." - and ".." to produce a direct, well-formed path. */ - static PyStatus -@@ -267,8 +296,26 @@ canonicalize(wchar_t *buffer, const wchar_t *path) - return _PyStatus_NO_MEMORY(); - } - -- if (FAILED(PathCchCanonicalizeEx(buffer, MAXPATHLEN + 1, path, 0))) { -- return INIT_ERR_BUFFER_OVERFLOW(); -+ if (_PathCchCanonicalizeEx_Initialized == 0) { -+ HMODULE pathapi = LoadLibraryExW(L"api-ms-win-core-path-l1-1-0.dll", NULL, -+ LOAD_LIBRARY_SEARCH_SYSTEM32); -+ if (pathapi) { -+ _PathCchCanonicalizeEx = (PPathCchCanonicalizeEx)GetProcAddress(pathapi, "PathCchCanonicalizeEx"); -+ } -+ else { -+ _PathCchCanonicalizeEx = NULL; -+ } -+ _PathCchCanonicalizeEx_Initialized = 1; -+ } -+ if (_PathCchCanonicalizeEx) { -+ if (FAILED(_PathCchCanonicalizeEx(buffer, MAXPATHLEN + 1, path, 0))) { -+ return INIT_ERR_BUFFER_OVERFLOW(); -+ } -+ } -+ else { -+ if (!PathCanonicalizeW(buffer, path)) { -+ return INIT_ERR_BUFFER_OVERFLOW(); -+ } - } - return _PyStatus_OK(); - } diff --git a/PC/pyconfig.h b/PC/pyconfig.h index d7d3cf0..6e9c090 100644 --- a/PC/pyconfig.h +++ b/PC/pyconfig.h -@@ -136,8 +136,8 @@ WIN32 is still required for the locale module. +@@ -130,8 +130,8 @@ WIN32 is still required for the locale module. /* set the version macros for the windows headers */ /* Python 3.9+ requires Windows 8 or greater */ @@ -163,16 +185,142 @@ index d7d3cf0..6e9c090 100644 /* We only set these values when building Python - we don't want to force these values on extensions, as that will affect the prototypes and +diff --git a/PCbuild/_freeze_module.vcxproj b/PCbuild/_freeze_module.vcxproj +index 442e343..ef0a43e 100644 +--- a/PCbuild/_freeze_module.vcxproj ++++ b/PCbuild/_freeze_module.vcxproj +@@ -94,7 +94,7 @@ + + + Console +- version.lib;ws2_32.lib;pathcch.lib;bcrypt.lib;%(AdditionalDependencies) ++ version.lib;ws2_32.lib;shlwapi.lib;bcrypt.lib;%(AdditionalDependencies) + Default + + diff --git a/PCbuild/pythoncore.vcxproj b/PCbuild/pythoncore.vcxproj -index 2625d02..20e3d6e 100644 +index c39ba3e1a9..0ef3a05fb6 100644 --- a/PCbuild/pythoncore.vcxproj +++ b/PCbuild/pythoncore.vcxproj @@ -106,7 +106,7 @@ _Py_HAVE_ZLIB;%(PreprocessorDefinitions) -- version.lib;shlwapi.lib;ws2_32.lib;pathcch.lib;%(AdditionalDependencies) -+ version.lib;shlwapi.lib;ws2_32.lib;%(AdditionalDependencies) +- version.lib;ws2_32.lib;pathcch.lib;bcrypt.lib;%(AdditionalDependencies) ++ version.lib;ws2_32.lib;shlwapi.lib;bcrypt.lib;%(AdditionalDependencies) +diff --git a/Python/fileutils.c b/Python/fileutils.c +index c86ed40..6b1535d 100644 +--- a/Python/fileutils.c ++++ b/Python/fileutils.c +@@ -8,7 +8,7 @@ + #ifdef MS_WINDOWS + # include + # include +-# include // PathCchCombineEx ++# include + extern int winerror_to_errno(int); + #endif + +@@ -1999,13 +1999,46 @@ _Py_wrealpath(const wchar_t *path, + } + #endif + ++#ifdef MS_WINDOWS ++static int _PathCchSkipRoot_Initialized = 0; ++typedef HRESULT (__stdcall *PPathCchSkipRoot) (PCWSTR pszPath, PCWSTR *ppszRootEnd); ++static PPathCchSkipRoot _PathCchSkipRoot; ++ ++#ifndef PATHCCH_ALLOW_LONG_PATHS ++#define PATHCCH_ALLOW_LONG_PATHS 0x00000001 ++#endif ++#endif + + int + _Py_isabs(const wchar_t *path) + { + #ifdef MS_WINDOWS ++ if (_PathCchSkipRoot_Initialized == 0) { ++ HMODULE pathapi = LoadLibraryExW(L"api-ms-win-core-path-l1-1-0.dll", NULL, ++ LOAD_LIBRARY_SEARCH_SYSTEM32); ++ ++ if (pathapi) { ++ _PathCchSkipRoot = (PPathCchSkipRoot)GetProcAddress(pathapi, "PathCchSkipRoot"); ++ } else { ++ _PathCchSkipRoot = NULL; ++ } ++ ++ _PathCchSkipRoot_Initialized = 1; ++ } ++ ++ HRESULT hr; + const wchar_t *tail; +- HRESULT hr = PathCchSkipRoot(path, &tail); ++ if (_PathCchSkipRoot) { ++ hr = _PathCchSkipRoot(path, &tail); ++ } else { ++ tail = PathSkipRootW(path); ++ if (!tail) { ++ hr = E_FAIL; ++ } else { ++ hr = S_OK; ++ } ++ } ++ + if (FAILED(hr) || path == tail) { + return 0; + } +@@ -2086,6 +2117,11 @@ _Py_abspath(const wchar_t *path, wchar_t **abspath_p) + #endif + } + ++#ifdef MS_WINDOWS ++static int _PathCchCombineEx_Initialized = 0; ++typedef HRESULT (__stdcall *PPathCchCombineEx) (PWSTR pszPathOut, size_t cchPathOut, PCWSTR pszPathIn, PCWSTR pszMore, ULONG dwFlags); ++static PPathCchCombineEx _PathCchCombineEx; ++#endif + + // The caller must ensure "buffer" is big enough. + static int +@@ -2093,9 +2127,36 @@ join_relfile(wchar_t *buffer, size_t bufsize, + const wchar_t *dirname, const wchar_t *relfile) + { + #ifdef MS_WINDOWS +- if (FAILED(PathCchCombineEx(buffer, bufsize, dirname, relfile, +- PATHCCH_ALLOW_LONG_PATHS))) { +- return -1; ++ ++ if (_PathCchCombineEx_Initialized == 0) { ++ HMODULE pathapi = LoadLibraryExW(L"api-ms-win-core-path-l1-1-0.dll", NULL, ++ LOAD_LIBRARY_SEARCH_SYSTEM32); ++ ++ if (pathapi) { ++ _PathCchCombineEx = (PPathCchCombineEx)GetProcAddress(pathapi, "PathCchCombineEx"); ++ } else { ++ _PathCchCombineEx = NULL; ++ } ++ ++ _PathCchCombineEx_Initialized = 1; ++ } ++ ++ if (_PathCchCombineEx) { ++ if (FAILED(_PathCchCombineEx(buffer, bufsize, dirname, relfile, ++ PATHCCH_ALLOW_LONG_PATHS))) { ++ return -1; ++ } ++ } ++ else { ++ size_t dirlen = wcslen(dirname); ++ size_t rellen = wcslen(relfile); ++ size_t maxlen = bufsize - 1; ++ if (maxlen > MAX_PATH || dirlen >= maxlen || rellen >= maxlen - dirlen) { ++ return -1; ++ } ++ wchar_t * r = PathCombineW(buffer, dirname, relfile); ++ if (!r) ++ return -1; + } + #else + assert(!_Py_isabs(relfile)); diff --git a/ports/python3/0008-python.pc.patch b/ports/python3/0008-python.pc.patch new file mode 100644 index 00000000000000..e02dc1264a25f6 --- /dev/null +++ b/ports/python3/0008-python.pc.patch @@ -0,0 +1,34 @@ +From 3c43def510e7c4c115fbe3938db8e4fe9bc2e311 Mon Sep 17 00:00:00 2001 +From: Max Khon +Date: Tue, 8 Feb 2022 12:58:30 +0700 +Subject: [PATCH 08/11] python.pc + +Fix pkgconfig for debug Linux builds (#22529) +--- + Misc/python-embed.pc.in | 2 +- + Misc/python.pc.in | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Misc/python-embed.pc.in b/Misc/python-embed.pc.in +index 2be9df8143..92142dfe68 100644 +--- a/Misc/python-embed.pc.in ++++ b/Misc/python-embed.pc.in +@@ -10,4 +10,4 @@ Requires: + Version: @VERSION@ + Libs.private: @LIBS@ + Libs: -L${libdir} -lpython@VERSION@@ABIFLAGS@ +-Cflags: -I${includedir}/python@VERSION@@ABIFLAGS@ ++Cflags: -I${includedir}/python@VERSION@ +diff --git a/Misc/python.pc.in b/Misc/python.pc.in +index 87e04decc2..0349dc81ba 100644 +--- a/Misc/python.pc.in ++++ b/Misc/python.pc.in +@@ -10,4 +10,4 @@ Requires: + Version: @VERSION@ + Libs.private: @LIBS@ + Libs: +-Cflags: -I${includedir}/python@VERSION@@ABIFLAGS@ ++Cflags: -I${includedir}/python@VERSION@ +-- +2.37.3.windows.1 + diff --git a/ports/python3/0010-dont-skip-rpath.patch b/ports/python3/0010-dont-skip-rpath.patch new file mode 100644 index 00000000000000..5d0b9dea6bb026 --- /dev/null +++ b/ports/python3/0010-dont-skip-rpath.patch @@ -0,0 +1,31 @@ +From f7439eae9b2f8d91b6689efbf01292a044f3a3fe Mon Sep 17 00:00:00 2001 +From: Osyotr +Date: Thu, 4 Aug 2022 23:49:06 +0300 +Subject: [PATCH 10/11] dont skip rpath + +--- + configure.ac | 6 ++++++ + 1 file changed, 6 insertions(+), 0 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 61b3266..4c2cfb4 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -49,6 +49,14 @@ [$1] + [RESTORE_ENV] + )dnl + ++if test "$ac_sys_system" != "Darwin"; then ++AS_VAR_IF([GNULD], [yes], [ ++ LDFLAGS="-Wl,--enable-new-dtags,-rpath,$vcpkg_rpath" ++], [ ++ LDFLAGS="-Wl,-rpath,$vcpkg_rpath" ++]) ++fi ++ + dnl PY_CHECK_FUNC(FUNCTION, [INCLUDES], [AC_DEFINE-VAR]) + AC_DEFUN([PY_CHECK_FUNC], + [ AS_VAR_PUSHDEF([py_var], [ac_cv_func_$1]) +-- +2.37.3.windows.1 + diff --git a/ports/python3/0011-gcc-ldflags-fix.patch b/ports/python3/0011-gcc-ldflags-fix.patch new file mode 100644 index 00000000000000..195a43785bc4a5 --- /dev/null +++ b/ports/python3/0011-gcc-ldflags-fix.patch @@ -0,0 +1,54 @@ +From 84652c4c5658fd443a05bf54fe6040857ba9c36c Mon Sep 17 00:00:00 2001 +From: Christoph Neuhauser +Date: Sat, 15 Oct 2022 01:14:12 +0200 +Subject: [PATCH 11/11] gcc ldflags fix + +--- + Lib/distutils/unixccompiler.py | 24 ++++++++++++++++++++++-- + 1 file changed, 22 insertions(+), 2 deletions(-) + +diff --git a/Lib/distutils/unixccompiler.py b/Lib/distutils/unixccompiler.py +index d00c48981e..b14ce8454e 100644 +--- a/Lib/distutils/unixccompiler.py ++++ b/Lib/distutils/unixccompiler.py +@@ -13,7 +13,7 @@ + * link shared library handled by 'cc -shared' + """ + +-import os, sys, re ++import os, sys, re, shutil + + from distutils import sysconfig + from distutils.dep_util import newer +@@ -216,7 +216,27 @@ def library_dir_option(self, dir): + + def _is_gcc(self, compiler_name): + # clang uses same syntax for rpath as gcc +- return any(name in compiler_name for name in ("gcc", "g++", "clang")) ++ valid_compiler_names = ("gcc", "g++", "clang") ++ is_gcc = any(name in compiler_name for name in valid_compiler_names) ++ # On Linux systems, the compiler name may be, e.g., "cc -pthread". ++ # The executable "cc" is in this case a symlink to the true compiler. ++ if not is_gcc and "cc" in compiler_name: ++ # We need to make sure that this is not another compiler with "cc" ++ # at the end of its name, like "icc". For this, it is checked ++ # whether "cc" is the first word, or separated by a space or path ++ # delimiter before the "cc" substring. ++ cc_string_location = compiler_name.find("cc") ++ if cc_string_location == 0 \ ++ or compiler_name[cc_string_location - 1] == ' ' \ ++ or compiler_name[cc_string_location - 1] == '/' \ ++ or compiler_name[cc_string_location - 1] == '\\': ++ cc_path = shutil.which("cc") ++ if cc_path is not None: ++ real_compiler_path = os.path.realpath(cc_path) ++ is_gcc = any( ++ name in real_compiler_path \ ++ for name in valid_compiler_names) ++ return is_gcc + + def runtime_library_dir_option(self, dir): + # XXX Hackish, at the very least. See Python bug #445902: +-- +2.37.3.windows.1 + diff --git a/ports/python3/0012-force-disable-modules.patch b/ports/python3/0012-force-disable-modules.patch new file mode 100644 index 00000000000000..f97f19e5b28a9d --- /dev/null +++ b/ports/python3/0012-force-disable-modules.patch @@ -0,0 +1,13 @@ +diff --git a/Modules/Setup b/Modules/Setup +index 87c6a152f8..7ad53f5b4f 100644 +--- a/Modules/Setup ++++ b/Modules/Setup +@@ -375,3 +375,8 @@ xxsubtype xxsubtype.c + # + # _sqlite3 _tkinter _curses pyexpat + # _codecs_jp _codecs_kr _codecs_tw unicodedata ++ ++*disabled* ++_curses ++_curses_panel ++_tkinter diff --git a/ports/python3/0014-fix-get-python-inc-output.patch b/ports/python3/0014-fix-get-python-inc-output.patch new file mode 100644 index 00000000000000..a20d2673ac1949 --- /dev/null +++ b/ports/python3/0014-fix-get-python-inc-output.patch @@ -0,0 +1,44 @@ +From b6ffa6e7a0f7a013fb111e618a7f7e2c58e9d548 Mon Sep 17 00:00:00 2001 +From: Billy Robert O'Neal III +Date: Wed, 26 Apr 2023 05:17:44 +0000 +Subject: [PATCH 14/14] fix get python inc output + +--- + Lib/distutils/sysconfig.py | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py +index 3414a761e7..e6ae456ee9 100644 +--- a/Lib/distutils/sysconfig.py ++++ b/Lib/distutils/sysconfig.py +@@ -45,7 +45,7 @@ + get_makefile_filename, + get_python_version, + ) +- ++from os.path import dirname + # This is better than + # from sysconfig import _CONFIG_VARS as _config_vars + # because it makes sure that the global dictionary is initialized +@@ -292,6 +292,7 @@ def get_python_inc(plat_specific=0, prefix=None): + incdir = os.path.join(get_config_var('srcdir'), 'Include') + return os.path.normpath(incdir) + python_dir = 'python' + get_python_version() + build_flags ++ prefix = dirname(dirname(BASE_PREFIX)) + return os.path.join(prefix, "include", python_dir) + elif os.name == "nt": + if python_build: +@@ -299,7 +300,9 @@ def get_python_inc(plat_specific=0, prefix=None): + # pyconfig.h + return (os.path.join(prefix, "include") + os.path.pathsep + + os.path.join(prefix, "PC")) +- return os.path.join(prefix, "include") ++ python_dir = 'python' + get_python_version() + build_flags ++ prefix = dirname(dirname(BASE_PREFIX)) ++ return os.path.join(prefix, "include", python_dir) + else: + raise DistutilsPlatformError( + "I don't know where Python installs its C header files " +-- +2.25.1 + diff --git a/ports/python3/0015-dont-use-WINDOWS-def.patch b/ports/python3/0015-dont-use-WINDOWS-def.patch new file mode 100644 index 00000000000000..862fe3e472e524 --- /dev/null +++ b/ports/python3/0015-dont-use-WINDOWS-def.patch @@ -0,0 +1,13 @@ +diff --git a/PC/launcher.c b/PC/launcher.c +index 734e75333..7124927cf 100644 +--- a/PC/launcher.c ++++ b/PC/launcher.c +@@ -2015,7 +2015,7 @@ installed, use -0 for available pythons", &p[1]); + return rc; + } + +-#if defined(_WINDOWS) ++#if !defined(_CONSOLE) // _WINDOWS is defined by the vcpkg toolchain + + int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, + LPWSTR lpstrCmd, int nShow) diff --git a/ports/python3/0016-fix-win-cross.patch b/ports/python3/0016-fix-win-cross.patch new file mode 100644 index 00000000000000..fdbdf82e81b986 --- /dev/null +++ b/ports/python3/0016-fix-win-cross.patch @@ -0,0 +1,34 @@ +diff --git a/PCbuild/_freeze_module.vcxproj b/PCbuild/_freeze_module.vcxproj +index 7d3423251f..7f607742fe 100644 +--- a/PCbuild/_freeze_module.vcxproj ++++ b/PCbuild/_freeze_module.vcxproj +@@ -366,7 +366,7 @@ + + + +- ++ + + + + +- ++ + + + +- $(PreferredToolArchitecture) ++ $(Platform) + $(Configuration) + Release + diff --git a/ports/python3/0016-undup-ffi-symbols.patch b/ports/python3/0016-undup-ffi-symbols.patch new file mode 100644 index 00000000000000..7faec9f9b8c377 --- /dev/null +++ b/ports/python3/0016-undup-ffi-symbols.patch @@ -0,0 +1,14 @@ +diff --git a/Modules/_ctypes/malloc_closure.c b/Modules/_ctypes/malloc_closure.c +index 788bae6a9..3938f79db 100644 +--- a/Modules/_ctypes/malloc_closure.c ++++ b/Modules/_ctypes/malloc_closure.c +@@ -11,6 +11,9 @@ + #endif + #include "ctypes.h" + ++#undef Py_ffi_closure_alloc ++#undef Py_ffi_closure_free ++ + /* BLOCKSIZE can be adjusted. Larger blocksize will take a larger memory + overhead, but allocate less blocks from the system. It may be that some + systems have a limit of how many mmap'd blocks can be open. diff --git a/ports/python3/0017-fix-win.patch b/ports/python3/0017-fix-win.patch new file mode 100644 index 00000000000000..9d3fb3efb44f9f --- /dev/null +++ b/ports/python3/0017-fix-win.patch @@ -0,0 +1,34 @@ +diff --git a/PCbuild/_freeze_module.vcxproj b/PCbuild/_freeze_module.vcxproj +index 7d3423251f..7f607742fe 100644 +--- a/PCbuild/_freeze_module.vcxproj ++++ b/PCbuild/_freeze_module.vcxproj +@@ -366,7 +366,7 @@ + + + +- ++ + + + + +- ++ + + + +- $(PreferredToolArchitecture) ++ $(Platform) + $(Configuration) + Release + diff --git a/ports/python3/0018-fix-sysconfig-include.patch b/ports/python3/0018-fix-sysconfig-include.patch new file mode 100644 index 00000000000000..1efdb5a8a72cdd --- /dev/null +++ b/ports/python3/0018-fix-sysconfig-include.patch @@ -0,0 +1,15 @@ +diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py +index ebe371182..e351df7da 100644 +--- a/Lib/sysconfig.py ++++ b/Lib/sysconfig.py +@@ -51,8 +51,8 @@ + 'platstdlib': '{base}/Lib', + 'purelib': '{base}/Lib/site-packages', + 'platlib': '{base}/Lib/site-packages', +- 'include': '{installed_base}/Include', +- 'platinclude': '{installed_base}/Include', ++ 'include': '{installed_base}/../../include/python{py_version_short}{abiflags}', ++ 'platinclude': '{installed_base}/../../include/python{py_version_short}{abiflags}', + 'scripts': '{base}/Scripts', + 'data': '{base}', + }, diff --git a/ports/python3/0019-fix-ssl-linkage.patch b/ports/python3/0019-fix-ssl-linkage.patch new file mode 100644 index 00000000000000..3b6f922177c83b --- /dev/null +++ b/ports/python3/0019-fix-ssl-linkage.patch @@ -0,0 +1,22 @@ +diff --git a/configure.ac b/configure.ac +index ef899b881d..9ed1836608 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -6712,7 +6712,7 @@ done + + # check if OpenSSL libraries work as expected + WITH_SAVE_ENV([ +- LIBS="$LIBS $OPENSSL_LIBS" ++ LIBS="$OPENSSL_LIBS $LIBS" + CFLAGS="$CFLAGS $OPENSSL_INCLUDES" + LDFLAGS="$LDFLAGS $OPENSSL_LDFLAGS $OPENSSL_LDFLAGS_RPATH" + +@@ -6737,7 +6737,7 @@ WITH_SAVE_ENV([ + ]) + + WITH_SAVE_ENV([ +- LIBS="$LIBS $LIBCRYPTO_LIBS" ++ LIBS="$LIBCRYPTO_LIBS $LIBS" + CFLAGS="$CFLAGS $OPENSSL_INCLUDES" + LDFLAGS="$LDFLAGS $OPENSSL_LDFLAGS $OPENSSL_LDFLAGS_RPATH" + diff --git a/ports/python3/openssl.props.in b/ports/python3/openssl.props.in index 1d404ad57c115f..697185cf9faa97 100644 --- a/ports/python3/openssl.props.in +++ b/ports/python3/openssl.props.in @@ -10,5 +10,14 @@ ${CRYPTO_DEBUG};${SSL_DEBUG};%(AdditionalDependencies) + + Crypt32.lib;ws2_32.lib;%(AdditionalDependencies) + + ${CRYPTO_RELEASE};${SSL_RELEASE};%(AdditionalDependencies) + + + ${CRYPTO_DEBUG};${SSL_DEBUG};%(AdditionalDependencies) + + diff --git a/ports/python3/portfile.cmake b/ports/python3/portfile.cmake index 74ceb801ea4038..7da8fa9bd15374 100644 --- a/ports/python3/portfile.cmake +++ b/ports/python3/portfile.cmake @@ -3,19 +3,57 @@ if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic AND VCPKG_CRT_LINKAGE STREQUAL static set(VCPKG_LIBRARY_LINKAGE static) endif() -set(PYTHON_VERSION_MAJOR 3) -set(PYTHON_VERSION_MINOR 10) -set(PYTHON_VERSION_PATCH 0) -set(PYTHON_VERSION ${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}.${PYTHON_VERSION_PATCH}) +if("extensions" IN_LIST FEATURES) + if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) + endif() + set(PYTHON_HAS_EXTENSIONS ON) +else() + set(PYTHON_HAS_EXTENSIONS OFF) +endif() + +if(NOT VCPKG_HOST_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]+)\\.([0-9]+)\\.([0-9]+)" PYTHON_VERSION "${VERSION}") +set(PYTHON_VERSION_MAJOR "${CMAKE_MATCH_1}") +set(PYTHON_VERSION_MINOR "${CMAKE_MATCH_2}") +set(PYTHON_VERSION_PATCH "${CMAKE_MATCH_3}") set(PATCHES - 0002-use-vcpkg-zlib.patch - 0003-devendor-external-dependencies.patch - 0004-dont-copy-vcruntime.patch - 0005-only-build-required-projects.patch + 0001-only-build-required-projects.patch + 0003-use-vcpkg-zlib.patch + 0004-devendor-external-dependencies.patch + 0005-dont-copy-vcruntime.patch + 0008-python.pc.patch + 0010-dont-skip-rpath.patch + 0012-force-disable-modules.patch + 0014-fix-get-python-inc-output.patch + 0015-dont-use-WINDOWS-def.patch + 0016-undup-ffi-symbols.patch # Required for lld-link. + 0018-fix-sysconfig-include.patch + 0019-fix-ssl-linkage.patch ) + if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - list(PREPEND PATCHES 0001-static-library.patch) + list(APPEND PATCHES 0002-static-library.patch) +endif() + +# Fix build failures with GCC for built-in modules (https://github.com/microsoft/vcpkg/issues/26573) +if(VCPKG_TARGET_IS_LINUX) + list(APPEND PATCHES 0011-gcc-ldflags-fix.patch) endif() # Python 3.9 removed support for Windows 7. This patch re-adds support for Windows 7 and is therefore @@ -27,57 +65,92 @@ elseif(VCPKG_TARGET_IS_WINDOWS AND CMAKE_SYSTEM_VERSION EQUAL 6.1) message(FATAL_ERROR "python3 requires the feature deprecated-win7-support when building on Windows 7.") endif() -# The Windows 11 SDK has a problem that causes it to error on the resource files, so we patch that. -if(VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_UWP) +if(VCPKG_TARGET_IS_WINDOWS) + string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" PYTHON_ALLOW_EXTENSIONS) + if(PYTHON_HAS_EXTENSIONS AND NOT PYTHON_ALLOW_EXTENSIONS) + # This should never be reached due to vcpkg_check_linkage above + message(FATAL_ERROR "Cannot build python extensions! Python extensions on windows can only be built if python is a dynamic library!") + endif() + # The Windows 11 SDK has a problem that causes it to error on the resource files, so we patch that. vcpkg_get_windows_sdk(WINSDK_VERSION) if("${WINSDK_VERSION}" VERSION_GREATER_EQUAL "10.0.22000") list(APPEND PATCHES "0007-workaround-windows-11-sdk-rc-compiler-error.patch") endif() + if(VCPKG_CROSSCOMPILING) + list(APPEND PATCHES "0016-fix-win-cross.patch") + else() + list(APPEND PATCHES "0017-fix-win.patch") + endif() endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO python/cpython - REF v${PYTHON_VERSION} - SHA512 d83e0685c274be09da7833a3c24b7379ae0e43b43c131f11bfaccd5902f6a1c510a3ae67c42471a4281922ead3bd34856608ec47be7dd76ddd734e59906ba03b + REF v${VERSION} + SHA512 411f43495943b8aeec287d4339bac6beb6a7224b0844cc4d48188b208fbbbc6404ad031b6e7a3bed0900baf972c4536a54f4da1ab39202f4f405a188ca04ae07 HEAD_REF master PATCHES ${PATCHES} ) -if(VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_UWP) +vcpkg_replace_string("${SOURCE_PATH}/Makefile.pre.in" "$(INSTALL) -d -m $(DIRMODE)" "$(MKDIR_P)") + +function(make_python_pkgconfig) + cmake_parse_arguments(PARSE_ARGV 0 arg "" "FILE;INSTALL_ROOT;EXEC_PREFIX;INCLUDEDIR;ABIFLAGS" "") + + set(prefix "${CURRENT_PACKAGES_DIR}") + set(libdir [[${prefix}/lib]]) + set(exec_prefix ${arg_EXEC_PREFIX}) + set(includedir ${arg_INCLUDEDIR}) + set(VERSION "${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}") + set(ABIFLAGS ${arg_ABIFLAGS}) + + string(REPLACE "python" "python-${VERSION}" out_file ${arg_FILE}) + set(out_full_path "${arg_INSTALL_ROOT}/lib/pkgconfig/${out_file}") + configure_file("${SOURCE_PATH}/Misc/${arg_FILE}.in" ${out_full_path} @ONLY) + + file(READ ${out_full_path} pkgconfig_file) + string(REPLACE "-lpython${VERSION}" "-lpython${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR}" pkgconfig_file "${pkgconfig_file}") + file(WRITE ${out_full_path} "${pkgconfig_file}") +endfunction() + +if(VCPKG_TARGET_IS_WINDOWS) # Due to the way Python handles C extension modules on Windows, a static python core cannot # load extension modules. - string(COMPARE EQUAL ${VCPKG_LIBRARY_LINKAGE} "dynamic" PYTHON_ALLOW_EXTENSIONS) - if(PYTHON_ALLOW_EXTENSIONS) + if(PYTHON_HAS_EXTENSIONS) find_library(BZ2_RELEASE NAMES bz2 PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) find_library(BZ2_DEBUG NAMES bz2d PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) find_library(CRYPTO_RELEASE NAMES libcrypto PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) find_library(CRYPTO_DEBUG NAMES libcrypto PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) - find_library(EXPAT_RELEASE NAMES libexpat libexpatMD PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) - find_library(EXPAT_DEBUG NAMES libexpatd libexpatdMD PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) - find_library(FFI_RELEASE NAMES libffi PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) - find_library(FFI_DEBUG NAMES libffi PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) + find_library(EXPAT_RELEASE NAMES libexpat libexpatMD libexpatMT PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) + find_library(EXPAT_DEBUG NAMES libexpatd libexpatdMD libexpatdMT PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) + find_library(FFI_RELEASE NAMES ffi PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) + find_library(FFI_DEBUG NAMES ffi PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) find_library(LZMA_RELEASE NAMES lzma PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) - find_library(LZMA_DEBUG NAMES lzmad PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) + find_library(LZMA_DEBUG NAMES lzma PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) find_library(SQLITE_RELEASE NAMES sqlite3 PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) find_library(SQLITE_DEBUG NAMES sqlite3 PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) find_library(SSL_RELEASE NAMES libssl PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) find_library(SSL_DEBUG NAMES libssl PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) + list(APPEND add_libs_rel "${BZ2_RELEASE};${EXPAT_RELEASE};${FFI_RELEASE};${LZMA_RELEASE};${SQLITE_RELEASE}") + list(APPEND add_libs_dbg "${BZ2_DEBUG};${EXPAT_DEBUG};${FFI_DEBUG};${LZMA_DEBUG};${SQLITE_DEBUG}") else() - message(STATUS "WARNING: Static builds of Python will not have C extension modules available.") + message(STATUS "WARNING: Extensions have been disabled. No C extension modules will be available.") endif() find_library(ZLIB_RELEASE NAMES zlib PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) find_library(ZLIB_DEBUG NAMES zlib zlibd PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) + list(APPEND add_libs_rel "${ZLIB_RELEASE}") + list(APPEND add_libs_dbg "${ZLIB_DEBUG}") configure_file("${SOURCE_PATH}/PC/pyconfig.h" "${SOURCE_PATH}/PC/pyconfig.h") configure_file("${CMAKE_CURRENT_LIST_DIR}/python_vcpkg.props.in" "${SOURCE_PATH}/PCbuild/python_vcpkg.props") configure_file("${CMAKE_CURRENT_LIST_DIR}/openssl.props.in" "${SOURCE_PATH}/PCbuild/openssl.props") file(WRITE "${SOURCE_PATH}/PCbuild/libffi.props" - " - " + "" + "" ) - if(PYTHON_ALLOW_EXTENSIONS) + list(APPEND VCPKG_CMAKE_CONFIGURE_OPTIONS "-DVCPKG_SET_CHARSET_FLAG=OFF") + if(PYTHON_HAS_EXTENSIONS) set(OPTIONS "/p:IncludeExtensions=true" "/p:IncludeExternals=true" @@ -106,30 +179,39 @@ if(VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_UWP) list(APPEND OPTIONS "/p:_VcpkgPythonLinkage=StaticLibrary") endif() - # _freeze_importlib.exe is run as part of the build process, so make sure the required dynamic libs are available. - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - vcpkg_add_to_path("${CURRENT_INSTALLED_DIR}/bin") - endif() - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - vcpkg_add_to_path("${CURRENT_INSTALLED_DIR}/debug/bin") + vcpkg_find_acquire_program(PYTHON3) + get_filename_component(PYTHON3_DIR "${PYTHON3}" DIRECTORY) + set(ENV{PythonForBuild} "${PYTHON3_DIR}/python.exe") # PythonForBuild is what's used on windows, despite the readme + + if(VCPKG_CROSSCOMPILING) + vcpkg_add_to_path("${CURRENT_HOST_INSTALLED_DIR}/manual-tools/${PORT}") endif() - vcpkg_install_msbuild( + vcpkg_msbuild_install( SOURCE_PATH "${SOURCE_PATH}" PROJECT_SUBPATH "PCbuild/pcbuild.proj" + ADD_BIN_TO_PATH OPTIONS ${OPTIONS} - LICENSE_SUBPATH "LICENSE" - TARGET_PLATFORM_VERSION "${WINSDK_VERSION}" - SKIP_CLEAN + ADDITIONAL_LIBS_RELEASE ${add_libs_rel} + ADDITIONAL_LIBS_DEBUG ${add_libs_dbg} ) + if(NOT VCPKG_CROSSCOMPILING) + file(GLOB_RECURSE freeze_module "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/PCbuild/**/_freeze_module.exe") + file(COPY "${freeze_module}" DESTINATION "${CURRENT_PACKAGES_DIR}/manual-tools/${PORT}") + vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/manual-tools/${PORT}") + endif() + # The extension modules must be placed in the DLLs directory, so we can't use vcpkg_copy_tools() - if(PYTHON_ALLOW_EXTENSIONS) - file(GLOB_RECURSE PYTHON_EXTENSIONS "${CURRENT_BUILDTREES_DIR}/*.pyd") - list(FILTER PYTHON_EXTENSIONS EXCLUDE REGEX [[.*_d\.pyd]]) - file(COPY ${PYTHON_EXTENSIONS} DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}/DLLs") + if(PYTHON_HAS_EXTENSIONS) + file(GLOB_RECURSE PYTHON_EXTENSIONS_RELEASE "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/*.pyd") + file(COPY ${PYTHON_EXTENSIONS_RELEASE} DESTINATION "${CURRENT_PACKAGES_DIR}/bin") + file(COPY ${PYTHON_EXTENSIONS_RELEASE} DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}/DLLs") vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/${PORT}/DLLs") file(REMOVE "${CURRENT_PACKAGES_DIR}/tools/${PORT}/DLLs/python${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR}.dll") + + file(GLOB_RECURSE PYTHON_EXTENSIONS_DEBUG "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/*.pyd") + file(COPY ${PYTHON_EXTENSIONS_DEBUG} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin") endif() file(COPY "${SOURCE_PATH}/Include/" "${SOURCE_PATH}/PC/pyconfig.h" @@ -148,30 +230,76 @@ if(VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_UWP) file(GLOB PYTHON_INSTALLERS "${CURRENT_PACKAGES_DIR}/tools/${PORT}/wininst-*.exe") file(REMOVE ${PYTHON_LIBS} ${PYTHON_INSTALLERS}) - if(PYTHON_ALLOW_EXTENSIONS) - message(STATUS "Bootstrapping pip") - vcpkg_execute_required_process(COMMAND python -m ensurepip - WORKING_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/${PORT}" - LOGNAME "ensurepip-${TARGET_TRIPLET}" - ) + # pkg-config files + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + make_python_pkgconfig(FILE python.pc INSTALL_ROOT ${CURRENT_PACKAGES_DIR} + EXEC_PREFIX "\${prefix}/tools/${PORT}" INCLUDEDIR [[${prefix}/include]] ABIFLAGS "") + make_python_pkgconfig(FILE python-embed.pc INSTALL_ROOT ${CURRENT_PACKAGES_DIR} + EXEC_PREFIX "\${prefix}/tools/${PORT}" INCLUDEDIR [[${prefix}/include]] ABIFLAGS "") endif() - vcpkg_clean_msbuild() + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + make_python_pkgconfig(FILE python.pc INSTALL_ROOT "${CURRENT_PACKAGES_DIR}/debug" + EXEC_PREFIX "\${prefix}/../tools/${PORT}" INCLUDEDIR [[${prefix}/../include]] ABIFLAGS "_d") + make_python_pkgconfig(FILE python-embed.pc INSTALL_ROOT "${CURRENT_PACKAGES_DIR}/debug" + EXEC_PREFIX "\${prefix}/../tools/${PORT}" INCLUDEDIR [[${prefix}/../include]] ABIFLAGS "_d") + endif() + + vcpkg_fixup_pkgconfig() + + # Remove static library belonging to executable + if (VCPKG_LIBRARY_LINKAGE STREQUAL "static") + if (EXISTS "${CURRENT_PACKAGES_DIR}/lib/python.lib") + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/lib/manual-link") + file(RENAME "${CURRENT_PACKAGES_DIR}/lib/python.lib" + "${CURRENT_PACKAGES_DIR}/lib/manual-link/python.lib") + endif() + if (EXISTS "${CURRENT_PACKAGES_DIR}/debug/lib/python_d.lib") + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/lib/manual-link") + file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/python_d.lib" + "${CURRENT_PACKAGES_DIR}/debug/lib/manual-link/python_d.lib") + endif() + endif() else() + # The Python Stable ABI, `libpython3.so` is not produced by the upstream build system with --with-pydebug option + if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic" AND NOT VCPKG_BUILD_TYPE) + set(VCPKG_POLICY_MISMATCHED_NUMBER_OF_BINARIES enabled) + endif() + set(OPTIONS "--with-openssl=${CURRENT_INSTALLED_DIR}" - "--with-ensurepip" + "--without-ensurepip" "--with-suffix=" "--with-system-expat" + "--disable-test-modules" ) if(VCPKG_TARGET_IS_OSX) list(APPEND OPTIONS "LIBS=-liconv -lintl") endif() + if("readline" IN_LIST FEATURES) + list(APPEND OPTIONS "--with-readline") + else() + list(APPEND OPTIONS "--without-readline") + endif() + + # The version of the build Python must match the version of the cross compiled host Python. + # https://docs.python.org/3/using/configure.html#cross-compiling-options + if(VCPKG_CROSSCOMPILING) + set(_python_for_build "${CURRENT_HOST_INSTALLED_DIR}/tools/python3/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}") + list(APPEND OPTIONS "--with-build-python=${_python_for_build}") + endif() + vcpkg_configure_make( SOURCE_PATH "${SOURCE_PATH}" - OPTIONS ${OPTIONS} - OPTIONS_DEBUG "--with-pydebug" + AUTOCONFIG + OPTIONS + ${OPTIONS} + OPTIONS_DEBUG + "--with-pydebug" + "vcpkg_rpath=${CURRENT_INSTALLED_DIR}/debug/lib" + OPTIONS_RELEASE + "vcpkg_rpath=${CURRENT_INSTALLED_DIR}/lib" ) vcpkg_install_make(ADD_BIN_TO_PATH INSTALL_TARGET altinstall) @@ -193,12 +321,43 @@ else() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug") - file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME "copyright") - vcpkg_fixup_pkgconfig() + + # Perform some post-build checks on modules + file(GLOB python_libs_dynload_debug LIST_DIRECTORIES false "${CURRENT_PACKAGES_DIR}/debug/lib/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}/lib-dynload/*.so*") + file(GLOB python_libs_dynload_release LIST_DIRECTORIES false "${CURRENT_PACKAGES_DIR}/lib/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}/lib-dynload/*.so*") + set(python_libs_dynload_failed_debug ${python_libs_dynload_debug}) + set(python_libs_dynload_failed_release ${python_libs_dynload_release}) + list(FILTER python_libs_dynload_failed_debug INCLUDE REGEX ".*_failed\.so.*") + list(FILTER python_libs_dynload_failed_release INCLUDE REGEX ".*_failed\.so.*") + if(python_libs_dynload_failed_debug OR python_libs_dynload_failed_release) + list(JOIN python_libs_dynload_failed_debug "\n" python_libs_dynload_failed_debug_str) + list(JOIN python_libs_dynload_failed_release "\n" python_libs_dynload_failed_release_str) + message(FATAL_ERROR "There should be no modules with \"_failed\" suffix:\n${python_libs_dynload_failed_debug_str}\n${python_libs_dynload_failed_release_str}") + endif() + if(NOT VCPKG_BUILD_TYPE) + list(LENGTH python_libs_dynload_release python_libs_dynload_release_length) + list(LENGTH python_libs_dynload_debug python_libs_dynload_debug_length) + if(NOT python_libs_dynload_release_length STREQUAL python_libs_dynload_debug_length) + message(FATAL_ERROR "Mismatched number of modules: ${python_libs_dynload_debug_length} in debug, ${python_libs_dynload_release_length} in release") + endif() + endif() endif() -file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") + +file(READ "${CMAKE_CURRENT_LIST_DIR}/usage" usage) +if(VCPKG_TARGET_IS_WINDOWS) + if(PYTHON_HAS_EXTENSIONS) + file(READ "${CMAKE_CURRENT_LIST_DIR}/usage.win" usage_extra) + else() + set(usage_extra "") + endif() +else() + file(READ "${CMAKE_CURRENT_LIST_DIR}/usage.unix" usage_extra) +endif() +string(REPLACE "@PYTHON_VERSION_MINOR@" "${PYTHON_VERSION_MINOR}" usage_extra "${usage_extra}") +file(WRITE "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" "${usage}\n${usage_extra}") function(_generate_finder) cmake_parse_arguments(PythonFinder "NO_OVERRIDE" "DIRECTORY;PREFIX" "" ${ARGN}) @@ -215,17 +374,41 @@ _generate_finder(DIRECTORY "python3" PREFIX "Python3") _generate_finder(DIRECTORY "pythoninterp" PREFIX "PYTHON" NO_OVERRIDE) if (NOT VCPKG_TARGET_IS_WINDOWS) - file(GLOB python_config_files "${CURRENT_PACKAGES_DIR}/lib/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}/_sysconfigdata*") - list(POP_FRONT python_config_files python_config_file) - vcpkg_replace_string("${python_config_file}" "# system configuration generated and used by the sysconfig module" "# system configuration generated and used by the sysconfig module\nimport os\n_base = os.path.dirname(os.path.dirname(os.path.dirname(__file__)))\n") - vcpkg_replace_string("${python_config_file}" "${CURRENT_INSTALLED_DIR}" "' + _base + '") - vcpkg_replace_string("${python_config_file}" "${CURRENT_PACKAGES_DIR}" "' + _base + '") - vcpkg_replace_string("${python_config_file}" "${CURRENT_BUILDTREES_DIR}" "not/existing") - - file(GLOB python_config_files "${CURRENT_PACKAGES_DIR}/debug/lib/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}/_sysconfigdata*") - list(POP_FRONT python_config_files python_config_file) - vcpkg_replace_string("${python_config_file}" "# system configuration generated and used by the sysconfig module" "# system configuration generated and used by the sysconfig module\nimport os\n_base = os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(__file__))))\n") - vcpkg_replace_string("${python_config_file}" "${CURRENT_INSTALLED_DIR}" "' + _base + '") - vcpkg_replace_string("${python_config_file}" "${CURRENT_PACKAGES_DIR}" "' + _base + '") - vcpkg_replace_string("${python_config_file}" "${CURRENT_BUILDTREES_DIR}" "not/existing") + function(replace_dirs_in_config_file python_config_file) + vcpkg_replace_string("${python_config_file}" "${CURRENT_INSTALLED_DIR}" "' + _base + '") + vcpkg_replace_string("${python_config_file}" "${CURRENT_HOST_INSTALLED_DIR}" "' + _base + '/../${HOST_TRIPLET}" IGNORE_UNCHANGED) + vcpkg_replace_string("${python_config_file}" "${CURRENT_PACKAGES_DIR}" "' + _base + '") + vcpkg_replace_string("${python_config_file}" "${CURRENT_BUILDTREES_DIR}" "not/existing") + endfunction() + + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + file(GLOB python_config_files "${CURRENT_PACKAGES_DIR}/lib/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}/_sysconfigdata*") + list(POP_FRONT python_config_files python_config_file) + vcpkg_replace_string("${python_config_file}" "# system configuration generated and used by the sysconfig module" "# system configuration generated and used by the sysconfig module\nimport os\n_base = os.path.dirname(os.path.dirname(os.path.dirname(__file__)))\n") + replace_dirs_in_config_file("${python_config_file}") + endif() + + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + file(GLOB python_config_files "${CURRENT_PACKAGES_DIR}/debug/lib/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}/_sysconfigdata*") + list(POP_FRONT python_config_files python_config_file) + vcpkg_replace_string("${python_config_file}" "# system configuration generated and used by the sysconfig module" "# system configuration generated and used by the sysconfig module\nimport os\n_base = os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(__file__))))\n") + replace_dirs_in_config_file("${python_config_file}") + endif() endif() + +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/python3/Lib/distutils/command/build_ext.py" "'libs'" "'../../lib'") +else() + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/python3.${PYTHON_VERSION_MINOR}/distutils/command/build_ext.py" "'libs'" "'../../lib'") + file(COPY_FILE "${CURRENT_PACKAGES_DIR}/tools/python3/python3.${PYTHON_VERSION_MINOR}" "${CURRENT_PACKAGES_DIR}/tools/python3/python3") +endif() + +configure_file("${CMAKE_CURRENT_LIST_DIR}/vcpkg-port-config.cmake" "${CURRENT_PACKAGES_DIR}/share/${PORT}/vcpkg-port-config.cmake" @ONLY) + +# For testing +block() + include("${CURRENT_PACKAGES_DIR}/share/${PORT}/vcpkg-port-config.cmake") + set(CURRENT_HOST_INSTALLED_DIR "${CURRENT_PACKAGES_DIR}") + set(CURRENT_INSTALLED_DIR "${CURRENT_PACKAGES_DIR}") + vcpkg_get_vcpkg_installed_python(VCPKG_PYTHON3) +endblock() diff --git a/ports/python3/python_vcpkg.props.in b/ports/python3/python_vcpkg.props.in index e5b6093a51c3a9..a64a17d0172ec2 100644 --- a/ports/python3/python_vcpkg.props.in +++ b/ports/python3/python_vcpkg.props.in @@ -8,11 +8,6 @@ %(AdditionalIncludeDirectories);${CURRENT_INSTALLED_DIR}/include - - MultiThreadedDebug - MultiThreaded - MultiThreadedDebugDLL - MultiThreadedDLL @@ -36,6 +31,22 @@ MachineX86 MachineX64 + MachineARM + + + ${ZLIB_RELEASE};%(AdditionalDependencies) + + + ${ZLIB_DEBUG};%(AdditionalDependencies) + + + + + ${BZ2_RELEASE};${EXPAT_RELEASE};${FFI_RELEASE};${LZMA_RELEASE};${SQLITE_RELEASE};%(AdditionalDependencies) + + + ${BZ2_DEBUG};${EXPAT_DEBUG};${FFI_DEBUG};${LZMA_DEBUG};${SQLITE_DEBUG};%(AdditionalDependencies) + diff --git a/ports/python3/usage.unix b/ports/python3/usage.unix new file mode 100644 index 00000000000000..fc2a575ebf968d --- /dev/null +++ b/ports/python3/usage.unix @@ -0,0 +1,9 @@ +The package python3 provides a python interpreter that supports virtual environments: + + $ tools/python3/python3.@PYTHON_VERSION_MINOR@ -m venv /path/to/venv + $ export VIRTUAL_ENV=/path/to/venv + $ export PATH=/path/to/venv/bin:$PATH + $ export -n PYTHONHOME + $ unset PYTHONHOME + + See https://docs.python.org/3/library/venv.html for more details. diff --git a/ports/python3/usage.win b/ports/python3/usage.win new file mode 100644 index 00000000000000..dcbb71747dcb9c --- /dev/null +++ b/ports/python3/usage.win @@ -0,0 +1,8 @@ +The package python3 provides a python interpreter that supports virtual environments: + + >tools\python3\python.exe -m venv c:\path\to\venv + >set VIRTUAL_ENV=c:\path\to\venv + >set PATH=c:\path\to\venv\bin;%PATH% + >set PYTHONHOME= + + See https://docs.python.org/3/library/venv.html for more details. diff --git a/ports/python3/vcpkg-cmake-wrapper.cmake b/ports/python3/vcpkg-cmake-wrapper.cmake index 83c3fbd1cfec33..33549bfbdc696a 100644 --- a/ports/python3/vcpkg-cmake-wrapper.cmake +++ b/ports/python3/vcpkg-cmake-wrapper.cmake @@ -29,7 +29,7 @@ endif() if(_PythonFinder_WantLibs) find_path( - @PythonFinder_PREFIX@_INCLUDE_DIR + _@PythonFinder_PREFIX@_INCLUDE_DIR NAMES "Python.h" PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include" PATH_SUFFIXES "python@PYTHON_VERSION_MAJOR@.@PYTHON_VERSION_MINOR@" @@ -64,15 +64,18 @@ if(_PythonFinder_WantLibs) ) endif() + # These are duplicated as normal variables to nullify FindPython's checksum verifications. + set(_@PythonFinder_PREFIX@_INCLUDE_DIR "${_@PythonFinder_PREFIX@_INCLUDE_DIR}") + set(_@PythonFinder_PREFIX@_LIBRARY_RELEASE "${_@PythonFinder_PREFIX@_LIBRARY_RELEASE}") + set(_@PythonFinder_PREFIX@_LIBRARY_DEBUG "${_@PythonFinder_PREFIX@_LIBRARY_DEBUG}") + _find_package(${ARGS}) if(@VCPKG_LIBRARY_LINKAGE@ STREQUAL static) - include(CMakeFindDependencyMacro) - # Python for Windows embeds the zlib module into the core, so we have to link against it. # This is a separate extension module on Unix-like platforms. if(WIN32) - find_dependency(ZLIB) + find_package(ZLIB) if(TARGET @PythonFinder_PREFIX@::Python) set_property(TARGET @PythonFinder_PREFIX@::Python APPEND PROPERTY INTERFACE_LINK_LIBRARIES ZLIB::ZLIB) endif() @@ -85,10 +88,13 @@ if(_PythonFinder_WantLibs) endif() if(APPLE) - find_dependency(Iconv) - find_dependency(Intl) + find_package(Iconv) + find_package(Intl) if(TARGET @PythonFinder_PREFIX@::Python) get_target_property(_PYTHON_INTERFACE_LIBS @PythonFinder_PREFIX@::Python INTERFACE_LINK_LIBRARIES) + if(NOT _PYTHON_INTERFACE_LIBS) + set(_PYTHON_INTERFACE_LIBS "") + endif() list(REMOVE_ITEM _PYTHON_INTERFACE_LIBS "-liconv" "-lintl") list(APPEND _PYTHON_INTERFACE_LIBS Iconv::Iconv @@ -99,6 +105,9 @@ if(_PythonFinder_WantLibs) endif() if(TARGET @PythonFinder_PREFIX@::Module) get_target_property(_PYTHON_INTERFACE_LIBS @PythonFinder_PREFIX@::Module INTERFACE_LINK_LIBRARIES) + if(NOT _PYTHON_INTERFACE_LIBS) + set(_PYTHON_INTERFACE_LIBS "") + endif() list(REMOVE_ITEM _PYTHON_INTERFACE_LIBS "-liconv" "-lintl") list(APPEND _PYTHON_INTERFACE_LIBS Iconv::Iconv @@ -116,5 +125,12 @@ else() _find_package(${ARGS}) endif() +if(TARGET @PythonFinder_PREFIX@::Python) + target_compile_definitions(@PythonFinder_PREFIX@::Python INTERFACE "$<$:Py_DEBUG>") +endif() +if(TARGET @PythonFinder_PREFIX@::Module) + target_compile_definitions(@PythonFinder_PREFIX@::Module INTERFACE "$<$:Py_DEBUG>") +endif() + unset(_PythonFinder_WantInterp) unset(_PythonFinder_WantLibs) diff --git a/ports/python3/vcpkg-port-config.cmake b/ports/python3/vcpkg-port-config.cmake new file mode 100644 index 00000000000000..d3d16f38bc44bd --- /dev/null +++ b/ports/python3/vcpkg-port-config.cmake @@ -0,0 +1,15 @@ +include_guard(GLOBAL) +set(PYTHON3_VERSION "@VERSION@") +set(PYTHON3_VERSION_MAJOR "@PYTHON_VERSION_MAJOR@") +set(PYTHON3_VERSION_MINOR "@PYTHON_VERSION_MINOR@") +set(PYTHON3_INCLUDE "include/python${PYTHON3_VERSION_MAJOR}.${PYTHON3_VERSION_MINOR}") +set(PYTHON3_HAS_EXTENSIONS "@PYTHON_HAS_EXTENSIONS@") +set(site_base "") +if(VCPKG_TARGET_IS_WINDOWS) + set(site_base "tools/python${PYTHON3_VERSION_MAJOR}/Lib") +else() + set(site_base "lib/python${PYTHON3_VERSION_MAJOR}.${PYTHON3_VERSION_MINOR}") +endif() +set(PYTHON3_SITE "${site_base}/site-packages") + +include("${CURRENT_HOST_INSTALLED_DIR}/share/vcpkg-get-python/vcpkg-port-config.cmake") diff --git a/ports/python3/vcpkg.json b/ports/python3/vcpkg.json index b0e20b8f79d5cb..50b1b51d2af37c 100644 --- a/ports/python3/vcpkg.json +++ b/ports/python3/vcpkg.json @@ -1,45 +1,89 @@ { "name": "python3", - "version-semver": "3.10.0", - "port-version": 2, + "version": "3.11.10", "description": "The Python programming language", "homepage": "https://github.com/python/cpython", - "supports": "!(arm | uwp)", + "license": "Python-2.0", + "supports": "!uwp & !mingw", "dependencies": [ { - "name": "bzip2", - "platform": "!(windows & static)" + "name": "gettext", + "platform": "osx" }, - "expat", { - "name": "gettext", + "name": "libiconv", "platform": "osx" }, { - "name": "libffi", - "platform": "!(windows & static)" + "name": "libuuid", + "platform": "!osx & !windows" }, { - "name": "libiconv", - "platform": "osx" + "name": "python3", + "host": true, + "default-features": false }, { - "name": "liblzma", - "platform": "!(windows & static)" + "name": "python3", + "features": [ + "extensions" + ], + "platform": "!windows" }, { - "name": "openssl", - "platform": "!(windows & static)" + "name": "vcpkg-get-python", + "host": true }, { - "name": "sqlite3", - "platform": "!(windows & static)" + "name": "vcpkg-msbuild", + "host": true, + "platform": "windows" }, "zlib" ], + "default-features": [ + { + "name": "extensions", + "platform": "!(staticcrt & windows)" + } + ], "features": { "deprecated-win7-support": { "description": "Deprecated support for the Windows 7 platform -- may be removed at any time." + }, + "extensions": { + "description": "Allow the build and usage of python extensions. On windows this requires python to be a dynamic library!", + "supports": "!(staticcrt & windows)", + "dependencies": [ + { + "name": "bzip2", + "default-features": false + }, + { + "name": "expat", + "default-features": false + }, + { + "name": "libffi", + "default-features": false + }, + { + "name": "liblzma", + "default-features": false + }, + { + "name": "openssl", + "default-features": false + }, + { + "name": "sqlite3", + "default-features": false + } + ] + }, + "readline": { + "description": "Build with readline. Requires system readline to be installed", + "supports": "!windows" } } } diff --git a/ports/qca/0002-fix-build-error.patch b/ports/qca/0002-fix-build-error.patch index 31aede75cee41e..5515d21f738aed 100644 --- a/ports/qca/0002-fix-build-error.patch +++ b/ports/qca/0002-fix-build-error.patch @@ -1,58 +1,26 @@ -diff --git "a/cmake/modules/QcaMacro.cmake" "b/cmake/modules/QcaMacro.cmake" -index 5d86e4725..62568626b 100644 ---- "a/cmake/modules/QcaMacro.cmake" -+++ "b/cmake/modules/QcaMacro.cmake" -@@ -61,15 +61,6 @@ macro(add_qca_test TARGET DESCRIPTION) +From 8d67288a3dde7e535ff747715f96f98282a3bf67 Mon Sep 17 00:00:00 2001 +From: Matthias Kuhn +Date: Fri, 3 Dec 2021 15:17:25 +0100 +Subject: [PATCH] Ifdef codecs + +--- + cmake/modules/QcaMacro.cmake | 9 --------- + plugins/qca-ossl/qca-ossl.cpp | 6 ++++++ + 2 files changed, 6 insertions(+), 9 deletions(-) + +diff --git a/cmake/modules/QcaMacro.cmake b/cmake/modules/QcaMacro.cmake +index 80af6e84..ba86310d 100644 +--- a/cmake/modules/QcaMacro.cmake ++++ b/cmake/modules/QcaMacro.cmake +@@ -65,10 +65,6 @@ macro(add_qca_test TARGET DESCRIPTION) endmacro(add_qca_test) macro(install_pdb TARGET INSTALL_PATH) - if(MSVC) -- get_target_property(LOCATION ${TARGET} LOCATION_DEBUG) -- string(REGEX REPLACE "\\.[^.]*$" ".pdb" LOCATION "${LOCATION}") -- install(FILES ${LOCATION} DESTINATION ${INSTALL_PATH} CONFIGURATIONS Debug) -- -- get_target_property(LOCATION ${TARGET} LOCATION_RELWITHDEBINFO) -- string(REGEX REPLACE "\\.[^.]*$" ".pdb" LOCATION "${LOCATION}") -- install(FILES ${LOCATION} DESTINATION ${INSTALL_PATH} CONFIGURATIONS RelWithDebInfo) +- install(FILES $ DESTINATION ${INSTALL_PATH} CONFIGURATIONS Debug) +- install(FILES $ DESTINATION ${INSTALL_PATH} CONFIGURATIONS RelWithDebInfo) - endif() endmacro(install_pdb) macro(normalize_path PATH) -diff --git "a/plugins/qca-ossl/qca-ossl.cpp" "b/plugins/qca-ossl/qca-ossl.cpp" -index ee872d721..fa3e2c414 100644 ---- "a/plugins/qca-ossl/qca-ossl.cpp" -+++ "b/plugins/qca-ossl/qca-ossl.cpp" -@@ -6910,6 +6910,7 @@ public: - else if ( type == QLatin1String("aes256-ccm") ) - return new opensslCipherContext( EVP_aes_256_ccm(), 0, this, type); - #endif -+#ifndef OPENSSL_NO_BF - else if ( type == QLatin1String("blowfish-ecb") ) - return new opensslCipherContext( EVP_bf_ecb(), 0, this, type); - else if ( type == QLatin1String("blowfish-cfb") ) -@@ -6920,6 +6921,8 @@ public: - return new opensslCipherContext( EVP_bf_cbc(), 0, this, type); - else if ( type == QLatin1String("blowfish-cbc-pkcs7") ) - return new opensslCipherContext( EVP_bf_cbc(), 1, this, type); -+#endif -+#ifndef OPENSSL_NO_DES - else if ( type == QLatin1String("tripledes-ecb") ) - return new opensslCipherContext( EVP_des_ede3(), 0, this, type); - else if ( type == QLatin1String("tripledes-cbc") ) -@@ -6936,6 +6939,8 @@ public: - return new opensslCipherContext( EVP_des_cfb(), 0, this, type); - else if ( type == QLatin1String("des-ofb") ) - return new opensslCipherContext( EVP_des_ofb(), 0, this, type); -+#endif -+#ifndef OPENSSL_NO_CAST - else if ( type == QLatin1String("cast5-ecb") ) - return new opensslCipherContext( EVP_cast5_ecb(), 0, this, type); - else if ( type == QLatin1String("cast5-cbc") ) -@@ -6946,6 +6951,7 @@ public: - return new opensslCipherContext( EVP_cast5_cfb(), 0, this, type); - else if ( type == QLatin1String("cast5-ofb") ) - return new opensslCipherContext( EVP_cast5_ofb(), 0, this, type); -+#endif - else if ( type == QLatin1String("pkey") ) - return new MyPKeyContext( this ); - else if ( type == QLatin1String("dlgroup") ) + diff --git a/ports/qca/0003-Define-NOMINMAX-for-botan-plugin-with-MSVC.patch b/ports/qca/0003-Define-NOMINMAX-for-botan-plugin-with-MSVC.patch new file mode 100644 index 00000000000000..d894000d617de7 --- /dev/null +++ b/ports/qca/0003-Define-NOMINMAX-for-botan-plugin-with-MSVC.patch @@ -0,0 +1,28 @@ +From f32f5ae8b8b49653bfff87f2f882862bcaa8c3f1 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D9=85=D9=87=D8=AF=D9=8A=20=D8=B4=D9=8A=D9=86=D9=88=D9=86?= + =?UTF-8?q?=20=28Mehdi=20Chinoune=29?= +Date: Mon, 20 Mar 2023 16:21:18 +0100 +Subject: [PATCH] Define NOMINMAX to fix building qca-botan plugin with MSVC + +--- + plugins/qca-botan/CMakeLists.txt | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/plugins/qca-botan/CMakeLists.txt b/plugins/qca-botan/CMakeLists.txt +index 11c0d20..9b8b978 100644 +--- a/plugins/qca-botan/CMakeLists.txt ++++ b/plugins/qca-botan/CMakeLists.txt +@@ -11,6 +11,10 @@ if(BOTAN_FOUND) + set(QCA_BOTAN_SOURCES qca-botan.cpp) + add_library(qca-botan ${PLUGIN_TYPE} ${QCA_BOTAN_SOURCES}) + ++ if(MSVC) ++ target_compile_definitions(qca-botan PRIVATE NOMINMAX) ++ endif() ++ + if(APPLE AND ${PLUGIN_TYPE} STREQUAL "MODULE") + set_property(TARGET qca-botan PROPERTY SUFFIX ".dylib") + endif() +-- +2.40.0.windows.1 + diff --git a/ports/qca/portfile.cmake b/ports/qca/portfile.cmake index b3acc2875742e3..1d7e0dd4f8a257 100644 --- a/ports/qca/portfile.cmake +++ b/ports/qca/portfile.cmake @@ -11,19 +11,22 @@ vcpkg_add_to_path("${PERL_EXE_PATH}") vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KDE/qca - REF v2.3.1 - SHA512 e04a44fb395e24fd009bb6b005282880bef84ca492b5e15903f9ce3e5e3f93beae3a386a1a381507ed5b0c6550e64c6bf434328f9d965fa7f7d638c3e5d5948b + REF "v${VERSION}" + SHA512 de06173aaea32aac19a24510b5dbb4bb79681217eb1e4256de36db9f7158ad485fa450ffba5e13c12a0425866923b54f9b4d6164d0eaf659fdf40e458f5ee017 PATCHES 0001-fix-path-for-vcpkg.patch 0002-fix-build-error.patch + 0003-Define-NOMINMAX-for-botan-plugin-with-MSVC.patch ) +vcpkg_find_acquire_program(PKGCONFIG) + if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - set(QCA_FEATURE_INSTALL_DIR_DEBUG ${CURRENT_PACKAGES_DIR}/debug/bin/Qca) - set(QCA_FEATURE_INSTALL_DIR_RELEASE ${CURRENT_PACKAGES_DIR}/bin/Qca) + set(QCA_PLUGIN_INSTALL_DIR_DEBUG ${CURRENT_PACKAGES_DIR}/debug/bin/Qca) + set(QCA_PLUGIN_INSTALL_DIR_RELEASE ${CURRENT_PACKAGES_DIR}/bin/Qca) else() - set(QCA_FEATURE_INSTALL_DIR_DEBUG ${CURRENT_PACKAGES_DIR}/debug/lib/Qca) - set(QCA_FEATURE_INSTALL_DIR_RELEASE ${CURRENT_PACKAGES_DIR}/lib/Qca) + set(QCA_PLUGIN_INSTALL_DIR_DEBUG ${CURRENT_PACKAGES_DIR}/debug/lib/Qca) + set(QCA_PLUGIN_INSTALL_DIR_RELEASE ${CURRENT_PACKAGES_DIR}/lib/Qca) endif() # According to: @@ -44,20 +47,31 @@ vcpkg_execute_required_process( ) message(STATUS "Importing certstore done") +set(PLUGINS gnupg logger softstore wincrypto) +if("botan" IN_LIST FEATURES) + list(APPEND PLUGINS botan) +endif() +if ("ossl" IN_LIST FEATURES) + list(APPEND PLUGINS ossl) +endif() + # Configure and build vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DUSE_RELATIVE_PATHS=ON + "-DBUILD_PLUGINS=${PLUGINS}" -DBUILD_TESTS=OFF -DBUILD_TOOLS=OFF + -DBUILD_WITH_QT6=ON -DQCA_SUFFIX=OFF - -DQCA_FEATURE_INSTALL_DIR=share/qca/mkspecs/features + -DQCA_FEATURE_INSTALL_DIR=${CURRENT_PACKAGES_DIR}/share/qca/mkspecs/features -DOSX_FRAMEWORK=OFF + "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}" OPTIONS_DEBUG - -DQCA_PLUGINS_INSTALL_DIR=${QCA_FEATURE_INSTALL_DIR_DEBUG} + -DQCA_PLUGINS_INSTALL_DIR=${QCA_PLUGIN_INSTALL_DIR_DEBUG} OPTIONS_RELEASE - -DQCA_PLUGINS_INSTALL_DIR=${QCA_FEATURE_INSTALL_DIR_RELEASE} + -DQCA_PLUGINS_INSTALL_DIR=${QCA_PLUGIN_INSTALL_DIR_RELEASE} ) vcpkg_cmake_install() @@ -78,5 +92,7 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share" ) +vcpkg_fixup_pkgconfig() + # Handle copyright -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/qca/vcpkg.json b/ports/qca/vcpkg.json index f8dd9019b91536..2348652038d940 100644 --- a/ports/qca/vcpkg.json +++ b/ports/qca/vcpkg.json @@ -1,13 +1,16 @@ { "name": "qca", - "version": "2.3.1", - "port-version": 5, + "version": "2.3.7", + "port-version": 2, "description": "Qt Cryptographic Architecture (QCA).", - "homepage": "https://cgit.kde.org/qca.git/", + "homepage": "https://userbase.kde.org/QCA", "dependencies": [ - "botan", { - "name": "qt5-base", + "name": "qt5compat", + "default-features": false + }, + { + "name": "qtbase", "default-features": false }, { @@ -18,5 +21,22 @@ "name": "vcpkg-cmake-config", "host": true } - ] + ], + "default-features": [ + "botan" + ], + "features": { + "botan": { + "description": "Build with botan", + "dependencies": [ + "botan" + ] + }, + "ossl": { + "description": "Build with openssl", + "dependencies": [ + "openssl" + ] + } + } } diff --git a/ports/qcoro/portfile.cmake b/ports/qcoro/portfile.cmake new file mode 100644 index 00000000000000..0508c19918518e --- /dev/null +++ b/ports/qcoro/portfile.cmake @@ -0,0 +1,58 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO qcoro/qcoro + REF "v${VERSION}" + SHA512 BDE5C5CD9F3C038E6B5EC5A6ADAE5AE2218EDD9DF350E75FC5D8DB31D9339484E92CC88FDC37FA0539E0CDF1F53731418EBFA73B94564E993D7B02168988771B + HEAD_REF main +) + +vcpkg_check_features( + OUT_FEATURE_OPTIONS EXTRA_OPTIONS + FEATURES + dbus QCORO_WITH_QTDBUS + network QCORO_WITH_QTNETWORK + websockets QCORO_WITH_QTWEBSOCKETS + quick QCORO_WITH_QTQUICK + qml QCORO_WITH_QML + test QCORO_WITH_QTTEST +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DUSE_QT_VERSION=6 + -DBUILD_TESTING=OFF + -DQCORO_BUILD_EXAMPLES=OFF + ${EXTRA_OPTIONS} +) + +vcpkg_cmake_install() + +if (QCORO_WITH_QTDBUS) + vcpkg_cmake_config_fixup(PACKAGE_NAME QCoro6DBus DO_NOT_DELETE_PARENT_CONFIG_PATH CONFIG_PATH lib/cmake/QCoro6DBus) +endif() +if (QCORO_WITH_QTNETWORK) + vcpkg_cmake_config_fixup(PACKAGE_NAME QCoro6Network DO_NOT_DELETE_PARENT_CONFIG_PATH CONFIG_PATH lib/cmake/QCoro6Network) +endif() +if (QCORO_WITH_QTWEBSOCKETS) + vcpkg_cmake_config_fixup(PACKAGE_NAME QCoro6WebSockets DO_NOT_DELETE_PARENT_CONFIG_PATH CONFIG_PATH lib/cmake/QCoro6WebSockets) +endif() +if (QCORO_WITH_QTQUICK) + vcpkg_cmake_config_fixup(PACKAGE_NAME QCoro6Quick DO_NOT_DELETE_PARENT_CONFIG_PATH CONFIG_PATH lib/cmake/QCoro6Quick) +endif() +if (QCORO_WITH_QML) + vcpkg_cmake_config_fixup(PACKAGE_NAME QCoro6Qml DO_NOT_DELETE_PARENT_CONFIG_PATH CONFIG_PATH lib/cmake/QCoro6Qml) +endif() +if (QCORO_WITH_QTTEST) + vcpkg_cmake_config_fixup(PACKAGE_NAME QCoro6Test DO_NOT_DELETE_PARENT_CONFIG_PATH CONFIG_PATH lib/cmake/QCoro6Test) +endif() +vcpkg_cmake_config_fixup(PACKAGE_NAME QCoro6Coro DO_NOT_DELETE_PARENT_CONFIG_PATH CONFIG_PATH lib/cmake/QCoro6Coro) +vcpkg_cmake_config_fixup(PACKAGE_NAME QCoro6 DO_NOT_DELETE_PARENT_CONFIG_PATH CONFIG_PATH lib/cmake/QCoro6) +vcpkg_cmake_config_fixup(PACKAGE_NAME QCoro6Core CONFIG_PATH lib/cmake/QCoro6Core) + +# Remove debug includes and CMake macros +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/qcoro/usage b/ports/qcoro/usage new file mode 100644 index 00000000000000..ddd875a8759744 --- /dev/null +++ b/ports/qcoro/usage @@ -0,0 +1,36 @@ +qcoro-qt6 provides CMake targets: + + # Generic coroutine types and tools + find_package(QCoro6Coro CONFIG REQUIRED) + target_link_libraries(main PRIVATE QCoro6::Coro) + + # Coroutine support for QtCore types + find_package(QCoro6Core CONFIG REQUIRED) + target_link_libraries(main PRIVATE QCoro6::Core) + + # Coroutine supports for QtDBus types + find_package(QCoro6DBus CONFIG REQUIRED) + target_link_libraries(main PRIVATE QCoro6::DBus) + + # Coroutine support for QtNetwork types + find_package(QCoro6Network CONFIG REQUIRED) + target_link_libraries(main PRIVATE QCoro6::Network) + + # Coroutine support for QtQml types + find_package(QCoro6Qml CONFIG REQUIRED) + target_link_libraries(main PRIVATE QCoro6::Qml) + + # Coroutine support for QML + find_package(QCoro6Quick CONFIG REQUIRED) + target_link_libraries(main PRIVATE QCoro6::Quick) + + # Coroutine support for developing tests with QtTest + find_package(QCoro6Test CONFIG REQUIRED) + target_link_libraries(main PRIVATE QCoro6::Test) + + # Coroutine support for QtWebSockets types + find_package(QCoro6WebSockets CONFIG REQUIRED) + target_link_libraries(main PRIVATE QCoro6::WebSockets) + +You can also use `QCoro` target namespace for transparent +support of both Qt5 and Qt6. diff --git a/ports/qcoro/vcpkg.json b/ports/qcoro/vcpkg.json new file mode 100644 index 00000000000000..b7e9721ca34883 --- /dev/null +++ b/ports/qcoro/vcpkg.json @@ -0,0 +1,98 @@ +{ + "name": "qcoro", + "version": "0.11.0", + "description": "Coroutine support for Qt", + "homepage": "https://github.com/qcoro/qcoro", + "documentation": "https://qcoro.dev/", + "license": "MIT", + "dependencies": [ + { + "name": "qtbase", + "default-features": false, + "features": [ + "thread" + ] + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "default-features": [ + "dbus", + "network", + "qml", + "quick", + "test", + "websockets" + ], + "features": { + "dbus": { + "description": "Coroutine support for QtDBus module", + "dependencies": [ + { + "name": "qtbase", + "default-features": false, + "features": [ + "dbus" + ] + } + ] + }, + "network": { + "description": "Coroutine support for QtNetwork module", + "dependencies": [ + { + "name": "qtbase", + "default-features": false, + "features": [ + "network" + ] + } + ] + }, + "qml": { + "description": "Coroutine support for QtQml module", + "dependencies": [ + { + "name": "qtdeclarative", + "default-features": false + } + ] + }, + "quick": { + "description": "Coroutine support for QtQuick module", + "dependencies": [ + { + "name": "qtdeclarative", + "default-features": false + } + ] + }, + "test": { + "description": "Support code for easier testing of coroutines with QtTest.", + "dependencies": [ + { + "name": "qtbase", + "default-features": false, + "features": [ + "testlib" + ] + } + ] + }, + "websockets": { + "description": "Coroutine support for QtWebSockets module", + "dependencies": [ + { + "name": "qtwebsockets", + "default-features": false + } + ] + } + } +} diff --git a/ports/qcustomplot/config.patch b/ports/qcustomplot/config.patch new file mode 100644 index 00000000000000..fac3a09f6e044b --- /dev/null +++ b/ports/qcustomplot/config.patch @@ -0,0 +1,25 @@ +--- a/sharedlib-compilation/sharedlib-compilation.pro ++++ b/sharedlib-compilation/sharedlib-compilation.pro +@@ -10,7 +10,6 @@ + + DEFINES += QCUSTOMPLOT_COMPILE_LIBRARY + TEMPLATE = lib +-CONFIG += debug_and_release build_all + static { + CONFIG += static + } else { +@@ -33,3 +32,14 @@ + + SOURCES += ../../qcustomplot.cpp + HEADERS += ../../qcustomplot.h ++win32 { ++ dlltarget.path = $$[QT_INSTALL_BINS] ++ INSTALLS += dlltarget ++} ++target.path = $$[QT_INSTALL_LIBS] ++!static: target.CONFIG = no_dll ++INSTALLS += target ++ ++headers.files += ../../qcustomplot.h ++headers.path = $$[QT_INSTALL_PREFIX]/include ++INSTALLS += headers diff --git a/ports/qcustomplot/portfile.cmake b/ports/qcustomplot/portfile.cmake index 026f62fb381356..f0038d0897665a 100644 --- a/ports/qcustomplot/portfile.cmake +++ b/ports/qcustomplot/portfile.cmake @@ -1,38 +1,32 @@ -set(QCP_VERSION 2.0.1) - vcpkg_download_distfile(ARCHIVE - URLS "https://www.qcustomplot.com/release/${QCP_VERSION}/QCustomPlot.tar.gz" - FILENAME "QCustomPlot-${QCP_VERSION}.tar.gz" - SHA512 a15598718146ed3c6b5d38530a56661c16269e530fe0dedb71b4cb2722b5733a3b57689d668a75994b79c19c6e61dcc133dbcb9ed77b93a165f4ac826a5685b9 + URLS "https://www.qcustomplot.com/release/${VERSION}/QCustomPlot.tar.gz" + FILENAME "QCustomPlot-${VERSION}.tar.gz" + SHA512 2e49a9b3f7ab03bcd580e5f3c3ae0d5e8c57d3ccce0ceed9862cde7ea23e2f3672a963af988be60e504cb5aa50bc462e4b28acf577eae41cc6fea2802642dc19 ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} - REF ${QCP_VERSION} +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" ) vcpkg_download_distfile(ARCHIVE - URLS "https://www.qcustomplot.com/release/${QCP_VERSION}/QCustomPlot-sharedlib.tar.gz" - FILENAME "QCustomPlot-sharedlib-${QCP_VERSION}.tar.gz" - SHA512 ce90540fca7226eac37746327e1939a9c7af38fc2595f385ed04d6d1f49560da08fb5fae15d1b9d22b6ba578583f70de8f89ef26796770d41bf599c1b15c535d + URLS "https://www.qcustomplot.com/release/${VERSION}/QCustomPlot-sharedlib.tar.gz" + FILENAME "QCustomPlot-sharedlib-${VERSION}.tar.gz" + SHA512 c661e4a835066fee92b254fbd7b825dbd5c58973189ff2099a01308cb81fe6bf3bac1456f5da91f01c6265f8f548f61b57e237d00a9b5c2c94acf1a024baa18e ) -vcpkg_extract_source_archive(SharedLib_SOURCE_PATH ARCHIVE "${ARCHIVE}") -file(RENAME "${SharedLib_SOURCE_PATH}" "${SOURCE_PATH}/qcustomplot-sharedlib") - - -vcpkg_configure_qmake(SOURCE_PATH - ${SOURCE_PATH}/qcustomplot-sharedlib/sharedlib-compilation/sharedlib-compilation.pro -) - -vcpkg_install_qmake( - RELEASE_TARGETS release-all - DEBUG_TARGETS debug-all +vcpkg_extract_source_archive( + SharedLib_SOURCE_PATH + ARCHIVE "${ARCHIVE}" + PATCHES + config.patch ) +file(RENAME "${SharedLib_SOURCE_PATH}" "${SOURCE_PATH}/qcustomplot-sharedlib") -# Install header file -file(INSTALL ${SOURCE_PATH}/qcustomplot.h - DESTINATION ${CURRENT_PACKAGES_DIR}/include +vcpkg_qmake_configure( + SOURCE_PATH "${SOURCE_PATH}/qcustomplot-sharedlib/sharedlib-compilation/sharedlib-compilation.pro" + QMAKE_OPTIONS + "${OSX_OPTIONS}" ) +vcpkg_qmake_install() vcpkg_copy_pdbs() diff --git a/ports/qcustomplot/vcpkg.json b/ports/qcustomplot/vcpkg.json index 6d2c2c66533708..c8bd342a9720a8 100644 --- a/ports/qcustomplot/vcpkg.json +++ b/ports/qcustomplot/vcpkg.json @@ -1,11 +1,19 @@ { "name": "qcustomplot", - "version": "2.0.1", - "port-version": 5, + "version": "2.1.1", + "port-version": 1, "description": "QCustomPlot is a Qt C++ widget for plotting and data visualization.", + "homepage": "https://www.qcustomplot.com/", + "license": "GPL-3.0-or-later", + "supports": "!xbox", "dependencies": [ { - "name": "qt5-base", + "name": "qtbase", + "default-features": false + }, + { + "name": "vcpkg-qmake", + "host": true, "default-features": false } ] diff --git a/ports/qhttpengine/portfile.cmake b/ports/qhttpengine/portfile.cmake new file mode 100644 index 00000000000000..3d744bc1737218 --- /dev/null +++ b/ports/qhttpengine/portfile.cmake @@ -0,0 +1,27 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO nitroshare/qhttpengine + REF 43f55df51623621ed3efb4e42c7894586d988667 + SHA512 bf615016b9078ff1b3b47bb0d0329565d2d44caba67a3a207c430e7f03a7b5d8b326268fafa2b8ebff387aec9356014ec5510e18a422dd2dea7eb1e9bfc009f3 + HEAD_REF master +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_DOC=OFF + -DBUILD_EXAMPLES=OFF + -DBUILD_TESTS=OFF +) + +vcpkg_cmake_install() +vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake) +if(VCPKG_TARGET_IS_WINDOWS) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/pkgconfig" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig") +else() + vcpkg_fixup_pkgconfig() +endif() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/qhttpengine/vcpkg.json b/ports/qhttpengine/vcpkg.json new file mode 100644 index 00000000000000..f1762479d4f8ed --- /dev/null +++ b/ports/qhttpengine/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "qhttpengine", + "version": "1.0.2", + "port-version": 1, + "description": "HTTP server for Qt applications", + "supports": "!uwp", + "dependencies": [ + "qt5-base", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/qhull/fix-qhullcpp-cpp20-support.patch b/ports/qhull/fix-qhullcpp-cpp20-support.patch new file mode 100644 index 00000000000000..1c30e60653f89d --- /dev/null +++ b/ports/qhull/fix-qhullcpp-cpp20-support.patch @@ -0,0 +1,93 @@ +From bdd99371b995e02d6b39acc93221c477aafd284a Mon Sep 17 00:00:00 2001 +From: Jeremy Nimmer +Date: Thu, 22 Sep 2022 17:39:19 -0700 +Subject: [PATCH] Fix build errors when in C++20 mode + +--- + src/libqhullcpp/QhullLinkedList.h | 12 +++++++----- + src/libqhullcpp/QhullSet.h | 22 +++++++++++----------- + 2 files changed, 18 insertions(+), 16 deletions(-) + +diff --git a/src/libqhullcpp/QhullLinkedList.h b/src/libqhullcpp/QhullLinkedList.h +index 9f145ee..7c7104d 100644 +--- a/src/libqhullcpp/QhullLinkedList.h ++++ b/src/libqhullcpp/QhullLinkedList.h +@@ -62,16 +62,18 @@ private: + + #//!\name Constructors + public: +- QhullLinkedList(T b, T e) : begin_node(b), end_node(e) {} ++ ++ QhullLinkedList(T b, T e) : begin_node(b), end_node(e) {} + //! Copy constructor copies begin_node and end_node, but not the list elements. Needed for return by value and parameter passing. +- QhullLinkedList(const QhullLinkedList &other) : begin_node(other.begin_node), end_node(other.end_node) {} ++ ++ QhullLinkedList(const QhullLinkedList &other) : begin_node(other.begin_node), end_node(other.end_node) {} + //! Copy assignment copies begin_node and end_node, but not the list elements. +- QhullLinkedList & operator=(const QhullLinkedList &other) { begin_node= other.begin_node; end_node= other.end_node; return *this; } +- ~QhullLinkedList() {} ++ QhullLinkedList & operator=(const QhullLinkedList &other) { begin_node= other.begin_node; end_node= other.end_node; return *this; } ++ ~QhullLinkedList() {} + + private: + //!disabled since a sentinel must be allocated as the private type +- QhullLinkedList() {} ++ QhullLinkedList() {} + + public: + +diff --git a/src/libqhullcpp/QhullSet.h b/src/libqhullcpp/QhullSet.h +index f6b248a..803e703 100644 +--- a/src/libqhullcpp/QhullSet.h ++++ b/src/libqhullcpp/QhullSet.h +@@ -110,17 +110,17 @@ public: + typedef typename QhullSet::const_iterator ConstIterator; + + #//!\name Constructors +- QhullSet(const Qhull &q, setT *s) : QhullSetBase(q, s) { } +- QhullSet(QhullQh *qqh, setT *s) : QhullSetBase(qqh, s) { } ++ QhullSet(const Qhull &q, setT *s) : QhullSetBase(q, s) { } ++ QhullSet(QhullQh *qqh, setT *s) : QhullSetBase(qqh, s) { } + //Conversion from setT* is not type-safe. Implicit conversion for void* to T + //Copy constructor copies pointer but not contents. Needed for return by value. +- QhullSet(const QhullSet &other) : QhullSetBase(other) {} +- QhullSet & operator=(const QhullSet &other) { QhullSetBase::operator=(other); return *this; } +- ~QhullSet() {} ++ QhullSet(const QhullSet &other) : QhullSetBase(other) {} ++ QhullSet & operator=(const QhullSet &other) { QhullSetBase::operator=(other); return *this; } ++ ~QhullSet() {} + + private: + //!Disable default constructor. See QhullSetBase +- QhullSet(); ++ QhullSet(); + public: + + #//!\name Conversion +@@ -136,8 +136,8 @@ public: + using QhullSetBase::count; + using QhullSetBase::isEmpty; + // operator== defined for QhullSets of the same type +- bool operator==(const QhullSet &other) const { return qh_setequal(getSetT(), other.getSetT()); } +- bool operator!=(const QhullSet &other) const { return !operator==(other); } ++ bool operator==(const QhullSet &other) const { return qh_setequal(getSetT(), other.getSetT()); } ++ bool operator!=(const QhullSet &other) const { return !operator==(other); } + + #//!\name Element access + // Constructs T. Cannot return reference. +@@ -294,9 +294,9 @@ private: + + public: + #//!\name Constructors +- QhullSetIterator(const QhullSet &s) : i(s.data()), begin_i(i), end_i(s.endData()), qh_qh(s.qh()) {} +- QhullSetIterator(const QhullSetIterator &o) : i(o.i), begin_i(o.begin_i), end_i(o.end_i), qh_qh(o.qh_qh) {} +- QhullSetIterator &operator=(const QhullSetIterator &o) { i= o.i; begin_i= o.begin_i; end_i= o.end_i; qh_qh= o.qh_qh; return *this; } ++ QhullSetIterator(const QhullSet &s) : i(s.data()), begin_i(i), end_i(s.endData()), qh_qh(s.qh()) {} ++ QhullSetIterator(const QhullSetIterator &o) : i(o.i), begin_i(o.begin_i), end_i(o.end_i), qh_qh(o.qh_qh) {} ++ QhullSetIterator &operator=(const QhullSetIterator &o) { i= o.i; begin_i= o.begin_i; end_i= o.end_i; qh_qh= o.qh_qh; return *this; } + + #//!\name ReadOnly + countT countRemaining() { return static_cast(end_i-i); } // WARN64 +-- +2.44.0 + diff --git a/ports/qhull/noapp.patch b/ports/qhull/noapp.patch new file mode 100644 index 00000000000000..9132bee7113f97 --- /dev/null +++ b/ports/qhull/noapp.patch @@ -0,0 +1,266 @@ +diff -Naur b/CMakeLists.txt ff11b5d37d-0697029c1a.clean/CMakeLists.txt +--- b/CMakeLists.txt 2022-10-17 10:07:06.000000000 +0200 ++++ ff11b5d37d-0697029c1a.clean/CMakeLists.txt 2022-10-17 10:08:40.000000000 +0200 +@@ -113,6 +113,7 @@ + "BUILD_SHARED_LIBS;BUILD_STATIC_LIBS" + ${BUILD_SHARED_LIBS} + ) ++option(BUILD_APPLICATIONS "Build applications" ON) + + if(INCLUDE_INSTALL_DIR) + else() +@@ -517,131 +518,133 @@ + # If LINK_APPS_SHARED, applications are linked to reentrant qhull + # --------------------------------------- + +-if(${LINK_APPS_SHARED}) +- add_executable(qconvex src/qconvex/qconvex_r.c) +- target_link_libraries(qconvex ${qhull_SHAREDR}) +- set_target_properties(qconvex PROPERTIES +- COMPILE_DEFINITIONS "${qconvex_DEFINES}") +- +- add_executable(qdelaunay src/qdelaunay/qdelaun_r.c) +- target_link_libraries(qdelaunay ${qhull_SHAREDR}) +- set_target_properties(qdelaunay PROPERTIES +- COMPILE_DEFINITIONS "${qdelaunay_DEFINES}") +- +- add_executable(qhalf src/qhalf/qhalf_r.c) +- target_link_libraries(qhalf ${qhull_SHAREDR}) +- set_target_properties(qhalf PROPERTIES +- COMPILE_DEFINITIONS "${qhalf_DEFINES}") +- +- add_executable(qhull src/qhull/unix_r.c) +- target_link_libraries(qhull ${qhull_SHAREDR}) +- set_target_properties(qhull PROPERTIES +- COMPILE_DEFINITIONS "${qhull_DEFINES}") +- +- add_executable(qvoronoi src/qvoronoi/qvoronoi_r.c) +- target_link_libraries(qvoronoi ${qhull_SHAREDR}) +- set_target_properties(qvoronoi PROPERTIES +- COMPILE_DEFINITIONS "${qvoronoi_DEFINES}") +- +- add_executable(rbox src/rbox/rbox_r.c) +- target_link_libraries(rbox ${qhull_SHAREDR}) +- set_target_properties(rbox PROPERTIES +- COMPILE_DEFINITIONS "${rbox_DEFINES}") +-else() +- if(NOT ${BUILD_STATIC_LIBS}) +- message(FATAL_ERROR, " Nothing to build -- BUILD_SHARED_LIBS=OFF and BUILD_STATIC_LIBS=OFF") +- endif() +- +- add_executable(qconvex src/qconvex/qconvex.c) +- target_link_libraries(qconvex ${qhull_STATIC}) +- +- add_executable(qdelaunay src/qdelaunay/qdelaun.c) +- target_link_libraries(qdelaunay ${qhull_STATIC}) +- +- add_executable(qhalf src/qhalf/qhalf.c) +- target_link_libraries(qhalf ${qhull_STATIC}) ++if(BUILD_APPLICATIONS) ++ if(${LINK_APPS_SHARED}) ++ add_executable(qconvex src/qconvex/qconvex_r.c) ++ target_link_libraries(qconvex ${qhull_SHAREDR}) ++ set_target_properties(qconvex PROPERTIES ++ COMPILE_DEFINITIONS "${qconvex_DEFINES}") ++ ++ add_executable(qdelaunay src/qdelaunay/qdelaun_r.c) ++ target_link_libraries(qdelaunay ${qhull_SHAREDR}) ++ set_target_properties(qdelaunay PROPERTIES ++ COMPILE_DEFINITIONS "${qdelaunay_DEFINES}") ++ ++ add_executable(qhalf src/qhalf/qhalf_r.c) ++ target_link_libraries(qhalf ${qhull_SHAREDR}) ++ set_target_properties(qhalf PROPERTIES ++ COMPILE_DEFINITIONS "${qhalf_DEFINES}") ++ ++ add_executable(qhull src/qhull/unix_r.c) ++ target_link_libraries(qhull ${qhull_SHAREDR}) ++ set_target_properties(qhull PROPERTIES ++ COMPILE_DEFINITIONS "${qhull_DEFINES}") ++ ++ add_executable(qvoronoi src/qvoronoi/qvoronoi_r.c) ++ target_link_libraries(qvoronoi ${qhull_SHAREDR}) ++ set_target_properties(qvoronoi PROPERTIES ++ COMPILE_DEFINITIONS "${qvoronoi_DEFINES}") ++ ++ add_executable(rbox src/rbox/rbox_r.c) ++ target_link_libraries(rbox ${qhull_SHAREDR}) ++ set_target_properties(rbox PROPERTIES ++ COMPILE_DEFINITIONS "${rbox_DEFINES}") ++ else() ++ if(NOT ${BUILD_STATIC_LIBS}) ++ message(FATAL_ERROR, " Nothing to build -- BUILD_SHARED_LIBS=OFF and BUILD_STATIC_LIBS=OFF") ++ endif() + +- add_executable(qhull src/qhull/unix_r.c) +- target_link_libraries(qhull ${qhull_STATICR}) ++ add_executable(qconvex src/qconvex/qconvex.c) ++ target_link_libraries(qconvex ${qhull_STATIC}) + +- add_executable(qvoronoi src/qvoronoi/qvoronoi.c) +- target_link_libraries(qvoronoi ${qhull_STATIC}) ++ add_executable(qdelaunay src/qdelaunay/qdelaun.c) ++ target_link_libraries(qdelaunay ${qhull_STATIC}) + +- add_executable(rbox src/rbox/rbox.c) +- target_link_libraries(rbox ${qhull_STATIC}) +-endif() ++ add_executable(qhalf src/qhalf/qhalf.c) ++ target_link_libraries(qhalf ${qhull_STATIC}) + +-# #@# 20 +-# --------------------------------------- +-# Define testqset linked to qset.o, mem.o, and usermem.o +-# Define testqset_r linked to qset_r.o, mem_r.o, and usermem.o +-# --------------------------------------- ++ add_executable(qhull src/qhull/unix_r.c) ++ target_link_libraries(qhull ${qhull_STATICR}) + +-add_executable(testqset ${testqset_SOURCES}) +-add_executable(testqset_r ${testqsetr_SOURCES}) ++ add_executable(qvoronoi src/qvoronoi/qvoronoi.c) ++ target_link_libraries(qvoronoi ${qhull_STATIC}) + +-# --------------------------------------- +-# Define user_eg linked to reentrant qhull shared library +-# --------------------------------------- +- +-add_executable(user_eg src/user_eg/user_eg_r.c) ++ add_executable(rbox src/rbox/rbox.c) ++ target_link_libraries(rbox ${qhull_STATIC}) ++ endif() + +-if(${BUILD_SHARED_LIBS}) +- target_link_libraries(user_eg ${qhull_SHAREDR}) +- set_target_properties(user_eg PROPERTIES +- COMPILE_DEFINITIONS "${user_eg_DEFINES}") +-else() +- target_link_libraries(user_eg ${qhull_STATICR}) +-endif() ++ # #@# 20 ++ # --------------------------------------- ++ # Define testqset linked to qset.o, mem.o, and usermem.o ++ # Define testqset_r linked to qset_r.o, mem_r.o, and usermem.o ++ # --------------------------------------- ++ ++ add_executable(testqset ${testqset_SOURCES}) ++ add_executable(testqset_r ${testqsetr_SOURCES}) ++ ++ # --------------------------------------- ++ # Define user_eg linked to reentrant qhull shared library ++ # --------------------------------------- ++ ++ add_executable(user_eg src/user_eg/user_eg_r.c) ++ ++ if(${BUILD_SHARED_LIBS}) ++ target_link_libraries(user_eg ${qhull_SHAREDR}) ++ set_target_properties(user_eg PROPERTIES ++ COMPILE_DEFINITIONS "${user_eg_DEFINES}") ++ else() ++ target_link_libraries(user_eg ${qhull_STATICR}) ++ endif() + +-# --------------------------------------- +-# Define user_eg2 linked to reentrant qhull static library +-# --------------------------------------- ++ # --------------------------------------- ++ # Define user_eg2 linked to reentrant qhull static library ++ # --------------------------------------- + +-add_executable(user_eg2 src/user_eg2/user_eg2_r.c) ++ add_executable(user_eg2 src/user_eg2/user_eg2_r.c) + +-if(${BUILD_STATIC_LIBS}) +- target_link_libraries(user_eg2 ${qhull_STATICR}) +-else() +- target_link_libraries(user_eg2 ${qhull_SHAREDR}) +- set_target_properties(user_eg2 PROPERTIES +- COMPILE_DEFINITIONS "${user_eg2_DEFINES}") +-endif() ++ if(${BUILD_STATIC_LIBS}) ++ target_link_libraries(user_eg2 ${qhull_STATICR}) ++ else() ++ target_link_libraries(user_eg2 ${qhull_SHAREDR}) ++ set_target_properties(user_eg2 PROPERTIES ++ COMPILE_DEFINITIONS "${user_eg2_DEFINES}") ++ endif() + +-# --------------------------------------- +-# Define user_eg3 linked to qhullcpp and qhullstatic_r static libraries +-# +-# user_eg3 is not defined for shared libraries +-# user_eg3 and qhullcpp must be compiled with the same compiler for setjmp/longjmp +-# --------------------------------------- ++ # --------------------------------------- ++ # Define user_eg3 linked to qhullcpp and qhullstatic_r static libraries ++ # ++ # user_eg3 is not defined for shared libraries ++ # user_eg3 and qhullcpp must be compiled with the same compiler for setjmp/longjmp ++ # --------------------------------------- ++ ++ if(${BUILD_STATIC_LIBS}) ++ add_executable(user_eg3 src/user_eg3/user_eg3_r.cpp) ++ # qhull_STATICR must be last, otherwise qh_fprintf,etc. are not loaded from qhull_CPP ++ target_link_libraries(user_eg3 ${qhull_CPP} ${qhull_STATICR}) ++ endif() + +-if(${BUILD_STATIC_LIBS}) +- add_executable(user_eg3 src/user_eg3/user_eg3_r.cpp) +- # qhull_STATICR must be last, otherwise qh_fprintf,etc. are not loaded from qhull_CPP +- target_link_libraries(user_eg3 ${qhull_CPP} ${qhull_STATICR}) ++ # --------------------------------------- ++ # qhullp is qhull/unix.c linked to unsuported qh_QHpointer libqhull_p ++ # Included for testing qh_QHpointer ++ # --------------------------------------- ++ ++ add_executable(qhullp EXCLUDE_FROM_ALL src/qhull/unix.c) ++ target_link_libraries(qhullp ${qhull_SHAREDP}) ++ set_target_properties(qhullp PROPERTIES ++ COMPILE_DEFINITIONS "${qhullp_DEFINES}") ++ ++ # --------------------------------------- ++ # user_egp is user_eg/user_eg.c linked to unsuported qh_QHpointer libqhull_p ++ # Included for compatibility with qhull-2012.1 ++ # --------------------------------------- ++ ++ add_executable(user_egp EXCLUDE_FROM_ALL src/user_eg/user_eg.c) ++ target_link_libraries(user_egp ${qhull_SHAREDP}) ++ set_target_properties(user_egp PROPERTIES ++ COMPILE_DEFINITIONS "${user_egp_DEFINES}") + endif() + + # --------------------------------------- +-# qhullp is qhull/unix.c linked to unsuported qh_QHpointer libqhull_p +-# Included for testing qh_QHpointer +-# --------------------------------------- +- +-add_executable(qhullp EXCLUDE_FROM_ALL src/qhull/unix.c) +-target_link_libraries(qhullp ${qhull_SHAREDP}) +-set_target_properties(qhullp PROPERTIES +- COMPILE_DEFINITIONS "${qhullp_DEFINES}") +- +-# --------------------------------------- +-# user_egp is user_eg/user_eg.c linked to unsuported qh_QHpointer libqhull_p +-# Included for compatibility with qhull-2012.1 +-# --------------------------------------- +- +-add_executable(user_egp EXCLUDE_FROM_ALL src/user_eg/user_eg.c) +-target_link_libraries(user_egp ${qhull_SHAREDP}) +-set_target_properties(user_egp PROPERTIES +- COMPILE_DEFINITIONS "${user_egp_DEFINES}") +- +-# --------------------------------------- + # Define test + # --------------------------------------- + +@@ -676,7 +679,9 @@ + # Define install + # --------------------------------------- + +-set(qhull_TARGETS_INSTALL ${qhull_TARGETS_APPLICATIONS}) ++if(BUILD_APPLICATIONS) ++ set(qhull_TARGETS_INSTALL ${qhull_TARGETS_APPLICATIONS}) ++endif() + if (BUILD_SHARED_LIBS) + list(APPEND qhull_TARGETS_INSTALL ${qhull_TARGETS_SHARED}) + endif() diff --git a/ports/qhull/portfile.cmake b/ports/qhull/portfile.cmake index 5584c7b1926e04..28327772d6f20d 100644 --- a/ports/qhull/portfile.cmake +++ b/ports/qhull/portfile.cmake @@ -4,56 +4,74 @@ vcpkg_from_github( REF 613debeaea72ee66626dace9ba1a2eff11b5d37d SHA512 5b8ff9665ba73621a9859a6e86717b980b67f8d79d6c78cbf5672bce66aed671f7d64fcbec457bca79eef2e17e105f136017afdf442bb430b9f4a059d7cb93c3 HEAD_REF master - PATCHES + PATCHES include-qhullcpp-shared.patch fix-missing-symbols.patch # upstream https://github.com/qhull/qhull/pull/93 + noapp.patch # upstream https://github.com/qhull/qhull/pull/124 + fix-qhullcpp-cpp20-support.patch # upstream https://github.com/qhull/qhull/pull/122 ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC_LIBS) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +if("tools" IN_LIST FEATURES) + list(APPEND QHULL_OPTIONS -DBUILD_APPLICATIONS:BOOL=ON) +else() + list(APPEND QHULL_OPTIONS -DBUILD_APPLICATIONS:BOOL=OFF) +endif() +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS} + ${QHULL_OPTIONS} ) -vcpkg_install_cmake() +vcpkg_cmake_install() file(REMOVE_RECURSE - ${CURRENT_PACKAGES_DIR}/share/man - ${CURRENT_PACKAGES_DIR}/share/doc - ${CURRENT_PACKAGES_DIR}/debug/include - ${CURRENT_PACKAGES_DIR}/debug/share/man - ${CURRENT_PACKAGES_DIR}/debug/share/doc + "${CURRENT_PACKAGES_DIR}/share/man" + "${CURRENT_PACKAGES_DIR}/share/doc" + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share/man" + "${CURRENT_PACKAGES_DIR}/debug/share/doc" ) -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/Qhull) -file(REMOVE - ${CURRENT_PACKAGES_DIR}/lib/pkgconfig/qhullstatic.pc - ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/qhullstatic_d.pc -) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/Qhull) if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(REMOVE - ${CURRENT_PACKAGES_DIR}/lib/pkgconfig/qhull_r.pc - ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/qhull_rd.pc - ) + file(WRITE "${CURRENT_PACKAGES_DIR}/share/qhull/QhullTargets-interface.cmake" [[ + add_library(Qhull::qhull_r IMPORTED INTERFACE) + set_target_properties(Qhull::qhull_r PROPERTIES INTERFACE_LINK_LIBRARIES Qhull::qhullstatic_r) +]]) +endif() + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + set(active_basename "qhullstatic") + set(inactive_basename "qhull") else() - file(REMOVE - ${CURRENT_PACKAGES_DIR}/lib/pkgconfig/qhullstatic_r.pc - ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/qhullstatic_rd.pc - ) + set(active_basename "qhull") + set(inactive_basename "qhullstatic") +endif() +file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/${inactive_basename}_r.pc") +file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/${inactive_basename}.pc") # qhullstatic.pc in dynamic build +if(NOT DEFINED VCPKG_BUILD_TYPE) + file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/${inactive_basename}_rd.pc") + file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/${active_basename}_rd.pc" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/${active_basename}_r.pc") + file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/qhullstatic_d.pc" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/qhullstatic.pc") + file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/${inactive_basename}.pc") # qhullstatic.pc in dynamic build + file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/qhullcpp_d.pc" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/qhullcpp.pc") endif() vcpkg_fixup_pkgconfig() -vcpkg_copy_tools(TOOL_NAMES - qconvex - qdelaunay - qhalf - qhull - qvoronoi - rbox - AUTO_CLEAN -) +if("tools" IN_LIST FEATURES) + vcpkg_copy_tools(TOOL_NAMES + qconvex + qdelaunay + qhalf + qhull + qvoronoi + rbox + AUTO_CLEAN + ) +endif() -file(INSTALL ${SOURCE_PATH}/README.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${CURRENT_PORT_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME usage) +file(INSTALL "${SOURCE_PATH}/COPYING.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/qhull/usage b/ports/qhull/usage new file mode 100644 index 00000000000000..94dbcafa689fcb --- /dev/null +++ b/ports/qhull/usage @@ -0,0 +1,9 @@ +The package qhull provides CMake targets: + + # Reentrant C API + find_package(Qhull CONFIG REQUIRED) + target_link_libraries(main PRIVATE Qhull::qhull_r) + + # C++ API + find_package(Qhull CONFIG REQUIRED) + target_link_libraries(main PRIVATE Qhull::qhullcpp) diff --git a/ports/qhull/vcpkg.json b/ports/qhull/vcpkg.json index b115f1331af5ef..6a18f19f988ec3 100644 --- a/ports/qhull/vcpkg.json +++ b/ports/qhull/vcpkg.json @@ -1,7 +1,23 @@ { "name": "qhull", - "version-string": "8.0.2", - "port-version": 2, + "version": "8.0.2", + "port-version": 5, "description": "computes the convex hull, Delaunay triangulation, Voronoi diagram", - "homepage": "https://github.com/qhull/qhull" + "homepage": "https://github.com/qhull/qhull", + "license": null, + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "tools": { + "description": "Determines whether tools should be built" + } + } } diff --git a/ports/qmex/portfile.cmake b/ports/qmex/portfile.cmake new file mode 100644 index 00000000000000..1b37e0ec0347e2 --- /dev/null +++ b/ports/qmex/portfile.cmake @@ -0,0 +1,33 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO huangqinjin/QMEX + REF 8a061d68991362aa74ebbceeb5406032a0515536 + SHA512 bc4d13c1487291f541381e6e6baf83e4d723576d17441b0c9d206ec0bacfc33c5f6bd9ff98bb265823426110390f228b9c8ccc8f69c3842c83c6e039bfb02074 + HEAD_REF master +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + tools BUILD_TOOLS +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} + -DBUILD_TESTING=OFF + OPTIONS_DEBUG + -DBUILD_TOOLS=OFF +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup() +vcpkg_copy_pdbs() +vcpkg_copy_pdbs(BUILD_PATHS "${CURRENT_PACKAGES_DIR}/bin/*.exe") + +if("tools" IN_LIST FEATURES) + vcpkg_copy_tools(TOOL_NAMES qmex-cli AUTO_CLEAN) +endif() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE_1_0.txt") diff --git a/ports/qmex/vcpkg.json b/ports/qmex/vcpkg.json new file mode 100644 index 00000000000000..8f811fa1e0f364 --- /dev/null +++ b/ports/qmex/vcpkg.json @@ -0,0 +1,23 @@ +{ + "name": "qmex", + "version-date": "2024-10-31", + "description": "QMEX - Query & Map & Evaluation & eXecution for Tabular Data", + "homepage": "https://github.com/huangqinjin/QMEX", + "license": "BSL-1.0", + "dependencies": [ + "lua", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "tools": { + "description": "QMEX cli tools" + } + } +} diff --git a/ports/qnnpack/fix-arm64-osx.patch b/ports/qnnpack/fix-arm64-osx.patch new file mode 100644 index 00000000000000..2b13997e8b0004 --- /dev/null +++ b/ports/qnnpack/fix-arm64-osx.patch @@ -0,0 +1,18 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -32,12 +32,15 @@ + IF(NOT IOS_ARCH MATCHES "^(i386|x86_64|armv7.*|arm64.*)$") + MESSAGE(FATAL_ERROR "Unrecognized IOS_ARCH = ${IOS_ARCH}") + ENDIF() + ELSE() + MESSAGE(FATAL_ERROR "CMAKE_SYSTEM_PROCESSOR is not defined") + ENDIF() ++ELSEIF(CMAKE_SYSTEM_PROCESSOR STREQUAL "arm64") ++ # on macOS, arm64 is called arm64 ++ SET(CMAKE_SYSTEM_PROCESSOR "aarch64") + ELSEIF(NOT CMAKE_SYSTEM_PROCESSOR MATCHES "^(i[3-6]86|x86_64|armv[5-8].*|aarch64)$") + MESSAGE(FATAL_ERROR "Unrecognized CMAKE_SYSTEM_PROCESSOR = ${CMAKE_SYSTEM_PROCESSOR}") + ENDIF() + + IF(NOT CMAKE_SYSTEM_NAME) + MESSAGE(FATAL_ERROR "CMAKE_SYSTEM_NAME not defined") diff --git a/ports/qnnpack/portfile.cmake b/ports/qnnpack/portfile.cmake index 271bd11ca3b21c..157d47ec75742d 100644 --- a/ports/qnnpack/portfile.cmake +++ b/ports/qnnpack/portfile.cmake @@ -1,4 +1,3 @@ -vcpkg_fail_port_install(ON_TARGET "Windows") vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO pytorch/QNNPACK @@ -7,17 +6,18 @@ vcpkg_from_github( HEAD_REF master PATCHES use-packages.patch + fix-arm64-osx.patch ) vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DQNNPACK_BUILD_TESTS=OFF -DQNNPACK_BUILD_BENCHMARKS=OFF ) vcpkg_cmake_install() -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/bin +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/bin" ) diff --git a/ports/qnnpack/use-packages.patch b/ports/qnnpack/use-packages.patch index 33456516261ef0..2591e1331573df 100644 --- a/ports/qnnpack/use-packages.patch +++ b/ports/qnnpack/use-packages.patch @@ -123,8 +123,8 @@ index a5ddc49..05e1279 100644 ENDIF() -TARGET_LINK_LIBRARIES(qnnpack PRIVATE cpuinfo) + -+find_package(unofficial-cpuinfo CONFIG REQUIRED) -+target_link_libraries(qnnpack PUBLIC unofficial::cpuinfo::clog unofficial::cpuinfo::cpuinfo) ++find_package(cpuinfo CONFIG REQUIRED) ++target_link_libraries(qnnpack PUBLIC cpuinfo::clog cpuinfo::cpuinfo) # ---[ Configure pthreadpool -IF(NOT TARGET pthreadpool) diff --git a/ports/qnnpack/vcpkg.json b/ports/qnnpack/vcpkg.json index 20b4aa0e3ab5eb..a22b2306e60382 100644 --- a/ports/qnnpack/vcpkg.json +++ b/ports/qnnpack/vcpkg.json @@ -1,9 +1,11 @@ { "name": "qnnpack", "version-date": "2021-02-26", + "port-version": 3, "description": "Quantized Neural Network PACKage - mobile-optimized implementation of quantized neural network operators", "homepage": "https://github.com/pytorch/QNNPACK", - "supports": "linux | osx", + "license": "BSD-3-Clause", + "supports": "!windows", "dependencies": [ "cpuinfo", "fp16", diff --git a/ports/qoi/portfile.cmake b/ports/qoi/portfile.cmake new file mode 100644 index 00000000000000..6fedd4d1cb7292 --- /dev/null +++ b/ports/qoi/portfile.cmake @@ -0,0 +1,13 @@ +#header-only library + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO phoboslab/qoi + REF 19b3b4087b66963a3699ee45f05ec9ef205d7c0e # committed on 2023-08-10 + SHA512 8131031ba4b3b3c50838eb83db44bed0bf2e3fc820f18a9e48202801aebef4179f9b465354487070d7bc1feea79461abe581eecde00d61a21e27fe2b8a52699f + HEAD_REF master +) + +file(INSTALL "${SOURCE_PATH}/qoi.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/qoi/vcpkg.json b/ports/qoi/vcpkg.json new file mode 100644 index 00000000000000..465e4e10d57d85 --- /dev/null +++ b/ports/qoi/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "qoi", + "version-date": "2023-08-10", + "description": "The Quite OK Image Format for fast, lossless image compression", + "homepage": "https://qoiformat.org/", + "license": "MIT" +} diff --git a/ports/qoixx/portfile.cmake b/ports/qoixx/portfile.cmake new file mode 100644 index 00000000000000..b68514d9274170 --- /dev/null +++ b/ports/qoixx/portfile.cmake @@ -0,0 +1,13 @@ +#header-only library + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO wx257osn2/qoixx + REF eac3b33fbcb96a2664c00c24fe4e3e0d35cc7a7e # committed on 2022-12-07 + SHA512 5dd379036e064527cb25376864fb6e6cb3d461baf95a6c98148202a8072f049ae0edfbac17bf76550eeb1f367d2426b6edd0a86b9231d50bb66771878df207c4 + HEAD_REF master +) + +file(INSTALL "${SOURCE_PATH}/include/qoixx.hpp" DESTINATION "${CURRENT_PACKAGES_DIR}/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/qoixx/vcpkg.json b/ports/qoixx/vcpkg.json new file mode 100644 index 00000000000000..cef3ddb9a7bce2 --- /dev/null +++ b/ports/qoixx/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "qoixx", + "version-date": "2022-12-07", + "description": "Single Header Quite Fast QOI(Quite OK Image Format) Implementation written in C++20", + "homepage": "https://github.com/wx257osn2/qoixx", + "license": "MIT" +} diff --git a/ports/qpid-proton/fix-dependencies.patch b/ports/qpid-proton/fix-dependencies.patch new file mode 100644 index 00000000000000..dfc5985fccd0a0 --- /dev/null +++ b/ports/qpid-proton/fix-dependencies.patch @@ -0,0 +1,87 @@ +diff --git a/c/CMakeLists.txt b/c/CMakeLists.txt +index 27b40e7..81de970 100644 +--- a/c/CMakeLists.txt ++++ b/c/CMakeLists.txt +@@ -377,8 +377,13 @@ if (PROACTOR STREQUAL "iocp" OR (NOT PROACTOR AND NOT PROACTOR_OK)) + endif() + + if (PROACTOR STREQUAL "libuv" OR (NOT PROACTOR AND NOT PROACTOR_OK)) +- find_package(Libuv) ++ find_package(Libuv NAMES libuv CONFIG) + if (Libuv_FOUND) ++ if (TARGET libuv::uv) ++ add_library(Libuv::Libuv ALIAS libuv::uv) ++ else() ++ add_library(Libuv::Libuv ALIAS libuv::uv_a) ++ endif() + set (PROACTOR_OK libuv) + set (qpid-proton-proactor src/proactor/libuv.c ${qpid-proton-proactor-common}) + set (PROACTOR_LIBS Libuv::Libuv) +@@ -727,11 +732,6 @@ install (FILES + ${CMAKE_CURRENT_BINARY_DIR}/ProtonConfig.cmake + ${CMAKE_CURRENT_BINARY_DIR}/ProtonConfigVersion.cmake + DESTINATION ${LIB_INSTALL_DIR}/cmake/Proton) +-install (FILES +- ../tools/cmake/Modules/FindCyrusSASL.cmake +- ../tools/cmake/Modules/FindOpenSSL.cmake +- ../tools/cmake/Modules/FindThreads.cmake +- DESTINATION ${LIB_INSTALL_DIR}/cmake/Proton) + + if (ENABLE_BENCHMARKS) + add_subdirectory(benchmarks) +diff --git a/c/src/ProtonConfig.cmake.in b/c/src/ProtonConfig.cmake.in +index 3eca7bc..fe27234 100644 +--- a/c/src/ProtonConfig.cmake.in ++++ b/c/src/ProtonConfig.cmake.in +@@ -23,7 +23,7 @@ + # URL: http://qpid.apache.org/proton/ + + @PACKAGE_INIT@ +-if (NOT Proton_USE_STATIC_LIBS) ++if ("1") + include("${CMAKE_CURRENT_LIST_DIR}/ProtonTargets.cmake") + else() + include("${CMAKE_CURRENT_LIST_DIR}/ProtonTargetsStatic.cmake") +@@ -32,9 +32,8 @@ endif() + set(Proton_VERSION @PN_VERSION@) + + # find dependencies, because static libs don't transitively pull them +-if (Proton_USE_STATIC_LIBS) ++if ("1") + set(CMAKE_MODULE_PATH_OLD ${CMAKE_MODULE_PATH}) +- set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}") + + set(CyrusSASL_FOUND @CyrusSASL_FOUND@) + if (CyrusSASL_FOUND) +diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt +index 2049fe9..3dc8a06 100644 +--- a/cpp/CMakeLists.txt ++++ b/cpp/CMakeLists.txt +@@ -26,10 +26,10 @@ find_package(Threads) + include(versions.cmake) + + # Check for JSON-CPP support for connection configuration +-find_package(JsonCpp) + option(ENABLE_JSONCPP "Use jsoncpp parser for connection configuration" ${JsonCpp_FOUND}) + if (ENABLE_JSONCPP) +- include_directories(${JsonCpp_INCLUDE_DIRS}) ++ find_package(JsonCpp NAMES jsoncpp CONFIG REQUIRED) ++ set(JsonCpp_LIBRARY JsonCpp::JsonCpp) + set(CONNECT_CONFIG_SRC src/connect_config.cpp) + set(CONNECT_CONFIG_LIBS ${JsonCpp_LIBRARY}) + else() +diff --git a/cpp/ProtonCppConfig.cmake.in b/cpp/ProtonCppConfig.cmake.in +index aaa1bf9..e1be025 100644 +--- a/cpp/ProtonCppConfig.cmake.in ++++ b/cpp/ProtonCppConfig.cmake.in +@@ -23,7 +23,9 @@ + # URL: http://qpid.apache.org/proton/ + + @PACKAGE_INIT@ +-if (NOT ProtonCpp_USE_STATIC_LIBS) ++include(CMakeFindDependencyMacro) ++find_dependency(Proton CONFIG) ++if (1) + include("${CMAKE_CURRENT_LIST_DIR}/ProtonCppTargets.cmake") + else() + include("${CMAKE_CURRENT_LIST_DIR}/ProtonCppTargetsStatic.cmake") diff --git a/ports/qpid-proton/portfile.cmake b/ports/qpid-proton/portfile.cmake index 2d206def12219f..57bcf237c13c85 100644 --- a/ports/qpid-proton/portfile.cmake +++ b/ports/qpid-proton/portfile.cmake @@ -1,38 +1,69 @@ vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) -vcpkg_find_acquire_program(PYTHON3) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO apache/qpid-proton - REF dc244b1f7e886883a2bb416407f42ba55d0f5f42 # 0.32.0 - SHA512 19f191dd206fd43a8f5b8db95f6ada57bd60b93eb907cf32f463c23cfe8c5f4914c6f4750ebde50c970387fb62baf4451279803eeb000bc8bb5c200692e5d1d7 + REF "${VERSION}" + SHA512 05c3fded3db1fae0e6a7b9fbe34fe17af41a676a584ee916cbbeb82e957d7da74861524c5db06634326c403fabc82fddf938d018d9383745a6ce0cbc7a9eada3 HEAD_REF next + PATCHES + fix-dependencies.patch ) +file(REMOVE "${SOURCE_PATH}/tools/cmake/Modules/FindPython.cmake") +file(REMOVE "${SOURCE_PATH}/tools/cmake/Modules/FindOpenSSL.cmake") +file(REMOVE "${SOURCE_PATH}/tools/cmake/Modules/FindJsonCpp.cmake") + +vcpkg_find_acquire_program(PYTHON3) + +if(VCPKG_TARGET_IS_OSX OR VCPKG_TARGET_IS_IOS) + set(rpath "@loader_path") +else() + set(rpath "\$ORIGIN") +endif() vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" + DISABLE_PARALLEL_CONFIGURE # It may cause call CHECK_LIBRARY_EXISTS before call project to set the language OPTIONS - -DPYTHON_EXECUTABLE=${PYTHON3} - -DLIB_SUFFIX= - -DBUILD_GO=no - -DBUILD_RUBY=no - -DBUILD_PYTHON=no - -DENABLE_JSONCPP=ON + -DBUILD_BINDINGS=cpp -DCMAKE_DISABLE_FIND_PACKAGE_CyrusSASL=ON + -DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=ON + -DCMAKE_DISABLE_FIND_PACKAGE_SWIG=ON + -DENABLE_JSONCPP=ON + -DENABLE_LINKTIME_OPTIMIZATION=OFF + -DENABLE_OPENTELEMETRYCPP=OFF + -DLIB_SUFFIX= + -DENABLE_WARNING_ERROR=OFF + -DENABLE_BENCHMARKS=OFF + -DENABLE_FUZZ_TESTING=OFF + -DBUILD_EXAMPLES=OFF + -DBUILD_TESTING=OFF + -DCMAKE_INSTALL_RPATH=${rpath} + -DPython_EXECUTABLE=${PYTHON3} ) vcpkg_cmake_install() - vcpkg_copy_pdbs() -vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake) + +# qpid-proton installs tests into share/proton; this is not desireable +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/proton") + +vcpkg_cmake_config_fixup( + PACKAGE_NAME proton + CONFIG_PATH lib/cmake/Proton + DO_NOT_DELETE_PARENT_CONFIG_PATH +) +vcpkg_cmake_config_fixup( + PACKAGE_NAME protoncpp + CONFIG_PATH lib/cmake/ProtonCpp +) vcpkg_fixup_pkgconfig() -file(RENAME "${CURRENT_PACKAGES_DIR}/share/proton/LICENSE.txt" - "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright") +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" +) -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/proton") +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/proton/version.h" "#define PN_INSTALL_PREFIX \"${CURRENT_PACKAGES_DIR}\"" "" IGNORE_UNCHANGED) -vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/proton/version.h" "#define PN_INSTALL_PREFIX \"${CURRENT_PACKAGES_DIR}\"" "") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") diff --git a/ports/qpid-proton/vcpkg.json b/ports/qpid-proton/vcpkg.json index cbdd7e4ecd6d0a..48c080e6054441 100644 --- a/ports/qpid-proton/vcpkg.json +++ b/ports/qpid-proton/vcpkg.json @@ -1,9 +1,10 @@ { "name": "qpid-proton", - "version": "0.32.0", + "version": "0.38.0", "port-version": 2, "description": "Qpid Proton is a high-performance, lightweight messaging library.", "homepage": "https://github.com/apache/qpid-proton", + "license": "Apache-2.0", "dependencies": [ "jsoncpp", { @@ -12,7 +13,7 @@ }, { "name": "openssl", - "platform": "!windows & !uwp" + "platform": "!windows" }, { "name": "vcpkg-cmake", diff --git a/ports/qscintilla/fix-static.patch b/ports/qscintilla/fix-static.patch index 1c0569d47d4309..ab1cf546d0fc37 100644 --- a/ports/qscintilla/fix-static.patch +++ b/ports/qscintilla/fix-static.patch @@ -16,9 +16,9 @@ index 8d0acd2..2246442 100644 -!CONFIG(staticlib) { +!CONFIG(static) { DEFINES += QSCINTILLA_MAKE_DLL - } - DEFINES += SCINTILLA_QT SCI_LEXER INCLUDE_DEPRECATED_FEATURES -@@ -82,7 +82,7 @@ qsci.files = ../qsci + + # Comment this in to build a dynamic library supporting multiple +@@ -86,7 +86,7 @@ qsci.files = ../qsci INSTALLS += qsci features.path = $$[QT_HOST_DATA]/mkspecs/features diff --git a/ports/qscintilla/portfile.cmake b/ports/qscintilla/portfile.cmake index e239dcc375bdab..3044654ac6f3e5 100644 --- a/ports/qscintilla/portfile.cmake +++ b/ports/qscintilla/portfile.cmake @@ -1,11 +1,11 @@ vcpkg_download_distfile(ARCHIVE - URLS "https://www.riverbankcomputing.com/static/Downloads/QScintilla/2.12.0/QScintilla_src-2.12.0.tar.gz" - FILENAME "QScintilla-2.12.0.tar.gz" - SHA512 9bdaba5c33c1b11ccad83eb1fda72142758afc50c955a62d5a8ff102b41d4b67d897bf96ce0540e16bc5a7fae2ce1acbf06931d5f0ae6768759c9ff072c03daa + URLS "https://www.riverbankcomputing.com/static/Downloads/QScintilla/${VERSION}/QScintilla_src-${VERSION}.tar.gz" + FILENAME "QScintilla-${VERSION}.tar.gz" + SHA512 19e2f9e0a14947501c575018df368d24eb7f8c74e74faa5246db36415bf28dc0beee507ed0e73107c02b36a99bbaf55f0ef3349f479d2332e1b92b2c4a32788a ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH +vcpkg_extract_source_archive( + SOURCE_PATH ARCHIVE ${ARCHIVE} PATCHES fix-static.patch @@ -17,21 +17,24 @@ vcpkg_find_acquire_program(PYTHON3) get_filename_component(PYTHON3_PATH ${PYTHON3} DIRECTORY) vcpkg_add_to_path(${PYTHON3_PATH}) -vcpkg_configure_qmake( - SOURCE_PATH ${SOURCE_PATH}/src - OPTIONS - CONFIG+=build_all - CONFIG-=hide_symbols - DEFINES+=SCI_NAMESPACE +vcpkg_qmake_configure( + SOURCE_PATH "${SOURCE_PATH}/src" + QMAKE_OPTIONS + "CONFIG-=hide_symbols" + "DEFINES+=SCI_NAMESPACE" ) +vcpkg_qmake_install() -if(VCPKG_TARGET_IS_WINDOWS) - vcpkg_install_qmake( - RELEASE_TARGETS release - DEBUG_TARGETS debug - ) -else() - vcpkg_install_qmake() +file(GLOB DLLS "${CURRENT_PACKAGES_DIR}/lib/*.dll") +if(DLLS) + file(COPY ${DLLS} DESTINATION "${CURRENT_PACKAGES_DIR}/bin") + file(REMOVE ${DLLS}) +endif() + +file(GLOB DEBUG_DLLS "${CURRENT_PACKAGES_DIR}/debug/lib/*.dll") +if(DEBUG_DLLS) + file(COPY ${DEBUG_DLLS} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin") + file(REMOVE ${DEBUG_DLLS}) endif() file(GLOB HEADER_FILES ${SOURCE_PATH}/src/Qsci/*) @@ -46,5 +49,7 @@ endif() vcpkg_copy_pdbs() +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/unofficial-qscintilla-config.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/unofficial-${PORT}") + # 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/qscintilla/unofficial-qscintilla-config.cmake b/ports/qscintilla/unofficial-qscintilla-config.cmake new file mode 100644 index 00000000000000..111ed872d90a73 --- /dev/null +++ b/ports/qscintilla/unofficial-qscintilla-config.cmake @@ -0,0 +1,37 @@ +if(NOT TARGET unofficial::qscintilla::qscintilla) + include(CMakeFindDependencyMacro) + find_dependency(Qt6Widgets CONFIG) + if(NOT IOS) + find_dependency(Qt6PrintSupport CONFIG) + endif() + + add_library(unofficial::qscintilla::qscintilla UNKNOWN IMPORTED) + get_filename_component(z_vcpkg_qscintilla_root "${CMAKE_CURRENT_LIST_FILE}" PATH) + get_filename_component(z_vcpkg_qscintilla_root "${z_vcpkg_qscintilla_root}" PATH) + get_filename_component(z_vcpkg_qscintilla_root "${z_vcpkg_qscintilla_root}" PATH) + + set_target_properties(unofficial::qscintilla::qscintilla PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${z_vcpkg_qscintilla_root}/include" + INTERFACE_LINK_LIBRARIES Qt6::Widgets + ) + + if(NOT IOS) + set_property(TARGET unofficial::qscintilla::qscintilla APPEND PROPERTY INTERFACE_LINK_LIBRARIES Qt6::PrintSupport) + endif() + + find_library(Z_VCPKG_QSCINTILLA_LIBRARY_RELEASE NAMES libqscintilla2_qt6 qscintilla2_qt6 PATHS "${z_vcpkg_qscintilla_root}/lib" NO_DEFAULT_PATH) + if(EXISTS "${Z_VCPKG_QSCINTILLA_LIBRARY_RELEASE}") + set_property(TARGET unofficial::qscintilla::qscintilla APPEND PROPERTY IMPORTED_CONFIGURATIONS "Release") + set_target_properties(unofficial::qscintilla::qscintilla PROPERTIES + IMPORTED_LOCATION_RELEASE "${Z_VCPKG_QSCINTILLA_LIBRARY_RELEASE}") + endif() + + find_library(Z_VCPKG_QSCINTILLA_LIBRARY_DEBUG NAMES libqscintilla2_qt6 qscintilla2_qt6d libqscintilla2_qt6_debug PATHS "${z_vcpkg_qscintilla_root}/debug/lib" NO_DEFAULT_PATH) + if(EXISTS "${Z_VCPKG_QSCINTILLA_LIBRARY_DEBUG}") + set_property(TARGET unofficial::qscintilla::qscintilla APPEND PROPERTY IMPORTED_CONFIGURATIONS "Debug") + set_target_properties(unofficial::qscintilla::qscintilla PROPERTIES + IMPORTED_LOCATION_DEBUG "${Z_VCPKG_QSCINTILLA_LIBRARY_DEBUG}") + endif() + + unset(z_vcpkg_qscintilla_root) +endif() diff --git a/ports/qscintilla/vcpkg.json b/ports/qscintilla/vcpkg.json index 8e822764c2448e..37db8849dc9ea8 100644 --- a/ports/qscintilla/vcpkg.json +++ b/ports/qscintilla/vcpkg.json @@ -1,22 +1,20 @@ { "name": "qscintilla", - "version": "2.12.0", + "version": "2.14.1", "port-version": 1, "description": "QScintilla is a port to Qt of the Scintilla editing component. Features syntax highlighting, code-completion and much more (Barebone build without python bindings (missing dependeny PyQt) and without QtDesigner plugin)", "homepage": "https://www.riverbankcomputing.com/software/qscintilla", - "supports": "!(windows & (arm | arm64))", + "license": "GPL-3.0-or-later", + "supports": "!xbox", "dependencies": [ { - "name": "qt5-base", + "name": "qtbase", "default-features": false }, { - "name": "qt5-macextras", - "platform": "osx" - }, - { - "name": "qt5-winextras", - "platform": "windows" + "name": "vcpkg-qmake", + "host": true, + "default-features": false } ] } diff --git a/ports/qt-advanced-docking-system/config_changes.patch b/ports/qt-advanced-docking-system/config_changes.patch deleted file mode 100644 index 3ee543de47f8cc..00000000000000 --- a/ports/qt-advanced-docking-system/config_changes.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 0bd721d..4848c5f 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -52,7 +52,7 @@ if (UNIX) - set(ads_SRCS linux/FloatingWidgetTitleBar.cpp ${ads_SRCS}) - set(ads_HEADERS linux/FloatingWidgetTitleBar.h ${ads_HEADERS}) - endif() --if(BUILD_STATIC) -+if(NOT BUILD_SHARED_LIBS) - add_library(qtadvanceddocking STATIC ${ads_SRCS} ${ads_HEADERS}) - target_compile_definitions(qtadvanceddocking PUBLIC ADS_STATIC) - else() diff --git a/ports/qt-advanced-docking-system/hardcode_version.patch b/ports/qt-advanced-docking-system/hardcode_version.patch deleted file mode 100644 index f5fc9caf8329b7..00000000000000 --- a/ports/qt-advanced-docking-system/hardcode_version.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 94fdb8d..6febea2 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1,11 +1,6 @@ - cmake_minimum_required(VERSION 3.5) - set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules ${CMAKE_MODULE_PATH}) --include(GetGitRevisionDescription) --git_describe(GitTagVersion --tags) --string(REGEX REPLACE "^([0-9]+)\\..*" "\\1" VERSION_MAJOR "${GitTagVersion}") --string(REGEX REPLACE "^[0-9]+\\.([0-9]+).*" "\\1" VERSION_MINOR "${GitTagVersion}") --string(REGEX REPLACE "^[0-9]+\\.[0-9]+\\.([0-9]+).*" "\\1" VERSION_PATCH "${GitTagVersion}") --set(VERSION_SHORT "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}") -+ - project(QtADS LANGUAGES CXX VERSION ${VERSION_SHORT}) - option(BUILD_STATIC "Build the static library" OFF) - option(BUILD_EXAMPLES "Build the examples" ON) diff --git a/ports/qt-advanced-docking-system/portfile.cmake b/ports/qt-advanced-docking-system/portfile.cmake index a464049ec76ab2..501c629cd68ffc 100644 --- a/ports/qt-advanced-docking-system/portfile.cmake +++ b/ports/qt-advanced-docking-system/portfile.cmake @@ -1,27 +1,37 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO githubuser0xFFFF/Qt-Advanced-Docking-System - REF 44dc76bd19853dcb18d37d5be231af526c8f709e #v3.6.3 - SHA512 ff50cd65f82736eae90f823d332d63c5c024ecb9e510f95fb8d776a0763bbd0143094b789516193c4037ca2a82eba33d73a68193bb6777e285c8a1e397b3958c + REF "${VERSION}" + SHA512 ee78b1c7f6164b06ce9c193aa5dfa19281a1c894cd8a8cbcae6d137abc13417f32e0f2a05f9d91557e14ced91b3b541991065d0ee190ea5ad2623c3848674eaf HEAD_REF master - PATCHES - hardcode_version.patch - config_changes.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS +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") +endif() + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC) +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${_qarg_OPTIONS} -DBUILD_EXAMPLES=OFF - -DVERSION_SHORT=3.6.3 + -DADS_VERSION=${VERSION} + -DQT_VERSION_MAJOR=6 + -DBUILD_STATIC=${BUILD_STATIC} ) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME "qt6advanceddocking" CONFIG_PATH "lib/cmake/qt6advanceddocking") + +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/qt6advanceddocking/qt6advanceddockingConfig.cmake" +"include(CMakeFindDependencyMacro)" +[[include(CMakeFindDependencyMacro) +find_dependency(Qt6 COMPONENTS Core Gui Widgets)]]) -vcpkg_install_cmake() +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/license") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/license") -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) -file(INSTALL ${SOURCE_PATH}/gnu-lgpl-v2.1.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/license) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/qtadvanceddocking TARGET_PATH share/qtadvanceddocking) +file(INSTALL "${SOURCE_PATH}/gnu-lgpl-v2.1.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/qt-advanced-docking-system/vcpkg.json b/ports/qt-advanced-docking-system/vcpkg.json index ae8fe0ff68edb8..5d0f77e6122ff4 100644 --- a/ports/qt-advanced-docking-system/vcpkg.json +++ b/ports/qt-advanced-docking-system/vcpkg.json @@ -1,18 +1,27 @@ { "name": "qt-advanced-docking-system", - "version-string": "3.6.3", - "port-version": 2, + "version": "4.3.1", "description": "Create customizable layouts using an advanced window docking system similar to what is found in many popular IDEs such as Visual Studio", "homepage": "https://github.com/githubuser0xFFFF/Qt-Advanced-Docking-System", + "license": "LGPL-2.1-only", + "supports": "!xbox", "dependencies": [ "bzip2", { - "name": "qt5-base", - "default-features": false + "name": "qtbase", + "default-features": false, + "features": [ + "gui", + "widgets" + ] }, { - "name": "qt5-x11extras", - "platform": "!windows" + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true }, "zlib" ] diff --git a/ports/qt/vcpkg.json b/ports/qt/vcpkg.json index 67a6953fa2a407..c43db2a5aca95f 100644 --- a/ports/qt/vcpkg.json +++ b/ports/qt/vcpkg.json @@ -1,9 +1,24 @@ { "name": "qt", - "version-semver": "6.2.1", - "description": "Qt", + "version": "6.7.3", + "description": "A cross-platform application and UI framework.", "homepage": "https://www.qt.io/", + "license": null, "dependencies": [ + { + "name": "qt3d", + "default-features": false, + "features": [ + "animation", + "assimp", + "extras", + "input", + "logic", + "qml", + "render", + "rhi" + ] + }, { "name": "qt5compat", "default-features": false, @@ -14,6 +29,7 @@ "textcodec" ] }, + "qtapplicationmanager", { "name": "qtbase", "default-features": false @@ -30,7 +46,14 @@ "qtconnectivity", "qtdatavis3d", "qtdeclarative", + { + "name": "qtdeviceutilities", + "default-features": false, + "platform": "linux" + }, "qtdoc", + "qtgraphs", + "qtgrpc", { "name": "qtimageformats", "default-features": false, @@ -40,14 +63,8 @@ "webp" ] }, - { - "name": "qtlocation", - "default-features": false, - "features": [ - "nmea", - "qml" - ] - }, + "qtinterfaceframework", + "qtlanguageserver", { "name": "qtlottie", "default-features": false, @@ -60,11 +77,19 @@ "name": "qtmultimedia", "default-features": false, "features": [ - "gstreamer", + "ffmpeg", "qml", "widgets" ] }, + { + "name": "qtmultimedia", + "default-features": false, + "features": [ + "gstreamer" + ], + "platform": "!windows" + }, "qtnetworkauth", { "name": "qtopcua", @@ -72,6 +97,13 @@ "qml" ] }, + { + "name": "qtpositioning", + "default-features": false, + "features": [ + "qml" + ] + }, { "name": "qtquick3d", "default-features": false @@ -101,6 +133,11 @@ "qtserialbus", "qtserialport", "qtshadertools", + { + "name": "qtspeech", + "default-features": false, + "platform": "!(windows & x86)" + }, "qtsvg", { "name": "qttools", @@ -127,7 +164,8 @@ "geolocation", "spellchecker", "webchannel" - ] + ], + "platform": "!static & !(windows & arm)" }, { "name": "qtwebsockets", @@ -136,13 +174,17 @@ "qml" ] }, + { + "name": "qtwebview", + "default-features": false + }, { "name": "qtwebview", "default-features": false, "features": [ - "qml", "webengine" - ] + ], + "platform": "!static & !(windows & arm)" } ], "default-features": [ diff --git a/ports/qt3d/portfile.cmake b/ports/qt3d/portfile.cmake new file mode 100644 index 00000000000000..add309215273ec --- /dev/null +++ b/ports/qt3d/portfile.cmake @@ -0,0 +1,35 @@ +set(SCRIPT_PATH "${CURRENT_INSTALLED_DIR}/share/qtbase") +include("${SCRIPT_PATH}/qt_install_submodule.cmake") + +# General features: +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS +FEATURES + "qml" CMAKE_REQUIRE_FIND_PACKAGE_Qt6Quick + "vulkan" CMAKE_REQUIRE_FIND_PACKAGE_Vulkan + "vulkan" FEATURE_qt3d_vulkan + "rhi" FEATURE_qt3d_rhi_renderer + "render" FEATURE_qt3d_render + "input" FEATURE_qt3d_input + "logic" FEATURE_qt3d_logic + "extras" FEATURE_qt3d_extras + "animation" FEATURE_qt3d_animation +INVERTED_FEATURES + "qml" CMAKE_DISABLE_FIND_PACKAGE_Qt6Quick + "vulkan" CMAKE_DISABLE_FIND_PACKAGE_Vulkan + ) + +if("assimp" IN_LIST FEATURES) + list(APPEND FEATURE_OPTIONS -DINPUT_assimp=system) +else() + list(APPEND FEATURE_OPTIONS -DINPUT_assimp=no) +endif() + +qt_install_submodule(PATCHES ${${PORT}_PATCHES} + CONFIGURE_OPTIONS + ${FEATURE_OPTIONS} + #-DINPUT_fbxsdk=no + -DFEATURE_qt3d_fbxsdk=OFF # OpenFBX? Probably not! + -DCMAKE_FIND_PACKAGE_TARGETS_GLOBAL=ON + CONFIGURE_OPTIONS_RELEASE + CONFIGURE_OPTIONS_DEBUG + ) diff --git a/ports/qt3d/vcpkg.json b/ports/qt3d/vcpkg.json new file mode 100644 index 00000000000000..df19fc50ee5747 --- /dev/null +++ b/ports/qt3d/vcpkg.json @@ -0,0 +1,106 @@ +{ + "name": "qt3d", + "version": "6.7.3", + "description": "Qt wrapper for existing OPC UA stacks", + "homepage": "https://www.qt.io/", + "license": null, + "dependencies": [ + "assimp", + { + "name": "qtbase", + "default-features": false, + "features": [ + "concurrent", + "gui", + "network", + "widgets" + ] + } + ], + "default-features": [ + "animation", + "assimp", + "extras", + "input", + "logic", + "render" + ], + "features": { + "animation": { + "description": "Use the 3D Animation Aspect library", + "dependencies": [ + { + "name": "qt3d", + "default-features": false, + "features": [ + "render" + ] + } + ] + }, + "assimp": { + "description": "Build with assimp", + "dependencies": [ + "assimp" + ] + }, + "extras": { + "description": "Use the 3D Extra library", + "dependencies": [ + { + "name": "qt3d", + "default-features": false, + "features": [ + "input", + "logic", + "render" + ] + } + ] + }, + "input": { + "description": "Use the 3D Input Aspect library" + }, + "logic": { + "description": "Use the 3D Logic Aspect library" + }, + "qml": { + "description": "Build QML imports", + "dependencies": [ + { + "name": "qtbase", + "default-features": false, + "features": [ + "gui" + ] + }, + { + "name": "qtdeclarative", + "default-features": false + } + ] + }, + "render": { + "description": "Use the 3D Render Aspect library" + }, + "rhi": { + "description": "Enable RHI renderer", + "dependencies": [ + "qtshadertools" + ] + }, + "vulkan": { + "description": "Build with vulkan support", + "dependencies": [ + { + "name": "qt3d", + "default-features": false, + "features": [ + "rhi" + ] + }, + "vulkan" + ] + } + } +} diff --git a/ports/qt5-3d/portfile.cmake b/ports/qt5-3d/portfile.cmake index 62a01e4de459a9..842418a20191a7 100644 --- a/ports/qt5-3d/portfile.cmake +++ b/ports/qt5-3d/portfile.cmake @@ -1,56 +1,10 @@ -include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake) +include("${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake") set(OPTIONS -system-assimp) -if(VCPKG_TARGET_IS_WINDOWS) - set(VCVER vc140 vc141 vc142 ) - set(CRT mt md) - set(DBG_NAMES) - set(REL_NAMES) - foreach(_ver IN LISTS VCVER) - foreach(_crt IN LISTS CRT) - list(APPEND DBG_NAMES assimp-${_ver}-${_crt}d) - list(APPEND REL_NAMES assimp-${_ver}-${_crt}) - endforeach() - endforeach() -endif() +x_vcpkg_pkgconfig_get_modules(PREFIX assimp MODULES assimp LIBS) -find_library(ASSIMP_REL NAMES assimp ${REL_NAMES} PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) -find_library(ASSIMP_DBG NAMES assimp assimpd ${DBG_NAMES} PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) - -find_library(MINIZIP_REL NAMES minizip PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) -find_library(MINIZIP_DBG NAMES minizip minizipd PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) -find_library(KUBAZIP_REL NAMES kubazip PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) -find_library(KUBAZIP_DBG NAMES kubazip kubazipd PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) -find_library(JPEG_REL NAMES jpeg jpeg-static PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) -find_library(JPEG_DBG NAMES jpeg jpeg-static jpegd jpeg-staticd PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) -find_library(LIBPNG_REL NAMES png16 libpng16 PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) #Depends on zlib -find_library(LIBPNG_DBG NAMES png16 png16d libpng16 libpng16d PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) -find_library(ZLIB_REL NAMES z zlib PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) -find_library(ZLIB_DBG NAMES z zlib zd zlibd PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) -find_library(IRRLICHT_REL NAMES Irrlicht PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) -find_library(IRRLICHT_DBG NAMES Irrlicht PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) -find_library(POLYCLIPPING_REL NAMES polyclipping PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) -find_library(POLYCLIPPING_DBG NAMES polyclipping polyclippingd PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) -find_library(POLY2TRI_REL NAMES poly2tri PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) -find_library(POLY2TRI_DBG NAMES poly2tri poly2trid PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) -# poly2tri -find_library(BZ2_REL bz2 PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) -find_library(BZ2_DBG bz2 bz2d PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) -if(BZ2_REL) - string(APPEND MINIZIP_REL " ${BZ2_REL}") -endif() -if(BZ2_DBG) - string(APPEND MINIZIP_DBG " ${BZ2_DBG}") -endif() -if(VCPKG_TARGET_IS_WINDOWS) - set(SYSTEM_LIBS "Advapi32.lib user32.lib gdi32.lib") -elseif(VCPKG_TARGET_IS_OSX) - set(SYSTEM_LIBS "-framework OpenGL -framework Cocoa -framework Carbon -framework IOKit -framework AppKit") -else() - set(SYSTEM_LIBS "-lGL -lXxf86vm -lX11") -endif() -set(OPT_REL "ASSIMP_LIBS=${ASSIMP_REL} ${POLYCLIPPING_REL} ${POLY2TRI_REL} ${IRRLICHT_REL} ${JPEG_REL} ${LIBPNG_REL} ${KUBAZIP_REL} ${MINIZIP_REL} ${ZLIB_REL} ${SYSTEM_LIBS}") -set(OPT_DBG "ASSIMP_LIBS=${ASSIMP_DBG} ${POLYCLIPPING_DBG} ${POLY2TRI_DBG} ${IRRLICHT_DBG} ${JPEG_DBG} ${LIBPNG_DBG} ${KUBAZIP_DBG} ${MINIZIP_DBG} ${ZLIB_DBG} ${SYSTEM_LIBS}") +set(OPT_REL "ASSIMP_LIBS=${assimp_LIBS_RELEASE}") +set(OPT_DBG "ASSIMP_LIBS=${assimp_LIBS_DEBUG}") qt_submodule_installation(BUILD_OPTIONS ${OPTIONS} BUILD_OPTIONS_RELEASE ${OPT_REL} BUILD_OPTIONS_DEBUG ${OPT_DBG}) diff --git a/ports/qt5-3d/vcpkg.json b/ports/qt5-3d/vcpkg.json index ea4f27ee834f1f..da08f7e505f7ed 100644 --- a/ports/qt5-3d/vcpkg.json +++ b/ports/qt5-3d/vcpkg.json @@ -1,8 +1,8 @@ { "name": "qt5-3d", - "version-string": "5.15.2", - "port-version": 2, - "description": "Qt5 3d Module - Functionality for near-realtime simulation systems with support for 2D and 3D rendering", + "version": "5.15.15", + "description": "Qt 3D provides functionality for near-realtime simulation systems with support for 2D and 3D rendering in both Qt C++ and Qt Quick applications.", + "license": null, "dependencies": [ "assimp", { @@ -11,6 +11,10 @@ }, "qt5-declarative", "qt5-gamepad", - "qt5-imageformats" + "qt5-imageformats", + { + "name": "vcpkg-pkgconfig-get-modules", + "host": true + } ] } diff --git a/ports/qt5-activeqt/portfile.cmake b/ports/qt5-activeqt/portfile.cmake index a73a605512c32c..d11e2a0f6eb54c 100644 --- a/ports/qt5-activeqt/portfile.cmake +++ b/ports/qt5-activeqt/portfile.cmake @@ -1,6 +1,2 @@ -if (NOT VCPKG_TARGET_IS_WINDOWS) - message(FATAL_ERROR "qt5-activeqt only support Windows.") -endif() - -include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake) -qt_submodule_installation() \ No newline at end of file +include("${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake") +qt_submodule_installation() diff --git a/ports/qt5-activeqt/vcpkg.json b/ports/qt5-activeqt/vcpkg.json index 05dd52842bc86a..197295cad9dfbb 100644 --- a/ports/qt5-activeqt/vcpkg.json +++ b/ports/qt5-activeqt/vcpkg.json @@ -1,14 +1,13 @@ { "name": "qt5-activeqt", - "version-string": "5.15.2", - "port-version": 1, - "description": "Qt5 ActiveQt Module - ActiveX components", + "version": "5.15.15", + "description": "Active Qt is a helper framework that enables the developer to access and use ActiveX controls and COM objects provided by any ActiveX server. It also makes it possible to make the developer's own Qt applications available as COM servers on Windows.", + "license": null, "supports": "windows", "dependencies": [ { "name": "qt5-base", "default-features": false - }, - "qt5-declarative" + } ] } diff --git a/ports/qt5-androidextras/vcpkg.json b/ports/qt5-androidextras/vcpkg.json index 12024cbd29872a..4e68d69484b3ca 100644 --- a/ports/qt5-androidextras/vcpkg.json +++ b/ports/qt5-androidextras/vcpkg.json @@ -1,8 +1,8 @@ { "name": "qt5-androidextras", - "version-string": "5.15.2", - "port-version": 1, - "description": "Qt5 androidextras Module;", + "version": "5.15.15", + "description": "The Qt Android Extras module provided a set of classes and functions that were specific to Android applications written with Qt. This module helped developers to integrate various Android-specific features and services into their Qt applications.", + "license": null, "supports": "android", "dependencies": [ { diff --git a/ports/qt5-base/cmake/configure_qt.cmake b/ports/qt5-base/cmake/configure_qt.cmake index ea62b744a2874e..7951086bb751f9 100644 --- a/ports/qt5-base/cmake/configure_qt.cmake +++ b/ports/qt5-base/cmake/configure_qt.cmake @@ -29,6 +29,46 @@ function(configure_qt) #Cleanup previous build folders file(REMOVE_RECURSE "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel" "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") + vcpkg_cmake_get_vars(detected_file) + include("${detected_file}") + function(qmake_append_program var qmake_var value) + get_filename_component(prog "${value}" NAME) + # QMake assumes everything is on PATH? + vcpkg_list(APPEND ${var} "${qmake_var}=${prog}") + find_program(${qmake_var} NAMES "${prog}") + cmake_path(COMPARE "${${qmake_var}}" EQUAL "${value}" correct_prog_on_path) + if(NOT correct_prog_on_path AND NOT "${value}" MATCHES "|:") + message(FATAL_ERROR "Detect path mismatch for '${qmake_var}'. '${value}' is not the same as '${${qmake_var}}'. Please correct your PATH!") + endif() + unset(${qmake_var}) + unset(${qmake_var} CACHE) + set(${var} "${${var}}" PARENT_SCOPE) + endfunction() + # Setup Build tools + set(qmake_build_tools "") + qmake_append_program(qmake_build_tools "QMAKE_CC" "${VCPKG_DETECTED_CMAKE_C_COMPILER}") + qmake_append_program(qmake_build_tools "QMAKE_CXX" "${VCPKG_DETECTED_CMAKE_CXX_COMPILER}") + qmake_append_program(qmake_build_tools "QMAKE_AR" "${VCPKG_DETECTED_CMAKE_AR}") + qmake_append_program(qmake_build_tools "QMAKE_RANLIB" "${VCPKG_DETECTED_CMAKE_RANLIB}") + qmake_append_program(qmake_build_tools "QMAKE_STRIP" "${VCPKG_DETECTED_CMAKE_STRIP}") + qmake_append_program(qmake_build_tools "QMAKE_NM" "${VCPKG_DETECTED_CMAKE_NM}") + qmake_append_program(qmake_build_tools "QMAKE_RC" "${VCPKG_DETECTED_CMAKE_RC_COMPILER}") + qmake_append_program(qmake_build_tools "QMAKE_MT" "${VCPKG_DETECTED_CMAKE_MT}") + if(NOT VCPKG_TARGET_IS_WINDOWS OR VCPKG_DETECTED_CMAKE_AR MATCHES "ar$") + # This is the reason why users should probably use a + # customized qt.conf with more domain knowledge. + vcpkg_list(APPEND qmake_build_tools "QMAKE_AR+=qc") + endif() + if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + qmake_append_program(qmake_build_tools "QMAKE_LIB" "${VCPKG_DETECTED_CMAKE_AR}") + qmake_append_program(qmake_build_tools "QMAKE_LINK" "${VCPKG_DETECTED_CMAKE_LINKER}") + else() + qmake_append_program(qmake_build_tools "QMAKE_LINK" "${VCPKG_DETECTED_CMAKE_CXX_COMPILER}") + qmake_append_program(qmake_build_tools "QMAKE_LINK_SHLIB" "${VCPKG_DETECTED_CMAKE_CXX_COMPILER}") + qmake_append_program(qmake_build_tools "QMAKE_LINK_C" "${VCPKG_DETECTED_CMAKE_C_COMPILER}") + qmake_append_program(qmake_build_tools "QMAKE_LINK_C_SHLIB" "${VCPKG_DETECTED_CMAKE_C_COMPILER}") + endif() + #Find and ad Perl to PATH vcpkg_find_acquire_program(PERL) get_filename_component(PERL_EXE_PATH ${PERL} DIRECTORY) @@ -39,7 +79,7 @@ function(configure_qt) else() #list(APPEND _csc_OPTIONS_DEBUG -separate-debug-info) endif() - + if(VCPKG_TARGET_IS_WINDOWS AND "${VCPKG_CRT_LINKAGE}" STREQUAL "static") list(APPEND _csc_OPTIONS -static-runtime) endif() @@ -69,12 +109,12 @@ function(configure_qt) set(ENV{PKG_CONFIG} "${PKGCONFIG}") get_filename_component(PKGCONFIG_PATH "${PKGCONFIG}" DIRECTORY) vcpkg_add_to_path("${PKGCONFIG_PATH}") - + foreach(_buildname ${BUILDTYPES}) - set(PKGCONFIG_INSTALLED_DIR "${_VCPKG_INSTALLED_PKGCONF}${_path_suffix_${_buildname}}/lib/pkgconfig") - set(PKGCONFIG_INSTALLED_SHARE_DIR "${_VCPKG_INSTALLED_PKGCONF}/share/pkgconfig") - set(PKGCONFIG_PACKAGES_DIR "${_VCPKG_PACKAGES_PKGCONF}${_path_suffix_${_buildname}}/lib/pkgconfig") - set(PKGCONFIG_PACKAGES_SHARE_DIR "${_VCPKG_PACKAGES_PKGCONF}/share/pkgconfig") + set(PKGCONFIG_INSTALLED_DIR "${CURRENT_INSTALLED_DIR}${_path_suffix_${_buildname}}/lib/pkgconfig") + set(PKGCONFIG_INSTALLED_SHARE_DIR "${CURRENT_INSTALLED_DIR}/share/pkgconfig") + set(PKGCONFIG_PACKAGES_DIR "${CURRENT_PACKAGES_DIR}${_path_suffix_${_buildname}}/lib/pkgconfig") + set(PKGCONFIG_PACKAGES_SHARE_DIR "${CURRENT_PACKAGES_DIR}/share/pkgconfig") if(DEFINED ENV{PKG_CONFIG_PATH}) set(BACKUP_ENV_PKG_CONFIG_PATH_${_config} $ENV{PKG_CONFIG_PATH}) set(ENV{PKG_CONFIG_PATH} "${PKGCONFIG_INSTALLED_DIR}${VCPKG_HOST_PATH_SEPARATOR}${PKGCONFIG_INSTALLED_SHARE_DIR}${VCPKG_HOST_PATH_SEPARATOR}${PKGCONFIG_PACKAGES_DIR}${VCPKG_HOST_PATH_SEPARATOR}${PKGCONFIG_PACKAGES_SHARE_DIR}${VCPKG_HOST_PATH_SEPARATOR}$ENV{PKG_CONFIG_PATH}") @@ -86,6 +126,25 @@ function(configure_qt) message(STATUS "Configuring ${_build_triplet}") set(_build_dir "${CURRENT_BUILDTREES_DIR}/${_build_triplet}") file(MAKE_DIRECTORY ${_build_dir}) + + set(qmake_comp_flags "") + # Note sure about these. VCPKG_QMAKE_OPTIONS offers a way to opt out of these. (earlier values being overwritten by later values; = set +=append *=append unique -=remove) + macro(qmake_add_flags qmake_var operation flags) + string(STRIP "${flags}" striped_flags) + if(striped_flags) + vcpkg_list(APPEND qmake_comp_flags "${qmake_var}${operation}${striped_flags}") + endif() + endmacro() + + qmake_add_flags("QMAKE_LIBS" "+=" "${VCPKG_DETECTED_CMAKE_C_STANDARD_LIBRARIES} ${VCPKG_DETECTED_CMAKE_CXX_STANDARD_LIBRARIES}") + qmake_add_flags("QMAKE_RC" "+=" "${VCPKG_COMBINED_RC_FLAGS_${_buildname}}") + qmake_add_flags("QMAKE_CFLAGS_${_buildname}" "+=" "${VCPKG_COMBINED_C_FLAGS_${_buildname}}") + qmake_add_flags("QMAKE_CXXFLAGS_${_buildname}" "+=" "${VCPKG_COMBINED_CXX_FLAGS_${_buildname}}") + qmake_add_flags("QMAKE_LFLAGS" "+=" "${VCPKG_COMBINED_SHARED_LINKER_FLAGS_${_buildname}}") + qmake_add_flags("QMAKE_LFLAGS_SHLIB" "+=" "${VCPKG_COMBINED_SHARED_LINKER_FLAGS_${_buildname}}") + qmake_add_flags("QMAKE_LFLAGS_PLUGIN" "+=" "${VCPKG_COMBINED_MODULE_LINKER_FLAGS_${_buildname}}") + qmake_add_flags("QMAKE_LIBFLAGS_${_buildname}" "+=" "${VCPKG_COMBINED_STATIC_LINKER_FLAGS_${_buildname}}") + # These paths get hardcoded into qmake. So point them into the CURRENT_INSTALLED_DIR instead of CURRENT_PACKAGES_DIR # makefiles will be fixed to install into CURRENT_PACKAGES_DIR in install_qt set(BUILD_OPTIONS ${_csc_OPTIONS} ${_csc_OPTIONS_${_buildname}} @@ -113,19 +172,19 @@ function(configure_qt) -L ${CURRENT_INSTALLED_DIR}${_path_suffix_${_buildname}}/lib/manual-link -platform ${_csc_TARGET_PLATFORM} ) - + if(DEFINED _csc_HOST_TOOLS_ROOT) #use qmake if(WIN32) set(INVOKE_OPTIONS "QMAKE_CXX.QMAKE_MSC_VER=1911" "QMAKE_MSC_VER=1911") endif() vcpkg_execute_required_process( - COMMAND ${INVOKE} "${_csc_SOURCE_PATH}" "${INVOKE_OPTIONS}" -- ${BUILD_OPTIONS} + COMMAND ${INVOKE} "${_csc_SOURCE_PATH}" "${INVOKE_OPTIONS}" -- ${BUILD_OPTIONS} ${qmake_build_tools} ${qmake_comp_flags} WORKING_DIRECTORY ${_build_dir} LOGNAME config-${_build_triplet} ) else()# call configure (builds qmake for triplet and calls it like above) vcpkg_execute_required_process( - COMMAND "${INVOKE}" ${BUILD_OPTIONS} + COMMAND "${INVOKE}" ${BUILD_OPTIONS} ${qmake_build_tools} ${qmake_comp_flags} WORKING_DIRECTORY ${_build_dir} LOGNAME config-${_build_triplet} ) @@ -142,10 +201,10 @@ function(configure_qt) string(REPLACE "${CMAKE_CURRENT_INSTALLED_DIR_PATH}" "\${CURRENT_INSTALLED_DIR}" _contents ${_contents}) #string(REPLACE "HostPrefix=\${CURRENT_PACKAGES_DIR}" "HostPrefix=\${CURRENT_INSTALLED_DIR}" _contents ${_contents}) string(REPLACE "[EffectivePaths]\nPrefix=..\n" "" _contents ${_contents}) - string(REPLACE "[EffectiveSourcePaths]\nPrefix=${_csc_SOURCE_PATH}\n" "" _contents ${_contents}) + string(REGEX REPLACE "\\[EffectiveSourcePaths\\]\r?\nPrefix=[^\r\n]+\r?\n" "" _contents ${_contents}) string(REPLACE "Sysroot=\n" "" _contents ${_contents}) string(REPLACE "SysrootifyPrefix=false\n" "" _contents ${_contents}) - file(WRITE "${CURRENT_PACKAGES_DIR}/tools/qt5/qt_${_build_type_${_buildname}}.conf" "${_contents}") - endforeach() + file(WRITE "${CURRENT_PACKAGES_DIR}/tools/qt5/qt_${_build_type_${_buildname}}.conf" "${_contents}") + endforeach() endfunction() diff --git a/ports/qt5-base/cmake/find_qt_mkspec.cmake b/ports/qt5-base/cmake/find_qt_mkspec.cmake index c9c06c8bd9df17..161726c7fdf2d4 100644 --- a/ports/qt5-base/cmake/find_qt_mkspec.cmake +++ b/ports/qt5-base/cmake/find_qt_mkspec.cmake @@ -3,7 +3,9 @@ function(find_qt_mkspec TARGET_PLATFORM_MKSPEC_OUT HOST_PLATFORM_MKSPEC_OUT EXT_ if(NOT DEFINED VCPKG_QT_TARGET_MKSPEC) message(STATUS "Figuring out qt target mkspec. Target arch ${VCPKG_TARGET_ARCHITECTURE}") if(VCPKG_TARGET_IS_WINDOWS) - if(VCPKG_TARGET_IS_UWP) + if(VCPKG_TARGET_IS_MINGW) + set(_tmp_targ_out "win32-g++") + elseif(VCPKG_TARGET_IS_UWP) if(VCPKG_PLATFORM_TOOLSET STREQUAL "v140") set(msvc_year "2015") elseif(VCPKG_PLATFORM_TOOLSET STREQUAL "v141") diff --git a/ports/qt5-base/cmake/install_qt.cmake b/ports/qt5-base/cmake/install_qt.cmake index 39781cebe01ee7..86202ab564388a 100644 --- a/ports/qt5-base/cmake/install_qt.cmake +++ b/ports/qt5-base/cmake/install_qt.cmake @@ -2,7 +2,11 @@ include(qt_fix_makefile_install) function(install_qt) if(CMAKE_HOST_WIN32) - if (VCPKG_QMAKE_USE_NMAKE) + if(VCPKG_TARGET_IS_MINGW) + find_program(MINGW32_MAKE mingw32-make REQUIRED) + set(INVOKE "${MINGW32_MAKE}" -j${VCPKG_CONCURRENCY}) + set(INVOKE_SINGLE "${MINGW32_MAKE}" -j1) + elseif (VCPKG_QMAKE_USE_NMAKE) find_program(NMAKE nmake REQUIRED) set(INVOKE "${NMAKE}") set(INVOKE_SINGLE "${NMAKE}") @@ -78,16 +82,6 @@ function(install_qt) endif() endif() - if(VCPKG_TARGET_IS_OSX) - # For some reason there will be an error on MacOSX without this clean! - message(STATUS "Cleaning before build ${_build_triplet}") - vcpkg_execute_required_process( - COMMAND ${INVOKE_SINGLE} clean - WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${_build_triplet} - LOGNAME cleaning-1-${_build_triplet} - ) - endif() - message(STATUS "Building ${_build_triplet}") vcpkg_execute_build_process( COMMAND ${INVOKE} @@ -101,8 +95,8 @@ function(install_qt) message(STATUS "Cleaning after build before install ${_build_triplet}") vcpkg_execute_required_process( COMMAND ${INVOKE_SINGLE} clean - WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${_build_triplet} - LOGNAME cleaning-2-${_build_triplet} + WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${_build_triplet}/qmake + LOGNAME cleaning-after-build-${_build_triplet} ) endif() diff --git a/ports/qt5-base/cmake/qt_build_submodule.cmake b/ports/qt5-base/cmake/qt_build_submodule.cmake index 52f9c6c1ba3f7f..9801136a9246d4 100644 --- a/ports/qt5-base/cmake/qt_build_submodule.cmake +++ b/ports/qt5-base/cmake/qt_build_submodule.cmake @@ -1,11 +1,10 @@ function(qt_build_submodule SOURCE_PATH) - # This fixes issues on machines with default codepages that are not ASCII compatible, such as some CJK encodings - set(ENV{_CL_} "/utf-8") - - vcpkg_find_acquire_program(PYTHON2) - get_filename_component(PYTHON2_EXE_PATH ${PYTHON2} DIRECTORY) - vcpkg_add_to_path("${PYTHON2_EXE_PATH}") + if(NOT PORT STREQUAL "qt5-webengine") + vcpkg_find_acquire_program(PYTHON3) + get_filename_component(PYTHON3_EXE_PATH ${PYTHON3} DIRECTORY) + vcpkg_add_to_path("${PYTHON3_EXE_PATH}") + endif() vcpkg_configure_qmake(SOURCE_PATH ${SOURCE_PATH} ${ARGV}) @@ -124,4 +123,9 @@ function(qt_build_submodule SOURCE_PATH) endif() endif() + # Remove duplicate flags from qmodule.pri issue -> https://github.com/microsoft/vcpkg/issues/28835 + file(READ "${CURRENT_INSTALLED_DIR}/tools/qt5/mkspecs/qmodule.pri" QMODULE_PRI_CONTENT) + string(REGEX REPLACE "QMAKE_CXXFLAGS_RELEASE\\+=[^\n]*\n" "QMAKE_CXXFLAGS_RELEASE=\n" QMODULE_PRI_CONTENT ${QMODULE_PRI_CONTENT}) + file(WRITE "${CURRENT_INSTALLED_DIR}/tools/qt5/mkspecs/qmodule.pri" "${QMODULE_PRI_CONTENT}") + endfunction() \ No newline at end of file diff --git a/ports/qt5-base/cmake/qt_download_submodule.cmake b/ports/qt5-base/cmake/qt_download_submodule.cmake index 63850a4ef2a831..9b5491dc079894 100644 --- a/ports/qt5-base/cmake/qt_download_submodule.cmake +++ b/ports/qt5-base/cmake/qt_download_submodule.cmake @@ -5,18 +5,19 @@ endfunction() function(qt_download_submodule) cmake_parse_arguments(_csc "" "OUT_SOURCE_PATH" "PATCHES;BUILD_OPTIONS;BUILD_OPTIONS_RELEASE;BUILD_OPTIONS_DEBUG" ${ARGN}) - + if(NOT DEFINED _csc_OUT_SOURCE_PATH) message(FATAL_ERROR "qt_download_module requires parameter OUT_SOURCE_PATH to be set! Please correct the portfile!") endif() - + vcpkg_buildpath_length_warning(37) qt_get_submodule_name(NAME) set(FULL_VERSION "${QT_MAJOR_MINOR_VER}.${QT_PATCH_VER}") - set(ARCHIVE_NAME "${NAME}-everywhere-src-${FULL_VERSION}.tar.xz") - set(URLS "https://download.qt.io/official_releases/qt/${QT_MAJOR_MINOR_VER}/${FULL_VERSION}/submodules/${ARCHIVE_NAME}" - "https://mirrors.ocf.berkeley.edu/qt/official_releases/qt/${QT_MAJOR_MINOR_VER}/${FULL_VERSION}/submodules/${ARCHIVE_NAME}" + set(ARCHIVE_NAME "${NAME}-everywhere-opensource-src-${FULL_VERSION}.tar.xz") + set(URLS + "https://download.qt.io/archive/qt/${QT_MAJOR_MINOR_VER}/${FULL_VERSION}/submodules/${ARCHIVE_NAME}" + "https://mirrors.ocf.berkeley.edu/qt/archive/qt/${QT_MAJOR_MINOR_VER}/${FULL_VERSION}/submodules/${ARCHIVE_NAME}" ) vcpkg_download_distfile(ARCHIVE_FILE URLS ${URLS} @@ -37,5 +38,5 @@ function(qt_download_submodule) ) endif() - set(${_csc_OUT_SOURCE_PATH} ${SOURCE_PATH} PARENT_SCOPE) -endfunction() \ No newline at end of file + set(${_csc_OUT_SOURCE_PATH} "${SOURCE_PATH}" PARENT_SCOPE) +endfunction() diff --git a/ports/qt5-base/cmake/qt_fix_makefile_install.cmake b/ports/qt5-base/cmake/qt_fix_makefile_install.cmake index 69b016fc883d1c..025adf90940d92 100644 --- a/ports/qt5-base/cmake/qt_fix_makefile_install.cmake +++ b/ports/qt5-base/cmake/qt_fix_makefile_install.cmake @@ -1,30 +1,33 @@ #Could probably be a vcpkg_fix_makefile_install for other ports? function(qt_fix_makefile_install BUILD_DIR) #Fix the installation location - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}" NATIVE_INSTALLED_DIR) - file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}" NATIVE_PACKAGES_DIR) - - if(WIN32) - string(SUBSTRING "${NATIVE_INSTALLED_DIR}" 2 -1 INSTALLED_DIR_WITHOUT_DRIVE) - string(SUBSTRING "${NATIVE_PACKAGES_DIR}" 2 -1 PACKAGES_DIR_WITHOUT_DRIVE) + set(MSYS_HACK "") + if(VCPKG_HOST_IS_WINDOWS) + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}" NATIVE_INSTALLED_DIR) + file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}" NATIVE_PACKAGES_DIR) + if(VCPKG_TARGET_IS_MINGW) + set(MSYS_HACK ":@msyshack@%=%") + file(STRINGS "${BUILD_DIR}/Makefile" using_sh REGEX "= rm -f") + if(using_sh) + set(NATIVE_INSTALLED_DIR "${CURRENT_INSTALLED_DIR}") + set(NATIVE_PACKAGES_DIR "${CURRENT_PACKAGES_DIR}") + endif() + endif() string(SUBSTRING "${NATIVE_INSTALLED_DIR}" 0 2 INSTALLED_DRIVE) string(SUBSTRING "${NATIVE_PACKAGES_DIR}" 0 2 PACKAGES_DRIVE) + string(SUBSTRING "${NATIVE_INSTALLED_DIR}" 2 -1 INSTALLED_DIR_WITHOUT_DRIVE) + string(SUBSTRING "${NATIVE_PACKAGES_DIR}" 2 -1 PACKAGES_DIR_WITHOUT_DRIVE) else() - set(INSTALLED_DRIVE) - set(PACKAGES_DRIVE) - set(INSTALLED_DIR_WITHOUT_DRIVE ${NATIVE_INSTALLED_DIR}) - set(PACKAGES_DIR_WITHOUT_DRIVE ${NATIVE_PACKAGES_DIR}) + set(INSTALLED_DRIVE "") + set(PACKAGES_DRIVE "") + set(INSTALLED_DIR_WITHOUT_DRIVE "${CURRENT_INSTALLED_DIR}") + set(PACKAGES_DIR_WITHOUT_DRIVE "${CURRENT_PACKAGES_DIR}") endif() + set(installed "${INSTALLED_DRIVE}$(INSTALL_ROOT${MSYS_HACK})${INSTALLED_DIR_WITHOUT_DRIVE}") + set(packages "${PACKAGES_DRIVE}$(INSTALL_ROOT${MSYS_HACK})${PACKAGES_DIR_WITHOUT_DRIVE}") - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}" NATIVE_INSTALLED_DIR) - file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}" NATIVE_PACKAGES_DIR) - file(GLOB_RECURSE MAKEFILES "${BUILD_DIR}/*Makefile*") - foreach(MAKEFILE ${MAKEFILES}) - file(READ "${MAKEFILE}" _contents) - #Set the correct install directory to packages - string(REPLACE "${INSTALLED_DRIVE}$(INSTALL_ROOT)${INSTALLED_DIR_WITHOUT_DRIVE}" "${PACKAGES_DRIVE}$(INSTALL_ROOT)${PACKAGES_DIR_WITHOUT_DRIVE}" _contents "${_contents}") - file(WRITE "${MAKEFILE}" "${_contents}") + vcpkg_replace_string("${MAKEFILE}" "${installed}" "${packages}" IGNORE_UNCHANGED) endforeach() -endfunction() \ No newline at end of file +endfunction() diff --git a/ports/qt5-base/cmake/qt_port_functions.cmake b/ports/qt5-base/cmake/qt_port_functions.cmake index 921f194a540c92..19f53f98bd7fc3 100644 --- a/ports/qt5-base/cmake/qt_port_functions.cmake +++ b/ports/qt5-base/cmake/qt_port_functions.cmake @@ -2,11 +2,6 @@ list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}") #Basic setup include(qt_port_hashes) -if(QT_BUILD_LATEST) # only set in qt5-base - include(qt_port_hashes_latest) -elseif(NOT PORT STREQUAL "qt5-base") - include(qt_port_hashes_latest OPTIONAL) # will only be available for the other qt ports if qt5-base was build with latest -endif() #Fixup scripts include(qt_fix_makefile_install) include(qt_fix_cmake) diff --git a/ports/qt5-base/cmake/qt_port_hashes.cmake b/ports/qt5-base/cmake/qt_port_hashes.cmake index c52196078e19ed..e08924fdc41757 100644 --- a/ports/qt5-base/cmake/qt_port_hashes.cmake +++ b/ports/qt5-base/cmake/qt_port_hashes.cmake @@ -1,67 +1,74 @@ -#Every update requires an update of these hashes and the version within the control file of each of the 32 ports. -#So it is probably better to have a central location for these hashes and let the ports update via a script +# Every update requires an update of these hashes and the version within the control file of each of the 32 ports. +# So it is probably better to have a central location for these hashes and let the ports update via a script set(QT_MAJOR_MINOR_VER 5.15) -set(QT_PATCH_VER 2) -set(QT_UPDATE_VERSION 0) # Switch to update qt and not build qt. Creates a file cmake/qt_new_hashes.cmake in qt5-base with the new hashes. +set(QT_PATCH_VER 15) +set(QT_UPDATE_VERSION OFF) # Switch to update qt and not build qt. Creates a file cmake/qt_new_hashes.cmake in qt5-base with the new hashes. set(QT_PORT_LIST base 3d activeqt charts connectivity datavis3d declarative gamepad graphicaleffects imageformats location macextras mqtt multimedia networkauth purchasing quickcontrols quickcontrols2 remoteobjects script scxml sensors serialport speech svg tools virtualkeyboard webchannel websockets webview winextras xmlpatterns doc x11extras androidextras translations serialbus webengine webglplugin wayland) -set(QT_HASH_qt5-base a549bfaf867d746ff744ab224eb65ac1bdcdac7e8457dfa379941b2b225a90442fcfc1e1175b9afb1f169468f8130b7ab917c67be67156520a4bfb5c92d304f9) -set(QT_HASH_qt5-3d 38da6886b887f6d315dcb17192322efe184950716fdd0030df6c7d7c454ea43dc0250a201285da27683ce29768da6be41d4168e4f63c20adb0b5f26ae0934c1b) -set(QT_HASH_qt5-activeqt a2286a6736d14cf9b0dbf20af5ee8c23f94f57b6d4c0be41853e67109d87fd78dbf8f14eef2ce4b8d9ff2244af7ef139829ad7674d9ec9669434028961e65ec7) -set(QT_HASH_qt5-charts d16fc085a7e98078cf616cde07d57c5f04cd41e9687a26d42edf9042b4c95a837371b6b9616e7176c536d742aa9b5fc15bf3393f9f2e814ce942189ac151e65f) -set(QT_HASH_qt5-connectivity a934dcdd28645ba23dd429215643694d9a14449a4c3e1a6154a9a19cb3210f3d80978b46aefff2b110db533fa1816450f2f73a27d80df5330a92799e4cca1b9c) -set(QT_HASH_qt5-datavis3d 340b5ce1b1c2d8849b665e7bc84430fdf48e443fc149530ee132f325067f57d35594a23e3a8b920e1928ca5c429dcacfa098dadcbde63d4993f748c436af4cc3) -set(QT_HASH_qt5-declarative a084e4ace0d6868668c95f1b62598a7dd0f455bfb0943ac8956802d7041436686f20c7ccdde7d6fd6c4b8173c936dd8600cf3b87bf8575f55514edfbb51111d3) -set(QT_HASH_qt5-gamepad 67f299d36f70ac3205a136117bec7f983f889b6a1f7d0ff97eb03925f4789d9d90a7197f5e186a6d04aa486880c60f0f623ab56a8bd78e4682e84c7ff6cc9fe1) -set(QT_HASH_qt5-graphicaleffects 1620a4daa6f2afc13b84752fa92f6d603aea1f7c796a239691b271a455d6887bba87a9a07edbfe008045f051c3e71fc6e22fc337d146c1793e923cfeb20e897d) -set(QT_HASH_qt5-imageformats 3c821fac83b8d6177af256dc1d68aca14ae6d5cbdedb8d8665158ebcec0f6e6fb790b5d210a1aa8b0679ecff60fafd4e5d1387c6954498b41409ea44177e0d7e) -set(QT_HASH_qt5-location 6192922506b3ea354e85431df83c19d7cc9aebb17549c6a1de48f625bf8365ff3db3161080dde254a5fb9199d99c3c5dc8e1533429150be55df96ddb7d6ce16f) -set(QT_HASH_qt5-macextras 21e807a587da716615a447207abda2c3eb409111a0eb6f844c8f1281ccc842a7c2e8759c1d7ce62cc3bad3325b4570a0bae1fbe4e5592e905788dde8898c6cb0) -set(QT_HASH_qt5-mqtt 91efd3b1ebef3c95473c018bcacd0772e613b38c) # Git commit ID -set(QT_HASH_qt5-multimedia be58e6934976b04707399f8525dd5d50f73e0539efd1a76c2f9868e35e6f136e0991652df5d46350a9ac39d24313353e4aa826131f268a95e458e57279f448bd) -set(QT_HASH_qt5-networkauth 94843a74ae188eb0eff9559be6b246f61f87104479f6f52fe943b31a9263461a7051d967072d9061124b2bd056d7265645892104653c93dfcf68b11521f1c33d) -set(QT_HASH_qt5-purchasing 1a40fd3ca149f9c8fc98a45562b37fc97c7addc513d40f50997576648d441d379179370c6491a003982feafe96736047a8faf09caf36eaeea5a97553f75d1255) -set(QT_HASH_qt5-quickcontrols 52839e7442f4b6b5cbbb741d29ce28e9d2d9f5573499363d17252b166c1f318f37a19ecf1bf17f5cf6940bc29cc2987180b740ce036d924ff329dee9c37823a2) # deprecated -set(QT_HASH_qt5-quickcontrols2 5af506fd5842c505ae5fbd04fdd2a467c5b6a9547b4cea80c9cf051e9dea49bbf17843d8bc12e69e95810e70119c2843c24171c84e0f5df62dd2f59a39903c8f) -set(QT_HASH_qt5-remoteobjects 1cce1b6128f283fe8930e1e58b9620459c50b203a39607e9bcde8423930da08e5c70e7effaf64d2690f463cc7b37cfc67fb6c0ac89e27df3a57007aee1d5233d) -set(QT_HASH_qt5-script 71c70b34f7d4a0742df64d20d7e9a685cc640b9cc6a3d22847c04f45a437b3f5537f40225a522ed82787c2744d9a4949dea5b43c2ee81961d5ed175cf10deb32) # deprecated -set(QT_HASH_qt5-scxml 2a4719af94baefe7f0ca5a23239d07a05285a1698b052d17bb87bc221bbbc8bc25a70ff06d70d41ed7ac6a7e6646be9c516d8187c9098da1158c08e27a4b0bb8) -set(QT_HASH_qt5-sensors d0a34e0718cc727b1256601bc5f9a2975532d728fdf0cb7678824c7d36aa5049d9c2886053821ec93a238120441c980027306ac633677617867c7aee40bb560b) -set(QT_HASH_qt5-serialport 353cc5f708367d646bd312f7d675b417bad4df44356f1dfc8b6ce846a86fd6d5955ec4d26f943e50f4a7b94cc6389fe658959e90bbb5ab3cdaefed0efe6ae72b) -set(QT_HASH_qt5-speech 78a13218a639276c9b253566a1df52e2363847eac76df3962ba2a7178800206beb57859d22c7c99fa1579cb3aa7ab94baed1a6319ba946d4a64cba9e3bf52b05) -set(QT_HASH_qt5-svg 101e9c8fc05b1bb9c4e869564bff8e5723dd35f0ef557185e56e9dc12fdce74c531522c9642cdff639900eccf7ed0e04bfa48142741259697dded990fb481730) -set(QT_HASH_qt5-tools 3bd32a302af6e81cd5d4eb07d60c5ef233f1ca7af1aae180c933ac28fafffce28c6c868eb032108747937ea951d6d4f0df5516841bc65d22c529207147533a8b) -set(QT_HASH_qt5-virtualkeyboard 3ba04d171756a5434424833c5198a23e0df53eeebe9ea542047e094f83f38492d93f901cac67cf7e55aca6a71289ce3c6f5d8ac10a8d051b291155ebb8432016) -set(QT_HASH_qt5-webchannel 7ac5e372695616863d247c5a61e5763a3934b58165e35c43da5ef1797d80005aa3d6eb258931ae7ee2b1f6a6fa743635ac4678c9cfe375cefa76e74cc81d095b) -set(QT_HASH_qt5-websockets 1b23b79bff4289e785daf51441daaecf6de66ca5a3febfdd8fdb8ce871471bca4faf7663d68b23aaf562b1ebd6e9c8c27b3074f4b93bc9fcd3a0c54f7f79a9c4) -set(QT_HASH_qt5-webview 11502597d5e3a9b8a3a90025b56c086a3412743019384558617c397a8ad4a0f646b406a4fbeb31ca45e6e573d1fb06cd5b22b8c0179695d06cc3d492289a1c85) -set(QT_HASH_qt5-winextras 6555a42d4bbeb46b394f573b6ed7926ec21cf6024de3c5f43000373bf0a2f4544f19866e2c9469da2d60b5dd99fb046765be5d3f8d5025169e319795bbf66d9e) -set(QT_HASH_qt5-xmlpatterns 5cdf51878f8bb42db57110acc0c3985a95af098da44e5dda505e0716fef5afc780419058158f7a8f9a0fe3fed83fd64abd856b4dbcdca20efa5e985fa85cc348) # deprecated -##TODO -set(QT_HASH_qt5-doc ce2c003b37829da102f243ca271548cff0597b4b667109ca9533971a490b8b20eb3183af6e0b209ad58964f2be2e757f83933a3f8c484dd0814750e24d1a244e) -set(QT_HASH_qt5-x11extras beaefc865299f4e7c637baa96eb3a69adbe1a41fc7735b46cfec0768c9243391600e69078630fffb4aceba106b7512fd802e745abc38ddab5253233301c93ed9) -set(QT_HASH_qt5-androidextras cacd9252f313595d21eb6a94ffabbd5fff476af82aa619b4edfc77a9f405f52bd1b89da97c8f7dadf8c403035a243205a25a2f85250ebc0590bf68f914cdbf3a) -#set(QT_HASH_qt5-canvas3d 0) deprecated -set(QT_HASH_qt5-translations 483b5d919f43c96a032e610cf6316989e7b859ab177cb2f7cb9bb10ebcddf8c9be8e04ff12db38a317c618d13f88455a4d434c7a1133f453882da4e026dd8cbe) -set(QT_HASH_qt5-serialbus c4793f5425ca0191435d75a8fd95a623cc847d41b8722421c0bf0fdfddda1a158fd2a00f5d997f00de4fcb271a158f3273d636ef2553ccd6b90b4d072b1eb55b) -set(QT_HASH_qt5-webengine de64c30819f5e2f8620c853ff22b2f9717641477aef4432a552a72d1d67ed62ed61572afee6de3f2c9f32dee28f4f786ffd63fc465aa42c0ae1e87ea28341756) -set(QT_HASH_qt5-webglplugin 14b9a0c08472121165eba82f3c81518be7b19484b7bee7887df9751edc6e2e7e76d06f961b180427014beb71c725d343e9f196f37690e2d207511f7639bd2627) -set(QT_HASH_qt5-wayland e8657ed676873da7b949e6a1605d025918a03336af9c68f32741945ec3c71a604def55bb00737ba4d97b91c00d0e2df1a83cdcedcf5795c6b2a1ef2caa21c91c) +set(QT_HASH_qt5-3d 66332383f242c76abe4b01c1d6d036e990d99de2abdc5d66a58506c397633507296f6d6c5e33a5cc2608c0ae2d7936ceffb832564239ffcf2ebdf60cabd12fb6) +set(QT_HASH_qt5-activeqt c99ac3ce89c72576025d2824fc0f54b46c3c8ce10f66ea3386cc3f990609d88a514ffe11aa28c3e811b1995f1f315b3a3e9cd5399098ba93ae64790ba6e15953) +set(QT_HASH_qt5-androidextras d4497a5e1659e5111c2fbaf0f0574b3f4434b4be3427f2631e73c502c733f24174b0b5920b3c92660f804577e7a5e7e4d3d26f20255c1a8926b8abd85c12741a) +set(QT_HASH_qt5-base fb49a64ba57d75f721929643c042423277c5c7259d2071fdb73d97db723ab3134e3eb6d4828027f6342ce5cb66cbd658e5db149a4633540e403a3b91fcb6681e) +set(QT_HASH_qt5-charts 873a15a6617cd809892968bd499c1d302e9ca63644205364a15711d6db8a6b3c88b4f5553b1302972d8923175fde5dac3db4af9290b9226476c3b8cd1f978fbc) +set(QT_HASH_qt5-connectivity bcfcfb5305e59a2f0b26aa7c0dba65ae1444df2c3035556147acb63801080667a6b24020961189e476060f12b0568cee883957c30e1c65a894e2780f34081cf3) +set(QT_HASH_qt5-datavis3d f172ee7a509a44e01aa595ce5bbfb4a9bc8d99c5264e4d4161a085f4971a35ceea82b9c5404cbde82caef51d1d2537a2bcfab97f2a80c8f1f54074ab35b4a643) +set(QT_HASH_qt5-declarative 9c1672037c491729805bb8a08f56b8a7ab06b8958f593c32f16c56350a13afcab38a23d35d04b1a5f67c7c5bd8724918baa6fb71f6d1c31218310c8f04544d48) +set(QT_HASH_qt5-doc d91ee2058f5ae1f395793f9467187da7a6ff353193ff339a9201b6b3051457555acac71b3623fcbd63d3dd94ab5fc8206bc25781cebf87ff89f717f107ed230e) +set(QT_HASH_qt5-doc d91ee2058f5ae1f395793f9467187da7a6ff353193ff339a9201b6b3051457555acac71b3623fcbd63d3dd94ab5fc8206bc25781cebf87ff89f717f107ed230e) +set(QT_HASH_qt5-doc d91ee2058f5ae1f395793f9467187da7a6ff353193ff339a9201b6b3051457555acac71b3623fcbd63d3dd94ab5fc8206bc25781cebf87ff89f717f107ed230e) +set(QT_HASH_qt5-gamepad 6c41351a16126d69e59775f352247cb817bb15a5b40f8ec02715245375f74e1d56aadbf476f498a36a377f98d39268b3952f13a041c193d800252f067ddb3e5d) +set(QT_HASH_qt5-graphicaleffects 0d68e8e788139fecf1dbf6fea218255d6d940314104ee445c117eba668333fa0db794d9cc9cf9b4da358508852b4052921ad93a87328e0dfef61e7ded8f3a4ae) +set(QT_HASH_qt5-imageformats ec9a60d343c240e7e85cdac68949927393b958f5e0b196fb1b3063c09b90600a46e9188c00a9dc744b526e95291dbe5c3d4fbca2b775e9824f82c36d754816cc) +set(QT_HASH_qt5-location a12d2d3979abddbcdf2750215337f10cece11b7a82125ffb3f0b75c4c8a186c6aba09a33b397cb195407292e37bf242056a33c8d7b1cf1d6f26470ec26ed2407) +set(QT_HASH_qt5-macextras 810a5cf23b6f638303e5252360717127f46a5f04e0be96acfcf99b2192f4848329a945bb07be48d1fe9e9b3f2ce762c171930482f4d46384d70e62fbb5a304b7) +set(QT_HASH_qt5-mqtt 137fe48d8c5309ef0026157abbeaec818f0865319f1374c84cf5bdd2bcd238d8a2d9612deffc76f6ae2bdaa1f00d1039f32a3e7944acae7e6639e43eb262cc97) +set(QT_HASH_qt5-multimedia a2a0649001d6fcde1fdefba4c4ccc35a7e4d776acd5a41a169f002db5fa6785a8dc1cde5ec8166e11a2c18701a650e32ea94b1ca3a967d7ecf062a18b0c18c04) +set(QT_HASH_qt5-networkauth 1645175195ecdea8576c725935c4186e709ee98fdb1e563e11481d44c8bfba20a3d3d096a968df0e6451c2bbed4a6b6fe77feb2a8d2293c88341ba272c22e8f7) +set(QT_HASH_qt5-purchasing b2746aac0e950bb969f66b3f73b7ffb0d6a2aaa810eefd775f30fb25765fb5f50d37103da90564c1312ab6f21aa7485db183dba4900feea69ab084ece80c57b7) +set(QT_HASH_qt5-quickcontrols 2477b780fd60c4b160016ad1774d74156a16aedfebc062e71bb5e62f53fbfe16a8951b046415571017bfb0289acfe469e61f1095fe7b38a5c48c10876760a8f4) +set(QT_HASH_qt5-quickcontrols2 e19fa073e42d4dddc84f2b5c258068ac7a922948e88b0002c3e77a74509532e0107dcd05ee7509b17e640593bc645b16ea1ce31621b393143a98c56e2e0fc4a9) +set(QT_HASH_qt5-remoteobjects 08f5373fd94b8db627d16dfe21efea5df062ae6a18641443b881966070b7b3e1941c182766f309dae962c81e21a0578ffe5d11530950bb4122a9ea2112f2a8ea) +set(QT_HASH_qt5-script e4898af8fe66f8b3a2fbf813eca63520686e67dc893f4636bff7591c287ddfde2680bcf900394a154f81744ca5c20ab1e379dd235915e17c8c803aefa194bd69) +set(QT_HASH_qt5-scxml 9284bdfadc94bd514c9389c44265b489b213ec8455c506d00c7f824b290ce436e1c73888695a0cddee56382b01727c57ad8ae44e908e963d16adce89fdf7570e) +set(QT_HASH_qt5-sensors 693e7764c44aebf801dc6d979b78dbf3b2af1cabc9a2c9b66b0bb21d791c3719413494c7013df4ec2f9eb467f8d29c6decbf7a59635344ae11e7208c3ebf2223) +set(QT_HASH_qt5-serialbus 6ccb01d938159954c5ff3591a3e80b221f748edd1074c5721410599135b8e22f5e992b793c9a3406343d806fe4f37bf7904c88d927f292ea2c58f50c2e78fb5e) +set(QT_HASH_qt5-serialport 8d7eaf72a29c1e33ac6ee22578fc003a1d73cfd8af432a2c1368eab846a65caa0f435f254064dbe31095d42d2bf69bf119f5a4839ebede7a38607367d6df68df) +set(QT_HASH_qt5-speech f4770a7e9578da24c02e7fe03dbddec4a75640bfa71b389657e5cf20561e56b172d8f56900eebebf2f95c5b6842a4203ea2370e4828356c9c93793fdfebcaac2) +set(QT_HASH_qt5-svg 924f88a7aaed5a8e63120cc8a669eddc122682674a3f6ac52221a49057e8c95e5c248ddc8722bd596d39583de2bc5c65f48b4472d8de3cb81bd111d8a3740160) +set(QT_HASH_qt5-tools 5ebc569fdbb781374b9ce993131a072704eea50348aea98ff12e57a2606d2accea29724d2c54953c467430b8657bcbe98509ee8cc40b4b869e11a5db8e663a88) +set(QT_HASH_qt5-translations 82846016137bea7847d15bd8aacc85e2ae826b1f6a8a15517cd99479f038cbe4ca217a2cf8eb1befd9aa901c1272bf0e6f9100f86a015eec670776a79c6015f7) +set(QT_HASH_qt5-virtualkeyboard 4db72101949ad15a3e5964293f8abea4ad5c7f449e0263920520bc57a434d7ebef3506aa67075031ba098af227c675773998d7cff52d555d1590c44cad8711cd) +set(QT_HASH_qt5-wayland ef6f210431fa04d166e814bf7269ee9ed77f355871240f629839c5637ea598a3b71c85c7e53aafbfe2e9c1c8d4f24867da37144707d9b48749be4a883e1b679c) +set(QT_HASH_qt5-webchannel 4819f656a0ca8a38d4eb92e1ab16e7911d3162e646516a944c2e693ce2da5bebe730d4552cefb40b700e9136ae01df4a372cbdb061551c83547448eeec7339a7) +set(QT_HASH_qt5-webengine 21a261f56228ca254d2fc1f952c9e7ad83b2b42cd92c11d54c2b4b7204bdeedb31168fb64dbf74254687c7e1d83090dd5f21312676d695a2ccb36c756316b052) +set(QT_HASH_qt5-webglplugin 2caa17a1a06f3d6b2e71c47a317125759194a9b50b130bbacd83770aa3d493777b2481b36abbc737f78647cb8861a23eca2c64ca292283fe76c40bdc62e503da) +set(QT_HASH_qt5-websockets 625701fd196c82634fb311020fdd6d4a4ce4adaa57dab02b0ccae3f25ed4d6bfdf1aef1285ee255c212d3cc4f4125713e90f046803064ac1da484f5c6acc2b7d) +set(QT_HASH_qt5-webview ea0f2a095c4a860ccdf324e939af0cb56385ecfe2b263bdbcdedc375d16294528fe25b81fad8af3e00d83f715713e5be91e7c07637ce9f3f03d7cd630582bf89) +set(QT_HASH_qt5-winextras 8d190e95ea5d29d734a565a102ed82fec45aeee04bd2a9d41c91b364736fe7d956ca3b4acec557c52b38d5cbb8cfea3b9448365373999ac9b05174c455086445) +set(QT_HASH_qt5-x11extras 3ff1002ff75e33237229c4639a9e66f43368752b2085609bc644609b4ee50c56c9c175ac811f6fae670907242de9fe05bd99474f03339bb2a7442c4e7a14cac7) +set(QT_HASH_qt5-xmlpatterns 1575a76dd8d2aefcaa4b0d483d98451c75908cca517f38e8bbd54f03d64b77c8c876bf2960abb213f78cf04ee81179b9e6addbc8f497514e42370cf3d651b1db) if(QT_UPDATE_VERSION) message(STATUS "Running Qt in automatic version port update mode!") set(_VCPKG_INTERNAL_NO_HASH_CHECK 1) if("${PORT}" MATCHES "qt5-base") - foreach(_current_qt_port ${QT_PORT_LIST}) - set(_current_control "${VCPKG_ROOT_DIR}/ports/qt5-${_current_qt_port}/CONTROL") + function(update_qt_version_in_manifest _port_name) + set(_current_control "${VCPKG_ROOT_DIR}/ports/${_port_name}/vcpkg.json") file(READ ${_current_control} _control_contents) #message(STATUS "Before: \n${_control_contents}") - string(REGEX REPLACE "Version:[^0-9]+[0-9]\.[0-9]+\.[0-9]+[^\n]*\n" "Version: ${QT_MAJOR_MINOR_VER}.${QT_PATCH_VER}\n" _control_contents "${_control_contents}") + string(REGEX REPLACE "\"version.*\": \"[0-9]+\.[0-9]+\.[0-9]+\",\n" "\"version\": \"${QT_MAJOR_MINOR_VER}.${QT_PATCH_VER}\",\n" _control_contents "${_control_contents}") + string(REGEX REPLACE "\n \"port-version\": [0-9]+," "" _control_contents "${_control_contents}") #message(STATUS "After: \n${_control_contents}") file(WRITE ${_current_control} "${_control_contents}") + configure_file("${_current_control}" "${_current_control}" @ONLY NEWLINE_STYLE LF) + endfunction() + + update_qt_version_in_manifest("qt5") + foreach(_current_qt_port_basename ${QT_PORT_LIST}) + update_qt_version_in_manifest("qt5-${_current_qt_port_basename}") endforeach() endif() -endif() \ No newline at end of file +endif() diff --git a/ports/qt5-base/cmake/qt_port_hashes_latest.cmake b/ports/qt5-base/cmake/qt_port_hashes_latest.cmake deleted file mode 100644 index c52196078e19ed..00000000000000 --- a/ports/qt5-base/cmake/qt_port_hashes_latest.cmake +++ /dev/null @@ -1,67 +0,0 @@ -#Every update requires an update of these hashes and the version within the control file of each of the 32 ports. -#So it is probably better to have a central location for these hashes and let the ports update via a script -set(QT_MAJOR_MINOR_VER 5.15) -set(QT_PATCH_VER 2) -set(QT_UPDATE_VERSION 0) # Switch to update qt and not build qt. Creates a file cmake/qt_new_hashes.cmake in qt5-base with the new hashes. - -set(QT_PORT_LIST base 3d activeqt charts connectivity datavis3d declarative gamepad graphicaleffects imageformats location macextras mqtt multimedia networkauth - purchasing quickcontrols quickcontrols2 remoteobjects script scxml sensors serialport speech svg tools virtualkeyboard webchannel websockets - webview winextras xmlpatterns doc x11extras androidextras translations serialbus webengine webglplugin wayland) - -set(QT_HASH_qt5-base a549bfaf867d746ff744ab224eb65ac1bdcdac7e8457dfa379941b2b225a90442fcfc1e1175b9afb1f169468f8130b7ab917c67be67156520a4bfb5c92d304f9) -set(QT_HASH_qt5-3d 38da6886b887f6d315dcb17192322efe184950716fdd0030df6c7d7c454ea43dc0250a201285da27683ce29768da6be41d4168e4f63c20adb0b5f26ae0934c1b) -set(QT_HASH_qt5-activeqt a2286a6736d14cf9b0dbf20af5ee8c23f94f57b6d4c0be41853e67109d87fd78dbf8f14eef2ce4b8d9ff2244af7ef139829ad7674d9ec9669434028961e65ec7) -set(QT_HASH_qt5-charts d16fc085a7e98078cf616cde07d57c5f04cd41e9687a26d42edf9042b4c95a837371b6b9616e7176c536d742aa9b5fc15bf3393f9f2e814ce942189ac151e65f) -set(QT_HASH_qt5-connectivity a934dcdd28645ba23dd429215643694d9a14449a4c3e1a6154a9a19cb3210f3d80978b46aefff2b110db533fa1816450f2f73a27d80df5330a92799e4cca1b9c) -set(QT_HASH_qt5-datavis3d 340b5ce1b1c2d8849b665e7bc84430fdf48e443fc149530ee132f325067f57d35594a23e3a8b920e1928ca5c429dcacfa098dadcbde63d4993f748c436af4cc3) -set(QT_HASH_qt5-declarative a084e4ace0d6868668c95f1b62598a7dd0f455bfb0943ac8956802d7041436686f20c7ccdde7d6fd6c4b8173c936dd8600cf3b87bf8575f55514edfbb51111d3) -set(QT_HASH_qt5-gamepad 67f299d36f70ac3205a136117bec7f983f889b6a1f7d0ff97eb03925f4789d9d90a7197f5e186a6d04aa486880c60f0f623ab56a8bd78e4682e84c7ff6cc9fe1) -set(QT_HASH_qt5-graphicaleffects 1620a4daa6f2afc13b84752fa92f6d603aea1f7c796a239691b271a455d6887bba87a9a07edbfe008045f051c3e71fc6e22fc337d146c1793e923cfeb20e897d) -set(QT_HASH_qt5-imageformats 3c821fac83b8d6177af256dc1d68aca14ae6d5cbdedb8d8665158ebcec0f6e6fb790b5d210a1aa8b0679ecff60fafd4e5d1387c6954498b41409ea44177e0d7e) -set(QT_HASH_qt5-location 6192922506b3ea354e85431df83c19d7cc9aebb17549c6a1de48f625bf8365ff3db3161080dde254a5fb9199d99c3c5dc8e1533429150be55df96ddb7d6ce16f) -set(QT_HASH_qt5-macextras 21e807a587da716615a447207abda2c3eb409111a0eb6f844c8f1281ccc842a7c2e8759c1d7ce62cc3bad3325b4570a0bae1fbe4e5592e905788dde8898c6cb0) -set(QT_HASH_qt5-mqtt 91efd3b1ebef3c95473c018bcacd0772e613b38c) # Git commit ID -set(QT_HASH_qt5-multimedia be58e6934976b04707399f8525dd5d50f73e0539efd1a76c2f9868e35e6f136e0991652df5d46350a9ac39d24313353e4aa826131f268a95e458e57279f448bd) -set(QT_HASH_qt5-networkauth 94843a74ae188eb0eff9559be6b246f61f87104479f6f52fe943b31a9263461a7051d967072d9061124b2bd056d7265645892104653c93dfcf68b11521f1c33d) -set(QT_HASH_qt5-purchasing 1a40fd3ca149f9c8fc98a45562b37fc97c7addc513d40f50997576648d441d379179370c6491a003982feafe96736047a8faf09caf36eaeea5a97553f75d1255) -set(QT_HASH_qt5-quickcontrols 52839e7442f4b6b5cbbb741d29ce28e9d2d9f5573499363d17252b166c1f318f37a19ecf1bf17f5cf6940bc29cc2987180b740ce036d924ff329dee9c37823a2) # deprecated -set(QT_HASH_qt5-quickcontrols2 5af506fd5842c505ae5fbd04fdd2a467c5b6a9547b4cea80c9cf051e9dea49bbf17843d8bc12e69e95810e70119c2843c24171c84e0f5df62dd2f59a39903c8f) -set(QT_HASH_qt5-remoteobjects 1cce1b6128f283fe8930e1e58b9620459c50b203a39607e9bcde8423930da08e5c70e7effaf64d2690f463cc7b37cfc67fb6c0ac89e27df3a57007aee1d5233d) -set(QT_HASH_qt5-script 71c70b34f7d4a0742df64d20d7e9a685cc640b9cc6a3d22847c04f45a437b3f5537f40225a522ed82787c2744d9a4949dea5b43c2ee81961d5ed175cf10deb32) # deprecated -set(QT_HASH_qt5-scxml 2a4719af94baefe7f0ca5a23239d07a05285a1698b052d17bb87bc221bbbc8bc25a70ff06d70d41ed7ac6a7e6646be9c516d8187c9098da1158c08e27a4b0bb8) -set(QT_HASH_qt5-sensors d0a34e0718cc727b1256601bc5f9a2975532d728fdf0cb7678824c7d36aa5049d9c2886053821ec93a238120441c980027306ac633677617867c7aee40bb560b) -set(QT_HASH_qt5-serialport 353cc5f708367d646bd312f7d675b417bad4df44356f1dfc8b6ce846a86fd6d5955ec4d26f943e50f4a7b94cc6389fe658959e90bbb5ab3cdaefed0efe6ae72b) -set(QT_HASH_qt5-speech 78a13218a639276c9b253566a1df52e2363847eac76df3962ba2a7178800206beb57859d22c7c99fa1579cb3aa7ab94baed1a6319ba946d4a64cba9e3bf52b05) -set(QT_HASH_qt5-svg 101e9c8fc05b1bb9c4e869564bff8e5723dd35f0ef557185e56e9dc12fdce74c531522c9642cdff639900eccf7ed0e04bfa48142741259697dded990fb481730) -set(QT_HASH_qt5-tools 3bd32a302af6e81cd5d4eb07d60c5ef233f1ca7af1aae180c933ac28fafffce28c6c868eb032108747937ea951d6d4f0df5516841bc65d22c529207147533a8b) -set(QT_HASH_qt5-virtualkeyboard 3ba04d171756a5434424833c5198a23e0df53eeebe9ea542047e094f83f38492d93f901cac67cf7e55aca6a71289ce3c6f5d8ac10a8d051b291155ebb8432016) -set(QT_HASH_qt5-webchannel 7ac5e372695616863d247c5a61e5763a3934b58165e35c43da5ef1797d80005aa3d6eb258931ae7ee2b1f6a6fa743635ac4678c9cfe375cefa76e74cc81d095b) -set(QT_HASH_qt5-websockets 1b23b79bff4289e785daf51441daaecf6de66ca5a3febfdd8fdb8ce871471bca4faf7663d68b23aaf562b1ebd6e9c8c27b3074f4b93bc9fcd3a0c54f7f79a9c4) -set(QT_HASH_qt5-webview 11502597d5e3a9b8a3a90025b56c086a3412743019384558617c397a8ad4a0f646b406a4fbeb31ca45e6e573d1fb06cd5b22b8c0179695d06cc3d492289a1c85) -set(QT_HASH_qt5-winextras 6555a42d4bbeb46b394f573b6ed7926ec21cf6024de3c5f43000373bf0a2f4544f19866e2c9469da2d60b5dd99fb046765be5d3f8d5025169e319795bbf66d9e) -set(QT_HASH_qt5-xmlpatterns 5cdf51878f8bb42db57110acc0c3985a95af098da44e5dda505e0716fef5afc780419058158f7a8f9a0fe3fed83fd64abd856b4dbcdca20efa5e985fa85cc348) # deprecated -##TODO -set(QT_HASH_qt5-doc ce2c003b37829da102f243ca271548cff0597b4b667109ca9533971a490b8b20eb3183af6e0b209ad58964f2be2e757f83933a3f8c484dd0814750e24d1a244e) -set(QT_HASH_qt5-x11extras beaefc865299f4e7c637baa96eb3a69adbe1a41fc7735b46cfec0768c9243391600e69078630fffb4aceba106b7512fd802e745abc38ddab5253233301c93ed9) -set(QT_HASH_qt5-androidextras cacd9252f313595d21eb6a94ffabbd5fff476af82aa619b4edfc77a9f405f52bd1b89da97c8f7dadf8c403035a243205a25a2f85250ebc0590bf68f914cdbf3a) -#set(QT_HASH_qt5-canvas3d 0) deprecated -set(QT_HASH_qt5-translations 483b5d919f43c96a032e610cf6316989e7b859ab177cb2f7cb9bb10ebcddf8c9be8e04ff12db38a317c618d13f88455a4d434c7a1133f453882da4e026dd8cbe) -set(QT_HASH_qt5-serialbus c4793f5425ca0191435d75a8fd95a623cc847d41b8722421c0bf0fdfddda1a158fd2a00f5d997f00de4fcb271a158f3273d636ef2553ccd6b90b4d072b1eb55b) -set(QT_HASH_qt5-webengine de64c30819f5e2f8620c853ff22b2f9717641477aef4432a552a72d1d67ed62ed61572afee6de3f2c9f32dee28f4f786ffd63fc465aa42c0ae1e87ea28341756) -set(QT_HASH_qt5-webglplugin 14b9a0c08472121165eba82f3c81518be7b19484b7bee7887df9751edc6e2e7e76d06f961b180427014beb71c725d343e9f196f37690e2d207511f7639bd2627) -set(QT_HASH_qt5-wayland e8657ed676873da7b949e6a1605d025918a03336af9c68f32741945ec3c71a604def55bb00737ba4d97b91c00d0e2df1a83cdcedcf5795c6b2a1ef2caa21c91c) - -if(QT_UPDATE_VERSION) - message(STATUS "Running Qt in automatic version port update mode!") - set(_VCPKG_INTERNAL_NO_HASH_CHECK 1) - if("${PORT}" MATCHES "qt5-base") - foreach(_current_qt_port ${QT_PORT_LIST}) - set(_current_control "${VCPKG_ROOT_DIR}/ports/qt5-${_current_qt_port}/CONTROL") - file(READ ${_current_control} _control_contents) - #message(STATUS "Before: \n${_control_contents}") - string(REGEX REPLACE "Version:[^0-9]+[0-9]\.[0-9]+\.[0-9]+[^\n]*\n" "Version: ${QT_MAJOR_MINOR_VER}.${QT_PATCH_VER}\n" _control_contents "${_control_contents}") - #message(STATUS "After: \n${_control_contents}") - file(WRITE ${_current_control} "${_control_contents}") - endforeach() - endif() -endif() \ No newline at end of file diff --git a/ports/qt5-base/cmake/qt_submodule_installation.cmake b/ports/qt5-base/cmake/qt_submodule_installation.cmake index 197c0ace4829eb..19c0b4ef428e22 100644 --- a/ports/qt5-base/cmake/qt_submodule_installation.cmake +++ b/ports/qt5-base/cmake/qt_submodule_installation.cmake @@ -1,11 +1,15 @@ function(qt_submodule_installation) - qt_download_submodule(OUT_SOURCE_PATH TARGET_SOURCE_PATH ${ARGV}) + cmake_parse_arguments(_csc "" "OUT_SOURCE_PATH" "" ${ARGN}) + qt_download_submodule(OUT_SOURCE_PATH TARGET_SOURCE_PATH ${_csc_UNPARSED_ARGUMENTS}) if(QT_UPDATE_VERSION) SET(VCPKG_POLICY_EMPTY_PACKAGE enabled PARENT_SCOPE) else() - qt_build_submodule(${TARGET_SOURCE_PATH} ${ARGV}) + qt_build_submodule(${TARGET_SOURCE_PATH} ${_csc_UNPARSED_ARGUMENTS}) qt_install_copyright(${TARGET_SOURCE_PATH}) endif() + if(DEFINED _csc_OUT_SOURCE_PATH) + set(${_csc_OUT_SOURCE_PATH} ${TARGET_SOURCE_PATH} PARENT_SCOPE) + endif() endfunction() \ No newline at end of file diff --git a/ports/qt5-base/patches/0001-CVE-2023-51714-qtbase-5.15.diff b/ports/qt5-base/patches/0001-CVE-2023-51714-qtbase-5.15.diff new file mode 100644 index 00000000000000..89f467aad0fd19 --- /dev/null +++ b/ports/qt5-base/patches/0001-CVE-2023-51714-qtbase-5.15.diff @@ -0,0 +1,38 @@ +From ea63c28efc1d2ecb467b83a34923d12462efa96f Mon Sep 17 00:00:00 2001 +From: Marc Mutz +Date: Tue, 12 Dec 2023 20:51:56 +0100 +Subject: [PATCH] HPack: fix a Yoda Condition + +Putting the variable on the LHS of a relational operation makes the +expression easier to read. In this case, we find that the whole +expression is nonsensical as an overflow protection, because if +name.size() + value.size() overflows, the result will exactly _not_ +be > max() - 32, because UB will have happened. + +To be fixed in a follow-up commit. + +As a drive-by, add parentheses around the RHS. + +Change-Id: I35ce598884c37c51b74756b3bd2734b9aad63c09 +Reviewed-by: Allan Sandfeld Jensen +(cherry picked from commit 658607a34ead214fbacbc2cca44915655c318ea9) +Reviewed-by: Qt Cherry-pick Bot +(cherry picked from commit 4f7efd41740107f90960116700e3134f5e433867) +(cherry picked from commit 13c16b756900fe524f6d9534e8a07aa003c05e0c) +(cherry picked from commit 1d4788a39668fb2dc5912a8d9c4272dc40e99f92) +(cherry picked from commit 87de75b5cc946d196decaa6aef4792a6cac0b6db) +--- + +diff --git a/src/network/access/http2/hpacktable.cpp b/src/network/access/http2/hpacktable.cpp +index 834214f..ab166a6 100644 +--- a/src/network/access/http2/hpacktable.cpp ++++ b/src/network/access/http2/hpacktable.cpp +@@ -63,7 +63,7 @@ + // 32 octets of overhead." + + const unsigned sum = unsigned(name.size() + value.size()); +- if (std::numeric_limits::max() - 32 < sum) ++ if (sum > (std::numeric_limits::max() - 32)) + return HeaderSize(); + return HeaderSize(true, quint32(sum + 32)); + } diff --git a/ports/qt5-base/patches/0002-CVE-2023-51714-qtbase-5.15.diff b/ports/qt5-base/patches/0002-CVE-2023-51714-qtbase-5.15.diff new file mode 100644 index 00000000000000..00f04c1ea914da --- /dev/null +++ b/ports/qt5-base/patches/0002-CVE-2023-51714-qtbase-5.15.diff @@ -0,0 +1,59 @@ +From 23c3fc483e8b6e21012a61f0bea884446f727776 Mon Sep 17 00:00:00 2001 +From: Marc Mutz +Date: Tue, 12 Dec 2023 22:08:07 +0100 +Subject: [PATCH] HPack: fix incorrect integer overflow check + +This code never worked: + +For the comparison with max() - 32 to trigger, on 32-bit platforms (or +Qt 5) signed interger overflow would have had to happen in the +addition of the two sizes. The compiler can therefore remove the +overflow check as dead code. + +On Qt 6 and 64-bit platforms, the signed integer addition would be +very unlikely to overflow, but the following truncation to uint32 +would yield the correct result only in a narrow 32-value window just +below UINT_MAX, if even that. + +Fix by using the proper tool, qAddOverflow. + +Manual conflict resolutions: + - qAddOverflow doesn't exist in Qt 5, use private add_overflow + predecessor API instead + +Change-Id: I7599f2e75ff7f488077b0c60b81022591005661c +Reviewed-by: Allan Sandfeld Jensen +(cherry picked from commit ee5da1f2eaf8932aeca02ffea6e4c618585e29e3) +Reviewed-by: Qt Cherry-pick Bot +(cherry picked from commit debeb8878da2dc706ead04b6072ecbe7e5313860) +Reviewed-by: Thiago Macieira +Reviewed-by: Marc Mutz +(cherry picked from commit 811b9eef6d08d929af8708adbf2a5effb0eb62d7) +(cherry picked from commit f931facd077ce945f1e42eaa3bead208822d3e00) +(cherry picked from commit 9ef4ca5ecfed771dab890856130e93ef5ceabef5) +Reviewed-by: Mårten Nordheim +--- + +diff --git a/src/network/access/http2/hpacktable.cpp b/src/network/access/http2/hpacktable.cpp +index ab166a6..de91fc0 100644 +--- a/src/network/access/http2/hpacktable.cpp ++++ b/src/network/access/http2/hpacktable.cpp +@@ -40,6 +40,7 @@ + #include "hpacktable_p.h" + + #include ++#include + + #include + #include +@@ -62,7 +63,9 @@ + // for counting the number of references to the name and value would have + // 32 octets of overhead." + +- const unsigned sum = unsigned(name.size() + value.size()); ++ size_t sum; ++ if (add_overflow(size_t(name.size()), size_t(value.size()), &sum)) ++ return HeaderSize(); + if (sum > (std::numeric_limits::max() - 32)) + return HeaderSize(); + return HeaderSize(true, quint32(sum + 32)); diff --git a/ports/qt5-base/patches/CVE-2023-43114-5.15.patch b/ports/qt5-base/patches/CVE-2023-43114-5.15.patch new file mode 100644 index 00000000000000..da59ce5433edda --- /dev/null +++ b/ports/qt5-base/patches/CVE-2023-43114-5.15.patch @@ -0,0 +1,120 @@ +diff --git a/src/platformsupport/fontdatabases/windows/qwindowsfontdatabase.cpp b/src/platformsupport/fontdatabases/windows/qwindowsfontdatabase.cpp +index ba683cf686..217a968c64 100644 +--- a/src/platformsupport/fontdatabases/windows/qwindowsfontdatabase.cpp ++++ b/src/platformsupport/fontdatabases/windows/qwindowsfontdatabase.cpp +@@ -1471,36 +1471,70 @@ QT_WARNING_POP + return fontEngine; + } + +-static QList getTrueTypeFontOffsets(const uchar *fontData) ++static QList getTrueTypeFontOffsets(const uchar *fontData, const uchar *fileEndSentinel) + { + QList offsets; +- const quint32 headerTag = *reinterpret_cast(fontData); ++ if (fileEndSentinel - fontData < 12) { ++ qCWarning(lcQpaFonts) << "Corrupted font data detected"; ++ return offsets; ++ } ++ ++ const quint32 headerTag = qFromUnaligned(fontData); + if (headerTag != MAKE_TAG('t', 't', 'c', 'f')) { + if (headerTag != MAKE_TAG(0, 1, 0, 0) + && headerTag != MAKE_TAG('O', 'T', 'T', 'O') + && headerTag != MAKE_TAG('t', 'r', 'u', 'e') +- && headerTag != MAKE_TAG('t', 'y', 'p', '1')) ++ && headerTag != MAKE_TAG('t', 'y', 'p', '1')) { + return offsets; ++ } + offsets << 0; + return offsets; + } ++ ++ const quint32 maximumNumFonts = 0xffff; + const quint32 numFonts = qFromBigEndian(fontData + 8); +- for (uint i = 0; i < numFonts; ++i) { +- offsets << qFromBigEndian(fontData + 12 + i * 4); ++ if (numFonts > maximumNumFonts) { ++ qCWarning(lcQpaFonts) << "Font collection of" << numFonts << "fonts is too large. Aborting."; ++ return offsets; + } ++ ++ if (quintptr(fileEndSentinel - fontData) > 12 + (numFonts - 1) * 4) { ++ for (quint32 i = 0; i < numFonts; ++i) ++ offsets << qFromBigEndian(fontData + 12 + i * 4); ++ } else { ++ qCWarning(lcQpaFonts) << "Corrupted font data detected"; ++ } ++ + return offsets; + } + +-static void getFontTable(const uchar *fileBegin, const uchar *data, quint32 tag, const uchar **table, quint32 *length) ++static void getFontTable(const uchar *fileBegin, const uchar *fileEndSentinel, const uchar *data, quint32 tag, const uchar **table, quint32 *length) + { +- const quint16 numTables = qFromBigEndian(data + 4); +- for (uint i = 0; i < numTables; ++i) { +- const quint32 offset = 12 + 16 * i; +- if (*reinterpret_cast(data + offset) == tag) { +- *table = fileBegin + qFromBigEndian(data + offset + 8); +- *length = qFromBigEndian(data + offset + 12); +- return; ++ if (fileEndSentinel - data >= 6) { ++ const quint16 numTables = qFromBigEndian(data + 4); ++ if (fileEndSentinel - data >= 28 + 16 * (numTables - 1)) { ++ for (quint32 i = 0; i < numTables; ++i) { ++ const quint32 offset = 12 + 16 * i; ++ if (qFromUnaligned(data + offset) == tag) { ++ const quint32 tableOffset = qFromBigEndian(data + offset + 8); ++ if (quintptr(fileEndSentinel - fileBegin) <= tableOffset) { ++ qCWarning(lcQpaFonts) << "Corrupted font data detected"; ++ break; ++ } ++ *table = fileBegin + tableOffset; ++ *length = qFromBigEndian(data + offset + 12); ++ if (quintptr(fileEndSentinel - *table) < *length) { ++ qCWarning(lcQpaFonts) << "Corrupted font data detected"; ++ break; ++ } ++ return; ++ } ++ } ++ } else { ++ qCWarning(lcQpaFonts) << "Corrupted font data detected"; + } ++ } else { ++ qCWarning(lcQpaFonts) << "Corrupted font data detected"; + } + *table = 0; + *length = 0; +@@ -1513,8 +1547,9 @@ static void getFamiliesAndSignatures(const QByteArray &fontData, + QVector *values) + { + const uchar *data = reinterpret_cast(fontData.constData()); ++ const uchar *dataEndSentinel = data + fontData.size(); + +- QList offsets = getTrueTypeFontOffsets(data); ++ QList offsets = getTrueTypeFontOffsets(data, dataEndSentinel); + if (offsets.isEmpty()) + return; + +@@ -1522,7 +1557,7 @@ static void getFamiliesAndSignatures(const QByteArray &fontData, + const uchar *font = data + offsets.at(i); + const uchar *table; + quint32 length; +- getFontTable(data, font, MAKE_TAG('n', 'a', 'm', 'e'), &table, &length); ++ getFontTable(data, dataEndSentinel, font, MAKE_TAG('n', 'a', 'm', 'e'), &table, &length); + if (!table) + continue; + QFontNames names = qt_getCanonicalFontNames(table, length); +@@ -1532,7 +1567,7 @@ static void getFamiliesAndSignatures(const QByteArray &fontData, + families->append(std::move(names)); + + if (values || signatures) +- getFontTable(data, font, MAKE_TAG('O', 'S', '/', '2'), &table, &length); ++ getFontTable(data, dataEndSentinel, font, MAKE_TAG('O', 'S', '/', '2'), &table, &length); + + if (values) { + QFontValues fontValues; +-- +2.27.0.windows.1 + diff --git a/ports/qt5-base/patches/CVE-2024-25580-qtbase-5.15.diff b/ports/qt5-base/patches/CVE-2024-25580-qtbase-5.15.diff new file mode 100644 index 00000000000000..1628961b1f7a6b --- /dev/null +++ b/ports/qt5-base/patches/CVE-2024-25580-qtbase-5.15.diff @@ -0,0 +1,197 @@ +diff --git a/src/gui/util/qktxhandler.cpp b/src/gui/util/qktxhandler.cpp +index 0d98e97453..6a79e55109 100644 +--- a/src/gui/util/qktxhandler.cpp ++++ b/src/gui/util/qktxhandler.cpp +@@ -73,7 +73,7 @@ struct KTXHeader { + quint32 bytesOfKeyValueData; + }; + +-static const quint32 headerSize = sizeof(KTXHeader); ++static constexpr quint32 qktxh_headerSize = sizeof(KTXHeader); + + // Currently unused, declared for future reference + struct KTXKeyValuePairItem { +@@ -103,11 +103,36 @@ struct KTXMipmapLevel { + */ + }; + +-bool QKtxHandler::canRead(const QByteArray &suffix, const QByteArray &block) ++static bool qAddOverflow(quint32 v1, quint32 v2, quint32 *r) { ++ // unsigned additions are well-defined ++ *r = v1 + v2; ++ return v1 > quint32(v1 + v2); ++} ++ ++// Returns the nearest multiple of 4 greater than or equal to 'value' ++static bool nearestMultipleOf4(quint32 value, quint32 *result) ++{ ++ constexpr quint32 rounding = 4; ++ *result = 0; ++ if (qAddOverflow(value, rounding - 1, result)) ++ return true; ++ *result &= ~(rounding - 1); ++ return false; ++} ++ ++// Returns a slice with prechecked bounds ++static QByteArray safeSlice(const QByteArray& array, quint32 start, quint32 length) + { +- Q_UNUSED(suffix) ++ quint32 end = 0; ++ if (qAddOverflow(start, length, &end) || end > quint32(array.length())) ++ return {}; ++ return QByteArray(array.data() + start, length); ++} + +- return (qstrncmp(block.constData(), ktxIdentifier, KTX_IDENTIFIER_LENGTH) == 0); ++bool QKtxHandler::canRead(const QByteArray &suffix, const QByteArray &block) ++{ ++ Q_UNUSED(suffix); ++ return block.startsWith(QByteArray::fromRawData(ktxIdentifier, KTX_IDENTIFIER_LENGTH)); + } + + QTextureFileData QKtxHandler::read() +@@ -115,42 +140,97 @@ QTextureFileData QKtxHandler::read() + if (!device()) + return QTextureFileData(); + +- QByteArray buf = device()->readAll(); +- const quint32 dataSize = quint32(buf.size()); +- if (dataSize < headerSize || !canRead(QByteArray(), buf)) { +- qCDebug(lcQtGuiTextureIO, "Invalid KTX file %s", logName().constData()); ++ const QByteArray buf = device()->readAll(); ++ if (size_t(buf.size()) > std::numeric_limits::max()) { ++ qWarning(lcQtGuiTextureIO, "Too big KTX file %s", logName().constData()); ++ return QTextureFileData(); ++ } ++ ++ if (!canRead(QByteArray(), buf)) { ++ qWarning(lcQtGuiTextureIO, "Invalid KTX file %s", logName().constData()); ++ return QTextureFileData(); ++ } ++ ++ if (buf.size() < qsizetype(qktxh_headerSize)) { ++ qWarning(lcQtGuiTextureIO, "Invalid KTX header size in %s", logName().constData()); + return QTextureFileData(); + } + +- const KTXHeader *header = reinterpret_cast(buf.constData()); +- if (!checkHeader(*header)) { +- qCDebug(lcQtGuiTextureIO, "Unsupported KTX file format in %s", logName().constData()); ++ KTXHeader header; ++ memcpy(&header, buf.data(), qktxh_headerSize); ++ if (!checkHeader(header)) { ++ qWarning(lcQtGuiTextureIO, "Unsupported KTX file format in %s", logName().constData()); + return QTextureFileData(); + } + + QTextureFileData texData; + texData.setData(buf); + +- texData.setSize(QSize(decode(header->pixelWidth), decode(header->pixelHeight))); +- texData.setGLFormat(decode(header->glFormat)); +- texData.setGLInternalFormat(decode(header->glInternalFormat)); +- texData.setGLBaseInternalFormat(decode(header->glBaseInternalFormat)); +- +- texData.setNumLevels(decode(header->numberOfMipmapLevels)); +- quint32 offset = headerSize + decode(header->bytesOfKeyValueData); +- const int maxLevels = qMin(texData.numLevels(), 32); // Cap iterations in case of corrupt file. +- for (int i = 0; i < maxLevels; i++) { +- if (offset + sizeof(KTXMipmapLevel) > dataSize) // Corrupt file; avoid oob read +- break; +- const KTXMipmapLevel *level = reinterpret_cast(buf.constData() + offset); +- quint32 levelLen = decode(level->imageSize); +- texData.setDataOffset(offset + sizeof(KTXMipmapLevel::imageSize), i); +- texData.setDataLength(levelLen, i); +- offset += sizeof(KTXMipmapLevel::imageSize) + levelLen + (3 - ((levelLen + 3) % 4)); ++ texData.setSize(QSize(decode(header.pixelWidth), decode(header.pixelHeight))); ++ texData.setGLFormat(decode(header.glFormat)); ++ texData.setGLInternalFormat(decode(header.glInternalFormat)); ++ texData.setGLBaseInternalFormat(decode(header.glBaseInternalFormat)); ++ ++ texData.setNumLevels(decode(header.numberOfMipmapLevels)); ++ ++ const quint32 bytesOfKeyValueData = decode(header.bytesOfKeyValueData); ++ quint32 headerKeyValueSize; ++ if (qAddOverflow(qktxh_headerSize, bytesOfKeyValueData, &headerKeyValueSize)) { ++ qWarning(lcQtGuiTextureIO, "Overflow in size of key value data in header of KTX file %s", ++ logName().constData()); ++ return QTextureFileData(); ++ } ++ ++ if (headerKeyValueSize >= quint32(buf.size())) { ++ qWarning(lcQtGuiTextureIO, "OOB request in KTX file %s", logName().constData()); ++ return QTextureFileData(); ++ } ++ ++ // Technically, any number of levels is allowed but if the value is bigger than ++ // what is possible in KTX V2 (and what makes sense) we return an error. ++ // maxLevels = log2(max(width, height, depth)) ++ const int maxLevels = (sizeof(quint32) * 8) ++ - qCountLeadingZeroBits(std::max( ++ { header.pixelWidth, header.pixelHeight, header.pixelDepth })); ++ ++ if (texData.numLevels() > maxLevels) { ++ qWarning(lcQtGuiTextureIO, "Too many levels in KTX file %s", logName().constData()); ++ return QTextureFileData(); ++ } ++ ++ quint32 offset = headerKeyValueSize; ++ for (int level = 0; level < texData.numLevels(); level++) { ++ const auto imageSizeSlice = safeSlice(buf, offset, sizeof(quint32)); ++ if (imageSizeSlice.isEmpty()) { ++ qWarning(lcQtGuiTextureIO, "OOB request in KTX file %s", logName().constData()); ++ return QTextureFileData(); ++ } ++ ++ const quint32 imageSize = decode(qFromUnaligned(imageSizeSlice.data())); ++ offset += sizeof(quint32); // overflow checked indirectly above ++ ++ texData.setDataOffset(offset, level); ++ texData.setDataLength(imageSize, level); ++ ++ // Add image data and padding to offset ++ quint32 padded = 0; ++ if (nearestMultipleOf4(imageSize, &padded)) { ++ qWarning(lcQtGuiTextureIO, "Overflow in KTX file %s", logName().constData()); ++ return QTextureFileData(); ++ } ++ ++ quint32 offsetNext; ++ if (qAddOverflow(offset, padded, &offsetNext)) { ++ qWarning(lcQtGuiTextureIO, "OOB request in KTX file %s", logName().constData()); ++ return QTextureFileData(); ++ } ++ ++ offset = offsetNext; + } + + if (!texData.isValid()) { +- qCDebug(lcQtGuiTextureIO, "Invalid values in header of KTX file %s", logName().constData()); ++ qWarning(lcQtGuiTextureIO, "Invalid values in header of KTX file %s", ++ logName().constData()); + return QTextureFileData(); + } + +@@ -191,7 +271,7 @@ bool QKtxHandler::checkHeader(const KTXHeader &header) + (decode(header.numberOfFaces) == 1)); + } + +-quint32 QKtxHandler::decode(quint32 val) ++quint32 QKtxHandler::decode(quint32 val) const + { + return inverseEndian ? qbswap(val) : val; + } +diff --git a/src/gui/util/qktxhandler_p.h b/src/gui/util/qktxhandler_p.h +index f831e59d95..cdf1b2eaf8 100644 +--- a/src/gui/util/qktxhandler_p.h ++++ b/src/gui/util/qktxhandler_p.h +@@ -68,7 +68,7 @@ public: + + private: + bool checkHeader(const KTXHeader &header); +- quint32 decode(quint32 val); ++ quint32 decode(quint32 val) const; + + bool inverseEndian = false; + }; diff --git a/ports/qt5-base/patches/CVE-2024-39936-qtbase-5.15.patch b/ports/qt5-base/patches/CVE-2024-39936-qtbase-5.15.patch new file mode 100644 index 00000000000000..94840f6c7b50f2 --- /dev/null +++ b/ports/qt5-base/patches/CVE-2024-39936-qtbase-5.15.patch @@ -0,0 +1,136 @@ +diff --git a/src/network/access/qhttp2protocolhandler.cpp b/src/network/access/qhttp2protocolhandler.cpp +index d1b5dfda2e2..ee04a1856c6 100644 +--- a/src/network/access/qhttp2protocolhandler.cpp ++++ b/src/network/access/qhttp2protocolhandler.cpp +@@ -375,12 +375,12 @@ bool QHttp2ProtocolHandler::sendRequest() + } + } + +- if (!prefaceSent && !sendClientPreface()) +- return false; +- + if (!requests.size()) + return true; + ++ if (!prefaceSent && !sendClientPreface()) ++ return false; ++ + m_channel->state = QHttpNetworkConnectionChannel::WritingState; + // Check what was promised/pushed, maybe we do not have to send a request + // and have a response already? +diff --git a/src/network/access/qhttpnetworkconnectionchannel.cpp b/src/network/access/qhttpnetworkconnectionchannel.cpp +index bd2f32e3528..6f3bd807a09 100644 +--- a/src/network/access/qhttpnetworkconnectionchannel.cpp ++++ b/src/network/access/qhttpnetworkconnectionchannel.cpp +@@ -255,6 +255,10 @@ void QHttpNetworkConnectionChannel::abort() + bool QHttpNetworkConnectionChannel::sendRequest() + { + Q_ASSERT(!protocolHandler.isNull()); ++ if (waitingForPotentialAbort) { ++ needInvokeSendRequest = true; ++ return false; // this return value is unused ++ } + return protocolHandler->sendRequest(); + } + +@@ -267,21 +271,28 @@ bool QHttpNetworkConnectionChannel::sendRequest() + void QHttpNetworkConnectionChannel::sendRequestDelayed() + { + QMetaObject::invokeMethod(this, [this] { +- Q_ASSERT(!protocolHandler.isNull()); + if (reply) +- protocolHandler->sendRequest(); ++ sendRequest(); + }, Qt::ConnectionType::QueuedConnection); + } + + void QHttpNetworkConnectionChannel::_q_receiveReply() + { + Q_ASSERT(!protocolHandler.isNull()); ++ if (waitingForPotentialAbort) { ++ needInvokeReceiveReply = true; ++ return; ++ } + protocolHandler->_q_receiveReply(); + } + + void QHttpNetworkConnectionChannel::_q_readyRead() + { + Q_ASSERT(!protocolHandler.isNull()); ++ if (waitingForPotentialAbort) { ++ needInvokeReadyRead = true; ++ return; ++ } + protocolHandler->_q_readyRead(); + } + +@@ -1289,7 +1300,18 @@ void QHttpNetworkConnectionChannel::_q_encrypted() + // Similar to HTTP/1.1 counterpart below: + const auto &pairs = spdyRequestsToSend.values(); // (request, reply) + const auto &pair = pairs.first(); ++ waitingForPotentialAbort = true; + emit pair.second->encrypted(); ++ ++ // We don't send or handle any received data until any effects from ++ // emitting encrypted() have been processed. This is necessary ++ // because the user may have called abort(). We may also abort the ++ // whole connection if the request has been aborted and there is ++ // no more requests to send. ++ QMetaObject::invokeMethod(this, ++ &QHttpNetworkConnectionChannel::checkAndResumeCommunication, ++ Qt::QueuedConnection); ++ + // In case our peer has sent us its settings (window size, max concurrent streams etc.) + // let's give _q_receiveReply a chance to read them first ('invokeMethod', QueuedConnection). + QMetaObject::invokeMethod(connection, "_q_startNextRequest", Qt::QueuedConnection); +@@ -1307,6 +1329,26 @@ void QHttpNetworkConnectionChannel::_q_encrypted() + } + } + ++void QHttpNetworkConnectionChannel::checkAndResumeCommunication() ++{ ++ Q_ASSERT(connection->connectionType() > QHttpNetworkConnection::ConnectionTypeHTTP); ++ ++ // Because HTTP/2 requires that we send a SETTINGS frame as the first thing we do, and respond ++ // to a SETTINGS frame with an ACK, we need to delay any handling until we can ensure that any ++ // effects from emitting encrypted() have been processed. ++ // This function is called after encrypted() was emitted, so check for changes. ++ ++ if (!reply && spdyRequestsToSend.isEmpty()) ++ abort(); ++ waitingForPotentialAbort = false; ++ if (needInvokeReadyRead) ++ _q_readyRead(); ++ if (needInvokeReceiveReply) ++ _q_receiveReply(); ++ if (needInvokeSendRequest) ++ sendRequest(); ++} ++ + void QHttpNetworkConnectionChannel::requeueSpdyRequests() + { + QList spdyPairs = spdyRequestsToSend.values(); +diff --git a/src/network/access/qhttpnetworkconnectionchannel_p.h b/src/network/access/qhttpnetworkconnectionchannel_p.h +index 6be0c51f9fe..613fda7bc31 100644 +--- a/src/network/access/qhttpnetworkconnectionchannel_p.h ++++ b/src/network/access/qhttpnetworkconnectionchannel_p.h +@@ -107,6 +107,10 @@ public: + QAbstractSocket *socket; + bool ssl; + bool isInitialized; ++ bool waitingForPotentialAbort = false; ++ bool needInvokeReceiveReply = false; ++ bool needInvokeReadyRead = false; ++ bool needInvokeSendRequest = false; + ChannelState state; + QHttpNetworkRequest request; // current request, only used for HTTP + QHttpNetworkReply *reply; // current reply for this request, only used for HTTP +@@ -187,6 +191,8 @@ public: + void closeAndResendCurrentRequest(); + void resendCurrentRequest(); + ++ void checkAndResumeCommunication(); ++ + bool isSocketBusy() const; + bool isSocketWriting() const; + bool isSocketWaiting() const; diff --git a/ports/qt5-base/patches/XKB_KEY_dead_lowline.patch b/ports/qt5-base/patches/XKB_KEY_dead_lowline.patch new file mode 100644 index 00000000000000..9bbe3efb1f0a11 --- /dev/null +++ b/ports/qt5-base/patches/XKB_KEY_dead_lowline.patch @@ -0,0 +1,18 @@ +diff --git a/src/platformsupport/input/xkbcommon/qxkbcommon.cpp b/src/platformsupport/input/xkbcommon/qxkbcommon.cpp +index 7bfacf4..ded358a 100644 +--- a/src/platformsupport/input/xkbcommon/qxkbcommon.cpp ++++ b/src/platformsupport/input/xkbcommon/qxkbcommon.cpp +@@ -273,11 +273,13 @@ static constexpr const auto KeyTbl = qMakeArray( + Xkb2Qt, + Xkb2Qt, + Xkb2Qt, ++#ifdef XKB_KEY_dead_lowline + Xkb2Qt, + Xkb2Qt, + Xkb2Qt, + Xkb2Qt, + ++#endif + // Special keys from X.org - This include multimedia keys, + // wireless/bluetooth/uwb keys, special launcher keys, etc. + Xkb2Qt, diff --git a/ports/qt5-base/patches/fix_angle.patch b/ports/qt5-base/patches/fix_angle.patch new file mode 100644 index 00000000000000..32875858a49349 --- /dev/null +++ b/ports/qt5-base/patches/fix_angle.patch @@ -0,0 +1,35 @@ +diff --git a/src/plugins/platforms/windows/qwindowseglcontext.cpp b/src/plugins/platforms/windows/qwindowseglcontext.cpp +index 4ae087dfa..3a07d511e 100644 +--- a/src/plugins/platforms/windows/qwindowseglcontext.cpp ++++ b/src/plugins/platforms/windows/qwindowseglcontext.cpp +@@ -46,6 +46,21 @@ + + #if defined(QT_OPENGL_ES_2_ANGLE) || defined(QT_OPENGL_DYNAMIC) + # include ++ ++#ifndef EGL_ANGLE_platform_angle ++#define EGL_ANGLE_platform_angle 1 ++#define EGL_PLATFORM_ANGLE_ANGLE 0x3202 ++#define EGL_PLATFORM_ANGLE_TYPE_ANGLE 0x3203 ++#define EGL_PLATFORM_ANGLE_DEVICE_TYPE_ANGLE 0x3209 ++#endif /* EGL_ANGLE_platform_angle */ ++ ++#ifndef EGL_ANGLE_platform_angle_d3d ++#define EGL_ANGLE_platform_angle_d3d 1 ++#define EGL_PLATFORM_ANGLE_TYPE_D3D9_ANGLE 0x3207 ++#define EGL_PLATFORM_ANGLE_TYPE_D3D11_ANGLE 0x3208 ++#define EGL_PLATFORM_ANGLE_DEVICE_TYPE_D3D_WARP_ANGLE 0x320B ++#endif /* EGL_ANGLE_platform_angle_d3d */ ++ + #endif + + QT_BEGIN_NAMESPACE +@@ -210,7 +225,7 @@ bool QWindowsEGLStaticContext::initializeAngle(QWindowsOpenGLTester::Renderers p + { EGL_PLATFORM_ANGLE_TYPE_ANGLE, EGL_PLATFORM_ANGLE_TYPE_D3D11_ANGLE, EGL_NONE }, + { EGL_PLATFORM_ANGLE_TYPE_ANGLE, EGL_PLATFORM_ANGLE_TYPE_D3D9_ANGLE, EGL_NONE }, + { EGL_PLATFORM_ANGLE_TYPE_ANGLE, EGL_PLATFORM_ANGLE_TYPE_D3D11_ANGLE, +- EGL_PLATFORM_ANGLE_DEVICE_TYPE_ANGLE, EGL_PLATFORM_ANGLE_DEVICE_TYPE_WARP_ANGLE, EGL_NONE } ++ EGL_PLATFORM_ANGLE_DEVICE_TYPE_ANGLE, EGL_PLATFORM_ANGLE_DEVICE_TYPE_D3D_WARP_ANGLE, EGL_NONE } + }; + const EGLint *attributes = nullptr; + if (preferredType & QWindowsOpenGLTester::AngleRendererD3d11) diff --git a/ports/qt5-base/patches/icu.patch b/ports/qt5-base/patches/icu.patch deleted file mode 100644 index 16c13b0c36ce27..00000000000000 --- a/ports/qt5-base/patches/icu.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff --git a/src/corelib/configure.json b/src/corelib/configure.json -index de8d26a12..068b80c51 100644 ---- a/src/corelib/configure.json -+++ b/src/corelib/configure.json -@@ -106,13 +106,17 @@ - "headers": [ "unicode/utypes.h", "unicode/ucol.h", "unicode/ustring.h" ], - "sources": [ - { -+ "libs": "", - "builds": { -- "debug": "-lsicuind -lsicuucd -lsicudtd", -- "release": "-lsicuin -lsicuuc -lsicudt" -+ "debug": "-licuind -licuucd -licudtd", -+ "release": "-licuin -licuuc -licudt" - }, - "condition": "config.win32 && !features.shared" - }, -+ { "libs": "-licuind -licuucd -licudtd", "condition": "config.win32 && !features.shared"}, -+ { "libs": "-licuin -licuuc -licudt", "condition": "config.win32 && !features.shared"}, - { "libs": "-licuin -licuuc -licudt", "condition": "config.win32 && features.shared" }, -+ { "libs": "-licuind -licuucd -licudtd", "condition": "config.win32 && features.shared" }, - { "libs": "-licui18n -licuuc -licudata", "condition": "!config.win32" } - ], - "use": [ diff --git a/ports/qt5-base/patches/limits_include.patch b/ports/qt5-base/patches/limits_include.patch deleted file mode 100644 index 0ed514b7633d2d..00000000000000 --- a/ports/qt5-base/patches/limits_include.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 61325e4547225b8b2ecefda4ca328a38c075c909 Mon Sep 17 00:00:00 2001 -From: Nicolas Fella -Date: Wed, 11 Aug 2021 15:35:05 +0200 -Subject: [PATCH] Add missing limits include - ---- - src/corelib/global/qendian.h | 1 + - src/corelib/global/qfloat16.h | 1 + - src/corelib/text/qbytearraymatcher.h | 2 ++ - 3 files changed, 4 insertions(+) - -diff --git a/src/corelib/global/qendian.h b/src/corelib/global/qendian.h -index 257efbbdbe..05f11d6f81 100644 ---- a/src/corelib/global/qendian.h -+++ b/src/corelib/global/qendian.h -@@ -47,6 +47,7 @@ - // include stdlib.h and hope that it defines __GLIBC__ for glibc-based systems - #include - #include -+#include - - #ifdef min // MSVC - #undef min -diff --git a/src/corelib/global/qfloat16.h b/src/corelib/global/qfloat16.h -index c7a9c87af3..3287d7cbf2 100644 ---- a/src/corelib/global/qfloat16.h -+++ b/src/corelib/global/qfloat16.h -@@ -44,6 +44,7 @@ - #include - #include - #include -+#include - - #if defined(QT_COMPILER_SUPPORTS_F16C) && defined(__AVX2__) && !defined(__F16C__) - // All processors that support AVX2 do support F16C too. That doesn't mean -diff --git a/src/corelib/text/qbytearraymatcher.h b/src/corelib/text/qbytearraymatcher.h -index 0eedfc1d20..f5f9bef7b8 100644 ---- a/src/corelib/text/qbytearraymatcher.h -+++ b/src/corelib/text/qbytearraymatcher.h -@@ -42,6 +42,8 @@ - - #include - -+#include -+ - QT_BEGIN_NAMESPACE - - --- -2.32.0 - diff --git a/ports/qt5-base/patches/mingw9.patch b/ports/qt5-base/patches/mingw9.patch new file mode 100644 index 00000000000000..03991d7d1d40ba --- /dev/null +++ b/ports/qt5-base/patches/mingw9.patch @@ -0,0 +1,21 @@ +diff --git a/src/corelib/io/qfilesystemengine_win.cpp b/src/corelib/io/qfilesystemengine_win.cpp +index 075ce0ffac..0d3dd2e0b2 100644 +--- a/src/corelib/io/qfilesystemengine_win.cpp ++++ b/src/corelib/io/qfilesystemengine_win.cpp +@@ -627,14 +627,14 @@ QFileSystemEntry QFileSystemEngine::absoluteName(const QFileSystemEntry &entry) + return QFileSystemEntry(ret, QFileSystemEntry::FromInternalPath()); + } + +-#if defined(Q_CC_MINGW) && WINVER < 0x0602 // Windows 8 onwards ++#if defined(Q_CC_MINGW) && WINVER < 0x0602 && _WIN32_WINNT < _WIN32_WINNT_WIN8 // Windows 8 onwards + + typedef struct _FILE_ID_INFO { + ULONGLONG VolumeSerialNumber; + FILE_ID_128 FileId; + } FILE_ID_INFO, *PFILE_ID_INFO; + +-#endif // if defined (Q_CC_MINGW) && WINVER < 0x0602 ++#endif // if defined(Q_CC_MINGW) && WINVER < 0x0602 && _WIN32_WINNT < _WIN32_WINNT_WIN8 + + // File ID for Windows up to version 7 and FAT32 drives + static inline QByteArray fileId(HANDLE handle) diff --git a/ports/qt5-base/patches/patch-qtbase-memory_resource.diff b/ports/qt5-base/patches/patch-qtbase-memory_resource.diff new file mode 100644 index 00000000000000..18b5b4d5136dbd --- /dev/null +++ b/ports/qt5-base/patches/patch-qtbase-memory_resource.diff @@ -0,0 +1,43 @@ +--- a/src/corelib/global/qcompilerdetection.h ++++ b/src/corelib/global/qcompilerdetection.h +@@ -1050,16 +1050,22 @@ + # endif // !_HAS_CONSTEXPR + # endif // !__GLIBCXX__ && !_LIBCPP_VERSION + # endif // Q_OS_QNX +-# if (defined(Q_CC_CLANG) || defined(Q_CC_INTEL)) && defined(Q_OS_MAC) && defined(__GNUC_LIBSTD__) \ +- && ((__GNUC_LIBSTD__-0) * 100 + __GNUC_LIBSTD_MINOR__-0 <= 402) ++# if defined(Q_CC_CLANG) && defined(Q_OS_DARWIN) ++# if defined(__GNUC_LIBSTD__) && ((__GNUC_LIBSTD__-0) * 100 + __GNUC_LIBSTD_MINOR__-0 <= 402) + // Apple has not updated libstdc++ since 2007, which means it does not have + // or std::move. Let's disable these features +-# undef Q_COMPILER_INITIALIZER_LISTS +-# undef Q_COMPILER_RVALUE_REFS +-# undef Q_COMPILER_REF_QUALIFIERS ++# undef Q_COMPILER_INITIALIZER_LISTS ++# undef Q_COMPILER_RVALUE_REFS ++# undef Q_COMPILER_REF_QUALIFIERS + // Also disable , since it's clearly not there +-# undef Q_COMPILER_ATOMICS +-# endif ++# undef Q_COMPILER_ATOMICS ++# endif ++# if defined(__cpp_lib_memory_resource) \ ++ && ((defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && __MAC_OS_X_VERSION_MIN_REQUIRED < 140000) \ ++ || (defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && __IPHONE_OS_VERSION_MIN_REQUIRED < 170000)) ++# undef __cpp_lib_memory_resource // Only supported on macOS 14 and iOS 17 ++# endif ++# endif // defined(Q_CC_CLANG) && defined(Q_OS_DARWIN) + # if defined(Q_CC_CLANG) && defined(Q_CC_INTEL) && Q_CC_INTEL >= 1500 + // ICC 15.x and 16.0 have their own implementation of std::atomic, which is activated when in Clang mode + // (probably because libc++'s on OS X failed to compile), but they're missing some +--- a/src/corelib/tools/qduplicatetracker_p.h ++++ b/src/corelib/tools/qduplicatetracker_p.h +@@ -52,7 +52,7 @@ + + #include + +-#if QT_HAS_INCLUDE() && __cplusplus > 201402L ++#ifdef __cpp_lib_memory_resource + # include + # include + #else diff --git a/ports/qt5-base/patches/qmake-arm64.patch b/ports/qt5-base/patches/qmake-arm64.patch new file mode 100644 index 00000000000000..17ba77b5c6a545 --- /dev/null +++ b/ports/qt5-base/patches/qmake-arm64.patch @@ -0,0 +1,18 @@ +diff --git a/qmake/library/qmakeevaluator.cpp b/qmake/library/qmakeevaluator.cpp +index df3f92d7d5df..0ee8cdbf11e1 100644 +--- a/qmake/library/qmakeevaluator.cpp ++++ b/qmake/library/qmakeevaluator.cpp +@@ -1046,6 +1046,11 @@ void QMakeEvaluator::loadDefaults() + case PROCESSOR_ARCHITECTURE_AMD64: + archStr = ProString("x86_64"); + break; ++# endif ++# ifdef PROCESSOR_ARCHITECTURE_ARM64 ++ case PROCESSOR_ARCHITECTURE_ARM64: ++ archStr = ProString("arm64"); ++ break; + # endif + case PROCESSOR_ARCHITECTURE_INTEL: + archStr = ProString("x86"); +-- +2.16.3 diff --git a/ports/qt5-base/patches/qtbug_96392.patch b/ports/qt5-base/patches/qtbug_96392.patch new file mode 100644 index 00000000000000..2f70dfe601a0f6 --- /dev/null +++ b/ports/qt5-base/patches/qtbug_96392.patch @@ -0,0 +1,27 @@ +--- a/src/gui/configure.json ++++ b/src/gui/configure.json +@@ -842,7 +842,8 @@ "// Check if EGL is compatible with X. Some EGL implementations, typically on", + "// embedded devices, are not intended to be used together with X. EGL support", + "// has to be disabled in plugins like xcb in this case since the native display,", + "// window and pixmap types will be different than what an X-based platform", +- "// plugin would expect." ++ "// plugin would expect.", ++ "#define USE_X11" + ], + "include": [ "EGL/egl.h", "X11/Xlib.h" ], + "main": [ +--- a/src/platformsupport/eglconvenience/qt_egl_p.h ++++ b/src/platformsupport/eglconvenience/qt_egl_p.h +@@ -61,7 +61,11 @@ # endif + # if !defined(Q_OS_INTEGRITY) + # define WIN_INTERFACE_CUSTOM // NV + # endif // Q_OS_INTEGRITY +-#endif // QT_EGL_NO_X11 ++#else // QT_EGL_NO_X11 ++// If one has an eglplatform.h with https://github.com/KhronosGroup/EGL-Registry/pull/130 ++// that needs USE_X11 to be defined. ++# define USE_X11 ++#endif + + #ifdef QT_EGL_WAYLAND + # define WAYLAND // NV diff --git a/ports/qt5-base/patches/xcode-15.patch b/ports/qt5-base/patches/xcode-15.patch new file mode 100644 index 00000000000000..9430967b593506 --- /dev/null +++ b/ports/qt5-base/patches/xcode-15.patch @@ -0,0 +1,28 @@ +diff --git a/mkspecs/features/toolchain.prf b/mkspecs/features/toolchain.prf +index 0040b6c..bfad10d 100644 +--- a/mkspecs/features/toolchain.prf ++++ b/mkspecs/features/toolchain.prf +@@ -288,9 +288,12 @@ + } + } + } +- isEmpty(QMAKE_DEFAULT_LIBDIRS)|isEmpty(QMAKE_DEFAULT_INCDIRS): \ ++ isEmpty(QMAKE_DEFAULT_INCDIRS): \ + !integrity: \ +- error("failed to parse default search paths from compiler output") ++ error("failed to parse default include paths from compiler output") ++ isEmpty(QMAKE_DEFAULT_LIBDIRS): \ ++ !integrity:!darwin: \ ++ error("failed to parse default library paths from compiler output") + QMAKE_DEFAULT_LIBDIRS = $$unique(QMAKE_DEFAULT_LIBDIRS) + } else: ghs { + cmd = $$QMAKE_CXX $$QMAKE_CXXFLAGS -$${LITERAL_HASH} -o /tmp/fake_output /tmp/fake_input.cpp +@@ -411,7 +414,7 @@ + QMAKE_DEFAULT_INCDIRS = $$split(INCLUDE, $$QMAKE_DIRLIST_SEP) + } + +- unix:if(!cross_compile|host_build) { ++ unix:!darwin:if(!cross_compile|host_build) { + isEmpty(QMAKE_DEFAULT_INCDIRS): QMAKE_DEFAULT_INCDIRS = /usr/include /usr/local/include + isEmpty(QMAKE_DEFAULT_LIBDIRS): QMAKE_DEFAULT_LIBDIRS = /lib /usr/lib + } diff --git a/ports/qt5-base/patches/zstdd.patch b/ports/qt5-base/patches/zstdd.patch deleted file mode 100644 index 9d10890c0f752d..00000000000000 --- a/ports/qt5-base/patches/zstdd.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/configure.json b/configure.json -index 50d69b740..7149e6803 100644 ---- a/configure.json -+++ b/configure.json -@@ -182,7 +182,10 @@ - }, - "sources": [ - { "type": "pkgConfig", "args": "libzstd >= 1.3" }, -- "-lzstd" -+ "-lzstd", -+ "-lzstdd", -+ "-lzstd -pthread", -+ "-lzstdd -pthread" - ] - }, - "dbus": { diff --git a/ports/qt5-base/portfile.cmake b/ports/qt5-base/portfile.cmake index 4b11ecc75c9310..6e2fe1b04deb91 100644 --- a/ports/qt5-base/portfile.cmake +++ b/ports/qt5-base/portfile.cmake @@ -1,41 +1,19 @@ vcpkg_buildpath_length_warning(37) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - set(QT_OPENSSL_LINK_DEFAULT ON) -else() - set(QT_OPENSSL_LINK_DEFAULT OFF) -endif() -option(QT_OPENSSL_LINK "Link against OpenSSL at compile-time." ${QT_OPENSSL_LINK_DEFAULT}) - -if (VCPKG_TARGET_IS_LINUX) - message(WARNING "qt5-base currently requires some packages from the system package manager, see https://doc.qt.io/qt-5/linux-requirements.html") - message(WARNING -[[ -qt5-base for qt5-x11extras requires several libraries from the system package manager. Please refer to - https://github.com/microsoft/vcpkg/blob/master/scripts/azure-pipelines/linux/provision-image.sh - for a complete list of them. -]] +if(VCPKG_TARGET_IS_LINUX) + message(WARNING "qt5-base currently requires some packages from the system package manager. " + "They can be installed on Ubuntu systems via " + "sudo apt-get install '^libxcb.*-dev' libx11-xcb-dev libgl1-mesa-dev libxrender-dev " + "libxi-dev libxkbcommon-dev libxkbcommon-x11-dev. For more information, see " + "https://doc.qt.io/qt-5/linux.html and https://doc.qt.io/qt-5/linux-requirements.html" ) +elseif(VCPKG_TARGET_IS_MINGW AND CMAKE_HOST_WIN32) + find_program(MINGW32_MAKE mingw32-make PATHS ENV PATH NO_DEFAULT_PATH REQUIRED) endif() list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}) list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/cmake) -if("latest" IN_LIST FEATURES) # latest = core currently - set(QT_BUILD_LATEST ON) - set(PATCHES - patches/Qt5BasicConfig.patch - patches/Qt5PluginTarget.patch - patches/create_cmake.patch - ) -else() - set(PATCHES - patches/Qt5BasicConfig.patch - patches/Qt5PluginTarget.patch - patches/create_cmake.patch - ) -endif() - set(WITH_PGSQL_PLUGIN OFF) if("postgresqlplugin" IN_LIST FEATURES) set(WITH_PGSQL_PLUGIN ON) @@ -45,9 +23,6 @@ set(WITH_MYSQL_PLUGIN OFF) if ("mysqlplugin" IN_LIST FEATURES) set(WITH_MYSQL_PLUGIN ON) endif() -if(WITH_MYSQL_PLUGIN AND NOT VCPKG_TARGET_IS_WINDOWS) - message(WARNING "${PORT} is currently not setup to support feature 'mysqlplugin' on platforms other than windows. Feel free to open up a PR to fix it!") -endif() include(qt_port_functions) include(configure_qt) @@ -71,24 +46,38 @@ endif() qt_download_submodule( OUT_SOURCE_PATH SOURCE_PATH PATCHES + # CVE fixes from https://download.qt.io/official_releases/qt/5.15/ + patches/CVE-2023-43114-5.15.patch + patches/0001-CVE-2023-51714-qtbase-5.15.diff + patches/0002-CVE-2023-51714-qtbase-5.15.diff + patches/CVE-2024-25580-qtbase-5.15.diff + patches/CVE-2024-39936-qtbase-5.15.patch + patches/winmain_pro.patch #Moves qtmain to manual-link patches/windows_prf.patch #fixes the qtmain dependency due to the above move patches/qt_app.patch #Moves the target location of qt5 host apps to always install into the host dir. patches/gui_configure.patch #Patches the gui configure.json to break freetype/fontconfig autodetection because it does not include its dependencies. - patches/icu.patch #Help configure find static icu builds in vcpkg on windows patches/xlib.patch #Patches Xlib check to actually use Pkgconfig instead of makeSpec only patches/egl.patch #Fix egl detection logic. - patches/zstdd.patch #Fix detection of zstd in debug builds + patches/qtbug_96392.patch #Backport fix for QTBUG-96392 patches/mysql_plugin_include.patch #Fix include path of mysql plugin patches/mysql-configure.patch #Fix mysql project patches/cocoa.patch #Fix missing include on macOS Monterrey, https://code.qt.io/cgit/qt/qtbase.git/commit/src/plugins/platforms/cocoa?id=dece6f5840463ae2ddf927d65eb1b3680e34a547 + patches/xcode-15.patch #From https://codereview.qt-project.org/c/qt/qtbase/+/503172 + patches/patch-qtbase-memory_resource.diff # From https://bugreports.qt.io/browse/QTBUG-114316 #patches/static_opengl.patch #Use this patch if you really want to statically link angle on windows (e.g. using -opengl es2 and -static). #Be carefull since it requires definining _GDI32_ for all dependent projects due to redefinition errors in the #the windows supplied gl.h header and the angle gl.h otherwise. - #CMake fixes - ${PATCHES} - patches/Qt5GuiConfigExtras.patch # Patches the library search behavior for EGL since angle is not build with Qt - patches/limits_include.patch # Add missing includes to build with gcc 11 + # CMake fixes + patches/Qt5BasicConfig.patch + patches/Qt5PluginTarget.patch + patches/create_cmake.patch + patches/Qt5GuiConfigExtras.patch # Patches the library search behavior for EGL since angle is not build with Qt + patches/fix_angle.patch # Failed to create OpenGL context for format QSurfaceFormat ... + patches/mingw9.patch # Fix compile with MinGW-W64 9.0.0: Redefinition of 'struct _FILE_ID_INFO' + patches/XKB_KEY_dead_lowline.patch # https://bugreports.qt.io/browse/QTBUG-117950 + + patches/qmake-arm64.patch # Fix by Oliver Wolff to support ARM64 hosts on Windows ) # Remove vendored dependencies to ensure they are not picked up by the build @@ -102,9 +91,6 @@ endforeach() ######################### ## Setup Configure options -# This fixes issues on machines with default codepages that are not ASCII compatible, such as some CJK encodings -set(ENV{_CL_} "/utf-8") - set(CORE_OPTIONS -confirm-license -opensource @@ -113,7 +99,8 @@ set(CORE_OPTIONS #-combined-angle-lib # ENV ANGLE_DIR to external angle source dir. (Will always be compiled with Qt) #-optimized-tools - #-force-debug-info + -force-debug-info + -no-separate-debug-info -verbose ) @@ -127,14 +114,19 @@ list(APPEND CORE_OPTIONS -system-doubleconversion -system-sqlite -system-harfbuzz - -icu - -no-vulkan -no-angle # Qt does not need to build angle. VCPKG will build angle! -no-glib + -openssl-linked + -no-feature-gssapi ) -if(QT_OPENSSL_LINK) - list(APPEND CORE_OPTIONS -openssl-linked) +if(VCPKG_TARGET_IS_LINUX) + # Accessibility uses at-spi2-core which links dbus, + # so we link to ensure to use the same dbus library. + list(APPEND CORE_OPTIONS -dbus-linked) +else() + # Enable Qt DBus without linking to it. + list(APPEND CORE_OPTIONS -dbus-runtime) endif() if(WITH_PGSQL_PLUGIN) @@ -190,8 +182,6 @@ find_library(BROTLI_DEC_DEBUG NAMES brotlidec brotlidec-static brotlidecd brotli find_library(ICUUC_RELEASE NAMES icuuc libicuuc PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) find_library(ICUUC_DEBUG NAMES icuucd libicuucd icuuc libicuuc PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) -find_library(ICUTU_RELEASE NAMES icutu libicutu PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) -find_library(ICUTU_DEBUG NAMES icutud libicutud icutu libicutu PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) # Was installed in WSL but not on CI machine # find_library(ICULX_RELEASE NAMES iculx libiculx PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) @@ -203,11 +193,11 @@ find_library(ICUIN_RELEASE NAMES icui18n libicui18n icuin PATHS "${CURRENT_INSTA find_library(ICUIN_DEBUG NAMES icui18nd libicui18nd icui18n libicui18n icuin icuind PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) find_library(ICUDATA_RELEASE NAMES icudata libicudata icudt PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) find_library(ICUDATA_DEBUG NAMES icudatad libicudatad icudata libicudata icudtd PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) -set(ICU_RELEASE "${ICUIN_RELEASE} ${ICUTU_RELEASE} ${ICULX_RELEASE} ${ICUUC_RELEASE} ${ICUIO_RELEASE} ${ICUDATA_RELEASE}") -set(ICU_DEBUG "${ICUIN_DEBUG} ${ICUTU_DEBUG} ${ICULX_DEBUG} ${ICUUC_DEBUG} ${ICUIO_DEBUG} ${ICUDATA_DEBUG}") +set(ICU_RELEASE "${ICUIN_RELEASE} ${ICULX_RELEASE} ${ICUUC_RELEASE} ${ICUIO_RELEASE} ${ICUDATA_RELEASE}") +set(ICU_DEBUG "${ICUIN_DEBUG} ${ICULX_DEBUG} ${ICUUC_DEBUG} ${ICUIO_DEBUG} ${ICUDATA_DEBUG}") if(VCPKG_TARGET_IS_WINDOWS) - set(ICU_RELEASE "${ICU_RELEASE} Advapi32.lib") - set(ICU_DEBUG "${ICU_DEBUG} Advapi32.lib" ) + set(ICU_RELEASE "${ICU_RELEASE} -ladvapi32") + set(ICU_DEBUG "${ICU_DEBUG} -ladvapi32" ) endif() find_library(FONTCONFIG_RELEASE NAMES fontconfig PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) @@ -216,8 +206,8 @@ find_library(EXPAT_RELEASE NAMES expat PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_D find_library(EXPAT_DEBUG NAMES expat PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) #Dependent libraries -find_library(ZSTD_RELEASE NAMES zstd zstd_static PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) -find_library(ZSTD_DEBUG NAMES zstdd zstd_staticd PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) +find_library(ZSTD_RELEASE NAMES zstd PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) +find_library(ZSTD_DEBUG NAMES zstd PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) find_library(BZ2_RELEASE bz2 PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) find_library(BZ2_DEBUG bz2 bz2d PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) find_library(SSL_RELEASE ssl ssleay32 PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) @@ -237,10 +227,8 @@ set(RELEASE_OPTIONS "LIBPNG_LIBS=${LIBPNG_RELEASE} ${ZLIB_RELEASE}" "PCRE2_LIBS=${PCRE2_RELEASE}" "FREETYPE_LIBS=${FREETYPE_RELEASE_ALL}" - "ICU_LIBS=${ICU_RELEASE}" "QMAKE_LIBS_PRIVATE+=${BZ2_RELEASE}" - "QMAKE_LIBS_PRIVATE+=${LIBPNG_RELEASE}" - "QMAKE_LIBS_PRIVATE+=${ICU_RELEASE}" + "QMAKE_LIBS_PRIVATE+=${LIBPNG_RELEASE} ${ZLIB_RELEASE}" "QMAKE_LIBS_PRIVATE+=${ZSTD_RELEASE}" ) set(DEBUG_OPTIONS @@ -249,13 +237,31 @@ set(DEBUG_OPTIONS "LIBPNG_LIBS=${LIBPNG_DEBUG} ${ZLIB_DEBUG}" "PCRE2_LIBS=${PCRE2_DEBUG}" "FREETYPE_LIBS=${FREETYPE_DEBUG_ALL}" - "ICU_LIBS=${ICU_DEBUG}" "QMAKE_LIBS_PRIVATE+=${BZ2_DEBUG}" - "QMAKE_LIBS_PRIVATE+=${LIBPNG_DEBUG}" - "QMAKE_LIBS_PRIVATE+=${ICU_DEBUG}" + "QMAKE_LIBS_PRIVATE+=${LIBPNG_DEBUG} ${ZLIB_DEBUG}" "QMAKE_LIBS_PRIVATE+=${ZSTD_DEBUG}" ) +if("icu" IN_LIST FEATURES) + list(APPEND CORE_OPTIONS -icu) + + # This if/else corresponds to icu setup in src/corelib/configure.json. + if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL "static") + list(APPEND CORE_OPTIONS + "ICU_LIBS_RELEASE=${ICU_RELEASE}" + "ICU_LIBS_DEBUG=${ICU_DEBUG}" + ) + else() + list(APPEND RELEASE_OPTIONS "ICU_LIBS=${ICU_RELEASE}") + list(APPEND DEBUG_OPTIONS "ICU_LIBS=${ICU_DEBUG}") + endif() + + list(APPEND RELEASE_OPTIONS "QMAKE_LIBS_PRIVATE+=${ICU_RELEASE}") + list(APPEND DEBUG_OPTIONS "QMAKE_LIBS_PRIVATE+=${ICU_DEBUG}") +else() + list(APPEND CORE_OPTIONS -no-icu) +endif() + if(VCPKG_TARGET_IS_WINDOWS) if(VCPKG_TARGET_IS_UWP) list(APPEND CORE_OPTIONS -appstore-compliant) @@ -265,31 +271,24 @@ if(VCPKG_TARGET_IS_WINDOWS) else() list(APPEND CORE_OPTIONS -opengl dynamic) # other possible option without moving angle dlls: "-opengl desktop". "-opengel es2" only works with commented patch endif() + set(ADDITIONAL_WINDOWS_LIBS "-lws2_32 -lsecur32 -ladvapi32 -lshell32 -lcrypt32 -luser32 -lgdi32") list(APPEND RELEASE_OPTIONS "SQLITE_LIBS=${SQLITE_RELEASE}" "HARFBUZZ_LIBS=${harfbuzz_LIBRARIES_RELEASE}" - "OPENSSL_LIBS=${SSL_RELEASE} ${EAY_RELEASE} ws2_32.lib secur32.lib advapi32.lib shell32.lib crypt32.lib user32.lib gdi32.lib" + "OPENSSL_LIBS=${SSL_RELEASE} ${EAY_RELEASE} ${ADDITIONAL_WINDOWS_LIBS}" ) list(APPEND DEBUG_OPTIONS "SQLITE_LIBS=${SQLITE_DEBUG}" "HARFBUZZ_LIBS=${harfbuzz_LIBRARIES_DEBUG}" - "OPENSSL_LIBS=${SSL_DEBUG} ${EAY_DEBUG} ws2_32.lib secur32.lib advapi32.lib shell32.lib crypt32.lib user32.lib gdi32.lib" + "OPENSSL_LIBS=${SSL_DEBUG} ${EAY_DEBUG} ${ADDITIONAL_WINDOWS_LIBS}" ) if(WITH_PGSQL_PLUGIN) - list(APPEND RELEASE_OPTIONS "PSQL_LIBS=${PSQL_RELEASE} ${PSQL_PORT_RELEASE} ${PSQL_COMMON_RELEASE} ${SSL_RELEASE} ${EAY_RELEASE} ws2_32.lib secur32.lib advapi32.lib shell32.lib crypt32.lib user32.lib gdi32.lib") - list(APPEND DEBUG_OPTIONS "PSQL_LIBS=${PSQL_DEBUG} ${PSQL_PORT_DEBUG} ${PSQL_COMMON_DEBUG} ${SSL_DEBUG} ${EAY_DEBUG} ws2_32.lib secur32.lib advapi32.lib shell32.lib crypt32.lib user32.lib gdi32.lib") + list(APPEND RELEASE_OPTIONS "PSQL_LIBS=${PSQL_RELEASE} ${PSQL_PORT_RELEASE} ${PSQL_COMMON_RELEASE} ${SSL_RELEASE} ${EAY_RELEASE} ${ADDITIONAL_WINDOWS_LIBS} -lwldap32") + list(APPEND DEBUG_OPTIONS "PSQL_LIBS=${PSQL_DEBUG} ${PSQL_PORT_DEBUG} ${PSQL_COMMON_DEBUG} ${SSL_DEBUG} ${EAY_DEBUG} ${ADDITIONAL_WINDOWS_LIBS} -lwldap32") endif() - if (WITH_MYSQL_PLUGIN) - list(APPEND RELEASE_OPTIONS "MYSQL_LIBS=${MYSQL_RELEASE}") - list(APPEND DEBUG_OPTIONS "MYSQL_LIBS=${MYSQL_DEBUG}") - endif(WITH_MYSQL_PLUGIN) - elseif(VCPKG_TARGET_IS_LINUX) list(APPEND CORE_OPTIONS -fontconfig -xcb-xlib -xcb -linuxfb) - if (NOT EXISTS "/usr/include/GL/glu.h") - message(FATAL_ERROR "qt5 requires libgl1-mesa-dev and libglu1-mesa-dev, please use your distribution's package manager to install them.\nExample: \"apt-get install libgl1-mesa-dev libglu1-mesa-dev\"") - endif() list(APPEND RELEASE_OPTIONS "SQLITE_LIBS=${SQLITE_RELEASE} -ldl -lpthread" "HARFBUZZ_LIBS=${harfbuzz_LIBRARIES_RELEASE}" @@ -307,6 +306,14 @@ elseif(VCPKG_TARGET_IS_LINUX) list(APPEND DEBUG_OPTIONS "PSQL_LIBS=${PSQL_DEBUG} ${PSQL_PORT_DEBUG} ${PSQL_TYPES_DEBUG} ${PSQL_COMMON_DEBUG} ${SSL_DEBUG} ${EAY_DEBUG} -ldl -lpthread") endif() elseif(VCPKG_TARGET_IS_OSX) + if (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + # Avoid frameworks for vcpkg + list(APPEND CORE_OPTIONS -no-framework) + # Such that Qt executables like moc find their libs. The default path is ../Frameworks + list(APPEND DEBUG_OPTIONS -R ${CURRENT_INSTALLED_DIR}/debug/lib) + list(APPEND RELEASE_OPTIONS -R ${CURRENT_INSTALLED_DIR}/lib) + endif() + list(APPEND CORE_OPTIONS -fontconfig) if("${VCPKG_TARGET_ARCHITECTURE}" MATCHES "arm64") FILE(READ "${SOURCE_PATH}/mkspecs/common/macx.conf" _tmp_contents) @@ -317,23 +324,49 @@ elseif(VCPKG_TARGET_IS_OSX) set(ENV{QMAKE_MACOSX_DEPLOYMENT_TARGET} ${VCPKG_OSX_DEPLOYMENT_TARGET}) else() execute_process(COMMAND xcrun --show-sdk-version - OUTPUT_FILE OSX_SDK_VER.txt - WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}) - FILE(STRINGS "${CURRENT_BUILDTREES_DIR}/OSX_SDK_VER.txt" VCPKG_OSX_DEPLOYMENT_TARGET REGEX "^[0-9][0-9]\.[0-9][0-9]*") - message(STATUS "Detected OSX SDK Version: ${VCPKG_OSX_DEPLOYMENT_TARGET}") - string(REGEX MATCH "^[0-9][0-9]\.[0-9][0-9]*" VCPKG_OSX_DEPLOYMENT_TARGET ${VCPKG_OSX_DEPLOYMENT_TARGET}) - message(STATUS "Major.Minor OSX SDK Version: ${VCPKG_OSX_DEPLOYMENT_TARGET}") - set(ENV{QMAKE_MACOSX_DEPLOYMENT_TARGET} ${VCPKG_OSX_DEPLOYMENT_TARGET}) - if(${VCPKG_OSX_DEPLOYMENT_TARGET} GREATER "10.15") # Max Version supported by QT. This version is defined in mkspecs/common/macx.conf as QT_MAC_SDK_VERSION_MAX - message(STATUS "Qt ${QT_MAJOR_MINOR_VER}.${QT_PATCH_VER} only support OSX_DEPLOYMENT_TARGET up to 10.15") - set(VCPKG_OSX_DEPLOYMENT_TARGET "10.15") + OUTPUT_VARIABLE OSX_SDK_VERSION + OUTPUT_STRIP_TRAILING_WHITESPACE) + message(STATUS "Detected OSX SDK Version: ${OSX_SDK_VERSION}") + string(REGEX MATCH "^([0-9]+)\\.([0-9]+)" OSX_SDK_VERSION "${OSX_SDK_VERSION}") + message(STATUS "Major.Minor OSX SDK Version: ${OSX_SDK_VERSION}") + + execute_process(COMMAND sw_vers -productVersion + OUTPUT_VARIABLE VCPKG_OSX_DEPLOYMENT_TARGET + OUTPUT_STRIP_TRAILING_WHITESPACE) + message(STATUS "Detected OSX system Version: ${VCPKG_OSX_DEPLOYMENT_TARGET}") + string(REGEX MATCH "^([0-9]+)\\.([0-9]+)" VCPKG_OSX_DEPLOYMENT_TARGET "${VCPKG_OSX_DEPLOYMENT_TARGET}") + message(STATUS "Major.Minor OSX system Version: ${VCPKG_OSX_DEPLOYMENT_TARGET}") + + # Parse mkspecs/common/macx.conf + file(READ "${SOURCE_PATH}/mkspecs/common/macx.conf" QT_MK_MAC_CONTENT) + string(REGEX MATCHALL "QT_MAC_SDK_VERSION_MIN[ \t]*=[ \t]*(([0-9]+)(\\.([0-9]+))*)" KEY_VALUE "${QT_MK_MAC_CONTENT}") + if(${CMAKE_MATCH_COUNT} LESS 2) + message(FATAL_ERROR "Error parse QT_MAC_SDK_VERSION_MIN") + endif() + set(QT_MAC_SDK_VERSION_MIN "${CMAKE_MATCH_1}") + string(REGEX MATCHALL "QT_MAC_SDK_VERSION_MAX[ \t]*=[ \t]*(([0-9]+)(\\.([0-9]+))*)" KEY_VALUE "${QT_MK_MAC_CONTENT}") + if(${CMAKE_MATCH_COUNT} LESS 2) + message(FATAL_ERROR "Error parse QT_MAC_SDK_VERSION_MAX") + endif() + set(QT_MAC_SDK_VERSION_MAX "${CMAKE_MATCH_1}") + + message(STATUS "QT_MAC_SDK_VERSION_MIN: ${QT_MAC_SDK_VERSION_MIN}") + message(STATUS "QT_MAC_SDK_VERSION_MAX: ${QT_MAC_SDK_VERSION_MAX}") + + # clamp(VCPKG_OSX_DEPLOYMENT_TARGET, QT_MAC_SDK_VERSION_MIN, QT_MAC_SDK_VERSION_MAX) + if("${VCPKG_OSX_DEPLOYMENT_TARGET}" VERSION_GREATER "${QT_MAC_SDK_VERSION_MAX}") + set(VCPKG_OSX_DEPLOYMENT_TARGET "${QT_MAC_SDK_VERSION_MAX}") + endif() + if("${VCPKG_OSX_DEPLOYMENT_TARGET}" VERSION_LESS "${QT_MAC_SDK_VERSION_MIN}") + set(VCPKG_OSX_DEPLOYMENT_TARGET "${QT_MAC_SDK_VERSION_MIN}") endif() + set(ENV{QMAKE_MACOSX_DEPLOYMENT_TARGET} ${VCPKG_OSX_DEPLOYMENT_TARGET}) - message(STATUS "Enviromnent OSX SDK Version: $ENV{QMAKE_MACOSX_DEPLOYMENT_TARGET}") - FILE(READ "${SOURCE_PATH}/mkspecs/common/macx.conf" _tmp_contents) - string(REPLACE "QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.13" "QMAKE_MACOSX_DEPLOYMENT_TARGET = ${VCPKG_OSX_DEPLOYMENT_TARGET}" _tmp_contents ${_tmp_contents}) - FILE(WRITE "${SOURCE_PATH}/mkspecs/common/macx.conf" ${_tmp_contents}) endif() + message(STATUS "Enviromnent OSX SDK Version: $ENV{QMAKE_MACOSX_DEPLOYMENT_TARGET}") + file(READ "${SOURCE_PATH}/mkspecs/common/macx.conf" _tmp_contents) + string(REPLACE "QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.13" "QMAKE_MACOSX_DEPLOYMENT_TARGET = ${VCPKG_OSX_DEPLOYMENT_TARGET}" _tmp_contents ${_tmp_contents}) + file(WRITE "${SOURCE_PATH}/mkspecs/common/macx.conf" ${_tmp_contents}) #list(APPEND QT_PLATFORM_CONFIGURE_OPTIONS HOST_PLATFORM ${TARGET_MKSPEC}) list(APPEND RELEASE_OPTIONS "SQLITE_LIBS=${SQLITE_RELEASE} -ldl -lpthread" @@ -354,6 +387,11 @@ elseif(VCPKG_TARGET_IS_OSX) endif() endif() +if (WITH_MYSQL_PLUGIN) + list(APPEND RELEASE_OPTIONS "MYSQL_LIBS=${MYSQL_RELEASE} ${SSL_RELEASE} ${EAY_RELEASE} ${ZLIB_RELEASE} ${ADDITIONAL_WINDOWS_LIBS}") + list(APPEND DEBUG_OPTIONS "MYSQL_LIBS=${MYSQL_DEBUG} ${SSL_DEBUG} ${EAY_DEBUG} ${ZLIB_DEBUG} ${ADDITIONAL_WINDOWS_LIBS}") +endif(WITH_MYSQL_PLUGIN) + ## Do not build tests or examples list(APPEND CORE_OPTIONS -nomake examples @@ -487,14 +525,18 @@ if(VCPKG_TARGET_IS_LINUX) file(WRITE "${_file}" "${_contents}") endif() -if(QT_BUILD_LATEST) - file(COPY - ${CMAKE_CURRENT_LIST_DIR}/cmake/qt_port_hashes_latest.cmake - DESTINATION - ${CURRENT_PACKAGES_DIR}/share/qt5 - ) +vcpkg_fixup_pkgconfig() + +if(VCPKG_TARGET_IS_OSX) + file(GLOB _debug_files "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/*_debug.pc") + foreach(_file ${_debug_files}) + string(REGEX REPLACE "_debug\\.pc$" ".pc" _new_filename "${_file}") + string(REGEX MATCH "(Qt5[a-zA-Z]+)_debug\\.pc$" _not_used "${_file}") + set(_name ${CMAKE_MATCH_1}) + file(STRINGS "${_file}" _version REGEX "^(Version):.+$") + file(WRITE "${_new_filename}" "Name: ${_name}\nDescription: Forwarding to the _debug version by vcpkg\n${_version}\nRequires: ${_name}_debug\n") + endforeach() endif() - # #Code to get generated CMake files from CI # file(RENAME "${CURRENT_PACKAGES_DIR}/share/cmake/Qt5Core/Qt5CoreConfig.cmake" "${CURRENT_BUILDTREES_DIR}/Qt5CoreConfig.cmake.log") # file(GLOB_RECURSE CMAKE_GUI_FILES "${CURRENT_PACKAGES_DIR}/share/cmake/Qt5Gui/*.cmake" ) diff --git a/ports/qt5-base/qtdeploy.ps1 b/ports/qt5-base/qtdeploy.ps1 index 4973cfc3879a29..6b27d44d7171d7 100644 --- a/ports/qt5-base/qtdeploy.ps1 +++ b/ports/qt5-base/qtdeploy.ps1 @@ -44,15 +44,15 @@ function deployPluginsIfQt([string]$targetBinaryDir, [string]$QtPluginsDir, [str deployPlugins "styles" } elseif ($targetBinaryName -match "Qt5Networkd?.dll") { deployPlugins "bearer" - if (Test-Path "$binDir\libcrypto-1_1-x64.dll") + if (Test-Path "$binDir\libcrypto-*-x64.dll") { - deployBinary "$targetBinaryDir" "$binDir" "libcrypto-1_1-x64.dll" - deployBinary "$targetBinaryDir" "$binDir" "libssl-1_1-x64.dll" + deployBinary "$targetBinaryDir" "$binDir" "libcrypto-*-x64.dll" + deployBinary "$targetBinaryDir" "$binDir" "libssl-*-x64.dll" } - if (Test-Path "$binDir\libcrypto-1_1.dll") + if (Test-Path "$binDir\libcrypto-*.dll") { - deployBinary "$targetBinaryDir" "$binDir" "libcrypto-1_1.dll" - deployBinary "$targetBinaryDir" "$binDir" "libssl-1_1.dll" + deployBinary "$targetBinaryDir" "$binDir" "libcrypto-*.dll" + deployBinary "$targetBinaryDir" "$binDir" "libssl-*.dll" } } elseif ($targetBinaryName -match "Qt5Sqld?.dll") { deployPlugins "sqldrivers" @@ -73,6 +73,15 @@ function deployPluginsIfQt([string]$targetBinaryDir, [string]$QtPluginsDir, [str throw "FAILED" } } + foreach ($a in @("Qt5Quick", "Qt5Quickd", "Qt5QmlModels", "Qt5QmlModelsd", "Qt5QuickControls2", "Qt5QuickControls2d", "Qt5QuickShapes", "Qt5QuickShapesd", "Qt5QuickTemplates2", "Qt5QuickTemplates2d", "Qt5QmlWorkerScript", "Qt5QmlWorkerScriptd", "Qt5QuickParticles", "Qt5QuickParticlesd", "Qt5QuickWidgets", "Qt5QuickWidgetsd")) + { + if (Test-Path "$binDir\$a.dll") + { + deployBinary "$targetBinaryDir" "$binDir" "$a.dll" + } + } + deployPlugins "scenegraph" + deployPlugins "qmltooling" } elseif ($targetBinaryName -match "Qt5Quickd?.dll") { foreach ($a in @("Qt5QuickControls2", "Qt5QuickControls2d", "Qt5QuickShapes", "Qt5QuickShapesd", "Qt5QuickTemplates2", "Qt5QuickTemplates2d", "Qt5QmlWorkerScript", "Qt5QmlWorkerScriptd", "Qt5QuickParticles", "Qt5QuickParticlesd", "Qt5QuickWidgets", "Qt5QuickWidgetsd")) { diff --git a/ports/qt5-base/vcpkg.json b/ports/qt5-base/vcpkg.json index 8c166a84fb5e6d..579c9d9657694e 100644 --- a/ports/qt5-base/vcpkg.json +++ b/ports/qt5-base/vcpkg.json @@ -1,13 +1,18 @@ { "name": "qt5-base", - "version-semver": "5.15.2", - "port-version": 14, - "description": "Qt5 Application Framework Base Module. Includes Core, GUI, Widgets, Networking, SQL, Concurrent and other essential qt components.", + "version": "5.15.15", + "port-version": 1, + "description": "Qt Base provides the basic non-GUI functionality required by all Qt applications.", "homepage": "https://www.qt.io/", + "license": null, "dependencies": [ { - "name": "angle", - "platform": "!windows" + "name": "at-spi2-core", + "platform": "linux" + }, + { + "name": "dbus", + "platform": "linux" }, "double-conversion", "egl-registry", @@ -17,20 +22,27 @@ }, "freetype", "harfbuzz", - { - "name": "icu", - "platform": "!uwp" - }, "libjpeg-turbo", "libpng", + { + "name": "opengl", + "platform": "!windows" + }, "openssl", - "pcre2", + { + "name": "pcre2", + "default-features": false + }, { "name": "qt5-base", "host": true, "default-features": false }, "sqlite3", + { + "name": "vcpkg-cmake-get-vars", + "host": true + }, { "name": "vcpkg-pkgconfig-get-modules", "host": true @@ -39,8 +51,17 @@ "zstd" ], "features": { + "icu": { + "description": "Enable ICU support", + "dependencies": [ + { + "name": "icu", + "platform": "!uwp" + } + ] + }, "latest": { - "description": "Build latest qt version (5.15.2) instead of LTS (latest and LTS are currently the same)" + "description": "(deprecated)" }, "mysqlplugin": { "description": "Build the sql plugin for connecting to mysql databases", diff --git a/ports/qt5-canvas3d/vcpkg.json b/ports/qt5-canvas3d/vcpkg.json index f26c201b8e2fcc..3a01931f25358c 100644 --- a/ports/qt5-canvas3d/vcpkg.json +++ b/ports/qt5-canvas3d/vcpkg.json @@ -1,8 +1,8 @@ { "name": "qt5-canvas3d", - "version-string": "0", - "port-version": 1, - "description": "Qt5 Canvas 3d Module;", + "version": "0", + "port-version": 3, + "description": "Qt Canvas3D offers a low level OpenGL-like API that enables you to execute 3D drawing commands from JavaScript.", "dependencies": [ { "name": "qt5-base", diff --git a/ports/qt5-charts/vcpkg.json b/ports/qt5-charts/vcpkg.json index 9d0a9b981e7684..cb00c92b6262e1 100644 --- a/ports/qt5-charts/vcpkg.json +++ b/ports/qt5-charts/vcpkg.json @@ -1,8 +1,8 @@ { "name": "qt5-charts", - "version-string": "5.15.2", - "port-version": 1, - "description": "Qt5 Charts Module - UI components for displaying charts, driven by static or dynamic data models", + "version": "5.15.15", + "description": "The Qt Charts module provides a set of easy to use chart components.", + "license": null, "dependencies": [ { "name": "qt5-base", diff --git a/ports/qt5-connectivity/vcpkg.json b/ports/qt5-connectivity/vcpkg.json index a887329794d839..d50908ffb9540c 100644 --- a/ports/qt5-connectivity/vcpkg.json +++ b/ports/qt5-connectivity/vcpkg.json @@ -1,8 +1,8 @@ { "name": "qt5-connectivity", - "version-string": "5.15.2", - "port-version": 2, - "description": "Qt5 Connectivity module - Provides access to Bluetooth and NFC hardware", + "version": "5.15.15", + "description": "The Qt Connectivity module provides access to Bluetooth and NFC hardware.", + "license": null, "dependencies": [ { "name": "qt5-base", diff --git a/ports/qt5-datavis3d/vcpkg.json b/ports/qt5-datavis3d/vcpkg.json index ddb155c33834b0..cadb356c5a0f9e 100644 --- a/ports/qt5-datavis3d/vcpkg.json +++ b/ports/qt5-datavis3d/vcpkg.json @@ -1,8 +1,8 @@ { "name": "qt5-datavis3d", - "version-string": "5.15.2", - "port-version": 1, - "description": "Qt5 Data Visualization 3d Module - UI Components for creating 3D data visualizations", + "version": "5.15.15", + "description": "The Qt Data Visualization module provides a way to visualize data in 3D as bar, scatter, and surface graphs.", + "license": null, "dependencies": [ { "name": "qt5-base", diff --git a/ports/qt5-declarative/limits_include.patch b/ports/qt5-declarative/limits_include.patch deleted file mode 100644 index b4580dd217bf18..00000000000000 --- a/ports/qt5-declarative/limits_include.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 2dfb893c130a9f9195805fcc81d7e5e242bc558d Mon Sep 17 00:00:00 2001 -From: Nicolas Fella -Date: Wed, 11 Aug 2021 17:03:06 +0200 -Subject: [PATCH] Add missing limits include - ---- - src/qmldebug/qqmlprofilerevent_p.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/qmldebug/qqmlprofilerevent_p.h b/src/qmldebug/qqmlprofilerevent_p.h -index a7e37d1964..01b2f58f16 100644 ---- a/src/qmldebug/qqmlprofilerevent_p.h -+++ b/src/qmldebug/qqmlprofilerevent_p.h -@@ -48,6 +48,7 @@ - #include - - #include -+#include - #include - - // --- -2.32.0 - diff --git a/ports/qt5-declarative/portfile.cmake b/ports/qt5-declarative/portfile.cmake index 8b4ab0e9abca44..7ab4aeb3578b24 100644 --- a/ports/qt5-declarative/portfile.cmake +++ b/ports/qt5-declarative/portfile.cmake @@ -1,2 +1,13 @@ -include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake) -qt_submodule_installation(PATCHES limits_include.patch) +include("${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake") + +if("d3d12" IN_LIST FEATURES) + list(APPEND CORE_OPTIONS -d3d12) +else() + list(APPEND CORE_OPTIONS -no-d3d12) +endif() + +qt_submodule_installation(OUT_SOURCE_PATH SOURCE_PATH BUILD_OPTIONS ${CORE_OPTIONS}) + +if(NOT QT_UPDATE_VERSION) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/qt5/QtQml/${QT_MAJOR_MINOR_VER}.${QT_PATCH_VER}/QtQml/private/qqmljsparser_p.h" "${SOURCE_PATH}" "") +endif() diff --git a/ports/qt5-declarative/vcpkg.json b/ports/qt5-declarative/vcpkg.json index 9ac0dead3cbb68..b81d164faddb1b 100644 --- a/ports/qt5-declarative/vcpkg.json +++ b/ports/qt5-declarative/vcpkg.json @@ -1,8 +1,8 @@ { "name": "qt5-declarative", - "version-string": "5.15.2", - "port-version": 2, - "description": "Qt5 Declarative (Quick 2) Module. Includes QtQuick, QtQuickParticles, QtQuickWidgets, QtQml, and QtPacketProtocol.", + "version": "5.15.15", + "description": "Qt Declarative (Quick 2)", + "license": null, "dependencies": [ { "name": "qt5-base", @@ -10,5 +10,26 @@ }, "qt5-imageformats", "qt5-svg" - ] + ], + "default-features": [ + "platform-default-features" + ], + "features": { + "d3d12": { + "description": "Provides a Direct3D 12 backend for the scenegraph.", + "supports": "windows & !mingw" + }, + "platform-default-features": { + "description": "Enable platform-dependent default features", + "dependencies": [ + { + "name": "qt5-declarative", + "features": [ + "d3d12" + ], + "platform": "windows & !mingw" + } + ] + } + } } diff --git a/ports/qt5-doc/portfile.cmake b/ports/qt5-doc/portfile.cmake index 4f6e6848e01854..d16187226e2170 100644 --- a/ports/qt5-doc/portfile.cmake +++ b/ports/qt5-doc/portfile.cmake @@ -1,7 +1,14 @@ set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) -if(VCPKG_TARGET_IS_WINDOWS) - set(VCPKG_POLICY_EMPTY_PACKAGE enabled) - message(STATUS "${PORT} will not build any artifacts on Windows!") +set(VCPKG_BUILD_TYPE release) + +include("${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake") +qt_submodule_installation() + +if(NOT QT_UPDATE_VERSION) + vcpkg_build_qmake(TARGETS docs SKIP_MAKEFILES BUILD_LOGNAME docs) + qt_fix_makefile_install("${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/") + vcpkg_build_qmake(TARGETS install_docs SKIP_MAKEFILES BUILD_LOGNAME install-docs) + if(NOT EXISTS "${CURRENT_PACKAGES_DIR}/share/qt5/doc/qtdoc.qch") + message(FATAL_ERROR "Failed to install qtdoc.qch.") + endif() endif() -include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake) -qt_submodule_installation() \ No newline at end of file diff --git a/ports/qt5-doc/vcpkg.json b/ports/qt5-doc/vcpkg.json index d311b5ada3a488..383a8cba80ccd7 100644 --- a/ports/qt5-doc/vcpkg.json +++ b/ports/qt5-doc/vcpkg.json @@ -1,9 +1,9 @@ { "name": "qt5-doc", - "version-string": "5.15.2", - "port-version": 1, - "description": "Qt5 doc Module;", - "supports": "linux", + "version": "5.15.15", + "description": "The Qt documentation.", + "license": null, + "supports": "native", "dependencies": [ { "name": "qt5-base", @@ -11,6 +11,12 @@ }, "qt5-declarative", "qt5-quickcontrols2", - "qt5-tools" + { + "name": "qt5-tools", + "default-features": false, + "features": [ + "qdoc" + ] + } ] } diff --git a/ports/qt5-gamepad/vcpkg.json b/ports/qt5-gamepad/vcpkg.json index 4bd3fb05f7507d..7fc0c9cb2c2b7c 100644 --- a/ports/qt5-gamepad/vcpkg.json +++ b/ports/qt5-gamepad/vcpkg.json @@ -1,8 +1,8 @@ { "name": "qt5-gamepad", - "version-string": "5.15.2", - "port-version": 1, - "description": "Qt5 Gamepad Module - Enables Qt applications to support the use of gamepad hardware", + "version": "5.15.15", + "description": "Qt Gamepad is an add-on library that enables Qt applications to support the use of gamepad hardware and in some cases remote control equipment.", + "license": null, "dependencies": [ { "name": "qt5-base", diff --git a/ports/qt5-graphicaleffects/vcpkg.json b/ports/qt5-graphicaleffects/vcpkg.json index 83055ba6e14dcf..0c9f19fb37eecb 100644 --- a/ports/qt5-graphicaleffects/vcpkg.json +++ b/ports/qt5-graphicaleffects/vcpkg.json @@ -1,8 +1,8 @@ { "name": "qt5-graphicaleffects", - "version-string": "5.15.2", - "port-version": 1, - "description": "Qt5 GraphicalEffects Module.", + "version": "5.15.15", + "description": "The Qt Graphical Effects module provides a set of QML types for adding visually impressive and configurable effects to user interfaces.", + "license": null, "dependencies": [ { "name": "qt5-base", diff --git a/ports/qt5-imageformats/portfile.cmake b/ports/qt5-imageformats/portfile.cmake index abd88a60c27e1d..fd97931e4b5eb7 100644 --- a/ports/qt5-imageformats/portfile.cmake +++ b/ports/qt5-imageformats/portfile.cmake @@ -1,54 +1,49 @@ set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) -include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake) +include("${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake") list(APPEND CORE_OPTIONS - -system-tiff - -system-webp - -jasper -no-mng # must be explicitly disabled to not automatically pick up mng - -verbose) - -find_library(TIFF_RELEASE NAMES tiff PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) # Depends on lzma -find_library(TIFF_DEBUG NAMES tiffd PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) -find_library(JPEG_RELEASE NAMES jpeg jpeg-static PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) -find_library(JPEG_DEBUG NAMES jpeg jpeg-static jpegd jpeg-staticd PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) -find_library(ZLIB_RELEASE NAMES z zlib PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) -find_library(ZLIB_DEBUG NAMES z zlib zd zlibd PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) - -find_library(JASPER_RELEASE NAMES jasper PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) -find_library(JASPER_DEBUG NAMES jasperd jasper libjasperd libjasper PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) -if(NOT VCPKG_TARGET_IS_OSX) - find_library(FREEGLUT_RELEASE NAMES freeglut glut PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) - find_library(FREEGLUT_DEBUG NAMES freeglutd freeglut glutd glut PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) + -verbose +) + +if("jasper" IN_LIST FEATURES) + list(APPEND CORE_OPTIONS -jasper) + + x_vcpkg_pkgconfig_get_modules(PREFIX jasper MODULES jasper LIBS) + + file(READ "${CURRENT_INSTALLED_DIR}/share/jasper/vcpkg_abi_info.txt" jasper_abi_info) + if(jasper_abi_info MATCHES "(^|;)opengl(;|$)") + find_library(FREEGLUT_RELEASE NAMES freeglut glut PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) + find_library(FREEGLUT_DEBUG NAMES freeglutd freeglut glutd glut PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) + endif() + + list(APPEND OPT_REL "JASPER_LIBS=${jasper_LIBS_RELEASE} ${FREEGLUT_RELEASE}") + list(APPEND OPT_DBG "JASPER_LIBS=${jasper_LIBS_DEBUG} ${FREEGLUT_DEBUG}") +else() + list(APPEND CORE_OPTIONS -no-jasper) endif() -find_library(WEBP_RELEASE NAMES webp PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) -find_library(WEBP_DEBUG NAMES webpd webp PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) -find_library(WEBPDEMUX_RELEASE NAMES webpdemux PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) -find_library(WEBPDEMUX_DEBUG NAMES webpdemuxd webpdemux PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) -find_library(WEBPMUX_RELEASE NAMES webpmux libwebpmux PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) -find_library(WEBPMUX_DEBUG NAMES webpmuxd webpmux libwebpmuxd libwebpmux PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) -find_library(WEBPDECODER_RELEASE NAMES webpdecoder libwebpdecoder PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) -find_library(WEBPDECODER_DEBUG NAMES webpdecoder libwebpdecoder webpdecoderd libwebpdecoderd PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) -# Depends on opengl in default build but might depend on giflib, libjpeg-turbo, zlib, libpng, tiff, freeglut (!osx), sdl1 (windows) -# which would require extra libraries to be linked e.g. giflib freeglut sdl1 other ones are already linked - -#Dependent libraries -find_library(LZMA_RELEASE lzma PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) -find_library(LZMA_DEBUG lzmad lzma PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) - -if(NOT VCPKG_TARGET_IS_WINDOWS) - string(APPEND WEBP_RELEASE " -pthread") - string(APPEND WEBP_DEBUG " -pthread") +if("tiff" IN_LIST FEATURES) + list(APPEND CORE_OPTIONS -system-tiff) + + x_vcpkg_pkgconfig_get_modules(PREFIX tiff MODULES libtiff-4 LIBS) + list(APPEND OPT_REL "TIFF_LIBS=${tiff_LIBS_RELEASE}") + list(APPEND OPT_DBG "TIFF_LIBS=${tiff_LIBS_DEBUG}") +else() + list(APPEND CORE_OPTIONS -no-tiff) endif() -set(OPT_REL "TIFF_LIBS=${TIFF_RELEASE} ${LZMA_RELEASE} ${JPEG_RELEASE} ${ZLIB_RELEASE}" - "WEBP_LIBS=${WEBPDECODER_RELEASE} ${WEBPDEMUX_RELEASE} ${WEBPMUX_RELEASE} ${WEBP_RELEASE}" - "JASPER_LIBS=${JASPER_RELEASE} ${FREEGLUT_RELEASE} ${JPEG_RELEASE} ${ZLIB_RELEASE}") # This will still fail if LIBWEBP is installed with all available features due to the missing additional dependencies -set(OPT_DBG "TIFF_LIBS=${TIFF_DEBUG} ${LZMA_DEBUG} ${JPEG_DEBUG} ${ZLIB_DEBUG}" - "WEBP_LIBS=${WEBPDECODER_DEBUG} ${WEBPDEMUX_DEBUG} ${WEBPMUX_DEBUG} ${WEBP_DEBUG}" - "JASPER_LIBS=${JASPER_DEBUG} ${FREEGLUT_DEBUG} ${JPEG_DEBUG} ${ZLIB_DEBUG}") -list(APPEND CORE_OPTIONS "WEBP_INCDIR=${CURRENT_INSTALLED_DIR}/include") # Requires libwebp[all] +if("webp" IN_LIST FEATURES) + list(APPEND CORE_OPTIONS -system-webp) + + x_vcpkg_pkgconfig_get_modules(PREFIX webp MODULES libwebp libwebpdemux libwebpmux libwebpdecoder LIBS) + list(APPEND CORE_OPTIONS "WEBP_INCDIR=${CURRENT_INSTALLED_DIR}/include") # Requires libwebp[all] + # This will still fail if LIBWEBP is installed with all available features due to the missing additional dependencies + list(APPEND OPT_REL "WEBP_LIBS=${webp_LIBS_RELEASE}") + list(APPEND OPT_DBG "WEBP_LIBS=${webp_LIBS_DEBUG}") +else() + list(APPEND CORE_OPTIONS -no-webp) +endif() -qt_submodule_installation(BUILD_OPTIONS ${CORE_OPTIONS} BUILD_OPTIONS_RELEASE ${OPT_REL} BUILD_OPTIONS_DEBUG ${OPT_DBG}) \ No newline at end of file +qt_submodule_installation(BUILD_OPTIONS ${CORE_OPTIONS} BUILD_OPTIONS_RELEASE ${OPT_REL} BUILD_OPTIONS_DEBUG ${OPT_DBG}) diff --git a/ports/qt5-imageformats/vcpkg.json b/ports/qt5-imageformats/vcpkg.json index 9c4d0e0f4e1370..027f8bb96b2e6e 100644 --- a/ports/qt5-imageformats/vcpkg.json +++ b/ports/qt5-imageformats/vcpkg.json @@ -1,15 +1,54 @@ { "name": "qt5-imageformats", - "version-string": "5.15.2", - "port-version": 1, - "description": "Qt5 Image Formats Module - Plugins for additional image formats: TIFF, MNG, TGA, WBMP", + "version": "5.15.15", + "description": "The Qt Image Formats add-on module provides optional support for other image file formats.", + "license": null, "dependencies": [ - "jasper", - "libwebp", { "name": "qt5-base", "default-features": false + } + ], + "default-features": [ + "tiff", + "webp" + ], + "features": { + "jasper": { + "description": "Enable JPEG-2000 support using the JasPer library", + "dependencies": [ + { + "name": "jasper", + "default-features": false + }, + { + "name": "vcpkg-pkgconfig-get-modules", + "host": true + } + ] }, - "tiff" - ] + "tiff": { + "description": "Enable TIFF support", + "dependencies": [ + { + "name": "tiff", + "default-features": false + }, + { + "name": "vcpkg-pkgconfig-get-modules", + "host": true + } + ] + }, + "webp": { + "description": "Enable WEBP support", + "dependencies": [ + "libwebp", + { + "name": "vcpkg-pkgconfig-get-modules", + "host": true + } + ] + } + } } diff --git a/ports/qt5-location/disable-enum-warning.patch b/ports/qt5-location/disable-enum-warning.patch new file mode 100644 index 00000000000000..198e084a04dd52 --- /dev/null +++ b/ports/qt5-location/disable-enum-warning.patch @@ -0,0 +1,14 @@ +diff --git a/src/3rdparty/mapbox-gl-native/mapbox-gl-native.pro b/src/3rdparty/mapbox-gl-native/mapbox-gl-native.pro +index ed974db..f17d45a 100644 +--- a/src/3rdparty/mapbox-gl-native/mapbox-gl-native.pro ++++ b/src/3rdparty/mapbox-gl-native/mapbox-gl-native.pro +@@ -34,6 +34,9 @@ android|gcc { + } + + darwin { ++ QMAKE_CXXFLAGS += \ ++ -Wno-enum-constexpr-conversion ++ + LIBS += \ + -framework Foundation + } diff --git a/ports/qt5-location/missing-include.patch b/ports/qt5-location/missing-include.patch new file mode 100644 index 00000000000000..8d2b5b33c50116 --- /dev/null +++ b/ports/qt5-location/missing-include.patch @@ -0,0 +1,12 @@ +diff --git a/src/3rdparty/mapbox-gl-native/include/mbgl/util/unique_any.hpp b/src/3rdparty/mapbox-gl-native/include/mbgl/util/unique_any.hpp +index c7dc8b3..0fb25b8 100644 +--- a/src/3rdparty/mapbox-gl-native/include/mbgl/util/unique_any.hpp ++++ b/src/3rdparty/mapbox-gl-native/include/mbgl/util/unique_any.hpp +@@ -3,6 +3,7 @@ + #include + #include + #include ++#include + namespace mbgl { + namespace util { + diff --git a/ports/qt5-location/portfile.cmake b/ports/qt5-location/portfile.cmake index c8d591b2da5e63..5b446c6b5025ff 100644 --- a/ports/qt5-location/portfile.cmake +++ b/ports/qt5-location/portfile.cmake @@ -1,3 +1,3 @@ message(STATUS "${PORT} has a spurious failure in which it is unable to create a parent directory! Just retry.") include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake) -qt_submodule_installation() +qt_submodule_installation(PATCHES missing-include.patch disable-enum-warning.patch) diff --git a/ports/qt5-location/vcpkg.json b/ports/qt5-location/vcpkg.json index 8abfa73c8aff13..33c9b00cfedb98 100644 --- a/ports/qt5-location/vcpkg.json +++ b/ports/qt5-location/vcpkg.json @@ -1,8 +1,8 @@ { "name": "qt5-location", - "version-string": "5.15.2", - "port-version": 1, - "description": "Qt5 Location Module - Displays map, navigation, and place content in a QML application.", + "version": "5.15.15", + "description": "The Qt Location API helps you create viable mapping solutions using the data available from some of the popular location services.", + "license": null, "dependencies": [ { "name": "qt5-base", diff --git a/ports/qt5-macextras/portfile.cmake b/ports/qt5-macextras/portfile.cmake index cc2391d870c954..d11e2a0f6eb54c 100644 --- a/ports/qt5-macextras/portfile.cmake +++ b/ports/qt5-macextras/portfile.cmake @@ -1,5 +1,2 @@ -include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake) -if (NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND NOT QT_UPDATE_VERSION) - message(FATAL_ERROR "qt5-macextras only support OSX.") -endif() -qt_submodule_installation() \ No newline at end of file +include("${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake") +qt_submodule_installation() diff --git a/ports/qt5-macextras/vcpkg.json b/ports/qt5-macextras/vcpkg.json index 3ac6b3fc7f73d6..efce0eba29b0eb 100644 --- a/ports/qt5-macextras/vcpkg.json +++ b/ports/qt5-macextras/vcpkg.json @@ -1,8 +1,8 @@ { "name": "qt5-macextras", - "version-string": "5.15.2", - "port-version": 1, - "description": "Qt5 Mac Extras Module. Provides platform-specific APIs for mac.", + "version": "5.15.15", + "description": "Qt Mac Extras provide classes and functions that enable you to use miscellaneous functionality specific to the macOS and iOS operating systems.", + "license": null, "supports": "osx", "dependencies": [ { diff --git a/ports/qt5-mqtt/portfile.cmake b/ports/qt5-mqtt/portfile.cmake index ca6e25d0d4d746..f0462af132e36e 100644 --- a/ports/qt5-mqtt/portfile.cmake +++ b/ports/qt5-mqtt/portfile.cmake @@ -1,28 +1,2 @@ include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake) -#qt_submodule_installation() No binary package for this port. -if(QT_UPDATE_VERSION) - set(VCPKG_USE_HEAD_VERSION ON) -endif() - -vcpkg_from_git( - OUT_SOURCE_PATH SOURCE_PATH - URL git://code.qt.io/qt/qtmqtt.git - REF ${QT_HASH_${PORT}} - HEAD_REF "v${QT_MAJOR_MINOR_VER}.${QT_PATCH_VER}" - PATCHES ${_qis_PATCHES} -) - -if(QT_UPDATE_VERSION) - message(STATUS "New qtmqtt ref: ${VCPKG_HEAD_VERSION}") -endif() - -# qt module builds from a git repository require a .git entry to invoke syncqt -file(WRITE "${SOURCE_PATH}/.git" "repocontent") - -# syncqt is a perl script -vcpkg_find_acquire_program(PERL) -get_filename_component(perl_exe_path ${PERL} DIRECTORY) -vcpkg_add_to_path("${perl_exe_path}") - -qt_build_submodule(${SOURCE_PATH}) -qt_install_copyright(${SOURCE_PATH}) +qt_submodule_installation(PATCHES ${_qis_PATCHES}) diff --git a/ports/qt5-mqtt/vcpkg.json b/ports/qt5-mqtt/vcpkg.json index c4dac430ad181d..5a0d943913e7a3 100644 --- a/ports/qt5-mqtt/vcpkg.json +++ b/ports/qt5-mqtt/vcpkg.json @@ -1,8 +1,8 @@ { "name": "qt5-mqtt", - "version": "5.15.2", - "port-version": 1, - "description": "Qt5 MQTT module.", + "version": "5.15.15", + "description": "Qt MQTT enables you to create applications and devices that can communicate over the MQ telemetry transport (MQTT) protocol.", + "license": null, "dependencies": [ { "name": "qt5-base", diff --git a/ports/qt5-multimedia/portfile.cmake b/ports/qt5-multimedia/portfile.cmake index 214726759f3cf1..d2f61ad9861eec 100644 --- a/ports/qt5-multimedia/portfile.cmake +++ b/ports/qt5-multimedia/portfile.cmake @@ -1,2 +1,2 @@ include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake) -qt_submodule_installation() \ No newline at end of file +qt_submodule_installation(PATCHES xcode15.patch) diff --git a/ports/qt5-multimedia/vcpkg.json b/ports/qt5-multimedia/vcpkg.json index bc35ddac76fd80..83efc4b2046a00 100644 --- a/ports/qt5-multimedia/vcpkg.json +++ b/ports/qt5-multimedia/vcpkg.json @@ -1,8 +1,8 @@ { "name": "qt5-multimedia", - "version-string": "5.15.2", - "port-version": 1, - "description": "Qt5 Multimedia Module - Classes and widgets for audio, video, radio and camera functionality", + "version": "5.15.15", + "description": "Qt Multimedia is an essential module that provides a rich set of QML types and C++ classes to handle multimedia content. It also provides necessary APIs to access the camera and radio functionality.", + "license": null, "dependencies": [ { "name": "qt5-base", diff --git a/ports/qt5-multimedia/xcode15.patch b/ports/qt5-multimedia/xcode15.patch new file mode 100644 index 00000000000000..699c57c0df01ce --- /dev/null +++ b/ports/qt5-multimedia/xcode15.patch @@ -0,0 +1,12 @@ +diff -ur a/src/plugins/avfoundation/camera/avfcamerautility.mm b/src/plugins/avfoundation/camera/avfcamerautility.mm +--- a/src/plugins/avfoundation/camera/avfcamerautility.mm 2023-04-01 11:51:14.736887185 -0400 ++++ b/src/plugins/avfoundation/camera/avfcamerautility.mm 2023-04-01 11:54:19.979498301 -0400 +@@ -101,7 +101,7 @@ + } + }; + +-struct FormatHasNoFPSRange : std::unary_function ++struct FormatHasNoFPSRange + { + bool operator() (AVCaptureDeviceFormat *format) + { diff --git a/ports/qt5-networkauth/patches/CVE-2024-36048-qtnetworkauth-5.15.diff b/ports/qt5-networkauth/patches/CVE-2024-36048-qtnetworkauth-5.15.diff new file mode 100644 index 00000000000000..63252bbe89e446 --- /dev/null +++ b/ports/qt5-networkauth/patches/CVE-2024-36048-qtnetworkauth-5.15.diff @@ -0,0 +1,53 @@ +diff --git a/src/oauth/qabstractoauth.cpp b/src/oauth/qabstractoauth.cpp +index f1ed2af..05b189a 100644 +--- a/src/oauth/qabstractoauth.cpp ++++ b/src/oauth/qabstractoauth.cpp +@@ -37,7 +37,6 @@ + #include + #include + #include +-#include + #include + #include + #include +@@ -46,6 +45,9 @@ + #include + #include + ++#include ++#include ++ + #include + + Q_DECLARE_METATYPE(QAbstractOAuth::Error) +@@ -290,15 +292,19 @@ void QAbstractOAuthPrivate::setStatus(QAbstractOAuth::Status newStatus) + } + } + ++static QBasicMutex prngMutex; ++Q_GLOBAL_STATIC_WITH_ARGS(std::mt19937, prng, (*QRandomGenerator::system())) ++ + QByteArray QAbstractOAuthPrivate::generateRandomString(quint8 length) + { +- const char characters[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; +- static std::mt19937 randomEngine(QDateTime::currentDateTime().toMSecsSinceEpoch()); ++ constexpr char characters[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; + std::uniform_int_distribution distribution(0, sizeof(characters) - 2); + QByteArray data; + data.reserve(length); ++ auto lock = qt_unique_lock(prngMutex); + for (quint8 i = 0; i < length; ++i) +- data.append(characters[distribution(randomEngine)]); ++ data.append(characters[distribution(*prng)]); ++ lock.unlock(); + return data; + } + +@@ -614,6 +620,7 @@ void QAbstractOAuth::resourceOwnerAuthorization(const QUrl &url, const QVariantM + } + + /*! ++ \threadsafe + Generates a random string which could be used as state or nonce. + The parameter \a length determines the size of the generated + string. diff --git a/ports/qt5-networkauth/portfile.cmake b/ports/qt5-networkauth/portfile.cmake index 214726759f3cf1..d70e7c401b4cab 100644 --- a/ports/qt5-networkauth/portfile.cmake +++ b/ports/qt5-networkauth/portfile.cmake @@ -1,2 +1,5 @@ include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake) -qt_submodule_installation() \ No newline at end of file +qt_submodule_installation(PATCHES + # CVE fixes from https://download.qt.io/official_releases/qt/5.15/ + patches/CVE-2024-36048-qtnetworkauth-5.15.diff +) \ No newline at end of file diff --git a/ports/qt5-networkauth/vcpkg.json b/ports/qt5-networkauth/vcpkg.json index 5aa743b193dd37..036c4636150525 100644 --- a/ports/qt5-networkauth/vcpkg.json +++ b/ports/qt5-networkauth/vcpkg.json @@ -1,8 +1,8 @@ { "name": "qt5-networkauth", - "version-string": "5.15.2", - "port-version": 1, - "description": "Qt5 Network Authorization Module", + "version": "5.15.15", + "description": "Qt Network Authorization provides a set of APIs that enable Qt applications to obtain limited access to online accounts and HTTP services without exposing users' passwords.", + "license": null, "dependencies": [ { "name": "qt5-base", diff --git a/ports/qt5-purchasing/vcpkg.json b/ports/qt5-purchasing/vcpkg.json index b1b52cd67b5a2c..67d248b1ef1433 100644 --- a/ports/qt5-purchasing/vcpkg.json +++ b/ports/qt5-purchasing/vcpkg.json @@ -1,8 +1,8 @@ { "name": "qt5-purchasing", - "version-string": "5.15.2", - "port-version": 1, - "description": "Qt5 Purchasing Module - Enables in-app purchase of products in Qt applications.", + "version": "5.15.15", + "description": "Qt Purchasing is an add-on library that enables Qt applications to support in-app purchases. It is a cross-platform library that currently supports purchases made to the Mac App Store on OS X, App Store on iOS, and Google Play on Android.", + "license": null, "dependencies": [ { "name": "qt5-base", diff --git a/ports/qt5-quickcontrols/vcpkg.json b/ports/qt5-quickcontrols/vcpkg.json index ca2bd64054dd23..7630c78f7852c6 100644 --- a/ports/qt5-quickcontrols/vcpkg.json +++ b/ports/qt5-quickcontrols/vcpkg.json @@ -1,8 +1,8 @@ { "name": "qt5-quickcontrols", - "version-string": "5.15.2", - "port-version": 1, - "description": "Qt5 QuickControls Module.", + "version": "5.15.15", + "description": "The Qt Quick Controls module provides a set of controls that can be used to build complete interfaces in Qt Quick.", + "license": null, "dependencies": [ { "name": "qt5-base", diff --git a/ports/qt5-quickcontrols2/vcpkg.json b/ports/qt5-quickcontrols2/vcpkg.json index bf9665c890991d..3bad2d4c3dc797 100644 --- a/ports/qt5-quickcontrols2/vcpkg.json +++ b/ports/qt5-quickcontrols2/vcpkg.json @@ -1,8 +1,8 @@ { "name": "qt5-quickcontrols2", - "version-string": "5.15.2", - "port-version": 1, - "description": "Qt5 QuickControls2 Module.", + "version": "5.15.15", + "description": "Qt Quick Controls provides a set of controls that can be used to build complete interfaces in Qt Quick.", + "license": null, "dependencies": [ { "name": "qt5-base", diff --git a/ports/qt5-remoteobjects/vcpkg.json b/ports/qt5-remoteobjects/vcpkg.json index 38f4f5a8f39bd0..d90b05ab1d0c65 100644 --- a/ports/qt5-remoteobjects/vcpkg.json +++ b/ports/qt5-remoteobjects/vcpkg.json @@ -1,8 +1,8 @@ { "name": "qt5-remoteobjects", - "version-string": "5.15.2", - "port-version": 1, - "description": "Qt5 Remoteobjects module - Provides an easy to use mechanism for sharing a QObject's API (Properties/Signals/Slots) between processes or devices.", + "version": "5.15.15", + "description": "Qt Remote Objects (QtRO) is an Inter-Process Communication (IPC) module developed for Qt. This module extends Qt's existing functionalities to enable information exchange between processes or computers, easily.", + "license": null, "dependencies": [ { "name": "qt5-base", diff --git a/ports/qt5-script/vcpkg.json b/ports/qt5-script/vcpkg.json index 874be0e27d5b96..503da263bba3ed 100644 --- a/ports/qt5-script/vcpkg.json +++ b/ports/qt5-script/vcpkg.json @@ -1,8 +1,8 @@ { "name": "qt5-script", - "version-string": "5.15.2", - "port-version": 1, - "description": "Qt5 Script Module.", + "version": "5.15.15", + "description": "Qt Script provides support for application scripting with ECMAScript.", + "license": null, "dependencies": [ { "name": "qt5-base", diff --git a/ports/qt5-scxml/vcpkg.json b/ports/qt5-scxml/vcpkg.json index b32ce788301eb6..e341c397c14c79 100644 --- a/ports/qt5-scxml/vcpkg.json +++ b/ports/qt5-scxml/vcpkg.json @@ -1,8 +1,8 @@ { "name": "qt5-scxml", - "version-string": "5.15.2", - "port-version": 1, - "description": "Qt5 SCXML Module - Provides classes and tools for creating state machines from SCXML files and embedding them in applications", + "version": "5.15.15", + "description": "The Qt SCXML module provides classes for embedding state machines created from State Chart XML (SCXML) files in Qt applications.", + "license": null, "dependencies": [ { "name": "qt5-base", diff --git a/ports/qt5-sensors/vcpkg.json b/ports/qt5-sensors/vcpkg.json index 2fe0948eda3baa..9658d98a89dc95 100644 --- a/ports/qt5-sensors/vcpkg.json +++ b/ports/qt5-sensors/vcpkg.json @@ -1,8 +1,8 @@ { "name": "qt5-sensors", - "version-string": "5.15.2", - "port-version": 1, - "description": "Qt5 Sensors module - Provides access to sensor hardware and motion gesture recognition.", + "version": "5.15.15", + "description": "The Qt Sensors API provides access to sensor hardware via QML and C++ interfaces. The Qt Sensors API also provides a motion gesture recognition API for devices.", + "license": null, "dependencies": [ { "name": "qt5-base", diff --git a/ports/qt5-serialbus/vcpkg.json b/ports/qt5-serialbus/vcpkg.json index 3e34dd716e8e12..ca82e9eff99703 100644 --- a/ports/qt5-serialbus/vcpkg.json +++ b/ports/qt5-serialbus/vcpkg.json @@ -1,8 +1,8 @@ { "name": "qt5-serialbus", - "version-string": "5.15.2", - "port-version": 1, - "description": "Qt5 Serialbus Module;", + "version": "5.15.15", + "description": "The Qt Serial Bus API provides classes and functions to access the various industrial serial buses and protocols, such as CAN, ModBus, and others.", + "license": null, "dependencies": [ { "name": "qt5-base", diff --git a/ports/qt5-serialport/vcpkg.json b/ports/qt5-serialport/vcpkg.json index 8d9e79ccf8d2ef..b69b7068a4a3a1 100644 --- a/ports/qt5-serialport/vcpkg.json +++ b/ports/qt5-serialport/vcpkg.json @@ -1,8 +1,8 @@ { "name": "qt5-serialport", - "version-string": "5.15.2", - "port-version": 1, + "version": "5.15.15", "description": "Qt5 Serial Port - provides access to hardware and virtual serial ports", + "license": null, "dependencies": [ { "name": "qt5-base", diff --git a/ports/qt5-speech/vcpkg.json b/ports/qt5-speech/vcpkg.json index 387b650a306bc4..a26fc69c6224a1 100644 --- a/ports/qt5-speech/vcpkg.json +++ b/ports/qt5-speech/vcpkg.json @@ -1,8 +1,8 @@ { "name": "qt5-speech", - "version-string": "5.15.2", - "port-version": 1, - "description": "Qt5 Speech Module", + "version": "5.15.15", + "description": "The Qt Speech module enables a Qt application to support accessibility features such as text-to-speech, which is useful for end-users who are visually challenged or cannot access the application for whatever reason.", + "license": null, "dependencies": [ { "name": "atlmfc", diff --git a/ports/qt5-svg/portfile.cmake b/ports/qt5-svg/portfile.cmake index ca67a6846fa234..b61e8c58c2d989 100644 --- a/ports/qt5-svg/portfile.cmake +++ b/ports/qt5-svg/portfile.cmake @@ -1,2 +1,5 @@ include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake) -qt_submodule_installation(PATCHES "static_svg_link_fix.patch") \ No newline at end of file +qt_submodule_installation( + PATCHES + "static_svg_link_fix.patch" +) diff --git a/ports/qt5-svg/vcpkg.json b/ports/qt5-svg/vcpkg.json index 125ae9503bb110..6f5565e538c47f 100644 --- a/ports/qt5-svg/vcpkg.json +++ b/ports/qt5-svg/vcpkg.json @@ -1,8 +1,8 @@ { "name": "qt5-svg", - "version-string": "5.15.2", - "port-version": 2, - "description": "Qt5 SVG Module - provides classes for displaying the contents of SVG files", + "version": "5.15.15", + "description": "Qt SVG provides classes for rendering and displaying SVG drawings in widgets and on other paint devices.", + "license": null, "dependencies": [ { "name": "qt5-base", diff --git a/ports/qt5-tools/fix-pkgconfig-qt5uiplugin-not-found.patch b/ports/qt5-tools/fix-pkgconfig-qt5uiplugin-not-found.patch new file mode 100644 index 00000000000000..699c01061df35c --- /dev/null +++ b/ports/qt5-tools/fix-pkgconfig-qt5uiplugin-not-found.patch @@ -0,0 +1,14 @@ +diff --git a/src/designer/src/lib/lib.pro b/src/designer/src/lib/lib.pro +index de0dc73..eef68be 100644 +--- a/src/designer/src/lib/lib.pro ++++ b/src/designer/src/lib/lib.pro +@@ -1,7 +1,8 @@ + TARGET = QtDesigner + MODULE = designer + +-QT = core-private gui-private widgets-private xml uiplugin ++QT = core-private gui-private widgets-private xml ++QT_PRIVATE += uiplugin + + DEFINES += \ + QDESIGNER_SDK_LIBRARY \ diff --git a/ports/qt5-tools/icudt-debug-suffix.patch b/ports/qt5-tools/icudt-debug-suffix.patch deleted file mode 100644 index 9d9d8bb395b2ab..00000000000000 --- a/ports/qt5-tools/icudt-debug-suffix.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/windeployqt/main.cpp b/src/windeployqt/main.cpp -index 4e480bb..e15f076 100644 ---- a/src/windeployqt/main.cpp -+++ b/src/windeployqt/main.cpp -@@ -1324,7 +1324,7 @@ static DeployResult deploy(const Options &options, - const QString icuVersion = icuLibs.front().mid(index, numberExpression.matchedLength()); - if (optVerboseLevel > 1) - std::wcout << "Adding ICU version " << icuVersion << '\n'; -- icuLibs.push_back(QStringLiteral("icudt") + icuVersion + QLatin1String(windowsSharedLibrarySuffix)); -+ icuLibs.push_back(QStringLiteral("icudt") + (result.isDebug && platformHasDebugSuffix(options.platform) ? QStringLiteral("d") : QString()) + icuVersion + QLatin1String(windowsSharedLibrarySuffix)); - } - for (const QString &icuLib : qAsConst(icuLibs)) { - const QString icuPath = findInPath(icuLib); diff --git a/ports/qt5-tools/libclang.patch b/ports/qt5-tools/libclang.patch new file mode 100644 index 00000000000000..caacf8ba12c98f --- /dev/null +++ b/ports/qt5-tools/libclang.patch @@ -0,0 +1,30 @@ +diff --git a/src/qdoc/configure.pri b/src/qdoc/configure.pri +index 4f3d776..547d6a6 100644 +--- a/src/qdoc/configure.pri ++++ b/src/qdoc/configure.pri +@@ -87,10 +87,7 @@ defineTest(qtConfTest_libclang) { + } + LLVM_INSTALL_DIR = $$clean_path($$LLVM_INSTALL_DIR) + +- contains(QMAKE_HOST.arch, x86_64): \ +- clangInstallDir = $$replace(LLVM_INSTALL_DIR, _ARCH_, 64) +- else: \ +- clangInstallDir = $$replace(LLVM_INSTALL_DIR, _ARCH_, 32) ++ clangInstallDir = $$LLVM_INSTALL_DIR + isEmpty(LLVM_INSTALL_DIR) { + win32 { + return(false) +@@ -113,7 +110,13 @@ defineTest(qtConfTest_libclang) { + } else { + CLANG_LIBDIR = $$clangInstallDir/lib + CLANG_INCLUDEPATH = $$clangInstallDir/include ++ exists($$clangInstallDir/tools/llvm): { ++ output = $$system("$$clangInstallDir/tools/llvm/llvm-config --version") ++ CLANG_VERSION = $$extractVersion($$output) ++ } ++ else: { + CLANG_VERSION = $$findLLVMVersionFromLibDir($$CLANG_LIBDIR) ++ } + } + isEmpty(CLANG_VERSION) { + !isEmpty(LLVM_INSTALL_DIR): \ diff --git a/ports/qt5-tools/portfile.cmake b/ports/qt5-tools/portfile.cmake index c166ed7f5701c1..87ebf99e44a689 100644 --- a/ports/qt5-tools/portfile.cmake +++ b/ports/qt5-tools/portfile.cmake @@ -1,7 +1,21 @@ include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake) -qt_submodule_installation(PATCHES - icudt-debug-suffix.patch # https://bugreports.qt.io/browse/QTBUG-87677 +vcpkg_list(SET OPTIONS_RELEASE) +if("qdoc" IN_LIST FEATURES) + set(ENV{LLVM_INSTALL_DIR} "${CURRENT_INSTALLED_DIR}") + vcpkg_list(APPEND OPTIONS_RELEASE -feature-qdoc) +else() + vcpkg_list(APPEND OPTIONS_RELEASE -no-feature-qdoc) +endif() + +qt_submodule_installation( + PATCHES + fix-pkgconfig-qt5uiplugin-not-found.patch + libclang.patch + BUILD_OPTIONS_RELEASE + ${OPTIONS_RELEASE} + BUILD_OPTIONS_DEBUG + -no-feature-qdoc ) if(EXISTS "${CURRENT_INSTALLED_DIR}/plugins/platforms/qminimal${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}") diff --git a/ports/qt5-tools/vcpkg.json b/ports/qt5-tools/vcpkg.json index 5c81111397b2f5..75f61b12534d8b 100644 --- a/ports/qt5-tools/vcpkg.json +++ b/ports/qt5-tools/vcpkg.json @@ -1,8 +1,8 @@ { "name": "qt5-tools", - "version-string": "5.15.2", - "port-version": 1, - "description": "Qt5 Tools Module; Includes deployment tools and helpers, Qt Designer, Assistant, and other applications", + "version": "5.15.15", + "description": "A collection of tools and utilities that come with the Qt framework to assist developers in the creation, management, and deployment of Qt applications.", + "license": null, "dependencies": [ { "name": "qt5-activeqt", @@ -13,5 +13,19 @@ "default-features": false }, "qt5-declarative" - ] + ], + "features": { + "qdoc": { + "description": "Build the qdoc tool.", + "dependencies": [ + { + "name": "llvm", + "default-features": false, + "features": [ + "clang" + ] + } + ] + } + } } diff --git a/ports/qt5-translations/vcpkg.json b/ports/qt5-translations/vcpkg.json index c85cd0149e59d5..951b1c0369995f 100644 --- a/ports/qt5-translations/vcpkg.json +++ b/ports/qt5-translations/vcpkg.json @@ -1,8 +1,8 @@ { "name": "qt5-translations", - "version-string": "5.15.2", - "port-version": 1, - "description": "Qt5 translations module", + "version": "5.15.15", + "description": "Qt translations.", + "license": null, "dependencies": [ { "name": "qt5-base", diff --git a/ports/qt5-virtualkeyboard/vcpkg.json b/ports/qt5-virtualkeyboard/vcpkg.json index c53720d04842f3..8466a48226c585 100644 --- a/ports/qt5-virtualkeyboard/vcpkg.json +++ b/ports/qt5-virtualkeyboard/vcpkg.json @@ -1,12 +1,11 @@ { "name": "qt5-virtualkeyboard", - "version-string": "5.15.2", - "port-version": 1, - "description": "Qt5 Virtual Keyboard Module - A framework for implementing different input methods. Supports localized keyboard layouts and custom visual themes", + "version": "5.15.15", + "description": "The Qt Virtual Keyboard project provides an input framework and reference keyboard frontend for Qt 5 on Linux Desktop/X11, Windows Desktop, and Boot2Qt targets.", + "license": null, "dependencies": [ "qt5-multimedia", "qt5-quickcontrols", - "qt5-quickcontrols", "qt5-svg" ] } diff --git a/ports/qt5-wayland/vcpkg.json b/ports/qt5-wayland/vcpkg.json index 7ccb51624c5972..a60db388c1a575 100644 --- a/ports/qt5-wayland/vcpkg.json +++ b/ports/qt5-wayland/vcpkg.json @@ -1,8 +1,8 @@ { "name": "qt5-wayland", - "version-string": "5.15.2", - "port-version": 2, - "description": "Qt5 wayland Module;", + "version": "5.15.15", + "description": "QtWayland is a Qt 5 module that wraps the functionality of Wayland.", + "license": null, "supports": "linux", "dependencies": [ { diff --git a/ports/qt5-webchannel/vcpkg.json b/ports/qt5-webchannel/vcpkg.json index a50e4f1a4f7201..165d4bf2d6df15 100644 --- a/ports/qt5-webchannel/vcpkg.json +++ b/ports/qt5-webchannel/vcpkg.json @@ -1,8 +1,8 @@ { "name": "qt5-webchannel", - "version-string": "5.15.2", - "port-version": 1, - "description": "Qt5 Web Channel module - Provides access to QObject or QML objects from HTML clients for seamless integration of Qt applications with HTML/JavaScript clients.", + "version": "5.15.15", + "description": "Qt WebChannel enables peer-to-peer communication between a server (QML/C++ application) and a client (HTML/JavaScript or QML application).", + "license": null, "dependencies": [ { "name": "qt5-base", diff --git a/ports/qt5-webengine/0001-Fix-jumbo-build-error-due-to-ResolveColor-redefiniti.patch b/ports/qt5-webengine/0001-Fix-jumbo-build-error-due-to-ResolveColor-redefiniti.patch new file mode 100644 index 00000000000000..34869c40ff5bd3 --- /dev/null +++ b/ports/qt5-webengine/0001-Fix-jumbo-build-error-due-to-ResolveColor-redefiniti.patch @@ -0,0 +1,24 @@ +diff --git a/src/3rdparty/chromium/third_party/blink/renderer/core/layout/svg/layout_svg_resource_paint_server.cc b/src/3rdparty/chromium/third_party/blink/renderer/core/layout/svg/layout_svg_resource_paint_server.cc +index 99ba54e790c..abf8467912d 100644 +--- a/src/3rdparty/chromium/third_party/blink/renderer/core/layout/svg/layout_svg_resource_paint_server.cc ++++ b/src/3rdparty/chromium/third_party/blink/renderer/core/layout/svg/layout_svg_resource_paint_server.cc +@@ -94,7 +94,7 @@ void SVGPaintServer::PrependTransform(const AffineTransform& transform) { + transform_ = transform * transform_; + } + +-static base::Optional ResolveColor(const ComputedStyle& style, ++static base::Optional ResolveColorSvgPaintServer(const ComputedStyle& style, + const SVGPaint& paint, + const SVGPaint& visited_paint) { + if (!paint.HasColor()) +@@ -122,7 +122,7 @@ static SVGPaintDescription RequestPaint(const LayoutObject& object, + const SVGPaint& visited_paint = apply_to_fill + ? svg_style.InternalVisitedFillPaint() + : svg_style.InternalVisitedStrokePaint(); +- base::Optional color = ResolveColor(style, paint, visited_paint); ++ base::Optional color = ResolveColorSvgPaintServer(style, paint, visited_paint); + + if (paint.HasUrl()) { + LayoutSVGResourcePaintServer* uri_resource = nullptr; +-- +2.39.3 diff --git a/ports/qt5-webengine/0001-Support-ICU-74-in-LazyTextBreakIterator.patch b/ports/qt5-webengine/0001-Support-ICU-74-in-LazyTextBreakIterator.patch new file mode 100644 index 00000000000000..57d9833c581e4e --- /dev/null +++ b/ports/qt5-webengine/0001-Support-ICU-74-in-LazyTextBreakIterator.patch @@ -0,0 +1,150 @@ +From f62990fb134b7e610502b6804945debaa51960a5 Mon Sep 17 00:00:00 2001 +From: Koji Ishii +Date: Fri, 9 Feb 2024 18:47:02 +0000 +Subject: [PATCH] Support ICU 74 in `LazyTextBreakIterator` + +This patch extends the `kBreakAllLineBreakClassTable` table +for 5 new LineBreak classes in ICU 74. + +They are for Brahmic scripts, which "line breaks can occur at +the boundaries of any orthographic syllable"[1]. The +`break-all` has no additional break opportunities that all +entries are `0`. + +This patch also adds `0` for 3 classes added in ICU 58[2], +instead of doing so in code, to make future additions +possible. + +[1] https://unicode.org/reports/tr14/#BreakOpportunities +[2] https://chromiumcodereview.appspot.com/2440923002 + +Bug: 324419151 +Change-Id: I8002edb927280f63b5b668b09076cc71feaeac3e +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5279337 +Auto-Submit: Koji Ishii +Commit-Queue: Ian Kilpatrick +Reviewed-by: Ian Kilpatrick +Cr-Commit-Position: refs/heads/main@{#1258643} +--- + .../platform/text/text_break_iterator.cc | 98 ++++++++++--------- + 1 file changed, 53 insertions(+), 45 deletions(-) + +diff --git a/src/3rdparty/chromium/third_party/blink/renderer/platform/text/text_break_iterator.cc b/third_party/blink/renderer/platform/text/text_break_iterator.cc +index 703dc23990754..38ab94a0a460b 100644 +--- a/src/3rdparty/chromium/third_party/blink/renderer/platform/text/text_break_iterator.cc ++++ b/src/3rdparty/chromium/third_party/blink/renderer/platform/text/text_break_iterator.cc +@@ -161,11 +161,7 @@ static const unsigned char kAsciiLineBreakTable[][(kAsciiLineBreakTableLastChar + }; + // clang-format on + +-#if U_ICU_VERSION_MAJOR_NUM >= 58 +-#define BA_LB_COUNT (U_LB_COUNT - 3) +-#else + #define BA_LB_COUNT U_LB_COUNT +-#endif + // Line breaking table for CSS word-break: break-all. This table differs from + // asciiLineBreakTable in: + // - Indices are Line Breaking Classes defined in UAX#14 Unicode Line Breaking +@@ -174,47 +170,59 @@ static const unsigned char kAsciiLineBreakTable[][(kAsciiLineBreakTableLastChar + // normal line break, not "prohibit break." + // clang-format off + static const unsigned char kBreakAllLineBreakClassTable[][BA_LB_COUNT / 8 + 1] = { +- // XX AI AL B2 BA BB BK CB CL CM CR EX GL HY ID IN IS LF NS NU OP PO PR QU SA SG SP SY ZW NL WJ H2 H3 JL JT JV CP CJ HL RI +- { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // XX +- { B(0, 1, 1, 0, 1, 0, 0, 0), B(0, 0, 0, 0, 0, 1, 0, 0), B(0, 0, 0, 1, 1, 0, 1, 0), B(1, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 1, 0) }, // AI +- { B(0, 1, 1, 0, 1, 0, 0, 0), B(0, 0, 0, 0, 0, 1, 0, 0), B(0, 0, 0, 1, 1, 0, 1, 0), B(1, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 1, 0) }, // AL +- { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // B2 +- { B(0, 1, 1, 0, 1, 0, 0, 0), B(0, 0, 0, 0, 0, 1, 0, 0), B(0, 0, 0, 1, 1, 0, 1, 0), B(1, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 1, 0) }, // BA +- { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // BB +- { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // BK +- { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // CB +- { B(0, 1, 1, 0, 1, 0, 0, 0), B(0, 0, 0, 0, 0, 1, 0, 0), B(0, 0, 0, 1, 0, 0, 1, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 1, 0) }, // CL +- { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // CM +- { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // CR +- { B(0, 1, 1, 0, 1, 0, 0, 0), B(0, 0, 0, 0, 0, 1, 0, 0), B(0, 0, 0, 1, 0, 1, 1, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 1, 0) }, // EX +- { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // GL +- { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 1, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // HY +- { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // ID +- { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // IN +- { B(0, 1, 1, 0, 1, 0, 0, 0), B(0, 0, 0, 0, 0, 1, 0, 0), B(0, 0, 0, 1, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 1, 0) }, // IS +- { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // LF +- { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // NS +- { B(0, 1, 1, 0, 1, 0, 0, 0), B(0, 0, 0, 0, 0, 1, 0, 0), B(0, 0, 0, 1, 1, 0, 1, 0), B(1, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 1, 0) }, // NU +- { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // OP +- { B(0, 1, 1, 0, 1, 0, 0, 0), B(0, 0, 0, 0, 0, 1, 0, 0), B(0, 0, 0, 1, 0, 1, 1, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 1, 0) }, // PO +- { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 1, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // PR +- { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // QU +- { B(0, 1, 1, 0, 1, 0, 0, 0), B(0, 0, 0, 0, 0, 1, 0, 0), B(0, 0, 0, 1, 1, 0, 1, 0), B(1, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 1, 0) }, // SA +- { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // SG +- { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // SP +- { B(0, 1, 1, 0, 1, 0, 0, 0), B(0, 0, 0, 0, 0, 1, 0, 0), B(0, 0, 0, 1, 1, 0, 1, 0), B(1, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 1, 0) }, // SY +- { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // ZW +- { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // NL +- { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // WJ +- { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // H2 +- { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // H3 +- { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // JL +- { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // JT +- { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // JV +- { B(0, 1, 1, 0, 1, 0, 0, 0), B(0, 0, 0, 0, 0, 1, 0, 0), B(0, 0, 0, 1, 0, 0, 1, 0), B(1, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 1, 0) }, // CP +- { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // CJ +- { B(0, 1, 1, 0, 1, 0, 0, 0), B(0, 0, 0, 0, 0, 1, 0, 0), B(0, 0, 0, 1, 1, 0, 1, 0), B(1, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 1, 0) }, // HL +- { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // RI ++ // XX AI AL B2 BA BB BK CB CL CM CR EX GL HY ID IN IS LF NS NU OP PO PR QU SA SG SP SY ZW NL WJ H2 H3 JL JT JV CP CJ HL RI EB EM ZWJ AK AP AS VF VI ++ { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // XX ++ { B(0, 1, 1, 0, 1, 0, 0, 0), B(0, 0, 0, 0, 0, 1, 0, 0), B(0, 0, 0, 1, 1, 0, 1, 0), B(1, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 1, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // AI ++ { B(0, 1, 1, 0, 1, 0, 0, 0), B(0, 0, 0, 0, 0, 1, 0, 0), B(0, 0, 0, 1, 1, 0, 1, 0), B(1, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 1, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // AL ++ { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // B2 ++ { B(0, 1, 1, 0, 1, 0, 0, 0), B(0, 0, 0, 0, 0, 1, 0, 0), B(0, 0, 0, 1, 1, 0, 1, 0), B(1, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 1, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // BA ++ { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // BB ++ { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // BK ++ { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // CB ++ { B(0, 1, 1, 0, 1, 0, 0, 0), B(0, 0, 0, 0, 0, 1, 0, 0), B(0, 0, 0, 1, 0, 0, 1, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 1, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // CL ++ { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // CM ++ { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // CR ++ { B(0, 1, 1, 0, 1, 0, 0, 0), B(0, 0, 0, 0, 0, 1, 0, 0), B(0, 0, 0, 1, 0, 1, 1, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 1, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // EX ++ { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // GL ++ { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 1, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // HY ++ { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // ID ++ { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // IN ++ { B(0, 1, 1, 0, 1, 0, 0, 0), B(0, 0, 0, 0, 0, 1, 0, 0), B(0, 0, 0, 1, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 1, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // IS ++ { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // LF ++ { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // NS ++ { B(0, 1, 1, 0, 1, 0, 0, 0), B(0, 0, 0, 0, 0, 1, 0, 0), B(0, 0, 0, 1, 1, 0, 1, 0), B(1, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 1, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // NU ++ { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // OP ++ { B(0, 1, 1, 0, 1, 0, 0, 0), B(0, 0, 0, 0, 0, 1, 0, 0), B(0, 0, 0, 1, 0, 1, 1, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 1, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // PO ++ { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 1, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // PR ++ { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // QU ++ { B(0, 1, 1, 0, 1, 0, 0, 0), B(0, 0, 0, 0, 0, 1, 0, 0), B(0, 0, 0, 1, 1, 0, 1, 0), B(1, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 1, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // SA ++ { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // SG ++ { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // SP ++ { B(0, 1, 1, 0, 1, 0, 0, 0), B(0, 0, 0, 0, 0, 1, 0, 0), B(0, 0, 0, 1, 1, 0, 1, 0), B(1, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 1, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // SY ++ { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // ZW ++ { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // NL ++ { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // WJ ++ { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // H2 ++ { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // H3 ++ { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // JL ++ { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // JT ++ { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // JV ++ { B(0, 1, 1, 0, 1, 0, 0, 0), B(0, 0, 0, 0, 0, 1, 0, 0), B(0, 0, 0, 1, 0, 0, 1, 0), B(1, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 1, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // CP ++ { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // CJ ++ { B(0, 1, 1, 0, 1, 0, 0, 0), B(0, 0, 0, 0, 0, 1, 0, 0), B(0, 0, 0, 1, 1, 0, 1, 0), B(1, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 1, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // HL ++ { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // RI ++ // Added in ICU 58. ++ { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // EB ++ { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // EM ++ { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // ZWJ ++#if U_ICU_VERSION_MAJOR_NUM >= 74 ++ // Added in ICU 74. https://icu.unicode.org/download/74 ++ { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // AK ++ { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // AP ++ { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // AS ++ { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // VF ++ { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // VI ++#endif // U_ICU_VERSION_MAJOR_NUM >= 74 + }; + // clang-format on + +-- +2.39.3 diff --git a/ports/qt5-webengine/build_1.patch b/ports/qt5-webengine/build_1.patch index dfa3ea721f2718..4bef9ebd43b444 100644 --- a/ports/qt5-webengine/build_1.patch +++ b/ports/qt5-webengine/build_1.patch @@ -1,12 +1,12 @@ diff --git a/src/3rdparty/chromium/third_party/angle/BUILD.gn b/src/3rdparty/chromium/third_party/angle/BUILD.gn -index ad7675f4e..4a43479d9 100644 +index fb57176..fa84cc5 100644 --- a/src/3rdparty/chromium/third_party/angle/BUILD.gn +++ b/src/3rdparty/chromium/third_party/angle/BUILD.gn -@@ -126,7 +126,6 @@ config("extra_warnings") { +@@ -131,7 +131,6 @@ config("extra_warnings") { # Enable more default warnings on Windows. if (is_win) { cflags += [ - "/we4244", # Conversion: possible loss of data. + "/we4312", # Conversion: greater size. "/we4456", # Variable shadowing. "/we4458", # declaration hides class member. - "/we4715", # not all control paths return a value diff --git a/ports/qt5-webengine/build_2.patch b/ports/qt5-webengine/build_2.patch index 7a4622516d846f..77d7cbe0dc3f20 100644 --- a/ports/qt5-webengine/build_2.patch +++ b/ports/qt5-webengine/build_2.patch @@ -1,29 +1,24 @@ diff --git a/src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/circular_queue.h b/src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/circular_queue.h -index 59dbfad04..134357395 100644 +index 18ca770..5585a67 100644 --- a/src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/circular_queue.h +++ b/src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/circular_queue.h -@@ -74,7 +74,7 @@ class CircularQueue { +@@ -74,16 +74,16 @@ class CircularQueue { return queue_->Get(pos_); } - const T* operator->() const { + T* operator->() const { - #if PERFETTO_DCHECK_IS_ON() - PERFETTO_DCHECK(generation_ == queue_->generation()); - #endif -@@ -82,13 +82,13 @@ class CircularQueue { + return const_cast::Iterator*>(this)->operator->(); } T& operator*() { return *(operator->()); } - const T& operator*() const { return *(operator->()); } + T& operator*() const { return *(operator->()); } - value_type& operator[](difference_type i) { - return *(*this + i); - } + value_type& operator[](difference_type i) { return *(*this + i); } - const value_type& operator[](difference_type i) const { + value_type& operator[](difference_type i) const { - return *(*this + i); + return const_cast::Iterator&>(*this)[i]; } diff --git a/ports/qt5-webengine/build_3.patch b/ports/qt5-webengine/build_3.patch deleted file mode 100644 index a86c5dec4641b4..00000000000000 --- a/ports/qt5-webengine/build_3.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/lab_color_space.h b/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/lab_color_space.h -index 78c316e04..fdb0312e0 100644 ---- a/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/lab_color_space.h -+++ b/src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/lab_color_space.h -@@ -138,9 +138,9 @@ class LABColorSpace { - clamp(lab.Z(), -128.0f, 128.0f)}; - - return { -- invf((v.X() + 16.0f) / 116.0f + (v.Y() * 0.002f)) * kIlluminantD50.X(), -- invf((v.X() + 16.0f) / 116.0f) * kIlluminantD50.Y(), -- invf((v.X() + 16.0f) / 116.0f - (v.Z() * 0.005f)) * kIlluminantD50.Z()}; -+ (float)(invf((v.X() + 16.0f) / 116.0f + (v.Y() * 0.002f)) * kIlluminantD50.X()), -+ (float)(invf((v.X() + 16.0f) / 116.0f) * kIlluminantD50.Y()), -+ (float)(invf((v.X() + 16.0f) / 116.0f - (v.Z() * 0.005f)) * kIlluminantD50.Z())}; - } - - private: diff --git a/ports/qt5-webengine/common.pri.patch b/ports/qt5-webengine/common.pri.patch index ad58ab9e14ae52..74327ac23d2be4 100644 --- a/ports/qt5-webengine/common.pri.patch +++ b/ports/qt5-webengine/common.pri.patch @@ -1,9 +1,18 @@ diff --git a/src/buildtools/config/common.pri b/src/buildtools/config/common.pri -#latest diff --git a/src/buildtools/config/common.pri b/src/buildtools/config/common.pri -index 97d39535c..dc09da43a 100644 ---- a/src/buildtools/config/common.pri +index cf990c7..5af9edf 100644 +--- a/src/buildtools/config/common.pri +++ b/src/buildtools/config/common.pri -@@ -57,5 +57,5 @@ +@@ -26,6 +26,7 @@ gn_args += \ + skia_use_dawn=false \ + toolkit_views=false \ + treat_warnings_as_errors=false \ ++ fatal_linker_warnings=false \ + use_allocator_shim=false \ + use_allocator=\"none\" \ + use_custom_libcxx=false \ +@@ -56,7 +57,7 @@ greaterThan(QMAKE_JUMBO_MERGE_LIMIT,0) { + } + precompile_header { - gn_args += enable_precompiled_headers=true + gn_args += enable_precompiled_headers=false diff --git a/ports/qt5-webengine/portfile.cmake b/ports/qt5-webengine/portfile.cmake index 60020c83f8a139..1a182c74f35a7b 100644 --- a/ports/qt5-webengine/portfile.cmake +++ b/ports/qt5-webengine/portfile.cmake @@ -2,31 +2,34 @@ vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) string(LENGTH "${CURRENT_BUILDTREES_DIR}" buildtrees_path_length) if(buildtrees_path_length GREATER 35 AND CMAKE_HOST_WIN32) vcpkg_buildpath_length_warning(35) - message(FATAL_ERROR "terminating due to source length.") + message(WARNING "The ${PORT} source was will be extracted to ${CURRENT_BUILDTREES_DIR} , which has more then 35 characters in length.") + message(FATAL_ERROR "terminating due to ${CURRENT_BUILDTREES_DIR} being too long.") endif() #set(VCPKG_BUILD_TYPE release) #You probably want to set this to reduce build type and space requirements message(STATUS "${PORT} requires a lot of free disk space (>100GB), ram (>8 GB) and time (>2h per configuration) to be successfully build.\n\ -- As such ${PORT} is currently experimental.\n\ --- If ${PORT} fails post build validation please open up an issue. \n\ +-- If ${PORT} fails post build validation please try manually reducing VCPKG_MAX_CONCURRENCY and open up an issue if it still cannot build. \n\ -- If it fails due to post validation the successfully installed files can be found in ${CURRENT_PACKAGES_DIR} \n\ -- and just need to be copied into ${CURRENT_INSTALLED_DIR}") if(NOT VCPKG_TARGET_IS_WINDOWS) message(STATUS "If ${PORT} directly fails ${PORT} might require additional prerequisites on Linux and OSX. Please check the configure logs.\n") endif() -include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake) +include("${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake") vcpkg_find_acquire_program(FLEX) vcpkg_find_acquire_program(BISON) vcpkg_find_acquire_program(GPERF) vcpkg_find_acquire_program(PYTHON2) vcpkg_find_acquire_program(NINJA) +set(NODEJS "${CURRENT_HOST_INSTALLED_DIR}/tools/node/node${VCPKG_HOST_EXECUTABLE_SUFFIX}") get_filename_component(FLEX_DIR "${FLEX}" DIRECTORY ) get_filename_component(BISON_DIR "${BISON}" DIRECTORY ) get_filename_component(PYTHON2_DIR "${PYTHON2}" DIRECTORY ) get_filename_component(GPERF_DIR "${GPERF}" DIRECTORY ) get_filename_component(NINJA_DIR "${NINJA}" DIRECTORY ) +get_filename_component(NODEJS_DIR "${NODEJS}" DIRECTORY ) -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}") file(CREATE_LINK "${FLEX}" "${FLEX_DIR}/flex${VCPKG_HOST_EXECUTABLE_SUFFIX}") endif() @@ -40,19 +43,27 @@ vcpkg_add_to_path(PREPEND "${BISON_DIR}") vcpkg_add_to_path(PREPEND "${PYTHON2_DIR}") vcpkg_add_to_path(PREPEND "${GPERF_DIR}") vcpkg_add_to_path(PREPEND "${NINJA_DIR}") +vcpkg_add_to_path(PREPEND "${NODEJS_DIR}") -set(PATCHES common.pri.patch +set(PATCHES common.pri.patch gl.patch build_1.patch build_2.patch - build_3.patch) + 0001-Support-ICU-74-in-LazyTextBreakIterator.patch + workaround-protobuf-issue.patch + 0001-Fix-jumbo-build-error-due-to-ResolveColor-redefiniti.patch + ) set(OPTIONS) if("proprietary-codecs" IN_LIST FEATURES) list(APPEND OPTIONS "-webengine-proprietary-codecs") endif() if(NOT VCPKG_TARGET_IS_WINDOWS) - list(APPEND OPTIONS "-webengine-system-libwebp" "-webengine-system-ffmpeg" "-webengine-system-icu") + list(APPEND OPTIONS "-system-webengine-webp" "-system-webengine-icu") + vcpkg_host_path_list(PREPEND ENV{PKG_CONFIG_PATH} "${CURRENT_INSTALLED_DIR}/lib/pkgconfig") + vcpkg_host_path_list(PREPEND ENV{INCLUDE} "${CURRENT_INSTALLED_DIR}/include") + vcpkg_host_path_list(PREPEND ENV{C_INCLUDE_PATH} "${CURRENT_INSTALLED_DIR}/include") + vcpkg_host_path_list(PREPEND ENV{CPLUS_INCLUDE_PATH} "${CURRENT_INSTALLED_DIR}/include") endif() qt_submodule_installation(PATCHES ${PATCHES} BUILD_OPTIONS ${OPTIONS}) diff --git a/ports/qt5-webengine/vcpkg.json b/ports/qt5-webengine/vcpkg.json index 83a599f65bf8b5..4498cdeffe6666 100644 --- a/ports/qt5-webengine/vcpkg.json +++ b/ports/qt5-webengine/vcpkg.json @@ -1,19 +1,27 @@ { "name": "qt5-webengine", - "version-string": "5.15.2", - "port-version": 3, - "description": "Qt5 webengine Module;", + "version": "5.15.15", + "description": "Qt WebEngine provides functionality for rendering regions of dynamic web content.", + "license": null, "supports": "!static", "dependencies": [ { - "name": "atlmfc", + "name": "atl", "platform": "windows" }, + { + "name": "dbus", + "platform": "!windows" + }, { "name": "ffmpeg", "default-features": false, "platform": "!windows" }, + { + "name": "icu", + "platform": "!windows" + }, { "name": "qt5-base", "default-features": false @@ -23,7 +31,11 @@ "qt5-quickcontrols", "qt5-quickcontrols2", "qt5-tools", - "qt5-webchannel" + "qt5-webchannel", + { + "name": "vcpkg-tool-nodejs", + "host": true + } ], "features": { "proprietary-codecs": { diff --git a/ports/qt5-webengine/workaround-protobuf-issue.patch b/ports/qt5-webengine/workaround-protobuf-issue.patch new file mode 100644 index 00000000000000..d23c26e25ab1d0 --- /dev/null +++ b/ports/qt5-webengine/workaround-protobuf-issue.patch @@ -0,0 +1,17 @@ +diff --git a/src/core/core_chromium.pri b/src/core/core_chromium.pri +index a846f2fbc..102ec9ace 100644 +--- a/src/core/core_chromium.pri ++++ b/src/core/core_chromium.pri +@@ -32,6 +32,12 @@ isUniversal() { + # whenever we are cross compiling. + qtConfig(webengine-embedded-build): DEFINES += QTWEBENGINE_EMBEDDED_SWITCHES + ++# Prepend Chromium's protobuf and abseil-cpp include directories to the include paths ++# to ensure we use chromiums own copies instead of vcpkg provided libraries. ++# See https://github.com/microsoft/vcpkg/issues/12150 ++CHROMIUM_SRC_DIR = $$QTWEBENGINE_ROOT/$$getChromiumSrcDir() ++INCLUDEPATH = $$CHROMIUM_SRC_DIR/third_party/protobuf/src $$CHROMIUM_SRC_DIR/third_party/abseil-cpp $$INCLUDEPATH ++ + INCLUDEPATH += $$PWD $$PWD/api + + clang_cl { diff --git a/ports/qt5-webglplugin/vcpkg.json b/ports/qt5-webglplugin/vcpkg.json index 596fb42c8b4fe6..ad14c554c94986 100644 --- a/ports/qt5-webglplugin/vcpkg.json +++ b/ports/qt5-webglplugin/vcpkg.json @@ -1,12 +1,13 @@ { "name": "qt5-webglplugin", - "version-string": "5.15.2", - "port-version": 1, - "description": "Qt5 webglplugin Module;", + "version": "5.15.15", + "description": "The Qt WebGL Plugin module enables Qt applications to be run in web browsers through WebGL streaming.", + "license": null, "dependencies": [ { "name": "qt5-base", "default-features": false - } + }, + "qt5-websockets" ] } diff --git a/ports/qt5-websockets/vcpkg.json b/ports/qt5-websockets/vcpkg.json index 173b65271dba34..9ce2bcf2bf1269 100644 --- a/ports/qt5-websockets/vcpkg.json +++ b/ports/qt5-websockets/vcpkg.json @@ -1,8 +1,8 @@ { "name": "qt5-websockets", - "version-string": "5.15.2", - "port-version": 1, - "description": "Qt5 Web Sockets Module - provides WebSocket communication compliant with RFC 6455", + "version": "5.15.15", + "description": "The Qt WebSockets module provides C++ and QML interfaces that enable Qt applications to act as a server that can process WebSocket requests, or a client that can consume data received from the server, or both.", + "license": null, "dependencies": [ { "name": "qt5-base", diff --git a/ports/qt5-webview/vcpkg.json b/ports/qt5-webview/vcpkg.json index c033a0465328ff..e7df1de5e0f6b2 100644 --- a/ports/qt5-webview/vcpkg.json +++ b/ports/qt5-webview/vcpkg.json @@ -1,8 +1,8 @@ { "name": "qt5-webview", - "version-string": "5.15.2", - "port-version": 1, - "description": "Qt5 WebView module - Provides a way to display web content in a QML application without necessarily including a full web browser stack by using native APIs where it makes sense.", + "version": "5.15.15", + "description": "Qt WebView provides a way to display web content in a QML application without necessarily including a full web browser stack by using native APIs where it makes sense.", + "license": null, "dependencies": [ "qt5-declarative" ] diff --git a/ports/qt5-winextras/patches/require_quick.patch b/ports/qt5-winextras/patches/require_quick.patch new file mode 100644 index 00000000000000..471fa5a1737291 --- /dev/null +++ b/ports/qt5-winextras/patches/require_quick.patch @@ -0,0 +1,12 @@ +diff --git a/src/src.pro b/src/src.pro +index fceeb21..8a242d0 100644 +--- a/src/src.pro ++++ b/src/src.pro +@@ -2,6 +2,7 @@ win32 { + TEMPLATE = subdirs + CONFIG += ordered + SUBDIRS += winextras ++ SUBDIRS += imports + } else { + # fake project for creating the documentation + TEMPLATE = aux diff --git a/ports/qt5-winextras/patches/unrequire_quick.patch b/ports/qt5-winextras/patches/unrequire_quick.patch new file mode 100644 index 00000000000000..98f652da182b74 --- /dev/null +++ b/ports/qt5-winextras/patches/unrequire_quick.patch @@ -0,0 +1,12 @@ +diff --git a/src/src.pro b/src/src.pro +index fceeb21..7e4835b 100644 +--- a/src/src.pro ++++ b/src/src.pro +@@ -2,7 +2,6 @@ win32 { + TEMPLATE = subdirs + CONFIG += ordered + SUBDIRS += winextras +- qtHaveModule(quick): SUBDIRS += imports + } else { + # fake project for creating the documentation + TEMPLATE = aux diff --git a/ports/qt5-winextras/portfile.cmake b/ports/qt5-winextras/portfile.cmake index 69c3adbb2e99ef..3f9ff8cc7e3a3a 100644 --- a/ports/qt5-winextras/portfile.cmake +++ b/ports/qt5-winextras/portfile.cmake @@ -1,5 +1,12 @@ -if (NOT VCPKG_TARGET_IS_WINDOWS) - message(FATAL_ERROR "qt5-winextras only support Windows.") +include("${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake") + +vcpkg_list(SET _patches + "patches/unrequire_quick.patch" +) +if("declarative" IN_LIST FEATURES) + list(APPEND _patches + "patches/require_quick.patch" + ) endif() -include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake) -qt_submodule_installation() + +qt_submodule_installation(PATCHES ${_patches}) diff --git a/ports/qt5-winextras/vcpkg.json b/ports/qt5-winextras/vcpkg.json index 64434f24eb83fb..035dda08f808c0 100644 --- a/ports/qt5-winextras/vcpkg.json +++ b/ports/qt5-winextras/vcpkg.json @@ -1,19 +1,22 @@ { "name": "qt5-winextras", - "version-string": "5.15.2", - "port-version": 1, - "description": "Qt5 Windows Extras Module. Provides platform-specific APIs for Windows.", + "version": "5.15.15", + "description": "Qt Windows Extras provide classes and functions that enable you to use miscellaneous Windows-specific functions. For example, you can convert Qt objects to Windows object handles and manipulate DWM glass frames.", + "license": null, "supports": "windows", "dependencies": [ - { - "name": "atlmfc", - "platform": "windows" - }, + "atlmfc", { "name": "qt5-base", "default-features": false - }, - "qt5-declarative", - "qt5-multimedia" - ] + } + ], + "features": { + "declarative": { + "description": "Build Qt Quick imports", + "dependencies": [ + "qt5-declarative" + ] + } + } } diff --git a/ports/qt5-x11extras/vcpkg.json b/ports/qt5-x11extras/vcpkg.json index 032093137ff979..b33921f95afa6c 100644 --- a/ports/qt5-x11extras/vcpkg.json +++ b/ports/qt5-x11extras/vcpkg.json @@ -1,8 +1,9 @@ { "name": "qt5-x11extras", - "version-string": "5.15.2", - "port-version": 1, - "description": "Qt5 x11extras Module;", + "version": "5.15.15", + "description": "Qt X11 Extras enables the Qt programmer to write applications for the Linux/X11 platform.", + "license": null, + "supports": "!windows", "dependencies": [ { "name": "qt5-base", diff --git a/ports/qt5-xmlpatterns/vcpkg.json b/ports/qt5-xmlpatterns/vcpkg.json index efe86ebc5f0245..c8b60aa283deda 100644 --- a/ports/qt5-xmlpatterns/vcpkg.json +++ b/ports/qt5-xmlpatterns/vcpkg.json @@ -1,8 +1,8 @@ { "name": "qt5-xmlpatterns", - "version-string": "5.15.2", - "port-version": 1, - "description": "Qt5 XML Patterns Module - Support for XPath, XQuery, XSLT and XML schema validation", + "version": "5.15.15", + "description": "The Qt XML Patterns module provides support for XPath, XQuery, XSLT, and XML Schema validation.", + "license": null, "dependencies": [ { "name": "qt5-base", diff --git a/ports/qt5/vcpkg.json b/ports/qt5/vcpkg.json index bbf4197fdf3f6e..c6c4471dc0acf7 100644 --- a/ports/qt5/vcpkg.json +++ b/ports/qt5/vcpkg.json @@ -1,9 +1,9 @@ { "name": "qt5", - "version-string": "5.15.2", - "port-version": 1, - "description": "Qt5 Application Framework", + "version": "5.15.15", + "description": "A cross-platform application and UI framework.", "homepage": "https://www.qt.io/", + "license": null, "dependencies": [ { "name": "qt5-base", @@ -75,18 +75,26 @@ "name": "qt5", "default-features": false, "features": [ - "mysqlplugin", - "webengine" + "wayland" ], - "platform": "!static" + "platform": "linux" }, { "name": "qt5", "default-features": false, "features": [ - "wayland" + "webengine" ], - "platform": "!windows" + "platform": "!static" + }, + { + "name": "qt5-base", + "default-features": false, + "features": [ + "icu", + "mysqlplugin", + "postgresqlplugin" + ] } ] }, @@ -117,7 +125,10 @@ "doc": { "description": [], "dependencies": [ - "qt5-doc" + { + "name": "qt5-doc", + "platform": "linux" + } ] }, "essentials": { @@ -132,9 +143,12 @@ "imageformats", "multimedia", "networkauth", + "quickcontrols", "quickcontrols2", "svg", - "tools" + "tools", + "translations", + "websockets" ] } ] @@ -152,6 +166,9 @@ }, { "name": "qt5-winextras", + "features": [ + "declarative" + ], "platform": "windows" }, { @@ -179,16 +196,7 @@ ] }, "latest": { - "description": "Build latest qt version (5.15.2) instead of LTS (Currently latest==LTS)", - "dependencies": [ - { - "name": "qt5-base", - "default-features": false, - "features": [ - "latest" - ] - } - ] + "description": "(deprecated)" }, "location": { "description": [], diff --git a/ports/qt5compat/portfile.cmake b/ports/qt5compat/portfile.cmake index d597b464ec43e0..d13a078b9417bc 100644 --- a/ports/qt5compat/portfile.cmake +++ b/ports/qt5compat/portfile.cmake @@ -10,6 +10,8 @@ FEATURES "big-codecs" FEATURE_big_codecs "iconv" FEATURE_iconv "iconv" CMAKE_DISABLE_FIND_PACKAGE_ICU + #"iconv" CMAKE_REQUIRE_FIND_PACKAGE_WrapIconv + "qml" CMAKE_REQUIRE_FIND_PACKAGE_Qt6Quick INVERTED_FEATURES "iconv" CMAKE_DISABLE_FIND_PACKAGE_WrapIconv "qml" CMAKE_DISABLE_FIND_PACKAGE_Qt6Quick @@ -17,7 +19,12 @@ INVERTED_FEATURES #For iconv feature to work the following must be true: #CONDITION NOT FEATURE_icu AND FEATURE_textcodec AND NOT WIN32 AND NOT QNX AND NOT ANDROID AND NOT APPLE AND WrapIconv_FOUND -#TODO: check if qtbase was built with ICU and fail if iconv is given here. +if("iconv" IN_LIST FEATURES) + include("${SCRIPT_PATH}/port_status.cmake") + if(qtbase_with_icu) + message(FATAL_ERROR "qtbase was built with ICU. The iconv feature is not compatible with ICU.") + endif() +endif() set(TOOL_NAMES) qt_install_submodule(PATCHES ${${PORT}_PATCHES} diff --git a/ports/qt5compat/vcpkg.json b/ports/qt5compat/vcpkg.json index 2bad0cc3babb76..3bbd99be64c2d5 100644 --- a/ports/qt5compat/vcpkg.json +++ b/ports/qt5compat/vcpkg.json @@ -1,8 +1,9 @@ { "name": "qt5compat", - "version-semver": "6.2.1", - "description": "The module contains unsupported Qt 5 APIs", + "version": "6.7.3", + "description": "The Qt 5 Core Compat module contains the Qt 5 Core APIs that were removed in Qt 6. The module facilitates the transition to Qt 6.", "homepage": "https://www.qt.io/", + "license": null, "dependencies": [ { "name": "qtbase", diff --git a/ports/qtactiveqt/portfile.cmake b/ports/qtactiveqt/portfile.cmake index 5092d7d85c88c6..32b1aa7b182bf5 100644 --- a/ports/qtactiveqt/portfile.cmake +++ b/ports/qtactiveqt/portfile.cmake @@ -19,6 +19,7 @@ endif() vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES + "qml" CMAKE_REQUIRE_FIND_PACKAGE_Qt6Quick INVERTED_FEATURES "qml" CMAKE_DISABLE_FIND_PACKAGE_Qt6Quick ) diff --git a/ports/qtactiveqt/vcpkg.json b/ports/qtactiveqt/vcpkg.json index d173af83d39e45..feab8a94061ea3 100644 --- a/ports/qtactiveqt/vcpkg.json +++ b/ports/qtactiveqt/vcpkg.json @@ -1,8 +1,9 @@ { "name": "qtactiveqt", - "version-semver": "6.2.1", + "version": "6.7.3", "description": "ActiveQt", "homepage": "https://www.qt.io/", + "license": null, "supports": "windows", "dependencies": [ { diff --git a/ports/qtapplicationmanager/portfile.cmake b/ports/qtapplicationmanager/portfile.cmake new file mode 100644 index 00000000000000..8e66598280306a --- /dev/null +++ b/ports/qtapplicationmanager/portfile.cmake @@ -0,0 +1,67 @@ +set(SCRIPT_PATH "${CURRENT_INSTALLED_DIR}/share/qtbase") +include("${SCRIPT_PATH}/qt_install_submodule.cmake") + +set(${PORT}_PATCHES + wrapper-fixes.patch + stack-walker-arm64.patch + ) + +set(TOOL_NAMES appman + appman-controller + appman-dumpqmltypes + appman-packager + appman-qmltestrunner + appman-launcher-qml + package-uploader + ) + +qt_download_submodule(PATCHES ${${PORT}_PATCHES}) +if(QT_UPDATE_VERSION) + return() +endif() + +set(qt_plugindir ${QT6_DIRECTORY_PREFIX}plugins) +set(qt_qmldir ${QT6_DIRECTORY_PREFIX}qml) +qt_cmake_configure(${_opt} + OPTIONS + -DCMAKE_FIND_PACKAGE_TARGETS_GLOBAL=ON + -DINPUT_libarchive='system' + -DINPUT_libyaml='system' + -DFEATURE_am_system_libyaml=ON + -DINPUT_libyaml='system' + -DFEATURE_am_system_libarchive=ON + -DINPUT_libarchive='system' + -DINPUT_libdbus='no' + -DINPUT_libbacktrace='no' + OPTIONS_DEBUG + OPTIONS_RELEASE) + +### Need to fix one post-build.bat; Couldn't find the place where it gets generated! +if(VCPKG_TARGET_IS_WINDOWS) + set(scriptfile "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/src/tools/dumpqmltypes/CMakeFiles/appman-dumpqmltypes.dir/post-build.bat") + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}" CURRENT_INSTALLED_DIR_NATIVE) + if(EXISTS "${scriptfile}") + vcpkg_replace_string("${scriptfile}" "${CURRENT_INSTALLED_DIR_NATIVE}\\bin" "${CURRENT_INSTALLED_DIR_NATIVE}\\debug\\bin" IGNORE_UNCHANGED) + endif() +endif() +vcpkg_cmake_install(ADD_BIN_TO_PATH) + +qt_fixup_and_cleanup(TOOL_NAMES ${TOOL_NAMES}) + +qt_install_copyright("${SOURCE_PATH}") + +# Switch to a more complicated script due to the one post-build script which needed fixing after configure. +# If somebody finds out how/where post-build.bat gets generated please fix it there instead. +#qt_install_submodule(PATCHES ${${PORT}_PATCHES} +# TOOL_NAMES ${TOOL_NAMES} +# CONFIGURE_OPTIONS +# --trace-expand +# -DINPUT_libarchive=system +# -DINPUT_libyaml=system +# -DFEATURE_am_system_libyaml=ON +# -DFEATURE_am_system_libarchive=ON +# CONFIGURE_OPTIONS_RELEASE +# CONFIGURE_OPTIONS_DEBUG +# ) + +set(VCPKG_POLICY_MISMATCHED_NUMBER_OF_BINARIES enabled) #Debug tracing libraries are only build if CMAKE_BUILD_TYPE is equal to Debug diff --git a/ports/qtapplicationmanager/stack-walker-arm64.patch b/ports/qtapplicationmanager/stack-walker-arm64.patch new file mode 100644 index 00000000000000..4dd674ede3e316 --- /dev/null +++ b/ports/qtapplicationmanager/stack-walker-arm64.patch @@ -0,0 +1,19 @@ +diff --git a/src/3rdparty/stackwalker/stackwalker.cpp b/src/3rdparty/stackwalker/stackwalker.cpp +index 7008ac6..cfa0d0e 100644 +--- a/src/3rdparty/stackwalker/stackwalker.cpp ++++ b/src/3rdparty/stackwalker/stackwalker.cpp +@@ -1121,6 +1121,14 @@ BOOL StackWalker::ShowCallstack(HANDLE hThread, + s.AddrBStore.Mode = AddrModeFlat; + s.AddrStack.Offset = c.IntSp; + s.AddrStack.Mode = AddrModeFlat; ++#elif _M_ARM64 ++ imageType = IMAGE_FILE_MACHINE_ARM64; ++ s.AddrPC.Offset = c.Pc; ++ s.AddrPC.Mode = AddrModeFlat; ++ s.AddrFrame.Offset = c.Fp; ++ s.AddrFrame.Mode = AddrModeFlat; ++ s.AddrStack.Offset = c.Sp; ++ s.AddrStack.Mode = AddrModeFlat; + #else + #error "Platform not supported!" + #endif diff --git a/ports/qtapplicationmanager/vcpkg.json b/ports/qtapplicationmanager/vcpkg.json new file mode 100644 index 00000000000000..9c529fc592477d --- /dev/null +++ b/ports/qtapplicationmanager/vcpkg.json @@ -0,0 +1,29 @@ +{ + "name": "qtapplicationmanager", + "version": "6.7.3", + "description": "Qt component for application lifecycle management", + "homepage": "https://www.qt.io/", + "license": null, + "dependencies": [ + "libarchive", + "libyaml", + { + "name": "qtapplicationmanager", + "host": true, + "default-features": false + }, + { + "name": "qtbase", + "default-features": false + }, + { + "name": "qtdeclarative", + "default-features": false + }, + { + "name": "qtwayland", + "default-features": false, + "platform": "!windows" + } + ] +} diff --git a/ports/qtapplicationmanager/wrapper-fixes.patch b/ports/qtapplicationmanager/wrapper-fixes.patch new file mode 100644 index 00000000000000..194e35f816a0e9 --- /dev/null +++ b/ports/qtapplicationmanager/wrapper-fixes.patch @@ -0,0 +1,56 @@ +diff --git a/cmake/FindWrapLibArchive.cmake b/cmake/FindWrapLibArchive.cmake +index 67e4ce0..887b766 100644 +--- a/cmake/FindWrapLibArchive.cmake ++++ b/cmake/FindWrapLibArchive.cmake +@@ -16,3 +16,24 @@ add_library(WrapLibArchive::WrapLibArchive INTERFACE IMPORTED) + target_link_libraries(WrapLibArchive::WrapLibArchive INTERFACE ${LibArchive_LIBRARIES}) + target_include_directories(WrapLibArchive::WrapLibArchive INTERFACE ${LibArchive_INCLUDE_DIRS}) + set(WrapLibArchive_FOUND TRUE) ++if(TARGET BZip2::BZip2) ++ set_property(TARGET BZip2::BZip2 PROPERTY _qt_no_promote_global TRUE) ++endif() ++if(TARGET Threads::Threads) ++ set_property(TARGET Threads::Threads PROPERTY _qt_no_promote_global TRUE) ++endif() ++if(TARGET OpenSSL::Crypto) ++ set_property(TARGET OpenSSL::Crypto PROPERTY _qt_no_promote_global TRUE) ++endif() ++if(TARGET zstd::libzstd) ++ set_property(TARGET zstd::libzstd PROPERTY _qt_no_promote_global TRUE) ++endif() ++if(TARGET zstd::libzstd_shared) ++ set_property(TARGET zstd::libzstd_shared PROPERTY _qt_no_promote_global TRUE) ++endif() ++if(TARGET zstd::libzstd_static) ++ set_property(TARGET zstd::libzstd_static PROPERTY _qt_no_promote_global TRUE) ++endif() ++if(TARGET ZLIB::ZLIB) ++ set_property(TARGET ZLIB::ZLIB PROPERTY _qt_no_promote_global TRUE) ++endif() +diff --git a/cmake/FindWrapLibYaml.cmake b/cmake/FindWrapLibYaml.cmake +index 1dab912..c09e97f 100644 +--- a/cmake/FindWrapLibYaml.cmake ++++ b/cmake/FindWrapLibYaml.cmake +@@ -10,10 +10,17 @@ pkg_check_modules(pc_libyaml yaml-0.1 IMPORTED_TARGET) + + + if (NOT pc_libyaml_FOUND) +- set(WrapLibYaml_FOUND FALSE) +- return() ++ find_package(yaml) ++ if(yaml_FOUND) ++ add_library(WrapLibYaml::WrapLibYaml INTERFACE IMPORTED) ++ target_link_libraries(WrapLibYaml::WrapLibYaml INTERFACE ${yaml_LIBRARIES}) ++ else() ++ set(WrapLibYaml_FOUND FALSE) ++ return() ++ endif() ++else() ++ add_library(WrapLibYaml::WrapLibYaml INTERFACE IMPORTED) ++ target_link_libraries(WrapLibYaml::WrapLibYaml INTERFACE PkgConfig::pc_libyaml) + endif() +- +-add_library(WrapLibYaml::WrapLibYaml INTERFACE IMPORTED) +-target_link_libraries(WrapLibYaml::WrapLibYaml INTERFACE ${pc_libyaml_LIBRARIES}) + set(WrapLibYaml_FOUND TRUE) ++ diff --git a/ports/qtbase/GLIB2-static.patch b/ports/qtbase/GLIB2-static.patch new file mode 100644 index 00000000000000..0384482bbc94b3 --- /dev/null +++ b/ports/qtbase/GLIB2-static.patch @@ -0,0 +1,103 @@ +diff --git a/cmake/3rdparty/extra-cmake-modules/find-modules/FindGLIB2.cmake b/cmake/3rdparty/extra-cmake-modules/find-modules/FindGLIB2.cmake +index 24a194c..91c8e41 100644 +--- a/cmake/3rdparty/extra-cmake-modules/find-modules/FindGLIB2.cmake ++++ b/cmake/3rdparty/extra-cmake-modules/find-modules/FindGLIB2.cmake +@@ -95,6 +95,18 @@ find_library(GLIB2_GIO_LIBRARIES + HINTS ${PC_GIO_LIBDIR} + ) + ++pkg_check_modules(PC_GMODULE QUIET gmodule-2.0) ++ ++find_path(GLIB2_GMODULE_INCLUDE_DIRS ++ NAMES gmodule.h ++ HINTS ${PC_GMODULE} ++ PATH_SUFFIXES glib-2.0) ++ ++find_library(GLIB2_GMODULE_LIBRARIES ++ NAMES gmodule-2.0 ++ HINTS ${PC_GMODULE} ++) ++ + # search the glibconfig.h include dir under the same root where the library is found + get_filename_component(glib2LibDir "${GLIB2_LIBRARIES}" PATH) + +@@ -126,6 +138,11 @@ if(GLIB2_GIO_LIBRARIES AND GLIB2_GIO_INCLUDE_DIRS) + set(GLIB2_GIO_FOUND TRUE) + endif() + ++if(GLIB2_GMODULE_LIBRARIES AND GLIB2_GMODULE_INCLUDE_DIRS) ++ set(GLIB2_GMODULE_FOUND TRUE) ++endif() ++ ++ + include(FindPackageHandleStandardArgs) + find_package_handle_standard_args(GLIB2 + REQUIRED_VARS GLIB2_LIBRARIES GTHREAD2_LIBRARIES GLIB2_INCLUDE_DIRS +@@ -137,6 +154,16 @@ if(GLIB2_FOUND AND NOT TARGET GLIB2::GLIB2) + IMPORTED_LOCATION "${GLIB2_LIBRARIES}" + INTERFACE_LINK_LIBRARIES "${GTHREAD2_LIBRARIES}" + INTERFACE_INCLUDE_DIRECTORIES "${GLIB2_INCLUDE_DIRS}") ++ #vcpkg specific ++ pkg_check_modules(PC_PCRE2_8BIT QUIET libpcre2-8) ++ find_library(PCRE2_8BIT_LIBRARIES ++ NAMES pcre2-8 ++ HINTS ${PC_PCRE2_8BIT} ++ ) ++ target_link_libraries(GLIB2::GLIB2 INTERFACE ${PCRE2_8BIT_LIBRARIES}) ++ find_package(Iconv) ++ find_package(Intl) ++ target_link_libraries(GLIB2::GLIB2 INTERFACE Intl::Intl Iconv::Iconv) + endif() + + if(GLIB2_GOBJECT_FOUND AND NOT TARGET GLIB2::GOBJECT) +@@ -153,12 +180,21 @@ if(GLIB2_GIO_FOUND AND NOT TARGET GLIB2::GIO) + INTERFACE_INCLUDE_DIRECTORIES "${GLIB2_GIO_INCLUDE_DIRS}") + endif() + ++if(GLIB2_GMODULE_FOUND AND NOT TARGET GLIB2::GMODULE) ++ add_library(GLIB2::GMODULE UNKNOWN IMPORTED) ++ set_target_properties(GLIB2::GMODULE PROPERTIES ++ IMPORTED_LOCATION "${GLIB2_GMODULE_LIBRARIES}" ++ INTERFACE_INCLUDE_DIRECTORIES "${GLIB2_GMODULE_INCLUDE_DIRS}") ++endif() ++ ++ + mark_as_advanced(GLIB2_INCLUDE_DIRS GLIB2_INCLUDE_DIR + GLIB2_LIBRARIES GLIB2_LIBRARY + GLIB2_GOBJECT_INCLUDE_DIRS GLIB2_GOBJECT_INCLUDE_DIR + GLIB2_GOBJECT_LIBRARIES GLIB2_GOBJECT_LIBRARY + GLIB2_GIO_INCLUDE_DIRS GLIB2_GIO_INCLUDE_DIR +- GLIB2_GIO_LIBRARIES GLIB2_GIO_LIBRARY) ++ GLIB2_GIO_LIBRARIES GLIB2_GIO_LIBRARY ++ GLIB2_GMODULE_LIBRARIES GLIB2_GMODULE_INCLUDE_DIRS) + + include(FeatureSummary) + set_package_properties(GLIB2 PROPERTIES +diff --git a/src/corelib/configure.cmake b/src/corelib/configure.cmake +index 7d52f48..2b1b221 100644 +--- a/src/corelib/configure.cmake ++++ b/src/corelib/configure.cmake +@@ -25,7 +25,7 @@ endif() + qt_find_package(WrapSystemDoubleConversion + PROVIDED_TARGETS WrapSystemDoubleConversion::WrapSystemDoubleConversion + MODULE_NAME core QMAKE_LIB doubleconversion) +-qt_find_package(GLIB2 PROVIDED_TARGETS GLIB2::GLIB2 MODULE_NAME core QMAKE_LIB glib) ++qt_find_package(GLIB2 PROVIDED_TARGETS GLIB2::GLIB2 MODULE MODULE_NAME core QMAKE_LIB glib) + qt_find_package(ICU 50.1 COMPONENTS i18n uc data PROVIDED_TARGETS ICU::i18n ICU::uc ICU::data + MODULE_NAME core QMAKE_LIB icu) + +diff --git a/src/network/configure.cmake b/src/network/configure.cmake +index aef7f15..21b0c1d 100644 +--- a/src/network/configure.cmake ++++ b/src/network/configure.cmake +@@ -10,8 +10,8 @@ + qt_find_package(WrapBrotli PROVIDED_TARGETS WrapBrotli::WrapBrotliDec MODULE_NAME network QMAKE_LIB brotli) + qt_find_package(Libproxy PROVIDED_TARGETS PkgConfig::Libproxy MODULE_NAME network QMAKE_LIB libproxy) + qt_find_package(GSSAPI PROVIDED_TARGETS GSSAPI::GSSAPI MODULE_NAME network QMAKE_LIB gssapi) +-qt_find_package(GLIB2 OPTIONAL_COMPONENTS GOBJECT PROVIDED_TARGETS GLIB2::GOBJECT MODULE_NAME core QMAKE_LIB gobject) +-qt_find_package(GLIB2 OPTIONAL_COMPONENTS GIO PROVIDED_TARGETS GLIB2::GIO MODULE_NAME core QMAKE_LIB gio) ++qt_find_package(GLIB2 OPTIONAL_COMPONENTS GOBJECT PROVIDED_TARGETS GLIB2::GOBJECT MODULE MODULE_NAME core QMAKE_LIB gobject) ++qt_find_package(GLIB2 OPTIONAL_COMPONENTS GIO PROVIDED_TARGETS GLIB2::GIO MODULE MODULE_NAME core QMAKE_LIB gio) + qt_find_package(WrapResolv PROVIDED_TARGETS WrapResolv::WrapResolv MODULE_NAME network QMAKE_LIB libresolv) + + #### Tests diff --git a/ports/qtbase/allow_outside_prefix.patch b/ports/qtbase/allow_outside_prefix.patch index 7ddef9e4ffeffa..eeb503bcbc84dc 100644 --- a/ports/qtbase/allow_outside_prefix.patch +++ b/ports/qtbase/allow_outside_prefix.patch @@ -1,22 +1,17 @@ -diff --git a/cmake/QtBuild.cmake b/cmake/QtBuild.cmake +diff --git a/cmake/QtBuildPathsHelpers.cmake b/cmake/QtBuildPathsHelpers.cmake index bd186c28b..2c1994d2e 100644 ---- a/cmake/QtBuild.cmake -+++ b/cmake/QtBuild.cmake -@@ -28,11 +28,13 @@ function(qt_configure_process_path name default docstring) - elseif(rel_path MATCHES "^\.\./") - # INSTALL_SYSCONFDIR is allowed to be outside the prefix. - if(NOT name STREQUAL "INSTALL_SYSCONFDIR") -- message(FATAL_ERROR -- "Path component '${name}' is outside computed install prefix: ${rel_path} ") -- return() -+ #message(FATAL_ERROR -+ # "Path component '${name}' is outside computed install prefix: ${rel_path} ") -+ #return() -+ set("${name}" "${rel_path}" CACHE STRING "${docstring}" FORCE) -+ else() -+ set("${name}" "${${name}}" CACHE STRING "${docstring}" FORCE) - endif() -- set("${name}" "${${name}}" CACHE STRING "${docstring}" FORCE) - else() - set("${name}" "${rel_path}" CACHE STRING "${docstring}" FORCE) +--- a/cmake/QtBuildPathsHelpers.cmake ++++ b/cmake/QtBuildPathsHelpers.cmake +@@ -141,11 +141,9 @@ function(qt_configure_process_path name default docstring) + elseif(rel_path MATCHES "^\.\./") + # INSTALL_SYSCONFDIR is allowed to be outside the prefix. + if(NOT name STREQUAL "INSTALL_SYSCONFDIR") +- message(FATAL_ERROR +- "Path component '${name}' is outside computed install prefix: ${rel_path} ") endif() + # Keep the absolute path. + set(new_value "${${name}}") + else() + # Use the canonicalized path. + set(new_value "${rel_path}") + diff --git a/ports/qtbase/clang-cl_QGADGET_fix.diff b/ports/qtbase/clang-cl_QGADGET_fix.diff new file mode 100644 index 00000000000000..0304bcc47dee87 --- /dev/null +++ b/ports/qtbase/clang-cl_QGADGET_fix.diff @@ -0,0 +1,38 @@ +diff --git a/src/corelib/kernel/qmetatype.h b/src/corelib/kernel/qmetatype.h +index e40cd85..ba68a01 100644 +--- a/src/corelib/kernel/qmetatype.h ++++ b/src/corelib/kernel/qmetatype.h +@@ -18,6 +18,7 @@ + #endif + #include + ++#include + #include + #include + #include +@@ -826,7 +829,13 @@ + struct IsGadgetHelper { enum { IsRealGadget = false, IsGadgetOrDerivedFrom = false }; }; + + template ++#if defined(__clang__) && (__clang_major__ > 11) ++ // Clang does not reject T::QtGadgetHelper as ambiguous if a class inherits from two QGADGETS ++ // but is not a QGADGET itself ++ struct IsGadgetHelper> ++#else + struct IsGadgetHelper ++#endif + { + template + static char checkType(void (X::*)()); +@@ -841,7 +850,11 @@ + struct IsPointerToGadgetHelper { enum { IsRealGadget = false, IsGadgetOrDerivedFrom = false }; }; + + template ++#if defined(__clang__) && (__clang_major__ > 11) ++ struct IsPointerToGadgetHelper> ++#else + struct IsPointerToGadgetHelper ++#endif + { + using BaseType = T; + template diff --git a/ports/qtbase/clang-cl_source_location.patch b/ports/qtbase/clang-cl_source_location.patch index 6d0a9527e26470..5155fb4bbb5353 100644 --- a/ports/qtbase/clang-cl_source_location.patch +++ b/ports/qtbase/clang-cl_source_location.patch @@ -2,12 +2,12 @@ diff --git a/src/corelib/kernel/qproperty.h b/src/corelib/kernel/qproperty.h index 823b2057b..4a8cd4fa8 100644 --- a/src/corelib/kernel/qproperty.h +++ b/src/corelib/kernel/qproperty.h -@@ -49,8 +49,8 @@ +@@ -16,8 +16,8 @@ #include --#if __has_include() && __cplusplus >= 202002L && !defined(Q_CLANG_QDOC) -+#if __has_include() && __cplusplus >= 202002L && !defined(Q_CLANG_QDOC) && defined(__cpp_consteval) +-#if __has_include() && __cplusplus >= 202002L && !defined(Q_QDOC) ++#if __has_include() && __cplusplus >= 202002L && !defined(Q_QDOC) && ( (defined(__cpp_consteval) && defined(_MSC_VER)) || !defined(_MSC_VER) ) #include #if defined(__cpp_lib_source_location) #define QT_SOURCE_LOCATION_NAMESPACE std diff --git a/ports/qtbase/cmake/qt_install_copyright.cmake b/ports/qtbase/cmake/qt_install_copyright.cmake index 5215f96758e5f5..8ec395fe627026 100644 --- a/ports/qtbase/cmake/qt_install_copyright.cmake +++ b/ports/qtbase/cmake/qt_install_copyright.cmake @@ -1,3 +1,5 @@ +include_guard(GLOBAL) + #Could probably be the beginning of a vcpkg_install_copyright? function(qt_install_copyright SOURCE_PATH) #Find the relevant license file and install it @@ -14,5 +16,12 @@ function(qt_install_copyright SOURCE_PATH) elseif(EXISTS "${SOURCE_PATH}/LICENSE.FDL") set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.FDL") endif() - file(INSTALL "${LICENSE_PATH}" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) + if(LICENSE_PATH) + file(INSTALL "${LICENSE_PATH}" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) + elseif(EXISTS "${SOURCE_PATH}/LICENSES") + file(GLOB LICENSES "${SOURCE_PATH}/LICENSES/*") + vcpkg_install_copyright(FILE_LIST ${LICENSES}) + else() + message(WARNING "No license/copyright file found!") + endif() endfunction() diff --git a/ports/qtbase/cmake/qt_install_submodule.cmake b/ports/qtbase/cmake/qt_install_submodule.cmake index 587d6192cf3e0e..922ef2ea233d94 100644 --- a/ports/qtbase/cmake/qt_install_submodule.cmake +++ b/ports/qtbase/cmake/qt_install_submodule.cmake @@ -1,99 +1,164 @@ -include("${CMAKE_CURRENT_LIST_DIR}/qt_install_copyright.cmake") +include_guard(GLOBAL) -if(QT_IS_LATEST AND PORT STREQUAL "qtbase") - include("${CMAKE_CURRENT_LIST_DIR}/qt_port_details-latest.cmake") -else() - include("${CMAKE_CURRENT_LIST_DIR}/qt_port_details.cmake") -endif() -#set(PORT_DEBUG ON) +include("${CURRENT_HOST_INSTALLED_DIR}/share/vcpkg-cmake/vcpkg-port-config.cmake") +include("${CURRENT_HOST_INSTALLED_DIR}/share/vcpkg-cmake-config/vcpkg-port-config.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/qt_install_copyright.cmake") if(NOT DEFINED QT6_DIRECTORY_PREFIX) set(QT6_DIRECTORY_PREFIX "Qt6/") endif() -macro(qt_stop_on_update) - if(QT_UPDATE_VERSION) - set(VCPKG_POLICY_EMPTY_PACKAGE enabled CACHE INTERNAL "") - return() - endif() -endmacro() +if(VCPKG_TARGET_IS_ANDROID AND NOT ANDROID_SDK_ROOT) + message(FATAL_ERROR "${PORT} requires ANDROID_SDK_ROOT to be set. Consider adding it to the triplet." ) +endif() -function(qt_download_submodule) - cmake_parse_arguments(PARSE_ARGV 0 "_qarg" "" - "" - "PATCHES") +function(qt_download_submodule_impl) + cmake_parse_arguments(PARSE_ARGV 0 "_qarg" "" "SUBMODULE" "PATCHES") - if(QT_UPDATE_VERSION) - set(VCPKG_USE_HEAD_VERSION ON) - set(UPDATE_PORT_GIT_OPTIONS - HEAD_REF "${QT_GIT_TAG}") + if("${_qarg_SUBMODULE}" IN_LIST QT_FROM_QT_GIT) + # qtinterfaceframework is not available in the release, so we fall back to a `git clone`. + vcpkg_from_git( + OUT_SOURCE_PATH SOURCE_PATH + URL "https://code.qt.io/qt/${_qarg_SUBMODULE}.git" + REF "${${_qarg_SUBMODULE}_REF}" + PATCHES ${_qarg_PATCHES} + ) + if(PORT STREQUAL "qttools") # Keep this for beta & rc's + vcpkg_from_git( + OUT_SOURCE_PATH SOURCE_PATH_QLITEHTML + URL https://code.qt.io/playground/qlitehtml.git + REF "${${PORT}_qlitehtml_REF}" + FETCH_REF master + HEAD_REF master + ) + # port 'litehtml' is not in vcpkg! + vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH_LITEHTML + REPO litehtml/litehtml + REF "${${PORT}_litehtml_REF}" + SHA512 "${${PORT}_litehtml_HASH}" + HEAD_REF master + ) + file(COPY "${SOURCE_PATH_QLITEHTML}/" DESTINATION "${SOURCE_PATH}/src/assistant/qlitehtml") + file(COPY "${SOURCE_PATH_LITEHTML}/" DESTINATION "${SOURCE_PATH}/src/assistant/qlitehtml/src/3rdparty/litehtml") + elseif(PORT STREQUAL "qtwebengine") + vcpkg_from_git( + OUT_SOURCE_PATH SOURCE_PATH_WEBENGINE + URL https://code.qt.io/qt/qtwebengine-chromium.git + REF "${${PORT}_chromium_REF}" + ) + if(NOT EXISTS "${SOURCE_PATH}/src/3rdparty/chromium") + file(RENAME "${SOURCE_PATH_WEBENGINE}/chromium" "${SOURCE_PATH}/src/3rdparty/chromium") + endif() + if(NOT EXISTS "${SOURCE_PATH}/src/3rdparty/gn") + file(RENAME "${SOURCE_PATH_WEBENGINE}/gn" "${SOURCE_PATH}/src/3rdparty/gn") + endif() + endif() + else() + if(VCPKG_USE_HEAD_VERSION) + set(sha512 SKIP_SHA512) + elseif(NOT DEFINED "${_qarg_SUBMODULE}_HASH") + message(FATAL_ERROR "No information for ${_qarg_SUBMODULE} -- add it to QT_PORTS and run qtbase in QT_UPDATE_VERSION mode first") + else() + set(sha512 SHA512 "${${_qarg_SUBMODULE}_HASH}") + endif() + + qt_get_url_filename("${_qarg_SUBMODULE}" urls filename) + vcpkg_download_distfile(archive + URLS ${urls} + FILENAME "${filename}" + ${sha512} + ) + vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${archive}" + PATCHES ${_qarg_PATCHES} + ) endif() + set(SOURCE_PATH "${SOURCE_PATH}" PARENT_SCOPE) +endfunction() - vcpkg_from_git( - OUT_SOURCE_PATH SOURCE_PATH - URL "https://code.qt.io/qt/${PORT}.git" - REF "${${PORT}_REF}" - ${UPDATE_PORT_GIT_OPTIONS} - PATCHES ${_qarg_PATCHES} - ) +function(qt_download_submodule) + cmake_parse_arguments(PARSE_ARGV 0 "_qarg" "" "" "PATCHES") + + qt_download_submodule_impl(SUBMODULE "${PORT}" PATCHES ${_qarg_PATCHES}) - if(QT_UPDATE_VERSION) - set(VCPKG_POLICY_EMPTY_PACKAGE enabled CACHE INTERNAL "") - message(STATUS "VCPKG_HEAD_VERSION:${VCPKG_HEAD_VERSION}") - file(APPEND "${VCPKG_ROOT_DIR}/ports/qtbase/cmake/qt_new_refs.cmake" "set(${PORT}_REF ${VCPKG_HEAD_VERSION})\n") - endif() set(SOURCE_PATH "${SOURCE_PATH}" PARENT_SCOPE) endfunction() function(qt_cmake_configure) - cmake_parse_arguments(PARSE_ARGV 0 "_qarg" "DISABLE_NINJA" + cmake_parse_arguments(PARSE_ARGV 0 "_qarg" "DISABLE_NINJA;DISABLE_PARALLEL_CONFIGURE" "" - "TOOL_NAMES;OPTIONS;OPTIONS_DEBUG;OPTIONS_RELEASE") - + "TOOL_NAMES;OPTIONS;OPTIONS_DEBUG;OPTIONS_RELEASE;OPTIONS_MAYBE_UNUSED") + vcpkg_find_acquire_program(PERL) # Perl is probably required by all qt ports for syncqt get_filename_component(PERL_PATH ${PERL} DIRECTORY) vcpkg_add_to_path(${PERL_PATH}) - if(NOT PORT STREQUAL "qtwebengine") # qtwebengine requires python2 + if(NOT PORT STREQUAL "qtwebengine" OR QT_IS_LATEST) # qtwebengine requires python2; since 6.3 python3 vcpkg_find_acquire_program(PYTHON3) # Python is required by some qt ports get_filename_component(PYTHON3_PATH ${PYTHON3} DIRECTORY) vcpkg_add_to_path(${PYTHON3_PATH}) endif() - if(CMAKE_HOST_WIN32) - if(NOT ${PORT} MATCHES "qtbase") - list(APPEND _qarg_OPTIONS -DQT_SYNCQT:PATH="${CURRENT_HOST_INSTALLED_DIR}/tools/Qt6/bin/syncqt.pl") - endif() - set(PERL_OPTION -DHOST_PERL:PATH="${PERL}") - else() - if(NOT ${PORT} MATCHES "qtbase") - list(APPEND _qarg_OPTIONS -DQT_SYNCQT:PATH=${CURRENT_HOST_INSTALLED_DIR}/tools/Qt6/bin/syncqt.pl) - endif() - set(PERL_OPTION -DHOST_PERL:PATH=${PERL}) + if(NOT PORT MATCHES "^qtbase") + list(APPEND _qarg_OPTIONS "-DQT_SYNCQT:PATH=${CURRENT_HOST_INSTALLED_DIR}/tools/Qt6/bin/syncqt.pl") endif() + set(PERL_OPTION "-DHOST_PERL:PATH=${PERL}") - if(NOT _qarg_DISABLE_NINJA) - set(NINJA_OPTION PREFER_NINJA) + set(ninja_option "") + if(_qarg_DISABLE_NINJA) + set(ninja_option WINDOWS_USE_MSBUILD) + endif() + + set(disable_parallel "") + if(_qarg_DISABLE_PARALLEL_CONFIGURE) + set(disable_parallel DISABLE_PARALLEL_CONFIGURE) endif() 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}") + list(APPEND _qarg_OPTIONS "-DQT_HOST_PATH_CMAKE_DIR:PATH=${CURRENT_HOST_INSTALLED_DIR}/share") endif() - vcpkg_configure_cmake( + # Disable warning for CMAKE_(REQUIRE|DISABLE)_FIND_PACKAGE_ + string(REGEX MATCHALL "CMAKE_DISABLE_FIND_PACKAGE_[^:=]+" disabled_find_package "${_qarg_OPTIONS}") + list(APPEND _qarg_OPTIONS_MAYBE_UNUSED ${disabled_find_package}) + + string(REGEX MATCHALL "CMAKE_REQUIRE_FIND_PACKAGE_[^:=]+(:BOOL)?=OFF" require_find_package "${_qarg_OPTIONS}") + list(TRANSFORM require_find_package REPLACE "(:BOOL)?=OFF" "") + list(APPEND _qarg_OPTIONS_MAYBE_UNUSED ${require_find_package}) + + # Disable unused warnings for disabled features. Qt might decide to not emit the feature variables if other features are deactivated. + string(REGEX MATCHALL "(QT_)?FEATURE_[^:=]+(:BOOL)?=OFF" disabled_features "${_qarg_OPTIONS}") + list(TRANSFORM disabled_features REPLACE "(:BOOL)?=OFF" "") + list(APPEND _qarg_OPTIONS_MAYBE_UNUSED ${disabled_features}) + + list(APPEND _qarg_OPTIONS "-DQT_NO_FORCE_SET_CMAKE_BUILD_TYPE:BOOL=ON") + + if(VCPKG_TARGET_IS_ANDROID) + list(APPEND _qarg_OPTIONS "-DANDROID_SDK_ROOT=${ANDROID_SDK_ROOT}") + endif() + + if(NOT PORT MATCHES "qtbase") + list(APPEND _qarg_OPTIONS "-DQT_MKSPECS_DIR:PATH=${CURRENT_HOST_INSTALLED_DIR}/share/Qt6/mkspecs") + endif() + + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - ${NINJA_OPTION} - OPTIONS + ${ninja_option} + ${disable_parallel} + OPTIONS + -DQT_NO_FORCE_SET_CMAKE_BUILD_TYPE:BOOL=ON + -DQT_USE_DEFAULT_CMAKE_OPTIMIZATION_FLAGS:BOOL=ON # We don't want Qt to mess with users toolchain settings. + -DCMAKE_FIND_PACKAGE_TARGETS_GLOBAL=ON # Because Qt doesn't correctly scope find_package calls. #-DQT_HOST_PATH= # For crosscompiling #-DQT_PLATFORM_DEFINITION_DIR=mkspecs/win32-msvc #-DQT_QMAKE_TARGET_MKSPEC=win32-msvc #-DQT_USE_CCACHE - -DQT_NO_MAKE_EXAMPLES:BOOL=TRUE - -DQT_NO_MAKE_TESTS:BOOL=TRUE + -DQT_BUILD_EXAMPLES:BOOL=OFF + -DQT_BUILD_TESTS:BOOL=OFF + -DQT_BUILD_BENCHMARKS:BOOL=OFF ${PERL_OPTION} -DINSTALL_BINDIR:STRING=bin -DINSTALL_LIBEXECDIR:STRING=bin @@ -108,13 +173,36 @@ function(qt_cmake_configure) -DINSTALL_MKSPECSDIR:STRING=share/Qt6/mkspecs -DINSTALL_TRANSLATIONSDIR:STRING=translations/${QT6_DIRECTORY_PREFIX} OPTIONS_DEBUG - -DINPUT_debug:BOOL=ON + # -DFEATURE_debug:BOOL=ON only needed by qtbase and auto detected? -DINSTALL_DOCDIR:STRING=../doc/${QT6_DIRECTORY_PREFIX} -DINSTALL_INCLUDEDIR:STRING=../include/${QT6_DIRECTORY_PREFIX} -DINSTALL_TRANSLATIONSDIR:STRING=../translations/${QT6_DIRECTORY_PREFIX} -DINSTALL_DESCRIPTIONSDIR:STRING=../share/Qt6/modules -DINSTALL_MKSPECSDIR:STRING=../share/Qt6/mkspecs - ${_qis_CONFIGURE_OPTIONS_DEBUG} + ${_qarg_OPTIONS_DEBUG} + MAYBE_UNUSED_VARIABLES + INSTALL_BINDIR + INSTALL_DOCDIR + INSTALL_LIBEXECDIR + INSTALL_QMLDIR # No qml files + INSTALL_TRANSLATIONSDIR # No translations + INSTALL_PLUGINSDIR # No plugins + INSTALL_DESCRIPTIONSDIR + INSTALL_INCLUDEDIR + HOST_PERL + QT_SYNCQT + QT_NO_FORCE_SET_CMAKE_BUILD_TYPE + ${_qarg_OPTIONS_MAYBE_UNUSED} + INPUT_bundled_xcb_xinput + INPUT_freetype + INPUT_harfbuzz + INPUT_libjpeg + INPUT_libmd4c + INPUT_libpng + INPUT_opengl + INPUT_openssl + INPUT_xcb + INPUT_xkbcommon ) set(Z_VCPKG_CMAKE_GENERATOR "${Z_VCPKG_CMAKE_GENERATOR}" PARENT_SCOPE) endfunction() @@ -124,13 +212,14 @@ function(qt_fix_prl_files) file(TO_CMAKE_PATH "${package_dir}/lib" lib_path) file(TO_CMAKE_PATH "${package_dir}/include/Qt6" include_path) file(TO_CMAKE_PATH "${CURRENT_INSTALLED_DIR}" install_prefix) - file(GLOB_RECURSE prl_files "${CURRENT_PACKAGES_DIR}/*.prl") + file(GLOB_RECURSE prl_files "${CURRENT_PACKAGES_DIR}/*.prl" "${CURRENT_PACKAGES_DIR}/*.pri") foreach(prl_file IN LISTS prl_files) file(READ "${prl_file}" _contents) string(REPLACE "${lib_path}" "\$\$[QT_INSTALL_LIBS]" _contents "${_contents}") string(REPLACE "${include_path}" "\$\$[QT_INSTALL_HEADERS]" _contents "${_contents}") string(REPLACE "${install_prefix}" "\$\$[QT_INSTALL_PREFIX]" _contents "${_contents}") string(REPLACE "[QT_INSTALL_PREFIX]/lib/objects-Debug" "[QT_INSTALL_LIBS]/objects-Debug" _contents "${_contents}") + string(REPLACE "[QT_INSTALL_PREFIX]/Qt6/qml" "[QT_INSTALL_QML]" _contents "${_contents}") #Note: This only works without an extra if case since QT_INSTALL_PREFIX is the same for debug and release file(WRITE "${prl_file}" "${_contents}") endforeach() @@ -145,7 +234,7 @@ function(qt_fixup_and_cleanup) ## Handle PRL files qt_fix_prl_files() - ## Handle CMake files. + ## Handle CMake files. set(COMPONENTS) file(GLOB COMPONENTS_OR_FILES LIST_DIRECTORIES true "${CURRENT_PACKAGES_DIR}/share/Qt6*") list(REMOVE_ITEM COMPONENTS_OR_FILES "${CURRENT_PACKAGES_DIR}/share/Qt6") @@ -159,29 +248,28 @@ function(qt_fixup_and_cleanup) foreach(_comp IN LISTS COMPONENTS) if(EXISTS "${CURRENT_PACKAGES_DIR}/share/Qt6${_comp}") - vcpkg_fixup_cmake_targets(CONFIG_PATH share/Qt6${_comp} TARGET_PATH share/Qt6${_comp} TOOLS_PATH "tools/Qt6/bin") - # Would rather put it into share/cmake as before but the import_prefix correction in vcpkg_fixup_cmake_targets is working against that. + vcpkg_cmake_config_fixup(PACKAGE_NAME "Qt6${_comp}" CONFIG_PATH "share/Qt6${_comp}" TOOLS_PATH "tools/Qt6/bin") + # Would rather put it into share/cmake as before but the import_prefix correction in vcpkg_cmake_config_fixup is working against that. else() message(STATUS "WARNING: Qt component ${_comp} not found/built!") endif() endforeach() - #fix debug plugin paths (should probably be fixed in vcpkg_fixup_pkgconfig) + #fix debug plugin paths (should probably be fixed in vcpkg_cmake_config_fixup) file(GLOB_RECURSE DEBUG_CMAKE_TARGETS "${CURRENT_PACKAGES_DIR}/share/**/*Targets-debug.cmake") debug_message("DEBUG_CMAKE_TARGETS:${DEBUG_CMAKE_TARGETS}") foreach(_debug_target IN LISTS DEBUG_CMAKE_TARGETS) - vcpkg_replace_string("${_debug_target}" "{_IMPORT_PREFIX}/${qt_plugindir}" "{_IMPORT_PREFIX}/debug/${qt_plugindir}") - vcpkg_replace_string("${_debug_target}" "{_IMPORT_PREFIX}/${qt_qmldir}" "{_IMPORT_PREFIX}/debug/${qt_qmldir}") + vcpkg_replace_string("${_debug_target}" "{_IMPORT_PREFIX}/${qt_plugindir}" "{_IMPORT_PREFIX}/debug/${qt_plugindir}" IGNORE_UNCHANGED) + vcpkg_replace_string("${_debug_target}" "{_IMPORT_PREFIX}/${qt_qmldir}" "{_IMPORT_PREFIX}/debug/${qt_qmldir}" IGNORE_UNCHANGED) endforeach() - if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(GLOB_RECURSE STATIC_CMAKE_TARGETS "${CURRENT_PACKAGES_DIR}/share/Qt6Qml/QmlPlugins/*.cmake") - foreach(_plugin_target IN LISTS STATIC_CMAKE_TARGETS) - # restore a single get_filename_component which was remove by vcpkg_fixup_pkgconfig - vcpkg_replace_string("${_plugin_target}" - [[get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH)]] - "get_filename_component(_IMPORT_PREFIX \"\${CMAKE_CURRENT_LIST_FILE}\" PATH)\nget_filename_component(_IMPORT_PREFIX \"\${_IMPORT_PREFIX}\" PATH)") - endforeach() - endif() + file(GLOB_RECURSE STATIC_CMAKE_TARGETS "${CURRENT_PACKAGES_DIR}/share/Qt6Qml/QmlPlugins/*.cmake") + foreach(_plugin_target IN LISTS STATIC_CMAKE_TARGETS) + # restore a single get_filename_component which was remove by vcpkg_cmake_config_fixup + vcpkg_replace_string("${_plugin_target}" + [[get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH)]] + "get_filename_component(_IMPORT_PREFIX \"\${CMAKE_CURRENT_LIST_FILE}\" PATH)\nget_filename_component(_IMPORT_PREFIX \"\${_IMPORT_PREFIX}\" PATH)" + IGNORE_UNCHANGED) + endforeach() set(qt_tooldest "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin") set(qt_searchdir "${CURRENT_PACKAGES_DIR}/bin") @@ -195,9 +283,6 @@ function(qt_fixup_and_cleanup) if(_qarg_TOOL_NAMES) set(tool_names ${_qarg_TOOL_NAMES}) vcpkg_copy_tools(TOOL_NAMES ${tool_names} SEARCH_DIR "${qt_searchdir}" DESTINATION "${qt_tooldest}" AUTO_CLEAN) - if(EXISTS "${CURRENT_PACKAGES_DIR}/${qt_plugindir}") - file(COPY "${CURRENT_PACKAGES_DIR}/${qt_plugindir}/" DESTINATION "${qt_tooldest}") - endif() endif() if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") @@ -225,43 +310,47 @@ function(qt_fixup_and_cleanup) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/cmake/" "${CURRENT_PACKAGES_DIR}/debug/share" "${CURRENT_PACKAGES_DIR}/lib/cmake/" + "${CURRENT_PACKAGES_DIR}/debug/include" ) if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") file(GLOB_RECURSE _bin_files "${CURRENT_PACKAGES_DIR}/bin/*") - debug_message("Files in bin: '${_bin_files}'") - if(NOT _bin_files) # Only clean if empty otherwise let vcpkg throw and error. + if(NOT _bin_files STREQUAL "") + message(STATUS "Remaining files in bin: '${_bin_files}'") + else() # Only clean if empty otherwise let vcpkg throw and error. file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin/" "${CURRENT_PACKAGES_DIR}/debug/bin/") endif() endif() + vcpkg_fixup_pkgconfig() endfunction() function(qt_install_submodule) cmake_parse_arguments(PARSE_ARGV 0 "_qis" "DISABLE_NINJA" "" - "PATCHES;TOOL_NAMES;CONFIGURE_OPTIONS;CONFIGURE_OPTIONS_DEBUG;CONFIGURE_OPTIONS_RELEASE") + "PATCHES;TOOL_NAMES;CONFIGURE_OPTIONS;CONFIGURE_OPTIONS_DEBUG;CONFIGURE_OPTIONS_RELEASE;CONFIGURE_OPTIONS_MAYBE_UNUSED") set(qt_plugindir ${QT6_DIRECTORY_PREFIX}plugins) set(qt_qmldir ${QT6_DIRECTORY_PREFIX}qml) qt_download_submodule(PATCHES ${_qis_PATCHES}) - if(QT_UPDATE_VERSION) - return() - endif() if(_qis_DISABLE_NINJA) set(_opt DISABLE_NINJA) endif() - qt_cmake_configure(${_opt} + qt_cmake_configure(${_opt} OPTIONS ${_qis_CONFIGURE_OPTIONS} OPTIONS_DEBUG ${_qis_CONFIGURE_OPTIONS_DEBUG} - OPTIONS_RELEASE ${_qis_CONFIGURE_OPTIONS_RELEASE}) + OPTIONS_RELEASE ${_qis_CONFIGURE_OPTIONS_RELEASE} + OPTIONS_MAYBE_UNUSED ${_qis_CONFIGURE_OPTIONS_MAYBE_UNUSED} + ) - vcpkg_install_cmake(ADD_BIN_TO_PATH) + vcpkg_cmake_install(ADD_BIN_TO_PATH) qt_fixup_and_cleanup(TOOL_NAMES ${_qis_TOOL_NAMES}) qt_install_copyright("${SOURCE_PATH}") set(SOURCE_PATH "${SOURCE_PATH}" PARENT_SCOPE) endfunction() + +include("${CMAKE_CURRENT_LIST_DIR}/qt_port_details.cmake") diff --git a/ports/qtbase/cmake/qt_port_data.cmake b/ports/qtbase/cmake/qt_port_data.cmake new file mode 100644 index 00000000000000..aee26078505206 --- /dev/null +++ b/ports/qtbase/cmake/qt_port_data.cmake @@ -0,0 +1,50 @@ +set(qtbase_HASH "99495c6ed942b3a7bd19f9471bac76502baaafc20ad7e139adf25726f699c1b4deffa1ab761fe9a49a3ffe6a36d830422a20f8a369aded67a083652bf4a19290") +set(qttools_HASH "c15a76a84e8cea53e8c68b00325acf2cd3fe8097c578f3e96fbb68958453116f02fed25d2811d4485b82f196b988870f0078aea0450c4526523fb8ffacbfae57") +set(qtdeclarative_HASH "54e9b262b07c80eb6530da3e980319edd7370cc90f4241ebaf22a73e1f7f4f14177cea06276a0d3b2b553c6ed0825be0c56b9e2ddca53e99db57b67c3ad4bb47") +set(qtsvg_HASH "4113d12b3662d37e1119f4f506b3b0c6712fc0718ce7840e92acd300990ad4ac6a753e839b4adc91fc1ef7dc938fc517340f990bd7b89636a42d40a25f8f4bdb") +set(qt5compat_HASH "5a9cdf6cc4d56c2576e68aaf1c68f59a6f0b7655685235876dd2916506afb11253a8fc88c8b1e7756533c39bf42263499f7fc2ef72ad6ba672a45a55cc7048a3") +set(qtshadertools_HASH "751c1e321c98a8074a9c071f7484a840ce1b0cee44b0c355c33df0e496d277fa2c1ed26e68d46412fd9c2be6231946d97c57b31601b841f65e4b8dff166e106d") +set(qtquicktimeline_HASH "e01acaad6080bec84b1efdf33c71859c609dd3a9b3e5a4af57384e9ad6b875a8ba9e426a62cea90ac51f0adf842d5e6abbcd6ec0453fba45133c39408e365816") +set(qtquick3d_HASH "cdfc34521a201325ee0d41dfb5608fc9deca6c27d71d27e170d147a53fad808c4e70ee67b5c7598c8685b8c534dd5fa8460f436ae4e7a208b7d5be27bf1631d5") +set(qttranslations_HASH "06c9ac70c77de52e750315bb74c5ad580c154805b924a95387bbac1297ca04df643f69e3ada74bd027071b179cf009927a1c0db8825104bb355036402092c405") +set(qtwayland_HASH "9e15f3798ae7738b69e367343ffd7992fcdaebeffbcb10414fe2f24be553ca63e5504ef0a8405348702d0581dabebd1c2360728f63757c7445900b04df5e9ad7") +set(qtdoc_HASH "faed302aa21e565c8a2222f34a9c3b003eee784a095c6756f4385d7715d507b647d8519a2ddf9e58ef2923a8f04b0b7a22bfe5fd97ba5480ebe302a29c47274d") +set(qtcoap_HASH "298ca42855c664b85636d1ce3482ef345672421a15f1dd0781e99c2dd3d3c4344e18ad5a440a4188a93616f5d5712a078044b356b0f5c0d051d3d5382dbeee9e") +set(qtopcua_HASH "dccd571d9764da8beda5942db8cb3577049ee0d7efd162e25008314089a1e67b17d3d46e7d868f933823d7f4f54d52e0cd277f1cbf6d6703f2745992200f0df3") +set(qtimageformats_HASH "ca4ef39cc0bdf53ff00ff870301ec184c52bb7db422eb04011926b03bedac22ba9c9426c75cb124d0016d2e70a108383c57c6826cc9e2c5d62adcd2f68db6471") +set(qtmqtt_HASH "f77b058d9a33a9006f349bdefc851d5128e37ec5ff5ebbcab2b7414ea2668cc5f869b29b9f0b3e3a72f205c658d4053b54959d918dce43a5d58db7f056193e1f") +set(qtnetworkauth_HASH "f5eacb898423bcee0b063f70bf227ef954702b281964dbf182a2e280ef98d203fd88e2696c5f6f45f62b0a6a2e6b9a33f968c71f63b02647e57c475c4c37f6df") +set(qt3d_HASH "8337c68e99a634e367899a49ce6aa51b98443c5f5e9c7487e1e79b0f2988d6543c78d8cf5e305506703d196032664a1dad33073530a10a5999ad623c6f7af98d") +set(qtactiveqt_HASH "b18186cc99d487487352714f6a351f73c3c51b768e186f11c5c35f5e92b29432a7972d12d6751e7bb1f09d03743d46dfe81d2dba335e243b50b33ea880396626") +set(qtdatavis3d_HASH "0b0835e36deff4dcb7cf0eca9391fe5a4b92cb13d6273d7d2780f6cac1d6d07e388041fe02e453684d1cb7bf9603bb3625b09ed1d0396ff078948230955df3ab") +set(qtdeviceutilities_HASH "5f1cc33af33e7541e73ad9201cd12aa1ff8e1d4b9b0ab5632f07f9bac666a12777bd24cc98ad70ca3d59757b40822641c68e2742786a3f21b7c4568bcd2d25a1") +set(qtlottie_HASH "84c79b01de4411b3ff72d30928436b35c6b042fbb8f0cb794b3a9658a09b9d91daaba6d27a4f0434df372c3154f31f3b8671c836d2217aeb94a20f88648669c5") +set(qtscxml_HASH "d2d561f7a94d1fad2ad578b602c51c5f506bb0ea2c145647ea490399bac5995191c56ad62454775f15a2d3973e99cd220487ead3d5873163949b9ddd58bdada7") +set(qtvirtualkeyboard_HASH "cc08560c565289c43e9e89f247f9eb26eed6d678892681310728c639f6f70bdaa5947b436dfce437b8e0dd9d9386229a391f19587080f043e41a53f4fcf06067") +set(qtcharts_HASH "5e1e9387bee3a500a0178390ee827d76c58ac66486236e677e2854c3ea06011aadaaa08f742bdb0674b382209d54d30e8a0fa5f110d78c2b0dbeab49d46736e4") +set(qtconnectivity_HASH "46d77b7c02a03f8aee3401c889121ada5979858d95959ab4d7f31d54ce17c92c5f9c18097297baecc08c468c4f020a826b08edffb55e00e5d3fdaa0523600362") +set(qtpositioning_HASH "feb900f7371e712a63be6798f924d42e79676c317e18d1b347ae3cc870e9bf1003accc147dfeaa18d91ce6fdf2a7f3626c11a0419cb5058fa81f6f9ef17d6554") +set(qtlocation_HASH "e905001e5edd4aa6fc3e28e7d9e0461083706510ae652bb8329a3eb9d0ca6a8cbea75ded54538e35a1a9389d743a41a4d1834f29184d398bdbb1281c0f4f591a") +set(qtmultimedia_HASH "6c8c7c18ad71e32507af57456d1c11544f3e6c67c9cd3811a83fd0c20e12d6457ab294d91905e3911bdef1977ec1b535de82e9d92b2a38bd9eef7851e6349b5a") +set(qtremoteobjects_HASH "42b744dc946296bbd57ed31509b720285fd50760484243eede06ac25205fced40060601bef257745635ab4e15a59ddc8bd207dec52246adfde94078706d23e0f") +set(qtsensors_HASH "78ddb7cad68f37e7e6f1206c1f9db1b86ecba0806659a1049b562c45ed94439200230040a441e7e3c8cc5a17460e5e2e236cf42adfa88ff640f8aceb786c2288") +set(qtserialbus_HASH "fb032e65392ea6ee5e3edfe4dccbae3514493dca8fa5b3ffada18f0ce661475f847bc27e4c49573d360d55ed1bd17d4bb7e5faf5a31fc169a6984070c8fd8cae") +set(qtserialport_HASH "b5296a1494b9601d29b74518abade07274559eb2cade9cedd10e922bede0e759334a6982d799ea2438b0e3940e122a43fc07e0250e273d97c0307f9d9f0cac5b") +set(qtwebchannel_HASH "4cf329c865f9b9eb30584061a0cc684a014f6bdd8cc1f7cd037416cd6aacb386a8d16fe58b5c1c9854c3df4182fd6117ec6297e8d941d5215f0f86ad51f80180") +set(qtwebengine_HASH "f20769ac9b3f4a9fda9865c86d9dd2c779e404823d85aaf12cbbc425880352c19352ed39eb804a80a06a99e13582d22d45dbf2a8d7bbefea3592ff965b863cbe") +set(qtwebsockets_HASH "3dd1ed7a29c4bcc070241f465608a2f0b35142f73bc5cf0b3e964504a68da5a76002dabd4c6f14330f29200c8fb8d5e0ad46c5bc6de7af4889fd355796bce261") +set(qtwebview_HASH "d23ca95d252078a8b2dc4738298603a45384d88e0a4c0d4880ea7bf20195f0f6dfb201704cc7b7cb7127a702ec9b87b90a6e9d1f94a721efb291d7e50720cc26") +set(qtinterfaceframework_REF 4b0f0b7cf669b5be55a300ff8f5df457d4a6ec69) +set(qtapplicationmanager_HASH "ebe8ab7afbf1ede3d0ec4e3f0e5e604a811be9bf62e64159ae5ed1f81e4ae36d06f9e9a6ec6c74969e99ee260857a57bc37da2c182d7b36789387ca8d9fa2e16") +set(qtlanguageserver_HASH "29ade3d88c5c2d33cd777ffef87f1e7606664ab25194912f4a575c364f2621b99128e821d1685acc332671b77235a02c92333e4186a133b5f180e5b184bf7551") +set(qthttpserver_HASH "05238a97b9576f015a741446cfda434355fee8599975b5f4bf062bd28c63127d4bfbf52c4b84ff1f7b88def31200f4c3d298812a7eff5583546a5b925a390edf") +set(qtquick3dphysics_HASH "db437b74c6970badf197d0666923bd1927a0ff86d07dd2bbb341709eda28a2483e4307e9c773bd71b49c3493429a464ffd79f3ee2edd638f1e99f0292622e8dc") +set(qtspeech_HASH "b2b5a3b67160b75a679701eeac97587add53a1f8c2a2d120a61c54ead1d519d1fb726945fd2d4871b800f028e70f44e1079480322f71e2010c72b675b1cf935f") +set(qtgrpc_HASH "919ef9e97dfa6ae8d24a187eea0d0744099b991760f618cff0de25e025fbc3b9c1035ec7c2ff1893b20d6cde142fa849defb3738d06a430cbb97d344bdd5d146") +set(qtquickeffectmaker_HASH "afeaefa94fefda3a8d5561cb313f6094220dfd57af836a4e5e93cd381141bd52c43533e9ce284b152a5ccc3a798dc7b4401fe68d8d2c20df29aaf5ea71715061") +set(qtgraphs_HASH "3a74894ad37370a241fb7c866a5347ce43004623ab276bc2d571fd1e0a65739e6196ca2866c63ee3dcdfdfc6d020e1f9a3962fd64f21268bab23d30e12445b37") + + +# Keep for beta/rc +#set(qttools_qlitehtml_REF bd70f93ce41443a6a90a269531393f575685283e) +#set(qtwebengine_chromium_REF 0b138dc30d0aec7930c76a2595065629948ad9f7) diff --git a/ports/qtbase/cmake/qt_port_details-latest.cmake b/ports/qtbase/cmake/qt_port_details-latest.cmake deleted file mode 100644 index e89df6b9689472..00000000000000 --- a/ports/qtbase/cmake/qt_port_details-latest.cmake +++ /dev/null @@ -1,112 +0,0 @@ -set(QT_VERSION 6.2.0) - -if(PORT MATCHES "qtquickcontrols2") - set(VCPKG_POLICY_EMPTY_PACKAGE enabled) - message(STATUS "qtquickcontrols2 is integrated in qtdeclarative since Qt 6.2. Please remove your dependency on it!") - return() -endif() -set(QT_GIT_TAG v${QT_VERSION}) - -#set(QT_UPDATE_VERSION TRUE) -if(QT_UPDATE_VERSION) - function(vcpkg_extract_source_archive) - endfunction() -endif() -set(QT_IS_LATEST 1) - -set(QT_PORTS qt - qtbase - qttools - qtdeclarative - qtsvg - qt5compat - qtshadertools - qtquicktimeline - qtquick3d - qttranslations - qtwayland - qtdoc - qtcoap - qtopcua - qtimageformats - qtmqtt - qtnetworkauth - # qtquickcontrols2 -> moved into qtdeclarative - ## New in 6.1 - qtactiveqt - qtdatavis3d - #qtdeviceutils - qtlottie - qtscxml - qtvirtualkeyboard - qtcharts - ## New in 6.2 - qtconnectivity - qtlocation - qtmultimedia - qtremoteobjects - qtsensors - qtserialbus - qtserialport - qtwebchannel - qtwebengine - qtwebsockets - qtwebview - ) - -foreach(_port IN LISTS QT_PORTS) - set(${_port}_TAG ${QT_GIT_TAG}) -endforeach() -set(qtbase_REF 0c2d00de3488116db9f9d657fe18bcb972a83792) -set(qtshadertools_REF 119cd6e9c9e89f93b74db28f261382a2fcfe504e) -set(qtdeclarative_REF 37da36c97d9d557945abca3cea5c68d9985a06e3) -set(qt5compat_REF 291993c7813ec706e54069c7de339edfdd385c0d) -set(qttools_REF 00efbf90f978afefdcece314d19b79459eee2211) # Additional refs in portfile due to submodule -set(qtcoap_REF be7822dc920a3e3eb252d5693a7153aa606d3dc1) -set(qtdoc_REF 48a1fbab30a9f57f011fdea8ec2b47048dce4069) -set(qtimageformats_REF 7bb9dc839c0dd0806445fd475b027a82c961f686) -set(qtmqtt_REF 4fd647e23d95c522c45d86be584d18578f894823) -set(qtnetworkauth_REF aa23db40ca552d60383dea17d703b1cc0cbeace4) -set(qtopcua_REF cfb3767b2a6785e0437b99c015cb6aef7f40189c) -set(qtquicktimeline_REF e9578a6949f6192440df1cb261ed9de98a9de7d7) -set(qtquick3d_REF eaf9c60073b95b03c006279f08d4947699c32a4b) -set(qtsvg_REF cceecea040ca1247db0212217d07ec2c331004ba) -set(qttranslations_REF 03a146236e69ee41c0405a8b5707104b4ac0c6e8) -set(qtwayland_REF 8c4900dda393752faab14e39e60aec6b545c8a0f) -# set(qtquickcontrols2_REF 0) # Moved into qtdeclarative since Qt 6.2 -### New in 6.1 -set(qtactiveqt_REF 94c924a8501dba7487bf2648bdf06aefc33e726d) -set(qtcharts_REF d56b9f3de193cbf561f4b1ec332d8598dbdaaaca) -set(qtdatavis3d_REF 5c90e6642882b3b7440608f71b96ce28908f0ee8) -#set(qtdeviceutils_REF 0) #missing tag -set(qtlottie_REF 48df4f1067514a3ae8b895b5f78fca09029d9288) -set(qtscxml_REF 68ac6986b9a9b3acfcab1e445edc7c198bbf7344) -set(qtvirtualkeyboard_REF 0e49e057777cd6c3f93d123e59a9399a2cf0040f) -### New in 6.2 -set(qtconnectivity_REF 78e7ffbe16469a19fa34cad711e0898d91bd2f30) -set(qtlocation_REF 47a945b0d054539eab3ba1cf3a1d7bf5977051d6) -set(qtmultimedia_REF d7d0e676abd4b280feb0d5105846378b64782487) -set(qtremoteobjects_REF 58932ba10420faa1cc989ed5bf101ff06475a4fc) -set(qtsensors_REF 192ca0fd252066101eb0456b957fdb51618fa7db) -set(qtserialbus_REF ce089bef29ca55d7fe46508d92d3e498eb5bb847) -set(qtserialport_REF 14dc155f3640af94c6ecff2de1489e14cd5b0047) -set(qtwebchannel_REF 09315a8d626e106953723ce68e68d6b4b97c2c52) -set(qtwebengine_REF 261d72c8afc72faf23d169a64749db216db68859) # Additional refs in portfile due to submodule -set(qtwebsockets_REF a01c2d6638fad700db23863258b7fc4a1ecdd542) -set(qtwebview_REF ca0053b6a5320046508e9ba205df775a62c1a211) - -if(QT_UPDATE_VERSION) - message(STATUS "Running Qt in automatic version port update mode!") - set(_VCPKG_INTERNAL_NO_HASH_CHECK 1) - if("${PORT}" MATCHES "qtbase") - file(REMOVE "${CMAKE_CURRENT_LIST_DIR}/cmake/qt_new_refs.cmake") - foreach(_current_qt_port IN LISTS QT_PORTS) - set(_current_control "${VCPKG_ROOT_DIR}/ports/${_current_qt_port}/vcpkg.json") - file(READ "${_current_control}" _control_contents) - string(REGEX REPLACE "\"version-(string|semver)\": [^\n]+\n" "\"version-semver\": \"${QT_VERSION}\",\n" _control_contents "${_control_contents}") - string(REGEX REPLACE "\"port-version\": [^\n]+\n" "" _control_contents "${_control_contents}") - file(WRITE "${_current_control}" "${_control_contents}") - #need to run a vcpkg format-manifest --all after update once - endforeach() - endif() -endif() diff --git a/ports/qtbase/cmake/qt_port_details.cmake b/ports/qtbase/cmake/qt_port_details.cmake index ba6695374657e9..7ec38e27e9422c 100644 --- a/ports/qtbase/cmake/qt_port_details.cmake +++ b/ports/qtbase/cmake/qt_port_details.cmake @@ -1,111 +1,183 @@ -set(QT_VERSION 6.2.1) - -if(PORT MATCHES "qtquickcontrols2") - set(VCPKG_POLICY_EMPTY_PACKAGE enabled) - message(STATUS "qtquickcontrols2 is integrated in qtdeclarative since Qt 6.2. Please remove your dependency on it!") - return() -endif() -set(QT_GIT_TAG v${QT_VERSION}) - -#set(QT_UPDATE_VERSION TRUE) -if(QT_UPDATE_VERSION) - function(vcpkg_extract_source_archive) - endfunction() -endif() - -set(QT_PORTS qt - qtbase - qttools - qtdeclarative - qtsvg - qt5compat - qtshadertools - qtquicktimeline - qtquick3d - qttranslations - qtwayland - qtdoc - qtcoap - qtopcua - qtimageformats - qtmqtt - qtnetworkauth - # qtquickcontrols2 -> moved into qtdeclarative - ## New in 6.1 - qtactiveqt - qtdatavis3d - #qtdeviceutils - qtlottie - qtscxml - qtvirtualkeyboard - qtcharts - ## New in 6.2 - qtconnectivity - qtlocation - qtmultimedia - qtremoteobjects - qtsensors - qtserialbus - qtserialport - qtwebchannel - qtwebengine - qtwebsockets - qtwebview - ) - -foreach(_port IN LISTS QT_PORTS) - set(${_port}_TAG ${QT_GIT_TAG}) -endforeach() -set(qtbase_REF fbdf50b6c6f69ab88d7a53dfb3ab35e2b49a9664) -set(qtshadertools_REF 73deb667b27451340cafc20ead3aeb4ea84a5246) -set(qtdeclarative_REF 3419dd06c5928e292e0c25692427632e124eefea) -set(qt5compat_REF 3f69f4b1e7d07756b9de7629ec22e1c68265c88a) -set(qttools_REF 8e1f1f6e906095a8f2d5ebbf85443e2407d4e07c) # Additional refs in portfile due to submodule -set(qtcoap_REF 1c0bb10d86b43c4b3860cd4526087e644d3f4b07) -set(qtdoc_REF 040ef9a76b5f79d3cf5e42849d5f49a51522dc0f) -set(qtimageformats_REF bd8b167280addfb9b2ee0d493d6cf7b31c03e574) -set(qtmqtt_REF 610543f328127c68ab39960ded51649ad41d3bd4) -set(qtnetworkauth_REF 1987896634a2c4ac23842b366b4704f0b1396de7) -set(qtopcua_REF ae441a8fff3603e7d21957a09a0b3014669bbb0b) -set(qtquicktimeline_REF 6ba89379c0859622d71f75486b8d872cc4a709ca) -set(qtquick3d_REF 7e30ae5f8b6f3c28a2ee2df3788846fc67ec3c1c) -set(qtsvg_REF 30ad9d119079f486817e60025eceffdc0745ffcf) -set(qttranslations_REF 6d297398a2f9b0f7cf67de63369ca7b75ed60034) -set(qtwayland_REF bea7e0ee35211873c90987c905e3fd68d41df4da) -# set(qtquickcontrols2_REF 0) # Moved into qtdeclarative since Qt 6.2 -### New in 6.1 -set(qtactiveqt_REF 1b710fa0b5e054189b62e2e7fe32fcf1bec0b081) -set(qtcharts_REF 78a74a1fcdc4329c054691021a65ff00dcd09ebb) -set(qtdatavis3d_REF bec62cdb6f800087fd92085984fde389e9091e13) -#set(qtdeviceutils_REF 0) #missing tag -set(qtlottie_REF 9c72963a986d921e5c1cbdca6638fa17c9f8fa45) -set(qtscxml_REF 069fb385a21e2f844adeb74fbb06849ef5422c7d) -set(qtvirtualkeyboard_REF b6fe68874ed8ff86202320435a743521a245c515) -### New in 6.2 -set(qtconnectivity_REF e910b93cc161930748260626b414b7f4241e6d58) -set(qtlocation_REF 70c3948264d5e6e3bc9be4f0e5d8fdae8b821a08) -set(qtmultimedia_REF 64bc1b00b2979866d577eb57fd118ae497cf6391) -set(qtremoteobjects_REF 8876b4e07174b7fe3124de74002730684b1d0d82) -set(qtsensors_REF 8a949e9314682e6940f1b38f30f5d5f3fd1d6260) -set(qtserialbus_REF 709110461a843a9a0236f3cde27414157a088235) -set(qtserialport_REF d8b40852053623d44e8a07f4c208ace27dcde925) -set(qtwebchannel_REF c93ddec0eb35707fafd209bee8472fd6ee4a3cb6) -set(qtwebengine_REF b879b3ed6b4bb7d6951cf430d5e9b49898fe6c9a) # Additional refs in portfile due to submodule -set(qtwebsockets_REF 68a4c96964935ada5ae1ca323713b4e3862f010f) -set(qtwebview_REF 7ef6e31dd2ead012f941ddcaf30e5d4c2abf693b) - -if(QT_UPDATE_VERSION) - message(STATUS "Running Qt in automatic version port update mode!") - set(_VCPKG_INTERNAL_NO_HASH_CHECK 1) - if("${PORT}" MATCHES "qtbase") - file(REMOVE "${CMAKE_CURRENT_LIST_DIR}/cmake/qt_new_refs.cmake") - foreach(_current_qt_port IN LISTS QT_PORTS) - set(_current_control "${VCPKG_ROOT_DIR}/ports/${_current_qt_port}/vcpkg.json") - file(READ "${_current_control}" _control_contents) - string(REGEX REPLACE "\"version-(string|semver)\": [^\n]+\n" "\"version-semver\": \"${QT_VERSION}\",\n" _control_contents "${_control_contents}") - string(REGEX REPLACE "\"port-version\": [^\n]+\n" "" _control_contents "${_control_contents}") - file(WRITE "${_current_control}" "${_control_contents}") - #need to run a vcpkg format-manifest --all after update once - endforeach() - endif() -endif() +### Steps to update the qt6 ports +## 1. Change QT_VERSION below to the new version +## 2. Set QT_UPDATE_VERSION to 1 +## 3. Add any new Qt modules to QT_PORTS +## 4. Run a build of `qtbase` +## 5. Fix any intermediate failures by adding the module into QT_FROM_GITHUB, QT_FROM_GITHUB_BRANCH, or QT_FROM_QT_GIT as appropriate +## 6. The build should fail with "Done downloading version and emitting hashes." This will have changed out the vcpkg.json versions of the qt ports and rewritten qt_port_data.cmake +## 7. Set QT_UPDATE_VERSION back to 0 + +set(QT_VERSION 6.7.3) +set(QT_DEV_BRANCH 0) + +set(QT_UPDATE_VERSION 0) + +if(PORT MATCHES "(qtquickcontrols2)") + set(VCPKG_POLICY_EMPTY_PACKAGE enabled) + return() +endif() + +### Setting up the git tag. + +set(QT_PORTS qt + qtbase + qttools + qtdeclarative + qtsvg + qt5compat + qtshadertools + qtquicktimeline + qtquick3d + qttranslations + qtwayland + qtdoc + qtcoap + qtopcua + qtimageformats + qtmqtt + qtnetworkauth + qt3d) + # qtquickcontrols2 -> moved into qtdeclarative +if(QT_VERSION VERSION_GREATER_EQUAL 6.1) + list(APPEND QT_PORTS + ## New in 6.1 + qtactiveqt + qtdatavis3d + qtdeviceutilities + qtlottie + qtscxml + qtvirtualkeyboard + qtcharts) +endif() +if(QT_VERSION VERSION_GREATER_EQUAL 6.2) + list(APPEND QT_PORTS + ## New in 6.2 + qtconnectivity + qtpositioning + qtlocation # back in 6.5 as tech preview + qtmultimedia + qtremoteobjects + qtsensors + qtserialbus + qtserialport + qtwebchannel + qtwebengine + qtwebsockets + qtwebview) +endif() +if(QT_VERSION VERSION_GREATER_EQUAL 6.2.2) + list(APPEND QT_PORTS + ## New in 6.2.2 + qtinterfaceframework + qtapplicationmanager) +endif() +if(QT_VERSION VERSION_GREATER_EQUAL 6.3.0) + list(APPEND QT_PORTS + ## New in 6.3.0 + qtlanguageserver) +endif() +if(QT_VERSION VERSION_GREATER_EQUAL 6.4.0) + list(APPEND QT_PORTS + ## New in 6.4.0 + qthttpserver + qtquick3dphysics + qtspeech) +endif() +if(QT_VERSION VERSION_GREATER_EQUAL 6.5.0) + list(APPEND QT_PORTS + ## New in 6.5.0 + qtgrpc + qtquickeffectmaker + ) +endif() +if(QT_VERSION VERSION_GREATER_EQUAL 6.6.0) + list(APPEND QT_PORTS + ## New in 6.6.0 + qtgraphs + #qtvncserver # only commercial + #qtinsighttracker + ) +endif() +#qtinsighttracker +#qtvncserver +#qtgraphs + +# 1. By default, modules come from the official release +# 2. These modules are mirrored to github and have tags matching the release +set(QT_FROM_GITHUB qtcoap qtopcua qtmqtt qtapplicationmanager) +# 3. These modules are mirrored to github and have branches matching the release +set(QT_FROM_GITHUB_BRANCH qtdeviceutilities) +# 4. These modules are not mirrored to github and not part of the release +set(QT_FROM_QT_GIT qtinterfaceframework) +# For beta releases uncomment the next two lines and comment the lines with QT_FROM_GITHUB, QT_FROM_GITHUB_BRANCH, QT_FROM_QT_GIT +#set(QT_FROM_QT_GIT ${QT_PORTS}) +#list(POP_FRONT QT_FROM_QT_GIT) + +function(qt_get_url_filename qt_port out_urls out_filename) + if("${qt_port}" IN_LIST QT_FROM_GITHUB) + set(urls "https://github.com/qt/${qt_port}/archive/v${QT_VERSION}.tar.gz") + set(filename "qt-${qt_port}-v${QT_VERSION}.tar.gz") + elseif("${qt_port}" IN_LIST QT_FROM_GITHUB_BRANCH) + set(urls "https://github.com/qt/${qt_port}/archive/${QT_VERSION}.tar.gz") + set(filename "qt-${qt_port}-${QT_VERSION}.tar.gz") + else() + string(SUBSTRING "${QT_VERSION}" 0 3 qt_major_minor) + + if(NOT QT_DEV_BRANCH) + set(branch_subpath "archive") + else() + set(branch_subpath "development_releases") + endif() + + set(filename "${qt_port}-everywhere-src-${QT_VERSION}.tar.xz") + set(mirrors + "https://download.qt.io/" + "https://mirrors.ocf.berkeley.edu/qt/" + ) + set(url_subpath "${branch_subpath}/qt/${qt_major_minor}/${QT_VERSION}/submodules/${filename}") + list(TRANSFORM mirrors APPEND "${url_subpath}" OUTPUT_VARIABLE urls) + endif() + set(${out_urls} ${urls} PARENT_SCOPE) + set(${out_filename} "${filename}" PARENT_SCOPE) +endfunction() + +if(QT_UPDATE_VERSION) + if(NOT PORT STREQUAL "qtbase") + message(FATAL_ERROR "QT_UPDATE_VERSION must be used from the root 'qtbase' package") + endif() + set(VCPKG_USE_HEAD_VERSION 1) + set(msg "" CACHE INTERNAL "") + foreach(qt_port IN LISTS QT_PORTS) + set(port_json "${CMAKE_CURRENT_LIST_DIR}/../../${qt_port}/vcpkg.json") + file(READ "${port_json}" _control_contents) + string(REGEX REPLACE "\"version(-(string|semver))?\": [^\n]+\n" "\"version\": \"${QT_VERSION}\",\n" _control_contents "${_control_contents}") + string(REGEX REPLACE "\"port-version\": [^\n]+\n" "" _control_contents "${_control_contents}") + file(WRITE "${port_json}" "${_control_contents}") + if(qt_port STREQUAL "qt") + continue() + endif() + if("${qt_port}" IN_LIST QT_FROM_QT_GIT) + vcpkg_find_acquire_program(GIT) + execute_process( + COMMAND "${GIT}" ls-remote -t "https://code.qt.io/cgit/qt/${qt_port}.git" "v${QT_VERSION}" + OUTPUT_VARIABLE out + ) + string(SUBSTRING "${out}" 0 40 tag_sha) + string(APPEND msg "set(${qt_port}_REF ${tag_sha})\n") + else() + qt_get_url_filename("${qt_port}" urls filename) + vcpkg_download_distfile(archive + URLS ${urls} + FILENAME "${filename}" + SKIP_SHA512 + ) + file(SHA512 "${archive}" hash) + string(APPEND msg "set(${qt_port}_HASH \"${hash}\")\n") + endif() + endforeach() + message("${msg}") + file(WRITE "${CMAKE_CURRENT_LIST_DIR}/qt_port_data_new.cmake" "${msg}") + message(FATAL_ERROR "Done downloading version and emitting hashes.") +endif() + +include("${CMAKE_CURRENT_LIST_DIR}/qt_port_data.cmake") diff --git a/ports/qtbase/cocoa.patch b/ports/qtbase/cocoa.patch deleted file mode 100644 index 7242ff9ee38540..00000000000000 --- a/ports/qtbase/cocoa.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/src/plugins/platforms/cocoa/qiosurfacegraphicsbuffer.h b/src/plugins/platforms/cocoa/qiosurfacegraphicsbuffer.h -index 5d4b6d6a71..cc7193d8b7 100644 ---- a/src/plugins/platforms/cocoa/qiosurfacegraphicsbuffer.h -+++ b/src/plugins/platforms/cocoa/qiosurfacegraphicsbuffer.h -@@ -43,6 +43,7 @@ - #include - #include - -+#include - #include - - QT_BEGIN_NAMESPACE --- -cgit v1.2.1 - diff --git a/ports/qtbase/config_install.patch b/ports/qtbase/config_install.patch index 51c6e975cf6d7e..fdfc703301d246 100644 --- a/ports/qtbase/config_install.patch +++ b/ports/qtbase/config_install.patch @@ -1,8 +1,8 @@ -diff --git a/cmake/QtBuild.cmake b/cmake/QtBuild.cmake +diff --git a/cmake/QtBuildPathsHelpers.cmake b/cmake/QtBuildPathsHelpers.cmake index bd186c28b..edee52e8b 100644 ---- a/cmake/QtBuild.cmake -+++ b/cmake/QtBuild.cmake -@@ -194,7 +194,7 @@ function(qt_internal_set_up_global_paths) +--- a/cmake/QtBuildPathsHelpers.cmake ++++ b/cmake/QtBuildPathsHelpers.cmake +@@ -100,7 +100,7 @@ function(qt_internal_set_up_global_paths) if(QT_CONFIG_INSTALL_DIR) string(APPEND QT_CONFIG_INSTALL_DIR "/") endif() diff --git a/ports/qtbase/dont_force_cmakecache.patch b/ports/qtbase/dont_force_cmakecache.patch deleted file mode 100644 index f8e90f3a10e969..00000000000000 --- a/ports/qtbase/dont_force_cmakecache.patch +++ /dev/null @@ -1,46 +0,0 @@ -diff --git a/cmake/QtPostProcessHelpers.cmake b/cmake/QtPostProcessHelpers.cmake -index 4f8106dfa..bec5c402e 100644 ---- a/cmake/QtPostProcessHelpers.cmake -+++ b/cmake/QtPostProcessHelpers.cmake -@@ -414,7 +414,7 @@ function(qt_generate_install_prefixes out_var) - - foreach(var ${vars}) - get_property(docstring CACHE "${var}" PROPERTY HELPSTRING) -- string(APPEND content "set(${var} \"${${var}}\" CACHE STRING \"${docstring}\" FORCE)\n") -+ string(APPEND content "set(${var} \"${${var}}\" CACHE STRING \"${docstring}\")\n") - endforeach() - - set(${out_var} "${content}" PARENT_SCOPE) -@@ -465,12 +465,12 @@ function(qt_generate_build_internals_extra_cmake_code) - # at the start of project configuration (with an empty value), - # so we need to force override it. - string(APPEND QT_EXTRA_BUILD_INTERNALS_VARS -- "set(CMAKE_BUILD_TYPE \"${CMAKE_BUILD_TYPE}\" CACHE STRING \"Choose the type of build.\" FORCE)\n") -+ "set(CMAKE_BUILD_TYPE \"${CMAKE_BUILD_TYPE}\" CACHE STRING \"Choose the type of build.\")\n") - - endif() - if(CMAKE_CONFIGURATION_TYPES) - string(APPEND multi_config_specific -- " set(CMAKE_CONFIGURATION_TYPES \"${CMAKE_CONFIGURATION_TYPES}\" CACHE STRING \"\" FORCE)\n") -+ " set(CMAKE_CONFIGURATION_TYPES \"${CMAKE_CONFIGURATION_TYPES}\" CACHE STRING \"\")\n") - endif() - if(CMAKE_TRY_COMPILE_CONFIGURATION) - string(APPEND multi_config_specific -@@ -492,7 +492,7 @@ function(qt_generate_build_internals_extra_cmake_code) - if(multi_config_specific) - string(APPEND QT_EXTRA_BUILD_INTERNALS_VARS " - if(QT_BUILD_STANDALONE_TESTS) -- set(CMAKE_BUILD_TYPE \"\${QT_MULTI_CONFIG_FIRST_CONFIG}\" CACHE STRING \"Choose the type of build.\" FORCE) -+ set(CMAKE_BUILD_TYPE \"\${QT_MULTI_CONFIG_FIRST_CONFIG}\" CACHE STRING \"Choose the type of build.\") - endif()\n") - endif() - -@@ -583,7 +583,7 @@ endif()\n") - if(\"$\{CMAKE_STAGING_PREFIX}\" STREQUAL \"\" - AND NOT QT_BUILD_INTERNALS_NO_FORCE_SET_STAGING_PREFIX) - set(CMAKE_STAGING_PREFIX \"${CMAKE_STAGING_PREFIX}\" CACHE PATH -- \"Staging path prefix, prepended onto install directories on the host machine.\" FORCE) -+ \"Staging path prefix, prepended onto install directories on the host machine.\" ) - endif() - ") - endif() diff --git a/ports/qtbase/dont_force_cmakecache_latest.patch b/ports/qtbase/dont_force_cmakecache_latest.patch new file mode 100644 index 00000000000000..752cefe6d2b8b1 --- /dev/null +++ b/ports/qtbase/dont_force_cmakecache_latest.patch @@ -0,0 +1,13 @@ +diff --git a/cmake/QtPostProcessHelpers.cmake b/cmake/QtPostProcessHelpers.cmake +index 4f8106dfa..bec5c402e 100644 +--- a/cmake/QtPostProcessHelpers.cmake ++++ b/cmake/QtPostProcessHelpers.cmake +@@ -414,7 +414,7 @@ function(qt_generate_install_prefixes out_var) + + foreach(var ${vars}) + get_property(docstring CACHE "${var}" PROPERTY HELPSTRING) +- string(APPEND content "set(${var} \"${${var}}\" CACHE STRING \"${docstring}\" FORCE)\n") ++ string(APPEND content "set(${var} \"${${var}}\" CACHE STRING \"${docstring}\")\n") + endforeach() + + set(${out_var} "${content}" PARENT_SCOPE) diff --git a/ports/qtbase/env.patch b/ports/qtbase/env.patch new file mode 100644 index 00000000000000..6a371675927ae9 --- /dev/null +++ b/ports/qtbase/env.patch @@ -0,0 +1,16 @@ +diff --git a/cmake/QtTestHelpers.cmake b/cmake/QtTestHelpers.cmake +index 279ab07dd..951fd3d36 100644 +--- a/cmake/QtTestHelpers.cmake ++++ b/cmake/QtTestHelpers.cmake +@@ -653,9 +653,9 @@ function(qt_internal_collect_command_environment out_path out_plugin_path) + # The regular CMAKE_INSTALL_PREFIX can be different for example when building standalone tests. + # Any given CMAKE_INSTALL_PREFIX takes priority over qt_relocatable_install_prefix for the + # PATH environment variable. +- set(install_prefixes "${CMAKE_INSTALL_PREFIX}") ++ set(install_prefixes "${CMAKE_INSTALL_PREFIX}$<$:/debug>") + if(QT_BUILD_INTERNALS_RELOCATABLE_INSTALL_PREFIX) +- list(APPEND install_prefixes "${QT_BUILD_INTERNALS_RELOCATABLE_INSTALL_PREFIX}") ++ list(APPEND install_prefixes "${QT_BUILD_INTERNALS_RELOCATABLE_INSTALL_PREFIX}$<$:/debug>") + endif() + + file(TO_NATIVE_PATH "${CMAKE_CURRENT_BINARY_DIR}" test_env_path) diff --git a/ports/qtbase/fix-host-aliasing.patch b/ports/qtbase/fix-host-aliasing.patch new file mode 100644 index 00000000000000..1823a351d9631a --- /dev/null +++ b/ports/qtbase/fix-host-aliasing.patch @@ -0,0 +1,17 @@ +diff --git a/cmake/QtTargetHelpers.cmake b/cmake/QtTargetHelpers.cmake +index 180ec33..a03e3b1 100644 +--- a/cmake/QtTargetHelpers.cmake ++++ b/cmake/QtTargetHelpers.cmake +@@ -281,10 +281,10 @@ function(qt_internal_add_target_aliases target) + set_target_properties("${target}" PROPERTIES _qt_versionfull_alias "${versionfull_alias}") + + get_target_property(type "${target}" TYPE) +- if (type STREQUAL EXECUTABLE) ++ if (type STREQUAL EXECUTABLE AND NOT TARGET "${versionfull_alias}") + add_executable("${versionless_alias}" ALIAS "${target}") + add_executable("${versionfull_alias}" ALIAS "${target}") +- else() ++ elseif(NOT type STREQUAL EXECUTABLE) + add_library("${versionless_alias}" ALIAS "${target}") + add_library("${versionfull_alias}" ALIAS "${target}") + endif() diff --git a/ports/qtbase/fix-link-lib-discovery.patch b/ports/qtbase/fix-link-lib-discovery.patch new file mode 100644 index 00000000000000..339d2549069c77 --- /dev/null +++ b/ports/qtbase/fix-link-lib-discovery.patch @@ -0,0 +1,12 @@ +diff --git a/cmake/QtPriHelpers.cmake b/cmake/QtPriHelpers.cmake +index b6f1242..eaa4d65 100644 +--- a/cmake/QtPriHelpers.cmake ++++ b/cmake/QtPriHelpers.cmake +@@ -37,6 +37,7 @@ function(qt_generate_qmake_libraries_pri_content module_name output_root_dir out + get_target_property(lib_target_type ${lib_target} TYPE) + if(lib_target_type MATCHES "^(INTERFACE|UNKNOWN)_LIBRARY") + get_target_property(iface_libs ${lib_target} INTERFACE_LINK_LIBRARIES) ++ string(REGEX REPLACE [[\$]+)>]] "\\1" iface_libs "${iface_libs}") + if(iface_libs) + list(PREPEND lib_targets ${iface_libs}) + endif() diff --git a/ports/qtbase/fix_deploy_windows.patch b/ports/qtbase/fix_deploy_windows.patch new file mode 100644 index 00000000000000..2d2f46ff0cdf7c --- /dev/null +++ b/ports/qtbase/fix_deploy_windows.patch @@ -0,0 +1,26 @@ +diff --git a/src/corelib/Qt6CoreMacros.cmake b/src/corelib/Qt6CoreMacros.cmake +index 8a0d07feac..0e6a720c20 100644 +--- a/src/corelib/Qt6CoreMacros.cmake ++++ b/src/corelib/Qt6CoreMacros.cmake +@@ -2977,17 +2977,19 @@ function(_qt_internal_setup_deploy_support) + if(CMAKE_HOST_WIN32) ++ if(CMAKE_CROSSCOMPILING AND NOT CMAKE_BUILD_TYPE STREQUAL "Debug") +- if(CMAKE_CROSSCOMPILING) + set(qt_paths_ext ".bat") ++ elseif(CMAKE_BUILD_TYPE STREQUAL "Debug") ++ set(qt_paths_ext ".debug.bat") + else() + set(qt_paths_ext ".exe") + endif() + else() + set(qt_paths_ext "") + endif() + + + + set(target_qtpaths_path "") +- set(qtpaths_prefix "${QT6_INSTALL_PREFIX}/${QT6_INSTALL_BINS}") ++ set(qtpaths_prefix "${QT6_INSTALL_PREFIX}/tools/Qt6/bin") + get_property(qt_major_version TARGET "${target}" PROPERTY INTERFACE_QT_MAJOR_VERSION) + if(qt_major_version) + set(target_qtpaths_with_major_version_path diff --git a/ports/qtbase/fix_egl_2.patch b/ports/qtbase/fix_egl_2.patch new file mode 100644 index 00000000000000..78b1c360fc00bc --- /dev/null +++ b/ports/qtbase/fix_egl_2.patch @@ -0,0 +1,13 @@ +diff --git a/cmake/3rdparty/extra-cmake-modules/find-modules/FindEGL.cmake b/cmake/3rdparty/extra-cmake-modules/find-modules/FindEGL.cmake +index db48f79b9..4b1686132 100644 +--- a/cmake/3rdparty/extra-cmake-modules/find-modules/FindEGL.cmake ++++ b/cmake/3rdparty/extra-cmake-modules/find-modules/FindEGL.cmake +@@ -116,7 +116,7 @@ if(EGL_INCLUDE_DIR) + unset(_EGL_version_lines) + endif() + +-cmake_push_check_state(RESET) ++cmake_push_check_state() # To be able to fix the compile check in vcpkg-cmake-wrapper + list(APPEND CMAKE_REQUIRED_LIBRARIES "${EGL_LIBRARY}") + list(APPEND CMAKE_REQUIRED_INCLUDES "${EGL_INCLUDE_DIR}") + list(APPEND CMAKE_REQUIRED_DEFINITIONS "${EGL_DEFINITIONS}") diff --git a/ports/qtbase/installed_dir.patch b/ports/qtbase/installed_dir.patch new file mode 100644 index 00000000000000..91867314159820 --- /dev/null +++ b/ports/qtbase/installed_dir.patch @@ -0,0 +1,15 @@ +diff --git a/cmake/qt.toolchain.cmake.in b/cmake/qt.toolchain.cmake.in +index 6e37ae02..e7e84468 100644 +--- a/cmake/qt.toolchain.cmake.in ++++ b/cmake/qt.toolchain.cmake.in +@@ -65,6 +65,10 @@ get_filename_component(QT_TOOLCHAIN_RELOCATABLE_INSTALL_PREFIX + # one level higher is what we're looking for. + get_filename_component(QT_TOOLCHAIN_RELOCATABLE_CMAKE_DIR "${CMAKE_CURRENT_LIST_DIR}/.." ABSOLUTE) + ++get_filename_component(vcpkg_installed_dir ++ ${CMAKE_CURRENT_LIST_DIR}/../../../ ++ ABSOLUTE) ++ + # REROOT_PATH_ISSUE_MARKER + # There's a subdirectory check in cmake's cmFindCommon::RerootPaths() function, that doesn't handle + # the case of CMAKE_PREFIX_PATH == CMAKE_FIND_ROOT_PATH for a particular pair of entries. diff --git a/ports/qtbase/portfile.cmake b/ports/qtbase/portfile.cmake index 12233c0e5e1f23..6ad3432eef3f56 100644 --- a/ports/qtbase/portfile.cmake +++ b/ports/qtbase/portfile.cmake @@ -1,37 +1,52 @@ # Reminder for myself and everybody else: -# Qt cross module dependency information within the Qt respository is wrong and/or incomplete. +# Qt cross module dependency information within the Qt respository is wrong and/or incomplete. # Always check the toplevel CMakeLists.txt for the find_package call and search for linkage against the Qt:: targets -# Often enough certain (bigger) dependencies are only used to build examples and/or tests. +# Often enough certain (bigger) dependencies are only used to build examples and/or tests. # As such getting the correct dependency information relevant for vcpkg requires a manual search/check - -#set(QT_IS_LATEST ON) +set(QT_IS_LATEST ON) ## All above goes into the qt_port_hashes in the future include("${CMAKE_CURRENT_LIST_DIR}/cmake/qt_install_submodule.cmake") -set(${PORT}_PATCHES - allow_outside_prefix.patch - clang-cl_source_location.patch +set(${PORT}_PATCHES + allow_outside_prefix.patch config_install.patch - dont_force_cmakecache.patch fix_cmake_build.patch harfbuzz.patch fix_egl.patch - cocoa.patch - ) - -if(NOT VCPKG_USE_HEAD_VERSION AND NOT QT_IS_LATEST) - list(APPEND ${PORT}_PATCHES - ) + fix_egl_2.patch + installed_dir.patch + GLIB2-static.patch # alternative is to force pkg-config + clang-cl_source_location.patch + clang-cl_QGADGET_fix.diff + fix-host-aliasing.patch + fix_deploy_windows.patch + fix-link-lib-discovery.patch + qmake-arm64.patch +) + +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + list(APPEND ${PORT}_PATCHES env.patch) endif() +list(APPEND ${PORT}_PATCHES + dont_force_cmakecache_latest.patch + ) + if(VCPKG_TARGET_IS_WINDOWS AND NOT "doubleconversion" IN_LIST FEATURES) message(FATAL_ERROR "${PORT} requires feature doubleconversion on windows!" ) endif() -# Features can be found via searching for qt_feature in all configure.cmake files in the source: +if(VCPKG_TARGET_IS_LINUX) + message(WARNING "qtbase currently requires packages from the system package manager. " + "They can be installed on Ubuntu systems via sudo apt-get install " + "'^libxcb.*-dev' libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev libxkbcommon-dev " + "libxkbcommon-x11-dev libegl1-mesa-dev.") +endif() + +# Features can be found via searching for qt_feature in all configure.cmake files in the source: # The files also contain information about the Platform for which it is searched -# Always use FEATURE_ in vcpkg_configure_cmake +# Always use FEATURE_ in vcpkg_cmake_configure # (using QT_FEATURE_X overrides Qts condition check for the feature.) # Theoretically there is a feature for every widget to enable/disable it but that is way to much for vcpkg @@ -40,8 +55,7 @@ set(INPUT_OPTIONS) foreach(_input IN LISTS input_vars) if(_input MATCHES "(png|jpeg)" ) list(APPEND INPUT_OPTIONS -DINPUT_lib${_input}:STRING=) - elseif(_input MATCHES "(sql-sqlite)") - list(APPEND INPUT_OPTIONS -DINPUT_sqlite:STRING=) # Not yet used be the cmake build + elseif(_input MATCHES "(sql-sqlite)") # Not yet used by the cmake build else() list(APPEND INPUT_OPTIONS -DINPUT_${_input}:STRING=) endif() @@ -57,21 +71,24 @@ foreach(_input IN LISTS input_vars) endforeach() # General features: + vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES - "appstore-compliant" FEATURE_appstore-compliant + "appstore-compliant" FEATURE_appstore_compliant "zstd" FEATURE_zstd "framework" FEATURE_framework "concurrent" FEATURE_concurrent "concurrent" FEATURE_future - "concurrent" FEATURE_thread "dbus" FEATURE_dbus "gui" FEATURE_gui + "thread" FEATURE_thread "network" FEATURE_network "sql" FEATURE_sql "widgets" FEATURE_widgets #"xml" FEATURE_xml # Required to build moc "testlib" FEATURE_testlib + "zstd" CMAKE_REQUIRE_FIND_PACKAGE_zstd + ${require_features} INVERTED_FEATURES "zstd" CMAKE_DISABLE_FIND_PACKAGE_ZSTD "dbus" CMAKE_DISABLE_FIND_PACKAGE_WrapDBus1 @@ -80,6 +97,18 @@ INVERTED_FEATURES list(APPEND FEATURE_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_Libudev:BOOL=ON) list(APPEND FEATURE_OPTIONS -DFEATURE_xml:BOOL=ON) +if("dbus" IN_LIST FEATURES AND VCPKG_TARGET_IS_LINUX) + list(APPEND FEATURE_OPTIONS -DINPUT_dbus=linked) +elseif("dbus" IN_LIST FEATURES) + list(APPEND FEATURE_OPTIONS -DINPUT_dbus=runtime) +else() + list(APPEND FEATURE_OPTIONS -DINPUT_dbus=no) +endif() + +if(VCPKG_QT_NAMESPACE) + list(APPEND FEATURE_OPTIONS "-DQT_NAMESPACE:STRING=${VCPKG_QT_NAMESPACE}") +endif() + # Corelib features: vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_CORE_OPTIONS FEATURES @@ -87,10 +116,12 @@ FEATURES "glib" FEATURE_glib "icu" FEATURE_icu "pcre2" FEATURE_pcre2 + #"icu" CMAKE_REQUIRE_FIND_PACKAGE_ICU + "glib" CMAKE_REQUIRE_FIND_PACKAGE_GLIB2 INVERTED_FEATURES #"doubleconversion" CMAKE_DISABLE_FIND_PACKAGE_WrapDoubleConversion # Required - "icu" CMAKE_DISABLE_FIND_PACKAGE_ICU #"pcre2" CMAKE_DISABLE_FIND_PACKAGE_WrapSystemPCRE2 # Bug in qt cannot be deactivated + "icu" CMAKE_DISABLE_FIND_PACKAGE_ICU "glib" CMAKE_DISABLE_FIND_PACKAGE_GLIB2 ) @@ -98,15 +129,23 @@ list(APPEND FEATURE_CORE_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_LTTngUST:BOOL=ON) list(APPEND FEATURE_CORE_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_PPS:BOOL=ON) list(APPEND FEATURE_CORE_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_Slog2:BOOL=ON) list(APPEND FEATURE_CORE_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_Libsystemd:BOOL=ON) +list(APPEND FEATURE_CORE_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_WrapBacktrace:BOOL=ON) +#list(APPEND FEATURE_CORE_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_WrapAtomic:BOOL=ON) # Cannot be disabled on x64 platforms +#list(APPEND FEATURE_CORE_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_WrapRt:BOOL=ON) # Cannot be disabled on osx # Network features: vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_NET_OPTIONS FEATURES "openssl" FEATURE_openssl "brotli" FEATURE_brotli + "securetransport" FEATURE_securetransport + "dnslookup" FEATURE_dnslookup + #"brotli" CMAKE_REQUIRE_FIND_PACKAGE_WrapBrotli + #"openssl" CMAKE_REQUIRE_FIND_PACKAGE_WrapOpenSSL INVERTED_FEATURES "brotli" CMAKE_DISABLE_FIND_PACKAGE_WrapBrotli "openssl" CMAKE_DISABLE_FIND_PACKAGE_WrapOpenSSL + "dnslookup" CMAKE_DISABLE_FIND_PACKAGE_WrapResolve ) if("openssl" IN_LIST FEATURES) @@ -115,6 +154,10 @@ else() list(APPEND FEATURE_NET_OPTIONS -DINPUT_openssl=no) endif() +if ("dnslookup" IN_LIST FEATURES AND NOT VCPKG_TARGET_IS_WINDOWS) + list(APPEND FEATURE_NET_OPTIONS -DFEATURE_libresolv:BOOL=ON) +endif() + list(APPEND FEATURE_NET_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_Libproxy:BOOL=ON) list(APPEND FEATURE_NET_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_GSSAPI:BOOL=ON) @@ -126,15 +169,40 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_GUI_OPTIONS "fontconfig" FEATURE_fontconfig # NOT WINDOWS "jpeg" FEATURE_jpeg "png" FEATURE_png - #"opengl" INPUT_opengl=something + "opengl" FEATURE_opengl + "xlib" FEATURE_xlib + "xkb" FEATURE_xkbcommon + "xcb" FEATURE_xcb + "xcb-xlib" FEATURE_xcb_xlib + "xkbcommon-x11" FEATURE_xkbcommon_x11 + "xrender" FEATURE_xrender # requires FEATURE_xcb_native_painting; otherwise disabled. + "xrender" FEATURE_xcb_native_painting # experimental + "gles2" FEATURE_opengles2 + "gles3" FEATURE_opengles3 + #Cannot be required since Qt will look in CONFIG mode first but is controlled via CMAKE_DISABLE_FIND_PACKAGE_Vulkan below + #"vulkan" CMAKE_REQUIRE_FIND_PACKAGE_WrapVulkanHeaders + "egl" FEATURE_egl + #"fontconfig" CMAKE_REQUIRE_FIND_PACKAGE_Fontconfig + #"harfbuzz" CMAKE_REQUIRE_FIND_PACKAGE_WrapSystemHarfbuzz + #"jpeg" CMAKE_REQUIRE_FIND_PACKAGE_JPEG + #"png" CMAKE_REQUIRE_FIND_PACKAGE_PNG + #"xlib" CMAKE_REQUIRE_FIND_PACKAGE_X11 + #"xkb" CMAKE_REQUIRE_FIND_PACKAGE_XKB + #"xcb" CMAKE_REQUIRE_FIND_PACKAGE_XCB + #"xcb-xlib" CMAKE_REQUIRE_FIND_PACKAGE_X11_XCB + #"xkbcommon-x11" CMAKE_REQUIRE_FIND_PACKAGE_XKB_COMMON_X11 + #"xrender" CMAKE_REQUIRE_FIND_PACKAGE_XRender INVERTED_FEATURES "vulkan" CMAKE_DISABLE_FIND_PACKAGE_Vulkan + "opengl" CMAKE_DISABLE_FIND_PACKAGE_WrapOpenGL "egl" CMAKE_DISABLE_FIND_PACKAGE_EGL + "gles2" CMAKE_DISABLE_FIND_PACKAGE_GLESv2 + "gles3" CMAKE_DISABLE_FIND_PACKAGE_GLESv3 "fontconfig" CMAKE_DISABLE_FIND_PACKAGE_Fontconfig #"freetype" CMAKE_DISABLE_FIND_PACKAGE_WrapSystemFreetype # Bug in qt cannot be deactivated "harfbuzz" CMAKE_DISABLE_FIND_PACKAGE_WrapSystemHarfbuzz "jpeg" CMAKE_DISABLE_FIND_PACKAGE_JPEG - "png" CMAKE_DISABLE_FIND_PACKAGE_PNG + #"png" CMAKE_DISABLE_FIND_PACKAGE_PNG # Unable to disable if Freetype requires it "xlib" CMAKE_DISABLE_FIND_PACKAGE_X11 "xkb" CMAKE_DISABLE_FIND_PACKAGE_XKB "xcb" CMAKE_DISABLE_FIND_PACKAGE_XCB @@ -144,6 +212,17 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_GUI_OPTIONS # There are more X features but I am unsure how to safely disable them! Most of them seem to be found automaticall with find_package(X11) ) +if("gles2" IN_LIST FEATURES) + list(APPEND FEATURE_GUI_OPTIONS -DINPUT_opengl='es2') + list(APPEND FEATURE_GUI_OPTIONS -DFEATURE_opengl_desktop=OFF) +endif() + +if(NOT "opengl" IN_LIST FEATURES AND NOT "gles2" IN_LIST FEATURES) + list(APPEND FEATURE_GUI_OPTIONS -DINPUT_opengl='no') + list(APPEND FEATURE_GUI_OPTIONS -DFEATURE_opengl_desktop=OFF) + list(APPEND FEATURE_GUI_OPTIONS -DFEATURE_opengl_dynamic=OFF) +endif() + if("xcb" IN_LIST FEATURES) list(APPEND FEATURE_GUI_OPTIONS -DINPUT_xcb=yes) else() @@ -154,7 +233,10 @@ if("xkb" IN_LIST FEATURES) else() list(APPEND FEATURE_GUI_OPTIONS -DINPUT_xkbcommon=no) endif() -list(APPEND FEATURE_GUI_OPTIONS ) + +# Disable OpenGL ES 3.1 and 3.2 +list(APPEND FEATURE_GUI_OPTIONS -DFEATURE_opengles31:BOOL=OFF) +list(APPEND FEATURE_GUI_OPTIONS -DFEATURE_opengles32:BOOL=OFF) list(APPEND FEATURE_GUI_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_ATSPI2:BOOL=ON) list(APPEND FEATURE_GUI_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_DirectFB:BOOL=ON) @@ -162,62 +244,75 @@ list(APPEND FEATURE_GUI_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_Libdrm:BOOL=ON) list(APPEND FEATURE_GUI_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_gbm:BOOL=ON) list(APPEND FEATURE_GUI_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_Libinput:BOOL=ON) list(APPEND FEATURE_GUI_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_Mtdev:BOOL=ON) -list(APPEND FEATURE_GUI_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_GLESv2:BOOL=ON) # only used if INPUT_opengl is correctly set list(APPEND FEATURE_GUI_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_Tslib:BOOL=ON) # sql-drivers features: vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_SQLDRIVERS_OPTIONS FEATURES "sql-sqlite" FEATURE_system_sqlite + "sql-odbc" FEATURE_sql_odbc + "sql-mysql" FEATURE_sql_mysql + "sql-oci" FEATURE_sql_oci + #"sql-psql" CMAKE_REQUIRE_FIND_PACKAGE_PostgreSQL + #"sql-sqlite" CMAKE_REQUIRE_FIND_PACKAGE_SQLite3 INVERTED_FEATURES "sql-psql" CMAKE_DISABLE_FIND_PACKAGE_PostgreSQL "sql-sqlite" CMAKE_DISABLE_FIND_PACKAGE_SQLite3 - # "sql-db2" FEATURE_sql-db2 - # "sql-ibase" FEATURE_sql-ibase - # "sql-mysql" FEATURE_sql-mysql - # "sql-oci" FEATURE_sql-oci - # "sql-odbc" FEATURE_sql-odbc + "sql-odbc" CMAKE_DISABLE_FIND_PACKAGE_ODBC + "sql-mysql" CMAKE_DISABLE_FIND_PACKAGE_MySQL + "sql-oci" CMAKE_DISABLE_FIND_PACKAGE_Oracle ) -set(DB_LIST DB2 MySQL Oracle ODBC) +set(DB_LIST DB2 Interbase Mimer) foreach(_db IN LISTS DB_LIST) list(APPEND FEATURE_SQLDRIVERS_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_${_db}:BOOL=ON) endforeach() # printsupport features: -# vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_PRINTSUPPORT_OPTIONS - # ) -list(APPEND FEATURE_PRINTSUPPORT_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_CUPS:BOOL=ON) - -# widgets features: -# vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_WIDGETS_OPTIONS - # "gtk3" FEATURE_gtk3 - # There are a lot of additional features here to deactivate parts of widgets. - # ) -list(APPEND FEATURE_WIDGETS_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_GTK3:BOOL=ON) - -set(TOOL_NAMES - androiddeployqt - androidtestrunner - cmake_automoc_parser - moc - qdbuscpp2xml - qdbusxml2cpp - qlalr - qmake - qmake6 - qvkgen - rcc - tracegen +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_PRINTSUPPORT_OPTIONS + FEATURES + "cups" FEATURE_cups + INVERTED_FEATURES + "cups" CMAKE_DISABLE_FIND_PACKAGE_Cups +) + + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_WIDGETS_OPTIONS + FEATURES + "gtk3" FEATURE_gtk3 + INVERTED_FEATURES + "gtk3" CMAKE_DISABLE_FIND_PACKAGE_GTK3 +) + +set(TOOL_NAMES + androiddeployqt + androidtestrunner + cmake_automoc_parser + moc + qdbuscpp2xml + qdbusxml2cpp + qlalr + qmake + qmake6 + qvkgen + rcc + tracegen uic qtpaths qtpaths6 + windeployqt + windeployqt6 + macdeployqt + macdeployqt6 + androiddeployqt6 + syncqt + tracepointgen ) qt_install_submodule(PATCHES ${${PORT}_PATCHES} TOOL_NAMES ${TOOL_NAMES} CONFIGURE_OPTIONS - #--trace-expand + ##--trace-expand ${FEATURE_OPTIONS} ${FEATURE_CORE_OPTIONS} ${FEATURE_NET_OPTIONS} @@ -235,46 +330,52 @@ qt_install_submodule(PATCHES ${${PORT}_PATCHES} -DFEATURE_relocatable:BOOL=ON CONFIGURE_OPTIONS_RELEASE CONFIGURE_OPTIONS_DEBUG - -DQT_NO_MAKE_TOOLS:BOOL=ON -DFEATURE_debug:BOOL=ON + CONFIGURE_OPTIONS_MAYBE_UNUSED + FEATURE_appstore_compliant # only used for android/ios ) # Install CMake helper scripts -if(QT_IS_LATEST) - set(port_details "${CMAKE_CURRENT_LIST_DIR}/cmake/qt_port_details-latest.cmake") -else() - set(port_details "${CMAKE_CURRENT_LIST_DIR}/cmake/qt_port_details.cmake") -endif() -file(INSTALL - "${port_details}" - DESTINATION - "${CURRENT_PACKAGES_DIR}/share/${PORT}" - RENAME - "qt_port_details.cmake" - ) file(COPY - "${CMAKE_CURRENT_LIST_DIR}/cmake/qt_install_copyright.cmake" - "${CMAKE_CURRENT_LIST_DIR}/cmake/qt_install_submodule.cmake" + "${CMAKE_CURRENT_LIST_DIR}/cmake/" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" ) -qt_stop_on_update() - -set(script_files qt-cmake qt-cmake-private qt-cmake-standalone-test qt-configure-module qt-internal-configure-tests) +file(CONFIGURE OUTPUT "${CURRENT_PACKAGES_DIR}/share/${PORT}/port_status.cmake" CONTENT "set(qtbase_with_icu ${FEATURE_icu})\n") + +set(other_files qt-cmake + qt-cmake-private + qt-cmake-standalone-test + qt-configure-module + qt-internal-configure-tests + qt-cmake-create + qt-internal-configure-examples + qt-internal-configure-tests + qmake + qmake6 + qtpaths + qtpaths6 + ) if(CMAKE_HOST_WIN32) - set(script_suffix .bat) + set(script_suffix ".bat") else() - set(script_suffix) + set(script_suffix "") endif() -set(other_files - target_qt.conf - qt-cmake-private-install.cmake - syncqt.pl - android_cmakelist_patcher.sh - android_emulator_launcher.sh - ensure_pro_file.cmake - ) +list(TRANSFORM other_files APPEND "${script_suffix}") + +list(APPEND other_files + android_cmakelist_patcher.sh + android_emulator_launcher.sh + ensure_pro_file.cmake + syncqt.pl + target_qt.conf + qt-cmake-private-install.cmake + qt-testrunner.py + sanitizer-testrunner.py + qt-wasmtestrunner.py + ) + foreach(_config debug release) if(_config MATCHES "debug") set(path_suffix debug/) @@ -285,33 +386,45 @@ foreach(_config debug release) continue() endif() file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/${path_suffix}") - foreach(script IN LISTS script_files) - if(EXISTS "${CURRENT_PACKAGES_DIR}/${path_suffix}bin/${script}${script_suffix}") - set(target_script "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/${path_suffix}${script}${script_suffix}") - file(RENAME "${CURRENT_PACKAGES_DIR}/${path_suffix}bin/${script}${script_suffix}" "${target_script}") - file(READ "${target_script}" _contents) + foreach(other_file IN LISTS other_files) + if(EXISTS "${CURRENT_PACKAGES_DIR}/${path_suffix}bin/${other_file}") + set(target_file "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/${path_suffix}${other_file}") + file(RENAME "${CURRENT_PACKAGES_DIR}/${path_suffix}bin/${other_file}" "${target_file}") + file(READ "${target_file}" _contents) if(_config MATCHES "debug") - string(REPLACE "\\..\\share\\" "\\..\\..\\..\\..\\share\\" _contents "${_contents}") + string(REPLACE "..\\share\\" "..\\..\\..\\..\\share\\" _contents "${_contents}") + string(REPLACE "../share/" "../../../../share/" _contents "${_contents}") else() - string(REPLACE "\\..\\share\\" "\\..\\..\\..\\share\\" _contents "${_contents}") + string(REPLACE "..\\share\\" "..\\..\\..\\share\\" _contents "${_contents}") + string(REPLACE "../share/" "../../../share/" _contents "${_contents}") endif() - file(WRITE "${target_script}" "${_contents}") - endif() - endforeach() - foreach(other IN LISTS other_files) - if(EXISTS "${CURRENT_PACKAGES_DIR}/${path_suffix}bin/${other}") - file(RENAME "${CURRENT_PACKAGES_DIR}/${path_suffix}bin/${other}" "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/${path_suffix}${other}") + string(REGEX REPLACE "set cmake_path=[^\n]+\n" "set cmake_path=cmake\n" _contents "${_contents}") + string(REGEX REPLACE "original_cmake_path=[^\n]+\n" "original_cmake_path=does-not-exist\n" _contents "${_contents}") + file(WRITE "${target_file}" "${_contents}") endif() endforeach() endforeach() -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") +# Fixup qt.toolchain.cmake +set(qttoolchain "${CURRENT_PACKAGES_DIR}/share/Qt6/qt.toolchain.cmake") +file(READ "${qttoolchain}" toolchain_contents) +string(REGEX REPLACE "set\\\(__qt_initially_configured_toolchain_file [^\\\n]+\\\n" "" toolchain_contents "${toolchain_contents}") +string(REGEX REPLACE "set\\\(__qt_chainload_toolchain_file [^\\\n]+\\\n" "set(__qt_chainload_toolchain_file \"\${VCPKG_CHAINLOAD_TOOLCHAIN_FILE}\")" toolchain_contents "${toolchain_contents}") +string(REGEX REPLACE "set\\\(VCPKG_CHAINLOAD_TOOLCHAIN_FILE [^\\\n]+\\\n" "" toolchain_contents "${toolchain_contents}") +string(REGEX REPLACE "set\\\(__qt_initial_c_compiler [^\\\n]+\\\n" "" toolchain_contents "${toolchain_contents}") +string(REGEX REPLACE "set\\\(__qt_initial_cxx_compiler [^\\\n]+\\\n" "" toolchain_contents "${toolchain_contents}") +string(REPLACE "${CURRENT_HOST_INSTALLED_DIR}" "\${vcpkg_installed_dir}/${HOST_TRIPLET}" toolchain_contents "${toolchain_contents}") +file(WRITE "${qttoolchain}" "${toolchain_contents}") + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static" OR NOT VCPKG_TARGET_IS_WINDOWS) if(VCPKG_CROSSCOMPILING) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin/qmake" "${CURRENT_PACKAGES_DIR}/debug/bin/qmake") # qmake has been moved so this is the qmake helper script endif() file(GLOB_RECURSE _bin_files "${CURRENT_PACKAGES_DIR}/bin/*") - if(NOT _bin_files) # Only clean if empty otherwise let vcpkg throw and error. + if(NOT _bin_files) # Only clean if empty otherwise let vcpkg throw and error. file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin/" "${CURRENT_PACKAGES_DIR}/debug/bin/") + else() + message(STATUS "Files in '/bin':${_bin_files}") endif() endif() @@ -322,25 +435,61 @@ if(NOT VCPKG_TARGET_IS_OSX) endif() if(NOT VCPKG_TARGET_IS_IOS) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/Qt6/ios") -endif() +endif() +file(RELATIVE_PATH installed_to_host "${CURRENT_INSTALLED_DIR}" "${CURRENT_HOST_INSTALLED_DIR}") +file(RELATIVE_PATH host_to_installed "${CURRENT_HOST_INSTALLED_DIR}" "${CURRENT_INSTALLED_DIR}") +if(installed_to_host) + string(APPEND installed_to_host "/") + string(APPEND host_to_installed "/") +endif() set(_file "${CMAKE_CURRENT_LIST_DIR}/qt.conf.in") -set(REL_PATH) -configure_file("${_file}" "${CURRENT_PACKAGES_DIR}/tools/Qt6/qt_release.conf" @ONLY) +set(REL_PATH "") +set(REL_HOST_TO_DATA "\${CURRENT_INSTALLED_DIR}/") +configure_file("${_file}" "${CURRENT_PACKAGES_DIR}/tools/Qt6/qt_release.conf" @ONLY) # For vcpkg-qmake set(BACKUP_CURRENT_INSTALLED_DIR "${CURRENT_INSTALLED_DIR}") set(BACKUP_CURRENT_HOST_INSTALLED_DIR "${CURRENT_HOST_INSTALLED_DIR}") set(CURRENT_INSTALLED_DIR "./../../../") -set(CURRENT_HOST_INSTALLED_DIR "./../../../") +set(CURRENT_HOST_INSTALLED_DIR "${CURRENT_INSTALLED_DIR}${installed_to_host}") + +## Configure installed qt.conf +set(REL_HOST_TO_DATA "${host_to_installed}") configure_file("${_file}" "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/qt.conf") set(REL_PATH debug/) configure_file("${_file}" "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/qt.debug.conf") + set(CURRENT_INSTALLED_DIR "${BACKUP_CURRENT_INSTALLED_DIR}") set(CURRENT_HOST_INSTALLED_DIR "${BACKUP_CURRENT_HOST_INSTALLED_DIR}") -configure_file("${_file}" "${CURRENT_PACKAGES_DIR}/tools/Qt6/qt_debug.conf" @ONLY) +set(REL_HOST_TO_DATA "\${CURRENT_INSTALLED_DIR}/") +configure_file("${_file}" "${CURRENT_PACKAGES_DIR}/tools/Qt6/qt_debug.conf" @ONLY) # For vcpkg-qmake + +set(target_qt_conf "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/target_qt.conf") +if(EXISTS "${target_qt_conf}") + file(READ "${target_qt_conf}" qt_conf_contents) + string(REGEX REPLACE "Prefix=[^\n]+" "Prefix=./../../../" qt_conf_contents ${qt_conf_contents}) + string(REGEX REPLACE "HostData=[^\n]+" "HostData=./../${TARGET_TRIPLET}/share/Qt6" qt_conf_contents ${qt_conf_contents}) + string(REGEX REPLACE "HostPrefix=[^\n]+" "HostPrefix=./../../../../${_HOST_TRIPLET}" qt_conf_contents ${qt_conf_contents}) + file(WRITE "${target_qt_conf}" "${qt_conf_contents}") + if(NOT VCPKG_BUILD_TYPE) + set(target_qt_conf_debug "${CURRENT_PACKAGES_DIR}/tools/Qt6/target_qt_debug.conf") + configure_file("${target_qt_conf}" "${target_qt_conf_debug}" COPYONLY) + file(READ "${target_qt_conf_debug}" qt_conf_contents) + string(REGEX REPLACE "=(bin|lib|Qt6/plugins|Qt6/qml)" "=debug/\\1" qt_conf_contents ${qt_conf_contents}) + file(WRITE "${target_qt_conf_debug}" "${qt_conf_contents}") + + configure_file("${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/qmake${script_suffix}" "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/qmake.debug${script_suffix}" COPYONLY) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/qmake.debug${script_suffix}" "target_qt.conf" "target_qt_debug.conf") + endif() +endif() + +if(VCPKG_TARGET_IS_EMSCRIPTEN) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/Qt6Core/Qt6WasmMacros.cmake" "_qt_test_emscripten_version()" "") # this is missing a include(QtPublicWasmToolchainHelpers) +endif() + if(VCPKG_TARGET_IS_WINDOWS) set(_DLL_FILES brotlicommon brotlidec bz2 freetype harfbuzz libpng16) - set(DLLS_TO_COPY) + set(DLLS_TO_COPY "") foreach(_file IN LISTS _DLL_FILES) if(EXISTS "${CURRENT_INSTALLED_DIR}/bin/${_file}.dll") list(APPEND DLLS_TO_COPY "${CURRENT_INSTALLED_DIR}/bin/${_file}.dll") @@ -349,16 +498,78 @@ if(VCPKG_TARGET_IS_WINDOWS) file(COPY ${DLLS_TO_COPY} DESTINATION "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin") endif() -file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/qmake.debug.bat" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin") set(hostinfofile "${CURRENT_PACKAGES_DIR}/share/Qt6HostInfo/Qt6HostInfoConfig.cmake") file(READ "${hostinfofile}" _contents) string(REPLACE [[set(QT6_HOST_INFO_LIBEXECDIR "bin")]] [[set(QT6_HOST_INFO_LIBEXECDIR "tools/Qt6/bin")]] _contents "${_contents}") string(REPLACE [[set(QT6_HOST_INFO_BINDIR "bin")]] [[set(QT6_HOST_INFO_BINDIR "tools/Qt6/bin")]] _contents "${_contents}") file(WRITE "${hostinfofile}" "${_contents}") -set(coretools "${CURRENT_PACKAGES_DIR}/share/Qt6CoreTools/Qt6CoreTools.cmake") -if(EXISTS "${coretools}") - file(READ "${coretools}" _contents) - string(REPLACE [[ "${_IMPORT_PREFIX}/tools/Qt6/bin/qmake.exe"]] [["${_IMPORT_PREFIX}/tools/Qt6/bin/qmake.debug.bat"]] _contents "${_contents}") - file(WRITE "${coretools}" "${_contents}") +if(NOT VCPKG_CROSSCOMPILING OR EXISTS "${CURRENT_PACKAGES_DIR}/share/Qt6CoreTools/Qt6CoreToolsAdditionalTargetInfo.cmake") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/Qt6CoreTools/Qt6CoreToolsAdditionalTargetInfo.cmake" + "PACKAGE_PREFIX_DIR}/bin/syncqt" + "PACKAGE_PREFIX_DIR}/tools/Qt6/bin/syncqt" + IGNORE_UNCHANGED) +endif() + +set(configfile "${CURRENT_PACKAGES_DIR}/share/Qt6CoreTools/Qt6CoreToolsTargets-debug.cmake") +if(EXISTS "${configfile}") + file(READ "${configfile}" _contents) + if(EXISTS "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/qmake.exe") + file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/qmake.debug.bat" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin") + string(REPLACE [[ "${_IMPORT_PREFIX}/tools/Qt6/bin/qmake.exe"]] [[ "${_IMPORT_PREFIX}/tools/Qt6/bin/qmake.debug.bat"]] _contents "${_contents}") + endif() + if(EXISTS "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/qtpaths.exe") + file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/qtpaths.debug.bat" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin") + string(REPLACE [[ "${_IMPORT_PREFIX}/tools/Qt6/bin/qtpaths.exe"]] [[ "${_IMPORT_PREFIX}/tools/Qt6/bin/qtpaths.debug.bat"]] _contents "${_contents}") + endif() + if(EXISTS "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/windeployqt.exe") + file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/windeployqt.debug.bat" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin") + string(REPLACE [[ "${_IMPORT_PREFIX}/tools/Qt6/bin/windeployqt.exe"]] [[ "${_IMPORT_PREFIX}/tools/Qt6/bin/windeployqt.debug.bat"]] _contents "${_contents}") + endif() + file(WRITE "${configfile}" "${_contents}") +endif() + +if(VCPKG_CROSSCOMPILING) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/Qt6/Qt6Dependencies.cmake" "${CURRENT_HOST_INSTALLED_DIR}" "\${CMAKE_CURRENT_LIST_DIR}/../../../${HOST_TRIPLET}") +endif() + +function(remove_original_cmake_path file) + file(READ "${file}" _contents) + string(REGEX REPLACE "original_cmake_path=[^\n]*" "original_cmake_path=''" _contents "${_contents}") + file(WRITE "${file}" "${_contents}") +endfunction() + +if(NOT VCPKG_TARGET_IS_WINDOWS AND NOT CMAKE_HOST_WIN32) + foreach(file "qt-cmake${script_suffix}" "qt-cmake-private${script_suffix}") + remove_original_cmake_path("${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/${file}") + if(NOT VCPKG_BUILD_TYPE) + remove_original_cmake_path("${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/debug/${file}") + endif() + endforeach() +endif() + +if(VCPKG_TARGET_IS_WINDOWS) + # dlls owned but not automatically installed by qtbase + # this is required to avoid ownership troubles in downstream qt modules + set(qtbase_owned_dlls + double-conversion.dll + icudt74.dll + icuin74.dll + icuuc74.dll + libcrypto-3-${VCPKG_TARGET_ARCHITECTURE}.dll + libcrypto-3.dll # for x86 + pcre2-16.dll + zlib1.dll + zstd.dll + ) + if("dbus" IN_LIST FEATURES) + list(APPEND qtbase_owned_dlls dbus-1-3.dll) + endif() + list(TRANSFORM qtbase_owned_dlls PREPEND "${CURRENT_INSTALLED_DIR}/bin/") + foreach(dll IN LISTS qtbase_owned_dlls) + if(NOT EXISTS "${dll}") # Need to remove non-existant dlls since dependencies could have been build statically + list(REMOVE_ITEM qtbase_owned_dlls "${dll}") + endif() + endforeach() + file(COPY ${qtbase_owned_dlls} DESTINATION "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin") endif() diff --git a/ports/qtbase/qmake-arm64.patch b/ports/qtbase/qmake-arm64.patch new file mode 100644 index 00000000000000..17ba77b5c6a545 --- /dev/null +++ b/ports/qtbase/qmake-arm64.patch @@ -0,0 +1,18 @@ +diff --git a/qmake/library/qmakeevaluator.cpp b/qmake/library/qmakeevaluator.cpp +index df3f92d7d5df..0ee8cdbf11e1 100644 +--- a/qmake/library/qmakeevaluator.cpp ++++ b/qmake/library/qmakeevaluator.cpp +@@ -1046,6 +1046,11 @@ void QMakeEvaluator::loadDefaults() + case PROCESSOR_ARCHITECTURE_AMD64: + archStr = ProString("x86_64"); + break; ++# endif ++# ifdef PROCESSOR_ARCHITECTURE_ARM64 ++ case PROCESSOR_ARCHITECTURE_ARM64: ++ archStr = ProString("arm64"); ++ break; + # endif + case PROCESSOR_ARCHITECTURE_INTEL: + archStr = ProString("x86"); +-- +2.16.3 diff --git a/ports/qtbase/qmake.debug.bat b/ports/qtbase/qmake.debug.bat index 1b7440b3e08fc3..a7ed903a342ff4 100644 --- a/ports/qtbase/qmake.debug.bat +++ b/ports/qtbase/qmake.debug.bat @@ -1,2 +1,2 @@ @echo off -"%0\..\qmake.exe" -qtconf "%0\..\qt.debug.conf" %* \ No newline at end of file +"%0\..\qmake.exe" -qtconf "%0\..\qt.debug.conf" %* diff --git a/ports/qtbase/qt.conf.in b/ports/qtbase/qt.conf.in index a26802bc371aca..8e76b8f6d343c7 100644 --- a/ports/qtbase/qt.conf.in +++ b/ports/qtbase/qt.conf.in @@ -25,7 +25,7 @@ Data=share/Qt6 Translations=translations/@QT6_DIRECTORY_PREFIX@ Examples=share/examples/@QT6_DIRECTORY_PREFIX@ HostPrefix=${CURRENT_HOST_INSTALLED_DIR} -HostData=${CURRENT_INSTALLED_DIR}/share/Qt6 +HostData=@REL_HOST_TO_DATA@share/Qt6 HostBinaries=@REL_PATH@bin HostLibraries=@REL_PATH@lib HostLibraryExecutables=tools/Qt6/bin diff --git a/ports/qtbase/qtpaths.debug.bat b/ports/qtbase/qtpaths.debug.bat new file mode 100644 index 00000000000000..4fef8e754ebef1 --- /dev/null +++ b/ports/qtbase/qtpaths.debug.bat @@ -0,0 +1,2 @@ +@echo off +"%0\..\qtpaths.exe" --qtconf "%0\..\qt.debug.conf" %* diff --git a/ports/qtbase/vcpkg.json b/ports/qtbase/vcpkg.json index a89e7b5bad1f25..0e49eca8e91345 100644 --- a/ports/qtbase/vcpkg.json +++ b/ports/qtbase/vcpkg.json @@ -1,11 +1,12 @@ { "name": "qtbase", - "version-semver": "6.2.1", + "version": "6.7.3", "port-version": 1, - "description": "Qt Application Framework Base Module. Includes Core, GUI, Widgets, Networking, SQL, Concurrent and other essential qt components.", + "description": "Qt Base (Core, Gui, Widgets, Network, ...)", "homepage": "https://www.qt.io/", + "license": null, + "supports": "!uwp", "dependencies": [ - "freetype", { "name": "libb2", "platform": "!windows" @@ -16,13 +17,56 @@ "host": true, "default-features": false }, + { + "name": "qtbase", + "default-features": false, + "features": [ + "doubleconversion" + ] + }, + { + "name": "qtbase", + "default-features": false, + "features": [ + "cups" + ], + "platform": "osx" + }, + { + "name": "qtbase", + "default-features": false, + "features": [ + "thread" + ], + "platform": "osx" + }, + { + "name": "qtbase", + "default-features": false, + "features": [ + "pcre2" + ], + "platform": "windows & static" + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, "zlib" ], "default-features": [ "brotli", "concurrent", - "dbus", + { + "name": "dbus", + "platform": "!(static & windows)" + }, "default-features", + "dnslookup", "doubleconversion", "freetype", "gui", @@ -30,13 +74,25 @@ "icu", "jpeg", "network", - "openssl", + { + "name": "opengl", + "platform": "!ios" + }, + { + "name": "openssl", + "platform": "!ios" + }, "pcre2", "png", + { + "name": "securetransport", + "platform": "ios" + }, "sql", "sql-psql", "sql-sqlite", "testlib", + "thread", "widgets", "zstd" ], @@ -58,10 +114,44 @@ ] }, "concurrent": { - "description": "Provides a high-level multi-threading API. Qt Concurrent" + "description": "Provides a high-level multi-threading API. Qt Concurrent", + "dependencies": [ + { + "name": "qtbase", + "default-features": false, + "features": [ + "thread" + ] + } + ] + }, + "cups": { + "description": "Provides support for the Common Unix Printing System.", + "supports": "linux | osx" }, "dbus": { - "description": "Qt D-Bus" + "description": "Qt D-Bus", + "dependencies": [ + { + "name": "dbus", + "default-features": false + }, + { + "name": "qtbase", + "host": true, + "default-features": false, + "features": [ + "dbus" + ] + }, + { + "name": "qtbase", + "default-features": false, + "features": [ + "thread" + ] + } + ] }, "default-features": { "description": "Platform-dependent default features", @@ -85,6 +175,27 @@ "xrender" ], "platform": "linux" + }, + { + "name": "qtbase", + "default-features": false, + "features": [ + "egl", + "gles2" + ], + "platform": "android" + } + ] + }, + "dnslookup": { + "description": "Enable DNS lookup support", + "dependencies": [ + { + "name": "qtbase", + "default-features": false, + "features": [ + "network" + ] } ] }, @@ -96,8 +207,9 @@ }, "egl": { "description": "EGL", + "supports": "linux", "dependencies": [ - "egl-registry" + "egl" ] }, "fontconfig": { @@ -114,8 +226,8 @@ ] }, "framework": { - "$platform": "osx", - "description": "MAC framework build" + "description": "MAC framework build", + "supports": "osx & !static" }, "freetype": { "description": "Supports the FreeType 2 font engine (and its supported font formats).", @@ -126,21 +238,81 @@ } ] }, + "gles2": { + "description": "OpenGL ES 2.0", + "supports": "!windows & !osx", + "dependencies": [ + { + "name": "qtbase", + "default-features": false, + "features": [ + "gui" + ] + } + ] + }, + "gles3": { + "description": "OpenGL ES 3.0", + "supports": "!windows & !osx", + "dependencies": [ + { + "name": "qtbase", + "default-features": false, + "features": [ + "gles2" + ] + } + ] + }, "glib": { "description": "GLib", "dependencies": [ "glib" ] }, + "gtk3": { + "description": "GTK3 platform theme plugin", + "supports": "linux", + "dependencies": [ + "gtk3", + { + "name": "qtbase", + "default-features": false, + "features": [ + "glib" + ] + } + ] + }, "gui": { "description": "Qt Gui", "dependencies": [ + { + "name": "opengl", + "platform": "!ios" + }, { "name": "qtbase", "default-features": false, "features": [ "freetype" ] + }, + { + "name": "qtbase", + "default-features": false, + "features": [ + "opengl" + ], + "platform": "osx" + }, + { + "name": "qtbase", + "default-features": false, + "features": [ + "thread" + ], + "platform": "windows" } ] }, @@ -179,6 +351,19 @@ "network": { "description": "Qt Network" }, + "opengl": { + "description": "OpenGL", + "dependencies": [ + "opengl", + { + "name": "qtbase", + "default-features": false, + "features": [ + "gui" + ] + } + ] + }, "openssl": { "description": "Enable OpenSSL", "dependencies": [ @@ -211,6 +396,10 @@ } ] }, + "securetransport": { + "description": "Enable Secure Transport", + "supports": "ios | osx" + }, "sql": { "description": "Qt Sql", "dependencies": [ @@ -223,6 +412,45 @@ } ] }, + "sql-mysql": { + "description": "Enable SQL Driver MySQL", + "dependencies": [ + "libmysql", + { + "name": "qtbase", + "default-features": false, + "features": [ + "sql" + ] + } + ] + }, + "sql-oci": { + "description": "Enable SQL Driver Oracle OCI", + "dependencies": [ + "ocilib", + { + "name": "qtbase", + "default-features": false, + "features": [ + "sql" + ] + } + ] + }, + "sql-odbc": { + "description": "Enable SQL Driver odbc", + "supports": "windows", + "dependencies": [ + { + "name": "qtbase", + "default-features": false, + "features": [ + "sql" + ] + } + ] + }, "sql-psql": { "description": "Enable SQL Driver psql", "dependencies": [ @@ -252,8 +480,14 @@ "testlib": { "description": "Qt Testlib" }, + "thread": { + "description": "Thread support; provides QThread and related classes." + }, "vulkan": { - "description": "Enable Vulkan support" + "description": "Enable Vulkan support", + "dependencies": [ + "vulkan" + ] }, "widgets": { "description": "Qt Widgets", @@ -274,6 +508,7 @@ "name": "qtbase", "default-features": false, "features": [ + "concurrent", "xkbcommon-x11", "xlib" ] diff --git a/ports/qtbase/windeployqt.debug.bat b/ports/qtbase/windeployqt.debug.bat new file mode 100644 index 00000000000000..234bb438351215 --- /dev/null +++ b/ports/qtbase/windeployqt.debug.bat @@ -0,0 +1,10 @@ +@echo off +setlocal enabledelayedexpansion +set mypath=%~dp0 +set mypath=%mypath:~0,-1% +set BAKCD=!CD! +cd /D "%mypath%\..\..\..\debug\bin" +set PATH=!CD!;%PATH% +cd /D "%BAKCD%" +"%mypath%\windeployqt6.exe" --qtpaths "%mypath%\qtpaths.debug.bat" %* +endlocal diff --git a/ports/qtcharts/portfile.cmake b/ports/qtcharts/portfile.cmake index d6a3b2fd0ad24e..0f5be8a036a1d9 100644 --- a/ports/qtcharts/portfile.cmake +++ b/ports/qtcharts/portfile.cmake @@ -5,6 +5,7 @@ set(${PORT}_PATCHES) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES + "qml" CMAKE_REQUIRE_FIND_PACKAGE_Qt6Quick INVERTED_FEATURES "qml" CMAKE_DISABLE_FIND_PACKAGE_Qt6Quick ) diff --git a/ports/qtcharts/vcpkg.json b/ports/qtcharts/vcpkg.json index ba4875fa046163..7e6375d2bd362e 100644 --- a/ports/qtcharts/vcpkg.json +++ b/ports/qtcharts/vcpkg.json @@ -1,8 +1,9 @@ { "name": "qtcharts", - "version-semver": "6.2.1", - "description": "QtCharts module", + "version": "6.7.3", + "description": "The Qt Charts module provides a set of easy-to-use chart components. It uses the Qt Graphics View Framework to integrate charts with modern user interfaces.", "homepage": "https://www.qt.io/", + "license": null, "dependencies": [ { "name": "qtbase", diff --git a/ports/qtcoap/vcpkg.json b/ports/qtcoap/vcpkg.json index 0c2763ae3834cb..86d01fe4d890d9 100644 --- a/ports/qtcoap/vcpkg.json +++ b/ports/qtcoap/vcpkg.json @@ -1,8 +1,9 @@ { "name": "qtcoap", - "version-semver": "6.2.1", - "description": "Qt CoAP client module", + "version": "6.7.3", + "description": "Qt CoAP implements the client side of CoAP.", "homepage": "https://www.qt.io/", + "license": null, "dependencies": [ { "name": "qtbase", diff --git a/ports/qtconnectivity/portfile.cmake b/ports/qtconnectivity/portfile.cmake index 1a3a6f1bfedbd7..5eefc2decd92ad 100644 --- a/ports/qtconnectivity/portfile.cmake +++ b/ports/qtconnectivity/portfile.cmake @@ -5,6 +5,8 @@ set(${PORT}_PATCHES) qt_install_submodule(PATCHES ${${PORT}_PATCHES} CONFIGURE_OPTIONS + -DCMAKE_DISABLE_FIND_PACKAGE_BlueZ:BOOL=ON + -DCMAKE_DISABLE_FIND_PACKAGE_PCSCLITE:BOOL=ON CONFIGURE_OPTIONS_RELEASE CONFIGURE_OPTIONS_DEBUG ) diff --git a/ports/qtconnectivity/vcpkg.json b/ports/qtconnectivity/vcpkg.json index 0c5bc2fd0d50e8..979453f0a67852 100644 --- a/ports/qtconnectivity/vcpkg.json +++ b/ports/qtconnectivity/vcpkg.json @@ -1,17 +1,25 @@ { "name": "qtconnectivity", - "version-semver": "6.2.1", - "description": "Qt Connectivity", + "version": "6.7.3", + "description": "The Qt Connectivity module provides access to Bluetooth and NFC hardware.", "homepage": "https://www.qt.io/", + "license": null, "dependencies": [ { "name": "qtbase", "default-features": false, "features": [ - "dbus", "gui", "network" ] + }, + { + "name": "qtbase", + "default-features": false, + "features": [ + "dbus" + ], + "platform": "!(windows & static) & !android & !ios" } ] } diff --git a/ports/qtdatavis3d/vcpkg.json b/ports/qtdatavis3d/vcpkg.json index b6acb274fd3bf6..431a56f3be1c7b 100644 --- a/ports/qtdatavis3d/vcpkg.json +++ b/ports/qtdatavis3d/vcpkg.json @@ -1,8 +1,9 @@ { "name": "qtdatavis3d", - "version-semver": "6.2.1", - "description": "Qt 3D data visualization framework", + "version": "6.7.3", + "description": "The Qt Data Visualization module enables you to visualize data in 3D as bar, scatter, and surface graphs.", "homepage": "https://www.qt.io/", + "license": null, "dependencies": [ { "name": "qtbase", diff --git a/ports/qtdeclarative/portfile.cmake b/ports/qtdeclarative/portfile.cmake index 3928c3af39d69d..05359ad5ff25a6 100644 --- a/ports/qtdeclarative/portfile.cmake +++ b/ports/qtdeclarative/portfile.cmake @@ -1,6 +1,10 @@ set(SCRIPT_PATH "${CURRENT_INSTALLED_DIR}/share/qtbase") include("${SCRIPT_PATH}/qt_install_submodule.cmake") +vcpkg_buildpath_length_warning(44) + +set(${PORT}_PATCHES "") + set(TOOL_NAMES qml qmlcachegen @@ -16,11 +20,16 @@ include("${SCRIPT_PATH}/qt_install_submodule.cmake") qmltime qmltyperegistrar qmldom + qmltc + qmlls + qmljsrootgen + svgtoqml ) qt_install_submodule(PATCHES ${${PORT}_PATCHES} TOOL_NAMES ${TOOL_NAMES} CONFIGURE_OPTIONS + -DCMAKE_DISABLE_FIND_PACKAGE_LTTngUST:BOOL=ON CONFIGURE_OPTIONS_RELEASE CONFIGURE_OPTIONS_DEBUG ) diff --git a/ports/qtdeclarative/vcpkg.json b/ports/qtdeclarative/vcpkg.json index c8fe1ff3014690..a8346500ef9fbd 100644 --- a/ports/qtdeclarative/vcpkg.json +++ b/ports/qtdeclarative/vcpkg.json @@ -1,13 +1,15 @@ { "name": "qtdeclarative", - "version-semver": "6.2.1", + "version": "6.7.3", "description": "Qt Declarative (Quick 2)", "homepage": "https://www.qt.io/", + "license": null, "dependencies": [ { "name": "qtbase", "default-features": false, "features": [ + "network", "testlib" ] }, @@ -16,9 +18,11 @@ "host": true, "default-features": false }, + "qtlanguageserver", { "name": "qtshadertools", "default-features": false - } + }, + "qtsvg" ] } diff --git a/ports/qtdeviceutilities/portfile.cmake b/ports/qtdeviceutilities/portfile.cmake new file mode 100644 index 00000000000000..f83d1fd6f0d8be --- /dev/null +++ b/ports/qtdeviceutilities/portfile.cmake @@ -0,0 +1,13 @@ +set(SCRIPT_PATH "${CURRENT_INSTALLED_DIR}/share/qtbase") +include("${SCRIPT_PATH}/qt_install_submodule.cmake") + +set(${PORT}_PATCHES) + +set(TOOL_NAMES settingsui) + +qt_install_submodule(PATCHES ${${PORT}_PATCHES} + TOOL_NAMES ${TOOL_NAMES} + CONFIGURE_OPTIONS + CONFIGURE_OPTIONS_RELEASE + CONFIGURE_OPTIONS_DEBUG + ) diff --git a/ports/qtdeviceutilities/vcpkg.json b/ports/qtdeviceutilities/vcpkg.json new file mode 100644 index 00000000000000..66525ef18ebd07 --- /dev/null +++ b/ports/qtdeviceutilities/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "qtdeviceutilities", + "version": "6.7.3", + "description": "Qt Device Utilities provides functionality that is useful for controlling settings in embedded applications.", + "homepage": "https://www.qt.io/", + "license": null, + "supports": "linux", + "dependencies": [ + { + "name": "qtdeclarative", + "default-features": false + }, + { + "name": "qttools", + "default-features": false + } + ] +} diff --git a/ports/qtdoc/vcpkg.json b/ports/qtdoc/vcpkg.json index 2832c14acd269d..ba0672a7be0383 100644 --- a/ports/qtdoc/vcpkg.json +++ b/ports/qtdoc/vcpkg.json @@ -1,8 +1,9 @@ { "name": "qtdoc", - "version-semver": "6.2.1", - "description": "Qt Documentation", + "version": "6.7.3", + "description": "The Qt documentation.", "homepage": "https://www.qt.io/", + "license": null, "dependencies": [ { "name": "qtbase", diff --git a/ports/qtgraphs/portfile.cmake b/ports/qtgraphs/portfile.cmake new file mode 100644 index 00000000000000..014d19bd67d1b5 --- /dev/null +++ b/ports/qtgraphs/portfile.cmake @@ -0,0 +1,8 @@ +set(SCRIPT_PATH "${CURRENT_INSTALLED_DIR}/share/qtbase") +include("${SCRIPT_PATH}/qt_install_submodule.cmake") + +qt_install_submodule(PATCHES ${${PORT}_PATCHES} + CONFIGURE_OPTIONS ${FEATURE_OPTIONS} + CONFIGURE_OPTIONS_RELEASE + CONFIGURE_OPTIONS_DEBUG + ) diff --git a/ports/qtgraphs/vcpkg.json b/ports/qtgraphs/vcpkg.json new file mode 100644 index 00000000000000..3d6ab4d4c607d5 --- /dev/null +++ b/ports/qtgraphs/vcpkg.json @@ -0,0 +1,26 @@ +{ + "name": "qtgraphs", + "version": "6.7.3", + "description": "The Qt Graphs module enables you to visualize data in 3D as bar, scatter, and surface graphs.", + "homepage": "https://www.qt.io/", + "license": null, + "dependencies": [ + { + "name": "qtbase", + "default-features": false, + "features": [ + "gui", + "testlib", + "widgets" + ] + }, + { + "name": "qtdeclarative", + "default-features": false + }, + { + "name": "qtquick3d", + "default-features": false + } + ] +} diff --git a/ports/qtgrpc/portfile.cmake b/ports/qtgrpc/portfile.cmake new file mode 100644 index 00000000000000..4304d663909f52 --- /dev/null +++ b/ports/qtgrpc/portfile.cmake @@ -0,0 +1,17 @@ +set(SCRIPT_PATH "${CURRENT_INSTALLED_DIR}/share/qtbase") +include("${SCRIPT_PATH}/qt_install_submodule.cmake") + +set(${PORT}_PATCHES protoc-host.patch) +set(TOOL_NAMES qtprotobufgen qtgrpcgen) +# native_grpc ->grpc WrapgRPC +# grp -> qt[network] +# qtprotobufgen -> protobuf WrapProtobuf +qt_install_submodule(PATCHES ${${PORT}_PATCHES} + TOOL_NAMES ${TOOL_NAMES} + CONFIGURE_OPTIONS + -DCMAKE_FIND_PACKAGE_TARGETS_GLOBAL=ON + #--trace-expand + CONFIGURE_OPTIONS_MAYBE_UNUSED + QT_BUILD_EXAMPLES + QT_USE_DEFAULT_CMAKE_OPTIMIZATION_FLAGS + ) diff --git a/ports/qtgrpc/protoc-host.patch b/ports/qtgrpc/protoc-host.patch new file mode 100644 index 00000000000000..a2d81fb5aff1df --- /dev/null +++ b/ports/qtgrpc/protoc-host.patch @@ -0,0 +1,23 @@ +diff --git a/cmake/FindWrapProtoc.cmake b/cmake/FindWrapProtoc.cmake +index 82972c8f18..08335fa746 100644 +--- a/cmake/FindWrapProtoc.cmake ++++ b/cmake/FindWrapProtoc.cmake +@@ -13,7 +13,7 @@ if(${CMAKE_FIND_PACKAGE_NAME}_FIND_QUIETLY) + list(APPEND __WrapProtoc_find_package_args QUIET) + endif() + +-if(NOT CMAKE_CROSSCOMPILING) ++if(0) + if(NOT TARGET Threads::Threads) + find_package(Threads ${__WrapProtoc_find_package_args}) + endif() +@@ -52,8 +52,8 @@ if(NOT CMAKE_CROSSCOMPILING) + endif() + endif() + +-if(NOT __WrapProtoc_protoc_imported_location) ++if(1) + if(CMAKE_CROSSCOMPILING) + set(__WrapProtoc_extra_prefix_paths "${QT_ADDITIONAL_HOST_PACKAGES_PREFIX_PATH}") + endif() + find_program(__WrapProtoc_protoc_imported_location diff --git a/ports/qtgrpc/vcpkg.json b/ports/qtgrpc/vcpkg.json new file mode 100644 index 00000000000000..8465c834a5192d --- /dev/null +++ b/ports/qtgrpc/vcpkg.json @@ -0,0 +1,26 @@ +{ + "name": "qtgrpc", + "version": "6.7.3", + "description": "The Qt GRPC and Qt Protobuf modules together allow you to define data and messages in proto files, and then use the code generators, which generate client code allowing accessors for fields and gRPC services in the Qt framework.", + "homepage": "https://www.qt.io/", + "license": null, + "dependencies": [ + { + "name": "grpc", + "default-features": false + }, + { + "name": "protobuf", + "default-features": false + }, + { + "name": "qtbase", + "default-features": false + }, + { + "name": "qtgrpc", + "host": true, + "default-features": false + } + ] +} diff --git a/ports/qthttpserver/portfile.cmake b/ports/qthttpserver/portfile.cmake new file mode 100644 index 00000000000000..975bf122fdd530 --- /dev/null +++ b/ports/qthttpserver/portfile.cmake @@ -0,0 +1,13 @@ +set(SCRIPT_PATH "${CURRENT_INSTALLED_DIR}/share/qtbase") +include("${SCRIPT_PATH}/qt_install_submodule.cmake") + +set(${PORT}_PATCHES) + +set(TOOL_NAMES) + +qt_install_submodule(PATCHES ${${PORT}_PATCHES} + TOOL_NAMES ${TOOL_NAMES} + CONFIGURE_OPTIONS + CONFIGURE_OPTIONS_RELEASE + CONFIGURE_OPTIONS_DEBUG + ) diff --git a/ports/qthttpserver/vcpkg.json b/ports/qthttpserver/vcpkg.json new file mode 100644 index 00000000000000..949d977ad9e945 --- /dev/null +++ b/ports/qthttpserver/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "qthttpserver", + "version": "6.7.3", + "description": "Qt HTTP Server supports building HTTP server functionality into an application.", + "homepage": "https://www.qt.io/", + "license": null, + "dependencies": [ + { + "name": "qtbase", + "default-features": false, + "features": [ + "concurrent", + "network" + ] + } + ] +} diff --git a/ports/qtimageformats/no_target_promotion.patch b/ports/qtimageformats/no_target_promotion.patch deleted file mode 100644 index 73e5f7d4e00395..00000000000000 --- a/ports/qtimageformats/no_target_promotion.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 7fdd7ddbd..f189c472c 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -9,7 +9,16 @@ project(QtImageFormats # special case - HOMEPAGE_URL "https://qt.io/" - LANGUAGES CXX C - ) -- -+find_package(Threads) -+set_property(TARGET Threads::Threads PROPERTY _qt_no_promote_global TRUE) -+find_package(ZLIB) -+if(TARGET ZLIB::ZLIB) -+ set_property(TARGET ZLIB::ZLIB PROPERTY _qt_no_promote_global TRUE) -+endif() -+find_package(JPEG) -+if(TARGET JPEG::JPEG) -+ set_property(TARGET JPEG::JPEG PROPERTY _qt_no_promote_global TRUE) -+endif() - # special case begin - # Make sure we only use latest private CMake API, aka no compatibility wrappers. - set(QT_NO_INTERNAL_COMPATIBILITY_FUNCTIONS TRUE) diff --git a/ports/qtimageformats/no_target_promotion_latest.patch b/ports/qtimageformats/no_target_promotion_latest.patch new file mode 100644 index 00000000000000..244e09f4b1bd6f --- /dev/null +++ b/ports/qtimageformats/no_target_promotion_latest.patch @@ -0,0 +1,21 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 7fdd7ddbd..f189c472c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -9,6 +9,15 @@ project(QtImageFormats # special case + HOMEPAGE_URL "https://qt.io/" + LANGUAGES CXX C + ) +- ++find_package(Threads) ++set_property(TARGET Threads::Threads PROPERTY _qt_no_promote_global TRUE) ++find_package(ZLIB) ++if(TARGET ZLIB::ZLIB) ++ set_property(TARGET ZLIB::ZLIB PROPERTY _qt_no_promote_global TRUE) ++endif() ++find_package(JPEG) ++if(TARGET JPEG::JPEG) ++ set_property(TARGET JPEG::JPEG PROPERTY _qt_no_promote_global TRUE) ++endif() + find_package(Qt6 ${PROJECT_VERSION} CONFIG REQUIRED COMPONENTS BuildInternals Core) + find_package(Qt6 ${PROJECT_VERSION} QUIET CONFIG OPTIONAL_COMPONENTS Gui) diff --git a/ports/qtimageformats/portfile.cmake b/ports/qtimageformats/portfile.cmake index c72184818458cf..74660c1a685d1d 100644 --- a/ports/qtimageformats/portfile.cmake +++ b/ports/qtimageformats/portfile.cmake @@ -2,9 +2,13 @@ set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) # Only plugins set(SCRIPT_PATH "${CURRENT_INSTALLED_DIR}/share/qtbase") include("${SCRIPT_PATH}/qt_install_submodule.cmake") -set(${PORT}_PATCHES no_target_promotion.patch) +set(${PORT}_PATCHES no_target_promotion_latest.patch) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + #"jasper" CMAKE_REQUIRE_FIND_PACKAGE_WrapJasper + #"webp" CMAKE_REQUIRE_FIND_PACKAGE_WrapWebP + #"tiff" CMAKE_REQUIRE_FIND_PACKAGE_TIFF INVERTED_FEATURES "jasper" CMAKE_DISABLE_FIND_PACKAGE_WrapJasper "webp" CMAKE_DISABLE_FIND_PACKAGE_WrapWebP @@ -31,6 +35,7 @@ list(APPEND FEATURE_OPTIONS -DINPUT_mng=no) # marked as FIXME qt_install_submodule(PATCHES ${${PORT}_PATCHES} CONFIGURE_OPTIONS ${FEATURE_OPTIONS} + -DCMAKE_FIND_PACKAGE_TARGETS_GLOBAL=ON # Cf. QTBUG-95052 CONFIGURE_OPTIONS_RELEASE CONFIGURE_OPTIONS_DEBUG ) diff --git a/ports/qtimageformats/vcpkg.json b/ports/qtimageformats/vcpkg.json index d50ef714aadae1..15c6555f9c1d9c 100644 --- a/ports/qtimageformats/vcpkg.json +++ b/ports/qtimageformats/vcpkg.json @@ -1,8 +1,9 @@ { "name": "qtimageformats", - "version-semver": "6.2.1", - "description": "Additional Image Format plugins for Qt", + "version": "6.7.3", + "description": "The Qt Image Formats add-on module provides optional support for other image file formats.", "homepage": "https://www.qt.io/", + "license": null, "dependencies": [ { "name": "qtbase", @@ -31,7 +32,10 @@ "tiff": { "description": "Use TIFF", "dependencies": [ - "tiff" + { + "name": "tiff", + "default-features": false + } ] }, "webp": { diff --git a/ports/qtinterfaceframework/portfile.cmake b/ports/qtinterfaceframework/portfile.cmake new file mode 100644 index 00000000000000..ee364f3f1f67ce --- /dev/null +++ b/ports/qtinterfaceframework/portfile.cmake @@ -0,0 +1,50 @@ +set(SCRIPT_PATH "${CURRENT_INSTALLED_DIR}/share/qtbase") +include("${SCRIPT_PATH}/qt_install_submodule.cmake") + +set(TOOL_NAMES + ) + +qt_download_submodule(PATCHES ${${PORT}_PATCHES}) +if(QT_UPDATE_VERSION) + return() +endif() + +if(_qis_DISABLE_NINJA) + set(_opt DISABLE_NINJA) +endif() + +vcpkg_find_acquire_program(PKGCONFIG) + +x_vcpkg_get_python_packages(PYTHON_VERSION "3" + REQUIREMENTS_FILE "${CURRENT_PORT_DIR}/requirements_minimal.txt" + PACKAGES qface==2.0.5 + OUT_PYTHON_VAR "PYTHON3") + +if(VCPKG_CROSSCOMPILING) + list(APPEND FEATURE_OPTIONS "-DVCPKG_HOST_TRIPLET=${_HOST_TRIPLET}") +endif() + +set(qt_plugindir ${QT6_DIRECTORY_PREFIX}plugins) +set(qt_qmldir ${QT6_DIRECTORY_PREFIX}qml) +qt_cmake_configure(${_opt} + OPTIONS ${FEATURE_OPTIONS} + "-DPython3_EXECUTABLE=${PYTHON3}" # Otherwise a VS installation might be found. + OPTIONS_DEBUG ${_qis_CONFIGURE_OPTIONS_DEBUG} + OPTIONS_RELEASE ${_qis_CONFIGURE_OPTIONS_RELEASE}) + +vcpkg_cmake_install(ADD_BIN_TO_PATH) + +qt_fixup_and_cleanup(TOOL_NAMES ${TOOL_NAMES}) + +qt_install_copyright("${SOURCE_PATH}") + +if(NOT VCPKG_CROSSCOMPILING) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin/ifcodegen") + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/") + file(RENAME "${CURRENT_PACKAGES_DIR}/bin/ifcodegen" "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/ifcodegen") + if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") + endif() +endif() + +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/Qt6/QtInterfaceFramework/${VERSION}/QtInterfaceFramework/private/qifqueryparser_flex_p.h" "${CURRENT_BUILDTREES_DIR}" "" IGNORE_UNCHANGED) diff --git a/ports/qtinterfaceframework/requirements_minimal.txt b/ports/qtinterfaceframework/requirements_minimal.txt new file mode 100644 index 00000000000000..f74cd5013022e8 --- /dev/null +++ b/ports/qtinterfaceframework/requirements_minimal.txt @@ -0,0 +1,13 @@ +antlr4-python3-runtime==4.7.1 +argh==0.26.2 +click==6.7 +coloredlogs==10.0 +humanfriendly==4.15.1 +Jinja2==3.1.4 +MarkupSafe==2.1.5 +path.py==11.0.1 +PyYAML==6.0.1 +six==1.11.0 +watchdog==2.1.7 +pytest==5.3.5 +pytest-cov==2.8.1 diff --git a/ports/qtinterfaceframework/vcpkg.json b/ports/qtinterfaceframework/vcpkg.json new file mode 100644 index 00000000000000..bf853fbdabba92 --- /dev/null +++ b/ports/qtinterfaceframework/vcpkg.json @@ -0,0 +1,40 @@ +{ + "name": "qtinterfaceframework", + "version": "6.7.3", + "description": "The Qt Interface Framework module provides both the tools and the core APIs, for you to implement Middleware APIs, Middleware Back ends, and Middleware Services.", + "homepage": "https://www.qt.io/", + "license": null, + "dependencies": [ + { + "name": "pkgconf", + "host": true + }, + { + "name": "qtdeclarative", + "default-features": false + }, + { + "name": "qtinterfaceframework", + "host": true, + "default-features": false + }, + { + "name": "qtmultimedia", + "default-features": false + }, + { + "name": "qtremoteobjects", + "default-features": false + }, + { + "name": "qttools", + "default-features": false + }, + "taglib", + { + "name": "vcpkg-get-python-packages", + "host": true, + "default-features": false + } + ] +} diff --git a/ports/qtkeychain-qt6/portfile.cmake b/ports/qtkeychain-qt6/portfile.cmake index b03ef486f5342a..8f380c042c2f08 100644 --- a/ports/qtkeychain-qt6/portfile.cmake +++ b/ports/qtkeychain-qt6/portfile.cmake @@ -3,8 +3,8 @@ message(WARNING "qtkeychain is a third-party extension to Qt and is not affiliat vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO frankosterfeld/qtkeychain - REF v0.13.1 - SHA512 552c1632a81f64b91dacdb0f5eb4122b4ddef53ba6621561db6c4fce9f3692761dbc4b452e578023e2882e049874148be1de014397675ce443cfc93fe96f6f70 + REF "${VERSION}" + SHA512 d1d87553db94bf54da1373016a847476e6cd608db6d427ed72532658e2272501daf45d7c9976efdde2f26ab3810ba9dbfec2518d46dee5a76ecaa369bfee2e4a HEAD_REF master ) @@ -18,12 +18,6 @@ if(VCPKG_CROSSCOMPILING) endif() list(APPEND QTKEYCHAIN_OPTIONS -DBUILD_TEST_APPLICATION:BOOL=OFF) -# TODO: remove after next release since https://github.com/frankosterfeld/qtkeychain/pull/204 was merged -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - list(APPEND QTKEYCHAIN_OPTIONS -DQTKEYCHAIN_STATIC:BOOL=ON) -else() - list(APPEND QTKEYCHAIN_OPTIONS -DQTKEYCHAIN_STATIC:BOOL=OFF) -endif() # FIXME: Why does build translations fail on arm64-windows? if (VCPKG_TARGET_IS_WINDOWS AND VCPKG_TARGET_ARCHITECTURE STREQUAL arm64) diff --git a/ports/qtkeychain-qt6/vcpkg.json b/ports/qtkeychain-qt6/vcpkg.json index 49755a1eb85c54..8a5e296bcca3a4 100644 --- a/ports/qtkeychain-qt6/vcpkg.json +++ b/ports/qtkeychain-qt6/vcpkg.json @@ -1,16 +1,21 @@ { "name": "qtkeychain-qt6", - "version": "0.13.1", + "version": "0.14.3", "description": "(Unaffiliated with Qt) Platform-independent Qt6 API for storing passwords securely", "homepage": "https://github.com/frankosterfeld/qtkeychain", "license": "BSD-3-Clause", "dependencies": [ { "name": "libsecret", - "platform": "!(windows | uwp | osx)" + "platform": "linux" + }, + { + "name": "qtbase", + "default-features": false }, { "name": "qttools", + "host": true, "features": [ "linguist" ] diff --git a/ports/qtkeychain/portfile.cmake b/ports/qtkeychain/portfile.cmake index 92d2268605c60d..3cde725afcc1bc 100644 --- a/ports/qtkeychain/portfile.cmake +++ b/ports/qtkeychain/portfile.cmake @@ -3,17 +3,15 @@ message(WARNING "qtkeychain is a third-party extension to Qt and is not affiliat vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO frankosterfeld/qtkeychain - REF v0.13.1 - SHA512 552c1632a81f64b91dacdb0f5eb4122b4ddef53ba6621561db6c4fce9f3692761dbc4b452e578023e2882e049874148be1de014397675ce443cfc93fe96f6f70 + REF "${VERSION}" + SHA512 d1d87553db94bf54da1373016a847476e6cd608db6d427ed72532658e2272501daf45d7c9976efdde2f26ab3810ba9dbfec2518d46dee5a76ecaa369bfee2e4a HEAD_REF master ) -list(APPEND QTKEYCHAIN_OPTIONS -DBUILD_TEST_APPLICATION:BOOL=OFF) -# TODO: remove after next release since https://github.com/frankosterfeld/qtkeychain/pull/204 was merged -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - list(APPEND QTKEYCHAIN_OPTIONS -DQTKEYCHAIN_STATIC:BOOL=ON) -else() - list(APPEND QTKEYCHAIN_OPTIONS -DQTKEYCHAIN_STATIC:BOOL=OFF) +# Opportunity to build without dependency on qt5-tools/qt5-declarative +set(BUILD_TRANSLATIONS OFF) +if("translations" IN_LIST FEATURES) + set(BUILD_TRANSLATIONS ON) endif() vcpkg_cmake_configure( @@ -21,7 +19,8 @@ vcpkg_cmake_configure( SOURCE_PATH ${SOURCE_PATH} OPTIONS -DBUILD_WITH_QT6=OFF - ${QTKEYCHAIN_OPTIONS} + -DBUILD_TEST_APPLICATION=OFF + -DBUILD_TRANSLATIONS=${BUILD_TRANSLATIONS} ) vcpkg_cmake_install() diff --git a/ports/qtkeychain/vcpkg.json b/ports/qtkeychain/vcpkg.json index 3d1aed9b63d517..86f90063a63ba7 100644 --- a/ports/qtkeychain/vcpkg.json +++ b/ports/qtkeychain/vcpkg.json @@ -1,6 +1,6 @@ { "name": "qtkeychain", - "version": "0.13.1", + "version": "0.14.3", "description": "(Unaffiliated with Qt) Platform-independent Qt5 API for storing passwords securely", "homepage": "https://github.com/frankosterfeld/qtkeychain", "license": "BSD-3-Clause", @@ -9,7 +9,7 @@ "name": "libsecret", "platform": "!(windows | uwp | osx)" }, - "qt5-tools", + "qt5-base", { "name": "vcpkg-cmake", "host": true @@ -18,5 +18,16 @@ "name": "vcpkg-cmake-config", "host": true } - ] + ], + "default-features": [ + "translations" + ], + "features": { + "translations": { + "description": "Build qtkeychain translations", + "dependencies": [ + "qt5-tools" + ] + } + } } diff --git a/ports/qtlanguageserver/portfile.cmake b/ports/qtlanguageserver/portfile.cmake new file mode 100644 index 00000000000000..b7de4dd7c8a870 --- /dev/null +++ b/ports/qtlanguageserver/portfile.cmake @@ -0,0 +1,12 @@ +set(SCRIPT_PATH "${CURRENT_INSTALLED_DIR}/share/qtbase") +include("${SCRIPT_PATH}/qt_install_submodule.cmake") + +set(${PORT}_PATCHES) +set(TOOL_NAMES) + +qt_install_submodule(PATCHES ${${PORT}_PATCHES} + TOOL_NAMES ${TOOL_NAMES} + CONFIGURE_OPTIONS_MAYBE_UNUSED + QT_BUILD_EXAMPLES + QT_USE_DEFAULT_CMAKE_OPTIMIZATION_FLAGS + ) diff --git a/ports/qtlanguageserver/vcpkg.json b/ports/qtlanguageserver/vcpkg.json new file mode 100644 index 00000000000000..9403bea6834792 --- /dev/null +++ b/ports/qtlanguageserver/vcpkg.json @@ -0,0 +1,25 @@ +{ + "name": "qtlanguageserver", + "version": "6.7.3", + "description": "An implementation of the Language Server Protocol.", + "homepage": "https://www.qt.io/", + "license": null, + "dependencies": [ + { + "name": "qtbase", + "default-features": false, + "features": [ + "concurrent", + "network" + ] + }, + { + "name": "qtbase", + "default-features": false, + "features": [ + "gui" + ], + "platform": "android" + } + ] +} diff --git a/ports/qtlocation/portfile.cmake b/ports/qtlocation/portfile.cmake index 6bb133bb07bdee..d4afa6dfbc7342 100644 --- a/ports/qtlocation/portfile.cmake +++ b/ports/qtlocation/portfile.cmake @@ -1,20 +1,19 @@ set(SCRIPT_PATH "${CURRENT_INSTALLED_DIR}/share/qtbase") include("${SCRIPT_PATH}/qt_install_submodule.cmake") -set(${PORT}_PATCHES) +# set(${PORT}_PATCHES) +# vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS +# FEATURES +# INVERTED_FEATURES + # "qml" CMAKE_DISABLE_FIND_PACKAGE_Qt6Quick + # "nmea" CMAKE_DISABLE_FIND_PACKAGE_Qt6SerialPort + # "nmea" CMAKE_DISABLE_FIND_PACKAGE_Qt6Network +# ) -vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS -FEATURES -INVERTED_FEATURES - "qml" CMAKE_DISABLE_FIND_PACKAGE_Qt6Quick - "nmea" CMAKE_DISABLE_FIND_PACKAGE_Qt6SerialPort - "nmea" CMAKE_DISABLE_FIND_PACKAGE_Qt6Network -) - -list(APPEND FEATURE_OPTIONS "-DCMAKE_DISABLE_FIND_PACKAGE_Gypsy=ON" - "-DCMAKE_DISABLE_FIND_PACKAGE_Gconf=ON" -) +# list(APPEND FEATURE_OPTIONS "-DCMAKE_DISABLE_FIND_PACKAGE_Gypsy=ON" + # "-DCMAKE_DISABLE_FIND_PACKAGE_Gconf=ON" +# ) qt_install_submodule(PATCHES ${${PORT}_PATCHES} CONFIGURE_OPTIONS ${FEATURE_OPTIONS} diff --git a/ports/qtlocation/vcpkg.json b/ports/qtlocation/vcpkg.json index c375ccb84bda7e..5492960d75ebb0 100644 --- a/ports/qtlocation/vcpkg.json +++ b/ports/qtlocation/vcpkg.json @@ -1,8 +1,9 @@ { "name": "qtlocation", - "version-semver": "6.2.1", - "description": "Qt Location", + "version": "6.7.3", + "description": "The Qt Location API helps you create viable mapping solutions using the data available from some of the popular location services.", "homepage": "https://www.qt.io/", + "license": null, "dependencies": [ { "name": "qtbase", @@ -15,30 +16,17 @@ "dbus" ], "platform": "linux" - } - ], - "features": { - "nmea": { - "description": "Build with nmea", - "dependencies": [ - { - "name": "qtbase", - "default-features": false, - "features": [ - "network" - ] - }, - "qtserialport" - ] }, - "qml": { - "description": "Build QML imports", - "dependencies": [ - { - "name": "qtdeclarative", - "default-features": false - } + { + "name": "qtpositioning", + "default-features": false, + "features": [ + "qml" ] + }, + { + "name": "qtshadertools", + "default-features": false } - } + ] } diff --git a/ports/qtlottie/portfile.cmake b/ports/qtlottie/portfile.cmake index 9ad5b29e39d465..2bffdc7d9e77bf 100644 --- a/ports/qtlottie/portfile.cmake +++ b/ports/qtlottie/portfile.cmake @@ -3,13 +3,6 @@ include("${SCRIPT_PATH}/qt_install_submodule.cmake") set(${PORT}_PATCHES) - -vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS -FEATURES -INVERTED_FEATURES - "qml" CMAKE_DISABLE_FIND_PACKAGE_Qt6Quick -) - qt_install_submodule(PATCHES ${${PORT}_PATCHES} CONFIGURE_OPTIONS ${FEATURE_OPTIONS} CONFIGURE_OPTIONS_RELEASE diff --git a/ports/qtlottie/vcpkg.json b/ports/qtlottie/vcpkg.json index 1488f0144868c6..128f46ea56d1a7 100644 --- a/ports/qtlottie/vcpkg.json +++ b/ports/qtlottie/vcpkg.json @@ -1,8 +1,9 @@ { "name": "qtlottie", - "version-semver": "6.2.1", + "version": "6.7.3", "description": "Lottie is a family of player software for a certain json-based file format for describing 2d vector graphics animations. These files are created/exported directly from After Effects by a plugin called Bodymovin.", "homepage": "https://www.qt.io/", + "license": null, "dependencies": [ { "name": "qtbase", @@ -10,17 +11,15 @@ "features": [ "gui" ] + }, + { + "name": "qtdeclarative", + "default-features": false } ], "features": { "qml": { - "description": "Build QML imports", - "dependencies": [ - { - "name": "qtdeclarative", - "default-features": false - } - ] + "description": "(deprecated since Qt 6.4)" } } } diff --git a/ports/qtmqtt/vcpkg.json b/ports/qtmqtt/vcpkg.json index 24a9ec196d648c..c6277f30eb722f 100644 --- a/ports/qtmqtt/vcpkg.json +++ b/ports/qtmqtt/vcpkg.json @@ -1,8 +1,9 @@ { "name": "qtmqtt", - "version-semver": "6.2.1", - "description": "Qt Module to implement MQTT protocol version 3.1 and 3.1.1 http://mqtt.org/", + "version": "6.7.3", + "description": "The Qt MQTT module provides a standard compliant implementation of the MQTT protocol specification.", "homepage": "https://www.qt.io/", + "license": null, "dependencies": [ { "name": "qtbase", diff --git a/ports/qtmultimedia/fix_avfoundation_target.patch b/ports/qtmultimedia/fix_avfoundation_target.patch new file mode 100644 index 00000000000000..83c457821b92fe --- /dev/null +++ b/ports/qtmultimedia/fix_avfoundation_target.patch @@ -0,0 +1,13 @@ +diff --git a/src/plugins/multimedia/darwin/CMakeLists.txt b/src/plugins/multimedia/darwin/CMakeLists.txt +index a1a0cb1..242ceac 100644 +--- a/src/plugins/multimedia/darwin/CMakeLists.txt ++++ b/src/plugins/multimedia/darwin/CMakeLists.txt +@@ -34,7 +34,7 @@ qt_internal_add_plugin(QDarwinMediaPlugin + ${FWMetal} + ${FWQuartzCore} + ${FWAudioToolbox} +- AVFoundation::AVFoundation ++ ${FWAVFoundation} + ) + + qt_internal_extend_target(QDarwinMediaPlugin CONDITION NOT TVOS diff --git a/ports/qtmultimedia/fix_windows_header_include.patch b/ports/qtmultimedia/fix_windows_header_include.patch deleted file mode 100644 index 6e06e5c4a9edc5..00000000000000 --- a/ports/qtmultimedia/fix_windows_header_include.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/multimedia/platform/windows/qwindowsmediadevices_p.h b/src/multimedia/platform/windows/qwindowsmediadevices_p.h -index 23e349e02..233a816d4 100644 ---- a/src/multimedia/platform/windows/qwindowsmediadevices_p.h -+++ b/src/multimedia/platform/windows/qwindowsmediadevices_p.h -@@ -56,7 +56,7 @@ - #include - #include - #include --#include -+#include - - struct IMMDeviceEnumerator; - diff --git a/ports/qtmultimedia/portfile.cmake b/ports/qtmultimedia/portfile.cmake index feceb63532f108..59c6a0eb818990 100644 --- a/ports/qtmultimedia/portfile.cmake +++ b/ports/qtmultimedia/portfile.cmake @@ -1,32 +1,23 @@ set(SCRIPT_PATH "${CURRENT_INSTALLED_DIR}/share/qtbase") include("${SCRIPT_PATH}/qt_install_submodule.cmake") -set(${PORT}_PATCHES fix_windows_header_include.patch - remove_unistd.patch - ) - -#Maybe TODO: ALSA + PulseAudio? (Missing Ports) -> check ALSA since it was added - -# qt_find_package(ALSA PROVIDED_TARGETS ALSA::ALSA MODULE_NAME multimedia QMAKE_LIB alsa) -# qt_find_package(AVFoundation PROVIDED_TARGETS AVFoundation::AVFoundation MODULE_NAME multimedia QMAKE_LIB avfoundation) -# qt_find_package(WrapPulseAudio PROVIDED_TARGETS WrapPulseAudio::WrapPulseAudio MODULE_NAME multimedia QMAKE_LIB pulseaudio) -# qt_find_package(WMF PROVIDED_TARGETS WMF::WMF MODULE_NAME multimedia QMAKE_LIB wmf) - -# qt_configure_add_summary_section(NAME "Qt Multimedia") -# qt_configure_add_summary_entry(ARGS "alsa") -# qt_configure_add_summary_entry(ARGS "gstreamer_1_0") -# qt_configure_add_summary_entry(ARGS "linux_v4l") -# qt_configure_add_summary_entry(ARGS "pulseaudio") -# qt_configure_add_summary_entry(ARGS "mmrenderer") -# qt_configure_add_summary_entry(ARGS "avfoundation") -# qt_configure_add_summary_entry(ARGS "wmf") +set(${PORT}_PATCHES + static_find_modules.patch + fix_avfoundation_target.patch + remove-static-ssl-stub.patch +) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES + "qml" CMAKE_REQUIRE_FIND_PACKAGE_Qt6Quick + "widgets" CMAKE_REQUIRE_FIND_PACKAGE_Qt6Widgets INVERTED_FEATURES "qml" CMAKE_DISABLE_FIND_PACKAGE_Qt6Quick "widgets" CMAKE_DISABLE_FIND_PACKAGE_Qt6Widgets "gstreamer" CMAKE_DISABLE_FIND_PACKAGE_GStreamer + "ffmpeg" CMAKE_DISABLE_FIND_PACKAGE_FFmpeg + # Features not yet added in the manifest: + "vaapi" CMAKE_DISABLE_FIND_PACKAGE_VAAPI # not in vpckg ) if("gstreamer" IN_LIST FEATURES) @@ -34,15 +25,45 @@ if("gstreamer" IN_LIST FEATURES) else() list(APPEND FEATURE_OPTIONS "-DINPUT_gstreamer='no'") endif() +list(APPEND FEATURE_OPTIONS "-DINPUT_gstreamer_gl='no'") +list(APPEND FEATURE_OPTIONS "-DINPUT_gstreamer_photography='no'") -if(VCPKG_TARGET_IS_LINUX) - list(APPEND FEATURE_OPTIONS "-DFEATURE_alsa=ON") +if(VCPKG_TARGET_IS_WINDOWS) + list(APPEND FEATURE_OPTIONS "-DFEATURE_wmf=ON") else() - list(APPEND FEATURE_OPTIONS "-DCMAKE_DISABLE_FIND_PACKAGE_ALSA=ON") + list(APPEND FEATURE_OPTIONS "-DFEATURE_wmf=OFF") +endif() + +if("ffmpeg" IN_LIST FEATURES) + # Note: Requires pulsadio on linux and wmfsdk on windows + list(APPEND FEATURE_OPTIONS "-DINPUT_ffmpeg='yes'") + if(VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_OSX OR VCPKG_TARGET_IS_ANDROID) + list(APPEND FEATURE_OPTIONS "-DINPUT_pulseaudio='no'") + else() + list(APPEND FEATURE_OPTIONS "-DINPUT_pulseaudio='yes'") + endif() +else() + list(APPEND FEATURE_OPTIONS "-DINPUT_ffmpeg='no'") + list(APPEND FEATURE_OPTIONS "-DINPUT_pulseaudio='no'") +endif() + +# alsa is not ready +if(NOT "ffmpeg" IN_LIST FEATURES AND NOT "gstreamer" IN_LIST FEATURES AND VCPKG_TARGET_IS_LINUX) + #list(APPEND FEATURE_OPTIONS "-DFEATURE_alsa=ON") # alsa is experimental so don't activate it (also missing the dep on it.) + message(FATAL_ERROR "You need to activate at least one backend.") +else() + list(APPEND FEATURE_OPTIONS "-DFEATURE_alsa=OFF") endif() qt_install_submodule(PATCHES ${${PORT}_PATCHES} - CONFIGURE_OPTIONS ${FEATURE_OPTIONS} + CONFIGURE_OPTIONS + --trace-expand + ${FEATURE_OPTIONS} + -DCMAKE_FIND_PACKAGE_TARGETS_GLOBAL=ON CONFIGURE_OPTIONS_RELEASE CONFIGURE_OPTIONS_DEBUG ) + +if("gstreamer" IN_LIST FEATURES AND VCPKG_LIBRARY_LINKAGE STREQUAL "static") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/Qt6Multimedia/Qt6QGstreamerMediaPluginDependencies.cmake" "GStreamer\;FALSE\;\;\;;GStreamer\;FALSE\;\;App\;;GStreamer\;FALSE\;\;\;Gl" "GStreamer\;FALSE\;\;\;;GStreamer\;FALSE\;\;App\;;GStreamer\;FALSE\;\;\;Gl;EGL\;FALSE\;\;\;" IGNORE_UNCHANGED) +endif() diff --git a/ports/qtmultimedia/remove-static-ssl-stub.patch b/ports/qtmultimedia/remove-static-ssl-stub.patch new file mode 100644 index 00000000000000..1bd76b28c2b41f --- /dev/null +++ b/ports/qtmultimedia/remove-static-ssl-stub.patch @@ -0,0 +1,26 @@ +diff --git a/src/plugins/multimedia/ffmpeg/cmake/QtAddFFmpegStubs.cmake b/src/plugins/multimedia/ffmpeg/cmake/QtAddFFmpegStubs.cmake +index 5778ae4d23..8c0df4b44d 100644 +--- a/src/plugins/multimedia/ffmpeg/cmake/QtAddFFmpegStubs.cmake ++++ b/src/plugins/multimedia/ffmpeg/cmake/QtAddFFmpegStubs.cmake +@@ -70,7 +70,10 @@ macro(qt_internal_multimedia_find_openssl_soversion) + if (NOT OPENSSL_SSL_LIBRARY) + message(FATAL_ERROR "OPENSSL_SSL_LIBRARY is not found") + endif() +- ++ set(openssl_is_shared ON) ++ if(OPENSSL_SSL_LIBRARY MATCHES "${CMAKE_STATIC_LIBRARY_SUFFIX}$") ++ set(openssl_is_shared OFF) ++ endif() + get_filename_component(ssl_lib_realpath "${OPENSSL_SSL_LIBRARY}" REALPATH) + string(REGEX MATCH "[0-9]+(\\.[0-9]+)*$" ssl_soversion "${ssl_lib_realpath}") + string(REGEX REPLACE "^3(\\..*|$)" "3" ssl_soversion "${ssl_soversion}") +@@ -187,6 +190,9 @@ function(qt_internal_multimedia_add_ffmpeg_stubs) + + if (ffmpeg_has_openssl) + qt_internal_multimedia_find_openssl_soversion() ++ if(NOT openssl_is_shared) ++ list(REMOVE_ITEM FFMPEG_STUBS ssl crypto) ++ endif() + endif() + + foreach (stub ${FFMPEG_STUBS}) diff --git a/ports/qtmultimedia/remove_unistd.patch b/ports/qtmultimedia/remove_unistd.patch deleted file mode 100644 index 0f6d3ab15c0458..00000000000000 --- a/ports/qtmultimedia/remove_unistd.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff --git a/src/multimedia/platform/gstreamer/audio/qgstreameraudiosink.cpp b/src/multimedia/platform/gstreamer/audio/qgstreameraudiosink.cpp -index d4806b23a..f985a973b 100644 ---- a/src/multimedia/platform/gstreamer/audio/qgstreameraudiosink.cpp -+++ b/src/multimedia/platform/gstreamer/audio/qgstreameraudiosink.cpp -@@ -45,7 +45,6 @@ - #include "qgstreameraudiosink_p.h" - #include "qgstreameraudiodevice_p.h" - #include --#include - - #include - #include -diff --git a/src/multimedia/platform/gstreamer/audio/qgstreameraudiosource.cpp b/src/multimedia/platform/gstreamer/audio/qgstreameraudiosource.cpp -index 51fc26c42..3b04a77bb 100644 ---- a/src/multimedia/platform/gstreamer/audio/qgstreameraudiosource.cpp -+++ b/src/multimedia/platform/gstreamer/audio/qgstreameraudiosource.cpp -@@ -45,7 +45,6 @@ - #include "qgstreameraudiosource_p.h" - #include "qgstreameraudiodevice_p.h" - #include --#include - - #include - Q_DECLARE_OPAQUE_POINTER(GstSample *); diff --git a/ports/qtmultimedia/static_find_modules.patch b/ports/qtmultimedia/static_find_modules.patch new file mode 100644 index 00000000000000..68957566f61835 --- /dev/null +++ b/ports/qtmultimedia/static_find_modules.patch @@ -0,0 +1,82 @@ +diff --git a/cmake/FindFFmpeg.cmake b/cmake/FindFFmpeg.cmake +index 47d8769..46a5c9b 100644 +--- a/cmake/FindFFmpeg.cmake ++++ b/cmake/FindFFmpeg.cmake +@@ -215,7 +215,7 @@ foreach (_component ${FFmpeg_FIND_COMPONENTS}) + find_component(${_component} "lib${library}" ${library} "lib${library}/${library}.h") + + if (${_component}_FOUND) +- list(APPEND FFMPEG_LIBRARIES ${${_component}_LIBRARY_NAME}) ++ list(APPEND FFMPEG_LIBRARIES ${${_component}_LIBRARY}) + list(APPEND FFMPEG_DEFINITIONS ${${_component}_DEFINITIONS}) + list(APPEND FFMPEG_INCLUDE_DIRS ${${_component}_INCLUDE_DIR}) + list(APPEND FFMPEG_LIBRARY_DIRS ${${_component}_LIBRARY_DIR}) +@@ -306,18 +306,19 @@ endfunction() + string(TOLOWER ${_component} _lowerComponent) + if (NOT TARGET FFmpeg::${_lowerComponent}) +- add_library(FFmpeg::${_lowerComponent} INTERFACE IMPORTED) ++ add_library(FFmpeg::${_lowerComponent} UNKNOWN IMPORTED) + set_target_properties(FFmpeg::${_lowerComponent} PROPERTIES + INTERFACE_COMPILE_OPTIONS "${${_component}_DEFINITIONS}" + INTERFACE_INCLUDE_DIRECTORIES ${${_component}_INCLUDE_DIR} +- INTERFACE_LINK_LIBRARIES "${${_component}_LIBRARY_NAME}" +- INTERFACE_LINK_DIRECTORIES "${${_component}_LIBRARY_DIR}" ++ IMPORTED_LOCATION "${${_component}_LIBRARY}" + ) + + __ffmpeg_internal_set_dependencies(${_component}) +- target_link_libraries(FFmpeg::${_lowerComponent} INTERFACE "${${_component}_LIBRARY_NAME}") ++ if(WIN32 AND _lowerComponent STREQUAL "avutil") ++ target_link_libraries(FFmpeg::${_lowerComponent} INTERFACE "Bcrypt.lib") ++ endif() + if (UNIX AND NOT APPLE) + target_link_options(FFmpeg::${_lowerComponent} INTERFACE "-Wl,--exclude-libs=lib${_lowerComponent}") + endif () + endif() + endif() + endforeach () +@@ -361,14 +364,18 @@ if (shared_libs_desired AND NOT FFMPEG_SHARED_COMPONENTS) + endif() + + if (NOT TARGET FFmpeg::FFmpeg) +- add_library(FFmpeg INTERFACE) ++ add_library(FFmpeg INTERFACE IMPORTED) + set_target_properties(FFmpeg PROPERTIES + INTERFACE_COMPILE_OPTIONS "${FFMPEG_DEFINITIONS}" + INTERFACE_INCLUDE_DIRECTORIES "${FFMPEG_INCLUDE_DIRS}" +- INTERFACE_LINK_LIBRARIES "${FFMPEG_LIBRARIES}" + INTERFACE_LINK_DIRECTORIES "${FFMPEG_LIBRARY_DIRS}" + ) ++ target_link_libraries(FFmpeg INTERFACE ${FFMPEG_LIBRARIES}) +- add_library(FFmpeg::FFmpeg ALIAS FFmpeg) ++ if(WIN32) ++ target_link_libraries(FFmpeg INTERFACE "Bcrypt.lib") ++ endif() ++ add_library(FFmpeg::FFmpeg INTERFACE IMPORTED) ++ target_link_libraries(FFmpeg::FFmpeg INTERFACE FFmpeg) + endif() + + # Compile the list of required vars +diff --git a/cmake/FindGObject.cmake b/cmake/FindGObject.cmake +index 19a8a67..09e95d1 100644 +--- a/cmake/FindGObject.cmake ++++ b/cmake/FindGObject.cmake +@@ -13,8 +13,8 @@ + # ``GObject::GObject`` + # The gobject-2.0 library + +-include(CMakeFindDependencyMacro) +-find_dependency(GLIB2) ++find_package(GLIB2) ++find_package(libffi) + qt_internal_disable_find_package_global_promotion(GLIB2::GLIB2) + + if(NOT TARGET GObject::GObject) +@@ -40,6 +40,7 @@ if(NOT TARGET GObject::GObject) + target_link_libraries(GObject::GObject INTERFACE + ${GObject_LIBRARY} + GLIB2::GLIB2 ++ libffi + ) + endif() + include(FindPackageHandleStandardArgs) diff --git a/ports/qtmultimedia/vcpkg.json b/ports/qtmultimedia/vcpkg.json index fe4f81bd71a138..1f0bd38348a1f5 100644 --- a/ports/qtmultimedia/vcpkg.json +++ b/ports/qtmultimedia/vcpkg.json @@ -1,36 +1,68 @@ { "name": "qtmultimedia", - "version-semver": "6.2.1", - "description": "Qt Multimedia", + "version": "6.7.3", + "description": "Qt Multimedia is an add-on module that provides a rich set of QML types and C++ classes to handle multimedia content.", "homepage": "https://www.qt.io/", + "license": null, "dependencies": [ - { - "name": "alsa", - "platform": "linux" - }, { "name": "qtbase", "default-features": false, "features": [ + "concurrent", "gui", "network" ] }, { "name": "qtshadertools", - "host": true, "default-features": false } ], "default-features": [ + { + "name": "gstreamer", + "platform": "linux" + }, "widgets" ], "features": { + "ffmpeg": { + "description": "Build with ffmpeg", + "dependencies": [ + { + "name": "ffmpeg", + "default-features": false, + "features": [ + "avcodec", + "avdevice", + "avformat", + "swresample", + "swscale" + ] + }, + { + "name": "pulseaudio", + "platform": "linux" + }, + { + "name": "qtdeclarative", + "default-features": false + } + ] + }, "gstreamer": { "description": "Build with gstreamer", + "supports": "linux", "dependencies": [ - "angle", - "gstreamer" + "egl", + { + "name": "gstreamer", + "default-features": false, + "features": [ + "plugins-base" + ] + } ] }, "qml": { diff --git a/ports/qtnetworkauth/portfile.cmake b/ports/qtnetworkauth/portfile.cmake index 1a3a6f1bfedbd7..a177c3ecf13482 100644 --- a/ports/qtnetworkauth/portfile.cmake +++ b/ports/qtnetworkauth/portfile.cmake @@ -1,7 +1,8 @@ set(SCRIPT_PATH "${CURRENT_INSTALLED_DIR}/share/qtbase") include("${SCRIPT_PATH}/qt_install_submodule.cmake") -set(${PORT}_PATCHES) +set(${PORT}_PATCHES "" +) qt_install_submodule(PATCHES ${${PORT}_PATCHES} CONFIGURE_OPTIONS diff --git a/ports/qtnetworkauth/vcpkg.json b/ports/qtnetworkauth/vcpkg.json index f2e57c09338ee4..5201679d7fdc13 100644 --- a/ports/qtnetworkauth/vcpkg.json +++ b/ports/qtnetworkauth/vcpkg.json @@ -1,8 +1,9 @@ { "name": "qtnetworkauth", - "version-semver": "6.2.1", - "description": "Qt Network Authenticators; QtOAuth in particular", + "version": "6.7.3", + "description": "Qt Network Authorization provides a set of APIs that enable Qt applications to obtain limited access to online accounts and HTTP services without exposing users' passwords.", "homepage": "https://www.qt.io/", + "license": null, "dependencies": [ { "name": "qtbase", diff --git a/ports/qtopcua/fix-build.patch b/ports/qtopcua/fix-build.patch new file mode 100644 index 00000000000000..33f4e84e7f5f81 --- /dev/null +++ b/ports/qtopcua/fix-build.patch @@ -0,0 +1,27 @@ +diff --git a/cmake/FindOpen62541.cmake b/cmake/FindOpen62541.cmake +index b4fcea410..91958e554 100644 +--- a/cmake/FindOpen62541.cmake ++++ b/cmake/FindOpen62541.cmake +@@ -21,6 +21,7 @@ + # ``open62541`` + # The open62541 library + ++if(0) + find_path(Open62541_INCLUDE_DIRS + NAMES open62541.h + HINTS "${OPEN62541_INCDIR}") +@@ -46,6 +47,14 @@ if (Open62541_FOUND) + endif() + + mark_as_advanced(Open62541_INCLUDE_DIRS Open62541_LIBRARIES) ++elseif() ++ find_package(open62541 CONFIG REQUIRED) ++ if(NOT TARGET open62541) ++ add_library(open62541 INTERFACE IMPORTED) ++ set_property(TARGET open62541 APPEND PROPERTY ++ INTERFACE_LINK_LIBRARIES open62541::open62541) ++ endif() ++endif() + + include(FeatureSummary) + set_package_properties(Open62541 PROPERTIES diff --git a/ports/qtopcua/portfile.cmake b/ports/qtopcua/portfile.cmake index 024052484586e9..759714619658ab 100644 --- a/ports/qtopcua/portfile.cmake +++ b/ports/qtopcua/portfile.cmake @@ -1,31 +1,41 @@ set(SCRIPT_PATH "${CURRENT_INSTALLED_DIR}/share/qtbase") include("${SCRIPT_PATH}/qt_install_submodule.cmake") +set(${PORT}_PATCHES fix-build.patch) + # General features: vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES "open62541" FEATURE_open62541 - "open62541" FEATURE_open62541-security +# "open62541" FEATURE_open62541_security # requires vendored open62541 "uacpp" FEATURE_uacpp "ns0idnames" FEATURE_ns0idnames "ns0idgenerator" FEATURE_ns0idgenerator + "qml" CMAKE_REQUIRE_FIND_PACKAGE_Qt6Quick INVERTED_FEATURES "qml" CMAKE_DISABLE_FIND_PACKAGE_Qt6Quick ) if("open62541" IN_LIST FEATURES) list(APPEND FEATURE_OPTIONS -DINPUT_open62541=system -DHAVE_open62541=true) + vcpkg_find_acquire_program(PYTHON3) else() list(APPEND FEATURE_OPTIONS -DINPUT_open62541=no) endif() -if(NOT "open62541" IN_LIST FEATURES AND NOT "gds" IN_LIST FEATURES) - list(APPEND FEATURE_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_WrapOpenSSL=ON) +if("uacpp" IN_LIST FEATURES) + message(WARNING "\nPlease note that you have to install the Unified Automation C++ SDK yourself.\n") endif() + +set(TOOL_NAMES + qopcuaxmldatatypes2cpp +) qt_install_submodule(PATCHES ${${PORT}_PATCHES} + TOOL_NAMES ${TOOL_NAMES} CONFIGURE_OPTIONS ${FEATURE_OPTIONS} + "-DPYTHON_EXECUTABLE=${PYTHON3}" CONFIGURE_OPTIONS_RELEASE CONFIGURE_OPTIONS_DEBUG ) diff --git a/ports/qtopcua/vcpkg.json b/ports/qtopcua/vcpkg.json index 90bb9f9c1dda71..5335a8b5e66907 100644 --- a/ports/qtopcua/vcpkg.json +++ b/ports/qtopcua/vcpkg.json @@ -1,8 +1,9 @@ { "name": "qtopcua", - "version-semver": "6.2.1", - "description": "Qt wrapper for existing OPC UA stacks", + "version": "6.7.3", + "description": "The Qt OPC UA module implements a Qt API to interact with OPC UA on top of a 3rd party OPC UA stack.", "homepage": "https://www.qt.io/", + "license": null, "dependencies": [ { "name": "qtbase", @@ -10,6 +11,11 @@ "features": [ "network" ] + }, + { + "name": "qtopcua", + "host": true, + "default-features": false } ], "default-features": [ @@ -26,7 +32,8 @@ "description": "Support for global discovery server" }, "ns0idgenerator": { - "description": "Namespace 0 NodeIds generator from the NodeIds.csv file." + "description": "Namespace 0 NodeIds generator from the NodeIds.csv file.", + "supports": "native" }, "ns0idnames": { "description": "Support for namespace 0 NodeId names" @@ -39,6 +46,7 @@ "default-features": false, "features": [ "amalgamation", + "historizing", "openssl" ] } diff --git a/ports/qtpositioning/devendor-poly2tri.patch b/ports/qtpositioning/devendor-poly2tri.patch new file mode 100644 index 00000000000000..85e18ca986a910 --- /dev/null +++ b/ports/qtpositioning/devendor-poly2tri.patch @@ -0,0 +1,37 @@ +diff --color -Naur a/src/3rdparty/clip2tri/CMakeLists.txt b/src/3rdparty/clip2tri/CMakeLists.txt +--- a/src/3rdparty/clip2tri/CMakeLists.txt 2023-05-13 16:59:42.377052155 +0200 ++++ b/src/3rdparty/clip2tri/CMakeLists.txt 2023-05-13 23:05:44.950379088 +0200 +@@ -4,6 +4,7 @@ + ## Bundled_Clip2Tri Generic Library: + ##################################################################### + ++find_package(poly2tri) + qt_internal_add_3rdparty_library(Bundled_Clip2Tri + QMAKE_LIB_NAME _clip2tri + STATIC +@@ -13,11 +14,12 @@ + clip2tri.cpp clip2tri.h + INCLUDE_DIRECTORIES + ../clipper +- ../poly2tri + LIBRARIES + Qt::Bundled_Clipper # special case +- Qt::Bundled_Poly2Tri # special case ++ poly2tri::poly2tri + ) ++target_link_libraries(Bundled_Clip2Tri PRIVATE poly2tri::poly2tri) ++set_target_properties(poly2tri::poly2tri PROPERTIES INTERFACE_QT_PACKAGE_NAME poly2tri) + qt_disable_warnings(Bundled_Clip2Tri) + qt_set_symbol_visibility_hidden(Bundled_Clip2Tri) + +diff --color -Naur a/src/CMakeLists.txt b/src/CMakeLists.txt +--- a/src/CMakeLists.txt 2023-05-13 16:59:42.379052157 +0200 ++++ b/src/CMakeLists.txt 2023-05-13 17:00:19.256085781 +0200 +@@ -2,7 +2,6 @@ + # SPDX-License-Identifier: BSD-3-Clause + + # special case begin +-add_subdirectory(3rdparty/poly2tri) + add_subdirectory(3rdparty/clipper) + add_subdirectory(3rdparty/clip2tri) + add_subdirectory(positioning) diff --git a/ports/qtpositioning/portfile.cmake b/ports/qtpositioning/portfile.cmake new file mode 100644 index 00000000000000..dc9da8a1d03215 --- /dev/null +++ b/ports/qtpositioning/portfile.cmake @@ -0,0 +1,22 @@ +set(SCRIPT_PATH "${CURRENT_INSTALLED_DIR}/share/qtbase") +include("${SCRIPT_PATH}/qt_install_submodule.cmake") + +set(${PORT}_PATCHES + devendor-poly2tri.patch) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS +FEATURES + "qml" CMAKE_REQUIRE_FIND_PACKAGE_Qt6Quick +INVERTED_FEATURES + "qml" CMAKE_DISABLE_FIND_PACKAGE_Qt6Quick +) + +list(APPEND FEATURE_OPTIONS "-DCMAKE_DISABLE_FIND_PACKAGE_Gypsy=ON" + "-DCMAKE_DISABLE_FIND_PACKAGE_Gconf=ON" +) + +qt_install_submodule(PATCHES ${${PORT}_PATCHES} + CONFIGURE_OPTIONS ${FEATURE_OPTIONS} + CONFIGURE_OPTIONS_RELEASE + CONFIGURE_OPTIONS_DEBUG + ) diff --git a/ports/qtpositioning/vcpkg.json b/ports/qtpositioning/vcpkg.json new file mode 100644 index 00000000000000..394e2f11941fbb --- /dev/null +++ b/ports/qtpositioning/vcpkg.json @@ -0,0 +1,30 @@ +{ + "name": "qtpositioning", + "version": "6.7.3", + "description": "The Qt Positioning API provides positioning information via QML and C++ interfaces.", + "homepage": "https://www.qt.io/", + "license": null, + "dependencies": [ + "jhasse-poly2tri", + { + "name": "qtbase", + "default-features": false + }, + { + "name": "qtserialport", + "default-features": false, + "platform": "!ios" + } + ], + "features": { + "qml": { + "description": "Build QML imports", + "dependencies": [ + { + "name": "qtdeclarative", + "default-features": false + } + ] + } + } +} diff --git a/ports/qtquick3d/portfile.cmake b/ports/qtquick3d/portfile.cmake index f7c6c761a65627..fc2e1d75cecf4b 100644 --- a/ports/qtquick3d/portfile.cmake +++ b/ports/qtquick3d/portfile.cmake @@ -5,6 +5,7 @@ include("${SCRIPT_PATH}/qt_install_submodule.cmake") vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES "assimp" FEATURE_quick3d_assimp + #"assimp" CMAKE_REQUIRE_FIND_PACKAGE_WrapQuick3DAssimp INVERTED_FEATURES "assimp" CMAKE_DISABLE_FIND_PACKAGE_WrapQuick3DAssimp ) @@ -15,12 +16,13 @@ else() list(APPEND FEATURE_OPTIONS -DINPUT_quick3d_assimp=no) endif() -set(TOOL_NAMES balsam balsamui meshdebug shadergen instancer) +set(TOOL_NAMES balsam balsamui meshdebug shadergen instancer materialeditor shapegen) qt_install_submodule(PATCHES ${${PORT}_PATCHES} TOOL_NAMES ${TOOL_NAMES} CONFIGURE_OPTIONS ${FEATURE_OPTIONS} + -DCMAKE_FIND_PACKAGE_TARGETS_GLOBAL=ON CONFIGURE_OPTIONS_RELEASE CONFIGURE_OPTIONS_DEBUG ) diff --git a/ports/qtquick3d/vcpkg.json b/ports/qtquick3d/vcpkg.json index 6b9e50596e9fdb..8b4a0dd83170af 100644 --- a/ports/qtquick3d/vcpkg.json +++ b/ports/qtquick3d/vcpkg.json @@ -1,8 +1,9 @@ { "name": "qtquick3d", - "version-semver": "6.2.1", - "description": "A new module and API for defining 3D content in Qt Quick.", + "version": "6.7.3", + "description": "Qt Quick 3D provides a high-level API for creating 3D content and 3D user interfaces based on Qt Quick.", "homepage": "https://www.qt.io/", + "license": null, "dependencies": [ { "name": "qtbase", @@ -25,7 +26,6 @@ ], "features": { "assimp": { - "$comment": "feature assimp requires a newer version of assimp than available within vcpkg. Install assimp with e.g. --head or use an overlay", "description": "assimp", "dependencies": [ "assimp" diff --git a/ports/qtquick3dphysics/portfile.cmake b/ports/qtquick3dphysics/portfile.cmake new file mode 100644 index 00000000000000..1110561e651002 --- /dev/null +++ b/ports/qtquick3dphysics/portfile.cmake @@ -0,0 +1,13 @@ +set(SCRIPT_PATH "${CURRENT_INSTALLED_DIR}/share/qtbase") +include("${SCRIPT_PATH}/qt_install_submodule.cmake") + +set(${PORT}_PATCHES) + +set(TOOL_NAMES cooker) + +qt_install_submodule(PATCHES ${${PORT}_PATCHES} + TOOL_NAMES ${TOOL_NAMES} + CONFIGURE_OPTIONS + CONFIGURE_OPTIONS_RELEASE + CONFIGURE_OPTIONS_DEBUG + ) diff --git a/ports/qtquick3dphysics/vcpkg.json b/ports/qtquick3dphysics/vcpkg.json new file mode 100644 index 00000000000000..0e1c310e94066c --- /dev/null +++ b/ports/qtquick3dphysics/vcpkg.json @@ -0,0 +1,13 @@ +{ + "name": "qtquick3dphysics", + "version": "6.7.3", + "description": "Qt Quick 3D Physics provides a high-level API for physics simulation.", + "homepage": "https://www.qt.io/", + "license": null, + "dependencies": [ + { + "name": "qtquick3d", + "default-features": false + } + ] +} diff --git a/ports/qtquickcontrols2/vcpkg.json b/ports/qtquickcontrols2/vcpkg.json index cdc422ec3290b9..8fe533d09fcaa6 100644 --- a/ports/qtquickcontrols2/vcpkg.json +++ b/ports/qtquickcontrols2/vcpkg.json @@ -1,8 +1,10 @@ { "name": "qtquickcontrols2", - "version-semver": "6.2.0", - "description": "Qt Quick Controls 2 (deprecated). Included in qtdeclarative", + "version-string": "deprecated", + "port-version": 1, + "description": "Qt Quick Controls provides a set of controls that can be used to build complete interfaces in Qt Quick.", "homepage": "https://www.qt.io/", + "license": null, "dependencies": [ "qtdeclarative" ] diff --git a/ports/qtquickeffectmaker/portfile.cmake b/ports/qtquickeffectmaker/portfile.cmake new file mode 100644 index 00000000000000..effa2d5b11050e --- /dev/null +++ b/ports/qtquickeffectmaker/portfile.cmake @@ -0,0 +1,14 @@ +set(SCRIPT_PATH "${CURRENT_INSTALLED_DIR}/share/qtbase") +include("${SCRIPT_PATH}/qt_install_submodule.cmake") + +set(${PORT}_PATCHES) +set(TOOL_NAMES qqem) + +qt_install_submodule(PATCHES ${${PORT}_PATCHES} + TOOL_NAMES ${TOOL_NAMES} + CONFIGURE_OPTIONS_MAYBE_UNUSED + QT_BUILD_EXAMPLES + QT_USE_DEFAULT_CMAKE_OPTIMIZATION_FLAGS + ) + +set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) diff --git a/ports/qtquickeffectmaker/vcpkg.json b/ports/qtquickeffectmaker/vcpkg.json new file mode 100644 index 00000000000000..45e5bb5f6f2a13 --- /dev/null +++ b/ports/qtquickeffectmaker/vcpkg.json @@ -0,0 +1,29 @@ +{ + "name": "qtquickeffectmaker", + "version": "6.7.3", + "description": "Qt Quick Effect Maker is a tool for creating shader effects for Qt Quick with high productivity and performance.", + "homepage": "https://www.qt.io/", + "license": null, + "supports": "native", + "dependencies": [ + { + "name": "qtbase", + "default-features": false, + "features": [ + "gui" + ] + }, + { + "name": "qtdeclarative", + "default-features": false + }, + { + "name": "qtquick3d", + "default-features": false + }, + { + "name": "qtshadertools", + "default-features": false + } + ] +} diff --git a/ports/qtquicktimeline/vcpkg.json b/ports/qtquicktimeline/vcpkg.json index 5a996169561127..0e9690c75c837d 100644 --- a/ports/qtquicktimeline/vcpkg.json +++ b/ports/qtquicktimeline/vcpkg.json @@ -1,8 +1,9 @@ { "name": "qtquicktimeline", - "version-semver": "6.2.1", - "description": "Module for keyframe-based timeline construction.", + "version": "6.7.3", + "description": "The Qt Quick Timeline module enables keyframe-based animations and parameterization.", "homepage": "https://www.qt.io/", + "license": null, "dependencies": [ { "name": "qtbase", diff --git a/ports/qtremoteobjects/portfile.cmake b/ports/qtremoteobjects/portfile.cmake index 9969bd4eeb9eaa..f2b31ed8e57bef 100644 --- a/ports/qtremoteobjects/portfile.cmake +++ b/ports/qtremoteobjects/portfile.cmake @@ -6,6 +6,7 @@ set(TOOL_NAMES repc) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES + "qml" CMAKE_REQUIRE_FIND_PACKAGE_Qt6Quick INVERTED_FEATURES "qml" CMAKE_DISABLE_FIND_PACKAGE_Qt6Quick ) diff --git a/ports/qtremoteobjects/vcpkg.json b/ports/qtremoteobjects/vcpkg.json index 8f3a1798728fba..2dc6c0eaf70118 100644 --- a/ports/qtremoteobjects/vcpkg.json +++ b/ports/qtremoteobjects/vcpkg.json @@ -1,8 +1,9 @@ { "name": "qtremoteobjects", - "version-semver": "6.2.1", - "description": "Qt distributed object system", + "version": "6.7.3", + "description": "Qt Remote Objects (QtRO) is an Inter-Process Communication (IPC) module developed for Qt. This module extends Qt's existing functionalities to enable information exchange between processes or computers, easily.", "homepage": "https://www.qt.io/", + "license": null, "dependencies": [ { "name": "qtbase", diff --git a/ports/qtscxml/portfile.cmake b/ports/qtscxml/portfile.cmake index 1215ca019df642..74fa2ed04f9cc2 100644 --- a/ports/qtscxml/portfile.cmake +++ b/ports/qtscxml/portfile.cmake @@ -7,6 +7,7 @@ set(TOOL_NAMES qscxmlc) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES + "qml" CMAKE_REQUIRE_FIND_PACKAGE_Qt6Qml INVERTED_FEATURES "qml" CMAKE_DISABLE_FIND_PACKAGE_Qt6Qml ) diff --git a/ports/qtscxml/vcpkg.json b/ports/qtscxml/vcpkg.json index 6eb9b452d85886..8d2aae09be1fd3 100644 --- a/ports/qtscxml/vcpkg.json +++ b/ports/qtscxml/vcpkg.json @@ -1,8 +1,9 @@ { "name": "qtscxml", - "version-semver": "6.2.1", - "description": "SCXML (state machine notation) compiler and related tools", + "version": "6.7.3", + "description": "The Qt SCXML module provides functionality to create state machines from SCXML files.", "homepage": "https://www.qt.io/", + "license": null, "dependencies": [ { "name": "qtbase", diff --git a/ports/qtsensors/portfile.cmake b/ports/qtsensors/portfile.cmake index d6a3b2fd0ad24e..0f5be8a036a1d9 100644 --- a/ports/qtsensors/portfile.cmake +++ b/ports/qtsensors/portfile.cmake @@ -5,6 +5,7 @@ set(${PORT}_PATCHES) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES + "qml" CMAKE_REQUIRE_FIND_PACKAGE_Qt6Quick INVERTED_FEATURES "qml" CMAKE_DISABLE_FIND_PACKAGE_Qt6Quick ) diff --git a/ports/qtsensors/vcpkg.json b/ports/qtsensors/vcpkg.json index 041a2e15f4ecb9..cf2906076751a5 100644 --- a/ports/qtsensors/vcpkg.json +++ b/ports/qtsensors/vcpkg.json @@ -1,15 +1,21 @@ { "name": "qtsensors", - "version-semver": "6.2.1", - "description": "Qt Sensors", + "version": "6.7.3", + "description": "The Qt Sensors API provides access to sensor hardware via QML and C++ interfaces. The Qt Sensors API also provides a motion gesture recognition API for devices.", "homepage": "https://www.qt.io/", + "license": null, "dependencies": [ + { + "name": "qtbase", + "default-features": false + }, { "name": "qtbase", "default-features": false, "features": [ "dbus" - ] + ], + "platform": "!(windows & static) & !android & !ios" }, { "name": "qtconnectivity", diff --git a/ports/qtserialbus/vcpkg.json b/ports/qtserialbus/vcpkg.json index d1752c40145f1c..49b105bad8eda1 100644 --- a/ports/qtserialbus/vcpkg.json +++ b/ports/qtserialbus/vcpkg.json @@ -1,8 +1,9 @@ { "name": "qtserialbus", - "version-semver": "6.2.1", - "description": "Support for CAN and potentially other serial buses.", + "version": "6.7.3", + "description": "The Qt Serial Bus API provides classes and functions to access the various industrial serial buses and protocols, such as CAN, ModBus, and others.", "homepage": "https://www.qt.io/", + "license": null, "dependencies": [ { "name": "qtbase", diff --git a/ports/qtserialport/vcpkg.json b/ports/qtserialport/vcpkg.json index f72e900c345642..b227c41f43268a 100644 --- a/ports/qtserialport/vcpkg.json +++ b/ports/qtserialport/vcpkg.json @@ -1,8 +1,10 @@ { "name": "qtserialport", - "version-semver": "6.2.1", - "description": "Qt Serial Port support", + "version": "6.7.3", + "description": "Qt Serial Port provides basic functionality for configuration, I/O operations, and getting and setting the control signals of the RS-232 pinouts.", "homepage": "https://www.qt.io/", + "license": null, + "supports": "!ios", "dependencies": [ { "name": "qtbase", diff --git a/ports/qtshadertools/vcpkg.json b/ports/qtshadertools/vcpkg.json index 759742b7009714..1cc42d8eca0d3f 100644 --- a/ports/qtshadertools/vcpkg.json +++ b/ports/qtshadertools/vcpkg.json @@ -1,8 +1,9 @@ { "name": "qtshadertools", - "version-semver": "6.2.1", - "description": "APIs and tools in this module provide the producer functionality for the shader pipeline that allows Qt Quick to operate on Vulkan, Metal, and Direct3D, in addition to OpenGL.", + "version": "6.7.3", + "description": "The Qt Shader Tools module is designed to provide a set of tools and utilities to work with graphics shaders.", "homepage": "https://www.qt.io/", + "license": null, "dependencies": [ { "name": "qtbase", diff --git a/ports/qtspeech/portfile.cmake b/ports/qtspeech/portfile.cmake new file mode 100644 index 00000000000000..3b411aac08d172 --- /dev/null +++ b/ports/qtspeech/portfile.cmake @@ -0,0 +1,29 @@ +set(SCRIPT_PATH "${CURRENT_INSTALLED_DIR}/share/qtbase") +include("${SCRIPT_PATH}/qt_install_submodule.cmake") + +set(${PORT}_PATCHES) +set(TOOL_NAMES) + +# Note: none of these features are implemented in the manifest yet +# flite -> Missing port for flite +# speechd -> missing port for speechd +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + "flite" FEATURE_flite + "flite-alsa" FEATURE_flite-alsa + "speechd" FEATURE_speechd +INVERTED_FEATURES + "flite" CMAKE_DISABLE_FIND_PACKAGE_Flite + "flite-alsa" CMAKE_DISABLE_FIND_PACKAGE_Alsa + "speechd" CMAKE_DISABLE_FIND_PACKAGE_SpeechDispatcher +) + +qt_install_submodule(PATCHES ${${PORT}_PATCHES} + TOOL_NAMES ${TOOL_NAMES} + CONFIGURE_OPTIONS + ${FEATURE_OPTIONS} + -DCMAKE_FIND_PACKAGE_TARGETS_GLOBAL=ON + CONFIGURE_OPTIONS_MAYBE_UNUSED + QT_BUILD_EXAMPLES + QT_USE_DEFAULT_CMAKE_OPTIMIZATION_FLAGS + ) diff --git a/ports/qtspeech/vcpkg.json b/ports/qtspeech/vcpkg.json new file mode 100644 index 00000000000000..b89fca6960fa46 --- /dev/null +++ b/ports/qtspeech/vcpkg.json @@ -0,0 +1,26 @@ +{ + "name": "qtspeech", + "version": "6.7.3", + "description": "The Qt Speech module enables a Qt application to support accessibility features such as text-to-speech, which is useful for end-users who are visually challenged or cannot access the application for whatever reason.", + "homepage": "https://www.qt.io/", + "license": null, + "supports": "!(windows & x86)", + "dependencies": [ + { + "name": "qtbase", + "default-features": false, + "features": [ + "gui", + "widgets" + ] + }, + { + "name": "qtdeclarative", + "default-features": false + }, + { + "name": "qtmultimedia", + "default-features": false + } + ] +} diff --git a/ports/qtsvg/vcpkg.json b/ports/qtsvg/vcpkg.json index 6bded3bf4a1f91..a8b1df67d54659 100644 --- a/ports/qtsvg/vcpkg.json +++ b/ports/qtsvg/vcpkg.json @@ -1,8 +1,9 @@ { "name": "qtsvg", - "version-semver": "6.2.1", - "description": "Qt SVG", + "version": "6.7.3", + "description": "Qt SVG provides classes for rendering and displaying SVG drawings in widgets and on other paint devices.", "homepage": "https://www.qt.io/", + "license": null, "dependencies": [ { "name": "qtbase", diff --git a/ports/qttools/devendor-litehtml.patch b/ports/qttools/devendor-litehtml.patch new file mode 100644 index 00000000000000..7830391dd22ccd --- /dev/null +++ b/ports/qttools/devendor-litehtml.patch @@ -0,0 +1,13 @@ +diff --git a/src/assistant/CMakeLists.txt b/src/assistant/CMakeLists.txt +index 5d2bf2b67c..abd9b513d3 100644 +--- a/src/assistant/CMakeLists.txt ++++ b/src/assistant/CMakeLists.txt +@@ -34,7 +34,7 @@ if(TARGET qlitehtml) + # but found in the system, because they are imported only to the subdirectory scope + # where find_package was called. But that's fine, we wouldn't be able to set compiler flags + # on them anyway. +- if(TARGET litehtml) ++ if(0) + qt_internal_set_exceptions_flags(litehtml OFF) + qt_disable_warnings(litehtml) + endif() diff --git a/ports/qttools/fix_static_build.patch b/ports/qttools/fix_static_build.patch deleted file mode 100644 index bc67faf5dc9dc1..00000000000000 --- a/ports/qttools/fix_static_build.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff --git a/src/designer/src/components/lib/CMakeLists.txt b/src/designer/src/components/lib/CMakeLists.txt -index 53358741f..ce070bd6a 100644 ---- a/src/designer/src/components/lib/CMakeLists.txt -+++ b/src/designer/src/components/lib/CMakeLists.txt -@@ -878,7 +878,7 @@ qt_internal_add_resource(DesignerComponents "widgetbox" - ## Scopes: - ##################################################################### - --qt_internal_extend_target(DesignerComponents CONDITION static -+qt_internal_extend_target(DesignerComponents CONDITION NOT BUILD_SHARED_LIBS - DEFINES - QT_DESIGNER_STATIC - ) -diff --git a/src/designer/src/designer/CMakeLists.txt b/src/designer/src/designer/CMakeLists.txt -index f786f1dd6..8c635ff14 100644 ---- a/src/designer/src/designer/CMakeLists.txt -+++ b/src/designer/src/designer/CMakeLists.txt -@@ -103,8 +103,8 @@ qt_internal_extend_target(designer CONDITION TARGET Qt::PrintSupport - PUBLIC_LIBRARIES - Qt::PrintSupport - ) - --qt_internal_extend_target(designer CONDITION QT_CONFIG___contains___static -+qt_internal_extend_target(designer CONDITION NOT BUILD_SHARED_LIBS - DEFINES - QT_DESIGNER_STATIC - ) diff --git a/ports/qttools/portfile.cmake b/ports/qttools/portfile.cmake index 835e7ffce63238..10697e5399d0b6 100644 --- a/ports/qttools/portfile.cmake +++ b/ports/qttools/portfile.cmake @@ -1,7 +1,9 @@ set(SCRIPT_PATH "${CURRENT_INSTALLED_DIR}/share/qtbase") include("${SCRIPT_PATH}/qt_install_submodule.cmake") -set(${PORT}_PATCHES )#fix_static_build.patch) +set(${PORT}_PATCHES + devendor-litehtml.patch + ) #TODO check features and setup: (means force features!) @@ -37,9 +39,17 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS "assistant" FEATURE_assistant "designer" FEATURE_designer "linguist" FEATURE_linguist + "qdbus" FEATURE_qdbus + "qdoc" CMAKE_REQUIRE_FIND_PACKAGE_Clang + #"qdoc" CMAKE_REQUIRE_FIND_PACKAGE_WrapLibClang + "qml" CMAKE_REQUIRE_FIND_PACKAGE_Qt6Qml + "qml" CMAKE_REQUIRE_FIND_PACKAGE_Qt6Quick + "qml" CMAKE_REQUIRE_FIND_PACKAGE_Qt6QuickWidgets + "qml" FEATURE_distancefieldgenerator INVERTED_FEATURES "qdoc" CMAKE_DISABLE_FIND_PACKAGE_Clang "qdoc" CMAKE_DISABLE_FIND_PACKAGE_WrapLibClang + "qml" CMAKE_DISABLE_FIND_PACKAGE_Qt6Qml "qml" CMAKE_DISABLE_FIND_PACKAGE_Qt6Quick "qml" CMAKE_DISABLE_FIND_PACKAGE_Qt6QuickWidgets ) @@ -73,70 +83,34 @@ elseif(VCPKG_TARGET_IS_OSX) list(APPEND TOOL_NAMES macdeployqt) endif() -### Download third_party modules -vcpkg_from_git( - OUT_SOURCE_PATH SOURCE_PATH_QLITEHTML - URL git://code.qt.io/playground/qlitehtml.git # git://code.qt.io/playground/qlitehtml.git - REF 6af5648d1208ed5760d74bd060c74ffa2bcfef6b - FETCH_REF master - HEAD_REF master -) -# port 'litehtml' is not in vcpkg! -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH_LITEHTML - REPO litehtml/litehtml - REF db7f59d5886fd50f84d48720c79dc2e6152efa83 - SHA512 6beed53f8b779359eb2d08495547f9b4e3d02b70d68e035e6c188f009a283e630b3961caa472ce045799a9ef82e1cd6b3c63d8534e6e8127441944f4837a0352 - HEAD_REF master -) - -##### qt_install_submodule -set(qt_plugindir ${QT6_DIRECTORY_PREFIX}plugins) -set(qt_qmldir ${QT6_DIRECTORY_PREFIX}qml) - -qt_download_submodule(PATCHES ${${PORT}_PATCHES}) -if(QT_UPDATE_VERSION) - return() -endif() -file(COPY "${SOURCE_PATH_QLITEHTML}/" DESTINATION "${SOURCE_PATH}/src/assistant/qlitehtml") -file(COPY "${SOURCE_PATH_LITEHTML}/" DESTINATION "${SOURCE_PATH}/src/assistant/qlitehtml/src/3rdparty/litehtml") - - -if(_qis_DISABLE_NINJA) - set(_opt DISABLE_NINJA) -endif() -qt_cmake_configure(${_opt} - OPTIONS ${FEATURE_OPTIONS} +qt_install_submodule(PATCHES ${${PORT}_PATCHES} + TOOL_NAMES ${TOOL_NAMES} + CONFIGURE_OPTIONS + ${FEATURE_OPTIONS} -DCMAKE_DISABLE_FIND_PACKAGE_Qt6AxContainer=ON - OPTIONS_DEBUG ${_qis_CONFIGURE_OPTIONS_DEBUG} - OPTIONS_RELEASE ${_qis_CONFIGURE_OPTIONS_RELEASE}) - -vcpkg_install_cmake(ADD_BIN_TO_PATH) - -qt_fixup_and_cleanup(TOOL_NAMES ${TOOL_NAMES}) - -qt_install_copyright("${SOURCE_PATH}") - -##### qt_install_submodule + -DQLITEHTML_USE_SYSTEM_LITEHTML:BOOL=ON + -DCMAKE_REQUIRE_FIND_PACKAGE_litehtml:BOOL=ON + CONFIGURE_OPTIONS_RELEASE + CONFIGURE_OPTIONS_DEBUG + ) if(VCPKG_TARGET_IS_OSX) - set(OSX_APP_FOLDERS Designer.app Linguist.app pixeltool.app qdbusviewer.app) + set(OSX_APP_FOLDERS Designer.app Linguist.app pixeltool.app) + if (FEATURE_qdbus) + message(STATUS "Built qdbusviewer") + list(APPEND OSX_APP_FOLDERS qdbusviewer.app) + endif() foreach(_appfolder IN LISTS OSX_APP_FOLDERS) - message(STATUS "Moving: ${_appfolder}") - file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin/${_appfolder}") - file(RENAME "${CURRENT_PACKAGES_DIR}/bin/${_appfolder}/" "${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin/${_appfolder}/") + # Folders are only existing in case of native builds + if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/${_appfolder}") + message(STATUS "Moving: ${_appfolder}") + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin/${_appfolder}") + file(RENAME "${CURRENT_PACKAGES_DIR}/bin/${_appfolder}/" "${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin/${_appfolder}/") + endif() endforeach() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") endif() -set(configfile "${CURRENT_PACKAGES_DIR}/share/Qt6ToolsTools/Qt6ToolsToolsTargets-debug.cmake") -if(EXISTS "${configfile}" AND EXISTS "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/windeployqt.exe") - file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/windeployqt.debug.bat" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin") - file(READ "${configfile}" _contents) - string(REPLACE [[${_IMPORT_PREFIX}/tools/Qt6/bin/windeployqt.exe]] [[${_IMPORT_PREFIX}/tools/Qt6/bin/windeployqt.debug.bat]] _contents "${_contents}") - file(WRITE "${configfile}" "${_contents}") -endif() - file(GLOB_RECURSE debug_dir "${CURRENT_PACKAGES_DIR}/debug/*") list(LENGTH debug_dir debug_dir_elements) if(debug_dir_elements EQUAL 0) diff --git a/ports/qttools/vcpkg.json b/ports/qttools/vcpkg.json index f59f733cea234e..56a01ab9415eeb 100644 --- a/ports/qttools/vcpkg.json +++ b/ports/qttools/vcpkg.json @@ -1,8 +1,9 @@ { "name": "qttools", - "version-semver": "6.2.1", - "description": "Qt Tools", + "version": "6.7.3", + "description": "A collection of tools and utilities that come with the Qt framework to assist developers in the creation, management, and deployment of Qt applications.", "homepage": "https://www.qt.io/", + "license": null, "dependencies": [ { "name": "qtbase", @@ -13,7 +14,6 @@ "host": true, "default-features": false, "features": [ - "assistant", "linguist" ] } @@ -22,12 +22,26 @@ "assistant": { "description": "Build Qt Assistant", "dependencies": [ + { + "name": "litehtml", + "default-features": false + }, { "name": "qtbase", "default-features": false, "features": [ "network", - "sql-sqlite" + "png", + "sql-sqlite", + "widgets" + ] + }, + { + "name": "qttools", + "host": true, + "default-features": false, + "features": [ + "assistant" ] } ] @@ -39,7 +53,8 @@ "name": "qtbase", "default-features": false, "features": [ - "network" + "network", + "png" ] } ] @@ -56,10 +71,30 @@ } ] }, + "qdbus": { + "description": "Build QDBusViewer", + "dependencies": [ + { + "name": "qtbase", + "default-features": false, + "features": [ + "dbus", + "widgets" + ] + } + ] + }, "qdoc": { - "description": "Build QDoc.", + "description": "Build QDoc", "dependencies": [ - "llvm" + { + "name": "llvm", + "default-features": false, + "features": [ + "clang", + "enable-rtti" + ] + } ] }, "qml": { @@ -69,7 +104,8 @@ "name": "qtbase", "default-features": false, "features": [ - "gui" + "gui", + "widgets" ] }, { diff --git a/ports/qttools/windeployqt.debug.bat b/ports/qttools/windeployqt.debug.bat index d004e23f10d975..d205fe3bcaa0b9 100644 --- a/ports/qttools/windeployqt.debug.bat +++ b/ports/qttools/windeployqt.debug.bat @@ -1,10 +1,10 @@ @echo off -setlocal +setlocal enabledelayedexpansion set mypath=%~dp0 set mypath=%mypath:~0,-1% -cd %mypath%\..\..\..\debug\bin -set BAKCD=%CD% -set PATH=%CD%;%PATH% +set BAKCD=!CD! +cd /D "%mypath%\..\..\..\debug\bin" +set PATH=!CD!;%PATH% "%mypath%\windeployqt.exe" --qmake "%mypath%\qmake.debug.bat" %* -cd %BAKCD% -endlocal \ No newline at end of file +cd /D "%BAKCD%" +endlocal diff --git a/ports/qttranslations/portfile.cmake b/ports/qttranslations/portfile.cmake index 30a09d5996876e..f151f0a5b7416e 100644 --- a/ports/qttranslations/portfile.cmake +++ b/ports/qttranslations/portfile.cmake @@ -6,10 +6,10 @@ set(TOOL_NAMES) qt_install_submodule(PATCHES ${${PORT}_PATCHES} TOOL_NAMES ${TOOL_NAMES} - CONFIGURE_OPTIONS - CONFIGURE_OPTIONS_RELEASE - CONFIGURE_OPTIONS_DEBUG + CONFIGURE_OPTIONS_MAYBE_UNUSED + QT_BUILD_EXAMPLES + QT_USE_DEFAULT_CMAKE_OPTIMIZATION_FLAGS ) - + set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) # only translation files. file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") diff --git a/ports/qttranslations/vcpkg.json b/ports/qttranslations/vcpkg.json index 17aea5fee8062d..ae9cb340d18661 100644 --- a/ports/qttranslations/vcpkg.json +++ b/ports/qttranslations/vcpkg.json @@ -1,8 +1,9 @@ { "name": "qttranslations", - "version-semver": "6.2.1", - "description": "Qt Translations", + "version": "6.7.3", + "description": "Qt translations.", "homepage": "https://www.qt.io/", + "license": null, "dependencies": [ { "name": "qtbase", diff --git a/ports/qtvirtualkeyboard/hunspell_include_path_fix.patch b/ports/qtvirtualkeyboard/hunspell_include_path_fix.patch index 7c92d6a89b5d51..ff7c7b9cc282b8 100644 --- a/ports/qtvirtualkeyboard/hunspell_include_path_fix.patch +++ b/ports/qtvirtualkeyboard/hunspell_include_path_fix.patch @@ -1,26 +1,39 @@ -diff --git a/src/plugins/hunspell/hunspellinputmethod/hunspellinputmethod_p.cpp b/src/plugins/hunspell/hunspellinputmethod/hunspellinputmethod_p.cpp -index 8ee4d7503..0fb4461d2 100644 ---- a/src/plugins/hunspell/hunspellinputmethod/hunspellinputmethod_p.cpp -+++ b/src/plugins/hunspell/hunspellinputmethod/hunspellinputmethod_p.cpp -@@ -29,7 +29,7 @@ - - #include - #include --#include -+#include - #include - #include - #include -diff --git a/src/plugins/hunspell/hunspellinputmethod/hunspellworker_p.h b/src/plugins/hunspell/hunspellinputmethod/hunspellworker_p.h +diff --git a/src/plugins/hunspell/module/hunspellworker_p.h b/src/plugins/hunspell/module/hunspellworker_p.h index b79354429..a843bdfa6 100644 ---- a/src/plugins/hunspell/hunspellinputmethod/hunspellworker_p.h -+++ b/src/plugins/hunspell/hunspellinputmethod/hunspellworker_p.h +--- a/src/plugins/hunspell/module/hunspellworker_p.h ++++ b/src/plugins/hunspell/module/hunspellworker_p.h @@ -50,7 +50,7 @@ #include #include #include -#include +#include - #include + #include "hunspellwordlist_p.h" QT_BEGIN_NAMESPACE +diff --git a/config.tests/hunspell/main.cpp b/config.tests/hunspell/main.cpp +index 76f2cb3df..91906bc48 100644 +--- a/config.tests/hunspell/main.cpp ++++ b/config.tests/hunspell/main.cpp +@@ -1,7 +1,7 @@ + // Copyright (C) 2020 The Qt Company Ltd. + // SPDX-License-Identifier: BSD-3-Clause + +-#include ++#include + + int main(int argc, char** argv) + { +diff --git a/src/plugins/hunspell/module/hunspellwordlist.cpp b/src/plugins/hunspell/module/hunspellwordlist.cpp +index ec55d4d3b..846af4726 100644 +--- a/src/plugins/hunspell/module/hunspellwordlist.cpp ++++ b/src/plugins/hunspell/module/hunspellwordlist.cpp +@@ -3,7 +3,7 @@ + + #include "hunspellwordlist_p.h" + #include +-#include ++#include + + QT_BEGIN_NAMESPACE + namespace QtVirtualKeyboard { diff --git a/ports/qtvirtualkeyboard/portfile.cmake b/ports/qtvirtualkeyboard/portfile.cmake index 528a0a4de21327..9a7cf7d7d35c2f 100644 --- a/ports/qtvirtualkeyboard/portfile.cmake +++ b/ports/qtvirtualkeyboard/portfile.cmake @@ -1,24 +1,26 @@ set(SCRIPT_PATH "${CURRENT_INSTALLED_DIR}/share/qtbase") include("${SCRIPT_PATH}/qt_install_submodule.cmake") -set(${PORT}_PATCHES hunspell_include_path_fix.patch) - -vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - INVERTED_FEATURES - "xcb" CMAKE_DISABLE_FIND_PACKAGE_XCB - ) - +set(${PORT}_PATCHES "hunspell_include_path_fix.patch") if("hunspell" IN_LIST FEATURES) list(APPEND FEATURE_OPTIONS -DINPUT_vkb_hunspell:STRING=system) else() list(APPEND FEATURE_OPTIONS -DINPUT_vkb_hunspell=no) endif() -if("t9write" IN_LIST FEATURES) - list(APPEND FEATURE_OPTIONS -DINPUT_vkb_handwriting=t9write) -else() - list(APPEND FEATURE_OPTIONS -DINPUT_vkb_handwriting=no) -endif() + +# +# To use t9write, overlay this port with the following line changed to: +# list(APPEND FEATURE_OPTIONS -DINPUT_vkb_handwriting=t9write) +# and add t9write as a dependency. +# +list(APPEND FEATURE_OPTIONS + -DINPUT_vkb_handwriting=no + -DCMAKE_DISABLE_FIND_PACKAGE_CerenceHwrAlphabetic:BOOL=ON + -DCMAKE_DISABLE_FIND_PACKAGE_CerenceHwrCjk:BOOL=ON + -DCMAKE_DISABLE_FIND_PACKAGE_CerenceXt9:BOOL=ON + -DCMAKE_DISABLE_FIND_PACKAGE_MyScript:BOOL=ON +) qt_install_submodule(PATCHES ${${PORT}_PATCHES} CONFIGURE_OPTIONS ${FEATURE_OPTIONS} diff --git a/ports/qtvirtualkeyboard/vcpkg.json b/ports/qtvirtualkeyboard/vcpkg.json index c712e0f673c214..055b9f09e53acc 100644 --- a/ports/qtvirtualkeyboard/vcpkg.json +++ b/ports/qtvirtualkeyboard/vcpkg.json @@ -1,8 +1,9 @@ { "name": "qtvirtualkeyboard", - "version-semver": "6.2.1", - "description": "SCXML (state machine notation) compiler and related tools", + "version": "6.7.3", + "description": "The Qt Virtual Keyboard project provides an input framework and reference keyboard frontend for Qt 6 on Linux Desktop/X11, Windows Desktop, and Boot2Qt targets.", "homepage": "https://www.qt.io/", + "license": null, "dependencies": [ { "name": "qtbase", @@ -33,15 +34,6 @@ "dependencies": [ "hunspell" ] - }, - "t9write": { - "description": "T9Write handwriting (commercial SDK requires port overlay)", - "dependencies": [ - "t9write" - ] - }, - "xcb": { - "description": "XCB integration" } } } diff --git a/ports/qtwayland/portfile.cmake b/ports/qtwayland/portfile.cmake index d8846384660c96..54d9d939000f8a 100644 --- a/ports/qtwayland/portfile.cmake +++ b/ports/qtwayland/portfile.cmake @@ -12,6 +12,7 @@ set(TOOL_NAMES qtwaylandscanner) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES + "qml" CMAKE_REQUIRE_FIND_PACKAGE_Qt6Quick INVERTED_FEATURES "qml" CMAKE_DISABLE_FIND_PACKAGE_Qt6Quick ) diff --git a/ports/qtwayland/vcpkg.json b/ports/qtwayland/vcpkg.json index 149505b3d084f7..88e6d781139703 100644 --- a/ports/qtwayland/vcpkg.json +++ b/ports/qtwayland/vcpkg.json @@ -1,8 +1,9 @@ { "name": "qtwayland", - "version-semver": "6.2.1", + "version": "6.7.3", "description": "A toolbox for making Qt based Wayland compositors", "homepage": "https://www.qt.io/", + "license": null, "supports": "!windows", "dependencies": [ { diff --git a/ports/qtwebchannel/portfile.cmake b/ports/qtwebchannel/portfile.cmake index 9ad5b29e39d465..18f9512b119b1e 100644 --- a/ports/qtwebchannel/portfile.cmake +++ b/ports/qtwebchannel/portfile.cmake @@ -6,8 +6,10 @@ set(${PORT}_PATCHES) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES + "qml" CMAKE_REQUIRE_FIND_PACKAGE_Qt6Quick INVERTED_FEATURES "qml" CMAKE_DISABLE_FIND_PACKAGE_Qt6Quick + "qml" CMAKE_DISABLE_FIND_PACKAGE_Qt6Qml ) qt_install_submodule(PATCHES ${${PORT}_PATCHES} diff --git a/ports/qtwebchannel/vcpkg.json b/ports/qtwebchannel/vcpkg.json index 2d5bb8722ba831..6bf2be9a17cc08 100644 --- a/ports/qtwebchannel/vcpkg.json +++ b/ports/qtwebchannel/vcpkg.json @@ -1,8 +1,9 @@ { "name": "qtwebchannel", - "version-semver": "6.2.1", - "description": "Qt WebChannel", + "version": "6.7.3", + "description": "Qt WebChannel enables peer-to-peer communication between a server (QML/C++ application) and a client (HTML/JavaScript or QML application).", "homepage": "https://www.qt.io/", + "license": null, "dependencies": [ { "name": "qtbase", diff --git a/ports/qtwebengine/clang-cl.patch b/ports/qtwebengine/clang-cl.patch new file mode 100644 index 00000000000000..03c87b84df77a0 --- /dev/null +++ b/ports/qtwebengine/clang-cl.patch @@ -0,0 +1,24 @@ +diff --git a/src/3rdparty/gn/build/build_win.ninja.template b/src/3rdparty/gn/build/build_win.ninja.template +index 7d2704c..b14186b 100644 +--- a/src/3rdparty/gn/build/build_win.ninja.template ++++ b/src/3rdparty/gn/build/build_win.ninja.template +@@ -8,5 +8,5 @@ rule alink_thin + description = LIB $out + + rule link +- command = $ld /nologo $in /link $ldflags /PDB:$out.pdb /OUT:$out $solibs $libs ++ command = $ld /nologo $in $ldflags /PDB:$out.pdb /OUT:$out $solibs $libs + description = LINK $out +diff --git a/src/gn/CMakeLists.txt b/src/gn/CMakeLists.txt +index 0fe3e4e..1e2556f 100644 +--- a/src/gn/CMakeLists.txt ++++ b/src/gn/CMakeLists.txt +@@ -31,7 +31,7 @@ find_package(Ninja 1.7.2 REQUIRED) + + if(WIN32) + set(GN_EXECUTABLE gn.exe) +- if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND NOT MINGW) ++ if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND NOT MINGW OR MSVC) + # Use lld-link instead of clang-cl. + set(GN_LINKER ${CMAKE_LINKER}) + endif() diff --git a/ports/qtwebengine/fix-error2275-2672.patch b/ports/qtwebengine/fix-error2275-2672.patch new file mode 100644 index 00000000000000..729a6e2f49da52 --- /dev/null +++ b/ports/qtwebengine/fix-error2275-2672.patch @@ -0,0 +1,13 @@ +diff --git a/src/3rdparty/chromium/v8/src/compiler/backend/instruction-selector.cc b/src/3rdparty/chromium/v8/src/compiler/backend/instruction-selector.cc +index ce06089..61534f1 100644 +--- a/src/3rdparty/chromium/v8/src/compiler/backend/instruction-selector.cc ++++ b/src/3rdparty/chromium/v8/src/compiler/backend/instruction-selector.cc +@@ -875,7 +875,7 @@ class InstructionSelectorT::CachedStateValuesBuilder { + InstructionSelectorT::CachedStateValues* Build(Zone* zone) { + DCHECK(CanCache()); + DCHECK(values_->nested_count() == nested_start_); +- return zone->New::CachedStateValues>( ++ return zone->New::CachedStateValues>( + zone, values_, values_start_, inputs_, inputs_start_); + } + diff --git a/ports/qtwebengine/portfile.cmake b/ports/qtwebengine/portfile.cmake index 0f3370cb1635ff..947765771a5e11 100644 --- a/ports/qtwebengine/portfile.cmake +++ b/ports/qtwebengine/portfile.cmake @@ -1,30 +1,41 @@ set(SCRIPT_PATH "${CURRENT_INSTALLED_DIR}/share/qtbase") include("${SCRIPT_PATH}/qt_install_submodule.cmake") -set(TOOL_NAMES gn QtWebEngineProcess qwebengine_convert_dict) +set(${PORT}_PATCHES + "clang-cl.patch" + "fix-error2275-2672.patch" +) + +set(TOOL_NAMES gn QtWebEngineProcess qwebengine_convert_dict webenginedriver) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES - "proprietary-codecs" FEATURE_webengine-proprietary-codecs - "spellchecker" FEATURE_webengine-spellchecker - "geolocation" FEATURE_webengine-geolocation - "webchannel" FEATURE_webengine-webchannel + "proprietary-codecs" FEATURE_webengine_proprietary_codecs + "spellchecker" FEATURE_webengine_spellchecker + "geolocation" FEATURE_webengine_geolocation + "webchannel" FEATURE_webengine_webchannel + "geolocation" CMAKE_REQUIRE_FIND_PACKAGE_Qt6Positioning + "webchannel" CMAKE_REQUIRE_FIND_PACKAGE_Qt6WebChannel INVERTED_FEATURES "geolocation" CMAKE_DISABLE_FIND_PACKAGE_Qt6Positioning "webchannel" CMAKE_DISABLE_FIND_PACKAGE_Qt6WebChannel ) if(VCPKG_TARGET_IS_OSX AND "spellchecker" IN_LIST FEATRUES) - list(APPEND FEATURE_OPTIONS "-DFEATURE_webengine-native-spellchecker=ON") + list(APPEND FEATURE_OPTIONS "-DFEATURE_webengine_native_spellchecker=ON") endif() # webengine-extensions # webengine-printing-and-pdf # webengine-pepper-plugins -set(deactivated_features webengine-webrtc webengine-webrtc-pipewire webengine-v8-snapshot-support) +set(deactivated_features webengine_webrtc_pipewire) foreach(_feat IN LISTS deactivated_features) list(APPEND FEATURE_OPTIONS "-DFEATURE_${_feat}=OFF") endforeach() +set(enabled_features webengine_webrtc) +foreach(_feat IN LISTS enabled_features) + list(APPEND FEATURE_OPTIONS "-DFEATURE_${_feat}=ON") +endforeach() if(VCPKG_TARGET_IS_LINUX) # qt_configure_add_summary_entry(ARGS "webengine-system-lcms2") @@ -32,14 +43,12 @@ if(VCPKG_TARGET_IS_LINUX) # + ALSA and PULSEAUDIO set(system_libs re2 icu libwebp opus ffmpeg libvpx snappy glib zlib minizip libevent protobuf libxml libpng libjpeg harfbuzz freetype) foreach(_sys_lib IN LISTS system_libs) - list(APPEND FEATURE_OPTIONS "-DFEATURE_webengine-system-${_sys_lib}=ON") + list(APPEND FEATURE_OPTIONS "-DFEATURE_webengine_system_${_sys_lib}=ON") endforeach() endif() vcpkg_find_acquire_program(FLEX) vcpkg_find_acquire_program(BISON) -vcpkg_find_acquire_program(GPERF) -vcpkg_find_acquire_program(PYTHON2) #vcpkg_find_acquire_program(GN) # Qt builds its own internal version @@ -49,18 +58,19 @@ if(NOT NODEJS) message(FATAL_ERROR "node not found! Please install it via your system package manager!") endif() -get_filename_component(GPERF_DIR "${GPERF}" DIRECTORY ) -vcpkg_add_to_path(PREPEND "${GPERF_DIR}") get_filename_component(NODEJS_DIR "${NODEJS}" DIRECTORY ) vcpkg_add_to_path(PREPEND "${NODEJS_DIR}") get_filename_component(FLEX_DIR "${FLEX}" DIRECTORY ) vcpkg_add_to_path(PREPEND "${FLEX_DIR}") get_filename_component(BISON_DIR "${BISON}" DIRECTORY ) vcpkg_add_to_path(PREPEND "${BISON_DIR}") -get_filename_component(PYTHON2_DIR "${PYTHON2}" DIRECTORY ) -vcpkg_add_to_path(PREPEND "${PYTHON2_DIR}") -if(WIN32) # WIN32 HOST probably has win_flex and win_bison! +x_vcpkg_get_python_packages(PYTHON_VERSION "3" PACKAGES html5lib OUT_PYTHON_VAR PYTHON3) + +vcpkg_add_to_path(PREPEND "${CURRENT_HOST_INSTALLED_DIR}/tools/gperf") +set(GPERF "${CURRENT_HOST_INSTALLED_DIR}/tools/gperf/gperf${VCPKG_HOST_EXECUTABLE_SUFFIX}") + +if(CMAKE_HOST_WIN32) # WIN32 HOST probably has win_flex and win_bison! if(NOT EXISTS "${FLEX_DIR}/flex${VCPKG_HOST_EXECUTABLE_SUFFIX}") file(CREATE_LINK "${FLEX}" "${FLEX_DIR}/flex${VCPKG_HOST_EXECUTABLE_SUFFIX}") endif() @@ -69,12 +79,18 @@ if(WIN32) # WIN32 HOST probably has win_flex and win_bison! endif() endif() -### Download third_party modules -vcpkg_from_git( - OUT_SOURCE_PATH SOURCE_PATH_WEBENGINE - URL git://code.qt.io/qt/qtwebengine-chromium.git - REF 6b7b3f1bf9f41c3ae7afc359c90c3cc80687f004 -) +string(LENGTH "${CURRENT_BUILDTREES_DIR}" buildtree_length) +# We know that C:/buildrees/${PORT} is to long to build Release. Debug works however. Means 24 length is too much but 23 might work. +if(buildtree_length GREATER 22 AND VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_ARCHITECTURE MATCHES "arm64") + message(WARNING "Buildtree path '${CURRENT_BUILDTREES_DIR}' is too long.\nConsider passing --x-buildtrees-root= to vcpkg!\nTrying to use '${CURRENT_BUILDTREES_DIR}/../tmp'") + set(CURRENT_BUILDTREES_DIR "${CURRENT_BUILDTREES_DIR}/../tmp") # activly avoid long path issues in CI. -> Means CI will not return logs + cmake_path(NORMAL_PATH CURRENT_BUILDTREES_DIR) + string(LENGTH "${CURRENT_BUILDTREES_DIR}" buildtree_length_new) + if(buildtree_length_new GREATER 22) + message(FATAL_ERROR "Buildtree path is too long. Build will fail! Pass --x-buildtrees-root= to vcpkg!") + endif() + file(MAKE_DIRECTORY "${CURRENT_BUILDTREES_DIR}") +endif() ##### qt_install_submodule set(qt_plugindir ${QT6_DIRECTORY_PREFIX}plugins) @@ -84,27 +100,30 @@ qt_download_submodule(PATCHES ${${PORT}_PATCHES}) if(QT_UPDATE_VERSION) return() endif() -if(NOT EXISTS "${SOURCE_PATH}/src/3rdparty/chromium") - file(RENAME "${SOURCE_PATH_WEBENGINE}/chromium" "${SOURCE_PATH}/src/3rdparty/chromium") -endif() -if(NOT EXISTS "${SOURCE_PATH}/src/3rdparty/gn") - file(RENAME "${SOURCE_PATH_WEBENGINE}/gn" "${SOURCE_PATH}/src/3rdparty/gn") -endif() -qt_cmake_configure(OPTIONS ${FEATURE_OPTIONS} +qt_cmake_configure( DISABLE_PARALLEL_CONFIGURE # due to in source changes. + OPTIONS ${FEATURE_OPTIONS} -DGPerf_EXECUTABLE=${GPERF} -DBISON_EXECUTABLE=${BISON} -DFLEX_EXECUTABLE=${FLEX} - #-DGn_EXECUTABLE=${GN} - -DPython2_EXECUTABLE=${PYTHON2} -DNodejs_EXECUTABLE=${NODEJS} + -DPython3_EXECUTABLE=${PYTHON3} + -DQT_FEATURE_webengine_jumbo_build=0 OPTIONS_DEBUG ${_qis_CONFIGURE_OPTIONS_DEBUG} OPTIONS_RELEASE ${_qis_CONFIGURE_OPTIONS_RELEASE}) -vcpkg_install_cmake(ADD_BIN_TO_PATH) +vcpkg_cmake_install(ADD_BIN_TO_PATH) qt_fixup_and_cleanup(TOOL_NAMES ${TOOL_NAMES}) +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_BUILD_TYPE) + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/debug/") + file(RENAME "${CURRENT_PACKAGES_DIR}/debug/bin/QtWebEngineProcessd.exe" "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/debug/QtWebEngineProcessd.exe") + file(RENAME "${CURRENT_PACKAGES_DIR}/debug/bin/QtWebEngineProcessd.pdb" "${CURRENT_PACKAGES_DIR}/tools/Qt6/bin/debug/QtWebEngineProcessd.pdb") +endif() + +file(RENAME "${CURRENT_PACKAGES_DIR}/resources" "${CURRENT_PACKAGES_DIR}/share/Qt6/resources") # qt.conf wants it there and otherwise the QtWebEngineProcess cannot start + qt_install_copyright("${SOURCE_PATH}") ##### qt_install_submodule diff --git a/ports/qtwebengine/vcpkg.json b/ports/qtwebengine/vcpkg.json index 71faea0ffe1e64..01205989978ea4 100644 --- a/ports/qtwebengine/vcpkg.json +++ b/ports/qtwebengine/vcpkg.json @@ -1,10 +1,11 @@ { "$comment": "x86-windows is not within the upstream support matrix of Qt6", "name": "qtwebengine", - "version-semver": "6.2.1", - "description": "Qt WebEngine", + "version": "6.7.3", + "description": "Qt WebEngine provides functionality for rendering regions of dynamic web content.", "homepage": "https://www.qt.io/", - "supports": "!static & !((arm | x86) & windows)", + "license": null, + "supports": "!static & !((x86 | arm) & windows)", "dependencies": [ { "name": "ffmpeg", @@ -22,6 +23,10 @@ "name": "glib", "platform": "!windows" }, + { + "name": "gperf", + "host": true + }, { "name": "harfbuzz", "platform": "!windows" @@ -52,13 +57,17 @@ }, { "name": "libxml2", + "default-features": false, + "features": [ + "icu" + ], "platform": "!windows" }, { "name": "minizip", "platform": "!windows" }, - "opengl-registry", + "opengl", { "name": "opus", "platform": "!windows" @@ -80,10 +89,6 @@ "name": "qtdeclarative", "default-features": false }, - { - "name": "qtdeclarative", - "default-features": false - }, { "name": "qttools", "default-features": false @@ -102,6 +107,10 @@ "name": "snappy", "platform": "!windows" }, + { + "name": "vcpkg-get-python-packages", + "host": true + }, { "name": "vcpkg-tool-nodejs", "host": true @@ -138,7 +147,10 @@ "dependencies": [ { "name": "qtwebchannel", - "default-features": false + "default-features": false, + "features": [ + "qml" + ] } ] } diff --git a/ports/qtwebsockets/portfile.cmake b/ports/qtwebsockets/portfile.cmake index 9ad5b29e39d465..f07e0c6e2e9fe5 100644 --- a/ports/qtwebsockets/portfile.cmake +++ b/ports/qtwebsockets/portfile.cmake @@ -6,6 +6,7 @@ set(${PORT}_PATCHES) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES + "qml" CMAKE_REQUIRE_FIND_PACKAGE_Qt6Quick INVERTED_FEATURES "qml" CMAKE_DISABLE_FIND_PACKAGE_Qt6Quick ) diff --git a/ports/qtwebsockets/vcpkg.json b/ports/qtwebsockets/vcpkg.json index c2274ce1c13385..92be09d7572e14 100644 --- a/ports/qtwebsockets/vcpkg.json +++ b/ports/qtwebsockets/vcpkg.json @@ -1,8 +1,9 @@ { "name": "qtwebsockets", - "version-semver": "6.2.1", - "description": "Qt WebSockets", + "version": "6.7.3", + "description": "The Qt WebSockets module provides C++ and QML interfaces that enable Qt applications to act as a server that can process WebSocket requests, or a client that can consume data received from the server, or both.", "homepage": "https://www.qt.io/", + "license": null, "dependencies": [ { "name": "qtbase", diff --git a/ports/qtwebview/portfile.cmake b/ports/qtwebview/portfile.cmake index 7385e5bf29ac6c..23218658c53d73 100644 --- a/ports/qtwebview/portfile.cmake +++ b/ports/qtwebview/portfile.cmake @@ -6,14 +6,13 @@ set(${PORT}_PATCHES) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES + "webengine" CMAKE_REQUIRE_FIND_PACKAGE_WebEngineCore INVERTED_FEATURES - "qml" CMAKE_DISABLE_FIND_PACKAGE_Qt6Quick - "qml" CMAKE_DISABLE_FIND_PACKAGE_Qt6WebEngineQuick "webengine" CMAKE_DISABLE_FIND_PACKAGE_WebEngineCore ) qt_install_submodule(PATCHES ${${PORT}_PATCHES} - CONFIGURE_OPTIONS + CONFIGURE_OPTIONS ${FEATURE_OPTIONS} CONFIGURE_OPTIONS_RELEASE CONFIGURE_OPTIONS_DEBUG ) diff --git a/ports/qtwebview/vcpkg.json b/ports/qtwebview/vcpkg.json index aebc8c27e76e86..c3538e242b8e41 100644 --- a/ports/qtwebview/vcpkg.json +++ b/ports/qtwebview/vcpkg.json @@ -1,8 +1,9 @@ { "name": "qtwebview", - "version-semver": "6.2.1", - "description": "Qt Web View", + "version": "6.7.3", + "description": "Qt WebView provides a way to display web content in a QML application without necessarily including a full web browser stack by using native APIs where it makes sense.", "homepage": "https://www.qt.io/", + "license": null, "dependencies": [ { "name": "qtbase", @@ -10,20 +11,16 @@ "features": [ "gui" ] + }, + { + "name": "qtdeclarative", + "default-features": false } ], "features": { - "qml": { - "description": "Build QML imports", - "dependencies": [ - { - "name": "qtdeclarative", - "default-features": false - } - ] - }, "webengine": { "description": "Build with Webengine", + "supports": "!static", "dependencies": [ { "name": "qtwebengine", diff --git a/ports/quadtree/portfile.cmake b/ports/quadtree/portfile.cmake index 01e6b371a84cb2..e6623c99d23e60 100644 --- a/ports/quadtree/portfile.cmake +++ b/ports/quadtree/portfile.cmake @@ -1,12 +1,12 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO pvigier/Quadtree - REF fec2e1a011f656353ba12c58cefe33482e1a27b5 - SHA512 8291afb29b9ff5714125e411122f6f10e1c2e4c2109384e25afa834548dc1f63c90b2d09c7cfed213ad69a8c54cf32fc598783b3ff0882bc86562594895d5c35 + REF a28cb41eeee3f020eb807cf9d7fd5859f62bbacd + SHA512 52fcf3b48d87f18a05feb216f5439eba3f19608b4453c27a3c689242ba638588c054c7b5a39f0686073314ed6ac53717a37b6cdc66f9cd6e5d96f0fe84d90d54 HEAD_REF master ) -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH ${SOURCE_PATH} OPTIONS -DCODE_COVERAGE=OFF diff --git a/ports/quadtree/vcpkg.json b/ports/quadtree/vcpkg.json index 49004d6907960d..bc8275e2c90452 100644 --- a/ports/quadtree/vcpkg.json +++ b/ports/quadtree/vcpkg.json @@ -1,7 +1,13 @@ { "name": "quadtree", - "version-string": "2020-04-13", - "port-version": 1, + "version-date": "2022-04-24", "description": "A simple and modern C++ quadtree implementation", - "homepage": "https://github.com/pvigier/Quadtree" + "homepage": "https://github.com/pvigier/Quadtree", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/quantlib/portfile.cmake b/ports/quantlib/portfile.cmake index 5f110915cfa11d..dda00336f9a46e 100644 --- a/ports/quantlib/portfile.cmake +++ b/ports/quantlib/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO lballabio/QuantLib - REF QuantLib-v1.24 - SHA512 1a63d90363cda69e20e40a60a2d6357f632fac997df520b949e73feb256dac8a999395d0ebe94734ac630e9104e512b0a545f6a2111b287a41e9128127aa5bb0 + REF "v${VERSION}" + SHA512 5c8cf1cc28a23d6586a542746ac61264dfdbe88c5a92a1292dfe19fadcdb23729fbbdca44da2fdd2917a48f0ba864c79c525d4e9ac5bbaef58e03a7ddaa177b0 HEAD_REF master ) @@ -11,20 +11,27 @@ if (VCPKG_TARGET_IS_WINDOWS) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) endif() -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DQL_BUILD_BENCHMARK=OFF -DQL_BUILD_EXAMPLES=OFF -DQL_BUILD_TEST_SUITE=OFF ) -vcpkg_install_cmake() - +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME QuantLib CONFIG_PATH lib/cmake/QuantLib) +vcpkg_fixup_pkgconfig() vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +# Remove the "bin" directories if we are building static libraries +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") +endif() + +# Install custom usage +configure_file("${CMAKE_CURRENT_LIST_DIR}/usage" "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" @ONLY) # Handle copyright -configure_file(${SOURCE_PATH}/LICENSE.TXT ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) +file(INSTALL "${SOURCE_PATH}/LICENSE.TXT" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/quantlib/usage b/ports/quantlib/usage new file mode 100644 index 00000000000000..e121873e2dffd2 --- /dev/null +++ b/ports/quantlib/usage @@ -0,0 +1,4 @@ +The package quantlib provides CMake targets: + + find_package(QuantLib CONFIG REQUIRED) + target_link_libraries(main PRIVATE QuantLib::QuantLib) diff --git a/ports/quantlib/vcpkg.json b/ports/quantlib/vcpkg.json index e4d37e94445a37..69baacd8a93a1a 100644 --- a/ports/quantlib/vcpkg.json +++ b/ports/quantlib/vcpkg.json @@ -1,17 +1,16 @@ { "name": "quantlib", - "version": "1.24", + "version": "1.36", "description": "The QuantLib C++ library", "homepage": "https://www.quantlib.org/", + "license": "BSD-3-Clause", "supports": "!(windows & !static)", "dependencies": [ "boost-accumulators", "boost-algorithm", "boost-any", - "boost-array", "boost-assert", - "boost-assign", - "boost-atomic", + "boost-bimap", "boost-bind", "boost-config", "boost-core", @@ -21,22 +20,24 @@ "boost-function", "boost-functional", "boost-iterator", - "boost-lexical-cast", "boost-math", "boost-multi-array", "boost-multiprecision", "boost-optional", "boost-preprocessor", - "boost-random", - "boost-serialization", - "boost-signals2", "boost-smart-ptr", - "boost-test", - "boost-thread", "boost-tuple", "boost-type-traits", "boost-ublas", "boost-unordered", - "boost-utility" + "boost-utility", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/quaternions/vcpkg.json b/ports/quaternions/vcpkg.json index b6d8b22e2c72ef..d4a51b77f26d3f 100644 --- a/ports/quaternions/vcpkg.json +++ b/ports/quaternions/vcpkg.json @@ -1,7 +1,7 @@ { "name": "quaternions", - "version-string": "1.0.0", - "port-version": 1, + "version": "1.0.0", + "port-version": 2, "description": "A C++11 library to work with quaternions, as a single header file.", "homepage": "https://github.com/ferd36/quaternions", "dependencies": [ diff --git a/ports/quazip/portfile.cmake b/ports/quazip/portfile.cmake index d074c780c9b918..d2f0769cb55b4c 100644 --- a/ports/quazip/portfile.cmake +++ b/ports/quazip/portfile.cmake @@ -1,17 +1,29 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO stachenov/quazip - REF v1.1 - SHA512 418516759e993c2e5636422c6a14e2caf95f836698b91d2188df5ef9b97879ee326255273793fc802325e14f378cbe2baad7e6ec2e1732e19bf238f70891f22c + REF v1.4 + SHA512 38ce3aa77df1fd92229454e56b7290c066d1e319afa36a9f8ec8477004ae94df682e8f454f13cdaf586a1d0b0e033fe698081033a19536ecd53dd1e4b0204af9 +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + bzip2 QUAZIP_BZIP2 ) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} + -DQUAZIP_QT_MAJOR_VERSION=6 + -DQUAZIP_FETCH_LIBS=OFF ) vcpkg_cmake_install() -vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/QuaZip-Qt5-1.1) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/QuaZip-Qt6-1.4 PACKAGE_NAME quazip-qt6) vcpkg_copy_pdbs() +# Qt6 pkg-config files not installed https://github.com/microsoft/vcpkg/issues/25988 +# vcpkg_fixup_pkgconfig() +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/pkgconfig" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}/" RENAME copyright) \ No newline at end of file diff --git a/ports/quazip/vcpkg.json b/ports/quazip/vcpkg.json index deae1dcae42c6b..5a144c8a6e8e21 100644 --- a/ports/quazip/vcpkg.json +++ b/ports/quazip/vcpkg.json @@ -1,10 +1,20 @@ { "name": "quazip", - "version": "1.1", + "version": "1.4", + "port-version": 1, "description": "Qt/C++ wrapper over minizip", "homepage": "https://stachenov.github.io/quazip/", + "license": "LGPL-2.1-or-later", + "supports": "!xbox", "dependencies": [ - "qt5-base", + { + "name": "qt5compat", + "default-features": false + }, + { + "name": "qtbase", + "default-features": false + }, { "name": "vcpkg-cmake", "host": true @@ -14,5 +24,13 @@ "host": true }, "zlib" - ] + ], + "features": { + "bzip2": { + "description": "BZIP2 compression", + "dependencies": [ + "bzip2" + ] + } + } } diff --git a/ports/quickfast/CMakeLists.txt b/ports/quickfast/CMakeLists.txt index 2464b6a25d98d1..65803d5d746ae0 100644 --- a/ports/quickfast/CMakeLists.txt +++ b/ports/quickfast/CMakeLists.txt @@ -1,6 +1,8 @@ cmake_minimum_required(VERSION 3.13) project(quickfast CXX) +set(CMAKE_CXX_STANDARD 11) # Boost v1.84.0 libraries require C++11 + option(BUILD_SHARED_LIBS "Build shared instead of static library" ON) find_package(Boost REQUIRED COMPONENTS thread) diff --git a/ports/quickfast/portfile.cmake b/ports/quickfast/portfile.cmake index bf4878bd34cbb8..8d62faba50469f 100644 --- a/ports/quickfast/portfile.cmake +++ b/ports/quickfast/portfile.cmake @@ -7,10 +7,10 @@ vcpkg_from_github( PATCHES 00001-fix-boost-asio.patch ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") if(NOT EXISTS "${SOURCE_PATH}/quickfast") - file(RENAME ${SOURCE_PATH}/src ${SOURCE_PATH}/quickfast) + file(RENAME "${SOURCE_PATH}/src" "${SOURCE_PATH}/quickfast") endif() file(GLOB_RECURSE SRC_FILES "${SOURCE_PATH}/quickfast/*.cpp" "${SOURCE_PATH}/quickfast/*.h") @@ -30,19 +30,19 @@ else() set(BUILD_SHARED_LIBS OFF) endif() -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + WINDOWS_USE_MSBUILD OPTIONS -DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} - PREFER_NINJA ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/quickfast) +vcpkg_cmake_config_fixup(CONFIG_PATH share/cmake/quickfast) -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(${SOURCE_PATH}/license.txt ${CURRENT_PACKAGES_DIR}/share/quickfast/copyright COPYONLY) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/quickfast) +configure_file("${SOURCE_PATH}/license.txt" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/quickfast/vcpkg.json b/ports/quickfast/vcpkg.json index 143f16f99a02ed..2e4b45b27c5cd5 100644 --- a/ports/quickfast/vcpkg.json +++ b/ports/quickfast/vcpkg.json @@ -1,11 +1,21 @@ { "name": "quickfast", - "version-string": "1.5", - "port-version": 1, + "version": "1.5", + "port-version": 4, "description": "QuickFAST is an Open Source native C++ implementation of the FAST Protocol [SM].", "homepage": "https://github.com/objectcomputing/quickfast", + "license": "BSD-3-Clause", "dependencies": [ "boost-asio", + "boost-thread", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, "xerces-c" ] } diff --git a/ports/quickfix/00001-fix-build.patch b/ports/quickfix/00001-fix-build.patch index aa14d7b5c3631e..27c09096b63f56 100644 --- a/ports/quickfix/00001-fix-build.patch +++ b/ports/quickfix/00001-fix-build.patch @@ -1,8 +1,13 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 48908ead..5022a019 100644 +index 48908ead..90c17759 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -96,9 +96,12 @@ add_subdirectory(UnitTest++) +@@ -92,13 +92,13 @@ include_directories(${PYTHON_INCLUDE_DIRS}) + endif () + + if( WIN32 OR ${CMAKE_SYSTEM_NAME} STREQUAL "Linux" ) +-add_subdirectory(UnitTest++) ++#add_subdirectory(UnitTest++) endif() add_subdirectory(src) @@ -11,12 +16,21 @@ index 48908ead..5022a019 100644 if( WIN32) -add_subdirectory(test) +#add_subdirectory(test) -+target_compile_definitions(TestUnitTest++ PRIVATE _CRT_SECURE_NO_WARNINGS) -+target_compile_definitions(UnitTest++ PRIVATE _CRT_SECURE_NO_WARNINGS) -+target_compile_definitions(ut PRIVATE _WINSOCK_DEPRECATED_NO_WARNINGS) endif() install(DIRECTORY ${CMAKE_SOURCE_DIR}/spec/ DESTINATION share/quickfix +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index cb4a60c6..d21fa995 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -1,6 +1,6 @@ + add_subdirectory(C++) + +-if( WIN32 OR ${CMAKE_SYSTEM_NAME} STREQUAL "Linux" ) ++if(0) + + add_executable(at at.cpp getopt.c) + diff --git a/src/C++/CMakeLists.txt b/src/C++/CMakeLists.txt index 07774c97..27692631 100644 --- a/src/C++/CMakeLists.txt @@ -61,7 +75,7 @@ index 0aa2cd3e..2829e110 100644 #endif +#ifdef __cpp_noexcept_function_type -+#define QUICKFIX_THROW(...) noexcept(false) ++#define QUICKFIX_THROW(...) noexcept +#else +#define QUICKFIX_THROW(...) throw(__VA_ARGS__) +#endif diff --git a/ports/quickfix/portfile.cmake b/ports/quickfix/portfile.cmake index d41a13c7c7436d..6ae5f2991a6718 100644 --- a/ports/quickfix/portfile.cmake +++ b/ports/quickfix/portfile.cmake @@ -11,7 +11,7 @@ vcpkg_from_github( fix_wsl_symlink_error.patch ) -file(GLOB_RECURSE SRC_FILES RELATIVE ${SOURCE_PATH} +file(GLOB_RECURSE SRC_FILES RELATIVE "${SOURCE_PATH}" "${SOURCE_PATH}/src/*.cpp" "${SOURCE_PATH}/src/*.h" ) @@ -26,8 +26,8 @@ foreach(SRC_FILE IN LISTS SRC_FILES) file(WRITE "${SOURCE_PATH}/${SRC_FILE}" "${_contents}") endforeach() -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DHAVE_EMX=OFF -DHAVE_MYSQL=OFF @@ -36,15 +36,14 @@ vcpkg_configure_cmake( -DHAVE_PYTHON2=OFF -DHAVE_PYTHON3=OFF -DHAVE_SSL=ON - PREFER_NINJA ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/quickfix) +vcpkg_cmake_config_fixup(CONFIG_PATH share/cmake/quickfix) -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(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +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) diff --git a/ports/quickfix/vcpkg.json b/ports/quickfix/vcpkg.json index 5a6e940a3b69bd..5ee3acb467d049 100644 --- a/ports/quickfix/vcpkg.json +++ b/ports/quickfix/vcpkg.json @@ -1,10 +1,19 @@ { "name": "quickfix", - "version-string": "1.15.1", - "port-version": 5, + "version": "1.15.1", + "port-version": 9, "description": "QuickFIX is a free and open source implementation of the FIX protocol.", "homepage": "https://github.com/quickfix/quickfix", + "supports": "!uwp & !(osx & arm64)", "dependencies": [ - "openssl" + "openssl", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/quill/fix-c4189-warning.patch b/ports/quill/fix-c4189-warning.patch deleted file mode 100644 index 55ae52fc3e3de4..00000000000000 --- a/ports/quill/fix-c4189-warning.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/quill/CMakeLists.txt b/quill/CMakeLists.txt -index 76872c2..c173804 100644 ---- a/quill/CMakeLists.txt -+++ b/quill/CMakeLists.txt -@@ -148,6 +148,10 @@ if (QUILL_NO_EXCEPTIONS) - endif () - endif () - -+if (MSVC) -+ add_definitions(/wd4189) -+endif() -+ - # Add target sources - target_sources(${TARGET_NAME} PRIVATE ${SOURCE_FILES} ${HEADER_FILES}) - diff --git a/ports/quill/portfile.cmake b/ports/quill/portfile.cmake index 6bc0398c4240c5..21d70570ae21d3 100644 --- a/ports/quill/portfile.cmake +++ b/ports/quill/portfile.cmake @@ -1,35 +1,31 @@ -vcpkg_fail_port_install(ON_TARGET "uwp") - -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO odygrd/quill - REF v1.6.3 - SHA512 e75aca827fe0833422da0d38df482cbc39db0e43dcc3cb791f3e2649f7022dcc448831a5ede85daf6feada60a2d5eaf312a3411abbba92fb9d76466336a7244d + REF v${VERSION} + SHA512 75FF87FD0A51F9A35C748421589411B21449CEAFF930843A8A1142B0BA6B3C20821E29FA2CE7F746C4304F652D576DFB306CCA1627849911CA4B1D7ADD05332A HEAD_REF master - PATCHES - fix-c4189-warning.patch ) -vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} - OPTIONS - -DQUILL_FMT_EXTERNAL=ON -) +if(VCPKG_TARGET_IS_ANDROID) + set(ADDITIONAL_OPTIONS -DQUILL_NO_THREAD_NAME_SUPPORT=ON) +endif() + +vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${ADDITIONAL_OPTIONS}) vcpkg_cmake_install() + vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/quill) if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") file(RENAME "${CURRENT_PACKAGES_DIR}/debug/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}/pkgconfig" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig") endif() + vcpkg_fixup_pkgconfig() -vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/quill/TweakMe.h" "// #define QUILL_FMT_EXTERNAL" "#define QUILL_FMT_EXTERNAL") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -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/quill/vcpkg.json b/ports/quill/vcpkg.json index 9057a3ec89ebd9..f97ef757281af0 100644 --- a/ports/quill/vcpkg.json +++ b/ports/quill/vcpkg.json @@ -1,12 +1,10 @@ { "name": "quill", - "version-semver": "1.6.3", - "port-version": 3, - "description": "C++14 Asynchronous Low Latency Logging Library", + "version": "7.5.0", + "description": "Asynchronous Low Latency C++ Logging Library", "homepage": "https://github.com/odygrd/quill/", - "supports": "!(uwp | android)", + "license": "MIT", "dependencies": [ - "fmt", { "name": "vcpkg-cmake", "host": true diff --git a/ports/quirc/portfile.cmake b/ports/quirc/portfile.cmake index 225479cd4e20ef..c6ae60a1c0ebf2 100644 --- a/ports/quirc/portfile.cmake +++ b/ports/quirc/portfile.cmake @@ -3,24 +3,23 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO dlbeer/quirc - REF 7e7ab596e4d0988faf1c12ae89c354b114181c40 - SHA512 d10a783a33ffcc168a287b03250c5ac00b942ec724da641b13fe2ef3f456453b143146422b7e18129a75ce00f13d2d9e3097ac4620134d832de8be4adbbc61c2 + REF "v${VERSION}" + SHA512 0f694d16bc24012ef29a9aab8e48419bc7c346153ead3feed8e83845927f9683bb62b2e61c6872643f66b0c864c2e3c7e1a4ea4c657399b38cabfa687bedee82 HEAD_REF master ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets() +vcpkg_cmake_config_fixup() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/quirc/copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/quirc/vcpkg.json b/ports/quirc/vcpkg.json index 9297f736626f9e..f4790bd2ae0a8d 100644 --- a/ports/quirc/vcpkg.json +++ b/ports/quirc/vcpkg.json @@ -1,6 +1,17 @@ { "name": "quirc", - "version": "1.1", - "port-version": 2, - "description": "quirc is one of the C library available for scanning QR Codes" + "version": "1.2", + "description": "quirc is one of the C library available for scanning QR Codes", + "homepage": "https://github.com/dlbeer/quirc", + "license": null, + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/qwt/config.patch b/ports/qwt/config.patch new file mode 100644 index 00000000000000..88f8defcf194ff --- /dev/null +++ b/ports/qwt/config.patch @@ -0,0 +1,177 @@ +diff --git a/designer/designer.pro b/designer/designer.pro +index fa4d8c7fd..ce3f82081 100644 +--- a/designer/designer.pro ++++ b/designer/designer.pro +@@ -23,8 +23,8 @@ CONFIG( debug_and_release ) { + + message("debug_and_release: building the Qwt designer plugin in release mode only") + +- CONFIG -= debug_and_release +- CONFIG += release ++ # CONFIG -= debug_and_release ++ # CONFIG += release + } + + contains(QWT_CONFIG, QwtDesigner ) { +diff --git a/qwtbuild.pri b/qwtbuild.pri +index 9306b6ed0..5b51218b6 100644 +--- a/qwtbuild.pri ++++ b/qwtbuild.pri +@@ -54,12 +54,12 @@ win32 { + # might need a debug version. + # Enable debug_and_release + build_all if you want to build both. + +- CONFIG += debug_and_release +- CONFIG += build_all ++ # CONFIG += debug_and_release ++ # CONFIG += build_all + } + else { + +- CONFIG += release ++ # CONFIG += release + + VER_MAJ = $${QWT_VER_MAJ} + VER_MIN = $${QWT_VER_MIN} +diff --git a/qwtconfig.pri b/qwtconfig.pri +index 7da1485a0..b69b5ca71 100644 +--- a/qwtconfig.pri ++++ b/qwtconfig.pri +@@ -19,18 +19,19 @@ QWT_VERSION = $${QWT_VER_MAJ}.$${QWT_VER_MIN}.$${QWT_VER_PAT} + QWT_INSTALL_PREFIX = $$[QT_INSTALL_PREFIX] + + unix { +- QWT_INSTALL_PREFIX = /usr/local/qwt-$$QWT_VERSION ++ # QWT_INSTALL_PREFIX = /usr/local/qwt-$$QWT_VERSION + # QWT_INSTALL_PREFIX = /usr/local/qwt-$$QWT_VERSION-qt-$$QT_VERSION + } + + win32 { +- QWT_INSTALL_PREFIX = C:/Qwt-$$QWT_VERSION ++ # QWT_INSTALL_PREFIX = C:/Qwt-$$QWT_VERSION + # QWT_INSTALL_PREFIX = C:/Qwt-$$QWT_VERSION-qt-$$QT_VERSION + } + +-QWT_INSTALL_DOCS = $${QWT_INSTALL_PREFIX}/doc ++QWT_INSTALL_DOCS = $$[QT_INSTALL_DOCS]/doc +-QWT_INSTALL_HEADERS = $${QWT_INSTALL_PREFIX}/include ++QWT_INSTALL_HEADERS = $${QWT_INSTALL_PREFIX}/include/qwt +-QWT_INSTALL_LIBS = $${QWT_INSTALL_PREFIX}/lib ++QWT_INSTALL_LIBS = $$[QT_INSTALL_LIBS] ++QWT_INSTALL_BINS = $$[QT_INSTALL_BINS] + + ###################################################################### + # Designer plugin +@@ -42,7 +43,7 @@ QWT_INSTALL_LIBS = $${QWT_INSTALL_PREFIX}/lib + # runtime environment of designer/creator. + ###################################################################### + +-QWT_INSTALL_PLUGINS = $${QWT_INSTALL_PREFIX}/plugins/designer ++QWT_INSTALL_PLUGINS = $$[QT_INSTALL_PLUGINS]/designer + + # linux distributors often organize the Qt installation + # their way and QT_INSTALL_PREFIX doesn't offer a good +@@ -63,7 +64,7 @@ QWT_INSTALL_PLUGINS = $${QWT_INSTALL_PREFIX}/plugins/designer + # with every Qt upgrade. + ###################################################################### + +-QWT_INSTALL_FEATURES = $${QWT_INSTALL_PREFIX}/features ++QWT_INSTALL_FEATURES = $$[QT_INSTALL_DATA]/mkspecs/features + # QWT_INSTALL_FEATURES = $$[QT_INSTALL_PREFIX]/features + + ###################################################################### +@@ -72,7 +73,7 @@ QWT_INSTALL_FEATURES = $${QWT_INSTALL_PREFIX}/features + # it will be a static library. + ###################################################################### + +-QWT_CONFIG += QwtDll ++# QWT_CONFIG += QwtDll + + ###################################################################### + # QwtPlot enables all classes, that are needed to use the QwtPlot +@@ -114,7 +115,7 @@ QWT_CONFIG += QwtOpenGL + # Otherwise you have to build it from the designer directory. + ###################################################################### + +-QWT_CONFIG += QwtDesigner ++# QWT_CONFIG += QwtDesigner + + ###################################################################### + # Compile all Qwt classes into the designer plugin instead +@@ -137,7 +138,7 @@ win32 { + # Otherwise you have to build them from the examples directory. + ###################################################################### + +-QWT_CONFIG += QwtExamples ++# QWT_CONFIG += QwtExamples + + ###################################################################### + # The playground is primarily intended for the Qwt development +@@ -148,14 +149,14 @@ QWT_CONFIG += QwtExamples + # Otherwise you have to build them from the playground directory. + ###################################################################### + +-QWT_CONFIG += QwtPlayground ++# QWT_CONFIG += QwtPlayground + + ###################################################################### + # If you want to auto build the tests, enable the line below + # Otherwise you have to build them from the tests directory. + ###################################################################### + +-QWT_CONFIG += QwtTests ++# QWT_CONFIG += QwtTests + + ###################################################################### + # When Qt has been built as framework qmake wants +diff --git a/src/src.pro b/src/src.pro +index 762e4c49b..d70a1b62b 100644 +--- a/src/src.pro ++++ b/src/src.pro +@@ -49,27 +50,27 @@ contains(QWT_CONFIG, QwtFramework) { + include ( $${PWD}/src.pri ) + + # Install directives + + target.path = $${QWT_INSTALL_LIBS} + INSTALLS = target + + CONFIG(lib_bundle) { + + FRAMEWORK_HEADERS.version = Versions + FRAMEWORK_HEADERS.files = $${HEADERS} + FRAMEWORK_HEADERS.path = Headers + QMAKE_BUNDLE_DATA += FRAMEWORK_HEADERS + } + else { + + headers.files = $${HEADERS} + headers.path = $${QWT_INSTALL_HEADERS} + INSTALLS += headers + } + + contains(QWT_CONFIG, QwtPkgConfig) { + +- CONFIG += create_pc create_prl no_install_prl ++ CONFIG += create_pc create_prl + + QMAKE_PKGCONFIG_NAME = Qwt$${QWT_VER_MAJ} + QMAKE_PKGCONFIG_DESCRIPTION = Qt Widgets for Technical Applications +@@ -82,14 +81,14 @@ contains(QWT_CONFIG, QwtPkgConfig) { + greaterThan(QT_MAJOR_VERSION, 4) { + + QMAKE_PKGCONFIG_FILE = Qt$${QT_MAJOR_VERSION}$${QMAKE_PKGCONFIG_NAME} +- QMAKE_PKGCONFIG_REQUIRES = Qt5Widgets Qt5Concurrent Qt5PrintSupport ++ QMAKE_PKGCONFIG_REQUIRES = Qt$${QT_MAJOR_VERSION}Widgets Qt$${QT_MAJOR_VERSION}Concurrent Qt$${QT_MAJOR_VERSION}PrintSupport + + contains(QWT_CONFIG, QwtSvg) { +- QMAKE_PKGCONFIG_REQUIRES += Qt5Svg ++ QMAKE_PKGCONFIG_REQUIRES += Qt$${QT_MAJOR_VERSION}Svg + } + + contains(QWT_CONFIG, QwtOpenGL) { +- QMAKE_PKGCONFIG_REQUIRES += Qt5OpenGL ++ QMAKE_PKGCONFIG_REQUIRES += Qt$${QT_MAJOR_VERSION}OpenGL + } + + QMAKE_DISTCLEAN += $${DESTDIR}/$${QMAKE_PKGCONFIG_DESTDIR}/$${QMAKE_PKGCONFIG_FILE}.pc diff --git a/ports/qwt/fix_dll_install.patch b/ports/qwt/fix_dll_install.patch new file mode 100644 index 00000000000000..134531b7c488f8 --- /dev/null +++ b/ports/qwt/fix_dll_install.patch @@ -0,0 +1,28 @@ +diff --git a/src/src.pro b/src/src.pro +index 0ce903fe7..16524b8e2 100644 +--- a/src/src.pro ++++ b/src/src.pro +@@ -20,6 +20,7 @@ TEMPLATE = lib + TARGET = $$qwtLibraryTarget(qwt) + + DESTDIR = $${QWT_OUT_ROOT}/lib ++DLLDESTDIR = $${QWT_OUT_ROOT}/bin + + contains(QWT_CONFIG, QwtDll) { + +@@ -49,9 +50,13 @@ contains(QWT_CONFIG, QwtFramework) { + include ( $${PWD}/src.pri ) + + # Install directives +- ++win32 { ++ dlltarget.path = $${QWT_INSTALL_BINS} ++ INSTALLS += dlltarget ++} + target.path = $${QWT_INSTALL_LIBS} +-INSTALLS = target ++!static: target.CONFIG = no_dll ++INSTALLS += target + + CONFIG(lib_bundle) { + diff --git a/ports/qwt/portfile.cmake b/ports/qwt/portfile.cmake index 4383d3bd1b5ffc..c9146490bef48b 100644 --- a/ports/qwt/portfile.cmake +++ b/ports/qwt/portfile.cmake @@ -1,36 +1,38 @@ -vcpkg_from_sourceforge( - OUT_SOURCE_PATH SOURCE_PATH - REPO qwt/qwt - REF 6.2.0 - FILENAME "qwt-6.2.0.zip" - SHA512 a3946c6e23481b5a2193819a1c1298db5a069d514ca60de54accb3a249403f5acd778172ae6fae24fae252767b1e58deba524de6225462f1bafd7c947996aae9 -) - -vcpkg_configure_qmake( - SOURCE_PATH "${SOURCE_PATH}" - OPTIONS - CONFIG+=${VCPKG_LIBRARY_LINKAGE} -) - -if (VCPKG_TARGET_IS_WINDOWS) - vcpkg_install_qmake( - RELEASE_TARGETS sub-src-release_ordered - DEBUG_TARGETS sub-src-debug_ordered - ) -else () - vcpkg_install_qmake( - RELEASE_TARGETS sub-src-all-ordered - DEBUG_TARGETS sub-src-all-ordered - ) -endif() - -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") -endif() - -#Install the header files -file(GLOB HEADER_FILES "${SOURCE_PATH}/src/*.h") -file(INSTALL ${HEADER_FILES} DESTINATION "${CURRENT_PACKAGES_DIR}/include/${PORT}") - -# Handle copyright -file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_from_sourceforge( + OUT_SOURCE_PATH SOURCE_PATH + REPO qwt/qwt + REF ${VERSION} + FILENAME "qwt-${VERSION}.zip" + SHA512 4008c3e4dace0f18e572b473a51a293bb896abbd62b9c5f0a92734b2121923d2e2cbf67c997b84570a13bf4fdd7669b56497c82fbae35049ed856b2f0a65e475 + PATCHES + config.patch + fix_dll_install.patch +) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" IS_DYNAMIC) +set(OPTIONS "") +if(IS_DYNAMIC) + list(APPEND OPTIONS "QWT_CONFIG+=QwtDll") +endif() +vcpkg_qmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + QMAKE_OPTIONS + ${OPTIONS} + "CONFIG-=debug_and_release" + "CONFIG+=create_prl" + "CONFIG+=link_prl" +) +vcpkg_qmake_install() +vcpkg_copy_pdbs() + +# Qt6 pkg-config files not installed https://github.com/microsoft/vcpkg/issues/25988 +# vcpkg_fixup_pkgconfig() +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/pkgconfig" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig") + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") +endif() + +file(COPY "${CMAKE_CURRENT_LIST_DIR}/unofficial-qwt-config.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/unofficial-qwt") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/qwt/unofficial-qwt-config.cmake b/ports/qwt/unofficial-qwt-config.cmake new file mode 100644 index 00000000000000..c04a5ebe834dfe --- /dev/null +++ b/ports/qwt/unofficial-qwt-config.cmake @@ -0,0 +1,48 @@ +include(CMakeFindDependencyMacro) + +if(NOT TARGET unofficial::qwt::qwt) + find_dependency(Qt6 COMPONENTS Core Gui Widgets Svg OpenGL Concurrent PrintSupport OpenGLWidgets) + + find_file(qwt_LIBRARY_RELEASE_DLL NAMES qwt.dll PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/bin" NO_DEFAULT_PATH) + find_file(qwt_LIBRARY_DEBUG_DLL NAMES qwtd.dll PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/bin" NO_DEFAULT_PATH) + + if(EXISTS "${qwt_LIBRARY_RELEASE_DLL}") + add_library(unofficial::qwt::qwt SHARED IMPORTED) + set_target_properties(unofficial::qwt::qwt PROPERTIES INTERFACE_COMPILE_DEFINITIONS QWT_DLL) + set_property(TARGET unofficial::qwt::qwt APPEND PROPERTY IMPORTED_CONFIGURATIONS "Release") + find_library(qwt_LIBRARY_RELEASE NAMES qwt PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib" NO_DEFAULT_PATH REQUIRED) + set_target_properties(unofficial::qwt::qwt PROPERTIES IMPORTED_IMPLIB_RELEASE "${qwt_LIBRARY_RELEASE}") + set_target_properties(unofficial::qwt::qwt PROPERTIES IMPORTED_LOCATION_RELEASE "${qwt_LIBRARY_RELEASE_DLL}") + if(EXISTS "${qwt_LIBRARY_DEBUG_DLL}") + set_property(TARGET unofficial::qwt::qwt APPEND PROPERTY IMPORTED_CONFIGURATIONS "Debug") + find_library(qwt_LIBRARY_DEBUG NAMES qwtd PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/lib" NO_DEFAULT_PATH REQUIRED) + set_target_properties(unofficial::qwt::qwt PROPERTIES IMPORTED_IMPLIB_DEBUG "${qwt_LIBRARY_DEBUG}") + set_target_properties(unofficial::qwt::qwt PROPERTIES IMPORTED_LOCATION_DEBUG "${qwt_LIBRARY_DEBUG_DLL}") + endif() + else() + add_library(unofficial::qwt::qwt UNKNOWN IMPORTED) + find_library(qwt_LIBRARY_RELEASE NAMES qwt PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib" NO_DEFAULT_PATH) + if(EXISTS "${qwt_LIBRARY_RELEASE}") + set_property(TARGET unofficial::qwt::qwt APPEND PROPERTY IMPORTED_CONFIGURATIONS "Release") + set_target_properties(unofficial::qwt::qwt PROPERTIES IMPORTED_LOCATION_RELEASE "${qwt_LIBRARY_RELEASE}") + endif() + find_library(qwt_LIBRARY_DEBUG NAMES qwtd PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/lib" NO_DEFAULT_PATH) + if(EXISTS "${qwt_LIBRARY_DEBUG}") + set_property(TARGET unofficial::qwt::qwt APPEND PROPERTY IMPORTED_CONFIGURATIONS "Debug") + set_target_properties(unofficial::qwt::qwt PROPERTIES IMPORTED_LOCATION_DEBUG "${qwt_LIBRARY_DEBUG}") + endif() + endif() + + set_target_properties(unofficial::qwt::qwt PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include" + ) + target_link_libraries(unofficial::qwt::qwt + INTERFACE + Qt::Widgets + Qt::Svg + Qt::Concurrent + Qt::PrintSupport + Qt::OpenGL + Qt::OpenGLWidgets + ) +endif() \ No newline at end of file diff --git a/ports/qwt/vcpkg.json b/ports/qwt/vcpkg.json index f837b6adbc0627..860190b082c94a 100644 --- a/ports/qwt/vcpkg.json +++ b/ports/qwt/vcpkg.json @@ -1,14 +1,25 @@ { "name": "qwt", - "version-semver": "6.2.0", - "description": "qt widgets library for technical applications", + "version": "6.3.0", + "description": "Widgets library for technical applications", "homepage": "https://sourceforge.net/projects/qwt", + "license": null, "dependencies": [ { - "name": "qt5-base", - "default-features": false + "name": "qtbase", + "default-features": false, + "features": [ + "concurrent", + "gui", + "opengl", + "widgets" + ] }, - "qt5-svg", - "qt5-tools" + "qtsvg", + { + "name": "vcpkg-qmake", + "host": true, + "default-features": false + } ] } diff --git a/ports/qwtw/portfile.cmake b/ports/qwtw/portfile.cmake index 27dd91786110de..f1e98bde1449c5 100644 --- a/ports/qwtw/portfile.cmake +++ b/ports/qwtw/portfile.cmake @@ -1,5 +1,3 @@ -vcpkg_fail_port_install(ON_TARGET "LINUX" "OSX" "UWP" "ANDROID" ON_ARCH "arm" "x86" ON_LIBRARY_LINKAGE "static") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ig-or/qwtw @@ -7,12 +5,11 @@ vcpkg_from_github( SHA512 de5abf26d0975b9f0ed88e10cd4d5b4d12e25cce8c87ab6a18d8e7064697de6fc8da83e118b5a4e2819c09e2dbbfd20daeecc6a42748c019c6699666276d075a HEAD_REF master ) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/qwtw/vcpkg.json b/ports/qwtw/vcpkg.json index 2fa18ec80dcf15..6ecdf89907f013 100644 --- a/ports/qwtw/vcpkg.json +++ b/ports/qwtw/vcpkg.json @@ -1,7 +1,7 @@ { "name": "qwtw", - "version-string": "3.1.0", - "port-version": 1, + "version": "3.1.0", + "port-version": 3, "description": "qwt-based 2D plotting library", "homepage": "https://github.com/ig-or/qwtw", "supports": "windows & x64 & !static", @@ -18,6 +18,14 @@ "qt5-base", "qt5-networkauth", "qt5-svg", - "qwt" + "qwt", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/rabit/portfile.cmake b/ports/rabit/portfile.cmake index b8846b22ecd0da..06f0cb1bd49023 100644 --- a/ports/rabit/portfile.cmake +++ b/ports/rabit/portfile.cmake @@ -11,24 +11,22 @@ vcpkg_from_github( PATCHES fix-file-conflict.patch ) -file(REMOVE_RECURSE ${SOURCE_PATH}/include/dmlc) +file(REMOVE_RECURSE "${SOURCE_PATH}/include/dmlc") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DRABIT_BUILD_TESTS=OFF -DRABIT_BUILD_MPI=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) vcpkg_copy_pdbs() # Handle copyright -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/rabit/vcpkg.json b/ports/rabit/vcpkg.json index a7635dfa667a1e..a979746a602016 100644 --- a/ports/rabit/vcpkg.json +++ b/ports/rabit/vcpkg.json @@ -1,11 +1,19 @@ { "name": "rabit", - "version-string": "0.1", - "port-version": 3, + "version": "0.1", + "port-version": 5, "description": "rabit is a light weight library that provides a fault tolerant interface of Allreduce and Broadcast. It is designed to support easy implementations of distributed machine learning programs, many of which fall naturally under the Allreduce abstraction.", "homepage": "https://github.com/dmlc/rabit", "supports": "!uwp", "dependencies": [ - "dmlc" + "dmlc", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/ragel/portfile.cmake b/ports/ragel/portfile.cmake index 69c47a1cdd6ff2..c89f27e1af81b8 100644 --- a/ports/ragel/portfile.cmake +++ b/ports/ragel/portfile.cmake @@ -4,26 +4,24 @@ vcpkg_download_distfile(ARCHIVE SHA512 6c1fe4f6fa8546ae28b92ccfbae94355ff0d3cea346b9ae8ce4cf6c2bdbeb823e0ccd355332643ea72d3befd533a8b3030ddbf82be7ffa811c2c58cbb01aaa38 ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" PATCHES 0001-remove-unistd-h.patch ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/config.h DESTINATION ${SOURCE_PATH}/ragel) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") +file(COPY "${CMAKE_CURRENT_LIST_DIR}/config.h" DESTINATION "${SOURCE_PATH}/ragel") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() # Allow empty include directory set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) # Handle copyright -file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/ragel) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/ragel/COPYING ${CURRENT_PACKAGES_DIR}/share/ragel/copyright) +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/ragel/vcpkg.json b/ports/ragel/vcpkg.json index e55e333d8d5b8c..cc6d62c38884d2 100644 --- a/ports/ragel/vcpkg.json +++ b/ports/ragel/vcpkg.json @@ -1,7 +1,17 @@ { "name": "ragel", - "version-string": "6.10", - "port-version": 4, + "version": "6.10", + "port-version": 6, "description": "Ragel State Machine Compiler", - "homepage": "https://www.colm.net/files/ragel" + "homepage": "https://www.colm.net/files/ragel", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/random123/portfile.cmake b/ports/random123/portfile.cmake new file mode 100644 index 00000000000000..31e0049ad47047 --- /dev/null +++ b/ports/random123/portfile.cmake @@ -0,0 +1,23 @@ +# Random123 - Header-only library + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO "DEShawResearch/random123" + REF "v1.14.0" + SHA512 1c7d139193f5404e5d14d229f55e0a14b11de596a4cfbf0a39c1419f5ae146055dccc61e9430f724a2d7c1efb8bd01edb72866d4f4705508fcc6ebda6e90e91e + HEAD_REF "main" + ) + +# Copy the headers that define this package to the install location. +file(GLOB header_files + "${SOURCE_PATH}/include/Random123/*.h" + "${SOURCE_PATH}/include/Random123/*.hpp") +file(COPY ${header_files} + "${SOURCE_PATH}/include/Random123/features" + "${SOURCE_PATH}/include/Random123/conventional" + DESTINATION "${CURRENT_PACKAGES_DIR}/include/Random123") + +# Handle copyright +file(INSTALL "${SOURCE_PATH}/LICENSE" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" + RENAME copyright) diff --git a/ports/random123/vcpkg.json b/ports/random123/vcpkg.json new file mode 100644 index 00000000000000..dd5bf9db54ae6d --- /dev/null +++ b/ports/random123/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "random123", + "version": "1.14.0", + "description": "Random123 is a library of 'counter-based' random number generators (CBRNGs), in which the Nth random number can be obtained by applying a stateless mixing function to N instead of the conventional approach of using N iterations of a stateful transformation.", + "homepage": "http://www.deshawresearch.com/resources_random123.html", + "license": "BSD-3-Clause" +} diff --git a/ports/randomstr/portfile.cmake b/ports/randomstr/portfile.cmake new file mode 100644 index 00000000000000..20b7425fe1273c --- /dev/null +++ b/ports/randomstr/portfile.cmake @@ -0,0 +1,18 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO offscale/c89randomstr + REF 9d577c4343913a330ef32b93ed12b8942808bbbc + SHA512 7adfac8000d9057b9ca230f794bff82e1628864140e08d393e3faff890848606fff72c3dd2b296a20bf3003ed035e9e4273a0599764f515b7a6ac7091e9d2949 + HEAD_REF master +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + "-DBUILD_TESTING=OFF" +) +vcpkg_cmake_install() +file(INSTALL "${SOURCE_PATH}/COPYING" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" + RENAME copyright) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") diff --git a/ports/randomstr/vcpkg.json b/ports/randomstr/vcpkg.json new file mode 100644 index 00000000000000..29ea9f92ae5afe --- /dev/null +++ b/ports/randomstr/vcpkg.json @@ -0,0 +1,16 @@ +{ + "name": "randomstr", + "version-date": "2022-02-03", + "description": "Simple randomstr function in a header-only C89 library", + "license": "0BSD", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/range-v3-vs2015/portfile.cmake b/ports/range-v3-vs2015/portfile.cmake index 004711ab229031..2630bf805912c3 100644 --- a/ports/range-v3-vs2015/portfile.cmake +++ b/ports/range-v3-vs2015/portfile.cmake @@ -1,3 +1,6 @@ +if(EXISTS ${CURRENT_INSTALLED_DIR}/share/range-v3/copyright) + message(FATAL_ERROR "'${PORT}' conflicts with 'range-v3'. Please remove range-v3:${TARGET_TRIPLET}, and try to install ${PORT}:${TARGET_TRIPLET} again.") +endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Microsoft/Range-V3-VS2015 @@ -6,7 +9,7 @@ vcpkg_from_github( HEAD_REF master ) -file(COPY ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/range-v3-vs2015) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") file(RENAME ${CURRENT_PACKAGES_DIR}/share/range-v3-vs2015/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/range-v3-vs2015/copyright) file(INSTALL ${SOURCE_PATH}/include DESTINATION ${CURRENT_PACKAGES_DIR} FILES_MATCHING PATTERN "*.hpp") vcpkg_copy_pdbs() diff --git a/ports/range-v3-vs2015/vcpkg.json b/ports/range-v3-vs2015/vcpkg.json index 289515dca67458..4b9c4ab80f1909 100644 --- a/ports/range-v3-vs2015/vcpkg.json +++ b/ports/range-v3-vs2015/vcpkg.json @@ -1,7 +1,7 @@ { "name": "range-v3-vs2015", - "version-string": "20151130-vcpkg5", - "port-version": 1, + "version": "20151130-vcpkg5", + "port-version": 3, "description": "Range library for C++11/14/17.", "homepage": "https://github.com/Microsoft/Range-V3-VS2015" } diff --git a/ports/range-v3/portfile.cmake b/ports/range-v3/portfile.cmake index 47129ff1782a7a..2103baf9fccd93 100644 --- a/ports/range-v3/portfile.cmake +++ b/ports/range-v3/portfile.cmake @@ -1,14 +1,16 @@ +if(EXISTS "${CURRENT_INSTALLED_DIR}/share/range-v3-vs2015/copyright") + message(FATAL_ERROR "'${PORT}' conflicts with 'range-v3-vs2015'. Please remove range-v3-vs2015:${TARGET_TRIPLET}, and try to install ${PORT}:${TARGET_TRIPLET} again.") +endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ericniebler/range-v3 - REF 4989f3e9ff2efee1852942bb9328ef121369ba02 # 0.11.0 - SHA512 da571feff60d20a42e1e0593f132d4ab095f3ffbecaf0c020f295a2ec8b75c6934abb1974679e55ce8b7b16d105e0cbf3929210677c3b1b90cb349e583854fd4 + REF a81477931a8aa2ad025c6bda0609f38e09e4d7ec # Dude, where's my bored ape? (0.12.0) + SHA512 e58030bc7c281e90298025dc21fed9bdabda358cd847b59e5b58feb3e0b93fcf6398e3b8e2912e45deeed67f454c08d4fc4df7f8d0dc378b437612f15c0832fe HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DRANGE_V3_TESTS=OFF -DRANGE_V3_EXAMPLES=OFF @@ -16,12 +18,16 @@ vcpkg_configure_cmake( -DRANGE_V3_HEADER_CHECKS=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/range-v3) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/range-v3) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib) +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug" + "${CURRENT_PACKAGES_DIR}/include/module.modulemap" + "${CURRENT_PACKAGES_DIR}/lib" +) vcpkg_copy_pdbs() -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/range-v3/vcpkg.json b/ports/range-v3/vcpkg.json index 6a5d15958936c6..6ff68280b92512 100644 --- a/ports/range-v3/vcpkg.json +++ b/ports/range-v3/vcpkg.json @@ -1,7 +1,18 @@ { "name": "range-v3", - "version-string": "0.11.0", - "port-version": 1, - "description": "Range library for C++11/14/17.", - "homepage": "https://github.com/ericniebler/range-v3" + "version": "0.12.0", + "port-version": 4, + "description": "Range library for C++14/17/20, basis for C++20's std::ranges", + "homepage": "https://github.com/ericniebler/range-v3", + "license": "BSL-1.0 AND MIT AND (NCSA OR MIT)", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/rapidcheck/portfile.cmake b/ports/rapidcheck/portfile.cmake index 544319ce50f752..88dc2e797f5625 100644 --- a/ports/rapidcheck/portfile.cmake +++ b/ports/rapidcheck/portfile.cmake @@ -3,23 +3,25 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO emil-e/rapidcheck - REF 7bc7d302191a4f3d0bf005692677126136e02f60 - SHA512 8631f1034a0a24293d61a91cbb8f8b69c70acde02d60377d0a68d045e4d57acb878aafbea76907574c0cc6cdac3a16d207d310b49d7c48ee7edbede3236ed15b + REF ff6af6fc683159deb51c543b065eba14dfcf329b + SHA512 79f1e869a3c55f62d3609cc4b3a56977f720c3eacf5e1792aa3a9bd5ab90aa077371bc0902d6c31503885f9ebcc633ed242ae6995866cb46fd12afdf425500e3 HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DRC_INSTALL_ALL_EXTRAS=ON ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/${PORT}/cmake) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH "share/${PORT}/cmake") vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() -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" +) -# Handle copyright -configure_file(${SOURCE_PATH}/LICENSE.md ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.md") diff --git a/ports/rapidcheck/vcpkg.json b/ports/rapidcheck/vcpkg.json index 60570b545e09fe..78ee241feedd62 100644 --- a/ports/rapidcheck/vcpkg.json +++ b/ports/rapidcheck/vcpkg.json @@ -1,7 +1,17 @@ { "name": "rapidcheck", - "version-string": "2020-08-25", - "port-version": 1, + "version-date": "2023-12-14", "description": "A property-based testing library for C++ (a la QuickCheck) with the goal of being simple to use with as little boilerplate as possible.", - "homepage": "https://github.com/emil-e/rapidcheck" + "homepage": "https://github.com/emil-e/rapidcheck", + "license": "BSD-2-Clause", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/rapidcsv/portfile.cmake b/ports/rapidcsv/portfile.cmake index 94ebf914ad6620..ca72327205462c 100644 --- a/ports/rapidcsv/portfile.cmake +++ b/ports/rapidcsv/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO d99kris/rapidcsv - REF v8.53 - SHA512 64a6100f1adf90eeaa4a513fbcf4ffd611a40b1f41b6e88eeda6c73c360e26c5a7cc6fc68a65bb2dff5f72ba663a976d2922e3114468dbd8c291c7eef211ae1f + REF "v${VERSION}" + SHA512 8fb03ad7e3b53f01c568deb7705a7185a66cfc1eb0245b0165d580a8f60a8972197cd5eac3cda115d9bbb3c06c89de25a84acad62d13d6ffb366d3f1155a1b9c HEAD_REF master ) diff --git a/ports/rapidcsv/vcpkg.json b/ports/rapidcsv/vcpkg.json index 79268aa9819683..42fdacc66ead39 100644 --- a/ports/rapidcsv/vcpkg.json +++ b/ports/rapidcsv/vcpkg.json @@ -1,8 +1,9 @@ { "name": "rapidcsv", - "version": "8.53", + "version": "8.84", "description": "Rapidcsv is a C++ header-only library for CSV parsing.", "homepage": "https://github.com/d99kris/rapidcsv/", + "license": "BSD-3-Clause", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/rapidfuzz/portfile.cmake b/ports/rapidfuzz/portfile.cmake new file mode 100644 index 00000000000000..3d5b2cea4bb04b --- /dev/null +++ b/ports/rapidfuzz/portfile.cmake @@ -0,0 +1,18 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO maxbachmann/rapidfuzz-cpp + REF "v${VERSION}" + SHA512 4e0a7e28a54612fb11eb331449aa4fdfde1fbd2bf59b295f9eb68903cd647a639fa04d71aa7a8c88ddb7be6646cd3d0f1f5400eb53644b0ae96590037e74f771 + HEAD_REF master +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/rapidfuzz/vcpkg.json b/ports/rapidfuzz/vcpkg.json new file mode 100644 index 00000000000000..79d2720acc64c0 --- /dev/null +++ b/ports/rapidfuzz/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "rapidfuzz", + "version": "3.0.5", + "description": "Rapid fuzzy string matching library for C++17 using the Levenshtein Distance.", + "homepage": "https://github.com/maxbachmann/rapidfuzz-cpp", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/rapidhash/portfile.cmake b/ports/rapidhash/portfile.cmake new file mode 100644 index 00000000000000..1ac8e5ef12d7bd --- /dev/null +++ b/ports/rapidhash/portfile.cmake @@ -0,0 +1,11 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Nicoshev/rapidhash + REF e795829fedad966b627b316183901d2670a40af8 + SHA512 78d80251bdc89c5122db91848b7dadfe7718c775c69e5e4e8c1a94726cabe67c30e5f4726a6aa9c3f5ecb08abd965bf1fb93a6eb2612681813ed8ba82b0decb4 + HEAD_REF master +) + +file(COPY "${SOURCE_PATH}/rapidhash.h" DESTINATION ${CURRENT_PACKAGES_DIR}/include) + +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/rapidhash/vcpkg.json b/ports/rapidhash/vcpkg.json new file mode 100644 index 00000000000000..8c6fcc349f4e4a --- /dev/null +++ b/ports/rapidhash/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "rapidhash", + "version-date": "2024-06-08", + "description": "Very fast, high quality, platform independent hashing algorithm.", + "homepage": "https://github.com/Nicoshev/rapidhash", + "license": "BSD-2-Clause" +} diff --git a/ports/rapidjson/portfile.cmake b/ports/rapidjson/portfile.cmake index 118aa0b42401f8..698fe0d5453700 100644 --- a/ports/rapidjson/portfile.cmake +++ b/ports/rapidjson/portfile.cmake @@ -2,29 +2,43 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Tencent/rapidjson - REF ce81bc9edfe773667a7a4454ba81dac72ed4364c # accessed on 2020-09-14 - SHA512 a1bbc5668fca9ee34b05ae424a5177b66beaf7b3b4cdfbb3cb067fc58ce91717b4030e2c268ad32e4aa4a7ef59ab5e3aae05ff71d0d91d463eafa7d2e077df07 + REF a95e013b97ca6523f32da23f5095fcc9dd6067e5 # accessed on 2023-07-17 + SHA512 19bf9a579df70cbeaf60c7ccf25c92c327bffe95b0df14f27f2132134d5bb214e98a45e021eb287c4790e301f84bb095e0bdb3c97f65a37fbeb254970d97c005 + FILE_DISAMBIGUATOR 2 HEAD_REF master ) # Use RapidJSON's own build process, skipping examples and tests -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DRAPIDJSON_BUILD_DOC:BOOL=OFF - -DRAPIDJSON_BUILD_EXAMPLES:BOOL=OFF - -DRAPIDJSON_BUILD_TESTS:BOOL=OFF - -DCMAKE_INSTALL_DIR:STRING=cmake + -DRAPIDJSON_BUILD_DOC=OFF + -DRAPIDJSON_BUILD_EXAMPLES=OFF + -DRAPIDJSON_BUILD_TESTS=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH cmake) +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_cmake_config_fixup(CONFIG_PATH cmake) +else() + vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/RapidJSON) +endif() -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib" "${CURRENT_PACKAGES_DIR}/debug" "${CURRENT_PACKAGES_DIR}/share/doc") +vcpkg_fixup_pkgconfig() -file(READ "${CURRENT_PACKAGES_DIR}/share/rapidjson/RapidJSONConfig.cmake" _contents) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/doc") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") + +if(VCPKG_TARGET_IS_WINDOWS) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug" "${CURRENT_PACKAGES_DIR}/lib") +endif() + +file(READ "${CURRENT_PACKAGES_DIR}/share/${PORT}/RapidJSONConfig.cmake" _contents) +string(REPLACE "VERSION 3.0" "VERSION 3.5" _contents "${_contents}") string(REPLACE "\${RapidJSON_SOURCE_DIR}" "\${RapidJSON_CMAKE_DIR}/../.." _contents "${_contents}") -file(WRITE "${CURRENT_PACKAGES_DIR}/share/rapidjson/RapidJSONConfig.cmake" "${_contents}\nset(RAPIDJSON_INCLUDE_DIRS \"\${RapidJSON_INCLUDE_DIRS}\")\n") +string(REPLACE "set( RapidJSON_SOURCE_DIR \"${SOURCE_PATH}\")" "" _contents "${_contents}") +string(REPLACE "set( RapidJSON_DIR \"${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel\")" "" _contents "${_contents}") +string(REPLACE "\${RapidJSON_CMAKE_DIR}/../../../include" "\${RapidJSON_CMAKE_DIR}/../../include" _contents "${_contents}") +file(WRITE "${CURRENT_PACKAGES_DIR}/share/${PORT}/RapidJSONConfig.cmake" "${_contents}\nset(RAPIDJSON_INCLUDE_DIRS \"\${RapidJSON_INCLUDE_DIRS}\")\n") -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/rapidjson/vcpkg.json b/ports/rapidjson/vcpkg.json index ef79ba87174057..5d1579f29cd516 100644 --- a/ports/rapidjson/vcpkg.json +++ b/ports/rapidjson/vcpkg.json @@ -1,7 +1,18 @@ { "name": "rapidjson", - "version-date": "2020-09-14", + "version-date": "2023-07-17", "port-version": 1, "description": "A fast JSON parser/generator for C++ with both SAX/DOM style API ", - "homepage": "http://rapidjson.org/" + "homepage": "http://rapidjson.org/", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/rapidxml-ns/vcpkg.json b/ports/rapidxml-ns/vcpkg.json index a0422d1eb69c65..4521213c0e139e 100644 --- a/ports/rapidxml-ns/vcpkg.json +++ b/ports/rapidxml-ns/vcpkg.json @@ -1,6 +1,6 @@ { "name": "rapidxml-ns", - "version-string": "1.13.2", - "port-version": 1, + "version": "1.13.2", + "port-version": 2, "description": "RapidXML with added XML namespaces support." } diff --git a/ports/rapidxml/vcpkg.json b/ports/rapidxml/vcpkg.json index d43ff6cf8cb603..3b6225ce5ecf3e 100644 --- a/ports/rapidxml/vcpkg.json +++ b/ports/rapidxml/vcpkg.json @@ -1,7 +1,7 @@ { "name": "rapidxml", - "version-string": "1.13", - "port-version": 5, + "version": "1.13", + "port-version": 6, "description": "RapidXml is an attempt to create the fastest XML parser possible, while retaining useability, portability and reasonable W3C compatibility.", "homepage": "https://sourceforge.net/projects/rapidxml" } diff --git a/ports/rappture/CMakeLists.txt b/ports/rappture/CMakeLists.txt index 57d7739258e359..1ddaaa781baa9e 100644 --- a/ports/rappture/CMakeLists.txt +++ b/ports/rappture/CMakeLists.txt @@ -80,23 +80,25 @@ set(HEADERS add_library(rappture ${SRC_RAPPTURE_CORE} ${HEADERS}) -target_include_directories(rappture PUBLIC - $ +set_property(TARGET rappture PROPERTY CXX_STANDARD 11) + +target_include_directories(rappture PUBLIC + $ $ ) find_package(expat CONFIG REQUIRED) find_package(ZLIB REQUIRED) -target_compile_definitions(rappture PUBLIC - -D_CRT_SECURE_NO_WARNINGS - -DRAPPTURE_VERSION=1.9 - -DSVN_VERSION=6713 +target_compile_definitions(rappture PUBLIC + -D_CRT_SECURE_NO_WARNINGS + -DRAPPTURE_VERSION=1.9 + -DSVN_VERSION=6713 -D_USE_MATH_DEFINES ) -target_link_libraries(rappture PRIVATE - expat::expat +target_link_libraries(rappture PRIVATE + expat::expat ZLIB::ZLIB ) diff --git a/ports/rappture/include_functional.patch b/ports/rappture/include_functional.patch new file mode 100644 index 00000000000000..b3606d220a2ab6 --- /dev/null +++ b/ports/rappture/include_functional.patch @@ -0,0 +1,12 @@ +diff --git a/src/core/RpUnits.h b/src/core/RpUnits.h +index a640205..e697424 100644 +--- a/src/core/RpUnits.h ++++ b/src/core/RpUnits.h +@@ -59,6 +59,7 @@ enum RP_UNITS_CONSTS { + #include + #include + #include ++#include + + #include "RpDict.h" + #include "RpUnitsStd.h" diff --git a/ports/rappture/portfile.cmake b/ports/rappture/portfile.cmake index e79ec308553930..7451fffa28659d 100644 --- a/ports/rappture/portfile.cmake +++ b/ports/rappture/portfile.cmake @@ -6,17 +6,18 @@ vcpkg_download_distfile(ARCHIVE SHA512 3b42569d056c5e80762eada3aff23d230d4ba8f6f0078de44d8571a713dde91e31e66fe3c37ceb66e934a1410b338fb481aeb5a29ef56b53da4ad2e8a2a2ae59 ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH +vcpkg_extract_source_archive( + SOURCE_PATH ARCHIVE ${ARCHIVE} PATCHES - "${CMAKE_CURRENT_LIST_DIR}/rappture.patch" + rappture.patch + include_functional.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} + SOURCE_PATH "${SOURCE_PATH}" ) vcpkg_cmake_install() @@ -26,10 +27,6 @@ vcpkg_cmake_config_fixup() vcpkg_copy_pdbs() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -file( - INSTALL ${SOURCE_PATH}/license.terms - DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} - RENAME copyright -) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/license.terms") diff --git a/ports/rappture/vcpkg.json b/ports/rappture/vcpkg.json index 68a1a5efa9467f..ab94b10d500bd7 100644 --- a/ports/rappture/vcpkg.json +++ b/ports/rappture/vcpkg.json @@ -1,8 +1,9 @@ { "name": "rappture", "version": "1.9", - "port-version": 1, + "port-version": 4, "description": "Rappture is a toolkit supporting Rapid application infrastructure, making it quick and easy to develop powerful scientific applications.", + "license": null, "dependencies": [ "expat", { diff --git a/ports/raygui/portfile.cmake b/ports/raygui/portfile.cmake new file mode 100644 index 00000000000000..3c82971729289d --- /dev/null +++ b/ports/raygui/portfile.cmake @@ -0,0 +1,14 @@ +#header-only library +set(VCPKG_BUILD_TYPE release) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO raysan5/raygui + REF "${VERSION}" + SHA512 8e59889af6b6163b9ff9930ae79bdfaab5015e39279d1a50d3f74c0f50b12b2015fdf17016b04d2c4f66420f4e631b25a51ede5c1627dfcde269457f55f34ff1 + HEAD_REF master +) + +file(INSTALL "${SOURCE_PATH}/src/raygui.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/raygui/vcpkg.json b/ports/raygui/vcpkg.json new file mode 100644 index 00000000000000..42ad32a5f46f58 --- /dev/null +++ b/ports/raygui/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "raygui", + "version": "4.0", + "description": "A simple and easy-to-use immediate-mode gui library", + "homepage": "https://github.com/raysan5/raylib", + "license": "Zlib" +} diff --git a/ports/raylib/android.diff b/ports/raylib/android.diff new file mode 100644 index 00000000000000..25dbe4663deaba --- /dev/null +++ b/ports/raylib/android.diff @@ -0,0 +1,13 @@ +diff --git a/cmake/GlfwImport.cmake b/cmake/GlfwImport.cmake +index d0c23ca..92cd5c3 100644 +--- a/cmake/GlfwImport.cmake ++++ b/cmake/GlfwImport.cmake +@@ -30,6 +30,8 @@ if(NOT glfw3_FOUND AND NOT USE_EXTERNAL_GLFW STREQUAL "ON" AND "${PLATFORM}" MAT + include_directories(BEFORE SYSTEM external/glfw/include) + elseif("${PLATFORM}" STREQUAL "DRM") + MESSAGE(STATUS "No GLFW required on PLATFORM_DRM") ++elseif("${PLATFORM}" STREQUAL "Android") ++ list(REMOVE_ITEM LIBS_PRIVATE glfw) + else() + MESSAGE(STATUS "Using external GLFW") + set(GLFW_PKG_DEPS glfw3) diff --git a/ports/raylib/fix-link-path.patch b/ports/raylib/fix-link-path.patch new file mode 100644 index 00000000000000..cae08416626b63 --- /dev/null +++ b/ports/raylib/fix-link-path.patch @@ -0,0 +1,13 @@ +diff --git a/cmake/raylib-config.cmake b/cmake/raylib-config.cmake +index 700965c..4815cd6 100644 +--- a/cmake/raylib-config.cmake ++++ b/cmake/raylib-config.cmake +@@ -65,7 +65,7 @@ if (NOT TARGET raylib) + IMPORTED_LOCATION "${raylib_LIBRARIES}" + IMPORTED_IMPLIB "${raylib_LIBRARIES}" + INTERFACE_INCLUDE_DIRECTORIES "${raylib_INCLUDE_DIRS}" +- INTERFACE_LINK_LIBRARIES "${raylib_LDFLAGS}" ++ INTERFACE_LINK_LIBRARIES "${raylib_LIBRARIES}" + INTERFACE_COMPILE_OPTIONS "${raylib_DEFINITIONS}" + ) + diff --git a/ports/raylib/portfile.cmake b/ports/raylib/portfile.cmake index a1a3ab0d99a152..0e3e6e56ecbf17 100644 --- a/ports/raylib/portfile.cmake +++ b/ports/raylib/portfile.cmake @@ -1,7 +1,4 @@ -# https://github.com/raysan5/raylib/issues/388 -vcpkg_fail_port_install(ON_ARCH "arm" ON_TARGET "uwp") - -if(VCPKG_TARGET_IS_OSX OR VCPKG_TARGET_IS_LINUX) +if(VCPKG_TARGET_IS_LINUX) message( "raylib currently requires the following libraries from the system package manager: libgl1-mesa-dev @@ -16,44 +13,62 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO raysan5/raylib - REF 4.0.0 - SHA512 e9ffab14ab902e3327202e68ca139209ff24100dab62eb03fef50adf363f81e2705d81e709c58cf1514e68e6061c8963555bd2d00744daacc3eb693825fc3417 + REF "${VERSION}" + SHA512 5956bc1646b99baac6eb1652c4d72e96af874337158672155ba144f131de8a4fd19291a58335a92fcaaa2fc818682f93ff4230af0f815efb8b49f7d2a162e9b0 HEAD_REF master + PATCHES + android.diff + fix-link-path.patch +) +file(GLOB vendored_headers RELATIVE "${SOURCE_PATH}/src/external" + "${SOURCE_PATH}/src/external/cgltf.h" + # Do not use dirent from vcpkg: It is a different implementation which has + # 'include ', leading to duplicate and conflicting definitions. + #"${SOURCE_PATH}/src/external/dirent.h" + "${SOURCE_PATH}/src/external/dr_*.h" # from drlibs + "${SOURCE_PATH}/src/external/miniaudio.h" + "${SOURCE_PATH}/src/external/nanosvg*.h" + "${SOURCE_PATH}/src/external/qoi.h" + "${SOURCE_PATH}/src/external/s*fl.h" # from mmx + "${SOURCE_PATH}/src/external/stb_*" ) +set(optional_vendored_headers + "stb_image_resize2.h" # not yet in vcpkg +) +foreach(header IN LISTS vendored_headers) + unset(vcpkg_file) + find_file(vcpkg_file NAMES "${header}" PATHS "${CURRENT_INSTALLED_DIR}/include" PATH_SUFFIXES mmx nanosvg NO_DEFAULT_PATH NO_CACHE) + if(vcpkg_file) + message(STATUS "De-vendoring '${header}'") + file(COPY "${vcpkg_file}" DESTINATION "${SOURCE_PATH}/src/external") + elseif(header IN_LIST optional_vendored_headers) + message(STATUS "Not de-vendoring '${header}' (absent in vcpkg)") + else() + message(FATAL_ERROR "No replacement for vendored '${header}'") + endif() +endforeach() -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" SHARED) -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" STATIC) +set(PLATFORM_OPTIONS "") +if(VCPKG_TARGET_IS_ANDROID) + list(APPEND PLATFORM_OPTIONS -DPLATFORM=Android -DUSE_EXTERNAL_GLFW=OFF) +elseif(VCPKG_TARGET_IS_EMSCRIPTEN) + list(APPEND PLATFORM_OPTIONS -DPLATFORM=Web -DUSE_EXTERNAL_GLFW=OFF) +else() + list(APPEND PLATFORM_OPTIONS -DPLATFORM=Desktop -DUSE_EXTERNAL_GLFW=ON) +endif() vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES - hidpi SUPPORT_HIGH_DPI use-audio USE_AUDIO ) -if(VCPKG_TARGET_IS_MINGW) - set(DEBUG_ENABLE_SANITIZERS OFF) -else() - set(DEBUG_ENABLE_SANITIZERS ON) -endif() - vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_EXAMPLES=OFF - -DBUILD_GAMES=OFF - -DSHARED=${SHARED} - -DSTATIC=${STATIC} - -DUSE_EXTERNAL_GLFW=OFF # externl glfw3 causes build errors on Windows + -DCMAKE_POLICY_DEFAULT_CMP0072=NEW # Prefer GLVND + ${PLATFORM_OPTIONS} ${FEATURE_OPTIONS} - OPTIONS_DEBUG - -DENABLE_ASAN=${DEBUG_ENABLE_SANITIZERS} - -DENABLE_UBSAN=${DEBUG_ENABLE_SANITIZERS} - -DENABLE_MSAN=OFF - OPTIONS_RELEASE - -DENABLE_ASAN=OFF - -DENABLE_UBSAN=OFF - -DENABLE_MSAN=OFF ) vcpkg_cmake_install() @@ -61,27 +76,15 @@ vcpkg_cmake_install() vcpkg_copy_pdbs() vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) - -configure_file( - ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake - ${CURRENT_PACKAGES_DIR}/share/${PORT}/vcpkg-cmake-wrapper.cmake - @ONLY -) +vcpkg_fixup_pkgconfig() file(REMOVE_RECURSE - ${CURRENT_PACKAGES_DIR}/debug/include - ${CURRENT_PACKAGES_DIR}/debug/share + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" ) -if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - vcpkg_replace_string( - ${CURRENT_PACKAGES_DIR}/include/raylib.h - "defined(USE_LIBTYPE_SHARED)" - "1 // defined(USE_LIBTYPE_SHARED)" - ) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/raylib.h" "defined(USE_LIBTYPE_SHARED)" "1") endif() -configure_file(${CMAKE_CURRENT_LIST_DIR}/usage ${CURRENT_PACKAGES_DIR}/share/${PORT}/usage @ONLY) -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/raylib/usage b/ports/raylib/usage deleted file mode 100644 index 94ce10978f78d5..00000000000000 --- a/ports/raylib/usage +++ /dev/null @@ -1,5 +0,0 @@ -The package @PORT@:@TARGET_TRIPLET@ provides CMake targets: - - find_package(@PORT@ CONFIG REQUIRED) - target_include_directories(main PRIVATE ${RAYLIB_INCLUDE_DIRS}) - target_link_libraries(main PRIVATE ${RAYLIB_LIBRARIES}) diff --git a/ports/raylib/vcpkg-cmake-wrapper.cmake b/ports/raylib/vcpkg-cmake-wrapper.cmake deleted file mode 100644 index 2d7560eb0f3e46..00000000000000 --- a/ports/raylib/vcpkg-cmake-wrapper.cmake +++ /dev/null @@ -1,11 +0,0 @@ -include(SelectLibraryConfigurations) - -find_path(RAYLIB_INCLUDE_DIR raylib.h) - -find_library(RAYLIB_LIBRARY_DEBUG NAMES raylib libraylib raylib_static NAMES_PER_DIR PATH_SUFFIXES lib PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug" NO_DEFAULT_PATH REQUIRED) -find_library(RAYLIB_LIBRARY_RELEASE NAMES raylib libraylib raylib_static NAMES_PER_DIR PATH_SUFFIXES lib PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}" NO_DEFAULT_PATH REQUIRED) - -select_library_configurations(RAYLIB) - -set(RAYLIB_INCLUDE_DIRS ${RAYLIB_INCLUDE_DIR}) -set(RAYLIB_LIBRARIES ${RAYLIB_LIBRARY}) diff --git a/ports/raylib/vcpkg.json b/ports/raylib/vcpkg.json index 4a27c41bfd2b24..68e826ce17e11a 100644 --- a/ports/raylib/vcpkg.json +++ b/ports/raylib/vcpkg.json @@ -1,10 +1,24 @@ { "name": "raylib", - "version-semver": "4.0.0", + "version": "5.0", + "port-version": 2, "description": "A simple and easy-to-use library to enjoy videogames programming", "homepage": "https://github.com/raysan5/raylib", - "supports": "!(arm | uwp)", + "license": "Zlib", + "supports": "!arm32 & !uwp", "dependencies": [ + "cgltf", + "dirent", + "drlibs", + { + "name": "glfw3", + "platform": "!(android | emscripten)" + }, + "miniaudio", + "mmx", + "nanosvg", + "qoi", + "stb", { "name": "vcpkg-cmake", "host": true @@ -18,9 +32,6 @@ "use-audio" ], "features": { - "hidpi": { - "description": "Support high-DPI displays" - }, "use-audio": { "description": "Build raylib with audio module" } diff --git a/ports/rbdl-orb/portfile.cmake b/ports/rbdl-orb/portfile.cmake index f29acca1f19959..9aefc82414d125 100644 --- a/ports/rbdl-orb/portfile.cmake +++ b/ports/rbdl-orb/portfile.cmake @@ -1,44 +1 @@ -if (EXISTS "${CURRENT_INSTALLED_DIR}/share/rbdl/copyright") - message(FATAL_ERROR "${PORT} conflict with rbdl, please remove rbdl before install ${PORT}.") -endif() - -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" RBDL_STATIC) - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO ORB-HD/rbdl-orb - REF a2e5428729b636c6232c3b90e4ddac80f7d42b1a - SHA512 2a10b3a7ac4e49b0ac5e7204f419a132bef7431c3ba55a72a8d10f9fea1972419682367bda32506b8daf58fc65405c7f3b7fe11fe661fc3dc6c98a3206cf1253 - HEAD_REF master -) - -vcpkg_from_github( - OUT_SOURCE_PATH PARSER_SOURCE_PATH - REPO ORB-HD/URDF_Parser - REF 8fcc3174743cf3e7561ffb6625524f8133161df4 - SHA512 6cba22e98f23e74fd7c1dcb356d88b5e24c61913dc900e584ed313b1fcce5d6832ceafcf15a3ea7a56714ab82d3cd7d9f4350d3d242614561c836bd4735e3f4f -) -if(NOT EXISTS "${SOURCE_PATH}/addons/urdfreader/thirdparty/urdfparser/CMakeLists.txt") - file(REMOVE_RECURSE "${SOURCE_PATH}/addons/urdfreader/thirdparty/urdfparser") - file(RENAME "${PARSER_SOURCE_PATH}" "${SOURCE_PATH}/addons/urdfreader/thirdparty/urdfparser") -endif() - -vcpkg_cmake_configure( - SOURCE_PATH "${SOURCE_PATH}" - OPTIONS - -DRBDL_BUILD_STATIC=${RBDL_STATIC} - -DRBDL_BUILD_ADDON_LUAMODEL=ON - -DRBDL_BUILD_ADDON_GEOMETRY=ON - -DRBDL_BUILD_ADDON_URDFREADER=ON - -DRBDL_BUILD_EXECUTABLES=OFF - -DRBDL_VCPKG_BUILD=ON -) - -vcpkg_cmake_install() - -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") - -vcpkg_copy_pdbs() -vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/RBDL PACKAGE_NAME RBDL) - -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) diff --git a/ports/rbdl-orb/vcpkg.json b/ports/rbdl-orb/vcpkg.json index 86920c98e44880..acbe19c1df15ba 100644 --- a/ports/rbdl-orb/vcpkg.json +++ b/ports/rbdl-orb/vcpkg.json @@ -1,19 +1,10 @@ { "name": "rbdl-orb", - "version": "3.1.2", + "version": "3.2.0", + "port-version": 2, "description": "Rigid Body Dynamics Library - ORB", "homepage": "https://github.com/orb-hd/rbdl-orb", "dependencies": [ - "boost", - "eigen3", - "lua", - { - "name": "vcpkg-cmake", - "host": true - }, - { - "name": "vcpkg-cmake-config", - "host": true - } + "rbdl" ] } diff --git a/ports/rbdl/001_x64_number_of_sections_exceeded_in_object_file_patch.diff b/ports/rbdl/001_x64_number_of_sections_exceeded_in_object_file_patch.diff deleted file mode 100644 index 8aaf4d38439248..00000000000000 --- a/ports/rbdl/001_x64_number_of_sections_exceeded_in_object_file_patch.diff +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index b2db532da..42c004380 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -112,6 +112,10 @@ SET ( RBDL_SOURCES - src/Kinematics.cc - ) - -+IF (MSVC) -+ SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /bigobj") -+ENDIF (MSVC) -+ - IF (MSVC AND NOT RBDL_BUILD_STATIC) - MESSAGE (FATAL_ERROR, "Compiling RBDL as a DLL currently not supported. Please enable RBDL_BUILD_STATIC.") - ENDIF (MSVC AND NOT RBDL_BUILD_STATIC) diff --git a/ports/rbdl/portfile.cmake b/ports/rbdl/portfile.cmake index be6a63c81a1981..425c88d970cd8f 100644 --- a/ports/rbdl/portfile.cmake +++ b/ports/rbdl/portfile.cmake @@ -1,23 +1,33 @@ -if (EXISTS "${CURRENT_INSTALLED_DIR}/share/rbdl-orb/copyright") - message(FATAL_ERROR "${PORT} conflict with rbdl-orb, please remove rbdl-orb before install ${PORT}.") -endif() - string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" RBDL_STATIC) -vcpkg_from_github(ARCHIVE - OUT_SOURCE_PATH SOURCE_PATH - REPO rbdl/rbdl - REF v2.6.0 - SHA512 7b5fd03c0090277f295a28a1ff0542cd8cff76dda4379b3edc61ca3d868bf77d8b4882f81865fdffd0cf756c613fe55238b29a83bc163fc32aa94aa9d5781480 - HEAD_REF master - PATCHES 001_x64_number_of_sections_exceeded_in_object_file_patch.diff +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO rbdl/rbdl + REF 619175a441ba769ab1be34a727644f4dd13bf841 + SHA512 0c6cd78c4385e582f481a6f92d5c3a01f5d3bcd3a7cc3417a504209dae1856d788157db8d9f4173493619f103dea323bd57ddae0bc63162d72b03031dae9a822 + HEAD_REF master ) +vcpkg_from_github( + OUT_SOURCE_PATH PARSER_SOURCE_PATH + REPO ORB-HD/URDF_Parser + REF 8fcc3174743cf3e7561ffb6625524f8133161df4 + SHA512 6cba22e98f23e74fd7c1dcb356d88b5e24c61913dc900e584ed313b1fcce5d6832ceafcf15a3ea7a56714ab82d3cd7d9f4350d3d242614561c836bd4735e3f4f +) +if(NOT EXISTS "${SOURCE_PATH}/addons/urdfreader/thirdparty/urdfparser/CMakeLists.txt") + file(REMOVE_RECURSE "${SOURCE_PATH}/addons/urdfreader/thirdparty/urdfparser") + file(RENAME "${PARSER_SOURCE_PATH}" "${SOURCE_PATH}/addons/urdfreader/thirdparty/urdfparser") +endif() vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DRBDL_BUILD_STATIC=${RBDL_STATIC} + -DRBDL_BUILD_ADDON_LUAMODEL=ON + -DRBDL_BUILD_ADDON_GEOMETRY=ON + -DRBDL_BUILD_ADDON_URDFREADER=ON + -DRBDL_BUILD_EXECUTABLES=OFF + -DRBDL_VCPKG_BUILD=ON ) vcpkg_cmake_install() @@ -25,7 +35,7 @@ vcpkg_cmake_install() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/RBDL PACKAGE_NAME RBDL) +vcpkg_fixup_pkgconfig() file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) - -vcpkg_fixup_pkgconfig() diff --git a/ports/rbdl/vcpkg.json b/ports/rbdl/vcpkg.json index 96a3389ae331ea..f06685bc95b747 100644 --- a/ports/rbdl/vcpkg.json +++ b/ports/rbdl/vcpkg.json @@ -1,14 +1,21 @@ { "name": "rbdl", - "version": "2.6.0", - "port-version": 2, + "version": "3.3.0", + "port-version": 7, "description": "Rigid Body Dynamics Library", "homepage": "https://github.com/rbdl/rbdl", "dependencies": [ + "boost-algorithm", + "boost-lexical-cast", "eigen3", + "lua", { "name": "vcpkg-cmake", "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true } ] } diff --git a/ports/re2/portfile.cmake b/ports/re2/portfile.cmake index 3adf713fd97e3a..b7f3645d0b38a5 100644 --- a/ports/re2/portfile.cmake +++ b/ports/re2/portfile.cmake @@ -1,22 +1,23 @@ -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO google/re2 - REF 2021-11-01 - SHA512 9ea04638b7a8667fa9a9d9894c543417c86dde21a93bd4508ae8a43fdd21384092866a3f55e93249942f36488c165e93bee18c61bab3cf138a920654563b8122 - HEAD_REF master -) - -vcpkg_cmake_configure( - SOURCE_PATH "${SOURCE_PATH}" - OPTIONS - -DRE2_BUILD_TESTING=OFF -) - -vcpkg_cmake_install() -vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/re2) - -vcpkg_copy_pdbs() - -# Handle copyright -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") \ No newline at end of file +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO google/re2 + REF "${VERSION}" + SHA512 3776383355ccfdec85e0cdfb3ce980c6ecb3c336d603dd34c0a547c7c06a6243947a13cb352372335edac12d4f28cf1b7a51d034f5b34db3e46cbcac5e3f7479 + HEAD_REF master +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DRE2_BUILD_TESTING=OFF +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${PORT}") +vcpkg_fixup_pkgconfig() + +vcpkg_copy_pdbs() + +# Handle copyright +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/re2/vcpkg.json b/ports/re2/vcpkg.json index be979d97bc1de7..256c6e1e5d1ef1 100644 --- a/ports/re2/vcpkg.json +++ b/ports/re2/vcpkg.json @@ -1,9 +1,11 @@ { "name": "re2", - "version-date": "2021-11-01", + "version-date": "2024-07-02", "description": "RE2 is a fast, safe, thread-friendly alternative to backtracking regular expression engines like those used in PCRE, Perl, and Python. It is a C++ library.", "homepage": "https://github.com/google/re2", + "license": "BSD-3-Clause", "dependencies": [ + "abseil", { "name": "vcpkg-cmake", "host": true diff --git a/ports/reactiveplusplus/portfile.cmake b/ports/reactiveplusplus/portfile.cmake new file mode 100644 index 00000000000000..61dd82e31ee3b4 --- /dev/null +++ b/ports/reactiveplusplus/portfile.cmake @@ -0,0 +1,19 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO victimsnino/ReactivePlusPlus + REF "v${VERSION}" + SHA512 d48e7e0d397c9fea2eef7c7f27f48f80738e814e2418437c367bcb35830baaaef73f570adf8408153bba2736c1f74769bd37ab41e7afbcea81b280112eb5e6b3 + HEAD_REF master +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME RPP CONFIG_PATH share/RPP) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") +file(GLOB_RECURSE CMAKE_LISTS "${CURRENT_PACKAGES_DIR}/include/CMakeLists.txt") +file(REMOVE ${CMAKE_LISTS}) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/reactiveplusplus/vcpkg.json b/ports/reactiveplusplus/vcpkg.json new file mode 100644 index 00000000000000..4c88949d0350af --- /dev/null +++ b/ports/reactiveplusplus/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "reactiveplusplus", + "version": "2.1.1", + "description": "ReactivePlusPlus is reactive programming library for C++ language", + "homepage": "https://github.com/victimsnino/ReactivePlusPlus", + "license": "BSL-1.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/readerwriterqueue/portfile.cmake b/ports/readerwriterqueue/portfile.cmake index 859425cf5fb12e..b0d25a4799650f 100644 --- a/ports/readerwriterqueue/portfile.cmake +++ b/ports/readerwriterqueue/portfile.cmake @@ -2,8 +2,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO cameron314/readerwriterqueue - REF 09732844aff873e8ec489e9005c775b6b1c58fa2 # v1.0.5 - SHA512 81a8e95766cfdb8828c9c311898bec17400f8f508cb398f3f2f367a470b42f9dcebf7ee327267d3dc35f98d0ad22732f0c3fca16074840fb032dfc576348c802 + REF v1.0.6 + SHA512 93606d8337ec6bb8aad23a40a7d5e685f8b97f6c75ca4a6b11947aaef02c2283648c5352d3c7f451006b2244ce45d0c04384ba0e1da8ac515ce7644f83f49f2c HEAD_REF master ) diff --git a/ports/readerwriterqueue/vcpkg.json b/ports/readerwriterqueue/vcpkg.json index 4b525aca78b2f3..2cf005c771bf15 100644 --- a/ports/readerwriterqueue/vcpkg.json +++ b/ports/readerwriterqueue/vcpkg.json @@ -1,6 +1,6 @@ { "name": "readerwriterqueue", - "version-semver": "1.0.5", + "version-semver": "1.0.6", "description": "A single-producer, single-consumer lock-free queue", "homepage": "https://github.com/cameron314/readerwriterqueue" } diff --git a/ports/ilmbase/portfile.cmake b/ports/readline-osx/portfile.cmake similarity index 100% rename from ports/ilmbase/portfile.cmake rename to ports/readline-osx/portfile.cmake diff --git a/ports/readline-osx/vcpkg.json b/ports/readline-osx/vcpkg.json new file mode 100644 index 00000000000000..381e95164c4a17 --- /dev/null +++ b/ports/readline-osx/vcpkg.json @@ -0,0 +1,9 @@ +{ + "name": "readline-osx", + "version-date": "2020-01-04", + "description": "empty package, linking to readline-unix", + "supports": "osx", + "dependencies": [ + "readline-unix" + ] +} diff --git a/ports/readline-unix/8.2p1.diff b/ports/readline-unix/8.2p1.diff new file mode 100644 index 00000000000000..0cb8c9c5d97b36 --- /dev/null +++ b/ports/readline-unix/8.2p1.diff @@ -0,0 +1,24 @@ +diff --git a/nls.c b/nls.c +index 5c6a13b..8c027d6 100644 +--- a/nls.c ++++ b/nls.c +@@ -141,6 +141,10 @@ _rl_init_locale (void) + if (lspec == 0) + lspec = ""; + ret = setlocale (LC_CTYPE, lspec); /* ok, since it does not change locale */ ++ if (ret == 0 || *ret == 0) ++ ret = setlocale (LC_CTYPE, (char *)NULL); ++ if (ret == 0 || *ret == 0) ++ ret = RL_DEFAULT_LOCALE; + #else + ret = (lspec == 0 || *lspec == 0) ? RL_DEFAULT_LOCALE : lspec; + #endif +diff --git a/patchlevel b/patchlevel +index d8c9df7..fdf4740 100644 +--- a/patchlevel ++++ b/patchlevel +@@ -1,3 +1,3 @@ + # Do not edit -- exists only for use by patch + +-0 ++1 diff --git a/ports/readline-unix/portfile.cmake b/ports/readline-unix/portfile.cmake new file mode 100644 index 00000000000000..aca06be6ac94c8 --- /dev/null +++ b/ports/readline-unix/portfile.cmake @@ -0,0 +1,34 @@ +set(filename readline-${VERSION}.tar.gz) +vcpkg_download_distfile( + ARCHIVE + URLS + "https://ftpmirror.gnu.org/gnu/readline/${filename}" + "https://ftp.gnu.org/gnu/readline/${filename}" + FILENAME "${filename}" + SHA512 0a451d459146bfdeecc9cdd94bda6a6416d3e93abd80885a40b334312f16eb890f8618a27ca26868cebbddf1224983e631b1cbc002c1a4d1cd0d65fba9fea49a +) + +vcpkg_extract_source_archive(SOURCE_PATH + ARCHIVE "${ARCHIVE}" + PATCHES + 8.2p1.diff +) + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + DETERMINE_BUILD_TRIPLET + OPTIONS + --with-curses=yes + --disable-install-examples +) + +vcpkg_install_make() + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/tools" +) + +vcpkg_fixup_pkgconfig() + +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/readline-unix/vcpkg.json b/ports/readline-unix/vcpkg.json new file mode 100644 index 00000000000000..ffdc931d87b179 --- /dev/null +++ b/ports/readline-unix/vcpkg.json @@ -0,0 +1,12 @@ +{ + "name": "readline-unix", + "version": "8.2", + "port-version": 1, + "description": "The GNU Readline library provides a set of functions for use by applications that allow users to edit command lines as they are typed in.", + "homepage": "https://tiswww.case.edu/php/chet/readline/rltop.html", + "license": "GPL-3.0-or-later", + "supports": "!windows", + "dependencies": [ + "ncurses" + ] +} diff --git a/ports/readline-win32/CMakeLists.txt b/ports/readline-win32/CMakeLists.txt deleted file mode 100644 index ac062d0dc9c910..00000000000000 --- a/ports/readline-win32/CMakeLists.txt +++ /dev/null @@ -1,56 +0,0 @@ -cmake_minimum_required(VERSION 3.0) -project(readline C) - -add_definitions(-DREADLINE_LIBRARY) -add_definitions(-DHAVE_CONFIG_H) -add_definitions(-D_CRT_SECURE_NO_WARNINGS) - -if(BUILD_SHARED_LIBS) - add_definitions(-DBUILD_READLINE_DLL) -else() - add_definitions(-DREADLINE_STATIC) -endif() - -include_directories( - ${CMAKE_CURRENT_SOURCE_DIR} # thats where the config.h is located -) - -add_library(readline - readline.c - funmap.c - keymaps.c - vi_mode.c - parens.c - rltty.c - complete.c - bind.c - isearch.c - display.c - signals.c - util.c - kill.c - undo.c - macro.c - input.c - callback.c - terminal.c - xmalloc.c - history.c - histsearch.c - histexpand.c - histfile.c - nls.c - search.c - shell.c - savestring.c - tilde.c - text.c - misc.c - compat.c - mbutil.c - support/wcwidth.c) - -install(TARGETS readline - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib) diff --git a/ports/readline-win32/config.h b/ports/readline-win32/config.h deleted file mode 100644 index de0a352fe5677a..00000000000000 --- a/ports/readline-win32/config.h +++ /dev/null @@ -1,58 +0,0 @@ -#define RETSIGTYPE void -#define VOID_SIGHANDLER 1 -#define PROTOTYPES 1 -#define HAVE_ISASCII 1 -#define HAVE_ISXDIGIT 1 -#define HAVE_MBRLEN 1 -#define HAVE_MBRTOWC 1 -#define HAVE_MBRTOWC 1 -#define HAVE_MBSRTOWCS 1 -#define HAVE_MEMMOVE 1 -#define HAVE_PUTENV 1 -#define HAVE_SETENV 1 -#define HAVE_SETLOCALE 1 -#define HAVE_STRCOLL 1 -#define STRCOLL_BROKEN 1 -#define HAVE_STRPBRK 1 -#define HAVE_TCGETATTR 1 -#define HAVE_VSNPRINTF 1 -#define HAVE_WCTOMB 1 -#define HAVE_WCWIDTH 1 -#define STDC_HEADERS 1 -#define HAVE_LANGINFO_H 1 -#define HAVE_LIMITS_H 1 -#define HAVE_LOCALE_H 1 -#define HAVE_MEMORY_H 1 -#define HAVE_STDARG_H 1 -#define HAVE_STDLIB_H 1 -#define HAVE_STRING_H 1 -#define HAVE_TERMIOS_H 1 -#define HAVE_WCHAR_H 1 -#define HAVE_WCTYPE_H 1 -#define HAVE_MBSTATE_T 1 -#define HAVE_LANGINFO_CODESET 1 -#define VOID_SIGHANDLER 1 -#define STRUCT_WINSIZE_IN_SYS_IOCTL 1 -#define HAVE_GETPW_DECLS 1 -#define MUST_REINSTALL_SIGHANDLERS 1 -#define CTYPE_NON_ASCII 1 - -/* Ultrix botches type-ahead when switching from canonical to - non-canonical mode, at least through version 4.3 */ -#if !defined (HAVE_TERMIOS_H) || !defined (HAVE_TCGETATTR) || defined (ultrix) -# define TERMIOS_MISSING -#endif - -#if defined (STRCOLL_BROKEN) -# define HAVE_STRCOLL 1 -#endif - -#if defined (__STDC__) && defined (HAVE_STDARG_H) -# define PREFER_STDARG -# define USE_VARARGS -#else -# if defined (HAVE_VARARGS_H) -# define PREFER_VARARGS -# define USE_VARARGS -# endif -#endif diff --git a/ports/readline-win32/portfile.cmake b/ports/readline-win32/portfile.cmake index c6fa9435f536e3..b6ce0b7bc0e870 100644 --- a/ports/readline-win32/portfile.cmake +++ b/ports/readline-win32/portfile.cmake @@ -1,26 +1,28 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO lltcggie/readline - REF ea414b4e98475e3976198738061824e8a8379a50 - SHA512 82d54ab3e19fb2673fe97eff07117d36704791669baa283ec737c704635f872e4c7cd30485a6648d445cb2912e4364286e664e9425444f456a4c862b9e4de843 + REPO xiaozhuai/readline-win32 + REF 0fa4001557c27157a51a9ca7f32a8c50bc97927a + SHA512 5e6bb2fb077445d4e1fad49f2260538b0cf7e49857cda81640b8afd034324ad9b927c9ea00c9288d08c887478523db891bfc799e49ae009d32479141766857ec HEAD_REF master ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}/src/readline/5.0/readline-5.0-src) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/config.h DESTINATION ${SOURCE_PATH}/src/readline/5.0/readline-5.0-src) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH}/src/readline/5.0/readline-5.0-src - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-readline-win32) +vcpkg_fixup_pkgconfig() + +if (VCPKG_LIBRARY_LINKAGE STREQUAL "static") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/readline/rlstdc.h" + "defined(USE_READLINE_STATIC)" "1" + ) +endif() -# Copy headers -file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/include/readline) -file(GLOB headers "${SOURCE_PATH}/src/readline/5.0/readline-5.0-src/*.h") -file(COPY ${headers} DESTINATION ${CURRENT_PACKAGES_DIR}/include/readline) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share" "${CURRENT_PACKAGES_DIR}/debug/include") vcpkg_copy_pdbs() -file(INSTALL ${SOURCE_PATH}/src/readline/5.0/readline-5.0-src/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/readline-win32/vcpkg.json b/ports/readline-win32/vcpkg.json index 86c8d73046ca32..d44080fba0b6d0 100644 --- a/ports/readline-win32/vcpkg.json +++ b/ports/readline-win32/vcpkg.json @@ -1,7 +1,19 @@ { "name": "readline-win32", - "version-string": "5.0", - "port-version": 3, + "version": "5.0", + "port-version": 9, "description": "Implementation of readline for Windows Desktop", - "homepage": "https://github.com/lltcggie" + "homepage": "https://github.com/xiaozhuai/readline-win32", + "license": "GPL-2.0", + "supports": "windows & !uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/readline/portfile.cmake b/ports/readline/portfile.cmake index 45db4f37a1f227..a9543d16b826cc 100644 --- a/ports/readline/portfile.cmake +++ b/ports/readline/portfile.cmake @@ -3,3 +3,4 @@ if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") endif() set(VCPKG_POLICY_EMPTY_PACKAGE enabled) +FILE(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/readline/usage b/ports/readline/usage new file mode 100644 index 00000000000000..6127e2ac6cc9bd --- /dev/null +++ b/ports/readline/usage @@ -0,0 +1,10 @@ +the package readline can be used under windows via: + + find_package(unofficial-readline-win32 CONFIG REQUIRED) + target_link_libraries(main PRIVATE unofficial::readline-win32::readline) + +The package readline can be imported via the CMake FindPkgConfig module: + + find_package(PkgConfig REQUIRED) + pkg_check_modules(readline REQUIRED IMPORTED_TARGET readline) + target_link_libraries(main PRIVATE PkgConfig::readline) diff --git a/ports/readline/vcpkg.json b/ports/readline/vcpkg.json index 7dba01a74c9b3a..a021fe3b3ac69f 100644 --- a/ports/readline/vcpkg.json +++ b/ports/readline/vcpkg.json @@ -1,10 +1,14 @@ { "name": "readline", - "version-string": "0", - "port-version": 1, + "version": "0", + "port-version": 5, "description": "GNU readline and history libraries", "supports": "!uwp", "dependencies": [ + { + "name": "readline-unix", + "platform": "!windows" + }, { "name": "readline-win32", "platform": "windows" diff --git a/ports/readosm/fix-makefiles.patch b/ports/readosm/fix-makefiles.patch index ea78af8572c730..a955938b788d74 100644 --- a/ports/readosm/fix-makefiles.patch +++ b/ports/readosm/fix-makefiles.patch @@ -37,10 +37,8 @@ diff --git a/nmake.opt b/nmake.opt index 5e45c0e..61c44f9 100644 --- a/nmake.opt +++ b/nmake.opt -@@ -1,8 +1,8 @@ - # Directory tree where ReadOSM will be installed. --INSTDIR=C:\OSGeo4W -+INSTDIR=$(INST_DIR) +@@ -2,7 +2,7 @@ + INSTDIR=C:\OSGeo4W # Uncomment the first for an optimized build, or the second for debug. -OPTFLAGS= /nologo /Ox /fp:precise /W3 /MD /D_CRT_SECURE_NO_WARNINGS \ diff --git a/ports/readosm/pc-file.patch b/ports/readosm/pc-file.patch new file mode 100644 index 00000000000000..34ea86806881c1 --- /dev/null +++ b/ports/readosm/pc-file.patch @@ -0,0 +1,12 @@ +diff --git a/readosm.pc.in b/readosm.pc.in +index c1a0961..2417433 100644 +--- a/readosm.pc.in ++++ b/readosm.pc.in +@@ -8,5 +8,6 @@ includedir=@includedir@ + Name: readosm + Description: a simple library parsing Open Street Map files + Version: @VERSION@ +-Libs: -L${libdir} -lreadosm -lz -lexpat ++Requires.private: expat zlib ++Libs: -L${libdir} -lreadosm + Cflags: -I${includedir} diff --git a/ports/readosm/portfile.cmake b/ports/readosm/portfile.cmake index 9316b7d853c153..6b84b3b24e9bad 100644 --- a/ports/readosm/portfile.cmake +++ b/ports/readosm/portfile.cmake @@ -1,89 +1,94 @@ set(READOSM_VERSION_STR "1.1.0a") vcpkg_download_distfile(ARCHIVE - URLS "http://www.gaia-gis.it/gaia-sins/readosm-sources/readosm-${READOSM_VERSION_STR}.tar.gz" + URLS "https://www.gaia-gis.it/gaia-sins/readosm-sources/readosm-${READOSM_VERSION_STR}.tar.gz" FILENAME "readosm-${READOSM_VERSION_STR}.tar.gz" SHA512 ec8516cdd0b02027cef8674926653f8bc76e2082c778b02fb2ebcfa6d01e21757aaa4fd5d5104059e2f5ba97190183e60184f381bfd592a635805aa35cd7a682 ) -if (VCPKG_TARGET_IS_WINDOWS) - vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} - PATCHES +vcpkg_extract_source_archive(SOURCE_PATH + ARCHIVE "${ARCHIVE}" + PATCHES fix-makefiles.patch - ) + pc-file.patch +) + +set(PKGCONFIG_MODULES expat zlib) - if(VCPKG_CRT_LINKAGE STREQUAL dynamic) - set(CL_FLAGS_DBG "/MDd /Zi") - set(CL_FLAGS_REL "/MD /Ox") - set(EXPAT_LIBS_REL "${CURRENT_INSTALLED_DIR}/lib/libexpat.lib") - set(EXPAT_LIBS_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/libexpatd.lib") - else() - set(CL_FLAGS_DBG "/MTd /Zi") - set(CL_FLAGS_REL "/MT /Ox") - set(EXPAT_LIBS_REL "${CURRENT_INSTALLED_DIR}/lib/libexpatMD.lib") - set(EXPAT_LIBS_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/libexpatdMD.lib") - endif() +if (VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + x_vcpkg_pkgconfig_get_modules( + PREFIX PKGCONFIG + MODULES --msvc-syntax ${PKGCONFIG_MODULES} + LIBS + ) - if(VCPKG_TARGET_IS_UWP) - set(UWP_LIBS windowsapp.lib) - set(UWP_LINK_FLAGS /APPCONTAINER) - endif() + if(VCPKG_TARGET_IS_UWP) + set(UWP_LIBS windowsapp.lib) + endif() - set(LIBS_ALL_DBG - "${CURRENT_INSTALLED_DIR}/debug/lib/zlibd.lib \ - ${UWP_LIBS} \ - ${EXPAT_LIBS_DBG}" - ) - set(LIBS_ALL_REL - "${CURRENT_INSTALLED_DIR}/lib/zlib.lib \ - ${UWP_LIBS} \ - ${EXPAT_LIBS_REL}" - ) + file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}" INST_DIR) - string(REPLACE "/" "\\\\" INST_DIR ${CURRENT_PACKAGES_DIR}) - list(APPEND OPTIONS_RELEASE - "LINK_FLAGS=${UWP_LINK_FLAGS}" "INST_DIR=${INST_DIR}" "CL_FLAGS=${CL_FLAGS_REL}" "LIBS_ALL=${LIBS_ALL_REL}" - ) - list(APPEND OPTIONS_DEBUG - "LINK_FLAGS=${UWP_LINK_FLAGS} /debug" "INST_DIR=${INST_DIR}\\debug" "CL_FLAGS=${CL_FLAGS_DBG}" "LIBS_ALL=${LIBS_ALL_DBG}" - ) + vcpkg_install_nmake( + SOURCE_PATH "${SOURCE_PATH}" + PREFER_JOM + CL_LANGUAGE C + OPTIONS_RELEASE + "INSTDIR=${INST_DIR}" + "LIBS_ALL=${PKGCONFIG_LIBS_RELEASE} ${UWP_LIBS}" + OPTIONS_DEBUG + "INSTDIR=${INST_DIR}\\debug" + "LINK_FLAGS=/debug" + "LIBS_ALL=${PKGCONFIG_LIBS_DEBUG} ${UWP_LIBS}" + ) - vcpkg_install_nmake( - SOURCE_PATH ${SOURCE_PATH} - OPTIONS_RELEASE - ${OPTIONS_RELEASE} - OPTIONS_DEBUG - ${OPTIONS_DEBUG} - ) + if (VCPKG_LIBRARY_LINKAGE STREQUAL "static") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") + file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/readosm_i.lib") + if(NOT DEFINED VCPKG_BUILD_TYPE) + file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/lib/readosm_i.lib") + endif() + else() + file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/readosm.lib") + file(RENAME "${CURRENT_PACKAGES_DIR}/lib/readosm_i.lib" "${CURRENT_PACKAGES_DIR}/lib/readosm.lib") + if(NOT DEFINED VCPKG_BUILD_TYPE) + file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/lib/readosm.lib") + file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/readosm_i.lib" "${CURRENT_PACKAGES_DIR}/debug/lib/readosm.lib") + endif() + 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) - file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/readosm_i.lib) - file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/readosm_i.lib) - else() - file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/readosm.lib) - file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/readosm.lib) - file(RENAME ${CURRENT_PACKAGES_DIR}/lib/readosm_i.lib ${CURRENT_PACKAGES_DIR}/lib/readosm.lib) - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/readosm_i.lib ${CURRENT_PACKAGES_DIR}/debug/lib/readosm.lib) - endif() - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -elseif (VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_OSX) # Build in UNIX - vcpkg_extract_source_archive_ex( - ARCHIVE ${ARCHIVE} - OUT_SOURCE_PATH SOURCE_PATH - ) + set(infile "${SOURCE_PATH}/readosm.pc.in") + set(outfile "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/readosm.pc") + set(VERSION "${READOSM_VERSION_STR}") + set(exec_prefix [[${prefix}]]) + set(libdir [[${prefix}/lib]]) + set(includedir [[${prefix}/include]]) + list(JOIN pkg_config_modules " " requires_private) + configure_file("${infile}" "${outfile}" @ONLY) + if(NOT DEFINED VCPKG_BUILD_TYPE) + set(outfile "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/readosm.pc") + set(includedir [[${prefix}/../include]]) + configure_file("${infile}" "${outfile}" @ONLY) + endif() - vcpkg_configure_make( - SOURCE_PATH ${SOURCE_PATH} - AUTOCONFIG - OPTIONS - "LIBS=-lpthread -ldl -lstdc++ -lm" - ) +else() + x_vcpkg_pkgconfig_get_modules( + PREFIX PKGCONFIG + MODULES ${PKGCONFIG_MODULES} + LIBS + ) + vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG + OPTIONS_RELEASE + "LIBS=${PKGCONFIG_LIBS_RELEASE} \$LIBS" + OPTIONS_DEBUG + "LIBS=${PKGCONFIG_LIBS_DEBUG} \$LIBS" + ) - vcpkg_install_make() - vcpkg_fixup_pkgconfig(SYSTEM_LIBRARIES m) + vcpkg_install_make() endif() +vcpkg_fixup_pkgconfig() + # Handle copyright -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) \ No newline at end of file +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) \ No newline at end of file diff --git a/ports/readosm/vcpkg.json b/ports/readosm/vcpkg.json index f76990a8c98046..0824b50140f56e 100644 --- a/ports/readosm/vcpkg.json +++ b/ports/readosm/vcpkg.json @@ -1,11 +1,16 @@ { "name": "readosm", "version-string": "1.1.0a", - "port-version": 1, + "port-version": 4, "description": "ReadOSM is an open source library to extract valid data from within an Open Street Map input file (.osm or .osm.pbf)", "homepage": "https://www.gaia-gis.it/gaia-sins/readosm-sources", + "license": "MPL-1.1", "dependencies": [ "expat", + { + "name": "vcpkg-pkgconfig-get-modules", + "host": true + }, "zlib" ] } diff --git a/ports/realm-core/UWP_index_set.patch b/ports/realm-core/UWP_index_set.patch new file mode 100644 index 00000000000000..372f3520c0e992 --- /dev/null +++ b/ports/realm-core/UWP_index_set.patch @@ -0,0 +1,13 @@ +diff --git a/src/realm/object-store/index_set.hpp b/src/realm/object-store/index_set.hpp +index d61e78221..a95338967 100644 +--- a/src/realm/object-store/index_set.hpp ++++ b/src/realm/object-store/index_set.hpp +@@ -387,7 +387,7 @@ inline ChunkedRangeVectorIterator ChunkedRangeVectorIterator::operator--(i + } + + template +-#if REALM_WINDOWS && REALM_ARCHITECTURE_ARM64 ++#if defined(_MSC_VER) && REALM_ARCHITECTURE_ARM64 + // Inlining this function crashes msvc when targeting arm64 in as of 19.39.33523 + __declspec(noinline) + #endif diff --git a/ports/realm-core/fix-zlib.patch b/ports/realm-core/fix-zlib.patch new file mode 100644 index 00000000000000..198533d93de841 --- /dev/null +++ b/ports/realm-core/fix-zlib.patch @@ -0,0 +1,28 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1d5710f..42ee3c9 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -318,7 +318,9 @@ endif() + # so for an iOS build it'll use the path from the Device plaform, which is an error on Simulator. + # Just use -lz and let Xcode figure it out + # Emscripten does provide Zlib, but it doesn't work with find_package and is handled specially ++find_package(ZLIB REQUIRED) # vcpkg zlib, everwhere + if(NOT APPLE AND NOT EMSCRIPTEN AND NOT TARGET ZLIB::ZLIB) ++elseif(0) + if(WIN32 OR (CMAKE_SYSTEM_NAME STREQUAL "Linux" AND REALM_LINUX_TOOLCHAIN)) + find_package(ZLIB) + if (NOT ZLIB_FOUND) +diff --git a/tools/cmake/RealmConfig.cmake.in b/tools/cmake/RealmConfig.cmake.in +index e418c86..32af2c0 100644 +--- a/tools/cmake/RealmConfig.cmake.in ++++ b/tools/cmake/RealmConfig.cmake.in +@@ -21,7 +21,9 @@ find_dependency(Threads) + # Don't use find_library(ZLIB) on Apple platforms - it hardcodes the path per platform, + # so for an iOS build it'll use the path from the Device plaform, which is an error on Simulator. + # Just use -lz and let Xcode figure it out ++find_dependency(ZLIB) + if(TARGET Realm::Sync AND NOT APPLE AND NOT TARGET ZLIB::ZLIB) ++elseif(0) + if(WIN32 OR (CMAKE_SYSTEM_NAME STREQUAL "Linux" AND REALM_LINUX_TOOLCHAIN)) + find_package(ZLIB) + if (NOT ZLIB_FOUND) diff --git a/ports/realm-core/portfile.cmake b/ports/realm-core/portfile.cmake new file mode 100644 index 00000000000000..e52da4a65d560d --- /dev/null +++ b/ports/realm-core/portfile.cmake @@ -0,0 +1,49 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO realm/realm-core + REF "v${VERSION}" + SHA512 41ccf3e53bb1ff6e16a2baf90203984424d3b754973374af4d3767f67227f1223b314921954826ab62d45965a78540b93fc92a0ababd464f19dbaec368175022 + HEAD_REF master + PATCHES + UWP_index_set.patch + fix-zlib.patch +) + +vcpkg_list(SET REALMCORE_CMAKE_OPTIONS) +if(VCPKG_TARGET_IS_IOS OR VCPKG_TARGET_IS_OSX) + list(APPEND REALMCORE_CMAKE_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_OpenSSL=ON) +else() + if(VCPKG_TARGET_IS_EMSCRIPTEN) + list(APPEND REALMCORE_CMAKE_OPTIONS -DREALM_FORCE_OPENSSL=ON) + list(APPEND REALMCORE_CMAKE_OPTIONS -DREALM_ENABLE_SYNC=OFF) # https://github.com/realm/realm-core/issues/7752 + endif() + list(APPEND REALMCORE_CMAKE_OPTIONS -DREALM_USE_SYSTEM_OPENSSL=ON) +endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DREALM_BUILD_LIB_ONLY=ON + -DREALM_CORE_SUBMODULE_BUILD=OFF + -DREALM_NO_TESTS=ON + -DREALM_VERSION=${VERSION} + -DCMAKE_DISABLE_FIND_PACKAGE_Backtrace=ON + -DCMAKE_DISABLE_FIND_PACKAGE_BISON=ON + -DCMAKE_DISABLE_FIND_PACKAGE_FLEX=ON + ${REALMCORE_CMAKE_OPTIONS} + MAYBE_UNUSED_VARIABLES + CMAKE_DISABLE_FIND_PACKAGE_OpenSSL +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(PACKAGE_NAME "realm" CONFIG_PATH "share/cmake/Realm") + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/debug/doc" + "${CURRENT_PACKAGES_DIR}/doc" +) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE" "${SOURCE_PATH}/THIRD-PARTY-NOTICES") diff --git a/ports/realm-core/vcpkg.json b/ports/realm-core/vcpkg.json new file mode 100644 index 00000000000000..7e1cb4329568aa --- /dev/null +++ b/ports/realm-core/vcpkg.json @@ -0,0 +1,24 @@ +{ + "name": "realm-core", + "version": "14.10.4", + "description": "Realm is a mobile database that runs directly inside phones, tablets or wearables.", + "homepage": "https://github.com/realm/realm-core", + "license": null, + "supports": "!emscripten", + "dependencies": [ + { + "name": "openssl", + "platform": "!ios & !osx", + "version>=": "3.2.0" + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "zlib" + ] +} diff --git a/ports/realsense2/fix-dependency-glfw3.patch b/ports/realsense2/fix-dependency-glfw3.patch deleted file mode 100644 index c11a5cdd1ad091..00000000000000 --- a/ports/realsense2/fix-dependency-glfw3.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 16ced1b..ef1b158 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -69,7 +69,7 @@ include(CMake/install_config.cmake) - add_subdirectory(wrappers) - - if (BUILD_EXAMPLES AND BUILD_GLSL_EXTENSIONS) -- find_package(glfw3 3.3 QUIET) -+ find_package(glfw3 CONFIG REQUIRED) - if(NOT TARGET glfw) - message(STATUS "GLFW 3.3 not found; using internal version") - set(GLFW_INSTALL ON CACHE BOOL "" FORCE) diff --git a/ports/realsense2/fix-osx.patch b/ports/realsense2/fix-osx.patch new file mode 100644 index 00000000000000..e09756bcfbfab8 --- /dev/null +++ b/ports/realsense2/fix-osx.patch @@ -0,0 +1,73 @@ +diff --git a/CMake/lrs_macros.cmake b/CMake/lrs_macros.cmake +index b19a729049..cabb376c97 100644 +--- a/CMake/lrs_macros.cmake ++++ b/CMake/lrs_macros.cmake +@@ -7,21 +7,10 @@ macro(infoValue variableName) + endmacro() + + macro(config_cxx_flags) +- include(CheckCXXCompilerFlag) +- if(MSVC OR MSVC_IDE) +- check_cxx_compiler_flag(/std:c++14 SUPPORTS_CXX14) +- else() +- check_cxx_compiler_flag(-std=c++14 SUPPORTS_CXX14) +- endif() +- if( NOT SUPPORTS_CXX14 ) +- message(FATAL_ERROR "Project '${PROJECT_NAME}' requires C++14 or higher") +- endif() +- if( NOT CMAKE_CXX_STANDARD ) +- set( CMAKE_CXX_STANDARD 14 ) +- endif() + # We require that the current project (e.g., librealsense) use C++14. However, projects using + # the library don't need to be C++14 -- they can use C++11. Hence this is PRIVATE and not PUBLIC: +- target_compile_features( ${PROJECT_NAME} PRIVATE cxx_std_${CMAKE_CXX_STANDARD} ) ++ target_compile_features( ${PROJECT_NAME} PRIVATE cxx_std_14 ) ++ target_compile_features( ${PROJECT_NAME} INTERFACE cxx_std_11 ) + #set( CMAKE_CUDA_STANDARD ${LRS_CXX_STANDARD} ) + endmacro() + + +From b049865e918c44833c5f6ea293b5ae1ccdea99e2 Mon Sep 17 00:00:00 2001 +From: Leander Schulten +Date: Mon, 17 Jul 2023 00:48:18 +0200 +Subject: [PATCH 2/3] rsutils: specify required c++ version + +--- + third-party/rsutils/CMakeLists.txt | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/third-party/rsutils/CMakeLists.txt b/third-party/rsutils/CMakeLists.txt +index f6a0e41141..b31e684c43 100644 +--- a/third-party/rsutils/CMakeLists.txt ++++ b/third-party/rsutils/CMakeLists.txt +@@ -4,6 +4,7 @@ cmake_minimum_required(VERSION 3.8.0) # source_group(TREE) + project( rsutils ) + + add_library( ${PROJECT_NAME} STATIC "" ) ++target_compile_features( ${PROJECT_NAME} PUBLIC cxx_std_11 ) + set_target_properties( ${PROJECT_NAME} PROPERTIES FOLDER Library ) + + target_include_directories( ${PROJECT_NAME} + +From eaa61985dd54e88e943fc433264b1161c4482593 Mon Sep 17 00:00:00 2001 +From: Leander Schulten +Date: Mon, 17 Jul 2023 00:57:00 +0200 +Subject: [PATCH 3/3] realsense-file: specify required c++ version + +--- + third-party/realsense-file/CMakeLists.txt | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/third-party/realsense-file/CMakeLists.txt b/third-party/realsense-file/CMakeLists.txt +index a805cddf8c..63c3526b1d 100644 +--- a/third-party/realsense-file/CMakeLists.txt ++++ b/third-party/realsense-file/CMakeLists.txt +@@ -27,6 +27,8 @@ add_library(${PROJECT_NAME} STATIC + ${SOURCE_FILES_COMPRESSION} + ) + ++target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_11) ++ + target_include_directories(${PROJECT_NAME} PRIVATE + ${ROSBAG_HEADER_DIRS} + ${LZ4_INCLUDE_PATH} diff --git a/ports/realsense2/fix_config_osx.patch b/ports/realsense2/fix_config_osx.patch deleted file mode 100644 index d96f4bea58b989..00000000000000 --- a/ports/realsense2/fix_config_osx.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/CMake/unix_config.cmake b/CMake/unix_config.cmake -index 3e5929b..57dbe76 100644 ---- a/CMake/unix_config.cmake -+++ b/CMake/unix_config.cmake -@@ -35,7 +35,6 @@ macro(os_set_flags) - - if(APPLE) - set(FORCE_RSUSB_BACKEND ON) -- set(BUILD_WITH_TM2 ON) - endif() - - if(FORCE_RSUSB_BACKEND) diff --git a/ports/realsense2/portfile.cmake b/ports/realsense2/portfile.cmake index 7d59d891f21db6..1fcd2fb33ed804 100644 --- a/ports/realsense2/portfile.cmake +++ b/ports/realsense2/portfile.cmake @@ -1,13 +1,19 @@ +vcpkg_download_distfile(ARM64_DETECTION_FIX + URLS https://github.com/IntelRealSense/librealsense/commit/5a244052e2df7842940dfb5a9011973a09626300.patch?full_desc=1 + FILENAME realsense2-arm64-detection-fix-5a244052e2df7842940dfb5a9011973a09626300.patch + SHA512 2897a55a58ec549914378213a5decd0092a527268651e7cb140ce2dad3ee99ddde2735113a448d8a191552fc32fa40a45422b274f617c98cda3d1b3ce948204b +) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO IntelRealSense/librealsense - REF e9f05c55f88f6876633bd59fd1cb3848da64b699 #v2.49.0 - SHA512 dfd7012eb96f7d4a8054c8cc1141cd2c743255b7783d16565e02b2c688ea9d81cd61f3824f999c2c9d4ed1f44b3866b5bd399fab376ba8f16369989bda4bda85 + REF "v${VERSION}" + SHA512 20561294da571e0e1f5f8c9ac1039828512f3361a4241e5ad320bbb684626c1e78cd18e6a6344ec80fcd86dc699742c51069bc2b6895aec1dcbd9f394d2c9998 HEAD_REF master PATCHES fix_openni2.patch - fix-dependency-glfw3.patch - fix_config_osx.patch + fix-osx.patch # from https://github.com/IntelRealSense/librealsense/pull/11997 + "${ARM64_DETECTION_FIX}" ) file(COPY "${SOURCE_PATH}/src/win7/drivers/IntelRealSense_D400_series_win7.inf" DESTINATION "${SOURCE_PATH}") @@ -15,7 +21,6 @@ string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" BUILD_CRT_LINKAGE) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES - tm2 BUILD_WITH_TM2 tools BUILD_TOOLS ) @@ -48,15 +53,20 @@ vcpkg_cmake_configure( vcpkg_cmake_install() vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/realsense2) - +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/realsense2/realsense2Targets.cmake" "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel" "\${_IMPORT_PREFIX}") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/realsense2/realsense2Targets.cmake" "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg" "\${_IMPORT_PREFIX}") + + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/common/fw") + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/common/fw/fw.res" DESTINATION "${CURRENT_PACKAGES_DIR}/common/fw") +endif() vcpkg_copy_pdbs() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") if(BUILD_TOOLS) - set(TOOL_NAMES) - list(APPEND TOOL_NAMES rs-convert rs-enumerate-devices rs-fw-logger rs-fw-update rs-record rs-terminal) + set(TOOL_NAMES rs-convert rs-embed rs-enumerate-devices rs-fw-logger rs-fw-update rs-record rs-terminal) vcpkg_copy_tools(TOOL_NAMES ${TOOL_NAMES} AUTO_CLEAN) endif() @@ -67,5 +77,5 @@ if(BUILD_OPENNI2_BINDINGS) endif() endif() -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/realsense2/vcpkg.json b/ports/realsense2/vcpkg.json index 8eeac97239e159..a400ee5f91ccfa 100644 --- a/ports/realsense2/vcpkg.json +++ b/ports/realsense2/vcpkg.json @@ -1,13 +1,15 @@ { "name": "realsense2", - "version": "2.49.0", - "port-version": 1, + "version": "2.54.2", + "port-version": 3, "description": "Intel® RealSense™ SDK 2.0 is a cross-platform library for Intel® RealSense™ depth cameras (D400 series and the SR300).", "homepage": "https://github.com/IntelRealSense/librealsense", + "license": "Apache-2.0", + "supports": "!uwp & !(windows & arm)", "dependencies": [ { "name": "libusb", - "platform": "linux" + "platform": "!windows" }, { "name": "vcpkg-cmake", @@ -25,15 +27,8 @@ "openni2" ] }, - "tm2": { - "description": "Build Intel® RealSense™ T265 device" - }, "tools": { - "description": "Build Intel® RealSense™ tools", - "dependencies": [ - "glfw3", - "opengl" - ] + "description": "Build Intel® RealSense™ tools" } } } diff --git a/ports/recast/CMakeLists.txt b/ports/recast/CMakeLists.txt deleted file mode 100644 index 7ccc0828a1f31b..00000000000000 --- a/ports/recast/CMakeLists.txt +++ /dev/null @@ -1,67 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(recast) - -set(SRC - DebugUtils/Source/DebugDraw.cpp - DebugUtils/Source/DetourDebugDraw.cpp - DebugUtils/Source/RecastDebugDraw.cpp - DebugUtils/Source/RecastDump.cpp - Detour/Source/DetourAlloc.cpp - Detour/Source/DetourCommon.cpp - Detour/Source/DetourNavMesh.cpp - Detour/Source/DetourNavMeshBuilder.cpp - Detour/Source/DetourNavMeshQuery.cpp - Detour/Source/DetourNode.cpp - DetourCrowd/Source/DetourCrowd.cpp - DetourCrowd/Source/DetourLocalBoundary.cpp - DetourCrowd/Source/DetourObstacleAvoidance.cpp - DetourCrowd/Source/DetourPathCorridor.cpp - DetourCrowd/Source/DetourPathQueue.cpp - DetourCrowd/Source/DetourProximityGrid.cpp - DetourTileCache/Source/DetourTileCache.cpp - DetourTileCache/Source/DetourTileCacheBuilder.cpp - Recast/Source/Recast.cpp - Recast/Source/RecastAlloc.cpp - Recast/Source/RecastArea.cpp - Recast/Source/RecastContour.cpp - Recast/Source/RecastFilter.cpp - Recast/Source/RecastLayers.cpp - Recast/Source/RecastMesh.cpp - Recast/Source/RecastMeshDetail.cpp - Recast/Source/RecastRasterization.cpp - Recast/Source/RecastRegion.cpp -) - -add_library(recast ${SRC}) - -target_include_directories( - recast PUBLIC - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ - $ -) - -install( - TARGETS recast - EXPORT unofficial-recast-config - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib -) - -install(EXPORT unofficial-recast-config DESTINATION share/unofficial-recast) - -if(NOT DISABLE_INSTALL_HEADERS) - install(DIRECTORY DebugUtils/Include/ DESTINATION include/recast/DebugUtils) - install(DIRECTORY Detour/Include/ DESTINATION include/recast/Detour) - install(DIRECTORY DetourCrowd/Include/ DESTINATION include/recast/DetourCrowd) - install(DIRECTORY DetourTileCache/Include/ DESTINATION include/recast/DetourTileCache) - install(DIRECTORY Recast/Include/ DESTINATION include/recast/Recast) -endif() diff --git a/ports/recast/portfile.cmake b/ports/recast/portfile.cmake index 11484caa16b9d1..d7c7ca948ced45 100644 --- a/ports/recast/portfile.cmake +++ b/ports/recast/portfile.cmake @@ -1,25 +1,3 @@ -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO recastnavigation/recastnavigation - REF 1.5.1 - SHA512 09900d8893e0c633a79e6188d15e68d1047040a0f2bceb2542f486dded64e69b918eaae159def81416a014fae26a46502783a2a712462bee4be2a3edf7bef47f - HEAD_REF master -) - -file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") - -vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA -) - -vcpkg_cmake_install() - -vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-recast CONFIG_PATH share/unofficial-recast) - -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) +message(WARNING "This port is a stub port retained for compatibility. Use 'recastnavigation' instead.") \ No newline at end of file diff --git a/ports/recast/vcpkg.json b/ports/recast/vcpkg.json index 5abe9f93b06f5d..541b6560f3c10e 100644 --- a/ports/recast/vcpkg.json +++ b/ports/recast/vcpkg.json @@ -1,17 +1,10 @@ { "name": "recast", - "version": "1.5.1", - "port-version": 4, - "description": "Navigation-mesh Toolset for Games", + "version-string": "deprecated", + "description": "A stub package that pulls in recastnavigation. Do not depend on this package.", "homepage": "https://github.com/recastnavigation/recastnavigation", + "license": "Zlib", "dependencies": [ - { - "name": "vcpkg-cmake", - "host": true - }, - { - "name": "vcpkg-cmake-config", - "host": true - } + "recastnavigation" ] } diff --git a/ports/recastnavigation/fix-detail-mesh-edge-detection.patch b/ports/recastnavigation/fix-detail-mesh-edge-detection.patch new file mode 100644 index 00000000000000..a4a8257a7f1073 --- /dev/null +++ b/ports/recastnavigation/fix-detail-mesh-edge-detection.patch @@ -0,0 +1,103 @@ +diff --git a/Recast/Source/RecastMeshDetail.cpp b/Recast/Source/RecastMeshDetail.cpp +index 40f5b8c..d83bf1c 100644 +--- a/Recast/Source/RecastMeshDetail.cpp ++++ b/Recast/Source/RecastMeshDetail.cpp +@@ -634,6 +634,40 @@ inline float getJitterY(const int i) + return (((i * 0xd8163841) & 0xffff) / 65535.0f * 2.0f) - 1.0f; + } + ++static bool onHull(int a, int b, int nhull, int* hull) ++{ ++ // All internal sampled points come after the hull so we can early out for those. ++ if (a >= nhull || b >= nhull) ++ return false; ++ ++ for (int j = nhull - 1, i = 0; i < nhull; j = i++) ++ { ++ if (a == hull[j] && b == hull[i]) ++ return true; ++ } ++ ++ return false; ++} ++ ++// Find edges that lie on hull and mark them as such. ++static void setTriFlags(rcIntArray& tris, int nhull, int* hull) ++{ ++ // Matches DT_DETAIL_EDGE_BOUNDARY ++ const int DETAIL_EDGE_BOUNDARY = 0x1; ++ ++ for (int i = 0; i < tris.size(); i += 4) ++ { ++ int a = tris[i + 0]; ++ int b = tris[i + 1]; ++ int c = tris[i + 2]; ++ unsigned short flags = 0; ++ flags |= (onHull(a, b, nhull, hull) ? DETAIL_EDGE_BOUNDARY : 0) << 0; ++ flags |= (onHull(b, c, nhull, hull) ? DETAIL_EDGE_BOUNDARY : 0) << 2; ++ flags |= (onHull(c, a, nhull, hull) ? DETAIL_EDGE_BOUNDARY : 0) << 4; ++ tris[i + 3] = (int)flags; ++ } ++} ++ + static bool buildPolyDetail(rcContext* ctx, const float* in, const int nin, + const float sampleDist, const float sampleMaxError, + const int heightSearchRadius, const rcCompactHeightfield& chf, +@@ -771,6 +805,7 @@ static bool buildPolyDetail(rcContext* ctx, const float* in, const int nin, + if (minExtent < sampleDist*2) + { + triangulateHull(nverts, verts, nhull, hull, nin, tris); ++ setTriFlags(tris, nhull, hull); + return true; + } + +@@ -875,7 +910,8 @@ static bool buildPolyDetail(rcContext* ctx, const float* in, const int nin, + tris.resize(MAX_TRIS*4); + ctx->log(RC_LOG_ERROR, "rcBuildPolyMeshDetail: Shrinking triangle count from %d to max %d.", ntris, MAX_TRIS); + } +- ++ ++ setTriFlags(tris, nhull, hull); + return true; + } + +@@ -1137,30 +1173,6 @@ static void getHeightData(rcContext* ctx, const rcCompactHeightfield& chf, + } + } + +-static unsigned char getEdgeFlags(const float* va, const float* vb, +- const float* vpoly, const int npoly) +-{ +- // The flag returned by this function matches dtDetailTriEdgeFlags in Detour. +- // Figure out if edge (va,vb) is part of the polygon boundary. +- static const float thrSqr = rcSqr(0.001f); +- for (int i = 0, j = npoly-1; i < npoly; j=i++) +- { +- if (distancePtSeg2d(va, &vpoly[j*3], &vpoly[i*3]) < thrSqr && +- distancePtSeg2d(vb, &vpoly[j*3], &vpoly[i*3]) < thrSqr) +- return 1; +- } +- return 0; +-} +- +-static unsigned char getTriFlags(const float* va, const float* vb, const float* vc, +- const float* vpoly, const int npoly) +-{ +- unsigned char flags = 0; +- flags |= getEdgeFlags(va,vb,vpoly,npoly) << 0; +- flags |= getEdgeFlags(vb,vc,vpoly,npoly) << 2; +- flags |= getEdgeFlags(vc,va,vpoly,npoly) << 4; +- return flags; +-} + + /// @par + /// +@@ -1377,7 +1389,7 @@ bool rcBuildPolyMeshDetail(rcContext* ctx, const rcPolyMesh& mesh, const rcCompa + dmesh.tris[dmesh.ntris*4+0] = (unsigned char)t[0]; + dmesh.tris[dmesh.ntris*4+1] = (unsigned char)t[1]; + dmesh.tris[dmesh.ntris*4+2] = (unsigned char)t[2]; +- dmesh.tris[dmesh.ntris*4+3] = getTriFlags(&verts[t[0]*3], &verts[t[1]*3], &verts[t[2]*3], poly, npoly); ++ dmesh.tris[dmesh.ntris*4+3] = (unsigned char)t[3]; + dmesh.ntris++; + } + } diff --git a/ports/recastnavigation/portfile.cmake b/ports/recastnavigation/portfile.cmake new file mode 100644 index 00000000000000..e6f4a0d418a5f8 --- /dev/null +++ b/ports/recastnavigation/portfile.cmake @@ -0,0 +1,30 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO recastnavigation/recastnavigation + REF v${VERSION} + SHA512 7567aaa78219cc490a6f76210fba1f130f0c17aeaa06432ab1207e0fd03404abe31042e8b03971aa0d04ad65d39469f13575fe0072fb920c38581d39568b70fb + HEAD_REF master + PATCHES + fix-detail-mesh-edge-detection.patch #Upstream fix https://github.com/recastnavigation/recastnavigation/pull/657 +) +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DRECASTNAVIGATION_DEMO=OFF + -DRECASTNAVIGATION_TESTS=OFF + -DRECASTNAVIGATION_EXAMPLES=OFF + +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/recastnavigation) + +vcpkg_fixup_pkgconfig() + +vcpkg_copy_pdbs() +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/License.txt") diff --git a/ports/recastnavigation/vcpkg.json b/ports/recastnavigation/vcpkg.json new file mode 100644 index 00000000000000..839670623bb4f6 --- /dev/null +++ b/ports/recastnavigation/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "recastnavigation", + "version": "1.6.0", + "port-version": 1, + "description": "Navigation-mesh Toolset for Games", + "homepage": "https://github.com/recastnavigation/recastnavigation", + "license": "Zlib", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/recycle/portfile.cmake b/ports/recycle/portfile.cmake new file mode 100644 index 00000000000000..597585a900e570 --- /dev/null +++ b/ports/recycle/portfile.cmake @@ -0,0 +1,18 @@ +vcpkg_minimum_required(VERSION 2022-10-12) # for ${VERSION} + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO steinwurf/recycle + REF "${VERSION}" + SHA512 7fff2d8d8da0613d330d58b0f82fafd7fc20b78ac2588ba9743dc8033f130acaf29b37f4c2c02f8b39fc8d5b352f589c6e8398420161124a7143ca4ca6521512 +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" +) + +vcpkg_cmake_install() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.rst") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") diff --git a/ports/recycle/vcpkg.json b/ports/recycle/vcpkg.json new file mode 100644 index 00000000000000..2f48481b3b4b9f --- /dev/null +++ b/ports/recycle/vcpkg.json @@ -0,0 +1,13 @@ +{ + "name": "recycle", + "version": "6.0.0", + "description": "Simple resource pool for recycling resources in C++", + "homepage": "https://github.com/steinwurf/recycle", + "license": "BSD-3-Clause", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] +} diff --git a/ports/redis-plus-plus/fix-absolute-path.patch b/ports/redis-plus-plus/fix-absolute-path.patch new file mode 100644 index 00000000000000..77544b2d9616ee --- /dev/null +++ b/ports/redis-plus-plus/fix-absolute-path.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c329f9b..785ca3c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -180,7 +180,7 @@ set(CMAKE_REQUIRED_LIBRARIES ${HIREDIS_FEATURE_TEST_LIB}) + CHECK_SYMBOL_EXISTS(redisEnableKeepAliveWithInterval ${HIREDIS_FEATURE_TEST_HEADER} REDIS_PLUS_PLUS_HAS_redisEnableKeepAliveWithInterval) + + set(REDIS_PLUS_PLUS_GENERATED_HEADER_DIR ${CMAKE_CURRENT_BINARY_DIR}/${REDIS_PLUS_PLUS_HEADER_DIR}) +-configure_file(${CMAKE_CURRENT_SOURCE_DIR}/hiredis_features.h.in ${CMAKE_CURRENT_BINARY_DIR}/${REDIS_PLUS_PLUS_SOURCE_DIR}/hiredis_features.h) ++configure_file("${CMAKE_CURRENT_SOURCE_DIR}/hiredis_features.h.in" "${CMAKE_CURRENT_BINARY_DIR}/${REDIS_PLUS_PLUS_SOURCE_DIR}/hiredis_features.h") + + # Restore CMAKE_REQUIRED_LIBRARIES + set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES_BACK}) diff --git a/ports/redis-plus-plus/fix-conversion.patch b/ports/redis-plus-plus/fix-conversion.patch index 57d6da26e905f8..088e7fd7a7e8da 100644 --- a/ports/redis-plus-plus/fix-conversion.patch +++ b/ports/redis-plus-plus/fix-conversion.patch @@ -1,13 +1,13 @@ diff --git a/src/sw/redis++/shards.cpp b/src/sw/redis++/shards.cpp -index c5baf5a..08e96cd 100644 +index fc58eea..ea57266 100644 --- a/src/sw/redis++/shards.cpp +++ b/src/sw/redis++/shards.cpp -@@ -41,7 +41,7 @@ std::pair RedirectionError::_parse_error(const std::string &msg) con +@@ -42,7 +42,7 @@ std::pair RedirectionError::_parse_error(const std::string &msg) con auto host = msg.substr(space_pos + 1, colon_pos - space_pos - 1); auto port = std::stoi(msg.substr(colon_pos + 1)); - return {slot, {host, port}}; + return {static_cast(slot), {host, port}}; - } catch (const std::exception &e) { - throw ProtoError("Invalid ASK error message: " + msg); + } catch (const std::exception &) { + throw ProtoError("invalid redirection error message: " + msg); } diff --git a/ports/redis-plus-plus/fix-dependency-libuv.patch b/ports/redis-plus-plus/fix-dependency-libuv.patch new file mode 100644 index 00000000000000..bc1808adaebcbf --- /dev/null +++ b/ports/redis-plus-plus/fix-dependency-libuv.patch @@ -0,0 +1,23 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ae2507e..c329f9b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -45,8 +45,8 @@ if(REDIS_PLUS_PLUS_BUILD_ASYNC) + message(STATUS "redis-plus-plus build async interface with libuv") + + # libuv dependency +- find_path(REDIS_PLUS_PLUS_ASYNC_LIB_HEADER NAMES uv.h) +- find_library(REDIS_PLUS_PLUS_ASYNC_LIB uv) ++ find_package(libuv CONFIG REQUIRED) ++ set(REDIS_PLUS_PLUS_ASYNC_LIB $,libuv::uv_a,libuv::uv>) + else() + message(FATAL_ERROR "invalid REDIS_PLUS_PLUS_BUILD_ASYNC") + endif() +@@ -228,7 +228,6 @@ if(REDIS_PLUS_PLUS_BUILD_STATIC) + + if(REDIS_PLUS_PLUS_BUILD_ASYNC) + target_include_directories(${STATIC_LIB} PUBLIC $) +- target_include_directories(${STATIC_LIB} PUBLIC $) + if(REDIS_PLUS_PLUS_ASYNC_FUTURE STREQUAL "boost") + target_include_directories(${STATIC_LIB} SYSTEM PUBLIC $) + endif() diff --git a/ports/redis-plus-plus/fix-ws2-linking-windows.patch b/ports/redis-plus-plus/fix-ws2-linking-windows.patch deleted file mode 100644 index 06f75083ba3fa5..00000000000000 --- a/ports/redis-plus-plus/fix-ws2-linking-windows.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 452cc0f..90932ce 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -148,6 +148,7 @@ if(REDIS_PLUS_PLUS_BUILD_SHARED) - target_compile_definitions(${SHARED_LIB} PRIVATE NOMINMAX) - set_target_properties(${SHARED_LIB} PROPERTIES CXX_STANDARD ${REDIS_PLUS_PLUS_CXX_STANDARD}) - set_target_properties(${SHARED_LIB} PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS TRUE) -+ target_link_libraries(${SHARED_LIB} PUBLIC Ws2_32.lib) - else() - target_compile_options(${SHARED_LIB} PRIVATE "-Wall" "-W" "-Werror") - endif() diff --git a/ports/redis-plus-plus/portfile.cmake b/ports/redis-plus-plus/portfile.cmake index eb5b6b644fd56c..682654a143b418 100644 --- a/ports/redis-plus-plus/portfile.cmake +++ b/ports/redis-plus-plus/portfile.cmake @@ -1,12 +1,18 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO sewenew/redis-plus-plus - REF cff6ab8d8557a113ad97dfb779eb46647f7c92c7 # 1.3.1 - SHA512 2bd179f47b13d05d58358ddf1aeef93fbc9e748a12f07fa5bd59fd75adcf7f3261d5f871d8fd33628d2d9df04e341ed24314fc2e817887ba0079e2711b5da317 + REF "${VERSION}" + SHA512 c2892ec1b2f242ee19c727cd9dd1bc4e08b9f515f5736bffee5b5a12a2f1b2eddec0ebeba7998a5abc5620bdff37b5d745abdf0d7586b89535ce0ae035988ef4 HEAD_REF master PATCHES - fix-ws2-linking-windows.patch fix-conversion.patch + fix-dependency-libuv.patch + fix-absolute-path.patch +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + "tls" REDIS_PLUS_PLUS_USE_TLS ) if("cxx17" IN_LIST FEATURES) @@ -15,27 +21,46 @@ else() set(REDIS_PLUS_PLUS_CXX_STANDARD 11) endif() +set(EXTRA_OPT "") +if ("async" IN_LIST FEATURES) + list(APPEND EXTRA_OPT "-DREDIS_PLUS_PLUS_BUILD_ASYNC=libuv") +endif() +if ("async-std" IN_LIST FEATURES) + list(APPEND EXTRA_OPT "-DREDIS_PLUS_PLUS_ASYNC_FUTURE=std") +endif() + string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" REDIS_PLUS_PLUS_BUILD_STATIC) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" REDIS_PLUS_PLUS_BUILD_SHARED) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" + DISABLE_PARALLEL_CONFIGURE OPTIONS - -DREDIS_PLUS_PLUS_USE_TLS=OFF + ${FEATURE_OPTIONS} -DREDIS_PLUS_PLUS_BUILD_STATIC=${REDIS_PLUS_PLUS_BUILD_STATIC} -DREDIS_PLUS_PLUS_BUILD_SHARED=${REDIS_PLUS_PLUS_BUILD_SHARED} -DREDIS_PLUS_PLUS_BUILD_TEST=OFF -DREDIS_PLUS_PLUS_CXX_STANDARD=${REDIS_PLUS_PLUS_CXX_STANDARD} + ${EXTRA_OPT} ) vcpkg_cmake_install() vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup(PACKAGE_NAME redis++ CONFIG_PATH share/cmake/redis++) + +if("async" IN_LIST FEATURES) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/redis++/redis++-config.cmake" +"include(CMakeFindDependencyMacro)" +[[include(CMakeFindDependencyMacro) +find_dependency(libuv CONFIG)]]) +endif() + 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") vcpkg_fixup_pkgconfig() diff --git a/ports/redis-plus-plus/vcpkg.json b/ports/redis-plus-plus/vcpkg.json index a789d9c2727462..64e10a5ba4ba9f 100644 --- a/ports/redis-plus-plus/vcpkg.json +++ b/ports/redis-plus-plus/vcpkg.json @@ -1,9 +1,9 @@ { "name": "redis-plus-plus", - "version-semver": "1.3.1", - "port-version": 1, + "version-semver": "1.3.13", "description": "This is a C++ client for Redis. It's based on hiredis, and written in C++ 11", "homepage": "https://github.com/sewenew/redis-plus-plus", + "license": "Apache-2.0", "dependencies": [ "hiredis", { @@ -16,8 +16,38 @@ } ], "features": { + "async": { + "description": "Build with async", + "dependencies": [ + "libuv" + ] + }, + "async-std": { + "description": "Build async with std::future", + "dependencies": [ + { + "name": "redis-plus-plus", + "default-features": false, + "features": [ + "async" + ] + } + ] + }, "cxx17": { "description": "Build redis-plus-plus with cxx 17 standard" + }, + "tls": { + "description": "Build with TLS support", + "dependencies": [ + { + "name": "hiredis", + "default-features": false, + "features": [ + "ssl" + ] + } + ] } } } diff --git a/ports/refl-cpp/portfile.cmake b/ports/refl-cpp/portfile.cmake index de642ed180e039..59d5a4ca083579 100644 --- a/ports/refl-cpp/portfile.cmake +++ b/ports/refl-cpp/portfile.cmake @@ -1,13 +1,12 @@ # header-only library - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO veselink1/refl-cpp - REF v0.12.1 - SHA512 7f1b9473512e305181f2c46940d34aa75a9cee65c69340ddb68b7e5bb2346206ff2c5b83c5d8460bac4a738258e4f6305b6fe8bc3044a1bcb69b30d79dcd5107 + REF "v${VERSION}" + SHA512 fcebda170782fd7cc55395fd64012356f416deb1199e2eceee7391c7c1963e39c214e7d99c42e7ca371d6d86923173e916b09e4867cacfaeed4902b5466aed03 HEAD_REF master ) -file(COPY "${SOURCE_PATH}/refl.hpp" DESTINATION "${CURRENT_PACKAGES_DIR}/include") +file(COPY "${SOURCE_PATH}/include/refl.hpp" DESTINATION "${CURRENT_PACKAGES_DIR}/include") configure_file("${SOURCE_PATH}/LICENSE" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) diff --git a/ports/refl-cpp/vcpkg.json b/ports/refl-cpp/vcpkg.json index b8cbc487e89173..ab879529b4cd2b 100644 --- a/ports/refl-cpp/vcpkg.json +++ b/ports/refl-cpp/vcpkg.json @@ -1,6 +1,7 @@ { "name": "refl-cpp", - "version": "0.12.1", - "description": "A compile-time reflection library for modern C++ with support for overloads, templates, attributes and proxies", - "homepage": "https://github.com/veselink1/refl-cpp" + "version": "0.12.4", + "description": "Static reflection for C++17 (compile-time enumeration, attributes, proxies, overloads, template functions, metaprogramming).", + "homepage": "https://github.com/veselink1/refl-cpp", + "license": "MIT" } diff --git a/ports/refprop-headers/portfile.cmake b/ports/refprop-headers/portfile.cmake index befb0184be48b9..a39b5601b93c19 100644 --- a/ports/refprop-headers/portfile.cmake +++ b/ports/refprop-headers/portfile.cmake @@ -1,16 +1,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO CoolProp/REFPROP-headers - REF 8df35c7cb557d385bb66431e92e836104a63a33c - SHA512 4424d036c3cd6c9028fffbeda0919d38f4b0a290fb141c6d1ff26c70cd416d9a0d2e1584c51b6ad2e989e84a8a71660f62dadaa88bb22428972165ba01131cb2 + REF b4faab1b73911c32c4b69c526c7e92f74edb67de + SHA512 601fcc70e7e12419e03e71b140c2fcec80eafb19f24f9871355679662802815f98cce2d167638658ba04ba7da0e811b2cf5393ced4dbe40cb2930dee75acced5 HEAD_REF master + PATCHES + unicode-build.diff # https://github.com/CoolProp/REFPROP-headers/issues/21 ) -file(INSTALL ${SOURCE_PATH}/REFPROP_lib.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) +file(INSTALL "${SOURCE_PATH}/REFPROP_lib.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include") -# Handle copyright -file( - INSTALL ${SOURCE_PATH}/LICENSE - DESTINATION ${CURRENT_PACKAGES_DIR}/share/refprop-headers - RENAME copyright -) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/refprop-headers/unicode-build.diff b/ports/refprop-headers/unicode-build.diff new file mode 100644 index 00000000000000..4dc210a4c3d09c --- /dev/null +++ b/ports/refprop-headers/unicode-build.diff @@ -0,0 +1,13 @@ +diff --git a/REFPROP_lib.h b/REFPROP_lib.h +index 60fb64a..df10d2c 100644 +--- a/REFPROP_lib.h ++++ b/REFPROP_lib.h +@@ -762,7 +762,7 @@ extern "C" { + #ifndef UNICODE + msg = dllPath; + #else +- std::wstring wStr = t; ++ std::wstring wStr = dllPath; + msg = std::string(wStr.begin(), wStr.end()); + #endif + RPPath_loaded = msg; diff --git a/ports/refprop-headers/vcpkg.json b/ports/refprop-headers/vcpkg.json index f0b73813b5494e..a91b600282334d 100644 --- a/ports/refprop-headers/vcpkg.json +++ b/ports/refprop-headers/vcpkg.json @@ -1,7 +1,7 @@ { "name": "refprop-headers", - "version-string": "2019-04-14", - "port-version": 1, - "description": "The REFPROP Headers", - "homepage": "https://github.com/CoolProp/REFPROP-headers" + "version-date": "2022-12-07", + "description": "Header files for the REFPROP fluid property library", + "homepage": "https://github.com/CoolProp/REFPROP-headers", + "license": "MIT" } diff --git a/ports/rendergraph/portfile.cmake b/ports/rendergraph/portfile.cmake new file mode 100644 index 00000000000000..ac774af3d48d8a --- /dev/null +++ b/ports/rendergraph/portfile.cmake @@ -0,0 +1,38 @@ +vcpkg_from_github(OUT_SOURCE_PATH SOURCE_PATH + REPO DragonJoker/RenderGraph + REF v${VERSION} + HEAD_REF master + SHA512 00b15faf541a1fc163c10ddae9061355dca44ce5fbb379f80c3c8d4f554b6815dec8167a868dd5227d3ef49444867f124c025153db3fbe80e4a2bd27a739b74e +) + +vcpkg_from_github(OUT_SOURCE_PATH CMAKE_SOURCE_PATH + REPO DragonJoker/CMakeUtils + REF d66b1c5e964368e036fbfd70a22e84077a7de236 + HEAD_REF master + SHA512 040c6886675894b4bdb89e9ef5f9f24b669c5644aec88082d06429cb0d47bb041e72517921518b85e02f124058db6182f57e74568d08b1b2316b1992b01f1a3a +) + +get_filename_component(SRC_PATH "${CMAKE_SOURCE_PATH}" DIRECTORY) +if (EXISTS "${SRC_PATH}/CMake") + file(REMOVE_RECURSE "${SRC_PATH}/CMake") +endif() +file(RENAME "${CMAKE_SOURCE_PATH}" "${SRC_PATH}/CMake") +set(CMAKE_SOURCE_PATH "${SRC_PATH}/CMake") +file(COPY "${CMAKE_SOURCE_PATH}" DESTINATION "${SOURCE_PATH}") + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC) + +vcpkg_cmake_configure( + SOURCE_PATH ${SOURCE_PATH} + OPTIONS + -DPROJECTS_USE_PRECOMPILED_HEADERS=ON + -DCRG_UNITY_BUILD=ON + -DCRG_BUILD_STATIC=${BUILD_STATIC} + -DVULKAN_HEADERS_INCLUDE_DIRS=${CURRENT_INSTALLED_DIR}/include +) + +vcpkg_copy_pdbs() +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/RenderGraph) + +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/rendergraph/vcpkg.json b/ports/rendergraph/vcpkg.json new file mode 100644 index 00000000000000..a7da154f321bc5 --- /dev/null +++ b/ports/rendergraph/vcpkg.json @@ -0,0 +1,19 @@ +{ + "name": "rendergraph", + "version": "1.4.1", + "description": "Vulkan render graph implementation.", + "homepage": "https://github.com/DragonJoker/RenderGraph", + "license": "MIT", + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "vulkan-headers" + ] +} diff --git a/ports/replxx/portfile.cmake b/ports/replxx/portfile.cmake index e9fc798467db64..140d7425ee8491 100644 --- a/ports/replxx/portfile.cmake +++ b/ports/replxx/portfile.cmake @@ -1,5 +1,3 @@ -vcpkg_fail_port_install(ON_TARGET "UWP") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO AmokHuginnsson/replxx diff --git a/ports/replxx/vcpkg.json b/ports/replxx/vcpkg.json index 58c74968d9961a..e82e01326802c8 100644 --- a/ports/replxx/vcpkg.json +++ b/ports/replxx/vcpkg.json @@ -1,6 +1,7 @@ { "name": "replxx", "version": "0.0.4", + "port-version": 1, "description": "A small, portable GNU readline replacement for Linux, Windows and MacOS which is capable of handling UTF-8 characters.", "homepage": "https://github.com/AmokHuginnsson/replxx", "supports": "!uwp", diff --git a/ports/reproc/portfile.cmake b/ports/reproc/portfile.cmake index ec99b5112ac80b..ff6d6fded92469 100644 --- a/ports/reproc/portfile.cmake +++ b/ports/reproc/portfile.cmake @@ -1,10 +1,8 @@ -vcpkg_fail_port_install(ON_TARGET "UWP") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO DaanDeMeyer/reproc - REF v14.2.4 - SHA512 c592521960f1950d626261738091d25efdf764ee1a0c72a58c28c66eaebf6073b2c978f1dc2c8dbe89b0be7ec1629a3a45cb1fafa0ebe21b5df8d4d27c992675 + REF "v${VERSION}" + SHA512 d6c8abfc4fbef894310f4ad6250ddf269279bce13954ba6bc0147e0bf7e08f5a5e924ba079205881d6bf1dfe865e5f4389517d6d3bbafdede24ed328c549a991 HEAD_REF main ) @@ -26,8 +24,4 @@ foreach(TARGET reproc reproc++) ) endforeach() -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/reproc/vcpkg.json b/ports/reproc/vcpkg.json index a4f70dc794d782..347effc2b58697 100644 --- a/ports/reproc/vcpkg.json +++ b/ports/reproc/vcpkg.json @@ -1,6 +1,6 @@ { "name": "reproc", - "version": "14.2.4", + "version": "14.2.5", "description": "Cross-platform (C99/C++11) process library", "homepage": "https://github.com/DaanDeMeyer/reproc", "supports": "!uwp", diff --git a/ports/rest-rpc/portfile.cmake b/ports/rest-rpc/portfile.cmake index 551ff14288eefe..bc96531d10b83e 100644 --- a/ports/rest-rpc/portfile.cmake +++ b/ports/rest-rpc/portfile.cmake @@ -1,22 +1,14 @@ -if (EXISTS ${CURRENT_INSTALLED_DIR}/include/msgpack/pack.h) - message(FATAL_ERROR "Cannot install ${PORT} when msgpack is already installed, please remove msgpack using \"./vcpkg remove msgpack:${TARGET_TRIPLET}\"") -endif() - # header-only library -set(RESTRPC_VERSION V0.07) -set(RESTRPC_HASH 148152776c8c4f16e404c62ab3f46618e1817c0b4b186dbcc399c859efd110ed5a207bf56e961c312f80844f696f597068e0abc00e426409d50a2889d30c6d8e) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/rest-rpc-${RESTRPC_VERSION}) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO qicosmos/rest_rpc - REF ${RESTRPC_VERSION} - SHA512 ${RESTRPC_HASH} + REF "v${VERSION}" + SHA512 1d88085acc6c4f913901631725acd08a688a079878677d064d441c3c89167275c5eed371d24e370feb88879ac06270e9316b91c67ea41e350523fe670406ecc1 HEAD_REF master ) -file(INSTALL ${SOURCE_PATH}/include/ DESTINATION ${CURRENT_PACKAGES_DIR}/include) -file(INSTALL ${SOURCE_PATH}/third/msgpack/include/ DESTINATION ${CURRENT_PACKAGES_DIR}/include) +file(INSTALL "${SOURCE_PATH}/include/" DESTINATION "${CURRENT_PACKAGES_DIR}/include") vcpkg_replace_string( "${CURRENT_PACKAGES_DIR}/include/rest_rpc.hpp" @@ -24,5 +16,6 @@ vcpkg_replace_string( "#define ASIO_STANDALONE\n#include \"rest_rpc/rpc_server.h\"" ) -# # Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/unofficial-rest-rpc-config.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/unofficial-rest-rpc-config") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/rest-rpc/unofficial-rest-rpc-config.cmake b/ports/rest-rpc/unofficial-rest-rpc-config.cmake new file mode 100644 index 00000000000000..76040948e18e68 --- /dev/null +++ b/ports/rest-rpc/unofficial-rest-rpc-config.cmake @@ -0,0 +1,14 @@ +include(CMakeFindDependencyMacro) +find_dependency(asio CONFIG) +find_dependency(msgpack-cxx CONFIG) + +get_filename_component(vcpkg_rest_rpc_prefix_path "${CMAKE_CURRENT_LIST_DIR}" PATH) +get_filename_component(vcpkg_rest_rpc_prefix_path "${vcpkg_rest_rpc_prefix_path}" PATH) + +if(NOT TARGET unofficial::rest-rpc::rest-rpc) + add_library(unofficial::rest-rpc::rest-rpc INTERFACE IMPORTED) + target_include_directories(unofficial::rest-rpc::rest-rpc INTERFACE "${vcpkg_rest_rpc_prefix_path}/include") + target_link_libraries(unofficial::rest-rpc::rest-rpc INTERFACE asio::asio msgpack-cxx) +endif() + +unset(vcpkg_rest_rpc_prefix_path) diff --git a/ports/rest-rpc/vcpkg.json b/ports/rest-rpc/vcpkg.json index 478198e72246ba..9c79425269226b 100644 --- a/ports/rest-rpc/vcpkg.json +++ b/ports/rest-rpc/vcpkg.json @@ -1,10 +1,11 @@ { "name": "rest-rpc", - "version-string": "0.07", - "port-version": 2, + "version": "0.12", + "port-version": 1, "description": "c++11, high performance, cross platform, easy to use rpc framework", "homepage": "https://github.com/qicosmos/rest_rpc", "dependencies": [ - "asio" + "asio", + "msgpack" ] } diff --git a/ports/restbed/asio-1-18-0-deprecations.patch b/ports/restbed/asio-1-18-0-deprecations.patch deleted file mode 100644 index 7007775a2c9dd7..00000000000000 --- a/ports/restbed/asio-1-18-0-deprecations.patch +++ /dev/null @@ -1,112 +0,0 @@ -diff --git a/source/corvusoft/restbed/detail/http_impl.cpp b/source/corvusoft/restbed/detail/http_impl.cpp -index 77f918a..08d2c9c 100644 ---- a/source/corvusoft/restbed/detail/http_impl.cpp -+++ b/source/corvusoft/restbed/detail/http_impl.cpp -@@ -153,7 +153,7 @@ namespace restbed - { - #endif - auto socket = make_shared< tcp::socket >( *request->m_pimpl->m_io_service ); -- request->m_pimpl->m_socket = make_shared< SocketImpl >( socket ); -+ request->m_pimpl->m_socket = make_shared< SocketImpl >( *request->m_pimpl->m_io_service, socket ); - #ifdef BUILD_SSL - } - -@@ -196,7 +196,7 @@ namespace restbed - } - - socket->set_verify_callback( asio::ssl::rfc2818_verification( request->get_host( ) ) ); -- request->m_pimpl->m_socket = make_shared< SocketImpl >( socket ); -+ request->m_pimpl->m_socket = make_shared< SocketImpl >( *request->m_pimpl->m_io_service, socket ); - } - #endif - void HttpImpl::request_handler( const error_code& error, const shared_ptr< Request >& request, const function< void ( const shared_ptr< Request >, const shared_ptr< Response > ) >& callback ) -diff --git a/source/corvusoft/restbed/detail/service_impl.cpp b/source/corvusoft/restbed/detail/service_impl.cpp -index 6772af1..87be1ce 100644 ---- a/source/corvusoft/restbed/detail/service_impl.cpp -+++ b/source/corvusoft/restbed/detail/service_impl.cpp -@@ -147,7 +147,7 @@ namespace restbed - - void ServiceImpl::http_listen( void ) const - { -- auto socket = make_shared< tcp::socket >( m_acceptor->get_io_service( ) ); -+ auto socket = make_shared< tcp::socket >( *m_io_service ); - m_acceptor->async_accept( *socket, bind( &ServiceImpl::create_session, this, socket, _1 ) ); - } - -@@ -273,7 +273,7 @@ namespace restbed - - void ServiceImpl::https_listen( void ) const - { -- auto socket = make_shared< asio::ssl::stream< tcp::socket > >( m_ssl_acceptor->get_io_service( ), *m_ssl_context ); -+ auto socket = make_shared< asio::ssl::stream< tcp::socket > >( *m_io_service, *m_ssl_context ); - m_ssl_acceptor->async_accept( socket->lowest_layer( ), bind( &ServiceImpl::create_ssl_session, this, socket, _1 ) ); - } - -@@ -289,7 +289,7 @@ namespace restbed - return; - } - -- auto connection = make_shared< SocketImpl >( socket, m_logger ); -+ auto connection = make_shared< SocketImpl >( *m_io_service, socket, m_logger ); - connection->set_timeout( m_settings->get_connection_timeout( ) ); - if (m_settings->get_keep_alive()) { - connection->set_keep_alive( m_settings->get_keep_alive_start(), -@@ -530,7 +530,7 @@ namespace restbed - { - if ( not error ) - { -- auto connection = make_shared< SocketImpl >( socket, m_logger ); -+ auto connection = make_shared< SocketImpl >( *m_io_service, socket, m_logger ); - connection->set_timeout( m_settings->get_connection_timeout( ) ); - if (m_settings->get_keep_alive()) { - connection->set_keep_alive( m_settings->get_keep_alive_start(), -diff --git a/source/corvusoft/restbed/detail/socket_impl.cpp b/source/corvusoft/restbed/detail/socket_impl.cpp -index fac0082..942eefa 100644 ---- a/source/corvusoft/restbed/detail/socket_impl.cpp -+++ b/source/corvusoft/restbed/detail/socket_impl.cpp -@@ -49,12 +49,12 @@ namespace restbed - { - namespace detail - { -- SocketImpl::SocketImpl( const shared_ptr< tcp::socket >& socket, const shared_ptr< Logger >& logger ) : m_error_handler( nullptr ), -+ SocketImpl::SocketImpl( asio::io_context& context, const shared_ptr< tcp::socket >& socket, const shared_ptr< Logger >& logger ) : m_error_handler( nullptr ), - m_is_open( socket->is_open( ) ), - m_pending_writes( ), - m_logger( logger ), - m_timeout( 0 ), -- m_io_service( socket->get_io_service( ) ), -+ m_io_service( context ), - m_timer( make_shared< asio::steady_timer >( m_io_service ) ), - m_strand( make_shared< io_service::strand > ( m_io_service ) ), - m_resolver( nullptr ), -@@ -66,12 +66,12 @@ namespace restbed - return; - } - #ifdef BUILD_SSL -- SocketImpl::SocketImpl( const shared_ptr< asio::ssl::stream< tcp::socket > >& socket, const shared_ptr< Logger >& logger ) : m_error_handler( nullptr ), -+ SocketImpl::SocketImpl( asio::io_context& context, const shared_ptr< asio::ssl::stream< tcp::socket > >& socket, const shared_ptr< Logger >& logger ) : m_error_handler( nullptr ), - m_is_open( socket->lowest_layer( ).is_open( ) ), - m_pending_writes( ), - m_logger( logger ), - m_timeout( 0 ), -- m_io_service( socket->get_io_service( ) ), -+ m_io_service( context ), - m_timer( make_shared< asio::steady_timer >( m_io_service ) ), - m_strand( make_shared< io_service::strand > ( m_io_service ) ), - m_resolver( nullptr ), -diff --git a/source/corvusoft/restbed/detail/socket_impl.hpp b/source/corvusoft/restbed/detail/socket_impl.hpp -index 41aec42..0977eba 100644 ---- a/source/corvusoft/restbed/detail/socket_impl.hpp -+++ b/source/corvusoft/restbed/detail/socket_impl.hpp -@@ -53,9 +53,9 @@ namespace restbed - //Definitions - - //Constructors -- SocketImpl( const std::shared_ptr< asio::ip::tcp::socket >& socket, const std::shared_ptr< Logger >& logger = nullptr ); -+ SocketImpl( asio::io_context& context, const std::shared_ptr< asio::ip::tcp::socket >& socket, const std::shared_ptr< Logger >& logger = nullptr ); - #ifdef BUILD_SSL -- SocketImpl( const std::shared_ptr< asio::ssl::stream< asio::ip::tcp::socket > >& socket, const std::shared_ptr< Logger >& logger = nullptr ); -+ SocketImpl( asio::io_context& context, const std::shared_ptr< asio::ssl::stream< asio::ip::tcp::socket > >& socket, const std::shared_ptr< Logger >& logger = nullptr ); - #endif - ~SocketImpl( void ) = default; - diff --git a/ports/restbed/fix-cmake.patch b/ports/restbed/fix-cmake.patch new file mode 100644 index 00000000000000..4f0ace2fb454d2 --- /dev/null +++ b/ports/restbed/fix-cmake.patch @@ -0,0 +1,86 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e6095da..6bf8d81 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -57,7 +57,11 @@ find_package( asio REQUIRED ) + + if ( BUILD_SSL ) + add_definitions( "-DBUILD_SSL" ) +- find_package( openssl REQUIRED ) ++ find_package( OpenSSL REQUIRED ) ++ set( ssl_LIBRARY_SHARED OpenSSL::SSL ) ++ set( crypto_LIBRARY_SHARED OpenSSL::Crypto ) ++ set( ssl_LIBRARY_STATIC OpenSSL::SSL ) ++ set( crypto_LIBRARY_STATIC OpenSSL::Crypto ) + endif ( ) + + include_directories( ${INCLUDE_DIR} SYSTEM ${asio_INCLUDE} ${ssl_INCLUDE} ) +@@ -76,12 +80,14 @@ endif ( ) + # + file( GLOB_RECURSE MANIFEST "${SOURCE_DIR}/*.cpp" ) + ++if ( NOT BUILD_SHARED_LIBS ) + set( STATIC_LIBRARY_NAME "${PROJECT_NAME}-static" ) + add_library( ${STATIC_LIBRARY_NAME} STATIC ${MANIFEST} ) + set_property( TARGET ${STATIC_LIBRARY_NAME} PROPERTY CXX_STANDARD 14 ) + set_property( TARGET ${STATIC_LIBRARY_NAME} PROPERTY CXX_STANDARD_REQUIRED ON ) + set_target_properties( ${STATIC_LIBRARY_NAME} PROPERTIES OUTPUT_NAME ${PROJECT_NAME} ) +- ++target_include_directories(${STATIC_LIBRARY_NAME} INTERFACE $) ++else ( ) + set( SHARED_LIBRARY_NAME "${PROJECT_NAME}-shared" ) + add_library( ${SHARED_LIBRARY_NAME} SHARED ${MANIFEST} ) + set_property( TARGET ${SHARED_LIBRARY_NAME} PROPERTY CXX_STANDARD 14 ) +@@ -93,14 +99,22 @@ else ( ) + set_target_properties( ${SHARED_LIBRARY_NAME} PROPERTIES OUTPUT_NAME ${PROJECT_NAME} ) + endif ( ) + set_target_properties( ${SHARED_LIBRARY_NAME} PROPERTIES SOVERSION ${PROJECT_VERSION_MAJOR} VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR} ) ++target_include_directories(${SHARED_LIBRARY_NAME} INTERFACE $) ++endif ( ) + + if ( BUILD_SSL ) ++if ( BUILD_SHARED_LIBS ) + target_link_libraries( ${SHARED_LIBRARY_NAME} LINK_PRIVATE ${ssl_LIBRARY_SHARED} ${crypto_LIBRARY_SHARED} ) ++else ( ) + target_link_libraries( ${STATIC_LIBRARY_NAME} LINK_PRIVATE ${ssl_LIBRARY_STATIC} ${crypto_LIBRARY_STATIC} ${CMAKE_DL_LIBS} ) ++endif ( ) + else ( ) ++if ( BUILD_SHARED_LIBS ) + target_link_libraries( ${SHARED_LIBRARY_NAME} ) ++else ( ) + target_link_libraries( ${STATIC_LIBRARY_NAME} ${CMAKE_DL_LIBS} ) + endif ( ) ++endif ( ) + + if ( BUILD_TESTS ) + find_package( catch REQUIRED ) +@@ -119,5 +133,26 @@ file( GLOB ARTIFACTS "${SOURCE_DIR}/*.hpp" ) + + install( FILES "${INCLUDE_DIR}/${PROJECT_NAME}" DESTINATION "${CMAKE_INSTALL_PREFIX}/include" ) + install( FILES ${ARTIFACTS} DESTINATION "${CMAKE_INSTALL_PREFIX}/include/corvusoft/${PROJECT_NAME}" ) +-install( TARGETS ${STATIC_LIBRARY_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT library ) +-install( TARGETS ${SHARED_LIBRARY_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT library ) ++if ( NOT BUILD_SHARED_LIBS ) ++install( TARGETS ${STATIC_LIBRARY_NAME} EXPORT unofficial-restbed-target RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT library ) ++else ( ) ++install( TARGETS ${SHARED_LIBRARY_NAME} EXPORT unofficial-restbed-target RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT library ) ++endif ( ) ++ ++install( EXPORT unofficial-restbed-target FILE unofficial-restbed-target.cmake NAMESPACE unofficial::restbed:: DESTINATION share/unofficial-restbed) ++ ++file( WRITE "${CMAKE_CURRENT_BINARY_DIR}/unofficial-restbed-config.cmake.in" ++[[include(CMakeFindDependencyMacro) ++if (@BUILD_SSL@) ++ find_dependency(OpenSSL) ++endif() ++include("${CMAKE_CURRENT_LIST_DIR}/unofficial-restbed-target.cmake") ++if("@BUILD_SHARED_LIBS@") ++ add_library(unofficial::restbed::restbed ALIAS unofficial::restbed::restbed-shared) ++else() ++ add_library(unofficial::restbed::restbed ALIAS unofficial::restbed::restbed-static) ++endif() ++]]) ++ ++configure_file( "${CMAKE_CURRENT_BINARY_DIR}/unofficial-restbed-config.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/unofficial-restbed-config.cmake" @ONLY) ++install( FILES "${CMAKE_CURRENT_BINARY_DIR}/unofficial-restbed-config.cmake" DESTINATION share/unofficial-restbed) +\ No newline at end of file diff --git a/ports/restbed/fix-ninja-duplicates.patch b/ports/restbed/fix-ninja-duplicates.patch deleted file mode 100644 index 9b10148cd18e6e..00000000000000 --- a/ports/restbed/fix-ninja-duplicates.patch +++ /dev/null @@ -1,67 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 2fb74b3..602e05d 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -64,26 +64,33 @@ include_directories( ${INCLUDE_DIR} SYSTEM ${asio_INCLUDE} ${ssl_INCLUDE} ) - # Build - # - file( GLOB_RECURSE MANIFEST "${SOURCE_DIR}/*.cpp" ) -- --set( STATIC_LIBRARY_NAME "${PROJECT_NAME}-static" ) --add_library( ${STATIC_LIBRARY_NAME} STATIC ${MANIFEST} ) --set_property( TARGET ${STATIC_LIBRARY_NAME} PROPERTY CXX_STANDARD 14 ) --set_property( TARGET ${STATIC_LIBRARY_NAME} PROPERTY CXX_STANDARD_REQUIRED ON ) --set_target_properties( ${STATIC_LIBRARY_NAME} PROPERTIES OUTPUT_NAME ${PROJECT_NAME} ) -- --set( SHARED_LIBRARY_NAME "${PROJECT_NAME}-shared" ) --add_library( ${SHARED_LIBRARY_NAME} SHARED ${MANIFEST} ) --set_property( TARGET ${SHARED_LIBRARY_NAME} PROPERTY CXX_STANDARD 14 ) --set_property( TARGET ${SHARED_LIBRARY_NAME} PROPERTY CXX_STANDARD_REQUIRED ON ) --set_target_properties( ${SHARED_LIBRARY_NAME} PROPERTIES OUTPUT_NAME ${PROJECT_NAME} ) --set_target_properties( ${SHARED_LIBRARY_NAME} PROPERTIES SOVERSION ${PROJECT_VERSION_MAJOR} VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR} ) -+if(NOT BUILD_SHARED_LIBS) -+ set( STATIC_LIBRARY_NAME "${PROJECT_NAME}-static" ) -+ add_library( ${STATIC_LIBRARY_NAME} STATIC ${MANIFEST} ) -+ set_property( TARGET ${STATIC_LIBRARY_NAME} PROPERTY CXX_STANDARD 14 ) -+ set_property( TARGET ${STATIC_LIBRARY_NAME} PROPERTY CXX_STANDARD_REQUIRED ON ) -+ set_target_properties( ${STATIC_LIBRARY_NAME} PROPERTIES OUTPUT_NAME ${PROJECT_NAME} ) -+else() -+ set( SHARED_LIBRARY_NAME "${PROJECT_NAME}-shared" ) -+ add_library( ${SHARED_LIBRARY_NAME} SHARED ${MANIFEST} ) -+ set_property( TARGET ${SHARED_LIBRARY_NAME} PROPERTY CXX_STANDARD 14 ) -+ set_property( TARGET ${SHARED_LIBRARY_NAME} PROPERTY CXX_STANDARD_REQUIRED ON ) -+ set_target_properties( ${SHARED_LIBRARY_NAME} PROPERTIES OUTPUT_NAME ${PROJECT_NAME} ) -+ set_target_properties( ${SHARED_LIBRARY_NAME} PROPERTIES SOVERSION ${PROJECT_VERSION_MAJOR} VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR} ) -+endif() - - if ( BUILD_SSL ) -- target_link_libraries( ${SHARED_LIBRARY_NAME} LINK_PRIVATE ${ssl_LIBRARY_SHARED} ${crypto_LIBRARY_SHARED} ) -- target_link_libraries( ${STATIC_LIBRARY_NAME} LINK_PRIVATE ${ssl_LIBRARY_STATIC} ${crypto_LIBRARY_STATIC} ${CMAKE_DL_LIBS} ) -+ if(BUILD_SHARED_LIBS) -+ target_link_libraries( ${SHARED_LIBRARY_NAME} LINK_PRIVATE ${ssl_LIBRARY_SHARED} ${crypto_LIBRARY_SHARED} ) -+ else() -+ target_link_libraries( ${STATIC_LIBRARY_NAME} LINK_PRIVATE ${ssl_LIBRARY_STATIC} ${crypto_LIBRARY_STATIC} ${CMAKE_DL_LIBS} ) -+ endif() - else ( ) -- target_link_libraries( ${SHARED_LIBRARY_NAME} ) -- target_link_libraries( ${STATIC_LIBRARY_NAME} ${CMAKE_DL_LIBS} ) -+ if(BUILD_SHARED_LIBS) -+ target_link_libraries( ${SHARED_LIBRARY_NAME} ) -+ else() -+ target_link_libraries( ${STATIC_LIBRARY_NAME} ${CMAKE_DL_LIBS} ) -+ endif() - endif ( ) - - if ( BUILD_TESTS ) -@@ -103,5 +110,8 @@ file( GLOB ARTIFACTS "${SOURCE_DIR}/*.hpp" ) - - install( FILES "${INCLUDE_DIR}/${PROJECT_NAME}" DESTINATION "${CMAKE_INSTALL_PREFIX}/include" ) - install( FILES ${ARTIFACTS} DESTINATION "${CMAKE_INSTALL_PREFIX}/include/corvusoft/${PROJECT_NAME}" ) --install( TARGETS ${STATIC_LIBRARY_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT library ) --install( TARGETS ${SHARED_LIBRARY_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT library ) -+if(NOT BUILD_SHARED_LIBS) -+ install( TARGETS ${STATIC_LIBRARY_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT library ) -+else() -+ install( TARGETS ${SHARED_LIBRARY_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT library ) -+endif() -\ No newline at end of file diff --git a/ports/restbed/portfile.cmake b/ports/restbed/portfile.cmake index dd9b4df45b9e28..bf2836eb1d3097 100644 --- a/ports/restbed/portfile.cmake +++ b/ports/restbed/portfile.cmake @@ -1,35 +1,33 @@ -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - openssl BUILD_SSL + FEATURES + openssl BUILD_SSL ) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Corvusoft/restbed - REF 4.7 - SHA512 f8aaa89ae5c862253f9a480fefa8827927e3a6c13c51938bbcd6c28ac4e6d54496ecf51610343e9a3efe3e969314f643a487506c606a65f56125b51ab8478652 + REF "${VERSION}" + SHA512 989027c926b97a9dd02951c881dc41819014783da4848cc9ee50776545ba206830d35c2e775abd8c0f705f7b0611d5cd335dd1eb305cdcbf2c86100abaf1623c HEAD_REF master PATCHES - use-FindOpenSSL-cmake.patch - asio-1-18-0-deprecations.patch #https://github.com/Corvusoft/restbed/pull/444/files - fix-ninja-duplicates.patch + fix-cmake.patch ) -file(REMOVE ${SOURCE_PATH}/cmake/Findopenssl.cmake) +file(REMOVE "${SOURCE_PATH}/cmake/Findopenssl.cmake") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${FEATURE_OPTIONS} -DBUILD_TESTS=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() +vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-restbed) -#Remove include debug files -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +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) +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/restbed/usage b/ports/restbed/usage new file mode 100644 index 00000000000000..9e4f08ca67d42a --- /dev/null +++ b/ports/restbed/usage @@ -0,0 +1,4 @@ +restbed provides CMake targets: + + find_package(unofficial-restbed CONFIG REQUIRED) + target_link_libraries(main PRIVATE unofficial::restbed::restbed) diff --git a/ports/restbed/use-FindOpenSSL-cmake.patch b/ports/restbed/use-FindOpenSSL-cmake.patch deleted file mode 100644 index efba4cbcf3004a..00000000000000 --- a/ports/restbed/use-FindOpenSSL-cmake.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 1ec4f07..2fb74b3 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -55,7 +55,7 @@ set( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR}/cmake" ) - find_package( asio REQUIRED ) - - if ( BUILD_SSL ) -- find_package( openssl REQUIRED ) -+ find_package( OpenSSL REQUIRED ) - endif ( ) - - include_directories( ${INCLUDE_DIR} SYSTEM ${asio_INCLUDE} ${ssl_INCLUDE} ) diff --git a/ports/restbed/vcpkg.json b/ports/restbed/vcpkg.json index d06ab063c1ceae..4807d4976df1c0 100644 --- a/ports/restbed/vcpkg.json +++ b/ports/restbed/vcpkg.json @@ -1,14 +1,32 @@ { "name": "restbed", - "version-string": "4.7", + "version": "4.8", + "port-version": 3, "description": "Corvusoft's Restbed framework brings asynchronous RESTful functionality to C++14 applications.", + "homepage": "https://github.com/corvusoft/restbed", + "license": "AGPL-3.0-or-later OR CPL-1.0", + "supports": "!xbox", "dependencies": [ - "asio" + "asio", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ], "features": { "openssl": { "description": "Secure over the wire communication allowing you to transmit private data online.", "dependencies": [ + { + "name": "asio", + "features": [ + "openssl" + ] + }, "openssl" ] } diff --git a/ports/restc-cpp/boost-1.86-fix.patch b/ports/restc-cpp/boost-1.86-fix.patch new file mode 100644 index 00000000000000..8bd2aab78f58c5 --- /dev/null +++ b/ports/restc-cpp/boost-1.86-fix.patch @@ -0,0 +1,50 @@ +diff --git a/include/restc-cpp/restc-cpp.h b/include/restc-cpp/restc-cpp.h +index 12fc247..ef76416 100644 +--- a/include/restc-cpp/restc-cpp.h ++++ b/include/restc-cpp/restc-cpp.h +@@ -52,6 +52,14 @@ + # define RESTC_CPP_IO_BUFFER_SIZE (1024 * 16) + #endif + ++#if BOOST_VERSION >= 108100 ++// They changed the function signature. In boost 1.86 it broke the build. ++#define RESTC_CPP_SPAWN_TRAILER \ ++ , boost::asio::detached ++#else ++#define RESTC_CPP_SPAWN_TRAILER ++#endif ++ + namespace restc_cpp { + + class RestClient; +@@ -380,7 +388,7 @@ class RestClient { + prom->set_exception(std::current_exception()); + } + done_handler.reset(); +- }); ++ } RESTC_CPP_SPAWN_TRAILER); + + return move(future); + } +diff --git a/src/RestClientImpl.cpp b/src/RestClientImpl.cpp +index 6b20efd..f8cd8e5 100644 +--- a/src/RestClientImpl.cpp ++++ b/src/RestClientImpl.cpp +@@ -276,7 +276,7 @@ class RestClientImpl final : public RestClient { + void Process(const prc_fn_t& fn) override { + boost::asio::spawn(*io_service_, + bind(&RestClientImpl::ProcessInWorker, this, +- placeholders::_1, fn, nullptr)); ++ placeholders::_1, fn, nullptr) RESTC_CPP_SPAWN_TRAILER); + } + + future< void > ProcessWithPromise(const prc_fn_t& fn) override { +@@ -285,7 +285,7 @@ class RestClientImpl final : public RestClient { + + boost::asio::spawn(*io_service_, + bind(&RestClientImpl::ProcessInWorker, this, +- placeholders::_1, fn, promise)); ++ placeholders::_1, fn, promise) RESTC_CPP_SPAWN_TRAILER); + + return future; + } diff --git a/ports/restc-cpp/portfile.cmake b/ports/restc-cpp/portfile.cmake index c7eacd2b377fde..3b89cb4156bc17 100644 --- a/ports/restc-cpp/portfile.cmake +++ b/ports/restc-cpp/portfile.cmake @@ -3,11 +3,16 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO jgaa/restc-cpp - REF v0.10.0 + REF "v${VERSION}" SHA512 0f74d825d3958810c270748c2810953fe394d0bf1f147d81b9177803e29a86c702715d5995c5966c4fe671b7689f26d9a0fad4e82d111277bbd3ddce1a68f73a HEAD_REF master PATCHES 0001-exclude-cmake-external-projects.patch + + # This patch is a combination of these two commits: + # https://github.com/jgaa/restc-cpp/commit/f6144b1a93a00e11335e2cfa724da91925b08adb + # https://github.com/jgaa/restc-cpp/commit/5470ee36b973fac960b3566e47efe873c21b43fa + boost-1.86-fix.patch ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS @@ -18,22 +23,24 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS boost-log RESTC_CPP_LOG_WITH_BOOST_LOG ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + WINDOWS_USE_MSBUILD OPTIONS -DINSTALL_RAPIDJSON_HEADERS=OFF -DRESTC_CPP_WITH_EXAMPLES=OFF -DRESTC_CPP_WITH_UNIT_TESTS=OFF -DRESTC_CPP_WITH_FUNCTIONALT_TESTS=OFF + -DRESTC_CPP_USE_CPP17=ON ${FEATURE_OPTIONS} ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${PORT}") -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share - ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share" + "${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/restc-cpp/vcpkg.json b/ports/restc-cpp/vcpkg.json index b06c5faa823d03..1502439bf1bc33 100644 --- a/ports/restc-cpp/vcpkg.json +++ b/ports/restc-cpp/vcpkg.json @@ -1,7 +1,7 @@ { "name": "restc-cpp", "version-semver": "0.10.0", - "port-version": 1, + "port-version": 4, "description": "Modern C++ REST Client library", "homepage": "https://github.com/jgaa/restc-cpp", "license": "MIT", @@ -15,7 +15,15 @@ "boost-program-options", "boost-system", "boost-uuid", - "rapidjson" + "rapidjson", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ], "default-features": [ "openssl", diff --git a/ports/restclient-cpp/portfile.cmake b/ports/restclient-cpp/portfile.cmake index c2ea8fa251c039..508a0ffc12deba 100644 --- a/ports/restclient-cpp/portfile.cmake +++ b/ports/restclient-cpp/portfile.cmake @@ -5,27 +5,26 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO mrtazz/restclient-cpp - REF 0.5.2 - SHA512 f6acc6a3d5cb852d6e507463d94d2f6192a941f0c26fef7c674e9ff7753cf5474522052a2065774050d01af5c6d2a3b86398f43cd2e4f5d03abcaac9a21ef4b7 + REF b782bd26539a3d1a8edcb6d8a3493b111f8fac66 #v2022-02-009 + SHA512 992b2c067c7b672432a202fea6b5263ff51ca77facace5078077e77e57390d3ddcb99e0e20ad1a1595612efbb625d34f4d2cd8c4a2ac4bb33e3f9d5d28c2c579 HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_GTest=TRUE -DCMAKE_DISABLE_FIND_PACKAGE_jsoncpp=TRUE ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/restclient-cpp) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/restclient-cpp) vcpkg_copy_pdbs() # Remove includes in debug -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") # Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/restclient-cpp/vcpkg.json b/ports/restclient-cpp/vcpkg.json index fcef3266a3895c..d7dad289662290 100644 --- a/ports/restclient-cpp/vcpkg.json +++ b/ports/restclient-cpp/vcpkg.json @@ -1,10 +1,18 @@ { "name": "restclient-cpp", - "version-string": "0.5.2", - "port-version": 1, + "version-date": "2022-02-09", "description": "Simple REST client for C++. It wraps libcurl for HTTP requests.", "homepage": "https://code.mrtazz.com/restclient-cpp/", + "license": "MIT", "dependencies": [ - "curl" + "curl", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/restinio/portfile.cmake b/ports/restinio/portfile.cmake index 417b77698b4004..94971e5a6993a8 100644 --- a/ports/restinio/portfile.cmake +++ b/ports/restinio/portfile.cmake @@ -1,18 +1,28 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO stiffstream/restinio - REF 0052518f5692f8f051031e06d933b726191be97e # v.0.6.13 - SHA512 e7474aa1cef4145fe2f02c52cf80fdaf6724da45a4f3d0f1f56fc188ac50ff29a3ac72ea0e4402dc7ad378d0b2acfcea30cf8a57d218c3f5eb55d3f0d83dad29 + REF "v.${VERSION}" + SHA512 ac47e83b2fdcbf5a42b3b5af8f5db7f400baa18515c6a042ee6aacc77df03aa1a90f14a57a1127ce2472bf72dc568160ff3c07aaddd4235910b7b831bcfcf569 ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH}/vcpkg - PREFER_NINJA +set(VCPKG_BUILD_TYPE release) # header-only +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/dev" + OPTIONS + -DRESTINIO_INSTALL=ON + -DRESTINIO_TEST=OFF + -DRESTINIO_SAMPLE=OFF + -DRESTINIO_BENCHMARK=OFF + -DRESTINIO_WITH_SOBJECTIZER=OFF + -DRESTINIO_ASIO_SOURCE=standalone + -DRESTINIO_DEP_STANDALONE_ASIO=find + -DRESTINIO_DEP_LLHTTP=find + -DRESTINIO_DEP_FMT=find + -DRESTINIO_DEP_EXPECTED_LITE=find ) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/restinio) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/restinio) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib ${CURRENT_PACKAGES_DIR}/debug) -# Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/restinio/vcpkg.json b/ports/restinio/vcpkg.json index 7aace791bfa282..58379681964764 100644 --- a/ports/restinio/vcpkg.json +++ b/ports/restinio/vcpkg.json @@ -1,12 +1,21 @@ { "name": "restinio", - "version-string": "0.6.13", + "version": "0.7.2", "description": "A header-only C++14 library that gives you an embedded HTTP/Websocket server targeted primarily for asynchronous processing of HTTP-requests.", "homepage": "https://github.com/Stiffstream/restinio", "license": "BSD-3-Clause", "dependencies": [ "asio", + "expected-lite", "fmt", - "http-parser" + "llhttp", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/rhash/CMakeLists.txt b/ports/rhash/CMakeLists.txt index e3a088170a4943..d32e94b158a61a 100644 --- a/ports/rhash/CMakeLists.txt +++ b/ports/rhash/CMakeLists.txt @@ -1,15 +1,56 @@ cmake_minimum_required(VERSION 3.5) project(rhash C) +# cf. configure: RHASH_XVERSION = $(printf "0x%02x%02x%02x%02x" "$_v1" "$_v2" "$_v3" 0) +set(RHASH_VERSION "undefined" CACHE STRING "") +if(NOT RHASH_VERSION MATCHES [[^([0-9]+)[.]([0-9]+)[.]([0-9]+)$]]) + message(FATAL_ERROR "Cannot derive RHASH_XVERSION from '${RHASH_VERSION}'") +endif() +MATH(EXPR RHASH_XVERSION "((${CMAKE_MATCH_1} * 256 + ${CMAKE_MATCH_2}) * 256 + ${CMAKE_MATCH_3}) * 256" OUTPUT_FORMAT HEXADECIMAL) + file(STRINGS ${CMAKE_CURRENT_SOURCE_DIR}/Makefile RHASH_SOURCES REGEX "^SOURCES = .*$") string(REPLACE "SOURCES = " "" RHASH_SOURCES "${RHASH_SOURCES}") string(REPLACE " " ";" RHASH_SOURCES "${RHASH_SOURCES}") -add_definitions(-DRHASH_XVERSION="${RHASH_XVERSION}") + add_library(rhash ${RHASH_SOURCES}) -set_target_properties(rhash PROPERTIES COMPILE_DEFINITIONS "IN_RHASH" DEFINE_SYMBOL "RHASH_EXPORTS") -install(TARGETS rhash RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib) +target_compile_definitions(rhash PRIVATE RHASH_XVERSION=${RHASH_XVERSION}) + +if(WIN32 AND BUILD_SHARED_LIBS) + target_compile_definitions(rhash PRIVATE RHASH_EXPORTS) +endif() + +target_include_directories(rhash INTERFACE $) + +install(TARGETS rhash EXPORT unofficial-rhash-config + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib +) + +install(EXPORT unofficial-rhash-config + FILE unofficial-rhash-config.cmake + NAMESPACE unofficial::rhash:: + DESTINATION share/unofficial-rhash +) if(NOT RHASH_SKIP_HEADERS) install(FILES rhash.h rhash_torrent.h DESTINATION include) endif() + +# cf. configure +set(LIBRHASH_PC "${CMAKE_CURRENT_BINARY_DIR}/librhash.pc") +file(WRITE "${LIBRHASH_PC}" +"prefix=fixup +exec_prefix=\${prefix} +libdir=\${prefix}/lib +includedir=\${prefix}/include + +Name: librash +Description: LibRHash shared library +Version: ${RHASH_VERSION} +Cflags: -I\${includedir} +Libs: -L\${libdir} -lrhash +") + +install(FILES "${LIBRHASH_PC}" DESTINATION "lib/pkgconfig") diff --git a/ports/rhash/portfile.cmake b/ports/rhash/portfile.cmake index 76c03c58c05715..f55228cfce271e 100644 --- a/ports/rhash/portfile.cmake +++ b/ports/rhash/portfile.cmake @@ -1,24 +1,28 @@ -set(RHASH_XVERSION 1.4.0) -vcpkg_fail_port_install(ON_TARGET "UWP") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO rhash/RHash - REF df0c969966b5da10f2db5060cf329790db95080e # v1.4.0 - SHA512 eebd5872f5d40d5ef5b7fe857ff3099c3b60e37cedaacf7ae8da63bd18790a16546de1809fa9f8e4fa7eef178121051b267fedd5d237135b80201f8609d613b6 + REF "v${VERSION}" + SHA512 49bd6aa2497efc4871ae31eaca51d2dc78ceb7126311557d5280b14fafe9355eaecad37f0f78f865e4e1dd1aeb506d3301989cd2f9fff7b0091c81978e8c2f2e HEAD_REF master ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}/librhash) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}/librhash") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH}/librhash - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/librhash" + OPTIONS + -DRHASH_VERSION=${VERSION} OPTIONS_DEBUG -DRHASH_SKIP_HEADERS=ON ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-rhash) +vcpkg_fixup_pkgconfig() + +if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/rhash.h" "# define RHASH_API" "# define RHASH_API __declspec(dllimport)") +endif() -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/rhash/vcpkg.json b/ports/rhash/vcpkg.json index 1cdb5fef020e94..1fdbe357741012 100644 --- a/ports/rhash/vcpkg.json +++ b/ports/rhash/vcpkg.json @@ -1,8 +1,18 @@ { "name": "rhash", - "version-string": "1.4.0", - "port-version": 1, + "version": "1.4.5", "description": "C library for computing a wide variety of hash sums", "homepage": "https://github.com/rhash/RHash", - "supports": "!uwp" + "license": "0BSD", + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/rhasheq/find-rhash.patch b/ports/rhasheq/find-rhash.patch new file mode 100644 index 00000000000000..38722fb8684308 --- /dev/null +++ b/ports/rhasheq/find-rhash.patch @@ -0,0 +1,39 @@ +diff --git a/cmake/Config.cmake.in b/cmake/Config.cmake.in +index c64c475..d57179e 100644 +--- a/cmake/Config.cmake.in ++++ b/cmake/Config.cmake.in +@@ -1,4 +1,8 @@ + + @PACKAGE_INIT@ + ++include(CMakeFindDependencyMacro) ++ ++find_dependency(unofficial-rhash) ++ + include ( "${CMAKE_CURRENT_LIST_DIR}/rhasheqTargets.cmake" ) +diff --git a/rhasheq/CMakeLists.txt b/rhasheq/CMakeLists.txt +index fb7357f..baaaaf8 100644 +--- a/rhasheq/CMakeLists.txt ++++ b/rhasheq/CMakeLists.txt +@@ -23,8 +23,9 @@ else () + endif (VCPKG_TOOLCHAIN) + + set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules;${CMAKE_MODULE_PATH}") +-find_package(LibRHash) ++find_package(unofficial-rhash CONFIG REQUIRED) + ++if(0) + if (NOT LibRHash_FOUND) + set(CMAKE_FIND_LIBRARY_PREFIXES ${CMAKE_FIND_LIBRARY_PREFIXES} lib) + set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES} _imp.lib -d.lib -d_imp.lib) +@@ -40,8 +41,9 @@ endif (NOT TARGET LibRHash) + if (NOT LibRHash_FOUND) + message(FATAL_ERROR "LibRHash not found") + endif (NOT LibRHash_FOUND) ++endif() + +-target_link_libraries("${LIBRARY_NAME}" INTERFACE "LibRHash::LibRHash") ++target_link_libraries("${LIBRARY_NAME}" INTERFACE unofficial::rhash::rhash) + + include(GNUInstallDirs) + target_include_directories( diff --git a/ports/rhasheq/portfile.cmake b/ports/rhasheq/portfile.cmake new file mode 100644 index 00000000000000..fa9847a52a65a3 --- /dev/null +++ b/ports/rhasheq/portfile.cmake @@ -0,0 +1,22 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO offscale/rhasheq + REF cf5442f6468871beb6088991501e6ba052fe4467 + SHA512 2be63bc32c7cea35eefbcc7186255e9cd8ba6ed4b03cb9ee2e62740fe17ad74a81ee7e4ada37f4a2dca99a82becf790d6aa86822cdbeba3972cf11d54095ca91 + HEAD_REF master + PATCHES + find-rhash.patch +) + +file(REMOVE "${SOURCE_PATH}/cmake/modules/FindLibRHash.cmake") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_TESTING=OFF +) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/rhasheq/vcpkg.json b/ports/rhasheq/vcpkg.json new file mode 100644 index 00000000000000..b7c231fcff5118 --- /dev/null +++ b/ports/rhasheq/vcpkg.json @@ -0,0 +1,19 @@ +{ + "name": "rhasheq", + "version-date": "2023-06-17", + "description": "Simple header-only librhash wrapper for verifying hashes from a file to a given `const char *`.", + "homepage": "https://github.com/offscale/rhasheq", + "license": "0BSD", + "dependencies": [ + "c89stringutils", + "rhash", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/riffcpp/portfile.cmake b/ports/riffcpp/portfile.cmake index 9460bd3f7fd6c3..b936d38242c975 100644 --- a/ports/riffcpp/portfile.cmake +++ b/ports/riffcpp/portfile.cmake @@ -6,18 +6,16 @@ vcpkg_from_github( HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DRIFFCPP_INSTALL_EXAMPLE=OFF ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets() +vcpkg_cmake_install() +vcpkg_cmake_config_fixup() -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") -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/riffcpp) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/riffcpp/LICENSE ${CURRENT_PACKAGES_DIR}/share/riffcpp/copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/riffcpp/vcpkg.json b/ports/riffcpp/vcpkg.json index 13d88764720339..08a05d946d6f06 100644 --- a/ports/riffcpp/vcpkg.json +++ b/ports/riffcpp/vcpkg.json @@ -1,7 +1,17 @@ { "name": "riffcpp", - "version-string": "2.2.4", - "port-version": 1, + "version": "2.2.4", + "port-version": 3, "description": "Simple library for reading RIFF files", - "homepage": "https://github.com/libdmusic/riffcpp" + "homepage": "https://github.com/libdmusic/riffcpp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/ring-span-lite/portfile.cmake b/ports/ring-span-lite/portfile.cmake index ce1e7b0b8e8c98..0527a1712f2e29 100644 --- a/ports/ring-span-lite/portfile.cmake +++ b/ports/ring-span-lite/portfile.cmake @@ -1,21 +1,20 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO martinmoene/ring-span-lite - REF v0.6.0 - SHA512 1C3C9560BC1F8CBDF9CDFD5593233020D8403CE707D8B129FED82080CB806E82E83CBB839BEA64D53B022A58400F817A54FFB30099A0D7D7B300E8D0103F483B + REF "v${VERSION}" + SHA512 aa3f199e4cef36ead644d9620e716c2f91bbb52fe3193919ed6aec099bc32841168eaf789c8ddc6700688a34335ad04e139822633d7e26184f511431ca4aaa12 ) -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - PREFER_NINJA OPTIONS -DRING_SPAN_LITE_OPT_BUILD_TESTS=OFF -DRING_SPAN_LITE_OPT_BUILD_EXAMPLES=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets( +vcpkg_cmake_config_fixup( CONFIG_PATH "lib/cmake/${PORT}" ) @@ -24,6 +23,4 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib" ) -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/ring-span-lite/vcpkg.json b/ports/ring-span-lite/vcpkg.json index 9907d29b4f9767..652ce5ce8d6950 100644 --- a/ports/ring-span-lite/vcpkg.json +++ b/ports/ring-span-lite/vcpkg.json @@ -1,6 +1,16 @@ { "name": "ring-span-lite", - "version": "0.6.0", + "version": "0.7.0", "description": "A C++yy-like ring_span type for C++98, C++11 and later in a single-file header-only library", - "homepage": "https://github.com/martinmoene/ring-span-lite" + "homepage": "https://github.com/martinmoene/ring-span-lite", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/rioki-glow/portfile.cmake b/ports/rioki-glow/portfile.cmake new file mode 100644 index 00000000000000..766a26ac858403 --- /dev/null +++ b/ports/rioki-glow/portfile.cmake @@ -0,0 +1,16 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO rioki/glow + REF v0.2.1 + SHA512 410d0bcc98f9587321dceab498ed84fe2cffbf1f38ba59592d5f7eded9eea67c17e40415966d14f548b7e91f23e17fc0162c216c34b905c641647f90274af5b1 +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME "rioki_glow") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/rioki-glow/vcpkg.json b/ports/rioki-glow/vcpkg.json new file mode 100644 index 00000000000000..8b300231b9f893 --- /dev/null +++ b/ports/rioki-glow/vcpkg.json @@ -0,0 +1,19 @@ +{ + "name": "rioki-glow", + "version-semver": "0.2.1", + "description": "OpenGL Object Wrapper", + "homepage": "https://github.com/rioki/glow", + "license": "MIT", + "dependencies": [ + "glew", + "glm", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/rivers/add-install-configuration.patch b/ports/rivers/add-install-configuration.patch new file mode 100644 index 00000000000000..aafe48824cfdf9 --- /dev/null +++ b/ports/rivers/add-install-configuration.patch @@ -0,0 +1,76 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 981ef20..89c5a6e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -9,20 +9,45 @@ set(CMAKE_EXPORT_COMPILE_COMMANDS ON) + + add_library(rivers INTERFACE) + add_library(rivers::rivers ALIAS rivers) +-target_include_directories(rivers INTERFACE include) ++target_include_directories(rivers ++ INTERFACE ++ $ ++ $ ++ ) + + option(RVR_IMPORT_FMT Off) + if(RVR_IMPORT_FMT) +- include(FetchContent) +- FetchContent_Declare( +- fmt +- GIT_REPOSITORY https://github.com/fmtlib/fmt.git +- GIT_TAG 713c7c7c62044329d26c19323ffa0e64d69d2d64 +- ) +- FetchContent_MakeAvailable(fmt) +- ++ find_package(fmt CONFIG REQUIRED) + target_link_libraries(rivers INTERFACE fmt::fmt) + endif() + +-add_subdirectory(bench) +-add_subdirectory(test) ++include(CMakePackageConfigHelpers) ++ ++configure_package_config_file( ++ cmake/unofficial-rivers-config.cmake.in ++ "${CMAKE_CURRENT_BINARY_DIR}/cmake/unofficial-rivers-config.cmake" ++ INSTALL_DESTINATION lib/cmake/unofficial-rivers/ ++ NO_CHECK_REQUIRED_COMPONENTS_MACRO) ++ ++ ++# Export. ++export( ++ TARGETS rivers ++ FILE "${CMAKE_CURRENT_BINARY_DIR}/cmake/unofficial-rivers-targets.cmake") ++ ++# Install. ++install(TARGETS rivers EXPORT unofficial-rivers) ++ ++install( ++ EXPORT unofficial-rivers ++ NAMESPACE unofficial-rivers:: ++ FILE unofficial-rivers-targets.cmake ++ DESTINATION lib/cmake/unofficial-rivers) ++ ++install(DIRECTORY include/rivers DESTINATION include) ++ ++install( ++ FILES ++ "${CMAKE_CURRENT_BINARY_DIR}/cmake/unofficial-rivers-config.cmake" ++ DESTINATION lib/cmake/unofficial-rivers) ++ +diff --git a/cmake/unofficial-rivers-config.cmake.in b/cmake/unofficial-rivers-config.cmake.in +new file mode 100644 +index 0000000..a347972 +--- /dev/null ++++ b/cmake/unofficial-rivers-config.cmake.in +@@ -0,0 +1,9 @@ ++ ++@PACKAGE_INIT@ ++include(CMakeFindDependencyMacro) ++ ++include("${CMAKE_CURRENT_LIST_DIR}/unofficial-rivers-targets.cmake") ++if(@RVR_IMPORT_FMT@) ++ find_dependency(fmt CONFIG) ++endif() ++ diff --git a/ports/rivers/portfile.cmake b/ports/rivers/portfile.cmake new file mode 100644 index 00000000000000..c19b8243334c07 --- /dev/null +++ b/ports/rivers/portfile.cmake @@ -0,0 +1,28 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO brevzin/rivers + REF cfbd4c3e0ca9fcde03075327d6dd628e57589342 + SHA512 4dfa4a1e657c6a12446abe6d7c54d5bc3d47d82e8639eb91f98c7120b3ca79a6cfa761a357dc2285027823177ee76be346adddc7861f0f213cd0bc7cde041ab8 + HEAD_REF main + PATCHES add-install-configuration.patch +) + +set(VCPKG_BUILD_TYPE release) # header-only + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + fmt RVR_IMPORT_FMT +) +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-${PORT} CONFIG_PATH "lib/cmake/unofficial-rivers") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/rivers/vcpkg.json b/ports/rivers/vcpkg.json new file mode 100644 index 00000000000000..78c88812b1229a --- /dev/null +++ b/ports/rivers/vcpkg.json @@ -0,0 +1,25 @@ +{ + "name": "rivers", + "version-date": "2022-05-16", + "description": "A C++ internal iteration library based loosely on Java Streams", + "homepage": "https://github.com/brevzin/rivers/", + "license": "BSL-1.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "fmt": { + "description": "Use fmt as rivers fommatter", + "dependencies": [ + "fmt" + ] + } + } +} diff --git a/ports/rkcommon/fix-static.patch b/ports/rkcommon/fix-static.patch new file mode 100644 index 00000000000000..92a54835cc3061 --- /dev/null +++ b/ports/rkcommon/fix-static.patch @@ -0,0 +1,28 @@ +diff --git a/rkcommon/CMakeLists.txt b/rkcommon/CMakeLists.txt +index 2bfb993..9d61267 100644 +--- a/rkcommon/CMakeLists.txt ++++ b/rkcommon/CMakeLists.txt +@@ -55,6 +55,10 @@ if (RKCOMMON_TASKING_INTERNAL) + target_compile_definitions(${PROJECT_NAME} PRIVATE -DENKITS_BUILD_DLL) + endif() + ++if(BUILD_SHARED_LIBS) ++ target_compile_definitions(${PROJECT_NAME} PUBLIC rkcommon_SHARED) ++endif() ++ + if (RKCOMMON_ADDRSAN) + target_compile_definitions(${PROJECT_NAME} PUBLIC -DRKCOMMON_ADDRSAN) + endif() +diff --git a/rkcommon/common.h b/rkcommon/common.h +index a205770..07bf930 100644 +--- a/rkcommon/common.h ++++ b/rkcommon/common.h +@@ -26,7 +26,7 @@ typedef int ssize_t; + #include "unistd.h" + #endif + +-#ifdef _WIN32 ++#if defined(_WIN32) && defined(rkcommon_SHARED) + #ifdef rkcommon_EXPORTS + #define RKCOMMON_INTERFACE __declspec(dllexport) + #else diff --git a/ports/rkcommon/portfile.cmake b/ports/rkcommon/portfile.cmake new file mode 100644 index 00000000000000..e7419717243a62 --- /dev/null +++ b/ports/rkcommon/portfile.cmake @@ -0,0 +1,33 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO ospray/rkcommon + REF "v${VERSION}" + SHA512 48ced20506344250fd2b91875f8282c3b39828ac3eb0c8c0e2505dcc5cdb85a8f36dd328294f165aab66bdfe836b81b7a2c9f6f5c7ab49d281df5a3f95075548 + HEAD_REF master + PATCHES fix-static.patch +) + +file(REMOVE "${SOURCE_PATH}/cmake/rkcommon_redist_deps.cmake") +file(TOUCH "${SOURCE_PATH}/cmake/rkcommon_redist_deps.cmake") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_TESTING=OFF +) + +vcpkg_cmake_install() + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/rkcommon/common.h" "defined(rkcommon_SHARED)" "0") +else() + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/rkcommon/common.h" "defined(rkcommon_SHARED)" "1") +endif() + +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${PORT}-${VERSION}") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +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/rkcommon/usage b/ports/rkcommon/usage new file mode 100644 index 00000000000000..2d1db7bfbabd57 --- /dev/null +++ b/ports/rkcommon/usage @@ -0,0 +1,4 @@ +rkcommon provides CMake targets: + + find_package(rkcommon CONFIG REQUIRED) + target_link_libraries(main PRIVATE rkcommon::rkcommon) diff --git a/ports/rkcommon/vcpkg.json b/ports/rkcommon/vcpkg.json new file mode 100644 index 00000000000000..0f113eacaa3820 --- /dev/null +++ b/ports/rkcommon/vcpkg.json @@ -0,0 +1,19 @@ +{ + "name": "rkcommon", + "version": "1.14.2", + "description": "This project represents a common set of C++ infrastructure and CMake utilities used by various components of Intel® oneAPI Rendering Toolkit.", + "homepage": "https://github.com/ospray/rkcommon/", + "license": "Apache-2.0", + "supports": "x86 | x64", + "dependencies": [ + "tbb", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/rlottie/portfile.cmake b/ports/rlottie/portfile.cmake new file mode 100644 index 00000000000000..4b91e4f10eeba0 --- /dev/null +++ b/ports/rlottie/portfile.cmake @@ -0,0 +1,24 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Samsung/rlottie + REF e3026b1e1a516fff3c22d2b1b9f26ec864f89a82 + SHA512 3b9985606d9c475e77ecb018cfe65cde1170f10e9d2c3e18b60178d3954a4870e5141aa06bb79e803fcdbcf98742bcf72a359625a3b1409125ec3a4a1b0126c4 + PATCHES + vcpkg.patch +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DLIB_INSTALL_DIR=lib + -DLOTTIE_MODULE=OFF +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/rlottie") +vcpkg_fixup_pkgconfig() +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING" "${SOURCE_PATH}/AUTHORS") diff --git a/ports/rlottie/vcpkg.json b/ports/rlottie/vcpkg.json new file mode 100644 index 00000000000000..fb3b28eecd8b32 --- /dev/null +++ b/ports/rlottie/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "rlottie", + "version-date": "2024-08-26", + "description": "A platform independent standalone library that plays Lottie Animation.", + "homepage": "https://github.com/Samsung/rlottie", + "dependencies": [ + "rapidjson", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/rlottie/vcpkg.patch b/ports/rlottie/vcpkg.patch new file mode 100644 index 00000000000000..9f311e4f2ca6fd --- /dev/null +++ b/ports/rlottie/vcpkg.patch @@ -0,0 +1,106 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 38a9862..eca77d5 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -16,6 +16,10 @@ endif() + add_library( rlottie ) + set_target_properties( rlottie PROPERTIES DEFINE_SYMBOL RLOTTIE_BUILD ) + ++#use vcpkg ports ++find_package(RapidJSON CONFIG REQUIRED) ++target_link_libraries(rlottie PRIVATE rapidjson) ++ + #declare version of the target + set(player_version_major 0) + set(player_version_minor 2) +@@ -75,8 +79,6 @@ endif() + + if (WIN32 AND NOT BUILD_SHARED_LIBS) + target_compile_definitions(rlottie PUBLIC -DRLOTTIE_BUILD=0) +- set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MT") +- set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MTd") + endif() + + #declare dependancy +@@ -88,13 +90,6 @@ target_link_libraries(rlottie + "${CMAKE_THREAD_LIBS_INIT}" + ) + +-if (NOT APPLE AND NOT WIN32) +- target_link_libraries(rlottie +- PRIVATE +- "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/rlottie.expmap" +- ) +-endif() +- + if (LOTTIE_MODULE) + # for dlopen, dlsym and dlclose dependancy + target_link_libraries(rlottie PRIVATE ${CMAKE_DL_LIBS}) +@@ -165,6 +160,7 @@ install( TARGETS rlottie EXPORT rlottie-targets + LIBRARY DESTINATION ${LIB_INSTALL_DIR} + ARCHIVE DESTINATION ${LIB_INSTALL_DIR} + INCLUDES DESTINATION include ++ RUNTIME DESTINATION bin + ) + + #install config file. +diff --git a/src/lottie/lottieparser.cpp b/src/lottie/lottieparser.cpp +index b33effa..c7bb421 100644 +--- a/src/lottie/lottieparser.cpp ++++ b/src/lottie/lottieparser.cpp +@@ -56,7 +56,7 @@ + #include + + #include "lottiemodel.h" +-#include "rapidjson/document.h" ++#include + #include "zip/zip.h" + + RAPIDJSON_DIAG_PUSH +diff --git a/src/vector/CMakeLists.txt b/src/vector/CMakeLists.txt +index 3ae96e6..15b86df 100644 +--- a/src/vector/CMakeLists.txt ++++ b/src/vector/CMakeLists.txt +@@ -1,5 +1,4 @@ + add_subdirectory(freetype) +-add_subdirectory(pixman) + add_subdirectory(stb) + + +diff --git a/src/vector/vdrawhelper_neon.cpp b/src/vector/vdrawhelper_neon.cpp +index 681eabb..e178012 100644 +--- a/src/vector/vdrawhelper_neon.cpp ++++ b/src/vector/vdrawhelper_neon.cpp +@@ -2,28 +2,20 @@ + + #include "vdrawhelper.h" + +-extern "C" void pixman_composite_src_n_8888_asm_neon(int32_t w, int32_t h, +- uint32_t *dst, +- int32_t dst_stride, +- uint32_t src); +- +-extern "C" void pixman_composite_over_n_8888_asm_neon(int32_t w, int32_t h, +- uint32_t *dst, +- int32_t dst_stride, +- uint32_t src); +- + void memfill32(uint32_t *dest, uint32_t value, int length) + { +- pixman_composite_src_n_8888_asm_neon(length, 1, dest, length, value); ++ memset(dest, value, length); + } + + static void color_SourceOver(uint32_t *dest, int length, + uint32_t color, + uint32_t const_alpha) + { ++ int ialpha, i; + if (const_alpha != 255) color = BYTE_MUL(color, const_alpha); + +- pixman_composite_over_n_8888_asm_neon(length, 1, dest, length, color); ++ ialpha = 255 - vAlpha(color); ++ for (i = 0; i < length; ++i) dest[i] = color + BYTE_MUL(dest[i], ialpha); + } + + void RenderFuncTable::neon() diff --git a/ports/rmlui/add-robin-hood.patch b/ports/rmlui/add-robin-hood.patch index 4a39a8a5a1aa96..44d96bb3d49147 100644 --- a/ports/rmlui/add-robin-hood.patch +++ b/ports/rmlui/add-robin-hood.patch @@ -1,38 +1,35 @@ -diff --git a/CMake/FileList.cmake b/CMake/FileList.cmake -index 9c3042c..c3820df 100644 ---- a/CMake/FileList.cmake -+++ b/CMake/FileList.cmake -@@ -133,7 +133,6 @@ set(Core_PUB_HDR_FILES - ${PROJECT_SOURCE_DIR}/Include/RmlUi/Core/ComputedValues.h - ${PROJECT_SOURCE_DIR}/Include/RmlUi/Core/Containers/chobo/flat_map.hpp - ${PROJECT_SOURCE_DIR}/Include/RmlUi/Core/Containers/chobo/flat_set.hpp -- ${PROJECT_SOURCE_DIR}/Include/RmlUi/Core/Containers/robin_hood.h - ${PROJECT_SOURCE_DIR}/Include/RmlUi/Core/Context.h - ${PROJECT_SOURCE_DIR}/Include/RmlUi/Core/ContextInstancer.h - ${PROJECT_SOURCE_DIR}/Include/RmlUi/Core/ConvolutionFilter.h -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 62432f1..d9287c9 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -387,6 +387,8 @@ if( ENABLE_SVG_PLUGIN ) - message("-- Can SVG plugin be enabled - yes - lunasvg library found") - endif() - -+find_path(ROBIN_HOOD_INCLUDE_DIR robin_hood.h) -+include_directories(${ROBIN_HOOD_INCLUDE_DIR}) - - if(NOT BUILD_FRAMEWORK) - #=================================== diff --git a/Include/RmlUi/Config/Config.h b/Include/RmlUi/Config/Config.h -index dc42753..5249e1d 100644 +index 15d984a3..019db32c 100644 --- a/Include/RmlUi/Config/Config.h +++ b/Include/RmlUi/Config/Config.h -@@ -57,7 +57,7 @@ - #else - #include "../Core/Containers/chobo/flat_map.hpp" - #include "../Core/Containers/chobo/flat_set.hpp" --#include "../Core/Containers/robin_hood.h" -+#include - #endif // RMLUI_NO_THIRDPARTY_CONTAINERS +@@ -58,7 +58,7 @@ + #else + #include "../Core/Containers/itlib/flat_map.hpp" + #include "../Core/Containers/itlib/flat_set.hpp" +- #include "../Core/Containers/robin_hood.h" ++ #include + #endif // RMLUI_NO_THIRDPARTY_CONTAINERS namespace Rml { +diff --git a/Source/Core/CMakeLists.txt b/Source/Core/CMakeLists.txt +index c377ff49..7dff6a07 100644 +--- a/Source/Core/CMakeLists.txt ++++ b/Source/Core/CMakeLists.txt +@@ -233,7 +233,6 @@ target_sources(rmlui_core PRIVATE + "${PROJECT_SOURCE_DIR}/Include/RmlUi/Core/ComputedValues.h" + "${PROJECT_SOURCE_DIR}/Include/RmlUi/Core/Containers/itlib/flat_map.hpp" + "${PROJECT_SOURCE_DIR}/Include/RmlUi/Core/Containers/itlib/flat_set.hpp" +- "${PROJECT_SOURCE_DIR}/Include/RmlUi/Core/Containers/robin_hood.h" + "${PROJECT_SOURCE_DIR}/Include/RmlUi/Core/Context.h" + "${PROJECT_SOURCE_DIR}/Include/RmlUi/Core/ContextInstancer.h" + "${PROJECT_SOURCE_DIR}/Include/RmlUi/Core/ConvolutionFilter.h" +@@ -379,6 +378,9 @@ elseif(rmlui_core_TYPE STREQUAL "SHARED_LIBRARY") + endif() + unset(rmlui_core_TYPE) + ++find_path(ROBIN_HOOD_INCLUDE_DIR robin_hood.h) ++target_include_directories(rmlui_core PUBLIC ${ROBIN_HOOD_INCLUDE_DIR}) ++ + if(RMLUI_FONT_ENGINE STREQUAL "freetype") + # Include the source files for the default font engine. + add_subdirectory("FontEngineDefault") diff --git a/ports/rmlui/portfile.cmake b/ports/rmlui/portfile.cmake index 059c6325d13950..4c6803dbc8d7a3 100644 --- a/ports/rmlui/portfile.cmake +++ b/ports/rmlui/portfile.cmake @@ -1,56 +1,68 @@ vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO mikke89/RmlUi - REF 4.2 - SHA512 848515d554d6a56bc5ba962c8a3db27801491236f17092ea6c658b35d6cb8b3330dff197d71fc65aaa061476a383a467fcc481571cdf3777f06024819bf9267c - HEAD_REF master - PATCHES - add-robin-hood.patch + OUT_SOURCE_PATH SOURCE_PATH + REPO mikke89/RmlUi + REF ${VERSION} + SHA512 46a8fef450ab6eaf6d4d6a2fff9b23dbe5a7ae81720cfa29f116f9454daca5fe80bef0b9981e037e6a42718a21361a0ca2380d0ebe33bf5e744aeecc033724b5 + HEAD_REF master + PATCHES + add-robin-hood.patch + skip-custom-find-modules.patch ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - FEATURES - lua BUILD_LUA_BINDINGS - INVERTED_FEATURES - freetype NO_FONT_INTERFACE_DEFAULT + FEATURES + lua RMLUI_LUA_BINDINGS + svg RMLUI_SVG_PLUGIN ) +if("freetype" IN_LIST FEATURES) + set(RMLUI_FONT_ENGINE "freetype") +else() + set(RMLUI_FONT_ENGINE "none") +endif() + # Remove built-in header, instead we use vcpkg version (from robin-hood-hashing port) -file(REMOVE ${SOURCE_PATH}/Include/RmlUi/Core/Containers/robin_hood.h) +file(REMOVE "${SOURCE_PATH}/Include/RmlUi/Core/Containers/robin_hood.h") vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} - OPTIONS - ${FEATURE_OPTIONS} + SOURCE_PATH ${SOURCE_PATH} + OPTIONS + ${FEATURE_OPTIONS} + "-DRMLUI_FONT_ENGINE=${RMLUI_FONT_ENGINE}" + "-DRMLUI_COMPILER_OPTIONS=OFF" + "-DRMLUI_INSTALL_RUNTIME_DEPENDENCIES=OFF" ) vcpkg_cmake_install() -vcpkg_cmake_config_fixup( - CONFIG_PATH lib/RmlUi/cmake -) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/RmlUi) vcpkg_copy_pdbs() -file(REMOVE_RECURSE - ${CURRENT_PACKAGES_DIR}/debug/include - ${CURRENT_PACKAGES_DIR}/debug/lib/RmlUi - ${CURRENT_PACKAGES_DIR}/lib/RmlUi +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" ) if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/include/RmlUi/Core/Header.h - "#if !defined RMLUI_STATIC_LIB" - "#if 0" - ) - vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/include/RmlUi/Debugger/Header.h - "#if !defined RMLUI_STATIC_LIB" - "#if 0" - ) - if ("lua" IN_LIST FEATURES) - vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/include/RmlUi/Lua/Header.h - "#if !defined RMLUI_STATIC_LIB" - "#if 0" - ) - endif() + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/RmlUi/Core/Header.h" + "#if !defined RMLUI_STATIC_LIB" + "#if 0" + ) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/RmlUi/Debugger/Header.h" + "#if !defined RMLUI_STATIC_LIB" + "#if 0" + ) + if ("lua" IN_LIST FEATURES) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/RmlUi/Lua/Header.h" + "#if !defined RMLUI_STATIC_LIB" + "#if 0" + ) + endif() endif() -file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +configure_file("${CMAKE_CURRENT_LIST_DIR}/usage" "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" COPYONLY) +vcpkg_install_copyright( + FILE_LIST + "${SOURCE_PATH}/LICENSE.txt" + "${SOURCE_PATH}/Include/RmlUi/Core/Containers/LICENSE.txt" + "${SOURCE_PATH}/Source/Debugger/LICENSE.txt" +) diff --git a/ports/rmlui/skip-custom-find-modules.patch b/ports/rmlui/skip-custom-find-modules.patch new file mode 100644 index 00000000000000..1b5317243a45bd --- /dev/null +++ b/ports/rmlui/skip-custom-find-modules.patch @@ -0,0 +1,27 @@ +diff --git a/CMake/RmlUiConfig.cmake.in b/CMake/RmlUiConfig.cmake.in +index a69348fd..9d758860 100644 +--- a/CMake/RmlUiConfig.cmake.in ++++ b/CMake/RmlUiConfig.cmake.in +@@ -27,8 +27,6 @@ macro(report_dependency_found_or_error friendly_name target_name) + message(STATUS "Found ${friendly_name} target ${target_name}${success_message}") + endmacro() + +-list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/Modules") +- + include("${CMAKE_CURRENT_LIST_DIR}/Dependencies.cmake") + + include("${CMAKE_CURRENT_LIST_DIR}/RmlUiTargets.cmake") +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f13434fc..2aef42fb 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -189,9 +189,6 @@ install(FILES + DESTINATION + "${RMLUI_INSTALL_TARGETS_DIR}" + ) +-install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/CMake/Modules" +- DESTINATION "${RMLUI_INSTALL_TARGETS_DIR}" +-) + + if(RMLUI_IS_ROOT_PROJECT) + # Export build tree targets if RmlUi is the top-level project. diff --git a/ports/rmlui/usage b/ports/rmlui/usage new file mode 100644 index 00000000000000..f542f083ea83f0 --- /dev/null +++ b/ports/rmlui/usage @@ -0,0 +1,4 @@ +rmlui provides CMake targets: + + find_package(RmlUi CONFIG REQUIRED) + target_link_libraries(main PRIVATE RmlUi::RmlUi) diff --git a/ports/rmlui/vcpkg.json b/ports/rmlui/vcpkg.json index 389bf88d45e88d..32f16be1bc4644 100644 --- a/ports/rmlui/vcpkg.json +++ b/ports/rmlui/vcpkg.json @@ -1,6 +1,7 @@ { "name": "rmlui", - "version": "4.2", + "version": "6.0", + "port-version": 1, "maintainers": "Michael R. P. Ragazzon ", "description": "RmlUi is the C++ user interface library based on the HTML and CSS standards, designed as a complete solution for any project's interface needs.", "homepage": "https://github.com/mikke89/RmlUi", @@ -8,8 +9,14 @@ "license": "MIT", "dependencies": [ "robin-hood-hashing", - "vcpkg-cmake", - "vcpkg-cmake-config" + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ], "default-features": [ "freetype" @@ -29,6 +36,12 @@ "dependencies": [ "lua" ] + }, + "svg": { + "description": "Enable plugin for SVG images", + "dependencies": [ + "lunasvg" + ] } } } diff --git a/ports/rmqcpp/disable-tests-and-examples.patch b/ports/rmqcpp/disable-tests-and-examples.patch new file mode 100644 index 00000000000000..7986ea67256bb1 --- /dev/null +++ b/ports/rmqcpp/disable-tests-and-examples.patch @@ -0,0 +1,22 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 33db7ca..41ffd06 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -7,7 +7,6 @@ enable_testing() + set(CMAKE_POSITION_INDEPENDENT_CODE ON) + + add_subdirectory(src) +-add_subdirectory(examples) + + if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") + add_compile_options(-Wall -Wextra -Wpedantic) +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index f051820..2db9e2a 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -9,5 +9,3 @@ find_package(GTest REQUIRED) + find_package(bal REQUIRED) + + add_subdirectory(rmq) +-add_subdirectory(rmqtestmocks) +-add_subdirectory(tests) diff --git a/ports/rmqcpp/portfile.cmake b/ports/rmqcpp/portfile.cmake new file mode 100644 index 00000000000000..308aef6e0d21e8 --- /dev/null +++ b/ports/rmqcpp/portfile.cmake @@ -0,0 +1,31 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO bloomberg/rmqcpp + REF 11859eb470f31008da522b59e96899585b4e94ce + SHA512 f82cc1696d370e81dc410442465ecbe06940cd50ae8c93215e19a4b7de57ee7581a1d4f59d9775e08c646b63496ac18528b29edb852e0b9fb9cab7f761151b25 + HEAD_REF main + PATCHES + "disable-tests-and-examples.patch" +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBDE_BUILD_TARGET_CPP17=ON + -DCMAKE_CXX_STANDARD=17 + -DCMAKE_CXX_STANDARD_REQUIRED=ON + -DBDE_BUILD_TARGET_SAFE=ON + -DCMAKE_INSTALL_LIBDIR=lib64 +) + +vcpkg_cmake_build() + +vcpkg_cmake_install() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") +configure_file("${CMAKE_CURRENT_LIST_DIR}/usage" "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" COPYONLY) + +vcpkg_cmake_config_fixup() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") diff --git a/ports/rmqcpp/usage b/ports/rmqcpp/usage new file mode 100644 index 00000000000000..23f17565a077e3 --- /dev/null +++ b/ports/rmqcpp/usage @@ -0,0 +1,4 @@ +rmqcpp provides CMake targets: + + find_package(rmqcpp REQUIRED) + target_link_libraries(main PRIVATE rmqcpp::rmq) diff --git a/ports/rmqcpp/vcpkg.json b/ports/rmqcpp/vcpkg.json new file mode 100644 index 00000000000000..d3ae3ecc62050f --- /dev/null +++ b/ports/rmqcpp/vcpkg.json @@ -0,0 +1,24 @@ +{ + "name": "rmqcpp", + "version": "1.0.0", + "port-version": 1, + "description": "rmqcpp - A C++ library for RabbitMQ.", + "dependencies": [ + { + "name": "bde", + "version>=": "3.123.0.0" + }, + "boost-asio", + "boost-iostreams", + "gtest", + "openssl", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/roaring/portfile.cmake b/ports/roaring/portfile.cmake index 820e6f5db4e5da..97e5f2a9c74571 100644 --- a/ports/roaring/portfile.cmake +++ b/ports/roaring/portfile.cmake @@ -1,33 +1,29 @@ -if (TARGET_TRIPLET MATCHES "^x86") - message(WARNING "The CRoaring authors recommend users of this lib against using a 32-bit build.") -endif () - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO RoaringBitmap/CRoaring - REF ac3eaf56af8691374b63e53e842feff0322169f0 - SHA512 db10331559df1503bcd25f7f5cab1fdf6b29984634dbfd54289cd7750032a1dd25cd0b57b490cac3d0d3fd5bc785730617536a7162c6e59f66fadb77f972b1c4 + REF "v${VERSION}" + SHA512 59fe65fb79b8d0367a3e3f80deef332487060f16cd8f92151dd6282fda9a18b15221e4a2a39b361e0e34363445a9c5c7e19a38d8218cbb273c92cc4b5ac92720 HEAD_REF master ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" ROARING_BUILD_STATIC) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" DISABLE_PARALLEL_CONFIGURE OPTIONS -DROARING_BUILD_STATIC=${ROARING_BUILD_STATIC} -DENABLE_ROARING_TESTS=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/roaring) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +vcpkg_fixup_pkgconfig() -# 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/roaring/vcpkg.json b/ports/roaring/vcpkg.json index 598893916ee047..c650f0d1c618d7 100644 --- a/ports/roaring/vcpkg.json +++ b/ports/roaring/vcpkg.json @@ -1,6 +1,17 @@ { "name": "roaring", - "version-string": "2019-03-05", - "port-version": 3, - "description": "A better compressed bitset in C (and C++)" + "version": "4.2.1", + "description": "A better compressed bitset in C (and C++)", + "homepage": "https://github.com/RoaringBitmap/CRoaring", + "license": "Apache-2.0 OR MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/robin-hood-hashing/portfile.cmake b/ports/robin-hood-hashing/portfile.cmake index c6dbf8fde0f109..8cc9746ebc223d 100644 --- a/ports/robin-hood-hashing/portfile.cmake +++ b/ports/robin-hood-hashing/portfile.cmake @@ -1,13 +1,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO martinus/robin-hood-hashing - REF 3.11.3 - SHA512 0a4bc04a7b474b80dc156492a12d29046a566272c7b5f2fbcbd27c68ec62fa5db753afe5eac521cd4bd6d6e5ce1b1dfd590ae0b64003a70e102c83a89045b1e6 + REF 3.11.5 + SHA512 5f73e089b1e8ec41a9bedded22bc64a789d3a3d04873a2ad9f8cc2970797a473b0f4d3436c2324b3ced85a0d983998a75b1dfaf2b7f3b77235b29806ff2fd489 HEAD_REF master ) vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DRH_STANDALONE_PROJECT=OFF ) @@ -19,8 +19,8 @@ vcpkg_cmake_config_fixup( ) file(REMOVE_RECURSE - ${CURRENT_PACKAGES_DIR}/debug - ${CURRENT_PACKAGES_DIR}/lib + "${CURRENT_PACKAGES_DIR}/debug" + "${CURRENT_PACKAGES_DIR}/lib" ) -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/robin-hood-hashing/vcpkg.json b/ports/robin-hood-hashing/vcpkg.json index 145bd2ba4c9db7..6a8b86b976181b 100644 --- a/ports/robin-hood-hashing/vcpkg.json +++ b/ports/robin-hood-hashing/vcpkg.json @@ -1,6 +1,6 @@ { "name": "robin-hood-hashing", - "version": "3.11.3", + "version": "3.11.5", "description": "Fast & memory efficient hashtable based on robin hood hashing for C++11/14/17/20", "homepage": "https://github.com/martinus/robin-hood-hashing", "dependencies": [ diff --git a/ports/robin-map/portfile.cmake b/ports/robin-map/portfile.cmake index 209bda9fccdc1f..3b5f1adbf5f52e 100644 --- a/ports/robin-map/portfile.cmake +++ b/ports/robin-map/portfile.cmake @@ -1,18 +1,18 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Tessil/robin-map - REF v0.6.3 - SHA512 485557f300d33bda62bb8accdf246819ee8ffe956bc022e7ddca54ff6ad1a9fdb8db8d80690add3ef238e834d1eb8e2905920cb0a0674e7df010f6946d01297b + REF "v${VERSION}" + SHA512 862cb98d771d1acb692e27d1cc8a4f2cda0883b66af7b38b63ea702ed2d4fc4d49e5700ca4d5f5148fee132f36e111c4839d4f8c52c96a9c60f3937d941b2320 HEAD_REF master ) vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" ) vcpkg_cmake_install() -vcpkg_cmake_config_fixup(CONFIG_PATH share/cmake/tsl-robin-map) +vcpkg_cmake_config_fixup(PACKAGE_NAME tsl-robin-map CONFIG_PATH share/cmake/tsl-robin-map) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/robin-map/vcpkg.json b/ports/robin-map/vcpkg.json index b200ae5c4fa271..27bf433a6f8307 100644 --- a/ports/robin-map/vcpkg.json +++ b/ports/robin-map/vcpkg.json @@ -1,9 +1,9 @@ { "name": "robin-map", - "version-semver": "0.6.3", - "port-version": 1, + "version-semver": "1.3.0", "description": "A C++ implementation of a fast hash map and hash set using robin hood hashing", "homepage": "https://github.com/Tessil/robin-map", + "license": "MIT", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/robotraconteur-companion/portfile.cmake b/ports/robotraconteur-companion/portfile.cmake new file mode 100644 index 00000000000000..45029ec9cb42fa --- /dev/null +++ b/ports/robotraconteur-companion/portfile.cmake @@ -0,0 +1,39 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO robotraconteur/robotraconteur_companion + REF "v${VERSION}" + SHA512 9df5fc4afe635b86cf150e59f06a809b856f17921507e75872f6afe723d2b9654cbb0ecc43533d3c7d673c11fb96545d627f4bbacdbd351a1a61d0ee65d71381 + HEAD_REF master +) + +vcpkg_from_github( + OUT_SOURCE_PATH ROBDEF_SOURCE_PATH + REPO robotraconteur/robotraconteur_standard_robdef + REF group1-v1 + SHA512 84724717e57c6e7ceefa957a8d94ee68db189e9a114564662d37b16a307735feea2a01c5622140118f537e6c084437d4bf11d0eb1e015b475fb3b636ed5009aa + HEAD_REF master +) + +file(COPY ${ROBDEF_SOURCE_PATH}/group1 DESTINATION ${SOURCE_PATH}/robdef/) + +vcpkg_cmake_configure( + SOURCE_PATH ${SOURCE_PATH} + OPTIONS + -DBUILD_TESTING=OFF +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup( + PACKAGE_NAME RobotRaconteurCompanion + CONFIG_PATH "lib/cmake/RobotRaconteurCompanion" +) + +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/robotraconteur-companion/usage b/ports/robotraconteur-companion/usage new file mode 100644 index 00000000000000..123bb1ddbf837b --- /dev/null +++ b/ports/robotraconteur-companion/usage @@ -0,0 +1,5 @@ +The package robotraconteur-companion is compatible with built-in CMake targets: + + find_package(RobotRaconteurCompanion REQUIRED) + target_link_libraries(main PRIVATE RobotRaconteurCompanion) + diff --git a/ports/robotraconteur-companion/vcpkg.json b/ports/robotraconteur-companion/vcpkg.json new file mode 100644 index 00000000000000..e40600a69d60f3 --- /dev/null +++ b/ports/robotraconteur-companion/vcpkg.json @@ -0,0 +1,21 @@ +{ + "name": "robotraconteur-companion", + "version-semver": "0.4.1", + "homepage": "https://github.com/robotraconteur/robotraconteur_companion", + "license": "Apache-2.0", + "supports": "(windows & (x86 | x64)) | (linux & (x86 | x64 | arm64 | arm32)) | (osx & (x64 | arm64))", + "dependencies": [ + "eigen3", + "opencv", + "robotraconteur", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "yaml-cpp" + ] +} diff --git a/ports/robotraconteur/portfile.cmake b/ports/robotraconteur/portfile.cmake new file mode 100644 index 00000000000000..7962c7451a347e --- /dev/null +++ b/ports/robotraconteur/portfile.cmake @@ -0,0 +1,39 @@ +if(VCPKG_TARGET_IS_LINUX) + MESSAGE(WARNING "${PORT} requires libbluetooth-dev from the system package manager.\nTry: 'sudo yum install libbluetooth-dev ' (or sudo apt-get install libbluetooth-dev)") +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO robotraconteur/robotraconteur + REF "v${VERSION}" + SHA512 d73621ff888ae8cfc9d6ac5a71b75920552948fb15ffe2fa13fb31a238fc92f6a271ea1653eed855ba04f371686dff6fdf46285f24a471a3147d7744563b4d0b + HEAD_REF master +) + +vcpkg_cmake_configure( + SOURCE_PATH ${SOURCE_PATH} + OPTIONS + -DBUILD_GEN=ON + -DBUILD_TESTING=OFF + -DCMAKE_CXX_STANDARD=11 +) + +vcpkg_cmake_install() + +vcpkg_copy_tools(TOOL_NAMES RobotRaconteurGen AUTO_CLEAN) + +vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/robotraconteur) + +vcpkg_cmake_config_fixup( + PACKAGE_NAME RobotRaconteur + CONFIG_PATH "lib/cmake/RobotRaconteur" +) + +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/robotraconteur/usage b/ports/robotraconteur/usage new file mode 100644 index 00000000000000..17ebd24db74597 --- /dev/null +++ b/ports/robotraconteur/usage @@ -0,0 +1,5 @@ +The package robotraconteur is compatible with built-in CMake targets: + + find_package(RobotRaconteur REQUIRED) + target_link_libraries(main PRIVATE RobotRaconteurCore) + diff --git a/ports/robotraconteur/vcpkg.json b/ports/robotraconteur/vcpkg.json new file mode 100644 index 00000000000000..6e16148fd83e42 --- /dev/null +++ b/ports/robotraconteur/vcpkg.json @@ -0,0 +1,59 @@ +{ + "name": "robotraconteur", + "version-semver": "1.2.4", + "description": "The Robot Raconteur communication framework core library", + "homepage": "https://www.robotraconteur.com", + "license": "Apache-2.0", + "supports": "(windows & (x86 | x64)) | (linux & (x86 | x64 | arm64 | arm32)) | (osx & (x64 | arm64))", + "dependencies": [ + "boost-algorithm", + "boost-array", + "boost-asio", + "boost-assign", + "boost-atomic", + "boost-bind", + "boost-config", + "boost-container", + "boost-date-time", + "boost-filesystem", + "boost-foreach", + "boost-format", + "boost-function", + "boost-interprocess", + "boost-intrusive", + "boost-lexical-cast", + "boost-locale", + "boost-program-options", + "boost-random", + "boost-range", + "boost-regex", + "boost-scope-exit", + "boost-signals2", + "boost-smart-ptr", + "boost-thread", + "boost-tuple", + "boost-unordered", + "boost-utility", + "boost-uuid", + { + "name": "dbus", + "platform": "linux" + }, + { + "name": "libusb", + "platform": "linux" + }, + { + "name": "openssl", + "platform": "!windows" + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/rocksdb/0001-fix-dependencies.patch b/ports/rocksdb/0001-fix-dependencies.patch new file mode 100644 index 00000000000000..510d2b41c5eb51 --- /dev/null +++ b/ports/rocksdb/0001-fix-dependencies.patch @@ -0,0 +1,122 @@ + CMakeLists.txt | 33 +++++++++++++++------------------ + cmake/RocksDBConfig.cmake.in | 11 ++++++++--- + 2 files changed, 23 insertions(+), 21 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 5cfc1b480..a18af5817 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -82,7 +82,7 @@ endif() + + include(CMakeDependentOption) + +-if(MSVC) ++if(0) + option(WITH_GFLAGS "build with GFlags" OFF) + option(WITH_XPRESS "build with windows built in compression" OFF) + option(ROCKSDB_SKIP_THIRDPARTY "skip thirdparty.inc" OFF) +@@ -131,10 +131,7 @@ else() + endif() + + if(WITH_SNAPPY) +- find_package(Snappy CONFIG) +- if(NOT Snappy_FOUND) +- find_package(Snappy REQUIRED) +- endif() ++ find_package(Snappy CONFIG REQUIRED) + add_definitions(-DSNAPPY) + list(APPEND THIRDPARTY_LIBS Snappy::snappy) + endif() +@@ -158,16 +155,19 @@ else() + endif() + + if(WITH_LZ4) +- find_package(lz4 REQUIRED) ++ find_package(lz4 CONFIG REQUIRED) + add_definitions(-DLZ4) + list(APPEND THIRDPARTY_LIBS lz4::lz4) + endif() + + if(WITH_ZSTD) +- find_package(zstd REQUIRED) ++ find_package(zstd CONFIG REQUIRED) + add_definitions(-DZSTD) +- include_directories(${ZSTD_INCLUDE_DIRS}) +- list(APPEND THIRDPARTY_LIBS zstd::zstd) ++ if(TARGET zstd::libzstd_shared) ++ list(APPEND THIRDPARTY_LIBS zstd::libzstd_shared) ++ elseif(TARGET zstd::libzstd_static) ++ list(APPEND THIRDPARTY_LIBS zstd::libzstd_static) ++ endif() + endif() + endif() + +@@ -307,11 +307,10 @@ int main() { + endif() + + if (WITH_LIBURING) +- find_package(uring) +- if (uring_FOUND) +- add_definitions(-DROCKSDB_IOURING_PRESENT) +- list(APPEND THIRDPARTY_LIBS uring::uring) +- endif() ++ find_package(PkgConfig) ++ pkg_check_modules(liburing REQUIRED IMPORTED_TARGET GLOBAL liburing>=2.0) ++ add_definitions(-DROCKSDB_IOURING_PRESENT) ++ list(APPEND THIRDPARTY_LIBS PkgConfig::liburing) + endif() + + # Reset the required flags +@@ -377,9 +376,9 @@ endif() + + option(WITH_TBB "build with Threading Building Blocks (TBB)" OFF) + if(WITH_TBB) +- find_package(TBB REQUIRED) ++ find_package(TBB CONFIG REQUIRED) + add_definitions(-DTBB) +- list(APPEND THIRDPARTY_LIBS TBB::TBB) ++ list(APPEND THIRDPARTY_LIBS TBB::tbb) + endif() + + # Stall notifications eat some performance from inserts +@@ -1197,8 +1196,6 @@ if(NOT WIN32 OR ROCKSDB_INSTALL_ON_WINDOWS) + endforeach() + endforeach() + +- install(DIRECTORY "${PROJECT_SOURCE_DIR}/cmake/modules" COMPONENT devel DESTINATION ${package_config_destination}) +- + install( + TARGETS ${ROCKSDB_STATIC_LIB} + EXPORT RocksDBTargets +diff --git a/cmake/RocksDBConfig.cmake.in b/cmake/RocksDBConfig.cmake.in +index 0bd14be11..a420d8bfe 100644 +--- a/cmake/RocksDBConfig.cmake.in ++++ b/cmake/RocksDBConfig.cmake.in +@@ -33,11 +33,11 @@ if(@WITH_BZ2@) + endif() + + if(@WITH_LZ4@) +- find_dependency(lz4) ++ find_dependency(lz4 CONFIG) + endif() + + if(@WITH_ZSTD@) +- find_dependency(zstd) ++ find_dependency(zstd CONFIG) + endif() + + if(@WITH_NUMA@) +@@ -45,7 +45,12 @@ if(@WITH_NUMA@) + endif() + + if(@WITH_TBB@) +- find_dependency(TBB) ++ find_dependency(TBB CONFIG) ++endif() ++ ++if(@WITH_LIBURING@) ++ find_dependency(PkgConfig) ++ pkg_check_modules(liburing REQUIRED IMPORTED_TARGET GLOBAL liburing>=2.0) + endif() + + find_dependency(Threads) diff --git a/ports/rocksdb/0002-only-build-one-flavor.patch b/ports/rocksdb/0002-only-build-one-flavor.patch deleted file mode 100644 index 4ee4d23932726d..00000000000000 --- a/ports/rocksdb/0002-only-build-one-flavor.patch +++ /dev/null @@ -1,29 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 6761929..4d2b0a1 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -987,13 +987,17 @@ if(NOT WIN32 OR ROCKSDB_INSTALL_ON_WINDOWS) - - install(DIRECTORY "${PROJECT_SOURCE_DIR}/cmake/modules" COMPONENT devel DESTINATION ${package_config_destination}) - -- install( -- TARGETS ${ROCKSDB_STATIC_LIB} -- EXPORT RocksDBTargets -- COMPONENT devel -- ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" -- INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" -- ) -+ if(NOT ROCKSDB_BUILD_SHARED) -+ install( -+ TARGETS ${ROCKSDB_STATIC_LIB} -+ EXPORT RocksDBTargets -+ COMPONENT devel -+ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" -+ INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" -+ ) -+ else() -+ set_target_properties(${ROCKSDB_STATIC_LIB} PROPERTIES EXCLUDE_FROM_ALL TRUE) -+ endif() - - if(ROCKSDB_BUILD_SHARED) - install( diff --git a/ports/rocksdb/0003-use-find-package.patch b/ports/rocksdb/0003-use-find-package.patch deleted file mode 100644 index e05de2a4bb3964..00000000000000 --- a/ports/rocksdb/0003-use-find-package.patch +++ /dev/null @@ -1,61 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 6761929..6f74d31 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -91,7 +91,7 @@ include(CMakeDependentOption) - CMAKE_DEPENDENT_OPTION(WITH_GFLAGS "build with GFlags" ON - "NOT MSVC;NOT MINGW" OFF) - --if(MSVC) -+if(MSVC AND NOT VCPKG_TOOLCHAIN) - option(WITH_XPRESS "build with windows built in compression" OFF) - include(${CMAKE_CURRENT_SOURCE_DIR}/thirdparty.inc) - else() -@@ -130,10 +130,7 @@ else() - endif() - - if(WITH_SNAPPY) -- find_package(Snappy CONFIG) -- if(NOT Snappy_FOUND) -- find_package(Snappy REQUIRED) -- endif() -+ find_package(Snappy CONFIG REQUIRED) - add_definitions(-DSNAPPY) - list(APPEND THIRDPARTY_LIBS Snappy::snappy) - endif() -@@ -157,16 +154,19 @@ else() - endif() - - if(WITH_LZ4) -- find_package(lz4 REQUIRED) -+ find_package(lz4 CONFIG REQUIRED) - add_definitions(-DLZ4) - list(APPEND THIRDPARTY_LIBS lz4::lz4) - endif() - - if(WITH_ZSTD) -- find_package(zstd REQUIRED) -+ find_package(zstd CONFIG REQUIRED) - add_definitions(-DZSTD) -- include_directories(${ZSTD_INCLUDE_DIR}) -- list(APPEND THIRDPARTY_LIBS zstd::zstd) -+ if(TARGET zstd::libzstd_shared) -+ list(APPEND THIRDPARTY_LIBS zstd::libzstd_shared) -+ elseif(TARGET zstd::libzstd_static) -+ list(APPEND THIRDPARTY_LIBS zstd::libzstd_static) -+ endif() - endif() - endif() - -@@ -375,9 +375,9 @@ endif() - - option(WITH_TBB "build with Threading Building Blocks (TBB)" OFF) - if(WITH_TBB) -- find_package(TBB REQUIRED) -+ find_package(TBB CONFIG REQUIRED) - add_definitions(-DTBB) -- list(APPEND THIRDPARTY_LIBS TBB::TBB) -+ list(APPEND THIRDPARTY_LIBS TBB::tbb) - endif() - - # Stall notifications eat some performance from inserts diff --git a/ports/rocksdb/0004-fix-dependency-in-config.patch b/ports/rocksdb/0004-fix-dependency-in-config.patch deleted file mode 100644 index a2cde0d7b132ad..00000000000000 --- a/ports/rocksdb/0004-fix-dependency-in-config.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/cmake/RocksDBConfig.cmake.in b/cmake/RocksDBConfig.cmake.in -index 0bd14be..f9f6aa8 100644 ---- a/cmake/RocksDBConfig.cmake.in -+++ b/cmake/RocksDBConfig.cmake.in -@@ -37,7 +37,7 @@ if(@WITH_LZ4@) - endif() - - if(@WITH_ZSTD@) -- find_dependency(zstd) -+ find_dependency(zstd CONFIG) - endif() - - if(@WITH_NUMA@) -@@ -45,7 +45,7 @@ if(@WITH_NUMA@) - endif() - - if(@WITH_TBB@) -- find_dependency(TBB) -+ find_dependency(TBB CONFIG) - endif() - - find_dependency(Threads) diff --git a/ports/rocksdb/0005-do-not-install-cmake-modules.patch b/ports/rocksdb/0005-do-not-install-cmake-modules.patch deleted file mode 100644 index 6517537c08f53a..00000000000000 --- a/ports/rocksdb/0005-do-not-install-cmake-modules.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index ad4b711..b2061ae 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -981,7 +981,7 @@ if(NOT WIN32 OR ROCKSDB_INSTALL_ON_WINDOWS) - - install(DIRECTORY include/rocksdb COMPONENT devel DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") - -- install(DIRECTORY "${PROJECT_SOURCE_DIR}/cmake/modules" COMPONENT devel DESTINATION ${package_config_destination}) -+ #install(DIRECTORY "${PROJECT_SOURCE_DIR}/cmake/modules" COMPONENT devel DESTINATION ${package_config_destination}) - - if(NOT ROCKSDB_BUILD_SHARED) - install( diff --git a/ports/rocksdb/portfile.cmake b/ports/rocksdb/portfile.cmake index 80a47d31715a0e..6f9f6bd1ed6422 100644 --- a/ports/rocksdb/portfile.cmake +++ b/ports/rocksdb/portfile.cmake @@ -1,16 +1,11 @@ -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO facebook/rocksdb - REF ed4316166f67ec892603014634840d29f460f611 # v6.14.6 - SHA512 a880a760f6f5a0a591c14fe942914a3ea85c387a901a922955bb2373ae903f96c6035cac8732d3000a3cbe6313016bfb21168bd3d8a7debf5a28c6e5c0aefb3f - HEAD_REF master + REF "v${VERSION}" + SHA512 025fed24e4edf1043943d300e737f3a0fbf95edafc76a36806e8f13af95b6aa4971a277420922e6a0687a976328fac1db90e7cb5b3d4b741c2b156276cffdcbd + HEAD_REF main PATCHES - 0002-only-build-one-flavor.patch - 0003-use-find-package.patch - 0004-fix-dependency-in-config.patch - 0005-do-not-install-cmake-modules.patch + 0001-fix-dependencies.patch ) string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "dynamic" WITH_MD_LIBRARY) @@ -18,45 +13,56 @@ string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" ROCKSDB_BUILD_SHARED) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES - "lz4" WITH_LZ4 - "snappy" WITH_SNAPPY - "zlib" WITH_ZLIB - "zstd" WITH_ZSTD - "bzip2" WITH_BZ2 - "tbb" WITH_TBB - INVERTED_FEATURES - "tbb" CMAKE_DISABLE_FIND_PACKAGE_TBB + "liburing" WITH_LIBURING + "snappy" WITH_SNAPPY + "lz4" WITH_LZ4 + "zlib" WITH_ZLIB + "zstd" WITH_ZSTD + "bzip2" WITH_BZ2 + "numa" WITH_NUMA + "tbb" WITH_TBB ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DWITH_GFLAGS=OFF -DWITH_TESTS=OFF -DWITH_BENCHMARK_TOOLS=OFF -DWITH_TOOLS=OFF - -DWITH_FOLLY_DISTRIBUTED_MUTEX=OFF - -DUSE_RTTI=1 + -DUSE_RTTI=ON -DROCKSDB_INSTALL_ON_WINDOWS=ON -DFAIL_ON_WARNINGS=OFF -DWITH_MD_LIBRARY=${WITH_MD_LIBRARY} - -DPORTABLE=ON - -DCMAKE_DEBUG_POSTFIX=d + -DPORTABLE=1 # Minimum CPU arch to support, or 0 = current CPU, 1 = baseline CPU -DROCKSDB_BUILD_SHARED=${ROCKSDB_BUILD_SHARED} - -DCMAKE_DISABLE_FIND_PACKAGE_NUMA=TRUE - -DCMAKE_DISABLE_FIND_PACKAGE_gtest=TRUE -DCMAKE_DISABLE_FIND_PACKAGE_Git=TRUE ${FEATURE_OPTIONS} + OPTIONS_DEBUG + -DCMAKE_DEBUG_POSTFIX=d + -DWITH_RUNTIME_DEBUG=ON + OPTIONS_RELEASE + -DWITH_RUNTIME_DEBUG=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/rocksdb) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/rocksdb) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +vcpkg_copy_pdbs() -file(INSTALL ${SOURCE_PATH}/LICENSE.Apache DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) -file(INSTALL ${SOURCE_PATH}/LICENSE.leveldb DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -vcpkg_copy_pdbs() + +vcpkg_fixup_pkgconfig() + +vcpkg_install_copyright(COMMENT [[ +RocksDB is dual-licensed under both the GPLv2 (found in COPYING) +and Apache 2.0 License (found in LICENSE.Apache). You may select, +at your option, one of the above-listed licenses. +]] + FILE_LIST + "${SOURCE_PATH}/LICENSE.leveldb" + "${SOURCE_PATH}/LICENSE.Apache" + "${SOURCE_PATH}/COPYING" +) diff --git a/ports/rocksdb/vcpkg.json b/ports/rocksdb/vcpkg.json index d1c4940f86657b..e313075e6a5122 100644 --- a/ports/rocksdb/vcpkg.json +++ b/ports/rocksdb/vcpkg.json @@ -1,45 +1,70 @@ { "name": "rocksdb", - "version-string": "6.14.6", - "port-version": 1, + "version": "9.7.2", "description": "A library that provides an embeddable, persistent key-value store for fast storage", "homepage": "https://github.com/facebook/rocksdb", + "license": "GPL-2.0-only OR Apache-2.0", + "supports": "!uwp & !(arm & !arm64 & android)", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], "default-features": [ "zlib" ], "features": { "bzip2": { - "description": "bzip2 support in rocksdb", + "description": "build with bzip2", "dependencies": [ "bzip2" ] }, + "liburing": { + "description": "build with liburing", + "supports": "linux", + "dependencies": [ + { + "name": "liburing", + "platform": "linux" + } + ] + }, "lz4": { - "description": "lz4 support in rocksdb", + "description": "build with lz4", "dependencies": [ "lz4" ] }, + "numa": { + "description": "build with NUMA policy support", + "supports": "linux" + }, "snappy": { - "description": "snappy support in rocksdb", + "description": "build with SNAPPY", "dependencies": [ "snappy" ] }, "tbb": { - "description": "tbb support in rocksdb", + "description": "build with Threading Building Blocks (TBB)", "dependencies": [ "tbb" ] }, "zlib": { - "description": "zlib support in rocksdb", + "description": "build with zlib", "dependencies": [ "zlib" ] }, "zstd": { - "description": "zstd support in rocksdb", + "description": "build with zstd", "dependencies": [ "zstd" ] diff --git a/ports/rpclib/portfile.cmake b/ports/rpclib/portfile.cmake index ef13e915061473..f0d8ae2288d6b5 100644 --- a/ports/rpclib/portfile.cmake +++ b/ports/rpclib/portfile.cmake @@ -8,17 +8,16 @@ vcpkg_from_github( HEAD_REF master ) -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" DISABLE_PARALLEL_CONFIGURE - PREFER_NINJA ) -vcpkg_install_cmake() +vcpkg_cmake_install() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/rpclib") +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/rpclib") vcpkg_copy_pdbs() diff --git a/ports/rpclib/vcpkg.json b/ports/rpclib/vcpkg.json index add630ed8631ef..0223a67b076b35 100644 --- a/ports/rpclib/vcpkg.json +++ b/ports/rpclib/vcpkg.json @@ -1,7 +1,17 @@ { "name": "rpclib", "version-semver": "2.3.0", - "port-version": 1, + "port-version": 2, "description": "a RPC library for C++, providing both a client and server implementation. It is built using modern C++14.", - "homepage": "https://github.com/rpclib/rpclib" + "homepage": "https://github.com/rpclib/rpclib", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/rply/CMakeLists.txt b/ports/rply/CMakeLists.txt index 8885a79c4f8328..04331d5b9840fb 100644 --- a/ports/rply/CMakeLists.txt +++ b/ports/rply/CMakeLists.txt @@ -20,6 +20,7 @@ add_library (${target_name} ${target_srcs} ${target_headers} ${sources_msvc}) target_include_directories (${target_name} PUBLIC $ + $ ) set_target_properties(${target_name} PROPERTIES diff --git a/ports/rply/portfile.cmake b/ports/rply/portfile.cmake index 665b9e300a4793..968d88184fdd48 100644 --- a/ports/rply/portfile.cmake +++ b/ports/rply/portfile.cmake @@ -7,27 +7,25 @@ vcpkg_download_distfile(ARCHIVE SHA512 be389780b8ca74658433f271682d91e89709ced588c4012c152ccf4014557692a1afd37b1bd5e567cedf9c412d42721eb0412ff3331f38717e527bd5d29c27a7 ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} - REF ${VERSION} +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" + SOURCE_BASE "${VERSION}" PATCHES fix-uninitialized-local-variable.patch ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/rply.def DESTINATION ${SOURCE_PATH}) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/rply-config.cmake.in DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") +file(COPY "${CMAKE_CURRENT_LIST_DIR}/rply.def" DESTINATION "${SOURCE_PATH}") +file(COPY "${CMAKE_CURRENT_LIST_DIR}/rply-config.cmake.in" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets() - -# Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/rply RENAME copyright) +vcpkg_cmake_config_fixup() +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/rply/usage b/ports/rply/usage new file mode 100644 index 00000000000000..8a48246c9196cb --- /dev/null +++ b/ports/rply/usage @@ -0,0 +1,4 @@ +The rply port provides an unofficial CMake target: + + find_package(rply REQUIRED) + target_link_libraries(main PRIVATE rply::rply) diff --git a/ports/rply/vcpkg.json b/ports/rply/vcpkg.json index 100177a4190471..87cc0b978788d2 100644 --- a/ports/rply/vcpkg.json +++ b/ports/rply/vcpkg.json @@ -1,7 +1,18 @@ { "name": "rply", - "version-string": "1.1.4", - "port-version": 1, + "version": "1.1.4", + "port-version": 4, "description": "ANSI C Library for PLY file format input and output", - "homepage": "http://w3.impa.br/~diego/software/rply" + "homepage": "http://w3.impa.br/~diego/software/rply", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/rs-core-lib/portfile.cmake b/ports/rs-core-lib/portfile.cmake deleted file mode 100644 index 3c56fd94b57e6c..00000000000000 --- a/ports/rs-core-lib/portfile.cmake +++ /dev/null @@ -1,12 +0,0 @@ -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO CaptainCrowbar/rs-core-lib - REF 9eac3469ac13b2f1e9e4608a0710a76af68d1983 # accessed on 2020-09-14 - SHA512 ef3cb291efefff0ef13b683d70b99777cb403f5211a6f0e3099a91806cf3d7dd33d6e2e793ccbd836dcb145dc19cde99c4f4eb0bd49be3482d87d4e1a04ee2aa - HEAD_REF master -) - -file(INSTALL ${SOURCE_PATH}/rs-core DESTINATION ${CURRENT_PACKAGES_DIR}/include FILES_MATCHING PATTERN "*.hpp") - -# Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/rs-core-lib RENAME copyright) \ No newline at end of file diff --git a/ports/rs-core-lib/vcpkg.json b/ports/rs-core-lib/vcpkg.json deleted file mode 100644 index 8ee5959e020cba..00000000000000 --- a/ports/rs-core-lib/vcpkg.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "name": "rs-core-lib", - "version-string": "2020-09-14", - "port-version": 1, - "description": "Minimal common utilities by Ross Smith", - "homepage": "https://github.com/CaptainCrowbar/rs-core-lib" -} diff --git a/ports/rsasynccpp/portfile.cmake b/ports/rsasynccpp/portfile.cmake index 438f2cd8c49406..20db58868f8be0 100644 --- a/ports/rsasynccpp/portfile.cmake +++ b/ports/rsasynccpp/portfile.cmake @@ -1,11 +1,10 @@ -vcpkg_fail_port_install(ON_TARGET "Linux" "OSX" "ANDROID" "FREEBSD" "OPENBSD") vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO renestein/Rstein.AsyncCpp REF 0.0.7 - SHA512 b4cc1c68b6fc7bb8b418457ba18b834769abec07e44305955214f8918cc57f85c4258a0521ea55388fab3ec9724488e506d2b114c765b804991c38bf33133c55 + SHA512 b4cc1c68b6fc7bb8b418457ba18b834769abec07e44305955214f8918cc57f85c4258a0521ea55388fab3ec9724488e506d2b114c765b804991c38bf33133c55 HEAD_REF master ) @@ -27,22 +26,16 @@ else() endif() endif() -if (TRIPLET_SYSTEM_ARCH MATCHES "x86") - set(MSBUILD_PLATFORM "x86") -else () - set(MSBUILD_PLATFORM ${TRIPLET_SYSTEM_ARCH}) -endif() - - -vcpkg_install_msbuild( - SOURCE_PATH ${SOURCE_PATH} +vcpkg_msbuild_install( + SOURCE_PATH "${SOURCE_PATH}" PROJECT_SUBPATH RStein.AsyncCppLib.sln - LICENSE_SUBPATH LICENSE - PLATFORM ${MSBUILD_PLATFORM} - DEBUG_CONFIGURATION ${DEBUG_CONFIGURATION} - RELEASE_CONFIGURATION ${RELEASE_CONFIGURATION} + PLATFORM "${TRIPLET_SYSTEM_ARCH}" + DEBUG_CONFIGURATION "${DEBUG_CONFIGURATION}" + RELEASE_CONFIGURATION "${RELEASE_CONFIGURATION}" ) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") + file(COPY "${SOURCE_PATH}/RStein.AsyncCpp/" DESTINATION "${CURRENT_PACKAGES_DIR}/include/asynccpp" - FILES_MATCHING PATTERN "*.h") \ No newline at end of file + FILES_MATCHING PATTERN "*.h") diff --git a/ports/rsasynccpp/vcpkg.json b/ports/rsasynccpp/vcpkg.json index f29d9388b49782..2906bccab69f02 100644 --- a/ports/rsasynccpp/vcpkg.json +++ b/ports/rsasynccpp/vcpkg.json @@ -1,10 +1,18 @@ { "name": "rsasynccpp", "version": "0.0.7", + "port-version": 3, "maintainers": "Rene Stein ", "description": "Task Parallel Library (TPL)/dataflow/actors/async primitives for C++ based on C++ 20 coroutines.", "homepage": "https://github.com/renestein/Rstein.AsyncCpp", "supports": "windows & !arm", + "dependencies": [ + { + "name": "vcpkg-msbuild", + "host": true, + "platform": "windows" + } + ], "features": { "lib-cl-win-legacy-await": { "description": "Legacy coroutines (/await switch, std::experimental namespace)." diff --git a/ports/rsig/portfile.cmake b/ports/rsig/portfile.cmake new file mode 100644 index 00000000000000..bee4230d43111c --- /dev/null +++ b/ports/rsig/portfile.cmake @@ -0,0 +1,11 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO rioki/rsig + REF v0.1.1 + SHA512 1b14a543d55086da5cb678b1654267b4e7c54c7b6ef1d3b65a19ee72c362b62ecdf456c2bea8f19aaec1bee8c30b32d5d79e7ed19725d7fe26204874d063175c + ) + +file(INSTALL ${SOURCE_PATH}/rsig/rsig.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/rsig) + +file(COPY "${CURRENT_PORT_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +configure_file(${SOURCE_PATH}/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) diff --git a/ports/rsig/usage b/ports/rsig/usage new file mode 100644 index 00000000000000..918026fa140764 --- /dev/null +++ b/ports/rsig/usage @@ -0,0 +1,4 @@ +The package rsig is header only and can be used from CMake via: + + find_path(RSIG_INCLUDE_DIRS "rsig/rsig.h") + target_include_directories(main PRIVATE ${RSIG_INCLUDE_DIRS}) diff --git a/ports/rsig/vcpkg.json b/ports/rsig/vcpkg.json new file mode 100644 index 00000000000000..6ad5ebb95c00f2 --- /dev/null +++ b/ports/rsig/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "rsig", + "version-semver": "0.1.1", + "description": "rioki's signal library", + "homepage": "https://github.com/rioki/rsig", + "license": "MIT" +} diff --git a/ports/rsm-binary-io/portfile.cmake b/ports/rsm-binary-io/portfile.cmake index 28c00b72e610db..d1d0f9f33a0d9d 100644 --- a/ports/rsm-binary-io/portfile.cmake +++ b/ports/rsm-binary-io/portfile.cmake @@ -1,10 +1,9 @@ -vcpkg_fail_port_install(ON_TARGET "OSX" "UWP") vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Ryan-rsm-McKenzie/binary_io - REF 2.0.4 - SHA512 a2025be9db79e2d89ab28fdda98cfe88ae6a7f0f0a7e3b6d9f99a1bf8a7b4d89e8a34db21a9bdf11784c7f01fb27a6b083c8af81743919e04efb0736c151bb7e + REF 2.0.6 + SHA512 055290ee81e93aa8a8cda567eea848c76a830d78afb1c40bc3ba0e23b41bf80364fc8621ddaf8d48678acc4b5b7fd1ba2075e2bd23995655131954f580bdd4ae HEAD_REF main ) diff --git a/ports/rsm-binary-io/vcpkg.json b/ports/rsm-binary-io/vcpkg.json index c353ba650f4b13..acda7b565694e5 100644 --- a/ports/rsm-binary-io/vcpkg.json +++ b/ports/rsm-binary-io/vcpkg.json @@ -1,9 +1,10 @@ { "name": "rsm-binary-io", - "version-semver": "2.0.4", + "version-semver": "2.0.6", "description": "A binary i/o library for C++, without the agonizing pain", "homepage": "https://github.com/Ryan-rsm-McKenzie/binary_io", "documentation": "https://ryan-rsm-mckenzie.github.io/binary_io/", + "license": "MIT", "supports": "!osx & !uwp", "dependencies": [ { diff --git a/ports/rsm-bsa/DirectXTexUint8Byte.patch b/ports/rsm-bsa/DirectXTexUint8Byte.patch new file mode 100644 index 00000000000000..586c0d55f0aadb --- /dev/null +++ b/ports/rsm-bsa/DirectXTexUint8Byte.patch @@ -0,0 +1,16 @@ +diff --git a/src/bsa/fo4.cpp b/src/bsa/fo4.cpp +index 5484f13..2d9bbf3 100644 +--- a/src/bsa/fo4.cpp ++++ b/src/bsa/fo4.cpp +@@ -677,7 +677,7 @@ namespace bsa::fo4 + } + + a_out.write_bytes({ // +- static_cast(blob.GetBufferPointer()), ++ reinterpret_cast(blob.GetBufferPointer()), + blob.GetBufferSize() }); + std::vector buffer; + for (const auto& chunk : *this) { +-- +2.47.0.windows.1 + diff --git a/ports/rsm-bsa/portfile.cmake b/ports/rsm-bsa/portfile.cmake index 9b457b08309b67..26685db96b6839 100644 --- a/ports/rsm-bsa/portfile.cmake +++ b/ports/rsm-bsa/portfile.cmake @@ -1,11 +1,12 @@ -vcpkg_fail_port_install(ON_TARGET "OSX" "UWP" ON_ARCH "x86") vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Ryan-rsm-McKenzie/bsa - REF 4.0.0 - SHA512 9be077349cea3f4c6f2298c6286fd306f370c560d9e474516dfd7ab8dcd2313032581f86f9b4f5afb5ccd2dbb4e57663e16997253421033e00186167db15576a + REF 4.1.0 + SHA512 c488a4f7cffa59064baafd429cf118a8f8a7b5594a0bd49a0ed468572b37af2e7428a83ad83cc7b13b556744a444cb7b8a4591c7018e49cadb1c5d42ae780f51 HEAD_REF master + PATCHES + DirectXTexUint8Byte.patch ) if (VCPKG_TARGET_IS_LINUX) @@ -18,13 +19,6 @@ vcpkg_check_features( xmem BSA_SUPPORT_XMEM ) -if (BSA_SUPPORT_XMEM) - vcpkg_fail_port_install( - ON_TARGET "LINUX" - MESSAGE "XMem support is only available for windows" - ) -endif() - vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS diff --git a/ports/rsm-bsa/vcpkg.json b/ports/rsm-bsa/vcpkg.json index fc331bb0bd77dc..9851c2648d6f9d 100644 --- a/ports/rsm-bsa/vcpkg.json +++ b/ports/rsm-bsa/vcpkg.json @@ -1,15 +1,14 @@ { "name": "rsm-bsa", - "version-semver": "4.0.0", + "version-semver": "4.1.0", + "port-version": 1, "description": "A C++ library for working with the Bethesda archive file format", "homepage": "https://github.com/Ryan-rsm-McKenzie/bsa", "documentation": "https://ryan-rsm-mckenzie.github.io/bsa/", + "license": "MIT", "supports": "!x86 & !osx & !uwp", "dependencies": [ - { - "name": "directxtex", - "platform": "windows" - }, + "directxtex", "lz4", "rsm-binary-io", "rsm-mmio", @@ -26,6 +25,7 @@ "features": { "xmem": { "description": "Compression support for the xmem codec", + "supports": "windows", "dependencies": [ "reproc" ] diff --git a/ports/rsm-mmio/portfile.cmake b/ports/rsm-mmio/portfile.cmake index a55ed8760c8e81..83bc1f462c824c 100644 --- a/ports/rsm-mmio/portfile.cmake +++ b/ports/rsm-mmio/portfile.cmake @@ -1,10 +1,9 @@ -vcpkg_fail_port_install(ON_TARGET "OSX" "UWP") vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Ryan-rsm-McKenzie/mmio - REF 1.1.0 - SHA512 54c63c345d9e0a284d13078d525fcbe73d793462968121fee89a19c810cdac736aca9c81f4c8b4f5ea51db1c47ad0c55e7cea38772049e4939b0d6e280f9a332 + REF 2.0.0 + SHA512 a1b0d586c12708233c0379b16a9f60bab27f12cb414736ee245e37888622ac352e834a58808127087788f930311125e2b26e6dad156c72e68143f95910cda48f HEAD_REF main ) diff --git a/ports/rsm-mmio/vcpkg.json b/ports/rsm-mmio/vcpkg.json index fa7d4f7da53b2d..f88d47d5e8d8da 100644 --- a/ports/rsm-mmio/vcpkg.json +++ b/ports/rsm-mmio/vcpkg.json @@ -1,9 +1,9 @@ { "name": "rsm-mmio", - "version-semver": "1.1.0", - "port-version": 1, - "description": "A cross-platform memory-mapped io library for C++ ", + "version-semver": "2.0.0", + "description": "A cross-platform memory-mapped io library for C++", "homepage": "https://github.com/Ryan-rsm-McKenzie/mmio", + "license": "MIT", "supports": "!osx & !uwp", "dependencies": [ { diff --git a/ports/rsocket/fix-c2665.patch b/ports/rsocket/fix-c2665.patch new file mode 100644 index 00000000000000..ffd48ed223623d --- /dev/null +++ b/ports/rsocket/fix-c2665.patch @@ -0,0 +1,13 @@ +diff --git a/rsocket/RSocketServer.cpp b/rsocket/RSocketServer.cpp +index 3a9f6b2..e749eb1 100644 +--- a/rsocket/RSocketServer.cpp ++++ b/rsocket/RSocketServer.cpp +@@ -30,7 +30,7 @@ RSocketServer::RSocketServer( + std::shared_ptr stats) + : duplexConnectionAcceptor_(std::move(connectionAcceptor)), + setupResumeAcceptors_([] { +- return new rsocket::SetupResumeAcceptor{ ++ return rsocket::SetupResumeAcceptor{ + folly::EventBaseManager::get()->getExistingEventBase()}; + }), + connectionSet_(std::make_unique()), diff --git a/ports/rsocket/fix-folly.patch b/ports/rsocket/fix-folly.patch new file mode 100644 index 00000000000000..05d00312674660 --- /dev/null +++ b/ports/rsocket/fix-folly.patch @@ -0,0 +1,13 @@ +diff --git a/rsocket/transports/tcp/TcpConnectionAcceptor.cpp b/rsocket/transports/tcp/TcpConnectionAcceptor.cpp +index 12ac289f..c37f621a 100644 +--- a/rsocket/transports/tcp/TcpConnectionAcceptor.cpp ++++ b/rsocket/transports/tcp/TcpConnectionAcceptor.cpp +@@ -31,7 +31,7 @@ class TcpConnectionAcceptor::SocketCallback + + void connectionAccepted( + folly::NetworkSocket fdNetworkSocket, +- const folly::SocketAddress& address) noexcept override { ++ const folly::SocketAddress& address, AcceptInfo info) noexcept override { + int fd = fdNetworkSocket.toFd(); + + VLOG(2) << "Accepting TCP connection from " << address << " on FD " << fd; diff --git a/ports/rsocket/fix-rsockserver-build-error.patch b/ports/rsocket/fix-rsockserver-build-error.patch new file mode 100644 index 00000000000000..b7dd6726068ca0 --- /dev/null +++ b/ports/rsocket/fix-rsockserver-build-error.patch @@ -0,0 +1,153 @@ +diff --git a/rsocket/RSocketServer.cpp b/rsocket/RSocketServer.cpp +index 1e20281..3a9f6b2 100644 +--- a/rsocket/RSocketServer.cpp ++++ b/rsocket/RSocketServer.cpp +@@ -125,7 +125,7 @@ void RSocketServer::acceptConnection( + weakConSet = std::weak_ptr(connectionSet_), + scheduledResponder = useScheduledResponder_]( + std::unique_ptr conn, +- SetupParameters params) mutable { ++ SetupParameters params) mutable noexcept{ + if (auto connectionSet = weakConSet.lock()) { + RSocketServer::onRSocketSetup( + serviceHandler, +@@ -135,12 +135,15 @@ void RSocketServer::acceptConnection( + std::move(params)); + } + }, +- std::bind( +- &RSocketServer::onRSocketResume, +- this, +- serviceHandler, +- std::placeholders::_1, +- std::placeholders::_2)); ++ [this, serviceHandler=serviceHandler]( ++ std::unique_ptr connection, ++ ResumeParameters resumeParameters) mutable noexcept{ ++ this->onRSocketResume( ++ serviceHandler, ++ std::move(connection), ++ resumeParameters ++ ); ++ }); + } + + void RSocketServer::onRSocketSetup( +@@ -206,7 +209,7 @@ void RSocketServer::onRSocketSetup( + void RSocketServer::onRSocketResume( + std::shared_ptr serviceHandler, + std::unique_ptr connection, +- ResumeParameters resumeParams) { ++ ResumeParameters resumeParams) noexcept{ + auto result = serviceHandler->onResume(resumeParams.token); + if (result.hasError()) { + stats_->resumeFailedNoState(); +diff --git a/rsocket/RSocketServer.h b/rsocket/RSocketServer.h +index 39dae66..e2346ef 100644 +--- a/rsocket/RSocketServer.h ++++ b/rsocket/RSocketServer.h +@@ -118,7 +118,7 @@ class RSocketServer { + void onRSocketResume( + std::shared_ptr serviceHandler, + std::unique_ptr connection, +- rsocket::ResumeParameters setupPayload); ++ rsocket::ResumeParameters setupPayload)noexcept; + + const std::unique_ptr duplexConnectionAcceptor_; + bool started{false}; +diff --git a/yarpl/flowable/AsyncGeneratorShim.h b/yarpl/flowable/AsyncGeneratorShim.h +index 72d212c..79a09f1 100644 +--- a/yarpl/flowable/AsyncGeneratorShim.h ++++ b/yarpl/flowable/AsyncGeneratorShim.h +@@ -96,7 +96,7 @@ class AsyncGeneratorShim { + value.emplace(std::move(*item)); + } + } catch (const std::exception& ex) { +- value.emplaceException(std::current_exception(), ex); ++ value.emplaceException(std::current_exception()); + } catch (...) { + value.emplaceException(std::current_exception()); + } +diff --git a/yarpl/flowable/Flowable.h b/yarpl/flowable/Flowable.h +index 9dff78b..bccd70d 100644 +--- a/yarpl/flowable/Flowable.h ++++ b/yarpl/flowable/Flowable.h +@@ -494,7 +494,7 @@ std::shared_ptr> Flowable::fromGenerator( + } + } catch (const std::exception& ex) { + subscriber.onError( +- folly::exception_wrapper(std::current_exception(), ex)); ++ folly::exception_wrapper(std::current_exception())); + } catch (...) { + subscriber.onError(std::runtime_error( + "Flowable::fromGenerator() threw from Subscriber:onNext()")); +diff --git a/yarpl/flowable/FlowableOperator.h b/yarpl/flowable/FlowableOperator.h +index 314ba7f..fe63504 100644 +--- a/yarpl/flowable/FlowableOperator.h ++++ b/yarpl/flowable/FlowableOperator.h +@@ -178,7 +178,7 @@ class MapOperator : public FlowableOperator { + this->subscriberOnNext(flowable->function_(std::move(value))); + } + } catch (const std::exception& exn) { +- folly::exception_wrapper ew{std::current_exception(), exn}; ++ folly::exception_wrapper ew{std::current_exception()}; + this->terminateErr(std::move(ew)); + } + } +@@ -190,7 +190,7 @@ class MapOperator : public FlowableOperator { + } + } catch (const std::exception& exn) { + this->terminateErr( +- folly::exception_wrapper{std::current_exception(), exn}); ++ folly::exception_wrapper{std::current_exception()}); + } + } + +@@ -570,7 +570,7 @@ class FlatMapOperator : public FlowableOperator { + try { + mappedStream = flowable_->function_(std::move(value)); + } catch (const std::exception& exn) { +- folly::exception_wrapper ew{std::current_exception(), exn}; ++ folly::exception_wrapper ew{std::current_exception()}; + { + std::lock_guard g(onErrorExGuard_); + onErrorEx_ = ew; +diff --git a/yarpl/flowable/Subscriber.h b/yarpl/flowable/Subscriber.h +index d1dc3b5..582f9c4 100644 +--- a/yarpl/flowable/Subscriber.h ++++ b/yarpl/flowable/Subscriber.h +@@ -301,7 +301,7 @@ class Base : public LambdaSubscriber { + next_(std::move(value)); + } catch (const std::exception& exn) { + this->cancel(); +- auto ew = folly::exception_wrapper{std::current_exception(), exn}; ++ auto ew = folly::exception_wrapper{std::current_exception()}; + LOG(ERROR) << "'next' method should not throw: " << ew.what(); + onErrorImpl(ew); + return; +diff --git a/yarpl/observable/ObservableOperator.h b/yarpl/observable/ObservableOperator.h +index 451c6bd..0e60b48 100644 +--- a/yarpl/observable/ObservableOperator.h ++++ b/yarpl/observable/ObservableOperator.h +@@ -196,7 +196,7 @@ class MapOperator : public ObservableOperator { + try { + this->observerOnNext(observable_->function_(std::move(value))); + } catch (const std::exception& exn) { +- folly::exception_wrapper ew{std::current_exception(), exn}; ++ folly::exception_wrapper ew{std::current_exception()}; + this->terminateErr(std::move(ew)); + } + } +diff --git a/yarpl/single/SingleOperator.h b/yarpl/single/SingleOperator.h +index 0b3e739..4defd64 100644 +--- a/yarpl/single/SingleOperator.h ++++ b/yarpl/single/SingleOperator.h +@@ -197,7 +197,7 @@ class MapOperator : public SingleOperator { + auto map_operator = this->getOperator(); + this->observerOnSuccess(map_operator->function_(std::move(value))); + } catch (const std::exception& exn) { +- folly::exception_wrapper ew{std::current_exception(), exn}; ++ folly::exception_wrapper ew{std::current_exception()}; + this->observerOnError(std::move(ew)); + } + } diff --git a/ports/rsocket/fix-yarpl.patch b/ports/rsocket/fix-yarpl.patch new file mode 100644 index 00000000000000..ddc5c2861ad36a --- /dev/null +++ b/ports/rsocket/fix-yarpl.patch @@ -0,0 +1,48 @@ +diff --git a/rsocket/transports/tcp/TcpConnectionFactory.cpp b/rsocket/transports/tcp/TcpConnectionFactory.cpp +index b970cd75..cba4405e 100644 +--- a/rsocket/transports/tcp/TcpConnectionFactory.cpp ++++ b/rsocket/transports/tcp/TcpConnectionFactory.cpp +@@ -41,7 +41,7 @@ class ConnectCallback : public folly::AsyncSocket::ConnectCallback { + DCHECK(evb); + + if (sslContext) { +-#if !FOLLY_OPENSSL_HAS_ALPN ++#if 0 + // setAdvertisedNextProtocols() is unavailable + #error ALPN is required for rsockets. \ + Your version of OpenSSL is likely too old. +diff --git a/yarpl/CMakeLists.txt b/yarpl/CMakeLists.txt +index f4159b82..33364f58 100644 +--- a/yarpl/CMakeLists.txt ++++ b/yarpl/CMakeLists.txt +@@ -9,7 +9,7 @@ set(CMAKE_MODULE_PATH + ${CMAKE_MODULE_PATH} + ) + +-add_definitions(-std=c++14) ++add_definitions(-std=c++17) + option(BUILD_TESTS "BUILD_TESTS" ON) + + # Generate compilation database +@@ -17,7 +17,7 @@ set(CMAKE_EXPORT_COMPILE_COMMANDS 1) + + # Common configuration for all build modes. + if (NOT MSVC) +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14") ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wno-unused-parameter") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-weak-vtables -Wno-padded") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-omit-frame-pointer") +diff --git a/yarpl/flowable/Flowable_FromObservable.h b/yarpl/flowable/Flowable_FromObservable.h +index e191ad7c..ce8565c8 100644 +--- a/yarpl/flowable/Flowable_FromObservable.h ++++ b/yarpl/flowable/Flowable_FromObservable.h +@@ -180,7 +180,7 @@ class BufferBackpressureStrategy : public BackpressureStrategyBase { + static constexpr size_t kNoLimit = 0; + + explicit BufferBackpressureStrategy(size_t bufferSizeLimit = kNoLimit) +- : buffer_(folly::in_place, bufferSizeLimit) {} ++ : buffer_(std::in_place, bufferSizeLimit) {} + + private: + using Super = BackpressureStrategyBase; diff --git a/ports/rsocket/portfile.cmake b/ports/rsocket/portfile.cmake index 4ae31c106ef0fe..fab0ca13c9acba 100644 --- a/ports/rsocket/portfile.cmake +++ b/ports/rsocket/portfile.cmake @@ -1,44 +1,47 @@ # yarpl only support static build in Windows if (VCPKG_TARGET_IS_WINDOWS) - vcpkg_fail_port_install(ON_ARCH "x64") vcpkg_check_linkage(ONLY_STATIC_LIBRARY) endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO rsocket/rsocket-cpp #v2020.05.04.00 - REF 8038d05e741c3d3ecd6adb069b4a1b3daa230e14 - SHA512 d7bc93af7b6130d73fa0823f534ad57a531dfa7d7aa990a2a1a1b72b6761db7eeb60573d0d38f55daa991554e3ab4ac507047f8051a4390b3343cd708a48efbb + REPO rsocket/rsocket-cpp + REF 45ed594ebd6701f40795c31ec922d784ec7fc921 + SHA512 51871253524b93a9622fa0f562019605b6034e4089cd955810050b4d43ff020813d632ea1e91bcaca0a8659638908c51df6eb686ba4f6583d4c15c04d5dc35bd HEAD_REF master PATCHES fix-cmake-config.patch fix-find-dependencies.patch + use-cpp-17.patch + fix-folly.patch + fix-rsockserver-build-error.patch + fix-yarpl.patch + fix-c2665.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_EXAMPLES=OFF -DBUILD_TESTS=OFF -DBUILD_BENCHMARKS=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake TARGET_PATH share) +vcpkg_copy_pdbs() + +vcpkg_cmake_config_fixup(PACKAGE_NAME yarpl CONFIG_PATH lib/cmake/yarpl DO_NOT_DELETE_PARENT_CONFIG_PATH) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/rsocket) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") file(REMOVE_RECURSE - ${CURRENT_PACKAGES_DIR}/include/yarpl/perf - ${CURRENT_PACKAGES_DIR}/include/yarpl/cmake - ${CURRENT_PACKAGES_DIR}/include/yarpl/test - ${CURRENT_PACKAGES_DIR}/include/rsocket/examples - ${CURRENT_PACKAGES_DIR}/include/rsocket/test + "${CURRENT_PACKAGES_DIR}/include/yarpl/perf" + "${CURRENT_PACKAGES_DIR}/include/yarpl/cmake" + "${CURRENT_PACKAGES_DIR}/include/yarpl/test" + "${CURRENT_PACKAGES_DIR}/include/rsocket/examples" + "${CURRENT_PACKAGES_DIR}/include/rsocket/test" ) -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/rsocket/use-cpp-17.patch b/ports/rsocket/use-cpp-17.patch new file mode 100644 index 00000000000000..4ef2f8abd8808d --- /dev/null +++ b/ports/rsocket/use-cpp-17.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 22570b5..15a750b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -154,7 +154,7 @@ if(BUILD_TESTS) + + endif() + +-set(CMAKE_CXX_STANDARD 14) ++set(CMAKE_CXX_STANDARD 17) + + include(CheckCXXCompilerFlag) + diff --git a/ports/rsocket/vcpkg.json b/ports/rsocket/vcpkg.json index cbaa74eb8b0435..3bace5ab11c947 100644 --- a/ports/rsocket/vcpkg.json +++ b/ports/rsocket/vcpkg.json @@ -1,10 +1,9 @@ { "name": "rsocket", - "version-string": "2020.05.04.00", - "port-version": 2, + "version-string": "2021.08.30.00", + "port-version": 5, "description": "C++ implementation of RSocket http://rsocket.io", "homepage": "https://github.com/rsocket/rsocket-cpp", - "supports": "!(windows & x64)", "dependencies": [ "boost-context", "boost-filesystem", @@ -18,6 +17,14 @@ "gflags", "glog", "openssl", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, "zlib" ] } diff --git a/ports/rtabmap-res-tool/CMakeLists.txt b/ports/rtabmap-res-tool/CMakeLists.txt new file mode 100644 index 00000000000000..cb49576c9469ec --- /dev/null +++ b/ports/rtabmap-res-tool/CMakeLists.txt @@ -0,0 +1,10 @@ +cmake_minimum_required(VERSION 3.10) +project(rtabmap) +set(PROJECT_PREFIX rtabmap) + +include(GenerateExportHeader) +include(GNUInstallDirs) + +list(PREPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake_modules") + +add_subdirectory(utilite) diff --git a/ports/rtabmap-res-tool/portfile.cmake b/ports/rtabmap-res-tool/portfile.cmake new file mode 100644 index 00000000000000..331784bcc8e647 --- /dev/null +++ b/ports/rtabmap-res-tool/portfile.cmake @@ -0,0 +1,30 @@ +# Only the standalone tool +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) +set(VCPKG_BUILD_TYPE release) +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO introlab/rtabmap + REF ${VERSION} + SHA512 2b424f5b6458cf0f976e711985708f104b56d11921c9c43c6a837f9d3dc9e9e802308f1aa2b6d0e7e6ddf13623ff1ad2922b5f54254d16ee5811e786d27b9f98 + HEAD_REF master +) +file(COPY "${CURRENT_PORT_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DINSTALL_INCLUDE_DIR=include + -DINSTALL_CMAKE_DIR=lib/cmake + -DRTABMAP_VERSION=${VERSION} +) +vcpkg_cmake_install() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") + +file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools") +file(RENAME "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/tools/${PORT}") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/rtabmap-res-tool/vcpkg.json b/ports/rtabmap-res-tool/vcpkg.json new file mode 100644 index 00000000000000..c4a21c73437f51 --- /dev/null +++ b/ports/rtabmap-res-tool/vcpkg.json @@ -0,0 +1,14 @@ +{ + "name": "rtabmap-res-tool", + "version": "0.21.4.1", + "description": "Real-Time Appearance-Based Mapping, resource generator", + "homepage": "https://introlab.github.io/rtabmap/", + "license": "BSD-3-Clause", + "supports": "native", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] +} diff --git a/ports/rtabmap/apple.patch b/ports/rtabmap/apple.patch new file mode 100644 index 00000000000000..1af23670ded072 --- /dev/null +++ b/ports/rtabmap/apple.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 024c729..ddb1cae 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -119,8 +119,6 @@ endif() + #Other paths... + IF(APPLE) + # For Mac ports +- SET(CMAKE_INCLUDE_PATH "/opt/local/include;${CMAKE_INCLUDE_PATH}") +- SET(CMAKE_LIBRARY_PATH "/opt/local/lib;${CMAKE_LIBRARY_PATH}") + ENDIF() + + ####### Build libraries as shared or static ####### diff --git a/ports/rtabmap/fix-qt.patch b/ports/rtabmap/fix-qt.patch deleted file mode 100644 index e7baa15dfb3bd8..00000000000000 --- a/ports/rtabmap/fix-qt.patch +++ /dev/null @@ -1,31 +0,0 @@ -From a9f8c032bb7915c075f0fb32a0bbfa633ca3b388 Mon Sep 17 00:00:00 2001 -Date: Wed, 7 Jul 2021 15:13:43 -0400 -Subject: [PATCH] Fix Qt - ---- - CMakeLists.txt | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 5cdae617..fe98199b 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -966,13 +966,13 @@ IF(ANDROID) - IF(BUILD_APP) - ADD_SUBDIRECTORY( app ) - ENDIF(BUILD_APP) -+ELSEIF(NOT WITH_QT) -+ MESSAGE(WARNING "the GUI lib and the stand-alone application will not be compiled...") - ELSEIF(Qt5_FOUND OR (QT4_FOUND AND QT_QTCORE_FOUND AND QT_QTGUI_FOUND)) - ADD_SUBDIRECTORY( guilib ) - IF(BUILD_APP) - ADD_SUBDIRECTORY( app ) - ENDIF(BUILD_APP) --ELSEIF(WITH_QT) -- MESSAGE(WARNING "Qt not found, the GUI lib and the stand-alone application will not be compiled...") - ENDIF() - - IF(BUILD_TOOLS) --- -2.32.0.windows.1 - diff --git a/ports/rtabmap/fix_link.patch b/ports/rtabmap/fix_link.patch new file mode 100644 index 00000000000000..77681a0501bb40 --- /dev/null +++ b/ports/rtabmap/fix_link.patch @@ -0,0 +1,15 @@ +diff --git a/corelib/src/global_map/OctoMap.cpp b/corelib/src/global_map/OctoMap.cpp +index d4c22499..87acefcd 100644 +--- a/corelib/src/global_map/OctoMap.cpp ++++ b/corelib/src/global_map/OctoMap.cpp +@@ -278,10 +278,8 @@ RtabmapColorOcTree::StaticMemberInitializer::StaticMemberInitializer() { + AbstractOcTree::registerTreeType(tree); + } + +-#ifndef _WIN32 + // On Windows, the app freezes on start if the following is defined + RtabmapColorOcTree::StaticMemberInitializer RtabmapColorOcTree::RtabmapColorOcTreeMemberInit; +-#endif + + + ////////////////////////////////////// diff --git a/ports/rtabmap/gklib.patch b/ports/rtabmap/gklib.patch new file mode 100644 index 00000000000000..2a66fcba185134 --- /dev/null +++ b/ports/rtabmap/gklib.patch @@ -0,0 +1,13 @@ +--- 0.21.4.1-44dcfeb2ff/corelib/src/CMakeLists.txt.old 2024-04-12 09:59:07.656980900 +0200 ++++ 0.21.4.1-44dcfeb2ff/corelib/src/CMakeLists.txt 2024-04-12 09:59:46.701218300 +0200 +@@ -747,8 +747,8 @@ IF(GTSAM_FOUND) + ) + IF(WIN32) + #explicitly add metis target on windows (after gtsam target) +- SET(LIBRARIES +- ${LIBRARIES} ++ SET(PUBLIC_LIBRARIES ++ ${PUBLIC_LIBRARIES} + metis + ) + ENDIF(WIN32) diff --git a/ports/rtabmap/link-keywords.patch b/ports/rtabmap/link-keywords.patch new file mode 100644 index 00000000000000..891266d27402b6 --- /dev/null +++ b/ports/rtabmap/link-keywords.patch @@ -0,0 +1,12 @@ +diff --git a/corelib/src/CMakeLists.txt b/corelib/src/CMakeLists.txt +index 6a4a9ab..85ede4e 100644 +--- a/corelib/src/CMakeLists.txt ++++ b/corelib/src/CMakeLists.txt +@@ -167,7 +167,6 @@ SET(LIBRARIES + # Issue that qhull dependency uses optimized and debug keywords, + # which are converted to \$<\$> and \$<\$ + # in RTABMap_coreTargets.cmake (not sure why?!). +-list(REMOVE_ITEM PCL_LIBRARIES "debug" "optimized") + SET(PUBLIC_LIBRARIES + ${OpenCV_LIBS} + ${PCL_LIBRARIES} diff --git a/ports/rtabmap/multi-definition.patch b/ports/rtabmap/multi-definition.patch new file mode 100644 index 00000000000000..94c02f47dd5bc5 --- /dev/null +++ b/ports/rtabmap/multi-definition.patch @@ -0,0 +1,105 @@ +diff --git a/corelib/include/rtabmap/core/stereo/stereoRectifyFisheye.h b/corelib/include/rtabmap/core/stereo/stereoRectifyFisheye.h +index 2fc12a2..a719512 100644 +--- a/corelib/include/rtabmap/core/stereo/stereoRectifyFisheye.h ++++ b/corelib/include/rtabmap/core/stereo/stereoRectifyFisheye.h +@@ -39,6 +39,10 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #if CV_MAJOR_VERSION >= 4 + #include + ++#include ++ ++namespace { ++ + // Opencv4 doesn't expose those functions below anymore, we should recopy all of them! + int cvRodrigues2( const CvMat* src, CvMat* dst, CvMat* jacobian CV_DEFAULT(0)) + { +@@ -915,6 +919,8 @@ void cvConvertPointsHomogeneous( const CvMat* _src, CvMat* _dst ) + } + } + ++} // namespace ++ + #endif // OpenCV4 + + #endif // OpenCV3 +@@ -923,9 +929,11 @@ namespace rtabmap + { + + void ++RTABMAP_CORE_EXPORT + icvGetRectanglesFisheye( const CvMat* cameraMatrix, const CvMat* distCoeffs, + const CvMat* R, const CvMat* newCameraMatrix, CvSize imgSize, + cv::Rect_& inner, cv::Rect_& outer ) ++#ifdef RTABMAP_STEREORECTIFIYFISHEYE_IMPLEMENTATION + { + const int N = 9; + int x, y, k; +@@ -967,12 +975,17 @@ icvGetRectanglesFisheye( const CvMat* cameraMatrix, const CvMat* distCoeffs, + inner = cv::Rect_(iX0, iY0, iX1-iX0, iY1-iY0); + outer = cv::Rect_(oX0, oY0, oX1-oX0, oY1-oY0); + } ++#else ++; ++#endif + +-void cvStereoRectifyFisheye( const CvMat* _cameraMatrix1, const CvMat* _cameraMatrix2, ++void RTABMAP_CORE_EXPORT ++ cvStereoRectifyFisheye( const CvMat* _cameraMatrix1, const CvMat* _cameraMatrix2, + const CvMat* _distCoeffs1, const CvMat* _distCoeffs2, + CvSize imageSize, const CvMat* matR, const CvMat* matT, + CvMat* _R1, CvMat* _R2, CvMat* _P1, CvMat* _P2, + CvMat* matQ, int flags, double alpha, CvSize newImgSize ) ++#ifdef RTABMAP_STEREORECTIFIYFISHEYE_IMPLEMENTATION + { + double _om[3], _t[3] = {0}, _uu[3]={0,0,0}, _r_r[3][3], _pp[3][4]; + double _ww[3], _wr[3][3], _z[3] = {0,0,0}, _ri[3][3], _w3[3]; +@@ -1177,19 +1190,25 @@ void cvStereoRectifyFisheye( const CvMat* _cameraMatrix1, const CvMat* _cameraMa + cvConvert( &Q, matQ ); + } + } ++#else ++; ++#endif ++ + +-void stereoRectifyFisheye( cv::InputArray _cameraMatrix1, cv::InputArray _distCoeffs1, ++void RTABMAP_CORE_EXPORT ++ stereoRectifyFisheye( cv::InputArray _cameraMatrix1, cv::InputArray _distCoeffs1, + cv::InputArray _cameraMatrix2, cv::InputArray _distCoeffs2, + cv::Size imageSize, cv::InputArray _Rmat, cv::InputArray _Tmat, + cv::OutputArray _Rmat1, cv::OutputArray _Rmat2, + cv::OutputArray _Pmat1, cv::OutputArray _Pmat2, + cv::OutputArray _Qmat, int flags, + double alpha, cv::Size newImageSize) ++#ifdef RTABMAP_STEREORECTIFIYFISHEYE_IMPLEMENTATION + { + cv::Mat cameraMatrix1 = _cameraMatrix1.getMat(), cameraMatrix2 = _cameraMatrix2.getMat(); + cv::Mat distCoeffs1 = _distCoeffs1.getMat(), distCoeffs2 = _distCoeffs2.getMat(); + cv::Mat Rmat = _Rmat.getMat(), Tmat = _Tmat.getMat(); +- ++ + #if CV_MAJOR_VERSION > 3 || (CV_MAJOR_VERSION >= 3 && (CV_MINOR_VERSION>4 || (CV_MINOR_VERSION>=4 && CV_SUBMINOR_VERSION>=4))) + CvMat c_cameraMatrix1 = cvMat(cameraMatrix1); + CvMat c_cameraMatrix2 = cvMat(cameraMatrix2); +@@ -1238,6 +1257,9 @@ void stereoRectifyFisheye( cv::InputArray _cameraMatrix1, cv::InputArray _distCo + CvSize(newImageSize)); + #endif + } ++#else ++; ++#endif + + } + +diff --git a/corelib/src/StereoCameraModel.cpp b/corelib/src/StereoCameraModel.cpp +index 421d3f4..e7c166c 100644 +--- a/corelib/src/StereoCameraModel.cpp ++++ b/corelib/src/StereoCameraModel.cpp +@@ -34,6 +34,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #include + + #if CV_MAJOR_VERSION > 2 or (CV_MAJOR_VERSION == 2 and (CV_MINOR_VERSION >4 or (CV_MINOR_VERSION == 4 and CV_SUBMINOR_VERSION >=10))) ++#define RTABMAP_STEREORECTIFIYFISHEYE_IMPLEMENTATION + #include + #endif + diff --git a/ports/rtabmap/portfile.cmake b/ports/rtabmap/portfile.cmake index 548f5e3bc72b95..e063c884d1ae1e 100644 --- a/ports/rtabmap/portfile.cmake +++ b/ports/rtabmap/portfile.cmake @@ -1,67 +1,90 @@ -vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO introlab/rtabmap - REF a921d615c5cb4eb55a8dfc608dae6efde13e9126 - SHA512 7787d5f927f53554cec3044221011cbc78b654c504d96af29947266e25058194923c5463aefde73b93dcfb3930eedf731f6af4d0c311d8f2f0d7be2114393e05 + REF ${VERSION} + SHA512 2b424f5b6458cf0f976e711985708f104b56d11921c9c43c6a837f9d3dc9e9e802308f1aa2b6d0e7e6ddf13623ff1ad2922b5f54254d16ee5811e786d27b9f98 HEAD_REF master PATCHES - fix-qt.patch + apple.patch + fix_link.patch + link-keywords.patch + multi-definition.patch + rtabmap-res-tool.patch + gklib.patch ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES - tools BUILD_TOOLS + gui WITH_QT + k4w2 WITH_K4W2 + octomap WITH_OCTOMAP + openni2 WITH_OPENNI2 + realsense2 WITH_REALSENSE2 + tools BUILD_APP + tools BUILD_TOOLS ) vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" DISABLE_PARALLEL_CONFIGURE + OPTIONS_DEBUG + -DBUILD_TOOLS=OFF + -DBUILD_APP=OFF OPTIONS ${FEATURE_OPTIONS} - -DBUILD_APP=OFF + -DBUILD_AS_BUNDLE=OFF -DBUILD_EXAMPLES=OFF - -DWITH_QT=OFF - -DWITH_SUPERPOINT_TORCH=OFF - -DWITH_PYMATCHER=OFF + -DRTABMAP_QT_VERSION=6 + "-DRTABMAP_RES_TOOL=${CURRENT_HOST_INSTALLED_DIR}/tools/rtabmap-res-tool/rtabmap-res_tool${VCPKG_TARGET_EXECUTABLE_SUFFIX}" + -DWITH_ALICE_VISION=OFF + -DWITH_CCCORELIB=OFF + -DWITH_CERES=ON + -DWITH_CPUTSDF=OFF + -DWITH_CVSBA=OFF + -DWITH_DC1394=OFF + -DWITH_DEPTHAI=OFF + -DWITH_DVO=OFF + -DWITH_FASTCV=OFF + -DWITH_FLYCAPTURE2=OFF + -DWITH_FOVIS=OFF -DWITH_FREENECT=OFF -DWITH_FREENECT2=OFF - -DWITH_K4W2=OFF - -DWITH_K4A=OFF - -DWITH_OPENNI2=OFF - -DWITH_DC1394=OFF - -DWITH_G2O=OFF + -DWITH_G2O=ON -DWITH_GTSAM=OFF - -DWITH_CERES=OFF - -DWITH_VERTIGO=OFF - -DWITH_CVSBA=OFF - -DWITH_POINTMATCHER=OFF + -DWITH_K4A=OFF -DWITH_LOAM=OFF - -DWITH_FLYCAPTURE2=OFF - -DWITH_ZED=OFF - -DWITH_REALSENSE=OFF - -DWITH_REALSENSE_SLAM=OFF - -DWITH_REALSENSE2=OFF + -DWITH_MADGWICK=OFF + -DWITH_MSCKF_VIO=OFF -DWITH_MYNTEYE=OFF - -DWITH_OCTOMAP=OFF - -DWITH_CPUTSDF=OFF - -DWITH_OPENCHISEL=OFF - -DWITH_ALICE_VISION=OFF - -DWITH_FOVIS=OFF - -DWITH_VISO2=OFF - -DWITH_DVO=OFF - -DWITH_ORB_SLAM2=OFF -DWITH_OKVIS=OFF - -DWITH_MSCKF_VIO=OFF + -DWITH_OPENCHISEL=OFF + -DWITH_OPENVINS=OFF + -DWITH_ORB_OCTREE=ON # GPLv3 + -DWITH_ORB_SLAM=OFF + -DWITH_PDAL=OFF + -DWITH_POINTMATCHER=OFF + -DWITH_PYTHON_THREADING=OFF + -DWITH_PYTHON=OFF + -DWITH_REALSENSE_SLAM=OFF + -DWITH_REALSENSE=OFF + -DWITH_TORCH=OFF + -DWITH_VERTIGO=OFF -DWITH_VINS=OFF - -DWITH_FASTCV=OFF + -DWITH_VISO2=OFF + -DWITH_ZED=OFF + -DWITH_ZEDOC=OFF ) vcpkg_cmake_install() -vcpkg_cmake_config_fixup(CONFIG_PATH cmake) -vcpkg_copy_tools(TOOL_NAMES rtabmap-res_tool AUTO_CLEAN) +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_cmake_config_fixup(CONFIG_PATH CMake) +else() + vcpkg_cmake_config_fixup(CONFIG_PATH lib/rtabmap-0.21) +endif() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") if("tools" IN_LIST FEATURES) vcpkg_copy_tools( @@ -78,13 +101,30 @@ if("tools" IN_LIST FEATURES) rtabmap-reprocess rtabmap-rgbd_dataset rtabmap-euroc_dataset + rtabmap-cleanupLocalGrids + rtabmap-globalBundleAdjustment AUTO_CLEAN ) + if("gui" IN_LIST FEATURES) + vcpkg_copy_tools( + TOOL_NAMES + rtabmap + rtabmap-calibration + rtabmap-databaseViewer + rtabmap-dataRecorder + rtabmap-odometryViewer + rtabmap-rgbd_camera + AUTO_CLEAN + ) + file(COPY "${CURRENT_INSTALLED_DIR}/tools/Qt6/bin/qt.conf" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/${PORT}/qt.conf" "./../../../" "./../../") + endif() endif() -file(REMOVE_RECURSE - "${CURRENT_PACKAGES_DIR}/debug/include" - "${CURRENT_PACKAGES_DIR}/debug/share" +vcpkg_install_copyright( + COMMENT [[ +The RTAB-Map main license is BSD-3-Clause, but some parts of the +source code are under other licenses possibly including GPL-3.0-only. +]] + FILE_LIST "${SOURCE_PATH}/LICENSE" ) - -configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) diff --git a/ports/rtabmap/rtabmap-res-tool.patch b/ports/rtabmap/rtabmap-res-tool.patch new file mode 100644 index 00000000000000..6d72bcaaf855d8 --- /dev/null +++ b/ports/rtabmap/rtabmap-res-tool.patch @@ -0,0 +1,11 @@ +diff --git a/utilite/resource_generator/CMakeLists.txt b/utilite/resource_generator/CMakeLists.txt +index 82f1253..eedab31 100644 +--- a/utilite/resource_generator/CMakeLists.txt ++++ b/utilite/resource_generator/CMakeLists.txt +@@ -1,5 +1,5 @@ + +-if (CMAKE_CROSSCOMPILING OR ANDROID OR IOS) ++if (RTABMAP_RES_TOOL) + # See this page about tools being required in the build: + # https://gitlab.kitware.com/cmake/community/-/wikis/doc/cmake/CrossCompiling#using-executables-in-the-build-created-during-the-build + diff --git a/ports/rtabmap/sqlite3.patch b/ports/rtabmap/sqlite3.patch new file mode 100644 index 00000000000000..5dcf2f64611ac9 --- /dev/null +++ b/ports/rtabmap/sqlite3.patch @@ -0,0 +1,48 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1ecd3ae..024c729 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -252,10 +252,10 @@ endif() + + FIND_PACKAGE(ZLIB REQUIRED QUIET) + +-FIND_PACKAGE(Sqlite3 QUIET) +-IF(Sqlite3_FOUND) +- MESSAGE(STATUS "Found Sqlite3: ${Sqlite3_INCLUDE_DIRS} ${Sqlite3_LIBRARIES}") +-ENDIF(Sqlite3_FOUND) ++FIND_PACKAGE(SQLite3 QUIET) ++IF(SQLite3_FOUND) ++ MESSAGE(STATUS "Found Sqlite3: ${SQLite3_INCLUDE_DIRS} ${SQLite3_LIBRARIES}") ++ENDIF(SQLite3_FOUND) + + if(NOT "${PCL_LIBRARIES}" STREQUAL "") + # fix libproj.so not found on Xenial +@@ -1332,7 +1332,7 @@ ELSE() + MESSAGE(STATUS " With Qt = NO (Qt not found)") + ENDIF() + +-IF(Sqlite3_FOUND) ++IF(SQLite3_FOUND) + MESSAGE(STATUS " With external SQLite3 = YES (License: Public Domain)") + ELSE() + MESSAGE(STATUS " With external SQLite3 = NO (sqlite3 not found, internal version is used for convenience)") +--- a/corelib/src/CMakeLists.txt ++++ b/corelib/src/CMakeLists.txt +@@ -173,14 +173,14 @@ SET(PUBLIC_LIBRARIES + ${PCL_LIBRARIES} + ) + +-IF(Sqlite3_FOUND) ++IF(SQLite3_FOUND) + SET(INCLUDE_DIRS + ${INCLUDE_DIRS} +- ${Sqlite3_INCLUDE_DIRS} ++ ${SQLite3_INCLUDE_DIRS} + ) + SET(LIBRARIES + ${LIBRARIES} +- ${Sqlite3_LIBRARIES} ++ ${SQLite3_LIBRARIES} + ) + ELSE() + SET(SRC_FILES diff --git a/ports/rtabmap/vcpkg.json b/ports/rtabmap/vcpkg.json index d0e2fc7fca2160..051cbaaaba5ae0 100644 --- a/ports/rtabmap/vcpkg.json +++ b/ports/rtabmap/vcpkg.json @@ -1,19 +1,26 @@ { "name": "rtabmap", - "version-string": "0.20.13", - "port-version": 1, + "version": "0.21.4.1", + "port-version": 2, "description": "Real-Time Appearance-Based Mapping", "homepage": "https://introlab.github.io/rtabmap/", - "supports": "windows & !static", + "license": null, "dependencies": [ - "opencv", + "ceres", + "g2o", + { + "name": "opencv", + "default-features": false + }, { "name": "pcl", - "default-features": false, - "features": [ - "vtk" - ] + "default-features": false + }, + { + "name": "rtabmap-res-tool", + "host": true }, + "sqlite3", { "name": "vcpkg-cmake", "host": true @@ -24,9 +31,105 @@ }, "zlib" ], + "default-features": [ + "gui", + "opencv-contrib", + "opencv-nonfree", + "tools" + ], "features": { + "gui": { + "description": "Build RTAB-Map with GUI support (Qt)", + "dependencies": [ + { + "name": "pcl", + "default-features": false, + "features": [ + "qt", + "visualization" + ] + }, + { + "name": "qtbase", + "default-features": false, + "features": [ + "gui", + "opengl", + "widgets" + ] + }, + { + "name": "vtk", + "default-features": false + } + ] + }, + "k4w2": { + "description": "Build RTAB-Map with Kinect For Windows SDK 2.0 camera driver", + "dependencies": [ + "kinectsdk2" + ] + }, + "octomap": { + "description": "Build RTAB-Map with OctoMap support", + "dependencies": [ + "octomap" + ] + }, + "opencv-contrib": { + "description": "Use OpenCV with contrib modules (e.g., xfeatures2d, aruco)", + "dependencies": [ + { + "name": "opencv", + "default-features": false, + "features": [ + "contrib" + ] + } + ] + }, + "opencv-cuda": { + "description": "Use OpenCV with CUDA (accelerated SIFT ad SURF GPU options)", + "dependencies": [ + { + "name": "opencv", + "default-features": false, + "features": [ + "cuda" + ] + } + ] + }, + "opencv-nonfree": { + "description": "Use OpenCV with nonfree module (surf feature)", + "dependencies": [ + { + "name": "opencv", + "default-features": false, + "features": [ + "nonfree" + ] + } + ] + }, + "openni2": { + "description": "Build RTAB-Map with OpenNI2 camera driver", + "dependencies": [ + "kinectsdk1", + "openni2" + ] + }, + "realsense2": { + "description": "Build RTAB-Map with RealSense2 camera driver", + "dependencies": [ + { + "name": "realsense2", + "default-features": false + } + ] + }, "tools": { - "description": "Build tools", + "description": "Build RTAB-Map's tools", "dependencies": [ "yaml-cpp" ] diff --git a/ports/rtaudio/fix-pulse.patch b/ports/rtaudio/fix-pulse.patch new file mode 100644 index 00000000000000..513b8026591b90 --- /dev/null +++ b/ports/rtaudio/fix-pulse.patch @@ -0,0 +1,28 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 8e021dc..6dbac46 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -149,9 +149,9 @@ endif() + # Pulse + if (RTAUDIO_API_PULSE) + set(NEED_PTHREAD ON) +- find_library(PULSE_LIB pulse) +- find_library(PULSESIMPLE_LIB pulse-simple) +- list(APPEND LINKLIBS ${PULSE_LIB} ${PULSESIMPLE_LIB}) ++ find_package(PkgConfig) ++ pkg_check_modules(pulse-simple REQUIRED IMPORTED_TARGET libpulse-simple) ++ list(APPEND LINKLIBS PkgConfig::pulse-simple) + list(APPEND PKGCONFIG_REQUIRES "libpulse-simple") + list(APPEND API_DEFS "-D__LINUX_PULSE__") + list(APPEND API_LIST "pulse") +@@ -323,6 +323,10 @@ file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/RtAudioConfig.cmake.in "@PACKAGE_INIT@\n" + if(NEED_PTHREAD) + file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/RtAudioConfig.cmake.in "find_package(Threads REQUIRED)\n") + endif() ++if (RTAUDIO_API_PULSE) ++ file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/RtAudioConfig.cmake.in "find_package(PkgConfig)\n") ++ file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/RtAudioConfig.cmake.in "pkg_check_modules(pulse-simple REQUIRED IMPORTED_TARGET libpulse-simple)\n") ++endif() + + file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/RtAudioConfig.cmake.in "include(\${CMAKE_CURRENT_LIST_DIR}/RtAudioTargets.cmake)") + diff --git a/ports/rtaudio/portfile.cmake b/ports/rtaudio/portfile.cmake index 42f47fb57b4c0d..7ff1dae5e491e3 100644 --- a/ports/rtaudio/portfile.cmake +++ b/ports/rtaudio/portfile.cmake @@ -1,44 +1,40 @@ -vcpkg_fail_port_install(ON_TARGET "UWP") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO thestk/rtaudio - REF bc7ad66581947f810ff4460396bbbd1846b1e7c8 - SHA512 ef5a41df15a8486550fb791ac21fcee4ecbf726fe9e91a56fcdd437cd554ea242f08c1061a9c6d5c261d721d86fbbcb32ce64db030976150862ed42a40137fc7 + REF ${VERSION} + SHA512 085feb2673185460717ba45fc87254961e477823759e11281092c1ba13301303de1cd36aa9efeba0710cbf2c70f2e2f7f9e41173cf372ded528c41612b19acd5 HEAD_REF master + PATCHES + fix-pulse.patch ) -if(VCPKG_HOST_IS_LINUX) - message(WARNING "rtaudio requires ALSA on Linux; this is available on ubuntu via apt install libasound2-dev") -endif() - -if(VCPKG_CRT_LINKAGE STREQUAL static) - set(RTAUDIO_STATIC_MSVCRT ON) -else() - set(RTAUDIO_STATIC_MSVCRT OFF) -endif() +string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" RTAUDIO_STATIC_MSVCRT) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES asio RTAUDIO_API_ASIO + alsa RTAUDIO_API_ALSA + pulse RTAUDIO_API_PULSE ) - +set(PKG_OPT "") +if("pulse" IN_LIST FEATURES) + vcpkg_find_acquire_program(PKGCONFIG) + set(PKG_OPT "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}") +endif() vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DRTAUDIO_STATIC_MSVCRT=${RTAUDIO_STATIC_MSVCRT} -DRTAUDIO_API_JACK=OFF - -DRTAUDIO_API_PULSE=OFF ${FEATURE_OPTIONS} + ${PKG_OPT} ) vcpkg_cmake_install() vcpkg_cmake_config_fixup() +vcpkg_fixup_pkgconfig() vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -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/rtaudio/vcpkg.json b/ports/rtaudio/vcpkg.json index 9b9d8ce10a55da..3d2cc5535ed266 100644 --- a/ports/rtaudio/vcpkg.json +++ b/ports/rtaudio/vcpkg.json @@ -1,9 +1,10 @@ { "name": "rtaudio", - "version-date": "2021-08-15", + "version": "6.0.1", "port-version": 1, "description": "A set of C++ classes that provide a common API for realtime audio input/output across Linux (native ALSA, JACK, PulseAudio and OSS), Macintosh OS X (CoreAudio and JACK), and Windows (DirectSound, ASIO and WASAPI) operating systems.", "homepage": "https://github.com/thestk/rtaudio", + "license": null, "supports": "!uwp", "dependencies": [ { @@ -16,8 +17,23 @@ } ], "features": { + "alsa": { + "description": "Build ALSA API", + "supports": "linux", + "dependencies": [ + "alsa" + ] + }, "asio": { - "description": "Build with ASIO backend" + "description": "Build with ASIO backend", + "supports": "windows" + }, + "pulse": { + "description": "Build with PulseAudio backend", + "supports": "linux", + "dependencies": [ + "pulseaudio" + ] } } } diff --git a/ports/rtlsdr/portfile.cmake b/ports/rtlsdr/portfile.cmake index fdf48429032381..e3a397af384dae 100644 --- a/ports/rtlsdr/portfile.cmake +++ b/ports/rtlsdr/portfile.cmake @@ -1,8 +1,3 @@ -vcpkg_fail_port_install( - ON_TARGET "uwp" "linux" "osx" "android" "freebsd" - ON_ARCH "arm" "arm64" -) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO osmocom/rtl-sdr @@ -15,36 +10,35 @@ vcpkg_from_github( ) file( - COPY ${CMAKE_CURRENT_LIST_DIR}/Findlibusb.cmake - DESTINATION ${SOURCE_PATH}/cmake/Modules + COPY "${CMAKE_CURRENT_LIST_DIR}/Findlibusb.cmake" + DESTINATION "${SOURCE_PATH}/cmake/Modules" ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/rtlsdr) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/rtlsdr) vcpkg_copy_pdbs() file( - INSTALL ${SOURCE_PATH}/COPYING - DESTINATION ${CURRENT_PACKAGES_DIR}/share/rtlsdr + INSTALL "${SOURCE_PATH}/COPYING" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/rtlsdr" RENAME copyright ) 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) + 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} + DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}" ) - vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT}) + vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/${PORT}") file(REMOVE ${DEBUG_TOOLS} ${RELEASE_TOOLS}) endif() diff --git a/ports/rtlsdr/vcpkg.json b/ports/rtlsdr/vcpkg.json index 1dbd2b0da36b13..b033ba6bdea8e8 100644 --- a/ports/rtlsdr/vcpkg.json +++ b/ports/rtlsdr/vcpkg.json @@ -1,7 +1,7 @@ { "name": "rtlsdr", - "version-string": "2020-04-16", - "port-version": 2, + "version-date": "2020-04-16", + "port-version": 4, "description": "rtl-sdr is a library that turns your Realtek RTL2832 based DVB dongle into a SDR receiver", "homepage": "https://osmocom.org/projects/rtl-sdr", "supports": "windows & (x86 | x64)", @@ -10,6 +10,14 @@ { "name": "pthreads", "platform": "windows" + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true } ] } diff --git a/ports/rtmfp-cpp/portfile.cmake b/ports/rtmfp-cpp/portfile.cmake new file mode 100644 index 00000000000000..5872f427a39d9f --- /dev/null +++ b/ports/rtmfp-cpp/portfile.cmake @@ -0,0 +1,21 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO zenomt/rtmfp-cpp + REF "v${VERSION}" + SHA512 cc8eac88c70b6a00a92a76bee66a3b319857a009fbfd82e9a710fe1c0fc452cf9fdf4128529e3f10931ed33c26eaf69253cab3b3e5a739eca6dd37a13f72800b + HEAD_REF main +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DCMAKE_REQUIRE_FIND_PACKAGE_OpenSSL=ON +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/rtmfp) +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/rtmfp-cpp/vcpkg.json b/ports/rtmfp-cpp/vcpkg.json new file mode 100644 index 00000000000000..38e243c1106036 --- /dev/null +++ b/ports/rtmfp-cpp/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "rtmfp-cpp", + "version": "1.5.1", + "description": "Secure Real-Time Media Flow Protocol Library (RTMFP)", + "homepage": "https://github.com/zenomt/rtmfp-cpp", + "license": "MIT", + "dependencies": [ + "openssl", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/rtmidi/fix-POSIXname.patch b/ports/rtmidi/fix-POSIXname.patch deleted file mode 100644 index a2a5b0ee1c7351..00000000000000 --- a/ports/rtmidi/fix-POSIXname.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/rtmidi_c.cpp b/rtmidi_c.cpp -index 248c9e5..ec1dd38 100644 ---- a/rtmidi_c.cpp -+++ b/rtmidi_c.cpp -@@ -136,7 +136,11 @@ const char* rtmidi_get_port_name (RtMidiPtr device, unsigned int portNumber) - { - try { - std::string name = ((RtMidi*) device->ptr)->getPortName (portNumber); -- return strdup (name.c_str ()); -+#if defined(_WIN) || defined(WINAPI_FAMILY) //Windows platform -+ return _strdup (name.c_str ()); -+#else // Unix platform -+ return strdup (name.c_str ()); -+#endif - - } catch (const RtMidiError & err) { - device->ok = false; diff --git a/ports/rtmidi/portfile.cmake b/ports/rtmidi/portfile.cmake index 8d1316ff68cc12..777822493e2dc6 100644 --- a/ports/rtmidi/portfile.cmake +++ b/ports/rtmidi/portfile.cmake @@ -1,5 +1,3 @@ -vcpkg_fail_port_install(ON_TARGET "UWP") - # Upstream uses CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS, which causes issues # https://github.com/thestk/rtmidi/blob/4.0.0/CMakeLists.txt#L20 vcpkg_check_linkage(ONLY_STATIC_LIBRARY) @@ -7,24 +5,29 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO thestk/rtmidi - REF dda792c5394375769466ab1c1d7773e741bbd950 # 4.0.0 - SHA512 cb1ded29c0b22cf7f38719131a9572a4daba7071fd8cf8b5b8d7306560a218bb0ef42150bf341b76f4ddee0ae087da975116c3b153e7bb908f2a674ecacb9d7a + REF "${VERSION}" + SHA512 7ff7f85ff86fc019ab7906a46efc986b2a340b2f9a9d504bda85d0afc75921b905b32cb37f87e30ab9d1f13e62587c4ade736dad1609a0880eeab3fe5a936acb HEAD_REF master - PATCHES - fix-POSIXname.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + alsa RTMIDI_API_ALSA +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DRTMIDI_API_ALSA=OFF -DRTMIDI_API_JACK=OFF + -DRTMIDI_BUILD_TESTING=OFF + ${FEATURE_OPTIONS} ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets() +vcpkg_cmake_install() +vcpkg_cmake_config_fixup() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL "${SOURCE_PATH}/README.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_fixup_pkgconfig() + +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/rtmidi/vcpkg.json b/ports/rtmidi/vcpkg.json index 82d6c482c962b6..36b70afaf59cc4 100644 --- a/ports/rtmidi/vcpkg.json +++ b/ports/rtmidi/vcpkg.json @@ -1,8 +1,27 @@ { "name": "rtmidi", - "version-semver": "4.0.0", - "port-version": 3, + "version": "6.0.0", "description": "A set of C++ classes that provide a common API for realtime MIDI input/output across Linux (ALSA & JACK), Macintosh OS X (CoreMidi & JACK) and Windows (Multimedia)", "homepage": "https://github.com/thestk/rtmidi", - "supports": "!uwp" + "license": "MIT", + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "alsa": { + "description": "Build ALSA API", + "supports": "linux", + "dependencies": [ + "alsa" + ] + } + } } diff --git a/ports/rttr/disable-unsupport-header.patch b/ports/rttr/disable-unsupport-header.patch new file mode 100644 index 00000000000000..efe2bb2096ec4d --- /dev/null +++ b/ports/rttr/disable-unsupport-header.patch @@ -0,0 +1,13 @@ +diff --git a/src/rttr/detail/misc/flat_map.h b/src/rttr/detail/misc/flat_map.h +index 767c97b..ba97cc7 100644 +--- a/src/rttr/detail/misc/flat_map.h ++++ b/src/rttr/detail/misc/flat_map.h +@@ -36,7 +36,7 @@ + #include + #include + #include +-#include // _LIBCPP_VERSION ++//#include // _LIBCPP_VERSION + + namespace rttr + { diff --git a/ports/rttr/disable-werrorr.patch b/ports/rttr/disable-werrorr.patch new file mode 100644 index 00000000000000..8e9d944114fa43 --- /dev/null +++ b/ports/rttr/disable-werrorr.patch @@ -0,0 +1,13 @@ +diff --git a/CMake/utility.cmake b/CMake/utility.cmake +index 8e7a0c6..ac5e305 100644 +--- a/CMake/utility.cmake ++++ b/CMake/utility.cmake +@@ -395,7 +395,7 @@ function( set_compiler_warnings target) + set(WARNINGS "-Werror" + "-Wall") + elseif(CMAKE_CXX_COMPILER_ID MATCHES "Clang") +- set(WARNINGS "-Werror" ++ set(WARNINGS + "-Wall") + elseif(MSVC) + set(WARNINGS "/WX" diff --git a/ports/rttr/portfile.cmake b/ports/rttr/portfile.cmake index 56700768b9377f..cbb9a155564817 100644 --- a/ports/rttr/portfile.cmake +++ b/ports/rttr/portfile.cmake @@ -1,53 +1,59 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO rttrorg/rttr - REF v0.9.6 - SHA512 5c94f037b319568d351ee6d25f1404adce00b40598dce4a331789d5357c059e50aae3894f90e60d37307b7e96f4672ae09d3798bbe47f796ef2044f1ac6f9e50 + REF 7edbd580cfad509a3253c733e70144e36f02ecd4 + SHA512 17432728037bc0f8e346c6bd01298c6ee3a4714c83505b2cf1bc23305acea5cc55925e7fc28a8cf182b6ba26abdc9d40ea2f5b168615c030d5ebeec9a8961636 HEAD_REF master PATCHES fix-directory-output.patch Fix-depends.patch remove-owner-read-perms.patch + disable-unsupport-header.patch + disable-werrorr.patch ) -#Handle static lib -set(BUILD_STATIC_LIB OFF) -if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - set(BUILD_STATIC_LIB ON) +if("${VCPKG_LIBRARY_LINKAGE}" STREQUAL "static" AND "${VCPKG_CRT_LINKAGE}" STREQUAL "static") + set(BUILD_STATIC ON) + set(BUILD_RTTR_DYNAMIC OFF) + set(BUILD_WITH_STATIC_RUNTIME_LIBS OFF) +elseif("${VCPKG_LIBRARY_LINKAGE}" STREQUAL "dynamic" AND "${VCPKG_CRT_LINKAGE}" STREQUAL "static") + set(BUILD_STATIC OFF) + set(BUILD_RTTR_DYNAMIC OFF) + set(BUILD_WITH_STATIC_RUNTIME_LIBS ON) +elseif("${VCPKG_LIBRARY_LINKAGE}" STREQUAL "dynamic" AND "${VCPKG_CRT_LINKAGE}" STREQUAL "dynamic") + set(BUILD_STATIC OFF) + set(BUILD_RTTR_DYNAMIC ON) + set(BUILD_WITH_STATIC_RUNTIME_LIBS OFF) else() - set(BUILD_STATIC_LIB OFF) + message(FATAL_ERROR "rttr's build system does not support this configuration: VCPKG_LIBRARY_LINKAGE: ${VCPKG_LIBRARY_LINKAGE} VCPKG_CRT_LINKAGE: ${VCPKG_CRT_LINKAGE}") endif() -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - -DBUILD_BENCHMARKS=OFF - -DBUILD_UNIT_TESTS=OFF - -DBUILD_STATIC=${BUILD_STATIC_LIB} + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_BENCHMARKS=OFF + -DBUILD_UNIT_TESTS=OFF + -DBUILD_EXAMPLES=OFF + -DBUILD_DOCUMENTATION=OFF + -DBUILD_STATIC=${BUILD_STATIC} + -DBUILD_RTTR_DYNAMIC=${BUILD_RTTR_DYNAMIC} + -DBUILD_WITH_STATIC_RUNTIME_LIBS=${BUILD_WITH_STATIC_RUNTIME_LIBS} ) -vcpkg_install_cmake() +vcpkg_cmake_install() -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux" OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin") - vcpkg_fixup_cmake_targets(CONFIG_PATH share/rttr/cmake) -elseif(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - vcpkg_fixup_cmake_targets(CONFIG_PATH cmake) +if (VCPKG_TARGET_IS_WINDOWS) + vcpkg_cmake_config_fixup(CONFIG_PATH cmake) else() - message(FATAL_ERROR "RTTR does not support this platform") -endif() - -#Handle static lib -if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) + vcpkg_cmake_config_fixup(CONFIG_PATH share/rttr/cmake) 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") file(REMOVE_RECURSE - ${CURRENT_PACKAGES_DIR}/debug/include - ${CURRENT_PACKAGES_DIR}/debug/share - ${CURRENT_PACKAGES_DIR}/debug/README.md - ${CURRENT_PACKAGES_DIR}/debug/LICENSE.txt - ${CURRENT_PACKAGES_DIR}/LICENSE.txt - ${CURRENT_PACKAGES_DIR}/README.md + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/debug/README.md" + "${CURRENT_PACKAGES_DIR}/debug/LICENSE.txt" + "${CURRENT_PACKAGES_DIR}/LICENSE.txt" + "${CURRENT_PACKAGES_DIR}/README.md" ) diff --git a/ports/rttr/remove-owner-read-perms.patch b/ports/rttr/remove-owner-read-perms.patch index 3fc98422d9b87b..66edabdddc87d9 100644 --- a/ports/rttr/remove-owner-read-perms.patch +++ b/ports/rttr/remove-owner-read-perms.patch @@ -1,5 +1,5 @@ diff --git a/CMake/config.cmake b/CMake/config.cmake -index 4483900..dfef016 100644 +index 6b9eba8..e465709 100644 --- a/CMake/config.cmake +++ b/CMake/config.cmake @@ -171,6 +171,5 @@ if (BUILD_INSTALLER) @@ -7,24 +7,24 @@ index 4483900..dfef016 100644 install(FILES "${LICENSE_FILE}" "${README_FILE}" - DESTINATION ${RTTR_ADDITIONAL_FILES_INSTALL_DIR} -- PERMISSIONS OWNER_READ) +- PERMISSIONS OWNER_READ GROUP_READ WORLD_READ) + DESTINATION ${RTTR_ADDITIONAL_FILES_INSTALL_DIR}) endif() diff --git a/CMake/utility.cmake b/CMake/utility.cmake -index 7e1f677..a3932ae 100644 +index cd1e835..8e7a0c6 100644 --- a/CMake/utility.cmake +++ b/CMake/utility.cmake @@ -165,7 +165,7 @@ function(loadFolder FOLDER _HEADER_FILES _SOURCE_FILES) getNameOfDir(CMAKE_CURRENT_SOURCE_DIR DIRNAME) if (${shouldInstall}) if (NOT ${FULL_HEADER_PATH} MATCHES ".*_p.h$") # we don't want to install header files which are marked as private -- install(FILES ${FULL_HEADER_PATH} DESTINATION "include/${DIRNAME}/${REL_PATH}" PERMISSIONS OWNER_READ) +- install(FILES ${FULL_HEADER_PATH} DESTINATION "include/${DIRNAME}/${REL_PATH}" PERMISSIONS OWNER_READ GROUP_READ WORLD_READ) + install(FILES ${FULL_HEADER_PATH} DESTINATION "include/${DIRNAME}/${REL_PATH}") endif() endif() endforeach() diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt -index bacb280..a92d642 100644 +index de70600..a92d642 100644 --- a/doc/CMakeLists.txt +++ b/doc/CMakeLists.txt @@ -132,12 +132,10 @@ set_target_properties(doc PROPERTIES FOLDER "Documentation") @@ -32,12 +32,12 @@ index bacb280..a92d642 100644 install(DIRECTORY "${DOXYGEN_OUTPUT_DIRECTORY}/${DOXYGEN_CUSTOM_HTML_DIR}" DESTINATION "${DOXYGEN_DOC_INSTALL_DIR}" - PATTERN "*.*" -- PERMISSIONS OWNER_READ) +- PERMISSIONS OWNER_READ GROUP_READ WORLD_READ) + PATTERN "*.*") install(FILES "${DOXYGEN_OUTPUT_DIRECTORY}/${DOXYGEN_INDEX_FILE}" - DESTINATION "${DOXYGEN_DOC_INSTALL_DIR}" -- PERMISSIONS OWNER_READ) +- PERMISSIONS OWNER_READ GROUP_READ WORLD_READ) + DESTINATION "${DOXYGEN_DOC_INSTALL_DIR}") ######################################################################################### diff --git a/ports/rttr/vcpkg.json b/ports/rttr/vcpkg.json index fc7ff33bca8daa..26be709d0a1c36 100644 --- a/ports/rttr/vcpkg.json +++ b/ports/rttr/vcpkg.json @@ -1,10 +1,20 @@ { "name": "rttr", - "version-string": "0.9.6", - "port-version": 3, + "version": "0.9.6+20210811", + "port-version": 1, "description": "an easy and intuitive way to use reflection in C++", "homepage": "https://github.com/rttrorg/rttr", + "license": "MIT", + "supports": "(static & staticcrt) | (!static & staticcrt) | (!static & !staticcrt)", "dependencies": [ - "rapidjson" + "rapidjson", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/rubberband/portfile.cmake b/ports/rubberband/portfile.cmake new file mode 100644 index 00000000000000..212ee9fa18877d --- /dev/null +++ b/ports/rubberband/portfile.cmake @@ -0,0 +1,63 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO breakfastquay/rubberband + REF "v${VERSION}" + SHA512 f581e900a71f78fde3361d2bed2fe165952c2ca087168c5f4e4994586bd832267eea58e0662a74b6a7430bc361fe80b5307b2ee6bf631a3561a8cba86e1cd3f2 + HEAD_REF default +) + + +if("cli" IN_LIST FEATURES) + set(CLI_FEATURE enabled) +else() + set(CLI_FEATURE disabled) +endif() + +# Select fastest available FFT library according https://github.com/breakfastquay/rubberband/blob/default/COMPILING.md#fft-libraries-supported +if( + (VCPKG_TARGET_IS_WINDOWS AND (VCPKG_TARGET_ARCHITECTURE STREQUAL "x86" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")) + OR (VCPKG_TARGET_IS_OSX AND VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") + OR VCPKG_TARGET_IS_IOS + OR VCPKG_TARGET_IS_EMSCRIPTEN +) + set(FFT_LIB "fftw") +else() + set(FFT_LIB "sleef") +endif() + +vcpkg_configure_meson( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -Dfft=${FFT_LIB} # 'auto', 'builtin', 'kissfft', 'fftw', sleef', 'vdsp', 'ipp' 'FFT library to use. The default (auto) will use vDSP if available, the builtin implementation otherwise.') + -Dresampler=libsamplerate # 'auto', 'builtin', 'libsamplerate', 'speex', 'libspeexdsp', 'ipp' 'Resampler library to use. The default (auto) simply uses the builtin implementation.' + -Dipp_path= # 'Path to Intel IPP libraries, if selected for any of the other options.' + -Dextra_include_dirs= # 'Additional local header directories to search for dependencies.' + -Dextra_lib_dirs= # 'Additional local library directories to search for dependencies.' + -Djni=disabled # 'auto', 'disabled', 'enabled' + -Dladspa=disabled # 'auto', 'disabled', 'enabled' + -Dlv2=disabled # 'auto', 'disabled', 'enabled' lv2 feature is not yet supported yet because vcpkg can't isntall to + # %APPDATA%\LV2 or %COMMONPROGRAMFILES%\LV2 but also complains about dlls in "${CURRENT_PACKAGES_DIR}/lib/lv2" + -Dvamp=disabled # 'auto', 'disabled', 'enabled' + -Dcmdline=${CLI_FEATURE} # 'auto', 'disabled', 'enabled' + -Dtests=disabled # 'auto', 'disabled', 'enabled' + ) + +vcpkg_install_meson() + +vcpkg_fixup_pkgconfig() +vcpkg_copy_pdbs() + +if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/rubberband-program${VCPKG_TARGET_EXECUTABLE_SUFFIX}") + # Rubberband uses a different executable name when compiled with msvc + # Just looking for that file is faster than detecting msvc builds + set(RUBBERBAND_PROGRAM_NAMES rubberband-program rubberband-program-r3) +else() + set(RUBBERBAND_PROGRAM_NAMES rubberband rubberband-r3) +endif() + +# Remove them when not enabled. +if("cli" IN_LIST FEATURES) + vcpkg_copy_tools(TOOL_NAMES ${RUBBERBAND_PROGRAM_NAMES} AUTO_CLEAN) +endif() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/rubberband/vcpkg.json b/ports/rubberband/vcpkg.json new file mode 100644 index 00000000000000..fe5c329538308d --- /dev/null +++ b/ports/rubberband/vcpkg.json @@ -0,0 +1,37 @@ +{ + "name": "rubberband", + "version": "4.0.0", + "description": "A high quality software library for audio time-stretching and pitch-shifting.", + "homepage": "https://www.breakfastquay.com/rubberband/", + "license": "GPL-2.0-or-later", + "supports": "!uwp & !(windows & static) & !xbox", + "dependencies": [ + { + "name": "fftw3", + "platform": "(arm & windows) | (x86 & windows) | (arm64 & osx) | ios | emscripten" + }, + "libsamplerate", + { + "name": "sleef", + "platform": "!(arm & windows) & !(x86 & windows) & !(arm64 & osx) & !ios & !emscripten" + }, + { + "name": "vcpkg-tool-meson", + "host": true + } + ], + "features": { + "cli": { + "description": "Build the command-line utility", + "dependencies": [ + { + "name": "libsndfile", + "default-features": false, + "features": [ + "external-libs" + ] + } + ] + } + } +} diff --git a/ports/ruckig/portfile.cmake b/ports/ruckig/portfile.cmake new file mode 100644 index 00000000000000..e01b314448773b --- /dev/null +++ b/ports/ruckig/portfile.cmake @@ -0,0 +1,24 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO pantor/ruckig + REF "v${VERSION}" + SHA512 cd8e31d4cc41cf90a23095f39f58e7139ac12a34c7699f3274c6389916cbed56a6e8627facaf34e5a888d43b78e43cb01dce1cd1ef45201652d3ded917a80075 + HEAD_REF main +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_CLOUD_CLIENT=OFF + -DBUILD_TESTS=OFF + -DBUILD_EXAMPLES=OFF +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/ruckig") +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") \ No newline at end of file diff --git a/ports/ruckig/vcpkg.json b/ports/ruckig/vcpkg.json new file mode 100644 index 00000000000000..2c76f1abffa91d --- /dev/null +++ b/ports/ruckig/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "ruckig", + "version": "0.14.0", + "description": "Ruckig generates trajectories on-the-fly, allowing robots and machines to react instantaneously to sensor input.", + "homepage": "https://ruckig.com/", + "license": "MIT", + "dependencies": [ + "eigen3", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/rxcpp/disable-tests.patch b/ports/rxcpp/disable-tests.patch new file mode 100644 index 00000000000000..8378c7f0cbb06b --- /dev/null +++ b/ports/rxcpp/disable-tests.patch @@ -0,0 +1,34 @@ +diff --git a/projects/CMake/CMakeLists.txt b/projects/CMake/CMakeLists.txt +index 8856aa42e..2b3d57e97 100755 +--- a/projects/CMake/CMakeLists.txt ++++ b/projects/CMake/CMakeLists.txt +@@ -11,18 +11,20 @@ get_filename_component(RXCPP_DIR "${RXCPP_DIR}" PATH) + + MESSAGE( STATUS "RXCPP_DIR: " ${RXCPP_DIR} ) + +-add_subdirectory(${RXCPP_DIR}/Rx/v2/test ${CMAKE_CURRENT_BINARY_DIR}/test) ++if (NOT ${RXCPP_DISABLE_TESTS_AND_EXAMPLES}) ++ add_subdirectory(${RXCPP_DIR}/Rx/v2/test ${CMAKE_CURRENT_BINARY_DIR}/test) + +-add_subdirectory(${RXCPP_DIR}/projects/doxygen ${CMAKE_CURRENT_BINARY_DIR}/projects/doxygen) ++ add_subdirectory(${RXCPP_DIR}/projects/doxygen ${CMAKE_CURRENT_BINARY_DIR}/projects/doxygen) + +-set(EXAMPLES_DIR ${RXCPP_DIR}/Rx/v2/examples) ++ set(EXAMPLES_DIR ${RXCPP_DIR}/Rx/v2/examples) + +-add_subdirectory(${EXAMPLES_DIR}/cep ${CMAKE_CURRENT_BINARY_DIR}/examples/cep) +-add_subdirectory(${EXAMPLES_DIR}/stop ${CMAKE_CURRENT_BINARY_DIR}/examples/stop) +-add_subdirectory(${EXAMPLES_DIR}/linesfrombytes ${CMAKE_CURRENT_BINARY_DIR}/examples/linesfrombytes) +-add_subdirectory(${EXAMPLES_DIR}/println ${CMAKE_CURRENT_BINARY_DIR}/examples/println) +-add_subdirectory(${EXAMPLES_DIR}/pythagorian ${CMAKE_CURRENT_BINARY_DIR}/examples/pythagorian) +-add_subdirectory(${EXAMPLES_DIR}/tests ${CMAKE_CURRENT_BINARY_DIR}/examples/tests) ++ add_subdirectory(${EXAMPLES_DIR}/cep ${CMAKE_CURRENT_BINARY_DIR}/examples/cep) ++ add_subdirectory(${EXAMPLES_DIR}/stop ${CMAKE_CURRENT_BINARY_DIR}/examples/stop) ++ add_subdirectory(${EXAMPLES_DIR}/linesfrombytes ${CMAKE_CURRENT_BINARY_DIR}/examples/linesfrombytes) ++ add_subdirectory(${EXAMPLES_DIR}/println ${CMAKE_CURRENT_BINARY_DIR}/examples/println) ++ add_subdirectory(${EXAMPLES_DIR}/pythagorian ${CMAKE_CURRENT_BINARY_DIR}/examples/pythagorian) ++ add_subdirectory(${EXAMPLES_DIR}/tests ${CMAKE_CURRENT_BINARY_DIR}/examples/tests) ++endif () + + # The list of RxCpp source files. Please add every new file to this list + set(RX_SOURCES diff --git a/ports/rxcpp/portfile.cmake b/ports/rxcpp/portfile.cmake index b98701132e178f..56c14927b93197 100644 --- a/ports/rxcpp/portfile.cmake +++ b/ports/rxcpp/portfile.cmake @@ -1,21 +1,19 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ReactiveX/RxCpp - REF v4.1.0 - SHA512 a92e817ecbdf6f235cae724ada2615af9fa0c243249625d0f2c2f09ff5dd7f53fdabd03a0278fe2995fe27528c5511d71f87b7a6b3d54f73b49b65aef56e32fd + REF v4.1.1 + SHA512 387e1276151a19b62fd1d36b486ff5f3ed28f0f48ae8b00902bf13464d20603f492ecd63ab4444d04293fc3d92a8f7ce3e67a4c68836415c4655331fb6b54edb HEAD_REF master - PATCHES support_find_package.patch + PATCHES + disable-tests.patch # from https://github.com/ReactiveX/RxCpp/pull/574 ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - -DBUILD_TESTS=OFF +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/${PORT}/cmake/) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH share/${PORT}/cmake/) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) file(COPY ${SOURCE_PATH}/license.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) diff --git a/ports/rxcpp/support_find_package.patch b/ports/rxcpp/support_find_package.patch deleted file mode 100644 index bb1da2d2d77438..00000000000000 --- a/ports/rxcpp/support_find_package.patch +++ /dev/null @@ -1,32 +0,0 @@ -diff --git a/projects/CMake/CMakeLists.txt b/projects/CMake/CMakeLists.txt -index 3d0744740..293f187c5 100644 ---- a/projects/CMake/CMakeLists.txt -+++ b/projects/CMake/CMakeLists.txt -@@ -146,3 +146,27 @@ set(CMAKE_SKIP_INSTALL_ALL_DEPENDENCY TRUE CACHE BOOL "Don't require all project - - install(DIRECTORY ${RXCPP_DIR}/Rx/v2/src/rxcpp/ DESTINATION include/rxcpp - FILES_MATCHING PATTERN "*.hpp") -+ -+# Here we are exporting TARGETS so that other projects can import rxcpp -+# just with find_package(rxcpp CONFIG) after rxcpp is installed into system by "make install". -+add_library(rxcpp INTERFACE) -+ -+target_include_directories(rxcpp INTERFACE -+ $ -+ $ -+) -+ -+install(TARGETS rxcpp EXPORT rxcppConfig) -+install(EXPORT rxcppConfig DESTINATION share/rxcpp/cmake) -+ -+# When find_package(rxcpp SOME_VERSION REQUIRED) will be used in third party project -+# where SOME_VERSION is any version incompatible with ${PROJECT_VERSION} then cmake will generate the error. -+# It means you don't need track versions manually. -+include(CMakePackageConfigHelpers) -+write_basic_package_version_file("${PROJECT_BINARY_DIR}/rxcppConfigVersion.cmake" -+ VERSION -+ ${PROJECT_VERSION} -+ COMPATIBILITY -+ AnyNewerVersion -+) -+install(FILES "${PROJECT_BINARY_DIR}/rxcppConfigVersion.cmake" DESTINATION share/rxcpp/cmake) diff --git a/ports/rxcpp/vcpkg.json b/ports/rxcpp/vcpkg.json index 013aa46a3e6222..27a475cd0ae033 100644 --- a/ports/rxcpp/vcpkg.json +++ b/ports/rxcpp/vcpkg.json @@ -1,7 +1,18 @@ { "name": "rxcpp", - "version-string": "4.1.0", - "port-version": 2, + "version": "4.1.1", + "port-version": 1, "description": "Reactive Extensions for C++", - "homepage": "https://github.com/Reactive-Extensions/RxCpp" + "homepage": "https://github.com/Reactive-Extensions/RxCpp", + "license": "Apache-2.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/rxqt/portfile.cmake b/ports/rxqt/portfile.cmake index 34799c346c38cd..d580ceb780bad9 100644 --- a/ports/rxqt/portfile.cmake +++ b/ports/rxqt/portfile.cmake @@ -3,8 +3,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO tetsurom/rxqt - REF bb2138c835ef96a53bb79c47fb318237564f9a0c - SHA512 df39f05b0b4fcd950dd39f40b32e20097352a935778af1be077a08644b3562d07dcc77ab658bc45437454372be955a40013570124e86943bb32493c66cdce439 + REF d0b15354199acbd409f39a2b6d30e539c1b05c94 + SHA512 151e6f9db3f7c98c47782c669eb40ec664ccad2fa33daf3ad035c6afcff89978835575f1160114e25fc23f62e7604565ec8ff88264020e6a88af456ed8e11faf HEAD_REF master ) diff --git a/ports/rxqt/vcpkg.json b/ports/rxqt/vcpkg.json index 71638f964408d2..c3ff1ca9c07495 100644 --- a/ports/rxqt/vcpkg.json +++ b/ports/rxqt/vcpkg.json @@ -1,6 +1,6 @@ { "name": "rxqt", - "version-string": "bb2138c", + "version-string": "d0b1535", "port-version": 1, "description": "The Reactive Extensions for Qt.", "homepage": "https://github.com/tetsurom/rxqt", diff --git a/ports/rxspencer/disable-docs-and-tests.patch b/ports/rxspencer/disable-docs-and-tests.patch new file mode 100644 index 00000000000000..9cacda578fed85 --- /dev/null +++ b/ports/rxspencer/disable-docs-and-tests.patch @@ -0,0 +1,37 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 49faf30..e590001 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -6,7 +6,7 @@ + project ( rxspencer C ) + cmake_minimum_required ( VERSION 3.0 ) + option ( rxshared "build shared library instead of static" OFF ) +-enable_testing() ++#enable_testing() + + # Define POSIX_MISTAKE to allow unmatched right parentheses as literals, as + # required by POSIX 1003.2. +@@ -47,10 +47,12 @@ install ( TARGETS rxspencer + PUBLIC_HEADER DESTINATION ${RXSPENCER_INCLUDE_DIR} ) + + # Install docs ++if(FALSE) + set ( RXSPENCER_DATA_FILES "COPYRIGHT;README;WHATSNEW" ) + install ( FILES ${RXSPENCER_DATA_FILES} DESTINATION ${RXSPENCER_DATA_DIR} ) + install ( FILES rxspencer.3 DESTINATION ${RXSPENCER_MAN3_DIR} ) + install ( FILES rxspencer.7 DESTINATION ${RXSPENCER_MAN7_DIR} ) ++endif() + + # generate cmake configuration file + include ( CMakePackageConfigHelpers ) +@@ -69,8 +71,9 @@ install ( EXPORT RXSpencerTargets DESTINATION ${CMAKE_CONFIG_DEST} ) + install ( FILES + ${CMAKE_CURRENT_BINARY_DIR}/RXSpencerConfig.cmake + DESTINATION ${CMAKE_CONFIG_DEST} ) +- ++if(FALSE) + add_executable(tester ${RXSPENCER_SRCS} debug.c main.c split.c) + add_test(NAME test1 COMMAND sh -c "./tester -f ${CMAKE_CURRENT_SOURCE_DIR}/tests") + add_test(NAME test2 COMMAND sh -c "./tester -el -f ${CMAKE_CURRENT_SOURCE_DIR}/tests") + add_test(NAME test3 COMMAND sh -c "./tester -er -f ${CMAKE_CURRENT_SOURCE_DIR}/tests") ++endif() diff --git a/ports/rxspencer/portfile.cmake b/ports/rxspencer/portfile.cmake index 92e4fd31f06530..4f31d69fb87e25 100644 --- a/ports/rxspencer/portfile.cmake +++ b/ports/rxspencer/portfile.cmake @@ -1,23 +1,24 @@ -vcpkg_fail_port_install(ON_TARGET "UWP") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO garyhouston/rxspencer REF 9f835b523f1af617ca54e06863a1924c23f6e56a #v3.9.0 SHA512 fe7721bd4b4e4f7d31fd5a7e42d34d0c9735d062d8b146ee47a25f87c809eead7133265fc37fa958c37bc4ffeaf101d143202080508d98efd160b8fd0a278598 HEAD_REF master + PATCHES + disable-docs-and-tests.patch ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED) vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} - OPTIONS + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS -DCMAKE_CONFIG_DEST=share/rxspencer -Drxshared=${BUILD_SHARED} ) vcpkg_cmake_install() +vcpkg_copy_pdbs() vcpkg_cmake_config_fixup(CONFIG_PATH "share/rxspencer") @@ -27,5 +28,3 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") # Handle copyright file(INSTALL "${SOURCE_PATH}/COPYRIGHT" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) - -vcpkg_copy_pdbs() diff --git a/ports/rxspencer/vcpkg.json b/ports/rxspencer/vcpkg.json index a4fef35bebbabf..910ff4279490c9 100644 --- a/ports/rxspencer/vcpkg.json +++ b/ports/rxspencer/vcpkg.json @@ -1,8 +1,10 @@ { "name": "rxspencer", "version": "3.9.0", + "port-version": 2, "description": "Henry Spencer's BSD regular expression library.", "homepage": "https://garyhouston.github.io/regex/", + "license": "MIT AND CC0-1.0", "supports": "!uwp", "dependencies": [ { diff --git a/ports/ryml/cmake-fix.patch b/ports/ryml/cmake-fix.patch index e8a01c5a641a73..4c973e9fde0e8f 100644 --- a/ports/ryml/cmake-fix.patch +++ b/ports/ryml/cmake-fix.patch @@ -1,8 +1,8 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 3e4eb23..115b8aa 100644 +index d18407c..db19e0b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -19,8 +20,7 @@ option(RYML_BUILD_API "Enable API generation (python, etc)" OFF) +@@ -21,8 +21,7 @@ option(RYML_DBG "Enable (very verbose) ryml debug prints." OFF) #------------------------------------------------------- @@ -12,11 +12,11 @@ index 3e4eb23..115b8aa 100644 c4_add_library(ryml SOURCES -@@ -46,10 +46,10 @@ c4_add_library(ryml +@@ -54,10 +53,10 @@ c4_add_library(ryml ryml.natvis SOURCE_ROOT ${RYML_SRC_DIR} INC_DIRS -+ $ ++ $ $ $ - LIBS c4core @@ -24,5 +24,4 @@ index 3e4eb23..115b8aa 100644 + LIBS c4core::c4core ) - if(NOT RYML_DEFAULT_CALLBACKS) - + if(RYML_WITH_TAB_TOKENS) diff --git a/ports/ryml/portfile.cmake b/ports/ryml/portfile.cmake index 152c7c9e8de327..3fc0b16b6c72d8 100644 --- a/ports/ryml/portfile.cmake +++ b/ports/ryml/portfile.cmake @@ -4,8 +4,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO biojppm/rapidyaml - REF affafd5db67208eb85413327595507314c068525 - SHA512 31d827ead680828b3c0ad879290b17d4729d412e30a20459aea4b92a8f4f3b8397f82b09c27d918ab4b955289560b17697d5f15eaa4d24661ff46f5dbbc50fa8 + REF "v${VERSION}" + SHA512 861f1d2c39c5c8d455e8d40e3ecadd828b948c5dea2bcb88ba92686ca77b9a7d69ab2d94407732eab574e4e3c7b319d0f1b31250b18fb513310847192623a2f7 HEAD_REF master PATCHES cmake-fix.patch ) @@ -13,20 +13,21 @@ vcpkg_from_github( set(CM_COMMIT_HASH fe41e86552046c3df9ba73a40bf3d755df028c1e) # Get cmake scripts for rapidyaml -vcpkg_download_distfile(CMAKE_ARCHIVE +vcpkg_download_distfile( + CMAKE_ARCHIVE URLS "https://github.com/biojppm/cmake/archive/${CM_COMMIT_HASH}.zip" FILENAME "cmake-${CM_COMMIT_HASH}.zip" SHA512 7292f9856d9c41581f2731e73fdf08880e0f4353b757da38a13ec89b62c5c8cb52b9efc1a9ff77336efa0b6809727c17649e607d8ecacc965a9b2a7a49925237 ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH_CMAKE +vcpkg_extract_source_archive( + SOURCE_PATH_CMAKE ARCHIVE ${CMAKE_ARCHIVE} WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/src/deps" ) file(REMOVE_RECURSE "${SOURCE_PATH}/ext/c4core/cmake") -file(RENAME ${SOURCE_PATH_CMAKE} "${SOURCE_PATH}/ext/c4core/cmake") +file(RENAME "${SOURCE_PATH_CMAKE}" "${SOURCE_PATH}/ext/c4core/cmake") vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES @@ -57,7 +58,7 @@ file(RENAME "${CURRENT_PACKAGES_DIR}/include/ryml_std.hpp" "${CURRENT_PACKAGES_D file(RENAME "${CURRENT_PACKAGES_DIR}/include/ryml.natvis" "${CURRENT_PACKAGES_DIR}/include/ryml/ryml.natvis") # Fix paths in headers file -vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/ryml/ryml.hpp" "./c4" "../c4") +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/ryml/ryml.hpp" "./c4" "../c4" IGNORE_UNCHANGED) vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/ryml/ryml_std.hpp" "./c4" "../c4") # Fix paths in config file @@ -67,4 +68,4 @@ file(WRITE "${CURRENT_PACKAGES_DIR}/share/ryml/rymlConfig.cmake" "${_contents}") 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/ryml/vcpkg.json b/ports/ryml/vcpkg.json index a11054bd462256..98e116b0b87063 100644 --- a/ports/ryml/vcpkg.json +++ b/ports/ryml/vcpkg.json @@ -1,9 +1,10 @@ { "name": "ryml", - "version-date": "2021-07-24", + "version": "0.5.0", "port-version": 1, "description": "Rapid YAML library", "homepage": "https://github.com/biojppm/rapidyaml", + "license": "MIT", "dependencies": [ { "name": "c4core", diff --git a/ports/ryu/portfile.cmake b/ports/ryu/portfile.cmake index 332de8d31a5311..826730a3b6d52e 100644 --- a/ports/ryu/portfile.cmake +++ b/ports/ryu/portfile.cmake @@ -1,4 +1,41 @@ -vcpkg_fail_port_install(ON_ARCH "x86" "arm" ON_TARGET "uwp") +function(bazel_build build_type) + set(c_flags "${VCPKG_COMBINED_C_FLAGS_RELEASE}") + set(linker_flags "${VCPKG_COMBINED_SHARED_LINKER_FLAGS_RELEASE}") + set(log_suffix "rel") + if (${build_type} STREQUAL "debug") + set(c_flags "${VCPKG_COMBINED_C_FLAGS_DEBUG}") + set(linker_flags "${VCPKG_COMBINED_SHARED_LINKER_FLAGS_DEBUG}") + set(log_suffix "dbg") + set(destination_modifier "/debug") + endif () + + separate_arguments(conly_opts NATIVE_COMMAND "${c_flags}") + separate_arguments(link_opts NATIVE_COMMAND "${linker_flags}") + + if (DEFINED ENV{CC}) + list(JOIN conly_opts ":" joined_opts) + set(ENV{BAZEL_CXXOPTS} "${joined_opts}") + list(JOIN link_opts ":" joined_opts) + set(ENV{BAZEL_LINKOPTS} "${joined_opts}") + endif () + + list(TRANSFORM conly_opts PREPEND "--conlyopt=") + list(TRANSFORM link_opts PREPEND "--linkopt=") + + vcpkg_execute_build_process( + COMMAND "${BAZEL}" --batch ${BAZEL_OUTPUT} build ${BAZEL_COMPILER} ${BAZEL_CPU} ${conly_opts} ${link_opts} --verbose_failures --strategy=CppCompile=standalone //ryu //ryu:ryu_printf + WORKING_DIRECTORY "${SOURCE_PATH}" + LOGNAME "build-${TARGET_TRIPLET}-${log_suffix}" + ) + + if ("${CMAKE_STATIC_LIBRARY_SUFFIX}" STREQUAL ".lib") + file(INSTALL "${SOURCE_PATH}/bazel-bin/ryu/ryu.lib" DESTINATION "${CURRENT_PACKAGES_DIR}${destination_modifier}/lib") + file(INSTALL "${SOURCE_PATH}/bazel-bin/ryu/ryu_printf.lib" DESTINATION "${CURRENT_PACKAGES_DIR}${destination_modifier}/lib") + else () + file(INSTALL "${SOURCE_PATH}/bazel-bin/ryu/libryu.a" DESTINATION "${CURRENT_PACKAGES_DIR}${destination_modifier}/lib") + file(INSTALL "${SOURCE_PATH}/bazel-bin/ryu/libryu_printf.a" DESTINATION "${CURRENT_PACKAGES_DIR}${destination_modifier}/lib") + endif () +endfunction() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH @@ -8,35 +45,63 @@ vcpkg_from_github( HEAD_REF master ) -vcpkg_find_acquire_program(BAZEL) +find_program(BAZEL bazel PATHS "${CURRENT_HOST_INSTALLED_DIR}/tools" REQUIRED) get_filename_component(BAZEL_DIR "${BAZEL}" DIRECTORY) -vcpkg_add_to_path(PREPEND ${BAZEL_DIR}) +vcpkg_add_to_path(PREPEND "${BAZEL_DIR}") set(ENV{BAZEL_BIN_PATH} "${BAZEL}") -if (CMAKE_HOST_WIN32) - set(ENV{BAZEL_VS} $ENV{VSInstallDir}) - set(ENV{BAZEL_VC} $ENV{VCInstallDir}) +vcpkg_cmake_get_vars(cmake_vars_file) +include("${cmake_vars_file}") +if (VCPKG_HOST_IS_WINDOWS) + if (VCPKG_DETECTED_MSVC) + set(ENV{BAZEL_VC} "$ENV{VCInstallDir}") + elseif (VCPKG_TARGET_IS_MINGW) + if (NOT "${VCPKG_DETECTED_CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x86_64") + message(FATAL_ERROR "${TARGET_TRIPLET} is not supported on Windows!") + endif () + set(BAZEL_COMPILER "--compiler=mingw-gcc") + # BAZEL_SH can be propagated to the build environment using VCPKG_KEEP_ENV_VARS + if (NOT DEFINED ENV{BAZEL_SH}) + message("BAZEL_SH is not specified, trying to guess...") + get_filename_component(DIR "${VCPKG_DETECTED_CMAKE_C_COMPILER}" DIRECTORY) + # Bazel expects Mingw-w64 to be installed in MSYS2 (pacman -S mingw-w64-x86_64-toolchain). + # From BAZEL_SH it finds MSYS2 root, adds "mingw64" to the root and uses this path as the location of Mingw-w64. + # It is also possible to use non-MSYS2 binaries with Bazel if they are installed to a directory + # whose name ends with "mingw64", such as c:\mingw64 or c:\TDM-GCC-64\mingw64. + string(REGEX REPLACE /mingw64/bin$ "" MSYS2_ROOT "${DIR}") + set(ENV{BAZEL_SH} "${MSYS2_ROOT}/usr/bin/bash.exe") + message("BAZEL_SH $ENV{BAZEL_SH}") + endif () + else () + message(FATAL_ERROR "${TARGET_TRIPLET} is not supported!") + endif () + if ("${VCPKG_DETECTED_CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x86") + set(BAZEL_CPU "--cpu=x64_x86_windows") + elseif ("${VCPKG_DETECTED_CMAKE_SYSTEM_PROCESSOR}" STREQUAL "AMD64" OR "${VCPKG_DETECTED_CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x86_64") + set(BAZEL_CPU "--cpu=x64_windows") + elseif ("${VCPKG_DETECTED_CMAKE_SYSTEM_PROCESSOR}" STREQUAL "ARM") + set(BAZEL_CPU "--cpu=x64_arm_windows") + elseif ("${VCPKG_DETECTED_CMAKE_SYSTEM_PROCESSOR}" STREQUAL "ARM64") + set(BAZEL_CPU "--cpu=arm64_windows") + else () + message(FATAL_ERROR "${TARGET_TRIPLET} is not supported!") + endif () +else () + if (NOT DEFINED ENV{USER}) + set(ENV{USER} "root") + set(BAZEL_OUTPUT "--output_user_root=/tmp/bazel") + endif () + set(ENV{BAZEL_USE_CPP_ONLY_TOOLCHAIN} "1") + set(ENV{CC} "${VCPKG_DETECTED_CMAKE_C_COMPILER}") endif () -vcpkg_execute_build_process( - COMMAND ${BAZEL} build --verbose_failures --strategy=CppCompile=standalone //ryu //ryu:ryu_printf - WORKING_DIRECTORY ${SOURCE_PATH} - LOGNAME build-${TARGET_TRIPLET}-rel - ) +bazel_build("release") +if (NOT VCPKG_BUILD_TYPE) + bazel_build("debug") +endif () -if (CMAKE_HOST_WIN32) - file(INSTALL ${SOURCE_PATH}/bazel-bin/ryu/ryu.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib/) - file(INSTALL ${SOURCE_PATH}/bazel-bin/ryu/ryu.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/) - file(INSTALL ${SOURCE_PATH}/bazel-bin/ryu/ryu_printf.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib/) - file(INSTALL ${SOURCE_PATH}/bazel-bin/ryu/ryu_printf.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/) -else() - file(INSTALL ${SOURCE_PATH}/bazel-bin/ryu/libryu.a DESTINATION ${CURRENT_PACKAGES_DIR}/lib/) - file(INSTALL ${SOURCE_PATH}/bazel-bin/ryu/libryu.a DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/) - file(INSTALL ${SOURCE_PATH}/bazel-bin/ryu/libryu_printf.a DESTINATION ${CURRENT_PACKAGES_DIR}/lib/) - file(INSTALL ${SOURCE_PATH}/bazel-bin/ryu/libryu_printf.a DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/) -endif() - -file(INSTALL ${SOURCE_PATH}/LICENSE-Boost DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) -file(INSTALL ${SOURCE_PATH}/ryu/ryu.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/ryu/) -file(INSTALL ${SOURCE_PATH}/ryu/ryu2.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/ryu/) -file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/ryuConfig.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +file(INSTALL "${SOURCE_PATH}/LICENSE-Boost" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +file(INSTALL "${SOURCE_PATH}/ryu/ryu.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include/ryu") +file(INSTALL "${SOURCE_PATH}/ryu/ryu2.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include/ryu") +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/ryuConfig.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/ryu/usage b/ports/ryu/usage new file mode 100644 index 00000000000000..b398f27638cdcf --- /dev/null +++ b/ports/ryu/usage @@ -0,0 +1,4 @@ +The package ryu provides CMake targets: + + find_package(ryu CONFIG REQUIRED) + target_link_libraries(main PRIVATE RYU::ryu) diff --git a/ports/ryu/vcpkg.json b/ports/ryu/vcpkg.json index 52d1ea6d76beb9..95a3a8e7710585 100644 --- a/ports/ryu/vcpkg.json +++ b/ports/ryu/vcpkg.json @@ -1,8 +1,17 @@ { "name": "ryu", - "version-string": "2.0", - "port-version": 5, + "version": "2.0", + "port-version": 9, "description": "Ryu generates the shortest decimal representation of a floating point number that maintains round-trip safety.", "homepage": "https://github.com/ulfjack/ryu", - "supports": "!(uwp | arm | x86)" + "dependencies": [ + { + "name": "vcpkg-cmake-get-vars", + "host": true + }, + { + "name": "vcpkg-tool-bazel", + "host": true + } + ] } diff --git a/ports/s2geometry/portfile.cmake b/ports/s2geometry/portfile.cmake new file mode 100644 index 00000000000000..2ccf9a15c044f1 --- /dev/null +++ b/ports/s2geometry/portfile.cmake @@ -0,0 +1,25 @@ +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO google/s2geometry + REF v0.11.1 + SHA512 c500029c6e9cc412a29a8a74961688b0a504f60b1a7698ef84c0d0ae760e3c3f05e7068fb1154c9755d907f82e3bc09f8bf1d0ff629cbd3bad6e70169187dd37 + HEAD_REF main +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_EXAMPLES=OFF + -DBUILD_TESTS=OFF +) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME s2) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/s2geometry" RENAME copyright) +file(INSTALL "${CURRENT_PORT_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/s2geometry") diff --git a/ports/s2geometry/usage b/ports/s2geometry/usage new file mode 100644 index 00000000000000..15efb61e74ca3f --- /dev/null +++ b/ports/s2geometry/usage @@ -0,0 +1,4 @@ +The package s2geometry provides CMake targets: + + find_package(s2 CONFIG REQUIRED) + target_link_libraries(main PRIVATE s2::s2) diff --git a/ports/s2geometry/vcpkg.json b/ports/s2geometry/vcpkg.json new file mode 100644 index 00000000000000..a0def43e8e751b --- /dev/null +++ b/ports/s2geometry/vcpkg.json @@ -0,0 +1,19 @@ +{ + "name": "s2geometry", + "version": "0.11.1", + "description": "S2 is a library for spherical geometry that aims to have the same robustness, flexibility, and performance as the very best planar geometry libraries.", + "homepage": "https://s2geometry.io", + "license": "Apache-2.0", + "dependencies": [ + "abseil", + "openssl", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/s2n/fix-cmake-target-path.patch b/ports/s2n/fix-cmake-target-path.patch index f83ac21e62b253..e020b7d8f24089 100644 --- a/ports/s2n/fix-cmake-target-path.patch +++ b/ports/s2n/fix-cmake-target-path.patch @@ -1,28 +1,40 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 132f414..c7cfb5f 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -503,7 +503,7 @@ else() +--- a/CMakeLists.txt (revision 4aec93c6a74aacf60cec6229b35094f56cb0f87b) ++++ b/CMakeLists.txt (date 1675011451052) +@@ -670,7 +670,7 @@ endif() - + install(EXPORT "${PROJECT_NAME}-targets" - DESTINATION "${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME}/cmake/${TARGET_DIR}" -+ DESTINATION "${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME}/cmake/" ++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME}/cmake" NAMESPACE AWS:: COMPONENT Development) - + diff --git a/cmake/s2n-config.cmake b/cmake/s2n-config.cmake -index 09d1c3a..4e76ed6 100644 ---- a/cmake/s2n-config.cmake -+++ b/cmake/s2n-config.cmake -@@ -8,9 +8,5 @@ endif() +--- a/cmake/s2n-config.cmake (revision 4aec93c6a74aacf60cec6229b35094f56cb0f87b) ++++ b/cmake/s2n-config.cmake (date 1675011032538) +@@ -6,21 +6,6 @@ + endif() + list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/modules") - find_dependency(LibCrypto) - +-find_dependency(crypto) +- +-# Allow static or shared lib to be used. +-# If both are installed, choose based on BUILD_SHARED_LIBS. -if (BUILD_SHARED_LIBS) -- include(${CMAKE_CURRENT_LIST_DIR}/shared/@PROJECT_NAME@-targets.cmake) +- if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/shared") +- include(${CMAKE_CURRENT_LIST_DIR}/shared/@PROJECT_NAME@-targets.cmake) +- else() +- include(${CMAKE_CURRENT_LIST_DIR}/static/@PROJECT_NAME@-targets.cmake) +- endif() -else() -- include(${CMAKE_CURRENT_LIST_DIR}/static/@PROJECT_NAME@-targets.cmake) +- if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/static") +- include(${CMAKE_CURRENT_LIST_DIR}/static/@PROJECT_NAME@-targets.cmake) +- else() +- include(${CMAKE_CURRENT_LIST_DIR}/shared/@PROJECT_NAME@-targets.cmake) +- endif() -endif() ++find_dependency(OpenSSL COMPONENTS Crypto) + +include(${CMAKE_CURRENT_LIST_DIR}/@CMAKE_PROJECT_NAME@-targets.cmake) - +\ No newline at end of file diff --git a/ports/s2n/portfile.cmake b/ports/s2n/portfile.cmake index db40a08d733d22..ffd1270cf1e5d3 100644 --- a/ports/s2n/portfile.cmake +++ b/ports/s2n/portfile.cmake @@ -1,28 +1,46 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO aws/s2n-tls - REF 4513f8d707a68388990886d353e7cfe46cc6454b # v1.1.1 - SHA512 6586e330733982ed3b70fd320e63575639d5793d69ffa06b2a46ed487d55d8271b46df611d62cc48410654b394d599de65edd9cdc860dea13255161d843f1f48 - PATCHES fix-cmake-target-path.patch - remove-libcrypto-messages.patch + REF "v${VERSION}" + SHA512 10a6dcf6669ca97d65f009a692075c858b9b344c535487f64b4b2046f0cda0241c884fdc3d8f054a3bf85d080582a1000b6edca2b3bf98f7aa62857ac97443b2 + PATCHES + fix-cmake-target-path.patch ) +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + tests BUILD_TESTING +) + +set(EXTRA_ARGS) +if(VCPKG_TARGET_ARCHITECTURE STREQUAL "wasm32") + set(EXTRA_ARGS "-DS2N_NO_PQ=TRUE") +endif() + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${EXTRA_ARGS} + ${FEATURE_OPTIONS} + -DUNSAFE_TREAT_WARNINGS_AS_ERRORS=OFF ) vcpkg_cmake_install() +vcpkg_copy_pdbs() vcpkg_cmake_config_fixup(CONFIG_PATH lib/s2n/cmake) +if(BUILD_TESTING) + message(STATUS "Testing") + vcpkg_cmake_build(TARGET test LOGFILE_BASE test) +endif() + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/lib/s2n" - "${CURRENT_PACKAGES_DIR}/lib/s2n" - ) - -vcpkg_copy_pdbs() - -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/lib/s2n" + "${CURRENT_PACKAGES_DIR}/share/s2n/modules" +) # 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/s2n/remove-libcrypto-messages.patch b/ports/s2n/remove-libcrypto-messages.patch deleted file mode 100644 index 58ceb575694dea..00000000000000 --- a/ports/s2n/remove-libcrypto-messages.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/cmake/modules/FindLibCrypto.cmake b/cmake/modules/FindLibCrypto.cmake -index 1ba8473..b486a1a 100644 ---- a/cmake/modules/FindLibCrypto.cmake -+++ b/cmake/modules/FindLibCrypto.cmake -@@ -88,9 +88,6 @@ else() - set(LIBCRYPTO_FOUND true) - set(LibCrypto_FOUND true) - -- message(STATUS "LibCrypto Include Dir: ${LibCrypto_INCLUDE_DIR}") -- message(STATUS "LibCrypto Shared Lib: ${LibCrypto_SHARED_LIBRARY}") -- message(STATUS "LibCrypto Static Lib: ${LibCrypto_STATIC_LIBRARY}") - if (NOT TARGET crypto AND - (EXISTS "${LibCrypto_LIBRARY}") - ) diff --git a/ports/s2n/vcpkg.json b/ports/s2n/vcpkg.json index bae45af959c47b..c4f2080ca4e820 100644 --- a/ports/s2n/vcpkg.json +++ b/ports/s2n/vcpkg.json @@ -1,10 +1,12 @@ { "name": "s2n", - "version": "1.1.1", + "version": "1.5.5", "description": "C99 implementation of the TLS/SSL protocols.", "homepage": "https://github.com/aws/s2n-tls", + "license": "Apache-2.0", "supports": "!uwp & !windows", "dependencies": [ + "openssl", { "name": "vcpkg-cmake", "host": true @@ -13,5 +15,10 @@ "name": "vcpkg-cmake-config", "host": true } - ] + ], + "features": { + "tests": { + "description": "Build and run the tests" + } + } } diff --git a/ports/safeint/portfile.cmake b/ports/safeint/portfile.cmake index 298dd559f9a56b..4e65bcaa258b03 100644 --- a/ports/safeint/portfile.cmake +++ b/ports/safeint/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO dcleblanc/SafeInt - REF 3.0.26 - SHA512 fc58c244d8d4999ccfb89bcc214646d27238fd2e4e3081accb937276ebd3010807548576f6db1baf08878175133f4f6925773b4376df7669b65ed5c1e6572e26 + REF "${VERSION}" + SHA512 9f0be3f42b05ce3ea0b8208d5d5277167b129e77dc7e15174d0e3e038cb886b16a3cb63918b4f2e21ba79021f45ee6486ff9aa61d9f856828b291699c1355f61 HEAD_REF master ) diff --git a/ports/safeint/vcpkg.json b/ports/safeint/vcpkg.json index aa544da3beed08..84714015f9fbc1 100644 --- a/ports/safeint/vcpkg.json +++ b/ports/safeint/vcpkg.json @@ -1,6 +1,6 @@ { "name": "safeint", - "version": "3.0.26", + "version": "3.0.28", "description": "SafeInt is a class library for C++ that manages integer overflows", "homepage": "https://github.com/dcleblanc/SafeInt" } diff --git a/ports/sail/fix-include-directory.patch b/ports/sail/fix-include-directory.patch new file mode 100644 index 00000000000000..150907112a8dcc --- /dev/null +++ b/ports/sail/fix-include-directory.patch @@ -0,0 +1,79 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ac81279..cfc2f3b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -299,7 +299,7 @@ endif() + # Common configuration file + # + configure_file("${PROJECT_SOURCE_DIR}/src/config.h.in" "${PROJECT_BINARY_DIR}/include/sail-common/config.h" @ONLY) +-install(FILES "${PROJECT_BINARY_DIR}/include/sail-common/config.h" DESTINATION include/sail/sail-common) ++install(FILES "${PROJECT_BINARY_DIR}/include/sail-common/config.h" DESTINATION include/sail-common) + + # Print configuration statistics + # +diff --git a/src/bindings/sail-c++/CMakeLists.txt b/src/bindings/sail-c++/CMakeLists.txt +index 4b69ad4..f4bac29 100644 +--- a/src/bindings/sail-c++/CMakeLists.txt ++++ b/src/bindings/sail-c++/CMakeLists.txt +@@ -131,7 +131,7 @@ install(TARGETS sail-c++ + ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" + LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" +- PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/sail/sail-c++") ++ PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/sail-c++") + + # Install development packages + # +diff --git a/src/sail-common/CMakeLists.txt b/src/sail-common/CMakeLists.txt +index 06ce246..c8576e5 100644 +--- a/src/sail-common/CMakeLists.txt ++++ b/src/sail-common/CMakeLists.txt +@@ -114,7 +114,7 @@ endif() + + target_include_directories(sail-common + PUBLIC $ +- $) ++ $) + + # pkg-config integration + # +@@ -129,7 +129,7 @@ install(TARGETS sail-common + ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" + LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" +- PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/sail/sail-common") ++ PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/sail-common") + + # Install development packages + # +diff --git a/src/sail-manip/CMakeLists.txt b/src/sail-manip/CMakeLists.txt +index 5740764..47b81bb 100644 +--- a/src/sail-manip/CMakeLists.txt ++++ b/src/sail-manip/CMakeLists.txt +@@ -59,7 +59,7 @@ install(TARGETS sail-manip + ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" + LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" +- PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/sail/sail-manip") ++ PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/sail-manip") + + # Install development packages + # +diff --git a/src/sail/CMakeLists.txt b/src/sail/CMakeLists.txt +index 85590af..2303f63 100644 +--- a/src/sail/CMakeLists.txt ++++ b/src/sail/CMakeLists.txt +@@ -118,11 +118,11 @@ install(TARGETS sail + ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" + LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" +- PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/sail/sail") ++ PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/sail") + + # Install layouts for debugging codecs + # +-install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/layout/" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/sail/sail/layout") ++install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/layout/" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/sail/layout") + + # Install development packages + # diff --git a/ports/sail/portfile.cmake b/ports/sail/portfile.cmake index cab461de563662..4f79325dd066d6 100644 --- a/ports/sail/portfile.cmake +++ b/ports/sail/portfile.cmake @@ -1,24 +1,38 @@ -vcpkg_fail_port_install(ON_TARGET "UWP") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO HappySeaFox/sail - REF v0.9.0-pre18 - SHA512 711dd34617982427155eaa4cb39d0d0004ef6bb31ac29ee07899ac0b132ed868ea30d39f424dffd8dd0e1ad8bc1c733dd1ab9e3713b5772100ae1953b4ce6e08 + REF "v${VERSION}" + SHA512 7c6af5a381535515882dbbecf988a3cb10d2859e71084b8c9eeefac8a546df38c1438ac741535db668e8a6da09185e04ef016f71dffec297d4f5a8764653dff8 HEAD_REF master + PATCHES + fix-include-directory.patch ) -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" SAIL_STATIC) +# Enable selected codecs +set(ONLY_CODECS "") + +foreach(CODEC avif bmp gif ico jpeg jpeg2000 jpegxl pcx png psd qoi svg tga tiff wal webp xbm) + if (${CODEC} IN_LIST FEATURES) + list(APPEND ONLY_CODECS ${CODEC}) + endif() +endforeach() + +list(JOIN ONLY_CODECS "\;" ONLY_CODECS_ESCAPED) + +# Enable OpenMP +if ("openmp" IN_LIST FEATURES) + set(SAIL_ENABLE_OPENMP ON) +endif() vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - OPTIONS - -DSAIL_STATIC=${SAIL_STATIC} + -DBUILD_TESTING=OFF -DSAIL_COMBINE_CODECS=ON + -DSAIL_ENABLE_OPENMP=${SAIL_ENABLE_OPENMP} + -DSAIL_ONLY_CODECS=${ONLY_CODECS_ESCAPED} -DSAIL_BUILD_APPS=OFF -DSAIL_BUILD_EXAMPLES=OFF - -DSAIL_BUILD_TESTS=OFF ) vcpkg_cmake_install() @@ -26,8 +40,8 @@ vcpkg_cmake_install() vcpkg_copy_pdbs() # Remove duplicate files -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") # Move cmake configs vcpkg_cmake_config_fixup(PACKAGE_NAME sail CONFIG_PATH lib/cmake/sail DO_NOT_DELETE_PARENT_CONFIG_PATH) @@ -43,9 +57,11 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/cmake" # Fix pkg-config files vcpkg_fixup_pkgconfig() +# Unused because SAIL_COMBINE_CODECS is ON, removes an absolute path from the output +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/sail-common/config.h" "#define SAIL_CODECS_PATH [^\r\n]+[\r\n]*" "" REGEX) + # Handle usage file(COPY "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") - # 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/sail/vcpkg.json b/ports/sail/vcpkg.json index 668cc0b7bc14ec..fd17c6c1bf3cc7 100644 --- a/ports/sail/vcpkg.json +++ b/ports/sail/vcpkg.json @@ -1,17 +1,11 @@ { "name": "sail", - "version-semver": "0.9.0-pre18", + "version-semver": "0.9.6", "description": "The missing small and fast image decoding library for humans (not for machines)", "homepage": "https://github.com/HappySeaFox/sail", + "license": "MIT", "supports": "!uwp", "dependencies": [ - "giflib", - "jasper", - "libavif", - "libjpeg-turbo", - "libpng", - "libwebp", - "tiff", { "name": "vcpkg-cmake", "host": true @@ -20,5 +14,176 @@ "name": "vcpkg-cmake-config", "host": true } - ] + ], + "default-features": [ + "highest-priority-codecs" + ], + "features": { + "all": { + "description": "Enable all codecs", + "dependencies": [ + { + "name": "sail", + "features": [ + "high-priority-codecs", + "highest-priority-codecs", + "low-priority-codecs", + "lowest-priority-codecs", + "medium-priority-codecs" + ] + } + ] + }, + "avif": { + "description": "Enable AVIF codec", + "dependencies": [ + "libavif" + ] + }, + "bmp": { + "description": "Enable BMP codec" + }, + "gif": { + "description": "Enable GIF codec", + "dependencies": [ + "giflib" + ] + }, + "high-priority-codecs": { + "description": "Enable high priority codecs such as BMP", + "dependencies": [ + { + "name": "sail", + "features": [ + "bmp", + "svg" + ] + } + ] + }, + "highest-priority-codecs": { + "description": "Enable highest priority codecs such as JPEG or PNG", + "dependencies": [ + { + "name": "sail", + "features": [ + "gif", + "jpeg", + "png", + "tiff" + ] + } + ] + }, + "ico": { + "description": "Enable ICO codec" + }, + "jpeg": { + "description": "Enable JPEG codec", + "dependencies": [ + "libjpeg-turbo" + ] + }, + "jpeg2000": { + "description": "Enable JPEG2000 codec", + "dependencies": [ + "jasper" + ] + }, + "jpegxl": { + "description": "Enable JPEG XL codec", + "dependencies": [ + "libjxl" + ] + }, + "low-priority-codecs": { + "description": "Enable low priority codecs such as TGA", + "dependencies": [ + { + "name": "sail", + "features": [ + "ico", + "pcx", + "psd", + "qoi", + "tga" + ] + } + ] + }, + "lowest-priority-codecs": { + "description": "Enable lowest priority codecs such as XBM", + "dependencies": [ + { + "name": "sail", + "features": [ + "wal", + "xbm" + ] + } + ] + }, + "medium-priority-codecs": { + "description": "Enable medium priority codecs such as AVIF", + "dependencies": [ + { + "name": "sail", + "features": [ + "avif", + "jpeg2000", + "jpegxl", + "webp" + ] + } + ] + }, + "openmp": { + "description": "Enable OpenMP support" + }, + "pcx": { + "description": "Enable PCX codec" + }, + "png": { + "description": "Enable PNG codec", + "dependencies": [ + "libpng" + ] + }, + "psd": { + "description": "Enable PSD codec" + }, + "qoi": { + "description": "Enable QOI codec" + }, + "svg": { + "description": "Enable SVG codec", + "dependencies": [ + "nanosvg" + ] + }, + "tga": { + "description": "Enable TGA codec" + }, + "tiff": { + "description": "Enable TIFF codec", + "dependencies": [ + { + "name": "tiff", + "default-features": false + } + ] + }, + "wal": { + "description": "Enable WAL codec" + }, + "webp": { + "description": "Enable WEBP codec", + "dependencies": [ + "libwebp" + ] + }, + "xbm": { + "description": "Enable XBM codec" + } + } } diff --git a/ports/sais/portfile.cmake b/ports/sais/portfile.cmake deleted file mode 100644 index 5c0a0891a6a41a..00000000000000 --- a/ports/sais/portfile.cmake +++ /dev/null @@ -1,27 +0,0 @@ - -vcpkg_download_distfile(ARCHIVE - URLS "https://sites.google.com/site/yuta256/sais-2.4.1.zip" - FILENAME "sais-2.4.1.zip" - SHA512 6f6dd11f842f680bebc1d9b7f6b75752c9589c600fdd5e6373bb7290a686f1de35d4cc3226347e717f89a295363f7fee0ae8b1aa05ad341f4c2ea056fb5b1425 -) - -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} -) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - -DBUILD_SAIS64=ON -) - -vcpkg_install_cmake() -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_fixup_pkgconfig() diff --git a/ports/sais/vcpkg.json b/ports/sais/vcpkg.json deleted file mode 100644 index 7b0edbadd3d011..00000000000000 --- a/ports/sais/vcpkg.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "sais", - "version-string": "2.4.1", - "port-version": 3, - "description": "An implementation of the induced sorting algorithm" -} diff --git a/ports/sajson/portfile.cmake b/ports/sajson/portfile.cmake index 4fd0cac33d1c10..6b88f5be8ffc2f 100644 --- a/ports/sajson/portfile.cmake +++ b/ports/sajson/portfile.cmake @@ -8,18 +8,17 @@ vcpkg_from_github( HEAD_REF master ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/unofficial-sajson TARGET_PATH share/unofficial-sajson) +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-sajson CONFIG_PATH share/cmake/unofficial-sajson) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") # Handle copyright -configure_file(${SOURCE_PATH}/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/sajson/copyright COPYONLY) +configure_file("${SOURCE_PATH}/LICENSE.txt" "${CURRENT_PACKAGES_DIR}/share/sajson/copyright" COPYONLY) diff --git a/ports/sajson/vcpkg.json b/ports/sajson/vcpkg.json index 2cde87c546ed8b..5c831dc146830b 100644 --- a/ports/sajson/vcpkg.json +++ b/ports/sajson/vcpkg.json @@ -1,6 +1,16 @@ { "name": "sajson", - "version-string": "2018-09-21", - "port-version": 1, - "description": "Lightweight, extremely high-performance JSON parser for C++11" + "version-date": "2018-09-21", + "port-version": 3, + "description": "Lightweight, extremely high-performance JSON parser for C++11", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/salome-configuration/portfile.cmake b/ports/salome-configuration/portfile.cmake new file mode 100644 index 00000000000000..1561e845b9b9c1 --- /dev/null +++ b/ports/salome-configuration/portfile.cmake @@ -0,0 +1,20 @@ +vcpkg_from_git( + OUT_SOURCE_PATH SOURCE_PATH_CONFIG + URL "https://git.salome-platform.org/gitpub/tools/configuration.git" + REF "25f724f7a6c0000330a40c3851dcd8bc2493e1fa" +) + +file(COPY "${SOURCE_PATH_CONFIG}/" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH_CONFIG}/copyright/CEA_EDF.txt") + +file(WRITE "${CURRENT_PACKAGES_DIR}/share/${PORT}/vcpkg-port-config.cmake" [[set(SALOME_CONFIGURATION_ROOT_DIR "${CMAKE_CURRENT_LIST_DIR}")]]) + +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) + +file(READ "${CURRENT_PACKAGES_DIR}/share/${PORT}/cmake/SalomeMacros.cmake" contents) +if(HDF5_WITH_PARALLEL) + string(PREPEND contents "set(SALOME_USE_MPI ON)\n") +endif() +string(REPLACE [[SET(CMAKE_PREFIX_PATH "${${_envvar}}")]] "" contents "${contents}") +file(WRITE "${CURRENT_PACKAGES_DIR}/share/${PORT}/cmake/SalomeMacros.cmake" "${contents}") diff --git a/ports/salome-configuration/vcpkg.json b/ports/salome-configuration/vcpkg.json new file mode 100644 index 00000000000000..75bd4aa63e74d1 --- /dev/null +++ b/ports/salome-configuration/vcpkg.json @@ -0,0 +1,15 @@ +{ + "name": "salome-configuration", + "version": "9.10.0", + "description": "Configuration files and other utilities for SALOME platform", + "homepage": "https://www.salome-platform.org", + "license": "LGPL-2.1-or-later", + "supports": "windows | linux", + "dependencies": [ + { + "$comment": "This is a dummy dependency to inject SALOME_USE_MPI depending on HDF5_WITH_PARALLEL", + "name": "hdf5", + "default-features": false + } + ] +} diff --git a/ports/salome-med-fichier/hdf5-2.patch b/ports/salome-med-fichier/hdf5-2.patch new file mode 100644 index 00000000000000..bae9f0b24615bc --- /dev/null +++ b/ports/salome-med-fichier/hdf5-2.patch @@ -0,0 +1,520 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 9eceab7..3e3fb80 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -82,7 +82,7 @@ IF(WIN32) + ADD_DEFINITIONS(-D_CRT_SECURE_NO_WARNINGS) # To disable windows warnings for strcpy, fopen, ... + ADD_DEFINITIONS(-D_SCL_SECURE_NO_WARNINGS) # To disable windows warnings std::copy, std::transform, ... + ADD_DEFINITIONS(-DWNT -DWIN32) +- ADD_DEFINITIONS(-D_WIN32_WINNT=0x0500) # Windows 2000 or later API is required ++ #ADD_DEFINITIONS(-D_WIN32_WINNT=0x0500) # Windows 2000 or later API is required + ADD_DEFINITIONS(-DPPRO_NT_CALL) # For windows system functions call + + IF(NOT MINGW) +diff --git a/include/med_hdfi.h b/include/med_hdfi.h +index 517baa5..3303bf6 100644 +--- a/include/med_hdfi.h ++++ b/include/med_hdfi.h +@@ -351,22 +351,22 @@ typedef struct { + extern MEDC_EXPORT + void * _MEDcheckAttributeStringInit( med_string_itdatas * const itdatas, const char * const attname, med_int attsize); + extern MEDC_EXPORT +-med_err _MEDcheckAttributeStringFunc(med_idt id,const char *lname, const H5L_info_t *linfo, med_string_itdatas *data); ++med_err _MEDcheckAttributeStringFunc(med_idt id,const char *lname, const H5L_info1_t *linfo, med_string_itdatas *data); + extern MEDC_EXPORT + void _MEDcheckAttributeStringFin( med_string_itdatas * const itdatas); + + extern MEDC_EXPORT +-med_err _MEDchecknSublinkFunc(med_idt id,const char *lname, const H5L_info_t *linfo, med_bool *data); ++med_err _MEDchecknSublinkFunc(med_idt id,const char *lname, const H5L_info1_t *linfo, med_bool *data); + + #define MED_CHECK_ATTRIBUTE_FUNC(_check_med_type_) _MEDcheckAttributeFunc##_check_med_type_ + #define MED_CHECK_ATTRIBUTE_INIT(_check_med_type_,_check_med_itdata_,_check_med_attname_,_check_med_attsize_) _MEDcheckAttributeInit##_check_med_type_ (_check_med_itdata_,_check_med_attname_,_check_med_attsize_) + + + extern MEDC_EXPORT +-med_err _MEDcopyName(med_idt id,const char *lname, const H5L_info_t *linfo, void *data); ++med_err _MEDcopyName(med_idt id,const char *lname, const H5L_info1_t *linfo, void *data); + + extern MEDC_EXPORT +-med_err _MEDlinkobjs(med_idt id,const char *lname, const H5L_info_t *linfo, visitordatas *data); ++med_err _MEDlinkobjs(med_idt id,const char *lname, const H5L_info1_t *linfo, visitordatas *data); + + extern MEDC_EXPORT + med_err _MEDsoftlinkDel(const med_idt id, const char * const softlinkname, +@@ -402,7 +402,7 @@ med_err _MEDdatasetExist(const med_idt gid, + med_bool * const datasetexist, + med_bool * const isasoftlink ); + +-typedef herr_t (*medvisitorfunc)( hid_t g_id, const char *name, const H5L_info_t *info, void *op_data); ++typedef herr_t (*medvisitorfunc)( hid_t g_id, const char *name, const H5L_info1_t *info, void *op_data); + typedef medvisitorfunc mediteratorfunc; + + extern MEDC_EXPORT +diff --git a/src/ci/MEDfileCompatibility.c b/src/ci/MEDfileCompatibility.c +index ddfa489..fbd2ca3 100644 +--- a/src/ci/MEDfileCompatibility.c ++++ b/src/ci/MEDfileCompatibility.c +@@ -114,8 +114,8 @@ MEDfileCompatibility(const char* const filename, + #error "Don't forget to update the test version here when you change the major version of the library !" + #endif + #if H5_VERS_MINOR > 10 +-#error "Don't forget to check the compatibility version of the library, depending on the internal hdf model choice !" +-#error "Cf. _MEDfileCreate ..." ++//#error "Don't forget to check the compatibility version of the library, depending on the internal hdf model choice !" ++//#error "Cf. _MEDfileCreate ..." + #endif + + SORTIE: +diff --git a/src/hdfi/_MEDattributeNumWr.c b/src/hdfi/_MEDattributeNumWr.c +index 5ec7447..cd594f2 100644 +--- a/src/hdfi/_MEDattributeNumWr.c ++++ b/src/hdfi/_MEDattributeNumWr.c +@@ -34,7 +34,7 @@ med_err _MEDattributeNumWr(med_idt pid, + med_err _ret=-1; + med_idt type_hdf; + med_access_mode MED_ACCESS_MODE; +- H5O_info_t _oinfo; ++ H5O_info1_t _oinfo; + + if ( (MED_ACCESS_MODE = _MEDmodeAcces(pid) ) == MED_ACC_UNDEF ) { + MED_ERR_(_ret,MED_ERR_INVALID,MED_ERR_ACCESSMODE, "MED_ACC_UNDEF" ); +@@ -77,7 +77,7 @@ med_err _MEDattributeNumWr(med_idt pid, + + if ( (_attid=H5Aopen( pid, attname, H5P_DEFAULT )) >= 0 ) { + +- if ( H5Oget_info( pid, &_oinfo ) <0) { ++ if ( H5Oget_info1( pid, &_oinfo ) <0) { + MED_ERR_(_ret,MED_ERR_CALL,MED_ERR_API,"H5Oget_info"); + goto ERROR; + } +diff --git a/src/hdfi/_MEDattributeNumWrByName.c b/src/hdfi/_MEDattributeNumWrByName.c +index 229c836..e1dd020 100644 +--- a/src/hdfi/_MEDattributeNumWrByName.c ++++ b/src/hdfi/_MEDattributeNumWrByName.c +@@ -34,7 +34,7 @@ med_err _MEDattributeNumWrByName(med_idt pid, + med_err _ret=-1; + med_idt type_hdf; + med_access_mode MED_ACCESS_MODE; +- H5O_info_t _oinfo; ++ H5O_info1_t _oinfo; + + if ( (MED_ACCESS_MODE = _MEDmodeAcces(pid) ) == MED_ACC_UNDEF ) { + MED_ERR_(_ret,MED_ERR_INVALID,MED_ERR_ACCESSMODE, "MED_ACC_UNDEF" ); +@@ -68,7 +68,7 @@ med_err _MEDattributeNumWrByName(med_idt pid, + + if ( (_attid=H5Aopen_by_name( pid, path, attname, H5P_DEFAULT, H5P_DEFAULT )) >= 0 ) { + +- if ( H5Oget_info( pid, &_oinfo ) <0) { ++ if ( H5Oget_info1( pid, &_oinfo ) <0) { + MED_ERR_(_ret,MED_ERR_CALL,MED_ERR_API,"H5Oget_info"); + goto ERROR; + } +diff --git a/src/hdfi/_MEDcheckAttributeStringFunc.c b/src/hdfi/_MEDcheckAttributeStringFunc.c +index 4def049..66ec6d9 100644 +--- a/src/hdfi/_MEDcheckAttributeStringFunc.c ++++ b/src/hdfi/_MEDcheckAttributeStringFunc.c +@@ -22,10 +22,10 @@ + #include + #include + +-med_err _MEDcheckAttributeStringFunc(med_idt id,const char *lname, const H5L_info_t *linfo, med_string_itdatas *data) { ++med_err _MEDcheckAttributeStringFunc(med_idt id,const char *lname, const H5L_info1_t *linfo, med_string_itdatas *data) { + + med_err _ret=-1; +- H5O_info_t oinfo; ++ H5O_info1_t oinfo; + + + #ifdef _DEBUG_ +@@ -40,7 +40,7 @@ med_err _MEDcheckAttributeStringFunc(med_idt id,const char *lname, const H5L_inf + oinfo.type=H5G_LINK; + break; + case H5L_TYPE_HARD: +- if ( H5Oget_info_by_name( id, lname, &oinfo, H5P_DEFAULT ) <0) { ++ if ( H5Oget_info_by_name1( id, lname, &oinfo, H5P_DEFAULT ) <0) { + MED_ERR_(_ret,MED_ERR_CALL,MED_ERR_API,"H5Oget_info_by_name"); + SSCRUTE(lname); + } +diff --git a/src/hdfi/_MEDchecknSublinkFunc.c b/src/hdfi/_MEDchecknSublinkFunc.c +index 2e1a284..2b1db1f 100644 +--- a/src/hdfi/_MEDchecknSublinkFunc.c ++++ b/src/hdfi/_MEDchecknSublinkFunc.c +@@ -22,10 +22,10 @@ + #include + #include + +-med_err _MEDchecknSublinkFunc(med_idt id,const char *lname, const H5L_info_t *linfo, med_bool *data) { ++med_err _MEDchecknSublinkFunc(med_idt id,const char *lname, const H5L_info1_t *linfo, med_bool *data) { + + med_err _ret=-1; +- H5O_info_t oinfo; ++ H5O_info1_t oinfo; + H5G_info_t _group_info; + + +@@ -41,7 +41,7 @@ med_err _MEDchecknSublinkFunc(med_idt id,const char *lname, const H5L_info_t *li + oinfo.type=H5G_LINK; + break; + case H5L_TYPE_HARD: +- if ( H5Oget_info_by_name( id, lname, &oinfo, H5P_DEFAULT ) <0) { ++ if ( H5Oget_info_by_name1( id, lname, &oinfo, H5P_DEFAULT ) <0) { + MED_ERR_(_ret,MED_ERR_CALL,MED_ERR_API,"H5Oget_info_by_name"); + SSCRUTE(lname); + } +diff --git a/src/hdfi/_MEDcopyName.c b/src/hdfi/_MEDcopyName.c +index 45523a4..3edb463 100644 +--- a/src/hdfi/_MEDcopyName.c ++++ b/src/hdfi/_MEDcopyName.c +@@ -24,7 +24,7 @@ + + #include + +-med_err _MEDcopyName(med_idt id,const char *lname, const H5L_info_t *linfo, void *data) ++med_err _MEDcopyName(med_idt id,const char *lname, const H5L_info1_t *linfo, void *data) + { + if (data != NULL) + strcpy(data,lname); +diff --git a/src/hdfi/_MEDdatagroupExist.c b/src/hdfi/_MEDdatagroupExist.c +index e815d5c..5b38005 100644 +--- a/src/hdfi/_MEDdatagroupExist.c ++++ b/src/hdfi/_MEDdatagroupExist.c +@@ -31,10 +31,10 @@ med_err _MEDdatagroupExist(const med_idt gid, + + { + med_err _ret=-1; +- H5L_info_t _linkinfo; +- H5O_info_t _oinfo; ++ H5L_info1_t _linkinfo; ++ H5O_info1_t _oinfo; + +- if ( H5Lget_info( gid, datagroupname, &_linkinfo, H5P_DEFAULT ) >= 0 ) { ++ if ( H5Lget_info1( gid, datagroupname, &_linkinfo, H5P_DEFAULT ) >= 0 ) { + + switch ( _linkinfo.type ) { + +@@ -45,7 +45,7 @@ med_err _MEDdatagroupExist(const med_idt gid, + + case H5L_TYPE_HARD: + *isasoftlink = MED_FALSE; +- if ( H5Oget_info_by_name( gid, datagroupname, &_oinfo, H5P_DEFAULT ) <0) { ++ if ( H5Oget_info_by_name1( gid, datagroupname, &_oinfo, H5P_DEFAULT ) <0) { + MED_ERR_(_ret,MED_ERR_CALL,MED_ERR_API,"H5Oget_info_by_name"); + SSCRUTE( datagroupname); + } +diff --git a/src/hdfi/_MEDdatasetExist.c b/src/hdfi/_MEDdatasetExist.c +index 4852945..a1cc2a0 100644 +--- a/src/hdfi/_MEDdatasetExist.c ++++ b/src/hdfi/_MEDdatasetExist.c +@@ -31,12 +31,12 @@ med_err _MEDdatasetExist(const med_idt gid, + des datasets*/ + { + med_err _ret=-1; +- H5L_info_t _linkinfo; +- H5O_info_t _oinfo; ++ H5L_info1_t _linkinfo; ++ H5O_info1_t _oinfo; + + + +- if ( H5Lget_info( gid, datasetname, &_linkinfo, H5P_DEFAULT ) >= 0 ) { ++ if ( H5Lget_info1( gid, datasetname, &_linkinfo, H5P_DEFAULT ) >= 0 ) { + + switch ( _linkinfo.type ) { + +@@ -47,7 +47,7 @@ med_err _MEDdatasetExist(const med_idt gid, + + case H5L_TYPE_HARD: + *isasoftlink = MED_FALSE; +- if ( H5Oget_info_by_name( gid, datasetname, &_oinfo, H5P_DEFAULT ) <0) { ++ if ( H5Oget_info_by_name1( gid, datasetname, &_oinfo, H5P_DEFAULT ) <0) { + MED_ERR_(_ret,MED_ERR_CALL,MED_ERR_API,"H5Oget_info_by_name"); + SSCRUTE( datasetname); + } +diff --git a/src/hdfi/_MEDdatasetExistByMedtype.c b/src/hdfi/_MEDdatasetExistByMedtype.c +index e69a29a..0f87cb4 100644 +--- a/src/hdfi/_MEDdatasetExistByMedtype.c ++++ b/src/hdfi/_MEDdatasetExistByMedtype.c +@@ -30,14 +30,14 @@ med_err _MEDdatasetExistByMedtype(const med_idt gid, + { + med_err _ret=-1; + char _datasetname[3+1]=""; +- H5L_info_t _linkinfo; ++ H5L_info1_t _linkinfo; + + if ( _MEDgetDatasetName(_datasetname,meddatatype,cmode) < 0) { + MED_ERR_(_ret,MED_ERR_CALL,MED_ERR_API,"_MEDgetDatasetName"); + SSCRUTE(_datasetname);ISCRUTE_int(meddatatype);goto ERROR; + } + +- if ( H5Lget_info( gid, _datasetname, &_linkinfo, H5P_DEFAULT ) >= 0 ) { ++ if ( H5Lget_info1( gid, _datasetname, &_linkinfo, H5P_DEFAULT ) >= 0 ) { + *datasetexist = MED_TRUE; + if ( _linkinfo.type == H5L_TYPE_SOFT ) + *isasoftlink=MED_TRUE; +diff --git a/src/hdfi/_MEDdatasetWr.c b/src/hdfi/_MEDdatasetWr.c +index 67580fe..a494d99 100644 +--- a/src/hdfi/_MEDdatasetWr.c ++++ b/src/hdfi/_MEDdatasetWr.c +@@ -35,7 +35,7 @@ med_err _MEDdatasetWr(const med_idt id, + med_access_mode _MED_ACCESS_MODE; + med_int _nvaluesperentity=0,_nconstituentpervalue=0; + int _i=0; +- H5L_info_t _linkinfo; ++ H5L_info1_t _linkinfo; + hsize_t _dim=0; + const void *_value= value; + +@@ -146,7 +146,7 @@ med_err _MEDdatasetWr(const med_idt id, + goto ERROR; + } + +- if ( H5Lget_info( id, datasetname, &_linkinfo, H5P_DEFAULT ) >= 0 ) { ++ if ( H5Lget_info1( id, datasetname, &_linkinfo, H5P_DEFAULT ) >= 0 ) { + if ( _linkinfo.type == H5L_TYPE_SOFT ) + if ( H5Ldelete(id,datasetname,H5P_DEFAULT) < 0 ) { + MED_ERR_(_ret,MED_ERR_DELETE,MED_ERR_LINK,datasetname); +diff --git a/src/hdfi/_MEDfileCreate.c b/src/hdfi/_MEDfileCreate.c +index c685eda..c2e67da 100644 +--- a/src/hdfi/_MEDfileCreate.c ++++ b/src/hdfi/_MEDfileCreate.c +@@ -132,15 +132,15 @@ med_idt _MEDfileCreate(const char * const filename, const med_access_mode access + { + case 0: _release = MED_40_LATEST_RELEASE; break; + #if (MED_NUM_MINEUR == 0) && (MED_NUM_RELEASE > 1) +-#error "Don't forget to change the value of MED_40_LATEST_RELEASE when you change the release of version 4.0 of the library !" ++//#error "Don't forget to change the value of MED_40_LATEST_RELEASE when you change the release of version 4.0 of the library !" + #endif + /* case 1: _release = 0; break; */ + /* case 2: _release = 1; break; */ + #if MED_NUM_MINEUR > 1 +-#error "Don't forget to add a case line version here when you change the minor version of the library !" ++//#error "Don't forget to add a case line version here when you change the minor version of the library !" + #endif + #if MED_NUM_MAJEUR != 4 +-#error "Don't forget to add a case line version here when you change the major version of the library !" ++//#error "Don't forget to add a case line version here when you change the major version of the library !" + #endif + case MED_NUM_MINEUR: _release = MED_NUM_RELEASE; break; + default: +@@ -160,7 +160,7 @@ med_idt _MEDfileCreate(const char * const filename, const med_access_mode access + * Un test autoconf permet de fixer un intervalle de version HDF à MED. + */ + #if H5_VERS_MINOR > 10 +-#error "Don't forget to change the compatibility version of the library !" ++//#error "Don't forget to change the compatibility version of the library !" + #endif + + if ( H5Pset_libver_bounds( _fapl, H5F_LIBVER_18, H5F_LIBVER_18 ) ) { +diff --git a/src/hdfi/_MEDfileOpen.c b/src/hdfi/_MEDfileOpen.c +index 7044763..d567886 100644 +--- a/src/hdfi/_MEDfileOpen.c ++++ b/src/hdfi/_MEDfileOpen.c +@@ -73,7 +73,7 @@ med_idt _MEDfileOpen(const char * const filename,const med_access_mode accessmod + • The creation order tracking property, H5P_CRT_ORDER_TRACKED, has been set in the group creation property list (see H5Pset_link_creation_order). + */ + #if H5_VERS_MINOR > 10 +-#error "Don't forget to change the compatibility version of the library !" ++//#error "Don't forget to change the compatibility version of the library !" + #endif + /* L'avantage de bloquer le modèle interne HDF5 + est que l'on peut modifier des fichiers med de différentes versions majeures de fichiers. +diff --git a/src/hdfi/_MEDisasoftlink.c b/src/hdfi/_MEDisasoftlink.c +index bb03ea7..8d8cd3a 100644 +--- a/src/hdfi/_MEDisasoftlink.c ++++ b/src/hdfi/_MEDisasoftlink.c +@@ -28,10 +28,10 @@ med_err _MEDisasoftlink(const med_idt id, + ) { + + med_err _ret=-1; +- H5L_info_t _linkinfo; ++ H5L_info1_t _linkinfo; + + *isasoftlink=MED_FALSE; +- if ( H5Lget_info( id, linkname, &_linkinfo, H5P_DEFAULT ) >= 0 ) { ++ if ( H5Lget_info1( id, linkname, &_linkinfo, H5P_DEFAULT ) >= 0 ) { + if ( _linkinfo.type == H5L_TYPE_SOFT ) + *isasoftlink=MED_TRUE; + } else { +diff --git a/src/hdfi/_MEDlinkObjs.c b/src/hdfi/_MEDlinkObjs.c +index 6d00f5b..3640b2e 100644 +--- a/src/hdfi/_MEDlinkObjs.c ++++ b/src/hdfi/_MEDlinkObjs.c +@@ -22,7 +22,7 @@ + #include + #include + +-med_err _MEDlinkobjs(med_idt id,const char *lname, const H5L_info_t *linfo, visitordatas *data) { ++med_err _MEDlinkobjs(med_idt id,const char *lname, const H5L_info1_t *linfo, visitordatas *data) { + + med_err _ret=-1; + med_idt _gid=0,_gid1=0,_gid2=0; +@@ -35,7 +35,7 @@ med_err _MEDlinkobjs(med_idt id,const char *lname, const H5L_info_t *linfo, visi + med_int _attfalse=0; + char * _tmppath=0; + hsize_t _it; +- H5O_info_t oinfo; ++ H5O_info1_t oinfo; + + /* hid_t _ocp_plist_id = H5Pcreate( H5P_OBJECT_COPY ); */ + /* hid_t _lcp_plist_id = H5Pcreate( H5P_LINK_CREATE ); */ +@@ -62,7 +62,7 @@ med_err _MEDlinkobjs(med_idt id,const char *lname, const H5L_info_t *linfo, visi + sur un lien hard + Sur un lien soft H5O_TYPE_UNKNOWN + */ +- if ( H5Oget_info_by_name( id, lname, &oinfo, H5P_DEFAULT ) <0) { ++ if ( H5Oget_info_by_name1( id, lname, &oinfo, H5P_DEFAULT ) <0) { + MED_ERR_(_ret,MED_ERR_CALL,MED_ERR_API,"H5Oget_info_by_name"); + SSCRUTE(lname); + } +diff --git a/src/hdfi/_MEDmemFileOpen.c b/src/hdfi/_MEDmemFileOpen.c +index 7a10e9b..58e66b1 100644 +--- a/src/hdfi/_MEDmemFileOpen.c ++++ b/src/hdfi/_MEDmemFileOpen.c +@@ -435,7 +435,7 @@ med_idt _MEDmemFileOpen(const char * const filename, med_memfile * const memfile + } + + #if H5_VERS_MINOR > 10 +-#error "Don't forget to change the compatibility version of the library !" ++//#error "Don't forget to change the compatibility version of the library !" + #endif + if ( H5Pset_libver_bounds( _fapl, H5F_LIBVER_18, H5F_LIBVER_18) ) { + MED_ERR_(_fid,MED_ERR_INIT,MED_ERR_PROPERTY,MED_ERR_FILEVERSION_MSG); +diff --git a/src/hdfi/_MEDobjectGetRank.c b/src/hdfi/_MEDobjectGetRank.c +index 6762533..b6e823b 100644 +--- a/src/hdfi/_MEDobjectGetRank.c ++++ b/src/hdfi/_MEDobjectGetRank.c +@@ -27,9 +27,9 @@ med_err _MEDobjectGetRank(const med_idt gid, + med_size * const rank ) + { + med_err _ret=-1; +- H5L_info_t _linkinfo; ++ H5L_info1_t _linkinfo; + +- if ( H5Lget_info( gid, linkname, &_linkinfo, H5P_DEFAULT ) >= 0 ) { ++ if ( H5Lget_info1( gid, linkname, &_linkinfo, H5P_DEFAULT ) >= 0 ) { + if ( _linkinfo.type == H5L_TYPE_HARD ) { + if ( _linkinfo.corder_valid) { + *rank = (med_size) _linkinfo.corder; +diff --git a/src/hdfi/_MEDparFileCreate.c b/src/hdfi/_MEDparFileCreate.c +index e1fc029..aaea0cd 100644 +--- a/src/hdfi/_MEDparFileCreate.c ++++ b/src/hdfi/_MEDparFileCreate.c +@@ -65,7 +65,7 @@ med_idt _MEDparFileCreate(const char * const filename, const med_access_mode acc + * Un test autoconf permet de fixer un intervalle de version HDF à MED. + */ + #if H5_VERS_MINOR > 10 +-#error "Don't forget to change the compatibility version of the library !" ++//#error "Don't forget to change the compatibility version of the library !" + #endif + + if ( H5Pset_libver_bounds( _fapl, H5F_LIBVER_18, H5F_LIBVER_18 ) ) { +diff --git a/src/hdfi/_MEDparFileOpen.c b/src/hdfi/_MEDparFileOpen.c +index 875989f..e55be80 100644 +--- a/src/hdfi/_MEDparFileOpen.c ++++ b/src/hdfi/_MEDparFileOpen.c +@@ -56,7 +56,7 @@ med_idt _MEDparFileOpen(const char * const filename,const med_access_mode access + goto ERROR; + } + #if H5_VERS_MINOR > 10 +-#error "Don't forget to change the compatibility version of the library !" ++//#error "Don't forget to change the compatibility version of the library !" + #endif + if ( H5Pset_libver_bounds( _fapl, H5F_LIBVER_18, H5F_LIBVER_18 ) ) { + MED_ERR_(_fid,MED_ERR_INIT,MED_ERR_PROPERTY,MED_ERR_FILEVERSION_MSG); +diff --git a/src/hdfi/_MEDsoftlinkDel.c b/src/hdfi/_MEDsoftlinkDel.c +index ec76910..0054eb2 100644 +--- a/src/hdfi/_MEDsoftlinkDel.c ++++ b/src/hdfi/_MEDsoftlinkDel.c +@@ -27,10 +27,10 @@ med_err _MEDsoftlinkDel(const med_idt id, + ) { + + med_err _ret=-1; +- H5L_info_t _linkinfo; ++ H5L_info1_t _linkinfo; + + +- if ( H5Lget_info( id, softlinkname, &_linkinfo, H5P_DEFAULT ) >= 0 ) { ++ if ( H5Lget_info1( id, softlinkname, &_linkinfo, H5P_DEFAULT ) >= 0 ) { + if ( _linkinfo.type == H5L_TYPE_SOFT ) { + if ( H5Ldelete(id,softlinkname,H5P_DEFAULT) < 0 ) { + MED_ERR_(_ret,MED_ERR_DELETE,MED_ERR_LINK,softlinkname); +diff --git a/src/hdfi/__MEDobjectGetName.c b/src/hdfi/__MEDobjectGetName.c +index e8f0efb..f368100 100644 +--- a/src/hdfi/__MEDobjectGetName.c ++++ b/src/hdfi/__MEDobjectGetName.c +@@ -22,7 +22,7 @@ + #include + + +-extern med_err _MEDcopyName(med_idt id,const char *lname, const H5L_info_t *linfo, void *data); ++extern med_err _MEDcopyName(med_idt id,const char *lname, const H5L_info1_t *linfo, void *data); + + med_err + __MEDobjectGetName(const med_idt fid, const char * const path, const med_size ind, char *name, +diff --git a/tools/medimport/2.3.6/_MEDconvertStringDatasets.c b/tools/medimport/2.3.6/_MEDconvertStringDatasets.c +index 9a1c706..b3e7625 100644 +--- a/tools/medimport/2.3.6/_MEDconvertStringDatasets.c ++++ b/tools/medimport/2.3.6/_MEDconvertStringDatasets.c +@@ -31,11 +31,11 @@ + #define MED_TAILLE_LNOM 80 + #define MAX_LEN_PATH 255 + +-med_err _MEDconvertStringDatasets(med_idt id, const char *lname, const H5L_info_t *linfo, visitordatas *data) { ++med_err _MEDconvertStringDatasets(med_idt id, const char *lname, const H5L_info1_t *linfo, visitordatas *data) { + + med_err _ret=-1,_err=-1; + med_idt _gid=0; +- H5O_info_t oinfo; ++ H5O_info1_t oinfo; + char _tmpbuff[MAX_LEN_PATH+1]=""; + int _tmpbuffsize=0; + med_int _nbratt=0; +@@ -52,7 +52,7 @@ med_err _MEDconvertStringDatasets(med_idt id, const char *lname, const H5L_info_ + oinfo.type=(H5O_type_t) H5G_LINK; + break; + case H5L_TYPE_HARD: +- if ( H5Oget_info_by_name( id, lname, &oinfo, H5P_DEFAULT ) <0) { ++ if ( H5Oget_info_by_name1( id, lname, &oinfo, H5P_DEFAULT ) <0) { + MED_ERR_(_ret,MED_ERR_CALL,MED_ERR_API,"H5Oget_info_by_name"); + SSCRUTE(lname); + } +diff --git a/tools/medimport/include/MAJ_236_300.h b/tools/medimport/include/MAJ_236_300.h +index a3647c9..f640d0a 100644 +--- a/tools/medimport/include/MAJ_236_300.h ++++ b/tools/medimport/include/MAJ_236_300.h +@@ -51,7 +51,7 @@ extern int MAJ_236_300_string_datasets(med_idt fid, + + extern med_err _MEDconvertStringDatasets(med_idt id, + const char *lname, +- const H5L_info_t *linfo, ++ const H5L_info1_t *linfo, + visitordatas *data); + + extern void MAJ_236_300_champs(med_idt fid); +diff --git a/src/hdfi/_MEDobjectGetName.c b/src/hdfi/_MEDobjectGetName.c +index b9ebcf2..48aafe8 100644 +--- a/src/hdfi/_MEDobjectGetName.c ++++ b/src/hdfi/_MEDobjectGetName.c +@@ -28,7 +28,7 @@ _MEDobjectGetName(const med_idt fid,const char * const path,const med_size ind,c + + med_err _ret=-1; + +- if ( H5Literate_by_name(fid,path, H5_INDEX_NAME, H5_ITER_INC, ++ if ( H5Literate_by_name1(fid,path, H5_INDEX_NAME, H5_ITER_INC, + (hsize_t *) &ind, _MEDcopyName, name,H5P_DEFAULT ) < 0 ) { + MED_ERR_(_ret,MED_ERR_VISIT,MED_ERR_DATAGROUP,path); + /* H5Eprint1(stderr); */ +diff --git a/src/hdfi/__MEDobjectGetName.c b/src/hdfi/__MEDobjectGetName.c +index f368100..c500b21 100644 +--- a/src/hdfi/__MEDobjectGetName.c ++++ b/src/hdfi/__MEDobjectGetName.c +@@ -57,7 +57,7 @@ __MEDobjectGetName(const med_idt fid, const char * const path, const med_size in + /* goto ERROR; */ + /* } */ + +- if ( H5Literate_by_name(fid,path, index_type, order, (hsize_t *) &ind, _MEDcopyName, name,H5P_DEFAULT ) < 0 ) { ++ if ( H5Literate_by_name1(fid,path, index_type, order, (hsize_t *) &ind, _MEDcopyName, name,H5P_DEFAULT ) < 0 ) { + MED_ERR_(_ret,MED_ERR_VISIT,MED_ERR_DATAGROUP,path); + /* H5Eprint1(stderr); */ + goto ERROR; diff --git a/ports/salome-med-fichier/hdf5.patch b/ports/salome-med-fichier/hdf5.patch new file mode 100644 index 00000000000000..30ab8008654717 --- /dev/null +++ b/ports/salome-med-fichier/hdf5.patch @@ -0,0 +1,21 @@ +diff --git a/config/cmake_files/medMacros.cmake b/config/cmake_files/medMacros.cmake +index 79698ad..5fe3d5f 100644 +--- a/config/cmake_files/medMacros.cmake ++++ b/config/cmake_files/medMacros.cmake +@@ -448,14 +448,14 @@ MACRO(MED_FIND_HDF5) + ## Requires 1.10.x version + ## + IF (NOT HDF_VERSION_MAJOR_REF EQUAL 1 OR NOT HDF_VERSION_MINOR_REF EQUAL 10 OR NOT HDF_VERSION_RELEASE_REF GREATER 1) +- MESSAGE(FATAL_ERROR "HDF5 version is ${HDF_VERSION_REF}. Only versions >= 1.10.2 are supported.") ++ #MESSAGE(FATAL_ERROR "HDF5 version is ${HDF_VERSION_REF}. Only versions >= 1.10.2 are supported.") + ENDIF() + ## + ## + + ADD_DEFINITIONS(-DH5_USE_16_API) + IF(WIN32 AND MEDFILE_BUILD_SHARED_LIBS) +- ADD_DEFINITIONS(-D_HDF5USEDLL_ -DH5_BUILT_AS_DYNAMIC_LIB=1) ++ #ADD_DEFINITIONS(-D_HDF5USEDLL_ -DH5_BUILT_AS_DYNAMIC_LIB=1) + ENDIF() + + # Take what is exposed by the standard FIND_PACKAGE() diff --git a/ports/salome-med-fichier/more-fixes.patch b/ports/salome-med-fichier/more-fixes.patch new file mode 100644 index 00000000000000..b14b09fc54c212 --- /dev/null +++ b/ports/salome-med-fichier/more-fixes.patch @@ -0,0 +1,60 @@ +diff --git a/src/ci/MEDfileExist.c b/src/ci/MEDfileExist.c +index f4f1683..6c902ae 100644 +--- a/src/ci/MEDfileExist.c ++++ b/src/ci/MEDfileExist.c +@@ -25,6 +25,7 @@ + #define W_OK 2 /* Test for write permission. */ + #define X_OK 1 /* Test for execute permission. */ + #define F_OK 0 /* Test for existence. */ ++#include + #else + #include + #endif +diff --git a/src/misc/_MEDaccess.c b/src/misc/_MEDaccess.c +index 481203d..4c18b2a 100644 +--- a/src/misc/_MEDaccess.c ++++ b/src/misc/_MEDaccess.c +@@ -17,6 +17,7 @@ + + #if defined(WIN32) + #include ++#include + #else + #include + #endif +diff --git a/tools/mdump/mdump2.c b/tools/mdump/mdump2.c +index 820a5f0..c711a8b 100644 +--- a/tools/mdump/mdump2.c ++++ b/tools/mdump/mdump2.c +@@ -80,6 +80,7 @@ extern "C" { + + #ifdef PPRO_NT + #define F_OK 0 ++#include + #else + #include + #endif +diff --git a/tools/mdump/mdump3.c b/tools/mdump/mdump3.c +index 228fb81..cb648b5 100644 +--- a/tools/mdump/mdump3.c ++++ b/tools/mdump/mdump3.c +@@ -81,6 +81,7 @@ extern "C" { + #ifdef PPRO_NT + #define F_OK 0 + #define snprintf _snprintf ++#include + #else + #include + #endif +diff --git a/tools/mdump/mdump4.c b/tools/mdump/mdump4.c +index 6f2fc3d..725cd14 100644 +--- a/tools/mdump/mdump4.c ++++ b/tools/mdump/mdump4.c +@@ -81,6 +81,7 @@ extern "C" { + #ifdef PPRO_NT + #define F_OK 0 + #define snprintf _snprintf ++#include + #else + #include + #endif diff --git a/ports/salome-med-fichier/portfile.cmake b/ports/salome-med-fichier/portfile.cmake new file mode 100644 index 00000000000000..b1fd11e29328c8 --- /dev/null +++ b/ports/salome-med-fichier/portfile.cmake @@ -0,0 +1,81 @@ +# This library cannot easily be found only. Be aware that the original source repository is not accessible. +# Checking for updates needs to be done manually by trying to increase the version in the link. +# med-fichier is needed to build all libraries of the https://www.salome-platform.org/ since it is the io +# entry point to open and read .med files. +vcpkg_download_distfile(ARCHIVE + URLS "https://files.salome-platform.org/Salome/other/med-${VERSION}.tar.gz" + FILENAME "med-${VERSION}.tar.gz" + SHA512 8917e7ecfe30e1259b0927c8e1c3d6efd86ed2386813f6d90217bd95589199478e587f0815031ab65cacf7901a30b77a6307414f9073caffe6e7f013e710d768 +) + +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" + PATCHES + hdf5.patch # CMake patches for hdf5 + hdf5-2.patch # source patches to fix API version of HDF5 + more-fixes.patch # include fixes +) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" MEDFILE_BUILD_STATIC_LIBS) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" MEDFILE_BUILD_SHARED_LIBS) + +# If there are problems with the cmake build try switching to autotools for !windows +vcpkg_cmake_configure( + DISABLE_PARALLEL_CONFIGURE # Writes into the source dir + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DMEDFILE_BUILD_SHARED_LIBS=${MEDFILE_BUILD_SHARED_LIBS} + -DMEDFILE_BUILD_STATIC_LIBS=${MEDFILE_BUILD_STATIC_LIBS} + -DMEDFILE_INSTALL_DOC=OFF + -DMEDFILE_BUILD_TESTS=OFF + -DCMAKE_Fortran_COMPILER=NOTFOUND # Disable Fortran + ) + +vcpkg_cmake_install() +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_cmake_config_fixup(PACKAGE_NAME MEDFile CONFIG_PATH cmake) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/MEDFile/MEDFileConfig.cmake" "/cmake/" "/share/MEDFile/") +else() + vcpkg_cmake_config_fixup(PACKAGE_NAME MEDFile CONFIG_PATH share/cmake/medfile-4.1.1) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/MEDFile/MEDFileConfig.cmake" "share/cmake/medfile-${VERSION}" "share/MEDFile") +endif() + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + set(EXTRA_TOOLS medimport) +endif() + +vcpkg_copy_tools(TOOL_NAMES mdump2 mdump3 mdump4 medconforme ${EXTRA_TOOLS} AUTO_CLEAN) +foreach(xdump IN ITEMS xmdump2 xmdump3 xmdump4) + file(REMOVE "${CURRENT_PACKAGES_DIR}/bin/${xdump}" "${CURRENT_PACKAGES_DIR}/debug/bin/${xdump}") +endforeach() + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") +elseif(VCPKG_TARGET_IS_WINDOWS) #dynamic builds on windows + file(GLOB dll_files "${CURRENT_PACKAGES_DIR}/lib/*.dll") + foreach(dll_file IN LISTS dll_files) + string(REPLACE "/lib/" "/bin/" dll_file_moved "${dll_file}") + file(RENAME "${dll_file}" "${dll_file_moved}") + endforeach() + if(NOT VCPKG_BUILD_TYPE) + file(GLOB dll_files "${CURRENT_PACKAGES_DIR}/debug/lib/*.dll") + foreach(dll_file IN LISTS dll_files) + string(REPLACE "/lib/" "/bin/" dll_file_moved "${dll_file}") + file(RENAME "${dll_file}" "${dll_file_moved}") + endforeach() + endif() + set(file "${CURRENT_PACKAGES_DIR}/share/MEDFile/MEDFileTargets-release.cmake") + file(READ "${file}" contents) + string(REGEX REPLACE "/lib/([^.]+)\\.dll" "/bin/\\1.dll" contents "${contents}") + file(WRITE "${file}" "${contents}") + if(NOT VCPKG_BUILD_TYPE) + set(file "${CURRENT_PACKAGES_DIR}/share/MEDFile/MEDFileTargets-debug.cmake") + file(READ "${file}" contents) + string(REGEX REPLACE "/lib/([^.]+)\\.dll" "/bin/\\1.dll" contents "${contents}") + file(WRITE "${file}" "${contents}") + endif() +endif() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING.LESSER") # GPL seems to be mentioned due to autotools stuff diff --git a/ports/salome-med-fichier/vcpkg.json b/ports/salome-med-fichier/vcpkg.json new file mode 100644 index 00000000000000..ea26b4478d4446 --- /dev/null +++ b/ports/salome-med-fichier/vcpkg.json @@ -0,0 +1,22 @@ +{ + "name": "salome-med-fichier", + "version": "4.1.1", + "port-version": 1, + "description": "med-fichier provides a low level C API for fine-grained access to the structure of MED files (.med)", + "homepage": "https://www.salome-platform.org", + "license": "LGPL-3.0-or-later", + "dependencies": [ + { + "name": "hdf5", + "default-features": false + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/salome-medcoupling/fix-missing-symbols.patch b/ports/salome-medcoupling/fix-missing-symbols.patch new file mode 100644 index 00000000000000..88a061ff997ffe --- /dev/null +++ b/ports/salome-medcoupling/fix-missing-symbols.patch @@ -0,0 +1,13 @@ +diff --git a/src/MEDCoupling/MEDCouplingMemArray.cxx b/src/MEDCoupling/MEDCouplingMemArray.cxx +index 60d040806..8cb6748d2 100644 +--- a/src/MEDCoupling/MEDCouplingMemArray.cxx ++++ b/src/MEDCoupling/MEDCouplingMemArray.cxx +@@ -44,6 +44,8 @@ using namespace MEDCoupling; + + template class MEDCOUPLING_EXPORT MEDCoupling::MemArray; + template class MEDCOUPLING_EXPORT MEDCoupling::MemArray; ++template class MEDCOUPLING_EXPORT MEDCoupling::MemArray; ++template class MEDCOUPLING_EXPORT MEDCoupling::MemArray; + template class MEDCOUPLING_EXPORT MEDCoupling::DataArrayTemplate; + template class MEDCOUPLING_EXPORT MEDCoupling::DataArrayTemplate; + template class MEDCOUPLING_EXPORT MEDCoupling::DataArrayTemplateClassic; diff --git a/ports/salome-medcoupling/portfile.cmake b/ports/salome-medcoupling/portfile.cmake new file mode 100644 index 00000000000000..79e1ef4ba039cf --- /dev/null +++ b/ports/salome-medcoupling/portfile.cmake @@ -0,0 +1,71 @@ +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) + # Fixing static builds requires fixing/removing _declspec(dllexport|dllimport) + # in the EXPORTS macros. +endif() + +vcpkg_from_git( + OUT_SOURCE_PATH SOURCE_PATH + URL "https://git.salome-platform.org/gitpub/tools/medcoupling.git" + REF "fe2e38d301902c626f644907e00e499552bb2fa5" + PATCHES + win.patch + fix-missing-symbols.patch +) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" MEDCOUPLING_BUILD_STATIC) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + "-DCONFIGURATION_ROOT_DIR=${SALOME_CONFIGURATION_ROOT_DIR}" + -DMEDCOUPLING_BUILD_TESTS=OFF + -DMEDCOUPLING_BUILD_PY_TESTS=OFF + -DMEDCOUPLING_BUILD_DOC=OFF + -DMEDCOUPLING_BUILD_STATIC=${MEDCOUPLING_BUILD_STATIC} + -DMEDCOUPLING_ENABLE_PYTHON=OFF + -DMEDCOUPLING_ENABLE_RENUMBER=OFF + -DMEDCOUPLING_METIS_V5=ON + -DMETIS_LIBRARIES=metis # this is a target + -DSCOTCH_LIBRARIES=SCOTCH::scotch +) + +vcpkg_cmake_install() + +file(GLOB dll_files "${CURRENT_PACKAGES_DIR}/lib/*.dll") +file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/bin") +foreach(dll_file IN LISTS dll_files) + string(REPLACE "/lib/" "/bin/" new_loc "${dll_file}") + file(RENAME "${dll_file}" "${new_loc}") +endforeach() + +if(NOT VCPKG_BUILD_TYPE) + file(GLOB dll_files "${CURRENT_PACKAGES_DIR}/debug/lib/*.dll") + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/bin") + foreach(dll_file IN LISTS dll_files) + string(REPLACE "/lib/" "/bin/" new_loc "${dll_file}") + file(RENAME "${dll_file}" "${new_loc}") + endforeach() +endif() + +vcpkg_cmake_config_fixup(PACKAGE_NAME MEDCoupling CONFIG_PATH "cmake_files") +if(VCPKG_TARGET_IS_WINDOWS) + set(file "${CURRENT_PACKAGES_DIR}/share/MEDCoupling/MEDCouplingTargets-release.cmake") + file(READ "${file}" contents) + string(REGEX REPLACE "/lib/([^.]+)\\.dll" "/bin/\\1.dll" contents "${contents}") + file(WRITE "${file}" "${contents}") + + if(NOT VCPKG_BUILD_TYPE) + set(file "${CURRENT_PACKAGES_DIR}/share/MEDCoupling/MEDCouplingTargets-debug.cmake") + file(READ "${file}" contents) + string(REGEX REPLACE "/lib/([^.]+)\\.dll" "/bin/\\1.dll" contents "${contents}") + file(WRITE "${file}" "${contents}") + endif() +endif() + +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/MEDCoupling/MEDCouplingConfig.cmake" "/cmake_files" "/share/MEDCoupling") +vcpkg_copy_tools(TOOL_NAMES medpartitioner AUTO_CLEAN) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share") diff --git a/ports/salome-medcoupling/vcpkg.json b/ports/salome-medcoupling/vcpkg.json new file mode 100644 index 00000000000000..ba9051916243dc --- /dev/null +++ b/ports/salome-medcoupling/vcpkg.json @@ -0,0 +1,30 @@ +{ + "name": "salome-medcoupling", + "version": "9.10.0", + "description": "salome-medcoupling is a part of SALOME platform to manipulate meshes and fields in memory, and use salome-med format for files.", + "homepage": "https://www.salome-platform.org", + "license": "GPL-2.0-or-later", + "supports": "!(windows & static)", + "dependencies": [ + "boost-chrono", + "boost-date-time", + "boost-filesystem", + "boost-regex", + "boost-serialization", + "boost-system", + "boost-thread", + "libxml2", + "metis", + "salome-configuration", + "salome-med-fichier", + "scotch", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/salome-medcoupling/win.patch b/ports/salome-medcoupling/win.patch new file mode 100644 index 00000000000000..25c1104c3f714b --- /dev/null +++ b/ports/salome-medcoupling/win.patch @@ -0,0 +1,18 @@ +diff --git a/src/MEDPartitioner/CMakeLists.txt b/src/MEDPartitioner/CMakeLists.txt +index e088a0ed4..048505267 100644 +--- a/src/MEDPartitioner/CMakeLists.txt ++++ b/src/MEDPartitioner/CMakeLists.txt +@@ -114,8 +114,12 @@ SET(medpartitionercpp_LDFLAGS + interpkernel + medcouplingcpp + medloader +- -lpthread + ) ++ ++if(NOT WIN32) ++ list(APPEND medpartitionercpp_LDFLAGS -lpthread) ++endif() ++ + IF(MEDCOUPLING_PARTITIONER_PARMETIS) + SET(medpartitionercpp_HEADERS_HXX ${medpartitionercpp_HEADERS_HXX} MEDPARTITIONER_ParMetisGraph.hxx) + SET(medpartitionercpp_SOURCES ${medpartitionercpp_SOURCES} MEDPARTITIONER_ParMetisGraph.cxx MEDPARTITIONER_MetisGraph.cxx) diff --git a/ports/sassc/portfile.cmake b/ports/sassc/portfile.cmake index 45982e835bdca1..e703366302d25e 100644 --- a/ports/sassc/portfile.cmake +++ b/ports/sassc/portfile.cmake @@ -1,7 +1,9 @@ +set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO sass/sassc - REF 3.6.2 + REF "${VERSION}" SHA512 fff3995ce8608bdaed5f4f1352ae4f1f882de58663b932c598d6168df421e4dbf907ec0f8caebb1e56490a71ca11105726f291b475816dd53e705bc53121969f HEAD_REF master PATCHES remove_compiler_flags.patch @@ -9,26 +11,23 @@ vcpkg_from_github( find_library(LIBSASS_DEBUG sass PATHS "${CURRENT_INSTALLED_DIR}/debug/lib/" NO_DEFAULT_PATH) find_library(LIBSASS_RELEASE sass PATHS "${CURRENT_INSTALLED_DIR}/lib/" NO_DEFAULT_PATH) -if(VCPKG_TARGET_IS_WINDOWS) +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) set(ENV{LIBS} "$ENV{LIBS} -lgetopt") endif() vcpkg_configure_make( SOURCE_PATH "${SOURCE_PATH}" AUTOCONFIG OPTIONS - --with-libsass-include='${CURRENT_INSTALLED_DIR}/include' + "--with-libsass-include='${CURRENT_INSTALLED_DIR}/include'" OPTIONS_DEBUG - --with-libsass-lib='${LIBSASS_DEBUG}' + "--with-libsass-lib='${LIBSASS_DEBUG}'" OPTIONS_RELEASE - --with-libsass-lib='${LIBSASS_RELEASE}' + "--with-libsass-lib='${LIBSASS_RELEASE}'" ) vcpkg_install_make(MAKEFILE GNUmakefile) vcpkg_fixup_pkgconfig() vcpkg_copy_pdbs() vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin") -# Handle copyright -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") - -set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) \ No newline at end of file diff --git a/ports/sassc/vcpkg.json b/ports/sassc/vcpkg.json index 84158ee4df63c5..99a70232143142 100644 --- a/ports/sassc/vcpkg.json +++ b/ports/sassc/vcpkg.json @@ -1,10 +1,14 @@ { "name": "sassc", "version": "3.6.2", + "port-version": 1, "description": "SassC is a wrapper around libsass (http://github.com/sass/libsass) used to generate a useful command-line application that can be installed and packaged for several operating systems.", "homepage": "https://github.com/sass/sassc", "dependencies": [ - "getopt", + { + "name": "getopt", + "platform": "windows & !mingw" + }, "libsass" ] } diff --git a/ports/saucer/fix-build-error-with-fmt11.patch b/ports/saucer/fix-build-error-with-fmt11.patch new file mode 100644 index 00000000000000..502b3971650a0e --- /dev/null +++ b/ports/saucer/fix-build-error-with-fmt11.patch @@ -0,0 +1,12 @@ +diff --git a/include/saucer/serializers/glaze/glaze.inl b/include/saucer/serializers/glaze/glaze.inl +index c0e1395..d704ed9 100644 +--- a/include/saucer/serializers/glaze/glaze.inl ++++ b/include/saucer/serializers/glaze/glaze.inl +@@ -7,6 +7,7 @@ + + #include + #include ++#include + #include + + #include diff --git a/ports/saucer/fix_findpkg.patch b/ports/saucer/fix_findpkg.patch new file mode 100644 index 00000000000000..b2694ce79278eb --- /dev/null +++ b/ports/saucer/fix_findpkg.patch @@ -0,0 +1,120 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 5ac3f20..d4e3864 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -134,57 +134,17 @@ endif() + include("cmake/cpm.cmake") + include("cmake/nuget.cmake") + +-CPMFindPackage( +- NAME lockpp +- VERSION 2.7 +- GIT_REPOSITORY "https://github.com/Soundux/lockpp" +-) +- +-CPMFindPackage( +- NAME boost_callable_traits +- GIT_TAG boost-1.84.0 +- GIT_REPOSITORY "https://github.com/boostorg/callable_traits" +-) +- +-CPMFindPackage( +- NAME tl-expected +- VERSION 1.1.0 +- GIT_REPOSITORY "https://github.com/TartanLlama/expected" +- OPTIONS "EXPECTED_BUILD_TESTS OFF" +-) +- +-CPMFindPackage( +- NAME ereignis +- VERSION 2.3 +- GIT_REPOSITORY "https://github.com/Soundux/ereignis" +-) +- +-CPMFindPackage( +- NAME fmt +- GIT_TAG 10.1.1 +- GIT_REPOSITORY "https://github.com/fmtlib/fmt" +-) +- +-CPMFindPackage( +- NAME glaze +- VERSION 1.9.9 +- GIT_REPOSITORY "https://github.com/stephenberry/glaze" +-) +- +-CPMFindPackage( +- NAME flagpp +- VERSION 2.1 +- GIT_REPOSITORY "https://github.com/Curve/flagpp" +-) +- +-CPMFindPackage( +- NAME boost_preprocessor +- GIT_TAG boost-1.84.0 +- GIT_REPOSITORY "https://github.com/boostorg/preprocessor" +-) ++find_path(LOCKPP_INCLUDE_DIRS "lockpp") ++find_path(BOOST_CALLTRA_INCLUDE_DIRS "boost/callable_traits") ++find_package(tl-expected CONFIG REQUIRED) ++find_path(EREIGNIS_INCLUDE_DIRS "ereignis") ++find_package(fmt CONFIG REQUIRED) ++find_package(glaze CONFIG REQUIRED) ++find_path(FLAGPP_INCLUDE_DIRS "flagpp") ++find_path(BOOST_PREPROCESSOR_INCLUDE_DIRS "boost/preprocessor") + +-target_link_libraries(${PROJECT_NAME} PRIVATE boost_preprocessor cr::flagpp) +-target_link_libraries(${PROJECT_NAME} PUBLIC lockpp boost_callable_traits tl::expected glaze::glaze ereignis fmt) ++target_include_directories(${PROJECT_NAME} PRIVATE ${EREIGNIS_INCLUDE_DIRS} ${LOCKPP_INCLUDE_DIRS} ${BOOST_CALLTRA_INCLUDE_DIRS} ${FLAGPP_INCLUDE_DIRS} ${BOOST_PREPROCESSOR_INCLUDE_DIRS}) ++target_link_libraries(${PROJECT_NAME} PRIVATE glaze::glaze fmt::fmt tl::expected) + + # -------------------------------------------------------------------------------------------------------- + # Setup Linkage +@@ -227,7 +187,7 @@ if (saucer_backend STREQUAL "WebView2") + target_compile_definitions(${PROJECT_NAME} PRIVATE UNICODE=1 _UNICODE=1 NOMINMAX=1) + + include("cmake/webview2.cmake") +- target_link_libraries(${PROJECT_NAME} ${saucer_linkage} Shlwapi webview2::webview2) ++ target_link_libraries(${PROJECT_NAME} ${saucer_linkage} Shlwapi unofficial::webview2::webview2) + endif() + + # -------------------------------------------------------------------------------------------------------- +@@ -267,6 +227,4 @@ if (saucer_prefer_remote AND saucer_backend STREQUAL "WebView2") + endif() + + install(DIRECTORY "include/saucer" TYPE INCLUDE) +-install(DIRECTORY "$/fmt" TYPE INCLUDE) +-install(DIRECTORY "$/glaze" TYPE INCLUDE) +-install(DIRECTORY "$/boost" TYPE INCLUDE) ++install(DIRECTORY "${BOOST_CALLTRA_INCLUDE_DIRS}/boost/callable_traits" DESTINATION "include/boost/callable_traits") +diff --git a/cmake/webview2.cmake b/cmake/webview2.cmake +index 9ee3dbc..3827e94 100644 +--- a/cmake/webview2.cmake ++++ b/cmake/webview2.cmake +@@ -1,11 +1,11 @@ + include("cmake/nuget.cmake") + + if (NOT saucer_prefer_remote) +- find_package(webview2 CONFIG REQUIRED) ++ find_package(unofficial-webview2 CONFIG REQUIRED) + return() + endif() + +-if (NOT TARGET webview2::webview2) ++if (NOT TARGET unofficial::webview2::webview2) + nuget_add(WebView2 "Microsoft.Web.WebView2" ${saucer_webview2_version}) + + add_library(webview2 STATIC IMPORTED) +diff --git a/src/serializer.glaze.cpp b/src/serializer.glaze.cpp +index 38e891c..a4f8768 100644 +--- a/src/serializer.glaze.cpp ++++ b/src/serializer.glaze.cpp +@@ -38,7 +38,7 @@ namespace saucer::serializers + } + + template +- tl::expected parse_as(const std::string &buffer) ++ tl::expected parse_as(const std::string &buffer) + { + static constexpr auto opts = glz::opts{.error_on_missing_keys = true, .raw_string = false}; + diff --git a/ports/saucer/portfile.cmake b/ports/saucer/portfile.cmake new file mode 100644 index 00000000000000..f167a9b366f84d --- /dev/null +++ b/ports/saucer/portfile.cmake @@ -0,0 +1,27 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO saucer/saucer + REF "v${VERSION}" + SHA512 6b5090c7754cac99d410ae59e207a44cd58db7fc9ee59412181c13449c5aed7e1cb61b1ec0703809084b406e01bbb821ecafa5caee4c2704ef72f07d2979a7e0 + HEAD_REF dev + PATCHES + fix_findpkg.patch + fix-build-error-with-fmt11.patch +) + +vcpkg_cmake_configure( + SOURCE_PATH ${SOURCE_PATH} + OPTIONS + ${BACKEND_OPTION} + -Dsaucer_prefer_remote=OFF + -Dsaucer_remote_webview2=OFF + MAYBE_UNUSED_VARIABLES + saucer_remote_webview2 +) + +vcpkg_cmake_install() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/saucer/vcpkg.json b/ports/saucer/vcpkg.json new file mode 100644 index 00000000000000..f20e4e62b11ffd --- /dev/null +++ b/ports/saucer/vcpkg.json @@ -0,0 +1,36 @@ +{ + "name": "saucer", + "version": "2.3.0", + "port-version": 1, + "description": "Next-gen desktop apps with web-frontend in C++", + "homepage": "https://saucer.github.io/", + "license": "MIT", + "supports": "!uwp", + "dependencies": [ + "boost-callable-traits", + "boost-preprocessor", + "ereignis", + "flagpp", + "fmt", + "glaze", + "lockpp", + "nlohmann-json", + { + "name": "qtwebchannel", + "platform": "!windows" + }, + { + "name": "qtwebengine", + "platform": "!windows" + }, + "tl-expected", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "webview2", + "platform": "windows" + } + ] +} diff --git a/ports/sbp/portfile.cmake b/ports/sbp/portfile.cmake index 219a548793bbaf..d345735fc2e8f0 100644 --- a/ports/sbp/portfile.cmake +++ b/ports/sbp/portfile.cmake @@ -1,7 +1,5 @@ # Windows shared libraries are not supported yet # See https://github.com/swift-nav/libsbp/issues/1062 -vcpkg_fail_port_install(ON_TARGET "uwp") - if(VCPKG_TARGET_IS_WINDOWS) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) endif() diff --git a/ports/sbp/vcpkg.json b/ports/sbp/vcpkg.json index 248dc3139e1ca0..ca94345d428677 100644 --- a/ports/sbp/vcpkg.json +++ b/ports/sbp/vcpkg.json @@ -1,6 +1,7 @@ { "name": "sbp", "version-semver": "3.4.10", + "port-version": 1, "description": "Swift Navigation Binary Protocol (SBP) is a binary protocol for communicating GNSS data used by Piksi devices.", "homepage": "https://github.com/swift-nav/libsbp", "documentation": "https://support.swiftnav.com/support/solutions/articles/44001850782-swift-binary-protocol", diff --git a/ports/scenepic/fix-CMakeInstall.patch b/ports/scenepic/fix-CMakeInstall.patch new file mode 100644 index 00000000000000..e78955cdc2a328 --- /dev/null +++ b/ports/scenepic/fix-CMakeInstall.patch @@ -0,0 +1,37 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a2a14bb..7a06c65 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -186,8 +186,8 @@ endif() + # -------------------- Install ------------------------------------ + + set(INSTALL_CONFIGDIR cmake) +-set(INSTALL_LIBDIR build/native/lib) +-set(INSTALL_INCLUDEDIR build/native/include) ++set(INSTALL_LIBDIR lib) ++set(INSTALL_INCLUDEDIR include) + + install(TARGETS scenepic + EXPORT scenepic-targets +@@ -195,7 +195,7 @@ install(TARGETS scenepic + LIBRARY DESTINATION ${INSTALL_LIBDIR} + ) + +-if( WIN32 ) ++if( 0 ) + if(${CMAKE_BUILD_TYPE} STREQUAL "Debug") + install(FILES + $/scenepic.pdb +diff --git a/src/scenepic/CMakeLists.txt b/src/scenepic/CMakeLists.txt +index f3d9673..916ab28 100644 +--- a/src/scenepic/CMakeLists.txt ++++ b/src/scenepic/CMakeLists.txt +@@ -47,7 +47,7 @@ target_compile_features(scenepic PRIVATE cxx_std_14) + + target_include_directories( scenepic + PUBLIC +- $ ++ $ + $ + $ + PRIVATE diff --git a/ports/scenepic/fix_dependencies.patch b/ports/scenepic/fix_dependencies.patch new file mode 100644 index 00000000000000..88c7407343eada --- /dev/null +++ b/ports/scenepic/fix_dependencies.patch @@ -0,0 +1,23 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a2db3db..a10a942 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -100,13 +100,11 @@ FetchContent_Declare( + + set(CMAKE_POLICY_DEFAULT_CMP0077 NEW) + +-if(NOT TARGET Eigen3::Eigen) +- FetchContent_GetProperties(eigen) +- if(NOT eigen_POPULATED) +- FetchContent_Populate(eigen) +- set( BUILD_TESTING OFF ) +- add_subdirectory(${eigen_SOURCE_DIR} ${eigen_BINARY_DIR} EXCLUDE_FROM_ALL) +- endif() ++find_package(Eigen3 3.4.0 REQUIRED) ++ ++if(Eigen3_FOUND) ++ set( BUILD_TESTING OFF ) ++ include_directories(${EIGEN3_INCLUDE_DIR}) + if(NOT TARGET Eigen3::Eigen) + add_library(Eigen3::Eigen ALIAS eigen) + endif() diff --git a/ports/scenepic/portfile.cmake b/ports/scenepic/portfile.cmake new file mode 100644 index 00000000000000..8a7f976465c237 --- /dev/null +++ b/ports/scenepic/portfile.cmake @@ -0,0 +1,43 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO microsoft/scenepic + REF "v${VERSION}" + SHA512 2ec8cdaa54a4432386175c545c4114d0682015cb34f77968622eac0b9ef6ccd8a5f14ba663339995bf109b472958407f694d40adf6025c02e464e94ef4fe5bd0 + HEAD_REF main + PATCHES + "fix_dependencies.patch" + "fix-CMakeInstall.patch" +) + +# Run npm install and npm run build on the cloned project +execute_process( + COMMAND npm install + WORKING_DIRECTORY "${SOURCE_PATH}" +) +execute_process( + COMMAND npm run build + WORKING_DIRECTORY "${SOURCE_PATH}" +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + DISABLE_PARALLEL_CONFIGURE + OPTIONS + -DCPP_TARGETS=cpp +) + +vcpkg_cmake_install() +vcpkg_fixup_pkgconfig() + +vcpkg_cmake_config_fixup(CONFIG_PATH cmake) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/README.md" + "${CURRENT_PACKAGES_DIR}/debug/CHANGELOG.md" + "${CURRENT_PACKAGES_DIR}/README.md" + "${CURRENT_PACKAGES_DIR}/CHANGELOG.md" + "${CURRENT_PACKAGES_DIR}/debug/include") + diff --git a/ports/scenepic/vcpkg.json b/ports/scenepic/vcpkg.json new file mode 100644 index 00000000000000..3e709eb0964fb0 --- /dev/null +++ b/ports/scenepic/vcpkg.json @@ -0,0 +1,19 @@ +{ + "name": "scenepic", + "version": "1.1.0", + "port-version": 1, + "description": "A Powerful, easy to use, and portable visualization toolkit for mixed 3D and 2D content", + "homepage": "https://microsoft.github.io/scenepic/", + "license": "MIT", + "dependencies": [ + "eigen3", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/scintilla/0001-static-lib.patch b/ports/scintilla/0001-static-lib.patch index 2661b0f2d7dee2..e3c7a01245eebd 100644 --- a/ports/scintilla/0001-static-lib.patch +++ b/ports/scintilla/0001-static-lib.patch @@ -1,14 +1,13 @@ -diff --git a/win32/SciLexer.vcxproj b/win32/SciLexer.vcxproj -index b2e993c..c8774f1 100644 ---- a/win32/SciLexer.vcxproj -+++ b/win32/SciLexer.vcxproj -@@ -33,7 +33,7 @@ - - - -- DynamicLibrary -+ StaticLibrary - Unicode - v141 - --- +diff --git a/win32/Scintilla.vcxproj b/win32/Scintilla.vcxproj +index 82aa9b7..5eac42f 100644 +--- a/win32/Scintilla.vcxproj ++++ b/win32/Scintilla.vcxproj +@@ -34,7 +34,7 @@ + + + +- DynamicLibrary ++ StaticLibrary + Unicode + v143 + diff --git a/ports/scintilla/0002-static-crt.patch b/ports/scintilla/0002-static-crt.patch index 20268d7d9b2fef..cebe39cf52ed5e 100644 --- a/ports/scintilla/0002-static-crt.patch +++ b/ports/scintilla/0002-static-crt.patch @@ -1,37 +1,52 @@ -diff --git a/win32/SciLexer.vcxproj b/win32/SciLexer.vcxproj -index b2e993c..c8774f1 100644 ---- a/win32/SciLexer.vcxproj -+++ b/win32/SciLexer.vcxproj -@@ -88,6 +88,7 @@ - - _DEBUG;%(PreprocessorDefinitions) - stdcpp17 -+ MultiThreadedDebug - - - Default -@@ -97,6 +98,7 @@ - - _DEBUG;%(PreprocessorDefinitions) - stdcpp17 -+ MultiThreadedDebug - - - Default -@@ -117,6 +119,7 @@ - true - NDEBUG;%(PreprocessorDefinitions) - stdcpp17 -+ MultiThreaded - - - true -@@ -129,6 +132,7 @@ - true - NDEBUG;%(PreprocessorDefinitions) - stdcpp17 -+ MultiThreaded - - - true --- +diff --git a/win32/Scintilla.vcxproj b/win32/Scintilla.vcxproj +index 82aa9b7..6b6f340 100644 +--- a/win32/Scintilla.vcxproj ++++ b/win32/Scintilla.vcxproj +@@ -102,6 +102,7 @@ + + _DEBUG;%(PreprocessorDefinitions) + stdcpp17 ++ MultiThreadedDebug + + + Default +@@ -112,6 +113,7 @@ + + _DEBUG;%(PreprocessorDefinitions) + stdcpp17 ++ MultiThreadedDebug + + + Default +@@ -122,6 +124,7 @@ + + _DEBUG;%(PreprocessorDefinitions) + stdcpp17 ++ MultiThreadedDebug + + + Default +@@ -133,6 +136,7 @@ + true + NDEBUG;%(PreprocessorDefinitions) + stdcpp17 ++ MultiThreaded + + + true +@@ -146,6 +150,7 @@ + true + NDEBUG;%(PreprocessorDefinitions) + stdcpp17 ++ MultiThreaded + + + true +@@ -159,6 +164,7 @@ + true + NDEBUG;%(PreprocessorDefinitions) + stdcpp17 ++ MultiThreaded + + + true diff --git a/ports/scintilla/portfile.cmake b/ports/scintilla/portfile.cmake index d1e1f1b77631c3..6b42c8a3ecf122 100644 --- a/ports/scintilla/portfile.cmake +++ b/ports/scintilla/portfile.cmake @@ -1,9 +1,7 @@ -vcpkg_fail_port_install(ON_TARGET "Linux" "OSX" "UWP") - vcpkg_download_distfile(ARCHIVE - URLS "https://www.scintilla.org/scintilla446.zip" - FILENAME "scintilla446.zip" - SHA512 db6fa38283401497d8331f97dc5b57ea11d998988001f06b95892de769de5829b9f567635f3c1f2d9cfbc4384024d11666d28224ce90c5813ceef865b0dec255 + URLS "https://www.scintilla.org/scintilla551.zip" + FILENAME "scintilla551.zip" + SHA512 00a230cbdd6e41925eec71566143f4a0fc8e4a87eddb459e3b547835e0cc1a8773e450112468acddacebbf0d4252c9b7edc9d813804a144d6f090f96441b7e1b ) if (VCPKG_LIBRARY_LINKAGE STREQUAL "static") @@ -14,17 +12,17 @@ if(VCPKG_CRT_LINKAGE STREQUAL "static") list(APPEND PATCHES 0002-static-crt.patch) endif() -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH +vcpkg_extract_source_archive( + SOURCE_PATH ARCHIVE ${ARCHIVE} - REF 4.4.6 + SOURCE_BASE 5.5.0 PATCHES ${PATCHES} ) vcpkg_install_msbuild( - SOURCE_PATH ${SOURCE_PATH} - PROJECT_SUBPATH Win32/SciLexer.vcxproj - LICENSE_SUBPATH License.txt + SOURCE_PATH "${SOURCE_PATH}" + PROJECT_SUBPATH Win32/Scintilla.vcxproj ) -file(INSTALL ${SOURCE_PATH}/include/ DESTINATION ${CURRENT_PACKAGES_DIR}/include/${PORT} FILES_MATCHING PATTERN "*.*") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/License.txt") +file(INSTALL "${SOURCE_PATH}/include/" DESTINATION "${CURRENT_PACKAGES_DIR}/include/${PORT}" FILES_MATCHING PATTERN "*.*") diff --git a/ports/scintilla/vcpkg.json b/ports/scintilla/vcpkg.json index c223db6a0bc996..50cdc920d27a65 100644 --- a/ports/scintilla/vcpkg.json +++ b/ports/scintilla/vcpkg.json @@ -1,7 +1,14 @@ { "name": "scintilla", - "version": "4.4.6", + "version": "5.5.1", "description": "A free source code editing component for Win32, GTK+, and OS X", "homepage": "https://www.scintilla.org/", - "supports": "!(uwp | linux | osx)" + "supports": "!(uwp | linux | osx)", + "dependencies": [ + { + "name": "vcpkg-msbuild", + "host": true, + "platform": "windows" + } + ] } diff --git a/ports/sciplot/portfile.cmake b/ports/sciplot/portfile.cmake index c6a369eb6bc180..c2f57f0c9af1f3 100644 --- a/ports/sciplot/portfile.cmake +++ b/ports/sciplot/portfile.cmake @@ -1,22 +1,23 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO sciplot/sciplot - REF v0.2.2 - SHA512 2e7646e0fd52643bf86c09466d921d7b6a53349cd113e15177c3389654e0489df1d56f5fdcad7fc73834e632fff0a303d1366688ac7bb11937d49babd0742a7f + REF f8d779a1110b76c6bdc77edcdc7fa798156a6917 #v0.3.1 + SHA512 fa21895c637bc42071fbd951e1c2ee450798398863626e31015f106077de4ad17dc276d77f2f1a4a7679c055c8cd8caafea513d746ac7ddbb22a16cc9382f39a HEAD_REF vcpkg ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DSCIPLOT_BUILD_EXAMPLES=OFF + -DSCIPLOT_BUILD_TESTS=OFF + -DSCIPLOT_BUILD_DOCS=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/sciplot) +vcpkg_cmake_config_fixup(CONFIG_PATH share/sciplot) -vcpkg_copy_pdbs() +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) - -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/sciplot/vcpkg.json b/ports/sciplot/vcpkg.json index 0fdf43a09f7e65..bbe5ec72b9b68d 100644 --- a/ports/sciplot/vcpkg.json +++ b/ports/sciplot/vcpkg.json @@ -1,7 +1,19 @@ { "name": "sciplot", - "version": "0.2.2", + "version": "0.3.1", + "port-version": 1, "description": "A modern c++ scientific plotting library powered by gnuplot", "homepage": "https://github.com/sciplot/sciplot", - "supports": "!uwp" + "license": "MIT", + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/sciter-js/portfile.cmake b/ports/sciter-js/portfile.cmake index b9f438d5b97211..e6640a2188055b 100644 --- a/ports/sciter-js/portfile.cmake +++ b/ports/sciter-js/portfile.cmake @@ -6,8 +6,8 @@ endif() set(VCPKG_POLICY_DLLS_WITHOUT_LIBS enabled) -set(SCITER_REVISION d5a13ff197fed3af46d4bc931c158828eb61e357) -set(SCITER_SHA 5be2db9d2e5caa19be158020a084a246acd6dad2047062f603b3af4f3cdbdd7f7750b263ad6dfaa6c3667de6c51084fc2df75cd3cb8cd60501550377dded1928) +set(SCITER_REVISION 4adfde891e20cf33d73429b6922c9785f78522aa) +set(SCITER_SHA 598ea85e6927d46f5ccd043be15d9cd4933af229eef1522e6c9663837e59cc8f7af76a738d3e9047e7eadbd420e1929bd17e7df3fa9ed40902cf6865c824fc46) if(VCPKG_TARGET_ARCHITECTURE STREQUAL x64) set(SCITER_ARCH x64) @@ -17,11 +17,12 @@ else() message(FATAL_ERROR "Sciter only supports x86/x64") endif() -# check out the `https://github.com/c-smile/sciter-js-sdk/archive/${SCITER_REVISION}.tar.gz` +# check out the `https://gitlab.com/sciter-engine/sciter-js-sdk/-/archive/${SCITER_REVISION}/sciter-js-sdk-${SCITER_REVISION}.tar.gz` # hash checksum can be obtained with `curl -L -o tmp.tgz ${URL} && vcpkg hash tmp.tgz` -vcpkg_from_github( +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.com OUT_SOURCE_PATH SOURCE_PATH - REPO c-smile/sciter-js-sdk + REPO sciter-engine/sciter-js-sdk REF ${SCITER_REVISION} SHA512 ${SCITER_SHA} ) @@ -40,7 +41,7 @@ set(SCITER_TOOLS ${CURRENT_PACKAGES_DIR}/tools/sciter-js) set(TOOL_PERMS FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) # license -file(COPY ${SOURCE_PATH}/logfile.md DESTINATION ${SCITER_SHARE}) +file(COPY ${SOURCE_PATH}/CHANGELOG.md DESTINATION ${SCITER_SHARE}) file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${SCITER_SHARE} RENAME copyright) # tools @@ -94,8 +95,8 @@ elseif(VCPKG_TARGET_IS_WINDOWS) file(INSTALL ${SCITER_BIN}/scapp.exe DESTINATION ${SCITER_TOOLS}) file(INSTALL ${SCITER_BIN}/usciter.exe DESTINATION ${SCITER_TOOLS}) file(INSTALL ${SCITER_BIN}/inspector.exe DESTINATION ${SCITER_TOOLS}) + file(INSTALL ${SCITER_BIN}/window-mixin.exe DESTINATION ${SCITER_TOOLS}) file(INSTALL ${SCITER_BIN}/sciter.dll DESTINATION ${SCITER_TOOLS}) - file(INSTALL ${SCITER_BIN}/sciter-sqlite.dll DESTINATION ${SCITER_TOOLS}) if ("windowless" IN_LIST FEATURES) set(SCITER_BIN ${SOURCE_PATH}/bin.lite/windows/${SCITER_ARCH}) @@ -104,8 +105,6 @@ elseif(VCPKG_TARGET_IS_WINDOWS) file(INSTALL ${SCITER_BIN}/sciter.dll DESTINATION ${CURRENT_PACKAGES_DIR}/bin) file(INSTALL ${SCITER_BIN}/sciter.dll DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) - file(INSTALL ${SCITER_BIN}/sciter-sqlite.dll DESTINATION ${CURRENT_PACKAGES_DIR}/bin) - file(INSTALL ${SCITER_BIN}/sciter-sqlite.dll DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) - message(WARNING "Sciter requires manual deployment of the correct DLL files.") + endif() diff --git a/ports/sciter-js/vcpkg.json b/ports/sciter-js/vcpkg.json index 46e0121088d952..7d43a31477937e 100644 --- a/ports/sciter-js/vcpkg.json +++ b/ports/sciter-js/vcpkg.json @@ -1,8 +1,8 @@ { "name": "sciter-js", - "version-string": "4.4.8.16", + "version": "5.0.3.14", "description": "Sciter.JS - Sciter but with QuickJS on board instead of TIScript. Sciter is an embeddable HTML/CSS/scripting engine.", - "homepage": "https://github.com/c-smile/sciter-js-sdk", + "homepage": "https://gitlab.com/sciter-engine/sciter-js-sdk", "supports": "!uwp & !arm & !static", "features": { "windowless": { diff --git a/ports/sciter/portfile.cmake b/ports/sciter/portfile.cmake index 8c8fe9f83956b1..781259cb643138 100644 --- a/ports/sciter/portfile.cmake +++ b/ports/sciter/portfile.cmake @@ -6,7 +6,7 @@ Upstream has stopped active development of sciter and instead encourage users to Options for existing users are: 1. Depend upon `sciter-js` and change your code to work with the new library -2. Use `"overrides"` in manifest mode to pin to `"version-string": "4.4.8.3#1"` +2. Use `\"overrides\"` in manifest mode to pin to `\"version-string\": \"4.4.8.3#1\"` 3. Copy the last available `sciter` version into an overlay port (commit 756f1845537a916ba706f6af544b2f490c30fbb1 at subpath `ports/sciter`) 4. Use the community registry `https://github.com/VuYeK/vcpkg-registry` which may have newer versions of `sciter` available (not affiliated with Microsoft) ") diff --git a/ports/sciter/vcpkg.json b/ports/sciter/vcpkg.json index f0af85560ce818..fb5784988b9998 100644 --- a/ports/sciter/vcpkg.json +++ b/ports/sciter/vcpkg.json @@ -1,6 +1,7 @@ { "name": "sciter", - "version-string": "deprecated", + "version": "0", + "port-version": 1, "description": "Sciter is an embeddable HTML/CSS/scripting engine.", "homepage": "https://github.com/c-smile/sciter-sdk" } diff --git a/ports/scnlib/portfile.cmake b/ports/scnlib/portfile.cmake index 8f2bd29950b167..0b15af4f838737 100644 --- a/ports/scnlib/portfile.cmake +++ b/ports/scnlib/portfile.cmake @@ -1,32 +1,30 @@ -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO eliaskosunen/scnlib - REF v0.4 - SHA512 a7059e70326e7d5af463b4ae09308644f8035092776f44001c1a4abf78421f55084e2fc30c6a9778eda62014354dba7c31b3f2f2d333bad04a2ec48b1f812ca0 - HEAD_REF master -) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - -DSCN_TESTS=OFF - -DSCN_EXAMPLES=OFF - -DSCN_BENCHMARKS=OFF - -DSCN_DOCS=OFF - -DSCN_RANGES=OFF -) - -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/scn) - -file(REMOVE_RECURSE - ${CURRENT_PACKAGES_DIR}/debug/include - ${CURRENT_PACKAGES_DIR}/debug/share - ${CURRENT_PACKAGES_DIR}/share/scn) - -file(INSTALL ${SOURCE_PATH}/LICENSE - DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} - RENAME copyright) +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO eliaskosunen/scnlib + REF "v${VERSION}" + SHA512 db14d71da3c1ecb849f00ac1e334f39c532592230e950aa1009ff00ba56670cb71e33ca457fd4ac66595ff43f0dca0e42d45f672848b9cde3cba80f19ef8693f + HEAD_REF master +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DSCN_TESTS=OFF + -DSCN_EXAMPLES=OFF + -DSCN_BENCHMARKS=OFF + -DSCN_DOCS=OFF + -DSCN_USE_EXTERNAL_FAST_FLOAT=ON +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/scn) + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/share/scn" +) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/scnlib/vcpkg.json b/ports/scnlib/vcpkg.json index 04f4bd5e059b67..ec304e0ab54598 100644 --- a/ports/scnlib/vcpkg.json +++ b/ports/scnlib/vcpkg.json @@ -1,7 +1,18 @@ { "name": "scnlib", - "version-string": "0.4", - "port-version": 1, + "version": "4.0.1", "description": "scnlib is a modern C++ library for replacing scanf and std::istream", - "homepage": "https://scnlib.dev/" + "homepage": "https://scnlib.dev/", + "license": "Apache-2.0", + "dependencies": [ + "fast-float", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/scope-guard/portfile.cmake b/ports/scope-guard/portfile.cmake new file mode 100644 index 00000000000000..a9b9b1c7de8a14 --- /dev/null +++ b/ports/scope-guard/portfile.cmake @@ -0,0 +1,12 @@ +# Header-only library + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO ricab/scope_guard + REF "v${VERSION}" + SHA512 e2488bdfc14bd5696d3bd5909bb7355003f76258a4ab39778e17aedf338cb2ca548caf568fad93d51b602c891ba96a3c7b3ef6e21dcf4bd9cb595d01d5c063a8 + HEAD_REF main +) + +file(INSTALL "${SOURCE_PATH}/scope_guard.hpp" DESTINATION "${CURRENT_PACKAGES_DIR}/include") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/scope-guard/vcpkg.json b/ports/scope-guard/vcpkg.json new file mode 100644 index 00000000000000..18584ef615e239 --- /dev/null +++ b/ports/scope-guard/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "scope-guard", + "version-semver": "1.1.0", + "description": "A public, general, simple, and fast C++11 scope guard that defends against implicitly ignored returns and optionally enforces noexcept at compile time (in C++17), all in a SFINAE-friendly maner.", + "homepage": "https://github.com/ricab/scope_guard", + "license": "Unlicense" +} diff --git a/ports/scotch/fix-build.patch b/ports/scotch/fix-build.patch new file mode 100644 index 00000000000000..cbe27c311b884b --- /dev/null +++ b/ports/scotch/fix-build.patch @@ -0,0 +1,282 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ce3c5ba..b05667f 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -42,7 +42,7 @@ + ############################################################ + + cmake_minimum_required(VERSION 3.10) +-project(SCOTCH LANGUAGES C Fortran) ++project(SCOTCH LANGUAGES C) + + # Add module directory + list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/Modules) +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 1c05a82..fe7c106 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -105,9 +105,12 @@ endif() + + # Thread support in Scotch + if(THREADS) +- find_package(Threads) +- if(Threads_FOUND) ++set(USE_PTHREAD OFF) ++if(NOT WIN32) ++ find_package(Threads REQUIRED) ++ if(CMAKE_USE_PTHREADS_INIT) + add_definitions(-DCOMMON_PTHREAD -DSCOTCH_PTHREAD) ++ set(USE_PTHREAD ON) + endif() + if(CMAKE_USE_WIN32_THREADS_INIT) + add_definitions(-DCOMMON_THREAD_WIN32) +@@ -116,6 +119,12 @@ if(THREADS) + if(PTHREAD_AFFINITY_LINUX_OK) + add_definitions(-DCOMMON_PTHREAD_AFFINITY_LINUX) + endif() ++else() ++ find_package(PThreads4W REQUIRED) ++ add_definitions(-DCOMMON_PTHREAD -DSCOTCH_PTHREAD) ++ link_libraries(PThreads4W::PThreads4W) ++ set(USE_PTHREAD ON) ++endif() + endif() + + # decompression libs +diff --git a/src/libscotch/CMakeLists.txt b/src/libscotch/CMakeLists.txt +index f314d3a..27e466f 100644 +--- a/src/libscotch/CMakeLists.txt ++++ b/src/libscotch/CMakeLists.txt +@@ -509,6 +509,22 @@ set(SCOTCH_C_SOURCES + wgraph_part_zr.h + wgraph_store.c) + ++add_library(scotcherr library_error.c) ++target_include_directories(scotcherr PUBLIC ++ $ ++ $ ++ $) ++ ++add_dependencies(scotcherr scotch_h) ++ ++add_library(scotcherrexit library_error_exit.c) ++target_include_directories(scotcherrexit PUBLIC ++ $ ++ $ ++ $) ++ ++add_dependencies(scotcherrexit scotch_h) ++ + add_library(scotch + ${SCOTCH_C_SOURCES}) + set_target_properties(scotch PROPERTIES VERSION ${SCOTCH_VERSION_LONG} +@@ -551,10 +567,14 @@ if(LIBLZMA_FOUND) + endif() + + # Add thread library +-if(Threads_FOUND) +- target_compile_definitions(scotch PRIVATE COMMON_PTHREAD SCOTCH_PTHREAD) +- target_link_libraries(scotch PRIVATE Threads::Threads ${THREADS_PTHREADS_WIN32_LIBRARY}) +-endif(Threads_FOUND) ++if(USE_PTHREAD) ++ target_compile_definitions(scotch PUBLIC COMMON_PTHREAD SCOTCH_PTHREAD) ++ if(NOT WIN32) ++ target_link_libraries(scotch PUBLIC Threads::Threads) ++ else() ++ target_link_libraries(scotch PUBLIC PThreads4W::PThreads4W) ++ endif() ++endif(USE_PTHREAD) + + # Include files + add_dependencies(scotch scotch_h scotchf_h) +@@ -567,25 +587,7 @@ if(CMAKE_BUILD_TYPE STREQUAL Debug) + target_compile_definitions(scotch PRIVATE SCOTCH_DEBUG_LIBRARY1) + endif() + +-add_library(scotcherr library_error.c) +-set_target_properties(scotcherr PROPERTIES VERSION ${SCOTCH_VERSION_LONG} +- SOVERSION ${SCOTCH_VERSION}.${SCOTCH_RELEASE}) +-target_include_directories(scotcherr PUBLIC +- $ +- $ +- $) +- +-add_dependencies(scotcherr scotch_h) +- +-add_library(scotcherrexit library_error_exit.c) +-set_target_properties(scotcherrexit PROPERTIES VERSION ${SCOTCH_VERSION_LONG} +- SOVERSION ${SCOTCH_VERSION}.${SCOTCH_RELEASE}) +-target_include_directories(scotcherrexit PUBLIC +- $ +- $ +- $) +- +-add_dependencies(scotcherrexit scotch_h) ++target_link_libraries(scotch PRIVATE scotcherr) + + ################# + # libPTScotch # +@@ -786,10 +788,14 @@ if(BUILD_PTSCOTCH) + set_target_properties(ptscotch PROPERTIES LINK_FLAGS "-undefined dynamic_lookup") + endif(APPLE) + +- if(Threads_FOUND) +- target_compile_definitions(ptscotch PRIVATE SCOTCH_PTHREAD COMMON_PTHREAD) +- target_link_libraries(ptscotch PRIVATE Threads::Threads ${THREADS_PTHREADS_WIN32_LIBRARY}) +- endif(Threads_FOUND) ++ if(USE_PTHREAD) ++ target_compile_definitions(ptscotch PUBLIC COMMON_PTHREAD SCOTCH_PTHREAD) ++ if(NOT WIN32) ++ target_link_libraries(ptscotch PUBLIC Threads::Threads) ++ else() ++ target_link_libraries(ptscotch PUBLIC PThreads4W::PThreads4W) ++ endif() ++ endif(USE_PTHREAD) + + add_library(ptscotcherr library_error.c) + set_target_properties(ptscotcherr PROPERTIES VERSION ${SCOTCH_VERSION_LONG} +diff --git a/src/libscotch/common_file_compress.c b/src/libscotch/common_file_compress.c +index 5255cdc..5f60dc8 100644 +--- a/src/libscotch/common_file_compress.c ++++ b/src/libscotch/common_file_compress.c +@@ -378,8 +378,11 @@ FileCompress * const compptr) + encodat.avail_out = FILECOMPRESSDATASIZE; + do { + if ((encodat.avail_in == 0) && (enacval == LZMA_RUN)) { ++#ifdef _MSC_VER ++ int bytenbr; //According to MSDN _read only returns int ++#else + ssize_t bytenbr; +- ++#endif + bytenbr = read (compptr->infdnum, compptr->bufftab, FILECOMPRESSDATASIZE); /* Read from pipe */ + if (bytenbr < 0) { + errorPrint ("fileCompressLzma: cannot read"); +diff --git a/src/libscotch/common_file_decompress.c b/src/libscotch/common_file_decompress.c +index 6e80222..3048d90 100644 +--- a/src/libscotch/common_file_decompress.c ++++ b/src/libscotch/common_file_decompress.c +@@ -373,7 +373,11 @@ FileCompress * const compptr) + decodat.avail_out = FILECOMPRESSDATASIZE; + do { + if ((decodat.avail_in == 0) && (deacval == LZMA_RUN)) { ++#ifdef _MSC_VER ++ size_t bytenbr; //According to MSDN fread returns size_t ++#else + ssize_t bytenbr; ++#endif + + bytenbr = fread (compptr->bufftab, 1, FILECOMPRESSDATASIZE, compptr->oustptr); /* Read from pipe */ + if (ferror (compptr->oustptr)) { +diff --git a/src/libscotch/common_thread.h b/src/libscotch/common_thread.h +index a8d3284..2e9ae28 100644 +--- a/src/libscotch/common_thread.h ++++ b/src/libscotch/common_thread.h +@@ -82,6 +82,8 @@ struct ThreadContext_ { + int dummval; /*+ Dummy value if no affinity enabled +*/ + #ifdef COMMON_PTHREAD_AFFINITY_LINUX + cpu_set_t cpusdat; /*+ Original thread mask of main thread +*/ ++#else ++ void* dummy; + #endif /* COMMON_PTHREAD_AFFINITY_LINUX */ + } savedat; /*+ Save area for affinity mask +*/ + #endif /* COMMON_PTHREAD */ +diff --git a/src/libscotch/context.c b/src/libscotch/context.c +index fbd8cbc..95e050a 100644 +--- a/src/libscotch/context.c ++++ b/src/libscotch/context.c +@@ -70,8 +70,11 @@ static struct ContextValuesData_ { + #else /* ((defined SCOTCH_DETERMINISTIC) || (defined COMMON_RANDOM_FIXED_SEED)) */ + 0 + #endif /* ((defined SCOTCH_DETERMINISTIC) || (defined COMMON_RANDOM_FIXED_SEED)) */ +- }, { -1.0 } }; /* Temporary hack: dummy value since ISO C does not accept zero-sized arrays */ +- ++ } ++#ifndef _MSC_VER ++ , { } ++#endif ++ }; + /***********************************/ + /* */ + /* These routines handle contexts. */ +@@ -89,6 +92,6 @@ contextOptionsInit ( + Context * const contptr) + { + return (contextValuesInit (contptr, &contextvaluesdat, sizeof (contextvaluesdat), +- CONTEXTOPTIONNUMNBR, (byte *) &contextvaluesdat.vinttab - (byte *) &contextvaluesdat, +- CONTEXTOPTIONDBLNBR, (byte *) &contextvaluesdat.vdbltab - (byte *) &contextvaluesdat)); ++ CONTEXTOPTIONNUMNBR, (char *) &contextvaluesdat.vinttab - (char *) &contextvaluesdat, ++ CONTEXTOPTIONDBLNBR, (char *) &contextvaluesdat.vdbltab - (char *) &contextvaluesdat)); + } +diff --git a/src/libscotch/parser_ll.l b/src/libscotch/parser_ll.l +index d655669..c535e2e 100644 +--- a/src/libscotch/parser_ll.l ++++ b/src/libscotch/parser_ll.l +@@ -95,6 +95,10 @@ + %option noyywrap + %option reentrant + ++/* To support build on Windows */ ++%option nounistd ++ ++ + IDENT [A-Za-z][0-9A-Za-z]* + INTEGER [0-9]+ + FLOAT [0-9]+(\.[0-9]+)?([Ee][-+]?[0-9]+)? +diff --git a/src/libscotch/parser_yy.y b/src/libscotch/parser_yy.y +index 2350980..77faadd 100644 +--- a/src/libscotch/parser_yy.y ++++ b/src/libscotch/parser_yy.y +@@ -81,6 +81,9 @@ typedef void * YY_BUFFER_STATE; /* The same; Flex and Bison de + ** The defines and includes (bis). + */ + ++#ifdef _MSC_VER ++#define YY_NO_UNISTD_H ++#endif + #include "parser.h" + #include "parser_yy.h" + #include "parser_ly.h" +diff --git a/src/scotch/CMakeLists.txt b/src/scotch/CMakeLists.txt +index d706637..79e2be1 100644 +--- a/src/scotch/CMakeLists.txt ++++ b/src/scotch/CMakeLists.txt +@@ -67,10 +67,15 @@ function(add_scotch_exe) + add_dependencies(${file_we} scotch_h) + target_include_directories(${file_we} PRIVATE ${GENERATED_INCLUDE_DIR}) + target_compile_definitions(${file_we} PUBLIC "SCOTCH_CODENAME=\"${SCOTCH_CODENAME}\"") +- if(Threads_FOUND) +- target_compile_definitions(${file_we} PUBLIC SCOTCH_PTHREAD COMMON_PTHREAD) +- target_link_libraries(${file_we} PUBLIC Threads::Threads ${THREADS_PTHREADS_WIN32_LIBRARY}) +- endif(Threads_FOUND) ++ ++ if(USE_PTHREAD) ++ target_compile_definitions(${file_we} PUBLIC COMMON_PTHREAD SCOTCH_PTHREAD) ++ if(NOT WIN32) ++ target_link_libraries(${file_we} PUBLIC Threads::Threads) ++ else() ++ target_link_libraries(${file_we} PUBLIC PThreads4W::PThreads4W) ++ endif() ++ endif(USE_PTHREAD) + target_link_libraries(${file_we} PUBLIC scotch scotcherrexit) + endfunction(add_scotch_exe) + +@@ -144,10 +149,14 @@ if(BUILD_PTSCOTCH) + ${GENERATED_INCLUDE_DIR}/ptscotch.h) + add_dependencies(${file_we} ptscotch_h) + target_compile_definitions(${file_we} PUBLIC "SCOTCH_CODENAME=\"${SCOTCH_CODENAME}\"") +- if(Threads_FOUND) +- target_compile_definitions(${file_we} PUBLIC SCOTCH_PTHREAD COMMON_PTHREAD) +- target_link_libraries(${file_we} PUBLIC Threads::Threads ${THREADS_PTHREADS_WIN32_LIBRARY}) +- endif(Threads_FOUND) ++ if(USE_PTHREAD) ++ target_compile_definitions(${file_we} PUBLIC COMMON_PTHREAD SCOTCH_PTHREAD) ++ if(NOT WIN32) ++ target_link_libraries(${file_we} PUBLIC Threads::Threads) ++ else() ++ target_link_libraries(${file_we} PUBLIC PThreads4W::PThreads4W) ++ endif() ++ endif(USE_PTHREAD) + target_include_directories(${file_we} PRIVATE ${GENERATED_INCLUDE_DIR}) + target_link_libraries(${file_we} PUBLIC scotch ptscotch ptscotcherrexit) + endfunction(add_ptscotch_exe) diff --git a/ports/scotch/portfile.cmake b/ports/scotch/portfile.cmake new file mode 100644 index 00000000000000..fa6bba63559396 --- /dev/null +++ b/ports/scotch/portfile.cmake @@ -0,0 +1,56 @@ +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.inria.fr/ + OUT_SOURCE_PATH SOURCE_PATH + REPO scotch/scotch + REF "v${VERSION}" + SHA512 9566ca800fd47df63844df6ff8b0fbbe8efbdea549914dfe9bf00d3d104a8c5631cfbef69e2677de68dcdb93addaeed158e6f6a373b5afe8cec82ac358946b65 + HEAD_REF master + PATCHES fix-build.patch +) + +vcpkg_find_acquire_program(FLEX) +cmake_path(GET FLEX PARENT_PATH FLEX_DIR) +vcpkg_add_to_path("${FLEX_DIR}") + +vcpkg_find_acquire_program(BISON) +cmake_path(GET BISON PARENT_PATH BISON_DIR) +vcpkg_add_to_path("${BISON_DIR}") + +if(VCPKG_TARGET_IS_WINDOWS) + #Uses gcc intrinsics otherwise + string(APPEND VCPKG_C_FLAGS " -DGRAPHMATCHNOTHREAD") + string(APPEND VCPKG_CXX_FLAGS " -DGRAPHMATCHNOTHREAD") +endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_PTSCOTCH=OFF # Requires MPI + -DBUILD_LIBESMUMPS=OFF + -DBUILD_LIBSCOTCHMETIS=OFF + -DTHREADS=ON + -DMPI_THREAD_MULTIPLE=OFF +) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/scotch") +vcpkg_copy_tools(TOOL_NAMES + acpl amk_ccc amk_fft2 amk_grf amk_hy + amk_m2 amk_p2 atst gbase gcv gmap gmk_hy + gmk_m2 gmk_m3 gmk_msh gmk_ub2 gmtst + gord gotst gscat gtst mcv mmk_m2 mmk_m3 + mord mtst + AUTO_CLEAN + ) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/doc/CeCILL-C_V1-en.txt") + +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/scotch/SCOTCHConfig.cmake" "find_dependency(Threads)" "if(NOT WIN32)\nfind_dependency(Threads)\nelse()\nfind_dependency(PThreads4W)\nendif()") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/man" + "${CURRENT_PACKAGES_DIR}/man" + "${CURRENT_PACKAGES_DIR}/debug/share" + ) diff --git a/ports/scotch/vcpkg.json b/ports/scotch/vcpkg.json new file mode 100644 index 00000000000000..16229cdfdb603a --- /dev/null +++ b/ports/scotch/vcpkg.json @@ -0,0 +1,22 @@ +{ + "name": "scotch", + "version": "7.0.5", + "description": "Scotch: a software package for graph and mesh/hypergraph partitioning, graph clustering, and sparse matrix ordering", + "homepage": "https://gitlab.inria.fr/scotch/scotch", + "license": null, + "supports": "!arm & !uwp & !android & !osx", + "dependencies": [ + "bzip2", + "liblzma", + "pthread", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "zlib" + ] +} diff --git a/ports/scylla-wrapper/portfile.cmake b/ports/scylla-wrapper/portfile.cmake index 03dfbb6f921cbb..f883451b5f3016 100644 --- a/ports/scylla-wrapper/portfile.cmake +++ b/ports/scylla-wrapper/portfile.cmake @@ -9,21 +9,20 @@ vcpkg_from_bitbucket( HEAD_REF master ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") file(REMOVE - ${SOURCE_PATH}/scylla_wrapper_dll/distorm.h - ${SOURCE_PATH}/scylla_wrapper_dll/distorm_x64.lib - ${SOURCE_PATH}/scylla_wrapper_dll/distorm_x86.lib + "${SOURCE_PATH}/scylla_wrapper_dll/distorm.h" + "${SOURCE_PATH}/scylla_wrapper_dll/distorm_x64.lib" + "${SOURCE_PATH}/scylla_wrapper_dll/distorm_x86.lib" ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -file(INSTALL ${SOURCE_PATH}/README.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/scylla-wrapper RENAME copyright) +file(INSTALL "${SOURCE_PATH}/README.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/scylla-wrapper/vcpkg.json b/ports/scylla-wrapper/vcpkg.json index 6bceab9f7a8846..2b3ff60aa66c07 100644 --- a/ports/scylla-wrapper/vcpkg.json +++ b/ports/scylla-wrapper/vcpkg.json @@ -1,9 +1,14 @@ { "name": "scylla-wrapper", - "version-string": "2018-08-26-16e6f435", - "port-version": 1, + "version": "2018-08-26-16e6f435", + "port-version": 3, "description": "This is a wrapper around Scylla. It exports functions for IAT fixing, dumping and PE rebuilding. based on https://github.com/NtQuery/Scylla commit 0f6b7198be (v0.9.6b).", + "supports": "windows & !uwp & !arm & !static", "dependencies": [ - "distorm" + "distorm", + { + "name": "vcpkg-cmake", + "host": true + } ] } diff --git a/ports/sdbus-cpp/portfile.cmake b/ports/sdbus-cpp/portfile.cmake new file mode 100644 index 00000000000000..163df30c148f8e --- /dev/null +++ b/ports/sdbus-cpp/portfile.cmake @@ -0,0 +1,36 @@ +message(WARNING "You will need to install sytemd dependencies to build sdbus-cpp:\nsudo apt install libsystemd-dev\n") + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Kistler-Group/sdbus-cpp + REF "v${VERSION}" + SHA512 638453d2ea0d5ba556eacda59ca114896bf275d227b33b525259bf69dac3d766df6586046e6ea83a8c1afe9fb0701f4d358819ed9300bab598e775a0a2880917 +) + + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + tool SDBUSCPP_BUILD_CODEGEN +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} + -DSDBUSCPP_BUILD_LIBSYSTEMD=OFF +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME sdbus-c++ CONFIG_PATH lib/cmake/sdbus-c++) +vcpkg_fixup_pkgconfig() +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/debug/bin" +) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING" "${SOURCE_PATH}/COPYING-LGPL-Exception") +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") + +if ("tool" IN_LIST FEATURES) + vcpkg_copy_tools(TOOL_NAMES sdbus-c++-xml2cpp AUTO_CLEAN) +endif() diff --git a/ports/sdbus-cpp/usage b/ports/sdbus-cpp/usage new file mode 100644 index 00000000000000..bea252a66784da --- /dev/null +++ b/ports/sdbus-cpp/usage @@ -0,0 +1,3 @@ +sdbus-cpp provides CMake targets: + find_package(sdbus-c++ REQUIRED) + target_link_libraries(main PRIVATE SDBusCpp::sdbus-c++) diff --git a/ports/sdbus-cpp/vcpkg.json b/ports/sdbus-cpp/vcpkg.json new file mode 100644 index 00000000000000..6e327ed77dabd3 --- /dev/null +++ b/ports/sdbus-cpp/vcpkg.json @@ -0,0 +1,28 @@ +{ + "name": "sdbus-cpp", + "version": "2.0.0", + "description": "High-level C++ D-Bus library for Linux designed to provide easy-to-use yet powerful API in modern C++", + "homepage": "https://github.com/Kistler-Group/sdbus-cpp", + "license": "LGPL-2.1-only", + "supports": "linux", + "dependencies": [ + "dbus", + "libsystemd", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "tool": { + "description": "build C++ codegen tool", + "dependencies": [ + "expat" + ] + } + } +} diff --git a/ports/sdformat10/fix-quote.patch b/ports/sdformat10/fix-quote.patch new file mode 100644 index 00000000000000..6a8495c179a840 --- /dev/null +++ b/ports/sdformat10/fix-quote.patch @@ -0,0 +1,85 @@ +diff --git a/cmake/FindSSE.cmake b/cmake/FindSSE.cmake +index cdbcfcc..0339a17 100644 +--- a/cmake/FindSSE.cmake ++++ b/cmake/FindSSE.cmake +@@ -5,7 +5,7 @@ IF (ARCH MATCHES "i386" OR ARCH MATCHES "x86_64") + IF(CMAKE_SYSTEM_NAME MATCHES "Linux") + EXEC_PROGRAM(cat ARGS "/proc/cpuinfo" OUTPUT_VARIABLE CPUINFO) + +- STRING(REGEX REPLACE "^.*(sse2).*$" "\\1" SSE_THERE ${CPUINFO}) ++ STRING(REGEX REPLACE "^.*(sse2).*$" "\\1" SSE_THERE "${CPUINFO}") + STRING(COMPARE EQUAL "sse2" "${SSE_THERE}" SSE2_TRUE) + IF (SSE2_TRUE) + set(SSE2_FOUND true CACHE BOOL "SSE2 available on host") +@@ -14,14 +14,14 @@ IF (ARCH MATCHES "i386" OR ARCH MATCHES "x86_64") + ENDIF (SSE2_TRUE) + + # /proc/cpuinfo apparently omits sse3 :( +- STRING(REGEX REPLACE "^.*[^s](sse3).*$" "\\1" SSE_THERE ${CPUINFO}) ++ STRING(REGEX REPLACE "^.*[^s](sse3).*$" "\\1" SSE_THERE "${CPUINFO}") + STRING(COMPARE EQUAL "sse3" "${SSE_THERE}" SSE3_TRUE) + IF (NOT SSE3_TRUE) +- STRING(REGEX REPLACE "^.*(T2300).*$" "\\1" SSE_THERE ${CPUINFO}) ++ STRING(REGEX REPLACE "^.*(T2300).*$" "\\1" SSE_THERE "${CPUINFO}") + STRING(COMPARE EQUAL "T2300" "${SSE_THERE}" SSE3_TRUE) + ENDIF (NOT SSE3_TRUE) + +- STRING(REGEX REPLACE "^.*(ssse3).*$" "\\1" SSE_THERE ${CPUINFO}) ++ STRING(REGEX REPLACE "^.*(ssse3).*$" "\\1" SSE_THERE "${CPUINFO}") + STRING(COMPARE EQUAL "ssse3" "${SSE_THERE}" SSSE3_TRUE) + IF (SSE3_TRUE OR SSSE3_TRUE) + set(SSE3_FOUND true CACHE BOOL "SSE3 available on host") +@@ -34,7 +34,7 @@ IF (ARCH MATCHES "i386" OR ARCH MATCHES "x86_64") + set(SSSE3_FOUND false CACHE BOOL "SSSE3 available on host") + ENDIF (SSSE3_TRUE) + +- STRING(REGEX REPLACE "^.*(sse4_1).*$" "\\1" SSE_THERE ${CPUINFO}) ++ STRING(REGEX REPLACE "^.*(sse4_1).*$" "\\1" SSE_THERE "${CPUINFO}") + STRING(COMPARE EQUAL "sse4_1" "${SSE_THERE}" SSE41_TRUE) + IF (SSE41_TRUE) + set(SSE4_1_FOUND true CACHE BOOL "SSE4.1 available on host") +@@ -42,7 +42,7 @@ IF (ARCH MATCHES "i386" OR ARCH MATCHES "x86_64") + set(SSE4_1_FOUND false CACHE BOOL "SSE4.1 available on host") + ENDIF (SSE41_TRUE) + +- STRING(REGEX REPLACE "^.*(sse4_2).*$" "\\1" SSE_THERE ${CPUINFO}) ++ STRING(REGEX REPLACE "^.*(sse4_2).*$" "\\1" SSE_THERE "${CPUINFO}") + STRING(COMPARE EQUAL "sse4_2" "${SSE_THERE}" SSE42_TRUE) + IF (SSE42_TRUE) + set(SSE4_2_FOUND true CACHE BOOL "SSE4.2 available on host") +@@ -54,7 +54,7 @@ IF (ARCH MATCHES "i386" OR ARCH MATCHES "x86_64") + EXEC_PROGRAM("/usr/sbin/sysctl -n machdep.cpu.features" OUTPUT_VARIABLE + CPUINFO) + +- STRING(REGEX REPLACE "^.*[^S](SSE2).*$" "\\1" SSE_THERE ${CPUINFO}) ++ STRING(REGEX REPLACE "^.*[^S](SSE2).*$" "\\1" SSE_THERE "${CPUINFO}") + STRING(COMPARE EQUAL "SSE2" "${SSE_THERE}" SSE2_TRUE) + IF (SSE2_TRUE) + set(SSE2_FOUND true CACHE BOOL "SSE2 available on host") +@@ -62,7 +62,7 @@ IF (ARCH MATCHES "i386" OR ARCH MATCHES "x86_64") + set(SSE2_FOUND false CACHE BOOL "SSE2 available on host") + ENDIF (SSE2_TRUE) + +- STRING(REGEX REPLACE "^.*[^S](SSE3).*$" "\\1" SSE_THERE ${CPUINFO}) ++ STRING(REGEX REPLACE "^.*[^S](SSE3).*$" "\\1" SSE_THERE "${CPUINFO}") + STRING(COMPARE EQUAL "SSE3" "${SSE_THERE}" SSE3_TRUE) + IF (SSE3_TRUE) + set(SSE3_FOUND true CACHE BOOL "SSE3 available on host") +@@ -70,7 +70,7 @@ IF (ARCH MATCHES "i386" OR ARCH MATCHES "x86_64") + set(SSE3_FOUND false CACHE BOOL "SSE3 available on host") + ENDIF (SSE3_TRUE) + +- STRING(REGEX REPLACE "^.*(SSSE3).*$" "\\1" SSE_THERE ${CPUINFO}) ++ STRING(REGEX REPLACE "^.*(SSSE3).*$" "\\1" SSE_THERE "${CPUINFO}") + STRING(COMPARE EQUAL "SSSE3" "${SSE_THERE}" SSSE3_TRUE) + IF (SSSE3_TRUE) + set(SSSE3_FOUND true CACHE BOOL "SSSE3 available on host") +@@ -78,7 +78,7 @@ IF (ARCH MATCHES "i386" OR ARCH MATCHES "x86_64") + set(SSSE3_FOUND false CACHE BOOL "SSSE3 available on host") + ENDIF (SSSE3_TRUE) + +- STRING(REGEX REPLACE "^.*(SSE4.1).*$" "\\1" SSE_THERE ${CPUINFO}) ++ STRING(REGEX REPLACE "^.*(SSE4.1).*$" "\\1" SSE_THERE "${CPUINFO}") + STRING(COMPARE EQUAL "SSE4.1" "${SSE_THERE}" SSE41_TRUE) + IF (SSE41_TRUE) + set(SSE4_1_FOUND true CACHE BOOL "SSE4.1 available on host") diff --git a/ports/sdformat10/no-absolute.patch b/ports/sdformat10/no-absolute.patch new file mode 100644 index 00000000000000..4b5315365c99b1 --- /dev/null +++ b/ports/sdformat10/no-absolute.patch @@ -0,0 +1,38 @@ +diff --git a/cmake/sdf_config.h.in b/cmake/sdf_config.h.in +index 52408866..bd541701 100644 +--- a/cmake/sdf_config.h.in ++++ b/cmake/sdf_config.h.in +@@ -32,6 +32,3 @@ + #cmakedefine HAVE_URDFDOM 1 + #cmakedefine USE_INTERNAL_URDF 1 + #cmakedefine SDFORMAT_DISABLE_CONSOLE_LOGFILE 1 +- +-#define SDF_SHARE_PATH "${CMAKE_INSTALL_FULL_DATAROOTDIR}/" +-#define SDF_VERSION_PATH "${CMAKE_INSTALL_FULL_DATAROOTDIR}/sdformat${SDF_MAJOR_VERSION}/${SDF_PKG_VERSION}" +diff --git a/src/SDF.cc b/src/SDF.cc +index 20dcd4c6..802cbde3 100644 +--- a/src/SDF.cc ++++ b/src/SDF.cc +@@ -98,22 +98,6 @@ std::string findFile(const std::string &_filename, bool _searchLocalPath, + filename = filename.substr(idx + sep.length()); + } + +- // Next check the install path. +- path = sdf::filesystem::append(SDF_SHARE_PATH, filename); +- if (sdf::filesystem::exists(path)) +- { +- return path; +- } +- +- // Next check the versioned install path. +- path = sdf::filesystem::append(SDF_SHARE_PATH, +- "sdformat" SDF_MAJOR_VERSION_STR, +- sdf::SDF::Version(), filename); +- if (sdf::filesystem::exists(path)) +- { +- return path; +- } +- + // Next check to see if the given file exists. + path = filename; + if (sdf::filesystem::exists(path)) diff --git a/ports/sdformat10/portfile.cmake b/ports/sdformat10/portfile.cmake index d4166962f450c3..2f316d2201cfa9 100644 --- a/ports/sdformat10/portfile.cmake +++ b/ports/sdformat10/portfile.cmake @@ -1,4 +1,4 @@ -vcpkg_fail_port_install(ON_TARGET "uwp") +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH @@ -6,6 +6,9 @@ vcpkg_from_github( REF sdformat10_10.0.0 SHA512 1caf98427d25e7c17bfacaab20382c573fac0c965b40ad0c5e0efd32ddfdaa20250d8c79ecf574989ba10b1feb884a9df3927b18ec2cd88f7c66b4d8194bc731 HEAD_REF sdf10 + PATCHES + fix-quote.patch + no-absolute.patch ) # Ruby is required by the sdformat build process @@ -14,28 +17,27 @@ get_filename_component(RUBY_PATH ${RUBY} DIRECTORY) set(_path $ENV{PATH}) vcpkg_add_to_path(${RUBY_PATH}) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_TESTING=OFF -DUSE_EXTERNAL_URDF=ON -DUSE_EXTERNAL_TINYXML=ON ) -vcpkg_install_cmake() +vcpkg_cmake_install() # Restore original path -set(ENV{PATH} ${_path}) +set(ENV{PATH} "${_path}") # Fix cmake targets and pkg-config file location -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/sdformat10") +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/sdformat10") vcpkg_fixup_pkgconfig() # Remove debug files -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include - ${CURRENT_PACKAGES_DIR}/debug/lib/cmake - ${CURRENT_PACKAGES_DIR}/debug/share) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/lib/cmake" + "${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/sdformat10/vcpkg.json b/ports/sdformat10/vcpkg.json index d7d3d8f242c62e..4fd12c04519ca4 100644 --- a/ports/sdformat10/vcpkg.json +++ b/ports/sdformat10/vcpkg.json @@ -1,13 +1,21 @@ { "name": "sdformat10", - "version-string": "10.0.0", - "port-version": 1, + "version": "10.0.0", + "port-version": 5, "description": "Simulation Description Format (SDF) parser and description files.", "homepage": "http://sdformat.org/", - "supports": "!uwp", + "supports": "!uwp & !(arm & osx)", "dependencies": [ "ignition-math6", "tinyxml2", - "urdfdom" + "urdfdom", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/sdformat13/cmake-config.patch b/ports/sdformat13/cmake-config.patch new file mode 100644 index 00000000000000..34970b6dc6bd98 --- /dev/null +++ b/ports/sdformat13/cmake-config.patch @@ -0,0 +1,23 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 3465a8f..2b57440 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -26,6 +26,7 @@ else() + target_link_libraries(using_parser_urdf INTERFACE + GzURDFDOM::GzURDFDOM) + endif() ++install(TARGETS using_parser_urdf EXPORT ${PROJECT_LIBRARY_TARGET_NAME} COMPONENT libraries) + + if (BUILD_TESTING) + # Build this test file only if Gazebo Tools is installed. + +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -58,6 +58,6 @@ + if (NOT DEFINED USE_INTERNAL_URDF OR NOT USE_INTERNAL_URDF) +- gz_find_package(GzURDFDOM VERSION 1.0 QUIET) ++ gz_find_package(GzURDFDOM) + if (NOT GzURDFDOM_FOUND) + if (NOT DEFINED USE_INTERNAL_URDF) + # fallback to internal urdf + set(USE_INTERNAL_URDF ON) diff --git a/ports/sdformat13/fix-find-urdfdom.patch b/ports/sdformat13/fix-find-urdfdom.patch new file mode 100644 index 00000000000000..4593b083d3b629 --- /dev/null +++ b/ports/sdformat13/fix-find-urdfdom.patch @@ -0,0 +1,24 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e797e8a..0f652d7 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -56,7 +56,18 @@ if (BUILD_SDF) + # 2. if USE_INTERNAL_URDF is set to True, use the internal copy + # 3. if USE_INTERNAL_URDF is set to False, force to search system installation, fail on error + if (NOT DEFINED USE_INTERNAL_URDF OR NOT USE_INTERNAL_URDF) +- gz_find_package(GzURDFDOM) ++ find_package(urdfdom CONFIG REQUIRED) ++ add_library(GzURDFDOM::GzURDFDOM INTERFACE IMPORTED) ++ target_link_libraries(GzURDFDOM::GzURDFDOM ++ INTERFACE ++ urdfdom::urdfdom_model ++ urdfdom::urdfdom_world ++ urdfdom::urdfdom_sensor ++ urdfdom::urdfdom_model_state ++ ) ++ include(FindPackageHandleStandardArgs) ++ find_package_handle_standard_args(GzURDFDOM DEFAULT_MSG) ++ + if (NOT GzURDFDOM_FOUND) + if (NOT DEFINED USE_INTERNAL_URDF) + # fallback to internal urdf diff --git a/ports/sdformat13/no-absolute.patch b/ports/sdformat13/no-absolute.patch new file mode 100644 index 00000000000000..d39403e86e8a1c --- /dev/null +++ b/ports/sdformat13/no-absolute.patch @@ -0,0 +1,40 @@ +diff --git a/include/sdf/config.hh.in b/include/sdf/config.hh.in +index d1b3db53..9a9ce91d 100644 +--- a/include/sdf/config.hh.in ++++ b/include/sdf/config.hh.in +@@ -48,5 +48,3 @@ + #cmakedefine SDFORMAT_DISABLE_CONSOLE_LOGFILE 1 + +-#define SDF_SHARE_PATH "${CMAKE_INSTALL_FULL_DATAROOTDIR}/" +-#define SDF_VERSION_PATH "${CMAKE_INSTALL_FULL_DATAROOTDIR}/sdformat${SDF_MAJOR_VERSION}/${SDF_PKG_VERSION}" + +diff --git a/src/SDF.cc b/src/SDF.cc +index 07056d7..57e8a2c 100644 +--- a/src/SDF.cc ++++ b/src/SDF.cc +@@ -108,24 +108,8 @@ std::string findFile(const std::string &_filename, bool _searchLocalPath, + } + } + +- // Next check the install path. +- std::string path = sdf::filesystem::append(SDF_SHARE_PATH, filename); +- if (sdf::filesystem::exists(path)) +- { +- return path; +- } +- +- // Next check the versioned install path. +- path = sdf::filesystem::append(SDF_SHARE_PATH, +- "sdformat" SDF_MAJOR_VERSION_STR, +- sdf::SDF::Version(), filename); +- if (sdf::filesystem::exists(path)) +- { +- return path; +- } +- + // Finally check to see if the given file exists. +- path = filename; ++ std::string path = filename; + if (sdf::filesystem::exists(path)) + { + return path; diff --git a/ports/sdformat13/portfile.cmake b/ports/sdformat13/portfile.cmake new file mode 100644 index 00000000000000..f566c6168df105 --- /dev/null +++ b/ports/sdformat13/portfile.cmake @@ -0,0 +1,49 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO gazebosim/sdformat + REF "sdformat13_${VERSION}" + SHA512 10c56fab3957fff759c3ff7db401e162c5d353221e3895617182031be41e10a5234607fb7d1afb0ec453f3e1f20ddcc36b8488ed3d1cc2d1d0e915fc3a74ddbd + HEAD_REF sdf13 + PATCHES + no-absolute.patch + cmake-config.patch + fix-find-urdfdom.patch +) + +# Ruby is required by the sdformat build process +vcpkg_find_acquire_program(RUBY) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + "-DRUBY=${RUBY}" + -DBUILD_TESTING=OFF + -DSKIP_PYBIND11=ON + -DUSE_INTERNAL_URDF=OFF + -DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=ON + -DCMAKE_DISABLE_FIND_PACKAGE_Python3=ON +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/sdformat13") +vcpkg_fixup_pkgconfig() + +# fix dependency urdfdom +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/${PORT}/sdformat13-config.cmake" "find_package(TINYXML2" [[ +if (NOT TARGET GzURDFDOM::GzURDFDOM) + find_package(urdfdom CONFIG ${gz_package_quiet} ${gz_package_required}) + add_library(GzURDFDOM::GzURDFDOM INTERFACE IMPORTED) + target_link_libraries(GzURDFDOM::GzURDFDOM + INTERFACE + urdfdom::urdfdom_model + urdfdom::urdfdom_world + urdfdom::urdfdom_sensor + urdfdom::urdfdom_model_state + ) +endif() +find_package(TINYXML2]]) + +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/sdformat13/vcpkg.json b/ports/sdformat13/vcpkg.json new file mode 100644 index 00000000000000..1282adb190ada3 --- /dev/null +++ b/ports/sdformat13/vcpkg.json @@ -0,0 +1,23 @@ +{ + "name": "sdformat13", + "version": "13.6.0", + "description": "Simulation Description Format (SDF) parser and description files.", + "homepage": "http://sdformat.org/", + "license": "Apache-2.0", + "supports": "!uwp", + "dependencies": [ + "gz-math7", + "gz-tools2", + "gz-utils2", + "tinyxml2", + "urdfdom", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/sdformat6/disable-test.patch b/ports/sdformat6/disable-test.patch new file mode 100644 index 00000000000000..6861e3448b684f --- /dev/null +++ b/ports/sdformat6/disable-test.patch @@ -0,0 +1,34 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 78e72e6..8f97304 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -252,7 +252,9 @@ else (buid_errors) + + link_directories(${PROJECT_BINARY_DIR}/src) + ++ if (BUILD_TESTING) + add_subdirectory(test) ++ endif() + add_subdirectory(src) + add_subdirectory(include/sdf) + add_subdirectory(sdf) +diff --git a/cmake/SDFUtils.cmake b/cmake/SDFUtils.cmake +index acd57f8..3626e68 100644 +--- a/cmake/SDFUtils.cmake ++++ b/cmake/SDFUtils.cmake +@@ -119,6 +119,7 @@ endmacro() + include_directories(${PROJECT_SOURCE_DIR}/test/gtest/include) + macro (sdf_build_tests) + # Build all the tests ++ if (BUILD_TESTING) + foreach(GTEST_SOURCE_file ${ARGN}) + string(REGEX REPLACE ".cc" "" BINARY_NAME ${GTEST_SOURCE_file}) + set(BINARY_NAME ${TEST_TYPE}_${BINARY_NAME}) +@@ -205,6 +206,7 @@ macro (sdf_build_tests) + --error-exitcode=1 --show-leak-kinds=all ${CMAKE_CURRENT_BINARY_DIR}/${BINARY_NAME}) + endif() + endforeach() ++ endif() + endmacro() + + ################################################# diff --git a/ports/sdformat6/fix-dependency-urdfdom.patch b/ports/sdformat6/fix-dependency-urdfdom.patch new file mode 100644 index 00000000000000..dad6fc106dc28b --- /dev/null +++ b/ports/sdformat6/fix-dependency-urdfdom.patch @@ -0,0 +1,34 @@ +diff --git a/cmake/SearchForStuff.cmake b/cmake/SearchForStuff.cmake +index 2735a07..6721de4 100644 +--- a/cmake/SearchForStuff.cmake ++++ b/cmake/SearchForStuff.cmake +@@ -62,16 +62,16 @@ if (NOT PKG_CONFIG_FOUND) + if (NOT DEFINED USE_INTERNAL_URDF) + BUILD_WARNING("Couldn't find pkg-config for urdfdom, using internal copy") + set(USE_INTERNAL_URDF true) +- elseif(NOT USE_INTERNAL_URDF) ++ elseif(0) + BUILD_ERROR("Couldn't find pkg-config for urdfdom") + endif() + endif() + + if (NOT DEFINED USE_INTERNAL_URDF OR NOT USE_INTERNAL_URDF) + # check for urdfdom with pkg-config +- pkg_check_modules(URDF urdfdom>=1.0) ++ find_package(urdfdom CONFIG REQUIRED) + +- if (NOT URDF_FOUND) ++ if (NOT urdfdom_FOUND) + if (NOT DEFINED USE_INTERNAL_URDF) + message(STATUS "Couldn't find urdfdom >= 1.0, using internal copy") + set(USE_INTERNAL_URDF true) +@@ -80,8 +80,7 @@ if (NOT DEFINED USE_INTERNAL_URDF OR NOT USE_INTERNAL_URDF) + endif() + else() + # what am I doing here? pkg-config and cmake +- set(URDF_INCLUDE_DIRS ${URDF_INCLUDEDIR}) +- set(URDF_LIBRARY_DIRS ${URDF_LIBDIR}) ++ set(URDF_LIBRARIES urdfdom::urdfdom_model urdfdom::urdfdom_world urdfdom::urdfdom_sensor urdfdom::urdfdom_model_state) + endif() + endif() + diff --git a/ports/sdformat6/portfile.cmake b/ports/sdformat6/portfile.cmake index 8818b2be88088e..c9346f1440e1fe 100644 --- a/ports/sdformat6/portfile.cmake +++ b/ports/sdformat6/portfile.cmake @@ -1,4 +1,4 @@ -vcpkg_fail_port_install(ON_ARCH "arm" ON_TARGET "uwp") +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH @@ -8,6 +8,8 @@ vcpkg_from_github( HEAD_REF sdf6 PATCHES disable-unneeded-include-findboost.patch + fix-dependency-urdfdom.patch + disable-test.patch ) # Ruby is required by the sdformat build process @@ -18,15 +20,16 @@ vcpkg_add_to_path(${RUBY_PATH}) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - OPTIONS -DBUILD_TESTING=OFF - -DUSE_EXTERNAL_URDF=ON - -DUSE_EXTERNAL_TINYXML=ON + OPTIONS + -DBUILD_TESTING=OFF + -DUSE_INTERNAL_URDF=OFF + -DUSE_EXTERNAL_TINYXML=ON ) vcpkg_cmake_install() # Restore original path -set(ENV{PATH} ${_path}) +set(ENV{PATH} "${_path}") # Move location of sdformat.dll from lib to bin if(EXISTS "${CURRENT_PACKAGES_DIR}/lib/sdformat.dll") @@ -53,6 +56,6 @@ vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/ignition/sdformat6.yaml" "${ vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/sdformat-6.2/sdf/sdf_config.h" "#define SDF_SHARE_PATH \"${CURRENT_PACKAGES_DIR}/share/\"" "") vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/sdformat-6.2/sdf/sdf_config.h" "#define SDF_VERSION_PATH \"${CURRENT_PACKAGES_DIR}/share/sdformat/\"" "") # Handle copyright -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/sdformat6/vcpkg.json b/ports/sdformat6/vcpkg.json index f1ee8fccbabffe..6b094d7e41d5be 100644 --- a/ports/sdformat6/vcpkg.json +++ b/ports/sdformat6/vcpkg.json @@ -1,9 +1,10 @@ { "name": "sdformat6", "version": "6.2.0", - "port-version": 4, + "port-version": 8, "description": "Simulation Description Format (SDF) parser and description files.", "homepage": "http://sdformat.org/", + "license": "Apache-2.0", "supports": "!(arm | uwp)", "dependencies": [ "boost-any", diff --git a/ports/sdformat9/fix-dependency-urdfdom.patch b/ports/sdformat9/fix-dependency-urdfdom.patch index d9016c6de39f30..d16cc831b2e7fd 100644 --- a/ports/sdformat9/fix-dependency-urdfdom.patch +++ b/ports/sdformat9/fix-dependency-urdfdom.patch @@ -1,7 +1,16 @@ diff --git a/cmake/SearchForStuff.cmake b/cmake/SearchForStuff.cmake -index 965f1ec..cf2acf4 100644 +index 427e5e7..af31df4 100644 --- a/cmake/SearchForStuff.cmake +++ b/cmake/SearchForStuff.cmake +@@ -43,7 +43,7 @@ endif() + # 2. if USE_INTERNAL_URDF is set to True, use the internal copy + # 3. if USE_INTERNAL_URDF is set to False, force to search system installation, fail on error + +-if (NOT PKG_CONFIG_FOUND) ++if (0) + if (NOT DEFINED USE_INTERNAL_URDF) + BUILD_WARNING("Couldn't find pkg-config for urdfdom, using internal copy") + set(USE_INTERNAL_URDF true) @@ -53,10 +53,9 @@ if (NOT PKG_CONFIG_FOUND) endif() @@ -12,6 +21,15 @@ index 965f1ec..cf2acf4 100644 - if (NOT URDF_FOUND) + if (NOT urdfdom_FOUND) - find_package(urdfdom) - if (urdfdom_FOUND) - set(URDF_INCLUDE_DIRS ${urdfdom_INCLUDE_DIRS}) + find_package(urdfdom) + if (urdfdom_FOUND) + set(URDF_INCLUDE_DIRS ${urdfdom_INCLUDE_DIRS}) +@@ -73,6 +72,7 @@ if (NOT DEFINED USE_INTERNAL_URDF OR NOT USE_INTERNAL_URDF) + # what am I doing here? pkg-config and cmake +- set(URDF_INCLUDE_DIRS ${URDF_INCLUDEDIR}) + set(URDF_LIBRARY_DIRS ${URDF_LIBDIR}) ++ set(URDF_INCLUDE_DIRS ${urdfdom_INCLUDE_DIRS}) ++ set(URDF_LIBRARIES ${urdfdom_LIBRARIES}) + endif() + endif() + diff --git a/ports/sdformat9/fix-quote.patch b/ports/sdformat9/fix-quote.patch new file mode 100644 index 00000000000000..6a8495c179a840 --- /dev/null +++ b/ports/sdformat9/fix-quote.patch @@ -0,0 +1,85 @@ +diff --git a/cmake/FindSSE.cmake b/cmake/FindSSE.cmake +index cdbcfcc..0339a17 100644 +--- a/cmake/FindSSE.cmake ++++ b/cmake/FindSSE.cmake +@@ -5,7 +5,7 @@ IF (ARCH MATCHES "i386" OR ARCH MATCHES "x86_64") + IF(CMAKE_SYSTEM_NAME MATCHES "Linux") + EXEC_PROGRAM(cat ARGS "/proc/cpuinfo" OUTPUT_VARIABLE CPUINFO) + +- STRING(REGEX REPLACE "^.*(sse2).*$" "\\1" SSE_THERE ${CPUINFO}) ++ STRING(REGEX REPLACE "^.*(sse2).*$" "\\1" SSE_THERE "${CPUINFO}") + STRING(COMPARE EQUAL "sse2" "${SSE_THERE}" SSE2_TRUE) + IF (SSE2_TRUE) + set(SSE2_FOUND true CACHE BOOL "SSE2 available on host") +@@ -14,14 +14,14 @@ IF (ARCH MATCHES "i386" OR ARCH MATCHES "x86_64") + ENDIF (SSE2_TRUE) + + # /proc/cpuinfo apparently omits sse3 :( +- STRING(REGEX REPLACE "^.*[^s](sse3).*$" "\\1" SSE_THERE ${CPUINFO}) ++ STRING(REGEX REPLACE "^.*[^s](sse3).*$" "\\1" SSE_THERE "${CPUINFO}") + STRING(COMPARE EQUAL "sse3" "${SSE_THERE}" SSE3_TRUE) + IF (NOT SSE3_TRUE) +- STRING(REGEX REPLACE "^.*(T2300).*$" "\\1" SSE_THERE ${CPUINFO}) ++ STRING(REGEX REPLACE "^.*(T2300).*$" "\\1" SSE_THERE "${CPUINFO}") + STRING(COMPARE EQUAL "T2300" "${SSE_THERE}" SSE3_TRUE) + ENDIF (NOT SSE3_TRUE) + +- STRING(REGEX REPLACE "^.*(ssse3).*$" "\\1" SSE_THERE ${CPUINFO}) ++ STRING(REGEX REPLACE "^.*(ssse3).*$" "\\1" SSE_THERE "${CPUINFO}") + STRING(COMPARE EQUAL "ssse3" "${SSE_THERE}" SSSE3_TRUE) + IF (SSE3_TRUE OR SSSE3_TRUE) + set(SSE3_FOUND true CACHE BOOL "SSE3 available on host") +@@ -34,7 +34,7 @@ IF (ARCH MATCHES "i386" OR ARCH MATCHES "x86_64") + set(SSSE3_FOUND false CACHE BOOL "SSSE3 available on host") + ENDIF (SSSE3_TRUE) + +- STRING(REGEX REPLACE "^.*(sse4_1).*$" "\\1" SSE_THERE ${CPUINFO}) ++ STRING(REGEX REPLACE "^.*(sse4_1).*$" "\\1" SSE_THERE "${CPUINFO}") + STRING(COMPARE EQUAL "sse4_1" "${SSE_THERE}" SSE41_TRUE) + IF (SSE41_TRUE) + set(SSE4_1_FOUND true CACHE BOOL "SSE4.1 available on host") +@@ -42,7 +42,7 @@ IF (ARCH MATCHES "i386" OR ARCH MATCHES "x86_64") + set(SSE4_1_FOUND false CACHE BOOL "SSE4.1 available on host") + ENDIF (SSE41_TRUE) + +- STRING(REGEX REPLACE "^.*(sse4_2).*$" "\\1" SSE_THERE ${CPUINFO}) ++ STRING(REGEX REPLACE "^.*(sse4_2).*$" "\\1" SSE_THERE "${CPUINFO}") + STRING(COMPARE EQUAL "sse4_2" "${SSE_THERE}" SSE42_TRUE) + IF (SSE42_TRUE) + set(SSE4_2_FOUND true CACHE BOOL "SSE4.2 available on host") +@@ -54,7 +54,7 @@ IF (ARCH MATCHES "i386" OR ARCH MATCHES "x86_64") + EXEC_PROGRAM("/usr/sbin/sysctl -n machdep.cpu.features" OUTPUT_VARIABLE + CPUINFO) + +- STRING(REGEX REPLACE "^.*[^S](SSE2).*$" "\\1" SSE_THERE ${CPUINFO}) ++ STRING(REGEX REPLACE "^.*[^S](SSE2).*$" "\\1" SSE_THERE "${CPUINFO}") + STRING(COMPARE EQUAL "SSE2" "${SSE_THERE}" SSE2_TRUE) + IF (SSE2_TRUE) + set(SSE2_FOUND true CACHE BOOL "SSE2 available on host") +@@ -62,7 +62,7 @@ IF (ARCH MATCHES "i386" OR ARCH MATCHES "x86_64") + set(SSE2_FOUND false CACHE BOOL "SSE2 available on host") + ENDIF (SSE2_TRUE) + +- STRING(REGEX REPLACE "^.*[^S](SSE3).*$" "\\1" SSE_THERE ${CPUINFO}) ++ STRING(REGEX REPLACE "^.*[^S](SSE3).*$" "\\1" SSE_THERE "${CPUINFO}") + STRING(COMPARE EQUAL "SSE3" "${SSE_THERE}" SSE3_TRUE) + IF (SSE3_TRUE) + set(SSE3_FOUND true CACHE BOOL "SSE3 available on host") +@@ -70,7 +70,7 @@ IF (ARCH MATCHES "i386" OR ARCH MATCHES "x86_64") + set(SSE3_FOUND false CACHE BOOL "SSE3 available on host") + ENDIF (SSE3_TRUE) + +- STRING(REGEX REPLACE "^.*(SSSE3).*$" "\\1" SSE_THERE ${CPUINFO}) ++ STRING(REGEX REPLACE "^.*(SSSE3).*$" "\\1" SSE_THERE "${CPUINFO}") + STRING(COMPARE EQUAL "SSSE3" "${SSE_THERE}" SSSE3_TRUE) + IF (SSSE3_TRUE) + set(SSSE3_FOUND true CACHE BOOL "SSSE3 available on host") +@@ -78,7 +78,7 @@ IF (ARCH MATCHES "i386" OR ARCH MATCHES "x86_64") + set(SSSE3_FOUND false CACHE BOOL "SSSE3 available on host") + ENDIF (SSSE3_TRUE) + +- STRING(REGEX REPLACE "^.*(SSE4.1).*$" "\\1" SSE_THERE ${CPUINFO}) ++ STRING(REGEX REPLACE "^.*(SSE4.1).*$" "\\1" SSE_THERE "${CPUINFO}") + STRING(COMPARE EQUAL "SSE4.1" "${SSE_THERE}" SSE41_TRUE) + IF (SSE41_TRUE) + set(SSE4_1_FOUND true CACHE BOOL "SSE4.1 available on host") diff --git a/ports/sdformat9/no-absolute.patch b/ports/sdformat9/no-absolute.patch new file mode 100644 index 00000000000000..40c99f26edca18 --- /dev/null +++ b/ports/sdformat9/no-absolute.patch @@ -0,0 +1,38 @@ +diff --git a/cmake/sdf_config.h.in b/cmake/sdf_config.h.in +index c3ce2336..64ac9f5f 100644 +--- a/cmake/sdf_config.h.in ++++ b/cmake/sdf_config.h.in +@@ -31,6 +31,3 @@ + #cmakedefine BUILD_TYPE_RELEASE 1 + #cmakedefine HAVE_URDFDOM 1 + #cmakedefine USE_INTERNAL_URDF 1 +- +-#define SDF_SHARE_PATH "${CMAKE_INSTALL_FULL_DATAROOTDIR}/" +-#define SDF_VERSION_PATH "${CMAKE_INSTALL_FULL_DATAROOTDIR}/sdformat${SDF_MAJOR_VERSION}/${SDF_PKG_VERSION}" +diff --git a/src/SDF.cc b/src/SDF.cc +index 48c1943b..bd2c5b31 100644 +--- a/src/SDF.cc ++++ b/src/SDF.cc +@@ -100,22 +100,6 @@ std::string findFile(const std::string &_filename, bool _searchLocalPath, + filename = filename.substr(idx + sep.length()); + } + +- // Next check the install path. +- path = sdf::filesystem::append(SDF_SHARE_PATH, filename); +- if (sdf::filesystem::exists(path)) +- { +- return path; +- } +- +- // Next check the versioned install path. +- path = sdf::filesystem::append(SDF_SHARE_PATH, +- "sdformat" SDF_MAJOR_VERSION_STR, +- sdf::SDF::Version(), filename); +- if (sdf::filesystem::exists(path)) +- { +- return path; +- } +- + // Next check to see if the given file exists. + path = filename; + if (sdf::filesystem::exists(path)) diff --git a/ports/sdformat9/portfile.cmake b/ports/sdformat9/portfile.cmake index b8807e0fe0c4f3..f50c223912c09e 100644 --- a/ports/sdformat9/portfile.cmake +++ b/ports/sdformat9/portfile.cmake @@ -1,43 +1,44 @@ -vcpkg_fail_port_install(ON_TARGET "linux" "uwp") +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO osrf/sdformat - REF sdformat9_9.4.0 - SHA512 b7ed458a5a9ba5b5dcf457d3e0c9de0bca3d514a6870aa977a00a84f8a3b8d1bd21f3b437c0651af7f0cc9b9c6c8b905c968525194605b334ab62280b9d55b0e + REF a978ade73e7b3509d378667dca394681e55ca068 #9.8.0 + SHA512 958c0613da7c885f81cceee726da10574188e5edafb7d3aca680e40bbdca6ff1bc7b721ee1c56c53e3973960ae715912adfa6541cf3e35d32a5dc2ef2a997505 HEAD_REF sdf9 PATCHES fix-dependency-urdfdom.patch + fix-quote.patch + no-absolute.patch + use-external-tinyxml-windows.patch ) # Ruby is required by the sdformat build process vcpkg_find_acquire_program(RUBY) -get_filename_component(RUBY_PATH ${RUBY} DIRECTORY) +get_filename_component(RUBY_PATH "${RUBY}" DIRECTORY) set(_path $ENV{PATH}) -vcpkg_add_to_path(${RUBY_PATH}) +vcpkg_add_to_path("${RUBY_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_TESTING=OFF - -DUSE_EXTERNAL_URDF=ON - -DUSE_EXTERNAL_TINYXML=ON + -DUSE_INTERNAL_URDF=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() # Restore original path -set(ENV{PATH} ${_path}) +set(ENV{PATH} "${_path}") # Fix cmake targets and pkg-config file location -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/sdformat9") +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/sdformat9") vcpkg_fixup_pkgconfig() # Remove debug files -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include - ${CURRENT_PACKAGES_DIR}/debug/lib/cmake - ${CURRENT_PACKAGES_DIR}/debug/share) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/lib/cmake" + "${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/sdformat9/use-external-tinyxml-windows.patch b/ports/sdformat9/use-external-tinyxml-windows.patch new file mode 100644 index 00000000000000..1f48617bc04c36 --- /dev/null +++ b/ports/sdformat9/use-external-tinyxml-windows.patch @@ -0,0 +1,26 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 3dad12e5..e290a3be 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -113,7 +113,7 @@ include (${sdf_cmake_dir}/SDFUtils.cmake) + + message (STATUS "\n\n====== Finding 3rd Party Packages ======") + # Use of tinyxml. System installation on UNIX. Internal copy on WIN +-if (UNIX) ++if (true) + message (STATUS "Using system tinyxml") + set (USE_EXTERNAL_TINYXML True) + elseif(WIN32) +diff --git a/cmake/SearchForStuff.cmake b/cmake/SearchForStuff.cmake +index 427e5e7a..655fafc0 100644 +--- a/cmake/SearchForStuff.cmake ++++ b/cmake/SearchForStuff.cmake +@@ -9,7 +9,7 @@ if (USE_EXTERNAL_TINYXML) + ################################################# + # Find tinyxml. Only debian distributions package tinyxml with a pkg-config + # Use pkg_check_modules and fallback to manual detection (needed, at least, for MacOS) +- pkg_check_modules(tinyxml tinyxml) ++ find_package(tinyxml CONFIG REQUIRED) + if (NOT tinyxml_FOUND) + find_path (tinyxml_INCLUDE_DIRS tinyxml.h ${tinyxml_INCLUDE_DIRS} ENV CPATH) + find_library(tinyxml_LIBRARIES NAMES tinyxml) diff --git a/ports/sdformat9/vcpkg.json b/ports/sdformat9/vcpkg.json index 40de724cad7ba9..88037c6454f216 100644 --- a/ports/sdformat9/vcpkg.json +++ b/ports/sdformat9/vcpkg.json @@ -1,13 +1,23 @@ { "name": "sdformat9", - "version-string": "9.4.0", - "port-version": 1, + "version": "9.8.0", + "port-version": 3, "description": "Simulation Description Format (SDF) parser and description files.", "homepage": "http://sdformat.org/", - "supports": "!(linux | uwp)", + "license": "Apache-2.0", + "supports": "!uwp & !(arm & osx)", "dependencies": [ "ignition-math6", "tinyxml", - "urdfdom" + "urdfdom", + "urdfdom-headers", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/sdl1-mixer/SDL_mixer.vcxproj.in b/ports/sdl1-mixer/SDL_mixer.vcxproj.in new file mode 100644 index 00000000000000..1ea5182d7414c3 --- /dev/null +++ b/ports/sdl1-mixer/SDL_mixer.vcxproj.in @@ -0,0 +1,302 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + {F7E944B3-0815-40CD-B3E4-90B2A15B0E33} + SDL_mixer + + + + @LIB_TYPE@ + v141 + false + + + @LIB_TYPE@ + v141 + false + + + @LIB_TYPE@ + v141 + false + + + @LIB_TYPE@ + v141 + false + + + + + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>15.0.28307.799 + + + .\Debug\ + .\Debug\ + true + + + $(Platform)\$(Configuration)\ + $(Platform)\$(Configuration)\ + true + + + .\Release\ + .\Release\ + false + + + $(Platform)\$(Configuration)\ + $(Platform)\$(Configuration)\ + false + + + + _DEBUG;%(PreprocessorDefinitions) + true + true + Win32 + .\Debug/SDL_mixer.tlb + + + + /D OGG_DYNAMIC=\"vorbisfile.dll\" %(AdditionalOptions) + Disabled + ..\timidity;..\native_midi;@CURRENT_PACKAGES_DIR@/include/SDL;@CURRENT_INSTALLED_DIR@/include/SDL;%(AdditionalIncludeDirectories) + _DEBUG;WIN32;_WINDOWS;_CRT_SECURE_NO_WARNINGS;WAV_MUSIC;MOD_MUSIC;MOD_DYNAMIC="mikmod.dll";OGG_MUSIC;OGG_DYNAMIC="vorbisfile.dll";FLAC_MUSIC;FLAC_DYNAMIC="FLAC.dll";MP3_MUSIC;MPG123_DYNAMIC="mpg123.dll";MID_MUSIC;USE_TIMIDITY_MIDI;USE_NATIVE_MIDI;%(PreprocessorDefinitions) + true + @CRT_TYPE_DBG@ + .\Debug/SDL_mixer.pch + Level3 + true + OldStyle + + + _DEBUG;%(PreprocessorDefinitions) + 0x0409 + + + winmm.lib;SDL.lib;%(AdditionalDependencies) + true + .\Debug/SDL_mixer.pdb + Windows + MachineX86 + @CURRENT_INSTALLED_DIR@/lib;%(AdditionalLibraryDirectories) + + + true + .\Debug/SDL_mixer.bsc + + + + + _DEBUG;%(PreprocessorDefinitions) + true + true + X64 + .\Debug/SDL_mixer.tlb + + + + /D OGG_DYNAMIC=\"vorbisfile.dll\" %(AdditionalOptions) + Disabled + ..\timidity;..\native_midi;@CURRENT_PACKAGES_DIR@/include/SDL;@CURRENT_INSTALLED_DIR@/include/SDL;%(AdditionalIncludeDirectories) + _DEBUG;WIN32;_WINDOWS;_CRT_SECURE_NO_WARNINGS;WAV_MUSIC;MOD_MUSIC;MOD_DYNAMIC="mikmod.dll";OGG_MUSIC;OGG_DYNAMIC="vorbisfile.dll";FLAC_MUSIC;FLAC_DYNAMIC="FLAC.dll";MP3_MUSIC;MPG123_DYNAMIC="mpg123.dll";MID_MUSIC;USE_TIMIDITY_MIDI;USE_NATIVE_MIDI;%(PreprocessorDefinitions) + true + @CRT_TYPE_DBG@ + .\Debug/SDL_mixer.pch + Level3 + true + OldStyle + + + _DEBUG;%(PreprocessorDefinitions) + 0x0409 + + + winmm.lib;SDL.lib;%(AdditionalDependencies) + true + .\Debug/SDL_mixer.pdb + Windows + MachineX64 + @CURRENT_INSTALLED_DIR@/lib;%(AdditionalLibraryDirectories) + + + true + .\Debug/SDL_mixer.bsc + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + Win32 + .\Release/SDL_mixer.tlb + + + + /D OGG_DYNAMIC=\"vorbisfile.dll\" %(AdditionalOptions) + MaxSpeed + OnlyExplicitInline + ..\timidity;..\native_midi;@CURRENT_PACKAGES_DIR@/include/SDL;@CURRENT_INSTALLED_DIR@/include/SDL;%(AdditionalIncludeDirectories) + NDEBUG;WIN32;_WINDOWS;_CRT_SECURE_NO_WARNINGS;WAV_MUSIC;MOD_MUSIC;MOD_DYNAMIC="mikmod.dll";OGG_MUSIC;OGG_DYNAMIC="vorbisfile.dll";FLAC_MUSIC;FLAC_DYNAMIC="FLAC.dll";MP3_MUSIC;MPG123_DYNAMIC="mpg123.dll";MID_MUSIC;USE_TIMIDITY_MIDI;USE_NATIVE_MIDI;%(PreprocessorDefinitions) + true + @CRT_TYPE_REL@ + true + .\Release/SDL_mixer.pch + Level3 + + + NDEBUG;%(PreprocessorDefinitions) + 0x0409 + + + winmm.lib;SDL.lib;%(AdditionalDependencies) + .\Release/SDL_mixer.pdb + Windows + MachineX86 + @CURRENT_INSTALLED_DIR@/lib;%(AdditionalLibraryDirectories) + + + true + .\Release/SDL_mixer.bsc + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + X64 + .\Release/SDL_mixer.tlb + + + + /D OGG_DYNAMIC=\"vorbisfile.dll\" %(AdditionalOptions) + MaxSpeed + OnlyExplicitInline + ..\timidity;..\native_midi;@CURRENT_PACKAGES_DIR@/include/SDL;@CURRENT_INSTALLED_DIR@/include/SDL;%(AdditionalIncludeDirectories) + NDEBUG;WIN32;_WINDOWS;_CRT_SECURE_NO_WARNINGS;WAV_MUSIC;MOD_MUSIC;MOD_DYNAMIC="mikmod.dll";OGG_MUSIC;OGG_DYNAMIC="vorbisfile.dll";FLAC_MUSIC;FLAC_DYNAMIC="FLAC.dll";MP3_MUSIC;MPG123_DYNAMIC="mpg123.dll";MID_MUSIC;USE_TIMIDITY_MIDI;USE_NATIVE_MIDI;%(PreprocessorDefinitions) + true + @CRT_TYPE_REL@ + true + .\Release/SDL_mixer.pch + Level3 + + + NDEBUG;%(PreprocessorDefinitions) + 0x0409 + + + winmm.lib;SDL.lib;%(AdditionalDependencies) + .\Release/SDL_mixer.pdb + Windows + MachineX64 + @CURRENT_INSTALLED_DIR@/lib;%(AdditionalLibraryDirectories) + + + true + .\Release/SDL_mixer.bsc + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {ebda67ca-4a23-4f22-bfbc-b8dbe0580d4f} + false + + + {b162b6f1-e876-4d5f-a1f6-e3a6dc2f4a2c} + false + + + + + + \ No newline at end of file diff --git a/ports/sdl1-mixer/SDL_mixer_2017.sln.in b/ports/sdl1-mixer/SDL_mixer_2017.sln.in new file mode 100644 index 00000000000000..1437f385883a79 --- /dev/null +++ b/ports/sdl1-mixer/SDL_mixer_2017.sln.in @@ -0,0 +1,70 @@ +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.28307.1321 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SDL_mixer", "SDL_mixer.vcxproj", "{F7E944B3-0815-40CD-B3E4-90B2A15B0E33}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "native_midi", "native_midi\native_midi.vcxproj", "{EBDA67CA-4A23-4F22-BFBC-B8DBE0580D4F}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "playmus", "playmus\playmus.vcxproj", "{72CB0DD4-051D-486C-9CB3-75FE16F7D87A}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "playwave", "playwave\playwave.vcxproj", "{AC86CEAA-9908-476F-B15F-C7193CEF81BD}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "timidity", "timidity\timidity.vcxproj", "{B162B6F1-E876-4D5F-A1F6-E3A6DC2F4A2C}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Debug|x64 = Debug|x64 + Release|Win32 = Release|Win32 + Release|x64 = Release|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {F7E944B3-0815-40CD-B3E4-90B2A15B0E33}.Debug|Win32.ActiveCfg = Debug|Win32 + {F7E944B3-0815-40CD-B3E4-90B2A15B0E33}.Debug|Win32.Build.0 = Debug|Win32 + {F7E944B3-0815-40CD-B3E4-90B2A15B0E33}.Debug|x64.ActiveCfg = Debug|x64 + {F7E944B3-0815-40CD-B3E4-90B2A15B0E33}.Debug|x64.Build.0 = Debug|x64 + {F7E944B3-0815-40CD-B3E4-90B2A15B0E33}.Release|Win32.ActiveCfg = Release|Win32 + {F7E944B3-0815-40CD-B3E4-90B2A15B0E33}.Release|Win32.Build.0 = Release|Win32 + {F7E944B3-0815-40CD-B3E4-90B2A15B0E33}.Release|x64.ActiveCfg = Release|x64 + {F7E944B3-0815-40CD-B3E4-90B2A15B0E33}.Release|x64.Build.0 = Release|x64 + {EBDA67CA-4A23-4F22-BFBC-B8DBE0580D4F}.Debug|Win32.ActiveCfg = Debug|Win32 + {EBDA67CA-4A23-4F22-BFBC-B8DBE0580D4F}.Debug|Win32.Build.0 = Debug|Win32 + {EBDA67CA-4A23-4F22-BFBC-B8DBE0580D4F}.Debug|x64.ActiveCfg = Debug|x64 + {EBDA67CA-4A23-4F22-BFBC-B8DBE0580D4F}.Debug|x64.Build.0 = Debug|x64 + {EBDA67CA-4A23-4F22-BFBC-B8DBE0580D4F}.Release|Win32.ActiveCfg = Release|Win32 + {EBDA67CA-4A23-4F22-BFBC-B8DBE0580D4F}.Release|Win32.Build.0 = Release|Win32 + {EBDA67CA-4A23-4F22-BFBC-B8DBE0580D4F}.Release|x64.ActiveCfg = Release|x64 + {EBDA67CA-4A23-4F22-BFBC-B8DBE0580D4F}.Release|x64.Build.0 = Release|x64 + {72CB0DD4-051D-486C-9CB3-75FE16F7D87A}.Debug|Win32.ActiveCfg = Debug|Win32 + {72CB0DD4-051D-486C-9CB3-75FE16F7D87A}.Debug|Win32.Build.0 = Debug|Win32 + {72CB0DD4-051D-486C-9CB3-75FE16F7D87A}.Debug|x64.ActiveCfg = Debug|x64 + {72CB0DD4-051D-486C-9CB3-75FE16F7D87A}.Debug|x64.Build.0 = Debug|x64 + {72CB0DD4-051D-486C-9CB3-75FE16F7D87A}.Release|Win32.ActiveCfg = Release|Win32 + {72CB0DD4-051D-486C-9CB3-75FE16F7D87A}.Release|Win32.Build.0 = Release|Win32 + {72CB0DD4-051D-486C-9CB3-75FE16F7D87A}.Release|x64.ActiveCfg = Release|x64 + {72CB0DD4-051D-486C-9CB3-75FE16F7D87A}.Release|x64.Build.0 = Release|x64 + {AC86CEAA-9908-476F-B15F-C7193CEF81BD}.Debug|Win32.ActiveCfg = Debug|Win32 + {AC86CEAA-9908-476F-B15F-C7193CEF81BD}.Debug|Win32.Build.0 = Debug|Win32 + {AC86CEAA-9908-476F-B15F-C7193CEF81BD}.Debug|x64.ActiveCfg = Debug|x64 + {AC86CEAA-9908-476F-B15F-C7193CEF81BD}.Debug|x64.Build.0 = Debug|x64 + {AC86CEAA-9908-476F-B15F-C7193CEF81BD}.Release|Win32.ActiveCfg = Release|Win32 + {AC86CEAA-9908-476F-B15F-C7193CEF81BD}.Release|Win32.Build.0 = Release|Win32 + {AC86CEAA-9908-476F-B15F-C7193CEF81BD}.Release|x64.ActiveCfg = Release|x64 + {AC86CEAA-9908-476F-B15F-C7193CEF81BD}.Release|x64.Build.0 = Release|x64 + {B162B6F1-E876-4D5F-A1F6-E3A6DC2F4A2C}.Debug|Win32.ActiveCfg = Debug|Win32 + {B162B6F1-E876-4D5F-A1F6-E3A6DC2F4A2C}.Debug|Win32.Build.0 = Debug|Win32 + {B162B6F1-E876-4D5F-A1F6-E3A6DC2F4A2C}.Debug|x64.ActiveCfg = Debug|x64 + {B162B6F1-E876-4D5F-A1F6-E3A6DC2F4A2C}.Debug|x64.Build.0 = Debug|x64 + {B162B6F1-E876-4D5F-A1F6-E3A6DC2F4A2C}.Release|Win32.ActiveCfg = Release|Win32 + {B162B6F1-E876-4D5F-A1F6-E3A6DC2F4A2C}.Release|Win32.Build.0 = Release|Win32 + {B162B6F1-E876-4D5F-A1F6-E3A6DC2F4A2C}.Release|x64.ActiveCfg = Release|x64 + {B162B6F1-E876-4D5F-A1F6-E3A6DC2F4A2C}.Release|x64.Build.0 = Release|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {F6077CF7-C552-4A55-AB30-0E159B015586} + EndGlobalSection +EndGlobal diff --git a/ports/sdl1-mixer/mpg123_ssize_t.patch b/ports/sdl1-mixer/mpg123_ssize_t.patch new file mode 100644 index 00000000000000..8cead248762400 --- /dev/null +++ b/ports/sdl1-mixer/mpg123_ssize_t.patch @@ -0,0 +1,41 @@ +diff --git a/dynamic_mp3.c b/dynamic_mp3.c +index 7c3209f0..ba80ee7a 100644 +--- a/dynamic_mp3.c ++++ b/dynamic_mp3.c +@@ -63,7 +63,7 @@ int Mix_InitMP3(void) + #else + FUNCTION_LOADER(mpg123_read, int (*)(mpg123_handle *mh, unsigned char *outmemory, size_t outmemsize, size_t *done )) + #endif +- FUNCTION_LOADER(mpg123_replace_reader_handle, int (*)( mpg123_handle *mh, ssize_t (*r_read) (void *, void *, size_t), off_t (*r_lseek)(void *, off_t, int), void (*cleanup)(void*) )) ++ FUNCTION_LOADER(mpg123_replace_reader_handle, int (*)( mpg123_handle *mh, mpg123_ssize_t (*r_read) (void *, void *, size_t), off_t (*r_lseek)(void *, off_t, int), void (*cleanup)(void*) )) + FUNCTION_LOADER(mpg123_seek, off_t (*)( mpg123_handle *mh, off_t sampleoff, int whence )) + FUNCTION_LOADER(mpg123_strerror, const char* (*)(mpg123_handle *mh)) + if (mpg123.mpg123_init() != MPG123_OK) { +diff --git a/dynamic_mp3.h b/dynamic_mp3.h +index 2e4c48af..ad63bf76 100644 +--- a/dynamic_mp3.h ++++ b/dynamic_mp3.h +@@ -43,7 +43,7 @@ typedef struct { + #else + int (*mpg123_read)(mpg123_handle *mh, unsigned char *outmemory, size_t outmemsize, size_t *done ); + #endif +- int (*mpg123_replace_reader_handle)( mpg123_handle *mh, ssize_t (*r_read) (void *, void *, size_t), off_t (*r_lseek)(void *, off_t, int), void (*cleanup)(void*) ); ++ int (*mpg123_replace_reader_handle)( mpg123_handle *mh, mpg123_ssize_t (*r_read) (void *, void *, size_t), off_t (*r_lseek)(void *, off_t, int), void (*cleanup)(void*) ); + off_t (*mpg123_seek)( mpg123_handle *mh, off_t sampleoff, int whence ); + const char* (*mpg123_strerror)(mpg123_handle *mh); + } mpg123_loader; +diff --git a/music_mpg.c b/music_mpg.c +index 531615a2..7d92c28b 100644 +--- a/music_mpg.c ++++ b/music_mpg.c +@@ -67,8 +67,8 @@ mpg_err(mpg123_handle* mpg, int code) + + /* we're gonna override mpg123's I/O with these wrappers for RWops */ + static +-ssize_t rwops_read(void* p, void* dst, size_t n) { +- return (ssize_t)MP3_RWread((struct mp3file_t *)p, dst, 1, n); ++mpg123_ssize_t rwops_read(void* p, void* dst, size_t n) { ++ return (mpg123_ssize_t)MP3_RWread((struct mp3file_t *)p, dst, 1, n); + } + + static diff --git a/ports/sdl1-mixer/native_midi.vcxproj.in b/ports/sdl1-mixer/native_midi.vcxproj.in new file mode 100644 index 00000000000000..eb31ce1dbec55d --- /dev/null +++ b/ports/sdl1-mixer/native_midi.vcxproj.in @@ -0,0 +1,179 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + {EBDA67CA-4A23-4F22-BFBC-B8DBE0580D4F} + + + + StaticLibrary + v141 + false + + + StaticLibrary + v141 + false + + + StaticLibrary + v141 + false + + + StaticLibrary + v141 + false + + + + + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>15.0.28307.799 + + + .\Release\ + .\Release\ + + + .\Debug\ + .\Debug\ + + + $(Platform)\$(Configuration)\ + $(Platform)\$(Configuration)\ + + + $(Platform)\$(Configuration)\ + $(Platform)\$(Configuration)\ + + + + MaxSpeed + OnlyExplicitInline + ..\..;..\..\native_midi;@CURRENT_PACKAGES_DIR@/include/SDL;@CURRENT_INSTALLED_DIR@/include/SDL;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions) + true + @CRT_TYPE_REL@ + true + .\Release/native_midi.pch + Level3 + + + 0x0409 + + + true + .\Release/native_midi.bsc + + + + + Disabled + ..\..;..\..\native_midi;@CURRENT_PACKAGES_DIR@/include/SDL;@CURRENT_INSTALLED_DIR@/include/SDL;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions) + @CRT_TYPE_DBG@ + .\Debug/native_midi.pch + Level3 + true + OldStyle + + + 0x0409 + + + true + .\Debug/native_midi.bsc + + + + + X64 + + + MaxSpeed + OnlyExplicitInline + ..\..;..\..\native_midi;@CURRENT_PACKAGES_DIR@/include/SDL;@CURRENT_INSTALLED_DIR@/include/SDL;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions) + true + @CRT_TYPE_REL@ + true + .\Release/native_midi.pch + Level3 + + + 0x0409 + + + true + .\Release/native_midi.bsc + + + + + X64 + + + Disabled + ..\..;..\..\native_midi;@CURRENT_PACKAGES_DIR@/include/SDL;@CURRENT_INSTALLED_DIR@/include/SDL;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions) + @CRT_TYPE_DBG@ + .\Debug/native_midi.pch + Level3 + true + OldStyle + + + 0x0409 + + + true + .\Debug/native_midi.bsc + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ports/sdl1-mixer/playmus.vcxproj.in b/ports/sdl1-mixer/playmus.vcxproj.in new file mode 100644 index 00000000000000..ba6e37f8e4ec7b --- /dev/null +++ b/ports/sdl1-mixer/playmus.vcxproj.in @@ -0,0 +1,247 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + {72CB0DD4-051D-486C-9CB3-75FE16F7D87A} + 10.0.17763.0 + + + + Application + v141 + false + + + Application + v141 + false + + + Application + v141 + false + + + Application + v141 + false + + + + + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>15.0.28307.799 + + + .\Debug\ + .\Debug\ + true + + + $(Platform)\$(Configuration)\ + $(Platform)\$(Configuration)\ + true + + + .\Release\ + .\Release\ + false + + + $(Platform)\$(Configuration)\ + $(Platform)\$(Configuration)\ + false + + + + _DEBUG;%(PreprocessorDefinitions) + true + true + Win32 + .\Debug/playmus.tlb + + + + Disabled + WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions) + true + @CRT_TYPE_DBG@ + .\Debug/playmus.pch + Level3 + true + OldStyle + @CURRENT_PACKAGES_DIR@/include/SDL;@CURRENT_INSTALLED_DIR@/include/SDL + + + _DEBUG;%(PreprocessorDefinitions) + 0x0409 + + + SDL.lib;manual-link\SDLmain.lib;winmm.lib;dxguid.lib;%(AdditionalDependencies) + true + .\Debug/playmus.pdb + Windows + MachineX86 + @CURRENT_INSTALLED_DIR@/lib;%(AdditionalLibraryDirectories) + + + true + .\Debug/playmus.bsc + + + + + _DEBUG;%(PreprocessorDefinitions) + true + true + X64 + .\Debug/playmus.tlb + + + + Disabled + WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions) + true + @CRT_TYPE_DBG@ + .\Debug/playmus.pch + Level3 + true + OldStyle + @CURRENT_PACKAGES_DIR@/include/SDL;@CURRENT_INSTALLED_DIR@/include/SDL + + + _DEBUG;%(PreprocessorDefinitions) + 0x0409 + + + SDL.lib;manual-link\SDLmain.lib;winmm.lib;dxguid.lib;%(AdditionalDependencies) + true + .\Debug/playmus.pdb + Windows + MachineX64 + @CURRENT_INSTALLED_DIR@/lib;%(AdditionalLibraryDirectories) + + + true + .\Debug/playmus.bsc + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + Win32 + .\Release/playmus.tlb + + + + MaxSpeed + OnlyExplicitInline + WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions) + true + @CRT_TYPE_REL@ + true + .\Release/playmus.pch + Level3 + @CURRENT_PACKAGES_DIR@/include/SDL;@CURRENT_INSTALLED_DIR@/include/SDL + + + NDEBUG;%(PreprocessorDefinitions) + 0x0409 + + + SDL.lib;manual-link\SDLmain.lib;winmm.lib;dxguid.lib;%(AdditionalDependencies) + .\Release/playmus.pdb + Windows + MachineX86 + @CURRENT_INSTALLED_DIR@/lib;%(AdditionalLibraryDirectories) + + + true + .\Release/playmus.bsc + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + X64 + .\Release/playmus.tlb + + + + MaxSpeed + OnlyExplicitInline + WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions) + true + @CRT_TYPE_REL@ + true + .\Release/playmus.pch + Level3 + @CURRENT_PACKAGES_DIR@/include/SDL;@CURRENT_INSTALLED_DIR@/include/SDL + + + NDEBUG;%(PreprocessorDefinitions) + 0x0409 + + + SDL.lib;manual-link\SDLmain.lib;winmm.lib;dxguid.lib;%(AdditionalDependencies) + .\Release/playmus.pdb + Windows + MachineX64 + @CURRENT_INSTALLED_DIR@/lib;%(AdditionalLibraryDirectories) + + + true + .\Release/playmus.bsc + + + + + + + + {f7e944b3-0815-40cd-b3e4-90b2a15b0e33} + false + + + + + + \ No newline at end of file diff --git a/ports/sdl1-mixer/playwave.vcxproj.in b/ports/sdl1-mixer/playwave.vcxproj.in new file mode 100644 index 00000000000000..05fe6234148c50 --- /dev/null +++ b/ports/sdl1-mixer/playwave.vcxproj.in @@ -0,0 +1,247 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + {AC86CEAA-9908-476F-B15F-C7193CEF81BD} + 10.0.17763.0 + + + + Application + v141 + false + + + Application + v141 + false + + + Application + v141 + false + + + Application + v141 + false + + + + + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>15.0.28307.799 + + + .\Release\ + .\Release\ + false + + + $(Platform)\$(Configuration)\ + $(Platform)\$(Configuration)\ + false + + + .\Debug\ + .\Debug\ + true + + + $(Platform)\$(Configuration)\ + $(Platform)\$(Configuration)\ + true + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + Win32 + .\Release/playwave.tlb + + + + MaxSpeed + OnlyExplicitInline + WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions) + true + @CRT_TYPE_REL@ + true + .\Release/playwave.pch + Level3 + @CURRENT_PACKAGES_DIR@/include/SDL;@CURRENT_INSTALLED_DIR@/include/SDL + + + NDEBUG;%(PreprocessorDefinitions) + 0x0409 + + + SDL.lib;manual-link\SDLmain.lib;winmm.lib;dxguid.lib;%(AdditionalDependencies) + .\Release/playwave.pdb + Windows + MachineX86 + @CURRENT_INSTALLED_DIR@/lib;%(AdditionalLibraryDirectories) + + + true + .\Release/playwave.bsc + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + X64 + .\Release/playwave.tlb + + + + MaxSpeed + OnlyExplicitInline + WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions) + true + @CRT_TYPE_REL@ + true + .\Release/playwave.pch + Level3 + @CURRENT_PACKAGES_DIR@/include/SDL;@CURRENT_INSTALLED_DIR@/include/SDL + + + NDEBUG;%(PreprocessorDefinitions) + 0x0409 + + + SDL.lib;manual-link\SDLmain.lib;winmm.lib;dxguid.lib;%(AdditionalDependencies) + .\Release/playwave.pdb + Windows + MachineX64 + @CURRENT_INSTALLED_DIR@/lib;%(AdditionalLibraryDirectories) + + + true + .\Release/playwave.bsc + + + + + _DEBUG;%(PreprocessorDefinitions) + true + true + Win32 + .\Debug/playwave.tlb + + + + Disabled + WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions) + true + @CRT_TYPE_DBG@ + .\Debug/playwave.pch + Level3 + true + OldStyle + @CURRENT_PACKAGES_DIR@/include/SDL;@CURRENT_INSTALLED_DIR@/include/SDL + + + _DEBUG;%(PreprocessorDefinitions) + 0x0409 + + + SDL.lib;manual-link\SDLmain.lib;winmm.lib;dxguid.lib;%(AdditionalDependencies) + true + .\Debug/playwave.pdb + Windows + MachineX86 + @CURRENT_INSTALLED_DIR@/lib;%(AdditionalLibraryDirectories) + + + true + .\Debug/playwave.bsc + + + + + _DEBUG;%(PreprocessorDefinitions) + true + true + X64 + .\Debug/playwave.tlb + + + + Disabled + WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions) + true + @CRT_TYPE_DBG@ + .\Debug/playwave.pch + Level3 + true + OldStyle + @CURRENT_PACKAGES_DIR@/include/SDL;@CURRENT_INSTALLED_DIR@/include/SDL + + + _DEBUG;%(PreprocessorDefinitions) + 0x0409 + + + SDL.lib;manual-link\SDLmain.lib;winmm.lib;dxguid.lib;%(AdditionalDependencies) + true + .\Debug/playwave.pdb + Windows + MachineX64 + @CURRENT_INSTALLED_DIR@/lib;%(AdditionalLibraryDirectories) + + + true + .\Debug/playwave.bsc + + + + + + + + {f7e944b3-0815-40cd-b3e4-90b2a15b0e33} + false + + + + + + \ No newline at end of file diff --git a/ports/sdl1-mixer/portfile.cmake b/ports/sdl1-mixer/portfile.cmake new file mode 100644 index 00000000000000..299e9db2c7d119 --- /dev/null +++ b/ports/sdl1-mixer/portfile.cmake @@ -0,0 +1,79 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO libsdl-org/SDL_mixer + REF d8b2c98ca3db62fa3d4e1dbb8801c6f57a10b8bf + SHA512 e22b2e26d9c7296e79589d5108118c65f5fb76e7e9d6996129e19b63313f9aa3a4c0657010e45fa040792fa81c488dae3ec6fac09e147d3b4430d612837e0132 + HEAD_REF SDL-1.2 + PATCHES + mpg123_ssize_t.patch +) + +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + configure_file("${CMAKE_CURRENT_LIST_DIR}/SDL_mixer_2017.sln.in" "${SOURCE_PATH}/VisualC/SDL_mixer_2017.sln" COPYONLY) + + if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + set(LIB_TYPE StaticLibrary) + else() + set(LIB_TYPE DynamicLibrary) + endif() + + if(VCPKG_CRT_LINKAGE STREQUAL "dynamic") + set(CRT_TYPE_DBG MultiThreadedDebugDLL) + set(CRT_TYPE_REL MultiThreadedDLL) + else() + set(CRT_TYPE_DBG MultiThreadedDebug) + set(CRT_TYPE_REL MultiThreaded) + endif() + + configure_file("${CURRENT_PORT_DIR}/SDL_mixer.vcxproj.in" "${SOURCE_PATH}/VisualC/SDL_mixer.vcxproj" @ONLY) + configure_file("${CURRENT_PORT_DIR}/native_midi.vcxproj.in" "${SOURCE_PATH}/VisualC/native_midi/native_midi.vcxproj" @ONLY) + configure_file("${CURRENT_PORT_DIR}/timidity.vcxproj.in" "${SOURCE_PATH}/VisualC/timidity/timidity.vcxproj" @ONLY) + configure_file("${CURRENT_PORT_DIR}/playmus.vcxproj.in" "${SOURCE_PATH}/VisualC/playmus/playmus.vcxproj" @ONLY) + configure_file("${CURRENT_PORT_DIR}/playwave.vcxproj.in" "${SOURCE_PATH}/VisualC/playwave/playwave.vcxproj" @ONLY) + + # This text file gets copied as a library, and included as one in the package + file(REMOVE "${SOURCE_PATH}/external/libmikmod/COPYING.LIB") + + # Remove unused external dlls + file(REMOVE "${SOURCE_PATH}/VisualC/external/lib/x86/libFLAC-8.dll") + file(REMOVE "${SOURCE_PATH}/VisualC/external/lib/x86/libmikmod-2.dll") + file(REMOVE "${SOURCE_PATH}/VisualC/external/lib/x86/libmpg123-0.dll") + file(REMOVE "${SOURCE_PATH}/VisualC/external/lib/x86/libogg-0.dll") + file(REMOVE "${SOURCE_PATH}/VisualC/external/lib/x86/libvorbis-0.dll") + file(REMOVE "${SOURCE_PATH}/VisualC/external/lib/x86/libvorbisfile-3.dll") + file(REMOVE "${SOURCE_PATH}/VisualC/external/lib/x64/libFLAC-8.dll") + file(REMOVE "${SOURCE_PATH}/VisualC/external/lib/x64/libmikmod-2.dll") + file(REMOVE "${SOURCE_PATH}/VisualC/external/lib/x64/libmpg123-0.dll") + file(REMOVE "${SOURCE_PATH}/VisualC/external/lib/x64/libogg-0.dll") + file(REMOVE "${SOURCE_PATH}/VisualC/external/lib/x64/libvorbis-0.dll") + file(REMOVE "${SOURCE_PATH}/VisualC/external/lib/x64/libvorbisfile-3.dll") + + file(WRITE "${SOURCE_PATH}/Directory.Build.props" " + + + + ${CURRENT_PACKAGES_DIR}/include;${CURRENT_PACKAGES_DIR}/include/SDL;${CURRENT_INSTALLED_DIR}/include;${CURRENT_INSTALLED_DIR}/include/SDL + + + ") + + vcpkg_install_msbuild( + SOURCE_PATH "${SOURCE_PATH}" + PROJECT_SUBPATH VisualC/SDL_mixer_2017.sln + #INCLUDES_SUBPATH include + LICENSE_SUBPATH COPYING + #ALLOW_ROOT_INCLUDES + ) + file(COPY "${SOURCE_PATH}/SDL_mixer.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include/SDL") +else() + vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + ) + + vcpkg_install_make() + vcpkg_fixup_pkgconfig() + + vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") +endif() + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/sdl1-mixer/timidity.vcxproj.in b/ports/sdl1-mixer/timidity.vcxproj.in new file mode 100644 index 00000000000000..2689aefac0b203 --- /dev/null +++ b/ports/sdl1-mixer/timidity.vcxproj.in @@ -0,0 +1,201 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + {B162B6F1-E876-4D5F-A1F6-E3A6DC2F4A2C} + timidity + + + + StaticLibrary + false + v141 + + + StaticLibrary + false + v141 + + + StaticLibrary + v141 + false + + + StaticLibrary + v141 + false + + + + + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>15.0.28307.799 + + + .\Release\ + .\Release\ + + + .\Debug\ + .\Debug\ + + + $(Platform)\$(Configuration)\ + $(Platform)\$(Configuration)\ + + + $(Platform)\$(Configuration)\ + $(Platform)\$(Configuration)\ + + + + MaxSpeed + OnlyExplicitInline + WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + @CRT_TYPE_REL@ + true + .\Release/timidity.pch + Level3 + @CURRENT_PACKAGES_DIR@/include/SDL;@CURRENT_INSTALLED_DIR@/include/SDL + + + 0x0409 + + + true + .\Release/timidity.bsc + + + + + Disabled + WIN32;_DEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + @CRT_TYPE_DBG@ + .\Debug/timidity.pch + Level3 + true + OldStyle + @CURRENT_PACKAGES_DIR@/include/SDL;@CURRENT_INSTALLED_DIR@/include/SDL + + + 0x0409 + + + true + .\Debug/timidity.bsc + + + + + X64 + + + MaxSpeed + OnlyExplicitInline + WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + @CRT_TYPE_REL@ + true + .\Release/timidity.pch + Level3 + @CURRENT_PACKAGES_DIR@/include/SDL;@CURRENT_INSTALLED_DIR@/include/SDL + + + 0x0409 + + + true + .\Release/timidity.bsc + + + + + X64 + + + Disabled + WIN32;_DEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + @CRT_TYPE_DBG@ + .\Debug/timidity.pch + Level3 + true + OldStyle + @CURRENT_PACKAGES_DIR@/include/SDL;@CURRENT_INSTALLED_DIR@/include/SDL + + + 0x0409 + + + true + .\Debug/timidity.bsc + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ports/sdl1-mixer/usage b/ports/sdl1-mixer/usage new file mode 100644 index 00000000000000..886069e417af04 --- /dev/null +++ b/ports/sdl1-mixer/usage @@ -0,0 +1,4 @@ +The package sdl1-mixer is compatible with built-in CMake targets: + + find_package(SDL_mixer REQUIRED) + target_link_libraries(main PRIVATE ${SDL_MIXER_LIBRARY}) diff --git a/ports/sdl1-mixer/vcpkg.json b/ports/sdl1-mixer/vcpkg.json new file mode 100644 index 00000000000000..52ef800e7f63e8 --- /dev/null +++ b/ports/sdl1-mixer/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "sdl1-mixer", + "version-date": "2023-03-25", + "port-version": 2, + "description": "An audio mixer that supports various file formats for Simple Directmedia Layer.", + "homepage": "https://www.libsdl.org", + "license": "Zlib", + "supports": "!osx & !uwp & !arm", + "dependencies": [ + "libflac", + "libmikmod", + "libogg", + "libvorbis", + "mpg123", + "sdl1" + ] +} diff --git a/ports/sdl1-net/portfile.cmake b/ports/sdl1-net/portfile.cmake index e88d99d3593744..2f21e841576aa1 100644 --- a/ports/sdl1-net/portfile.cmake +++ b/ports/sdl1-net/portfile.cmake @@ -4,21 +4,19 @@ vcpkg_download_distfile(ARCHIVE SHA512 2766ca55343127c619958ab3a3ae3052a27a676839f10a158f7dfc071b8db38c2f1fc853e8add32b9fef94ab07eaa986f46a68e264e8087b57c990af30ea9a0b ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} +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}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS_DEBUG -DSDL_NET_SKIP_HEADERS=ON) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/sdl1-net) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/sdl1-net/COPYING ${CURRENT_PACKAGES_DIR}/share/sdl1-net/copyright) +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/sdl1-net/vcpkg.json b/ports/sdl1-net/vcpkg.json index cd4e84a0300edc..6be7f0e4c61168 100644 --- a/ports/sdl1-net/vcpkg.json +++ b/ports/sdl1-net/vcpkg.json @@ -1,9 +1,13 @@ { "name": "sdl1-net", - "version-string": "1.2.8", - "port-version": 4, + "version": "1.2.8", + "port-version": 6, "description": "Networking library for SDL", "dependencies": [ - "sdl1" + "sdl1", + { + "name": "vcpkg-cmake", + "host": true + } ] } diff --git a/ports/sdl1/SDL1_2017.sln b/ports/sdl1/SDL1_2017.sln.in similarity index 100% rename from ports/sdl1/SDL1_2017.sln rename to ports/sdl1/SDL1_2017.sln.in diff --git a/ports/sdl1/portfile.cmake b/ports/sdl1/portfile.cmake index 47f1b0730ec715..772b22899c64d8 100644 --- a/ports/sdl1/portfile.cmake +++ b/ports/sdl1/portfile.cmake @@ -7,77 +7,74 @@ vcpkg_from_github( PATCHES export-symbols-only-in-shared-build.patch fix-linux-build.patch + sdl-config.patch ) -configure_file(${SOURCE_PATH}/include/SDL_config.h.default ${SOURCE_PATH}/include/SDL_config.h COPYONLY) +configure_file("${SOURCE_PATH}/include/SDL_config.h.default" "${SOURCE_PATH}/include/SDL_config.h" COPYONLY) +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + configure_file("${CURRENT_PORT_DIR}/SDL1_2017.sln.in" "${SOURCE_PATH}/VisualC/SDL1_2017.sln" COPYONLY) -if (VCPKG_TARGET_IS_WINDOWS) - file(COPY ${CMAKE_CURRENT_LIST_DIR}/SDL1_2017.sln DESTINATION ${SOURCE_PATH}/VisualC/ ) - if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - set(LIB_TYPE StaticLibrary) + set(LIB_TYPE StaticLibrary) else() set(LIB_TYPE DynamicLibrary) endif() - - if (VCPKG_CRT_LINKAGE STREQUAL "dynamic") + + if(VCPKG_CRT_LINKAGE STREQUAL "dynamic") set(CRT_TYPE_DBG MultiThreadedDebugDLL) set(CRT_TYPE_REL MultiThreadedDLL) else() set(CRT_TYPE_DBG MultiThreadedDebug) set(CRT_TYPE_REL MultiThreaded) endif() - - configure_file(${CURRENT_PORT_DIR}/SDL.vcxproj.in ${SOURCE_PATH}/VisualC/SDL/SDL.vcxproj @ONLY) - configure_file(${CURRENT_PORT_DIR}/SDLmain.vcxproj.in ${SOURCE_PATH}/VisualC/SDLmain/SDLmain.vcxproj @ONLY) - - # This text file gets copied as a library, and included as one in the package - file(REMOVE_RECURSE ${SOURCE_PATH}/src/hermes/COPYING.LIB) - + + configure_file("${CURRENT_PORT_DIR}/SDL.vcxproj.in" "${SOURCE_PATH}/VisualC/SDL/SDL.vcxproj" @ONLY) + configure_file("${CURRENT_PORT_DIR}/SDLmain.vcxproj.in" "${SOURCE_PATH}/VisualC/SDLmain/SDLmain.vcxproj" @ONLY) + + # This text file gets copied as a library, and included as one in the package + file(REMOVE_RECURSE "${SOURCE_PATH}/src/hermes/COPYING.LIB") + vcpkg_install_msbuild( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" PROJECT_SUBPATH VisualC/SDL1_2017.sln - INCLUDES_SUBPATH include - LICENSE_SUBPATH COPYING - ALLOW_ROOT_INCLUDES ) - + #Take all the fils into include/SDL to sovle conflict with SDL2 port - file(GLOB files ${CURRENT_PACKAGES_DIR}/include/*) - foreach(file ${files}) - file(COPY ${file} DESTINATION ${CURRENT_PACKAGES_DIR}/include/SDL) - file(REMOVE ${file}) - endforeach() - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/SDL/doxyfile) - - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/lib/manual-link) - file(RENAME ${CURRENT_PACKAGES_DIR}/lib/SDLmain.lib ${CURRENT_PACKAGES_DIR}/lib/manual-link/SDLmain.lib) - endif() - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link) - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/SDLmain.lib ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link/SDLmaind.lib) + file(INSTALL "${SOURCE_PATH}/include/" DESTINATION "${CURRENT_PACKAGES_DIR}/include/SDL") + + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/lib/manual-link") + file(RENAME "${CURRENT_PACKAGES_DIR}/lib/SDLmain.lib" "${CURRENT_PACKAGES_DIR}/lib/manual-link/SDLmain.lib") + if(NOT DEFINED VCPKG_BUILD_TYPE) + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/lib/manual-link") + file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/SDLmain.lib" "${CURRENT_PACKAGES_DIR}/debug/lib/manual-link/SDLmaind.lib") endif() else() - message("libgles2-mesa-dev must be installed before sdl1 can build. Install it with \"apt install libgles2-mesa-dev\".") + if(VCPKG_TARGET_IS_LINUX) + message("libgles2-mesa-dev must be installed before sdl1 can build. Install it with \"apt install libgles2-mesa-dev\".") + endif() + + find_program(WHICH_COMMAND NAMES which) + if(NOT WHICH_COMMAND) + set(polyfill_scripts "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-bin") + file(REMOVE_RECURSE "${polyfill_scripts}") + file(MAKE_DIRECTORY "${polyfill_scripts}") + vcpkg_host_path_list(APPEND ENV{PATH} "${polyfill_scripts}") + # sdl's autoreconf.sh needs `which`, but our msys root doesn't have it. + file(WRITE "${polyfill_scripts}/which" "#!/bin/sh\nif test -f \"/usr/bin/\$1\"; then echo \"/usr/bin/\$1\"; else false; fi\n") + file(CHMOD "${polyfill_scripts}/which" PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE) + endif() vcpkg_configure_make( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" ) - + vcpkg_install_make() - vcpkg_fixup_pkgconfig(IGNORE_FLAGS -Wl,-rpath,${CURRENT_PACKAGES_DIR}/lib/pkgconfig/../../lib - -Wl,-rpath,${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/../../lib - SYSTEM_LIBRARIES pthread) - - file(GLOB SDL1_TOOLS "${CURRENT_PACKAGES_DIR}/bin/*") - foreach (SDL1_TOOL ${SDL1_TOOLS}) - file(COPY ${SDL1_TOOL} DESTINATION ${CURRENT_PACKAGES_DIR}/tools) - file(REMOVE ${SDL1_TOOL}) - endforeach() - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin) - - file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -endif() \ No newline at end of file + vcpkg_fixup_pkgconfig() + + file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/share/${PORT}/man3" + ) +endif() +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/sdl1/sdl-config.patch b/ports/sdl1/sdl-config.patch new file mode 100644 index 00000000000000..0851ade5d0a58c --- /dev/null +++ b/ports/sdl1/sdl-config.patch @@ -0,0 +1,13 @@ +diff --git a/sdl-config.in b/sdl-config.in +index e0fcc0c..de602d8 100644 +--- a/sdl-config.in ++++ b/sdl-config.in +@@ -1,6 +1,7 @@ + #!/bin/sh + +-prefix=@prefix@ ++DIRNAME=$(dirname $0) ++prefix=$(CDPATH= cd -- "${DIRNAME%/tools/sdl1/*}" && pwd -P) + exec_prefix=@exec_prefix@ + exec_prefix_set=no + libdir=@libdir@ diff --git a/ports/sdl1/vcpkg.json b/ports/sdl1/vcpkg.json index e75f7a2179642d..53c23d721518e5 100644 --- a/ports/sdl1/vcpkg.json +++ b/ports/sdl1/vcpkg.json @@ -1,7 +1,16 @@ { "name": "sdl1", - "version-string": "1.2.15", - "port-version": 14, + "version": "1.2.15", + "port-version": 20, "description": "Simple DirectMedia Layer is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL and Direct3D.", - "homepage": "https://www.libsdl.org" + "homepage": "https://www.libsdl.org", + "license": "LGPL-2.1-or-later", + "supports": "!osx & !uwp", + "dependencies": [ + { + "name": "vcpkg-msbuild", + "host": true, + "platform": "windows & !mingw" + } + ] } diff --git a/ports/sdl2-gfx/portfile.cmake b/ports/sdl2-gfx/portfile.cmake index 16616c23b01901..5c6dfcd31407bd 100644 --- a/ports/sdl2-gfx/portfile.cmake +++ b/ports/sdl2-gfx/portfile.cmake @@ -6,27 +6,26 @@ vcpkg_download_distfile(ARCHIVE SHA512 213b481469ba2161bd8558a7a5427b129420193b1c3895923d515f69f87991ed2c99bbc44349c60b4bcbb7d7d2255c1f15ee8a3523c26502070cfaacccaa5242 ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH +vcpkg_extract_source_archive( + SOURCE_PATH ARCHIVE ${ARCHIVE} - REF ${VERSION} + SOURCE_BASE "${VERSION}" PATCHES 001-lrint-arm64.patch 002-use-the-lrintf-intrinsic.patch ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS_DEBUG -DSDL_GFX_SKIP_HEADERS=1 ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets() +vcpkg_cmake_install() +vcpkg_cmake_config_fixup() # Handle copyright -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) vcpkg_copy_pdbs() \ No newline at end of file diff --git a/ports/sdl2-gfx/vcpkg.json b/ports/sdl2-gfx/vcpkg.json index 8818ca6a36aab9..4e48c75f3281c7 100644 --- a/ports/sdl2-gfx/vcpkg.json +++ b/ports/sdl2-gfx/vcpkg.json @@ -1,9 +1,20 @@ { "name": "sdl2-gfx", - "version-string": "1.0.4", - "port-version": 8, + "version": "1.0.4", + "port-version": 11, "description": "Graphics primitives (line, circle, rectangle etc.) with AA support, rotozoomer and other drawing related support functions wrapped up in a C based add-on library for the Simple Direct Media (SDL) cross-platform API layer.", "dependencies": [ - "sdl2" + { + "name": "sdl2", + "default-features": false + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/sdl2-image/CMakeLists.txt b/ports/sdl2-image/CMakeLists.txt deleted file mode 100644 index 689f0fcd74503a..00000000000000 --- a/ports/sdl2-image/CMakeLists.txt +++ /dev/null @@ -1,142 +0,0 @@ -cmake_minimum_required(VERSION 2.6) -project(SDL2_image C) - -### configuration ### - -list(APPEND CMAKE_MODULE_PATH "${CURRENT_INSTALLED_DIR}/share/libwebp") -# enable all file formats which are supported natively -set(SUPPORTED_FORMATS BMP GIF LBM PCX PNM TGA XPM XCF XV SVG) - -# enable all file formats which are supported through external dependencies -# first try to load them statically (lib file in vcpkg installation) -# if this fails try to make them a dynamic dependency (dll will be loaded at runtime) if possible. vcpkg cannot resolve these dependencies! -# else do not support this file format at all - -# Can be explicitly enabled or disabled via USE_XYZ -set(DEPENDENCIES PNG JPEG TIFF WEBP) - -# patch library names for preprocessor flags -set(JPEG_FLAG JPG) -set(TIFF_FLAG TIF) - -# names of potentially dynamically loaded libraries -set(JPEG_DYNAMIC \"libjpeg-9.dll\") -set(PNG_DYNAMIC \"libpng16-16.dll\") -set(TIFF_DYNAMIC \"libtiff-5.dll\") -set(WEBP_DYNAMIC \"libwebp-4.dll\") - -### implementation ### - -add_library(SDL2_image - IMG.c - IMG_bmp.c - IMG_gif.c - IMG_jpg.c - IMG_lbm.c - IMG_pcx.c - IMG_png.c - IMG_pnm.c - IMG_svg.c - IMG_tga.c - IMG_tif.c - IMG_webp.c - IMG_xcf.c - IMG_xpm.c - IMG_xv.c - IMG_xxx.c - IMG_WIC.c - version.rc - ) - -if (APPLE) - target_sources(SDL2_image PRIVATE - IMG_ImageIO.m - ) - target_compile_options(SDL2_image BEFORE PRIVATE - "-x" "objective-c" - ) -endif() - -set_target_properties(SDL2_image PROPERTIES DEFINE_SYMBOL DLL_EXPORT) - -foreach(FORMAT ${SUPPORTED_FORMATS}) - add_definitions(-DLOAD_${FORMAT}) -endforeach(FORMAT) - -# SDL -find_path(SDL_INCLUDE_DIR SDL2/SDL.h) -find_package(SDL2 CONFIG REQUIRED) - -include_directories(${SDL_INCLUDE_DIR}) -include_directories(${SDL_INCLUDE_DIR}/SDL2) -include_directories(${CMAKE_SOURCE_DIR}) - -target_link_libraries(SDL2_image SDL2::SDL2) - -# external dependencies -foreach(DEPENDENCY IN LISTS DEPENDENCIES) - if(NOT USE_${DEPENDENCY}) - continue() - endif() - find_package(${DEPENDENCY}) - - if(NOT DEFINED ${DEPENDENCY}_FLAG) - set(${DEPENDENCY}_FLAG ${DEPENDENCY}) - endif() - - add_definitions(-DLOAD_${${DEPENDENCY}_FLAG}) - if(${DEPENDENCY}_FOUND) - message(STATUS " --> linking statically.") - target_link_libraries(SDL2_image ${${DEPENDENCY}_LIBRARIES}) - elseif(DEFINED ${DEPENDENCY}_DYNAMIC) - message(STATUS " --> linking dynamically.") - add_definitions(-DLOAD_${${DEPENDENCY}_FLAG}_DYNAMIC=${${DEPENDENCY}_DYNAMIC}) - set(RUNTIME_DEPENDENCIES ON) - else() - message(STATUS " --> skipping.") - endif() -endforeach(DEPENDENCY) - -if(DEFINED RUNTIME_DEPENDENCIES) - include_directories(VisualC/external/include) -endif() - - -install(TARGETS SDL2_image - EXPORT SDL2_image - RUNTIME DESTINATION bin - ARCHIVE DESTINATION lib - LIBRARY DESTINATION lib) - -install(FILES SDL_image.h DESTINATION include/SDL2 CONFIGURATIONS Release) - -file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/sdl2-image-config.cmake" -[[include(CMakeFindDependencyMacro) -find_dependency(SDL2 CONFIG) -include("${CMAKE_CURRENT_LIST_DIR}/sdl2-image-targets.cmake") -]]) - -install(FILES ${CMAKE_CURRENT_BINARY_DIR}/sdl2-image-config.cmake DESTINATION share/sdl2-image) - -install(EXPORT SDL2_image - DESTINATION share/sdl2-image/ - FILE sdl2-image-targets.cmake - NAMESPACE SDL2:: -) - -message(STATUS "Link-time dependencies:") -message(STATUS " " SDL2::SDL2) -foreach(DEPENDENCY ${DEPENDENCIES}) - if(${DEPENDENCY}_FOUND) - message(STATUS " " ${DEPENDENCY}) - endif() -endforeach(DEPENDENCY) - -if(DEFINED RUNTIME_DEPENDENCIES) - message(STATUS "Run-time dependencies:") - foreach(DEPENDENCY ${DEPENDENCIES}) - if(NOT ${DEPENDENCY}_FOUND AND DEFINED ${DEPENDENCY}_DYNAMIC) - message(STATUS " " ${${DEPENDENCY}_DYNAMIC}) - endif() - endforeach(DEPENDENCY) -endif() diff --git a/ports/sdl2-image/fix-findwebp.patch b/ports/sdl2-image/fix-findwebp.patch new file mode 100644 index 00000000000000..b6ded4a714f732 --- /dev/null +++ b/ports/sdl2-image/fix-findwebp.patch @@ -0,0 +1,26 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 65a8811..1f29faa 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -690,7 +690,7 @@ if(SDL2IMAGE_WEBP) + add_library(SDL2_image::external_libwebp ALIAS webp) + else() + message(STATUS "${PROJECT_NAME}: Using system libwebp") +- find_package(webp REQUIRED) ++ find_package(webp NAMES WebP CONFIG REQUIRED) + list(APPEND PC_REQUIRES libwebp) + endif() + if(SDL2IMAGE_WEBP_SHARED) +diff --git a/SDL2_imageConfig.cmake.in b/SDL2_imageConfig.cmake.in +index c59e844..7b16a60 100644 +--- a/SDL2_imageConfig.cmake.in ++++ b/SDL2_imageConfig.cmake.in +@@ -74,7 +74,7 @@ endif() + + if(SDL2IMAGE_WEBP AND NOT SDL2IMAGE_VENDORED AND NOT TARGET WebP::webp) + list(APPEND webp_ROOT "${CMAKE_CURRENT_LIST_DIR}") +- find_dependency(webp) ++ find_dependency(webp NAMES WebP CONFIG) + endif() + + #FIXME: can't add SDL2IMAGE_SDL2_REQUIRED_VERSION since not all SDL2 installs ship SDL2ConfigVersion.cmake diff --git a/ports/sdl2-image/portfile.cmake b/ports/sdl2-image/portfile.cmake index 84e4e8268d192f..6f30422bb5a4f0 100644 --- a/ports/sdl2-image/portfile.cmake +++ b/ports/sdl2-image/portfile.cmake @@ -1,52 +1,55 @@ -set(SDL2_IMAGE_VERSION "2.0.5") +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO libsdl-org/SDL_image + REF "release-${VERSION}" + SHA512 1ec6e7d08bbcd28bba6c972b2e4a11a1da841abef3ffb3d29669b0f5eb0839f39044b0b334c0707274dd51192e081f25bdab97c6710d632422c4ed0274a30f18 + HEAD_REF main + PATCHES + fix-findwebp.patch +) -vcpkg_download_distfile(ARCHIVE - URLS "https://www.libsdl.org/projects/SDL_image/release/SDL2_image-${SDL2_IMAGE_VERSION}.zip" - FILENAME "SDL2_image-${SDL2_IMAGE_VERSION}.zip" - SHA512 c10e28a0d50fb7a6c985ffe8904370ab4faeb9bbed6f2ffbc81536422e8f8bb66eddbf69b12423082216c2bcfcb617cba4c5970f63fe75bfacccd9f99f02a6a2 +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + libjpeg-turbo SDL2IMAGE_JPG + libwebp SDL2IMAGE_WEBP + tiff SDL2IMAGE_TIF ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} - REF ${SDL2_IMAGE_VERSION} +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} + -DSDL2IMAGE_BACKEND_IMAGEIO=OFF + -DSDL2IMAGE_BACKEND_STB=OFF + -DSDL2IMAGE_DEPS_SHARED=OFF + -DSDL2IMAGE_SAMPLES=OFF + -DSDL2IMAGE_VENDORED=OFF ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +vcpkg_cmake_install() +vcpkg_copy_pdbs() -set(USE_JPEG OFF) -if("libjpeg-turbo" IN_LIST FEATURES) - set(USE_JPEG ON) +if(EXISTS "${CURRENT_PACKAGES_DIR}/cmake") + vcpkg_cmake_config_fixup(PACKAGE_NAME SDL2_image CONFIG_PATH cmake) +elseif(EXISTS "${CURRENT_PACKAGES_DIR}/SDL2_image.framework/Resources") + vcpkg_cmake_config_fixup(PACKAGE_NAME SDL2_image CONFIG_PATH SDL2_image.framework/Resources) +else() + vcpkg_cmake_config_fixup(PACKAGE_NAME SDL2_image CONFIG_PATH lib/cmake/SDL2_image) endif() -set(USE_TIFF OFF) -if("tiff" IN_LIST FEATURES) - set(USE_TIFF ON) -endif() +vcpkg_fixup_pkgconfig() -set(USE_WEBP OFF) -if("libwebp" IN_LIST FEATURES) - set(USE_WEBP ON) +if(NOT VCPKG_BUILD_TYPE) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/SDL2_image.pc" "-lSDL2_image" "-lSDL2_imaged") endif() -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - "-DCURRENT_INSTALLED_DIR=${CURRENT_INSTALLED_DIR}" - -DUSE_PNG=ON - -DUSE_JPEG=${USE_JPEG} - -DUSE_TIFF=${USE_TIFF} - -DUSE_WEBP=${USE_WEBP} +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/SDL2_image.framework" + "${CURRENT_PACKAGES_DIR}/debug/SDL2_image.framework" ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets() - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) - -# Handle copyright -file(COPY ${SOURCE_PATH}/COPYING.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/sdl2-image) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/sdl2-image/COPYING.txt ${CURRENT_PACKAGES_DIR}/share/sdl2-image/copyright) - -vcpkg_copy_pdbs() +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/sdl2-image/usage b/ports/sdl2-image/usage new file mode 100644 index 00000000000000..ab9d3224345854 --- /dev/null +++ b/ports/sdl2-image/usage @@ -0,0 +1,4 @@ +sdl2-image provides CMake targets: + + find_package(SDL2_image CONFIG REQUIRED) + target_link_libraries(main PRIVATE $,SDL2_image::SDL2_image,SDL2_image::SDL2_image-static>) diff --git a/ports/sdl2-image/vcpkg.json b/ports/sdl2-image/vcpkg.json index eb6fe4f3387692..19979738fc6fa7 100644 --- a/ports/sdl2-image/vcpkg.json +++ b/ports/sdl2-image/vcpkg.json @@ -1,12 +1,24 @@ { "name": "sdl2-image", - "version-string": "2.0.5", + "version": "2.8.2", "port-version": 2, "description": "SDL_image is an image file loading library. It loads images as SDL surfaces and textures, and supports the following formats: BMP, GIF, JPEG, LBM, PCX, PNG, PNM, TGA, TIFF, WEBP, XCF, XPM, XV", - "homepage": "https://www.libsdl.org/projects/SDL_image", + "homepage": "https://github.com/libsdl-org/SDL_image", + "license": "Zlib", "dependencies": [ "libpng", - "sdl2" + { + "name": "sdl2", + "default-features": false + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ], "features": { "libjpeg-turbo": { @@ -24,7 +36,10 @@ "tiff": { "description": "Support for TIFF image format", "dependencies": [ - "tiff" + { + "name": "tiff", + "default-features": false + } ] } } diff --git a/ports/sdl2-mixer-ext/fix-dependencies.patch b/ports/sdl2-mixer-ext/fix-dependencies.patch new file mode 100644 index 00000000000000..f232788546ff3a --- /dev/null +++ b/ports/sdl2-mixer-ext/fix-dependencies.patch @@ -0,0 +1,304 @@ +diff --git a/SDL2_mixer_extConfig.cmake.in b/SDL2_mixer_extConfig.cmake.in +index 997d4e828150d10fa4113b3341220ca185fc29a5..2d781528151075385a2e837df3863900b8d36573 100644 +--- a/SDL2_mixer_extConfig.cmake.in ++++ b/SDL2_mixer_extConfig.cmake.in +@@ -6,10 +6,58 @@ set_package_properties(SDL2_mixer_ext PROPERTIES + + @PACKAGE_INIT@ + ++set(SDL_MIXER_X_USE_OGG_VORBIS @USE_OGG_VORBIS@) ++set(SDL_MIXER_X_USE_OPUS @USE_OPUS@) ++set(SDL_MIXER_X_USE_USE_FLAC @USE_FLAC@) ++set(SDL_MIXER_X_USE_USE_WAVPACK @USE_WAVPACK@) ++set(SDL_MIXER_X_USE_MP3_MPG123 @USE_MP3_MPG123@) ++set(SDL_MIXER_X_USE_XMP @USE_XMP@) ++set(SDL_MIXER_X_USE_MIDI_ADLMIDI @USE_MIDI_ADLMIDI@) ++set(SDL_MIXER_X_USE_MIDI_OPNMIDI @USE_MIDI_OPNMIDI@) ++set(SDL_MIXER_X_USE_MIDI_FLUIDSYNTH @USE_MIDI_FLUIDSYNTH@) ++ + if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/SDL2_mixer_ext-shared-targets.cmake") + include("${CMAKE_CURRENT_LIST_DIR}/SDL2_mixer_ext-shared-targets.cmake") + endif() + + if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/SDL2_mixer_ext-static-targets.cmake") ++ include(CMakeFindDependencyMacro) ++ ++ if(SDL_MIXER_X_USE_OGG_VORBIS AND NOT TARGET Vorbis::vorbisfile) ++ find_dependency(Vorbis CONFIG) ++ endif() ++ ++ if(SDL_MIXER_X_USE_OPUS AND NOT TARGET OpusFile::opusfile) ++ find_dependency(OpusFile CONFIG) ++ endif() ++ ++ if(SDL_MIXER_X_USE_USE_FLAC AND NOT TARGET FLAC::FLAC) ++ find_dependency(FLAC CONFIG) ++ endif() ++ ++ if(SDL_MIXER_X_USE_USE_WAVPACK AND NOT TARGET WavPack::WavPack) ++ find_dependency(WavPack CONFIG) ++ endif() ++ ++ if(SDL_MIXER_X_USE_MP3_MPG123 AND NOT TARGET MPG123::libmpg123) ++ find_dependency(MPG123 CONFIG) ++ endif() ++ ++ if(SDL_MIXER_X_USE_XMP AND NOT TARGET libxmp::xmp_static) ++ find_dependency(libxmp CONFIG) ++ endif() ++ ++ if(SDL_MIXER_X_USE_MIDI_ADLMIDI AND NOT TARGET libADLMIDI::ADLMIDI_static) ++ find_dependency(libADLMIDI CONFIG) ++ endif() ++ ++ if(SDL_MIXER_X_USE_MIDI_OPNMIDI AND NOT TARGET libOPNMIDI::OPNMIDI_static) ++ find_dependency(libOPNMIDI CONFIG) ++ endif() ++ ++ if(SDL_MIXER_X_USE_MIDI_FLUIDSYNTH AND NOT TARGET FluidSynth::libfluidsynth) ++ find_dependency(FluidSynth CONFIG) ++ endif() ++ + include("${CMAKE_CURRENT_LIST_DIR}/SDL2_mixer_ext-static-targets.cmake") + endif() +diff --git a/src/codecs/music_ffmpeg.cmake b/src/codecs/music_ffmpeg.cmake +index 285d54df037a1bb126f3c680102ca08d27e83d6e..d2305f39b7c5bfeba6b9fc566764320354833765 100644 +--- a/src/codecs/music_ffmpeg.cmake ++++ b/src/codecs/music_ffmpeg.cmake +@@ -3,7 +3,7 @@ if(USE_FFMPEG AND MIXERX_LGPL) + option(USE_FFMPEG_DYNAMIC "Use dynamical loading of FFMPEG" ON) + + if(USE_SYSTEM_AUDIO_LIBRARIES) +- find_package(FFMPEG QUIET) ++ find_package(FFMPEG REQUIRED) + message("FFMPEG: [${FFMPEG_avcodec_FOUND}] ${FFMPEG_INCLUDE_DIRS} ${FFMPEG_swresample_LIBRARY} ${FFMPEG_avformat_LIBRARY} ${FFMPEG_avcodec_LIBRARY} ${FFMPEG_avutil_LIBRARY}") + + if(USE_FFMPEG_DYNAMIC) +@@ -18,10 +18,7 @@ if(USE_FFMPEG AND MIXERX_LGPL) + endif() + + set(FFMPEG_LINK_LIBRARIES +- ${FFMPEG_swresample_LIBRARY} +- ${FFMPEG_avformat_LIBRARY} +- ${FFMPEG_avcodec_LIBRARY} +- ${FFMPEG_avutil_LIBRARY} ++ ${FFMPEG_LIBRARIES} + ) + else() + message(WARNING "FFMPEG libraries are not a part of AudioCodecs yet. Using any available from the system.") +@@ -43,7 +40,7 @@ if(USE_FFMPEG AND MIXERX_LGPL) + set(FFMPEG_swresample_FOUND 1) + endif() + +- if(FFMPEG_avcodec_FOUND AND FFMPEG_avformat_FOUND AND FFMPEG_avutil_FOUND AND FFMPEG_swresample_FOUND) ++ if(1) + set(FFMPEG_FOUND 1) + endif() + +diff --git a/src/codecs/music_flac.cmake b/src/codecs/music_flac.cmake +index 1a39a4984c6bb36c8a09978540ebdd3b8031d7ef..6726655de7ef622fbb872660cfc0a3d49b00a058 100644 +--- a/src/codecs/music_flac.cmake ++++ b/src/codecs/music_flac.cmake +@@ -3,7 +3,10 @@ if(USE_FLAC) + option(USE_FLAC_DYNAMIC "Use dynamical loading of FLAC" OFF) + + if(USE_SYSTEM_AUDIO_LIBRARIES) +- find_package(FLAC QUIET) ++ find_package(FLAC CONFIG REQUIRED) ++ get_target_property(FLAC_INCLUDE_DIRS FLAC::FLAC INTERFACE_INCLUDE_DIRECTORIES) ++ set(FLAC_LIBRARIES FLAC::FLAC) ++ set(FLAC_FOUND 1) + message("FLAC: [${FLAC_FOUND}] ${FLAC_INCLUDE_DIRS} ${FLAC_LIBRARIES}") + if(USE_FLAC_DYNAMIC) + list(APPEND SDL_MIXER_DEFINITIONS -DFLAC_DYNAMIC=\"${FLAC_DYNAMIC_LIBRARY}\") +diff --git a/src/codecs/music_fluidsynth.cmake b/src/codecs/music_fluidsynth.cmake +index 8dd54447317cba97928f320ce2bd5cc8364a8967..ad7a302173e06302d8a5313302445151f9c14c70 100644 +--- a/src/codecs/music_fluidsynth.cmake ++++ b/src/codecs/music_fluidsynth.cmake +@@ -6,7 +6,10 @@ if(USE_MIDI_FLUIDSYNTH AND NOT USE_MIDI_FLUIDLITE AND MIXERX_LGPL) + message(WARNING "AudioCodecs doesn't ship FluidSynth, it will be recognized from a system!!!") + endif() + +- find_package(FluidSynth QUIET) ++ find_package(FluidSynth CONFIG REQUIRED) ++ get_target_property(FluidSynth_INCLUDE_DIRS FluidSynth::libfluidsynth INTERFACE_INCLUDE_DIRECTORIES) ++ set(FluidSynth_LIBRARIES FluidSynth::libfluidsynth) ++ set(FluidSynth_FOUND 1) + message("FluidSynth: [${FluidSynth_FOUND}] ${FluidSynth_INCLUDE_DIRS} ${FluidSynth_LIBRARIES}") + if(USE_MIDI_FLUIDSYNTH_DYNAMIC) + list(APPEND SDL_MIXER_DEFINITIONS -DFLUIDSYNTH_DYNAMIC=\"${FluidSynth_DYNAMIC_LIBRARY}\") +diff --git a/src/codecs/music_gme.cmake b/src/codecs/music_gme.cmake +index e8a455391489080a88685e4501250f37138b38d6..124d3f3e63eff2e125cbce8139a2958a78088b15 100644 +--- a/src/codecs/music_gme.cmake ++++ b/src/codecs/music_gme.cmake +@@ -3,7 +3,14 @@ if(USE_GME AND MIXERX_LGPL) + option(USE_GME_DYNAMIC "Use dynamical loading of Game Music Emulators library" OFF) + + if(USE_SYSTEM_AUDIO_LIBRARIES) +- find_package(GME QUIET) ++ find_path(GME_INCLUDE_DIRS "gme.h" PATH_SUFFIXES gme) ++ find_library(GME_LIBRARY_RELEASE NAMES gme PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib" NO_DEFAULT_PATH) ++ find_library(GME_LIBRARY_DEBUG NAMES gme PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/lib" NO_DEFAULT_PATH) ++ include(SelectLibraryConfigurations) ++ select_library_configurations(GME) ++ find_package(ZLIB REQUIRED) ++ list(APPEND GME_LIBRARIES ${ZLIB_LIBRARIES}) ++ set(GME_FOUND 1) + message("GME: [${GME_FOUND}] ${GME_INCLUDE_DIRS} ${GME_LIBRARIES}") + if(USE_GME_DYNAMIC) + list(APPEND SDL_MIXER_DEFINITIONS -DGME_DYNAMIC=\"${GME_DYNAMIC_LIBRARY}\") +diff --git a/src/codecs/music_midi_adl.cmake b/src/codecs/music_midi_adl.cmake +index c8f7bbdbfdb62e1fd0a20e5006c4a4d1b4ab8452..0be6f3b9e761263857dba8c1931e84cf22640535 100644 +--- a/src/codecs/music_midi_adl.cmake ++++ b/src/codecs/music_midi_adl.cmake +@@ -3,7 +3,15 @@ if(USE_MIDI_ADLMIDI AND MIXERX_GPL) + option(USE_MIDI_ADLMIDI_DYNAMIC "Use dynamical loading of libADLMIDI library" OFF) + + if(USE_SYSTEM_AUDIO_LIBRARIES) +- find_package(ADLMIDI QUIET) ++ find_package(libADLMIDI CONFIG REQUIRED) ++ if(SDL_MIXER_X_STATIC) ++ set(_adlmidi libADLMIDI::ADLMIDI_static) ++ else() ++ set(_adlmidi libADLMIDI::ADLMIDI_shared) ++ endif() ++ get_target_property(ADLMIDI_INCLUDE_DIRS ${_adlmidi} INTERFACE_INCLUDE_DIRECTORIES) ++ set(ADLMIDI_LIBRARIES ${_adlmidi}) ++ set(ADLMIDI_FOUND 1) + message("ADLMIDI: [${ADLMIDI_FOUND}] ${ADLMIDI_INCLUDE_DIRS} ${ADLMIDI_LIBRARIES}") + + if(USE_MIDI_ADLMIDI_DYNAMIC) +diff --git a/src/codecs/music_midi_opn.cmake b/src/codecs/music_midi_opn.cmake +index 62b9dda0c2771ef25a7bc91949cdce0c55ea5250..26bb304d720f7d93eb3d8b24fd81dbc33df513cc 100644 +--- a/src/codecs/music_midi_opn.cmake ++++ b/src/codecs/music_midi_opn.cmake +@@ -3,7 +3,15 @@ if(USE_MIDI_OPNMIDI AND MIXERX_GPL) + option(USE_MIDI_OPNMIDI_DYNAMIC "Use dynamical loading of libOPNMIDI library" OFF) + + if(USE_SYSTEM_AUDIO_LIBRARIES) +- find_package(OPNMIDI QUIET) ++ find_package(libOPNMIDI CONFIG REQUIRED) ++ if(SDL_MIXER_X_STATIC) ++ set(_opnmidi libOPNMIDI::OPNMIDI_static) ++ else() ++ set(_opnmidi libOPNMIDI::OPNMIDI_shared) ++ endif() ++ get_target_property(OPNMIDI_INCLUDE_DIRS ${_opnmidi} INTERFACE_INCLUDE_DIRECTORIES) ++ set(OPNMIDI_LIBRARIES ${_opnmidi}) ++ set(OPNMIDI_FOUND 1) + message("OPNMIDI: [${OPNMIDI_FOUND}] ${OPNMIDI_INCLUDE_DIRS} ${OPNMIDI_LIBRARIES}") + + if(USE_MIDI_OPNMIDI_DYNAMIC) +diff --git a/src/codecs/music_modplug.cmake b/src/codecs/music_modplug.cmake +index 555bcd91574d1c65761121648b331715a5fe8dad..ad065be36cd0176aa7f08631a6df48e857f76e42 100644 +--- a/src/codecs/music_modplug.cmake ++++ b/src/codecs/music_modplug.cmake +@@ -4,7 +4,12 @@ if(USE_MODPLUG) + option(USE_MODPLUG_STATIC "Use linking with a static ModPlug" ON) + + if(USE_SYSTEM_AUDIO_LIBRARIES) +- find_package(ModPlug QUIET) ++ find_path(ModPlug_INCLUDE_DIRS "modplug.h" PATH_SUFFIXES libmodplug) ++ find_library(ModPlug_LIBRARY_RELEASE NAMES modplug PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib" NO_DEFAULT_PATH) ++ find_library(ModPlug_LIBRARY_DEBUG NAMES modplug PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/lib" NO_DEFAULT_PATH) ++ include(SelectLibraryConfigurations) ++ select_library_configurations(ModPlug) ++ set(ModPlug_FOUND 1) + message("ModPlug: [${ModPlug_FOUND}] ${ModPlug_INCLUDE_DIRS} ${ModPlug_LIBRARIES}") + if(USE_MODPLUG_DYNAMIC) + list(APPEND SDL_MIXER_DEFINITIONS -DMODPLUG_DYNAMIC=\"${ModPlug_DYNAMIC_LIBRARY}\") +diff --git a/src/codecs/music_mpg123.cmake b/src/codecs/music_mpg123.cmake +index c615896cd95e2854ced2d4188ea8e0d18870ad91..602a7b136ec135d55839cf7ab103df56357a8a4c 100644 +--- a/src/codecs/music_mpg123.cmake ++++ b/src/codecs/music_mpg123.cmake +@@ -4,7 +4,10 @@ if(USE_MP3_MPG123 AND MIXERX_LGPL) + option(USE_MP3_MPG123_DYNAMIC "Use dynamical loading of MPG123" OFF) + + if(USE_SYSTEM_AUDIO_LIBRARIES) +- find_package(Mpg123 QUIET) ++ find_package(MPG123 CONFIG REQUIRED) ++ get_target_property(MPG123_INCLUDE_DIR MPG123::libmpg123 INTERFACE_INCLUDE_DIRECTORIES) ++ set(MPG123_LIBRARIES MPG123::libmpg123) ++ set(MPG123_FOUND 1) + message("MPG123 found in ${MPG123_INCLUDE_DIR} folder") + if(USE_MP3_MPG123_DYNAMIC) + list(APPEND SDL_MIXER_DEFINITIONS -DMPG123_DYNAMIC=\"${MPG123_DYNAMIC_LIBRARY}\") +diff --git a/src/codecs/music_ogg.cmake b/src/codecs/music_ogg.cmake +index e7930f9c7e1a583f77306f6838933b991382872f..33a8a59e72e30e3cabd4e834895a23ae7b101324 100644 +--- a/src/codecs/music_ogg.cmake ++++ b/src/codecs/music_ogg.cmake +@@ -1,4 +1,4 @@ +-if(LIBOGG_NEEDED) ++if(0) + if(USE_SYSTEM_AUDIO_LIBRARIES) + find_package(OGG REQUIRED) + else() +diff --git a/src/codecs/music_ogg_vorbis.cmake b/src/codecs/music_ogg_vorbis.cmake +index 0de2bec5d9327af7b38f09993dd884be786f3a5b..42b94340956fb8b28a03485ddc68282e3cf57ee9 100644 +--- a/src/codecs/music_ogg_vorbis.cmake ++++ b/src/codecs/music_ogg_vorbis.cmake +@@ -10,7 +10,10 @@ if(USE_OGG_VORBIS) + find_package(Tremor QUIET) + message("Tremor: [${Tremor_FOUND}] ${Tremor_INCLUDE_DIRS} ${Tremor_LIBRARIES}") + else() +- find_package(Vorbis QUIET) ++ find_package(Vorbis CONFIG REQUIRED) ++ get_target_property(Vorbis_INCLUDE_DIRS Vorbis::vorbisfile INTERFACE_INCLUDE_DIRECTORIES) ++ set(Vorbis_LIBRARIES Vorbis::vorbisfile) ++ set(Vorbis_FOUND 1) + message("Vorbis: [${Vorbis_FOUND}] ${Vorbis_INCLUDE_DIRS} ${Vorbis_LIBRARIES}") + endif() + +diff --git a/src/codecs/music_opus.cmake b/src/codecs/music_opus.cmake +index 61fb32e7ec1bcb4e21cb77607399f1f36317c481..44e0b5da00146492a2b34a65ab0c16846b1aeb84 100644 +--- a/src/codecs/music_opus.cmake ++++ b/src/codecs/music_opus.cmake +@@ -3,7 +3,10 @@ if(USE_OPUS) + option(USE_OPUS_DYNAMIC "Use dynamical loading of Opus" OFF) + + if(USE_SYSTEM_AUDIO_LIBRARIES) +- find_package(Opus QUIET) ++ find_package(OpusFile CONFIG REQUIRED) ++ get_target_property(Opus_INCLUDE_DIRS OpusFile::opusfile INTERFACE_INCLUDE_DIRECTORIES) ++ set(Opus_LIBRARIES OpusFile::opusfile) ++ set(Opus_FOUND 1) + message("Opus: [${Opus_FOUND}] ${Opus_INCLUDE_DIRS} ${Opus_LIBRARIES} ${LIBOPUS_LIB}") + if(USE_OPUS_DYNAMIC) + list(APPEND SDL_MIXER_DEFINITIONS -DOPUS_DYNAMIC=\"${OpusFile_DYNAMIC_LIBRARY}\") +diff --git a/src/codecs/music_wavpack.cmake b/src/codecs/music_wavpack.cmake +index f93acdb4315e0f44311efdbc254a3fcd69964151..95d0372e2b8d0503864edf41f01977cf28a480f9 100644 +--- a/src/codecs/music_wavpack.cmake ++++ b/src/codecs/music_wavpack.cmake +@@ -4,7 +4,10 @@ if(USE_WAVPACK) + option(USE_WAVPACK_DSD "Enable WavPack DSD music support" OFF) + + if(USE_SYSTEM_AUDIO_LIBRARIES) +- find_package(WavPack QUIET) ++ find_package(WavPack CONFIG REQUIRED) ++ get_target_property(WavPack_INCLUDE_DIRS WavPack::WavPack INTERFACE_INCLUDE_DIRECTORIES) ++ set(WavPack_LIBRARIES WavPack::WavPack) ++ set(WavPack_FOUND 1) + message("WavPack: [${WavPack_FOUND}] ${WavPack_INCLUDE_DIRS} ${WavPack_LIBRARIES}") + if(USE_WAVPACK_DYNAMIC) + list(APPEND SDL_MIXER_DEFINITIONS -DWAVPACK_DYNAMIC=\"${WavPack_DYNAMIC_LIBRARY}\") +diff --git a/src/codecs/music_xmp.cmake b/src/codecs/music_xmp.cmake +index 52f2048b0b8cb9c72a27f16777fb7d9112be1c2d..2eab53c039e875733f18fc2f20b2e9f178371425 100644 +--- a/src/codecs/music_xmp.cmake ++++ b/src/codecs/music_xmp.cmake +@@ -25,7 +25,15 @@ if(USE_XMP) + set(XMP_LIBRARIES ${XMPLITE_LIBRARIES}) + set(XMP_FOUND ${XMPLITE_FOUND}) + else() +- find_package(XMP) ++ find_package(libxmp CONFIG REQUIRED) ++ if(SDL_MIXER_X_STATIC) ++ set(_xmp libxmp::xmp_static) ++ else() ++ set(_xmp libxmp::xmp_shared) ++ endif() ++ get_target_property(XMP_INCLUDE_DIRS ${_xmp} INTERFACE_INCLUDE_DIRECTORIES) ++ set(XMP_LIBRARIES ${_xmp}) ++ set(XMP_FOUND 1) + message("XMP: [${XMP_FOUND}] ${XMP_INCLUDE_DIRS} ${XMP_LIBRARIES}") + if(USE_XMP_DYNAMIC) + list(APPEND SDL_MIXER_DEFINITIONS -DXMP_DYNAMIC=\"${XMP_DYNAMIC_LIBRARY}\") diff --git a/ports/sdl2-mixer-ext/portfile.cmake b/ports/sdl2-mixer-ext/portfile.cmake new file mode 100644 index 00000000000000..5f92bfb1eab28f --- /dev/null +++ b/ports/sdl2-mixer-ext/portfile.cmake @@ -0,0 +1,99 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO WohlSoft/SDL-Mixer-X + REF "${VERSION}" + SHA512 bdb39122ecf8492723615421c37c0d2a8d5958110d7bf2f0a01f5c54cc1f3f6e9a54887df7d348e9dc7e34906cff67794b0f5d61ca6fe5e4019f84ed88cf07e5 + HEAD_REF master + PATCHES + fix-dependencies.patch +) + +file(REMOVE + "${SOURCE_PATH}/cmake/find/FindOGG.cmake" # Conflicts with official configurations + "${SOURCE_PATH}/cmake/find/FindFFMPEG.cmake" # Using FindFFMPEG.cmake provided by vcpkg +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + libvorbis USE_OGG_VORBIS + opusfile USE_OPUS + libflac USE_FLAC + wavpack USE_WAVPACK + mpg123 USE_MP3_MPG123 + libmodplug USE_MODPLUG + libxmp USE_XMP + libgme USE_GME + ffmpeg USE_FFMPEG + pxtone USE_PXTONE + cmd USE_CMD + libadlmidi USE_MIDI_ADLMIDI + libopnmidi USE_MIDI_OPNMIDI + timidity USE_MIDI_TIMIDITY + fluidsynth USE_MIDI_FLUIDSYNTH + nativemidi USE_MIDI_NATIVE_ALT + nativemidi USE_MIDI_NATIVE +) + +if("libadlmidi" IN_LIST FEATURES OR + "libopnmidi" IN_LIST FEATURES OR + "timidity" IN_LIST FEATURES OR + "fluidsynth" IN_LIST FEATURES OR + "nativemidi" IN_LIST FEATURES) + set(USE_MIDI ON) +else() + set(USE_MIDI OFF) +endif() + +if("fluidsynth" IN_LIST FEATURES) + vcpkg_find_acquire_program(PKGCONFIG) + list(APPEND EXTRA_OPTIONS "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}") +endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} + ${EXTRA_OPTIONS} + -DMIXERX_ENABLE_GPL=ON + -DMIXERX_ENABLE_LGPL=ON + -DUSE_SYSTEM_SDL2=ON + -DUSE_SYSTEM_AUDIO_LIBRARIES=ON + -DUSE_OGG_VORBIS_STB=OFF + -DUSE_DRFLAC=OFF + -USE_WAVPACK_DSD=ON + -DUSE_MP3_DRMP3=OFF + -DUSE_FFMPEG_DYNAMIC=OFF + -DUSE_MIDI=${USE_MIDI} + -DUSE_MIDI_EDMIDI=OFF + -DUSE_MIDI_FLUIDLITE=OFF + MAYBE_UNUSED_VARIABLES + USE_WAVPACK_DSD + USE_FFMPEG_DYNAMIC + USE_CMD + USE_MIDI_NATIVE + USE_MIDI_NATIVE_ALT +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup( + PACKAGE_NAME SDL2_mixer_ext + CONFIG_PATH lib/cmake/SDL2_mixer_ext) + +vcpkg_fixup_pkgconfig() + +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/debug/include" +) + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") + +set(LICENSE_FILES + "${SOURCE_PATH}/COPYING.txt" + "${SOURCE_PATH}/GPLv2.txt" + "${SOURCE_PATH}/GPLv3.txt" + "${SOURCE_PATH}/SDL2_mixer_ext.License.txt" +) +vcpkg_install_copyright(FILE_LIST ${LICENSE_FILES}) diff --git a/ports/sdl2-mixer-ext/usage b/ports/sdl2-mixer-ext/usage new file mode 100644 index 00000000000000..4655035fac6963 --- /dev/null +++ b/ports/sdl2-mixer-ext/usage @@ -0,0 +1,4 @@ +sdl2-mixer-ext provides CMake targets: + + find_package(SDL2_mixer_ext CONFIG REQUIRED) + target_link_libraries(main PRIVATE $,SDL2_mixer_ext::SDL2_mixer_ext,SDL2_mixer_ext::SDL2_mixer_ext_Static>) diff --git a/ports/sdl2-mixer-ext/vcpkg.json b/ports/sdl2-mixer-ext/vcpkg.json new file mode 100644 index 00000000000000..bf61b0923e340b --- /dev/null +++ b/ports/sdl2-mixer-ext/vcpkg.json @@ -0,0 +1,128 @@ +{ + "name": "sdl2-mixer-ext", + "version": "2.6.0", + "port-version": 1, + "description": "An audio mixer library based on the SDL library, a fork of SDL_mixer", + "homepage": "https://wohlsoft.github.io/SDL-Mixer-X", + "license": "Zlib OR LGPL-2.1-or-later OR GPL-2.0-or-later OR GPL-3.0-or-later", + "dependencies": [ + { + "name": "sdl2", + "default-features": false + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "cmd": { + "description": "Use external command for playing music (Linux only).", + "supports": "linux" + }, + "ffmpeg": { + "description": "Use FFMPEG to play WMA and AAC audio formats.", + "dependencies": [ + { + "name": "ffmpeg", + "default-features": false + } + ] + }, + "fluidsynth": { + "description": "Use FluidSynth to play MIDI audio format.", + "dependencies": [ + { + "name": "fluidsynth", + "default-features": false + } + ] + }, + "libadlmidi": { + "description": "Use libADLMIDI to play XMI, MUS, IMF and regular MIDI audio format with OPL3 (YMF262) emulator.", + "dependencies": [ + { + "name": "libadlmidi", + "default-features": false + } + ] + }, + "libflac": { + "description": "Use libflac to play FLAC audio format.", + "dependencies": [ + "libflac" + ] + }, + "libgme": { + "description": "Use libgme to play chip music (AY, GBS, GYM, HES, KSS, NSF/NSFE, SAP, SPC, VGM/VGZ).", + "dependencies": [ + { + "name": "libgme", + "default-features": false + } + ] + }, + "libmodplug": { + "description": "Use libmodplug to play tracker music including exclusive formats (AMS, DMF, DSM, MT2).", + "dependencies": [ + "libmodplug" + ] + }, + "libopnmidi": { + "description": "Use libOPNMIDI to play MIDI and RMI audio format with OPN2 (YM2612) emulator.", + "dependencies": [ + { + "name": "libopnmidi", + "default-features": false + } + ] + }, + "libvorbis": { + "description": "Use libvorbis to play OGG audio format.", + "dependencies": [ + "libvorbis" + ] + }, + "libxmp": { + "description": "Use libxmp to play tracker music including exclusive formats (ABK, DIGI, DTM, EMOD, FLX, FNK, GDM, IMF, J2B, LIQ, M15, MFP, MGT, MMDC, MTN, RTM, SFX, SPM, STIM, STX, WOW).", + "dependencies": [ + { + "name": "libxmp", + "default-features": false + } + ] + }, + "mpg123": { + "description": "Use mpg123 to play MP3 audio format.", + "dependencies": [ + "mpg123" + ] + }, + "nativemidi": { + "description": "Use Native MIDI Player to play MIDI audio format.", + "supports": "(windows & !uwp) | osx" + }, + "opusfile": { + "description": "Use opusfile to play Opus audio format.", + "dependencies": [ + "opusfile" + ] + }, + "pxtone": { + "description": "Use pxtone to play PPTUNE and PTCOP audio formats." + }, + "timidity": { + "description": "Use Timidity to play MIDI audio format." + }, + "wavpack": { + "description": "Use wavpack to play VW audio format.", + "dependencies": [ + "wavpack" + ] + } + } +} diff --git a/ports/sdl2-mixer/CMakeLists.txt b/ports/sdl2-mixer/CMakeLists.txt deleted file mode 100644 index b6d0dbb92ac67c..00000000000000 --- a/ports/sdl2-mixer/CMakeLists.txt +++ /dev/null @@ -1,147 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(SDL2_MIXER C) - -find_path(SDL_INCLUDE_DIR SDL.h PATH_SUFFIXES SDL2) -find_package(SDL2 CONFIG REQUIRED) -set(SDL_MIXER_INCLUDES ${SDL_INCLUDE_DIR}) - -set(SDL_MIXER_LIBRARIES SDL2::SDL2) - -# builtin formats -set(SDL_MIXER_DEFINES MUSIC_WAV) - -# MP3 support -if(SDL_MIXER_ENABLE_MP3) - find_path(MPG123_INCLUDE_DIR mpg123.h) - find_library(MPG123_LIBRARY NAMES libmpg123 mpg123) - list(APPEND SDL_MIXER_INCLUDES ${MPG123_INCLUDE_DIR}) - list(APPEND SDL_MIXER_DEFINES MUSIC_MP3_MPG123) - list(APPEND SDL_MIXER_LIBRARIES ${MPG123_LIBRARY}) - if (SDL_DYNAMIC_LOAD) - get_filename_component(MPG123_LIBRARY_NAME "${MPG123_LIBRARY}" NAME_WE) - list(APPEND SDL_MIXER_LOAD_DEFINES -DMPG123_DYNAMIC="${MPG123_LIBRARY_NAME}${LIBRARY_SUFFIX}") - endif() -endif() - -# FLAC support -if(SDL_MIXER_ENABLE_FLAC) - find_path(FLAC_INCLUDE_DIR FLAC/all.h) - find_library(FLAC_LIBRARY FLAC) - list(APPEND SDL_MIXER_INCLUDES ${FLAC_INCLUDE_DIR}) - list(APPEND SDL_MIXER_DEFINES MUSIC_FLAC) - list(APPEND SDL_MIXER_LIBRARIES ${FLAC_LIBRARY}) - if (SDL_DYNAMIC_LOAD) - get_filename_component(FLAC_LIBRARY_NAME "${FLAC_LIBRARY}" NAME_WE) - list(APPEND SDL_MIXER_LOAD_DEFINES -DFLAC_DYNAMIC="${FLAC_LIBRARY_NAME}${LIBRARY_SUFFIX}") - endif() -endif() - -# MOD support -if(SDL_MIXER_ENABLE_MOD) - find_path(MODPLUG_INCLUDE_DIR libmodplug/modplug.h) - find_library(MODPLUG_LIBRARY modplug) - list(APPEND SDL_MIXER_INCLUDES ${MODPLUG_INCLUDE_DIR}) - list(APPEND SDL_MIXER_DEFINES MUSIC_MOD_MODPLUG) - list(APPEND SDL_MIXER_LIBRARIES ${MODPLUG_LIBRARY}) - if (SDL_DYNAMIC_LOAD) - get_filename_component(MODPLUG_LIBRARY_NAME "${MODPLUG_LIBRARY}" NAME_WE) - list(APPEND SDL_MIXER_LOAD_DEFINES -DMODPLUG_DYNAMIC="${MODPLUG_LIBRARY_NAME}${LIBRARY_SUFFIX}") - endif() -endif() - -# Ogg-Vorbis support -if(SDL_MIXER_ENABLE_OGGVORBIS) - find_path(VORBIS_INCLUDE_DIR vorbis/codec.h) - find_library(VORBISFILE_LIBRARY vorbisfile) - list(APPEND SDL_MIXER_INCLUDES ${VORBIS_INCLUDE_DIR}) - list(APPEND SDL_MIXER_DEFINES MUSIC_OGG) - list(APPEND SDL_MIXER_LIBRARIES ${VORBISFILE_LIBRARY}) - if (SDL_DYNAMIC_LOAD) - get_filename_component(VORBISFILE_LIBRARY_NAME "${VORBISFILE_LIBRARY}" NAME_WE) - list(APPEND SDL_MIXER_LOAD_DEFINES -DOGG_DYNAMIC="${VORBISFILE_LIBRARY_NAME}${LIBRARY_SUFFIX}") - endif() -endif() - -# Opus support -if(SDL_MIXER_ENABLE_OPUS) - find_path(OPUS_INCLUDE_DIR opus/opusfile.h) - find_library(OPUSFILE_LIBRARY opusfile) - list(APPEND SDL_MIXER_INCLUDES ${OPUS_INCLUDE_DIR}) - list(APPEND SDL_MIXER_DEFINES MUSIC_OPUS) - list(APPEND SDL_MIXER_LIBRARIES ${OPUSFILE_LIBRARY}) - if (SDL_DYNAMIC_LOAD) - get_filename_component(OPUSFILE_LIBRARY_NAME "${OPUSFILE_LIBRARY}" NAME_WE) - list(APPEND SDL_MIXER_LOAD_DEFINES -DOPUS_DYNAMIC="${OPUSFILE_LIBRARY_NAME}${LIBRARY_SUFFIX}") - endif() -endif() - -# Fluidsynth support -if(SDL_MIXER_ENABLE_FLUIDSYNTH) - find_path(FLUIDSYNTH_INCLUDE_DIR fluidsynth.h) - find_library(FLUIDSYNTH_LIBRARY fluidsynth) - list(APPEND SDL_MIXER_INCLUDES ${FLUIDSYNTH_INCLUDE_DIR}) - list(APPEND SDL_MIXER_DEFINES MUSIC_MID_FLUIDSYNTH) - list(APPEND SDL_MIXER_LIBRARIES ${FLUIDSYNTH_LIBRARY}) - if (SDL_DYNAMIC_LOAD) - get_filename_component(FLUIDSYNTH_LIBRARY_NAME "${FLUIDSYNTH_LIBRARY}" NAME_WE) - list(APPEND SDL_MIXER_LOAD_DEFINES -DFLUIDSYNTH_DYNAMIC="${FLUIDSYNTH_LIBRARY_NAME}${LIBRARY_SUFFIX}") - endif() -endif() - -add_library(SDL2_mixer - effect_position.c - effect_stereoreverse.c - effects_internal.c - load_aiff.c - load_voc.c - mixer.c - music.c - music_cmd.c - music_flac.c - music_fluidsynth.c - music_mad.c - music_mikmod.c - music_modplug.c - music_mpg123.c - music_ogg.c - music_opus.c - music_timidity.c - music_wav.c - version.rc) - -if((WIN32 OR APPLE) AND SDL_MIXER_ENABLE_NATIVEMIDI) - list(APPEND SDL_MIXER_DEFINES MUSIC_MID_NATIVE) - target_sources(SDL2_mixer PRIVATE music_nativemidi.c native_midi/native_midi_common.c) - target_link_libraries(SDL2_mixer ${SDL_MIXER_LIBRARIES}) - if(WIN32) - target_sources(SDL2_mixer PRIVATE native_midi/native_midi_win32.c) - target_link_libraries(SDL2_mixer Winmm) - elseif(APPLE) - target_sources(SDL2_mixer PRIVATE native_midi/native_midi_macosx.c) - endif() -endif() - -set_target_properties(SDL2_mixer PROPERTIES DEFINE_SYMBOL DLL_EXPORT) -target_compile_definitions(SDL2_mixer PRIVATE ${SDL_MIXER_DEFINES} ${SDL_MIXER_LOAD_DEFINES}) -target_include_directories(SDL2_mixer PRIVATE ${SDL_MIXER_INCLUDES} ./native_midi) - -install(TARGETS SDL2_mixer - EXPORT SDL2_mixer - RUNTIME DESTINATION bin - ARCHIVE DESTINATION lib - LIBRARY DESTINATION lib) - -install(EXPORT SDL2_mixer - DESTINATION share/sdl2-mixer/ - FILE sdl2-mixer-config.cmake - NAMESPACE SDL2:: -) - -if(NOT SDL_MIXER_SKIP_HEADERS) - install(FILES SDL_mixer.h DESTINATION include/SDL2) -endif() - -message(STATUS "Link-time dependencies:") -foreach(LIBRARY ${SDL_MIXER_LIBRARIES}) - message(STATUS " " ${LIBRARY}) -endforeach() diff --git a/ports/sdl2-mixer/fix-pkg-prefix.patch b/ports/sdl2-mixer/fix-pkg-prefix.patch new file mode 100644 index 00000000000000..71fe784709c6a5 --- /dev/null +++ b/ports/sdl2-mixer/fix-pkg-prefix.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index dc37b28..d139596 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -907,7 +907,7 @@ if(SDL2MIXER_INSTALL) + endif() + + ##### export files ##### +- if(WIN32 AND NOT MINGW) ++ if(0) + set(SDLMIXER_INSTALL_CMAKEDIR_DEFAULT "cmake") + else() + set(SDLMIXER_INSTALL_CMAKEDIR_DEFAULT "${CMAKE_INSTALL_LIBDIR}/cmake/SDL2_mixer") diff --git a/ports/sdl2-mixer/portfile.cmake b/ports/sdl2-mixer/portfile.cmake index aa89f98e7a5d36..7e6fbc17a5c20a 100644 --- a/ports/sdl2-mixer/portfile.cmake +++ b/ports/sdl2-mixer/portfile.cmake @@ -1,57 +1,69 @@ -set(SDL2_MIXER_VERSION 2.0.4) - -vcpkg_download_distfile(ARCHIVE - URLS "https://www.libsdl.org/projects/SDL_mixer/release/SDL2_mixer-${SDL2_MIXER_VERSION}.zip" - FILENAME "SDL2_mixer-${SDL2_MIXER_VERSION}.zip" - SHA512 359b4f9877804f9c4b3cb608ca6082aab684f07a20a816ab71c8cdf85d26f76d67eeb5aee44daf52b7935d82aa3b45941f8f53f07ca3dd5150d6c58ed99e1492 +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO libsdl-org/SDL_mixer + REF "release-${VERSION}" + SHA512 e4c9a4418725ce019bb62216c8fd484cf04b34e2099af633d4c84e0e558fe6ba1921e791c5dde319266ffe3a1237f887871c819a249a8df7e9440c36fce181da + PATCHES + fix-pkg-prefix.patch ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} - REF ${SDL2_MIXER_VERSION} +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + fluidsynth SDL2MIXER_MIDI + fluidsynth SDL2MIXER_MIDI_FLUIDSYNTH + libflac SDL2MIXER_FLAC + libflac SDL2MIXER_FLAC_LIBFLAC + libmodplug SDL2MIXER_MOD + libmodplug SDL2MIXER_MOD_MODPLUG + mpg123 SDL2MIXER_MP3 + mpg123 SDL2MIXER_MP3_MPG123 + wavpack SDL2MIXER_WAVPACK + wavpack SDL2MIXER_WAVPACK_DSD + opusfile SDL2MIXER_OPUS ) -if ("dynamic-load" IN_LIST FEATURES) - if (VCPKG_LIBRARY_LINKAGE STREQUAL static) - message("Building static library, disable dynamic loading") - elseif (NOT "mpg123" IN_LIST FEATURES - AND NOT "libflac" IN_LIST FEATURES - AND NOT "libmodplug" IN_LIST FEATURES - AND NOT "libvorbis" IN_LIST FEATURES - AND NOT "opusfile" IN_LIST FEATURES - ) - message("No features selected, dynamic loading will not be enabled") - endif() +if("fluidsynth" IN_LIST FEATURES) + vcpkg_find_acquire_program(PKGCONFIG) + list(APPEND EXTRA_OPTIONS "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}") endif() -file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") - -vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - FEATURES - dynamic-load SDL_DYNAMIC_LOAD - mpg123 SDL_MIXER_ENABLE_MP3 - libflac SDL_MIXER_ENABLE_FLAC - libmodplug SDL_MIXER_ENABLE_MOD - libvorbis SDL_MIXER_ENABLE_OGGVORBIS - opusfile SDL_MIXER_ENABLE_OPUS - nativemidi SDL_MIXER_ENABLE_NATIVEMIDI - fluidsynth SDL_MIXER_ENABLE_FLUIDSYNTH -) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${FEATURE_OPTIONS} - -DLIBRARY_SUFFIX=${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX} # It should always be dynamic suffix - OPTIONS_DEBUG - -DSDL_MIXER_SKIP_HEADERS=ON + ${EXTRA_OPTIONS} + -DSDL2MIXER_VENDORED=OFF + -DSDL2MIXER_SAMPLES=OFF + -DSDL2MIXER_DEPS_SHARED=OFF + -DSDL2MIXER_OPUS_SHARED=OFF + -DSDL2MIXER_VORBIS_VORBISFILE_SHARED=OFF + -DSDL2MIXER_VORBIS="VORBISFILE" + -DSDL2MIXER_FLAC_DRFLAC=OFF + -DSDL2MIXER_MIDI_NATIVE=OFF + -DSDL2MIXER_MIDI_TIMIDITY=OFF + -DSDL2MIXER_MP3_DRMP3=OFF + -DSDL2MIXER_MOD_XMP_SHARED=${BUILD_SHARED} + MAYBE_UNUSED_VARIABLES + SDL2MIXER_MP3_DRMP3 ) vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_cmake_config_fixup() +vcpkg_cmake_config_fixup( + PACKAGE_NAME "SDL2_mixer" + CONFIG_PATH "lib/cmake/SDL2_mixer" +) +vcpkg_fixup_pkgconfig() + +if(NOT VCPKG_BUILD_TYPE) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/SDL2_mixer.pc" "-lSDL2_mixer" "-lSDL2_mixerd") +endif() +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -file(INSTALL "${SOURCE_PATH}/COPYING.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) \ No newline at end of file +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/sdl2-mixer/usage b/ports/sdl2-mixer/usage new file mode 100644 index 00000000000000..efcc86b1370774 --- /dev/null +++ b/ports/sdl2-mixer/usage @@ -0,0 +1,4 @@ +sdl2-mixer provides CMake targets: + + find_package(SDL2_mixer CONFIG REQUIRED) + target_link_libraries(main PRIVATE $,SDL2_mixer::SDL2_mixer,SDL2_mixer::SDL2_mixer-static>) diff --git a/ports/sdl2-mixer/vcpkg.json b/ports/sdl2-mixer/vcpkg.json index 02013acf1a11db..b3c9034ea11512 100644 --- a/ports/sdl2-mixer/vcpkg.json +++ b/ports/sdl2-mixer/vcpkg.json @@ -1,11 +1,16 @@ { "name": "sdl2-mixer", - "version": "2.0.4", - "port-version": 13, + "version": "2.8.0", + "port-version": 3, "description": "Multi-channel audio mixer library for SDL.", - "homepage": "https://www.libsdl.org/projects/SDL_mixer", + "homepage": "https://github.com/libsdl-org/SDL_mixer", + "license": "Zlib", "dependencies": [ - "sdl2", + "libvorbis", + { + "name": "sdl2", + "default-features": false + }, { "name": "vcpkg-cmake", "host": true @@ -16,50 +21,45 @@ } ], "default-features": [ - "nativemidi" + "wavpack" ], "features": { - "dynamic-load": { - "description": "Load plugins with dynamic call." - }, "fluidsynth": { - "description": "Support for FluidSynth MIDI/SF2 audio format.", + "description": "Use FluidSynth to play MIDI audio format.", "dependencies": [ "fluidsynth" ] }, "libflac": { - "description": "Support for FLAC audio format.", + "description": "Use libflac to play FLAC audio format.", "dependencies": [ "libflac" ] }, "libmodplug": { - "description": "Support for MOD audio format.", - "dependencies": [ - "libmodplug" - ] - }, - "libvorbis": { - "description": "Support for OGG Vorbis audio format.", + "description": "Use libmodplug to play MOD audio format.", "dependencies": [ - "libvorbis" + "libmodplug", + "libxmp" ] }, "mpg123": { - "description": "Support for MP3 audio format.", + "description": "Use mpg123 to play MP3 audio format.", "dependencies": [ "mpg123" ] }, - "nativemidi": { - "description": "Support for MIDI audio format on Windows and macOS." - }, "opusfile": { - "description": "Support for Opus audio format.", + "description": "Use opusfile to play Opus audio format.", "dependencies": [ "opusfile" ] + }, + "wavpack": { + "description": "Enable WavPack music.", + "dependencies": [ + "wavpack" + ] } } } diff --git a/ports/sdl2-net/CMakeLists.txt b/ports/sdl2-net/CMakeLists.txt deleted file mode 100644 index 87c77929c9b57d..00000000000000 --- a/ports/sdl2-net/CMakeLists.txt +++ /dev/null @@ -1,38 +0,0 @@ -cmake_minimum_required(VERSION 3.0) -project(SDL2_NET C) - -if (MSVC) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /wd4244 /wd4996") -endif() - -find_path(SDL_INCLUDE_DIR SDL2/SDL.h) -find_package(SDL2 CONFIG REQUIRED) - -add_library(SDL2_net SDLnet.c SDLnetselect.c SDLnetTCP.c SDLnetUDP.c version.rc) - -set_target_properties(SDL2_net PROPERTIES DEFINE_SYMBOL DLL_EXPORT) -target_compile_definitions(SDL2_net PRIVATE _WINSOCK_DEPRECATED_NO_WARNINGS) -target_include_directories(SDL2_net PRIVATE ${SDL_INCLUDE_DIR}/SDL2) - -if (WIN32) - target_link_libraries(SDL2_net SDL2::SDL2 ws2_32 iphlpapi) -endif() - -install(TARGETS SDL2_net - EXPORT SDL2_net - RUNTIME DESTINATION bin - ARCHIVE DESTINATION lib - LIBRARY DESTINATION lib) - -install(EXPORT SDL2_net - DESTINATION "share/sdl2-net" - FILE sdl2-net-config.cmake - NAMESPACE SDL2:: -) - -if(NOT DEFINED SDL_NET_SKIP_HEADERS) - install(FILES SDL_net.h DESTINATION include/SDL2) -endif() - -message(STATUS "Link-time dependencies:") -message(STATUS " " SDL2::SDL2) diff --git a/ports/sdl2-net/fix-uwp.patch b/ports/sdl2-net/fix-uwp.patch new file mode 100644 index 00000000000000..79f4c07a290858 --- /dev/null +++ b/ports/sdl2-net/fix-uwp.patch @@ -0,0 +1,13 @@ +diff --git a/SDLnetUDP.c b/SDLnetUDP.c +index ee4e46b..dc9b4b0 100644 +--- a/SDLnetUDP.c ++++ b/SDLnetUDP.c +@@ -22,7 +22,7 @@ + #include "SDLnetsys.h" + #include "SDL_net.h" + +-#if defined(__WIN32__) || defined(__OS2__) ++#if defined(_WIN32) || defined(__OS2__) + #define srandom srand + #define random rand + #endif diff --git a/ports/sdl2-net/portfile.cmake b/ports/sdl2-net/portfile.cmake index 9534a9aa4f8421..eac85455e0b9e2 100644 --- a/ports/sdl2-net/portfile.cmake +++ b/ports/sdl2-net/portfile.cmake @@ -1,26 +1,34 @@ -vcpkg_download_distfile(ARCHIVE - URLS "https://www.libsdl.org/projects/SDL_net/release/SDL2_net-2.0.1.tar.gz" - FILENAME "SDL2_net-2.0.1.tar.gz" - SHA512 d27faee3cddc3592dae38947e6c1df0cbaa95f82fde9c87db6d11f6312d868cea74f6830ad07ceeb3d0d75e9424cebf39e54fddf9a1147e8d9e664609de92b7a +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO libsdl-org/SDL_net + REF 669e75b84632e2c6cc5c65974ec9e28052cb7a4e # release-2.2.0 + SHA512 180c757d704c72dc7fcc392c13942214c87b90de22e32045ec9eb6cde5da2b762516e14120d8bee52f7f4a59ad8e30d4f71e313918432ae07ef71df8e9380e4b + HEAD_REF main + PATCHES + fix-uwp.patch ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DSDL2NET_SAMPLES=OFF ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +vcpkg_cmake_install() -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS_DEBUG - -DSDL_NET_SKIP_HEADERS=ON) +if(EXISTS "${CURRENT_PACKAGES_DIR}/cmake") + vcpkg_cmake_config_fixup(PACKAGE_NAME SDL2_net CONFIG_PATH cmake) +else() + vcpkg_cmake_config_fixup(PACKAGE_NAME SDL2_net CONFIG_PATH lib/cmake/SDL2_net) +endif() -vcpkg_install_cmake() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/lib/pkgconfig" +) -file(INSTALL ${SOURCE_PATH}/COPYING.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 "${SOURCE_PATH}/LICENSE.txt") diff --git a/ports/sdl2-net/usage b/ports/sdl2-net/usage new file mode 100644 index 00000000000000..f08bbc7d10203c --- /dev/null +++ b/ports/sdl2-net/usage @@ -0,0 +1,4 @@ +sdl2-net provides CMake targets: + + find_package(SDL2_net CONFIG REQUIRED) + target_link_libraries(main PRIVATE $,SDL2_net::SDL2_net,SDL2_net::SDL2_net-static>) diff --git a/ports/sdl2-net/vcpkg.json b/ports/sdl2-net/vcpkg.json index 03aa452d8ed8d8..72a7076ec34c14 100644 --- a/ports/sdl2-net/vcpkg.json +++ b/ports/sdl2-net/vcpkg.json @@ -1,10 +1,22 @@ { "name": "sdl2-net", - "version-string": "2.0.1", - "port-version": 9, + "version": "2.2.0", + "port-version": 3, "description": "Networking library for SDL", - "homepage": "https://www.libsdl.org/projects/SDL_net", + "homepage": "https://github.com/libsdl-org/SDL_net", + "license": "Zlib", "dependencies": [ - "sdl2" + { + "name": "sdl2", + "default-features": false + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/sdl2-ttf/CMakeLists.txt b/ports/sdl2-ttf/CMakeLists.txt deleted file mode 100644 index 1ac20ec1f2c92c..00000000000000 --- a/ports/sdl2-ttf/CMakeLists.txt +++ /dev/null @@ -1,32 +0,0 @@ -cmake_minimum_required(VERSION 3.0) -project(SDL2_TTF C) - -find_path(SDL_INCLUDE_DIR SDL2/SDL.h) -find_package(SDL2 CONFIG REQUIRED) -find_package(Freetype REQUIRED) - -add_library(SDL2_ttf SDL_ttf.c version.rc) - -set_target_properties(SDL2_ttf PROPERTIES DEFINE_SYMBOL DLL_EXPORT) -target_include_directories(SDL2_ttf PRIVATE ${SDL_INCLUDE_DIR}/SDL2 ${FREETYPE_INCLUDE_DIRS}) -target_link_libraries(SDL2_ttf SDL2::SDL2 ${FREETYPE_LIBRARIES}) - -install(TARGETS SDL2_ttf - EXPORT SDL2_ttf - RUNTIME DESTINATION bin - ARCHIVE DESTINATION lib - LIBRARY DESTINATION lib) - -INSTALL(EXPORT SDL2_ttf - DESTINATION "share/sdl2-ttf" - FILE sdl2-ttf-config.cmake - NAMESPACE SDL2:: -) - -if(NOT DEFINED SDL_TTF_SKIP_HEADERS) - install(FILES SDL_ttf.h DESTINATION include/SDL2) -endif() - -message(STATUS "Link-time dependencies:") -message(STATUS " " SDL2::SDL2) -message(STATUS " " ${FREETYPE_LIBRARIES}) diff --git a/ports/sdl2-ttf/portfile.cmake b/ports/sdl2-ttf/portfile.cmake index 24f75241fd8c4c..1f080e1caa5414 100644 --- a/ports/sdl2-ttf/portfile.cmake +++ b/ports/sdl2-ttf/portfile.cmake @@ -1,30 +1,40 @@ -set(VERSION 2.0.15) +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO libsdl-org/SDL_ttf + REF "release-${VERSION}" + SHA512 2e5dd54633c92329195370953ccf396dd4a12be30f432f46dc1c7023b3c871b8a99f5d2ca5b066ebc41fab02a070976911caeab18b08e6e4c5ab5cc3ad17be23 + HEAD_REF main +) -vcpkg_download_distfile(ARCHIVE - URLS "https://www.libsdl.org/projects/SDL_ttf/release/SDL2_ttf-${VERSION}.tar.gz" - FILENAME "SDL2_ttf-${VERSION}.tar.gz" - SHA512 30d685932c3dd6f2c94e2778357a5c502f0421374293d7102a64d92f9c7861229bf36bedf51c1a698b296a58c858ca442d97afb908b7df1592fc8d4f8ae8ddfd +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + harfbuzz SDL2TTF_HARFBUZZ ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} - REF ${VERSION} +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DSDL2TTF_VENDORED=OFF + -DSDL2TTF_SAMPLES=OFF + ${FEATURE_OPTIONS} ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +vcpkg_cmake_install() +if(EXISTS "${CURRENT_PACKAGES_DIR}/cmake") + vcpkg_cmake_config_fixup(PACKAGE_NAME SDL2_ttf CONFIG_PATH cmake) +else() + vcpkg_cmake_config_fixup(PACKAGE_NAME SDL2_ttf CONFIG_PATH lib/cmake/SDL2_ttf) +endif() -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS_DEBUG - -DSDL_TTF_SKIP_HEADERS=ON) +vcpkg_fixup_pkgconfig() -vcpkg_install_cmake() -vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets() +if(NOT VCPKG_BUILD_TYPE) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/SDL2_ttf.pc" "-lSDL2_ttf" "-lSDL2_ttfd") +endif() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/licenses") -file(COPY ${SOURCE_PATH}/COPYING.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/sdl2-ttf) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/sdl2-ttf/COPYING.txt ${CURRENT_PACKAGES_DIR}/share/sdl2-ttf/copyright) +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/sdl2-ttf/usage b/ports/sdl2-ttf/usage new file mode 100644 index 00000000000000..200fbb9727fcb3 --- /dev/null +++ b/ports/sdl2-ttf/usage @@ -0,0 +1,4 @@ +sdl2-ttf provides CMake targets: + + find_package(SDL2_ttf CONFIG REQUIRED) + target_link_libraries(main PRIVATE $,SDL2_ttf::SDL2_ttf,SDL2_ttf::SDL2_ttf-static>) diff --git a/ports/sdl2-ttf/vcpkg.json b/ports/sdl2-ttf/vcpkg.json index 73035cb60d7102..2c8ec7ffa87861 100644 --- a/ports/sdl2-ttf/vcpkg.json +++ b/ports/sdl2-ttf/vcpkg.json @@ -1,11 +1,31 @@ { "name": "sdl2-ttf", - "version-string": "2.0.15", - "port-version": 4, + "version": "2.22.0", + "port-version": 1, "description": "A library for rendering TrueType fonts with SDL", "homepage": "https://www.libsdl.org/projects/SDL_ttf/", + "license": "Zlib", "dependencies": [ "freetype", - "sdl2" - ] + { + "name": "sdl2", + "default-features": false + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "harfbuzz": { + "description": "Enable HarfBuzz support", + "dependencies": [ + "harfbuzz" + ] + } + } } diff --git a/ports/sdl2/0001-sdl2-Enable-creation-of-pkg-cfg-file-on-windows.patch b/ports/sdl2/0001-sdl2-Enable-creation-of-pkg-cfg-file-on-windows.patch deleted file mode 100644 index e69568b2323d76..00000000000000 --- a/ports/sdl2/0001-sdl2-Enable-creation-of-pkg-cfg-file-on-windows.patch +++ /dev/null @@ -1,35 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -2348,7 +2348,6 @@ - execute_process(COMMAND sh ${SDL2_SOURCE_DIR}/build-scripts/updaterev.sh - WORKING_DIRECTORY ${SDL2_BINARY_DIR}) - endif() --if(NOT WINDOWS OR CYGWIN OR MINGW) - - set(prefix ${CMAKE_INSTALL_PREFIX}) - -@@ -2375,7 +2375,7 @@ - set(SDL_STATIC_LIBS ${_SDL_STATIC_LIBS}) - listtostrrev(SDL_LIBS _SDL_LIBS) - set(SDL_LIBS ${_SDL_LIBS}) -- else() -+ elseif(NOT WINDOWS_STORE) - listtostr(EXTRA_LIBS _EXTRA_LIBS "-l") - set(SDL_STATIC_LIBS ${SDL_LIBS} ${EXTRA_LDFLAGS} ${_EXTRA_LIBS}) - list(REMOVE_DUPLICATES SDL_STATIC_LIBS) -@@ -2403,7 +2403,6 @@ - "${SDL2_BINARY_DIR}/sdl2-config" @ONLY) - configure_file("${SDL2_SOURCE_DIR}/SDL2.spec.in" - "${SDL2_BINARY_DIR}/SDL2.spec" @ONLY) --endif() - - macro(check_add_debug_flag FLAG SUFFIX) - check_c_compiler_flag(${FLAG} HAS_C_FLAG_${SUFFIX}) -@@ -2728,6 +2728,7 @@ - # TODO: what about the .spec file? Is it only needed for RPM creation? - install(FILES "${SDL2_SOURCE_DIR}/sdl2.m4" DESTINATION "${CMAKE_INSTALL_FULL_DATAROOTDIR}/aclocal") - endif() -+install(FILES ${SDL2_BINARY_DIR}/sdl2.pc DESTINATION "lib${LIB_SUFFIX}/pkgconfig") - - ##### Uninstall target ##### - diff --git a/ports/sdl2/0002-sdl2-skip-ibus-on-linux.patch b/ports/sdl2/0002-sdl2-skip-ibus-on-linux.patch deleted file mode 100644 index b23212fa031ab6..00000000000000 --- a/ports/sdl2/0002-sdl2-skip-ibus-on-linux.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1295,12 +1295,6 @@ - set(HAVE_FCITX TRUE) - endif() - -- pkg_search_module(IBUS ibus-1.0 ibus) -- if(IBUS_FOUND) -- set(HAVE_IBUS_IBUS_H TRUE) -- include_directories(${IBUS_INCLUDE_DIRS}) -- list(APPEND EXTRA_LIBS ${IBUS_LIBRARIES}) -- endif() - - if (HAVE_IBUS_IBUS_H OR HAVE_FCITX) - set(SDL_USE_IME TRUE) diff --git a/ports/sdl2/0003-sdl2-disable-sdlmain-target-search-on-uwp.patch b/ports/sdl2/0003-sdl2-disable-sdlmain-target-search-on-uwp.patch deleted file mode 100644 index e5ab214675c804..00000000000000 --- a/ports/sdl2/0003-sdl2-disable-sdlmain-target-search-on-uwp.patch +++ /dev/null @@ -1,34 +0,0 @@ ---- a/SDL2Config.cmake -+++ b/SDL2Config.cmake -@@ -32,6 +2,7 @@ - endif() - endforeach() - -+if(NOT WINDOWS_STORE) - foreach(prop ${relprops}) - get_target_property(sdl2mainimplib SDL2::SDL2main ${prop}) - if(sdl2mainimplib) -@@ -37,6 +37,7 @@ - break() - endif() - endforeach() -+endif() - - foreach(prop ${dbgprops}) - get_target_property(sdl2implibdbg SDL2::SDL2 ${prop}) -@@ -47,6 +47,7 @@ - endif() - endforeach() - -+if(NOT WINDOWS_STORE) - foreach(prop ${dbgprops}) - get_target_property(sdl2mainimplibdbg SDL2::SDL2main ${prop}) - if(sdl2mainimplibdbg) -@@ -55,6 +55,7 @@ - break() - endif() - endforeach() -+endif() - - if( sdl2implib AND sdl2mainimplib AND sdl2implibdbg AND sdl2mainimplibdbg ) - # we have both release and debug builds of SDL2 and SDL2main, so use this ugly diff --git a/ports/sdl2/0004-sdl2-alias-on-static-build.patch b/ports/sdl2/0004-sdl2-alias-on-static-build.patch deleted file mode 100644 index 6bb4eb061eb420..00000000000000 --- a/ports/sdl2/0004-sdl2-alias-on-static-build.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- a/SDL2Config.cmake -+++ b/SDL2Config.cmake -@@ -1,5 +1,17 @@ - include("${CMAKE_CURRENT_LIST_DIR}/SDL2Targets.cmake") - -+# on static-only builds create an alias -+if(NOT TARGET SDL2::SDL2 AND TARGET SDL2::SDL2-static) -+ if(CMAKE_VERSION VERSION_LESS "3.11") -+ message(FATAL_ERROR "At least CMake 3.11 is required for this configuration.") -+ elseif(CMAKE_VERSION VERSION_LESS "3.18") -+ # Aliasing local targets is not supported on CMake < 3.18, so make all targets global. -+ set_target_properties(SDL2::SDL2-static PROPERTIES IMPORTED_GLOBAL TRUE) -+ set_target_properties(SDL2::SDL2main PROPERTIES IMPORTED_GLOBAL TRUE) -+ endif() -+ add_library(SDL2::SDL2 ALIAS SDL2::SDL2-static) -+endif() -+ - # provide ${SDL2_LIBRARIES}, ${SDL2_INCLUDE_DIRS} etc, like sdl2-config.cmake does, - # for compatibility between SDL2 built with autotools and SDL2 built with CMake - diff --git a/ports/sdl2/alsa-dep-fix.patch b/ports/sdl2/alsa-dep-fix.patch new file mode 100644 index 00000000000000..5ee6eefe22f1f5 --- /dev/null +++ b/ports/sdl2/alsa-dep-fix.patch @@ -0,0 +1,14 @@ +diff --git a/SDL2Config.cmake.in b/SDL2Config.cmake.in +index cc8bcf26d..ead829767 100644 +--- a/SDL2Config.cmake.in ++++ b/SDL2Config.cmake.in +@@ -35,7 +35,8 @@ include("${CMAKE_CURRENT_LIST_DIR}/sdlfind.cmake") + + set(SDL_ALSA @SDL_ALSA@) + set(SDL_ALSA_SHARED @SDL_ALSA_SHARED@) +-if(SDL_ALSA AND NOT SDL_ALSA_SHARED AND TARGET SDL2::SDL2-static) ++if(SDL_ALSA) ++ set(CMAKE_REQUIRE_FIND_PACKAGE_ALSA 1) + sdlFindALSA() + endif() + unset(SDL_ALSA) diff --git a/ports/sdl2/cxx-linkage-pkgconfig.diff b/ports/sdl2/cxx-linkage-pkgconfig.diff new file mode 100644 index 00000000000000..beaed424cf916d --- /dev/null +++ b/ports/sdl2/cxx-linkage-pkgconfig.diff @@ -0,0 +1,24 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2a91824..a8e9de4 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -3162,6 +3162,19 @@ set(SDL_STATIC_LIBS ${SDL_LIBS} ${EXTRA_LDFLAGS} ${_EXTRA_LIBS}) + list(REMOVE_DUPLICATES SDL_STATIC_LIBS) + listtostr(SDL_STATIC_LIBS _SDL_STATIC_LIBS) + set(SDL_STATIC_LIBS ${_SDL_STATIC_LIBS}) ++if("${SOURCE_FILES};" MATCHES "[.]cpp;") ++ 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() ++ string(APPEND SDL_STATIC_LIBS "${FAKE_CXX_LINKAGE}") ++endif() + listtostr(SDL_LIBS _SDL_LIBS) + set(SDL_LIBS ${_SDL_LIBS}) + listtostr(SDL_CFLAGS _SDL_CFLAGS "") diff --git a/ports/sdl2/deps.patch b/ports/sdl2/deps.patch new file mode 100644 index 00000000000000..a8637d8c801b71 --- /dev/null +++ b/ports/sdl2/deps.patch @@ -0,0 +1,13 @@ +diff --git a/cmake/sdlchecks.cmake b/cmake/sdlchecks.cmake +index 65a98efbe..2f99f28f1 100644 +--- a/cmake/sdlchecks.cmake ++++ b/cmake/sdlchecks.cmake +@@ -352,7 +352,7 @@ endmacro() + # - HAVE_SDL_LOADSO opt + macro(CheckLibSampleRate) + if(SDL_LIBSAMPLERATE) +- find_package(SampleRate QUIET) ++ find_package(SampleRate CONFIG REQUIRED) + if(SampleRate_FOUND AND TARGET SampleRate::samplerate) + set(HAVE_LIBSAMPLERATE TRUE) + set(HAVE_LIBSAMPLERATE_H TRUE) diff --git a/ports/sdl2/portfile.cmake b/ports/sdl2/portfile.cmake index 56e82dafa1be76..bf30b1a94f97fc 100644 --- a/ports/sdl2/portfile.cmake +++ b/ports/sdl2/portfile.cmake @@ -1,15 +1,13 @@ -set(SDL2_VERSION 2.0.16) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libsdl-org/SDL - REF release-2.0.16 - SHA512 45ce71f77b01f5fd886f92e5b3d96f1f72c7e0f70c09e615384a900533b941cad65bf6b54a125a9eeb8499e2056e9a8e54d4e654bccfca9730584792a2b18fbc - HEAD_REF master + REF "release-${VERSION}" + SHA512 b681e8e58bb696090d58514df67736ba5b78dc4ed93ab7b2d074aba8a3ea6a6404c5871c3306cfd0b7370d658b1eb7fef1827035b6b2bd931c7c8c631625b110 + HEAD_REF main PATCHES - 0001-sdl2-Enable-creation-of-pkg-cfg-file-on-windows.patch - 0002-sdl2-skip-ibus-on-linux.patch - 0003-sdl2-disable-sdlmain-target-search-on-uwp.patch - 0004-sdl2-alias-on-static-build.patch + deps.patch + alsa-dep-fix.patch + cxx-linkage-pkgconfig.diff ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" SDL_STATIC) @@ -18,35 +16,47 @@ string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" FORCE_STATIC_VCRT) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES - vulkan VIDEO_VULKAN - x11 X11_SHARED + alsa SDL_ALSA + dbus SDL_DBUS + ibus SDL_IBUS + samplerate SDL_LIBSAMPLERATE + vulkan SDL_VULKAN + wayland SDL_WAYLAND + x11 SDL_X11 ) if ("x11" IN_LIST FEATURES) - if (VCPKG_TARGET_IS_WINDOWS) - message(FATAL_ERROR "Feature x11 only support UNIX.") - endif() message(WARNING "You will need to install Xorg dependencies to use feature x11:\nsudo apt install libx11-dev libxft-dev libxext-dev\n") endif() +if ("wayland" IN_LIST FEATURES) + message(WARNING "You will need to install Wayland dependencies to use feature wayland:\nsudo apt install libwayland-dev libxkbcommon-dev libegl1-mesa-dev\n") +endif() +if ("ibus" IN_LIST FEATURES) + message(WARNING "You will need to install ibus dependencies to use feature ibus:\nsudo apt install libibus-1.0-dev\n") +endif() + +if(VCPKG_TARGET_IS_UWP) + set(configure_opts WINDOWS_USE_MSBUILD) +endif() vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" + ${configure_opts} OPTIONS ${FEATURE_OPTIONS} -DSDL_STATIC=${SDL_STATIC} -DSDL_SHARED=${SDL_SHARED} - -DFORCE_STATIC_VCRT=${FORCE_STATIC_VCRT} - -DLIBC=ON + -DSDL_FORCE_STATIC_VCRT=${FORCE_STATIC_VCRT} + -DSDL_LIBC=ON + -DSDL_TEST=OFF + -DSDL_INSTALL_CMAKEDIR=cmake + -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON + -DSDL_LIBSAMPLERATE_SHARED=OFF + MAYBE_UNUSED_VARIABLES + SDL_FORCE_STATIC_VCRT ) vcpkg_cmake_install() - -if(EXISTS "${CURRENT_PACKAGES_DIR}/cmake") - vcpkg_cmake_config_fixup(CONFIG_PATH cmake) -elseif(EXISTS "${CURRENT_PACKAGES_DIR}/lib/cmake/SDL2") - vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/SDL2) -elseif(EXISTS "${CURRENT_PACKAGES_DIR}/SDL2.framework/Resources") - vcpkg_cmake_config_fixup(CONFIG_PATH SDL2.framework/Resources) -endif() +vcpkg_cmake_config_fixup(CONFIG_PATH cmake) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" @@ -55,6 +65,8 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin/sdl2-config" "${CURRENT_PACKAGES_DIR}/SDL2.framework" "${CURRENT_PACKAGES_DIR}/debug/SDL2.framework" + "${CURRENT_PACKAGES_DIR}/share/licenses" + "${CURRENT_PACKAGES_DIR}/share/aclocal" ) file(GLOB BINS "${CURRENT_PACKAGES_DIR}/debug/bin/*" "${CURRENT_PACKAGES_DIR}/bin/*") @@ -65,7 +77,7 @@ if(NOT BINS) ) endif() -if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_UWP) +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_UWP AND NOT VCPKG_TARGET_IS_MINGW) if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/lib/manual-link") file(RENAME "${CURRENT_PACKAGES_DIR}/lib/SDL2main.lib" "${CURRENT_PACKAGES_DIR}/lib/manual-link/SDL2main.lib") @@ -77,11 +89,10 @@ if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_UWP) file(GLOB SHARE_FILES "${CURRENT_PACKAGES_DIR}/share/sdl2/*.cmake") foreach(SHARE_FILE ${SHARE_FILES}) - vcpkg_replace_string("${SHARE_FILE}" "lib/SDL2main" "lib/manual-link/SDL2main") + vcpkg_replace_string("${SHARE_FILE}" "lib/SDL2main" "lib/manual-link/SDL2main" IGNORE_UNCHANGED) endforeach() endif() -configure_file("${SOURCE_PATH}/LICENSE.txt" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) vcpkg_copy_pdbs() set(DYLIB_COMPATIBILITY_VERSION_REGEX "set\\(DYLIB_COMPATIBILITY_VERSION (.+)\\)") @@ -91,9 +102,33 @@ file(STRINGS "${SOURCE_PATH}/CMakeLists.txt" DYLIB_CURRENT_VERSION REGEX ${DYLIB string(REGEX REPLACE ${DYLIB_COMPATIBILITY_VERSION_REGEX} "\\1" DYLIB_COMPATIBILITY_VERSION "${DYLIB_COMPATIBILITY_VERSION}") string(REGEX REPLACE ${DYLIB_CURRENT_VERSION_REGEX} "\\1" DYLIB_CURRENT_VERSION "${DYLIB_CURRENT_VERSION}") -if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/sdl2.pc" "-lSDL2main" "-lSDL2maind") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/sdl2.pc" "-lSDL2 " "-lSDL2d ") +if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug" AND NOT VCPKG_TARGET_IS_ANDROID) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/sdl2.pc" "-lSDL2main" "-lSDL2maind" IGNORE_UNCHANGED) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/sdl2.pc" "-lSDL2 " "-lSDL2d " IGNORE_UNCHANGED) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/sdl2.pc" "-lSDL2-static " "-lSDL2-staticd " IGNORE_UNCHANGED) +endif() + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic" AND VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/sdl2.pc" "-lSDL2-static " " ") + endif() + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/sdl2.pc" "-lSDL2-staticd " " ") + endif() +endif() + +if(VCPKG_TARGET_IS_UWP) + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/sdl2.pc" "$<$:d>.lib" "") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/sdl2.pc" "-l-nodefaultlib:" "-nodefaultlib:") + endif() + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/sdl2.pc" "$<$:d>.lib" "d") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/sdl2.pc" "-l-nodefaultlib:" "-nodefaultlib:") + endif() endif() -vcpkg_fixup_pkgconfig() \ No newline at end of file +vcpkg_fixup_pkgconfig() + +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/sdl2/usage b/ports/sdl2/usage new file mode 100644 index 00000000000000..1cddcd46ffcf46 --- /dev/null +++ b/ports/sdl2/usage @@ -0,0 +1,8 @@ +sdl2 provides CMake targets: + + find_package(SDL2 CONFIG REQUIRED) + target_link_libraries(main + PRIVATE + $ + $,SDL2::SDL2,SDL2::SDL2-static> + ) diff --git a/ports/sdl2/vcpkg.json b/ports/sdl2/vcpkg.json index dc5ab84190aae3..010ef1f1336ab0 100644 --- a/ports/sdl2/vcpkg.json +++ b/ports/sdl2/vcpkg.json @@ -1,9 +1,9 @@ { "name": "sdl2", - "version": "2.0.16", - "port-version": 2, + "version": "2.30.9", "description": "Simple DirectMedia Layer is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL and Direct3D.", "homepage": "https://www.libsdl.org/download-2.0.php", + "license": "Zlib", "dependencies": [ { "name": "vcpkg-cmake", @@ -14,12 +14,64 @@ "host": true } ], + "default-features": [ + { + "name": "dbus", + "platform": "linux" + }, + { + "name": "ibus", + "platform": "linux" + }, + { + "name": "wayland", + "platform": "linux" + }, + { + "name": "x11", + "platform": "linux" + } + ], "features": { + "alsa": { + "description": "Support for alsa audio", + "dependencies": [ + { + "name": "alsa", + "platform": "linux" + } + ] + }, + "dbus": { + "description": "Build with D-Bus support", + "dependencies": [ + { + "name": "dbus", + "default-features": false, + "platform": "linux" + } + ] + }, + "ibus": { + "description": "Build with ibus IME support", + "supports": "linux" + }, + "samplerate": { + "description": "Use libsamplerate for audio rate conversion", + "dependencies": [ + "libsamplerate" + ] + }, "vulkan": { "description": "Vulkan functionality for SDL" }, + "wayland": { + "description": "Build with Wayland support", + "supports": "linux" + }, "x11": { - "description": "Dynamically load X11 support" + "description": "Build with X11 support", + "supports": "!windows" } } } diff --git a/ports/sdl2pp/fix-dependencies.patch b/ports/sdl2pp/fix-dependencies.patch index 48e5c8f979bf2e..ca680b4f2e6700 100644 --- a/ports/sdl2pp/fix-dependencies.patch +++ b/ports/sdl2pp/fix-dependencies.patch @@ -2,71 +2,65 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt index cdfd2a6..dc08748 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -23,11 +23,15 @@ ENDIF(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR) +@@ -23,10 +23,25 @@ ENDIF(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR) # depends FIND_PACKAGE(SDL2 REQUIRED) -SET(SDL2_ALL_INCLUDE_DIRS ${SDL2_INCLUDE_DIR}) -SET(SDL2_ALL_LIBRARIES ${SDL2_LIBRARY}) -+SET(SDL2_ALL_INCLUDE_DIRS ) -+IF (BUILD_SHARED_LIBS) ++SET(SDL2_ALL_INCLUDE_DIRS "") ++IF(TARGET SDL2::SDL2) + SET(SDL2_ALL_LIBRARIES SDL2::SDL2) +ELSE() + SET(SDL2_ALL_LIBRARIES SDL2::SDL2-static) +ENDIF() SET(SDL2_ALL_PKGCONFIG_MODULES sdl2) -SET(SDL2PP_EXTRA_LIBRARIES ${SDL2MAIN_LIBRARY}) --SET(SDL2PP_EXTRA_PKGCONFIG_LIBRARIES ${SDL2MAIN_LIBRARY}) -+SET(SDL2PP_EXTRA_LIBRARIES SDL2::SDL2main) -+SET(SDL2PP_EXTRA_PKGCONFIG_LIBRARIES SDL2::SDL2main) ++set(SDL2PP_EXTRA_LIBRARIES SDL2::SDL2main) ++get_target_property(SDL2_MAIN_LIBRARY_DEBUG SDL2::SDL2main IMPORTED_LOCATION_DEBUG) ++get_target_property(SDL2_MAIN_LIBRARY_RELEASE SDL2::SDL2main IMPORTED_LOCATION_RELEASE) ++get_target_property(SDL2_MAIN_LIBRARY_GENERAL SDL2::SDL2main IMPORTED_LOCATION) ++set(SDL2MAIN_LIBRARY "") ++if(CMAKE_BUILD_TYPE STREQUAL "Debug" AND SDL2_MAIN_LIBRARY_DEBUG) ++set(SDL2MAIN_LIBRARY "${SDL2_MAIN_LIBRARY_DEBUG}") ++elseif(SDL2_MAIN_LIBRARY_RELEASE) ++set(SDL2MAIN_LIBRARY "${SDL2_MAIN_LIBRARY_RELEASE}") ++elseif(SDL2_MAIN_LIBRARY_GENERAL) ++set(SDL2MAIN_LIBRARY "${SDL2_MAIN_LIBRARY_GENERAL}") ++endif() + SET(SDL2PP_EXTRA_PKGCONFIG_LIBRARIES ${SDL2MAIN_LIBRARY}) IF(MINGW) - SET(MINGW32_LIBRARY "mingw32" CACHE STRING "mingw32 library") -@@ -36,27 +40,27 @@ IF(MINGW) +@@ -36,18 +40,16 @@ IF(MINGW) ENDIF(MINGW) IF(SDL2PP_WITH_IMAGE) -- FIND_PACKAGE(SDL2_image REQUIRED) + FIND_PACKAGE(SDL2_image REQUIRED) - SET(SDL2_ALL_INCLUDE_DIRS ${SDL2_ALL_INCLUDE_DIRS} ${SDL2_IMAGE_INCLUDE_DIR}) - SET(SDL2_ALL_LIBRARIES ${SDL2_ALL_LIBRARIES} ${SDL2_IMAGE_LIBRARY}) -+ FIND_PACKAGE(sdl2-image CONFIG REQUIRED) -+ SET(SDL2_ALL_INCLUDE_DIRS ${SDL2_ALL_INCLUDE_DIRS}) -+ SET(SDL2_ALL_LIBRARIES ${SDL2_ALL_LIBRARIES} SDL2::SDL2_image) ++ SET(SDL2_ALL_LIBRARIES ${SDL2_ALL_LIBRARIES} $,SDL2_image::SDL2_image,SDL2_image::SDL2_image-static>) SET(SDL2_ALL_PKGCONFIG_MODULES "${SDL2_ALL_PKGCONFIG_MODULES} SDL2_image") ELSE(SDL2PP_WITH_IMAGE) MESSAGE(STATUS "SDL2_image support disabled") ENDIF(SDL2PP_WITH_IMAGE) IF(SDL2PP_WITH_TTF) -- FIND_PACKAGE(SDL2_ttf REQUIRED) + FIND_PACKAGE(SDL2_ttf REQUIRED) - SET(SDL2_ALL_INCLUDE_DIRS ${SDL2_ALL_INCLUDE_DIRS} ${SDL2_TTF_INCLUDE_DIR}) - SET(SDL2_ALL_LIBRARIES ${SDL2_ALL_LIBRARIES} ${SDL2_TTF_LIBRARY}) -+ FIND_PACKAGE(sdl2-ttf CONFIG REQUIRED) -+ SET(SDL2_ALL_INCLUDE_DIRS ${SDL2_ALL_INCLUDE_DIRS}) -+ SET(SDL2_ALL_LIBRARIES ${SDL2_ALL_LIBRARIES} SDL2::SDL2_ttf) ++ SET(SDL2_ALL_LIBRARIES ${SDL2_ALL_LIBRARIES} $,SDL2_ttf::SDL2_ttf,SDL2_ttf::SDL2_ttf-static>) SET(SDL2_ALL_PKGCONFIG_MODULES "${SDL2_ALL_PKGCONFIG_MODULES} SDL2_ttf") ELSE(SDL2PP_WITH_TTF) MESSAGE(STATUS "SDL2_ttf support disabled") - ENDIF(SDL2PP_WITH_TTF) - +@@ -56,7 +60,7 @@ ENDIF(SDL2PP_WITH_TTF) IF(SDL2PP_WITH_MIXER) -- FIND_PACKAGE(SDL2_mixer REQUIRED) -- SET(SDL2_ALL_INCLUDE_DIRS ${SDL2_ALL_INCLUDE_DIRS} ${SDL2_MIXER_INCLUDE_DIR}) + FIND_PACKAGE(SDL2_mixer REQUIRED) + SET(SDL2_ALL_INCLUDE_DIRS ${SDL2_ALL_INCLUDE_DIRS} ${SDL2_MIXER_INCLUDE_DIR}) - SET(SDL2_ALL_LIBRARIES ${SDL2_ALL_LIBRARIES} ${SDL2_MIXER_LIBRARY}) -+ FIND_PACKAGE(sdl2-mixer CONFIG REQUIRED) -+ SET(SDL2_ALL_INCLUDE_DIRS ${SDL2_ALL_INCLUDE_DIRS}) -+ SET(SDL2_ALL_LIBRARIES ${SDL2_ALL_LIBRARIES} SDL2::SDL2_mixer) ++ SET(SDL2_ALL_LIBRARIES ${SDL2_ALL_LIBRARIES} $,SDL2_mixer::SDL2_mixer,SDL2_mixer::SDL2_mixer-static>) SET(SDL2_ALL_PKGCONFIG_MODULES "${SDL2_ALL_PKGCONFIG_MODULES} SDL2_mixer") ELSE(SDL2PP_WITH_MIXER) MESSAGE(STATUS "SDL2_mixer support disabled") -@@ -81,7 +85,6 @@ ELSE(MSVC) - ENDIF() - ENDIF(MSVC) - --LIST(REMOVE_DUPLICATES SDL2_ALL_INCLUDE_DIRS) - - INCLUDE_DIRECTORIES(BEFORE ${PROJECT_SOURCE_DIR}) - INCLUDE_DIRECTORIES(SYSTEM ${SDL2_ALL_INCLUDE_DIRS}) @@ -200,10 +203,10 @@ IF(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR) OPTION(SDL2PP_STATIC "Build static library instead of shared one" OFF) diff --git a/ports/sdl2pp/fix-usage.patch b/ports/sdl2pp/fix-usage.patch new file mode 100644 index 00000000000000..bea5fb0f455bf8 --- /dev/null +++ b/ports/sdl2pp/fix-usage.patch @@ -0,0 +1,23 @@ +diff --git a/FindSDL2PP.cmake.in b/FindSDL2PP.cmake.in +index 344d2b2..06d6278 100644 +--- a/FindSDL2PP.cmake.in ++++ b/FindSDL2PP.cmake.in +@@ -6,6 +6,18 @@ + # SDL2PP_INCLUDE_DIRS + # SDL2PP_LIBRARIES + ++include(CMakeFindDependencyMacro) ++find_dependency(SDL2 CONFIG) ++IF(@SDL2PP_WITH_IMAGE@) ++ find_dependency(SDL2_image CONFIG) ++ENDIF() ++IF(@SDL2PP_WITH_TTF@) ++ find_dependency(SDL2_ttf CONFIG) ++ENDIF() ++IF(@SDL2PP_WITH_MIXER@) ++ find_dependency(SDL2_mixer CONFIG) ++ENDIF() ++ + IF(SDL2PP_INCLUDE_DIR AND SDL2PP_LIBRARY) + # in cache already + SET(SDL2PP_FIND_QUIETLY TRUE) diff --git a/ports/sdl2pp/portfile.cmake b/ports/sdl2pp/portfile.cmake index 1e5cb8b503a4ee..94c13361ec5014 100644 --- a/ports/sdl2pp/portfile.cmake +++ b/ports/sdl2pp/portfile.cmake @@ -1,35 +1,50 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libSDL2pp/libSDL2pp - REF a02d5a81c3d4122cb578fcd1e5cd4e836878f63b # 0.16.1 - SHA512 cf08abe69b3d313d1c3f63cb138f05105453ea0d04e26daa6d85da41cb742912a37766cce1f8af1277e92a227ea75f481f07bff76f0b501fadec392b8b62336a + REF ${VERSION} + SHA512 3682281432ce9dec0dbc7c786496564c906db9933138e1f2b881f93b5602a7170e06e67e87d35a9e5944ef80f6e13b9835e33209c52869f0ea2bc224f639a749 HEAD_REF master - PATCHES fix-dependencies.patch + PATCHES + fix-dependencies.patch + fix-usage.patch ) -file(REMOVE ${SOURCE_PATH}/cmake/FindSDL2.cmake - ${SOURCE_PATH}/cmake/FindSDL2_image.cmake - ${SOURCE_PATH}/cmake/FindSDL2_mixer.cmake - ${SOURCE_PATH}/cmake/FindSDL2_ttf.cmake +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + sdl2-image SDL2PP_WITH_IMAGE + sdl2-mixer SDL2PP_WITH_MIXER + sdl2-ttf SDL2PP_WITH_TTF +) + +file(REMOVE "${SOURCE_PATH}/cmake/FindSDL2.cmake" + "${SOURCE_PATH}/cmake/FindSDL2_image.cmake" + "${SOURCE_PATH}/cmake/FindSDL2_mixer.cmake" + "${SOURCE_PATH}/cmake/FindSDL2_ttf.cmake" ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" SDL2PP_STATIC) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS + ${FEATURE_OPTIONS} + -DCMAKEMODDIR=share/${PORT} -DSDL2PP_WITH_EXAMPLES=OFF -DSDL2PP_WITH_TESTS=OFF -DSDL2PP_STATIC=${SDL2PP_STATIC} ) -vcpkg_install_cmake() +vcpkg_cmake_install() +vcpkg_fixup_pkgconfig() + +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/${PORT}/FindSDL2PP.cmake" "HINTS \"${CURRENT_PACKAGES_DIR}/include\"" "") +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/${PORT}/FindSDL2PP.cmake" "HINTS \"${CURRENT_PACKAGES_DIR}/lib\"" "") -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") -file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +file(COPY "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") # Handle copyright -file(INSTALL ${SOURCE_PATH}/COPYING.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) \ No newline at end of file +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING.txt") diff --git a/ports/sdl2pp/usage b/ports/sdl2pp/usage index e19381a32ff5d6..866ef7c8fde0eb 100644 --- a/ports/sdl2pp/usage +++ b/ports/sdl2pp/usage @@ -1,4 +1,5 @@ -The package sdl2pp provides CMake targets: - - find_package(SDL2PP REQUIRED) - target_include_directories(main PRIVATE ${SDL2PP_INCLUDE_DIRS}) +The package sdl2pp provides CMake variables: + + find_package(SDL2PP REQUIRED) + target_include_directories(main PRIVATE ${SDL2PP_INCLUDE_DIRS}) + target_link_libraries(main PRIVATE ${SDL2PP_LIBRARIES}) diff --git a/ports/sdl2pp/vcpkg-cmake-wrapper.cmake b/ports/sdl2pp/vcpkg-cmake-wrapper.cmake index 5141fdd39d295f..b0eac9e1b18715 100644 --- a/ports/sdl2pp/vcpkg-cmake-wrapper.cmake +++ b/ports/sdl2pp/vcpkg-cmake-wrapper.cmake @@ -1,6 +1,5 @@ -set(SDL2PP_PREV_MODULE_PATH ${CMAKE_MODULE_PATH}) -list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/../cmake/Modules) - +set(Z_VCPKG_SDL2PP_PREV_MODULE_PATH "${CMAKE_MODULE_PATH}") +list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}") _find_package(${ARGS}) - -set(CMAKE_MODULE_PATH ${SDL2PP_PREV_MODULE_PATH}) +set(CMAKE_MODULE_PATH "${Z_VCPKG_SDL2PP_PREV_MODULE_PATH}") +unset(Z_VCPKG_SDL2PP_PREV_MODULE_PATH) diff --git a/ports/sdl2pp/vcpkg.json b/ports/sdl2pp/vcpkg.json index 814f0d3cf27642..dd910dc113ef7c 100644 --- a/ports/sdl2pp/vcpkg.json +++ b/ports/sdl2pp/vcpkg.json @@ -1,13 +1,38 @@ { "name": "sdl2pp", - "version-string": "0.16.1", - "port-version": 1, + "version": "0.16.1", + "port-version": 11, "description": "C++11 bindings/wrapper for SDL2", "homepage": "https://sdl2pp.amdmi3.ru", + "license": "Zlib", "dependencies": [ - "sdl2", - "sdl2-image", - "sdl2-mixer", - "sdl2-ttf" - ] + { + "name": "sdl2", + "default-features": false + }, + { + "name": "vcpkg-cmake", + "host": true + } + ], + "features": { + "sdl2-image": { + "description": "Enable SDL2_image support", + "dependencies": [ + "sdl2-image" + ] + }, + "sdl2-mixer": { + "description": "Enable SDL2_mixer support", + "dependencies": [ + "sdl2-mixer" + ] + }, + "sdl2-ttf": { + "description": "Enable SDL2_ttf support", + "dependencies": [ + "sdl2-ttf" + ] + } + } } diff --git a/ports/sdl3/portfile.cmake b/ports/sdl3/portfile.cmake new file mode 100644 index 00000000000000..d4d92ff00359a0 --- /dev/null +++ b/ports/sdl3/portfile.cmake @@ -0,0 +1,64 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO libsdl-org/SDL + REF "preview-3.1.6" + SHA512 a0ca7263cd2f1b883829c39ae0ee2ea18d814f8dde768c8be9a49487193bc856bb45870764fd70169e75d2ec80457e5b45811c07a926479f1ac4f9d3157f40a4 + HEAD_REF main +) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" SDL_STATIC) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" SDL_SHARED) +string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" FORCE_STATIC_VCRT) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + alsa SDL_ALSA + ibus SDL_IBUS + vulkan SDL_VULKAN + wayland SDL_WAYLAND + x11 SDL_X11 +) + +if ("x11" IN_LIST FEATURES) + message(WARNING "You will need to install Xorg dependencies to use feature x11:\nsudo apt install libx11-dev libxft-dev libxext-dev\n") +endif() +if ("wayland" IN_LIST FEATURES) + message(WARNING "You will need to install Wayland dependencies to use feature wayland:\nsudo apt install libwayland-dev libxkbcommon-dev libegl1-mesa-dev\n") +endif() +if ("ibus" IN_LIST FEATURES) + message(WARNING "You will need to install ibus dependencies to use feature ibus:\nsudo apt install libibus-1.0-dev\n") +endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} + -DSDL_STATIC=${SDL_STATIC} + -DSDL_SHARED=${SDL_SHARED} + -DSDL_FORCE_STATIC_VCRT=${FORCE_STATIC_VCRT} + -DSDL_LIBC=ON + -DSDL_TEST_LIBRARY=OFF + -DSDL_TESTS=OFF + -DSDL_INSTALL_CMAKEDIR_ROOT=share/${PORT} + # Specifying the revision skips the need to use git to determine a version + -DSDL_REVISION=vcpkg + -DCMAKE_DISABLE_FIND_PACKAGE_LibUSB=1 + MAYBE_UNUSED_VARIABLES + SDL_FORCE_STATIC_VCRT +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup() + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" +) + +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.txt" + COMMENT "Some configurations may use code licensed under the MIT and Apache-2.0 licenses." +) diff --git a/ports/sdl3/usage b/ports/sdl3/usage new file mode 100644 index 00000000000000..418652ac0f9f71 --- /dev/null +++ b/ports/sdl3/usage @@ -0,0 +1,4 @@ +sdl3 provides CMake targets: + + find_package(SDL3 CONFIG REQUIRED) + target_link_libraries(main PRIVATE SDL3::SDL3) diff --git a/ports/sdl3/vcpkg.json b/ports/sdl3/vcpkg.json new file mode 100644 index 00000000000000..1f8b9ea163b4f0 --- /dev/null +++ b/ports/sdl3/vcpkg.json @@ -0,0 +1,64 @@ +{ + "name": "sdl3", + "version": "3.1.6-preview", + "port-version": 1, + "description": "Simple DirectMedia Layer is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL and Direct3D.", + "homepage": "https://www.libsdl.org", + "license": "Zlib AND MIT AND Apache-2.0", + "supports": "!uwp", + "dependencies": [ + { + "name": "dbus", + "default-features": false, + "platform": "linux" + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "default-features": [ + { + "name": "ibus", + "platform": "linux" + }, + { + "name": "wayland", + "platform": "linux" + }, + { + "name": "x11", + "platform": "linux" + } + ], + "features": { + "alsa": { + "description": "Support for alsa audio", + "dependencies": [ + { + "name": "alsa", + "platform": "linux" + } + ] + }, + "ibus": { + "description": "Build with ibus IME support", + "supports": "linux" + }, + "vulkan": { + "description": "Vulkan functionality for SDL" + }, + "wayland": { + "description": "Build with Wayland support", + "supports": "linux" + }, + "x11": { + "description": "Build with X11 support", + "supports": "!windows" + } + } +} diff --git a/ports/seacas/deps-and-shared.patch b/ports/seacas/deps-and-shared.patch new file mode 100644 index 00000000000000..eff08367ebb489 --- /dev/null +++ b/ports/seacas/deps-and-shared.patch @@ -0,0 +1,816 @@ +diff --git a/cmake/TPLs/FindTPLHDF5.cmake b/cmake/TPLs/FindTPLHDF5.cmake +index 3799818f2..3e17b46ac 100644 +--- a/cmake/TPLs/FindTPLHDF5.cmake ++++ b/cmake/TPLs/FindTPLHDF5.cmake +@@ -55,7 +55,7 @@ + + find_package(HDF5 REQUIRED COMPONENTS C HL) + +-TRIBITS_TPL_FIND_INCLUDE_DIRS_AND_LIBRARIES(HDF5 +- REQUIRED_HEADERS hdf5.h +- REQUIRED_LIBS_NAMES hdf5_hl hdf5 z +- ) ++tribits_extpkg_create_imported_all_libs_target_and_config_file( ++ HDF5 ++ INNER_FIND_PACKAGE_NAME HDF5 ++ IMPORTED_TARGETS_FOR_ALL_LIBS HDF5::HDF5 ) +diff --git a/cmake/TPLs/FindTPLMETIS.cmake b/cmake/TPLs/FindTPLMETIS.cmake +index 90911a3cc..bb57e3bf6 100644 +--- a/cmake/TPLs/FindTPLMETIS.cmake ++++ b/cmake/TPLs/FindTPLMETIS.cmake +@@ -53,8 +53,8 @@ + # ************************************************************************ + # @HEADER + +- +-TRIBITS_TPL_FIND_INCLUDE_DIRS_AND_LIBRARIES( METIS +- REQUIRED_HEADERS metis.h +- REQUIRED_LIBS_NAMES "metis" +- ) ++find_package(metis REQUIRED) ++tribits_extpkg_create_imported_all_libs_target_and_config_file( ++ METIS ++ INNER_FIND_PACKAGE_NAME metis ++ IMPORTED_TARGETS_FOR_ALL_LIBS metis ) +diff --git a/cmake/TPLs/FindTPLMatio.cmake b/cmake/TPLs/FindTPLMatio.cmake +index c76713ab9..f5b8bd702 100644 +--- a/cmake/TPLs/FindTPLMatio.cmake ++++ b/cmake/TPLs/FindTPLMatio.cmake +@@ -56,7 +56,7 @@ if (${CMAKE_VERSION} GREATER "3.13") + cmake_policy(SET CMP0074 NEW) + endif() + +-find_package(Matio REQUIRED) ++list(APPEND CMAKE_FIND_LIBRARY_PREFIXES lib) + TRIBITS_TPL_FIND_INCLUDE_DIRS_AND_LIBRARIES( Matio + REQUIRED_HEADERS matio.h + REQUIRED_LIBS_NAMES "matio") +diff --git a/cmake/TPLs/FindTPLNetcdf.cmake b/cmake/TPLs/FindTPLNetcdf.cmake +index 2c65d60bc..1a8bacf75 100644 +--- a/cmake/TPLs/FindTPLNetcdf.cmake ++++ b/cmake/TPLs/FindTPLNetcdf.cmake +@@ -55,7 +55,7 @@ + + + find_package(NetCDF REQUIRED) +-TRIBITS_TPL_FIND_INCLUDE_DIRS_AND_LIBRARIES( Netcdf +- REQUIRED_HEADERS netcdf.h +- REQUIRED_LIBS_NAMES netcdf +- ) ++tribits_extpkg_create_imported_all_libs_target_and_config_file( ++ NetCDF ++ INNER_FIND_PACKAGE_NAME NetCDF ++ IMPORTED_TARGETS_FOR_ALL_LIBS NetCDF::NetCDF ) +diff --git a/cmake/TPLs/FindTPLZlib.cmake b/cmake/TPLs/FindTPLZlib.cmake +index cc607e9d8..069a37c23 100644 +--- a/cmake/TPLs/FindTPLZlib.cmake ++++ b/cmake/TPLs/FindTPLZlib.cmake +@@ -53,8 +53,8 @@ + # ************************************************************************ + # @HEADER + +- +-TRIBITS_TPL_FIND_INCLUDE_DIRS_AND_LIBRARIES( Zlib +- REQUIRED_HEADERS zlib.h +- REQUIRED_LIBS_NAMES z +- ) ++find_package(ZLIB REQUIRED) ++tribits_extpkg_create_imported_all_libs_target_and_config_file( ++ Zlib ++ INNER_FIND_PACKAGE_NAME ZLIB ++ IMPORTED_TARGETS_FOR_ALL_LIBS ZLIB::ZLIB ) +diff --git a/cmake/TPLs/FindTPLfmt.cmake b/cmake/TPLs/FindTPLfmt.cmake +index c6ec212f9..e38054d9a 100644 +--- a/cmake/TPLs/FindTPLfmt.cmake ++++ b/cmake/TPLs/FindTPLfmt.cmake +@@ -53,8 +53,8 @@ + # ************************************************************************ + # @HEADER + +- +-TRIBITS_TPL_FIND_INCLUDE_DIRS_AND_LIBRARIES( fmt +- REQUIRED_HEADERS fmt/format.h +- REQUIRED_LIBS_NAMES fmt +- ) ++find_package(fmt REQUIRED) ++tribits_extpkg_create_imported_all_libs_target_and_config_file( ++ fmt ++ INNER_FIND_PACKAGE_NAME fmt ++ IMPORTED_TARGETS_FOR_ALL_LIBS fmt::fmt ) +diff --git a/cmake/tribits/common_tpls/FindTPLCGNS.cmake b/cmake/tribits/common_tpls/FindTPLCGNS.cmake +index 37c329cd4..9d221f64f 100644 +--- a/cmake/tribits/common_tpls/FindTPLCGNS.cmake ++++ b/cmake/tribits/common_tpls/FindTPLCGNS.cmake +@@ -45,14 +45,14 @@ if ((CGNS_ALLOW_MODERN AND HDF5_FOUND_MODERN_CONFIG_FILE) OR CGNS_FORCE_MODERN) + print_var(CGNS_ALLOW_MODERN) + print_var(CGNS_FORCE_MODERN) + message("-- Using find_package(CGNS ${minimum_modern_CGNS_version} CONFIG) ...") +- find_package(CGNS ${minimum_modern_CGNS_version} CONFIG) ++ find_package(cgns CONFIG) + if (CGNS_FOUND) + message("-- Found CGNS_CONFIG=${CGNS_CONFIG}") + message("-- Generating CGNS::all_libs and CGNSConfig.cmake") + tribits_extpkg_create_imported_all_libs_target_and_config_file( + CGNS +- INNER_FIND_PACKAGE_NAME CGNS +- IMPORTED_TARGETS_FOR_ALL_LIBS CGNS::cgns) ++ INNER_FIND_PACKAGE_NAME cgns ++ IMPORTED_TARGETS_FOR_ALL_LIBS CGNS::CGNS) + set(TPL_CGNS_NOT_FOUND FALSE) + endif() + +diff --git a/cmake/tribits/common_tpls/FindTPLHDF5.cmake b/cmake/tribits/common_tpls/FindTPLHDF5.cmake +index 716068c28..3d8fc8e76 100644 +--- a/cmake/tribits/common_tpls/FindTPLHDF5.cmake ++++ b/cmake/tribits/common_tpls/FindTPLHDF5.cmake +@@ -9,7 +9,7 @@ if (Netcdf_ALLOW_MODERN) + set(minimum_modern_HDF5_version 1.10.2) + print_var(Netcdf_ALLOW_MODERN) + message("-- Using find_package(HDF5 ${minimum_modern_HDF5_version} CONFIG) ...") +- find_package(HDF5 ${minimum_modern_HDF5_version} CONFIG) ++ find_package(HDF5) + if (HDF5_FOUND) + message("-- Found HDF5_CONFIG=${HDF5_CONFIG}") + message("-- Generating Netcdf::all_libs and NetcdfConfig.cmake") +@@ -17,7 +17,7 @@ if (Netcdf_ALLOW_MODERN) + tribits_extpkg_create_imported_all_libs_target_and_config_file( + HDF5 + INNER_FIND_PACKAGE_NAME HDF5 +- IMPORTED_TARGETS_FOR_ALL_LIBS ${HDF5_EXPORT_LIBRARIES}) ++ IMPORTED_TARGETS_FOR_ALL_LIBS hdf5::hdf5) + set(HDF5_INTERNAL_IS_MODERN TRUE) + else() + message("-- Could not find HDF5_CONFIG (FindTPLHDF5.cmake)") +@@ -27,7 +27,7 @@ endif() + + set(HDF5_FOUND_MODERN_CONFIG_FILE ${HDF5_INTERNAL_IS_MODERN} CACHE INTERNAL "True if HDF5 was found by the modern method") + +-if (NOT TARGET HDF5::all_libs) ++if (0) + + # First, set up the variables for the (backward-compatible) TriBITS way of + # finding HDF5. These are used in case find_package(HDF5 ...) is not called +diff --git a/cmake/tribits/common_tpls/find_modules/FindCGNS.cmake b/cmake/tribits/common_tpls/find_modules/FindCGNS.cmake +index c2c98f4be..9626cdb92 100644 +--- a/cmake/tribits/common_tpls/find_modules/FindCGNS.cmake ++++ b/cmake/tribits/common_tpls/find_modules/FindCGNS.cmake +@@ -180,7 +180,7 @@ else(CGNS_LIBRARIES AND CGNS_INCLUDE_DIRS) + if (EXISTS "${CGNS_LIBRARY_DIR}") + + find_library(CGNS_LIBRARY +- NAMES cgns ++ NAMES cgnsdll cgns + HINTS ${CGNS_LIBRARY_DIR} + NO_DEFAULT_PATH) + +@@ -196,7 +196,7 @@ else(CGNS_LIBRARIES AND CGNS_INCLUDE_DIRS) + if (EXISTS "${CGNS_ROOT}" ) + + find_library(CGNS_LIBRARY +- NAMES cgns ++ NAMES cgnsdll cgns + HINTS ${CGNS_ROOT} + PATH_SUFFIXES "lib" "Lib" + NO_DEFAULT_PATH) +@@ -210,7 +210,7 @@ else(CGNS_LIBRARIES AND CGNS_INCLUDE_DIRS) + else() + + find_library(CGNS_LIBRARY +- NAMES cgns ++ NAMES cgnsdll cgns + PATH_SUFFIXES ${cgns_lib_suffixes}) + + endif() +diff --git a/packages/seacas/libraries/aprepro_lib/CMakeLists.txt b/packages/seacas/libraries/aprepro_lib/CMakeLists.txt +index ef391f1c6..a4869415b 100644 +--- a/packages/seacas/libraries/aprepro_lib/CMakeLists.txt ++++ b/packages/seacas/libraries/aprepro_lib/CMakeLists.txt +@@ -104,6 +104,10 @@ if (${CMAKE_PROJECT_NAME} STREQUAL "Seacas") + endif() + endif() + ++if(BUILD_SHARED_LIBS) ++ set_target_properties(aprepro_lib PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON) ++endif() ++ + if (${PACKAGE_NAME}_ENABLE_TESTS) + TRIBITS_ADD_EXECUTABLE(aprepro_lib_test NOEXEPREFIX NOEXESUFFIX INSTALLABLE SOURCES apr_test.cc LINKER_LANGUAGE CXX) + +diff --git a/packages/seacas/libraries/chaco/CMakeLists.txt b/packages/seacas/libraries/chaco/CMakeLists.txt +index 5f43a4e0c..ff8570ce3 100644 +--- a/packages/seacas/libraries/chaco/CMakeLists.txt ++++ b/packages/seacas/libraries/chaco/CMakeLists.txt +@@ -56,5 +56,7 @@ TRIBITS_ADD_LIBRARY( + HEADERS ${HEADERS} + SOURCES ${SOURCES} + ) +- ++if(BUILD_SHARED_LIBS) ++ set_target_properties(chaco PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON) ++endif() + TRIBITS_SUBPACKAGE_POSTPROCESS() +diff --git a/packages/seacas/libraries/exodus/CMakeLists.txt b/packages/seacas/libraries/exodus/CMakeLists.txt +index 2ed3ec4ab..f80f697f1 100644 +--- a/packages/seacas/libraries/exodus/CMakeLists.txt ++++ b/packages/seacas/libraries/exodus/CMakeLists.txt +@@ -13,6 +13,7 @@ FILE(GLOB SOURCES src/ex_*.c) + if (NOT ${PACKAGE_NAME}_HIDE_DEPRECATED_CODE) + FILE(GLOB DEP_SOURCES src/deprecated/ex_*.c) + endif() ++set(EXODUSII_BUILD_SHARED_LIBS "${BUILD_SHARED_LIBS}") + TRIBITS_CONFIGURE_FILE(exodus_config.h) + + if (NOT ${EXODUS_THREADSAFE}) +@@ -32,6 +33,9 @@ TRIBITS_ADD_LIBRARY( + HEADERS ${HEADERS} + SOURCES ${SOURCES} ${DEP_SOURCES} + ) ++if(BUILD_SHARED_LIBS) ++ target_compile_definitions(exodus PRIVATE exoIIc_EXPORTS) ++endif() + + set_property(TARGET exodus PROPERTY C_STANDARD 99) + +diff --git a/packages/seacas/libraries/exodus/cmake/exodus_config.h.in b/packages/seacas/libraries/exodus/cmake/exodus_config.h.in +index e4dcd51f2..a88254ab7 100644 +--- a/packages/seacas/libraries/exodus/cmake/exodus_config.h.in ++++ b/packages/seacas/libraries/exodus/cmake/exodus_config.h.in +@@ -4,4 +4,17 @@ + + @SEACAS_DEPRECATED_DECLARATIONS@ + ++#cmakedefine EXODUSII_BUILD_SHARED_LIBS ++#if defined(_WIN32) ++# if defined(EXODUSII_BUILD_SHARED_LIBS) ++# if defined(exoIIc_EXPORTS) ++# define EXODUS_EXPORT __declspec( dllexport ) extern ++# else ++# define EXODUS_EXPORT __declspec( dllimport ) extern ++# endif ++# endif ++#else ++# define EXODUS_EXPORT extern ++#endif ++ + #endif +diff --git a/packages/seacas/libraries/exodus/include/exodusII.h b/packages/seacas/libraries/exodus/include/exodusII.h +index ce636683a..5caa88f45 100644 +--- a/packages/seacas/libraries/exodus/include/exodusII.h ++++ b/packages/seacas/libraries/exodus/include/exodusII.h +@@ -715,7 +715,7 @@ ex_put_loadbal_param_cc(int exoid, /* NetCDF/Exodus file ID + ); + + /* Utility function to replace strncpy, strcpy -- guarantee null termination */ +-char *ex_copy_string(char *dest, char const *source, size_t elements); ++EXODUS_EXPORT char *ex_copy_string(char *dest, char const *source, size_t elements); + + /*! + * \addtogroup ModelDescription +diff --git a/packages/seacas/libraries/exodus/include/exodusII_int.h b/packages/seacas/libraries/exodus/include/exodusII_int.h +index cec2d7555..e2a21f8d4 100644 +--- a/packages/seacas/libraries/exodus/include/exodusII_int.h ++++ b/packages/seacas/libraries/exodus/include/exodusII_int.h +@@ -86,7 +86,7 @@ extern "C" { + #define EX_FILE_ID_MASK (0xffff0000) /**< Must match FILE_ID_MASK in NetCDF nc4internal.h */ + #define EX_GRP_ID_MASK (0x0000ffff) /**< Must match GRP_ID_MASK in NetCDF nc4internal.h */ + +-void ex__reset_error_status(void); ++EXODUS_EXPORT void ex__reset_error_status(void); + + #if defined(EXODUS_THREADSAFE) + #if !defined(exerrval) +@@ -791,9 +791,9 @@ extern struct ex__obj_stats *exoII_edm; + extern struct ex__obj_stats *exoII_fam; + extern struct ex__obj_stats *exoII_nm; + +-struct ex__file_item *ex__find_file_item(int exoid); +-struct ex__file_item *ex__add_file_item(int exoid); +-struct ex__obj_stats *ex__get_stat_ptr(int exoid, struct ex__obj_stats **obj_ptr); ++EXODUS_EXPORT struct ex__file_item *ex__find_file_item(int exoid); ++EXODUS_EXPORT struct ex__file_item *ex__add_file_item(int exoid); ++EXODUS_EXPORT struct ex__obj_stats *ex__get_stat_ptr(int exoid, struct ex__obj_stats **obj_ptr); + + EXODUS_EXPORT void ex__rm_stat_ptr(int exoid, struct ex__obj_stats **obj_ptr); + +diff --git a/packages/seacas/libraries/ioss/src/Ioss_StructuredBlock.h b/packages/seacas/libraries/ioss/src/Ioss_StructuredBlock.h +index e7323b8ec..ec974dbc8 100644 +--- a/packages/seacas/libraries/ioss/src/Ioss_StructuredBlock.h ++++ b/packages/seacas/libraries/ioss/src/Ioss_StructuredBlock.h +@@ -81,7 +81,7 @@ namespace Ioss { + archive(m_bcName, m_famName, m_rangeBeg, m_rangeEnd, m_face); + } + +- friend std::ostream &operator<<(std::ostream &os, const BoundaryCondition &bc); ++ friend IOSS_EXPORT std::ostream &operator<<(std::ostream &os, const BoundaryCondition &bc); + + private: + bool equal_(const Ioss::BoundaryCondition &rhs, bool quiet) const; +diff --git a/packages/seacas/libraries/ioss/src/Ioss_ZoneConnectivity.h b/packages/seacas/libraries/ioss/src/Ioss_ZoneConnectivity.h +index 015cc51d3..97bec74b0 100644 +--- a/packages/seacas/libraries/ioss/src/Ioss_ZoneConnectivity.h ++++ b/packages/seacas/libraries/ioss/src/Ioss_ZoneConnectivity.h +@@ -86,7 +86,7 @@ namespace Ioss { + Ioss::IJK_t inverse_transform(const Ioss::IJK_t &index_1) const; + + std::vector get_range(int ordinal) const; +- friend std::ostream &operator<<(std::ostream &os, const ZoneConnectivity &zgc); ++ friend IOSS_EXPORT std::ostream &operator<<(std::ostream &os, const ZoneConnectivity &zgc); + + /* COMPARE two ZoneConnectivity objects */ + bool operator==(const Ioss::ZoneConnectivity &rhs) const; +diff --git a/packages/seacas/libraries/ioss/src/text_mesh/Iotm_TextMesh.C b/packages/seacas/libraries/ioss/src/text_mesh/Iotm_TextMesh.C +index 872050daa..a3a0baf9f 100644 +--- a/packages/seacas/libraries/ioss/src/text_mesh/Iotm_TextMesh.C ++++ b/packages/seacas/libraries/ioss/src/text_mesh/Iotm_TextMesh.C +@@ -51,12 +51,6 @@ namespace Iotm { + initialize(); + } + +- TextMesh::TextMesh() +- { +- m_errorHandler = [](const std::ostringstream &errmsg) { error_handler(errmsg); }; +- initialize(); +- } +- + unsigned TextMesh::spatial_dimension() const { return m_data.spatialDim; } + + void TextMesh::initialize() +diff --git a/packages/seacas/libraries/ioss/src/text_mesh/Iotm_TextMesh.h b/packages/seacas/libraries/ioss/src/text_mesh/Iotm_TextMesh.h +index 530b51e62..73ea2a5c6 100644 +--- a/packages/seacas/libraries/ioss/src/text_mesh/Iotm_TextMesh.h ++++ b/packages/seacas/libraries/ioss/src/text_mesh/Iotm_TextMesh.h +@@ -58,7 +58,6 @@ namespace Iotm { + public: + explicit TextMesh(const std::string ¶meters, int proc_count = 1, int my_proc = 0); + TextMesh(int proc_count = 1, int my_proc = 0); +- TextMesh(); + TextMesh(const TextMesh &) = delete; + TextMesh &operator=(const TextMesh &) = delete; + +diff --git a/packages/seacas/libraries/nemesis/CMakeLists.txt b/packages/seacas/libraries/nemesis/CMakeLists.txt +index 154cf9e9e..ab5d87daa 100644 +--- a/packages/seacas/libraries/nemesis/CMakeLists.txt ++++ b/packages/seacas/libraries/nemesis/CMakeLists.txt +@@ -1,5 +1,5 @@ + TRIBITS_SUBPACKAGE(Nemesis) +- ++set(NEMESIS_BUILD_SHARED_LIBS "${BUILD_SHARED_LIBS}" CACHE BOOL "") + SET(NEMESIS_VERSION_MAJOR "5") + SET(NEMESIS_VERSION_MINOR "15") + SET(NEMESIS_VERSION_PATCH "0") +@@ -27,7 +27,7 @@ TRIBITS_ADD_LIBRARY( + HEADERS ${HEADERS} + SOURCES ${SOURCES} + ) +- ++target_compile_definitions(nemesis PRIVATE nemc_EXPORTS) + TRIBITS_ADD_EXECUTABLE_AND_TEST( + ne_ctest_wrap + NAME ne_ctest_wrap +diff --git a/packages/seacas/libraries/nemesis/ne_nemesisI.h b/packages/seacas/libraries/nemesis/ne_nemesisI.h +index dc78c2fe4..ae43c1f3f 100644 +--- a/packages/seacas/libraries/nemesis/ne_nemesisI.h ++++ b/packages/seacas/libraries/nemesis/ne_nemesisI.h +@@ -14,6 +14,8 @@ + #ifndef _NE_NEMESIS_H + #define _NE_NEMESIS_H + ++#include "nemesis_cfg.h" ++ + #ifdef __cplusplus + extern "C" { + #endif +@@ -34,24 +36,24 @@ typedef void void_int; + /*============================================================================= + * Initial Information Routines + *===========================================================================*/ +-extern int ne_get_init_info(int neid, /* NemesisI file ID */ ++NEMESIS_EXPORT int ne_get_init_info(int neid, /* NemesisI file ID */ + int * num_proc, /* Number of processors */ + int * num_proc_in_f, /* Number of procs in this file */ + char *ftype); + +-extern int ne_put_init_info(int neid, /* NemesisI file ID */ ++NEMESIS_EXPORT int ne_put_init_info(int neid, /* NemesisI file ID */ + int num_proc, /* Number of processors */ + int num_proc_in_f, /* Number of procs in this file */ + char *ftype); + +-extern int ne_get_init_global(int neid, /* NemesisI file ID */ ++NEMESIS_EXPORT int ne_get_init_global(int neid, /* NemesisI file ID */ + void_int *num_nodes_g, /* Number of global FEM nodes */ + void_int *num_elems_g, /* Number of global FEM elements */ + void_int *num_elem_blks_g, /* Number of global elem blocks */ + void_int *num_node_sets_g, /* Number of global node sets */ + void_int *num_side_sets_g /* Number of global side sets */ + ); +-extern int ne_put_init_global(int neid, /* NemesisI file ID */ ++NEMESIS_EXPORT int ne_put_init_global(int neid, /* NemesisI file ID */ + int64_t num_nodes_g, /* Number of global FEM nodes */ + int64_t num_elems_g, /* Number of global FEM elements */ + int64_t num_elem_blks_g, /* Number of global elem blocks */ +@@ -59,12 +61,12 @@ extern int ne_put_init_global(int neid, /* NemesisI file ID */ + int64_t num_side_sets_g /* Number of global side sets */ + ); + +-extern int ne_put_version(int neid); ++NEMESIS_EXPORT int ne_put_version(int neid); + + /*============================================================================= + * Loadbalance Parameter Routines + *===========================================================================*/ +-extern int ne_get_loadbal_param(int neid, /* NetCDF/Exodus file ID */ ++NEMESIS_EXPORT int ne_get_loadbal_param(int neid, /* NetCDF/Exodus file ID */ + void_int *num_int_nodes, /* Number of internal FEM nodes */ + void_int *num_bor_nodes, /* Number of border FEM nodes */ + void_int *num_ext_nodes, /* Number of external FEM nodes */ +@@ -75,7 +77,7 @@ extern int ne_get_loadbal_param(int neid, /* NetCDF/Exodus file + int processor /* Processor ID */ + ); + +-extern int ne_put_loadbal_param(int neid, /* NemesisI file ID */ ++NEMESIS_EXPORT int ne_put_loadbal_param(int neid, /* NemesisI file ID */ + int64_t num_int_nodes, /* Number of internal FEM nodes */ + int64_t num_bor_nodes, /* Number of border FEM nodes */ + int64_t num_ext_nodes, /* Number of external FEM nodes */ +@@ -86,7 +88,7 @@ extern int ne_put_loadbal_param(int neid, /* NemesisI file ID */ + int processor /* Processor ID */ + ); + +-extern int ne_put_loadbal_param_cc(int neid, /* NetCDF/Exodus file ID */ ++NEMESIS_EXPORT int ne_put_loadbal_param_cc(int neid, /* NetCDF/Exodus file ID */ + void_int *num_int_nodes, /* Number of internal node IDs */ + void_int *num_bor_nodes, /* Number of border node IDs */ + void_int *num_ext_nodes, /* Number of external node IDs */ +@@ -99,26 +101,26 @@ extern int ne_put_loadbal_param_cc(int neid, /* NetCDF/Exodus fi + /*============================================================================= + * NS, SS & EB Global Parameter Routines + *===========================================================================*/ +-extern int ne_get_ns_param_global(int neid, /* NetCDF/Exodus file ID */ ++NEMESIS_EXPORT int ne_get_ns_param_global(int neid, /* NetCDF/Exodus file ID */ + void_int *ns_ids_glob, /* Global IDs of node sets */ + void_int *ns_n_cnt_glob, /* Count of nodes in node sets */ + void_int *ns_df_cnt_glob /* Count of dist. factors in ns */ + ); + +-extern int ++NEMESIS_EXPORT int + ne_put_ns_param_global(int neid, /* NemesisI file ID */ + void_int *global_ids, /* Vector of global node-set IDs */ + void_int *global_n_cnts, /* Vector of node counts in node-sets */ + void_int *global_df_cnts /* Vector of dist factor counts in node-sets */ + ); + +-extern int ne_get_ss_param_global(int neid, /* NetCDF/Exodus file ID */ ++NEMESIS_EXPORT int ne_get_ss_param_global(int neid, /* NetCDF/Exodus file ID */ + void_int *ss_ids_glob, /* Global side-set IDs */ + void_int *ss_s_cnt_glob, /* Global side count */ + void_int *ss_df_cnt_glob /* Global dist. factor count */ + ); + +-extern int ne_put_ss_param_global(int neid, /* NemesisI file ID */ ++NEMESIS_EXPORT int ne_put_ss_param_global(int neid, /* NemesisI file ID */ + void_int *global_ids, /* Vector of global side-set IDs */ + void_int *global_el_cnts, /* Vector of element/side */ + /* counts in each side set */ +@@ -126,12 +128,12 @@ extern int ne_put_ss_param_global(int neid, /* NemesisI file ID + /* counts in each side set */ + ); + +-extern int ne_get_eb_info_global(int neid, /* NemesisI file ID */ ++NEMESIS_EXPORT int ne_get_eb_info_global(int neid, /* NemesisI file ID */ + void_int *el_blk_ids, /* Vector of global element IDs */ + void_int *el_blk_cnts /* Vector of global element counts */ + ); + +-extern int ne_put_eb_info_global(int neid, /* NemesisI file ID */ ++NEMESIS_EXPORT int ne_put_eb_info_global(int neid, /* NemesisI file ID */ + void_int *el_blk_ids, /* Vector of global element IDs */ + void_int *el_blk_cnts /* Vector of global element counts */ + ); +@@ -139,7 +141,7 @@ extern int ne_put_eb_info_global(int neid, /* NemesisI file ID */ + /*============================================================================= + * NS, SS & EB Subset Routines + *===========================================================================*/ +-extern int ne_get_n_side_set(int neid, /* NetCDF/Exodus file ID */ ++NEMESIS_EXPORT int ne_get_n_side_set(int neid, /* NetCDF/Exodus file ID */ + ex_entity_id side_set_id, /* Side-set ID to read */ + int64_t start_side_num, /* Starting element number */ + int64_t num_sides, /* Number of sides to read */ +@@ -147,7 +149,7 @@ extern int ne_get_n_side_set(int neid, /* NetCDF/Exodus f + void_int * side_set_side_list /* List of side IDs */ + ); + +-extern int ne_put_n_side_set(int neid, /* NetCDF/Exodus file ID */ ++NEMESIS_EXPORT int ne_put_n_side_set(int neid, /* NetCDF/Exodus file ID */ + ex_entity_id side_set_id, /* Side-set ID to write */ + int64_t start_side_num, /* Starting element number */ + int64_t num_sides, /* Number of sides to write */ +@@ -155,49 +157,49 @@ extern int ne_put_n_side_set(int neid, /* NetCDF/Exodu + const void_int *side_set_side_list /* List of side IDs */ + ); + +-extern int ne_get_n_side_set_df(int neid, /* NetCDF/Exodus file ID */ ++NEMESIS_EXPORT int ne_get_n_side_set_df(int neid, /* NetCDF/Exodus file ID */ + ex_entity_id side_set_id, /* Side-set ID */ + int64_t start_num, /* Starting df number */ + int64_t num_df_to_get, /* Number of df's to read */ + void * side_set_df /* Distribution factors */ + ); + +-extern int ne_put_n_side_set_df(int neid, /* NetCDF/Exodus file ID */ ++NEMESIS_EXPORT int ne_put_n_side_set_df(int neid, /* NetCDF/Exodus file ID */ + ex_entity_id side_set_id, /* Side-set ID */ + int64_t start_num, /* Starting df number */ + int64_t num_df_to_get, /* Number of df's to write */ + void * side_set_df /* Distribution factors */ + ); + +-extern int ne_get_n_node_set(int neid, /* NetCDF/Exodus file ID */ ++NEMESIS_EXPORT int ne_get_n_node_set(int neid, /* NetCDF/Exodus file ID */ + ex_entity_id node_set_id, /* Node set ID */ + int64_t start_node_num, /* Node index to start reading at */ + int64_t num_node, /* Number of nodes to read */ + void_int * node_set_node_list /* List of nodes in node set */ + ); + +-extern int ne_put_n_node_set(int neid, /* NetCDF/Exodus file ID */ ++NEMESIS_EXPORT int ne_put_n_node_set(int neid, /* NetCDF/Exodus file ID */ + ex_entity_id node_set_id, /* Node set ID */ + int64_t start_node_num, /* Node index to start writing at */ + int64_t num_node, /* Number of nodes to write */ + const void_int *node_set_node_list /* List of nodes in node set */ + ); + +-extern int ne_get_n_node_set_df(int neid, /* NetCDF/Exodus file ID */ ++NEMESIS_EXPORT int ne_get_n_node_set_df(int neid, /* NetCDF/Exodus file ID */ + ex_entity_id node_set_id, /* Node-set ID */ + int64_t start_num, /* Starting df number */ + int64_t num_df_to_get, /* Number of df's to read */ + void * node_set_df /* Distribution factors */ + ); + +-extern int ne_put_n_node_set_df(int neid, /* NetCDF/Exodus file ID */ ++NEMESIS_EXPORT int ne_put_n_node_set_df(int neid, /* NetCDF/Exodus file ID */ + ex_entity_id node_set_id, /* Node-set ID */ + int64_t start_num, /* Starting df number */ + int64_t num_df_to_get, /* Number of df's to write */ + void * node_set_df /* Distribution factors */ + ); + +-extern int ne_get_n_coord(int neid, /* NetCDF/Exodus file ID */ ++NEMESIS_EXPORT int ne_get_n_coord(int neid, /* NetCDF/Exodus file ID */ + int64_t start_node_num, /* Starting position to read from */ + int64_t num_nodes, /* Number of coords to read */ + void * x_coor, /* Vector of X coordinates */ +@@ -205,7 +207,7 @@ extern int ne_get_n_coord(int neid, /* NetCDF/Exodus file ID */ + void * z_coor /* Vector of Z coordinates */ + ); + +-extern int ne_put_n_coord(int neid, /* NetCDF/Exodus file ID */ ++NEMESIS_EXPORT int ne_put_n_coord(int neid, /* NetCDF/Exodus file ID */ + int64_t start_node_num, /* Starting position to write to */ + int64_t num_nodes, /* Number of coords to write */ + void * x_coor, /* Vector of X coordinates */ +@@ -213,35 +215,35 @@ extern int ne_put_n_coord(int neid, /* NetCDF/Exodus file ID */ + void * z_coor /* Vector of Z coordinates */ + ); + +-extern int ne_get_n_elem_conn(int neid, /* NetCDF/Exodus file ID */ ++NEMESIS_EXPORT int ne_get_n_elem_conn(int neid, /* NetCDF/Exodus file ID */ + ex_entity_id elem_blk_id, /* Element block ID */ + int64_t start_elem_num, /* Starting position to read from */ + int64_t num_elems, /* Number of elements to read */ + void_int * connect /* Connectivity vector */ + ); + +-extern int ne_put_n_elem_conn(int neid, /* NetCDF/Exodus file ID */ ++NEMESIS_EXPORT int ne_put_n_elem_conn(int neid, /* NetCDF/Exodus file ID */ + ex_entity_id elem_blk_id, /* Element block ID */ + int64_t start_elem_num, /* Starting position to write to */ + int64_t num_elems, /* Number of elements to write */ + const void_int *connect /* Connectivity vector */ + ); + +-extern int ne_get_n_elem_attr(int neid, /* NetCDF/Exodus file ID */ ++NEMESIS_EXPORT int ne_get_n_elem_attr(int neid, /* NetCDF/Exodus file ID */ + ex_entity_id elem_blk_id, /* Element block ID */ + int64_t start_elem_num, /* Starting position to read from */ + int64_t num_elems, /* Number of elements to read */ + void * attrib /* Attribute */ + ); + +-extern int ne_put_n_elem_attr(int neid, /* NetCDF/Exodus file ID */ ++NEMESIS_EXPORT int ne_put_n_elem_attr(int neid, /* NetCDF/Exodus file ID */ + ex_entity_id elem_blk_id, /* Element block ID */ + int64_t start_elem_num, /* Starting position to write to */ + int64_t num_elems, /* Number of elements to write */ + void * attrib /* Attribute */ + ); + +-extern int ne_get_elem_type(int neid, /* NetCDF/Exodus file ID */ ++NEMESIS_EXPORT int ne_get_elem_type(int neid, /* NetCDF/Exodus file ID */ + ex_entity_id elem_blk_id, /* Element block ID */ + char * elem_type /* The name of the element type */ + ); +@@ -249,7 +251,7 @@ extern int ne_get_elem_type(int neid, /* NetCDF/Exodus file ID * + /*============================================================================= + * Variable Routines + *===========================================================================*/ +-extern int ne_get_n_elem_var(int neid, /* NetCDF/Exodus file ID */ ++NEMESIS_EXPORT int ne_get_n_elem_var(int neid, /* NetCDF/Exodus file ID */ + int time_step, /* time index */ + int elem_var_index, /* elemental variable index */ + ex_entity_id elem_blk_id, /* elemental block id */ +@@ -259,7 +261,7 @@ extern int ne_get_n_elem_var(int neid, /* NetCDF/Exodus fi + void * elem_var_vals /* variable values */ + ); + +-extern int ne_put_elem_var_slab(int neid, /* NetCDF/Exodus file ID */ ++NEMESIS_EXPORT int ne_put_elem_var_slab(int neid, /* NetCDF/Exodus file ID */ + int time_step, /* time index */ + int elem_var_index, /* elemental variable index */ + ex_entity_id elem_blk_id, /* elemental block id */ +@@ -268,7 +270,7 @@ extern int ne_put_elem_var_slab(int neid, /* NetCDF/Exodus fi + void * elem_var_vals /* variable values */ + ); + +-extern int ne_get_n_nodal_var(int neid, /* NetCDF/Exodus file ID */ ++NEMESIS_EXPORT int ne_get_n_nodal_var(int neid, /* NetCDF/Exodus file ID */ + int time_step, /* whole time step number */ + int nodal_var_index, /* index of desired nodal var */ + int64_t start_node_num, /* starting node number */ +@@ -276,7 +278,7 @@ extern int ne_get_n_nodal_var(int neid, /* NetCDF/Exodus file ID + void * nodal_vars /* array of nodal var values */ + ); + +-extern int ne_put_nodal_var_slab(int neid, /* NetCDF/Exodus file ID */ ++NEMESIS_EXPORT int ne_put_nodal_var_slab(int neid, /* NetCDF/Exodus file ID */ + int time_step, /* The time step index */ + int nodal_var_index, /* Nodal variable index */ + int64_t start_pos, /* Start position for write */ +@@ -287,51 +289,51 @@ extern int ne_put_nodal_var_slab(int neid, /* NetCDF/Exodus file + /*============================================================================= + * Number Map Routines + *===========================================================================*/ +-extern int ne_get_n_elem_num_map(int neid, /* NetCDF/Exodus file ID */ ++NEMESIS_EXPORT int ne_get_n_elem_num_map(int neid, /* NetCDF/Exodus file ID */ + int64_t start_ent, /* Starting position to read from */ + int64_t num_ents, /* Number of elements to read */ + void_int *elem_map /* element map numbers */ + ); + +-extern int ne_put_n_elem_num_map(int neid, /* NetCDF/Exodus file ID */ ++NEMESIS_EXPORT int ne_put_n_elem_num_map(int neid, /* NetCDF/Exodus file ID */ + int64_t start_ent, /* Starting position to read from */ + int64_t num_ents, /* Number of elements to read */ + const void_int *elem_map /* element map numbers */ + ); + +-extern int ne_get_n_node_num_map(int neid, /* NetCDF/Exodus file ID */ ++NEMESIS_EXPORT int ne_get_n_node_num_map(int neid, /* NetCDF/Exodus file ID */ + int64_t start_ent, /* starting node number */ + int64_t num_ents, /* number of nodes to read */ + void_int *node_map /* vector for node map */ + ); + +-extern int ne_put_n_node_num_map(int neid, /* NetCDF/Exodus file ID */ ++NEMESIS_EXPORT int ne_put_n_node_num_map(int neid, /* NetCDF/Exodus file ID */ + int64_t start_ent, /* starting node number */ + int64_t num_ents, /* number of nodes to read */ + const void_int *node_map /* vector for node map */ + ); + +-extern int ne_get_node_map(int neid, /* NetCDF/Exodus file ID */ ++NEMESIS_EXPORT int ne_get_node_map(int neid, /* NetCDF/Exodus file ID */ + void_int *node_mapi, /* Internal FEM node IDs */ + void_int *node_mapb, /* Border FEM node IDs */ + void_int *node_mape, /* External FEM node IDs */ + int processor /* Processor IDs */ + ); + +-extern int ne_put_node_map(int neid, /* NetCDF/Exodus file ID */ ++NEMESIS_EXPORT int ne_put_node_map(int neid, /* NetCDF/Exodus file ID */ + void_int *node_mapi, /* Internal FEM node IDs */ + void_int *node_mapb, /* Border FEM node IDs */ + void_int *node_mape, /* External FEM node IDs */ + int processor /* This processor ID */ + ); + +-extern int ne_get_elem_map(int neid, /* NetCDF/Exodus file ID */ ++NEMESIS_EXPORT int ne_get_elem_map(int neid, /* NetCDF/Exodus file ID */ + void_int *elem_mapi, /* Internal element IDs */ + void_int *elem_mapb, /* Border element IDs */ + int processor /* Processor ID */ + ); + +-extern int ne_put_elem_map(int neid, /* NetCDF/Exodus file ID */ ++NEMESIS_EXPORT int ne_put_elem_map(int neid, /* NetCDF/Exodus file ID */ + void_int *elem_mapi, /* Internal FEM element IDs */ + void_int *elem_mapb, /* Border FEM element IDs */ + int processor /* This processor ID */ +@@ -341,7 +343,7 @@ extern int ne_put_elem_map(int neid, /* NetCDF/Exodus file ID */ + * Communications Maps Routines + *===========================================================================*/ + +-extern int ne_get_cmap_params(int neid, /* NetCDF/Exodus file ID */ ++NEMESIS_EXPORT int ne_get_cmap_params(int neid, /* NetCDF/Exodus file ID */ + void_int *node_cmap_ids, /* Nodal comm. map IDs */ + void_int *node_cmap_node_cnts, /* Number of nodes in each map */ + void_int *elem_cmap_ids, /* Elemental comm. map IDs */ +@@ -349,7 +351,7 @@ extern int ne_get_cmap_params(int neid, /* NetCDF/Exodus fi + int processor /* This processor ID */ + ); + +-extern int ne_put_cmap_params(int neid, /* NetCDF/Exodus file ID */ ++NEMESIS_EXPORT int ne_put_cmap_params(int neid, /* NetCDF/Exodus file ID */ + void_int *node_map_ids, /* Node map IDs */ + void_int *node_map_node_cnts, /* Nodes in nodal comm */ + void_int *elem_map_ids, /* Elem map IDs */ +@@ -357,7 +359,7 @@ extern int ne_put_cmap_params(int neid, /* NetCDF/Exodus fil + int64_t processor /* This processor ID */ + ); + +-extern int ne_put_cmap_params_cc(int neid, /* NetCDF/Exodus file ID */ ++NEMESIS_EXPORT int ne_put_cmap_params_cc(int neid, /* NetCDF/Exodus file ID */ + void_int *node_map_ids, /* Node map IDs */ + void_int *node_map_node_cnts, /* Nodes in nodal comm */ + void_int *node_proc_ptrs, /* Pointer into array for */ +@@ -368,21 +370,21 @@ extern int ne_put_cmap_params_cc(int neid, /* NetCDF/Exodus + /* elem maps */ + ); + +-extern int ne_get_node_cmap(int neid, /* NetCDF/Exodus file ID */ ++NEMESIS_EXPORT int ne_get_node_cmap(int neid, /* NetCDF/Exodus file ID */ + ex_entity_id map_id, /* Map ID */ + void_int * node_ids, /* FEM node IDs */ + void_int * proc_ids, /* Processor IDs */ + int processor /* This processor ID */ + ); + +-extern int ne_put_node_cmap(int neid, /* NetCDF/Exodus file ID */ ++NEMESIS_EXPORT int ne_put_node_cmap(int neid, /* NetCDF/Exodus file ID */ + ex_entity_id map_id, /* Nodal comm map ID */ + void_int * node_ids, /* FEM node IDs */ + void_int * proc_ids, /* Processor IDs */ + int processor /* This processor ID */ + ); + +-extern int ne_get_elem_cmap(int neid, /* NetCDF/Exodus file ID */ ++NEMESIS_EXPORT int ne_get_elem_cmap(int neid, /* NetCDF/Exodus file ID */ + ex_entity_id map_id, /* Elemental comm map ID */ + void_int * elem_ids, /* Element IDs */ + void_int * side_ids, /* Element side IDs */ +@@ -390,7 +392,7 @@ extern int ne_get_elem_cmap(int neid, /* NetCDF/Exodus file ID */ + int processor /* This processor ID */ + ); + +-extern int ne_put_elem_cmap(int neid, /* NetCDF/Exodus file ID */ ++NEMESIS_EXPORT int ne_put_elem_cmap(int neid, /* NetCDF/Exodus file ID */ + ex_entity_id map_id, /* Elemental comm map ID */ + void_int * elem_ids, /* Vector of element IDs */ + void_int * side_ids, /* Vector of side IDs */ +diff --git a/packages/seacas/libraries/nemesis/nemesis_cfg.h.in b/packages/seacas/libraries/nemesis/nemesis_cfg.h.in +index 37b04f5cd..05f2db341 100644 +--- a/packages/seacas/libraries/nemesis/nemesis_cfg.h.in ++++ b/packages/seacas/libraries/nemesis/nemesis_cfg.h.in +@@ -1,8 +1,8 @@ +-# Copyright(C) 1999-2020 National Technology & Engineering Solutions +-# of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with +-# NTESS, the U.S. Government retains certain rights in this software. +-# +-# See packages/seacas/LICENSE for details ++// Copyright(C) 1999-2020 National Technology & Engineering Solutions ++// of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with ++// NTESS, the U.S. Government retains certain rights in this software. ++// ++// See packages/seacas/LICENSE for details + + #ifndef __nemesis_cfg_h + #define __nemesis_cfg_h +diff --git a/packages/seacas/libraries/suplib_c/CMakeLists.txt b/packages/seacas/libraries/suplib_c/CMakeLists.txt +index c5c0d0fd3..b047ea4cd 100644 +--- a/packages/seacas/libraries/suplib_c/CMakeLists.txt ++++ b/packages/seacas/libraries/suplib_c/CMakeLists.txt +@@ -29,5 +29,7 @@ TRIBITS_ADD_LIBRARY( + NOINSTALLHEADERS + SOURCES ${SOURCES} + ) +- ++if(BUILD_SHARED_LIBS) ++ set_target_properties(suplib_c PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON) ++endif() + TRIBITS_SUBPACKAGE_POSTPROCESS() +diff --git a/packages/seacas/libraries/suplib_cpp/CMakeLists.txt b/packages/seacas/libraries/suplib_cpp/CMakeLists.txt +index 5eb15b5a7..640b2a8b9 100644 +--- a/packages/seacas/libraries/suplib_cpp/CMakeLists.txt ++++ b/packages/seacas/libraries/suplib_cpp/CMakeLists.txt +@@ -30,5 +30,7 @@ TRIBITS_ADD_LIBRARY( + NOINSTALLHEADERS + SOURCES ${SOURCES} + ) +- ++if(BUILD_SHARED_LIBS) ++ set_target_properties(suplib_cpp PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON) ++endif() + TRIBITS_SUBPACKAGE_POSTPROCESS() diff --git a/ports/seacas/fix-build-error-with-fmt11.patch b/ports/seacas/fix-build-error-with-fmt11.patch new file mode 100644 index 00000000000000..470626c20426b3 --- /dev/null +++ b/ports/seacas/fix-build-error-with-fmt11.patch @@ -0,0 +1,108 @@ +diff --git a/packages/seacas/libraries/ioss/src/Ioss_Decomposition.C b/packages/seacas/libraries/ioss/src/Ioss_Decomposition.C +index fa2719a..0a7cfff 100644 +--- a/packages/seacas/libraries/ioss/src/Ioss_Decomposition.C ++++ b/packages/seacas/libraries/ioss/src/Ioss_Decomposition.C +@@ -14,6 +14,7 @@ + #include + #include + #include ++#include + #include + + #if !defined(NO_ZOLTAN_SUPPORT) +diff --git a/packages/seacas/libraries/ioss/src/Ioss_IOFactory.C b/packages/seacas/libraries/ioss/src/Ioss_IOFactory.C +index ef20a45..faa7943 100644 +--- a/packages/seacas/libraries/ioss/src/Ioss_IOFactory.C ++++ b/packages/seacas/libraries/ioss/src/Ioss_IOFactory.C +@@ -11,6 +11,7 @@ + #include + #include // for nullptr + #include ++#include + #include // for _Rb_tree_iterator, etc + #include // for basic_ostream, etc + #include +diff --git a/packages/seacas/libraries/ioss/src/Ioss_StructuredBlock.C b/packages/seacas/libraries/ioss/src/Ioss_StructuredBlock.C +index 488d28a..0a1e5e2 100644 +--- a/packages/seacas/libraries/ioss/src/Ioss_StructuredBlock.C ++++ b/packages/seacas/libraries/ioss/src/Ioss_StructuredBlock.C +@@ -14,6 +14,7 @@ + #include + #include + #include ++#include + + #include // for size_t + #include +diff --git a/packages/seacas/libraries/ioss/src/Ioss_Utils.C b/packages/seacas/libraries/ioss/src/Ioss_Utils.C +index 241ff80..d234b8b 100644 +--- a/packages/seacas/libraries/ioss/src/Ioss_Utils.C ++++ b/packages/seacas/libraries/ioss/src/Ioss_Utils.C +@@ -20,6 +20,7 @@ + #include + #include + #include ++#include + #include + #include + #include +diff --git a/packages/seacas/libraries/ioss/src/Ioss_ZoneConnectivity.C b/packages/seacas/libraries/ioss/src/Ioss_ZoneConnectivity.C +index 6888e17..f53c5e5 100644 +--- a/packages/seacas/libraries/ioss/src/Ioss_ZoneConnectivity.C ++++ b/packages/seacas/libraries/ioss/src/Ioss_ZoneConnectivity.C +@@ -8,6 +8,7 @@ + #include + #include // for size_t + #include ++#include + #include // for string + #include // for vector + +diff --git a/packages/seacas/libraries/ioss/src/heartbeat/Iohb_Layout.h b/packages/seacas/libraries/ioss/src/heartbeat/Iohb_Layout.h +index c486d69..b67a5c6 100644 +--- a/packages/seacas/libraries/ioss/src/heartbeat/Iohb_Layout.h ++++ b/packages/seacas/libraries/ioss/src/heartbeat/Iohb_Layout.h +@@ -9,6 +9,7 @@ + #include "iohb_export.h" + + #include ++#include + #include + #include + #include +diff --git a/packages/seacas/libraries/ioss/src/main/io_info.C b/packages/seacas/libraries/ioss/src/main/io_info.C +index 53a162b..bcadb55 100644 +--- a/packages/seacas/libraries/ioss/src/main/io_info.C ++++ b/packages/seacas/libraries/ioss/src/main/io_info.C +@@ -11,6 +11,7 @@ + #define FMT_DEPRECATED_OSTREAM + #include + #include ++#include + #if defined(SEACAS_HAVE_CGNS) + #include + #endif +diff --git a/packages/seacas/libraries/ioss/src/main/io_modify.C b/packages/seacas/libraries/ioss/src/main/io_modify.C +index 50a217d..c01191b 100644 +--- a/packages/seacas/libraries/ioss/src/main/io_modify.C ++++ b/packages/seacas/libraries/ioss/src/main/io_modify.C +@@ -58,6 +58,7 @@ + #include + #include + #include ++#include + + #if defined(SEACAS_HAVE_EXODUS) + #include +diff --git a/packages/seacas/libraries/ioss/src/main/sphgen.C b/packages/seacas/libraries/ioss/src/main/sphgen.C +index f633d55..24c2e2f 100644 +--- a/packages/seacas/libraries/ioss/src/main/sphgen.C ++++ b/packages/seacas/libraries/ioss/src/main/sphgen.C +@@ -14,6 +14,7 @@ + #include + #include + #include ++#include + #include + #include + #include diff --git a/ports/seacas/fix-fmt-10.patch b/ports/seacas/fix-fmt-10.patch new file mode 100644 index 00000000000000..e5623355d0b6de --- /dev/null +++ b/ports/seacas/fix-fmt-10.patch @@ -0,0 +1,28 @@ +From 5a576de57ee1664d845c83f552f2100cc9303a26 Mon Sep 17 00:00:00 2001 +From: Greg Sjaardema +Date: Wed, 10 May 2023 15:28:53 -0600 +Subject: [PATCH] IOSS: Fix enum printing to work with fmt-10 + +--- + .../seacas/libraries/ioss/src/text_mesh/Iotm_DatabaseIO.C | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/packages/seacas/libraries/ioss/src/text_mesh/Iotm_DatabaseIO.C b/packages/seacas/libraries/ioss/src/text_mesh/Iotm_DatabaseIO.C +index b6827aa177..59507085fc 100644 +--- a/packages/seacas/libraries/ioss/src/text_mesh/Iotm_DatabaseIO.C ++++ b/packages/seacas/libraries/ioss/src/text_mesh/Iotm_DatabaseIO.C +@@ -1,4 +1,4 @@ +-// Copyright(C) 1999-2020, 2022 National Technology & Engineering Solutions ++// Copyright(C) 1999-2020, 2022, 2023 National Technology & Engineering Solutions + // of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with + // NTESS, the U.S. Government retains certain rights in this software. + // +@@ -802,7 +802,7 @@ namespace Iotm { + std::ostringstream errmsg; + fmt::print(errmsg, + "Error: Failed to find entity of type {} with name {} for Assembly {}.\n", +- type, members[j], assem->name()); ++ Ioss::Utils::entity_type_to_string(type), members[j], assem->name()); + IOSS_ERROR(errmsg); + } + } diff --git a/ports/seacas/fix-headers.patch b/ports/seacas/fix-headers.patch new file mode 100644 index 00000000000000..35abbac9c01ba0 --- /dev/null +++ b/ports/seacas/fix-headers.patch @@ -0,0 +1,13 @@ +diff --git a/packages/seacas/libraries/ioss/src/text_mesh/Iotm_TextMeshFuncs.h b/packages/seacas/libraries/ioss/src/text_mesh/Iotm_TextMeshFuncs.h +index 67512ba..589cac2 100644 +--- a/packages/seacas/libraries/ioss/src/text_mesh/Iotm_TextMeshFuncs.h ++++ b/packages/seacas/libraries/ioss/src/text_mesh/Iotm_TextMeshFuncs.h +@@ -6,7 +6,7 @@ + + // ####################### Start Clang Header Tool Managed Headers ######################## + // clang-format off +-#include // for toupper ++#include // for toupper, isspace, isdigit + #include // for size_t + #include // for remove, etc + #include // for insert_iterator diff --git a/ports/seacas/fix-ioss-includes.patch b/ports/seacas/fix-ioss-includes.patch new file mode 100644 index 00000000000000..941cd6f844e749 --- /dev/null +++ b/ports/seacas/fix-ioss-includes.patch @@ -0,0 +1,25 @@ +diff --git a/packages/seacas/libraries/ioss/src/exodus/Ioex_DecompositionData.C b/packages/seacas/libraries/ioss/src/exodus/Ioex_DecompositionData.C +index eab77e9a1..6cec47422 100644 +--- a/packages/seacas/libraries/ioss/src/exodus/Ioex_DecompositionData.C ++++ b/packages/seacas/libraries/ioss/src/exodus/Ioex_DecompositionData.C +@@ -14,6 +14,8 @@ + #include + #include + #include ++#include ++#include + #include + + #include // for lower_bound, copy, etc +diff --git a/packages/seacas/libraries/ioss/src/exodus/Ioex_ParallelDatabaseIO.C b/packages/seacas/libraries/ioss/src/exodus/Ioex_ParallelDatabaseIO.C +index 0be442435..fccf2d4d4 100644 +--- a/packages/seacas/libraries/ioss/src/exodus/Ioex_ParallelDatabaseIO.C ++++ b/packages/seacas/libraries/ioss/src/exodus/Ioex_ParallelDatabaseIO.C +@@ -74,6 +74,7 @@ + #include + #include + #include ++#include + + #include + #undef MPICPP diff --git a/ports/seacas/fix-mpi.patch b/ports/seacas/fix-mpi.patch new file mode 100644 index 00000000000000..32c4a99fd97ec8 --- /dev/null +++ b/ports/seacas/fix-mpi.patch @@ -0,0 +1,85 @@ +diff --git a/cmake/TPLs/FindTPLParMETIS.cmake b/cmake/TPLs/FindTPLParMETIS.cmake +index 2dc2c149d..9bc04ae82 100644 +--- a/cmake/TPLs/FindTPLParMETIS.cmake ++++ b/cmake/TPLs/FindTPLParMETIS.cmake +@@ -54,7 +54,8 @@ + # @HEADER + + +-TRIBITS_TPL_FIND_INCLUDE_DIRS_AND_LIBRARIES( ParMETIS +- REQUIRED_HEADERS parmetis.h +- REQUIRED_LIBS_NAMES "parmetis;metis" +- ) ++find_package(parmetis REQUIRED) ++tribits_extpkg_create_imported_all_libs_target_and_config_file( ++ ParMETIS ++ INNER_FIND_PACKAGE_NAME parmetis ++ IMPORTED_TARGETS_FOR_ALL_LIBS parmetis ) +diff --git a/packages/seacas/libraries/ioss/src/Ioss_Decomposition.h b/packages/seacas/libraries/ioss/src/Ioss_Decomposition.h +index f53f140a7..c2df7a802 100644 +--- a/packages/seacas/libraries/ioss/src/Ioss_Decomposition.h ++++ b/packages/seacas/libraries/ioss/src/Ioss_Decomposition.h +@@ -91,6 +91,8 @@ namespace Ioss { + SetDecompositionData() = default; + SetDecompositionData(const SetDecompositionData &) = delete; + SetDecompositionData(SetDecompositionData &&) = default; ++ SetDecompositionData &operator =(const SetDecompositionData &) = delete; ++ SetDecompositionData &operator =(SetDecompositionData &&) = default; + + ~SetDecompositionData() + { +diff --git a/packages/seacas/libraries/ioss/src/Ioss_ParallelUtils.C b/packages/seacas/libraries/ioss/src/Ioss_ParallelUtils.C +index a82d6ca14..c5e80f692 100644 +--- a/packages/seacas/libraries/ioss/src/Ioss_ParallelUtils.C ++++ b/packages/seacas/libraries/ioss/src/Ioss_ParallelUtils.C +@@ -419,7 +419,7 @@ template IOSS_EXPORT void Ioss::ParallelUtils::broadcast(int &value, int) const; + /// \relates Ioss::ParallelUtils::broadcast + template IOSS_EXPORT void Ioss::ParallelUtils::broadcast(int64_t &value, int) const; + +-template <> void Ioss::ParallelUtils::broadcast(std::string &my_str, int root) const ++template <> IOSS_EXPORT void Ioss::ParallelUtils::broadcast(std::string &my_str, int root) const + { + PAR_UNUSED(my_str); + PAR_UNUSED(root); +diff --git a/packages/seacas/libraries/ioss/src/Ioss_ScopeGuard.h b/packages/seacas/libraries/ioss/src/Ioss_ScopeGuard.h +index cfdad81d9..1a785161e 100644 +--- a/packages/seacas/libraries/ioss/src/Ioss_ScopeGuard.h ++++ b/packages/seacas/libraries/ioss/src/Ioss_ScopeGuard.h +@@ -27,7 +27,7 @@ public: + + template inline RefHolder ByRef(T &t) { return RefHolder(t); } + +-class IOSS_EXPORT ScopeGuardImplBase ++class ScopeGuardImplBase + { + ScopeGuardImplBase &operator=(const ScopeGuardImplBase &) = delete; + +diff --git a/packages/seacas/libraries/ioss/src/exodus/Ioex_DecompositionData.h b/packages/seacas/libraries/ioss/src/exodus/Ioex_DecompositionData.h +index 359c1e9fd..e4c2dff9e 100644 +--- a/packages/seacas/libraries/ioss/src/exodus/Ioex_DecompositionData.h ++++ b/packages/seacas/libraries/ioss/src/exodus/Ioex_DecompositionData.h +@@ -34,7 +34,11 @@ namespace Ioex { + class IOEX_EXPORT DecompositionDataBase + { + public: +- DecompositionDataBase(Ioss_MPI_Comm comm) : comm_(comm) {} ++ explicit DecompositionDataBase(Ioss_MPI_Comm comm) : comm_(comm) {}; ++ DecompositionDataBase(const DecompositionDataBase &) = delete; ++ DecompositionDataBase(DecompositionDataBase &&) = delete; ++ DecompositionDataBase &operator =(const DecompositionDataBase &) = delete; ++ DecompositionDataBase &operator =(DecompositionDataBase &&) = delete; + + virtual ~DecompositionDataBase() = default; + virtual int int_size() const = 0; +diff --git a/packages/seacas/libraries/ioss/src/exodus/Ioex_ParallelDatabaseIO.h b/packages/seacas/libraries/ioss/src/exodus/Ioex_ParallelDatabaseIO.h +index f2785e37f..df0c8fbf6 100644 +--- a/packages/seacas/libraries/ioss/src/exodus/Ioex_ParallelDatabaseIO.h ++++ b/packages/seacas/libraries/ioss/src/exodus/Ioex_ParallelDatabaseIO.h +@@ -16,6 +16,7 @@ + #include // for Map + #include // for State + #include // for DatabaseIO ++#include + #include // for less + #include // for map, map<>::value_compare + #include diff --git a/ports/seacas/fix_tpl_libs.patch b/ports/seacas/fix_tpl_libs.patch new file mode 100644 index 00000000000000..c0427658c351a1 --- /dev/null +++ b/ports/seacas/fix_tpl_libs.patch @@ -0,0 +1,288 @@ +diff --git a/cmake/tribits/core/package_arch/TribitsAddExecutable.cmake b/cmake/tribits/core/package_arch/TribitsAddExecutable.cmake +index f08e7b78b..1274e8fce 100644 +--- a/cmake/tribits/core/package_arch/TribitsAddExecutable.cmake ++++ b/cmake/tribits/core/package_arch/TribitsAddExecutable.cmake +@@ -419,7 +419,11 @@ function(tribits_add_executable EXE_NAME) + foreach(depPkg IN LISTS ${PACKAGE_NAME}_LIB_ENABLED_DEPENDENCIES + ${PACKAGE_NAME}_TEST_ENABLED_DEPENDENCIES + ) +- target_link_libraries(${EXE_BINARY_NAME} PUBLIC ${depPkg}::all_libs) ++ if(TARGET TPL::${depPkg}::all_libs) ++ target_link_libraries(${EXE_BINARY_NAME} PUBLIC TPL::${depPkg}::all_libs) ++ else() ++ target_link_libraries(${EXE_BINARY_NAME} PUBLIC ${depPkg}::all_libs) ++ endif() + endforeach() + foreach(testOnlyLib ${PARSE_TESTONLYLIBS}) + target_link_libraries(${EXE_BINARY_NAME} PUBLIC +diff --git a/cmake/tribits/core/package_arch/TribitsAddLibrary.cmake b/cmake/tribits/core/package_arch/TribitsAddLibrary.cmake +index 4bac9f943..398002e33 100644 +--- a/cmake/tribits/core/package_arch/TribitsAddLibrary.cmake ++++ b/cmake/tribits/core/package_arch/TribitsAddLibrary.cmake +@@ -468,7 +468,11 @@ function(tribits_add_library LIBRARY_NAME_IN) + target_link_libraries(${LIBRARY_NAME} PUBLIC ${${PACKAGE_NAME}_LIBRARIES}) + # ${PACKAGE_NAME}_LIB_ENABLED_DEPENDENCIES + foreach(depPkg IN LISTS ${PACKAGE_NAME}_LIB_ENABLED_DEPENDENCIES) +- target_link_libraries(${LIBRARY_NAME} PUBLIC ${depPkg}::all_libs) ++ if(TARGET TPL::${depPkg}::all_libs) ++ target_link_libraries(${LIBRARY_NAME} PUBLIC TPL::${depPkg}::all_libs) ++ else() ++ target_link_libraries(${LIBRARY_NAME} PUBLIC ${depPkg}::all_libs) ++ endif() + endforeach() + # ${PACKAGE_NAME}_TEST_ENABLED_DEPENDENCIES (TESTONLY lib) + if (PARSE_TESTONLY) +diff --git a/cmake/tribits/core/package_arch/TribitsExternalPackageWriteConfigFile.cmake b/cmake/tribits/core/package_arch/TribitsExternalPackageWriteConfigFile.cmake +index 2d041a2ca..c49a2c019 100644 +--- a/cmake/tribits/core/package_arch/TribitsExternalPackageWriteConfigFile.cmake ++++ b/cmake/tribits/core/package_arch/TribitsExternalPackageWriteConfigFile.cmake +@@ -132,7 +132,7 @@ endfunction() + function(tribits_extpkg_install_config_file tplName tplConfigFile) + install( + FILES "${tplConfigFile}" +- DESTINATION "${${PROJECT_NAME}_INSTALL_LIB_DIR}/external_packages/${tplName}" ++ DESTINATION "${${PROJECT_NAME}_INSTALL_LIB_DIR}/external_packages/TPL-Seacas-${tplName}" + ) + endfunction() + +@@ -159,7 +159,7 @@ function(tribits_extpkg_install_config_version_file tplName + ) + install( + FILES "${tplConfigVersionFile}" +- DESTINATION "${${PROJECT_NAME}_INSTALL_LIB_DIR}/external_packages/${tplName}" ++ DESTINATION "${${PROJECT_NAME}_INSTALL_LIB_DIR}/external_packages/TPL-Seacas-${tplName}" + ) + endfunction() + +@@ -258,7 +258,7 @@ function(tribits_extpkg_write_config_file_str tplName tplConfigFileStrOut) + "# Generated by CMake, do not edit!\n" + "\n" + "# Guard against multiple inclusion\n" +- "if (TARGET ${tplName}::all_libs)\n" ++ "if (TARGET TPL::${tplName}::all_libs)\n" + " return()\n" + "endif()\n" + "\n" +@@ -333,9 +333,9 @@ function(tribits_extpkg_add_find_upstream_dependencies_str + message(FATAL_ERROR "ERROR: ${upstreamTplDepName}_DIR is empty!") + endif() + string(APPEND configFileFragStr +- "if (NOT TARGET ${upstreamTplDepName}::all_libs)\n" ++ "if (NOT TARGET TPL::${upstreamTplDepName}::all_libs)\n" + " set(${upstreamTplDepName}_DIR \"\${CMAKE_CURRENT_LIST_DIR}/../${upstreamTplDepName}\")\n" +- " find_dependency(${upstreamTplDepName} REQUIRED CONFIG \${${tplName}_SearchNoOtherPathsArgs})\n" ++ " find_dependency(TPL-Seacas-${upstreamTplDepName} REQUIRED CONFIG \${${tplName}_SearchNoOtherPathsArgs})\n" + " unset(${upstreamTplDepName}_DIR)\n" + "endif()\n" + "\n" +@@ -440,6 +440,7 @@ function(tribits_extpkg_process_libraries_list tplName) + elseif (libEntryType STREQUAL "GENERAL_LINK_OPTION") + message_wrapper("-- NOTE: Moving the general link argument '${libentry}' in TPL_${tplName}_LIBRARIES forward on the link line which may change the link and break the link!") + list(APPEND libLinkFlagsList "${libentry}") ++ elseif(libEntryType STREQUAL "TARGET_NAME") + else() + tribits_extpkg_process_libraries_list_library_entry( + ${tplName} "${libentry}" ${libEntryType} libTargets lastLibProcessed +@@ -501,6 +501,8 @@ function(tribits_tpl_libraries_entry_type libentry libEntryTypeOut) + set(libEntryType FULL_LIB_PATH) + elseif (libentry MATCHES "^[a-zA-Z_][a-zA-Z0-9_-]*$") + set(libEntryType LIB_NAME) ++ elseif (TARGET "${libentry}") ++ set(libEntryType TARGET_NAME) + else() + set(libEntryType UNSUPPORTED_LIB_ENTRY) + endif() +@@ -529,7 +531,7 @@ function(tribits_extpkg_process_libraries_list_library_entry + tribits_extpkg_get_libname_and_path_from_libentry( + "${libentry}" ${libEntryType} libname libpath) + # Create IMPORTED library target +- set(prefixed_libname "${tplName}::${libname}") ++ set(prefixed_libname "TPL::${tplName}::${libname}") + if (NOT (prefixed_libname IN_LIST libTargets)) + tribits_extpkg_append_add_library_str (${libname} ${prefixed_libname} + ${libEntryType} "${libpath}" configFileStr) +@@ -571,6 +573,9 @@ function(tribits_extpkg_get_libname_and_path_from_libentry + elseif (libEntryType STREQUAL "LIB_NAME") + set(libname "${libentry}") + set(libpath "") ++ elseif (libEntryType STREQUAL "TARGET_NAME") ++ string(REGEX REPLACE "([^:]*::)+" "" libname "${libentry}") ++ set(libpath "") + else() + message(FATAL_ERROR "Error libEntryType='${libEntryType}' not supported here!") + endif() +@@ -605,6 +610,13 @@ function(tribits_extpkg_append_add_library_str + "set_target_properties(${prefixed_libname} PROPERTIES\n" + " IMPORTED_LIBNAME \"${libname}\")\n" + ) ++ elseif (libEntryType STREQUAL "TARGET_NAME") ++ string(REGEX REPLACE "([^:]*::)+" "" package_name "${libname}") ++ string(APPEND configFileStr ++ "#add_library(${prefixed_libname} IMPORTED INTERFACE)\n" ++ "#find_package(${package_name} REQUIRED)\n" ++ "#target_link_libraries(${prefixed_libname} INTERFACE ${libentry})\n" ++ ) + else() + message(FATAL_ERROR "Error libEntryType='${libEntryType}' not supported here!") + endif() +@@ -784,11 +796,11 @@ function(tribits_extpkg_create_all_libs_target tplName) + + # add_library() + string(APPEND configFileStr +- "add_library(${tplName}::all_libs INTERFACE IMPORTED)\n") ++ "add_library(TPL::${tplName}::all_libs INTERFACE IMPORTED)\n") + # target_link_libraries() + if (libTargets) + string(APPEND configFileStr +- "target_link_libraries(${tplName}::all_libs\n") ++ "target_link_libraries(TPL::${tplName}::all_libs\n") + foreach (libTarget IN LISTS libTargets) + string(APPEND configFileStr + " INTERFACE ${libTarget}\n") +@@ -799,7 +811,7 @@ function(tribits_extpkg_create_all_libs_target tplName) + # target_include_directories() + if (TPL_${tplName}_INCLUDE_DIRS) + string(APPEND configFileStr +- "target_include_directories(${tplName}::all_libs SYSTEM\n") ++ "target_include_directories(TPL::${tplName}::all_libs SYSTEM\n") + foreach (inclDir IN LISTS TPL_${tplName}_INCLUDE_DIRS) + string(APPEND configFileStr + " INTERFACE \"${inclDir}\"\n") +@@ -810,7 +822,7 @@ function(tribits_extpkg_create_all_libs_target tplName) + # target_link_options() + if (libLinkFlags) + string(APPEND configFileStr +- "target_link_options(${tplName}::all_libs\n") ++ "target_link_options(TPL::${tplName}::all_libs\n") + foreach (likLinkFlag IN LISTS libLinkFlags) + string(APPEND configFileStr + " INTERFACE \"${likLinkFlag}\"\n") +diff --git a/cmake/tribits/core/package_arch/TribitsProcessEnabledTpl.cmake b/cmake/tribits/core/package_arch/TribitsProcessEnabledTpl.cmake +index dcdde4ce6..aaec95d49 100644 +--- a/cmake/tribits/core/package_arch/TribitsProcessEnabledTpl.cmake ++++ b/cmake/tribits/core/package_arch/TribitsProcessEnabledTpl.cmake +@@ -154,9 +154,9 @@ function(tribits_process_enabled_tpl TPL_NAME) + set(buildDirExternalPkgsDir + "${${PROJECT_NAME}_BINARY_DIR}/${${PROJECT_NAME}_BUILD_DIR_EXTERNAL_PKGS_DIR}") + set(tplConfigFile +- "${buildDirExternalPkgsDir}/${TPL_NAME}/${TPL_NAME}Config.cmake") ++ "${buildDirExternalPkgsDir}/TPL-Seacas-${TPL_NAME}/TPL-Seacas-${TPL_NAME}Config.cmake") + set(tplConfigVersionFile +- "${buildDirExternalPkgsDir}/${TPL_NAME}/${TPL_NAME}ConfigVersion.cmake") ++ "${buildDirExternalPkgsDir}/TPL-Seacas-${TPL_NAME}/TPL-Seacas-${TPL_NAME}ConfigVersion.cmake") + tribits_extpkg_write_config_version_file(${TPL_NAME} + "${tplConfigVersionFile}") + tribits_extpkg_install_config_file(${TPL_NAME} "${tplConfigFile}") +diff --git a/cmake/tribits/core/package_arch/TribitsTplFindIncludeDirsAndLibraries.cmake b/cmake/tribits/core/package_arch/TribitsTplFindIncludeDirsAndLibraries.cmake +index d3cb102cf..3641799ac 100644 +--- a/cmake/tribits/core/package_arch/TribitsTplFindIncludeDirsAndLibraries.cmake ++++ b/cmake/tribits/core/package_arch/TribitsTplFindIncludeDirsAndLibraries.cmake +@@ -423,9 +423,7 @@ function(tribits_tpl_find_include_dirs_and_libraries TPL_NAME) + set(TPL_CMAKE_FIND_LIBRARY_SUFFIXES ${TPL_CMAKE_FIND_LIBRARY_SUFFIXES_DEFAULT}) + else() + if (WIN32) +- set(CMAKE_FIND_LIBRARY_SUFFIXES .lib .a) + else() +- set(CMAKE_FIND_LIBRARY_SUFFIXES .a ) + endif() + endif() + #print_var(CMAKE_FIND_LIBRARY_SUFFIXES) +@@ -717,7 +717,7 @@ function(tribits_tpl_find_include_dirs_and_libraries TPL_NAME) + set(buildDirExternalPkgsDir + "${${PROJECT_NAME}_BINARY_DIR}/${${PROJECT_NAME}_BUILD_DIR_EXTERNAL_PKGS_DIR}") +- set(tplConfigFileBaseDir "${buildDirExternalPkgsDir}/${TPL_NAME}") ++ set(tplConfigFileBaseDir "${buildDirExternalPkgsDir}/TPL-Seacas-${TPL_NAME}") +- set(tplConfigFile "${tplConfigFileBaseDir}/${TPL_NAME}Config.cmake") ++ set(tplConfigFile "${tplConfigFileBaseDir}/TPL-Seacas-${TPL_NAME}Config.cmake") + tribits_extpkg_write_config_file(${TPL_NAME} "${tplConfigFile}") + if (NOT ${PROJECT_NAME}_ENABLE_INSTALLATION_TESTING) + include("${tplConfigFile}") +diff --git a/cmake/tribits/core/package_arch/TribitsWriteClientExportFiles.cmake b/cmake/tribits/core/package_arch/TribitsWriteClientExportFiles.cmake +index 1f31b6ec0..9bc1057b7 100644 +--- a/cmake/tribits/core/package_arch/TribitsWriteClientExportFiles.cmake ++++ b/cmake/tribits/core/package_arch/TribitsWriteClientExportFiles.cmake +@@ -289,7 +289,11 @@ function(tribits_write_flexible_package_client_export_files) + + set(${PACKAGE_NAME}_TPL_LIBRARIES "") + foreach(TPL ${ORDERED_FULL_TPL_SET}) +- list(APPEND ${PACKAGE_NAME}_TPL_LIBRARIES ${TPL}::all_libs) ++ if(TARGET TPL::${TPL}::all_libs) ++ list(APPEND ${PACKAGE_NAME}_TPL_LIBRARIES TPL::${TPL}::all_libs) ++ else() ++ list(APPEND ${PACKAGE_NAME}_TPL_LIBRARIES ${TPL}::all_libs) ++ endif() + endforeach() + + # Generate a note discouraging editing of the Config.cmake file +@@ -587,17 +591,21 @@ function(tribits_append_dependent_package_config_file_includes_and_enables packa + "\n# Include configuration of dependent packages\n") + foreach(depPkg IN LISTS ${packageName}_LIB_ENABLED_DEPENDENCIES) + set(packageConfigBaseDir "") # Initially, no add include() ++ set(packageTarget "${depPkg}::all_libs") ++ set(packageConfig "${depPkg}Config.cmake") + if (${depPkg}_PACKAGE_BUILD_STATUS STREQUAL "INTERNAL") + set(packageConfigBaseDir "${pkgConfigFileBaseDir}/${depPkg}") + elseif (${depPkg}_PACKAGE_BUILD_STATUS STREQUAL "EXTERNAL") +- set(packageConfigBaseDir "${extPkgConfigFileBaseDir}/${depPkg}") ++ set(packageConfigBaseDir "${extPkgConfigFileBaseDir}/TPL-Seacas-${depPkg}") ++ set(packageTarget "TPL::${depPkg}::all_libs") ++ set(packageConfig "TPL-Seacas-${depPkg}Config.cmake") + else() + message(FATAL_ERROR "ERROR: ${depPkg}_PACKAGE_BUILD_STATUS='${${depPkg}_PACKAGE_BUILD_STATUS}' invalid!") + endif() + if (packageConfigBaseDir) + string(APPEND configFileStr +- "if (NOT TARGET ${depPkg}::all_libs)\n" +- " include(\"${packageConfigBaseDir}/${depPkg}Config.cmake\")\n" ++ "if (NOT TARGET ${packageTarget})\n" ++ " include(\"${packageConfigBaseDir}/${packageConfig}\")\n" + "endif()\n" + ) + endif() +diff --git a/cmake/tribits/core/package_arch/TribitsExternalPackageFindTplHelpers.cmake b/cmake/tribits/core/package_arch/TribitsExternalPackageFindTplHelpers.cmake +index 1873267bd..ed6254632 100644 +--- a/cmake/tribits/core/package_arch/TribitsExternalPackageFindTplHelpers.cmake ++++ b/cmake/tribits/core/package_arch/TribitsExternalPackageFindTplHelpers.cmake +@@ -120,17 +120,21 @@ function(tribits_extpkg_create_package_config_file_with_imported_targets + "set(${externalPkg}_DIR \"${${externalPkg}_DIR}\")\n" ) + endif() + string(APPEND configFileStr +- "find_dependency(${externalPkg})\n" +- "add_library(${tplName}::all_libs INTERFACE IMPORTED GLOBAL)\n" ++ "find_dependency(${externalPkg})\n" # This is outside TPL ++ "if(NOT TARGET ${tplName}::all_libs)\n" ++ " add_library(${tplName}::all_libs INTERFACE IMPORTED GLOBAL)\n" + ) + foreach (importedTarget IN LISTS PARSE_IMPORTED_TARGETS_FOR_ALL_LIBS) + string(APPEND configFileStr +- "target_link_libraries(${tplName}::all_libs INTERFACE ${importedTarget})\n") ++ " target_link_libraries(${tplName}::all_libs INTERFACE ${importedTarget})\n") + endforeach() ++ string(APPEND configFileStr ++ "endif()\n" ++ ) + set(buildDirExternalPkgsDir + "${${PROJECT_NAME}_BINARY_DIR}/${${PROJECT_NAME}_BUILD_DIR_EXTERNAL_PKGS_DIR}") + set(tplConfigFile +- "${buildDirExternalPkgsDir}/${tplName}/${tplName}Config.cmake") ++ "${buildDirExternalPkgsDir}/TPL-Seacas-${tplName}/TPL-Seacas-${tplName}Config.cmake") + file(WRITE "${tplConfigFile}" "${configFileStr}") + + endfunction() +diff --git a/cmake/tribits/core/package_arch/TribitsExternalPackageWriteConfigFile.cmake b/cmake/tribits/core/package_arch/TribitsExternalPackageWriteConfigFile.cmake +index c49a2c019..7c906ce26 100644 +--- a/cmake/tribits/core/package_arch/TribitsExternalPackageWriteConfigFile.cmake ++++ b/cmake/tribits/core/package_arch/TribitsExternalPackageWriteConfigFile.cmake +@@ -334,9 +334,10 @@ function(tribits_extpkg_add_find_upstream_dependencies_str + endif() + string(APPEND configFileFragStr + "if (NOT TARGET TPL::${upstreamTplDepName}::all_libs)\n" +- " set(${upstreamTplDepName}_DIR \"\${CMAKE_CURRENT_LIST_DIR}/../${upstreamTplDepName}\")\n" ++ " set(TPL-Seacas-${upstreamTplDepName}_DIR \"\${CMAKE_CURRENT_LIST_DIR}/../TPL-Seacas-${upstreamTplDepName}\")\n" # Looks for internal dep ++ " # Really only upstream ? NO ! THis is for ::all_libs targets in internal consumers\n" + " find_dependency(TPL-Seacas-${upstreamTplDepName} REQUIRED CONFIG \${${tplName}_SearchNoOtherPathsArgs})\n" +- " unset(${upstreamTplDepName}_DIR)\n" ++ " unset(TPL-Seacas-${upstreamTplDepName}_DIR)\n" + "endif()\n" + "\n" + ) diff --git a/ports/seacas/portfile.cmake b/ports/seacas/portfile.cmake new file mode 100644 index 00000000000000..81bae2abbc1f9b --- /dev/null +++ b/ports/seacas/portfile.cmake @@ -0,0 +1,131 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO sandialabs/seacas + REF 47120843900fd7ef845688fa145ebf76a825bc51 + SHA512 13677746457edbd4b3619576a6c474f5d8ab2eb24f648fac687e655e3121282b62994575723d18db8d18b42266d219aa4d83344ecff53f5e9a737513a3461180 + HEAD_REF master + PATCHES fix_tpl_libs.patch + fix-ioss-includes.patch + deps-and-shared.patch + fix-mpi.patch + fix-headers.patch + fix-fmt-10.patch + fix-build-error-with-fmt11.patch +) +file(REMOVE "${SOURCE_PATH}/cmake/tribits/common_tpls/find_modules/FindHDF5.cmake") + +if(HDF5_WITH_PARALLEL AND NOT "mpi" IN_LIST FEATURES) + message(WARNING "${HDF5_WITH_PARALLEL} Enabling MPI in seacas.") + list(APPEND FEATURES "mpi") +elseif(NOT VCPKG_TARGET_IS_OSX) + set(PARMETIS_FEATURES mpi TPL_ENABLE_ParMETIS) +endif() + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + mpi TPL_ENABLE_MPI + matio TPL_ENABLE_Matio + # mpi TPL_ENABLE_Pnetcdf # missing Pnetcdf port + ${PARMETIS_FEATURES} +) + +if(VCPKG_TARGET_IS_WINDOWS) + list(APPEND FEATURE_OPTIONS "-DTPL_ENABLE_DLlib:BOOL=OFF") +endif() + +set(tpl_disable_list GTest DataWarp Pamgen X11 CUDA Kokkos Faodel Pnetcdf ADIOS2 Catalyst2) + +set(tpl_enable_list Zlib HDF5 Netcdf CGNS fmt Cereal) + +if(VCPKG_TARGET_IS_OSX) + list(APPEND tpl_disable_list METIS) +else() + list(APPEND tpl_enable_list METIS) +endif() + +set(tpl_options "") +foreach(tpl IN LISTS tpl_disable_list) + list(APPEND tpl_options "-DTPL_ENABLE_${tpl}:BOOL=OFF") +endforeach() +foreach(tpl IN LISTS tpl_enable_list) + list(APPEND tpl_options "-DTPL_ENABLE_${tpl}:BOOL=ON") +endforeach() + +set(disabled_projects Chaco Aprepro_lib SuplibC SuplibCpp Nemslice Nemspread Nas2exo Cpup Epu Ejoin Conjoin Aprepro Exo_format) +set(proj_options "") +foreach(proj IN LISTS disabled_projects) + list(APPEND proj_options "-DSeacas_ENABLE_SEACAS${proj}:BOOL=OFF") +endforeach() +set(enabled_projects Ioss Nemesis Exodus) +set(proj_options "") +foreach(proj IN LISTS disabled_projects) + list(APPEND proj_options "-DSeacas_ENABLE_SEACAS${proj}:BOOL=OFF") +endforeach() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + #--trace-expand + ${FEATURE_OPTIONS} + -DBUILD_TESTING=OFF + -DSeacas_ENABLE_Zoltan:BOOL=OFF + -DSeacas_ENABLE_SEACAS:BOOL=ON + "-DSeacas_HOSTNAME:STRING=localhost" + "-DSeacas_GENERATE_REPO_VERSION_FILE:BOOL=OFF" + "-DNetcdf_ALLOW_MODERN:BOOL=ON" + "-DSeacas_ENABLE_Fortran:BOOL=OFF" + #"-DCGNS_ALLOW_PREDEFIND:BOOL=NO" + #"-DSeacas_ENABLE_ALL_PACKAGES:BOOL=ON" + ${proj_options} + ${tpl_options} +) + +vcpkg_cmake_install() + +set(cmake_config_list ${enabled_projects}) +list(TRANSFORM cmake_config_list PREPEND "SEACAS") +list(APPEND cmake_config_list SEACAS) + +foreach(cmake_conig IN LISTS cmake_config_list) + vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${cmake_conig}" PACKAGE_NAME cmake/${cmake_conig} DO_NOT_DELETE_PARENT_CONFIG_PATH NO_PREFIX_CORRECTION) +endforeach() +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/external_packages" PACKAGE_NAME external_packages DO_NOT_DELETE_PARENT_CONFIG_PATH NO_PREFIX_CORRECTION ) +if(EXISTS "${CURRENT_PACKAGES_DIR}/lib/cmake/Seacas") + # Case sensitive filesystems will have two Seacas folders + vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/Seacas" PACKAGE_NAME cmake/Seacas DO_NOT_DELETE_PARENT_CONFIG_PATH NO_PREFIX_CORRECTION) +endif() + +set(tool_names cgns_decomp cth_pressure_map + io_info io_modify io_shell + shell_to_hex skinner sphgen struc_to_unstruc) + +vcpkg_copy_tools(TOOL_NAMES ${tool_names} AUTO_CLEAN) + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + file(GLOB remaining_bin_stuff "${CURRENT_PACKAGES_DIR}/bin/*" LIST_DIRECTORIES true) + if(NOT remaining_bin_stuff) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") + else() + message(WARNING "remaining_bin_stuff:${remaining_bin_stuff}") + endif() +endif() + +# vcpkg really needs: vcpkg_remove_dirs_if_empty() +file(GLOB remaining_cmake_dirs "${CURRENT_PACKAGES_DIR}/lib/cmake/*" LIST_DIRECTORIES true) +if(NOT remaining_cmake_dirs) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/cmake" "${CURRENT_PACKAGES_DIR}/debug/lib/cmake") +else() + message(WARNING "remaining_cmake_dirs:${remaining_cmake_dirs}") +endif() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE "${CURRENT_PACKAGES_DIR}/include/SeacasConfig.cmake") + +file(GLOB_RECURSE python_files LIST_DIRECTORIES true "${CURRENT_PACKAGES_DIR}/lib/*.py" "${CURRENT_PACKAGES_DIR}/debug/lib/*.py") +if(python_files) + file(REMOVE ${python_files}) +endif() + +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME "copyright") + diff --git a/ports/seacas/vcpkg.json b/ports/seacas/vcpkg.json new file mode 100644 index 00000000000000..29e95ca10f14fd --- /dev/null +++ b/ports/seacas/vcpkg.json @@ -0,0 +1,78 @@ +{ + "name": "seacas", + "version-date": "2022-11-22", + "port-version": 7, + "description": "The Sandia Engineering Analysis Code Access System (SEACAS) is a suite of preprocessing, postprocessing, translation, and utility applications supporting finite element analysis software using the Exodus database file format.", + "homepage": "https://github.com/sandialabs/seacas", + "license": null, + "dependencies": [ + "cereal", + { + "name": "cgns", + "default-features": false, + "features": [ + "hdf5" + ] + }, + "fmt", + { + "name": "hdf5", + "default-features": false + }, + "metis", + { + "name": "netcdf-c", + "default-features": false, + "features": [ + "hdf5" + ] + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "zlib" + ], + "features": { + "matio": { + "description": "Enable Matio support", + "dependencies": [ + { + "name": "matio", + "default-features": false, + "features": [ + "hdf5" + ] + } + ] + }, + "mpi": { + "description": "Enable MPI support", + "dependencies": [ + { + "name": "cgns", + "default-features": false, + "features": [ + "mpi" + ] + }, + { + "name": "hdf5", + "default-features": false, + "features": [ + "parallel" + ] + }, + { + "name": "parmetis", + "default-features": false, + "platform": "!osx" + } + ] + } + } +} diff --git a/ports/seal/fix-hexl.patch b/ports/seal/fix-hexl.patch new file mode 100644 index 00000000000000..ddc797d8307cb2 --- /dev/null +++ b/ports/seal/fix-hexl.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index edf69a3..e64672e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -223,7 +223,7 @@ if(SEAL_USE_INTEL_HEXL) + message(STATUS "Intel HEXL: download ...") + seal_fetch_thirdparty_content(ExternalIntelHEXL) + else() +- find_package(HEXL 1.2.4) ++ find_package(HEXL CONFIG REQUIRED) + if (NOT TARGET HEXL::hexl) + message(FATAL_ERROR "Intel HEXL: not found") + endif() diff --git a/ports/seal/portfile.cmake b/ports/seal/portfile.cmake index 0806056029f4f8..5ecd182101764a 100644 --- a/ports/seal/portfile.cmake +++ b/ports/seal/portfile.cmake @@ -1,11 +1,22 @@ -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/SEAL - REF 79234726053c45eede688400aa219fdec0810bd8 - SHA512 634ad75d70f04cce220bfa9f6d13e8ddb293e8403ebd195e2c8b522b751a1a268021feea7843038037ed6d1b354b2e470ad565966a117613cf5371073afda9a4 + REF "v${VERSION}" + SHA512 8e97e8106ae2eeceee743634b0db1936b3a3a1381ceceb5646f6de8008d2147cdc9b847219dafd7d8b8f7457e63c7463f155694e8a192d13531171b468e8f365 HEAD_REF main + PATCHES + shared-zstd.patch + fix-hexl.patch +) + +vcpkg_replace_string( + "${SOURCE_PATH}/cmake/CheckCXXIntrinsicsSpecific.cmake" + "check_cxx_source_runs" + "check_cxx_source_compiles" ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS @@ -19,24 +30,24 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS ) vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} - DISABLE_PARALLEL_CONFIGURE + SOURCE_PATH "${SOURCE_PATH}" OPTIONS - "-DSEAL_BUILD_DEPS=OFF" - "-DSEAL_BUILD_EXAMPLES=OFF" - "-DSEAL_BUILD_TESTS=OFF" - "-DSEAL_BUILD_SEAL_C=OFF" + -DSEAL_BUILD_DEPS=OFF + -DSEAL_BUILD_EXAMPLES=OFF + -DSEAL_BUILD_TESTS=OFF + -DSEAL_BUILD_SEAL_C=OFF ${FEATURE_OPTIONS} ) vcpkg_cmake_install() -vcpkg_cmake_config_fixup(PACKAGE_NAME "SEAL" CONFIG_PATH "lib/cmake/SEAL-3.7") +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/SEAL-4.1) -vcpkg_fixup_pkgconfig() +# provides pkgconfig files only on UNIX +if(NOT VCPKG_TARGET_IS_WINDOWS) + vcpkg_fixup_pkgconfig() +endif() 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/seal/shared-zstd.patch b/ports/seal/shared-zstd.patch new file mode 100644 index 00000000000000..b8515fbcdfb35c --- /dev/null +++ b/ports/seal/shared-zstd.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 4cc8a01..b8c92c2 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -205,7 +205,7 @@ if(SEAL_USE_ZSTD) + message(FATAL_ERROR "Zstandard: must be static") + endif() + elseif(TARGET zstd::libzstd_shared) +- message(FATAL_ERROR "Zstandard: must be static") ++ set(zstd_static "zstd::libzstd_shared") + else() + message(FATAL_ERROR "Zstandard: not found") + endif() diff --git a/ports/seal/vcpkg.json b/ports/seal/vcpkg.json index 7ff225449d0a9a..114441623ab0e0 100644 --- a/ports/seal/vcpkg.json +++ b/ports/seal/vcpkg.json @@ -1,9 +1,9 @@ { "name": "seal", - "version-semver": "3.7.2", + "version": "4.1.2", "description": "Microsoft SEAL is an easy-to-use and powerful homomorphic encryption library.", "homepage": "https://github.com/microsoft/SEAL", - "supports": "!windows | (windows & static)", + "license": "MIT", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/seasocks/portfile.cmake b/ports/seasocks/portfile.cmake new file mode 100644 index 00000000000000..ec045609d0a907 --- /dev/null +++ b/ports/seasocks/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 mattgodbolt/seasocks + REF "v${VERSION}" + SHA512 18e596a09a825efd2421eee3b0d5ea389c0056c4b01c8b2078841d03863318e3f3ad59f6fd47fbe90409989c1fe05599f29b34a397427d282124e867371733ed + HEAD_REF master +) + +vcpkg_find_acquire_program(PYTHON3) +get_filename_component(PYTHON3_DIR "${PYTHON3}" DIRECTORY) +vcpkg_add_to_path("${PYTHON3_DIR}") + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + zlib DEFLATE_SUPPORT +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DUNITTESTS=OFF + -DSEASOCKS_EXAMPLE_APP=OFF + ${FEATURE_OPTIONS} +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/Seasocks") + +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/licenses") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/seasocks/vcpkg.json b/ports/seasocks/vcpkg.json new file mode 100644 index 00000000000000..52133d8e4a2a10 --- /dev/null +++ b/ports/seasocks/vcpkg.json @@ -0,0 +1,29 @@ +{ + "name": "seasocks", + "version": "1.4.6", + "description": "Simple, small, C++ embeddable webserver with WebSockets support", + "homepage": "https://github.com/mattgodbolt/seasocks", + "license": "BSD-2-Clause", + "supports": "!osx & !android", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "default-features": [ + "zlib" + ], + "features": { + "zlib": { + "description": "Build with Deflate support via zlib", + "dependencies": [ + "zlib" + ] + } + } +} diff --git a/ports/secp256k1/CMakeLists.txt b/ports/secp256k1/CMakeLists.txt index a3af313b6e7109..3fe32d099c8fde 100644 --- a/ports/secp256k1/CMakeLists.txt +++ b/ports/secp256k1/CMakeLists.txt @@ -2,34 +2,84 @@ cmake_minimum_required(VERSION 3.8) project(secp256k1 C) option(INSTALL_HEADERS "Install header files" ON) +option(BUILD_TOOLS "Build tools" OFF) +option(BUILD_EXAMPLES "Build examples" OFF) add_definitions( -DENABLE_MODULE_ECDH -DENABLE_MODULE_RECOVERY - -DHAVE_CONFIG_H + -DENABLE_MODULE_EXTRAKEYS + -DENABLE_MODULE_SCHNORRSIG ) file(GLOB SOURCES src/secp256k1.c) add_library(secp256k1 ${SOURCES}) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/src) +target_include_directories(secp256k1 PUBLIC $ $ $) -target_include_directories(secp256k1 PUBLIC $ $) +file(GLOB SOURCES_PRECOMP src/precomputed_ecmult.c src/precomputed_ecmult_gen.c) +add_library(secp256k1_precomputed ${SOURCES_PRECOMP}) + +target_include_directories(secp256k1_precomputed PUBLIC $ $) + +if (BUILD_TOOLS) + add_executable(bench src/bench.c) + target_link_libraries(bench PRIVATE secp256k1 secp256k1_precomputed) + + add_executable(bench_internal src/bench_internal.c) + target_link_libraries(bench_internal PRIVATE secp256k1_precomputed) + + add_executable(bench_ecmult src/bench_ecmult.c) + target_link_libraries(bench_ecmult PRIVATE secp256k1_precomputed) + + install(TARGETS bench bench_internal bench_ecmult RUNTIME DESTINATION bin) +endif() + +if (BUILD_EXAMPLES) + add_executable(ecdsa_example examples/ecdsa.c) + target_include_directories(ecdsa_example PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include) + target_link_libraries(ecdsa_example PRIVATE secp256k1 secp256k1_precomputed) + if (WIN32) + target_link_libraries(ecdsa_example PRIVATE Bcrypt) + endif() + + add_executable(ecdh_example examples/ecdh.c) + target_include_directories(ecdh_example PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include) + target_link_libraries(ecdh_example PRIVATE secp256k1 secp256k1_precomputed) + if (WIN32) + target_link_libraries(ecdh_example PRIVATE Bcrypt) + endif() + + add_executable(schnorr_example examples/schnorr.c) + target_include_directories(schnorr_example PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include) + target_link_libraries(schnorr_example PRIVATE secp256k1 secp256k1_precomputed) + if (WIN32) + target_link_libraries(schnorr_example PRIVATE Bcrypt) + endif() + + install(TARGETS ecdsa_example ecdh_example schnorr_example RUNTIME DESTINATION bin) +endif() if(INSTALL_HEADERS) file(GLOB HEADERS include/*.h) install(FILES ${HEADERS} DESTINATION include) endif() -install(TARGETS secp256k1 EXPORT unofficial-secp256k1-targets +install(TARGETS secp256k1 EXPORT unofficial-secp256k1-config + RUNTIME DESTINATION bin + ARCHIVE DESTINATION lib + LIBRARY DESTINATION lib +) + +install(TARGETS secp256k1_precomputed EXPORT unofficial-secp256k1-config RUNTIME DESTINATION bin ARCHIVE DESTINATION lib LIBRARY DESTINATION lib ) install( - EXPORT unofficial-secp256k1-targets - FILE unofficial-secp256k1-targets.cmake + EXPORT unofficial-secp256k1-config + FILE unofficial-secp256k1-config.cmake NAMESPACE unofficial:: DESTINATION share/unofficial-secp256k1 -) \ No newline at end of file +) diff --git a/ports/secp256k1/libsecp256k1-config.h b/ports/secp256k1/libsecp256k1-config.h deleted file mode 100644 index 693d3ed25b015f..00000000000000 --- a/ports/secp256k1/libsecp256k1-config.h +++ /dev/null @@ -1,29 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef SECP256K1_BASIC_CONFIG_H -#define SECP256K1_BASIC_CONFIG_H - -#undef USE_ASM_X86_64 -#undef USE_ENDOMORPHISM -#undef USE_FIELD_10X26 -#undef USE_FIELD_5X52 -#undef USE_FIELD_INV_BUILTIN -#undef USE_FIELD_INV_NUM -#undef USE_NUM_GMP -#undef USE_NUM_NONE -#undef USE_SCALAR_4X64 -#undef USE_SCALAR_8X32 -#undef USE_SCALAR_INV_BUILTIN -#undef USE_SCALAR_INV_NUM - -#define USE_NUM_NONE 1 -#define USE_FIELD_INV_BUILTIN 1 -#define USE_SCALAR_INV_BUILTIN 1 -#define USE_FIELD_10X26 1 -#define USE_SCALAR_8X32 1 - -#endif /* SECP256K1_BASIC_CONFIG_H */ diff --git a/ports/secp256k1/portfile.cmake b/ports/secp256k1/portfile.cmake index 3bf158816ae426..4c63bebed88b23 100644 --- a/ports/secp256k1/portfile.cmake +++ b/ports/secp256k1/portfile.cmake @@ -2,24 +2,45 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO "bitcoin-core/secp256k1" - REF "0b7024185045a49a1a6a4c5615bf31c94f63d9c4" - SHA512 54e0c446ae63105800dfaf23dc934734f196c91f275db0455e58a36926c29ecc51a13d9b1eb2e45bc86199120c3c472ec7b39086787a49ce388a4df462a870bc + REPO bitcoin-core/secp256k1 + REF 3efeb9da21368c02cad58435b2ccdf6eb4b359c3 + SHA512 6d792943f9277a1b4c36dad62389cb38e0b93efb570b6af6c41afdb936d10ca30d4c2e4e743fc0f113d1f9785891d1e9d1fe224d7b8abd4197a9f5febf0febd6 ) -file(COPY ${CURRENT_PORT_DIR}/libsecp256k1-config.h DESTINATION ${SOURCE_PATH}) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS_DEBUG +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + tools BUILD_TOOLS + examples BUILD_EXAMPLES +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} + OPTIONS_DEBUG -DINSTALL_HEADERS=OFF ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-${PORT} TARGET_PATH share/unofficial-${PORT}) +vcpkg_cmake_install() +vcpkg_copy_pdbs() + +vcpkg_cmake_config_fixup(CONFIG_PATH "share/unofficial-${PORT}" PACKAGE_NAME unofficial-${PORT}) + +if (BUILD_TOOLS OR BUILD_EXAMPLES) + set(SECP256K1_TOOLS "") + if (BUILD_TOOLS) + list(APPEND SECP256K1_TOOLS bench bench_internal bench_ecmult) + endif() + + if (BUILD_EXAMPLES) + list(APPEND SECP256K1_TOOLS ecdsa_example ecdh_example schnorr_example) + endif() + + vcpkg_copy_tools(TOOL_NAMES ${SECP256K1_TOOLS} AUTO_CLEAN) +endif() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -configure_file(${CMAKE_CURRENT_LIST_DIR}/secp256k1-config.cmake ${CURRENT_PACKAGES_DIR}/share/unofficial-${PORT}/unofficial-secp256k1-config.cmake @ONLY) -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) + +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/secp256k1/secp256k1-config.cmake b/ports/secp256k1/secp256k1-config.cmake deleted file mode 100644 index 5cc40fe829a9ae..00000000000000 --- a/ports/secp256k1/secp256k1-config.cmake +++ /dev/null @@ -1 +0,0 @@ -include("${CMAKE_CURRENT_LIST_DIR}/unofficial-secp256k1-targets.cmake") diff --git a/ports/secp256k1/vcpkg.json b/ports/secp256k1/vcpkg.json index 43a10ad02447bc..8026e540c7891d 100644 --- a/ports/secp256k1/vcpkg.json +++ b/ports/secp256k1/vcpkg.json @@ -1,7 +1,26 @@ { "name": "secp256k1", - "version-string": "2017-19-10", - "port-version": 4, + "version-date": "2022-07-11", + "port-version": 1, "description": "Optimized C library for EC operations on curve", - "homepage": "https://github.com/bitcoin-core/secp256k1" + "homepage": "https://github.com/bitcoin-core/secp256k1", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "examples": { + "description": "Build examples" + }, + "tools": { + "description": "Build tools" + } + } } diff --git a/ports/selene/portfile.cmake b/ports/selene/portfile.cmake index d300f5f839cb26..abc6e87bc6f2ab 100644 --- a/ports/selene/portfile.cmake +++ b/ports/selene/portfile.cmake @@ -21,6 +21,7 @@ vcpkg_check_features( vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS + -DSELENE_ARCH_NATIVE=OFF ${FEATURE_OPTIONS} ) diff --git a/ports/selene/vcpkg.json b/ports/selene/vcpkg.json index 71bcb2514063d6..745aab397e18dc 100644 --- a/ports/selene/vcpkg.json +++ b/ports/selene/vcpkg.json @@ -1,13 +1,16 @@ { "name": "selene", "version": "0.3.1", - "port-version": 5, + "port-version": 7, "description": "A C++17 image representation, processing and I/O library.", "homepage": "https://github.com/kmhofmann/selene", "dependencies": [ "libjpeg-turbo", "libpng", - "tiff", + { + "name": "tiff", + "default-features": false + }, { "name": "vcpkg-cmake", "host": true diff --git a/ports/sentencepiece/portfile.cmake b/ports/sentencepiece/portfile.cmake index 3f862e90b89a28..80db231d4837a1 100644 --- a/ports/sentencepiece/portfile.cmake +++ b/ports/sentencepiece/portfile.cmake @@ -5,8 +5,8 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/sentencepiece - REF v0.1.96 - SHA512 c3f23b483ebe148a37a01908f5624f06536efcba5609192957239d844244ab445d39e59b1b44b6df1f182166d58a6df38c046506ce45160a272f1e7f46c25010 + REF "v${VERSION}" + SHA512 b4214f5bfbe2a0757794c792e87e7c53fda7e65b2511b37fc757f280bf9287ba59b5d630801e17de6058f8292a3c6433211917324cb3446a212a51735402e614 HEAD_REF master ) @@ -14,19 +14,17 @@ vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DSPM_ENABLE_SHARED=OFF + -DSPM_USE_BUILTIN_PROTOBUF=ON + -DSPM_USE_EXTERNAL_ABSL=OFF ) vcpkg_cmake_install() -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin") -if(NOT VCPKG_CMAKE_SYSTEM_NAME) - file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/sentencepiece.lib" "${CURRENT_PACKAGES_DIR}/debug/lib/sentencepieced.lib") - file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/sentencepiece_train.lib" "${CURRENT_PACKAGES_DIR}/debug/lib/sentencepiece_traind.lib") -endif() -configure_file("${SOURCE_PATH}/LICENSE" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") + +vcpkg_copy_tools(TOOL_NAMES spm_decode spm_encode spm_export_vocab spm_normalize spm_train AUTO_CLEAN) vcpkg_copy_pdbs() diff --git a/ports/sentencepiece/vcpkg.json b/ports/sentencepiece/vcpkg.json index ed0f04c456d0af..742abc66a69bd6 100644 --- a/ports/sentencepiece/vcpkg.json +++ b/ports/sentencepiece/vcpkg.json @@ -1,7 +1,9 @@ { "name": "sentencepiece", - "version": "0.1.96", + "version": "0.2.0", "description": "SentencePiece is an unsupervised text tokenizer and detokenizer mainly for Neural Network-based text generation systems where the vocabulary size is predetermined prior to the neural model training", + "license": "Apache-2.0", + "supports": "static", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/sentry-native/fix-config-cmake.patch b/ports/sentry-native/fix-config-cmake.patch deleted file mode 100644 index 3d8db2a0e1e646..00000000000000 --- a/ports/sentry-native/fix-config-cmake.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff --git a/sentry-config.cmake.in b/sentry-config.cmake.in -index 89ea345..c14b31c 100644 ---- a/sentry-config.cmake.in -+++ b/sentry-config.cmake.in -@@ -3,9 +3,11 @@ - set(SENTRY_BACKEND @SENTRY_BACKEND@) - set(SENTRY_TRANSPORT @SENTRY_TRANSPORT@) - -+include(CMakeFindDependencyMacro) -+ - if(SENTRY_BACKEND STREQUAL "crashpad") - if(@SENTRY_CRASHPAD_SYSTEM@) -- find_package(crashpad REQUIRED) -+ find_dependency(crashpad) - else() - include("${CMAKE_CURRENT_LIST_DIR}/sentry_crashpad-targets.cmake") - endif() -@@ -14,7 +16,7 @@ endif() - include("${CMAKE_CURRENT_LIST_DIR}/sentry-targets.cmake") - - if(SENTRY_TRANSPORT STREQUAL "curl" AND NOT @BUILD_SHARED_LIBS@) -- find_package(CURL REQUIRED) -+ find_dependency(CURL) - set_property(TARGET sentry::sentry APPEND -- PROPERTY INTERFACE_LINK_LIBRARIES ${CURL_LIBRARIES}) -+ PROPERTY INTERFACE_LINK_LIBRARIES CURL::libcurl) - endif() diff --git a/ports/sentry-native/fix-crashpad-wer.patch b/ports/sentry-native/fix-crashpad-wer.patch new file mode 100644 index 00000000000000..5c3c66f6c1b755 --- /dev/null +++ b/ports/sentry-native/fix-crashpad-wer.patch @@ -0,0 +1,77 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2e8ffcd..81907b8 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -423,7 +423,7 @@ if(SENTRY_BACKEND_CRASHPAD) + endif() + add_subdirectory(external/crashpad crashpad_build) + +- if(WIN32) ++ if(WIN32 AND SENTRY_TRANSPORT_CRASHPAD_USE_WER) + add_dependencies(sentry crashpad::wer) + endif() + +@@ -438,7 +438,9 @@ if(SENTRY_BACKEND_CRASHPAD) + set_property(TARGET crashpad_snapshot PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") + set_property(TARGET crashpad_tools PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") + set_property(TARGET crashpad_util PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") ++if(SENTRY_TRANSPORT_CRASHPAD_USE_WER) + set_property(TARGET crashpad_wer PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") ++endif() + set_property(TARGET crashpad_zlib PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") + set_property(TARGET mini_chromium PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") + endif() +@@ -455,7 +457,9 @@ if(SENTRY_BACKEND_CRASHPAD) + set_target_properties(crashpad_util PROPERTIES FOLDER ${SENTRY_FOLDER}) + set_target_properties(crashpad_zlib PROPERTIES FOLDER ${SENTRY_FOLDER}) + set_target_properties(mini_chromium PROPERTIES FOLDER ${SENTRY_FOLDER}) ++if(SENTRY_TRANSPORT_CRASHPAD_USE_WER) + set_target_properties(crashpad_wer PROPERTIES FOLDER ${SENTRY_FOLDER}) ++endif() + endif() + + target_link_libraries(sentry PRIVATE +@@ -465,7 +469,7 @@ if(SENTRY_BACKEND_CRASHPAD) + install(EXPORT crashpad_export NAMESPACE sentry_crashpad:: FILE sentry_crashpad-targets.cmake + DESTINATION "${CMAKE_INSTALL_CMAKEDIR}" + ) +- if(WIN32 AND MSVC) ++ if(WIN32 AND MSVC AND SENTRY_TRANSPORT_CRASHPAD_USE_WER) + sentry_install(FILES $ + DESTINATION "${CMAKE_INSTALL_BINDIR}" OPTIONAL) + sentry_install(FILES $ +diff --git a/external/crashpad/handler/CMakeLists.txt b/external/crashpad/handler/CMakeLists.txt +index 55d2e4a..b1c99ae 100644 +--- a/external/crashpad/handler/CMakeLists.txt ++++ b/external/crashpad/handler/CMakeLists.txt +@@ -123,7 +123,7 @@ if(NOT IOS) + ) + endif() + +-if (WIN32) ++if (WIN32 AND SENTRY_TRANSPORT_CRASHPAD_USE_WER) + add_library(crashpad_wer SHARED + win/wer/crashpad_wer.cc + win/wer/crashpad_wer.h +diff --git a/src/backends/sentry_backend_crashpad.cpp b/src/backends/sentry_backend_crashpad.cpp +index 711dc57..4c1d473 100644 +--- a/src/backends/sentry_backend_crashpad.cpp ++++ b/src/backends/sentry_backend_crashpad.cpp +@@ -120,7 +120,7 @@ crashpad_backend_user_consent_changed(sentry_backend_t *backend) + data->db->GetSettings()->SetUploadsEnabled(!sentry__should_skip_upload()); + } + +-#ifdef SENTRY_PLATFORM_WINDOWS ++#if defined(SENTRY_PLATFORM_WINDOWS) && defined(SENTRY_TRANSPORT_CRASHPAD_USE_WER) + static void + crashpad_register_wer_module( + const sentry_path_t *absolute_handler_path, const crashpad_state_t *data) +@@ -445,7 +445,7 @@ crashpad_backend_startup( + /* asynchronous_start */ false, attachments); + sentry_free(minidump_url); + +-#ifdef SENTRY_PLATFORM_WINDOWS ++#if defined(SENTRY_PLATFORM_WINDOWS) && defined(SENTRY_TRANSPORT_CRASHPAD_USE_WER) + crashpad_register_wer_module(absolute_handler_path, data); + #endif + diff --git a/ports/sentry-native/fix-usage-runtime.patch b/ports/sentry-native/fix-usage-runtime.patch new file mode 100644 index 00000000000000..889be752d536a0 --- /dev/null +++ b/ports/sentry-native/fix-usage-runtime.patch @@ -0,0 +1,13 @@ +diff --git a/external/crashpad/handler/CMakeLists.txt b/external/crashpad/handler/CMakeLists.txt +index be0e544..b0d44af 100644 +--- a/external/crashpad/handler/CMakeLists.txt ++++ b/external/crashpad/handler/CMakeLists.txt +@@ -89,7 +89,7 @@ if(NOT IOS) + main.cc + ) + +- if(LINUX) ++ if(LINUX AND BUILD_SHARED_LIBS) + target_sources(crashpad_handler PRIVATE + ../client/pthread_create_linux.cc + ) diff --git a/ports/sentry-native/fix-warningC5105.patch b/ports/sentry-native/fix-warningC5105.patch deleted file mode 100644 index 52f0dc705bef6e..00000000000000 --- a/ports/sentry-native/fix-warningC5105.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/external/crashpad/third_party/zlib/zlib/x86.c b/external/crashpad/third_party/zlib/zlib/x86.c -index e56fe8b..902e373 100644 ---- a/external/crashpad/third_party/zlib/zlib/x86.c -+++ b/external/crashpad/third_party/zlib/zlib/x86.c -@@ -8,6 +8,7 @@ - * For conditions of distribution and use, see copyright notice in zlib.h - */ - -+#pragma warning(disable : 5105) - #include "x86.h" - #include "zutil.h" - diff --git a/ports/sentry-native/portfile.cmake b/ports/sentry-native/portfile.cmake index 64165b1c5eac50..746696d1ca15a4 100644 --- a/ports/sentry-native/portfile.cmake +++ b/ports/sentry-native/portfile.cmake @@ -1,42 +1,56 @@ -if(NOT VCPKG_TARGET_IS_OSX) - vcpkg_fail_port_install(ON_ARCH "arm" "arm64" ON_TARGET "UWP") -endif() - vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/getsentry/sentry-native/releases/download/0.4.12/sentry-native.zip" - FILENAME "sentry-native-0.4.12.zip" - SHA512 15da4407ed5e2c8d5e56e497ccc6006b29235aef6b3a81e034c93443e20a7cfdf95d55e31b88e552c55e824eb15d6f7fafe988c453a5a6f36fe45136d7268b19 + URLS "https://github.com/getsentry/sentry-native/releases/download/${VERSION}/sentry-native.zip" + FILENAME "sentry-native-${VERSION}.zip" + SHA512 51e4d1241181d72cf53242c0244dac123870cee8db6cb379193ae94d19f30bd321463ab11bb007474dbc1e7f2417710d702abd754eb1f88ecdbfd0c3c67e6a20 ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" NO_REMOVE_ONE_LEVEL PATCHES - fix-warningC5105.patch - fix-config-cmake.patch - use-zlib-target.patch + fix-crashpad-wer.patch + fix-usage-runtime.patch ) +file(REMOVE_RECURSE "${SOURCE_PATH}/external/crashpad/third_party/zlib/zlib") + +vcpkg_list(SET options) + +if(NOT "backend" IN_LIST FEATURES) + vcpkg_list(APPEND options "-DSENTRY_BACKEND=none") +elseif("wer" IN_LIST FEATURES) + vcpkg_list(APPEND options "-DSENTRY_BACKEND=crashpad") +elseif(DEFINED SENTRY_BACKEND) + # Legacy, possible override from triplet, but cannot handle dependencies + vcpkg_list(APPEND options "-DSENTRY_BACKEND=${SENTRY_BACKEND}") +endif() + +if(NOT "transport" IN_LIST FEATURES) + vcpkg_list(APPEND options "-DSENTRY_TRANSPORT=none") +endif() -if (NOT DEFINED SENTRY_BACKEND) - if(MSVC AND CMAKE_GENERATOR_TOOLSET MATCHES "_xp$") - set(SENTRY_BACKEND "breakpad") - elseif(APPLE OR WIN32) - set(SENTRY_BACKEND "crashpad") - elseif(LINUX) - set(SENTRY_BACKEND "breakpad") - else() - set(SENTRY_BACKEND "inproc") - endif() +if("wer" IN_LIST FEATURES) + vcpkg_list(APPEND options "-DSENTRY_TRANSPORT_CRASHPAD_USE_WER=ON") +endif() + +if("compression" IN_LIST FEATURES) + vcpkg_list(APPEND options "-DSENTRY_TRANSPORT_COMPRESSION=ON") +endif() + +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + set(VCPKG_CXX_FLAGS "/D_CRT_DECLARE_NONSTDC_NAMES ${VCPKG_CXX_FLAGS}") + set(VCPKG_C_FLAGS "/D_CRT_DECLARE_NONSTDC_NAMES ${VCPKG_C_FLAGS}") endif() vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" OPTIONS + ${options} -DSENTRY_BUILD_TESTS=OFF -DSENTRY_BUILD_EXAMPLES=OFF - -DSENTRY_BACKEND=${SENTRY_BACKEND} -DCRASHPAD_ZLIB_SYSTEM=ON + MAYBE_UNUSED_VARIABLES + CRASHPAD_ZLIB_SYSTEM ) vcpkg_cmake_install() @@ -45,21 +59,11 @@ vcpkg_copy_pdbs() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/sentry) +vcpkg_cmake_config_fixup(PACKAGE_NAME sentry CONFIG_PATH lib/cmake/sentry) -if (SENTRY_BACKEND STREQUAL "crashpad") - vcpkg_copy_tools( - TOOL_NAMES crashpad_handler - AUTO_CLEAN - ) +if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/crashpad_handler${VCPKG_TARGET_EXECUTABLE_SUFFIX}") + vcpkg_copy_tools(TOOL_NAMES crashpad_handler AUTO_CLEAN) endif() -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${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") +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/sentry-native/usage b/ports/sentry-native/usage new file mode 100644 index 00000000000000..ae06e46f31ad90 --- /dev/null +++ b/ports/sentry-native/usage @@ -0,0 +1,4 @@ +sentry-native provides CMake targets: + + find_package(sentry CONFIG REQUIRED) + target_link_libraries(main PRIVATE sentry::sentry) diff --git a/ports/sentry-native/use-zlib-target.patch b/ports/sentry-native/use-zlib-target.patch deleted file mode 100644 index d4b3dfca33359b..00000000000000 --- a/ports/sentry-native/use-zlib-target.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/external/crashpad/CMakeLists.txt b/external/crashpad/CMakeLists.txt -index abb0697..a57ff04 100644 ---- a/external/crashpad/CMakeLists.txt -+++ b/external/crashpad/CMakeLists.txt -@@ -22,6 +22,7 @@ option(CRASHPAD_ZLIB_SYSTEM "Use system zlib library" "${CRASHPAD_ZLIB_SYSTEM_DE - - if(CRASHPAD_ZLIB_SYSTEM) - find_package(ZLIB REQUIRED) -+ set(ZLIB_LIBRARIES ZLIB::ZLIB) - endif() - - if(LINUX OR ANDROID) diff --git a/ports/sentry-native/vcpkg.json b/ports/sentry-native/vcpkg.json index 0cd2e1499d970f..75b614e8d0f072 100644 --- a/ports/sentry-native/vcpkg.json +++ b/ports/sentry-native/vcpkg.json @@ -1,15 +1,11 @@ { "name": "sentry-native", - "version-semver": "0.4.12", - "port-version": 2, + "version": "0.7.12", "description": "Sentry SDK for C, C++ and native applications.", "homepage": "https://sentry.io/", - "supports": "!(arm | (arm64 & !osx) | uwp)", + "license": "MIT", + "supports": "osx | linux | (!arm & !uwp)", "dependencies": [ - { - "name": "curl", - "platform": "!windows" - }, { "name": "vcpkg-cmake", "host": true @@ -17,7 +13,74 @@ { "name": "vcpkg-cmake-config", "host": true + } + ], + "default-features": [ + "backend", + "transport", + { + "name": "wer", + "platform": "windows & !static" + } + ], + "features": { + "backend": { + "description": [ + "Enables the platform-specific backend.", + "This feature does nothing for some platforms.", + "Cf. https://github.com/getsentry/sentry-native#compile-time-options" + ], + "dependencies": [ + { + "$comment": "pkgcong is used by the breakpad backend.", + "name": "pkgconf", + "host": true, + "platform": "!android & !ios" + }, + { + "$comment": "zlib is used by the crashpad backend.", + "name": "zlib", + "platform": "!android & !ios" + } + ] + }, + "compression": { + "description": [ + "Enables gzip compression support for the transport.", + "Cf.https://github.com/getsentry/sentry-native#compile-time-options" + ], + "dependencies": [ + "zlib" + ] + }, + "transport": { + "description": [ + "Enables the platform-specific network transport.", + "This feature does nothing for some platforms.", + "Cf. https://github.com/getsentry/sentry-native#compile-time-options" + ], + "dependencies": [ + { + "name": "curl", + "default-features": false, + "platform": "!windows" + } + ] }, - "zlib" - ] + "wer": { + "description": [ + "Enables the Windows Error Reporting backend.", + "Cf.https://github.com/getsentry/sentry-native#compile-time-options" + ], + "supports": "windows & !static", + "dependencies": [ + { + "name": "sentry-native", + "features": [ + "backend" + ] + } + ] + } + } } diff --git a/ports/septag-dmon/portfile.cmake b/ports/septag-dmon/portfile.cmake new file mode 100644 index 00000000000000..2628c4306b0cc4 --- /dev/null +++ b/ports/septag-dmon/portfile.cmake @@ -0,0 +1,18 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO septag/dmon + REF 59fac713a168b6c9fd08db48da49f7bd50fd9d37 + SHA512 61fa6a0e243be456d3b59d20e18183392d106983dc9f1b0a7290b54fefa964d4eeba4bacd92cd5310b6f3da2dac232fd043c529c51fe3e6cccbfb9422dd31311 + HEAD_REF master +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + "-DBUILD_TESTS=OFF" +) +vcpkg_cmake_install() +file(INSTALL "${SOURCE_PATH}/LICENSE" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" + RENAME copyright) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") diff --git a/ports/septag-dmon/vcpkg.json b/ports/septag-dmon/vcpkg.json new file mode 100644 index 00000000000000..d9df93c871dba9 --- /dev/null +++ b/ports/septag-dmon/vcpkg.json @@ -0,0 +1,14 @@ +{ + "name": "septag-dmon", + "version-date": "2022-02-08", + "description": "a tiny C library that monitors changes in a directory", + "homepage": "https://github.com/septag/dmon", + "license": "BSD-2-Clause", + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] +} diff --git a/ports/septag-sx/portfile.cmake b/ports/septag-sx/portfile.cmake index 0d7686bcf248f5..9eba794a0b8c16 100644 --- a/ports/septag-sx/portfile.cmake +++ b/ports/septag-sx/portfile.cmake @@ -12,28 +12,27 @@ vcpkg_from_github( string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" SX_SHARED_LIB) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DSX_BUILD_TESTS=OFF -DSX_SHARED_LIB=${SX_SHARED_LIB} ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/sx TARGET_PATH share/sx) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/sx PACKAGE_NAME sx) if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/include/sx/config.h + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/sx/config.h" "define SX_CONFIG_SHARED_LIB 0" "define SX_CONFIG_SHARED_LIB 1" ) endif() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") # Handle copyright -configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) +configure_file("${SOURCE_PATH}/LICENSE" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) diff --git a/ports/septag-sx/vcpkg.json b/ports/septag-sx/vcpkg.json index 7348da8272fd48..756100f37efc8e 100644 --- a/ports/septag-sx/vcpkg.json +++ b/ports/septag-sx/vcpkg.json @@ -1,7 +1,17 @@ { "name": "septag-sx", - "version-string": "2019-05-07", - "port-version": 3, + "version-date": "2019-05-07", + "port-version": 5, "description": "Portable base library for C programmers, designed for performance and simplicity.", - "supports": "!(uwp | arm)" + "supports": "!(uwp | arm)", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/seqan/portfile.cmake b/ports/seqan/portfile.cmake index b343b82c43b3e1..c265da680f7fdc 100644 --- a/ports/seqan/portfile.cmake +++ b/ports/seqan/portfile.cmake @@ -4,8 +4,8 @@ vcpkg_download_distfile(ARCHIVE SHA512 9a1b4fe9dff9ad49a8761798a6a6eaeebce683ccb5e2dd78ea4b8829093918606830a16ea458d67bf3f652531ddc55b550c12cb257be913bb187c8940d96a575 ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH +vcpkg_extract_source_archive( + SOURCE_PATH ARCHIVE ${ARCHIVE} ) diff --git a/ports/seqan/vcpkg.json b/ports/seqan/vcpkg.json index e49b11d09f34b1..bc89f206c9fe54 100644 --- a/ports/seqan/vcpkg.json +++ b/ports/seqan/vcpkg.json @@ -1,6 +1,6 @@ { "name": "seqan", - "version-string": "2.4.0", - "port-version": 2, + "version": "2.4.0", + "port-version": 3, "description": "SeqAn is an open source C++ library of efficient algorithms and data structures for the analysis of sequences with the focus on biological data." } diff --git a/ports/serd/portfile.cmake b/ports/serd/portfile.cmake index 6e6173cc0bb103..46a98e9b44d903 100644 --- a/ports/serd/portfile.cmake +++ b/ports/serd/portfile.cmake @@ -9,16 +9,15 @@ vcpkg_from_gitlab( file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - PREFER_NINJA OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=1 ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets() +vcpkg_cmake_config_fixup() file( INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" diff --git a/ports/serd/vcpkg.json b/ports/serd/vcpkg.json index db40b57c24df3c..f9b12dcbad6a9a 100644 --- a/ports/serd/vcpkg.json +++ b/ports/serd/vcpkg.json @@ -1,7 +1,18 @@ { "name": "serd", - "version-string": "0.30.4", + "version": "0.30.4", + "port-version": 2, "description": "Serd is a lightweight C library for RDF syntax which supports reading and writing Turtle, TRiG, NTriples, and NQuads.", "homepage": "https://drobilla.net/software/serd", - "license": "ISC" + "license": "ISC", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/serdepp/portfile.cmake b/ports/serdepp/portfile.cmake new file mode 100644 index 00000000000000..007cc751371118 --- /dev/null +++ b/ports/serdepp/portfile.cmake @@ -0,0 +1,28 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO injae/serdepp + REF v0.1.4.1 + SHA512 623414807e43d03f1ef1f9b7f02f10148b2745f5487047df3a678f92ccbe0a0f5f7d76cc6e2e88097e2c0e2cf2dde60b4f33dc9c6aaeafc7cd2dc3adfd88959f + HEAD_REF main +) + + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DSERDEPP_BUILD_TESTING=OFF + -DENABLE_INLINE_CPPM_TOOLS=ON +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/serdepp) + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/cmake" + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/lib/cmake" +) + +# # Handle copyright +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/serdepp/vcpkg.json b/ports/serdepp/vcpkg.json new file mode 100644 index 00000000000000..0564822b3b39c0 --- /dev/null +++ b/ports/serdepp/vcpkg.json @@ -0,0 +1,20 @@ +{ + "name": "serdepp", + "version": "0.1.4.1", + "description": "c++ 17 universal serialize deserialize library like rust serde, support libraries: [nlohmann_json, fmt, yaml-cpp, toml11, rapidjson]", + "homepage": "https://github.com/injae/serdepp", + "license": "MIT", + "supports": "!(osx & arm)", + "dependencies": [ + "magic-enum", + "nameof", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/serf/portfile.cmake b/ports/serf/portfile.cmake new file mode 100644 index 00000000000000..b8bb2443ce14ef --- /dev/null +++ b/ports/serf/portfile.cmake @@ -0,0 +1,139 @@ +vcpkg_download_distfile(ARCHIVE + URLS "https://dlcdn.apache.org/serf/serf-${VERSION}.tar.bz2" + FILENAME "serf-${VERSION}.tar.bz2" + SHA512 19165274d35c694935cda33f99ef92a7663a5d9c540fb7fd6792aa0efe39941b2fa87ff8b61afd060c6676baec634fd33dc2e9d34ecbee45ed99dfaed077802c +) + +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" + PATCHES + serf-fix-expat.patch + serf-use-debug-libs.patch +) + +# Note: custom architecture is not supported on Unix. +if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + set(SCONS_ARCH "TARGET_ARCH=x86_64") +elseif(VCPKG_TARGET_IS_WINDOWS AND VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + set(SCONS_ARCH "TARGET_ARCH=x86") +else() + set(SCONS_ARCH "") +endif() + +if(EXISTS "${CURRENT_INSTALLED_DIR}/bin/libapr-1.dll") + set(APR_STATIC "no") +else() + set(APR_STATIC "yes") +endif() + +vcpkg_find_acquire_program(SCONS) + +message(STATUS "Building ${TARGET_TRIPLET}-rel") + +if(VCPKG_TARGET_IS_WINDOWS) + SET(apr_opts + "APR=${CURRENT_INSTALLED_DIR}" + "APU=${CURRENT_INSTALLED_DIR}" + "APR_STATIC=${APR_STATIC}" + ) +else() + SET(apr_opts + "APR=${CURRENT_INSTALLED_DIR}/tools/apr/bin/apr-1-config" + "APU=${CURRENT_INSTALLED_DIR}/tools/apr-util/bin/apu-1-config" + ) +endif() + +vcpkg_execute_build_process( + COMMAND ${SCONS} + "SOURCE_LAYOUT=no" + "PREFIX=${CURRENT_PACKAGES_DIR}" + "LIBDIR=${CURRENT_PACKAGES_DIR}/lib" + "OPENSSL=${CURRENT_INSTALLED_DIR}" + "ZLIB=${CURRENT_INSTALLED_DIR}" + ${apr_opts} + "${SCONS_ARCH}" + "DEBUG=no" + "install-lib" "install-inc" "install-pc" + WORKING_DIRECTORY "${SOURCE_PATH}" + LOGNAME "scons-rel" +) + +# Fixup installed files. +if(VCPKG_TARGET_IS_WINDOWS) + if("${VCPKG_LIBRARY_LINKAGE}" STREQUAL "dynamic" AND VCPKG_TARGET_IS_WINDOWS) + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/bin") + file(RENAME + "${CURRENT_PACKAGES_DIR}/lib/libserf-1.dll" + "${CURRENT_PACKAGES_DIR}/bin/libserf-1.dll" + ) + file(RENAME + "${CURRENT_PACKAGES_DIR}/lib/libserf-1.pdb" + "${CURRENT_PACKAGES_DIR}/bin/libserf-1.pdb" + ) + else() + file(REMOVE + "${CURRENT_PACKAGES_DIR}/lib/libserf-1.dll" + "${CURRENT_PACKAGES_DIR}/lib/libserf-1.pdb" + "${CURRENT_PACKAGES_DIR}/lib/libserf-1.lib" + ) + endif() + file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/libserf-1.exp") +endif() + +if(NOT VCPKG_BUILD_TYPE) + message(STATUS "Building ${TARGET_TRIPLET}-dbg") + + if(VCPKG_TARGET_IS_WINDOWS) + SET(apr_opts + "APR=${CURRENT_INSTALLED_DIR}/debug" + "APU=${CURRENT_INSTALLED_DIR}/debug" + "APR_STATIC=${APR_STATIC}" + ) + else() + SET(apr_opts + "APR=${CURRENT_INSTALLED_DIR}/tools/apr/debug/bin/apr-1-config" + "APU=${CURRENT_INSTALLED_DIR}/tools/apr-util/debug/bin/apu-1-config" + ) + endif() + + vcpkg_execute_build_process( + COMMAND ${SCONS} + "SOURCE_LAYOUT=no" + "PREFIX=${CURRENT_PACKAGES_DIR}/debug" + "LIBDIR=${CURRENT_PACKAGES_DIR}/debug/lib" + "OPENSSL=${CURRENT_INSTALLED_DIR}" + "ZLIB=${CURRENT_INSTALLED_DIR}" + ${apr_opts} + "${SCONS_ARCH}" + "DEBUG=yes" + "install-lib" "install-pc" + WORKING_DIRECTORY "${SOURCE_PATH}" + LOGNAME "scons-dbg" + ) + + # Fixup installed files. + if(VCPKG_TARGET_IS_WINDOWS) + if("${VCPKG_LIBRARY_LINKAGE}" STREQUAL "dynamic") + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/bin") + file(RENAME + "${CURRENT_PACKAGES_DIR}/debug/lib/libserf-1.dll" + "${CURRENT_PACKAGES_DIR}/debug/bin/libserf-1.dll" + ) + file(RENAME + "${CURRENT_PACKAGES_DIR}/debug/lib/libserf-1.pdb" + "${CURRENT_PACKAGES_DIR}/debug/bin/libserf-1.pdb" + ) + else() + file(REMOVE + "${CURRENT_PACKAGES_DIR}/debug/lib/libserf-1.dll" + "${CURRENT_PACKAGES_DIR}/debug/lib/libserf-1.pdb" + "${CURRENT_PACKAGES_DIR}/debug/lib/libserf-1.lib" + ) + endif() + file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/lib/libserf-1.exp") + endif() +endif() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") +vcpkg_fixup_pkgconfig() diff --git a/ports/serf/serf-fix-expat.patch b/ports/serf/serf-fix-expat.patch new file mode 100644 index 00000000000000..eb6a2a02e8a338 --- /dev/null +++ b/ports/serf/serf-fix-expat.patch @@ -0,0 +1,17 @@ +Index: SConstruct +=================================================================== +--- SConstruct (revision 1920717) ++++ SConstruct (working copy) +@@ -324,7 +324,11 @@ + if aprstatic: + apr_libs='apr-1.lib' + apu_libs='aprutil-1.lib' +- env.Append(LIBS=['shell32.lib', 'xml.lib']) ++ env.Append(LIBS=['shell32.lib']) ++ if debug: ++ env.Append(LIBS=['libexpatdMD.lib']) ++ else: ++ env.Append(LIBS=['libexpatMD.lib']) + else: + apr_libs='libapr-1.lib' + apu_libs='libaprutil-1.lib' diff --git a/ports/serf/serf-use-debug-libs.patch b/ports/serf/serf-use-debug-libs.patch new file mode 100644 index 00000000000000..41d3d3c9baef88 --- /dev/null +++ b/ports/serf/serf-use-debug-libs.patch @@ -0,0 +1,68 @@ +Index: SConstruct +=================================================================== +--- SConstruct (revision 1920717) ++++ SConstruct (working copy) +@@ -331,8 +331,12 @@ + + env.Append(LIBS=[apr_libs, apu_libs]) + if not env.get('SOURCE_LAYOUT', None): +- env.Append(LIBPATH=['$APR/lib', '$APU/lib'], +- CPPPATH=['$APR/include/apr-1', '$APU/include/apr-1']) ++ if debug: ++ env.Append(LIBPATH=['$APR/debug/lib', '$APU/lib'], ++ CPPPATH=['$APR/include/apr-1', '$APU/include/apr-1']) ++ else: ++ env.Append(LIBPATH=['$APR/lib', '$APU/debug/lib'], ++ CPPPATH=['$APR/include/apr-1', '$APU/include/apr-1']) + elif aprstatic: + env.Append(LIBPATH=['$APR/LibR','$APU/LibR'], + CPPPATH=['$APR/include', '$APU/include']) +@@ -341,10 +345,15 @@ + CPPPATH=['$APR/include', '$APU/include']) + + # zlib +- env.Append(LIBS=['zlib.lib']) + if not env.get('SOURCE_LAYOUT', None): +- env.Append(CPPPATH=['$ZLIB/include'], +- LIBPATH=['$ZLIB/lib']) ++ if debug: ++ env.Append(CPPPATH=['$ZLIB/include'], ++ LIBPATH=['$ZLIB/debug/lib']) ++ env.Append(LIBS=['zlibd.lib']) ++ else: ++ env.Append(CPPPATH=['$ZLIB/include'], ++ LIBPATH=['$ZLIB/lib']) ++ env.Append(LIBS=['zlib.lib']) + else: + env.Append(CPPPATH=['$ZLIB'], + LIBPATH=['$ZLIB']) +@@ -351,8 +360,12 @@ + + # openssl + if not env.get('SOURCE_LAYOUT', None): +- env.Append(CPPPATH=['$OPENSSL/include/openssl'], +- LIBPATH=['$OPENSSL/lib']) ++ if debug: ++ env.Append(CPPPATH=['$OPENSSL/include/openssl'], ++ LIBPATH=['$OPENSSL/debug/lib']) ++ else: ++ env.Append(CPPPATH=['$OPENSSL/include/openssl'], ++ LIBPATH=['$OPENSSL/lib']) + elif 0: # opensslstatic: + env.Append(CPPPATH=['$OPENSSL/inc32'], + LIBPATH=['$OPENSSL/out32']) +@@ -392,8 +405,12 @@ + apr_libs = '' + apu_libs = '' + +- env.Append(CPPPATH=['$OPENSSL/include']) +- env.Append(LIBPATH=['$OPENSSL/lib']) ++ if debug: ++ env.Append(CPPPATH=['$OPENSSL/include/openssl'], ++ LIBPATH=['$OPENSSL/debug/lib']) ++ else: ++ env.Append(CPPPATH=['$OPENSSL/include/openssl'], ++ LIBPATH=['$OPENSSL/debug']) + + + # If build with gssapi, get its information and define SERF_HAVE_GSSAPI diff --git a/ports/serf/vcpkg.json b/ports/serf/vcpkg.json new file mode 100644 index 00000000000000..7a50fecb8974f3 --- /dev/null +++ b/ports/serf/vcpkg.json @@ -0,0 +1,14 @@ +{ + "name": "serf", + "version": "1.3.10", + "description": "The serf library is a high performance C-based HTTP client library built upon the Apache Portable Runtime (APR) library. It is permissively licensed under the Apache License, v2.", + "homepage": "https://serf.apache.org/", + "license": "Apache-2.0", + "supports": "!uwp & !staticcrt & !arm", + "dependencies": [ + "apr", + "apr-util", + "openssl", + "zlib" + ] +} diff --git a/ports/sese/portfile.cmake b/ports/sese/portfile.cmake new file mode 100644 index 00000000000000..ca3973290dc96d --- /dev/null +++ b/ports/sese/portfile.cmake @@ -0,0 +1,59 @@ +function(remove_empty_directories_recursive dir) + file(GLOB before_subdirs "${dir}/*") + foreach (subdir ${before_subdirs}) + if (IS_DIRECTORY ${subdir}) + remove_empty_directories_recursive(${subdir}) + endif () + endforeach () + file(GLOB after_subdirs "${dir}/*") + if ("${after_subdirs}" STREQUAL "") + file(REMOVE_RECURSE "${dir}") + endif () +endfunction() + +set(SOURCE_PATH ${CURRENT_BUILDTRESS_DIR}/sese) + +vcpkg_download_distfile(PATCH_FIX_ENV_STATEMENT + URLS https://github.com/libsese/sese/commit/59fa66d24996eceddc2c406b043687cd13a741dd.patch?full_index=1 + SHA512 94661bf2306c40dd3d62409babf26787087e7bc3abade532e9b656080de2f237fd640465272228055da250670d286ede10bd8776cc0d67429d6e0846cfd06d5e + FILENAME libsese-sese-2.3.0-59fa66d24996eceddc2c406b043687cd13a741dd.patch +) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO libsese/sese + REF "refs/tags/${VERSION}" + SHA512 a1008c351ea3e8745d629bdcceb4a6d089ae5a84137bbd49b8abbbb271032ddf279e9b20f155181b6a7d3d8cb17c2ec2f1b7a12464fb0cac8402628e473966cb + PATCHES + ${PATCH_FIX_ENV_STATEMENT} +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + tests SESE_BUILD_TEST + mysql SESE_DB_USE_MARIADB + sqlite3 SESE_DB_USE_SQLITE + psql SESE_DB_USE_POSTGRES + async-logger SESE_USE_ASYNC_LOGGER + archive SESE_USE_ARCHIVE + replace-execinfo SESE_REPLACE_EXECINFO +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) + +vcpkg_cmake_install() + +vcpkg_copy_pdbs() + +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/sese") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +remove_empty_directories_recursive("${CURRENT_PACKAGES_DIR}/include/sese") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE" "${SOURCE_PATH}/NOTICE") + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/sese/usage b/ports/sese/usage new file mode 100644 index 00000000000000..a6a4e79b0ed570 --- /dev/null +++ b/ports/sese/usage @@ -0,0 +1,4 @@ +sese provides CMake targets: + + find_package(sese CONFIG REQUIRED) + target_link_libraries(main PRIVATE Sese::Core) diff --git a/ports/sese/vcpkg.json b/ports/sese/vcpkg.json new file mode 100644 index 00000000000000..958c7a87897559 --- /dev/null +++ b/ports/sese/vcpkg.json @@ -0,0 +1,72 @@ +{ + "name": "sese", + "version": "2.3.0", + "port-version": 2, + "description": "A cross-platform framework for basic components.", + "homepage": "https://github.com/libsese/sese", + "license": "Apache-2.0", + "supports": "x64 & (windows | osx | linux) & !uwp", + "dependencies": [ + { + "name": "asio", + "features": [ + "openssl" + ] + }, + "openssl", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "zlib" + ], + "default-features": [ + "sqlite3" + ], + "features": { + "archive": { + "description": "add archive support", + "dependencies": [ + "libarchive" + ] + }, + "async-logger": { + "description": "use the async logger" + }, + "mysql": { + "description": "add mysql and mariadb support", + "dependencies": [ + "libmariadb" + ] + }, + "psql": { + "description": "add postgresql support", + "dependencies": [ + "libpq" + ] + }, + "replace-execinfo": { + "description": "replace the system execinfo implementation", + "dependencies": [ + "libunwind" + ] + }, + "sqlite3": { + "description": "add sqlite3 support", + "dependencies": [ + "sqlite3" + ] + }, + "tests": { + "description": "build the unit test", + "dependencies": [ + "benchmark", + "gtest" + ] + } + } +} diff --git a/ports/sf2cute/portfile.cmake b/ports/sf2cute/portfile.cmake index d82c0f94f9a527..acd92aed36cd5f 100644 --- a/ports/sf2cute/portfile.cmake +++ b/ports/sf2cute/portfile.cmake @@ -12,25 +12,24 @@ if("example" IN_LIST FEATURES) set(BUILD_EXAMPLE ON) endif() -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS_DEBUG -DSF2CUTE_EXAMPLES_INSTALL_DIR=tools/sf2cute OPTIONS_RELEASE -DSF2CUTE_INSTALL_EXAMPLES=${BUILD_EXAMPLE} - -DSF2CUTE_EXAMPLES_INSTALL_DIR=${CURRENT_PACKAGES_DIR}/tools/sf2cute + "-DSF2CUTE_EXAMPLES_INSTALL_DIR=${CURRENT_PACKAGES_DIR}/tools/sf2cute" ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets() +vcpkg_cmake_config_fixup() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") # Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/sf2cute RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/sf2cute" RENAME copyright) if(BUILD_EXAMPLE) - vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/sf2cute) + vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/sf2cute") endif() diff --git a/ports/sf2cute/vcpkg.json b/ports/sf2cute/vcpkg.json index 9db53abbc65b00..81e1e3da9a935d 100644 --- a/ports/sf2cute/vcpkg.json +++ b/ports/sf2cute/vcpkg.json @@ -1,8 +1,18 @@ { "name": "sf2cute", - "version-string": "0.2.0", - "port-version": 2, + "version": "0.2.0", + "port-version": 4, "description": "C++14 Library for SoundFont 2", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], "features": { "example": { "description": "Installs an example application" diff --git a/ports/sfgui/002-add-limits-header.patch b/ports/sfgui/002-add-limits-header.patch new file mode 100644 index 00000000000000..e16e57663c8332 --- /dev/null +++ b/ports/sfgui/002-add-limits-header.patch @@ -0,0 +1,13 @@ +diff --git a/src/SFGUI/ComboBox.cpp b/src/SFGUI/ComboBox.cpp +index a01937b..454ec3e 100644 +--- a/src/SFGUI/ComboBox.cpp ++++ b/src/SFGUI/ComboBox.cpp +@@ -9,6 +9,8 @@ + #include + #include + ++#include ++ + namespace sfg { + + // Signals. diff --git a/ports/sfgui/portfile.cmake b/ports/sfgui/portfile.cmake index b2c6787651e548..09a50c1f842514 100644 --- a/ports/sfgui/portfile.cmake +++ b/ports/sfgui/portfile.cmake @@ -6,33 +6,33 @@ vcpkg_from_github( HEAD_REF master PATCHES "001-fix-corefoundation-link.patch" + "002-add-limits-header.patch" ) -file(REMOVE ${SOURCE_PATH}/cmake/Modules/FindSFML.cmake) +file(REMOVE "${SOURCE_PATH}/cmake/Modules/FindSFML.cmake") string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" SFGUI_BUILD_SHARED_LIBS) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DSFGUI_BUILD_DOC=OFF -DSFGUI_BUILD_EXAMPLES=OFF -DSFGUI_BUILD_SHARED_LIBS=${SFGUI_BUILD_SHARED_LIBS} ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() if(VCPKG_TARGET_IS_WINDOWS) - vcpkg_fixup_cmake_targets(CONFIG_PATH cmake) - file(GLOB_RECURSE SFGUI_DOC_RELEASE ${CURRENT_PACKAGES_DIR}/*.md) - file(GLOB_RECURSE SFGUI_DOC_DEBUG ${CURRENT_PACKAGES_DIR}/debug/*.md) + vcpkg_cmake_config_fixup(CONFIG_PATH cmake) + file(GLOB_RECURSE SFGUI_DOC_RELEASE "${CURRENT_PACKAGES_DIR}/*.md") + file(GLOB_RECURSE SFGUI_DOC_DEBUG "${CURRENT_PACKAGES_DIR}/debug/*.md") file(REMOVE ${SFGUI_DOC_RELEASE} ${SFGUI_DOC_DEBUG}) else() - vcpkg_fixup_cmake_targets(CONFIG_PATH share/SFGUI/cmake) + vcpkg_cmake_config_fixup(CONFIG_PATH share/SFGUI/cmake) 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") -file(INSTALL ${SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/sfgui RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/sfgui/vcpkg.json b/ports/sfgui/vcpkg.json index aa4ea2c85d27bc..47a1f755483ed7 100644 --- a/ports/sfgui/vcpkg.json +++ b/ports/sfgui/vcpkg.json @@ -1,10 +1,18 @@ { "name": "sfgui", - "version-string": "0.4.0", - "port-version": 4, + "version": "0.4.0", + "port-version": 6, "description": "simple and fast graphical user interface library", "homepage": "https://github.com/TankOs/SFGUI", "dependencies": [ - "sfml" + "sfml", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/sfml/fix-dep-openal.patch b/ports/sfml/fix-dep-openal.patch new file mode 100644 index 00000000000000..9cb4369d2c3080 --- /dev/null +++ b/ports/sfml/fix-dep-openal.patch @@ -0,0 +1,28 @@ +diff --git a/cmake/SFMLConfigDependencies.cmake.in b/cmake/SFMLConfigDependencies.cmake.in +index ef96827..864b32e 100644 +--- a/cmake/SFMLConfigDependencies.cmake.in ++++ b/cmake/SFMLConfigDependencies.cmake.in +@@ -75,6 +75,8 @@ if(SFML_STATIC_LIBRARIES) + # sfml-audio + list(FIND SFML_FIND_COMPONENTS "audio" FIND_SFML_AUDIO_COMPONENT_INDEX) + if(FIND_SFML_AUDIO_COMPONENT_INDEX GREATER -1) ++ find_dependency(OpenAL) ++ set(OpenAL_LIB OpenAL::OpenAL) + sfml_bind_dependency(TARGET OpenAL FRIENDLY_NAME "OpenAL" SEARCH_NAMES "OpenAL" "openal" "openal32") + if (NOT FIND_SFML_OS_IOS) + sfml_bind_dependency(TARGET VORBIS FRIENDLY_NAME "VorbisFile" SEARCH_NAMES "vorbisfile") +diff --git a/src/SFML/Audio/CMakeLists.txt b/src/SFML/Audio/CMakeLists.txt +index 8158365..3ebaf90 100644 +--- a/src/SFML/Audio/CMakeLists.txt ++++ b/src/SFML/Audio/CMakeLists.txt +@@ -68,7 +68,9 @@ elseif(SFML_OS_ANDROID) + endif() + + # find external libraries +-find_package(OpenAL REQUIRED) ++find_package(OpenAL CONFIG REQUIRED) ++set(OpenAL_LIB OpenAL::OpenAL) ++sfml_find_package(OpenAL LINK OpenAL_LIB) + sfml_find_package(VORBIS INCLUDE "VORBIS_INCLUDE_DIRS" LINK "VORBIS_LIBRARIES") + sfml_find_package(FLAC INCLUDE "FLAC_INCLUDE_DIR" LINK "FLAC_LIBRARY") + diff --git a/ports/sfml/fix-dependencies.patch b/ports/sfml/fix-dependencies.patch new file mode 100644 index 00000000000000..eb3a8dc68f911d --- /dev/null +++ b/ports/sfml/fix-dependencies.patch @@ -0,0 +1,87 @@ +diff --git a/cmake/SFMLConfig.cmake.in b/cmake/SFMLConfig.cmake.in +index 30194c5f..40b72309 100644 +--- a/cmake/SFMLConfig.cmake.in ++++ b/cmake/SFMLConfig.cmake.in +@@ -1,3 +1,8 @@ ++set(SFML_STATIC_LIBRARIES false) ++if(NOT "@BUILD_SHARED_LIBS@") ++ set(SFML_STATIC_LIBRARIES true) ++endif() ++include(CMakeFindDependencyMacro) + # This script provides the SFML libraries as imported targets + # ------------------------------------ + # +diff --git a/cmake/SFMLConfigDependencies.cmake.in b/cmake/SFMLConfigDependencies.cmake.in +index 0737ec5d..05bf9a8f 100644 +--- a/cmake/SFMLConfigDependencies.cmake.in ++++ b/cmake/SFMLConfigDependencies.cmake.in +@@ -35,9 +35,11 @@ if(SFML_STATIC_LIBRARIES) + endif() + + # No lookup in environment variables (PATH on Windows), as they may contain wrong library versions ++ if(NOT ${THIS_FRIENDLY_NAME}_LIB) + find_library(${THIS_FRIENDLY_NAME}_LIB NAMES ${THIS_SEARCH_NAMES} + PATHS ${FIND_SFML_PATHS} PATH_SUFFIXES lib NO_SYSTEM_ENVIRONMENT_PATH) + mark_as_advanced(${THIS_FRIENDLY_NAME}_LIB) ++ endif() + if(${THIS_FRIENDLY_NAME}_LIB) + set_property(TARGET ${THIS_TARGET} APPEND PROPERTY INTERFACE_LINK_LIBRARIES "${${THIS_FRIENDLY_NAME}_LIB}") + else() +@@ -64,6 +66,9 @@ if(SFML_STATIC_LIBRARIES) + if (FIND_SFML_OS_WINDOWS) + set_property(TARGET OpenGL APPEND PROPERTY INTERFACE_LINK_LIBRARIES "OpenGL32") + elseif(NOT FIND_SFML_OS_IOS) ++ set(OpenGL_GL_PREFERENCE "@EXPORT_OpenGL_GL_PREFERENCE@") ++ find_dependency(OpenGL) ++ set(OpenGL_LIB OpenGL::GL) + sfml_bind_dependency(TARGET OpenGL FRIENDLY_NAME "OpenGL" SEARCH_NAMES "OpenGL" "GL") + endif() + endif() +@@ -71,6 +76,8 @@ if(SFML_STATIC_LIBRARIES) + # sfml-graphics + list(FIND SFML_FIND_COMPONENTS "graphics" FIND_SFML_GRAPHICS_COMPONENT_INDEX) + if(FIND_SFML_GRAPHICS_COMPONENT_INDEX GREATER -1) ++ find_dependency(Freetype) ++ set(FreeType_LIB Freetype::Freetype) + sfml_bind_dependency(TARGET Freetype FRIENDLY_NAME "FreeType" SEARCH_NAMES "freetype") + endif() + +diff --git a/src/SFML/Graphics/CMakeLists.txt b/src/SFML/Graphics/CMakeLists.txt +index a939a988..259835f7 100644 +--- a/src/SFML/Graphics/CMakeLists.txt ++++ b/src/SFML/Graphics/CMakeLists.txt +@@ -93,7 +93,8 @@ sfml_add_library(sfml-graphics + target_link_libraries(sfml-graphics PUBLIC sfml-window) + + # stb_image sources +-target_include_directories(sfml-graphics SYSTEM PRIVATE "${PROJECT_SOURCE_DIR}/extlibs/headers/stb_image") ++find_path(STB_INCLUDE_DIR stb_image.h REQUIRED) ++target_include_directories(sfml-graphics PRIVATE "${STB_INCLUDE_DIR}") + + # glad sources + target_include_directories(sfml-graphics SYSTEM PRIVATE "${PROJECT_SOURCE_DIR}/extlibs/headers/glad/include") +@@ -123,7 +124,8 @@ if((SFML_COMPILER_MSVC AND SFML_MSVC_VERSION GREATER_EQUAL 14) OR (SFML_COMPILER + target_link_libraries(sfml-graphics PRIVATE legacy_stdio_definitions.lib) + endif() + +-sfml_find_package(Freetype INCLUDE "FREETYPE_INCLUDE_DIRS" LINK "FREETYPE_LIBRARY") ++set(FreeType_LIB Freetype::Freetype) ++sfml_find_package(Freetype LINK FreeType_LIB) + target_link_libraries(sfml-graphics PRIVATE Freetype) + + # add preprocessor symbols +diff --git a/src/SFML/Window/CMakeLists.txt b/src/SFML/Window/CMakeLists.txt +index d2bdd5aa..2a9937f1 100644 +--- a/src/SFML/Window/CMakeLists.txt ++++ b/src/SFML/Window/CMakeLists.txt +@@ -325,7 +325,9 @@ elseif(SFML_OS_ANDROID) + target_link_libraries(sfml-window PRIVATE EGL) + target_link_libraries(sfml-window PRIVATE GLES) + else() +- sfml_find_package(OpenGL INCLUDE "OPENGL_INCLUDE_DIR" LINK "OPENGL_gl_LIBRARY") ++ set(EXPORT_OpenGL_GL_PREFERENCE "${OpenGL_GL_PREFERENCE}" CACHE INTERNAL "") ++ set(OpenGL_LIB OpenGL::GL) ++ sfml_find_package(OpenGL LINK OpenGL_LIB) + target_link_libraries(sfml-window PRIVATE OpenGL) + endif() + diff --git a/ports/sfml/portfile.cmake b/ports/sfml/portfile.cmake index f832303a78f684..e8034032cf981f 100644 --- a/ports/sfml/portfile.cmake +++ b/ports/sfml/portfile.cmake @@ -1,60 +1,85 @@ vcpkg_from_github(OUT_SOURCE_PATH SOURCE_PATH REPO SFML/SFML - REF 2.5.1 + REF "${VERSION}" HEAD_REF master - SHA512 7aed2fc29d1da98e6c4d598d5c86cf536cb4eb5c2079cdc23bb8e502288833c052579dadbe0ce13ad6461792d959bf6d9660229f54c54cf90a541c88c6b03d59 + SHA512 d8a8bee3aa9acda4609104c2a9d4a2512e4be6d6e85fd4b24c287c03f60cfb888e669e61bfac4113dae35f0c3492559b65b3453baf38766d8c0223d9ab77aada PATCHES - use-system-freetype.patch - stb_include.patch + fix-dependencies.patch + fix-dep-openal.patch ) -file(REMOVE_RECURSE ${SOURCE_PATH}/extlibs) -# Without this, we get error: list sub-command REMOVE_DUPLICATES requires list to be present. -file(MAKE_DIRECTORY ${SOURCE_PATH}/extlibs/libs) -file(WRITE ${SOURCE_PATH}/extlibs/libs/x "") # The embedded FindFreetype doesn't properly handle debug libraries -file(REMOVE_RECURSE ${SOURCE_PATH}/cmake/Modules/FindFreetype.cmake) +file(REMOVE_RECURSE "${SOURCE_PATH}/cmake/Modules/FindFreetype.cmake") if(VCPKG_TARGET_IS_LINUX) - message(STATUS "SFML currently requires the following libraries from the system package manager:\n libudev\n libx11\n libxrandr\n opengl\n\nThese can be installed on Ubuntu systems via apt-get install libx11-dev libxrandr-dev libxi-dev libudev-dev libgl1-mesa-dev") + message(STATUS "SFML currently requires the following libraries from the system package manager:\n libudev\n libx11\n libxrandr\n libxcursor\n opengl\n\nThese can be installed on Ubuntu systems via apt-get install libx11-dev libxrandr-dev libxcursor-dev libxi-dev libudev-dev libgl1-mesa-dev") endif() -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + "network" SFML_BUILD_NETWORK + "graphics" SFML_BUILD_GRAPHICS + "window" SFML_BUILD_WINDOW + "audio" SFML_BUILD_AUDIO +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DSFML_BUILD_FRAMEWORKS=OFF -DSFML_USE_SYSTEM_DEPS=ON -DSFML_MISC_INSTALL_PREFIX=share/sfml -DSFML_GENERATE_PDB=OFF + -DSFML_WARNINGS_AS_ERRORS=OFF #Remove in the next version + ${FEATURE_OPTIONS} + MAYBE_UNUSED_VARIABLES + SFML_MISC_INSTALL_PREFIX + SFML_WARNINGS_AS_ERRORS ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/SFML) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/SFML) vcpkg_copy_pdbs() -FILE(READ ${CURRENT_PACKAGES_DIR}/share/sfml/SFMLConfig.cmake SFML_CONFIG) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - FILE(WRITE ${CURRENT_PACKAGES_DIR}/share/sfml/SFMLConfig.cmake "set(SFML_STATIC_LIBRARIES true)\ninclude(CMakeFindDependencyMacro)\nfind_dependency(Freetype)\n${SFML_CONFIG}") -else() - FILE(WRITE ${CURRENT_PACKAGES_DIR}/share/sfml/SFMLConfig.cmake "set(SFML_STATIC_LIBRARIES false)\n${SFML_CONFIG}") -endif() - # move sfml-main to manual link dir -if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/sfml-main.lib) - file(COPY ${CURRENT_PACKAGES_DIR}/lib/sfml-main.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib/manual-link) - file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/sfml-main.lib) - file(COPY ${CURRENT_PACKAGES_DIR}/debug/lib/sfml-main-d.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link) - file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/sfml-main-d.lib) +if(EXISTS "${CURRENT_PACKAGES_DIR}/lib/sfml-main.lib") + file(COPY "${CURRENT_PACKAGES_DIR}/lib/sfml-main.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/lib/manual-link") + file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/sfml-main.lib") file(GLOB FILES "${CURRENT_PACKAGES_DIR}/share/sfml/SFML*Targets-*.cmake") foreach(FILE ${FILES}) - file(READ "${FILE}" _contents) - string(REPLACE "/lib/sfml-main" "/lib/manual-link/sfml-main" _contents "${_contents}") - file(WRITE "${FILE}" "${_contents}") + vcpkg_replace_string("${FILE}" "/lib/sfml-main" "/lib/manual-link/sfml-main") endforeach() endif() +if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/lib/sfml-main-d.lib") + file(COPY "${CURRENT_PACKAGES_DIR}/debug/lib/sfml-main-d.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib/manual-link") + file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/lib/sfml-main-d.lib") +endif() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") + +set(SHOULD_REMOVE_SFML_ALL 0) +if(NOT "audio" IN_LIST FEATURES) + file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/sfml-audio.pc") + set(SHOULD_REMOVE_SFML_ALL 1) +endif() +if(NOT "graphics" IN_LIST FEATURES) + file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/sfml-graphics.pc") + set(SHOULD_REMOVE_SFML_ALL 1) +endif() +if(NOT "network" IN_LIST FEATURES) + file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/sfml-network.pc") + set(SHOULD_REMOVE_SFML_ALL 1) +endif() +if(NOT "window" IN_LIST FEATURES) + file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/sfml-window.pc") + set(SHOULD_REMOVE_SFML_ALL 1) +endif() +if(SHOULD_REMOVE_SFML_ALL) + file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/sfml-all.pc") +endif() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share) +vcpkg_fixup_pkgconfig() -configure_file(${CMAKE_CURRENT_LIST_DIR}/usage ${CURRENT_PACKAGES_DIR}/share/${PORT}/usage COPYONLY) -configure_file(${SOURCE_PATH}/license.md ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/license.md") diff --git a/ports/sfml/stb_include.patch b/ports/sfml/stb_include.patch deleted file mode 100644 index 3519b1c1e61233..00000000000000 --- a/ports/sfml/stb_include.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index e821a49bc..c68264ef2 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -188,6 +188,9 @@ if(SFML_USE_SYSTEM_DEPS) - endforeach() - - list(REMOVE_DUPLICATES CMAKE_IGNORE_PATH) -+ -+ find_path(STB_INCLUDE_DIR stb.h) -+ include_directories(${STB_INCLUDE_DIR}) - endif() - - # Visual C++: remove warnings regarding SL security and algorithms on pointers diff --git a/ports/sfml/usage b/ports/sfml/usage index 784d1173a47f97..39d986d2ff6861 100644 --- a/ports/sfml/usage +++ b/ports/sfml/usage @@ -1,7 +1,7 @@ The package sfml provides CMake targets: - find_package(SFML COMPONENTS system window graphics CONFIG REQUIRED) - target_link_libraries(main PRIVATE sfml-system sfml-network sfml-graphics sfml-window) + find_package(SFML COMPONENTS system window graphics audio CONFIG REQUIRED) + target_link_libraries(main PRIVATE sfml-system sfml-network sfml-graphics sfml-window sfml-audio) # If you want SFML to provide an implementation of main(): target_link_libraries(main PRIVATE sfml-main) diff --git a/ports/sfml/use-system-freetype.patch b/ports/sfml/use-system-freetype.patch deleted file mode 100644 index 4d895b741e1949..00000000000000 --- a/ports/sfml/use-system-freetype.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/src/SFML/Graphics/CMakeLists.txt -+++ b/src/SFML/Graphics/CMakeLists.txt -@@ -135,7 +135,7 @@ if(SFML_OS_ANDROID) - endif() - - sfml_find_package(Freetype INCLUDE "FREETYPE_INCLUDE_DIRS" LINK "FREETYPE_LIBRARY") --target_link_libraries(sfml-graphics PRIVATE Freetype) -+target_link_libraries(sfml-graphics PRIVATE Freetype::Freetype) - - # add preprocessor symbols - target_compile_definitions(sfml-graphics PRIVATE "STBI_FAILURE_USERMSG") diff --git a/ports/sfml/vcpkg.json b/ports/sfml/vcpkg.json index 64c7f53581cd54..f7d0d03692590d 100644 --- a/ports/sfml/vcpkg.json +++ b/ports/sfml/vcpkg.json @@ -1,15 +1,60 @@ { "name": "sfml", - "version": "2.5.1", - "port-version": 10, + "version": "2.6.2", "description": "Simple and fast multimedia library", - "homepage": "https://github.com/sfml/sfml", + "homepage": "https://github.com/SFML/SFML", + "license": "Zlib", "dependencies": [ - "freetype", - "libflac", - "libogg", - "libvorbis", - "openal-soft", - "stb" - ] + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "default-features": [ + "audio", + "graphics", + "network", + "window" + ], + "features": { + "audio": { + "description": "Use sfml-audio library", + "dependencies": [ + "libflac", + "libogg", + "libvorbis", + "openal-soft" + ] + }, + "graphics": { + "description": "Use sfml-graphics library", + "dependencies": [ + { + "name": "freetype", + "default-features": false + }, + { + "name": "sfml", + "default-features": false, + "features": [ + "window" + ] + }, + "stb" + ] + }, + "network": { + "description": "Use sfml-network library" + }, + "window": { + "description": "Use sfml-window library", + "dependencies": [ + "opengl" + ] + } + } } diff --git a/ports/sfsexp/portfile.cmake b/ports/sfsexp/portfile.cmake index 7b266ce08a5978..9148a6b4c2a5a5 100644 --- a/ports/sfsexp/portfile.cmake +++ b/ports/sfsexp/portfile.cmake @@ -5,19 +5,18 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO mjsottile/sfsexp - REF v1.3.1 - SHA512 56DABC8F0C16C4707F191C8D60E97C6C3DB1B359673E77967E3C21ACBDC2239F1423FE62A062CE256F3F7A1CCF8572D16A82EF67FFCD215B48E261ED1D8720D7 + REF "v${VERSION}" + SHA512 26dd1494d570c22264db7175e2e744047507871716198b4db1a24ee8d098dd204cc6efb55ee9dbc3d956eed7b398a08e7b3264955e6350ea546274cf4f8eb67e HEAD_REF master ) file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - PREFER_NINJA ) -vcpkg_install_cmake() +vcpkg_cmake_install() file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/sfsexp/vcpkg.json b/ports/sfsexp/vcpkg.json index cb2134fff65607..7f77e08048beee 100644 --- a/ports/sfsexp/vcpkg.json +++ b/ports/sfsexp/vcpkg.json @@ -1,6 +1,12 @@ { "name": "sfsexp", - "version": "1.3.1", + "version": "1.4.1", "description": "Small Fast S-Expression Library", - "homepage": "https://github.com/mjsottile/sfsexp" + "homepage": "https://github.com/mjsottile/sfsexp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/shader-slang/portfile.cmake b/ports/shader-slang/portfile.cmake new file mode 100644 index 00000000000000..c3d79adf0a4e2d --- /dev/null +++ b/ports/shader-slang/portfile.cmake @@ -0,0 +1,135 @@ +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) + +set(key NOTFOUND) +if(VCPKG_TARGET_IS_WINDOWS) + set(key "windows-${VCPKG_TARGET_ARCHITECTURE}") +elseif(VCPKG_TARGET_IS_OSX) + set(key "macosx-${VCPKG_TARGET_ARCHITECTURE}") +elseif(VCPKG_TARGET_IS_LINUX) + set(key "linux-${VCPKG_TARGET_ARCHITECTURE}") +endif() + +set(ARCHIVE NOTFOUND) +# For convenient updates, use +# vcpkg install shader-slang --cmake-args=-DVCPKG_SHADER_SLANG_UPDATE=1 +if(key STREQUAL "windows-x64" OR VCPKG_SHADER_SLANG_UPDATE) + vcpkg_download_distfile( + ARCHIVE + URLS "https://github.com/shader-slang/slang/releases/download/v${VERSION}/slang-${VERSION}-windows-x86_64.zip" + FILENAME "slang-${VERSION}-windows-x86_64.zip" + SHA512 4cfbca81df3342bc1e329929102f020cd3771e3877e4cde89e499da41b0903602f92de7d69c3adee4e56240d9fe887e0748b2a57d94dd468fcee5bf059090ff0 + ) +endif() +if(key STREQUAL "windows-arm64" OR VCPKG_SHADER_SLANG_UPDATE) + vcpkg_download_distfile( + ARCHIVE + URLS "https://github.com/shader-slang/slang/releases/download/v${VERSION}/slang-${VERSION}-windows-aarch64.zip" + FILENAME "slang-${VERSION}-windows-aarch64.zip" + SHA512 f56246c054ae3a87726b71a19307f09efa1cd6355a0d44802eead247bb9b837e4073476b3cebb31ff2dda244623344c0741e262cf258f6ca89179e340859196c + ) +endif() +if(key STREQUAL "macosx-x64" OR VCPKG_SHADER_SLANG_UPDATE) + vcpkg_download_distfile( + ARCHIVE + URLS "https://github.com/shader-slang/slang/releases/download/v${VERSION}/slang-${VERSION}-macos-x86_64.zip" + FILENAME "slang-${VERSION}-macos-x86_64.zip" + SHA512 2e491a075cf6a20cd5589470955448cd9efa17566a493ceb96e6fd4192d1261f312535f07e0cb1bf195b4b9f12e46ac635839f509c140d780d6a49138d255075 + ) +endif() +if(key STREQUAL "macosx-arm64" OR VCPKG_SHADER_SLANG_UPDATE) + vcpkg_download_distfile( + ARCHIVE + URLS "https://github.com/shader-slang/slang/releases/download/v${VERSION}/slang-${VERSION}-macos-aarch64.zip" + FILENAME "slang-${VERSION}-macos-aarch64.zip" + SHA512 1fdd1a580b6b96af381445a5aab2666f05cd57e9435c7df7e6ba520e9d5ef3a9ca77c2df0acebd0035532e9a2a729c3364fb886fcb8dc4f0577bf71de4616f12 + ) +endif() +if(key STREQUAL "linux-x64" OR VCPKG_SHADER_SLANG_UPDATE) + vcpkg_download_distfile( + ARCHIVE + URLS "https://github.com/shader-slang/slang/releases/download/v${VERSION}/slang-${VERSION}-linux-x86_64.zip" + FILENAME "slang-${VERSION}-linux-x86_64.zip" + SHA512 5d1c658a4bd3315def327561802e65ad89e52bb5c95cd21c0e7941737e59f0f11ad86b30b81bdafd756e8a04d4af2f830a0f7559277bc779f2ddaada1d7d1c16 + ) +endif() +if(key STREQUAL "linux-arm64" OR VCPKG_SHADER_SLANG_UPDATE) + vcpkg_download_distfile( + ARCHIVE + URLS "https://github.com/shader-slang/slang/releases/download/v${VERSION}/slang-${VERSION}-linux-aarch64.zip" + FILENAME "slang-${VERSION}-linux-aarch64.zip" + SHA512 997a51dfe3f45e2f6e0630f64dcdedb26e2a3d92756ddb2156612ae59ec3ad3998edc9638062a097a1eed044bd1f2a3d48767558f5dcf331fb4034f7b1837160 + ) +endif() +if(NOT ARCHIVE) + message(FATAL_ERROR "Unsupported platform. Please implement me!") +endif() + +vcpkg_extract_source_archive( + BINDIST_PATH + ARCHIVE "${ARCHIVE}" + NO_REMOVE_ONE_LEVEL +) + +if(VCPKG_SHADER_SLANG_UPDATE) + message(STATUS "All downloads are up-to-date.") + message(FATAL_ERROR "Stopping due to VCPKG_SHADER_SLANG_UPDATE being enabled.") +endif() + +file(GLOB libs + "${BINDIST_PATH}/lib/*.lib" + "${BINDIST_PATH}/lib/*.dylib" + "${BINDIST_PATH}/lib/*.so" +) +file(INSTALL ${libs} DESTINATION "${CURRENT_PACKAGES_DIR}/lib") + +file(GLOB dyn_libs + "${BINDIST_PATH}/lib/*.dylib" + "${BINDIST_PATH}/lib/*.so" +) + +if(VCPKG_TARGET_IS_WINDOWS) + file(GLOB dlls "${BINDIST_PATH}/bin/*.dll") + list(APPEND dyn_libs ${dlls}) + file(INSTALL ${dlls} DESTINATION "${CURRENT_PACKAGES_DIR}/bin") +endif() + +if(NOT VCPKG_BUILD_TYPE) + file(INSTALL "${CURRENT_PACKAGES_DIR}/lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug") + if(VCPKG_TARGET_IS_WINDOWS) + file(INSTALL "${CURRENT_PACKAGES_DIR}/bin" DESTINATION "${CURRENT_PACKAGES_DIR}/debug") + endif() +endif() + +# On macos, slang has signed their binaries +# vcpkg wants to be helpful and update the rpath as it moves binaries around but this +# breaks the code signature and makes the binaries useless +# Removing the signature is rude so instead we will disable rpath fixup +if(VCPKG_TARGET_IS_OSX OR VCPKG_TARGET_IS_IOS) + set(VCPKG_FIXUP_MACHO_RPATH OFF) +endif() + +# Must manually copy some tool dependencies since vcpkg can't copy them automagically for us +file(INSTALL ${dyn_libs} DESTINATION "${CURRENT_PACKAGES_DIR}/tools/shader-slang") +vcpkg_copy_tools(TOOL_NAMES slangc slangd SEARCH_DIR "${BINDIST_PATH}/bin") + +file(GLOB headers "${BINDIST_PATH}/include/*.h") +file(INSTALL ${headers} DESTINATION "${CURRENT_PACKAGES_DIR}/include") + +vcpkg_install_copyright( + FILE_LIST "${BINDIST_PATH}/LICENSE" + COMMENT #[[ from README ]] [[ +The Slang code itself is under the MIT license. + +Builds of the core Slang tools depend on the following projects, either automatically or optionally, which may have their own licenses: + +* [`glslang`](https://github.com/KhronosGroup/glslang) (BSD) +* [`lz4`](https://github.com/lz4/lz4) (BSD) +* [`miniz`](https://github.com/richgel999/miniz) (MIT) +* [`spirv-headers`](https://github.com/KhronosGroup/SPIRV-Headers) (Modified MIT) +* [`spirv-tools`](https://github.com/KhronosGroup/SPIRV-Tools) (Apache 2.0) +* [`ankerl::unordered_dense::{map, set}`](https://github.com/martinus/unordered_dense) (MIT) + +Slang releases may include [slang-llvm](https://github.com/shader-slang/slang-llvm) which includes [LLVM](https://github.com/llvm/llvm-project) under the license: + +* [`llvm`](https://llvm.org/docs/DeveloperPolicy.html#new-llvm-project-license-framework) (Apache 2.0 License with LLVM exceptions) +]]) diff --git a/ports/shader-slang/vcpkg.json b/ports/shader-slang/vcpkg.json new file mode 100644 index 00000000000000..112f328ef093f2 --- /dev/null +++ b/ports/shader-slang/vcpkg.json @@ -0,0 +1,8 @@ +{ + "name": "shader-slang", + "version": "2024.14.3", + "description": "Slang is a shading language that makes it easier to build and maintain large shader codebases in a modular and extensible fashion, while also maintaining the highest possible performance on modern GPUs and graphics APIs. Slang is based on years of collaboration between researchers at NVIDIA, Carnegie Mellon University, and Stanford.", + "homepage": "https://github.com/shader-slang/slang", + "license": "MIT", + "supports": "(arm64 | x64) & (linux | osx | windows) & !uwp" +} diff --git a/ports/shaderc/build-version.inc b/ports/shaderc/build-version.inc index d5b1449e2bbda4..35c11012391370 100644 --- a/ports/shaderc/build-version.inc +++ b/ports/shaderc/build-version.inc @@ -1 +1 @@ -"shaderc v2021.1-dev unknown hash, 2021-06-21\n" +"shaderc v2023.8 v2023.8\n" diff --git a/ports/shaderc/cmake-config-export.patch b/ports/shaderc/cmake-config-export.patch new file mode 100644 index 00000000000000..ccc613f55c83af --- /dev/null +++ b/ports/shaderc/cmake-config-export.patch @@ -0,0 +1,71 @@ +diff --git a/libshaderc/CMakeLists.txt b/libshaderc/CMakeLists.txt +index e0eea6c..b54ace4 100644 +--- a/libshaderc/CMakeLists.txt ++++ b/libshaderc/CMakeLists.txt +@@ -28,7 +28,9 @@ if (NOT BUILD_SHARED_LIBS) + add_library(shaderc STATIC ${SHADERC_SOURCES}) + shaderc_default_compile_options(shaderc) + target_include_directories(shaderc +- PUBLIC include ++ PUBLIC ++ $ ++ $ + PRIVATE ${glslang_SOURCE_DIR} + ${SPIRV-Headers_SOURCE_DIR}/include) + set(shaderc_install_target shaderc) +@@ -37,7 +39,9 @@ else() + add_library(shaderc_shared SHARED ${SHADERC_SOURCES}) + shaderc_default_compile_options(shaderc_shared) + target_include_directories(shaderc_shared +- PUBLIC include ++ PUBLIC ++ $ ++ $ + PRIVATE ${glslang_SOURCE_DIR} + ${SPIRV-Headers_SOURCE_DIR}/include) + target_compile_definitions(shaderc_shared +@@ -60,10 +64,15 @@ if(SHADERC_ENABLE_INSTALL) + ${CMAKE_INSTALL_INCLUDEDIR}/shaderc) + + install(TARGETS ${shaderc_install_target} shaderc_util ++ EXPORT unofficial-shaderc-targets + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + BUNDLE DESTINATION ${CMAKE_INSTALL_BINDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++ install(EXPORT unofficial-shaderc-targets ++ NAMESPACE unofficial::shaderc:: ++ DESTINATION share/unofficial-shaderc ++ ) + endif(SHADERC_ENABLE_INSTALL) + + find_package(Threads) +@@ -80,6 +89,15 @@ else() + target_link_libraries(shaderc_shared PRIVATE ${SHADERC_LIBS}) + endif() + ++file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/unofficial-shaderc-config.cmake" [[ ++include(CMakeFindDependencyMacro) ++find_dependency(glslang CONFIG) ++find_dependency(SPIRV-Tools CONFIG) ++find_dependency(SPIRV-Tools-opt CONFIG) ++include("${CMAKE_CURRENT_LIST_DIR}/unofficial-shaderc-targets.cmake") ++]]) ++install(FILES ${CMAKE_CURRENT_BINARY_DIR}/unofficial-shaderc-config.cmake DESTINATION share/unofficial-shaderc) ++ + shaderc_add_tests( + TEST_PREFIX shaderc + LINK_LIBS shaderc +diff --git a/libshaderc_util/CMakeLists.txt b/libshaderc_util/CMakeLists.txt +index 99ce3c4..3d5a222 100644 +--- a/libshaderc_util/CMakeLists.txt ++++ b/libshaderc_util/CMakeLists.txt +@@ -39,7 +39,7 @@ add_library(shaderc_util STATIC + + shaderc_default_compile_options(shaderc_util) + target_include_directories(shaderc_util +- PUBLIC include PRIVATE ${glslang_SOURCE_DIR}) ++ PUBLIC $ PRIVATE ${glslang_SOURCE_DIR}) + # We use parts of Glslang's HLSL compilation interface, which + # now requires this preprocessor definition. + add_definitions(-DENABLE_HLSL) diff --git a/ports/shaderc/cmake-project-include.cmake b/ports/shaderc/cmake-project-include.cmake new file mode 100644 index 00000000000000..eed773550d7af7 --- /dev/null +++ b/ports/shaderc/cmake-project-include.cmake @@ -0,0 +1,14 @@ +set(SHADERC_GLSLANG_DIR "" CACHE STRING "unused") +find_package(glslang CONFIG REQUIRED) +add_library(glslang ALIAS glslang::glslang) +add_library(MachineIndependent ALIAS glslang::MachineIndependent) +add_library(OSDependent ALIAS glslang::OSDependent) +add_library(SPIRV ALIAS glslang::SPIRV) + +find_path(glslang_SOURCE_DIR glslang/Public/ShaderLang.h REQUIRED) +set(glslang_SOURCE_DIR "${glslang_SOURCE_DIR}/glslang" "${glslang_SOURCE_DIR}" CACHE STRING "" FORCE) + +set(SHADERC_SPIRV_TOOLS_DIR "" CACHE STRING "unused") +find_package(SPIRV-Tools CONFIG REQUIRED) +add_library(SPIRV-Tools ALIAS SPIRV-Tools-static) # as linked by SPIRV-Tools-opt +find_package(SPIRV-Tools-opt CONFIG REQUIRED) diff --git a/ports/shaderc/disable-update-version.patch b/ports/shaderc/disable-update-version.patch index 7bf47bd508d5f6..f9e2f86a84acae 100644 --- a/ports/shaderc/disable-update-version.patch +++ b/ports/shaderc/disable-update-version.patch @@ -1,8 +1,8 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index a4e779b..dc5f1a9 100644 +index 075641e..b2e92ef 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -121,11 +121,6 @@ if(${SHADERC_ENABLE_EXAMPLES}) +@@ -129,11 +129,6 @@ if(${SHADERC_ENABLE_EXAMPLES}) add_subdirectory(examples) endif() @@ -15,10 +15,10 @@ index a4e779b..dc5f1a9 100644 function(define_pkg_config_file NAME LIBS) add_custom_target(${NAME}-pkg-config ALL diff --git a/glslc/CMakeLists.txt b/glslc/CMakeLists.txt -index acf6fb0..d0df7db 100644 +index c8fa6d5..341865a 100644 --- a/glslc/CMakeLists.txt +++ b/glslc/CMakeLists.txt -@@ -26,7 +26,6 @@ shaderc_default_compile_options(glslc_exe) +@@ -53,7 +53,6 @@ shaderc_default_compile_options(glslc_exe) target_include_directories(glslc_exe PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/.. ${spirv-tools_SOURCE_DIR}/include) set_target_properties(glslc_exe PROPERTIES OUTPUT_NAME glslc) target_link_libraries(glslc_exe PRIVATE glslc shaderc_util shaderc) diff --git a/ports/shaderc/fix-build-type.patch b/ports/shaderc/fix-build-type.patch index 8e5cd22db15ee2..46826d3aa109aa 100644 --- a/ports/shaderc/fix-build-type.patch +++ b/ports/shaderc/fix-build-type.patch @@ -1,5 +1,19 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b2e92ef..cf0832b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -152,6 +152,8 @@ function(define_pkg_config_file NAME LIBS) + endif() + endfunction() + ++if(BUILD_SHARED_LIBS) + define_pkg_config_file(shaderc -lshaderc_shared) ++else() + define_pkg_config_file(shaderc_static "-lshaderc ${EXTRA_STATIC_PKGCONFIG_LIBS} -lshaderc_util") +-define_pkg_config_file(shaderc_combined -lshaderc_combined) ++endif() diff --git a/libshaderc/CMakeLists.txt b/libshaderc/CMakeLists.txt -index 3ada419..f3277f0 100644 +index 2cced9e..e0eea6c 100644 --- a/libshaderc/CMakeLists.txt +++ b/libshaderc/CMakeLists.txt @@ -24,13 +24,16 @@ set(SHADERC_SOURCES @@ -33,11 +47,11 @@ index 3ada419..f3277f0 100644 ${CMAKE_INSTALL_INCLUDEDIR}/shaderc) - install(TARGETS shaderc shaderc_shared -+ install(TARGETS ${shaderc_install_target} ++ install(TARGETS ${shaderc_install_target} shaderc_util LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) -@@ -68,8 +73,11 @@ set(SHADERC_LIBS + BUNDLE DESTINATION ${CMAKE_INSTALL_BINDIR} +@@ -69,8 +74,11 @@ set(SHADERC_LIBS SPIRV-Tools ) @@ -49,7 +63,7 @@ index 3ada419..f3277f0 100644 shaderc_add_tests( TEST_PREFIX shaderc -@@ -93,6 +101,7 @@ shaderc_add_tests( +@@ -94,6 +102,7 @@ shaderc_add_tests( shaderc_cpp shaderc_private) @@ -57,7 +71,7 @@ index 3ada419..f3277f0 100644 shaderc_combine_static_lib(shaderc_combined shaderc) if(SHADERC_ENABLE_INSTALL) -@@ -121,6 +130,7 @@ shaderc_add_tests( +@@ -122,6 +131,7 @@ shaderc_add_tests( TEST_NAMES shaderc shaderc_cpp) diff --git a/ports/shaderc/fix-install-shaderc_util.patch b/ports/shaderc/fix-install-shaderc_util.patch deleted file mode 100644 index 7601f3020d3a57..00000000000000 --- a/ports/shaderc/fix-install-shaderc_util.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff --git a/libshaderc_util/CMakeLists.txt b/libshaderc_util/CMakeLists.txt -index 99ce3c4..4926203 100644 ---- a/libshaderc_util/CMakeLists.txt -+++ b/libshaderc_util/CMakeLists.txt -@@ -49,6 +49,13 @@ target_link_libraries(shaderc_util PRIVATE - glslang OSDependent OGLCompiler HLSL glslang SPIRV - SPIRV-Tools-opt ${CMAKE_THREAD_LIBS_INIT}) - -+if(SHADERC_ENABLE_INSTALL AND NOT BUILD_SHARED_LIBS) -+ install(TARGETS shaderc_util -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) -+endif(SHADERC_ENABLE_INSTALL) -+ - shaderc_add_tests( - TEST_PREFIX shaderc_util - LINK_LIBS shaderc_util diff --git a/ports/shaderc/fix-python.patch b/ports/shaderc/fix-python.patch new file mode 100644 index 00000000000000..8bea870bde8b82 --- /dev/null +++ b/ports/shaderc/fix-python.patch @@ -0,0 +1,51 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 75660ca..fa1ee84 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -99,14 +99,14 @@ endif () + + if (SHADERC_ENABLE_COPYRIGHT_CHECK) + add_custom_target(check-copyright ALL +- ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/utils/add_copyright.py ++ ${Python_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/utils/add_copyright.py + --check + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + COMMENT "Check copyright") + endif() + + add_custom_target(add-copyright +- ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/utils/add_copyright.py ++ ${Python_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/utils/add_copyright.py + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + COMMENT "Add copyright") + +diff --git a/utils/add_copyright.py b/utils/add_copyright.py +index ab3c5f1..7ea0897 100755 +--- a/utils/add_copyright.py ++++ b/utils/add_copyright.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # Copyright 2015 The Shaderc Authors. All rights reserved. + # + # Licensed under the Apache License, Version 2.0 (the "License"); +diff --git a/utils/remove-file-by-suffix.py b/utils/remove-file-by-suffix.py +index 39af161..ce7c658 100755 +--- a/utils/remove-file-by-suffix.py ++++ b/utils/remove-file-by-suffix.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + # Copyright 2015 The Shaderc Authors. All rights reserved. + # +diff --git a/utils/update_build_version.py b/utils/update_build_version.py +index 11ee53e..b7ce5b8 100755 +--- a/utils/update_build_version.py ++++ b/utils/update_build_version.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + # Copyright 2016 The Shaderc Authors. All rights reserved. + # diff --git a/ports/shaderc/glslang/CMakeLists.txt b/ports/shaderc/glslang/CMakeLists.txt deleted file mode 100644 index 0e745779dbd5d1..00000000000000 --- a/ports/shaderc/glslang/CMakeLists.txt +++ /dev/null @@ -1,13 +0,0 @@ -cmake_minimum_required(VERSION 3.11) - -find_package(glslang CONFIG REQUIRED) - -set_property(TARGET glslang PROPERTY IMPORTED_GLOBAL TRUE) -set_property(TARGET OSDependent PROPERTY IMPORTED_GLOBAL TRUE) -set_property(TARGET OGLCompiler PROPERTY IMPORTED_GLOBAL TRUE) -set_property(TARGET HLSL PROPERTY IMPORTED_GLOBAL TRUE) -set_property(TARGET SPIRV PROPERTY IMPORTED_GLOBAL TRUE) -set_property(TARGET MachineIndependent PROPERTY IMPORTED_GLOBAL TRUE) - -find_path(glslang_SOURCE_DIR glslang/Public/ShaderLang.h) -set(glslang_SOURCE_DIR "${glslang_SOURCE_DIR}/glslang" "${glslang_SOURCE_DIR}" CACHE STRING "" FORCE) diff --git a/ports/shaderc/portfile.cmake b/ports/shaderc/portfile.cmake index be59aa5ba2a8c9..45a2ec3006ebf0 100644 --- a/ports/shaderc/portfile.cmake +++ b/ports/shaderc/portfile.cmake @@ -4,44 +4,45 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/shaderc - REF adca18dcadd460eb517fe44f6cd2460fa0650ebe - SHA512 3a27d4c51be9e9396b9a854cb96d88e78ff2ca6dcb8400bd3288f6984d25876af0eae649aa1c72ad613edbbcfa4324a12809f13ceb7a0134eef41cb1a698dfdf + REF "v${VERSION}" + SHA512 2a5e59a2bb6c4b5462758d824747fee0edaf177dc64f30fe698fd2d2cc21cddab1a19ec2b2d63bd3d2e209330a13519f399395398379370b15daa39e6ee6b2bf HEAD_REF master PATCHES disable-update-version.patch fix-build-type.patch - fix-install-shaderc_util.patch + cmake-config-export.patch + fix-python.patch # Upstream PRs #1389 and #1401. ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/build-version.inc DESTINATION ${SOURCE_PATH}/glslc/src) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/build-version.inc" DESTINATION "${SOURCE_PATH}/glslc/src") -set(OPTIONS) +set(OPTIONS "") if(VCPKG_CRT_LINKAGE STREQUAL "dynamic") list(APPEND OPTIONS -DSHADERC_ENABLE_SHARED_CRT=ON) endif() # shaderc uses python to manipulate copyright information vcpkg_find_acquire_program(PYTHON3) -get_filename_component(PYTHON3_EXE_PATH ${PYTHON3} DIRECTORY) +get_filename_component(PYTHON3_EXE_PATH "${PYTHON3}" DIRECTORY) vcpkg_add_to_path(PREPEND "${PYTHON3_EXE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${OPTIONS} - -DSHADERC_SKIP_TESTS=true - -DSHADERC_GLSLANG_DIR=${CMAKE_CURRENT_LIST_DIR}/glslang - -DSHADERC_SPIRV_TOOLS_DIR=${CMAKE_CURRENT_LIST_DIR}/spirv-tools + "-DCMAKE_PROJECT_INCLUDE=${CMAKE_CURRENT_LIST_DIR}/cmake-project-include.cmake" -DSHADERC_ENABLE_EXAMPLES=OFF + -DSHADERC_SKIP_TESTS=true ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_fixup_pkgconfig() +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-shaderc CONFIG_PATH share/unofficial-shaderc) vcpkg_copy_tools(TOOL_NAMES glslc AUTO_CLEAN) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +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" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/shaderc/spirv-tools/CMakeLists.txt b/ports/shaderc/spirv-tools/CMakeLists.txt deleted file mode 100644 index d9e0136012b6a2..00000000000000 --- a/ports/shaderc/spirv-tools/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -find_library(SPIRVTOOLSOPT SPIRV-Tools-opt) -find_library(SPIRVTOOLS SPIRV-Tools) - -add_library(SPIRV-Tools-opt STATIC IMPORTED GLOBAL) -set_property(TARGET SPIRV-Tools-opt PROPERTY IMPORTED_LOCATION "${SPIRVTOOLSOPT}") - -add_library(SPIRV-Tools STATIC IMPORTED GLOBAL) -set_property(TARGET SPIRV-Tools PROPERTY IMPORTED_LOCATION "${SPIRVTOOLS}") diff --git a/ports/shaderc/usage b/ports/shaderc/usage new file mode 100644 index 00000000000000..8918c015579b7b --- /dev/null +++ b/ports/shaderc/usage @@ -0,0 +1,4 @@ +shaderc provides CMake targets: + + find_package(unofficial-shaderc CONFIG REQUIRED) + target_link_libraries(main PRIVATE unofficial::shaderc::shaderc) diff --git a/ports/shaderc/vcpkg.json b/ports/shaderc/vcpkg.json index e7e490c008bfd3..d1671b56ab79d3 100644 --- a/ports/shaderc/vcpkg.json +++ b/ports/shaderc/vcpkg.json @@ -1,11 +1,19 @@ { "name": "shaderc", - "version": "2021.1", - "port-version": 1, + "version": "2023.8", "description": "A collection of tools, libraries and tests for shader compilation.", "homepage": "https://github.com/google/shaderc", + "license": "Apache-2.0", "dependencies": [ "glslang", - "spirv-tools" + "spirv-tools", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/shaderwriter/portfile.cmake b/ports/shaderwriter/portfile.cmake index c53367fe8882a0..887bae8981c4ad 100644 --- a/ports/shaderwriter/portfile.cmake +++ b/ports/shaderwriter/portfile.cmake @@ -1,30 +1,33 @@ +vcpkg_minimum_required(VERSION 2022-10-12) # for ${VERSION} vcpkg_from_github(OUT_SOURCE_PATH SOURCE_PATH REPO DragonJoker/ShaderWriter - REF v1.1.0 - SHA512 7c2a311f332342a2fc7d37e646314fe79f28a00292ff082903b3fc30f3ff86f222936fd2bc9d85d79a66caf854b05bfa5546f9d299c0764d695c027c5101bc74 + REF v${VERSION} + HEAD_REF development + SHA512 58a9d5ca857a21283d359a3028d52a93dfa8161d2ba8052f674ecbab22750eebc0006d240d5f12779475ff5a2f8550f1c53a32e3a50ea2346ed8212e3c5775b2 ) vcpkg_from_github(OUT_SOURCE_PATH CMAKE_SOURCE_PATH REPO DragonJoker/CMakeUtils - REF 0d750fb17099157f0e15e09cdf834453f3e8557a + REF 7d355194fa795c437ce970cecf00e23ae10fc686 HEAD_REF master - SHA512 579ad01149180b2295a0441b3c4b575448d2f4335d013948b15c7b70c0232d3488ac296d4864a7808773fa3e3c1a8fc4de0c7b42a6595cc9b9d27f154321984a + SHA512 ca25b19bdeb3e8fda7abc32f8548731f0ba1cd09889a70f6f287ad76d2fdfa0fedbb7f6f65b26d356ea51543bed8926c6bb463f8e8461b7d51d3b7b33134374c ) -get_filename_component(SRC_PATH ${CMAKE_SOURCE_PATH} DIRECTORY) -if (EXISTS ${SRC_PATH}/CMake) - file(REMOVE_RECURSE ${SRC_PATH}/CMake) -endif() -file(RENAME ${CMAKE_SOURCE_PATH} ${SRC_PATH}/CMake) -set(CMAKE_SOURCE_PATH ${SRC_PATH}/CMake) -file(COPY ${CMAKE_SOURCE_PATH} DESTINATION ${SOURCE_PATH}) +file(REMOVE_RECURSE "${SOURCE_PATH}/CMake") +file(COPY "${CMAKE_SOURCE_PATH}/" DESTINATION "${SOURCE_PATH}/CMake") string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC) -vcpkg_configure_cmake( +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + spirv SDW_BUILD_EXPORTER_SPIRV + glsl SDW_BUILD_EXPORTER_HLSL + hlsl SDW_BUILD_EXPORTER_GLSL +) + +vcpkg_cmake_configure( SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA OPTIONS -DPROJECTS_USE_PRECOMPILED_HEADERS=OFF -DSDW_GENERATE_SOURCE=OFF @@ -32,12 +35,12 @@ vcpkg_configure_cmake( -DSDW_BUILD_TESTS=OFF -DSDW_BUILD_STATIC_SDW=${BUILD_STATIC} -DSDW_BUILD_STATIC_SDAST=${BUILD_STATIC} - -DSDW_BUILD_EXPORTER_GLSL_STATIC=${BUILD_STATIC} - -DSDW_BUILD_EXPORTER_HLSL_STATIC=${BUILD_STATIC} - -DSDW_BUILD_EXPORTER_SPIRV_STATIC=${BUILD_STATIC} + -DSDW_UNITY_BUILD=ON + ${FEATURE_OPTIONS} ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/shaderwriter) +vcpkg_copy_pdbs() +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME ShaderWriter CONFIG_PATH lib/cmake/shaderwriter) -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/shaderwriter/vcpkg.json b/ports/shaderwriter/vcpkg.json index 15f2a0bfd407f8..7ffbd083684dee 100644 --- a/ports/shaderwriter/vcpkg.json +++ b/ports/shaderwriter/vcpkg.json @@ -1,6 +1,31 @@ { "name": "shaderwriter", - "version": "1.1.0", + "version": "2.7.0", "description": "Library to write shaders directly from C++ code, supports GLSL, HLSL and SPIRV outputs.", - "homepage": "https://github.com/DragonJoker/ShaderWriter" + "homepage": "https://github.com/DragonJoker/ShaderWriter", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "default-features": [ + "spirv" + ], + "features": { + "glsl": { + "description": "Compiles GLSL exporter." + }, + "hlsl": { + "description": "Compiles HLSL exporter." + }, + "spirv": { + "description": "Compiles SPIR-V exporter." + } + } } diff --git a/ports/shapelib/option-build-test.patch b/ports/shapelib/option-build-test.patch deleted file mode 100644 index c91410f386c948..00000000000000 --- a/ports/shapelib/option-build-test.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index c3ef935..845ec06 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -148,7 +148,7 @@ set(executables - find_program(BASH_EXECUTABLE bash) - find_program(SED_EXECUTABLE sed) - if(BASH_EXECUTABLE AND SED_EXECUTABLE) -- set(BUILD_TEST ON) -+ option(BUILD_TEST "" ON) - else(BASH_EXECUTABLE AND SED_EXECUTABLE) - message(STATUS "WARNING: sed or bash not available so disabling testing") - endif(BASH_EXECUTABLE AND SED_EXECUTABLE) diff --git a/ports/shapelib/portfile.cmake b/ports/shapelib/portfile.cmake index b7fe51a1e35226..0fc02ab8b22079 100644 --- a/ports/shapelib/portfile.cmake +++ b/ports/shapelib/portfile.cmake @@ -1,50 +1,79 @@ -set(SHAPELIB_VERSION 1.5.0) -set(SHAPELIB_HASH 230939afb33aee042808a32b38ee9dfc7ec1f39432e5a4ebe3fda99c2f87bfbebc91830d4e21691c51aae3f4bb65d7e71e7061472bb08124dcd3402c46800d6c) - vcpkg_download_distfile(ARCHIVE - URLS "http://download.osgeo.org/shapelib/shapelib-${SHAPELIB_VERSION}.zip" - FILENAME "shapelib-${SHAPELIB_VERSION}.zip" - SHA512 ${SHAPELIB_HASH} + URLS "http://download.osgeo.org/shapelib/shapelib-${VERSION}.zip" + FILENAME "shapelib-${VERSION}.zip" + SHA512 50859bbd1ea8808aa06cd112cc16cc77c1bd29d93129180818a5ea3a753b63de4039f232d1d9f13ebd7d076e427d10036e5f00775e633eb637da511625fa29bb +) + +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} - PATCHES - option-build-test.patch +vcpkg_check_features(OUT_FEATURE_OPTIONS options + FEATURES + contrib BUILD_SHAPELIB_CONTRIB + tools BUILD_APPS ) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DBUILD_TEST=OFF + ${options} + -DBUILD_TESTING=OFF + -DUSE_RPATH=OFF ) vcpkg_cmake_install() - -vcpkg_cmake_config_fixup(PACKAGE_NAME shp) +vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup() +vcpkg_fixup_pkgconfig() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -file(GLOB EXES "${CURRENT_PACKAGES_DIR}/bin/*.exe") -if(EXES) - file(COPY ${EXES} DESTINATION "${CURRENT_PACKAGES_DIR}/tools/shapelib") - file(REMOVE ${EXES}) +if(BUILD_APPS) + vcpkg_copy_tools( + TOOL_NAMES + dbfadd + dbfcreate + dbfdump + shpadd + shpcreate + shpdump + shprewind + shptreedump + AUTO_CLEAN + ) endif() - -file(GLOB DEBUG_EXES "${CURRENT_PACKAGES_DIR}/debug/bin/*.exe") -if(DEBUG_EXES) - file(REMOVE ${DEBUG_EXES}) -endif() - -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin") +if(BUILD_SHAPELIB_CONTRIB) + vcpkg_copy_tools( + TOOL_NAMES + csv2shp + dbfcat + dbfinfo + Shape_PointInPoly + shpcat + shpcentrd + shpdata + shpdxf + shpfix + shpinfo + shpsort + shpwkb + AUTO_CLEAN + ) endif() -file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright( + FILE_LIST "${SOURCE_PATH}/LICENSE-LGPL" "${SOURCE_PATH}/LICENSE-MIT" + # Cf. web/license.html + COMMENT [[ +The core portions of the library are made available under two +possible licenses. The licensee can choose to use the code under +either the Library GNU Public License described in LICENSE-LGPL +or under the MIT license described in LICENSE-MIT. -vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/shapelib") - -vcpkg_copy_pdbs() +Some auxiliary portions of Shapelib, notably some of the components +in the contrib directory come under slightly different license restrictions. +Check the source files that you are actually using for conditions. +]]) diff --git a/ports/shapelib/vcpkg.json b/ports/shapelib/vcpkg.json index ae310d8c4b8a03..8b65c92d9dffc1 100644 --- a/ports/shapelib/vcpkg.json +++ b/ports/shapelib/vcpkg.json @@ -1,9 +1,9 @@ { "name": "shapelib", - "version-string": "1.5.0", - "port-version": 2, + "version": "1.6.1", "description": "Shapefile C Library is simple C API for reading and writing ESRI Shapefiles", "homepage": "https://download.osgeo.org/shapelib", + "license": "MIT OR LGPL-2.0-or-later", "dependencies": [ { "name": "vcpkg-cmake", @@ -13,5 +13,14 @@ "name": "vcpkg-cmake-config", "host": true } - ] + ], + "features": { + "contrib": { + "description": "Build utilities from contrib", + "license": null + }, + "tools": { + "description": "Build tools" + } + } } diff --git a/ports/shiftmedia-libgcrypt/portfile.cmake b/ports/shiftmedia-libgcrypt/portfile.cmake new file mode 100644 index 00000000000000..dc11e41fcc8ca7 --- /dev/null +++ b/ports/shiftmedia-libgcrypt/portfile.cmake @@ -0,0 +1,113 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO ShiftMediaProject/libgcrypt + REF libgcrypt-${VERSION} + SHA512 957f2138d174cd39b3809aabbc6873292c56e596892a2273a77301038473cbcd4c69aa5d3d0ebb98a34cf3a2c30ac3212af16b34a304f81d72f11df18c3601f9 + HEAD_REF master +) + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + set(CONFIGURATION_RELEASE ReleaseDLL) + set(CONFIGURATION_DEBUG DebugDLL) +else() + set(CONFIGURATION_RELEASE Release) + set(CONFIGURATION_DEBUG Debug) +endif() + +if(VCPKG_TARGET_IS_UWP) + string(APPEND CONFIGURATION_RELEASE WinRT) + string(APPEND CONFIGURATION_DEBUG WinRT) +endif() + +if(VCPKG_CRT_LINKAGE STREQUAL "static") + set(RuntimeLibraryExt "") +else() + set(RuntimeLibraryExt "DLL") +endif() + +# patch output library file path and name; inject RuntimeLibrary property to control CRT linkage +foreach(PROPS IN ITEMS + "${SOURCE_PATH}/SMP/smp_deps.props" + "${SOURCE_PATH}/SMP/smp_winrt_deps.props") + vcpkg_replace_string( + "${PROPS}" + [=[_winrt]=] + [=[]=] + IGNORE_UNCHANGED + ) + vcpkg_replace_string( + "${PROPS}" + [=[lib$(RootNamespace)]=] + [=[$(RootNamespace)]=] + ) + vcpkg_replace_string( + "${PROPS}" + [=[]=] + [=[$(RuntimeLibrary)]=] + ) +endforeach() + +# patch gpg-error library file name +foreach(VCXPROJ IN ITEMS + "${SOURCE_PATH}/SMP/libgcrypt.vcxproj" + "${SOURCE_PATH}/SMP/libgcrypt_winrt.vcxproj" +) + vcpkg_replace_string( + "${VCXPROJ}" + "_winrt.lib" + ".lib" + IGNORE_UNCHANGED + ) + vcpkg_replace_string( + "${VCXPROJ}" + "libgpg-error" + "gpg-error" + ) +endforeach() + +vcpkg_install_msbuild( + USE_VCPKG_INTEGRATION + SOURCE_PATH "${SOURCE_PATH}" + PROJECT_SUBPATH SMP/libgcrypt.sln + PLATFORM ${TRIPLET_SYSTEM_ARCH} + LICENSE_SUBPATH COPYING.LIB + RELEASE_CONFIGURATION ${CONFIGURATION_RELEASE} + DEBUG_CONFIGURATION ${CONFIGURATION_DEBUG} + SKIP_CLEAN + OPTIONS /p:OutDir=..\\msvc + OPTIONS_DEBUG "/p:RuntimeLibrary=MultiThreadedDebug${RuntimeLibraryExt}" + OPTIONS_RELEASE "/p:RuntimeLibrary=MultiThreaded${RuntimeLibraryExt}" +) + +get_filename_component(SOURCE_PATH_SUFFIX "${SOURCE_PATH}" NAME) +if(VCPKG_TARGET_IS_UWP) + set(WINRT_SUBFOLDER libgcrypt_winrt) +endif() +file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/${SOURCE_PATH_SUFFIX}/msvc/${WINRT_SUBFOLDER}/include" DESTINATION "${CURRENT_PACKAGES_DIR}") + +string(REGEX REPLACE "-.*" "" PACKAGE_VERSION "${VERSION}") +set(exec_prefix "\${prefix}") +set(libdir "\${prefix}/lib") +set(includedir "\${prefix}/include") +set(LIBGCRYPT_CONFIG_LIBS "-lgcrypt") +configure_file("${SOURCE_PATH}/src/libgcrypt.pc.in" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libgcrypt.pc" @ONLY) +if(NOT VCPKG_BUILD_TYPE) + set(includedir "\${prefix}/../include") + set(LIBGCRYPT_CONFIG_LIBS "-lgcryptd") + configure_file("${SOURCE_PATH}/src/libgcrypt.pc.in" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libgcrypt.pc" @ONLY) +endif() + +vcpkg_fixup_pkgconfig() +vcpkg_copy_pdbs() + +file(INSTALL "${SOURCE_PATH}/src/libgcrypt.m4" DESTINATION "${CURRENT_PACKAGES_DIR}/share/libgcrypt/aclocal/") + +file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/COPYING.LIB" "${CURRENT_PACKAGES_DIR}/debug/lib/COPYING.LIB") +vcpkg_install_copyright(COMMENT [[ +The library is distributed under the terms of the GNU Lesser General Public License (LGPL). +There are additonal notices about contributions that require these additional notices are distributed. +]] + FILE_LIST + "${SOURCE_PATH}/COPYING.LIB" + "${SOURCE_PATH}/LICENSES" +) diff --git a/ports/shiftmedia-libgcrypt/vcpkg.json b/ports/shiftmedia-libgcrypt/vcpkg.json new file mode 100644 index 00000000000000..1ecb7a52f2184f --- /dev/null +++ b/ports/shiftmedia-libgcrypt/vcpkg.json @@ -0,0 +1,12 @@ +{ + "name": "shiftmedia-libgcrypt", + "version": "1.10.3-1", + "port-version": 1, + "description": "An unofficial LibGCrypt with added custom native Visual Studio project build tools. LibGCrypt", + "homepage": "https://github.com/ShiftMediaProject/libgcrypt", + "license": "LGPL-2.1-only", + "supports": "windows & !mingw", + "dependencies": [ + "shiftmedia-libgpg-error" + ] +} diff --git a/ports/shiftmedia-libgnutls/external-libtasn1.patch b/ports/shiftmedia-libgnutls/external-libtasn1.patch new file mode 100644 index 00000000000000..68a94c4f6d2914 --- /dev/null +++ b/ports/shiftmedia-libgnutls/external-libtasn1.patch @@ -0,0 +1,118 @@ +diff --git a/SMP/libgnutls.vcxproj.filters b/SMP/libgnutls.vcxproj.filters +index ef202f4ac..a397e1574 100644 +--- a/SMP/libgnutls.vcxproj.filters ++++ b/SMP/libgnutls.vcxproj.filters +@@ -103,9 +103,6 @@ + + {ae0c3eeb-53df-4c72-a85a-6b46de35e7ba} + +- +- {32be60b7-8c65-486e-9df5-7e529443cf07} +- + + {1f3549a8-3c3d-475f-8fd6-20451d336464} + +@@ -1535,30 +1532,6 @@ + + Source Files\lib\nettle + +- +- Source Files\libtasn1 +- +- +- Source Files\libtasn1 +- +- +- Source Files\libtasn1 +- +- +- Source Files\libtasn1 +- +- +- Source Files\libtasn1 +- +- +- Source Files\libtasn1 +- +- +- Source Files\libtasn1 +- +- +- Source Files\libtasn1 +- + + Source Files\lib\nettle\gost + +diff --git a/SMP/libgnutls_files.props b/SMP/libgnutls_files.props +index 55049b70b..2bb76e3b0 100644 +--- a/SMP/libgnutls_files.props ++++ b/SMP/libgnutls_files.props +@@ -175,13 +175,6 @@ + + + +- +- +- +- +- +- +- + + + +@@ -545,9 +538,6 @@ + + + REPLACE_PRINTF_POSIX=1;REPLACE_FPRINTF_POSIX=1;REPLACE_VPRINTF_POSIX=1;REPLACE_VFPRINTF_POSIX=1;%(PreprocessorDefinitions) +- +- +- $(IntDir)\tasn1_$(filename).obj + + + $(IntDir)\alg_%(Filename).obj +diff --git a/SMP/libgnutls_winrt.vcxproj.filters b/SMP/libgnutls_winrt.vcxproj.filters +index f6a355e7e..299749c2a 100644 +--- a/SMP/libgnutls_winrt.vcxproj.filters ++++ b/SMP/libgnutls_winrt.vcxproj.filters +@@ -103,9 +103,6 @@ + + {ae0c3eeb-53df-4c72-a85a-6b46de35e7ba} + +- +- {32be60b7-8c65-486e-9df5-7e529443cf07} +- + + {4fada990-3138-4089-a6c7-ae722a0e7fe9} + +@@ -1535,30 +1532,6 @@ + + Source Files\lib\nettle + +- +- Source Files\libtasn1 +- +- +- Source Files\libtasn1 +- +- +- Source Files\libtasn1 +- +- +- Source Files\libtasn1 +- +- +- Source Files\libtasn1 +- +- +- Source Files\libtasn1 +- +- +- Source Files\libtasn1 +- +- +- Source Files\libtasn1 +- + + Source Files\lib\accelerated + diff --git a/ports/shiftmedia-libgnutls/pkgconfig.patch b/ports/shiftmedia-libgnutls/pkgconfig.patch new file mode 100644 index 00000000000000..3eecc76b6c8c47 --- /dev/null +++ b/ports/shiftmedia-libgnutls/pkgconfig.patch @@ -0,0 +1,13 @@ +diff --git a/lib/gnutls.pc.in b/lib/gnutls.pc.in +index 7cdedda5..11785bcd 100644 +--- a/lib/gnutls.pc.in ++++ b/lib/gnutls.pc.in +@@ -18,7 +18,7 @@ Name: GnuTLS + Description: Transport Security Layer implementation for the GNU system + URL: https://www.gnutls.org/ + Version: @VERSION@ +-Libs: -L${libdir} -lgnutls ++Libs: -L${libdir} @GNUTLS_LIBS@ + Libs.private: @LIBZ_PC@ @LIBINTL@ @LIBSOCKET@ @INET_PTON_LIB@ @LIBPTHREAD@ @LIB_SELECT@ @TSS_LIBS@ @GMP_LIBS@ @LIBUNISTRING@ @LIBATOMIC_LIBS@ @GNUTLS_LIBS_PRIVATE@ + @GNUTLS_REQUIRES_PRIVATE@ + Cflags: -I${includedir} diff --git a/ports/shiftmedia-libgnutls/portfile.cmake b/ports/shiftmedia-libgnutls/portfile.cmake new file mode 100644 index 00000000000000..eb4d9209a3e9ab --- /dev/null +++ b/ports/shiftmedia-libgnutls/portfile.cmake @@ -0,0 +1,174 @@ +set(GNULIB_REF "3639c57") + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO ShiftMediaProject/gnutls + REF ${VERSION} + SHA512 ff3991012425fb047229b3a72f3ab465981e002f93840df0dc3729b152fb497f88c74cb50022fc6f30aa2f6db3c34ed4e44e5556ec249f8da5b20886bb4116b1 + HEAD_REF master + PATCHES + external-libtasn1.patch + pkgconfig.patch +) + +file(REMOVE_RECURSE "${SOURCE_PATH}/devel/perlasm") + +vcpkg_download_distfile( + GNULIB_SNAPSHOT + URLS "https://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=snapshot;h=${GNULIB_REF};sf=tgz" + FILENAME "gnulib-${GNULIB_REF}.tar.gz" + SHA512 bc99be736d2907049d498f44d8f24db4beb2b3645459451b595087b9406ac1eebe4cbb4f2ef65df9e65823e01db4b4800b75eb9537236797fe1edcc65418c520 +) + +vcpkg_extract_source_archive( + GNULIB_SOURCE_PATH + ARCHIVE "${GNULIB_SNAPSHOT}" + SOURCE_BASE ${GNULIB_REF} +) + +file(REMOVE_RECURSE "${SOURCE_PATH}/gnulib") +file(RENAME "${GNULIB_SOURCE_PATH}" "${SOURCE_PATH}/gnulib") + +include("${CURRENT_HOST_INSTALLED_DIR}/share/yasm-tool-helper/yasm-tool-helper.cmake") +yasm_tool_helper(OUT_VAR YASM) +file(TO_NATIVE_PATH "${YASM}" YASM) + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + set(CONFIGURATION_RELEASE ReleaseDLL) + set(CONFIGURATION_DEBUG DebugDLL) +else() + set(CONFIGURATION_RELEASE Release) + set(CONFIGURATION_DEBUG Debug) +endif() + +if(VCPKG_TARGET_IS_UWP) + string(APPEND CONFIGURATION_RELEASE WinRT) + string(APPEND CONFIGURATION_DEBUG WinRT) +endif() + +set(_gnutlsproject "${SOURCE_PATH}/SMP/libgnutls.vcxproj") +file(READ "${_gnutlsproject}" _contents) +string(REPLACE [[]] + "" + _contents "${_contents}") +string(REPLACE [[]] + "" + _contents "${_contents}") +string(REGEX REPLACE "${VCPKG_ROOT_DIR}/installed/[^/]+/share" "${CURRENT_HOST_INSTALLED_DIR}/share" _contents "${_contents}") # Above already +file(WRITE "${_gnutlsproject}" "${_contents}") + +if(VCPKG_CRT_LINKAGE STREQUAL "static") + set(RuntimeLibraryExt "") +else() + set(RuntimeLibraryExt "DLL") +endif() + +# patch output library file path and name +foreach(PROPS IN ITEMS +"${SOURCE_PATH}/SMP/smp_deps.props" +"${SOURCE_PATH}/SMP/smp_winrt_deps.props") +vcpkg_replace_string( + "${PROPS}" + [=[_winrt]=] + [=[]=] + IGNORE_UNCHANGED +) +vcpkg_replace_string( + "${PROPS}" + [=[lib$(RootNamespace)]=] + [=[$(RootNamespace)]=] +) +endforeach() + +# patch hogweed, gpm, nettle, zlib libraries file names; inject RuntimeLibrary property to control CRT linkage +foreach(VCXPROJ IN ITEMS +"${SOURCE_PATH}/SMP/libgnutls.vcxproj" +"${SOURCE_PATH}/SMP/libgnutls_winrt.vcxproj") +vcpkg_replace_string( + "${VCXPROJ}" + "_winrt.lib" + ".lib" + IGNORE_UNCHANGED +) +vcpkg_replace_string( + "${VCXPROJ}" + "libhogweed" + "hogweed" +) +vcpkg_replace_string( + "${VCXPROJ}" + "hogweedd" + "hogweed" +) +vcpkg_replace_string( + "${VCXPROJ}" + "libgmp" + "gmp" +) +vcpkg_replace_string( + "${VCXPROJ}" + "gmpd" + "gmp" +) +vcpkg_replace_string( + "${VCXPROJ}" + "libnettle" + "nettle" +) +vcpkg_replace_string( + "${VCXPROJ}" + "nettled" + "nettle" +) +vcpkg_replace_string( + "${VCXPROJ}" + "libzlib" + "zlib" +) +vcpkg_replace_string( + "${VCXPROJ}" + [=[]=] + [=[$(RuntimeLibrary)]=] +) +endforeach() + +vcpkg_install_msbuild( + USE_VCPKG_INTEGRATION + SOURCE_PATH "${SOURCE_PATH}" + PROJECT_SUBPATH SMP/libgnutls.sln + PLATFORM ${TRIPLET_SYSTEM_ARCH} + LICENSE_SUBPATH LICENSE + RELEASE_CONFIGURATION ${CONFIGURATION_RELEASE} + DEBUG_CONFIGURATION ${CONFIGURATION_DEBUG} + SKIP_CLEAN + OPTIONS /p:YasmPath="${YASM}" /p:OutDir=..\\msvc + OPTIONS_DEBUG /p:RuntimeLibrary=MultiThreadedDebug${RuntimeLibraryExt} + OPTIONS_RELEASE /p:RuntimeLibrary=MultiThreaded${RuntimeLibraryExt} +) + +get_filename_component(SOURCE_PATH_SUFFIX "${SOURCE_PATH}" NAME) +if(VCPKG_TARGET_IS_UWP) + set(WINRT_SUBFOLDER libgnutls_winrt) +endif() +file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/${SOURCE_PATH_SUFFIX}/msvc/${WINRT_SUBFOLDER}/include" DESTINATION "${CURRENT_PACKAGES_DIR}") + +set(GNUTLS_REQUIRES_PRIVATE "Requires.private: gmp, nettle, hogweed, libtasn1") +set(GNUTLS_LIBS_PRIVATE "-lcrypt32 -lws2_32 -lkernel32 -lncrypt") + +set(prefix "${CURRENT_INSTALLED_DIR}") +set(exec_prefix "\${prefix}") +set(libdir "\${prefix}/lib") +set(includedir "\${prefix}/include") +set(GNUTLS_LIBS "-lgnutls") +configure_file("${SOURCE_PATH}/lib/gnutls.pc.in" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/gnutls.pc" @ONLY) + +set(prefix "${CURRENT_INSTALLED_DIR}/debug") +set(exec_prefix "\${prefix}") +set(libdir "\${prefix}/lib") +set(includedir "\${prefix}/../include") +set(GNUTLS_LIBS "-lgnutlsd") +configure_file("${SOURCE_PATH}/lib/gnutls.pc.in" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/gnutls.pc" @ONLY) + +vcpkg_fixup_pkgconfig() +vcpkg_copy_pdbs() +file(COPY "${CURRENT_PORT_DIR}/vcpkg-cmake-wrapper.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/gnutls") diff --git a/ports/shiftmedia-libgnutls/vcpkg-cmake-wrapper.cmake b/ports/shiftmedia-libgnutls/vcpkg-cmake-wrapper.cmake new file mode 100644 index 00000000000000..41ef03f297400f --- /dev/null +++ b/ports/shiftmedia-libgnutls/vcpkg-cmake-wrapper.cmake @@ -0,0 +1,2 @@ +find_library(GNUTLS_LIBRARY NAMES gnutls gnutlsd NAMES_PER_DIR) +_find_package(${ARGS}) diff --git a/ports/shiftmedia-libgnutls/vcpkg.json b/ports/shiftmedia-libgnutls/vcpkg.json new file mode 100644 index 00000000000000..069949ee5fc253 --- /dev/null +++ b/ports/shiftmedia-libgnutls/vcpkg.json @@ -0,0 +1,24 @@ +{ + "name": "shiftmedia-libgnutls", + "version": "3.8.7", + "port-version": 1, + "description": "Unofficial GnuTLS fork with added custom native Visual Studio project build tools. ", + "homepage": "https://github.com/ShiftMediaProject/gnutls", + "license": "LGPL-2.1-only", + "supports": "windows & !arm & !mingw & !xbox", + "dependencies": [ + "gettext", + "gmp", + "libtasn1", + "nettle", + { + "name": "vs-yasm", + "host": true + }, + { + "name": "yasm-tool-helper", + "host": true + }, + "zlib" + ] +} diff --git a/ports/shiftmedia-libgpg-error/TargetPlatformMinVersion.patch b/ports/shiftmedia-libgpg-error/TargetPlatformMinVersion.patch new file mode 100644 index 00000000000000..fe8288ff3cda88 --- /dev/null +++ b/ports/shiftmedia-libgpg-error/TargetPlatformMinVersion.patch @@ -0,0 +1,12 @@ +diff --git a/SMP/libgpg-error_winrt.vcxproj b/SMP/llibgpg-error_winrt.vcxproj +index e1acf679..f9c302be 100644 +--- a/SMP/libgpg-error_winrt.vcxproj ++++ b/SMP/libgpg-error_winrt.vcxproj +@@ -3,6 +3,7 @@ + + {AA4A762D-A8D7-4F68-9B79-FBE63C6BE105} + gpg-error ++ 10.0.17200.0 + + + diff --git a/ports/libgpg-error/outdir.patch b/ports/shiftmedia-libgpg-error/outdir.patch similarity index 100% rename from ports/libgpg-error/outdir.patch rename to ports/shiftmedia-libgpg-error/outdir.patch diff --git a/ports/shiftmedia-libgpg-error/portfile.cmake b/ports/shiftmedia-libgpg-error/portfile.cmake new file mode 100644 index 00000000000000..383d48b6392799 --- /dev/null +++ b/ports/shiftmedia-libgpg-error/portfile.cmake @@ -0,0 +1,69 @@ +vcpkg_minimum_required(VERSION 2022-10-12) # for ${VERSION} + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO ShiftMediaProject/libgpg-error + REF "libgpg-error-${VERSION}" + SHA512 779983bd0aac1f281bf357d0218e9626a5c72c3391513eef8a56148f08966f3cc75495e97f410ea7156d40be16977b5c64748c66626ae6d877e2a6c28dc822a2 + HEAD_REF master + PATCHES + outdir.patch + runtime.patch + TargetPlatformMinVersion.patch +) + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + set(CONFIGURATION_RELEASE ReleaseDLL) + set(CONFIGURATION_DEBUG DebugDLL) +else() + set(CONFIGURATION_RELEASE Release) + set(CONFIGURATION_DEBUG Debug) +endif() + +if(VCPKG_TARGET_IS_UWP) + string(APPEND CONFIGURATION_RELEASE WinRT) + string(APPEND CONFIGURATION_DEBUG WinRT) +endif() + +if(VCPKG_TARGET_IS_UWP) + set(_gpg-errorproject "${SOURCE_PATH}/SMP/libgpg-error_winrt.vcxproj") +else() + set(_gpg-errorproject "${SOURCE_PATH}/SMP/libgpg-error.vcxproj") +endif() + +if(VCPKG_CRT_LINKAGE STREQUAL "static") + set(RuntimeLibraryExt "") +else() + set(RuntimeLibraryExt "DLL") +endif() + +vcpkg_install_msbuild( + USE_VCPKG_INTEGRATION + SOURCE_PATH "${SOURCE_PATH}" + PROJECT_SUBPATH SMP/libgpg-error.sln + PLATFORM ${TRIPLET_SYSTEM_ARCH} + LICENSE_SUBPATH COPYING.LIB + RELEASE_CONFIGURATION ${CONFIGURATION_RELEASE} + DEBUG_CONFIGURATION ${CONFIGURATION_DEBUG} + SKIP_CLEAN + OPTIONS_DEBUG "/p:RuntimeLibrary=MultiThreadedDebug${RuntimeLibraryExt}" + OPTIONS_RELEASE "/p:RuntimeLibrary=MultiThreaded${RuntimeLibraryExt}" +) + +get_filename_component(SOURCE_PATH_SUFFIX "${SOURCE_PATH}" NAME) +file(COPY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/${SOURCE_PATH_SUFFIX}/msvc/include" DESTINATION "${CURRENT_PACKAGES_DIR}") + +set(exec_prefix "\${prefix}") +set(libdir "\${prefix}/lib") +set(includedir "\${prefix}/include") +set(GPG_ERROR_CONFIG_LIBS "-L\${libdir} -lgpg-error") +configure_file("${SOURCE_PATH}/src/gpg-error.pc.in" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/gpg-error.pc" @ONLY) + +set(exec_prefix "\${prefix}") +set(libdir "\${prefix}/lib") +set(includedir "\${prefix}/../include") +set(GPG_ERROR_CONFIG_LIBS "-L\${libdir} -lgpg-errord") +configure_file("${SOURCE_PATH}/src/gpg-error.pc.in" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/gpg-error.pc" @ONLY) +vcpkg_fixup_pkgconfig() +vcpkg_copy_pdbs() +file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/COPYING.LIB" "${CURRENT_PACKAGES_DIR}/debug/lib/COPYING.LIB") diff --git a/ports/libgpg-error/runtime.patch b/ports/shiftmedia-libgpg-error/runtime.patch similarity index 100% rename from ports/libgpg-error/runtime.patch rename to ports/shiftmedia-libgpg-error/runtime.patch diff --git a/ports/shiftmedia-libgpg-error/vcpkg.json b/ports/shiftmedia-libgpg-error/vcpkg.json new file mode 100644 index 00000000000000..c585c0c5ed5b52 --- /dev/null +++ b/ports/shiftmedia-libgpg-error/vcpkg.json @@ -0,0 +1,9 @@ +{ + "name": "shiftmedia-libgpg-error", + "version": "1.45", + "port-version": 1, + "description": "An unofficial libgpg-error with added native Visual Studio project system", + "homepage": "https://github.com/ShiftMediaProject/libgpg-error", + "license": "LGPL-2.1-only", + "supports": "windows & !mingw & !(arm | arm64)" +} diff --git a/ports/shiva-sfml/portfile.cmake b/ports/shiva-sfml/portfile.cmake deleted file mode 100644 index 0e603e8de47371..00000000000000 --- a/ports/shiva-sfml/portfile.cmake +++ /dev/null @@ -1,142 +0,0 @@ -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO Milerius/shiva - REF 1.0 - SHA512 d1ce33e89b17fa8f82e21b51dfa1308e38c617fea52c34a20b7b6c8643318280df24c043238ddd73ba2dbc139c5b5de1c2cb3add1f5629a54694c78b415d73d1 - HEAD_REF master - ) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - -DSHIVA_BUILD_TESTS=OFF -DSHIVA_USE_SFML_AS_RENDERER=ON -DSHIVA_INSTALL_PLUGINS=ON -DSHIVA_BUILD_EXAMPLES=OFF -) - -vcpkg_install_cmake() - - -if (VCPKG_CMAKE_SYSTEM_NAME) - file(GLOB PLUGINS_RELEASE ${SOURCE_PATH}/bin/Release/systems/*) - file(GLOB PLUGINS_DEBUG ${SOURCE_PATH}/bin/Debug/systems/*) -else() - file(GLOB PLUGINS_RELEASE ${SOURCE_PATH}/bin/Release/systems/*.dll) - file(GLOB PLUGINS_DEBUG ${SOURCE_PATH}/bin/Debug/systems/*.dll) -endif() - -message(STATUS "PLUGINS_RELEASE -> ${PLUGINS_RELEASE}") -message(STATUS "PLUGINS_DEBUG -> ${PLUGINS_DEBUG}") -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/shiva-sfml) - - -if (VCPKG_CMAKE_SYSTEM_NAME) - set(SUFFIX_BINARY lib) -else() - set(VCPKG_POLICY_DLLS_WITHOUT_LIBS enabled) - set(SUFFIX_BINARY bin) -endif() - -##! Pre removing -if (VCPKG_CMAKE_SYSTEM_NAME) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib) -endif() - -##! Include -file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/include) -file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/include/shiva-sfml) - -##! Release -file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/${SUFFIX_BINARY}) -file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/${SUFFIX_BINARY}/shiva) -file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/${SUFFIX_BINARY}/shiva/plugins) -file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/${SUFFIX_BINARY}/shiva/plugins/shiva-sfml) -file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/${SUFFIX_BINARY}/shiva/plugins/shiva-sfml/Release) - -##! Debug -file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug) -file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/${SUFFIX_BINARY}) -file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/${SUFFIX_BINARY}/shiva) -file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/${SUFFIX_BINARY}/shiva/plugins) -file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/${SUFFIX_BINARY}/shiva/plugins/shiva-sfml) -file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/${SUFFIX_BINARY}/shiva/plugins/shiva-sfml/Debug) - -##! Copy Plugins -file(COPY ${PLUGINS_RELEASE} DESTINATION ${CURRENT_PACKAGES_DIR}/${SUFFIX_BINARY}/shiva/plugins/shiva-sfml/Release) -file(COPY ${PLUGINS_DEBUG} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/${SUFFIX_BINARY}/shiva/plugins/shiva-sfml/Debug) - -if (NOT VCPKG_CMAKE_SYSTEM_NAME) - find_file(LUADLL lua.dll PATHS ${CURRENT_INSTALLED_DIR}/bin) - find_file(FMTDLL fmt.dll PATHS ${CURRENT_INSTALLED_DIR}/bin) - find_file(FLACDLL FLAC.dll PATHS ${CURRENT_INSTALLED_DIR}/bin) - find_file(FREETYPEDLL freetype.dll PATHS ${CURRENT_INSTALLED_DIR}/bin) - find_file(LIBBZ2DLL libbz2.dll PATHS ${CURRENT_INSTALLED_DIR}/bin) - find_file(LIBPNG16DLL libpng16.dll PATHS ${CURRENT_INSTALLED_DIR}/bin) - find_file(OGGDLL ogg.dll PATHS ${CURRENT_INSTALLED_DIR}/bin) - find_file(OPENAL32DLL OpenAL32.dll PATHS ${CURRENT_INSTALLED_DIR}/bin) - find_file(SFMLAUDIO2DLL sfml-audio-2.dll PATHS ${CURRENT_INSTALLED_DIR}/bin) - find_file(SFMLGRAPHICS2DLL sfml-graphics-2.dll PATHS ${CURRENT_INSTALLED_DIR}/bin) - find_file(SFMLSYSTEM2DLL sfml-system-2.dll PATHS ${CURRENT_INSTALLED_DIR}/bin) - find_file(SFMLWINDOW2DLL sfml-window-2.dll PATHS ${CURRENT_INSTALLED_DIR}/bin) - find_file(VORBISDLL vorbis.dll PATHS ${CURRENT_INSTALLED_DIR}/bin) - find_file(VORBISENCDLL vorbisenc.dll PATHS ${CURRENT_INSTALLED_DIR}/bin) - find_file(VORBISFILEDLL vorbisfile.dll PATHS ${CURRENT_INSTALLED_DIR}/bin) - find_file(ZLIB1DLL zlib1.dll PATHS ${CURRENT_INSTALLED_DIR}/bin) - set(DEPENDANCIES_RELEASE_DLL - ${LUADLL} - ${FMTDLL} - ${FLACDLL} - ${FREETYPEDLL} - ${LIBBZ2DLL} - ${LIBPNG16DLL} - ${OGGDLL} - ${OPENAL32DLL} - ${SFMLAUDIO2DLL} - ${SFMLGRAPHICS2DLL} - ${SFMLSYSTEM2DLL} - ${SFMLWINDOW2DLL} - ${VORBISDLL} - ${VORBISENCDLL} - ${VORBISFILEDLL} - ${ZLIB1DLL}) - - find_file(LUADLL_D lua.dll PATHS ${CURRENT_INSTALLED_DIR}/debug/bin) - find_file(FMTDLL_D fmtd.dll PATHS ${CURRENT_INSTALLED_DIR}/debug/bin) - find_file(FLACDLL_D FLAC.dll PATHS ${CURRENT_INSTALLED_DIR}/debug/bin) - find_file(FREETYPEDLL_D freetyped.dll PATHS ${CURRENT_INSTALLED_DIR}/debug/bin) - find_file(LIBBZ2DLL_D libbz2d.dll PATHS ${CURRENT_INSTALLED_DIR}/debug/bin) - find_file(LIBPNG16DLL_D libpng16d.dll PATHS ${CURRENT_INSTALLED_DIR}/debug/bin) - find_file(OGGDLL_D ogg.dll PATHS ${CURRENT_INSTALLED_DIR}/debug/bin) - find_file(OPENAL32DLL_D OpenAL32.dll PATHS ${CURRENT_INSTALLED_DIR}/debug/bin) - find_file(SFMLAUDIO2DLL_D sfml-audio-d-2.dll PATHS ${CURRENT_INSTALLED_DIR}/debug/bin) - find_file(SFMLGRAPHICS2DLL_D sfml-graphics-d-2.dll PATHS ${CURRENT_INSTALLED_DIR}/debug/bin) - find_file(SFMLSYSTEM2DLL_D sfml-system-d-2.dll PATHS ${CURRENT_INSTALLED_DIR}/debug/bin) - find_file(SFMLWINDOW2DLL_D sfml-window-d-2.dll PATHS ${CURRENT_INSTALLED_DIR}/debug/bin) - find_file(VORBISDLL_D vorbis.dll PATHS ${CURRENT_INSTALLED_DIR}/debug/bin) - find_file(VORBISENCDLL_D vorbisenc.dll PATHS ${CURRENT_INSTALLED_DIR}/debug/bin) - find_file(VORBISFILEDLL_D vorbisfile.dll PATHS ${CURRENT_INSTALLED_DIR}/debug/bin) - find_file(ZLIB1DLL_D zlibd1.dll PATHS ${CURRENT_INSTALLED_DIR}/debug/bin) - set(DEPENDANCIES_DEBUG_DLL - ${LUADLL_D} - ${FMTDLL_D} - ${FLACDLL_D} - ${FREETYPEDLL_D} - ${LIBBZ2DLL_D} - ${LIBPNG16DLL_D} - ${OGGDLL_D} - ${OPENAL32DLL} - ${SFMLAUDIO2DLL_D} - ${SFMLGRAPHICS2DLL_D} - ${SFMLSYSTEM2DLL_D} - ${SFMLWINDOW2DLL_D} - ${VORBISDLL_D} - ${VORBISENCDLL_D} - ${VORBISFILEDLL_D} - ${ZLIB1DLL_D} - ) - - file(COPY ${DEPENDANCIES_RELEASE_DLL} DESTINATION ${CURRENT_PACKAGES_DIR}/${SUFFIX_BINARY}/shiva/plugins/shiva-sfml/Release) - file(COPY ${DEPENDANCIES_DEBUG_DLL} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/${SUFFIX_BINARY}/shiva/plugins/shiva-sfml/Debug) -endif() - -file(WRITE ${CURRENT_PACKAGES_DIR}/include/shiva-sfml/empty.h "") -file(WRITE ${CURRENT_PACKAGES_DIR}/share/shiva-sfml/copyright "") diff --git a/ports/shiva-sfml/vcpkg.json b/ports/shiva-sfml/vcpkg.json deleted file mode 100644 index 7fce5e80903ff8..00000000000000 --- a/ports/shiva-sfml/vcpkg.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "name": "shiva-sfml", - "version-string": "1.0", - "port-version": 2, - "description": "shiva-sfml plugins of shiva C++ engine", - "dependencies": [ - { - "name": "sfml", - "platform": "windows" - }, - "shiva" - ] -} diff --git a/ports/shiva/find_python_and_no_copy_dll.patch b/ports/shiva/find_python_and_no_copy_dll.patch new file mode 100644 index 00000000000000..31f447daa890ef --- /dev/null +++ b/ports/shiva/find_python_and_no_copy_dll.patch @@ -0,0 +1,25 @@ +diff --git a/modules/python/CMakeLists.txt b/modules/python/CMakeLists.txt +index eef14ee..30130ba 100644 +--- a/modules/python/CMakeLists.txt ++++ b/modules/python/CMakeLists.txt +@@ -1,10 +1,10 @@ + include(CMakeSources.cmake) + set(MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}) + ++find_package(Python COMPONENTS Interpreter Development) + find_package(pybind11 CONFIG REQUIRED) + +- +-if (WIN32) ++if (FALSE) + ## We need pyton dll + file(GLOB PYTHON_DLL ${PYTHON_LIBRARIES}/../*.dll) + +@@ -19,6 +19,6 @@ endif () + + CREATE_MODULE(shiva::pyscripting "${MODULE_SOURCES}" ${MODULE_PATH} "python") + +-target_link_libraries(pyscripting INTERFACE shiva::ecs shiva::input pybind11::embed pybind11::module) ++target_link_libraries(pyscripting INTERFACE shiva::ecs shiva::input pybind11::embed pybind11::module Python::Module) + + AUTO_TARGETS_MODULE_INSTALL(pyscripting) diff --git a/ports/shiva/portfile.cmake b/ports/shiva/portfile.cmake index 72beec0e05fd03..ad653af733b30f 100644 --- a/ports/shiva/portfile.cmake +++ b/ports/shiva/portfile.cmake @@ -1,24 +1,22 @@ -vcpkg_find_acquire_program(PYTHON2) - vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO Milerius/shiva - REF 1.0 - SHA512 d1ce33e89b17fa8f82e21b51dfa1308e38c617fea52c34a20b7b6c8643318280df24c043238ddd73ba2dbc139c5b5de1c2cb3add1f5629a54694c78b415d73d1 - HEAD_REF master + OUT_SOURCE_PATH SOURCE_PATH + REPO Milerius/shiva + REF ${VERSION} + SHA512 d1ce33e89b17fa8f82e21b51dfa1308e38c617fea52c34a20b7b6c8643318280df24c043238ddd73ba2dbc139c5b5de1c2cb3add1f5629a54694c78b415d73d1 + HEAD_REF master + PATCHES find_python_and_no_copy_dll.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + DISABLE_PARALLEL_CONFIGURE OPTIONS - -DSHIVA_BUILD_TESTS=OFF - -DPYTHON_EXECUTABLE=${PYTHON2} + -DSHIVA_BUILD_TESTS=OFF + "-DPYTHON_EXECUTABLE=${CURRENT_INSTALLED_DIR}/tools/python3/python${VCPKG_EXECUTABLE_SUFFIX}" ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/shiva) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${PORT}") -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib) -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/shiva) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/shiva/LICENSE ${CURRENT_PACKAGES_DIR}/share/shiva/copyright) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug" "${CURRENT_PACKAGES_DIR}/lib") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/shiva/vcpkg.json b/ports/shiva/vcpkg.json index d080dd5a026c84..2b9f53608c5694 100644 --- a/ports/shiva/vcpkg.json +++ b/ports/shiva/vcpkg.json @@ -1,9 +1,11 @@ { "name": "shiva", - "version-string": "1.0", - "port-version": 4, + "version": "1.0", + "port-version": 7, "description": "Modern C++ Game Engine", "homepage": "https://github.com/Milerius/shiva", + "license": "MIT", + "supports": "!(static & windows)", "dependencies": [ "boost-dll", "boost-filesystem", @@ -16,7 +18,16 @@ }, "nlohmann-json", "pybind11", + "python3", "sol2", - "spdlog" + "spdlog", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/shogun/cmake-config.in.patch b/ports/shogun/cmake-config.in.patch deleted file mode 100644 index 8ee2a13430e73e..00000000000000 --- a/ports/shogun/cmake-config.in.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff --git a/cmake/ShogunConfig.cmake.in b/cmake/ShogunConfig.cmake.in -index e8e8035..a5097cb 100644 ---- a/cmake/ShogunConfig.cmake.in -+++ b/cmake/ShogunConfig.cmake.in -@@ -2,5 +2,5 @@ - - set_and_check(shogun_INCLUDE_DIR "@PACKAGE_INCLUDE_INSTALL_DIR@") - --include("@PACKAGE_CONFIG_PACKAGE_DIR@/ShogunTargets.cmake") -+include("@PACKAGE_CONFIG_PACKAGE_DIR@/../../../share/shogun/ShogunTargets.cmake") - check_required_components(shogun) diff --git a/ports/shogun/cmake.patch b/ports/shogun/cmake.patch index 16f1c3ad45640e..77eb04c954c5fd 100644 --- a/ports/shogun/cmake.patch +++ b/ports/shogun/cmake.patch @@ -1,73 +1,93 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 6c48bed..6f97c8b 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -60,8 +60,8 @@ SET(SYSTEM_C_FLAGS "${CMAKE_C_FLAGS}") - SET(SYSTEM_CXX_FLAGS "${CMAKE_CXX_FLAGS}") - STRING(TOUPPER "${CMAKE_BUILD_TYPE}" BUILD_TYPE_UC) - IF(NOT ("${BUILD_TYPE_UC}" STREQUAL "DISTRIBUTION")) -- SET(CMAKE_C_FLAGS "") -- SET(CMAKE_CXX_FLAGS "") -+# SET(CMAKE_C_FLAGS "") -+# SET(CMAKE_CXX_FLAGS "") - ENDIF(NOT ("${BUILD_TYPE_UC}" STREQUAL "DISTRIBUTION")) - - # CCACHE -@@ -184,12 +184,12 @@ SET(SWIG_CXX_COMPILER_FLAGS "-O0 -g") - SET(CMAKE_C_FLAGS "${COMPILER_WARNINGS} ${CMAKE_C_FLAGS}") - SET(CMAKE_CXX_FLAGS "${COMPILER_WARNINGS} ${CMAKE_CXX_FLAGS}") - IF(MSVC) -- SET(CMAKE_C_FLAGS_RELEASE "/O2 ${RELEASE_COMPILER_FLAGS}") -- SET(CMAKE_CXX_FLAGS_RELEASE "/O2 ${RELEASE_COMPILER_FLAGS}") -- SET(CMAKE_C_FLAGS_DISTRIBUTION "/Ot") -- SET(CMAKE_CXX_FLAGS_DISTRIBUTION "/Ot") -- SET(CMAKE_C_FLAGS_DEBUG "/DEBUG /Od /Zi") -- SET(CMAKE_CXX_FLAGS_DEBUG "/DEBUG /Od /Zi") -+ # SET(CMAKE_C_FLAGS_RELEASE "/O2 ${RELEASE_COMPILER_FLAGS}") -+ # SET(CMAKE_CXX_FLAGS_RELEASE "/O2 ${RELEASE_COMPILER_FLAGS}") -+ # SET(CMAKE_C_FLAGS_DISTRIBUTION "/Ot") -+ # SET(CMAKE_CXX_FLAGS_DISTRIBUTION "/Ot") -+ # SET(CMAKE_C_FLAGS_DEBUG "/DEBUG /Od /Zi") -+ # SET(CMAKE_CXX_FLAGS_DEBUG "/DEBUG /Od /Zi") - add_compile_options("/bigobj") - ELSE() - SET(CMAKE_C_FLAGS_RELEASE "-O3 ${RELEASE_COMPILER_FLAGS}") -diff --git a/cmake/version.cmake b/cmake/version.cmake -index fbca111..f6847f7 100644 ---- a/cmake/version.cmake -+++ b/cmake/version.cmake -@@ -5,7 +5,7 @@ SET(MAINVERSION ${VERSION}) - - SET(EXTRA "") - --IF(EXISTS "${ROOT_DIR}/.git/") -+IF(EXISTS "${ROOT_DIR}/.git/" AND FALSE) - FIND_PACKAGE(Git QUIET) - IF (NOT GIT_FOUND) - MESSAGE(FATAL_ERROR "The source is checked out from a git repository, but cannot find git executable!") -diff --git a/src/shogun/CMakeLists.txt b/src/shogun/CMakeLists.txt -index 9e79786..fd76961 100644 ---- a/src/shogun/CMakeLists.txt -+++ b/src/shogun/CMakeLists.txt -@@ -145,7 +145,7 @@ endif() - # add target for static library if enabled - if (LIBSHOGUN_BUILD_STATIC) - add_library(shogun-static STATIC $ ${CMAKE_CURRENT_BINARY_DIR}/lib/config.h) -- set_property(TARGET shogun-static PROPERTY OUTPUT_NAME shogun) -+ set_property(TARGET shogun-static PROPERTY OUTPUT_NAME libshogun) - target_include_directories(shogun-static PUBLIC - $ - $ -@@ -492,10 +492,12 @@ ELSE() - ENDIF() - - # set the desidered targets to be installed -+if(NOT INSTALL_TARGETS) - set(INSTALL_TARGETS shogun) - if (LIBSHOGUN_BUILD_STATIC) - LIST(APPEND INSTALL_TARGETS shogun-static) - endif() -+endif() - - INSTALL( - TARGETS ${INSTALL_TARGETS} +diff --git a/CMakeLists.txt b/CMakeLists.txt +index cb06e0cd3..e207fd5ef 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -113,8 +113,6 @@ SET(SYSTEM_C_FLAGS "${CMAKE_C_FLAGS}") + SET(SYSTEM_CXX_FLAGS "${CMAKE_CXX_FLAGS}") + STRING(TOUPPER "${CMAKE_BUILD_TYPE}" BUILD_TYPE_UC) + IF(NOT ("${BUILD_TYPE_UC}" STREQUAL "DISTRIBUTION")) +- SET(CMAKE_C_FLAGS "") +- SET(CMAKE_CXX_FLAGS "") + ENDIF(NOT ("${BUILD_TYPE_UC}" STREQUAL "DISTRIBUTION")) + + # compilation cache +@@ -250,12 +248,6 @@ ELSEIF(${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang") + SET(RELEASE_COMPILER_FLAGS "-funroll-loops") + ENDIF() + IF(MSVC) +- SET(CMAKE_C_FLAGS_RELEASE "/O2 ${RELEASE_COMPILER_FLAGS}") +- SET(CMAKE_CXX_FLAGS_RELEASE "/O2 ${RELEASE_COMPILER_FLAGS}") +- SET(CMAKE_C_FLAGS_DISTRIBUTION "/Ot") +- SET(CMAKE_CXX_FLAGS_DISTRIBUTION "/Ot") +- SET(CMAKE_C_FLAGS_DEBUG "/DEBUG /Od /Zi") +- SET(CMAKE_CXX_FLAGS_DEBUG "/DEBUG /Od /Zi") + add_compile_options("/bigobj") + SET(SWIG_CXX_COMPILER_FLAGS "/DEBUG /Od /Zi") + ELSE() +diff --git a/cmake/version.cmake b/cmake/version.cmake +index f588caef3..204bc0c27 100644 +--- a/cmake/version.cmake ++++ b/cmake/version.cmake +@@ -5,7 +5,7 @@ SET(MAINVERSION ${VERSION}) + + SET(EXTRA "") + +-IF(EXISTS "${ROOT_DIR}/.git/") ++IF(0) + FIND_PACKAGE(Git QUIET) + IF (NOT GIT_FOUND) + MESSAGE(FATAL_ERROR "The source is checked out from a git repository, but cannot find git executable!") +diff --git a/src/shogun/CMakeLists.txt b/src/shogun/CMakeLists.txt +index 20c4b4fa6..8fcbd87ed 100644 +--- a/src/shogun/CMakeLists.txt ++++ b/src/shogun/CMakeLists.txt +@@ -42,7 +42,6 @@ ELSE() + ENDIF() + set(INCLUDE_INSTALL_DIR include) + set(THIRD_PARTY_INCLUDE_DIR ${CMAKE_CURRENT_BINARY_DIR}/third_party) +-set(SHOGUN_CLING_LIBRARY_DIR "\"${CMAKE_INSTALL_PREFIX}/${SHOGUN_LIB_INSTALL}\"") + + if (MSVC OR BUILD_BENCHMARKS) + SET(LIBSHOGUN_BUILD_STATIC ON +@@ -159,7 +158,7 @@ ENDIF() + # add target for static library if enabled + if (LIBSHOGUN_BUILD_STATIC) + add_library(shogun-static STATIC $ ${CMAKE_CURRENT_BINARY_DIR}/lib/config.h) +- set_property(TARGET shogun-static PROPERTY OUTPUT_NAME shogun) ++ set_property(TARGET shogun-static PROPERTY OUTPUT_NAME libshogun) + target_include_directories(shogun-static PUBLIC + $ + $ +@@ -441,7 +440,7 @@ if (NOT RapidJSON_FOUND) + endif() + SHOGUN_INCLUDE_DIRS(SCOPE PRIVATE ${RAPIDJSON_INCLUDE_DIRS}) + +-include(external/bitsery) ++find_package(bitsery) + SHOGUN_INCLUDE_DIRS(SCOPE PRIVATE ${BITSERY_INCLUDE_DIR}) + + if (NOT WIN32) +@@ -631,10 +630,6 @@ INSTALL( + PATTERN ".settings" EXCLUDE) + + # set the desidered targets to be installed +-set(INSTALL_TARGETS shogun) +-if (LIBSHOGUN_BUILD_STATIC) +- LIST(APPEND INSTALL_TARGETS shogun-static) +-endif() + + INSTALL( + TARGETS ${INSTALL_TARGETS} +@@ -645,10 +640,10 @@ INSTALL( + INCLUDES DESTINATION ${INCLUDE_INSTALL_DIR} + ) + +-file(TO_CMAKE_PATH ${SHOGUN_LIB_INSTALL}/cmake/shogun CONFIG_PACKAGE_DIR) ++file(TO_CMAKE_PATH share/shogun CONFIG_PACKAGE_DIR) + configure_package_config_file( + ${CMAKE_SOURCE_DIR}/cmake/ShogunConfig.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/ShogunConfig.cmake +- INSTALL_DESTINATION ${SHOGUN_LIB_INSTALL}/cmake/shogun ++ INSTALL_DESTINATION share/shogun + PATH_VARS INCLUDE_INSTALL_DIR CONFIG_PACKAGE_DIR) + + write_basic_package_version_file( diff --git a/ports/shogun/eigen-3.4.patch b/ports/shogun/eigen-3.4.patch new file mode 100644 index 00000000000000..727cbe44b5217c --- /dev/null +++ b/ports/shogun/eigen-3.4.patch @@ -0,0 +1,89 @@ +diff --git a/src/shogun/CMakeLists.txt b/src/shogun/CMakeLists.txt +index 31a0d2c7b..e700bd7c7 100644 +--- a/src/shogun/CMakeLists.txt ++++ b/src/shogun/CMakeLists.txt +@@ -307,7 +307,7 @@ IF(NOT EIGEN3_FOUND) + ) + ELSE() + # https://github.com/shogun-toolbox/shogun/issues/4870 +- IF(${EIGEN3_VERSION_STRING} VERSION_GREATER 3.3.9) ++ IF(0) + MESSAGE(FATAL_ERROR "The system Eigen3 version ${EIGEN3_VERSION_STRING} isn't supported!") + ENDIF() + SHOGUN_INCLUDE_DIRS(SCOPE PUBLIC SYSTEM ${EIGEN3_INCLUDE_DIR}) +diff --git a/src/shogun/machine/gp/MultiLaplaceInferenceMethod.cpp b/src/shogun/machine/gp/MultiLaplaceInferenceMethod.cpp +index a1677177e..0c9ca8f78 100644 +--- a/src/shogun/machine/gp/MultiLaplaceInferenceMethod.cpp ++++ b/src/shogun/machine/gp/MultiLaplaceInferenceMethod.cpp +@@ -87,10 +87,10 @@ public: + float64_t result=0; + for(index_t bl=0; blblock(bl * n, 0, n, 1) * std::exp(log_scale * 2.0); +- result+=alpha->block(bl*n,0,n,1).dot(eigen_f.block(bl*n,0,n,1))/2.0; +- eigen_f.block(bl*n,0,n,1)+=eigen_m; ++ eigen_f.segment(bl * n, n) = ++ K * alpha->segment(bl * n, n) * std::exp(log_scale * 2.0); ++ result+=alpha->segment(bl*n,n).dot(eigen_f.segment(bl*n,n))/2.0; ++ eigen_f.segment(bl*n,n)+=eigen_m; + } + + // get first and second derivatives of log likelihood +@@ -278,9 +278,9 @@ void MultiLaplaceInferenceMethod::update_alpha() + { + Map alpha(m_alpha.vector, m_alpha.vlen); + for(index_t bl=0; bl chol_tmp( + (eigen_sD * eigen_sD.transpose()) + .cwiseProduct(eigen_ktrtr * std::exp(m_log_scale * 2.0)) + +@@ -351,14 +351,14 @@ void MultiLaplaceInferenceMethod::update_alpha() + VectorXd tmp2=m_tmp.array().rowwise().sum(); + + for(index_t bl=0; bl &eigen_c=eigen_W; + for(index_t bl=0; bl c_tmp(eigen_c.data(),n,C); + +@@ -422,7 +422,7 @@ float64_t MultiLaplaceInferenceMethod::get_derivative_helper(SGMatrix + { + result+=((eigen_E.block(0,bl*n,n,n)-eigen_U.block(0,bl*n,n,n).transpose()*eigen_U.block(0,bl*n,n,n)).array() + *eigen_dK.array()).sum(); +- result-=(eigen_dK*eigen_alpha.block(bl*n,0,n,1)).dot(eigen_alpha.block(bl*n,0,n,1)); ++ result-=(eigen_dK*eigen_alpha.segment(bl*n,n)).dot(eigen_alpha.segment(bl*n,n)); + } + + return result/2.0; +@@ -504,7 +504,7 @@ SGVector MultiLaplaceInferenceMethod::get_derivative_wrt_mean( + result[i]=0; + //currently only compute the explicit term + for(index_t bl=0; bl - #include - #include -+#include - - #ifdef HAVE_CXX11 - #include +diff --git a/src/shogun/base/Parallel.cpp b/src/shogun/base/Parallel.cpp +index ad12280fa..a34a24706 100644 +--- a/src/shogun/base/Parallel.cpp ++++ b/src/shogun/base/Parallel.cpp +@@ -9,6 +9,7 @@ + #include + #include + #include ++#include + + #include + diff --git a/ports/shogun/fix-build-error-with-fmt11.patch b/ports/shogun/fix-build-error-with-fmt11.patch new file mode 100644 index 00000000000000..2cf7e09807c10d --- /dev/null +++ b/ports/shogun/fix-build-error-with-fmt11.patch @@ -0,0 +1,24 @@ +diff --git a/src/shogun/labels/BinaryLabelEncoder.h b/src/shogun/labels/BinaryLabelEncoder.h +index 5bcd57e..69ed63e 100644 +--- a/src/shogun/labels/BinaryLabelEncoder.h ++++ b/src/shogun/labels/BinaryLabelEncoder.h +@@ -14,6 +14,7 @@ + #include + #include + #include ++#include + namespace shogun + { + /** @brief Implements a reversible mapping from +diff --git a/src/shogun/labels/MulticlassLabelsEncoder.h b/src/shogun/labels/MulticlassLabelsEncoder.h +index 41e9855..04151e4 100644 +--- a/src/shogun/labels/MulticlassLabelsEncoder.h ++++ b/src/shogun/labels/MulticlassLabelsEncoder.h +@@ -13,6 +13,7 @@ + #include + #include + #include ++#include + + namespace shogun + { diff --git a/ports/shogun/fix-dirent.patch b/ports/shogun/fix-dirent.patch deleted file mode 100644 index f45102356d00c0..00000000000000 --- a/ports/shogun/fix-dirent.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/src/shogun/CMakeLists.txt b/src/shogun/CMakeLists.txt -index fd76961..396251c 100644 ---- a/src/shogun/CMakeLists.txt -+++ b/src/shogun/CMakeLists.txt -@@ -170,10 +170,10 @@ IF(MSVC) - ENDIF() - - # bundle dirent -- include(external/MSDirent) -+ find_path(MSDIRENT_INCLUDE_DIR NAMES dirent.h) - SHOGUN_INCLUDE_DIRS(SCOPE PUBLIC - $ -- $ -+ $ - ) - - target_link_libraries(shogun PUBLIC winmm) diff --git a/ports/shogun/fmt.patch b/ports/shogun/fmt.patch new file mode 100644 index 00000000000000..281b1bacaa4da6 --- /dev/null +++ b/ports/shogun/fmt.patch @@ -0,0 +1,216 @@ +diff --git a/src/shogun/classifier/mkl/MKL.cpp b/src/shogun/classifier/mkl/MKL.cpp +index 2622df919..1a36aa513 100644 +--- a/src/shogun/classifier/mkl/MKL.cpp ++++ b/src/shogun/classifier/mkl/MKL.cpp +@@ -369,7 +369,7 @@ bool MKL::train_machine(std::shared_ptr data) + io::info("mkl_epsilon = %1.1e", mkl_epsilon); + io::info("C_mkl = %1.1e", C_mkl); + io::info("mkl_norm = %1.3e", mkl_norm); +- io::info("solver = {}", get_solver_type()); ++ io::info("solver = {}", (int)get_solver_type()); + io::info("ent_lambda = {}", ent_lambda); + io::info("mkl_block_norm = {}", mkl_block_norm); + +diff --git a/src/shogun/classifier/mkl/MKLMulticlass.cpp b/src/shogun/classifier/mkl/MKLMulticlass.cpp +index b50876f14..dc0f80e8a 100644 +--- a/src/shogun/classifier/mkl/MKLMulticlass.cpp ++++ b/src/shogun/classifier/mkl/MKLMulticlass.cpp +@@ -104,7 +104,7 @@ void MKLMulticlass::initlpsolver() + { + error("MKLMulticlass::initlpsolver(): given kernel is not of type" + " K_COMBINED {} required by Multiclass Mkl \n", +- m_kernel->get_kernel_type()); ++ (int)m_kernel->get_kernel_type()); + } + + int numker=std::dynamic_pointer_cast(m_kernel)->get_num_subkernels(); +diff --git a/src/shogun/evaluation/ROCEvaluation.cpp b/src/shogun/evaluation/ROCEvaluation.cpp +index 482f06528..58595c844 100644 +--- a/src/shogun/evaluation/ROCEvaluation.cpp ++++ b/src/shogun/evaluation/ROCEvaluation.cpp +@@ -30,11 +30,11 @@ float64_t ROCEvaluation::evaluate(std::shared_ptr predicted, std::shared + require( + predicted->get_label_type() == LT_BINARY, + "Given predicted labels ({}) must be binary ({}).", +- predicted->get_label_type(), LT_BINARY); ++ (int)predicted->get_label_type(), (int)LT_BINARY); + require( + ground_truth->get_label_type() == LT_BINARY, + "Given ground truth labels ({}) must be binary ({}).", +- ground_truth->get_label_type(), LT_BINARY); ++ (int)ground_truth->get_label_type(), (int)LT_BINARY); + + return evaluate_roc(binary_labels(predicted),binary_labels(ground_truth)); + } +diff --git a/src/shogun/io/SGIO.h b/src/shogun/io/SGIO.h +index 336e35b03..0ba7b2c0b 100644 +--- a/src/shogun/io/SGIO.h ++++ b/src/shogun/io/SGIO.h +@@ -307,7 +307,7 @@ namespace shogun + if (should_log(prio)) + { + fmt::memory_buffer msg; +- fmt::format_to(msg, format, std::forward(args)...); ++ fmt::format_to(std::back_inserter(msg), format, std::forward(args)...); + message_(prio, loc, fmt::string_view(msg.data(), msg.size())); + } + } +@@ -357,7 +357,7 @@ namespace shogun + "ExceptionType must be nothrow copy constructible"); + + fmt::memory_buffer msg; +- fmt::format_to(msg, format, std::forward(args)...); ++ fmt::format_to(std::back_inserter(msg), format, std::forward(args)...); + msg.push_back('\0'); + env()->io()->message(io::MSG_ERROR, loc, msg.data()); + throw ExceptionType(msg.data()); +diff --git a/src/shogun/io/serialization/JsonDeserializer.cpp b/src/shogun/io/serialization/JsonDeserializer.cpp +index 24fd30edd..7667e34d3 100644 +--- a/src/shogun/io/serialization/JsonDeserializer.cpp ++++ b/src/shogun/io/serialization/JsonDeserializer.cpp +@@ -49,7 +49,7 @@ public: + void on(std::vector::reference* v) override + { + *v = next_element(&ValueType::GetBool); +- SG_DEBUG("read bool with value {}", *v); ++ SG_DEBUG("read bool with value {}", (bool)*v); + } + void on(char* v) override + { +diff --git a/src/shogun/io/serialization/JsonSerializer.cpp b/src/shogun/io/serialization/JsonSerializer.cpp +index 22c99ec5c..530a14525 100644 +--- a/src/shogun/io/serialization/JsonSerializer.cpp ++++ b/src/shogun/io/serialization/JsonSerializer.cpp +@@ -62,7 +62,7 @@ public: + } + void on(std::vector::reference* v) override + { +- SG_DEBUG("writing bool with value {}", *v); ++ SG_DEBUG("writing bool with value {}", (bool)*v); + m_json_writer.Bool(*v); + close_container(); + } +diff --git a/src/shogun/kernel/CustomKernel.cpp b/src/shogun/kernel/CustomKernel.cpp +index 06a7e7abd..78be0ef6f 100644 +--- a/src/shogun/kernel/CustomKernel.cpp ++++ b/src/shogun/kernel/CustomKernel.cpp +@@ -112,10 +112,10 @@ bool CustomKernel::init(std::shared_ptr l, std::shared_ptr r + /* Make sure l and r have the same type of CFeatures */ + require(l->get_feature_class()==r->get_feature_class(), + "Different FeatureClass: l is {}, r is {}", +- l->get_feature_class(),r->get_feature_class()); ++ (int)l->get_feature_class(),(int)r->get_feature_class()); + require(l->get_feature_type()==r->get_feature_type(), + "Different FeatureType: l is {}, r is {}", +- l->get_feature_type(),r->get_feature_type()); ++ (int)l->get_feature_type(),(int)r->get_feature_type()); + + /* If l and r are the type of IndexFeatures, + * the init function adds a subset to kernel matrix. +diff --git a/src/shogun/preprocessor/DensePreprocessor.cpp b/src/shogun/preprocessor/DensePreprocessor.cpp +index 56de8a9e6..05cd9a32e 100644 +--- a/src/shogun/preprocessor/DensePreprocessor.cpp ++++ b/src/shogun/preprocessor/DensePreprocessor.cpp +@@ -90,7 +90,7 @@ std::shared_ptr DensePreprocessor::transform(std::shared_ptrget_feature_class()==C_DENSE, "Provided features ({}) " + "has to be of C_DENSE ({}) class!", +- features->get_feature_class(), C_DENSE); ++ (int)features->get_feature_class(), (int)C_DENSE); + + auto matrix = features->as>()->get_feature_matrix(); + if (!inplace) +@@ -107,7 +107,7 @@ DensePreprocessor::inverse_transform(std::shared_ptr features, boo + features->get_feature_class() == C_DENSE, + "Provided features ({}) " + "has to be of C_DENSE ({}) class!", +- features->get_feature_class(), C_DENSE); ++ (int)features->get_feature_class(), (int)C_DENSE); + + auto matrix = features->as>()->get_feature_matrix(); + if (!inplace) +diff --git a/src/shogun/preprocessor/KernelPCA.cpp b/src/shogun/preprocessor/KernelPCA.cpp +index 6709f67cd..0707f3db9 100644 +--- a/src/shogun/preprocessor/KernelPCA.cpp ++++ b/src/shogun/preprocessor/KernelPCA.cpp +@@ -125,7 +125,7 @@ std::shared_ptr KernelPCA::transform(std::shared_ptr feature + return apply_to_string_features(features); + } + +- error("Feature type {} not supported", features->get_feature_type()); ++ error("Feature type {} not supported", (int)features->get_feature_type()); + return NULL; + } + +diff --git a/src/shogun/preprocessor/StringPreprocessor.cpp b/src/shogun/preprocessor/StringPreprocessor.cpp +index c0c342b82..87629b5cb 100644 +--- a/src/shogun/preprocessor/StringPreprocessor.cpp ++++ b/src/shogun/preprocessor/StringPreprocessor.cpp +@@ -95,7 +95,7 @@ namespace shogun + features->get_feature_class() == C_STRING, + "Provided features ({}) " + "has to be of C_STRING ({}) class!", +- features->get_feature_class(), C_STRING); ++ (int)features->get_feature_class(), (int)C_STRING); + + + +diff --git a/src/shogun/structure/BeliefPropagation.cpp b/src/shogun/structure/BeliefPropagation.cpp +index e54228917..96b90c458 100644 +--- a/src/shogun/structure/BeliefPropagation.cpp ++++ b/src/shogun/structure/BeliefPropagation.cpp +@@ -248,7 +248,7 @@ void TreeMaxProduct::bottom_up_pass() + for (uint32_t mi = 0; mi < m_msg_order.size(); ++mi) + { + SG_DEBUG("mi = {}, mtype: {} {} -> {}", mi, +- m_msg_order[mi]->mtype, m_msg_order[mi]->child, m_msg_order[mi]->parent); ++ (int)m_msg_order[mi]->mtype, m_msg_order[mi]->child, m_msg_order[mi]->parent); + + if (m_msg_order[mi]->mtype == VAR_TO_FAC) // var -> factor + { +@@ -392,7 +392,7 @@ void TreeMaxProduct::top_down_pass() + for (int32_t mi = (int32_t)(m_msg_order.size()-1); mi >= 0; --mi) + { + SG_DEBUG("mi = {}, mtype: {} {} <- {}", mi, +- m_msg_order[mi]->mtype, m_msg_order[mi]->child, m_msg_order[mi]->parent); ++ (int)m_msg_order[mi]->mtype, m_msg_order[mi]->child, m_msg_order[mi]->parent); + + if (m_msg_order[mi]->mtype == FAC_TO_VAR) // factor <- var + { +diff --git a/src/shogun/structure/CCSOSVM.cpp b/src/shogun/structure/CCSOSVM.cpp +index 8dd920ad8..8267a402c 100644 +--- a/src/shogun/structure/CCSOSVM.cpp ++++ b/src/shogun/structure/CCSOSVM.cpp +@@ -321,7 +321,7 @@ bool CCSOSVM::train_machine(std::shared_ptr data) + proximal_rhs[i] = (1+rho)*delta[i] - rho*gammaG0[i]; + break; + default: +- error("Invalid QPType: {}", m_qp_type); ++ error("Invalid QPType: {}", (int)m_qp_type); + } + } + +@@ -351,7 +351,7 @@ bool CCSOSVM::train_machine(std::shared_ptr data) + */ + break; + default: +- error("Invalid QPType: {}", m_qp_type); ++ error("Invalid QPType: {}", (int)m_qp_type); + } + + /* DEBUG */ +@@ -697,12 +697,12 @@ void CCSOSVM::init() + + /* check return code */ + if (r != MSK_RES_OK) +- error("Error while creating mosek env: {}", r); ++ error("Error while creating mosek env: {}", (int)r); + + /* initialize the environment */ + r = MSK_initenv(m_msk_env); + if (r != MSK_RES_OK) +- error("Error while initializing mosek env: {}", r); ++ error("Error while initializing mosek env: {}", (int)r); + #endif + + SG_ADD(&m_C, "m_C", "C"); diff --git a/ports/shogun/portfile.cmake b/ports/shogun/portfile.cmake index 05ca61af0811c7..52cdca2fa4b2c3 100644 --- a/ports/shogun/portfile.cmake +++ b/ports/shogun/portfile.cmake @@ -3,23 +3,42 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO shogun-toolbox/shogun - REF ab274e7ab6bf24dd598c1daf1e626cb686d6e1cc - SHA512 fb90e5bf802c6fd59bf35ab7bbde5e8cfcdc5d46c69c52097140b30c6b29e28b8341dd1ece7f8a1f9d9123f4bc06d44d288584ce7dfddccf3d33fe05106884ae + REF 8f01b2b9e4de46a38bf70cdb603db75ebfd4b58b + SHA512 24bd0e3e2a599e81432f59bd6ebc514729453cfe808541f6842dc57e2eff329e52a3e3575580bf84b2d4768209fa2624295e4e9cdcdc656dd48a8ab66bc6dbc6 HEAD_REF master PATCHES cmake.patch - cmake-config.in.patch - fix-dirent.patch + eigen-3.4.patch fix-ASSERT-not-found.patch + fmt.patch + syntax.patch + remove-bitsery.patch + fix-build-error-with-fmt11.patch ) vcpkg_find_acquire_program(PYTHON3) get_filename_component(PYTHON3_DIR "${PYTHON3}" DIRECTORY) -vcpkg_add_to_path(${PYTHON3_DIR}) +vcpkg_add_to_path("${PYTHON3_DIR}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +# Shogun only checks libraries for symbols and assumes everything is fine. +# However openblas requires extra includes and mkl would require extra defines +# So get the needed flags via the pkg-config files. + +x_vcpkg_pkgconfig_get_modules(PREFIX PC_BLAS_LAPACK MODULES lapack blas CFLAGS) + +string(APPEND VCPKG_C_FLAGS_RELEASE " ${PC_BLAS_LAPACK_CFLAGS_RELEASE}") +string(APPEND VCPKG_CXX_FLAGS_RELEASE " ${PC_BLAS_LAPACK_CFLAGS_RELEASE}") + +string(APPEND VCPKG_C_FLAGS_DEBUG " ${PC_BLAS_LAPACK_CFLAGS_DEBUG}") +string(APPEND VCPKG_CXX_FLAGS_DEBUG " ${PC_BLAS_LAPACK_CFLAGS_DEBUG}") + +if(VCPKG_TARGET_IS_OSX) + # Eigen3 and accelerate disagree on prototypes for lapack generating compiler errors + set(extra_opts -DENABLE_EIGEN_LAPACK=OFF) +endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_META_EXAMPLES=OFF -DBUILD_EXAMPLES=OFF @@ -27,7 +46,6 @@ vcpkg_configure_cmake( -DENABLE_TESTING=OFF -DLICENSE_GPL_SHOGUN=OFF -DLIBSHOGUN_BUILD_STATIC=ON - -DCMAKE_DISABLE_FIND_PACKAGE_JSON=TRUE -DCMAKE_DISABLE_FIND_PACKAGE_ViennaCL=TRUE -DCMAKE_DISABLE_FIND_PACKAGE_TFLogger=TRUE -DCMAKE_DISABLE_FIND_PACKAGE_GLPK=TRUE @@ -37,23 +55,25 @@ vcpkg_configure_cmake( -DCMAKE_DISABLE_FIND_PACKAGE_LpSolve=TRUE -DCMAKE_DISABLE_FIND_PACKAGE_ColPack=TRUE -DCMAKE_DISABLE_FIND_PACKAGE_ARPREC=TRUE - -DCMAKE_DISABLE_FIND_PACKAGE_Ctags=TRUE -DCMAKE_DISABLE_FIND_PACKAGE_CCache=TRUE -DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=TRUE -DCMAKE_DISABLE_FIND_PACKAGE_CURL=TRUE -DCMAKE_DISABLE_FIND_PACKAGE_OpenMP=TRUE + -DCMAKE_DISABLE_FIND_PACKAGE_bitsery=TRUE -DINSTALL_TARGETS=shogun-static + ${extra_opts} + -DCMAKE_CXX_STANDARD=14 # protobuf ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/shogun) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup() file(REMOVE_RECURSE # This directory is empty given the settings above - ${CURRENT_PACKAGES_DIR}/include/shogun/mathematics/linalg/backend - ${CURRENT_PACKAGES_DIR}/debug/include - ${CURRENT_PACKAGES_DIR}/debug/share + "${CURRENT_PACKAGES_DIR}/include/shogun/mathematics/linalg/backend" + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" ) # Handle copyright -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/shogun/remove-bitsery.patch b/ports/shogun/remove-bitsery.patch new file mode 100644 index 00000000000000..9bcb92d24db812 --- /dev/null +++ b/ports/shogun/remove-bitsery.patch @@ -0,0 +1,51 @@ +diff --git a/src/interfaces/swig/SGBase.i b/src/interfaces/swig/SGBase.i +index 543a8ff00..4b4df8604 100644 +--- a/src/interfaces/swig/SGBase.i ++++ b/src/interfaces/swig/SGBase.i +@@ -504,10 +504,7 @@ namespace shogun + PyObject* __getstate__() + { + std::shared_ptr serializer = nullptr; +- if (pickle_ascii) + serializer = std::make_shared(); +- else +- serializer = std::make_shared(); + auto byte_stream = std::make_shared(); + serializer->attach(byte_stream); + serializer->write(std::shared_ptr($self)); +@@ -537,10 +534,7 @@ namespace shogun + PyString_AsStringAndSize(py_str, &str, &len); + #endif + std::shared_ptr deser = nullptr; +- if (pickle_ascii) + deser = std::make_shared(); +- else +- deser = std::make_shared(); + + auto byte_input_stream = std::make_shared(str, len); + deser->attach(byte_input_stream); +diff --git a/src/shogun/CMakeLists.txt b/src/shogun/CMakeLists.txt +index 20c4b4fa6..fa4be96f6 100644 +--- a/src/shogun/CMakeLists.txt ++++ b/src/shogun/CMakeLists.txt +@@ -12,6 +12,7 @@ include(CheckCXXSourceCompiles) + include(CMakePackageConfigHelpers) + + FILE(GLOB_RECURSE LIBSHOGUN_SRC *.${EXT_SRC_CPP} *.${EXT_SRC_C}) ++list(FILTER LIBSHOGUN_SRC EXCLUDE REGEX ".*(BitserySerializer\.cpp|BitseryDeserializer\.cpp)$") + FILE(GLOB_RECURSE LIBSHOGUN_HEADERS *.${EXT_SRC_HEADER}) + FILE(GLOB_RECURSE LIBSHOGUN_SRC_TMP *.${EXT_CPP_TMP}) + +diff --git a/src/shogun/base/class_list.cpp.py b/src/shogun/base/class_list.cpp.py +index 854d5dd1e..92c4379c1 100644 +--- a/src/shogun/base/class_list.cpp.py ++++ b/src/shogun/base/class_list.cpp.py +@@ -69,7 +69,7 @@ class_blacklist = ["SGVector", "SGMatrix", "SGSparseVector", "SGSparseMatrix", + "NumericalVGLikelihood", "SingleFITCInference", "VariationalGaussianLikelihood", + "RationalApproximation", "FirstOrderStochasticMinimizer", "IndependenceTest", + "TwoDistributionTest", "TwoSampleTest", "RealDistance", "BinaryClassEvaluation", +- "MomentumCorrection", "OneDistributionTest", "DependenceMaximization"] ++ "MomentumCorrection", "OneDistributionTest", "DependenceMaximization", "BitserySerializer", "BitseryDeserializer"] + + SHOGUN_TEMPLATE_CLASS = "SHOGUN_TEMPLATE_CLASS" + SHOGUN_BASIC_CLASS = "SHOGUN_BASIC_CLASS" diff --git a/ports/shogun/syntax.patch b/ports/shogun/syntax.patch new file mode 100644 index 00000000000000..fc3d22aa2d7df8 --- /dev/null +++ b/ports/shogun/syntax.patch @@ -0,0 +1,24 @@ +diff --git a/src/shogun/io/ShogunErrc.h b/src/shogun/io/ShogunErrc.h +index 6cb5619c5..98b08b494 100644 +--- a/src/shogun/io/ShogunErrc.h ++++ b/src/shogun/io/ShogunErrc.h +@@ -8,6 +8,7 @@ + #define SHOGUN_ERRORS_H__ + + #include ++#include + + #include + +diff --git a/src/shogun/mathematics/linalg/LinalgNamespace.h b/src/shogun/mathematics/linalg/LinalgNamespace.h +index 40888e00c..c4293e378 100644 +--- a/src/shogun/mathematics/linalg/LinalgNamespace.h ++++ b/src/shogun/mathematics/linalg/LinalgNamespace.h +@@ -1825,7 +1825,6 @@ namespace shogun + auto max_it = std::max_element(a_copy.begin(), a_copy.begin() + n); + result = (a_copy[n] + *max_it) / 2; + } +- } + + return result; + } diff --git a/ports/shogun/vcpkg.json b/ports/shogun/vcpkg.json index 6711f2bfbf11cd..7dfd5dfed82a05 100644 --- a/ports/shogun/vcpkg.json +++ b/ports/shogun/vcpkg.json @@ -1,22 +1,41 @@ { "name": "shogun", - "version-string": "6.1.4", - "port-version": 5, + "version-date": "2023-12-19", + "port-version": 1, "description": "Unified and efficient Machine Learning", "homepage": "https://github.com/shogun-toolbox/shogun", "dependencies": [ "blas", "bzip2", "curl", - "dirent", "eigen3", + { + "name": "hdf5", + "default-features": false, + "platform": "!windows" + }, + "lapack", "liblzma", "libxml2", "lzo", "nlopt", "protobuf", + "rapidjson", "rxcpp", "snappy", + "spdlog", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + { + "name": "vcpkg-pkgconfig-get-modules", + "host": true + }, "zlib" ] } diff --git a/ports/si/portfile.cmake b/ports/si/portfile.cmake new file mode 100644 index 00000000000000..4713cc79f72ae4 --- /dev/null +++ b/ports/si/portfile.cmake @@ -0,0 +1,25 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO bernedom/SI + REF "${VERSION}" + SHA512 499bf6cd1c68cf5195f15b94910d4f3973a040c2d217aab4eacaa29bfefc031b441639272cffb4b810fd27ff3a664d55284c1252da5e4504ebc768d1a3567f78 + HEAD_REF master +) + +set(VCPKG_BUILD_TYPE release) # header-only port + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DSI_INSTALL_LIBRARY=ON + -DSI_BUILD_TESTING=OFF + -DSI_BUILD_DOC=OFF +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME SI CONFIG_PATH share/SI/cmake) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") + +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/si/usage b/ports/si/usage new file mode 100644 index 00000000000000..d631117213dd36 --- /dev/null +++ b/ports/si/usage @@ -0,0 +1,4 @@ +si provides CMake targets: + + find_package(SI CONFIG REQUIRED) + target_link_libraries(main PRIVATE SI::SI) diff --git a/ports/si/vcpkg.json b/ports/si/vcpkg.json new file mode 100644 index 00000000000000..fb0068c885c7d6 --- /dev/null +++ b/ports/si/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "si", + "version": "2.5.1", + "description": "A header only C++ library that provides type safety and user defined literals for physical units", + "homepage": "https://si.dominikberner.ch/doc/", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/sigmatch/portfile.cmake b/ports/sigmatch/portfile.cmake new file mode 100644 index 00000000000000..afe05cca182f68 --- /dev/null +++ b/ports/sigmatch/portfile.cmake @@ -0,0 +1,22 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO SpriteOvO/sigmatch + REF v0.2.0 + SHA512 a2ae12bf2da4de4b4b65f443febca8bec5ded2cdcbfe5c166538869431558241883576fed04fc373b60fe5b5709c96a56110181d3b1c07dbb42ecfdddae74c06 + HEAD_REF main +) + +set(VCPKG_BUILD_TYPE release) # header-only + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DSIGMATCH_BUILD_TESTS=OFF +) +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/sigmatch) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") diff --git a/ports/sigmatch/vcpkg.json b/ports/sigmatch/vcpkg.json new file mode 100644 index 00000000000000..bf71d5aa96bf4e --- /dev/null +++ b/ports/sigmatch/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "sigmatch", + "version": "0.2.0", + "description": "Modern C++ 20 signature match / search library", + "homepage": "https://github.com/SpriteOvO/sigmatch", + "license": "Apache-2.0", + "supports": "windows & !uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/signalrclient/portfile.cmake b/ports/signalrclient/portfile.cmake index f66b3a2fca8995..57123270ba9a8d 100644 --- a/ports/signalrclient/portfile.cmake +++ b/ports/signalrclient/portfile.cmake @@ -1,3 +1,6 @@ +if(EXISTS ${CURRENT_INSTALLED_DIR}/share/microsoft-signalr/copyright) + message(FATAL_ERROR "'${PORT}' conflicts with 'microsoft-signalr'. Please remove microsoft-signalr:${TARGET_TRIPLET}, and try to install ${PORT}:${TARGET_TRIPLET} again.") +endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO SignalR/SignalR-Client-Cpp @@ -9,22 +12,20 @@ vcpkg_from_github( 0002_fix-compile-error.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS_DEBUG - -DCPPREST_SO=${CURRENT_INSTALLED_DIR}/debug/lib/cpprest_2_10d.lib + "-DCPPREST_SO=${CURRENT_INSTALLED_DIR}/debug/lib/cpprest_2_10d.lib" OPTIONS_RELEASE - -DCPPREST_SO=${CURRENT_INSTALLED_DIR}/lib/cpprest_2_10.lib + "-DCPPREST_SO=${CURRENT_INSTALLED_DIR}/lib/cpprest_2_10.lib" OPTIONS - -DCPPREST_INCLUDE_DIR=${CURRENT_INSTALLED_DIR}/include + "-DCPPREST_INCLUDE_DIR=${CURRENT_INSTALLED_DIR}/include" -DDISABLE_TESTS=ON ) -vcpkg_install_cmake() +vcpkg_cmake_install() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") # copy license -file(COPY ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/signalrclient) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/signalrclient/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/signalrclient/copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") diff --git a/ports/signalrclient/vcpkg.json b/ports/signalrclient/vcpkg.json index e2faf07bc3d67e..fdc21fb87986f4 100644 --- a/ports/signalrclient/vcpkg.json +++ b/ports/signalrclient/vcpkg.json @@ -1,17 +1,20 @@ { "name": "signalrclient", - "version-string": "1.0.0-beta1-9", - "port-version": 2, + "version": "1.0.0-beta1-9", + "port-version": 6, "description": "C++ client for SignalR.", "homepage": "https://github.com/SignalR/SignalR-Client-Cpp", "dependencies": [ { "name": "cpprestsdk", "features": [ - "default-features", "websockets" ] }, - "openssl" + "openssl", + { + "name": "vcpkg-cmake", + "host": true + } ] } diff --git a/ports/sigslot/vcpkg.json b/ports/sigslot/vcpkg.json index 20bf9b068a55d1..6b2cf02949f020 100644 --- a/ports/sigslot/vcpkg.json +++ b/ports/sigslot/vcpkg.json @@ -1,6 +1,6 @@ { "name": "sigslot", - "version-string": "1.0.0", - "port-version": 4, + "version": "1.0.0", + "port-version": 5, "description": "Portable C++ type-safe, thread-safe signal/slot library for ISO C++, Unix/BSD/Linux and Win32. Sigslot allows C++ code to use the signal/slot paradigm made popular by, for example, Qt." } diff --git a/ports/simage/portfile.cmake b/ports/simage/portfile.cmake index 6cf59953b934c8..f791c0e6f9ed33 100644 --- a/ports/simage/portfile.cmake +++ b/ports/simage/portfile.cmake @@ -1,12 +1,9 @@ -vcpkg_fail_port_install(ON_TARGET "uwp") - -set(SIMAGE_VERSION 1.8.1) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Coin3D/simage - REF 72bdc2fddb171ab08325ced9c4e04b27bbd2da6c #v1.8.1 - SHA512 8e0d4b246318e9a08d9a17e0550fae4e3902e5d14ff9d7e43569624d1ceb9308c1cbc2401cedc4bff4da8b136fc57fc6b11c6800f1db15914b13186b0d5dc8f1 + REF "v${VERSION}" + SHA512 42981f1dc67f17bc6bfc49ecbf035444b79ab467d5ece4310841856f5ec87d2b4352d5a7cb5713fb14ac5a25928f7d657fb74c93acdcd86b8b0dd89f26a5008a HEAD_REF master PATCHES requies-all-dependencies.patch ) @@ -32,13 +29,10 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS # Depends on the platform if(VCPKG_TARGET_IS_WINDOWS AND "gdiplus" IN_LIST FEATURES) message(WARNING "Feature 'gdiplus' will disable feature 'zlib', 'giflib', 'jpeg', 'png' and 'tiff' automaticly.") -elseif ((VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_OSX) - AND ("gdiplus" IN_LIST FEATURES OR "avienc" IN_LIST FEATURES)) - message(FATAL_ERROR "Feature 'avienc' and 'gdiplus' only support Windows.") endif() vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${FEATURE_OPTIONS} -DSIMAGE_BUILD_SHARED_LIBS:BOOL=${SIMAGE_BUILD_SHARED_LIBS} -DSIMAGE_USE_STATIC_LIBS:BOOL=${SIMAGE_USE_STATIC_LIBS} @@ -63,7 +57,7 @@ vcpkg_cmake_configure( vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/simage-${SIMAGE_VERSION}) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/simage-${VERSION}) if (NOT VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_MINGW) vcpkg_copy_tools(TOOL_NAMES simage-config AUTO_CLEAN) diff --git a/ports/simage/requies-all-dependencies.patch b/ports/simage/requies-all-dependencies.patch index ef0536a960c65e..a0765f8a9f0286 100644 --- a/ports/simage/requies-all-dependencies.patch +++ b/ports/simage/requies-all-dependencies.patch @@ -1,21 +1,28 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index d869715..073a73f 100644 +index ef92706..fee22e4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -117,10 +117,10 @@ endif() - # On Windows GDI+ supports GIF, JPEG, EXIF, PNG, and TIFF. - # see https://docs.microsoft.com/en-us/windows/desktop/gdiplus/-gdiplus-types-of-bitmaps-about - if(SIMAGE_USE_GDIPLUS) -- find_package(GdiPlus) -+ find_package(GdiPlus REQUIRED) +@@ -129,6 +129,9 @@ if(SIMAGE_USE_GDIPLUS) + } + " GDIPLUS_FOUND) + unset(CMAKE_REQUIRED_LIBRARIES) ++ if(NOT GDIPLUS_FOUND) ++ message(FATAL_ERROR "GDI+ is required on Windows.") ++ endif() endif() if(SIMAGE_USE_AVIENC) -- find_package(Vfw) -+ find_package(Vfw REQUIRED) + set(CMAKE_REQUIRED_LIBRARIES vfw32) +@@ -142,6 +145,9 @@ if(SIMAGE_USE_AVIENC) + } + " VFW_FOUND) + unset(CMAKE_REQUIRED_LIBRARIES) ++ if(NOT VFW_FOUND) ++ message(FATAL_ERROR "Video for Windows is required on Windows.") ++ endif() endif() # On macOS QuickTime supports BMP, GIF, JPEG, JPEG 2000, PNG, TIFF, and TGA. -@@ -267,7 +267,7 @@ if(SIMAGE_OGGVORBIS_SUPPORT) +@@ -286,7 +292,7 @@ if(SIMAGE_OGGVORBIS_SUPPORT) find_package(Ogg REQUIRED) find_package(Vorbis REQUIRED) if(OGG_FOUND) @@ -24,7 +31,7 @@ index d869715..073a73f 100644 endif() endif() -@@ -287,8 +287,8 @@ if(NOT SIMAGE_QUICKTIME_SUPPORT AND NOT SIMAGE_CGIMAGE_SUPPORT AND NOT SIMAGE_GD +@@ -306,8 +312,8 @@ if(NOT SIMAGE_QUICKTIME_SUPPORT AND NOT SIMAGE_CGIMAGE_SUPPORT AND NOT SIMAGE_GD if(SIMAGE_TIFF_SUPPORT) find_package(TIFF REQUIRED) if(TIFF_FOUND) diff --git a/ports/simage/vcpkg.json b/ports/simage/vcpkg.json index e01f4629d33962..346ea7217bd5c4 100644 --- a/ports/simage/vcpkg.json +++ b/ports/simage/vcpkg.json @@ -1,9 +1,9 @@ { "name": "simage", - "version-semver": "1.8.1", - "port-version": 3, + "version-semver": "1.8.3", "description": "Image file format library abstraction layer", "homepage": "https://github.com/coin3d/simage", + "license": "ISC", "supports": "!uwp", "dependencies": [ { @@ -95,10 +95,12 @@ ] }, "avienc": { - "description": "Use Video for Windows for AVI encoding" + "description": "Use Video for Windows for AVI encoding", + "supports": "windows" }, "gdiplus": { - "description": "Use GDI+ on Windows to load/save images" + "description": "Use GDI+ on Windows to load/save images", + "supports": "windows" }, "giflib": { "description": "Enable support for GIF images", @@ -129,8 +131,13 @@ "sndfile": { "description": "Use libsndfile to load/save sampled sound", "dependencies": [ - "libflac", - "libsndfile" + { + "name": "libsndfile", + "default-features": false, + "features": [ + "external-libs" + ] + } ] }, "tiff": { diff --git a/ports/simbody/common-name-libs.patch b/ports/simbody/common-name-libs.patch new file mode 100644 index 00000000000000..52d4845b34c62a --- /dev/null +++ b/ports/simbody/common-name-libs.patch @@ -0,0 +1,84 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1995170..7ddb018 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -174,25 +174,25 @@ FORCE) + + + set(SimTKCOMMON_SHARED_LIBRARY ${SimTKCOMMON_LIBRARY_NAME}) +-set(SimTKCOMMON_STATIC_LIBRARY ${SimTKCOMMON_LIBRARY_NAME}_static) ++set(SimTKCOMMON_STATIC_LIBRARY ${SimTKCOMMON_LIBRARY_NAME}) + + set(SimTKCOMMON_LIBRARY_NAME_VN ${NS}SimTKcommon${VN}) + set(SimTKCOMMON_SHARED_LIBRARY_VN ${SimTKCOMMON_LIBRARY_NAME_VN}) +-set(SimTKCOMMON_STATIC_LIBRARY_VN ${SimTKCOMMON_LIBRARY_NAME_VN}_static) ++set(SimTKCOMMON_STATIC_LIBRARY_VN ${SimTKCOMMON_LIBRARY_NAME_VN}) + + set(SimTKMATH_SHARED_LIBRARY ${SimTKMATH_LIBRARY_NAME}) +-set(SimTKMATH_STATIC_LIBRARY ${SimTKMATH_LIBRARY_NAME}_static) ++set(SimTKMATH_STATIC_LIBRARY ${SimTKMATH_LIBRARY_NAME}) + + set(SimTKMATH_LIBRARY_NAME_VN ${NS}SimTKmath${VN}) + set(SimTKMATH_SHARED_LIBRARY_VN ${SimTKMATH_LIBRARY_NAME_VN}) +-set(SimTKMATH_STATIC_LIBRARY_VN ${SimTKMATH_LIBRARY_NAME_VN}_static) ++set(SimTKMATH_STATIC_LIBRARY_VN ${SimTKMATH_LIBRARY_NAME_VN}) + + set(SimTKSIMBODY_SHARED_LIBRARY ${SimTKSIMBODY_LIBRARY_NAME}) +-set(SimTKSIMBODY_STATIC_LIBRARY ${SimTKSIMBODY_LIBRARY_NAME}_static) ++set(SimTKSIMBODY_STATIC_LIBRARY ${SimTKSIMBODY_LIBRARY_NAME}) + + set(SimTKSIMBODY_LIBRARY_NAME_VN ${NS}SimTKsimbody${VN}) + set(SimTKSIMBODY_SHARED_LIBRARY_VN ${SimTKSIMBODY_LIBRARY_NAME_VN}) +-set(SimTKSIMBODY_STATIC_LIBRARY_VN ${SimTKSIMBODY_LIBRARY_NAME_VN}_static) ++set(SimTKSIMBODY_STATIC_LIBRARY_VN ${SimTKSIMBODY_LIBRARY_NAME_VN}) + + + # Caution: this variable is automatically created by the CMake +diff --git a/SimTKcommon/CMakeLists.txt b/SimTKcommon/CMakeLists.txt +index 47839f5..84ad865 100644 +--- a/SimTKcommon/CMakeLists.txt ++++ b/SimTKcommon/CMakeLists.txt +@@ -86,9 +86,9 @@ endif(NEED_QUOTES) + # -DSimTKcommon_EXPORTS defined automatically when Windows DLL build is being done. + + set(SHARED_TARGET ${SimTKCOMMON_LIBRARY_NAME}) +-set(STATIC_TARGET ${SimTKCOMMON_LIBRARY_NAME}_static) ++set(STATIC_TARGET ${SimTKCOMMON_LIBRARY_NAME}) + set(SHARED_TARGET_VN ${SimTKCOMMON_LIBRARY_NAME}${VN}) +-set(STATIC_TARGET_VN ${SimTKCOMMON_LIBRARY_NAME}${VN}_static) ++set(STATIC_TARGET_VN ${SimTKCOMMON_LIBRARY_NAME}${VN}) + + ## Test against the unversioned libraries if they are being build; + ## otherwise against the versioned libraries. +diff --git a/SimTKmath/CMakeLists.txt b/SimTKmath/CMakeLists.txt +index f5c82ae..d3ee9bf 100644 +--- a/SimTKmath/CMakeLists.txt ++++ b/SimTKmath/CMakeLists.txt +@@ -79,9 +79,9 @@ endif(NEED_QUOTES) + # -Dsimmath_EXPORTS defined automatically when Windows DLL build is being done. + + set(SHARED_TARGET ${SimTKMATH_LIBRARY_NAME}) +-set(STATIC_TARGET ${SimTKMATH_LIBRARY_NAME}_static) ++set(STATIC_TARGET ${SimTKMATH_LIBRARY_NAME}) + set(SHARED_TARGET_VN ${SimTKMATH_LIBRARY_NAME}${VN}) +-set(STATIC_TARGET_VN ${SimTKMATH_LIBRARY_NAME}${VN}_static) ++set(STATIC_TARGET_VN ${SimTKMATH_LIBRARY_NAME}${VN}) + + ## Test against the unversioned libraries if they are being built; + ## otherwise against the versioned libraries. +diff --git a/Simbody/CMakeLists.txt b/Simbody/CMakeLists.txt +index 062c2b9..e320f57 100644 +--- a/Simbody/CMakeLists.txt ++++ b/Simbody/CMakeLists.txt +@@ -42,9 +42,9 @@ add_definitions(-DSimTK_SIMBODY_LIBRARY_NAME=${SimTKSIMBODY_LIBRARY_NAME} + + + set(SHARED_TARGET ${SimTKSIMBODY_LIBRARY_NAME}) +-set(STATIC_TARGET ${SimTKSIMBODY_LIBRARY_NAME}_static) ++set(STATIC_TARGET ${SimTKSIMBODY_LIBRARY_NAME}) + set(SHARED_TARGET_VN ${SimTKSIMBODY_LIBRARY_NAME}${VN}) +-set(STATIC_TARGET_VN ${SimTKSIMBODY_LIBRARY_NAME}${VN}_static) ++set(STATIC_TARGET_VN ${SimTKSIMBODY_LIBRARY_NAME}${VN}) + + ## Test against the unversioned libraries if they are being built; + ## otherwise against the versioned libraries. diff --git a/ports/simbody/portfile.cmake b/ports/simbody/portfile.cmake new file mode 100644 index 00000000000000..ce98c74d6ab7d4 --- /dev/null +++ b/ports/simbody/portfile.cmake @@ -0,0 +1,43 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO simbody/simbody + REF 462b2a6dbb8794db2922d72f52b29b488a178ebc + SHA512 e2b1837e0a04461ebc94e80f5e8aa29f874a1113383db8b24e77b0c9413c4a6bab0299c6a9b2f07147e82ef01a765fed6d6455d5bd059882c646830dd8d1b224 + HEAD_REF master + PATCHES + common-name-libs.patch +) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC_LIBRARIES) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_DYNAMIC_LIBRARIES) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_DYNAMIC_LIBRARIES=${BUILD_DYNAMIC_LIBRARIES} + -DBUILD_STATIC_LIBRARIES=${BUILD_STATIC_LIBRARIES} + -DWINDOWS_USE_EXTERNAL_LIBS=ON + -DINSTALL_DOCS=OFF + -DBUILD_VISUALIZER=OFF + -DBUILD_EXAMPLES=OFF + -DBUILD_TESTING=OFF + -DBUILD_TESTS_AND_EXAMPLES_STATIC=OFF + -DBUILD_TESTS_AND_EXAMPLES_SHARED=OFF +) + +vcpkg_cmake_install() + +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_cmake_config_fixup(CONFIG_PATH cmake) +else() + vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${PORT}") +endif() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/doc") + +vcpkg_fixup_pkgconfig() + +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/simbody/usage b/ports/simbody/usage new file mode 100644 index 00000000000000..eb8d5d811753ef --- /dev/null +++ b/ports/simbody/usage @@ -0,0 +1,4 @@ +Simbody provides CMake targets: + + find_package(Simbody CONFIG REQUIRED) + target_link_libraries(main PRIVATE SimTKcommon SimTKmath SimTKsimbody) diff --git a/ports/simbody/vcpkg.json b/ports/simbody/vcpkg.json new file mode 100644 index 00000000000000..fd36c4d6c53fd4 --- /dev/null +++ b/ports/simbody/vcpkg.json @@ -0,0 +1,21 @@ +{ + "name": "simbody", + "version-date": "2023-01-10", + "port-version": 1, + "description": "High-performance C++ multibody dynamics/physics library for simulating articulated biomechanical and mechanical systems like vehicles, robots, and the human skeleton.", + "homepage": "https://simtk.org/home/simbody", + "license": "Apache-2.0", + "supports": "!uwp", + "dependencies": [ + "blas", + "lapack", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/simd/SimdConfig.cmake b/ports/simd/SimdConfig.cmake new file mode 100644 index 00000000000000..6e74558f569fdb --- /dev/null +++ b/ports/simd/SimdConfig.cmake @@ -0,0 +1 @@ +include("${CMAKE_CURRENT_LIST_DIR}/simdtargets.cmake") diff --git a/ports/simd/fix-platform-detection.patch b/ports/simd/fix-platform-detection.patch new file mode 100644 index 00000000000000..e60352352091a6 --- /dev/null +++ b/ports/simd/fix-platform-detection.patch @@ -0,0 +1,13 @@ +diff --git a/prj/cmake/CMakeLists.txt b/prj/cmake/CMakeLists.txt +index c08c3f99..7858d801 100644 +--- a/prj/cmake/CMakeLists.txt ++++ b/prj/cmake/CMakeLists.txt +@@ -160,7 +160,7 @@ if(CMAKE_GENERATOR MATCHES "Visual Studio") + else() + if((CMAKE_SYSTEM_PROCESSOR STREQUAL "i686") OR (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")) + include(x86.cmake) +- elseif((CMAKE_SYSTEM_PROCESSOR MATCHES "arm") OR (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64")) ++ elseif((CMAKE_SYSTEM_PROCESSOR MATCHES "arm") OR (CMAKE_SYSTEM_PROCESSOR MATCHES "ARM") OR (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64")) + include(arm.cmake) + else() + message(FATAL_ERROR "Unknown value of CMAKE_SYSTEM_PROCESSOR!") diff --git a/ports/simd/portfile.cmake b/ports/simd/portfile.cmake new file mode 100644 index 00000000000000..ddf814f2b5d320 --- /dev/null +++ b/ports/simd/portfile.cmake @@ -0,0 +1,86 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO ermig1979/Simd + REF "v${VERSION}" + SHA512 b490d1ea42cf5fa3d5a6ccf5f62c2f2f661c8e413d6a11d5caf384c9b4b6d0cda2c76499f03711a492c83cd56fbf685f58fb6626579d18053158d084a8ce74df + HEAD_REF master + PATCHES + fix-platform-detection.patch +) + +if(VCPKG_TARGET_IS_WINDOWS AND (VCPKG_TARGET_ARCHITECTURE STREQUAL "x86" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")) + if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + set(SIMD_PLATFORM "Win32") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + set(SIMD_PLATFORM "x64") + endif() + + if(VCPKG_PLATFORM_TOOLSET MATCHES "v140") + set(SOLUTION_TYPE vs2015) + elseif(VCPKG_PLATFORM_TOOLSET MATCHES "v141") + set(SOLUTION_TYPE vs2017) + elseif(VCPKG_PLATFORM_TOOLSET MATCHES "v142") + set(SOLUTION_TYPE vs2019) + else() + set(SOLUTION_TYPE vs2022) + endif() + + if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + vcpkg_replace_string("${SOURCE_PATH}/src/Simd/SimdConfig.h" + "//#define SIMD_STATIC" + "#define SIMD_STATIC") + vcpkg_replace_string("${SOURCE_PATH}/prj/${SOLUTION_TYPE}/Simd.vcxproj" + "DynamicLibrary" + "StaticLibrary") + file(GLOB_RECURSE PROJ_FILES "${SOURCE_PATH}/prj/${SOLUTION_TYPE}/*.vcxproj") + foreach(PROJ_FILE ${PROJ_FILES}) + vcpkg_replace_string(${PROJ_FILE} + " " + " OldStyle\n ") + endforeach() + endif() + + if(VCPKG_CRT_LINKAGE STREQUAL "dynamic") + file(GLOB_RECURSE PROJ_FILES "${SOURCE_PATH}/prj/${SOLUTION_TYPE}/*.vcxproj") + foreach(PROJ_FILE ${PROJ_FILES}) + vcpkg_replace_string(${PROJ_FILE} + " " + " MultiThreadedDebugDLL\n MultiThreadedDLL\n ") + endforeach() + endif() + + vcpkg_install_msbuild( + SOURCE_PATH ${SOURCE_PATH} + PROJECT_SUBPATH "/prj/${SOLUTION_TYPE}/Simd.sln" + PLATFORM ${SIMD_PLATFORM} + TARGET "lib\\Simd" + RELEASE_CONFIGURATION "Release" + DEBUG_CONFIGURATION "Debug" + ) + vcpkg_copy_pdbs() + file(GLOB SIMD_HEADERS "${SOURCE_PATH}/src/Simd/*.hpp" "${SOURCE_PATH}/src/Simd/*.h") + file(COPY ${SIMD_HEADERS} DESTINATION "${CURRENT_PACKAGES_DIR}/include/Simd") +elseif((VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") AND (VCPKG_DETECTED_CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")) + message(FATAL_ERROR "Arm64 building with MSVC is currently not supported.") +else() + if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + vcpkg_replace_string("${SOURCE_PATH}/src/Simd/SimdConfig.h" + "//#define SIMD_STATIC" + "#define SIMD_STATIC" + ) + endif() + string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" SIMD_SHARED) + vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/prj/cmake" + OPTIONS + -DSIMD_TEST=OFF + -DSIMD_SHARED=${SIMD_SHARED} + -DSIMD_PYTHON=OFF + ) + vcpkg_cmake_install() + vcpkg_cmake_config_fixup() + file(COPY "${CMAKE_CURRENT_LIST_DIR}/SimdConfig.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/simd/") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +endif() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/simd/vcpkg.json b/ports/simd/vcpkg.json new file mode 100644 index 00000000000000..94a32c70c0d920 --- /dev/null +++ b/ports/simd/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "simd", + "version": "6.1.142", + "description": "Simd image processing and machine learning library, designed for C and C++ programmers", + "homepage": "https://github.com/ermig1979/Simd", + "license": "MIT", + "supports": "!(uwp | osx | (arm64 & windows))", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/simde/portfile.cmake b/ports/simde/portfile.cmake index 68020a27a30ad7..aa1f1c3ea08f85 100644 --- a/ports/simde/portfile.cmake +++ b/ports/simde/portfile.cmake @@ -2,12 +2,12 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO nemequ/simde - REF v0.7.2 - SHA512 E4EE5A4A7E8453F116F1325D147F91D358A300F41EA5566EA30FC19649BABABF3B87E3DC838D5608B578BD152207DF4156200FFC7FB98141BC7C0BB60C75F1F5 + REPO simd-everywhere/simde + REF "v${VERSION}" + SHA512 4e42d7140c0afae507773527c6c0c07e6f0cdad59a1d42ebcf4bd223fc9f71e91a2e3db7746aca3c0c5ad2a13333c2322ce1e384c7d699ddfe33bed6f107aec5 HEAD_REF master ) file(COPY "${SOURCE_PATH}/simde" DESTINATION "${CURRENT_PACKAGES_DIR}/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/simde/vcpkg.json b/ports/simde/vcpkg.json index d26159fe78b3ac..a8ee02d86d228f 100644 --- a/ports/simde/vcpkg.json +++ b/ports/simde/vcpkg.json @@ -1,6 +1,7 @@ { "name": "simde", - "version": "0.7.2", + "version": "0.8.2", "description": "Implementations of SIMD instruction sets for systems which don't natively support them", - "homepage": "https://github.com/simd-everywhere/simde" + "homepage": "https://github.com/simd-everywhere/simde", + "license": "MIT" } diff --git a/ports/simdjson/portfile.cmake b/ports/simdjson/portfile.cmake index a4d3af58cfdef2..ab004f780279dc 100644 --- a/ports/simdjson/portfile.cmake +++ b/ports/simdjson/portfile.cmake @@ -1,9 +1,9 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO simdjson/simdjson - REF v1.0.1 + REF "v${VERSION}" HEAD_REF master - SHA512 ecf67b145f1269225483a64b5ff9de826a8124fbae60dec1e6fe99aa974a29e07037a9318ae2dfc657971695ffa5e4fbcdff4c855365c074971d34c69dd77561 + SHA512 b19fde8d81eaff34b83bb41028d7ee3a408ae5bc896277148e96879b1cba1a7cfc4af0064973bcb07e2b56e0955c3a3a581910d7af23d68510374e7f297c3b7c ) vcpkg_check_features( @@ -13,6 +13,7 @@ vcpkg_check_features( threads SIMDJSON_ENABLE_THREADS INVERTED_FEATURES deprecated SIMDJSON_DISABLE_DEPRECATED_API + utf8-validation SIMDJSON_SKIPUTF8VALIDATION ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" SIMDJSON_BUILD_STATIC) @@ -36,6 +37,8 @@ vcpkg_copy_pdbs() vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${PORT}") +vcpkg_fixup_pkgconfig() + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") -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/simdjson/vcpkg.json b/ports/simdjson/vcpkg.json index 7e5cfdc790e1e2..e88b6e46485b9e 100644 --- a/ports/simdjson/vcpkg.json +++ b/ports/simdjson/vcpkg.json @@ -1,7 +1,7 @@ { "name": "simdjson", - "version-semver": "1.0.1", - "description": "A extremely fast JSON library that can parse gigabytes of JSON per second", + "version": "3.10.1", + "description": "An extremely fast JSON library that can parse gigabytes of JSON per second", "homepage": "https://simdjson.org/", "license": "Apache-2.0", "dependencies": [ @@ -17,7 +17,8 @@ "default-features": [ "deprecated", "exceptions", - "threads" + "threads", + "utf8-validation" ], "features": { "deprecated": { @@ -28,6 +29,9 @@ }, "threads": { "description": "Link with thread support" + }, + "utf8-validation": { + "description": "Enable UTF-8 validation" } } } diff --git a/ports/simdutf/disable-tests-and-benchmarks.patch b/ports/simdutf/disable-tests-and-benchmarks.patch deleted file mode 100644 index d621f6d7abff9c..00000000000000 --- a/ports/simdutf/disable-tests-and-benchmarks.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 5453644..d3f2869 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -14,17 +14,10 @@ include(cmake/simdutf-flags.cmake) - - set(SIMDUTF_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}) - --enable_testing() - add_subdirectory(src) --add_subdirectory(tests) - - - --if(CMAKE_CXX_COMPILER_ID MATCHES GNU AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 8.0) -- message(STATUS "The benchmark tool requires GCC 8.0 or better.") --else() -- add_subdirectory(benchmarks) --endif() - - - # ---- Install rules ---- diff --git a/ports/simdutf/portfile.cmake b/ports/simdutf/portfile.cmake index 809247a8c63c81..b8f1e65cac83a2 100644 --- a/ports/simdutf/portfile.cmake +++ b/ports/simdutf/portfile.cmake @@ -1,20 +1,30 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO simdutf/simdutf - REF v1.0.0 - SHA512 3ab09aa61cb9765bf1a77de59c5b823ee58ae5e4badfd5dd70e511fd4f378f8d3917a5b577e7f275720b975740344968132ce0b3f628452bde67f2ab6cc82337 + REF "v${VERSION}" + SHA512 57748cadd07a265e7297408f20ab7a7e899f8676972027b09b168464f7b68de82790a6877bfad8197501be95a754b18458be4c36740bafb7e0a32630c7bd1d2d HEAD_REF master - PATCHES - disable-tests-and-benchmarks.patch +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + "tools" SIMDUTF_TOOLS ) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} + -DSIMDUTF_TESTS=OFF + -DSIMDUTF_BENCHMARKS=OFF ) vcpkg_cmake_install() vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) +vcpkg_fixup_pkgconfig() +if ("tools" IN_LIST FEATURES) + vcpkg_copy_tools(TOOL_NAMES fastbase64 sutf AUTO_CLEAN) +endif() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL "${SOURCE_PATH}/LICENSE-APACHE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE-APACHE") diff --git a/ports/simdutf/vcpkg.json b/ports/simdutf/vcpkg.json index 68ddc24a221a04..f6b91bcbaef4ec 100644 --- a/ports/simdutf/vcpkg.json +++ b/ports/simdutf/vcpkg.json @@ -1,7 +1,6 @@ { "name": "simdutf", - "version-semver": "1.0.0", - "port-version": 1, + "version-semver": "5.6.0", "description": "Unicode validation and transcoding at billions of characters per second", "homepage": "https://github.com/simdutf/simdutf", "dependencies": [ @@ -13,5 +12,10 @@ "name": "vcpkg-cmake-config", "host": true } - ] + ], + "features": { + "tools": { + "description": "Build the fastbase64 and simdutf command line tools for transcoding strings" + } + } } diff --git a/ports/simonbrunel-qtpromise/patches/install_headers.patch b/ports/simonbrunel-qtpromise/patches/install_headers.patch new file mode 100644 index 00000000000000..6bbbd98ad60e3d --- /dev/null +++ b/ports/simonbrunel-qtpromise/patches/install_headers.patch @@ -0,0 +1,17 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -21,6 +21,14 @@ add_library(qtpromise::qtpromise ALIAS qtpromise) + target_link_libraries(qtpromise INTERFACE Qt${QT_VERSION_MAJOR}::Core) + target_include_directories(qtpromise INTERFACE "${CMAKE_CURRENT_LIST_DIR}/include") + ++if(QTPROMISE_HEADER_INSTALL_DESTINATION) ++ install( ++ DIRECTORY "include" "src" ++ DESTINATION "${QTPROMISE_HEADER_INSTALL_DESTINATION}" ++ CONFIGURATIONS "${QTPROMISE_HEADER_INSTALL_COMPONENTS}" ++ ) ++endif() ++ + add_definitions( + -DQT_DEPRECATED_WARNINGS + -DQT_NO_KEYWORDS diff --git a/ports/simonbrunel-qtpromise/patches/remove_error_flags.patch b/ports/simonbrunel-qtpromise/patches/remove_error_flags.patch new file mode 100644 index 00000000000000..8499cbcfdb16aa --- /dev/null +++ b/ports/simonbrunel-qtpromise/patches/remove_error_flags.patch @@ -0,0 +1,21 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -34,6 +34,7 @@ add_definitions( + -DQT_NO_KEYWORDS + ) + ++#[[ remove error flags + # https://github.com/simonbrunel/qtpromise/issues/10 + if(CMAKE_CXX_COMPILER_ID MATCHES "GNU") + # https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html +@@ -83,8 +84,10 @@ elseif(CMAKE_CXX_COMPILER_ID MATCHES "MSVC") + /WX + ) + endif() ++]] + + if(NOT SUBPROJECT) + enable_testing() + add_subdirectory(tests) + endif() ++ diff --git a/ports/simonbrunel-qtpromise/portfile.cmake b/ports/simonbrunel-qtpromise/portfile.cmake new file mode 100644 index 00000000000000..e0907e4974ef8f --- /dev/null +++ b/ports/simonbrunel-qtpromise/portfile.cmake @@ -0,0 +1,24 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO simonbrunel/qtpromise + REF "v${VERSION}" + SHA512 0d6316ec9503a7781b4d9e615e6d538b21b6282a76e5e28e3f323bcdb740e6f66e6c55944e31fc62cec7cc25a90b0f7318277f044a630500202971ca6e2e85b6 + HEAD_REF master + PATCHES + patches/install_headers.patch + patches/remove_error_flags.patch +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DQTPROMISE_HEADER_INSTALL_DESTINATION="${CURRENT_PACKAGES_DIR}/include/${PORT}" + -DQTPROMISE_HEADER_INSTALL_COMPONENTS="Release" +) +vcpkg_cmake_install() + +set(USE_QT_VERSION "6") # for Qt5, replace this number with 5, and replace the dependency on port qtbase in vcpkg.json with port qt5-base +configure_file("${CMAKE_CURRENT_LIST_DIR}/unofficial-config.cmake.in" "${CURRENT_PACKAGES_DIR}/share/unofficial-${PORT}/unofficial-${PORT}-config.cmake" @ONLY) + +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/simonbrunel-qtpromise/unofficial-config.cmake.in b/ports/simonbrunel-qtpromise/unofficial-config.cmake.in new file mode 100644 index 00000000000000..2458704aa6f7c9 --- /dev/null +++ b/ports/simonbrunel-qtpromise/unofficial-config.cmake.in @@ -0,0 +1,19 @@ + +set(@PORT@_VERSION "@VERSION@") + +if(TARGET unofficial-@PORT@) + set(unofficial-@PORT@_FOUND TRUE) + return() +endif() + +include(CMakeFindDependencyMacro) + +find_dependency(Qt@USE_QT_VERSION@ REQUIRED COMPONENTS Core) + +add_library(unofficial-@PORT@ INTERFACE) + +target_link_libraries(unofficial-@PORT@ INTERFACE Qt::Core) +target_include_directories(unofficial-@PORT@ INTERFACE "${CMAKE_CURRENT_LIST_DIR}/../../include/@PORT@/include") + +set(unofficial-@PORT@_FOUND TRUE) + diff --git a/ports/simonbrunel-qtpromise/usage b/ports/simonbrunel-qtpromise/usage new file mode 100644 index 00000000000000..ed536b15ebcd95 --- /dev/null +++ b/ports/simonbrunel-qtpromise/usage @@ -0,0 +1,4 @@ +simonbrunel-qtpromise provides CMake targets: + +find_package(unofficial-simonbrunel-qtpromise CONFIG REQUIRED) +target_link_libraries(main PRIVATE unofficial-simonbrunel-qtpromise) \ No newline at end of file diff --git a/ports/simonbrunel-qtpromise/vcpkg.json b/ports/simonbrunel-qtpromise/vcpkg.json new file mode 100644 index 00000000000000..6917e4407be2a4 --- /dev/null +++ b/ports/simonbrunel-qtpromise/vcpkg.json @@ -0,0 +1,15 @@ +{ + "name": "simonbrunel-qtpromise", + "version": "0.7.0", + "maintainers": "Simon Brunel", + "description": "Promises/A+ implementation for Qt/C++", + "homepage": "https://qtpromise.netlify.app/", + "license": "MIT", + "dependencies": [ + "qtbase", + { + "name": "vcpkg-cmake", + "host": true + } + ] +} diff --git a/ports/simple-fft/vcpkg.json b/ports/simple-fft/vcpkg.json index 76b399066048cd..f0e5a9f8646b08 100644 --- a/ports/simple-fft/vcpkg.json +++ b/ports/simple-fft/vcpkg.json @@ -1,7 +1,7 @@ { "name": "simple-fft", - "version-string": "2020-06-14", - "port-version": 1, + "version-date": "2020-06-14", + "port-version": 2, "description": "Header-only C++ library implementing fast Fourier transform of 1D, 2D and 3D data", "homepage": "https://github.com/d1vanov/Simple-FFT" } diff --git a/ports/simpleble/portfile.cmake b/ports/simpleble/portfile.cmake new file mode 100644 index 00000000000000..36b764f846e010 --- /dev/null +++ b/ports/simpleble/portfile.cmake @@ -0,0 +1,25 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO OpenBluetoothToolbox/SimpleBLE + HEAD_REF main + REF a07397dbdd7f8149b7b235b5b21b88b60e8cfbed + SHA512 f9bdb668da151dbc2335b9cfd17a130fdefb349e57e9ff3a270e1c0cc8b7ad1bfdf03704cd1e2c1c7c8b34f44684aa2bf649c14666c2c6fd9ea0ddad1e6bc8a3 +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/simpleble" + OPTIONS + -DLIBFMT_VENDORIZE=OFF +) + +vcpkg_cmake_install() + +vcpkg_copy_pdbs() + +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/simpleble") + +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.md") diff --git a/ports/simpleble/vcpkg.json b/ports/simpleble/vcpkg.json new file mode 100644 index 00000000000000..a6a4a44bd131bb --- /dev/null +++ b/ports/simpleble/vcpkg.json @@ -0,0 +1,19 @@ +{ + "name": "simpleble", + "version-date": "2023-07-29", + "description": "The ultimate fully-fledged cross-platform library and bindings for Bluetooth Low Energy (BLE).", + "homepage": "https://github.com/OpenBluetoothToolbox/SimpleBLE", + "license": "MIT", + "supports": "!android & !uwp", + "dependencies": [ + "fmt", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/simpleini/portfile.cmake b/ports/simpleini/portfile.cmake index 46f1d25625659d..13ea5e13db01cb 100644 --- a/ports/simpleini/portfile.cmake +++ b/ports/simpleini/portfile.cmake @@ -2,8 +2,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO brofield/simpleini - REF fe082fa81f4a55ddceb55056622136be616b3c6f - SHA512 9ba3fc0e5d4d426a7943a6783f3e66203d3b822a9ac6bc2b261e877f70e099495ad22e03fd6ad3dd7aab422192701b2b450ace750ebd3bc6b4e6266c6d15184d + REF "v${VERSION}" + SHA512 6c198636816a0018adbf7f735d402c64245c6fcd540b7360d4388d46f007f3a520686cdaec4705cb8cb31401b2cb4797a80b42ea5d08a6a5807c0848386f7ca1 HEAD_REF master ) @@ -14,7 +14,6 @@ set(SIMPLEINI_SOURCE ${SOURCE_PATH}/SimpleIni.h ) file(INSTALL ${SIMPLEINI_SOURCE} DESTINATION ${CURRENT_PACKAGES_DIR}/include) -# Install sample -file(INSTALL ${SOURCE_PATH}/snippets.cpp DESTINATION ${CURRENT_PACKAGES_DIR}/share/sample) -file(INSTALL ${SOURCE_PATH}/LICENCE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +# copyright +file(INSTALL "${SOURCE_PATH}/LICENCE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/simpleini/vcpkg.json b/ports/simpleini/vcpkg.json index 020a8f5ddb14ab..8026f216203bca 100644 --- a/ports/simpleini/vcpkg.json +++ b/ports/simpleini/vcpkg.json @@ -1,7 +1,7 @@ { "name": "simpleini", - "version-string": "2018-08-31", - "port-version": 5, + "version": "4.22", "description": "Cross-platform C++ library providing a simple API to read and write INI-style configuration files", - "homepage": "https://github.com/brofield/simpleini" + "homepage": "https://github.com/brofield/simpleini", + "license": "MIT" } diff --git a/ports/simsimd/export-target.patch b/ports/simsimd/export-target.patch new file mode 100644 index 00000000000000..2f66124a00f065 --- /dev/null +++ b/ports/simsimd/export-target.patch @@ -0,0 +1,29 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index aa0daf4..f976fb1 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -108,6 +108,23 @@ endif () + if (SIMSIMD_BUILD_SHARED) + set(SIMSIMD_SOURCES ${SIMSIMD_SOURCES} c/lib.c) + add_library(simsimd_shared SHARED ${SIMSIMD_SOURCES}) +- target_include_directories(simsimd_shared PUBLIC "${PROJECT_SOURCE_DIR}/include") ++ target_include_directories(simsimd_shared PUBLIC $ $) + set_target_properties(simsimd_shared PROPERTIES OUTPUT_NAME simsimd) ++ ++ install(TARGETS simsimd_shared EXPORT unofficial-simsimd-config ++ LIBRARY DESTINATION lib ++ ARCHIVE DESTINATION lib ++ RUNTIME DESTINATION bin) ++ ++ install(EXPORT unofficial-simsimd-config ++ FILE unofficial-simsimd-config.cmake ++ NAMESPACE unofficial::simsimd:: ++ DESTINATION share/unofficial-simsimd ++ ) + endif () ++ ++install(DIRECTORY ${CMAKE_SOURCE_DIR}/include/ ++ DESTINATION include ++ FILES_MATCHING ++ PATTERN *.h ++) diff --git a/ports/simsimd/portfile.cmake b/ports/simsimd/portfile.cmake new file mode 100644 index 00000000000000..86661bf87da806 --- /dev/null +++ b/ports/simsimd/portfile.cmake @@ -0,0 +1,30 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO ashvardanian/SimSIMD + REF "v${VERSION}" + SHA512 ab78d4415ed0f2964470ccd36d3d737a2715b1a5a4222613d2f0f4be6a516da0e339329cbd421c6b7f6a1bc701da6ec2f3937cba5a8ea1f632beea8000d90c8f + HEAD_REF main + PATCHES + export-target.patch +) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DSIMSIMD_BUILD_TESTS=OFF + -DSIMSIMD_BUILD_BENCHMARKS=OFF + "-DSIMSIMD_BUILD_SHARED=${BUILD_SHARED}" +) + +vcpkg_cmake_install() + +if(BUILD_SHARED) + vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-simsimd) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +else() + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") +endif() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/simsimd/vcpkg.json b/ports/simsimd/vcpkg.json new file mode 100644 index 00000000000000..452399ba0e02d4 --- /dev/null +++ b/ports/simsimd/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "simsimd", + "version": "5.7.3", + "description": "Fastest similarity-measures and distance functions on the Wild West – vectors, strings, short molecules, and even DNA sequences. All with a pinch of SIMD for both x86 and ARM.", + "homepage": "https://github.com/ashvardanian/SimSIMD", + "license": "Apache-2.0", + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/skcrypter/portfile.cmake b/ports/skcrypter/portfile.cmake new file mode 100644 index 00000000000000..3faa896af7abee --- /dev/null +++ b/ports/skcrypter/portfile.cmake @@ -0,0 +1,11 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO skadro-official/skCrypter + REF 7970de8acc01af5ecef044374c26ecb33b7cd069 + SHA512 f0ef3c6673523d5b86bc9b5859ae77fb4d182238b67ce4f07da1068f23ee7915e028ed837b8c6b2dd5421ae5a7c043e0d486d18c4b5404ebee50bd8cef4ba4bb + HEAD_REF master +) + +file(COPY "${SOURCE_PATH}/files/skCrypter.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include") + +configure_file("${SOURCE_PATH}/LICENSE" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) \ No newline at end of file diff --git a/ports/skcrypter/vcpkg.json b/ports/skcrypter/vcpkg.json new file mode 100644 index 00000000000000..6d3b3083b926ce --- /dev/null +++ b/ports/skcrypter/vcpkg.json @@ -0,0 +1,6 @@ +{ + "name": "skcrypter", + "version-date": "2021-12-03", + "description": "Compile-time, Usermode + Kernelmode, safe and lightweight string crypter library for C++11", + "homepage": "https://github.com/skadro-official/skCrypter" +} diff --git a/ports/skia/add-missing-tuple.patch b/ports/skia/add-missing-tuple.patch deleted file mode 100644 index e33d44e3aefa0a..00000000000000 --- a/ports/skia/add-missing-tuple.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/include/private/SkPathRef.h b/include/private/SkPathRef.h -index 7afe4f9..502f83e 100644 ---- a/include/private/SkPathRef.h -+++ b/include/private/SkPathRef.h -@@ -21,6 +21,7 @@ - - #include - #include -+#include - - class SkRBuffer; - class SkWBuffer; diff --git a/ports/skia/bentleyottmann-build.patch b/ports/skia/bentleyottmann-build.patch new file mode 100644 index 00000000000000..5401805c36bacd --- /dev/null +++ b/ports/skia/bentleyottmann-build.patch @@ -0,0 +1,14 @@ +diff --git a/modules/bentleyottmann/BUILD.gn b/modules/bentleyottmann/BUILD.gn +index 8a6725592f..fa0d03334c 100644 +--- a/modules/bentleyottmann/BUILD.gn ++++ b/modules/bentleyottmann/BUILD.gn +@@ -31,4 +31,9 @@ if (skia_enable_bentleyottmann) { + ] + } + } ++} else { ++ group("bentleyottmann") { ++ } ++ group("tests") { ++ } + } diff --git a/ports/skia/disable-msvc-env-setup.patch b/ports/skia/disable-msvc-env-setup.patch new file mode 100644 index 00000000000000..af4290baa7fa62 --- /dev/null +++ b/ports/skia/disable-msvc-env-setup.patch @@ -0,0 +1,12 @@ +diff --git a/gn/toolchain/BUILD.gn b/gn/toolchain/BUILD.gn +index ba85c3d..901ba99 100644 +--- a/gn/toolchain/BUILD.gn ++++ b/gn/toolchain/BUILD.gn +@@ -94,6 +94,7 @@ toolchain("msvc") { + # ARM64 compiler is incomplete - it relies on DLLs located in the host toolchain directory. + env_setup = "$shell set \"PATH=%PATH%;$win_vc\\Tools\\MSVC\\$win_toolchain_version\\bin\\HostX64\\x64\" && " + } ++ env_setup = "" # overwrite + + cl_m32_flag = "" + diff --git a/ports/skia/example/CMakeLists.txt b/ports/skia/example/CMakeLists.txt new file mode 100644 index 00000000000000..109ac5fdedfaf8 --- /dev/null +++ b/ports/skia/example/CMakeLists.txt @@ -0,0 +1,13 @@ +cmake_minimum_required(VERSION 3.7) + +project(skia-example) + +set(CMAKE_CXX_STANDARD 17) + +add_executable(legacy convert-to-nia.cpp) +find_package(skia CONFIG REQUIRED) +target_link_libraries(legacy PRIVATE skia) + +add_executable(main convert-to-nia.cpp) +find_package(unofficial-skia CONFIG REQUIRED) +target_link_libraries(main PRIVATE unofficial::skia::skia unofficial::skia::modules::skshaper) diff --git a/ports/skia/expat.gn b/ports/skia/expat.gn deleted file mode 100644 index 7e0e09b4cd9e4a..00000000000000 --- a/ports/skia/expat.gn +++ /dev/null @@ -1,10 +0,0 @@ -import("../third_party.gni") - -system("expat") { - include_dirs = @_INCLUDES@ - if(is_debug) { - libs = @_LIBS_DBG@ - } else { - libs = @_LIBS_REL@ - } -} diff --git a/ports/skia/freetype2.gn b/ports/skia/freetype2.gn deleted file mode 100644 index 5ea73b7a877a9a..00000000000000 --- a/ports/skia/freetype2.gn +++ /dev/null @@ -1,10 +0,0 @@ -import("../third_party.gni") - -system("freetype2") { - include_dirs = @_INCLUDES@ - if(is_debug) { - libs = @_LIBS_DBG@ - } else { - libs = @_LIBS_REL@ - } -} diff --git a/ports/skia/graphite.patch b/ports/skia/graphite.patch new file mode 100644 index 00000000000000..427ac4ae2c4eac --- /dev/null +++ b/ports/skia/graphite.patch @@ -0,0 +1,12 @@ +diff --git a/include/gpu/graphite/Recorder.h b/include/gpu/graphite/Recorder.h +index 64e9fad..44a9aca 100644 +--- a/include/gpu/graphite/Recorder.h ++++ b/include/gpu/graphite/Recorder.h +@@ -11,6 +11,7 @@ + #include "include/core/SkRefCnt.h" + #include "include/core/SkSize.h" + #include "include/gpu/graphite/GraphiteTypes.h" ++#include "include/gpu/graphite/ImageProvider.h" + #include "include/gpu/graphite/Recording.h" + #include "include/private/base/SingleOwner.h" + #include "include/private/base/SkTArray.h" diff --git a/ports/skia/harfbuzz.gn b/ports/skia/harfbuzz.gn deleted file mode 100644 index 5095f6d8a13804..00000000000000 --- a/ports/skia/harfbuzz.gn +++ /dev/null @@ -1,10 +0,0 @@ -import("../third_party.gni") - -system("harfbuzz") { - include_dirs = @_INCLUDES@ - if(is_debug) { - libs = @_LIBS_DBG@ - } else { - libs = @_LIBS_REL@ - } -} diff --git a/ports/skia/icu.gn b/ports/skia/icu.gn deleted file mode 100644 index 3da247995457a5..00000000000000 --- a/ports/skia/icu.gn +++ /dev/null @@ -1,11 +0,0 @@ -import("../third_party.gni") - -system("icu") { - include_dirs = @_INCLUDES@ - if(is_debug) { - libs = @_LIBS_DBG@ - } else { - libs = @_LIBS_REL@ - } - defines = @_DEFINITIONS@ -} diff --git a/ports/skia/libjpeg-turbo.gn b/ports/skia/libjpeg-turbo.gn deleted file mode 100644 index 92669bb92d515f..00000000000000 --- a/ports/skia/libjpeg-turbo.gn +++ /dev/null @@ -1,10 +0,0 @@ -import("../third_party.gni") - -system("libjpeg") { - include_dirs = @_INCLUDES@ - if(is_debug) { - libs = @_LIBS_DBG@ - } else { - libs = @_LIBS_REL@ - } -} diff --git a/ports/skia/libpng.gn b/ports/skia/libpng.gn deleted file mode 100644 index 0867ef8a9e04f0..00000000000000 --- a/ports/skia/libpng.gn +++ /dev/null @@ -1,10 +0,0 @@ -import("../third_party.gni") - -system("libpng") { - include_dirs = @_INCLUDES@ - if(is_debug) { - libs = @_LIBS_DBG@ - } else { - libs = @_LIBS_REL@ - } -} diff --git a/ports/skia/libwebp.gn b/ports/skia/libwebp.gn deleted file mode 100644 index bdcaffe2164b22..00000000000000 --- a/ports/skia/libwebp.gn +++ /dev/null @@ -1,10 +0,0 @@ -import("../third_party.gni") - -system("libwebp") { - include_dirs = @_INCLUDES@ - if(is_debug) { - libs = @_LIBS_DBG@ - } else { - libs = @_LIBS_REL@ - } -} diff --git a/ports/skia/pdfsubsetfont-uwp.diff b/ports/skia/pdfsubsetfont-uwp.diff new file mode 100644 index 00000000000000..37b53a9ef3d7dd --- /dev/null +++ b/ports/skia/pdfsubsetfont-uwp.diff @@ -0,0 +1,12 @@ +diff --git a/src/pdf/SkPDFSubsetFont.cpp b/src/pdf/SkPDFSubsetFont.cpp +index 09d4aed799..009c2762a3 100644 +--- a/src/pdf/SkPDFSubsetFont.cpp ++++ b/src/pdf/SkPDFSubsetFont.cpp +@@ -111,6 +111,7 @@ sk_sp SkPDFSubsetFont(const SkTypeface& typeface, const SkPDFGlyphUse& g + + #else + ++#include "include/core/SkData.h" + sk_sp SkPDFSubsetFont(const SkTypeface&, const SkPDFGlyphUse&) { + return nullptr; + } diff --git a/ports/skia/piex.gn b/ports/skia/piex.gn deleted file mode 100644 index 1d5a237b973ed3..00000000000000 --- a/ports/skia/piex.gn +++ /dev/null @@ -1,10 +0,0 @@ -import("../third_party.gni") - -system("piex") { - include_dirs = @_INCLUDES@ - if(is_debug) { - libs = @_LIBS_DBG@ - } else { - libs = @_LIBS_REL@ - } -} diff --git a/ports/skia/portfile.cmake b/ports/skia/portfile.cmake index 30feaf013ddda6..9984aa9042e35d 100644 --- a/ports/skia/portfile.cmake +++ b/ports/skia/portfile.cmake @@ -1,216 +1,334 @@ -vcpkg_fail_port_install( - ON_ARCH "x86" "arm" "arm64" - ON_TARGET "UWP" "LINUX" "ANDROID" "FREEBSD") +include("${CMAKE_CURRENT_LIST_DIR}/skia-functions.cmake") -vcpkg_from_git( +vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - URL https://skia.googlesource.com/skia.git - REF fb0b35fed5580d49392df7ce9374551b348fffbf - PATCHES add-missing-tuple.patch + REPO google/skia + REF "501e9efaa2fc929ec67c44da6dbaf9335264b559" + SHA512 978af9894d23d7b97d95d402bbf6c0c1401d63990361aae80166b620b0aa06d9dc2c75537850ff4c2df539735b4a12713cb29840613a15cbbff68590c48c4fac + PATCHES + disable-msvc-env-setup.patch + # disable-dev-test.patch + skia-include-string.patch + bentleyottmann-build.patch + graphite.patch + vulkan-headers.patch + pdfsubsetfont-uwp.diff ) -function(checkout_in_path PATH URL REF) - if(EXISTS "${PATH}") - return() +# De-vendor +file(REMOVE_RECURSE "${SOURCE_PATH}/include/third_party/vulkan") + +# these following aren't available in vcpkg +# to update, visit the DEPS file in Skia's root directory +declare_external_from_git(abseil-cpp + URL "https://github.com/abseil/abseil-cpp.git" + REF "65a55c2ba891f6d2492477707f4a2e327a0b40dc" + LICENSE_FILE LICENSE +) +declare_external_from_git(d3d12allocator + URL "https://github.com/GPUOpen-LibrariesAndSDKs/D3D12MemoryAllocator.git" + REF "169895d529dfce00390a20e69c2f516066fe7a3b" + LICENSE_FILE LICENSE.txt +) +declare_external_from_git(dawn + URL "https://dawn.googlesource.com/dawn.git" + REF "db1fa936ad0a58846f179c81cdf60f55267099b9" + LICENSE_FILE LICENSE +) +declare_external_from_git(dng_sdk + URL "https://android.googlesource.com/platform/external/dng_sdk.git" + REF "679499cc9b92cfb0ae1dccbfd7e97ce719d23576" + LICENSE_FILE LICENSE +) +declare_external_from_git(jinja2 + URL "https://chromium.googlesource.com/chromium/src/third_party/jinja2" + REF "e2d024354e11cc6b041b0cff032d73f0c7e43a07" + LICENSE_FILE LICENSE.rst +) +declare_external_from_git(markupsafe + URL "https://chromium.googlesource.com/chromium/src/third_party/markupsafe" + REF "0bad08bb207bbfc1d6f3bbc82b9242b0c50e5794" + LICENSE_FILE LICENSE +) +declare_external_from_git(piex + URL "https://android.googlesource.com/platform/external/piex.git" + REF "bb217acdca1cc0c16b704669dd6f91a1b509c406" + LICENSE_FILE LICENSE +) +declare_external_from_git(spirv-cross + URL "https://github.com/KhronosGroup/SPIRV-Cross" + REF "b8fcf307f1f347089e3c46eb4451d27f32ebc8d3" + LICENSE_FILE LICENSE +) +declare_external_from_git(spirv-headers + URL "https://github.com/KhronosGroup/SPIRV-Headers.git" + REF "1b75a4ae0b4289014b4c369301dc925c366f78a6" + LICENSE_FILE LICENSE +) +declare_external_from_git(spirv-tools + URL "https://github.com/KhronosGroup/SPIRV-Tools.git" + REF "87fcbaf1bc8346469e178711eff27cfd20aa1960" + LICENSE_FILE LICENSE +) +declare_external_from_git(wuffs + URL "https://github.com/google/wuffs-mirror-release-c.git" + REF "e3f919ccfe3ef542cfc983a82146070258fb57f8" + LICENSE_FILE LICENSE +) + +declare_external_from_pkgconfig(expat) +declare_external_from_pkgconfig(fontconfig PATH "third_party") +declare_external_from_pkgconfig(freetype2) +declare_external_from_pkgconfig(harfbuzz MODULES harfbuzz harfbuzz-subset) +declare_external_from_pkgconfig(icu MODULES icu-uc) +declare_external_from_pkgconfig(libjpeg PATH "third_party/libjpeg-turbo" MODULES libturbojpeg libjpeg) +declare_external_from_pkgconfig(libpng) +declare_external_from_pkgconfig(libwebp MODULES libwebpdecoder libwebpdemux libwebpmux libwebp) +declare_external_from_pkgconfig(zlib) + +declare_external_from_vcpkg(vulkan_headers PATH third_party/externals/vulkan-headers) + +set(known_cpus x86 x64 arm arm64 wasm) +if(NOT VCPKG_TARGET_ARCHITECTURE IN_LIST known_cpus) + message(WARNING "Unknown target cpu '${VCPKG_TARGET_ARCHITECTURE}'.") +endif() + +string(JOIN " " OPTIONS + "target_cpu=\"${VCPKG_TARGET_ARCHITECTURE}\"" + skia_enable_android_utils=false + skia_enable_spirv_validation=false + skia_enable_tools=false + skia_enable_gpu_debug_layers=false + skia_use_jpeg_gainmaps=false + skia_use_libheif=false + skia_use_lua=false +) +set(OPTIONS_DBG "is_debug=true") +set(OPTIONS_REL "is_official_build=true") +vcpkg_list(SET SKIA_TARGETS :skia :modules) + +if(VCPKG_TARGET_IS_ANDROID) + string(APPEND OPTIONS " target_os=\"android\"") +elseif(VCPKG_TARGET_IS_IOS) + string(APPEND OPTIONS " target_os=\"ios\"") +elseif(VCPKG_TARGET_IS_EMSCRIPTEN) + string(APPEND OPTIONS " target_os=\"wasm\"") +elseif(VCPKG_TARGET_IS_WINDOWS) + string(APPEND OPTIONS " target_os=\"win\"") + if(VCPKG_TARGET_IS_UWP) + string(APPEND OPTIONS " skia_enable_winuwp=true skia_enable_fontmgr_win=false skia_use_xps=false") 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() + if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + string(APPEND OPTIONS " skia_enable_skparagraph=false") + string(APPEND OPTIONS " skia_enable_bentleyottmann=false") + endif() +endif() -set(EXTERNALS "${SOURCE_PATH}/third_party/externals") -file(MAKE_DIRECTORY "${EXTERNALS}") +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + string(APPEND OPTIONS " is_component_build=true") +else() + string(APPEND OPTIONS " is_component_build=false") +endif() -# these following aren't available in vcpkg -checkout_in_path("${EXTERNALS}/sfntly" - "https://github.com/googlefonts/sfntly" - "b55ff303ea2f9e26702b514cf6a3196a2e3e2974" -) -checkout_in_path("${EXTERNALS}/dng_sdk" - "https://android.googlesource.com/platform/external/dng_sdk" - "c8d0c9b1d16bfda56f15165d39e0ffa360a11123" -) -checkout_in_path("${EXTERNALS}/libgifcodec" - "https://skia.googlesource.com/libgifcodec" - "d06d2a6d42baf6c0c91cacc28df2542a911d05fe" -) -checkout_in_path("${EXTERNALS}/piex" - "https://android.googlesource.com/platform/external/piex" - "bb217acdca1cc0c16b704669dd6f91a1b509c406" -) - -# turn a CMake list into a GN list of quoted items -# "a;b;c" -> ["a","b","c"] -function(cmake_to_gn_list OUTPUT_ INPUT_) - if(NOT INPUT_) - set(${OUTPUT_} "[]" PARENT_SCOPE) - else() - string(REPLACE ";" "\",\"" TEMP "${INPUT_}") - set(${OUTPUT_} "[\"${TEMP}\"]" PARENT_SCOPE) +set(required_externals + dng_sdk + expat + libjpeg + libpng + libwebp + piex + zlib + wuffs +) + +if("fontconfig" IN_LIST FEATURES) + list(APPEND required_externals fontconfig) + string(APPEND OPTIONS " skia_use_fontconfig=true") + if(VCPKG_TARGET_IS_WINDOWS) + string(APPEND OPTIONS " skia_enable_fontmgr_FontConfigInterface=false") endif() -endfunction() - -# multiple libraries with multiple names may be passed as -# "libA,libA2;libB,libB2,libB3;..." -function(find_libraries RESOLVED LIBRARY_NAMES PATHS) - set(_RESOLVED "") - foreach(_LIB_GROUP ${LIBRARY_NAMES}) - string(REPLACE "," ";" _LIB_GROUP_NAMES "${_LIB_GROUP}") - unset(_LIB CACHE) - find_library(_LIB NAMES ${_LIB_GROUP_NAMES} - PATHS "${PATHS}" - NO_DEFAULT_PATH) - - if(_LIB MATCHES "-NOTFOUND") - message(FATAL_ERROR "Could not find library with names: ${_LIB_GROUP_NAMES}") - endif() - - list(APPEND _RESOLVED "${_LIB}") - endforeach() - set(${RESOLVED} "${_RESOLVED}" PARENT_SCOPE) -endfunction() - -# For each .gn file in the current list directory, configure and install at -# the corresponding directory to replace Skia dependencies with ones from vcpkg. -function(replace_skia_dep NAME INCLUDES LIBS_DBG LIBS_REL DEFINITIONS) - list(TRANSFORM INCLUDES PREPEND "${CURRENT_INSTALLED_DIR}") - cmake_to_gn_list(_INCLUDES "${INCLUDES}") - - find_libraries(_LIBS_DBG "${LIBS_DBG}" "${CURRENT_INSTALLED_DIR}/debug/lib") - cmake_to_gn_list(_LIBS_DBG "${_LIBS_DBG}") - - find_libraries(_LIBS_REL "${LIBS_REL}" "${CURRENT_INSTALLED_DIR}/lib") - cmake_to_gn_list(_LIBS_REL "${_LIBS_REL}") - - cmake_to_gn_list(_DEFINITIONS "${DEFINITIONS}") - - set(OUT_FILE "${SOURCE_PATH}/third_party/${NAME}/BUILD.gn") - file(REMOVE "${OUT_FILE}") - configure_file("${CMAKE_CURRENT_LIST_DIR}/${NAME}.gn" "${OUT_FILE}" @ONLY) -endfunction() - -set(_INCLUDE_DIR "${CURRENT_INSTALLED_DIR}/include") - -replace_skia_dep(expat "/include" "libexpat,libexpatd,libexpatdMD" "libexpat,libexpatMD" "") -replace_skia_dep(freetype2 "/include" "freetype,freetyped" "freetype" "") -replace_skia_dep(harfbuzz "/include/harfbuzz" "harfbuzz-icu" "harfbuzz-icu" "") -replace_skia_dep(icu "/include" "icuuc,icuucd" "icuuc" "U_USING_ICU_NAMESPACE=0") -replace_skia_dep(libjpeg-turbo "/include" "jpeg,jpegd;turbojpeg,turbojpegd" "jpeg;turbojpeg" "") -replace_skia_dep(libpng "/include" "libpng16,libpng16d" "libpng16" "") -replace_skia_dep(libwebp "/include" - "webp,webpd;webpdemux,webpdemuxd;webpdecoder,webpdecoderd;libwebpmux,libwebpmuxd" - "webp;webpdemux;webpdecoder;libwebpmux" "") -replace_skia_dep(zlib "/include" "z,zlib,zlibd" "z,zlib" "") - -set(OPTIONS "\ -skia_use_lua=false \ -skia_enable_tools=false \ -skia_enable_spirv_validation=false") - -# used for passing feature-specific definitions to the config file -set(SKIA_PUBLIC_DEFINITIONS "") - -if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - set(OPTIONS "${OPTIONS} is_component_build=true") else() - set(OPTIONS "${OPTIONS} is_component_build=false") + string(APPEND OPTIONS " skia_use_fontconfig=false") +endif() + +if("freetype" IN_LIST FEATURES) + list(APPEND required_externals freetype2) + string(APPEND OPTIONS " skia_use_freetype=true") +else() + string(APPEND OPTIONS " skia_use_freetype=false") +endif() + +if("harfbuzz" IN_LIST FEATURES) + list(APPEND required_externals harfbuzz) + string(APPEND OPTIONS " skia_use_harfbuzz=true") +else() + string(APPEND OPTIONS " skia_use_harfbuzz=false") +endif() + +if("icu" IN_LIST FEATURES) + list(APPEND required_externals icu) + string(APPEND OPTIONS " skia_use_icu=true skia_use_system_icu=true") +else() + string(APPEND OPTIONS " skia_use_icu=false") +endif() + +if("gl" IN_LIST FEATURES) + string(APPEND OPTIONS " skia_use_gl=true") +else() + string(APPEND OPTIONS " skia_use_gl=false") endif() if("metal" IN_LIST FEATURES) - set(OPTIONS "${OPTIONS} skia_use_metal=true") - list(APPEND SKIA_PUBLIC_DEFINITIONS SK_METAL) + string(APPEND OPTIONS " skia_use_metal=true") endif() -set(OPTIONS_REL "${OPTIONS} is_official_build=true") -set(OPTIONS_DBG "${OPTIONS} is_debug=true") +if("vulkan" IN_LIST FEATURES) + list(APPEND required_externals + vulkan_headers + ) + string(APPEND OPTIONS " skia_use_vulkan=true skia_vulkan_memory_allocator_dir=\"${CURRENT_INSTALLED_DIR}\"") +endif() -if(CMAKE_HOST_WIN32) - # Load toolchains - if(NOT VCPKG_CHAINLOAD_TOOLCHAIN_FILE) - set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${SCRIPTS}/toolchains/windows.cmake") - endif() - include("${VCPKG_CHAINLOAD_TOOLCHAIN_FILE}") +if("direct3d" IN_LIST FEATURES) + list(APPEND required_externals + spirv-cross + spirv-headers + spirv-tools + d3d12allocator + ) + string(APPEND OPTIONS " skia_use_direct3d=true") +endif() + +if("graphite" IN_LIST FEATURES) + string(APPEND OPTIONS " skia_enable_graphite=true") +endif() - # turn a space delimited string into a gn list: - # "a b c" -> ["a","b","c"] - function(to_gn_list OUTPUT_ INPUT_) - string(STRIP "${INPUT_}" TEMP) - string(REPLACE " " " " TEMP "${TEMP}") - string(REPLACE " " "\",\"" TEMP "${TEMP}") - set(${OUTPUT_} "[\"${TEMP}\"]" PARENT_SCOPE) - endfunction() +if("dawn" IN_LIST FEATURES) + if (VCPKG_TARGET_IS_LINUX) + message(WARNING +[[ +dawn support requires the following libraries from the system package manager: - to_gn_list(SKIA_C_FLAGS_DBG "${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS_DEBUG}") - to_gn_list(SKIA_C_FLAGS_REL "${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS_RELEASE}") + libx11-xcb-dev mesa-common-dev - to_gn_list(SKIA_CXX_FLAGS_DBG "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_DEBUG}") - to_gn_list(SKIA_CXX_FLAGS_REL "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_RELEASE}") +They can be installed on Debian based systems via - set(OPTIONS_DBG "${OPTIONS_DBG} extra_cflags_c=${SKIA_C_FLAGS_DBG} \ - extra_cflags_cc=${SKIA_CXX_FLAGS_DBG}") + apt-get install libx11-xcb-dev mesa-common-dev +]] + ) + endif() + + list(APPEND required_externals + spirv-cross + spirv-headers + spirv-tools + jinja2 + markupsafe + vulkan_headers +## Remove + abseil-cpp +## REMOVE ^ + dawn + ) + file(REMOVE_RECURSE "${SOURCE_PATH}/third_party/externals/opengl-registry") + file(INSTALL "${CURRENT_INSTALLED_DIR}/share/opengl/" DESTINATION "${SOURCE_PATH}/third_party/externals/opengl-registry/xml") + # cf. external dawn/src/dawn/native/BUILD.gn + string(APPEND OPTIONS " skia_use_dawn=true dawn_use_swiftshader=false") + if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + string(APPEND OPTIONS " dawn_complete_static_libs=true") + endif() +endif() - set(OPTIONS_REL "${OPTIONS_REL} extra_cflags_c=${SKIA_C_FLAGS_REL} \ - extra_cflags_cc=${SKIA_CXX_FLAGS_REL}") +get_externals(${required_externals}) +if(EXISTS "${SOURCE_PATH}/third_party/externals/dawn") + vcpkg_find_acquire_program(GIT) + vcpkg_replace_string("${SOURCE_PATH}/third_party/externals/dawn/generator/dawn_version_generator.py" + "get_git()," + "\"${GIT}\"," + ) +endif() +if("icu" IN_LIST FEATURES) + vcpkg_replace_string("${SOURCE_PATH}/third_party/icu/BUILD.gn" + [[config("vcpkg_icu") {]] + [[import("icu.gni") +config("vcpkg_icu") {]]) +endif() - set(WIN_VC "$ENV{VCINSTALLDIR}") - string(REPLACE "\\VC\\" "\\VC" WIN_VC "${WIN_VC}") - set(OPTIONS_DBG "${OPTIONS_DBG} win_vc=\"${WIN_VC}\"") - set(OPTIONS_REL "${OPTIONS_REL} win_vc=\"${WIN_VC}\"") +vcpkg_find_acquire_program(PYTHON3) +vcpkg_replace_string("${SOURCE_PATH}/.gn" "script_executable = \"python3\"" "script_executable = \"${PYTHON3}\"") +vcpkg_replace_string("${SOURCE_PATH}/gn/toolchain/BUILD.gn" "python3 " "\\\"${PYTHON3}\\\" ") + +vcpkg_cmake_get_vars(cmake_vars_file) +include("${cmake_vars_file}") +if(VCPKG_TARGET_IS_WINDOWS) + string(REGEX REPLACE "[\\]\$" "" WIN_VC "$ENV{VCINSTALLDIR}") + string(REGEX REPLACE "[\\]\$" "" WIN_SDK "$ENV{WindowsSdkDir}") + string(APPEND OPTIONS " win_vc=\"${WIN_VC}\"") + string(APPEND OPTIONS " win_sdk=\"${WIN_SDK}\"") +elseif(VCPKG_TARGET_IS_ANDROID) + string(APPEND OPTIONS " ndk=\"${VCPKG_DETECTED_CMAKE_ANDROID_NDK}\" ndk_api=${VCPKG_DETECTED_CMAKE_SYSTEM_VERSION}") +else() + string(APPEND OPTIONS " \ + cc=\"${VCPKG_DETECTED_CMAKE_C_COMPILER}\" \ + cxx=\"${VCPKG_DETECTED_CMAKE_CXX_COMPILER}\"") +endif() +string_to_gn_list(SKIA_C_FLAGS_DBG "${VCPKG_COMBINED_C_FLAGS_DEBUG}") +string_to_gn_list(SKIA_CXX_FLAGS_DBG "${VCPKG_COMBINED_CXX_FLAGS_DEBUG}") +string(APPEND OPTIONS_DBG " \ + extra_cflags_c=${SKIA_C_FLAGS_DBG} \ + extra_cflags_cc=${SKIA_CXX_FLAGS_DBG}") +string_to_gn_list(SKIA_C_FLAGS_REL "${VCPKG_COMBINED_C_FLAGS_RELEASE}") +string_to_gn_list(SKIA_CXX_FLAGS_REL "${VCPKG_COMBINED_CXX_FLAGS_RELEASE}") +string(APPEND OPTIONS_REL " \ + extra_cflags_c=${SKIA_C_FLAGS_REL} \ + extra_cflags_cc=${SKIA_CXX_FLAGS_REL}") +if(VCPKG_TARGET_IS_UWP) + string_to_gn_list(SKIA_LD_FLAGS "-APPCONTAINER WindowsApp.lib") + string(APPEND OPTIONS " extra_ldflags=${SKIA_LD_FLAGS}") endif() -vcpkg_configure_gn( +vcpkg_gn_configure( SOURCE_PATH "${SOURCE_PATH}" + OPTIONS "${OPTIONS}" OPTIONS_DEBUG "${OPTIONS_DBG}" OPTIONS_RELEASE "${OPTIONS_REL}" ) -vcpkg_install_gn( +skia_gn_install( SOURCE_PATH "${SOURCE_PATH}" - TARGETS ":skia" -) - -message(STATUS "Installing: ${CURRENT_PACKAGES_DIR}/include/${PORT}") -file(COPY "${SOURCE_PATH}/include" - DESTINATION "${CURRENT_PACKAGES_DIR}/include") -file(RENAME "${CURRENT_PACKAGES_DIR}/include/include" - "${CURRENT_PACKAGES_DIR}/include/${PORT}") -file(GLOB_RECURSE SKIA_INCLUDE_FILES LIST_DIRECTORIES false - "${CURRENT_PACKAGES_DIR}/include/${PORT}/*") -foreach(file_ ${SKIA_INCLUDE_FILES}) - vcpkg_replace_string("${file_}" "#include \"include/" "#include \"${PORT}/") -endforeach() - -# get a list of library dependencies for TARGET -function(gn_desc_target_libs OUTPUT BUILD_DIR TARGET) - vcpkg_find_acquire_program(GN) - execute_process( - COMMAND ${GN} desc "${BUILD_DIR}" "${TARGET}" libs - WORKING_DIRECTORY "${SOURCE_PATH}" - OUTPUT_VARIABLE OUTPUT_ - OUTPUT_STRIP_TRAILING_WHITESPACE - ) - string(REGEX REPLACE "\n|(\r\n)" ";" OUTPUT_ "${OUTPUT_}") - set(${OUTPUT} ${OUTPUT_} PARENT_SCOPE) -endfunction() - -# skiaConfig.cmake.in input variables -gn_desc_target_libs(SKIA_DEP_DBG - "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg" - //:skia) -gn_desc_target_libs(SKIA_DEP_REL - "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel" - //:skia) - -configure_file("${CMAKE_CURRENT_LIST_DIR}/skiaConfig.cmake.in" - "${CURRENT_PACKAGES_DIR}/share/skia/skiaConfig.cmake" @ONLY) - -vcpkg_copy_pdbs() -file(INSTALL "${SOURCE_PATH}/LICENSE" - DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" - RENAME copyright) + TARGETS ${SKIA_TARGETS} +) + +# Use skia repository layout in ${CURRENT_PACKAGES_DIR}/include/skia +file(COPY "${SOURCE_PATH}/include" + "${SOURCE_PATH}/modules" + "${SOURCE_PATH}/src" + DESTINATION "${CURRENT_PACKAGES_DIR}/include/skia" + FILES_MATCHING PATTERN "*.h" +) +auto_clean("${CURRENT_PACKAGES_DIR}/include/skia") +set(skia_dll_static "0") +set(skia_dll_dynamic "1") +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/skia/include/private/base/SkAPI.h" "defined(SKIA_DLL)" "${skia_dll_${VCPKG_LIBRARY_LINKAGE}}") + +# vcpkg legacy layout omits "include/" component. Just duplicate. +file(COPY "${CURRENT_PACKAGES_DIR}/include/skia/include/" DESTINATION "${CURRENT_PACKAGES_DIR}/include/skia") + +# vcpkg legacy +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/skiaConfig.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/skia") + +file(INSTALL + "${CMAKE_CURRENT_LIST_DIR}/example/CMakeLists.txt" + "${SOURCE_PATH}/tools/convert-to-nia.cpp" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}/example" +) +file(APPEND "${CURRENT_PACKAGES_DIR}/share/${PORT}/example/convert-to-nia.cpp" [[ +// Test for https://github.com/microsoft/vcpkg/issues/27219 +#include "include/core/SkColorSpace.h" +]]) + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") + +file(GLOB third_party_licenses "${SOURCE_PATH}/third_party_licenses/*") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE" ${third_party_licenses}) diff --git a/ports/skia/skia-functions.cmake b/ports/skia/skia-functions.cmake new file mode 100644 index 00000000000000..5b026d56049bca --- /dev/null +++ b/ports/skia/skia-functions.cmake @@ -0,0 +1,468 @@ +# Declare a named external dependency for download with vcpkg_from_git, +# and validate against upstream's DEPS. +function(declare_external_from_git name) + cmake_parse_arguments(PARSE_ARGV 1 arg "" "URL;REF;LICENSE_FILE" "") + if(NOT arg_URL OR NOT arg_REF OR NOT arg_LICENSE_FILE) + message(FATAL_ERROR "Arguments URL, REF and LICENSE_FILE are required.") + endif() + set(actual "${arg_URL}@${arg_REF}") + file(STRINGS "${SOURCE_PATH}/DEPS" upstream REGEX "\"third_party/externals/${name}\"") + string(REPLACE "https://chromium.googlesource.com/external/github.com" "https://github.com" upstream "${upstream}") + string(REPLACE "https://skia.googlesource.com/external/github.com" "https://github.com" upstream "${upstream}") + string(FIND "${upstream}" "${arg_URL}@${arg_REF}" pos) + if(pos STREQUAL "-1") + string(REGEX REPLACE "^[^:]*: *" "" upstream "${upstream}") + message(WARNING "Dependency ${name} diverges from upstream. Upstream: ${upstream} Actual: \"${actual}\"") + endif() + set(skia_external_license_${name} "${arg_LICENSE_FILE}" PARENT_SCOPE) + list(REMOVE_ITEM ARGN "LICENSE_FILE" "${arg_LICENSE_FILE}") + set(skia_external_git_${name} "${ARGN}" PARENT_SCOPE) +endfunction() + +# Declare a named external dependencies to be resolved via pkgconfig. +function(declare_external_from_pkgconfig name) + set(skia_external_pkgconfig_${name} "${ARGN}" PARENT_SCOPE) +endfunction() + +# Declare a named external dependencies to be resolved via vcpkg installed tree. +function(declare_external_from_vcpkg name) + set(skia_external_vcpkg_${name} "${ARGN}" PARENT_SCOPE) +endfunction() + +# Download and integrate named external dependencies. +# Downlods must be handled before vcpkg in order to support --only-downloads mode. +function(get_externals) + set(licenses_dir "${SOURCE_PATH}/third_party_licenses") + file(REMOVE_RECURSE "${licenses_dir}") + file(MAKE_DIRECTORY "${licenses_dir}") + + list(REMOVE_DUPLICATES ARGN) + set(from_git "") + set(from_pkgconfig "") + set(from_vcpkg "") + foreach(name IN LISTS ARGN) + if(DEFINED "skia_external_git_${name}") + list(APPEND from_git "${name}") + elseif(DEFINED "skia_external_pkgconfig_${name}") + list(APPEND from_pkgconfig "${name}") + elseif(DEFINED "skia_external_vcpkg_${name}") + list(APPEND from_vcpkg "${name}") + else() + message(FATAL_ERROR "Unknown external dependency '${name}'") + endif() + endforeach() + foreach(name IN LISTS from_git) + set(dir "third_party/externals/${name}") + if(EXISTS "${SOURCE_PATH}/${dir}") + message(STATUS "Using existing ${dir}") + continue() + endif() + message(STATUS "Creating ${dir}") + file(MAKE_DIRECTORY "${SOURCE_PATH}/third_party/externals") + vcpkg_from_git( + OUT_SOURCE_PATH staging_dir + ${skia_external_git_${name}} + ) + file(RENAME "${staging_dir}" "${SOURCE_PATH}/${dir}") + + set(license_file "${SOURCE_PATH}/${dir}/${skia_external_license_${name}}") + cmake_path(GET license_file FILENAME filename) + file(COPY_FILE "${license_file}" "${licenses_dir}/## ${name} ${filename}") + endforeach() + foreach(name IN LISTS from_pkgconfig) + third_party_from_pkgconfig("${name}" ${skia_external_pkgconfig_${name}}) + endforeach() + foreach(name IN LISTS from_vcpkg) + third_party_from_vcpkg("${name}" ${skia_external_vcpkg_${name}}) + endforeach() +endfunction() + +# Setup a third-party dependency from pkg-config data +function(third_party_from_pkgconfig gn_group) + cmake_parse_arguments(PARSE_ARGV 1 arg "" "PATH" "DEFINES;MODULES") + if(NOT arg_PATH) + set(arg_PATH "third_party/${gn_group}") + endif() + if(NOT arg_MODULES) + set(arg_MODULES "${gn_group}") + endif() + if(arg_UNPARSED_ARGUMENTS) + message(FATAL_ERROR "Unparsed arguments: ${arg_UNPARSED_ARGUMENTS}") + endif() + x_vcpkg_pkgconfig_get_modules(PREFIX PC_${module} MODULES ${arg_MODULES} CFLAGS LIBS) + foreach(config IN ITEMS DEBUG RELEASE) + separate_arguments(cflags UNIX_COMMAND "${PC_${module}_CFLAGS_${config}}") + set(defines "${cflags}") + list(FILTER defines INCLUDE REGEX "^-D" ) + list(TRANSFORM defines REPLACE "^-D" "") + list(APPEND defines ${arg_DEFINES}) + set(include_dirs "${cflags}") + list(FILTER include_dirs INCLUDE REGEX "^-I" ) + list(TRANSFORM include_dirs REPLACE "^-I" "") + separate_arguments(libs UNIX_COMMAND "${PC_${module}_LIBS_${config}}") + set(lib_dirs "${libs}") + list(FILTER lib_dirs INCLUDE REGEX "^-L" ) + list(TRANSFORM lib_dirs REPLACE "^-L" "") + # Passing link libraries via ldflags, cf. third-party.gn.in + set(ldflags "${libs}") + list(FILTER ldflags INCLUDE REGEX "^-l" ) + if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + list(TRANSFORM ldflags REPLACE "^-l" "") + list(TRANSFORM ldflags APPEND ".lib") + set(libs_with_path "") + # At least icu must be newer than in Windows SDK + foreach(name IN LISTS ldflags) + set(filepath NOTFOUND) + find_file(filepath NAMES "${name}" PATHS ${lib_dirs} NO_DEFAULT_PATH NO_CACHE) + if(filepath) + list(APPEND libs_with_path "${filepath}") + else() + list(APPEND libs_with_path "${name}") + endif() + endforeach() + set(ldflags "${libs_with_path}") + endif() + set(GN_OUT_${config} "") + foreach(item IN ITEMS defines include_dirs lib_dirs ldflags) + set("gn_${item}_${config}" "") + if(NOT "${${item}}" STREQUAL "") + list(JOIN ${item} [[", "]] list) + set("gn_${item}_${config}" "\"${list}\"") + endif() + endforeach() + endforeach() + configure_file("${CMAKE_CURRENT_LIST_DIR}/third-party.gn.in" "${SOURCE_PATH}/${arg_PATH}/BUILD.gn" @ONLY) +endfunction() + +# Setup a third-party dependency from vcpkg installed tree +function(third_party_from_vcpkg gn_group) + cmake_parse_arguments(PARSE_ARGV 1 arg "" "PATH" "") + if(NOT arg_PATH) + set(arg_PATH "third_party/${gn_group}") + endif() + if(arg_UNPARSED_ARGUMENTS) + message(FATAL_ERROR "Unparsed arguments: ${arg_UNPARSED_ARGUMENTS}") + endif() + set(defines "") + set(include_dirs "${CURRENT_INSTALLED_DIR}/include") + set(libdirs_RELEASE "${CURRENT_INSTALLED_DIR}/lib") + set(libdirs_DEBUG "${CURRENT_INSTALLED_DIR}/debug/lib") + set(ldflags "") + foreach(config IN ITEMS DEBUG RELEASE) + set(lib_dirs "${libdirs_${config}}") + set(GN_OUT_${config} "") + foreach(item IN ITEMS defines include_dirs lib_dirs ldflags) + set("gn_${item}_${config}" "") + if(NOT "${${item}}" STREQUAL "") + list(JOIN ${item} [[", "]] list) + set("gn_${item}_${config}" "\"${list}\"") + endif() + endforeach() + endforeach() + configure_file("${CMAKE_CURRENT_LIST_DIR}/third-party.gn.in" "${SOURCE_PATH}/${arg_PATH}/BUILD.gn" @ONLY) +endfunction() + +# Turn a space separated string into a gn list: +# "a b c" -> ["a","b","c"] +function(string_to_gn_list out_var input) + separate_arguments(list UNIX_COMMAND "${input}") + if(NOT list STREQUAL "") + list(JOIN list [[","]] temp) + set(list "\"${temp}\"") + endif() + set("${out_var}" "[${list}]" PARENT_SCOPE) +endfunction() + +# Remove all empty directories. +function(auto_clean dir) + file(GLOB entries "${dir}/*") + file(GLOB files LIST_DIRECTORIES false "${dir}/*") + foreach(entry IN LISTS entries) + if(entry IN_LIST files) + continue() + endif() + file(GLOB_RECURSE children "${entry}/*") + if(children) + auto_clean("${entry}") + else() + file(REMOVE_RECURSE "${entry}") + endif() + endforeach() +endfunction() + +function(list_from_json out_var json) # + vcpkg_list(SET list) + string(JSON array ERROR_VARIABLE error GET "${json}" ${ARGN}) + if(NOT error) + string(JSON len ERROR_VARIABLE error LENGTH "${array}") + if(NOT error AND NOT len STREQUAL "0") + math(EXPR last "${len} - 1") + foreach(i RANGE "${last}") + string(JSON item GET "${array}" "${i}") + vcpkg_list(APPEND list "${item}") + endforeach() + endif() + endif() + set("${out_var}" "${list}" PARENT_SCOPE) +endfunction() + +# Expand gn targets for installable components. +function(expand_gn_targets targets_var desc_var source_path) + set(expand_gn_targets_components "") + set(expand_gn_targets_visited "") + foreach(gn_target IN LISTS "${targets_var}") + expand_gn_targets_recurse("${gn_target}" "${desc_var}" "${source_path}") + endforeach() + set("${targets_var}" "${expand_gn_targets_components}" PARENT_SCOPE) +endfunction() + +# Private helper for expand_gn_targets. +function(expand_gn_targets_recurse gn_target desc_var source_path) + # shortcuts + if(gn_target IN_LIST expand_gn_targets_components) + return() + elseif(gn_target IN_LIST expand_gn_targets_visited) + return() + endif() + list(APPEND expand_gn_targets_visited "${gn_target}") + + # current target + set(recurse 1) + string(JSON current_json GET "${${desc_var}}" "${gn_target}") + string(JSON target_type GET "${current_json}" "type") + if(target_type STREQUAL "static_library" AND VCPKG_LIBRARY_LINKAGE STREQUAL "static") + string(REGEX REPLACE "^//([^:]*):(.*)\$" "${source_path}/\\1/BUILD.gn" build_gn_file "${gn_target}") + if(EXISTS "${build_gn_file}") + # skia's third-party "dawn_component" creates separate _shared/_static libs. + string(REGEX REPLACE "^(.*)(_static|_shared)\$" "(\\1\\2|\\1)" name_pattern "${CMAKE_MATCH_2}") + file(STRINGS "${build_gn_file}" maybe_component REGEX "component[(]\"${name_pattern}\"[)]") + if(NOT maybe_component STREQUAL "") + list(APPEND expand_gn_targets_components "${gn_target}") + endif() + else() + message(WARNING "No ${build_gn_file}") + endif() + elseif(target_type MATCHES "^(executable|loadable_module|shared_library)\$") + list(APPEND expand_gn_targets_components "${gn_target}") + elseif(NOT target_type MATCHES "^(group|source_set)\$") + set(recurse 0) + endif() + + if(recurse) + list_from_json(deps "${current_json}" "deps") + foreach(dep IN LISTS deps) + expand_gn_targets_recurse("${dep}" "${desc_var}" "${source_path}") + endforeach() + endif() + + set(expand_gn_targets_components "${expand_gn_targets_components}" PARENT_SCOPE) + set(expand_gn_targets_visited "${expand_gn_targets_visited}" PARENT_SCOPE) +endfunction() + +# Provide a cmake target name (w/o namespace) in out_var +function(get_cmake_target out_var gn_target) + if(gn_target MATCHES "/([^:/]+):") + string(REPLACE "/${CMAKE_MATCH_1}:${CMAKE_MATCH_1}" "/${CMAKE_MATCH_1}" gn_target "${gn_target}") + endif() + string(REGEX REPLACE "[:/]+" "::" target "unofficial/${PORT}${gn_target}") + set("${out_var}" "${target}" PARENT_SCOPE) +endfunction() + +# Put the target's SK_<...> definitions in out_var +function(get_definitions out_var desc_json target) + list_from_json(output "${desc_json}" "${target}" "defines") + list(FILTER output INCLUDE REGEX "^SK_") + set("${out_var}" "${output}" PARENT_SCOPE) +endfunction() + +# Put the target's link libraries in out_var +function(get_link_libs out_var desc_json target) + # We don't pass this variable explicitly now. + separate_arguments(known_standard_libraries NATIVE_COMMAND "${VCPKG_DETECTED_CMAKE_CXX_STANDARD_LIBRARIES}") + # From ldflags, we only want lib names or filepaths (cf. declare_external_from_pkgconfig) + list_from_json(ldflags "${desc_json}" "${target}" "ldflags") + string(REPLACE "-isysroot;" "-isysroot " ldflags "${ldflags}") + if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + list(FILTER ldflags INCLUDE REGEX "[.]lib\$") + else() + list(FILTER ldflags INCLUDE REGEX "^-l|^/") + endif() + list(TRANSFORM ldflags REPLACE "^-l" "") + list_from_json(libs "${desc_json}" "${target}" "libs") + vcpkg_list(SET frameworks) + if(VCPKG_TARGET_IS_OSX OR VCPKG_TARGET_IS_IOS) + list_from_json(frameworks "${desc_json}" "${target}" "frameworks") + list(TRANSFORM frameworks REPLACE "^(.*)[.]framework\$" "-framework \\1") + endif() + vcpkg_list(SET output) + foreach(lib IN LISTS frameworks ldflags libs) + if(VCPKG_TARGET_IS_WINDOWS) + string(TOLOWER "${lib}" lib_key) + else() + set(lib_key "{lib}") + endif() + if(lib_key IN_LIST known_standard_libraries) + continue() + endif() + string(REPLACE "${CURRENT_INSTALLED_DIR}" "\${z_vcpkg_${PORT}_root}" lib "${lib}") + string(REPLACE "${CURRENT_PACKAGES_DIR}" "\${z_vcpkg_${PORT}_root}" lib "${lib}") + if(NOT lib MATCHES "^-L") + vcpkg_list(REMOVE_ITEM output "${lib}") + endif() + vcpkg_list(APPEND output "${lib}") + endforeach() + set("${out_var}" "${output}" PARENT_SCOPE) +endfunction() + +# A revised variant of vcpkg_gn_install +function(skia_gn_install_build_type) + cmake_parse_arguments(PARSE_ARGV 0 "arg" "" "BUILD_TYPE;SOURCE_PATH;INSTALL_DIR;LABEL" "TARGETS") + if(DEFINED arg_UNPARSED_ARGUMENTS) + message(FATAL_ERROR "Internal error: skia_gn_install_build_type was passed extra arguments: ${arg_UNPARSED_ARGUMENTS}") + endif() + + set(build_dir "${CURRENT_BUILDTREES_DIR}/${arg_LABEL}") + + # `gn desc json` output is dual-use: logging (early) and further processing + # Cf. https://github.com/universeroc/gn/blob/master/docs/reference.md#desc + vcpkg_find_acquire_program(GN) + vcpkg_execute_required_process( + COMMAND "${GN}" desc --format=json --all --testonly=false "${build_dir}" "*" + WORKING_DIRECTORY "${arg_SOURCE_PATH}" + LOGNAME "desc-${arg_LABEL}" + ) + + # build + set(VCPKG_BUILD_TYPE "${arg_BUILD_TYPE}") + vcpkg_build_ninja(TARGETS ${arg_TARGETS}) + + # install and export + set(logfile "${CURRENT_BUILDTREES_DIR}/install-${arg_LABEL}.log") + file(WRITE "${logfile}" "") + message(STATUS "Installing (${arg_LABEL})...") + + file(MAKE_DIRECTORY "${arg_INSTALL_DIR}/share/unofficial-${PORT}") + + list(TRANSFORM arg_TARGETS PREPEND "//") + file(READ "${CURRENT_BUILDTREES_DIR}/desc-${arg_LABEL}-out.log" desc) + string(REGEX REPLACE "^([^{]+)\n{\n" "{\n" desc "${desc}") + if(NOT "${CMAKE_MATCH_1}" STREQUAL "") + message(STATUS "${CMAKE_MATCH_1}") + endif() + expand_gn_targets(arg_TARGETS desc "${arg_SOURCE_PATH}") + + string(TOUPPER "${arg_BUILD_TYPE}" cmake_build_type) + set(cmake_config_genex [[\$>]]) + if(cmake_build_type STREQUAL "DEBUG") + set(cmake_config_genex [[\$]]) + endif() + + foreach(gn_target IN LISTS arg_TARGETS) + get_cmake_target(cmake_target "${gn_target}") + set(add_target "add_library(${cmake_target} INTERFACE IMPORTED)") + set(has_location "0") + set(imported_location "") + set(not_executable "1") + string(JSON target_type GET "${desc}" "${gn_target}" "type") + + set(link_language "C") + string(JSON sources ERROR_VARIABLE unused GET "${desc}" "${gn_target}" "sources") + if(sources MATCHES "[.]cxx|[.]cpp") + set(link_language "CXX") + endif() + + list_from_json(outputs "${desc}" "${gn_target}" "outputs") + foreach(output IN LISTS outputs) + if(CMAKE_HOST_WIN32) + # absolute path (e.g. /C:/path/to/target.lib) + string(REGEX REPLACE "^/([^/]:)" "\\1" output "${output}") + endif() + # relative path (e.g. //out/Release/target.lib) + string(REGEX REPLACE "^//" "${arg_SOURCE_PATH}/" output "${output}") + + cmake_path(GET output FILENAME filename) + set(add_target "add_library(${cmake_target} UNKNOWN IMPORTED)") + set(destination "${arg_INSTALL_DIR}/lib") + set(has_location "1") + if(target_type STREQUAL "executable") + set(add_target "add_executable(${cmake_target} IMPORTED)") + set(destination "${arg_INSTALL_DIR}/tools/${PORT}") + set(imported_location "${destination}/${filename}") + set(not_executable "0") + elseif(filename MATCHES "\\.(dll|pdb)\$") + if(CMAKE_MATCH_1 STREQUAL "pdb" AND NOT EXISTS "${output}") + continue() + endif() + set(destination "${arg_INSTALL_DIR}/bin") + # Do not set (overwrite) imported_location + else() + set(imported_location "${destination}/${filename}") + endif() + # output artifact installation + file(APPEND "${logfile}" "Installing: ${destination}/${filename}\n") + file(COPY "${output}" DESTINATION "${destination}") + endforeach() + + # CMake target properties + string(REPLACE "::" "-" basename "${cmake_target}") + get_definitions(interface_compile_definitions "${desc}" "${gn_target}") + get_link_libs(interface_link_libs "${desc}" "${gn_target}") + set(interface_link_targets "") + list_from_json(deps "${desc}" "${gn_target}" "deps") + foreach(dep IN LISTS deps) + if(dep IN_LIST arg_TARGETS) + get_cmake_target(cmake_dep "${dep}") + list(APPEND interface_link_targets "${cmake_dep}") + endif() + endforeach() + file(APPEND "${logfile}" "Installing: ${arg_INSTALL_DIR}/share/unofficial-${PORT}/${basename}-targets.cmake\n") + configure_file("${CMAKE_CURRENT_LIST_DIR}/unofficial-${PORT}-targets.cmake" "${arg_INSTALL_DIR}/share/unofficial-${PORT}/${basename}-targets.cmake" @ONLY) + file(APPEND "${logfile}" "Installing: ${arg_INSTALL_DIR}/share/unofficial-${PORT}/${basename}-targets-${arg_BUILD_TYPE}.cmake\n") + configure_file("${CMAKE_CURRENT_LIST_DIR}/unofficial-${PORT}-targets-details.cmake" "${arg_INSTALL_DIR}/share/unofficial-${PORT}/${basename}-targets-${arg_BUILD_TYPE}.cmake" @ONLY) + endforeach() + + # Main CMake config file + file(APPEND "${logfile}" "Installing: ${arg_INSTALL_DIR}/share/unofficial-${PORT}/unofficial-${PORT}-config.cmake\n") + configure_file("${CMAKE_CURRENT_LIST_DIR}/unofficial-${PORT}-config.cmake" "${arg_INSTALL_DIR}/share/unofficial-${PORT}/unofficial-${PORT}-config.cmake" @ONLY) +endfunction() + +# A revised variant of vcpkg_gn_install +function(skia_gn_install) + cmake_parse_arguments(PARSE_ARGV 0 arg "" "SOURCE_PATH" "TARGETS") + + if(DEFINED arg_UNPARSED_ARGUMENTS) + message(WARNING "vcpkg_gn_install was passed extra arguments: ${arg_UNPARSED_ARGUMENTS}") + endif() + if(NOT DEFINED arg_SOURCE_PATH) + message(FATAL_ERROR "SOURCE_PATH must be specified.") + endif() + + set(auto_clean_debug_share TRUE) + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/share") + set(auto_clean_debug_share FALSE) + endif() + skia_gn_install_build_type( + BUILD_TYPE debug + LABEL "${TARGET_TRIPLET}-dbg" + SOURCE_PATH "${arg_SOURCE_PATH}" + INSTALL_DIR "${CURRENT_PACKAGES_DIR}/debug" + TARGETS ${arg_TARGETS} + ) + endif() + + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + skia_gn_install_build_type( + BUILD_TYPE release + LABEL "${TARGET_TRIPLET}-rel" + SOURCE_PATH "${arg_SOURCE_PATH}" + INSTALL_DIR "${CURRENT_PACKAGES_DIR}" + TARGETS ${arg_TARGETS} + ) + endif() + + vcpkg_cmake_config_fixup(PACKAGE_NAME "unofficial-${PORT}") + if(auto_clean_debug_share) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + endif() +endfunction() diff --git a/ports/skia/skia-include-string.patch b/ports/skia/skia-include-string.patch new file mode 100644 index 00000000000000..af72cddabe08a1 --- /dev/null +++ b/ports/skia/skia-include-string.patch @@ -0,0 +1,11 @@ +--- a/src/gpu/ganesh/d3d/GrD3DUtil.h 2024-01-23 22:09:34 ++++ b/src/gpu/ganesh/d3d/GrD3DUtil.h 2024-02-01 18:09:20 +@@ -8,6 +8,8 @@ + #ifndef GrD3DUtil_DEFINED + #define GrD3DUtil_DEFINED + ++#include ++ + #include "include/core/SkImage.h" + #include "include/gpu/GrTypes.h" + #include "include/gpu/d3d/GrD3DTypes.h" diff --git a/ports/skia/skiaConfig.cmake b/ports/skia/skiaConfig.cmake new file mode 100644 index 00000000000000..b86605711c5370 --- /dev/null +++ b/ports/skia/skiaConfig.cmake @@ -0,0 +1,19 @@ +file(READ "${CMAKE_CURRENT_LIST_DIR}/usage" usage) +message(AUTHOR_WARNING "find_package(skia) is deprecated.\n${usage}") +include(CMakeFindDependencyMacro) +find_dependency(unofficial-skia) +if(NOT TARGET skia) + get_filename_component(z_vcpkg_skia_root "${CMAKE_CURRENT_LIST_FILE}" PATH) + get_filename_component(z_vcpkg_skia_root "${z_vcpkg_skia_root}" PATH) + get_filename_component(z_vcpkg_skia_root "${z_vcpkg_skia_root}" PATH) + if(z_vcpkg_skia_root STREQUAL "/") + set(z_vcpkg_skia_root "") + endif() + add_library(skia INTERFACE IMPORTED) + set_target_properties(skia PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${z_vcpkg_skia_root}/include" + INTERFACE_LINK_LIBRARIES unofficial::skia::skia + ) + add_library(skia::skia ALIAS skia) + unset(z_vcpkg_skia_root) +endif() diff --git a/ports/skia/skiaConfig.cmake.in b/ports/skia/skiaConfig.cmake.in deleted file mode 100644 index 8ce8c1002d26a2..00000000000000 --- a/ports/skia/skiaConfig.cmake.in +++ /dev/null @@ -1,85 +0,0 @@ -add_library(skia INTERFACE) -add_library(skia::skia ALIAS skia) -set(SKIA_DEP_DBG @SKIA_DEP_DBG@) -set(SKIA_DEP_REL @SKIA_DEP_REL@) - -set(SKIA_LIBRARY_NAME_DBG @SKIA_LIBRARY_NAME_DBG@) -set(SKIA_LIBRARY_NAME_REL @SKIA_LIBRARY_NAME_REL@) -set(SKIA_LIBRARY_IMPLIB_DBG @SKIA_LIBRARY_IMPLIB_DBG@) -set(SKIA_LIBRARY_IMPLIB_REL @SKIA_LIBRARY_IMPLIB_REL@) - -set(SKIA_PUBLIC_DEFINITIONS @SKIA_PUBLIC_DEFINITIONS@) - -# 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() - -find_library(SKIA_LIB NAMES skia skia.dll) -target_link_libraries(skia INTERFACE "${SKIA_LIB}") - -function(set_dependencies CONFIG LIBRARIES) - foreach(LIB ${LIBRARIES}) - if(LIB MATCHES "^/") - if(WIN32) - string(SUBSTRING "${LIB}" 1 -1 LIB) - endif() - target_link_libraries(skia INTERFACE - "$<$:${LIB}>") - else() - string(REGEX REPLACE "\\.framework" "" LIB ${LIB}) - string(REGEX REPLACE "[^a-zA-Z]" "_" LIB_NAME ${LIB}) - string(TOUPPER ${LIB_NAME} LIB_NAME) - set(LIB_NAME SKIA_${LIB_NAME}_LIBRARY) - find_library(${LIB_NAME} ${LIB}) - target_link_libraries(skia INTERFACE - "$<$:${${LIB_NAME}}>") - endif() - endforeach() -endfunction() - -set_dependencies(Debug "${SKIA_DEP_DBG}") -set_dependencies(Release "${SKIA_DEP_REL}") - -set(SKIA_DEFINITIONS_DBG - _CRT_SECURE_NO_WARNINGS - _HAS_EXCEPTIONS=0 - WIN32_LEAN_AND_MEAN - NOMINMAX - SK_GL - SK_ENABLE_DUMP_GPU - SK_SUPPORT_PDF - SK_HAS_JPEG_LIBRARY - SK_USE_LIBGIFCODEC - SK_HAS_HEIF_LIBRARY - SK_HAS_PNG_LIBRARY - SK_ENABLE_SKSL_INTERPRETER - SK_HAS_WEBP_LIBRARY - SK_XML - SKIA_DLL - SK_SUPPORT_ATLAS_TEXT=1) - -set(SKIA_DEFINITIONS_REL - _CRT_SECURE_NO_WARNINGS - _HAS_EXCEPTIONS=0 - WIN32_LEAN_AND_MEAN - NOMINMAX - NDEBUG - SK_GL - SK_SUPPORT_PDF - SK_HAS_JPEG_LIBRARY - SK_USE_LIBGIFCODEC - SK_HAS_PNG_LIBRARY - SK_HAS_WEBP_LIBRARY - SK_XML - SKIA_DLL) - -target_compile_definitions(skia INTERFACE - $<$:${SKIA_DEFINITIONS_DBG}> - $<$:${SKIA_DEFINITIONS_REL}>) - -target_include_directories(skia INTERFACE ${_IMPORT_PREFIX}/include) -target_compile_definitions(skia INTERFACE ${SKIA_PUBLIC_DEFINITIONS}) diff --git a/ports/skia/third-party.gn.in b/ports/skia/third-party.gn.in new file mode 100644 index 00000000000000..b637002605f242 --- /dev/null +++ b/ports/skia/third-party.gn.in @@ -0,0 +1,25 @@ +# While propagating "libs", gn would omit duplicate items, +# possibly breaking linking order of static libraries. +# "ldflags" are propagated literally, via "all_dependent_configs". +config("vcpkg_@gn_group@") { + if(is_debug) { + defines = [ @gn_defines_DEBUG@ ] + include_dirs = [ @gn_include_dirs_DEBUG@ ] + } else { + defines = [ @gn_defines_RELEASE@ ] + include_dirs = [ @gn_include_dirs_RELEASE@ ] + } +} +config("vcpkg_@gn_group@_link_libraries") { + if(is_debug) { + lib_dirs = [ @gn_lib_dirs_DEBUG@ ] + ldflags = [ @gn_ldflags_DEBUG@ ] + } else { + lib_dirs = [ @gn_lib_dirs_RELEASE@ ] + ldflags = [ @gn_ldflags_RELEASE@ ] + } +} +group("@gn_group@") { + public_configs = [ ":vcpkg_@gn_group@" ] + all_dependent_configs = [ ":vcpkg_@gn_group@_link_libraries" ] +} diff --git a/ports/skia/unofficial-skia-config.cmake b/ports/skia/unofficial-skia-config.cmake new file mode 100644 index 00000000000000..930511feff822c --- /dev/null +++ b/ports/skia/unofficial-skia-config.cmake @@ -0,0 +1,44 @@ +if(NOT COMMAND z_vcpkg_@PORT@_get_link_libraries) + function(z_vcpkg_@PORT@_get_link_libraries out_var type libraries) + set(libs "") + if(type STREQUAL "DEBUG") + set(vcpkg_link_directories "${z_vcpkg_@PORT@_root}/debug/lib" "${z_vcpkg_@PORT@_root}/lib") + else() + set(vcpkg_link_directories "${z_vcpkg_@PORT@_root}/lib" "${z_vcpkg_@PORT@_root}/debug/lib") + endif() + foreach(lib IN LISTS libraries) + if(lib MATCHES [[^/|^(dl|m|pthread)$|^-framework ]]) + list(APPEND libs "${lib}") + elseif(EXISTS "${lib}") + list(APPEND libs "${lib}") + else() + string(MAKE_C_IDENTIFIER "${out_var}_${lib}_${type}" lib_var) + find_library("${lib_var}" NAMES "${lib}" NAMES_PER_DIR PATHS ${vcpkg_link_directories}) + mark_as_advanced("${lib_var}") + if(${lib_var}) + list(APPEND libs "${${lib_var}}") + else() + find_library("${lib_var}" NAMES "${lib}" NAMES_PER_DIR PATHS ${CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES} NO_DEFAULT_PATH) + if(${lib_var}) + list(APPEND libs "${lib}") + else() + message(WARNING "Omitting '${lib}' from link libraries.") + endif() + endif() + endif() + endforeach() + set("${out_var}" "${libs}" PARENT_SCOPE) + endfunction() +endif() + +get_filename_component(z_vcpkg_@PORT@_root "${CMAKE_CURRENT_LIST_DIR}" PATH) +get_filename_component(z_vcpkg_@PORT@_root "${z_vcpkg_@PORT@_root}" PATH) + +file(GLOB z_vcpkg_@PORT@_config_files "${CMAKE_CURRENT_LIST_DIR}/unofficial-@PORT@-*-targets.cmake") +foreach(z_vcpkg_@PORT@_config_file IN LISTS z_vcpkg_@PORT@_config_files) + include("${z_vcpkg_@PORT@_config_file}") +endforeach() + +unset(z_vcpkg_@PORT@_config_file) +unset(z_vcpkg_@PORT@_config_files) +unset(z_vcpkg_@PORT@_root) diff --git a/ports/skia/unofficial-skia-targets-details.cmake b/ports/skia/unofficial-skia-targets-details.cmake new file mode 100644 index 00000000000000..9d74800ed7feaa --- /dev/null +++ b/ports/skia/unofficial-skia-targets-details.cmake @@ -0,0 +1,18 @@ +# Exported from "@gn_target@" +if("@not_executable@") + set_property(TARGET @cmake_target@ APPEND PROPERTY INTERFACE_LINK_LIBRARIES "\$>") +endif() +if("@has_location@") + set_property(TARGET @cmake_target@ APPEND PROPERTY IMPORTED_CONFIGURATIONS "@cmake_build_type@") + set_target_properties(@cmake_target@ PROPERTIES IMPORTED_LOCATION_@cmake_build_type@ "@imported_location@") + if("@not_executable@") + set_property(TARGET @cmake_target@ APPEND PROPERTY INTERFACE_COMPILE_DEFINITIONS "\$<@cmake_config_genex@:@interface_compile_definitions@>") + set_target_properties(@cmake_target@ PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "@CURRENT_PACKAGES_DIR@/include/@PORT@" + IMPORTED_LINK_INTERFACE_LANGUAGES_@cmake_build_type@ "@link_language@" + ) + z_vcpkg_@PORT@_get_link_libraries(z_vcpkg_@PORT@_link_libs "@cmake_build_type@" "@interface_link_libs@") + set_property(TARGET @cmake_target@ APPEND PROPERTY INTERFACE_LINK_LIBRARIES "\$>") + unset(z_vcpkg_@PORT@_link_libs) + endif() +endif() diff --git a/ports/skia/unofficial-skia-targets.cmake b/ports/skia/unofficial-skia-targets.cmake new file mode 100644 index 00000000000000..7c0c35f190f8db --- /dev/null +++ b/ports/skia/unofficial-skia-targets.cmake @@ -0,0 +1,8 @@ +# Exported from "@gn_target@" +if(NOT TARGET @cmake_target@) + @add_target@ + if("@not_executable@") + include("${CMAKE_CURRENT_LIST_DIR}/@basename@-targets-debug.cmake" OPTIONAL) + endif() + include("${CMAKE_CURRENT_LIST_DIR}/@basename@-targets-release.cmake") +endif() diff --git a/ports/skia/usage b/ports/skia/usage new file mode 100644 index 00000000000000..7b1bdb3f45bd42 --- /dev/null +++ b/ports/skia/usage @@ -0,0 +1,6 @@ +skia provides CMake targets: + + find_package(unofficial-skia CONFIG REQUIRED) + target_link_libraries(main PRIVATE unofficial::skia::skia) + + # Similar for optional components, e.g. unofficial::skia::modules::skparagraph diff --git a/ports/skia/vcpkg.json b/ports/skia/vcpkg.json index 46bcc003fdea47..349b94a55bcf98 100644 --- a/ports/skia/vcpkg.json +++ b/ports/skia/vcpkg.json @@ -1,35 +1,171 @@ { "name": "skia", - "version-string": "2020-05-18", - "port-version": 5, + "version": "129", + "port-version": 2, "description": [ "Skia is an open source 2D graphics library which provides common APIs that work across a variety of hardware and software platforms.", "It serves as the graphics engine for Google Chrome and Chrome OS, Android, Mozilla Firefox and Firefox OS, and many other products.", "Skia is sponsored and managed by Google, but is available for use by anyone under the BSD Free Software License. While engineering of the core components is done by the Skia development team, we consider contributions from any source." ], "homepage": "https://skia.org", - "supports": "x64 & (osx | windows)", + "license": null, + "supports": "!(windows & arm32) & !mingw", "dependencies": [ "expat", + "libjpeg-turbo", + "libpng", + "libwebp", + { + "name": "opengl", + "default-features": false, + "platform": "windows & !arm64 & !uwp" + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + { + "name": "vcpkg-cmake-get-vars", + "host": true + }, + { + "name": "vcpkg-gn", + "host": true + }, + { + "name": "vcpkg-pkgconfig-get-modules", + "host": true + }, + { + "name": "vcpkg-tool-gn", + "host": true + }, + "zlib" + ], + "default-features": [ + { + "name": "direct3d", + "platform": "uwp" + }, + { + "name": "fontconfig", + "platform": "linux" + }, { "name": "freetype", - "default-features": false + "platform": "!(windows | osx | ios)" + }, + { + "name": "gl", + "platform": "!(windows & arm) & !uwp" }, { "name": "harfbuzz", - "features": [ - "icu" - ] + "platform": "!uwp" }, - "icu", - "libjpeg-turbo", - "libpng", - "libwebp", - "zlib" + { + "name": "icu", + "platform": "!uwp" + } ], "features": { + "dawn": { + "description": "dawn support for skia", + "dependencies": [ + "egl-registry", + "opengl-registry", + { + "name": "skia", + "default-features": false, + "features": [ + "graphite", + "vulkan" + ] + }, + "vulkan-utility-libraries" + ] + }, + "direct3d": { + "description": "Direct3D support for skia", + "supports": "windows" + }, + "fontconfig": { + "description": "Fontconfig support", + "dependencies": [ + "fontconfig", + { + "name": "skia", + "default-features": false, + "features": [ + "freetype" + ] + } + ] + }, + "freetype": { + "description": "Freetype support", + "dependencies": [ + { + "name": "dlfcn-win32", + "platform": "windows" + }, + { + "name": "freetype", + "default-features": false + } + ] + }, + "gl": { + "description": "OpenGL support for skia", + "supports": "!(windows & arm) & !uwp", + "dependencies": [ + "opengl-registry" + ] + }, + "graphite": { + "description": "Graphite support", + "dependencies": [ + { + "name": "skia", + "default-features": false, + "features": [ + "vulkan" + ] + } + ] + }, + "harfbuzz": { + "description": "Harfbuzz support", + "dependencies": [ + { + "name": "harfbuzz", + "default-features": false + }, + { + "name": "skia", + "default-features": false, + "features": [ + "icu" + ] + } + ] + }, + "icu": { + "description": "Use icu.", + "dependencies": [ + "icu" + ] + }, "metal": { - "description": "metal support for skia" + "description": "Metal support for skia", + "supports": "ios, osx" + }, + "vulkan": { + "description": "Vulkan support for skia", + "dependencies": [ + "vulkan-headers", + "vulkan-memory-allocator" + ] } } } diff --git a/ports/skia/vulkan-headers.patch b/ports/skia/vulkan-headers.patch new file mode 100644 index 00000000000000..28f9c687cf7339 --- /dev/null +++ b/ports/skia/vulkan-headers.patch @@ -0,0 +1,43 @@ +diff --git a/BUILD.gn b/BUILD.gn +index 04ab422..5ae82e5 100644 +--- a/BUILD.gn ++++ b/BUILD.gn +@@ -913,6 +913,7 @@ optional("gpu_shared") { + } + + if (skia_use_vulkan) { ++ public_deps += [ "//third_party/externals/vulkan-headers:vulkan_headers" ] + public_defines += [ "SK_VULKAN" ] + sources += skia_shared_vk_sources + if (skia_enable_vulkan_debug_layers) { +diff --git a/include/private/gpu/vk/SkiaVulkan.h b/include/private/gpu/vk/SkiaVulkan.h +index 412dbf535f..93608dc2be 100644 +--- a/include/private/gpu/vk/SkiaVulkan.h ++++ b/include/private/gpu/vk/SkiaVulkan.h +@@ -12,6 +12,10 @@ + + // IWYU pragma: begin_exports + ++#ifndef SK_USE_EXTERNAL_VULKAN_HEADERS ++# define SK_USE_EXTERNAL_VULKAN_HEADERS ++#endif ++ + #if (SKIA_IMPLEMENTATION || !defined(SK_VULKAN)) && !defined(SK_USE_EXTERNAL_VULKAN_HEADERS) + #include "include/third_party/vulkan/vulkan/vulkan_core.h" + #else +diff --git a/src/gpu/vk/vulkanmemoryallocator/VulkanMemoryAllocatorWrapper.h b/src/gpu/vk/vulkanmemoryallocator/VulkanMemoryAllocatorWrapper.h +index 487ea7c..9662c8c 100644 +--- a/src/gpu/vk/vulkanmemoryallocator/VulkanMemoryAllocatorWrapper.h ++++ b/src/gpu/vk/vulkanmemoryallocator/VulkanMemoryAllocatorWrapper.h +@@ -39,7 +39,11 @@ + // VMA outside of Skia, the client should instead tell Skia not to use VMA. + // Then they should wrap their own instance of VMA into an implementation of + // Skia's VulkanMemoryAllocator interface, and pass that object into context creation. ++#ifdef _WIN32 ++#include "vma/vk_mem_alloc.h" // NO_G3_REWRITE ++#else + #include "vk_mem_alloc.h" // NO_G3_REWRITE ++#endif + #ifdef GR_NEEDED_TO_DEFINE_VULKAN_H + #undef VULKAN_H_ + #endif diff --git a/ports/skia/zlib.gn b/ports/skia/zlib.gn deleted file mode 100644 index 5c2bc8fc1c1098..00000000000000 --- a/ports/skia/zlib.gn +++ /dev/null @@ -1,10 +0,0 @@ -import("../third_party.gni") - -system("zlib") { - include_dirs = @_INCLUDES@ - if(is_debug) { - libs = @_LIBS_DBG@ - } else { - libs = @_LIBS_REL@ - } -} diff --git a/ports/skyr-url/portfile.cmake b/ports/skyr-url/portfile.cmake index 0bd2a407ac2d10..4744ed203bc7e5 100644 --- a/ports/skyr-url/portfile.cmake +++ b/ports/skyr-url/portfile.cmake @@ -8,9 +8,8 @@ vcpkg_from_github( HEAD_REF main ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -Dskyr_BUILD_TESTS=OFF -Dskyr_BUILD_DOCS=OFF @@ -18,11 +17,13 @@ vcpkg_configure_cmake( -Dskyr_WARNINGS_AS_ERRORS=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup(CONFIG_PATH share/cmake/skyr-url) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") # Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE_1_0.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE_1_0.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/skyr-url/vcpkg.json b/ports/skyr-url/vcpkg.json index aff139261ab61d..fd08456bd9622a 100644 --- a/ports/skyr-url/vcpkg.json +++ b/ports/skyr-url/vcpkg.json @@ -1,12 +1,20 @@ { "name": "skyr-url", - "version-string": "1.13.0", - "port-version": 1, + "version": "1.13.0", + "port-version": 2, "description": "A C++ library that implements the WhatWG URL specification", "homepage": "https://github.com/cpp-netlib/url", "dependencies": [ "nlohmann-json", "range-v3", - "tl-expected" + "tl-expected", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/sleef/portfile.cmake b/ports/sleef/portfile.cmake index ce37b7ce7e4f40..e51e0374f9c282 100644 --- a/ports/sleef/portfile.cmake +++ b/ports/sleef/portfile.cmake @@ -1,8 +1,3 @@ -# x86: Reports ICE(Internal Compiler Error) for x86-windows/release. -# see ${SOURCE_PATH}/src/libm/sleefsimddp.c -# uwp: codegen fails -vcpkg_fail_port_install(ON_TARGET "uwp") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO shibatch/sleef @@ -12,12 +7,12 @@ vcpkg_from_github( ) vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_LIBM=ON -DBUILD_DFT=ON -DBUILD_QUAD=ON - -DBUILD_GNUABILIBS=${VCPKG_TARGET_IS_LINUX} + -DBUILD_GNUABI_LIBS=${VCPKG_TARGET_IS_LINUX} -DBUILD_TESTS=OFF -DBUILD_INLINE_HEADERS=OFF ) @@ -25,5 +20,29 @@ vcpkg_cmake_install() vcpkg_copy_pdbs() vcpkg_fixup_pkgconfig() -file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) + +# Install DLL and PDB files +if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + if(VCPKG_TARGET_IS_WINDOWS) + file(COPY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bin/sleef.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/bin") + file(COPY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bin/sleef.pdb" DESTINATION "${CURRENT_PACKAGES_DIR}/bin") + file(COPY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bin/sleefdft.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/bin") + file(COPY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bin/sleefdft.pdb" DESTINATION "${CURRENT_PACKAGES_DIR}/bin") + file(COPY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bin/sleefquad.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/bin") + file(COPY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bin/sleefquad.pdb" DESTINATION "${CURRENT_PACKAGES_DIR}/bin") + endif() + endif() + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + if(VCPKG_TARGET_IS_WINDOWS) + file(COPY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/bin/sleef.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin") + file(COPY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/bin/sleef.pdb" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin") + file(COPY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/bin/sleefdft.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin") + file(COPY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/bin/sleefdft.pdb" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin") + file(COPY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/bin/sleefquad.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin") + file(COPY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/bin/sleefquad.pdb" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin") + endif() + endif() +endif() diff --git a/ports/sleef/vcpkg.json b/ports/sleef/vcpkg.json index dcd74f6fc96250..60b71ed05f49e0 100644 --- a/ports/sleef/vcpkg.json +++ b/ports/sleef/vcpkg.json @@ -1,10 +1,11 @@ { "name": "sleef", "version": "3.5.1", + "port-version": 4, "description": "SIMD Library for Evaluating Elementary Functions, vectorized libm and DFT", "homepage": "https://sleef.org/", "license": "BSL-1.0", - "supports": "!uwp & !(arm & windows)", + "supports": "!uwp & !(arm & windows) & !(arm64 & osx)", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/sleepy-discord/fix-boost.patch b/ports/sleepy-discord/fix-boost.patch deleted file mode 100644 index a8279182dea92e..00000000000000 --- a/ports/sleepy-discord/fix-boost.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/sleepy_discord/CMakeLists.txt b/sleepy_discord/CMakeLists.txt -index 6c134141..2d115985 100644 ---- a/sleepy_discord/CMakeLists.txt -+++ b/sleepy_discord/CMakeLists.txt -@@ -84,7 +84,7 @@ if (NOT ONLY_SLEEPY_DISCORD) - elseif(USE_BOOST_ASIO) - #Look for boost as an alt - find_package(Boost REQUIRED) -- list(APPEND LIBRARIES_TO_LINK ${Boost_LIBRARIES}) -+ list(APPEND LIBRARIES_INCLUDE_DIRS "${Boost_INCLUDE_DIRS}") - list(APPEND LIB_CONFIG "EXISTENT_BOOST_ASIO") - list(APPEND LIB_CONFIG "EXISTENT_ASIO") - list(APPEND REQUIRED_PACKAGES "Boost") diff --git a/ports/sleepy-discord/fix-messing-header.patch b/ports/sleepy-discord/fix-messing-header.patch new file mode 100644 index 00000000000000..bc82a0aa8f9db7 --- /dev/null +++ b/ports/sleepy-discord/fix-messing-header.patch @@ -0,0 +1,12 @@ +diff --git a/include/sleepy_discord/zlib_compression.h b/include/sleepy_discord/zlib_compression.h +index 9d95c58..b2d418e 100644 +--- a/include/sleepy_discord/zlib_compression.h ++++ b/include/sleepy_discord/zlib_compression.h +@@ -9,6 +9,7 @@ + #include + #include + #include ++#include + + namespace SleepyDiscord { + //This Queue is basicly a single linked list with the back and size stored diff --git a/ports/sleepy-discord/portfile.cmake b/ports/sleepy-discord/portfile.cmake index 027a9edc5add8c..ad28383cb465ff 100644 --- a/ports/sleepy-discord/portfile.cmake +++ b/ports/sleepy-discord/portfile.cmake @@ -9,20 +9,20 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO yourWaifu/sleepy-discord - REF 53e68d6a569ab6da17b74279e308bf94919db933 - SHA512 1ee6de7aa70f3d7fc6ec0e21f5e65c6a868c23a29b4f26f614b59bbce3425c1305ce192562bf287d40f98060301b8638bc4bef95789fe8594ce5809adb6dc1e5 + REF 70b9ec13427ea68de6f4213e9dfec6129fbab21b + SHA512 c91fbb9a672257c63ee83b40b62961b89568ca33081048b440876c390a2a2e11c602aaf43a6c9485fd85a91248f34a70d7b9ea769d0cfcd4b35b80d58a6ad737 HEAD_REF develop PATCHES - fix-boost.patch + fix-messing-header.patch ) # Handle version data here to prevent issues from doing this twice in parallel -set(SLEEPY_DISCORD_VERSION_HASH 53e68d6a569ab6da17b74279e308bf94919db933) -set(SLEEPY_DISCORD_VERSION_BUILD 908) +set(SLEEPY_DISCORD_VERSION_HASH 70b9ec13427ea68de6f4213e9dfec6129fbab21b) +set(SLEEPY_DISCORD_VERSION_BUILD 949) set(SLEEPY_DISCORD_VERSION_BRANCH "develop") set(SLEEPY_DISCORD_VERSION_IS_MASTER 0) set(SLEEPY_DISCORD_VERSION_DESCRIPTION_CONCAT " ") -set(SLEEPY_DISCORD_VERSION_DESCRIPTION "53e68d6") +set(SLEEPY_DISCORD_VERSION_DESCRIPTION "70b9ec13") configure_file( "${SOURCE_PATH}/include/sleepy_discord/version.h.in" "${SOURCE_PATH}/include/sleepy_discord/version.h" @@ -34,6 +34,7 @@ vcpkg_cmake_configure( -DSLEEPY_VCPKG=ON -DAUTO_DOWNLOAD_LIBRARY=OFF -DUSE_BOOST_ASIO=ON + -DCMAKE_CXX_STANDARD=17 ${FEATURE_OPTIONS} ) vcpkg_cmake_install() @@ -42,4 +43,4 @@ vcpkg_copy_pdbs() vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/sleepy-discord) -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/sleepy-discord/vcpkg.json b/ports/sleepy-discord/vcpkg.json index 1fc2355beb9b8b..372532255afc67 100644 --- a/ports/sleepy-discord/vcpkg.json +++ b/ports/sleepy-discord/vcpkg.json @@ -1,7 +1,7 @@ { "name": "sleepy-discord", - "version-date": "2021-07-07", - "port-version": 1, + "version-date": "2022-02-05", + "port-version": 2, "description": "C++ library for the Discord chat client", "homepage": "https://yourwaifu.dev/sleepy-discord/", "dependencies": [ diff --git a/ports/slikenet/fix-emscripten.patch b/ports/slikenet/fix-emscripten.patch new file mode 100644 index 00000000000000..ced94171014809 --- /dev/null +++ b/ports/slikenet/fix-emscripten.patch @@ -0,0 +1,208 @@ +diff --git a/Source/include/slikenet/LinuxStrings.h b/Source/include/slikenet/LinuxStrings.h +index c0fd72bee..53e02c834 100644 +--- a/Source/include/slikenet/LinuxStrings.h ++++ b/Source/include/slikenet/LinuxStrings.h +@@ -23,7 +23,7 @@ + int _strnicmp(const char* s1, const char* s2, size_t n); + char *_strlwr(char * str ); + #else +- #if (defined(__GNUC__) || defined(__GCCXML__) || defined(__S3E__) ) && !defined(_WIN32) ++ #if (defined(__EMSCRIPTEN__) || defined(__GNUC__) || defined(__GCCXML__) || defined(__S3E__) ) && !defined(_WIN32) + #ifndef _stricmp + int _stricmp(const char* s1, const char* s2); + #endif +diff --git a/Source/include/slikenet/NativeTypes.h b/Source/include/slikenet/NativeTypes.h +index 0b1305e31..1a1112d63 100644 +--- a/Source/include/slikenet/NativeTypes.h ++++ b/Source/include/slikenet/NativeTypes.h +@@ -16,7 +16,7 @@ + #ifndef __NATIVE_TYPES_H + #define __NATIVE_TYPES_H + +-#if defined(__GNUC__) || defined(__GCCXML__) || defined(__SNC__) || defined(__S3E__) ++#if defined(__EMSCRIPTEN__) || defined(__GNUC__) || defined(__GCCXML__) || defined(__SNC__) || defined(__S3E__) + #include + #elif !defined(_STDINT_H) && !defined(_SN_STDINT_H) && !defined(_SYS_STDINT_H_) && !defined(_STDINT) && !defined(_MACHTYPES_H_) && !defined(_STDINT_H_) + typedef unsigned char uint8_t; +diff --git a/Source/include/slikenet/_FindFirst.h b/Source/include/slikenet/_FindFirst.h +index 74f5d8aa0..8906063aa 100644 +--- a/Source/include/slikenet/_FindFirst.h ++++ b/Source/include/slikenet/_FindFirst.h +@@ -16,7 +16,7 @@ + #ifndef GCC_FINDFIRST_H + #define GCC_FINDFIRST_H + +-#if (defined(__GNUC__) || defined(__ARMCC_VERSION) || defined(__GCCXML__) || defined(__S3E__) ) && !defined(__WIN32) ++#if (defined(__EMSCRIPTEN__) || defined(__GNUC__) || defined(__ARMCC_VERSION) || defined(__GCCXML__) || defined(__S3E__) ) && !defined(__WIN32) + + #include + +diff --git a/Source/include/slikenet/linux_adapter.h b/Source/include/slikenet/linux_adapter.h +index b8a228f2d..1b578d9e5 100644 +--- a/Source/include/slikenet/linux_adapter.h ++++ b/Source/include/slikenet/linux_adapter.h +@@ -9,7 +9,7 @@ + */ + #pragma once + +-#ifdef __linux__ ++#if defined(__linux__) || defined(__EMSCRIPTEN__) + #define _TRUNCATE ((size_t)-1) + typedef int errno_t; + +diff --git a/Source/include/slikenet/socket2.h b/Source/include/slikenet/socket2.h +index fde1ee471..52514512b 100644 +--- a/Source/include/slikenet/socket2.h ++++ b/Source/include/slikenet/socket2.h +@@ -354,7 +354,7 @@ class RNS2_Berkley : public IRNS2_Berkley + + + +-#if defined(_WIN32) || defined(__GNUC__) || defined(__GCCXML__) || defined(__S3E__) ++#if defined(_WIN32) || defined(__EMSCRIPTEN__) || defined(__GNUC__) || defined(__GCCXML__) || defined(__S3E__) + class RNS2_Windows_Linux_360 + { + public: +diff --git a/Source/src/FileList.cpp b/Source/src/FileList.cpp +index 514d2aa88..77c6bf12a 100644 +--- a/Source/src/FileList.cpp ++++ b/Source/src/FileList.cpp +@@ -25,7 +25,7 @@ + #include + + +-#elif !defined ( __APPLE__ ) && !defined ( __APPLE_CC__ ) && !defined ( __PPC__ ) && !defined ( __FreeBSD__ ) && !defined ( __S3E__ ) ++#elif !defined ( __EMSCRIPTEN__ ) && !defined ( __APPLE__ ) && !defined ( __APPLE_CC__ ) && !defined ( __PPC__ ) && !defined ( __FreeBSD__ ) && !defined ( __S3E__ ) + #include + #endif + +diff --git a/Source/src/GetTime.cpp b/Source/src/GetTime.cpp +index 6e30e255c..67d69ace0 100644 +--- a/Source/src/GetTime.cpp ++++ b/Source/src/GetTime.cpp +@@ -182,7 +182,7 @@ SLNet::TimeUS GetTimeUS_Windows( void ) + return curTime; + #endif // #if defined(GET_TIME_SPIKE_LIMIT) && GET_TIME_SPIKE_LIMIT>0 + } +-#elif defined(__GNUC__) || defined(__GCCXML__) || defined(__S3E__) ++#elif defined(__EMSCRIPTEN__) || defined(__GNUC__) || defined(__GCCXML__) || defined(__S3E__) + SLNet::TimeUS GetTimeUS_Linux( void ) + { + timeval tp; +diff --git a/Source/src/LinuxStrings.cpp b/Source/src/LinuxStrings.cpp +index 0a5583a0c..95bb2a093 100644 +--- a/Source/src/LinuxStrings.cpp ++++ b/Source/src/LinuxStrings.cpp +@@ -13,7 +13,7 @@ + * license found in the license.txt file in the root directory of this source tree. + */ + +-#if (defined(__GNUC__) || defined(__ARMCC_VERSION) || defined(__GCCXML__) || defined(__S3E__) ) && !defined(_WIN32) ++#if (defined(__EMSCRIPTEN__) || defined(__GNUC__) || defined(__ARMCC_VERSION) || defined(__GCCXML__) || defined(__S3E__) ) && !defined(_WIN32) + #include + #ifndef _stricmp + int _stricmp(const char* s1, const char* s2) +diff --git a/Source/src/RakNetSocket2_Berkley.cpp b/Source/src/RakNetSocket2_Berkley.cpp +index 0592beed1..1a4aac8a2 100644 +--- a/Source/src/RakNetSocket2_Berkley.cpp ++++ b/Source/src/RakNetSocket2_Berkley.cpp +@@ -203,7 +203,7 @@ RNS2BindResult RNS2_Berkley::BindSharedIPV4( RNS2_BerkleyBindParameters *bindPar + #if defined(_WIN32) + closesocket__(rns2Socket); + return BR_FAILED_TO_BIND_SOCKET; +-#elif (defined(__GNUC__) || defined(__GCCXML__) ) && !defined(_WIN32) ++#elif (defined(__EMSCRIPTEN__) || defined(__GNUC__) || defined(__GCCXML__) ) && !defined(_WIN32) + closesocket__(rns2Socket); + switch (errno) + { +diff --git a/Source/src/RakNetSocket2_Windows_Linux_360.cpp b/Source/src/RakNetSocket2_Windows_Linux_360.cpp +index ee7aedad9..de4e95628 100644 +--- a/Source/src/RakNetSocket2_Windows_Linux_360.cpp ++++ b/Source/src/RakNetSocket2_Windows_Linux_360.cpp +@@ -20,7 +20,7 @@ + #ifndef RAKNETSOCKET2_WINDOWS_LINUX_360_CPP + #define RAKNETSOCKET2_WINDOWS_LINUX_360_CPP + +-#if (defined(_WIN32) || defined(__GNUC__) || defined(__GCCXML__) || defined(__S3E__) ) && !defined(WINDOWS_STORE_RT) && !defined(__native_client__) ++#if (defined(_WIN32) || defined(__EMSCRIPTEN__) || defined(__GNUC__) || defined(__GCCXML__) || defined(__S3E__) ) && !defined(WINDOWS_STORE_RT) && !defined(__native_client__) + + RNS2SendResult RNS2_Windows_Linux_360::Send_Windows_Linux_360NoVDP( RNS2Socket rns2Socket, RNS2_SendParameters *sendParameters, const char *file, unsigned int line ) { + +diff --git a/Source/src/SignaledEvent.cpp b/Source/src/SignaledEvent.cpp +index 5577cb442..3f623fcf8 100644 +--- a/Source/src/SignaledEvent.cpp ++++ b/Source/src/SignaledEvent.cpp +@@ -17,7 +17,7 @@ + #include "slikenet/assert.h" + #include "slikenet/sleep.h" + +-#if defined(__GNUC__) ++#if defined(__GNUC__) || defined(__EMSCRIPTEN__) + #include + #include + #endif +diff --git a/Source/src/SocketLayer.cpp b/Source/src/SocketLayer.cpp +index fd6722e7c..1a50128b4 100644 +--- a/Source/src/SocketLayer.cpp ++++ b/Source/src/SocketLayer.cpp +@@ -26,7 +26,7 @@ + #include "slikenet/SocketDefines.h" + #include "slikenet/linux_adapter.h" + #include "slikenet/osx_adapter.h" +-#if (defined(__GNUC__) || defined(__GCCXML__)) && !defined(__WIN32__) ++#if (defined(__EMSCRIPTEN__) || defined(__GNUC__) || defined(__GCCXML__)) && !defined(__WIN32__) + #include + #endif + +diff --git a/Source/src/TCPInterface.cpp b/Source/src/TCPInterface.cpp +index 0ca8a868d..ec3f181ee 100644 +--- a/Source/src/TCPInterface.cpp ++++ b/Source/src/TCPInterface.cpp +@@ -44,7 +44,7 @@ + #include "slikenet/Itoa.h" + #include "slikenet/SocketLayer.h" + #include "slikenet/SocketDefines.h" +-#if (defined(__GNUC__) || defined(__GCCXML__)) && !defined(__WIN32__) ++#if (defined(__EMSCRIPTEN__) || defined(__GNUC__) || defined(__GCCXML__)) && !defined(__WIN32__) + #include + #endif + +diff --git a/Source/src/UDPForwarder.cpp b/Source/src/UDPForwarder.cpp +index 317dc9f8b..20d067531 100644 +--- a/Source/src/UDPForwarder.cpp ++++ b/Source/src/UDPForwarder.cpp +@@ -212,7 +212,7 @@ void UDPForwarder::RecvFrom(SLNet::TimeMS curTime, ForwardEntry *forwardEntry) + sockAddrIn.sin_family = AF_INET; + #endif + +-#if defined(__GNUC__) ++#if defined(__GNUC__) || defined(__EMSCRIPTEN__) + #if defined(MSG_DONTWAIT) + const int flag=MSG_DONTWAIT; + #else +diff --git a/Source/src/_FindFirst.cpp b/Source/src/_FindFirst.cpp +index 10fab3462..1bc7990c7 100644 +--- a/Source/src/_FindFirst.cpp ++++ b/Source/src/_FindFirst.cpp +@@ -12,7 +12,7 @@ + * Original file by the_viking, fixed by Rv¥mulo Fernandes, fixed by Emmanuel Nars + * Should emulate windows finddata structure + */ +-#if (defined(__GNUC__) || defined(__GCCXML__)) && !defined(_WIN32) ++#if (defined(__EMSCRIPTEN__) || defined(__GNUC__) || defined(__GCCXML__)) && !defined(_WIN32) + #include "slikenet/_FindFirst.h" + #include "slikenet/DS_List.h" + +diff --git a/Source/src/linux_adapter.cpp b/Source/src/linux_adapter.cpp +index fe25abe96..9d1f66e71 100644 +--- a/Source/src/linux_adapter.cpp ++++ b/Source/src/linux_adapter.cpp +@@ -8,7 +8,7 @@ + * This file defines adapters for all MS-specific functions used throughout SLikeNet. + */ + +-#ifdef __linux__ ++#if defined(__linux__) || defined(__EMSCRIPTEN__) + #include "slikenet/linux_adapter.h" + + #include // for std::max, std::min diff --git a/ports/slikenet/portfile.cmake b/ports/slikenet/portfile.cmake index ba5ef493feef65..ea29d0dbf79721 100644 --- a/ports/slikenet/portfile.cmake +++ b/ports/slikenet/portfile.cmake @@ -1,5 +1,3 @@ -vcpkg_fail_port_install(ON_TARGET "UWP") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO SLikeSoft/SLikeNet @@ -8,6 +6,7 @@ vcpkg_from_github( HEAD_REF master PATCHES fix-install.patch + fix-emscripten.patch ) #Uses an outdated OpenSSL version and is in an experimental namespace any way. As such we delete it here file(REMOVE_RECURSE "${SOURCE_PATH}/Source/src/crypto" "${SOURCE_PATH}/Source/include/slikenet/crypto") @@ -15,24 +14,23 @@ file(REMOVE_RECURSE "${SOURCE_PATH}/Source/src/crypto" "${SOURCE_PATH}/Source/in string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" SLIKENET_ENABLE_STATIC) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" SLIKENET_ENABLE_DLL) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DSLIKENET_ENABLE_DLL=${SLIKENET_ENABLE_DLL} -DSLIKENET_ENABLE_STATIC=${SLIKENET_ENABLE_STATIC} -DSLIKENET_ENABLE_SAMPLES=FALSE ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/slikenet) +vcpkg_cmake_config_fixup(CONFIG_PATH share/slikenet) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share) configure_file("${CMAKE_CURRENT_LIST_DIR}/slikenet-config.cmake" "${CURRENT_PACKAGES_DIR}/share/slikenet/slikenet-config.cmake" COPYONLY) configure_file("${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" "${CURRENT_PACKAGES_DIR}/share/slikenet/vcpkg-cmake-wrapper.cmake" COPYONLY) -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) +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/slikenet/vcpkg.json b/ports/slikenet/vcpkg.json index 158a28c4851c81..de589c491ac11c 100644 --- a/ports/slikenet/vcpkg.json +++ b/ports/slikenet/vcpkg.json @@ -1,10 +1,19 @@ { "name": "slikenet", "version-date": "2021-06-07", + "port-version": 3, "description": "SLikeNetT is an Open Source/Free Software cross-platform network engine written in C++ and specifially designed for games (and applications which have comparable requirements on a network engine like games) building upon the discontinued RakNet network engine which had more than 13 years of active development.", "homepage": "https://github.com/SLikeSoft/SLikeNet", "supports": "!uwp", "dependencies": [ - "openssl" + "openssl", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/sltbench/portfile.cmake b/ports/sltbench/portfile.cmake index 2111c896bf46fa..4750fdbe9c54e7 100644 --- a/ports/sltbench/portfile.cmake +++ b/ports/sltbench/portfile.cmake @@ -1,19 +1,30 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +vcpkg_download_distfile( + MISSING_STDDEF_H + URLS https://github.com/ivafanas/sltbench/commit/ec702203f406d3b1db71dac6bd39337d175cdc2c.patch?full_index=1 + SHA512 ada4ac8519dc7c5537438423d83cee99cd85b84172c402438800f70f6a550875819ea94be8cffcb174a45715e6709e1fd777415424aabf65a1b3e4430b503af1 + FILENAME ec702203f406d3b1db71dac6bd39337d175cdc2c.patch +) + vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO ivafanas/sltbench - REF 52c7c7852abc3159185eb79e699ad77fadfc35bd - SHA512 0c66b51f5a950a09df47019775941554538bc3642788f61aaf8c5ec3644d5fef721391f73c3fddfd9529159f9b81c7d7ed76c7995a79f37adaf8d0ff55a99d4b - HEAD_REF master) + OUT_SOURCE_PATH SOURCE_PATH + REPO ivafanas/sltbench + REF 52c7c7852abc3159185eb79e699ad77fadfc35bd + SHA512 0c66b51f5a950a09df47019775941554538bc3642788f61aaf8c5ec3644d5fef721391f73c3fddfd9529159f9b81c7d7ed76c7995a79f37adaf8d0ff55a99d4b + HEAD_REF master + PATCHES + "${MISSING_STDDEF_H}" +) -vcpkg_configure_cmake(SOURCE_PATH ${SOURCE_PATH}) -vcpkg_install_cmake() +vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}" WINDOWS_USE_MSBUILD) +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH cmake/ TARGET_PATH share/sltbench) +vcpkg_cmake_config_fixup(CONFIG_PATH cmake) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file( - INSTALL ${SOURCE_PATH}/LICENSE - DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} - RENAME copyright) + INSTALL "${SOURCE_PATH}/LICENSE" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" + RENAME copyright +) diff --git a/ports/sltbench/vcpkg.json b/ports/sltbench/vcpkg.json index efa7c527f2de7a..c969adb98e5235 100644 --- a/ports/sltbench/vcpkg.json +++ b/ports/sltbench/vcpkg.json @@ -1,6 +1,17 @@ { "name": "sltbench", - "version-string": "2.4.0", + "version": "2.4.0", + "port-version": 3, "description": "C++ benchmark tool. Practical, stable and fast performance testing framework.", - "homepage": "https://github.com/ivafanas/sltbench" + "homepage": "https://github.com/ivafanas/sltbench", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/small-gicp/portfile.cmake b/ports/small-gicp/portfile.cmake new file mode 100644 index 00000000000000..ccb445cbe035c8 --- /dev/null +++ b/ports/small-gicp/portfile.cmake @@ -0,0 +1,31 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO koide3/small_gicp + REF "v${VERSION}" + SHA512 b4d4b662d74b5492b7b89bcaf022e2d90262eecd3f1b6d3229edefbb00288a95910d486e66a9e884528f6f9c253a5e535ce7f96829fdc760f58ac001f6192790 + HEAD_REF master + PATCHES preprocessor_portability.patch +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + pcl BUILD_WITH_PCL + tbb BUILD_WITH_TBB + openmp BUILD_WITH_OPENMP +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup( + PACKAGE_NAME small_gicp + CONFIG_PATH lib/cmake/small_gicp +) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") +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/small-gicp/preprocessor_portability.patch b/ports/small-gicp/preprocessor_portability.patch new file mode 100644 index 00000000000000..368f06a6b2c6f4 --- /dev/null +++ b/ports/small-gicp/preprocessor_portability.patch @@ -0,0 +1,13 @@ +diff --git a/include/small_gicp/registration/reduction_omp.hpp b/include/small_gicp/registration/reduction_omp.hpp +index 8c11267..7edf4a5 100644 +--- a/include/small_gicp/registration/reduction_omp.hpp ++++ b/include/small_gicp/registration/reduction_omp.hpp +@@ -7,7 +7,7 @@ + namespace small_gicp { + + #ifndef _OPENMP +-#warning "OpenMP is not available. Parallel reduction will be disabled." ++#pragma message ( "OpenMP is not available. Parallel reduction will be disabled." ) + inline int omp_get_thread_num() { + return 0; + } diff --git a/ports/small-gicp/usage b/ports/small-gicp/usage new file mode 100644 index 00000000000000..74f8c5130c51e9 --- /dev/null +++ b/ports/small-gicp/usage @@ -0,0 +1,4 @@ +small-gicp provides CMake targets: + + find_package(small_gicp REQUIRED) + target_link_libraries(main PRIVATE small_gicp::small_gicp) diff --git a/ports/small-gicp/vcpkg.json b/ports/small-gicp/vcpkg.json new file mode 100644 index 00000000000000..c120a20473f595 --- /dev/null +++ b/ports/small-gicp/vcpkg.json @@ -0,0 +1,36 @@ +{ + "name": "small-gicp", + "version": "1.0.0", + "description": "Efficient and parallelized algorithms for point cloud registration", + "homepage": "https://github.com/koide3/small_gicp", + "license": "MIT", + "supports": "!(x86 | arm32)", + "dependencies": [ + "eigen3", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "openmp": { + "description": "Enable OpenMP based parallelism." + }, + "pcl": { + "description": "Enable interfacing with PointCloud Library.", + "dependencies": [ + "pcl" + ] + }, + "tbb": { + "description": "Enable Intel TBB based parallelism.", + "dependencies": [ + "tbb" + ] + } + } +} diff --git a/ports/smf/portfile.cmake b/ports/smf/portfile.cmake new file mode 100644 index 00000000000000..467f8c7532b884 --- /dev/null +++ b/ports/smf/portfile.cmake @@ -0,0 +1,26 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO vpetrigo/smf + REF v0.1.1 + SHA512 56e06ebcaa84beae2c65ab508b0b331a8c473600e91fcb797b413b774da0bbc7e2e44b93af810d739158a6ccf157f6ca32ba52efc8e47c366f94dec892623aa3 + HEAD_REF main +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + hierarchical SMF_ANCESTOR_SUPPORT +) + +vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + "${FEATURE_OPTIONS}" +) +vcpkg_cmake_install() +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.md") +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/smf) + +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}") diff --git a/ports/smf/usage b/ports/smf/usage new file mode 100644 index 00000000000000..b5e2d46e290ec3 --- /dev/null +++ b/ports/smf/usage @@ -0,0 +1,4 @@ +The package smf provides CMake targets: + + find_package(smf CONFIG REQUIRED) + target_link_libraries(main PRIVATE smf::smf) diff --git a/ports/smf/vcpkg.json b/ports/smf/vcpkg.json new file mode 100644 index 00000000000000..9254dd0284e2b4 --- /dev/null +++ b/ports/smf/vcpkg.json @@ -0,0 +1,22 @@ +{ + "name": "smf", + "version": "0.1.1", + "description": "State machine framework", + "homepage": "https://github.com/vpetrigo/smf", + "license": "Apache-2.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "hierarchical": { + "description": "Enable hierarchical state machine support" + } + } +} diff --git a/ports/smpeg2/001-correct-sdl-headers-dir.patch b/ports/smpeg2/001-correct-sdl-headers-dir.patch deleted file mode 100644 index 6cbcb6b9b2ef44..00000000000000 --- a/ports/smpeg2/001-correct-sdl-headers-dir.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/smpeg.h b/smpeg.h -index 6bc2dbd..d12c8f8 100644 ---- a/smpeg.h -+++ b/smpeg.h -@@ -22,9 +22,9 @@ - #ifndef _SMPEG_H_ - #define _SMPEG_H_ - --#include "SDL.h" --#include "SDL_mutex.h" --#include "SDL_audio.h" -+#include "SDL2/SDL.h" -+#include "SDL2/SDL_mutex.h" -+#include "SDL2/SDL_audio.h" - #include "MPEGframe.h" - - #ifdef __cplusplus diff --git a/ports/smpeg2/002-use-SDL2-headers.patch b/ports/smpeg2/002-use-SDL2-headers.patch deleted file mode 100644 index 9737c6d7bed6dd..00000000000000 --- a/ports/smpeg2/002-use-SDL2-headers.patch +++ /dev/null @@ -1,229 +0,0 @@ -diff --git a/MPEG.cpp b/MPEG.cpp -index 1645965..9d44166 100644 ---- a/MPEG.cpp -+++ b/MPEG.cpp -@@ -1,4 +1,4 @@ --#include "SDL.h" -+#include "SDL2/SDL.h" - - #include "MPEG.h" - -diff --git a/MPEG.h b/MPEG.h -index ca04260..d0b0d55 100644 ---- a/MPEG.h -+++ b/MPEG.h -@@ -28,7 +28,7 @@ - #include - #include - --#include "SDL.h" -+#include "SDL2/SDL.h" - - #include "MPEGerror.h" - #include "MPEGstream.h" -diff --git a/MPEGaction.h b/MPEGaction.h -index f9da3a3..ea0b94f 100644 ---- a/MPEGaction.h -+++ b/MPEGaction.h -@@ -24,7 +24,7 @@ - #ifndef _MPEGACTION_H_ - #define _MPEGACTION_H_ - --#include "SDL.h" -+#include "SDL2/SDL.h" - #include "MPEGframe.h" - - typedef enum { -diff --git a/MPEGaudio.h b/MPEGaudio.h -index 3f315d2..2ec4377 100644 ---- a/MPEGaudio.h -+++ b/MPEGaudio.h -@@ -24,7 +24,7 @@ - #ifndef _MPEGAUDIO_H_ - #define _MPEGAUDIO_H_ - --#include "SDL.h" -+#include "SDL2/SDL.h" - #include "MPEGerror.h" - #include "MPEGaction.h" - -diff --git a/MPEGlist.h b/MPEGlist.h -index 3a58a5f..fe0dbac 100644 ---- a/MPEGlist.h -+++ b/MPEGlist.h -@@ -6,7 +6,7 @@ - #ifndef _MPEGLIST_H_ - #define _MPEGLIST_H_ - --#include "SDL.h" -+#include "SDL2/SDL.h" - - class MPEGlist { - public: -diff --git a/MPEGring.cpp b/MPEGring.cpp -index 6d9dabb..0350d54 100644 ---- a/MPEGring.cpp -+++ b/MPEGring.cpp -@@ -23,7 +23,7 @@ - #include - #include - --#include "SDL_timer.h" -+#include "SDL2/SDL_timer.h" - - #include "MPEGring.h" - -diff --git a/MPEGring.h b/MPEGring.h -index 89172ac..550fbcc 100644 ---- a/MPEGring.h -+++ b/MPEGring.h -@@ -24,8 +24,8 @@ - #ifndef _MPEGRING_H - #define _MPEGRING_H - --#include "SDL_types.h" --#include "SDL_thread.h" -+#include "SDL2/SDL_types.h" -+#include "SDL2/SDL_thread.h" - - class MPEG_ring { - public: -diff --git a/MPEGstream.h b/MPEGstream.h -index b96c631..50e0c3a 100644 ---- a/MPEGstream.h -+++ b/MPEGstream.h -@@ -22,7 +22,7 @@ - #ifndef _MPEGSTREAM_H_ - #define _MPEGSTREAM_H_ - --#include "SDL_types.h" -+#include "SDL2/SDL_types.h" - #include "MPEGerror.h" - #include "MPEGvideo.h" - #include "MPEGaudio.h" -diff --git a/MPEGsystem.h b/MPEGsystem.h -index 823b679..28454b3 100644 ---- a/MPEGsystem.h -+++ b/MPEGsystem.h -@@ -6,8 +6,8 @@ - #define _MPEGSYSTEM_H_ - #define USE_SYSTEM_TIMESTAMP - --#include "SDL.h" --#include "SDL_thread.h" -+#include "SDL2/SDL.h" -+#include "SDL2/SDL_thread.h" - #include "MPEGerror.h" - - class MPEGstream; -diff --git a/MPEGvideo.h b/MPEGvideo.h -index 12da092..9f1ed43 100644 ---- a/MPEGvideo.h -+++ b/MPEGvideo.h -@@ -24,8 +24,8 @@ - #ifndef _MPEGVIDEO_H_ - #define _MPEGVIDEO_H_ - --#include "SDL.h" --#include "SDL_thread.h" -+#include "SDL2/SDL.h" -+#include "SDL2/SDL_thread.h" - #include "MPEGerror.h" - #include "MPEGaction.h" - -diff --git a/README.SDL_mixer b/README.SDL_mixer -index c01b575..5cacc4f 100644 ---- a/README.SDL_mixer -+++ b/README.SDL_mixer -@@ -5,7 +5,7 @@ You can have the SDL mixer library mix audio from a movie by hooking into - the SDL mixer music hooks: - - #include "smpeg.h" --#include "SDL_mixer.h" -+#include "SDL2/SDL_mixer.h" - - .. set up the mixer audio ... - -diff --git a/acinclude/sdl2.m4 b/acinclude/sdl2.m4 -index 93bc4b0..776ad42 100644 ---- a/acinclude/sdl2.m4 -+++ b/acinclude/sdl2.m4 -@@ -84,7 +84,7 @@ dnl - #include - #include - #include --#include "SDL.h" -+#include "SDL2/SDL.h" - - char* - my_strdup (char *str) -@@ -167,7 +167,7 @@ int main (int argc, char *argv[]) - LIBS="$LIBS $SDL_LIBS" - AC_TRY_LINK([ - #include --#include "SDL.h" -+#include "SDL2/SDL.h" - - int main(int argc, char *argv[]) - { return 0; } -diff --git a/configure b/configure -index 4ac7e60..ee1d934 100644 ---- a/configure -+++ b/configure -@@ -15270,7 +15270,7 @@ else - #include - #include - #include --#include "SDL.h" -+#include "SDL2/SDL.h" - - char* - my_strdup (char *str) -@@ -15367,7 +15367,7 @@ $as_echo "no" >&6; } - /* end confdefs.h. */ - - #include --#include "SDL.h" -+#include "SDL2/SDL.h" - - int main(int argc, char *argv[]) - { return 0; } -diff --git a/video/gdith.cpp b/video/gdith.cpp -index c56da96..53ba388 100644 ---- a/video/gdith.cpp -+++ b/video/gdith.cpp -@@ -52,7 +52,7 @@ - #include "video.h" - #include "proto.h" - #include "dither.h" --#include "SDL_timer.h" -+#include "SDL2/SDL_timer.h" - - #ifdef __STDC__ - #include -diff --git a/video/readfile.cpp b/video/readfile.cpp -index eb71194..a19e66d 100644 ---- a/video/readfile.cpp -+++ b/video/readfile.cpp -@@ -56,7 +56,7 @@ - #include - #include - --#include "SDL_endian.h" -+#include "SDL2/SDL_endian.h" - #include "video.h" - #include "proto.h" - #include "util.h" -diff --git a/video/video.h b/video/video.h -index 96de89b..a35095b 100644 ---- a/video/video.h -+++ b/video/video.h -@@ -400,7 +400,7 @@ extern unsigned int cacheMiss[8][8]; - #define __SCO__ 1 - #endif - --#include "SDL_endian.h" -+#include "SDL2/SDL_endian.h" - #if SDL_BYTEORDER == SDL_BIG_ENDIAN - #ifdef LITTLE_ENDIAN_ARCHITECTURE - #undef LITTLE_ENDIAN_ARCHITECTURE diff --git a/ports/smpeg2/CMakeLists.txt b/ports/smpeg2/CMakeLists.txt index 5515c698f20b2f..bdbe2d524832fa 100644 --- a/ports/smpeg2/CMakeLists.txt +++ b/ports/smpeg2/CMakeLists.txt @@ -1,22 +1,17 @@ -cmake_minimum_required(VERSION 2.6) -project(SMPEG2 CXX) +cmake_minimum_required(VERSION 3.25) +project(smpeg2 CXX) -find_path(SDL_INCLUDE_DIR SDL2/SDL.h) -find_package(SDL2 CONFIG REQUIRED) +set(CMAKE_CXX_STANDARD 11) # 17 does not allow 'register' -include_directories(${SDL_INCLUDE_DIR}) -include_directories(${SDL_INCLUDE_DIR}/SDL2) -include_directories(${CMAKE_SOURCE_DIR}) +find_package(SDL2 CONFIG REQUIRED) if(MSVC) add_definitions(-D_CRT_SECURE_NO_WARNINGS) + # some c++ code just assumes memset is available + add_definitions(-FIstring.h) endif() add_definitions(-DNOCONTROLS -DTHREADED_AUDIO) -# some c++ code just assumes memset is available -file(WRITE ${CMAKE_SOURCE_DIR}/declare_memset.h "#include \n") -add_definitions(-FIdeclare_memset.h) - add_library(smpeg2 audio/bitwindow.cpp audio/filter.cpp @@ -45,21 +40,34 @@ add_library(smpeg2 MPEGsystem.cpp smpeg.cpp) -set_target_properties(smpeg2 PROPERTIES DEFINE_SYMBOL DLL_EXPORT) -if(BUILD_SHARED_LIBS) +if(WIN32 AND BUILD_SHARED_LIBS) + target_compile_definitions(smpeg2 PRIVATE -DDLL_EXPORT) +endif() + +target_include_directories(smpeg2 PUBLIC + "$" + $ +) + + +if(TARGET SDL2::SDL2) target_link_libraries(smpeg2 SDL2::SDL2) else() target_link_libraries(smpeg2 SDL2::SDL2-static) endif() install(TARGETS smpeg2 + EXPORT smpeg2-targets RUNTIME DESTINATION bin ARCHIVE DESTINATION lib LIBRARY DESTINATION lib) -if(NOT DEFINED SMPEG_SKIP_HEADERS) +install(EXPORT smpeg2-targets + FILE unofficial-smpeg2-config.cmake + NAMESPACE unofficial::smpeg2:: + DESTINATION share/unofficial-smpeg2 +) + +if(NOT SMPEG_SKIP_HEADERS) install(FILES smpeg.h MPEGframe.h DESTINATION include) endif() - -message(STATUS "Link-time dependencies:") -message(STATUS " " ${SDL_LIBRARY}) diff --git a/ports/smpeg2/hufftable-uint.patch b/ports/smpeg2/hufftable-uint.patch new file mode 100644 index 00000000000000..14036a3dd54cda --- /dev/null +++ b/ports/smpeg2/hufftable-uint.patch @@ -0,0 +1,27 @@ +diff --git a/audio/hufftable.cpp b/audio/hufftable.cpp +index 6bc8e86..1ef2d7e 100644 +--- a/audio/hufftable.cpp ++++ b/audio/hufftable.cpp +@@ -550,11 +550,11 @@ htd33[ 31][2]={{ 16, 1},{ 8, 1},{ 4, 1},{ 2, 1},{ 0, 0},{ 0, 1}, + + const HUFFMANCODETABLE MPEGaudio::ht[HTN]= + { +- { 0, 0-1, 0-1, 0, 0, htd33}, ++ { 0, 0u-1, 0u-1, 0, 0, htd33}, + { 1, 2-1, 2-1, 0, 7,htd01}, + { 2, 3-1, 3-1, 0, 17,htd02}, + { 3, 3-1, 3-1, 0, 17,htd03}, +- { 4, 0-1, 0-1, 0, 0, htd33}, ++ { 4, 0u-1, 0u-1, 0, 0, htd33}, + { 5, 4-1, 4-1, 0, 31,htd05}, + { 6, 4-1, 4-1, 0, 31,htd06}, + { 7, 6-1, 6-1, 0, 71,htd07}, +@@ -564,7 +564,7 @@ const HUFFMANCODETABLE MPEGaudio::ht[HTN]= + {11, 8-1, 8-1, 0,127,htd11}, + {12, 8-1, 8-1, 0,127,htd12}, + {13,16-1,16-1, 0,511,htd13}, +- {14, 0-1, 0-1, 0, 0, htd33}, ++ {14, 0u-1, 0u-1, 0, 0, htd33}, + {15,16-1,16-1, 0,511,htd15}, + {16,16-1,16-1, 1,511,htd16}, + {17,16-1,16-1, 2,511,htd16}, diff --git a/ports/smpeg2/portfile.cmake b/ports/smpeg2/portfile.cmake index acba2223774ad6..fe66aa845c384b 100644 --- a/ports/smpeg2/portfile.cmake +++ b/ports/smpeg2/portfile.cmake @@ -1,31 +1,41 @@ - -set(VERSION 2.0.0) vcpkg_download_distfile(ARCHIVE URLS "https://www.libsdl.org/projects/smpeg/release/smpeg2-${VERSION}.tar.gz" FILENAME "smpeg2-${VERSION}.tar.gz" SHA512 80a779d01e7aa76778ef6ceea8041537db9e4b354df413214c4413c875cb98551891cef98fa0f057cc6a3222e4983da9ae65b86bdad2f87f9e2a6751837e2baf ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} - REF ${VERSION} +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" PATCHES - "001-correct-sdl-headers-dir.patch" - "002-use-SDL2-headers.patch" - "003-fix-double-ptr-to-int-comparison.patch" + hufftable-uint.patch + 003-fix-double-ptr-to-int-comparison.patch ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS_DEBUG - -DSMPEG_SKIP_HEADERS=ON) - -vcpkg_install_cmake() + -DSMPEG_SKIP_HEADERS=ON + MAYBE_UNUSED_VARIABLES + CMAKE_DISABLE_FIND_PACKAGE_ALSA + CMAKE_REQUIRE_FIND_PACKAGE_ALSA +) +vcpkg_cmake_install() vcpkg_copy_pdbs() -file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/smpeg2) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/smpeg2/COPYING ${CURRENT_PACKAGES_DIR}/share/smpeg2/copyright) +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-smpeg2) +file(READ "${CURRENT_PACKAGES_DIR}/share/unofficial-smpeg2/unofficial-smpeg2-config.cmake" config) +file(WRITE "${CURRENT_PACKAGES_DIR}/share/unofficial-smpeg2/unofficial-smpeg2-config.cmake" +"include(CMakeFindDependencyMacro) +find_dependency(SDL2 CONFIG) +${config}" +) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +file(READ "${SOURCE_PATH}/video/video.h" video_terms) +string(REGEX REPLACE "#ifndef .*" "" video_terms "${video_terms}") +file(WRITE "${SOURCE_PATH}/Additional notes" "${video_terms}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING" "${SOURCE_PATH}/Additional notes") diff --git a/ports/smpeg2/vcpkg.json b/ports/smpeg2/vcpkg.json index 24eb88e52e459f..762a8e30284636 100644 --- a/ports/smpeg2/vcpkg.json +++ b/ports/smpeg2/vcpkg.json @@ -1,10 +1,19 @@ { "name": "smpeg2", - "version-string": "2.0.0", - "port-version": 7, + "version": "2.0.0", + "port-version": 11, "description": "SDL MPEG Player Library", "homepage": "https://www.libsdl.org/projects/smpeg/", + "license": null, "dependencies": [ - "sdl2" + "sdl2", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/snap7/0001-remove-using-namespace-std.patch b/ports/snap7/0001-remove-using-namespace-std.patch new file mode 100644 index 00000000000000..d6c493d0cda909 --- /dev/null +++ b/ports/snap7/0001-remove-using-namespace-std.patch @@ -0,0 +1,13 @@ +diff --git a/src/core/s7_partner.h b/src/core/s7_partner.h +index 95211a2..25c1810 100644 +--- a/src/core/s7_partner.h ++++ b/src/core/s7_partner.h +@@ -29,7 +29,7 @@ + #include "snap_threads.h" + #include "s7_peer.h" + //--------------------------------------------------------------------------- +-using namespace std; ++//using namespace std; + //--------------------------------------------------------------------------- + + #define MaxPartners 256 diff --git a/ports/snap7/CMakeLists.txt b/ports/snap7/CMakeLists.txt new file mode 100644 index 00000000000000..c2a530b430a06c --- /dev/null +++ b/ports/snap7/CMakeLists.txt @@ -0,0 +1,66 @@ +# CMakeList.txt : CMake project for Snap7, include source and define +# project specific logic here. +cmake_minimum_required (VERSION 3.8) + +project(snap7 + VERSION 1.4.2 + LANGUAGES CXX) + +# Add source to this project's executable. +add_library(${PROJECT_NAME} SHARED "core/s7_client.cpp" + "core/s7_client.h" + "core/s7_firmware.h" + "core/s7_isotcp.cpp" + "core/s7_isotcp.h" + "core/s7_micro_client.cpp" + "core/s7_micro_client.h" + "core/s7_partner.cpp" + "core/s7_partner.h" + "core/s7_peer.cpp" + "core/s7_peer.h" + "core/s7_server.cpp" + "core/s7_server.h" + "core/s7_text.cpp" + "core/s7_text.h" + "core/s7_types.h" + "lib/snap7_libmain.cpp" + "lib/snap7_libmain.h" + "sys/snap_msgsock.cpp" + "sys/snap_msgsock.h" + "sys/snap_platform.h" + "sys/snap_sysutils.cpp" + "sys/snap_sysutils.h" + "sys/snap_tcpsrvr.cpp" + "sys/snap_tcpsrvr.h" + "sys/snap_threads.cpp" + "sys/snap_threads.h" + "sys/sol_threads.h" + "sys/unix_threads.h" + "sys/win_threads.h" + ) + +if(MSVC) + target_link_libraries(${PROJECT_NAME} wsock32 ws2_32) + target_link_libraries(${PROJECT_NAME} winmm.lib) +endif() + +add_library(${PROJECT_NAME}::${PROJECT_NAME} ALIAS ${PROJECT_NAME}) + +target_include_directories(${PROJECT_NAME} PUBLIC $ $) +target_include_directories(${PROJECT_NAME} PUBLIC $ $) +target_include_directories(${PROJECT_NAME} PUBLIC $ $) + +install(TARGETS ${PROJECT_NAME} EXPORT ${PROJECT_NAME}) + +install( + EXPORT ${PROJECT_NAME} + FILE ${PROJECT_NAME}-config.cmake + DESTINATION "share/${PROJECT_NAME}" + NAMESPACE ${PROJECT_NAME}:: +) + +if(NOT DISABLE_INSTALL_HEADERS) + install(DIRECTORY "core/" DESTINATION include/${PROJECT_NAME} FILES_MATCHING PATTERN "*.h") + install(DIRECTORY "lib/" DESTINATION include/${PROJECT_NAME} FILES_MATCHING PATTERN "*.h") + install(DIRECTORY "sys/" DESTINATION include/${PROJECT_NAME} FILES_MATCHING PATTERN "*.h") +endif() diff --git a/ports/snap7/portfile.cmake b/ports/snap7/portfile.cmake new file mode 100644 index 00000000000000..143ae67965aa01 --- /dev/null +++ b/ports/snap7/portfile.cmake @@ -0,0 +1,24 @@ +vcpkg_from_sourceforge( + OUT_SOURCE_PATH SOURCE_PATH + REPO snap7 + REF "${VERSION}" + FILENAME "snap7-full-${VERSION}.7z" + SHA512 84F4E1AD15BFEC201F9EB1EC90A28F37DFC848E370DB5CEA22EF4946F41FF6CC514581D29D592B57EE6D4C77F4AABB4B2BBA1E3637043161821BA2FFAE7F2DD6 + PATCHES + 0001-remove-using-namespace-std.patch +) + +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}/src") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/src" + OPTIONS_DEBUG + -DDISABLE_INSTALL_HEADERS=ON +) + +vcpkg_cmake_install() +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/snap7/__history") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/lgpl-3.0.txt") diff --git a/ports/snap7/vcpkg.json b/ports/snap7/vcpkg.json new file mode 100644 index 00000000000000..7b7d0f6eaec99e --- /dev/null +++ b/ports/snap7/vcpkg.json @@ -0,0 +1,15 @@ +{ + "name": "snap7", + "version": "1.4.2", + "port-version": 2, + "description": "Snap7", + "homepage": "https://snap7.sourceforge.net/", + "license": "LGPL-3.0", + "supports": "!android & !uwp & !static", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] +} diff --git a/ports/snappy/fix_clang-cl_build.patch b/ports/snappy/fix_clang-cl_build.patch new file mode 100644 index 00000000000000..b981e3076a4fde --- /dev/null +++ b/ports/snappy/fix_clang-cl_build.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 672561e62..b6930b834 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -38,7 +38,7 @@ if(NOT CMAKE_CXX_STANDARD) + endif(NOT CMAKE_CXX_STANDARD) + + # https://github.com/izenecloud/cmake/blob/master/SetCompilerWarningAll.cmake +-if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") ++if(MSVC) + # Use the highest warning level for Visual Studio. + set(CMAKE_CXX_WARNING_LEVEL 4) + if(CMAKE_CXX_FLAGS MATCHES "/W[0-4]") diff --git a/ports/snappy/no-werror.patch b/ports/snappy/no-werror.patch new file mode 100644 index 00000000000000..4315fef4a9ca70 --- /dev/null +++ b/ports/snappy/no-werror.patch @@ -0,0 +1,11 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -68,7 +68,7 @@ + + # Use -Werror for clang only. + if(CMAKE_CXX_COMPILER_ID MATCHES "Clang") +- if(NOT CMAKE_CXX_FLAGS MATCHES "-Werror") ++ if(0) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror") + endif(NOT CMAKE_CXX_FLAGS MATCHES "-Werror") + endif(CMAKE_CXX_COMPILER_ID MATCHES "Clang") diff --git a/ports/snappy/pkgconfig.diff b/ports/snappy/pkgconfig.diff new file mode 100644 index 00000000000000..d3fc64739c7692 --- /dev/null +++ b/ports/snappy/pkgconfig.diff @@ -0,0 +1,23 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c3062e2..05477e9 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -417,4 +417,18 @@ if(SNAPPY_INSTALL) + "${PROJECT_BINARY_DIR}/cmake/${PROJECT_NAME}ConfigVersion.cmake" + DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}" + ) ++ ++ cmake_policy(SET CMP0057 NEW) ++ set(LIBS_PRIVATE "") ++ 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(snappy.pc.in "${CMAKE_CURRENT_BINARY_DIR}/snappy.pc" @ONLY) ++ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/snappy.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") + endif(SNAPPY_INSTALL) diff --git a/ports/snappy/portfile.cmake b/ports/snappy/portfile.cmake index 45b8c706db2d64..c33046bbf0db47 100644 --- a/ports/snappy/portfile.cmake +++ b/ports/snappy/portfile.cmake @@ -1,22 +1,37 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/snappy - REF 1.1.9 - SHA512 f1f8a90f5f7f23310423574b1d8c9acb84c66ea620f3999d1060395205e5760883476837aba02f0aa913af60819e34c625d8308c18a5d7a9c4e190f35968b024 + REF ${VERSION} + SHA512 e7290d79ddd45605aafd02cba9eaa32309c94af04f137552a97a915c391f185dccab9b7b21a01b28f3f446be420232c3c22d91c06e0be6e1e2e32d645174798c HEAD_REF master + PATCHES + fix_clang-cl_build.patch + no-werror.patch + pkgconfig.diff ) +file(COPY "${CURRENT_PORT_DIR}/snappy.pc.in" DESTINATION "${SOURCE_PATH}") vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DSNAPPY_BUILD_TESTS=OFF -DSNAPPY_BUILD_BENCHMARKS=OFF - -DCMAKE_DEBUG_POSTFIX=d + + # These variables can be overriden in a custom triplet, see usage file + -DSNAPPY_HAVE_SSSE3=OFF + -DSNAPPY_HAVE_X86_CRC32=OFF + -DSNAPPY_HAVE_NEON_CRC32=OFF + -DSNAPPY_HAVE_BMI2=OFF + -DSNAPPY_HAVE_NEON=OFF ) vcpkg_cmake_install() vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/Snappy) vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) + +file(COPY "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/snappy/snappy.pc.in b/ports/snappy/snappy.pc.in new file mode 100644 index 00000000000000..a0b039b0ae5924 --- /dev/null +++ b/ports/snappy/snappy.pc.in @@ -0,0 +1,11 @@ +prefix=${pcfiledir}/../.. +exec_prefix=${prefix} +libdir=${prefix}/lib +includedir=${prefix}/include + +Name: snappy +Description: A fast compressor/decompressor. +Version: @PROJECT_VERSION@ +Libs: -L${libdir} -lsnappy +Cflags: -I${includedir} +Libs.private: @LIBS_PRIVATE@ \ No newline at end of file diff --git a/ports/snappy/usage b/ports/snappy/usage new file mode 100644 index 00000000000000..64116975cdc086 --- /dev/null +++ b/ports/snappy/usage @@ -0,0 +1,13 @@ +snappy provides CMake targets: + + find_package(Snappy CONFIG REQUIRED) + target_link_libraries(main PRIVATE Snappy::snappy) + +Optimizations based on hardware support are disabled by default. +You can enable them by adding corresponding flags to VCPKG_CMAKE_CONFIGURE_OPTIONS inside a custom triplet file, for example: + + if("${PORT}" STREQUAL "snappy") + list(APPEND VCPKG_CMAKE_CONFIGURE_OPTIONS -DSNAPPY_HAVE_SSSE3=ON -DSNAPPY_HAVE_BMI2=ON) + endif() + +For a full list of possible options, see project's root CMakeLists.txt. diff --git a/ports/snappy/vcpkg.json b/ports/snappy/vcpkg.json index 593b023434c80b..28c402918a4509 100644 --- a/ports/snappy/vcpkg.json +++ b/ports/snappy/vcpkg.json @@ -1,9 +1,9 @@ { "name": "snappy", - "version": "1.1.9", - "port-version": 1, + "version": "1.2.1", "description": "A fast compressor/decompressor.", "homepage": "https://github.com/google/snappy", + "license": null, "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/sndfile/portfile.cmake b/ports/sndfile/portfile.cmake deleted file mode 100644 index d3910bb2c4ec8c..00000000000000 --- a/ports/sndfile/portfile.cmake +++ /dev/null @@ -1,3 +0,0 @@ -set(VCPKG_POLICY_EMPTY_PACKAGE enabled) - -message(WARNING "The sndfile port is deprecated, using libsndfile instead") diff --git a/ports/sndfile/vcpkg.json b/ports/sndfile/vcpkg.json deleted file mode 100644 index 2f91543bd334d0..00000000000000 --- a/ports/sndfile/vcpkg.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "name": "sndfile", - "version-string": "0", - "port-version": 1, - "description": "x Library to read, write and manipulate many soundfile types.", - "dependencies": [ - "libsndfile" - ], - "default-features": [ - "external-libs" - ], - "features": { - "external-libs": { - "description": "Support Ogg Vorbis and FLAC audio files", - "dependencies": [ - { - "name": "libsndfile", - "features": [ - "external-libs" - ] - } - ] - } - } -} diff --git a/ports/snitch/portfile.cmake b/ports/snitch/portfile.cmake new file mode 100644 index 00000000000000..359f83803c61df --- /dev/null +++ b/ports/snitch/portfile.cmake @@ -0,0 +1,23 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO snitch-org/snitch + REF "v${VERSION}" + SHA512 bb51c7ec51ab934ccd05b8e653ba3da8f321702307fa28b11b8a7ec31e170e337c2ccbe8f4895a25e4fdec1358f90d11a51c489511af95a65311c57e4a4164ef +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DSNITCH_DEFINE_MAIN=0 + -DCMAKE_CXX_STANDARD=20 +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup( + CONFIG_PATH lib/cmake/snitch +) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") diff --git a/ports/snitch/vcpkg.json b/ports/snitch/vcpkg.json new file mode 100644 index 00000000000000..fb30362cf90c1d --- /dev/null +++ b/ports/snitch/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "snitch", + "version": "1.2.5", + "description": "Lightweight C++20 testing framework.", + "homepage": "https://github.com/snitch-org/snitch", + "license": "BSL-1.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/snowhouse/vcpkg.json b/ports/snowhouse/vcpkg.json index f8d9a392febfd1..da2f04571f42a4 100644 --- a/ports/snowhouse/vcpkg.json +++ b/ports/snowhouse/vcpkg.json @@ -1,6 +1,6 @@ { "name": "snowhouse", - "version-string": "5.0.0", - "port-version": 1, + "version": "5.0.0", + "port-version": 2, "description": "An assertion library for C++" } diff --git a/ports/so5extra/portfile.cmake b/ports/so5extra/portfile.cmake index 7ff8f47b6f46d4..a630520d1b7310 100644 --- a/ports/so5extra/portfile.cmake +++ b/ports/so5extra/portfile.cmake @@ -1,21 +1,20 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO stiffstream/so5extra - REF 20f4c83ecde1509fbaf337dcf40f2f49dcf2690d # v.1.4.1.1 - SHA512 a3df042b60afc4c57361b5b3c21f4b7c077f1b0ab7a4d33fda14cc915f10b22a42ef0acbb1c7c8b356ce31ee84f24391164120642faf96235549204c83b40294 + REF "v.${VERSION}" + SHA512 5744dbb3739d00fa9928718b734611c190ffe8a44ce2dd66f05333abe09dc0e59a4453a0ea4d0b714d81627e7f876493a8c87022bf10ea2011ce94f04b41b54f ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH}/dev/so_5_extra - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/dev/so_5_extra" OPTIONS -DSO5EXTRA_INSTALL=ON ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/so5extra) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/so5extra) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib ${CURRENT_PACKAGES_DIR}/debug) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib" "${CURRENT_PACKAGES_DIR}/debug") -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/so5extra RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/so5extra" RENAME copyright) diff --git a/ports/so5extra/vcpkg.json b/ports/so5extra/vcpkg.json index 0d172497cadc15..7f07788c22c333 100644 --- a/ports/so5extra/vcpkg.json +++ b/ports/so5extra/vcpkg.json @@ -1,10 +1,18 @@ { "name": "so5extra", - "version": "1.4.1.1", + "version": "1.6.2", "description": "A set of additional tools for SObjectizer framework.", "homepage": "https://github.com/Stiffstream/so5extra", "license": "BSD-3-Clause", "dependencies": [ - "sobjectizer" + "sobjectizer", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/soapysdr/portfile.cmake b/ports/soapysdr/portfile.cmake new file mode 100644 index 00000000000000..05aa72ded7c53e --- /dev/null +++ b/ports/soapysdr/portfile.cmake @@ -0,0 +1,28 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO pothosware/SoapySDR + REF soapy-sdr-${VERSION} + SHA512 50c8f1652bf9ca09215f9c4115175427ca7b5338add7591e31ca0e627093c94b73e7cf7f84fa71ff419cc010d3c1263931506c728bbaa00413a7915d56a87787 +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DENABLE_DOCS=OFF + -DENABLE_APPS=OFF + -DENABLE_PYTHON=OFF + -DENABLE_PYTHON3=OFF + -DENABLE_TESTS=OFF +) + +vcpkg_cmake_install() + +vcpkg_fixup_pkgconfig() + +vcpkg_cmake_config_fixup(CONFIG_PATH cmake) + +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_1_0.txt") diff --git a/ports/soapysdr/usage b/ports/soapysdr/usage new file mode 100644 index 00000000000000..34a2b48161e8b5 --- /dev/null +++ b/ports/soapysdr/usage @@ -0,0 +1,9 @@ +soapysdr provides CMake targets: + + find_package(SoapySDR CONFIG REQUIRED) + target_link_libraries(main PRIVATE SoapySDR) + +soapysdr provides pkg-config modules: + + # Vendor and platform neutral SDR interface library. + SoapySDR diff --git a/ports/soapysdr/vcpkg.json b/ports/soapysdr/vcpkg.json new file mode 100644 index 00000000000000..c950cbad48a850 --- /dev/null +++ b/ports/soapysdr/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "soapysdr", + "version": "0.8.1", + "description": "Vendor and platform neutral SDR interface library.", + "homepage": "https://github.com/pothosware/SoapySDR/wiki", + "license": "BSL-1.0", + "supports": "!uwp & !static", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/sobjectizer/portfile.cmake b/ports/sobjectizer/portfile.cmake index b6932058ecb32f..71ff22b68a2960 100644 --- a/ports/sobjectizer/portfile.cmake +++ b/ports/sobjectizer/portfile.cmake @@ -1,26 +1,25 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO stiffstream/sobjectizer - REF 972b5310b7a486dd4d4322ffb46f1c7e15c47ef6 # v.5.7.2.6 - SHA512 0e5160981218d49beda3ed367ed34fa05c706104f68b6b06619f62a9b2a1ef92b08ddfd3ae14451e51e41bb7742789da4536289ec9d2d23dce13cdf6284108c9 + REF "v.${VERSION}" + SHA512 f8fe128b4534ad1f7324d6b7f2b290f4c6bb8bfd2acc055b6daa429f14d797aad071630ada3dcc64bc9d337b3f36c88531d162e8caa7fdbff85a27cbcac7dd45 ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" SOBJECTIZER_BUILD_STATIC ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" SOBJECTIZER_BUILD_SHARED) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH}/dev - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/dev" OPTIONS -DSOBJECTIZER_BUILD_STATIC=${SOBJECTIZER_BUILD_STATIC} -DSOBJECTIZER_BUILD_SHARED=${SOBJECTIZER_BUILD_SHARED} ) -vcpkg_install_cmake() +vcpkg_cmake_install() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/sobjectizer) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/sobjectizer) -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/sobjectizer/vcpkg.json b/ports/sobjectizer/vcpkg.json index 82297030b5793f..557bc1268c7b80 100644 --- a/ports/sobjectizer/vcpkg.json +++ b/ports/sobjectizer/vcpkg.json @@ -1,7 +1,17 @@ { "name": "sobjectizer", - "version": "5.7.2.6", + "version": "5.8.3", "description": "SObjectizer is a C++ in-process message dispatching framework with implementation of Actor Model, Publish-Subscribe Model and CSP-like channels.", "homepage": "https://github.com/Stiffstream/sobjectizer", - "license": "BSD-3-Clause" + "license": "BSD-3-Clause", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/soci/dependencies.diff b/ports/soci/dependencies.diff new file mode 100644 index 00000000000000..187022d0ec981f --- /dev/null +++ b/ports/soci/dependencies.diff @@ -0,0 +1,100 @@ +diff --git a/cmake/dependencies/Boost.cmake b/cmake/dependencies/Boost.cmake +index 366d32b..7ff041b 100644 +--- a/cmake/dependencies/Boost.cmake ++++ b/cmake/dependencies/Boost.cmake +@@ -10,4 +10,6 @@ endif() + set(Boost_RELEASE_VERSION + "${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION}.${Boost_SUBMINOR_VERSION}") + ++set(BOOST_FOUND "${Boost_FOUND}") ++set(BOOST_LIBRARIES "${Boost_LIBRARIES}") + boost_external_report(Boost RELEASE_VERSION INCLUDE_DIR LIBRARIES) +diff --git a/cmake/dependencies/MySQL.cmake b/cmake/dependencies/MySQL.cmake +index 5599b08..0a4ce0f 100644 +--- a/cmake/dependencies/MySQL.cmake ++++ b/cmake/dependencies/MySQL.cmake +@@ -1,5 +1,9 @@ + set(MySQL_FIND_QUIETLY TRUE) + +-find_package(MySQL) ++find_package(MYSQL NAMES unofficial-libmysql REQUIRED) ++set(MYSQL_LIBRARIES "$") ++if(TARGET mysqlclient AND NOT TARGET libmysql) ++ set(MYSQL_LIBRARIES "$") ++endif() + + boost_external_report(MySQL INCLUDE_DIR LIBRARIES) +diff --git a/cmake/dependencies/PostgreSQL.cmake b/cmake/dependencies/PostgreSQL.cmake +index c6f2154..ef6bfcd 100644 +--- a/cmake/dependencies/PostgreSQL.cmake ++++ b/cmake/dependencies/PostgreSQL.cmake +@@ -1,5 +1,8 @@ + set(PostgreSQL_FIND_QUIETLY TRUE) + +-find_package(PostgreSQL) ++find_package(PostgreSQL REQUIRED) ++set(POSTGRESQL_FOUND TRUE) ++set(POSTGRESQL_INCLUDE_DIRS "${PostgreSQL_INCLUDE_DIRS}") ++set(POSTGRESQL_LIBRARIES "${PostgreSQL_LIBRARIES}") + + boost_external_report(PostgreSQL INCLUDE_DIRS LIBRARIES VERSION) +diff --git a/cmake/dependencies/SQLite3.cmake b/cmake/dependencies/SQLite3.cmake +index 0daa9a5..17775da 100644 +--- a/cmake/dependencies/SQLite3.cmake ++++ b/cmake/dependencies/SQLite3.cmake +@@ -1,5 +1,6 @@ + set(SQLITE3_FIND_QUIETLY TRUE) + +-find_package(SQLite3) ++find_package(SQLITE3 NAMES unofficial-sqlite3 CONFIG REQUIRED) ++set(SQLITE3_LIBRARIES unofficial::sqlite3::sqlite3) + + boost_external_report(SQLite3 INCLUDE_DIR LIBRARIES) +diff --git a/cmake/resources/SOCIConfig.cmake.in b/cmake/resources/SOCIConfig.cmake.in +index 8096a3c..354c18b 100644 +--- a/cmake/resources/SOCIConfig.cmake.in ++++ b/cmake/resources/SOCIConfig.cmake.in +@@ -1,3 +1,11 @@ + @PACKAGE_INIT@ + ++include(CMakeFindDependencyMacro) ++if("@WITH_MYSQL@") ++ find_dependency(unofficial-libmysql) ++endif() ++if("@WITH_SQLITE3@") ++ find_dependency(unofficial-sqlite3) ++endif() ++ + include(${CMAKE_CURRENT_LIST_DIR}/SOCITargets.cmake) +diff --git a/include/soci/mysql/soci-mysql.h b/include/soci/mysql/soci-mysql.h +index 376bb7e..fbe48fa 100644 +--- a/include/soci/mysql/soci-mysql.h ++++ b/include/soci/mysql/soci-mysql.h +@@ -21,8 +21,8 @@ + #ifdef _WIN32 + #include // SOCKET + #endif // _WIN32 +-#include // MySQL Client +-#include // MySQL Error codes ++#include // MySQL Client ++#include // MySQL Error codes + #include + + +diff --git a/src/backends/CMakeLists.txt b/src/backends/CMakeLists.txt +index 871e151..3cffc80 100644 +--- a/src/backends/CMakeLists.txt ++++ b/src/backends/CMakeLists.txt +@@ -14,9 +14,9 @@ colormsg(_HIBLUE_ "Configuring SOCI backend libraries:") + foreach(dep ${SOCI_BACKENDS_DB_DEPENDENCIES}) + string(TOUPPER ${dep} depUP) + if (WITH_${depUP}) +- find_package(${dep}) +- endif() +- if(${dep}_FOUND OR ${depUP}_FOUND) ++ if(NOT (${dep}_FOUND OR ${depUP}_FOUND)) ++ message(FATAL_ERROR "${depUP} not found, check SociDependencies.cmake") ++ endif() + set(${depUP}_FOUND ON) + else() + set(${depUP}_FOUND OFF) diff --git a/ports/soci/export-include-dirs.patch b/ports/soci/export-include-dirs.patch deleted file mode 100644 index e141363fc2e894..00000000000000 --- a/ports/soci/export-include-dirs.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff --git a/cmake/SociBackend.cmake b/cmake/SociBackend.cmake -index 5d4ef0d..bb0edf2 100644 ---- a/cmake/SociBackend.cmake -+++ b/cmake/SociBackend.cmake -@@ -159,8 +159,14 @@ macro(soci_backend NAME) - ${THIS_BACKEND_HEADERS}) - - target_link_libraries(${THIS_BACKEND_TARGET} -+ PUBLIC - ${SOCI_CORE_TARGET} - ${THIS_BACKEND_DEPENDS_LIBRARIES}) -+ -+ target_include_directories(${THIS_BACKEND_TARGET} -+ PUBLIC -+ ${THIS_BACKEND_DEPENDS_INCLUDE_DIRS} -+ ) - - if(WIN32) - set_target_properties(${THIS_BACKEND_TARGET} -@@ -197,9 +203,15 @@ macro(soci_backend NAME) - - # Still need to link the libraries for tests to work - target_link_libraries (${THIS_BACKEND_TARGET_STATIC} -+ PUBLIC - ${THIS_BACKEND_DEPENDS_LIBRARIES} - ) -- -+ -+ target_include_directories(${THIS_BACKEND_TARGET_STATIC} -+ PUBLIC -+ ${THIS_BACKEND_DEPENDS_INCLUDE_DIRS} -+ ) -+ - set_target_properties(${THIS_BACKEND_TARGET_STATIC} - PROPERTIES - OUTPUT_NAME ${THIS_BACKEND_OUTPUT_NAME} diff --git a/ports/soci/fix-dependency-libmysql.patch b/ports/soci/fix-dependency-libmysql.patch deleted file mode 100644 index 809ec76d5be325..00000000000000 --- a/ports/soci/fix-dependency-libmysql.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/cmake/modules/FindMySQL.cmake b/cmake/modules/FindMySQL.cmake -index 1233568..9a7cb61 100644 ---- a/cmake/modules/FindMySQL.cmake -+++ b/cmake/modules/FindMySQL.cmake -@@ -13,6 +13,9 @@ - # - # Redistribution and use is allowed according to the terms of the BSD license. - # For details see the accompanying COPYING-CMAKE-SCRIPTS file. -+find_package(libmysql REQUIRED) -+set(MySQL_FOUND 1) -+return() - - include(CheckCXXSourceCompiles) - diff --git a/ports/soci/fix-mysql-feature-error.patch b/ports/soci/fix-mysql-feature-error.patch deleted file mode 100644 index 05e9c4bfe04a23..00000000000000 --- a/ports/soci/fix-mysql-feature-error.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/src/backends/mysql/session.cpp b/src/backends/mysql/session.cpp -index 383248c..86a5bfd 100644 ---- a/src/backends/mysql/session.cpp -+++ b/src/backends/mysql/session.cpp -@@ -5,6 +5,7 @@ - // (See accompanying file LICENSE_1_0.txt or copy at - // http://www.boost.org/LICENSE_1_0.txt) - // -+typedef bool my_bool; - - #define SOCI_MYSQL_SOURCE - #include "soci/mysql/soci-mysql.h" diff --git a/ports/soci/portfile.cmake b/ports/soci/portfile.cmake index b852d6da79af7f..b6757821d93b0b 100644 --- a/ports/soci/portfile.cmake +++ b/ports/soci/portfile.cmake @@ -1,61 +1,74 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO SOCI/soci - REF 99e2d567161a302de4f99832af76e6d3b75b68e6 #version 4.0.2 - SHA512 d08d2383808d46d5e9550e9c7d93fb405d9e336eb38d974ba429e5b9446d3af53d4e702b90e80c67e298333da0145457fa1146d9773322676030be69de4ec4f4 + REF "v${VERSION}" + SHA512 d501f55e7e7408e46b4823fd8a97d6ef587f5db0f5b98434be8dfc5693c91b8c3b84a24454279c83142ab1cd1fa139c6e54d6d9a67397b2ead61650fcc88bcdb HEAD_REF master PATCHES - fix-dependency-libmysql.patch - export-include-dirs.patch - fix-mysql-feature-error.patch # https://bugs.mysql.com/bug.php?id=85131 + dependencies.diff + usage-requirements.diff +) +file(REMOVE + "${SOURCE_PATH}/cmake/modules/FindPostgreSQL.cmake" ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" SOCI_DYNAMIC) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" SOCI_STATIC) -# Handle features -set(_COMPONENT_FLAGS "") -foreach(_feature IN LISTS ALL_FEATURES) - # Uppercase the feature name and replace "-" with "_" - string(TOUPPER "${_feature}" _FEATURE) - string(REPLACE "-" "_" _FEATURE "${_FEATURE}") - - # Turn "-DWITH_*=" ON or OFF depending on whether the feature - # is in the list. - if(_feature IN_LIST FEATURES) - list(APPEND _COMPONENT_FLAGS "-DWITH_${_FEATURE}=ON") - else() - list(APPEND _COMPONENT_FLAGS "-DWITH_${_FEATURE}=OFF") - endif() - - if(_feature MATCHES "mysql") - set(MYSQL_OPT -DMYSQL_INCLUDE_DIR=${CURRENT_INSTALLED_DIR}/include/mysql) - endif() -endforeach() +vcpkg_check_features(OUT_FEATURE_OPTIONS options + FEATURES + boost WITH_BOOST + boost CMAKE_REQUIRE_FIND_PACKAGE_Boost + empty SOCI_EMPTY + mysql WITH_MYSQL + odbc WITH_ODBC + odbc CMAKE_REQUIRE_FIND_PACKAGE_ODBC + postgresql WITH_POSTGRESQL + sqlite3 WITH_SQLITE3 + INVERTED_FEATURES + core WITH_DB2 + core WITH_FIREBIRD + core WITH_ORACLE + core WITH_VALGRIND +) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DSOCI_TESTS=OFF -DSOCI_CXX11=ON - -DSOCI_STATIC=${SOCI_STATIC} -DSOCI_SHARED=${SOCI_DYNAMIC} - ${_COMPONENT_FLAGS} - ${MYSQL_OPT} + -DSOCI_STATIC=${SOCI_STATIC} + -DSOCI_TESTS=OFF + ${options} + MAYBE_UNUSED_VARIABLES + CMAKE_REQUIRE_FIND_PACKAGE_Boost + CMAKE_REQUIRE_FIND_PACKAGE_ODBC ) vcpkg_cmake_install() vcpkg_copy_pdbs() vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/SOCI) -if ("mysql" IN_LIST FEATURES) - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/${PORT}/SOCIConfig.cmake" - "# Create imported target SOCI::soci_mysql" - "\ninclude(CMakeFindDependencyMacro)\nfind_dependency(libmysql)\n# Create imported target SOCI::soci_mysql" - ) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/soci/soci-platform.h" "ifdef SOCI_DLL" "if 1") endif() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -# Handle copyright -file(INSTALL "${SOURCE_PATH}/LICENSE_1_0.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +file(READ "${CURRENT_PORT_DIR}/usage" usage) +set(backends ${FEATURES}) +list(REMOVE_ITEM backends core boost) +if(backends STREQUAL "") + string(APPEND usage " +This soci build doesn't include any backend and may not be useful. +") +endif() +foreach(backend IN LISTS backends) + string(APPEND usage " + # Using the ${backend} backend directly + target_link_libraries(main PRIVATE $,SOCI::soci_${backend},SOCI::soci_${backend}_static>) +") +endforeach() +file(WRITE "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" "${usage}") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE_1_0.txt") diff --git a/ports/soci/usage b/ports/soci/usage new file mode 100644 index 00000000000000..fc3044265bbc43 --- /dev/null +++ b/ports/soci/usage @@ -0,0 +1,5 @@ +soci provides CMake targets: + + find_package(SOCI CONFIG REQUIRED) + # Using core (loading backends at runtime) + target_link_libraries(main PRIVATE $,SOCI::soci_core,SOCI::soci_core_static>) diff --git a/ports/soci/usage-requirements.diff b/ports/soci/usage-requirements.diff new file mode 100644 index 00000000000000..9ecd405c96fd61 --- /dev/null +++ b/ports/soci/usage-requirements.diff @@ -0,0 +1,33 @@ +diff --git a/cmake/SociBackend.cmake b/cmake/SociBackend.cmake +index 5d4ef0d..279cb75 100644 +--- a/cmake/SociBackend.cmake ++++ b/cmake/SociBackend.cmake +@@ -159,8 +159,13 @@ macro(soci_backend NAME) + ${THIS_BACKEND_HEADERS}) + + target_link_libraries(${THIS_BACKEND_TARGET} ++ PUBLIC + ${SOCI_CORE_TARGET} + ${THIS_BACKEND_DEPENDS_LIBRARIES}) ++ target_include_directories(${THIS_BACKEND_TARGET} ++ PUBLIC ++ ${THIS_BACKEND_DEPENDS_INCLUDE_DIRS} ++ ) + + if(WIN32) + set_target_properties(${THIS_BACKEND_TARGET} +@@ -197,8 +202,14 @@ macro(soci_backend NAME) + + # Still need to link the libraries for tests to work + target_link_libraries (${THIS_BACKEND_TARGET_STATIC} ++ PUBLIC ++ ${SOCI_CORE_TARGET}_static + ${THIS_BACKEND_DEPENDS_LIBRARIES} + ) ++ target_include_directories(${THIS_BACKEND_TARGET_STATIC} ++ PUBLIC ++ ${THIS_BACKEND_DEPENDS_INCLUDE_DIRS} ++ ) + + set_target_properties(${THIS_BACKEND_TARGET_STATIC} + PROPERTIES diff --git a/ports/soci/vcpkg.json b/ports/soci/vcpkg.json index 03c3294448743a..004473ef31d261 100644 --- a/ports/soci/vcpkg.json +++ b/ports/soci/vcpkg.json @@ -1,8 +1,10 @@ { "name": "soci", - "version": "4.0.2", - "description": "SOCI database access library", - "homepage": "https://github.com/SOCI/soci", + "version": "4.0.3", + "port-version": 3, + "description": "SOCI - The C++ Database Access Library", + "homepage": "https://soci.sourceforge.net/", + "license": "BSL-1.0", "dependencies": [ { "name": "vcpkg-cmake", @@ -24,6 +26,9 @@ "boost-tuple" ] }, + "empty": { + "description": "Build the backend skeleton for new backends development" + }, "mysql": { "description": "Build mysql backend", "dependencies": [ @@ -31,18 +36,31 @@ ] }, "odbc": { - "description": "Build odbc backend" + "description": "Build odbc backend", + "supports": "!uwp", + "dependencies": [ + { + "name": "unixodbc", + "platform": "!windows" + } + ] }, "postgresql": { "description": "Build postgresql backend", "dependencies": [ - "libpq" + { + "name": "libpq", + "default-features": false + } ] }, "sqlite3": { "description": "Build sqlite3 backend", "dependencies": [ - "sqlite3" + { + "name": "sqlite3", + "default-features": false + } ] } } diff --git a/ports/socket-io-client/fix-build.patch b/ports/socket-io-client/fix-build.patch new file mode 100644 index 00000000000000..e48c9486cc138c --- /dev/null +++ b/ports/socket-io-client/fix-build.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a9c69d5..f2852c8 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -19,7 +19,7 @@ if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) + endif() + + # Only do these if this is the main project, and not if it is included through add_subdirectory +-if(CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME) ++if(0) + # Testing only available if this is the main app + # Note this needs to be done in the main CMakeLists + # since it calls enable_testing, which must be in the diff --git a/ports/socket-io-client/fix-file-not-found.patch b/ports/socket-io-client/fix-file-not-found.patch deleted file mode 100644 index b758c7a2956c5b..00000000000000 --- a/ports/socket-io-client/fix-file-not-found.patch +++ /dev/null @@ -1,49 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -31,20 +31,24 @@ add_definitions( - -D_WEBSOCKETPP_CPP11_FUNCTIONAL_ - ) - -+find_package(websocketpp CONFIG REQUIRED) -+find_package(asio CONFIG REQUIRED) -+find_package(RapidJSON CONFIG REQUIRED) -+ - add_library(sioclient ${ALL_SRC}) - target_include_directories(sioclient PRIVATE - ${CMAKE_CURRENT_LIST_DIR}/src -- ${CMAKE_CURRENT_LIST_DIR}/lib/websocketpp -- ${CMAKE_CURRENT_LIST_DIR}/lib/rapidjson/include -- ${CMAKE_CURRENT_LIST_DIR}/lib/asio/asio/include - ) - - if (CMAKE_VERSION VERSION_GREATER "3.1") - set_property(TARGET sioclient PROPERTY CXX_STANDARD 11) - set_property(TARGET sioclient PROPERTY CXX_STANDARD_REQUIRED ON) - else() - set_property(TARGET sioclient APPEND_STRING PROPERTY COMPILE_FLAGS "-std=c++11") - endif() -+ -+target_link_libraries(sioclient PRIVATE websocketpp::websocketpp asio asio::asio rapidjson) -+ - if(BUILD_SHARED_LIBS) - set_target_properties(sioclient - PROPERTIES -@@ -56,16 +59,13 @@ if(OPENSSL_FOUND) - add_library(sioclient_tls ${ALL_SRC}) - target_include_directories(sioclient_tls PRIVATE - ${CMAKE_CURRENT_LIST_DIR}/src -- ${CMAKE_CURRENT_LIST_DIR}/lib/websocketpp -- ${CMAKE_CURRENT_LIST_DIR}/lib/rapidjson/include -- ${CMAKE_CURRENT_LIST_DIR}/lib/asio/asio/include - ${OPENSSL_INCLUDE_DIR} - ) - - if (CMAKE_VERSION VERSION_GREATER "3.1") - set_property(TARGET sioclient_tls PROPERTY CXX_STANDARD 11) - set_property(TARGET sioclient_tls PROPERTY CXX_STANDARD_REQUIRED ON) --target_link_libraries(sioclient_tls PRIVATE ${OPENSSL_LIBRARIES} ) -+target_link_libraries(sioclient_tls PRIVATE ${OPENSSL_LIBRARIES} websocketpp::websocketpp asio asio::asio rapidjson) - else() - set_property(TARGET sioclient_tls APPEND_STRING PROPERTY COMPILE_FLAGS "-std=c++11") - endif() diff --git a/ports/socket-io-client/portfile.cmake b/ports/socket-io-client/portfile.cmake index c5a1dfb32ef2cc..645a81a63e594f 100644 --- a/ports/socket-io-client/portfile.cmake +++ b/ports/socket-io-client/portfile.cmake @@ -3,18 +3,29 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO socketio/socket.io-client-cpp - REF 3.1.0 - SHA512 a0adaa06ddb24297686a40b1e71a55bbab437093f828f76040c376b4adccb7d8b06eff4d8569dbde9b2e071257b3290e7e2bffd6354b33ecf67378ffa1d0cc13 + REF 0dc2f7afea17a0e5bfb5e9b1e6d6f26ab1455cef + SHA512 583cc0c6e392243203e4d10163a1cb5a404497472e684dfbeef7ca9634784a1fe4717f926858eea98aa0ac4356fb503abfbbeb58fcb1dd839c917e9f6ee104b1 HEAD_REF master PATCHES - fix-file-not-found.patch + fix-build.patch ) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DUSE_SUBMODULES=OFF + -DCMAKE_INSTALL_INCLUDEDIR=include ) vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME sioclient CONFIG_PATH lib/cmake/sioclient) +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/sioclient/sioclientConfig.cmake" + "include(CMakeFindDependencyMacro)" + [[include(CMakeFindDependencyMacro) +find_dependency(websocketpp CONFIG) +find_dependency(asio CONFIG) +find_dependency(RapidJSON CONFIG) +find_dependency(OpenSSL)]]) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/socket-io-client/vcpkg.json b/ports/socket-io-client/vcpkg.json index e178386b542705..fad58a1e3f784e 100644 --- a/ports/socket-io-client/vcpkg.json +++ b/ports/socket-io-client/vcpkg.json @@ -1,9 +1,9 @@ { "name": "socket-io-client", - "version": "3.1.0", + "version-date": "2023-11-11", "description": "C++11 implementation of Socket.IO client", "homepage": "https://github.com/socketio/socket.io-client-cpp", - "supports": "static", + "license": "MIT", "dependencies": [ "asio", "rapidjson", @@ -11,6 +11,10 @@ "name": "vcpkg-cmake", "host": true }, + { + "name": "vcpkg-cmake-config", + "host": true + }, "websocketpp" ] } diff --git a/ports/sockpp/portfile.cmake b/ports/sockpp/portfile.cmake index 19b43486e3ce73..ade2e0cb566084 100644 --- a/ports/sockpp/portfile.cmake +++ b/ports/sockpp/portfile.cmake @@ -1,19 +1,17 @@ -vcpkg_fail_port_install(ON_TARGET "uwp") vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO fpagliughi/sockpp - REF d8c86c01db43542a06ad05424da037f6b9892253 - SHA512 9b7ae3fea08bfd4a0d6479d7fbcc24da9101476c4f8e4a684138c7d974827cdf374282a4641e58f03c08aeb83f2c1856fc3c5193e5847fb4b3d9182c1c396087 + REF "v${VERSION}" + SHA512 99191c9551ff345f96af9177d124c6e10f3da8e87021576058b63df82ee64461cb8fc134919fe390617200aebf222e70501e3cee43fc0a294596947669ed4f03 HEAD_REF master ) -vcpkg_replace_string(${SOURCE_PATH}/CMakeLists.txt "\${SOCKPP}-static" "\${SOCKPP}") +vcpkg_replace_string("${SOURCE_PATH}/CMakeLists.txt" "\${SOCKPP}-static" "\${SOCKPP}" IGNORE_UNCHANGED) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DSOCKPP_BUILD_SHARED=OFF -DSOCKPP_BUILD_STATIC=ON @@ -22,11 +20,10 @@ vcpkg_configure_cmake( -DSOCKPP_BUILD_TESTS=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) -file(INSTALL ${CURRENT_PORT_DIR}/sockppConfig.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -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/sockpp/sockppConfig.cmake b/ports/sockpp/sockppConfig.cmake deleted file mode 100644 index 840b96ed04f378..00000000000000 --- a/ports/sockpp/sockppConfig.cmake +++ /dev/null @@ -1,23 +0,0 @@ -get_filename_component(_DIR "${CMAKE_CURRENT_LIST_DIR}/../../" ABSOLUTE) -if(NOT SOCKPP_FIND_COMPONENTS) - set(SOCKPP_FIND_COMPONENTS sockpp) - if(SOCKPP_FIND_REQUIRED) - set(SOCKPP_FIND_REQUIRED_sockpp TRUE) - endif() - set(SOCKPP_FOUND TRUE) -endif() - -set(SOCKPP_INCLUDE_DIRS ${_DIR}/include) -set(SOCKPP_LIBRARIES) -if (EXISTS ${_DIR}/lib/libsockpp.a) - list(APPEND SOCKPP_LIBRARIES optimized ${_DIR}/lib/libsockpp.a) -endif() -if (EXISTS ${_DIR}/debug/lib/libsockpp.a) - list(APPEND SOCKPP_LIBRARIES debug ${_DIR}/debug/lib/libsockpp.a) -endif() -if (EXISTS ${_DIR}/lib/sockpp.lib) - list(APPEND SOCKPP_LIBRARIES optimized ${_DIR}/lib/sockpp.lib) -endif() -if (EXISTS ${_DIR}/debug/lib/sockpp.lib) - list(APPEND SOCKPP_LIBRARIES debug ${_DIR}/debug/lib/sockpp.lib) -endif() diff --git a/ports/sockpp/usage b/ports/sockpp/usage deleted file mode 100644 index 5cfb06d29e77f0..00000000000000 --- a/ports/sockpp/usage +++ /dev/null @@ -1,5 +0,0 @@ -The package sockpp provides CMake integration: - - find_package(sockpp CONFIG REQUIRED) - target_include_directories(main PRIVATE ${SOCKPP_INCLUDE_DIRS}) - target_link_libraries(main PRIVATE ${SOCKPP_LIBRARIES}) diff --git a/ports/sockpp/vcpkg.json b/ports/sockpp/vcpkg.json index d17daad6d06e20..1ab519eb46e0aa 100644 --- a/ports/sockpp/vcpkg.json +++ b/ports/sockpp/vcpkg.json @@ -1,8 +1,19 @@ { "name": "sockpp", - "version-string": "0.7", + "version": "1.0.0", "port-version": 1, "description": "Simple, modern, C++ socket library. This is a fairly low-level C++ wrapper around the Berkeley sockets library using socket, acceptor, and connector classes that are familiar concepts from other languages.", "homepage": "https://github.com/fpagliughi/sockpp", - "supports": "!uwp" + "license": "BSD-3-Clause", + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/soem/disable-werror-and-wx.patch b/ports/soem/disable-werror-and-wx.patch new file mode 100644 index 00000000000000..4d683e45c3efae --- /dev/null +++ b/ports/soem/disable-werror-and-wx.patch @@ -0,0 +1,32 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 7fa930c..5d96ae4 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -27,16 +27,13 @@ if(WIN32) + find_library(packet_LIBRARY NAMES packet) + include_directories(${winpcap_INCLUDE_DIRS}) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /D _CRT_SECURE_NO_WARNINGS") +- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /WX") + set(OS_LIBS ${winpcap_LIBRARY} ${packet_LIBRARY} Ws2_32.lib Winmm.lib) + elseif(UNIX AND NOT APPLE) + set(OS "linux") +- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Werror") + set(OS_LIBS pthread rt) + elseif(APPLE) + # This must come *before* linux or MacOSX will identify as Unix. + set(OS "macosx") +- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Werror") + set(OS_LIBS pthread pcap) + elseif(${CMAKE_SYSTEM_NAME} MATCHES "rt-kernel") + set(OS "rtk") +@@ -45,10 +42,6 @@ elseif(${CMAKE_SYSTEM_NAME} MATCHES "rt-kernel") + include_directories(oshw/${OS}/${ARCH}) + file(GLOB OSHW_EXTRA_SOURCES oshw/${OS}/${ARCH}/*.c) + set(OSHW_SOURCES "${OS_HW_SOURCES} ${OSHW_ARCHSOURCES}") +- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Werror") +- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-unused-but-set-variable") +- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-unused-function") +- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-format") + set(OS_LIBS "-Wl,--start-group -l${BSP} -l${ARCH} -lkern -ldev -lsio -lblock -lfs -lusb -llwip -leth -li2c -lrtc -lcan -lnand -lspi -lnor -lpwm -ladc -ltrace -lc -lm -Wl,--end-group") + elseif(${CMAKE_SYSTEM_NAME} MATCHES "rtems") + message(STATUS "Building for RTEMS") diff --git a/ports/soem/disable-werror.patch b/ports/soem/disable-werror.patch deleted file mode 100644 index 7c1fd96850f875..00000000000000 --- a/ports/soem/disable-werror.patch +++ /dev/null @@ -1,42 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 1778965..4c481b7 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -13,21 +13,18 @@ set(BUILD_TESTS TRUE) - - if(WIN32) - set(OS "win32") -- find_path(winpcap_INCLUDE_DIRS NAMES pcap.h) -- find_library(winpcap_LIBRARY NAMES wpcap) -- find_library(packet_LIBRARY NAMES packet) -- include_directories(${winpcap_INCLUDE_DIRS}) -+ find_path(winpcap_INCLUDE_DIRS NAMES pcap.h) -+ find_library(winpcap_LIBRARY NAMES wpcap) -+ find_library(packet_LIBRARY NAMES packet) -+ include_directories(${winpcap_INCLUDE_DIRS}) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /D _CRT_SECURE_NO_WARNINGS") -- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /WX") -- set(OS_LIBS ${winpcap_LIBRARY} ${packet_LIBRARY} Ws2_32.lib Winmm.lib) -+ set(OS_LIBS ${winpcap_LIBRARY} ${packet_LIBRARY} Ws2_32.lib Winmm.lib) - elseif(UNIX AND NOT APPLE) - set(OS "linux") -- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Werror") - set(OS_LIBS pthread rt) - elseif(APPLE) - # This must come *before* linux or MacOSX will identify as Unix. - set(OS "macosx") -- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Werror") - set(OS_LIBS pthread pcap) - elseif(${CMAKE_SYSTEM_NAME} MATCHES "rt-kernel") - set(OS "rtk") -@@ -36,10 +33,6 @@ elseif(${CMAKE_SYSTEM_NAME} MATCHES "rt-kernel") - include_directories(oshw/${OS}/${ARCH}) - file(GLOB OSHW_EXTRA_SOURCES oshw/${OS}/${ARCH}/*.c) - set(OSHW_SOURCES "${OS_HW_SOURCES} ${OSHW_ARCHSOURCES}") -- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Werror") -- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-unused-but-set-variable") -- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-unused-function") -- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-format") - set(OS_LIBS "-Wl,--start-group -l${BSP} -l${ARCH} -lkern -ldev -lsio -lblock -lfs -lusb -llwip -leth -li2c -lrtc -lcan -lnand -lspi -lnor -lpwm -ladc -ltrace -lc -lm -Wl,--end-group") - elseif(${CMAKE_SYSTEM_NAME} MATCHES "rtems") - message("Building for RTEMS") diff --git a/ports/soem/portfile.cmake b/ports/soem/portfile.cmake index e80e64a3e1e5d8..6eb3a56bee4f3f 100644 --- a/ports/soem/portfile.cmake +++ b/ports/soem/portfile.cmake @@ -1,30 +1,33 @@ -vcpkg_fail_port_install(ON_TARGET "UWP") - vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO OpenEtherCATsociety/SOEM - REF abbf0d42e38d6cfbaa4c1e9e8e07ace651c386fd #v1.4.0 - SHA512 2967775c6746bb63becea5eb12f136c184bbf874e1e5e8753374bfc212ec9cefbf1159350e79627b978af3562d261b61c50f38936a425c4d9c70598a1d136817 + REF a901500618405760a564e64a6816705e29f50f9f + SHA512 d554bc1c3780b1a81402a7fda490f516caba6bd943a28482740b5c9d97e4273a11546e79c92796487ee9901f568cbf1b329d4e1c1d32602fdce0088a77c82443 HEAD_REF master PATCHES winpcap.patch - disable-werror.patch + disable-werror-and-wx.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_TESTS=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup(CONFIG_PATH "share/soem/cmake") + file(REMOVE_RECURSE - ${CURRENT_PACKAGES_DIR}/bin - ${CURRENT_PACKAGES_DIR}/debug/bin - ${CURRENT_PACKAGES_DIR}/debug/include) + "${CURRENT_PACKAGES_DIR}/bin" + "${CURRENT_PACKAGES_DIR}/debug/bin" + "${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/soem/vcpkg.json b/ports/soem/vcpkg.json index ffa002687d1149..bad6e3ed1f42d3 100644 --- a/ports/soem/vcpkg.json +++ b/ports/soem/vcpkg.json @@ -1,11 +1,19 @@ { "name": "soem", - "version-string": "1.4.0", + "version-date": "2023-06-09", "port-version": 2, "description": "Simple Open Source EtherCAT Master", "homepage": "https://github.com/OpenEtherCATsociety/SOEM", "supports": "!uwp", "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, { "name": "winpcap", "platform": "windows" diff --git a/ports/soem/winpcap.patch b/ports/soem/winpcap.patch index 215226e6f56fc1..ca795f1fc07afa 100644 --- a/ports/soem/winpcap.patch +++ b/ports/soem/winpcap.patch @@ -1,23 +1,25 @@ ---- CMakeLists.txt -+++ CMakeLists.txt -@@ -13,15 +13,13 @@ - - if(WIN32) - set(OS "win32") -- include_directories(oshw/win32/wpcap/Include) -- if(CMAKE_SIZEOF_VOID_P EQUAL 8) -- link_directories(${CMAKE_SOURCE_DIR}/oshw/win32/wpcap/Lib/x64) -- elseif(CMAKE_SIZEOF_VOID_P EQUAL 4) -- link_directories(${CMAKE_SOURCE_DIR}/oshw/win32/wpcap/Lib) -- endif() -+ find_path(winpcap_INCLUDE_DIRS NAMES pcap.h) -+ find_library(winpcap_LIBRARY NAMES wpcap) -+ find_library(packet_LIBRARY NAMES packet) -+ include_directories(${winpcap_INCLUDE_DIRS}) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /D _CRT_SECURE_NO_WARNINGS") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /WX") -- set(OS_LIBS wpcap.lib Packet.lib Ws2_32.lib Winmm.lib) -+ set(OS_LIBS ${winpcap_LIBRARY} ${packet_LIBRARY} Ws2_32.lib Winmm.lib) - elseif(UNIX AND NOT APPLE) - set(OS "linux") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Werror") +diff --git a/CMakeLists.txt b/CMakeLists.txt +index baf26bd..7fa930c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -22,15 +22,13 @@ endif() + + if(WIN32) + set(OS "win32") +- include_directories(oshw/win32/wpcap/Include) +- if(CMAKE_SIZEOF_VOID_P EQUAL 8) +- link_directories(${CMAKE_CURRENT_LIST_DIR}/oshw/win32/wpcap/Lib/x64) +- elseif(CMAKE_SIZEOF_VOID_P EQUAL 4) +- link_directories(${CMAKE_CURRENT_LIST_DIR}/oshw/win32/wpcap/Lib) +- endif() ++ find_path(winpcap_INCLUDE_DIRS NAMES pcap.h) ++ find_library(winpcap_LIBRARY NAMES wpcap) ++ find_library(packet_LIBRARY NAMES packet) ++ include_directories(${winpcap_INCLUDE_DIRS}) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /D _CRT_SECURE_NO_WARNINGS") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /WX") +- set(OS_LIBS wpcap.lib Packet.lib Ws2_32.lib Winmm.lib) ++ set(OS_LIBS ${winpcap_LIBRARY} ${packet_LIBRARY} Ws2_32.lib Winmm.lib) + elseif(UNIX AND NOT APPLE) + set(OS "linux") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Werror") diff --git a/ports/soil/portfile.cmake b/ports/soil/portfile.cmake index 8c259bfb305b55..2e413b12b33016 100644 --- a/ports/soil/portfile.cmake +++ b/ports/soil/portfile.cmake @@ -1,5 +1,3 @@ -vcpkg_fail_port_install(ON_TARGET "uwp") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO paralin/soil @@ -10,19 +8,18 @@ vcpkg_from_github( ) file(COPY - ${CMAKE_CURRENT_LIST_DIR}/soilConfig.cmake.in - ${CMAKE_CURRENT_LIST_DIR}/soilConfigVersion.cmake.in + "${CMAKE_CURRENT_LIST_DIR}/soilConfig.cmake.in" + "${CMAKE_CURRENT_LIST_DIR}/soilConfigVersion.cmake.in" DESTINATION ${SOURCE_PATH} ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() 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 "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/soil/vcpkg.json b/ports/soil/vcpkg.json index 8920b977bbabe7..ba5648b8c43247 100644 --- a/ports/soil/vcpkg.json +++ b/ports/soil/vcpkg.json @@ -1,7 +1,14 @@ { "name": "soil", "version-date": "2021-04-22", + "port-version": 2, "description": "SOIL is a tiny C library used primarily for uploading textures into OpenGL.", "homepage": "https://github.com/paralin/soil", - "supports": "!uwp" + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/soil2/LICENSE b/ports/soil2/LICENSE deleted file mode 100644 index 02c4106758c7b5..00000000000000 --- a/ports/soil2/LICENSE +++ /dev/null @@ -1,7 +0,0 @@ -Copyright 2018 Matrin Lucas Golini - -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. \ No newline at end of file diff --git a/ports/soil2/Workaround-ICE-in-release.patch b/ports/soil2/Workaround-ICE-in-release.patch new file mode 100644 index 00000000000000..3e9e29aa2e0091 --- /dev/null +++ b/ports/soil2/Workaround-ICE-in-release.patch @@ -0,0 +1,20 @@ +diff --git a/src/SOIL2/SOIL2.c b/src/SOIL2/SOIL2.c +index 3a10885..01bbb23 100644 +--- a/src/SOIL2/SOIL2.c ++++ b/src/SOIL2/SOIL2.c +@@ -2027,6 +2027,7 @@ const char* + return result_string_pointer; + } + ++#pragma optimize("", off) + unsigned int SOIL_direct_load_DDS_from_memory( + const unsigned char *const buffer, + int buffer_length, +@@ -2409,6 +2410,7 @@ unsigned int SOIL_direct_load_DDS_from_memory( + quick_exit: + return tex_ID; + } ++#pragma optimize("", on) + + unsigned int SOIL_direct_load_DDS( + const char *filename, diff --git a/ports/soil2/portfile.cmake b/ports/soil2/portfile.cmake index 24f40a144d906b..b8c223779758f1 100644 --- a/ports/soil2/portfile.cmake +++ b/ports/soil2/portfile.cmake @@ -1,26 +1,25 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO SpartanJ/soil2 - REF 51023d551d895fb4beb576d726d798ccfe358d34 - SHA512 5ce8b3f04eea674cdef7ee58778e81bcefa5df7afb1013ad28dcd2d502e26915529da8bf06b751b8c350165172866e4f99d4b1081bb6c7ba04ac83a78faba83c + REF ddcb35d13cc4129103de1c1a3cb74b828fe46b4a # 1.3.0 + SHA512 627c7bf4fddd5afef85ba7634c5ec0e10005c700abc1eb07c6346c1604e430c34aa4c33f6ffecbecb3dc2b04de7b855a3f6d923e94f23621ae0184e706358908 HEAD_REF master + PATCHES Workaround-ICE-in-release.patch ) file( COPY - ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt - ${CMAKE_CURRENT_LIST_DIR}/LICENSE - ${CMAKE_CURRENT_LIST_DIR}/soil2Config.cmake.in - DESTINATION ${SOURCE_PATH} + "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" + "${CMAKE_CURRENT_LIST_DIR}/soil2Config.cmake.in" + DESTINATION "${SOURCE_PATH}" ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS_DEBUG -DINSTALL_HEADERS=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() # Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/soil2/vcpkg.json b/ports/soil2/vcpkg.json index 4fe08daa32341a..08a5013f029041 100644 --- a/ports/soil2/vcpkg.json +++ b/ports/soil2/vcpkg.json @@ -1,6 +1,15 @@ { "name": "soil2", - "version-date": "2021-05-01", + "version": "1.3.0", + "port-version": 1, "description": "Simple OpenGL Image Library 2", - "homepage": "https://github.com/SpartanJ/SOIL2" + "homepage": "https://github.com/SpartanJ/SOIL2", + "license": "MIT-0", + "supports": "!uwp & !android", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/sokol/portfile.cmake b/ports/sokol/portfile.cmake index 9785eecca73c27..be80a3a82289f8 100644 --- a/ports/sokol/portfile.cmake +++ b/ports/sokol/portfile.cmake @@ -3,16 +3,15 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO floooh/sokol - REF 425e906d2af8c976c30f7e925a303fea9f0bf879 - SHA512 4606735b9466637f3b676402cc2d7ef96e4152836c901d7a84039c52951aec27922726de21a537e0fef2d2218f48e3a9a3c32c3bc67076c10d199f067f50dad9 + REF d98c8b92c25070f13d0491f5fade1d9d2ca885ad + SHA512 bb49dc3da366e70c7b6b16ebd490f9b2c88c496b278f1b9651321b3aab0977db92707d3955c2cb2654d8032647429ac90aa585de36644380112d988eac877cd0 HEAD_REF master ) -file(GLOB SOKOL_INCLUDE_FILES ${SOURCE_PATH}/*.h) -file(COPY ${SOKOL_INCLUDE_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include) +file(GLOB SOKOL_INCLUDE_FILES "${SOURCE_PATH}/*.h") +file(COPY ${SOKOL_INCLUDE_FILES} DESTINATION "${CURRENT_PACKAGES_DIR}/include") -file(GLOB SOKOL_UTIL_INCLUDE_FILES ${SOURCE_PATH}/util/*.h) -file(COPY ${SOKOL_UTIL_INCLUDE_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include/util) +file(GLOB SOKOL_UTIL_INCLUDE_FILES "${SOURCE_PATH}/util/*.h") +file(COPY ${SOKOL_UTIL_INCLUDE_FILES} DESTINATION "${CURRENT_PACKAGES_DIR}/include/util") -# 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/sokol/vcpkg.json b/ports/sokol/vcpkg.json index 375455b943865e..2394bb69704a59 100644 --- a/ports/sokol/vcpkg.json +++ b/ports/sokol/vcpkg.json @@ -1,7 +1,7 @@ { "name": "sokol", - "version-string": "2019-09-09", - "port-version": 1, + "version-date": "2023-10-07", "description": "Minimal cross-platform standalone C headers", - "homepage": "https://github.com/floooh/sokol" + "homepage": "https://github.com/floooh/sokol", + "license": "Zlib" } diff --git a/ports/sol2/fix-namespace.patch b/ports/sol2/fix-namespace.patch deleted file mode 100644 index bcce158dbf7077..00000000000000 --- a/ports/sol2/fix-namespace.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff --git a/cmake/sol2-config.cmake.in b/cmake/sol2-config.cmake.in -index 70c448d..7965bc6 100644 ---- a/cmake/sol2-config.cmake.in -+++ b/cmake/sol2-config.cmake.in -@@ -26,11 +26,11 @@ include("${CMAKE_CURRENT_LIST_DIR}/sol2-targets.cmake") - - MESSAGE(STATUS ${CMAKE_CURRENT_LIST_DIR}) - --if (TARGET sol2) -+if (TARGET sol2::sol2) - get_target_property(SOL2_INCLUDE_DIRS -- sol2 INTERFACE_INCLUDE_DIRECTORIES) -+ sol2::sol2 INTERFACE_INCLUDE_DIRECTORIES) - set_and_check(SOL2_INCLUDE_DIRS "${SOL2_INCLUDE_DIRS}") -- set(SOL2_LIBRARIES sol2) -+ set(SOL2_LIBRARIES sol2::sol2) - endif() - - if(TARGET sol2_single) diff --git a/ports/sol2/header-only.patch b/ports/sol2/header-only.patch new file mode 100644 index 00000000000000..06f6facadbd933 --- /dev/null +++ b/ports/sol2/header-only.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 120dd38..0b069dc 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -174,7 +174,7 @@ else() + endif() + + # # # Tests, Examples and other CI suites that come with sol2 +-if (sol2-is-top-level-project) ++if (0) + # # # General project output locations + if (CMAKE_SIZEOF_VOID_P EQUAL 4) + set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/x86/lib") diff --git a/ports/sol2/portfile.cmake b/ports/sol2/portfile.cmake index 901aeb51fc6e08..b7ffa6538ad1ad 100644 --- a/ports/sol2/portfile.cmake +++ b/ports/sol2/portfile.cmake @@ -1,29 +1,19 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ThePhD/sol2 - REF v3.2.2 - SHA512 e5a739b37aea7150f141f6a003c2689dd33155feed5bb3cf2569abbfe9f0062eacdaaf346be523d627f0e491b35e68822c80e1117fa09ece8c9d8d5af09fdbec + REF "v${VERSION}" + SHA512 4404b124a4f331d77459c01a92cd73895301e7d3ef829a0285980f0138b9cc66782de3713d54f017d5aad7d8a11d23eeffbc5f3b39ccb4d4306a955711d385dd HEAD_REF develop - PATCHES fix-namespace.patch + PATCHES + header-only.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA -) - -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/sol2) - -file( - REMOVE_RECURSE - ${CURRENT_PACKAGES_DIR}/debug - ${CURRENT_PACKAGES_DIR}/lib - ${CURRENT_PACKAGES_DIR}/include -) - -file(INSTALL ${SOURCE_PATH}/single/include/sol DESTINATION ${CURRENT_PACKAGES_DIR}/include/) +set(VCPKG_BUILD_TYPE release) # header-only +vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}") +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/sol2) +vcpkg_fixup_pkgconfig() -file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") -vcpkg_fixup_pkgconfig() +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") diff --git a/ports/sol2/vcpkg.json b/ports/sol2/vcpkg.json index 54c8837d5b8655..9f4856dd1abd01 100644 --- a/ports/sol2/vcpkg.json +++ b/ports/sol2/vcpkg.json @@ -1,13 +1,17 @@ { "name": "sol2", - "version-string": "3.2.2", - "port-version": 2, + "version": "3.3.1", "description": "Sol v2.0 - a C++ <-> Lua API wrapper with advanced features and top notch performance - is here, and it's great", "homepage": "https://github.com/ThePhD/sol2", + "license": "MIT", "dependencies": [ { - "name": "lua", - "platform": "windows" + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true } ] } diff --git a/ports/solid3/no-sse.patch b/ports/solid3/no-sse.patch new file mode 100644 index 00000000000000..ed2cb1ddbb9ae1 --- /dev/null +++ b/ports/solid3/no-sse.patch @@ -0,0 +1,19 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index be43838..fe71394 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -87,8 +87,12 @@ if(MSVC) + endif(MSVC) + + if(UNIX) +- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -ffast-math -msse2 -mfpmath=sse") +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti -Wall -ffast-math -msse2 -mfpmath=sse") ++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -ffast-math") ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti -Wall -ffast-math") ++ if (NOT CMAKE_SYSTEM_PROCESSOR MATCHES "arm") ++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -msse2 -mfpmath=sse") ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse2 -mfpmath=sse") ++ endif() + if (DYNAMIC_SOLID) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC") diff --git a/ports/solid3/portfile.cmake b/ports/solid3/portfile.cmake index 8cca23adac6e47..d39d15fc1bdefa 100644 --- a/ports/solid3/portfile.cmake +++ b/ports/solid3/portfile.cmake @@ -7,6 +7,7 @@ vcpkg_from_github( PATCHES disable-examples.patch potentially-uninitialized-local-pointer-variable.patch + no-sse.patch ) if(VCPKG_LIBRARY_LINKAGE STREQUAL static) @@ -15,16 +16,15 @@ else() set(DYNAMIC_SOLID ON) endif() -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA OPTIONS -DDYNAMIC_SOLID=${DYNAMIC_SOLID} ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/solid3) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/solid3) file(COPY ${SOURCE_PATH}/README.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/solid3) file(RENAME ${CURRENT_PACKAGES_DIR}/share/solid3/README.md ${CURRENT_PACKAGES_DIR}/share/solid3/copyright) diff --git a/ports/solid3/vcpkg.json b/ports/solid3/vcpkg.json index d8493859d87195..3a45bbb14b1f82 100644 --- a/ports/solid3/vcpkg.json +++ b/ports/solid3/vcpkg.json @@ -1,6 +1,17 @@ { "name": "solid3", - "version-string": "3.5.8", - "port-version": 1, - "description": "Software Library for Interference Detection" + "version": "3.5.8", + "port-version": 2, + "description": "Software Library for Interference Detection", + "license": "GPL-2.0-only OR QPL-1.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/sophus/disable-werror.patch b/ports/sophus/disable-werror.patch deleted file mode 100644 index 60bfa7d5bab48c..00000000000000 --- a/ports/sophus/disable-werror.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 844f304..952915b 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -16,11 +16,11 @@ set(CMAKE_CXX_STANDARD 14) - IF("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") - SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g") - SET(CMAKE_CXX_FLAGS_RELEASE "-O3") -- SET(CMAKE_CXX_FLAGS "-Wall -Werror -Wextra -Wno-deprecated-register -std=c++14 -stdlib=libc++ -Wno-deprecated-register") -+ SET(CMAKE_CXX_FLAGS "-std=c++14 -stdlib=libc++") - ELSEIF("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") - SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g") - SET(CMAKE_CXX_FLAGS_RELEASE "-O3") -- SET(CMAKE_CXX_FLAGS "-Wall -Werror -Wextra -std=c++14 -Wno-deprecated-declarations -ftemplate-backtrace-limit=0") -+ SET(CMAKE_CXX_FLAGS "-std=c++14 -ftemplate-backtrace-limit=0") - SET(CMAKE_CXX_FLAGS_COVERAGE "${CMAKE_CXX_FLAGS_DEBUG} --coverage -fno-inline -fno-inline-small-functions -fno-default-inline") - SET(CMAKE_EXE_LINKER_FLAGS_COVERAGE "${CMAKE_EXE_LINKER_FLAGS_DEBUG} --coverage") - SET(CMAKE_SHARED_LINKER_FLAGS_COVERAGE "${CMAKE_SHARED_LINKER_FLAGS_DEBUG} --coverage") diff --git a/ports/sophus/fix_cmakelists.patch b/ports/sophus/fix_cmakelists.patch deleted file mode 100644 index 33916cf1df6733..00000000000000 --- a/ports/sophus/fix_cmakelists.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index fa51e2c..3e07396 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -39,6 +39,7 @@ SET( Sophus_INCLUDE_DIR ${PROJECT_SOURCE_DIR} ) - - ################################################################################ - FIND_PACKAGE( Eigen3 REQUIRED ) -+FIND_PACKAGE( suitesparse REQUIRED ) - LIST( APPEND Sophus_INCLUDE_DIR ${EIGEN3_INCLUDE_DIR} ) - - ################################################################################ diff --git a/ports/sophus/portfile.cmake b/ports/sophus/portfile.cmake index a906401262388e..2f05e4110416e1 100644 --- a/ports/sophus/portfile.cmake +++ b/ports/sophus/portfile.cmake @@ -1,24 +1,22 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO strasdat/Sophus - REF v1.0.0 - SHA512 569634a8be9237d2240cf30c01e2677ece75d55f1196030f1228baca62fa22460e8ceb2a63bd46afdf7f02d8eb79c59d6ed666228b852da78590de897b278fab - HEAD_REF master - PATCHES - fix_cmakelists.patch - disable-werror.patch + REF 1.24.6-rc1 + SHA512 c1ba40b823cabce3fe83f528837ac111f4d746d6679fb920abd7be32de149c0937bb9a5049da156aec28a9b9fedbebae76a056de12707c01c5cb40dc9197c3e4 + HEAD_REF main ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_SOPHUS_TESTS=OFF ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/Sophus) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH share/sophus/cmake) + vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/sophus/vcpkg.json b/ports/sophus/vcpkg.json index ef8001d5eca167..4a42b5fe10505d 100644 --- a/ports/sophus/vcpkg.json +++ b/ports/sophus/vcpkg.json @@ -1,12 +1,18 @@ { "name": "sophus", - "version": "1.0.0", - "port-version": 7, + "version": "1.24.6-r1", "description": "Lie group library for C++", "homepage": "https://github.com/strasdat/Sophus", + "license": "MIT", "dependencies": [ - "ceres", "eigen3", - "suitesparse" + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/soqt/portfile.cmake b/ports/soqt/portfile.cmake index 73176be95d418c..de7bae0dafb488 100644 --- a/ports/soqt/portfile.cmake +++ b/ports/soqt/portfile.cmake @@ -1,4 +1,3 @@ -vcpkg_fail_port_install(ON_TARGET "UWP" ON_ARCH "arm" "arm64") vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH @@ -31,27 +30,23 @@ vcpkg_from_github( HEAD_REF master ) -if(NOT EXISTS ${SOURCE_PATH}/src/Inventor/Qt/common) +if(NOT EXISTS "${SOURCE_PATH}/src/Inventor/Qt/common") file(RENAME "${SOGUI_SOURCE_PATH}" "${SOURCE_PATH}/src/Inventor/Qt/common") endif() -if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - set(SOQT_BUILD_SHARED_LIBS OFF) -else() - set(SOQT_BUILD_SHARED_LIBS ON) -endif() +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" SOQT_BUILD_SHARED_LIBS) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DSOQT_BUILD_DOCUMENTATION=OFF -DSOQT_BUILD_SHARED_LIBS=${SOQT_BUILD_SHARED_LIBS} ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/SoQt-1.6.0) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/SoQt-1.6.0) +vcpkg_fixup_pkgconfig() file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/soqt/vcpkg.json b/ports/soqt/vcpkg.json index 6a336879d131ae..6125dd237bebbb 100644 --- a/ports/soqt/vcpkg.json +++ b/ports/soqt/vcpkg.json @@ -1,7 +1,7 @@ { "name": "soqt", - "version-string": "1.6.0", - "port-version": 3, + "version": "1.6.0", + "port-version": 4, "description": "A Qt Gui-toolkit binding for Coin", "homepage": "https://github.com/coin3d/soqt", "supports": "!(arm | arm64 | uwp)", @@ -10,6 +10,14 @@ { "name": "qt5-base", "default-features": false + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true } ] } diff --git a/ports/sord/portfile.cmake b/ports/sord/portfile.cmake index 6725863d563edd..b3fcca46d4b547 100644 --- a/ports/sord/portfile.cmake +++ b/ports/sord/portfile.cmake @@ -9,16 +9,15 @@ vcpkg_from_gitlab( file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - PREFER_NINJA OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=1 ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets() +vcpkg_cmake_config_fixup() file( INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" diff --git a/ports/sord/vcpkg.json b/ports/sord/vcpkg.json index 51dacf79380e1f..1070a47ea2086e 100644 --- a/ports/sord/vcpkg.json +++ b/ports/sord/vcpkg.json @@ -1,10 +1,19 @@ { "name": "sord", - "version-string": "0.16.4", + "version": "0.16.4", + "port-version": 2, "description": "Sord is a lightweight C library for storing RDF statements in memory.", "homepage": "https://drobilla.net/software/sord", "license": "ISC", "dependencies": [ - "serd" + "serd", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/soundtouch/portfile.cmake b/ports/soundtouch/portfile.cmake index 36217c43bea3a3..86f8d75a0e2834 100644 --- a/ports/soundtouch/portfile.cmake +++ b/ports/soundtouch/portfile.cmake @@ -1,11 +1,9 @@ -vcpkg_fail_port_install(ON_TARGET "UWP") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH GITHUB_HOST https://codeberg.org REPO soundtouch/soundtouch - REF 2.3.1 - SHA512 c9d110b06cafb79968c94c4d206360b9ea9673d63eaf1470b097a39acf18b5b9cd53759f2656ff8963c6eee6a36fecdf1ea9aa7dc014fbf8bbee0dcfb8e4e438 + REF ${VERSION} + SHA512 9cc507e15be065fe404e3f9ac71cdc596474c4a86b04a4b969c6c3ed4aff865cdf6aee24929046818a7d3791f005778aea112d74ef4d8f60b05460755a08dbe3 HEAD_REF master ) @@ -33,5 +31,6 @@ if(SOUNDSTRETCH) vcpkg_copy_tools(TOOL_NAMES soundstretch AUTO_CLEAN) endif() -file(INSTALL "${SOURCE_PATH}/COPYING.TXT" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING.TXT") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") diff --git a/ports/soundtouch/vcpkg.json b/ports/soundtouch/vcpkg.json index 5bfd5d29530da6..d48e7b1dcb9ca3 100644 --- a/ports/soundtouch/vcpkg.json +++ b/ports/soundtouch/vcpkg.json @@ -1,9 +1,9 @@ { "name": "soundtouch", - "version": "2.3.1", - "port-version": 1, + "version": "2.3.3", "description": "SoundTouch is an open-source audio processing library for changing the Tempo, Pitch and Playback Rates of audio streams or audio files.", "homepage": "https://www.surina.net/soundtouch", + "license": "LGPL-2.1-only", "supports": "!uwp", "dependencies": [ { @@ -24,7 +24,8 @@ "description": "Build the soundstretch command line tool" }, "soundtouchdll": { - "description": "Build the SoundTouchDLL C wrapper dynamic library" + "description": "Build the SoundTouchDLL C wrapper dynamic library", + "supports": "!staticcrt" } } } diff --git a/ports/soxr/003_detect_arm.patch b/ports/soxr/003_detect_arm.patch new file mode 100644 index 00000000000000..90d3fd281ce10a --- /dev/null +++ b/ports/soxr/003_detect_arm.patch @@ -0,0 +1,13 @@ +diff --git a/src/pffft.c b/src/pffft.c +index 0686bef..e4cb094 100644 +--- a/src/pffft.c ++++ b/src/pffft.c +@@ -157,7 +157,7 @@ typedef __m128 v4sf; + /* + ARM NEON support macros + */ +-#elif !defined(PFFFT_SIMD_DISABLE) && defined(__arm__) ++#elif !defined(PFFFT_SIMD_DISABLE) && (defined(__arm__) || defined(_M_ARM) || defined(__aarch64__)) + # include + typedef float32x4_t v4sf; + # define SIMD_SZ 4 diff --git a/ports/soxr/003_detect_arm_on_windows.patch b/ports/soxr/003_detect_arm_on_windows.patch deleted file mode 100644 index f1643fb6347a9c..00000000000000 --- a/ports/soxr/003_detect_arm_on_windows.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/pffft.c b/src/pffft.c -index 0686bef..e4cb094 100644 ---- a/src/pffft.c -+++ b/src/pffft.c -@@ -157,7 +157,7 @@ typedef __m128 v4sf; - /* - ARM NEON support macros - */ --#elif !defined(PFFFT_SIMD_DISABLE) && defined(__arm__) -+#elif !defined(PFFFT_SIMD_DISABLE) && (defined(__arm__) || defined(_M_ARM)) - # include - typedef float32x4_t v4sf; - # define SIMD_SZ 4 diff --git a/ports/soxr/portfile.cmake b/ports/soxr/portfile.cmake index 63070fcb4771fe..e29f253a5b28fd 100644 --- a/ports/soxr/portfile.cmake +++ b/ports/soxr/portfile.cmake @@ -6,7 +6,7 @@ vcpkg_from_sourceforge( PATCHES 001_initialize-resampler.patch 002_disable_warning.patch - 003_detect_arm_on_windows.patch + 003_detect_arm.patch ) vcpkg_check_features( @@ -24,6 +24,7 @@ vcpkg_cmake_configure( -DBUILD_TESTS=OFF -DBUILD_EXAMPLES=OFF -DBUILD_SHARED_RUNTIME=${BUILD_SHARED_RUNTIME} + -DCMAKE_DISABLE_FIND_PACKAGE_LibAVUtil=TRUE ${FEATURE_OPTIONS} ) @@ -35,5 +36,5 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/doc") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/doc") - -vcpkg_fixup_pkgconfig() + +vcpkg_fixup_pkgconfig() diff --git a/ports/soxr/vcpkg.json b/ports/soxr/vcpkg.json index ec6f109904f2b1..a2b8a91929d05f 100644 --- a/ports/soxr/vcpkg.json +++ b/ports/soxr/vcpkg.json @@ -1,7 +1,7 @@ { "name": "soxr", "version": "0.1.3", - "port-version": 6, + "port-version": 8, "description": "High quality audio resampling", "homepage": "https://sourceforge.net/projects/soxr/", "dependencies": [ diff --git a/ports/spaceland/include_functional.patch b/ports/spaceland/include_functional.patch new file mode 100644 index 00000000000000..66f69bfe3844e3 --- /dev/null +++ b/ports/spaceland/include_functional.patch @@ -0,0 +1,24 @@ +diff --git a/src/sl/connectivity.hpp b/src/sl/connectivity.hpp +index 1942c6c..1b66b9d 100644 +--- a/src/sl/connectivity.hpp ++++ b/src/sl/connectivity.hpp +@@ -26,6 +26,7 @@ + #include + #include + #include ++#include + + namespace sl { + +diff --git a/src/sl/hash.hpp b/src/sl/hash.hpp +index 3093a13..5f5b144 100644 +--- a/src/sl/hash.hpp ++++ b/src/sl/hash.hpp +@@ -24,6 +24,7 @@ + #define SL_HASH_HPP + + #include ++#include + + namespace sl { + diff --git a/ports/spaceland/portfile.cmake b/ports/spaceland/portfile.cmake index 2897f7367887a0..2b447f9ffb84d8 100644 --- a/ports/spaceland/portfile.cmake +++ b/ports/spaceland/portfile.cmake @@ -6,24 +6,22 @@ vcpkg_download_distfile(ARCHIVE SHA512 1391dac1474ddb47d0cf0eb7baeb7db68d6356c2116f732dd57b8a050739523282ded0643cc466640f2b22f25dd6bfced00ede4e041b7ff83754a99ae6725d7d ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" + PATCHES include_functional.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" DISABLE_PARALLEL_CONFIGURE - OPTIONS - -DSL_TEST=OFF - -DSL_INSTALL_SLFIND_MODULE=OFF - OPTIONS_DEBUG + OPTIONS + -DCMAKE_CXX_STANDARD=11 # 17 does not allow 'register' -DSL_TEST=OFF -DSL_INSTALL_SLFIND_MODULE=OFF ) -vcpkg_install_cmake() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +vcpkg_cmake_install() +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/spaceland/vcpkg.json b/ports/spaceland/vcpkg.json index ddcdb9fde1c7e4..1e97f93c0e6fd5 100644 --- a/ports/spaceland/vcpkg.json +++ b/ports/spaceland/vcpkg.json @@ -1,9 +1,13 @@ { "name": "spaceland", - "version-string": "7.8.2", - "port-version": 5, + "version": "7.8.2", + "port-version": 9, "description": "Spaceland Lib (sl) is a suite for geometric computation, specifically adapted to OpenGL.", "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, "zlib" ] } diff --git a/ports/span-lite/portfile.cmake b/ports/span-lite/portfile.cmake index fcf8b9210f37c4..77bbdb8fcc3844 100644 --- a/ports/span-lite/portfile.cmake +++ b/ports/span-lite/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO martinmoene/span-lite - REF v0.10.3 - SHA512 001259FEC3F043391D8C00D858841823F7F88B56884AE73FA0D08F71CD35FAC636DDCC323FE5AAA7E680BDE6092E693F810DA821E8E3ADE29C6D73ED46DB3609 + REF "v${VERSION}" + SHA512 6e45f23a7274f851a3faefbff8278a3bee75eae91caf0b176dbbfc644639d999a3964d6d2282a7024422b4bc75ebb91b46b6aeb645204cdca3bae05a13c6aa53 ) vcpkg_cmake_configure( diff --git a/ports/span-lite/vcpkg.json b/ports/span-lite/vcpkg.json index 43526240e3f2a3..4032175c3ba49c 100644 --- a/ports/span-lite/vcpkg.json +++ b/ports/span-lite/vcpkg.json @@ -1,6 +1,6 @@ { "name": "span-lite", - "version": "0.10.3", + "version": "0.11.0", "description": "A C++20-like span for C++98, C++11 and later in a single-file header-only library", "homepage": "https://github.com/martinmoene/span-lite", "dependencies": [ diff --git a/ports/sparsepp/portfile.cmake b/ports/sparsepp/portfile.cmake index c326c214c96f59..729836a08e456a 100644 --- a/ports/sparsepp/portfile.cmake +++ b/ports/sparsepp/portfile.cmake @@ -1,30 +1,28 @@ - vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO greg7mdp/sparsepp - REF 1.22 - SHA512 b660cd7de48fcab50d4a0df4e4813226b0b0a8a3791aba4e4cc6a456af7bba0be6694bc44781a7d00b5582b32b1d85b9afa83095b7e5c0a26d1b0344ddc94b0f - HEAD_REF master + OUT_SOURCE_PATH SOURCE_PATH + REPO greg7mdp/sparsepp + REF 1.22 + SHA512 b660cd7de48fcab50d4a0df4e4813226b0b0a8a3791aba4e4cc6a456af7bba0be6694bc44781a7d00b5582b32b1d85b9afa83095b7e5c0a26d1b0344ddc94b0f + HEAD_REF master ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) # Note: we could add: OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON # but it's an header only package, so there's no INSTALL target. So # we remove the duplicate headers. -vcpkg_install_cmake() +vcpkg_cmake_install() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") vcpkg_copy_pdbs() -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/sparsepp RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/sparsepp/vcpkg.json b/ports/sparsepp/vcpkg.json index 9dda35239aa42e..1affc46082e0e8 100644 --- a/ports/sparsepp/vcpkg.json +++ b/ports/sparsepp/vcpkg.json @@ -1,6 +1,12 @@ { "name": "sparsepp", - "version-string": "1.22", - "port-version": 2, - "description": "A fast, memory efficient hash map for C++" + "version": "1.22", + "port-version": 4, + "description": "A fast, memory efficient hash map for C++", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/spatialite-tools/fix-linux-configure.patch b/ports/spatialite-tools/fix-linux-configure.patch deleted file mode 100644 index b31544b77cf23e..00000000000000 --- a/ports/spatialite-tools/fix-linux-configure.patch +++ /dev/null @@ -1,35 +0,0 @@ -diff --git a/configure.ac b/configure.ac -index ff15f2922..c254b3619 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -142,6 +142,7 @@ fi - AC_ARG_WITH([geosconfig], - [AS_HELP_STRING([--with-geosconfig=FILE], [specify an alternative geos-config file])], - [GEOSCONFIG="$withval"], [GEOSCONFIG=""]) -+if 0; then - if test "x$GEOSCONFIG" = "x"; then - # GEOSCONFIG was not specified, so search within the current path - AC_PATH_PROG([GEOSCONFIG], [geos-config]) -@@ -164,6 +165,7 @@ fi - # Extract the linker and include flags - GEOS_LDFLAGS=`$GEOSCONFIG --ldflags` - GEOS_CPPFLAGS=-I`$GEOSCONFIG --includes` -+fi - AC_SUBST([GEOS_LDFLAGS]) - AC_SUBST([GEOS_CPPFLAGS]) - # Ensure that we can parse geos_c.h -@@ -172,11 +174,14 @@ CPPFLAGS="$GEOS_CPPFLAGS" - AC_CHECK_HEADERS([geos_c.h],, [AC_MSG_ERROR([could not find geos_c.h - you may need to specify the directory of a geos-config file using --with-geosconfig])]) - CPPFLAGS="$CPPFLAGS_SAVE" - # Ensure we can link against libgeos_c -+if 0; then - LIBS_SAVE="$LIBS" - LIBS="$GEOS_LDFLAGS" - AC_SEARCH_LIBS(GEOSTopologyPreserveSimplify,geos_c,,AC_MSG_ERROR([could not find libgeos_c - you may need to specify the directory of a geos-config file using --with-geosconfig])) - LIBS="$LIBS_SAVE" - LIBS=$LIBS$GEOS_LDFLAGS' -lgeos_c' -+fi -+LIBS="$LIBS $GEOS_LDFLAGS" - - PKG_CHECK_MODULES([LIBSPATIALITE], [spatialite], , AC_MSG_ERROR(['libspatialite' is required but it doesn't seem to be installed on this system.])) - AC_SUBST(LIBSPATIALITE_CFLAGS) diff --git a/ports/spatialite-tools/fix-makefiles.patch b/ports/spatialite-tools/fix-makefiles.patch index 3acc32b748bcc5..8512f54312b3e2 100644 --- a/ports/spatialite-tools/fix-makefiles.patch +++ b/ports/spatialite-tools/fix-makefiles.patch @@ -19,7 +19,7 @@ index 53ef75197..d48fb02db 100644 - C:\OSGeo4W\lib\iconv.lib C:\OSGeo4W\lib\geos_c.lib \ - C:\OSGeo4W\lib\spatialite_i.lib C:\OSGeo4W\lib\sqlite3_i.lib \ - /Fe$(SPATIALITE_EXE) -+ cl shell.obj $(LIBS_ALL) /Fe$(SPATIALITE_EXE) ++ cl shell.obj /Fe$(SPATIALITE_EXE) $(LIBS_ALL) if exist $(SPATIALITE_EXE).manifest mt -manifest \ $(SPATIALITE_EXE).manifest -outputresource:$(SPATIALITE_EXE);1 @@ -119,15 +119,12 @@ index 53ef75197..d48fb02db 100644 if exist $(SPATIALITE_OSM_FILTER_EXE).manifest mt -manifest \ $(SPATIALITE_OSM_FILTER_EXE).manifest \ -outputresource:$(SPATIALITE_OSM_FILTER_EXE);1 - diff --git a/nmake.opt b/nmake.opt index 4f4a9538e..d9efecf7b 100644 --- a/nmake.opt +++ b/nmake.opt -@@ -1,8 +1,8 @@ - # Directory tree where SpatiaLite will be installed. --INSTDIR=C:\OSGeo4W -+INSTDIR=$(INST_DIR) +@@ -2,7 +2,7 @@ + INSTDIR=C:\OSGeo4W # Uncomment the first for an optimized build, or the second for debug. -OPTFLAGS= /nologo /Ox /fp:precise /W3 /MD /D_CRT_SECURE_NO_WARNINGS \ @@ -135,55 +132,3 @@ index 4f4a9538e..d9efecf7b 100644 /D_LARGE_FILE=1 /D_FILE_OFFSET_BITS=64 /D_LARGEFILE_SOURCE=1 #OPTFLAGS= /nologo /Zi /MD /Fdspatialite.pdb -diff --git a/Makefile.am b/Makefile.am -index 75ac806..d680b74 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -39,7 +39,7 @@ bin_PROGRAMS = spatialite \ - spatialite_dem - endif - --AM_CPPFLAGS = @CFLAGS@ @CPPFLAGS@ @LIBXML2_CFLAGS@ -+AM_CPPFLAGS = @CFLAGS@ @CPPFLAGS@ @LIBXML2_CFLAGS@ @RTTOPO_CFLAGS@ - AM_CPPFLAGS += -I$(top_srcdir) - - spatialite_SOURCES = shell.c -@@ -65,27 +65,27 @@ spatialite_osm_overpass_SOURCES = spatialite_osm_overpass.c - spatialite_dem_SOURCES = spatialite_dem.c - - spatialite_osm_map_LDADD = @LIBSPATIALITE_LIBS@ \ -- @LIBFREEXL_LIBS@ @LIBREADOSM_LIBS@ -+ @LIBFREEXL_LIBS@ @LIBREADOSM_LIBS@ @LIBXML2_LIBS@ @RTTOPO_LIBS@ - spatialite_osm_overpass_LDADD = @LIBSPATIALITE_LIBS@ \ -- @LIBFREEXL_LIBS@ @LIBXML2_LIBS@ -+ @LIBFREEXL_LIBS@ @LIBXML2_LIBS@ @RTTOPO_LIBS@ - spatialite_osm_raw_LDADD = @LIBSPATIALITE_LIBS@ \ -- @LIBFREEXL_LIBS@ @LIBREADOSM_LIBS@ -+ @LIBFREEXL_LIBS@ @LIBREADOSM_LIBS@ @LIBXML2_LIBS@ @RTTOPO_LIBS@ - spatialite_osm_net_LDADD = @LIBSPATIALITE_LIBS@ \ -- @LIBFREEXL_LIBS@ @LIBREADOSM_LIBS@ -+ @LIBFREEXL_LIBS@ @LIBREADOSM_LIBS@ @LIBXML2_LIBS@ @RTTOPO_LIBS@ - spatialite_gml_LDADD = @LIBSPATIALITE_LIBS@ \ -- @LIBFREEXL_LIBS@ \ -+ @LIBFREEXL_LIBS@ @LIBXML2_LIBS@ @RTTOPO_LIBS@ \ - -lexpat --spatialite_dem_LDADD = @LIBSPATIALITE_LIBS@ -+spatialite_dem_LDADD = @LIBSPATIALITE_LIBS@ @LIBFREEXL_LIBS@ @LIBXML2_LIBS@ @RTTOPO_LIBS@ - spatialite_LDADD = @LIBSPATIALITE_LIBS@ \ - @LIBFREEXL_LIBS@ \ -- @READLINE_LIBS@ -+ @READLINE_LIBS@ @LIBXML2_LIBS@ @RTTOPO_LIBS@ - spatialite_xml_validator_LDADD = @LIBXML2_LIBS@ --spatialite_xml_load_LDADD = @LIBSPATIALITE_LIBS@ \ -+spatialite_xml_load_LDADD = @LIBSPATIALITE_LIBS@ @LIBFREEXL_LIBS@ @LIBXML2_LIBS@ @RTTOPO_LIBS@\ - -lexpat --spatialite_xml_collapse_LDADD = @LIBSPATIALITE_LIBS@ --spatialite_xml_print_LADD = @LIBSPATIALIATE_LIBS@ -+spatialite_xml_collapse_LDADD = @LIBSPATIALITE_LIBS@ @LIBFREEXL_LIBS@ @LIBXML2_LIBS@ @RTTOPO_LIBS@ -+spatialite_xml_print_LADD = @LIBSPATIALITE_LIBS@ @LIBFREEXL_LIBS@ @LIBXML2_LIBS@ @RTTOPO_LIBS@ - LDADD = @LIBSPATIALITE_LIBS@ \ -- @LIBFREEXL_LIBS@ -+ @LIBFREEXL_LIBS@ @LIBXML2_LIBS@ @RTTOPO_LIBS@ - - EXTRA_DIST = makefile.vc nmake.opt makefile64.vc nmake64.opt \ - config-msvc.h \ diff --git a/ports/spatialite-tools/portfile.cmake b/ports/spatialite-tools/portfile.cmake index b72e802b38ae87..c7e113ff71a20e 100644 --- a/ports/spatialite-tools/portfile.cmake +++ b/ports/spatialite-tools/portfile.cmake @@ -1,145 +1,104 @@ -set(SPATIALITE_TOOLS_VERSION_STR "5.0.0") +# Allow empty include directory +set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) + +string(REPLACE "-" "" SPATIALITE_TOOLS_VERSION_STR "${VERSION}") vcpkg_download_distfile(ARCHIVE - URLS "http://www.gaia-gis.it/gaia-sins/spatialite-tools-sources/spatialite-tools-${SPATIALITE_TOOLS_VERSION_STR}.tar.gz" + URLS "https://www.gaia-gis.it/gaia-sins/spatialite-tools-sources/spatialite-tools-${SPATIALITE_TOOLS_VERSION_STR}.tar.gz" FILENAME "spatialite-tools-${SPATIALITE_TOOLS_VERSION_STR}.tar.gz" - SHA512 a1497824df2c45ffa1ba6b4ec53794c2c4779b6357885ee6f1243f2bff137c3e4dd93b0a802239ced73f66be22faf0081b83bf0ad4effb8a04052712625865d1 + SHA512 cf255c9e04e78e450e20019e3c988b2b0a770c6b7857a5b1c95d0696ee29902e7a85667c1a38dec9aa164fa6d28a444be6365b0444b78015180c1f27fa68ea89 ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} +vcpkg_extract_source_archive(SOURCE_PATH + ARCHIVE "${ARCHIVE}" PATCHES - fix-linux-configure.patch fix-makefiles.patch ) +file(REMOVE "${SOURCE_PATH}/config.h") + +set(PKGCONFIG_MODULES expat libxml-2.0 sqlite3) if (VCPKG_TARGET_IS_WINDOWS) - if(VCPKG_CRT_LINKAGE STREQUAL dynamic) - set(GEOS_LIBS_REL "${CURRENT_INSTALLED_DIR}/lib/geos_c.lib") - set(GEOS_LIBS_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/geos_cd.lib") - set(LIBXML2_LIBS_REL "${CURRENT_INSTALLED_DIR}/lib/libxml2.lib") - set(LIBXML2_LIBS_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/libxml2.lib") - set(SPATIALITE_LIBS_REL "${CURRENT_INSTALLED_DIR}/lib/spatialite.lib") - set(SPATIALITE_LIBS_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/spatialite.lib") - set(ICONV_LIBS_REL "${CURRENT_INSTALLED_DIR}/lib/iconv.lib") - set(ICONV_LIBS_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/iconv.lib") - set(EXPAT_LIBS_REL "${CURRENT_INSTALLED_DIR}/lib/libexpat.lib") - set(EXPAT_LIBS_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/libexpatd.lib") - else() - set(GEOS_LIBS_REL "${CURRENT_INSTALLED_DIR}/lib/geos_c.lib ${CURRENT_INSTALLED_DIR}/lib/geos.lib") - set(GEOS_LIBS_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/geos_cd.lib ${CURRENT_INSTALLED_DIR}/debug/lib/geosd.lib") - set(LIBXML2_LIBS_REL "${CURRENT_INSTALLED_DIR}/lib/libxml2.lib ${CURRENT_INSTALLED_DIR}/lib/lzma.lib ws2_32.lib") - set(LIBXML2_LIBS_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/libxml2.lib ${CURRENT_INSTALLED_DIR}/debug/lib/lzmad.lib ws2_32.lib") - set(SPATIALITE_LIBS_REL "${CURRENT_INSTALLED_DIR}/lib/spatialite.lib ${CURRENT_INSTALLED_DIR}/lib/freexl.lib ${CURRENT_INSTALLED_DIR}/lib/librttopo.lib") - set(SPATIALITE_LIBS_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/spatialite.lib ${CURRENT_INSTALLED_DIR}/debug/lib/freexl.lib ${CURRENT_INSTALLED_DIR}/debug/lib/librttopo.lib") - set(ICONV_LIBS_REL "${CURRENT_INSTALLED_DIR}/lib/iconv.lib ${CURRENT_INSTALLED_DIR}/lib/charset.lib") - set(ICONV_LIBS_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/iconv.lib ${CURRENT_INSTALLED_DIR}/debug/lib/charset.lib") - set(EXPAT_LIBS_REL "${CURRENT_INSTALLED_DIR}/lib/libexpatMD.lib") - set(EXPAT_LIBS_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/libexpatdMD.lib") - endif() + list(APPEND PKGCONFIG_MODULES readosm spatialite) + x_vcpkg_pkgconfig_get_modules( + PREFIX PKGCONFIG + MODULES --msvc-syntax ${PKGCONFIG_MODULES} + LIBS + ) - if(VCPKG_TARGET_IS_UWP) - set(UWP_LIBS windowsapp.lib) - set(UWP_LINK_FLAGS /APPCONTAINER) - endif() + # vcpkg_build_nmake doesn't supply cmake's implicit link libraries + if(PKGCONFIG_LIBS_DEBUG MATCHES "libcrypto") + string(APPEND PKGCONFIG_LIBS_DEBUG " user32.lib") + endif() + if(PKGCONFIG_LIBS_RELEASE MATCHES "libcrypto") + string(APPEND PKGCONFIG_LIBS_RELEASE " user32.lib") + endif() - set(LIBS_ALL_DBG - "${CURRENT_INSTALLED_DIR}/debug/lib/sqlite3.lib \ - ${CURRENT_INSTALLED_DIR}/debug/lib/readosm.lib \ - ${CURRENT_INSTALLED_DIR}/debug/lib/zlibd.lib \ - ${LIBXML2_LIBS_DBG} \ - ${GEOS_LIBS_DBG} \ - ${ICONV_LIBS_DBG} \ - ${SPATIALITE_LIBS_DBG} \ - ${EXPAT_LIBS_DBG} \ - ${UWP_LIBS} \ - ${CURRENT_INSTALLED_DIR}/debug/lib/proj_d.lib ole32.lib shell32.lib" - ) - set(LIBS_ALL_REL - "${CURRENT_INSTALLED_DIR}/lib/sqlite3.lib \ - ${CURRENT_INSTALLED_DIR}/lib/readosm.lib \ - ${CURRENT_INSTALLED_DIR}/lib/zlib.lib \ - ${LIBXML2_LIBS_REL} \ - ${GEOS_LIBS_REL} \ - ${ICONV_LIBS_REL} \ - ${SPATIALITE_LIBS_REL} \ - ${EXPAT_LIBS_REL} \ - ${UWP_LIBS} \ - ${CURRENT_INSTALLED_DIR}/lib/proj.lib ole32.lib shell32.lib" - ) + set(ICONV_LIBS "iconv.lib") + if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + string(APPEND ICONV_LIBS " charset.lib") + endif() - file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}" INST_DIR) - list(APPEND OPTIONS_RELEASE - "LINK_FLAGS=${UWP_LINK_FLAGS}" "INST_DIR=${INST_DIR}" "LIBS_ALL=${LIBS_ALL_REL}" - ) - list(APPEND OPTIONS_DEBUG - "LINK_FLAGS=/debug ${UWP_LINK_FLAGS}" "INST_DIR=${INST_DIR}\\debug" "LIBS_ALL=${LIBS_ALL_DBG}" - ) + set(UWP_LIBS "") + if(VCPKG_TARGET_IS_UWP) + set(UWP_LIBS "windowsapp.lib /APPCONTAINER") + endif() - vcpkg_install_nmake( - SOURCE_PATH ${SOURCE_PATH} - OPTIONS - "CL_FLAGS=/DACCEPT_USE_OF_DEPRECATED_PROJ_API_H" - OPTIONS_RELEASE - ${OPTIONS_RELEASE} - OPTIONS_DEBUG - ${OPTIONS_DEBUG} - ) + file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}" INST_DIR) - list(APPEND TOOL_EXES - shp_sanitize - spatialite_osm_filter - spatialite_osm_raw - spatialite_gml - spatialite_osm_map - exif_loader - spatialite_osm_net - spatialite_network - spatialite_tool - shp_doctor - spatialite - ) - vcpkg_copy_tools(TOOL_NAMES ${TOOL_EXES} AUTO_CLEAN) + vcpkg_install_nmake( + SOURCE_PATH "${SOURCE_PATH}" + PREFER_JOM + CL_LANGUAGE C + OPTIONS_RELEASE + "INSTDIR=${INST_DIR}" + "LIBS_ALL=/link ${PKGCONFIG_LIBS_RELEASE} ${ICONV_LIBS} ${UWP_LIBS}" + OPTIONS_DEBUG + "INSTDIR=${INST_DIR}\\debug" + "LIBS_ALL=/link ${PKGCONFIG_LIBS_DEBUG} ${ICONV_LIBS} ${UWP_LIBS}" + ) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) -elseif (VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_OSX) # Build in UNIX - if(VCPKG_TARGET_IS_LINUX) - set(LIBS "-lpthread -ldl -lm -lz -lstdc++") - else() - set(LIBS "-lpthread -ldl -lm -lz -lc++ -liconv -lc") - endif() + set(TOOL_EXES + shp_sanitize + spatialite_osm_filter + spatialite_osm_raw + spatialite_gml + spatialite_osm_map + exif_loader + spatialite_osm_net + spatialite_network + spatialite_tool + shp_doctor + spatialite + ) + vcpkg_copy_tools(TOOL_NAMES ${TOOL_EXES} AUTO_CLEAN) - list(APPEND OPTIONS_RELEASE - "LIBXML2_LIBS=-lxml2 -llzma" - "GEOS_LDFLAGS=-lgeos_c -lgeos" - ) - list(APPEND OPTIONS_DEBUG - "LIBXML2_LIBS=-lxml2 -llzmad" - "GEOS_LDFLAGS=-lgeos_cd -lgeosd" - ) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") - vcpkg_configure_make( - SOURCE_PATH ${SOURCE_PATH} - AUTOCONFIG - OPTIONS - "LIBXML2_CFLAGS=-I\"${CURRENT_INSTALLED_DIR}/include\"" - "LIBS=${LIBS}" - "--disable-minizip" - OPTIONS_DEBUG - ${OPTIONS_DEBUG} - OPTIONS_RELEASE - ${OPTIONS_RELEASE} - ) +else() + x_vcpkg_pkgconfig_get_modules( + PREFIX PKGCONFIG + MODULES ${PKGCONFIG_MODULES} + LIBS + ) - vcpkg_install_make() - vcpkg_fixup_pkgconfig() - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) + vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG + OPTIONS + --disable-minizip + --disable-readline + --enable-readosm + OPTIONS_DEBUG + "LIBS=${PKGCONFIG_LIBS_DEBUG} \$LIBS" + OPTIONS_RELEASE + "LIBS=${PKGCONFIG_LIBS_RELEASE} \$LIBS" + ) + + vcpkg_install_make() + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") endif() # Handle copyright -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) - -# Allow empty include directory -set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/spatialite-tools/vcpkg.json b/ports/spatialite-tools/vcpkg.json index a1a5bc3bb28984..fbde91f0f6ca1f 100644 --- a/ports/spatialite-tools/vcpkg.json +++ b/ports/spatialite-tools/vcpkg.json @@ -1,18 +1,31 @@ { "name": "spatialite-tools", - "version-string": "5.0.0", - "port-version": 3, + "version": "5.1.0-a", "description": "Contains spatialite.exe and other command line tools to work with SpatiaLite databases (import, export, SQL queries)", "homepage": "https://www.gaia-gis.it/fossil/spatialite-tools/index", + "license": "GPL-3.0-or-later", + "supports": "!xbox", "dependencies": [ "expat", - "geos", "libiconv", - "librttopo", - "libspatialite", - "proj4", + { + "name": "libspatialite", + "features": [ + "gcp", + "rttopo" + ] + }, + { + "name": "libxml2", + "features": [ + "http" + ] + }, "readosm", "sqlite3", - "zlib" + { + "name": "vcpkg-pkgconfig-get-modules", + "host": true + } ] } diff --git a/ports/spdk-dpdk/portfile.cmake b/ports/spdk-dpdk/portfile.cmake index f8a8d46e17661c..45ce0626d6d2d4 100644 --- a/ports/spdk-dpdk/portfile.cmake +++ b/ports/spdk-dpdk/portfile.cmake @@ -3,29 +3,28 @@ IF (NOT VCPKG_CMAKE_SYSTEM_NAME OR NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") ENDIF () VCPKG_FROM_GITHUB( - OUT_SOURCE_PATH SOURCE_PATH - REPO spdk/dpdk - REF spdk-18.11 - SHA512 9c069bb0e445f8287ee056452fa32263746f78e27377e8fd75809b9ebf7f25c2395ee13ae4804d8c464e5bc7db7335692759ab3202748dd0c82243aad35e5e7c - HEAD_REF master + OUT_SOURCE_PATH SOURCE_PATH + REPO spdk/dpdk + REF spdk-18.11 + SHA512 9c069bb0e445f8287ee056452fa32263746f78e27377e8fd75809b9ebf7f25c2395ee13ae4804d8c464e5bc7db7335692759ab3202748dd0c82243aad35e5e7c + HEAD_REF master ) FIND_PATH(NUMA_INCLUDE_DIR NAME numa.h - PATHS ENV NUMA_ROOT - HINTS $ENV{HOME}/local/include /opt/local/include /usr/local/include /usr/include - ) + PATHS ENV NUMA_ROOT + HINTS "$ENV{HOME}/local/include" /opt/local/include /usr/local/include /usr/include +) 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 () -VCPKG_CONFIGURE_CMAKE( - SOURCE_PATH ${CMAKE_CURRENT_LIST_DIR} - PREFER_NINJA - OPTIONS - -DSOURCE_PATH=${SOURCE_PATH} +vcpkg_cmake_configure( + SOURCE_PATH "${CMAKE_CURRENT_LIST_DIR}" + OPTIONS + "-DSOURCE_PATH=${SOURCE_PATH}" ) -VCPKG_INSTALL_CMAKE() +vcpkg_cmake_install() # Headers are symbolic links here, gather all, resolve and copy real files FILE(GLOB_RECURSE HEADERS FOLLOW_SYMLINKS "${SOURCE_PATH}/build/include/*") @@ -35,9 +34,11 @@ FOREACH (HEADER ${HEADERS}) LIST(APPEND REAL_FILES "${REAL_FILE}") ENDFOREACH () -FILE(INSTALL ${SOURCE_PATH}/Release/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/lib/spdk) -FILE(INSTALL ${SOURCE_PATH}/Debug/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/spdk) -FILE(INSTALL ${REAL_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include/${PORT}) -FILE(INSTALL ${CMAKE_CURRENT_LIST_DIR}/spdk-dpdkConfig.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) -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) +FILE(INSTALL "${SOURCE_PATH}/Release/lib/" DESTINATION "${CURRENT_PACKAGES_DIR}/lib/spdk") +if(NOT VCPKG_BUILD_TYPE) + FILE(INSTALL "${SOURCE_PATH}/Debug/lib/" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib/spdk") +endif() +FILE(INSTALL ${REAL_FILES} DESTINATION "${CURRENT_PACKAGES_DIR}/include/${PORT}") +FILE(INSTALL "${CMAKE_CURRENT_LIST_DIR}/spdk-dpdkConfig.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +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) diff --git a/ports/spdk-dpdk/vcpkg.json b/ports/spdk-dpdk/vcpkg.json index ec63984b9b438d..7727ec2ef15708 100644 --- a/ports/spdk-dpdk/vcpkg.json +++ b/ports/spdk-dpdk/vcpkg.json @@ -1,7 +1,13 @@ { "name": "spdk-dpdk", - "version-string": "20181124", - "port-version": 1, + "version-date": "2018-11-24", + "port-version": 3, "description": "SPDK mirror of DPDK. A set of libraries and drivers for fast packet processing", - "supports": "linux" + "supports": "linux", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/spdk-ipsec/portfile.cmake b/ports/spdk-ipsec/portfile.cmake index df7ee677140ec1..f82f2621d3708b 100644 --- a/ports/spdk-ipsec/portfile.cmake +++ b/ports/spdk-ipsec/portfile.cmake @@ -35,22 +35,23 @@ IF (NASM_VERSION VERSION_LESS 2.13.03) MESSAGE(FATAL_ERROR "NASM version 2.13.03 (or newer) is required to build this package") ENDIF () -GET_FILENAME_COMPONENT(NASM_PATH ${NASM} DIRECTORY) +GET_FILENAME_COMPONENT(NASM_PATH "${NASM}" DIRECTORY) vcpkg_add_to_path("${NASM_PATH}") -VCPKG_CONFIGURE_CMAKE( - SOURCE_PATH ${CMAKE_CURRENT_LIST_DIR} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${CMAKE_CURRENT_LIST_DIR}" OPTIONS - -DSOURCE_PATH=${SOURCE_PATH} + "-DSOURCE_PATH=${SOURCE_PATH}" -DEXEC_ENV=${VCPKG_CMAKE_SYSTEM_NAME} ) -VCPKG_INSTALL_CMAKE() +vcpkg_cmake_install() -FILE(INSTALL ${SOURCE_PATH}/Release/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/lib/spdk) -FILE(INSTALL ${SOURCE_PATH}/Debug/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/spdk) -FILE(INSTALL ${SOURCE_PATH}/Release/include/ DESTINATION ${CURRENT_PACKAGES_DIR}/include/${PORT}) -FILE(INSTALL ${CMAKE_CURRENT_LIST_DIR}/spdk-ipsecConfig.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) -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) +FILE(INSTALL "${SOURCE_PATH}/Release/lib/" DESTINATION "${CURRENT_PACKAGES_DIR}/lib/spdk") +if(NOT VCPKG_BUILD_TYPE) + FILE(INSTALL "${SOURCE_PATH}/Debug/lib/" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib/spdk") +endif() +FILE(INSTALL "${SOURCE_PATH}/Release/include/" DESTINATION "${CURRENT_PACKAGES_DIR}/include/${PORT}") +FILE(INSTALL "${CMAKE_CURRENT_LIST_DIR}/spdk-ipsecConfig.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +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/spdk-ipsec/vcpkg.json b/ports/spdk-ipsec/vcpkg.json index e41c9d957141d3..5981ad1ad720d4 100644 --- a/ports/spdk-ipsec/vcpkg.json +++ b/ports/spdk-ipsec/vcpkg.json @@ -1,7 +1,13 @@ { "name": "spdk-ipsec", - "version-string": "20180711", - "port-version": 1, + "version-date": "2018-07-11", + "port-version": 3, "description": "SPDK mirror of ipsec. Intel(R) Multi-Buffer Crypto for IPsec Library", - "supports": "x64 & linux" + "supports": "x64 & linux", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/spdk-isal/CMakeLists.txt b/ports/spdk-isal/CMakeLists.txt deleted file mode 100644 index c2623d3876fcbc..00000000000000 --- a/ports/spdk-isal/CMakeLists.txt +++ /dev/null @@ -1,56 +0,0 @@ -CMAKE_MINIMUM_REQUIRED(VERSION 3.9) -PROJECT(isal C) - -IF (SOURCE_PATH) - SET(CMAKE_SOURCE_DIR ${SOURCE_PATH}) -ENDIF () - -INCLUDE(ProcessorCount) -PROCESSORCOUNT(PROCS) - -FIND_PROGRAM(NASM nasm) -IF (NOT NASM) - MESSAGE(FATAL_ERROR "NASM not found") -ENDIF () - -FIND_PROGRAM(YASM yasm) -IF (NOT YASM) - MESSAGE(FATAL_ERROR "YASM not found") -ENDIF () - -IF (EXEC_ENV STREQUAL "Windows") - FIND_PROGRAM(MAKE nmake) - IF (NOT MAKE) - MESSAGE(FATAL_ERROR "nmake not found") - ENDIF () -ELSEIF(EXEC_ENV STREQUAL "Linux") - FIND_PROGRAM(MAKE make) - IF (NOT MAKE) - MESSAGE(FATAL_ERROR "MAKE not found") - ENDIF () -ENDIF() - -SET(MAKE_FLAGS "-f") - -IF (EXEC_ENV STREQUAL Windows) - STRING(APPEND MAKE_FLAGS " Makefile.nmake /E CC=cl AS=nasm") -ELSEIF (EXEC_ENV STREQUAL Linux) - STRING(APPEND MAKE_FLAGS "Makefile.unx") -ENDIF () - -ADD_CUSTOM_TARGET(isal ALL - COMMAND ${MAKE} ${MAKE_FLAGS} - WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/ - ) - -SET(LIB_PATH ${CMAKE_SOURCE_DIR}/bin/) -IF (LIBRARY_LINKAGE STREQUAL "dynamic") - STRING(APPEND LIB_PATH isal.so) -ELSEIF (LIBRARY_LINKAGE STREQUAL "static") - STRING(APPEND LIB_PATH isa-l.a) -ELSE () - MESSAGE(FATAL_ERROR "Unknown linkage type ${LIBRARY_LINKAGE}") -ENDIF () -INSTALL(FILES ${LIB_PATH} - DESTINATION ${CMAKE_SOURCE_DIR}/${CMAKE_BUILD_TYPE}/lib/) -INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/include DESTINATION ${CMAKE_SOURCE_DIR}/${CMAKE_BUILD_TYPE}/) \ No newline at end of file diff --git a/ports/spdk-isal/portfile.cmake b/ports/spdk-isal/portfile.cmake index 31461d9acb3c6d..1fae5d89832074 100644 --- a/ports/spdk-isal/portfile.cmake +++ b/ports/spdk-isal/portfile.cmake @@ -1,21 +1,8 @@ -IF (NOT VCPKG_CMAKE_SYSTEM_NAME) - SET(EXEC_ENV "Windows") -ELSE () - SET(EXEC_ENV "${VCPKG_CMAKE_SYSTEM_NAME}") -ENDIF () +if(EXISTS "${CURRENT_INSTALLED_DIR}/share/isal/copyright") + message(FATAL_ERROR "'${PORT}' conflicts with 'isal'. Please remove isal:${TARGET_TRIPLET}, and try to install ${PORT}:${TARGET_TRIPLET} again.") +endif() -IF (NOT EXEC_ENV STREQUAL "Linux") - MESSAGE(FATAL_ERROR "Intel(R) Intelligent Storage Acceleration Library currently only supports Linux platforms") - MESSAGE(STATUS "Well, it is not true, but I didnt manage to get it working on Windows") -ENDIF () - -IF (VCPKG_TARGET_ARCHITECTURE STREQUAL "x86" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") - MESSAGE(FATAL_ERROR "Intel(R) Intelligent Storage Acceleration Library currently only supports x64 architecture") -ELSEIF (NOT VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") - MESSAGE(FATAL_ERROR "Unsupported architecture: ${VCPKG_TARGET_ARCHITECTURE}") -ENDIF () - -VCPKG_FROM_GITHUB( +vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO spdk/isa-l REF spdk @@ -23,26 +10,20 @@ VCPKG_FROM_GITHUB( HEAD_REF master ) -VCPKG_FIND_ACQUIRE_PROGRAM(NASM) -GET_FILENAME_COMPONENT(NASM_PATH ${NASM} DIRECTORY) -SET(ENV{PATH} "$ENV{PATH};${NASM_PATH}") +vcpkg_find_acquire_program(NASM) +get_filename_component(NASM_PATH ${NASM} DIRECTORY) +vcpkg_add_to_path("${NASM_PATH}") -VCPKG_FIND_ACQUIRE_PROGRAM(YASM) +vcpkg_find_acquire_program(YASM) -VCPKG_CONFIGURE_CMAKE( - SOURCE_PATH ${CMAKE_CURRENT_LIST_DIR} - PREFER_NINJA - OPTIONS - -DSOURCE_PATH=${SOURCE_PATH} - -DEXEC_ENV:STRING=${EXEC_ENV} - -DLIBRARY_LINKAGE:STRING=${VCPKG_LIBRARY_LINKAGE} +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" ) -VCPKG_INSTALL_CMAKE() +vcpkg_install_make() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -FILE(INSTALL ${SOURCE_PATH}/Release/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/lib/spdk) -FILE(INSTALL ${SOURCE_PATH}/Debug/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/spdk) -FILE(INSTALL ${SOURCE_PATH}/Release/include/ DESTINATION ${CURRENT_PACKAGES_DIR}/include/${PORT}) -FILE(INSTALL ${CMAKE_CURRENT_LIST_DIR}/spdk-isalConfig.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) -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) +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/spdk-isalConfig.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +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/spdk-isal/vcpkg.json b/ports/spdk-isal/vcpkg.json index eb857863cedc18..b1e6045d4191af 100644 --- a/ports/spdk-isal/vcpkg.json +++ b/ports/spdk-isal/vcpkg.json @@ -1,7 +1,9 @@ { "name": "spdk-isal", - "version-string": "20181006", - "port-version": 1, + "version-date": "2018-10-06", + "port-version": 3, "description": "SPDK mirror of isa-l. Intel(R) Intelligent Storage Acceleration Library", - "supports": "x64" + "homepage": "https://github.com/spdk/isa-l", + "license": "BSD-3-Clause", + "supports": "!windows & !(osx & x64)" } diff --git a/ports/spdk/portfile.cmake b/ports/spdk/portfile.cmake index 38c0326fe16cf0..1a3150b09c43ba 100644 --- a/ports/spdk/portfile.cmake +++ b/ports/spdk/portfile.cmake @@ -3,36 +3,35 @@ IF (NOT VCPKG_CMAKE_SYSTEM_NAME OR NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") ENDIF () VCPKG_FROM_GITHUB( - OUT_SOURCE_PATH SOURCE_PATH - REPO spdk/spdk - REF v19.01.1 - SHA512 cb2c085e1a5d370df60599aaeb6302f8252626342a9e0644018df8c769f406304591680f905572848390c3139e640496f96e3b4fc67469c56eb9a5329aee4b24 - HEAD_REF master + OUT_SOURCE_PATH SOURCE_PATH + REPO spdk/spdk + REF "v${VERSION}" + SHA512 c683136593661fddae6e849a1496e6664ad74e89661f6ec6ad82e653d8fc5bb64496d5d9fb263c1a05c868c1ecd1cc869d48c52895423aebab5df7a161197199 + HEAD_REF master ) FIND_PATH(NUMA_INCLUDE_DIR NAME numa.h - PATHS ENV NUMA_ROOT - HINTS $ENV{HOME}/local/include /opt/local/include /usr/local/include /usr/include - ) + PATHS ENV NUMA_ROOT + HINTS "$ENV{HOME}/local/include" /opt/local/include /usr/local/include /usr/include +) 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 () -VCPKG_CONFIGURE_CMAKE( - SOURCE_PATH ${CMAKE_CURRENT_LIST_DIR} - PREFER_NINJA - OPTIONS - -DSOURCE_PATH=${SOURCE_PATH} +vcpkg_cmake_configure( + SOURCE_PATH "${CMAKE_CURRENT_LIST_DIR}" + OPTIONS + "-DSOURCE_PATH=${SOURCE_PATH}" ) -VCPKG_INSTALL_CMAKE() +vcpkg_cmake_install() -FILE(INSTALL ${SOURCE_PATH}/Release/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/lib) -FILE(INSTALL ${SOURCE_PATH}/Debug/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) -FILE(INSTALL ${SOURCE_PATH}/include/spdk DESTINATION ${CURRENT_PACKAGES_DIR}/include/${PORT}) -FILE(INSTALL ${SOURCE_PATH}/scripts/setup.sh DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}/scripts) -FILE(INSTALL ${SOURCE_PATH}/scripts/common.sh DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}/scripts) -FILE(INSTALL ${SOURCE_PATH}/include/spdk/pci_ids.h DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}/include/spdk) -FILE(INSTALL ${CMAKE_CURRENT_LIST_DIR}/spdkConfig.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) -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) +FILE(INSTALL "${SOURCE_PATH}/Release/lib/" DESTINATION "${CURRENT_PACKAGES_DIR}/lib") +FILE(INSTALL "${SOURCE_PATH}/Debug/lib/" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") +FILE(INSTALL "${SOURCE_PATH}/include/spdk" DESTINATION "${CURRENT_PACKAGES_DIR}/include/${PORT}") +FILE(INSTALL "${SOURCE_PATH}/scripts/setup.sh" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}/scripts") +FILE(INSTALL "${SOURCE_PATH}/scripts/common.sh" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}/scripts") +FILE(INSTALL "${SOURCE_PATH}/include/spdk/pci_ids.h" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}/include/spdk") +FILE(INSTALL "${CMAKE_CURRENT_LIST_DIR}/spdkConfig.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +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/spdk/vcpkg.json b/ports/spdk/vcpkg.json index 90a9c4940634cf..a8001d25684455 100644 --- a/ports/spdk/vcpkg.json +++ b/ports/spdk/vcpkg.json @@ -1,12 +1,15 @@ { "name": "spdk", - "version-string": "19.01.1", - "port-version": 2, + "version-string": "24.01", "description": "Storage Performance Development Kit", "supports": "linux", "dependencies": [ "spdk-dpdk", "spdk-ipsec", - "spdk-isal" + "spdk-isal", + { + "name": "vcpkg-cmake", + "host": true + } ] } diff --git a/ports/spdlog/fix-mingw-build.patch b/ports/spdlog/fix-mingw-build.patch deleted file mode 100644 index 1abfdd350b2def..00000000000000 --- a/ports/spdlog/fix-mingw-build.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index b969465..31e23cd 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -142,7 +142,7 @@ if(SPDLOG_BUILD_SHARED OR BUILD_SHARED_LIBS) - endif() - add_library(spdlog SHARED ${SPDLOG_SRCS} ${SPDLOG_ALL_HEADERS}) - target_compile_definitions(spdlog PUBLIC SPDLOG_SHARED_LIB) -- if(MSVC) -+ if(MSVC AND NOT MINGW) - target_compile_options(spdlog PUBLIC $<$,$>>:/wd4251 - /wd4275>) - endif() diff --git a/ports/spdlog/portfile.cmake b/ports/spdlog/portfile.cmake index 77909960b2052a..6b64f91b209151 100644 --- a/ports/spdlog/portfile.cmake +++ b/ports/spdlog/portfile.cmake @@ -1,34 +1,29 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO gabime/spdlog - REF v1.9.2 - SHA512 87b12a792cf2d740ef29db4b6055788a487b6d474662b878711b8a5534efea5f0d97b6ac357834500b66cc65e1ba8934446a695e9691fd5d4b95397b6871555c + REF "v${VERSION}" + SHA512 3dd98409f4625ae4d46ef5f59a2fc22a6e151a13dba9d37433363e5d84eab7cca73b379eeb637d8f9b1f0f5a42221c0cc9a2a70414dc2b6af6a162e19fba0647 HEAD_REF v1.x - PATCHES fix-mingw-build.patch ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES - benchmark SPDLOG_BUILD_BENCH - wchar SPDLOG_WCHAR_SUPPORT + benchmark SPDLOG_BUILD_BENCH + wchar SPDLOG_WCHAR_SUPPORT ) -# configured in triplet file +# SPDLOG_WCHAR_FILENAMES can only be configured in triplet file since it is an alternative (not additive) if(NOT DEFINED SPDLOG_WCHAR_FILENAMES) set(SPDLOG_WCHAR_FILENAMES OFF) endif() -if(NOT VCPKG_TARGET_IS_WINDOWS) - if("wchar" IN_LIST FEATURES) - message(WARNING "Feature 'wchar' is only supported for Windows and has no effect on other platforms.") - elseif(SPDLOG_WCHAR_FILENAMES) - message(FATAL_ERROR "Build option 'SPDLOG_WCHAR_FILENAMES' is for Windows.") - endif() +if(NOT VCPKG_TARGET_IS_WINDOWS AND SPDLOG_WCHAR_FILENAMES) + message(FATAL_ERROR "Build option 'SPDLOG_WCHAR_FILENAMES' is for Windows.") endif() string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" SPDLOG_BUILD_SHARED) vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${FEATURE_OPTIONS} -DSPDLOG_FMT_EXTERNAL=ON @@ -43,26 +38,29 @@ vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/spdlog) vcpkg_fixup_pkgconfig() vcpkg_copy_pdbs() -# use vcpkg-provided fmt library (see also option SPDLOG_FMT_EXTERNAL above) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/spdlog/fmt/bundled) - -vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/include/spdlog/fmt/fmt.h - "#if !defined(SPDLOG_FMT_EXTERNAL)" - "#if 0 // !defined(SPDLOG_FMT_EXTERNAL)" -) - -vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/include/spdlog/fmt/ostr.h - "#if !defined(SPDLOG_FMT_EXTERNAL)" - "#if 0 // !defined(SPDLOG_FMT_EXTERNAL)" +# add support for integration other than cmake +vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/include/spdlog/tweakme.h + "// #define SPDLOG_FMT_EXTERNAL" + "#ifndef SPDLOG_FMT_EXTERNAL\n#define SPDLOG_FMT_EXTERNAL\n#endif" ) +if(SPDLOG_WCHAR_SUPPORT) + vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/include/spdlog/tweakme.h + "// #define SPDLOG_WCHAR_TO_UTF8_SUPPORT" + "#ifndef SPDLOG_WCHAR_TO_UTF8_SUPPORT\n#define SPDLOG_WCHAR_TO_UTF8_SUPPORT\n#endif" + ) +endif() +if(SPDLOG_WCHAR_FILENAMES) + vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/include/spdlog/tweakme.h + "// #define SPDLOG_WCHAR_FILENAMES" + "#ifndef SPDLOG_WCHAR_FILENAMES\n#define SPDLOG_WCHAR_FILENAMES\n#endif" + ) +endif() -vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/include/spdlog/fmt/chrono.h - "#if !defined(SPDLOG_FMT_EXTERNAL)" - "#if 0 // !defined(SPDLOG_FMT_EXTERNAL)" +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/include/spdlog/fmt/bundled" + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" ) -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(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/spdlog/usage b/ports/spdlog/usage new file mode 100644 index 00000000000000..d0ce6557992d88 --- /dev/null +++ b/ports/spdlog/usage @@ -0,0 +1,8 @@ +The package spdlog provides CMake targets: + + find_package(spdlog CONFIG REQUIRED) + target_link_libraries(main PRIVATE spdlog::spdlog) + + # Or use the header-only version + find_package(spdlog CONFIG REQUIRED) + target_link_libraries(main PRIVATE spdlog::spdlog_header_only) diff --git a/ports/spdlog/vcpkg.json b/ports/spdlog/vcpkg.json index 46c4202b74dbba..15e73f7ac55ee4 100644 --- a/ports/spdlog/vcpkg.json +++ b/ports/spdlog/vcpkg.json @@ -1,7 +1,7 @@ { "name": "spdlog", - "version-semver": "1.9.2", - "description": "Very fast, header only, C++ logging library", + "version-semver": "1.15.0", + "description": "Very fast, header-only/compiled, C++ logging library.", "homepage": "https://github.com/gabime/spdlog", "license": "MIT", "dependencies": [ @@ -23,7 +23,8 @@ ] }, "wchar": { - "description": "Build with wchar_t (Windows only)" + "description": "Build with wchar_t (Windows only)", + "supports": "windows" } } } diff --git a/ports/spectra/portfile.cmake b/ports/spectra/portfile.cmake index 9a2394490bcee4..dad97dd37f13ae 100644 --- a/ports/spectra/portfile.cmake +++ b/ports/spectra/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO yixuan/spectra - REF v1.0.0 - SHA512 45540b12d370a28029f507f503618a0be9c19ec3a41813e23e036211dbc98237ac502c7f60cd42ccaa262f9dc0ebc02aabdefcd314f0c98c1e3dc925df02d783 + REF v1.0.1 + SHA512 575f90d2ab9c3cbdd4bbfe1abce35a262e319dac8689420859811a169cbfd8f617c80bfcd430aa8a5383c96f338155870a0ad7ac0d5db855c1e822c2d19837b5 HEAD_REF master ) diff --git a/ports/spectra/vcpkg.json b/ports/spectra/vcpkg.json index 83d1c1fc46d168..1d7f1e1e71abd9 100644 --- a/ports/spectra/vcpkg.json +++ b/ports/spectra/vcpkg.json @@ -1,6 +1,6 @@ { "name": "spectra", - "version": "1.0.0", + "version": "1.0.1", "description": "A header-only C++ library for large scale eigenvalue problems", "homepage": "https://spectralib.org", "documentation": "https://spectralib.org/quick-start.html", diff --git a/ports/speex/0001-make-pkg-config-lib-name-configurable.patch b/ports/speex/0001-make-pkg-config-lib-name-configurable.patch deleted file mode 100644 index 72b61f4cc5a4e3..00000000000000 --- a/ports/speex/0001-make-pkg-config-lib-name-configurable.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/speex.pc.in b/speex.pc.in -index 97bba4f..52a1d3c 100644 ---- a/speex.pc.in -+++ b/speex.pc.in -@@ -10,6 +10,6 @@ Description: Speex is an audio codec tuned for speech - Version: @SPEEX_VERSION@ - Requires: - Conflicts: --Libs: -L${libdir} -lspeex -+Libs: -L${libdir} -l@SPEEXLIB@ - Libs.private: @LIBM@ - Cflags: -I${includedir} - diff --git a/ports/speex/CMakeLists.txt b/ports/speex/CMakeLists.txt deleted file mode 100644 index b151b2439f7077..00000000000000 --- a/ports/speex/CMakeLists.txt +++ /dev/null @@ -1,111 +0,0 @@ -cmake_minimum_required (VERSION 3.8.0) -project (libspeex C) - -include(GNUInstallDirs) -include(CheckLibraryExists) - -option(USE_SSE "USE_SSE used Note: USE_SSE and FIXED_POINT are mutually exclusive." ON) -if(MSVC) - add_definitions(-DHAVE_CONFIG_H) - if(USE_SSE) - add_definitions(-DUSE_SSE -DFLOATING_POINT) - else() - add_definitions(-DFIXED_POINT) - endif() -endif() - -include_directories(win32 include) - -set(CMAKE_DEBUG_POSTFIX d) - -file(READ "win32/libspeex.def" _contents) -if(CMAKE_BUILD_TYPE STREQUAL "Debug") - string(REPLACE "LIBRARY libspeex" "LIBRARY libspeexd" _contents "${_contents}") -endif() -file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/libspeex.def" - "${_contents}\n" - "speex_nb_mode\n" - "speex_wb_mode\n" - "speex_uwb_mode\n" - "speex_mode_list\n" - "speex_header_free\n" -) - -file(STRINGS "configure.ac" - _speex_version_defines REGEX "SPEEX_(MAJOR|MINOR|MICRO)_VERSION=([0-9]+)$") -foreach(ver ${_speex_version_defines}) - if(ver MATCHES "SPEEX_(MAJOR|MINOR|MICRO)_VERSION=([0-9]+)$") - set(SPEEX_${CMAKE_MATCH_1}_VERSION "${CMAKE_MATCH_2}" CACHE INTERNAL "") - endif() -endforeach() -set(SPEEX_VERSION ${SPEEX_MAJOR_VERSION}.${SPEEX_MINOR_VERSION}.${SPEEX_MICRO_VERSION}) - -set(SRC - "libspeex/bits.c" - "libspeex/cb_search.c" - "libspeex/exc_10_16_table.c" - "libspeex/exc_10_32_table.c" - "libspeex/exc_20_32_table.c" - "libspeex/exc_5_256_table.c" - "libspeex/exc_5_64_table.c" - "libspeex/exc_8_128_table.c" - "libspeex/fftwrap.c" - "libspeex/filters.c" - "libspeex/gain_table.c" - "libspeex/gain_table_lbr.c" - "libspeex/hexc_10_32_table.c" - "libspeex/hexc_table.c" - "libspeex/high_lsp_tables.c" - "libspeex/kiss_fft.c" - "libspeex/kiss_fftr.c" - "libspeex/lpc.c" - "libspeex/lsp.c" - "libspeex/lsp_tables_nb.c" - "libspeex/ltp.c" - "libspeex/modes.c" - "libspeex/modes_wb.c" - "libspeex/nb_celp.c" - "libspeex/quant_lsp.c" - "libspeex/sb_celp.c" - "libspeex/smallft.c" - "libspeex/speex.c" - "libspeex/speex_callbacks.c" - "libspeex/speex_header.c" - "libspeex/stereo.c" - "libspeex/vbr.c" - "libspeex/vq.c" - "libspeex/window.c" - "${CMAKE_CURRENT_BINARY_DIR}/libspeex.def" -) - -add_library(libspeex ${SRC}) - -install( - TARGETS libspeex - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib -) - -if(NOT DISABLE_INSTALL_HEADERS) - install(DIRECTORY include/ DESTINATION include FILES_MATCHING PATTERN "*.h") -endif() - -# pkgconfig file -set(prefix ${CMAKE_INSTALL_PREFIX}) -set(exec_prefix ${CMAKE_INSTALL_PREFIX}) -set(libdir ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}) -set(includedir ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}) -set(LIBM ) -check_library_exists(m ceil "" LIBMEXIST) -if(LIBMEXIST) - list(APPEND LIBM -lm) -endif() -set(SPEEXLIB "${CMAKE_PROJECT_NAME}") -if(CMAKE_BUILD_TYPE STREQUAL "Debug") - set(SPEEXLIB "${CMAKE_PROJECT_NAME}d") -endif() -configure_file(speex.pc.in speex.pc @ONLY) -install(FILES - ${CMAKE_CURRENT_BINARY_DIR}/speex.pc - DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) diff --git a/ports/speex/fix-vla-check.patch b/ports/speex/fix-vla-check.patch new file mode 100644 index 00000000000000..9c64922c5b3a0e --- /dev/null +++ b/ports/speex/fix-vla-check.patch @@ -0,0 +1,13 @@ +diff --git a/configure.ac b/configure.ac +index d94c2fe..b813148 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -37,7 +37,7 @@ AC_C_RESTRICT + + + AC_MSG_CHECKING(for C99 variable-size arrays) +-+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[ ++AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[ + int foo; + foo = 10; + int array[foo]; diff --git a/ports/speex/portfile.cmake b/ports/speex/portfile.cmake index 14a11d813f9708..3bd2df656212d7 100644 --- a/ports/speex/portfile.cmake +++ b/ports/speex/portfile.cmake @@ -1,42 +1,29 @@ -if(VCPKG_TARGET_IS_WINDOWS) - list(APPEND PATCHES "0001-make-pkg-config-lib-name-configurable.patch") -endif() - vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO xiph/speex - REF Speex-1.2.0 - SHA512 612dfd67a9089f929b7f2a613ed3a1d2fda3d3ec0a4adafe27e2c1f4542de1870b42b8042f0dcb16d52e08313d686cc35b76940776419c775417f5bad18b448f - HEAD_REF master - PATCHES ${PATCHES} + OUT_SOURCE_PATH SOURCE_PATH + REPO xiph/speex + REF 5dceaaf3e23ee7fd17c80cb5f02a838fd6c18e01 #Speex-1.2.1 + SHA512 d03da906ec26ddcea2e1dc4157ac6dd056e1407381b0f37edd350552a02a7372e9108b4e39ae522f1b165be04b813ee11db0b47d17607e4dad18118b9041636b + HEAD_REF master + PATCHES + fix-vla-check.patch + subdirs.patch ) -if(VCPKG_TARGET_IS_WINDOWS) - file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") - - vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON - ) - vcpkg_install_cmake() - - if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/speex/speex.h" - "extern const SpeexMode" - "__declspec(dllimport) extern const SpeexMode" - ) - endif() -else() - vcpkg_configure_make( - SOURCE_PATH ${SOURCE_PATH} - AUTOCONFIG - ) - vcpkg_install_make() - - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +if(VCPKG_TARGET_IS_OSX) + message("${PORT} currently requires the following libraries from the system package manager:\n autoconf\n automake\n libtool\n\nIt can be installed with brew install autoconf automake libtool") +elseif(VCPKG_TARGET_IS_LINUX) + message("${PORT} currently requires the following libraries from the system package manager:\n autoconf\n automake\n libtool\n\nIt can be installed with apt-get install autoconf automake libtool") endif() +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG + OPTIONS + --disable-binaries # no example programs (GPL, require libogg) +) +vcpkg_install_make() vcpkg_fixup_pkgconfig() +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/speex/subdirs.patch b/ports/speex/subdirs.patch new file mode 100644 index 00000000000000..6832de2b327842 --- /dev/null +++ b/ports/speex/subdirs.patch @@ -0,0 +1,13 @@ +diff --git a/Makefile.am b/Makefile.am +index dc90415..3b3c16d 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -14,7 +14,7 @@ pkgconfig_DATA = speex.pc + EXTRA_DIST = Speex.spec Speex.spec.in Speex.kdevelop speex.m4 speex.pc.in README.blackfin README.symbian README.TI-DSP + + #Fools KDevelop into including all files +-SUBDIRS = libspeex include doc win32 symbian ti ++SUBDIRS = libspeex include + + if BUILD_BINARIES + SUBDIRS += src diff --git a/ports/speex/vcpkg.json b/ports/speex/vcpkg.json index 5265e6ab0e5b5d..c317c34116cdce 100644 --- a/ports/speex/vcpkg.json +++ b/ports/speex/vcpkg.json @@ -1,7 +1,8 @@ { "name": "speex", - "version-string": "1.2.0", - "port-version": 9, + "version": "1.2.1", + "port-version": 1, "description": "Speex is an Open Source/Free Software patent-free audio compression format designed for speech.", - "homepage": "https://github.com/xiph/speex" + "homepage": "https://github.com/xiph/speex", + "license": "BSD-3-Clause" } diff --git a/ports/speexdsp/CMakeLists.txt b/ports/speexdsp/CMakeLists.txt index 6d9658916aa3e8..673dbda27ac4df 100644 --- a/ports/speexdsp/CMakeLists.txt +++ b/ports/speexdsp/CMakeLists.txt @@ -34,7 +34,6 @@ set(LIBSPEEXDSP_HEADERS "${CMAKE_CURRENT_LIST_DIR}/libspeexdsp/resample_neon.h" "${CMAKE_CURRENT_LIST_DIR}/libspeexdsp/resample_sse.h" "${CMAKE_CURRENT_LIST_DIR}/libspeexdsp/smallft.h" - "${CMAKE_CURRENT_LIST_DIR}/libspeexdsp/stack_alloc.h" "${CMAKE_CURRENT_LIST_DIR}/libspeexdsp/vorbis_psy.h" "${CMAKE_CURRENT_LIST_DIR}/include/speex/speex_buffer.h" ) @@ -100,6 +99,9 @@ add_library(speexdsp ${LIBSPEEXDSP_SOURCES} ${LIBSPEEXDSP_HEADERS}) set_target_properties(speexdsp PROPERTIES PUBLIC_HEADER "${LIBSPEEXDSP_HEADERS_PUBLIC}") set_target_properties(speexdsp PROPERTIES VERSION "${LIBSPEEXDSP_VERSION}") set_target_properties(speexdsp PROPERTIES SOVERSION "${LIBSPEEXDSP_SOVERSION}") +if (WIN32) + set_target_properties(speexdsp PROPERTIES RUNTIME_OUTPUT_NAME "libspeexdsp") +endif() # pkgconfig file set(prefix "${CMAKE_INSTALL_PREFIX}") diff --git a/ports/speexdsp/jitter_ctl.patch b/ports/speexdsp/jitter_ctl.patch new file mode 100644 index 00000000000000..0fd3971e9200c8 --- /dev/null +++ b/ports/speexdsp/jitter_ctl.patch @@ -0,0 +1,14 @@ +diff --git a/win32/libspeexdsp.def b/win32/libspeexdsp.def +index 45fc69d9..9b5abbad 100755 +--- a/win32/libspeexdsp.def ++++ b/win32/libspeexdsp.def +@@ -40,6 +40,8 @@ jitter_buffer_get + jitter_buffer_get_pointer_timestamp + jitter_buffer_tick + jitter_buffer_update_delay ++jitter_buffer_ctl ++jitter_buffer_remaining_span + + ; + ; speex_preprocess.h + \ No newline at end of file diff --git a/ports/speexdsp/portfile.cmake b/ports/speexdsp/portfile.cmake index 445bc2aca21804..7ddc82d6f96274 100644 --- a/ports/speexdsp/portfile.cmake +++ b/ports/speexdsp/portfile.cmake @@ -8,18 +8,20 @@ if(VCPKG_USE_HEAD_VERSION) else() # Since the github repo is out-dated, use official download URL for release builds to reduce traffic to the Gitlab host vcpkg_download_distfile(ARCHIVE - URLS "http://downloads.xiph.org/releases/speex/speexdsp-1.2.0.tar.gz" - FILENAME "speexdsp-1.2.0.tar.gz" - SHA512 e357cd5377415ea66c862302c7cf8bf6a10063cacd903f0846478975b87974cf5bdf00e2c6759d8f4f453c4c869cf284e9dc948a84a83d7b2ab96bd5405c05ec + URLS "http://downloads.xiph.org/releases/speex/speexdsp-1.2.1.tar.gz" + FILENAME "speexdsp-1.2.1.tar.gz" + SHA512 41b5f37b48db5cb8c5a0f6437a4a8266d2627a5b7c1088de8549fe0bf0bb3105b7df8024fe207eef194096e0726ea73e2b53e0a4293d8db8e133baa0f8a3bad3 ) - vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH + vcpkg_extract_source_archive( + SOURCE_PATH ARCHIVE "${ARCHIVE}" - REF "1.2.0" + SOURCE_BASE "1.2.1" + PATCHES + jitter_ctl.patch ) endif() -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") set(USE_SSE OFF) if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") @@ -30,19 +32,18 @@ if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUA set(USE_NEON ON) endif() -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DUSE_SSE=${USE_SSE} -DUSE_NEON=${USE_NEON} ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() vcpkg_fixup_pkgconfig() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME "copyright") diff --git a/ports/speexdsp/vcpkg.json b/ports/speexdsp/vcpkg.json index 8cbd9c54d510cd..37ff5881c07acb 100644 --- a/ports/speexdsp/vcpkg.json +++ b/ports/speexdsp/vcpkg.json @@ -1,7 +1,14 @@ { "name": "speexdsp", - "version-string": "1.2.0", - "port-version": 6, + "version": "1.2.1", + "port-version": 1, "description": "A patent-free, Open Source/Free Software DSP library.", - "homepage": "https://speex.org/" + "homepage": "https://speex.org/", + "license": "BSD-3-Clause", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/spglib/portfile.cmake b/ports/spglib/portfile.cmake new file mode 100644 index 00000000000000..37f40239107cf6 --- /dev/null +++ b/ports/spglib/portfile.cmake @@ -0,0 +1,26 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO spglib/spglib + REF "v${VERSION}" + SHA512 123b08ba7174a792c84bad42f94cced5ad213b50ef8dfd58a9301ebf8b66cbedb3ce037d25b748d579d0b2ee2a594c1134a463e179bfd09757fb3c98445160ac + HEAD_REF develop +) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" SPGLIB_SHARED_LIBS) + +vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DSPGLIB_WITH_TESTS=OFF + -DSPGLIB_SHARED_LIBS=${SPGLIB_SHARED_LIBS} +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/Spglib) +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}") + +# handle copyright +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/spglib/usage b/ports/spglib/usage new file mode 100644 index 00000000000000..9fa321b40da0ba --- /dev/null +++ b/ports/spglib/usage @@ -0,0 +1,9 @@ +spglib provides CMake targets: + + find_package(Spglib CONFIG REQUIRED) + target_link_libraries(main PRIVATE Spglib::symspg) + +spglib provides pkg-config modules: + + # The spglib library + spglib diff --git a/ports/spglib/vcpkg.json b/ports/spglib/vcpkg.json new file mode 100644 index 00000000000000..a21db823926b9a --- /dev/null +++ b/ports/spglib/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "spglib", + "version-semver": "2.5.0", + "description": "C library for finding and handling crystal symmetries", + "homepage": "https://spglib.readthedocs.io/en/latest/", + "license": "BSD-3-Clause", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/spine-runtimes/fix-cmake.patch b/ports/spine-runtimes/fix-cmake.patch new file mode 100644 index 00000000000000..1edd4eded2ee1d --- /dev/null +++ b/ports/spine-runtimes/fix-cmake.patch @@ -0,0 +1,107 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f77ff7f..1aeb5fc 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,7 +1,7 @@ + cmake_minimum_required(VERSION 3.17) + project(spine) + +-set(CMAKE_INSTALL_PREFIX "./") ++include(GNUInstallDirs) + set(CMAKE_VERBOSE_MAKEFILE ON) + set(SPINE_SFML FALSE CACHE BOOL FALSE) + set(SPINE_SANITIZE FALSE CACHE BOOL FALSE) +@@ -20,12 +20,12 @@ else() + endif() + endif() + +-if((${SPINE_SFML}) OR (${CMAKE_CURRENT_BINARY_DIR} MATCHES "spine-sfml")) +- add_subdirectory(spine-c) ++add_subdirectory(spine-c) ++add_subdirectory(spine-cpp) ++if(SPINE_SFML) + add_subdirectory(spine-sfml/c) +- add_subdirectory(spine-cpp) + add_subdirectory(spine-sfml/cpp) + endif() + + # add_subdirectory(spine-c/spine-c-unit-tests) +-add_subdirectory(spine-cpp/spine-cpp-unit-tests) ++# add_subdirectory(spine-cpp/spine-cpp-unit-tests) +diff --git a/spine-c/CMakeLists.txt b/spine-c/CMakeLists.txt +index 906f7b0..c5e1f18 100644 +--- a/spine-c/CMakeLists.txt ++++ b/spine-c/CMakeLists.txt +@@ -3,6 +3,6 @@ file(GLOB INCLUDES "spine-c/include/**/*.h") + file(GLOB SOURCES "spine-c/src/**/*.c" "spine-c/src/**/*.cpp") + + add_library(spine-c STATIC ${SOURCES} ${INCLUDES}) +-target_include_directories(spine-c PUBLIC spine-c/include) +-install(TARGETS spine-c DESTINATION dist/lib) +-install(FILES ${INCLUDES} DESTINATION dist/include) +\ No newline at end of file ++target_include_directories(spine-c PUBLIC $) ++install(TARGETS spine-c DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++install(FILES ${INCLUDES} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/spine) +\ No newline at end of file +diff --git a/spine-cpp/CMakeLists.txt b/spine-cpp/CMakeLists.txt +index e008c33..805aba8 100644 +--- a/spine-cpp/CMakeLists.txt ++++ b/spine-cpp/CMakeLists.txt +@@ -12,6 +12,6 @@ file(GLOB INCLUDES "spine-cpp/include/**/*.h") + file(GLOB SOURCES "spine-cpp/src/**/*.cpp") + + add_library(spine-cpp STATIC ${SOURCES} ${INCLUDES}) +-target_include_directories(spine-cpp PUBLIC spine-cpp/include) +-install(TARGETS spine-cpp DESTINATION dist/lib) +-install(FILES ${INCLUDES} DESTINATION dist/include) +\ No newline at end of file ++target_include_directories(spine-cpp PUBLIC $) ++install(TARGETS spine-cpp DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++install(FILES ${INCLUDES} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/spine) +\ No newline at end of file +diff --git a/spine-sfml/c/CMakeLists.txt b/spine-sfml/c/CMakeLists.txt +index 68dcc75..2ccfb2d 100644 +--- a/spine-sfml/c/CMakeLists.txt ++++ b/spine-sfml/c/CMakeLists.txt +@@ -48,8 +48,9 @@ file(GLOB INCLUDES "src/**/*.h") + file(GLOB SOURCES "src/**/*.cpp") + add_library(spine-sfml STATIC ${SOURCES} ${INCLUDES}) + target_link_libraries(spine-sfml LINK_PUBLIC spine-c) +-install(TARGETS spine-sfml DESTINATION dist/lib) +-install(FILES ${INCLUDES} DESTINATION dist/include) ++install(TARGETS spine-sfml DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++install(FILES ${INCLUDES} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/spine) ++return() + + # Define spine-sfml example executable + add_executable(spine-sfml-example example/main.cpp) +diff --git a/spine-sfml/cpp/CMakeLists.txt b/spine-sfml/cpp/CMakeLists.txt +index 903d0f7..bbcbb97 100644 +--- a/spine-sfml/cpp/CMakeLists.txt ++++ b/spine-sfml/cpp/CMakeLists.txt +@@ -57,8 +57,9 @@ file(GLOB INCLUDES "src/**/*.h") + file(GLOB SOURCES "src/**/*.cpp") + add_library(spine-sfml-cpp STATIC ${SOURCES} ${INCLUDES}) + target_link_libraries(spine-sfml-cpp LINK_PUBLIC spine-cpp) +-install(TARGETS spine-sfml-cpp DESTINATION dist/lib) +-install(FILES ${INCLUDES} DESTINATION dist/include) ++install(TARGETS spine-sfml-cpp DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++install(FILES ${INCLUDES} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/spine) ++return() + + # Define spine-sfml example executable + add_executable(spine-sfml-cpp-example example/main.cpp) +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1aeb5fc..0a9ffb7 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -11,8 +11,6 @@ if(MSVC) + set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") + set (CMAKE_C_FLAGS "${CMAKE_CXX_FLAGS}") + else() +- set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wunused-value -Wno-c++11-long-long -Wno-variadic-macros -Werror -Wextra -pedantic -Wnonportable-include-path -Wshadow -std=c89") +- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wunused-value -Wno-c++11-long-long -Wno-variadic-macros -Werror -Wextra -Wnon-virtual-dtor -pedantic -Wnonportable-include-path -Wshadow -std=c++11 -fno-exceptions -fno-rtti") + + if (${SPINE_SANITIZE}) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=address -fsanitize=undefined") diff --git a/ports/spine-runtimes/portfile.cmake b/ports/spine-runtimes/portfile.cmake new file mode 100644 index 00000000000000..fc796c71d1bf95 --- /dev/null +++ b/ports/spine-runtimes/portfile.cmake @@ -0,0 +1,25 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) # the project doesn't support SHARED + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO EsotericSoftware/spine-runtimes + REF 4.1.00 + SHA512 40a352a1f5e9939802667f330c9de2f0b03bf63834d1c20514a6cecb35c1a9915fb13588ee92cbaba9effbd2205c25851cca58d2ec7f90ce9b974252bd168425 + HEAD_REF 4.1 + PATCHES + fix-cmake.patch +) + +vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}") +vcpkg_cmake_build(TARGET spine-c LOGFILE_BASE build-c) +vcpkg_cmake_build(TARGET spine-cpp LOGFILE_BASE build-cpp) +vcpkg_cmake_install() + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/debug/bin" + "${CURRENT_PACKAGES_DIR}/bin" +) + +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/spine-runtimes/vcpkg.json b/ports/spine-runtimes/vcpkg.json new file mode 100644 index 00000000000000..465f6a48a150a4 --- /dev/null +++ b/ports/spine-runtimes/vcpkg.json @@ -0,0 +1,13 @@ +{ + "name": "spine-runtimes", + "version": "4.1.0", + "description": "2D skeletal animation runtimes for Spine", + "homepage": "https://github.com/EsotericSoftware/spine-runtimes", + "license": null, + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] +} diff --git a/ports/spirit-po/vcpkg.json b/ports/spirit-po/vcpkg.json index e088d9ebc5ad4b..0c28073acec1fd 100644 --- a/ports/spirit-po/vcpkg.json +++ b/ports/spirit-po/vcpkg.json @@ -1,10 +1,13 @@ { "name": "spirit-po", - "version-string": "1.1.2", - "port-version": 2, + "version": "1.1.2", + "port-version": 4, "description": "A header-only C++ library for localization using GNU gettext po files, based on Boost.Spirit.", "homepage": "https://github.com/cbeck88/spirit-po", "dependencies": [ - "boost" + "boost-fusion", + "boost-optional", + "boost-spirit", + "boost-variant" ] } diff --git a/ports/spirv-cross/portfile.cmake b/ports/spirv-cross/portfile.cmake index 951ba39cdd0c00..14c29cd78b8ec3 100644 --- a/ports/spirv-cross/portfile.cmake +++ b/ports/spirv-cross/portfile.cmake @@ -3,41 +3,41 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KhronosGroup/SPIRV-Cross - REF 2021-01-15 - SHA512 f934ef61602223f6fe6d9c826ed5beb129beb7a30b18b389625d4fc0b1efa1b8df930a2a2d2a0b4f377ef2899e8e034239819a4c6629a78c666f72004464da93 + REF vulkan-sdk-${VERSION} + SHA512 943453df60744fe32123df7e366b27d30d57947b22bf7c087090e70f398305b37a47826abc60cdf912f0240c4ff3190e9d0f03d1d4e85f73c13b8a6196611640 HEAD_REF master ) if(VCPKG_TARGET_IS_IOS) - message(STATUS "Using iOS trplet. Executables won't be created...") + message(STATUS "Using iOS triplet. Executables won't be created...") set(BUILD_CLI OFF) else() set(BUILD_CLI ON) endif() -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DSPIRV_CROSS_EXCEPTIONS_TO_ASSERTIONS=OFF -DSPIRV_CROSS_CLI=${BUILD_CLI} -DSPIRV_CROSS_SKIP_INSTALL=OFF -DSPIRV_CROSS_ENABLE_C_API=ON ) - -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() foreach(COMPONENT core c cpp glsl hlsl msl reflect util) - vcpkg_fixup_cmake_targets(CONFIG_PATH share/spirv_cross_${COMPONENT}/cmake TARGET_PATH share/spirv_cross_${COMPONENT}) + vcpkg_cmake_config_fixup(CONFIG_PATH share/spirv_cross_${COMPONENT}/cmake PACKAGE_NAME spirv_cross_${COMPONENT}) endforeach() -vcpkg_copy_tools( - TOOL_NAMES spirv-cross - AUTO_CLEAN -) +if(BUILD_CLI) + vcpkg_copy_tools(TOOL_NAMES spirv-cross AUTO_CLEAN) +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" + "${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/spirv-cross/vcpkg.json b/ports/spirv-cross/vcpkg.json index 88b4a65f183e4e..66d4afb8a0a358 100644 --- a/ports/spirv-cross/vcpkg.json +++ b/ports/spirv-cross/vcpkg.json @@ -1,10 +1,17 @@ { "name": "spirv-cross", - "version-date": "2021-01-15", - "port-version": 1, + "version": "1.3.296.0", "description": "SPIRV-Cross is a practical tool and library for performing reflection on SPIR-V and disassembling SPIR-V back to high level languages.", "homepage": "https://github.com/KhronosGroup/SPIRV-Cross", "dependencies": [ - "spirv-headers" + "spirv-headers", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/spirv-headers/portfile.cmake b/ports/spirv-headers/portfile.cmake index 2256792e987453..1b67110b3ea1c1 100644 --- a/ports/spirv-headers/portfile.cmake +++ b/ports/spirv-headers/portfile.cmake @@ -2,13 +2,19 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KhronosGroup/SPIRV-Headers - REF bcf55210f13a4fa3c3d0963b509ff1070e434c79 - SHA512 d0553b95f28b77209862059cd0a8c15ca3340f33e13d9bb75340ced07a5aa07b8b9eaa1bdc42daa0dbf78679c3b1ef3d344c73b17518061249cdc67000568c37 + REF "vulkan-sdk-${VERSION}" + SHA512 b4f975d3051eda41ef5c3a6efc832607a165adfd6f43d7af171d2c0446b227bdcb5de0017a081fa9e7a3d2710ba8583fadbc06c0a364043b2778b02818d01040 HEAD_REF master ) -# This must be spirv as other spirv packages expect it there. -file(COPY "${SOURCE_PATH}/include/spirv/" DESTINATION "${CURRENT_PACKAGES_DIR}/include/spirv") +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" +) +vcpkg_cmake_install() +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") + +vcpkg_fixup_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/spirv-headers/vcpkg.json b/ports/spirv-headers/vcpkg.json index 53093e4ffa49fc..e68b2d564df583 100644 --- a/ports/spirv-headers/vcpkg.json +++ b/ports/spirv-headers/vcpkg.json @@ -1,6 +1,16 @@ { "name": "spirv-headers", - "version-date": "2021-03-25", + "version": "1.3.296.0", "description": "Machine-readable files for the SPIR-V Registry", - "homepage": "https://github.com/KhronosGroup/SPIRV-Headers" + "homepage": "https://github.com/KhronosGroup/SPIRV-Headers", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/spirv-reflect/export-targets.patch b/ports/spirv-reflect/export-targets.patch new file mode 100644 index 00000000000000..82a9fe7978c9c6 --- /dev/null +++ b/ports/spirv-reflect/export-targets.patch @@ -0,0 +1,30 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 040c818..0e1476c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -111,10 +111,20 @@ if(SPIRV_REFLECT_STATIC_LIB) + add_library(spirv-reflect-static STATIC ${CMAKE_CURRENT_SOURCE_DIR}/spirv_reflect.h + ${CMAKE_CURRENT_SOURCE_DIR}/spirv_reflect.c) + +- target_include_directories(spirv-reflect-static +- PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) +- install(TARGETS spirv-reflect-static +- LIBRARY DESTINATION lib +- ARCHIVE DESTINATION lib) ++ target_include_directories(spirv-reflect-static INTERFACE $) ++ ++ set_target_properties(spirv-reflect-static PROPERTIES EXPORT_NAME spirv-reflect) ++ ++ install(TARGETS spirv-reflect-static ++ EXPORT unofficial-spirv-reflect-config ++ LIBRARY DESTINATION lib) ++ ++ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/spirv/unified1/spirv.h DESTINATION include/spirv-reflect) ++ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/spirv_reflect.h DESTINATION include/spirv-reflect) ++ ++ install(EXPORT unofficial-spirv-reflect-config ++ FILE unofficial-spirv-reflect-config.cmake ++ NAMESPACE unofficial:: ++ DESTINATION share/unofficial-spirv-reflect) + endif() + diff --git a/ports/spirv-reflect/portfile.cmake b/ports/spirv-reflect/portfile.cmake new file mode 100644 index 00000000000000..dbeeb2c92cb333 --- /dev/null +++ b/ports/spirv-reflect/portfile.cmake @@ -0,0 +1,32 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO KhronosGroup/SPIRV-Reflect + REF "vulkan-sdk-${VERSION}" + SHA512 770d46172fed140816dcecc3155bce62ce319f5cbe99bb58e81994e07aed14ebc8f65675c6e47dde2148e2706603ba470f364ab41bcbfbc05c69e25be7c5a898 + HEAD_REF main + PATCHES + export-targets.patch +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DSPIRV_REFLECT_STATIC_LIB=ON + -DSPIRV_REFLECT_EXAMPLES=OFF + -DSPIRV_REFLECT_BUILD_TESTS=OFF +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-spirv-reflect) + +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/spirv-reflect/spirv_reflect.h" "./include/spirv/unified1/spirv.h" "spirv.h") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") + +vcpkg_copy_tools(TOOL_NAMES spirv-reflect-pp spirv-reflect AUTO_CLEAN) diff --git a/ports/spirv-reflect/vcpkg.json b/ports/spirv-reflect/vcpkg.json new file mode 100644 index 00000000000000..79c278e05b4a6f --- /dev/null +++ b/ports/spirv-reflect/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "spirv-reflect", + "version": "1.3.296.0", + "description": "SPIRV-Reflect is a lightweight library that provides a C/C++ reflection API for SPIR-V shader bytecode in Vulkan applications.", + "homepage": "https://github.com/KhronosGroup/SPIRV-Reflect", + "license": "Apache-2.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/spirv-tools/0001-don-t-use-MP4.patch b/ports/spirv-tools/0001-don-t-use-MP4.patch deleted file mode 100644 index 0203129be1b3f0..00000000000000 --- a/ports/spirv-tools/0001-don-t-use-MP4.patch +++ /dev/null @@ -1,58 +0,0 @@ -diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt -index 8247f6f..e28f6ee 100644 ---- a/source/CMakeLists.txt -+++ b/source/CMakeLists.txt -@@ -420,7 +420,3 @@ if(ENABLE_SPIRV_TOOLS_INSTALL) - install(FILES ${CMAKE_BINARY_DIR}/${SPIRV_TOOLS}Config.cmake DESTINATION ${PACKAGE_DIR}) - endif(ENABLE_SPIRV_TOOLS_INSTALL) - --if(MSVC AND (NOT ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang"))) -- # Enable parallel builds across four cores for this lib -- add_definitions(/MP4) --endif() -diff --git a/source/fuzz/CMakeLists.txt b/source/fuzz/CMakeLists.txt -index 804fcf0..4915f07 100644 ---- a/source/fuzz/CMakeLists.txt -+++ b/source/fuzz/CMakeLists.txt -@@ -419,10 +419,6 @@ if(SPIRV_BUILD_FUZZER) - ${CMAKE_CURRENT_BINARY_DIR}/protobufs/spvtoolsfuzz.pb.cc - ) - -- if(MSVC AND (NOT ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang"))) -- # Enable parallel builds across four cores for this lib -- add_definitions(/MP4) -- endif() - - spvtools_pch(SPIRV_TOOLS_FUZZ_SOURCES pch_source_fuzz) - -diff --git a/source/opt/CMakeLists.txt b/source/opt/CMakeLists.txt -index 88d5658..e3faab7 100644 ---- a/source/opt/CMakeLists.txt -+++ b/source/opt/CMakeLists.txt -@@ -218,11 +218,6 @@ set(SPIRV_TOOLS_OPT_SOURCES - wrap_opkill.cpp - ) - --if(MSVC AND (NOT ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang"))) -- # Enable parallel builds across four cores for this lib -- add_definitions(/MP4) --endif() -- - spvtools_pch(SPIRV_TOOLS_OPT_SOURCES pch_source_opt) - - add_library(SPIRV-Tools-opt ${SPIRV_TOOLS_LIBRARY_TYPE} ${SPIRV_TOOLS_OPT_SOURCES}) -diff --git a/source/reduce/CMakeLists.txt b/source/reduce/CMakeLists.txt -index e589ad5..b93a37b 100644 ---- a/source/reduce/CMakeLists.txt -+++ b/source/reduce/CMakeLists.txt -@@ -71,10 +71,6 @@ set(SPIRV_TOOLS_REDUCE_SOURCES - simple_conditional_branch_to_branch_reduction_opportunity.cpp - ) - --if(MSVC AND (NOT ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang"))) -- # Enable parallel builds across four cores for this lib -- add_definitions(/MP4) --endif() - - spvtools_pch(SPIRV_TOOLS_REDUCE_SOURCES pch_source_reduce) - diff --git a/ports/spirv-tools/cmake-config-dir.diff b/ports/spirv-tools/cmake-config-dir.diff new file mode 100644 index 00000000000000..65a9e399b4da1d --- /dev/null +++ b/ports/spirv-tools/cmake-config-dir.diff @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 75830b44..367fe889 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -270,7 +270,7 @@ else() + endif() + + if(ENABLE_SPIRV_TOOLS_INSTALL) +- if(WIN32 AND NOT MINGW) ++ if(0) + macro(spvtools_config_package_dir TARGET PATH) + set(${PATH} ${TARGET}/cmake) + endmacro() diff --git a/ports/spirv-tools/cmake-install.patch b/ports/spirv-tools/cmake-install.patch deleted file mode 100644 index ef21cb8f0ca3c1..00000000000000 --- a/ports/spirv-tools/cmake-install.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 6ed56a8..66d1e66 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -210,15 +210,9 @@ else() - endif() - - if(ENABLE_SPIRV_TOOLS_INSTALL) -- if(WIN32) -- macro(spvtools_config_package_dir TARGET PATH) -- set(${PATH} ${TARGET}/cmake) -- endmacro() -- else() -- macro(spvtools_config_package_dir TARGET PATH) -- set(${PATH} ${CMAKE_INSTALL_LIBDIR}/cmake/${TARGET}) -- endmacro() -- endif() -+ macro(spvtools_config_package_dir TARGET PATH) -+ set(${PATH} ${CMAKE_INSTALL_DATADIR}/${TARGET}) -+ endmacro() - - macro(spvtools_generate_config_file TARGET) - file(WRITE ${CMAKE_BINARY_DIR}/${TARGET}Config.cmake diff --git a/ports/spirv-tools/fix-tool-deps.diff b/ports/spirv-tools/fix-tool-deps.diff new file mode 100644 index 00000000000000..e842277a4a1fcb --- /dev/null +++ b/ports/spirv-tools/fix-tool-deps.diff @@ -0,0 +1,18 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 75830b44..9c9e7ba8 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -281,8 +281,13 @@ if(ENABLE_SPIRV_TOOLS_INSTALL) + endif() + + macro(spvtools_generate_config_file TARGET) ++ set(sgcf_find_extra "") ++ if(NOT "${TARGET}" STREQUAL "SPIRV-Tools-opt") ++ set(sgcf_find_extra "find_dependency(SPIRV-Tools-opt)\n") ++ endif() + file(WRITE ${CMAKE_BINARY_DIR}/${TARGET}Config.cmake + "include(CMakeFindDependencyMacro)\n" ++ ${sgcf_find_extra} + "find_dependency(${SPIRV_TOOLS})\n" + "include(\${CMAKE_CURRENT_LIST_DIR}/${TARGET}Targets.cmake)\n" + "set(${TARGET}_LIBRARIES ${TARGET})\n" diff --git a/ports/spirv-tools/install-config-typo.patch b/ports/spirv-tools/install-config-typo.patch deleted file mode 100644 index c356f4b52ba868..00000000000000 --- a/ports/spirv-tools/install-config-typo.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/source/reduce/CMakeLists.txt b/source/reduce/CMakeLists.txt -index 51e9b1d..90b1cb7 100644 ---- a/source/reduce/CMakeLists.txt -+++ b/source/reduce/CMakeLists.txt -@@ -96,10 +96,10 @@ if(ENABLE_SPIRV_TOOLS_INSTALL) - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) -- export(EXPORT SPIRV-Tools-reduceTargets FILE SPIRV-Tools-reduceTarget.cmake) -+ export(EXPORT SPIRV-Tools-reduceTargets FILE SPIRV-Tools-reduceTargets.cmake) - - spvtools_config_package_dir(SPIRV-Tools-reduce PACKAGE_DIR) -- install(EXPORT SPIRV-Tools-reduceTargets FILE SPIRV-Tools-reduceTarget.cmake -+ install(EXPORT SPIRV-Tools-reduceTargets FILE SPIRV-Tools-reduceTargets.cmake - DESTINATION ${PACKAGE_DIR}) - - spvtools_generate_config_file(SPIRV-Tools-reduce) diff --git a/ports/spirv-tools/portfile.cmake b/ports/spirv-tools/portfile.cmake index 670b70a468a921..27443376de3261 100644 --- a/ports/spirv-tools/portfile.cmake +++ b/ports/spirv-tools/portfile.cmake @@ -1,57 +1,59 @@ - -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KhronosGroup/SPIRV-Tools - REF v2021.1 - SHA512 e8478eacb86415f75a1e5b3f66a0508b01a9f7e9d8b070eb0329ca56be137f5543dd42125a1033cb8552c01f46e11affd7fda866231b3742c66de9b4341930d5 + REF "vulkan-sdk-${VERSION}" + SHA512 62f0a6034bd016aedfb8975bbd3bb134ef928bd6bafbb61d9f73c46760019597b9841b80243c86e5e5e0576824cd20255067e447590eb0d2d51593439152215e PATCHES - cmake-install.patch - install-config-typo.patch - 0001-don-t-use-MP4.patch + cmake-config-dir.diff + spirv-tools-shared.diff + fix-tool-deps.diff ) vcpkg_find_acquire_program(PYTHON3) get_filename_component(PYTHON3_DIR "${PYTHON3}" DIRECTORY) vcpkg_add_to_path("${PYTHON3_DIR}") -if(VCPKG_TARGET_IS_IOS) - message(STATUS "Using iOS trplet. Executables won't be created...") - set(TOOLS_INSTALL OFF) - set(SKIP_EXECUTABLES ON) -else() - set(TOOLS_INSTALL ON) - set(SKIP_EXECUTABLES OFF) -endif() +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + INVERTED_FEATURES + tools SPIRV_SKIP_EXECUTABLES +) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DSPIRV-Headers_SOURCE_DIR=${CURRENT_INSTALLED_DIR} - -DSPIRV_WERROR=OFF - -DSPIRV_SKIP_EXECUTABLES=${SKIP_EXECUTABLES} # option SPIRV_SKIP_TESTS follows this value - -DENABLE_SPIRV_TOOLS_INSTALL=${TOOLS_INSTALL} + ${FEATURE_OPTIONS} + "-DSPIRV-Headers_SOURCE_DIR=${CURRENT_INSTALLED_DIR}" + -DSPIRV_SKIP_TESTS=ON -DSPIRV_TOOLS_BUILD_STATIC=ON + -DSPIRV_WERROR=OFF + OPTIONS_DEBUG + -DSPIRV_SKIP_EXECUTABLES=ON ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/SPIRV-Tools TARGET_PATH share/SPIRV-Tools) # the directory name is capitalized as opposed to the package name -vcpkg_fixup_cmake_targets(CONFIG_PATH share/SPIRV-Tools-link TARGET_PATH share/SPIRV-Tools-link) -vcpkg_fixup_cmake_targets(CONFIG_PATH share/SPIRV-Tools-opt TARGET_PATH share/SPIRV-Tools-opt) -vcpkg_fixup_cmake_targets(CONFIG_PATH share/SPIRV-Tools-reduce TARGET_PATH share/SPIRV-Tools-reduce) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/SPIRV-Tools PACKAGE_NAME spirv-tools DO_NOT_DELETE_PARENT_CONFIG_PATH) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/SPIRV-Tools-link PACKAGE_NAME spirv-tools-link DO_NOT_DELETE_PARENT_CONFIG_PATH) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/SPIRV-Tools-lint PACKAGE_NAME spirv-tools-lint DO_NOT_DELETE_PARENT_CONFIG_PATH) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/SPIRV-Tools-opt PACKAGE_NAME spirv-tools-opt DO_NOT_DELETE_PARENT_CONFIG_PATH) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/SPIRV-Tools-reduce PACKAGE_NAME spirv-tools-reduce) # now delete vcpkg_fixup_pkgconfig() -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin") # only static linkage, i.e. no need to preserve .dll/.so files -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -file(REMOVE "${CURRENT_PACKAGES_DIR}/bin/SPIRV-Tools-shared.dll") -file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/libSPIRV-Tools-shared.so") -file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/lib/libSPIRV-Tools-shared.so") -if(TOOLS_INSTALL) - file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools") - file(RENAME "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/tools/${PORT}") +if("tools" IN_LIST FEATURES) + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/${PORT}") + file(RENAME "${CURRENT_PACKAGES_DIR}/bin/spirv-lesspipe.sh" "${CURRENT_PACKAGES_DIR}/tools/${PORT}/spirv-lesspipe.sh") + file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/bin/spirv-lesspipe.sh") + set(tools spirv-as spirv-cfg spirv-dis spirv-link spirv-lint spirv-opt spirv-val) + if(NOT VCPKG_TARGET_IS_IOS) + list(APPEND tools spirv-reduce) + endif() + vcpkg_copy_tools(TOOL_NAMES ${tools} AUTO_CLEAN) endif() -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" +) + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/spirv-tools/spirv-tools-shared.diff b/ports/spirv-tools/spirv-tools-shared.diff new file mode 100644 index 00000000000000..e2bf13cae976ab --- /dev/null +++ b/ports/spirv-tools/spirv-tools-shared.diff @@ -0,0 +1,35 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 75830b44..39cc039e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -390,10 +390,14 @@ add_custom_target(spirv-tools-shared-pkg-config ALL + + # Install pkg-config file + if (ENABLE_SPIRV_TOOLS_INSTALL) ++ set(shared_pc "") ++ if(BUILD_SHARED_LIBS) ++ set(shared_pc "${CMAKE_CURRENT_BINARY_DIR}/SPIRV-Tools-shared.pc") ++ endif() + install( + FILES + ${CMAKE_CURRENT_BINARY_DIR}/SPIRV-Tools.pc +- ${CMAKE_CURRENT_BINARY_DIR}/SPIRV-Tools-shared.pc ++ ${shared_pc} + DESTINATION + ${CMAKE_INSTALL_LIBDIR}/pkgconfig) + endif() +diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt +index acfa0c12..b3286db3 100644 +--- a/source/CMakeLists.txt ++++ b/source/CMakeLists.txt +@@ -425,6 +425,10 @@ if (ANDROID) + endif() + + if(ENABLE_SPIRV_TOOLS_INSTALL) ++ if(NOT BUILD_SHARED_LIBS) ++ set_target_properties(${SPIRV_TOOLS}-shared PROPERTIES EXCLUDE_FROM_ALL 1) ++ list(REMOVE_ITEM SPIRV_TOOLS_TARGETS ${SPIRV_TOOLS}-shared) ++ endif() + install(TARGETS ${SPIRV_TOOLS_TARGETS} EXPORT ${SPIRV_TOOLS}Targets) + export(EXPORT ${SPIRV_TOOLS}Targets FILE ${SPIRV_TOOLS}Target.cmake) + diff --git a/ports/spirv-tools/usage b/ports/spirv-tools/usage new file mode 100644 index 00000000000000..1890e6de9abdd3 --- /dev/null +++ b/ports/spirv-tools/usage @@ -0,0 +1,22 @@ +spirv-tools provides CMake targets: + + find_package(SPIRV-Tools CONFIG REQUIRED) + # The static libary is always available. + # It offers full public symbol visibility. + target_link_libraries(main PRIVATE SPIRV-Tools-static) + # In triplets with dynamic library linkage, there is also a shared libary. + target_link_libraries(main PRIVATE SPIRV-Tools-shared) + + # The following libraries are static and depend on SPIRV-Tools-static. + + find_package(SPIRV-Tools-link CONFIG REQUIRED) + target_link_libraries(main PRIVATE SPIRV-Tools-link) + + find_package(SPIRV-Tools-lint CONFIG REQUIRED) + target_link_libraries(main PRIVATE SPIRV-Tools-lint) + + find_package(SPIRV-Tools-opt CONFIG REQUIRED) + target_link_libraries(main PRIVATE SPIRV-Tools-opt) + + find_package(SPIRV-Tools-reduce CONFIG REQUIRED) + target_link_libraries(main PRIVATE SPIRV-Tools-reduce) diff --git a/ports/spirv-tools/vcpkg.json b/ports/spirv-tools/vcpkg.json index bbd48de51ae83e..55a05633385fc7 100644 --- a/ports/spirv-tools/vcpkg.json +++ b/ports/spirv-tools/vcpkg.json @@ -1,9 +1,23 @@ { "name": "spirv-tools", - "version-string": "2021.1", + "version": "1.3.296.0", "description": "API and commands for processing SPIR-V modules", "homepage": "https://github.com/KhronosGroup/SPIRV-Tools", + "license": "Apache-2.0", "dependencies": [ - "spirv-headers" - ] + "spirv-headers", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "tools": { + "description": "Build tools." + } + } } diff --git a/ports/spix/portfile.cmake b/ports/spix/portfile.cmake deleted file mode 100644 index 91512aa78b4e52..00000000000000 --- a/ports/spix/portfile.cmake +++ /dev/null @@ -1,25 +0,0 @@ -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO faaxm/spix - REF v0.3 - SHA512 be5695e1e061583645a711c91f218c2038ed66896932d9f32129242d20d0a451a032d53aee2fdb917f1423de96ebcba97887421636a13260a7e7c228a13666c0 - HEAD_REF master -) - -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" ANYRPC_LIB_BUILD_SHARED) - -vcpkg_cmake_configure( - SOURCE_PATH "${SOURCE_PATH}" - OPTIONS - -DSPIX_BUILD_EXAMPLES=OFF - -DSPIX_BUILD_TESTS=OFF -) - -vcpkg_cmake_install() - -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_copy_pdbs() diff --git a/ports/spix/vcpkg.json b/ports/spix/vcpkg.json deleted file mode 100644 index e2e1e5c48de4c9..00000000000000 --- a/ports/spix/vcpkg.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "spix", - "version": "0.3", - "description": "A minimally invasive UI testing library that enables your Qt/QML app's UI to be controlled either via c++ code, or through an http RPC interface.", - "homepage": "https://github.com/faaxm/spix", - "dependencies": [ - "anyrpc", - { - "name": "qt5-base", - "default-features": false - }, - "qt5-declarative", - { - "name": "vcpkg-cmake", - "host": true - } - ] -} diff --git a/ports/spout2/fix-dx-keyed.patch b/ports/spout2/fix-dx-keyed.patch new file mode 100644 index 00000000000000..08049a967a0d9e --- /dev/null +++ b/ports/spout2/fix-dx-keyed.patch @@ -0,0 +1,18 @@ +Subject: [PATCH] fix dx keyed +--- +Index: SPOUTSDK/SpoutDirectX/SpoutDX/SpoutDX.cpp +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/SPOUTSDK/SpoutDirectX/SpoutDX/SpoutDX.cpp b/SPOUTSDK/SpoutDirectX/SpoutDX/SpoutDX.cpp +--- a/SPOUTSDK/SpoutDirectX/SpoutDX/SpoutDX.cpp (revision e16402c39ed2389692876d7bbd1c7d4a771a5b86) ++++ b/SPOUTSDK/SpoutDirectX/SpoutDX/SpoutDX.cpp (revision f3ba250699b87c8004a3430d6b00f3f537af0c0d) +@@ -193,6 +193,7 @@ + m_bSwapRB = false; + m_bAdapt = false; // Receiver switch to the sender's graphics adapter + m_bMemoryShare = GetMemoryShareMode(); // 2.006 memoryshare mode ++ m_bKeyed = false; + + ZeroMemory(&m_SenderInfo, sizeof(SharedTextureInfo)); + ZeroMemory(&m_ShExecInfo, sizeof(m_ShExecInfo)); diff --git a/ports/spout2/fix-include-path.patch b/ports/spout2/fix-include-path.patch new file mode 100644 index 00000000000000..498eab321c4b06 --- /dev/null +++ b/ports/spout2/fix-include-path.patch @@ -0,0 +1,48 @@ +Subject: [PATCH] fixup for vcpkg +--- +Index: SPOUTSDK/SpoutDirectX/SpoutDX/CMakeLists.txt +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/SPOUTSDK/SpoutDirectX/SpoutDX/CMakeLists.txt b/SPOUTSDK/SpoutDirectX/SpoutDX/CMakeLists.txt +--- a/SPOUTSDK/SpoutDirectX/SpoutDX/CMakeLists.txt (revision 62362774c96547d63b502d7efd5cfbf138eb7570) ++++ b/SPOUTSDK/SpoutDirectX/SpoutDX/CMakeLists.txt (revision e16402c39ed2389692876d7bbd1c7d4a771a5b86) +@@ -67,6 +67,10 @@ + SPOUT_BUILD_DLL + SPOUTLIBRARY_EXPORTS + ) ++ ++ ++target_include_directories(SpoutDX_static PRIVATE ../../) ++target_include_directories(SpoutDX PRIVATE ../../) + #/-------------------------------------- . -----------------------------------\# + + +Index: SPOUTSDK/SpoutDirectX/SpoutDX/SpoutDX.h +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/SPOUTSDK/SpoutDirectX/SpoutDX/SpoutDX.h b/SPOUTSDK/SpoutDirectX/SpoutDX/SpoutDX.h +--- a/SPOUTSDK/SpoutDirectX/SpoutDX/SpoutDX.h (revision 62362774c96547d63b502d7efd5cfbf138eb7570) ++++ b/SPOUTSDK/SpoutDirectX/SpoutDX/SpoutDX.h (revision e16402c39ed2389692876d7bbd1c7d4a771a5b86) +@@ -33,12 +33,12 @@ + #define __spoutDX__ + + // Change the path as required +-#include "..\..\SpoutGL\SpoutCommon.h" // for dll build +-#include "..\..\SpoutGL\SpoutSenderNames.h" // for sender creation and update +-#include "..\..\SpoutGL\SpoutDirectX.h" // for creating DX11 textures +-#include "..\..\SpoutGL\SpoutFrameCount.h" // for mutex lock and new frame signal +-#include "..\..\SpoutGL\SpoutCopy.h" // for pixel copy +-#include "..\..\SpoutGL\SpoutUtils.h" // Registry utiities ++#include "SpoutGL\SpoutCommon.h" // for dll build ++#include "SpoutGL\SpoutSenderNames.h" // for sender creation and update ++#include "SpoutGL\SpoutDirectX.h" // for creating DX11 textures ++#include "SpoutGL\SpoutFrameCount.h" // for mutex lock and new frame signal ++#include "SpoutGL\SpoutCopy.h" // for pixel copy ++#include "SpoutGL\SpoutUtils.h" // Registry utiities + + #include // for _getcwd + #include // for PROCESSENTRY32 diff --git a/ports/spout2/portfile.cmake b/ports/spout2/portfile.cmake new file mode 100644 index 00000000000000..e9b0ad830c6ce1 --- /dev/null +++ b/ports/spout2/portfile.cmake @@ -0,0 +1,48 @@ +# vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY ONLY_DYNAMIC_CRT) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO leadedge/Spout2 + REF 62362774c96547d63b502d7efd5cfbf138eb7570 #v2.007.010 + SHA512 89d0dcec719c068e27c2f55605e4b45b32fe3a5e097c821b0aa45f4ee9284e63830bd741ac7bb1bff917190d9a51daa36b452580fc673c05767b7bfcbc9a494f + HEAD_REF master + PATCHES + fix-include-path.patch + fix-dx-keyed.patch +) + +if(VCPKG_CRT_LINKAGE STREQUAL "static") + list(APPEND OPTIONS -DSPOUT_BUILD_CMT=ON) +else() + list(APPEND OPTIONS -DSPOUT_BUILD_CMT=OFF) +endif() + +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + dx SPOUT_BUILD_SPOUTDX +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DSKIP_INSTALL_ALL=OFF + ${FEATURE_OPTIONS} + ${OPTIONS} +) + +vcpkg_cmake_install() +vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) + +# Handle copyright & usage +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") + +# remove unneeded files +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() diff --git a/ports/spout2/usage b/ports/spout2/usage new file mode 100644 index 00000000000000..4f727e01b2f07a --- /dev/null +++ b/ports/spout2/usage @@ -0,0 +1,13 @@ +spout2 provides CMake targets: + + # SpoutGL + find_package(Spout2 CONFIG REQUIRED) + target_link_libraries(main PRIVATE Spout2::Spout) + target_link_libraries(main PRIVATE Spout2::Spout_static) + + # SpoutLibrary + target_link_libraries(main PRIVATE Spout2::SpoutLibrary) + + # SpoutDX + target_link_libraries(main PRIVATE Spout2::SpoutDX) + target_link_libraries(main PRIVATE Spout2::SpoutDX_static) diff --git a/ports/spout2/vcpkg.json b/ports/spout2/vcpkg.json new file mode 100644 index 00000000000000..f43102f01fcb19 --- /dev/null +++ b/ports/spout2/vcpkg.json @@ -0,0 +1,23 @@ +{ + "name": "spout2", + "version-string": "2.007.010", + "description": "Spout is a video frame sharing system for Microsoft Windows, which allows applications to share OpenGL textures in a similar way to Syphon for the Mac.", + "homepage": "https://github.com/leadedge/Spout2", + "supports": "windows & !uwp & !arm64", + "dependencies": [ + "opengl", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "dx": { + "description": "A sub-set of the Spout SDK for applications using DirectX rather than OpenGL." + } + } +} diff --git a/ports/sprout/vcpkg.json b/ports/sprout/vcpkg.json index 22bab62af4b35c..ea8a92c10b17a5 100644 --- a/ports/sprout/vcpkg.json +++ b/ports/sprout/vcpkg.json @@ -1,7 +1,7 @@ { "name": "sprout", - "version-string": "2019-06-20", - "port-version": 1, + "version-date": "2019-06-20", + "port-version": 2, "description": "C++11/14 constexpr based Containers, Algorithms, Random numbers, Parsing, Ray tracing, Synthesizer, and others", "homepage": "https://github.com/bolero-MURAKAMI/Sprout", "dependencies": [ diff --git a/ports/spscqueue/portfile.cmake b/ports/spscqueue/portfile.cmake index e1650e852a166e..cd808db4e89cad 100644 --- a/ports/spscqueue/portfile.cmake +++ b/ports/spscqueue/portfile.cmake @@ -6,17 +6,16 @@ vcpkg_from_github( HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/SPSCQueue) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/SPSCQueue) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") # Handle copyright -configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) +configure_file("${SOURCE_PATH}/LICENSE" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) diff --git a/ports/spscqueue/vcpkg.json b/ports/spscqueue/vcpkg.json index 9ed6879f330b4e..162a8f81c12bde 100644 --- a/ports/spscqueue/vcpkg.json +++ b/ports/spscqueue/vcpkg.json @@ -1,7 +1,17 @@ { "name": "spscqueue", - "version-string": "1.1", - "port-version": 1, + "version": "1.1", + "port-version": 3, "description": "A bounded single-producer single-consumer wait-free and lock-free queue written in C++11", - "homepage": "https://github.com/rigtorp/SPSCQueue" + "homepage": "https://github.com/rigtorp/SPSCQueue", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/sqlcipher/CMakeLists.txt b/ports/sqlcipher/CMakeLists.txt index 0a505139bfc171..9c141dd2642a2d 100644 --- a/ports/sqlcipher/CMakeLists.txt +++ b/ports/sqlcipher/CMakeLists.txt @@ -37,11 +37,19 @@ if(WITH_JSON1) add_compile_definitions(SQLITE_ENABLE_JSON1) endif() + +if(WITH_FTS5) + add_compile_definitions(SQLITE_ENABLE_FTS5) +endif() + target_include_directories(sqlcipher INTERFACE $) if(NOT WIN32) find_package(Threads REQUIRED) target_link_libraries(sqlcipher PRIVATE Threads::Threads ${CMAKE_DL_LIBS}) endif() +if (UNIX AND NOT APPLE) + target_link_libraries(sqlcipher PRIVATE m) +endif() target_link_libraries(sqlcipher PRIVATE ${OPENSSL_CRYPTO_LIBRARY}) @@ -59,6 +67,14 @@ if(NOT SQLITE3_SKIP_TOOLS) ) endif() +SET(prefix "${CMAKE_INSTALL_PREFIX}") +SET(exec_prefix "\${prefix}") +SET(libdir "\${exec_prefix}/${CMAKE_INSTALL_LIBDIR}") +SET(includedir "\${prefix}/include") +SET(PACKAGE_VERSION ${SQLCIPHER_VERSION}) +configure_file("${CMAKE_CURRENT_SOURCE_DIR}/sqlcipher.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/sqlcipher.pc" @ONLY) +install(FILES "${CMAKE_CURRENT_BINARY_DIR}/sqlcipher.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") + install( TARGETS sqlcipher EXPORT sqlcipher-targets diff --git a/ports/sqlcipher/portfile.cmake b/ports/sqlcipher/portfile.cmake index 02c27357c85609..f2131e32724f2d 100644 --- a/ports/sqlcipher/portfile.cmake +++ b/ports/sqlcipher/portfile.cmake @@ -1,12 +1,10 @@ vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) -vcpkg_fail_port_install( ON_TARGET "UWP" "OSX" "Linux") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO sqlcipher/sqlcipher - REF v4.4.3 - SHA512 d80177cf658c145f7328bafac14bc2779afa463fc94ef0a5e99b6654cf2eece3088ac296949130e7263f52948913ffeac253c47e33d91816e90caf1788301a9a + REF "v${VERSION}" + SHA512 023b2fc7248fe38b758ef93dd8436677ff0f5d08b1061e7eab0adb9e38ad92d523e0ab69016ee69bd35c1fd53c10f61e99b01f7a2987a1f1d492e1f7216a0a9c HEAD_REF master ) @@ -40,47 +38,48 @@ message(STATUS "Pre-building ${TARGET_TRIPLET}") vcpkg_execute_required_process( COMMAND ${NMAKE} -f Makefile.msc /A /NOLOGO clean tcl ${NMAKE_OPTIONS} - WORKING_DIRECTORY ${SOURCE_PATH} + WORKING_DIRECTORY "${SOURCE_PATH}" LOGNAME pre-build-${TARGET_TRIPLET} ) message(STATUS "Pre-building ${TARGET_TRIPLET} done") # The rest of the build process with the CMakeLists.txt is merely a copy of sqlite3 -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION "${SOURCE_PATH}") vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES - geopoly WITH_GEOPOLY - json1 WITH_JSON1 + geopoly WITH_GEOPOLY + json1 WITH_JSON1 + fts5 WITH_FTS5 INVERTED_FEATURES - tool SQLITE3_SKIP_TOOLS + tool SQLITE3_SKIP_TOOLS ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS ${FEATURE_OPTIONS} +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} -DSQLCIPHER_VERSION=${VERSION} OPTIONS_DEBUG -DSQLITE3_SKIP_TOOLS=ON ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/${PORT} TARGET_PATH share/${PORT}) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME ${PORT} CONFIG_PATH share/${PORT}) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -if(NOT SQLITE3_SKIP_TOOLS AND EXISTS ${CURRENT_PACKAGES_DIR}/tools/${PORT}/sqlcipher-bin${VCPKG_HOST_EXECUTABLE_SUFFIX}) - file(RENAME ${CURRENT_PACKAGES_DIR}/tools/${PORT}/sqlcipher-bin${VCPKG_HOST_EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/${PORT}/sqlcipher${VCPKG_HOST_EXECUTABLE_SUFFIX}) +if(NOT SQLITE3_SKIP_TOOLS AND EXISTS "${CURRENT_PACKAGES_DIR}/tools/${PORT}/sqlcipher-bin${VCPKG_HOST_EXECUTABLE_SUFFIX}") + file(RENAME "${CURRENT_PACKAGES_DIR}/tools/${PORT}/sqlcipher-bin${VCPKG_HOST_EXECUTABLE_SUFFIX}" "${CURRENT_PACKAGES_DIR}/tools/${PORT}/sqlcipher${VCPKG_HOST_EXECUTABLE_SUFFIX}") endif() configure_file( - ${CMAKE_CURRENT_LIST_DIR}/sqlcipher-config.in.cmake - ${CURRENT_PACKAGES_DIR}/share/${PORT}/sqlcipher-config.cmake + "${CMAKE_CURRENT_LIST_DIR}/sqlcipher-config.in.cmake" + "${CURRENT_PACKAGES_DIR}/share/${PORT}/sqlcipher-config.cmake" @ONLY ) -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) vcpkg_copy_pdbs() -vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT}) +vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/${PORT}") +vcpkg_fixup_pkgconfig() diff --git a/ports/sqlcipher/vcpkg.json b/ports/sqlcipher/vcpkg.json index ed3ff2876f44b5..dcb1e30e28027b 100644 --- a/ports/sqlcipher/vcpkg.json +++ b/ports/sqlcipher/vcpkg.json @@ -1,14 +1,26 @@ { "name": "sqlcipher", - "version": "4.4.3", + "version": "4.6.1", "description": "SQLCipher extends the SQLite database library to add security enhancements that make it more suitable for encrypted local data storage.", "homepage": "https://www.zetetic.net/sqlcipher", + "license": null, "supports": "windows & !uwp & !static", "dependencies": [ "openssl", - "tcl" + "tcl", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ], "features": { + "fts5": { + "description": "enable FTS5 functionality for sqlite3" + }, "geopoly": { "description": "enable geopoly functionality for sqlite3" }, diff --git a/ports/sqlite-modern-cpp/portfile.cmake b/ports/sqlite-modern-cpp/portfile.cmake index 5d4cad0406cf27..d51a1c551d19af 100644 --- a/ports/sqlite-modern-cpp/portfile.cmake +++ b/ports/sqlite-modern-cpp/portfile.cmake @@ -2,8 +2,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO SqliteModernCpp/sqlite_modern_cpp - REF 936cd0c86aacac87a3dab32906397944ae5f6c3d - SHA512 8ce1b7593fe77dcab297ab4cae0158b43d55b33c1823b2dc5bf22e5545d9781d675ba5ac82b81782f502b34d2335eee2c26167726746a61a0ad566b657d2faf0 + REF 6e3009973025e0016d5573529067714201338c80 + SHA512 a007c739e00b9bd51d19f3bc484709f9fc4637f0262b636b51ee95cbc7f3f7fe6551dcbf0990a0430ac12f276bb72d1e0a3b71f06ac6e6d19fb46d51066a4295 HEAD_REF master ) diff --git a/ports/sqlite-modern-cpp/vcpkg.json b/ports/sqlite-modern-cpp/vcpkg.json index 39dbdc1d1fbb73..dd550468d4d070 100644 --- a/ports/sqlite-modern-cpp/vcpkg.json +++ b/ports/sqlite-modern-cpp/vcpkg.json @@ -1,7 +1,6 @@ { "name": "sqlite-modern-cpp", - "version-string": "3.2-936cd0c8", - "port-version": 1, + "version-date": "2023-12-03", "description": "The C++14 wrapper around sqlite library", "homepage": "https://github.com/aminroosta/sqlite_modern_cpp", "dependencies": [ diff --git a/ports/sqlite-orm/fix-dependency.patch b/ports/sqlite-orm/fix-dependency.patch index 7372d67fe588f0..fac6ae28961899 100644 --- a/ports/sqlite-orm/fix-dependency.patch +++ b/ports/sqlite-orm/fix-dependency.patch @@ -1,5 +1,20 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a56294f29..d784c4d5f 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -44,8 +44,8 @@ set(SqliteOrm_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/include") + add_library(sqlite_orm INTERFACE) + add_library(sqlite_orm::sqlite_orm ALIAS sqlite_orm) + +-find_package(SQLite3 REQUIRED) +-target_link_libraries(sqlite_orm INTERFACE SQLite::SQLite3) ++find_package(unofficial-sqlite3 CONFIG REQUIRED) ++target_link_libraries(sqlite_orm INTERFACE unofficial::sqlite3::sqlite3) + + target_sources(sqlite_orm INTERFACE $) + diff --git a/cmake/SqliteOrmConfig.cmake.in b/cmake/SqliteOrmConfig.cmake.in -index e0635d2..30403cd 100644 +index e0635d28a..30403cd41 100644 --- a/cmake/SqliteOrmConfig.cmake.in +++ b/cmake/SqliteOrmConfig.cmake.in @@ -1,4 +1,4 @@ diff --git a/ports/sqlite-orm/fix-features-build-error.patch b/ports/sqlite-orm/fix-features-build-error.patch deleted file mode 100644 index ce34583d179b9c..00000000000000 --- a/ports/sqlite-orm/fix-features-build-error.patch +++ /dev/null @@ -1,50 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index dd86d2f..6696809 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -32,15 +32,14 @@ list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake") - include(CTest) - - ### Dependencies --add_subdirectory(dependencies) - - ### Main Build Targets - set(SqliteOrm_INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/include") - add_library(sqlite_orm INTERFACE) - add_library(sqlite_orm::sqlite_orm ALIAS sqlite_orm) - --find_package(SQLite3 REQUIRED) --target_link_libraries(sqlite_orm INTERFACE SQLite::SQLite3) -+find_package(unofficial-sqlite3 CONFIG REQUIRED) -+target_link_libraries(sqlite_orm INTERFACE unofficial::sqlite3::sqlite3) - - target_sources(sqlite_orm INTERFACE $) - -diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt -index 2857b65..3ee46e6 100644 ---- a/examples/CMakeLists.txt -+++ b/examples/CMakeLists.txt -@@ -4,5 +4,5 @@ file(GLOB files "*.cpp") - foreach(file ${files}) - get_filename_component(file_basename ${file} NAME_WE) - add_executable(${file_basename} ${file}) -- target_link_libraries(${file_basename} PRIVATE sqlite_orm sqlite3) -+ target_link_libraries(${file_basename} PRIVATE sqlite_orm) - endforeach() -diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt -index fd41e70..8087899 100644 ---- a/tests/CMakeLists.txt -+++ b/tests/CMakeLists.txt -@@ -7,9 +7,11 @@ option(SqliteOrm_SysSqlite "Use system version of sqlite library" OFF) - if(SqliteOrm_SysSqlite) - message(FATAL_ERROR "WIP: please, disable the SqliteOrm_SysSqlite option.") - else() -- add_subdirectory(third_party/sqlite) -+ find_package(unofficial-sqlite3 CONFIG REQUIRED) - endif() - -+find_package(Catch2 CONFIG REQUIRED) -+ - add_executable(unit_tests tests.cpp tests2.cpp tests3.cpp tests4.cpp tests5.cpp private_getters_tests.cpp pragma_tests.cpp explicit_columns.cpp core_functions_tests.cpp index_tests.cpp constraints/composite_key.cpp static_tests.cpp operators/arithmetic_operators.cpp operators/like.cpp operators/glob.cpp operators/in.cpp operators/cast.cpp operators/is_null.cpp operators/not_operator.cpp operators/bitwise.cpp dynamic_order_by.cpp prepared_statement_tests/select.cpp prepared_statement_tests/get_all.cpp prepared_statement_tests/get_all_pointer.cpp prepared_statement_tests/get_all_optional.cpp prepared_statement_tests/update_all.cpp prepared_statement_tests/remove_all.cpp prepared_statement_tests/get.cpp prepared_statement_tests/get_pointer.cpp prepared_statement_tests/get_optional.cpp prepared_statement_tests/update.cpp prepared_statement_tests/remove.cpp prepared_statement_tests/insert.cpp prepared_statement_tests/replace.cpp prepared_statement_tests/insert_range.cpp prepared_statement_tests/replace_range.cpp prepared_statement_tests/insert_explicit.cpp pragma_tests.cpp simple_query.cpp static_tests/is_bindable.cpp static_tests/arithmetic_operators_result_type.cpp static_tests/tuple_conc.cpp static_tests/node_tuple.cpp static_tests/bindable_filter.cpp static_tests/count_tuple.cpp static_tests/member_traits_tests.cpp static_tests/select_return_type.cpp constraints/default.cpp constraints/unique.cpp constraints/foreign_key.cpp constraints/check.cpp table_tests.cpp statement_serializator_tests/primary_key.cpp statement_serializator_tests/column_names.cpp statement_serializator_tests/autoincrement.cpp statement_serializator_tests/arithmetic_operators.cpp statement_serializator_tests/core_functions.cpp statement_serializator_tests/comparison_operators.cpp statement_serializator_tests/unique.cpp statement_serializator_tests/foreign_key.cpp statement_serializator_tests/collate.cpp statement_serializator_tests/check.cpp statement_serializator_tests/index.cpp statement_serializator_tests/indexed_column.cpp unique_cases/get_all_with_two_tables.cpp unique_cases/prepare_get_all_with_case.cpp unique_cases/index_named_table_with_fk.cpp unique_cases/issue525.cpp unique_cases/delete_with_two_fields.cpp unique_cases/join_iterator_ctor_compilation_error.cpp get_all_custom_containers.cpp select_asterisk.cpp backup_tests.cpp transaction_tests.cpp) - - diff --git a/ports/sqlite-orm/portfile.cmake b/ports/sqlite-orm/portfile.cmake index e72426449a1e34..94c5a1e4cfc39e 100644 --- a/ports/sqlite-orm/portfile.cmake +++ b/ports/sqlite-orm/portfile.cmake @@ -1,35 +1,34 @@ # header-only library -set(FEATURE_PATCHES) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO fnc12/sqlite_orm - REF 4c6a46bd4dcfba14a650e0fafb86331526878587 # 1.6 - SHA512 9626fc20374aff5da718d32c7b942a7a6434920da9cf68df6146e9c25cca61936c2e3091c6476c369c8bf241dcb8473169ee726eaedfeb92d79ff4fa8a6b2d32 + REF "v${VERSION}" + SHA512 a9a31b534d9374364672d698a1d08ba3d0b2c06d91a3fc38c3fcf73eb2efc272f118bb05c5b4ea720ceac01f54ee02debd86de31cad645001ed2b8db943ebe33 HEAD_REF master PATCHES - fix-features-build-error.patch fix-dependency.patch ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - test BUILD_TESTING - example BUILD_EXAMPLES + FEATURES + test BUILD_TESTING + example BUILD_EXAMPLES ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS ${FEATURE_OPTIONS} +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} -DSQLITE_ORM_ENABLE_CXX_17=OFF + -DSQLITE_ORM_ENABLE_CXX_20=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/SqliteOrm TARGET_PATH share/SqliteOrm) +vcpkg_cmake_config_fixup(PACKAGE_NAME SqliteOrm CONFIG_PATH lib/cmake/SqliteOrm) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib) +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) \ No newline at end of file diff --git a/ports/sqlite-orm/vcpkg.json b/ports/sqlite-orm/vcpkg.json index ab5e89652e7d11..8a46f21f9f8e65 100644 --- a/ports/sqlite-orm/vcpkg.json +++ b/ports/sqlite-orm/vcpkg.json @@ -1,11 +1,19 @@ { "name": "sqlite-orm", - "version-string": "1.6", - "port-version": 1, + "version": "1.9", "description": "SQLite ORM light header only library for modern C++", "homepage": "https://github.com/fnc12/sqlite_orm", + "license": "AGPL-3.0-or-later OR MIT", "dependencies": [ - "sqlite3" + "sqlite3", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ], "features": { "example": { diff --git a/ports/sqlite3/CMakeLists.txt b/ports/sqlite3/CMakeLists.txt index 7c1099bdbb5eb5..760213b56799d8 100644 --- a/ports/sqlite3/CMakeLists.txt +++ b/ports/sqlite3/CMakeLists.txt @@ -1,53 +1,74 @@ cmake_minimum_required(VERSION 3.10) + project(sqlite3 C) -include_directories(.) -if(BUILD_SHARED_LIBS) - if(UNIX) - set(API "-DSQLITE_API=__attribute__((visibility(\"default\")))") - elseif(CMAKE_SYSTEM_NAME MATCHES "Windows") - set(API "-DSQLITE_API=__declspec(dllexport)") - else() - message(FATAL_ERROR "Unsupported platform: ${CMAKE_SYSTEM_NAME}") - endif() -else() - set(API "-DSQLITE_API=extern") -endif() -add_library(sqlite3 sqlite3.c) +option(WITH_ZLIB "Build sqlite3 with zlib support" OFF) +option(SQLITE3_SKIP_TOOLS "Disable build sqlite3 executable" OFF) + +set(PKGCONFIG_LIBS_PRIVATE "") +set(PKGCONFIG_REQUIRES_PRIVATE "") + +add_library(sqlite3 sqlite3.c sqlite3.rc) + +target_include_directories(sqlite3 PUBLIC $ $) target_compile_definitions( sqlite3 PRIVATE - $<$:SQLITE_DEBUG> - ${API} - -DSQLITE_ENABLE_RTREE - -DSQLITE_ENABLE_UNLOCK_NOTIFY - -DSQLITE_ENABLE_COLUMN_METADATA + $<$:SQLITE_DEBUG=1> + $<$:SQLITE_ENABLE_SELECTTRACE> + $<$:SQLITE_ENABLE_WHERETRACE> + $<$:RC_VERONLY> ) -if(WITH_GEOPOLY) - add_compile_definitions(SQLITE_ENABLE_GEOPOLY) -endif() - -if(WITH_JSON1) - add_compile_definitions(SQLITE_ENABLE_JSON1) +if (BUILD_SHARED_LIBS) + if (WIN32) + target_compile_definitions(sqlite3 PRIVATE "SQLITE_API=__declspec(dllexport)") + else() + target_compile_definitions(sqlite3 PRIVATE "SQLITE_API=__attribute__((visibility(\"default\")))") + endif() endif() -target_include_directories(sqlite3 INTERFACE $) -if(NOT WIN32) +if (NOT WIN32) find_package(Threads REQUIRED) target_link_libraries(sqlite3 PRIVATE Threads::Threads ${CMAKE_DL_LIBS}) + string(APPEND PKGCONFIG_LIBS_PRIVATE " -pthread") + foreach(LIB IN LISTS CMAKE_DL_LIBS) + string(APPEND PKGCONFIG_LIBS_PRIVATE " -l${LIB}") + endforeach() + + if(SQLITE_ENABLE_FTS5 OR SQLITE_ENABLE_MATH_FUNCTIONS) + find_library(HAVE_LIBM m) + if(HAVE_LIBM) + target_link_libraries(sqlite3 PRIVATE m) + string(APPEND PKGCONFIG_LIBS_PRIVATE " -lm") + endif() + endif() endif() -if(CMAKE_SYSTEM_NAME MATCHES "WindowsStore") - target_compile_definitions(sqlite3 PRIVATE -DSQLITE_OS_WINRT=1) +if(SQLITE_ENABLE_ICU) + find_package(ICU COMPONENTS uc i18n REQUIRED) + target_link_libraries(sqlite3 PRIVATE ICU::uc ICU::i18n) + + string(APPEND PKGCONFIG_REQUIRES_PRIVATE " icu-uc icu-i18n") endif() if(NOT SQLITE3_SKIP_TOOLS) add_executable(sqlite3-bin shell.c) + set_target_properties(sqlite3-bin PROPERTIES + OUTPUT_NAME sqlite3 + PDB_NAME "sqlite3${CMAKE_EXECUTABLE_SUFFIX}.pdb" + ) + target_link_libraries(sqlite3-bin PRIVATE sqlite3) + if (WITH_ZLIB) + find_package(ZLIB REQUIRED) + target_link_libraries(sqlite3-bin PRIVATE ZLIB::ZLIB) + target_compile_definitions(sqlite3-bin PRIVATE SQLITE_HAVE_ZLIB) + endif() + install(TARGETS sqlite3-bin sqlite3 - RUNTIME DESTINATION tools + RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib ) @@ -61,13 +82,8 @@ install( ARCHIVE DESTINATION lib ) -install(FILES sqlite3.h sqlite3ext.h DESTINATION include CONFIGURATIONS Release) +install(FILES sqlite3.h sqlite3ext.h sqlite3-vcpkg-config.h DESTINATION include CONFIGURATIONS Release) install(EXPORT unofficial-sqlite3-targets NAMESPACE unofficial::sqlite3:: FILE unofficial-sqlite3-targets.cmake DESTINATION share/unofficial-sqlite3) -if(UNIX) - set(PKGCONFIG_LIBS_PRIVATE "-lm -ldl -lpthread") -else() - set(PKGCONFIG_LIBS_PRIVATE "") -endif() configure_file(sqlite3.pc.in sqlite3.pc @ONLY) install(FILES "${CMAKE_CURRENT_BINARY_DIR}/sqlite3.pc" DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig") diff --git a/ports/sqlite3/add-config-include.patch b/ports/sqlite3/add-config-include.patch new file mode 100644 index 00000000000000..7942c9cf36cb71 --- /dev/null +++ b/ports/sqlite3/add-config-include.patch @@ -0,0 +1,24 @@ +diff --git a/sqlite3.c b/sqlite3.c +index a1fbd60..68a4e21 100644 +--- a/sqlite3.c ++++ b/sqlite3.c +@@ -22,6 +22,7 @@ + */ + #define SQLITE_CORE 1 + #define SQLITE_AMALGAMATION 1 ++#include "sqlite3-vcpkg-config.h" + #ifndef SQLITE_PRIVATE + # define SQLITE_PRIVATE static + #endif +diff --git a/sqlite3.h b/sqlite3.h +index 0376113..271cf53 100644 +--- a/sqlite3.h ++++ b/sqlite3.h +@@ -32,6 +32,7 @@ + */ + #ifndef SQLITE3_H + #define SQLITE3_H ++#include "sqlite3-vcpkg-config.h" + #include /* Needed for the definition of va_list */ + + /* diff --git a/ports/sqlite3/portfile.cmake b/ports/sqlite3/portfile.cmake index 329b1dbd5c60e1..0ed7b077ad778a 100644 --- a/ports/sqlite3/portfile.cmake +++ b/ports/sqlite3/portfile.cmake @@ -1,61 +1,101 @@ -# Be sure to update both of these versions together. -set(SQLITE_VERSION 3360000) -set(PKGCONFIG_VERSION 3.36.0) -set(SQLITE_HASH 5c18f158a599b1e91d95c91de3aa5c5de52f986845ad0cb49dfd56b650587e55e24d469571b5b864229b870d0eaf85d78893f61ef950b95389cb41692be37f58) - -vcpkg_download_distfile(ARCHIVE - URLS "https://sqlite.org/2021/sqlite-amalgamation-${SQLITE_VERSION}.zip" - FILENAME "sqlite-amalgamation-${SQLITE_VERSION}.zip" - SHA512 ${SQLITE_HASH} -) - -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} - REF ${SQLITE_VERSION} - PATCHES fix-arm-uwp.patch -) - -file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -file(COPY "${CMAKE_CURRENT_LIST_DIR}/sqlite3.pc.in" DESTINATION "${SOURCE_PATH}") - -vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - FEATURES - geopoly WITH_GEOPOLY - json1 WITH_JSON1 - INVERTED_FEATURES - tool SQLITE3_SKIP_TOOLS -) - -vcpkg_cmake_configure( - SOURCE_PATH "${SOURCE_PATH}" - OPTIONS - ${FEATURE_OPTIONS} - -DPKGCONFIG_VERSION=${PKGCONFIG_VERSION} - OPTIONS_DEBUG - -DSQLITE3_SKIP_TOOLS=ON -) - -vcpkg_cmake_install() -vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-${PORT} CONFIG_PATH share/unofficial-${PORT}) - -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") - -if(NOT SQLITE3_SKIP_TOOLS AND EXISTS "${CURRENT_PACKAGES_DIR}/tools/sqlite3-bin${VCPKG_HOST_EXECUTABLE_SUFFIX}") - file(RENAME "${CURRENT_PACKAGES_DIR}/tools/sqlite3-bin${VCPKG_HOST_EXECUTABLE_SUFFIX}" "${CURRENT_PACKAGES_DIR}/tools/sqlite3${VCPKG_HOST_EXECUTABLE_SUFFIX}") -endif() - -configure_file( - "${CMAKE_CURRENT_LIST_DIR}/sqlite3-config.in.cmake" - "${CURRENT_PACKAGES_DIR}/share/unofficial-${PORT}/unofficial-sqlite3-config.cmake" - @ONLY -) - -vcpkg_fixup_pkgconfig() - -if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/sqlite3.h" "# define SQLITE_API\n" "# define SQLITE_API __declspec(dllimport)\n") -endif() - -file(WRITE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright "SQLite is in the Public Domain.\nhttp://www.sqlite.org/copyright.html\n") -vcpkg_copy_pdbs() +string(REGEX REPLACE "^([0-9]+)[.]([0-9]+)[.]([0-9]+)[.]([0-9]+)" "\\1,0\\2,0\\3,0\\4," SQLITE_VERSION "${VERSION}.0") +string(REGEX REPLACE "^([0-9]+),0*([0-9][0-9]),0*([0-9][0-9]),0*([0-9][0-9])," "\\1\\2\\3\\4" SQLITE_VERSION "${SQLITE_VERSION}") + +vcpkg_download_distfile(ARCHIVE + URLS "https://sqlite.org/2024/sqlite-autoconf-${SQLITE_VERSION}.tar.gz" + FILENAME "sqlite-autoconf-${SQLITE_VERSION}.zip" + SHA512 698e28a3f1c3da5b45b86a0b50f84c696658d4e56ab45f5cc65dce995601c3bcf1c0050386a1fc08b4b0e0f508e8a046e5c8317b09fe805154b76437e73f8f0e +) + +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" + PATCHES + fix-arm-uwp.patch + add-config-include.patch +) + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + if(VCPKG_TARGET_IS_WINDOWS) + set(SQLITE_API "__declspec(dllimport)") + else() + set(SQLITE_API "__attribute__((visibility(\"default\")))") + endif() +else() + set(SQLITE_API "") +endif() + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + fts5 SQLITE_ENABLE_FTS5 + math SQLITE_ENABLE_MATH_FUNCTIONS + zlib WITH_ZLIB + unicode SQLITE_ENABLE_ICU + INVERTED_FEATURES + tool SQLITE3_SKIP_TOOLS +) +vcpkg_check_features(OUT_FEATURE_OPTIONS none # only using the script-mode side-effects + FEATURES + dbstat SQLITE_ENABLE_DBSTAT_VTAB + dbpage-vtab SQLITE_ENABLE_DBPAGE_VTAB + fts3 SQLITE_ENABLE_FTS3 + fts4 SQLITE_ENABLE_FTS4 + memsys3 SQLITE_ENABLE_MEMSYS3 + memsys5 SQLITE_ENABLE_MEMSYS5 + limit SQLITE_ENABLE_UPDATE_DELETE_LIMIT + rtree SQLITE_ENABLE_RTREE + session SQLITE_ENABLE_SESSION + session SQLITE_ENABLE_PREUPDATE_HOOK + snapshot SQLITE_ENABLE_SNAPSHOT + omit-load-extension SQLITE_OMIT_LOAD_EXTENSION + geopoly SQLITE_ENABLE_GEOPOLY + soundex SQLITE_SOUNDEX + INVERTED_FEATURES + json1 SQLITE_OMIT_JSON +) + +if(VCPKG_TARGET_IS_WINDOWS) + set(SQLITE_OS_WIN "1") + if(VCPKG_TARGET_IS_UWP) + set(SQLITE_OS_WINRT "1") + endif() +else() + set(SQLITE_OS_UNIX "1") +endif() + +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") +file(COPY "${CMAKE_CURRENT_LIST_DIR}/sqlite3.pc.in" DESTINATION "${SOURCE_PATH}") +configure_file("${CMAKE_CURRENT_LIST_DIR}/sqlite3-vcpkg-config.h.in" "${SOURCE_PATH}/sqlite3-vcpkg-config.h" @ONLY) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} + -DPKGCONFIG_VERSION=${VERSION} + OPTIONS_DEBUG + -DSQLITE3_SKIP_TOOLS=ON + MAYBE_UNUSED_VARIABLES + SQLITE_ENABLE_FTS5 + SQLITE_ENABLE_MATH_FUNCTIONS +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-${PORT} CONFIG_PATH share/unofficial-${PORT}) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +if("tool" IN_LIST FEATURES) + vcpkg_copy_tools(TOOL_NAMES sqlite3 DESTINATION "${CURRENT_PACKAGES_DIR}/tools" AUTO_CLEAN) +endif() + +configure_file( + "${CMAKE_CURRENT_LIST_DIR}/sqlite3-config.in.cmake" + "${CURRENT_PACKAGES_DIR}/share/unofficial-${PORT}/unofficial-sqlite3-config.cmake" + @ONLY +) + +vcpkg_fixup_pkgconfig() +vcpkg_copy_pdbs() + +file(WRITE "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" "SQLite is in the Public Domain.\nhttp://www.sqlite.org/copyright.html\n") +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/sqlite3/sqlite3-config.in.cmake b/ports/sqlite3/sqlite3-config.in.cmake index e7e26bf2cde563..fac63e6c058a2f 100644 --- a/ports/sqlite3/sqlite3-config.in.cmake +++ b/ports/sqlite3/sqlite3-config.in.cmake @@ -1,5 +1,5 @@ -if("@VCPKG_LIBRARY_LINKAGE@" STREQUAL "static" AND NOT WIN32) +if(NOT WIN32) include(CMakeFindDependencyMacro) find_dependency(Threads) endif() diff --git a/ports/sqlite3/sqlite3-vcpkg-config.h.in b/ports/sqlite3/sqlite3-vcpkg-config.h.in new file mode 100644 index 00000000000000..47b0f4a4f3c505 --- /dev/null +++ b/ports/sqlite3/sqlite3-vcpkg-config.h.in @@ -0,0 +1,33 @@ +/* + * This file was generated to inject vcpkg feature selections into the installed copy of + * sqlite so that consumers need not get the values from pkgconfig or CMake configs. + * + * No include guard: intentionally reuses the include guard from sqlite3.h. + */ + +#ifndef SQLITE_API +#cmakedefine SQLITE_API @SQLITE_API@ +#endif + +#define SQLITE_ENABLE_UNLOCK_NOTIFY 1 +#cmakedefine SQLITE_ENABLE_FTS3 +#cmakedefine SQLITE_ENABLE_FTS4 +#cmakedefine SQLITE_ENABLE_FTS5 +#cmakedefine SQLITE_ENABLE_MEMSYS3 +#cmakedefine SQLITE_ENABLE_MEMSYS5 +#cmakedefine SQLITE_ENABLE_MATH_FUNCTIONS +#cmakedefine SQLITE_ENABLE_UPDATE_DELETE_LIMIT +#cmakedefine SQLITE_ENABLE_DBPAGE_VTAB +#cmakedefine SQLITE_ENABLE_RTREE +#cmakedefine SQLITE_ENABLE_SESSION +#cmakedefine SQLITE_ENABLE_SNAPSHOT +#cmakedefine SQLITE_ENABLE_PREUPDATE_HOOK +#cmakedefine SQLITE_OMIT_LOAD_EXTENSION +#cmakedefine SQLITE_ENABLE_GEOPOLY +#cmakedefine SQLITE_OMIT_JSON +#cmakedefine SQLITE_OS_WIN @SQLITE_OS_WIN@ +#cmakedefine SQLITE_OS_WINRT @SQLITE_OS_WINRT@ +#define SQLITE_ENABLE_COLUMN_METADATA 1 +#cmakedefine SQLITE_OS_UNIX @SQLITE_OS_UNIX@ +#cmakedefine SQLITE_ENABLE_DBSTAT_VTAB +#cmakedefine SQLITE_ENABLE_ICU diff --git a/ports/sqlite3/sqlite3.pc.in b/ports/sqlite3/sqlite3.pc.in index d265632d119930..6f0e809d11211b 100644 --- a/ports/sqlite3/sqlite3.pc.in +++ b/ports/sqlite3/sqlite3.pc.in @@ -8,4 +8,5 @@ Description: SQL database engine Version: @PKGCONFIG_VERSION@ Libs: -L${libdir} -lsqlite3 Libs.private: @PKGCONFIG_LIBS_PRIVATE@ +Requires.private: @PKGCONFIG_REQUIRES_PRIVATE@ Cflags: -I${includedir} diff --git a/ports/sqlite3/usage b/ports/sqlite3/usage new file mode 100644 index 00000000000000..7f79c6d461531a --- /dev/null +++ b/ports/sqlite3/usage @@ -0,0 +1,5 @@ +sqlite3 provides pkgconfig bindings. +sqlite3 provides CMake targets: + + find_package(unofficial-sqlite3 CONFIG REQUIRED) + target_link_libraries(main PRIVATE unofficial::sqlite3::sqlite3) diff --git a/ports/sqlite3/vcpkg.json b/ports/sqlite3/vcpkg.json index d998070e041d64..db8e1605fb3d0a 100644 --- a/ports/sqlite3/vcpkg.json +++ b/ports/sqlite3/vcpkg.json @@ -1,9 +1,10 @@ { "name": "sqlite3", - "version": "3.36.0", - "port-version": 1, + "version": "3.47.0", + "port-version": 2, "description": "SQLite is a software library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine.", "homepage": "https://sqlite.org/", + "license": "blessing", "dependencies": [ { "name": "vcpkg-cmake", @@ -14,15 +15,73 @@ "host": true } ], + "default-features": [ + "json1" + ], "features": { + "dbpage-vtab": { + "description": "Enable the recovery extension" + }, + "dbstat": { + "description": "Enable the DBSTAT virtual table" + }, + "fts3": { + "description": "Enable the FTS3 extension" + }, + "fts4": { + "description": "Enable the FTS4 extension" + }, + "fts5": { + "description": "Enable the FTS5 extension" + }, "geopoly": { - "description": "enable geopoly functionality for sqlite3" + "description": "Enable geopoly functionality for sqlite3" }, "json1": { - "description": "enable JSON functionality for sqlite3" + "description": "Enable JSON functionality for sqlite3" + }, + "limit": { + "description": "Enable the UPDATE/DELETE LIMIT clause" + }, + "math": { + "description": "Enable math functions" + }, + "memsys3": { + "description": "Enable MEMSYS3" + }, + "memsys5": { + "description": "Enable MEMSYS5" + }, + "omit-load-extension": { + "description": "Enable loading of external extensions" + }, + "rtree": { + "description": "Enable the RTREE extension" + }, + "session": { + "description": "Enable the SESSION extension" + }, + "snapshot": { + "description": "Enable the snapshot function" + }, + "soundex": { + "description": "Enable the SOUNDEX scalar function" }, "tool": { - "description": "sqlite3 executable" + "description": "Build sqlite3 executable", + "supports": "!uwp" + }, + "unicode": { + "description": "Enable unicode support", + "dependencies": [ + "icu" + ] + }, + "zlib": { + "description": "Build sqlite3 command line tool with zlib support; has no effect on the library itself", + "dependencies": [ + "zlib" + ] } } } diff --git a/ports/sqlitecpp/0001-unofficial-sqlite3-and-sqlcipher.patch b/ports/sqlitecpp/0001-unofficial-sqlite3-and-sqlcipher.patch deleted file mode 100644 index 9b3e0e4afec4a1..00000000000000 --- a/ports/sqlitecpp/0001-unofficial-sqlite3-and-sqlcipher.patch +++ /dev/null @@ -1,31 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 85c1061..684205f 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -232,16 +232,17 @@ if (SQLITECPP_INTERNAL_SQLITE) - add_subdirectory(sqlite3) - target_link_libraries(SQLiteCpp PUBLIC sqlite3) - else (SQLITECPP_INTERNAL_SQLITE) -- find_package (SQLite3 REQUIRED) -- message(STATUS "Link to sqlite3 system library") -- target_link_libraries(SQLiteCpp PUBLIC SQLite::SQLite3) -- if(SQLite3_VERSION VERSION_LESS "3.19") -- set_target_properties(SQLiteCpp PROPERTIES COMPILE_FLAGS "-DSQLITECPP_HAS_MEM_STRUCT") -- endif() -+ if(NOT SQLITE_HAS_CODEC) -+ find_package(unofficial-sqlite3 CONFIG) -+ message(STATUS "Link to sqlite3 system library") -+ target_link_libraries(SQLiteCpp PRIVATE unofficial::sqlite3::sqlite3) -+ if(SQLite3_VERSION VERSION_LESS "3.19") -+ set_target_properties(SQLiteCpp PROPERTIES COMPILE_FLAGS "-DSQLITECPP_HAS_MEM_STRUCT") -+ endif() -+ else() -+ # When using the SQLite codec, we need to link against the sqlcipher lib & include -+ # So this gets the lib & header, and links/includes everything - -- # When using the SQLite codec, we need to link against the sqlcipher lib & include -- # So this gets the lib & header, and links/includes everything -- if(SQLITE_HAS_CODEC) - # Make PkgConfig optional since Windows doesn't usually have it installed. - find_package(PkgConfig QUIET) - if(PKG_CONFIG_FOUND) diff --git a/ports/sqlitecpp/add_runtime_destination.patch b/ports/sqlitecpp/add_runtime_destination.patch new file mode 100644 index 00000000000000..71b2b85261a74e --- /dev/null +++ b/ports/sqlitecpp/add_runtime_destination.patch @@ -0,0 +1,12 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e5723d0..ecc1ac2 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -337,6 +337,7 @@ target_include_directories(SQLiteCpp + include(GNUInstallDirs) + install(TARGETS SQLiteCpp + EXPORT ${PROJECT_NAME}Targets ++ RUNTIME DESTINATION bin + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + COMPONENT libraries) diff --git a/ports/sqlitecpp/fix_dependency.patch b/ports/sqlitecpp/fix_dependency.patch index a55c94cffebd8e..2277ca6e0b4113 100644 --- a/ports/sqlitecpp/fix_dependency.patch +++ b/ports/sqlitecpp/fix_dependency.patch @@ -1,11 +1,28 @@ -diff --git a/cmake/SQLiteCppConfig.cmake.in b/cmake/SQLiteCppConfig.cmake.in -index 568922f..01196db 100644 ---- a/cmake/SQLiteCppConfig.cmake.in -+++ b/cmake/SQLiteCppConfig.cmake.in -@@ -1,5 +1,5 @@ - include(CMakeFindDependencyMacro) --find_dependency(SQLite3 REQUIRED) -+find_dependency(unofficial-sqlite3 REQUIRED) - if(@UNIX@) - set(THREADS_PREFER_PTHREAD_FLAG @THREADS_PREFER_PTHREAD_FLAG@) - find_dependency(Threads REQUIRED) +diff --git a/CMakeLists.txt b/CMakeLists.txt +index df5693d..e5723d0 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -295,9 +295,9 @@ else (SQLITECPP_INTERNAL_SQLITE) + target_link_libraries(SQLiteCpp PRIVATE ${sqlcipher_LIBRARY}) + endif() + else() +- find_package (SQLite3 REQUIRED) ++ find_package (unofficial-sqlite3 CONFIG) + message(STATUS "Link to sqlite3 system library") +- target_link_libraries(SQLiteCpp PUBLIC SQLite::SQLite3) ++ target_link_libraries(SQLiteCpp PRIVATE unofficial::sqlite3::sqlite3) + if(SQLite3_VERSION VERSION_LESS "3.19") + set_target_properties(SQLiteCpp PROPERTIES COMPILE_FLAGS "-DSQLITECPP_HAS_MEM_STRUCT") + endif() +diff --git a/cmake/SQLiteCppConfig.cmake.in b/cmake/SQLiteCppConfig.cmake.in +index 2b48df4..d0feda9 100644 +--- a/cmake/SQLiteCppConfig.cmake.in ++++ b/cmake/SQLiteCppConfig.cmake.in +@@ -1,6 +1,6 @@ + include(CMakeFindDependencyMacro) + if(NOT @SQLITECPP_INTERNAL_SQLITE@) +- find_dependency(SQLite3 REQUIRED) ++ find_dependency(unofficial-sqlite3 REQUIRED) + endif() + if(@UNIX@) + set(THREADS_PREFER_PTHREAD_FLAG @THREADS_PREFER_PTHREAD_FLAG@) diff --git a/ports/sqlitecpp/portfile.cmake b/ports/sqlitecpp/portfile.cmake index efeb214506094c..bedd84603fe144 100644 --- a/ports/sqlitecpp/portfile.cmake +++ b/ports/sqlitecpp/portfile.cmake @@ -1,35 +1,40 @@ -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - vcpkg_from_github(OUT_SOURCE_PATH SOURCE_PATH REPO "SRombauts/SQLiteCpp" - REF 3.1.1 + REF ${VERSION} HEAD_REF master - SHA512 9030b5249c149db8a5b2fe350f71613e4ee91061765a771640ed3ffa7c24aada4000ba884ef91790fdc0f13dc4519038c1edeba64b85b85ac09c3e955a7988a1 + SHA512 e65695765756570d3b2df9151c968f76d434b9ec1dbcffa71e6b58a0cad005dc60c03ac826269d0292ecda2ad2abfbf2acd1cb71fb11967f53ff58140ea133fd PATCHES - 0001-unofficial-sqlite3-and-sqlcipher.patch fix_dependency.patch + add_runtime_destination.patch ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES - sqlcipher SQLITE_HAS_CODEC + sqlcipher SQLITE_HAS_CODEC ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +set(USE_STACK_PROTECTION "") +if(VCPKG_TARGET_IS_MINGW) + set(USE_STACK_PROTECTION "-DSQLITECPP_USE_STACK_PROTECTION=OFF") +endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${FEATURE_OPTIONS} -DSQLITECPP_RUN_CPPLINT=OFF -DSQLITECPP_RUN_CPPCHECK=OFF -DSQLITECPP_INTERNAL_SQLITE=OFF - -DSQLITE_ENABLE_COLUMN_METADATA=OFF - -DSQLITECPP_INTERNAL_SQLITE=OFF + -DSQLITE_ENABLE_COLUMN_METADATA=ON + -DSQLITECPP_USE_STATIC_RUNTIME=OFF # unconditionally off because vcpkg's toolchains already do the right thing + # See https://github.com/SRombauts/SQLiteCpp/blob/e74403264ec7093060f4ed0e84bc9208997c8344/CMakeLists.txt#L40-L46 + ${USE_STACK_PROTECTION} ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/SQLiteCpp) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/SQLiteCpp) 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) +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/sqlitecpp/vcpkg.json b/ports/sqlitecpp/vcpkg.json index c86c7b95edc530..4214ab8422f9f8 100644 --- a/ports/sqlitecpp/vcpkg.json +++ b/ports/sqlitecpp/vcpkg.json @@ -1,9 +1,20 @@ { "name": "sqlitecpp", - "version-string": "3.1.1", - "port-version": 1, + "version": "3.3.2", "description": "SQLiteC++ (SQLiteCpp) is a smart and easy to use C++ SQLite3 wrapper.", "homepage": "https://github.com/SRombauts/SQLiteCpp", + "license": "MIT", + "dependencies": [ + "sqlite3", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], "default-features": [ "sqlite" ], @@ -18,10 +29,7 @@ ] }, "sqlite": { - "description": "Use the (unofficial) sqlite3 port of vcpkg", - "dependencies": [ - "sqlite3" - ] + "description": "Deprecated; no effects" } } } diff --git a/ports/sqlpp11-connector-mysql/portfile.cmake b/ports/sqlpp11-connector-mysql/portfile.cmake index 2dd953ff7afd81..0015715fb66c72 100644 --- a/ports/sqlpp11-connector-mysql/portfile.cmake +++ b/ports/sqlpp11-connector-mysql/portfile.cmake @@ -1,27 +1 @@ -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO rbock/sqlpp11-connector-mysql - REF 0.29 - SHA512 0c71d2ea94933be3bbaa8d6afaac7059660bdb0af5ba905844d95facb5e73a122c3ccd723a48a7fd8db0c028309ac6dc8b91c6838dfbfe530727161d62a1481f - HEAD_REF master -) - -# Use sqlpp11-connector-mysql's own build process, skipping tests -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - -DENABLE_TESTS:BOOL=OFF - -DDATE_INCLUDE_DIR=${CURRENT_INSTALLED_DIR}/include - -DSQLPP11_INCLUDE_DIR=${CURRENT_INSTALLED_DIR}/include - -DMYSQL_INCLUDE_DIR=${CURRENT_INSTALLED_DIR}/include/mysql -) - -vcpkg_install_cmake() - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) - -# Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/sqlpp11-connector-mysql RENAME copyright) +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) \ No newline at end of file diff --git a/ports/sqlpp11-connector-mysql/vcpkg.json b/ports/sqlpp11-connector-mysql/vcpkg.json index 8eb8e93f57f39f..8726643e7ff249 100644 --- a/ports/sqlpp11-connector-mysql/vcpkg.json +++ b/ports/sqlpp11-connector-mysql/vcpkg.json @@ -1,13 +1,9 @@ { "name": "sqlpp11-connector-mysql", - "version-string": "0.29", - "port-version": 2, - "description": "A C++ wrapper for MySQL meant to be used in combination with sqlpp11.", + "version": "0.61", + "description": "A C++ wrapper for MySQL meant to be used in combination with sqlpp11 (obsolete, use sqlpp11 with the mariadb/mysql feature instead)", "homepage": "https://github.com/rbock/sqlpp11-connector-mysql", - "dependencies": [ - "date", - "sqlpp11" - ], + "license": "BSD-2-Clause", "default-features": [ "mariadb" ], @@ -15,13 +11,27 @@ "mariadb": { "description": "Use MariaDB connector", "dependencies": [ - "libmariadb" + { + "name": "sqlpp11", + "default-features": false, + "features": [ + "mariadb" + ], + "version>=": "0.61" + } ] }, "mysql": { "description": "Use MySQL connector", "dependencies": [ - "libmysql" + { + "name": "sqlpp11", + "default-features": false, + "features": [ + "mysql" + ], + "version>=": "0.61" + } ] } } diff --git a/ports/sqlpp11-connector-sqlite3/portfile.cmake b/ports/sqlpp11-connector-sqlite3/portfile.cmake index 1663ca73a0e3fa..0015715fb66c72 100644 --- a/ports/sqlpp11-connector-sqlite3/portfile.cmake +++ b/ports/sqlpp11-connector-sqlite3/portfile.cmake @@ -1,25 +1 @@ -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO rbock/sqlpp11-connector-sqlite3 - REF a06d6944a55349fbd0ab0337c45d80c6efa2ff81 # 0.30 - SHA512 51efe8914b5ccf8092e15a9a7b29798db070ce0b47bb87b212724e209149c3a81821a3841ac317f506356430d87d3f16a066c74f60ad1ad7bf1333c9de36916b - HEAD_REF master -) - -# Use sqlpp11-connector-sqlite3's own build process, skipping tests -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - -DENABLE_TESTS:BOOL=OFF - -DSQLPP11_INCLUDE_DIR=${CURRENT_INSTALLED_DIR}/include -) - -vcpkg_install_cmake() - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) - -# Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/sqlpp11-connector-sqlite3 RENAME copyright) +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) \ No newline at end of file diff --git a/ports/sqlpp11-connector-sqlite3/vcpkg.json b/ports/sqlpp11-connector-sqlite3/vcpkg.json index 09ebb22b5171a4..541ab258fdfd7f 100644 --- a/ports/sqlpp11-connector-sqlite3/vcpkg.json +++ b/ports/sqlpp11-connector-sqlite3/vcpkg.json @@ -1,11 +1,17 @@ { "name": "sqlpp11-connector-sqlite3", - "version-string": "0.30", - "port-version": 1, - "description": "A C++ wrapper for sqlite3 meant to be used in combination with sqlpp11.", + "version": "0.61", + "description": "A C++ wrapper for sqlite3 meant to be used in combination with sqlpp11 (obsolete, use sqlpp11 with the sqlite3 feature instead)", + "homepage": "https://github.com/rbock/sqlpp11-connector-sqlite3", + "license": "BSD-2-Clause", "dependencies": [ - "date", - "sqlite3", - "sqlpp11" + { + "name": "sqlpp11", + "default-features": false, + "features": [ + "sqlite3" + ], + "version>=": "0.61" + } ] } diff --git a/ports/sqlpp11/ddl2cpp_path.patch b/ports/sqlpp11/ddl2cpp_path.patch index bc828e829f3cc2..ce6228d95c892d 100644 --- a/ports/sqlpp11/ddl2cpp_path.patch +++ b/ports/sqlpp11/ddl2cpp_path.patch @@ -1,13 +1,26 @@ -diff --git a/cmake/Sqlpp11Config.cmake b/cmake/Sqlpp11Config.cmake -index 18ea9b1..730bce1 100644 ---- a/cmake/Sqlpp11Config.cmake -+++ b/cmake/Sqlpp11Config.cmake -@@ -32,7 +32,7 @@ include("${CMAKE_CURRENT_LIST_DIR}/Sqlpp11Targets.cmake") +diff --git a/CMakeLists.txt b/CMakeLists.txt +index bb05cd8..4e83094 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -113,7 +113,7 @@ endif() + ### Packaging + install(PROGRAMS ${PROJECT_SOURCE_DIR}/scripts/ddl2cpp + RENAME sqlpp11-ddl2cpp +- DESTINATION ${CMAKE_INSTALL_BINDIR} ++ DESTINATION tools/sqlpp11 + ) + + write_basic_package_version_file(Sqlpp11ConfigVersion.cmake +diff --git a/cmake/configs/Sqlpp11Config.cmake b/cmake/configs/Sqlpp11Config.cmake +index bf340d6..249014d 100644 +--- a/cmake/configs/Sqlpp11Config.cmake ++++ b/cmake/configs/Sqlpp11Config.cmake +@@ -55,7 +55,7 @@ endforeach() # Import "ddl2cpp" script if(NOT TARGET sqlpp11::ddl2cpp) -- get_filename_component(sqlpp11_ddl2cpp_location "${CMAKE_CURRENT_LIST_DIR}/../../../bin/sqlpp11-ddl2cpp" REALPATH) -+ get_filename_component(sqlpp11_ddl2cpp_location "${CMAKE_CURRENT_LIST_DIR}/../../scripts/sqlpp11-ddl2cpp" REALPATH) - if(NOT EXISTS "${sqlpp11_ddl2cpp_location}") - message(FATAL_ERROR "The imported target sqlpp11::ddl2cpp references the file '${sqlpp11_ddl2cpp_location}' but this file does not exists.") - endif() +- get_filename_component(sqlpp11_ddl2cpp_location "${CMAKE_CURRENT_LIST_DIR}/../../../bin/sqlpp11-ddl2cpp" REALPATH) ++ get_filename_component(sqlpp11_ddl2cpp_location "${CMAKE_CURRENT_LIST_DIR}/../../tools/sqlpp11/sqlpp11-ddl2cpp" REALPATH) + if(NOT EXISTS "${sqlpp11_ddl2cpp_location}") + message(FATAL_ERROR "The imported target sqlpp11::ddl2cpp references the file '${sqlpp11_ddl2cpp_location}' but this file does not exists.") + endif() diff --git a/ports/sqlpp11/dependencies.diff b/ports/sqlpp11/dependencies.diff new file mode 100644 index 00000000000000..8edbc9906450f5 --- /dev/null +++ b/ports/sqlpp11/dependencies.diff @@ -0,0 +1,38 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index bb05cd8..6aff88b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -51,11 +51,13 @@ set(SQLPP11_INSTALL_CMAKEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/Sqlpp11 CACHE STRING + + ### Dependencies + if(DEPENDENCY_CHECK AND BUILD_MYSQL_CONNECTOR) +- find_package(MySQL REQUIRED) ++ find_package(MySQL NAMES unofficial-libmysql REQUIRED) ++ add_library(MySQL::MySQL ALIAS unofficial::libmysql::libmysql) + endif() + + if(DEPENDENCY_CHECK AND BUILD_MARIADB_CONNECTOR) +- find_package(MariaDB REQUIRED) ++ find_package(MariaDB NAMES unofficial-libmariadb REQUIRED) ++ add_library(MariaDB::MariaDB ALIAS unofficial::libmariadb) + endif() + + if(DEPENDENCY_CHECK AND BUILD_POSTGRESQL_CONNECTOR) +diff --git a/cmake/configs/Sqlpp11MariaDBConfig.cmake b/cmake/configs/Sqlpp11MariaDBConfig.cmake +index 32a594a..fb63205 100644 +--- a/cmake/configs/Sqlpp11MariaDBConfig.cmake ++++ b/cmake/configs/Sqlpp11MariaDBConfig.cmake +@@ -1,2 +1,2 @@ + include(CMakeFindDependencyMacro) +-find_dependency(MariaDB) +\ No newline at end of file ++find_dependency(unofficial-libmariadb) +diff --git a/cmake/configs/Sqlpp11MySQLConfig.cmake b/cmake/configs/Sqlpp11MySQLConfig.cmake +index 0d2a5b3..53dab6e 100644 +--- a/cmake/configs/Sqlpp11MySQLConfig.cmake ++++ b/cmake/configs/Sqlpp11MySQLConfig.cmake +@@ -1,2 +1,2 @@ + include(CMakeFindDependencyMacro) +-find_dependency(MySQL) +\ No newline at end of file ++find_dependency(unofficial-libmysql) diff --git a/ports/sqlpp11/fix-dependency.patch b/ports/sqlpp11/fix-dependency.patch deleted file mode 100644 index d43e10bf39e74d..00000000000000 --- a/ports/sqlpp11/fix-dependency.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index b8de9fa..82dd632 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -32,14 +32,11 @@ list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/") - - include(CTest) - -- --### Dependencies --add_subdirectory(dependencies) -- - ### Main targets - add_library(sqlpp11 INTERFACE) - add_library(sqlpp11::sqlpp11 ALIAS sqlpp11) - -+find_package(date CONFIG REQUIRED) - target_link_libraries(sqlpp11 INTERFACE date::date) - - target_include_directories(sqlpp11 INTERFACE diff --git a/ports/sqlpp11/portfile.cmake b/ports/sqlpp11/portfile.cmake index 312c16d4e8ac3e..0624de889700de 100644 --- a/ports/sqlpp11/portfile.cmake +++ b/ports/sqlpp11/portfile.cmake @@ -1,33 +1,47 @@ +set(VCPKG_BUILD_TYPE release) # header-only lib + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO rbock/sqlpp11 - REF 085713d4d301aeb58e7d14f44cfac6ce35fe2e77 # 0.60 - SHA512 835536482def61c9978cda58507a7f5983b99765f69e7865cf5597b06075dc3e7ad4a3be0b2de2e44e4a4c3a6998115bf567ff586fb656cf5d95a0a7465fb2fe - HEAD_REF master + REF ${VERSION} + SHA512 7b48f66e2e229ed046a5b5033acc1be36b0c2790773a81ce9c65fce4a85379d61e87dd0ff214eb4126ce87fe6cf2f314b7e6c54256b600d15d8352d74a8fac0d + HEAD_REF main PATCHES ddl2cpp_path.patch - fix-dependency.patch + dependencies.diff ) -# Use sqlpp11's own build process, skipping tests -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - -DENABLE_TESTS:BOOL=OFF +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + sqlite3 BUILD_SQLITE3_CONNECTOR + mariadb BUILD_MARIADB_CONNECTOR + mysql BUILD_MYSQL_CONNECTOR + postgresql BUILD_POSTGRESQL_CONNECTOR ) -vcpkg_install_cmake() - -# Move CMake config files to the right place -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/Sqlpp11 TARGET_PATH share/${PORT}) +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_TESTING:BOOL=OFF + -DSQLPP11_INSTALL_CMAKEDIR=share/${PORT} + -DUSE_SYSTEM_DATE:BOOL=ON + ${FEATURE_OPTIONS} +) -# Delete redundant and unnecessary directories -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib ${CURRENT_PACKAGES_DIR}/cmake ${CURRENT_PACKAGES_DIR}/include/date) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup() -# Move python script from bin directory -file(COPY ${CURRENT_PACKAGES_DIR}/bin/sqlpp11-ddl2cpp DESTINATION ${CURRENT_PACKAGES_DIR}/scripts) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin/) +set(usage "sqlpp11 provides CMake targets:\n") +if(FEATURES STREQUAL "core") + set(usage "This build of sqlpp11 doesn't include any connector.\n(Available via features: sqlite3, mariadb, mysql, postgresql.)\n") +endif() +foreach(component IN ITEMS SQLite3 SQLCipher MySQL MariaDB PostgreSQL) + string(TOLOWER "${component}" lib) + if("${lib}" IN_LIST FEATURES) + string(APPEND usage "\n find_package(Sqlpp11 CONFIG REQUIRED COMPONENTS ${component})\n target_link_libraries(main PRIVATE sqlpp11::${lib})\n") + endif() +endforeach() +file(WRITE "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" "${usage}") -# 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/sqlpp11/vcpkg.json b/ports/sqlpp11/vcpkg.json index 63951d79747e2f..08beef6a429c92 100644 --- a/ports/sqlpp11/vcpkg.json +++ b/ports/sqlpp11/vcpkg.json @@ -1,10 +1,45 @@ { "name": "sqlpp11", - "version-string": "0.60", - "port-version": 1, + "version": "0.64", + "port-version": 2, "description": "A type safe embedded domain specific language for SQL queries and results in C++.", "homepage": "https://github.com/rbock/sqlpp11", + "license": "BSD-2-Clause", "dependencies": [ - "date" - ] + "date", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "mariadb": { + "description": "Use MariaDB connector", + "dependencies": [ + "libmariadb" + ] + }, + "mysql": { + "description": "Use MySQL connector", + "dependencies": [ + "libmysql" + ] + }, + "postgresql": { + "description": "Use PostgreSQL connector", + "dependencies": [ + "libpq" + ] + }, + "sqlite3": { + "description": "Use SQLite3 connector", + "dependencies": [ + "sqlite3" + ] + } + } } diff --git a/ports/sratom/CMakeLists.txt b/ports/sratom/CMakeLists.txt index 040f151d574275..6c8f0c242cec11 100644 --- a/ports/sratom/CMakeLists.txt +++ b/ports/sratom/CMakeLists.txt @@ -9,7 +9,7 @@ add_library(sratom src/sratom.c ) -target_include_directories(sratom PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}") +target_include_directories(sratom PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/include" "${CMAKE_CURRENT_SOURCE_DIR}") target_link_libraries(sratom PUBLIC lv2::lv2 serd::serd sord::sord) @@ -31,7 +31,7 @@ install( ) if(NOT DISABLE_INSTALL_HEADERS) - install(DIRECTORY sratom DESTINATION include) + install(DIRECTORY include/sratom DESTINATION include) endif() install( diff --git a/ports/sratom/portfile.cmake b/ports/sratom/portfile.cmake index a0446c3bec06ae..8844fd48edb308 100644 --- a/ports/sratom/portfile.cmake +++ b/ports/sratom/portfile.cmake @@ -2,23 +2,22 @@ vcpkg_from_gitlab( GITLAB_URL https://gitlab.com OUT_SOURCE_PATH SOURCE_PATH REPO lv2/sratom - REF v0.6.4 - SHA512 c155694365e9efe2f108135cccafd6369e896bd27ec816ac8bb429785d9218b1b30e8532188cfb39485d4b163a920ddb47466a461dcd6958d754ed0698d31081 + REF "v${VERSION}" + SHA512 938326f598ccf0010bfd7517c4a98f3729f9db1d771c990fcc6b8e008b44970c34b65aa6d491b99250067428501218b11f185a7282484a7b62217b7f2961c40d HEAD_REF master ) file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - PREFER_NINJA OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=1 ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets() +vcpkg_cmake_config_fixup() file( INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" diff --git a/ports/sratom/vcpkg.json b/ports/sratom/vcpkg.json index 013a4b436c29ef..5a36e060233306 100644 --- a/ports/sratom/vcpkg.json +++ b/ports/sratom/vcpkg.json @@ -1,12 +1,20 @@ { "name": "sratom", - "version-string": "0.6.4", + "version": "0.6.16", "description": "Sratom is a library for serialising LV2 atoms to and from RDF, particularly the Turtle syntax.", "homepage": "https://drobilla.net/software/sratom", "license": "ISC", "dependencies": [ "lv2", "serd", - "sord" + "sord", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/srell/portfile.cmake b/ports/srell/portfile.cmake index 354c9da005149d..397834a6769def 100644 --- a/ports/srell/portfile.cmake +++ b/ports/srell/portfile.cmake @@ -1,10 +1,10 @@ -set(VERSION 3_001) +set(VERSION 3_010) vcpkg_download_distfile( ARCHIVE URLS "https://www.akenotsuki.com/misc/srell/srell${VERSION}.zip" FILENAME "srell${VERSION}.zip" - SHA512 6FE1DAC49B713B8FA0E4B12099E2B35017CE853CC8C7045AA808401D8C6D15E16B50E6DDFDCB0EFA9DB31188D5B9B385081C1EEB2AC413701847688B38B61B76 + SHA512 5F2762A98E1B68C3A4FA79051AE2CBEFD23CEDF1CE833FA1EB812D3F1112734018AF36AA9D9A50E2DC40C87A7FAAF46AF0B8F4161481994DC5E19F44301E867D ) vcpkg_extract_source_archive( diff --git a/ports/srell/vcpkg.json b/ports/srell/vcpkg.json index 25549535306d1d..579906d3f71709 100644 --- a/ports/srell/vcpkg.json +++ b/ports/srell/vcpkg.json @@ -1,6 +1,7 @@ { "name": "srell", - "version-string": "3.001", + "version-string": "3.010", "description": "SRELL (std::regex-like library) is a regular expression template library for C++.", - "homepage": "https://www.akenotsuki.com/misc/srell/en/" + "homepage": "https://www.akenotsuki.com/misc/srell/en/", + "license": "BSD-2-Clause" } diff --git a/ports/srpc/portfile.cmake b/ports/srpc/portfile.cmake index 5b5dbc81a8eb5d..98b5142ba08ad7 100644 --- a/ports/srpc/portfile.cmake +++ b/ports/srpc/portfile.cmake @@ -1,14 +1,31 @@ +vcpkg_download_distfile( + PROTOBUF_V5_PATCH + URLS https://github.com/sogou/srpc/commit/bb882f98820bff7fa91aa83b29640fa753e11772.patch?full_index=1 + SHA512 dbb665626073860ee22ccaf6369c54635d4c689e0bfcd5f86a60a1738b4c9eb9fb8eaa393b3551c7e9860f54e9a0f8463df66b9fb736394172f3f46dc2681016 + FILENAME bb882f98820bff7fa91aa83b29640fa753e11772.patch +) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO sogou/srpc - REF v0.9.3 - SHA512 e64cfec279f833ad24b1942ef2b572fc4bd3bfc5f9d623cd5d25b3c869d2ff9b35250cc814e8aaeb919ebed0929c44407eb9abb2e6793cfdc967708210f5f7e3 + REF v${VERSION} + SHA512 55c0ebbf30c24fdb40885792d5d3f1e183f27fcf13df6217053bec13cf9ed6359888351b20a792607b1f49df674b88bd148cf4c8addb1f610b1c59dd4eeba0f2 HEAD_REF master + PATCHES + protobuf.patch + ${PROTOBUF_V5_PATCH} ) +string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" SRPC_BUILD_STATIC_RUNTIME) + vcpkg_cmake_configure( SOURCE_PATH ${SOURCE_PATH} DISABLE_PARALLEL_CONFIGURE + OPTIONS + -DSRPC_BUILD_STATIC_RUNTIME=${SRPC_BUILD_STATIC_RUNTIME} + -DCMAKE_CXX_STANDARD=11 + MAYBE_UNUSED_VARIABLES + SRPC_BUILD_STATIC_RUNTIME ) vcpkg_cmake_install() @@ -19,6 +36,5 @@ vcpkg_copy_tools( AUTO_CLEAN ) -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) +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/srpc/protobuf.patch b/ports/srpc/protobuf.patch new file mode 100644 index 00000000000000..5dc40bda25a2d0 --- /dev/null +++ b/ports/srpc/protobuf.patch @@ -0,0 +1,148 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 6c1aafc..97854a6 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -58,11 +58,10 @@ else () + endif () + + check_include_file_cxx("workflow/Workflow.h" WORKFLOW_INSTALLED) +-if (NOT WORKFLOW_INSTALLED) ++if (0) + if (NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/workflow/workflow-config.cmake.in") + message( FATAL_ERROR "\nWorkflow" ${THIRD_PARTY_FATAL_MESSAGE} ) + endif () +-else () + if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/workflow/workflow-config.cmake.in") + message("Workflow third_party FOUND. Use for source code dependencies.") + set(WORKFLOW_INSTALLED 0) +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 3b47ee6..15c8009 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -16,7 +16,7 @@ set(protobuf_MODULE_COMPATIBLE ON CACHE BOOL "") + if (WIN32) + find_package(Protobuf REQUIRED CONFIG) + else () +- find_package(Protobuf 3.5.0 REQUIRED) ++ find_package(Protobuf CONFIG REQUIRED) + endif () + + if (WIN32) +@@ -59,8 +59,8 @@ if (WIN32) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /MP /wd4200") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP /wd4200 /Zc:__cplusplus /std:c++14") + else () +- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -fPIC -pipe -std=gnu90") +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -fPIC -pipe -std=c++11 -fno-exceptions") ++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -fPIC -pipe") ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -fPIC -pipe -fno-exceptions") + endif () + + add_subdirectory(generator) +@@ -100,6 +100,7 @@ if (WIN32) + ) + + add_dependencies(${PROJECT_NAME} LINK_HEADERS) ++ target_link_libraries(${PROJECT_NAME} PUBLIC protobuf::libprotobuf) + + target_compile_definitions( + ${PROJECT_NAME} PRIVATE +@@ -118,7 +119,6 @@ if (WIN32) + else () + set(STATIC_LIB_NAME ${PROJECT_NAME}-static) + set(SHARED_LIB_NAME ${PROJECT_NAME}-shared) +- get_filename_component(Protobuf_LIB_DIR ${Protobuf_LIBRARY} DIRECTORY) + link_directories(${OPENSSL_LINK_DIR} ${WORKFLOW_LIB_DIR} ${Protobuf_LIB_DIR}) + + add_library( +@@ -143,8 +143,10 @@ else () + $ + ) + ++ target_link_libraries(${SHARED_LIB_NAME} PUBLIC protobuf::libprotobuf) ++ target_link_libraries(${STATIC_LIB_NAME} PUBLIC protobuf::libprotobuf) + if (APPLE) +- target_link_libraries(${SHARED_LIB_NAME} ++ target_link_libraries(${SHARED_LIB_NAME} PUBLIC + OpenSSL::SSL + OpenSSL::Crypto + pthread +diff --git a/src/compress/CMakeLists.txt b/src/compress/CMakeLists.txt +index 818b505..c0d1dde 100644 +--- a/src/compress/CMakeLists.txt ++++ b/src/compress/CMakeLists.txt +@@ -51,3 +51,4 @@ else () + ) + endif() + ++target_link_libraries(${PROJECT_NAME} PUBLIC protobuf::libprotobuf) +diff --git a/src/generator/CMakeLists.txt b/src/generator/CMakeLists.txt +index c2d72d7..674c5d0 100644 +--- a/src/generator/CMakeLists.txt ++++ b/src/generator/CMakeLists.txt +@@ -8,6 +8,7 @@ set(SRC + ) + + add_executable(${PROJECT_NAME} ${SRC}) ++target_link_libraries(${PROJECT_NAME} PUBLIC protobuf::libprotobuf) + if (WIN32) + target_compile_definitions( + ${PROJECT_NAME} PRIVATE +diff --git a/src/http/CMakeLists.txt b/src/http/CMakeLists.txt +index 64c0377..1cf1dfc 100644 +--- a/src/http/CMakeLists.txt ++++ b/src/http/CMakeLists.txt +@@ -11,6 +11,7 @@ set(SRC + ) + + add_library(${PROJECT_NAME} OBJECT ${SRC}) ++target_link_libraries(${PROJECT_NAME} PUBLIC protobuf::libprotobuf) + if (WIN32) + target_compile_definitions( + ${PROJECT_NAME} PRIVATE +diff --git a/src/message/CMakeLists.txt b/src/message/CMakeLists.txt +index 952607f..f947540 100644 +--- a/src/message/CMakeLists.txt ++++ b/src/message/CMakeLists.txt +@@ -15,6 +15,7 @@ set(SRC + ) + + add_library(${PROJECT_NAME} OBJECT ${SRC}) ++target_link_libraries(${PROJECT_NAME} PUBLIC protobuf::libprotobuf) + if (WIN32) + target_compile_definitions( + ${PROJECT_NAME} PRIVATE +diff --git a/src/module/CMakeLists.txt b/src/module/CMakeLists.txt +index f0041a4..a9d9a65 100644 +--- a/src/module/CMakeLists.txt ++++ b/src/module/CMakeLists.txt +@@ -22,6 +22,7 @@ set(SRC + ) + + add_library(${PROJECT_NAME} OBJECT ${SRC}) ++target_link_libraries(${PROJECT_NAME} PUBLIC protobuf::libprotobuf) + + if (WIN32) + target_compile_definitions( +diff --git a/src/thrift/CMakeLists.txt b/src/thrift/CMakeLists.txt +index 1d1d61c..dc66723 100644 +--- a/src/thrift/CMakeLists.txt ++++ b/src/thrift/CMakeLists.txt +@@ -7,4 +7,4 @@ set(SRC + ) + + add_library(${PROJECT_NAME} OBJECT ${SRC}) +- ++target_link_libraries(${PROJECT_NAME} PUBLIC protobuf::libprotobuf) +diff --git a/srpc-config.cmake.in b/srpc-config.cmake.in +index 54b4323..1cdb97f 100644 +--- a/srpc-config.cmake.in ++++ b/srpc-config.cmake.in +@@ -3,7 +3,6 @@ + set(SRPC_VERSION "@srpc_VERSION@") + set_and_check(SRPC_INCLUDE_DIR "@PACKAGE_CONFIG_INC_DIR@") + set_and_check(SRPC_LIB_DIR "@PACKAGE_CONFIG_LIB_DIR@") +-set_and_check(SRPC_BIN_DIR "@PACKAGE_CONFIG_BIN_DIR@") + + if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/srpc-targets.cmake") + include ("${CMAKE_CURRENT_LIST_DIR}/srpc-targets.cmake") diff --git a/ports/srpc/vcpkg.json b/ports/srpc/vcpkg.json index 3b95d8da00f2f8..10183cc2e8a752 100644 --- a/ports/srpc/vcpkg.json +++ b/ports/srpc/vcpkg.json @@ -1,6 +1,7 @@ { "name": "srpc", - "version-semver": "0.9.3", + "version-semver": "0.10.3", + "port-version": 1, "description": "RPC based on Sogou C++ Workflow", "homepage": "https://github.com/sogou/srpc", "dependencies": [ diff --git a/ports/sse2neon/portfile.cmake b/ports/sse2neon/portfile.cmake new file mode 100644 index 00000000000000..09fdb9f8c291c5 --- /dev/null +++ b/ports/sse2neon/portfile.cmake @@ -0,0 +1,14 @@ +#header-only library +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO DLTcollab/sse2neon + REF "v${VERSION}" + SHA512 a93d2bfc0f2fe955eb0f1acfc85fdf6ef1f61254944554c0eb93f668233d9046c9c40786b182c31d4e6a181a9eaa366e9ba35c8062be791031e429d108f23cbc + HEAD_REF master +) + +# Copy header file +file(COPY "${SOURCE_PATH}/sse2neon.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include/sse2neon/") + +# Handle copyright +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/sse2neon/vcpkg.json b/ports/sse2neon/vcpkg.json new file mode 100644 index 00000000000000..24f5c763fd5bcf --- /dev/null +++ b/ports/sse2neon/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "sse2neon", + "version": "1.7.0", + "description": "A translator from Intel SSE intrinsics to Arm/Aarch64 NEON implementation", + "homepage": "https://github.com/DLTcollab/sse2neon", + "license": "MIT" +} diff --git a/ports/stackwalker/fix-exports.patch b/ports/stackwalker/fix-exports.patch new file mode 100644 index 00000000000000..3ff79bda4f3ae5 --- /dev/null +++ b/ports/stackwalker/fix-exports.patch @@ -0,0 +1,28 @@ +diff --git "a/CMakeLists.txt" "b/CMakeLists.txt" +index 82f0206a2..8160fd789 100644 +--- "a/CMakeLists.txt" ++++ "b/CMakeLists.txt" +@@ -79,12 +79,13 @@ add_library(${TARGET_StackWalker} STATIC + Main/StackWalker/StackWalker.cpp) + target_include_directories(${TARGET_StackWalker} PUBLIC + $ ++ $ + ) + +-install(TARGETS "${TARGET_StackWalker}" +- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} +- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} +- RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ++install(TARGETS "${TARGET_StackWalker}" EXPORT stackwalker-config ++ ARCHIVE DESTINATION lib ++ LIBRARY DESTINATION lib ++ RUNTIME DESTINATION bin + ) + + install(FILES "${CMAKE_SOURCE_DIR}/Main/StackWalker/StackWalker.h" +@@ -114,3 +115,5 @@ else() + + add_test(NAME ${TARGET_StackWalker_tests} COMMAND ${TARGET_StackWalker_tests}) + endif() ++ ++install(EXPORT stackwalker-config NAMESPACE unofficial::stackwalker:: DESTINATION share/stackwalker) diff --git a/ports/stackwalker/portfile.cmake b/ports/stackwalker/portfile.cmake new file mode 100644 index 00000000000000..4a5c4c4234d51d --- /dev/null +++ b/ports/stackwalker/portfile.cmake @@ -0,0 +1,28 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO JochenKalmbach/StackWalker + REF "${VERSION}" + SHA512 6fe8c5eb6e2d94630d43644a13cf62f1725a9f39115bda2d859461ad0cc6acf27e8a246247bd9b49940fb4ec372559f6d11467e77215d3638f910f2574ac449a + HEAD_REF master + PATCHES + fix-exports.patch +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${options} + -DStackWalker_DISABLE_TESTS=OFF +) + +vcpkg_cmake_install() + +vcpkg_copy_pdbs() + +vcpkg_cmake_config_fixup() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/stackwalker/vcpkg.json b/ports/stackwalker/vcpkg.json new file mode 100644 index 00000000000000..d1e311bedcca57 --- /dev/null +++ b/ports/stackwalker/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "stackwalker", + "version-date": "2023-06-24", + "description": "StackWalker - Walking the callstack.", + "license": "BSD-2-Clause", + "supports": "windows & !uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/starlink-ast/cminpack.diff b/ports/starlink-ast/cminpack.diff new file mode 100644 index 00000000000000..deb5e2d7055426 --- /dev/null +++ b/ports/starlink-ast/cminpack.diff @@ -0,0 +1,46 @@ +diff --git a/Makefile.in b/Makefile.in +index a935107..51c5e07 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -1572,13 +1572,13 @@ libast_la_SOURCES = \ + libast_la_LDFLAGS = -version-info @version_info@ + @EXTERNAL_CMINPACK_FALSE@@EXTERNAL_PAL_FALSE@libast_la_LIBADD = libast_pal.la libast_cminpack.la + @EXTERNAL_CMINPACK_FALSE@@EXTERNAL_PAL_TRUE@libast_la_LIBADD = -lpal libast_cminpack.la +-@EXTERNAL_CMINPACK_TRUE@@EXTERNAL_PAL_FALSE@libast_la_LIBADD = libast_pal.la -lcminpack ++@EXTERNAL_CMINPACK_TRUE@@EXTERNAL_PAL_FALSE@libast_la_LIBADD = libast_pal.la $(LIBCMINPACK) + + # Ensure libast links against libraries containing functions used within + # libast. If AST is configured --with-external-pal, then the internal + # libast_pal library will be empty, and we link to an external PAL + # library instead. Do the same for cminpack +-@EXTERNAL_CMINPACK_TRUE@@EXTERNAL_PAL_TRUE@libast_la_LIBADD = -lpal -lcminpack ++@EXTERNAL_CMINPACK_TRUE@@EXTERNAL_PAL_TRUE@libast_la_LIBADD = -lpal $(LIBCMINPACK) + + # AST_PAR is really part of GRP_F_INCLUDE_FILES, but it must not be + # distributed, so list it separately. +diff --git a/configure b/configure +index d9db3ee..f3d3fc0 100755 +--- a/configure ++++ b/configure +@@ -15763,7 +15763,7 @@ fi + EXTERNAL_CMINPACK=$external_cminpack + + if test "$external_cminpack" = "1"; then +- LIBCMINPACK="-lcminpack" ++ LIBCMINPACK="-lcminpack$CMINPACK_DEBUG_SUFFIX" + + + $as_echo "#define EXTERNAL_CMINPACK 1" >>confdefs.h +diff --git a/src/polymap.c b/src/polymap.c +index 0b436cc..1aee268 100644 +--- a/src/polymap.c ++++ b/src/polymap.c +@@ -165,7 +165,7 @@ f - AST_POLYTRAN: Fit a PolyMap inverse or forward transformation + #include "cmpmap.h" /* Compound mappings */ + #include "polymap.h" /* Interface definition for this class */ + #include "unitmap.h" /* Unit mappings */ +-#include "cminpack/cminpack.h" /* Levenberg - Marquardt minimization */ ++#include "cminpack-1/cminpack.h" /* Levenberg - Marquardt minimization */ + #include "pal.h" /* SLALIB function definitions */ + + /* Error code definitions. */ diff --git a/ports/starlink-ast/portfile.cmake b/ports/starlink-ast/portfile.cmake index 92475ad5509dc2..d416b91546b512 100644 --- a/ports/starlink-ast/portfile.cmake +++ b/ports/starlink-ast/portfile.cmake @@ -1,20 +1,26 @@ -vcpkg_fail_port_install(ON_TARGET "Linux" "OSX") +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/Starlink/ast/releases/download/v9.2.4/ast-9.2.4.tar.gz" - FILENAME "ast-9.2.4.tar.gz" - SHA512 84e6f243e6d9d77328b73b97355feb3990307fb9c8f9b2f30344d71e2f5e63a849cdce0090ff5b7cc16028e12d68516c885b13d76db841072c9d1d06a7742a9e + URLS "https://github.com/Starlink/ast/releases/download/v${VERSION}/ast-${VERSION}.tar.gz" + FILENAME "starlink-ast-${VERSION}.tar.gz" + SHA512 b559535496b88b33845bd3732bb6ee80572dc0d8d963173e0199d44be09add244244d9aab90642de84c65714bca6c73b5bdc3b3290a55f171e6f3ce7643250f5 ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" + PATCHES + cminpack.diff ) +file(REMOVE_RECURSE "${SOURCE_PATH}/cminpack") set(CONFIGURE_OPTIONS --without-fortran - star_cv_cnf_trail_type=long - star_cv_cnf_f2c_compatible=no + --with-external-cminpack + "--with-starlink=${CURRENT_INSTALLED_DIR}" + FC=false ) if ("yaml" IN_LIST FEATURES) @@ -34,13 +40,55 @@ vcpkg_configure_make( USE_WRAPPERS DETERMINE_BUILD_TRIPLET ADDITIONAL_MSYS_PACKAGES perl - OPTIONS ${CONFIGURE_OPTIONS} + OPTIONS + ${CONFIGURE_OPTIONS} + OPTIONS_DEBUG + CMINPACK_DEBUG_SUFFIX=_d +) +vcpkg_install_make( + OPTIONS + STAR_LDFLAGS= # Do not override build type's lib dirs +) + +# Avoid vcpkg artifact issues with symlinks +foreach(ast_lib IN ITEMS "${CURRENT_PACKAGES_DIR}/lib/libast" "${CURRENT_PACKAGES_DIR}/debug/lib/libast") + if(VCPKG_LIBRARY_LINKAGE STREQUAL "static" AND EXISTS "${ast_lib}${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}") + file(REMOVE "${ast_lib}_pass2${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}") + file(COPY_FILE "${ast_lib}${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}" "${ast_lib}_pass2${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}") + endif() +endforeach() + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/docs" + "${CURRENT_PACKAGES_DIR}/debug/help" + "${CURRENT_PACKAGES_DIR}/debug/manifests" + "${CURRENT_PACKAGES_DIR}/debug/news" + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/docs" + "${CURRENT_PACKAGES_DIR}/help" + "${CURRENT_PACKAGES_DIR}/manifests" + "${CURRENT_PACKAGES_DIR}/news" + "${CURRENT_PACKAGES_DIR}/share/${PORT}/ast" ) -vcpkg_install_make() +# Remove cl preprocessing comments +foreach(file IN ITEMS "include/ast.h" "include/star/ast.h") + file(READ "${CURRENT_PACKAGES_DIR}/${file}" cpp_output) + string(REGEX REPLACE "#line [^ ]+ \"[^\"]*\"" "" cpp_output "${cpp_output}") + file(WRITE "${CURRENT_PACKAGES_DIR}/${file}" "${cpp_output}") +endforeach() + +vcpkg_install_copyright( + FILE_LIST + "${SOURCE_PATH}/COPYING.LESSER" + "${SOURCE_PATH}/COPYING" + "${SOURCE_PATH}/erfa/LICENSE" + COMMENT [[ +AST is distributed under the Lesser GPL licence (LGPL). -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share") +The AST distribution includes a cut down subset of the C version of the SLALIB library written +by Pat Wallace. This subset contains only the functions needed by the AST library. It is built as +part of the process of building AST and is distributed under GPL. -# # Handle copyright -file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +The AST distribution includes the ERFA library. See LICENSE below. +]]) diff --git a/ports/starlink-ast/vcpkg.json b/ports/starlink-ast/vcpkg.json index 5c3753df6b4cdd..52812fa27683b6 100644 --- a/ports/starlink-ast/vcpkg.json +++ b/ports/starlink-ast/vcpkg.json @@ -1,19 +1,22 @@ { "name": "starlink-ast", - "version-semver": "9.2.4", - "port-version": 2, + "version": "9.2.10", + "port-version": 1, "description": "The AST library provides a comprehensive range of facilities for attaching world coordinate systems to astronomical data, for retrieving and interpreting that information and for generating graphical output based on it", "homepage": "https://starlink.eao.hawaii.edu/starlink/AST", - "supports": "windows", + "license": null, + "dependencies": [ + "cminpack" + ], "features": { "pthreads": { - "description": "build with POSIX threads support", + "description": "Build with POSIX threads support", "dependencies": [ "pthreads" ] }, "yaml": { - "description": "build with YAML support", + "description": "Build with YAML support", "dependencies": [ "libyaml" ] diff --git a/ports/staticjson/portfile.cmake b/ports/staticjson/portfile.cmake new file mode 100644 index 00000000000000..f2eb9a9337e770 --- /dev/null +++ b/ports/staticjson/portfile.cmake @@ -0,0 +1,18 @@ +vcpkg_minimum_required(VERSION 2022-10-12) +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO netheril96/StaticJSON + REF "v${VERSION}" + SHA512 7d346b69c736aac11eec4fce6650c394dd388f551a359e77f26d80d1b7aa67670be993abe16f2d834263a87a1c116502a96ab6253cb18cab3aaa7d88a6d4d809 + HEAD_REF master +) +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DSTATICJSON_ENABLE_TEST=OFF +) +vcpkg_cmake_install() +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") diff --git a/ports/staticjson/vcpkg.json b/ports/staticjson/vcpkg.json new file mode 100644 index 00000000000000..a37757a2617a8b --- /dev/null +++ b/ports/staticjson/vcpkg.json @@ -0,0 +1,19 @@ +{ + "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json", + "name": "staticjson", + "version": "1.0.0", + "description": "Fast, direct and static typed parsing of JSON with C++", + "homepage": "https://github.com/netheril96/StaticJSON", + "license": "MIT", + "dependencies": [ + "rapidjson", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/status-code/portfile.cmake b/ports/status-code/portfile.cmake index f369a3ba05a17d..2a980f68f3b627 100644 --- a/ports/status-code/portfile.cmake +++ b/ports/status-code/portfile.cmake @@ -1,29 +1,30 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ned14/status-code - REF ab3cd8217b6a89b91708a497f77f119c096fcce3 - SHA512 266c79875fd6edb4a239768da29401193d5b710fe3d06208df010c5ca56bf80fa4558f572c738ab9290ee378437c882d072e93e8fb10fb1e3787b460f40a7102 + REF 63b229c756202525d1c90d21706fdfb744096220 + SHA512 610b40b6a967fcce9494478d4518e2529be328ce2aaccbedab8d2264d19d2791e427f51b48886fceacafecf74f24a3d25a9dd54697d375bdc8414521cce579a5 HEAD_REF master + PATCHES ) # Because status-code's deployed files are header-only, the debug build is not necessary set(VCPKG_BUILD_TYPE release) -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - PREFER_NINJA OPTIONS - -DPROJECT_IS_DEPENDENCY=On + -DBUILD_TESTING=OFF + -Dstatus-code_IS_DEPENDENCY=ON + -DCMAKE_DISABLE_FIND_PACKAGE_Boost=ON + MAYBE_UNUSED_VARIABLES + CMAKE_DISABLE_FIND_PACKAGE_Boost ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/status-code) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/status-code) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") -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/status-code") file(INSTALL "${CURRENT_PORT_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -file(INSTALL "${SOURCE_PATH}/Licence.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/Licence.txt") diff --git a/ports/status-code/vcpkg.json b/ports/status-code/vcpkg.json index 6a47ecd029f48c..58adef2d5d92fd 100644 --- a/ports/status-code/vcpkg.json +++ b/ports/status-code/vcpkg.json @@ -1,7 +1,22 @@ { "name": "status-code", - "version-string": "1.0.0-ab3cd821", + "version-date": "2023-11-06", "port-version": 1, + "maintainers": [ + "Niall Douglas ", + "Henrik Gaßmann " + ], "description": "Proposed SG14 status_code for the C++ standard (https://wg21.link/P1028).", - "homepage": "https://github.com/ned14/status-code" + "homepage": "https://github.com/ned14/status-code", + "license": "Apache-2.0 OR BSL-1.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/status-value-lite/portfile.cmake b/ports/status-value-lite/portfile.cmake index 3e935cd5c369f1..637a543aea4f0e 100644 --- a/ports/status-value-lite/portfile.cmake +++ b/ports/status-value-lite/portfile.cmake @@ -6,25 +6,23 @@ vcpkg_from_github( HEAD_REF master ) -vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES test BUILD_TESTS ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DNSSV_OPT_BUILD_TESTS=${BUILD_TESTS} -DNSSV_OPT_BUILD_EXAMPLES=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/status_value-lite) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/status_value-lite) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") # Handle copyright -file(COPY ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/status-value-lite/vcpkg.json b/ports/status-value-lite/vcpkg.json index 9850afb43046a6..2ab1839aab76d2 100644 --- a/ports/status-value-lite/vcpkg.json +++ b/ports/status-value-lite/vcpkg.json @@ -1,9 +1,19 @@ { "name": "status-value-lite", - "version-string": "1.1.0", - "port-version": 1, + "version": "1.1.0", + "port-version": 3, "description": "status_value is a single-file header-only library for objects that represent a status and an optional value. It is intended for use with C++11 and later.", "homepage": "https://github.com/martinmoene/status-value-lite", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], "features": { "test": { "description": "Build with test" diff --git a/ports/stb/portfile.cmake b/ports/stb/portfile.cmake index 439d154a006ef0..f449804f71dbed 100644 --- a/ports/stb/portfile.cmake +++ b/ports/stb/portfile.cmake @@ -1,14 +1,16 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO nothings/stb - REF b42009b3b9d4ca35bc703f5310eedc74f584be58 # accessed on 2020-09-14 - SHA512 a9ba80d19dae4e527171bb02e1caa4d3eb0704cdf7f8fef1a7a09e6b05c65b829b0aa580f469f158a39bf13018289f40c1680ab5c22bfa5e932bff94eced475d + REF f75e8d1cad7d90d72ef7a4661f1b994ef78b4e31 # committed on 2024-07-29 + SHA512 4a733aefb816a366c999663e3d482144616721b26c321ee5dd0dce611a34050b6aef97d46bd2c4f8a9631d83b097491a7ce88607fd9493d880aaa94567a68cce HEAD_REF master ) -file(GLOB HEADER_FILES ${SOURCE_PATH}/*.h) -file(COPY ${HEADER_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include) +file(GLOB HEADER_FILES "${SOURCE_PATH}/*.h" "${SOURCE_PATH}/stb_vorbis.c") +file(COPY ${HEADER_FILES} DESTINATION "${CURRENT_PACKAGES_DIR}/include") -file(INSTALL ${SOURCE_PATH}/README.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) -file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/FindStb.cmake" DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) -file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/FindStb.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +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}") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/stb/usage b/ports/stb/usage new file mode 100644 index 00000000000000..ac75766bfa09ee --- /dev/null +++ b/ports/stb/usage @@ -0,0 +1,4 @@ +The package stb provides CMake targets: + + find_package(Stb REQUIRED) + target_include_directories(main PRIVATE ${Stb_INCLUDE_DIR}) \ No newline at end of file diff --git a/ports/stb/vcpkg.json b/ports/stb/vcpkg.json index f7dd85dac89ce6..07b7d65b18fc44 100644 --- a/ports/stb/vcpkg.json +++ b/ports/stb/vcpkg.json @@ -1,7 +1,8 @@ { "name": "stb", - "version-string": "2020-09-14", + "version-date": "2024-07-29", "port-version": 1, "description": "public domain header-only libraries", - "homepage": "https://github.com/nothings/stb" + "homepage": "https://github.com/nothings/stb", + "license": "MIT OR CC-PDDC" } diff --git a/ports/stdexec/fix-version.patch b/ports/stdexec/fix-version.patch new file mode 100644 index 00000000000000..a977995e957399 --- /dev/null +++ b/ports/stdexec/fix-version.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 7c2874e..0c81985 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -35,7 +35,7 @@ if(NOT EXISTS ${CMAKE_BINARY_DIR}/execution.bs) + ${CMAKE_BINARY_DIR}/execution.bs) + endif() + file(STRINGS "${CMAKE_BINARY_DIR}/execution.bs" STD_EXECUTION_BS_REVISION_LINE REGEX "Revision: [0-9]+") +-string(REGEX REPLACE "Revision: ([0-9]+)" "\\1" STD_EXECUTION_BS_REVISION ${STD_EXECUTION_BS_REVISION_LINE}) ++string(REGEX REPLACE "Revision: ([0-9]+).*" "\\1" STD_EXECUTION_BS_REVISION ${STD_EXECUTION_BS_REVISION_LINE}) + + # nvc++ isn't supported by (s)ccache yet, so unset these before the `project()` + # call so CMake's CXX compiler detection doesn't throw attempting to use it diff --git a/ports/stdexec/portfile.cmake b/ports/stdexec/portfile.cmake new file mode 100644 index 00000000000000..d3d64cbf3da6e3 --- /dev/null +++ b/ports/stdexec/portfile.cmake @@ -0,0 +1,77 @@ +set(VCPKG_BUILD_TYPE release) # header-only + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO NVIDIA/stdexec + REF 089c4613385f808c3b39c4f4915f658157013a36 + SHA512 a9c1d4009b71bfc280801814272319312b8edcd3106c5fd8fdab6fc2eb2c64be4a01374026de02129389e4d2280599b14a3c037566a1bbefcd6b48c5052d583b + HEAD_REF main + PATCHES + fix-version.patch +) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH_RAPIDS + REPO rapidsai/rapids-cmake + REF v24.02.01 # stable tag (stdexec wants branch-24.02) + SHA512 bb8f2b1177f6451d61f2de26f39fd6d31c2f0fb80b4cd1409edc3e6e4f726e80716ec177d510d0f31b8f39169cd8b58290861f0f217daedbd299e8e426d25891 + HEAD_REF main +) +vcpkg_replace_string("${SOURCE_PATH}/CMakeLists.txt" + [[file(DOWNLOAD https://raw.githubusercontent.com/rapidsai/rapids-cmake/branch-24.02/RAPIDS.cmake]] + "file(COPY_FILE \"${SOURCE_PATH_RAPIDS}/RAPIDS.cmake\"" +) + +vcpkg_download_distfile(execution_bs + URLS "https://raw.githubusercontent.com/cplusplus/sender-receiver/12fde4af201017e49efd39178126f661a04dbb94/execution.bs" + FILENAME "execution.bs" + SHA512 90bb992356f22e4091ed35ca922f6a0143abd748499985553c0660eaf49f88d031a8f900addb6b4cf9a39ac8d1ab7c858b79677e2459136a640b2c52afe3dd23 +) +vcpkg_replace_string("${SOURCE_PATH}/CMakeLists.txt" + [[file(DOWNLOAD "https://raw.githubusercontent.com/cplusplus/sender-receiver/main/execution.bs"]] + "file(COPY_FILE \"${execution_bs}\"" +) + +# stdexec uses cpm (via rapids-cmake). +# Setup a local cpm cache from assets cached by vcpkg +file(REMOVE_RECURSE "${CURRENT_BUILDTREES_DIR}/cpm") +# Version from rapids-cmake cpm/detail/download.cmake +set(CPM_DOWNLOAD_VERSION 0.38.5) +vcpkg_download_distfile(CPM_CMAKE + URLS https://github.com/cpm-cmake/CPM.cmake/releases/download/v${CPM_DOWNLOAD_VERSION}/CPM.cmake + FILENAME CPM_${CPM_DOWNLOAD_VERSION}.cmake + SHA512 a376162be4fe70408c000409f7a3798e881ed183cb51d57c9540718fdd539db9028755653bd3965ae7764b5c3e36adea81e0752fe85e40790f022fa1c4668cc6 +) +file(INSTALL "${CPM_CMAKE}" DESTINATION "${CURRENT_BUILDTREES_DIR}/cpm/cpm") + +# Version and patch from stdexec CMakeLists.txt +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH_ICM + REPO iboB/icm + REF v1.5.0 # from stdexec CMakeLists.txt + SHA512 0d5173d7640e2b411dddfc67e1ee19c921817e58de36ea8325430ee79408edc0a23e17159e22dc4a05f169596ee866effa69e7cd0000b08f47bd090d5003ba1c + HEAD_REF master + PATCHES + "${SOURCE_PATH}/cmake/cpm/patches/icm/regex-build-error.diff" +) + +vcpkg_find_acquire_program(GIT) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DSTDEXEC_BUILD_TESTS=OFF + -DSTDEXEC_BUILD_EXAMPLES=OFF + "-DFETCHCONTENT_SOURCE_DIR_RAPIDS-CMAKE=${SOURCE_PATH_RAPIDS}" + "-DCPM_SOURCE_CACHE=${CURRENT_BUILDTREES_DIR}/cpm" + "-DCPM_icm_SOURCE=${SOURCE_PATH_ICM}" + "-DGIT_EXECUTABLE=${GIT}" +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/stdexec) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") diff --git a/ports/stdexec/vcpkg.json b/ports/stdexec/vcpkg.json new file mode 100644 index 00000000000000..39e6e1e1bc3aec --- /dev/null +++ b/ports/stdexec/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "stdexec", + "version-date": "2024-06-16", + "port-version": 2, + "description": "stdexec is an experimental reference implementation of the Senders model of asynchronous programming proposed by P2300 - std::execution for adoption into the C++ Standard.", + "homepage": "https://github.com/NVIDIA/stdexec", + "license": "Apache-2.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/stduuid/fix-gsl-polyfill.patch b/ports/stduuid/fix-gsl-polyfill.patch new file mode 100644 index 00000000000000..3ae035938481cf --- /dev/null +++ b/ports/stduuid/fix-gsl-polyfill.patch @@ -0,0 +1,35 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -43,11 +43,11 @@ if (UUID_TIME_GENERATOR) + endif() + + # Using span from std +-if (NOT UUID_USING_CXX20_SPAN) +- target_include_directories(${PROJECT_NAME} INTERFACE +- $ +- $) +- install(DIRECTORY gsl DESTINATION include) ++if (UUID_USING_CXX20_SPAN) ++ target_compile_features(${PROJECT_NAME} INTERFACE cxx_std_20) ++else() ++ find_package(Microsoft.GSL CONFIG REQUIRED) ++ target_link_libraries(${PROJECT_NAME} INTERFACE Microsoft.GSL::GSL) + endif () + + if(UUID_ENABLE_INSTALL) +diff --git a/cmake/Config.cmake.in b/cmake/Config.cmake.in +--- a/cmake/Config.cmake.in ++++ b/cmake/Config.cmake.in +@@ -9,6 +9,10 @@ if (@UUID_SYSTEM_GENERATOR@) + endif () + endif () + ++if (NOT "@UUID_USING_CXX20_SPAN@") ++ find_dependency(Microsoft.GSL) ++endif () ++ + include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@-targets.cmake") + + check_required_components(@PROJECT_NAME@) +\ No newline at end of file diff --git a/ports/stduuid/fix-install-directory.patch b/ports/stduuid/fix-install-directory.patch new file mode 100644 index 00000000000000..be1a12bf77ebca --- /dev/null +++ b/ports/stduuid/fix-install-directory.patch @@ -0,0 +1,22 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -18,7 +18,8 @@ option(UUID_USING_CXX20_SPAN "Using span from std instead of gsl" OFF) + add_library(${PROJECT_NAME} INTERFACE) + target_include_directories(${PROJECT_NAME} INTERFACE + $ +- $) ++ $ ++ $) + + # Using system uuid generator + if (UUID_SYSTEM_GENERATOR) +@@ -52,7 +52,7 @@ + + if(UUID_ENABLE_INSTALL) + # Install step and imported target +- install(FILES include/uuid.h DESTINATION include) ++ install(FILES include/uuid.h DESTINATION include/stduuid) + install(TARGETS ${PROJECT_NAME} EXPORT ${PROJECT_NAME}-targets) + install(EXPORT ${PROJECT_NAME}-targets + DESTINATION lib/cmake/${PROJECT_NAME}) diff --git a/ports/stduuid/fix-libuuid-dependency.patch b/ports/stduuid/fix-libuuid-dependency.patch new file mode 100644 index 00000000000000..59134811d5fbc4 --- /dev/null +++ b/ports/stduuid/fix-libuuid-dependency.patch @@ -0,0 +1,32 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 039ee53..d4218a4 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -23,11 +23,8 @@ if (UUID_SYSTEM_GENERATOR) + find_library(CFLIB CoreFoundation REQUIRED) + target_link_libraries(${PROJECT_NAME} INTERFACE ${CFLIB}) + else () +- find_package(Libuuid REQUIRED) +- if (Libuuid_FOUND) +- target_include_directories(${PROJECT_NAME} INTERFACE ${Libuuid_INCLUDE_DIRS}) +- target_link_libraries(${PROJECT_NAME} INTERFACE ${Libuuid_LIBRARIES}) +- endif () ++ find_package(unofficial-libuuid CONFIG REQUIRED) ++ target_link_libraries(${PROJECT_NAME} INTERFACE unofficial::UUID::uuid) + endif () + endif () + +diff --git a/cmake/Config.cmake.in b/cmake/Config.cmake.in +index fb981d2..8a3c8ab 100644 +--- a/cmake/Config.cmake.in ++++ b/cmake/Config.cmake.in +@@ -4,8 +4,7 @@ include(CMakeFindDependencyMacro) + if (@UUID_SYSTEM_GENERATOR@) + if (WIN32 OR APPLE) + else () +- list (APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}) +- find_dependency(Libuuid REQUIRED) ++ find_dependency(unofficial-libuuid CONFIG) + endif () + endif () + diff --git a/ports/stduuid/portfile.cmake b/ports/stduuid/portfile.cmake new file mode 100644 index 00000000000000..696b86763ba199 --- /dev/null +++ b/ports/stduuid/portfile.cmake @@ -0,0 +1,41 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO mariusbancila/stduuid + REF "v${VERSION}" + SHA512 3d2fb21f680fb12559642d6787a5744d4f4fb48a6284bfef77537cb51f9bdbbe271b24a8c3bb1f954b4c845145f22c6d89a09e663df2f96a2e24d1d6f22fdf22 + HEAD_REF master + PATCHES + fix-install-directory.patch + fix-gsl-polyfill.patch + fix-libuuid-dependency.patch +) + +# the debug build is not necessary, because stduuid deployed files are header-only +set(VCPKG_BUILD_TYPE release) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + system-gen UUID_SYSTEM_GENERATOR + INVERTED_FEATURES + gsl-span UUID_USING_CXX20_SPAN +) + +vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DUUID_BUILD_TESTS=OFF + -DUUID_ENABLE_INSTALL=ON + ${FEATURE_OPTIONS} +) +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") + +if("gsl-span" IN_LIST FEATURES) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/stduuid/uuid.h" "#ifdef __cpp_lib_span" "#if 0") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/stduuid/uuid.h" "#include " "#include ") +else() + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/stduuid/uuid.h" "#ifdef __cpp_lib_span" "#if 1") +endif() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/stduuid/vcpkg.json b/ports/stduuid/vcpkg.json new file mode 100644 index 00000000000000..406519fbd4b780 --- /dev/null +++ b/ports/stduuid/vcpkg.json @@ -0,0 +1,34 @@ +{ + "name": "stduuid", + "version": "1.2.3", + "description": "A C++17 cross-platform implementation for UUIDs", + "homepage": "https://github.com/mariusbancila/stduuid", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "gsl-span": { + "description": "Using span from gsl instead of std", + "dependencies": [ + "ms-gsl" + ] + }, + "system-gen": { + "description": "Enable operating system uuid generator", + "dependencies": [ + { + "name": "libuuid", + "platform": "!osx & !windows" + } + ] + } + } +} diff --git a/ports/stftpitchshift/portfile.cmake b/ports/stftpitchshift/portfile.cmake new file mode 100644 index 00000000000000..1b6c2232e1d8b3 --- /dev/null +++ b/ports/stftpitchshift/portfile.cmake @@ -0,0 +1,29 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO jurihock/stftPitchShift + HEAD_REF main + REF v1.4.1 + SHA512 69e68af5baeb1bbeae440d2b2dc7a510a72b8b49cd9b23e0934eb8070d31c9a2e98759ea6d609f81caa3c57e1615cc50028dd13a9d04e82725a41da79175a868 +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DVCPKG=ON +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup( + CONFIG_PATH "lib/cmake/${PORT}" +) + +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/stftpitchshift/vcpkg.json b/ports/stftpitchshift/vcpkg.json new file mode 100644 index 00000000000000..dea081ce336450 --- /dev/null +++ b/ports/stftpitchshift/vcpkg.json @@ -0,0 +1,16 @@ +{ + "name": "stftpitchshift", + "version": "1.4.1", + "description": "STFT based multi pitch shifting with optional formant preservation.", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/stlab/cross-build.patch b/ports/stlab/cross-build.patch new file mode 100644 index 00000000000000..c819623678fc24 --- /dev/null +++ b/ports/stlab/cross-build.patch @@ -0,0 +1,31 @@ +diff --git a/cmake/StlabUtil.cmake b/cmake/StlabUtil.cmake +index 3b6d21e..e8d81d7 100644 +--- a/cmake/StlabUtil.cmake ++++ b/cmake/StlabUtil.cmake +@@ -2,7 +2,7 @@ + # functionality useful for stlab builds. + + include( CheckCXXSymbolExists ) +-include( CheckCXXSourceRuns ) ++include( CheckCXXSourceCompiles ) + + # Determine if the selected C++ compiler has functional versions of + # 'std::variant' and 'std::optional'. Set the specified 'result_var' to 'TRUE' +@@ -10,7 +10,7 @@ include( CheckCXXSourceRuns ) + # this check consists of a smoke test and does not check all the ways these + # library components may be deficient. + function( stlab_check_disfunctional_variant_optional result_var ) +- check_cxx_source_runs( " ++ check_cxx_source_compiles( " + #include + #include + +@@ -33,7 +33,7 @@ endfunction() + # and 'FALSE' otherwise. Note that this check consists of a smoke test and does + # not check all the ways this feature may be deficient. + function( stlab_check_disfunctional_coroutines result_var ) +- check_cxx_source_runs( " ++ check_cxx_source_compiles( " + #include + #include + #include diff --git a/ports/stlab/portfile.cmake b/ports/stlab/portfile.cmake index 8bfecad31da6c6..8c96e3f33b47f1 100644 --- a/ports/stlab/portfile.cmake +++ b/ports/stlab/portfile.cmake @@ -1,27 +1,36 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO stlab/libraries - REF 0a7232a4120c2daf8ddb6621ec13f313a029e495 # V1.6.2 - SHA512 6e03a5370d02accd798fc14fd256ab593b9a33b4a9b9cda8f2233eeafacf70c389c2999d1834b7ffef6968008921d28d88bcf728a322ba7943106ddc9d8e6f16 - HEAD_REF develop + REF "v${VERSION}" + SHA512 ceed4fffc381bebd5456d56e8f9d84094da2a9994c8be60e9c1fe4a72ae5f2c398448169927af1439615b55c549332dfe4c38a2b3b8bdf84e3c550fd14bf125c + HEAD_REF main + PATCHES + cross-build.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + cpp17shims STLAB_USE_BOOST_CPP17_SHIMS +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_TESTING=OFF + ${FEATURE_OPTIONS} + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6=ON ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/stlab) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH share/cmake/stlab) vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/share/cmake) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug" "${CURRENT_PACKAGES_DIR}/share/cmake") -file(READ ${CURRENT_PACKAGES_DIR}/share/${PORT}/stlabConfig.cmake STLAB_CONFIG) -string(REPLACE "find_dependency(Boost 1.60.0)" "if(APPLE)\nfind_dependency(Boost)\nendif()" STLAB_CONFIG ${STLAB_CONFIG}) +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/${PORT}/stlabConfig.cmake" + "find_dependency(Boost 1.74.0)" + "if(APPLE)\nfind_dependency(Boost)\nendif()" +) -file(WRITE ${CURRENT_PACKAGES_DIR}/share/${PORT}/stlabConfig.cmake "${STLAB_CONFIG}") -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/stlab/vcpkg.json b/ports/stlab/vcpkg.json index a3041dca71b1d7..758e715f81c631 100644 --- a/ports/stlab/vcpkg.json +++ b/ports/stlab/vcpkg.json @@ -1,15 +1,33 @@ { "name": "stlab", - "version-string": "1.6.2", - "port-version": 1, + "version": "1.7.1", + "port-version": 2, "description": [ "stlab is the ongoing work of what was Adobe Software Technology Lab.", "The Concurrency library provides futures and channels, high level constructs for implementing algorithms that eases the use of multiple CPU cores while minimizing contention. This library solves several problems of the C++11 and C++17 TS futures." ], + "homepage": "https://github.com/stlab/libraries", + "license": "BSL-1.0", "dependencies": [ { - "name": "boost-variant", - "platform": "osx" + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "default-features": [ + "cpp17shims" + ], + "features": { + "cpp17shims": { + "description": "Support C++11/14 by polyfilling stlab's use of `optional` and `variant` with boost. On by default.", + "dependencies": [ + "boost-optional", + "boost-variant" + ] } - ] + } } diff --git a/ports/stormlib/CMakeLists.txt b/ports/stormlib/CMakeLists.txt deleted file mode 100644 index e8bf793abf1c1c..00000000000000 --- a/ports/stormlib/CMakeLists.txt +++ /dev/null @@ -1,286 +0,0 @@ -cmake_minimum_required(VERSION 3.9) -project(stormlib) - -set(SRC_FILES - stormlib_dll/StormLib.def - src/adpcm/adpcm.cpp - src/huffman/huff.cpp - src/jenkins/lookup3.c - src/lzma/C/LzFind.c - src/lzma/C/LzmaDec.c - src/lzma/C/LzmaEnc.c - src/pklib/explode.c - src/pklib/implode.c - src/sparse/sparse.cpp - src/FileStream.cpp - src/SBaseCommon.cpp - src/SBaseDumpData.cpp - src/SBaseFileTable.cpp - src/SBaseSubTypes.cpp - src/SCompression.cpp - src/SFileAddFile.cpp - src/SFileAttributes.cpp - src/SFileCompactArchive.cpp - src/SFileCreateArchive.cpp - src/SFileExtractFile.cpp - src/SFileFindFile.cpp - src/SFileGetFileInfo.cpp - src/SFileListFile.cpp - src/SFileOpenArchive.cpp - src/SFileOpenFileEx.cpp - src/SFilePatchArchives.cpp - src/SFileReadFile.cpp - src/SFileVerify.cpp - src/libtomcrypt/src/pk/rsa/rsa_verify_simple.c - src/libtomcrypt/src/misc/crypt_libc.c -) - -if(MSVC) - # This file is used to create a DLL on windows - # Use BUILD_SHARED_LIBS to create StormLib.dll - set(STORM_DEF_FILES - stormlib_dll/StormLib.def - ) -endif() - -set(TOMCRYPT_FILES - src/libtomcrypt/src/hashes/hash_memory.c - src/libtomcrypt/src/hashes/md5.c - src/libtomcrypt/src/hashes/sha1.c - src/libtomcrypt/src/math/ltm_desc.c - src/libtomcrypt/src/math/multi.c - src/libtomcrypt/src/math/rand_prime.c - src/libtomcrypt/src/misc/base64_decode.c - src/libtomcrypt/src/misc/crypt_argchk.c - src/libtomcrypt/src/misc/crypt_find_hash.c - src/libtomcrypt/src/misc/crypt_find_prng.c - src/libtomcrypt/src/misc/crypt_hash_descriptor.c - src/libtomcrypt/src/misc/crypt_hash_is_valid.c - src/libtomcrypt/src/misc/crypt_ltc_mp_descriptor.c - src/libtomcrypt/src/misc/crypt_prng_descriptor.c - src/libtomcrypt/src/misc/crypt_prng_is_valid.c - src/libtomcrypt/src/misc/crypt_register_hash.c - src/libtomcrypt/src/misc/crypt_register_prng.c - src/libtomcrypt/src/misc/zeromem.c - src/libtomcrypt/src/pk/asn1/der_decode_bit_string.c - src/libtomcrypt/src/pk/asn1/der_decode_boolean.c - src/libtomcrypt/src/pk/asn1/der_decode_choice.c - src/libtomcrypt/src/pk/asn1/der_decode_ia5_string.c - src/libtomcrypt/src/pk/asn1/der_decode_integer.c - src/libtomcrypt/src/pk/asn1/der_decode_object_identifier.c - src/libtomcrypt/src/pk/asn1/der_decode_octet_string.c - src/libtomcrypt/src/pk/asn1/der_decode_printable_string.c - src/libtomcrypt/src/pk/asn1/der_decode_sequence_ex.c - src/libtomcrypt/src/pk/asn1/der_decode_sequence_flexi.c - src/libtomcrypt/src/pk/asn1/der_decode_sequence_multi.c - src/libtomcrypt/src/pk/asn1/der_decode_short_integer.c - src/libtomcrypt/src/pk/asn1/der_decode_utctime.c - src/libtomcrypt/src/pk/asn1/der_decode_utf8_string.c - src/libtomcrypt/src/pk/asn1/der_encode_bit_string.c - src/libtomcrypt/src/pk/asn1/der_encode_boolean.c - src/libtomcrypt/src/pk/asn1/der_encode_ia5_string.c - src/libtomcrypt/src/pk/asn1/der_encode_integer.c - src/libtomcrypt/src/pk/asn1/der_encode_object_identifier.c - src/libtomcrypt/src/pk/asn1/der_encode_octet_string.c - src/libtomcrypt/src/pk/asn1/der_encode_printable_string.c - src/libtomcrypt/src/pk/asn1/der_encode_sequence_ex.c - src/libtomcrypt/src/pk/asn1/der_encode_sequence_multi.c - src/libtomcrypt/src/pk/asn1/der_encode_set.c - src/libtomcrypt/src/pk/asn1/der_encode_setof.c - src/libtomcrypt/src/pk/asn1/der_encode_short_integer.c - src/libtomcrypt/src/pk/asn1/der_encode_utctime.c - src/libtomcrypt/src/pk/asn1/der_encode_utf8_string.c - src/libtomcrypt/src/pk/asn1/der_length_bit_string.c - src/libtomcrypt/src/pk/asn1/der_length_boolean.c - src/libtomcrypt/src/pk/asn1/der_length_ia5_string.c - src/libtomcrypt/src/pk/asn1/der_length_integer.c - src/libtomcrypt/src/pk/asn1/der_length_object_identifier.c - src/libtomcrypt/src/pk/asn1/der_length_octet_string.c - src/libtomcrypt/src/pk/asn1/der_length_printable_string.c - src/libtomcrypt/src/pk/asn1/der_length_sequence.c - src/libtomcrypt/src/pk/asn1/der_length_utctime.c - src/libtomcrypt/src/pk/asn1/der_sequence_free.c - src/libtomcrypt/src/pk/asn1/der_length_utf8_string.c - src/libtomcrypt/src/pk/asn1/der_length_short_integer.c - src/libtomcrypt/src/pk/ecc/ltc_ecc_map.c - src/libtomcrypt/src/pk/ecc/ltc_ecc_mul2add.c - src/libtomcrypt/src/pk/ecc/ltc_ecc_mulmod.c - src/libtomcrypt/src/pk/ecc/ltc_ecc_points.c - src/libtomcrypt/src/pk/ecc/ltc_ecc_projective_add_point.c - src/libtomcrypt/src/pk/ecc/ltc_ecc_projective_dbl_point.c - src/libtomcrypt/src/pk/pkcs1/pkcs_1_mgf1.c - src/libtomcrypt/src/pk/pkcs1/pkcs_1_oaep_decode.c - src/libtomcrypt/src/pk/pkcs1/pkcs_1_pss_decode.c - src/libtomcrypt/src/pk/pkcs1/pkcs_1_pss_encode.c - src/libtomcrypt/src/pk/pkcs1/pkcs_1_v1_5_decode.c - src/libtomcrypt/src/pk/pkcs1/pkcs_1_v1_5_encode.c - src/libtomcrypt/src/pk/rsa/rsa_exptmod.c - src/libtomcrypt/src/pk/rsa/rsa_free.c - src/libtomcrypt/src/pk/rsa/rsa_import.c - src/libtomcrypt/src/pk/rsa/rsa_make_key.c - src/libtomcrypt/src/pk/rsa/rsa_sign_hash.c - src/libtomcrypt/src/pk/rsa/rsa_verify_hash.c -) - -set(TOMMATH_FILES - src/libtommath/bncore.c - src/libtommath/bn_fast_mp_invmod.c - src/libtommath/bn_fast_mp_montgomery_reduce.c - src/libtommath/bn_fast_s_mp_mul_digs.c - src/libtommath/bn_fast_s_mp_mul_high_digs.c - src/libtommath/bn_fast_s_mp_sqr.c - src/libtommath/bn_mp_2expt.c - src/libtommath/bn_mp_abs.c - src/libtommath/bn_mp_add.c - src/libtommath/bn_mp_addmod.c - src/libtommath/bn_mp_add_d.c - src/libtommath/bn_mp_and.c - src/libtommath/bn_mp_clamp.c - src/libtommath/bn_mp_clear.c - src/libtommath/bn_mp_clear_multi.c - src/libtommath/bn_mp_cmp.c - src/libtommath/bn_mp_cmp_d.c - src/libtommath/bn_mp_cmp_mag.c - src/libtommath/bn_mp_cnt_lsb.c - src/libtommath/bn_mp_copy.c - src/libtommath/bn_mp_count_bits.c - src/libtommath/bn_mp_div.c - src/libtommath/bn_mp_div_2.c - src/libtommath/bn_mp_div_2d.c - src/libtommath/bn_mp_div_3.c - src/libtommath/bn_mp_div_d.c - src/libtommath/bn_mp_dr_is_modulus.c - src/libtommath/bn_mp_dr_reduce.c - src/libtommath/bn_mp_dr_setup.c - src/libtommath/bn_mp_exch.c - src/libtommath/bn_mp_exptmod.c - src/libtommath/bn_mp_exptmod_fast.c - src/libtommath/bn_mp_expt_d.c - src/libtommath/bn_mp_exteuclid.c - src/libtommath/bn_mp_fread.c - src/libtommath/bn_mp_fwrite.c - src/libtommath/bn_mp_gcd.c - src/libtommath/bn_mp_get_int.c - src/libtommath/bn_mp_grow.c - src/libtommath/bn_mp_init.c - src/libtommath/bn_mp_init_copy.c - src/libtommath/bn_mp_init_multi.c - src/libtommath/bn_mp_init_set.c - src/libtommath/bn_mp_init_set_int.c - src/libtommath/bn_mp_init_size.c - src/libtommath/bn_mp_invmod.c - src/libtommath/bn_mp_invmod_slow.c - src/libtommath/bn_mp_is_square.c - src/libtommath/bn_mp_jacobi.c - src/libtommath/bn_mp_karatsuba_mul.c - src/libtommath/bn_mp_karatsuba_sqr.c - src/libtommath/bn_mp_lcm.c - src/libtommath/bn_mp_lshd.c - src/libtommath/bn_mp_mod.c - src/libtommath/bn_mp_mod_2d.c - src/libtommath/bn_mp_mod_d.c - src/libtommath/bn_mp_montgomery_calc_normalization.c - src/libtommath/bn_mp_montgomery_reduce.c - src/libtommath/bn_mp_montgomery_setup.c - src/libtommath/bn_mp_mul.c - src/libtommath/bn_mp_mulmod.c - src/libtommath/bn_mp_mul_2.c - src/libtommath/bn_mp_mul_2d.c - src/libtommath/bn_mp_mul_d.c - src/libtommath/bn_mp_neg.c - src/libtommath/bn_mp_n_root.c - src/libtommath/bn_mp_or.c - src/libtommath/bn_mp_prime_fermat.c - src/libtommath/bn_mp_prime_is_divisible.c - src/libtommath/bn_mp_prime_is_prime.c - src/libtommath/bn_mp_prime_miller_rabin.c - src/libtommath/bn_mp_prime_next_prime.c - src/libtommath/bn_mp_prime_rabin_miller_trials.c - src/libtommath/bn_mp_prime_random_ex.c - src/libtommath/bn_mp_radix_size.c - src/libtommath/bn_mp_radix_smap.c - src/libtommath/bn_mp_rand.c - src/libtommath/bn_mp_read_radix.c - src/libtommath/bn_mp_read_signed_bin.c - src/libtommath/bn_mp_read_unsigned_bin.c - src/libtommath/bn_mp_reduce.c - src/libtommath/bn_mp_reduce_2k.c - src/libtommath/bn_mp_reduce_2k_l.c - src/libtommath/bn_mp_reduce_2k_setup.c - src/libtommath/bn_mp_reduce_2k_setup_l.c - src/libtommath/bn_mp_reduce_is_2k.c - src/libtommath/bn_mp_reduce_is_2k_l.c - src/libtommath/bn_mp_reduce_setup.c - src/libtommath/bn_mp_rshd.c - src/libtommath/bn_mp_set.c - src/libtommath/bn_mp_set_int.c - src/libtommath/bn_mp_shrink.c - src/libtommath/bn_mp_signed_bin_size.c - src/libtommath/bn_mp_sqr.c - src/libtommath/bn_mp_sqrmod.c - src/libtommath/bn_mp_sqrt.c - src/libtommath/bn_mp_sub.c - src/libtommath/bn_mp_submod.c - src/libtommath/bn_mp_sub_d.c - src/libtommath/bn_mp_toom_mul.c - src/libtommath/bn_mp_toom_sqr.c - src/libtommath/bn_mp_toradix.c - src/libtommath/bn_mp_toradix_n.c - src/libtommath/bn_mp_to_signed_bin.c - src/libtommath/bn_mp_to_signed_bin_n.c - src/libtommath/bn_mp_to_unsigned_bin.c - src/libtommath/bn_mp_to_unsigned_bin_n.c - src/libtommath/bn_mp_unsigned_bin_size.c - src/libtommath/bn_mp_xor.c - src/libtommath/bn_mp_zero.c - src/libtommath/bn_prime_tab.c - src/libtommath/bn_reverse.c - src/libtommath/bn_s_mp_add.c - src/libtommath/bn_s_mp_exptmod.c - src/libtommath/bn_s_mp_mul_digs.c - src/libtommath/bn_s_mp_mul_high_digs.c - src/libtommath/bn_s_mp_sqr.c - src/libtommath/bn_s_mp_sub.c -) - -find_package(ZLIB REQUIRED) -find_package(BZip2 REQUIRED) - -if(WIN32) - set(LINK_LIBS wininet) -endif() - -list(APPEND LINK_LIBS ZLIB::ZLIB BZip2::BZip2) - -if(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") - message(STATUS "Using FreeBSD port") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DO_LARGEFILE=0 -Dstat64=stat -Dlstat64=lstat -Dlseek64=lseek -Doff64_t=off_t -Dfstat64=fstat -Dftruncate64=ftruncate") -endif() - -add_library(stormlib ${LIB_TYPE} ${SRC_FILES} ${TOMCRYPT_FILES} ${TOMMATH_FILES} ${STORM_DEF_FILES}) -add_definitions(-D__SYS_ZLIB -D__SYS_BZLIB) - -target_link_libraries(stormlib PRIVATE ${LINK_LIBS}) - -target_compile_definitions(stormlib PRIVATE _7ZIP_ST BZ_STRICT_ANSI) - -if(WIN32) - target_compile_definitions(stormlib PRIVATE UNICODE _UNICODE) -endif() - -if(NOT MSVC) - # don't error on implicit declarations, which are invalid in C99 but commonly used - target_compile_options(stormlib PRIVATE -Wno-error=implicit-function-declaration) -endif() - - -set_target_properties(stormlib PROPERTIES PUBLIC_HEADER "src/StormLib.h;src/StormPort.h") - -install(TARGETS stormlib EXPORT stormlibConfig - RUNTIME DESTINATION bin - ARCHIVE DESTINATION lib - LIBRARY DESTINATION lib - PUBLIC_HEADER DESTINATION include -) - -install(EXPORT stormlibConfig NAMESPACE stormlib:: DESTINATION share/stormlib) diff --git a/ports/stormlib/portfile.cmake b/ports/stormlib/portfile.cmake index b494d5606f2853..9b5fbd00ba2295 100644 --- a/ports/stormlib/portfile.cmake +++ b/ports/stormlib/portfile.cmake @@ -1,23 +1,20 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ladislav-zezula/StormLib - REF 2f0e0e69e6b3739d7c450ac3d38816aee45ac3c2 - SHA512 54cbe4270963944edf3d75b845047add2b004e0d95b20b75a4c4790c2a12a41bf19cc4f55aaeaec697a0a913827e11cfabde2123b2b13730556310dd89eef1e9 + REF "v${VERSION}" + SHA512 5f0ce75019cfbe3a2dfc07ea312825e2babf226dbf8aa77ed60456862ae739ac4689cbe7d4a185cdc148ad9910fd8137d3f11c04ffe6c532bbdacb08838ecfba HEAD_REF master ) -file(COPY - ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt - DESTINATION ${SOURCE_PATH} +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA -) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME StormLib) +vcpkg_copy_pdbs() -vcpkg_install_cmake() -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/stormlib RENAME copyright) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -vcpkg_fixup_cmake_targets() \ No newline at end of file +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") diff --git a/ports/stormlib/vcpkg.json b/ports/stormlib/vcpkg.json index b293260eca7458..a4701869126a33 100644 --- a/ports/stormlib/vcpkg.json +++ b/ports/stormlib/vcpkg.json @@ -1,10 +1,17 @@ { "name": "stormlib", - "version-string": "2019-05-10", - "port-version": 3, + "version": "9.26", "description": "StormLib is a library for opening and manipulating Blizzard MPQ files", "dependencies": [ "bzip2", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, "zlib" ] } diff --git a/ports/str-view/portfile.cmake b/ports/str-view/portfile.cmake new file mode 100644 index 00000000000000..e3e0f5dc81d8cc --- /dev/null +++ b/ports/str-view/portfile.cmake @@ -0,0 +1,28 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO agl-alexglopez/str_view + REF "v${VERSION}" + SHA512 a92c4f5fcfb199e09461cc3e872787dfb79ef1aff237b4a863e016185f42d5902976235c65c29fa632e199ed9a77e2d56a5187c6242e382182e9b0c13ba85bb7 + HEAD_REF main +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup( + PACKAGE_NAME "str_view" + CONFIG_PATH "lib/cmake/str_view" +) + +vcpkg_copy_pdbs() +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/str_view/str_view.h" "defined(SV_CONSUME_DLL)" "1") +endif() + +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/str-view/usage b/ports/str-view/usage new file mode 100644 index 00000000000000..e9958266a9df06 --- /dev/null +++ b/ports/str-view/usage @@ -0,0 +1,4 @@ +str_view provides CMake targets: + + find_package(str_view CONFIG REQUIRED) + target_link_libraries(main PRIVATE str_view::str_view) diff --git a/ports/str-view/vcpkg.json b/ports/str-view/vcpkg.json new file mode 100644 index 00000000000000..585c31dd3bb10e --- /dev/null +++ b/ports/str-view/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "str-view", + "version": "0.5.4", + "description": "A simple, robust, and convenient library for read-only string handling in C.", + "homepage": "https://github.com/agl-alexglopez/str_view", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/strict-variant/vcpkg.json b/ports/strict-variant/vcpkg.json index f95e19258ca59c..afcf6d20ce1a7c 100644 --- a/ports/strict-variant/vcpkg.json +++ b/ports/strict-variant/vcpkg.json @@ -1,6 +1,6 @@ { "name": "strict-variant", - "version-string": "0.5", - "port-version": 1, + "version": "0.5", + "port-version": 2, "description": "Tagged union implementation that will never throw an exception or make a dynamic allocation in the effort of supporting types that have throwing moves." } diff --git a/ports/string-theory/portfile.cmake b/ports/string-theory/portfile.cmake index 83605de51d095c..6cf306ad681684 100644 --- a/ports/string-theory/portfile.cmake +++ b/ports/string-theory/portfile.cmake @@ -1,13 +1,15 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO zrax/string_theory - REF 3.5 - SHA512 30300155e64ace8197ed531baffe4e835c269ac10d6857ac9f29501e0a1f69965994d6f2fa2e64544e7d441de635e2d370be24efcf00a0d24066730d19f022a6 + REF "${VERSION}" + SHA512 5071fb091dd5b5279776c2949b2bff7033c6bce336b1b4916e04957228884104b07e64ff3aa248b6498889fd50947c1fa7807e5d07a74c60203ffd1aade4a5a4 HEAD_REF master ) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DST_BUILD_TESTS=OFF ) vcpkg_cmake_install() @@ -16,4 +18,4 @@ vcpkg_cmake_config_fixup(PACKAGE_NAME string_theory CONFIG_PATH lib/cmake/string file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") -configure_file("${SOURCE_PATH}/LICENSE" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/string-theory/vcpkg.json b/ports/string-theory/vcpkg.json index aeb3ef9eaf0392..95880ba7acbdbb 100644 --- a/ports/string-theory/vcpkg.json +++ b/ports/string-theory/vcpkg.json @@ -1,8 +1,9 @@ { "name": "string-theory", - "version": "3.5", + "version": "3.8", "description": "Flexible modern C++ string library with type-safe formatting.", "homepage": "https://github.com/zrax/string_theory", + "license": "MIT", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/string-view-lite/portfile.cmake b/ports/string-view-lite/portfile.cmake index 007185ffbf868b..4b9359787a946c 100644 --- a/ports/string-view-lite/portfile.cmake +++ b/ports/string-view-lite/portfile.cmake @@ -1,28 +1,22 @@ -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO martinmoene/string-view-lite - REF v1.6.0 - SHA512 a21c4c956360b76cf6f530ae7c26d97777d4c37164e6fc0da0dc931d41378aa020a235e40d7f8e8160c1b9dab552c6d7bf3aa7697e9048effef2b3cee8573553 -) - -vcpkg_cmake_configure( - SOURCE_PATH "${SOURCE_PATH}" - OPTIONS - -DSTRING_VIEW_LITE_OPT_BUILD_TESTS=OFF - -DSTRING_VIEW_LITE_OPT_BUILD_EXAMPLES=OFF -) - -vcpkg_cmake_install() - -vcpkg_cmake_config_fixup( - CONFIG_PATH "lib/cmake/${PORT}" -) - -file(REMOVE_RECURSE - "${CURRENT_PACKAGES_DIR}/debug" - "${CURRENT_PACKAGES_DIR}/lib" -) - -file(INSTALL - "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright -) +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO martinmoene/string-view-lite + REF "v${VERSION}" + SHA512 c581ea08f25e70e84322da39abb36c4af4c31c4fbb33f9e9a723c3c68ecaff6d4553bc85902a1b7851e94581804d7f3d9a7765f128515d56621b30131e58722b +) + +set(VCPKG_BUILD_TYPE release) # header-only port + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DSTRING_VIEW_LITE_OPT_BUILD_TESTS=OFF + -DSTRING_VIEW_LITE_OPT_BUILD_EXAMPLES=OFF +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${PORT}") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") diff --git a/ports/string-view-lite/vcpkg.json b/ports/string-view-lite/vcpkg.json index 1d1bfc18f19c3a..fcc809923d96f5 100644 --- a/ports/string-view-lite/vcpkg.json +++ b/ports/string-view-lite/vcpkg.json @@ -1,7 +1,9 @@ { "name": "string-view-lite", - "version": "1.6.0", + "version": "1.8.0", + "port-version": 1, "description": "A C++17-like string_view for C++98, C++11 and later in a single-file header-only library", + "license": "BSL-1.0", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/stringzilla/portfile.cmake b/ports/stringzilla/portfile.cmake new file mode 100644 index 00000000000000..cedadf2aa802c6 --- /dev/null +++ b/ports/stringzilla/portfile.cmake @@ -0,0 +1,13 @@ +# Header-only library + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO ashvardanian/StringZilla + REF "v${VERSION}" + SHA512 a97ed147be78164b01e61ff4aeae8efb8eba23204edf48ed7701786cbc85b8c6d09f1802aa3cf0f65ca140bdccb4e8c3518a56b2b910466fc8d040f2b0293716 + HEAD_REF master +) + +file(COPY "${SOURCE_PATH}/include" DESTINATION "${CURRENT_PACKAGES_DIR}") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/stringzilla/vcpkg.json b/ports/stringzilla/vcpkg.json new file mode 100644 index 00000000000000..892400210e7006 --- /dev/null +++ b/ports/stringzilla/vcpkg.json @@ -0,0 +1,8 @@ +{ + "name": "stringzilla", + "version": "3.10.5", + "description": "StringZilla is the GodZilla of string libraries, using SIMD and SWAR to accelerate string operations on modern CPUs.", + "homepage": "https://github.com/ashvardanian/StringZilla", + "license": "Apache-2.0", + "supports": "!x86" +} diff --git a/ports/strong-type/portfile.cmake b/ports/strong-type/portfile.cmake new file mode 100644 index 00000000000000..1cb189ac61df66 --- /dev/null +++ b/ports/strong-type/portfile.cmake @@ -0,0 +1,12 @@ +vcpkg_from_github(OUT_SOURCE_PATH SOURCE_PATH + REPO "rollbear/strong_type" + REF "v${VERSION}" + SHA512 "67F6F0AC34703206A5F45B492CB52ACAF87189D137B3CA5F9A0BB3708FE91FF4FBA61B6BFD9CDC8D2494D112F7964C8BE366F2ECECEF3B8B5B7CC1F318EFAFDD" +) + +vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}") +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(PACKAGE_NAME "strong_type" CONFIG_PATH "lib/cmake/strong_type") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug" "${CURRENT_PACKAGES_DIR}/lib") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/strong-type/vcpkg.json b/ports/strong-type/vcpkg.json new file mode 100644 index 00000000000000..ec6c1dd50c88c6 --- /dev/null +++ b/ports/strong-type/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "strong-type", + "version": "15", + "description": "An additive strong typedef library for C++14/17/20", + "homepage": "https://github.com/rollbear/strong_type", + "license": "BSL-1.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/stronk/portfile.cmake b/ports/stronk/portfile.cmake new file mode 100644 index 00000000000000..4d097d473f735e --- /dev/null +++ b/ports/stronk/portfile.cmake @@ -0,0 +1,21 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO twig-energy/stronk + REF 60144eb738f234a99d3bbdd31353ee4f5366125d + HEAD_REF main + SHA512 3440f16d226c732076f951c211ae6d511ae6a8ec1858e1e23c91b347ec5967e702095d978989ec28e4fc3907a7e34bb09d37681cbb486ea151f189d5e882b850 +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + "-DCMAKE_INSTALL_INCLUDEDIR=${CURRENT_PACKAGES_DIR}/include" +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") + +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/stronk/vcpkg.json b/ports/stronk/vcpkg.json new file mode 100644 index 00000000000000..03914226665747 --- /dev/null +++ b/ports/stronk/vcpkg.json @@ -0,0 +1,41 @@ +{ + "name": "stronk", + "version-semver": "0.3.1", + "description": "An easy to customize, strong type library with built in support for unit-like behavior", + "homepage": "https://github.com/twig-energy/stronk", + "license": "MIT", + "dependencies": [ + { + "name": "boost-type-index", + "version>=": "1.78.0" + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "abseil": { + "description": "Dependencies for abseil extension", + "dependencies": [ + { + "name": "abseil", + "version>=": "20211102.1" + } + ] + }, + "fmt": { + "description": "Dependencies for fmt extension", + "dependencies": [ + { + "name": "fmt", + "version>=": "9.0.0" + } + ] + } + } +} diff --git a/ports/strtk/portfile.cmake b/ports/strtk/portfile.cmake index 770f183c06cc55..b48ea0bae040ad 100644 --- a/ports/strtk/portfile.cmake +++ b/ports/strtk/portfile.cmake @@ -5,5 +5,11 @@ vcpkg_from_github( SHA512 c37c0df1dd3f7bc1dfcceea83ed9303cf9388ba400ee645f26a24bca50bf85209f7b8a2169f6b98b0267ece986a29a27605ff3eaef50a44629fb7e042d06f26a ) -file(COPY ${SOURCE_PATH}/strtk.hpp DESTINATION ${CURRENT_PACKAGES_DIR}/include) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/copyright DESTINATION ${CURRENT_PACKAGES_DIR}/share/strtk) +file(COPY "${SOURCE_PATH}/strtk.hpp" DESTINATION "${CURRENT_PACKAGES_DIR}/include") + +if("boost" IN_LIST FEATURES) +else() + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/strtk.hpp" "#ifndef strtk_no_tr1_or_boost" "#if 0") +endif() + +vcpkg_install_copyright(FILE_LIST "${CMAKE_CURRENT_LIST_DIR}/copyright") diff --git a/ports/strtk/vcpkg.json b/ports/strtk/vcpkg.json index 41a303b3753a05..a7a9c214b34304 100644 --- a/ports/strtk/vcpkg.json +++ b/ports/strtk/vcpkg.json @@ -1,10 +1,21 @@ { "name": "strtk", - "version-string": "2020-09-14", - "port-version": 1, + "version-date": "2020-09-14", + "port-version": 4, "description": "robust, optimized and portable string processing algorithms for the C++ language", "homepage": "https://github.com/ArashPartow/strtk", - "dependencies": [ - "boost" - ] + "license": null, + "features": { + "boost": { + "description": "Request boost libraries", + "dependencies": [ + "boost-algorithm", + "boost-lexical-cast", + "boost-random", + "boost-regex", + "boost-spirit", + "boost-tokenizer" + ] + } + } } diff --git a/ports/stx/CMakeLists.patch b/ports/stx/CMakeLists.patch deleted file mode 100644 index 70aaccbfda8e73..00000000000000 --- a/ports/stx/CMakeLists.patch +++ /dev/null @@ -1,71 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index e4ed99e..b0d2b15 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -204,12 +204,7 @@ endif() - # =============================================== - - if(STX_ENABLE_BACKTRACE) -- if(NOT EXISTS third_party/abseil) -- execute_process( -- COMMAND git submodule update --init --recursive third_party/abseil -- WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}) -- endif() -- add_subdirectory(third_party/abseil) -+ find_package(absl CONFIG REQUIRED) - endif() - - # the atomics library doesn't automatically link on my Android phone -@@ -246,13 +241,17 @@ else() - add_library(stx STATIC ${STX_SRCS}) - endif() - --target_include_directories(stx PUBLIC include) -+target_include_directories(stx PUBLIC -+ $ -+ $ -+) -+ - target_compile_options(stx PRIVATE ${STX_FLAGS} ${STX_WARNING_FLAGS}) - target_compile_definitions(stx PUBLIC ${STX_COMPILER_DEFS}) - target_link_libraries(stx ${STX_LIB_DEPENDENCIES}) - - if(STX_ENABLE_BACKTRACE) -- target_link_libraries(stx absl::stacktrace absl::symbolize) -+ target_link_libraries(stx PUBLIC absl::stacktrace absl::symbolize) - endif() - - if(ANDROID) -@@ -288,6 +287,7 @@ endif() - # - # =============================================== - -+ - if(STX_BUILD_BENCHMARKS) - - if(NOT EXISTS third_party/benchmark) -@@ -433,3 +433,24 @@ if(STX_BUILD_DOCS) - DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/docs/html/assets) - - endif() -+ -+install( -+ TARGETS stx -+ EXPORT stx -+ ARCHIVE DESTINATION lib -+ LIBRARY DESTINATION lib -+ RUNTIME DESTINATION bin -+) -+ -+install( -+ DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/ -+ DESTINATION include -+ FILES_MATCHING PATTERN "*.h*") -+ -+install( -+ EXPORT stx -+ DESTINATION share/stx -+ FILE stxConfig.cmake -+ NAMESPACE stx:: -+) -+ diff --git a/ports/stx/portfile.cmake b/ports/stx/portfile.cmake index ebfca54ab39778..50559aa83a3529 100644 --- a/ports/stx/portfile.cmake +++ b/ports/stx/portfile.cmake @@ -3,33 +3,25 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO lamarrr/STX - REF v1.0.1 - SHA512 544ca32f07cd863082fa9688f5d56e2715b0129ff90d2a8533cc24a92c943e5848c4b2b06a71f54c12668f6e89e9e3c649f595f9eb886f671a5fa18d343f794b - HEAD_REF master - PATCHES - "CMakeLists.patch" + REF "v${VERSION}" + SHA512 3cc06118677f9b43bc79e5719d408af8b4d8e729a4da20ee56431bdb8823e73f7eb4d4f961534d0c7329417d9371ebb1255246fc08a65fd67a7eca2b2b8a99a3 + HEAD_REF main ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - backtrace STX_ENABLE_BACKTRACE + FEATURES + backtrace STX_ENABLE_BACKTRACE ) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${FEATURE_OPTIONS} - -DSTX_BUILD_DOCS=OFF - -DSTX_BUILD_BENCHMARKS=OFF - -DSTX_BUILD_SHARED=OFF ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/stx) +vcpkg_cmake_install() + vcpkg_copy_pdbs() -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(REMOVE_RECURSE - "${CURRENT_PACKAGES_DIR}/debug/include" -) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/stx/vcpkg.json b/ports/stx/vcpkg.json index 536f557519781e..0f6fd9706d9260 100644 --- a/ports/stx/vcpkg.json +++ b/ports/stx/vcpkg.json @@ -1,15 +1,23 @@ { "name": "stx", - "version-string": "1.0.1", - "port-version": 1, - "description": "C++17 & C++ 20 error-handling and utility extensions", + "version": "1.0.5", + "description": "STX is a collection of libraries and utilities designed to make working with C++ easier and less error-prone.", "homepage": "https://github.com/lamarrr/STX", + "license": "MIT", + "dependencies": [ + "abseil", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], "features": { "backtrace": { - "description": "stacktrace support for STX", - "dependencies": [ - "abseil" - ] + "description": "stacktrace support for STX" } } } diff --git a/ports/stxxl/0001-fix-visual-studio.patch b/ports/stxxl/0001-fix-visual-studio.patch index 3506c51abfd65f..287b0ae3df965c 100644 --- a/ports/stxxl/0001-fix-visual-studio.patch +++ b/ports/stxxl/0001-fix-visual-studio.patch @@ -1,272 +1,289 @@ -diff --git a/include/stxxl/bits/algo/ksort.h b/include/stxxl/bits/algo/ksort.h -index 33ec8cf..4079a57 100644 ---- a/include/stxxl/bits/algo/ksort.h -+++ b/include/stxxl/bits/algo/ksort.h -@@ -299,11 +299,7 @@ create_runs( - template --struct run_cursor2_cmp : public std::binary_function< -- run_cursor2, -- run_cursor2, -- bool -- > +diff --git a/include/stxxl/bits/algo/ksort.h b/include/stxxl/bits/algo/ksort.h +index 33ec8cf..8101741 100644 +--- a/include/stxxl/bits/algo/ksort.h ++++ b/include/stxxl/bits/algo/ksort.h +@@ -299,11 +299,7 @@ create_runs( + template +-struct run_cursor2_cmp : public std::binary_function< +- run_cursor2, +- run_cursor2, +- bool +- > +struct run_cursor2_cmp - { - typedef run_cursor2 cursor_type; - KeyExtractor keyobj; -@@ -327,7 +323,7 @@ private: - }; - - template --class key_comparison : public std::binary_function + { + typedef run_cursor2 cursor_type; + KeyExtractor keyobj; +@@ -327,7 +323,7 @@ private: + }; + + template +-class key_comparison : public std::binary_function +class key_comparison - { - KeyExtractor ke; - -diff --git a/include/stxxl/bits/algo/sort_helper.h b/include/stxxl/bits/algo/sort_helper.h -index 524e40d..69234c4 100644 ---- a/include/stxxl/bits/algo/sort_helper.h -+++ b/include/stxxl/bits/algo/sort_helper.h -@@ -51,7 +51,6 @@ struct trigger_entry - - template - struct trigger_entry_cmp -- : public std::binary_function - { - typedef TriggerEntryType trigger_entry_type; - ValueCmp cmp; -@@ -67,11 +66,6 @@ template - struct run_cursor2_cmp -- : public std::binary_function< -- run_cursor2, -- run_cursor2, -- bool -- > - { - typedef BlockType block_type; - typedef PrefetcherType prefetcher_type; -diff --git a/include/stxxl/bits/compat/unique_ptr.h b/include/stxxl/bits/compat/unique_ptr.h -index 9df12ff..7110246 100644 ---- a/include/stxxl/bits/compat/unique_ptr.h -+++ b/include/stxxl/bits/compat/unique_ptr.h -@@ -22,12 +22,7 @@ STXXL_BEGIN_NAMESPACE - - template - struct compat_unique_ptr { --#if __cplusplus >= 201103L && ((__GNUC__ * 10000 + __GNUC_MINOR__ * 100) >= 40400) - typedef std::unique_ptr result; --#else -- // auto_ptr is inherently broken and is deprecated by unique_ptr in c++0x -- typedef std::auto_ptr result; --#endif - }; - - STXXL_END_NAMESPACE -diff --git a/include/stxxl/bits/containers/btree/leaf.h b/include/stxxl/bits/containers/btree/leaf.h -index d7c619f..c6b2fcc 100644 ---- a/include/stxxl/bits/containers/btree/leaf.h -+++ b/include/stxxl/bits/containers/btree/leaf.h -@@ -66,7 +66,7 @@ public: - typedef node_cache leaf_cache_type; - - public: -- struct value_compare : public std::binary_function + { + KeyExtractor ke; + +diff --git a/include/stxxl/bits/algo/sort_helper.h b/include/stxxl/bits/algo/sort_helper.h +index 524e40d..69234c4 100644 +--- a/include/stxxl/bits/algo/sort_helper.h ++++ b/include/stxxl/bits/algo/sort_helper.h +@@ -51,7 +51,6 @@ struct trigger_entry + + template + struct trigger_entry_cmp +- : public std::binary_function + { + typedef TriggerEntryType trigger_entry_type; + ValueCmp cmp; +@@ -67,11 +66,6 @@ template + struct run_cursor2_cmp +- : public std::binary_function< +- run_cursor2, +- run_cursor2, +- bool +- > + { + typedef BlockType block_type; + typedef PrefetcherType prefetcher_type; +diff --git a/include/stxxl/bits/compat/unique_ptr.h b/include/stxxl/bits/compat/unique_ptr.h +index 9df12ff..7110246 100644 +--- a/include/stxxl/bits/compat/unique_ptr.h ++++ b/include/stxxl/bits/compat/unique_ptr.h +@@ -22,12 +22,7 @@ STXXL_BEGIN_NAMESPACE + + template + struct compat_unique_ptr { +-#if __cplusplus >= 201103L && ((__GNUC__ * 10000 + __GNUC_MINOR__ * 100) >= 40400) + typedef std::unique_ptr result; +-#else +- // auto_ptr is inherently broken and is deprecated by unique_ptr in c++0x +- typedef std::auto_ptr result; +-#endif + }; + + STXXL_END_NAMESPACE +diff --git a/include/stxxl/bits/containers/btree/leaf.h b/include/stxxl/bits/containers/btree/leaf.h +index d7c619f..969adfd 100644 +--- a/include/stxxl/bits/containers/btree/leaf.h ++++ b/include/stxxl/bits/containers/btree/leaf.h +@@ -66,7 +66,7 @@ public: + typedef node_cache leaf_cache_type; + + public: +- struct value_compare : public std::binary_function + struct value_compare - { - key_compare comp; - -diff --git a/include/stxxl/bits/containers/btree/node.h b/include/stxxl/bits/containers/btree/node.h -index 13dec7b..a4c47d8 100644 ---- a/include/stxxl/bits/containers/btree/node.h -+++ b/include/stxxl/bits/containers/btree/node.h -@@ -71,7 +71,7 @@ public: - typedef node_cache node_cache_type; - - private: -- struct value_compare : public std::binary_function + { + key_compare comp; + +diff --git a/include/stxxl/bits/containers/btree/node.h b/include/stxxl/bits/containers/btree/node.h +index 13dec7b..c26cfff 100644 +--- a/include/stxxl/bits/containers/btree/node.h ++++ b/include/stxxl/bits/containers/btree/node.h +@@ -71,7 +71,7 @@ public: + typedef node_cache node_cache_type; + + private: +- struct value_compare : public std::binary_function + struct value_compare - { - key_compare comp; - -diff --git a/include/stxxl/bits/containers/hash_map/hash_map.h b/include/stxxl/bits/containers/hash_map/hash_map.h -index 0759bd2..ecf19cd 100644 ---- a/include/stxxl/bits/containers/hash_map/hash_map.h -+++ b/include/stxxl/bits/containers/hash_map/hash_map.h -@@ -1258,10 +1258,7 @@ protected: - * lexicographically by Note: the hash-value has already - * been computed. - */ -- struct Cmp : public std::binary_function< -- std::pair, -- std::pair, bool -- > + { + key_compare comp; + +diff --git a/include/stxxl/bits/containers/hash_map/hash_map.h b/include/stxxl/bits/containers/hash_map/hash_map.h +index 0759bd2..edcc2ac 100644 +--- a/include/stxxl/bits/containers/hash_map/hash_map.h ++++ b/include/stxxl/bits/containers/hash_map/hash_map.h +@@ -1258,10 +1258,7 @@ protected: + * lexicographically by Note: the hash-value has already + * been computed. + */ +- struct Cmp : public std::binary_function< +- std::pair, +- std::pair, bool +- > + struct Cmp - { - self_type& map_; - Cmp(self_type& map) : map_(map) { } -@@ -1520,7 +1517,7 @@ protected: - - public: - //! Construct an equality predicate from the comparison operator -- struct equal_to : public std::binary_function + { + self_type& map_; + Cmp(self_type& map) : map_(map) { } +@@ -1520,7 +1517,7 @@ protected: + + public: + //! Construct an equality predicate from the comparison operator +- struct equal_to : public std::binary_function + struct equal_to - { - //! reference to hash_map - const self_type& m_map; -diff --git a/include/stxxl/bits/io/wbtl_file.h b/include/stxxl/bits/io/wbtl_file.h -index 933a216..30828a0 100644 ---- a/include/stxxl/bits/io/wbtl_file.h -+++ b/include/stxxl/bits/io/wbtl_file.h -@@ -65,7 +65,7 @@ class wbtl_file : public disk_queued_file - size_type curpos; - request_ptr backend_request; - -- struct FirstFit : public std::binary_function + { + //! reference to hash_map + const self_type& m_map; +diff --git a/include/stxxl/bits/io/wbtl_file.h b/include/stxxl/bits/io/wbtl_file.h +index 933a216..d9f0674 100644 +--- a/include/stxxl/bits/io/wbtl_file.h ++++ b/include/stxxl/bits/io/wbtl_file.h +@@ -65,7 +65,7 @@ class wbtl_file : public disk_queued_file + size_type curpos; + request_ptr backend_request; + +- struct FirstFit : public std::binary_function + struct FirstFit - { - bool operator () ( - const place& entry, -diff --git a/include/stxxl/bits/mng/block_alloc.h b/include/stxxl/bits/mng/block_alloc.h -index 19ade8b..887f0e6 100644 ---- a/include/stxxl/bits/mng/block_alloc.h -+++ b/include/stxxl/bits/mng/block_alloc.h -@@ -138,7 +138,7 @@ private: - perm[i] = i; - - stxxl::random_number rnd; -- std::random_shuffle(perm.begin(), perm.end(), rnd _STXXL_FORCE_SEQUENTIAL); + { + bool operator () ( + const place& entry, +diff --git a/include/stxxl/bits/mng/block_alloc.h b/include/stxxl/bits/mng/block_alloc.h +index 19ade8b..dac408f 100644 +--- a/include/stxxl/bits/mng/block_alloc.h ++++ b/include/stxxl/bits/mng/block_alloc.h +@@ -138,7 +138,7 @@ private: + perm[i] = i; + + stxxl::random_number rnd; +- std::random_shuffle(perm.begin(), perm.end(), rnd _STXXL_FORCE_SEQUENTIAL); + std::shuffle(perm.begin(), perm.end(), std::mt19937(std::random_device()())); - } - - public: -diff --git a/include/stxxl/bits/mng/block_alloc_interleaved.h b/include/stxxl/bits/mng/block_alloc_interleaved.h -index a82ee34..5aba23a 100644 ---- a/include/stxxl/bits/mng/block_alloc_interleaved.h -+++ b/include/stxxl/bits/mng/block_alloc_interleaved.h -@@ -93,7 +93,7 @@ struct interleaved_RC : public interleaved_striping - perms[i][j] = j; - - random_number rnd; -- std::random_shuffle(perms[i].begin(), perms[i].end(), rnd _STXXL_FORCE_SEQUENTIAL); + } + + public: +diff --git a/include/stxxl/bits/mng/block_alloc_interleaved.h b/include/stxxl/bits/mng/block_alloc_interleaved.h +index a82ee34..83925a3 100644 +--- a/include/stxxl/bits/mng/block_alloc_interleaved.h ++++ b/include/stxxl/bits/mng/block_alloc_interleaved.h +@@ -93,7 +93,7 @@ struct interleaved_RC : public interleaved_striping + perms[i][j] = j; + + random_number rnd; +- std::random_shuffle(perms[i].begin(), perms[i].end(), rnd _STXXL_FORCE_SEQUENTIAL); + std::shuffle(perms[i].begin(), perms[i].end(), std::mt19937(std::random_device()())); - } - } - -diff --git a/include/stxxl/bits/mng/disk_allocator.h b/include/stxxl/bits/mng/disk_allocator.h -index 59ad085..c1e0f83 100644 ---- a/include/stxxl/bits/mng/disk_allocator.h -+++ b/include/stxxl/bits/mng/disk_allocator.h -@@ -44,7 +44,7 @@ class disk_allocator : private noncopyable - { - typedef std::pair place; - -- struct first_fit : public std::binary_function + } + } + +diff --git a/include/stxxl/bits/mng/disk_allocator.h b/include/stxxl/bits/mng/disk_allocator.h +index 59ad085..a4e534e 100644 +--- a/include/stxxl/bits/mng/disk_allocator.h ++++ b/include/stxxl/bits/mng/disk_allocator.h +@@ -44,7 +44,7 @@ class disk_allocator : private noncopyable + { + typedef std::pair place; + +- struct first_fit : public std::binary_function + struct first_fit - { - bool operator () ( - const place& entry, -@@ -189,7 +189,7 @@ void disk_allocator::new_blocks(BID* begin, BID* end) - - sortseq::iterator space; - space = std::find_if(free_space.begin(), free_space.end(), -- bind2nd(first_fit(), requested_size) _STXXL_FORCE_SEQUENTIAL); + { + bool operator () ( + const place& entry, +@@ -189,7 +189,7 @@ void disk_allocator::new_blocks(BID* begin, BID* end) + + sortseq::iterator space; + space = std::find_if(free_space.begin(), free_space.end(), +- bind2nd(first_fit(), requested_size) _STXXL_FORCE_SEQUENTIAL); + std::bind(first_fit(), std::placeholders::_1, requested_size) _STXXL_FORCE_SEQUENTIAL); - - if (space == free_space.end() && requested_size == BlockSize) - { -@@ -207,7 +207,7 @@ void disk_allocator::new_blocks(BID* begin, BID* end) - grow_file(BlockSize); - - space = std::find_if(free_space.begin(), free_space.end(), -- bind2nd(first_fit(), requested_size) _STXXL_FORCE_SEQUENTIAL); + + if (space == free_space.end() && requested_size == BlockSize) + { +@@ -207,7 +207,7 @@ void disk_allocator::new_blocks(BID* begin, BID* end) + grow_file(BlockSize); + + space = std::find_if(free_space.begin(), free_space.end(), +- bind2nd(first_fit(), requested_size) _STXXL_FORCE_SEQUENTIAL); + std::bind(first_fit(), std::placeholders::_1, requested_size) _STXXL_FORCE_SEQUENTIAL); - } - - if (space != free_space.end()) -diff --git a/include/stxxl/bits/parallel.h b/include/stxxl/bits/parallel.h -index d973861..c858d87 100644 ---- a/include/stxxl/bits/parallel.h -+++ b/include/stxxl/bits/parallel.h -@@ -121,7 +121,6 @@ using __gnu_parallel::random_shuffle; - #elif STXXL_PARALLEL - - using std::sort; --using std::random_shuffle; - - #else - -diff --git a/include/stxxl/bits/parallel/base.h b/include/stxxl/bits/parallel/base.h -index 141d515..7dae74f 100644 ---- a/include/stxxl/bits/parallel/base.h -+++ b/include/stxxl/bits/parallel/base.h -@@ -33,7 +33,6 @@ namespace parallel { - */ - template - class binary_negate -- : public std::binary_function - { - protected: - Predicate pred; -@@ -80,7 +79,7 @@ static inline void decode2(lcas_t x, int& a, int& b) - * Constructs predicate for equality from strict weak ordering predicate - */ - template --class equal_from_less : public std::binary_function + } + + if (space != free_space.end()) +diff --git a/include/stxxl/bits/msvc_compatibility.h b/include/stxxl/bits/msvc_compatibility.h +index c2c937d..0cb22e5 100644 +--- a/include/stxxl/bits/msvc_compatibility.h ++++ b/include/stxxl/bits/msvc_compatibility.h +@@ -19,10 +19,12 @@ + + #include + ++#if _MSC_VER < 1900 + inline double log2(double x) + { + return (log(x) / log(2.)); + } ++#endif // ^^^ _MSC_VER < 1900 + + // http://msdn.microsoft.com/en-us/library/2ts7cx93.aspx + #define snprintf _snprintf +diff --git a/include/stxxl/bits/parallel.h b/include/stxxl/bits/parallel.h +index d973861..c858d87 100644 +--- a/include/stxxl/bits/parallel.h ++++ b/include/stxxl/bits/parallel.h +@@ -121,7 +121,6 @@ using __gnu_parallel::random_shuffle; + #elif STXXL_PARALLEL + + using std::sort; +-using std::random_shuffle; + + #else + +diff --git a/include/stxxl/bits/parallel/base.h b/include/stxxl/bits/parallel/base.h +index 141d515..1c970f9 100644 +--- a/include/stxxl/bits/parallel/base.h ++++ b/include/stxxl/bits/parallel/base.h +@@ -33,7 +33,6 @@ namespace parallel { + */ + template + class binary_negate +- : public std::binary_function + { + protected: + Predicate pred; +@@ -80,7 +79,7 @@ static inline void decode2(lcas_t x, int& a, int& b) + * Constructs predicate for equality from strict weak ordering predicate + */ + template +-class equal_from_less : public std::binary_function +class equal_from_less - { - private: - Comparator& comp; -@@ -126,7 +125,7 @@ median_of_three_iterators(RandomAccessIterator a, RandomAccessIterator b, - - /** Similar to std::equal_to, but allows two different types. */ - template --struct equal_to : std::binary_function + { + private: + Comparator& comp; +@@ -126,7 +125,7 @@ median_of_three_iterators(RandomAccessIterator a, RandomAccessIterator b, + + /** Similar to std::equal_to, but allows two different types. */ + template +-struct equal_to : std::binary_function +struct equal_to - { - bool operator () (const T1& t1, const T2& t2) const - { -@@ -136,7 +135,7 @@ struct equal_to : std::binary_function - - /** Similar to std::less, but allows two different types. */ - template --struct less : std::binary_function + { + bool operator () (const T1& t1, const T2& t2) const + { +@@ -136,7 +135,7 @@ struct equal_to : std::binary_function + + /** Similar to std::less, but allows two different types. */ + template +-struct less : std::binary_function +struct less - { - bool operator () (const T1& t1, const T2& t2) const - { -diff --git a/include/stxxl/bits/parallel/multiseq_selection.h b/include/stxxl/bits/parallel/multiseq_selection.h -index 57e7599..f41d9aa 100644 ---- a/include/stxxl/bits/parallel/multiseq_selection.h -+++ b/include/stxxl/bits/parallel/multiseq_selection.h -@@ -35,7 +35,6 @@ namespace parallel { - //! Compare a pair of types lexcigraphically, ascending. - template - class lexicographic -- : public std::binary_function, std::pair, bool> - { - protected: - Comparator& m_comp; -@@ -60,7 +59,6 @@ public: - //! Compare a pair of types lexcigraphically, descending. - template - class lexicographic_rev -- : public std::binary_function, std::pair, bool> - { - protected: - Comparator& m_comp; -diff --git a/lib/io/wbtl_file.cpp b/lib/io/wbtl_file.cpp -index 310d76a..6d52e2e 100644 ---- a/lib/io/wbtl_file.cpp -+++ b/lib/io/wbtl_file.cpp -@@ -304,7 +304,7 @@ wbtl_file::offset_type wbtl_file::get_next_write_block() - // mapping_lock has to be aquired by caller - sortseq::iterator space = - std::find_if(free_space.begin(), free_space.end(), -- bind2nd(FirstFit(), write_block_size) _STXXL_FORCE_SEQUENTIAL); + { + bool operator () (const T1& t1, const T2& t2) const + { +diff --git a/include/stxxl/bits/parallel/multiseq_selection.h b/include/stxxl/bits/parallel/multiseq_selection.h +index 57e7599..f41d9aa 100644 +--- a/include/stxxl/bits/parallel/multiseq_selection.h ++++ b/include/stxxl/bits/parallel/multiseq_selection.h +@@ -35,7 +35,6 @@ namespace parallel { + //! Compare a pair of types lexcigraphically, ascending. + template + class lexicographic +- : public std::binary_function, std::pair, bool> + { + protected: + Comparator& m_comp; +@@ -60,7 +59,6 @@ public: + //! Compare a pair of types lexcigraphically, descending. + template + class lexicographic_rev +- : public std::binary_function, std::pair, bool> + { + protected: + Comparator& m_comp; +diff --git a/lib/io/wbtl_file.cpp b/lib/io/wbtl_file.cpp +index 310d76a..5f1a766 100644 +--- a/lib/io/wbtl_file.cpp ++++ b/lib/io/wbtl_file.cpp +@@ -304,7 +304,7 @@ wbtl_file::offset_type wbtl_file::get_next_write_block() + // mapping_lock has to be aquired by caller + sortseq::iterator space = + std::find_if(free_space.begin(), free_space.end(), +- bind2nd(FirstFit(), write_block_size) _STXXL_FORCE_SEQUENTIAL); + std::bind(FirstFit(), std::placeholders::_1, write_block_size) _STXXL_FORCE_SEQUENTIAL); - - if (space != free_space.end()) - { + + if (space != free_space.end()) + { diff --git a/ports/stxxl/portfile.cmake b/ports/stxxl/portfile.cmake index d11b14015e42d0..21f746ad3ab429 100644 --- a/ports/stxxl/portfile.cmake +++ b/ports/stxxl/portfile.cmake @@ -12,9 +12,8 @@ vcpkg_from_github( 0001-fix-visual-studio.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_STATIC_LIBS=ON -DBUILD_EXAMPLES=OFF @@ -34,19 +33,20 @@ vcpkg_configure_cmake( -DSTXXL_DEBUG_ASSERTIONS=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -if(EXISTS ${CURRENT_PACKAGES_DIR}/cmake) - vcpkg_fixup_cmake_targets(CONFIG_PATH cmake) +if(EXISTS "${CURRENT_PACKAGES_DIR}/cmake") + vcpkg_cmake_config_fixup(CONFIG_PATH cmake) endif() -if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/cmake/${PORT}) - vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) +if(EXISTS "${CURRENT_PACKAGES_DIR}/lib/cmake/${PORT}") + vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) endif() vcpkg_replace_string( - ${CURRENT_PACKAGES_DIR}/share/${PORT}/stxxl-config.cmake + "${CURRENT_PACKAGES_DIR}/share/${PORT}/stxxl-config.cmake" "\${STXXL_CMAKE_DIR}/../include" "\${STXXL_CMAKE_DIR}/../../include" + IGNORE_UNCHANGED ) if(CMAKE_HOST_WIN32) @@ -55,19 +55,19 @@ else() set(EXECUTABLE_SUFFIX "") endif() -file(INSTALL ${CURRENT_PACKAGES_DIR}/bin/stxxl_tool${EXECUTABLE_SUFFIX} - DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT}) -vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT}) +file(INSTALL "${CURRENT_PACKAGES_DIR}/bin/stxxl_tool${EXECUTABLE_SUFFIX}" + DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}") +vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/${PORT}") file(REMOVE_RECURSE - ${CURRENT_PACKAGES_DIR}/debug/include - ${CURRENT_PACKAGES_DIR}/debug/bin - ${CURRENT_PACKAGES_DIR}/debug/share - ${CURRENT_PACKAGES_DIR}/bin + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/bin" + "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/bin" ) # Handle copyright -configure_file(${SOURCE_PATH}/LICENSE_1_0.txt ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) +configure_file("${SOURCE_PATH}/LICENSE_1_0.txt" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) vcpkg_copy_pdbs() diff --git a/ports/stxxl/vcpkg.json b/ports/stxxl/vcpkg.json index e6a4029b0e1056..4becfa1a972c88 100644 --- a/ports/stxxl/vcpkg.json +++ b/ports/stxxl/vcpkg.json @@ -1,6 +1,17 @@ { "name": "stxxl", - "version-string": "2018-11-15", - "port-version": 4, - "description": "Standard Template Library for Extra Large Data Sets" + "version-date": "2018-11-15", + "port-version": 8, + "description": "Standard Template Library for Extra Large Data Sets", + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/suitesparse/portfile.cmake b/ports/suitesparse/portfile.cmake index 44dfa8c36234b4..c8a8c95e8605ba 100644 --- a/ports/suitesparse/portfile.cmake +++ b/ports/suitesparse/portfile.cmake @@ -19,38 +19,37 @@ vcpkg_from_github( # Copy suitesparse sources. message(STATUS "Overwriting SuiteSparseWin source files with SuiteSparse source files...") # Should probably remove everything but CMakeLists.txt files? -file(GLOB SUITESPARSE_SOURCE_FILES ${SOURCE_PATH}/*) +file(GLOB SUITESPARSE_SOURCE_FILES "${SOURCE_PATH}/*") foreach(SOURCE_FILE ${SUITESPARSE_SOURCE_FILES}) - file(COPY ${SOURCE_FILE} DESTINATION "${SUITESPARSEWIN_SOURCE_PATH}/SuiteSparse") + file(COPY "${SOURCE_FILE}" DESTINATION "${SUITESPARSEWIN_SOURCE_PATH}/SuiteSparse") endforeach() message(STATUS "Overwriting SuiteSparseWin source files with SuiteSparse source files... done") message(STATUS "Removing integrated lapack and metis lib...") -file(REMOVE_RECURSE ${SUITESPARSEWIN_SOURCE_PATH}/lapack_windows) -file(REMOVE_RECURSE ${SUITESPARSEWIN_SOURCE_PATH}/SuiteSparse/metis-5.1.0) +file(REMOVE_RECURSE "${SUITESPARSEWIN_SOURCE_PATH}/lapack_windows") +file(REMOVE_RECURSE "${SUITESPARSEWIN_SOURCE_PATH}/SuiteSparse/metis-5.1.0") message(STATUS "Removing integrated lapack and metis lib... done") -vcpkg_configure_cmake( - SOURCE_PATH ${SUITESPARSEWIN_SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SUITESPARSEWIN_SOURCE_PATH}" OPTIONS -DBUILD_METIS=OFF -DUSE_VCPKG_METIS=ON "-DMETIS_SOURCE_DIR=${CURRENT_INSTALLED_DIR}" OPTIONS_DEBUG - -DSUITESPARSE_INSTALL_PREFIX="${CURRENT_PACKAGES_DIR}/debug" + "-DSUITESPARSE_INSTALL_PREFIX=${CURRENT_PACKAGES_DIR}/debug" OPTIONS_RELEASE - -DSUITESPARSE_INSTALL_PREFIX="${CURRENT_PACKAGES_DIR}" + "-DSUITESPARSE_INSTALL_PREFIX=${CURRENT_PACKAGES_DIR}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/suitesparse) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/suitesparse) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) -file(INSTALL ${SUITESPARSEWIN_SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright_suitesparse-metis-for-windows) +file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +file(INSTALL "${SUITESPARSEWIN_SOURCE_PATH}/LICENSE.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright_suitesparse-metis-for-windows) -file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/cxsparse) -file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper_cxsparse.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/cxsparse RENAME vcpkg-cmake-wrapper.cmake) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/FindCXSparse.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/cxsparse) +file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/share/cxsparse") +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper_cxsparse.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/cxsparse" RENAME vcpkg-cmake-wrapper.cmake) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/FindCXSparse.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/cxsparse") diff --git a/ports/suitesparse/vcpkg.json b/ports/suitesparse/vcpkg.json index 71f44d7242847e..c3a8f25f2ecb24 100644 --- a/ports/suitesparse/vcpkg.json +++ b/ports/suitesparse/vcpkg.json @@ -1,11 +1,19 @@ { "name": "suitesparse", "version-semver": "5.8.0", - "port-version": 1, + "port-version": 2, "description": "A suite of sparse matrix algorithms. Also provides libcxsparse.", "homepage": "http://suitesparse.com", "dependencies": [ "lapack", - "metis" + "metis", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/sundials/install-dlls-in-bin.patch b/ports/sundials/install-dlls-in-bin.patch deleted file mode 100644 index 2a4ab5a49ccc90..00000000000000 --- a/ports/sundials/install-dlls-in-bin.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/cmake/macros/SundialsAddLibrary.cmake -+++ b/cmake/macros/SundialsAddLibrary.cmake -@@ -323,7 +323,7 @@ - set_target_properties(${_actual_target_name} PROPERTIES ${_properties}) - endif() - - # install phase -- install(TARGETS ${_actual_target_name} DESTINATION ${CMAKE_INSTALL_LIBDIR} EXPORT sundials-targets) -+ install(TARGETS ${_actual_target_name} EXPORT sundials-targets) - - endif() diff --git a/ports/sundials/portfile.cmake b/ports/sundials/portfile.cmake index 34ceecc99bd5d0..1aad435dcbbbec 100644 --- a/ports/sundials/portfile.cmake +++ b/ports/sundials/portfile.cmake @@ -1,31 +1,35 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO LLNL/sundials - REF v5.8.0 - SHA512 30f6a7bddf813634e4266c36331673b52448b719f938f45a4efb6a96cfbeea4fe168fdded89309672b148f8ef8bc05997d838627e828573900ec169a41472372 + REF "v${VERSION}" + SHA512 1c0448c6fa676364f6ba9c57fe4f96f734247795ae3331fc5f06f9e36c9d2fd92f85d3b126e5f31d8bace767953e2bebc638d31893474943255f1200bb39d065 HEAD_REF master - PATCHES - install-dlls-in-bin.patch ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" SUN_BUILD_STATIC) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" SUN_BUILD_SHARED) +if(VCPKG_TARGET_IS_ANDROID) + set(POSIX_TIMERS "-DSUNDIALS_POSIX_TIMERS=TRUE") +endif() + vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} - OPTIONS + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${POSIX_TIMERS} -D_BUILD_EXAMPLES=OFF + -DSUNDIALS_TEST_UNITTESTS=OFF -DBUILD_STATIC_LIBS=${SUN_BUILD_STATIC} -DBUILD_SHARED_LIBS=${SUN_BUILD_SHARED} ) -vcpkg_cmake_install(DISABLE_PARALLEL) +vcpkg_cmake_install() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +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") file(REMOVE "${CURRENT_PACKAGES_DIR}/LICENSE") file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/LICENSE") vcpkg_copy_pdbs() -vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${PORT}") diff --git a/ports/sundials/vcpkg.json b/ports/sundials/vcpkg.json index df5c71f1478792..726a2956fadfd5 100644 --- a/ports/sundials/vcpkg.json +++ b/ports/sundials/vcpkg.json @@ -1,6 +1,6 @@ { "name": "sundials", - "version-semver": "5.8.0", + "version-semver": "7.1.1", "description": "SUNDIALS (SUite of Nonlinear and DIfferential/ALgebraic equation Solvers)", "homepage": "https://computation.llnl.gov/projects/sundials", "dependencies": [ diff --git a/ports/superlu/fix-libm.patch b/ports/superlu/fix-libm.patch deleted file mode 100644 index a356bbda28e098..00000000000000 --- a/ports/superlu/fix-libm.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/SRC/CMakeLists.txt b/SRC/CMakeLists.txt -index e627f06..9aa8949 100644 ---- a/SRC/CMakeLists.txt -+++ b/SRC/CMakeLists.txt -@@ -232,7 +232,11 @@ if(enable_complex16) - endif() - - add_library(superlu ${sources} ${HEADERS}) --target_link_libraries(superlu PUBLIC ${BLAS_LIB} m) -+if(CMAKE_SYSTEM_NAME STREQUAL "Windows") -+ target_link_libraries(superlu PUBLIC ${BLAS_LIB}) -+else() -+ target_link_libraries(superlu PUBLIC ${BLAS_LIB} m) -+endif() - target_include_directories(superlu PUBLIC - $ - $ diff --git a/ports/superlu/portfile.cmake b/ports/superlu/portfile.cmake index 3d21ec510ff9da..a7618fb917e0a1 100644 --- a/ports/superlu/portfile.cmake +++ b/ports/superlu/portfile.cmake @@ -1,31 +1,32 @@ -vcpkg_fail_port_install(ON_ARCH "arm" "arm64" ON_TARGET "UWP") +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO xiaoyeli/superlu - REF a3d5233770f0caad4bc4578b46d3b26af99e9c19 - SHA512 c07e64be51ddef7774a367e1309ef4e596e93571531ec58a0c7b9db60a3db8b3a4a8b1262d66fcd512ad467db5df59a3726db342b259e392a08f56f5dd67c6ef + REF "v${VERSION}" + SHA512 d2b35ccfd4bee6f5967a1a65edc07d32a7d842aa3f623494de78cf69dc5f4819d82f675d6b2aec035fcbca0a8a3966ab76fa105e6162e8242eb6a56870e41cba HEAD_REF master PATCHES - fix-libm.patch - remove-make.inc.patch + remove-make.inc.patch + superfluous-configure.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DXSDK_ENABLE_Fortran=OFF - -Denable_tests=OFF - -Denable_blaslib=OFF + -DXSDK_ENABLE_Fortran=OFF + -Denable_tests=OFF + -Denable_internal_blaslib=OFF + -Denable_doc=OFF + -Denable_examples=OFF ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) -vcpkg_copy_pdbs() - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${PORT}") +vcpkg_fixup_pkgconfig() -file(INSTALL ${SOURCE_PATH}/License.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -vcpkg_fixup_pkgconfig() +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/License.txt") diff --git a/ports/superlu/remove-make.inc.patch b/ports/superlu/remove-make.inc.patch index 8f7716aadd5dfd..3652520e22f1a3 100644 --- a/ports/superlu/remove-make.inc.patch +++ b/ports/superlu/remove-make.inc.patch @@ -1,12 +1,12 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index b414f5f..22f29ce 100644 +index d059e89..fb0fb46 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -155,7 +155,6 @@ endif() +@@ -234,7 +234,6 @@ add_subdirectory(DOC) # file(WRITE "make.defs" "# can be exposed to users" # ${CMAKE_C_COMPILER} ) # configure_file(${CMAKE_SOURCE_DIR}/make.inc.in ${CMAKE_SOURCE_DIR}/make.inc) -configure_file(${SuperLU_SOURCE_DIR}/make.inc.in ${SuperLU_SOURCE_DIR}/make.inc) - + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/superlu.pc.in ${CMAKE_CURRENT_BINARY_DIR}/superlu.pc @ONLY) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/superlu.pc diff --git a/ports/superlu/superfluous-configure.patch b/ports/superlu/superfluous-configure.patch new file mode 100644 index 00000000000000..3505f0bfc0914d --- /dev/null +++ b/ports/superlu/superfluous-configure.patch @@ -0,0 +1,12 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index fb0fb46..772f56c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -240,7 +240,6 @@ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/superlu.pc + DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) + + configure_file(${SuperLU_SOURCE_DIR}/SRC/superlu_config.h.in ${SuperLU_BINARY_DIR}/SRC/superlu_config.h) +-configure_file(${SuperLU_SOURCE_DIR}/SRC/superlu_config.h.in ${SuperLU_SOURCE_DIR}/SRC/superlu_config.h) + + # Following is to configure a header file for FORTRAN code + configure_file(${SuperLU_SOURCE_DIR}/SRC/superlu_config.h.in ${SuperLU_BINARY_DIR}/FORTRAN/superlu_config.h) diff --git a/ports/superlu/vcpkg.json b/ports/superlu/vcpkg.json index 08b6be02a71cb7..ca7059164ac683 100644 --- a/ports/superlu/vcpkg.json +++ b/ports/superlu/vcpkg.json @@ -1,11 +1,18 @@ { "name": "superlu", - "version-string": "2020-01-07", - "port-version": 4, + "version": "7.0.0", "description": "Supernodal sparse direct solver.", "homepage": "https://github.com/xiaoyeli/superlu", - "supports": "!(uwp | arm)", + "license": "BSD-3-Clause-LBNL", "dependencies": [ - "blas" + "blas", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/swenson-sort/portfile.cmake b/ports/swenson-sort/portfile.cmake new file mode 100644 index 00000000000000..b3af3d83e31ef4 --- /dev/null +++ b/ports/swenson-sort/portfile.cmake @@ -0,0 +1,12 @@ +# header-only library, no build +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO swenson/sort + REF 5820a8094e4a2ae1c88ac8f8df7735c332ee62ff # accessed on 2023-06-26 + SHA512 fbe89ba5c5531f46250e2b8128ea5f1d7bac642a590a2f6e5f2cc3befa61f175b8f1fc28317377cde50357e8947ddc7ba8e0751437cf2c9fb91b7469511be15a + FILE_DISAMBIGUATOR 2 + HEAD_REF master +) + +file(INSTALL "${SOURCE_PATH}/sort.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include/${PORT}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.md") diff --git a/ports/swenson-sort/vcpkg.json b/ports/swenson-sort/vcpkg.json new file mode 100644 index 00000000000000..2f27a90f58cf25 --- /dev/null +++ b/ports/swenson-sort/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "swenson-sort", + "version-date": "2021-05-22", + "description": "sort.h is an implementation of a ton of sorting algorithms in C with a user-defined type that is provided at include time.", + "homepage": "https://github.com/swenson/sort", + "license": "MIT" +} diff --git a/ports/symengine/fix-build.patch b/ports/symengine/fix-build.patch deleted file mode 100644 index 5087428e60f7f7..00000000000000 --- a/ports/symengine/fix-build.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/symengine/mp_boost.cpp b/symengine/mp_boost.cpp -index db20930c4..f3997707e 100644 ---- a/symengine/mp_boost.cpp -+++ b/symengine/mp_boost.cpp -@@ -279,7 +279,7 @@ unsigned long mp_scan1(const integer_class &i) - if (i == 0) { - return ULONG_MAX; - } -- return find_lsb(i, int_<0>()); -+ return find_lsb(i, {}); - } - - // define simple 2x2 matrix with exponentiation by repeated squaring diff --git a/ports/symengine/portfile.cmake b/ports/symengine/portfile.cmake index 48e21d03287b2c..d75138c3557bef 100644 --- a/ports/symengine/portfile.cmake +++ b/ports/symengine/portfile.cmake @@ -1,11 +1,9 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO symengine/symengine - REF v0.7.0 - SHA512 fd3198bc4a05ca2b9b8a58039cc21af65b44457f295362a1a9b8dbf9c6e3df5186c0c84b289bc9fe85d9efd5ac1a683f6b7ba9a661fb6d913d6ceefb14ee2348 + REF 450a0277e1116ab8c52582df9c77d42f9db3092a # unreleased version with LLVM 18 support + SHA512 fb9bfe3cf6d48051b86f28c749cfdc19a2d5c1fc750f3c45c422559e9b8b9736d1cb542af5023a876640d917ad2198b24385fd085d8e20ff97e7ee660e056605 HEAD_REF master - PATCHES - fix-build.patch ) vcpkg_check_features( @@ -15,15 +13,10 @@ vcpkg_check_features( flint WITH_FLINT mpfr WITH_MPFR tcmalloc WITH_TCMALLOC + llvm WITH_LLVM ) -if(integer-class-boostmp IN_LIST FEATURES) - set(INTEGER_CLASS boostmp) - - if(integer-class-flint IN_LIST FEATURES) - message(WARNING "Both boostmp and flint are given for integer class, will use boostmp only.") - endif() -elseif(integer-class-flint IN_LIST FEATURES) +if(integer-class-flint IN_LIST FEATURES) set(INTEGER_CLASS flint) endif() @@ -32,20 +25,17 @@ if(VCPKG_TARGET_IS_UWP) set(VCPKG_CXX_FLAGS "${VCPKG_CXX_FLAGS} -D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_DEPRECATE") endif() -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" MSVC_USE_MT) - vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DINTEGER_CLASS=${INTEGER_CLASS} -DBUILD_BENCHMARKS=no -DBUILD_TESTS=no -DMSVC_WARNING_LEVEL=3 - -DMSVC_USE_MT=${MSVC_USE_MT} + -DMSVC_USE_MT=no -DWITH_SYMENGINE_RCP=yes -DWITH_SYMENGINE_TEUCHOS=no - -DINTEGER_CLASS=${INTEGER_CLASS} + -DWITH_SYMENGINE_THREAD_SAFE=yes ${FEATURE_OPTIONS} ) @@ -62,4 +52,11 @@ vcpkg_copy_pdbs() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE "${CURRENT_PACKAGES_DIR}/include/symengine/symengine_config_cling.h") -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/symengine/SymEngineConfig.cmake" "${CURRENT_BUILDTREES_DIR}" "") # not used, inside if (False) +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/symengine/SymEngineConfig.cmake" + [[${SYMENGINE_CMAKE_DIR}/../../../include]] + [[${SYMENGINE_CMAKE_DIR}/../../include]] + IGNORE_UNCHANGED +) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/symengine/vcpkg.json b/ports/symengine/vcpkg.json index 75587297454839..93e998c6cda507 100644 --- a/ports/symengine/vcpkg.json +++ b/ports/symengine/vcpkg.json @@ -1,12 +1,21 @@ { "name": "symengine", - "version": "0.7.0", - "port-version": 1, + "version": "0.11.2", + "port-version": 2, "description": "SymEngine is a fast symbolic manipulation library", "homepage": "https://github.com/symengine/symengine", + "license": "BSD-3-Clause", + "supports": "!uwp", "dependencies": [ "boost-math", "boost-random", + { + "name": "symengine", + "default-features": false, + "features": [ + "integer-class-flint" + ] + }, { "name": "vcpkg-cmake", "host": true @@ -17,7 +26,9 @@ } ], "default-features": [ - "integer-class-boostmp" + "arb", + "llvm", + "mpfr" ], "features": { "arb": { @@ -32,17 +43,19 @@ "flint" ] }, - "integer-class-boostmp": { - "description": "Use Boost.multiprecision integer class", + "integer-class-flint": { + "description": "Use flint integer class", "dependencies": [ - "boost-multiprecision" + "flint" ] }, - "integer-class-flint": { - "description": "Use flint integer class", + "llvm": { + "description": "Build with LLVM", "dependencies": [ - "flint", - "gmp" + { + "name": "llvm", + "default-features": false + } ] }, "mpfr": { diff --git a/ports/systemc/portfile.cmake b/ports/systemc/portfile.cmake index e6439eb5c77b44..157bfc60490a7f 100644 --- a/ports/systemc/portfile.cmake +++ b/ports/systemc/portfile.cmake @@ -6,28 +6,27 @@ vcpkg_download_distfile(ARCHIVE FILENAME "systemc-${SYSTEMC_VERSION}.zip" SHA512 f4df172addf816a1928d411dcab42c1679dc4c9d772f406c10d798a2c174d89cdac7a83947fa8beea1e3aff93da522d2d2daf61a4841ec456af7b7446c5c4a14 ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} - REF ${SYSTEMC_VERSION} +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" + SOURCE_BASE "${SYSTEMC_VERSION}" PATCHES install.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DCMAKE_CXX_STANDARD=17 -DDISABLE_COPYRIGHT_MESSAGE=ON ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/SystemCLanguage TARGET_PATH share/systemclanguage) -vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/SystemCTLM TARGET_PATH share/systemctlm) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/SystemCLanguage PACKAGE_NAME systemclanguage) +vcpkg_cmake_config_fixup(CONFIG_PATH share/cmake/SystemCTLM PACKAGE_NAME systemctlm) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/sysc/packages/qt/time) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/sysc/packages/qt/time") -file(INSTALL ${SOURCE_PATH}/NOTICE DESTINATION ${CURRENT_PACKAGES_DIR}/share/systemc RENAME copyright) +file(INSTALL "${SOURCE_PATH}/NOTICE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/systemc/vcpkg.json b/ports/systemc/vcpkg.json index 9f9d743fee6653..86fc788bfc073a 100644 --- a/ports/systemc/vcpkg.json +++ b/ports/systemc/vcpkg.json @@ -1,6 +1,16 @@ { "name": "systemc", - "version-string": "2.3.3", - "port-version": 6, - "description": "A set of C++ classes and macros which provide an event-driven simulation kernel in C++" + "version": "2.3.3", + "port-version": 8, + "description": "A set of C++ classes and macros which provide an event-driven simulation kernel in C++", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/szip/portfile.cmake b/ports/szip/portfile.cmake index 038736e7a99002..119825480c33ff 100644 --- a/ports/szip/portfile.cmake +++ b/ports/szip/portfile.cmake @@ -5,21 +5,34 @@ vcpkg_download_distfile(ARCHIVE SHA512 ada6406efb096cd8a2daf8f9217fe9111a96dcae87e29d1c31f58ddd2ad2aa7bac03f23c7205dc9360f3b62d259461759330c7189ef0c2fe559704b1ea9d40dd ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH +vcpkg_extract_source_archive( + SOURCE_PATH ARCHIVE "${ARCHIVE}" - REF szip-${SZIP_VERSION} + SOURCE_BASE "szip-${SZIP_VERSION}" PATCHES fix-linkage-config.patch mingw-lib-names.patch ) +if (VCPKG_TARGET_IS_ANDROID OR VCPKG_TARGET_IS_IOS OR VCPKG_TARGET_IS_OSX) + # when cross-compiling, try_run will not work. + # LFS "large file support" is keyed on + # 1) 64-bit off_t (https://developer.apple.com/library/archive/documentation/Darwin/Conceptual/64bitPorting/transition/transition.html table 2-1) + # 2) stat works properly, which is true + set(extra_opts + -DTEST_LFS_WORKS_RUN=TRUE + -DTEST_LFS_WORKS_RUN__TRYRUN_OUTPUT="" + -DHAVE_DEFAULT_SOURCE_RUN=0 + -DHAVE_DEFAULT_SOURCE_RUN__TRYRUN_OUTPUT="" + ) +endif() + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - PREFER_NINJA OPTIONS -DSZIP_INSTALL_DATA_DIR=share/szip/data -DSZIP_INSTALL_CMAKE_DIR=share/szip + ${extra_opts} ) vcpkg_cmake_install() @@ -62,7 +75,8 @@ if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/lib") endif() vcpkg_fixup_pkgconfig() -file(RENAME "${CURRENT_PACKAGES_DIR}/share/szip/data/COPYING" "${CURRENT_PACKAGES_DIR}/share/szip/copyright") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/szip/data") + +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/szip/vcpkg.json b/ports/szip/vcpkg.json index 7c83b1a157ffdc..46a492bb33ac2f 100644 --- a/ports/szip/vcpkg.json +++ b/ports/szip/vcpkg.json @@ -1,9 +1,10 @@ { "name": "szip", "version": "2.1.1", - "port-version": 7, + "port-version": 12, "description": "Szip compression software, providing lossless compression of scientific data", "homepage": "https://support.hdfgroup.org/ftp/lib-external/szip", + "license": null, "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/tabulate/portfile.cmake b/ports/tabulate/portfile.cmake index 284dc218afcf95..6f97e54e84a5b9 100644 --- a/ports/tabulate/portfile.cmake +++ b/ports/tabulate/portfile.cmake @@ -1,26 +1,23 @@ -# header-only library - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO p-ranav/tabulate - REF 8f7a31b58806384b755858fe5e69593f9f216ed0 - SHA512 33a51617d363f9e8eed2153f60c5a087ed84edaeb21a0bc779d0af6228d4d7deb211e03c1eb7c8d56ac538de6a1cc0b641d219b4ff95d277f3daa7762f64a8f6 + REF v1.5 + SHA512 324c9f2427d4d0e568b63fcd7bd81f4eee6743d7106af5ead134f81d637f190f77122f28cc42b9e95f7782f5058492b1903eadb44e1c3061a636b32bb93d0ed2 HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -Dtabulate_BUILD_TESTS=OFF -DSAMPLES=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug" "${CURRENT_PACKAGES_DIR}/lib") -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) -file(INSTALL ${SOURCE_PATH}/LICENSE.termcolor DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE.termcolor" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/tabulate/vcpkg.json b/ports/tabulate/vcpkg.json index cdbb579bb19676..d88fefb59285e7 100644 --- a/ports/tabulate/vcpkg.json +++ b/ports/tabulate/vcpkg.json @@ -1,7 +1,17 @@ { "name": "tabulate", - "version-string": "2019-01-06", - "port-version": 1, + "version": "1.5", "description": "Table maker for modern C++", - "homepage": "https://github.com/p-ranav/tabulate" + "homepage": "https://github.com/p-ranav/tabulate", + "license": "MIT AND BSL-1.0 AND BSD-3-Clause", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/tacopie/fix-mingw-build.patch b/ports/tacopie/fix-mingw-build.patch new file mode 100644 index 00000000000000..a7b5bd4ecb295c --- /dev/null +++ b/ports/tacopie/fix-mingw-build.patch @@ -0,0 +1,11 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -44,7 +44,7 @@ project(${PROJECT} CXX) + ### + # compilation options + ### +-IF (WIN32) ++IF (MSVC) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W3 /O2 /bigobj") + + # was causing conflics with gtest build diff --git a/ports/tacopie/portfile.cmake b/ports/tacopie/portfile.cmake index 4cf2d73dcbc4b2..1dc96736557f0e 100644 --- a/ports/tacopie/portfile.cmake +++ b/ports/tacopie/portfile.cmake @@ -7,8 +7,9 @@ vcpkg_from_github( SHA512 079b294b537aaffe3bcf43a485c3be5b15f633c3f7c70140032d60cb010d35b76e76ef4ddd7596f6bfaf3f7edca7cb086c67552efffbf65846e725d7be54ce72 HEAD_REF master PATCHES - ${CMAKE_CURRENT_LIST_DIR}/fix-cmakelists.patch - ${CMAKE_CURRENT_LIST_DIR}/fix-export.patch + fix-cmakelists.patch + fix-export.patch + fix-mingw-build.patch ) if(VCPKG_CRT_LINKAGE STREQUAL dynamic) @@ -23,21 +24,20 @@ if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" OR NOT VCPKG_CMAKE_SYSTEM_NAM set(VCPKG_C_FLAGS_DEBUG "${VCPKG_C_FLAGS_DEBUG} -RTC1") endif() -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DMSVC_RUNTIME_LIBRARY_CONFIG=${MSVC_RUNTIME_LIBRARY_CONFIG} ) -vcpkg_install_cmake() +vcpkg_cmake_install() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +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) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") endif() vcpkg_copy_pdbs() -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/tacopie/vcpkg.json b/ports/tacopie/vcpkg.json index 4c1167a8a616c2..6dc38391a05290 100644 --- a/ports/tacopie/vcpkg.json +++ b/ports/tacopie/vcpkg.json @@ -1,7 +1,13 @@ { "name": "tacopie", - "version-string": "3.2.0", - "port-version": 3, + "version": "3.2.0", + "port-version": 6, "description": "Tacopie is a TCP Client & Server C++11 library", - "homepage": "https://github.com/cpp-redis/tacopie" + "homepage": "https://github.com/cpp-redis/tacopie", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/taglib/disable-wchar-t-check-emscripten.patch b/ports/taglib/disable-wchar-t-check-emscripten.patch new file mode 100644 index 00000000000000..a6163e1092d3c9 --- /dev/null +++ b/ports/taglib/disable-wchar-t-check-emscripten.patch @@ -0,0 +1,30 @@ +From 477e4cee4389b4b692734b7dc1669d9cfae62f61 Mon Sep 17 00:00:00 2001 +Date: Sat, 2 Mar 2024 23:38:50 +0100 +Subject: [PATCH] Disable wchar_t check when targeting Emscripten + +--- + ConfigureChecks.cmake | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake +index 7d2ff95..2dc1891 100644 +--- a/ConfigureChecks.cmake ++++ b/ConfigureChecks.cmake +@@ -19,9 +19,11 @@ if(NOT ${SIZEOF_LONGLONG} EQUAL 8) + message(FATAL_ERROR "TagLib requires that long long is 64-bit wide.") + endif() + +-check_type_size("wchar_t" SIZEOF_WCHAR_T) +-if(${SIZEOF_WCHAR_T} LESS 2) +- message(FATAL_ERROR "TagLib requires that wchar_t is sufficient to store a UTF-16 char.") ++if(NOT EMSCRIPTEN) ++ check_type_size("wchar_t" SIZEOF_WCHAR_T) ++ if(${SIZEOF_WCHAR_T} LESS 2) ++ message(FATAL_ERROR "TagLib requires that wchar_t is sufficient to store a UTF-16 char.") ++ endif() + endif() + + check_type_size("float" SIZEOF_FLOAT) +-- +2.43.0 + diff --git a/ports/taglib/msvc-disable-deprecated-warnings.patch b/ports/taglib/msvc-disable-deprecated-warnings.patch deleted file mode 100644 index 4d99bb8bc730aa..00000000000000 --- a/ports/taglib/msvc-disable-deprecated-warnings.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 5fc91cc6..6f57e4ee 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -58,10 +58,17 @@ if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall") - endif() - --if(MSVC AND ENABLE_STATIC_RUNTIME) -- foreach(flag_var CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO) -- string(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}") -- endforeach(flag_var) -+if(MSVC) -+ if(ENABLE_STATIC_RUNTIME) -+ foreach(flag_var CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO) -+ string(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}") -+ endforeach(flag_var) -+ endif() -+ # Disable warnings for internal invocations of API functions -+ # that have been marked with TAGLIB_DEPRECATED -+ # https://docs.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-3-c4996 -+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /wd4996") -+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4996") - endif() - - # Read version information from file taglib/toolkit/taglib.h into variables diff --git a/ports/taglib/portfile.cmake b/ports/taglib/portfile.cmake index bce8b1f869eb57..27ce3785282fdc 100644 --- a/ports/taglib/portfile.cmake +++ b/ports/taglib/portfile.cmake @@ -1,43 +1,52 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO taglib/taglib - REF v1.12 - SHA512 63c96297d65486450908bda7cc1583ec338fa5a56a7c088fc37d6e125e1ee76e6d20343556a8f3d36f5b7e5187c58a5d15be964c996e3586ea1438910152b1a6 + REF "v${VERSION}" + SHA512 099d02b2eab033f5702a8cb03e70752d7523c6f8c2f3eebdd0bcd939eafbdca3f2a6c82452983904b5822cfa45f2707ed866c3419508df9d43bf5c0b3a476f6c HEAD_REF master - PATCHES msvc-disable-deprecated-warnings.patch + PATCHES + disable-wchar-t-check-emscripten.patch ) -if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - set(BUILD_SHARED_LIBS OFF) -elseif(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - set(BUILD_SHARED_LIBS ON) -endif() - if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") set(WINRT_OPTIONS -DHAVE_VSNPRINTF=1 -DPLATFORM_WINRT=1) endif() -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS ${WINRT_OPTIONS} +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_TESTING=OFF + -DBUILD_EXAMPLES=OFF + ${WINRT_OPTIONS} ) - -vcpkg_install_cmake() - +vcpkg_cmake_install() vcpkg_fixup_pkgconfig() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/taglib) -# remove the debug/include files -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +set(pcfile "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/taglib.pc") +if(EXISTS "${pcfile}") + vcpkg_replace_string("${pcfile}" "Requires: " "Requires: zlib" IGNORE_UNCHANGED) + 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" IGNORE_UNCHANGED) + vcpkg_replace_string("${pcfile}" " -lz" "") +endif() -# 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) +# 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) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) + 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") diff --git a/ports/taglib/vcpkg.json b/ports/taglib/vcpkg.json index f3f7239ced4d9b..9e673be4e890e2 100644 --- a/ports/taglib/vcpkg.json +++ b/ports/taglib/vcpkg.json @@ -1,10 +1,20 @@ { "name": "taglib", - "version-semver": "1.12.0", + "version": "2.0", + "port-version": 2, "description": "TagLib Audio Meta-Data Library", "homepage": "https://taglib.org/", - "license": "LGPL-2.1 OR MPL-1.1", + "license": "LGPL-2.1-only OR MPL-1.1", "dependencies": [ + "utfcpp", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, "zlib" ] } diff --git a/ports/talib/portfile.cmake b/ports/talib/portfile.cmake new file mode 100644 index 00000000000000..f8218aa2bcf9ac --- /dev/null +++ b/ports/talib/portfile.cmake @@ -0,0 +1,82 @@ +vcpkg_from_sourceforge( + OUT_SOURCE_PATH SOURCE_PATH + REPO "ta-lib/ta-lib" + REF "${VERSION}" + FILENAME "ta-lib-${VERSION}-msvc.zip" + SHA512 5f211327b6a1d4f00d0a2b9e276adadd118d7aa29fc87c6771d550fda124a863b4a20e3803f325f7c903c82ea12bfb23121a5f0566eeaa434e0f107a6eedb737 +) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +if(VCPKG_CRT_LINKAGE STREQUAL "dynamic") + set(LFLAG "d") +else() + set(LFLAG "m") +endif() + +# Debug build +if (NOT VCPKG_BUILD_TYPE) + vcpkg_execute_build_process( + COMMAND nmake -f Makefile + WORKING_DIRECTORY "${SOURCE_PATH}/c/make/c${LFLAG}d/win32/msvc" + LOGNAME build-${TARGET_TRIPLET}-dbg + ) + + file( + INSTALL "${SOURCE_PATH}/c/lib/ta_abstract_c${LFLAG}d.lib" + DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib + RENAME ta_abstract.lib + ) + file( + INSTALL "${SOURCE_PATH}/c/lib/ta_libc_c${LFLAG}d.lib" + DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib + RENAME ta_libc.lib + ) + file( + INSTALL "${SOURCE_PATH}/c/lib/ta_func_c${LFLAG}d.lib" + DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib + RENAME ta_func.lib + ) + file( + INSTALL "${SOURCE_PATH}/c/lib/ta_common_c${LFLAG}d.lib" + DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib + RENAME ta_common.lib + ) +endif() + +# Release build +vcpkg_execute_build_process( + COMMAND nmake -f Makefile + WORKING_DIRECTORY "${SOURCE_PATH}/c/make/c${LFLAG}r/win32/msvc" + LOGNAME build-${TARGET_TRIPLET}-rel +) + +file( + INSTALL "${SOURCE_PATH}/c/lib/ta_abstract_c${LFLAG}r.lib" + DESTINATION ${CURRENT_PACKAGES_DIR}/lib + RENAME ta_abstract.lib +) +file( + INSTALL "${SOURCE_PATH}/c/lib/ta_libc_c${LFLAG}r.lib" + DESTINATION ${CURRENT_PACKAGES_DIR}/lib + RENAME ta_libc.lib +) +file( + INSTALL "${SOURCE_PATH}/c/lib/ta_func_c${LFLAG}r.lib" + DESTINATION ${CURRENT_PACKAGES_DIR}/lib + RENAME ta_func.lib +) +file( + INSTALL "${SOURCE_PATH}/c/lib/ta_common_c${LFLAG}r.lib" + DESTINATION ${CURRENT_PACKAGES_DIR}/lib + RENAME ta_common.lib +) + +# Include files +file( + INSTALL "${SOURCE_PATH}/c/include" + DESTINATION ${CURRENT_PACKAGES_DIR} + PATTERN Makefile.* EXCLUDE +) + +# License file +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.TXT") diff --git a/ports/talib/vcpkg.json b/ports/talib/vcpkg.json new file mode 100644 index 00000000000000..0dc503d9a3810a --- /dev/null +++ b/ports/talib/vcpkg.json @@ -0,0 +1,15 @@ +{ + "name": "talib", + "version-semver": "0.4.0", + "port-version": 1, + "description": "TA-Lib - Technical Analysis Library", + "homepage": "https://ta-lib.github.io/", + "license": "BSD-2-Clause", + "supports": "windows & !uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] +} diff --git a/ports/taocpp-json/portfile.cmake b/ports/taocpp-json/portfile.cmake index 653a3d201ed101..9d3414d6827b7b 100644 --- a/ports/taocpp-json/portfile.cmake +++ b/ports/taocpp-json/portfile.cmake @@ -1,4 +1,4 @@ -# header-only library +set(VCPKG_BUILD_TYPE release) # header-only vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH @@ -8,26 +8,26 @@ vcpkg_from_github( HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - DISABLE_PARALLEL_CONFIGURE - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DTAOCPP_JSON_BUILD_TESTS=OFF -DTAOCPP_JSON_BUILD_EXAMPLES=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/taocpp-json/cmake) +vcpkg_cmake_config_fixup(CONFIG_PATH share/taocpp-json/cmake) file(REMOVE_RECURSE - ${CURRENT_PACKAGES_DIR}/debug - ${CURRENT_PACKAGES_DIR}/share/doc + "${CURRENT_PACKAGES_DIR}/debug" + "${CURRENT_PACKAGES_DIR}/share/doc" ) -# Handle copyright -configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) -file(COPY ${SOURCE_PATH}/LICENSE.double-conversion DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) -file(COPY ${SOURCE_PATH}/LICENSE.itoa DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) -file(COPY ${SOURCE_PATH}/LICENSE.ryu DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +vcpkg_install_copyright( + FILE_LIST + "${SOURCE_PATH}/LICENSE" + "${SOURCE_PATH}/LICENSE.double-conversion" + "${SOURCE_PATH}/LICENSE.itoa" + "${SOURCE_PATH}/LICENSE.ryu" +) diff --git a/ports/taocpp-json/vcpkg.json b/ports/taocpp-json/vcpkg.json index b1e5f2fb91052e..589547eae83892 100644 --- a/ports/taocpp-json/vcpkg.json +++ b/ports/taocpp-json/vcpkg.json @@ -1,6 +1,16 @@ { "name": "taocpp-json", - "version-string": "2020-09-14", - "port-version": 1, - "description": "C++ header-only JSON library" + "version-date": "2020-09-14", + "port-version": 4, + "description": "C++ header-only JSON library", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/tap-windows6/vcpkg.json b/ports/tap-windows6/vcpkg.json index 777db703c20904..4a234c4bcf515b 100644 --- a/ports/tap-windows6/vcpkg.json +++ b/ports/tap-windows6/vcpkg.json @@ -1,6 +1,6 @@ { "name": "tap-windows6", - "version-string": "9.21.2-0e30f5c", - "port-version": 1, + "version": "9.21.2-0e30f5c", + "port-version": 2, "description": "an NDIS 6 implementation of the TAP-Windows driver, used by OpenVPN and other apps. Note: This package only contains the headers for the driver." } diff --git a/ports/task-thread-pool/portfile.cmake b/ports/task-thread-pool/portfile.cmake new file mode 100644 index 00000000000000..f3476542cdd1b5 --- /dev/null +++ b/ports/task-thread-pool/portfile.cmake @@ -0,0 +1,13 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO alugowski/task-thread-pool + REF v${VERSION} + SHA512 8f67e4d467c16bd0986f4fbfda6e7ca74760ddf3c4333660c764c97df0a21a40f36dc5af11c47f41e1cc0eb9c498ff2ca7b93a11a32dea296181592f5a05fd1d + HEAD_REF main +) + +file(GLOB HEADER_FILES LIST_DIRECTORIES false "${SOURCE_PATH}/include/*.hpp") + +file(INSTALL ${HEADER_FILES} DESTINATION "${CURRENT_PACKAGES_DIR}/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE-BSD.txt" "${SOURCE_PATH}/LICENSE-Boost.txt" "${SOURCE_PATH}/LICENSE-MIT.txt") diff --git a/ports/task-thread-pool/vcpkg.json b/ports/task-thread-pool/vcpkg.json new file mode 100644 index 00000000000000..b5cc94e8678137 --- /dev/null +++ b/ports/task-thread-pool/vcpkg.json @@ -0,0 +1,8 @@ +{ + "name": "task-thread-pool", + "version": "1.0.7", + "description": "Fast and lightweight thread pool for C++11 and newer.", + "homepage": "https://github.com/alugowski/task-thread-pool", + "documentation": "https://github.com/alugowski/task-thread-pool/blob/main/README.md", + "license": "BSD-2-Clause OR MIT OR BSL-1.0" +} diff --git a/ports/taskflow/portfile.cmake b/ports/taskflow/portfile.cmake index 56e6564a3cfeff..e9189a213540dc 100644 --- a/ports/taskflow/portfile.cmake +++ b/ports/taskflow/portfile.cmake @@ -2,14 +2,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO taskflow/taskflow - REF cbcf750895259d1e01089d4cc4535dc962bc7848 #v3.2.0 - SHA512 584f81a8c9d314fbd5bc3497cead659488e17ded90cca9144e867ea5d18f50bd8bc554eaefc21ed82e73b5c92a89c5502434e214b0543b65442a2c261d2ef396 + REF "v${VERSION}" + SHA512 9609c2d0851dc306d93d6b08e3330413ebc8f6eda4af57b0204446ab4c86fca886c7f9349e8ec92767c11b90b7a64dd52c56e6b34a89eca5ba37235b38665f8e HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DTF_BUILD_BENCHMARKS=OFF -DTF_BUILD_CUDA=OFF @@ -19,11 +18,11 @@ vcpkg_configure_cmake( -DCMAKE_CUDA_COMPILER=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/Taskflow) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/Taskflow) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug" "${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/taskflow/vcpkg.json b/ports/taskflow/vcpkg.json index a71f3220841c39..26210f240bb3e1 100644 --- a/ports/taskflow/vcpkg.json +++ b/ports/taskflow/vcpkg.json @@ -1,6 +1,17 @@ { "name": "taskflow", - "version": "3.2.0", + "version": "3.8.0", "description": "Fast Parallel Tasking Programming Library using Modern C++", - "homepage": "https://github.com/taskflow/taskflow" + "homepage": "https://github.com/taskflow/taskflow", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/tbb/CMakeLists.txt b/ports/tbb/CMakeLists.txt deleted file mode 100644 index ae53c40f2a6251..00000000000000 --- a/ports/tbb/CMakeLists.txt +++ /dev/null @@ -1,40 +0,0 @@ -project(tbb CXX) - -file(GLOB SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/*) -file(COPY ${SOURCES} DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/src) - -include(${CMAKE_CURRENT_BINARY_DIR}/src/cmake/TBBBuild.cmake REQUIRED) -if(NOT BUILD_SHARED_LIBS) - set(TBB_STATIC_INCLUDE extra_inc=big_iron.inc) -endif() -if(CMAKE_SYSTEM_NAME STREQUAL "Darwin") - set(FORWARD_SDK_ROOT "SDKROOT=${CMAKE_OSX_SYSROOT}") - if(CMAKE_OSX_ARCHITECTURES STREQUAL "arm64") - set(arch "arch=arm64") - endif() -endif() - -if(CMAKE_SYSTEM_NAME STREQUAL "Linux") - if(NOT CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL CMAKE_SYSTEM_PROCESSOR) - set(arch "arch=${CMAKE_SYSTEM_PROCESSOR}") - if(CMAKE_CXX_COMPILER) - set(CPLUS "CPLUS=${CMAKE_CXX_COMPILER}") - endif() - if(CMAKE_C_COMPILER) - set(CONLY "CONLY=${CMAKE_C_COMPILER}") - endif() - endif() -endif() - -tbb_build(TBB_ROOT ${CMAKE_CURRENT_BINARY_DIR}/src MAKE_ARGS ${arch} ${CPLUS} ${CONLY} ${TBB_STATIC_INCLUDE} ${FORWARD_SDK_ROOT}) - -set(SUBDIR ${CMAKE_CURRENT_BINARY_DIR}/tbb_cmake_build/tbb_cmake_build_subdir) -if(CMAKE_BUILD_TYPE STREQUAL "Release") - set(SUBDIR "${SUBDIR}_release") -else() - set(SUBDIR "${SUBDIR}_debug") -endif() - -file(GLOB OUTPUTS ${SUBDIR}/*.so.* ${SUBDIR}/*.so ${SUBDIR}/*.a ${SUBDIR}/*.dylib ${SUBDIR}/*.dylib.*) - -install(FILES ${OUTPUTS} DESTINATION lib) diff --git a/ports/tbb/fix-static-build.patch b/ports/tbb/fix-static-build.patch deleted file mode 100644 index 18f3e2b493f95f..00000000000000 --- a/ports/tbb/fix-static-build.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/tbb/cilk-tbb-interop.h b/src/tbb/cilk-tbb-interop.h -index 295734b..f35531e 100644 ---- a/src/tbb/cilk-tbb-interop.h -+++ b/src/tbb/cilk-tbb-interop.h -@@ -29,6 +29,8 @@ - #else - #ifdef IN_CILK_RUNTIME - #define CILK_EXPORT __declspec(dllexport) -+#elif defined(IN_CILK_STATIC) -+#define CILK_EXPORT /* nothing */ - #else - #define CILK_EXPORT __declspec(dllimport) - #endif // IN_CILK_RUNTIME diff --git a/ports/tbb/portfile.cmake b/ports/tbb/portfile.cmake index bf65511b788943..ccfafdfee60ef4 100644 --- a/ports/tbb/portfile.cmake +++ b/ports/tbb/portfile.cmake @@ -1,140 +1,57 @@ -if (NOT VCPKG_TARGET_IS_LINUX AND NOT VCPKG_TARGET_IS_OSX) - vcpkg_fail_port_install(ON_ARCH "arm" "arm64" ON_TARGET "uwp") -endif() + +set(VCPKG_POLICY_MISMATCHED_NUMBER_OF_BINARIES enabled) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO oneapi-src/oneTBB - REF eca91f16d7490a8abfdee652dadf457ec820cc37 # 2020_U3 - SHA512 7144e1dc68304b5358e6ea330431b6f0c61fadb147efa353a5b242777d6fabf7b8cf99b79cffb51b49b911dd17a9f1879619d6eebdf319f23ec3235c89cffc25 - HEAD_REF tbb_2019 - PATCHES - fix-static-build.patch - terminate-when-buildtool-notfound.patch + REF "v${VERSION}" + SHA512 c87b84964b2c323f61895a532968dfa6413a774c177cffbf6e798a07e74e8da5d449144875771df0a1b02657eeb2a7ae4d41c6c432dbf7ea50e3d5a9ea9f8cd3 + HEAD_REF master ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) - -if (NOT VCPKG_TARGET_IS_WINDOWS) - vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - ) +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + INVERTED_FEATURES + hwloc TBB_DISABLE_HWLOC_AUTOMATIC_SEARCH) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} + -DTBB_TEST=OFF + -DTBB_STRICT=OFF +) - vcpkg_install_cmake() +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/TBB") +vcpkg_copy_pdbs() - # Settings for TBBConfigInternal.cmake.in - if (VCPKG_LIBRARY_LINKAGE STREQUAL static) - set(TBB_LIB_EXT a) - else() - if (VCPKG_TARGET_IS_LINUX) - set(TBB_LIB_EXT "so.2") - elseif(VCPKG_TARGET_IS_OSX) - set(TBB_LIB_EXT "dylib") - else() - set(TBB_LIB_EXT "so") - endif() +if(NOT VCPKG_BUILD_TYPE) + if(VCPKG_TARGET_ARCHITECTURE MATCHES "^(x86|arm|wasm32)$") + set(arch_suffix "32") endif() - set(TBB_LIB_PREFIX lib) -else() - if (VCPKG_CRT_LINKAGE STREQUAL static) - set(RELEASE_CONFIGURATION Release-MT) - set(DEBUG_CONFIGURATION Debug-MT) + if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/tbb${arch_suffix}.pc" "-ltbb12" "-ltbb12_debug") else() - set(RELEASE_CONFIGURATION Release) - set(DEBUG_CONFIGURATION Debug) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/tbb${arch_suffix}.pc" "-ltbb" "-ltbb_debug") endif() - - macro(CONFIGURE_PROJ_FILE arg) - set(CONFIGURE_FILE_NAME ${arg}) - set(CONFIGURE_BAK_FILE_NAME ${arg}.bak) - if (NOT EXISTS ${CONFIGURE_BAK_FILE_NAME}) - configure_file(${CONFIGURE_FILE_NAME} ${CONFIGURE_BAK_FILE_NAME} COPYONLY) - endif() - configure_file(${CONFIGURE_BAK_FILE_NAME} ${CONFIGURE_FILE_NAME} COPYONLY) - file(READ ${CONFIGURE_FILE_NAME} SLN_CONFIGURE) - if (VCPKG_LIBRARY_LINKAGE STREQUAL static) - string(REPLACE "DynamicLibrary<\/ConfigurationType>" - "StaticLibrary<\/ConfigurationType>" SLN_CONFIGURE "${SLN_CONFIGURE}") - string(REPLACE "\/D_CRT_SECURE_NO_DEPRECATE" - "\/D_CRT_SECURE_NO_DEPRECATE \/DIN_CILK_STATIC" SLN_CONFIGURE "${SLN_CONFIGURE}") - else() - string(REPLACE "\/D_CRT_SECURE_NO_DEPRECATE" - "\/D_CRT_SECURE_NO_DEPRECATE \/DIN_CILK_RUNTIME" SLN_CONFIGURE "${SLN_CONFIGURE}") - endif() - file(WRITE ${CONFIGURE_FILE_NAME} "${SLN_CONFIGURE}") - endmacro() - - CONFIGURE_PROJ_FILE(${SOURCE_PATH}/build/vs2013/tbb.vcxproj) - CONFIGURE_PROJ_FILE(${SOURCE_PATH}/build/vs2013/tbbmalloc.vcxproj) - CONFIGURE_PROJ_FILE(${SOURCE_PATH}/build/vs2013/tbbmalloc_proxy.vcxproj) - - vcpkg_install_msbuild( - SOURCE_PATH ${SOURCE_PATH} - PROJECT_SUBPATH build/vs2013/makefile.sln - RELEASE_CONFIGURATION ${RELEASE_CONFIGURATION} - DEBUG_CONFIGURATION ${DEBUG_CONFIGURATION} - ) - # Settings for TBBConfigInternal.cmake.in - set(TBB_LIB_EXT lib) - set(TBB_LIB_PREFIX) + unset(arch_suffix) endif() - -file(COPY - ${SOURCE_PATH}/include/tbb - ${SOURCE_PATH}/include/serial - DESTINATION ${CURRENT_PACKAGES_DIR}/include) - -# Settings for TBBConfigInternal.cmake.in -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - set(TBB_DEFAULT_COMPONENTS tbb tbbmalloc) -else() - set(TBB_DEFAULT_COMPONENTS tbb tbbmalloc tbbmalloc_proxy) -endif() - -file(READ "${SOURCE_PATH}/include/tbb/tbb_stddef.h" _tbb_stddef) -string(REGEX REPLACE ".*#define TBB_VERSION_MAJOR ([0-9]+).*" "\\1" _tbb_ver_major "${_tbb_stddef}") -string(REGEX REPLACE ".*#define TBB_VERSION_MINOR ([0-9]+).*" "\\1" _tbb_ver_minor "${_tbb_stddef}") -string(REGEX REPLACE ".*#define TBB_INTERFACE_VERSION ([0-9]+).*" "\\1" TBB_INTERFACE_VERSION "${_tbb_stddef}") -set(TBB_VERSION "${_tbb_ver_major}.${_tbb_ver_minor}") -set(TBB_RELEASE_DIR "\${_tbb_root}/lib") -set(TBB_DEBUG_DIR "\${_tbb_root}/debug/lib") - -configure_file( - ${SOURCE_PATH}/cmake/templates/TBBConfigInternal.cmake.in - ${CURRENT_PACKAGES_DIR}/share/tbb/TBBConfig.cmake - @ONLY -) - -configure_file( - ${SOURCE_PATH}/cmake/templates/TBBConfigVersion.cmake.in - ${CURRENT_PACKAGES_DIR}/share/tbb/TBBConfigVersion.cmake - @ONLY -) - -file(READ ${CURRENT_PACKAGES_DIR}/share/tbb/TBBConfig.cmake _contents) -string(REPLACE - "get_filename_component(_tbb_root \"\${_tbb_root}\" PATH)" - "get_filename_component(_tbb_root \"\${_tbb_root}\" PATH)\nget_filename_component(_tbb_root \"\${_tbb_root}\" PATH)" - _contents - "${_contents}" -) -string(REPLACE - "set(_tbb_release_lib \"/${TBB_LIB_PREFIX}" - "set(_tbb_release_lib \"\${_tbb_root}/lib/${TBB_LIB_PREFIX}" - _contents - "${_contents}" -) -string(REPLACE - "set(_tbb_debug_lib \"/${TBB_LIB_PREFIX}" - "set(_tbb_debug_lib \"\${_tbb_root}/debug/lib/${TBB_LIB_PREFIX}" - _contents - "${_contents}" +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/share/doc" + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" + # These are duplicate libraries provided on Windows -- users should use the tbb12 libraries instead + "${CURRENT_PACKAGES_DIR}/lib/tbb.lib" + "${CURRENT_PACKAGES_DIR}/debug/lib/tbb_debug.lib" ) -string(REPLACE "SHARED IMPORTED)" "UNKNOWN IMPORTED)" _contents "${_contents}") -file(WRITE ${CURRENT_PACKAGES_DIR}/share/tbb/TBBConfig.cmake "${_contents}") +file(READ "${CURRENT_PACKAGES_DIR}/share/tbb/TBBConfig.cmake" _contents) +file(WRITE "${CURRENT_PACKAGES_DIR}/share/tbb/TBBConfig.cmake" " +include(CMakeFindDependencyMacro) +find_dependency(Threads) +${_contents}") -file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/tbb) -# Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") diff --git a/ports/tbb/terminate-when-buildtool-notfound.patch b/ports/tbb/terminate-when-buildtool-notfound.patch deleted file mode 100644 index 9599b48cd09116..00000000000000 --- a/ports/tbb/terminate-when-buildtool-notfound.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/cmake/TBBBuild.cmake b/cmake/TBBBuild.cmake -index a2222e3..756d85c 100644 ---- a/cmake/TBBBuild.cmake -+++ b/cmake/TBBBuild.cmake -@@ -158,7 +158,7 @@ function(tbb_build) - mark_as_advanced(TBB_MAKE_TOOL) - - if (NOT TBB_MAKE_TOOL) -- message(STATUS "Intel TBB can not be built: required make-tool (${make_tool_name}) was not found") -+ message(FATAL_ERROR "Intel TBB can not be built: required make-tool (${make_tool_name}) was not found") - set(${tbb_build_CONFIG_DIR} ${tbb_build_CONFIG_DIR}-NOTFOUND PARENT_SCOPE) - return() - endif() diff --git a/ports/tbb/usage b/ports/tbb/usage deleted file mode 100644 index ecea9834c9a140..00000000000000 --- a/ports/tbb/usage +++ /dev/null @@ -1,4 +0,0 @@ -The package tbb provides CMake targets: - - find_package(TBB CONFIG REQUIRED) - target_link_libraries(main PRIVATE TBB::tbb) diff --git a/ports/tbb/vcpkg.json b/ports/tbb/vcpkg.json index 101e41bd7b5b17..8525d00a5ef851 100644 --- a/ports/tbb/vcpkg.json +++ b/ports/tbb/vcpkg.json @@ -1,8 +1,34 @@ { + "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json", "name": "tbb", - "version-string": "2020_U3", - "port-version": 6, + "version": "2022.0.0", "description": "Intel's Threading Building Blocks.", - "homepage": "https://github.com/01org/tbb", - "supports": "!(uwp | arm | arm64) | linux | osx" + "homepage": "https://github.com/oneapi-src/oneTBB", + "license": "Apache-2.0", + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "default-features": [ + { + "name": "hwloc", + "platform": "!static & !osx & !uwp" + } + ], + "features": { + "hwloc": { + "description": "Builds TBB with TBBBind support for Hybrid CPUs or NUMA architectures.", + "supports": "!static & !osx & !uwp", + "dependencies": [ + "hwloc" + ] + } + } } diff --git a/ports/tcb-span/portfile.cmake b/ports/tcb-span/portfile.cmake new file mode 100644 index 00000000000000..a8af49d957dee4 --- /dev/null +++ b/ports/tcb-span/portfile.cmake @@ -0,0 +1,20 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO tcbrindle/span + REF 836dc6a0efd9849cb194e88e4aa2387436bb079b # master commit 2022-06-15 + SHA512 2ab1dfd976c5411231cfe7ec971c37e0d0b321e4470bd9b2b350f79deb4428c112a6244315712724e3953be2be2251ca4f1ac13dcd7e7a5f05898523c45e6686 + HEAD_REF master +) + +# Just a single header +file( + INSTALL "${SOURCE_PATH}/include/tcb/span.hpp" + DESTINATION "${CURRENT_PACKAGES_DIR}/include/tcb" +) + +# Handle copyright +file( + INSTALL "${SOURCE_PATH}/LICENSE_1_0.txt" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" + RENAME copyright +) diff --git a/ports/tcb-span/vcpkg.json b/ports/tcb-span/vcpkg.json new file mode 100644 index 00000000000000..6cf5d9fcbd0005 --- /dev/null +++ b/ports/tcb-span/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "tcb-span", + "version-date": "2022-06-15", + "description": "Implementation of C++20's std::span for older compilers", + "homepage": "https://github.com/tcbrindle/span", + "license": "BSL-1.0" +} diff --git a/ports/tcl/portfile.cmake b/ports/tcl/portfile.cmake index 77347cb02801ab..13631a87cc35bc 100644 --- a/ports/tcl/portfile.cmake +++ b/ports/tcl/portfile.cmake @@ -91,6 +91,13 @@ if (VCPKG_TARGET_IS_WINDOWS) "${CURRENT_PACKAGES_DIR}/lib/tcl8.6" "${CURRENT_PACKAGES_DIR}/lib/tdbcsqlite31.1.0" ) + file(CHMOD_RECURSE + "${CURRENT_PACKAGES_DIR}/tools/tcl/lib/tcl9.0/msgs" "${CURRENT_PACKAGES_DIR}/tools/tcl/lib/tcl9.0/tzdata" + PERMISSIONS + OWNER_READ OWNER_WRITE + GROUP_READ GROUP_WRITE + WORLD_READ WORLD_WRITE + ) endif() if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL debug) file(GLOB_RECURSE TOOL_BIN @@ -112,6 +119,14 @@ if (VCPKG_TARGET_IS_WINDOWS) "${CURRENT_PACKAGES_DIR}/debug/lib/tcl8.6" "${CURRENT_PACKAGES_DIR}/debug/lib/tdbcsqlite31.1.0" ) + + file(CHMOD_RECURSE + "${CURRENT_PACKAGES_DIR}/tools/tcl/debug/lib/tcl9.0/msgs" "${CURRENT_PACKAGES_DIR}/tools/tcl/debug/lib/tcl9.0/tzdata" + PERMISSIONS + OWNER_READ OWNER_WRITE + GROUP_READ GROUP_WRITE + WORLD_READ WORLD_WRITE + ) endif() if(VCPKG_LIBRARY_LINKAGE STREQUAL static) @@ -119,15 +134,6 @@ if (VCPKG_TARGET_IS_WINDOWS) endif() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") - - file(CHMOD_RECURSE - "${CURRENT_PACKAGES_DIR}/tools/tcl/debug/lib/tcl9.0/msgs" "${CURRENT_PACKAGES_DIR}/tools/tcl/debug/lib/tcl9.0/tzdata" - "${CURRENT_PACKAGES_DIR}/tools/tcl/lib/tcl9.0/msgs" "${CURRENT_PACKAGES_DIR}/tools/tcl/lib/tcl9.0/tzdata" - PERMISSIONS - OWNER_READ OWNER_WRITE - GROUP_READ GROUP_WRITE - WORLD_READ WORLD_WRITE - ) else() file(REMOVE "${SOURCE_PATH}/unix/configure") vcpkg_configure_make( @@ -142,7 +148,8 @@ else() 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") - file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/tclConfig.sh" "${CURRENT_PACKAGES_DIR}/debug/lib/tclConfig.sh") endif() + +file(REMOVE "${CURRENT_PACKAGES_DIR}/lib/tclConfig.sh" "${CURRENT_PACKAGES_DIR}/debug/lib/tclConfig.sh") -file(INSTALL "${SOURCE_PATH}/license.terms" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/license.terms") diff --git a/ports/tcl/vcpkg.json b/ports/tcl/vcpkg.json index d01f3bea0763fb..408df2baf33bc3 100644 --- a/ports/tcl/vcpkg.json +++ b/ports/tcl/vcpkg.json @@ -1,9 +1,13 @@ { "name": "tcl", "version-string": "core-9-0-a1", - "port-version": 4, + "port-version": 8, "description": "Tcl provides a powerful platform for creating integration applications that tie together diverse applications, protocols, devices, and frameworks. When paired with the Tk toolkit, Tcl provides the fastest and most powerful way to create GUI applications that run on PCs, Unix, and Mac OS X. Tcl can also be used for a variety of web-related tasks and for creating powerful command languages for applications.", "homepage": "https://github.com/tcltk/tcl", + "supports": "!android & !(windows & arm) & !uwp", + "dependencies": [ + "zlib" + ], "features": { "profile": { "description": "Adds profiling hooks. Map file is assumed." diff --git a/ports/tclap/portfile.cmake b/ports/tclap/portfile.cmake index d23ae531dfd81a..9688be8f7391ee 100644 --- a/ports/tclap/portfile.cmake +++ b/ports/tclap/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_sourceforge( OUT_SOURCE_PATH SOURCE_PATH REPO tclap - FILENAME "tclap-1.2.2.tar.gz" - SHA512 516ec17f82a61277922bc8c0ed66973300bf42a738847fbbd2912c6405c34f94a13e47dc964854a5b26a9a9f1f518cce682ca54e769d6016851656c647866107 + FILENAME "tclap-1.2.5.tar.gz" + SHA512 3b5b3d76e8ff21133001f5f9589fa6ec143729909bf0b9cc9934377bce178360c161fb5c1f4c4d9e9c74b09cff3d65f1d5100e61d4a732283524a78b6f236b10 ) file(COPY "${SOURCE_PATH}/include/tclap" DESTINATION "${CURRENT_PACKAGES_DIR}/include" FILES_MATCHING PATTERN "*.h") diff --git a/ports/tclap/vcpkg.json b/ports/tclap/vcpkg.json index c8ad1ac88de44f..25488bc261b954 100644 --- a/ports/tclap/vcpkg.json +++ b/ports/tclap/vcpkg.json @@ -1,7 +1,7 @@ { "name": "tclap", - "version-string": "1.2.2", - "port-version": 4, + "version": "1.2.5", "description": "Templatized command-line argument parser for C++", - "homepage": "https://sourceforge.net/projects/tclap/" + "homepage": "https://sourceforge.net/projects/tclap/", + "license": "MIT" } diff --git a/ports/tcp-pubsub/fix-package-config-file.patch b/ports/tcp-pubsub/fix-package-config-file.patch new file mode 100644 index 00000000000000..e3e786f72f008a --- /dev/null +++ b/ports/tcp-pubsub/fix-package-config-file.patch @@ -0,0 +1,13 @@ +diff --git a/tcp_pubsub/cmake/tcp_pubsubConfig.cmake.in b/tcp_pubsub/cmake/tcp_pubsubConfig.cmake.in +index e4dd17a..553b0b1 100644 +--- a/tcp_pubsub/cmake/tcp_pubsubConfig.cmake.in ++++ b/tcp_pubsub/cmake/tcp_pubsubConfig.cmake.in +@@ -1,4 +1,6 @@ + @PACKAGE_INIT@ + +-INCLUDE("@PACKAGE_TCP_PUBSUB_INSTALL_CMAKE_DIR@/tcp_pubsubTargets.cmake") +-find_package(Threads) ++include(CMakeFindDependencyMacro) ++find_dependency(Threads) ++ ++include("${CMAKE_CURRENT_LIST_DIR}/tcp_pubsubTargets.cmake") diff --git a/ports/tcp-pubsub/portfile.cmake b/ports/tcp-pubsub/portfile.cmake new file mode 100644 index 00000000000000..b3119a428479e0 --- /dev/null +++ b/ports/tcp-pubsub/portfile.cmake @@ -0,0 +1,29 @@ +vcpkg_minimum_required(VERSION 2022-10-12) # for ${VERSION} + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO eclipse-ecal/tcp_pubsub + REF "v${VERSION}" + SHA512 f89b9d9cdbd8e5787ac8923ec65cc2fc259e7d12269b1466a4c29657d8d466e39b95ec8b8483e975bf393f71b5c2d8f59cfd3d955e4e72d69716ec59fe0429af + PATCHES + "fix-package-config-file.patch" + "use-ports-for-asio-and-recycle.patch" +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DTCP_PUBSUB_BUILD_SAMPLES=OFF + -DTCP_PUBSUB_BUILD_ECAL_SAMPLES=OFF +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup( + PACKAGE_NAME tcp_pubsub + CONFIG_PATH lib/cmake/tcp_pubsub +) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/tcp-pubsub/use-ports-for-asio-and-recycle.patch b/ports/tcp-pubsub/use-ports-for-asio-and-recycle.patch new file mode 100644 index 00000000000000..f7ecc6942fb82b --- /dev/null +++ b/ports/tcp-pubsub/use-ports-for-asio-and-recycle.patch @@ -0,0 +1,50 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index cdf73fa..9fea965 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -30,9 +30,6 @@ set(CMAKE_RELWITHDEBINFO_POSTFIX reldbg) + # Add main tcp_pubsub library + add_subdirectory(tcp_pubsub) + +-# Recycle dependency. It's header only and not in the API, so we add it with EXCLUDE_FOR_ALL, so it won't be installed +-add_subdirectory(thirdparty/recycle EXCLUDE_FROM_ALL) +- + # Generic samples + if (TCP_PUBSUB_BUILD_SAMPLES) + add_subdirectory(samples/performance_publisher) +diff --git a/tcp_pubsub/CMakeLists.txt b/tcp_pubsub/CMakeLists.txt +index d2a5777..772319a 100644 +--- a/tcp_pubsub/CMakeLists.txt ++++ b/tcp_pubsub/CMakeLists.txt +@@ -10,8 +10,8 @@ set(CMAKE_CXX_VISIBILITY_PRESET hidden) + set(CMAKE_VISIBILITY_INLINES_HIDDEN 1) + + find_package(Threads REQUIRED) +-find_package(asio REQUIRED) +-find_package(recycle REQUIRED) ++find_package(asio CONFIG REQUIRED) ++find_path(RECYCLE_INCLUDE_DIRS "recycle/no_locking_policy.hpp") + + # Include GenerateExportHeader that will create export macros for us + include(GenerateExportHeader) +@@ -73,7 +73,6 @@ target_link_libraries(${PROJECT_NAME} + # Link header-only libs (asio & recycle) as described in this workaround: + # https://gitlab.kitware.com/cmake/cmake/-/issues/15415#note_633938 + $ +- $ + ) + + target_compile_definitions(${PROJECT_NAME} +@@ -100,6 +99,7 @@ target_include_directories(${PROJECT_NAME} + $ + PRIVATE + src/ ++ ${RECYCLE_INCLUDE_DIRS} + ) + + set_target_properties(${PROJECT_NAME} PROPERTIES +@@ -177,4 +177,3 @@ install( + DESTINATION ${TCP_PUBSUB_INSTALL_CMAKE_DIR} + COMPONENT tcp_pubsub_dev + ) +- diff --git a/ports/tcp-pubsub/vcpkg.json b/ports/tcp-pubsub/vcpkg.json new file mode 100644 index 00000000000000..dbac6ff08e46ec --- /dev/null +++ b/ports/tcp-pubsub/vcpkg.json @@ -0,0 +1,20 @@ +{ + "name": "tcp-pubsub", + "version": "1.0.3", + "description": "TCP based publish-subscribe library for C++", + "homepage": "https://github.com/eclipse-ecal/tcp_pubsub", + "license": "MIT", + "supports": "!uwp", + "dependencies": [ + "asio", + "recycle", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/tdscpp/portfile.cmake b/ports/tdscpp/portfile.cmake new file mode 100644 index 00000000000000..4f668b502b22dd --- /dev/null +++ b/ports/tdscpp/portfile.cmake @@ -0,0 +1,33 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO maharmstone/tdscpp + REF "${VERSION}" + HEAD_REF master + SHA512 62cab90e17394a5f1c4058bc3a606c1f9542fbad4a749032964ae76dfbcf903f7ff1b20a459c2b3d784c4abb31b5abe7e582b30eaebd83ac9887629221f4a694 +) + +set(BUILD_tdscpp_ssl OFF) + +if("ssl" IN_LIST FEATURES) + set(BUILD_tdscpp_ssl ON) +endif() + +vcpkg_cmake_configure( + SOURCE_PATH ${SOURCE_PATH} + OPTIONS + -DWITH_OPENSSL=${BUILD_tdscpp_ssl} + -DBUILD_SAMPLE=OFF +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/tdscpp) + +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +# Handle copyright +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENCE") + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/tdscpp/usage b/ports/tdscpp/usage new file mode 100644 index 00000000000000..141d10cb5c0612 --- /dev/null +++ b/ports/tdscpp/usage @@ -0,0 +1,4 @@ +tdscpp provides CMake targets: + + find_package(tdscpp REQUIRED) + target_link_libraries(main tdscpp) diff --git a/ports/tdscpp/vcpkg.json b/ports/tdscpp/vcpkg.json new file mode 100644 index 00000000000000..dfce365aa883a3 --- /dev/null +++ b/ports/tdscpp/vcpkg.json @@ -0,0 +1,35 @@ +{ + "name": "tdscpp", + "version": "20240707", + "description": "C++ library to communicate with Microsoft SQL Server", + "homepage": "https://github.com/maharmstone/tdscpp", + "license": "LGPL-3.0", + "supports": "!android & !uwp & !osx", + "dependencies": [ + { + "name": "fmt", + "platform": "!windows" + }, + { + "name": "icu", + "platform": "!windows" + }, + "nlohmann-json", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "ssl": { + "description": "OpenSSL support", + "dependencies": [ + "openssl" + ] + } + } +} diff --git a/ports/teemo/portfile.cmake b/ports/teemo/portfile.cmake deleted file mode 100644 index d8b045a79228da..00000000000000 --- a/ports/teemo/portfile.cmake +++ /dev/null @@ -1,34 +0,0 @@ -vcpkg_fail_port_install(ON_ARCH "arm" "arm64" ON_TARGET "UWP" "osx") - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO winsoft666/teemo - REF f8019d3ea75b20bbd0d05693ba9f12a1ed0cebce - SHA512 f9ce0273909d07485d04c09dd29e2336186b058f4bfe4809ada1b7e831431ecf96049fb18cda21c27f3e8a652eb1f4c50a4b957b7f69b3918d41ab7a777240fe - HEAD_REF master -) - -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" TEEMO_STATIC) - -vcpkg_cmake_configure( - SOURCE_PATH "${SOURCE_PATH}" - OPTIONS - -DTEEMO_STATIC:BOOL=${TEEMO_STATIC} - -DBUILD_TESTS:BOOL=OFF -) - -vcpkg_cmake_install() - -if(EXISTS "${CURRENT_PACKAGES_DIR}/lib/cmake/teemo") - vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/teemo) -elseif(EXISTS "${CURRENT_PACKAGES_DIR}/share/teemo") - vcpkg_cmake_config_fixup(CONFIG_PATH share/teemo) -endif() - -vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/teemo/teemo.h" "#ifdef TEEMO_STATIC" "#if $") - -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") - -vcpkg_copy_pdbs() diff --git a/ports/teemo/vcpkg.json b/ports/teemo/vcpkg.json deleted file mode 100644 index c03bd600c59d19..00000000000000 --- a/ports/teemo/vcpkg.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "teemo", - "version-string": "2.2", - "port-version": 2, - "description": "C++ File Download Library, support Multithreading, Breakpoint Transmission, Speed Limit, Real-time Speed.", - "homepage": "https://github.com/winsoft666/teemo", - "supports": "!osx & !uwp & !arm", - "dependencies": [ - { - "name": "curl", - "default-features": false - }, - { - "name": "vcpkg-cmake", - "host": true - }, - { - "name": "vcpkg-cmake-config", - "host": true - } - ] -} diff --git a/ports/telnetpp/fix-install-paths-v3.patch b/ports/telnetpp/fix-install-paths-v3.patch new file mode 100644 index 00000000000000..26b968c57c474f --- /dev/null +++ b/ports/telnetpp/fix-install-paths-v3.patch @@ -0,0 +1,45 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2dc81a3..4d53fa6 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -260,11 +260,11 @@ install( + EXPORT + telnetpp-targets + ARCHIVE DESTINATION +- ${CMAKE_INSTALL_LIBDIR}/telnetpp-${TELNETPP_VERSION} ++ lib + RUNTIME DESTINATION +- ${CMAKE_INSTALL_LIBDIR}/telnetpp-${TELNETPP_VERSION} ++ bin + LIBRARY DESTINATION +- ${CMAKE_INSTALL_BINDIR}/telnetpp-${TELNETPP_VERSION} ++ lib + ) + + install( +@@ -273,14 +273,14 @@ install( + NAMESPACE + KazDragon:: + DESTINATION +- ${CMAKE_INSTALL_DATADIR}/telnetpp-${TELNETPP_VERSION} ++ share/telnetpp + ) + + install( + DIRECTORY + include/ + DESTINATION +- ${CMAKE_INSTALL_INCLUDEDIR}/telnetpp-${TELNETPP_VERSION} ++ include + ) + + install( +@@ -288,7 +288,7 @@ install( + "${CMAKE_CURRENT_BINARY_DIR}/telnetpp-config.cmake" + "${CMAKE_CURRENT_BINARY_DIR}/telnetpp-config-version.cmake" + DESTINATION +- ${CMAKE_INSTALL_DATADIR}/telnetpp-${TELNETPP_VERSION} ++ share/telnetpp + ) + + if (TELNETPP_WITH_TESTS) diff --git a/ports/telnetpp/fix-install-paths.patch b/ports/telnetpp/fix-install-paths.patch deleted file mode 100644 index 5e2bdd55022e2c..00000000000000 --- a/ports/telnetpp/fix-install-paths.patch +++ /dev/null @@ -1,48 +0,0 @@ - CMakeLists.txt | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 09722a9..7bf9952 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -277,18 +277,18 @@ install( - EXPORT - telnetpp-config - ARCHIVE DESTINATION -- lib/telnetpp-${TELNETPP_VERSION} -+ lib - RUNTIME DESTINATION -- lib/telnetpp-${TELNETPP_VERSION} -+ bin - LIBRARY DESTINATION -- lib/telnetpp-${TELNETPP_VERSION} -+ lib - ) - - install( - DIRECTORY - include/ - DESTINATION -- include/telnetpp-${TELNETPP_VERSION} -+ include - ) - - export( -@@ -302,7 +302,7 @@ install( - EXPORT - telnetpp-config - DESTINATION -- lib/telnetpp-${TELNETPP_VERSION} -+ share/telnetpp - ) - - include(CMakePackageConfigHelpers) -@@ -317,7 +317,7 @@ install( - FILES - "${CMAKE_CURRENT_BINARY_DIR}/telnetpp-config-version.cmake" - DESTINATION -- lib/telnetpp-${TELNETPP_VERSION} -+ share/telnetpp - ) - - if (TELNETPP_WITH_TESTS) diff --git a/ports/telnetpp/fix_include.patch b/ports/telnetpp/fix_include.patch new file mode 100644 index 00000000000000..f1ef7eb1249e62 --- /dev/null +++ b/ports/telnetpp/fix_include.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 4d53fa6..c426e70 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -218,7 +218,7 @@ target_compile_features(telnetpp + target_include_directories(telnetpp + PUBLIC + $ +- $ ++ $ + ) + + generate_export_header(telnetpp diff --git a/ports/telnetpp/portfile.cmake b/ports/telnetpp/portfile.cmake index f4a196144ecd0c..72e223385ddd95 100644 --- a/ports/telnetpp/portfile.cmake +++ b/ports/telnetpp/portfile.cmake @@ -1,10 +1,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KazDragon/telnetpp - REF f370ebd0c0dc6505708065ee5afdc59a6de54387 # v2.1.2 + MSVC patches - SHA512 c58cb9159a8fb6c4b089a0212a995f70f08b93877d98828aa263e9f065f42a932d98749b56741d9e711c0805dcc2dcf0607dc86b0553c4e34bd3fad99e0bf157 + REF "v${VERSION}" + SHA512 be0a4304846369f85fef68c9b468b720877a640f8fb32496cf56591da4bb515b9afa9ac4c4477b2275049c304bd17c84b8b82efd8af642c509df452fec9d0d8e HEAD_REF master - PATCHES fix-install-paths.patch + PATCHES + fix-install-paths-v3.patch + fix_include.patch + ) set(USE_ZLIB OFF) @@ -12,24 +15,27 @@ if("zlib" IN_LIST FEATURES) set(USE_ZLIB ON) endif() -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" DISABLE_PARALLEL_CONFIGURE - PREFER_NINJA OPTIONS - -DGSL_INCLUDE_PATH=${CURRENT_INSTALLED_DIR}/include -DTELNETPP_WITH_ZLIB=${USE_ZLIB} -DTELNETPP_WITH_TESTS=OFF ) -vcpkg_install_cmake() - -vcpkg_fixup_cmake_targets(CONFIG_PATH share/telnetpp) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH share/telnetpp) +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/${PORT}/telnetpp-config.cmake" "####################################################################################" + [[#################################################################################### + include(CMakeFindDependencyMacro) + find_dependency(Boost) + find_dependency(gsl-lite) + find_dependency(ZLIB)]]) vcpkg_copy_pdbs() -# Remove duplicate header files and CMake input file -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(REMOVE ${CURRENT_PACKAGES_DIR}/include/telnetpp/version.hpp.in) -# Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/telnetpp RENAME copyright) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE + "${CURRENT_PACKAGES_DIR}/include/telnetpp/version.hpp.in" +) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/telnetpp/vcpkg.json b/ports/telnetpp/vcpkg.json index b59fcde67ffceb..b013dfc8a5e9fc 100644 --- a/ports/telnetpp/vcpkg.json +++ b/ports/telnetpp/vcpkg.json @@ -1,17 +1,25 @@ { "name": "telnetpp", - "version-string": "2.1.2", - "port-version": 1, - "description": "Telnet++ is an implementation of the Telnet Session Layer protocol using C++14", + "version": "3.1.0", + "description": "Telnet++ is an implementation of the Telnet Session Layer protocol using C++17", "homepage": "https://github.com/KazDragon/telnetpp", "supports": "!uwp", "dependencies": [ + "boost-algorithm", "boost-container", "boost-exception", "boost-range", "boost-signals2", "boost-variant", - "gsl-lite" + "gsl-lite", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ], "default-features": [ "zlib" diff --git a/ports/tensorflow-cc/portfile.cmake b/ports/tensorflow-cc/portfile.cmake index 2c1cfc2db2da9b..ee9926b15d5e8a 100644 --- a/ports/tensorflow-cc/portfile.cmake +++ b/ports/tensorflow-cc/portfile.cmake @@ -1,12 +1,10 @@ -vcpkg_fail_port_install(ON_ARCH "x86" "arm" ON_TARGET "UWP") - if(VCPKG_TARGET_IS_WINDOWS) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) endif() set(TF_LIB_SUFFIX "_cc") set(TF_PORT_SUFFIX "-cc") -set(TF_INCLUDE_DIRS "${CURRENT_INSTALLED_DIR}/include/tensorflow-external ${CURRENT_INSTALLED_DIR}/include/tensorflow-external/src") +set(TF_INCLUDE_DIRS "\${TENSORFLOW_INSTALL_PREFIX}/include/tensorflow-external \${TENSORFLOW_INSTALL_PREFIX}/include/tensorflow-external/src") list(APPEND CMAKE_MODULE_PATH "${CURRENT_INSTALLED_DIR}/share/tensorflow-common") include(tensorflow-common) diff --git a/ports/tensorflow-cc/vcpkg.json b/ports/tensorflow-cc/vcpkg.json index b2f1edcc77f92e..de99c8a65cc1a2 100644 --- a/ports/tensorflow-cc/vcpkg.json +++ b/ports/tensorflow-cc/vcpkg.json @@ -1,10 +1,15 @@ { "name": "tensorflow-cc", - "version-semver": "2.6.0", + "version-semver": "2.10.0", "description": "Library for computation using data flow graphs for scalable machine learning (C++ API version)", "homepage": "https://github.com/tensorflow/tensorflow", - "supports": "!(x86 | arm | uwp)", + "license": "Apache-2.0", + "supports": "!(x86 | arm | uwp) | (arm64 & osx)", "dependencies": [ - "tensorflow-common" + "tensorflow-common", + { + "name": "vcpkg-tool-bazel", + "host": true + } ] } diff --git a/ports/tensorflow-common/Update-bazel-max-version.patch b/ports/tensorflow-common/Update-bazel-max-version.patch deleted file mode 100644 index 172a6439d319f7..00000000000000 --- a/ports/tensorflow-common/Update-bazel-max-version.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/configure.py b/configure.py ---- a/configure.py -+++ b/configure.py -@@ -50,7 +50,7 @@ - _TF_BAZELRC = '' - _TF_CURRENT_BAZEL_VERSION = None - _TF_MIN_BAZEL_VERSION = '3.7.2' --_TF_MAX_BAZEL_VERSION = '3.99.0' -+_TF_MAX_BAZEL_VERSION = '4.1.0' - - NCCL_LIB_PATHS = [ - 'lib64/', 'lib/powerpc64le-linux-gnu/', 'lib/x86_64-linux-gnu/', '' diff --git a/ports/tensorflow-common/fix-build-error.patch b/ports/tensorflow-common/fix-build-error.patch index eb2a91c97c650b..e500853b9e1a87 100644 --- a/ports/tensorflow-common/fix-build-error.patch +++ b/ports/tensorflow-common/fix-build-error.patch @@ -1,7 +1,7 @@ diff --git a/tensorflow/core/platform/default/logging.h b/tensorflow/core/platform/default/logging.h --- a/tensorflow/core/platform/default/logging.h +++ b/tensorflow/core/platform/default/logging.h -@@ -104,13 +104,13 @@ class LogMessageFatal : public LogMessage { +@@ -104,13 +104,13 @@ class LogMessageNull : public std::basic_ostringstream { }; #define _TF_LOG_INFO \ diff --git a/ports/tensorflow-common/fix-windows-build.patch b/ports/tensorflow-common/fix-windows-build.patch index 8450299e80f7fb..9f7f8dea8d29f1 100644 --- a/ports/tensorflow-common/fix-windows-build.patch +++ b/ports/tensorflow-common/fix-windows-build.patch @@ -10,22 +10,6 @@ diff --git a/tensorflow/core/kernels/depthtospace_op.cc b/tensorflow/core/kernel if (is_int8x4) { // NCHW_VECT_C with 4 x qint8 can be treated as NCHW int32. auto Tinput_v = input.template reinterpret_last_dimension(); -@@ -173,15 +173,6 @@ - } - }; - --#ifdef WIN32 --template --struct DepthToSpaceOpFunctor { -- void operator()(const CPUDevice& d, typename TTypes::ConstTensor input, -- int block_size, typename TTypes::Tensor output) { -- LOG(FATAL) << "Trivial implementation to make debug build compile."; -- } --}; --#endif - } // namespace functor - - #define REGISTER(type) \ diff --git a/tensorflow/core/kernels/spacetodepth_op.cc b/tensorflow/core/kernels/spacetodepth_op.cc --- a/tensorflow/core/kernels/spacetodepth_op.cc @@ -39,19 +23,3 @@ diff --git a/tensorflow/core/kernels/spacetodepth_op.cc b/tensorflow/core/kernel using RT = typename RawType::type; if (data_format_ == FORMAT_NCHW_VECT_C) { // NCHW_VECT_C with 4 x qint8 can be treated as NCHW int32. -@@ -189,15 +189,6 @@ - } - }; - --#ifdef WIN32 --template --struct SpaceToDepthOpFunctor { -- void operator()(const CPUDevice& d, typename TTypes::ConstTensor input, -- int block_size, typename TTypes::Tensor output) { -- LOG(FATAL) << "Trivial implementation to make debug build compile."; -- } --}; --#endif - } // namespace functor - - #define REGISTER(type) \ diff --git a/ports/tensorflow-common/generate_static_link_cmd_linux.py b/ports/tensorflow-common/generate_static_link_cmd_linux.py index fa1f73656cf549..45b8f6d1e089b3 100644 --- a/ports/tensorflow-common/generate_static_link_cmd_linux.py +++ b/ports/tensorflow-common/generate_static_link_cmd_linux.py @@ -1,13 +1,14 @@ import re import sys -version = sys.argv[2] -lib_suffix = "" if len(sys.argv) < 4 else sys.argv[3] +params_path = sys.argv[2] +version = sys.argv[3] +lib_suffix = "" if len(sys.argv) < 5 else sys.argv[4] with open(sys.argv[1], "r") as f_in: with open("static_link.sh", "w") as f_out: p_cd = re.compile(r"^\((cd .*) && \\$") - p_linker = re.compile(fr"^\s*(.+)gcc.+(@bazel-out\S+libtensorflow{lib_suffix}\.so\.\d\.\d\.\d-2\.params).*") + p_linker = re.compile(fr"^\s*(.+)gcc.+(@bazel-out\S+libtensorflow{lib_suffix}\.so\.\d+\.\d+\.\d+-2\.params).*") f_out.write("#!/bin/bash\n# note: ar/binutils version 2.27 required to support output files > 4GB\n") env = [] for line in f_in: diff --git a/ports/tensorflow-common/generate_static_link_cmd_macos.py b/ports/tensorflow-common/generate_static_link_cmd_macos.py index f7b99763eaa545..e68c27feb08c92 100644 --- a/ports/tensorflow-common/generate_static_link_cmd_macos.py +++ b/ports/tensorflow-common/generate_static_link_cmd_macos.py @@ -2,14 +2,15 @@ import re import sys -version = sys.argv[2] -lib_suffix = "" if len(sys.argv) < 4 else sys.argv[3] +params_path = sys.argv[2] +version = sys.argv[3] +lib_suffix = "" if len(sys.argv) < 5 else sys.argv[4] with open(sys.argv[1], "r") as f_in: with open("static_link.sh", "w") as f_out: - if os.path.isfile(f"libtensorflow_framework.{version}.dylib-2.params"): + if os.path.isfile(f"{params_path}/libtensorflow_framework.{version}.dylib-2.params"): p_cd = re.compile(r"^\((cd .*) && \\$") - p_linker = re.compile(fr"^\s*.+cc_wrapper.sh.+(@bazel-out\S+libtensorflow{lib_suffix}\.\d\.\d\.\d\.dylib-2\.params).*") + p_linker = re.compile(fr"^\s*.+cc_wrapper.sh.+(@bazel-out\S+libtensorflow{lib_suffix}\.\d+\.\d+\.\d+\.dylib-2\.params).*") f_out.write("#!/bin/bash\n# note: ar/binutils version 2.27 required to support output files > 4GB\n") env = [] for line in f_in: @@ -28,8 +29,8 @@ else: # old behaviour (still on some platforms): inline all parameters instead of using -2.params file p_cd = re.compile(r"^\((cd .*) && \\$") - p_linker1 = re.compile(fr"^.*cc_wrapper.sh.+-shared.+-o (bazel-out\S+libtensorflow{lib_suffix}\.\d\.\d\.\d\.dylib)") - p_linker2 = re.compile("^.*cc_wrapper.sh.+-shared.+-o (bazel-out\\S+libtensorflow_framework\\.\\d\\.\\d\\.\\d\\.dylib)") + p_linker1 = re.compile(fr"^.*cc_wrapper.sh.+-shared.+-o (bazel-out\S+libtensorflow{lib_suffix}\.\d+\.\d+\.\d+\.dylib)") + p_linker2 = re.compile("^.*cc_wrapper.sh.+-shared.+-o (bazel-out\\S+libtensorflow_framework\\.\\d+\\.\\d+\\.\\d+\\.dylib)") f_out.write("#!/bin/bash\n# note: ar/binutils version 2.27 required to support output files > 4GB\n") env = [] parts = None diff --git a/ports/tensorflow-common/generate_static_link_cmd_windows.py b/ports/tensorflow-common/generate_static_link_cmd_windows.py index 82f01a76893181..b75bdba6445624 100644 --- a/ports/tensorflow-common/generate_static_link_cmd_windows.py +++ b/ports/tensorflow-common/generate_static_link_cmd_windows.py @@ -2,8 +2,9 @@ import re import sys -version = sys.argv[2] -lib_suffix = "" if len(sys.argv) < 4 else sys.argv[3] +params_path = sys.argv[2] +version = sys.argv[3] +lib_suffix = "" if len(sys.argv) < 5 else sys.argv[4] with open(sys.argv[1], "r") as f_in: with open("static_link.bat", "w") as f_out: diff --git a/ports/tensorflow-common/portfile.cmake b/ports/tensorflow-common/portfile.cmake index bbfc287df5c544..45fb70e27099a2 100644 --- a/ports/tensorflow-common/portfile.cmake +++ b/ports/tensorflow-common/portfile.cmake @@ -18,7 +18,6 @@ set(TENSORFLOW_FILES "${CMAKE_CURRENT_LIST_DIR}/tensorflow-config-static.cmake.in" "${CMAKE_CURRENT_LIST_DIR}/tensorflow-config-windows-dll.cmake.in" "${CMAKE_CURRENT_LIST_DIR}/tensorflow-config-windows-lib.cmake.in" - "${CMAKE_CURRENT_LIST_DIR}/Update-bazel-max-version.patch" ) file(COPY ${TENSORFLOW_FILES} DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/tensorflow-common/tensorflow-common.cmake b/ports/tensorflow-common/tensorflow-common.cmake index 0813dd94e14313..e2cfcedfa64a18 100644 --- a/ports/tensorflow-common/tensorflow-common.cmake +++ b/ports/tensorflow-common/tensorflow-common.cmake @@ -1,15 +1,15 @@ -set(TF_VERSION 2.6.0) -set(TF_VERSION_SHORT 2.6) +set(TF_VERSION 2.10.0) +set(TF_VERSION_SHORT 2.10) -vcpkg_find_acquire_program(BAZEL) +find_program(BAZEL bazel PATHS "${CURRENT_HOST_INSTALLED_DIR}/tools" REQUIRED) get_filename_component(BAZEL_DIR "${BAZEL}" DIRECTORY) -vcpkg_add_to_path(PREPEND ${BAZEL_DIR}) -set(ENV{BAZEL_BIN_PATH} "${BAZEL}") +vcpkg_add_to_path(PREPEND "${BAZEL_DIR}") +set(ENV{BAZEL_BIN_PATH} "${BAZEL_DIR}") function(tensorflow_try_remove_recurse_wait PATH_TO_REMOVE) file(REMOVE_RECURSE ${PATH_TO_REMOVE}) if(EXISTS "${PATH_TO_REMOVE}") - vcpkg_execute_required_process(COMMAND ${CMAKE_COMMAND} -E sleep 5 WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR} LOGNAME prerequesits-sleep-${TARGET_TRIPLET}) + vcpkg_execute_required_process(COMMAND ${CMAKE_COMMAND} -E sleep 5 WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR} LOGNAME prerequisites-sleep-${TARGET_TRIPLET}) file(REMOVE_RECURSE ${PATH_TO_REMOVE}) endif() endfunction() @@ -39,29 +39,44 @@ if(CMAKE_HOST_WIN32) set(ENV{BAZEL_VC_FULL_VERSION} $ENV{VCToolsVersion}) set(PYTHON3 "${MSYS_ROOT}/mingw64/bin/python3.exe") - vcpkg_execute_required_process(COMMAND ${PYTHON3} -c "import site; print(site.getsitepackages()[0])" WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR} LOGNAME prerequesits-pypath-${TARGET_TRIPLET} OUTPUT_VARIABLE PYTHON_LIB_PATH) else() vcpkg_find_acquire_program(PYTHON3) - get_filename_component(PYTHON3_DIR "${PYTHON3}" DIRECTORY) - vcpkg_add_to_path(PREPEND ${PYTHON3_DIR}) + + # on macos arm64 use conda miniforge + if (VCPKG_HOST_IS_OSX) + EXEC_PROGRAM(uname ARGS -m OUTPUT_VARIABLE HOST_ARCH OUTPUT_STRIP_TRAILING_WHITESPACE) + if(HOST_ARCH STREQUAL "arm64") + message(STATUS "Using python from miniforge3 ") + + if (NOT EXISTS ${CURRENT_BUILDTREES_DIR}/miniforge3) + vcpkg_execute_required_process(COMMAND curl -fsSLo Miniforge3.sh "https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-MacOSX-arm64.sh" WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR} LOGNAME prerequisites-miniforge3-${TARGET_TRIPLET}) + vcpkg_execute_required_process(COMMAND bash ./Miniforge3.sh -p ${CURRENT_BUILDTREES_DIR}/miniforge3 -b WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR} LOGNAME prerequisites-miniforge3-${TARGET_TRIPLET}) + SET(PYTHON3 ${CURRENT_BUILDTREES_DIR}/miniforge3/bin/python3) + endif() + endif() + endif() + vcpkg_execute_required_process(COMMAND ${PYTHON3} -m venv --symlinks "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-venv" WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR} LOGNAME prerequisites-venv-${TARGET_TRIPLET}) + vcpkg_add_to_path(PREPEND ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-venv/bin) + set(PYTHON3 ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-venv/bin/python3) + set(ENV{VIRTUAL_ENV} ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-venv) if(VCPKG_TARGET_IS_OSX) + vcpkg_execute_required_process(COMMAND ${PYTHON3} -m pip install -U pip WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR} LOGNAME prerequisites-pip-${TARGET_TRIPLET}) # acceleration libs currently broken on macOS => force numpy user space reinstall without BLAS/LAPACK/ATLAS # remove this work-around again, i.e. default to "else" branch, once acceleration libs are fixed upstream set(ENV{BLAS} "None") set(ENV{LAPACK} "None") set(ENV{ATLAS} "None") - vcpkg_execute_required_process(COMMAND ${PYTHON3} -m pip install --user -U --force-reinstall numpy WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR} LOGNAME prerequesits-pip-${TARGET_TRIPLET}) + vcpkg_execute_required_process(COMMAND ${PYTHON3} -m pip install -U --force-reinstall numpy WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR} LOGNAME prerequistes-pip-${TARGET_TRIPLET}) else() - vcpkg_execute_required_process(COMMAND ${PYTHON3} -m pip install --user -U numpy WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR} LOGNAME prerequesits-pip-${TARGET_TRIPLET}) + vcpkg_execute_required_process(COMMAND ${PYTHON3} -m pip install -U pip numpy WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR} LOGNAME prerequisites-pip-${TARGET_TRIPLET}) endif() - vcpkg_execute_required_process(COMMAND ${PYTHON3} -c "import site; print(site.getusersitepackages())" WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR} LOGNAME prerequesits-pypath-${TARGET_TRIPLET} OUTPUT_VARIABLE PYTHON_LIB_PATH) endif() set(ENV{PYTHON_BIN_PATH} "${PYTHON3}") -set(ENV{PYTHON_LIB_PATH} "${PYTHON_LIB_PATH}") +set(ENV{PYTHON_LIB_PATH} "") # check if numpy can be loaded -vcpkg_execute_required_process(COMMAND ${PYTHON3} -c "import numpy" WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR} LOGNAME prerequesits-numpy-${TARGET_TRIPLET}) +vcpkg_execute_required_process(COMMAND ${PYTHON3} -c "import numpy" WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR} LOGNAME prerequisites-numpy-${TARGET_TRIPLET}) set(ENV{USE_DEFAULT_PYTHON_LIB_PATH} 1) set(ENV{TF_NEED_KAFKA} 0) @@ -83,9 +98,15 @@ set(ENV{TF_SET_ANDROID_WORKSPACE} 0) set(ENV{TF_DOWNLOAD_CLANG} 0) set(ENV{TF_NCCL_VERSION} ${TF_VERSION_SHORT}) set(ENV{NCCL_INSTALL_PATH} "") -set(ENV{CC_OPT_FLAGS} "/arch:AVX") set(ENV{TF_NEED_CUDA} 0) set(ENV{TF_CONFIGURE_IOS} 0) +set(ENV{CC_OPT_FLAGS} "-Wno-sign-compare") + +if(VCPKG_TARGET_IS_WINDOWS) + if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "x64" ) + set(ENV{CC_OPT_FLAGS} "/arch:AVX") + endif() +endif() if(VCPKG_TARGET_IS_WINDOWS) set(BAZEL_LIB_NAME tensorflow${TF_LIB_SUFFIX}.dll) @@ -125,7 +146,15 @@ else() endif() endif() -foreach(BUILD_TYPE dbg rel) +if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + list(APPEND PORT_BUILD_CONFIGS "dbg") +endif() + +if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + list(APPEND PORT_BUILD_CONFIGS "rel") +endif() + +foreach(BUILD_TYPE IN LISTS PORT_BUILD_CONFIGS) # prefer repeated source extraction here for each build type over extracting once above the loop and copying because users reported issues with copying symlinks set(STATIC_ONLY_PATCHES) set(WINDOWS_ONLY_PATCHES) @@ -139,11 +168,10 @@ foreach(BUILD_TYPE dbg rel) OUT_SOURCE_PATH SOURCE_PATH REPO tensorflow/tensorflow REF "v${TF_VERSION}" - SHA512 d052da4b324f1b5ac9c904ac3cca270cefbf916be6e5968a6835ef3f8ea8c703a0b90be577ac5205edf248e8e6c7ee8817b6a1b383018bb77c381717c6205e05 + SHA512 bf8a6f16393499c227fc70f27bcfb6d44ada53325aee2b217599309940f60db8ee00dd90e3d82b87d9c309f5621c404edab55e97ab8bfa09e4fc67859b9e3967 HEAD_REF master PATCHES "${CMAKE_CURRENT_LIST_DIR}/fix-build-error.patch" # Fix namespace error - "${CMAKE_CURRENT_LIST_DIR}/Update-bazel-max-version.patch" ${STATIC_ONLY_PATCHES} ${WINDOWS_ONLY_PATCHES} ) @@ -179,6 +207,8 @@ foreach(BUILD_TYPE dbg rel) set(COPTS) set(CXXOPTS) set(LINKOPTS) + set(BUILD_OPTS --jobs ${VCPKG_CONCURRENCY}) + message(STATUS "Build Tensorflow with concurrent level: ${VCPKG_CONCURRENCY}") if(VCPKG_TARGET_IS_WINDOWS) set(PLATFORM_COMMAND WINDOWS_COMMAND) else() @@ -186,48 +216,59 @@ foreach(BUILD_TYPE dbg rel) endif() if(BUILD_TYPE STREQUAL dbg) if(VCPKG_TARGET_IS_WINDOWS) - set(BUILD_OPTS "--compilation_mode=dbg --features=fastbuild") # link with /DEBUG:FASTLINK instead of /DEBUG:FULL to avoid .pdb >4GB error + list(APPEND BUILD_OPTS "--compilation_mode=dbg --features=fastbuild") # link with /DEBUG:FASTLINK instead of /DEBUG:FULL to avoid .pdb >4GB error elseif(VCPKG_TARGET_IS_OSX) - set(BUILD_OPTS --compilation_mode=fastbuild) # debug build on macOS currently broken + if (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") + list(APPEND BUILD_OPTS --compilation_mode=opt) # debug & fastbuild build on macOS arm64 currently broken + else() + list(APPEND BUILD_OPTS --compilation_mode=fastbuild) # debug build on macOS x86_64 currently broken + endif() else() - set(BUILD_OPTS --compilation_mode=dbg) + list(APPEND BUILD_OPTS --compilation_mode=dbg) endif() separate_arguments(VCPKG_C_FLAGS ${PLATFORM_COMMAND} ${VCPKG_C_FLAGS}) separate_arguments(VCPKG_C_FLAGS_DEBUG ${PLATFORM_COMMAND} ${VCPKG_C_FLAGS_DEBUG}) foreach(OPT IN LISTS VCPKG_C_FLAGS VCPKG_C_FLAGS_DEBUG) - list(APPEND COPTS "--copt='${OPT}'") + list(APPEND COPTS "--copt=${OPT}") endforeach() separate_arguments(VCPKG_CXX_FLAGS ${PLATFORM_COMMAND} ${VCPKG_CXX_FLAGS}) separate_arguments(VCPKG_CXX_FLAGS_DEBUG ${PLATFORM_COMMAND} ${VCPKG_CXX_FLAGS_DEBUG}) foreach(OPT IN LISTS VCPKG_CXX_FLAGS VCPKG_CXX_FLAGS_DEBUG) - list(APPEND CXXOPTS "--cxxopt='${OPT}'") + list(APPEND CXXOPTS "--cxxopt=${OPT}") endforeach() separate_arguments(VCPKG_LINKER_FLAGS ${PLATFORM_COMMAND} ${VCPKG_LINKER_FLAGS}) separate_arguments(VCPKG_LINKER_FLAGS_DEBUG ${PLATFORM_COMMAND} ${VCPKG_LINKER_FLAGS_DEBUG}) foreach(OPT IN LISTS VCPKG_LINKER_FLAGS VCPKG_LINKER_FLAGS_DEBUG) - list(APPEND LINKOPTS "--linkopt='${OPT}'") + list(APPEND LINKOPTS "--linkopt=${OPT}") endforeach() else() - set(BUILD_OPTS --compilation_mode=opt) + list(APPEND BUILD_OPTS --compilation_mode=opt) separate_arguments(VCPKG_C_FLAGS ${PLATFORM_COMMAND} ${VCPKG_C_FLAGS}) separate_arguments(VCPKG_C_FLAGS_RELEASE ${PLATFORM_COMMAND} ${VCPKG_C_FLAGS_RELEASE}) foreach(OPT IN LISTS VCPKG_C_FLAGS VCPKG_C_FLAGS_RELEASE) - list(APPEND COPTS "--copt='${OPT}'") + list(APPEND COPTS "--copt=${OPT}") endforeach() separate_arguments(VCPKG_CXX_FLAGS ${PLATFORM_COMMAND} ${VCPKG_CXX_FLAGS}) separate_arguments(VCPKG_CXX_FLAGS_RELEASE ${PLATFORM_COMMAND} ${VCPKG_CXX_FLAGS_RELEASE}) foreach(OPT IN LISTS VCPKG_CXX_FLAGS VCPKG_CXX_FLAGS_RELEASE) - list(APPEND CXXOPTS "--cxxopt='${OPT}'") + list(APPEND CXXOPTS "--cxxopt=${OPT}") endforeach() separate_arguments(VCPKG_LINKER_FLAGS ${PLATFORM_COMMAND} ${VCPKG_LINKER_FLAGS}) separate_arguments(VCPKG_LINKER_FLAGS_RELEASE ${PLATFORM_COMMAND} ${VCPKG_LINKER_FLAGS_RELEASE}) foreach(OPT IN LISTS VCPKG_LINKER_FLAGS VCPKG_LINKER_FLAGS_RELEASE) - list(APPEND LINKOPTS "--linkopt='${OPT}'") + list(APPEND LINKOPTS "--linkopt=${OPT}") endforeach() endif() + if(VCPKG_TARGET_IS_OSX AND VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") + # tensorflow supports 10.12.6 (Sierra) or higher (64-bit) + # but actually does not compile with < 10.14 + # https://www.tensorflow.org/install/pip#macos + list(APPEND BUILD_OPTS --macos_minimum_os=10.14) + endif() + if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) if(VCPKG_TARGET_IS_WINDOWS) list(JOIN COPTS " " COPTS) @@ -286,7 +327,7 @@ foreach(BUILD_TYPE dbg rel) endif() # for some reason stdout of bazel ends up in stderr, so use err log file in the following command vcpkg_execute_build_process( - COMMAND ${PYTHON3} "${CMAKE_CURRENT_LIST_DIR}/generate_static_link_cmd_${PLATFORM_SUFFIX}.py" "${CURRENT_BUILDTREES_DIR}/build-${TARGET_TRIPLET}-${BUILD_TYPE}-err.log" ${TF_VERSION} ${TF_LIB_SUFFIX} + COMMAND ${PYTHON3} "${CMAKE_CURRENT_LIST_DIR}/generate_static_link_cmd_${PLATFORM_SUFFIX}.py" "${CURRENT_BUILDTREES_DIR}/build-${TARGET_TRIPLET}-${BUILD_TYPE}-err.log" "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${BUILD_TYPE}/bazel-bin/tensorflow" ${TF_VERSION} ${TF_LIB_SUFFIX} WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${BUILD_TYPE}/bazel-${TARGET_TRIPLET}-${BUILD_TYPE} LOGNAME postbuild2-${TARGET_TRIPLET}-${BUILD_TYPE} ) diff --git a/ports/tensorflow-common/vcpkg.json b/ports/tensorflow-common/vcpkg.json index dae75635c4f0b9..481745f93511bf 100644 --- a/ports/tensorflow-common/vcpkg.json +++ b/ports/tensorflow-common/vcpkg.json @@ -1,6 +1,8 @@ { "name": "tensorflow-common", - "version-semver": "2.6.0", + "version-semver": "2.10.0", + "port-version": 3, "description": "This meta package holds common files for the C [tensorflow] and the C++ [tensorflow-cc] API version of TensorFlow but is not installable on its own.", - "homepage": "https://github.com/tensorflow/tensorflow" + "homepage": "https://github.com/tensorflow/tensorflow", + "license": "Apache-2.0" } diff --git a/ports/tensorflow/portfile.cmake b/ports/tensorflow/portfile.cmake index a393a6ab9488b3..1782730f9b409e 100644 --- a/ports/tensorflow/portfile.cmake +++ b/ports/tensorflow/portfile.cmake @@ -1,8 +1,6 @@ -vcpkg_fail_port_install(ON_ARCH "x86" "arm" ON_TARGET "uwp") - set(TF_LIB_SUFFIX "") set(TF_PORT_SUFFIX "") -set(TF_INCLUDE_DIRS "${CURRENT_INSTALLED_DIR}/include") +set(TF_INCLUDE_DIRS "\${TENSORFLOW_INSTALL_PREFIX}/include") list(APPEND CMAKE_MODULE_PATH "${CURRENT_INSTALLED_DIR}/share/tensorflow-common") include(tensorflow-common) diff --git a/ports/tensorflow/vcpkg.json b/ports/tensorflow/vcpkg.json index b00a067fcf3bf3..846cbacc8b1044 100644 --- a/ports/tensorflow/vcpkg.json +++ b/ports/tensorflow/vcpkg.json @@ -1,10 +1,15 @@ { "name": "tensorflow", - "version-semver": "2.6.0", + "version-semver": "2.10.0", "description": "Library for computation using data flow graphs for scalable machine learning (C API version)", "homepage": "https://github.com/tensorflow/tensorflow", - "supports": "!(x86 | arm | uwp)", + "license": "Apache-2.0", + "supports": "!(x86 | arm | uwp) | (arm64 & osx)", "dependencies": [ - "tensorflow-common" + "tensorflow-common", + { + "name": "vcpkg-tool-bazel", + "host": true + } ] } diff --git a/ports/tensorpipe/fix-cmakelists.patch b/ports/tensorpipe/fix-cmakelists.patch deleted file mode 100644 index 172ac1e671e727..00000000000000 --- a/ports/tensorpipe/fix-cmakelists.patch +++ /dev/null @@ -1,71 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 640054e..18de9ea 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -23,6 +23,6 @@ include(MiscCheck) - - add_subdirectory(tensorpipe) - --install(EXPORT TensorpipeTargets -- DESTINATION share/cmake/Tensorpipe -- FILE TensorpipeTargets.cmake) -+install(EXPORT tensorpipeTargets -+ DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/${PROJECT_NAME} # share/tensorpipe -+ FILE tensorpipeTargets.cmake) -diff --git a/tensorpipe/CMakeLists.txt b/tensorpipe/CMakeLists.txt -index d8624b4..dce5c6f 100644 ---- a/tensorpipe/CMakeLists.txt -+++ b/tensorpipe/CMakeLists.txt -@@ -168,8 +168,9 @@ set(TP_PUBLIC_HEADERS ${TP_PUBLIC_HEADERS} - transport/uv/error.h - transport/uv/factory.h - transport/uv/utility.h) --find_package(uv REQUIRED) --target_link_libraries(tensorpipe PRIVATE uv::uv) -+# `libuv` in vcpkg -+find_package(unofficial-libuv CONFIG REQUIRED) -+target_link_libraries(tensorpipe PUBLIC unofficial::libuv::libuv ${CMAKE_DL_LIBS}) - - ### shm - -@@ -233,11 +234,14 @@ configure_file(config.h.in config.h) - - ## Libnop - --# We should keep libnop headers private as they should not be exposed to downstream users, --# but they're currently transitively included by tensorpipe/transport/connection.h (which --# is still unclear whether it should be a public or private header). --target_include_directories(tensorpipe PUBLIC $) -- -+# `libnop` in vcpkg -+find_path(LIBNOP_INCLUDE_DIRS "nop/serializer.h") -+if(LIBNOP_INCLUDE_DIRS-NOTFOUND) -+ message(FATAL_ERROR "Failed to find header of the 'libnop' package from vcpkg.") -+else() -+ message(STATUS "Using 'libnop': ${LIBNOP_INCLUDE_DIRS}") -+endif() -+target_include_directories(tensorpipe PUBLIC $) - - ## Python bindings - -@@ -262,10 +266,17 @@ endif() - - ## Install - -+install(DIRECTORY channel common core transport util -+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/tensorpipe -+ FILES_MATCHING PATTERN "*.h") -+install(FILES tensorpipe.h -+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/tensorpipe) -+ - install(TARGETS tensorpipe -- EXPORT TensorpipeTargets -- LIBRARY DESTINATION ${TP_INSTALL_LIBDIR} -- ARCHIVE DESTINATION ${TP_INSTALL_LIBDIR}) -+ EXPORT tensorpipeTargets -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) - - foreach(_header_file ${TP_PUBLIC_HEADERS}) - get_filename_component(_TP_HEADER_SUBDIR "${_header_file}" DIRECTORY) diff --git a/ports/tensorpipe/portfile.cmake b/ports/tensorpipe/portfile.cmake index d6e941d72f4d80..290d97d6229f54 100644 --- a/ports/tensorpipe/portfile.cmake +++ b/ports/tensorpipe/portfile.cmake @@ -1,15 +1,15 @@ -vcpkg_fail_port_install(ON_TARGET "windows" "uwp") vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO pytorch/tensorpipe - REF c5a21994bc766659f7f85edb75478e13f429f46c - SHA512 05a3989286610edea2f0fcfb9197c563e947f0386f2b52110dd060053d68b62477fcd4778a45a3030b9a53b6ceccead91e4dd96c9f0153023e97414459fbd8dd + REF 52791a2fd214b2a9dc5759d36725909c1daa7f2e + SHA512 1e5faf17a7236c5506c08cb28be16069b11bb929bbca64ed9745ce4277d46739186ab7d6597da7437d90ed2d166d4c37ef2f3bceabe8083ef3adbb0e8e5f227e PATCHES - fix-cmakelists.patch + "${INSTALL_PACKAGE_CONFIG_PATCH}" + support-find-package.patch + use-vcpkg.patch support-test.patch - support-pybind11.patch ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS @@ -26,7 +26,7 @@ if("pybind11" IN_LIST FEATURES) endif() vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${FEATURE_OPTIONS} -DTP_ENABLE_SHM=${VCPKG_TARGET_IS_LINUX} @@ -34,12 +34,15 @@ vcpkg_cmake_configure( -DTP_ENABLE_CMA=OFF -DTP_BUILD_LIBUV=OFF # will use libuv package -DTP_ENABLE_CUDA_GDR=OFF + MAYBE_UNUSED_VARIABLES + TP_ENABLE_CUDA_GDR + TP_ENABLE_CUDA_IPC ) vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_cmake_config_fixup() +vcpkg_cmake_config_fixup(CONFIG_PATH "share/cmake/unofficial-tensorpipe" PACKAGE_NAME "unofficial-tensorpipe") -file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include - ${CURRENT_PACKAGES_DIR}/debug/share +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" ) diff --git a/ports/tensorpipe/support-find-package.patch b/ports/tensorpipe/support-find-package.patch new file mode 100644 index 00000000000000..85278a26ab9cae --- /dev/null +++ b/ports/tensorpipe/support-find-package.patch @@ -0,0 +1,58 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 77df76d..bebb8c8 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -24,5 +24,17 @@ include(MiscCheck) + add_subdirectory(tensorpipe) + + install(EXPORT TensorpipeTargets +- DESTINATION share/cmake/Tensorpipe +- FILE TensorpipeTargets.cmake) ++ DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/cmake/unofficial-tensorpipe ++ NAMESPACE unofficial::tensorpipe:: ++ FILE unofficial-tensorpipe-targets.cmake) ++ ++# Create TensorpipeConfig.cmake for find_package(unofficial-tensorpipe CONFIG) ++include(CMakePackageConfigHelpers) ++get_filename_component(CONFIG_FILE_PATH ${CMAKE_CURRENT_BINARY_DIR}/unofficial-tensorpipe-config.cmake ABSOLUTE) ++configure_package_config_file( ++ cmake/unofficial-tensorpipe-config.cmake.in ${CONFIG_FILE_PATH} ++ INSTALL_DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/cmake/unofficial-tensorpipe) ++ ++# Install the generated config file ++install(FILES ${CONFIG_FILE_PATH} ++ DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/cmake/unofficial-tensorpipe) +diff --git a/cmake/unofficial-tensorpipe-config.cmake.in b/cmake/unofficial-tensorpipe-config.cmake.in +new file mode 100644 +index 000000000..f2ea8ce47 +--- /dev/null ++++ b/cmake/unofficial-tensorpipe-config.cmake.in +@@ -0,0 +1,15 @@ ++@PACKAGE_INIT@ ++include(CMakeFindDependencyMacro) ++ ++find_dependency(libuv REQUIRED) ++ ++get_filename_component(_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) ++file(GLOB CONFIG_FILES "${_DIR}/unofficial-tensorpipe-config-*.cmake") ++foreach(f ${CONFIG_FILES}) ++ include(${f}) ++endforeach() ++ ++# import targets ++include("${_DIR}/unofficial-tensorpipe-targets.cmake") ++ ++check_required_components(@PROJECT_NAME@) +diff --git a/tensorpipe/python/CMakeLists.txt b/tensorpipe/python/CMakeLists.txt +index ce494722f..b722381f8 100644 +--- a/tensorpipe/python/CMakeLists.txt ++++ b/tensorpipe/python/CMakeLists.txt +@@ -14,3 +14,8 @@ endif() + set(PYBIND11_CPP_STANDARD -std=c++14) + pybind11_add_module(pytensorpipe tensorpipe.cc) + target_link_libraries(pytensorpipe PRIVATE tensorpipe) ++ ++install(TARGETS pytensorpipe ++ EXPORT TensorpipeTargets ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) diff --git a/ports/tensorpipe/support-pybind11.patch b/ports/tensorpipe/support-pybind11.patch deleted file mode 100644 index 7a87cd285f4adc..00000000000000 --- a/ports/tensorpipe/support-pybind11.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff --git a/tensorpipe/python/CMakeLists.txt b/tensorpipe/python/CMakeLists.txt -index 41958dd..02562b4 100644 ---- a/tensorpipe/python/CMakeLists.txt -+++ b/tensorpipe/python/CMakeLists.txt -@@ -4,13 +4,17 @@ - # This source code is licensed under the BSD-style license found in the - # LICENSE file in the root directory of this source tree. - --if(NOT (COMMAND pybind11_add_module)) -- add_subdirectory( -- ${PROJECT_SOURCE_DIR}/third_party/pybind11 -- ${PROJECT_BINARY_DIR}/third_party/pybind11 -- EXCLUDE_FROM_ALL) --endif() -+find_package(pybind11 CONFIG REQUIRED) - --set(PYBIND11_CPP_STANDARD -std=c++14) - pybind11_add_module(pytensorpipe tensorpipe.cc) --target_link_libraries(pytensorpipe PRIVATE tensorpipe) -+set_target_properties(pytensorpipe -+PROPERTIES -+ CXX_STANDARD 14 -+) -+target_link_libraries(pytensorpipe PRIVATE tensorpipe pybind11::module) -+ -+install(TARGETS pytensorpipe -+ EXPORT tensorpipeTargets -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) diff --git a/ports/tensorpipe/support-test.patch b/ports/tensorpipe/support-test.patch index 16c54ab37dee05..107e9166bed905 100644 --- a/ports/tensorpipe/support-test.patch +++ b/ports/tensorpipe/support-test.patch @@ -1,39 +1,45 @@ diff --git a/tensorpipe/test/CMakeLists.txt b/tensorpipe/test/CMakeLists.txt -index c0320aa..1414bdd 100644 +index 53e8643..09baaa0 100644 --- a/tensorpipe/test/CMakeLists.txt +++ b/tensorpipe/test/CMakeLists.txt -@@ -86,11 +86,8 @@ if(TP_USE_CUDA) - endif() - - --add_subdirectory(${PROJECT_SOURCE_DIR}/third_party/googletest -- ${PROJECT_BINARY_DIR}/third_party/googletest) -+find_package(GTest CONFIG REQUIRED) - - target_link_libraries(tensorpipe_test PRIVATE - tensorpipe -- uv::uv -- gmock -- gtest_main) -+ unofficial::libuv::libuv GTest::gmock GTest::gtest_main) - -diff --git a/tensorpipe/test/CMakeLists.txt b/tensorpipe/test/CMakeLists.txt -index fecc731..031e40d 100644 ---- a/tensorpipe/test/CMakeLists.txt -+++ b/tensorpipe/test/CMakeLists.txt -@@ -80,10 +80,11 @@ if(TP_USE_CUDA) +@@ -93,25 +93,30 @@ if(TP_USE_CUDA) channel/cuda_ipc/cuda_ipc_test.cc ) endif() - -- target_sources(tensorpipe_test PRIVATE +- list(APPEND TP_TEST_SRCS - channel/cuda_gdr/cuda_gdr_test.cc - ) +- + if(TP_ENABLE_CUDA_GDR) -+ target_sources(tensorpipe_test PRIVATE ++ list(APPEND TP_TEST_SRCS + channel/cuda_gdr/cuda_gdr_test.cc + ) + endif() + cuda_add_library(tensorpipe_cuda_kernel channel/kernel.cu) + list(APPEND TP_TEST_LINK_LIBRARIES tensorpipe_cuda_kernel) + + list(APPEND TP_TEST_LINK_LIBRARIES tensorpipe_cuda) endif() +-add_subdirectory(${PROJECT_SOURCE_DIR}/third_party/googletest +- ${PROJECT_BINARY_DIR}/third_party/googletest EXCLUDE_FROM_ALL) ++find_package(GTest CONFIG REQUIRED) ++ ++if (TARGET libuv::uv) ++ set(LIBUV_LIBRARY libuv::uv) ++else() ++ set(LIBUV_LIBRARY libuv::uv_a) ++endif() + + list(APPEND TP_TEST_LINK_LIBRARIES + tensorpipe +- uv::uv +- gmock +- gtest_main) ++ ${LIBUV_LIBRARY} ++ GTest::gmock ++ GTest::gtest_main) + + add_executable(tensorpipe_test ${TP_TEST_SRCS}) diff --git a/ports/tensorpipe/use-vcpkg.patch b/ports/tensorpipe/use-vcpkg.patch new file mode 100644 index 00000000000000..4afcd1aa2058b7 --- /dev/null +++ b/ports/tensorpipe/use-vcpkg.patch @@ -0,0 +1,52 @@ +diff --git a/tensorpipe/CMakeLists.txt b/tensorpipe/CMakeLists.txt +index efcffc2..dd9bd16 100644 +--- a/tensorpipe/CMakeLists.txt ++++ b/tensorpipe/CMakeLists.txt +@@ -119,8 +119,12 @@ list(APPEND TP_PUBLIC_HDRS + transport/uv/utility.h) + + # Add uv package +-find_package(uv REQUIRED) +-list(APPEND TP_LINK_LIBRARIES uv::uv) ++find_package(libuv CONFIG REQUIRED) ++if (TARGET libuv::uv) ++list(APPEND TP_LINK_LIBRARIES libuv::uv) ++else() ++list(APPEND TP_LINK_LIBRARIES libuv::uv_a) ++endif() + + ### shm + +@@ -184,7 +188,8 @@ configure_file(config.h.in config.h) + # We should keep libnop headers private as they should not be exposed to downstream users, + # but they're currently transitively included by tensorpipe/transport/connection.h (which + # is still unclear whether it should be a public or private header). +-list(APPEND TP_INCLUDE_DIRS $) ++find_path(LIBNOP_INCLUDE_DIRS "nop/serializer.h" REQUIRED) ++list(APPEND TP_INCLUDE_DIRS $) + + + ## Target +diff --git a/tensorpipe/python/CMakeLists.txt b/tensorpipe/python/CMakeLists.txt +index b722381..688886a 100644 +--- a/tensorpipe/python/CMakeLists.txt ++++ b/tensorpipe/python/CMakeLists.txt +@@ -4,16 +4,11 @@ + # This source code is licensed under the BSD-style license found in the + # LICENSE file in the root directory of this source tree. + +-if(NOT (COMMAND pybind11_add_module)) +- add_subdirectory( +- ${PROJECT_SOURCE_DIR}/third_party/pybind11 +- ${PROJECT_BINARY_DIR}/third_party/pybind11 +- EXCLUDE_FROM_ALL) +-endif() ++find_package(pybind11 CONFIG REQUIRED) + + set(PYBIND11_CPP_STANDARD -std=c++14) + pybind11_add_module(pytensorpipe tensorpipe.cc) +-target_link_libraries(pytensorpipe PRIVATE tensorpipe) ++target_link_libraries(pytensorpipe PRIVATE tensorpipe pybind11::module) + + install(TARGETS pytensorpipe + EXPORT TensorpipeTargets diff --git a/ports/tensorpipe/vcpkg.json b/ports/tensorpipe/vcpkg.json index 82971d8ad4a6d4..6e8139793c2fa9 100644 --- a/ports/tensorpipe/vcpkg.json +++ b/ports/tensorpipe/vcpkg.json @@ -1,8 +1,10 @@ { "name": "tensorpipe", - "version-date": "2021-04-26", + "version-date": "2022-03-16", + "port-version": 5, "description": "A tensor-aware point-to-point communication primitive for machine learning", "homepage": "https://github.com/pytorch/tensorpipe", + "license": "BSD-3-Clause", "supports": "linux | osx", "dependencies": [ "libnop", diff --git a/ports/termcolor/portfile.cmake b/ports/termcolor/portfile.cmake index 5a781d65daef2c..bde6d13908a6c1 100644 --- a/ports/termcolor/portfile.cmake +++ b/ports/termcolor/portfile.cmake @@ -1,17 +1,16 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ikalnytskyi/termcolor - REF 67eb0aa55e48ead9fe2aab049f0b1aa7943ba0ea #v2.0.0 - SHA512 c076f0acafa455fb3ed58bca5f0a0989dc3824e9b4f264fc5aa5b599068cc6551ccc2cfe1180a4ff0f8424e6adbfbbfeed50d395ab5f288b8c678cfa42e8fa17 + REF b3cb0f365f8435588df7a6b12a82b2ac5fc1fe95 #v2.1.0 + SHA512 8a95c654b68728a2258eba1c40daf0e5cc69ba24e15e839f75341a694a20a930c042820d68c661ca1971b68dcc93f895513dc73774818b94e205a3a73199b550 HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${port}/ TARGET_PATH share) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib ${CURRENT_PACKAGES_DIR}/debug) -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${port}/") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib" "${CURRENT_PACKAGES_DIR}/debug") +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/termcolor/vcpkg.json b/ports/termcolor/vcpkg.json index 5ea5c349cc9635..8ec81e13b8ae2b 100644 --- a/ports/termcolor/vcpkg.json +++ b/ports/termcolor/vcpkg.json @@ -1,6 +1,17 @@ { "name": "termcolor", - "version-semver": "2.0.0", + "version": "2.1.0", "description": "Termcolor is a header-only C++ library for printing colored messages to the terminal.", - "homepage": "https://github.com/ikalnytskyi/termcolor" + "homepage": "https://github.com/ikalnytskyi/termcolor", + "license": "BSD-3-Clause", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/tesseract/fix-link-include-path.patch b/ports/tesseract/fix-link-include-path.patch new file mode 100644 index 00000000000000..14154943436aee --- /dev/null +++ b/ports/tesseract/fix-link-include-path.patch @@ -0,0 +1,14 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 68da6c5..781fb97 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -820,7 +820,8 @@ target_include_directories( + $ + $ + $ +- $) ++ $ ++ $) + if(BUILD_SHARED_LIBS) + target_compile_definitions( + libtesseract diff --git a/ports/tesseract/fix-share-build.patch b/ports/tesseract/fix-share-build.patch new file mode 100644 index 00000000000000..e259a647784dfb --- /dev/null +++ b/ports/tesseract/fix-share-build.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index aa87db6..faf7ac1 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -938,7 +938,7 @@ install( + RUNTIME DESTINATION bin + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) +-if (MSVC) ++if (MSVC AND BUILD_SHARED_LIBS) + install(FILES $ DESTINATION bin OPTIONAL) + endif() + install( diff --git a/ports/tesseract/fix-tiff-linkage.patch b/ports/tesseract/fix-tiff-linkage.patch deleted file mode 100644 index f4720c02270dbf..00000000000000 --- a/ports/tesseract/fix-tiff-linkage.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index f154663..c07b827 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -431,7 +431,7 @@ endif() - add_executable (tesseract ${tesseractmain_src} ${tesseractmain_rsc}) - target_link_libraries (tesseract libtesseract) - if (HAVE_TIFFIO_H) -- target_link_libraries(tesseract tiff) -+ target_link_libraries(tesseract TIFF::TIFF) - endif() - - if (OPENMP_BUILD AND UNIX) diff --git a/ports/tesseract/fix_static_link_icu.patch b/ports/tesseract/fix_static_link_icu.patch new file mode 100644 index 00000000000000..8e7c101cc42dc5 --- /dev/null +++ b/ports/tesseract/fix_static_link_icu.patch @@ -0,0 +1,13 @@ +diff --git a/src/training/CMakeLists.txt b/src/training/CMakeLists.txt +index 429ed04..9878fa5 100644 +--- a/src/training/CMakeLists.txt ++++ b/src/training/CMakeLists.txt +@@ -72,7 +72,7 @@ if(NOT SW_BUILD) + if(PKG_CONFIG_FOUND) + pkg_check_modules(ICU REQUIRED IMPORTED_TARGET icu-uc icu-i18n) + else() +- find_package(ICU 52.1 COMPONENTS uc i18n) ++ find_package(ICU 72.1 COMPONENTS uc i18n dt) + endif() + if(ICU_FOUND) + message(">> ICU_FOUND ${ICU_FOUND} ${ICU_VERSION} ${ICU_LIBRARIES} ${ICU_INCLUDE_DIRS}") diff --git a/ports/tesseract/portfile.cmake b/ports/tesseract/portfile.cmake index 68926f963aee4d..03f1d9f1d4c563 100644 --- a/ports/tesseract/portfile.cmake +++ b/ports/tesseract/portfile.cmake @@ -1,68 +1,103 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO tesseract-ocr/tesseract - REF 4.1.1 - SHA512 017723a2268be789fe98978eed02fd294968cc8050dde376dee026f56f2b99df42db935049ae5e72c4519a920e263b40af1a6a40d9942e66608145b3131a71a2 + REF "${VERSION}" + SHA512 a97a31d1b735930a3e8b17bc2eae24210d8242d31399822f8bc2e9f18903d513cf6d02b2274e2f3ce431183467570b3327e01cbc49dca80e38acb90327cc235e PATCHES - fix-tiff-linkage.patch + fix_static_link_icu.patch + fix-link-include-path.patch + fix-share-build.patch + target-curl.diff ) -# The built-in cmake FindICU is better -file(REMOVE ${SOURCE_PATH}/cmake/FindICU.cmake) - -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC) - vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - training-tools BUILD_TRAINING_TOOLS + FEATURES + training-tools BUILD_TRAINING_TOOLS ) -if("cpu-independed" IN_LIST FEATURES) - set(TARGET_ARCHITECTURE none) -else() - set(TARGET_ARCHITECTURE auto) -endif() - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS ${FEATURE_OPTIONS} - -DSTATIC=${BUILD_STATIC} +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} -DUSE_SYSTEM_ICU=True - -DCMAKE_DISABLE_FIND_PACKAGE_LibArchive=ON + -DCMAKE_REQUIRE_FIND_PACKAGE_LibArchive=ON + -DCMAKE_REQUIRE_FIND_PACKAGE_CURL=ON + -DCMAKE_REQUIRE_FIND_PACKAGE_Leptonica=ON -DCMAKE_DISABLE_FIND_PACKAGE_OpenCL=ON -DLeptonica_DIR=YES - -DTARGET_ARCHITECTURE=${TARGET_ARCHITECTURE} + -DSW_BUILD=OFF + -DLEPT_TIFF_RESULT=ON + MAYBE_UNUSED_VARIABLES + CMAKE_DISABLE_FIND_PACKAGE_OpenCL ) -vcpkg_install_cmake() +vcpkg_cmake_install() +vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH cmake) -file(READ ${CURRENT_PACKAGES_DIR}/share/tesseract/TesseractConfig.cmake TESSERACT_CONFIG) -string(REPLACE "find_package(Leptonica REQUIRED)" - "find_package(Leptonica REQUIRED) -find_package(LibArchive REQUIRED)" TESSERACT_CONFIG "${TESSERACT_CONFIG}") -file(WRITE ${CURRENT_PACKAGES_DIR}/share/tesseract/TesseractConfig.cmake "${TESSERACT_CONFIG}") +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/tesseract) -vcpkg_copy_tools(TOOL_NAMES tesseract AUTO_CLEAN) +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/tesseract/TesseractConfig.cmake" + "find_dependency(Leptonica)" +[[ +find_dependency(CURL) +find_dependency(Leptonica) +find_dependency(LibArchive) +]] +) -if(NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/tesseract.pc" "-ltesseract41" "-ltesseract41d") -endif() +vcpkg_copy_tools(TOOL_NAMES tesseract AUTO_CLEAN) vcpkg_fixup_pkgconfig() if("training-tools" IN_LIST FEATURES) list(APPEND TRAINING_TOOLS ambiguous_words classifier_tester combine_tessdata cntraining dawg2wordlist mftraining shapeclustering - wordlist2dawg combine_lang_model lstmeval lstmtraining - set_unicharset_properties unicharset_extractor text2image - ) + wordlist2dawg combine_lang_model lstmeval lstmtraining text2image + set_unicharset_properties unicharset_extractor merge_unicharsets + ) vcpkg_copy_tools(TOOL_NAMES ${TRAINING_TOOLS} AUTO_CLEAN) endif() -vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +# Install: +file(GLOB API_HEADER_FILES LIST_DIRECTORIES false "${SOURCE_PATH}/src/api/*.h") +file(INSTALL ${API_HEADER_FILES} DESTINATION "${CURRENT_PACKAGES_DIR}/include/tesseract/api") + +file(GLOB ARCH_HEADER_FILES LIST_DIRECTORIES false "${SOURCE_PATH}/src/arch/*.h") +file(INSTALL ${ARCH_HEADER_FILES} DESTINATION "${CURRENT_PACKAGES_DIR}/include/tesseract/arch") + +file(GLOB CCMAIN_HEADER_FILES LIST_DIRECTORIES false "${SOURCE_PATH}/src/ccmain/*.h") +file(INSTALL ${CCMAIN_HEADER_FILES} DESTINATION "${CURRENT_PACKAGES_DIR}/include/tesseract/ccmain") + +file(GLOB CCSTRUCT_HEADER_FILES LIST_DIRECTORIES false "${SOURCE_PATH}/src/ccstruct/*.h") +file(INSTALL ${CCSTRUCT_HEADER_FILES} DESTINATION "${CURRENT_PACKAGES_DIR}/include/tesseract/ccstruct") + +file(GLOB CCUTIL_HEADER_FILES LIST_DIRECTORIES false "${SOURCE_PATH}/src/ccutil/*.h") +file(INSTALL ${CCUTIL_HEADER_FILES} DESTINATION "${CURRENT_PACKAGES_DIR}/include/tesseract/ccutil") + +file(GLOB CLASSIFY_HEADER_FILES LIST_DIRECTORIES false "${SOURCE_PATH}/src/classify/*.h") +file(INSTALL ${CLASSIFY_HEADER_FILES} DESTINATION "${CURRENT_PACKAGES_DIR}/include/tesseract/classify") + +file(GLOB CUTIL_HEADER_FILES LIST_DIRECTORIES false "${SOURCE_PATH}/src/cutil/*.h") +file(INSTALL ${CUTIL_HEADER_FILES} DESTINATION "${CURRENT_PACKAGES_DIR}/include/tesseract/cutil") + +file(GLOB DICT_HEADER_FILES LIST_DIRECTORIES false "${SOURCE_PATH}/src/dict/*.h") +file(INSTALL ${DICT_HEADER_FILES} DESTINATION "${CURRENT_PACKAGES_DIR}/include/tesseract/dict") + +file(GLOB LSTM_HEADER_FILES LIST_DIRECTORIES false "${SOURCE_PATH}/src/lstm/*.h") +file(INSTALL ${LSTM_HEADER_FILES} DESTINATION "${CURRENT_PACKAGES_DIR}/include/tesseract/lstm") + +file(GLOB TEXTORD_HEADER_FILES LIST_DIRECTORIES false "${SOURCE_PATH}/src/textord/*.h") +file(INSTALL ${TEXTORD_HEADER_FILES} DESTINATION "${CURRENT_PACKAGES_DIR}/include/tesseract/textord") + +file(GLOB VIEWER_HEADER_FILES LIST_DIRECTORIES false "${SOURCE_PATH}/src/viewer/*.h") +file(INSTALL ${VIEWER_HEADER_FILES} DESTINATION "${CURRENT_PACKAGES_DIR}/include/tesseract/viewer") + +file(GLOB WORDREC_HEADER_FILES LIST_DIRECTORIES false "${SOURCE_PATH}/src/wordrec/*.h") +file(INSTALL ${WORDREC_HEADER_FILES} DESTINATION "${CURRENT_PACKAGES_DIR}/include/tesseract/wordrec") # 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/tesseract/target-curl.diff b/ports/tesseract/target-curl.diff new file mode 100644 index 00000000000000..5e9b265bc7ad11 --- /dev/null +++ b/ports/tesseract/target-curl.diff @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index faf7ac1..5066996 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -818,7 +818,7 @@ if(LibArchive_FOUND) + target_link_libraries(libtesseract PUBLIC ${LibArchive_LIBRARIES}) + endif(LibArchive_FOUND) + if(CURL_FOUND) +- if(NOT CURL_LIBRARIES) ++ if(TARGET CURL::libcurl) + target_link_libraries(libtesseract PUBLIC CURL::libcurl) + else() + target_link_libraries(libtesseract PUBLIC ${CURL_LIBRARIES}) diff --git a/ports/tesseract/vcpkg.json b/ports/tesseract/vcpkg.json index 4418a631100977..7445116a44bf52 100644 --- a/ports/tesseract/vcpkg.json +++ b/ports/tesseract/vcpkg.json @@ -1,18 +1,35 @@ { "name": "tesseract", - "version": "4.1.1", - "port-version": 8, + "version": "5.4.1", + "port-version": 1, "description": "An OCR Engine that was developed at HP Labs between 1985 and 1995... and now at Google.", "homepage": "https://github.com/tesseract-ocr/tesseract", - "supports": "!(windows & (arm | arm64))", + "license": "Apache-2.0", + "supports": "!uwp", "dependencies": [ + { + "name": "cpu-features", + "platform": "android" + }, + { + "name": "curl", + "default-features": false + }, "leptonica", - "libarchive" + { + "name": "libarchive", + "default-features": false + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ], "features": { - "cpu-independed": { - "description": "build on any cpu extension commands support" - }, "training-tools": { "description": "build training tools", "dependencies": [ diff --git a/ports/tevclient/portfile.cmake b/ports/tevclient/portfile.cmake new file mode 100644 index 00000000000000..1f2d7c6a5ef1ad --- /dev/null +++ b/ports/tevclient/portfile.cmake @@ -0,0 +1,22 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO westlicht/tevclient + REF aae4d33472bcf23a5b66af27dcea7ca299b61976 + SHA512 e452b6b6cfbe7fc56e0f4794c8a4ecdd5695da2a8ae006ea02fed0a4c5a13a411042e66f6996a7e49b789a5ff86cdfb771cb55ba0a30465649ed1c4f5f7062c4 + HEAD_REF master +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + ) + +vcpkg_cmake_install() +vcpkg_copy_pdbs() + +vcpkg_cmake_config_fixup(CONFIG_PATH share/cmake/tevclient) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/tevclient/vcpkg.json b/ports/tevclient/vcpkg.json new file mode 100644 index 00000000000000..4b56bcc885bd40 --- /dev/null +++ b/ports/tevclient/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "tevclient", + "version-date": "2023-12-04", + "description": "C++ client library for communicating to the tev image viewer", + "homepage": "https://github.com/westlicht/tevclient", + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/tfhe/portfile.cmake b/ports/tfhe/portfile.cmake index fc06a54a600b4f..87e10337e1cc20 100644 --- a/ports/tfhe/portfile.cmake +++ b/ports/tfhe/portfile.cmake @@ -1,5 +1,3 @@ -vcpkg_fail_port_install(MESSAGE "${PORT} currently only supports Unix" ON_TARGET "Windows") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO tfhe/tfhe @@ -13,14 +11,13 @@ vcpkg_from_github( # Workaround for https://github.com/tfhe/tfhe/issues/246 vcpkg_replace_string("${SOURCE_PATH}/src/CMakeLists.txt" "-Wall -Werror" "") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH}/src - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/src" ) -vcpkg_install_cmake() +vcpkg_cmake_install() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") # Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/tfhe/vcpkg.json b/ports/tfhe/vcpkg.json index 73898248b8f2d9..91feadf432c8ea 100644 --- a/ports/tfhe/vcpkg.json +++ b/ports/tfhe/vcpkg.json @@ -1,8 +1,14 @@ { "name": "tfhe", "version-semver": "1.0.1", - "port-version": 2, + "port-version": 5, "description": "TFHE is open-source software distributed under the terms of the Apache 2.0 license.", "homepage": "https://github.com/tfhe/tfhe", - "supports": "!windows" + "supports": "!windows & !arm", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/tgbot-cpp/portfile.cmake b/ports/tgbot-cpp/portfile.cmake index 859b5d03edc6c1..43472374dc0b31 100644 --- a/ports/tgbot-cpp/portfile.cmake +++ b/ports/tgbot-cpp/portfile.cmake @@ -1,17 +1,16 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO reo7sp/tgbot-cpp - REF v1.2.1 - SHA512 b094f9c80dd15b7930b7d7250169b3199d9c84b84826adececa8237111f5ba384ec790dbe969999f362ca2fb35b93950d053777ce5f167007e33c3e4eb133453 + REF v1.7.3 + SHA512 845a051a4c7d753680759a09c1d2e1384d81f399b84d553e6785c65a6249a6a770f17eaf57ca28efd420dda78dc6c78096f045ddd87ac98a56c2c54d0b3a110b HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) @@ -21,4 +20,4 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") 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/tgbot-cpp/vcpkg.json b/ports/tgbot-cpp/vcpkg.json index 360b9c706d1351..53ef89de3ee7f5 100644 --- a/ports/tgbot-cpp/vcpkg.json +++ b/ports/tgbot-cpp/vcpkg.json @@ -1,9 +1,9 @@ { "name": "tgbot-cpp", - "version-string": "1.2.1", - "port-version": 1, - "description": "C++14 library for Telegram bot API.", + "version": "1.7.3", + "description": "C++ library for Telegram bot API.", "homepage": "https://github.com/reo7sp/tgbot-cpp", + "license": "MIT", "dependencies": [ "boost-algorithm", "boost-asio", @@ -14,6 +14,10 @@ "boost-variant", "curl", "openssl", + { + "name": "vcpkg-cmake", + "host": true + }, "zlib" ] } diff --git a/ports/tgc/portfile.cmake b/ports/tgc/portfile.cmake index 3171461910a110..087c69ea84be19 100644 --- a/ports/tgc/portfile.cmake +++ b/ports/tgc/portfile.cmake @@ -8,19 +8,18 @@ vcpkg_from_github( HEAD_REF master ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-${PORT} TARGET_PATH share/unofficial-${PORT}) +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-${PORT}) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -configure_file(${SOURCE_PATH}/LICENSE.md ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) +configure_file("${SOURCE_PATH}/LICENSE.md" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) diff --git a/ports/tgc/vcpkg.json b/ports/tgc/vcpkg.json index 960f3fe19bbafd..788296adf2de5d 100644 --- a/ports/tgc/vcpkg.json +++ b/ports/tgc/vcpkg.json @@ -1,7 +1,17 @@ { "name": "tgc", - "version-string": "2019-08-11", - "port-version": 2, + "version-date": "2019-08-11", + "port-version": 4, "description": "A tiny garbage collector for C", - "homepage": "https://github.com/orangeduck/tgc" + "homepage": "https://github.com/orangeduck/tgc", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/tgui/devendor-stb.patch b/ports/tgui/devendor-stb.patch new file mode 100644 index 00000000000000..204267627352d2 --- /dev/null +++ b/ports/tgui/devendor-stb.patch @@ -0,0 +1,41 @@ +diff --git a/include/TGUI/extlibs/IncludeStbImage.hpp b/include/TGUI/extlibs/IncludeStbImage.hpp +index e19cccb..79d0f0c 100644 +--- a/include/TGUI/extlibs/IncludeStbImage.hpp ++++ b/include/TGUI/extlibs/IncludeStbImage.hpp +@@ -64,7 +64,7 @@ + #else + # define STB_IMAGE_STATIC + # define STB_IMAGE_IMPLEMENTATION +-# include ++# include + #endif + + #if defined(__GNUC__) +diff --git a/include/TGUI/extlibs/IncludeStbImageWrite.hpp b/include/TGUI/extlibs/IncludeStbImageWrite.hpp +index 2e23a5b..97ce878 100644 +--- a/include/TGUI/extlibs/IncludeStbImageWrite.hpp ++++ b/include/TGUI/extlibs/IncludeStbImageWrite.hpp +@@ -52,7 +52,7 @@ + #else + # define STB_IMAGE_WRITE_STATIC + # define STB_IMAGE_WRITE_IMPLEMENTATION +-# include ++# include + #endif + + #if defined(__GNUC__) +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 6a08458..c575036 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -225,6 +225,10 @@ else() + set_target_properties(tgui PROPERTIES MINSIZEREL_POSTFIX -s) + set_target_properties(tgui PROPERTIES RELWITHDEBINFO_POSTFIX -s) + endif() ++find_path(STB_INCLUDE_DIR stb_image.h REQUIRED) ++target_include_directories(tgui PRIVATE "${STB_INCLUDE_DIR}") ++find_path(TGUI_SYSTEM_STB_IMAGE_WRITE_INCLUDE_DIR stb_image_write.h REQUIRED) ++target_include_directories(tgui SYSTEM PRIVATE "${TGUI_SYSTEM_STB_IMAGE_WRITE_INCLUDE_DIR}") + + if (TGUI_BUILD_AS_CXX_MODULE) + target_sources(tgui diff --git a/ports/tgui/fix-dependencies.patch b/ports/tgui/fix-dependencies.patch deleted file mode 100644 index ad6b7107c0b8a5..00000000000000 --- a/ports/tgui/fix-dependencies.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff --git a/src/Backends/SDL/CMakeLists.txt b/src/Backends/SDL/CMakeLists.txt -index d86f11d..1e31e21 100644 ---- a/src/Backends/SDL/CMakeLists.txt -+++ b/src/Backends/SDL/CMakeLists.txt -@@ -1,10 +1,10 @@ - list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/cmake_modules) - --find_package(SDL2 REQUIRED) --find_package(SDL2_ttf REQUIRED) -+find_package(SDL2 CONFIG REQUIRED) -+find_package(sdl2-ttf CONFIG REQUIRED) - - # Link to SDL and set include and library search directories --target_link_libraries(tgui PRIVATE SDL2::Core SDL2::TTF) -+target_link_libraries(tgui PRIVATE SDL2::SDL2 SDL2::SDL2_ttf) - - # Add the backend source files to the library - target_sources(tgui PRIVATE -@@ -19,7 +19,7 @@ target_sources(tgui PRIVATE - ) - - add_library(tgui-sdl-interface INTERFACE) --target_link_libraries(tgui-sdl-interface INTERFACE SDL2::Core SDL2::TTF SDL2::Main) -+target_link_libraries(tgui-sdl-interface INTERFACE SDL2::SDL2 SDL2::SDL2_ttf SDL2::SDL2main) - - # Also link to OpenGL or OpenGL ES - if(NOT TGUI_USE_GLES) diff --git a/ports/tgui/fix-usage.patch b/ports/tgui/fix-usage.patch deleted file mode 100644 index cbc43b4e779d47..00000000000000 --- a/ports/tgui/fix-usage.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/cmake/TGUIConfig.cmake.in b/cmake/TGUIConfig.cmake.in -index 63e8a45..01804cd 100644 ---- a/cmake/TGUIConfig.cmake.in -+++ b/cmake/TGUIConfig.cmake.in -@@ -44,6 +44,9 @@ - # add_executable(myapp ...) - # target_link_libraries(myapp tgui) - -+include(CMakeFindDependencyMacro) -+find_dependency(SFML COMPONENTS graphics CONFIG) -+ - set(FIND_TGUI_PATHS - "${CMAKE_CURRENT_LIST_DIR}/../.." - ${TGUI_ROOT} -@@ -58,7 +61,7 @@ set(FIND_TGUI_PATHS - /opt) - - # Choose which target definitions must be imported --if (TGUI_STATIC_LIBRARIES) -+if (NOT @TGUI_SHARED_LIBS@) - set(TGUI_IS_FRAMEWORK_INSTALL "@TGUI_BUILD_FRAMEWORKS@") - if (TGUI_IS_FRAMEWORK_INSTALL) - message(WARNING "Static frameworks are not supported by TGUI. Clear TGUI_DIR cache entry, \ diff --git a/ports/tgui/portfile.cmake b/ports/tgui/portfile.cmake index e30d93ac4f745e..2c92aefa847cc1 100644 --- a/ports/tgui/portfile.cmake +++ b/ports/tgui/portfile.cmake @@ -1,41 +1,58 @@ +if(NOT "sdl2" IN_LIST FEATURES AND NOT "sfml" IN_LIST FEATURES) + message(FATAL_ERROR "At least one of the backend features must be selected: sdl2 sfml") +endif() + +if(VCPKG_TARGET_IS_ANDROID) + vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) +elseif(VCPKG_TARGET_IS_IOS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO texus/TGUI - REF 6515153c2466e6677ba933679b3dca6c283daf87 - SHA512 109e64c114336979a4bd0d44765e4bc26cb4ecb6e4db92d7441230d148438b084d01cb56dd292f09a6fd28b0f7420044455ffb519147cc3aea71e322142cd9a0 - HEAD_REF 0.9 + REF "v${VERSION}" + SHA512 0896551286a40ea5b6e778018473bd230c7c3052cf19cbecfdc00789f029e9a753e569fdd5aab6f2e1e74c5fb8873bf1f7389e66abeaa3d628d6032941af331e + HEAD_REF 1.x PATCHES - fix-usage.patch - fix-dependencies.patch + devendor-stb.patch ) -set(TGUI_SHARE_PATH ${CURRENT_PACKAGES_DIR}/share/tgui) -set(TGUI_TOOLS_PATH ${CURRENT_PACKAGES_DIR}/tools/tgui) +file(REMOVE_RECURSE "${SOURCE_PATH}/src/Backends/SDL/cmake_modules") # Config available +file(REMOVE_RECURSE "${SOURCE_PATH}/include/TGUI/extlibs/stb") -# Enable static build -file(REMOVE "${SOURCE_PATH}/cmake/Modules/FindSFML.cmake") -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" TGUI_SHARED_LIBS) +set(TGUI_SHARE_PATH "${CURRENT_PACKAGES_DIR}/share/${PORT}") +set(TGUI_TOOLS_PATH "${CURRENT_PACKAGES_DIR}/tools/${PORT}") + +string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" TGUI_USE_STATIC_STD_LIBS) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES - sdl2 TGUI_HAS_BACKEND_SDL - sfml TGUI_HAS_BACKEND_SFML + sdl2 TGUI_HAS_BACKEND_SDL_RENDERER + sfml TGUI_HAS_BACKEND_SFML_GRAPHICS tool TGUI_BUILD_GUI_BUILDER ) -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" DISABLE_PARALLEL_CONFIGURE - PREFER_NINJA - OPTIONS ${FEATURE_OPTIONS} - -DTGUI_MISC_INSTALL_PREFIX=${TGUI_SHARE_PATH} - -DTGUI_SHARED_LIBS=${TGUI_SHARED_LIBS} + OPTIONS + ${FEATURE_OPTIONS} + "-DTGUI_MISC_INSTALL_PREFIX=${TGUI_SHARE_PATH}" + "-DCMAKE_INSTALL_DOCDIR=${TGUI_SHARE_PATH}" + -DTGUI_USE_STATIC_STD_LIBS=${TGUI_USE_STATIC_STD_LIBS} -DTGUI_BACKEND=Custom - -DTGUI_BUILD_EXAMPLES=OFF + -DTGUI_BUILD_DOC=OFF + -DTGUI_BUILD_FRAMEWORK=OFF + -DTGUI_INSTALL_PKGCONFIG_FILES=OFF + OPTIONS_DEBUG + -DTGUI_BUILD_GUI_BUILDER=OFF + MAYBE_UNUSED_VARIABLES + TGUI_USE_STATIC_STD_LIBS ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/TGUI) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/TGUI) vcpkg_copy_pdbs() if("tool" IN_LIST FEATURES) @@ -53,12 +70,13 @@ if("tool" IN_LIST FEATURES) endif() endif() -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/TGUI/extlibs/nanosvg" "${CURRENT_PACKAGES_DIR}/include/TGUI/extlibs/glad" - "${CURRENT_PACKAGES_DIR}/include/TGUI/extlibs/stb" -) # All folders are empty - -file(RENAME "${CURRENT_PACKAGES_DIR}/share/doc" "${CURRENT_PACKAGES_DIR}/share/${PORT}/doc") +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" + # Empty folders + "${CURRENT_PACKAGES_DIR}/include/TGUI/extlibs/nanosvg" + "${CURRENT_PACKAGES_DIR}/include/TGUI/extlibs/glad" +) -# 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}") +file(RENAME "${CURRENT_PACKAGES_DIR}/share/${PORT}/license.txt" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright") diff --git a/ports/tgui/usage b/ports/tgui/usage new file mode 100644 index 00000000000000..c540a8108eeb25 --- /dev/null +++ b/ports/tgui/usage @@ -0,0 +1,4 @@ +tgui provides CMake targets: + + find_package(TGUI CONFIG REQUIRED) + target_link_libraries(main PRIVATE TGUI::TGUI) diff --git a/ports/tgui/vcpkg.json b/ports/tgui/vcpkg.json index 387a20c909c0ac..86eae4ff765f07 100644 --- a/ports/tgui/vcpkg.json +++ b/ports/tgui/vcpkg.json @@ -1,50 +1,44 @@ { "name": "tgui", - "version-date": "2021-04-19", - "port-version": 2, + "version": "1.1.0", + "port-version": 1, "description": "TGUI is an easy to use, cross-platform, C++ GUI for SFML.", "homepage": "https://tgui.eu", + "license": "Zlib", + "dependencies": [ + "stb", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], "default-features": [ - "sdl2", "sfml" ], "features": { "sdl2": { - "description": "build the SDL backend", + "description": "Build the SDL backend", "dependencies": [ + { + "name": "opengl", + "platform": "!android & !ios" + }, "sdl2", "sdl2-ttf" ] }, "sfml": { - "description": "build the SFML backend", + "description": "Build the SFML backend", "dependencies": [ - { - "name": "glad", - "features": [ - "egl" - ], - "platform": "!android & !ios" - }, - { - "name": "opengl", - "platform": "android | ios" - }, - "sfml", - "stb" + "sfml" ] }, "tool": { - "description": "Build GUI builder", - "dependencies": [ - { - "name": "tgui", - "features": [ - "sdl2", - "sfml" - ] - } - ] + "description": "Build GUI builder" } } } diff --git a/ports/theia/266.diff b/ports/theia/266.diff new file mode 100644 index 00000000000000..febcd8c31a63de --- /dev/null +++ b/ports/theia/266.diff @@ -0,0 +1,12 @@ +diff --git a/libraries/vlfeat/CMakeLists.txt b/libraries/vlfeat/CMakeLists.txt +index 7f4ffc796..9535d0c22 100644 +--- a/libraries/vlfeat/CMakeLists.txt ++++ b/libraries/vlfeat/CMakeLists.txt +@@ -1,6 +1,6 @@ + project(vlfeat) + +-include("${CMAKE_MODULE_PATH}/OptimizeTheiaCompilerFlags.cmake") ++include(OptimizeTheiaCompilerFlags) + optimizetheiacompilerflags() + + include_directories(./vl) diff --git a/ports/theia/eigen-3.4.patch b/ports/theia/eigen-3.4.patch new file mode 100644 index 00000000000000..9bbd5e24b0bd9d --- /dev/null +++ b/ports/theia/eigen-3.4.patch @@ -0,0 +1,24 @@ +--- a/libraries/akaze/src/nldiffusion_functions.cpp ++++ b/libraries/akaze/src/nldiffusion_functions.cpp +@@ -222,8 +222,8 @@ void halfsample_image(const RowMatrixXf& src, RowMatrixXf& dst) { + + // Do the whole resampling in one pass by using neighboring values. First, we + // compute the borders. +- const double x_kernel_size = static_cast(src.cols()) / dst.cols(); +- const double y_kernel_size = static_cast(src.rows()) / dst.rows(); ++ const int x_kernel_size = static_cast(src.cols()) / dst.cols(); ++ const int y_kernel_size = static_cast(src.rows()) / dst.rows(); + + // Do simple linear interpolation. + if (x_kernel_size == 2 && y_kernel_size == 2) { +@@ -237,8 +237,8 @@ void halfsample_image(const RowMatrixXf& src, RowMatrixXf& dst) { + return; + } + +- const double x_kernel_clamped_size = static_cast(ceil(x_kernel_size)); +- const double y_kernel_clamped_size = static_cast(ceil(y_kernel_size)); ++ const int x_kernel_clamped_size = static_cast(ceil(static_cast(src.cols()) / dst.cols())); ++ const int y_kernel_clamped_size = static_cast(ceil(static_cast(src.rows()) / dst.rows())); + + // Set up precomputed factor matrices. + Eigen::RowVectorXf x_kernel_mul(static_cast(x_kernel_clamped_size)), diff --git a/ports/theia/fix-external-dependencies.patch b/ports/theia/fix-external-dependencies.patch index fc6e540f31e227..812aad4319350b 100644 --- a/ports/theia/fix-external-dependencies.patch +++ b/ports/theia/fix-external-dependencies.patch @@ -158,7 +158,7 @@ index 9c1b150..1adbfed 100644 # This "exports" all targets which have been put into the export set # "TheiaExport". This means that CMake generates a file with the given -@@ -319,9 +270,5 @@ configure_file("${CMAKE_SOURCE_DIR}/cmake/TheiaConfigVersion.cmake.in" +@@ -319,9 +270,4 @@ configure_file("${CMAKE_SOURCE_DIR}/cmake/TheiaConfigVersion.cmake.in" # in the public API of Theia and should thus be present in THEIA_INCLUDE_DIRS. install(FILES "${CMAKE_CURRENT_BINARY_DIR}/TheiaConfig.cmake" "${CMAKE_CURRENT_BINARY_DIR}/TheiaConfigVersion.cmake" @@ -167,7 +167,6 @@ index 9c1b150..1adbfed 100644 - "${CMAKE_SOURCE_DIR}/cmake/FindGflags.cmake" - "${CMAKE_SOURCE_DIR}/cmake/FindOpenImageIO.cmake" - "${CMAKE_SOURCE_DIR}/cmake/FindSuiteSparse.cmake" -+ "${CMAKE_SOURCE_DIR}/cmake/FindOpenImageIO.cmake" DESTINATION ${CMAKECONFIG_INSTALL_DIR}) diff --git a/cmake/TheiaConfig.cmake.in b/cmake/TheiaConfig.cmake.in index a3ea187..7e9d912 100644 diff --git a/ports/theia/fix-external-dependencies2.patch b/ports/theia/fix-external-dependencies2.patch new file mode 100644 index 00000000000000..f7026ba1aa36b5 --- /dev/null +++ b/ports/theia/fix-external-dependencies2.patch @@ -0,0 +1,76 @@ +diff --git a/cmake/TheiaConfig.cmake.in b/cmake/TheiaConfig.cmake.in +index 7e9d912..2a98124 100644 +--- a/cmake/TheiaConfig.cmake.in ++++ b/cmake/TheiaConfig.cmake.in +@@ -43,7 +43,7 @@ macro(THEIA_REPORT_NOT_FOUND REASON_MSG) + # use the camelcase library name, not uppercase. + if (Theia_FIND_QUIETLY) + message(STATUS "Failed to find Theia - " ${REASON_MSG} ${ARGN}) +- else (Theia_FIND_REQUIRED) ++ elseif (Theia_FIND_REQUIRED) + message(FATAL_ERROR "Failed to find Theia - " ${REASON_MSG} ${ARGN}) + else() + # Neither QUIETLY nor REQUIRED, use SEND_ERROR which emits an error +@@ -103,35 +103,35 @@ set(THEIA_INCLUDE_DIRS ${THEIA_INCLUDE_DIR}) + + # Eigen. + # Flag set during configuration and build of Theia. +-set(THEIA_EIGEN_VERSION @EIGEN_VERSION@) ++set(THEIA_EIGEN_VERSION @EIGEN3_VERSION@) + # Append the locations of Eigen when Theia was built to the search path hints. +-list(APPEND EIGEN_INCLUDE_DIR_HINTS @EIGEN_INCLUDE_DIR@) ++list(APPEND EIGEN_INCLUDE_DIR_HINTS @EIGEN3_INCLUDE_DIR@) + # Search quietly s/t we control the timing of the error message if not found. +-find_package(Eigen ${THEIA_EIGEN_VERSION} EXACT QUIET) +-if (EIGEN_FOUND) ++find_package(Eigen3 ${THEIA_EIGEN_VERSION} REQUIRED) ++if (EIGEN3_FOUND) + message(STATUS "Found required Theia dependency: " +- "Eigen version ${THEIA_EIGEN_VERSION} in ${EIGEN_INCLUDE_DIRS}") +-else (EIGEN_FOUND) ++ "Eigen version ${THEIA_EIGEN_VERSION} in ${EIGEN3_INCLUDE_DIRS}") ++else (EIGEN3_FOUND) + theia_report_not_found("Missing required Theia " + "dependency: Eigen version ${THEIA_EIGEN_VERSION}, please set " + "EIGEN_INCLUDE_DIR.") +-endif (EIGEN_FOUND) +-list(APPEND THEIA_INCLUDE_DIRS ${EIGEN_INCLUDE_DIRS}) ++endif (EIGEN3_FOUND) ++list(APPEND THEIA_INCLUDE_DIRS ${EIGEN3_INCLUDE_DIRS}) + + # Ceres. + # Append the locations of ceres when Theia was built to the search path hints. +-list(APPEND CERES_INCLUDE_DIR_HINTS @CERES_INCLUDE_DIR@) +-get_filename_component(THEIA_BUILD_CERES_LIBRARY_DIR @CERES_LIBRARIES@ PATH) +-list(APPEND CERES_LIBRARY_DIR_HINTS ${THEIA_BUILD_CERES_LIBRARY_DIR}) ++#list(APPEND CERES_INCLUDE_DIR_HINTS @CERES_INCLUDE_DIR@) ++#get_filename_component(THEIA_BUILD_CERES_LIBRARY_DIR @CERES_LIBRARIES@ PATH) ++#list(APPEND CERES_LIBRARY_DIR_HINTS ${THEIA_BUILD_CERES_LIBRARY_DIR}) + # Search quietly s/t we control the timing of the error message if not found. + find_package(Ceres REQUIRED) + list(APPEND THEIA_INCLUDE_DIRS ${CERES_INCLUDE_DIRS}) + + # Glog. + # Append the locations of glog when Theia was built to the search path hints. +-list(APPEND GLOG_INCLUDE_DIR_HINTS @GLOG_INCLUDE_DIR@) +-get_filename_component(THEIA_BUILD_GLOG_LIBRARY_DIR @GLOG_LIBRARY@ PATH) +-list(APPEND GLOG_LIBRARY_DIR_HINTS ${THEIA_BUILD_GLOG_LIBRARY_DIR}) ++#list(APPEND GLOG_INCLUDE_DIR_HINTS @GLOG_INCLUDE_DIR@) ++#get_filename_component(THEIA_BUILD_GLOG_LIBRARY_DIR @GLOG_LIBRARY@ PATH) ++#list(APPEND GLOG_LIBRARY_DIR_HINTS ${THEIA_BUILD_GLOG_LIBRARY_DIR}) + # Search quietly s/t we control the timing of the error message if not found. + find_package(Glog REQUIRED) + list(APPEND THEIA_INCLUDE_DIRS ${GLOG_INCLUDE_DIRS}) +diff --git a/src/theia/CMakeLists.txt b/src/theia/CMakeLists.txt +index 768586d..c1f6593 100644 +--- a/src/theia/CMakeLists.txt ++++ b/src/theia/CMakeLists.txt +@@ -207,7 +207,7 @@ set(THEIA_LIBRARY_DEPENDENCIES + ${GFLAGS_LIBRARIES} + ${GLOG_LIBRARIES} + ${SUITESPARSE_LIBRARIES} +- ${OPENIMAGEIO_LIBRARIES} ++ OpenImageIO::OpenImageIO + akaze + statx + stlplus3 diff --git a/ports/theia/portfile.cmake b/ports/theia/portfile.cmake index e5e7ffcab3de99..3e7c8eb72c066d 100644 --- a/ports/theia/portfile.cmake +++ b/ports/theia/portfile.cmake @@ -8,16 +8,19 @@ vcpkg_from_github( HEAD_REF master PATCHES fix-external-dependencies.patch + fix-external-dependencies2.patch + eigen-3.4.patch + 266.diff ) -file(REMOVE ${SOURCE_PATH}/cmake/FindSuiteSparse.cmake) -file(REMOVE ${SOURCE_PATH}/cmake/FindGflags.cmake) -file(REMOVE ${SOURCE_PATH}/cmake/FindGlog.cmake) -file(REMOVE ${SOURCE_PATH}/cmake/FindEigen.cmake) +file(REMOVE "${SOURCE_PATH}/cmake/FindSuiteSparse.cmake") +file(REMOVE "${SOURCE_PATH}/cmake/FindOpenImageIO.cmake") +file(REMOVE "${SOURCE_PATH}/cmake/FindGflags.cmake") +file(REMOVE "${SOURCE_PATH}/cmake/FindGlog.cmake") +file(REMOVE "${SOURCE_PATH}/cmake/FindEigen.cmake") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DCMAKE_CXX_STANDARD=14 -DCMAKE_CXX_EXTENSIONS=OFF @@ -25,22 +28,24 @@ vcpkg_configure_cmake( -DBUILD_TESTING=OFF -DTHEIA_USE_EXTERNAL_CEREAL=ON -DTHEIA_USE_EXTERNAL_FLANN=ON + -DCMAKE_POLICY_DEFAULT_CMP0012=NEW + -DCMAKE_POLICY_DEFAULT_CMP0057=NEW ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets() +vcpkg_cmake_install() +vcpkg_cmake_config_fixup() vcpkg_copy_pdbs() # Clean -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/optimo) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/optimo) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/theia/libraries/akaze/cimg/cmake-modules) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/theia/libraries/akaze/cmake) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/theia/libraries/akaze/datasets) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/theia/libraries/spectra/doxygen) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/optimo") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/optimo") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/theia/libraries/akaze/cimg/cmake-modules") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/theia/libraries/akaze/cmake") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/theia/libraries/akaze/datasets") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/theia/libraries/spectra/doxygen") # Handle copyright -file(INSTALL ${SOURCE_PATH}/license.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) -file(COPY ${SOURCE_PATH}/data/camera_sensor_database_license.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +file(INSTALL "${SOURCE_PATH}/license.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +file(COPY "${SOURCE_PATH}/data/camera_sensor_database_license.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/theia/vcpkg.json b/ports/theia/vcpkg.json index adcfa7f40187cd..dba87ad56d4001 100644 --- a/ports/theia/vcpkg.json +++ b/ports/theia/vcpkg.json @@ -1,9 +1,11 @@ { "name": "theia", - "version-string": "0.8", - "port-version": 4, + "version": "0.8", + "port-version": 11, "description": "An open source library for multiview geometry and structure from motion", "homepage": "https://github.com/sweeneychris/TheiaSfM", + "license": "BSD-3-Clause", + "supports": "!uwp & !arm & !(windows & x86)", "dependencies": [ "cereal", { @@ -18,6 +20,19 @@ "platform": "!osx" }, "glew", - "openimageio" + { + "name": "openimageio", + "features": [ + "viewer" + ] + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/think-cell-range/portfile.cmake b/ports/think-cell-range/portfile.cmake index 2599e517dbc23a..f5e60910dfe2ae 100644 --- a/ports/think-cell-range/portfile.cmake +++ b/ports/think-cell-range/portfile.cmake @@ -1,15 +1,14 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO think-cell/range - REF 498839d41519d38bb81089f7d0f517026bd042cc - SHA512 1292ba4dd994aab2cb620c24ebd03437a47e426368ed803579dad13a3fa52762cefe42c77c9921d5c4bcbd6592775714191de63097c230e50f9b59b9498005e5 - HEAD_REF master + REPO think-cell/think-cell-library + REF "${VERSION}" + SHA512 dbb391982fc8050a020c9597fa8608abf87f351b84b7060cfadac4670fd4564f34836a8862f42647983f601a21d6d8bbda95429fc6e2788e94a343fbba09ae99 + HEAD_REF main ) -file(INSTALL ${SOURCE_PATH}/range DESTINATION ${CURRENT_PACKAGES_DIR}/include/think-cell FILES_MATCHING PATTERN "*.h") +file(INSTALL "${SOURCE_PATH}/tc/range" DESTINATION "${CURRENT_PACKAGES_DIR}/include/think-cell" FILES_MATCHING PATTERN "*.h") -file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/think-cell-range) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/think-cell-range/COPYING ${CURRENT_PACKAGES_DIR}/share/think-cell-range/copyright) -file(COPY ${SOURCE_PATH}/README.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/think-cell-range) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE_1_0.txt") +file(COPY "${SOURCE_PATH}/README.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -file(COPY ${SOURCE_PATH}/range/range.example.cpp DESTINATION ${CURRENT_PACKAGES_DIR}/share/think-cell-range) +file(COPY "${SOURCE_PATH}/range.example.cpp" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/think-cell-range/vcpkg.json b/ports/think-cell-range/vcpkg.json index 3296cf65438623..89d2d317bd470f 100644 --- a/ports/think-cell-range/vcpkg.json +++ b/ports/think-cell-range/vcpkg.json @@ -1,10 +1,21 @@ { "name": "think-cell-range", - "version-string": "498839d", - "port-version": 2, + "version": "2023.1", + "port-version": 1, "description": "think-cell's range library", - "homepage": "https://github.com/think-cell/range", + "homepage": "https://github.com/think-cell/think-cell-library", + "license": "BSL-1.0", "dependencies": [ - "boost" + "boost-filesystem", + "boost-fusion", + "boost-integer", + "boost-intrusive", + "boost-lexical-cast", + "boost-mpl", + "boost-multi-index", + "boost-predef", + "boost-preprocessor", + "boost-range", + "boost-spirit" ] } diff --git a/ports/thomasmonkman-filewatch/fix-unix-listen.patch b/ports/thomasmonkman-filewatch/fix-unix-listen.patch new file mode 100644 index 00000000000000..c0363c5d6c9d10 --- /dev/null +++ b/ports/thomasmonkman-filewatch/fix-unix-listen.patch @@ -0,0 +1,37 @@ +diff --git a/FileWatch.hpp b/FileWatch.hpp +index 4eba08b..2c0ff6d 100644 +--- a/FileWatch.hpp ++++ b/FileWatch.hpp +@@ -276,7 +276,7 @@ namespace filewatch { + + FolderInfo _directory; + +- const std::uint32_t _listen_filters = IN_MODIFY | IN_CREATE | IN_DELETE; ++ const std::uint32_t _listen_filters = IN_MODIFY | IN_CREATE | IN_DELETE | IN_MOVE; + + const static std::size_t event_size = (sizeof(struct inotify_event)); + #endif // __unix__ +@@ -604,7 +604,7 @@ namespace filewatch { + } + }(); + +- const auto watch = inotify_add_watch(folder, watch_path.c_str(), IN_MODIFY | IN_CREATE | IN_DELETE); ++ const auto watch = inotify_add_watch(folder, watch_path.c_str(), IN_MODIFY | IN_CREATE | IN_DELETE | IN_MOVE); + if (watch < 0) + { + throw std::system_error(errno, std::system_category()); +@@ -644,6 +644,14 @@ namespace filewatch { + { + parsed_information.emplace_back(StringType{ changed_file }, Event::modified); + } ++ else if (event->mask & IN_MOVED_FROM) ++ { ++ parsed_information.emplace_back(StringType{ changed_file }, Event::renamed_old); ++ } ++ else if (event->mask & IN_MOVED_TO) ++ { ++ parsed_information.emplace_back(StringType{ changed_file }, Event::renamed_new); ++ } + } + } + i += event_size + event->len; diff --git a/ports/thomasmonkman-filewatch/portfile.cmake b/ports/thomasmonkman-filewatch/portfile.cmake new file mode 100644 index 00000000000000..4b045ba41416ed --- /dev/null +++ b/ports/thomasmonkman-filewatch/portfile.cmake @@ -0,0 +1,13 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO ThomasMonkman/filewatch + REF a59891baf375b73ff28144973a6fafd3fe40aa21 + SHA512 9a110b42a499ed7047bb8a79029134943582b388db810974ad6b5f91d1ec720e45a9a3543c4a56ee97d51439f5a34222bada0fb43281dcbc2e65bdee38f836d5 + HEAD_REF master + PATCHES + fix-unix-listen.patch +) + +file(COPY "${SOURCE_PATH}/FileWatch.hpp" DESTINATION "${CURRENT_PACKAGES_DIR}/include/thomasmonkman-filewatch") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/thomasmonkman-filewatch/vcpkg.json b/ports/thomasmonkman-filewatch/vcpkg.json new file mode 100644 index 00000000000000..c078ddf806de88 --- /dev/null +++ b/ports/thomasmonkman-filewatch/vcpkg.json @@ -0,0 +1,8 @@ +{ + "name": "thomasmonkman-filewatch", + "version-date": "2023-01-16", + "port-version": 2, + "description": "File watcher in C++.", + "homepage": "https://github.com/ThomasMonkman/filewatch", + "license": "MIT" +} diff --git a/ports/thor/fix-dependency-sfml.patch b/ports/thor/fix-dependency-sfml.patch index 8b6fb09daef902..2ebe6f219c2fca 100644 --- a/ports/thor/fix-dependency-sfml.patch +++ b/ports/thor/fix-dependency-sfml.patch @@ -1,31 +1,13 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 03536be..abcff44 100644 +index 352fea9..01c1695 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -115,11 +115,10 @@ set (CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake/Modules/;${CMAKE_MODULE_PATH +@@ -111,7 +111,7 @@ endif() if(NOT THOR_SHARED_LIBS) set(SFML_STATIC_LIBRARIES TRUE) endif() --find_package(SFML 2 COMPONENTS audio graphics window system) -+find_package(SFML COMPONENTS system window graphics CONFIG REQUIRED) -+set(SFML_LIBRARIES sfml-system sfml-network sfml-graphics sfml-window) - --if(SFML_FOUND) -- include_directories(${SFML_INCLUDE_DIR}) --else() -+if(0) - set(SFML_ROOT "" CACHE PATH "SFML top-level directory") - message("\n-> SFML directory not found. Set SFML_ROOT to SFML's top-level path (containing \"include\" and \"lib\" directories).") - message("-> Make sure the SFML libraries with the same configuration (Release/Debug, Static/Dynamic) exist.\n") -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 75e118e..0f90ac8 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -72,6 +72,7 @@ else() - add_library(${THOR_LIB} STATIC ${THOR_SRC}) - set_target_properties(${THOR_LIB} PROPERTIES DEBUG_POSTFIX -s-d) - set_target_properties(${THOR_LIB} PROPERTIES RELEASE_POSTFIX -s) -+ thor_link_sfml(${THOR_LIB}) - endif() - +-find_package(SFML 2.5 COMPONENTS audio graphics window system REQUIRED) ++find_package(SFML COMPONENTS audio graphics window system CONFIG REQUIRED) + if(NOT SFML_FOUND) + set(SFML_DIR "" CACHE PATH "SFML top-level directory") diff --git a/ports/thor/portfile.cmake b/ports/thor/portfile.cmake index 8371f16139dd21..780c42dfcbf883 100644 --- a/ports/thor/portfile.cmake +++ b/ports/thor/portfile.cmake @@ -1,29 +1,31 @@ -vcpkg_from_github(ARCHIVE - OUT_SOURCE_PATH SOURCE_PATH - REPO Bromeon/Thor - REF v2.0 - SHA512 634fa5286405d9a8a837c082ace98bbb02e609521418935855b9e2fcad57003dbe35088bd771cf6a9292e55d3787f7e463d7a4cca0d0f007509de2520d9a8cf9 - HEAD_REF master - PATCHES fix-dependency-sfml.patch +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Bromeon/Thor + REF 3e320cb52606f0b44fd9d2bb272b3cb6d01d7f20 + SHA512 de5eeee0f3f7142ffa1fcb7694cf157a65e95af4ad22e3dc7eaa199b98c9fa2dc0dd0635d057c9ba8601a22a6b36ef7d4d420a09ade1c77360c3a6582534f12b + HEAD_REF master + PATCHES + fix-dependency-sfml.patch ) -file(REMOVE ${SOURCE_PATH}/cmake/Modules/FindSFML.cmake) +file(REMOVE "${SOURCE_PATH}/cmake/Modules/FindSFML.cmake") -file(REMOVE_RECURSE ${SOURCE_PATH}/extlibs) -file(COPY ${CURRENT_INSTALLED_DIR}/include/Aurora DESTINATION ${SOURCE_PATH}/extlibs/aurora/include) +file(REMOVE_RECURSE "${SOURCE_PATH}/extlibs") +file(COPY "${CURRENT_INSTALLED_DIR}/include/Aurora" DESTINATION "${SOURCE_PATH}/extlibs/aurora/include") file(WRITE "${SOURCE_PATH}/extlibs/aurora/License.txt") string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" THOR_STATIC_STD_LIBS) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" THOR_SHARED_LIBS) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - -DTHOR_SHARED_LIBS=${THOR_SHARED_LIBS} - -DTHOR_STATIC_STD_LIBS=${THOR_STATIC_STD_LIBS} +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DTHOR_SHARED_LIBS=${THOR_SHARED_LIBS} + -DTHOR_STATIC_STD_LIBS=${THOR_STATIC_STD_LIBS} + MAYBE_UNUSED_VARIABLES + THOR_STATIC_STD_LIBS # Only on Windows ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() @@ -48,10 +50,15 @@ if(LICENSE) file(REMOVE ${LICENSE}) endif() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/include/Aurora) +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/include/Aurora" + "${CURRENT_PACKAGES_DIR}/cmake" + "${CURRENT_PACKAGES_DIR}/debug/cmake" +) if(NOT VCPKG_TARGET_IS_WINDOWS) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") endif() -file(INSTALL ${SOURCE_PATH}/License.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/License.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/thor/vcpkg.json b/ports/thor/vcpkg.json index 3b1c3cfee0b324..e00041eb925199 100644 --- a/ports/thor/vcpkg.json +++ b/ports/thor/vcpkg.json @@ -1,11 +1,15 @@ { "name": "thor", - "version": "2.0", - "port-version": 4, + "version-date": "2022-04-16", "description": "Extends the multimedia library SFML with higher-level features", - "homepage": "www.bromeon.ch/libraries/thor", + "homepage": "https://bromeon.ch/libraries/thor/", + "license": "Zlib", "dependencies": [ "aurora", - "sfml" + "sfml", + { + "name": "vcpkg-cmake", + "host": true + } ] } diff --git a/ports/thorvg/portfile.cmake b/ports/thorvg/portfile.cmake new file mode 100644 index 00000000000000..2d1a5414170673 --- /dev/null +++ b/ports/thorvg/portfile.cmake @@ -0,0 +1,49 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO thorvg/thorvg + REF "v${VERSION}" + SHA512 1f92ac37d537399cc0792f36d92c6ddfd0c0c036072f1058d8805690f5eaf2f3d7b02e6b35eacf3e3db607e321ccae30defc0f69d9775cfcd55259d7a22e6820 + HEAD_REF master +) + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + list(APPEND BUILD_OPTIONS -Dstatic=true) +else() + list(APPEND BUILD_OPTIONS -Dstatic=false) +endif() + +if ("tools" IN_LIST FEATURES) + list(APPEND BUILD_OPTIONS -Dtools=all) +endif() + +vcpkg_configure_meson( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${BUILD_OPTIONS} + # see ${SOURCE_PATH}/meson_options.txt + -Dengines=['sw'] + -Dloaders=all + -Dsavers=all + -Dsimd=false # The reason for setting 'Dsimd=false' was that the creator said a false setting was necessary + -Dbindings=capi + -Dtests=false + -Dexamples=false + -Dstrip=false + -Dextra=[''] + OPTIONS_DEBUG + -Dlog=true + -Dbindir=${CURRENT_PACKAGES_DIR}/debug/bin + OPTIONS_RELEASE + -Dbindir=${CURRENT_PACKAGES_DIR}/bin +) +vcpkg_install_meson() +vcpkg_fixup_pkgconfig() + +if ("tools" IN_LIST FEATURES) + vcpkg_copy_tools(TOOL_NAMES svg2tvg svg2png lottie2gif AUTO_CLEAN) +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}/LICENSE") diff --git a/ports/thorvg/usage b/ports/thorvg/usage new file mode 100644 index 00000000000000..f6354eb337a326 --- /dev/null +++ b/ports/thorvg/usage @@ -0,0 +1,5 @@ +The package thorvg can be imported via CMake FindPkgConfig module: + + find_package(PkgConfig) + pkg_check_modules(thorvg REQUIRED IMPORTED_TARGET thorvg) + target_link_libraries(main PRIVATE PkgConfig::thorvg) diff --git a/ports/thorvg/vcpkg.json b/ports/thorvg/vcpkg.json new file mode 100644 index 00000000000000..aba570734d8042 --- /dev/null +++ b/ports/thorvg/vcpkg.json @@ -0,0 +1,19 @@ +{ + "name": "thorvg", + "version": "0.14.10", + "description": "ThorVG is a platform-independent portable library for drawing vector-based scenes and animations", + "homepage": "https://www.thorvg.org", + "license": "MIT", + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-tool-meson", + "host": true + } + ], + "features": { + "tools": { + "description": "Build tools" + } + } +} diff --git a/ports/threadpool/vcpkg.json b/ports/threadpool/vcpkg.json index 3e16feecc429f1..8bd1f91d21079b 100644 --- a/ports/threadpool/vcpkg.json +++ b/ports/threadpool/vcpkg.json @@ -1,7 +1,7 @@ { "name": "threadpool", - "version-string": "0.2.5", - "port-version": 2, + "version": "0.2.5", + "port-version": 3, "description": "threadpool is a cross-platform C++ thread pool library. It provides a convenient way for dispatching asynchronous tasks and can be easily customized. threadpool is based on the high-quality Boost source libraries.", "homepage": "http://threadpool.sourceforge.net/", "dependencies": [ diff --git a/ports/thrift/pc-suffix.patch b/ports/thrift/pc-suffix.patch new file mode 100644 index 00000000000000..8fb0dc6daf0eeb --- /dev/null +++ b/ports/thrift/pc-suffix.patch @@ -0,0 +1,44 @@ +diff --git a/lib/cpp/thrift-nb.pc.in b/lib/cpp/thrift-nb.pc.in +index 2c6a96973..e99eff2bc 100644 +--- a/lib/cpp/thrift-nb.pc.in ++++ b/lib/cpp/thrift-nb.pc.in +@@ -26,5 +26,5 @@ Name: Thrift + Description: Thrift Nonblocking API + Version: @VERSION@ + Requires: thrift = @VERSION@ +-Libs: -L${libdir} -lthriftnb ++Libs: -L${libdir} -lthriftnb@THRIFT_RUNTIME_POSTFIX@ + Cflags: -I${includedir} +diff --git a/lib/cpp/thrift-qt5.pc.in b/lib/cpp/thrift-qt5.pc.in +index a8b16663e..2720bea79 100644 +--- a/lib/cpp/thrift-qt5.pc.in ++++ b/lib/cpp/thrift-qt5.pc.in +@@ -26,5 +26,5 @@ Name: Thrift + Description: Thrift Qt5 API + Version: @VERSION@ + Requires: thrift = @VERSION@ +-Libs: -L${libdir} -lthriftqt5 ++Libs: -L${libdir} -lthriftqt5@THRIFT_RUNTIME_POSTFIX@ + Cflags: -I${includedir} +diff --git a/lib/cpp/thrift-z.pc.in b/lib/cpp/thrift-z.pc.in +index 467d2e11c..cde44158a 100644 +--- a/lib/cpp/thrift-z.pc.in ++++ b/lib/cpp/thrift-z.pc.in +@@ -26,5 +26,5 @@ Name: Thrift + Description: Thrift Zlib API + Version: @VERSION@ + Requires: thrift = @VERSION@ +-Libs: -L${libdir} -lthriftz ++Libs: -L${libdir} -lthriftz@THRIFT_RUNTIME_POSTFIX@ + Cflags: -I${includedir} +diff --git a/lib/cpp/thrift.pc.in b/lib/cpp/thrift.pc.in +index d11e6db29..77da61c3e 100644 +--- a/lib/cpp/thrift.pc.in ++++ b/lib/cpp/thrift.pc.in +@@ -25,5 +25,5 @@ includedir=@includedir@ + Name: Thrift + Description: Thrift C++ API + Version: @VERSION@ +-Libs: -L${libdir} -lthrift ++Libs: -L${libdir} -lthrift@THRIFT_RUNTIME_POSTFIX@ + Cflags: -I${includedir} diff --git a/ports/thrift/portfile.cmake b/ports/thrift/portfile.cmake index f2b42b5301e15f..71d21478d0eb47 100644 --- a/ports/thrift/portfile.cmake +++ b/ports/thrift/portfile.cmake @@ -2,7 +2,9 @@ # - Thrift doesn't yet support building as a DLL on Windows, # - x64-linux only builds static anyway. # From https://github.com/apache/thrift/blob/master/CHANGES.md -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() vcpkg_find_acquire_program(FLEX) vcpkg_find_acquire_program(BISON) @@ -10,11 +12,12 @@ vcpkg_find_acquire_program(BISON) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO apache/thrift - REF cecee50308fc7e6f77f55b3fd906c1c6c471fa2f #0.13.0 - SHA512 4097fd7951a4d47f2fadc520a54fd1b91b10769d65e899c6bab490dd7ac459e12bb2aa335df8fdfc61a32095033bfac928a54660abb1ee54ca14a144216c3339 + REF "v${VERSION}" + SHA512 5e4ee9870b30fe5ba484d39781c435716f7f3903793dc8aae96594ca813b1a5a73363b84719038ca8fa3ab8ef0a419a28410d936ff7b3bbadf36fc085a6883ae HEAD_REF master PATCHES "correct-paths.patch" + "pc-suffix.patch" ) if (VCPKG_TARGET_IS_OSX) @@ -22,53 +25,69 @@ if (VCPKG_TARGET_IS_OSX) please use command \`brew install bison\` to install bison") endif() +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" shared_lib) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" static_lib) + # note we specify values for WITH_STATIC_LIB and WITH_SHARED_LIB because even though # they're marked as deprecated, Thrift incorrectly hard-codes a value for BUILD_SHARED_LIBS. -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" NO_CHARSET_FLAG OPTIONS - -DWITH_SHARED_LIB=off - -DWITH_STATIC_LIB=on - -DWITH_STDTHREADS=ON - -DBUILD_TESTING=off - -DBUILD_JAVA=off - -DBUILD_C_GLIB=off - -DBUILD_PYTHON=off - -DBUILD_CPP=on - -DBUILD_HASKELL=off - -DBUILD_TUTORIALS=off + --trace-expand + -DLIB_INSTALL_DIR:PATH=lib + -DWITH_SHARED_LIB=${shared_lib} + -DWITH_STATIC_LIB=${static_lib} + -DBUILD_TESTING=OFF + -DBUILD_JAVA=OFF + -DWITH_C_GLIB=OFF + -DBUILD_C_GLIB=OFF + -DCMAKE_DISABLE_FIND_PACKAGE_GLIB=TRUE + -DBUILD_PYTHON=OFF + -DBUILD_CPP=ON + -DWITH_CPP=ON + -DWITH_ZLIB=ON + -DCMAKE_REQUIRE_FIND_PACKAGE_ZLIB=TRUE + -DWITH_LIBEVENT=ON + -DCMAKE_REQUIRE_FIND_PACKAGE_Libevent=TRUE + -DWITH_OPENSSL=ON + -DCMAKE_REQUIRE_FIND_PACKAGE_OpenSSL=TRUE + -DBUILD_TUTORIALS=OFF -DFLEX_EXECUTABLE=${FLEX} + -DWITH_QT5=OFF -DCMAKE_DISABLE_FIND_PACKAGE_Qt5=TRUE + -DCMAKE_DISABLE_FIND_PACKAGE_Gradle=TRUE + -DCMAKE_DISABLE_FIND_PACKAGE_Java=TRUE + -DBUILD_JAVASCRIPT=OFF + -DBUILD_NODEJS=OFF -DBISON_EXECUTABLE=${BISON} + MAYBE_UNUSED_VARIABLES + CMAKE_DISABLE_FIND_PACKAGE_GLIB + CMAKE_DISABLE_FIND_PACKAGE_Gradle + CMAKE_REQUIRE_FIND_PACKAGE_Libevent + CMAKE_REQUIRE_FIND_PACKAGE_OpenSSL + CMAKE_REQUIRE_FIND_PACKAGE_ZLIB + ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() # Move CMake config files to the right place -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/thrift) +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${PORT}") +vcpkg_fixup_pkgconfig() file(GLOB COMPILER "${CURRENT_PACKAGES_DIR}/bin/thrift" "${CURRENT_PACKAGES_DIR}/bin/thrift.exe") if(COMPILER) - file(COPY ${COMPILER} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/thrift) - file(REMOVE ${COMPILER}) - vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/thrift) + vcpkg_copy_tools(TOOL_NAMES thrift AUTO_CLEAN) endif() -file(GLOB COMPILERD "${CURRENT_PACKAGES_DIR}/debug/bin/thrift" "${CURRENT_PACKAGES_DIR}/debug/bin/thrift.exe") -if(COMPILERD) - file(REMOVE ${COMPILERD}) -endif() - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +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}/debug/bin) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin") endif() -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/thrift/vcpkg.json b/ports/thrift/vcpkg.json index df0a2a109e8f82..9ff49ec9cfd6dd 100644 --- a/ports/thrift/vcpkg.json +++ b/ports/thrift/vcpkg.json @@ -1,9 +1,10 @@ { "name": "thrift", - "version-string": "0.13.0", - "port-version": 2, + "version": "0.20.0", + "port-version": 1, "description": "Apache Thrift is a software project spanning a variety of programming languages and use cases. Our goal is to make reliable, performant communication and data serialization across languages as efficient and seamless as possible.", "homepage": "https://github.com/apache/thrift", + "license": "Apache-2.0", "dependencies": [ "boost-date-time", "boost-locale", @@ -12,6 +13,14 @@ "boost-smart-ptr", "libevent", "openssl", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, "zlib" ] } diff --git a/ports/tidy-html5/cmake_find_package_support.patch b/ports/tidy-html5/cmake_find_package_support.patch new file mode 100644 index 00000000000000..9c03d5e3e3adf6 --- /dev/null +++ b/ports/tidy-html5/cmake_find_package_support.patch @@ -0,0 +1,43 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 8efec25..3fedb02 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -407,10 +407,12 @@ else () + OUTPUT_NAME ${LIB_NAME} ) + + endif () ++set_target_properties(${name} PROPERTIES EXPORT_NAME tidy) ++target_include_directories( ${name} PUBLIC $) + if (NOT TIDY_CONSOLE_SHARED) # user wants default static linkage + list ( APPEND add_LIBS ${name} ) + endif () +-install(TARGETS ${name} ++install(TARGETS ${name} EXPORT unofficial-tidy-html5Config + RUNTIME DESTINATION ${BIN_INSTALL_DIR} + ARCHIVE DESTINATION ${LIB_INSTALL_DIR} + LIBRARY DESTINATION ${LIB_INSTALL_DIR} +@@ -440,7 +442,9 @@ if (BUILD_SHARED_LIB) + NO_SONAME ${NO_SONAME} ) + set_target_properties( ${name} PROPERTIES + COMPILE_FLAGS "-DBUILD_SHARED_LIB -DBUILDING_SHARED_LIB") +- install(TARGETS ${name} ++ set_target_properties(${name} PROPERTIES EXPORT_NAME tidy) ++ target_include_directories( ${name} PUBLIC $) ++ install(TARGETS ${name} EXPORT unofficial-tidy-html5Config + RUNTIME DESTINATION ${BIN_INSTALL_DIR} + ARCHIVE DESTINATION ${LIB_INSTALL_DIR} + LIBRARY DESTINATION ${LIB_INSTALL_DIR} +@@ -450,6 +454,13 @@ if (BUILD_SHARED_LIB) + endif () + endif () + ++#------------------------------------------------------------------------ ++# CMake FIND_PACKAGE() Support ++#------------------------------------------------------------------------ ++install(EXPORT unofficial-tidy-html5Config ++ DESTINATION ${LIB_INSTALL_DIR}/cmake/unofficial-tidy-html5 ++ NAMESPACE unofficial::tidy-html5::) ++ + + #------------------------------------------------------------------------ + # Main Executable diff --git a/ports/tidy-html5/debug-postfix.patch b/ports/tidy-html5/debug-postfix.patch new file mode 100644 index 00000000000000..2c882f09aa46fc --- /dev/null +++ b/ports/tidy-html5/debug-postfix.patch @@ -0,0 +1,25 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 979ae25..4eb88a1 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -210,7 +210,9 @@ if(WIN32 AND MSVC) + set( MSVC_FLAGS "-DNOMINMAX -D_USE_MATH_DEFINES -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS -D__CRT_NONSTDC_NO_WARNINGS" ) + + # to distinguish between debug and release lib in windows ++ if("${CMAKE_BUILD_TYPE}" STREQUAL "Debug") + set( CMAKE_DEBUG_POSTFIX "d" ) # little effect in unix ++ endif() + else() + # add any gcc flags + endif() +diff --git a/tidy.pc.cmake.in b/tidy.pc.cmake.in +index 7d819f1..cbdd299 100644 +--- a/tidy.pc.cmake.in ++++ b/tidy.pc.cmake.in +@@ -7,5 +7,5 @@ Name: @LIB_NAME@ + Description: @LIBTIDY_DESCRIPTION@ + URL: @LIBTIDY_URL@ + Version: @LIBTIDY_VERSION@ +-Libs: -L${libdir} -l@LIB_NAME@ ++Libs: -L${libdir} -l@LIB_NAME@@CMAKE_DEBUG_POSTFIX@ + Cflags: -I${includedir} diff --git a/ports/tidy-html5/disable-doc.patch b/ports/tidy-html5/disable-doc.patch new file mode 100644 index 00000000000000..105c766853075c --- /dev/null +++ b/ports/tidy-html5/disable-doc.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 8efec25..d2edac2 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -508,7 +508,7 @@ endif () + # Create man pages + ################################################# + +-if (UNIX AND SUPPORT_CONSOLE_APP) ++if (0) + find_program( XSLTPROC_FOUND xsltproc ) + if (XSLTPROC_FOUND) + ## NOTE: man name must match exe ie currently `${LIB_NAME}.1` not `tidy.1` diff --git a/ports/tidy-html5/fix_unsupport_func_uwp.patch b/ports/tidy-html5/fix_unsupport_func_uwp.patch new file mode 100644 index 00000000000000..7da38b6f7dd352 --- /dev/null +++ b/ports/tidy-html5/fix_unsupport_func_uwp.patch @@ -0,0 +1,13 @@ +diff --git a/src/sprtf.c b/src/sprtf.c +index 3468ac1..1630405 100644 +--- a/src/sprtf.c ++++ b/src/sprtf.c +@@ -387,7 +387,7 @@ static void wprt( PTSTR ps ) + { + static char _s_woibuf[1024]; + char * cp = _s_woibuf; +- int len = (int)lstrlen(ps); ++ int len = (int)wcslen(ps); + if(len) { + int ret = WideCharToMultiByte( CP_ACP, /* UINT CodePage, // code page */ + 0, /* DWORD dwFlags, // performance and mapping flags */ diff --git a/ports/tidy-html5/portfile.cmake b/ports/tidy-html5/portfile.cmake index 159ed86aaa7a16..c6b9486bb25db2 100644 --- a/ports/tidy-html5/portfile.cmake +++ b/ports/tidy-html5/portfile.cmake @@ -1,42 +1,34 @@ -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO htacg/tidy-html5 - REF d1b906991a7587688d384b648c55731f9be52506 - SHA512 ac1229f95db9ab6367d7650e27b87e76a0874e01c9d404e8c5fb75ba2761318218b658a4f7522188fda8008974393a333a8a5fbed8e3a472c98445f13e459ad5 + REF 5.8.0 + SHA512 f352165bdda5d1fca7bba3365560b64d6f70a4e010821cd246cde43bed5c23cea3408d461d3f889110fd35ec9b68aa2b4e95412b07775eb852b7ee1745007a44 HEAD_REF master + PATCHES + disable-doc.patch + static-vs-shared.patch + debug-postfix.patch + fix_unsupport_func_uwp.patch + cmake_find_package_support.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED_LIB) +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" NO_CHARSET_FLAG OPTIONS - -DBUILD_SHARED_LIB=OFF - -DTIDY_CONSOLE_SHARED=OFF + -DBUILD_SHARED_LIB=${BUILD_SHARED_LIB} + -DTIDY_CONSOLE_SHARED=${BUILD_SHARED_LIB} ) +vcpkg_cmake_install() +vcpkg_fixup_pkgconfig() +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-tidy-html5 CONFIG_PATH lib/cmake/unofficial-tidy-html5) -vcpkg_install_cmake() - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/tidyd.exe) -file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/tidyd) -file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/tidy-html5) - -if(VCPKG_TARGET_IS_WINDOWS) - file(RENAME ${CURRENT_PACKAGES_DIR}/bin/tidy.exe ${CURRENT_PACKAGES_DIR}/tools/tidy-html5/tidy.exe) -else() - file(RENAME ${CURRENT_PACKAGES_DIR}/bin/tidy ${CURRENT_PACKAGES_DIR}/tools/tidy-html5/tidy) -endif() - -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) -endif() - -vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT}) +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/bin/tidyd${VCPKG_TARGET_EXECUTABLE_SUFFIX}" +) -file(INSTALL ${SOURCE_PATH}/README/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/tidy-html5 RENAME copyright) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +vcpkg_copy_tools(TOOL_NAMES tidy AUTO_CLEAN) -vcpkg_fixup_pkgconfig() +file(INSTALL "${SOURCE_PATH}/README/LICENSE.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/tidy-html5/static-vs-shared.patch b/ports/tidy-html5/static-vs-shared.patch new file mode 100644 index 00000000000000..92b6c8e92133d4 --- /dev/null +++ b/ports/tidy-html5/static-vs-shared.patch @@ -0,0 +1,34 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d2edac2..979ae25 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -395,11 +395,11 @@ endif () + + #------------------------------------------------------------------------ + # Static Library +-# The static library always builds. ++if(NOT BUILD_SHARED_LIB) + #------------------------------------------------------------------------ + set(name tidy-static) + add_library ( ${name} STATIC ${CFILES} ${HFILES} ${LIBHFILES} ) +-if (WIN32) ++if (0) + set_target_properties( ${name} PROPERTIES + OUTPUT_NAME ${LIB_NAME}_static ) + else () +@@ -415,12 +415,14 @@ install(TARGETS ${name} + ARCHIVE DESTINATION ${LIB_INSTALL_DIR} + LIBRARY DESTINATION ${LIB_INSTALL_DIR} + ) +-install( FILES ${HFILES} DESTINATION ${INCLUDE_INSTALL_DIR} ) + if(MSVC) + # install(FILES $ DESTINATION lib OPTIONAL) + INSTALL(FILES ${PROJECT_BINARY_DIR}/${name}.dir/Debug/${name}.pdb ++ OPTIONAL + DESTINATION lib CONFIGURATIONS Debug ) + endif() ++endif() ++install( FILES ${HFILES} DESTINATION ${INCLUDE_INSTALL_DIR} ) + + #------------------------------------------------------------------------ + # Dynamic Library diff --git a/ports/tidy-html5/vcpkg.json b/ports/tidy-html5/vcpkg.json index 7071cab8fae270..9d9eefd02fce4a 100644 --- a/ports/tidy-html5/vcpkg.json +++ b/ports/tidy-html5/vcpkg.json @@ -1,7 +1,18 @@ { "name": "tidy-html5", - "version-string": "5.7.28", - "port-version": 4, + "version": "5.8.0", + "port-version": 2, "description": "Tidy tidies HTML and XML. It can tidy your documents by itself, and developers can easily integrate its features into even more powerful tools.", - "homepage": "https://github.com/htacg/tidy-html5" + "homepage": "https://www.html-tidy.org", + "license": null, + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/tiff/FindCMath.patch b/ports/tiff/FindCMath.patch index 9158f6fcf816b9..02eefde107d398 100644 --- a/ports/tiff/FindCMath.patch +++ b/ports/tiff/FindCMath.patch @@ -1,13 +1,33 @@ diff --git a/cmake/FindCMath.cmake b/cmake/FindCMath.cmake -index 2da3b7f..e6d5145 100644 +index ad92218..9c8247f 100644 --- a/cmake/FindCMath.cmake +++ b/cmake/FindCMath.cmake -@@ -32,7 +32,7 @@ include(CheckLibraryExists) +@@ -31,6 +31,15 @@ include(CheckSymbolExists) + include(CheckLibraryExists) check_symbol_exists(pow "math.h" CMath_HAVE_LIBC_POW) ++set(CMAKE_FIND_LIBRARY_SUFFIXES_SAVE "${CMAKE_FIND_LIBRARY_SUFFIXES}") ++if(VCPKG_CRT_LINKAGE STREQUAL "static") ++ list(PREPEND CMAKE_FIND_LIBRARY_SUFFIXES "${CMAKE_STATIC_LIBRARY_SUFFIX}") ++endif() ++find_library(CMath_LIBRARY_PATH m PATHS ${CMAKE_C_IMPLICIT_LINK_DIRECTORIES}) ++if(CMath_LIBRARY_PATH) ++ set(CMath_LIBRARY m CACHE STRING "Math link library") ++endif() ++set(CMAKE_FIND_LIBRARY_SUFFIXES "${CMAKE_FIND_LIBRARY_SUFFIXES_SAVE}") + find_library(CMath_LIBRARY NAMES m) + if(NOT CMath_HAVE_LIBC_POW) -- find_library(CMath_LIBRARY NAMES m) -+ find_library(CMath_LIBRARY NAMES m PATHS ${CMAKE_C_IMPLICIT_LINK_DIRECTORIES}) +@@ -61,7 +70,11 @@ if(CMath_FOUND) + endif() - set(CMAKE_REQUIRED_LIBRARIES_SAVE ${CMAKE_REQUIRED_LIBRARIES}) - set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${CMath_LIBRARY}) + if(NOT TARGET CMath::CMath) +- if(CMath_LIBRARIES) ++ if(CMath_LIBRARIES STREQUAL "m") ++ add_library(CMath::CMath INTERFACE IMPORTED) ++ set_target_properties(CMath::CMath PROPERTIES ++ INTERFACE_LINK_LIBRARIES m) ++ elseif(CMath_LIBRARIES) + add_library(CMath::CMath UNKNOWN IMPORTED) + set_target_properties(CMath::CMath PROPERTIES + IMPORTED_LOCATION "${CMath_LIBRARY}") diff --git a/ports/tiff/cmakelists.patch b/ports/tiff/cmakelists.patch deleted file mode 100644 index 67c953714ae6f2..00000000000000 --- a/ports/tiff/cmakelists.patch +++ /dev/null @@ -1,59 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index dddbaf6..ee57b7b 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -133,16 +133,28 @@ find_package(CMath REQUIRED) - # Release support - include(Release) - -+if(MSVC) -+ add_definitions(-D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS) -+ add_compile_options(/wd4996) -+endif() - - # Process subdirectories - add_subdirectory(port) - add_subdirectory(libtiff) -+if(BUILD_TOOLS) - add_subdirectory(tools) -+endif() -+if(BUILD_TESTS) - add_subdirectory(test) -+endif() -+if(BUILD_CONTRIB) - add_subdirectory(contrib) - add_subdirectory(build) -+endif() -+if(BUILD_DOCS) - add_subdirectory(man) - add_subdirectory(html) -+endif() - - - message(STATUS "") -diff --git a/libtiff/CMakeLists.txt b/libtiff/CMakeLists.txt -index 90105b2..db5f140 100755 ---- a/libtiff/CMakeLists.txt -+++ b/libtiff/CMakeLists.txt -@@ -161,7 +161,7 @@ if(CXX_SUPPORT) - set(tiffxx_HEADERS - tiffio.hxx) - -- add_library(tiffxx) -+ add_library(tiffxx STATIC) - target_sources(tiffxx PRIVATE - ${tiffxx_HEADERS} - tif_stream.cxx) -@@ -189,6 +189,7 @@ if(CXX_SUPPORT) - - endif() - -+if(NOT CMAKE_CROSSCOMPILING) - add_executable(mkg3states) - target_sources(mkg3states PRIVATE mkg3states.c tif_fax3.h) - target_link_libraries(mkg3states tiff port) -@@ -198,3 +199,4 @@ add_custom_target(faxtable - COMMAND ${CMAKE_COMMAND} -E rm "tif_fax3sm.c" - COMMAND mkg3states -b -c const "tif_fax3sm.c" - WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}") -+endif() diff --git a/ports/tiff/fix-pkgconfig.patch b/ports/tiff/fix-pkgconfig.patch deleted file mode 100644 index a67910ef5709f5..00000000000000 --- a/ports/tiff/fix-pkgconfig.patch +++ /dev/null @@ -1,84 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 2188f97..93e6a34 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -124,8 +124,6 @@ include(WindowsSupport) - # Orthogonal features - include(LibraryFeatures) - --# pkg-config support --include(PkgConfig) - - # math.h/libm portability - find_package(CMath REQUIRED) -@@ -156,6 +154,8 @@ add_subdirectory(man) - add_subdirectory(html) - endif() - -+# pkg-config support -+include(PkgConfig) - - message(STATUS "") - message(STATUS "Libtiff is now configured for ${CMAKE_SYSTEM}") -diff --git a/libtiff-4.pc.in b/libtiff-4.pc.in -index abe75a6..8899725 100644 ---- a/libtiff-4.pc.in -+++ b/libtiff-4.pc.in -@@ -5,7 +5,8 @@ includedir=@includedir@ - - Name: libtiff - Description: Tag Image File Format (TIFF) library. --Version: @VERSION@ -+Version: @LIBTIFF_VERSION_FULL@ - Libs: -L${libdir} -ltiff - Libs.private: @tiff_libs_private@ - Cflags: -I${includedir} -+Requires.private: @tiff_requires_private@ -diff --git a/libtiff/CMakeLists.txt b/libtiff/CMakeLists.txt -index db5f140..6db71ee 100755 ---- a/libtiff/CMakeLists.txt -+++ b/libtiff/CMakeLists.txt -@@ -106,14 +106,19 @@ target_include_directories(tiff - ${TIFF_INCLUDES} - ) - -+set(tiff_libs_private "") -+set(tiff_requires_private "") -+ - if(ZIP_SUPPORT) - target_link_libraries(tiff PRIVATE ZLIB::ZLIB) -+ string(APPEND tiff_requires_private " zlib") - endif() - if(ZIP_SUPPORT AND LIBDEFLATE_SUPPORT) - target_link_libraries(tiff PRIVATE Deflate::Deflate) - endif() - if(JPEG_SUPPORT) - target_link_libraries(tiff PRIVATE JPEG::JPEG) -+ string(APPEND tiff_requires_private " libjpeg") - if(JPEG_DUAL_MODE_8_12) - target_include_directories(tiff PRIVATE ${JPEG12_INCLUDE_DIR}) - target_link_libraries(tiff PRIVATE ${JPEG12_LIBRARIES}) -@@ -127,14 +132,23 @@ if(LERC_SUPPORT) - endif() - if(LZMA_SUPPORT) - target_link_libraries(tiff PRIVATE LibLZMA::LibLZMA) -+ string(APPEND tiff_requires_private " liblzma") - endif() - if(ZSTD_SUPPORT) - target_link_libraries(tiff PRIVATE ZSTD::ZSTD) -+ string(APPEND tiff_requires_private " libzstd") - endif() - if(WEBP_SUPPORT) - target_link_libraries(tiff PRIVATE WebP::WebP) -+ string(APPEND tiff_requires_private " libwebp") - endif() - target_link_libraries(tiff PRIVATE CMath::CMath) -+if(CMath_LIBRARY) -+ string(APPEND tiff_libs_private " -lm") -+endif() -+ -+set(tiff_libs_private "${tiff_libs_private}" PARENT_SCOPE) -+set(tiff_requires_private "${tiff_requires_private}" PARENT_SCOPE) - - set_target_properties(tiff PROPERTIES SOVERSION ${SO_COMPATVERSION}) - if(NOT CYGWIN) diff --git a/ports/tiff/portfile.cmake b/ports/tiff/portfile.cmake index 57b7543b30367b..ea7eae901ae9c9 100644 --- a/ports/tiff/portfile.cmake +++ b/ports/tiff/portfile.cmake @@ -1,63 +1,63 @@ -set(LIBTIFF_VERSION 4.3.0) - -vcpkg_download_distfile(ARCHIVE - URLS "https://download.osgeo.org/libtiff/tiff-${LIBTIFF_VERSION}.tar.gz" - FILENAME "tiff-${LIBTIFF_VERSION}.tar.gz" - SHA512 e04a4a6c542e58a174c1e9516af3908acf1d3d3e1096648c5514f4963f73e7af27387a76b0fbabe43cf867a18874088f963796a7cd6e45deb998692e3e235493 -) - -vcpkg_extract_source_archive_ex( +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.com OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE "${ARCHIVE}" - REF ${LIBTIFF_VERSION} + REPO libtiff/libtiff + REF "v${VERSION}" + SHA512 924bcd0fe19c03f65ffc068719371ab582057bf95c3847efd3bd03eaff1eb409ec3f22c9d373fafd9f993dd031a161850f0db082cb7068195c7c5c564fa222fc + HEAD_REF master PATCHES - cmakelists.patch - fix-pkgconfig.patch FindCMath.patch + prefer-config.diff ) -set(EXTRA_OPTIONS "") -if(VCPKG_TARGET_IS_UWP) - list(APPEND EXTRA_OPTIONS "-DUSE_WIN32_FILEIO=OFF") # On UWP we use the unix I/O api. -endif() - -if("cxx" IN_LIST FEATURES) - vcpkg_fail_port_install( - MESSAGE "Feature 'cxx' is not supported on ${VCPKG_TARGET_ARCHITECTURE}." - ON_ARCH arm arm64 - ) -endif() - vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES cxx cxx jpeg jpeg + jpeg CMAKE_REQUIRE_FIND_PACKAGE_JPEG + libdeflate libdeflate + libdeflate CMAKE_REQUIRE_FIND_PACKAGE_Deflate + lerc lerc + lerc CMAKE_REQUIRE_FIND_PACKAGE_LERC lzma lzma - tools BUILD_TOOLS + lzma CMAKE_REQUIRE_FIND_PACKAGE_liblzma + tools tiff-tools webp webp + webp CMAKE_REQUIRE_FIND_PACKAGE_WebP zip zlib + zip CMAKE_REQUIRE_FIND_PACKAGE_ZLIB zstd zstd + zstd CMAKE_REQUIRE_FIND_PACKAGE_ZSTD ) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${FEATURE_OPTIONS} - ${EXTRA_OPTIONS} - -DBUILD_DOCS=OFF - -DBUILD_CONTRIB=OFF - -DBUILD_TESTS=OFF - -DCMAKE_DEBUG_POSTFIX=d # tiff sets "d" for MSVC only. - -Dlibdeflate=OFF + -Dtiff-docs=OFF + -Dtiff-contrib=OFF + -Dtiff-tests=OFF -Djbig=OFF # This is disabled by default due to GPL/Proprietary licensing. -Djpeg12=OFF - -Dlerc=OFF -DCMAKE_DISABLE_FIND_PACKAGE_OpenGL=ON -DCMAKE_DISABLE_FIND_PACKAGE_GLUT=ON + -DZSTD_HAVE_DECOMPRESS_STREAM=ON + -DHAVE_JPEGTURBO_DUAL_MODE_8_12=OFF + OPTIONS_DEBUG + -DCMAKE_DEBUG_POSTFIX=d # tiff sets "d" for MSVC only. + MAYBE_UNUSED_VARIABLES + CMAKE_DISABLE_FIND_PACKAGE_GLUT + CMAKE_DISABLE_FIND_PACKAGE_OpenGL + ZSTD_HAVE_DECOMPRESS_STREAM ) vcpkg_cmake_install() +# CMake config wasn't packaged in the past and is not yet usable now, +# cf. https://gitlab.com/libtiff/libtiff/-/merge_requests/496 +# vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/tiff") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/cmake" "${CURRENT_PACKAGES_DIR}/debug/lib/cmake") + set(_file "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libtiff-4.pc") if(EXISTS "${_file}") vcpkg_replace_string("${_file}" "-ltiff" "-ltiffd") @@ -67,14 +67,12 @@ vcpkg_fixup_pkgconfig() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share" - "${CURRENT_PACKAGES_DIR}/share" ) configure_file("${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake.in" "${CURRENT_PACKAGES_DIR}/share/${PORT}/vcpkg-cmake-wrapper.cmake" @ONLY) -file(INSTALL "${SOURCE_PATH}/COPYRIGHT" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) if ("tools" IN_LIST FEATURES) - set(_tools + vcpkg_copy_tools(TOOL_NAMES fax2ps fax2tiff pal2rgb @@ -93,10 +91,10 @@ if ("tools" IN_LIST FEATURES) tiffmedian tiffset tiffsplit + AUTO_CLEAN ) - vcpkg_copy_tools(TOOL_NAMES ${_tools} AUTO_CLEAN) -elseif(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") endif() vcpkg_copy_pdbs() +file(COPY "${CURRENT_PORT_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.md") diff --git a/ports/tiff/prefer-config.diff b/ports/tiff/prefer-config.diff new file mode 100644 index 00000000000000..340968d7e1ea35 --- /dev/null +++ b/ports/tiff/prefer-config.diff @@ -0,0 +1,55 @@ +diff --git a/cmake/LERCCodec.cmake b/cmake/LERCCodec.cmake +index 54504ca..3e04997 100644 +--- a/cmake/LERCCodec.cmake ++++ b/cmake/LERCCodec.cmake +@@ -25,7 +25,10 @@ + + # libLerc + set(LERC_SUPPORT FALSE) +-find_package(LERC) ++find_package(LERC NAMES unofficial-lerc) ++if(TARGET unofficial::Lerc::Lerc) ++ add_library(LERC::LERC ALIAS unofficial::Lerc::Lerc) ++endif() + option(lerc "use libLerc (required for LERC compression)" ${LERC_FOUND}) + if (lerc AND LERC_FOUND AND ZIP_SUPPORT) + set(LERC_SUPPORT TRUE) +diff --git a/cmake/WebPCodec.cmake b/cmake/WebPCodec.cmake +index 1d676a7..7776917 100644 +--- a/cmake/WebPCodec.cmake ++++ b/cmake/WebPCodec.cmake +@@ -26,7 +26,7 @@ + # libwebp + set(WEBP_SUPPORT FALSE) + +-find_package(WebP) ++find_package(WebP CONFIG) + + option(webp "use libwebp (required for WEBP compression)" ${WebP_FOUND}) + +diff --git a/cmake/ZSTDCodec.cmake b/cmake/ZSTDCodec.cmake +index 3fac861..2957aa3 100644 +--- a/cmake/ZSTDCodec.cmake ++++ b/cmake/ZSTDCodec.cmake +@@ -28,7 +28,7 @@ + set(ZSTD_SUPPORT FALSE) + set(ZSTD_USABLE FALSE) + +-find_package(ZSTD) ++find_package(ZSTD NAMES zstd) + + if(ZSTD_FOUND) + if(TARGET zstd::libzstd_shared) +diff --git a/libtiff/CMakeLists.txt b/libtiff/CMakeLists.txt +index a8aa0c3..d5b9b25 100755 +--- a/libtiff/CMakeLists.txt ++++ b/libtiff/CMakeLists.txt +@@ -163,7 +163,7 @@ if(JBIG_SUPPORT) + endif() + if(LERC_SUPPORT) + target_link_libraries(tiff PRIVATE LERC::LERC) +- if(LERC_VERSION_STRING VERSION_GREATER_EQUAL "4.0") ++ if(1) + if(NOT BUILD_SHARED_LIBS) + set_target_properties(tiff PROPERTIES COMPILE_DEFINITIONS LERC_STATIC) + endif() diff --git a/ports/tiff/usage b/ports/tiff/usage new file mode 100644 index 00000000000000..d47265b18f71df --- /dev/null +++ b/ports/tiff/usage @@ -0,0 +1,9 @@ +tiff is compatible with built-in CMake targets: + + find_package(TIFF REQUIRED) + target_link_libraries(main PRIVATE TIFF::TIFF) + +tiff provides pkg-config modules: + + # Tag Image File Format (TIFF) library. + libtiff-4 diff --git a/ports/tiff/vcpkg-cmake-wrapper.cmake.in b/ports/tiff/vcpkg-cmake-wrapper.cmake.in index b722944ea1dc9f..c80e75adfe557a 100644 --- a/ports/tiff/vcpkg-cmake-wrapper.cmake.in +++ b/ports/tiff/vcpkg-cmake-wrapper.cmake.in @@ -12,36 +12,99 @@ endif() _find_package(${ARGS}) if(TIFF_FOUND AND "@VCPKG_LIBRARY_LINKAGE@" STREQUAL "static") + include(SelectLibraryConfigurations) set(z_vcpkg_tiff_link_libraries "") set(z_vcpkg_tiff_libraries "") - if(@webp@) + if("@webp@") find_package(WebP CONFIG ${z_vcpkg_tiff_find_options}) - list(APPEND z_vcpkg_tiff_link_libraries WebP::WebP) - list(APPEND z_vcpkg_tiff_libraries ${WEBP_LIBRARIES}) + list(APPEND z_vcpkg_tiff_link_libraries "\$") + list(APPEND z_vcpkg_tiff_libraries ${WebP_LIBRARIES}) endif() - if(@lzma@) - find_package(LibLZMA CONFIG ${z_vcpkg_tiff_find_options}) - list(APPEND z_vcpkg_tiff_link_libraries LibLZMA::LibLZMA) - list(APPEND z_vcpkg_tiff_libraries ${LZMA_LIBRARIES}) + if("@lzma@") + find_package(LibLZMA ${z_vcpkg_tiff_find_options}) + list(APPEND z_vcpkg_tiff_link_libraries "\$") + list(APPEND z_vcpkg_tiff_libraries ${LIBLZMA_LIBRARIES}) endif() - if(@jpeg@) + if("@jpeg@") find_package(JPEG ${z_vcpkg_tiff_find_options}) - list(APPEND z_vcpkg_tiff_link_libraries JPEG::JPEG) + list(APPEND z_vcpkg_tiff_link_libraries "\$") list(APPEND z_vcpkg_tiff_libraries ${JPEG_LIBRARIES}) endif() - if(@zstd@) - find_package(ZSTD CONFIG ${z_vcpkg_tiff_find_options}) + if("@zstd@") + find_package(zstd CONFIG ${z_vcpkg_tiff_find_options}) + set(z_vcpkg_tiff_zstd_target_property "IMPORTED_LOCATION_") if(TARGET zstd::libzstd_shared) - set(z_vcpkg_tiff_zstd zstd::libzstd_shared) + set(z_vcpkg_tiff_zstd "\$") + set(z_vcpkg_tiff_zstd_target zstd::libzstd_shared) + if(WIN32) + set(z_vcpkg_tiff_zstd_target_property "IMPORTED_IMPLIB_") + endif() else() - set(z_vcpkg_tiff_zstd zstd::libzstd_static) + set(z_vcpkg_tiff_zstd "\$") + set(z_vcpkg_tiff_zstd_target zstd::libzstd_static) + endif() + get_target_property(z_vcpkg_tiff_zstd_configs "${z_vcpkg_tiff_zstd_target}" IMPORTED_CONFIGURATIONS) + foreach(z_vcpkg_config IN LISTS z_vcpkg_tiff_zstd_configs) + get_target_property(ZSTD_LIBRARY_${z_vcpkg_config} "${z_vcpkg_tiff_zstd_target}" "${z_vcpkg_tiff_zstd_target_property}${z_vcpkg_config}") + endforeach() + select_library_configurations(ZSTD) + if(NOT TARGET ZSTD::ZSTD) + add_library(ZSTD::ZSTD INTERFACE IMPORTED) + set_property(TARGET ZSTD::ZSTD APPEND PROPERTY INTERFACE_LINK_LIBRARIES ${z_vcpkg_tiff_zstd}) endif() list(APPEND z_vcpkg_tiff_link_libraries ${z_vcpkg_tiff_zstd}) - list(APPEND z_vcpkg_tiff_libraries ${z_vcpkg_tiff_zstd}) + list(APPEND z_vcpkg_tiff_libraries ${ZSTD_LIBRARIES}) + unset(z_vcpkg_tiff_zstd) + unset(z_vcpkg_tiff_zstd_configs) + unset(z_vcpkg_config) + unset(z_vcpkg_tiff_zstd_target) + endif() + if("@lerc@") + find_package(unofficial-lerc ${z_vcpkg_tiff_find_options}) + get_target_property(z_vcpkg_lerc_configs unofficial::Lerc::Lerc IMPORTED_CONFIGURATIONS) + foreach(z_vcpkg_property IN ITEMS IMPORTED_IMPLIB_ IMPORTED_LOCATION_) + foreach(z_vcpkg_config IN LISTS z_vcpkg_lerc_configs) + get_target_property(Z_VCPKG_LERC_LIBRARY_${z_vcpkg_config} unofficial::Lerc::Lerc "${z_vcpkg_property}${z_vcpkg_config}") + endforeach() + select_library_configurations(Z_VCPKG_LERC) + if(Z_VCPKG_LERC_LIBRARIES) + break() + endif() + endforeach() + list(APPEND z_vcpkg_tiff_link_libraries "\$") + list(APPEND z_vcpkg_tiff_libraries ${Z_VCPKG_LERC_LIBRARIES}) + unset(z_vcpkg_config) + unset(z_vcpkg_lerc_configs) + unset(z_vcpkg_property) + unset(Z_VCPKG_LERC_FOUND) + endif() + if("@libdeflate@") + find_package(libdeflate ${z_vcpkg_tiff_find_options}) + set(z_vcpkg_property "IMPORTED_LOCATION_") + if(TARGET libdeflate::libdeflate_shared) + set(z_vcpkg_libdeflate_target libdeflate::libdeflate_shared) + if(WIN32) + set(z_vcpkg_property "IMPORTED_IMPLIB_") + endif() + else() + set(z_vcpkg_libdeflate_target libdeflate::libdeflate_static) + endif() + get_target_property(z_vcpkg_libdeflate_configs "${z_vcpkg_libdeflate_target}" IMPORTED_CONFIGURATIONS) + foreach(z_vcpkg_config IN LISTS z_vcpkg_libdeflate_configs) + get_target_property(Z_VCPKG_DEFLATE_LIBRARY_${z_vcpkg_config} "${z_vcpkg_libdeflate_target}" "${z_vcpkg_property}${z_vcpkg_config}") + endforeach() + select_library_configurations(Z_VCPKG_DEFLATE) + list(APPEND z_vcpkg_tiff_link_libraries "\$") + list(APPEND z_vcpkg_tiff_libraries ${Z_VCPKG_DEFLATE_LIBRARIES}) + unset(z_vcpkg_config) + unset(z_vcpkg_libdeflate_configs) + unset(z_vcpkg_libdeflate_target) + unset(z_vcpkg_property) + unset(Z_VCPKG_DEFLATE_FOUND) endif() - if(@zlib@) + if("@zlib@") find_package(ZLIB ${z_vcpkg_tiff_find_options}) - list(APPEND z_vcpkg_tiff_link_libraries ZLIB::ZLIB) + list(APPEND z_vcpkg_tiff_link_libraries "\$") list(APPEND z_vcpkg_tiff_libraries ${ZLIB_LIBRARIES}) endif() if(UNIX) diff --git a/ports/tiff/vcpkg.json b/ports/tiff/vcpkg.json index 764fcf55dec36c..ab012f0cbaae74 100644 --- a/ports/tiff/vcpkg.json +++ b/ports/tiff/vcpkg.json @@ -1,13 +1,17 @@ { "name": "tiff", - "version": "4.3.0", - "port-version": 2, + "version": "4.7.0", "description": "A library that supports the manipulation of TIFF image files", "homepage": "https://libtiff.gitlab.io/libtiff/", + "license": "libtiff", "dependencies": [ { "name": "vcpkg-cmake", "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true } ], "default-features": [ @@ -25,6 +29,32 @@ "libjpeg-turbo" ] }, + "lerc": { + "description": "Support LERC compression", + "dependencies": [ + "lerc", + { + "name": "tiff", + "default-features": false, + "features": [ + "zip" + ] + } + ] + }, + "libdeflate": { + "description": "Use libdeflate for faster ZIP support", + "dependencies": [ + "libdeflate", + { + "name": "tiff", + "default-features": false, + "features": [ + "zip" + ] + } + ] + }, "lzma": { "description": "Support LZMA compression in TIFF image files", "dependencies": [ diff --git a/ports/tinkerforge/portfile.cmake b/ports/tinkerforge/portfile.cmake index cfc5c3989075b9..18c11a1a381dc9 100644 --- a/ports/tinkerforge/portfile.cmake +++ b/ports/tinkerforge/portfile.cmake @@ -1,5 +1,3 @@ -vcpkg_fail_port_install(ON_TARGET "uwp") - set(VERSION 2_1_25) vcpkg_download_distfile(ARCHIVE @@ -8,29 +6,28 @@ vcpkg_download_distfile(ARCHIVE SHA512 c02b789bd466803d60aeb39a544b0aa17af811377b065a0b273bcfc15c5844f8cfe981d8143743e32bd05470c2c6af297df50924da0d2895a4cdf4bc9e9bd0b8 ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} - REF tinker-${VERSION} +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" + SOURCE_BASE "tinker-${VERSION}" NO_REMOVE_ONE_LEVEL ) -file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION ${SOURCE_PATH}) -file(COPY "${CMAKE_CURRENT_LIST_DIR}/tinkerforgeConfig.cmake.in" DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") +file(COPY "${CMAKE_CURRENT_LIST_DIR}/tinkerforgeConfig.cmake.in" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets() +vcpkg_cmake_install() +vcpkg_cmake_config_fixup() file(REMOVE_RECURSE - ${CURRENT_PACKAGES_DIR}/debug/include - ${CURRENT_PACKAGES_DIR}/debug/share + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" ) -file(INSTALL ${SOURCE_PATH}/license.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/license.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) vcpkg_copy_pdbs() diff --git a/ports/tinkerforge/vcpkg.json b/ports/tinkerforge/vcpkg.json index 6590a57f116195..6c423b979b51e2 100644 --- a/ports/tinkerforge/vcpkg.json +++ b/ports/tinkerforge/vcpkg.json @@ -1,7 +1,17 @@ { "name": "tinkerforge", - "version-string": "2.1.25", - "port-version": 1, + "version": "2.1.25", + "port-version": 3, "description": "Tinkerforge C API bindings for bricks and bricklets", - "supports": "!uwp" + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/tiny-aes-c/portfile.cmake b/ports/tiny-aes-c/portfile.cmake index 80439c1e0be24b..6883ba8be2935b 100644 --- a/ports/tiny-aes-c/portfile.cmake +++ b/ports/tiny-aes-c/portfile.cmake @@ -8,18 +8,17 @@ vcpkg_from_github( HEAD_REF master ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-${PORT} TARGET_PATH share/unofficial-${PORT}) +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-${PORT}) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") # Handle copyright -configure_file(${SOURCE_PATH}/unlicense.txt ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) +configure_file("${SOURCE_PATH}/unlicense.txt" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) diff --git a/ports/tiny-aes-c/vcpkg.json b/ports/tiny-aes-c/vcpkg.json index d4999595781088..5e91549cf0302d 100644 --- a/ports/tiny-aes-c/vcpkg.json +++ b/ports/tiny-aes-c/vcpkg.json @@ -1,7 +1,17 @@ { "name": "tiny-aes-c", - "version-string": "2019-07-31", - "port-version": 1, + "version-date": "2019-07-31", + "port-version": 3, "description": "Small portable AES128/192/256 in C", - "homepage": "https://github.com/kokke/tiny-AES-c" + "homepage": "https://github.com/kokke/tiny-AES-c", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/tiny-bignum-c/portfile.cmake b/ports/tiny-bignum-c/portfile.cmake index 81bdd55a6e58d1..ea7b41ab869acb 100644 --- a/ports/tiny-bignum-c/portfile.cmake +++ b/ports/tiny-bignum-c/portfile.cmake @@ -8,18 +8,17 @@ vcpkg_from_github( HEAD_REF master ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-${PORT} TARGET_PATH share/unofficial-${PORT}) +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-${PORT}) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") # Handle copyright -configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) +configure_file("${SOURCE_PATH}/LICENSE" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) diff --git a/ports/tiny-bignum-c/vcpkg.json b/ports/tiny-bignum-c/vcpkg.json index 2d78d4dfd87d4f..049e4070066b80 100644 --- a/ports/tiny-bignum-c/vcpkg.json +++ b/ports/tiny-bignum-c/vcpkg.json @@ -1,7 +1,17 @@ { "name": "tiny-bignum-c", - "version-string": "2019-07-31", - "port-version": 1, + "version-date": "2019-07-31", + "port-version": 3, "description": "Small portable multiple-precision unsigned integer arithmetic in C", - "homepage": "https://github.com/kokke/tiny-bignum-c" + "homepage": "https://github.com/kokke/tiny-bignum-c", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/tiny-dnn/vcpkg.json b/ports/tiny-dnn/vcpkg.json index 977ae26adf1669..58bd98b5209abe 100644 --- a/ports/tiny-dnn/vcpkg.json +++ b/ports/tiny-dnn/vcpkg.json @@ -1,7 +1,7 @@ { "name": "tiny-dnn", - "version-string": "2018-10-25", - "port-version": 1, + "version-date": "2018-10-25", + "port-version": 2, "description": "A C++14 implementation of deep learning. It is suitable for deep learning on limited computational resource.", "homepage": "https://github.com/tiny-dnn/tiny-dnn" } diff --git a/ports/tiny-process-library/disable-examples.patch b/ports/tiny-process-library/disable-examples.patch new file mode 100644 index 00000000000000..698ab804bb9ddd --- /dev/null +++ b/ports/tiny-process-library/disable-examples.patch @@ -0,0 +1,14 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 8662ba3..040e642 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -42,9 +42,6 @@ if(CMAKE_SOURCE_DIR STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}") + add_compile_options(-std=c++11 -Wall -Wextra) + endif() + +- add_executable(examples examples.cpp) +- target_link_libraries(examples tiny-process-library) +- + install(TARGETS tiny-process-library + EXPORT ${PROJECT_NAME}-config + ARCHIVE DESTINATION lib diff --git a/ports/tiny-process-library/portfile.cmake b/ports/tiny-process-library/portfile.cmake index 20af73f6a0faee..be906205d3ae3a 100644 --- a/ports/tiny-process-library/portfile.cmake +++ b/ports/tiny-process-library/portfile.cmake @@ -1,3 +1,7 @@ +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() + vcpkg_from_gitlab( GITLAB_URL https://gitlab.com OUT_SOURCE_PATH SOURCE_PATH @@ -5,29 +9,27 @@ vcpkg_from_gitlab( REF v2.0.4 SHA512 bbdd268361159b7c64cb60f29afa780ee5e57fa696f0683a55cb9824ec5985c8229a9a8217d2b9ecdd194b9a3acbbd75a1a821392361fbc85b1f6841f40c95db HEAD_REF master + PATCHES + disable-examples.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_TESTING=OFF - -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets( - CONFIG_PATH lib/cmake/${PORT} - TARGET_PATH share/${PORT} +vcpkg_cmake_config_fixup( + CONFIG_PATH lib/cmake/tiny-process-library ) file(REMOVE_RECURSE - ${CURRENT_PACKAGES_DIR}/debug/include - ${CURRENT_PACKAGES_DIR}/debug/share + "${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_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/tiny-process-library/vcpkg.json b/ports/tiny-process-library/vcpkg.json index e6daaf3228eecf..6562566b353272 100644 --- a/ports/tiny-process-library/vcpkg.json +++ b/ports/tiny-process-library/vcpkg.json @@ -1,6 +1,19 @@ { "name": "tiny-process-library", - "version-string": "2.0.4", - "port-version": 1, - "description": "A small platform independent library to create and stop new processes in C++" + "version": "2.0.4", + "port-version": 3, + "description": "A small platform independent library to create and stop new processes in C++", + "homepage": "https://gitlab.com/eidheim/tiny-process-library/", + "license": "MIT", + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/tiny-regex-c/portfile.cmake b/ports/tiny-regex-c/portfile.cmake index 4a5564cf6e6dfe..83b050d213316a 100644 --- a/ports/tiny-regex-c/portfile.cmake +++ b/ports/tiny-regex-c/portfile.cmake @@ -8,18 +8,17 @@ vcpkg_from_github( HEAD_REF master ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-${PORT} TARGET_PATH share/unofficial-${PORT}) +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-${PORT}) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") # Handle copyright -configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) +configure_file("${SOURCE_PATH}/LICENSE" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) diff --git a/ports/tiny-regex-c/vcpkg.json b/ports/tiny-regex-c/vcpkg.json index c9a39a6af66283..202002ff2ea6ed 100644 --- a/ports/tiny-regex-c/vcpkg.json +++ b/ports/tiny-regex-c/vcpkg.json @@ -1,7 +1,17 @@ { "name": "tiny-regex-c", - "version-string": "2019-07-31", - "port-version": 1, + "version-date": "2019-07-31", + "port-version": 3, "description": "A small regex implementation in C", - "homepage": "https://github.com/kokke/tiny-regex-c" + "homepage": "https://github.com/kokke/tiny-regex-c", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/tinycbor/CMakeLists.txt b/ports/tinycbor/CMakeLists.txt new file mode 100644 index 00000000000000..b902a7df3a842a --- /dev/null +++ b/ports/tinycbor/CMakeLists.txt @@ -0,0 +1,9 @@ +cmake_minimum_required(VERSION 3.20) +project(tinycbor C) + +file(GLOB sources src/cbor*.c) +list(FILTER sources EXCLUDE REGEX "cbortojson.c$") +add_library(tinycbor ${sources}) + +install(TARGETS tinycbor) +install(FILES src/cbor.h src/cborjson.h src/tinycbor-version.h DESTINATION include/tinycbor) diff --git a/ports/tinycbor/portfile.cmake b/ports/tinycbor/portfile.cmake new file mode 100644 index 00000000000000..325b4eb0863599 --- /dev/null +++ b/ports/tinycbor/portfile.cmake @@ -0,0 +1,20 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO intel/tinycbor + REF v0.6.0 + SHA512 af1ed05c03d3aed56e35fdcaad3235992f96b5043b594c0246e600e4b1f085df78c5345beaac8758c2b5db2952ab83997019de5940857eecb81d84b6fb642093 + HEAD_REF master +) + +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") + +vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}") + +vcpkg_cmake_install() + +# Remove duplicated include headers +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/tinycbor/vcpkg.json b/ports/tinycbor/vcpkg.json new file mode 100644 index 00000000000000..23016c5f71923c --- /dev/null +++ b/ports/tinycbor/vcpkg.json @@ -0,0 +1,14 @@ +{ + "name": "tinycbor", + "version-semver": "0.6.0", + "port-version": 1, + "description": "Concise Binary Object Representation (CBOR) Library", + "homepage": "https://github.com/intel/tinycbor", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] +} diff --git a/ports/tinycthread/portfile.cmake b/ports/tinycthread/portfile.cmake index 2d6c8b18b2d4f3..2c1b5c24cbbe39 100644 --- a/ports/tinycthread/portfile.cmake +++ b/ports/tinycthread/portfile.cmake @@ -8,20 +8,19 @@ vcpkg_from_github( HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DTINYCTHREAD_DISABLE_TESTS=OFF -DTINYCTHREAD_INSTALL=ON ) -vcpkg_install_cmake() +vcpkg_cmake_install() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") # Handle copyright -file(STRINGS ${SOURCE_PATH}/README.txt SOURCE_LINES) +file(STRINGS "${SOURCE_PATH}/README.txt" SOURCE_LINES) list(SUBLIST SOURCE_LINES 70 120 SOURCE_LINES) list(JOIN SOURCE_LINES "\n" _contents) -file(WRITE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright "${_contents}") +file(WRITE "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" "${_contents}") diff --git a/ports/tinycthread/vcpkg.json b/ports/tinycthread/vcpkg.json index d67a40f5368605..a66b799eeb2f79 100644 --- a/ports/tinycthread/vcpkg.json +++ b/ports/tinycthread/vcpkg.json @@ -1,7 +1,13 @@ { "name": "tinycthread", - "version-string": "2019-08-06", - "port-version": 1, + "version-date": "2019-08-06", + "port-version": 3, "description": "Small, portable implementation of the C11 threads API", - "homepage": "https://tinycthread.github.io/" + "homepage": "https://tinycthread.github.io/", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/tinydir/portfile.cmake b/ports/tinydir/portfile.cmake index b5e5647bc2abfb..4c09eb7a2a5796 100644 --- a/ports/tinydir/portfile.cmake +++ b/ports/tinydir/portfile.cmake @@ -1,10 +1,9 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO cxong/tinydir - REF 1.2.4 - SHA512 476b81a089d378152c2ab644b88fe860f4a6dba9594ef5c2ae138487cb54b8f6da5538c114463619043f694b992e2de5fec925bd746f8e7fd341ebcdcaac98c0 + REF "${VERSION}" + SHA512 6153bdded49e246a39fb8809749b9d44a67a52a494f5840730905dc83485afadea4c727df1b9e9d308d83c2a7d0277267df7758c4bf6c6d256647d3686cbead8 HEAD_REF master ) -file(INSTALL ${SOURCE_PATH}/tinydir.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/tinydir RENAME copyright) -vcpkg_copy_pdbs() +file(INSTALL "${SOURCE_PATH}/tinydir.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include") +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/tinydir" RENAME copyright) diff --git a/ports/tinydir/vcpkg.json b/ports/tinydir/vcpkg.json index 7326cdd2008e06..335c2ee0d1b73e 100644 --- a/ports/tinydir/vcpkg.json +++ b/ports/tinydir/vcpkg.json @@ -1,7 +1,7 @@ { "name": "tinydir", - "version-string": "1.2.4", - "port-version": 1, + "version": "1.2.6", "description": "Lightweight, portable and easy to integrate C directory and file reader", - "homepage": "https://github.com/cxong/tinydir" + "homepage": "https://github.com/cxong/tinydir", + "license": "BSD-2-Clause" } diff --git a/ports/tinyexif/portfile.cmake b/ports/tinyexif/portfile.cmake index 12e6f5cb97ed6c..21b1f220f1866d 100644 --- a/ports/tinyexif/portfile.cmake +++ b/ports/tinyexif/portfile.cmake @@ -1,28 +1,27 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO cdcseacave/TinyEXIF - REF c57a5fec1a847ec0e7b482b2da72e1f04fc2e147 - SHA512 a968e79b4b7a6f5f189328a8dc493da5c0d568526b5dca46b9bfc0cf85295fb348bd0b38828fedbb7b6e4467fc8932d0d7b435b4acbfe662e954cbed1d0ea914 + REF ccd676f1b91d59da40b4f9c1edda4408fb65e62e #2024-09-03 + SHA512 3e0017372ca98c9746833c73b27d598b947e169e9b27b55f3d2229da61edc1fa2b3929435c647a618558bed7ff3e124358eb615a565704f96635f2345cfd557a HEAD_REF master ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC_LIBS) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS} -DBUILD_DEMO=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/TinyEXIF) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/TinyEXIF) vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") # Handle copyright -file(INSTALL ${SOURCE_PATH}/README.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/tinyexif RENAME copyright) +file(INSTALL "${SOURCE_PATH}/README.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/tinyexif/vcpkg.json b/ports/tinyexif/vcpkg.json index 1d5a0f8cc2d930..45b3221a878234 100644 --- a/ports/tinyexif/vcpkg.json +++ b/ports/tinyexif/vcpkg.json @@ -1,10 +1,17 @@ { "name": "tinyexif", - "version-string": "1.0.2", - "port-version": 7, + "version-date": "2024-09-03", "description": "tiny ISO-compliant C++ EXIF and XMP parsing library for JPEG images", "homepage": "https://github.com/cdcseacave/TinyEXIF", "dependencies": [ - "tinyxml2" + "tinyxml2", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/tinyexpr/portfile.cmake b/ports/tinyexpr/portfile.cmake index 480c67a24d5ffe..968f1befb090e5 100644 --- a/ports/tinyexpr/portfile.cmake +++ b/ports/tinyexpr/portfile.cmake @@ -8,20 +8,19 @@ vcpkg_from_github( fix-issue-34.patch ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/exports.def DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") +file(COPY "${CMAKE_CURRENT_LIST_DIR}/exports.def" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-${PORT} TARGET_PATH share/unofficial-${PORT}) +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-${PORT}) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/tinyexpr/vcpkg.json b/ports/tinyexpr/vcpkg.json index 6ed72b483aaba3..7b55dfe28dc98a 100644 --- a/ports/tinyexpr/vcpkg.json +++ b/ports/tinyexpr/vcpkg.json @@ -1,7 +1,18 @@ { "name": "tinyexpr", - "version-string": "2020-09-25", + "version-date": "2020-09-25", + "port-version": 2, "description": "Tiny recursive descent parser and evaluation engine in C", "homepage": "https://codeplea.com/tinyexpr", - "license": "Zlib" + "license": "Zlib", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/tinyexr/fixtargets.patch b/ports/tinyexr/fixtargets.patch index e06f1831e7b97a..867438426f2341 100644 --- a/ports/tinyexr/fixtargets.patch +++ b/ports/tinyexr/fixtargets.patch @@ -1,5 +1,5 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 3613642..93fb6c1 100644 +index 6d03e7e..be416f5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,6 +7,20 @@ set(SAMPLE_TARGET "test_tinyexr") @@ -22,8 +22,31 @@ index 3613642..93fb6c1 100644 + # options option(TINYEXR_BUILD_SAMPLE "Build a sample" ON) + option(TINYEXR_USE_MINIZ "Use miniz" ON) +@@ -28,11 +42,8 @@ set(TINYEXR_SOURCES + ) -@@ -60,3 +74,20 @@ if (TINYEXR_BUILD_SAMPLE) + if(TINYEXR_USE_MINIZ) +- enable_language(C) +- add_library(miniz STATIC deps/miniz/miniz.c) +- target_include_directories(miniz PUBLIC deps/miniz) +- set_target_properties(miniz PROPERTIES FOLDER "deps") +- list(APPEND TINYEXR_EXT_LIBRARIES miniz) ++ find_package(miniz CONFIG REQUIRED) ++ list(APPEND TINYEXR_EXT_LIBRARIES miniz::miniz) + endif() + + add_library(${BUILD_TARGET} ${TINYEXR_SOURCES} ${TINYEXR_DEP_SOURCES}) +@@ -43,7 +54,7 @@ target_link_libraries(${BUILD_TARGET} ${TINYEXR_EXT_LIBRARIES} ${CMAKE_DL_LIBS}) + + # Increase warning level for clang. + IF (CMAKE_CXX_COMPILER_ID MATCHES "Clang") +- set_source_files_properties(${TINYEXR_SOURCES} PROPERTIES COMPILE_FLAGS "-Weverything -Werror -Wno-padded -Wno-c++98-compat-pedantic -Wno-documentation -Wno-unused-member-function") ++ set_source_files_properties(${TINYEXR_SOURCES} PROPERTIES COMPILE_FLAGS "-Weverything -Wno-padded -Wno-c++98-compat-pedantic -Wno-documentation -Wno-unused-member-function") + ENDIF () + + if (TINYEXR_BUILD_SAMPLE) +@@ -72,3 +83,32 @@ if (TINYEXR_BUILD_SAMPLE) endif(WIN32) endif (TINYEXR_BUILD_SAMPLE) @@ -40,7 +63,31 @@ index 3613642..93fb6c1 100644 +) + +install(EXPORT ${BUILD_TARGET}Targets -+ FILE ${BUILD_TARGET}Config.cmake ++ FILE ${BUILD_TARGET}Targets.cmake + NAMESPACE unofficial::${BUILD_TARGET}:: + DESTINATION "${INSTALL_CMAKE_DIR}" +) ++ ++include(CMakePackageConfigHelpers) ++configure_package_config_file( ++ ${CMAKE_CURRENT_SOURCE_DIR}/Config.cmake.in ++ ${CMAKE_CURRENT_BINARY_DIR}/${BUILD_TARGET}Config.cmake ++ INSTALL_DESTINATION "${INSTALL_CMAKE_DIR}" ++) ++ ++install( ++ FILES ${CMAKE_CURRENT_BINARY_DIR}/${BUILD_TARGET}Config.cmake ++ DESTINATION "${INSTALL_CMAKE_DIR}" ++) +diff --git a/Config.cmake.in b/Config.cmake.in +new file mode 100644 +index 0000000..2e33c1d +--- /dev/null ++++ b/Config.cmake.in +@@ -0,0 +1,6 @@ ++@PACKAGE_INIT@ ++ ++include(CMakeFindDependencyMacro) ++find_dependency(miniz CONFIG REQUIRED) ++ ++include("${CMAKE_CURRENT_LIST_DIR}/@BUILD_TARGET@Targets.cmake") diff --git a/ports/tinyexr/portfile.cmake b/ports/tinyexr/portfile.cmake index fe1dcce4ff5a75..a4568787f30fc9 100644 --- a/ports/tinyexr/portfile.cmake +++ b/ports/tinyexr/portfile.cmake @@ -3,21 +3,20 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO syoyo/tinyexr - REF v1.0.0 - SHA512 5c7dc7201ea57d98505ece22161dc72c284b3db1a7993e46317254dfc42b0f0e76a59227c3cc601fd8a347f0d3aedf2e5f7d7eb9434068face94f503b94711fd + REF "v${VERSION}" + SHA512 583404c77009ec88d75accf006f90ee8972d2205bbae41e460d2cbb9a54d9382735a82eba0657fcc5f4e8b3b0fadd51449cec440529570e75c307eb7f0fcc8fb HEAD_REF master PATCHES fixtargets.patch ) -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA OPTIONS -DTINYEXR_BUILD_SAMPLE=OFF ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets() +vcpkg_cmake_install() +vcpkg_cmake_config_fixup() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(INSTALL ${SOURCE_PATH}/README.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/tinyexr/vcpkg.json b/ports/tinyexr/vcpkg.json index a1e89b42ae93c6..173e0e4f023ac9 100644 --- a/ports/tinyexr/vcpkg.json +++ b/ports/tinyexr/vcpkg.json @@ -1,7 +1,18 @@ { "name": "tinyexr", - "version-string": "1.0.0", - "port-version": 1, + "version": "1.0.8", "description": "Library to load and save OpenEXR(.exr) images", - "homepage": "https://github.com/syoyo/tinyexr" + "homepage": "https://github.com/syoyo/tinyexr", + "license": "BSD-3-Clause", + "dependencies": [ + "miniz", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/tinyfiledialogs/portfile.cmake b/ports/tinyfiledialogs/portfile.cmake index 10929dec1d0501..b93dec69f4f23c 100644 --- a/ports/tinyfiledialogs/portfile.cmake +++ b/ports/tinyfiledialogs/portfile.cmake @@ -1,5 +1,3 @@ -vcpkg_fail_port_install(ON_TARGET "uwp") - vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_git( diff --git a/ports/tinyfiledialogs/vcpkg.json b/ports/tinyfiledialogs/vcpkg.json index 6bc220ee0eac32..ca44d2c9e5983a 100644 --- a/ports/tinyfiledialogs/vcpkg.json +++ b/ports/tinyfiledialogs/vcpkg.json @@ -1,7 +1,7 @@ { "name": "tinyfiledialogs", "version": "3.8.8", - "port-version": 3, + "port-version": 4, "description": "Highly portable and cross-platform dialogs for native inputbox, passwordbox, colorpicker and more", "homepage": "https://sourceforge.net/projects/tinyfiledialogs/", "supports": "!uwp", diff --git a/ports/tinyfsm/portfile.cmake b/ports/tinyfsm/portfile.cmake new file mode 100644 index 00000000000000..b9d9fff41cec47 --- /dev/null +++ b/ports/tinyfsm/portfile.cmake @@ -0,0 +1,11 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO digint/tinyfsm + REF v${VERSION} + SHA512 1a471ba9a62658211353fcebc5f824e14506870b70af34af324ff720c957457625d819caa2701088cfe48cc055780def2e88ebcc10744f44bb6870e3fc2129a3 + HEAD_REF master +) + +file(INSTALL "${SOURCE_PATH}/include/tinyfsm.hpp" DESTINATION "${CURRENT_PACKAGES_DIR}/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/tinyfsm/vcpkg.json b/ports/tinyfsm/vcpkg.json new file mode 100644 index 00000000000000..604f02ee936334 --- /dev/null +++ b/ports/tinyfsm/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "tinyfsm", + "version": "0.3.3", + "description": "A simple C++ finite state machine library", + "homepage": "https://digint.ch/tinyfsm/", + "license": "MIT" +} diff --git a/ports/tinygltf/portfile.cmake b/ports/tinygltf/portfile.cmake index fbb2d2ff9f20bf..b7ab234e46e06f 100644 --- a/ports/tinygltf/portfile.cmake +++ b/ports/tinygltf/portfile.cmake @@ -2,14 +2,14 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO syoyo/tinygltf - REF 91da29972987bb4d715a09d94ecd2cefd3a487d4 #v2.4.2 - SHA512 bede1f995b8f6cdab04140ab284576444ddb5baa8894150ac697e53bafbe03c339c274a2b9559572751a9408b33750d86105d8d24ebccbdfbc98555e7b3a1efd + REF "v${VERSION}" + SHA512 4f4d479a8ad8dd858340b0bfa5af4fdc9073279e59c4240918d5dfce94d2b50b87bc0acad0a2e7659d090dd4aa3b34b456550749fe57bb4f7b58ac2f2b6927aa HEAD_REF master ) # Put the licence file where vcpkg expects it # Copy the tinygltf header files and fix the path to json -vcpkg_replace_string(${SOURCE_PATH}/tiny_gltf.h "#include \"json.hpp\"" "#include ") -file(INSTALL ${SOURCE_PATH}/tiny_gltf.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) +vcpkg_replace_string("${SOURCE_PATH}/tiny_gltf.h" "#include \"json.hpp\"" "#include ") +file(INSTALL "${SOURCE_PATH}/tiny_gltf.h" 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/tinygltf/vcpkg.json b/ports/tinygltf/vcpkg.json index b18a092ad77a66..29a2234d15503f 100644 --- a/ports/tinygltf/vcpkg.json +++ b/ports/tinygltf/vcpkg.json @@ -1,7 +1,6 @@ { "name": "tinygltf", - "version-string": "2020-07-28", - "port-version": 2, + "version": "2.9.3", "description": "A header only C++11 glTF 2.0 library.", "homepage": "https://github.com/syoyo/tinygltf", "dependencies": [ diff --git a/ports/tinynpy/portfile.cmake b/ports/tinynpy/portfile.cmake index 283a91b1021aea..cc9f7780bb5fe2 100644 --- a/ports/tinynpy/portfile.cmake +++ b/ports/tinynpy/portfile.cmake @@ -8,21 +8,20 @@ vcpkg_from_github( string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC_LIBS) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS} -DBUILD_DEMO=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/TinyNPY") +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/TinyNPY") vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") # Handle copyright -file(INSTALL ${SOURCE_PATH}/README.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/tinynpy RENAME copyright) +file(INSTALL "${SOURCE_PATH}/README.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/tinynpy/vcpkg.json b/ports/tinynpy/vcpkg.json index 438863c4741bab..f706128051e57a 100644 --- a/ports/tinynpy/vcpkg.json +++ b/ports/tinynpy/vcpkg.json @@ -1,9 +1,17 @@ { "name": "tinynpy", - "version-string": "1.0.0", - "port-version": 4, + "version": "1.0.0", + "port-version": 6, "description": "tiny C++ loader/exporter of python numpy array NPY/NPZ files", "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, "zlib" ] } diff --git a/ports/tinyobjloader/portfile.cmake b/ports/tinyobjloader/portfile.cmake index 224947e5b5e5aa..e38609b35e1d15 100644 --- a/ports/tinyobjloader/portfile.cmake +++ b/ports/tinyobjloader/portfile.cmake @@ -3,28 +3,33 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO syoyo/tinyobjloader - REF v2.0.0-rc2 - SHA512 936f7897a87fe00d474231ad5f69816da127f14296c3591144c26c6058bd11ea1490c2db6b8c4a8adf629ae148423705d0c4020f4ed034921f0f2f711498f3bb + REF "v${VERSION}" + SHA512 724f3974e03c0bbb2255da051a42bec26a91e490414c36bd4bd5dd18a511ba821148e996f9fa4eba6c4b3638d331281a248c530389e2a8bf679b7e81bb09a89b HEAD_REF master ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - double TINYOBJLOADER_USE_DOUBLE + FEATURES + double TINYOBJLOADER_USE_DOUBLE ) -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - PREFER_NINJA OPTIONS -DCMAKE_INSTALL_DOCDIR:STRING=share/tinyobjloader # FEATURES ${FEATURE_OPTIONS} ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/tinyobjloader/cmake) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/tinyobjloader/cmake) +if("double" IN_LIST FEATURES) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/tiny_obj_loader.h" "#ifdef TINYOBJLOADER_USE_DOUBLE" "#if 1") +else() + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/tiny_obj_loader.h" "#ifdef TINYOBJLOADER_USE_DOUBLE" "#if 0") +endif() file( REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include diff --git a/ports/tinyobjloader/vcpkg.json b/ports/tinyobjloader/vcpkg.json index 30bd1bb6f00620..bce2d8576a57e6 100644 --- a/ports/tinyobjloader/vcpkg.json +++ b/ports/tinyobjloader/vcpkg.json @@ -1,8 +1,18 @@ { "name": "tinyobjloader", - "version-string": "2.0.0-rc2", - "port-version": 2, + "version-string": "2.0.0rc13", "description": "Tiny but powerful single file wavefront obj loader", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], "features": { "double": { "description": "enable double(64bit) precision" diff --git a/ports/tinyorm/portfile.cmake b/ports/tinyorm/portfile.cmake new file mode 100644 index 00000000000000..bd495ba36b7c9e --- /dev/null +++ b/ports/tinyorm/portfile.cmake @@ -0,0 +1,46 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO silverqx/TinyORM + REF "v${VERSION}" + SHA512 231601df0e0b9233e6e206717c8ccbe2431ed545858d7efbbad96c7821177d6103d231941fa1bccae8fd2593b5874969bb4e26089d7502839106488d2cd614b6 + HEAD_REF main +) + +# STL4043 _SILENCE_STDEXT_ARR_ITERS_DEPRECATION_WARNING already defined, see: +# https://github.com/silverqx/TinyORM/blob/main/cmake/CommonModules/TinyCommon.cmake#L122 + +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + PREFIX TINYORM + FEATURES + disable-thread-local DISABLE_THREAD_LOCAL + inline-constants INLINE_CONSTANTS + mysql-ping MYSQL_PING + orm ORM + strict-mode STRICT_MODE + tom TOM + tom-example TOM_EXAMPLE +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DCMAKE_CXX_SCAN_FOR_MODULES:BOOL=OFF + -DCMAKE_EXPORT_PACKAGE_REGISTRY:BOOL=OFF + -DBUILD_TESTS:BOOL=OFF + -DBUILD_TREE_DEPLOY:BOOL=OFF + -DTINY_PORT:STRING=${PORT} + -DTINY_VCPKG:BOOL=ON + -DVERBOSE_CONFIGURE:BOOL=ON + ${FEATURE_OPTIONS} +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup() + +if(TINYORM_TOM_EXAMPLE) + vcpkg_copy_tools(TOOL_NAMES tom AUTO_CLEAN) +endif() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/tinyorm/vcpkg.json b/ports/tinyorm/vcpkg.json new file mode 100644 index 00000000000000..4c35b4f44a386f --- /dev/null +++ b/ports/tinyorm/vcpkg.json @@ -0,0 +1,109 @@ +{ + "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json", + "name": "tinyorm", + "version-semver": "0.38.1", + "maintainers": "Silver Zachara ", + "description": "Modern C++ ORM library for Qt framework", + "homepage": "https://github.com/silverqx/TinyORM", + "documentation": "https://www.tinyorm.org", + "license": "MIT", + "supports": "!(uwp | arm | android | emscripten | osx | ios | xbox | freebsd | openbsd | wasm32)", + "dependencies": [ + { + "name": "qtbase", + "default-features": false + }, + "range-v3", + "tabulate", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "default-features": [ + "orm", + "sql-sqlite", + "tom" + ], + "features": { + "build-mysql-driver": { + "description": "Build TinyDrivers MySQL database driver (provided by TinyDrivers)", + "dependencies": [ + "libmysql" + ] + }, + "disable-thread-local": { + "description": "Remove all thread_local storage duration specifiers (disables multi-threading support)" + }, + "inline-constants": { + "description": "Use inline constants instead of extern constants in shared builds" + }, + "mysql-ping": { + "description": "Install MySQL C client library (libmysql) to support the mysql_ping()", + "dependencies": [ + "libmysql" + ] + }, + "orm": { + "description": "Enable ORM-related source code (without it only the query builder is compiled)" + }, + "sql-mysql": { + "description": "Build Qt SQL MySQL database driver (provided by QtSql)", + "dependencies": [ + { + "name": "qtbase", + "default-features": false, + "features": [ + "sql-mysql" + ] + } + ] + }, + "sql-psql": { + "description": "Build Qt SQL PostgreSQL database driver (provided by QtSql)", + "dependencies": [ + { + "name": "qtbase", + "default-features": false, + "features": [ + "sql-psql" + ] + } + ] + }, + "sql-sqlite": { + "description": "Build Qt SQL SQLite database driver (provided by QtSql)", + "dependencies": [ + { + "name": "qtbase", + "default-features": false, + "features": [ + "sql-sqlite" + ] + } + ] + }, + "strict-mode": { + "description": "Propagate strict compiler/linker options and Qt definitions" + }, + "tom": { + "description": "Enable Tom-related source code (command-line interface)" + }, + "tom-example": { + "description": "Build Tom command-line application example", + "dependencies": [ + { + "name": "tinyorm", + "default-features": false, + "features": [ + "tom" + ] + } + ] + } + } +} diff --git a/ports/tinyply/fix-cmake.patch b/ports/tinyply/fix-cmake.patch deleted file mode 100644 index 681e30f1fc847d..00000000000000 --- a/ports/tinyply/fix-cmake.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 2bd9563..4d4d9fe 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -50,6 +50,8 @@ set(project_config "${generated_dir}/${PROJECT_NAME}Config.cmake") - set(targets_export_name "${PROJECT_NAME}Targets") - set(namespace "") - -+include(GNUInstallDirs) -+ - write_basic_package_version_file( - "${version_config}" - VERSION ${PROJECT_VERSION} -@@ -63,9 +65,10 @@ configure_package_config_file( - - # Install - install(TARGETS tinyply EXPORT ${targets_export_name} -- RUNTIME DESTINATION bin -- ARCHIVE DESTINATION lib -- LIBRARY DESTINATION lib) -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) - install(FILES source/tinyply.h - DESTINATION include) - diff --git a/ports/tinyply/portfile.cmake b/ports/tinyply/portfile.cmake index b41fdb0fec2add..4c012006e088bc 100644 --- a/ports/tinyply/portfile.cmake +++ b/ports/tinyply/portfile.cmake @@ -1,27 +1,23 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ddiakopoulos/tinyply - REF ca7b279fb6c9af931ffdaed96a3b11ca3ccd79ea - SHA512 d3adfe7cce849a14fd473cfd67baef0163d4e45ff32724516270d5893a18086f7ac17d87bda5c33381442766849b41516bd2c7757e97038c95af0c70d5f0edde + REF 40aa4a0ae9e9c203e11893f78b8bcaf8a50e65f0 # 2.3.4 + SHA512 c99bdfcfbcbb13af2e662763f15771d7d5905267fb72ad93b40aad83785e8fbb48feb2359ce2542fe838fcb22a42f8a65cebd9c22963a383638be1ef0100269a HEAD_REF master - PATCHES - # TODO: Remove this patch if https://github.com/ddiakopoulos/tinyply/pull/41 was accepted. - fix-cmake.patch ) -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" SHARED_LIB) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" TINYPLY_BUILD_SHARED) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DSHARED_LIB=${SHARED_LIB} + -DSHARED_LIB=${TINYPLY_BUILD_SHARED} -DBUILD_TESTS=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) vcpkg_copy_pdbs() @@ -29,8 +25,8 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) # License file(READ "${SOURCE_PATH}/readme.md" readme_contents) -string(FIND "${readme_contents}" "License" license_line_pos) -string(SUBSTRING "${readme_contents}" ${license_line_pos} -1 license_contents) +string(FIND "${readme_contents}" "## License" license_pos) +string(SUBSTRING "${readme_contents}" ${license_pos} -1 license_contents) file(WRITE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright "${license_contents}") - -vcpkg_fixup_pkgconfig() + +vcpkg_fixup_pkgconfig() diff --git a/ports/tinyply/vcpkg.json b/ports/tinyply/vcpkg.json index b369c42455069b..3c93b6641751a2 100644 --- a/ports/tinyply/vcpkg.json +++ b/ports/tinyply/vcpkg.json @@ -1,7 +1,17 @@ { "name": "tinyply", - "version-string": "2020-05-22", - "port-version": 2, + "version": "2.3.4", "description": "C++11 ply 3d mesh format importer & exporter", - "homepage": "https://github.com/ddiakopoulos/tinyply" + "homepage": "https://github.com/ddiakopoulos/tinyply", + "license": "BSD-2-Clause", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/tinyspline/portfile.cmake b/ports/tinyspline/portfile.cmake index 1bf5180b3ee003..6a1068dfc17ca1 100644 --- a/ports/tinyspline/portfile.cmake +++ b/ports/tinyspline/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO msteinbeck/tinyspline - REF v0.3.0 - SHA512 9B02ACA5C56341E8DDC057E2AEB78632695DAC3A4D2C628A43028E4216FC79942F68DD3105B1B92ACAE0D009109C56EC437AB638FB7334EBDD68543BE2D8D7F6 + REF "v${VERSION}" + SHA512 e81d95e9fa7ec33b70d541695ab18b8e9c2a92e7c66877aa9957526e2ac144558b47409e1a1b721f7702a8462a22f360d1ec96b0023db108da13f8c37b8c0c20 HEAD_REF master ) @@ -18,7 +18,7 @@ vcpkg_cmake_configure( vcpkg_cmake_install() vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/tinyspline DO_NOT_DELETE_PARENT_CONFIG_PATH) -vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/tinysplinecxx) +vcpkg_cmake_config_fixup(PACKAGE_NAME tinysplinecxx CONFIG_PATH lib/cmake/tinysplinecxx) vcpkg_fixup_pkgconfig() if(VCPKG_LIBRARY_LINKAGE STREQUAL static) diff --git a/ports/tinyspline/vcpkg.json b/ports/tinyspline/vcpkg.json index 91ed149d618c6a..52c9a0edcdd884 100644 --- a/ports/tinyspline/vcpkg.json +++ b/ports/tinyspline/vcpkg.json @@ -1,8 +1,9 @@ { "name": "tinyspline", - "version": "0.3.0", + "version": "0.6.0", "description": "Library for NURBS, B-Splines, and Bézier curves, allowing you to handle splines with ease", "homepage": "https://github.com/msteinbeck/tinyspline", + "license": "MIT", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/tinythread/portfile.cmake b/ports/tinythread/portfile.cmake index 7b29ab146d918b..0061ee007147cb 100644 --- a/ports/tinythread/portfile.cmake +++ b/ports/tinythread/portfile.cmake @@ -6,19 +6,18 @@ vcpkg_download_distfile(ARCHIVE SHA512 407f54fcf3f68dd7fec25e9e0749a1803dffa5d52d606905155714d29f519b5eae64ff654b11768fecc32c0123a78c48be37c47993e0caf157a63349a2f869c6 ) -vcpkg_extract_source_archive_ex( - ARCHIVE ${ARCHIVE} - OUT_SOURCE_PATH SOURCE_PATH +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}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON ) -vcpkg_install_cmake() +vcpkg_cmake_install() -file(INSTALL "${SOURCE_PATH}/README.txt" DESTINATION ${CURRENT_PACKAGES_DIR}/share/tinythread RENAME copyright) +file(INSTALL "${SOURCE_PATH}/README.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/tinythread/vcpkg.json b/ports/tinythread/vcpkg.json index 3e45f68b012591..27ffb8cda95795 100644 --- a/ports/tinythread/vcpkg.json +++ b/ports/tinythread/vcpkg.json @@ -1,7 +1,13 @@ { "name": "tinythread", - "version-string": "1.1", - "port-version": 4, + "version": "1.1", + "port-version": 6, "description": "Implements a fairly compatible subset of the C++11 thread management classes", - "homepage": "https://tinythreadpp.bitsnbites.eu/" + "homepage": "https://tinythreadpp.bitsnbites.eu/", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/tinytiff/portfile.cmake b/ports/tinytiff/portfile.cmake new file mode 100644 index 00000000000000..6369309daffb88 --- /dev/null +++ b/ports/tinytiff/portfile.cmake @@ -0,0 +1,34 @@ +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + winapi TinyTIFF_USE_WINAPI_FOR_FILEIO +) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO jkriege2/TinyTIFF + REF ${VERSION} + SHA512 9a6a00a1278e7040bf3057f069e6d4f106a15982c78c84112edfdbe8ca9a28d849fc63636d8011696dbf4059c5d9b205743fd77ece859d08b9dd33945835be54 + HEAD_REF master +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} + -DTinyTIFF_BUILD_TESTS=OFF +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/TinyTIFF DO_NOT_DELETE_PARENT_CONFIG_PATH) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/TinyTIFFXX PACKAGE_NAME tinytiffxx) + +vcpkg_copy_pdbs() + +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/tinytiff/usage b/ports/tinytiff/usage new file mode 100644 index 00000000000000..09fa42a7152e03 --- /dev/null +++ b/ports/tinytiff/usage @@ -0,0 +1,7 @@ +tinytiff provides CMake targets: + + find_package(TinyTIFF CONFIG REQUIRED) + find_package(TinyTIFFXX CONFIG REQUIRED) + + target_link_libraries(main PRIVATE TinyTIFF::TinyTIFF TinyTIFF::TinyTIFFXX) + \ No newline at end of file diff --git a/ports/tinytiff/vcpkg.json b/ports/tinytiff/vcpkg.json new file mode 100644 index 00000000000000..c1abef9152f941 --- /dev/null +++ b/ports/tinytiff/vcpkg.json @@ -0,0 +1,23 @@ +{ + "name": "tinytiff", + "version": "4.0.1.0", + "description": "Lightweight TIFF reader/writer library", + "homepage": "https://jkriege2.github.io/TinyTIFF/", + "license": "LGPL-3.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "winapi": { + "description": "Use WIN-API for File-IO", + "supports": "windows" + } + } +} diff --git a/ports/tinytoml/vcpkg.json b/ports/tinytoml/vcpkg.json index f7a894c86e93ea..d394ff4521c286 100644 --- a/ports/tinytoml/vcpkg.json +++ b/ports/tinytoml/vcpkg.json @@ -1,7 +1,7 @@ { "name": "tinytoml", - "version-string": "20180219", - "port-version": 2, + "version": "20180219", + "port-version": 3, "description": "A header only C++11 library for parsing TOML.", "homepage": "https://github.com/mayah/tinytoml" } diff --git a/ports/tinyutf8/fixbuild.patch b/ports/tinyutf8/fixbuild.patch deleted file mode 100644 index a2008089dfc01b..00000000000000 --- a/ports/tinyutf8/fixbuild.patch +++ /dev/null @@ -1,43 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index eef0c41..5d2c0d1 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1,7 +1,7 @@ - cmake_minimum_required(VERSION 3.1) - project(tinyutf8) - --set(CMAKE_CXX_STANDARD 11) -+set(CMAKE_CXX_STANDARD 17) - - option(TINYUTF8_BUILD_STATIC "Build as static library" On) - -@@ -12,3 +12,14 @@ else() - endif() - - add_library(tinyutf8 ${LIB_BUILD_TYPE} tinyutf8.cpp) -+ -+if(MSVC) -+ ADD_DEFINITIONS(-D_UNICODE) -+endif() -+ -+install(TARGETS tinyutf8 -+ RUNTIME DESTINATION bin -+ ARCHIVE DESTINATION lib -+ LIBRARY DESTINATION lib) -+ -+install(FILES tinyutf8.h DESTINATION include) -diff --git a/tinyutf8.cpp b/tinyutf8.cpp -index ca07b1e..502312f 100644 ---- a/tinyutf8.cpp -+++ b/tinyutf8.cpp -@@ -1,6 +1,6 @@ - #include "tinyutf8.h" - - // Explicit template instantiations for utf8_string --template struct tiny_utf8::basic_utf8_string<>; --template extern std::ostream& operator<<( std::ostream& stream , const tiny_utf8::basic_utf8_string<>& str ); --template extern std::istream& operator>>( std::istream& stream , tiny_utf8::basic_utf8_string<>& str ); -\ No newline at end of file -+template class tiny_utf8::basic_utf8_string<>; -+extern template std::ostream& operator<<( std::ostream& stream , const tiny_utf8::basic_utf8_string<>& str ); -+extern template std::istream& operator>>( std::istream& stream , tiny_utf8::basic_utf8_string<>& str ); diff --git a/ports/tinyutf8/portfile.cmake b/ports/tinyutf8/portfile.cmake index 2dad4fbaa532d9..d5960aa5cafde2 100644 --- a/ports/tinyutf8/portfile.cmake +++ b/ports/tinyutf8/portfile.cmake @@ -1,27 +1,22 @@ -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO DuffsDevice/tinyutf8 - REF 68eaf247a3761c324b1a3806a954d773dfe9106b - SHA512 e8bd51ea66a84d236be7c2028b6f3a67b5b01f0fac758729f3152542c8a6a859ddb3f72d6c5abb058c909bf84862ed816e2235cfde6bfa7edaa8026a4f7f4b2a + REPO DuffsDevice/tiny-utf8 + REF "v${VERSION}" + SHA512 e87368614671c8e160e9fd7c529bba08f6b3d6bdd0b178c68a4f25a54a6428afe01c3099f80d4976a1b2ce9f2e19b877da54a5dbf024ad25c7a5d5e47cb57bb0 HEAD_REF master - PATCHES fixbuild.patch ) -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" TINYUTF8_BUILD_STATIC) +# header-only +set(VCPKG_BUILD_TYPE "release") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS -DTINYUTF8_BUILD_STATIC=${TINYUTF8_BUILD_STATIC} +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DTINYUTF8_BUILD_TESTING=OFF + -DTINYUTF8_BUILD_DOC=OFF ) -vcpkg_install_cmake() -vcpkg_copy_pdbs() - -# Handle copyright -configure_file(${SOURCE_PATH}/LICENCE ${CURRENT_PACKAGES_DIR}/share/tinyutf8/copyright COPYONLY) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH share/tinyutf8/cmake) -# remove unneeded files -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENCE") diff --git a/ports/tinyutf8/vcpkg.json b/ports/tinyutf8/vcpkg.json index 008757cdd91ba7..79f3052f1564c6 100644 --- a/ports/tinyutf8/vcpkg.json +++ b/ports/tinyutf8/vcpkg.json @@ -1,6 +1,18 @@ { "name": "tinyutf8", - "version-string": "4.0.2", + "version": "4.4.3", "port-version": 1, - "description": "TINYUTF8 is a library for extremely easy integration of Unicode into an arbitrary C++11 project." + "description": "TINYUTF8 is a library for extremely easy integration of Unicode into an arbitrary C++11 project.", + "homepage": "https://github.com/DuffsDevice/tiny-utf8/", + "license": "BSD-3-Clause", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/tinyxml/portfile.cmake b/ports/tinyxml/portfile.cmake index 1f42e4d75c6cbd..024461873fb061 100644 --- a/ports/tinyxml/portfile.cmake +++ b/ports/tinyxml/portfile.cmake @@ -11,18 +11,17 @@ vcpkg_from_sourceforge( 0002_export_tinyxml.patch ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +vcpkg_cmake_config_fixup() +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/License.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/tinyxml RENAME copyright) -file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/tinyxml-config.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/tinyxml) +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/License.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/tinyxml-config.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/tinyxml/vcpkg.json b/ports/tinyxml/vcpkg.json index 8ee2d5d2dd0047..65bb00a07a8c46 100644 --- a/ports/tinyxml/vcpkg.json +++ b/ports/tinyxml/vcpkg.json @@ -1,7 +1,17 @@ { "name": "tinyxml", - "version-string": "2.6.2", - "port-version": 8, + "version": "2.6.2", + "port-version": 10, "description": "A simple, small, minimal, C++ XML parser that can be easily integrating into other programs.", - "homepage": "https://sourceforge.net/projects/tinyxml" + "homepage": "https://sourceforge.net/projects/tinyxml", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/tinyxml2/0001-fix-do-not-force-export-the-symbols-when-building-st.patch b/ports/tinyxml2/0001-fix-do-not-force-export-the-symbols-when-building-st.patch new file mode 100644 index 00000000000000..ef334ec1b125be --- /dev/null +++ b/ports/tinyxml2/0001-fix-do-not-force-export-the-symbols-when-building-st.patch @@ -0,0 +1,45 @@ +From a512d312db5604efe803a6fe088e7d582e04533f Mon Sep 17 00:00:00 2001 +From: Amin Yahyaabadi +Date: Wed, 26 Oct 2022 18:21:29 -0700 +Subject: [PATCH] fix: do not force export the symbols when building statically + +--- + CMakeLists.txt | 11 ++++++++--- + 1 file changed, 8 insertions(+), 3 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 8802fb8..87cda90 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -16,8 +16,10 @@ endif () + ## Main library build + ## + +-set(CMAKE_CXX_VISIBILITY_PRESET hidden) +-set(CMAKE_VISIBILITY_INLINES_HIDDEN YES) ++if (BUILD_SHARED_LIBS) ++ set(CMAKE_CXX_VISIBILITY_PRESET hidden) ++ set(CMAKE_VISIBILITY_INLINES_HIDDEN YES) ++endif() + + add_library(tinyxml2 tinyxml2.cpp tinyxml2.h) + add_library(tinyxml2::tinyxml2 ALIAS tinyxml2) +@@ -36,11 +38,14 @@ target_compile_definitions( + set_target_properties( + tinyxml2 + PROPERTIES +- DEFINE_SYMBOL "TINYXML2_EXPORT" + VERSION "${tinyxml2_VERSION}" + SOVERSION "${tinyxml2_VERSION_MAJOR}" + ) + ++if(BUILD_SHARED_LIBS) ++ target_compile_definitions(tinyxml2 PRIVATE "TINYXML2_EXPORT") ++endif() ++ + if (tinyxml2_BUILD_TESTING) + add_executable(xmltest xmltest.cpp) + target_link_libraries(xmltest PRIVATE tinyxml2::tinyxml2) +-- +2.37.3.windows.1 + diff --git a/ports/tinyxml2/0002-fix-check-for-TINYXML2_EXPORT-on-non-windows.patch b/ports/tinyxml2/0002-fix-check-for-TINYXML2_EXPORT-on-non-windows.patch new file mode 100644 index 00000000000000..7f2f750deb6dd3 --- /dev/null +++ b/ports/tinyxml2/0002-fix-check-for-TINYXML2_EXPORT-on-non-windows.patch @@ -0,0 +1,25 @@ +From 4beabf9fe05a049577e3923327804851d6a05f24 Mon Sep 17 00:00:00 2001 +From: Amin Yahyaabadi +Date: Thu, 27 Oct 2022 19:06:52 -0700 +Subject: [PATCH] fix: check for TINYXML2_EXPORT on non windows + +--- + tinyxml2.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tinyxml2.h b/tinyxml2.h +index cfb1053..5a36901 100755 +--- a/tinyxml2.h ++++ b/tinyxml2.h +@@ -72,7 +72,7 @@ distribution. + # else + # define TINYXML2_LIB + # endif +-#elif __GNUC__ >= 4 ++#elif defined(TINYXML2_EXPORT) && __GNUC__ >= 4 + # define TINYXML2_LIB __attribute__((visibility("default"))) + #else + # define TINYXML2_LIB +-- +2.37.3.windows.1 + diff --git a/ports/tinyxml2/0003-fix-Android-SDK-below-24-does-not-support-fseeko.patch b/ports/tinyxml2/0003-fix-Android-SDK-below-24-does-not-support-fseeko.patch new file mode 100644 index 00000000000000..4de71c5692de2d --- /dev/null +++ b/ports/tinyxml2/0003-fix-Android-SDK-below-24-does-not-support-fseeko.patch @@ -0,0 +1,22 @@ +diff --git a/tinyxml2.cpp b/tinyxml2.cpp +index 083f54b..e7319db 100644 +--- a/tinyxml2.cpp ++++ b/tinyxml2.cpp +@@ -106,14 +106,9 @@ distribution. + #elif defined(__APPLE__) || defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__DragonFly__) || defined(__CYGWIN__) + #define TIXML_FSEEK fseeko + #define TIXML_FTELL ftello +-#elif defined(__ANDROID__) +- #if __ANDROID_API__ > 24 +- #define TIXML_FSEEK fseeko64 +- #define TIXML_FTELL ftello64 +- #else +- #define TIXML_FSEEK fseeko +- #define TIXML_FTELL ftello +- #endif ++#elif defined(__ANDROID__) && __ANDROID_API__ >= 24 ++ #define TIXML_FSEEK fseeko64 ++ #define TIXML_FTELL ftello64 + #else + #define TIXML_FSEEK fseek + #define TIXML_FTELL ftell diff --git a/ports/tinyxml2/portfile.cmake b/ports/tinyxml2/portfile.cmake index 3c4d0e7d7d0d39..8ebf8601aeeafd 100644 --- a/ports/tinyxml2/portfile.cmake +++ b/ports/tinyxml2/portfile.cmake @@ -1,13 +1,19 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO leethomason/tinyxml2 - REF 9.0.0 - SHA512 9C5CE8131984690DF302CA3E32314573B137180ED522C92FD631692979C942372A28F697FDB3D5E56BCF2D3DC596262B724D088153F3E1D721C9536F2A883367 + REF 10.0.0 + SHA512 a359d33bc12fad455b53d81011dbe12727cae0aabfaa5704f1a25807ca216dd854a571291029886c0beedeca5c3b6393dd49c4718773e18a0e008abbdb3de36a HEAD_REF master + PATCHES + 0001-fix-do-not-force-export-the-symbols-when-building-st.patch + 0002-fix-check-for-TINYXML2_EXPORT-on-non-windows.patch + 0003-fix-Android-SDK-below-24-does-not-support-fseeko.patch ) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -Dtinyxml2_BUILD_TESTING=OFF ) vcpkg_cmake_install() @@ -19,4 +25,4 @@ vcpkg_copy_pdbs() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL "${SOURCE_PATH}/readme.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/tinyxml2/vcpkg.json b/ports/tinyxml2/vcpkg.json index c059fc80919957..211f0036796079 100644 --- a/ports/tinyxml2/vcpkg.json +++ b/ports/tinyxml2/vcpkg.json @@ -1,8 +1,9 @@ { "name": "tinyxml2", - "version-semver": "9.0.0", + "version-semver": "10.0.0", "description": "A simple, small, efficient, C++ XML parser", "homepage": "https://github.com/leethomason/tinyxml2", + "license": "Zlib", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/tl-expected/portfile.cmake b/ports/tl-expected/portfile.cmake index 1c99d0741558cc..4f353cb59743ce 100644 --- a/ports/tl-expected/portfile.cmake +++ b/ports/tl-expected/portfile.cmake @@ -1,31 +1,23 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO TartanLlama/expected - REF v1.0.0 - SHA512 747ea34b5540dfcf595896332851f10c52a823ab8ba3fc8152478b0a9e8ca01f0f26827348407249827f4106ff577bd6e697ea6f749c1f21bd1f0913a621075d + REF "v${VERSION}" + SHA512 ce970c31582869af9d0b3349f386db207dd4881db0bdfd3744331b0a62fe2886dde598a75882fb00254afa3549fb9d4c2bd1ff7682744891d403edfd4ff73492 HEAD_REF master ) -vcpkg_from_github( - OUT_SOURCE_PATH TL_CMAKE_SOURCE_DIR - REPO TartanLlama/tl-cmake - REF 284c6a3f0f61823cc3871b0f193e8df699e2c4ce - SHA512 f611326d75d6e87e58cb05e91f9506b1d83e6fd3b214fe311c4c15604feabfb7a18bbf9c4b4c389a39d615eb468b1f4b15802ab9f44f334a12310cb183fa77a7 - HEAD_REF master -) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DFETCHCONTENT_FULLY_DISCONNECTED=ON - -DFETCHCONTENT_SOURCE_DIR_TL_CMAKE=${TL_CMAKE_SOURCE_DIR} - -DEXPECTED_ENABLE_TESTS=OFF + -DEXPECTED_BUILD_TESTS=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(CONFIG_PATH share/cmake/tl-expected) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/cmake") # Handle copyright -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/tl-expected RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/tl-expected/vcpkg.json b/ports/tl-expected/vcpkg.json index 1f27474b5310fe..0508898d65d6e7 100644 --- a/ports/tl-expected/vcpkg.json +++ b/ports/tl-expected/vcpkg.json @@ -1,6 +1,18 @@ { "name": "tl-expected", - "version-string": "1.0.0", - "port-version": 2, - "description": "C++11/14/17 std::expected implementation with functional-style extensions" + "version": "1.1.0", + "description": "C++11/14/17 std::expected implementation with functional-style extensions", + "homepage": "https://github.com/TartanLlama/expected", + "documentation": "https://tl.tartanllama.xyz/en/latest/api/expected.html", + "license": "CC0-1.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/tl-function-ref/portfile.cmake b/ports/tl-function-ref/portfile.cmake index ea5274796c55ab..942778bea03ba0 100644 --- a/ports/tl-function-ref/portfile.cmake +++ b/ports/tl-function-ref/portfile.cmake @@ -14,18 +14,17 @@ vcpkg_from_github( HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DFETCHCONTENT_FULLY_DISCONNECTED=ON - -DFETCHCONTENT_SOURCE_DIR_TL_CMAKE=${TL_CMAKE_SOURCE_DIR} + "-DFETCHCONTENT_SOURCE_DIR_TL_CMAKE=${TL_CMAKE_SOURCE_DIR}" -DFUNCTION_REF_ENABLE_TESTS=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") # Handle copyright -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/tl-function-ref RENAME copyright) +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/tl-function-ref" RENAME copyright) diff --git a/ports/tl-function-ref/vcpkg.json b/ports/tl-function-ref/vcpkg.json index e8cf323a4ba1c1..3760dd5cb3f029 100644 --- a/ports/tl-function-ref/vcpkg.json +++ b/ports/tl-function-ref/vcpkg.json @@ -1,6 +1,12 @@ { "name": "tl-function-ref", - "version-string": "1.0.0", - "port-version": 2, - "description": "A lightweight, non-owning reference to a callable." + "version": "1.0.0", + "port-version": 4, + "description": "A lightweight, non-owning reference to a callable.", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/tl-optional/portfile.cmake b/ports/tl-optional/portfile.cmake index bbd80307d42b4b..61ea805c7a82eb 100644 --- a/ports/tl-optional/portfile.cmake +++ b/ports/tl-optional/portfile.cmake @@ -1,31 +1,23 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO TartanLlama/optional - REF v1.0.0 - SHA512 6e5020808650ec312f5cdf4bc92be9067dc214c2e02d635511e99b325d34c360ce360cf93e67287dba4b9c0d674f3cbae96a75b83b13374fbb1291d2bb0f078a + REF "v${VERSION}" + SHA512 3911F397440D4383721B92DE614DE1BEF5DB5C88371FA35F008B92F673F1E1EBF46E98FCFF4CD2D71E558C89537B9128AD549777197FD0390ED18A5BDFC5D6E0 HEAD_REF master ) -vcpkg_from_github( - OUT_SOURCE_PATH TL_CMAKE_SOURCE_DIR - REPO TartanLlama/tl-cmake - REF 284c6a3f0f61823cc3871b0f193e8df699e2c4ce - SHA512 f611326d75d6e87e58cb05e91f9506b1d83e6fd3b214fe311c4c15604feabfb7a18bbf9c4b4c389a39d615eb468b1f4b15802ab9f44f334a12310cb183fa77a7 - HEAD_REF master -) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DFETCHCONTENT_FULLY_DISCONNECTED=ON - -DFETCHCONTENT_SOURCE_DIR_TL_CMAKE=${TL_CMAKE_SOURCE_DIR} - -DOPTIONAL_ENABLE_TESTS=OFF + -DOPTIONAL_BUILD_TESTS=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(CONFIG_PATH share/cmake/tl-optional) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/cmake") # Handle copyright -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/tl-optional RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/tl-optional/vcpkg.json b/ports/tl-optional/vcpkg.json index 4dc6d13b75e548..fc2774f894f07a 100644 --- a/ports/tl-optional/vcpkg.json +++ b/ports/tl-optional/vcpkg.json @@ -1,6 +1,18 @@ { "name": "tl-optional", - "version-string": "1.0.0", - "port-version": 2, - "description": "C++11/14/17 std::optional implementation with functional-style extensions" + "version": "1.1.0", + "description": "C++11/14/17 std::optional implementation with functional-style extensions", + "homepage": "https://github.com/TartanLlama/optional", + "documentation": "https://tl.tartanllama.xyz/en/latest/api/optional.html", + "license": "CC0-1.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/tl-ranges/portfile.cmake b/ports/tl-ranges/portfile.cmake new file mode 100644 index 00000000000000..aed35e3ea3e72f --- /dev/null +++ b/ports/tl-ranges/portfile.cmake @@ -0,0 +1,22 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO TartanLlama/ranges + REF 361dae81e48ea9d0099e8783b56b903c2a6cd01c + SHA512 cce7964d1e77544495ae07c62c1b9a5e7948ea3a6d090e2e9126d3cbc685359e48425e48ddd533ba874ac442855f358d4b24db5265e1584aac6c54d63f82b6a4 + HEAD_REF master +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DRANGES_BUILD_TESTS=OFF +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(CONFIG_PATH share/cmake/tl-ranges) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/cmake") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/tl-ranges/vcpkg.json b/ports/tl-ranges/vcpkg.json new file mode 100644 index 00000000000000..dc74cab1017383 --- /dev/null +++ b/ports/tl-ranges/vcpkg.json @@ -0,0 +1,19 @@ +{ + "name": "tl-ranges", + "version-date": "2022-12-07", + "port-version": 1, + "description": "Ranges that didn't make C++20", + "homepage": "https://github.com/TartanLlama/ranges", + "documentation": "https://tl.tartanllama.xyz/en/latest/api/ranges/index.html", + "license": "CC0-1.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/tlx/portfile.cmake b/ports/tlx/portfile.cmake index 2ee4ca4f35705f..99c75a71d2e58f 100644 --- a/ports/tlx/portfile.cmake +++ b/ports/tlx/portfile.cmake @@ -4,17 +4,16 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO tlx/tlx - REF 903b9b35df8731496a90d8d74f8bedbad2517d9b - SHA512 17087973f2f4751538c589e9f80d2b5ea872d2e7d90659769ae3350d441bda0b64aec9a4150d01a7cf5323ce327ebd104cdca7b4a3bc4eebdf574e71e013ba6e + REF "v${VERSION}" + SHA512 62115a6741fd8f0c84ea514b4aaccb62a8ed8e74ef2ad1d2822719ea6b8e3543f3eb1cca4324b4b10cbab9c208f1f021f5a73b76a6f03ae2038f7edad9c922a0 HEAD_REF master ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DVERBOSE=1 -DTLX_BUILD_TESTS=off @@ -25,16 +24,16 @@ vcpkg_configure_cmake( -DTLX_BUILD_SHARED_LIBS=${BUILD_SHARED} ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() if(VCPKG_TARGET_IS_WINDOWS) - vcpkg_fixup_cmake_targets(CONFIG_PATH "CMake/") + vcpkg_cmake_config_fixup(CONFIG_PATH "CMake/") else() - vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/tlx") + vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/tlx") endif() 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) - -vcpkg_fixup_pkgconfig() +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) + +vcpkg_fixup_pkgconfig() diff --git a/ports/tlx/vcpkg.json b/ports/tlx/vcpkg.json index 5433956b112026..c0b1c081ce0762 100644 --- a/ports/tlx/vcpkg.json +++ b/ports/tlx/vcpkg.json @@ -1,7 +1,16 @@ { "name": "tlx", - "version-string": "0.5.20191212", - "port-version": 2, + "version": "0.6.1", "description": "tlx is a collection of C++ helpers and extensions universally needed, but not found in the STL", - "homepage": "https://github.com/tlx/tlx" + "homepage": "https://github.com/tlx/tlx", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/tmx/portfile.cmake b/ports/tmx/portfile.cmake index 1ddf5a4f2020c5..a9a694ad69768e 100644 --- a/ports/tmx/portfile.cmake +++ b/ports/tmx/portfile.cmake @@ -1,9 +1,9 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO baylej/tmx - REF tmx_1.2.0 + REF "tmx_${VERSION}" HEAD_REF master - SHA512 cb29c67af560a1844e798d3fe2677a6b71866943b233c0700212b91de35f252a0a465c33911a2c432aa54be309e3ac10770bc95c6450227e39abe049c1fbbdd1 + SHA512 302e55c6d78947dbac1470855331fb238e2ac681f10414aef1e3dad5c1128b66aeb2fef0c4cb2d03360b5e5b327e46c9e5d7dc5bf15d411c9fa3cf7dd4351b4f ) vcpkg_cmake_configure( @@ -13,9 +13,7 @@ vcpkg_cmake_configure( vcpkg_cmake_install() vcpkg_copy_pdbs() -file(RENAME "${CURRENT_PACKAGES_DIR}/lib/cmake/tmx/tmxExports.cmake" "${CURRENT_PACKAGES_DIR}/lib/cmake/tmx/tmxTargets.cmake") vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/tmx) -file(RENAME "${CURRENT_PACKAGES_DIR}/share/tmx/tmxTargets.cmake" "${CURRENT_PACKAGES_DIR}/share/tmx/tmxExports.cmake") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" diff --git a/ports/tmx/vcpkg.json b/ports/tmx/vcpkg.json index f21eba4edd8abf..c9a95fdbef7cb7 100644 --- a/ports/tmx/vcpkg.json +++ b/ports/tmx/vcpkg.json @@ -1,7 +1,8 @@ { "name": "tmx", - "version": "1.2.0", + "version": "1.10.0", "description": "A portable C library to load tiled maps in your games.", + "license": "BSD-2-Clause", "dependencies": [ "libxml2", { diff --git a/ports/tmxlite/dependencies.patch b/ports/tmxlite/dependencies.patch new file mode 100644 index 00000000000000..e06180650a6f5f --- /dev/null +++ b/ports/tmxlite/dependencies.patch @@ -0,0 +1,29 @@ +diff --git a/tmxlite/CMakeLists.txt b/tmxlite/CMakeLists.txt +index a1b1882..8c0aad6 100644 +--- a/tmxlite/CMakeLists.txt ++++ b/tmxlite/CMakeLists.txt +@@ -68,10 +68,9 @@ if(USE_EXTLIBS) + SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/modules/") + + find_package(ZLIB REQUIRED) +- find_package(PUGIXML REQUIRED) +- find_package(Zstd REQUIRED) ++ find_package(pugixml CONFIG REQUIRED) ++ find_package(zstd CONFIG REQUIRED) + +- include_directories(${ZLIB_INCLUDE_DIRS} ${PUGIXML_INCLUDE_DIR} ${ZSTD_INCLUDE_DIR}) + + else() + #add miniz and pugixml from source +@@ -102,7 +101,10 @@ else() + endif() + + if(USE_EXTLIBS) +- target_link_libraries(${PROJECT_NAME} ${ZLIB_LIBRARIES} ${PUGIXML_LIBRARY} ${ZSTD_LIBRARY}) ++ target_link_libraries(${PROJECT_NAME} PRIVATE ++ $,zstd::libzstd_shared,zstd::libzstd_static> ++ pugixml::pugixml ++ ZLIB::ZLIB) + else() + if(USE_ZSTD) + target_link_libraries(${PROJECT_NAME} ${ZSTD_LIBRARY}) diff --git a/ports/tmxlite/portfile.cmake b/ports/tmxlite/portfile.cmake index ff1fb37a83c0ce..592746d2651b9b 100644 --- a/ports/tmxlite/portfile.cmake +++ b/ports/tmxlite/portfile.cmake @@ -1,21 +1,38 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO fallahn/tmxlite - REF v1.3.0 + REF "v${VERSION}" HEAD_REF master - SHA512 3D432152080F7FDDD14A150FF87C34932695C96D7F676399C7610FF373972223CE54C9483BD9A872FD53668C113E334FCBF8596AE21CFDAF83B6159C7287A4A3 + SHA512 0ffe0505329f00ef9872998673a7c220a9a5352f830688ef17952c0c4f001e0c2994a3a28f0e7de60cc82fff2701561cccbc2143fd51984bf4870e7d1fd0a2ba + PATCHES + dependencies.patch ) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" TMXLITE_STATIC_LIB) + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}/tmxlite" + OPTIONS + -DTMXLITE_STATIC_LIB=${TMXLITE_STATIC_LIB} + -DUSE_EXTLIBS=ON + -DPKGCONF_REQ_PUB=pugixml ) vcpkg_cmake_install() -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +vcpkg_fixup_pkgconfig() +vcpkg_copy_pdbs() + +set(STATIC_POSTFIX "") +if(TMXLITE_STATIC_LIB) + set(STATIC_POSTFIX "-s") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/tmxlite.pc" "-ltmxlite" "-ltmxlite${STATIC_POSTFIX}") +endif() -if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") +if(NOT VCPKG_BUILD_TYPE) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/tmxlite.pc" "-ltmxlite" "-ltmxlite${STATIC_POSTFIX}-d") endif() -file(INSTALL "${SOURCE_PATH}/readme.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) \ No newline at end of file +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/tmxlite/vcpkg.json b/ports/tmxlite/vcpkg.json index 66cbcf47d239df..80a34c80baf4a6 100644 --- a/ports/tmxlite/vcpkg.json +++ b/ports/tmxlite/vcpkg.json @@ -1,8 +1,11 @@ { "name": "tmxlite", - "version": "1.3.0", + "version": "1.4.4", "description": "A lightweight C++14 parsing library for tmx map files created with the Tiled map editor.", + "homepage": "https://github.com/fallahn/tmxlite", + "license": "Zlib", "dependencies": [ + "pugixml", { "name": "vcpkg-cmake", "host": true @@ -10,6 +13,8 @@ { "name": "vcpkg-cmake-config", "host": true - } + }, + "zlib", + "zstd" ] } diff --git a/ports/tmxparser/disable_werror.patch b/ports/tmxparser/disable_werror.patch new file mode 100644 index 00000000000000..5328959c36a194 --- /dev/null +++ b/ports/tmxparser/disable_werror.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 69a0df0..5bb8de6 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -106,7 +106,7 @@ target_compile_options(tmxparser + PRIVATE -Werror=strict-prototypes + PRIVATE -Werror=old-style-definition + PRIVATE -Werror=missing-prototypes) +-if(NOT USE_MINIZ) ++if(0) + target_compile_options(tmxparser + PRIVATE -Werror) + endif() diff --git a/ports/tmxparser/fix_dependencies.patch b/ports/tmxparser/fix_dependencies.patch new file mode 100644 index 00000000000000..cff92651f26450 --- /dev/null +++ b/ports/tmxparser/fix_dependencies.patch @@ -0,0 +1,34 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 69a0df0..43e5dd9 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -4,7 +4,7 @@ project(tmxparser) + + include(GNUInstallDirs) + +-set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/cmake ${CMAKE_MODULE_PATH}) ++#set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/cmake ${CMAKE_MODULE_PATH}) + + set(TMXPARSER_VERSION_MAJOR 2) + set(TMXPARSER_VERSION_MINOR 1) +@@ -25,9 +25,9 @@ option(BUILD_TESTS "Build tests. (default: OFF)" OFF) + option(BUILD_DOCS "Build documentation. (default: OFF)" OFF) + + #Dependencies Settings +-include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/deps.cmake) ++#include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/deps.cmake) + +-find_package(tinyxml2 REQUIRED) ++find_package(tinyxml2 CONFIG REQUIRED) + + if(NOT USE_MINIZ) + find_package(ZLIB) #<-- build it as external project? +@@ -115,7 +115,7 @@ target_compile_features(tmxparser + PRIVATE cxx_std_11) + + target_link_libraries(tmxparser +- PRIVATE tinyxml2) ++ PRIVATE tinyxml2::tinyxml2) + + if(NOT USE_MINIZ) + target_link_libraries(tmxparser diff --git a/ports/tmxparser/fix_include_paths.patch b/ports/tmxparser/fix_include_paths.patch deleted file mode 100644 index fedcb43bc55b25..00000000000000 --- a/ports/tmxparser/fix_include_paths.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 9d06cb4..593bbfd 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -43,6 +43,8 @@ endif (NOT USE_MINIZ) - - set(EXAMPLE_CFLAGS "-std=c++11 -pedantic -Werror -Wall -g") - #include_directories("${PROJECT_SOURCE_DIR}/include") -+include_directories("${PROJECT_BINARY_DIR}") -+include_directories("${PROJECT_SOURCE_DIR}/src") - - add_library(tmxparser_static STATIC ${SOURCES} ${HEADERS}) - set_target_properties(tmxparser_static PROPERTIES -@@ -67,8 +69,6 @@ add_executable(run_tests test/test.cpp) - set_target_properties(run_tests PROPERTIES - COMPILE_FLAGS ${EXAMPLE_CFLAGS}) - target_link_libraries(run_tests tmxparser ${TINYXML2_LIBRARIES}) --include_directories("${PROJECT_BINARY_DIR}") --include_directories("${PROJECT_SOURCE_DIR}/src") - - install(FILES ${HEADERS} DESTINATION include/tmxparser) - install(TARGETS tmxparser tmxparser_static DESTINATION lib) diff --git a/ports/tmxparser/portfile.cmake b/ports/tmxparser/portfile.cmake index cf45ef27266826..be0f05f48068b2 100644 --- a/ports/tmxparser/portfile.cmake +++ b/ports/tmxparser/portfile.cmake @@ -1,39 +1,30 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO sainteos/tmxparser - REF v2.1.0 + REF d314b3115c7ed86a939eefcb6009a495f043a346 # 2019-10-14 HEAD_REF master - SHA512 011cce3bb98057f8e2a0a82863fedb7c4b9e41324d5cfa6daade4d000c3f6c8c157da7b153f7f2564ecdefe8019fc8446c9b1b8a675be04329b04a0891ee1c27 + SHA512 b4c087ae46b02b632427d8e4af1b5b8c43ab4f1efba21d2d705e1501aa8f33b97e03bf4e621ad4d4e14c19b1c890416332a56a2305c81930facfb8954bedee26 PATCHES - fix_include_paths.patch + fix_dependencies.patch + disable_werror.patch # https://github.com/microsoft/vcpkg/pull/28139#issuecomment-1336119855 ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DCMAKE_CXX_STANDARD=11 # 17 removes `std::ptr_fun` + -DCMAKE_REQUIRE_FIND_PACKAGE_ZLIB=ON ) -vcpkg_install_cmake() -vcpkg_copy_pdbs() +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake) +vcpkg_fixup_pkgconfig() file(REMOVE_RECURSE - ${CURRENT_PACKAGES_DIR}/debug/include - ${CURRENT_PACKAGES_DIR}/debug/share + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" ) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(GLOB LIBS ${CURRENT_PACKAGES_DIR}/lib/*.so* ${CURRENT_PACKAGES_DIR}/debug/lib/*.so*) - if(LIBS) - file(REMOVE ${LIBS}) - endif() -else() - file(GLOB LIBS ${CURRENT_PACKAGES_DIR}/lib/*.a ${CURRENT_PACKAGES_DIR}/debug/lib/*.a) - if(LIBS) - file(REMOVE ${LIBS}) - endif() -endif() - # Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) - -vcpkg_fixup_pkgconfig() +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/tmxparser/vcpkg.json b/ports/tmxparser/vcpkg.json index 9beb4ea250ab42..6cf05c5e804bd8 100644 --- a/ports/tmxparser/vcpkg.json +++ b/ports/tmxparser/vcpkg.json @@ -1,10 +1,20 @@ { "name": "tmxparser", - "version-string": "2.1.0", - "port-version": 6, + "version-date": "2019-10-14", + "port-version": 1, "description": "C++11 library for parsing the maps generated by the Map Editor called Tiled.", + "license": "BSD-2-Clause", + "supports": "!windows", "dependencies": [ "tinyxml2", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, "zlib" ] } diff --git a/ports/tobias-loew-flags/add-install-configuration.patch b/ports/tobias-loew-flags/add-install-configuration.patch new file mode 100644 index 00000000000000..02e67101374ee0 --- /dev/null +++ b/ports/tobias-loew-flags/add-install-configuration.patch @@ -0,0 +1,62 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 78d96ff..3215aca 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -65,7 +65,39 @@ endif() + ################################################## + add_library(boost_flags INTERFACE) + #target_include_directories(boost_flags PUBLIC ${Boost_INCLUDE_DIRS}) +-target_include_directories(boost_flags INTERFACE ${CMAKE_SOURCE_DIR}/include) ++target_include_directories(boost_flags ++ INTERFACE ++ $ ++ $ ++ ) ++set_target_properties(boost_flags PROPERTIES ++ EXPORT_NAME flags ++) ++include(CMakePackageConfigHelpers) ++ ++configure_package_config_file( ++ cmake/unofficial-tobias-loew-flags-config.cmake.in ++ "${CMAKE_CURRENT_BINARY_DIR}/cmake/unofficial-tobias-loew-flags-config.cmake" ++ INSTALL_DESTINATION share/unofficial-tobias-loew-flags/ ++ NO_CHECK_REQUIRED_COMPONENTS_MACRO) ++ ++# Install. ++install(TARGETS boost_flags EXPORT unofficial-tobias-loew-flags) ++ ++install( ++ EXPORT unofficial-tobias-loew-flags ++ NAMESPACE unofficial::tobias-loew-flags:: ++ FILE unofficial-tobias-loew-flags-targets.cmake ++ DESTINATION share/unofficial-tobias-loew-flags/) ++ ++install(DIRECTORY include/boost DESTINATION include) ++ ++install( ++ FILES ++ "${CMAKE_CURRENT_BINARY_DIR}/cmake/unofficial-tobias-loew-flags-config.cmake" ++ DESTINATION share/unofficial-tobias-loew-flags) ++ ++if(0) + if (Boost_FOUND) + target_include_directories(boost_flags INTERFACE ${Boost_INCLUDE_DIRS}) + endif() +@@ -79,4 +111,5 @@ endif() + # Subdirectories + ################################################## + add_subdirectory(test) ++endif() + # add_subdirectory(example) +diff --git a/cmake/unofficial-tobias-loew-flags-config.cmake.in b/cmake/unofficial-tobias-loew-flags-config.cmake.in +new file mode 100644 +index 0000000..9a784e1 +--- /dev/null ++++ b/cmake/unofficial-tobias-loew-flags-config.cmake.in +@@ -0,0 +1,5 @@ ++ ++@PACKAGE_INIT@ ++ ++include("${CMAKE_CURRENT_LIST_DIR}/unofficial-tobias-loew-flags-targets.cmake") ++ diff --git a/ports/tobias-loew-flags/portfile.cmake b/ports/tobias-loew-flags/portfile.cmake new file mode 100644 index 00000000000000..fa9806ccd8d90c --- /dev/null +++ b/ports/tobias-loew-flags/portfile.cmake @@ -0,0 +1,18 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO tobias-loew/flags + REF 7a3cb950b79e7ab596ae22da30fa685c70ef497b + SHA512 a7835c3508830c1e215c301588ca26be84a6e1ca6ed4bfb5a3225bb390bf0637ac368bd7214e56809b24f6ac26a9e6f9478adf03d8e9140c2bd430c88f1c8f26 + HEAD_REF main + PATCHES add-install-configuration.patch +) + +set(VCPKG_BUILD_TYPE release) # header-only + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" +) + +vcpkg_cmake_install() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/tobias-loew-flags/vcpkg.json b/ports/tobias-loew-flags/vcpkg.json new file mode 100644 index 00000000000000..36a79459413c1b --- /dev/null +++ b/ports/tobias-loew-flags/vcpkg.json @@ -0,0 +1,13 @@ +{ + "name": "tobias-loew-flags", + "version-date": "2024-09-10", + "description": "type-safe bitwise operations in C++, to be proposed for Boost", + "homepage": "https://tobias-loew.github.io/flags/doc/html/flags.html", + "license": "BSL-1.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] +} diff --git a/ports/toml11/portfile.cmake b/ports/toml11/portfile.cmake index 3e5729bc78b62a..f18ea8579da187 100644 --- a/ports/toml11/portfile.cmake +++ b/ports/toml11/portfile.cmake @@ -1,27 +1,21 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ToruNiina/toml11 - REF v3.7.0 - SHA512 093833ea4354ab91f54c0a346e51d38e297b8c347241f679c023e65fe580edca7852d934a0a0d371524426f61e58ee3a9638061b1230cd72be7ff55fcf12370c + REF "v${VERSION}" + SHA512 acb29d37150e5752526cf0a38ae7f207fcfd142d3c78d280e706ad404b2d32f5bae6d44d6ce13cc0bdfd3b0fa4a0a94cf732d70b1fd2a01c3c517fee8a4ef05b HEAD_REF master ) vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -Dtoml11_BUILD_TEST=OFF + -DCMAKE_CXX_STANDARD=11 ) vcpkg_cmake_install() vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/toml11) -vcpkg_replace_string( - "${CURRENT_PACKAGES_DIR}/share/toml11/toml11Config.cmake" - "\${PACKAGE_PREFIX_DIR}/lib/cmake/toml11/toml11Targets.cmake" - "\${PACKAGE_PREFIX_DIR}/share/toml11/toml11Targets.cmake" -) - 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) \ No newline at end of file +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/toml11/vcpkg.json b/ports/toml11/vcpkg.json index de82e84e0dd77f..55b4c64dbaff82 100644 --- a/ports/toml11/vcpkg.json +++ b/ports/toml11/vcpkg.json @@ -1,8 +1,9 @@ { "name": "toml11", - "version": "3.7.0", + "version": "4.2.0", "description": "A C++11 header-only toml parser/encoder depending only on C++ standard library.", "homepage": "https://github.com/ToruNiina/toml11", + "license": "MIT", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/tomlplusplus/fix-android-fileapi.patch b/ports/tomlplusplus/fix-android-fileapi.patch new file mode 100644 index 00000000000000..7d78bf7244a5fc --- /dev/null +++ b/ports/tomlplusplus/fix-android-fileapi.patch @@ -0,0 +1,17 @@ +diff --git a/include/toml++/impl/parser.inl b/include/toml++/impl/parser.inl +index 6f0136f..be37f0d 100644 +--- a/include/toml++/impl/parser.inl ++++ b/include/toml++/impl/parser.inl +@@ -23,6 +23,12 @@ + #include "unicode.hpp" + TOML_DISABLE_WARNINGS; + #include ++ ++#if defined(__ANDROID_API__) && __ANDROID_API__ < 24 ++ // Cf. https://android.googlesource.com/platform/bionic/+/master/docs/32-bit-abi.md#32_bit-and ++ #define ftello ftell ++ #define fseeko fseek ++#endif + #include + #if TOML_INT_CHARCONV || TOML_FLOAT_CHARCONV + #include diff --git a/ports/tomlplusplus/portfile.cmake b/ports/tomlplusplus/portfile.cmake index 406224e8df632d..25cb4544c60b55 100644 --- a/ports/tomlplusplus/portfile.cmake +++ b/ports/tomlplusplus/portfile.cmake @@ -1,26 +1,23 @@ -vcpkg_fail_port_install(ON_ARCH "arm" "arm64" ON_TARGET "osx" "uwp") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO marzer/tomlplusplus - REF v2.5.0 - SHA512 7394cda2009b37e88f9028ee5d1887120bed7042833c7cb218d7705cdc92273c81a84163ff0be034d3f23c8dd93e63b7615134a4b0e1c580e1e945fae45c7d35 + REF "v${VERSION}" + SHA512 c227fc8147c9459b29ad24002aaf6ab2c42fac22ea04c1c52b283a0172581ccd4527b33c1931e0ef0d1db6b6a53f9e9882c6d4231c7f3494cf070d0220741aa5 HEAD_REF master + PATCHES + fix-android-fileapi.patch ) vcpkg_configure_meson( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -Dgenerate_cmake_config=true + -Dgenerate_cmake_config=false -Dbuild_tests=false -Dbuild_examples=false ) vcpkg_install_meson() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) vcpkg_fixup_pkgconfig() -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug" - "${CURRENT_PACKAGES_DIR}/lib") - -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/tomlplusplus/usage b/ports/tomlplusplus/usage new file mode 100644 index 00000000000000..b178ba27df28d0 --- /dev/null +++ b/ports/tomlplusplus/usage @@ -0,0 +1,5 @@ +The package tomlplusplus can be imported via CMake FindPkgConfig module: + + find_package(PkgConfig REQUIRED) + pkg_check_modules(tomlplusplus REQUIRED IMPORTED_TARGET tomlplusplus) + target_link_libraries(main PkgConfig::tomlplusplus) diff --git a/ports/tomlplusplus/vcpkg.json b/ports/tomlplusplus/vcpkg.json index 08d6aeb2908b15..bdde65521ad65a 100644 --- a/ports/tomlplusplus/vcpkg.json +++ b/ports/tomlplusplus/vcpkg.json @@ -1,7 +1,14 @@ { "name": "tomlplusplus", - "version": "2.5.0", + "version": "3.4.0", "description": "Header-only TOML config file parser and serializer for modern C++.", "homepage": "https://marzer.github.io/tomlplusplus/", - "supports": "!(arm | uwp | osx)" + "license": "MIT", + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-tool-meson", + "host": true + } + ] } diff --git a/ports/tomsolver/portfile.cmake b/ports/tomsolver/portfile.cmake new file mode 100644 index 00000000000000..0cef15d4991208 --- /dev/null +++ b/ports/tomsolver/portfile.cmake @@ -0,0 +1,22 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO tomwillow/tomsolver + REF "${VERSION}" + SHA512 332301dc8df2756818e709655f726193dd424fb04fba2e18b4264fa078120a6da9cc6a164c930a440439b1b34f7f6a8afc9263db5e8c16e6cd99391296ab0296 + HEAD_REF master +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_EXAMPLES=OFF + -DBUILD_TESTS=OFF +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/tomsolver/vcpkg.json b/ports/tomsolver/vcpkg.json new file mode 100644 index 00000000000000..bfb9ce34297c63 --- /dev/null +++ b/ports/tomsolver/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "tomsolver", + "version": "1.0.0", + "description": "Simplest, Well-tested, Non-linear equations solver library.", + "homepage": "https://github.com/tomwillow/tomsolver", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/tool-meson/portfile.cmake b/ports/tool-meson/portfile.cmake deleted file mode 100644 index c39e614071f42d..00000000000000 --- a/ports/tool-meson/portfile.cmake +++ /dev/null @@ -1,7 +0,0 @@ -# This port represents a dependency on the Meson build system. -# In the future, it is expected that this port acquires and installs Meson. -# Currently is used in ports that call vcpkg_find_acquire_program(MESON) in order to force rebuilds. - -set(VCPKG_POLICY_EMPTY_PACKAGE enabled) -vcpkg_find_acquire_program(MESON) -message(STATUS "Using meson: ${MESON}") \ No newline at end of file diff --git a/ports/tool-meson/vcpkg.json b/ports/tool-meson/vcpkg.json deleted file mode 100644 index 936b5d6c54ab48..00000000000000 --- a/ports/tool-meson/vcpkg.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "tool-meson", - "version": "0.58.1", - "description": "Meson build system", - "homepage": "https://github.com/mesonbuild/meson" -} diff --git a/ports/torch-th/fix-arm64-osx-config.patch b/ports/torch-th/fix-arm64-osx-config.patch new file mode 100644 index 00000000000000..de6b0017269ea7 --- /dev/null +++ b/ports/torch-th/fix-arm64-osx-config.patch @@ -0,0 +1,13 @@ +diff --git a/lib/TH/cmake/FindARM.cmake b/lib/TH/cmake/FindARM.cmake +index 2dcb2a2..9d68601 100644 +--- a/lib/TH/cmake/FindARM.cmake ++++ b/lib/TH/cmake/FindARM.cmake +@@ -45,7 +45,7 @@ ELSEIF(CMAKE_SYSTEM_NAME MATCHES "Darwin") + CPUINFO) + + #neon instruction can be found on the majority part of modern ARM processor +- STRING(REGEX REPLACE "^.*(neon).*$" "\\1" NEON_THERE ${CPUINFO}) ++ STRING(REGEX REPLACE "^.*(neon).*$" "\\1" NEON_THERE "${CPUINFO}") + STRING(COMPARE EQUAL "neon" "${NEON_THERE}" NEON_TRUE) + IF (NEON_TRUE) + set(NEON_FOUND true CACHE BOOL "NEON available on host") diff --git a/ports/torch-th/portfile.cmake b/ports/torch-th/portfile.cmake index 7fd23944b5eb90..5850724e8fcf2f 100644 --- a/ports/torch-th/portfile.cmake +++ b/ports/torch-th/portfile.cmake @@ -8,19 +8,19 @@ vcpkg_from_github( HEAD_REF master PATCHES debug.patch + fix-arm64-osx-config.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH}/lib/TH - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/lib/TH" OPTIONS -DWITH_OPENMP=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share/cmake) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/cmake") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL ${SOURCE_PATH}/COPYRIGHT.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/torch-th RENAME copyright) +file(INSTALL "${SOURCE_PATH}/COPYRIGHT.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/torch-th" RENAME copyright) diff --git a/ports/torch-th/vcpkg.json b/ports/torch-th/vcpkg.json index 81f500f820fe71..a2da610f09bc3e 100644 --- a/ports/torch-th/vcpkg.json +++ b/ports/torch-th/vcpkg.json @@ -1,7 +1,14 @@ { "name": "torch-th", - "version-string": "2019-04-19", - "port-version": 3, + "version-date": "2019-04-19", + "port-version": 4, "description": "Torch's TH library", - "homepage": "https://github.com/torch/torch7" + "homepage": "https://github.com/torch/torch7", + "license": "BSD-3-Clause", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/tracy/build-tools.patch b/ports/tracy/build-tools.patch new file mode 100644 index 00000000000000..8c0cb2ee33d2cb --- /dev/null +++ b/ports/tracy/build-tools.patch @@ -0,0 +1,38 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 72901a8c..365724a8 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -193,3 +193,15 @@ if(TRACY_CLIENT_PYTHON) + + add_subdirectory(python) + endif() ++ ++option(VCPKG_CLI_TOOLS "library" OFF) ++option(VCPKG_GUI_TOOLS "library" OFF) ++if(VCPKG_CLI_TOOLS) ++ add_subdirectory(csvexport) ++ add_subdirectory(capture) ++ add_subdirectory(import) ++ add_subdirectory(update) ++endif() ++if(VCPKG_GUI_TOOLS) ++ add_subdirectory(profiler) ++endif() +diff --git a/cmake/server.cmake b/cmake/server.cmake +index c12a3408..0d55cf91 100644 +--- a/cmake/server.cmake ++++ b/cmake/server.cmake +@@ -1,3 +1,4 @@ ++include_guard(GLOBAL) + set(TRACY_COMMON_DIR ${CMAKE_CURRENT_LIST_DIR}/../public/common) + + set(TRACY_COMMON_SOURCES +diff --git a/cmake/vendor.cmake b/cmake/vendor.cmake +index 29f12cfa..40b3e078 100644 +--- a/cmake/vendor.cmake ++++ b/cmake/vendor.cmake +@@ -1,3 +1,4 @@ ++include_guard(GLOBAL) + # Vendor Specific CMake + # The Tracy project keeps most vendor source locally + diff --git a/ports/tracy/portfile.cmake b/ports/tracy/portfile.cmake new file mode 100644 index 00000000000000..cf798c34d0cc46 --- /dev/null +++ b/ports/tracy/portfile.cmake @@ -0,0 +1,66 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO wolfpld/tracy + REF "v${VERSION}" + SHA512 d3d99284e3c3172236c3f02b3bc52df111ef650fb8609e54fb3302ece28e55a06cd16713ed532f1e1aad66678ff09639dfc7e01a1e96880fb923b267a1b1b79b + HEAD_REF master + PATCHES + build-tools.patch +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + on-demand TRACY_ON_DEMAND + fibers TRACY_FIBERS + verbose TRACY_VERBOSE + INVERTED_FEATURES + crash-handler TRACY_NO_CRASH_HANDLER +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS TOOLS_OPTIONS + FEATURES + cli-tools VCPKG_CLI_TOOLS + gui-tools VCPKG_GUI_TOOLS +) + +if("cli-tools" IN_LIST FEATURES OR "gui-tools" IN_LIST FEATURES) + vcpkg_find_acquire_program(PKGCONFIG) + list(APPEND TOOLS_OPTIONS "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}") +endif() + +vcpkg_cmake_configure( + SOURCE_PATH ${SOURCE_PATH} + OPTIONS + -DDOWNLOAD_CAPSTONE=OFF + -DLEGACY=ON + ${FEATURE_OPTIONS} + OPTIONS_RELEASE + ${TOOLS_OPTIONS} + MAYBE_UNUSED_VARIABLES + DOWNLOAD_CAPSTONE + LEGACY +) +vcpkg_cmake_install() +vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup(PACKAGE_NAME Tracy) + +function(tracy_copy_tool tool_name tool_dir) + vcpkg_copy_tools( + TOOL_NAMES "${tool_name}" + SEARCH_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/${tool_dir}" + ) +endfunction() + +if("cli-tools" IN_LIST FEATURES) + tracy_copy_tool(tracy-capture capture) + tracy_copy_tool(tracy-csvexport csvexport) + tracy_copy_tool(tracy-import-chrome import) + tracy_copy_tool(tracy-import-fuchsia import) + tracy_copy_tool(tracy-update update) +endif() +if("gui-tools" IN_LIST FEATURES) + tracy_copy_tool(tracy-profiler profiler) +endif() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/tracy/vcpkg.json b/ports/tracy/vcpkg.json new file mode 100644 index 00000000000000..34c8d451122303 --- /dev/null +++ b/ports/tracy/vcpkg.json @@ -0,0 +1,90 @@ +{ + "name": "tracy", + "version": "0.11.1", + "port-version": 1, + "description": "A real time, nanosecond resolution, remote telemetry, hybrid frame and sampling profiler for games and other applications.", + "homepage": "https://github.com/wolfpld/tracy", + "license": "BSD-3-Clause", + "supports": "!(windows & (arm | uwp))", + "dependencies": [ + { + "name": "pthreads", + "platform": "!windows" + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "default-features": [ + "crash-handler" + ], + "features": { + "cli-tools": { + "description": "Build Tracy command-line tools: `capture`, `csvexport`, `import-chrome`, `import-fuchsia` and `update`", + "supports": "!(windows & x86)", + "dependencies": [ + { + "name": "capstone", + "features": [ + "arm", + "arm64", + "x86" + ] + }, + { + "name": "dbus", + "default-features": false, + "platform": "!windows" + }, + "freetype", + "glfw3", + { + "name": "tbb", + "platform": "!windows" + } + ] + }, + "crash-handler": { + "description": "Enable crash handler" + }, + "fibers": { + "description": "Enable fibers support" + }, + "gui-tools": { + "description": "Build Tracy GUI tool: `profiler` (aka `Tracy` executable)", + "supports": "!(windows & x86)", + "dependencies": [ + { + "name": "capstone", + "features": [ + "arm", + "arm64", + "x86" + ] + }, + { + "name": "dbus", + "default-features": false, + "platform": "!windows" + }, + "freetype", + "glfw3", + { + "name": "tbb", + "platform": "!windows" + } + ] + }, + "on-demand": { + "description": "Enable on-demand profiling" + }, + "verbose": { + "description": "Enables verbose logging" + } + } +} diff --git a/ports/transwarp/portfile.cmake b/ports/transwarp/portfile.cmake index 1535c08294a5b2..873af55d446d0a 100644 --- a/ports/transwarp/portfile.cmake +++ b/ports/transwarp/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO bloomen/transwarp - REF 2.2.2 - SHA512 32e5dce698bff565f98ac73e7a4213858f5024003f01d798a6f7eb99289f192dd56b45c975c0e42be36e28e0b828c9810f5d27e62312649606b78ec93e4afae4 + REF "${VERSION}" + SHA512 f420a74513b1b1dfd1cba3e2447f3832098f75c6e9a5f7aff3a7b2567ddca07646d49c90b377299642443dadd968dc98695661a1db33f9426e112559a83f2154 HEAD_REF master ) diff --git a/ports/transwarp/vcpkg.json b/ports/transwarp/vcpkg.json index de9a2a114d908e..04a6fc6a8d17ac 100644 --- a/ports/transwarp/vcpkg.json +++ b/ports/transwarp/vcpkg.json @@ -1,6 +1,6 @@ { "name": "transwarp", - "version": "2.2.2", + "version": "2.2.3", "description": "A header-only C++ library for task concurrency", "homepage": "https://github.com/bloomen/transwarp", "license": "MIT", diff --git a/ports/trantor/000-fix-deps.patch b/ports/trantor/000-fix-deps.patch new file mode 100644 index 00000000000000..40f79776293c44 --- /dev/null +++ b/ports/trantor/000-fix-deps.patch @@ -0,0 +1,44 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a0b10de..ee63bc8 100755 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -245,7 +245,7 @@ endif(HAVE_SPDLOG) + + set(HAVE_C-ARES NO) + if(BUILD_C-ARES) +- find_package(c-ares) ++ find_package(c-ares CONFIG) + if(c-ares_FOUND) + message(STATUS "c-ares found!") + set(HAVE_C-ARES TRUE) +@@ -256,7 +256,7 @@ if(HAVE_C-ARES) + if(NOT BUILD_SHARED_LIBS) + target_compile_definitions(${PROJECT_NAME} PRIVATE CARES_STATICLIB) + endif() +- target_link_libraries(${PROJECT_NAME} PRIVATE c-ares_lib) ++ target_link_libraries(${PROJECT_NAME} PRIVATE c-ares::cares) + set(TRANTOR_SOURCES ${TRANTOR_SOURCES} trantor/net/inner/AresResolver.cc) + set(private_headers ${private_headers} trantor/net/inner/AresResolver.h) + if(APPLE) +@@ -382,8 +382,6 @@ write_basic_package_version_file( + install( + FILES "${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/TrantorConfig.cmake" + "${CMAKE_CURRENT_BINARY_DIR}/TrantorConfigVersion.cmake" +- "${CMAKE_CURRENT_SOURCE_DIR}/cmake_modules/Findc-ares.cmake" +- "${CMAKE_CURRENT_SOURCE_DIR}/cmake_modules/FindBotan.cmake" + DESTINATION "${INSTALL_TRANTOR_CMAKE_DIR}" + COMPONENT dev + ) +diff --git a/cmake/templates/TrantorConfig.cmake.in b/cmake/templates/TrantorConfig.cmake.in +index e9422ed..142d1d6 100644 +--- a/cmake/templates/TrantorConfig.cmake.in ++++ b/cmake/templates/TrantorConfig.cmake.in +@@ -19,7 +19,7 @@ if(@Botan_FOUND@) + find_dependency(Botan) + endif() + if(@c-ares_FOUND@) +- find_dependency(c-ares) ++ find_dependency(c-ares CONFIG) + endif() + find_dependency(Threads) + if(@spdlog_FOUND@) diff --git a/ports/trantor/001-disable-werror.patch b/ports/trantor/001-disable-werror.patch new file mode 100644 index 00000000000000..659079f37bd001 --- /dev/null +++ b/ports/trantor/001-disable-werror.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ee63bc8..4328c70 100755 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -76,7 +76,7 @@ if(NOT + "Windows" + AND CMAKE_CXX_COMPILER_ID MATCHES Clang|GNU + ) +- target_compile_options(${PROJECT_NAME} PRIVATE -Wall -Wextra -Werror) ++ target_compile_options(${PROJECT_NAME} PRIVATE -Wall -Wextra) + endif() + + if(${CMAKE_SYSTEM_NAME} STREQUAL "Haiku") diff --git a/ports/trantor/portfile.cmake b/ports/trantor/portfile.cmake index 95ef049c54fb82..516f853af0e769 100644 --- a/ports/trantor/portfile.cmake +++ b/ports/trantor/portfile.cmake @@ -1,11 +1,12 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO an-tao/trantor - REF v1.5.1 - SHA512 9f6664abc94943598805192ee09a98340e6e20efb15e448aac5e21480f1798b0991782d18766f5ef54399251d4980c2f68aeda3136c7e058e3c31623c8f7ce3f + REF "v${VERSION}" + SHA512 ccfd85186356bebe39ef596daac1f9525386a6ce4258fe383627740b3a2906f030560ef84aa33f58b91706545c365981cb3ccd97e2fd6e6ae250a020a11bac80 HEAD_REF master PATCHES - vcpkg.patch + 000-fix-deps.patch + 001-disable-werror.patch ) vcpkg_cmake_configure( @@ -19,11 +20,8 @@ vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/Trantor) vcpkg_fixup_pkgconfig() -# # Remove includes in debug 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) -# Copy pdb files vcpkg_copy_pdbs() diff --git a/ports/trantor/vcpkg.json b/ports/trantor/vcpkg.json index 122efa0a7c72c1..a668fd9d92f784 100644 --- a/ports/trantor/vcpkg.json +++ b/ports/trantor/vcpkg.json @@ -1,8 +1,9 @@ { "name": "trantor", - "version-semver": "1.5.1", + "version-semver": "1.5.21", "description": "A non-blocking I/O cross-platform TCP network library, using C++14", "homepage": "https://github.com/an-tao/trantor", + "license": "BSD-2-Clause", "dependencies": [ "c-ares", "openssl", diff --git a/ports/trantor/vcpkg.patch b/ports/trantor/vcpkg.patch deleted file mode 100644 index 5e484c8568f7ca..00000000000000 --- a/ports/trantor/vcpkg.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index ad5a1b3..7d59844 100755 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -133,6 +133,9 @@ if(c-ares_FOUND) - set(private_headers - ${private_headers} - trantor/net/inner/AresResolver.h) -+ if(APPLE) -+ target_link_libraries(${PROJECT_NAME} PRIVATE resolv) -+ endif() - else(c-ares_FOUND) - set(TRANTOR_SOURCES - ${TRANTOR_SOURCES} diff --git a/ports/tre/CMakeLists.txt b/ports/tre/CMakeLists.txt index 09113fca100532..bfef8210a3aa81 100644 --- a/ports/tre/CMakeLists.txt +++ b/ports/tre/CMakeLists.txt @@ -25,13 +25,25 @@ set (SRCS include_directories(win32 include/tre) add_definitions(-D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_WARNINGS -DHAVE_CONFIG_H) +if (WIN32) + add_definitions(-DHAVE_MALLOC_H) +endif() add_library(tre ${SRCS}) +target_include_directories(tre PUBLIC "$") + install( TARGETS tre + EXPORT unofficial-tre-targets RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib ) +install( + EXPORT unofficial-tre-targets + NAMESPACE unofficial::tre:: + FILE unofficial-tre-config.cmake + DESTINATION share/unofficial-tre) + install(FILES ${HEADERS} DESTINATION include/tre) diff --git a/ports/tre/fix-config.patch b/ports/tre/fix-config.patch new file mode 100644 index 00000000000000..89303ae8d32e03 --- /dev/null +++ b/ports/tre/fix-config.patch @@ -0,0 +1,17 @@ +diff --git a/win32/config.h b/win32/config.h +index 93b8210..db7a9e1 100644 +--- a/win32/config.h ++++ b/win32/config.h +@@ -20,7 +20,6 @@ + /* #undef HAVE_ALLOCA_H */ + + /* Define to 1 if you have and it should be used. */ +-#define HAVE_MALLOC_H 1 + + /* Define if the GNU dcgettext() function is already present or preinstalled. + */ +@@ -180,4 +179,3 @@ + /* Avoid silly warnings about "insecure" functions. */ + #define _CRT_SECURE_NO_DEPRECATE 1 + +-#define snprintf sprintf_s diff --git a/ports/tre/portfile.cmake b/ports/tre/portfile.cmake index cbc904e6e3c1b7..1bb2e7c90935cf 100644 --- a/ports/tre/portfile.cmake +++ b/ports/tre/portfile.cmake @@ -4,25 +4,26 @@ vcpkg_from_github( REF 6fb7206b935b35814c5078c20046dbe065435363 SHA512 f1d664719eab23b665d71e34ca3d11f8ba49da23ff20dc28f46d4ce30fe155c12208ba7fd212dbeb20a7037e069909f0c2120ce1fc01074656399805e3289a90 HEAD_REF master + PATCHES + fix-config.patch ) -file(READ ${SOURCE_PATH}/win32/config.h CONFIG_H) -string(REPLACE "#define snprintf sprintf_s" "" CONFIG_H ${CONFIG_H}) -file(WRITE ${SOURCE_PATH}/win32/config.h "${CONFIG_H}") - if(VCPKG_TARGET_IS_MINGW) - vcpkg_replace_string(${SOURCE_PATH}/win32/tre.def "tre.dll" "libtre.dll") + vcpkg_replace_string("${SOURCE_PATH}/win32/tre.def" "tre.dll" "libtre.dll") endif() -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() +vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-${PORT}) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +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/tre RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/tre/usage b/ports/tre/usage new file mode 100644 index 00000000000000..df5d666eb781e4 --- /dev/null +++ b/ports/tre/usage @@ -0,0 +1,4 @@ +tre provides CMake targets: + + find_package(unofficial-tre CONFIG REQUIRED) + target_link_libraries(main PRIVATE unofficial::tre::tre) diff --git a/ports/tre/vcpkg.json b/ports/tre/vcpkg.json index cada62daea61c1..e4ce1b25f265a6 100644 --- a/ports/tre/vcpkg.json +++ b/ports/tre/vcpkg.json @@ -1,7 +1,18 @@ { "name": "tre", - "version-string": "0.8.0", - "port-version": 3, + "version": "0.8.0", + "port-version": 6, "description": "TRE is a lightweight, robust, and efficient POSIX compliant regexp matching library with some exciting features such as approximate (fuzzy) matching.", - "homepage": "https://github.com/laurikari/tre" + "homepage": "https://github.com/laurikari/tre", + "license": "BSD-2-Clause", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/tree-similarity/portfile.cmake b/ports/tree-similarity/portfile.cmake new file mode 100644 index 00000000000000..1d5e214216995d --- /dev/null +++ b/ports/tree-similarity/portfile.cmake @@ -0,0 +1,18 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO DatabaseGroup/tree-similarity + REF 0.1.1 + SHA512 5367f4b694d686456c4ffaaf21c7372fb7012811f3b2ded00c6bc1d18d27ecb7a6a28b3c9bd7cb91cb42c5426321b0b12a2e14ab2c838aa8fc859128b372dded + HEAD_REF master +) + +vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}") + +vcpkg_cmake_install() +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") + +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) + +vcpkg_fixup_pkgconfig() + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") \ No newline at end of file diff --git a/ports/tree-similarity/usage b/ports/tree-similarity/usage new file mode 100644 index 00000000000000..dbdef89643c923 --- /dev/null +++ b/ports/tree-similarity/usage @@ -0,0 +1,4 @@ +tree-similarity provides CMake targets: + + find_path(TREE_SIMILARITY_INCLUDE_DIRS "tree-similiarity") + target_include_directories(main PRIVATE ${TREE_SIMILARITY_INCLUDE_DIRS}) diff --git a/ports/tree-similarity/vcpkg.json b/ports/tree-similarity/vcpkg.json new file mode 100644 index 00000000000000..cb14a3f4d018da --- /dev/null +++ b/ports/tree-similarity/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "tree-similarity", + "version-semver": "0.1.1", + "port-version": 1, + "description": "Tree edit distance (TED) and similarity measurement library, offering multiple algorithm implementation such as APTED and LGM.", + "homepage": "https://github.com/DatabaseGroup/tree-similarity", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/tree-sitter/CMakeLists.txt b/ports/tree-sitter/CMakeLists.txt new file mode 100644 index 00000000000000..aef0bddb6177ba --- /dev/null +++ b/ports/tree-sitter/CMakeLists.txt @@ -0,0 +1,51 @@ +cmake_minimum_required(VERSION 3.20) + +project( + tree-sitter + LANGUAGES C + VERSION 0.20.6 +) + +set(TS_SOVERSION_MAJOR 0) +set(TS_SOVERSION_MINOR 0) + +file(GLOB TS_SRC_FILES "${PROJECT_SOURCE_DIR}/src/*.c") +list(REMOVE_ITEM TS_SRC_FILES "${PROJECT_SOURCE_DIR}/src/lib.c") # skip amalgamation + +include(GNUInstallDirs) + +add_library(tree-sitter ${TS_SRC_FILES}) +target_include_directories( + tree-sitter + PRIVATE $ + PUBLIC $ + $) + +set_target_properties( + tree-sitter + PROPERTIES C_STANDARD 99 + C_STANDARD_REQUIRED ON + POSITION_INDEPENDENT_CODE ON + SOVERSION ${TS_SOVERSION_MAJOR}.${TS_SOVERSION_MINOR}) + +configure_file("${CMAKE_CURRENT_SOURCE_DIR}/tree-sitter.pc.in" + "${CMAKE_CURRENT_BINARY_DIR}/tree-sitter.pc" @ONLY) + +install( + TARGETS tree-sitter + EXPORT unofficial-tree-sitter-config + LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" + ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}") + +install(FILES "${PROJECT_SOURCE_DIR}/include/tree_sitter/api.h" + "${PROJECT_SOURCE_DIR}/include/tree_sitter/parser.h" + DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/tree_sitter") + +install( + EXPORT unofficial-tree-sitter-config + NAMESPACE unofficial::tree-sitter:: + DESTINATION share/unofficial-tree-sitter) + +install(FILES "${CMAKE_CURRENT_BINARY_DIR}/tree-sitter.pc" + DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") diff --git a/ports/tree-sitter/pkgconfig.patch b/ports/tree-sitter/pkgconfig.patch new file mode 100644 index 00000000000000..88de4eca497bb1 --- /dev/null +++ b/ports/tree-sitter/pkgconfig.patch @@ -0,0 +1,22 @@ +diff --git a/tree-sitter.pc.in b/lib/tree-sitter.pc.in +similarity index 61% +rename from tree-sitter.pc.in +rename to lib/tree-sitter.pc.in +index f98816cb..71a3b4f9 100644 +--- a/tree-sitter.pc.in ++++ b/lib/tree-sitter.pc.in +@@ -1,10 +1,10 @@ +-prefix=@PREFIX@ +-libdir=@LIBDIR@ +-includedir=@INCLUDEDIR@ ++prefix=@CMAKE_INSTALL_PREFIX@ ++libdir=${prefix}/lib ++includedir=${prefix}/include + + Name: tree-sitter + Description: An incremental parsing system for programming tools + URL: https://tree-sitter.github.io/ +-Version: @VERSION@ ++Version: @PROJECT_VERSION@ + Libs: -L${libdir} -ltree-sitter + Cflags: -I${includedir} diff --git a/ports/tree-sitter/portfile.cmake b/ports/tree-sitter/portfile.cmake new file mode 100644 index 00000000000000..46ec95667b88c3 --- /dev/null +++ b/ports/tree-sitter/portfile.cmake @@ -0,0 +1,30 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO tree-sitter/tree-sitter + REF ccd6bf554d922596ce905730d98a77af368bba5c #v0.20.6 + SHA512 ab7eeecafc9d7d17093e25479903fa8c77a84ce4c3a41d737d49bcf9348ab6cc55cf3d6cce0229781292c2b05342fbf45641e40545ea3fde09e441e02f2cdb83 + HEAD_REF master + PATCHES pkgconfig.patch +) + +# currently not supported upstream +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() + +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}/lib") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/lib" +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(PACKAGE_NAME "unofficial-tree-sitter") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") + +vcpkg_fixup_pkgconfig() + +# Handle copyright +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/tree-sitter/vcpkg.json b/ports/tree-sitter/vcpkg.json new file mode 100644 index 00000000000000..6941c4db93173d --- /dev/null +++ b/ports/tree-sitter/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "tree-sitter", + "version-semver": "0.20.6", + "port-version": 1, + "description": "An incremental parsing system for programming tools.", + "homepage": "https://github.com/tree-sitter/tree-sitter", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/treehh/copyright b/ports/treehh/copyright index 2fcaf2b3a489a9..98d917afa36674 100644 --- a/ports/treehh/copyright +++ b/ports/treehh/copyright @@ -1,5 +1,5 @@ -Copyright (C) 2001-2020 Kasper Peeters -Distributed under the GNU General Public License version 3. +Copyright (C) 2001-2022 Kasper Peeters +Distributed under the GNU General Public License version 2 or 3. Special permission to use tree.hh under the conditions of a different license can be requested from the author. diff --git a/ports/treehh/portfile.cmake b/ports/treehh/portfile.cmake index 1546f36403d322..e020c546e631b0 100644 --- a/ports/treehh/portfile.cmake +++ b/ports/treehh/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO kpeeters/tree.hh - REF 8dc57bc2bb7cd2fd1d6e777c6b5b58db0c3852ef - SHA512 a40481952802fdfab05159822b012a576ea956135a44f88d93844cb578c49ed5fb6fb7330bce699d7fa6ba1da65d12b284b6e9e6b103eadfd76cbc96d6839db5 + REF 42531adcf9d1ff51c5bc1b068a9c57a8a8a912a7 + SHA512 793981f69a487a5c2aaa654c98725c0b5bbcc086a43b6f1501c5a8359dba87d6e90ff7507313fcf1ded5054a9f2551e174323c9017a9c6ae87da2c2966e73d7f HEAD_REF master ) diff --git a/ports/treehh/vcpkg.json b/ports/treehh/vcpkg.json index 85147876d93c45..7c53a9d476c738 100644 --- a/ports/treehh/vcpkg.json +++ b/ports/treehh/vcpkg.json @@ -1,6 +1,7 @@ { "name": "treehh", - "version": "3.16", + "version": "3.18", "description": "An STL-like C++ header-only tree library", - "homepage": "https://github.com/kpeeters/tree.hh" + "homepage": "https://github.com/kpeeters/tree.hh", + "license": "GPL-2.0-only OR GPL-3.0-only" } diff --git a/ports/treehopper/fix-dependences.patch b/ports/treehopper/fix-dependences.patch new file mode 100644 index 00000000000000..7fdd26a4553832 --- /dev/null +++ b/ports/treehopper/fix-dependences.patch @@ -0,0 +1,42 @@ +diff --git a/C++/API/CMakeLists.txt b/C++/API/CMakeLists.txt +index 8537305..db3d29b 100644 +--- a/C++/API/CMakeLists.txt ++++ b/C++/API/CMakeLists.txt +@@ -37,7 +37,10 @@ if(APPLE) + find_library(IOKIT IOKit) + target_link_libraries(treehopper pthread ${CORE_FOUNDATION} ${IOKIT}) + elseif(UNIX) +- target_link_libraries(treehopper usb-1.0 pthread) ++ find_package(PkgConfig REQUIRED) ++ pkg_check_modules(libusb REQUIRED IMPORTED_TARGET libusb-1.0) ++ ++ target_link_libraries(treehopper PRIVATE PkgConfig::libusb pthread) + elseif(WIN32) + target_link_libraries(treehopper winusb setupapi) + endif(APPLE) +diff --git a/C++/API/inc/ConnectionService.h b/C++/API/inc/ConnectionService.h +index 66d338e..12a0192 100644 +--- a/C++/API/inc/ConnectionService.h ++++ b/C++/API/inc/ConnectionService.h +@@ -8,7 +8,7 @@ + #include + #endif + #ifdef __linux__ +-#include "libusb-1.0/libusb.h" ++#include "libusb.h" + #endif + #include + +diff --git a/C++/API/inc/LibUsbConnection.h b/C++/API/inc/LibUsbConnection.h +index b6d5198..e9cd29e 100644 +--- a/C++/API/inc/LibUsbConnection.h ++++ b/C++/API/inc/LibUsbConnection.h +@@ -6,7 +6,7 @@ + + #include "Treehopper.h" + +-#include ++#include + #include "UsbConnection.h" + + namespace Treehopper { diff --git a/ports/treehopper/portfile.cmake b/ports/treehopper/portfile.cmake index c9e9855ceffbe4..d2b263386875ac 100644 --- a/ports/treehopper/portfile.cmake +++ b/ports/treehopper/portfile.cmake @@ -3,22 +3,22 @@ vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY ONLY_DYNAMIC_CRT) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO treehopper-electronics/treehopper-sdk - REF 1.11.3 + REF "${VERSION}" SHA512 65b748375b798787c8b59f9657151f340920c939c3f079105b9b78f4e3b775125598106c6dfa4feba111a64d30f007003a70110ac767802a7dd1127a25c9fb14 - HEAD_REF master) + HEAD_REF master + PATCHES + fix-dependences.patch +) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH}/C++/API/ - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/C++/API/" ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets() - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) - -file(INSTALL ${SOURCE_PATH}/C++/API/inc/ DESTINATION ${CURRENT_PACKAGES_DIR}/include/Treehopper/) +vcpkg_cmake_config_fixup() -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(INSTALL "${SOURCE_PATH}/C++/API/inc/" DESTINATION "${CURRENT_PACKAGES_DIR}/include/Treehopper/") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/treehopper/vcpkg.json b/ports/treehopper/vcpkg.json index 822c8c949a4fe2..fdf185fb78a49c 100644 --- a/ports/treehopper/vcpkg.json +++ b/ports/treehopper/vcpkg.json @@ -1,10 +1,22 @@ { "name": "treehopper", - "version-string": "1.11.3", - "port-version": 5, + "version": "1.11.3", + "port-version": 9, "description": "Treehopper connects the physical world to your computer, tablet, or smartphone.", "homepage": "https://treehopper.io", + "supports": "!staticcrt & !uwp", "dependencies": [ - "libusb" + { + "name": "libusb", + "platform": "linux" + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/triangle/CMakeLists.txt b/ports/triangle/CMakeLists.txt index 6157c00f37e2b6..4ee1382b23c1ae 100644 --- a/ports/triangle/CMakeLists.txt +++ b/ports/triangle/CMakeLists.txt @@ -1,45 +1,47 @@ -cmake_minimum_required(VERSION 2.8.12) +cmake_minimum_required(VERSION 3.5...3.30) project(triangle) -include(GNUInstallDirs) - -add_library(triangleLib triangle.c exports.def) -add_executable(triangle triangle.c) - -target_compile_definitions(triangleLib PRIVATE -DTRILIBRARY -DANSI_DECLARATORS) -target_compile_definitions(triangle PRIVATE -DANSI_DECLARATORS) -if(WIN32) - target_compile_definitions(triangleLib PRIVATE -DNO_TIMER) - target_compile_definitions(triangle PRIVATE -DNO_TIMER) -endif() - -if (${CMAKE_SYSTEM_NAME} MATCHES "Linux") - target_link_libraries(triangle m) -endif() - -target_include_directories(triangleLib PUBLIC - $ -) +option(BUILD_TOOL "Build the command line tool" OFF) -set_target_properties(triangleLib PROPERTIES POSITION_INDEPENDENT_CODE ON) - -set_target_properties(triangleLib PROPERTIES PUBLIC_HEADER - "${CMAKE_SOURCE_DIR}/triangle.h" -) - -set_target_properties(triangleLib PROPERTIES OUTPUT_NAME "triangle") +include(GNUInstallDirs) -install(TARGETS triangleLib EXPORT triangleTargets +add_library(triangle triangle.c exports.def) +set_target_properties(triangle PROPERTIES PUBLIC_HEADER "${CMAKE_SOURCE_DIR}/triangle.h") +target_compile_definitions(triangle PRIVATE -DTRILIBRARY) + +add_executable(triangle_exe triangle.c) +set_target_properties(triangle_exe PROPERTIES OUTPUT_NAME "triangle") + +foreach(target IN ITEMS triangle triangle_exe) + target_compile_definitions(${target} PRIVATE -DANSI_DECLARATORS) + target_include_directories(${target} PUBLIC + "$" + "$" + ) + if(WIN32) + target_compile_definitions(${target} PRIVATE -DNO_TIMER) + endif() + if(UNIX AND NOT APPLE AND NOT ANDROID) + target_link_libraries(${target} PRIVATE m) + endif() +endforeach() + +install(TARGETS triangle + EXPORT triangle-targets ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} ) -install(TARGETS triangle DESTINATION tools/triangle) - -install(EXPORT triangleTargets - FILE triangleConfig.cmake - NAMESPACE triangle:: - DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/triangle" +install(EXPORT triangle-targets + FILE unofficial-triangle-config.cmake + NAMESPACE unofficial::triangle:: + DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/unofficial-triangle" ) + +if(BUILD_TOOL) + install(TARGETS triangle_exe DESTINATION tools/triangle) +else() + set_target_properties(triangle_exe PROPERTIES EXCLUDE_FROM_ALL 1) +endif() diff --git a/ports/triangle/portfile.cmake b/ports/triangle/portfile.cmake index 38b027986b68f3..630b2dd27bb786 100644 --- a/ports/triangle/portfile.cmake +++ b/ports/triangle/portfile.cmake @@ -1,34 +1,41 @@ -vcpkg_fail_port_install(ON_TARGET "uwp") - vcpkg_download_distfile(ARCHIVE_FILE URLS "http://www.netlib.org/voronoi/triangle.zip" FILENAME "triangle.zip" SHA512 c9c1ac527c4bf836ed877b1c5495abf9fd2c453741f4c9698777e23cde939ebf0dd73c84cec64f35a93ca01bff4b86ce32ec559da33e570a0744a764e46d2186 ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH +vcpkg_extract_source_archive( + SOURCE_PATH NO_REMOVE_ONE_LEVEL - ARCHIVE ${ARCHIVE_FILE} + ARCHIVE "${ARCHIVE_FILE}" PATCHES "enable_64bit_architecture.patch" ) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") +file(COPY "${CMAKE_CURRENT_LIST_DIR}/exports.def" DESTINATION "${SOURCE_PATH}") -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/exports.def DESTINATION ${SOURCE_PATH}) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_check_features(OUT_FEATURE_OPTIONS options + FEATURES + tool BUILD_TOOL ) -vcpkg_install_cmake() +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${options} + OPTIONS_DEBUG + -DBUILD_TOOL=OFF +) +vcpkg_cmake_install() vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-triangle) -vcpkg_fixup_cmake_targets() +# migration polyfill +file(COPY "${CURRENT_PORT_DIR}/triangleConfig.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/triangle") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/tools") -file(INSTALL ${SOURCE_PATH}/README DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +file(COPY "${CURRENT_PORT_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/triangle") +file(INSTALL "${SOURCE_PATH}/README" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/triangle/triangleConfig.cmake b/ports/triangle/triangleConfig.cmake new file mode 100644 index 00000000000000..531d1368de9771 --- /dev/null +++ b/ports/triangle/triangleConfig.cmake @@ -0,0 +1,6 @@ +file(READ "${CMAKE_CURRENT_LIST_DIR}/usage" usage) +message(WARNING "find_package(${CMAKE_FIND_PACKAGE_NAME}) is deprecated.\n${usage}") + +include(CMakeFindDependencyMacro) +find_dependency(unofficial-triangle) +add_library(triangleLib ALIAS unofficial::triangle::triangle) diff --git a/ports/triangle/usage b/ports/triangle/usage new file mode 100644 index 00000000000000..b065965b6885d2 --- /dev/null +++ b/ports/triangle/usage @@ -0,0 +1,4 @@ +triangle provides CMake targets: + + find_package(unofficial-triangle CONFIG REQUIRED) + target_link_libraries(main PRIVATE unofficial::triangle::triangle) diff --git a/ports/triangle/vcpkg.json b/ports/triangle/vcpkg.json index 816f5015221ca4..a4eaefac2c8fe4 100644 --- a/ports/triangle/vcpkg.json +++ b/ports/triangle/vcpkg.json @@ -1,8 +1,24 @@ { "name": "triangle", - "version-string": "1.6", - "port-version": 1, + "version": "1.6", + "port-version": 4, "description": "A Two-Dimensional Quality Mesh Generator and Delaunay Triangulator.", "homepage": "http://www.cs.cmu.edu/~quake/triangle.html", - "supports": "!uwp" + "license": null, + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "tool": { + "description": "Build the command line tool." + } + } } diff --git a/ports/triton/fix_bin_path.patch b/ports/triton/fix_bin_path.patch new file mode 100644 index 00000000000000..13b02bd097eaa8 --- /dev/null +++ b/ports/triton/fix_bin_path.patch @@ -0,0 +1,13 @@ +diff --git a/src/libtriton/CMakeLists.txt b/src/libtriton/CMakeLists.txt +index 3c3ef6b..1adb110 100644 +--- a/src/libtriton/CMakeLists.txt ++++ b/src/libtriton/CMakeLists.txt +@@ -318,7 +318,7 @@ install( + EXPORT tritonTargets + PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/triton" + INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} +- RUNTIME DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ) diff --git a/ports/triton/portfile.cmake b/ports/triton/portfile.cmake new file mode 100644 index 00000000000000..cec442193aa895 --- /dev/null +++ b/ports/triton/portfile.cmake @@ -0,0 +1,51 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO JonathanSalwan/Triton + REF a61651ce331ac53ec09e1d8fef5eab744e98c9de + SHA512 b53befe232e986409789533ac39b371b5701d9b9b72ee47c6486408c57f72800d2192b0f65bd0cc751147fbea2f8c0ef5b6375c913bd1d57393236a619f319c9 + HEAD_REF master + PATCHES + fix_bin_path.patch +) + +string(COMPARE NOTEQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" DYNAMICLIB) +string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" STATICCRT) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + "python" PYTHON_BINDINGS + "boost" BOOST_INTERFACE +) + +set(ADDITIONAL_OPTIONS "") +if(PYTHON_BINDINGS) + vcpkg_find_acquire_program(PYTHON3) + list(APPEND ADDITIONAL_OPTIONS + "-DPYTHON_EXECUTABLE=${PYTHON3}" + ) +endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} + -DZ3_INTERFACE=ON + -DBUILD_SHARED_LIBS=${DYNAMICLIB} + -DMSVC_STATIC=${STATICCRT} + -DBUILD_EXAMPLES=OFF + -DENABLE_TEST=OFF + ${ADDITIONAL_OPTIONS} +) + +vcpkg_cmake_install() +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.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/triton/vcpkg.json b/ports/triton/vcpkg.json new file mode 100644 index 00000000000000..a4d7a73a6cdd03 --- /dev/null +++ b/ports/triton/vcpkg.json @@ -0,0 +1,46 @@ +{ + "name": "triton", + "version-date": "2023-08-16", + "description": "Triton is a Dynamic Binary Analysis (DBA) framework. It provides internal components like a Dynamic Symbolic Execution (DSE) engine, a dynamic taint engine, AST representations of the x86, x86-64, ARM32 and AArch64 Instructions Set Architecture (ISA), SMT simplification passes, an SMT solver interface and, the last but not least, Python bindings.", + "homepage": "https://github.com/JonathanSalwan/Triton", + "license": "Apache-2.0", + "supports": "!arm", + "dependencies": [ + { + "name": "capstone", + "default-features": false, + "features": [ + "arm", + "arm64", + "x86" + ] + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "z3" + ], + "features": { + "boost": { + "description": "Use Boost as multiprecision library", + "dependencies": [ + "boost-multiprecision", + "boost-numeric-conversion" + ] + }, + "python": { + "description": "Build Triton with Python bindings", + "dependencies": [ + { + "name": "python3", + "default-features": false + } + ] + } + } +} diff --git a/ports/trompeloeil/disable_master_project.patch b/ports/trompeloeil/disable_master_project.patch deleted file mode 100644 index 155363d7df8ada..00000000000000 --- a/ports/trompeloeil/disable_master_project.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 6e59ab8..615a6cb 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -34,9 +34,6 @@ target_include_directories( - ) - - set(MASTER_PROJECT OFF) --if (${CMAKE_CURRENT_SOURCE_DIR} STREQUAL ${CMAKE_SOURCE_DIR}) -- set(MASTER_PROJECT ON) --endif() - - if (MASTER_PROJECT AND CMAKE_BUILD_TYPE MATCHES Debug) - diff --git a/ports/trompeloeil/portfile.cmake b/ports/trompeloeil/portfile.cmake index 1390637eb199e0..dd337ab18ec98a 100644 --- a/ports/trompeloeil/portfile.cmake +++ b/ports/trompeloeil/portfile.cmake @@ -1,10 +1,9 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO rollbear/trompeloeil - REF v41 - SHA512 f68a3f1c5f2cd1b49fb8c90612383d68ca1a0bcd1ca6b0a0fbe6e3cef23af011b5503d788023519f182a1221d55774796115f9248caf33175f919fd18e5e43f9 + REF v${VERSION} + SHA512 d6ff22843ac3541eb68bb2a97f5eafc39495704cd13875658aa0dc30a68ddbcc2bcec75848e5529b4bf80f5cc0ad52fb4330e135933c4a47d43d3eed1b3587de HEAD_REF master - PATCHES disable_master_project.patch ) vcpkg_cmake_configure( @@ -21,4 +20,6 @@ if(NOT EXISTS "${CURRENT_PACKAGES_DIR}/include/trompeloeil.hpp") message(FATAL_ERROR "Main includes have moved. Please update the forwarder.") endif() -configure_file("${SOURCE_PATH}/LICENSE_1_0.txt" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE_1_0.txt") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/doc") diff --git a/ports/trompeloeil/vcpkg.json b/ports/trompeloeil/vcpkg.json index 6c70e20d341aee..ba5c0d73b3b2a2 100644 --- a/ports/trompeloeil/vcpkg.json +++ b/ports/trompeloeil/vcpkg.json @@ -1,8 +1,9 @@ { "name": "trompeloeil", - "version": "41", + "version": "48", "description": "A thread-safe header-only mocking framework for C++11/14 using the Boost Software License 1.0", "homepage": "https://github.com/rollbear/trompeloeil", + "license": "BSL-1.0", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/try-catcher/portfile.cmake b/ports/try-catcher/portfile.cmake new file mode 100644 index 00000000000000..f5e67b4eaf434b --- /dev/null +++ b/ports/try-catcher/portfile.cmake @@ -0,0 +1,14 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO daleabarnard/try-catcher + REF 1.0.1 + SHA512 560edd0841c9a85bbef61fb4ad4e76314f04b566586d2990a0c582a67259803350a217ad3dacc1401917d23a2c929b1529e0a1e717f707480b6240e953ed8155 + HEAD_REF main +) + +# This is a header-only modern C++ package. +file(INSTALL "${SOURCE_PATH}/TryCatcher.h" 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") diff --git a/ports/try-catcher/usage b/ports/try-catcher/usage new file mode 100644 index 00000000000000..8a9f12b90934b3 --- /dev/null +++ b/ports/try-catcher/usage @@ -0,0 +1,3 @@ +# This package is a single header. Add this to your CMakeLists.txt after declaring the project. +find_path(TRY_CATCHER_INCLUDE_DIRS "TryCatcher.h") +target_include_directories(${PROJECT_NAME} PRIVATE ${TRY_CATCHER_INCLUDE_DIRS}) diff --git a/ports/try-catcher/vcpkg.json b/ports/try-catcher/vcpkg.json new file mode 100644 index 00000000000000..1b8895fcfb7490 --- /dev/null +++ b/ports/try-catcher/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "try-catcher", + "version": "1.0.1", + "description": "C++ header uses RAII to try each step of a sequence of operations, catch all exceptions that may occur, and throw a single, composite message when TryCatcher goes out of scope.", + "homepage": "https://github.com/daleabarnard/try-catcher", + "license": "MIT" +} diff --git a/ports/tsl-hopscotch-map/portfile.cmake b/ports/tsl-hopscotch-map/portfile.cmake index b74e41409fb8f6..434deed2888261 100644 --- a/ports/tsl-hopscotch-map/portfile.cmake +++ b/ports/tsl-hopscotch-map/portfile.cmake @@ -1,20 +1,19 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Tessil/hopscotch-map - REF 29030f55ca518bb1be5113ab0a8e134772024a9d # v2.3.0 - SHA512 944f26fe0faa59b799ddf741c4f86b715934e740bfbb40a157f667eaff07013a35ad40a343b720b36279acefbb5b206a54cfcfec1f6cd052314936d19e5da413 + REF "v${VERSION}" + SHA512 e2f215d93c84606e8dc71c3403f60a589bd7f78922b5b90afcd0c9d7cbea7ff2e9c6fdb17a6444d4f4b8c9b42a47066995640cd093d8a32a4dabc8c03262e7d5 ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") -file(INSTALL ${SOURCE_PATH}/LICENSE - DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} +file(INSTALL "${SOURCE_PATH}/LICENSE" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright ) diff --git a/ports/tsl-hopscotch-map/vcpkg.json b/ports/tsl-hopscotch-map/vcpkg.json index b3d3792e24ec05..312d5cf5d9b38f 100644 --- a/ports/tsl-hopscotch-map/vcpkg.json +++ b/ports/tsl-hopscotch-map/vcpkg.json @@ -1,6 +1,11 @@ { "name": "tsl-hopscotch-map", - "version-string": "2.3.0", - "port-version": 1, - "description": "C++ implementation of a fast hash map and hash set using hopscotch hashing" + "version": "2.3.1", + "description": "C++ implementation of a fast hash map and hash set using hopscotch hashing", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/tsl-ordered-map/portfile.cmake b/ports/tsl-ordered-map/portfile.cmake index 4605d72ebd7dfd..9ec6f62044eddd 100644 --- a/ports/tsl-ordered-map/portfile.cmake +++ b/ports/tsl-ordered-map/portfile.cmake @@ -1,20 +1,19 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Tessil/ordered-map - REF 4051af7e344e0c0c6af5573b064342c0987d1028 # v1.0.0 - SHA512 c4789df12db34bba1a1b2e07ada39afd6bfb637d34006675ee7f83253e49b5741d301cebb7c368c7a99311c51304f844a6229d00df3717e346e5fc1254e7721b + REF "v${VERSION}" + SHA512 1ae4f8876b13aaf5a9b08f8075299255a51e64fac8ca1c46813294e374b8c9334a7bd1b22618719fab2a8dced42be91e96d8b15595ce3dd8a6d726dadba52ce9 ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") -file(INSTALL ${SOURCE_PATH}/LICENSE - DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} +file(INSTALL "${SOURCE_PATH}/LICENSE" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright ) diff --git a/ports/tsl-ordered-map/vcpkg.json b/ports/tsl-ordered-map/vcpkg.json index 8ce8f079fa8802..879d60bb6f3d15 100644 --- a/ports/tsl-ordered-map/vcpkg.json +++ b/ports/tsl-ordered-map/vcpkg.json @@ -1,6 +1,11 @@ { "name": "tsl-ordered-map", - "version-string": "1.0.0", - "port-version": 1, - "description": "C++ hash map and hash set which preserve the order of insertion" + "version": "1.1.0", + "description": "C++ hash map and hash set which preserve the order of insertion", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/tsl-sparse-map/portfile.cmake b/ports/tsl-sparse-map/portfile.cmake index 9feba6cc3b5ba0..54f75df6b73fd0 100644 --- a/ports/tsl-sparse-map/portfile.cmake +++ b/ports/tsl-sparse-map/portfile.cmake @@ -5,16 +5,15 @@ vcpkg_from_github( SHA512 ad270be66b3d5f96cb0305f0e086807aee1c909dd022c19ca99e5f7a72d5116f2ecb4b67fcb80e8bdb4f98925387d95bdc0bcc450a10b97c61f9b92c681f95b5 ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") -file(INSTALL ${SOURCE_PATH}/LICENSE - DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} +file(INSTALL "${SOURCE_PATH}/LICENSE" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright ) diff --git a/ports/tsl-sparse-map/vcpkg.json b/ports/tsl-sparse-map/vcpkg.json index ff5229abcc09be..ecc0122189f5f0 100644 --- a/ports/tsl-sparse-map/vcpkg.json +++ b/ports/tsl-sparse-map/vcpkg.json @@ -1,6 +1,12 @@ { "name": "tsl-sparse-map", - "version-string": "0.6.2", - "port-version": 1, - "description": "C++ implementation of a memory efficient hash map and hash set" + "version": "0.6.2", + "port-version": 3, + "description": "C++ implementation of a memory efficient hash map and hash set", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/ttauri/portfile.cmake b/ports/ttauri/portfile.cmake index b2878a2d263173..065116c276adcf 100644 --- a/ports/ttauri/portfile.cmake +++ b/ports/ttauri/portfile.cmake @@ -1,28 +1 @@ -vcpkg_fail_port_install(ON_ARCH "x86" "arm" "arm64") -vcpkg_fail_port_install(ON_TARGET "linux" "uwp" "osx") -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO ttauri-project/ttauri - REF v0.5.0 - SHA512 946c8b7fbd030235d06fff3e100c6be15c2dd360306c674906eb395067642ea38551290ebf4d2c398798219b5c0711eeaecb57bc5021db9f91ec343baab64171 - HEAD_REF main -) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - -DTT_BUILD_TESTS=OFF - -DTT_BUILD_EXAMPLES=OFF - -DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=ON -) - -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets() -vcpkg_copy_pdbs() - -file(INSTALL ${SOURCE_PATH}/LICENSE_1_0.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) diff --git a/ports/ttauri/vcpkg.json b/ports/ttauri/vcpkg.json index 5bc11e747c8c7b..7c60c6939f55a4 100644 --- a/ports/ttauri/vcpkg.json +++ b/ports/ttauri/vcpkg.json @@ -1,13 +1,13 @@ { "name": "ttauri", "version": "0.5.0", + "port-version": 2, "maintainers": "@takev", - "description": "A portable, low latency, retained-mode GUI framework written in C++.", + "description": "A portable, low latency, retained-mode GUI framework written in C++. (renamed to hikogui)", "homepage": "https://github.com/ttauri-project/ttauri", "license": "BSL-1.0", "supports": "windows & x64", "dependencies": [ - "vulkan", - "vulkan-memory-allocator" + "hikogui" ] } diff --git a/ports/tuplet/portfile.cmake b/ports/tuplet/portfile.cmake new file mode 100644 index 00000000000000..36ee02895e25fe --- /dev/null +++ b/ports/tuplet/portfile.cmake @@ -0,0 +1,22 @@ +# Header-only library +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO codeinred/tuplet + REF "v${VERSION}" + SHA512 afab0ad34e9e15909c43112b77014821607ec8d429c395b882eea74873432204fca2b5a2c2e04f84cf6193e19bc0a9dcb7702d1e97668a32ec1541e02b6e798a + HEAD_REF master +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_TESTING=OFF + -DCMAKE_INSTALL_INCLUDEDIR=include +) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME tuplet CONFIG_PATH share/tuplet/cmake) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug" +) +# Handle copyright +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/tuplet/vcpkg.json b/ports/tuplet/vcpkg.json new file mode 100644 index 00000000000000..75b47c333c248f --- /dev/null +++ b/ports/tuplet/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "tuplet", + "version": "2.1.1", + "description": "A Lightweight Tuple Library for Modern C++", + "homepage": "https://github.com/codeinred/tuplet", + "license": "BSL-1.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/turbobase64/CMakeLists.txt b/ports/turbobase64/CMakeLists.txt deleted file mode 100644 index c4fcebc4709a4a..00000000000000 --- a/ports/turbobase64/CMakeLists.txt +++ /dev/null @@ -1,70 +0,0 @@ -cmake_minimum_required(VERSION 3.14) - -project(turbobase64 C) -if (SOURCE_PATH) - set(CMAKE_SOURCE_DIR ${SOURCE_PATH}) -endif () - -#Copyright 2016-2020 Yandex LLC -# https://github.com/ClickHouse/ClickHouse/blob/master/contrib/base64-cmake/CMakeLists.txt -# -#Apache License -#Version 2.0, January 2004 -#http://www.apache.org/licenses/ -#Yandex code starts - -SET(LIBRARY_DIR ${CMAKE_SOURCE_DIR}) - -add_library(base64_scalar OBJECT ${LIBRARY_DIR}/turbob64c.c ${LIBRARY_DIR}/turbob64d.c) -add_library(base64_ssse3 OBJECT ${LIBRARY_DIR}/turbob64sse.c) # This file also contains code for ARM NEON - -if (ARCH_AMD64) - add_library(base64_avx OBJECT ${LIBRARY_DIR}/turbob64sse.c) # This is not a mistake. One file is compiled twice. - add_library(base64_avx2 OBJECT ${LIBRARY_DIR}/turbob64avx2.c) -endif () - -target_compile_options(base64_scalar PRIVATE -falign-loops) - -if (ARCH_AMD64) - target_compile_options(base64_ssse3 PRIVATE -mssse3 -falign-loops) - target_compile_options(base64_avx PRIVATE -falign-loops -mavx) - target_compile_options(base64_avx2 PRIVATE -falign-loops -mavx2) -else () - target_compile_options(base64_ssse3 PRIVATE -falign-loops) -endif () - -if (ARCH_AMD64) - add_library(base64 - $ - $ - $ - $) -else () - add_library(base64 - $ - $) -endif () - -# End of Yandex code - -target_include_directories(base64 SYSTEM PUBLIC $) -set_target_properties(base64 PROPERTIES PUBLIC_HEADER "${CMAKE_SOURCE_DIR}/turbob64.h") - -install(TARGETS base64 - EXPORT base64Config - RUNTIME DESTINATION "bin" - LIBRARY DESTINATION "lib" - ARCHIVE DESTINATION "lib" - PUBLIC_HEADER DESTINATION "include" - COMPONENT dev - ) - -export(TARGETS base64 - NAMESPACE TURBO:: - FILE "share/base64/base64Config.cmake" - ) - -install(EXPORT base64Config - DESTINATION "share/base64" - NAMESPACE TURBO:: - ) \ No newline at end of file diff --git a/ports/turbobase64/portfile.cmake b/ports/turbobase64/portfile.cmake index 0c4e89e63a7992..5804653bb7cba9 100644 --- a/ports/turbobase64/portfile.cmake +++ b/ports/turbobase64/portfile.cmake @@ -1,21 +1,23 @@ -vcpkg_fail_port_install(ON_TARGET "UWP" "Windows") +string(REGEX REPLACE "^([0-9]+)[.]([0-9])$" "\\1.0\\2" TURBO_VERSION "${VERSION}") + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO powturbo/Turbo-Base64 - REF 95ba56a9b041f9933f5cd2bbb2ee4e083468c20a - SHA512 bacab8ede5e20974207e01c13a93e6d8afc8d08bc84f1da2b6efa1b4d17408cef6cea085e209a8b7d3b2e2a7223a785f8c76aa954c3c787e9b8d891880b63606 - HEAD_REF master + OUT_SOURCE_PATH SOURCE_PATH + REPO powturbo/Turbo-Base64 + REF ${TURBO_VERSION} + SHA512 de8aaace0faf6552cf692f131a4d03882b88252732bb4160c48e5cc630a0c2f637fa27309e084d02305cdf7ef28020e6c9fbb82b50c1916e46aabc95baea75ad + HEAD_REF master ) -configure_file(${CURRENT_PORT_DIR}/CMakeLists.txt ${SOURCE_PATH}/CMakeLists.txt COPYONLY) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +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/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/turbobase64/vcpkg.json b/ports/turbobase64/vcpkg.json index dc418d68ba07c8..eeac70c38a1e52 100644 --- a/ports/turbobase64/vcpkg.json +++ b/ports/turbobase64/vcpkg.json @@ -1,7 +1,18 @@ { "name": "turbobase64", - "version-string": "2020-01-12", - "port-version": 1, + "version": "2023.8", "description": "Fastest Base64 SIMD/Neon library", - "homepage": "https://github.com/powturbo/Turbo-Base64" + "homepage": "https://github.com/powturbo/Turbo-Base64", + "license": "GPL-3.0-only", + "supports": "!android & !(windows & arm)", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/tvision/portfile.cmake b/ports/tvision/portfile.cmake index c8f42021d83bf5..206bb3f5ee42b8 100644 --- a/ports/tvision/portfile.cmake +++ b/ports/tvision/portfile.cmake @@ -1,17 +1,16 @@ -vcpkg_fail_port_install(ON_TARGET "uwp") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO magiblot/tvision - REF 638f963fe4f6c84854f60f1e9c5772bf6603e4b2 + REF 966226d643cd638fb516b621ac90a31f3ec8d1f6 HEAD_REF master - SHA512 87c26fed26a332dd4b2a431dfbe0f8629d6565c59f61a3968fc658beda313ee8dad9bb59f53d47b1d664c0494841850b09e5c05533b2a74a372cc03548def2c5 + SHA512 b18a466cad2edebff62f6db6d5ab6b6b4d000fbc0fcc682f169efd9c0cc7efe5f0535ffa019f9dcb3d6e7931f77c476ec5d11aa7b39ed7ce0417ceec270f2d36 ) vcpkg_cmake_configure( SOURCE_PATH ${SOURCE_PATH} OPTIONS -DTV_BUILD_EXAMPLES=OFF + -DTV_BUILD_TESTS=OFF ) vcpkg_cmake_install() @@ -20,4 +19,4 @@ vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") -file(INSTALL "${SOURCE_PATH}/COPYRIGHT" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) \ No newline at end of file +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYRIGHT") diff --git a/ports/tvision/vcpkg.json b/ports/tvision/vcpkg.json index 4e1f52a18962ce..84615235a535b0 100644 --- a/ports/tvision/vcpkg.json +++ b/ports/tvision/vcpkg.json @@ -1,6 +1,6 @@ { "name": "tvision", - "version-date": "2021-08-10", + "version-date": "2024-05-22", "description": "A modern port of Turbo Vision 2.0, the classical framework for text-based user interfaces.", "homepage": "https://github.com/magiblot/tvision", "license": "MIT", diff --git a/ports/tweeny/portfile.cmake b/ports/tweeny/portfile.cmake index 9aa0e901ce6223..21e9261a18170c 100644 --- a/ports/tweeny/portfile.cmake +++ b/ports/tweeny/portfile.cmake @@ -6,16 +6,15 @@ vcpkg_from_github( HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH "/lib/cmake/Tweeny/") +vcpkg_cmake_config_fixup(CONFIG_PATH "/lib/cmake/Tweeny/") -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/cmake/Tweeny) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug" "${CURRENT_PACKAGES_DIR}/lib") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/cmake/Tweeny") -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/tweeny/vcpkg.json b/ports/tweeny/vcpkg.json index a68863b6751994..b2f3c6c7c5ae4d 100644 --- a/ports/tweeny/vcpkg.json +++ b/ports/tweeny/vcpkg.json @@ -1,6 +1,17 @@ { "name": "tweeny", "version": "3.2.0", + "port-version": 1, "description": "A modern C++ tweening library", - "homepage": "https://github.com/mobius3/tweeny" + "homepage": "https://github.com/mobius3/tweeny", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/type-lite/portfile.cmake b/ports/type-lite/portfile.cmake index 421fbf51ecaa84..73b359e74f00a0 100644 --- a/ports/type-lite/portfile.cmake +++ b/ports/type-lite/portfile.cmake @@ -1,30 +1,30 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO martinmoene/type-lite - REF v0.1.0 - SHA512 5a5ea623890af9c88c7f82869278af743e08b3dbda3c48c4523737244a7da76d2509501b4502efc2226aaef5df72b6ff69cd6b5b36c8cfc282b8c8406525016b + REF "v${VERSION}" + SHA512 f193f6c2afd89151b59d393e22da2c0d7c271c759f4e8a71f9f31eae1b547c5ce9d803b3d1688aa7ecb18bd37c18867f28d5686c6d48b4cd18e29ef16cfd96c6 HEAD_REF master ) -vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - test BUILD_TESTS +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + test TYPE_LITE_OPT_BUILD_TESTS ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DTYPE_LITE_OPT_BUILD_TESTS=${BUILD_TESTS} - -DTYPE_LITE_OPT_BUILD_EXAMPLES=OFF + ${FEATURE_OPTIONS} + -DTYPE_LITE_OPT_BUILD_EXAMPLES=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${PORT}") -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") # Handle copyright -file(COPY ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/type-lite/vcpkg.json b/ports/type-lite/vcpkg.json index 9fa6607e1e39e9..302ebef583ab6b 100644 --- a/ports/type-lite/vcpkg.json +++ b/ports/type-lite/vcpkg.json @@ -1,9 +1,18 @@ { "name": "type-lite", - "version-string": "0.1.0", - "port-version": 1, + "version": "0.2.0", "description": "Strong types for C++98, C++11 and later in a single-file header-only library.", "homepage": "https://github.com/martinmoene/type-lite", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], "features": { "test": { "description": "Build with test" diff --git a/ports/type-safe/portfile.cmake b/ports/type-safe/portfile.cmake index 025cc3973d6b37..9e46d0008d0c15 100644 --- a/ports/type-safe/portfile.cmake +++ b/ports/type-safe/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO foonathan/type_safe - REF v0.2.2 - SHA512 5dbc9e906e066cfc5eb8fd9a308e952e33c7463b5d2abaadd4303ebe8c38a1d8e79865076ad6422f4c56ffa23113b291e3c11d6dd28e73ec3d6fe2e3e7a233a3 + REF "v${VERSION}" + SHA512 90e256af61649706c97d2cf317ce34b2b953fc841b04eab8193a865d3eced9a1044d22ecb520688f3adf35a06c346945604f177a933e7709cc167bb1637ccb4e HEAD_REF main ) @@ -14,10 +14,10 @@ vcpkg_cmake_configure( vcpkg_cmake_install() -vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/type_safe) +vcpkg_copy_pdbs() -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug" "${CURRENT_PACKAGES_DIR}/lib") +vcpkg_cmake_config_fixup(PACKAGE_NAME type_safe CONFIG_PATH lib/cmake/type_safe) -vcpkg_copy_pdbs() +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug" "${CURRENT_PACKAGES_DIR}/lib") file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/type-safe/vcpkg.json b/ports/type-safe/vcpkg.json index 175055c131aebc..b14f9467b8ae10 100644 --- a/ports/type-safe/vcpkg.json +++ b/ports/type-safe/vcpkg.json @@ -1,6 +1,6 @@ { "name": "type-safe", - "version": "0.2.2", + "version": "0.2.4", "description": "Zero overhead abstractions that use the C++ type system to prevent bugs.", "homepage": "https://github.com/foonathan/type_safe", "dependencies": [ diff --git a/ports/uchardet/fix-config-error.patch b/ports/uchardet/fix-config-error.patch new file mode 100644 index 00000000000000..f65fcbc8aa760f --- /dev/null +++ b/ports/uchardet/fix-config-error.patch @@ -0,0 +1,16 @@ +diff --git a/src/tools/CMakeLists.txt b/src/tools/CMakeLists.txt +index 7afad1d..c7a3cd8 100644 +--- a/src/tools/CMakeLists.txt ++++ b/src/tools/CMakeLists.txt +@@ -27,10 +27,7 @@ if (GETOPT_INCLUDE_DIR AND GETOPT_LIBRARY) + target_link_libraries(${UCHARDET_BINARY} PRIVATE ${GETOPT_LIBRARY}) + endif (GETOPT_INCLUDE_DIR AND GETOPT_LIBRARY) + +-target_link_libraries( +- ${UCHARDET_BINARY} +- ${UCHARDET_LIBRARY} +-) ++target_link_libraries(${UCHARDET_BINARY} PRIVATE ${UCHARDET_LIBRARY}) + + install( + TARGETS diff --git a/ports/uchardet/portfile.cmake b/ports/uchardet/portfile.cmake index 0e6a69566553e4..7aeed9e2f125b2 100644 --- a/ports/uchardet/portfile.cmake +++ b/ports/uchardet/portfile.cmake @@ -1,11 +1,16 @@ -vcpkg_from_git( +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.freedesktop.org OUT_SOURCE_PATH SOURCE_PATH - URL https://gitlab.freedesktop.org/uchardet/uchardet - REF 6f38ab95f55afd45ee6ccefcb92d21034b4a2521 + REPO uchardet/uchardet + REF "v${VERSION}" + SHA512 8d7a0abe1fcf7e92f9e264252eefa5810176603e3d3d825a23c3f5d23cd4f7cce9a0a9539e84bd70af5b66688394e48af00a00ce759a5a3d69b650f92351b6f2 + HEAD_REF master PATCHES fix-uwp-build.patch + fix-config-error.patch ) + vcpkg_check_features( OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES @@ -26,8 +31,12 @@ vcpkg_cmake_configure( vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/uchardet) + vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() + if(tool IN_LIST FEATURES) vcpkg_copy_tools(TOOL_NAMES uchardet AUTO_CLEAN) endif() @@ -38,6 +47,4 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/man" ) -file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) - -vcpkg_fixup_pkgconfig() +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/uchardet/vcpkg.json b/ports/uchardet/vcpkg.json index 6175ae9a45ecca..d56b35de043c95 100644 --- a/ports/uchardet/vcpkg.json +++ b/ports/uchardet/vcpkg.json @@ -1,13 +1,17 @@ { "name": "uchardet", - "version-date": "2021-09-03", - "port-version": 1, + "version": "0.0.8", "description": "An encoding detector library ported from Mozilla.", "homepage": "https://cgit.freedesktop.org/uchardet/uchardet/", + "license": "GPL-2.0 AND MPL-1.1", "dependencies": [ { "name": "vcpkg-cmake", "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true } ], "features": { diff --git a/ports/udt/CMakeLists.txt b/ports/udt/CMakeLists.txt new file mode 100644 index 00000000000000..527200c0a3c6df --- /dev/null +++ b/ports/udt/CMakeLists.txt @@ -0,0 +1,35 @@ +cmake_minimum_required(VERSION 3.12 FATAL_ERROR) + +project(udt LANGUAGES CXX) + +include(GNUInstallDirs) + +file(GLOB UDT_HEADERS "src/*.h") +file(GLOB UDT_SOURCES "src/*.cpp") + +add_library(udt ${UDT_HEADERS} ${UDT_SOURCES}) +if(WIN32) + target_compile_definitions(udt PRIVATE -DWIN32) + if(MSVC) + target_compile_definitions(udt PRIVATE -DUDT_EXPORTS) + endif() + target_link_libraries(udt PRIVATE ws2_32) +elseif(UNIX AND NOT APPLE) + target_compile_definitions(udt PRIVATE -DLINUX) +elseif(APPLE) + target_compile_definitions(udt PRIVATE -DOSX) +endif() +target_include_directories(udt PUBLIC + "$" + "$") + +install(TARGETS udt EXPORT unofficial-udt) + +install( + EXPORT unofficial-udt + FILE unofficial-udt-config.cmake + DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/unofficial-udt" + NAMESPACE unofficial::udt:: +) + +install(FILES ${UDT_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/udt") diff --git a/ports/udt/fix_defs.patch b/ports/udt/fix_defs.patch new file mode 100644 index 00000000000000..31a0d96fa4d721 --- /dev/null +++ b/ports/udt/fix_defs.patch @@ -0,0 +1,79 @@ +diff --git a/src/api.h b/src/api.h +index 24f1a02..db7b729 100644 +--- a/src/api.h ++++ b/src/api.h +@@ -216,3 +216,3 @@ private: + pthread_key_t m_TLSError; // thread local error record (last error) +- #ifndef WIN32 ++ #ifndef _WIN32 + static void TLSDestroy(void* e) {if (NULL != e) delete (CUDTException*)e;} +@@ -248,3 +248,3 @@ private: + pthread_t m_GCThread; +- #ifndef WIN32 ++ #ifndef _WIN32 + static void* garbageCollect(void*); +diff --git a/src/common.h b/src/common.h +index 3782d61..205b090 100644 +--- a/src/common.h ++++ b/src/common.h +@@ -44,3 +44,3 @@ written by + +-#ifndef WIN32 ++#ifndef _WIN32 + #include +@@ -55,3 +55,3 @@ written by + +-#ifdef WIN32 ++#ifdef _WIN32 + // Windows compability +diff --git a/src/packet.h b/src/packet.h +index 76cc951..216505a 100644 +--- a/src/packet.h ++++ b/src/packet.h +@@ -46,3 +46,3 @@ written by + +-#ifdef WIN32 ++#ifdef _WIN32 + struct iovec +diff --git a/src/queue.h b/src/queue.h +index 9feff18..1062a0c 100644 +--- a/src/queue.h ++++ b/src/queue.h +@@ -399,3 +399,3 @@ public: + private: +-#ifndef WIN32 ++#ifndef _WIN32 + static void* worker(void* param); +@@ -459,3 +459,3 @@ public: + private: +-#ifndef WIN32 ++#ifndef _WIN32 + static void* worker(void* param); +diff --git a/src/udt.h b/src/udt.h +index 6436363..8e00091 100644 +--- a/src/udt.h ++++ b/src/udt.h +@@ -44,3 +44,3 @@ written by + +-#ifndef WIN32 ++#ifndef _WIN32 + #include +@@ -70,3 +70,3 @@ written by + +-#ifdef WIN32 ++#ifdef _WIN32 + #ifndef __MINGW__ +@@ -97,3 +97,3 @@ written by + +-#ifdef WIN32 ++#ifdef _WIN32 + #ifndef __MINGW__ +diff --git a/src/window.h b/src/window.h +index f118a26..565aeb6 100644 +--- a/src/window.h ++++ b/src/window.h +@@ -44,3 +44,3 @@ written by + +-#ifndef WIN32 ++#ifndef _WIN32 + #include diff --git a/ports/udt/portfile.cmake b/ports/udt/portfile.cmake new file mode 100644 index 00000000000000..556b3b60548d65 --- /dev/null +++ b/ports/udt/portfile.cmake @@ -0,0 +1,23 @@ +vcpkg_from_sourceforge( + OUT_SOURCE_PATH SOURCE_PATH + REPO udt/udt + REF "${VERSION}" + FILENAME "udt.sdk.${VERSION}.tar.gz" + SHA512 fc555ce1ddde2a8bd92c8adf470fd69a9a35d0a679def32b6ddbb18d67dc8b7d9dd928d772dc8598f08b350130f1e90bb4be58c46252a0a79ecc99f61eca8a92 + PATCHES + fix_defs.patch +) + +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-udt) + +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/udt/usage b/ports/udt/usage new file mode 100644 index 00000000000000..f9fdbd867e0e99 --- /dev/null +++ b/ports/udt/usage @@ -0,0 +1,4 @@ +udt provides CMake targets: + + find_package(unofficial-udt CONFIG REQUIRED) + target_link_libraries(main PRIVATE unofficial::udt::udt) diff --git a/ports/udt/vcpkg.json b/ports/udt/vcpkg.json new file mode 100644 index 00000000000000..a81edec28e6397 --- /dev/null +++ b/ports/udt/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "udt", + "version": "4.11", + "description": "UDT is a reliable UDP based application level data transport protocol for distributed data intensive applications over wide area high-speed networks.", + "homepage": "https://udt.sourceforge.io/", + "license": null, + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/umock-c/portfile.cmake b/ports/umock-c/portfile.cmake index 71fb57c1d75869..7fdff99f125a9a 100644 --- a/ports/umock-c/portfile.cmake +++ b/ports/umock-c/portfile.cmake @@ -1,40 +1,27 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -if("public-preview" IN_LIST FEATURES) - vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO Azure/umock-c - REF 87d2214384c886a1e2406ac0756a0b3786add8da - SHA512 230b6c79a8346727bbc124d1aefaa14da8ecd82b2a56d68b3d2511b8efa5931872da440137a5d266835ba8c5193b83b4bc5ee85abb5242d07904a0706727926c - HEAD_REF master - ) -else() - vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO Azure/umock-c - REF 504193e65d1c2f6eb50c15357167600a296df7ff - SHA512 68d5d986314dbd46d20de2a9b9454154c11675c25d1b5a5b1cfecdd0c0945d9dc68d0348ec1dbb00b5d1a6a1f0356121ba561d7c8fffb97ab37864edade5a85b - HEAD_REF master - ) -endif() +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Azure/umock-c + REF 504193e65d1c2f6eb50c15357167600a296df7ff + SHA512 68d5d986314dbd46d20de2a9b9454154c11675c25d1b5a5b1cfecdd0c0945d9dc68d0348ec1dbb00b5d1a6a1f0356121ba561d7c8fffb97ab37864edade5a85b + HEAD_REF master +) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -Drun_unittests=OFF -Drun_int_tests=OFF -Duse_installed_dependencies=ON ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH cmake TARGET_PATH share/umock_c) +vcpkg_cmake_config_fixup(PACKAGE_NAME umock_c CONFIG_PATH "cmake") file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share) configure_file(${SOURCE_PATH}/readme.md ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) vcpkg_copy_pdbs() - - diff --git a/ports/umock-c/vcpkg.json b/ports/umock-c/vcpkg.json index 0456f2b9876d5d..2c1f35913a64bf 100644 --- a/ports/umock-c/vcpkg.json +++ b/ports/umock-c/vcpkg.json @@ -1,23 +1,19 @@ { "name": "umock-c", - "version-string": "2020-06-17", - "port-version": 2, + "version-date": "2022-01-21", + "port-version": 1, "description": "A pure C mocking library", "homepage": "https://github.com/Azure/umock-c", + "license": "MIT", "dependencies": [ - "azure-macro-utils-c" - ], - "features": { - "public-preview": { - "description": "A pure C mocking library (public-preview)", - "dependencies": [ - { - "name": "azure-macro-utils-c", - "features": [ - "public-preview" - ] - } - ] + "azure-macro-utils-c", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true } - } + ] } diff --git a/ports/uni-algo/portfile.cmake b/ports/uni-algo/portfile.cmake new file mode 100644 index 00000000000000..5eee79126da45a --- /dev/null +++ b/ports/uni-algo/portfile.cmake @@ -0,0 +1,24 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO uni-algo/uni-algo + REF "v${VERSION}" + SHA512 262f02acd56e96f0e4b4ba3d9793f2cab65c124d431add56fca2a7793c41c4cac7cd364395d4e84937e09f6c682366cca8228886388c8cc021b2ff2483f58652 + HEAD_REF main +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DUNI_ALGO_INSTALL=ON +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(NO_PREFIX_CORRECTION) + +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +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/uni-algo/usage b/ports/uni-algo/usage new file mode 100644 index 00000000000000..c60950b1c5685a --- /dev/null +++ b/ports/uni-algo/usage @@ -0,0 +1,4 @@ +The package uni-algo provides CMake targets: + + find_package(uni-algo CONFIG REQUIRED) + target_link_libraries(main PRIVATE uni-algo::uni-algo) diff --git a/ports/uni-algo/vcpkg.json b/ports/uni-algo/vcpkg.json new file mode 100644 index 00000000000000..13c21f4d39e684 --- /dev/null +++ b/ports/uni-algo/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "uni-algo", + "version-semver": "1.2.0", + "description": "Unicode Algorithms Implementation", + "homepage": "https://github.com/uni-algo/uni-algo", + "license": "Unlicense OR MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/unicorn-lib/CMakeLists.txt b/ports/unicorn-lib/CMakeLists.txt index 16c160080a93e1..4f0879e52d844c 100644 --- a/ports/unicorn-lib/CMakeLists.txt +++ b/ports/unicorn-lib/CMakeLists.txt @@ -4,35 +4,26 @@ project(Unicorn_Lib LANGUAGES CXX DESCRIPTION "Unicode library for C++ by Ross S set(CMAKE_CXX_STANDARD 17) option(UNICORN_LIB_SKIP_HEADERS "If the headers installation is skipped or not." OFF) -find_path(RS_CORE_LIB_INCLUDE_DIR rs-core/common.hpp) -#find_library(RW_UTILITIES_LIBRARY NAMES rw_utilities) find_package(ZLIB REQUIRED) -find_library(PCRE2_LIBRARY_DEBUG NAMES pcre2-8d pcre2-8-staticd HINTS ${INSTALLED_LIB_PATH}) -find_library(PCRE2_LIBRARY_RELEASE NAMES pcre2-8 pcre2-8-static HINTS ${INSTALLED_LIB_PATH}) -select_library_configurations(PCRE2) +find_package(PkgConfig REQUIRED) +pkg_check_modules(PCRE2 IMPORTED_TARGET REQUIRED libpcre2-8) -file(GLOB_RECURSE UNICORN_LIB_SOURCES ${PROJECT_SOURCE_DIR}/unicorn/*.cpp) -foreach(ITR ${UNICORN_LIB_SOURCES}) - if(ITR MATCHES "(.*)-test.cpp(.*)") - list(REMOVE_ITEM UNICORN_LIB_SOURCES ${ITR}) - endif() -endforeach() -add_library(unicorn-lib ${UNICORN_LIB_SOURCES}) -target_include_directories( - unicorn-lib - PUBLIC ${PROJECT_SOURCE_DIR} - PUBLIC ${RS_CORE_LIB_INCLUDE_DIR} -) -target_compile_definitions( - unicorn-lib - PRIVATE -DUNICODE -D_UNICODE _CRT_SECURE_NO_WARNINGS -) +file(GLOB_RECURSE UNICORN_LIB_SOURCES "${PROJECT_SOURCE_DIR}/unicorn/*.cpp") +list(FILTER UNICORN_LIB_SOURCES EXCLUDE REGEX "(.*)-test.cpp(.*)") -target_link_libraries(unicorn-lib PUBLIC ${PCRE2_LIBRARY}) -target_link_libraries(unicorn-lib PUBLIC ZLIB::ZLIB) +add_library(unicorn-lib ${UNICORN_LIB_SOURCES}) +target_include_directories(unicorn-lib PUBLIC "${PROJECT_SOURCE_DIR}") +target_link_libraries(unicorn-lib PRIVATE PkgConfig::PCRE2 ZLIB::ZLIB) +if(WIN32) + target_compile_definitions(unicorn-lib PRIVATE -DNOMINMAX -DUNICODE -D_UNICODE -D_CRT_SECURE_NO_WARNINGS) +else() + find_package(Iconv REQUIRED) + target_link_libraries(unicorn-lib PRIVATE Iconv::Iconv) + target_compile_definitions(unicorn-lib PRIVATE -D_XOPEN_SOURCE=700) +endif() if(NOT UNICORN_LIB_SKIP_HEADERS) - install(DIRECTORY ${PROJECT_SOURCE_DIR}/unicorn DESTINATION include FILES_MATCHING PATTERN "*.hpp") + install(DIRECTORY ${PROJECT_SOURCE_DIR}/unicorn DESTINATION include FILES_MATCHING PATTERN "*.hpp") endif() install(TARGETS unicorn-lib RUNTIME DESTINATION bin diff --git a/ports/unicorn-lib/fix-missing-headers.patch b/ports/unicorn-lib/fix-missing-headers.patch new file mode 100644 index 00000000000000..a64103a125cefe --- /dev/null +++ b/ports/unicorn-lib/fix-missing-headers.patch @@ -0,0 +1,12 @@ +diff --git a/unicorn/utility.hpp b/unicorn/utility.hpp +index e6a57b7..a2afa58 100644 +--- a/unicorn/utility.hpp ++++ b/unicorn/utility.hpp +@@ -54,6 +54,7 @@ + #include + #include + #include ++#include + #include + #include + #include diff --git a/ports/unicorn-lib/portfile.cmake b/ports/unicorn-lib/portfile.cmake index dfdc82bcacfac4..d953711f073a8a 100644 --- a/ports/unicorn-lib/portfile.cmake +++ b/ports/unicorn-lib/portfile.cmake @@ -1,29 +1,28 @@ -if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - message("unicorn-lib is a static library, now build with static.") - set(VCPKG_LIBRARY_LINKAGE static) -endif() +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO CaptainCrowbar/unicorn-lib - REF 01cc7fcd2d60dbc083767d448477638e5ec8b92a # 2020-03-02 - SHA512 d8ffb80c589b34d850a507570d7d8ec707a6a23b469d484f47c80566883bd4883da23a4701434f361231a7615065ff5f1e42e40c028975f43f198c307353ec9d + REF 44e975ffc8dcd8dedbe01a8cbe7812e351f3f74f # 2021-10-28 + SHA512 b22264420174c950ca8025e861366118d79a53edce9297d84af9511e255af5971c3719f0b464f4a4886848edea7c2ba4ae32ce9abab135628d64adbde5fa7b0d HEAD_REF master + PATCHES + fix-missing-headers.patch # https://github.com/CaptainCrowbar/unicorn-lib/pull/10 ) -file(COPY ${CURRENT_PORT_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CURRENT_PORT_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_find_acquire_program(PKGCONFIG) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}" OPTIONS_DEBUG -DUNICORN_LIB_SKIP_HEADERS=ON ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) - -# Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/unicorn-lib/vcpkg.json b/ports/unicorn-lib/vcpkg.json index 5aee950513572c..46c98ef9a9dec7 100644 --- a/ports/unicorn-lib/vcpkg.json +++ b/ports/unicorn-lib/vcpkg.json @@ -1,13 +1,28 @@ { "name": "unicorn-lib", - "version-date": "2020-03-02", + "version-date": "2022-01-24", "port-version": 2, "description": "Unicode library for C++ by Ross Smith", "homepage": "https://github.com/CaptainCrowbar/unicorn-lib", + "license": "MIT", + "supports": "!uwp", "dependencies": [ - "libiconv", - "pcre2", - "rs-core-lib", + { + "name": "libiconv", + "platform": "!windows" + }, + { + "name": "pcre2", + "default-features": false + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, "zlib" ] } diff --git a/ports/unicorn/fix-build.patch b/ports/unicorn/fix-build.patch new file mode 100644 index 00000000000000..6e1cafcd496260 --- /dev/null +++ b/ports/unicorn/fix-build.patch @@ -0,0 +1,22 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 4110ae5..a86b207 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -109,7 +109,7 @@ if(MSVC) + add_compile_options($<$:/wd4267>) + + # handle msvcrt setting being passed in CMAKE_C_FLAGS +- if(DEFINED CMAKE_MSVC_RUNTIME_LIBRARY) ++ if(NOT CMAKE_MSVC_RUNTIME_LIBRARY) + # do not support other methods of setting this (it would be more conformant, tho) + message(FATAL_ERROR "please set msvcrt via CMAKE_C_FLAGS") + endif() +@@ -1431,7 +1431,7 @@ if(UNICORN_BUILD_TESTS) + endif() + + +-if(UNICORN_INSTALL AND NOT MSVC) ++if(UNICORN_INSTALL) + include("GNUInstallDirs") + file(GLOB UNICORN_HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/include/unicorn/*.h) + if (BUILD_SHARED_LIBS) diff --git a/ports/unicorn/portfile.cmake b/ports/unicorn/portfile.cmake index aee7b65b9790fc..70f6b2180cf309 100644 --- a/ports/unicorn/portfile.cmake +++ b/ports/unicorn/portfile.cmake @@ -1,7 +1,3 @@ -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - message(FATAL_ERROR "WindowsStore not supported") -endif() - if(VCPKG_CRT_LINKAGE STREQUAL "dynamic" AND VCPKG_LIBRARY_LINKAGE STREQUAL "static") message(FATAL_ERROR "unicorn can currently only be built with /MT or /MTd (static CRT linkage)") endif() @@ -12,45 +8,25 @@ set(VCPKG_CRT_LINKAGE "static") vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO unicorn-engine/unicorn - REF abe452babc13299f598a47f7c87873a4ae34bf09 # accessed on 2020-09-14 - SHA512 8ad4b76cc98fc9d21421c93ad7084665622fd0ed4de87cb189c5d7ed1bbc83ccd365bd08c4ccfa81539e42fa3a74ffc7e2e33a74f2bfdfd4b2b9e2e5425f2fc9 + REF "${VERSION}.post1" + SHA512 8694d6bc92e3424a8ad050316413d53e56e0f55e7cad7517fb3e98e670a0f1768b060ead8f195da13607cec89a964364f05a8b9d0dc074f4ac5e51026f8343ad HEAD_REF master + PATCHES + fix-build.patch ) -if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") - set(UNICORN_PLATFORM "Win32") -elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") - set(UNICORN_PLATFORM "x64") -else() - message(FATAL_ERROR "Unsupported architecture") -endif() +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DUNICORN_BUILD_TESTS=OFF + ) -vcpkg_build_msbuild( - PROJECT_PATH "${SOURCE_PATH}/msvc/unicorn.sln" - PLATFORM "${UNICORN_PLATFORM}" -) +vcpkg_cmake_install() -if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - file(INSTALL "${SOURCE_PATH}/msvc/${UNICORN_PLATFORM}/Release/unicorn.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/lib") - file(INSTALL "${SOURCE_PATH}/msvc/${UNICORN_PLATFORM}/Release/unicorn.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/bin") - file(INSTALL "${SOURCE_PATH}/msvc/${UNICORN_PLATFORM}/Debug/unicorn.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") - file(INSTALL "${SOURCE_PATH}/msvc/${UNICORN_PLATFORM}/Debug/unicorn.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin") -else() - file(INSTALL "${SOURCE_PATH}/msvc/${UNICORN_PLATFORM}/Release/unicorn_static.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/lib") - file(INSTALL "${SOURCE_PATH}/msvc/${UNICORN_PLATFORM}/Debug/unicorn_static.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") -endif() +vcpkg_fixup_pkgconfig() -file( - INSTALL "${SOURCE_PATH}/msvc/distro/include/unicorn" - DESTINATION "${CURRENT_PACKAGES_DIR}/include" - RENAME "unicorn" -) -file( - INSTALL "${SOURCE_PATH}/COPYING" - DESTINATION "${CURRENT_PACKAGES_DIR}/share/unicorn" - RENAME "copyright" -) -file( - INSTALL "${SOURCE_PATH}/COPYING_GLIB" - DESTINATION "${CURRENT_PACKAGES_DIR}/share/unicorn" -) +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}/COPYING") diff --git a/ports/unicorn/vcpkg.json b/ports/unicorn/vcpkg.json index bc01677b816118..5ffa0d52b01e41 100644 --- a/ports/unicorn/vcpkg.json +++ b/ports/unicorn/vcpkg.json @@ -1,8 +1,14 @@ { "name": "unicorn", - "version-string": "2020-09-14", - "port-version": 1, + "version": "2.0.1", "description": "Unicorn is a lightweight multi-platform, multi-architecture CPU emulator framework", "homepage": "https://github.com/unicorn-engine/unicorn", - "supports": "!uwp" + "license": "GPL-2.0-only", + "supports": "windows & !uwp & !arm", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/units/portfile.cmake b/ports/units/portfile.cmake index 4d1d281c0d0456..bd6d1fd0370e6a 100644 --- a/ports/units/portfile.cmake +++ b/ports/units/portfile.cmake @@ -1,22 +1,19 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO nholthaus/units - REF v2.3.1 - SHA512 1ec9e4d7d60f073ad82a02116f16b9dda57406a3b22a5b06d34f9e5a4df8fd20cc28fc7acfd8fc33054718e0efca3973df0424563f7e1833687a6c1696b9c340 + REF v2.3.3 + SHA512 40d803e6bb17f4bb46a0136c7753ae25a0d3ce352dbff3843b0c231e94eb8bade1de65d5b988589607fb12b11e4bfa762708a68839f2d7dccb45440672d09031 ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA # Disable this option if project cannot be built with Ninja - OPTIONS -DBUILD_TESTS=OFF -) +set(VCPKG_BUILD_TYPE "release") -vcpkg_install_cmake() +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_TESTS=OFF +) -# Handle copyright/readme/package files -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) -file(INSTALL ${SOURCE_PATH}/README.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH share/units/cmake) -# remove uneeded directories -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/cmake) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) \ No newline at end of file +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/units/vcpkg.json b/ports/units/vcpkg.json index 3169b9319ce9d8..a299a6bf9c2a12 100644 --- a/ports/units/vcpkg.json +++ b/ports/units/vcpkg.json @@ -1,7 +1,18 @@ { "name": "units", - "version-string": "2.3.1", + "version": "2.3.3", "port-version": 1, "description": "A compile-time, header-only, dimensional analysis and unit conversion library built on c++14 with no dependencies.", - "homepage": "https://github.com/nholthaus/units" + "homepage": "https://github.com/nholthaus/units", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/unittest-cpp/portfile.cmake b/ports/unittest-cpp/portfile.cmake index f962a5b885546a..664cea7c9fe7e4 100644 --- a/ports/unittest-cpp/portfile.cmake +++ b/ports/unittest-cpp/portfile.cmake @@ -10,20 +10,21 @@ vcpkg_from_github( fix-include-path.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DUTPP_INCLUDE_TESTS_IN_BUILD=OFF + -DUTPP_AMPLIFY_WARNINGS=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/UnitTest++) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/unittest-cpp ${CURRENT_PACKAGES_DIR}/share/unittest++) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/UnitTest++ PACKAGE_NAME unittest++) # Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) # Remove duplicate includes -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) - -vcpkg_fixup_pkgconfig() +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_fixup_pkgconfig() diff --git a/ports/unittest-cpp/vcpkg.json b/ports/unittest-cpp/vcpkg.json index 8e48fb8aebb4bf..2a5211fff26849 100644 --- a/ports/unittest-cpp/vcpkg.json +++ b/ports/unittest-cpp/vcpkg.json @@ -1,7 +1,17 @@ { "name": "unittest-cpp", "version-semver": "2.0.0", - "port-version": 3, + "port-version": 6, "description": "A lightweight unit testing framework for C++", - "homepage": "https://github.com/unittest-cpp/unittest-cpp" + "homepage": "https://github.com/unittest-cpp/unittest-cpp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/unixodbc/portfile.cmake b/ports/unixodbc/portfile.cmake index 6f87f034f147ec..e5d67029b21d38 100644 --- a/ports/unixodbc/portfile.cmake +++ b/ports/unixodbc/portfile.cmake @@ -1,18 +1,22 @@ -vcpkg_fail_port_install(ON_TARGET "UWP" "Windows") - vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO lurcher/unixODBC - REF 2.3.7 - SHA512 94e95730304990fc5ed4f76ebfb283d8327a59a3329badaba752a502a2d705549013fd95f0c92704828c301eae54081c8704acffb412fd1e1a71f4722314cec0 - HEAD_REF master + OUT_SOURCE_PATH SOURCE_PATH + REPO lurcher/unixODBC + REF 6c8071b1bef4e4991e7b3023a1c1c712168a818e # v2.3.11 + SHA512 5c5b189e3b62935fdee5e25f5cf9b41fb2bc68fc9bd1652cab1b109032ab586978ba14d19e83328838b55e773f099046344bb4c84ec99edac309650ed863543e + HEAD_REF master ) set(ENV{CFLAGS} "$ENV{CFLAGS} -Wno-error=implicit-function-declaration") + +if(VCPKG_TARGET_IS_OSX OR VCPKG_TARGET_IS_LINUX) + list(APPEND OPTIONS --with-included-ltdl) +endif() + vcpkg_configure_make( - SOURCE_PATH "${SOURCE_PATH}" - AUTOCONFIG - COPY_SOURCE + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG + COPY_SOURCE + OPTIONS ${OPTIONS} ) vcpkg_install_make() @@ -30,6 +34,23 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/etc" "${CURRENT_PACKAGES_DIR}/etc" "${CURRENT_PACKAGES_DIR}/share/man" - ) -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) + "${CURRENT_PACKAGES_DIR}/share/${PORT}/man1" + "${CURRENT_PACKAGES_DIR}/share/${PORT}/man5" + "${CURRENT_PACKAGES_DIR}/share/${PORT}/man7" +) + +foreach(FILE config.h unixodbc_conf.h) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/unixODBC/${FILE}" "#define BIN_PREFIX \"${CURRENT_INSTALLED_DIR}/tools/unixodbc/bin\"" "") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/unixODBC/${FILE}" "#define DEFLIB_PATH \"${CURRENT_INSTALLED_DIR}/lib\"" "") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/unixODBC/${FILE}" "#define EXEC_PREFIX \"${CURRENT_INSTALLED_DIR}\"" "") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/unixODBC/${FILE}" "#define INCLUDE_PREFIX \"${CURRENT_INSTALLED_DIR}/include\"" "") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/unixODBC/${FILE}" "#define LIB_PREFIX \"${CURRENT_INSTALLED_DIR}/lib\"" "") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/unixODBC/${FILE}" "#define PREFIX \"${CURRENT_INSTALLED_DIR}\"" "") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/unixODBC/${FILE}" "#define SYSTEM_FILE_PATH \"${CURRENT_INSTALLED_DIR}/etc\"" "") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/unixODBC/${FILE}" "#define SYSTEM_LIB_PATH \"${CURRENT_INSTALLED_DIR}/lib\"" "") +endforeach() + file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/unixodbcConfig.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +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}") diff --git a/ports/unixodbc/unixodbcConfig.cmake b/ports/unixodbc/unixodbcConfig.cmake index c0bd25993eaf15..e8565517a227d2 100644 --- a/ports/unixodbc/unixodbcConfig.cmake +++ b/ports/unixodbc/unixodbcConfig.cmake @@ -1,11 +1,26 @@ -function(set_library_target NAMESPACE LIB_NAME DEBUG_LIB_FILE_NAME RELEASE_LIB_FILE_NAME INCLUDE_DIR) +function(set_library_target NAMESPACE LIB_NAME DEBUG_DIR RELEASE_DIR INCLUDE_DIR) add_library(${NAMESPACE}::${LIB_NAME} STATIC IMPORTED) + + find_library (RELEASE_LIB_FILE_NAME NAMES "lib${LIB_NAME}.a" PATHS ${RELEASE_DIR} NO_DEFAULT_PATH) + if (RELEASE_LIB_FILE_NAME) + set(LIBODBC_USE_STATIC_LIB true) + endif() + find_library (RELEASE_LIB_FILE_NAME NAMES ${LIB_NAME} PATHS ${RELEASE_DIR} NO_DEFAULT_PATH) + find_library (DEBUG_LIB_FILE_NAME NAMES "lib${LIB_NAME}.a" PATHS ${DEBUG_DIR} NO_DEFAULT_PATH) + if (DEBUG_LIB_FILE_NAME) + set(LIBODBC_USE_STATIC_LIB true) + endif() + find_library (DEBUG_LIB_FILE_NAME NAMES ${LIB_NAME} PATHS ${DEBUG_DIR} NO_DEFAULT_PATH) set_target_properties(${NAMESPACE}::${LIB_NAME} PROPERTIES IMPORTED_CONFIGURATIONS "RELEASE;DEBUG" IMPORTED_LOCATION_RELEASE "${RELEASE_LIB_FILE_NAME}" IMPORTED_LOCATION_DEBUG "${DEBUG_LIB_FILE_NAME}" INTERFACE_INCLUDE_DIRECTORIES "${INCLUDE_DIR}" ) + if(LIBODBC_USE_STATIC_LIB) + find_package(Iconv MODULE) + set_property(TARGET ${NAMESPACE}::${LIB_NAME} PROPERTY INTERFACE_LINK_LIBRARIES ${CMAKE_DL_LIBS} Iconv::Iconv) + endif() set(${NAMESPACE}_${LIB_NAME}_FOUND 1) endfunction() @@ -13,4 +28,4 @@ get_filename_component(ROOT "${CMAKE_CURRENT_LIST_FILE}" PATH) get_filename_component(ROOT "${ROOT}" PATH) get_filename_component(ROOT "${ROOT}" PATH) -set_library_target("UNIX" "odbc" "${ROOT}/debug/lib/libodbc.so" "${ROOT}/lib/libodbc.so" "${ROOT}/include/") \ No newline at end of file +set_library_target("UNIX" "odbc" "${ROOT}/debug/lib/" "${ROOT}/lib/" "${ROOT}/include/") \ No newline at end of file diff --git a/ports/unixodbc/usage b/ports/unixodbc/usage index 7901a3ef2a32c7..9e6f2f5cf9e487 100644 --- a/ports/unixodbc/usage +++ b/ports/unixodbc/usage @@ -1,4 +1,4 @@ The package unixodbc is compatible with built-in CMake targets: - FIND_PACKAGE(unixodbc REQUIRED) - TARGET_LINK_LIBRARIES(main PRIVATE UNIX::odbc) for linkage + find_package(unixodbc REQUIRED) + target_link_libraries(main PRIVATE UNIX::odbc) diff --git a/ports/unixodbc/vcpkg.json b/ports/unixodbc/vcpkg.json index 01162834c45ee9..64054378117945 100644 --- a/ports/unixodbc/vcpkg.json +++ b/ports/unixodbc/vcpkg.json @@ -1,8 +1,9 @@ { "name": "unixodbc", - "version-string": "2.3.7", - "port-version": 4, + "version": "2.3.11", + "port-version": 2, "description": "unixODBC is an Open Source ODBC sub-system and an ODBC SDK for Linux, Mac OSX, and UNIX", "homepage": "https://github.com/lurcher/unixODBC", + "license": "LGPL-2.1-only", "supports": "osx | linux" } diff --git a/ports/unordered-dense/portfile.cmake b/ports/unordered-dense/portfile.cmake new file mode 100644 index 00000000000000..acced3e55e0ba2 --- /dev/null +++ b/ports/unordered-dense/portfile.cmake @@ -0,0 +1,24 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO martinus/unordered_dense + REF v${VERSION} + SHA512 82724dd3651f520a240b131fa7cac209d844b9f3a54ea36c8cbb125cb42fdbf5f38d96935f2999e5bf04c447b2b9fde4ebc740decfd7d3d4b7d45177d4f26b58 + HEAD_REF master +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup( + PACKAGE_NAME unordered_dense + CONFIG_PATH lib/cmake/unordered_dense +) + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug" + "${CURRENT_PACKAGES_DIR}/lib" +) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/unordered-dense/vcpkg.json b/ports/unordered-dense/vcpkg.json new file mode 100644 index 00000000000000..190ebcfaaf07cc --- /dev/null +++ b/ports/unordered-dense/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "unordered-dense", + "version": "4.4.0", + "description": "A fast & densely stored hashmap and hashset based on robin-hood backward shift deletion", + "homepage": "https://github.com/martinus/unordered_dense", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/unqlite/portfile.cmake b/ports/unqlite/portfile.cmake index a976c307fb7d7c..5bbc84be2140da 100644 --- a/ports/unqlite/portfile.cmake +++ b/ports/unqlite/portfile.cmake @@ -8,13 +8,12 @@ vcpkg_from_github( HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/unqlite/vcpkg.json b/ports/unqlite/vcpkg.json index 4efa6c6ca65888..62e52308e8e950 100644 --- a/ports/unqlite/vcpkg.json +++ b/ports/unqlite/vcpkg.json @@ -1,7 +1,14 @@ { "name": "unqlite", - "version-string": "1.1.9", + "version": "1.1.9", + "port-version": 2, "description": "An embedded NoSQL, transactional database engine", "homepage": "https://unqlite.org/", - "license": "BSD-2-Clause" + "license": "BSD-2-Clause", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/unrar/Config.cmake.in b/ports/unrar/Config.cmake.in new file mode 100644 index 00000000000000..903f8eb1345c75 --- /dev/null +++ b/ports/unrar/Config.cmake.in @@ -0,0 +1,25 @@ + +get_filename_component(_unrar_root "${CMAKE_CURRENT_LIST_FILE}" PATH) +get_filename_component(_unrar_root "${_unrar_root}" PATH) +get_filename_component(_unrar_root "${_unrar_root}" PATH) + +if (EXISTS "${_unrar_root}/bin/unrar.dll") + + add_library(unofficial::unrar::unrar SHARED IMPORTED) + set_target_properties(unofficial::unrar::unrar PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${_unrar_root}/include" + IMPORTED_LOCATION_DEBUG "${_unrar_root}/debug/bin/unrar.dll" + IMPORTED_IMPLIB_DEBUG "${_unrar_root}/debug/lib/unrar.lib" + IMPORTED_LOCATION_RELEASE "${_unrar_root}/bin/unrar.dll" + IMPORTED_IMPLIB_RELEASE "${_unrar_root}/lib/unrar.lib" + IMPORTED_CONFIGURATIONS "Debug;Release") + + set(unrar_FOUND TRUE) + +else() + + set(unrar_FOUND FALSE) + +endif() + +unset(_unrar_root) diff --git a/ports/unrar/msbuild-use-default-sma.patch b/ports/unrar/msbuild-use-default-sma.patch deleted file mode 100644 index 928f5a377bedd0..00000000000000 --- a/ports/unrar/msbuild-use-default-sma.patch +++ /dev/null @@ -1,52 +0,0 @@ -diff --git a/UnRARDll.vcxproj b/UnRARDll.vcxproj -index ec5c17b00..7d3d91bc6 100644 ---- a/UnRARDll.vcxproj -+++ b/UnRARDll.vcxproj -@@ -138,7 +138,6 @@ - Sync - EnableFastChecks - MultiThreadedDebug -- 4Bytes - false - Use - rar.hpp -@@ -168,7 +167,6 @@ - Sync - EnableFastChecks - MultiThreadedDebug -- 4Bytes - false - Use - rar.hpp -@@ -198,7 +196,6 @@ - false - Sync - MultiThreaded -- 4Bytes - true - true - NoExtensions -@@ -239,7 +236,6 @@ - false - Sync - MultiThreaded -- 4Bytes - true - true - false -@@ -274,7 +270,6 @@ - false - Sync - MultiThreaded -- 4Bytes - true - true - NoExtensions -@@ -315,7 +310,6 @@ - false - Sync - MultiThreaded -- 4Bytes - true - true - false diff --git a/ports/unrar/portfile.cmake b/ports/unrar/portfile.cmake index 239316f0766c9c..d0657cca007813 100644 --- a/ports/unrar/portfile.cmake +++ b/ports/unrar/portfile.cmake @@ -1,5 +1,5 @@ -set(UNRAR_VERSION "5.8.1") -set(UNRAR_SHA512 31303df575e8a5ed9fc03e20d0482306536c3496894a39788052c5c9dfde61eb7f5ca29b8c48354581622a020aa446f108af956ab43024a48731a12233155612) +set(UNRAR_VERSION "7.0.7") +set(UNRAR_SHA512 7151a42742d4c34a8f03c58dae471f80788b76adbb52188759b7fc7357757f88fa9d980de006ce48732c40f326b92b79fb069e807c2b66d4387ee60433a8accb) set(UNRAR_FILENAME unrarsrc-${UNRAR_VERSION}.tar.gz) set(UNRAR_URL https://www.rarlab.com/rar/${UNRAR_FILENAME}) @@ -11,30 +11,21 @@ vcpkg_download_distfile(ARCHIVE FILENAME ${UNRAR_FILENAME} SHA512 ${UNRAR_SHA512} ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} - REF ${UNRAR_VERSION} - PATCHES msbuild-use-default-sma.patch +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" + SOURCE_BASE ${UNRAR_VERSION} ) -vcpkg_build_msbuild( - PROJECT_PATH "${SOURCE_PATH}/UnRARDll.vcxproj" - OPTIONS_DEBUG /p:OutDir=../../${TARGET_TRIPLET}-dbg/ - OPTIONS_RELEASE /p:OutDir=../../${TARGET_TRIPLET}-rel/ - OPTIONS /VERBOSITY:Diagnostic /DETAILEDSUMMARY +vcpkg_msbuild_install( + SOURCE_PATH "${SOURCE_PATH}" + PROJECT_SUBPATH "UnRARDll.vcxproj" ) #INCLUDE (named dll.hpp in source, and unrar.h in all rarlabs distributions) -file(INSTALL ${SOURCE_PATH}/dll.hpp DESTINATION ${CURRENT_PACKAGES_DIR}/include RENAME unrar.h) +file(INSTALL "${SOURCE_PATH}/dll.hpp" DESTINATION "${CURRENT_PACKAGES_DIR}/include" RENAME unrar.h) -#DLL & LIB -file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/unrar.dll DESTINATION ${CURRENT_PACKAGES_DIR}/bin) -file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/unrar.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib) -file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/unrar.dll DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) -file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/unrar.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) - -vcpkg_copy_pdbs() +configure_file("${CMAKE_CURRENT_LIST_DIR}/Config.cmake.in" "${CURRENT_PACKAGES_DIR}/share/unofficial-unrar/unofficial-unrar-config.cmake" @ONLY) #COPYRIGHT -file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/unrar RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") diff --git a/ports/unrar/vcpkg.json b/ports/unrar/vcpkg.json index 5646a0190afb94..e5a130bb1b34f4 100644 --- a/ports/unrar/vcpkg.json +++ b/ports/unrar/vcpkg.json @@ -1,7 +1,15 @@ { "name": "unrar", - "version-string": "5.8.1", - "port-version": 1, + "version": "7.0.7", "description": "rarlab's unrar library", - "homepage": "https://www.rarlab.com" + "homepage": "https://www.rarlab.com", + "license": null, + "supports": "windows & !uwp & !arm & !static", + "dependencies": [ + { + "name": "vcpkg-msbuild", + "host": true, + "platform": "windows" + } + ] } diff --git a/ports/upa-url/cxx-standard.patch b/ports/upa-url/cxx-standard.patch new file mode 100644 index 00000000000000..745e2e2f2f0c2c --- /dev/null +++ b/ports/upa-url/cxx-standard.patch @@ -0,0 +1,32 @@ +diff --git a/include/upa/config.h b/include/upa/config.h +index 46a5bc5..0264380 100644 +--- a/include/upa/config.h ++++ b/include/upa/config.h +@@ -12,14 +12,16 @@ + # endif + #endif + ++#define UPA_CXX_STANDARD @UPA_CXX_STANDARD@ // NOLINT(*-macro-*) ++ + // Define UPA_CPP_20 if compiler supports C++20 or later standard +-#if defined(_MSVC_LANG) ? (_MSVC_LANG >= 202002) : (__cplusplus >= 202002) ++#if UPA_CXX_STANDARD >= 20 + # define UPA_CPP_20 + #endif + + // Define UPA_CPP_17 if compiler supports C++17 or later standard + // https://devblogs.microsoft.com/cppblog/msvc-now-correctly-reports-__cplusplus/ +-#if defined(_MSVC_LANG) ? (_MSVC_LANG >= 201703) : (__cplusplus >= 201703) ++#if UPA_CXX_STANDARD >= 17 + # define UPA_CPP_17 + # define UPA_FALLTHROUGH [[fallthrough]]; + # define UPA_CONSTEXPR_17 constexpr +@@ -32,7 +34,7 @@ + + // Define UPA_CPP_14 if compiler supports C++14 or later + // Note: Visual Studio 2015 (14.0; _MSC_VER == 1900) lacks sufficient C++14 support +-#if defined(_MSVC_LANG) ? (_MSVC_LANG >= 201402 && _MSC_VER > 1900) : (__cplusplus >= 201402) ++#if UPA_CXX_STANDARD >= 14 + # define UPA_CPP_14 + # define UPA_CONSTEXPR_14 constexpr + #else diff --git a/ports/upa-url/portfile.cmake b/ports/upa-url/portfile.cmake new file mode 100644 index 00000000000000..9536bfe98b1318 --- /dev/null +++ b/ports/upa-url/portfile.cmake @@ -0,0 +1,34 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO upa-url/upa + REF "v${VERSION}" + SHA512 c21a48f74dc31f9114574c69e2ce17c7957f50c65bc99f45acb9f7e88930b1b7e125c90cf3b7f002e63d8456f6f7377d0e28ffc7c7e5ffe87c4d414ef5845733 + HEAD_REF main + PATCHES + cxx-standard.patch +) + +if("cxx11" IN_LIST FEATURES) + set(UPA_CXX_STANDARD 11) +else() + set(UPA_CXX_STANDARD 17) +endif() + +vcpkg_replace_string(${SOURCE_PATH}/include/upa/config.h + "@UPA_CXX_STANDARD@" "${UPA_CXX_STANDARD}" +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DCMAKE_CXX_STANDARD=${UPA_CXX_STANDARD} + -DCMAKE_CXX_STANDARD_REQUIRED=ON + -DUPA_BUILD_TESTS=OFF +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME "upa" CONFIG_PATH "lib/cmake/upa") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/upa-url/vcpkg.json b/ports/upa-url/vcpkg.json new file mode 100644 index 00000000000000..edf007674fc1a7 --- /dev/null +++ b/ports/upa-url/vcpkg.json @@ -0,0 +1,22 @@ +{ + "name": "upa-url", + "version": "1.0.1", + "description": "An implementation of the WHATWG URL Standard in C++", + "homepage": "https://github.com/upa-url/upa", + "license": "BSD-2-Clause", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "cxx11": { + "description": "Compile library with C++11 (for use in C++11 and C++14 projects)" + } + } +} diff --git a/ports/upb/add-all-libs-target.patch b/ports/upb/add-all-libs-target.patch deleted file mode 100644 index 9a6a6d24272ccf..00000000000000 --- a/ports/upb/add-all-libs-target.patch +++ /dev/null @@ -1,25 +0,0 @@ -diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt -index b4f43f9..c90968f 100644 ---- a/cmake/CMakeLists.txt -+++ b/cmake/CMakeLists.txt -@@ -137,4 +137,20 @@ add_library(table INTERFACE) - target_link_libraries(table INTERFACE - port) - -+add_library(all_libs INTERFACE) -+target_link_libraries(all_libs -+ INTERFACE -+ upb -+ fastdecode -+ utf8_range -+ json -+ port -+ table -+ descriptor_upb_proto -+ reflection -+ textformat -+) -+set_target_properties(reflection PROPERTIES OUTPUT_NAME upb_reflection) -+set_target_properties(fastdecode PROPERTIES OUTPUT_NAME upb_fastdecode) -+set_target_properties(textformat PROPERTIES OUTPUT_NAME upb_textformat) - diff --git a/ports/upb/add-cmake-install.patch b/ports/upb/add-cmake-install.patch deleted file mode 100644 index 51e740d0350ea7..00000000000000 --- a/ports/upb/add-cmake-install.patch +++ /dev/null @@ -1,41 +0,0 @@ -diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt -index c90968f..50637ec 100644 ---- a/cmake/CMakeLists.txt -+++ b/cmake/CMakeLists.txt -@@ -8,7 +8,7 @@ else() - cmake_policy(VERSION 3.12) - endif() - --cmake_minimum_required (VERSION 3.0) -+cmake_minimum_required (VERSION 3.14) - cmake_policy(SET CMP0048 NEW) - - project(upb) -@@ -154,3 +154,27 @@ set_target_properties(reflection PROPERTIES OUTPUT_NAME upb_reflection) - set_target_properties(fastdecode PROPERTIES OUTPUT_NAME upb_fastdecode) - set_target_properties(textformat PROPERTIES OUTPUT_NAME upb_textformat) - -+install( -+ DIRECTORY ../upb -+ DESTINATION include -+ FILES_MATCHING -+ PATTERN "*.h" -+ PATTERN "*.hpp" -+ PATTERN "*.inc" -+ PATTERN "*.int.h" -+) -+target_include_directories(upb PUBLIC $) -+install(TARGETS -+ upb -+ utf8_range -+ fastdecode -+ json -+ port -+ table -+ descriptor_upb_proto -+ reflection -+ textformat -+ all_libs -+ EXPORT upb-config -+) -+install(EXPORT upb-config NAMESPACE upb:: DESTINATION share/upb) diff --git a/ports/upb/fix-cmakelists.patch b/ports/upb/fix-cmakelists.patch deleted file mode 100644 index 2a01d62cc52d50..00000000000000 --- a/ports/upb/fix-cmakelists.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt -index 6b4c50d..b4f43f9 100644 ---- a/cmake/CMakeLists.txt -+++ b/cmake/CMakeLists.txt -@@ -66,6 +66,10 @@ endif() - enable_testing() - - add_library(port INTERFACE) -+add_library(descriptor_upb_proto INTERFACE) -+add_library(utf8_range -+ ../third_party/utf8_range/utf8_range.c -+ ../third_party/utf8_range/utf8_range.h) - add_library(upb - ../upb/decode.c - ../upb/decode_internal.h -@@ -84,7 +88,7 @@ add_library(upb - target_link_libraries(upb - fastdecode - port -- /third_party/utf8_range) -+ utf8_range) - add_library(fastdecode - ../upb/decode.h - ../upb/decode_internal.h -@@ -96,7 +100,7 @@ add_library(fastdecode - target_link_libraries(fastdecode - port - table -- /third_party/utf8_range) -+ utf8_range) - add_library(generated_code_support__only_for_generated_code_do_not_use__i_give_permission_to_break_me INTERFACE) - target_link_libraries(generated_code_support__only_for_generated_code_do_not_use__i_give_permission_to_break_me INTERFACE - table diff --git a/ports/upb/fix-uwp.patch b/ports/upb/fix-uwp.patch deleted file mode 100644 index c681fa336a7a88..00000000000000 --- a/ports/upb/fix-uwp.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt -index a6b432f..003615e 100644 ---- a/cmake/CMakeLists.txt -+++ b/cmake/CMakeLists.txt -@@ -59,6 +59,10 @@ elseif(UNIX) - set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--build-id") - endif() - -+if (MSVC) -+ add_compile_options(/wd4146 /wd4703 -D_CRT_SECURE_NO_WARNINGS) -+endif() -+ - enable_testing() - - add_library(port INTERFACE) -diff --git a/upb/json_decode.c b/upb/json_decode.c -index bb33744..1fadd26 100644 ---- a/upb/json_decode.c -+++ b/upb/json_decode.c -@@ -1160,7 +1160,7 @@ static void jsondec_struct(jsondec *d, upb_msg *msg, const upb_msgdef *m) { - static void jsondec_wellknownvalue(jsondec *d, upb_msg *msg, - const upb_msgdef *m) { - upb_msgval val; -- const upb_fielddef *f; -+ const upb_fielddef *f = NULL; - upb_msg *submsg; - - switch (jsondec_peek(d)) { diff --git a/ports/upb/portfile.cmake b/ports/upb/portfile.cmake deleted file mode 100644 index d7cdef2451cc50..00000000000000 --- a/ports/upb/portfile.cmake +++ /dev/null @@ -1,26 +0,0 @@ -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO protocolbuffers/upb - REF 160625a9728b4031a21ad1e1c0146ea2c3a851eb # 2021-10-19 - SHA512 13b205dd4278600e6ec05c829dc6c7e449747cccb118a3b83abc0ab5ef0ab180feb364ac84da8075471697fbba798ed3d9d763934d7fe9a64ac0560f5f9d3e83 - HEAD_REF master - PATCHES - fix-uwp.patch - fix-cmakelists.patch - add-all-libs-target.patch - add-cmake-install.patch -) - -vcpkg_cmake_configure( - SOURCE_PATH "${SOURCE_PATH}/cmake" -) - -vcpkg_cmake_install() -vcpkg_cmake_config_fixup() -vcpkg_copy_pdbs() - -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share" "${CURRENT_PACKAGES_DIR}/debug/include") - -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/upb/vcpkg.json b/ports/upb/vcpkg.json deleted file mode 100644 index 2f9c034125e43b..00000000000000 --- a/ports/upb/vcpkg.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "name": "upb", - "version-date": "2021-10-19", - "description": "μpb (often written 'upb') is a small protobuf implementation written in C.", - "homepage": "https://github.com/protocolbuffers/upb/", - "dependencies": [ - { - "name": "vcpkg-cmake", - "host": true - }, - { - "name": "vcpkg-cmake-config", - "host": true - } - ] -} diff --git a/ports/urdfdom-headers/fix-include-path.patch b/ports/urdfdom-headers/fix-include-path.patch index 6ecfad8eb9cf91..12b19658e73b10 100644 --- a/ports/urdfdom-headers/fix-include-path.patch +++ b/ports/urdfdom-headers/fix-include-path.patch @@ -1,12 +1,12 @@ diff --git a/cmake/urdfdom_headers-config.cmake.in b/cmake/urdfdom_headers-config.cmake.in -index 4686d39..026b65e 100644 +index b53e466..b35805a 100644 --- a/cmake/urdfdom_headers-config.cmake.in +++ b/cmake/urdfdom_headers-config.cmake.in @@ -3,8 +3,8 @@ if (@PACKAGE_NAME@_CONFIG_INCLUDED) endif() set(@PACKAGE_NAME@_CONFIG_INCLUDED TRUE) --set(@PACKAGE_NAME@_INCLUDE_DIRS "${@PROJECT_NAME@_DIR}/@RELATIVE_PATH_CMAKE_DIR_TO_PREFIX@/include") +-set(@PACKAGE_NAME@_INCLUDE_DIRS "${@PROJECT_NAME@_DIR}/@RELATIVE_PATH_CMAKE_DIR_TO_PREFIX@/@CMAKE_INSTALL_INCLUDEDIR@") +set(@PACKAGE_NAME@_INCLUDE_DIRS "${CMAKE_CURRENT_LIST_DIR}/../../include") -include("${@PACKAGE_NAME@_DIR}/@PACKAGE_NAME@Export.cmake") diff --git a/ports/urdfdom-headers/portfile.cmake b/ports/urdfdom-headers/portfile.cmake index eac0cb96e7c1a0..a732aea1a68ebd 100644 --- a/ports/urdfdom-headers/portfile.cmake +++ b/ports/urdfdom-headers/portfile.cmake @@ -1,41 +1,29 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ros/urdfdom_headers - REF a15d906ff16a7fcbf037687b9c63b946c0cc04a1 # 1.0.5 - SHA512 794acd3b077a1d8fa27d0a698cecbce42f3a7b30f867e79b9897b0d97dcd9e80d2cf3b0c75ee34f628f73afb871c439fffe4a1d7ed85c7fac6553fb1e5b56c36 + REF "${VERSION}" + SHA512 b0eed4da4d1f165ab33812c181000fa58f3d817703a0b8728a9d4b9f888eeed15d095072c16eb5779850e8a88984633345b444396c58bd79bedf7bf3eb6e16bc HEAD_REF master PATCHES fix-include-path.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() -if(EXISTS ${CURRENT_PACKAGES_DIR}/CMake) - vcpkg_fixup_cmake_targets(CONFIG_PATH CMake TARGET_PATH share/urdfdom_headers) +if(EXISTS "${CURRENT_PACKAGES_DIR}/CMake") + vcpkg_cmake_config_fixup(CONFIG_PATH CMake PACKAGE_NAME urdfdom_headers) else() - vcpkg_fixup_cmake_targets(CONFIG_PATH lib/urdfdom_headers/cmake TARGET_PATH share/urdfdom_headers) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/urdfdom_headers) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/urdfdom_headers) + vcpkg_cmake_config_fixup(CONFIG_PATH lib/urdfdom_headers/cmake PACKAGE_NAME urdfdom_headers) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/urdfdom_headers") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/urdfdom_headers") endif() -if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/pkgconfig) - vcpkg_fixup_pkgconfig() -endif() - -# The config files for this project use underscore -if(EXISTS ${CURRENT_PACKAGES_DIR}/share/urdfdom-headers) - file(RENAME ${CURRENT_PACKAGES_DIR}/share/urdfdom-headers ${CURRENT_PACKAGES_DIR}/share/urdfdom_headers) -endif() +vcpkg_fixup_pkgconfig() -if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -else() - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) -endif() +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) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/urdfdom-headers/vcpkg.json b/ports/urdfdom-headers/vcpkg.json index 4326813b3d48b4..94d968d649d410 100644 --- a/ports/urdfdom-headers/vcpkg.json +++ b/ports/urdfdom-headers/vcpkg.json @@ -1,7 +1,17 @@ { "name": "urdfdom-headers", - "version-string": "1.0.5", - "port-version": 2, + "version": "1.1.1", "description": "The URDF (U-Robot Description Format) headers provides core data structure headers for URDF.", - "homepage": "https://github.com/ros/urdfdom_headers" + "homepage": "https://github.com/ros/urdfdom_headers", + "license": "BSD-2-Clause", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/urdfdom/0001_use_math_defines.patch b/ports/urdfdom/0001_use_math_defines.patch index b791533aa7dd0b..5197b5693ef75b 100644 --- a/ports/urdfdom/0001_use_math_defines.patch +++ b/ports/urdfdom/0001_use_math_defines.patch @@ -1,26 +1,15 @@ -From a374a5b04db27fde58a11cc2ba5ea10a0d0a7dad Mon Sep 17 00:00:00 2001 -From: Mikhail Paulyshka -Date: Sun, 3 Sep 2017 23:24:55 +0300 -Subject: [PATCH] define _USE_MATH_DEFINES - ---- - urdf_parser/CMakeLists.txt | 4 ++++ - 1 file changed, 4 insertions(+) - diff --git a/urdf_parser/CMakeLists.txt b/urdf_parser/CMakeLists.txt -index 333226e..2158965 100644 +index ac7c079..67f175d 100644 --- a/urdf_parser/CMakeLists.txt +++ b/urdf_parser/CMakeLists.txt -@@ -1,5 +1,9 @@ - include_directories(include) +@@ -23,6 +23,10 @@ macro(add_urdfdom_library) + SOVERSION ${URDF_MAJOR_MINOR_VERSION}) + endmacro() +if(MSVC) -+add_definitions(-D_USE_MATH_DEFINES) ++ add_definitions(-D_USE_MATH_DEFINES) +endif() + - add_library(urdfdom_world SHARED src/pose.cpp src/model.cpp src/link.cpp src/joint.cpp src/world.cpp) - target_link_libraries(urdfdom_world ${TinyXML_LIBRARIES} ${console_bridge_LIBRARIES}) - set_target_properties(urdfdom_world PROPERTIES SOVERSION ${URDF_MAJOR_MINOR_VERSION}) --- -2.12.2.windows.2 - + if(TARGET console_bridge::console_bridge) + set(console_bridge_link_libs "console_bridge::console_bridge") + else() diff --git a/ports/urdfdom/0002_fix_exports.patch b/ports/urdfdom/0002_fix_exports.patch deleted file mode 100644 index 727883f8ddb99f..00000000000000 --- a/ports/urdfdom/0002_fix_exports.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 06aa5a06ee543102bf1a4057601adba3490dad60 Mon Sep 17 00:00:00 2001 -From: Mikhail Paulyshka -Date: Sun, 3 Sep 2017 23:55:11 +0300 -Subject: [PATCH] fix exports - ---- - urdf_parser/CMakeLists.txt | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/urdf_parser/CMakeLists.txt b/urdf_parser/CMakeLists.txt -index 2158965..c209228 100644 ---- a/urdf_parser/CMakeLists.txt -+++ b/urdf_parser/CMakeLists.txt -@@ -15,10 +15,12 @@ set_target_properties(urdfdom_model PROPERTIES SOVERSION ${URDF_MAJOR_MINOR_VERS - add_library(urdfdom_sensor SHARED src/urdf_sensor.cpp) - target_link_libraries(urdfdom_sensor urdfdom_model ${TinyXML_LIBRARIES} ${console_bridge_LIBRARIES}) - set_target_properties(urdfdom_sensor PROPERTIES SOVERSION ${URDF_MAJOR_MINOR_VERSION}) -+set_target_properties(urdfdom_sensor PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON) - - add_library(urdfdom_model_state SHARED src/urdf_model_state.cpp src/twist.cpp) - target_link_libraries(urdfdom_model_state ${TinyXML_LIBRARIES} ${console_bridge_LIBRARIES}) - set_target_properties(urdfdom_model_state PROPERTIES SOVERSION ${URDF_MAJOR_MINOR_VERSION}) -+set_target_properties(urdfdom_model_state PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON) - - # -------------------------------- - --- -2.12.2.windows.2 - diff --git a/ports/urdfdom/0003_import_prefix.patch b/ports/urdfdom/0003_import_prefix.patch deleted file mode 100644 index 3353774af69c10..00000000000000 --- a/ports/urdfdom/0003_import_prefix.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/cmake/urdfdom-config.cmake.in b/cmake/urdfdom-config.cmake.in -index fb81b47..3ccad51 100644 ---- a/cmake/urdfdom-config.cmake.in -+++ b/cmake/urdfdom-config.cmake.in -@@ -3,6 +3,10 @@ if (@PKG_NAME@_CONFIG_INCLUDED) - endif() - set(@PKG_NAME@_CONFIG_INCLUDED TRUE) - -+# Vcpkg fix-ups -+get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) -+get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -+ - set(@PKG_NAME@_INCLUDE_DIRS "@CMAKE_INSTALL_PREFIX@/include" "@TinyXML_INCLUDE_DIRS@") - - foreach(lib @PKG_LIBRARIES@) diff --git a/ports/urdfdom/0004_fix-dependency-console_bridge.patch b/ports/urdfdom/0004_fix-dependency-console_bridge.patch deleted file mode 100644 index 4e149b1a08dd26..00000000000000 --- a/ports/urdfdom/0004_fix-dependency-console_bridge.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 92762f1..f0d115d 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -41,7 +41,7 @@ if (NOT MSVC) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") - endif() - --find_package(console_bridge 0.3 REQUIRED) -+find_package(console_bridge REQUIRED) - include_directories(SYSTEM ${console_bridge_INCLUDE_DIRS}) - link_directories(${console_bridge_LIBRARY_DIRS}) - diff --git a/ports/urdfdom/0005-fix-config-and-install.patch b/ports/urdfdom/0005-fix-config-and-install.patch new file mode 100644 index 00000000000000..902d6337d9445b --- /dev/null +++ b/ports/urdfdom/0005-fix-config-and-install.patch @@ -0,0 +1,40 @@ +diff --git a/cmake/urdfdom-config.cmake.in b/cmake/urdfdom-config.cmake.in +index d8eb93d..3e5c42a 100644 +--- a/cmake/urdfdom-config.cmake.in ++++ b/cmake/urdfdom-config.cmake.in +@@ -3,8 +3,12 @@ if (@PKG_NAME@_CONFIG_INCLUDED) + endif() + set(@PKG_NAME@_CONFIG_INCLUDED TRUE) + +-set(@PKG_NAME@_INCLUDE_DIRS "${@PROJECT_NAME@_DIR}/@RELATIVE_PATH_CMAKE_DIR_TO_PREFIX@/@CMAKE_INSTALL_INCLUDEDIR@" "@TinyXML_INCLUDE_DIRS@") ++get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) ++get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) ++ ++set(@PKG_NAME@_INCLUDE_DIRS "${_IMPORT_PREFIX}/include" "@TinyXML_INCLUDE_DIRS@") + ++if (0) + foreach(lib @PKG_LIBRARIES@) + set(onelib "${lib}-NOTFOUND") + set(onelibd "${lib}-NOTFOUND") +@@ -29,10 +33,14 @@ foreach(lib @PKG_LIBRARIES@) + endif() + list(APPEND @PKG_NAME@_TARGETS @PROJECT_NAME@::${lib}) + endforeach() ++endif() ++ ++include(CMakeFindDependencyMacro) ++find_dependency(console_bridge) + + foreach(dep @PKG_DEPENDS@) + if(NOT ${dep}_FOUND) +- find_package(${dep}) ++ find_dependency(${dep}) + endif() + list(APPEND @PKG_NAME@_INCLUDE_DIRS ${${dep}_INCLUDE_DIRS}) + list(APPEND @PKG_NAME@_LIBRARIES ${${dep}_LIBRARIES}) +@@ -41,3 +49,5 @@ endforeach() + foreach(exp @PKG_EXPORTS@) + include(${@PROJECT_NAME@_DIR}/${exp}Export.cmake) + endforeach() ++ ++set(@PKG_NAME@_LIBRARIES urdfdom::urdfdom_model urdfdom::urdfdom_world urdfdom::urdfdom_sensor urdfdom::urdfdom_model_state) diff --git a/ports/urdfdom/0006-pc_file_for_windows.patch b/ports/urdfdom/0006-pc_file_for_windows.patch new file mode 100644 index 00000000000000..83471eedfb6d9b --- /dev/null +++ b/ports/urdfdom/0006-pc_file_for_windows.patch @@ -0,0 +1,17 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -89,11 +89,11 @@ + # Make the package config file +-if (NOT MSVC) ++ + set(PKG_DESC "Unified Robot Description Format") + set(PKG_DEPENDS "urdfdom_headers console_bridge") # make the list separated by spaces instead of ; + set(PKG_URDF_LIBS "-lurdfdom_sensor -lurdfdom_model_state -lurdfdom_model -lurdfdom_world") + set(pkg_conf_file "cmake/pkgconfig/urdfdom.pc") + configure_file("${CMAKE_CURRENT_SOURCE_DIR}/${pkg_conf_file}.in" "${CMAKE_BINARY_DIR}/${pkg_conf_file}" @ONLY) + install(FILES ${CMAKE_BINARY_DIR}/${pkg_conf_file} + DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig/ COMPONENT pkgconfig) +-endif() ++ + diff --git a/ports/urdfdom/portfile.cmake b/ports/urdfdom/portfile.cmake index 46226bc0e59bf2..fdafe4f62d3293 100644 --- a/ports/urdfdom/portfile.cmake +++ b/ports/urdfdom/portfile.cmake @@ -1,55 +1,41 @@ vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO ros/urdfdom - REF 0da4b20675cdbe14b532d484a1c17df85b4e1584 # 1.0.4 - SHA512 cad59307fef466e2bbe3769a4123571d48223ea25a80dde76cb25c9f6dfc961570090d188ddaf8fc93f41f355ffa240eb00abe20cdea4a5ee3e49f56d1258686 - HEAD_REF master - PATCHES - 0001_use_math_defines.patch - 0002_fix_exports.patch - 0003_import_prefix.patch - 0004_fix-dependency-console_bridge.patch + OUT_SOURCE_PATH SOURCE_PATH + REPO ros/urdfdom + REF ${VERSION} + SHA512 6386954bc7883e82d9db7c785ae074b47ca31efb7cc2686101e7813768824bed5b46a774a1296453c39ff76673a9dc77305bb2ac96b86ecf93fab22062ef2258 + HEAD_REF master + PATCHES + 0001_use_math_defines.patch + 0005-fix-config-and-install.patch + 0006-pc_file_for_windows.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_TESTING=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -if(EXISTS ${CURRENT_PACKAGES_DIR}/CMake) - vcpkg_fixup_cmake_targets(CONFIG_PATH CMake) +vcpkg_copy_tools(TOOL_NAMES check_urdf urdf_mem_test urdf_to_graphiz urdf_to_graphviz AUTO_CLEAN) + +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_cmake_config_fixup(CONFIG_PATH CMake) else() - vcpkg_fixup_cmake_targets(CONFIG_PATH lib/urdfdom/cmake) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/urdfdom) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/urdfdom) + vcpkg_cmake_config_fixup(CONFIG_PATH lib/urdfdom/cmake) + # Empty folders + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/urdfdom") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/urdfdom") endif() -if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/pkgconfig) +if(NOT VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_MINGW) vcpkg_fixup_pkgconfig() endif() +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin) - -file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/) -file(RENAME ${CURRENT_PACKAGES_DIR}/bin/ ${CURRENT_PACKAGES_DIR}/tools/${PORT}/) - -file(GLOB URDFDOM_DLLS_DEBUG ${CURRENT_PACKAGES_DIR}/debug/lib/*.dll) -foreach(URDFDOM_DLL_DEBUG ${URDFDOM_DLLS_DEBUG}) - file(COPY ${URDFDOM_DLL_DEBUG} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) - file(REMOVE ${URDFDOM_DLL_DEBUG}) -endforeach() - -file(GLOB URDFDOM_DLLS_RELEASE ${CURRENT_PACKAGES_DIR}/lib/*.dll) -foreach(URDFDOM_DLL_RELEASE ${URDFDOM_DLLS_RELEASE}) - file(COPY ${URDFDOM_DLL_RELEASE} DESTINATION ${CURRENT_PACKAGES_DIR}/bin) - file(REMOVE ${URDFDOM_DLL_RELEASE}) -endforeach() - -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/urdfdom/vcpkg.json b/ports/urdfdom/vcpkg.json index d235316bcb11e7..f9ef20c91b9621 100644 --- a/ports/urdfdom/vcpkg.json +++ b/ports/urdfdom/vcpkg.json @@ -1,12 +1,21 @@ { "name": "urdfdom", - "version-string": "1.0.4", - "port-version": 4, + "version": "3.1.1", "description": "Provides core data structures and a simple XML parsers for populating the class data structures from an URDF file.", "homepage": "https://github.com/ros/urdfdom", + "license": "BSD-3-Clause", + "supports": "!staticcrt", "dependencies": [ "console-bridge", "tinyxml", - "urdfdom-headers" + "urdfdom-headers", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/urho3d/add_options.patch b/ports/urho3d/add_options.patch deleted file mode 100644 index 73a88cb4831ee7..00000000000000 --- a/ports/urho3d/add_options.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/Source/CMakeLists.txt b/Source/CMakeLists.txt -index 866fc22..ee02d2e 100644 ---- a/Source/CMakeLists.txt -+++ b/Source/CMakeLists.txt -@@ -147,8 +147,12 @@ endif () - - # In order to get clean module segregation, always exclude player/samples from AAR - if (NOT ANDROID) -+ if (URHO3D_BUILD_TOOLS) - add_subdirectory (Tools) -+ endif() -+ if (URHO3D_BUILD_SAMPLES) - add_subdirectory (Samples) -+ endif() - endif () - - if (URHO3D_EXTRAS) diff --git a/ports/urho3d/asm_files.patch b/ports/urho3d/asm_files.patch deleted file mode 100644 index 91318e1d7be1c7..00000000000000 --- a/ports/urho3d/asm_files.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff --git a/Source/ThirdParty/AngelScript/CMakeLists.txt b/Source/ThirdParty/AngelScript/CMakeLists.txt -index 6709cf5fc..4842f20b1 100644 ---- a/Source/ThirdParty/AngelScript/CMakeLists.txt -+++ b/Source/ThirdParty/AngelScript/CMakeLists.txt -@@ -44,10 +44,10 @@ if (ARM) - elseif (MSVC AND URHO3D_64BIT) - enable_language (ASM_MASM) - # Commented out due to cmake bug - todo: Recheck if this workaround is still necessary when increasing CMake minimum version -- #set (ASM_FILES source/as_callfunc_x64_msvc_asm.asm) -+ set (ASM_FILES source/as_callfunc_x64_msvc_asm.asm) - # As a temporary workaround -- add_custom_command (OUTPUT as_callfunc_x64_msvc_asm.obj COMMAND ${CMAKE_ASM_MASM_COMPILER} -Fo ${CMAKE_CURRENT_BINARY_DIR}/as_callfunc_x64_msvc_asm.obj -c ${CMAKE_CURRENT_SOURCE_DIR}/source/as_callfunc_x64_msvc_asm.asm DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/source/as_callfunc_x64_msvc_asm.asm COMMENT "Temporary workaround for MASM") -- set (ASM_FILES ${CMAKE_CURRENT_BINARY_DIR}/as_callfunc_x64_msvc_asm.obj ${CMAKE_CURRENT_SOURCE_DIR}/source/as_callfunc_x64_msvc_asm.asm) -+ #add_custom_command (OUTPUT as_callfunc_x64_msvc_asm.obj COMMAND ${CMAKE_ASM_MASM_COMPILER} -Fo ${CMAKE_CURRENT_BINARY_DIR}/as_callfunc_x64_msvc_asm.obj -c ${CMAKE_CURRENT_SOURCE_DIR}/source/as_callfunc_x64_msvc_asm.asm DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/source/as_callfunc_x64_msvc_asm.asm COMMENT "Temporary workaround for MASM") -+ #set (ASM_FILES ${CMAKE_CURRENT_BINARY_DIR}/as_callfunc_x64_msvc_asm.obj ${CMAKE_CURRENT_SOURCE_DIR}/source/as_callfunc_x64_msvc_asm.asm) - endif () - list (APPEND SOURCE_FILES ${ASM_FILES}) - -diff --git a/Source/ThirdParty/LibCpuId/CMakeLists.txt b/Source/ThirdParty/LibCpuId/CMakeLists.txt -index 0aecafb06..677fd4b84 100644 ---- a/Source/ThirdParty/LibCpuId/CMakeLists.txt -+++ b/Source/ThirdParty/LibCpuId/CMakeLists.txt -@@ -33,10 +33,10 @@ endif () - if (MSVC AND URHO3D_64BIT) - enable_language (ASM_MASM) - # Commented out due to cmake bug -- #set (ASM_FILES src/masm-x64.asm) -+ set (ASM_FILES src/masm-x64.asm) - # As a temporary workaround -- add_custom_command (OUTPUT masm-x64.obj COMMAND ${CMAKE_ASM_MASM_COMPILER} -Fo ${CMAKE_CURRENT_BINARY_DIR}/masm-x64.obj -c ${CMAKE_CURRENT_SOURCE_DIR}/src/masm-x64.asm DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/src/masm-x64.asm COMMENT "Temporary workaround for MASM") -- set (ASM_FILES ${CMAKE_CURRENT_BINARY_DIR}/masm-x64.obj ${CMAKE_CURRENT_SOURCE_DIR}/src/masm-x64.asm) -+ #add_custom_command (OUTPUT masm-x64.obj COMMAND ${CMAKE_ASM_MASM_COMPILER} -Fo ${CMAKE_CURRENT_BINARY_DIR}/masm-x64.obj -c ${CMAKE_CURRENT_SOURCE_DIR}/src/masm-x64.asm DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/src/masm-x64.asm COMMENT "Temporary workaround for MASM") -+ #set (ASM_FILES ${CMAKE_CURRENT_BINARY_DIR}/masm-x64.obj ${CMAKE_CURRENT_SOURCE_DIR}/src/masm-x64.asm) - endif () - - # Define source files diff --git a/ports/urho3d/externalproject.patch b/ports/urho3d/externalproject.patch deleted file mode 100644 index 89d5dba7ffead7..00000000000000 --- a/ports/urho3d/externalproject.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/Source/Urho3D/CMakeLists.txt b/Source/Urho3D/CMakeLists.txt -index ae341cb3e..743302069 100644 ---- a/Source/Urho3D/CMakeLists.txt -+++ b/Source/Urho3D/CMakeLists.txt -@@ -316,6 +316,7 @@ if (URHO3D_LUA) - else () - set (ALTERNATE_COMMAND CMAKE_COMMAND ${CMAKE_COMMAND} -E env CC=${SAVED_CC} CXX=${SAVED_CXX} CI=$ENV{CI} ${CMAKE_COMMAND}) - endif () -+ set(CMAKE_DISABLE_SOURCE_CHANGES OFF) - ExternalProject_Add (tolua++ - SOURCE_DIR ${CMAKE_SOURCE_DIR}/Source/ThirdParty/toluapp/src/bin - CMAKE_ARGS -D URHO3D_DEPLOYMENT_TARGET=generic -D DEST_RUNTIME_DIR=${CMAKE_BINARY_DIR}/bin/tool -D BAKED_CMAKE_SOURCE_DIR=${CMAKE_SOURCE_DIR} -D URHO3D_UPDATE_SOURCE_TREE=${URHO3D_UPDATE_SOURCE_TREE} -D CMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM} diff --git a/ports/urho3d/fix-install.patch b/ports/urho3d/fix-install.patch deleted file mode 100644 index 50934bfc4201f5..00000000000000 --- a/ports/urho3d/fix-install.patch +++ /dev/null @@ -1,187 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index b8f54e9..1c23bbc 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -37,7 +37,6 @@ set (PATH_SUFFIX Urho3D) - if (WIN32) - set (SCRIPT_EXT .bat) - if (CMAKE_HOST_WIN32) -- set (PATH_SUFFIX .) - if (URHO3D_64BIT AND CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) - string (REPLACE " (x86)" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") - endif () -@@ -45,7 +44,7 @@ if (WIN32) - else () - set (SCRIPT_EXT .sh) - endif () --if (URHO3D_64BIT) -+if (0) - # Install to 'lib64' when one of these conditions is true - if ((MINGW AND CMAKE_CROSSCOMPILING) OR URHO3D_USE_LIB64_RPM OR (HAS_LIB64 AND NOT URHO3D_USE_LIB_DEB)) - set (LIB_SUFFIX 64) -@@ -59,7 +58,7 @@ set (DEST_LIBRARY_DIR lib${LIB_SUFFIX}/${PATH_SUFFIX}) - set (DEST_PKGCONFIG_DIR lib${LIB_SUFFIX}/pkgconfig) - # Install application launcher scripts - file (GLOB APP_SCRIPTS ${CMAKE_SOURCE_DIR}/bin/*${SCRIPT_EXT}) --install (PROGRAMS ${APP_SCRIPTS} DESTINATION ${DEST_RUNTIME_DIR}) # DEST_RUNTIME_DIR variable is set by the set_output_directories() macro call in the UrhoCommon module -+install (PROGRAMS ${APP_SCRIPTS} DESTINATION ${DEST_SHARE_DIR}/script) # DEST_RUNTIME_DIR variable is set by the set_output_directories() macro call in the UrhoCommon module - # Install CMake modules and toolchains provided by and for Urho3D - install (DIRECTORY ${CMAKE_SOURCE_DIR}/cmake/ DESTINATION ${DEST_SHARE_DIR}/cmake) # Note: the trailing slash is significant - # Install CMake build scripts and rakefile -diff --git a/Docs/CMakeLists.txt b/Docs/CMakeLists.txt -index 9993d07..9a58363 100644 ---- a/Docs/CMakeLists.txt -+++ b/Docs/CMakeLists.txt -@@ -99,7 +99,7 @@ if (DOXYGEN_FOUND) - execute_process (COMMAND ${CMAKE_COMMAND} -E remove ${CMAKE_CURRENT_BINARY_DIR}/generated/LuaPkgToDox.txt.new) - file (GLOB_RECURSE API_PKG_FILES ${CMAKE_SOURCE_DIR}/Source/Urho3D/LuaScript/pkgs/*.pkg) - add_custom_command (OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/generated/LuaScriptAPI.dox -- COMMAND ${CMAKE_BINARY_DIR}/bin/tool/tolua++ -L ToDoxHook.lua -P -o ${CMAKE_CURRENT_BINARY_DIR}/generated/LuaScriptAPI.dox ${CMAKE_CURRENT_BINARY_DIR}/generated/LuaPkgToDox.txt -+ COMMAND ${CMAKE_BINARY_DIR}/tools/urho3d/tolua++ -L ToDoxHook.lua -P -o ${CMAKE_CURRENT_BINARY_DIR}/generated/LuaScriptAPI.dox ${CMAKE_CURRENT_BINARY_DIR}/generated/LuaPkgToDox.txt - DEPENDS tolua++ ${API_PKG_FILES} ${CMAKE_CURRENT_BINARY_DIR}/generated/LuaPkgToDox.txt ${CMAKE_SOURCE_DIR}/Source/Urho3D/LuaScript/pkgs/ToDoxHook.lua - WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/Source/Urho3D/LuaScript/pkgs - COMMENT "Dumping LuaScript API to LuaScriptAPI.dox") -diff --git a/Source/ThirdParty/LuaJIT/CMakeLists.txt b/Source/ThirdParty/LuaJIT/CMakeLists.txt -index f1ec925..c310fcc 100644 ---- a/Source/ThirdParty/LuaJIT/CMakeLists.txt -+++ b/Source/ThirdParty/LuaJIT/CMakeLists.txt -@@ -603,7 +603,7 @@ if (NOT CMAKE_PROJECT_NAME MATCHES ^Urho3D-ExternalProject-LuaJIT AND NOT IOS AN - - # Install dependency files required by luajit - if (DEST_RUNTIME_DIR) -- install (DIRECTORY ${LUAJIT_DEP_DIR} DESTINATION ${DEST_RUNTIME_DIR}) -+ install (DIRECTORY ${LUAJIT_DEP_DIR} DESTINATION share/Urho3D) - endif () - endif () - -diff --git a/Source/ThirdParty/toluapp/src/bin/CMakeLists.txt b/Source/ThirdParty/toluapp/src/bin/CMakeLists.txt -index 0cd69fc..e761ef6 100644 ---- a/Source/ThirdParty/toluapp/src/bin/CMakeLists.txt -+++ b/Source/ThirdParty/toluapp/src/bin/CMakeLists.txt -@@ -52,7 +52,7 @@ if (URHO3D_UPDATE_SOURCE_TREE) - endif () - file (GLOB TOLUA lua/*.lua) - add_custom_command (OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/generated/toluabind.c -- COMMAND ${CMAKE_BINARY_DIR}/bin/tool/tolua++ -o ${CMAKE_CURRENT_BINARY_DIR}/generated/toluabind.c -H ${CMAKE_CURRENT_BINARY_DIR}/generated/toluabind.h -n tolua tolua_scons.pkg 2>${NULL_DEVICE} || ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/toluabind.c ${CMAKE_CURRENT_BINARY_DIR}/generated/toluabind.c -+ COMMAND ${CMAKE_BINARY_DIR}/tools/urho3d/tolua++ -o ${CMAKE_CURRENT_BINARY_DIR}/generated/toluabind.c -H ${CMAKE_CURRENT_BINARY_DIR}/generated/toluabind.h -n tolua tolua_scons.pkg 2>${NULL_DEVICE} || ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/toluabind.c ${CMAKE_CURRENT_BINARY_DIR}/generated/toluabind.c - ${UPDATE_COMMAND} - DEPENDS ${TOLUA} tolua_scons.pkg - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} -diff --git a/Source/Tools/CMakeLists.txt b/Source/Tools/CMakeLists.txt -index 65b59d9..db8f5cd 100644 ---- a/Source/Tools/CMakeLists.txt -+++ b/Source/Tools/CMakeLists.txt -@@ -51,24 +51,24 @@ if (CMAKE_CROSSCOMPILING) - if (URHO3D_PACKAGING) - ExternalProject_Add (PackageTool - SOURCE_DIR ${CMAKE_SOURCE_DIR}/Source/Tools/PackageTool -- CMAKE_ARGS -D URHO3D_DEPLOYMENT_TARGET=generic -D DEST_RUNTIME_DIR=${CMAKE_BINARY_DIR}/bin/tool -D BAKED_CMAKE_SOURCE_DIR=${CMAKE_SOURCE_DIR} -D BAKED_CMAKE_BINARY_DIR=${CMAKE_BINARY_DIR} -D CMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM} -+ CMAKE_ARGS -D URHO3D_DEPLOYMENT_TARGET=generic -D DEST_RUNTIME_DIR=${CMAKE_BINARY_DIR}/tools/urho3d -D BAKED_CMAKE_SOURCE_DIR=${CMAKE_SOURCE_DIR} -D BAKED_CMAKE_BINARY_DIR=${CMAKE_BINARY_DIR} -D CMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM} - ${ALTERNATE_COMMAND}) - add_make_clean_files (${CMAKE_BINARY_DIR}/bin/tool/PackageTool) - if (CMAKE_HOST_WIN32 AND NOT HAS_MKLINK) - add_dependencies (PackageTool Urho3D) # Ensure Urho3D headers are fresh when building PackageTool externally on Windows host system without MKLINK - endif () -- install (PROGRAMS ${CMAKE_BINARY_DIR}/bin/tool/PackageTool DESTINATION ${DEST_RUNTIME_DIR}/tool) -+ install (PROGRAMS ${CMAKE_BINARY_DIR}/bin/tool/PackageTool DESTINATION ${DEST_RUNTIME_DIR}) - endif () - if (URHO3D_GENERATEBINDINGS) - ExternalProject_Add (BindingGenerator - SOURCE_DIR ${CMAKE_SOURCE_DIR}/Source/Tools/BindingGenerator -- CMAKE_ARGS -D URHO3D_DEPLOYMENT_TARGET=generic -D DEST_RUNTIME_DIR=${CMAKE_BINARY_DIR}/bin/tool -D BAKED_CMAKE_SOURCE_DIR=${CMAKE_SOURCE_DIR} -D BAKED_CMAKE_BINARY_DIR=${CMAKE_BINARY_DIR} -D CMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM} -+ CMAKE_ARGS -D URHO3D_DEPLOYMENT_TARGET=generic -D DEST_RUNTIME_DIR=${CMAKE_BINARY_DIR}/tools/urho3d -D BAKED_CMAKE_SOURCE_DIR=${CMAKE_SOURCE_DIR} -D BAKED_CMAKE_BINARY_DIR=${CMAKE_BINARY_DIR} -D CMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM} - ${ALTERNATE_COMMAND}) - add_make_clean_files (${CMAKE_BINARY_DIR}/bin/tool/BindingGenerator) - if (CMAKE_HOST_WIN32 AND NOT HAS_MKLINK) - add_dependencies (BindingGenerator Urho3D) - endif () -- install (PROGRAMS ${CMAKE_BINARY_DIR}/bin/tool/BindingGenerator DESTINATION ${DEST_RUNTIME_DIR}/tool) -+ install (PROGRAMS ${CMAKE_BINARY_DIR}/bin/tool/BindingGenerator DESTINATION ${DEST_RUNTIME_DIR}) - endif () - endif () - -diff --git a/Source/Urho3D/CMakeLists.txt b/Source/Urho3D/CMakeLists.txt -index 7433020..8161011 100644 ---- a/Source/Urho3D/CMakeLists.txt -+++ b/Source/Urho3D/CMakeLists.txt -@@ -283,7 +283,7 @@ if (URHO3D_BINDINGS) - endif () - ExternalProject_Add (AutoBinder - SOURCE_DIR ${CMAKE_SOURCE_DIR}/Source/Clang-Tools -- CMAKE_ARGS -D URHO3D_CLANG_TOOLS=AutoBinder -D URHO3D_DEPLOYMENT_TARGET=generic -D DEST_RUNTIME_DIR=${CMAKE_BINARY_DIR}/bin/tool/clang -D DEST_INCLUDE_DIR=${DEST_INCLUDE_DIR} -D BAKED_CMAKE_SOURCE_DIR=${CMAKE_SOURCE_DIR} -D CMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM} -+ CMAKE_ARGS -D URHO3D_CLANG_TOOLS=AutoBinder -D URHO3D_DEPLOYMENT_TARGET=generic -D DEST_RUNTIME_DIR=${CMAKE_BINARY_DIR}/tools/urho3d/clang -D DEST_INCLUDE_DIR=${DEST_INCLUDE_DIR} -D BAKED_CMAKE_SOURCE_DIR=${CMAKE_SOURCE_DIR} -D CMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM} - ${ALTERNATE_COMMAND}) - add_make_clean_files (${CMAKE_BINARY_DIR}/bin/tool/clang/AutoBinder) - file (MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/generated/generated) -@@ -319,10 +319,10 @@ if (URHO3D_LUA) - set(CMAKE_DISABLE_SOURCE_CHANGES OFF) - ExternalProject_Add (tolua++ - SOURCE_DIR ${CMAKE_SOURCE_DIR}/Source/ThirdParty/toluapp/src/bin -- CMAKE_ARGS -D URHO3D_DEPLOYMENT_TARGET=generic -D DEST_RUNTIME_DIR=${CMAKE_BINARY_DIR}/bin/tool -D BAKED_CMAKE_SOURCE_DIR=${CMAKE_SOURCE_DIR} -D URHO3D_UPDATE_SOURCE_TREE=${URHO3D_UPDATE_SOURCE_TREE} -D CMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM} -+ CMAKE_ARGS -D URHO3D_DEPLOYMENT_TARGET=generic -D DEST_RUNTIME_DIR=${CMAKE_BINARY_DIR}/tools/urho3d -D BAKED_CMAKE_SOURCE_DIR=${CMAKE_SOURCE_DIR} -D URHO3D_UPDATE_SOURCE_TREE=${URHO3D_UPDATE_SOURCE_TREE} -D CMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM} - ${TRAVIS_ANDROID_FIX} - ${ALTERNATE_COMMAND}) -- add_make_clean_files (${CMAKE_BINARY_DIR}/bin/tool/tolua++) -+ add_make_clean_files (${CMAKE_BINARY_DIR}/tools/urho3d/tolua++) - else () - # Otherwise, build it internally as per normal - add_subdirectory (../ThirdParty/toluapp/src/bin ../ThirdParty/toluapp/src/bin) -@@ -343,7 +343,7 @@ if (URHO3D_LUA) - list (APPEND LUA_GEN_CPP_FILES ${GEN_CPP_FILE}) - file (GLOB PKG_FILES LuaScript/pkgs/${DIR}/*.pkg) - add_custom_command (OUTPUT ${GEN_CPP_FILE} -- COMMAND ${CMAKE_BINARY_DIR}/bin/tool/tolua++ -E ${CMAKE_PROJECT_NAME} -L ToCppHook.lua -o ${GEN_CPP_FILE} ${NAME} -+ COMMAND ${CMAKE_BINARY_DIR}/tools/urho3d/tolua++ -E ${CMAKE_PROJECT_NAME} -L ToCppHook.lua -o ${GEN_CPP_FILE} ${NAME} - DEPENDS tolua++ ${API_PKG_FILE} ${PKG_FILES} LuaScript/pkgs/ToCppHook.lua - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/LuaScript/pkgs - COMMENT "Generating tolua++ API binding on the fly for ${DIR}") -diff --git a/cmake/Modules/UrhoCommon.cmake b/cmake/Modules/UrhoCommon.cmake -index cfac648..b196095 100644 ---- a/cmake/Modules/UrhoCommon.cmake -+++ b/cmake/Modules/UrhoCommon.cmake -@@ -1358,7 +1358,7 @@ macro (find_Urho3D_tool VAR NAME) - find_program (${VAR} ${NAME} HINTS ${ARG_HINTS} PATHS ${ARG_PATHS} PATH_SUFFIXES ${ARG_PATH_SUFFIXES} DOC ${ARG_DOC} NO_DEFAULT_PATH) - mark_as_advanced (${VAR}) # Hide it from cmake-gui in non-advanced mode - if (NOT ${VAR}) -- set (${VAR} ${CMAKE_BINARY_DIR}/bin/tool/${NAME}) -+ set (${VAR} ${CMAKE_BINARY_DIR}/tools/urho3d/${NAME}) - if (ARG_MSG_MODE AND NOT CMAKE_PROJECT_NAME STREQUAL Urho3D) - message (${ARG_MSG_MODE} - "Could not find ${VAR} tool in the Urho3D build tree or Urho3D SDK. Your project may not build successfully without this tool. " -@@ -1515,8 +1515,8 @@ macro (setup_executable) - if (ARG_TOOL) - list (APPEND TARGET_PROPERTIES XCODE_ATTRIBUTE_ONLY_ACTIVE_ARCH YES) - if (NOT ARG_PRIVATE AND NOT DEST_RUNTIME_DIR MATCHES tool) -- set_output_directories (${CMAKE_BINARY_DIR}/bin/tool LOCAL RUNTIME PDB) -- set (RUNTIME_DIR ${CMAKE_BINARY_DIR}/bin/tool) -+ set_output_directories (${CMAKE_BINARY_DIR}/tools/urho3d LOCAL RUNTIME PDB) -+ set (RUNTIME_DIR ${CMAKE_BINARY_DIR}/tools/urho3d) - endif () - endif () - if (NOT ARG_NODEPS) -@@ -1570,7 +1570,6 @@ macro (setup_executable) - endif () - if (DIRECT3D_DLL AND NOT DIRECT3D_DLL_INSTALLED) - # Make a copy of the D3D DLL to the runtime directory in the installed location -- install (FILES ${DIRECT3D_DLL} DESTINATION ${DEST_RUNTIME_DIR}) - set (DIRECT3D_DLL_INSTALLED TRUE) - endif () - endif () -@@ -1692,7 +1691,7 @@ macro (setup_main_executable) - if (URHO3D_PACKAGING) - # Urho3D project builds the PackageTool as required; downstream project uses PackageTool found in the Urho3D build tree or Urho3D SDK - find_Urho3d_tool (PACKAGE_TOOL PackageTool -- HINTS ${CMAKE_BINARY_DIR}/bin/tool ${URHO3D_HOME}/bin/tool -+ HINTS ${CMAKE_BINARY_DIR}/tools/urho3d ${URHO3D_HOME}/bin/tool - DOC "Path to PackageTool" MSG_MODE WARNING) - if (CMAKE_PROJECT_NAME STREQUAL Urho3D) - set (PACKAGING_DEP DEPENDS PackageTool) -@@ -1741,7 +1740,7 @@ macro (setup_main_executable) - foreach (DIR ${RESOURCE_DIRS}) - list (FIND INSTALLED_RESOURCE_DIRS ${DIR} FOUND_INDEX) - if (FOUND_INDEX EQUAL -1) -- install (DIRECTORY ${DIR} DESTINATION ${DEST_SHARE_DIR}/resources) -+ install (DIRECTORY ${DIR} DESTINATION tools/urho3d) - list (APPEND INSTALLED_RESOURCE_DIRS ${DIR}) - endif () - # This cache variable is used to keep track of whether a resource directory has been instructed to be installed by CMake or not diff --git a/ports/urho3d/macosx.patch b/ports/urho3d/macosx.patch deleted file mode 100644 index edcae1460d4cc5..00000000000000 --- a/ports/urho3d/macosx.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff --git a/Source/ThirdParty/Assimp/contrib/zlib/gzguts.h b/Source/ThirdParty/Assimp/contrib/zlib/gzguts.h -index 6378d468a..c8563db52 100644 ---- a/Source/ThirdParty/Assimp/contrib/zlib/gzguts.h -+++ b/Source/ThirdParty/Assimp/contrib/zlib/gzguts.h -@@ -38,6 +38,9 @@ - #if defined(__TURBOC__) || defined(_MSC_VER) || defined(_WIN32) - # include - #endif -+#ifdef __APPLE__ -+# include -+#endif - - #if defined(_WIN32) - # define WIDECHAR -diff --git a/Source/ThirdParty/Civetweb/src/civetweb.c b/Source/ThirdParty/Civetweb/src/civetweb.c -index 4d26e0a83..2bd577e81 100644 ---- a/Source/ThirdParty/Civetweb/src/civetweb.c -+++ b/Source/ThirdParty/Civetweb/src/civetweb.c -@@ -167,6 +167,8 @@ mg_static_assert(sizeof(void *) >= sizeof(int), "data type size check"); - - #endif - -+#include -+ - #if !defined(DEBUG_TRACE) - #if defined(DEBUG) - diff --git a/ports/urho3d/portfile.cmake b/ports/urho3d/portfile.cmake deleted file mode 100644 index dafdbe1afb8d66..00000000000000 --- a/ports/urho3d/portfile.cmake +++ /dev/null @@ -1,118 +0,0 @@ -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO urho3d/Urho3D - REF fff115a0c0cd50b8a34dfa20b4c5f33eb4f765c8 - SHA512 4bddcd1d4165b74134a499616710c382d0463db24382aaa3111b8b38e82818053144d4ecb0ba7156589da1e18d85c0f20e0d847237291685ea80957f0bf7f8be - HEAD_REF master - PATCHES - asm_files.patch - macosx.patch - shared_libs.patch - externalproject.patch - add_options.patch - fix-install.patch -) - -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - set(URHO3D_LIB_TYPE "STATIC") -else() - set(URHO3D_LIB_TYPE "SHARED") -endif() - -vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - FEATURES - tools URHO3D_BUILD_TOOLS - examples URHO3D_BUILD_SAMPLES -) - -vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} - OPTIONS - ${FEATURE_OPTIONS} - -DURHO3D_LIB_TYPE=${URHO3D_LIB_TYPE} - -DURHO3D_C++11=ON - -DURHO3D_PCH=OFF -) - -vcpkg_cmake_install() -vcpkg_copy_pdbs() - -vcpkg_fixup_pkgconfig() - -if(EXISTS "${CURRENT_PACKAGES_DIR}/share/Urho3D/CMake/Modules") - vcpkg_cmake_config_fixup(CONFIG_PATH share/Urho3D/CMake/Modules) -endif() -if(EXISTS "${CURRENT_PACKAGES_DIR}/share/CMake/Modules") - vcpkg_cmake_config_fixup(CONFIG_PATH share/CMake/Modules) -endif() - -# Handle tools -if ("tools" IN_LIST FEATURES AND NOT VCPKG_TARGET_IS_ANDROID) - vcpkg_copy_tools(TOOL_NAMES AssetImporter OgreImporter PackageTool RampGenerator ScriptCompiler SpritePacker - SEARCH_DIR "${CURRENT_PACKAGES_DIR}/tools/urho3d" - AUTO_CLEAN - ) - - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin/tool" "${CURRENT_PACKAGES_DIR}/debug/bin/tool") - - vcpkg_copy_tools(TOOL_NAMES Urho3DPlayer AUTO_CLEAN) - - file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/bin/Urho3DPlayer_d${VCPKG_TARGET_EXECUTABLE_SUFFIX}") -endif() - -# Handle examples -if ("examples" IN_LIST FEATURES AND NOT VCPKG_TARGET_IS_ANDROID) - file(GLOB URHO3D_BINARIES "${CURRENT_PACKAGES_DIR}/bin/*${VCPKG_TARGET_EXECUTABLE_SUFFIX}") - foreach(URHO3D_BINARY ${URHO3D_BINARIES}) - get_filename_component(BINARY_NAME ${URHO3D_BINARY} NAME_WE) - if (BINARY_NAME MATCHES "[0-9][0-9]\_.+") - list(APPEND URHO3D_TOOLS ${BINARY_NAME}) - endif() - endforeach() - vcpkg_copy_tools(TOOL_NAMES ${URHO3D_TOOLS} AUTO_CLEAN) - - if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - foreach(URHO3D_TOOL IN_LIST ${URHO3D_TOOLS}) - file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/bin/${URHO3D_TOOL}_d${VCPKG_TARGET_EXECUTABLE_SUFFIX}") - endforeach() - endif() -endif() - -if (EXISTS "${CURRENT_PACKAGES_DIR}/bin/luajit${VCPKG_TARGET_EXECUTABLE_SUFFIX}") - list(APPEND LUA_EXES "luajit") -endif() -if (EXISTS "${CURRENT_PACKAGES_DIR}/bin/lua${VCPKG_TARGET_EXECUTABLE_SUFFIX}") - list(APPEND LUA_EXES "lua") -endif() -if (EXISTS "${CURRENT_PACKAGES_DIR}/bin/luac${VCPKG_TARGET_EXECUTABLE_SUFFIX}") - list(APPEND LUA_EXES "luac") -endif() -vcpkg_copy_tools(TOOL_NAMES ${LUA_EXES} AUTO_CLEAN) - -# Cleanup -if (VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") -endif() - -# Fix includes -list(APPEND SDL_RELATED_HEADERS - "${CURRENT_PACKAGES_DIR}/include/Urho3D/Input/InputConstants.h" - "${CURRENT_PACKAGES_DIR}/include/Urho3D/IO/NamedPipe.h" - "${CURRENT_PACKAGES_DIR}/include/Urho3D/IO/RWOpsWrapper.h" -) -foreach (SDL_RELATED_HEADER ${SDL_RELATED_HEADERS}) - vcpkg_replace_string("${SDL_RELATED_HEADER}" - "#include - Level3 - Disabled -- WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;_USE_32BIT_TIME_T;HAVE_LIBIMOBILEDEVICE -+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;_USE_32BIT_TIME_T;HAVE_LIBIMOBILEDEVICE;HAVE_ENUM_IDEVICE_CONNECTION_TYPE;PACKAGE_URL="";PACKAGE_BUGREPORT="" - 4013 - - -@@ -144,7 +144,7 @@ - - Level3 - Disabled -- _DEBUG;_CONSOLE;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;WIN32;HAVE_LIBIMOBILEDEVICE -+ _DEBUG;_CONSOLE;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;WIN32;HAVE_LIBIMOBILEDEVICE;HAVE_ENUM_IDEVICE_CONNECTION_TYPE;PACKAGE_URL="";PACKAGE_BUGREPORT="" - - - Console -@@ -160,7 +160,7 @@ - MaxSpeed - true - true -- WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;_USE_32BIT_TIME_T;HAVE_LIBIMOBILEDEVICE -+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;_USE_32BIT_TIME_T;HAVE_LIBIMOBILEDEVICE;HAVE_ENUM_IDEVICE_CONNECTION_TYPE;PACKAGE_URL="";PACKAGE_BUGREPORT="" - 4013 - - -@@ -179,7 +179,7 @@ - MaxSpeed - true - true -- NDEBUG;_CONSOLE;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;WIN32;HAVE_LIBIMOBILEDEVICE -+ NDEBUG;_CONSOLE;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;WIN32;HAVE_LIBIMOBILEDEVICE;HAVE_ENUM_IDEVICE_CONNECTION_TYPE;PACKAGE_URL="";PACKAGE_BUGREPORT="" - - - Console diff --git a/ports/usbmuxd/fix-dependence-pthreads.patch b/ports/usbmuxd/fix-dependence-pthreads.patch deleted file mode 100644 index 5ff4d8472908d7..00000000000000 --- a/ports/usbmuxd/fix-dependence-pthreads.patch +++ /dev/null @@ -1,40 +0,0 @@ -diff --git a/usbmuxd.vcxproj b/usbmuxd.vcxproj -index d1d8a4d..086e8a4 100644 ---- a/usbmuxd.vcxproj -+++ b/usbmuxd.vcxproj -@@ -135,7 +135,7 @@ - - Console - true -- ws2_32.lib;libusb-1.0.lib;libusb0.lib;pthreadsVC2d.lib;%(AdditionalDependencies) -+ ws2_32.lib;libusb-1.0.lib;libusb0.lib;pthreadVC3d.lib;%(AdditionalDependencies) - - - -@@ -149,7 +149,7 @@ - - Console - true -- ws2_32.lib;libusb-1.0.lib;libusb0.lib;pthreadsVC2d.lib;%(AdditionalDependencies) -+ ws2_32.lib;libusb-1.0.lib;libusb0.lib;pthreadVC3d.lib;%(AdditionalDependencies) - - - -@@ -168,7 +168,7 @@ - true - true - true -- ws2_32.lib;libusb-1.0.lib;libusb0.lib;pthreadsVC2.lib;%(AdditionalDependencies) -+ ws2_32.lib;libusb-1.0.lib;libusb0.lib;pthreadVC3.lib;%(AdditionalDependencies) - - - -@@ -186,7 +186,7 @@ - true - true - true -- ws2_32.lib;libusb-1.0.lib;libusb0.lib;pthreadsVC2.lib;%(AdditionalDependencies) -+ ws2_32.lib;libusb-1.0.lib;libusb0.lib;pthreadVC3.lib;%(AdditionalDependencies) - - - diff --git a/ports/usbmuxd/portfile.cmake b/ports/usbmuxd/portfile.cmake index c9ac23d3593a2c..e7f11102c9ce82 100644 --- a/ports/usbmuxd/portfile.cmake +++ b/ports/usbmuxd/portfile.cmake @@ -1,20 +1,22 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO libimobiledevice-win32/usbmuxd - REF f1329e742825c93fd080bdb8253d710ef8b6f751 # v1.2.235 - SHA512 3259040a3266ce068a6fa1fdecdea824d22f04391ca073fc61d72a1f6d401d93469b9681ddc89a8016ef410bb7443875b2c5df2b571227dd34c66248cbe87fe7 - HEAD_REF master-msvc - PATCHES - fix-dependence-pthreads.patch - fix-definitions.patch + REPO libimobiledevice/usbmuxd + REF 61b99ab5c25609c11369733a0df97c03a0581a56 # commits on 2023-07-21 + SHA512 1b67a41f43e78bbf0966cbe68c9e35351d5a163d7d82aa6e5caed6c4f8ffc3c28faf74dc96890a35481b4856f6b6d95ebec9e8d2a665a099d8909b91bf408381 + HEAD_REF master ) -vcpkg_install_msbuild( - SOURCE_PATH ${SOURCE_PATH} - PROJECT_SUBPATH usbmuxd.vcxproj - LICENSE_SUBPATH COPYING.GPLv2 - USE_VCPKG_INTEGRATION +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -# No headers +vcpkg_cmake_install() +vcpkg_copy_tools(TOOL_NAMES usbmuxd AUTO_CLEAN) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING.GPLv2" "${SOURCE_PATH}/COPYING.GPLv3") + set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) diff --git a/ports/usbmuxd/vcpkg.json b/ports/usbmuxd/vcpkg.json index 7f660afafd2324..952d781df3b9e1 100644 --- a/ports/usbmuxd/vcpkg.json +++ b/ports/usbmuxd/vcpkg.json @@ -1,13 +1,21 @@ { "name": "usbmuxd", - "version-string": "1.2.235", + "version-date": "2023-07-21", "port-version": 1, "description": "A socket daemon to multiplex connections from and to iOS devices", "homepage": "http://www.libimobiledevice.org", + "license": "LGPL-2.0-or-later", + "supports": "(!windows & !android & !ios) | mingw", "dependencies": [ + "dirent", + "getopt", "libimobiledevice", + "libimobiledevice-glue", "libusb", - "libusb-win32", - "pthreads" + "pthreads", + { + "name": "vcpkg-cmake", + "host": true + } ] } diff --git a/ports/usd/001-fix_rename_find_package_to_find_dependency.patch b/ports/usd/001-fix_rename_find_package_to_find_dependency.patch new file mode 100644 index 00000000000000..6af8bc6a4eba53 --- /dev/null +++ b/ports/usd/001-fix_rename_find_package_to_find_dependency.patch @@ -0,0 +1,43 @@ +diff --git a/pxr/pxrConfig.cmake.in b/pxr/pxrConfig.cmake.in +index b26f1ea31..afe3dc448 100644 +--- a/pxr/pxrConfig.cmake.in ++++ b/pxr/pxrConfig.cmake.in +@@ -16,6 +16,8 @@ set(PXR_MINOR_VERSION "@PXR_MINOR_VERSION@") + set(PXR_PATCH_VERSION "@PXR_PATCH_VERSION@") + set(PXR_VERSION "@PXR_VERSION@") + ++include(CMakeFindDependencyMacro) ++ + # If Python support was enabled for this USD build, find the import + # targets by invoking the appropriate FindPython module. Use the same + # LIBRARY and INCLUDE_DIR settings from the original build if they +@@ -41,9 +43,9 @@ if(@PXR_ENABLE_PYTHON_SUPPORT@) + endif() + + if (NOT DEFINED Python3_VERSION) +- find_package(Python3 "@Python3_VERSION@" EXACT COMPONENTS Development REQUIRED) ++ find_dependency(Python3 "@Python3_VERSION@" EXACT COMPONENTS Development) + else() +- find_package(Python3 COMPONENTS Development REQUIRED) ++ find_dependency(Python3 COMPONENTS Development) + endif() + endif() + +@@ -57,7 +59,7 @@ if(@PXR_ENABLE_MATERIALX_SUPPORT@) + set(MaterialX_DIR [[@MaterialX_DIR@]]) + endif() + endif() +- find_package(MaterialX REQUIRED) ++ find_dependency(MaterialX) + endif() + + # Similar to MaterialX above, we are using Imath's cmake package config, so set +@@ -71,7 +73,7 @@ if(@Imath_FOUND@) + set(Imath_DIR [[@Imath_DIR@]]) + endif() + endif() +- find_package(Imath REQUIRED) ++ find_dependency(Imath) + endif() + + include("${PXR_CMAKE_DIR}/cmake/pxrTargets.cmake") diff --git a/ports/usd/002-vcpkg_find_tbb.patch b/ports/usd/002-vcpkg_find_tbb.patch new file mode 100644 index 00000000000000..a3f83c04b4e63a --- /dev/null +++ b/ports/usd/002-vcpkg_find_tbb.patch @@ -0,0 +1,27 @@ +diff --git a/cmake/defaults/Packages.cmake b/cmake/defaults/Packages.cmake +index fe60570b3..ccaabe765 100644 +--- a/cmake/defaults/Packages.cmake ++++ b/cmake/defaults/Packages.cmake +@@ -137,7 +137,8 @@ endif() + + + # --TBB +-find_package(TBB REQUIRED COMPONENTS tbb) ++find_package(TBB CONFIG REQUIRED) ++set(TBB_tbb_LIBRARY TBB::tbb) + add_definitions(${TBB_DEFINITIONS}) + + # --math +diff --git a/pxr/pxrConfig.cmake.in b/pxr/pxrConfig.cmake.in +index afe3dc448..041cd8cba 100644 +--- a/pxr/pxrConfig.cmake.in ++++ b/pxr/pxrConfig.cmake.in +@@ -18,6 +18,8 @@ set(PXR_VERSION "@PXR_VERSION@") + + include(CMakeFindDependencyMacro) + ++find_dependency(TBB CONFIG) ++ + # If Python support was enabled for this USD build, find the import + # targets by invoking the appropriate FindPython module. Use the same + # LIBRARY and INCLUDE_DIR settings from the original build if they diff --git a/ports/usd/003-vcpkg_find_opensubdiv.patch b/ports/usd/003-vcpkg_find_opensubdiv.patch new file mode 100644 index 00000000000000..ddd17c2fcf7561 --- /dev/null +++ b/ports/usd/003-vcpkg_find_opensubdiv.patch @@ -0,0 +1,34 @@ +diff --git a/cmake/defaults/Packages.cmake b/cmake/defaults/Packages.cmake +index ccaabe765..d4eea2988 100644 +--- a/cmake/defaults/Packages.cmake ++++ b/cmake/defaults/Packages.cmake +@@ -260,8 +260,12 @@ if (PXR_BUILD_IMAGING) + endif() + endif() + # --Opensubdiv +- set(OPENSUBDIV_USE_GPU ${PXR_ENABLE_GL_SUPPORT}) +- find_package(OpenSubdiv 3 REQUIRED) ++ find_package(OpenSubdiv 3 CONFIG REQUIRED) ++ set(OPENSUBDIV_LIBRARIES OpenSubdiv::osdCPU_static) ++ set(OPENSUBDIV_OSDCPU_LIBRARY OpenSubdiv::osdCPU_static) # For compatibility ++ if(PXR_ENABLE_GL_SUPPORT) ++ list(APPEND OPENSUBDIV_LIBRARIES OpenSubdiv::osdGPU_static) ++ endif() + # --Ptex + if (PXR_ENABLE_PTEX_SUPPORT) + find_package(PTex REQUIRED) +diff --git a/pxr/pxrConfig.cmake.in b/pxr/pxrConfig.cmake.in +index 041cd8cba..692d045b9 100644 +--- a/pxr/pxrConfig.cmake.in ++++ b/pxr/pxrConfig.cmake.in +@@ -20,6 +20,10 @@ include(CMakeFindDependencyMacro) + + find_dependency(TBB CONFIG) + ++if(@PXR_BUILD_IMAGING@) ++ find_dependency(OpenSubdiv 3 CONFIG) ++endif() ++ + # If Python support was enabled for this USD build, find the import + # targets by invoking the appropriate FindPython module. Use the same + # LIBRARY and INCLUDE_DIR settings from the original build if they diff --git a/ports/usd/004-vcpkg_find_openimageio.patch b/ports/usd/004-vcpkg_find_openimageio.patch new file mode 100644 index 00000000000000..96023df00ade42 --- /dev/null +++ b/ports/usd/004-vcpkg_find_openimageio.patch @@ -0,0 +1,57 @@ +diff --git a/cmake/defaults/Packages.cmake b/cmake/defaults/Packages.cmake +index d4eea2988..106fd15e2 100644 +--- a/cmake/defaults/Packages.cmake ++++ b/cmake/defaults/Packages.cmake +@@ -196,7 +196,8 @@ if (PXR_BUILD_IMAGING) + # --OpenImageIO + if (PXR_BUILD_OPENIMAGEIO_PLUGIN) + set(REQUIRES_Imath TRUE) +- find_package(OpenImageIO REQUIRED) ++ find_package(OpenImageIO CONFIG REQUIRED) ++ set(OIIO_LIBRARIES OpenImageIO::OpenImageIO) + add_definitions(-DPXR_OIIO_PLUGIN_ENABLED) + if (OIIO_idiff_BINARY) + set(IMAGE_DIFF_TOOL ${OIIO_idiff_BINARY} CACHE STRING "Uses idiff for image diffing") +diff --git a/pxr/imaging/plugin/hioOiio/CMakeLists.txt b/pxr/imaging/plugin/hioOiio/CMakeLists.txt +index 0a055b711..de4b73a47 100644 +--- a/pxr/imaging/plugin/hioOiio/CMakeLists.txt ++++ b/pxr/imaging/plugin/hioOiio/CMakeLists.txt +@@ -7,6 +7,7 @@ if (NOT ${PXR_BUILD_GPU_SUPPORT}) + return() + endif() + ++if(0) # No need because OpenImageIO::OpenImageIO already declare its transitive dependencies correctly + # Use the import targets set by Imath's package config + if (Imath_FOUND) + set(__OIIO_IMATH_LIBS "Imath::Imath") +@@ -14,6 +15,7 @@ else() + set(__OIIO_IMATH_INCLUDE ${OPENEXR_INCLUDE_DIRS}) + set(__OIIO_IMATH_LIBS ${OPENEXR_LIBRARIES}) + endif() ++endif() + + pxr_plugin(hioOiio + LIBRARIES +diff --git a/pxr/pxrConfig.cmake.in b/pxr/pxrConfig.cmake.in +index 692d045b9..a934c336b 100644 +--- a/pxr/pxrConfig.cmake.in ++++ b/pxr/pxrConfig.cmake.in +@@ -22,6 +22,9 @@ find_dependency(TBB CONFIG) + + if(@PXR_BUILD_IMAGING@) + find_dependency(OpenSubdiv 3 CONFIG) ++ if(@PXR_BUILD_OPENIMAGEIO_PLUGIN@) ++ find_dependency(OpenImageIO CONFIG) ++ endif() + endif() + + # If Python support was enabled for this USD build, find the import +@@ -79,7 +82,7 @@ if(@Imath_FOUND@) + set(Imath_DIR [[@Imath_DIR@]]) + endif() + endif() +- find_dependency(Imath) ++ find_dependency(Imath CONFIG) + endif() + + include("${PXR_CMAKE_DIR}/cmake/pxrTargets.cmake") diff --git a/ports/usd/005-vcpkg_find_shaderc.patch b/ports/usd/005-vcpkg_find_shaderc.patch new file mode 100644 index 00000000000000..610bdf84bd048f --- /dev/null +++ b/ports/usd/005-vcpkg_find_shaderc.patch @@ -0,0 +1,43 @@ +diff --git a/cmake/defaults/Packages.cmake b/cmake/defaults/Packages.cmake +index 3763c9997..79679ca13 100644 +--- a/cmake/defaults/Packages.cmake ++++ b/cmake/defaults/Packages.cmake +@@ -233,6 +233,7 @@ if (PXR_BUILD_IMAGING) + find_package(Vulkan REQUIRED) + list(APPEND VULKAN_LIBS Vulkan::Vulkan) + ++ if(0) + # Find the extra vulkan libraries we need + set(EXTRA_VULKAN_LIBS shaderc_combined) + if (WIN32 AND CMAKE_BUILD_TYPE STREQUAL "Debug") +@@ -242,6 +243,7 @@ if (PXR_BUILD_IMAGING) + find_library("${EXTRA_LIBRARY}_PATH" NAMES "${EXTRA_LIBRARY}" PATHS $ENV{VULKAN_SDK}/lib) + list(APPEND VULKAN_LIBS "${${EXTRA_LIBRARY}_PATH}") + endforeach() ++ endif() + + # Find the OS specific libs we need + if (APPLE) +@@ -258,6 +260,8 @@ if (PXR_BUILD_IMAGING) + else() + message(FATAL_ERROR "VULKAN_SDK not valid") + endif() ++ find_package(unofficial-shaderc CONFIG REQUIRED) ++ list(APPEND VULKAN_LIBS unofficial::shaderc::shaderc) + endif() + # --Opensubdiv + find_package(OpenSubdiv 3 CONFIG REQUIRED) +diff --git a/pxr/pxrConfig.cmake.in b/pxr/pxrConfig.cmake.in +index a934c336b..62bb13a1b 100644 +--- a/pxr/pxrConfig.cmake.in ++++ b/pxr/pxrConfig.cmake.in +@@ -25,6 +25,9 @@ if(@PXR_BUILD_IMAGING@) + if(@PXR_BUILD_OPENIMAGEIO_PLUGIN@) + find_dependency(OpenImageIO CONFIG) + endif() ++ if(@PXR_ENABLE_VULKAN_SUPPORT@) ++ find_dependency(unofficial-shaderc CONFIG) ++ endif() + endif() + + # If Python support was enabled for this USD build, find the import diff --git a/ports/usd/006-vcpkg_find_spirv-reflect.patch b/ports/usd/006-vcpkg_find_spirv-reflect.patch new file mode 100644 index 00000000000000..bde5f90aedcee3 --- /dev/null +++ b/ports/usd/006-vcpkg_find_spirv-reflect.patch @@ -0,0 +1,40 @@ +diff --git a/cmake/defaults/Packages.cmake b/cmake/defaults/Packages.cmake +index 79679ca13..d1a8169a2 100644 +--- a/cmake/defaults/Packages.cmake ++++ b/cmake/defaults/Packages.cmake +@@ -261,7 +261,9 @@ if (PXR_BUILD_IMAGING) + message(FATAL_ERROR "VULKAN_SDK not valid") + endif() + find_package(unofficial-shaderc CONFIG REQUIRED) ++ find_package(unofficial-spirv-reflect CONFIG REQUIRED) + list(APPEND VULKAN_LIBS unofficial::shaderc::shaderc) ++ list(APPEND VULKAN_LIBS unofficial::spirv-reflect) + endif() + # --Opensubdiv + find_package(OpenSubdiv 3 CONFIG REQUIRED) +diff --git a/pxr/imaging/hgiVulkan/CMakeLists.txt b/pxr/imaging/hgiVulkan/CMakeLists.txt +index 97e422894..d13837e45 100644 +--- a/pxr/imaging/hgiVulkan/CMakeLists.txt ++++ b/pxr/imaging/hgiVulkan/CMakeLists.txt +@@ -46,9 +46,6 @@ pxr_library(hgiVulkan + api.h + vulkan.h + +- PRIVATE_CLASSES +- spirv_reflect +- + RESOURCE_FILES + plugInfo.json + ) +diff --git a/pxr/pxrConfig.cmake.in b/pxr/pxrConfig.cmake.in +index 62bb13a1b..d5b0d2f77 100644 +--- a/pxr/pxrConfig.cmake.in ++++ b/pxr/pxrConfig.cmake.in +@@ -27,6 +27,7 @@ if(@PXR_BUILD_IMAGING@) + endif() + if(@PXR_ENABLE_VULKAN_SUPPORT@) + find_dependency(unofficial-shaderc CONFIG) ++ find_dependency(unofficial-spirv-reflect CONFIG) + endif() + endif() + diff --git a/ports/usd/007-vcpkg_find_vma.patch b/ports/usd/007-vcpkg_find_vma.patch new file mode 100644 index 00000000000000..279e24d5f1d22f --- /dev/null +++ b/ports/usd/007-vcpkg_find_vma.patch @@ -0,0 +1,27 @@ +diff --git a/cmake/defaults/Packages.cmake b/cmake/defaults/Packages.cmake +index d1a8169a2..0fb6776a9 100644 +--- a/cmake/defaults/Packages.cmake ++++ b/cmake/defaults/Packages.cmake +@@ -262,8 +262,10 @@ if (PXR_BUILD_IMAGING) + endif() + find_package(unofficial-shaderc CONFIG REQUIRED) + find_package(unofficial-spirv-reflect CONFIG REQUIRED) ++ find_package(VulkanMemoryAllocator CONFIG REQUIRED) + list(APPEND VULKAN_LIBS unofficial::shaderc::shaderc) + list(APPEND VULKAN_LIBS unofficial::spirv-reflect) ++ list(APPEND VULKAN_LIBS GPUOpen::VulkanMemoryAllocator) + endif() + # --Opensubdiv + find_package(OpenSubdiv 3 CONFIG REQUIRED) +diff --git a/pxr/pxrConfig.cmake.in b/pxr/pxrConfig.cmake.in +index d5b0d2f77..c8039c310 100644 +--- a/pxr/pxrConfig.cmake.in ++++ b/pxr/pxrConfig.cmake.in +@@ -28,6 +28,7 @@ if(@PXR_BUILD_IMAGING@) + if(@PXR_ENABLE_VULKAN_SUPPORT@) + find_dependency(unofficial-shaderc CONFIG) + find_dependency(unofficial-spirv-reflect CONFIG) ++ find_dependency(VulkanMemoryAllocator CONFIG) + endif() + endif() + diff --git a/ports/usd/008-fix_cmake_package.patch b/ports/usd/008-fix_cmake_package.patch new file mode 100644 index 00000000000000..b200106cde8cae --- /dev/null +++ b/ports/usd/008-fix_cmake_package.patch @@ -0,0 +1,63 @@ +diff --git a/pxr/CMakeLists.txt b/pxr/CMakeLists.txt +index 00cafd3d9..c9faeabf0 100644 +--- a/pxr/CMakeLists.txt ++++ b/pxr/CMakeLists.txt +@@ -12,13 +12,31 @@ endif() + + pxr_core_epilogue() + +-export(PACKAGE pxr) ++include(GNUInstallDirs) ++include(CMakePackageConfigHelpers) + +-configure_file(pxrConfig.cmake.in +- "${PROJECT_BINARY_DIR}/pxrConfig.cmake" @ONLY) +-install(FILES ++configure_file( ++ "pxrConfig.cmake.in" + "${PROJECT_BINARY_DIR}/pxrConfig.cmake" +- DESTINATION "${CMAKE_INSTALL_PREFIX}" ++ @ONLY + ) + +-install(EXPORT pxrTargets DESTINATION "cmake") ++write_basic_package_version_file("${PROJECT_BINARY_DIR}/pxrConfigVersion.cmake" ++ VERSION "${PXR_MAJOR_VERSION}.${PXR_MINOR_VERSION}.${PXR_PATCH_VERSION}" ++ COMPATIBILITY AnyNewerVersion ++) ++ ++install( ++ FILES ++ "${PROJECT_BINARY_DIR}/pxrConfig.cmake" ++ "${PROJECT_BINARY_DIR}/pxrConfigVersion.cmake" ++ ++ DESTINATION ++ "${CMAKE_INSTALL_DATADIR}/pxr" ++) ++ ++install( ++ EXPORT pxrTargets ++ # NAMESPACE "pxr::" ++ DESTINATION "${CMAKE_INSTALL_DATADIR}/pxr" ++) +diff --git a/pxr/pxrConfig.cmake.in b/pxr/pxrConfig.cmake.in +index c8039c310..9e104abb7 100644 +--- a/pxr/pxrConfig.cmake.in ++++ b/pxr/pxrConfig.cmake.in +@@ -90,14 +90,14 @@ if(@Imath_FOUND@) + find_dependency(Imath CONFIG) + endif() + +-include("${PXR_CMAKE_DIR}/cmake/pxrTargets.cmake") ++include("${PXR_CMAKE_DIR}/pxrTargets.cmake") + if (TARGET usd_ms) + set(libs "usd_ms") + else() + set(libs "@PXR_ALL_LIBS@") + endif() + set(PXR_LIBRARIES "") +-set(PXR_INCLUDE_DIRS "${PXR_CMAKE_DIR}/include") ++set(PXR_INCLUDE_DIRS "${PXR_CMAKE_DIR}/../../include") + string(REPLACE " " ";" libs "${libs}") + foreach(lib ${libs}) + get_target_property(location ${lib} LOCATION) diff --git a/ports/usd/009-fix_cmake_hgi_interop.patch b/ports/usd/009-fix_cmake_hgi_interop.patch new file mode 100644 index 00000000000000..058241d0eadb0c --- /dev/null +++ b/ports/usd/009-fix_cmake_hgi_interop.patch @@ -0,0 +1,23 @@ +diff --git a/pxr/imaging/hgiInterop/CMakeLists.txt b/pxr/imaging/hgiInterop/CMakeLists.txt +index 64ebfcb9e..0087d89aa 100644 +--- a/pxr/imaging/hgiInterop/CMakeLists.txt ++++ b/pxr/imaging/hgiInterop/CMakeLists.txt +@@ -15,6 +15,7 @@ set(optionalPrivateHeaders "") + list(APPEND optionalLibraries garch) + + if (PXR_ENABLE_GL_SUPPORT) ++ list(APPEND optionalLibraries hgiGL) + list(APPEND optionalCppFiles opengl.cpp) + list(APPEND optionalPrivateHeaders opengl.h) + endif() +@@ -32,6 +33,10 @@ if (PXR_ENABLE_METAL_SUPPORT) + list(APPEND optionalPrivateHeaders metal.h) + endif() + ++if (NOT (PXR_ENABLE_GL_SUPPORT OR PXR_ENABLE_VULKAN_SUPPORT OR PXR_ENABLE_METAL_SUPPORT)) ++ message(FATAL_ERROR "No valid GPU backend set for hgiInterop") ++endif() ++ + pxr_library(hgiInterop + LIBRARIES + gf diff --git a/ports/usd/010-fix_missing_find_dependency_vulkan.patch b/ports/usd/010-fix_missing_find_dependency_vulkan.patch new file mode 100644 index 00000000000000..d7d67b0cdf7a8a --- /dev/null +++ b/ports/usd/010-fix_missing_find_dependency_vulkan.patch @@ -0,0 +1,17 @@ +diff --git a/pxr/pxrConfig.cmake.in b/pxr/pxrConfig.cmake.in +index 9e104abb7..2aa4a3bd3 100644 +--- a/pxr/pxrConfig.cmake.in ++++ b/pxr/pxrConfig.cmake.in +@@ -26,6 +26,12 @@ if(@PXR_BUILD_IMAGING@) + find_dependency(OpenImageIO CONFIG) + endif() + if(@PXR_ENABLE_VULKAN_SUPPORT@) ++ if (NOT DEFINED Vulkan_DIR) ++ if (NOT [[@Vulkan_DIR@]] STREQUAL "") ++ set(Vulkan_DIR [[@Vulkan_DIR@]]) ++ endif() ++ endif() ++ find_dependency(Vulkan REQUIRED) + find_dependency(unofficial-shaderc CONFIG) + find_dependency(unofficial-spirv-reflect CONFIG) + find_dependency(VulkanMemoryAllocator CONFIG) diff --git a/ports/usd/011-fix_clang8_compiler_error.patch b/ports/usd/011-fix_clang8_compiler_error.patch new file mode 100644 index 00000000000000..259ce8e63cabc3 --- /dev/null +++ b/ports/usd/011-fix_clang8_compiler_error.patch @@ -0,0 +1,22 @@ +diff --git a/pxr/usd/pcp/primIndex.h b/pxr/usd/pcp/primIndex.h +index 6b31c7da4..285d13fa7 100644 +--- a/pxr/usd/pcp/primIndex.h ++++ b/pxr/usd/pcp/primIndex.h +@@ -69,7 +69,7 @@ public: + PcpPrimIndex(const PcpPrimIndex& rhs); + + /// Move-construction +- PcpPrimIndex(PcpPrimIndex &&rhs) noexcept = default; ++ PcpPrimIndex(PcpPrimIndex &&rhs) = default; + + /// Assignment. + PcpPrimIndex &operator=(const PcpPrimIndex &rhs) { +@@ -78,7 +78,7 @@ public: + } + + // Move-assignment. +- PcpPrimIndex &operator=(PcpPrimIndex &&rhs) noexcept = default; ++ PcpPrimIndex &operator=(PcpPrimIndex &&rhs) = default; + + /// Swap the contents of this prim index with \p index. + PCP_API diff --git a/ports/usd/012-vcpkg_install_folder_conventions.patch b/ports/usd/012-vcpkg_install_folder_conventions.patch new file mode 100644 index 00000000000000..cbe8d8bb2a91e6 --- /dev/null +++ b/ports/usd/012-vcpkg_install_folder_conventions.patch @@ -0,0 +1,82 @@ +diff --git a/cmake/macros/Private.cmake b/cmake/macros/Private.cmake +index 48fe107dd..79fdad022 100644 +--- a/cmake/macros/Private.cmake ++++ b/cmake/macros/Private.cmake +@@ -1185,8 +1185,10 @@ function(_pxr_library NAME) + # XXX --- Why this difference? + _get_install_dir("plugin/usd" pluginInstallPrefix) + endif() ++ elseif(WIN32 AND args_TYPE STREQUAL "SHARED") ++ _get_install_dir("${CMAKE_INSTALL_BINDIR}/usd" pluginInstallPrefix) + else() +- _get_install_dir("lib/usd" pluginInstallPrefix) ++ _get_install_dir("${CMAKE_INSTALL_LIBDIR}/usd" pluginInstallPrefix) + endif() + if(args_SUBDIR) + set(pluginInstallPrefix "${pluginInstallPrefix}/${args_SUBDIR}") +@@ -1266,17 +1268,25 @@ function(_pxr_library NAME) + # Where do we install library to? + _get_install_dir("include" headerInstallDir) + _get_install_dir("include/${PXR_PREFIX}/${NAME}" headerInstallPrefix) +- _get_install_dir("lib" libInstallPrefix) ++ if(WIN32 AND args_TYPE STREQUAL "SHARED") ++ _get_install_dir("${CMAKE_INSTALL_BINDIR}" libInstallPrefix) ++ _get_install_dir("${CMAKE_INSTALL_LIBDIR}" libInstallPrefixArchive) ++ else() ++ _get_install_dir("${CMAKE_INSTALL_LIBDIR}" libInstallPrefix) ++ _get_install_dir("${CMAKE_INSTALL_LIBDIR}" libInstallPrefixArchive) ++ endif() + if(isPlugin) + if(NOT isObject) + # A plugin embedded in the monolithic library is found in + # the usual library location, otherwise plugin libraries + # are in the plugin install location. + set(libInstallPrefix "${pluginInstallPrefix}") ++ set(libInstallPrefixArchive "${pluginInstallPrefix}") + endif() + endif() + if(args_SUBDIR) + set(libInstallPrefix "${libInstallPrefix}/${args_SUBDIR}") ++ set(libInstallPrefixArchive "${libInstallPrefixArchive}/${args_SUBDIR}") + endif() + # Return libInstallPrefix to caller. + if(args_LIB_INSTALL_PREFIX_RESULT) +@@ -1408,8 +1418,8 @@ function(_pxr_library NAME) + # The former is for helper libraries for a third party application and + # the latter for core USD libraries. + _pxr_init_rpath(rpath "${libInstallPrefix}") +- _pxr_add_rpath(rpath "${CMAKE_INSTALL_PREFIX}/${PXR_INSTALL_SUBDIR}/lib") +- _pxr_add_rpath(rpath "${CMAKE_INSTALL_PREFIX}/lib") ++ _pxr_add_rpath(rpath "${CMAKE_INSTALL_PREFIX}/${PXR_INSTALL_SUBDIR}/${libInstallPrefix}") ++ _pxr_add_rpath(rpath "${CMAKE_INSTALL_PREFIX}/${libInstallPrefix}") + _pxr_install_rpath(rpath ${NAME}) + + # +@@ -1450,14 +1460,14 @@ function(_pxr_library NAME) + if(isPlugin) + install( + TARGETS ${NAME} +- LIBRARY DESTINATION ${libInstallPrefix} +- ARCHIVE DESTINATION ${libInstallPrefix} +- RUNTIME DESTINATION ${libInstallPrefix} ++ LIBRARY DESTINATION ${pluginInstallPrefix} ++ ARCHIVE DESTINATION ${pluginInstallPrefix} ++ RUNTIME DESTINATION ${pluginInstallPrefix} + ) + if(WIN32) + install( + FILES $ +- DESTINATION ${libInstallPrefix} ++ DESTINATION ${pluginInstallPrefix} + OPTIONAL + ) + endif() +@@ -1482,7 +1492,7 @@ function(_pxr_library NAME) + TARGETS ${NAME} + EXPORT pxrTargets + LIBRARY DESTINATION ${libInstallPrefix} +- ARCHIVE DESTINATION ${libInstallPrefix} ++ ARCHIVE DESTINATION ${libInstallPrefixArchive} + RUNTIME DESTINATION ${libInstallPrefix} + ) + endif() diff --git a/ports/usd/013-cmake_export_plugin_as_modules.patch b/ports/usd/013-cmake_export_plugin_as_modules.patch new file mode 100644 index 00000000000000..d4820ba0f29c0f --- /dev/null +++ b/ports/usd/013-cmake_export_plugin_as_modules.patch @@ -0,0 +1,34 @@ +diff --git a/cmake/macros/Private.cmake b/cmake/macros/Private.cmake +index 79fdad022..799ce8801 100644 +--- a/cmake/macros/Private.cmake ++++ b/cmake/macros/Private.cmake +@@ -1238,11 +1238,16 @@ function(_pxr_library NAME) + + else() + # Building an explicitly shared library or plugin. +- add_library(${NAME} +- SHARED +- ${args_CPPFILES} +- ${args_PUBLIC_HEADERS} +- ${args_PRIVATE_HEADERS} ++ if(isPlugin) ++ add_library(${NAME} MODULE) ++ else() ++ add_library(${NAME} SHARED) ++ endif() ++ target_sources(${NAME} ++ PRIVATE ++ ${args_CPPFILES} ++ ${args_PUBLIC_HEADERS} ++ ${args_PRIVATE_HEADERS} + ) + if(PXR_PY_UNDEFINED_DYNAMIC_LOOKUP) + # When not explicitly linking to the python lib we need to allow +@@ -1460,6 +1465,7 @@ function(_pxr_library NAME) + if(isPlugin) + install( + TARGETS ${NAME} ++ EXPORT pxrTargets + LIBRARY DESTINATION ${pluginInstallPrefix} + ARCHIVE DESTINATION ${pluginInstallPrefix} + RUNTIME DESTINATION ${pluginInstallPrefix} diff --git a/ports/usd/014-MaterialX_v1.38-39.patch b/ports/usd/014-MaterialX_v1.38-39.patch new file mode 100644 index 00000000000000..0f4797b0b1731f --- /dev/null +++ b/ports/usd/014-MaterialX_v1.38-39.patch @@ -0,0 +1,397 @@ +diff --git a/pxr/imaging/hdSt/materialXFilter.cpp b/pxr/imaging/hdSt/materialXFilter.cpp +index 8897c5e72..975017525 100644 +--- a/pxr/imaging/hdSt/materialXFilter.cpp ++++ b/pxr/imaging/hdSt/materialXFilter.cpp +@@ -634,26 +634,48 @@ _GetGlTFSurfaceMaterialTag(HdMaterialNode2 const& terminal) + return materialToken.GetString(); + } + +-static const mx::TypeDesc* ++static const mx::TypeDesc + _GetMxTypeDescription(std::string const& typeName) + { ++#if MATERIALX_MAJOR_VERSION == 1 && MATERIALX_MINOR_VERSION==38 ++ // Add whatever is necessary for current codebase: ++ static const auto _typeLibrary = ++ std::map{ ++ {"float", mx::Type::FLOAT}, ++ {"color3", mx::Type::COLOR3}, ++ {"color4", mx::Type::COLOR4}, ++ {"vector2", mx::Type::VECTOR2}, ++ {"vector3", mx::Type::VECTOR3}, ++ {"vector4", mx::Type::VECTOR4}, ++ {"surfaceshader", mx::Type::SURFACESHADER} ++ }; ++ ++ const auto typeDescIt = _typeLibrary.find(typeName); ++ if (typeDescIt != _typeLibrary.end()) { ++ return *(typeDescIt->second); ++ } ++ ++ return *mx::Type::NONE; ++#else + // Add whatever is necessary for current codebase: +- static const auto _typeLibrary = +- std::map{ +- {"float", mx::Type::FLOAT}, +- {"color3", mx::Type::COLOR3}, +- {"color4", mx::Type::COLOR4}, +- {"vector2", mx::Type::VECTOR2}, +- {"vector3", mx::Type::VECTOR3}, +- {"vector4", mx::Type::VECTOR4}, +- {"surfaceshader", mx::Type::SURFACESHADER} ++ static const auto _typeLibrary = ++ std::map{ ++ {"float", mx::Type::FLOAT}, ++ {"color3", mx::Type::COLOR3}, ++ {"color4", mx::Type::COLOR4}, ++ {"vector2", mx::Type::VECTOR2}, ++ {"vector3", mx::Type::VECTOR3}, ++ {"vector4", mx::Type::VECTOR4}, ++ {"surfaceshader", mx::Type::SURFACESHADER} + }; + + const auto typeDescIt = _typeLibrary.find(typeName); + if (typeDescIt != _typeLibrary.end()) { + return typeDescIt->second; + } +- return nullptr; ++ ++ return mx::Type::NONE; ++#endif + } + + // This function adds a stripped down version of the surfaceshader node to the +@@ -678,32 +700,30 @@ _AddStrippedSurfaceNode( + if (!mxInputDef) { + continue; + } +- auto const* mxTypeDesc = _GetMxTypeDescription(mxInputDef->getType()); +- if (!mxTypeDesc) { ++ auto const mxTypeDesc = _GetMxTypeDescription(mxInputDef->getType()); ++ if (mxTypeIsNone(mxTypeDesc)) { + continue; + } + // If hdNode is connected to the surfaceshader node, recursively call + // this function to make sure that surfaceshader node is added to + // the mxDocument +- if (mxTypeDesc == mx::Type::SURFACESHADER) { ++ if (mxTypeIsSurfaceShader(mxTypeDesc)) { + auto const& hdConnectedPath = connIt.second.front().upstreamNode; + auto const& hdConnectedNode = hdNetwork.nodes.at(hdConnectedPath); + mx::NodePtr mxConnectedNode = + _AddStrippedSurfaceNode(mxDocument, hdConnectedPath.GetName(), + hdConnectedNode, hdNetwork); +- mx::InputPtr mxInput = +- mxNode->addInput(mxInput->getName(), mxInput->getType()); ++ mx::InputPtr mxInput = mxNode->addInputFromNodeDef(mxInputDef->getName()); + mxInput->setConnectedNode(mxConnectedNode); + } + // Add the connection as an input with each component set to 0.5 +- else if (mxTypeDesc->getBaseType() == mx::TypeDesc::BASETYPE_FLOAT && +- mxTypeDesc->getSemantic() != mx::TypeDesc::SEMANTIC_MATRIX) { ++ else if (mxTypeDesc.getBaseType() == mx::TypeDesc::BASETYPE_FLOAT && ++ mxTypeDesc.getSemantic() != mx::TypeDesc::SEMANTIC_MATRIX) { + std::string valueStr = "0.5"; +- for (size_t i = 1; i < mxTypeDesc->getSize(); ++i) { ++ for (size_t i = 1; i < mxTypeDesc.getSize(); ++i) { + valueStr += ", 0.5"; + } +- mx::InputPtr mxInput = +- mxNode->addInput(mxInputDef->getName(), mxInputDef->getType()); ++ mx::InputPtr mxInput = mxNode->addInputFromNodeDef(mxInputDef->getName()); + mxInput->setValueString(valueStr); + } + } +@@ -715,16 +735,15 @@ _AddStrippedSurfaceNode( + if (!mxInputDef) { + continue; + } +- auto const* mxTypeDesc = _GetMxTypeDescription(mxInputDef->getType()); +- if (!mxTypeDesc) { ++ auto const mxTypeDesc = _GetMxTypeDescription(mxInputDef->getType()); ++ if (mxTypeIsNone(mxTypeDesc)) { + continue; + } + +- if (mxTypeDesc->getBaseType() == mx::TypeDesc::BASETYPE_FLOAT && +- mxTypeDesc->getSemantic() != mx::TypeDesc::SEMANTIC_MATRIX) { ++ if (mxTypeDesc.getBaseType() == mx::TypeDesc::BASETYPE_FLOAT && ++ mxTypeDesc.getSemantic() != mx::TypeDesc::SEMANTIC_MATRIX) { + // Add the parameter as an input to the mxNode in the mx Document +- mx::InputPtr mxInput = +- mxNode->addInput(mxInputDef->getName(), mxInputDef->getType()); ++ mx::InputPtr mxInput = mxNode->addInputFromNodeDef(mxInputDef->getName()); + mxInput->setValueString(HdMtlxConvertToString(paramIt.second)); + } + } +@@ -787,9 +806,9 @@ _GetMaterialTag( + // Outputting anything that is not a surfaceshader will be + // considered opaque, unless outputting a color4 or vector4. + // XXX This is not fully per USD specs, but is supported by MaterialX. +- auto const* typeDesc = ++ auto const typeDesc = + _GetMxTypeDescription(activeOutputs.back()->getType()); +- if (typeDesc == mx::Type::COLOR4 || typeDesc == mx::Type::VECTOR4) { ++ if (typeDesc.isFloat4()) { + return HdStMaterialTagTokens->translucent.GetString(); + } + return HdStMaterialTagTokens->defaultMaterialTag.GetString(); +@@ -1100,7 +1119,7 @@ _AddMaterialXParams( + + // MaterialX parameter Information + const auto* variable = paramsBlock[i]; +- const auto varType = variable->getType(); ++ const auto varType = getMxTypeDesc(variable); + + // Create a corresponding HdSt_MaterialParam + HdSt_MaterialParam param; +@@ -1111,9 +1130,9 @@ _AddMaterialXParams( + const auto paramValueIt = + mxParamNameToValue.find(variable->getVariable()); + if (paramValueIt != mxParamNameToValue.end()) { +- if (varType->getBaseType() == mx::TypeDesc::BASETYPE_BOOLEAN || +- varType->getBaseType() == mx::TypeDesc::BASETYPE_FLOAT || +- varType->getBaseType() == mx::TypeDesc::BASETYPE_INTEGER) { ++ if (varType.getBaseType() == mx::TypeDesc::BASETYPE_BOOLEAN || ++ varType.getBaseType() == mx::TypeDesc::BASETYPE_FLOAT || ++ varType.getBaseType() == mx::TypeDesc::BASETYPE_INTEGER) { + param.fallbackValue = paramValueIt->second; + } + } +@@ -1124,52 +1143,52 @@ _AddMaterialXParams( + const auto varValue = variable->getValue(); + std::istringstream valueStream(varValue + ? varValue->getValueString() : std::string()); +- if (varType->getBaseType() == mx::TypeDesc::BASETYPE_BOOLEAN) { ++ if (varType.getBaseType() == mx::TypeDesc::BASETYPE_BOOLEAN) { + const bool val = valueStream.str() == "true"; + param.fallbackValue = VtValue(val); + } +- else if (varType->getBaseType() == mx::TypeDesc::BASETYPE_FLOAT) { +- if (varType->getSize() == 1) { ++ else if (varType.getBaseType() == mx::TypeDesc::BASETYPE_FLOAT) { ++ if (varType.getSize() == 1) { + float val; + valueStream >> val; + param.fallbackValue = VtValue(val); + } +- else if (varType->getSize() == 2) { ++ else if (varType.getSize() == 2) { + GfVec2f val; + valueStream >> val[0] >> separator >> val[1]; + param.fallbackValue = VtValue(val); + } +- else if (varType->getSize() == 3) { ++ else if (varType.getSize() == 3) { + GfVec3f val; + valueStream >> val[0] >> separator >> val[1] >> separator + >> val[2]; + param.fallbackValue = VtValue(val); + } +- else if (varType->getSize() == 4) { ++ else if (varType.getSize() == 4) { + GfVec4f val; + valueStream >> val[0] >> separator >> val[1] >> separator + >> val[2] >> separator >> val[3]; + param.fallbackValue = VtValue(val); + } + } +- else if (varType->getBaseType() == mx::TypeDesc::BASETYPE_INTEGER) { +- if (varType->getSize() == 1) { ++ else if (varType.getBaseType() == mx::TypeDesc::BASETYPE_INTEGER) { ++ if (varType.getSize() == 1) { + int val; + valueStream >> val; + param.fallbackValue = VtValue(val); + } +- else if (varType->getSize() == 2) { ++ else if (varType.getSize() == 2) { + GfVec2i val; + valueStream >> val[0] >> separator >> val[1]; + param.fallbackValue = VtValue(val); + } +- else if (varType->getSize() == 3) { ++ else if (varType.getSize() == 3) { + GfVec3i val; + valueStream >> val[0] >> separator >> val[1] >> separator + >> val[2]; + param.fallbackValue = VtValue(val); + } +- else if (varType->getSize() == 4) { ++ else if (varType.getSize() == 4) { + GfVec4i val; + valueStream >> val[0] >> separator >> val[1] >> separator + >> val[2] >> separator >> val[3]; +@@ -1183,7 +1202,7 @@ _AddMaterialXParams( + } + + // For filename inputs, manage the associated texture node +- if (varType->getSemantic() == mx::TypeDesc::SEMANTIC_FILENAME) { ++ if (varType.getSemantic() == mx::TypeDesc::SEMANTIC_FILENAME) { + // Get the anonymized MaterialX node name from the param name + // annonNodeName_paramName -> annonNodeName + std::string mxNodeName = variable->getVariable(); +diff --git a/pxr/imaging/hdSt/materialXShaderGen.cpp b/pxr/imaging/hdSt/materialXShaderGen.cpp +index 30674b521..78517b39d 100644 +--- a/pxr/imaging/hdSt/materialXShaderGen.cpp ++++ b/pxr/imaging/hdSt/materialXShaderGen.cpp +@@ -156,13 +156,17 @@ HdStMaterialXShaderGen::_EmitGlslfxHeader(mx::ShaderStage& mxStage) const + Base::emitString(R"( "attributes": {)" "\n", mxStage); + std::string line = ""; unsigned int i = 0; + for (mx::StringMap::const_reference primvarPair : _mxHdPrimvarMap) { +- const mx::TypeDesc *mxType = mx::TypeDesc::get(primvarPair.second); +- if (mxType == nullptr) { ++ const mx::TypeDesc mxType = getMxTypeDesc(primvarPair.second); ++ if (mxTypeIsNone(mxType)) { + TF_WARN("MaterialX geomprop '%s' has unknown type '%s'", + primvarPair.first.c_str(), primvarPair.second.c_str()); + } +- const std::string type = mxType +- ? Base::_syntax->getTypeName(mxType) : "vec2"; ++ ++#if MATERIALX_MAJOR_VERSION == 1 && MATERIALX_MINOR_VERSION==38 ++ const std::string type = (!mxTypeIsNone(mxType)) ? Base::_syntax->getTypeName(&mxType) : "vec2"; ++#else ++ const std::string type = (!mxTypeIsNone(mxType)) ? Base::_syntax->getTypeName(mxType) : "vec2"; ++#endif + + line += " \"" + primvarPair.first + "\": {\n"; + line += " \"type\": \"" + type + "\"\n"; +@@ -285,12 +289,15 @@ HdStMaterialXShaderGen::_EmitMxSurfaceShader( + if (outputConnection) { + + std::string finalOutput = outputConnection->getVariable(); ++#if MATERIALX_MAJOR_VERSION == 1 && MATERIALX_MINOR_VERSION==38 ++ // channels feature removed in MaterialX 1.39 + const std::string& channels = outputSocket->getChannels(); + if (!channels.empty()) { + finalOutput = Base::_syntax->getSwizzledVariable( + finalOutput, outputConnection->getType(), + channels, outputSocket->getType()); + } ++#endif + + if (mxGraph.hasClassification( + mx::ShaderNode::Classification::SURFACE)) { +@@ -311,7 +318,7 @@ HdStMaterialXShaderGen::_EmitMxSurfaceShader( + } + } + else { +- if (!outputSocket->getType()->isFloat4()) { ++ if (!getMxTypeDesc(outputSocket).isFloat4()) { + Base::toVec4(outputSocket->getType(), finalOutput); + } + emitLine(finalOutputReturn + +@@ -323,7 +330,7 @@ HdStMaterialXShaderGen::_EmitMxSurfaceShader( + ? Base::_syntax->getValue( + outputSocket->getType(), *outputSocket->getValue()) + : Base::_syntax->getDefaultValue(outputSocket->getType()); +- if (!outputSocket->getType()->isFloat4()) { ++ if (!getMxTypeDesc(outputSocket).isFloat4()) { + std::string finalOutput = outputSocket->getVariable() + "_tmp"; + emitLine(Base::_syntax->getTypeName(outputSocket->getType()) + + " " + finalOutput + " = " + outputValue, mxStage); +@@ -415,8 +422,8 @@ HdStMaterialXShaderGen::_EmitMxInitFunction( + mxStage.getUniformBlock(mx::HW::PUBLIC_UNIFORMS); + for (size_t i = 0; i < paramsBlock.size(); ++i) { + const mx::ShaderPort* variable = paramsBlock[i]; +- const mx::TypeDesc* variableType = variable->getType(); +- if (!_IsHardcodedPublicUniform(*variableType)) { ++ const mx::TypeDesc variableType = getMxTypeDesc(variable); ++ if (!_IsHardcodedPublicUniform(variableType)) { + emitLine(variable->getVariable() + " = HdGet_" + + variable->getVariable() + "()", mxStage); + } +@@ -622,16 +629,16 @@ HdStMaterialXShaderGen::emitVariableDeclarations( + { + Base::emitLineBegin(stage); + const mx::ShaderPort* variable = block[i]; +- const mx::TypeDesc* varType = variable->getType(); ++ const mx::TypeDesc varType = getMxTypeDesc(variable); + + // If bindlessTextures are not enabled the Mx Smpler names are mapped + // to the Hydra equivalents in HdStMaterialXShaderGen*::_EmitMxFunctions +- if (!_bindlessTexturesEnabled && varType == mx::Type::FILENAME) { ++ if (!_bindlessTexturesEnabled && mxTypeDescIsFilename(varType)) { + continue; + } + + // Only declare the variables that we need to initialize with Hd Data +- if ( (isPublicUniform && !_IsHardcodedPublicUniform(*varType)) ++ if ( (isPublicUniform && !_IsHardcodedPublicUniform(varType)) + || MxHdVariables.count(variable->getName()) ) { + Base::emitVariableDeclaration(variable, mx::EMPTY_STRING, + context, stage, false /* assignValue */); +@@ -1349,4 +1356,53 @@ HdStMaterialXShaderGenMsl::_EmitMxFunctions( + } + + ++bool mxTypeIsNone(mx::TypeDesc typeDesc) ++{ ++#if MATERIALX_MAJOR_VERSION == 1 && MATERIALX_MINOR_VERSION==38 ++ return typeDesc == *mx::Type::NONE; ++#else ++ return typeDesc == mx::Type::NONE; ++#endif ++} ++ ++bool mxTypeIsSurfaceShader(mx::TypeDesc typeDesc) ++{ ++#if MATERIALX_MAJOR_VERSION == 1 && MATERIALX_MINOR_VERSION==38 ++ return typeDesc == *mx::Type::SURFACESHADER; ++#else ++ return typeDesc == mx::Type::SURFACESHADER; ++#endif ++} ++ ++bool mxTypeDescIsFilename(const mx::TypeDesc typeDesc) ++{ ++#if MATERIALX_MAJOR_VERSION == 1 && MATERIALX_MINOR_VERSION==38 ++ return typeDesc == *mx::Type::FILENAME; ++#else ++ return typeDesc == mx::Type::FILENAME; ++#endif ++} ++ ++mx::TypeDesc getMxTypeDesc(const std::string& typeName) ++{ ++#if MATERIALX_MAJOR_VERSION == 1 && MATERIALX_MINOR_VERSION==38 ++ const mx::TypeDesc* mxType = mx::TypeDesc::get(typeName); ++ if (mxType) ++ return *mxType; ++ return *mx::Type::NONE; ++#else ++ return mx::TypeDesc::get(typeName); ++#endif ++} ++ ++const MaterialX::TypeDesc getMxTypeDesc(const mx::ShaderPort* port) ++{ ++#if MATERIALX_MAJOR_VERSION == 1 && MATERIALX_MINOR_VERSION==38 ++ return port->getType() ? *(port->getType()) : *mx::Type::NONE; ++#else ++ return port->getType(); ++#endif ++} ++ ++ + PXR_NAMESPACE_CLOSE_SCOPE +diff --git a/pxr/imaging/hdSt/materialXShaderGen.h b/pxr/imaging/hdSt/materialXShaderGen.h +index e61bd13a4..a7f93fdd0 100644 +--- a/pxr/imaging/hdSt/materialXShaderGen.h ++++ b/pxr/imaging/hdSt/materialXShaderGen.h +@@ -192,6 +192,13 @@ private: + MaterialX::ShaderStage& mxStage) const; + }; + ++// helper functions to aid building both MaterialX 1.38.X and 1.39.X ++// once MaterialX 1.38.X is no longer required these should likely be removed. ++bool mxTypeIsNone(MaterialX::TypeDesc typeDesc); ++bool mxTypeIsSurfaceShader(MaterialX::TypeDesc typeDesc); ++bool mxTypeDescIsFilename(const MaterialX::TypeDesc typeDesc); ++MaterialX::TypeDesc getMxTypeDesc(const std::string& typeName); ++const MaterialX::TypeDesc getMxTypeDesc(const MaterialX::ShaderPort* port); + + PXR_NAMESPACE_CLOSE_SCOPE + diff --git a/ports/usd/015-fix_missing_find_dependency_opengl.patch b/ports/usd/015-fix_missing_find_dependency_opengl.patch new file mode 100644 index 00000000000000..1f1a94646b1fb5 --- /dev/null +++ b/ports/usd/015-fix_missing_find_dependency_opengl.patch @@ -0,0 +1,14 @@ +diff --git a/pxr/pxrConfig.cmake.in b/pxr/pxrConfig.cmake.in +index 2aa4a3bd3..2f89d690c 100644 +--- a/pxr/pxrConfig.cmake.in ++++ b/pxr/pxrConfig.cmake.in +@@ -25,6 +25,9 @@ if(@PXR_BUILD_IMAGING@) + if(@PXR_BUILD_OPENIMAGEIO_PLUGIN@) + find_dependency(OpenImageIO CONFIG) + endif() ++ if(@PXR_ENABLE_GL_SUPPORT@) ++ find_dependency(OpenGL REQUIRED) ++ endif() + if(@PXR_ENABLE_VULKAN_SUPPORT@) + if (NOT DEFINED Vulkan_DIR) + if (NOT [[@Vulkan_DIR@]] STREQUAL "") diff --git a/ports/usd/016-TBB-2022.patch b/ports/usd/016-TBB-2022.patch new file mode 100644 index 00000000000000..755018ca648c1d --- /dev/null +++ b/ports/usd/016-TBB-2022.patch @@ -0,0 +1,51 @@ +diff --git a/pxr/base/work/dispatcher.cpp b/pxr/base/work/dispatcher.cpp +index 8cc8dbb..74fba2d 100644 +--- a/pxr/base/work/dispatcher.cpp ++++ b/pxr/base/work/dispatcher.cpp +@@ -31,11 +31,18 @@ WorkDispatcher::WorkDispatcher() + } + + #if TBB_INTERFACE_VERSION_MAJOR >= 12 ++#if TBB_VERSION_MAJOR >= 2022 ++inline tbb::detail::d1::wait_context_vertex& ++WorkDispatcher::_TaskGroup::_GetInternalWaitContext() { ++ return m_wait_vertex; ++} ++#else + inline tbb::detail::d1::wait_context& + WorkDispatcher::_TaskGroup::_GetInternalWaitContext() { + return m_wait_ctx; + } + #endif ++#endif + + WorkDispatcher::~WorkDispatcher() noexcept + { +@@ -54,7 +61,11 @@ WorkDispatcher::Wait() + // The native task_group::wait() has a comment saying its call to the + // context reset method is not thread safe. So we do our own + // synchronization to ensure it is called once. ++#if TBB_VERSION_MAJOR >= 2022 ++ tbb::detail::d1::wait(_taskGroup._GetInternalWaitContext().get_context(), _context); ++#else + tbb::detail::d1::wait(_taskGroup._GetInternalWaitContext(), _context); ++#endif + #else + _rootTask->wait_for_all(); + #endif +diff --git a/pxr/base/work/dispatcher.h b/pxr/base/work/dispatcher.h +index b35bcd8..7d24165 100644 +--- a/pxr/base/work/dispatcher.h ++++ b/pxr/base/work/dispatcher.h +@@ -199,7 +199,11 @@ private: + class _TaskGroup : public tbb::task_group { + public: + _TaskGroup(tbb::task_group_context& ctx) : tbb::task_group(ctx) {} ++#if TBB_VERSION_MAJOR >= 2022 ++ inline tbb::detail::d1::wait_context_vertex& _GetInternalWaitContext(); ++ #else + inline tbb::detail::d1::wait_context& _GetInternalWaitContext(); ++ #endif + }; + + _TaskGroup _taskGroup; diff --git a/ports/usd/fix_build-location.patch b/ports/usd/fix_build-location.patch deleted file mode 100644 index 34d77cae637ab6..00000000000000 --- a/ports/usd/fix_build-location.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/cmake/macros/Private.cmake b/cmake/macros/Private.cmake -index 3825e2a19..0a79b49bd 100644 ---- a/cmake/macros/Private.cmake -+++ b/cmake/macros/Private.cmake -@@ -1238,7 +1238,7 @@ function(_pxr_library NAME) - MFB_PACKAGE_NAME=${PXR_PACKAGE} - MFB_ALT_PACKAGE_NAME=${PXR_PACKAGE} - MFB_PACKAGE_MODULE=${pythonModuleName} -- PXR_BUILD_LOCATION=usd -+ PXR_BUILD_LOCATION=../lib/usd - PXR_PLUGIN_BUILD_LOCATION=../plugin/usd - ${pxrInstallLocation} - ${pythonModulesEnabled} diff --git a/ports/usd/portfile.cmake b/ports/usd/portfile.cmake index 6abb5c15e33930..71f866fa805c5e 100644 --- a/ports/usd/portfile.cmake +++ b/ports/usd/portfile.cmake @@ -1,85 +1,147 @@ -vcpkg_fail_port_install(ON_ARCH "x86") +# USD plugins do not produce .lib +set(VCPKG_POLICY_DLLS_WITHOUT_LIBS enabled) -# Don't file if the bin folder exists. We need exe and custom files. -SET(VCPKG_POLICY_EMPTY_PACKAGE enabled) +# Proper support for a true static usd build is left as a future port improvement. +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) + +string(REGEX REPLACE "^([0-9]+)[.]([0-9])\$" "\\1.0\\2" USD_VERSION "${VERSION}") vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO PixarAnimationStudios/USD - REF 71b4baace2044ea4400ba802e91667f9ebe342f0 # v20.08 - SHA512 0f23b84d314d88d3524f22ebc344e2b506cb7e8ac064726df432a968a4bae0fd2249e968bd10845de9067290eaaa3f8c9e2a483551ffc06b826f3eba816061a9 - HEAD_REF master + REPO PixarAnimationStudios/OpenUSD + REF "v${USD_VERSION}" + SHA512 7d4404980579c4de3c155386184ca9d2eb96756ef6e090611bae7b4c21ad942c649f73a39b74ad84d0151ce6b9236c4b6c0c555e8e36fdd86304079e1c2e5cbe + HEAD_REF release PATCHES - fix_build-location.patch + 001-fix_rename_find_package_to_find_dependency.patch # See PixarAnimationStudios/OpenUSD#3205 + 002-vcpkg_find_tbb.patch # See PixarAnimationStudios/OpenUSD#3207 + 003-vcpkg_find_opensubdiv.patch + 004-vcpkg_find_openimageio.patch + 005-vcpkg_find_shaderc.patch + 006-vcpkg_find_spirv-reflect.patch + 007-vcpkg_find_vma.patch + 008-fix_cmake_package.patch + 009-fix_cmake_hgi_interop.patch + 010-fix_missing_find_dependency_vulkan.patch + 011-fix_clang8_compiler_error.patch + 012-vcpkg_install_folder_conventions.patch + 013-cmake_export_plugin_as_modules.patch + 014-MaterialX_v1.38-39.patch # PixarAnimationStudios/OpenUSD#3159 + 015-fix_missing_find_dependency_opengl.patch + 016-TBB-2022.patch # Accomodate oneapi-src/oneTBB#1345 changes ) -vcpkg_find_acquire_program(PYTHON2) -get_filename_component(PYTHON2_DIR "${PYTHON2}" DIRECTORY) -vcpkg_add_to_path("${PYTHON2_DIR}") +# Changes accompanying 006-vcpkg_find_spirv-reflect.patch +vcpkg_replace_string("${SOURCE_PATH}/pxr/imaging/hgiVulkan/shaderCompiler.cpp" + [[#include "pxr/imaging/hgiVulkan/spirv_reflect.h"]] + [[#include ]] +) +file(REMOVE + "${SOURCE_PATH}/pxr/imaging/hgiVulkan/spirv_reflect.cpp" + "${SOURCE_PATH}/pxr/imaging/hgiVulkan/spirv_reflect.h" +) -IF (VCPKG_TARGET_IS_WINDOWS) -ELSE() -file(REMOVE ${SOURCE_PATH}/cmake/modules/FindTBB.cmake) -ENDIF() +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + materialx PXR_ENABLE_MATERIALX_SUPPORT + metal PXR_ENABLE_METAL_SUPPORT + openimageio PXR_BUILD_OPENIMAGEIO_PLUGIN + vulkan PXR_ENABLE_VULKAN_SUPPORT +) -vcpkg_configure_cmake( +if (PXR_ENABLE_MATERIALX_SUPPORT) + list(APPEND FEATURE_OPTIONS "-DMaterialX_DIR=${CURRENT_INSTALLED_DIR}/share/materialx") +endif() + +# hgiInterop Metal and Vulkan backend requires garch which is only enabled if PXR_ENABLE_GL_SUPPORT is ON +if(PXR_ENABLE_VULKAN_SUPPORT OR PXR_ENABLE_METAL_SUPPORT) + list(APPEND FEATURE_OPTIONS "-DPXR_ENABLE_GL_SUPPORT:BOOL=ON") +else() + list(APPEND FEATURE_OPTIONS "-DPXR_ENABLE_GL_SUPPORT:BOOL=OFF") +endif() + +vcpkg_cmake_configure( SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - -DPXR_BUILD_ALEMBIC_PLUGIN:BOOL=OFF - -DPXR_BUILD_EMBREE_PLUGIN:BOOL=OFF - -DPXR_BUILD_IMAGING:BOOL=OFF - -DPXR_BUILD_MAYA_PLUGIN:BOOL=OFF - -DPXR_BUILD_MONOLITHIC:BOOL=OFF - -DPXR_BUILD_TESTS:BOOL=OFF - -DPXR_BUILD_USD_IMAGING:BOOL=OFF - -DPXR_ENABLE_PYTHON_SUPPORT:BOOL=OFF + OPTIONS ${FEATURE_OPTIONS} + -DPXR_BUILD_DOCUMENTATION:BOOL=OFF -DPXR_BUILD_EXAMPLES:BOOL=OFF + -DPXR_BUILD_TESTS:BOOL=OFF -DPXR_BUILD_TUTORIALS:BOOL=OFF -DPXR_BUILD_USD_TOOLS:BOOL=OFF -) -vcpkg_install_cmake() + -DPXR_BUILD_ALEMBIC_PLUGIN:BOOL=OFF + -DPXR_BUILD_DRACO_PLUGIN:BOOL=OFF + -DPXR_BUILD_EMBREE_PLUGIN:BOOL=OFF + -DPXR_BUILD_PRMAN_PLUGIN:BOOL=OFF + + -DPXR_BUILD_IMAGING:BOOL=ON + -DPXR_BUILD_USD_IMAGING:BOOL=ON -file( - RENAME - "${CURRENT_PACKAGES_DIR}/pxrConfig.cmake" - "${CURRENT_PACKAGES_DIR}/cmake/pxrConfig.cmake") + -DPXR_ENABLE_OPENVDB_SUPPORT:BOOL=OFF + -DPXR_ENABLE_PTEX_SUPPORT:BOOL=OFF -vcpkg_fixup_cmake_targets(CONFIG_PATH cmake TARGET_PATH share/pxr) + -DPXR_PREFER_SAFETY_OVER_SPEED:BOOL=ON + -DPXR_ENABLE_PRECOMPILED_HEADERS:BOOL=OFF + + -DPXR_ENABLE_PYTHON_SUPPORT:BOOL=OFF + -DPXR_USE_DEBUG_PYTHON:BOOL=OFF + MAYBE_UNUSED_VARIABLES + PXR_USE_PYTHON_3 + PYTHON_EXECUTABLE +) + +vcpkg_cmake_install() vcpkg_copy_pdbs() -# Remove duplicates in debug folder -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +# Handle debug path for USD plugins +if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + file(GLOB_RECURSE debug_targets + "${CURRENT_PACKAGES_DIR}/debug/share/pxr/*-debug.cmake" + ) + foreach(debug_target IN LISTS debug_targets) + file(READ "${debug_target}" contents) + string(REPLACE "\${_IMPORT_PREFIX}/usd" "\${_IMPORT_PREFIX}/debug/usd" contents "${contents}") + string(REPLACE "\${_IMPORT_PREFIX}/plugin" "\${_IMPORT_PREFIX}/debug/plugin" contents "${contents}") + file(WRITE "${debug_target}" "${contents}") + endforeach() +endif() + +vcpkg_cmake_config_fixup(PACKAGE_NAME "pxr") + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/share" +) + +if(VCPKG_TARGET_IS_WINDOWS) + # Move all dlls to bin + file(GLOB RELEASE_DLL ${CURRENT_PACKAGES_DIR}/lib/*.dll) + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/bin) + file(GLOB DEBUG_DLL ${CURRENT_PACKAGES_DIR}/debug/lib/*.dll) + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/bin) + foreach(CURRENT_FROM ${RELEASE_DLL} ${DEBUG_DLL}) + string(REPLACE "/lib/" "/bin/" CURRENT_TO ${CURRENT_FROM}) + file(RENAME ${CURRENT_FROM} ${CURRENT_TO}) + endforeach() + + function(file_replace_regex filename match_string replace_string) + file(READ ${filename} _contents) + string(REGEX REPLACE "${match_string}" "${replace_string}" _contents "${_contents}") + file(WRITE ${filename} "${_contents}") + endfunction() + + # fix dll path for cmake + file_replace_regex(${CURRENT_PACKAGES_DIR}/share/pxr/pxrTargets-debug.cmake "debug/lib/([a-zA-Z0-9_]+)\\.dll" "debug/bin/\\1.dll") + file_replace_regex(${CURRENT_PACKAGES_DIR}/share/pxr/pxrTargets-release.cmake "lib/([a-zA-Z0-9_]+)\\.dll" "bin/\\1.dll") + + # fix plugInfo.json for runtime + file(GLOB_RECURSE PLUGINFO_FILES ${CURRENT_PACKAGES_DIR}/lib/usd/*/resources/plugInfo.json) + file(GLOB_RECURSE PLUGINFO_FILES_DEBUG ${CURRENT_PACKAGES_DIR}/debug/lib/usd/*/resources/plugInfo.json) + foreach(PLUGINFO ${PLUGINFO_FILES} ${PLUGINFO_FILES_DEBUG}) + file_replace_regex(${PLUGINFO} [=["LibraryPath": "../../([a-zA-Z0-9_]+).dll"]=] [=["LibraryPath": "../../../bin/\1.dll"]=]) + endforeach() +endif() # Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) - -# Move all dlls to bin -file(GLOB RELEASE_DLL ${CURRENT_PACKAGES_DIR}/lib/*.dll) -file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/bin) -file(GLOB DEBUG_DLL ${CURRENT_PACKAGES_DIR}/debug/lib/*.dll) -file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/bin) -foreach(CURRENT_FROM ${RELEASE_DLL} ${DEBUG_DLL}) - string(REPLACE "/lib/" "/bin/" CURRENT_TO ${CURRENT_FROM}) - file(RENAME ${CURRENT_FROM} ${CURRENT_TO}) -endforeach() - -function(file_replace_regex filename match_string replace_string) - file(READ ${filename} _contents) - string(REGEX REPLACE "${match_string}" "${replace_string}" _contents "${_contents}") - file(WRITE ${filename} "${_contents}") -endfunction() - -# fix dll path for cmake -file_replace_regex(${CURRENT_PACKAGES_DIR}/share/pxr/pxrConfig.cmake "/cmake/pxrTargets.cmake" "/pxrTargets.cmake") -file_replace_regex(${CURRENT_PACKAGES_DIR}/share/pxr/pxrTargets-debug.cmake "debug/lib/([a-zA-Z0-9_]+)\\.dll" "debug/bin/\\1.dll") -file_replace_regex(${CURRENT_PACKAGES_DIR}/share/pxr/pxrTargets-release.cmake "lib/([a-zA-Z0-9_]+)\\.dll" "bin/\\1.dll") - -# fix plugInfo.json for runtime -file(GLOB_RECURSE PLUGINFO_FILES ${CURRENT_PACKAGES_DIR}/lib/usd/*/resources/plugInfo.json) -file(GLOB_RECURSE PLUGINFO_FILES_DEBUG ${CURRENT_PACKAGES_DIR}/debug/lib/usd/*/resources/plugInfo.json) -foreach(PLUGINFO ${PLUGINFO_FILES} ${PLUGINFO_FILES_DEBUG}) - file_replace_regex(${PLUGINFO} [=["LibraryPath": "../../([a-zA-Z0-9_]+).dll"]=] [=["LibraryPath": "../../../bin/\1.dll"]=]) -endforeach() +vcpkg_install_copyright(FILE_LIST ${SOURCE_PATH}/LICENSE.txt) diff --git a/ports/usd/vcpkg.json b/ports/usd/vcpkg.json index e284433ec8fbb2..041c309b439adb 100644 --- a/ports/usd/vcpkg.json +++ b/ports/usd/vcpkg.json @@ -1,22 +1,62 @@ { "name": "usd", - "version-string": "20.08", - "port-version": 1, + "version": "24.8", "description": "Universal Scene Description (USD) is an efficient, scalable system for authoring, reading, and streaming time-sampled scene description for interchange between graphics applications.", "homepage": "https://github.com/PixarAnimationStudios/USD", - "supports": "!x86", + "license": null, + "supports": "!x86 & !arm & !android", "dependencies": [ - "boost-assign", - "boost-crc", - "boost-date-time", - "boost-filesystem", - "boost-format", - "boost-multi-index", - "boost-program-options", - "boost-regex", - "boost-system", - "boost-vmd", + "opensubdiv", "tbb", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, "zlib" - ] + ], + "features": { + "materialx": { + "description": "Enable MaterialX support", + "dependencies": [ + { + "name": "materialx", + "features": [ + "glsl-generator", + "render" + ] + } + ] + }, + "metal": { + "description": "Enable Metal based components", + "supports": "osx" + }, + "openimageio": { + "description": "Build OpenImageIO plugin", + "dependencies": [ + "openimageio" + ] + }, + "vulkan": { + "description": "Enable Vulkan based components", + "dependencies": [ + "opengl", + { + "name": "opensubdiv", + "default-features": false, + "features": [ + "opengl" + ] + }, + "shaderc", + "spirv-reflect", + "vulkan", + "vulkan-memory-allocator" + ] + } + } } diff --git a/ports/usearch/portfile.cmake b/ports/usearch/portfile.cmake new file mode 100644 index 00000000000000..fda98d869b5948 --- /dev/null +++ b/ports/usearch/portfile.cmake @@ -0,0 +1,24 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO unum-cloud/usearch + REF "v${VERSION}" + SHA512 b18006b248ea76b1a8c27c9c1285954f9101305cb5228d3565c854bd1aaf92e430556a5dbeb3f43a6a307914dd60b277a3ed342b953101e502871de294962bd4 + HEAD_REF main +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DUSEARCH_INSTALL=ON + -DUSEARCH_BUILD_TEST=OFF + -DUSEARCH_BUILD_BENCHMARK=OFF +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH share/cmake/usearch) + +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/usearch/vcpkg.json b/ports/usearch/vcpkg.json new file mode 100644 index 00000000000000..87fde8f2387f2c --- /dev/null +++ b/ports/usearch/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "usearch", + "version": "2.3.2", + "description": "Fastest Search & Clustering engine × for Vectors & Strings", + "homepage": "https://github.com/unum-cloud/usearch", + "license": "Apache-2.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/usockets/CMakeLists.txt b/ports/usockets/CMakeLists.txt index 69a742db13307c..3de28081397958 100644 --- a/ports/usockets/CMakeLists.txt +++ b/ports/usockets/CMakeLists.txt @@ -12,10 +12,12 @@ else() set(NOT_USE_OPENSSL "-DLIBUS_NO_SSL") endif() -find_package(unofficial-libuv CONFIG REQUIRED) -find_path(LIBUV_INCLUDE_DIR uv.h) -find_library(LIBUV_LIBRARY NAMES libuv) -include_directories(APPEND "${CMAKE_CURRENT_LIST_DIR}/src") +find_package(libuv CONFIG REQUIRED) +if (TARGET libuv::uv) + set(LIBUV_LIBRARY libuv::uv) +else() + set(LIBUV_LIBRARY libuv::uv_a) +endif() file(GLOB SOURCES src/*.c src/eventing/*.c) @@ -39,7 +41,7 @@ endif() if (CMAKE_USE_NETWORK) list(APPEND USOCKETS_EXT_INCLUDE_DIR src/internal/networking) - list(APPEND USOCKETS_EXT_LIBS Ws2_32) + list(APPEND USOCKETS_EXT_LIBS ws2_32) endif() add_library(uSockets ${SOURCES}) @@ -49,7 +51,7 @@ if (${LIBUS_USE_LIBUV}) endif() target_compile_definitions(uSockets PRIVATE ${NOT_USE_OPENSSL} ${USE_OPENSSL}) -target_include_directories(uSockets PUBLIC ${OPENSSL_INCLUDE_DIR} ${LIBUV_INCLUDE_DIR} ${USOCKETS_EXT_INCLUDE_DIR}) +target_include_directories(uSockets PUBLIC ${OPENSSL_INCLUDE_DIR} ${USOCKETS_EXT_INCLUDE_DIR} PRIVATE "${CMAKE_CURRENT_LIST_DIR}/src") target_link_libraries(uSockets PUBLIC ${OPENSSL_LIBRARIES} ${LIBUV_LIBRARY} ${USOCKETS_EXT_LIBS}) install(TARGETS uSockets diff --git a/ports/usockets/portfile.cmake b/ports/usockets/portfile.cmake index 867a4e7a9b74b3..df971354cc7b12 100644 --- a/ports/usockets/portfile.cmake +++ b/ports/usockets/portfile.cmake @@ -1,3 +1,6 @@ +vcpkg_minimum_required(VERSION 2022-10-12) # for ${VERSION} +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) #Upstream only support static compilation: https://github.com/uNetworking/uSockets/commit/b950efd6b10f06dd3ecb5b692e5d415f48474647 + if(NOT VCPKG_TARGET_IS_LINUX) set(USE_LIBUV ON) endif() @@ -9,8 +12,8 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO uNetworking/uSockets - REF v0.8.1 - SHA512 B3AD6387E20731831A3A6086D7DE320CCD8F720FAD3237B65EE165236E3F30CBEC3E3B1384BF53BF0F274D7E57665DE79E3244F841455D2ADAFBF954B453437F + REF "v${VERSION}" + SHA512 726b1665209d0006d6621352c12019bbab22bed75450c5ef1509b409d3c19c059caf94775439d3b910676fa2a4a790d490c3e25e5b8141423d88823642be7ac7 HEAD_REF master ) @@ -34,6 +37,6 @@ 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_copy_pdbs() diff --git a/ports/usockets/vcpkg.json b/ports/usockets/vcpkg.json index 9300c6e9467790..6f580d4f01a1db 100644 --- a/ports/usockets/vcpkg.json +++ b/ports/usockets/vcpkg.json @@ -1,17 +1,15 @@ { "name": "usockets", - "version": "0.8.1", + "version": "0.8.8", + "port-version": 1, "description": "Miniscule cross-platform eventing, networking & crypto for async applications", "homepage": "https://github.com/uNetworking/uSockets", + "license": "Apache-2.0", "dependencies": [ "libuv", { "name": "vcpkg-cmake", "host": true - }, - { - "name": "vcpkg-cmake-config", - "host": true } ], "features": { diff --git a/ports/usrsctp/fix_export.patch b/ports/usrsctp/fix_export.patch new file mode 100644 index 00000000000000..2198094ebf6257 --- /dev/null +++ b/ports/usrsctp/fix_export.patch @@ -0,0 +1,28 @@ +diff --git a/usrsctplib/CMakeLists.txt b/usrsctplib/CMakeLists.txt +index aa99cf2..c60b393 100644 +--- a/usrsctplib/CMakeLists.txt ++++ b/usrsctplib/CMakeLists.txt +@@ -174,7 +174,8 @@ list(APPEND usrsctp_sources + + add_library(usrsctp ${usrsctp_sources} ${usrsctp_headers}) + +-target_include_directories(usrsctp PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) ++target_include_directories(usrsctp PUBLIC $ ++ $) + + if (WIN32) + message(STATUS "link library: ws2_32") +@@ -188,8 +189,12 @@ set_target_properties(usrsctp PROPERTIES SOVERSION ${SOVERSION_SHORT} VERSION ${ + # INSTALL LIBRARY AND HEADER + ################################################# + +-install(TARGETS usrsctp DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++install(TARGETS usrsctp EXPORT unofficial-usrsctp-config ++ ARCHIVE DESTINATION lib ++ LIBRARY DESTINATION lib ++ RUNTIME DESTINATION bin) + install(FILES usrsctp.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) ++install(EXPORT unofficial-usrsctp-config NAMESPACE unofficial::usrsctp:: DESTINATION share/unofficial-usrsctp) + + ################################################# + # GENERATE AND INSTALL PKG-CONFIG FILE diff --git a/ports/usrsctp/mingw.diff b/ports/usrsctp/mingw.diff new file mode 100644 index 00000000000000..ae66b7f72689c3 --- /dev/null +++ b/ports/usrsctp/mingw.diff @@ -0,0 +1,13 @@ +diff --git a/usrsctplib/usrsctp.h b/usrsctplib/usrsctp.h +index b719290..3a4759c 100644 +--- a/usrsctplib/usrsctp.h ++++ b/usrsctplib/usrsctp.h +@@ -61,6 +61,8 @@ extern "C" { + #ifdef _WIN32 + #if defined(_MSC_VER) && _MSC_VER >= 1600 + #include ++#elif __MINGW32__ ++#include + #elif defined(SCTP_STDINT_INCLUDE) + #include SCTP_STDINT_INCLUDE + #else diff --git a/ports/usrsctp/portfile.cmake b/ports/usrsctp/portfile.cmake index 55ea67667acf41..d108f5cef468d2 100644 --- a/ports/usrsctp/portfile.cmake +++ b/ports/usrsctp/portfile.cmake @@ -6,6 +6,9 @@ vcpkg_from_github( REF 0.9.5.0 SHA512 7b28706449f9365ba9750fd39925e7171516a1e3145d123ec69a12486637ae2393ad4c587b056403298dc13c149f0b01a262cbe4852abca42e425d7680c77ee3 HEAD_REF master + PATCHES + fix_export.patch + mingw.diff ) vcpkg_cmake_configure( @@ -23,4 +26,5 @@ configure_file("${SOURCE_PATH}/LICENSE.md" "${CURRENT_PACKAGES_DIR}/share/usrsct vcpkg_copy_pdbs() -vcpkg_fixup_pkgconfig() +vcpkg_fixup_pkgconfig() +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-${PORT} CONFIG_PATH share/unofficial-${PORT}) diff --git a/ports/usrsctp/vcpkg.json b/ports/usrsctp/vcpkg.json index 56683423af4653..a3bf7e8324eb57 100644 --- a/ports/usrsctp/vcpkg.json +++ b/ports/usrsctp/vcpkg.json @@ -1,12 +1,18 @@ { "name": "usrsctp", "version": "0.9.5.0", - "port-version": 1, + "port-version": 4, "description": "A userland SCTP stack supporting FreeBSD, Linux, Mac OS X and Windows.", + "homepage": "https://github.com/sctplab/usrsctp", + "license": "BSD-3-Clause", "dependencies": [ { "name": "vcpkg-cmake", "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true } ] } diff --git a/ports/utf8-range/fix-cmake.patch b/ports/utf8-range/fix-cmake.patch new file mode 100644 index 00000000000000..d006c70f1713d7 --- /dev/null +++ b/ports/utf8-range/fix-cmake.patch @@ -0,0 +1,12 @@ +diff --git a/third_party/utf8_range/CMakeLists.txt b/third_party/utf8_range/CMakeLists.txt +index 344952d38..dd855df17 100644 +--- a/third_party/utf8_range/CMakeLists.txt ++++ b/third_party/utf8_range/CMakeLists.txt +@@ -63,6 +63,7 @@ if (utf8_range_ENABLE_INSTALL) + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} + ) + + configure_package_config_file( diff --git a/ports/utf8-range/portfile.cmake b/ports/utf8-range/portfile.cmake new file mode 100644 index 00000000000000..3bf651c28800a2 --- /dev/null +++ b/ports/utf8-range/portfile.cmake @@ -0,0 +1,27 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO protocolbuffers/protobuf + REF "v${VERSION}" + SHA512 ce3eeb6d12c42157787bf97d265f34ac8e8af31070a2717b4c783e9158b6d7fbb5f239585fc38128a658315842cf7b6802cb9a80f4f391505bf806952e009da5 + HEAD_REF main + PATCHES + fix-cmake.patch +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/third_party/utf8_range" + OPTIONS + "-Dutf8_range_ENABLE_TESTS=off" +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME "utf8_range" CONFIG_PATH "lib/cmake/utf8_range") + +vcpkg_fixup_pkgconfig() +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/third_party/utf8_range/LICENSE") diff --git a/ports/utf8-range/vcpkg.json b/ports/utf8-range/vcpkg.json new file mode 100644 index 00000000000000..63aa07f1e8679e --- /dev/null +++ b/ports/utf8-range/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "utf8-range", + "version": "5.26.1", + "description": "Fast UTF-8 validation with Range algorithm (NEON+SSE4+AVX2)", + "homepage": "https://github.com/protocolbuffers/protobuf", + "license": "MIT", + "dependencies": [ + "abseil", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/utf8h/portfile.cmake b/ports/utf8h/portfile.cmake index a8980161b8202d..041d253aa5714f 100644 --- a/ports/utf8h/portfile.cmake +++ b/ports/utf8h/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO sheredom/utf8.h - REF 146be69f88575d753317d8ef13b16f80e0656fc7 - SHA512 3ce20a440aa6c83b2079cad1385ba96688c2ae866b9dee013bc461f3ba180154231e3a18d3d020b4617b1c17b2cb36ea10c53656a48dd1294ed8324ed5b9acfb + REF 500d4ea9f4c3449e5243c088d8af8700f7189734 + SHA512 fbae7dbfd932176058dacb33ea491d17eb8e02c845e1ef2afc0ae482f563578a8a8011a8578f4aa8593bb0d7de8ba2df140bda05859a9a6bd67f6545ca0d7421 HEAD_REF master ) diff --git a/ports/utf8h/vcpkg.json b/ports/utf8h/vcpkg.json index 41f29797257253..bb038356e20480 100644 --- a/ports/utf8h/vcpkg.json +++ b/ports/utf8h/vcpkg.json @@ -1,6 +1,8 @@ { "name": "utf8h", - "version-date": "2021-10-21", + "version-date": "2021-11-18", + "port-version": 1, "description": "Single header utf8 string functions for C and C++", - "homepage": "https://github.com/sheredom/utf8.h" + "homepage": "https://github.com/sheredom/utf8.h", + "license": "Unlicense" } diff --git a/ports/utf8proc/export-cmake-targets.patch b/ports/utf8proc/export-cmake-targets.patch index 9c75e4a46b88dc..26d2f965126b77 100644 --- a/ports/utf8proc/export-cmake-targets.patch +++ b/ports/utf8proc/export-cmake-targets.patch @@ -1,8 +1,8 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index ea6b80e..5e5e829 100644 +index edf1d80..bf9d982 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -22,7 +22,7 @@ add_library (utf8proc +@@ -26,7 +26,7 @@ add_library (utf8proc ) # expose header path, for when this is part of a larger cmake project @@ -11,17 +11,16 @@ index ea6b80e..5e5e829 100644 if (BUILD_SHARED_LIBS) # Building shared library -@@ -51,10 +51,13 @@ set_target_properties (utf8proc PROPERTIES - - if (UTF8PROC_INSTALL) +@@ -57,10 +57,12 @@ if (UTF8PROC_INSTALL) + include(GNUInstallDirs) + install(FILES utf8proc.h DESTINATION "${CMAKE_INSTALL_FULL_INCLUDEDIR}") install(TARGETS utf8proc + EXPORT unofficial-utf8proc-config - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib) - + ARCHIVE DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}" + LIBRARY DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}" + RUNTIME DESTINATION "${CMAKE_INSTALL_FULL_BINDIR}" + ) + install(EXPORT unofficial-utf8proc-config DESTINATION share/unofficial-utf8proc) -+ - install( - FILES - "${PROJECT_SOURCE_DIR}/utf8proc.h" + configure_file(libutf8proc.pc.cmakein libutf8proc.pc @ONLY) + install(FILES "${CMAKE_CURRENT_BINARY_DIR}/libutf8proc.pc" DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}/pkgconfig") + endif() diff --git a/ports/utf8proc/portfile.cmake b/ports/utf8proc/portfile.cmake index e8e4f9c05db097..df44d40618c12a 100644 --- a/ports/utf8proc/portfile.cmake +++ b/ports/utf8proc/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO JuliaLang/utf8proc - REF 3203baa7374d67132384e2830b2183c92351bffc # v2.6.1 - SHA512 582831c4c2d118f1c6f9e6de812878b96428d8fa1b9a2bbca32633a3853cb1981c917c724d2a8db51282ed13fd1654ca45f5d227731f5b90b17e7fc3acc93b07 + REF 34db3f7954e9298e89f42641ac78e0450f80a70d # v2.9.0 + SHA512 41030ba99084d3941bb774d186712b9149e33606e8fda5be10dc83e3237df801998f46f0d49555f224e30609660e5e2d0ac9e9f22d76b95ed92daeaa3eacbd7e PATCHES export-cmake-targets.patch ) @@ -30,4 +30,6 @@ else() endif() file(WRITE "${CURRENT_PACKAGES_DIR}/include/utf8proc.h" "${UTF8PROC_H}") +vcpkg_fixup_pkgconfig() + file(INSTALL "${SOURCE_PATH}/LICENSE.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/utf8proc/vcpkg.json b/ports/utf8proc/vcpkg.json index 4ecd90926b7e3c..127c362901afdc 100644 --- a/ports/utf8proc/vcpkg.json +++ b/ports/utf8proc/vcpkg.json @@ -1,8 +1,9 @@ { "name": "utf8proc", - "version": "2.6.1", + "version": "2.9.0", "description": "Clean C library for processing UTF-8 Unicode data.", "homepage": "https://github.com/JuliaLang/utf8proc", + "license": "MIT", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/utfcpp/portfile.cmake b/ports/utfcpp/portfile.cmake index 7eb0f624237aa0..c054263be53e37 100644 --- a/ports/utfcpp/portfile.cmake +++ b/ports/utfcpp/portfile.cmake @@ -1,29 +1,18 @@ +set(VCPKG_BUILD_TYPE release) # header-only + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO nemtrif/utfcpp - REF v3.2.1 - SHA512 5798487f12b1bc55d3e06aed38f7604271ca3402963efcf85d181fd590d8a088d21e961e77698e60dc2cdae8cf4506645903442c45fd328201752d9589180e0d + REF "v${VERSION}" + SHA512 49ca33bfb2ee44515f555184b51191f7b706a228fb84ddc62e1e6b59c7d69a5ff836f38694daad0012a0f651b6199451974fe44ebe80081df00cf8c2759e3249 HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - -DUTF8_INSTALL=ON - -DUTF8_SAMPLES=OFF - -DUTF8_TESTS=OFF +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() - -if (VCPKG_TARGET_IS_WINDOWS) - vcpkg_fixup_cmake_targets(CONFIG_PATH cmake TARGET_PATH share/utf8cpp) -else() - vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/utf8cpp TARGET_PATH share/utf8cpp) -endif() - -# Header only -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME utf8cpp CONFIG_PATH share/utf8cpp/cmake) -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/utfcpp/vcpkg.json b/ports/utfcpp/vcpkg.json index d7f0c4639c0cee..256a723f76b2ee 100644 --- a/ports/utfcpp/vcpkg.json +++ b/ports/utfcpp/vcpkg.json @@ -1,6 +1,17 @@ { "name": "utfcpp", - "version": "3.2.1", + "version": "4.0.5", "description": "UTF-8 with C++ in a Portable Way", - "homepage": "https://github.com/nemtrif/utfcpp" + "homepage": "https://github.com/nemtrif/utfcpp", + "license": "BSL-1.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/utfz/portfile.cmake b/ports/utfz/portfile.cmake index d81f1aeb179620..780812f9de7992 100644 --- a/ports/utfz/portfile.cmake +++ b/ports/utfz/portfile.cmake @@ -6,16 +6,14 @@ vcpkg_from_github( HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() # Copy the include file -file(COPY ${SOURCE_PATH}/utfz.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) +file(COPY "${SOURCE_PATH}/utfz.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include") # Handle copyright -file(COPY ${SOURCE_PATH}/license DESTINATION ${CURRENT_PACKAGES_DIR}/share/utfz) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/utfz/license ${CURRENT_PACKAGES_DIR}/share/utfz/copyright) +file(INSTALL "${SOURCE_PATH}/license" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/utfz/vcpkg.json b/ports/utfz/vcpkg.json index 480e32b4d1e75a..8b117915a76775 100644 --- a/ports/utfz/vcpkg.json +++ b/ports/utfz/vcpkg.json @@ -1,7 +1,13 @@ { "name": "utfz", - "version-string": "1.2", - "port-version": 2, + "version": "1.2", + "port-version": 4, "description": "A tiny C++ library for parsing and encoding utf-8", - "homepage": "https://github.com/IMQS/utfz" + "homepage": "https://github.com/IMQS/utfz", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/uthenticode/openssl.patch b/ports/uthenticode/openssl.patch new file mode 100644 index 00000000000000..685f5d6be72f0e --- /dev/null +++ b/ports/uthenticode/openssl.patch @@ -0,0 +1,38 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 90f871d..8fd64b2 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -3,11 +3,7 @@ cmake_minimum_required(VERSION 3.10 FATAL_ERROR) + project(uthenticode) + + find_package(pe-parse REQUIRED) +-find_package( +- OpenSSL 3.0 +- COMPONENTS Crypto +- REQUIRED +-) ++find_package(OpenSSL REQUIRED) + + add_library("${PROJECT_NAME}" uthenticode.cpp) + +@@ -32,7 +28,7 @@ set_target_properties("${PROJECT_NAME}" PROPERTIES PUBLIC_HEADER "include/uthent + + target_link_libraries("${PROJECT_NAME}" PUBLIC pe-parse::pe-parse) + +-target_link_libraries("${PROJECT_NAME}" PUBLIC OpenSSL::Crypto) ++target_link_libraries("${PROJECT_NAME}" PUBLIC OpenSSL::SSL OpenSSL::Crypto) + + install( + TARGETS "${PROJECT_NAME}" +diff --git a/src/include/uthenticode.h b/src/include/uthenticode.h +index 223d662..07e5bc3 100644 +--- a/src/include/uthenticode.h ++++ b/src/include/uthenticode.h +@@ -48,6 +48,7 @@ DECLARE_ASN1_FUNCTIONS(Authenticode_SpcIndirectDataContent) + * So we wrap it here for use with unique_ptr. + */ + void OpenSSL_free(void *ptr); ++void SK_X509_free(stack_st_X509 *ptr); + + /* Since OpenSSL 3.0.0 SK_X509_free is defined as a macro, which we can't use with decltype. + * So we wrap it here for use with unique_ptr. diff --git a/ports/uthenticode/portfile.cmake b/ports/uthenticode/portfile.cmake index 730d411fdd165e..0509f61641a203 100644 --- a/ports/uthenticode/portfile.cmake +++ b/ports/uthenticode/portfile.cmake @@ -1,18 +1,13 @@ -vcpkg_fail_port_install(ON_TARGET "uwp") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO trailofbits/uthenticode - REF v1.0.6 - SHA512 6C9C4DD9E1FE7C329E10BC39E41927C8B82DD004275A88385C691AD85EF4079EBE2922083D5252019B8B25CC540F48E544B42B8178F256AE987D6B677713B063 + REF "v${VERSION}" + SHA512 447c1edd2fcd7ba6e960ef5caf32f2b0b9b8bd6b83e5ec02313ff6ae2063bc37a4c250cfdcd57d0717ba93f783c4c8390280edd54a2f63f53c4185faeab6610a HEAD_REF master + PATCHES + openssl.patch ) -# compatibility fix for newer versions of pe-parse -foreach(FILE IN ITEMS test/wincert-test.cpp test/signeddata-test.cpp test/uthenticode-test.cpp test/certificate-test.cpp src/include/uthenticode.h) - vcpkg_replace_string("${SOURCE_PATH}/${FILE}" "#include " "#include ") -endforeach() - vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" ) diff --git a/ports/uthenticode/vcpkg.json b/ports/uthenticode/vcpkg.json index 9ed6e1f7c60cd8..f6a228233be2da 100644 --- a/ports/uthenticode/vcpkg.json +++ b/ports/uthenticode/vcpkg.json @@ -1,6 +1,7 @@ { "name": "uthenticode", - "version-string": "1.0.6", + "version": "2.0.1", + "port-version": 1, "description": "A cross-platform library for verifying Authenticode signatures", "homepage": "https://github.com/trailofbits/uthenticode", "supports": "!uwp", diff --git a/ports/uvatlas/FixCMake.patch b/ports/uvatlas/FixCMake.patch new file mode 100644 index 00000000000000..ad5f81448e9d74 --- /dev/null +++ b/ports/uvatlas/FixCMake.patch @@ -0,0 +1,36 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 9be54f3..5656d03 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -139,7 +139,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) +@@ -147,13 +151,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) + endif() + + if(ENABLE_USE_EIGEN) +-- +2.47.0.vfs.0.3 + diff --git a/ports/uvatlas/portfile.cmake b/ports/uvatlas/portfile.cmake index bca523b3129afd..2a911866e518c7 100644 --- a/ports/uvatlas/portfile.cmake +++ b/ports/uvatlas/portfile.cmake @@ -1,64 +1,68 @@ -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +set(UVATLAS_TAG oct2024) -vcpkg_fail_port_install(ON_TARGET "OSX") +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Microsoft/UVAtlas - REF nov2021 - SHA512 06fe3eb50abd95f35741b8b7d27abbf1eb4f77e13e5c88aa199e29e0ddb979b7913d7eb766afe52382dc0bf94552b20f089681aa1cd52bb88469961d9029d5b0 - HEAD_REF master + REF ${UVATLAS_TAG} + SHA512 0ff09914445344eac748e7e6cfddebb062a0c7f36dc79d1591f5337b6600e69430aafc6f8a4cf5e3c343aea990feac4afa4cf4cf5f1e2d0865746008583bcf3d + HEAD_REF main + PATCHES + FixCMake.patch ) -if (VCPKG_HOST_IS_LINUX) - message(WARNING "Build ${PORT} requires GCC version 9 or later") -endif() - vcpkg_check_features( OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES eigen ENABLE_USE_EIGEN + spectre ENABLE_SPECTRE_MITIGATION + tools BUILD_TOOLS ) -if(VCPKG_TARGET_IS_UWP) - set(EXTRA_OPTIONS -DBUILD_TOOLS=OFF) -else() - set(EXTRA_OPTIONS -DBUILD_TOOLS=ON) +if (VCPKG_HOST_IS_LINUX) + message(WARNING "Build ${PORT} requires GCC version 9 or later") endif() vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} - OPTIONS ${FEATURE_OPTIONS} ${EXTRA_OPTIONS} + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} ) vcpkg_cmake_install() -vcpkg_cmake_config_fixup(CONFIG_PATH cmake) +vcpkg_fixup_pkgconfig() +vcpkg_cmake_config_fixup(CONFIG_PATH share/uvatlas) -if((VCPKG_HOST_IS_WINDOWS) AND (VCPKG_TARGET_ARCHITECTURE MATCHES x64) AND (NOT ("eigen" IN_LIST FEATURES))) - vcpkg_download_distfile( - UVATLASTOOL_EXE - URLS "https://github.com/Microsoft/UVAtlas/releases/download/nov2021/uvatlastool.exe" - FILENAME "uvatlastool-nov2021.exe" - SHA512 84de6bc74901f3ab888b90126cc1ac64de564eb33c605fffe37b2199ad132a53b01271f1f551fcc067c144c599380764b9e50884ce5df32f43b2c58777da0722 - ) +if("tools" IN_LIST FEATURES) file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/uvatlas/") - file(INSTALL - ${UVATLASTOOL_EXE} - DESTINATION ${CURRENT_PACKAGES_DIR}/tools/uvatlas/) + if((VCPKG_TARGET_ARCHITECTURE STREQUAL x64) AND (NOT ("eigen" IN_LIST FEATURES))) + + vcpkg_download_distfile( + UVATLASTOOL_EXE + URLS "https://github.com/Microsoft/UVAtlas/releases/download/${UVATLAS_TAG}/uvatlastool.exe" + FILENAME "uvatlastool-${UVATLAS_TAG}.exe" + SHA512 e4b08d355b311481cabb11afb2c0da745b033b4f9c09461a07da2f265944e84e4730e38f4f5f3ff7f1438b8f066f714876bdccc4d26d7dfb82a21646e509389b + ) - file(RENAME ${CURRENT_PACKAGES_DIR}/tools/uvatlas/uvatlastool-nov2021.exe ${CURRENT_PACKAGES_DIR}/tools/uvatlas/uvatlastool.exe) + file(INSTALL + "${UVATLASTOOL_EXE}" + DESTINATION "${CURRENT_PACKAGES_DIR}/tools/uvatlas/") -elseif((VCPKG_TARGET_IS_WINDOWS) AND (NOT VCPKG_TARGET_IS_UWP)) + file(RENAME "${CURRENT_PACKAGES_DIR}/tools/uvatlas/uvatlastool-${UVATLAS_TAG}.exe" "${CURRENT_PACKAGES_DIR}/tools/uvatlas/uvatlastool.exe") - vcpkg_copy_tools( - TOOL_NAMES uvatlastool - SEARCH_DIR ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bin/CMake - ) + else() + + vcpkg_copy_tools( + TOOL_NAMES uvatlastool + SEARCH_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bin" + ) + endif() endif() 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/uvatlas/usage b/ports/uvatlas/usage new file mode 100644 index 00000000000000..a5fb208b410a9e --- /dev/null +++ b/ports/uvatlas/usage @@ -0,0 +1,4 @@ +The UVAtlas package provides CMake targets: + + find_package(uvatlas CONFIG REQUIRED) + target_link_libraries(main PRIVATE Microsoft::UVAtlas) diff --git a/ports/uvatlas/vcpkg.json b/ports/uvatlas/vcpkg.json index 06fff2ef51fbae..4168ac3f83a9c4 100644 --- a/ports/uvatlas/vcpkg.json +++ b/ports/uvatlas/vcpkg.json @@ -1,21 +1,20 @@ { "name": "uvatlas", - "version-string": "nov2021", + "version-date": "2024-10-29", "description": "UVAtlas isochart texture atlas", "homepage": "https://github.com/Microsoft/UVAtlas", "documentation": "https://github.com/Microsoft/UVAtlas/wiki", "license": "MIT", - "supports": "windows | linux", + "supports": "(windows & !arm32) | linux", "dependencies": [ - "directx-headers", - "directxmath", { - "name": "directxmesh", - "platform": "!(uwp | linux)" + "name": "directx-headers", + "platform": "mingw | linux" }, + "directxmath", { - "name": "directxtex", - "platform": "!(uwp | linux)" + "name": "ms-gdkx", + "platform": "xbox" }, { "name": "vcpkg-cmake", @@ -33,6 +32,23 @@ "eigen3", "spectra" ] + }, + "spectre": { + "description": "Build Spectre-mitigated library" + }, + "tools": { + "description": "meshconvert command-line tool", + "supports": "windows & !uwp & !xbox", + "dependencies": [ + { + "name": "directxmesh", + "default-features": false + }, + { + "name": "directxtex", + "default-features": false + } + ] } } } diff --git a/ports/uvw/CMakeLists.txt b/ports/uvw/CMakeLists.txt deleted file mode 100644 index f359b735103955..00000000000000 --- a/ports/uvw/CMakeLists.txt +++ /dev/null @@ -1,25 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(uvw) - -find_package(unofficial-libuv CONFIG REQUIRED) - -add_library(uvw INTERFACE) -target_link_libraries(uvw INTERFACE unofficial::libuv::libuv) - -install(TARGETS uvw - EXPORT uvw - INCLUDES DESTINATION include/) - -install(EXPORT uvw - DESTINATION "share/uvw" - FILE uvw-targets.cmake - NAMESPACE uvw::) - -install(DIRECTORY - src/uvw/ - DESTINATION include/uvw/) - -install(FILES - src/uvw.hpp - DESTINATION include/ -) diff --git a/ports/uvw/fix-find-libuv.patch b/ports/uvw/fix-find-libuv.patch new file mode 100644 index 00000000000000..7fff3f37ea2400 --- /dev/null +++ b/ports/uvw/fix-find-libuv.patch @@ -0,0 +1,19 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 289c006..180383f 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -193,6 +193,14 @@ if (BUILD_UVW_LIBS) + SOVERSION ${UVW_VERSION_MAJOR} + ) + endif() ++ ++find_package(libuv CONFIG REQUIRED) ++if (TARGET libuv::uv) ++ target_link_libraries(uvw PRIVATE libuv::uv) ++else() ++ target_link_libraries(uvw PRIVATE libuv::uv_a) ++endif() ++ + install( + EXPORT uvwConfig + NAMESPACE uvw:: diff --git a/ports/uvw/portfile.cmake b/ports/uvw/portfile.cmake index a6eb493e79f073..30732b478675cf 100644 --- a/ports/uvw/portfile.cmake +++ b/ports/uvw/portfile.cmake @@ -1,23 +1,34 @@ -#header-only library +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO skypjack/uvw - REF 77af4a3fc4d932a52652807506fc50d0e58e875c # v2.7.0_libuv_v1.39 - SHA512 b9ee4a60928fbcea84a9c551ce4d97095db68352546054116ecc8303eaeb46aecaef15ca2e5d3ebd14d8292be798fdea50b353ffdc727faa43c23cfd314ea407 + REF "v${VERSION}_libuv_v1.46" + SHA512 a790f74a4d151319d3d692167b7d2229e6660dee34e7dc266815c3e5579dbe99e1da55e0466832ac8ec1881073317b744e384908de60bf62ef16420ee2fbc318 + PATCHES + fix-find-libuv.patch ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_UVW_LIBS=ON + -DBUILD_UVW_SHARED_LIB=OFF + -DFETCH_LIBUV=OFF + -DFIND_LIBUV=OFF ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets() -file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/uvw-config.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/uvw/) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/uvw) + +file(READ "${CURRENT_PACKAGES_DIR}/share/uvw/uvwConfig.cmake" cmake_config) +file(WRITE "${CURRENT_PACKAGES_DIR}/share/uvw/uvwConfig.cmake" +"include(CMakeFindDependencyMacro) +find_dependency(libuv) +${cmake_config} +") -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -# Handle copyright/readme/package files -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/uvw RENAME copyright) -file(INSTALL ${SOURCE_PATH}/README.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/uvw) +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/uvw/usage b/ports/uvw/usage new file mode 100644 index 00000000000000..0ff6b9bc45ae06 --- /dev/null +++ b/ports/uvw/usage @@ -0,0 +1,4 @@ +uvw provides CMake targets: + + find_package(uvw CONFIG REQUIRED) + target_link_libraries(main PRIVATE uvw::uvw) diff --git a/ports/uvw/uvw-config.cmake b/ports/uvw/uvw-config.cmake deleted file mode 100644 index 1fdc98f5384cb5..00000000000000 --- a/ports/uvw/uvw-config.cmake +++ /dev/null @@ -1,2 +0,0 @@ -find_package(unofficial-libuv CONFIG REQUIRED) -include ("${CMAKE_CURRENT_LIST_DIR}/uvw-targets.cmake") diff --git a/ports/uvw/vcpkg.json b/ports/uvw/vcpkg.json index bd896d781bd00d..b4e3867b486bb0 100644 --- a/ports/uvw/vcpkg.json +++ b/ports/uvw/vcpkg.json @@ -1,10 +1,18 @@ { "name": "uvw", - "version-string": "2.7.0", - "port-version": 1, - "description": "Header-only, event based, tiny and easy to use libuv wrapper in modern C++.", + "version": "3.2.0", + "description": "A compilable static library, event based, tiny and easy to use libuv wrapper in modern C++.", "homepage": "https://github.com/skypjack/uvw", + "license": "MIT", "dependencies": [ - "libuv" + "libuv", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/uwebsockets/portfile.cmake b/ports/uwebsockets/portfile.cmake index 6b8e659e1b6f07..1ea6bdaedc5553 100644 --- a/ports/uwebsockets/portfile.cmake +++ b/ports/uwebsockets/portfile.cmake @@ -1,12 +1,13 @@ +# header-only library vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO uNetworking/uWebSockets - REF v20.8.0 - SHA512 2ebb75ce2cd0194b9846a16ea69eb7d9aa25e3673cca0afbb61946989380256ebc27cf24c98bee0bf1264c7b60d84ebb01511454973e5ce165fafc7f75b52902 + REF "v${VERSION}" + SHA512 49c0193e6b6dad5533f489b0a0247b5f5e3fa27b96e499699a42dcca2406a159b0158d11c4527bc7dd8da8b56427ff15eb08c28a660527ee76c1579366d3dd57 HEAD_REF master ) file(COPY "${SOURCE_PATH}/src" DESTINATION "${CURRENT_PACKAGES_DIR}/include") file(RENAME "${CURRENT_PACKAGES_DIR}/include/src" "${CURRENT_PACKAGES_DIR}/include/uwebsockets") -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/uwebsockets/vcpkg.json b/ports/uwebsockets/vcpkg.json index 36969286415f42..1a5baa14652667 100644 --- a/ports/uwebsockets/vcpkg.json +++ b/ports/uwebsockets/vcpkg.json @@ -1,8 +1,9 @@ { "name": "uwebsockets", - "version-semver": "20.8.0", + "version-semver": "20.70.0", "description": "Simple, secure & standards compliant web I/O for the most demanding of applications", "homepage": "https://github.com/uWebSockets/uWebSockets", + "license": "Apache-2.0", "dependencies": [ "usockets", "zlib" diff --git a/ports/v-hacd/portfile.cmake b/ports/v-hacd/portfile.cmake index 3e4cdefa32a2de..c22697eba643ca 100644 --- a/ports/v-hacd/portfile.cmake +++ b/ports/v-hacd/portfile.cmake @@ -1,8 +1,5 @@ -vcpkg_fail_port_install(ON_ARCH "arm") - vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO kmammou/v-hacd @@ -13,7 +10,7 @@ vcpkg_from_github( fix-cmake.patch ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) set(LIB_TYPE "SHARED") @@ -27,21 +24,20 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS opencl NO_OPENCL ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${FEATURE_OPTIONS} -DLIB_TYPE=${LIB_TYPE} ) -vcpkg_install_cmake() +vcpkg_cmake_install() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/vhacd) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/vhacd) vcpkg_copy_pdbs() # Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/v-hacd/vcpkg.json b/ports/v-hacd/vcpkg.json index 338e0337be3fcf..0cd67b71ae0a7e 100644 --- a/ports/v-hacd/vcpkg.json +++ b/ports/v-hacd/vcpkg.json @@ -1,10 +1,20 @@ { "name": "v-hacd", - "version-string": "3.2.0", - "port-version": 2, + "version": "3.2.0", + "port-version": 4, "description": "The V-HACD library decomposes a 3D surface into a set of \"near\" convex parts.", "homepage": "https://github.com/kmammou/v-hacd", "supports": "!arm", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], "features": { "opencl": { "description": "Builds opencl enabled lib", diff --git a/ports/v8/V8Config-static.cmake b/ports/v8/V8Config-static.cmake index 6a47593efb6ded..debd1f169ddfcb 100644 --- a/ports/v8/V8Config-static.cmake +++ b/ports/v8/V8Config-static.cmake @@ -8,7 +8,7 @@ if(UNIX) "ICU::in;ICU::uc;ICU::dt;ZLIB::ZLIB") elseif(WIN32) set(V8_IMPORTED_LINK_INTERFACE_LIBRARIES - "Winmm;DbgHelp;ZLIB::ZLIB;PkgConfig::GLIB2;ICU::in;ICU::uc;ICU::dt") + "Winmm;DbgHelp;ZLIB::ZLIB;ICU::in;ICU::uc;ICU::dt") endif() get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) diff --git a/ports/v8/portfile.cmake b/ports/v8/portfile.cmake index bbf42562308728..469bc5ad6a7820 100644 --- a/ports/v8/portfile.cmake +++ b/ports/v8/portfile.cmake @@ -1,3 +1,14 @@ +vcpkg_get_windows_sdk(WINDOWS_SDK) + +if (WINDOWS_SDK MATCHES "10.") + set(LIBFILEPATH "$ENV{WindowsSdkDir}Lib\\${WINDOWS_SDK}\\um\\${TRIPLET_SYSTEM_ARCH}\\Ws2_32.Lib") + set(HEADERSPATH "$ENV{WindowsSdkDir}Include\\${WINDOWS_SDK}\\um") +elseif(WINDOWS_SDK MATCHES "8.") + set(LIBFILEPATH "$ENV{WindowsSdkDir}Lib\\winv6.3\\um\\${TRIPLET_SYSTEM_ARCH}\\Ws2_32.Lib") + set(HEADERSPATH "$ENV{WindowsSdkDir}Include\\um") +else() + message(FATAL_ERROR "Portfile not yet configured for Windows SDK with version: ${WINDOWS_SDK}") +endif() set(pkgver "9.1.269.39") @@ -17,7 +28,7 @@ vcpkg_add_to_path(PREPEND "${GIT_PATH}") vcpkg_add_to_path(PREPEND "${PYTHON2_PATH}") vcpkg_add_to_path(PREPEND "${GN_PATH}") vcpkg_add_to_path(PREPEND "${NINJA_PATH}") -if(WIN32) +if(VCPKG_TARGET_IS_WINDOWS) vcpkg_acquire_msys(MSYS_ROOT PACKAGES pkg-config) vcpkg_add_to_path("${MSYS_ROOT}/usr/bin") endif() @@ -115,19 +126,19 @@ vcpkg_execute_required_process( ) file(MAKE_DIRECTORY "${SOURCE_PATH}/third_party/icu") -configure_file(${CURRENT_PORT_DIR}/zlib.gn ${SOURCE_PATH}/third_party/zlib/BUILD.gn COPYONLY) -configure_file(${CURRENT_PORT_DIR}/icu.gn ${SOURCE_PATH}/third_party/icu/BUILD.gn COPYONLY) -file(WRITE ${SOURCE_PATH}/build/config/gclient_args.gni "checkout_google_benchmark = false\n") -if(WIN32) +configure_file("${CURRENT_PORT_DIR}/zlib.gn" "${SOURCE_PATH}/third_party/zlib/BUILD.gn" COPYONLY) +configure_file("${CURRENT_PORT_DIR}/icu.gn" "${SOURCE_PATH}/third_party/icu/BUILD.gn" COPYONLY) +file(WRITE "${SOURCE_PATH}/build/config/gclient_args.gni" "checkout_google_benchmark = false\n") +if(VCPKG_TARGET_IS_WINDOWS) string(REGEX REPLACE "\\\\+$" "" WindowsSdkDir $ENV{WindowsSdkDir}) - file(APPEND ${SOURCE_PATH}/build/config/gclient_args.gni "windows_sdk_path = \"${WindowsSdkDir}\"\n") + file(APPEND "${SOURCE_PATH}/build/config/gclient_args.gni" "windows_sdk_path = \"${WindowsSdkDir}\"\n") endif() -if(UNIX) +if(VCPKG_TARGET_IS_LINUX) set(UNIX_CURRENT_INSTALLED_DIR ${CURRENT_INSTALLED_DIR}) set(LIBS "-ldl -lpthread") set(REQUIRES ", gmodule-2.0, gobject-2.0, gthread-2.0") -elseif(WIN32) +elseif(VCPKG_TARGET_IS_WINDOWS) execute_process(COMMAND cygpath "${CURRENT_INSTALLED_DIR}" OUTPUT_VARIABLE UNIX_CURRENT_INSTALLED_DIR) string(STRIP ${UNIX_CURRENT_INSTALLED_DIR} UNIX_CURRENT_INSTALLED_DIR) set(LIBS "-lWinmm -lDbgHelp") @@ -147,8 +158,8 @@ endif() message(STATUS "Generating v8 build files. Please wait...") -vcpkg_configure_gn( - SOURCE_PATH ${SOURCE_PATH} +vcpkg_gn_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS "is_component_build=${is_component_build} target_cpu=\"${VCPKG_TARGET_ARCHITECTURE}\" v8_monolithic=${v8_monolithic} v8_use_external_startup_data=${v8_use_external_startup_data} use_sysroot=false is_clang=false use_custom_libcxx=false v8_enable_verify_heap=false icu_use_data_file=false" OPTIONS_DEBUG "is_debug=true enable_iterator_debugging=true pkg_config_libdir=\"${UNIX_CURRENT_INSTALLED_DIR}/debug/lib/pkgconfig\"" OPTIONS_RELEASE "is_debug=false enable_iterator_debugging=false pkg_config_libdir=\"${UNIX_CURRENT_INSTALLED_DIR}/lib/pkgconfig\"" @@ -156,8 +167,8 @@ vcpkg_configure_gn( message(STATUS "Building v8. Please wait...") -vcpkg_install_gn( - SOURCE_PATH ${SOURCE_PATH} +vcpkg_gn_install( + SOURCE_PATH "${SOURCE_PATH}" TARGETS ${targets} ) @@ -165,27 +176,27 @@ if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") set(CFLAGS "-DV8_COMPRESS_POINTERS -DV8_31BIT_SMIS_ON_64BIT_ARCH") endif() -file(INSTALL ${SOURCE_PATH}/include DESTINATION ${CURRENT_PACKAGES_DIR}/include FILES_MATCHING PATTERN "*.h") +file(INSTALL "${SOURCE_PATH}/include" DESTINATION "${CURRENT_PACKAGES_DIR}/include" FILES_MATCHING PATTERN "*.h") if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) set(PREFIX ${CURRENT_PACKAGES_DIR}) - configure_file(${CURRENT_PORT_DIR}/v8.pc.in ${CURRENT_PACKAGES_DIR}/lib/pkgconfig/v8.pc @ONLY) - configure_file(${CURRENT_PORT_DIR}/v8_libbase.pc.in ${CURRENT_PACKAGES_DIR}/lib/pkgconfig/v8_libbase.pc @ONLY) - configure_file(${CURRENT_PORT_DIR}/v8_libplatform.pc.in ${CURRENT_PACKAGES_DIR}/lib/pkgconfig/v8_libplatform.pc @ONLY) - file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/snapshot_blob.bin DESTINATION ${CURRENT_PACKAGES_DIR}/bin) + configure_file("${CURRENT_PORT_DIR}/v8.pc.in" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/v8.pc" @ONLY) + configure_file("${CURRENT_PORT_DIR}/v8_libbase.pc.in" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/v8_libbase.pc" @ONLY) + configure_file("${CURRENT_PORT_DIR}/v8_libplatform.pc.in" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/v8_libplatform.pc" @ONLY) + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/snapshot_blob.bin" DESTINATION "${CURRENT_PACKAGES_DIR}/bin") set(PREFIX ${CURRENT_PACKAGES_DIR}/debug) - configure_file(${CURRENT_PORT_DIR}/v8.pc.in ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/v8.pc @ONLY) - configure_file(${CURRENT_PORT_DIR}/v8_libbase.pc.in ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/v8_libbase.pc @ONLY) - configure_file(${CURRENT_PORT_DIR}/v8_libplatform.pc.in ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/v8_libplatform.pc @ONLY) - configure_file(${CURRENT_PORT_DIR}/V8Config-shared.cmake ${CURRENT_PACKAGES_DIR}/share/v8/V8Config.cmake @ONLY) - file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/snapshot_blob.bin DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) + configure_file("${CURRENT_PORT_DIR}/v8.pc.in" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/v8.pc" @ONLY) + configure_file("${CURRENT_PORT_DIR}/v8_libbase.pc.in" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/v8_libbase.pc" @ONLY) + configure_file("${CURRENT_PORT_DIR}/v8_libplatform.pc.in" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/v8_libplatform.pc" @ONLY) + configure_file("${CURRENT_PORT_DIR}/V8Config-shared.cmake" "${CURRENT_PACKAGES_DIR}/share/v8/V8Config.cmake" @ONLY) + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/snapshot_blob.bin" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin") else() set(PREFIX ${CURRENT_PACKAGES_DIR}) - configure_file(${CURRENT_PORT_DIR}/v8_monolith.pc.in ${CURRENT_PACKAGES_DIR}/lib/pkgconfig/v8_monolith.pc @ONLY) + configure_file("${CURRENT_PORT_DIR}/v8_monolith.pc.in" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/v8_monolith.pc" @ONLY) set(PREFIX ${CURRENT_PACKAGES_DIR}/debug) - configure_file(${CURRENT_PORT_DIR}/v8_monolith.pc.in ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/v8_monolith.pc @ONLY) - configure_file(${CURRENT_PORT_DIR}/V8Config-static.cmake ${CURRENT_PACKAGES_DIR}/share/v8/V8Config.cmake @ONLY) + configure_file("${CURRENT_PORT_DIR}/v8_monolith.pc.in" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/v8_monolith.pc" @ONLY) + configure_file("${CURRENT_PORT_DIR}/V8Config-static.cmake" "${CURRENT_PACKAGES_DIR}/share/v8/V8Config.cmake" @ONLY) endif() @@ -195,4 +206,4 @@ vcpkg_copy_pdbs() vcpkg_fixup_pkgconfig(SYSTEM_LIBRARIES m dl pthread Winmm DbgHelp v8_libbase v8_libplatform v8) # Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/v8/vcpkg.json b/ports/v8/vcpkg.json index ba8cfa771402bb..3decc19f9bf9e3 100644 --- a/ports/v8/vcpkg.json +++ b/ports/v8/vcpkg.json @@ -1,10 +1,11 @@ { "name": "v8", "version": "9.1.269.39", - "port-version": 1, + "port-version": 8, "description": "Google Chrome's JavaScript engine", "homepage": "https://v8.dev", - "supports": "!(arm | arm64 | uwp | osx)", + "license": "BSD-3-Clause", + "supports": "!(arm | arm64 | uwp | osx | linux)", "dependencies": [ { "name": "glib", @@ -15,6 +16,14 @@ "name": "pthread", "platform": "linux" }, + { + "name": "vcpkg-gn", + "host": true + }, + { + "name": "vcpkg-tool-python2", + "host": true + }, "zlib" ] } diff --git a/ports/valijson/fix-optional.patch b/ports/valijson/fix-optional.patch deleted file mode 100644 index 307d630a57574c..00000000000000 --- a/ports/valijson/fix-optional.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/include/valijson/internal/optional.hpp b/include/valijson/internal/optional.hpp -index c9bc47b..c73c7fb 100644 ---- a/include/valijson/internal/optional.hpp -+++ b/include/valijson/internal/optional.hpp -@@ -9,6 +9,6 @@ namespace opt = std; - # endif - # endif - #else --# include -+# include - namespace opt = std::experimental; - #endif diff --git a/ports/valijson/fix-picojson.patch b/ports/valijson/fix-picojson.patch deleted file mode 100644 index ae276f8ebec948..00000000000000 --- a/ports/valijson/fix-picojson.patch +++ /dev/null @@ -1,34 +0,0 @@ -diff --git a/include/valijson/adapters/picojson_adapter.hpp b/include/valijson/adapters/picojson_adapter.hpp -index 4f5e5b6..0da2bf2 100644 ---- a/include/valijson/adapters/picojson_adapter.hpp -+++ b/include/valijson/adapters/picojson_adapter.hpp -@@ -29,10 +29,10 @@ - - #ifdef _MSC_VER - #pragma warning(disable: 4706) --#include -+#include - #pragma warning(default: 4706) - #else --#include -+#include - #endif - - #include -diff --git a/include/valijson/utils/picojson_utils.hpp b/include/valijson/utils/picojson_utils.hpp -index 36420d2..8660c30 100644 ---- a/include/valijson/utils/picojson_utils.hpp -+++ b/include/valijson/utils/picojson_utils.hpp -@@ -4,10 +4,10 @@ - - #ifdef _MSC_VER - #pragma warning(disable: 4706) --#include -+#include - #pragma warning(default: 4706) - #else --#include -+#include - #endif - - #include diff --git a/ports/valijson/portfile.cmake b/ports/valijson/portfile.cmake index 3481d8678f51a7..843a68303c9f17 100644 --- a/ports/valijson/portfile.cmake +++ b/ports/valijson/portfile.cmake @@ -1,24 +1,23 @@ -#header-only library vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO tristanpenman/valijson - REF v0.6 - SHA512 a493d17159e479be7fe29d45c610c7d4fdd2c2f9ba897923129734fb07257dbb41fddde4c4263dbf0aa5c7101cd1555568a048beba2f60d2b32e625dd9690749 + REF "v${VERSION}" + SHA512 c1141e533d6a791a01883c5b7ab9501eebc39057a850d784670a4bcf99bff3fee4c3120107128dcaa9db0505adf2ae794700620c02163b3e636f0b635031df80 HEAD_REF master - PATCHES fix-picojson.patch - fix-optional.patch ) -# Copy the header files -file(GLOB HEADER_FILES ${SOURCE_PATH}/include/valijson/*) -file(COPY ${HEADER_FILES} - DESTINATION ${CURRENT_PACKAGES_DIR}/include/valijson - REGEX "\.(gitattributes|gitignore)$" EXCLUDE) +set(VCPKG_BUILD_TYPE release) # headers only -file(COPY ${SOURCE_PATH}/include/compat/optional.hpp - DESTINATION ${CURRENT_PACKAGES_DIR}/include/valijson/compat) +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -Dvalijson_BUILD_TESTS:BOOL=OFF +) +vcpkg_cmake_install() + + +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/valijson") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") -# Put the licence file where vcpkg expects it -file(COPY ${SOURCE_PATH}/LICENSE - DESTINATION ${CURRENT_PACKAGES_DIR}/share/valijson) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/valijson/LICENSE ${CURRENT_PACKAGES_DIR}/share/valijson/copyright) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib" "${CURRENT_PACKAGES_DIR}/debug/lib") diff --git a/ports/valijson/vcpkg.json b/ports/valijson/vcpkg.json index f78a85c401e423..47b95037ef1249 100644 --- a/ports/valijson/vcpkg.json +++ b/ports/valijson/vcpkg.json @@ -1,5 +1,15 @@ { "name": "valijson", - "version": "0.6", - "description": "Header-only C++ library for JSON Schema validation" + "version": "1.0.2", + "description": "Header-only C++ library for JSON Schema validation", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/vamp-sdk/CMakeLists.txt b/ports/vamp-sdk/CMakeLists.txt index a3d98073dba784..c5e29d9220f28d 100644 --- a/ports/vamp-sdk/CMakeLists.txt +++ b/ports/vamp-sdk/CMakeLists.txt @@ -81,6 +81,12 @@ target_link_libraries(vamp-hostsdk PUBLIC SndFile::sndfile) target_link_libraries(vamp-sdk PUBLIC SndFile::sndfile) +configure_file("${CMAKE_CURRENT_SOURCE_DIR}/pkgconfig/vamp.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/pkgconfig/vamp.pc" @ONLY) +configure_file("${CMAKE_CURRENT_SOURCE_DIR}/pkgconfig/vamp-hostsdk.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/pkgconfig/vamp-hostsdk.pc" @ONLY) +configure_file("${CMAKE_CURRENT_SOURCE_DIR}/pkgconfig/vamp-sdk.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/pkgconfig/vamp-sdk.pc" @ONLY) +file(GLOB PKGCONFIG_FILES "${CMAKE_CURRENT_BINARY_DIR}/pkgconfig/*.pc") +install(FILES ${PKGCONFIG_FILES} DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) + install( TARGETS vamp-hostsdk vamp-sdk RUNTIME DESTINATION bin diff --git a/ports/vamp-sdk/portfile.cmake b/ports/vamp-sdk/portfile.cmake index 890f68e4a7ed8b..47fc9b44f8ede6 100644 --- a/ports/vamp-sdk/portfile.cmake +++ b/ports/vamp-sdk/portfile.cmake @@ -1,20 +1,18 @@ vcpkg_from_github( - REPO c4dm/vamp-plugin-sdk + REPO vamp-plugins/vamp-plugin-sdk REF vamp-plugin-sdk-v2.10 SHA512 67a71e5396eab5ce9503e9111b4cfc16fc9755cf6ae2d8dfc99ed29fd91e75eaf0de9a9c55ce8f7751f04c235eb86430856eff18f02adde54f1850a87c917ef0 OUT_SOURCE_PATH SOURCE_PATH ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA -) +vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}") + +vcpkg_cmake_install() -vcpkg_install_cmake() +vcpkg_fixup_pkgconfig() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -# # Handle copyright -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/vamp-sdk/vcpkg.json b/ports/vamp-sdk/vcpkg.json index 2e6b1fea4fc92e..6150b070ca4b57 100644 --- a/ports/vamp-sdk/vcpkg.json +++ b/ports/vamp-sdk/vcpkg.json @@ -1,12 +1,19 @@ { - "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg/master/scripts/vcpkg.schema.json", "name": "vamp-sdk", "version": "2.10", - "port-version": 1, + "port-version": 5, "description": "Library for Vamp plugins", "homepage": "https://www.vamp-plugins.org/develop.html", + "license": "MIT", "supports": "!uwp", "dependencies": [ - "libsndfile" + { + "name": "libsndfile", + "default-features": false + }, + { + "name": "vcpkg-cmake", + "host": true + } ] } diff --git a/ports/vc/portfile.cmake b/ports/vc/portfile.cmake index 3b51c814190784..91ced9f34e326c 100644 --- a/ports/vc/portfile.cmake +++ b/ports/vc/portfile.cmake @@ -1,25 +1,24 @@ -vcpkg_fail_port_install(ON_ARCH "arm64") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO VcDevel/Vc - REF 1.4.2 - SHA512 9a929cd48bdf6b8e94765bd649e7ec42b10dea28e36eff288223d72cffa5f4fc8693e942aa3f780b42d8a0c1824fcabff22ec0622aa8ea5232c9123858b8bbbf + REPO VcDevel/Vc + REF 1.4.4 + SHA512 b8aa0a45637dd1e0cc23f074d023b677aab570dd4a78cff94e4c2d832afb841c1b421077ae9c848a40aa4beb50ed2e31fdf075738496856ff8fe3ea1d0acba07 HEAD_REF 1.4 - PATCHES - "correct_cmake_config_path.patch" + PATCHES + correct_cmake_config_path.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_TESTING=OFF + -DBUILD_EXAMPLES=OFF ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/Vc/) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/Vc/") vcpkg_copy_pdbs() -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") -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/vc/vcpkg.json b/ports/vc/vcpkg.json index d63975fbe86f8b..965a2141462ba4 100644 --- a/ports/vc/vcpkg.json +++ b/ports/vc/vcpkg.json @@ -1,8 +1,18 @@ { "name": "vc", - "version-string": "1.4.2", - "port-version": 1, + "version": "1.4.4", "description": "SIMD Vector Classes for C++ .", "homepage": "https://github.com/VcDevel/Vc", - "supports": "!arm64" + "license": "BSD-3-Clause", + "supports": "!arm64", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/vcglib/consume-vcpkg-eigen3.patch b/ports/vcglib/consume-vcpkg-eigen3.patch index 35e9f5537b4274..a84f436c4e129f 100644 --- a/ports/vcglib/consume-vcpkg-eigen3.patch +++ b/ports/vcglib/consume-vcpkg-eigen3.patch @@ -1,125 +1,5 @@ -diff --git a/vcg/complex/algorithms/curve_on_manifold.h b/vcg/complex/algorithms/curve_on_manifold.h -index 5b9d858..f091b4b 100644 ---- a/vcg/complex/algorithms/curve_on_manifold.h -+++ b/vcg/complex/algorithms/curve_on_manifold.h -@@ -36,7 +36,7 @@ - #include - #include - #include --#include -+#include - #include - #include - -diff --git a/vcg/complex/algorithms/harmonic.h b/vcg/complex/algorithms/harmonic.h -index d004d7b..13d5167 100644 ---- a/vcg/complex/algorithms/harmonic.h -+++ b/vcg/complex/algorithms/harmonic.h -@@ -24,7 +24,7 @@ - #define __VCGLIB_HARMONIC_FIELD - - #include --#include -+#include - - namespace vcg { - namespace tri { -diff --git a/vcg/complex/algorithms/implicit_smooth.h b/vcg/complex/algorithms/implicit_smooth.h -index 2e1e24f..76311e2 100644 ---- a/vcg/complex/algorithms/implicit_smooth.h -+++ b/vcg/complex/algorithms/implicit_smooth.h -@@ -23,7 +23,7 @@ - #ifndef __VCG_IMPLICIT_SMOOTHER - #define __VCG_IMPLICIT_SMOOTHER - --#include -+#include - #include - #include - #include -diff --git a/vcg/complex/algorithms/inertia.h b/vcg/complex/algorithms/inertia.h -index 41b5a29..f25d6f9 100644 ---- a/vcg/complex/algorithms/inertia.h -+++ b/vcg/complex/algorithms/inertia.h -@@ -24,8 +24,8 @@ - #define _VCG_INERTIA_ - - --#include --#include -+#include -+#include - #include - - namespace vcg -diff --git a/vcg/complex/algorithms/parametrization/poisson_solver.h b/vcg/complex/algorithms/parametrization/poisson_solver.h -index cf5c36d..3b8f1a5 100644 ---- a/vcg/complex/algorithms/parametrization/poisson_solver.h -+++ b/vcg/complex/algorithms/parametrization/poisson_solver.h -@@ -24,7 +24,7 @@ - #ifndef VCG_POISSON_SOLVER - #define VCG_POISSON_SOLVER - --#include -+#include - - #include - #include -diff --git a/vcg/complex/algorithms/update/curvature.h b/vcg/complex/algorithms/update/curvature.h -index 441121b..0a96146 100644 ---- a/vcg/complex/algorithms/update/curvature.h -+++ b/vcg/complex/algorithms/update/curvature.h -@@ -32,7 +32,7 @@ - #include - #include - #include --#include -+#include - - namespace vcg { - namespace tri { -diff --git a/vcg/complex/algorithms/update/curvature_fitting.h b/vcg/complex/algorithms/update/curvature_fitting.h -index b2b8c63..ab04b6b 100644 ---- a/vcg/complex/algorithms/update/curvature_fitting.h -+++ b/vcg/complex/algorithms/update/curvature_fitting.h -@@ -38,11 +38,11 @@ - #include - #include - --#include --#include --#include --#include --#include -+#include -+#include -+#include -+#include -+#include - - - namespace vcg { -diff --git a/vcg/complex/algorithms/update/fitmaps.h b/vcg/complex/algorithms/update/fitmaps.h -index bd2c94f..fd837d7 100644 ---- a/vcg/complex/algorithms/update/fitmaps.h -+++ b/vcg/complex/algorithms/update/fitmaps.h -@@ -34,10 +34,10 @@ - #include - #include "vcg/complex/algorithms/update/curvature_fitting.h" - --#include --#include --#include --#include -+#include -+#include -+#include -+#include - - #include - diff --git a/vcg/math/eigen.h b/vcg/math/eigen.h -index 5cae402..81f32ff 100644 +index 5cae402f..e8f82258 100644 --- a/vcg/math/eigen.h +++ b/vcg/math/eigen.h @@ -53,10 +53,10 @@ struct ei_to_vcgtype; @@ -130,96 +10,10 @@ index 5cae402..81f32ff 100644 -#include "../../eigenlib/Eigen/Geometry" -#include "../../eigenlib/Eigen/Array" -#include "../../eigenlib/Eigen/Core" -+#include "../../eigen3/Eigen/LU" -+#include "../../eigen3/Eigen/Geometry" -+#include "../../eigen3/Eigen/Array" -+#include "../../eigen3/Eigen/Core" - - // add support for unsigned char and short int - namespace Eigen { -diff --git a/vcg/math/matrix44.h b/vcg/math/matrix44.h -index a138e57..5291e0e 100644 ---- a/vcg/math/matrix44.h -+++ b/vcg/math/matrix44.h -@@ -30,8 +30,8 @@ - #include - #include - #include --#include --#include -+#include +#include - - namespace vcg { - -diff --git a/vcg/math/polar_decomposition.h b/vcg/math/polar_decomposition.h -index deabf86..bd725d1 100644 ---- a/vcg/math/polar_decomposition.h -+++ b/vcg/math/polar_decomposition.h -@@ -26,8 +26,8 @@ - - #include - #include --#include --#include -+#include -+#include - - namespace vcg{ - -diff --git a/vcg/math/quadric.h b/vcg/math/quadric.h -index 8522056..99a9de1 100644 ---- a/vcg/math/quadric.h -+++ b/vcg/math/quadric.h -@@ -26,7 +26,7 @@ - #include - #include - #include --#include ++#include ++#include +#include - namespace vcg { - namespace math { -diff --git a/vcg/space/fitting3.h b/vcg/space/fitting3.h -index e9e238a..6861969 100644 ---- a/vcg/space/fitting3.h -+++ b/vcg/space/fitting3.h -@@ -29,8 +29,8 @@ - #include - #include - --#include --#include -+#include -+#include - - namespace vcg { - -diff --git a/vcg/space/point_matching.h b/vcg/space/point_matching.h -index e9ac0ff..c6ff376 100644 ---- a/vcg/space/point_matching.h -+++ b/vcg/space/point_matching.h -@@ -27,8 +27,8 @@ - #include - #include - --#include --#include -+#include -+#include - #include - - namespace vcg -diff --git a/wrap/igl/smooth_field.h b/wrap/igl/smooth_field.h -index e1208cf..a403d54 100644 ---- a/wrap/igl/smooth_field.h -+++ b/wrap/igl/smooth_field.h -@@ -25,7 +25,7 @@ - #define SMOOTHER_FIELD_H - - //eigen stuff --#include -+#include - - //vcg stuff - #include + // add support for unsigned char and short int + namespace Eigen { diff --git a/ports/vcglib/fix-build.patch b/ports/vcglib/fix-build.patch new file mode 100644 index 00000000000000..635805cd22a427 --- /dev/null +++ b/ports/vcglib/fix-build.patch @@ -0,0 +1,13 @@ +diff --git a/vcg/simplex/tetrahedron/pos.h b/vcg/simplex/tetrahedron/pos.h +index d47348ce..078b1f6a 100644 +--- a/vcg/simplex/tetrahedron/pos.h ++++ b/vcg/simplex/tetrahedron/pos.h +@@ -385,7 +385,7 @@ public: + void Assert() + #ifdef _DEBUG + { +- HETYPE ht=*this; ++ BasePosType ht=*this; + ht.FlipT(); + ht.FlipT(); + assert(ht==*this); diff --git a/ports/vcglib/portfile.cmake b/ports/vcglib/portfile.cmake index 1af58bdcb9b2d3..218be4f0ad5c64 100644 --- a/ports/vcglib/portfile.cmake +++ b/ports/vcglib/portfile.cmake @@ -1,13 +1,15 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO cnr-isti-vclab/vcglib - REF v1.0.1 - SHA512 55d1854054744abae2d41e7b5041df89253bae108df5fc1cfe777013de7192dce04bc474475cb11a1d0343ebcab1ea61b381d9d9c36c452528043e85e75bc211 - PATCHES consume-vcpkg-eigen3.patch + REF "${VERSION}" + SHA512 867a4e4e038f2c67000486a207c04a69ae7fa8dff5be73b4bae8a67ae1530faeb8d20915086c334da545b6e3511b4fe6b1135d732f41b632cf3256687882218e + PATCHES + consume-vcpkg-eigen3.patch + fix-build.patch ) -configure_file(${SOURCE_PATH}/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/vcglib/copyright COPYONLY) - file(COPY ${SOURCE_PATH}/vcg/ DESTINATION ${CURRENT_PACKAGES_DIR}/include/vcg) file(COPY ${SOURCE_PATH}/wrap/ DESTINATION ${CURRENT_PACKAGES_DIR}/include/wrap) file(COPY ${SOURCE_PATH}/img/ DESTINATION ${CURRENT_PACKAGES_DIR}/include/img) + +file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/vcglib/vcpkg.json b/ports/vcglib/vcpkg.json index bde2be1d109475..e5321dfe95f670 100644 --- a/ports/vcglib/vcpkg.json +++ b/ports/vcglib/vcpkg.json @@ -1,8 +1,8 @@ { "name": "vcglib", - "version-string": "1.0.1", - "port-version": 1, + "version": "2023.12", "description": "library for manipulation, processing, cleaning, simplifying triangle meshes.", + "license": "GPL-3.0-only", "dependencies": [ "eigen3" ] diff --git a/ports/vcpkg-boost/boost-install.cmake b/ports/vcpkg-boost/boost-install.cmake new file mode 100644 index 00000000000000..9cae95eb19c2d1 --- /dev/null +++ b/ports/vcpkg-boost/boost-install.cmake @@ -0,0 +1,97 @@ +include_guard(GLOBAL) + +function(boost_configure_and_install) + cmake_parse_arguments(PARSE_ARGV 0 "arg" "" "SOURCE_PATH" "OPTIONS") + + string(REPLACE "-" "_" boost_lib_name "${PORT}") + string(REPLACE "boost_" "" boost_lib_name "${boost_lib_name}") + set(boost_lib_name_config "${boost_lib_name}") + + set(headers_only OFF) + if(NOT EXISTS "${arg_SOURCE_PATH}/src" OR Z_VCPKG_BOOST_FORCE_HEADER_ONLY) # regex|system|math are header only and only install libs due to compat + set(headers_only ON) + set(VCPKG_BUILD_TYPE release) + endif() + + set(boost_lib_path "libs/${boost_lib_name}") + if(boost_lib_name MATCHES "numeric") + string(REPLACE "numeric_" "numeric/" boost_lib_path "${boost_lib_path}") + string(REPLACE "numeric_" "numeric/" boost_lib_name "${boost_lib_name}") + elseif(PORT MATCHES "boost-(ublas|odeint|interval)") + set(boost_lib_name_config "numeric_${boost_lib_name}") + set(boost_lib_path "libs/numeric/${boost_lib_name}") + set(boost_lib_name "numeric/${boost_lib_name}") + endif() + + if(NOT EXISTS "${arg_SOURCE_PATH}/libs") # Check for --editable workflow + set(target_path "${arg_SOURCE_PATH}/${boost_lib_path}") + cmake_path(GET target_path PARENT_PATH parent_path) + file(RENAME "${arg_SOURCE_PATH}/" "${arg_SOURCE_PATH}.tmp/") + file(MAKE_DIRECTORY "${parent_path}") + file(RENAME "${arg_SOURCE_PATH}.tmp/" "${target_path}") + endif() + + file(WRITE "${arg_SOURCE_PATH}/CMakeLists.txt" " \ + cmake_minimum_required(VERSION 3.25) \n\ + \n\ + project(Boost VERSION ${VERSION} LANGUAGES CXX) \n\ + \n\ + set(BOOST_SUPERPROJECT_VERSION \${PROJECT_VERSION}) \n\ + set(BOOST_SUPERPROJECT_SOURCE_DIR \"\${PROJECT_SOURCE_DIR}\") \n\ + \n\ + list(APPEND CMAKE_MODULE_PATH \"${CURRENT_INSTALLED_DIR}/share/boost/cmake-build\") \n\ + \n\ + include(BoostRoot) \n\ + ") + + if("${PORT}" MATCHES "boost-(mpi|graph-parallel|property-map-parallel)") + list(APPEND arg_OPTIONS -DBOOST_ENABLE_MPI=ON) + endif() + + if("${PORT}" MATCHES "boost-(python|parameter-python)") + list(APPEND arg_OPTIONS -DBOOST_ENABLE_PYTHON=ON) + endif() + + vcpkg_cmake_configure( + SOURCE_PATH "${arg_SOURCE_PATH}" + OPTIONS + -DBOOST_INCLUDE_LIBRARIES=${boost_lib_name} + -DBOOST_RUNTIME_LINK=${VCPKG_CRT_LINKAGE} + "-DBOOST_INSTALL_INCLUDE_SUBDIR=" + "-DCMAKE_MSVC_DEBUG_INFORMATION_FORMAT=" + ${arg_OPTIONS} + ) + + vcpkg_cmake_install() + + file(GLOB cmake_paths "${CURRENT_PACKAGES_DIR}/lib/cmake/*" LIST_DIRECTORIES true) + file(GLOB cmake_files "${CURRENT_PACKAGES_DIR}/lib/cmake/*" LIST_DIRECTORIES false) + list(REMOVE_ITEM cmake_paths "${cmake_files}" "${CURRENT_PACKAGES_DIR}/lib/cmake/boost_${boost_lib_name_config}-${VERSION}") + foreach(config_path IN LISTS cmake_paths) + string(REPLACE "-${VERSION}" "" config_path "${config_path}") + string(REPLACE "${CURRENT_PACKAGES_DIR}/lib/cmake/" "" config_name "${config_path}") + vcpkg_cmake_config_fixup(PACKAGE_NAME ${config_name} CONFIG_PATH lib/cmake/${config_name}-${VERSION} DO_NOT_DELETE_PARENT_CONFIG_PATH) + endforeach() + if(NOT PORT MATCHES "boost-(stacktrace|test)") + vcpkg_cmake_config_fixup(PACKAGE_NAME boost_${boost_lib_name_config} CONFIG_PATH lib/cmake/boost_${boost_lib_name_config}-${VERSION}) + else() + # These ports have no cmake config agreeing with the port name + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/cmake" "${CURRENT_PACKAGES_DIR}/debug/lib/cmake") + endif() + + if(headers_only) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib" "${CURRENT_PACKAGES_DIR}/debug/lib") + endif() + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share" + "${CURRENT_PACKAGES_DIR}/debug/include" + ) + vcpkg_install_copyright(FILE_LIST "${CURRENT_INSTALLED_DIR}/share/boost-cmake/copyright") + + # Install port specific usage + string(REPLACE "-" "_" PORT_UNDERSCORE "${PORT}") + string(REPLACE "boost_" "" BOOST_PORT_NAME "${PORT_UNDERSCORE}") + if(PORT MATCHES "boost-(ublas|odeint|interval)") + string(PREPEND BOOST_PORT_NAME "numeric_") + endif() + configure_file("${CURRENT_HOST_INSTALLED_DIR}/share/vcpkg-boost/usage.in" "${CURRENT_INSTALLED_DIR}/share/${PORT}/usage") +endfunction() diff --git a/ports/vcpkg-boost/portfile.cmake b/ports/vcpkg-boost/portfile.cmake new file mode 100644 index 00000000000000..c603fd407bba60 --- /dev/null +++ b/ports/vcpkg-boost/portfile.cmake @@ -0,0 +1,8 @@ +file(INSTALL + "${CMAKE_CURRENT_LIST_DIR}/usage.in" + "${CMAKE_CURRENT_LIST_DIR}/boost-install.cmake" + "${CMAKE_CURRENT_LIST_DIR}/vcpkg-port-config.cmake" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") + +vcpkg_install_copyright(FILE_LIST "${VCPKG_ROOT_DIR}/LICENSE.txt") +set(VCPKG_POLICY_CMAKE_HELPER_PORT enabled) diff --git a/ports/vcpkg-boost/usage.in b/ports/vcpkg-boost/usage.in new file mode 100644 index 00000000000000..929ed243b044b3 --- /dev/null +++ b/ports/vcpkg-boost/usage.in @@ -0,0 +1,9 @@ +The package @PORT@ is compatible with built-in CMake targets of FindBoost.cmake: + + find_package(Boost REQUIRED COMPONENTS @BOOST_PORT_NAME@) + target_link_libraries(main PRIVATE Boost::@BOOST_PORT_NAME@) + +or the generated cmake configs via: + + find_package(@PORT_UNDERSCORE@ REQUIRED CONFIG) + target_link_libraries(main PRIVATE Boost::@BOOST_PORT_NAME@) diff --git a/ports/vcpkg-boost/vcpkg-port-config.cmake b/ports/vcpkg-boost/vcpkg-port-config.cmake new file mode 100644 index 00000000000000..990c112645072d --- /dev/null +++ b/ports/vcpkg-boost/vcpkg-port-config.cmake @@ -0,0 +1,5 @@ +include_guard(GLOBAL) + +include("${CURRENT_HOST_INSTALLED_DIR}/share/vcpkg-cmake/vcpkg-port-config.cmake") +include("${CURRENT_HOST_INSTALLED_DIR}/share/vcpkg-cmake-config/vcpkg-port-config.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/boost-install.cmake") diff --git a/ports/vcpkg-boost/vcpkg.json b/ports/vcpkg-boost/vcpkg.json new file mode 100644 index 00000000000000..e85bef9609a268 --- /dev/null +++ b/ports/vcpkg-boost/vcpkg.json @@ -0,0 +1,5 @@ +{ + "name": "vcpkg-boost", + "version-date": "2024-05-15", + "license": "MIT" +} diff --git a/ports/vcpkg-cmake-config/README.md b/ports/vcpkg-cmake-config/README.md deleted file mode 100644 index 18e7bb9ac87083..00000000000000 --- a/ports/vcpkg-cmake-config/README.md +++ /dev/null @@ -1,10 +0,0 @@ -# vcpkg-cmake-config - -`vcpkg-cmake-config` provides `vcpkg_cmake_config_fixup()`, -a function which both: - -- Fixes common mistakes in port build systems, like using absolute paths -- Merges the debug and release config files. - -This function should almost always be used when a port has `*config.cmake` files, -even when the buildsystem of the project is not CMake. diff --git a/ports/vcpkg-cmake-config/vcpkg.json b/ports/vcpkg-cmake-config/vcpkg.json index ae4ba43e39bb3d..6106d323a66788 100644 --- a/ports/vcpkg-cmake-config/vcpkg.json +++ b/ports/vcpkg-cmake-config/vcpkg.json @@ -1,4 +1,6 @@ { "name": "vcpkg-cmake-config", - "version-date": "2021-11-01" + "version-date": "2024-05-23", + "documentation": "https://learn.microsoft.com/vcpkg/maintainers/functions/vcpkg_cmake_config_fixup", + "license": "MIT" } diff --git a/ports/vcpkg-cmake-config/vcpkg_cmake_config_fixup.cmake b/ports/vcpkg-cmake-config/vcpkg_cmake_config_fixup.cmake index f62deeeabe6378..83a1858fae67f8 100644 --- a/ports/vcpkg-cmake-config/vcpkg_cmake_config_fixup.cmake +++ b/ports/vcpkg-cmake-config/vcpkg_cmake_config_fixup.cmake @@ -1,58 +1,7 @@ -#[===[.md: -# vcpkg_cmake_config_fixup - -Merge release and debug CMake targets and configs to support multiconfig generators. - -Additionally corrects common issues with targets, such as absolute paths and incorrectly placed binaries. - -```cmake -vcpkg_cmake_config_fixup( - [PACKAGE_NAME ] - [CONFIG_PATH ] - [DO_NOT_DELETE_PARENT_CONFIG_PATH] - [NO_PREFIX_CORRECTION] -) -``` - -For many ports, `vcpkg_cmake_config_fixup()` on its own should work, -as `PACKAGE_NAME` defaults to `${PORT}` and `CONFIG_PATH` defaults to `share/${PACKAGE_NAME}`. -For ports where the package name passed to `find_package` is distinct from the port name, -`PACKAGE_NAME` should be changed to be that name instead. -For ports where the directory of the `*config.cmake` files cannot be set, -use the `CONFIG_PATH` to change the directory where the files come from. - -By default the parent directory of CONFIG_PATH is removed if it is named "cmake". -Passing the `DO_NOT_DELETE_PARENT_CONFIG_PATH` option disable such behavior, -as it is convenient for ports that install -more than one CMake package configuration file. - -The `NO_PREFIX_CORRECTION` option disables the correction of `_IMPORT_PREFIX` -done by vcpkg due to moving the config files. -Currently the correction does not take into account how the files are moved, -and applies a rather simply correction which in some cases will yield the wrong results. - -## How it Works - -1. Moves `/debug//*targets-debug.cmake` to `/share/${PACKAGE_NAME}`. -2. Removes `/debug//*config.cmake`. -3. Transform all references matching `/bin/*.exe` to `/tools//*.exe` on Windows. -4. Transform all references matching `/bin/*` to `/tools//*` on other platforms. -5. Fixes `${_IMPORT_PREFIX}` in auto generated targets. -6. Replace `${CURRENT_INSTALLED_DIR}` with `${_IMPORT_PREFIX}` in configs and targets. - -## Examples - -* [concurrentqueue](https://github.com/Microsoft/vcpkg/blob/master/ports/concurrentqueue/portfile.cmake) -* [curl](https://github.com/Microsoft/vcpkg/blob/master/ports/curl/portfile.cmake) -* [nlohmann-json](https://github.com/Microsoft/vcpkg/blob/master/ports/nlohmann-json/portfile.cmake) -#]===] -if(Z_VCPKG_CMAKE_CONFIG_FIXUP_GUARD) - return() -endif() -set(Z_VCPKG_CMAKE_CONFIG_FIXUP_GUARD ON CACHE INTERNAL "guard variable") +include_guard(GLOBAL) function(vcpkg_cmake_config_fixup) - cmake_parse_arguments(PARSE_ARGV 0 "arg" "DO_NOT_DELETE_PARENT_CONFIG_PATH;NO_PREFIX_CORRECTION" "PACKAGE_NAME;CONFIG_PATH" "") + cmake_parse_arguments(PARSE_ARGV 0 "arg" "DO_NOT_DELETE_PARENT_CONFIG_PATH;NO_PREFIX_CORRECTION" "PACKAGE_NAME;CONFIG_PATH;TOOLS_PATH" "") if(DEFINED arg_UNPARSED_ARGUMENTS) message(FATAL_ERROR "vcpkg_cmake_config_fixup was passed extra arguments: ${arg_UNPARSED_ARGUMENTS}") @@ -63,6 +12,9 @@ function(vcpkg_cmake_config_fixup) if(NOT arg_CONFIG_PATH) set(arg_CONFIG_PATH "share/${arg_PACKAGE_NAME}") endif() + if(NOT arg_TOOLS_PATH) + set(arg_TOOLS_PATH "tools/${PORT}") + endif() set(target_path "share/${arg_PACKAGE_NAME}") string(REPLACE "." "\\." EXECUTABLE_SUFFIX "${VCPKG_TARGET_EXECUTABLE_SUFFIX}") @@ -130,23 +82,13 @@ function(vcpkg_cmake_config_fixup) endif() endif() - file(GLOB_RECURSE unused_files - "${debug_share}/*[Tt]argets.cmake" - "${debug_share}/*[Cc]onfig.cmake" - "${debug_share}/*[Cc]onfigVersion.cmake" - "${debug_share}/*[Cc]onfig-version.cmake" - ) - foreach(unused_file IN LISTS unused_files) - file(REMOVE "${unused_file}") - endforeach() - file(GLOB_RECURSE release_targets "${release_share}/*-release.cmake" ) foreach(release_target IN LISTS release_targets) file(READ "${release_target}" contents) string(REPLACE "${CURRENT_INSTALLED_DIR}" "\${_IMPORT_PREFIX}" contents "${contents}") - string(REGEX REPLACE "\\\${_IMPORT_PREFIX}/bin/([^ \"]+${EXECUTABLE_SUFFIX})" "\${_IMPORT_PREFIX}/tools/${PORT}/\\1" contents "${contents}") + string(REGEX REPLACE "\\\${_IMPORT_PREFIX}/bin/([^ \"]+${EXECUTABLE_SUFFIX})" "\${_IMPORT_PREFIX}/${arg_TOOLS_PATH}/\\1" contents "${contents}") file(WRITE "${release_target}" "${contents}") endforeach() @@ -159,7 +101,7 @@ function(vcpkg_cmake_config_fixup) file(READ "${debug_target}" contents) string(REPLACE "${CURRENT_INSTALLED_DIR}" "\${_IMPORT_PREFIX}" contents "${contents}") - string(REGEX REPLACE "\\\${_IMPORT_PREFIX}/bin/([^ \";]+${EXECUTABLE_SUFFIX})" "\${_IMPORT_PREFIX}/tools/${PORT}/\\1" contents "${contents}") + string(REGEX REPLACE "\\\${_IMPORT_PREFIX}/bin/([^ \";]+${EXECUTABLE_SUFFIX})" "\${_IMPORT_PREFIX}/${arg_TOOLS_PATH}/\\1" contents "${contents}") string(REPLACE "\${_IMPORT_PREFIX}/lib" "\${_IMPORT_PREFIX}/debug/lib" contents "${contents}") string(REPLACE "\${_IMPORT_PREFIX}/bin" "\${_IMPORT_PREFIX}/debug/bin" contents "${contents}") file(WRITE "${release_share}/${debug_target_rel}" "${contents}") @@ -168,9 +110,17 @@ function(vcpkg_cmake_config_fixup) endforeach() endif() - #Fix ${_IMPORT_PREFIX} in cmake generated targets and configs; - #Since those can be renamed we have to check in every *.cmake + #Fix ${_IMPORT_PREFIX} and absolute paths in cmake generated targets and configs; + #Since those can be renamed we have to check in every *.cmake, but only once. file(GLOB_RECURSE main_cmakes "${release_share}/*.cmake") + if(NOT DEFINED Z_VCPKG_CMAKE_CONFIG_ALREADY_FIXED_UP) + vcpkg_list(SET Z_VCPKG_CMAKE_CONFIG_ALREADY_FIXED_UP) + endif() + foreach(already_fixed_up IN LISTS Z_VCPKG_CMAKE_CONFIG_ALREADY_FIXED_UP) + vcpkg_list(REMOVE_ITEM main_cmakes "${already_fixed_up}") + endforeach() + vcpkg_list(APPEND Z_VCPKG_CMAKE_CONFIG_ALREADY_FIXED_UP ${main_cmakes}) + set(Z_VCPKG_CMAKE_CONFIG_ALREADY_FIXED_UP "${Z_VCPKG_CMAKE_CONFIG_ALREADY_FIXED_UP}" CACHE INTERNAL "") foreach(main_cmake IN LISTS main_cmakes) file(READ "${main_cmake}" contents) @@ -201,26 +151,67 @@ get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)]] contents "${contents}") # This is a meson-related workaround, see https://github.com/mesonbuild/meson/issues/6955 endif() - #Fix wrongly absolute paths to install dir with the correct dir using ${_IMPORT_PREFIX} + # Merge release and debug configurations of target property INTERFACE_LINK_LIBRARIES. + string(REPLACE "${release_share}/" "${debug_share}/" debug_cmake "${main_cmake}") + if(DEFINED VCPKG_BUILD_TYPE) + # Skip. Warning: A release-only port in a dual-config installation + # may pull release dependencies into the debug configuration. + elseif(NOT contents MATCHES "INTERFACE_LINK_LIBRARIES") + # Skip. No relevant properties. + elseif(NOT contents MATCHES "# Generated CMake target import file\\.") + # Skip. No safe assumptions about a matching debug import file. + elseif(NOT EXISTS "${debug_cmake}") + message(SEND_ERROR "Did not find a debug import file matching '${main_cmake}'") + else() + file(READ "${debug_cmake}" debug_contents) + set(remainder "${contents}") + while(remainder) + z_vcpkg_cmake_config_fixup_match_command("${remainder}" "set_target_properties(" matched_command remainder) + if(NOT matched_command MATCHES "set_target_properties[(]([^ \$]*) PROPERTIES.* INTERFACE_LINK_LIBRARIES \"([^\"]*)\"") + continue() + endif() + set(target "${CMAKE_MATCH_1}") + set(release_libs "${CMAKE_MATCH_2}") + z_vcpkg_cmake_config_fixup_match_command("${debug_contents}" "set_target_properties(${target} " debug_command unused) + if(NOT debug_command MATCHES " INTERFACE_LINK_LIBRARIES \"([^\"]*)\"") + message(SEND_ERROR "Did not find a debug configuration for target '${target}'.") + continue() + endif() + set(debug_libs "${CMAKE_MATCH_1}") + z_vcpkg_cmake_config_fixup_merge(merged_libs release_libs debug_libs) + string(REPLACE " INTERFACE_LINK_LIBRARIES \"${release_libs}\"" " INTERFACE_LINK_LIBRARIES \"${merged_libs}\"" updated_command "${matched_command}") + string(REPLACE "${matched_command}" "${updated_command}" contents "${contents}") + endwhile() + endif() + + #Fix absolute paths to installed dir with ones relative to ${CMAKE_CURRENT_LIST_DIR} #This happens if vcpkg built libraries are directly linked to a target instead of using - #an imported target for it. We could add more logic here to identify defect target files. - #Since the replacement here in a multi config build always requires a generator expression - #in front of the absoulte path to ${CURRENT_INSTALLED_DIR}. So the match should always be at - #least >:${CURRENT_INSTALLED_DIR}. - #In general the following generator expressions should be there: - #\$<\$:${CURRENT_INSTALLED_DIR}/debug/lib/somelib> - #and/or - #\$<\$>:${CURRENT_INSTALLED_DIR}/lib/somelib> - #with ${CURRENT_INSTALLED_DIR} being fully expanded - string(REPLACE "${CURRENT_INSTALLED_DIR}" [[${_IMPORT_PREFIX}]] contents "${contents}") - - # Patch out any remaining absolute references + #an imported target. + string(REPLACE "${CURRENT_INSTALLED_DIR}" [[${VCPKG_IMPORT_PREFIX}]] contents "${contents}") file(TO_CMAKE_PATH "${CURRENT_PACKAGES_DIR}" cmake_current_packages_dir) - string(REPLACE "${cmake_current_packages_dir}" [[${_IMPORT_PREFIX}]] contents "${contents}") + string(REPLACE "${cmake_current_packages_dir}" [[${VCPKG_IMPORT_PREFIX}]] contents "${contents}") + # If ${VCPKG_IMPORT_PREFIX} was actually used, inject a definition of it: + string(FIND "${contents}" [[${VCPKG_IMPORT_PREFIX}]] index) + if (NOT index STREQUAL "-1") + get_filename_component(main_cmake_dir "${main_cmake}" DIRECTORY) + # Calculate relative to be a sequence of "../" + file(RELATIVE_PATH relative "${main_cmake_dir}" "${cmake_current_packages_dir}") + string(PREPEND contents "get_filename_component(VCPKG_IMPORT_PREFIX \"\${CMAKE_CURRENT_LIST_DIR}\/${relative}\" ABSOLUTE)\n") + endif() file(WRITE "${main_cmake}" "${contents}") endforeach() + file(GLOB_RECURSE unused_files + "${debug_share}/*[Tt]argets.cmake" + "${debug_share}/*[Cc]onfig.cmake" + "${debug_share}/*[Cc]onfigVersion.cmake" + "${debug_share}/*[Cc]onfig-version.cmake" + ) + foreach(unused_file IN LISTS unused_files) + file(REMOVE "${unused_file}") + endforeach() + # Remove /debug// if it's empty. file(GLOB_RECURSE remaining_files "${debug_share}/*") if(remaining_files STREQUAL "") @@ -234,4 +225,54 @@ get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)]] endif() endfunction() +# Match a command from "" to ")\n". On match, returns the command and +# the remainder from haystack. Otherwise, returns empty values. +function(z_vcpkg_cmake_config_fixup_match_command haystack needle out_match out_remainder) + set(match "") + set(remainder "") + string(FIND "${haystack}" "${needle}" first) + if(NOT first EQUAL "-1") + string(SUBSTRING "${haystack}" ${first} -1 tmp) + string(FIND "${tmp}" ")\n" bound) + if(NOT bound EQUAL "-1") + math(EXPR bound "${bound} + 2") + string(SUBSTRING "${tmp}" 0 ${bound} match) + string(SUBSTRING "${tmp}" "${bound}" -1 remainder) + endif() + endif() + set("${out_match}" "${match}" PARENT_SCOPE) + set("${out_remainder}" "${remainder}" PARENT_SCOPE) +endfunction() +# Merges link interface library lists for release and debug +# into a single expression which use generator expression as necessary. +function(z_vcpkg_cmake_config_fixup_merge out_var release_var debug_var) + set(release_libs "VCPKG;${${release_var}}") + string(REGEX REPLACE ";optimized;([^;]*)" ";\\1" release_libs "${release_libs}") + string(REGEX REPLACE ";debug;([^;]*)" ";" release_libs "${release_libs}") + list(REMOVE_AT release_libs 0) + list(FILTER release_libs EXCLUDE REGEX [[^\\[$]<\\[$]:]]) + list(TRANSFORM release_libs REPLACE [[^\\[$]<\\[$]>:(.*)>$]] "\\1") + + set(debug_libs "VCPKG;${${debug_var}}") + string(REGEX REPLACE ";optimized;([^;]*)" ";" debug_libs "${debug_libs}") + string(REGEX REPLACE ";debug;([^;]*)" ";\\1" debug_libs "${debug_libs}") + list(REMOVE_AT debug_libs 0) + list(FILTER debug_libs EXCLUDE REGEX [[^\\[$]<\\[$]>:]]) + list(TRANSFORM debug_libs REPLACE [[^\\[$]<\\[$]:(.*)>$]] "\\1") + + set(merged_libs "") + foreach(release_lib debug_lib IN ZIP_LISTS release_libs debug_libs) + if(release_lib STREQUAL debug_lib) + list(APPEND merged_libs "${release_lib}") + else() + if(release_lib) + list(APPEND merged_libs "\\\$<\\\$>:${release_lib}>") + endif() + if(debug_lib) + list(APPEND merged_libs "\\\$<\\\$:${debug_lib}>") + endif() + endif() + endforeach() + set("${out_var}" "${merged_libs}" PARENT_SCOPE) +endfunction() diff --git a/ports/vcpkg-cmake-get-vars/cmake_get_vars/CMakeLists.txt b/ports/vcpkg-cmake-get-vars/cmake_get_vars/CMakeLists.txt new file mode 100644 index 00000000000000..71aa1384e7bdb8 --- /dev/null +++ b/ports/vcpkg-cmake-get-vars/cmake_get_vars/CMakeLists.txt @@ -0,0 +1,267 @@ +cmake_minimum_required(VERSION 3.20) + +if(NOT VCPKG_OUTPUT_FILE) + message(FATAL_ERROR "VCPKG_OUTPUT_FILE is required to be defined") +endif() + +if(NOT CMAKE_BUILD_TYPE) + message(FATAL_ERROR "CMAKE_BUILD_TYPE is required to be defined") +else() + string(TOUPPER "${CMAKE_BUILD_TYPE}" VCPKG_CONFIGS) +endif() + +set(VCPKG_LANGUAGES "C;CXX" CACHE STRING "Languages to enables for this project") + +project(get_cmake_vars LANGUAGES ${VCPKG_LANGUAGES}) + + +set(OUTPUT_STRING "# Generator: ${CMAKE_CURRENT_LIST_FILE}\n") + +function(escaped out_var value) + string(REPLACE "\\" "\\\\" value "${value}") + string(REPLACE "\"" "\\\"" value "${value}") + string(REPLACE "\$" "\\\$" value "${value}") + set(${out_var} "${value}" PARENT_SCOPE) +endfunction() + +# Build default checklists +list(APPEND VCPKG_DEFAULT_VARS_TO_CHECK CMAKE_CROSSCOMPILING + CMAKE_SYSTEM_NAME + CMAKE_SYSTEM_VERSION + CMAKE_HOST_SYSTEM_NAME + CMAKE_SYSTEM_PROCESSOR + CMAKE_HOST_SYSTEM_PROCESSOR + CMAKE_SIZEOF_VOID_P + MSVC + MSVC_VERSION) +if(ANDROID) + list(APPEND VCPKG_DEFAULT_VARS_TO_CHECK + CMAKE_ANDROID_ARCH + CMAKE_ANDROID_ARCH_ABI + CMAKE_ANDROID_ARM_MODE + CMAKE_ANDROID_ARM_NEON + CMAKE_ANDROID_NDK + CMAKE_ANDROID_NDK_TOOLCHAIN_HOST_TAG + CMAKE_ANDROID_NDK_TOOLCHAIN_VERSION + CMAKE_ANDROID_NDK_VERSION + CMAKE_ANDROID_STL_TYPE + ) + # Forward legacy variables from older NDKs + if("${CMAKE_ANDROID_ARCH}" STREQUAL "") + set(CMAKE_ANDROID_ARCH "${ANDROID_ARCH_NAME}") + endif() + if("${CMAKE_ANDROID_NDK_TOOLCHAIN_HOST_TAG}" STREQUAL "") + set(CMAKE_ANDROID_NDK_TOOLCHAIN_HOST_TAG "${ANDROID_HOST_TAG}") + endif() + if(CMAKE_SYSTEM_VERSION STREQUAL "1" AND ANDROID_PLATFORM_LEVEL GREATER "1") + set(CMAKE_SYSTEM_VERSION "${ANDROID_PLATFORM_LEVEL}") + endif() +endif() +if(APPLE) + list(APPEND VCPKG_DEFAULT_VARS_TO_CHECK CMAKE_OSX_DEPLOYMENT_TARGET + CMAKE_OSX_SYSROOT) +endif() +# Programs to check +set(PROGLIST AR RANLIB STRIP NM OBJDUMP DLLTOOL MT LINKER) +foreach(prog IN LISTS PROGLIST) + list(APPEND VCPKG_DEFAULT_VARS_TO_CHECK CMAKE_${prog}) +endforeach() +set(COMPILERS ${VCPKG_LANGUAGES} RC) +foreach(prog IN LISTS COMPILERS) + list(APPEND VCPKG_DEFAULT_VARS_TO_CHECK CMAKE_${prog}_COMPILER) + list(APPEND VCPKG_DEFAULT_VARS_TO_CHECK CMAKE_${prog}_COMPILER_ID) + list(APPEND VCPKG_DEFAULT_VARS_TO_CHECK CMAKE_${prog}_COMPILER_VERSION) + list(APPEND VCPKG_DEFAULT_VARS_TO_CHECK CMAKE_${prog}_COMPILER_FRONTEND_VARIANT) +endforeach() +# Variables to check +foreach(_lang IN LISTS VCPKG_LANGUAGES) + list(APPEND VCPKG_DEFAULT_VARS_TO_CHECK CMAKE_${_lang}_STANDARD_INCLUDE_DIRECTORIES) + list(APPEND VCPKG_DEFAULT_VARS_TO_CHECK CMAKE_${_lang}_STANDARD_LIBRARIES) + list(APPEND VCPKG_DEFAULT_VARS_TO_CHECK CMAKE_${_lang}_STANDARD) + list(APPEND VCPKG_DEFAULT_VARS_TO_CHECK CMAKE_${_lang}_COMPILE_FEATURES) + list(APPEND VCPKG_DEFAULT_VARS_TO_CHECK CMAKE_${_lang}_EXTENSION) + list(APPEND VCPKG_DEFAULT_VARS_TO_CHECK CMAKE_${_lang}_COMPILER_TARGET) + # Probably never required since implicit. + #list(APPEND VCPKG_DEFAULT_VARS_TO_CHECK CMAKE_${_lang}_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES) + #list(APPEND VCPKG_DEFAULT_VARS_TO_CHECK CMAKE_${_lang}_IMPLICIT_INCLUDE_DIRECTORIES) + #list(APPEND VCPKG_DEFAULT_VARS_TO_CHECK CMAKE_${_lang}_IMPLICIT_LINK_DIRECTORIES) + #list(APPEND VCPKG_DEFAULT_VARS_TO_CHECK CMAKE_${_lang}_IMPLICIT_LINK_LIBRARIES) +endforeach() +list(REMOVE_DUPLICATES VCPKG_DEFAULT_VARS_TO_CHECK) + +# Environment variables to check. +list(APPEND VCPKG_DEFAULT_ENV_VARS_TO_CHECK PATH INCLUDE C_INCLUDE_PATH CPLUS_INCLUDE_PATH LIB LIBPATH LIBRARY_PATH LD_LIBRARY_PATH) +list(REMOVE_DUPLICATES VCPKG_DEFAULT_ENV_VARS_TO_CHECK) + +#Flags to check. Flags are a bit special since they are configuration aware. +set(FLAGS ${VCPKG_LANGUAGES} RC SHARED_LINKER STATIC_LINKER EXE_LINKER) +foreach(flag IN LISTS FLAGS) + list(APPEND VCPKG_DEFAULT_FLAGS_TO_CHECK CMAKE_${flag}_FLAGS) +endforeach() +list(REMOVE_DUPLICATES VCPKG_DEFAULT_FLAGS_TO_CHECK) + +#Language-specific flags. +foreach(_lang IN LISTS VCPKG_LANGUAGES) + list(APPEND VCPKG_LANG_FLAGS CMAKE_${_lang}_FLAGS) +endforeach() +list(REMOVE_DUPLICATES VCPKG_LANG_FLAGS) + +# TODO if ever necessary: Properties to check + +set(VCPKG_VAR_PREFIX "VCPKG_DETECTED" CACHE STRING "Variable prefix to use for detected flags") +set(VCPKG_VARS_TO_CHECK "${VCPKG_DEFAULT_VARS_TO_CHECK}" CACHE STRING "Variables to check. If not given there is a list of defaults") +set(VCPKG_FLAGS_TO_CHECK "${VCPKG_DEFAULT_FLAGS_TO_CHECK}" CACHE STRING "Variables to check. If not given there is a list of defaults") +set(VCPKG_ENV_VARS_TO_CHECK "${VCPKG_DEFAULT_ENV_VARS_TO_CHECK}" CACHE STRING "Variables to check. If not given there is a list of defaults") + +foreach(VAR IN LISTS VCPKG_VARS_TO_CHECK VCPKG_FLAGS_TO_CHECK) + escaped(value "${${VAR}}") + string(APPEND OUTPUT_STRING "set(${VCPKG_VAR_PREFIX}_${VAR} \"${value}\")\n") +endforeach() + +foreach(_env IN LISTS VCPKG_ENV_VARS_TO_CHECK) + if(CMAKE_HOST_WIN32) + string(REPLACE "\\" "/" value "$ENV{${_env}}") + escaped(value "${value}") + else() + escaped(value "$ENV{${_env}}") + endif() + string(APPEND OUTPUT_STRING "set(${VCPKG_VAR_PREFIX}_ENV_${_env} \"${value}\")\n") +endforeach() + +set(EXTRA_FLAGS "") + +if(APPLE) + if(CMAKE_OSX_SYSROOT) + string(APPEND EXTRA_FLAGS " -isysroot \"${CMAKE_OSX_SYSROOT}\"") + endif() + foreach(arch IN LISTS CMAKE_OSX_ARCHITECTURES) + string(APPEND EXTRA_FLAGS " -arch ${arch}") + endforeach() + if(CMAKE_OSX_DEPLOYMENT_TARGET) + list(GET VCPKG_LANGUAGES 0 lang) + string(APPEND EXTRA_FLAGS " ${CMAKE_${lang}_OSX_DEPLOYMENT_TARGET_FLAG}${CMAKE_OSX_DEPLOYMENT_TARGET}") + unset(lang) + endif() +endif() +set(target_param "") +list(GET VCPKG_LANGUAGES 0 lang) +if(CMAKE_${lang}_COMPILER_TARGET) + if (CMAKE_${lang}_COMPILER_ID STREQUAL Clang) + set(target_param "${CMAKE_${lang}_COMPILE_OPTIONS_TARGET}${CMAKE_${lang}_COMPILER_TARGET}") + elseif(CMAKE_${lang}_COMPILE_OPTIONS_TARGET) + set(target_param "${CMAKE_${lang}_COMPILE_OPTIONS_TARGET} ${CMAKE_${lang}_COMPILER_TARGET}") + endif() +endif() +if(CMAKE_CXX_COMPILER_EXTERNAL_TOOLCHAIN) + if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang") + string(APPEND EXTRA_FLAGS " \"${CMAKE_CXX_COMPILE_OPTIONS_EXTERNAL_TOOLCHAIN}${CMAKE_CXX_COMPILER_EXTERNAL_TOOLCHAIN}\"") + else() + string(APPEND EXTRA_FLAGS " ${CMAKE_CXX_COMPILE_OPTIONS_EXTERNAL_TOOLCHAIN} \"${CMAKE_CXX_COMPILER_EXTERNAL_TOOLCHAIN}\"") + endif() +endif() + +set(extra_flags_compile "") +set(extra_flags_link "") +if(CMAKE_CXX_COMPILE_OPTIONS_SYSROOT) + if(CMAKE_SYSROOT_COMPILE) + string(APPEND extra_flags_compile " \"${CMAKE_CXX_COMPILE_OPTIONS_SYSROOT}${CMAKE_SYSROOT_COMPILE}\"") + elseif(CMAKE_SYSROOT) + string(APPEND extra_flags_compile " \"${CMAKE_CXX_COMPILE_OPTIONS_SYSROOT}${CMAKE_SYSROOT}\"") + endif() + + if(CMAKE_SYSROOT_LINK) + string(APPEND extra_flags_link " \"${CMAKE_CXX_COMPILE_OPTIONS_SYSROOT}${CMAKE_SYSROOT_LINK}\"") + elseif(CMAKE_SYSROOT) + string(APPEND extra_flags_link " \"${CMAKE_CXX_COMPILE_OPTIONS_SYSROOT}${CMAKE_SYSROOT}\"") + endif() +endif() + +set(flags_to_add_target_compile "${VCPKG_LANGUAGES}") +set(flags_to_add_target_link SHARED_LINKER EXE_LINKER STATIC_LINKER MODULE_LINKER) + +foreach(flags IN LISTS flags_to_add_target_compile flags_to_add_target_link) + set(${flags}_FLAGS "${target_param} ${CMAKE_${flags}_FLAGS} ${CMAKE_${flags}_FLAGS_${VCPKG_CONFIGS}} ${EXTRA_FLAGS}") +endforeach() + +foreach(flags IN LISTS flags_to_add_target_compile) + string(APPEND ${flags}_FLAGS " ${extra_flags_compile}") + string(STRIP ${flags}_FLAGS "${${flags}_FLAGS}") +endforeach() + +foreach(flags IN LISTS flags_to_add_target_link) + string(APPEND ${flags}_FLAGS " ${extra_flags_link}") + string(STRIP ${flags}_FLAGS "${${flags}_FLAGS}") +endforeach() + +foreach(flags STATIC_LINKER RC) + set(${flags}_FLAGS "${CMAKE_${flags}_FLAGS} ${CMAKE_${flags}_FLAGS_${VCPKG_CONFIGS}}") + string(STRIP ${flags}_FLAGS "${${flags}_FLAGS}") +endforeach() + +foreach(incdir IN LISTS CMAKE_CXX_STANDARD_INCLUDE_DIRECTORIES) + string(APPEND CXX_FLAGS " \"${CMAKE_INCLUDE_FLAG_CXX}${incdir}\"") +endforeach() + +foreach(incdir IN LISTS CMAKE_C_STANDARD_INCLUDE_DIRECTORIES) + string(APPEND C_FLAGS " \"${CMAKE_INCLUDE_FLAG_C}${incdir}\"") +endforeach() + +foreach(flag ${VCPKG_LANGUAGES} SHARED_LINKER EXE_LINKER STATIC_LINKER MODULE_LINKER RC) + # When using MSVC, maybe transform /flags to -flags. + # When cross compiling, "/flags" may be an absolute path starting with /, so don't transform. + # Otherwise, transform to improve compatibility with scripts interpreting "/flags" as a path. + if(MSVC AND "${CMAKE_HOST_SYSTEM_NAME}" MATCHES "Windows") + # This implementation is imperfect because it fails on directories with trailing spaces, + # but those are rare. + string(REGEX REPLACE "(^| )/" "\\1-" ${flag}_FLAGS "${${flag}_FLAGS}") + if(CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + if("${flag}" STREQUAL "CXX") + string(APPEND ${flag}_FLAGS " -ZW:nostdlib") + endif() + endif() + endif() + escaped(value "${${flag}_FLAGS}") + string(APPEND OUTPUT_STRING "set(VCPKG_COMBINED_${flag}_FLAGS_${VCPKG_CONFIGS} \"${value}\")\n") +endforeach() + +file(WRITE "${VCPKG_OUTPUT_FILE}" "${OUTPUT_STRING}") + +# Programs: +# CMAKE_AR +# CMAKE__COMPILER_AR (Wrapper) +# CMAKE_RANLIB +# CMAKE__COMPILER_RANLIB +# CMAKE_STRIP +# CMAKE_NM +# CMAKE_OBJDUMP +# CMAKE_DLLTOOL +# CMAKE_MT +# CMAKE_LINKER +# CMAKE_C_COMPILER +# CMAKE_CXX_COMPILER +# CMAKE_RC_COMPILER + +# Program details: +# CMAKE__COMPILER_ID +# CMAKE__COMPILER_VERSION +# MSVC +# MSVC_VERSION + +# Flags: +# CMAKE__FLAGS +# CMAKE__FLAGS_ +# CMAKE_RC_FLAGS +# CMAKE_SHARED_LINKER_FLAGS +# CMAKE_SHARED_LINKER_FLAGS_ +# CMAKE_STATIC_LINKER_FLAGS +# CMAKE_STATIC_LINKER_FLAGS_ +# CMAKE_EXE_LINKER_FLAGS +# CMAKE_EXE_LINKER_FLAGS_ + +# Additional information: +# CMAKE_SIZEOF_VOID_P +# CMAKE_CROSSCOMPILING +# CMAKE_SYSTEM_NAME +# CMAKE_HOST_SYSTEM_NAME +# CMAKE_SYSTEM_PROCESSOR +# CMAKE_HOST_SYSTEM_PROCESSOR diff --git a/ports/vcpkg-cmake-get-vars/portfile.cmake b/ports/vcpkg-cmake-get-vars/portfile.cmake new file mode 100644 index 00000000000000..4f3183adfd34ee --- /dev/null +++ b/ports/vcpkg-cmake-get-vars/portfile.cmake @@ -0,0 +1,14 @@ +if(VCPKG_CROSSCOMPILING) + # make FATAL_ERROR in CI when issue #16773 fixed + message(WARNING "vcpkg-cmake-get-vars is a host-only port; please mark it as a host port in your dependencies.") +endif() + +file(INSTALL + "${CMAKE_CURRENT_LIST_DIR}/vcpkg_cmake_get_vars.cmake" + "${CMAKE_CURRENT_LIST_DIR}/cmake_get_vars" + "${CMAKE_CURRENT_LIST_DIR}/vcpkg-port-config.cmake" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") + +file(INSTALL "${VCPKG_ROOT_DIR}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +set(VCPKG_POLICY_CMAKE_HELPER_PORT enabled) + diff --git a/ports/vcpkg-cmake-get-vars/vcpkg-port-config.cmake b/ports/vcpkg-cmake-get-vars/vcpkg-port-config.cmake new file mode 100644 index 00000000000000..d5b5c2b1ca7406 --- /dev/null +++ b/ports/vcpkg-cmake-get-vars/vcpkg-port-config.cmake @@ -0,0 +1,2 @@ +include("${CMAKE_CURRENT_LIST_DIR}/../vcpkg-cmake/vcpkg-port-config.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/vcpkg_cmake_get_vars.cmake") diff --git a/ports/vcpkg-cmake-get-vars/vcpkg.json b/ports/vcpkg-cmake-get-vars/vcpkg.json new file mode 100644 index 00000000000000..5396be4f4d7207 --- /dev/null +++ b/ports/vcpkg-cmake-get-vars/vcpkg.json @@ -0,0 +1,12 @@ +{ + "name": "vcpkg-cmake-get-vars", + "version-date": "2024-09-22", + "documentation": "https://vcpkg.io/en/docs/README.html", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] +} diff --git a/ports/vcpkg-cmake-get-vars/vcpkg_cmake_get_vars.cmake b/ports/vcpkg-cmake-get-vars/vcpkg_cmake_get_vars.cmake new file mode 100644 index 00000000000000..8ce706bdf965ed --- /dev/null +++ b/ports/vcpkg-cmake-get-vars/vcpkg_cmake_get_vars.cmake @@ -0,0 +1,34 @@ +include_guard(GLOBAL) + +set(Z_VCPKG_CMAKE_GET_VARS_CURRENT_LIST_DIR "${CMAKE_CURRENT_LIST_DIR}" CACHE INTERNAL "") + +function(vcpkg_cmake_get_vars out_file) + cmake_parse_arguments(PARSE_ARGV 1 arg "" "" "") + + if(DEFINED arg_UNPARSED_ARGUMENTS) + message(FATAL_ERROR "${CMAKE_CURRENT_FUNCTION} was passed extra arguments: ${arg_UNPARSED_ARGUMENTS}") + endif() + + if(NOT DEFINED CACHE{Z_VCPKG_CMAKE_GET_VARS_FILE}) + set(Z_VCPKG_CMAKE_GET_VARS_FILE "${CURRENT_BUILDTREES_DIR}/cmake-get-vars-${TARGET_TRIPLET}.cmake.log" + CACHE PATH "The file to include to access the CMake variables from a generated project.") + vcpkg_cmake_configure( + SOURCE_PATH "${Z_VCPKG_CMAKE_GET_VARS_CURRENT_LIST_DIR}/cmake_get_vars" + OPTIONS_DEBUG "-DVCPKG_OUTPUT_FILE:PATH=${CURRENT_BUILDTREES_DIR}/cmake-get-vars-${TARGET_TRIPLET}-dbg.cmake.log" + OPTIONS_RELEASE "-DVCPKG_OUTPUT_FILE:PATH=${CURRENT_BUILDTREES_DIR}/cmake-get-vars-${TARGET_TRIPLET}-rel.cmake.log" + LOGFILE_BASE cmake-get-vars-${TARGET_TRIPLET} + Z_CMAKE_GET_VARS_USAGE # be quiet, don't set variables... + ) + + set(include_string "") + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + string(APPEND include_string "include(\"\${CMAKE_CURRENT_LIST_DIR}/cmake-get-vars-${TARGET_TRIPLET}-rel.cmake.log\")\n") + endif() + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + string(APPEND include_string "include(\"\${CMAKE_CURRENT_LIST_DIR}/cmake-get-vars-${TARGET_TRIPLET}-dbg.cmake.log\")\n") + endif() + file(WRITE "${Z_VCPKG_CMAKE_GET_VARS_FILE}" "${include_string}") + endif() + + set("${out_file}" "${Z_VCPKG_CMAKE_GET_VARS_FILE}" PARENT_SCOPE) +endfunction() diff --git a/ports/vcpkg-cmake/README.md b/ports/vcpkg-cmake/README.md deleted file mode 100644 index b84c58869c8e27..00000000000000 --- a/ports/vcpkg-cmake/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# vcpkg-cmake - -This port contains cmake functions for dealing with a CMake buildsystem. - -In the common case, `vcpkg_cmake_configure()` (with appropriate arguments) -followed by `vcpkg_cmake_install()` will be enough to build and install a port. -`vcpkg_cmake_build()` is provided for more complex cases. diff --git a/ports/vcpkg-cmake/cmake_get_vars/CMakeLists.txt b/ports/vcpkg-cmake/cmake_get_vars/CMakeLists.txt deleted file mode 100644 index 084042fb116ab2..00000000000000 --- a/ports/vcpkg-cmake/cmake_get_vars/CMakeLists.txt +++ /dev/null @@ -1,148 +0,0 @@ -cmake_minimum_required(VERSION 3.20) - -set(VCPKG_LANGUAGES "C;CXX" CACHE STRING "Languages to enables for this project") - -set(OUTPUT_STRING) -# Build default checklists -list(APPEND VCPKG_DEFAULT_VARS_TO_CHECK CMAKE_CROSSCOMPILING - CMAKE_SYSTEM_NAME - CMAKE_HOST_SYSTEM_NAME - CMAKE_SYSTEM_PROCESSOR - CMAKE_HOST_SYSTEM_PROCESSOR) -if(CMAKE_SYSTEM_NAME MATCHES "Darwin") - list(APPEND VCPKG_DEFAULT_VARS_TO_CHECK CMAKE_OSX_DEPLOYMENT_TARGET - CMAKE_OSX_SYSROOT) -endif() -# Programs to check -set(PROGLIST AR RANLIB STRIP NM OBJDUMP DLLTOOL MT LINKER) -foreach(prog IN LISTS PROGLIST) - list(APPEND VCPKG_DEFAULT_VARS_TO_CHECK CMAKE_${prog}) -endforeach() -set(COMPILERS ${VCPKG_LANGUAGES} RC) -foreach(prog IN LISTS COMPILERS) - list(APPEND VCPKG_DEFAULT_VARS_TO_CHECK CMAKE_${prog}_COMPILER) -endforeach() -# Variables to check -foreach(_lang IN LISTS VCPKG_LANGUAGES) - list(APPEND VCPKG_DEFAULT_VARS_TO_CHECK CMAKE_${_lang}_STANDARD_INCLUDE_DIRECTORIES) - list(APPEND VCPKG_DEFAULT_VARS_TO_CHECK CMAKE_${_lang}_STANDARD_LIBRARIES) - list(APPEND VCPKG_DEFAULT_VARS_TO_CHECK CMAKE_${_lang}_STANDARD) - list(APPEND VCPKG_DEFAULT_VARS_TO_CHECK CMAKE_${_lang}_COMPILE_FEATURES) - list(APPEND VCPKG_DEFAULT_VARS_TO_CHECK CMAKE_${_lang}_EXTENSION) - # Probably never required since implicit. - #list(APPEND VCPKG_DEFAULT_VARS_TO_CHECK CMAKE_${_lang}_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES) - #list(APPEND VCPKG_DEFAULT_VARS_TO_CHECK CMAKE_${_lang}_IMPLICIT_INCLUDE_DIRECTORIES) - #list(APPEND VCPKG_DEFAULT_VARS_TO_CHECK CMAKE_${_lang}_IMPLICIT_LINK_DIRECTORIES) - #list(APPEND VCPKG_DEFAULT_VARS_TO_CHECK CMAKE_${_lang}_IMPLICIT_LINK_LIBRARIES) -endforeach() -list(REMOVE_DUPLICATES VCPKG_DEFAULT_VARS_TO_CHECK) - -# Environment variables to check. -list(APPEND VCPKG_DEFAULT_ENV_VARS_TO_CHECK PATH INCLUDE C_INCLUDE_PATH CPLUS_INCLUDE_PATH LIB LIBPATH LIBRARY_PATH LD_LIBRARY_PATH) -list(REMOVE_DUPLICATES VCPKG_DEFAULT_ENV_VARS_TO_CHECK) - -#Flags to check. Flags are a bit special since they are configuration aware. -set(FLAGS ${VCPKG_LANGUAGES} RC SHARED_LINKER STATIC_LINKER EXE_LINKER) -foreach(flag IN LISTS FLAGS) - list(APPEND VCPKG_DEFAULT_FLAGS_TO_CHECK CMAKE_${flag}_FLAGS) -endforeach() -list(REMOVE_DUPLICATES VCPKG_DEFAULT_FLAGS_TO_CHECK) - -#Language-specific flags. -foreach(_lang IN LISTS VCPKG_LANGUAGES) - list(APPEND VCPKG_LANG_FLAGS CMAKE_${_lang}_FLAGS) -endforeach() -list(REMOVE_DUPLICATES VCPKG_LANG_FLAGS) - -# TODO if ever necessary: Properties to check - -set(VCPKG_VAR_PREFIX "VCPKG_DETECTED" CACHE STRING "Variable prefix to use for detected flags") -set(VCPKG_VARS_TO_CHECK "${VCPKG_DEFAULT_VARS_TO_CHECK}" CACHE STRING "Variables to check. If not given there is a list of defaults") -set(VCPKG_FLAGS_TO_CHECK "${VCPKG_DEFAULT_FLAGS_TO_CHECK}" CACHE STRING "Variables to check. If not given there is a list of defaults") -set(VCPKG_ENV_VARS_TO_CHECK "${VCPKG_DEFAULT_ENV_VARS_TO_CHECK}" CACHE STRING "Variables to check. If not given there is a list of defaults") - -if(NOT VCPKG_OUTPUT_FILE) - message(FATAL_ERROR "VCPKG_OUTPUT_FILE is required to be defined") -endif() - -if(NOT CMAKE_BUILD_TYPE) - message(FATAL_ERROR "CMAKE_BUILD_TYPE is required to be defined") -else() - string(TOUPPER "${CMAKE_BUILD_TYPE}" VCPKG_CONFIGS) -endif() - - -project(get_cmake_vars LANGUAGES ${VCPKG_LANGUAGES}) - -foreach(VAR IN LISTS VCPKG_VARS_TO_CHECK) - string(APPEND OUTPUT_STRING "set(${VCPKG_VAR_PREFIX}_${VAR} \"${${VAR}}\")\n") -endforeach() - -foreach(_env IN LISTS VCPKG_ENV_VARS_TO_CHECK) - if(CMAKE_HOST_WIN32) - string(REPLACE "\\" "/" ENV_${_env} "$ENV{${_env}}") - string(APPEND OUTPUT_STRING "set(${VCPKG_VAR_PREFIX}_ENV_${_env} \"${ENV_${_env}}\")\n") - else() - string(APPEND OUTPUT_STRING "set(${VCPKG_VAR_PREFIX}_ENV_${_env} \"$ENV{${_env}}\")\n") - endif() -endforeach() - -macro(_vcpkg_adjust_flags flag_var) - if(MSVC) # Transform MSVC /flags to -flags due to bash scripts intepreting /flag as a path. - string(REGEX REPLACE "(^| )/" "\\1-" ${flag_var} "${${flag_var}}") - endif() - if(CMAKE_SYSTEM_NAME MATCHES "Darwin") - if("${flag_var}" IN_LIST VCPKG_LANG_FLAGS) - # macOS - append arch and isysroot if cross-compiling - if(NOT "${CMAKE_OSX_ARCHITECTURES}" STREQUAL "${CMAKE_HOST_SYSTEM_PROCESSOR}") - - foreach(arch IN LISTS CMAKE_OSX_ARCHITECTURES) - string(APPEND ${flag_var} " -arch ${arch}") - endforeach() - string(APPEND ${flag_var} " -isysroot ${CMAKE_OSX_SYSROOT}") - endif() - endif() - endif() -endmacro() - -foreach(flag IN LISTS VCPKG_FLAGS_TO_CHECK) - string(STRIP "${${flag}}" ${flag}) # Strip leading and trailing whitespaces - _vcpkg_adjust_flags(${flag}) - string(APPEND OUTPUT_STRING "set(${VCPKG_VAR_PREFIX}_RAW_${flag} \" ${${flag}}\")\n") - foreach(config IN LISTS VCPKG_CONFIGS) - string(STRIP "${${flag}_${config}}" ${flag}_${config}) - _vcpkg_adjust_flags(${flag}_${config}) - string(APPEND OUTPUT_STRING "set(${VCPKG_VAR_PREFIX}_RAW_${flag}_${config} \"${CMAKE_${flag}_FLAGS_${config}}\")\n") - set(COMBINED_${flag}_${config} "${${flag}} ${${flag}_${config}}") - string(STRIP "${COMBINED_${flag}_${config}}" COMBINED_${flag}_${config}) - string(APPEND OUTPUT_STRING "set(${VCPKG_VAR_PREFIX}_${flag}_${config} \"${COMBINED_${flag}_${config}}\")\n") - endforeach() -endforeach() - - -file(WRITE "${VCPKG_OUTPUT_FILE}" "${OUTPUT_STRING}") - -# Programs: -# CMAKE_AR -# CMAKE__COMPILER_AR (Wrapper) -# CMAKE_RANLIB -# CMAKE__COMPILER_RANLIB -# CMAKE_STRIP -# CMAKE_NM -# CMAKE_OBJDUMP -# CMAKE_DLLTOOL -# CMAKE_MT -# CMAKE_LINKER -# CMAKE_C_COMPILER -# CMAKE_CXX_COMPILER -# CMAKE_RC_COMPILER - -# Flags: -# CMAKE__FLAGS -# CMAKE__FLAGS_ -# CMAKE_RC_FLAGS -# CMAKE_SHARED_LINKER_FLAGS -# CMAKE_STATIC_LINKER_FLAGS -# CMAKE_STATIC_LINKER_FLAGS_ -# CMAKE_EXE_LINKER_FLAGS -# CMAKE_EXE_LINKER_FLAGS_ diff --git a/ports/vcpkg-cmake/portfile.cmake b/ports/vcpkg-cmake/portfile.cmake index afc1ffbb47c81f..0b7dd502017ef7 100644 --- a/ports/vcpkg-cmake/portfile.cmake +++ b/ports/vcpkg-cmake/portfile.cmake @@ -1,4 +1,4 @@ -if(NOT TARGET_TRIPLET STREQUAL _HOST_TRIPLET) +if(VCPKG_CROSSCOMPILING) # make FATAL_ERROR in CI when issue #16773 fixed message(WARNING "vcpkg-cmake is a host-only port; please mark it as a host port in your dependencies.") endif() @@ -7,10 +7,8 @@ file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/vcpkg_cmake_configure.cmake" "${CMAKE_CURRENT_LIST_DIR}/vcpkg_cmake_build.cmake" "${CMAKE_CURRENT_LIST_DIR}/vcpkg_cmake_install.cmake" - "${CMAKE_CURRENT_LIST_DIR}/vcpkg_cmake_get_vars.cmake" - "${CMAKE_CURRENT_LIST_DIR}/cmake_get_vars" "${CMAKE_CURRENT_LIST_DIR}/vcpkg-port-config.cmake" - "${CMAKE_CURRENT_LIST_DIR}/copyright" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -set(VCPKG_POLICY_EMPTY_PACKAGE enabled) +file(INSTALL "${VCPKG_ROOT_DIR}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +set(VCPKG_POLICY_CMAKE_HELPER_PORT enabled) diff --git a/ports/vcpkg-cmake/vcpkg-port-config.cmake b/ports/vcpkg-cmake/vcpkg-port-config.cmake index 2eb9f372339010..f2a973d4ebcba6 100644 --- a/ports/vcpkg-cmake/vcpkg-port-config.cmake +++ b/ports/vcpkg-cmake/vcpkg-port-config.cmake @@ -1,4 +1,3 @@ include("${CMAKE_CURRENT_LIST_DIR}/vcpkg_cmake_configure.cmake") include("${CMAKE_CURRENT_LIST_DIR}/vcpkg_cmake_build.cmake") include("${CMAKE_CURRENT_LIST_DIR}/vcpkg_cmake_install.cmake") -include("${CMAKE_CURRENT_LIST_DIR}/vcpkg_cmake_get_vars.cmake") diff --git a/ports/vcpkg-cmake/vcpkg.json b/ports/vcpkg-cmake/vcpkg.json index 49b1387178e8c5..fa484eafc5a76a 100644 --- a/ports/vcpkg-cmake/vcpkg.json +++ b/ports/vcpkg-cmake/vcpkg.json @@ -1,4 +1,6 @@ { "name": "vcpkg-cmake", - "version-date": "2021-09-13" + "version-date": "2024-04-23", + "documentation": "https://learn.microsoft.com/vcpkg/maintainers/functions/vcpkg_cmake_configure", + "license": "MIT" } diff --git a/ports/vcpkg-cmake/vcpkg_cmake_build.cmake b/ports/vcpkg-cmake/vcpkg_cmake_build.cmake index ef27a6c91bf3f3..47933b3fe9f89c 100644 --- a/ports/vcpkg-cmake/vcpkg_cmake_build.cmake +++ b/ports/vcpkg-cmake/vcpkg_cmake_build.cmake @@ -1,40 +1,4 @@ -#[===[.md: -# vcpkg_cmake_build - -Build a cmake project. - -```cmake -vcpkg_cmake_build( - [TARGET ] - [LOGFILE_BASE ] - [DISABLE_PARALLEL] - [ADD_BIN_TO_PATH] -) -``` - -`vcpkg_cmake_build` builds an already-configured cmake project. -You can use the alias [`vcpkg_cmake_install()`] function -if your CMake build system supports the `install` TARGET, -and this is something we recommend doing whenever possible. -Otherwise, you can use `TARGET` to set the target to build. -This function defaults to not passing a target to cmake. - -`LOGFILE_BASE` is used to set the base of the logfile names; -by default, this is `build`, and thus the logfiles end up being something like -`build-x86-windows-dbg.log`; if you use `vcpkg_cmake_install`, -this is set to `install`, so you'll get log names like `install-x86-windows-dbg.log`. - -For build systems that are buggy when run in parallel, -using `DISABLE_PARALLEL` will run the build with only one job. - -Finally, `ADD_BIN_TO_PATH` adds the appropriate (either release or debug) -`bin/` directories to the path during the build, -such that executables run during the build will be able to access those DLLs. -#]===] -if(Z_VCPKG_CMAKE_BUILD_GUARD) - return() -endif() -set(Z_VCPKG_CMAKE_BUILD_GUARD ON CACHE INTERNAL "guard variable") +include_guard(GLOBAL) function(vcpkg_cmake_build) cmake_parse_arguments(PARSE_ARGV 0 "arg" "DISABLE_PARALLEL;ADD_BIN_TO_PATH" "TARGET;LOGFILE_BASE" "") @@ -45,70 +9,82 @@ function(vcpkg_cmake_build) if(NOT DEFINED arg_LOGFILE_BASE) set(arg_LOGFILE_BASE "build") endif() - - set(build_args) - set(target_args) - set(parallel_args) - set(no_parallel_args) - - if(Z_VCPKG_CMAKE_GENERATOR STREQUAL "Ninja") - set(build_args "-v") # verbose output - set(parallel_args "-j${VCPKG_CONCURRENCY}") - set(no_parallel_args "-j1") - elseif(Z_VCPKG_CMAKE_GENERATOR MATCHES "^Visual Studio") - set(build_args + vcpkg_list(SET build_param) + vcpkg_list(SET parallel_param) + vcpkg_list(SET no_parallel_param) + + if("${Z_VCPKG_CMAKE_GENERATOR}" STREQUAL "Ninja") + vcpkg_list(SET build_param "-v") # verbose output + vcpkg_list(SET parallel_param "-j${VCPKG_CONCURRENCY}") + vcpkg_list(SET no_parallel_param "-j1") + elseif("${Z_VCPKG_CMAKE_GENERATOR}" MATCHES "^Visual Studio") + vcpkg_list(SET build_param "/p:VCPkgLocalAppDataDisabled=true" "/p:UseIntelMKL=No" ) - set(parallel_args "/m") - elseif(Z_VCPKG_CMAKE_GENERATOR STREQUAL "NMake Makefiles") + vcpkg_list(SET parallel_param "/m") + elseif("${Z_VCPKG_CMAKE_GENERATOR}" STREQUAL "NMake Makefiles") # No options are currently added for nmake builds + elseif(Z_VCPKG_CMAKE_GENERATOR STREQUAL "Unix Makefiles") + vcpkg_list(SET build_param "VERBOSE=1") + vcpkg_list(SET parallel_param "-j${VCPKG_CONCURRENCY}") + vcpkg_list(SET no_parallel_param "") + elseif(Z_VCPKG_CMAKE_GENERATOR STREQUAL "Xcode") + vcpkg_list(SET parallel_param -jobs "${VCPKG_CONCURRENCY}") + vcpkg_list(SET no_parallel_param -jobs 1) else() - message(FATAL_ERROR "Unrecognized GENERATOR setting from vcpkg_configure_cmake(). Valid generators are: Ninja, Visual Studio, and NMake Makefiles") + message(WARNING "Unrecognized GENERATOR setting from vcpkg_cmake_configure().") endif() - if(DEFINED arg_TARGET) - set(target_args "--target" "${arg_TARGET}") + vcpkg_list(SET target_param) + if(arg_TARGET) + vcpkg_list(SET target_param "--target" "${arg_TARGET}") endif() - foreach(buildtype IN ITEMS debug release) - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL buildtype) - if(buildtype STREQUAL "debug") - set(short_buildtype "dbg") - set(cmake_config "Debug") + foreach(build_type IN ITEMS debug release) + if(NOT DEFINED VCPKG_BUILD_TYPE OR "${VCPKG_BUILD_TYPE}" STREQUAL "${build_type}") + if("${build_type}" STREQUAL "debug") + set(short_build_type "dbg") + set(config "Debug") else() - set(short_buildtype "rel") - set(cmake_config "Release") + set(short_build_type "rel") + set(config "Release") endif() - message(STATUS "Building ${TARGET_TRIPLET}-${short_buildtype}") + message(STATUS "Building ${TARGET_TRIPLET}-${short_build_type}") if(arg_ADD_BIN_TO_PATH) - set(env_path_backup "$ENV{PATH}") - if(buildtype STREQUAL "debug") + vcpkg_backup_env_variables(VARS PATH) + if("${build_type}" STREQUAL "debug") vcpkg_add_to_path(PREPEND "${CURRENT_INSTALLED_DIR}/debug/bin") else() vcpkg_add_to_path(PREPEND "${CURRENT_INSTALLED_DIR}/bin") endif() endif() - if (arg_DISABLE_PARALLEL) + if(arg_DISABLE_PARALLEL) vcpkg_execute_build_process( - COMMAND "${CMAKE_COMMAND}" --build . --config "${cmake_config}" ${target_args} -- ${build_args} ${no_parallel_args} - WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${short_buildtype}" - LOGNAME "${arg_LOGFILE_BASE}-${TARGET_TRIPLET}-${short_buildtype}" + COMMAND + "${CMAKE_COMMAND}" --build . --config "${config}" ${target_param} + -- ${build_param} ${no_parallel_param} + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${short_build_type}" + LOGNAME "${arg_LOGFILE_BASE}-${TARGET_TRIPLET}-${short_build_type}" ) else() vcpkg_execute_build_process( - COMMAND "${CMAKE_COMMAND}" --build . --config "${cmake_config}" ${target_args} -- ${build_args} ${parallel_args} - NO_PARALLEL_COMMAND "${CMAKE_COMMAND}" --build . --config "${cmake_config}" ${target_args} -- ${build_args} ${no_parallel_args} - WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${short_buildtype}" - LOGNAME "${arg_LOGFILE_BASE}-${TARGET_TRIPLET}-${short_buildtype}" + COMMAND + "${CMAKE_COMMAND}" --build . --config "${config}" ${target_param} + -- ${build_param} ${parallel_param} + NO_PARALLEL_COMMAND + "${CMAKE_COMMAND}" --build . --config "${config}" ${target_param} + -- ${build_param} ${no_parallel_param} + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${short_build_type}" + LOGNAME "${arg_LOGFILE_BASE}-${TARGET_TRIPLET}-${short_build_type}" ) endif() if(arg_ADD_BIN_TO_PATH) - set(ENV{PATH} "${env_path_backup}") + vcpkg_restore_env_variables(VARS PATH) endif() endif() endforeach() diff --git a/ports/vcpkg-cmake/vcpkg_cmake_configure.cmake b/ports/vcpkg-cmake/vcpkg_cmake_configure.cmake index c9657bfa9a0941..acd510f5145ba0 100644 --- a/ports/vcpkg-cmake/vcpkg_cmake_configure.cmake +++ b/ports/vcpkg-cmake/vcpkg_cmake_configure.cmake @@ -1,97 +1,4 @@ -#[===[.md: -# vcpkg_cmake_configure - -Configure a CMake buildsystem. - -```cmake -vcpkg_cmake_configure( - SOURCE_PATH - [LOGFILE_BASE ] - [DISABLE_PARALLEL_CONFIGURE] - [NO_CHARSET_FLAG] - [WINDOWS_USE_MSBUILD] - [GENERATOR ] - [OPTIONS - ...] - [OPTIONS_RELEASE - ...] - [OPTIONS_DEBUG - ...] - [MAYBE_UNUSED_VARIABLES - ...] -) -``` - -`vcpkg_cmake_configure` configures a CMake build system for use with -`vcpkg_cmake_buildsystem_build` and `vcpkg_cmake_buildsystem_install`. -`source-path` is where the source is located; by convention, -this is usually `${SOURCE_PATH}`, which is set by one of the `vcpkg_from_*` functions. -This function configures the build system for both Debug and Release builds by default, -assuming that `VCPKG_BUILD_TYPE` is not set; if it is, then it will only configure for -that build type. - -Use the `OPTIONS` argument to set the configure settings for both release and debug, -and use `OPTIONS_RELEASE` and `OPTIONS_DEBUG` to set the configure settings for -release only and debug only respectively. - -By default, when possible, `vcpkg_cmake_configure` uses [ninja-build] -as its build system. If the `WINDOWS_USE_MSBUILD` argument is passed, then -`vcpkg_cmake_configure` will use a Visual Studio generator on Windows; -on every other platform, `vcpkg_cmake_configure` just uses Ninja. - -[ninja-build]: https://ninja-build.org/ - -Additionally, one may pass the specific generator a port should use with `GENERATOR`. -This is useful if some project-specific buildsystem -has been wrapped in a CMake build system that doesn't perform an actual build. -If used for this purpose, it should be set to `"NMake Makefiles"`. -`vcpkg_cmake_buildsystem_build` and `install` do not support this being set to anything -except for NMake. - -For libraries which cannot be configured in parallel, -pass the `DISABLE_PARALLEL_CONFIGURE` flag. This is needed, for example, -if the library's build system writes back into the source directory during configure. -This also disables the `CMAKE_DISABLE_SOURCE_CHANGES` option. - -By default, this function adds flags to `CMAKE_C_FLAGS` and `CMAKE_CXX_FLAGS` -which set the default character set to utf-8 for MSVC. -If the library sets its own code page, pass the `NO_CHARSET_FLAG` option. - -This function makes certain that all options passed in are used by the -underlying CMake build system. If there are options that might be unused, -perhaps on certain platforms, pass those variable names to -`MAYBE_UNUSED_VARIABLES`. For example: -```cmake -vcpkg_cmake_configure( - ... - OPTIONS - -DBUILD_EXAMPLE=OFF - ... - MAYBE_UNUSED_VARIABLES - BUILD_EXAMPLE -) -``` - -`LOGFILE_BASE` is used to set the base of the logfile names; -by default, this is `config`, and thus the logfiles end up being something like -`config-x86-windows-dbg.log`. You can set it to anything you like; -if you set it to `config-the-first`, -you'll get something like `config-the-first-x86-windows.dbg.log`. - -## Notes -This command supplies many common arguments to CMake. To see the full list, examine the source. - -## Examples - -* [zlib](https://github.com/Microsoft/vcpkg/blob/master/ports/zlib/portfile.cmake) -* [cpprestsdk](https://github.com/Microsoft/vcpkg/blob/master/ports/cpprestsdk/portfile.cmake) -* [poco](https://github.com/Microsoft/vcpkg/blob/master/ports/poco/portfile.cmake) -* [opencv](https://github.com/Microsoft/vcpkg/blob/master/ports/opencv/portfile.cmake) -#]===] -if(Z_VCPKG_CMAKE_CONFIGURE_GUARD) - return() -endif() -set(Z_VCPKG_CMAKE_CONFIGURE_GUARD ON CACHE INTERNAL "guard variable") +include_guard(GLOBAL) macro(z_vcpkg_cmake_configure_both_set_or_unset var1 var2) if(DEFINED ${var1} AND NOT DEFINED ${var2}) @@ -109,12 +16,16 @@ function(vcpkg_cmake_configure) ) if(NOT arg_Z_CMAKE_GET_VARS_USAGE AND DEFINED CACHE{Z_VCPKG_CMAKE_GENERATOR}) - message(WARNING "vcpkg_cmake_configure already called; this function should only be called once.") + message(WARNING "${CMAKE_CURRENT_FUNCTION} already called; this function should only be called once.") + endif() + if(arg_PREFER_NINJA) + message(WARNING "PREFER_NINJA has been deprecated in ${CMAKE_CURRENT_FUNCTION}. Please remove it from the portfile!") endif() if(DEFINED arg_UNPARSED_ARGUMENTS) - message(FATAL_ERROR "vcpkg_cmake_buildsystem_build was passed extra arguments: ${arg_UNPARSED_ARGUMENTS}") + message(FATAL_ERROR "${CMAKE_CURRENT_FUNCTION} was passed extra arguments: ${arg_UNPARSED_ARGUMENTS}") endif() + if(NOT DEFINED arg_SOURCE_PATH) message(FATAL_ERROR "SOURCE_PATH must be set") endif() @@ -122,6 +33,15 @@ function(vcpkg_cmake_configure) set(arg_LOGFILE_BASE "config-${TARGET_TRIPLET}") endif() + set(invalid_maybe_unused_vars "${arg_MAYBE_UNUSED_VARIABLES}") + list(FILTER invalid_maybe_unused_vars INCLUDE REGEX "^-D") + if(NOT invalid_maybe_unused_vars STREQUAL "") + list(JOIN invalid_maybe_unused_vars " " bad_items) + message(${Z_VCPKG_BACKCOMPAT_MESSAGE_LEVEL} + "Option MAYBE_UNUSED_VARIABLES must be used with variables names. " + "The following items are invalid: ${bad_items}") + endif() + set(manually_specified_variables "") if(arg_Z_CMAKE_GET_VARS_USAGE) @@ -130,12 +50,14 @@ function(vcpkg_cmake_configure) set(configuring_message "Configuring ${TARGET_TRIPLET}") foreach(option IN LISTS arg_OPTIONS arg_OPTIONS_RELEASE arg_OPTIONS_DEBUG) - if(option MATCHES "^-D([^:=]*)[:=]") - list(APPEND manually_specified_variables "${CMAKE_MATCH_1}") + if("${option}" MATCHES "^-D([^:=]*)[:=]") + vcpkg_list(APPEND manually_specified_variables "${CMAKE_MATCH_1}") endif() endforeach() - list(REMOVE_DUPLICATES manually_specified_variables) - list(REMOVE_ITEM manually_specified_variables ${arg_MAYBE_UNUSED_VARIABLES}) + vcpkg_list(REMOVE_DUPLICATES manually_specified_variables) + foreach(maybe_unused_var IN LISTS arg_MAYBE_UNUSED_VARIABLES) + vcpkg_list(REMOVE_ITEM manually_specified_variables "${maybe_unused_var}") + endforeach() debug_message("manually specified variables: ${manually_specified_variables}") endif() @@ -147,121 +69,94 @@ function(vcpkg_cmake_configure) endif() endif() - set(ninja_can_be_used ON) # Ninja as generator - set(ninja_host ON) # Ninja as parallel configurator - - if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - set(targetting_uwp ON) - endif() - - if(host_architecture STREQUAL "x86") + set(ninja_host ON) # Ninja availability + if(host_architecture STREQUAL "x86" OR DEFINED ENV{VCPKG_FORCE_SYSTEM_BINARIES}) # Prebuilt ninja binaries are only provided for x64 hosts - set(ninja_can_be_used OFF) - set(ninja_host OFF) - elseif(targetting_uwp) - # Ninja and MSBuild have many differences when targetting UWP, so use MSBuild to maximize existing compatibility - set(ninja_can_be_used OFF) + find_program(NINJA NAMES ninja ninja-build) + if(NOT NINJA) + set(ninja_host OFF) + set(arg_DISABLE_PARALLEL_CONFIGURE ON) + set(arg_WINDOWS_USE_MSBUILD ON) + endif() endif() - set(generator) - if(DEFINED arg_GENERATOR) - set(generator "${arg_GENERATOR}") - elseif(arg_WINDOWS_USE_MSBUILD OR NOT ninja_can_be_used) - if(VCPKG_PLATFORM_TOOLSET STREQUAL "v120") - if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") - set(generator "Visual Studio 12 2013") - elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") - set(generator "Visual Studio 12 2013 Win64") - elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") - set(generator "Visual Studio 12 2013 ARM") - endif() - elseif(VCPKG_PLATFORM_TOOLSET STREQUAL "v140") - if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") - set(generator "Visual Studio 14 2015") - elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") - set(generator "Visual Studio 14 2015 Win64") - elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") - set(generator "Visual Studio 14 2015 ARM") - endif() - elseif(VCPKG_PLATFORM_TOOLSET STREQUAL "v141") - if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") - set(generator "Visual Studio 15 2017") - elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") - set(generator "Visual Studio 15 2017 Win64") - elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") - set(generator "Visual Studio 15 2017 ARM") - elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") - set(generator "Visual Studio 15 2017") - set(arch "ARM64") - endif() - elseif(VCPKG_PLATFORM_TOOLSET STREQUAL "v142") - set(generator "Visual Studio 16 2019") - if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") - set(arch "Win32") - elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") - set(arch "x64") - elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") - set(arch "ARM") - elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") - set(arch "ARM64") - else() - set(generator) - endif() - elseif(VCPKG_PLATFORM_TOOLSET STREQUAL "v143") - set(generator "Visual Studio 17 2022") - if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") - set(arch "Win32") - elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") - set(arch "x64") - elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") - set(arch "ARM") - elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") - set(arch "ARM64") - else() - set(generator) - endif() + set(generator "") + set(architecture_options "") + if(arg_WINDOWS_USE_MSBUILD AND VCPKG_HOST_IS_WINDOWS AND VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + z_vcpkg_get_visual_studio_generator(OUT_GENERATOR generator OUT_ARCH arch) + vcpkg_list(APPEND architecture_options "-A${arch}") + if(DEFINED VCPKG_PLATFORM_TOOLSET) + vcpkg_list(APPEND arg_OPTIONS "-T${VCPKG_PLATFORM_TOOLSET}") endif() - else() + if(NOT generator) + message(FATAL_ERROR "Unable to determine appropriate Visual Studio generator for triplet ${TARGET_TRIPLET}: + ENV{VisualStudioVersion} : $ENV{VisualStudioVersion} + VCPKG_TARGET_ARCHITECTURE: ${VCPKG_TARGET_ARCHITECTURE}") + endif() + elseif(DEFINED arg_GENERATOR) + set(generator "${arg_GENERATOR}") + elseif(ninja_host) set(generator "Ninja") + elseif(NOT VCPKG_HOST_IS_WINDOWS) + set(generator "Unix Makefiles") endif() - if(NOT DEFINED generator) + if(NOT generator) if(NOT VCPKG_CMAKE_SYSTEM_NAME) - set(VCPKG_CMAKE_SYSTEM_NAME Windows) + set(VCPKG_CMAKE_SYSTEM_NAME "Windows") endif() message(FATAL_ERROR "Unable to determine appropriate generator for: " "${VCPKG_CMAKE_SYSTEM_NAME}-${VCPKG_TARGET_ARCHITECTURE}-${VCPKG_PLATFORM_TOOLSET}") endif() - # If we use Ninja, make sure it's on PATH - if(generator STREQUAL "Ninja" AND NOT DEFINED ENV{VCPKG_FORCE_SYSTEM_BINARIES}) + set(parallel_log_args "") + set(log_args "") + + if(generator STREQUAL "Ninja") vcpkg_find_acquire_program(NINJA) + vcpkg_list(APPEND arg_OPTIONS "-DCMAKE_MAKE_PROGRAM=${NINJA}") + # If we use Ninja, it must be on PATH for CMake's ExternalProject, + # cf. https://gitlab.kitware.com/cmake/cmake/-/issues/23355. get_filename_component(ninja_path "${NINJA}" DIRECTORY) vcpkg_add_to_path("${ninja_path}") - list(APPEND arg_OPTIONS "-DCMAKE_MAKE_PROGRAM=${NINJA}") + set(parallel_log_args + "../build.ninja" ALIAS "rel-ninja.log" + "../../${TARGET_TRIPLET}-dbg/build.ninja" ALIAS "dbg-ninja.log" + ) + set(log_args "build.ninja") endif() + set(build_dir_release "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") + set(build_dir_debug "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") file(REMOVE_RECURSE - "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel" - "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") + "${build_dir_release}" + "${build_dir_debug}") + file(MAKE_DIRECTORY "${build_dir_release}") + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + file(MAKE_DIRECTORY "${build_dir_debug}") + endif() if(DEFINED VCPKG_CMAKE_SYSTEM_NAME) - list(APPEND arg_OPTIONS "-DCMAKE_SYSTEM_NAME=${VCPKG_CMAKE_SYSTEM_NAME}") - if(targetting_uwp AND NOT DEFINED VCPKG_CMAKE_SYSTEM_VERSION) + vcpkg_list(APPEND arg_OPTIONS "-DCMAKE_SYSTEM_NAME=${VCPKG_CMAKE_SYSTEM_NAME}") + if(VCPKG_TARGET_IS_UWP AND NOT DEFINED VCPKG_CMAKE_SYSTEM_VERSION) set(VCPKG_CMAKE_SYSTEM_VERSION 10.0) - elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Android" AND NOT DEFINED VCPKG_CMAKE_SYSTEM_VERSION) + elseif(VCPKG_TARGET_IS_ANDROID AND NOT DEFINED VCPKG_CMAKE_SYSTEM_VERSION) set(VCPKG_CMAKE_SYSTEM_VERSION 21) endif() endif() if(DEFINED VCPKG_CMAKE_SYSTEM_VERSION) - list(APPEND arg_OPTIONS "-DCMAKE_SYSTEM_VERSION=${VCPKG_CMAKE_SYSTEM_VERSION}") + vcpkg_list(APPEND arg_OPTIONS "-DCMAKE_SYSTEM_VERSION=${VCPKG_CMAKE_SYSTEM_VERSION}") + endif() + + if(DEFINED VCPKG_XBOX_CONSOLE_TARGET) + vcpkg_list(APPEND arg_OPTIONS "-DXBOX_CONSOLE_TARGET=${VCPKG_XBOX_CONSOLE_TARGET}") endif() if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - list(APPEND arg_OPTIONS "-DBUILD_SHARED_LIBS=ON") + vcpkg_list(APPEND arg_OPTIONS "-DBUILD_SHARED_LIBS=ON") elseif(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - list(APPEND arg_OPTIONS "-DBUILD_SHARED_LIBS=OFF") + vcpkg_list(APPEND arg_OPTIONS "-DBUILD_SHARED_LIBS=OFF") else() message(FATAL_ERROR "Invalid setting for VCPKG_LIBRARY_LINKAGE: \"${VCPKG_LIBRARY_LINKAGE}\". " @@ -278,28 +173,11 @@ function(vcpkg_cmake_configure) endif() if(NOT DEFINED VCPKG_CHAINLOAD_TOOLCHAIN_FILE) - if(NOT DEFINED VCPKG_CMAKE_SYSTEM_NAME OR _TARGETTING_UWP) - set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${SCRIPTS}/toolchains/windows.cmake") - elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") - set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${SCRIPTS}/toolchains/linux.cmake") - elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Android") - set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${SCRIPTS}/toolchains/android.cmake") - elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin") - set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${SCRIPTS}/toolchains/osx.cmake") - elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "iOS") - set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${SCRIPTS}/toolchains/ios.cmake") - elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") - set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${SCRIPTS}/toolchains/freebsd.cmake") - elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "OpenBSD") - set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${SCRIPTS}/toolchains/openbsd.cmake") - elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "MinGW") - set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${SCRIPTS}/toolchains/mingw.cmake") - endif() + z_vcpkg_select_default_vcpkg_chainload_toolchain() endif() - list(JOIN VCPKG_TARGET_ARCHITECTURE "\;" target_architecture_string) - list(APPEND arg_OPTIONS + vcpkg_list(APPEND arg_OPTIONS "-DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=${VCPKG_CHAINLOAD_TOOLCHAIN_FILE}" "-DVCPKG_TARGET_TRIPLET=${TARGET_TRIPLET}" "-DVCPKG_SET_CHARSET_FLAG=${VCPKG_SET_CHARSET_FLAG}" @@ -330,127 +208,108 @@ function(vcpkg_cmake_configure) "-DVCPKG_MANIFEST_INSTALL=OFF" ) - if(DEFINED arch) - list(APPEND arg_OPTIONS "-A${arch}") - endif() - # Sets configuration variables for macOS builds foreach(config_var IN ITEMS INSTALL_NAME_DIR OSX_DEPLOYMENT_TARGET OSX_SYSROOT OSX_ARCHITECTURES) if(DEFINED VCPKG_${config_var}) - list(JOIN VCPKG_${config_var} "\;" config_var_value) - list(APPEND arg_OPTIONS "-DCMAKE_${config_var}=${config_var_value}") + vcpkg_list(APPEND arg_OPTIONS "-DCMAKE_${config_var}=${VCPKG_${config_var}}") endif() endforeach() + vcpkg_list(PREPEND arg_OPTIONS "-DFETCHCONTENT_FULLY_DISCONNECTED=ON") + # Allow overrides / additional configuration variables from triplets if(DEFINED VCPKG_CMAKE_CONFIGURE_OPTIONS) - list(APPEND arg_OPTIONS "${VCPKG_CMAKE_CONFIGURE_OPTIONS}") + vcpkg_list(APPEND arg_OPTIONS ${VCPKG_CMAKE_CONFIGURE_OPTIONS}) endif() if(DEFINED VCPKG_CMAKE_CONFIGURE_OPTIONS_RELEASE) - list(APPEND arg_OPTIONS_RELEASE "${VCPKG_CMAKE_CONFIGURE_OPTIONS_RELEASE}") + vcpkg_list(APPEND arg_OPTIONS_RELEASE ${VCPKG_CMAKE_CONFIGURE_OPTIONS_RELEASE}) endif() if(DEFINED VCPKG_CMAKE_CONFIGURE_OPTIONS_DEBUG) - list(APPEND arg_OPTIONS_DEBUG "${VCPKG_CMAKE_CONFIGURE_OPTIONS_DEBUG}") + vcpkg_list(APPEND arg_OPTIONS_DEBUG ${VCPKG_CMAKE_CONFIGURE_OPTIONS_DEBUG}) endif() - if(ninja_host AND CMAKE_HOST_WIN32 AND NOT arg_DISABLE_PARALLEL_CONFIGURE) - list(APPEND arg_OPTIONS "-DCMAKE_DISABLE_SOURCE_CHANGES=ON") + vcpkg_list(SET rel_command + "${CMAKE_COMMAND}" "${arg_SOURCE_PATH}" + -G "${generator}" + ${architecture_options} + "-DCMAKE_BUILD_TYPE=Release" + "-DCMAKE_INSTALL_PREFIX=${CURRENT_PACKAGES_DIR}" + ${arg_OPTIONS} ${arg_OPTIONS_RELEASE}) + vcpkg_list(SET dbg_command + "${CMAKE_COMMAND}" "${arg_SOURCE_PATH}" + -G "${generator}" + ${architecture_options} + "-DCMAKE_BUILD_TYPE=Debug" + "-DCMAKE_INSTALL_PREFIX=${CURRENT_PACKAGES_DIR}/debug" + ${arg_OPTIONS} ${arg_OPTIONS_DEBUG}) + + if(NOT arg_DISABLE_PARALLEL_CONFIGURE) + vcpkg_list(APPEND arg_OPTIONS "-DCMAKE_DISABLE_SOURCE_CHANGES=ON") vcpkg_find_acquire_program(NINJA) - if(NOT DEFINED ninja_path) - # if ninja_path was defined above, we've already done this - get_filename_component(ninja_path "${NINJA}" DIRECTORY) - vcpkg_add_to_path("${ninja_path}") - endif() - #parallelize the configure step - set(parallel_configure_contents - "rule CreateProcess\n command = $process\n\n" + set(ninja_configure_contents + "rule CreateProcess\n command = \$process\n\n" ) - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - set(line "build ../CMakeCache.txt: CreateProcess\n ") - string(APPEND line "process = \"${CMAKE_COMMAND}\" -S \"${arg_SOURCE_PATH}\" -B .. ") - - if(DEFINED arg_OPTIONS AND NOT arg_OPTIONS STREQUAL "") - list(JOIN arg_OPTIONS "\" \"" options) - string(APPEND line "\"${options}\" ") - endif() - if(DEFINED arg_OPTIONS_RELEASE AND NOT arg_OPTIONS_RELEASE STREQUAL "") - list(JOIN arg_OPTIONS_RELEASE "\" \"" options_rel) - string(APPEND line "\"${options_rel}\" ") - endif() - string(APPEND line "-G \"${generator}\" ") - string(APPEND line "\"-DCMAKE_BUILD_TYPE=Release\" ") - string(APPEND line "\"-DCMAKE_INSTALL_PREFIX=${CURRENT_PACKAGES_DIR}\"") - string(APPEND parallel_configure_contents "${line}\n\n") + if(NOT DEFINED VCPKG_BUILD_TYPE OR "${VCPKG_BUILD_TYPE}" STREQUAL "release") + z_vcpkg_configure_cmake_build_cmakecache(ninja_configure_contents ".." "rel") endif() - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - set(line "build ../../${TARGET_TRIPLET}-dbg/CMakeCache.txt: CreateProcess\n ") - string(APPEND line "process = \"${CMAKE_COMMAND}\" -S \"${arg_SOURCE_PATH}\" -B \"../../${TARGET_TRIPLET}-dbg\" ") - - if(DEFINED arg_OPTIONS AND NOT arg_OPTIONS STREQUAL "") - list(JOIN arg_OPTIONS "\" \"" options) - string(APPEND line "\"${options}\" ") - endif() - if(DEFINED arg_OPTIONS_DEBUG AND NOT arg_OPTIONS_DEBUG STREQUAL "") - list(JOIN arg_OPTIONS_DEBUG "\" \"" options_dbg) - string(APPEND line "\"${options_dbg}\" ") - endif() - string(APPEND line "-G \"${generator}\" ") - string(APPEND line "\"-DCMAKE_BUILD_TYPE=Debug\" ") - string(APPEND line "\"-DCMAKE_INSTALL_PREFIX=${CURRENT_PACKAGES_DIR}/debug\"") - string(APPEND parallel_configure_contents "${line}\n\n") + if(NOT DEFINED VCPKG_BUILD_TYPE OR "${VCPKG_BUILD_TYPE}" STREQUAL "debug") + z_vcpkg_configure_cmake_build_cmakecache(ninja_configure_contents "../../${TARGET_TRIPLET}-dbg" "dbg") endif() - file(MAKE_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/vcpkg-parallel-configure") - file(WRITE "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/vcpkg-parallel-configure/build.ninja" "${parallel_configure_contents}") + file(MAKE_DIRECTORY "${build_dir_release}/vcpkg-parallel-configure") + file(WRITE + "${build_dir_release}/vcpkg-parallel-configure/build.ninja" + "${ninja_configure_contents}") message(STATUS "${configuring_message}") vcpkg_execute_required_process( - COMMAND ninja -v - WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/vcpkg-parallel-configure" + COMMAND "${NINJA}" -v + WORKING_DIRECTORY "${build_dir_release}/vcpkg-parallel-configure" LOGNAME "${arg_LOGFILE_BASE}" + SAVE_LOG_FILES + "../../${TARGET_TRIPLET}-dbg/CMakeCache.txt" ALIAS "dbg-CMakeCache.txt.log" + "../CMakeCache.txt" ALIAS "rel-CMakeCache.txt.log" + "../../${TARGET_TRIPLET}-dbg/CMakeFiles/CMakeConfigureLog.yaml" ALIAS "dbg-CMakeConfigureLog.yaml.log" + "../CMakeFiles/CMakeConfigureLog.yaml" ALIAS "rel-CMakeConfigureLog.yaml.log" + ${parallel_log_args} ) - list(APPEND config_logs + + vcpkg_list(APPEND config_logs "${CURRENT_BUILDTREES_DIR}/${arg_LOGFILE_BASE}-out.log" "${CURRENT_BUILDTREES_DIR}/${arg_LOGFILE_BASE}-err.log") else() - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + if(NOT DEFINED VCPKG_BUILD_TYPE OR "${VCPKG_BUILD_TYPE}" STREQUAL "debug") message(STATUS "${configuring_message}-dbg") - file(MAKE_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") vcpkg_execute_required_process( - COMMAND - "${CMAKE_COMMAND}" "${arg_SOURCE_PATH}" - ${arg_OPTIONS} - ${arg_OPTIONS_DEBUG} - -G "${generator}" - "-DCMAKE_BUILD_TYPE=Debug" - "-DCMAKE_INSTALL_PREFIX=${CURRENT_PACKAGES_DIR}/debug" - WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg" + COMMAND ${dbg_command} + WORKING_DIRECTORY "${build_dir_debug}" LOGNAME "${arg_LOGFILE_BASE}-dbg" + SAVE_LOG_FILES + "CMakeCache.txt" + "CMakeFiles/CMakeConfigureLog.yaml" + ${log_args} ) - list(APPEND config_logs + vcpkg_list(APPEND config_logs "${CURRENT_BUILDTREES_DIR}/${arg_LOGFILE_BASE}-dbg-out.log" "${CURRENT_BUILDTREES_DIR}/${arg_LOGFILE_BASE}-dbg-err.log") endif() - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + if(NOT DEFINED VCPKG_BUILD_TYPE OR "${VCPKG_BUILD_TYPE}" STREQUAL "release") message(STATUS "${configuring_message}-rel") - file(MAKE_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") vcpkg_execute_required_process( - COMMAND - "${CMAKE_COMMAND}" "${arg_SOURCE_PATH}" - ${arg_OPTIONS} - ${arg_OPTIONS_RELEASE} - -G "${generator}" - "-DCMAKE_BUILD_TYPE=Release" - "-DCMAKE_INSTALL_PREFIX=${CURRENT_PACKAGES_DIR}" - WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel" + COMMAND ${rel_command} + WORKING_DIRECTORY "${build_dir_release}" LOGNAME "${arg_LOGFILE_BASE}-rel" + SAVE_LOG_FILES + "CMakeCache.txt" + "CMakeFiles/CMakeConfigureLog.yaml" + ${log_args} ) - list(APPEND config_logs + vcpkg_list(APPEND config_logs "${CURRENT_BUILDTREES_DIR}/${arg_LOGFILE_BASE}-rel-out.log" "${CURRENT_BUILDTREES_DIR}/${arg_LOGFILE_BASE}-rel-err.log") endif() @@ -472,7 +331,7 @@ function(vcpkg_cmake_configure) foreach(unused_variable IN LISTS unused_variables) if(unused_variable IN_LIST manually_specified_variables) debug_message("manually specified unused variable: ${unused_variable}") - list(APPEND all_unused_variables "${unused_variable}") + vcpkg_list(APPEND all_unused_variables "${unused_variable}") else() debug_message("unused variable (not manually specified): ${unused_variable}") endif() @@ -480,8 +339,8 @@ function(vcpkg_cmake_configure) endforeach() if(DEFINED all_unused_variables) - list(REMOVE_DUPLICATES all_unused_variables) - list(JOIN all_unused_variables "\n " all_unused_variables) + vcpkg_list(REMOVE_DUPLICATES all_unused_variables) + vcpkg_list(JOIN all_unused_variables "\n " all_unused_variables) message(WARNING "The following variables are not used in CMakeLists.txt: ${all_unused_variables} Please recheck them and remove the unnecessary options from the `vcpkg_cmake_configure` call. diff --git a/ports/vcpkg-cmake/vcpkg_cmake_get_vars.cmake b/ports/vcpkg-cmake/vcpkg_cmake_get_vars.cmake deleted file mode 100644 index ec1a9980901c98..00000000000000 --- a/ports/vcpkg-cmake/vcpkg_cmake_get_vars.cmake +++ /dev/null @@ -1,61 +0,0 @@ -#[===[.md: -# vcpkg_cmake_get_vars - -Runs a cmake configure with a dummy project to extract certain cmake variables - -## Usage -```cmake -vcpkg_cmake_get_vars() -``` - -`vcpkg_cmake_get_vars()` sets `` to -a path to a generated CMake file, with the detected `CMAKE_*` variables -re-exported as `VCPKG_DETECTED_CMAKE_*`. - -## Notes -Avoid usage in portfiles. - -All calls to `vcpkg_cmake_get_vars` will result in the same output file; -the output file is not generated multiple times. - -### Basic Usage - -```cmake -vcpkg_cmake_get_vars(cmake_vars_file) -include("${cmake_vars_file}") -message(STATUS "detected CXX flags: ${VCPKG_DETECTED_CMAKE_CXX_FLAGS}") -``` -#]===] - -set(Z_VCPKG_CMAKE_GET_VARS_CURRENT_LIST_DIR "${CMAKE_CURRENT_LIST_DIR}") - -function(vcpkg_cmake_get_vars out_file) - cmake_parse_arguments(PARSE_ARGV 1 arg "" "" "") - - if(DEFINED arg_UNPARSED_ARGUMENTS) - message(FATAL_ERROR "${CMAKE_CURRENT_FUNCTION} was passed extra arguments: ${arg_UNPARSED_ARGUMENTS}") - endif() - - if(NOT DEFINED CACHE{Z_VCPKG_CMAKE_GET_VARS_FILE}) - set(Z_VCPKG_CMAKE_GET_VARS_FILE "${CURRENT_BUILDTREES_DIR}/cmake-get-vars-${TARGET_TRIPLET}.cmake.log" - CACHE PATH "The file to include to access the CMake variables from a generated project.") - vcpkg_cmake_configure( - SOURCE_PATH "${Z_VCPKG_CMAKE_GET_VARS_CURRENT_LIST_DIR}/cmake_get_vars" - OPTIONS_DEBUG "-DVCPKG_OUTPUT_FILE:PATH=${CURRENT_BUILDTREES_DIR}/cmake-get-vars-${TARGET_TRIPLET}-dbg.cmake.log" - OPTIONS_RELEASE "-DVCPKG_OUTPUT_FILE:PATH=${CURRENT_BUILDTREES_DIR}/cmake-get-vars-${TARGET_TRIPLET}-rel.cmake.log" - LOGFILE_BASE cmake-get-vars-${TARGET_TRIPLET} - Z_CMAKE_GET_VARS_USAGE # be quiet, don't set variables... - ) - - set(include_string "") - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - string(APPEND include_string "include(\"\${CMAKE_CURRENT_LIST_DIR}/cmake-get-vars-${TARGET_TRIPLET}-rel.cmake.log\")\n") - endif() - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - string(APPEND include_string "include(\"\${CMAKE_CURRENT_LIST_DIR}/cmake-get-vars-${TARGET_TRIPLET}-dbg.cmake.log\")\n") - endif() - file(WRITE "${Z_VCPKG_CMAKE_GET_VARS_FILE}" "${include_string}") - endif() - - set("${out_file}" "${Z_VCPKG_CMAKE_GET_VARS_FILE}" PARENT_SCOPE) -endfunction() diff --git a/ports/vcpkg-cmake/vcpkg_cmake_install.cmake b/ports/vcpkg-cmake/vcpkg_cmake_install.cmake index 0a609aa8da35fd..2bd8b4ea75ff35 100644 --- a/ports/vcpkg-cmake/vcpkg_cmake_install.cmake +++ b/ports/vcpkg-cmake/vcpkg_cmake_install.cmake @@ -1,29 +1,4 @@ -#[===[.md: -# vcpkg_cmake_install - -Build and install a cmake project. - -```cmake -vcpkg_cmake_install( - [DISABLE_PARALLEL] - [ADD_BIN_TO_PATH] -) -``` - -`vcpkg_cmake_install` transparently forwards to [`vcpkg_cmake_build()`], -with additional parameters to set the `TARGET` to `install`, -and to set the `LOGFILE_ROOT` to `install` as well. - -[`vcpkg_cmake_build()`]: vcpkg_cmake_build.cmake - -## Examples: - -* [zlib](https://github.com/Microsoft/vcpkg/blob/master/ports/zlib/portfile.cmake) -#]===] -if(Z_VCPKG_CMAKE_INSTALL_GUARD) - return() -endif() -set(Z_VCPKG_CMAKE_INSTALL_GUARD ON CACHE INTERNAL "guard variable") +include_guard(GLOBAL) function(vcpkg_cmake_install) cmake_parse_arguments(PARSE_ARGV 0 "arg" "DISABLE_PARALLEL;ADD_BIN_TO_PATH" "" "") diff --git a/ports/vcpkg-cmake/copyright b/ports/vcpkg-get-python-packages/copyright similarity index 100% rename from ports/vcpkg-cmake/copyright rename to ports/vcpkg-get-python-packages/copyright diff --git a/ports/vcpkg-get-python-packages/portfile.cmake b/ports/vcpkg-get-python-packages/portfile.cmake new file mode 100644 index 00000000000000..4bc168627e1c6a --- /dev/null +++ b/ports/vcpkg-get-python-packages/portfile.cmake @@ -0,0 +1,9 @@ +file(COPY + "${CMAKE_CURRENT_LIST_DIR}/vcpkg-port-config.cmake" + "${CMAKE_CURRENT_LIST_DIR}/copyright" + "${CMAKE_CURRENT_LIST_DIR}/x_vcpkg_get_python_packages.cmake" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") + +include("${CMAKE_CURRENT_LIST_DIR}/x_vcpkg_get_python_packages.cmake") + +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) diff --git a/ports/vcpkg-get-python-packages/vcpkg-port-config.cmake b/ports/vcpkg-get-python-packages/vcpkg-port-config.cmake new file mode 100644 index 00000000000000..a061a712883843 --- /dev/null +++ b/ports/vcpkg-get-python-packages/vcpkg-port-config.cmake @@ -0,0 +1 @@ +include("${CMAKE_CURRENT_LIST_DIR}/x_vcpkg_get_python_packages.cmake") diff --git a/ports/vcpkg-get-python-packages/vcpkg.json b/ports/vcpkg-get-python-packages/vcpkg.json new file mode 100644 index 00000000000000..4590bd8cde6f5e --- /dev/null +++ b/ports/vcpkg-get-python-packages/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "vcpkg-get-python-packages", + "version-date": "2024-09-29", + "documentation": "https://learn.microsoft.com/en-us/vcpkg/maintainers/functions/vcpkg_get_python_packages", + "license": "MIT", + "supports": "native" +} diff --git a/ports/vcpkg-get-python-packages/x_vcpkg_get_python_packages.cmake b/ports/vcpkg-get-python-packages/x_vcpkg_get_python_packages.cmake new file mode 100644 index 00000000000000..73e9bc049f3676 --- /dev/null +++ b/ports/vcpkg-get-python-packages/x_vcpkg_get_python_packages.cmake @@ -0,0 +1,114 @@ +include_guard(GLOBAL) + +function(x_vcpkg_get_python_packages) + cmake_parse_arguments(PARSE_ARGV 0 arg "" "PYTHON_VERSION;PYTHON_EXECUTABLE;REQUIREMENTS_FILE;OUT_PYTHON_VAR" "PACKAGES") + + if(DEFINED arg_PYTHON_VERSION AND NOT DEFINED arg_PYTHON_EXECUTABLE) + vcpkg_find_acquire_program(PYTHON${arg_PYTHON_VERSION}) + set(arg_PYTHON_EXECUTABLE "${PYTHON${arg_PYTHON_VERSION}}") + endif() + + if(NOT DEFINED arg_PYTHON_EXECUTABLE AND NOT DEFINED arg_PYTHON_VERSION) + message(FATAL_ERROR "PYTHON_EXECUTABLE or PYTHON_VERSION must be specified.") + elseif(NOT DEFINED arg_PYTHON_VERSION) + if(arg_PYTHON_EXECUTABLE MATCHES "(python3|python-3)") + set(arg_PYTHON_VERSION 3) + else() + set(arg_PYTHON_VERSION 2) + endif() + endif() + + if(NOT DEFINED arg_OUT_PYTHON_VAR) + set(arg_OUT_PYTHON_VAR "PYTHON${arg_PYTHON_VERSION}") + endif() + + if(NOT DEFINED arg_PACKAGES AND NOT DEFINED arg_REQUIREMENTS_FILE) + message(FATAL_ERROR "PACKAGES or REQUIREMENTS_FILE must be specified.") + endif() + if(DEFINED arg_UNPARSED_ARGUMENTS) + message(FATAL_ERROR "${CMAKE_CURRENT_FUNCTION} was passed extra arguments: ${arg_UNPARSED_ARGUMENTS}") + endif() + + get_filename_component(python_dir "${arg_PYTHON_EXECUTABLE}" DIRECTORY) + set(ENV{PYTHONNOUSERSITE} "1") + if("${python_dir}" MATCHES "(${DOWNLOADS}|${CURRENT_HOST_INSTALLED_DIR})" AND CMAKE_HOST_WIN32) # inside vcpkg and windows host. + if(NOT EXISTS "${python_dir}/easy_install${VCPKG_HOST_EXECUTABLE_SUFFIX}") + if(NOT EXISTS "${python_dir}/Scripts/pip${VCPKG_HOST_EXECUTABLE_SUFFIX}") + if(arg_PYTHON_VERSION STREQUAL 3) + vcpkg_from_github( + OUT_SOURCE_PATH PYFILE_PATH + REPO pypa/get-pip + REF 24.2 + SHA512 7bcbc841564b7fc3cd2c109b9d3cfd34d853508edc9e040e9615fc0f9f18f74c7826d53671f65fa1abda3fd29a0a3f9f6114d9e9bdd6d120175ac207fd7ce321 + ) + vcpkg_execute_required_process(COMMAND "${arg_PYTHON_EXECUTABLE}" "${PYFILE_PATH}/public/get-pip.py" --no-warn-script-location + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}" + LOGNAME "get-pip-${TARGET_TRIPLET}") + elseif(arg_PYTHON_VERSION STREQUAL 2) + vcpkg_download_distfile(PYFILE + URLS "https://bootstrap.pypa.io/pip/2.7/get-pip.py" + FILENAME "get-pip.py" + SHA512 8c74bdaff57a2dcf2aa69c4c218b7d5f3bf4a470dbda2d7c8d1b53862c84e2a83cd04c3cd20cf80dc0e4076b113a734413e31d6a9853f41e894398e7f88f848e + ) + vcpkg_execute_required_process(COMMAND "${arg_PYTHON_EXECUTABLE}" "${PYFILE}" --no-warn-script-location + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}" + LOGNAME "get-pip-${TARGET_TRIPLET}") + endif() + endif() + vcpkg_execute_required_process(COMMAND "${python_dir}/Scripts/pip${VCPKG_HOST_EXECUTABLE_SUFFIX}" install virtualenv --no-warn-script-location + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}" + LOGNAME "pip-install-virtualenv-${TARGET_TRIPLET}") + else() + vcpkg_execute_required_process(COMMAND "${python_dir}/easy_install${VCPKG_HOST_EXECUTABLE_SUFFIX}" virtualenv --no-warn-script-location #${_package} + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}" + LOGNAME "easy-install-virtualenv-${TARGET_TRIPLET}") + endif() + endif() + set(venv_path "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-venv") + file(REMOVE_RECURSE "${venv_path}") # Remove old venv + file(MAKE_DIRECTORY "${venv_path}") + if(CMAKE_HOST_WIN32) + file(MAKE_DIRECTORY "${python_dir}/DLLs") + set(python_sub_path /Scripts) + set(python_venv virtualenv) + file(GLOB python_zipped_stdlib "${python_dir}/python3*.zip") + if(python_zipped_stdlib) + file(COPY ${python_zipped_stdlib} DESTINATION "${venv_path}/Scripts") + endif() + set(python_venv_options "--app-data" "${venv_path}/data") + else() + set(python_sub_path /bin) + if(arg_PYTHON_VERSION STREQUAL 3) + set(python_venv venv) + elseif(arg_PYTHON_VERSION STREQUAL 2) + set(python_venv virtualenv) + endif() + set(python_venv_options --symlinks) + endif() + + set(ENV{PYTHONNOUSERSITE} "1") + message(STATUS "Setting up python virtual environment...") + vcpkg_execute_required_process(COMMAND "${arg_PYTHON_EXECUTABLE}" -I -m "${python_venv}" ${python_venv_options} "${venv_path}" + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}" + LOGNAME "venv-setup-${TARGET_TRIPLET}") + vcpkg_add_to_path(PREPEND "${venv_path}${python_sub_path}") + set(${arg_OUT_PYTHON_VAR} "${venv_path}${python_sub_path}/python${VCPKG_HOST_EXECUTABLE_SUFFIX}") + set(ENV{VIRTUAL_ENV} "${venv_path}") + unset(ENV{PYTHONHOME}) + unset(ENV{PYTHONPATH}) + if(DEFINED arg_REQUIREMENTS_FILE) + message(STATUS "Installing requirements from: ${arg_REQUIREMENTS_FILE}") + vcpkg_execute_required_process(COMMAND "${${arg_OUT_PYTHON_VAR}}" -I -m pip install -r ${arg_REQUIREMENTS_FILE} + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}" + LOGNAME "pip-install-requirements-file-${TARGET_TRIPLET}") + endif() + if(DEFINED arg_PACKAGES) + message(STATUS "Installing python packages: ${arg_PACKAGES}") + vcpkg_execute_required_process(COMMAND "${${arg_OUT_PYTHON_VAR}}" -I -m pip install ${arg_PACKAGES} + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}" + LOGNAME "pip-install-packages-${TARGET_TRIPLET}") + endif() + message(STATUS "Setting up python virtual environment... finished.") + set(${arg_OUT_PYTHON_VAR} "${${arg_OUT_PYTHON_VAR}}" PARENT_SCOPE) + set(${arg_OUT_PYTHON_VAR} "${${arg_OUT_PYTHON_VAR}}" CACHE PATH "" FORCE) +endfunction() diff --git a/ports/vcpkg-get-python/portfile.cmake b/ports/vcpkg-get-python/portfile.cmake new file mode 100644 index 00000000000000..473b6b700c2c45 --- /dev/null +++ b/ports/vcpkg-get-python/portfile.cmake @@ -0,0 +1,7 @@ + +file(INSTALL + "${CMAKE_CURRENT_LIST_DIR}/vcpkg-port-config.cmake" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") + +vcpkg_install_copyright(FILE_LIST "${VCPKG_ROOT_DIR}/LICENSE.txt") +set(VCPKG_POLICY_CMAKE_HELPER_PORT enabled) diff --git a/ports/vcpkg-get-python/vcpkg-port-config.cmake b/ports/vcpkg-get-python/vcpkg-port-config.cmake new file mode 100644 index 00000000000000..1050b63105c57b --- /dev/null +++ b/ports/vcpkg-get-python/vcpkg-port-config.cmake @@ -0,0 +1,57 @@ +include_guard(GLOBAL) + +function(vcpkg_get_vcpkg_installed_python out_python) + if(NOT VCPKG_TARGET_IS_WINDOWS) + # vcpkg installed python on !windows works as normal python would work. + set(${out_python} "${CURRENT_HOST_INSTALLED_DIR}/tools/python3/python3" PARENT_SCOPE) + return() + endif() + if(DEFINED CACHE{z_vcpkg_get_vcpkg_installed_python}) + set(${out_python} "${z_vcpkg_get_vcpkg_installed_python}" PARENT_SCOPE) + return() + endif() + + # On windows python is unable to lookup DLLs, so a manual venv is created + set(python_home "${CURRENT_HOST_INSTALLED_DIR}/tools/python3") + set(python_base "${CURRENT_BUILDTREES_DIR}/python-${TARGET_TRIPLET}") + + file(GLOB python_files LIST_DIRECTORIES false "${python_home}/*") + if(EXISTS "${CURRENT_HOST_INSTALLED_DIR}/tools/python3/DLLs") + file(COPY "${CURRENT_HOST_INSTALLED_DIR}/tools/python3/DLLs/" DESTINATION "${python_base}/DLLs") + endif() + file(COPY ${python_files} DESTINATION "${python_base}/Scripts") + file(MAKE_DIRECTORY "${python_base}/Lib/site-packages") + + file(WRITE "${python_base}/pyvenv.cfg" +" +home = ${python_home} +include-system-site-packages = false +version = ${PYTHON3_VERSION} +executable = ${python_home}/python.exe +command = ${python_home}/python.exe -m venv ${python_base} +" +) + + file(WRITE "${python_base}/Lib/site-packages/sitecustomize.py" +" +import os +import sys +from pathlib import Path + +import site +#enable direct lookup of installed site-packages without the need to copy them +site.addsitedir(sys.base_prefix + '/Lib/site-packages') + +vcpkg_bin_path = Path(sys.base_prefix + '/../../bin') +if vcpkg_bin_path.is_dir(): + os.add_dll_directory(vcpkg_bin_path) +" +) + + file(COPY "${CURRENT_INSTALLED_DIR}/${PYTHON3_INCLUDE}/" DESTINATION "${python_base}/include") + set(suffix "PCBuild/AMD64") # TODO: ask python for the correct suffix. + file(COPY "${CURRENT_INSTALLED_DIR}/lib/python${PYTHON3_VERSION_MAJOR}${PYTHON3_VERSION_MINOR}.lib" DESTINATION "${python_base}/${suffix}") + + set(${out_python} "${python_base}/Scripts/python.exe" PARENT_SCOPE) + set(z_vcpkg_get_vcpkg_installed_python "${python_base}/Scripts/python.exe" CACHE INTERNAL "") +endfunction() diff --git a/ports/vcpkg-get-python/vcpkg.json b/ports/vcpkg-get-python/vcpkg.json new file mode 100644 index 00000000000000..aa06c06e35b76c --- /dev/null +++ b/ports/vcpkg-get-python/vcpkg.json @@ -0,0 +1,6 @@ +{ + "name": "vcpkg-get-python", + "version-date": "2024-06-22", + "license": "MIT", + "supports": "native" +} diff --git a/ports/vcpkg-gfortran/portfile.cmake b/ports/vcpkg-gfortran/portfile.cmake index 7939c7684da28a..dc56e1f3e5ec90 100644 --- a/ports/vcpkg-gfortran/portfile.cmake +++ b/ports/vcpkg-gfortran/portfile.cmake @@ -1,4 +1,3 @@ -vcpkg_fail_port_install(ON_ARCH "arm" ON_TARGET "linux" "osx") include(vcpkg_find_fortran) vcpkg_find_fortran(FORTRAN_CMAKE) if(VCPKG_USE_INTERNAL_Fortran) @@ -44,9 +43,9 @@ if(VCPKG_USE_INTERNAL_Fortran) file(COPY ${MINGW_Fortran_DLLS} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin") file(COPY "${vcpkg_find_fortran_MSYS_ROOT}/mingw${MINGW_W_TARGET}/share/licenses" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") file(INSTALL "${vcpkg_find_fortran_MSYS_ROOT}/mingw${MINGW_W_TARGET}/share/licenses/crt/COPYING.MinGW-w64-runtime.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) - set(VCPKG_POLICY_SKIP_DUMPBIN_CHECKS enabled) # due to outdated msvcrt + set(VCPKG_POLICY_ALLOW_OBSOLETE_MSVCRT enabled) set(VCPKG_POLICY_DLLS_WITHOUT_LIBS enabled) set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) else() set(VCPKG_POLICY_EMPTY_PACKAGE enabled) -endif() \ No newline at end of file +endif() diff --git a/ports/vcpkg-gfortran/vcpkg.json b/ports/vcpkg-gfortran/vcpkg.json index 604a1626d30cd0..afebeeb91a4e39 100644 --- a/ports/vcpkg-gfortran/vcpkg.json +++ b/ports/vcpkg-gfortran/vcpkg.json @@ -1,7 +1,7 @@ { "name": "vcpkg-gfortran", - "version-string": "3", - "port-version": 1, + "version": "3", + "port-version": 3, "description": "Metaport to install gfortran dependencies from msys if VCPKG_USE_EXTERNAL_Fortran is false", - "supports": "windows & !arm" + "supports": "windows & !arm & !uwp" } diff --git a/ports/vcpkg-gn/portfile.cmake b/ports/vcpkg-gn/portfile.cmake new file mode 100644 index 00000000000000..275405461c616a --- /dev/null +++ b/ports/vcpkg-gn/portfile.cmake @@ -0,0 +1,11 @@ +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) + +if(NOT TARGET_TRIPLET STREQUAL _HOST_TRIPLET) + message(FATAL_ERROR "vcpkg-gn is a host-only port; please mark it as a host port in your dependencies.") +endif() + +file(INSTALL + "${CMAKE_CURRENT_LIST_DIR}/vcpkg-port-config.cmake" + "${CMAKE_CURRENT_LIST_DIR}/vcpkg_gn_configure.cmake" + "${CMAKE_CURRENT_LIST_DIR}/vcpkg_gn_install.cmake" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/vcpkg-gn/vcpkg-port-config.cmake b/ports/vcpkg-gn/vcpkg-port-config.cmake new file mode 100644 index 00000000000000..b2eed1cd85306e --- /dev/null +++ b/ports/vcpkg-gn/vcpkg-port-config.cmake @@ -0,0 +1,2 @@ +include("${CMAKE_CURRENT_LIST_DIR}/vcpkg_gn_configure.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/vcpkg_gn_install.cmake") diff --git a/ports/vcpkg-gn/vcpkg.json b/ports/vcpkg-gn/vcpkg.json new file mode 100644 index 00000000000000..ca0f02b26de5ca --- /dev/null +++ b/ports/vcpkg-gn/vcpkg.json @@ -0,0 +1,14 @@ +{ + "name": "vcpkg-gn", + "version-date": "2024-02-22", + "description": "GN is a meta-build system that generates build files for Ninja (GN is the build system for Chromium, Fuchsia, and related projects)", + "documentation": "https://gn.googlesource.com/gn/+/main/docs/reference.md", + "license": "MIT", + "supports": "native", + "dependencies": [ + { + "name": "vcpkg-tool-gn", + "host": true + } + ] +} diff --git a/ports/vcpkg-gn/vcpkg_gn_configure.cmake b/ports/vcpkg-gn/vcpkg_gn_configure.cmake new file mode 100644 index 00000000000000..fe497b8b5209ca --- /dev/null +++ b/ports/vcpkg-gn/vcpkg_gn_configure.cmake @@ -0,0 +1,48 @@ +include_guard(GLOBAL) + +function(z_vcpkg_gn_configure_generate) + cmake_parse_arguments(PARSE_ARGV 0 "arg" "" "SOURCE_PATH;CONFIG;ARGS" "") + if(DEFINED arg_UNPARSED_ARGUMENTS) + message(FATAL_ERROR "Internal error: generate was passed extra arguments: ${arg_UNPARSED_ARGUMENTS}") + endif() + + message(STATUS "Generating build (${arg_CONFIG})...") + vcpkg_execute_required_process( + COMMAND "${GN}" gen "${CURRENT_BUILDTREES_DIR}/${arg_CONFIG}" "${arg_ARGS}" + WORKING_DIRECTORY "${arg_SOURCE_PATH}" + LOGNAME "generate-${arg_CONFIG}" + ) +endfunction() + +function(vcpkg_gn_configure) + cmake_parse_arguments(PARSE_ARGV 0 "arg" "" "SOURCE_PATH;OPTIONS;OPTIONS_DEBUG;OPTIONS_RELEASE" "") + + if(DEFINED arg_UNPARSED_ARGUMENTS) + message(WARNING "vcpkg_gn_configure was passed extra arguments: ${arg_UNPARSED_ARGUMENTS}") + endif() + if(NOT DEFINED arg_SOURCE_PATH) + message(FATAL_ERROR "SOURCE_PATH must be specified.") + endif() + + vcpkg_find_acquire_program(PYTHON3) + get_filename_component(PYTHON3_DIR "${PYTHON3}" DIRECTORY) + vcpkg_add_to_path(PREPEND "${PYTHON3_DIR}") + + vcpkg_find_acquire_program(GN) + + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + z_vcpkg_gn_configure_generate( + SOURCE_PATH "${arg_SOURCE_PATH}" + CONFIG "${TARGET_TRIPLET}-dbg" + ARGS "--args=${arg_OPTIONS} ${arg_OPTIONS_DEBUG}" + ) + endif() + + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + z_vcpkg_gn_configure_generate( + SOURCE_PATH "${arg_SOURCE_PATH}" + CONFIG "${TARGET_TRIPLET}-rel" + ARGS "--args=${arg_OPTIONS} ${arg_OPTIONS_RELEASE}" + ) + endif() +endfunction() diff --git a/ports/vcpkg-gn/vcpkg_gn_install.cmake b/ports/vcpkg-gn/vcpkg_gn_install.cmake new file mode 100644 index 00000000000000..e0447ee5c6bc2c --- /dev/null +++ b/ports/vcpkg-gn/vcpkg_gn_install.cmake @@ -0,0 +1,115 @@ +include_guard(GLOBAL) + +function(z_vcpkg_gn_install_get_target_type out_var) + cmake_parse_arguments(PARSE_ARGV 1 "arg" "" "SOURCE_PATH;BUILD_DIR;TARGET" "") + if(DEFINED arg_UNPARSED_ARGUMENTS) + message(FATAL_ERROR "Internal error: get_target_type was passed extra arguments: ${arg_UNPARSED_ARGUMENTS}") + endif() + + execute_process( + COMMAND "${GN}" desc "${arg_BUILD_DIR}" "${arg_TARGET}" + WORKING_DIRECTORY "${arg_SOURCE_PATH}" + OUTPUT_VARIABLE output + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + if(output MATCHES [[type: ([A-Za-z0-9_]+)]]) + set("${out_var}" "${CMAKE_MATCH_1}" PARENT_SCOPE) + else() + message(FATAL_ERROR "invalid result from `gn desc`: ${output}") + endif() +endfunction() + +function(z_vcpkg_gn_install_get_desc out_var) + cmake_parse_arguments(PARSE_ARGV 1 "arg" "" "SOURCE_PATH;BUILD_DIR;TARGET;WHAT_TO_DISPLAY" "") + if(DEFINED arg_UNPARSED_ARGUMENTS) + message(FATAL_ERROR "Internal error: get_desc was passed extra arguments: ${arg_UNPARSED_ARGUMENTS}") + endif() + + execute_process( + COMMAND "${GN}" desc "${arg_BUILD_DIR}" "${arg_TARGET}" "${arg_WHAT_TO_DISPLAY}" + WORKING_DIRECTORY "${arg_SOURCE_PATH}" + OUTPUT_VARIABLE output + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + string(REPLACE ";" "\\;" output "${output}") + string(REGEX REPLACE "\n|(\r\n)" ";" output "${output}") + set("${out_var}" "${output}" PARENT_SCOPE) +endfunction() + +function(z_vcpkg_gn_install_install) + cmake_parse_arguments(PARSE_ARGV 0 "arg" "" "SOURCE_PATH;BUILD_DIR;INSTALL_DIR" "TARGETS") + if(DEFINED arg_UNPARSED_ARGUMENTS) + message(FATAL_ERROR "Internal error: install was passed extra arguments: ${arg_UNPARSED_ARGUMENTS}") + endif() + + foreach(target IN LISTS arg_TARGETS) + # GN targets must start with a // + z_vcpkg_gn_install_get_desc(outputs + SOURCE_PATH "${arg_SOURCE_PATH}" + BUILD_DIR "${arg_BUILD_DIR}" + TARGET "//${target}" + WHAT_TO_DISPLAY outputs + ) + z_vcpkg_gn_install_get_target_type(target_type + SOURCE_PATH "${arg_SOURCE_PATH}" + BUILD_DIR "${arg_BUILD_DIR}" + TARGET "//${target}" + ) + + foreach(output IN LISTS outputs) + if(output MATCHES "^//") + # relative path (e.g. //out/Release/target.lib) + string(REGEX REPLACE "^//" "${arg_SOURCE_PATH}/" output "${output}") + elseif(output MATCHES "^/" AND CMAKE_HOST_WIN32) + # absolute path (e.g. /C:/path/to/target.lib) + string(REGEX REPLACE "^/" "" output "${output}") + endif() + + if(NOT EXISTS "${output}") + message(WARNING "Output for target `${target}` doesn't exist: ${output}.") + continue() + endif() + + if(target_type STREQUAL "executable") + file(INSTALL "${output}" DESTINATION "${arg_INSTALL_DIR}/tools") + elseif(output MATCHES "(\\.dll|\\.pdb)$") + file(INSTALL "${output}" DESTINATION "${arg_INSTALL_DIR}/bin") + else() + file(INSTALL "${output}" DESTINATION "${arg_INSTALL_DIR}/lib") + endif() + endforeach() + endforeach() +endfunction() + +function(vcpkg_gn_install) + cmake_parse_arguments(PARSE_ARGV 0 arg "" "SOURCE_PATH" "TARGETS") + + if(DEFINED arg_UNPARSED_ARGUMENTS) + message(WARNING "vcpkg_gn_install was passed extra arguments: ${arg_UNPARSED_ARGUMENTS}") + endif() + if(NOT DEFINED arg_SOURCE_PATH) + message(FATAL_ERROR "SOURCE_PATH must be specified.") + endif() + + vcpkg_build_ninja(TARGETS ${arg_TARGETS}) + + vcpkg_find_acquire_program(GN) + + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + z_vcpkg_gn_install_install( + SOURCE_PATH "${arg_SOURCE_PATH}" + BUILD_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg" + INSTALL_DIR "${CURRENT_PACKAGES_DIR}/debug" + TARGETS ${arg_TARGETS} + ) + endif() + + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + z_vcpkg_gn_install_install( + SOURCE_PATH "${arg_SOURCE_PATH}" + BUILD_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel" + INSTALL_DIR "${CURRENT_PACKAGES_DIR}" + TARGETS ${arg_TARGETS} + ) + endif() +endfunction() diff --git a/ports/vcpkg-msbuild/portfile.cmake b/ports/vcpkg-msbuild/portfile.cmake new file mode 100644 index 00000000000000..42e0ac846e5576 --- /dev/null +++ b/ports/vcpkg-msbuild/portfile.cmake @@ -0,0 +1,10 @@ +file(INSTALL + "${CMAKE_CURRENT_LIST_DIR}/vcpkg_msbuild.props.in" + "${CMAKE_CURRENT_LIST_DIR}/vcpkg_msbuild.targets.in" + "${CMAKE_CURRENT_LIST_DIR}/z_vcpkg_msbuild_create_props.cmake" + "${CMAKE_CURRENT_LIST_DIR}/vcpkg_msbuild_install.cmake" + "${CMAKE_CURRENT_LIST_DIR}/vcpkg-port-config.cmake" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") + +file(INSTALL "${VCPKG_ROOT_DIR}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +set(VCPKG_POLICY_CMAKE_HELPER_PORT enabled) diff --git a/ports/vcpkg-msbuild/vcpkg-port-config.cmake b/ports/vcpkg-msbuild/vcpkg-port-config.cmake new file mode 100644 index 00000000000000..547ff61d980f52 --- /dev/null +++ b/ports/vcpkg-msbuild/vcpkg-port-config.cmake @@ -0,0 +1,5 @@ +include_guard(GLOBAL) +include("${CMAKE_CURRENT_LIST_DIR}/../vcpkg-cmake-get-vars/vcpkg-port-config.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/../vcpkg-pkgconfig-get-modules/vcpkg-port-config.cmake" OPTIONAL) +include("${CMAKE_CURRENT_LIST_DIR}/z_vcpkg_msbuild_create_props.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/vcpkg_msbuild_install.cmake") diff --git a/ports/vcpkg-msbuild/vcpkg.json b/ports/vcpkg-msbuild/vcpkg.json new file mode 100644 index 00000000000000..cdd51bc1414747 --- /dev/null +++ b/ports/vcpkg-msbuild/vcpkg.json @@ -0,0 +1,25 @@ +{ + "name": "vcpkg-msbuild", + "version-date": "2023-08-08", + "documentation": "https://vcpkg.io/en/docs/README.html", + "license": "MIT", + "supports": "native & windows", + "dependencies": [ + { + "name": "vcpkg-cmake-get-vars", + "host": true + }, + { + "name": "vcpkg-pkgconfig-get-modules", + "host": true + } + ], + "features": { + "pkg-config": { + "description": "Enable pkg-config lookup for msbuild", + "dependencies": [ + "pkgconf" + ] + } + } +} diff --git a/ports/vcpkg-msbuild/vcpkg_msbuild.props.in b/ports/vcpkg-msbuild/vcpkg_msbuild.props.in new file mode 100644 index 00000000000000..f04522c15e6ee2 --- /dev/null +++ b/ports/vcpkg-msbuild/vcpkg_msbuild.props.in @@ -0,0 +1,22 @@ + + + + true + + + @arg_TARGET_PLATFORM_VERSION@ + @VCPKG_PLATFORM_TOOLSET@ + + false + false + false + false + @TARGET_TRIPLET@ + @_VCPKG_INSTALLED_DIR@ + No + false + vcpkg_msbuild.props + vcpkg_msbuild.targets + + @VCPKG_MSBUILD_ADDITIONAL_PROPS_XML@ + \ No newline at end of file diff --git a/ports/vcpkg-msbuild/vcpkg_msbuild.targets.in b/ports/vcpkg-msbuild/vcpkg_msbuild.targets.in new file mode 100644 index 00000000000000..517aab0ed74502 --- /dev/null +++ b/ports/vcpkg-msbuild/vcpkg_msbuild.targets.in @@ -0,0 +1,64 @@ + + + + + @arg_TARGET_PLATFORM_VERSION@ + @VCPKG_PLATFORM_TOOLSET@ + + false + false + false + false + @TARGET_TRIPLET@ + @_VCPKG_INSTALLED_DIR@ + No + false + + + + + MultiThreadedDebug + MultiThreaded + MultiThreadedDebugDLL + MultiThreadedDLL + @MSBUILD_INCLUDE_DIRS_DEBUG@ + @MSBUILD_INCLUDE_DIRS_RELEASE@ + + + + + %(AdditionalOptions) @VCPKG_COMBINED_CXX_FLAGS_DEBUG@ @MSBUILD_CFLAGS_DEBUG@ /WX- + %(AdditionalOptions) @VCPKG_COMBINED_CXX_FLAGS_RELEASE@ @MSBUILD_CFLAGS_RELEASE@ /WX- + + + + + %(AdditionalOptions) @VCPKG_COMBINED_C_FLAGS_DEBUG@ @MSBUILD_CFLAGS_DEBUG@ /WX- + %(AdditionalOptions) @VCPKG_COMBINED_C_FLAGS_RELEASE@ @MSBUILD_CFLAGS_RELEASE@ /WX- + + + + + + @MSBUILD_LIBRARIES_DEBUG@ + @MSBUILD_LIBRARIES_DIRS_DEBUG@ + @MSBUILD_LIBRARIES_RELEASE@ + @MSBUILD_LIBRARIES_DIRS_RELEASE@ + %(AdditionalOptions) @VCPKG_COMBINED_SHARED_LINKER_FLAGS_DEBUG@ @MSBUILD_LIBS_DEBUG@ /WX:NO + %(AdditionalOptions) @VCPKG_COMBINED_SHARED_LINKER_FLAGS_RELEASE@ @MSBUILD_LIBS_RELEASE@ /WX:NO + %(AdditionalOptions) @VCPKG_COMBINED_EXE_LINKER_FLAGS_DEBUG@ @MSBUILD_LIBS_DEBUG@ /WX:NO + %(AdditionalOptions) @VCPKG_COMBINED_EXE_LINKER_FLAGS_RELEASE@ @MSBUILD_LIBS_RELEASE@ /WX:NO + %(AdditionalOptions) @VCPKG_COMBINED_STATIC_LINKER_FLAGS_DEBUG@ + %(AdditionalOptions) @VCPKG_COMBINED_STATIC_LINKER_FLAGS_RELEASE@ + + + %(AdditionalOptions) @VCPKG_COMBINED_STATIC_LINKER_FLAGS_DEBUG@ + %(AdditionalOptions) @VCPKG_COMBINED_STATIC_LINKER_FLAGS_RELEASE@ + + MachineX86 + MachineX64 + MachineARM + + + @VCPKG_MSBUILD_ADDITIONAL_TARGETS_XML@ + \ No newline at end of file diff --git a/ports/vcpkg-msbuild/vcpkg_msbuild_install.cmake b/ports/vcpkg-msbuild/vcpkg_msbuild_install.cmake new file mode 100644 index 00000000000000..35e84f923b4e6f --- /dev/null +++ b/ports/vcpkg-msbuild/vcpkg_msbuild_install.cmake @@ -0,0 +1,179 @@ +function(vcpkg_msbuild_install) + cmake_parse_arguments( + PARSE_ARGV 0 + "arg" + "CLEAN;NO_TOOLCHAIN_PROPS;NO_INSTALL;ADD_BIN_TO_PATH" + "SOURCE_PATH;PROJECT_SUBPATH;RELEASE_CONFIGURATION;DEBUG_CONFIGURATION;PLATFORM;TARGET" + "OPTIONS;OPTIONS_RELEASE;OPTIONS_DEBUG;DEPENDENT_PKGCONFIG;ADDITIONAL_LIBS;ADDITIONAL_LIBS_DEBUG;ADDITIONAL_LIBS_RELEASE" + ) + + if(VCPKG_CROSSCOMPILING) + set(arg_ADD_BIN_TO_PATH OFF) + endif() + + if(DEFINED arg_UNPARSED_ARGUMENTS) + message(WARNING "${CMAKE_CURRENT_FUNCTION} was passed extra arguments: ${arg_UNPARSED_ARGUMENTS}") + endif() + if(NOT DEFINED arg_RELEASE_CONFIGURATION) + set(arg_RELEASE_CONFIGURATION Release) + endif() + if(NOT DEFINED arg_DEBUG_CONFIGURATION) + set(arg_DEBUG_CONFIGURATION Debug) + endif() + + if(NOT DEFINED arg_PLATFORM) + if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + set(arg_PLATFORM x64) + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + set(arg_PLATFORM Win32) + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") + set(arg_PLATFORM ARM) + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") + set(arg_PLATFORM arm64) + else() + message(FATAL_ERROR "Unsupported target architecture") + endif() + endif() + if(NOT DEFINED arg_PLATFORM_TOOLSET) + set(arg_PLATFORM_TOOLSET "${VCPKG_PLATFORM_TOOLSET}") + endif() + + if(NOT DEFINED arg_TARGET) + set(arg_TARGET Rebuild) + endif() + if(DEFINED arg_ADDITIONAL_LIBS) + list(APPEND arg_ADDITIONAL_LIBS_DEBUG ${arg_ADDITIONAL_LIBS}) + list(APPEND arg_ADDITIONAL_LIBS_RELEASE ${arg_ADDITIONAL_LIBS}) + endif() + + vcpkg_get_windows_sdk(arg_TARGET_PLATFORM_VERSION) + + if(NOT arg_NO_TOOLCHAIN_PROPS) + file(RELATIVE_PATH project_root "${arg_SOURCE_PATH}/${arg_PROJECT_SUBPATH}" "${arg_SOURCE_PATH}") # required by z_vcpkg_msbuild_create_props + z_vcpkg_msbuild_create_props(OUTPUT_PROPS props_file + OUTPUT_TARGETS target_file + RELEASE_CONFIGURATION "${arg_RELEASE_CONFIGURATION}" + DEBUG_CONFIGURATION "${arg_DEBUG_CONFIGURATION}" + DEPENDENT_PKGCONFIG ${arg_DEPENDENT_PKGCONFIG} + ADDITIONAL_LIBS_DEBUG ${arg_ADDITIONAL_LIBS_DEBUG} + ADDITIONAL_LIBS_RELEASE ${arg_ADDITIONAL_LIBS_RELEASE}) + list(APPEND arg_OPTIONS + "/p:ForceImportAfterCppProps=${props_file}" + "/p:ForceImportAfterCppTargets=${target_file}" + ) + endif() + + + list(APPEND arg_OPTIONS + "/t:${arg_TARGET}" + "/p:UseMultiToolTask=true" + "/p:MultiProcMaxCount=${VCPKG_CONCURRENCY}" + "/p:EnforceProcessCountAcrossBuilds=true" + "/m:${VCPKG_CONCURRENCY}" + "-maxCpuCount:${VCPKG_CONCURRENCY}" + # other Properties + "/p:Platform=${arg_PLATFORM}" + "/p:PlatformTarget=${TRIPLET_SYSTEM_ARCH}" + "/p:PlatformToolset=${arg_PLATFORM_TOOLSET}" + "/p:WindowsTargetPlatformVersion=${arg_TARGET_PLATFORM_VERSION}" + # vcpkg properties + "/p:VcpkgApplocalDeps=false" + "/p:VcpkgManifestInstall=false" + "/p:VcpkgManifestEnabled=false" + "/p:VcpkgEnabled=false" + "/p:VcpkgTriplet=${TARGET_TRIPLET}" + "/p:VcpkgInstalledDir=${_VCPKG_INSTALLED_DIR}" + ) + + if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + # Disable LTCG for static libraries because this setting introduces ABI incompatibility between minor compiler versions + # TODO: Add a way for the user to override this if they want to opt-in to incompatibility + list(APPEND arg_OPTIONS "/p:WholeProgramOptimization=false") + endif() + + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + message(STATUS "Building ${arg_PROJECT_SUBPATH} for Release") + if(arg_ADD_BIN_TO_PATH) + vcpkg_backup_env_variables(VARS PATH) + if("${build_type}" STREQUAL "debug") + vcpkg_add_to_path(PREPEND "${CURRENT_INSTALLED_DIR}/debug/bin") + else() + vcpkg_add_to_path(PREPEND "${CURRENT_INSTALLED_DIR}/bin") + endif() + endif() + set(working_dir "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") + file(REMOVE_RECURSE "${working_dir}") + file(MAKE_DIRECTORY "${working_dir}") + file(COPY "${arg_SOURCE_PATH}/" DESTINATION "${working_dir}") + vcpkg_execute_required_process( + COMMAND msbuild "${working_dir}/${arg_PROJECT_SUBPATH}" + "/p:Configuration=${arg_RELEASE_CONFIGURATION}" + ${arg_OPTIONS} + ${arg_OPTIONS_RELEASE} + WORKING_DIRECTORY "${working_dir}" + LOGNAME "build-${TARGET_TRIPLET}-rel" + ) + if(NOT arg_NO_INSTALL) + file(GLOB_RECURSE libs "${working_dir}/*.lib") + file(GLOB_RECURSE dlls "${working_dir}/*.dll") + file(GLOB_RECURSE exes "${working_dir}/*.exe") + if(NOT libs STREQUAL "") + file(COPY ${libs} DESTINATION "${CURRENT_PACKAGES_DIR}/lib") + endif() + if(NOT dlls STREQUAL "") + file(COPY ${dlls} DESTINATION "${CURRENT_PACKAGES_DIR}/bin") + endif() + if(NOT exes STREQUAL "") + file(COPY ${exes} DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}") + vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/${PORT}") + endif() + endif() + if(arg_ADD_BIN_TO_PATH) + vcpkg_restore_env_variables(VARS PATH) + endif() + endif() + + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + message(STATUS "Building ${arg_PROJECT_SUBPATH} for Debug") + if(arg_ADD_BIN_TO_PATH) + vcpkg_backup_env_variables(VARS PATH) + if("${build_type}" STREQUAL "debug") + vcpkg_add_to_path(PREPEND "${CURRENT_INSTALLED_DIR}/debug/bin") + else() + vcpkg_add_to_path(PREPEND "${CURRENT_INSTALLED_DIR}/bin") + endif() + endif() + set(working_dir "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") + file(REMOVE_RECURSE "${working_dir}") + file(MAKE_DIRECTORY "${working_dir}") + file(COPY "${arg_SOURCE_PATH}/" DESTINATION "${working_dir}") + vcpkg_execute_required_process( + COMMAND msbuild "${working_dir}/${arg_PROJECT_SUBPATH}" + "/p:Configuration=${arg_DEBUG_CONFIGURATION}" + ${arg_OPTIONS} + ${arg_OPTIONS_DEBUG} + WORKING_DIRECTORY "${working_dir}" + LOGNAME "build-${TARGET_TRIPLET}-dbg" + ) + if(NOT arg_NO_INSTALL) + file(GLOB_RECURSE libs "${working_dir}/*.lib") + file(GLOB_RECURSE dlls "${working_dir}/*.dll") + if(NOT libs STREQUAL "") + file(COPY ${libs} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") + endif() + if(NOT dlls STREQUAL "") + file(COPY ${dlls} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin") + endif() + endif() + if(arg_ADD_BIN_TO_PATH) + vcpkg_restore_env_variables(VARS PATH) + endif() + endif() + + vcpkg_copy_pdbs() + + if(arg_CLEAN) + vcpkg_clean_msbuild() + endif() + +endfunction() diff --git a/ports/vcpkg-msbuild/z_vcpkg_msbuild_create_props.cmake b/ports/vcpkg-msbuild/z_vcpkg_msbuild_create_props.cmake new file mode 100644 index 00000000000000..5cd6adeb397dcf --- /dev/null +++ b/ports/vcpkg-msbuild/z_vcpkg_msbuild_create_props.cmake @@ -0,0 +1,76 @@ +function(z_vcpkg_msbuild_create_props) + cmake_parse_arguments( + PARSE_ARGV 0 + "arg" + "" + "OUTPUT_PROPS;OUTPUT_TARGETS;RELEASE_CONFIGURATION;DEBUG_CONFIGURATION" + "DEPENDENT_PKGCONFIG;ADDITIONAL_LIBS_DEBUG;ADDITIONAL_LIBS_RELEASE" + ) + + if(NOT arg_OUTPUT_PROPS) + message(FATAL_ERROR "'${CMAKE_CURRENT_FUNCTION}' requires option 'OUTPUT_PROPS'!") + endif() + if(NOT arg_OUTPUT_TARGETS) + message(FATAL_ERROR "'${CMAKE_CURRENT_FUNCTION}' requires option 'OUTPUT_TARGETS'!") + endif() + if(DEFINED arg_UNPARSED_ARGUMENTS) + message(WARNING "'${CMAKE_CURRENT_FUNCTION}' was passed extra arguments: ${arg_UNPARSED_ARGUMENTS}") + endif() + + # TODO: detect and set these ? + # stdcpp20 + # stdc17 + if(NOT DEFINED arg_RELEASE_CONFIGURATION) + set(arg_RELEASE_CONFIGURATION Release) + endif() + if(NOT DEFINED arg_DEBUG_CONFIGURATION) + set(arg_DEBUG_CONFIGURATION Debug) + endif() + + set(TARGET_PLATFORM_VERSION "") + vcpkg_get_windows_sdk(TARGET_PLATFORM_VERSION) + + if(arg_DEPENDENT_PKGCONFIG) + if(NOT COMMAND x_vcpkg_pkgconfig_get_modules) + message(FATAL_ERROR "Port vcpkg-msbuild needs to have feature 'pkg-config' enabled for 'DEPENDENT_PKGCONFIG'") + endif() + x_vcpkg_pkgconfig_get_modules(PREFIX MSBUILD INCLUDE_DIRS LIBRARIES LIBRARIES_DIR CFLAGS USE_MSVC_SYNTAX_ON_WINDOWS MODULES ${arg_DEPENDENT_PKGCONFIG}) + + separate_arguments(MSBUILD_INCLUDE_DIRS_RELEASE WINDOWS_COMMAND "${MSBUILD_INCLUDE_DIRS_RELEASE}") + separate_arguments(MSBUILD_INCLUDE_DIRS_DEBUG WINDOWS_COMMAND "${MSBUILD_INCLUDE_DIRS_DEBUG}") + foreach(inc_dirs IN LISTS MSBUILD_INCLUDE_DIRS_RELEASE) + string(REPLACE "${inc_dirs}" "" MSBUILD_CFLAGS_RELEASE "${MSBUILD_CFLAGS_RELEASE}") + endforeach() + foreach(inc_dirs IN LISTS MSBUILD_INCLUDE_DIRS_DEBUG) + string(REPLACE "${inc_dirs}" "" MSBUILD_CFLAGS_DEBUG "${MSBUILD_CFLAGS_DEBUG}") + endforeach() + list(TRANSFORM MSBUILD_INCLUDE_DIRS_RELEASE REPLACE "^/I" "") + list(TRANSFORM MSBUILD_INCLUDE_DIRS_DEBUG REPLACE "^/I" "") + + separate_arguments(MSBUILD_LIBRARIES_DIRS_RELEASE WINDOWS_COMMAND "${MSBUILD_LIBRARIES_DIRS_RELEASE}") + separate_arguments(MSBUILD_LIBRARIES_DIRS_DEBUG WINDOWS_COMMAND "${MSBUILD_LIBRARIES_DIRS_DEBUG}") + + separate_arguments(MSBUILD_LIBRARIES_RELEASE WINDOWS_COMMAND "${MSBUILD_LIBRARIES_RELEASE}") + separate_arguments(MSBUILD_LIBRARIES_DEBUG WINDOWS_COMMAND "${MSBUILD_LIBRARIES_DEBUG}") + endif() + vcpkg_cmake_get_vars(vars_file) + include("${vars_file}") + vcpkg_list(APPEND MSBUILD_INCLUDE_DIRS_RELEASE "${CURRENT_PACKAGES_DIR}/include" "${CURRENT_INSTALLED_DIR}/include") + vcpkg_list(APPEND MSBUILD_INCLUDE_DIRS_DEBUG "${CURRENT_PACKAGES_DIR}/include" "${CURRENT_INSTALLED_DIR}/include") + vcpkg_list(APPEND MSBUILD_LIBRARIES_DIRS_RELEASE "${CURRENT_PACKAGES_DIR}/lib" "${CURRENT_INSTALLED_DIR}/lib") + vcpkg_list(APPEND MSBUILD_LIBRARIES_DIRS_DEBUG "${CURRENT_PACKAGES_DIR}/debug/lib" "${CURRENT_INSTALLED_DIR}/debug/lib") + vcpkg_list(APPEND MSBUILD_LIBRARIES_RELEASE ${arg_ADDITIONAL_LIBS_RELEASE}) + vcpkg_list(APPEND MSBUILD_LIBRARIES_DEBUG ${arg_ADDITIONAL_LIBS_DEBUG}) + + vcpkg_list(PREPEND MSBUILD_INCLUDE_DIRS_RELEASE "%(AdditionalIncludeDirectories)") + vcpkg_list(PREPEND MSBUILD_INCLUDE_DIRS_DEBUG "%(AdditionalIncludeDirectories)") + vcpkg_list(PREPEND MSBUILD_LIBRARIES_DIRS_RELEASE "%(AdditionalLibraryDirectories)") + vcpkg_list(PREPEND MSBUILD_LIBRARIES_DIRS_DEBUG "%(AdditionalLibraryDirectories)") + vcpkg_list(PREPEND MSBUILD_LIBRARIES_RELEASE "%(AdditionalDependencies)") + vcpkg_list(PREPEND MSBUILD_LIBRARIES_DEBUG "%(AdditionalDependencies)") + + configure_file("${CMAKE_CURRENT_FUNCTION_LIST_DIR}/vcpkg_msbuild.targets.in" "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/vcpkg_msbuild.targets") + configure_file("${CMAKE_CURRENT_FUNCTION_LIST_DIR}/vcpkg_msbuild.props.in" "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/vcpkg_msbuild.props") + set(${arg_OUTPUT_PROPS} "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/vcpkg_msbuild.props" PARENT_SCOPE) + set(${arg_OUTPUT_TARGETS} "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/vcpkg_msbuild.targets" PARENT_SCOPE) +endfunction() diff --git a/ports/vcpkg-pkgconfig-get-modules/README.md b/ports/vcpkg-pkgconfig-get-modules/README.md deleted file mode 100644 index ac99412c2484bd..00000000000000 --- a/ports/vcpkg-pkgconfig-get-modules/README.md +++ /dev/null @@ -1,6 +0,0 @@ -# vcpkg-pkgconfig-get-modules - -**Experimental: will change or be removed at any time** - -`vcpkg-pkgconfig-get-modules` provides `x_vcpkg_pkgconfig_get_modules()`, a function which simplifies calling -`pkg-config` in portfiles in order to gather dependencies for exotic buildsystems. diff --git a/ports/vcpkg-pkgconfig-get-modules/copyright b/ports/vcpkg-pkgconfig-get-modules/copyright deleted file mode 100644 index 2e4eac8264fa4c..00000000000000 --- a/ports/vcpkg-pkgconfig-get-modules/copyright +++ /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/vcpkg-pkgconfig-get-modules/portfile.cmake b/ports/vcpkg-pkgconfig-get-modules/portfile.cmake index 18df919b49f362..89af9f2948684d 100644 --- a/ports/vcpkg-pkgconfig-get-modules/portfile.cmake +++ b/ports/vcpkg-pkgconfig-get-modules/portfile.cmake @@ -1,12 +1,8 @@ -if(NOT TARGET_TRIPLET STREQUAL HOST_TRIPLET) - # make FATAL_ERROR in CI when issue #16773 fixed - message(WARNING "vcpkg-pkgconfig-get-modules is a host-only port; please mark it as a host port in your dependencies.") -endif() +set(VCPKG_POLICY_CMAKE_HELPER_PORT enabled) file(COPY - "${CMAKE_CURRENT_LIST_DIR}/x_vcpkg_pkgconfig_get_modules.cmake" - "${CMAKE_CURRENT_LIST_DIR}/vcpkg-port-config.cmake" - "${CMAKE_CURRENT_LIST_DIR}/copyright" + "${CURRENT_PORT_DIR}/vcpkg-port-config.cmake" + "${CURRENT_PORT_DIR}/x_vcpkg_pkgconfig_get_modules.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -set(VCPKG_POLICY_EMPTY_PACKAGE enabled) +vcpkg_install_copyright(FILE_LIST "${VCPKG_ROOT_DIR}/LICENSE.txt") diff --git a/ports/vcpkg-pkgconfig-get-modules/vcpkg.json b/ports/vcpkg-pkgconfig-get-modules/vcpkg.json index 3098b94f3fd7a1..70e62dfc065489 100644 --- a/ports/vcpkg-pkgconfig-get-modules/vcpkg.json +++ b/ports/vcpkg-pkgconfig-get-modules/vcpkg.json @@ -1,5 +1,10 @@ { "name": "vcpkg-pkgconfig-get-modules", - "version-date": "2021-04-02", - "port-version": 1 + "version-date": "2024-04-03", + "documentation": "https://learn.microsoft.com/vcpkg/maintainers/functions/vcpkg_pkgconfig_get_modules", + "license": "MIT", + "supports": "native", + "dependencies": [ + "pkgconf" + ] } diff --git a/ports/vcpkg-pkgconfig-get-modules/x_vcpkg_pkgconfig_get_modules.cmake b/ports/vcpkg-pkgconfig-get-modules/x_vcpkg_pkgconfig_get_modules.cmake index cfe417be0a1cd3..86af5bbb5c777e 100644 --- a/ports/vcpkg-pkgconfig-get-modules/x_vcpkg_pkgconfig_get_modules.cmake +++ b/ports/vcpkg-pkgconfig-get-modules/x_vcpkg_pkgconfig_get_modules.cmake @@ -1,62 +1,27 @@ -#[===[.md: -# x_vcpkg_pkgconfig_get_modules - -Experimental -Retrieve required module information from pkgconfig modules - -## Usage -```cmake -x_vcpkg_pkgconfig_get_modules( - PREFIX - MODULES ... - [LIBS] - [LIBRARIES] - [LIBRARIES_DIRS] - [INCLUDE_DIRS] -) -``` -## Parameters - -### PREFIX -Used variable prefix to use - -### MODULES -List of pkgconfig modules to retrieve information for. - -### LIBS -Returns `"${PKGCONFIG}" --libs` in _LIBS_(DEBUG|RELEASE) - -### LIBRARIES -Returns `"${PKGCONFIG}" --libs-only-l` in _LIBRARIES_(DEBUG|RELEASE) - -### LIBRARIES_DIRS -Returns `"${PKGCONFIG}" --libs-only-L` in _LIBRARIES_DIRS_(DEBUG|RELEASE) - -### INCLUDE_DIRS -Returns `"${PKGCONFIG}" --cflags-only-I` in _INCLUDE_DIRS_(DEBUG|RELEASE) - -## Examples - -* [qt5-base](https://github.com/microsoft/vcpkg/blob/master/ports/qt5-base/portfile.cmake) -#]===] -if(Z_VCPKG_PKGCONFIG_GET_MODULES_GUARD) - return() -endif() -set(Z_VCPKG_PKGCONFIG_GET_MODULES_GUARD ON CACHE INTERNAL "guard variable") +include_guard(GLOBAL) function(x_vcpkg_pkgconfig_get_modules) - cmake_parse_arguments(PARSE_ARGV 0 "arg" "LIBS;LIBRARIES;LIBRARIES_DIR;INCLUDE_DIRS" "PREFIX" "MODULES") + cmake_parse_arguments(PARSE_ARGV 0 "arg" "CFLAGS;LIBS;LIBRARIES;LIBRARIES_DIR;LIBRARIES_DIRS;INCLUDE_DIRS;USE_MSVC_SYNTAX_ON_WINDOWS" "PREFIX" "MODULES") if(NOT DEFINED arg_PREFIX OR arg_PREFIX STREQUAL "") message(FATAL_ERROR "x_vcpkg_pkgconfig_get_modules requires parameter PREFIX!") endif() if(NOT DEFINED arg_MODULES OR arg_MODULES STREQUAL "") message(FATAL_ERROR "x_vcpkg_pkgconfig_get_modules requires parameter MODULES!") endif() + if(arg_LIBRARIES_DIR) + # Legacy. Remove in 2025. + message(WARNING "x_vcpkg_pkgconfig_get_modules parameter LIBRARIES_DIR is a no-op. Use LIBRARIES_DIRS instead.") + endif() if(DEFINED arg_UNPARSED_ARGUMENTS) message(FATAL_ERROR "extra arguments passed to x_vcpkg_pkgconfig_get_modules: ${arg_UNPARSED_ARGUMENTS}") endif() + set(msvc "") + if(arg_USE_MSVC_SYNTAX_ON_WINDOWS AND VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + set(msvc "--msvc-syntax") + endif() + + set(PKGCONFIG "${CURRENT_HOST_INSTALLED_DIR}/tools/pkgconf/pkgconf${VCPKG_HOST_EXECUTABLE_SUFFIX}") - vcpkg_find_acquire_program(PKGCONFIG) set(backup_PKG_CONFIG_PATH "$ENV{PKG_CONFIG_PATH}") set(var_suffixes) @@ -64,71 +29,97 @@ function(x_vcpkg_pkgconfig_get_modules) z_vcpkg_set_pkgconfig_path("${CURRENT_INSTALLED_DIR}/lib/pkgconfig${VCPKG_HOST_PATH_SEPARATOR}${CURRENT_PACKAGES_DIR}/lib/pkgconfig" "${backup_PKG_CONFIG_PATH}") if(arg_LIBS) execute_process( - COMMAND "${PKGCONFIG}" --libs ${arg_MODULES} + COMMAND "${PKGCONFIG}" ${msvc} --libs ${arg_MODULES} OUTPUT_VARIABLE ${arg_PREFIX}_LIBS_RELEASE OUTPUT_STRIP_TRAILING_WHITESPACE + COMMAND_ERROR_IS_FATAL ANY ) list(APPEND var_suffixes LIBS_RELEASE) endif() if(arg_LIBRARIES) execute_process( - COMMAND "${PKGCONFIG}" --libs-only-l ${arg_MODULES} + COMMAND "${PKGCONFIG}" ${msvc} --libs-only-l ${arg_MODULES} OUTPUT_VARIABLE ${arg_PREFIX}_LIBRARIES_RELEASE OUTPUT_STRIP_TRAILING_WHITESPACE + COMMAND_ERROR_IS_FATAL ANY ) list(APPEND var_suffixes LIBRARIES_RELEASE) endif() if(arg_LIBRARIES_DIRS) execute_process( - COMMAND "${PKGCONFIG}" --libs-only-L ${arg_MODULES} + COMMAND "${PKGCONFIG}" ${msvc} --libs-only-L ${arg_MODULES} OUTPUT_VARIABLE ${arg_PREFIX}_LIBRARIES_DIRS_RELEASE OUTPUT_STRIP_TRAILING_WHITESPACE + COMMAND_ERROR_IS_FATAL ANY ) list(APPEND var_suffixes LIBRARIES_DIRS_RELEASE) endif() if(arg_INCLUDE_DIRS) execute_process( - COMMAND "${PKGCONFIG}" --cflags-only-I ${arg_MODULES} + COMMAND "${PKGCONFIG}" ${msvc} --cflags-only-I ${arg_MODULES} OUTPUT_VARIABLE ${arg_PREFIX}_INCLUDE_DIRS_RELEASE OUTPUT_STRIP_TRAILING_WHITESPACE + COMMAND_ERROR_IS_FATAL ANY ) list(APPEND var_suffixes INCLUDE_DIRS_RELEASE) endif() + if(arg_CFLAGS) + execute_process( + COMMAND "${PKGCONFIG}" ${msvc} --cflags ${arg_MODULES} + OUTPUT_VARIABLE ${arg_PREFIX}_CFLAGS_RELEASE + OUTPUT_STRIP_TRAILING_WHITESPACE + COMMAND_ERROR_IS_FATAL ANY + ) + list(APPEND var_suffixes CFLAGS_RELEASE) + endif() endif() if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") z_vcpkg_set_pkgconfig_path("${CURRENT_INSTALLED_DIR}/debug/lib/pkgconfig${VCPKG_HOST_PATH_SEPARATOR}${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig" "${backup_PKG_CONFIG_PATH}") if(arg_LIBS) execute_process( - COMMAND "${PKGCONFIG}" --libs ${arg_MODULES} + COMMAND "${PKGCONFIG}" ${msvc} --libs ${arg_MODULES} OUTPUT_VARIABLE ${arg_PREFIX}_LIBS_DEBUG OUTPUT_STRIP_TRAILING_WHITESPACE + COMMAND_ERROR_IS_FATAL ANY ) list(APPEND var_suffixes LIBS_DEBUG) endif() if(arg_LIBRARIES) execute_process( - COMMAND "${PKGCONFIG}" --libs-only-l ${arg_MODULES} + COMMAND "${PKGCONFIG}" ${msvc} --libs-only-l ${arg_MODULES} OUTPUT_VARIABLE ${arg_PREFIX}_LIBRARIES_DEBUG OUTPUT_STRIP_TRAILING_WHITESPACE + COMMAND_ERROR_IS_FATAL ANY ) list(APPEND var_suffixes LIBRARIES_DEBUG) endif() if(arg_LIBRARIES_DIRS) execute_process( - COMMAND "${PKGCONFIG}" --libs-only-L ${arg_MODULES} + COMMAND "${PKGCONFIG}" ${msvc} --libs-only-L ${arg_MODULES} OUTPUT_VARIABLE ${arg_PREFIX}_LIBRARIES_DIRS_DEBUG OUTPUT_STRIP_TRAILING_WHITESPACE + COMMAND_ERROR_IS_FATAL ANY ) list(APPEND var_suffixes LIBRARIES_DIRS_DEBUG) endif() if(arg_INCLUDE_DIRS) execute_process( - COMMAND "${PKGCONFIG}" --cflags-only-I ${arg_MODULES} + COMMAND "${PKGCONFIG}" ${msvc} --cflags-only-I ${arg_MODULES} OUTPUT_VARIABLE ${arg_PREFIX}_INCLUDE_DIRS_DEBUG OUTPUT_STRIP_TRAILING_WHITESPACE + COMMAND_ERROR_IS_FATAL ANY ) list(APPEND var_suffixes INCLUDE_DIRS_DEBUG) endif() + if(arg_CFLAGS) + execute_process( + COMMAND "${PKGCONFIG}" ${msvc} --cflags ${arg_MODULES} + OUTPUT_VARIABLE ${arg_PREFIX}_CFLAGS_DEBUG + OUTPUT_STRIP_TRAILING_WHITESPACE + COMMAND_ERROR_IS_FATAL ANY + ) + list(APPEND var_suffixes CFLAGS_DEBUG) + endif() endif() set(ENV{PKG_CONFIG_PATH} "${backup_PKG_CONFIG_PATH}") diff --git a/ports/vcpkg-qmake/portfile.cmake b/ports/vcpkg-qmake/portfile.cmake new file mode 100644 index 00000000000000..24e9eb17cc3de9 --- /dev/null +++ b/ports/vcpkg-qmake/portfile.cmake @@ -0,0 +1,10 @@ +file(INSTALL + "${CMAKE_CURRENT_LIST_DIR}/vcpkg_qmake_configure.cmake" + "${CMAKE_CURRENT_LIST_DIR}/vcpkg_qmake_build.cmake" + "${CMAKE_CURRENT_LIST_DIR}/vcpkg_qmake_install.cmake" + "${CMAKE_CURRENT_LIST_DIR}/z_vcpkg_qmake_fix_makefiles.cmake" + "${CMAKE_CURRENT_LIST_DIR}/vcpkg-port-config.cmake" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") + +file(INSTALL "${VCPKG_ROOT_DIR}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +set(VCPKG_POLICY_CMAKE_HELPER_PORT enabled) diff --git a/ports/vcpkg-qmake/vcpkg-port-config.cmake b/ports/vcpkg-qmake/vcpkg-port-config.cmake new file mode 100644 index 00000000000000..b95854c03dfd00 --- /dev/null +++ b/ports/vcpkg-qmake/vcpkg-port-config.cmake @@ -0,0 +1,7 @@ +include_guard(GLOBAL) +include("${CMAKE_CURRENT_LIST_DIR}/../vcpkg-cmake-get-vars/vcpkg-port-config.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/z_vcpkg_qmake_fix_makefiles.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/vcpkg_qmake_configure.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/vcpkg_qmake_build.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/vcpkg_qmake_install.cmake") + diff --git a/ports/vcpkg-qmake/vcpkg.json b/ports/vcpkg-qmake/vcpkg.json new file mode 100644 index 00000000000000..77d1a9407becd9 --- /dev/null +++ b/ports/vcpkg-qmake/vcpkg.json @@ -0,0 +1,19 @@ +{ + "name": "vcpkg-qmake", + "version-date": "2023-03-22", + "port-version": 3, + "documentation": "https://vcpkg.io/en/docs/README.html", + "license": "MIT", + "supports": "native", + "dependencies": [ + "pkgconf", + { + "name": "qtbase", + "default-features": false + }, + { + "name": "vcpkg-cmake-get-vars", + "host": true + } + ] +} diff --git a/ports/vcpkg-qmake/vcpkg_qmake_build.cmake b/ports/vcpkg-qmake/vcpkg_qmake_build.cmake new file mode 100644 index 00000000000000..1f269cf52511bd --- /dev/null +++ b/ports/vcpkg-qmake/vcpkg_qmake_build.cmake @@ -0,0 +1,72 @@ +include_guard(GLOBAL) + +function(z_run_jom_build invoke_command targets log_prefix log_suffix) + message(STATUS "Package ${log_prefix}-${TARGET_TRIPLET}-${log_suffix}") + vcpkg_execute_build_process( + COMMAND "${invoke_command}" -j ${VCPKG_CONCURRENCY} ${targets} + NO_PARALLEL_COMMAND "${invoke_command}" -j 1 ${targets} + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${log_suffix}" + LOGNAME "package-${log_prefix}-${TARGET_TRIPLET}-${log_suffix}" + ) +endfunction() + +function(vcpkg_qmake_build) + # parse parameters such that semicolons in options arguments to COMMAND don't get erased + cmake_parse_arguments(PARSE_ARGV 0 arg + "SKIP_MAKEFILES" + "BUILD_LOGNAME" + "TARGETS;RELEASE_TARGETS;DEBUG_TARGETS" + ) + + # Make sure that the linker finds the libraries used + vcpkg_backup_env_variables(VARS PATH LD_LIBRARY_PATH) + + if(CMAKE_HOST_WIN32) + if (VCPKG_QMAKE_USE_NMAKE) + find_program(NMAKE nmake) + set(invoke_command "${NMAKE}") + get_filename_component(nmake_exe_path "${NMAKE}" DIRECTORY) + vcpkg_host_path_list(APPEND ENV{PATH} "${nmake_exe_path}") + else() + vcpkg_find_acquire_program(JOM) + set(invoke_command "${JOM}") + endif() + else() + find_program(MAKE make) + set(invoke_command "${MAKE}") + endif() + + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}" NATIVE_INSTALLED_DIR) + + if(NOT DEFINED arg_BUILD_LOGNAME) + set(arg_BUILD_LOGNAME build) + endif() + + set(short_name_debug "dbg") + set(path_suffix_debug "/debug") + set(targets_debug "${arg_DEBUG_TARGETS}") + + set(short_name_release "rel") + set(path_suffix_release "") + set(targets_release "${arg_RELEASE_TARGETS}") + + if(NOT DEFINED VCPKG_BUILD_TYPE) + set(items debug release) + else() + set(items release) + endif() + foreach(build_type IN ITEMS ${items}) + set(current_installed_prefix "${CURRENT_INSTALLED_DIR}${path_suffix_${build_type}}") + + vcpkg_add_to_path(PREPEND "${current_installed_prefix}/lib" "${current_installed_prefix}/bin") + + vcpkg_list(SET targets ${targets_${build_type}} ${arg_TARGETS}) + if(NOT arg_SKIP_MAKEFILES) + z_run_jom_build("${invoke_command}" qmake_all makefiles "${short_name_${build_type}}") + z_vcpkg_qmake_fix_makefiles("${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${short_name_${build_type}}") + endif() + z_run_jom_build("${invoke_command}" "${targets}" "${arg_BUILD_LOGNAME}" "${short_name_${build_type}}") + + vcpkg_restore_env_variables(VARS PATH LD_LIBRARY_PATH) + endforeach() +endfunction() diff --git a/ports/vcpkg-qmake/vcpkg_qmake_configure.cmake b/ports/vcpkg-qmake/vcpkg_qmake_configure.cmake new file mode 100644 index 00000000000000..c6458bf231ef5b --- /dev/null +++ b/ports/vcpkg-qmake/vcpkg_qmake_configure.cmake @@ -0,0 +1,174 @@ +include_guard(GLOBAL) + +function(vcpkg_qmake_configure) + cmake_parse_arguments(PARSE_ARGV 0 arg "" "SOURCE_PATH" "QMAKE_OPTIONS;QMAKE_OPTIONS_RELEASE;QMAKE_OPTIONS_DEBUG;OPTIONS;OPTIONS_RELEASE;OPTIONS_DEBUG") + + vcpkg_cmake_get_vars(detected_file) + include("${detected_file}") + + if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + vcpkg_list(APPEND arg_QMAKE_OPTIONS "CONFIG-=shared") + vcpkg_list(APPEND arg_QMAKE_OPTIONS "CONFIG*=static") + else() + vcpkg_list(APPEND arg_QMAKE_OPTIONS "CONFIG-=static") + vcpkg_list(APPEND arg_QMAKE_OPTIONS "CONFIG*=shared") + vcpkg_list(APPEND arg_QMAKE_OPTIONS_DEBUG "CONFIG*=separate_debug_info") + endif() + if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_CRT_LINKAGE STREQUAL "static") + vcpkg_list(APPEND arg_QMAKE_OPTIONS "CONFIG*=static-runtime") + endif() + + set(ENV{PKG_CONFIG} "${CURRENT_HOST_INSTALLED_DIR}/tools/pkgconf/pkgconf${VCPKG_HOST_EXECUTABLE_SUFFIX}") + get_filename_component(PKGCONFIG_PATH "${PKGCONFIG}" DIRECTORY) + vcpkg_add_to_path("${PKGCONFIG_PATH}") + + set(buildtypes "") + if(NOT VCPKG_BUILD_TYPE OR "${VCPKG_BUILD_TYPE}" STREQUAL "debug") + list(APPEND buildtypes "DEBUG") # Using uppercase to also access the detected cmake variables with it + set(path_suffix_DEBUG "debug/") + set(short_name_DEBUG "dbg") + set(qmake_config_DEBUG CONFIG+=debug CONFIG-=release) + endif() + if(NOT VCPKG_BUILD_TYPE OR "${VCPKG_BUILD_TYPE}" STREQUAL "release") + list(APPEND buildtypes "RELEASE") + set(path_suffix_RELEASE "") + set(short_name_RELEASE "rel") + set(qmake_config_RELEASE CONFIG-=debug CONFIG+=release) + endif() + + function(qmake_append_program var qmake_var value) + get_filename_component(prog "${value}" NAME) + # QMake assumes everything is on PATH? + vcpkg_list(APPEND ${var} "${qmake_var}=${prog}") + find_program(${qmake_var} NAMES "${prog}") + cmake_path(COMPARE "${${qmake_var}}" EQUAL "${value}" correct_prog_on_path) + if(NOT correct_prog_on_path AND NOT "${value}" MATCHES "|:") + message(FATAL_ERROR "Detect path mismatch for '${qmake_var}'. '${value}' is not the same as '${${qmake_var}}'. Please correct your PATH!") + endif() + unset(${qmake_var}) + unset(${qmake_var} CACHE) + set(${var} "${${var}}" PARENT_SCOPE) # Is this correct? Or is there a vcpkg_list command for that? + endfunction() + # Setup Build tools + if(NOT VCPKG_QMAKE_COMMAND) # For users using outside Qt6 + set(VCPKG_QMAKE_COMMAND "${CURRENT_HOST_INSTALLED_DIR}/tools/Qt6/bin/qmake${VCPKG_HOST_EXECUTABLE_SUFFIX}") + endif() + + if(VCPKG_TARGET_IS_OSX) + # Get Qt version + execute_process( + COMMAND ${VCPKG_QMAKE_COMMAND} -query QT_VERSION + OUTPUT_VARIABLE QT_VERSION + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + + if(DEFINED VCPKG_OSX_DEPLOYMENT_TARGET) + vcpkg_list(APPEND arg_QMAKE_OPTIONS "QMAKE_MACOSX_DEPLOYMENT_TARGET=${VCPKG_OSX_DEPLOYMENT_TARGET}") + elseif(${QT_VERSION} VERSION_GREATER_EQUAL 6) + # https://doc.qt.io/qt-6/macos.html + vcpkg_list(APPEND arg_QMAKE_OPTIONS "QMAKE_MACOSX_DEPLOYMENT_TARGET=10.15") + else() # Qt5 + # https://doc.qt.io/qt-5/macos.html + vcpkg_list(APPEND arg_QMAKE_OPTIONS "QMAKE_MACOSX_DEPLOYMENT_TARGET=10.13") + endif() + endif() + + set(qmake_build_tools "") + qmake_append_program(qmake_build_tools "QMAKE_CC" "${VCPKG_DETECTED_CMAKE_C_COMPILER}") + qmake_append_program(qmake_build_tools "QMAKE_CXX" "${VCPKG_DETECTED_CMAKE_CXX_COMPILER}") + qmake_append_program(qmake_build_tools "QMAKE_AR" "${VCPKG_DETECTED_CMAKE_AR}") + qmake_append_program(qmake_build_tools "QMAKE_RANLIB" "${VCPKG_DETECTED_CMAKE_RANLIB}") + qmake_append_program(qmake_build_tools "QMAKE_STRIP" "${VCPKG_DETECTED_CMAKE_STRIP}") + qmake_append_program(qmake_build_tools "QMAKE_NM" "${VCPKG_DETECTED_CMAKE_NM}") + qmake_append_program(qmake_build_tools "QMAKE_RC" "${VCPKG_DETECTED_CMAKE_RC_COMPILER}") + qmake_append_program(qmake_build_tools "QMAKE_MT" "${VCPKG_DETECTED_CMAKE_MT}") + + if(NOT VCPKG_TARGET_IS_WINDOWS OR VCPKG_DETECTED_CMAKE_AR MATCHES "ar$") + vcpkg_list(APPEND qmake_build_tools "QMAKE_AR+=qc") + endif() + + if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + qmake_append_program(qmake_build_tools "QMAKE_LIB" "${VCPKG_DETECTED_CMAKE_AR}") + qmake_append_program(qmake_build_tools "QMAKE_LINK" "${VCPKG_DETECTED_CMAKE_LINKER}") + else() + qmake_append_program(qmake_build_tools "QMAKE_LINK" "${VCPKG_DETECTED_CMAKE_CXX_COMPILER}") + qmake_append_program(qmake_build_tools "QMAKE_LINK_SHLIB" "${VCPKG_DETECTED_CMAKE_CXX_COMPILER}") + qmake_append_program(qmake_build_tools "QMAKE_LINK_C" "${VCPKG_DETECTED_CMAKE_C_COMPILER}") + qmake_append_program(qmake_build_tools "QMAKE_LINK_C_SHLIB" "${VCPKG_DETECTED_CMAKE_C_COMPILER}") + endif() + + if(DEFINED VCPKG_QT_TARGET_MKSPEC) + vcpkg_list(APPEND arg_QMAKE_OPTIONS "-spec" "${VCPKG_QT_TARGET_MKSPEC}") + endif() + + foreach(buildtype IN LISTS buildtypes) + set(short "${short_name_${buildtype}}") + string(TOLOWER "${buildtype}" lowerbuildtype) + set(prefix "${CURRENT_INSTALLED_DIR}${path_suffix_${buildtype}}") + set(prefix_package "${CURRENT_PACKAGES_DIR}${path_suffix_${buildtype}}") + set(config_triplet "${TARGET_TRIPLET}-${short}") + # Cleanup build directories + file(REMOVE_RECURSE "${CURRENT_BUILDTREES_DIR}/${config_triplet}") + + set(qmake_comp_flags "") + macro(qmake_add_flags qmake_var operation flags) + string(STRIP "${flags}" striped_flags) + if(striped_flags) + vcpkg_list(APPEND qmake_comp_flags "${qmake_var}${operation}${striped_flags}") + endif() + endmacro() + + qmake_add_flags("QMAKE_LIBS" "+=" "${VCPKG_DETECTED_CMAKE_C_STANDARD_LIBRARIES} ${VCPKG_DETECTED_CMAKE_CXX_STANDARD_LIBRARIES}") + qmake_add_flags("QMAKE_RC" "+=" "${VCPKG_COMBINED_RC_FLAGS_${buildtype}}") # not exported by vcpkg_cmake_get_vars yet + qmake_add_flags("QMAKE_CFLAGS_${buildtype}" "+=" "${VCPKG_COMBINED_C_FLAGS_${buildtype}}") + qmake_add_flags("QMAKE_CXXFLAGS_${buildtype}" "+=" "${VCPKG_COMBINED_CXX_FLAGS_${buildtype}}") + qmake_add_flags("QMAKE_LFLAGS" "+=" "${VCPKG_COMBINED_STATIC_LINKER_FLAGS_${buildtype}}") + qmake_add_flags("QMAKE_LFLAGS_SHLIB" "+=" "${VCPKG_COMBINED_SHARED_LINKER_FLAGS_${buildtype}}") + qmake_add_flags("QMAKE_LFLAGS_PLUGIN" "+=" "${VCPKG_COMBINED_MODULE_LINKER_FLAGS_${buildtype}}") + qmake_add_flags("QMAKE_LIBFLAGS" "+=" "${VCPKG_COMBINED_STATIC_LINKER_FLAGS_${buildtype}}") + qmake_add_flags("QMAKE_LIBFLAGS_${buildtype}" "+=" "${VCPKG_COMBINED_STATIC_LINKER_FLAGS_${buildtype}}") + vcpkg_list(APPEND qmake_build_tools "QMAKE_AR+=${VCPKG_COMBINED_STATIC_LINKER_FLAGS_${buildtype}}") + + # QMAKE_CXXFLAGS_SHLIB + + # Setup qt.conf + if(NOT VCPKG_QT_CONF_${buildtype}) + set(VCPKG_QT_CONF_${buildtype} "${CURRENT_INSTALLED_DIR}/tools/Qt6/qt_${lowerbuildtype}.conf") + else() + # Let a supplied qt.conf override everything. + # The file will still be configured so users might use the variables within this scope. + set(qmake_build_tools "") + set(qmake_comp_flags "") + endif() + configure_file("${VCPKG_QT_CONF_${buildtype}}" "${CURRENT_BUILDTREES_DIR}/${config_triplet}/qt.conf") + + vcpkg_backup_env_variables(VARS PKG_CONFIG_PATH) + vcpkg_host_path_list(PREPEND PKG_CONFIG_PATH "${prefix}/lib/pkgconfig" "${CURRENT_INSTALLED_DIR}/share/pkgconfig") + + message(STATUS "Configuring ${config_triplet}") + if(DEFINED arg_OPTIONS OR DEFINED arg_OPTIONS_${buildtype}) + set(options -- ${arg_OPTIONS} ${arg_OPTIONS_${buildtype}}) + endif() + # Options might need to go into a response file? I am a bit concerned about cmd line length. + vcpkg_execute_required_process( + COMMAND ${VCPKG_QMAKE_COMMAND} ${qmake_config_${buildtype}} + ${arg_QMAKE_OPTIONS} ${arg_QMAKE_OPTIONS_${buildtype}} + ${VCPKG_QMAKE_OPTIONS} ${VCPKG_QMAKE_OPTIONS_${buildtype}} # Advanced users need a way to inject QMAKE variables via the triplet. + ${qmake_build_tools} ${qmake_comp_flags} + "${arg_SOURCE_PATH}" + -qtconf "${CURRENT_BUILDTREES_DIR}/${config_triplet}/qt.conf" + ${options} + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${config_triplet}" + LOGNAME config-${config_triplet} + SAVE_LOG_FILES config.log + ) + z_vcpkg_qmake_fix_makefiles("${CURRENT_BUILDTREES_DIR}/${config_triplet}") + message(STATUS "Configuring ${config_triplet} done") + + vcpkg_restore_env_variables(VARS PKG_CONFIG_PATH) + if(EXISTS "${CURRENT_BUILDTREES_DIR}/${config_triplet}/config.log") + file(REMOVE "${CURRENT_BUILDTREES_DIR}/internal-config-${config_triplet}.log") + file(RENAME "${CURRENT_BUILDTREES_DIR}/${config_triplet}/config.log" "${CURRENT_BUILDTREES_DIR}/internal-config-${config_triplet}.log") + endif() + endforeach() +endfunction() \ No newline at end of file diff --git a/ports/vcpkg-qmake/vcpkg_qmake_install.cmake b/ports/vcpkg-qmake/vcpkg_qmake_install.cmake new file mode 100644 index 00000000000000..ce2e2063759a33 --- /dev/null +++ b/ports/vcpkg-qmake/vcpkg_qmake_install.cmake @@ -0,0 +1,46 @@ +#[===[.md: +# vcpkg_qmake_install + +Build and install a qmake project. + +## Usage: +```cmake +vcpkg_qmake_install(...) +``` + +## Parameters: +See [`vcpkg_qmake_build()`](vcpkg_qmake_build.md). + +## Notes: +This command transparently forwards to [`vcpkg_qmake_build()`](vcpkg_qmake_build.md). +and appends the 'install' target + +#]===] + +function(z_vcpkg_qmake_fix_prl PACKAGE_DIR PRL_FILES) + file(TO_CMAKE_PATH "${PACKAGE_DIR}/lib" CMAKE_LIB_PATH) + file(TO_CMAKE_PATH "${PACKAGE_DIR}/include/Qt6" CMAKE_INCLUDE_PATH_QT6) + file(TO_CMAKE_PATH "${PACKAGE_DIR}/include" CMAKE_INCLUDE_PATH) + file(TO_CMAKE_PATH "${CURRENT_INSTALLED_DIR}" CMAKE_INSTALLED_PREFIX) + foreach(PRL_FILE IN LISTS PRL_FILES) + file(READ "${PRL_FILE}" _contents) + string(REPLACE "${CMAKE_LIB_PATH}" "\$\$[QT_INSTALL_LIBS]" _contents "${_contents}") + string(REPLACE "${CMAKE_INCLUDE_PATH_QT6}" "\$\$[QT_INSTALL_HEADERS]" _contents "${_contents}") + string(REPLACE "${CMAKE_INCLUDE_PATH}" "\$\$[QT_INSTALL_HEADERS]/../" _contents "${_contents}") + string(REPLACE "${CMAKE_INSTALLED_PREFIX}" "\$\$[QT_INSTALL_PREFIX]" _contents "${_contents}") + string(REGEX REPLACE "QMAKE_PRL_BUILD_DIR[^\\\n]+" "QMAKE_PRL_BUILD_DIR =" _contents "${_contents}") + #Note: This only works without an extra if case since QT_INSTALL_PREFIX is the same for debug and release + file(WRITE "${PRL_FILE}" "${_contents}") + endforeach() +endfunction() + +function(vcpkg_qmake_install) + z_vcpkg_function_arguments(args) + vcpkg_qmake_build(${args}) + vcpkg_qmake_build(SKIP_MAKEFILES BUILD_LOGNAME "install" TARGETS "install") + + # Fix absolute paths in prl files + file(GLOB_RECURSE prl_files "${CURRENT_PACKAGES_DIR}/**.prl") + debug_message(STATUS "prl_files:${prl_files}") + z_vcpkg_qmake_fix_prl("${CURRENT_PACKAGES_DIR}" "${prl_files}") +endfunction() diff --git a/ports/vcpkg-qmake/z_vcpkg_qmake_fix_makefiles.cmake b/ports/vcpkg-qmake/z_vcpkg_qmake_fix_makefiles.cmake new file mode 100644 index 00000000000000..1a940e0c7d84f0 --- /dev/null +++ b/ports/vcpkg-qmake/z_vcpkg_qmake_fix_makefiles.cmake @@ -0,0 +1,29 @@ +include_guard(GLOBAL) +function(z_vcpkg_qmake_fix_makefiles BUILD_DIR) + #Fix the installation location + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}" NATIVE_INSTALLED_DIR) + file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}" NATIVE_PACKAGES_DIR) + + if(CMAKE_HOST_WIN32) + string(SUBSTRING "${NATIVE_INSTALLED_DIR}" 2 -1 INSTALLED_DIR_WITHOUT_DRIVE) + string(SUBSTRING "${NATIVE_PACKAGES_DIR}" 2 -1 PACKAGES_DIR_WITHOUT_DRIVE) + string(SUBSTRING "${NATIVE_INSTALLED_DIR}" 0 2 INSTALLED_DRIVE) + string(SUBSTRING "${NATIVE_PACKAGES_DIR}" 0 2 PACKAGES_DRIVE) + else() + set(INSTALLED_DRIVE "") + set(PACKAGES_DRIVE "") + set(INSTALLED_DIR_WITHOUT_DRIVE "${NATIVE_INSTALLED_DIR}") + set(PACKAGES_DIR_WITHOUT_DRIVE "${NATIVE_PACKAGES_DIR}") + endif() + + file(GLOB_RECURSE MAKEFILES "${BUILD_DIR}/**Makefile**") + + foreach(MAKEFILE ${MAKEFILES}) + #Set the correct install directory to packages + vcpkg_replace_string("${MAKEFILE}" + "${INSTALLED_DRIVE}$(INSTALL_ROOT)${INSTALLED_DIR_WITHOUT_DRIVE}" + "${PACKAGES_DRIVE}$(INSTALL_ROOT)${PACKAGES_DIR_WITHOUT_DRIVE}" + IGNORE_UNCHANGED) + endforeach() + +endfunction() \ No newline at end of file diff --git a/ports/vcpkg-tool-bazel/portfile.cmake b/ports/vcpkg-tool-bazel/portfile.cmake new file mode 100644 index 00000000000000..534b086e6a14b3 --- /dev/null +++ b/ports/vcpkg-tool-bazel/portfile.cmake @@ -0,0 +1,64 @@ +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) + +set(program bazel) +set(program_version 5.2.0) + +if(VCPKG_CROSSCOMPILING) + message(FATAL_ERROR "This is a host only port!") +endif() + +if(VCPKG_TARGET_IS_LINUX) + set(tool_subdirectory "${program_version}-linux") + if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") + set(download_urls "https://github.com/bazelbuild/bazel/releases/download/${program_version}/bazel-${tool_subdirectory}-arm64") + set(download_filename "bazel-${tool_subdirectory}-arm64") + set(raw_executable ON) + set(download_sha512 11e953717f0edd599053a9c6ab849c266f6b34cd6f39dd99301a138aeb9d10113d055f7a2452f6ae601a9e9c19c816d22732958bb147e493dae9c63b13e0f1e0) + else() + set(download_urls "https://github.com/bazelbuild/bazel/releases/download/${program_version}/bazel-${tool_subdirectory}-x86_64") + set(download_filename "bazel-${tool_subdirectory}-x86_64") + set(raw_executable ON) + set(download_sha512 c9f117414f31bc85a1f6a91f3d1c0a4884a4bb346bb60b00599c2da8225d085f67bc865f1429c897681cb99471767171aed148c77ce80d9525841c873d9cc912) + endif() +elseif(VCPKG_TARGET_IS_OSX) + set(tool_subdirectory "${program_version}-darwin") + if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") + set(download_urls "https://github.com/bazelbuild/bazel/releases/download/${program_version}/bazel-${tool_subdirectory}-arm64") + set(download_filename "bazel-${tool_subdirectory}-arm64") + set(raw_executable ON) + set(download_sha512 303b5c897eab93fb164dda53ecf6294fd3376a5de17a752388f4e7f612a8a537acc7d99a021ca616c1d7989d10c3c14cd87689dad60b9f654bf75ecc606bb23e) + else() + set(download_urls "https://github.com/bazelbuild/bazel/releases/download/${program_version}/bazel-${tool_subdirectory}-x86_64") + set(download_filename "bazel-${tool_subdirectory}-x86_64") + set(raw_executable ON) + set(download_sha512 609db0a2f9d6eab292271b44acf08978159ca43a90f3228e32afe430e830f5418a041480d75e5b502be192897693f6b80a9ab9e7ce549e3655e188c39d29baaf) + endif() +elseif(VCPKG_TARGET_IS_WINDOWS) + set(tool_subdirectory "${program_version}-windows") + if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") + set(download_urls "https://github.com/bazelbuild/bazel/releases/download/${program_version}/bazel-${tool_subdirectory}-arm64.exe") + set(download_filename "bazel-${tool_subdirectory}-arm64.exe") + set(download_sha512 02c8f331daa3ea37319cf06d96618f433e297f749a1a6de863d243e2b826bfb12c058696cd6216afe38d35177f52cc1c66af98a8bcb191e198f436a44f2c2a1a) + else() + set(download_urls "https://github.com/bazelbuild/bazel/releases/download/${program_version}/bazel-${tool_subdirectory}-x86_64.exe") + set(download_filename "bazel-${tool_subdirectory}-x86_64.exe") + set(download_sha512 4917dd714345359c24e40451e20862b2ed705824ceffe536d42e56ffcd66fcea581317857dfb5339b56534b0681efd8376e8eebdcf9daff0d087444b060bdc53) + endif() +endif() + +vcpkg_download_distfile(archive_path + URLS ${download_urls} + SHA512 "${download_sha512}" + FILENAME "${download_filename}" +) +message(STATUS "archive_path: '${archive_path}'") + +file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools") +file(INSTALL "${archive_path}" + DESTINATION "${CURRENT_PACKAGES_DIR}/tools" + RENAME "${program}" + FILE_PERMISSIONS + OWNER_READ OWNER_WRITE OWNER_EXECUTE + GROUP_READ GROUP_EXECUTE + WORLD_READ WORLD_EXECUTE +) diff --git a/ports/vcpkg-tool-bazel/vcpkg.json b/ports/vcpkg-tool-bazel/vcpkg.json new file mode 100644 index 00000000000000..77357d21e19ac4 --- /dev/null +++ b/ports/vcpkg-tool-bazel/vcpkg.json @@ -0,0 +1,8 @@ +{ + "name": "vcpkg-tool-bazel", + "version": "5.2.0", + "description": "Bazel build system", + "homepage": "https://github.com/bazelbuild/bazel", + "license": "Apache-2.0", + "supports": "native" +} diff --git a/ports/vcpkg-tool-gn/portfile.cmake b/ports/vcpkg-tool-gn/portfile.cmake new file mode 100644 index 00000000000000..d47c46d538242a --- /dev/null +++ b/ports/vcpkg-tool-gn/portfile.cmake @@ -0,0 +1,56 @@ +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) + +set(program GN) +set(search_names gn gn.exe) +set(paths_to_search "${CURRENT_PACKAGES_DIR}/tools/gn") + +set(cipd_download_gn "https://chrome-infra-packages.appspot.com/dl/gn/gn") +if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Linux") + EXEC_PROGRAM(uname ARGS -m OUTPUT_VARIABLE HOST_ARCH OUTPUT_STRIP_TRAILING_WHITESPACE) + if(HOST_ARCH STREQUAL "aarch64") + set(program_version "3bH3TSyghUqRj8To2aE9yy4D_k_zCkymWkbwzaeEk34C") + set(gn_platform "linux-arm64") + set(download_sha512 "36604e7ca146f21a80c9a2463dcf09caa0c03c05507d93497884cb28da3582b9a695008d01be814e523e4a4982300ee7c717c2aa7fddbc8156736ec6b4251f9c") + else() + set(program_version "5v1Aw5ofON_P9Ds3nj1TzasiNIkS9eebfC3xe1lgCakC") + set(gn_platform "linux-amd64") + set(download_sha512 "325d9066e3c5f4e18b5489aaa060ea89f384d00ddc3d87fa329c455097c1b28f67f6e3baee2eaa54cd7f6c463cee3a4d473d0e69cd3390be91af91cbec347db1") + endif() +elseif(CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin") + set(supported_on_unix ON) + EXEC_PROGRAM(uname ARGS -m OUTPUT_VARIABLE HOST_ARCH OUTPUT_STRIP_TRAILING_WHITESPACE) + if(HOST_ARCH STREQUAL "arm64") + set(program_version "K29J_UnVaLzu0yYgA1orjyvrHXdkxoOSIPPPqZxN1IcC") + set(gn_platform "mac-arm64") + set(download_sha512 "5f8529eacf4ccd55de1060ade9da39145750516f983aaa1a53ebd6036565d0b638480327366f42c47a6eb3471c95842de0a2623c647f1a0d93cedd0907729208") + else() + set(program_version "oz5BCDwbV-uvEuigRPInDwZGFUGCTGFlCZBBn1AuZaQC") + set(gn_platform "mac-amd64") + set(download_sha512 "2f48b0f1f091e3ee424da4beb800a68f5d84b6b31ee633f3a32324508c2b96ecd2dcf0908353331eb100d11e2b1c6cfe7961cf53811de8f9951e36e88aff5272") + endif() +else() + set(program_version "gHozLqIHcmwMq96qzOqcgcOOK2XXE-W4nXQcchHFqKYC") + set(gn_platform "windows-amd64") + set(download_sha512 "2f471d4fa5f56cd72c43c5f2824f37a1baff3f26cd6c1ed43fe106153d0e654a4fb1460b01794ca3dae3104dfade81420fe1da04473e782eebab47909c9a566b") +endif() + +set(download_urls "${cipd_download_gn}/${gn_platform}/+/${program_version}") +set(download_filename "gn-${gn_platform}.zip") +vcpkg_download_distfile(archive_path + URLS ${download_urls} + SHA512 "${download_sha512}" + FILENAME "${download_filename}" +) +file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/gn") +vcpkg_execute_in_download_mode( + COMMAND "${CMAKE_COMMAND}" -E tar xzf "${archive_path}" + WORKING_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/gn" +) + +z_vcpkg_find_acquire_program_find_internal("${program}" + PATHS ${paths_to_search} + NAMES ${search_names} +) + +message(STATUS "Using gn: ${GN}") +file(WRITE "${CURRENT_PACKAGES_DIR}/share/gn/version.txt" "${program_version}") # For vcpkg_find_acquire_program diff --git a/ports/vcpkg-tool-gn/vcpkg.json b/ports/vcpkg-tool-gn/vcpkg.json new file mode 100644 index 00000000000000..a3604760ae55b2 --- /dev/null +++ b/ports/vcpkg-tool-gn/vcpkg.json @@ -0,0 +1,8 @@ +{ + "name": "vcpkg-tool-gn", + "version-date": "2024-02-22", + "description": "GN build system", + "homepage": "https://gn.googlesource.com/gn/", + "license": null, + "supports": "native" +} diff --git a/ports/vcpkg-tool-gyp-next/portfile.cmake b/ports/vcpkg-tool-gyp-next/portfile.cmake new file mode 100644 index 00000000000000..e319041ad2b600 --- /dev/null +++ b/ports/vcpkg-tool-gyp-next/portfile.cmake @@ -0,0 +1,21 @@ + +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) + +set(PROGNAME gyp-next) +set(GIT_REF ac262fe82453c4e8dc47529338d157eb0b5ec0fb) +set(ARCHIVE gyp-next-${GIT_REF}) + +vcpkg_download_distfile(ARCHIVE_PATH + URLS "https://github.com/nodejs/gyp-next/archive/${GIT_REF}.zip" + SHA512 5607762ab4ec7d67c09518832365bfa897e3d71b891d7ad8ec27cc41322c0f1113cd45048990d497d683cc4d02d98ed17f4f672f4e10f64736ee1e2af1578bd1 + FILENAME "${ARCHIVE}.zip" +) + +file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools") + +vcpkg_execute_in_download_mode( + COMMAND "${CMAKE_COMMAND}" -E tar xzf "${ARCHIVE_PATH}" + WORKING_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools" +) +file(GLOB_RECURSE folders "${CURRENT_PACKAGES_DIR}/tools/*" LIST_DIRECTORIES true) +file(RENAME "${CURRENT_PACKAGES_DIR}/tools/${ARCHIVE}" "${CURRENT_PACKAGES_DIR}/tools/gyp-next") diff --git a/ports/vcpkg-tool-gyp-next/vcpkg.json b/ports/vcpkg-tool-gyp-next/vcpkg.json new file mode 100644 index 00000000000000..0ba41b6f23ea9e --- /dev/null +++ b/ports/vcpkg-tool-gyp-next/vcpkg.json @@ -0,0 +1,6 @@ +{ + "name": "vcpkg-tool-gyp-next", + "version-date": "2022-10-15", + "description": "https://github.com/nodejs/gyp-next", + "supports": "native" +} diff --git a/ports/vcpkg-tool-lessmsi/portfile.cmake b/ports/vcpkg-tool-lessmsi/portfile.cmake new file mode 100644 index 00000000000000..96fcd1c7ff573b --- /dev/null +++ b/ports/vcpkg-tool-lessmsi/portfile.cmake @@ -0,0 +1,4 @@ +set(VCPKG_POLICY_CMAKE_HELPER_PORT enabled) + +configure_file("${CMAKE_CURRENT_LIST_DIR}/vcpkg-port-config.cmake" "${CURRENT_PACKAGES_DIR}/share/${PORT}/vcpkg-port-config.cmake" @ONLY) +file(INSTALL "${VCPKG_ROOT_DIR}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/vcpkg-tool-lessmsi/vcpkg-port-config.cmake b/ports/vcpkg-tool-lessmsi/vcpkg-port-config.cmake new file mode 100644 index 00000000000000..e1ea36d2c8c72a --- /dev/null +++ b/ports/vcpkg-tool-lessmsi/vcpkg-port-config.cmake @@ -0,0 +1,16 @@ +include_guard(GLOBAL) +set(version v1.10.0) +find_program(LESSMSI PATHS "${DOWNLOADS}/lessmsi-${version}") +if(NOT LESSMSI) + vcpkg_download_distfile(archive_path + URLS "https://github.com/activescott/lessmsi/releases/download/${version}/lessmsi-${version}.zip" + FILENAME "lessmsi-${version}.zip" + SHA512 91be9363d75e8ca0129304008ddc26fe575cc4fd76d7f43ef0a6ff414855dc1c6e412f4e694b2950026e02cc3d31b18bd8c2e4c03e1ddce01477f3f2d2197479 + ) + file(MAKE_DIRECTORY "${DOWNLOADS}/lessmsi-${version}") + file(ARCHIVE_EXTRACT + INPUT "${archive_path}" + DESTINATION "${DOWNLOADS}/lessmsi-${version}" + ) + set(LESSMSI "${DOWNLOADS}/lessmsi-${version}/lessmsi@VCPKG_TARGET_EXECUTABLE_SUFFIX@") +endif() diff --git a/ports/vcpkg-tool-lessmsi/vcpkg.json b/ports/vcpkg-tool-lessmsi/vcpkg.json new file mode 100644 index 00000000000000..d3284ac2833be5 --- /dev/null +++ b/ports/vcpkg-tool-lessmsi/vcpkg.json @@ -0,0 +1,9 @@ +{ + "name": "vcpkg-tool-lessmsi", + "version": "1.10.0", + "port-version": 1, + "description": "This is a utility with a graphical user interface and a command line interface that can be used to view and extract the contents of an MSI file.", + "homepage": "https://github.com/activescott/lessmsi", + "license": "MIT", + "supports": "native & windows" +} diff --git a/ports/vcpkg-tool-meson/adjust-args.patch b/ports/vcpkg-tool-meson/adjust-args.patch new file mode 100644 index 00000000000000..22caac2d461535 --- /dev/null +++ b/ports/vcpkg-tool-meson/adjust-args.patch @@ -0,0 +1,13 @@ +diff --git a/mesonbuild/cmake/toolchain.py b/mesonbuild/cmake/toolchain.py +index 7d73a7c..564e6de 100644 +--- a/mesonbuild/cmake/toolchain.py ++++ b/mesonbuild/cmake/toolchain.py +@@ -196,7 +196,7 @@ class CMakeToolchain: + @staticmethod + def is_cmdline_option(compiler: 'Compiler', arg: str) -> bool: + if compiler.get_argument_syntax() == 'msvc': +- return arg.startswith('/') ++ return arg.startswith(('/','-')) + else: + if compiler.exelist[0] == 'zig' and arg in {'ar', 'cc', 'c++', 'dlltool', 'lib', 'ranlib', 'objcopy', 'rc'}: + return True diff --git a/ports/vcpkg-tool-meson/adjust-python-dep.patch b/ports/vcpkg-tool-meson/adjust-python-dep.patch new file mode 100644 index 00000000000000..0cbfe717de9b83 --- /dev/null +++ b/ports/vcpkg-tool-meson/adjust-python-dep.patch @@ -0,0 +1,45 @@ +diff --git a/mesonbuild/dependencies/python.py b/mesonbuild/dependencies/python.py +index 883a29a..d9a82af 100644 +--- a/mesonbuild/dependencies/python.py ++++ b/mesonbuild/dependencies/python.py +@@ -232,8 +232,10 @@ class _PythonDependencyBase(_Base): + else: + if self.is_freethreaded: + libpath = Path('libs') / f'python{vernum}t.lib' ++ libpath = Path('libs') / f'..' / f'..' / f'..' / f'lib' / f'python{vernum}t.lib' + else: + libpath = Path('libs') / f'python{vernum}.lib' ++ libpath = Path('libs') / f'..' / f'..' / f'..' / f'lib' / f'python{vernum}.lib' + # For a debug build, pyconfig.h may force linking with + # pythonX_d.lib (see meson#10776). This cannot be avoided + # and won't work unless we also have a debug build of +@@ -250,6 +252,8 @@ class _PythonDependencyBase(_Base): + vscrt = self.env.coredata.optstore.get_value('b_vscrt') + if vscrt in {'mdd', 'mtd', 'from_buildtype', 'static_from_buildtype'}: + vscrt_debug = True ++ if is_debug_build: ++ libpath = Path('libs') / f'..' / f'..' / f'..' / f'debug/lib' / f'python{vernum}_d.lib' + if is_debug_build and vscrt_debug and not self.variables.get('Py_DEBUG'): + mlog.warning(textwrap.dedent('''\ + Using a debug build type with MSVC or an MSVC-compatible compiler +@@ -350,9 +354,10 @@ class PythonSystemDependency(SystemDependency, _PythonDependencyBase): + self.is_found = True + + # compile args ++ verdot = self.variables.get('py_version_short') + inc_paths = mesonlib.OrderedSet([ + self.variables.get('INCLUDEPY'), +- self.paths.get('include'), ++ self.paths.get('include') + f'/../../../include/python${verdot}', + self.paths.get('platinclude')]) + + self.compile_args += ['-I' + path for path in inc_paths if path] +@@ -416,7 +421,7 @@ def python_factory(env: 'Environment', for_machine: 'MachineChoice', + candidates.append(functools.partial(wrap_in_pythons_pc_dir, pkg_name, env, kwargs, installation)) + # We only need to check both, if a python install has a LIBPC. It might point to the wrong location, + # e.g. relocated / cross compilation, but the presence of LIBPC indicates we should definitely look for something. +- if pkg_libdir is not None: ++ if True or pkg_libdir is not None: + candidates.append(functools.partial(PythonPkgConfigDependency, pkg_name, env, kwargs, installation)) + else: + candidates.append(functools.partial(PkgConfigDependency, 'python3', env, kwargs)) diff --git a/ports/vcpkg-tool-meson/install.cmake b/ports/vcpkg-tool-meson/install.cmake new file mode 100644 index 00000000000000..84201aa1aae5e5 --- /dev/null +++ b/ports/vcpkg-tool-meson/install.cmake @@ -0,0 +1,5 @@ +file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/meson") +file(INSTALL "${SOURCE_PATH}/meson.py" + "${SOURCE_PATH}/mesonbuild" + DESTINATION "${CURRENT_PACKAGES_DIR}/tools/meson" +) diff --git a/ports/vcpkg-tool-meson/meson-intl.patch b/ports/vcpkg-tool-meson/meson-intl.patch new file mode 100644 index 00000000000000..8f2a029de556f4 --- /dev/null +++ b/ports/vcpkg-tool-meson/meson-intl.patch @@ -0,0 +1,13 @@ +diff --git a/mesonbuild/dependencies/misc.py b/mesonbuild/dependencies/misc.py +--- a/mesonbuild/dependencies/misc.py ++++ b/mesonbuild/dependencies/misc.py +@@ -593,7 +593,8 @@ iconv_factory = DependencyFactory( + + packages['intl'] = intl_factory = DependencyFactory( + 'intl', ++ [DependencyMethods.BUILTIN, DependencyMethods.SYSTEM, DependencyMethods.CMAKE], ++ cmake_name='Intl', +- [DependencyMethods.BUILTIN, DependencyMethods.SYSTEM], + builtin_class=IntlBuiltinDependency, + system_class=IntlSystemDependency, + ) diff --git a/ports/vcpkg-tool-meson/meson.template.in b/ports/vcpkg-tool-meson/meson.template.in new file mode 100644 index 00000000000000..fb8d08431fd76e --- /dev/null +++ b/ports/vcpkg-tool-meson/meson.template.in @@ -0,0 +1,43 @@ +[binaries] +cmake = ['@CMAKE_COMMAND@'] +ninja = ['@NINJA@'] +pkg-config = ['@PKGCONFIG@'] +@MESON_MT@ +@MESON_AR@ +@MESON_RC@ +@MESON_C@ +@MESON_C_LD@ +@MESON_CXX@ +@MESON_CXX_LD@ +@MESON_OBJC@ +@MESON_OBJC_LD@ +@MESON_OBJCPP@ +@MESON_OBJCPP_LD@ +@MESON_FC@ +@MESON_FC_LD@ +@MESON_WINDRES@ +@MESON_ADDITIONAL_BINARIES@ +[properties] +cmake_toolchain_file = '@SCRIPTS@/buildsystems/vcpkg.cmake' +@MESON_ADDITIONAL_PROPERTIES@ +[cmake] +CMAKE_BUILD_TYPE = '@MESON_CMAKE_BUILD_TYPE@' +VCPKG_TARGET_TRIPLET = '@TARGET_TRIPLET@' +VCPKG_HOST_TRIPLET = '@_HOST_TRIPLET@' +VCPKG_CHAINLOAD_TOOLCHAIN_FILE = '@VCPKG_CHAINLOAD_TOOLCHAIN_FILE@' +VCPKG_CRT_LINKAGE = '@VCPKG_CRT_LINKAGE@' +_VCPKG_INSTALLED_DIR = '@_VCPKG_INSTALLED_DIR@' +@MESON_HOST_MACHINE@ +@MESON_BUILD_MACHINE@ +[built-in options] +default_library = '@MESON_DEFAULT_LIBRARY@' +werror = false +@MESON_CFLAGS@ +@MESON_CXXFLAGS@ +@MESON_FCFLAGS@ +@MESON_OBJCFLAGS@ +@MESON_OBJCPPFLAGS@ +# b_vscrt +@MESON_VSCRT_LINKAGE@ +# c_winlibs/cpp_winlibs +@MESON_WINLIBS@ \ No newline at end of file diff --git a/ports/vcpkg-tool-meson/portfile.cmake b/ports/vcpkg-tool-meson/portfile.cmake new file mode 100644 index 00000000000000..e7e0689866a13c --- /dev/null +++ b/ports/vcpkg-tool-meson/portfile.cmake @@ -0,0 +1,43 @@ +# This port represents a dependency on the Meson build system. +# In the future, it is expected that this port acquires and installs Meson. +# Currently is used in ports that call vcpkg_find_acquire_program(MESON) in order to force rebuilds. + +set(VCPKG_POLICY_CMAKE_HELPER_PORT enabled) + +set(patches + meson-intl.patch + adjust-python-dep.patch + adjust-args.patch + remove-freebsd-pcfile-specialization.patch +) +set(scripts + vcpkg-port-config.cmake + vcpkg_configure_meson.cmake + vcpkg_install_meson.cmake + meson.template.in +) +set(to_hash + "${CMAKE_CURRENT_LIST_DIR}/vcpkg.json" + "${CMAKE_CURRENT_LIST_DIR}/portfile.cmake" +) +foreach(file IN LISTS patches scripts) + set(filepath "${CMAKE_CURRENT_LIST_DIR}/${file}") + list(APPEND to_hash "${filepath}") + file(COPY "${filepath}" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +endforeach() + +set(meson_path_hash "") +foreach(filepath IN LISTS to_hash) + file(SHA1 "${filepath}" to_append) + string(APPEND meson_path_hash "${to_append}") +endforeach() +string(SHA512 meson_path_hash "${meson_path_hash}") + +string(SUBSTRING "${meson_path_hash}" 0 6 MESON_SHORT_HASH) +list(TRANSFORM patches REPLACE [[^(..*)$]] [["${CMAKE_CURRENT_LIST_DIR}/\0"]]) +list(JOIN patches "\n " PATCHES) +configure_file("${CMAKE_CURRENT_LIST_DIR}/vcpkg-port-config.cmake" "${CURRENT_PACKAGES_DIR}/share/${PORT}/vcpkg-port-config.cmake" @ONLY) + +vcpkg_install_copyright(FILE_LIST "${VCPKG_ROOT_DIR}/LICENSE.txt") + +include("${CURRENT_PACKAGES_DIR}/share/${PORT}/vcpkg-port-config.cmake") diff --git a/ports/vcpkg-tool-meson/remove-freebsd-pcfile-specialization.patch b/ports/vcpkg-tool-meson/remove-freebsd-pcfile-specialization.patch new file mode 100644 index 00000000000000..97d9b9cb244e9e --- /dev/null +++ b/ports/vcpkg-tool-meson/remove-freebsd-pcfile-specialization.patch @@ -0,0 +1,14 @@ +diff --git a/mesonbuild/modules/pkgconfig.py b/mesonbuild/modules/pkgconfig.py +index 1bdf829..5f1bfd9 100644 +--- a/mesonbuild/modules/pkgconfig.py ++++ b/mesonbuild/modules/pkgconfig.py +@@ -701,6 +701,9 @@ class PkgConfigModule(NewExtensionModule): + pcfile = filebase + '.pc' + pkgroot = pkgroot_name = kwargs['install_dir'] or default_install_dir + if pkgroot is None: ++ pkgroot = os.path.join(_as_str(state.environment.coredata.get_option(OptionKey('libdir'))), 'pkgconfig') ++ pkgroot_name = os.path.join('{libdir}', 'pkgconfig') ++ elif False: + if mesonlib.is_freebsd(): + pkgroot = os.path.join(_as_str(state.environment.coredata.get_option(OptionKey('prefix'))), 'libdata', 'pkgconfig') + pkgroot_name = os.path.join('{prefix}', 'libdata', 'pkgconfig') diff --git a/ports/vcpkg-tool-meson/vcpkg-port-config.cmake b/ports/vcpkg-tool-meson/vcpkg-port-config.cmake new file mode 100644 index 00000000000000..d8c90f0ac372f9 --- /dev/null +++ b/ports/vcpkg-tool-meson/vcpkg-port-config.cmake @@ -0,0 +1,62 @@ +include("${CURRENT_HOST_INSTALLED_DIR}/share/vcpkg-cmake-get-vars/vcpkg-port-config.cmake") +# Overwrite builtin scripts +include("${CMAKE_CURRENT_LIST_DIR}/vcpkg_configure_meson.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/vcpkg_install_meson.cmake") + +set(meson_short_hash @MESON_SHORT_HASH@) + +# Setup meson: +set(program MESON) +set(program_version @VERSION@) +set(program_name meson) +set(search_names meson meson.py) +set(ref "${program_version}") +set(path_to_search "${DOWNLOADS}/tools/meson-${program_version}-${meson_short_hash}") +set(download_urls "https://github.com/mesonbuild/meson/archive/${ref}.tar.gz") +set(download_filename "meson-${ref}.tar.gz") +set(download_sha512 8cbb4af0d057e06c4efd0eb2544aa93cfa73410114f85f346e9fbf92af776f5bb5121f557d228b7cdab7f0ea7963e057b223f17036e2f36f55416fba43683248) + +find_program(SCRIPT_MESON NAMES ${search_names} PATHS "${path_to_search}" NO_DEFAULT_PATH) # NO_DEFAULT_PATH due top patching + +if(NOT SCRIPT_MESON) + vcpkg_download_distfile(archive_path + URLS ${download_urls} + SHA512 "${download_sha512}" + FILENAME "${download_filename}" + ) + file(REMOVE_RECURSE "${path_to_search}") + file(REMOVE_RECURSE "${path_to_search}-tmp") + file(MAKE_DIRECTORY "${path_to_search}-tmp") + file(ARCHIVE_EXTRACT INPUT "${archive_path}" + DESTINATION "${path_to_search}-tmp" + #PATTERNS "**/mesonbuild/*" "**/*.py" + ) + z_vcpkg_apply_patches( + SOURCE_PATH "${path_to_search}-tmp/meson-${ref}" + PATCHES + @PATCHES@ + ) + file(MAKE_DIRECTORY "${path_to_search}") + file(RENAME "${path_to_search}-tmp/meson-${ref}/meson.py" "${path_to_search}/meson.py") + file(RENAME "${path_to_search}-tmp/meson-${ref}/mesonbuild" "${path_to_search}/mesonbuild") + file(REMOVE_RECURSE "${path_to_search}-tmp") + set(SCRIPT_MESON "${path_to_search}/meson.py") +endif() + +# Check required python version +vcpkg_find_acquire_program(PYTHON3) +vcpkg_execute_in_download_mode( + COMMAND "${PYTHON3}" --version + OUTPUT_VARIABLE version_contents + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}" +) +string(REGEX MATCH [[[0-9]+\.[0-9]+\.[0-9]+]] python_ver "${version_contents}") + +set(min_required 3.7) +if(python_ver VERSION_LESS "${min_required}") + message(FATAL_ERROR "Found Python version '${python_ver} at ${PYTHON3}' is insufficient for meson. meson requires at least version '${min_required}'") +else() + message(STATUS "Found Python version '${python_ver} at ${PYTHON3}'") +endif() + +message(STATUS "Using meson: ${SCRIPT_MESON}") diff --git a/ports/vcpkg-tool-meson/vcpkg.json b/ports/vcpkg-tool-meson/vcpkg.json new file mode 100644 index 00000000000000..1763118847a479 --- /dev/null +++ b/ports/vcpkg-tool-meson/vcpkg.json @@ -0,0 +1,11 @@ +{ + "name": "vcpkg-tool-meson", + "version": "1.6.0", + "description": "Meson build system", + "homepage": "https://github.com/mesonbuild/meson", + "license": "Apache-2.0", + "supports": "native", + "dependencies": [ + "vcpkg-cmake-get-vars" + ] +} diff --git a/ports/vcpkg-tool-meson/vcpkg_configure_meson.cmake b/ports/vcpkg-tool-meson/vcpkg_configure_meson.cmake new file mode 100644 index 00000000000000..6b00200d18ad89 --- /dev/null +++ b/ports/vcpkg-tool-meson/vcpkg_configure_meson.cmake @@ -0,0 +1,480 @@ +function(z_vcpkg_meson_set_proglist_variables config_type) + if(VCPKG_TARGET_IS_WINDOWS) + set(proglist MT AR) + else() + set(proglist AR RANLIB STRIP NM OBJDUMP DLLTOOL MT) + endif() + foreach(prog IN LISTS proglist) + if(VCPKG_DETECTED_CMAKE_${prog}) + if(meson_${prog}) + string(TOUPPER "MESON_${meson_${prog}}" var_to_set) + set("${var_to_set}" "${meson_${prog}} = ['${VCPKG_DETECTED_CMAKE_${prog}}']" PARENT_SCOPE) + elseif(${prog} STREQUAL AR AND VCPKG_COMBINED_STATIC_LINKER_FLAGS_${config_type}) + # Probably need to move AR somewhere else + string(TOLOWER "${prog}" proglower) + z_vcpkg_meson_convert_compiler_flags_to_list(ar_flags "${VCPKG_COMBINED_STATIC_LINKER_FLAGS_${config_type}}") + list(PREPEND ar_flags "${VCPKG_DETECTED_CMAKE_${prog}}") + z_vcpkg_meson_convert_list_to_python_array(ar_flags ${ar_flags}) + set("MESON_AR" "${proglower} = ${ar_flags}" PARENT_SCOPE) + else() + string(TOUPPER "MESON_${prog}" var_to_set) + string(TOLOWER "${prog}" proglower) + set("${var_to_set}" "${proglower} = ['${VCPKG_DETECTED_CMAKE_${prog}}']" PARENT_SCOPE) + endif() + endif() + endforeach() + set(compilers "${arg_LANGUAGES}") + if(VCPKG_TARGET_IS_WINDOWS) + list(APPEND compilers RC) + endif() + set(meson_RC windres) + set(meson_Fortran fortran) + set(meson_CXX cpp) + foreach(prog IN LISTS compilers) + if(VCPKG_DETECTED_CMAKE_${prog}_COMPILER) + string(TOUPPER "MESON_${prog}" var_to_set) + if(meson_${prog}) + if(VCPKG_COMBINED_${prog}_FLAGS_${config_type}) + # Need compiler flags in prog vars for sanity check. + z_vcpkg_meson_convert_compiler_flags_to_list(${prog}flags "${VCPKG_COMBINED_${prog}_FLAGS_${config_type}}") + endif() + list(PREPEND ${prog}flags "${VCPKG_DETECTED_CMAKE_${prog}_COMPILER}") + list(FILTER ${prog}flags EXCLUDE REGEX "(-|/)nologo") # Breaks compiler detection otherwise + z_vcpkg_meson_convert_list_to_python_array(${prog}flags ${${prog}flags}) + set("${var_to_set}" "${meson_${prog}} = ${${prog}flags}" PARENT_SCOPE) + if (DEFINED VCPKG_DETECTED_CMAKE_${prog}_COMPILER_ID + AND NOT VCPKG_DETECTED_CMAKE_${prog}_COMPILER_ID MATCHES "^(GNU|Intel)$" + AND VCPKG_DETECTED_CMAKE_LINKER) + string(TOUPPER "MESON_${prog}_LD" var_to_set) + set(${var_to_set} "${meson_${prog}}_ld = ['${VCPKG_DETECTED_CMAKE_LINKER}']" PARENT_SCOPE) + endif() + else() + if(VCPKG_COMBINED_${prog}_FLAGS_${config_type}) + # Need compiler flags in prog vars for sanity check. + z_vcpkg_meson_convert_compiler_flags_to_list(${prog}flags "${VCPKG_COMBINED_${prog}_FLAGS_${config_type}}") + endif() + list(PREPEND ${prog}flags "${VCPKG_DETECTED_CMAKE_${prog}_COMPILER}") + list(FILTER ${prog}flags EXCLUDE REGEX "(-|/)nologo") # Breaks compiler detection otherwise + z_vcpkg_meson_convert_list_to_python_array(${prog}flags ${${prog}flags}) + string(TOLOWER "${prog}" proglower) + set("${var_to_set}" "${proglower} = ${${prog}flags}" PARENT_SCOPE) + if (DEFINED VCPKG_DETECTED_CMAKE_${prog}_COMPILER_ID + AND NOT VCPKG_DETECTED_CMAKE_${prog}_COMPILER_ID MATCHES "^(GNU|Intel)$" + AND VCPKG_DETECTED_CMAKE_LINKER) + string(TOUPPER "MESON_${prog}_LD" var_to_set) + set(${var_to_set} "${proglower}_ld = ['${VCPKG_DETECTED_CMAKE_LINKER}']" PARENT_SCOPE) + endif() + endif() + endif() + endforeach() +endfunction() + +function(z_vcpkg_meson_convert_compiler_flags_to_list out_var compiler_flags) + separate_arguments(cmake_list NATIVE_COMMAND "${compiler_flags}") + list(TRANSFORM cmake_list REPLACE ";" [[\\;]]) + set("${out_var}" "${cmake_list}" PARENT_SCOPE) +endfunction() + +function(z_vcpkg_meson_convert_list_to_python_array out_var) + z_vcpkg_function_arguments(flag_list 1) + vcpkg_list(REMOVE_ITEM flag_list "") # remove empty elements if any + vcpkg_list(JOIN flag_list "', '" flag_list) + set("${out_var}" "['${flag_list}']" PARENT_SCOPE) +endfunction() + +# Generates the required compiler properties for meson +function(z_vcpkg_meson_set_flags_variables config_type) + if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + set(libpath_flag /LIBPATH:) + else() + set(libpath_flag -L) + endif() + if(config_type STREQUAL "DEBUG") + set(path_suffix "/debug") + else() + set(path_suffix "") + endif() + + set(includepath "-I${CURRENT_INSTALLED_DIR}/include") + set(libpath "${libpath_flag}${CURRENT_INSTALLED_DIR}${path_suffix}/lib") + + foreach(lang IN LISTS arg_LANGUAGES) + z_vcpkg_meson_convert_compiler_flags_to_list(${lang}flags "${VCPKG_COMBINED_${lang}_FLAGS_${config_type}}") + if(lang MATCHES "^(C|CXX)$") + vcpkg_list(APPEND ${lang}flags "${includepath}") + endif() + z_vcpkg_meson_convert_list_to_python_array(${lang}flags ${${lang}flags}) + set(lang_mapping "${lang}") + if(lang STREQUAL "Fortran") + set(lang_mapping "FC") + endif() + string(TOLOWER "${lang_mapping}" langlower) + if(lang STREQUAL "CXX") + set(langlower cpp) + endif() + set(MESON_${lang_mapping}FLAGS "${langlower}_args = ${${lang}flags}\n") + set(linker_flags "${VCPKG_COMBINED_SHARED_LINKER_FLAGS_${config_type}}") + z_vcpkg_meson_convert_compiler_flags_to_list(linker_flags "${linker_flags}") + vcpkg_list(APPEND linker_flags "${libpath}") + z_vcpkg_meson_convert_list_to_python_array(linker_flags ${linker_flags}) + string(APPEND MESON_${lang_mapping}FLAGS "${langlower}_link_args = ${linker_flags}\n") + set(MESON_${lang_mapping}FLAGS "${MESON_${lang_mapping}FLAGS}" PARENT_SCOPE) + endforeach() +endfunction() + +function(z_vcpkg_get_build_and_host_system build_system host_system is_cross) #https://mesonbuild.com/Cross-compilation.html + set(build_unknown FALSE) + if(CMAKE_HOST_WIN32) + if(DEFINED ENV{PROCESSOR_ARCHITEW6432}) + set(build_arch $ENV{PROCESSOR_ARCHITEW6432}) + else() + set(build_arch $ENV{PROCESSOR_ARCHITECTURE}) + endif() + if(build_arch MATCHES "(amd|AMD)64") + set(build_cpu_fam x86_64) + set(build_cpu x86_64) + elseif(build_arch MATCHES "(x|X)86") + set(build_cpu_fam x86) + set(build_cpu i686) + elseif(build_arch MATCHES "^(ARM|arm)64$") + set(build_cpu_fam aarch64) + set(build_cpu armv8) + elseif(build_arch MATCHES "^(ARM|arm)$") + set(build_cpu_fam arm) + set(build_cpu armv7hl) + else() + if(NOT DEFINED VCPKG_MESON_CROSS_FILE OR NOT DEFINED VCPKG_MESON_NATIVE_FILE) + message(WARNING "Unsupported build architecture ${build_arch}! Please set VCPKG_MESON_(CROSS|NATIVE)_FILE to a meson file containing the build_machine entry!") + endif() + set(build_unknown TRUE) + endif() + elseif(CMAKE_HOST_UNIX) + # at this stage, CMAKE_HOST_SYSTEM_PROCESSOR is not defined + execute_process( + COMMAND uname -m + OUTPUT_VARIABLE MACHINE + OUTPUT_STRIP_TRAILING_WHITESPACE + COMMAND_ERROR_IS_FATAL ANY) + + # Show real machine architecture to visually understand whether we are in a native Apple Silicon terminal or running under Rosetta emulation + debug_message("Machine: ${MACHINE}") + + if(MACHINE MATCHES "arm64|aarch64") + set(build_cpu_fam aarch64) + set(build_cpu armv8) + elseif(MACHINE MATCHES "armv7h?l") + set(build_cpu_fam arm) + set(build_cpu ${MACHINE}) + elseif(MACHINE MATCHES "x86_64|amd64") + set(build_cpu_fam x86_64) + set(build_cpu x86_64) + elseif(MACHINE MATCHES "x86|i686") + set(build_cpu_fam x86) + set(build_cpu i686) + elseif(MACHINE MATCHES "i386") + set(build_cpu_fam x86) + set(build_cpu i386) + elseif(MACHINE MATCHES "loongarch64") + set(build_cpu_fam loongarch64) + set(build_cpu loongarch64) + else() + # https://github.com/mesonbuild/meson/blob/master/docs/markdown/Reference-tables.md#cpu-families + if(NOT DEFINED VCPKG_MESON_CROSS_FILE OR NOT DEFINED VCPKG_MESON_NATIVE_FILE) + message(WARNING "Unhandled machine: ${MACHINE}! Please set VCPKG_MESON_(CROSS|NATIVE)_FILE to a meson file containing the build_machine entry!") + endif() + set(build_unknown TRUE) + endif() + else() + if(NOT DEFINED VCPKG_MESON_CROSS_FILE OR NOT DEFINED VCPKG_MESON_NATIVE_FILE) + message(WARNING "Failed to detect the build architecture! Please set VCPKG_MESON_(CROSS|NATIVE)_FILE to a meson file containing the build_machine entry!") + endif() + set(build_unknown TRUE) + endif() + + set(build "[build_machine]\n") # Machine the build is performed on + string(APPEND build "endian = 'little'\n") + if(CMAKE_HOST_WIN32) + string(APPEND build "system = 'windows'\n") + elseif(CMAKE_HOST_APPLE) + string(APPEND build "system = 'darwin'\n") + elseif(CYGWIN) + string(APPEND build "system = 'cygwin'\n") + elseif(CMAKE_HOST_UNIX) + string(APPEND build "system = 'linux'\n") + else() + set(build_unknown TRUE) + endif() + + if(DEFINED build_cpu_fam) + string(APPEND build "cpu_family = '${build_cpu_fam}'\n") + endif() + if(DEFINED build_cpu) + string(APPEND build "cpu = '${build_cpu}'") + endif() + if(NOT build_unknown) + set(${build_system} "${build}" PARENT_SCOPE) + endif() + + set(host_unkown FALSE) + if(VCPKG_TARGET_ARCHITECTURE MATCHES "(amd|AMD|x|X)64") + set(host_cpu_fam x86_64) + set(host_cpu x86_64) + elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "(x|X)86") + set(host_cpu_fam x86) + set(host_cpu i686) + elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "^(ARM|arm)64$") + set(host_cpu_fam aarch64) + set(host_cpu armv8) + elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "^(ARM|arm)$") + set(host_cpu_fam arm) + set(host_cpu armv7hl) + elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "loongarch64") + set(host_cpu_fam loongarch64) + set(host_cpu loongarch64) + elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "wasm32") + set(host_cpu_fam wasm32) + set(host_cpu wasm32) + else() + if(NOT DEFINED VCPKG_MESON_CROSS_FILE OR NOT DEFINED VCPKG_MESON_NATIVE_FILE) + message(WARNING "Unsupported target architecture ${VCPKG_TARGET_ARCHITECTURE}! Please set VCPKG_MESON_(CROSS|NATIVE)_FILE to a meson file containing the host_machine entry!" ) + endif() + set(host_unkown TRUE) + endif() + + set(host "[host_machine]\n") # host=target in vcpkg. + string(APPEND host "endian = 'little'\n") + if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_TARGET_IS_MINGW OR VCPKG_TARGET_IS_UWP) + set(meson_system_name "windows") + else() + string(TOLOWER "${VCPKG_CMAKE_SYSTEM_NAME}" meson_system_name) + endif() + string(APPEND host "system = '${meson_system_name}'\n") + string(APPEND host "cpu_family = '${host_cpu_fam}'\n") + string(APPEND host "cpu = '${host_cpu}'") + if(NOT host_unkown) + set(${host_system} "${host}" PARENT_SCOPE) + endif() + + if(NOT build_cpu_fam MATCHES "${host_cpu_fam}" + OR VCPKG_TARGET_IS_ANDROID OR VCPKG_TARGET_IS_IOS OR VCPKG_TARGET_IS_UWP + OR (VCPKG_TARGET_IS_MINGW AND NOT CMAKE_HOST_WIN32)) + set(${is_cross} TRUE PARENT_SCOPE) + endif() +endfunction() + +function(z_vcpkg_meson_setup_extra_windows_variables config_type) + ## b_vscrt + if(VCPKG_CRT_LINKAGE STREQUAL "static") + set(crt_type "mt") + else() + set(crt_type "md") + endif() + if(config_type STREQUAL "DEBUG") + set(crt_type "${crt_type}d") + endif() + set(MESON_VSCRT_LINKAGE "b_vscrt = '${crt_type}'" PARENT_SCOPE) + ## winlibs + separate_arguments(c_winlibs NATIVE_COMMAND "${VCPKG_DETECTED_CMAKE_C_STANDARD_LIBRARIES}") + separate_arguments(cpp_winlibs NATIVE_COMMAND "${VCPKG_DETECTED_CMAKE_CXX_STANDARD_LIBRARIES}") + z_vcpkg_meson_convert_list_to_python_array(c_winlibs ${c_winlibs}) + z_vcpkg_meson_convert_list_to_python_array(cpp_winlibs ${cpp_winlibs}) + set(MESON_WINLIBS "c_winlibs = ${c_winlibs}\n") + string(APPEND MESON_WINLIBS "cpp_winlibs = ${cpp_winlibs}") + set(MESON_WINLIBS "${MESON_WINLIBS}" PARENT_SCOPE) +endfunction() + +function(z_vcpkg_meson_setup_variables config_type) + set(meson_var_list VSCRT_LINKAGE WINLIBS MT AR RC C C_LD CXX CXX_LD OBJC OBJC_LD OBJCXX OBJCXX_LD FC FC_LD WINDRES CFLAGS CXXFLAGS OBJCFLAGS OBJCXXFLAGS FCFLAGS SHARED_LINKER_FLAGS) + foreach(var IN LISTS meson_var_list) + set(MESON_${var} "") + endforeach() + + if(VCPKG_TARGET_IS_WINDOWS) + z_vcpkg_meson_setup_extra_windows_variables("${config_type}") + endif() + + z_vcpkg_meson_set_proglist_variables("${config_type}") + z_vcpkg_meson_set_flags_variables("${config_type}") + + foreach(var IN LISTS meson_var_list) + set(MESON_${var} "${MESON_${var}}" PARENT_SCOPE) + endforeach() +endfunction() + +function(vcpkg_generate_meson_cmd_args) + cmake_parse_arguments(PARSE_ARGV 0 arg + "" + "OUTPUT;CONFIG" + "OPTIONS;LANGUAGES;ADDITIONAL_BINARIES;ADDITIONAL_PROPERTIES" + ) + + if(NOT arg_LANGUAGES) + set(arg_LANGUAGES C CXX) + endif() + + vcpkg_list(JOIN arg_ADDITIONAL_BINARIES "\n" MESON_ADDITIONAL_BINARIES) + vcpkg_list(JOIN arg_ADDITIONAL_PROPERTIES "\n" MESON_ADDITIONAL_PROPERTIES) + + set(buildtype "${arg_CONFIG}") + + if(NOT VCPKG_CHAINLOAD_TOOLCHAIN_FILE) + z_vcpkg_select_default_vcpkg_chainload_toolchain() + endif() + vcpkg_list(APPEND VCPKG_CMAKE_CONFIGURE_OPTIONS "-DVCPKG_LANGUAGES=${arg_LANGUAGES}") + vcpkg_cmake_get_vars(cmake_vars_file) + debug_message("Including cmake vars from: ${cmake_vars_file}") + include("${cmake_vars_file}") + + vcpkg_list(APPEND arg_OPTIONS --backend ninja --wrap-mode nodownload -Doptimization=plain) + + z_vcpkg_get_build_and_host_system(MESON_HOST_MACHINE MESON_BUILD_MACHINE IS_CROSS) + + if(arg_CONFIG STREQUAL "DEBUG") + set(suffix "dbg") + else() + string(SUBSTRING "${arg_CONFIG}" 0 3 suffix) + string(TOLOWER "${suffix}" suffix) + endif() + set(meson_input_file_${buildtype} "${CURRENT_BUILDTREES_DIR}/meson-${TARGET_TRIPLET}-${suffix}.log") + + if(IS_CROSS) + # VCPKG_CROSSCOMPILING is not used since it regresses a lot of ports in x64-windows-x triplets + # For consistency this should proably be changed in the future? + vcpkg_list(APPEND arg_OPTIONS --native "${SCRIPTS}/buildsystems/meson/none.txt") + vcpkg_list(APPEND arg_OPTIONS --cross "${meson_input_file_${buildtype}}") + else() + vcpkg_list(APPEND arg_OPTIONS --native "${meson_input_file_${buildtype}}") + endif() + + # User provided cross/native files + if(VCPKG_MESON_NATIVE_FILE) + vcpkg_list(APPEND arg_OPTIONS --native "${VCPKG_MESON_NATIVE_FILE}") + endif() + if(VCPKG_MESON_NATIVE_FILE_${buildtype}) + vcpkg_list(APPEND arg_OPTIONS --native "${VCPKG_MESON_NATIVE_FILE_${buildtype}}") + endif() + if(VCPKG_MESON_CROSS_FILE) + vcpkg_list(APPEND arg_OPTIONS --cross "${VCPKG_MESON_CROSS_FILE}") + endif() + if(VCPKG_MESON_CROSS_FILE_${buildtype}) + vcpkg_list(APPEND arg_OPTIONS --cross "${VCPKG_MESON_CROSS_FILE_${buildtype}}") + endif() + + vcpkg_list(APPEND arg_OPTIONS --libdir lib) # else meson install into an architecture describing folder + vcpkg_list(APPEND arg_OPTIONS --pkgconfig.relocatable) + + if(arg_CONFIG STREQUAL "RELEASE") + vcpkg_list(APPEND arg_OPTIONS -Ddebug=false --prefix "${CURRENT_PACKAGES_DIR}") + vcpkg_list(APPEND arg_OPTIONS "--pkg-config-path;['${CURRENT_INSTALLED_DIR}/lib/pkgconfig','${CURRENT_INSTALLED_DIR}/share/pkgconfig']") + if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_list(APPEND arg_OPTIONS "-Dcmake_prefix_path=['${CURRENT_INSTALLED_DIR}','${CURRENT_INSTALLED_DIR}/debug','${CURRENT_INSTALLED_DIR}/share']") + else() + vcpkg_list(APPEND arg_OPTIONS "-Dcmake_prefix_path=['${CURRENT_INSTALLED_DIR}','${CURRENT_INSTALLED_DIR}/debug']") + endif() + elseif(arg_CONFIG STREQUAL "DEBUG") + vcpkg_list(APPEND arg_OPTIONS -Ddebug=true --prefix "${CURRENT_PACKAGES_DIR}/debug" --includedir ../include) + vcpkg_list(APPEND arg_OPTIONS "--pkg-config-path;['${CURRENT_INSTALLED_DIR}/debug/lib/pkgconfig','${CURRENT_INSTALLED_DIR}/share/pkgconfig']") + if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_list(APPEND arg_OPTIONS "-Dcmake_prefix_path=['${CURRENT_INSTALLED_DIR}/debug','${CURRENT_INSTALLED_DIR}','${CURRENT_INSTALLED_DIR}/share']") + else() + vcpkg_list(APPEND arg_OPTIONS "-Dcmake_prefix_path=['${CURRENT_INSTALLED_DIR}/debug','${CURRENT_INSTALLED_DIR}']") + endif() + else() + message(FATAL_ERROR "Unknown configuration. Only DEBUG and RELEASE are valid values.") + endif() + + # Allow overrides / additional configuration variables from triplets + if(DEFINED VCPKG_MESON_CONFIGURE_OPTIONS) + vcpkg_list(APPEND arg_OPTIONS ${VCPKG_MESON_CONFIGURE_OPTIONS}) + endif() + if(DEFINED VCPKG_MESON_CONFIGURE_OPTIONS_${buildtype}) + vcpkg_list(APPEND arg_OPTIONS ${VCPKG_MESON_CONFIGURE_OPTIONS_${buildtype}}) + endif() + + if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + set(MESON_DEFAULT_LIBRARY shared) + else() + set(MESON_DEFAULT_LIBRARY static) + endif() + set(MESON_CMAKE_BUILD_TYPE "${cmake_build_type_${buildtype}}") + z_vcpkg_meson_setup_variables(${buildtype}) + configure_file("${CMAKE_CURRENT_FUNCTION_LIST_DIR}/meson.template.in" "${meson_input_file_${buildtype}}" @ONLY) + set("${arg_OUTPUT}" ${arg_OPTIONS} PARENT_SCOPE) +endfunction() + +function(vcpkg_configure_meson) + # parse parameters such that semicolons in options arguments to COMMAND don't get erased + cmake_parse_arguments(PARSE_ARGV 0 arg + "NO_PKG_CONFIG" + "SOURCE_PATH" + "OPTIONS;OPTIONS_DEBUG;OPTIONS_RELEASE;LANGUAGES;ADDITIONAL_BINARIES;ADDITIONAL_NATIVE_BINARIES;ADDITIONAL_CROSS_BINARIES;ADDITIONAL_PROPERTIES" + ) + + if(DEFINED arg_ADDITIONAL_NATIVE_BINARIES OR DEFINED arg_ADDITIONAL_CROSS_BINARIES) + message(WARNING "Options ADDITIONAL_(NATIVE|CROSS)_BINARIES have been deprecated. Only use ADDITIONAL_BINARIES!") + endif() + vcpkg_list(APPEND arg_ADDITIONAL_BINARIES ${arg_ADDITIONAL_NATIVE_BINARIES} ${arg_ADDITIONAL_CROSS_BINARIES}) + vcpkg_list(REMOVE_DUPLICATES arg_ADDITIONAL_BINARIES) + + file(REMOVE_RECURSE "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") + file(REMOVE_RECURSE "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") + + vcpkg_find_acquire_program(MESON) + + get_filename_component(CMAKE_PATH "${CMAKE_COMMAND}" DIRECTORY) + vcpkg_add_to_path("${CMAKE_PATH}") # Make CMake invokeable for Meson + + vcpkg_find_acquire_program(NINJA) + + if(NOT arg_NO_PKG_CONFIG) + vcpkg_find_acquire_program(PKGCONFIG) + set(ENV{PKG_CONFIG} "${PKGCONFIG}") + endif() + + vcpkg_find_acquire_program(PYTHON3) + get_filename_component(PYTHON3_DIR "${PYTHON3}" DIRECTORY) + vcpkg_add_to_path(PREPEND "${PYTHON3_DIR}") + + set(buildtypes "") + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + set(buildname "DEBUG") + set(cmake_build_type_${buildname} "Debug") + vcpkg_list(APPEND buildtypes "${buildname}") + set(path_suffix_${buildname} "debug/") + set(suffix_${buildname} "dbg") + endif() + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + set(buildname "RELEASE") + set(cmake_build_type_${buildname} "Release") + vcpkg_list(APPEND buildtypes "${buildname}") + set(path_suffix_${buildname} "") + set(suffix_${buildname} "rel") + endif() + + # configure build + foreach(buildtype IN LISTS buildtypes) + message(STATUS "Configuring ${TARGET_TRIPLET}-${suffix_${buildtype}}") + file(MAKE_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${suffix_${buildtype}}") + + vcpkg_generate_meson_cmd_args( + OUTPUT cmd_args + CONFIG ${buildtype} + LANGUAGES ${arg_LANGUAGES} + OPTIONS ${arg_OPTIONS} ${arg_OPTIONS_${buildtype}} + ADDITIONAL_BINARIES ${arg_ADDITIONAL_BINARIES} + ADDITIONAL_PROPERTIES ${arg_ADDITIONAL_PROPERTIES} + ) + + vcpkg_execute_required_process( + COMMAND ${MESON} setup ${cmd_args} ${arg_SOURCE_PATH} + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${suffix_${buildtype}}" + LOGNAME config-${TARGET_TRIPLET}-${suffix_${buildtype}} + SAVE_LOG_FILES + meson-logs/meson-log.txt + meson-info/intro-dependencies.json + meson-logs/install-log.txt + ) + + message(STATUS "Configuring ${TARGET_TRIPLET}-${suffix_${buildtype}} done") + endforeach() +endfunction() diff --git a/ports/vcpkg-tool-meson/vcpkg_install_meson.cmake b/ports/vcpkg-tool-meson/vcpkg_install_meson.cmake new file mode 100644 index 00000000000000..0351f271a4d5f7 --- /dev/null +++ b/ports/vcpkg-tool-meson/vcpkg_install_meson.cmake @@ -0,0 +1,71 @@ +function(vcpkg_install_meson) + cmake_parse_arguments(PARSE_ARGV 0 arg "ADD_BIN_TO_PATH" "" "") + + vcpkg_find_acquire_program(NINJA) + unset(ENV{DESTDIR}) # installation directory was already specified with '--prefix' option + + if(VCPKG_TARGET_IS_OSX) + vcpkg_backup_env_variables(VARS SDKROOT MACOSX_DEPLOYMENT_TARGET) + set(ENV{SDKROOT} "${VCPKG_DETECTED_CMAKE_OSX_SYSROOT}") + set(ENV{MACOSX_DEPLOYMENT_TARGET} "${VCPKG_DETECTED_CMAKE_OSX_DEPLOYMENT_TARGET}") + endif() + + foreach(buildtype IN ITEMS "debug" "release") + if(DEFINED VCPKG_BUILD_TYPE AND NOT VCPKG_BUILD_TYPE STREQUAL buildtype) + continue() + endif() + + if(buildtype STREQUAL "debug") + set(short_buildtype "dbg") + else() + set(short_buildtype "rel") + endif() + + message(STATUS "Package ${TARGET_TRIPLET}-${short_buildtype}") + if(arg_ADD_BIN_TO_PATH) + vcpkg_backup_env_variables(VARS PATH) + if(buildtype STREQUAL "debug") + vcpkg_add_to_path(PREPEND "${CURRENT_INSTALLED_DIR}/debug/bin") + else() + vcpkg_add_to_path(PREPEND "${CURRENT_INSTALLED_DIR}/bin") + endif() + endif() + vcpkg_execute_required_process( + COMMAND "${NINJA}" install -v + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${short_buildtype}" + LOGNAME package-${TARGET_TRIPLET}-${short_buildtype} + ) + if(arg_ADD_BIN_TO_PATH) + vcpkg_restore_env_variables(VARS PATH) + endif() + endforeach() + + vcpkg_list(SET renamed_libs) + if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL static AND NOT VCPKG_TARGET_IS_MINGW) + # Meson names all static libraries lib.a which basically breaks the world + file(GLOB_RECURSE gen_libraries "${CURRENT_PACKAGES_DIR}*/**/lib*.a") + foreach(gen_library IN LISTS gen_libraries) + get_filename_component(libdir "${gen_library}" DIRECTORY) + get_filename_component(libname "${gen_library}" NAME) + string(REGEX REPLACE ".a$" ".lib" fixed_librawname "${libname}") + string(REGEX REPLACE "^lib" "" fixed_librawname "${fixed_librawname}") + file(RENAME "${gen_library}" "${libdir}/${fixed_librawname}") + # For cmake fixes. + string(REGEX REPLACE ".a$" "" origin_librawname "${libname}") + string(REGEX REPLACE ".lib$" "" fixed_librawname "${fixed_librawname}") + vcpkg_list(APPEND renamed_libs ${fixed_librawname}) + set(${librawname}_old ${origin_librawname}) + set(${librawname}_new ${fixed_librawname}) + endforeach() + file(GLOB_RECURSE cmake_files "${CURRENT_PACKAGES_DIR}*/*.cmake") + foreach(cmake_file IN LISTS cmake_files) + foreach(current_lib IN LISTS renamed_libs) + vcpkg_replace_string("${cmake_file}" "${${current_lib}_old}" "${${current_lib}_new}" IGNORE_UNCHANGED) + endforeach() + endforeach() + endif() + + if(VCPKG_TARGET_IS_OSX) + vcpkg_restore_env_variables(VARS SDKROOT MACOSX_DEPLOYMENT_TARGET) + endif() +endfunction() diff --git a/ports/vcpkg-tool-mozbuild/portfile.cmake b/ports/vcpkg-tool-mozbuild/portfile.cmake new file mode 100644 index 00000000000000..631d7b3d693937 --- /dev/null +++ b/ports/vcpkg-tool-mozbuild/portfile.cmake @@ -0,0 +1,27 @@ +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) + +set(PROGNAME mozbuild) +set(EXE_NAME mozmake) +set(ARCHIVE MozillaBuildSetup-${VERSION}) +set(BASE_URL "https://ftp.mozilla.org/pub/mozilla/libraries/win32/MozillaBuildSetup-") +set(URL "${BASE_URL}${VERSION}.exe") +set(HASH 247a8c08e3cf9ff69bee106e6c24ea392bb13e6ed19c2c42750d013989ad18923a05631fe4edf622e82321e7748936ff0cdb09607bfbbde00cdb8a6fd4f9b79d) + +if(VCPKG_CROSSCOMPILING) + message(FATAL_ERROR "This is a host only port!") +endif() + +vcpkg_download_distfile(ARCHIVE_PATH + URLS "${URL}" + SHA512 ${HASH} + FILENAME "${ARCHIVE}.7z.exe" +) + +file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/mozbuild") + +vcpkg_find_acquire_program(7Z) + +vcpkg_execute_in_download_mode( + COMMAND "${7Z}" x "${ARCHIVE_PATH}" -aoa + WORKING_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/mozbuild" +) diff --git a/ports/vcpkg-tool-mozbuild/vcpkg.json b/ports/vcpkg-tool-mozbuild/vcpkg.json new file mode 100644 index 00000000000000..61c06737043e03 --- /dev/null +++ b/ports/vcpkg-tool-mozbuild/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "vcpkg-tool-mozbuild", + "version": "4.0.2", + "description": "mozbuild is a Python package providing functionality used by Mozilla’s build system", + "homepage": "https://firefox-source-docs.mozilla.org/build/buildsystem/mozbuild/index.html", + "supports": "native & x64 & windows" +} diff --git a/ports/vcpkg-tool-ninja/portfile.cmake b/ports/vcpkg-tool-ninja/portfile.cmake new file mode 100644 index 00000000000000..2c7880861c0685 --- /dev/null +++ b/ports/vcpkg-tool-ninja/portfile.cmake @@ -0,0 +1,30 @@ +set(VCPKG_POLICY_CMAKE_HELPER_PORT enabled) + +vcpkg_download_distfile( + LONG_PATH_PATCH + URLS "https://patch-diff.githubusercontent.com/raw/ninja-build/ninja/pull/2056.diff?full_index=1" # stable? + FILENAME 2056.diff + SHA512 3c840b19d51a2c145561e3026aee503eccffcc2d1f28db6d848a504c8e163b699fd09cafcfd326a1a95e08f76ec3b07860e2658386229af2bc2573b615cf2fed +) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO ninja-build/ninja + REF 170c387a7461d476523ae29c115a58f16e4d3430 + SHA512 75c0f263ad325d14c99c9a1d85e571832407b481271a2733e78183a478f7ecd22d84451fc8d7ce16ab20d641ce040761d7ab266695d66bbac5b2b9a3a29aa521 + HEAD_REF master + PATCHES + "${LONG_PATH_PATCH}" # Long path support windows + use-internal-re2c.patch +) +set(VCPKG_BUILD_TYPE release) #we only need release here! +vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}") +vcpkg_cmake_install() +vcpkg_copy_tools( + TOOL_NAMES ninja + DESTINATION "${CURRENT_PACKAGES_DIR}/tools/ninja" + AUTO_CLEAN +) + +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +configure_file("${CMAKE_CURRENT_LIST_DIR}/vcpkg-port-config.cmake" "${CURRENT_PACKAGES_DIR}/share/${PORT}/vcpkg-port-config.cmake" @ONLY) diff --git a/ports/vcpkg-tool-ninja/use-internal-re2c.patch b/ports/vcpkg-tool-ninja/use-internal-re2c.patch new file mode 100644 index 00000000000000..0b83263213b45b --- /dev/null +++ b/ports/vcpkg-tool-ninja/use-internal-re2c.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 42094d2..d4eda66 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -43,7 +43,7 @@ endif() + + # --- optional re2c + find_program(RE2C re2c) +-if(RE2C) ++if(0) + # the depfile parser and ninja lexers are generated using re2c. + function(re2c IN OUT) + add_custom_command(DEPENDS ${IN} OUTPUT ${OUT} diff --git a/ports/vcpkg-tool-ninja/vcpkg-port-config.cmake b/ports/vcpkg-tool-ninja/vcpkg-port-config.cmake new file mode 100644 index 00000000000000..8bf42e9f6a28f4 --- /dev/null +++ b/ports/vcpkg-tool-ninja/vcpkg-port-config.cmake @@ -0,0 +1 @@ +set(NINJA "${CMAKE_CURRENT_LIST_DIR}/../../tools/ninja/ninja@VCPKG_TARGET_EXECUTABLE_SUFFIX@") diff --git a/ports/vcpkg-tool-ninja/vcpkg.json b/ports/vcpkg-tool-ninja/vcpkg.json new file mode 100644 index 00000000000000..98bf21c817ff00 --- /dev/null +++ b/ports/vcpkg-tool-ninja/vcpkg.json @@ -0,0 +1,13 @@ +{ + "name": "vcpkg-tool-ninja", + "version-date": "2022-03-31", + "port-version": 2, + "description": "Ninja is a small build system with a focus on speed.", + "homepage": "https://ninja-build.org/", + "license": "Apache-2.0", + "supports": "native", + "dependencies": [ + "vcpkg-cmake", + "vcpkg-cmake-config" + ] +} diff --git a/ports/vcpkg-tool-nodejs/portfile.cmake b/ports/vcpkg-tool-nodejs/portfile.cmake index c7dd8e17b18034..171693976f3d1c 100644 --- a/ports/vcpkg-tool-nodejs/portfile.cmake +++ b/ports/vcpkg-tool-nodejs/portfile.cmake @@ -1,7 +1,7 @@ +vcpkg_minimum_required(VERSION 2022-10-12) # for ${VERSION} set(VCPKG_POLICY_EMPTY_PACKAGE enabled) set(PROGNAME node) -set(PROG_VERSION 14.17.4) set(BREW_PACKAGE_NAME "${PROGNAME}") set(APT_PACKAGE_NAME "${PROGNAME}") @@ -10,26 +10,34 @@ if(VCPKG_CROSSCOMPILING) message(FATAL_ERROR "This is a host only port!") endif() -set(BASE_URL "https://nodejs.org/dist/v${PROG_VERSION}/") +set(BASE_URL "https://nodejs.org/dist/v${VERSION}/") set(ARCHIVE "") set(ARCHIVE_EXT "") if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_TARGET_ARCHITECTURE MATCHES "^x86$|arm") - set(ARCHIVE "node-v${PROG_VERSION}-win-x86") + set(ARCHIVE "node-v${VERSION}-win-x86") set(ARCHIVE_EXT ".zip") - set(HASH 82ea09a10f20ecab860b9e15b2cc72eec4a60ac5f20680f7846f37c5c1422d38d448cd7a71382cbb41101c1382412368bb74bf1a0bd7698f7ba882e022ae7304) + set(HASH a52f07888452a894008f5ec69d20b2d48a08656a84197e2c94749b909fc66d9b9217ae30b10cfdec36dd11d9fdecb0c64b511570ded6a63dfd794b07a9fb0f52) elseif(VCPKG_TARGET_IS_WINDOWS AND VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") - set(ARCHIVE "node-v${PROG_VERSION}-win-x64") + set(ARCHIVE "node-v${VERSION}-win-x64") set(ARCHIVE_EXT ".zip") - set(HASH 9a067c9ac5abc8d6af756b9a5344beee552f877a54833bdfa3a88e694359831f4edc9fac9c2c29b2f02f859e79bfeb4b91735e70c02c9daddf3e82efbfcbe46c) + set(HASH e6a5688bfcd869eca6d220ef9cbcfa1f50f93f0a86d25acc96103fe271c3f362a94159c3d54d43b2cc7a4eeef4fdcde2b5da4163d24bd2c4ecaddae2486f4be6) elseif(VCPKG_TARGET_IS_OSX AND VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") - set(ARCHIVE "node-v${PROG_VERSION}-darwin-x64") + set(ARCHIVE "node-v${VERSION}-darwin-x64") set(ARCHIVE_EXT ".tar.gz") - set(HASH 76575afb5711c6fbccd45ef319d6c3960d0363808a0703e7e9ed5c637fe19af63a8ff6eb08182df77c7620d50a42bf9fd324489466556a1b5895f0f2aebb8a5a) + set(HASH eb22c1e2201bcce63d68c471bba0e74ccf3c55b65b47519711e4da06d03d410f129aa587cf009db1f1253402ea26286e13ed29d231fe6074fcf7414c1f216f13) +elseif(VCPKG_TARGET_IS_OSX AND VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") + set(ARCHIVE "node-v${VERSION}-darwin-arm64") + set(ARCHIVE_EXT ".tar.gz") + set(HASH 62585571b993c5643924f13fd90457c116bd839e02c6878e64da66989ee967a965529490afca62abc5866120d8ea089c3dc9d565d1a3f4a986be0c674a10151b) elseif(VCPKG_TARGET_IS_LINUX AND VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") - set(ARCHIVE "node-v${PROG_VERSION}-linux-x64") + set(ARCHIVE "node-v${VERSION}-linux-x64") + set(ARCHIVE_EXT ".tar.xz") + set(HASH 06b27edd123a4465d7919b07bb5894a805f29fb757669fa84fe5595dfda7b114c423c99bf62e31400d8c3e7d9f3fde54138416711e05d69afc922a35b013a9b1) +elseif(VCPKG_TARGET_IS_LINUX AND VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") + set(ARCHIVE "node-v${VERSION}-linux-arm64") set(ARCHIVE_EXT ".tar.xz") - set(HASH 696af62f78147dc20e15364ba7fea6f707b0d5e3c9ae925975d64ec7dc90db4f27a3e5e90307a26bf48b05e0096ab34144d29cd9379b70b384cbd3144bf8cd85) + set(HASH 77c8618576c2337ed6b767d8d04871c46b92a4a411fcf5d294145dbceb467a4b0804b3b4e82c637fdc6703f1c86a22ac3e56f69142ef505c2252f88675333c57) else() message(FATAL_ERROR "Target not yet supported by '${PORT}'") endif() @@ -48,10 +56,8 @@ file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools") message(STATUS "ARCHIVE_PATH: '${ARCHIVE_PATH}'") vcpkg_execute_in_download_mode( - COMMAND ${CMAKE_COMMAND} -E tar xzf "${ARCHIVE_PATH}" + COMMAND ${CMAKE_COMMAND} -E tar xzf "${ARCHIVE_PATH}" WORKING_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools" ) -file(GLOB_RECURSE folders "${CURRENT_PACKAGES_DIR}/tools/*" LIST_DIRECTORIES true) -message(STATUS "Files and Folders: '${folders}'") file(RENAME "${CURRENT_PACKAGES_DIR}/tools/${ARCHIVE}" "${CURRENT_PACKAGES_DIR}/tools/node") diff --git a/ports/vcpkg-tool-nodejs/vcpkg.json b/ports/vcpkg-tool-nodejs/vcpkg.json index aed974a26e1a27..9a45f82482cf4f 100644 --- a/ports/vcpkg-tool-nodejs/vcpkg.json +++ b/ports/vcpkg-tool-nodejs/vcpkg.json @@ -1,5 +1,6 @@ { "name": "vcpkg-tool-nodejs", - "version-semver": "14.17.4", + "version-semver": "16.18.0", + "port-version": 1, "supports": "native" } diff --git a/ports/vcpkg-tool-python2/portfile.cmake b/ports/vcpkg-tool-python2/portfile.cmake new file mode 100644 index 00000000000000..bc259a38a95f08 --- /dev/null +++ b/ports/vcpkg-tool-python2/portfile.cmake @@ -0,0 +1,60 @@ +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) + +if(VCPKG_TARGET_IS_WINDOWS) + set(arch_suffix "") + set(program_name python) + set(program_version 2.7.18) + if (VCPKG_TARGET_ARCHITECTURE STREQUAL x86) + set(tool_subdirectory "python-${program_version}-x86") + set(download_urls "https://www.python.org/ftp/python/${program_version}/python-${program_version}.msi") + set(download_filename "python-${program_version}.msi") + set(download_sha512 2c112733c777ddbf189b0a54047a9d5851ebce0564cc38b9687d79ce6c7a09006109dbad8627fb1a60c3ad55e261db850d9dfa454af0533b460b2afc316fe115) + else() + set(tool_subdirectory "python-${program_version}-x64") + set(arch_suffix ".amd64") + set(download_urls "https://www.python.org/ftp/python/${program_version}/python-${program_version}.amd64.msi") + set(download_filename "python-${program_version}.amd64.msi") + set(download_sha512 6a81a413b80fd39893e7444fd47efa455d240cbb77a456c9d12f7cf64962b38c08cfa244cd9c50a65947c40f936c6c8c5782f7236d7b92445ab3dd01e82af23e) + endif() + set(paths_to_search "${CURRENT_PACKAGES_DIR}/manual-tools/${PORT}") + + vcpkg_download_distfile(archive_path + URLS ${download_urls} + SHA512 "${download_sha512}" + FILENAME "${download_filename}" + ) + set(output_path "${CURRENT_PACKAGES_DIR}/manual-tools") # vcpkg.cmake adds everything in /tools to CMAKE_PROGRAM_PATH. That is not desired for Python2 + file(MAKE_DIRECTORY "${output_path}") + cmake_path(NATIVE_PATH archive_path archive_path_native) # lessmsi is a bit picky about path formats. + message(STATUS "Extracting Python2 ...") + vcpkg_execute_in_download_mode( + COMMAND "${LESSMSI}" x "${archive_path_native}" # Using output_path here does not work in bash + WORKING_DIRECTORY "${output_path}" + OUTPUT_FILE "${CURRENT_BUILDTREES_DIR}/lessmsi-${TARGET_TRIPLET}-out.log" + ERROR_FILE "${CURRENT_BUILDTREES_DIR}/lessmsi-${TARGET_TRIPLET}-err.log" + RESULT_VARIABLE error_code + ) + if(error_code) + message(FATAL_ERROR "Couldn't extract Python2 with lessmsi!") + endif() + message(STATUS "Extracting Python2 ... finished!") + file(RENAME "${output_path}/python-2.7.18${arch_suffix}/SourceDir/" "${output_path}/${PORT}/") + file(REMOVE_RECURSE "${output_path}/python-2.7.18.amd64" + # Files below are not part of a msiexec installation/extraction. + "${output_path}/${PORT}/Windows" + "${output_path}/${PORT}/Microsoft.VC90.CRT.manifest" + "${output_path}/${PORT}/msvcr90.dll") + z_vcpkg_find_acquire_program_find_internal("PYTHON2" + INTERPRETER "${interpreter}" + PATHS ${paths_to_search} + NAMES ${program_name} + ) + if(NOT PYTHON2) + message(FATAL_ERROR "Unable to find python2: ${PYTHON2}") + endif() + message(STATUS "Using python2: ${PYTHON2}") + set(details "set(program_version \"${program_version}\")\n") + string(APPEND details "set(paths_to_search \"\${CURRENT_HOST_INSTALLED_DIR}/manual-tools/${PORT}\")\n") + file(WRITE "${CURRENT_PACKAGES_DIR}/share/${PORT}/details.cmake" "${details}") +endif() + diff --git a/ports/vcpkg-tool-python2/vcpkg.json b/ports/vcpkg-tool-python2/vcpkg.json new file mode 100644 index 00000000000000..d79df127c0d5ed --- /dev/null +++ b/ports/vcpkg-tool-python2/vcpkg.json @@ -0,0 +1,16 @@ +{ + "name": "vcpkg-tool-python2", + "version": "2.7.18", + "port-version": 1, + "description": "Python 2", + "homepage": "https://www.python.org/download/releases/2.0/", + "license": "PSF-2.0", + "supports": "!uwp & !(arm & windows)", + "dependencies": [ + { + "name": "vcpkg-tool-lessmsi", + "host": true, + "platform": "windows" + } + ] +} diff --git a/ports/vectorclass/portfile.cmake b/ports/vectorclass/portfile.cmake index 2ec2732627b062..dd4311d5fd96c0 100644 --- a/ports/vectorclass/portfile.cmake +++ b/ports/vectorclass/portfile.cmake @@ -1,24 +1,20 @@ -vcpkg_fail_port_install(ON_ARCH "arm" "arm64") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO vectorclass/version2 - REF v2.00.01 - SHA512 2e1f714cf0e23cf7986f0e78b4c1eeab4da6434ac92449b81990931e19ae189df6fbbef50f11e9532a41dc6eaff0a4fea840349a3747621ff537bbd7519f2c3d + REF v2.02.00 + SHA512 758cf12309ba9d5b1cc22db197d024880f62778de939af80f575dad9a3a2c3f256bc3228ee3dbd41a9da6e88835318f362b8255ff32bc8cadfe12bd2be4c36b5 HEAD_REF master ) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake TARGET_PATH share) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) # Put the licence file where vcpkg expects it -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/vectorclass/vcpkg.json b/ports/vectorclass/vcpkg.json index ce2f69c8423b4e..1be19e61a1ceac 100644 --- a/ports/vectorclass/vcpkg.json +++ b/ports/vectorclass/vcpkg.json @@ -1,8 +1,18 @@ { "name": "vectorclass", - "version-string": "2.00.01", - "port-version": 1, + "version-string": "2.02.00", "description": "C++ class library for using the Single Instruction Multiple Data (SIMD) instructions in modern Microprocessors", "homepage": "https://github.com/vectorclass/version2", - "supports": "!(arm | arm64)" + "license": "Apache-2.0", + "supports": "!(arm | arm64)", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/veigar/portfile.cmake b/ports/veigar/portfile.cmake new file mode 100644 index 00000000000000..23e75209580924 --- /dev/null +++ b/ports/veigar/portfile.cmake @@ -0,0 +1,26 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO winsoft666/veigar + HEAD_REF master + REF "${VERSION}" + SHA512 dce0312bd5792e1c4a084b23c331bb5b30459b8e43b325e630800e2ebe929099defb000c889bd09ab94b2417b0169614465c11ca9ed845236542a6c36b9947fc +) + +string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" VEIGAR_USE_STATIC_CRT) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DVEIGAR_USE_STATIC_CRT:BOOL=${VEIGAR_USE_STATIC_CRT} + -DVEIGAR_BUILD_TESTS:BOOL=OFF + -DVEIGAR_BUILD_EXAMPLES:BOOL=OFF +) + +vcpkg_cmake_install() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +vcpkg_copy_pdbs() diff --git a/ports/veigar/vcpkg.json b/ports/veigar/vcpkg.json new file mode 100644 index 00000000000000..cc8040282d945b --- /dev/null +++ b/ports/veigar/vcpkg.json @@ -0,0 +1,19 @@ +{ + "name": "veigar", + "version": "1.2", + "maintainers": "winsoft666 ", + "description": "Cross platform RPC library using shared memory.", + "homepage": "https://github.com/winsoft666/veigar", + "license": "GPL-3.0-or-later", + "supports": "linux | (windows & !uwp & !xbox)", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/velodyne-decoder/0001-fix-msvc-flags.patch b/ports/velodyne-decoder/0001-fix-msvc-flags.patch new file mode 100644 index 00000000000000..c66eb6f122e1a4 --- /dev/null +++ b/ports/velodyne-decoder/0001-fix-msvc-flags.patch @@ -0,0 +1,17 @@ +Backport of https://github.com/valgur/velodyne_decoder/commit/22809df3a4d550c3746b17aaca1d6c20692730c4 + +--- CMakeLists.txt ++++ CMakeLists.txt +@@ -17,7 +17,11 @@ + set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) + + if(MSVC) +- add_compile_options(/W4 /O2) ++ add_compile_options( ++ "$<$:/O2>" ++ "$<$:/O2>" ++ /W4 ++ ) + else() + add_compile_options( + "$<$:-ggdb3;-Og>" diff --git a/ports/velodyne-decoder/portfile.cmake b/ports/velodyne-decoder/portfile.cmake new file mode 100644 index 00000000000000..aea2eea95bb26d --- /dev/null +++ b/ports/velodyne-decoder/portfile.cmake @@ -0,0 +1,27 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO valgur/velodyne_decoder + REF "v${VERSION}" + SHA512 f09dd173cdea6b651a023d799bed7047ee2ac8518446d57e289a6eed9a92ff1ec2644ec49b78bd29ecfebb2046cb89455910bcb476db852a14e42e106b9881ce + HEAD_REF develop + PATCHES + 0001-fix-msvc-flags.patch +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DINSTALL_THIRD_PARTY=FALSE +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup( + PACKAGE_NAME "velodyne_decoder" + CONFIG_PATH lib/cmake/velodyne_decoder +) + +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/velodyne-decoder/usage b/ports/velodyne-decoder/usage new file mode 100644 index 00000000000000..8b00429b715c9d --- /dev/null +++ b/ports/velodyne-decoder/usage @@ -0,0 +1,4 @@ +velodyne-decoder provides CMake targets: + +find_package(velodyne_decoder CONFIG REQUIRED) +target_link_libraries(main PRIVATE velodyne_decoder::velodyne_decoder) diff --git a/ports/velodyne-decoder/vcpkg.json b/ports/velodyne-decoder/vcpkg.json new file mode 100644 index 00000000000000..95de2e5a1bad6d --- /dev/null +++ b/ports/velodyne-decoder/vcpkg.json @@ -0,0 +1,23 @@ +{ + "name": "velodyne-decoder", + "version": "3.0.0", + "port-version": 1, + "description": "A decoder library for raw Velodyne data and telemetry info", + "homepage": "https://github.com/valgur/velodyne_decoder", + "license": "BSD-3-Clause", + "dependencies": [ + "ms-gsl", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + { + "name": "yaml-cpp", + "version>=": "0.7.0" + } + ] +} diff --git a/ports/verdict/fix_osx.patch b/ports/verdict/fix_osx.patch new file mode 100644 index 00000000000000..114387e0848c01 --- /dev/null +++ b/ports/verdict/fix_osx.patch @@ -0,0 +1,125 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c41d98f70..83f7ca27a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -53,7 +53,7 @@ configure_file( + add_library(verdict ${verdict_SOURCES}) + target_include_directories(verdict PUBLIC + $ $ $) +- ++target_compile_features(verdict PUBLIC cxx_std_11) + + # Setting the VERSION and SOVERSION of a library will include + # version information either in the library, or in the library +diff --git a/V_HexMetric.cpp b/V_HexMetric.cpp +index 6ba32fa86..5fd976321 100644 +--- a/V_HexMetric.cpp ++++ b/V_HexMetric.cpp +@@ -2974,10 +2974,10 @@ double hex_distortion(int num_nodes, const double coordinates[][3]) + double weight[maxTotalNumberGaussPoints]; + + // create an object of GaussIntegration +- GaussIntegration gint{}; +- gint.initialize(number_of_gauss_points, num_nodes, number_dimension); +- gint.calculate_shape_function_3d_hex(); +- gint.get_shape_func(shape_function[0], dndy1[0], dndy2[0], dndy3[0], weight); ++ GaussIntegration gaussint; ++ gaussint.initialize(number_of_gauss_points, num_nodes, number_dimension); ++ gaussint.calculate_shape_function_3d_hex(); ++ gaussint.get_shape_func(shape_function[0], dndy1[0], dndy2[0], dndy3[0], weight); + + VerdictVector xxi, xet, xze, xin; + +@@ -3014,7 +3014,7 @@ double hex_distortion(int num_nodes, const double coordinates[][3]) + double dndy2_at_node[maxNumberNodes][maxNumberNodes]; + double dndy3_at_node[maxNumberNodes][maxNumberNodes]; + +- gint.calculate_derivative_at_nodes_3d(dndy1_at_node, dndy2_at_node, dndy3_at_node); ++ gaussint.calculate_derivative_at_nodes_3d(dndy1_at_node, dndy2_at_node, dndy3_at_node); + int node_id; + for (node_id = 0; node_id < num_nodes; node_id++) + { +diff --git a/V_QuadMetric.cpp b/V_QuadMetric.cpp +index 0c7c508e0..8e8a2537e 100644 +--- a/V_QuadMetric.cpp ++++ b/V_QuadMetric.cpp +@@ -1329,10 +1329,10 @@ double quad_distortion(int num_nodes, const double coordinates[][3]) + double weight[maxTotalNumberGaussPoints]; + + // create an object of GaussIntegration +- GaussIntegration gint{}; +- gint.initialize(number_of_gauss_points, num_nodes); +- gint.calculate_shape_function_2d_quad(); +- gint.get_shape_func(shape_function[0], dndy1[0], dndy2[0], weight); ++ GaussIntegration gaussint; ++ gaussint.initialize(number_of_gauss_points, num_nodes); ++ gaussint.calculate_shape_function_2d_quad(); ++ gaussint.get_shape_func(shape_function[0], dndy1[0], dndy2[0], weight); + + // calculate element area + int ife, ja; +@@ -1355,7 +1355,7 @@ double quad_distortion(int num_nodes, const double coordinates[][3]) + double dndy1_at_node[maxNumberNodes][maxNumberNodes]; + double dndy2_at_node[maxNumberNodes][maxNumberNodes]; + +- gint.calculate_derivative_at_nodes(dndy1_at_node, dndy2_at_node); ++ gaussint.calculate_derivative_at_nodes(dndy1_at_node, dndy2_at_node); + + VerdictVector normal_at_nodes[9]; + +diff --git a/V_TetMetric.cpp b/V_TetMetric.cpp +index feb026968..dc956edb0 100644 +--- a/V_TetMetric.cpp ++++ b/V_TetMetric.cpp +@@ -1354,10 +1354,10 @@ double tet_distortion(int num_nodes, const double coordinates[][3]) + double weight[maxTotalNumberGaussPoints]; + + // create an object of GaussIntegration for tet +- GaussIntegration gint{}; +- gint.initialize(number_of_gauss_points, num_nodes, number_dims, is_tri); +- gint.calculate_shape_function_3d_tet(); +- gint.get_shape_func(shape_function[0], dndy1[0], dndy2[0], dndy3[0], weight); ++ GaussIntegration gaussint; ++ gaussint.initialize(number_of_gauss_points, num_nodes, number_dims, is_tri); ++ gaussint.calculate_shape_function_3d_tet(); ++ gaussint.get_shape_func(shape_function[0], dndy1[0], dndy2[0], dndy3[0], weight); + + // vector xxi is the derivative vector of coordinates w.r.t local xi coordinate in the + // computation space +@@ -1402,7 +1402,7 @@ double tet_distortion(int num_nodes, const double coordinates[][3]) + double dndy2_at_node[maxNumberNodes][maxNumberNodes]; + double dndy3_at_node[maxNumberNodes][maxNumberNodes]; + +- gint.calculate_derivative_at_nodes_3d_tet(dndy1_at_node, dndy2_at_node, dndy3_at_node); ++ gaussint.calculate_derivative_at_nodes_3d_tet(dndy1_at_node, dndy2_at_node, dndy3_at_node); + int node_id; + for (node_id = 0; node_id < num_nodes; node_id++) + { +diff --git a/V_TriMetric.cpp b/V_TriMetric.cpp +index 2fb5c37e8..71c16bea7 100644 +--- a/V_TriMetric.cpp ++++ b/V_TriMetric.cpp +@@ -664,10 +664,10 @@ double tri_distortion(int num_nodes, const double coordinates[][3]) + // create an object of GaussIntegration + int number_dims = 2; + int is_tri = 1; +- GaussIntegration gint{}; +- gint.initialize(number_of_gauss_points, num_nodes, number_dims, is_tri); +- gint.calculate_shape_function_2d_tri(); +- gint.get_shape_func(shape_function[0], dndy1[0], dndy2[0], weight); ++ GaussIntegration gaussint; ++ gaussint.initialize(number_of_gauss_points, num_nodes, number_dims, is_tri); ++ gaussint.calculate_shape_function_2d_tri(); ++ gaussint.get_shape_func(shape_function[0], dndy1[0], dndy2[0], weight); + + // calculate element area + int ife, ja; +@@ -691,7 +691,7 @@ double tri_distortion(int num_nodes, const double coordinates[][3]) + double dndy1_at_node[maxNumberNodes][maxNumberNodes]; + double dndy2_at_node[maxNumberNodes][maxNumberNodes]; + +- gint.calculate_derivative_at_nodes_2d_tri(dndy1_at_node, dndy2_at_node); ++ gaussint.calculate_derivative_at_nodes_2d_tri(dndy1_at_node, dndy2_at_node); + + VerdictVector normal_at_nodes[7]; + diff --git a/ports/verdict/include.patch b/ports/verdict/include.patch new file mode 100644 index 00000000000000..3b25e4f887672f --- /dev/null +++ b/ports/verdict/include.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 7db55ee4f..c41d98f70 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -52,7 +52,7 @@ configure_file( + + add_library(verdict ${verdict_SOURCES}) + target_include_directories(verdict PUBLIC +- $ $) ++ $ $ $) + + + # Setting the VERSION and SOVERSION of a library will include diff --git a/ports/verdict/portfile.cmake b/ports/verdict/portfile.cmake new file mode 100644 index 00000000000000..dfc91d15b12187 --- /dev/null +++ b/ports/verdict/portfile.cmake @@ -0,0 +1,24 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO sandialabs/verdict + REF fb582cf4fc04ecbd2bf423554325bda01231227a + SHA512 137a386a6c11bf2738d752f995a8cf66661efedab72980a787893f8594066197dd8a966ed906d0d8b95cb05a2ec1b8e95906bb9214cf05604058719798ce7dbd + HEAD_REF master + PATCHES include.patch + fix_osx.patch +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DVERDICT_ENABLE_TESTING=OFF +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/verdict" PACKAGE_NAME verdict) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +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/verdict/vcpkg.json b/ports/verdict/vcpkg.json new file mode 100644 index 00000000000000..220817dab0b475 --- /dev/null +++ b/ports/verdict/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "verdict", + "version": "1.4.0", + "description": "Compute quality functions of 2 and 3-dimensional regions.", + "homepage": "https://github.com/sandialabs/verdict", + "license": null, + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/via-httplib/portfile.cmake b/ports/via-httplib/portfile.cmake new file mode 100644 index 00000000000000..8cc6cc08c96953 --- /dev/null +++ b/ports/via-httplib/portfile.cmake @@ -0,0 +1,22 @@ +set(VCPKG_BUILD_TYPE release) # header-only +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO kenba/via-httplib + REF ${VERSION} + SHA512 3a36d251b6dfe9ad40d798761169a70877c6d12a94ea2799670d701a4449e2fe15558bc9f50fa46e17e3f2a53b91eb233254efd5000eeece07890e1a804f301d + HEAD_REF master +) + +vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}") + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(PACKAGE_NAME ViaHttpLib CONFIG_PATH lib/cmake/ViaHttpLib) + +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/ViaHttpLib/ViaHttpLibConfig.cmake" +"find_dependency(Boost 1.51)" +[[find_dependency(Boost COMPONENTS system)]]) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE_1_0.txt") diff --git a/ports/via-httplib/vcpkg.json b/ports/via-httplib/vcpkg.json new file mode 100644 index 00000000000000..0bac2f2790f718 --- /dev/null +++ b/ports/via-httplib/vcpkg.json @@ -0,0 +1,19 @@ +{ + "name": "via-httplib", + "version": "1.9.0", + "description": "C++ HTTP Library", + "homepage": "https://github.com/kenba/via-httplib", + "license": "GPL-2.0-or-later", + "dependencies": [ + "boost-asio", + "json-spirit", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/vili/portfile.cmake b/ports/vili/portfile.cmake new file mode 100644 index 00000000000000..48c9498dcdceb2 --- /dev/null +++ b/ports/vili/portfile.cmake @@ -0,0 +1,25 @@ + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO "ViliOrg/Vili" + REF "6e97dde7ef7cfe95ef715640524210b6477ecfa1" + SHA512 "a3c198df442a870f4075136d7eeb4f5241728cdd737ee002f7040e8f3c74e7216a0ebe0aab95ce4dc6e56ba84d3f43f4af2b9ec1116efb13d2b6f3977fcb1f33" + HEAD_REF "master" +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + "-DBUILD_TESTS=OFF" +) + +vcpkg_cmake_install() + +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/vili/usage b/ports/vili/usage new file mode 100644 index 00000000000000..75a7be35880732 --- /dev/null +++ b/ports/vili/usage @@ -0,0 +1,5 @@ + +The package vili provides CMake targets: + + find_package("vili" CONFIG REQUIRED) + target_link_libraries("main" PRIVATE "vili::vili") diff --git a/ports/vili/vcpkg.json b/ports/vili/vcpkg.json new file mode 100644 index 00000000000000..8ba66ff3038db7 --- /dev/null +++ b/ports/vili/vcpkg.json @@ -0,0 +1,22 @@ +{ + "name": "vili", + "version": "1.0.0+20221123", + "port-version": 1, + "maintainers": "Sygmei", + "description": "A nice and readable data format !", + "homepage": "https://github.com/ViliOrg/Vili", + "license": "MIT", + "dependencies": [ + "fmt", + "nlohmann-fifo-map", + "pegtl", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/vincentlaucsb-csv-parser/001-fix-cmake.patch b/ports/vincentlaucsb-csv-parser/001-fix-cmake.patch new file mode 100644 index 00000000000000..19c8c148a66725 --- /dev/null +++ b/ports/vincentlaucsb-csv-parser/001-fix-cmake.patch @@ -0,0 +1,70 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1b920b1..c56a142 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,6 +1,12 @@ + cmake_minimum_required(VERSION 3.9) + project(csv) + ++include(GNUInstallDirs) ++ ++find_path(HEDLEY_INCLUDE_DIRS "hedley.h") ++find_package(mio CONFIG REQUIRED) ++find_package(string-view-lite CONFIG REQUIRED) ++ + if(CSV_CXX_STANDARD) + set(CMAKE_CXX_STANDARD ${CSV_CXX_STANDARD}) + else() +@@ -40,10 +46,7 @@ set(CSV_TEST_DIR ${CMAKE_CURRENT_LIST_DIR}/tests) + + include_directories(${CSV_INCLUDE_DIR}) + +-## Load developer specific CMake settings +-if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) +- SET(CSV_DEVELOPER TRUE) +-endif() ++SET(CSV_DEVELOPER OFF) + + ## Main Library + add_subdirectory(${CSV_SOURCE_DIR}) +@@ -60,6 +63,23 @@ if (CSV_BUILD_PROGRAMS) + add_subdirectory("programs") + endif() + ++install(TARGETS csv EXPORT unofficial-vincentlaucsb-csv-parser) ++ ++install( ++ EXPORT unofficial-vincentlaucsb-csv-parser ++ FILE unofficial-vincentlaucsb-csv-parser-config.cmake ++ DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/unofficial-vincentlaucsb-csv-parser" ++ NAMESPACE unofficial::vincentlaucsb-csv-parser:: ++) ++ ++install( ++ DIRECTORY "${CMAKE_SOURCE_DIR}/include/" ++ DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/vincentlaucsb-csv-parser" ++ PATTERN "*.cpp" EXCLUDE ++ PATTERN "CMakeLists.txt" EXCLUDE ++ PATTERN "external" EXCLUDE ++) ++ + ## Developer settings + if (CSV_DEVELOPER) + # Allow for performance profiling +diff --git a/include/internal/CMakeLists.txt b/include/internal/CMakeLists.txt +index 4cbf58c..e9e65f8 100644 +--- a/include/internal/CMakeLists.txt ++++ b/include/internal/CMakeLists.txt +@@ -23,6 +23,9 @@ target_sources(csv + "data_type.hpp" + ) + +-set_target_properties(csv PROPERTIES LINKER_LANGUAGE CXX) +-target_link_libraries(csv PRIVATE Threads::Threads) +-target_include_directories(csv INTERFACE ../) ++set_target_properties(csv PROPERTIES LINKER_LANGUAGE CXX OUTPUT_NAME "vincentlaucsb-csv-parser-csv") ++target_include_directories(csv ++ PUBLIC ${HEDLEY_INCLUDE_DIRS} ++ INTERFACE $ ++) ++target_link_libraries(csv PRIVATE Threads::Threads PUBLIC mio::mio mio::mio-headers nonstd::string-view-lite) diff --git a/ports/vincentlaucsb-csv-parser/002-fix-include.patch b/ports/vincentlaucsb-csv-parser/002-fix-include.patch new file mode 100644 index 00000000000000..35eedef51f4914 --- /dev/null +++ b/ports/vincentlaucsb-csv-parser/002-fix-include.patch @@ -0,0 +1,45 @@ +diff --git a/include/internal/basic_csv_parser.hpp b/include/internal/basic_csv_parser.hpp +index d76b2d9..8dd0110 100644 +--- a/include/internal/basic_csv_parser.hpp ++++ b/include/internal/basic_csv_parser.hpp +@@ -15,7 +15,7 @@ + #include + #include + +-#include "../external/mio.hpp" ++#include "mio/mmap.hpp" + #include "col_names.hpp" + #include "common.hpp" + #include "csv_format.hpp" +diff --git a/include/internal/common.hpp b/include/internal/common.hpp +index c132bfb..dff4d03 100644 +--- a/include/internal/common.hpp ++++ b/include/internal/common.hpp +@@ -28,12 +28,12 @@ + #pragma once + #include + +-#include "../external/string_view.hpp" ++#include "nonstd/string_view.hpp" + + // If there is another version of Hedley, then the newer one + // takes precedence. + // See: https://github.com/nemequ/hedley +-#include "../external/hedley.h" ++#include "hedley.h" + + namespace csv { + #ifdef _MSC_VER +diff --git a/include/internal/csv_reader.hpp b/include/internal/csv_reader.hpp +index 1cdf6e0..3077395 100644 +--- a/include/internal/csv_reader.hpp ++++ b/include/internal/csv_reader.hpp +@@ -15,7 +15,7 @@ + #include + #include + +-#include "../external/mio.hpp" ++#include "mio/mmap.hpp" + #include "basic_csv_parser.hpp" + #include "common.hpp" + #include "data_type.hpp" diff --git a/ports/vincentlaucsb-csv-parser/003-disable-coverage.patch b/ports/vincentlaucsb-csv-parser/003-disable-coverage.patch new file mode 100644 index 00000000000000..890f8fa0f371c0 --- /dev/null +++ b/ports/vincentlaucsb-csv-parser/003-disable-coverage.patch @@ -0,0 +1,11 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -29,7 +29,6 @@ if(MSVC) + else() + # Ignore Visual Studio pragma regions + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unknown-pragmas") +- set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} --coverage -Og") + endif(MSVC) + + set(CSV_ROOT_DIR ${CMAKE_CURRENT_LIST_DIR}) diff --git a/ports/vincentlaucsb-csv-parser/portfile.cmake b/ports/vincentlaucsb-csv-parser/portfile.cmake new file mode 100644 index 00000000000000..73690c15ed8141 --- /dev/null +++ b/ports/vincentlaucsb-csv-parser/portfile.cmake @@ -0,0 +1,39 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO vincentlaucsb/csv-parser + REF "${VERSION}" + SHA512 44af73db1762e55f8c93d7f97e3f3b4b550c4f4043ace693d4bdbb41cce0b78450afdcd3fea8c9b4ee60e8100e4160facf72db27c31e3c579e35b6acbb8fff0c + HEAD_REF master + PATCHES + 001-fix-cmake.patch + 002-fix-include.patch + 003-disable-coverage.patch +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_PYTHON=OFF + -DCSV_BUILD_PROGRAMS=OFF + MAYBE_UNUSED_VARIABLES + BUILD_PYTHON +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-vincentlaucsb-csv-parser) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +file(READ "${CURRENT_PACKAGES_DIR}/share/unofficial-vincentlaucsb-csv-parser/unofficial-vincentlaucsb-csv-parser-config.cmake" cmake_config) +file(WRITE "${CURRENT_PACKAGES_DIR}/share/unofficial-vincentlaucsb-csv-parser/unofficial-vincentlaucsb-csv-parser-config.cmake" +"include(CMakeFindDependencyMacro) +find_dependency(Threads) +find_dependency(mio CONFIG) +find_dependency(string-view-lite CONFIG) +${cmake_config} +") + +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/vincentlaucsb-csv-parser/usage b/ports/vincentlaucsb-csv-parser/usage new file mode 100644 index 00000000000000..d7d068f3dca127 --- /dev/null +++ b/ports/vincentlaucsb-csv-parser/usage @@ -0,0 +1,4 @@ +csv-parser provides CMake targets: + + find_package(unofficial-vincentlaucsb-csv-parser CONFIG REQUIRED) + target_link_libraries(main PRIVATE unofficial::vincentlaucsb-csv-parser::csv) diff --git a/ports/vincentlaucsb-csv-parser/vcpkg.json b/ports/vincentlaucsb-csv-parser/vcpkg.json new file mode 100644 index 00000000000000..86d264921e3f42 --- /dev/null +++ b/ports/vincentlaucsb-csv-parser/vcpkg.json @@ -0,0 +1,22 @@ +{ + "name": "vincentlaucsb-csv-parser", + "version": "2.2.3", + "port-version": 1, + "description": "A modern C++ library for reading, writing, and analyzing CSV (and similar) files.", + "homepage": "https://github.com/vincentlaucsb/csv-parser", + "license": "MIT", + "supports": "!uwp", + "dependencies": [ + "hedley", + "mio", + "string-view-lite", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/visit-struct/CMakeLists.txt b/ports/visit-struct/CMakeLists.txt index df4fa2890b76b8..ffb69d2c4e520a 100644 --- a/ports/visit-struct/CMakeLists.txt +++ b/ports/visit-struct/CMakeLists.txt @@ -4,13 +4,13 @@ project(visit_struct) add_library(visit_struct INTERFACE) install(TARGETS visit_struct - EXPORT visit_struct-targets + EXPORT unofficial-visit_struct-targets INCLUDES DESTINATION include) -install(EXPORT visit_struct-targets - FILE visit_struct-config.cmake - NAMESPACE visit_struct:: - DESTINATION share/visit_struct) +install(EXPORT unofficial-visit_struct-targets + FILE unofficial-visit_struct-config.cmake + NAMESPACE unofficial::visit_struct:: + DESTINATION share/unofficial-visit_struct) install(DIRECTORY include/visit_struct diff --git a/ports/visit-struct/portfile.cmake b/ports/visit-struct/portfile.cmake index a797803ef70a22..f10ab1152519c0 100644 --- a/ports/visit-struct/portfile.cmake +++ b/ports/visit-struct/portfile.cmake @@ -2,24 +2,23 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO cbeck88/visit_struct - REF v1.0 - SHA512 1396d0d4c4d37f48434361d1e0ab4cb02c397aff1134678b26de713a27a4fcfa1c352890845502be645ba01e20314bf67731893fc6410b93e4521c1261d63c06 + REF "v${VERSION}" + SHA512 8d1f93344ef13320bc7967cbe2696bf49d6773fe3c89ba10bcf8ee9c33be165f14086828f6195bad742fbe75fee9c0995827c455c777950df583ff8f13c21338 HEAD_REF master ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/visit_struct TARGET_PATH share/visit_struct) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-visit_struct) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") -file(INSTALL ${SOURCE_PATH}/LICENSE - DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} +file(INSTALL "${SOURCE_PATH}/LICENSE" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) -file(INSTALL ${SOURCE_PATH}/README.md - DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +file(INSTALL "${SOURCE_PATH}/README.md" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/visit-struct/vcpkg.json b/ports/visit-struct/vcpkg.json index 0227710a416278..dd9880a4a7dcef 100644 --- a/ports/visit-struct/vcpkg.json +++ b/ports/visit-struct/vcpkg.json @@ -1,6 +1,16 @@ { "name": "visit-struct", - "version-string": "1.0", - "port-version": 2, - "description": "A header-only library providing structure visitors for C++11 and C++14" + "version": "1.1.0", + "description": "A header-only library providing structure visitors for C++11 and C++14", + "license": "BSL-1.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/vit-vit-ctpl/portfile.cmake b/ports/vit-vit-ctpl/portfile.cmake new file mode 100644 index 00000000000000..3a25a10a5df4b6 --- /dev/null +++ b/ports/vit-vit-ctpl/portfile.cmake @@ -0,0 +1,24 @@ +# Header-only library +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO vit-vit/ctpl + REF "ctpl_v.${VERSION}" + SHA512 5ab83a342e70559687c15f9ab8e7ca47d609713d64bf4248f05b9f311fddb44502ccd54d8352193c00ae570ebde3ea1149389ecdd0207ef46325eb8b648fb0e3 + HEAD_REF master +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + lockfree WITH_LOCKFREE +) + +if(WITH_LOCKFREE) + file(INSTALL "${SOURCE_PATH}/ctpl.h" + DESTINATION "${CURRENT_PACKAGES_DIR}/include") +endif() + +file(INSTALL "${SOURCE_PATH}/ctpl_stl.h" + DESTINATION "${CURRENT_PACKAGES_DIR}/include") + +# Handle copyright +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/vit-vit-ctpl/vcpkg.json b/ports/vit-vit-ctpl/vcpkg.json new file mode 100644 index 00000000000000..c650a6c281ee75 --- /dev/null +++ b/ports/vit-vit-ctpl/vcpkg.json @@ -0,0 +1,25 @@ +{ + "name": "vit-vit-ctpl", + "version": "0.0.2", + "description": "Modern and efficient C++ Thread Pool Library", + "homepage": "https://github.com/vit-vit/ctpl", + "license": "Apache-2.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "lockfree": { + "description": "Depends on Boost Lockfree Queue library", + "dependencies": [ + "boost-lockfree" + ] + } + } +} diff --git a/ports/vk-bootstrap/fix-targets.patch b/ports/vk-bootstrap/fix-targets.patch new file mode 100644 index 00000000000000..9313cca229975f --- /dev/null +++ b/ports/vk-bootstrap/fix-targets.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 43bc5cd..7d626fb 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -137,7 +137,7 @@ if (VK_BOOTSTRAP_INSTALL) + message(FATAL_ERROR "Unable to locate required dependency Vulkan::Headers!") + endif() + endif() +- include(@PACKAGE_VK_BOOTSTRAP_EXPORT_TARGETS@) ++ include("${CMAKE_CURRENT_LIST_DIR}/vk-bootstrap-targets.cmake") + ]=]) + + configure_package_config_file( diff --git a/ports/vk-bootstrap/portfile.cmake b/ports/vk-bootstrap/portfile.cmake new file mode 100644 index 00000000000000..f4fbc3e83acbed --- /dev/null +++ b/ports/vk-bootstrap/portfile.cmake @@ -0,0 +1,27 @@ +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO charles-lunarg/vk-bootstrap + REF "v${VERSION}" + SHA512 f925665b1d7a1c5069ca2cb6786f537bcc4b3060757db50d931091dc37ff4ef3b73b1b3adf0da84c256979fd780a2f6203de3299f634292600dcee925b9a5091 + HEAD_REF master + PATCHES + fix-targets.patch +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DVK_BOOTSTRAP_TEST=OFF + -DVK_BOOTSTRAP_INSTALL=ON +) + +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.txt") diff --git a/ports/vk-bootstrap/vcpkg.json b/ports/vk-bootstrap/vcpkg.json new file mode 100644 index 00000000000000..18fe30bd031ff3 --- /dev/null +++ b/ports/vk-bootstrap/vcpkg.json @@ -0,0 +1,19 @@ +{ + "name": "vk-bootstrap", + "version": "1.3.279", + "port-version": 1, + "description": "Vulkan bootstraping library", + "homepage": "https://github.com/charles-lunarg/vk-bootstrap", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "vulkan-headers" + ] +} diff --git a/ports/vkfft/portfile.cmake b/ports/vkfft/portfile.cmake new file mode 100644 index 00000000000000..ab9283298efd88 --- /dev/null +++ b/ports/vkfft/portfile.cmake @@ -0,0 +1,12 @@ +# header-only library +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO DTolm/VkFFT + REF e1c58868a9581725dd595975daf780da0a37dad1 #v1.2.31 + SHA512 b113f0117336ef2f6a285166cb4d68ea372e0dbb46025b7fcbae30f4f5147ad0fb1f7abfd91e1a73e2b4d72446c16ac0e90efc467785e035f176e81d95979706 + HEAD_REF master +) + +file(COPY "${SOURCE_PATH}/vkFFT/" DESTINATION "${CURRENT_PACKAGES_DIR}/include/VkFFT") + +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/vkfft/vcpkg.json b/ports/vkfft/vcpkg.json new file mode 100644 index 00000000000000..6c4076fe482a15 --- /dev/null +++ b/ports/vkfft/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "vkfft", + "version": "1.2.31", + "description": "Vulkan/CUDA/HIP/OpenCL/Level Zero Fast Fourier Transform library", + "homepage": "https://github.com/DTolm/VkFFT", + "license": "MIT" +} diff --git a/ports/vladimirshaleev-ipaddress/portfile.cmake b/ports/vladimirshaleev-ipaddress/portfile.cmake new file mode 100644 index 00000000000000..17fd2ab522f8a0 --- /dev/null +++ b/ports/vladimirshaleev-ipaddress/portfile.cmake @@ -0,0 +1,25 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO vladimirshaleev/ipaddress + REF "v${VERSION}" + SHA512 a8ab2dc8563ff08a5afbe6d2157502b26a5d13f29d00ab3354b812ad4cb9e35cdc89cb26e4920929ced7d063ae2ad5aa79d30a4623409f65c76971ecbbcd5bfc + HEAD_REF main +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DIPADDRESS_BUILD_DOC=OFF + -DIPADDRESS_BUILD_TESTS=OFF + -DIPADDRESS_BUILD_BENCHMARK=OFF + -DIPADDRESS_BUILD_PACKAGES=OFF + -DIPADDRESS_ENABLE_CLANG_TIDY=OFF +) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME ipaddress CONFIG_PATH share/cmake/ipaddress) +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") + +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/vladimirshaleev-ipaddress/usage b/ports/vladimirshaleev-ipaddress/usage new file mode 100644 index 00000000000000..2a8af754b1c4d7 --- /dev/null +++ b/ports/vladimirshaleev-ipaddress/usage @@ -0,0 +1,4 @@ +vladimirshaleev-ipaddress is header-only and can be used from CMake via: + + find_package(ipaddress CONFIG REQUIRED) + target_link_libraries(main PRIVATE ipaddress::ipaddress) diff --git a/ports/vladimirshaleev-ipaddress/vcpkg.json b/ports/vladimirshaleev-ipaddress/vcpkg.json new file mode 100644 index 00000000000000..61d4205ed412f9 --- /dev/null +++ b/ports/vladimirshaleev-ipaddress/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "vladimirshaleev-ipaddress", + "version": "1.1.0", + "description": "A library for working and manipulating IPv4/IPv6 addresses and networks in modern C++.", + "homepage": "https://vladimirshaleev.github.io/ipaddress/", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/vlfeat/CMakeLists.txt b/ports/vlfeat/CMakeLists.txt index 39ecfbc6be59f3..4e4edb8352d688 100644 --- a/ports/vlfeat/CMakeLists.txt +++ b/ports/vlfeat/CMakeLists.txt @@ -1,50 +1,24 @@ -cmake_minimum_required (VERSION 3.10) -project (vlfeat) +cmake_minimum_required(VERSION 3.10) +project(vlfeat LANGUAGES C) -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/vlfeat" CACHE PATH "Path where headers will be installed") -set(INSTALL_CMAKE_DIR "share/vlfeat" CACHE PATH "Path where cmake configs will be installed") - -# Make relative paths absolute (needed later on) -set(RELATIVE_INSTALL_INCLUDE_DIR ${INSTALL_INCLUDE_DIR}) -foreach(p LIB BIN INCLUDE CMAKE) - set(var INSTALL_${p}_DIR) - if(NOT IS_ABSOLUTE "${${var}}") - set(${var} "${CMAKE_INSTALL_PREFIX}/${${var}}") - endif() -endforeach() - -# make sure that the default is a RELEASE -set(default_build_type "Release") -if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) - message(STATUS "Setting build type to '${default_build_type}' as none was specified.") - set(CMAKE_BUILD_TYPE "${default_build_type}" CACHE - STRING "Choose the type of build." FORCE) - set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS - "Debug" "Release" "MinSizeRel" "RelWithDebInfo") -endif() - -if(ENABLE_OPENMP) - find_package(OpenMP REQUIRED) - set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}") +if(NOT DEFINED CMAKE_BUILD_TYPE) + set(CMAKE_BUILD_TYPE "Release") endif() if(MSVC) add_definitions(-D_CRT_SECURE_NO_DEPRECATE) add_definitions(-D__LITTLE_ENDIAN__) - add_definitions(/Zp8) - add_definitions(/wd4146) + add_compile_options(/Zp8) + add_compile_options(/wd4146) if(CMAKE_C_FLAGS MATCHES "/W[0-4]") string(REGEX REPLACE "/W[0-4]" "/W1" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") endif() endif() if(CMAKE_COMPILER_IS_GNUCC) - add_definitions(-std=c99) - add_definitions(-Wno-unused-function) - add_definitions(-Wno-long-long) - add_definitions(-Wno-variadic-macros) + add_compile_options(-Wno-unused-function) + add_compile_options(-Wno-long-long) + add_compile_options(-Wno-variadic-macros) endif() if(USE_SSE) @@ -138,22 +112,30 @@ set (H_SOURCES vl/vlad.h ) +include(GNUInstallDirs) + add_library(vl ${C_SOURCES} ${H_SOURCES}) set_property(TARGET vl PROPERTY POSITION_INDEPENDENT_CODE ON) target_compile_definitions(vl PRIVATE -DVL_BUILD_DLL) -target_include_directories(vl PUBLIC $ $) -set_target_properties(vl PROPERTIES PUBLIC_HEADER "${H_SOURCES}") +target_include_directories(vl PUBLIC $) +target_compile_features(vl PRIVATE c_std_99) + +if(ENABLE_OPENMP) + find_package(OpenMP REQUIRED) + # PRIVATE because '#pragma omp' is only used in .c files + target_link_libraries(vl PRIVATE OpenMP::OpenMP_C) +endif() -install(TARGETS vl EXPORT vlfeatTargets - RUNTIME DESTINATION "${INSTALL_BIN_DIR}" - LIBRARY DESTINATION "${INSTALL_LIB_DIR}" - ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" - PUBLIC_HEADER DESTINATION "${INSTALL_INCLUDE_DIR}" - COMPONENT dev +install(TARGETS vl + EXPORT vlfeatTargets + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ) +install(FILES ${H_SOURCES} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/vl") install(EXPORT vlfeatTargets FILE vlfeatConfig.cmake NAMESPACE unofficial::vlfeat:: - DESTINATION "${INSTALL_CMAKE_DIR}" + DESTINATION "share/vlfeat" ) diff --git a/ports/vlfeat/fix-openmp-build.patch b/ports/vlfeat/fix-openmp-build.patch new file mode 100644 index 00000000000000..2f8b2f7c633547 --- /dev/null +++ b/ports/vlfeat/fix-openmp-build.patch @@ -0,0 +1,11 @@ +--- a/vl/kmeans.c ++++ b/vl/kmeans.c +@@ -669,7 +669,7 @@ VL_XCAT(_vl_kmeans_quantize_, SFX) + + #ifdef _OPENMP + #pragma omp parallel default(none) \ +- shared(self, distances, assignments, numData, distFn, data) \ ++ shared(self, distances, assignments, numData, distFn, data, vl_infinity_d) \ + num_threads(vl_get_max_threads()) + #endif + { diff --git a/ports/vlfeat/portfile.cmake b/ports/vlfeat/portfile.cmake index a075bdef7ec25b..730d28a927564f 100644 --- a/ports/vlfeat/portfile.cmake +++ b/ports/vlfeat/portfile.cmake @@ -5,6 +5,12 @@ vcpkg_from_github( SHA512 6d317a1a9496ccac80244553d555fe060b150ccc7ee397a353b64f3a8451f24d1f03d8c00ed04cd9fc2dc066a5c5089b03695c614cb43ffa09be363660278255 PATCHES expose_missing_symbols.patch + fix-openmp-build.patch +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + openmp ENABLE_OPENMP ) set(USE_SSE ON) @@ -15,19 +21,19 @@ if(VCPKG_TARGET_ARCHITECTURE MATCHES "arm") set(USE_AVX OFF) endif() -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DUSE_SSE=${USE_SSE} -DUSE_AVX=${USE_AVX} + ${FEATURE_OPTIONS} ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets() +vcpkg_cmake_install() +vcpkg_cmake_config_fixup() -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") -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/vlfeat/vcpkg.json b/ports/vlfeat/vcpkg.json index 0e0c0d78bf9665..4a81a53675f896 100644 --- a/ports/vlfeat/vcpkg.json +++ b/ports/vlfeat/vcpkg.json @@ -1,7 +1,22 @@ { "name": "vlfeat", - "version-string": "2020-07-10", - "port-version": 1, + "version-date": "2020-07-10", + "port-version": 4, "description": "An open library of computer vision algorithms", - "homepage": "https://www.vlfeat.org" + "homepage": "https://www.vlfeat.org", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "openmp": { + "description": "Enable OpenMP support" + } + } } diff --git a/ports/vlpp/CMakeLists.txt b/ports/vlpp/CMakeLists.txt deleted file mode 100644 index f8df1b338d202c..00000000000000 --- a/ports/vlpp/CMakeLists.txt +++ /dev/null @@ -1,42 +0,0 @@ -cmake_minimum_required(VERSION 3.3.0) - -project(Vlpp VERSION 0.10.0.0 LANGUAGES CXX) - -# Sources -set(SRCS - Import/Vlpp.cpp - Import/VlppWorkflowLibrary.cpp - Import/VlppWorkflowCompiler.cpp - Import/VlppWorkflowRuntime.cpp) - -if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /bigobj") -endif() - -# Create and configure the target -add_library(Vlpp ${SRCS}) - -# target_compile_definitions -target_compile_definitions(Vlpp PRIVATE UNICODE) -target_compile_definitions(Vlpp PRIVATE _UNICODE) - -target_include_directories(Vlpp PRIVATE ${PROJECT_SOURCE_DIR}/Import) - -# Install -install( - TARGETS Vlpp - RUNTIME DESTINATION "bin" - LIBRARY DESTINATION "lib" - ARCHIVE DESTINATION "lib" - ) - -if (NOT DEFINED SKIP_HEADERS) - install( - FILES - Import/Vlpp.h - Import/VlppWorkflowLibrary.h - Import/VlppWorkflowCompiler.h - Import/VlppWorkflowRuntime.h - DESTINATION "include" - ) -endif() diff --git a/ports/vlpp/fix-install.patch b/ports/vlpp/fix-install.patch new file mode 100644 index 00000000000000..b237bebc3e1b4e --- /dev/null +++ b/ports/vlpp/fix-install.patch @@ -0,0 +1,12 @@ +diff --git a/Import/CMakeLists.txt b/Import/CMakeLists.txt +index 3547dae..23d6c39 100644 +--- a/Import/CMakeLists.txt ++++ b/Import/CMakeLists.txt +@@ -184,7 +184,6 @@ if (GACUI_CORE) + + if (GACUI_REFLECTION) + install(FILES GacUIReflection.h DESTINATION include) +- install(FILES GacUIR.UnitTest.UIReflection.h DESTINATION include) + install(FILES Skins/DarkSkin/DarkSkinReflection.h DESTINATION include/Skins/DarkSkin) + endif() + diff --git a/ports/vlpp/fix-tool-build.patch b/ports/vlpp/fix-tool-build.patch new file mode 100644 index 00000000000000..e7bf29357c3920 --- /dev/null +++ b/ports/vlpp/fix-tool-build.patch @@ -0,0 +1,24 @@ +diff --git a/Import/CMakeLists.txt b/Import/CMakeLists.txt +index c65ab65..2101e86 100644 +--- a/Import/CMakeLists.txt ++++ b/Import/CMakeLists.txt +@@ -10,6 +10,7 @@ cmake_dependent_option(WORKFLOW_COMPILER "Use VlppWorkflowCompiler" ON "WORKFLOW + cmake_dependent_option(GACUI_CORE "Use GacUI" ON "GLR_PARSER;WORKFLOW_LIBRARY" OFF) + cmake_dependent_option(GACUI_REFLECTION "Use GacUIReflection" ON "GACUI_CORE;WORKFLOW_RUNTIME;REFLECTION" OFF) + cmake_dependent_option(GACUI_COMPILER "Use GacUICompiler" ON "GACUI_REFLECTION;WORKFLOW_COMPILER" OFF) ++option(BUILD_TOOLS "Build tools" OFF) + + # core library + set(CORE_HDRS +@@ -144,6 +145,11 @@ if (GACUI_CORE) + list(APPEND EXPORT_TARGETS gacui_core) + endif() + ++if (BUILD_TOOLS) ++ add_subdirectory(gacgen/Tools/GacGen) ++ add_subdirectory(workflow/Tools/CppMerge) ++endif() ++ + # Install targets + install( + TARGETS ${EXPORT_TARGETS} diff --git a/ports/vlpp/fix_miss_file.patch b/ports/vlpp/fix_miss_file.patch new file mode 100644 index 00000000000000..0792d4333b9218 --- /dev/null +++ b/ports/vlpp/fix_miss_file.patch @@ -0,0 +1,24 @@ +diff --git a/Import/VlppReflection.h b/Import/VlppReflection.h +index 4589f99..85c9c01 100644 +--- a/Import/VlppReflection.h ++++ b/Import/VlppReflection.h +@@ -5,6 +5,7 @@ DEVELOPER: Zihan Chen(vczh) + #include "VlppOS.h" + #include "Vlpp.h" + #include "VlppRegex.h" ++#include + + /*********************************************************************** + .\DESCRIPTABLEOBJECT.H +diff --git a/Tools/GacGen/CMakeLists.txt b/Tools/GacGen/CMakeLists.txt +index f809893..5354e75 100644 +--- a/Tools/GacGen/CMakeLists.txt ++++ b/Tools/GacGen/CMakeLists.txt +@@ -25,7 +25,6 @@ set(SRCS + ../../Release/GacUIReflection.cpp + GacGen/GacGen.cpp + GacGen/Main.cpp +- GacGen/NativeController.cpp + ) + + if (WIN32) diff --git a/ports/vlpp/portfile.cmake b/ports/vlpp/portfile.cmake index 96a04e6cbd5faf..f21b49ea7e4485 100644 --- a/ports/vlpp/portfile.cmake +++ b/ports/vlpp/portfile.cmake @@ -1,27 +1,88 @@ -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO vczh-libraries/Release - REF 5dfe25c4f4997da2d7a23bdc80c2438e72d9813a # 0.11.0.0 - SHA512 5d585e561246385b074c625a3644b79defa22328dab0ab14112c846cb917f384abb617a5f400971ca29e4ee5ac391b88b17ee65d594caf9ebf279806db669a4a + REF "${VERSION}" + SHA512 327f62a03e45f90cdf84a973b097b0e7643848fe771919044c1b83635e74b26439fe96fb413d100b33ce030a013a0cb84b34597ca69de2478a4c773ba9b2ccf2 + HEAD_REF master + PATCHES + fix-tool-build.patch + fix-install.patch +) + +vcpkg_from_github( + OUT_SOURCE_PATH LICENSE_PATH + REPO vczh-libraries/License + REF 2173abd38478ba78f7a8f1a062475d04c014eb7a + SHA512 fb8df2380640c3ca14fce1320cdfb47b002eabbe42fa2d1a5356b3c641138d61b8f79f9d4894573d759876d1ab18f822d7fac4e4bce5c14f449acda29aac5e9c HEAD_REF master ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + reflection REFLECTION + glrparser GLR_PARSER + workflowlibrary WORKFLOW_LIBRARY + workflowruntime WORKFLOW_RUNTIME + workflowcompiler WORKFLOW_COMPILER + gacuicore GACUI_CORE + gacuirecompiler GACUI_COMPILER + gacuireflection GACUI_REFLECTION + tools BUILD_TOOLS +) + +if (BUILD_TOOLS) + vcpkg_from_github( + OUT_SOURCE_PATH GACGEN_SOURCE_PATH + REPO vczh-libraries/GacUI + REF 6547518c5bd775d336e53c583b39095a88e9723c + SHA512 114957408012ed1a03381f9caf6aafb463e8d94a4978b66f694698b5ff1bb86bcaa01c28c0aa75203e15d04126ed003b1fa370cc54f62ae87309c4bb798ede77 + HEAD_REF master + PATCHES + fix_miss_file.patch + ) + vcpkg_from_github( + OUT_SOURCE_PATH CPPMERGE_SOURCE_PATH + REPO vczh-libraries/Workflow + REF 3b1984b0d9e9602757774d259d11bdb43e5e30c4 + SHA512 dcb41d4658d65510d6ffc6015f79eb9d08cf6a7f52fc24b8832bfdc1706ea7d3dcef34bb46b4664b09579b4787bf01406b68a33193c8952a6e13018793ef05e8 + HEAD_REF master + ) + + if (NOT EXISTS "${SOURCE_PATH}/Import/gacgen") + file(RENAME "${GACGEN_SOURCE_PATH}" "${SOURCE_PATH}/Import/gacgen") + endif() + if (NOT EXISTS "${SOURCE_PATH}/Import/workflow") + file(RENAME "${CPPMERGE_SOURCE_PATH}" "${SOURCE_PATH}/Import/workflow") + endif() +endif() -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/Import" + OPTIONS ${FEATURE_OPTIONS} ) -vcpkg_install_cmake() -vcpkg_copy_pdbs() +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup() + +if (BUILD_TOOLS) + file(GLOB TOOL_GACGEN "${CURRENT_PACKAGES_DIR}/bin/GacGen*${VCPKG_TARGET_EXECUTABLE_SUFFIX}") + get_filename_component(TOOL_GACGEN "${TOOL_GACGEN}" NAME_WLE) + vcpkg_copy_tools(TOOL_NAMES ${TOOL_GACGEN} CppMerge AUTO_CLEAN) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + # Handle scripts + if (VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_MINGW) + set(TOOL_SCRIPT_SUFFIX ".ps1") + else() + set(TOOL_SCRIPT_SUFFIX ".bin") + endif() + file(GLOB TOOL_SCRIPTS "${SOURCE_PATH}/Tools/*${TOOL_SCRIPT_SUFFIX}") + foreach (TOOL_SCRIPT IN LISTS TOOL_SCRIPTS) + file(COPY "${TOOL_SCRIPT}" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}") + endforeach() +endif() -# Tools -file(INSTALL ${SOURCE_PATH}/Tools/CppMerge.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") # Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/vlpp RENAME copyright) +file(INSTALL "${LICENSE_PATH}/README.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/vlpp/vcpkg.json b/ports/vlpp/vcpkg.json index 85650b62a2ee16..7aedde86e224e3 100644 --- a/ports/vlpp/vcpkg.json +++ b/ports/vlpp/vcpkg.json @@ -1,7 +1,108 @@ { "name": "vlpp", - "version-string": "0.11.0.0", - "port-version": 1, + "version": "1.2.10.2", + "maintainers": "vczh", "description": "Common C++ construction, including string operation / generic container / linq / General-LR parser generator / multithreading / reflection for C++ / etc", - "homepage": "https://github.com/vczh-libraries/Release" + "homepage": "https://github.com/vczh-libraries/Release", + "license": null, + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "gacuicore": { + "description": "Enable GacUI Core", + "dependencies": [ + { + "name": "vlpp", + "features": [ + "glrparser", + "workflowlibrary" + ] + } + ] + }, + "gacuirecompiler": { + "description": "Enable GacUI Compiler", + "dependencies": [ + { + "name": "vlpp", + "features": [ + "gacuireflection", + "workflowcompiler" + ] + } + ] + }, + "gacuireflection": { + "description": "Enable GacUI Reflection", + "dependencies": [ + { + "name": "vlpp", + "features": [ + "gacuicore", + "workflowruntime" + ] + } + ] + }, + "glrparser": { + "description": "Enable GlrParser", + "dependencies": [ + { + "name": "vlpp", + "features": [ + "reflection" + ] + } + ] + }, + "reflection": { + "description": "Enable Reflection" + }, + "tools": { + "description": "Build tools", + "supports": "!osx" + }, + "workflowcompiler": { + "description": "Enable VlppWorkflow Compiler", + "dependencies": [ + { + "name": "vlpp", + "features": [ + "workflowruntime" + ] + } + ] + }, + "workflowlibrary": { + "description": "Enable VlppWorkflow Library", + "dependencies": [ + { + "name": "vlpp", + "features": [ + "reflection" + ] + } + ] + }, + "workflowruntime": { + "description": "Enable VlppWorkflow Runtime", + "dependencies": [ + { + "name": "vlpp", + "features": [ + "workflowlibrary" + ] + } + ] + } + } } diff --git a/ports/volk/portfile.cmake b/ports/volk/portfile.cmake index e2083887df3840..3f8dfd2d13a18b 100644 --- a/ports/volk/portfile.cmake +++ b/ports/volk/portfile.cmake @@ -4,22 +4,22 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO zeux/volk - REF 5a605f5d6997bd929b666700a36ca3d9bd1d7a47 - SHA512 ed6faf13828f3e47c4f12f8d19952c94589420539e98405bf2a4b7959518357dcc2f210746f3683d3862ac8c80821f3c863d49f4625e2dac85d2a680567e4f00 + REF "vulkan-sdk-${VERSION}" + SHA512 bc57ab2d0408fba6d66c91eb477392e217ec5b4185db1191c9ed7750f3773c513674b0bb4f3378a0ee38038d0447aa868ca79842192c6060a6e8b33ca81552f0 HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS -DVOLK_INSTALL=ON +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DVOLK_INSTALL=ON + -DVULKAN_HEADERS_INSTALL_DIR=${CURRENT_INSTALLED_DIR} ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/volk) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/volk) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -# Put the file containing the license where vcpkg expects it -file(COPY ${SOURCE_PATH}/README.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/volk/) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/volk/README.md ${CURRENT_PACKAGES_DIR}/share/volk/copyright) +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/volk/usage b/ports/volk/usage new file mode 100644 index 00000000000000..1feb18c4f99a0a --- /dev/null +++ b/ports/volk/usage @@ -0,0 +1,4 @@ +volk provides CMake targets: + + find_package(volk CONFIG REQUIRED) + target_link_libraries(main PRIVATE volk::volk volk::volk_headers) diff --git a/ports/volk/vcpkg.json b/ports/volk/vcpkg.json index 3d3f4a1e64f8b0..80c8952c152933 100644 --- a/ports/volk/vcpkg.json +++ b/ports/volk/vcpkg.json @@ -1,14 +1,22 @@ { "name": "volk", - "version-string": "2019-09-26", - "port-version": 1, + "version": "1.3.296", "description": [ "Meta loader for Vulkan API.", "Note that the static library target volk::volk is built without platform-specific defines.", "Use the header-only target volk::volk_headers if you require platform-specific extensions." ], "homepage": "https://github.com/zeux/volk", + "license": "MIT", "dependencies": [ - "vulkan" + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "vulkan-headers" ] } diff --git a/ports/vowpal-wabbit/cmake_remove_bin_targets.patch b/ports/vowpal-wabbit/cmake_remove_bin_targets.patch new file mode 100644 index 00000000000000..444ccb7cd076ee --- /dev/null +++ b/ports/vowpal-wabbit/cmake_remove_bin_targets.patch @@ -0,0 +1,22 @@ +diff --git a/vowpalwabbit/CMakeLists.txt b/vowpalwabbit/CMakeLists.txt +index cd3f6cd92..d5f41a11e 100644 +--- a/vowpalwabbit/CMakeLists.txt ++++ b/vowpalwabbit/CMakeLists.txt +@@ -1,9 +1,7 @@ +-add_subdirectory(active_interactor) + add_subdirectory(allreduce) + if(VW_BUILD_VW_C_WRAPPER) + add_subdirectory(c_wrapper) + endif() +-add_subdirectory(cli) + add_subdirectory(cache_parser) + add_subdirectory(common) + add_subdirectory(config) +@@ -17,7 +15,6 @@ add_subdirectory(json_parser) + add_subdirectory(model_merger) + add_subdirectory(slim) + if(VW_FEAT_NETWORKING) +- add_subdirectory(spanning_tree_bin) + add_subdirectory(spanning_tree) + endif() + add_subdirectory(text_parser) diff --git a/ports/vowpal-wabbit/fix-build-error-with-fmt11.patch b/ports/vowpal-wabbit/fix-build-error-with-fmt11.patch new file mode 100644 index 00000000000000..8d62d2ddfa9dc5 --- /dev/null +++ b/ports/vowpal-wabbit/fix-build-error-with-fmt11.patch @@ -0,0 +1,89 @@ +diff --git a/vowpalwabbit/config/src/cli_help_formatter.cc b/vowpalwabbit/config/src/cli_help_formatter.cc +index 8cc6dfe..10b9823 100644 +--- a/vowpalwabbit/config/src/cli_help_formatter.cc ++++ b/vowpalwabbit/config/src/cli_help_formatter.cc +@@ -8,6 +8,7 @@ + #include "vw/config/options.h" + + #include ++#include + + #include + #include +diff --git a/vowpalwabbit/config/src/options_cli.cc b/vowpalwabbit/config/src/options_cli.cc +index cec7c03..ea31810 100644 +--- a/vowpalwabbit/config/src/options_cli.cc ++++ b/vowpalwabbit/config/src/options_cli.cc +@@ -10,6 +10,7 @@ + #include "vw/config/option.h" + + #include ++#include + + #include + #include +diff --git a/vowpalwabbit/core/include/vw/core/automl_impl.h b/vowpalwabbit/core/include/vw/core/automl_impl.h +index 4a44666..0d1b35d 100644 +--- a/vowpalwabbit/core/include/vw/core/automl_impl.h ++++ b/vowpalwabbit/core/include/vw/core/automl_impl.h +@@ -334,7 +334,7 @@ template <> + class formatter : public formatter + { + public: +- auto format(VW::reductions::automl::automl_state c, format_context& ctx) -> decltype(ctx.out()) ++ auto format(VW::reductions::automl::automl_state c, format_context& ctx) const -> decltype(ctx.out()) + { + return formatter::format(std::string{VW::to_string(c)}, ctx); + } +@@ -344,7 +344,7 @@ template <> + class formatter : public formatter + { + public: +- auto format(VW::reductions::automl::config_state c, format_context& ctx) -> decltype(ctx.out()) ++ auto format(VW::reductions::automl::config_state c, format_context& ctx) const -> decltype(ctx.out()) + { + return formatter::format(std::string{VW::to_string(c)}, ctx); + } +@@ -354,7 +354,7 @@ template <> + class formatter : public formatter + { + public: +- auto format(VW::reductions::automl::config_type c, format_context& ctx) -> decltype(ctx.out()) ++ auto format(VW::reductions::automl::config_type c, format_context& ctx) const -> decltype(ctx.out()) + { + return formatter::format(std::string{VW::to_string(c)}, ctx); + } +diff --git a/vowpalwabbit/core/include/vw/core/ccb_label.h b/vowpalwabbit/core/include/vw/core/ccb_label.h +index 2e7e985..b0050dd 100644 +--- a/vowpalwabbit/core/include/vw/core/ccb_label.h ++++ b/vowpalwabbit/core/include/vw/core/ccb_label.h +@@ -14,6 +14,7 @@ + #include "vw/core/v_array.h" + + #include ++#include + + #include + #include +@@ -81,7 +82,7 @@ template <> + class formatter : public formatter + { + public: +- auto format(VW::ccb_example_type c, format_context& ctx) -> decltype(ctx.out()) ++ auto format(VW::ccb_example_type c, format_context& ctx) const -> decltype(ctx.out()) + { + return formatter::format(std::string{VW::to_string(c)}, ctx); + } +diff --git a/vowpalwabbit/core/include/vw/core/slates_label.h b/vowpalwabbit/core/include/vw/core/slates_label.h +index 0cd089c..d226893 100644 +--- a/vowpalwabbit/core/include/vw/core/slates_label.h ++++ b/vowpalwabbit/core/include/vw/core/slates_label.h +@@ -81,7 +81,7 @@ template <> + class formatter : public formatter + { + public: +- auto format(VW::slates::example_type c, format_context& ctx) -> decltype(ctx.out()) ++ auto format(VW::slates::example_type c, format_context& ctx) const -> decltype(ctx.out()) + { + return formatter::format(std::string{VW::to_string(c)}, ctx); + } diff --git a/ports/vowpal-wabbit/portfile.cmake b/ports/vowpal-wabbit/portfile.cmake new file mode 100644 index 00000000000000..01f1bb2c59efe5 --- /dev/null +++ b/ports/vowpal-wabbit/portfile.cmake @@ -0,0 +1,36 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO VowpalWabbit/vowpal_wabbit + REF "${VERSION}" + SHA512 f87229caf65c6c32fb863fa426a39592d41990a43ce4d79f0a076323e47cd3d1a8bd02884afceb662527c87d290e68c51df6263d6a97f3a044f3f7254a38f86a + HEAD_REF master + PATCHES + cmake_remove_bin_targets.patch + fix-build-error-with-fmt11.patch +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DVW_INSTALL=ON + -DRAPIDJSON_SYS_DEP=ON + -DFMT_SYS_DEP=ON + -DSPDLOG_SYS_DEP=ON + -DVW_BOOST_MATH_SYS_DEP=ON + -DVW_ZLIB_SYS_DEP=ON + -DVW_EIGEN_SYS_DEP=ON + -DVW_BUILD_VW_C_WRAPPER=OFF + -DBUILD_TESTING=OFF + -DVW_STRING_VIEW_LITE_SYS_DEP=ON + -DVW_SSE2NEON_SYS_DEP=ON +) +vcpkg_cmake_install() + +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") + +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/VowpalWabbit) +vcpkg_fixup_pkgconfig() diff --git a/ports/vowpal-wabbit/usage b/ports/vowpal-wabbit/usage new file mode 100644 index 00000000000000..bd211f5e6eb6cb --- /dev/null +++ b/ports/vowpal-wabbit/usage @@ -0,0 +1,4 @@ +vowpalwabbit provides CMake targets: + + find_package(VowpalWabbit CONFIG REQUIRED) + target_link_libraries(main PRIVATE VowpalWabbit::vw_core) diff --git a/ports/vowpal-wabbit/vcpkg.json b/ports/vowpal-wabbit/vcpkg.json new file mode 100644 index 00000000000000..6213380e9ec674 --- /dev/null +++ b/ports/vowpal-wabbit/vcpkg.json @@ -0,0 +1,30 @@ +{ + "name": "vowpal-wabbit", + "version": "9.10.0", + "description": "Reduction based online learning framework with a focus on contextual bandits and reinforcement learning.", + "homepage": "https://github.com/vowpalwabbit/vowpal_wabbit", + "license": "BSD-3-Clause", + "supports": "!x86 & !uwp & !(windows & arm)", + "dependencies": [ + "boost-math", + "eigen3", + "flatbuffers", + "fmt", + "rapidjson", + "spdlog", + { + "name": "sse2neon", + "platform": "arm" + }, + "string-view-lite", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "zlib" + ] +} diff --git a/ports/vs-yasm/vcpkg.json b/ports/vs-yasm/vcpkg.json index 830838cc7bde85..3a9192b8c74d3d 100644 --- a/ports/vs-yasm/vcpkg.json +++ b/ports/vs-yasm/vcpkg.json @@ -1,7 +1,7 @@ { "name": "vs-yasm", - "version-string": "0.5.0", - "port-version": 1, + "version": "0.5.0", + "port-version": 2, "description": "Provides Visual Studio integration for the YASM assembler.", "homepage": "https://github.com/ShiftMediaProject/VSYASM", "supports": "windows & !arm" diff --git a/ports/vsg/portfile.cmake b/ports/vsg/portfile.cmake new file mode 100644 index 00000000000000..4e2633d1b616b1 --- /dev/null +++ b/ports/vsg/portfile.cmake @@ -0,0 +1,16 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO vsg-dev/VulkanSceneGraph + REF "v${VERSION}" + SHA512 a9a1d2f82badc393b7be8db9616ef6bd5fa74cd65f83dd65d7d7344b61eb9d52d24f34de71f98f2de1a5bd4c41c7aae5e538a4f58346ff1a9ec5108cbef759cf + HEAD_REF master +) + +vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}") +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME "vsg" CONFIG_PATH "lib/cmake/vsg") +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.md") diff --git a/ports/vsg/vcpkg.json b/ports/vsg/vcpkg.json new file mode 100644 index 00000000000000..406d0f74377449 --- /dev/null +++ b/ports/vsg/vcpkg.json @@ -0,0 +1,23 @@ +{ + "name": "vsg", + "version": "1.1.7", + "description": "A modern, cross platform, high performance scene graph library built upon Vulkan.", + "homepage": "http://www.vulkanscenegraph.org/", + "license": "MIT", + "dependencies": [ + "glslang", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "vulkan", + { + "name": "xcb", + "platform": "!(android | windows | osx)" + } + ] +} diff --git a/ports/vsgimgui/devendor.patch b/ports/vsgimgui/devendor.patch new file mode 100644 index 00000000000000..aba25a8f2c6d0d --- /dev/null +++ b/ports/vsgimgui/devendor.patch @@ -0,0 +1,150 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a9e6265..96a2ecb 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -22,34 +22,13 @@ if (VULKAN_SDK) + set(ENV{VULKAN_SDK} ${VULKAN_SDK}) + endif() + +-find_package(vsg 1.0.5) ++find_package(vsg REQUIRED) ++find_package(imgui REQUIRED) ++find_package(implot REQUIRED) + + vsg_setup_dir_vars() + vsg_setup_build_vars() + +-if ( (NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/src/imgui/imgui.h) OR +- (NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/src/implot/implot.h) ) +- find_package(Git QUIET) +- +- execute_process(COMMAND ${GIT_EXECUTABLE} submodule update --init --recursive +- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} +- RESULT_VARIABLE GIT_SUBMOD_RESULT) +- +- if(NOT GIT_SUBMOD_RESULT EQUAL "0") +- message(FATAL_ERROR "git submodule update --init --recursive failed with ${GIT_SUBMOD_RESULT}, please checkout submodules") +- endif() +-endif() +- +-vsg_copy_imgui_headers( +- FILES +- ${VSGIMGUI_SOURCE_DIR}/src/imgui/imgui.h +- ${VSGIMGUI_SOURCE_DIR}/src/imgui/imconfig.h +- ${VSGIMGUI_SOURCE_DIR}/src/imgui/imgui_internal.h +- ${VSGIMGUI_SOURCE_DIR}/src/imgui/imstb_textedit.h +- ${VSGIMGUI_SOURCE_DIR}/src/imgui//misc/cpp/imgui_stdlib.h +- ${VSGIMGUI_SOURCE_DIR}/src/implot/implot.h +- ${VSGIMGUI_SOURCE_DIR}/src/implot/implot_internal.h +-) + + vsg_add_target_clang_format( + FILES +diff --git a/include/vsgImGui/RenderImGui.h b/include/vsgImGui/RenderImGui.h +index b4210d2..33198e4 100644 +--- a/include/vsgImGui/RenderImGui.h ++++ b/include/vsgImGui/RenderImGui.h +@@ -31,7 +31,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + #include + + #include +-#include ++#include + + namespace vsgImGui + { +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 41d749d..919159e 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -6,40 +6,21 @@ set(EXTRA_INCLUDES) + SET(HEADER_PATH ${VSGIMGUI_SOURCE_DIR}/include/vsgImGui) + + set(HEADERS +- ${HEADER_PATH}/imgui.h + ${HEADER_PATH}/SendEventsToImGui.h + ${HEADER_PATH}/RenderImGui.h + ${HEADER_PATH}/Texture.h +- imgui/imconfig.h +- imgui/imgui_internal.h +- imgui/imstb_rectpack.h +- imgui/imstb_textedit.h +- imgui/imstb_truetype.h +- imgui/misc/cpp/imgui_stdlib.h +- implot/implot.h +- implot/implot_internal.h + ) + + set(SOURCES + vsgImGui/RenderImGui.cpp + vsgImGui/SendEventsToImGui.cpp + vsgImGui/Texture.cpp +- imgui/imgui.cpp +- imgui/imgui_draw.cpp +- imgui/imgui_tables.cpp +- imgui/imgui_widgets.cpp +- imgui/backends/imgui_impl_vulkan.cpp +- imgui/misc/cpp/imgui_stdlib.cpp +- implot/implot.cpp +- implot/implot_items.cpp + ) + + OPTION(SHOW_DEMO_WINDOW "Toggle the build of the ImGui::ShowDemoWindow(bool*) and ImPlot::ShadowDemoWindow(bool*)" ON) + + if (SHOW_DEMO_WINDOW) + set(SOURCES ${SOURCES} +- imgui/imgui_demo.cpp +- implot/implot_demo.cpp + ) + else() + set(SOURCES ${SOURCES} +@@ -73,6 +54,8 @@ target_include_directories(vsgImGui PUBLIC + target_link_libraries(vsgImGui + PUBLIC + vsg::vsg ++ imgui::imgui ++ implot::implot + PRIVATE + ${EXTRA_LIBRARIES} + ) +diff --git a/src/vsgImGui/RenderImGui.cpp b/src/vsgImGui/RenderImGui.cpp +index 5d7cf06..dac2227 100644 +--- a/src/vsgImGui/RenderImGui.cpp ++++ b/src/vsgImGui/RenderImGui.cpp +@@ -22,9 +22,9 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + + #include +-#include ++#include + +-#include "../imgui/backends/imgui_impl_vulkan.h" ++#include + + #include + #include +diff --git a/src/vsgImGui/SendEventsToImGui.cpp b/src/vsgImGui/SendEventsToImGui.cpp +index 4e83e4c..b1f4d83 100644 +--- a/src/vsgImGui/SendEventsToImGui.cpp ++++ b/src/vsgImGui/SendEventsToImGui.cpp +@@ -22,7 +22,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + + #include +-#include ++#include + + #include + #include +diff --git a/src/vsgImGuiConfig.cmake.in b/src/vsgImGuiConfig.cmake.in +index e2c14f2..5cf8bd9 100644 +--- a/src/vsgImGuiConfig.cmake.in ++++ b/src/vsgImGuiConfig.cmake.in +@@ -2,5 +2,7 @@ include(CMakeFindDependencyMacro) + + find_dependency(Vulkan) + find_dependency(vsg) ++find_dependency(imgui) ++find_dependency(implot) + + include("${CMAKE_CURRENT_LIST_DIR}/vsgImGuiTargets.cmake") diff --git a/ports/vsgimgui/portfile.cmake b/ports/vsgimgui/portfile.cmake new file mode 100644 index 00000000000000..38cbb639f3d7f8 --- /dev/null +++ b/ports/vsgimgui/portfile.cmake @@ -0,0 +1,21 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO vsg-dev/vsgImGui + REF "v${VERSION}" + SHA512 f27ef25edb95c2129553732054080582a6990b6d84ae6f3ff2007489f02cfcb6ce3f728eb56b584315f5e9835daf74d104962b07b35463ba655bf7aa5c99489c + HEAD_REF master + PATCHES + devendor.patch + remove-manual-font-creation.patch +) + +file(REMOVE "${SOURCE_PATH}/include/vsgImGui/imgui.h") + +vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}") +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME "vsgImGui" CONFIG_PATH "lib/cmake/vsgImGui") +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.md") diff --git a/ports/vsgimgui/remove-manual-font-creation.patch b/ports/vsgimgui/remove-manual-font-creation.patch new file mode 100644 index 00000000000000..4ca7e1ce170c72 --- /dev/null +++ b/ports/vsgimgui/remove-manual-font-creation.patch @@ -0,0 +1,44 @@ +diff --git a/include/vsgImGui/RenderImGui.h b/include/vsgImGui/RenderImGui.h +index e8186c6..8059d75 100644 +--- a/include/vsgImGui/RenderImGui.h ++++ b/include/vsgImGui/RenderImGui.h +@@ -86,7 +86,6 @@ namespace vsgImGui + vsg::ref_ptr renderPass, + uint32_t minImageCount, uint32_t imageCount, + VkExtent2D imageSize, bool useClearAttachments); +- void _uploadFonts(); + }; + + } // namespace vsgImGui +diff --git a/src/vsgImGui/RenderImGui.cpp b/src/vsgImGui/RenderImGui.cpp +index 306030b..d662531 100644 +--- a/src/vsgImGui/RenderImGui.cpp ++++ b/src/vsgImGui/RenderImGui.cpp +@@ -60,7 +60,6 @@ namespace vsgImGui + RenderImGui::RenderImGui(const vsg::ref_ptr& window, bool useClearAttachments) + { + _init(window, useClearAttachments); +- _uploadFonts(); + } + + RenderImGui::RenderImGui(vsg::ref_ptr device, uint32_t queueFamily, +@@ -69,7 +68,6 @@ RenderImGui::RenderImGui(vsg::ref_ptr device, uint32_t queueFamily, + VkExtent2D imageSize, bool useClearAttachments) + { + _init(device, queueFamily, renderPass, minImageCount, imageCount, imageSize, useClearAttachments); +- _uploadFonts(); + } + + RenderImGui::~RenderImGui() +@@ -184,11 +182,6 @@ void RenderImGui::_init( + } + } + +-void RenderImGui::_uploadFonts() +-{ +- ImGui_ImplVulkan_CreateFontsTexture(); +-} +- + void RenderImGui::accept(vsg::RecordTraversal& rt) const + { + auto& commandBuffer = *(rt.getState()->_commandBuffer); diff --git a/ports/vsgimgui/vcpkg.json b/ports/vsgimgui/vcpkg.json new file mode 100644 index 00000000000000..fb7056ce0ad74f --- /dev/null +++ b/ports/vsgimgui/vcpkg.json @@ -0,0 +1,25 @@ +{ + "name": "vsgimgui", + "version": "0.3.0", + "description": "Library that integrates VulkanSceneGraph with Dear ImGui & ImPlot.", + "homepage": "https://github.com/vsg-dev/vsgImGui", + "license": "MIT", + "dependencies": [ + { + "name": "imgui", + "features": [ + "vulkan-binding" + ] + }, + "implot", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "vsg" + ] +} diff --git a/ports/vsgxchange/portfile.cmake b/ports/vsgxchange/portfile.cmake new file mode 100644 index 00000000000000..0c556a19a0bb9b --- /dev/null +++ b/ports/vsgxchange/portfile.cmake @@ -0,0 +1,37 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO vsg-dev/vsgXchange + REF "v${VERSION}" + SHA512 b2f8c0382dee8d91a31852c29fecd946deb8c3d45dc9a80eb1fb0d7efce8ecefb099bfd2dba4b3171ddd9e7099da41dbf0b72e11ec53bf982aaf9d04afad5104 + HEAD_REF master + PATCHES require-features.patch +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + assimp VSGXCHANGE_WITH_ASSIMP + curl VSGXCHANGE_WITH_CURL + freetype VSGXCHANGE_WITH_FREETYPE + gdal VSGXCHANGE_WITH_GDAL + openexr VSGXCHANGE_WITH_OPENEXR +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME "vsgXchange" CONFIG_PATH "lib/cmake/vsgXchange") +vcpkg_copy_pdbs() + +vcpkg_copy_tools(TOOL_NAMES vsgconv AUTO_CLEAN) +file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/bin/vsgconvd${VCPKG_TARGET_EXECUTABLE_SUFFIX}") + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + 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") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.md") diff --git a/ports/vsgxchange/require-features.patch b/ports/vsgxchange/require-features.patch new file mode 100644 index 00000000000000..7edc6dc0663ac9 --- /dev/null +++ b/ports/vsgxchange/require-features.patch @@ -0,0 +1,66 @@ +diff --git a/src/assimp/build_vars.cmake b/src/assimp/build_vars.cmake +index 1e413fc..49d77d4 100644 +--- a/src/assimp/build_vars.cmake ++++ b/src/assimp/build_vars.cmake +@@ -1,7 +1,6 @@ + # add assimp if available +-find_package(assimp 5.1 QUIET) +-if(NOT assimp_FOUND) +-find_package(assimp 5.0 QUIET) ++if (VSGXCHANGE_WITH_ASSIMP) ++find_package(assimp REQUIRED) + endif() + + +diff --git a/src/curl/build_vars.cmake b/src/curl/build_vars.cmake +index 015b68c..a4afc8a 100644 +--- a/src/curl/build_vars.cmake ++++ b/src/curl/build_vars.cmake +@@ -1,5 +1,7 @@ + # add CURL if available +-find_package(CURL) ++if(VSGXCHANGE_WITH_CURL) ++find_package(CURL REQUIRED) ++endif() + + if(CURL_FOUND) + OPTION(vsgXchange_curl "Optional CURL support provided" ON) +diff --git a/src/freetype/build_vars.cmake b/src/freetype/build_vars.cmake +index cb63a8b..327db9e 100644 +--- a/src/freetype/build_vars.cmake ++++ b/src/freetype/build_vars.cmake +@@ -1,5 +1,7 @@ + # add freetype if available +-find_package(Freetype) ++if(VSGXCHANGE_WITH_FREETYPE) ++find_package(Freetype REQUIRED) ++endif() + + if(FREETYPE_FOUND) + OPTION(vsgXchange_freetype "Freetype support provided" ON) +diff --git a/src/gdal/build_vars.cmake b/src/gdal/build_vars.cmake +index dd240b0..227c6b7 100644 +--- a/src/gdal/build_vars.cmake ++++ b/src/gdal/build_vars.cmake +@@ -1,5 +1,7 @@ + # add GDAL if available +-find_package(GDAL QUIET) ++if(VSGXCHANGE_WITH_GDAL) ++find_package(GDAL REQUIRED) ++endif() + + if(GDAL_FOUND) + OPTION(vsgXchange_GDAL "GDAL support provided" ON) +diff --git a/src/openexr/build_vars.cmake b/src/openexr/build_vars.cmake +index c4c880a..3ab27c8 100644 +--- a/src/openexr/build_vars.cmake ++++ b/src/openexr/build_vars.cmake +@@ -1,5 +1,7 @@ + # add openexr if available +-find_package(OpenEXR QUIET) ++if(VSGXCHANGE_WITH_OPENEXR) ++find_package(OpenEXR REQUIRED) ++endif() + + if(OpenEXR_FOUND) + OPTION(vsgXchange_openexr "Optional OpenEXR support provided" ON) diff --git a/ports/vsgxchange/vcpkg.json b/ports/vsgxchange/vcpkg.json new file mode 100644 index 00000000000000..a058aeea4b4653 --- /dev/null +++ b/ports/vsgxchange/vcpkg.json @@ -0,0 +1,51 @@ +{ + "name": "vsgxchange", + "version": "1.0.5", + "port-version": 1, + "description": "Utility library for converting 3rd party images, models and fonts formats to/from VulkanSceneGraph.", + "homepage": "https://github.com/vsg-dev/vsgXchange", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "vsg" + ], + "features": { + "assimp": { + "description": "Enable support for reading 3D model formats as vsg::Node via Assimp", + "dependencies": [ + "assimp" + ] + }, + "curl": { + "description": "Enable support for reading image and model files from http:// and https://", + "dependencies": [ + "curl" + ] + }, + "freetype": { + "description": "Enable support for reading fonts as vsg::Font via Freetype", + "dependencies": [ + "freetype" + ] + }, + "gdal": { + "description": "Enable support for reading geospatial data formats as vsg::Data via GDAL", + "dependencies": [ + "gdal" + ] + }, + "openexr": { + "description": "Enable support for reading EXR files as vsg::Data", + "dependencies": [ + "openexr" + ] + } + } +} diff --git a/ports/vtk-dicom/portfile.cmake b/ports/vtk-dicom/portfile.cmake index 171a046a26fbb0..9236d9cb626201 100644 --- a/ports/vtk-dicom/portfile.cmake +++ b/ports/vtk-dicom/portfile.cmake @@ -1,10 +1,9 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO dgobbi/vtk-dicom - REF 5034c68450de857b70fbe4a4b9f8dddb62badef3 # v0.8.12 - SHA512 bad1ed6a4a412402a2cd69e5f85b2b73f1ee7ea46a6bbcac31c5f66d07ae006679ffbd9a3c70f9baa1b05b1af0a2d4ca0efc34ec0a85a92f5116b900e81635cd + REF cfeceadfa68d2cc3172632bd1fd3ea8a38b6c609 # v0.8.16 + SHA512 0715ef91a1c585c9c819efd2bd6e2b73d3bff73a626b89f4877812fa6587e8379fb55ad99a376fb4d8dfa46c438e7a7052ba02ae61feb950cafb00c95df09b3f HEAD_REF master - PATCHES std.patch # similar patch is already in master ) if ("gdcm" IN_LIST FEATURES) @@ -13,30 +12,36 @@ else() set(USE_GDCM OFF ) endif() - if(USE_GDCM) list(APPEND ADDITIONAL_OPTIONS -DUSE_GDCM=ON -DUSE_DCMTK=OFF ) endif() -vcpkg_find_acquire_program(PYTHON3) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA + +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}") +endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_PROGRAMS=OFF -DBUILD_EXAMPLES=OFF - "-DPython3_EXECUTABLE=${PYTHON3}" + "-DPython3_EXECUTABLE:PATH=${CURRENT_HOST_INSTALLED_DIR}/tools/python3/python${python_ver}${VCPKG_EXECUTABLE_SUFFIX}" ${ADDITIONAL_OPTIONS} ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/dicom-0.8 PACKAGE_NAME dicom) vcpkg_copy_pdbs() -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") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/Copyright.txt") -# Handle copyright -file(INSTALL ${SOURCE_PATH}/Copyright.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/vtk-dicom/std.patch b/ports/vtk-dicom/std.patch deleted file mode 100644 index 59160f089b7b7c..00000000000000 --- a/ports/vtk-dicom/std.patch +++ /dev/null @@ -1,74 +0,0 @@ -diff --git a/Source/vtkScancoCTReader.cxx b/Source/vtkScancoCTReader.cxx -index a71f2e46e..afe202ffc 100644 ---- a/Source/vtkScancoCTReader.cxx -+++ b/Source/vtkScancoCTReader.cxx -@@ -176,7 +176,7 @@ int vtkScancoCTReader::CheckVersion(const char header[16]) - //---------------------------------------------------------------------------- - int vtkScancoCTReader::CanReadFile(const char *filename) - { -- ifstream infile(filename, ios::in | ios::binary); -+ std::ifstream infile(filename, ios::in | ios::binary); - - bool canRead = false; - if (infile.good()) -@@ -409,7 +409,7 @@ void vtkScancoCTReader::StripString(char *dest, const char *cp, size_t l) - } - - //---------------------------------------------------------------------------- --int vtkScancoCTReader::ReadISQHeader(ifstream *file, unsigned long bytesRead) -+int vtkScancoCTReader::ReadISQHeader(std::ifstream *file, unsigned long bytesRead) - { - if (bytesRead < 512) - { -@@ -620,7 +620,7 @@ int vtkScancoCTReader::ReadISQHeader(ifstream *file, unsigned long bytesRead) - } - - //---------------------------------------------------------------------------- --int vtkScancoCTReader::ReadAIMHeader(ifstream *file, unsigned long bytesRead) -+int vtkScancoCTReader::ReadAIMHeader(std::ifstream *file, unsigned long bytesRead) - { - if (bytesRead < 160) - { -@@ -987,7 +987,7 @@ int vtkScancoCTReader::RequestInformation( - const char *ufilename = filename; - #endif - -- ifstream infile(ufilename, ios::in | ios::binary); -+ std::ifstream infile(ufilename, ios::in | ios::binary); - if (!infile.good()) - { - vtkErrorMacro("Cannot open file " << filename); -@@ -1115,7 +1115,7 @@ int vtkScancoCTReader::RequestData( - static_cast(data->GetScalarPointer()); - - // open the file -- ifstream infile(filename, ios::in | ios::binary); -+ std::ifstream infile(filename, ios::in | ios::binary); - if (!infile.good()) - { - vtkErrorMacro("Cannot open file " << filename); -diff --git a/Source/vtkScancoCTReader.h b/Source/vtkScancoCTReader.h -index ca31d7572..240d532f2 100644 ---- a/Source/vtkScancoCTReader.h -+++ b/Source/vtkScancoCTReader.h -@@ -34,6 +34,7 @@ - #ifndef vtkScancoCTReader_h - #define vtkScancoCTReader_h - -+#include - #include "vtkImageReader2.h" - #include "vtkDICOMModule.h" // For export macro - #include "vtkDICOMConfig.h" // For configuration details -@@ -185,10 +186,10 @@ protected: - void InitializeHeader(); - - //! Read an ISQ header. -- int ReadISQHeader(ifstream *file, unsigned long bytesRead); -+ int ReadISQHeader(std::ifstream *file, unsigned long bytesRead); - - //! Read AIM header. -- int ReadAIMHeader(ifstream *file, unsigned long bytesRead); -+ int ReadAIMHeader(std::ifstream *file, unsigned long bytesRead); - - //! Check the file header to see what type of file it is. - /*! diff --git a/ports/vtk-dicom/vcpkg.json b/ports/vtk-dicom/vcpkg.json index 097ecde742f4c7..dbdf91ec4ba190 100644 --- a/ports/vtk-dicom/vcpkg.json +++ b/ports/vtk-dicom/vcpkg.json @@ -1,10 +1,24 @@ { "name": "vtk-dicom", - "version-string": "0.8.12", - "port-version": 2, + "version": "0.8.16", + "port-version": 1, "description": "DICOM for VTK", "homepage": "https://github.com/dgobbi/vtk-dicom", + "license": "BSD-3-Clause", "dependencies": [ + { + "name": "python3", + "host": true, + "default-features": false + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, { "name": "vtk", "default-features": false diff --git a/ports/vtk-m/fix-build.patch b/ports/vtk-m/fix-build.patch new file mode 100644 index 00000000000000..ffe52ab2f29434 --- /dev/null +++ b/ports/vtk-m/fix-build.patch @@ -0,0 +1,38 @@ +diff --git a/vtkm/filter/flow/internal/Messenger.cxx b/vtkm/filter/flow/internal/Messenger.cxx +index 52c582f201..dff804cc8a 100644 +--- a/vtkm/filter/flow/internal/Messenger.cxx ++++ b/vtkm/filter/flow/internal/Messenger.cxx +@@ -277,7 +277,7 @@ void Messenger::SendDataSync(int dst, int tag, vtkmdiy::MemoryBuffer& buff) + if (it == this->SyncSendBuffers.end()) + { + std::vector> vec; +- vec.push_back(std::move(entry)); ++ vec.emplace_back(std::move(entry)); + this->SyncSendBuffers.insert(std::make_pair(tag, std::move(vec))); + } + else +diff --git a/vtkm/filter/flow/internal/Messenger.h b/vtkm/filter/flow/internal/Messenger.h +index 42d554ae51..b6a0acb40b 100644 +--- a/vtkm/filter/flow/internal/Messenger.h ++++ b/vtkm/filter/flow/internal/Messenger.h +@@ -44,6 +44,11 @@ public: + #endif + } + ++ Messenger(const Messenger&) =delete; ++ Messenger(Messenger&&) =default; ++ Messenger& operator=(Messenger&&) =default; ++ Messenger& operator=(const Messenger&) =delete; ++ + int GetRank() const { return this->Rank; } + int GetNumRanks() const { return this->NumRanks; } + +@@ -108,7 +113,7 @@ private: + + //Member data + // +- std::map>> SyncSendBuffers; ++ std::map>> SyncSendBuffers = {}; + std::map> MessageTagInfo; + MPI_Comm MPIComm; + std::size_t MsgID; diff --git a/ports/vtk-m/omp.patch b/ports/vtk-m/omp.patch new file mode 100644 index 00000000000000..dacb6f01a0f7da --- /dev/null +++ b/ports/vtk-m/omp.patch @@ -0,0 +1,26 @@ +diff --git a/CMake/VTKmDeviceAdapters.cmake b/CMake/VTKmDeviceAdapters.cmake +index e9ac039..c745604 100644 +--- a/CMake/VTKmDeviceAdapters.cmake ++++ b/CMake/VTKmDeviceAdapters.cmake +@@ -59,20 +59,14 @@ if(VTKm_ENABLE_OPENMP AND NOT TARGET vtkm::openmp) + find_package(OpenMP 4.0 REQUIRED COMPONENTS CXX QUIET) + + add_library(vtkm_openmp INTERFACE) + set_target_properties(vtkm_openmp PROPERTIES EXPORT_NAME openmp) ++ target_link_libraries(vtkm_openmp INTERFACE OpenMP::OpenMP_CXX) + if(OpenMP_CXX_FLAGS) +- set_property(TARGET vtkm_openmp +- APPEND PROPERTY INTERFACE_COMPILE_OPTIONS $<$:${OpenMP_CXX_FLAGS}>) +- + if(VTKm_ENABLE_CUDA) + string(REPLACE ";" "," openmp_cuda_flags "-Xcompiler=${OpenMP_CXX_FLAGS}") + set_property(TARGET vtkm_openmp + APPEND PROPERTY INTERFACE_COMPILE_OPTIONS $<$:${openmp_cuda_flags}>) + endif() + endif() +- if(OpenMP_CXX_LIBRARIES) +- set_target_properties(vtkm_openmp PROPERTIES +- INTERFACE_LINK_LIBRARIES "${OpenMP_CXX_LIBRARIES}") +- endif() + install(TARGETS vtkm_openmp EXPORT ${VTKm_EXPORT_NAME}) + endif() diff --git a/ports/vtk-m/portfile.cmake b/ports/vtk-m/portfile.cmake index b8e90bc9840635..81bec1152ca35c 100644 --- a/ports/vtk-m/portfile.cmake +++ b/ports/vtk-m/portfile.cmake @@ -16,6 +16,7 @@ vcpkg_check_features (OUT_FEATURE_OPTIONS OPTIONS tbb VTKm_ENABLE_TBB mpi VTKm_ENABLE_MPI double VTKm_USE_DOUBLE_PRECISION + kokkos VTKm_ENABLE_KOKKOS # No port yet ) if("cuda" IN_LIST FEATURES AND NOT ENV{CUDACXX}) @@ -26,10 +27,22 @@ if("cuda" IN_LIST FEATURES AND NOT ENV{CUDACXX}) set(VCPKG_LIBRARY_LINKAGE "static") # CUDA forces static build. endif() -list(APPEND OPTIONS -DVTKm_ENABLE_RENDERING=ON) -list(APPEND OPTIONS -DVTKm_ENABLE_DEVELOPER_FLAGS=OFF) -list(APPEND OPTIONS -DVTKm_ENABLE_CPACK=OFF) -list(APPEND OPTIONS -DVTKm_USE_DEFAULT_TYPES_FOR_VTK=ON) +list(APPEND OPTIONS + -DVTKm_ENABLE_RENDERING=ON + -DVTKm_ENABLE_DEVELOPER_FLAGS=OFF + -DVTKm_ENABLE_CPACK=OFF + -DVTKm_ENABLE_EXAMPLES=OFF + -DVTKm_ENABLE_TUTORIALS=OFF + -DVTKm_ENABLE_DOCUMENTATION=OFF + -DVTKm_ENABLE_BENCHMARKS=OFF + -DVTKm_USE_DEFAULT_TYPES_FOR_VTK=ON + -DBUILD_TESTING=OFF + -DVTKm_ENABLE_TESTING=OFF + -DVTKm_USE_64BIT_IDS=ON + -DVTKm_ENABLE_HDF5_IO=OFF + -DVTKm_NO_INSTALL_README_LICENSE=ON + -DVTKm_ENABLE_GPU_MPI=OFF + ) # For port customizations on unix systems. # Please feel free to make these port features if it makes any sense #list(APPEND OPTIONS -DVTKm_ENABLE_GL_CONTEXT=ON) # or @@ -40,20 +53,34 @@ list(APPEND OPTIONS -DBUILD_TESTING=OFF) vcpkg_from_gitlab(GITLAB_URL "https://gitlab.kitware.com" OUT_SOURCE_PATH SOURCE_PATH REPO vtk/vtk-m - REF 13a117e0e8935eef3f320b5a1cd71d9911ad9853 # v1.6.0 Version is strongly locked to VTK 9.0. Upgrading will most likly brake the VTK build - SHA512 54f7f52ab4ee7954b6a303ffd3b8bcb18105b5d2fd8ed54b4e487fce2ebfbc51507e632189f775c79eea22ad24bd56bca401ddd679fc03d787342dd33d2ba18b - FILE_DISAMBIGUATOR 1) -vcpkg_configure_cmake(SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS ${OPTIONS}) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/vtkm-1.6 TARGET_PATH share/vtkm) - -file(READ ${CURRENT_PACKAGES_DIR}/share/vtkm/VTKmConfig.cmake _contents) -string(REPLACE [[set_and_check(VTKm_CONFIG_DIR "${PACKAGE_PREFIX_DIR}/lib/cmake/vtkm-1.6")]] [[set_and_check(VTKm_CONFIG_DIR "${PACKAGE_PREFIX_DIR}/share/vtkm")]] _contents ${_contents}) -file(WRITE ${CURRENT_PACKAGES_DIR}/share/vtkm/VTKmConfig.cmake ${_contents}) - -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) + REF a057f62e756efc43095e72c5813aaaf2dea36ebb # v2.1.0 Upgrading will most likely break the VTK build + + SHA512 fa08bd597e1918d10e7fed9f6b9667fd53f4a14589580e68691aad3cfb240f7de80fa0c5001712f100911c2262b5af3105b8f21da21b945a88e1204ea82b92a6 + PATCHES + omp.patch + fix-build.patch +) +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${OPTIONS} +) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/vtkm-2.1" PACKAGE_NAME vtkm) + +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/vtkm/VTKmConfig.cmake" + [[set_and_check(VTKm_CONFIG_DIR "${PACKAGE_PREFIX_DIR}/lib/cmake/vtkm-2.1")]] + [[set_and_check(VTKm_CONFIG_DIR "${PACKAGE_PREFIX_DIR}/share/vtkm")]]) +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/vtkm/VTKmConfig.cmake" "${CURRENT_BUILDTREES_DIR}" "not/existing/buildtree") + +file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/lib/pkgconfig") +file(RENAME "${CURRENT_PACKAGES_DIR}/share/vtkm-2.1/vtkm.pc" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/vtkm.pc") +if(NOT VCPKG_BUILD_TYPE) + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig") + file(RENAME "${CURRENT_PACKAGES_DIR}/debug/share/vtkm-2.1/vtkm.pc" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/vtkm.pc") +endif() +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/vtk-m/vcpkg.json b/ports/vtk-m/vcpkg.json index 0b5c4fcc64d5f0..02a0877bf532b7 100644 --- a/ports/vtk-m/vcpkg.json +++ b/ports/vtk-m/vcpkg.json @@ -1,9 +1,20 @@ { "name": "vtk-m", - "version-semver": "1.6.0", + "version": "2.1.0", "description": "VTK-m is a toolkit of scientific visualization algorithms for emerging processor architectures.", "homepage": "https://gitlab.kitware.com/vtk/vtk-m/", - "supports": "x64 & !uwp", + "license": null, + "supports": "!x86 & !uwp & !(arm & windows)", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], "features": { "cuda": { "description": "Use the NVIDIA CUDA device adapter.", diff --git a/ports/vtk/156fb524.patch b/ports/vtk/156fb524.patch deleted file mode 100644 index 716fd5c7e3e2f6..00000000000000 --- a/ports/vtk/156fb524.patch +++ /dev/null @@ -1,393 +0,0 @@ -diff --git a/Accelerators/Vtkm/Filters/CMakeLists.txt b/Accelerators/Vtkm/Filters/CMakeLists.txt -index 14e84f1dd6e8b9da275045fe5d80868b2e52ad5a..3a41bc4d2bffca8c3df79da218443b90f8ceb7d3 100644 ---- a/Accelerators/Vtkm/Filters/CMakeLists.txt -+++ b/Accelerators/Vtkm/Filters/CMakeLists.txt -@@ -46,6 +46,10 @@ foreach (class IN LISTS impl_classes) - list(APPEND headers "${class}.h") - endforeach () - -+list(APPEND sources -+ "vtkmClipInstantiationsWithField.cxx" -+ "vtkmClipInstantiationsWithImplicitFunction.cxx") -+ - configure_file( - "${CMAKE_CURRENT_SOURCE_DIR}/vtkmConfigFilters.h.in" - "${CMAKE_CURRENT_BINARY_DIR}/vtkmConfigFilters.h" -diff --git a/Accelerators/Vtkm/Filters/vtkmClip.cxx b/Accelerators/Vtkm/Filters/vtkmClip.cxx -index 0b1dc86d3bedd425d4846f524818a68ada052ce9..65fec3110ebb6522900cbc965c5298031921e1e4 100644 ---- a/Accelerators/Vtkm/Filters/vtkmClip.cxx -+++ b/Accelerators/Vtkm/Filters/vtkmClip.cxx -@@ -14,6 +14,7 @@ - =========================================================================*/ - - #include "vtkmClip.h" -+#include "vtkmClipInternals.h" - - #include "vtkCellIterator.h" - #include "vtkDataArray.h" -@@ -36,11 +37,9 @@ - - #include "vtkmFilterPolicy.h" - -+#include - #include - --#include --#include -- - #include - - vtkStandardNewMacro(vtkmClip); -@@ -50,19 +49,17 @@ void vtkmClip::PrintSelf(std::ostream& os, vtkIndent indent) - { - this->Superclass::PrintSelf(os, indent); - -- os << indent << "ClipValue: " << this->ClipValue << "\n"; -+ os << indent << "ClipValue: " << this->GetClipValue() << "\n"; - os << indent << "ClipFunction: \n"; -- this->ClipFunction->PrintSelf(os, indent.GetNextIndent()); -- os << indent << "ComputeScalars: " << this->ComputeScalars << "\n"; -+ this->GetClipFunction()->PrintSelf(os, indent.GetNextIndent()); -+ os << indent << "ComputeScalars: " << this->GetComputeScalars() << "\n"; - } - - //------------------------------------------------------------------------------ - vtkmClip::vtkmClip() -- : ClipValue(0.) -- , ComputeScalars(true) -- , ClipFunction(nullptr) -- , ClipFunctionConverter(new tovtkm::ImplicitFunctionConverter) -+ : Internals(new vtkmClip::internals) - { -+ this->Internals->ClipFunctionConverter.reset(new tovtkm::ImplicitFunctionConverter()); - // Clip active point scalars by default - this->SetInputArrayToProcess( - 0, 0, 0, vtkDataObject::FIELD_ASSOCIATION_POINTS, vtkDataSetAttributes::SCALARS); -@@ -75,24 +72,54 @@ vtkmClip::~vtkmClip() = default; - vtkMTimeType vtkmClip::GetMTime() - { - vtkMTimeType mTime = this->Superclass::GetMTime(); -- if (this->ClipFunction) -+ if (this->GetClipFunction()) - { -- mTime = std::max(mTime, this->ClipFunction->GetMTime()); -+ mTime = std::max(mTime, this->GetClipFunction()->GetMTime()); - } - return mTime; - } - -+//------------------------------------------------------------------------------ -+double vtkmClip::GetClipValue() -+{ -+ return this->Internals->ClipValue; -+} -+ -+//------------------------------------------------------------------------------ -+void vtkmClip::SetClipValue(double val) -+{ -+ this->Internals->ClipValue = val; -+} -+ -+//------------------------------------------------------------------------------ -+bool vtkmClip::GetComputeScalars() -+{ -+ return this->Internals->ComputeScalars; -+} -+ -+//------------------------------------------------------------------------------ -+void vtkmClip::SetComputeScalars(bool val) -+{ -+ this->Internals->ComputeScalars = val; -+} -+ - //------------------------------------------------------------------------------ - void vtkmClip::SetClipFunction(vtkImplicitFunction* clipFunction) - { -- if (this->ClipFunction != clipFunction) -+ if (this->GetClipFunction() != clipFunction) - { -- this->ClipFunction = clipFunction; -- this->ClipFunctionConverter->Set(clipFunction); -+ this->Internals->ClipFunction = clipFunction; -+ this->Internals->ClipFunctionConverter->Set(clipFunction); - this->Modified(); - } - } - -+//------------------------------------------------------------------------------ -+vtkImplicitFunction* vtkmClip::GetClipFunction() -+{ -+ return this->Internals->ClipFunction; -+} -+ - //------------------------------------------------------------------------------ - int vtkmClip::RequestData( - vtkInformation*, vtkInformationVector** inInfoVec, vtkInformationVector* outInfoVec) -@@ -111,7 +138,7 @@ int vtkmClip::RequestData( - // Find the scalar array: - int assoc = this->GetInputArrayAssociation(0, inInfoVec); - vtkDataArray* scalars = this->GetInputArrayToProcess(0, inInfoVec); -- if (!this->ClipFunction && -+ if (!this->GetClipFunction() && - (assoc != vtkDataObject::FIELD_ASSOCIATION_POINTS || scalars == nullptr || - scalars->GetName() == nullptr || scalars->GetName()[0] == '\0')) - { -@@ -129,37 +156,18 @@ int vtkmClip::RequestData( - { - // Convert inputs to vtkm objects: - auto fieldsFlag = -- this->ComputeScalars ? tovtkm::FieldsFlag::PointsAndCells : tovtkm::FieldsFlag::None; -+ this->GetComputeScalars() ? tovtkm::FieldsFlag::PointsAndCells : tovtkm::FieldsFlag::None; - auto in = tovtkm::Convert(input, fieldsFlag); - - // Run filter: - vtkm::cont::DataSet result; -- if (this->ClipFunction) -+ if (this->GetClipFunction()) - { -- vtkm::filter::ClipWithImplicitFunction functionFilter; -- auto function = this->ClipFunctionConverter->Get(); -- if (function.GetValid()) -- { -- functionFilter.SetImplicitFunction(function); -- result = functionFilter.Execute(in); -- } -+ result = this->Internals->ExecuteClipWithImplicitFunction(in); - } - else - { -- vtkm::filter::ClipWithField fieldFilter; -- if (!this->ComputeScalars) -- { -- // explicitly convert just the field we need -- auto inField = tovtkm::Convert(scalars, assoc); -- in.AddField(inField); -- // don't pass this field -- fieldFilter.SetFieldsToPass( -- vtkm::filter::FieldSelection(vtkm::filter::FieldSelection::MODE_NONE)); -- } -- -- fieldFilter.SetActiveField(scalars->GetName(), vtkm::cont::Field::Association::POINTS); -- fieldFilter.SetClipValue(this->ClipValue); -- result = fieldFilter.Execute(in); -+ result = this->Internals->ExecuteClipWithField(in, scalars, assoc); - } - - // Convert result to output: -@@ -169,7 +177,7 @@ int vtkmClip::RequestData( - return 0; - } - -- if (!this->ClipFunction && this->ComputeScalars) -+ if (!this->GetClipFunction() && this->GetComputeScalars()) - { - output->GetPointData()->SetActiveScalars(scalars->GetName()); - } -@@ -189,8 +197,8 @@ int vtkmClip::RequestData( - << "Falling back to serial implementation."); - - vtkNew filter; -- filter->SetClipFunction(this->ClipFunction); -- filter->SetValue(this->ClipValue); -+ filter->SetClipFunction(this->GetClipFunction()); -+ filter->SetValue(this->GetClipValue()); - filter->SetInputData(input); - filter->Update(); - output->ShallowCopy(filter->GetOutput()); -diff --git a/Accelerators/Vtkm/Filters/vtkmClip.h b/Accelerators/Vtkm/Filters/vtkmClip.h -index edb3cebfadc9ebeddf3c5030716ba532c0e149fe..6f33d36460d72de340eb81bb321ee868d70e6b5b 100644 ---- a/Accelerators/Vtkm/Filters/vtkmClip.h -+++ b/Accelerators/Vtkm/Filters/vtkmClip.h -@@ -32,13 +32,6 @@ - - class vtkImplicitFunction; - --namespace tovtkm --{ -- --class ImplicitFunctionConverter; -- --} // namespace tovtkm -- - class VTKACCELERATORSVTKMFILTERS_EXPORT vtkmClip : public vtkUnstructuredGridAlgorithm - { - public: -@@ -50,15 +43,15 @@ public: - * The scalar value to use when clipping the dataset. Values greater than - * ClipValue are preserved in the output dataset. Default is 0. - */ -- vtkGetMacro(ClipValue, double); -- vtkSetMacro(ClipValue, double); -+ double GetClipValue(); -+ void SetClipValue(double); - - /** - * If true, all input point data arrays will be mapped onto the output - * dataset. Default is true. - */ -- vtkGetMacro(ComputeScalars, bool); -- vtkSetMacro(ComputeScalars, bool); -+ bool GetComputeScalars(); -+ void SetComputeScalars(bool); - - /** - * Set the implicit function with which to perform the clipping. If set, -@@ -66,7 +59,7 @@ public: - * function. - */ - void SetClipFunction(vtkImplicitFunction*); -- vtkGetObjectMacro(ClipFunction, vtkImplicitFunction); -+ vtkImplicitFunction* GetClipFunction(); - - vtkMTimeType GetMTime() override; - -@@ -87,17 +80,13 @@ protected: - ~vtkmClip() override; - - int RequestData(vtkInformation*, vtkInformationVector**, vtkInformationVector*) override; -- - int FillInputPortInformation(int port, vtkInformation* info) override; - -- double ClipValue; -- bool ComputeScalars; -- -- vtkImplicitFunction* ClipFunction; -- std::unique_ptr ClipFunctionConverter; -- - vtkTypeBool ForceVTKm = false; - -+ struct internals; -+ std::unique_ptr Internals; -+ - private: - vtkmClip(const vtkmClip&) = delete; - void operator=(const vtkmClip&) = delete; -diff --git a/Accelerators/Vtkm/Filters/vtkmClipInstantiationsWithField.cxx b/Accelerators/Vtkm/Filters/vtkmClipInstantiationsWithField.cxx -new file mode 100644 -index 0000000000000000000000000000000000000000..e81b5cdab62a436ef09afac33ffa0599cb9dd2a8 ---- /dev/null -+++ b/Accelerators/Vtkm/Filters/vtkmClipInstantiationsWithField.cxx -@@ -0,0 +1,39 @@ -+/*========================================================================= -+ -+ Program: Visualization Toolkit -+ Module: vtkmClipInstantiationsWithField.cxx -+ -+ Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen -+ All rights reserved. -+ See Copyright.txt or http://www.kitware.com/Copyright.htm for details. -+ -+ This software is distributed WITHOUT ANY WARRANTY; without even -+ the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -+ PURPOSE. See the above copyright notice for more information. -+ -+=========================================================================*/ -+ -+#include "vtkmClipInternals.h" -+#include "vtkmlib/DataSetConverters.h" -+ -+#include -+ -+//------------------------------------------------------------------------------ -+vtkm::cont::DataSet vtkmClip::internals::ExecuteClipWithField( -+ vtkm::cont::DataSet& in, vtkDataArray* scalars, int assoc) -+{ -+ vtkm::filter::ClipWithField fieldFilter; -+ if (!this->ComputeScalars) -+ { -+ // explicitly convert just the field we need -+ auto inField = tovtkm::Convert(scalars, assoc); -+ in.AddField(inField); -+ // don't pass this field -+ fieldFilter.SetFieldsToPass( -+ vtkm::filter::FieldSelection(vtkm::filter::FieldSelection::MODE_NONE)); -+ } -+ -+ fieldFilter.SetActiveField(scalars->GetName(), vtkm::cont::Field::Association::POINTS); -+ fieldFilter.SetClipValue(this->ClipValue); -+ return fieldFilter.Execute(in); -+} -diff --git a/Accelerators/Vtkm/Filters/vtkmClipInstantiationsWithImplicitFunction.cxx b/Accelerators/Vtkm/Filters/vtkmClipInstantiationsWithImplicitFunction.cxx -new file mode 100644 -index 0000000000000000000000000000000000000000..04a637a92d487b019742bbf81884750c48ba105d ---- /dev/null -+++ b/Accelerators/Vtkm/Filters/vtkmClipInstantiationsWithImplicitFunction.cxx -@@ -0,0 +1,35 @@ -+/*========================================================================= -+ -+ Program: Visualization Toolkit -+ Module: vtkmClipInstantiationsWithImplicitFunction.cxx -+ -+ Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen -+ All rights reserved. -+ See Copyright.txt or http://www.kitware.com/Copyright.htm for details. -+ -+ This software is distributed WITHOUT ANY WARRANTY; without even -+ the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -+ PURPOSE. See the above copyright notice for more information. -+ -+=========================================================================*/ -+ -+#include "vtkmClipInternals.h" -+#include "vtkmlib/DataSetConverters.h" -+ -+#include -+ -+//------------------------------------------------------------------------------ -+vtkm::cont::DataSet vtkmClip::internals::ExecuteClipWithImplicitFunction(vtkm::cont::DataSet& in) -+{ -+ auto function = this->ClipFunctionConverter->Get(); -+ -+ vtkm::cont::DataSet result; -+ if (function.GetValid()) -+ { -+ vtkm::filter::ClipWithImplicitFunction functionFilter; -+ functionFilter.SetImplicitFunction(function); -+ result = functionFilter.Execute(in); -+ } -+ -+ return result; -+} -diff --git a/Accelerators/Vtkm/Filters/vtkmClipInternals.h b/Accelerators/Vtkm/Filters/vtkmClipInternals.h -new file mode 100644 -index 0000000000000000000000000000000000000000..5384347bf9d48f04f5d2847753c92b64fc82346e ---- /dev/null -+++ b/Accelerators/Vtkm/Filters/vtkmClipInternals.h -@@ -0,0 +1,37 @@ -+/*========================================================================= -+ -+ Program: Visualization Toolkit -+ Module: vtkmClipInternals.h -+ -+ Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen -+ All rights reserved. -+ See Copyright.txt or http://www.kitware.com/Copyright.htm for details. -+ -+ This software is distributed WITHOUT ANY WARRANTY; without even -+ the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -+ PURPOSE. See the above copyright notice for more information. -+ -+=========================================================================*/ -+ -+#ifndef vtkmClipInternals_h -+#define vtkmClipInternals_h -+ -+#include "vtkDataArray.h" -+#include "vtkmClip.h" -+#include "vtkmlib/ImplicitFunctionConverter.h" -+ -+#include -+ -+struct vtkmClip::internals -+{ -+ double ClipValue = .0; -+ bool ComputeScalars = true; -+ -+ vtkImplicitFunction* ClipFunction = nullptr; -+ std::unique_ptr ClipFunctionConverter; -+ -+ vtkm::cont::DataSet ExecuteClipWithImplicitFunction(vtkm::cont::DataSet&); -+ vtkm::cont::DataSet ExecuteClipWithField(vtkm::cont::DataSet&, vtkDataArray*, int); -+}; -+ -+#endif diff --git a/ports/vtk/1f00a0c9.patch b/ports/vtk/1f00a0c9.patch deleted file mode 100644 index 4cd8f196354c26..00000000000000 --- a/ports/vtk/1f00a0c9.patch +++ /dev/null @@ -1,185 +0,0 @@ -diff --git a/Accelerators/Vtkm/DataModel/vtkmDataSet.cxx b/Accelerators/Vtkm/DataModel/vtkmDataSet.cxx -index da8f2e6498c2a08165500fc458eb3c9c7dc0b7e6..147c3c6e175dbd342095805750bfc4fee81735dc 100644 ---- a/Accelerators/Vtkm/DataModel/vtkmDataSet.cxx -+++ b/Accelerators/Vtkm/DataModel/vtkmDataSet.cxx -@@ -265,7 +265,7 @@ vtkIdType vtkmDataSet::FindPoint(double x[3]) - std::lock_guard lock(locator.lock); - if (locator.buildTime < this->GetMTime()) - { -- locator.control.reset(new vtkm::cont::PointLocatorUniformGrid); -+ locator.control.reset(new vtkm::cont::PointLocatorSparseGrid); - locator.control->SetCoordinates(this->Internals->Coordinates); - locator.control->Update(); - locator.buildTime = this->GetMTime(); -diff --git a/Accelerators/Vtkm/DataModel/vtkmlib/DataSetConverters.cxx b/Accelerators/Vtkm/DataModel/vtkmlib/DataSetConverters.cxx -index f311f90e17814a05d082a0df67108f242018bb69..7ecfa50e4aa9922987fd33f7b29eb1bf4be3577a 100644 ---- a/Accelerators/Vtkm/DataModel/vtkmlib/DataSetConverters.cxx -+++ b/Accelerators/Vtkm/DataModel/vtkmlib/DataSetConverters.cxx -@@ -240,11 +240,11 @@ bool Convert(const vtkm::cont::DataSet& vtkmOut, vtkRectilinearGrid* output, vtk - auto coordsArray = vtkm::cont::Cast(vtkmOut.GetCoordinateSystem().GetData()); - - vtkSmartPointer xArray = -- Convert(vtkm::cont::make_FieldPoint("xArray", coordsArray.GetStorage().GetFirstArray())); -+ Convert(vtkm::cont::make_FieldPoint("xArray", coordsArray.GetFirstArray())); - vtkSmartPointer yArray = -- Convert(vtkm::cont::make_FieldPoint("yArray", coordsArray.GetStorage().GetSecondArray())); -+ Convert(vtkm::cont::make_FieldPoint("yArray", coordsArray.GetSecondArray())); - vtkSmartPointer zArray = -- Convert(vtkm::cont::make_FieldPoint("zArray", coordsArray.GetStorage().GetThirdArray())); -+ Convert(vtkm::cont::make_FieldPoint("zArray", coordsArray.GetThirdArray())); - - if (!xArray || !yArray || !zArray) - { -diff --git a/Accelerators/Vtkm/Filters/vtkmAverageToCells.cxx b/Accelerators/Vtkm/Filters/vtkmAverageToCells.cxx -index 334ec1219dd269e323ae11e61a5a68e9e6e3d2e7..ed9d58fe91713a12e7b2588471275e694f71f618 100644 ---- a/Accelerators/Vtkm/Filters/vtkmAverageToCells.cxx -+++ b/Accelerators/Vtkm/Filters/vtkmAverageToCells.cxx -@@ -27,7 +27,6 @@ - #include "vtkmFilterPolicy.h" - - #include --#include - - vtkStandardNewMacro(vtkmAverageToCells); - -diff --git a/Accelerators/Vtkm/Filters/vtkmAverageToPoints.cxx b/Accelerators/Vtkm/Filters/vtkmAverageToPoints.cxx -index 1003f88c4d4e1dcf0be24b7f9f4e6d58e4e735f0..00c722f3162ebb042fb3973bb28a3c1c2fb48c45 100644 ---- a/Accelerators/Vtkm/Filters/vtkmAverageToPoints.cxx -+++ b/Accelerators/Vtkm/Filters/vtkmAverageToPoints.cxx -@@ -28,7 +28,6 @@ - #include "vtkmFilterPolicy.h" - - #include --#include - - vtkStandardNewMacro(vtkmAverageToPoints); - -diff --git a/Accelerators/Vtkm/Filters/vtkmCleanGrid.cxx b/Accelerators/Vtkm/Filters/vtkmCleanGrid.cxx -index 98f0fdb70a296a8dd97df56f706f11e0aca20f32..0cfde7e99f8f07289b08310675ee16f438bc61be 100644 ---- a/Accelerators/Vtkm/Filters/vtkmCleanGrid.cxx -+++ b/Accelerators/Vtkm/Filters/vtkmCleanGrid.cxx -@@ -30,7 +30,6 @@ - #include "vtkmFilterPolicy.h" - - #include --#include - - vtkStandardNewMacro(vtkmCleanGrid); - -diff --git a/Accelerators/Vtkm/Filters/vtkmClip.cxx b/Accelerators/Vtkm/Filters/vtkmClip.cxx -index 2649b2da024310f58159574758d278318e23f4b9..0b1dc86d3bedd425d4846f524818a68ada052ce9 100644 ---- a/Accelerators/Vtkm/Filters/vtkmClip.cxx -+++ b/Accelerators/Vtkm/Filters/vtkmClip.cxx -@@ -39,9 +39,7 @@ - #include - - #include --#include - #include --#include - - #include - -diff --git a/Accelerators/Vtkm/Filters/vtkmContour.cxx b/Accelerators/Vtkm/Filters/vtkmContour.cxx -index c9d35a544641a629ee4fb4f54c4d8245be8e6fd5..eae3a03398ffeef8b0f8ec449f89163f8c275122 100644 ---- a/Accelerators/Vtkm/Filters/vtkmContour.cxx -+++ b/Accelerators/Vtkm/Filters/vtkmContour.cxx -@@ -33,7 +33,6 @@ - - #include - #include --#include - - vtkStandardNewMacro(vtkmContour); - -diff --git a/Accelerators/Vtkm/Filters/vtkmExternalFaces.cxx b/Accelerators/Vtkm/Filters/vtkmExternalFaces.cxx -index 58969b5707aab56e6fcd6300ca650c9b2d88e32f..3661060164d738eb9055316fd6c0b023b09ef72f 100644 ---- a/Accelerators/Vtkm/Filters/vtkmExternalFaces.cxx -+++ b/Accelerators/Vtkm/Filters/vtkmExternalFaces.cxx -@@ -33,7 +33,6 @@ - #include "vtkmFilterPolicy.h" - - #include --#include - - vtkStandardNewMacro(vtkmExternalFaces); - -diff --git a/Accelerators/Vtkm/Filters/vtkmExtractVOI.cxx b/Accelerators/Vtkm/Filters/vtkmExtractVOI.cxx -index 3606f28de2229436afbcb8b0cf3ed61430055b8e..32bf94f630931a0d052cf5880d950df4588046cb 100644 ---- a/Accelerators/Vtkm/Filters/vtkmExtractVOI.cxx -+++ b/Accelerators/Vtkm/Filters/vtkmExtractVOI.cxx -@@ -27,7 +27,6 @@ - #include "vtkmFilterPolicy.h" - - #include "vtkm/filter/ExtractStructured.h" --#include "vtkm/filter/ExtractStructured.hxx" - - vtkStandardNewMacro(vtkmExtractVOI); - -diff --git a/Accelerators/Vtkm/Filters/vtkmGradient.cxx b/Accelerators/Vtkm/Filters/vtkmGradient.cxx -index 9b79c9e5a5e434ae810df73b51bc6bf52cefa829..6aa284878c88e2fcaf243f6721477536891f002f 100644 ---- a/Accelerators/Vtkm/Filters/vtkmGradient.cxx -+++ b/Accelerators/Vtkm/Filters/vtkmGradient.cxx -@@ -31,7 +31,6 @@ - - #include - #include --#include - - vtkStandardNewMacro(vtkmGradient); - -diff --git a/Accelerators/Vtkm/Filters/vtkmHistogram.cxx b/Accelerators/Vtkm/Filters/vtkmHistogram.cxx -index ed09a73d938997fe0dab1ae7eb4338f4914bad15..c13fd742477686e2dd51e95c4757628630788a77 100644 ---- a/Accelerators/Vtkm/Filters/vtkmHistogram.cxx -+++ b/Accelerators/Vtkm/Filters/vtkmHistogram.cxx -@@ -32,7 +32,6 @@ - #include "vtkSmartPointer.h" - - #include "vtkmFilterPolicy.h" --#include - #include - - vtkStandardNewMacro(vtkmHistogram); -diff --git a/Accelerators/Vtkm/Filters/vtkmLevelOfDetail.cxx b/Accelerators/Vtkm/Filters/vtkmLevelOfDetail.cxx -index 04ccdce35f14b708c111302c759b5d328225cdef..db8d3f64b5e9b96f9b3e491f044056b14ae1bcdd 100644 ---- a/Accelerators/Vtkm/Filters/vtkmLevelOfDetail.cxx -+++ b/Accelerators/Vtkm/Filters/vtkmLevelOfDetail.cxx -@@ -33,7 +33,6 @@ - #include - // To handle computing custom coordinate sets bounds we need to include - // the following --#include - - vtkStandardNewMacro(vtkmLevelOfDetail); - -diff --git a/Accelerators/Vtkm/Filters/vtkmPointTransform.cxx b/Accelerators/Vtkm/Filters/vtkmPointTransform.cxx -index 9906573f18312cb803e5ab2bce30218e4f95772c..685fb618764fc62969b5373cd922aaea7d1311e3 100644 ---- a/Accelerators/Vtkm/Filters/vtkmPointTransform.cxx -+++ b/Accelerators/Vtkm/Filters/vtkmPointTransform.cxx -@@ -33,7 +33,6 @@ - - #include "vtkm/cont/Error.h" - #include "vtkm/filter/PointTransform.h" --#include "vtkm/filter/PointTransform.hxx" - - #include "vtkmFilterPolicy.h" - -diff --git a/Accelerators/Vtkm/Filters/vtkmThreshold.cxx b/Accelerators/Vtkm/Filters/vtkmThreshold.cxx -index 7604acd333978a72b1e34584d14640e097b34292..647514050c42771cda57b439280d238de72911e2 100644 ---- a/Accelerators/Vtkm/Filters/vtkmThreshold.cxx -+++ b/Accelerators/Vtkm/Filters/vtkmThreshold.cxx -@@ -31,7 +31,6 @@ - #include "vtkmFilterPolicy.h" - - #include --#include - - vtkStandardNewMacro(vtkmThreshold); - -diff --git a/ThirdParty/vtkm/vtkvtkm/vtk-m b/ThirdParty/vtkm/vtkvtkm/vtk-m -index 0457427ed7b4d21e1a8e33e96713414ca11a42fc..ff7de5a72e917eac39f9a3c3a0002da5fa26c3f7 160000 ---- a/ThirdParty/vtkm/vtkvtkm/vtk-m -+++ b/ThirdParty/vtkm/vtkvtkm/vtk-m -@@ -1 +1 @@ --Subproject commit 0457427ed7b4d21e1a8e33e96713414ca11a42fc -+Subproject commit ff7de5a72e917eac39f9a3c3a0002da5fa26c3f7 diff --git a/ports/vtk/FindHDF5.cmake b/ports/vtk/FindHDF5.cmake index 27d8a8c74c8247..9d929700706900 100644 --- a/ports/vtk/FindHDF5.cmake +++ b/ports/vtk/FindHDF5.cmake @@ -1,30 +1,22 @@ -find_package(hdf5 QUIET NO_MODULE) -if(TARGET hdf5::hdf5-shared) - set_target_properties(hdf5::hdf5-shared PROPERTIES IMPORTED_GLOBAL TRUE) - if(NOT TARGET hdf5::hdf5) - add_library(hdf5::hdf5 ALIAS hdf5::hdf5-shared) - endif() -elseif(TARGET hdf5::hdf5-static) - set_target_properties(hdf5::hdf5-static PROPERTIES IMPORTED_GLOBAL TRUE) - if(NOT TARGET hdf5::hdf5) - add_library(hdf5::hdf5 ALIAS hdf5::hdf5-static) - endif() -else() - message(FATAL_ERROR "HDF5 target not found") +find_package(hdf5 CONFIG REQUIRED) +if(NOT TARGET hdf5::hdf5 AND (TARGET hdf5::hdf5-static OR TARGET hdf5::hdf5-shared)) + add_library(hdf5::hdf5 INTERFACE IMPORTED) + if(TARGET hdf5::hdf5-shared) + target_link_libraries(hdf5::hdf5 INTERFACE hdf5::hdf5-shared) + elseif(TARGET hdf5::hdf5-static) + target_link_libraries(hdf5::hdf5 INTERFACE hdf5::hdf5-static) + endif() endif() -if(TARGET hdf5::hdf5_hl-shared) - set_target_properties(hdf5::hdf5_hl-shared PROPERTIES IMPORTED_GLOBAL TRUE) - if(NOT TARGET hdf5::hdf5_hl) - add_library(hdf5::hdf5_hl ALIAS hdf5::hdf5_hl-shared) - endif() -elseif(TARGET hdf5::hdf5_hl-static) - set_target_properties(hdf5::hdf5_hl-static PROPERTIES IMPORTED_GLOBAL TRUE) - if(NOT TARGET hdf5::hdf5_hl) - add_library(hdf5::hdf5_hl ALIAS hdf5::hdf5_hl-static) - endif() -else() - message(FATAL_ERROR "HDF5 HL target not found") + +if(NOT TARGET hdf5::hdf5_hl AND (TARGET hdf5::hdf5_hl-static OR TARGET hdf5::hdf5_hl-shared)) + add_library(hdf5::hdf5_hl INTERFACE IMPORTED) + if(TARGET hdf5::hdf5_hl-shared) + target_link_libraries(hdf5::hdf5_hl INTERFACE hdf5::hdf5_hl-shared) + elseif(TARGET hdf5::hdf5_hl-static) + target_link_libraries(hdf5::hdf5_hl INTERFACE hdf5::hdf5_hl-static) + endif() endif() -set(HDF5_IS_PARALLEL ${HDF5_ENABLE_PARALLEL} CACHE BOOL "" FORCE) + +set(HDF5_IS_PARALLEL "${HDF5_ENABLE_PARALLEL}" CACHE BOOL "" FORCE) set(HDF5_FOUND ON CACHE BOOL "" FORCE) set(hdf5_FOUND ON CACHE BOOL "" FORCE) diff --git a/ports/vtk/FindLZ4.patch b/ports/vtk/FindLZ4.patch index 7f65de529cd788..68ce9adea702e0 100644 --- a/ports/vtk/FindLZ4.patch +++ b/ports/vtk/FindLZ4.patch @@ -41,9 +41,9 @@ index 8c94e3bcd..ade3f9451 100644 - INTERFACE_INCLUDE_DIRECTORIES "${LZ4_INCLUDE_DIR}") - endif () -endif () -+find_package(LZ4 CONFIG REQUIRED) -+set_target_properties(lz4::lz4 PROPERTIES IMPORTED_GLOBAL TRUE) ++find_package(LZ4 NAMES lz4 REQUIRED) +if(NOT TARGET LZ4::LZ4) -+add_library(LZ4::LZ4 ALIAS lz4::lz4) ++ add_library(LZ4::LZ4 INTERFACE IMPORTED) ++ target_link_libraries(LZ4::LZ4 INTERFACE lz4::lz4) +endif() \ No newline at end of file diff --git a/ports/vtk/FindLZMA.patch b/ports/vtk/FindLZMA.patch index cb7f80963a2916..990f2b2ae5ccc9 100644 --- a/ports/vtk/FindLZMA.patch +++ b/ports/vtk/FindLZMA.patch @@ -1,86 +1,16 @@ -diff --git a/CMake/FindLZMA.cmake b/CMake/FindLZMA.cmake -index 0c8c7943c..d60669484 100644 ---- a/CMake/FindLZMA.cmake -+++ b/CMake/FindLZMA.cmake -@@ -1,9 +1,17 @@ - find_path(LZMA_INCLUDE_DIR - NAMES lzma.h - DOC "lzma include directory") --find_library(LZMA_LIBRARY -+# Note LZMA_LIBRARY is set somewhere else. Maybe one of the configs/wrappers installed by VCPKG defines it. -+# The original FindLZMA chokes on it since it contains optimized/debug keywords -+# VTK should probably switch to FindLibLZMA from CMake -+find_library(LZMA_LIBRARY_RELEASE - NAMES lzma - DOC "lzma library") -+find_library(LZMA_LIBRARY_DEBUG -+ NAMES lzmad lzma NAMES_PER_DIR -+ DOC "lzma library") -+ include(SelectLibraryConfigurations) -+ select_library_configurations( LZMA ) - - if (LZMA_INCLUDE_DIR) - file(STRINGS "${LZMA_INCLUDE_DIR}/lzma/version.h" _lzma_version_lines -@@ -20,22 +26,50 @@ endif () - - include(FindPackageHandleStandardArgs) - find_package_handle_standard_args(LZMA -- REQUIRED_VARS LZMA_LIBRARY LZMA_INCLUDE_DIR -+ REQUIRED_VARS LZMA_LIBRARY LZMA_LIBRARY_RELEASE LZMA_LIBRARY_DEBUG LZMA_INCLUDE_DIR - VERSION_VAR LZMA_VERSION) - - if (LZMA_FOUND) - set(LZMA_LIBRARIES "${LZMA_LIBRARY}") - set(LZMA_INCLUDE_DIRS "${LZMA_INCLUDE_DIR}") -- -+ - if (NOT TARGET LZMA::LZMA) - include(vtkDetectLibraryType) -- vtk_detect_library_type(lzma_library_type -- PATH "${LZMA_LIBRARY}") -- add_library(LZMA::LZMA "${lzma_library_type}" IMPORTED) -- unset(lzma_library_type) -- set_target_properties(LZMA::LZMA PROPERTIES -- IMPORTED_LOCATION "${LZMA_LIBRARY}" -- IMPORTED_IMPLIB "${LZMA_LIBRARY}" -- INTERFACE_INCLUDE_DIRECTORIES "${LZMA_INCLUDE_DIR}") -- endif () -+ if(LZMA_LIBRARY_RELEASE) -+ vtk_detect_library_type(lzma_library_type -+ PATH "${LZMA_LIBRARY_RELEASE}") -+ elseif(LZMA_LIBRARY_DEBUG) -+ vtk_detect_library_type(lzma_library_type -+ PATH "${LZMA_LIBRARY_DEBUG}") -+ else() -+ vtk_detect_library_type(lzma_library_type -+ PATH "${LZMA_LIBRARY}") -+ endif() -+ -+ add_library(LZMA::LZMA "${lzma_library_type}" IMPORTED) -+ set_target_properties(LZMA::LZMA PROPERTIES -+ INTERFACE_INCLUDE_DIRECTORIES "${LZMA_INCLUDE_DIR}") -+ if(LZMA_LIBRARY_RELEASE) -+ set_target_properties(LZMA::LZMA PROPERTIES -+ IMPORTED_LOCATION_RELEASE "${LZMA_LIBRARY_RELEASE}" -+ IMPORTED_IMPLIB_RELEASE "${LZMA_LIBRARY_RELEASE}") -+ endif() -+ if(LZMA_LIBRARY_DEBUG) -+ set_target_properties(LZMA::LZMA PROPERTIES -+ IMPORTED_LOCATION_DEBUG "${LZMA_LIBRARY_DEBUG}" -+ IMPORTED_IMPLIB_DEBUG "${LZMA_LIBRARY_DEBUG}") -+ endif() -+ -+ # Guard against possible stupidity of depending projects reading only LOCATION without configuration -+ if(CMAKE_BUILD_TYPE MATCHES "Debug") -+ set_target_properties(LZMA::LZMA PROPERTIES -+ IMPORTED_LOCATION "${LZMA_LIBRARY_DEBUG}" -+ IMPORTED_IMPLIB "${LZMA_LIBRARY_DEBUG}") -+ else() -+ set_target_properties(LZMA::LZMA PROPERTIES -+ IMPORTED_LOCATION "${LZMA_LIBRARY_RELEASE}" -+ IMPORTED_IMPLIB "${LZMA_LIBRARY_RELEASE}") -+ endif() -+ endif() -+ #set_target_properties(LZMA::LZMA PROPERTIES IMPORTED_GLOBAL TRUE) - endif () - \ No newline at end of file +diff --git a/CMake/FindLZMA.cmake b/CMake/FindLZMA.cmake +index 0c8c794..796558c 100644 +--- a/CMake/FindLZMA.cmake ++++ b/CMake/FindLZMA.cmake +@@ -1,3 +1,11 @@ ++find_package(LibLZMA) ++set(LZMA_INCLUDE_DIR "${LIBLZMA_INCLUDE_DIR}" CACHE INTERNAL "") ++set(LZMA_LIBRARY "${LIBLZMA_LIBRARIES}" CACHE INTERNAL "") ++if(NOT TARGET LZMA::LZMA) ++ add_library(LZMA::LZMA INTERFACE IMPORTED) ++ target_link_libraries(LZMA::LZMA INTERFACE LibLZMA::LibLZMA) ++endif() ++ + find_path(LZMA_INCLUDE_DIR + NAMES lzma.h + DOC "lzma include directory") diff --git a/ports/vtk/Findproj.patch b/ports/vtk/Findproj.patch deleted file mode 100644 index d83b0f4510d8ea..00000000000000 --- a/ports/vtk/Findproj.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMake/FindLibPROJ.cmake b/CMake/FindLibPROJ.cmake -index e2344bb17..bac4c747e 100644 ---- a/CMake/FindLibPROJ.cmake -+++ b/CMake/FindLibPROJ.cmake -@@ -9,7 +9,7 @@ find_library(LibPROJ_LIBRARY_RELEASE - mark_as_advanced(LibPROJ_LIBRARY_RELEASE) - - find_library(LibPROJ_LIBRARY_DEBUG -- NAMES projd -+ NAMES projd proj_d proj NAMES_PER_DIR - DOC "libproj debug library") - mark_as_advanced(LibPROJ_LIBRARY_DEBUG) - diff --git a/ports/vtk/afxdll.patch b/ports/vtk/afxdll.patch new file mode 100644 index 00000000000000..b528bf47f95e03 --- /dev/null +++ b/ports/vtk/afxdll.patch @@ -0,0 +1,13 @@ +diff --git a/GUISupport/MFC/CMakeLists.txt b/GUISupport/MFC/CMakeLists.txt +index 66b52f1f6..7fbfef908 100644 +--- a/GUISupport/MFC/CMakeLists.txt ++++ b/GUISupport/MFC/CMakeLists.txt +@@ -10,7 +10,7 @@ endif () + # Determine whether the shared or static MFC implementation to use. + if (use_policy_0091) # XXX(cmake-3.15) + if (NOT CMAKE_MSVC_RUNTIME_LIBRARY OR # The default uses `DLL`. +- CMAKE_MSVC_RUNTIME_LIBRARY MATCHES "DLL$") ++ VCPKG_CRT_LINKAGE MATCHES "dynamic") + set(vtk_mfc_static 0) + else () + set(vtk_mfc_static 1) diff --git a/ports/vtk/cgns.patch b/ports/vtk/cgns.patch new file mode 100644 index 00000000000000..5b7258ab9a0994 --- /dev/null +++ b/ports/vtk/cgns.patch @@ -0,0 +1,106 @@ +diff --git a/CMake/FindCGNS.cmake b/CMake/FindCGNS.cmake +index 005f1afd9..35c6de184 100644 +--- a/CMake/FindCGNS.cmake ++++ b/CMake/FindCGNS.cmake +@@ -1,48 +1,53 @@ +-# +-# Find the native CGNS includes and library +-# +-# CGNS_INCLUDE_DIR - where to find cgns.h, etc. +-# CGNS_LIBRARIES - List of fully qualified libraries to link against when using CGNS. +-# CGNS_FOUND - Do not attempt to use CGNS if "no" or undefined. +- +-find_path(CGNS_INCLUDE_DIR +- NAMES +- cgnslib.h +- PATHS +- /usr/local/include +- /usr/include +- DOC "CGNS include directory") +-mark_as_advanced(CGNS_INCLUDE_DIR) +- +-find_library(CGNS_LIBRARY +- NAMES +- cgns +- DOC "CGNS library") +-mark_as_advanced(CGNS_LIBRARY) +- +-if (CGNS_INCLUDE_DIR) +- file(STRINGS "${CGNS_INCLUDE_DIR}/cgnslib.h" version +- REGEX "CGNS_DOTVERS") +- string(REGEX REPLACE ".*CGNS_DOTVERS *\([0-9.]*\).*" "\\1" CGNS_VERSION "${version}") +- unset(version) +-else () +- set(CGNS_VERSION CGNS_VERSION-NOTFOUND) +-endif () +- +-# handle the QUIETLY and REQUIRED arguments and set CGNS_FOUND to TRUE if +-# all listed variables are TRUE +-include(FindPackageHandleStandardArgs) +-find_package_handle_standard_args(CGNS +- REQUIRED_VARS CGNS_INCLUDE_DIR CGNS_LIBRARY +- VERSION_VAR CGNS_VERSION) +- +-if (CGNS_FOUND) +- set(CGNS_LIBRARIES "${CGNS_LIBRARY}") +- set(CGNS_INCLUDE_DIRS "${CGNS_INCLUDE_DIR}") +- if (NOT TARGET CGNS::CGNS) +- add_library(CGNS::CGNS UNKNOWN IMPORTED) +- set_target_properties(CGNS::CGNS PROPERTIES +- IMPORTED_LOCATION "${CGNS_LIBRARY}" +- INTERFACE_INCLUDE_DIRECTORIES "${CGNS_INCLUDE_DIR}") +- endif () +-endif () ++# ++# Find the native CGNS includes and library ++# ++# CGNS_INCLUDE_DIR - where to find cgns.h, etc. ++# CGNS_LIBRARIES - List of fully qualified libraries to link against when using CGNS. ++# CGNS_FOUND - Do not attempt to use CGNS if "no" or undefined. ++ ++find_path(CGNS_INCLUDE_DIR ++ NAMES ++ cgnslib.h ++ PATHS ++ /usr/local/include ++ /usr/include ++ DOC "CGNS include directory") ++mark_as_advanced(CGNS_INCLUDE_DIR) ++ ++find_library(CGNS_LIBRARY ++ NAMES ++ cgnsdll cgns ++ DOC "CGNS library") ++mark_as_advanced(CGNS_LIBRARY) ++ ++if (CGNS_INCLUDE_DIR) ++ file(STRINGS "${CGNS_INCLUDE_DIR}/cgnslib.h" version ++ REGEX "CGNS_DOTVERS") ++ string(REGEX REPLACE ".*CGNS_DOTVERS *\([0-9.]*\).*" "\\1" CGNS_VERSION "${version}") ++ unset(version) ++else () ++ set(CGNS_VERSION CGNS_VERSION-NOTFOUND) ++endif () ++ ++# handle the QUIETLY and REQUIRED arguments and set CGNS_FOUND to TRUE if ++# all listed variables are TRUE ++include(FindPackageHandleStandardArgs) ++find_package_handle_standard_args(CGNS ++ REQUIRED_VARS CGNS_INCLUDE_DIR CGNS_LIBRARY ++ VERSION_VAR CGNS_VERSION) ++ ++if (CGNS_FOUND) ++ set(CGNS_LIBRARIES "${CGNS_LIBRARY}") ++ set(CGNS_INCLUDE_DIRS "${CGNS_INCLUDE_DIR}") ++ if (NOT TARGET CGNS::CGNS) ++ add_library(CGNS::CGNS UNKNOWN IMPORTED) ++ set_target_properties(CGNS::CGNS PROPERTIES ++ IMPORTED_LOCATION "${CGNS_LIBRARY}" ++ INTERFACE_INCLUDE_DIRECTORIES "${CGNS_INCLUDE_DIR}") ++ find_package(HDF5 REQUIRED) ++ if(TARGET HDF5::HDF5) ++ set_property(TARGET CGNS::CGNS APPEND PROPERTY ++ INTERFACE_LINK_LIBRARIES "HDF5::HDF5") ++ endif() ++ endif () ++endif () diff --git a/ports/vtk/d107698a.patch b/ports/vtk/d107698a.patch deleted file mode 100644 index 1a7ac087789cd3..00000000000000 --- a/ports/vtk/d107698a.patch +++ /dev/null @@ -1,291 +0,0 @@ -diff --git a/Accelerators/Vtkm/Core/vtkmlib/DataArrayConverters.h b/Accelerators/Vtkm/Core/vtkmlib/DataArrayConverters.h -index 0b3f1a963063cdf5f1685dbde55deaaea7a77d2f..24198dada846d6d81fb9f1c155e5a6612e1e7055 100644 ---- a/Accelerators/Vtkm/Core/vtkmlib/DataArrayConverters.h -+++ b/Accelerators/Vtkm/Core/vtkmlib/DataArrayConverters.h -@@ -25,6 +25,7 @@ - - #include - #include -+#include - - #include // for std::underlying_type - -diff --git a/Accelerators/Vtkm/DataModel/Testing/Cxx/TestVTKMDataSet.cxx b/Accelerators/Vtkm/DataModel/Testing/Cxx/TestVTKMDataSet.cxx -index ec41b18b60db354a8c4a1532eb5cedfd70ce7534..2493ae5b03cf29c5dfc90614489a8049fc623715 100644 ---- a/Accelerators/Vtkm/DataModel/Testing/Cxx/TestVTKMDataSet.cxx -+++ b/Accelerators/Vtkm/DataModel/Testing/Cxx/TestVTKMDataSet.cxx -@@ -274,18 +274,19 @@ vtkm::cont::testing::MakeTestDataSet Maker; - void TestUniformDataSet() - { - auto dataset = Maker.Make3DUniformDataSet0(); -- auto coords = -- dataset.GetCoordinateSystem().GetData().Cast(); -+ auto coords = dataset.GetCoordinateSystem() -+ .GetData() -+ .AsArrayHandle(); - auto portal = coords.ReadPortal(); - auto dims = portal.GetDimensions(); - auto origin = portal.GetOrigin(); - auto spacing = portal.GetSpacing(); - - vtkNew pointField, cellField; -- FieldCopy(dataset.GetField("pointvar").GetData().Cast>(), -+ FieldCopy(dataset.GetField("pointvar").GetData().AsArrayHandle>(), - "pointvar", pointField); -- FieldCopy(dataset.GetField("cellvar").GetData().Cast>(), "cellvar", -- cellField); -+ FieldCopy(dataset.GetField("cellvar").GetData().AsArrayHandle>(), -+ "cellvar", cellField); - - vtkNew imageData; - imageData->SetDimensions(dims[0], dims[1], dims[2]); -@@ -315,10 +316,10 @@ void TestCurvilinearDataSet() - CoordsCopy(dataset.GetCoordinateSystem(), points); - - vtkNew pointField, cellField; -- FieldCopy(dataset.GetField("pointvar").GetData().Cast>(), -+ FieldCopy(dataset.GetField("pointvar").GetData().AsArrayHandle>(), - "pointvar", pointField); -- FieldCopy(dataset.GetField("cellvar").GetData().Cast>(), "cellvar", -- cellField); -+ FieldCopy(dataset.GetField("cellvar").GetData().AsArrayHandle>(), -+ "cellvar", cellField); - - vtkNew dsVtk; - dsVtk->SetDimensions(dims[0], dims[1], dims[2]); -@@ -357,10 +358,10 @@ void TestExplicitDataSet() - } - - vtkNew pointField, cellField; -- FieldCopy(dataset.GetField("pointvar").GetData().Cast>(), -+ FieldCopy(dataset.GetField("pointvar").GetData().AsArrayHandle>(), - "pointvar", pointField); -- FieldCopy(dataset.GetField("cellvar").GetData().Cast>(), "cellvar", -- cellField); -+ FieldCopy(dataset.GetField("cellvar").GetData().AsArrayHandle>(), -+ "cellvar", cellField); - - vtkNew dsVtk; - dsVtk->SetPoints(points); -diff --git a/Accelerators/Vtkm/DataModel/vtkmDataSet.cxx b/Accelerators/Vtkm/DataModel/vtkmDataSet.cxx -index 147c3c6e175dbd342095805750bfc4fee81735dc..f1ef72ffae91ca843ca56bdc305ab68bbc955157 100644 ---- a/Accelerators/Vtkm/DataModel/vtkmDataSet.cxx -+++ b/Accelerators/Vtkm/DataModel/vtkmDataSet.cxx -@@ -35,8 +35,7 @@ - #include - #include - #include --#include --#include -+#include - #include - - #include -@@ -62,8 +61,8 @@ struct vtkmDataSet::DataMembers - vtkm::cont::CoordinateSystem Coordinates; - vtkNew Cell; - -- VtkmLocator PointLocator; -- VtkmLocator CellLocator; -+ VtkmLocator PointLocator; -+ VtkmLocator CellLocator; - }; - - //------------------------------------------------------------------------------ -@@ -172,7 +171,7 @@ void vtkmDataSet::GetCellBounds(vtkIdType cellId, double bounds[6]) - this->Internals->CellSet.IsType>()) - { - auto portal = this->Internals->Coordinates.GetData() -- .Cast() -+ .AsArrayHandle() - .ReadPortal(); - - vtkm::internal::ConnectivityStructuredInternals<3> helper; -@@ -279,7 +278,7 @@ vtkIdType vtkmDataSet::FindPoint(double x[3]) - vtkm::Id pointId = -1; - vtkm::FloatDefault d2 = 0; - // exec object created for the Serial device can be called directly -- execLocator->FindNearestNeighbor(point, pointId, d2); -+ execLocator.FindNearestNeighbor(point, pointId, d2); - return pointId; - } - -@@ -316,7 +315,7 @@ vtkIdType vtkmDataSet::FindCell(double x[3], vtkCell*, vtkGenericCell*, vtkIdTyp - vtkm::Vec pc; - vtkm::Id cellId = -1; - // exec object created for the Serial device can be called directly -- execLocator->FindCell(point, cellId, pc); -+ execLocator.FindCell(point, cellId, pc); - - if (cellId >= 0) - { -diff --git a/Accelerators/Vtkm/DataModel/vtkmlib/ImageDataConverter.cxx b/Accelerators/Vtkm/DataModel/vtkmlib/ImageDataConverter.cxx -index 351c0d5ce169cf455d2d3c0a1307ba8e60510371..c7ecff3c9fc5eafecb9dd11d9dbea15cbd44bd3d 100644 ---- a/Accelerators/Vtkm/DataModel/vtkmlib/ImageDataConverter.cxx -+++ b/Accelerators/Vtkm/DataModel/vtkmlib/ImageDataConverter.cxx -@@ -121,7 +121,7 @@ bool Convert( - return false; - } - -- auto points = cs.GetData().Cast(); -+ auto points = cs.GetData().AsArrayHandle(); - auto portal = points.ReadPortal(); - - auto origin = portal.GetOrigin(); -@@ -156,7 +156,7 @@ bool Convert(const vtkm::cont::DataSet& voutput, vtkImageData* output, vtkDataSe - return false; - } - -- auto points = cs.GetData().Cast(); -+ auto points = cs.GetData().AsArrayHandle(); - auto portal = points.ReadPortal(); - - auto dim = portal.GetDimensions(); -diff --git a/Accelerators/Vtkm/DataModel/vtkmlib/ImplicitFunctionConverter.cxx b/Accelerators/Vtkm/DataModel/vtkmlib/ImplicitFunctionConverter.cxx -index f2411d0e70505435cd312ee23b3cb2e653eb28d8..814af43cc168b4c3b44107b0c19e68cc1b42538d 100644 ---- a/Accelerators/Vtkm/DataModel/vtkmlib/ImplicitFunctionConverter.cxx -+++ b/Accelerators/Vtkm/DataModel/vtkmlib/ImplicitFunctionConverter.cxx -@@ -52,8 +52,7 @@ void ImplicitFunctionConverter::Set(vtkImplicitFunction* function) - box->GetXMin(xmin); - box->GetXMax(xmax); - -- auto b = new vtkm::Box(MakeFVec3(xmin), MakeFVec3(xmax)); -- this->OutFunction.Reset(b, true); -+ this->OutFunction = vtkm::Box(MakeFVec3(xmin), MakeFVec3(xmax)); - } - else if ((cylinder = vtkCylinder::SafeDownCast(function))) - { -@@ -62,9 +61,8 @@ void ImplicitFunctionConverter::Set(vtkImplicitFunction* function) - cylinder->GetAxis(axis); - radius = cylinder->GetRadius(); - -- auto c = new vtkm::Cylinder( -- MakeFVec3(center), MakeFVec3(axis), static_cast(radius)); -- this->OutFunction.Reset(c, true); -+ this->OutFunction = -+ vtkm::Cylinder(MakeFVec3(center), MakeFVec3(axis), static_cast(radius)); - } - else if ((plane = vtkPlane::SafeDownCast(function))) - { -@@ -72,8 +70,7 @@ void ImplicitFunctionConverter::Set(vtkImplicitFunction* function) - plane->GetOrigin(origin); - plane->GetNormal(normal); - -- auto p = new vtkm::Plane(MakeFVec3(origin), MakeFVec3(normal)); -- this->OutFunction.Reset(p, true); -+ this->OutFunction = vtkm::Plane(MakeFVec3(origin), MakeFVec3(normal)); - } - else if ((sphere = vtkSphere::SafeDownCast(function))) - { -@@ -81,8 +78,7 @@ void ImplicitFunctionConverter::Set(vtkImplicitFunction* function) - sphere->GetCenter(center); - radius = sphere->GetRadius(); - -- auto s = new vtkm::Sphere(MakeFVec3(center), static_cast(radius)); -- this->OutFunction.Reset(s, true); -+ this->OutFunction = vtkm::Sphere(MakeFVec3(center), static_cast(radius)); - } - else - { -@@ -95,7 +91,7 @@ void ImplicitFunctionConverter::Set(vtkImplicitFunction* function) - this->InFunction = function; - } - --const vtkm::cont::ImplicitFunctionHandle& ImplicitFunctionConverter::Get() const -+const vtkm::ImplicitFunctionGeneral& ImplicitFunctionConverter::Get() - { - if (this->InFunction && (this->MTime < this->InFunction->GetMTime())) - { -@@ -110,9 +106,7 @@ const vtkm::cont::ImplicitFunctionHandle& ImplicitFunctionConverter::Get() const - box->GetXMin(xmin); - box->GetXMax(xmax); - -- auto b = static_cast(this->OutFunction.Get()); -- b->SetMinPoint(MakeFVec3(xmin)); -- b->SetMaxPoint(MakeFVec3(xmax)); -+ this->OutFunction = vtkm::Box(MakeFVec3(xmin), MakeFVec3(xmax)); - } - else if ((cylinder = vtkCylinder::SafeDownCast(this->InFunction))) - { -@@ -121,10 +115,8 @@ const vtkm::cont::ImplicitFunctionHandle& ImplicitFunctionConverter::Get() const - cylinder->GetAxis(axis); - radius = cylinder->GetRadius(); - -- auto c = static_cast(this->OutFunction.Get()); -- c->SetCenter(MakeFVec3(center)); -- c->SetAxis(MakeFVec3(axis)); -- c->SetRadius(static_cast(radius)); -+ this->OutFunction = -+ vtkm::Cylinder(MakeFVec3(center), MakeFVec3(axis), static_cast(radius)); - } - else if ((plane = vtkPlane::SafeDownCast(this->InFunction))) - { -@@ -132,9 +124,7 @@ const vtkm::cont::ImplicitFunctionHandle& ImplicitFunctionConverter::Get() const - plane->GetOrigin(origin); - plane->GetNormal(normal); - -- auto p = static_cast(this->OutFunction.Get()); -- p->SetOrigin(MakeFVec3(origin)); -- p->SetNormal(MakeFVec3(normal)); -+ this->OutFunction = vtkm::Plane(MakeFVec3(origin), MakeFVec3(normal)); - } - else if ((sphere = vtkSphere::SafeDownCast(this->InFunction))) - { -@@ -142,9 +132,7 @@ const vtkm::cont::ImplicitFunctionHandle& ImplicitFunctionConverter::Get() const - sphere->GetCenter(center); - radius = sphere->GetRadius(); - -- auto s = static_cast(this->OutFunction.Get()); -- s->SetCenter(MakeFVec3(center)); -- s->SetRadius(static_cast(radius)); -+ this->OutFunction = vtkm::Sphere(MakeFVec3(center), static_cast(radius)); - } - - this->MTime = this->InFunction->GetMTime(); -diff --git a/Accelerators/Vtkm/DataModel/vtkmlib/ImplicitFunctionConverter.h b/Accelerators/Vtkm/DataModel/vtkmlib/ImplicitFunctionConverter.h -index 10e2ae99ae819ca86516bf7ab5a0988c75b6323e..a1a571c93d44a7d62f79afc86aab05d1f359af82 100644 ---- a/Accelerators/Vtkm/DataModel/vtkmlib/ImplicitFunctionConverter.h -+++ b/Accelerators/Vtkm/DataModel/vtkmlib/ImplicitFunctionConverter.h -@@ -20,7 +20,7 @@ - #include "vtkType.h" // For vtkMTimeType - #include "vtkmConfigDataModel.h" //required for general vtkm setup - --#include "vtkm/cont/ImplicitFunctionHandle.h" -+#include "vtkm/ImplicitFunction.h" - - class vtkImplicitFunction; - -@@ -33,11 +33,11 @@ public: - ImplicitFunctionConverter(); - - void Set(vtkImplicitFunction*); -- const vtkm::cont::ImplicitFunctionHandle& Get() const; -+ const vtkm::ImplicitFunctionGeneral& Get(); - - private: - vtkImplicitFunction* InFunction; -- vtkm::cont::ImplicitFunctionHandle OutFunction; -+ vtkm::ImplicitFunctionGeneral OutFunction; - mutable vtkMTimeType MTime; - }; - -diff --git a/Accelerators/Vtkm/Filters/vtkmClipInstantiationsWithImplicitFunction.cxx b/Accelerators/Vtkm/Filters/vtkmClipInstantiationsWithImplicitFunction.cxx -index 04a637a92d487b019742bbf81884750c48ba105d..674d9b6e0dfe36edd787e519e70ec0bf46602c81 100644 ---- a/Accelerators/Vtkm/Filters/vtkmClipInstantiationsWithImplicitFunction.cxx -+++ b/Accelerators/Vtkm/Filters/vtkmClipInstantiationsWithImplicitFunction.cxx -@@ -24,12 +24,9 @@ vtkm::cont::DataSet vtkmClip::internals::ExecuteClipWithImplicitFunction(vtkm::c - auto function = this->ClipFunctionConverter->Get(); - - vtkm::cont::DataSet result; -- if (function.GetValid()) -- { -- vtkm::filter::ClipWithImplicitFunction functionFilter; -- functionFilter.SetImplicitFunction(function); -- result = functionFilter.Execute(in); -- } -+ vtkm::filter::ClipWithImplicitFunction functionFilter; -+ functionFilter.SetImplicitFunction(function); -+ result = functionFilter.Execute(in); - - return result; - } diff --git a/ports/vtk/devendor_exodusII.patch b/ports/vtk/devendor_exodusII.patch new file mode 100644 index 00000000000000..aa3753966ba337 --- /dev/null +++ b/ports/vtk/devendor_exodusII.patch @@ -0,0 +1,70 @@ +diff --git a/ThirdParty/exodusII/CMakeLists.txt b/ThirdParty/exodusII/CMakeLists.txt +index 7a0cefb..3139114 100644 +--- a/ThirdParty/exodusII/CMakeLists.txt ++++ b/ThirdParty/exodusII/CMakeLists.txt +@@ -1,20 +1,27 @@ +-vtk_module_third_party_internal( +- LICENSE_FILES +- "vtkexodusII/COPYRIGHT" +- SPDX_LICENSE_IDENTIFIER +- "BSD-3-Clause" +- SPDX_COPYRIGHT_TEXT +- "Copyright (c) 2005-2017 National Technology & Engineering Solutions of Sandia, LLC (NTESS)" +- SPDX_DOWNLOAD_LOCATION +- "git+https://gitlab.kitware.com/third-party/seacas.git@exodus/for/vtk-20220706-v2021-05-12#packages/seacas/libraries/exodus" +- VERSION +- "8.11f" +- STANDARD_INCLUDE_DIRS) ++vtk_module_third_party( ++ INTERNAL ++ LICENSE_FILES ++ "vtkexodusII/COPYRIGHT" ++ SPDX_LICENSE_IDENTIFIER ++ "BSD-3-Clause" ++ SPDX_COPYRIGHT_TEXT ++ "Copyright (c) 2005-2017 National Technology & Engineering Solutions of Sandia, LLC (NTESS)" ++ SPDX_DOWNLOAD_LOCATION ++ "git+https://gitlab.kitware.com/third-party/seacas.git@exodus/for/vtk-20220706-v2021-05-12#packages/seacas/libraries/exodus" ++ VERSION ++ "8.11f" ++ STANDARD_INCLUDE_DIRS ++ EXTERNAL ++ PACKAGE SEACASExodus ++ CONFIG_MODE ++ TARGETS SEACASExodus::exodus ++ STANDARD_INCLUDE_DIRS ++) + +-#configure_file( +-# "${CMAKE_CURRENT_SOURCE_DIR}/vtk_exodusII.h.in" +-# "${CMAKE_CURRENT_BINARY_DIR}/vtk_exodusII.h") ++configure_file( ++ "${CMAKE_CURRENT_SOURCE_DIR}/vtk_exodusII.h.in" ++ "${CMAKE_CURRENT_BINARY_DIR}/vtk_exodusII.h") + + vtk_module_install_headers( +-# FILES "${CMAKE_CURRENT_BINARY_DIR}/vtk_exodusII.h") +- FILES "${CMAKE_CURRENT_SOURCE_DIR}/vtk_exodusII.h") ++ FILES "${CMAKE_CURRENT_BINARY_DIR}/vtk_exodusII.h") ++# FILES "${CMAKE_CURRENT_SOURCE_DIR}/vtk_exodusII.h") +diff --git a/ThirdParty/exodusII/vtk_exodusII.h.in b/ThirdParty/exodusII/vtk_exodusII.h.in +new file mode 100644 +index 0000000..ac2ab78 +--- /dev/null ++++ b/ThirdParty/exodusII/vtk_exodusII.h.in +@@ -0,0 +1,15 @@ ++// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen ++// SPDX-License-Identifier: BSD-3-Clause ++#ifndef vtk_exodusII_h ++#define vtk_exodusII_h ++ ++/* Use the libproj library configured for VTK. */ ++#cmakedefine01 VTK_MODULE_USE_EXTERNAL_vtkexodusII ++ ++#if VTK_MODULE_USE_EXTERNAL_vtkexodusII ++# include ++#else ++# include ++#endif ++ ++#endif diff --git a/ports/vtk/fast-float.patch b/ports/vtk/fast-float.patch new file mode 100644 index 00000000000000..1d12c0d9b17d35 --- /dev/null +++ b/ports/vtk/fast-float.patch @@ -0,0 +1,12 @@ +diff --git a/ThirdParty/fast_float/CMakeLists.txt b/ThirdParty/fast_float/CMakeLists.txt +index e6e63cbfe6..919b12a509 100644 +--- a/ThirdParty/fast_float/CMakeLists.txt ++++ b/ThirdParty/fast_float/CMakeLists.txt +@@ -13,7 +13,6 @@ vtk_module_third_party( + STANDARD_INCLUDE_DIRS + HEADER_ONLY + EXTERNAL +- VERSION "3.9.0" + PACKAGE FastFloat + TARGETS FastFloat::fast_float + STANDARD_INCLUDE_DIRS diff --git a/ports/vtk/fix-exprtk.patch b/ports/vtk/fix-exprtk.patch new file mode 100644 index 00000000000000..8b5e72eb064ca8 --- /dev/null +++ b/ports/vtk/fix-exprtk.patch @@ -0,0 +1,13 @@ +diff --git a/CMake/FindExprTk.cmake b/CMake/FindExprTk.cmake +index 2886e7ed71..cb8a875725 100644 +--- a/CMake/FindExprTk.cmake ++++ b/CMake/FindExprTk.cmake +@@ -24,7 +24,7 @@ if (ExprTk_INCLUDE_DIR) + set(ExprTk_VERSION) + foreach (_exprtk_version_line IN LISTS _exprtk_version_header) + if ("${ExprTk_VERSION}" STREQUAL "") +- string(REGEX MATCH "version = \"(2\.7[0-9.]+)\".*$" _exprtk_version_match "${_exprtk_version_line}") ++ string(REGEX MATCH [[version = "(2\.7[0-9.]+)".*$]] _exprtk_version_match "${_exprtk_version_line}") + set(ExprTk_VERSION "${CMAKE_MATCH_1}") + else () + string(REGEX MATCH "\"([0-9.]+)\".*$" _exprtk_version_match "${_exprtk_version_line}") diff --git a/ports/vtk/hdf5helper.patch b/ports/vtk/hdf5helper.patch new file mode 100644 index 00000000000000..e7c32ce86dde0b --- /dev/null +++ b/ports/vtk/hdf5helper.patch @@ -0,0 +1,11 @@ +--- src/IO/ERF/vtkHDF5Helper.h.old 2024-02-27 17:35:26.000000000 +0100 ++++ src/IO/ERF/vtkHDF5Helper.h 2024-05-02 15:49:35.716258500 +0200 +@@ -42,7 +42,7 @@ public: + /** + * Check existence of group defined by groupName relative to fileId. + */ +- static bool GroupExists(int64_t fileId, const char* groupName); ++ static bool GroupExists(hid_t fileId, const char* groupName); + + /** + * Get length of array defined by arrayId. diff --git a/ports/vtk/iotr.patch b/ports/vtk/iotr.patch new file mode 100644 index 00000000000000..a7f9f1bd977a4b --- /dev/null +++ b/ports/vtk/iotr.patch @@ -0,0 +1,26 @@ +diff --git a/IO/IOSS/vtkIOSSUtilities.cxx b/IO/IOSS/vtkIOSSUtilities.cxx +index 26470b965..bee76107a 100644 +--- a/IO/IOSS/vtkIOSSUtilities.cxx ++++ b/IO/IOSS/vtkIOSSUtilities.cxx +@@ -38,6 +38,7 @@ + #include + #include + #include ++#include + + #include + +diff --git a/IO/IOSS/vtkIOSSReaderInternal.cxx b/IO/IOSS/vtkIOSSReaderInternal.cxx +index de8d456..237644b 100644 +--- a/IO/IOSS/vtkIOSSReaderInternal.cxx ++++ b/IO/IOSS/vtkIOSSReaderInternal.cxx +@@ -9,6 +9,8 @@ + #include "vtkIOSSReaderCommunication.h" + #include "vtkIOSSUtilities.h" + ++#include VTK_IOSS(Iotr_Factory.h) ++ + #include "vtkCellArrayIterator.h" + #include "vtkCellData.h" + #include "vtkDataArraySelection.h" + diff --git a/ports/vtk/jsoncpp.patch b/ports/vtk/jsoncpp.patch new file mode 100644 index 00000000000000..e92acb9b7534c7 --- /dev/null +++ b/ports/vtk/jsoncpp.patch @@ -0,0 +1,12 @@ +diff --git a/ThirdParty/jsoncpp/CMakeLists.txt b/ThirdParty/jsoncpp/CMakeLists.txt +index a9581f862..ad17b7323 100644 +--- a/ThirdParty/jsoncpp/CMakeLists.txt ++++ b/ThirdParty/jsoncpp/CMakeLists.txt +@@ -8,7 +8,6 @@ vtk_module_third_party( + VERSION "1.9.4" + STANDARD_INCLUDE_DIRS + EXTERNAL + PACKAGE JsonCpp +- VERSION 0.7.0 + TARGETS JsonCpp::JsonCpp + STANDARD_INCLUDE_DIRS) diff --git a/ports/vtk/libproj.patch b/ports/vtk/libproj.patch new file mode 100644 index 00000000000000..80ab60b4892c65 --- /dev/null +++ b/ports/vtk/libproj.patch @@ -0,0 +1,21 @@ +diff --git a/ThirdParty/libproj/CMakeLists.txt b/ThirdParty/libproj/CMakeLists.txt +index f8888876..d57c4c18 100644 +--- a/ThirdParty/libproj/CMakeLists.txt ++++ b/ThirdParty/libproj/CMakeLists.txt +@@ -4,11 +4,13 @@ vtk_module_third_party( + VERSION + "8.1.0" + STANDARD_INCLUDE_DIRS + EXTERNAL +- PACKAGE LibPROJ +- TARGETS LibPROJ::LibPROJ +- USE_VARIABLES LibPROJ_MAJOR_VERSION ++ PACKAGE PROJ ++ CONFIG_MODE ++ TARGETS PROJ::proj ++ USE_VARIABLES PROJ_VERSION_MAJOR + STANDARD_INCLUDE_DIRS) ++set(LibPROJ_MAJOR_VERSION "${PROJ_VERSION_MAJOR}") + + if (NOT VTK_MODULE_USE_EXTERNAL_VTK_libproj) + set(LibPROJ_MAJOR_VERSION "8") diff --git a/ports/vtk/missing-limits.patch b/ports/vtk/missing-limits.patch deleted file mode 100644 index 2450e480cfcf44..00000000000000 --- a/ports/vtk/missing-limits.patch +++ /dev/null @@ -1,48 +0,0 @@ -diff --git a/Common/Core/vtkGenericDataArrayLookupHelper.h b/Common/Core/vtkGenericDataArrayLookupHelper.h -index ab9d572..202aaa2 100644 ---- a/Common/Core/vtkGenericDataArrayLookupHelper.h -+++ b/Common/Core/vtkGenericDataArrayLookupHelper.h -@@ -25,6 +25,7 @@ - #include "vtkIdList.h" - #include - #include -+#include - #include - #include - -diff --git a/Common/DataModel/vtkPiecewiseFunction.cxx b/Common/DataModel/vtkPiecewiseFunction.cxx -index 22eca0b..11086f1 100644 ---- a/Common/DataModel/vtkPiecewiseFunction.cxx -+++ b/Common/DataModel/vtkPiecewiseFunction.cxx -@@ -22,6 +22,7 @@ - #include - #include - #include -+#include - #include - #include - -diff --git a/Filters/HyperTree/vtkHyperTreeGridThreshold.cxx b/Filters/HyperTree/vtkHyperTreeGridThreshold.cxx -index a16bb27..1052192 100644 ---- a/Filters/HyperTree/vtkHyperTreeGridThreshold.cxx -+++ b/Filters/HyperTree/vtkHyperTreeGridThreshold.cxx -@@ -27,6 +27,7 @@ - #include "vtkHyperTreeGridNonOrientedCursor.h" - - #include -+#include - - vtkStandardNewMacro(vtkHyperTreeGridThreshold); - -diff --git a/Rendering/Core/vtkColorTransferFunction.cxx b/Rendering/Core/vtkColorTransferFunction.cxx -index 55c046b..1be0291 100644 ---- a/Rendering/Core/vtkColorTransferFunction.cxx -+++ b/Rendering/Core/vtkColorTransferFunction.cxx -@@ -21,6 +21,7 @@ - #include - #include - #include -+#include - #include - #include - diff --git a/ports/vtk/no-libharu-for-ioexport.patch b/ports/vtk/no-libharu-for-ioexport.patch new file mode 100644 index 00000000000000..1a659d1004f00b --- /dev/null +++ b/ports/vtk/no-libharu-for-ioexport.patch @@ -0,0 +1,12 @@ +diff --git a/IO/Export/vtk.module b/IO/Export/vtk.module +index 01b18a48..dcac24c0 100644 +--- a/IO/Export/vtk.module ++++ b/IO/Export/vtk.module +@@ -36,7 +36,6 @@ PRIVATE_DEPENDS + VTK::IOGeometry + VTK::ImagingCore + VTK::nlohmannjson +- VTK::libharu + VTK::utf8 + TEST_DEPENDS + VTK::ChartsCore diff --git a/ports/vtk/no-libproj-for-netcdf.patch b/ports/vtk/no-libproj-for-netcdf.patch new file mode 100644 index 00000000000000..e7f1085b01cf3f --- /dev/null +++ b/ports/vtk/no-libproj-for-netcdf.patch @@ -0,0 +1,24 @@ +diff --git a/IO/NetCDF/vtk.module b/IO/NetCDF/vtk.module +index a0cc0741..07f3606b 100644 +--- a/IO/NetCDF/vtk.module ++++ b/IO/NetCDF/vtk.module +@@ -26,7 +26,6 @@ PRIVATE_DEPENDS + VTK::CommonDataModel + VTK::netcdf + VTK::vtksys +- VTK::libproj + TEST_DEPENDS + VTK::CommonExecutionModel + VTK::FiltersGeometry +diff --git a/IO/NetCDF/vtkNetCDFCFWriter.cxx b/IO/NetCDF/vtkNetCDFCFWriter.cxx +index 756ff87..d71de89 100644 +--- a/IO/NetCDF/vtkNetCDFCFWriter.cxx ++++ b/IO/NetCDF/vtkNetCDFCFWriter.cxx +@@ -33,7 +33,6 @@ + #include + #include + +-#include "vtk_libproj.h" + #include "vtk_netcdf.h" + + VTK_ABI_NAMESPACE_BEGIN diff --git a/ports/vtk/opencascade-7.8.0.patch b/ports/vtk/opencascade-7.8.0.patch new file mode 100644 index 00000000000000..3a78b0a38abd69 --- /dev/null +++ b/ports/vtk/opencascade-7.8.0.patch @@ -0,0 +1,83 @@ +diff --git a/IO/OCCT/CMakeLists.txt b/IO/OCCT/CMakeLists.txt +index e81444eceb..4baddeb719 100644 +--- a/IO/OCCT/CMakeLists.txt ++++ b/IO/OCCT/CMakeLists.txt +@@ -4,12 +4,25 @@ vtk_module_find_package(PRIVATE_IF_SHARED + VERSION_VAR "@OpenCASCADE_MAJOR_VERSION@.@OpenCASCADE_MINOR_VERSION@.@OpenCASCADE_MAINTENANCE_VERSION@" + ) + +-set(opencascade_req_targets +- TKSTEP +- TKIGES +- TKMesh +- TKXDESTEP +- TKXDEIGES) ++if (OpenCASCADE_VERSION VERSION_GREATER_EQUAL "7.8.0") ++ set(opencascade_req_targets ++ TKDESTEP ++ TKDEIGES ++ TKernel ++ TKMath ++ TKMesh ++ TKBRep ++ TKXSBase ++ TKLCAF ++ TKXCAF) ++else() ++ set(opencascade_req_targets ++ TKSTEP ++ TKIGES ++ TKMesh ++ TKXDESTEP ++ TKXDEIGES) ++endif() + set(opencascade_missing_targets) + foreach (opencascade_req_target IN LISTS opencascade_req_targets) + if (NOT TARGET "${opencascade_req_target}") +@@ -35,8 +48,7 @@ vtk_module_link(VTK::IOOCCT + ${opencascade_req_targets}) + + # OpenCASCADE started putting include directory usage requirements in 7.7.0. +-set(OpenCASCADE_VERSION +- "${OpenCASCADE_MAJOR_VERSION}.${OpenCASCADE_MINOR_VERSION}.${OpenCASCADE_MAINTENANCE_VERSION}") ++ + if (OpenCASCADE_VERSION VERSION_LESS "7.7.0") + vtk_module_include(VTK::IOOCCT PRIVATE "${OpenCASCADE_INCLUDE_DIR}") + endif () +diff --git a/IO/OCCT/vtkOCCTReader.cxx b/IO/OCCT/vtkOCCTReader.cxx +index 52e76be72c..5aca5c93c8 100644 +--- a/IO/OCCT/vtkOCCTReader.cxx ++++ b/IO/OCCT/vtkOCCTReader.cxx +@@ -345,11 +345,19 @@ public: + } + + //---------------------------------------------------------------------------- ++#if VTK_OCCT_VERSION(7, 8, 0) <= OCC_VERSION_HEX ++ size_t GetHash(const TDF_Label& label) ++ { ++ TopoDS_Shape aShape; ++ return this->ShapeTool->GetShape(label, aShape) ? std::hash{}(aShape) : 0; ++ } ++#else + int GetHash(const TDF_Label& label) + { + TopoDS_Shape aShape; + return this->ShapeTool->GetShape(label, aShape) ? aShape.HashCode(INT_MAX) : 0; + } ++#endif + + //---------------------------------------------------------------------------- + static void GetMatrix(const TopLoc_Location& loc, vtkMatrix4x4* mat) +@@ -381,8 +389,11 @@ public: + GetMatrix(hLoc->Get(), location); + } + } +- ++#if VTK_OCCT_VERSION(7, 8, 0) <= OCC_VERSION_HEX ++ std::unordered_map> ShapeMap; ++#else + std::unordered_map> ShapeMap; ++#endif + Handle(XCAFDoc_ShapeTool) ShapeTool; + Handle(XCAFDoc_ColorTool) ColorTool; + diff --git a/ports/vtk/pegtl.patch b/ports/vtk/pegtl.patch index cbd1d86930c86f..912549dd7b75ba 100644 --- a/ports/vtk/pegtl.patch +++ b/ports/vtk/pegtl.patch @@ -1,73 +1,108 @@ +diff --git a/IO/MotionFX/vtkMotionFXCFGGrammar.h b/IO/MotionFX/vtkMotionFXCFGGrammar.h +index dba137386..4cb03e054 100644 +--- a/IO/MotionFX/vtkMotionFXCFGGrammar.h ++++ b/IO/MotionFX/vtkMotionFXCFGGrammar.h +@@ -23,7 +23,7 @@ + + // for debugging + // clang-format off +-#include VTK_PEGTL(pegtl/contrib/tracer.hpp) ++#include VTK_PEGTL(pegtl/contrib/trace.hpp) + // clang-format on + + namespace MotionFX +diff --git a/IO/MotionFX/vtkMotionFXCFGReader.cxx b/IO/MotionFX/vtkMotionFXCFGReader.cxx +index 338aa736e..374e54b94 100644 +--- a/IO/MotionFX/vtkMotionFXCFGReader.cxx ++++ b/IO/MotionFX/vtkMotionFXCFGReader.cxx +@@ -1213,7 +1213,7 @@ bool PositionFileMotion::read_position_file(const std::string& rootDir) const + } + return true; + } +- catch (const tao::pegtl::input_error& e) ++ catch (const tao::pegtl::parse_error& e) + { + vtkGenericWarningMacro("PositionFileMotion::read_position_file failed: " << e.what()); + } +@@ -1232,7 +1232,7 @@ bool UniversalTransformMotion::read_universaltransform_file(const std::string& r + in, numbers, this->transforms); + return true; + } +- catch (const tao::pegtl::input_error& e) ++ catch (const tao::pegtl::parse_error& e) + { + vtkGenericWarningMacro( + "UniversalTransformMotion::read_universaltransform_file failed: " << e.what()); +@@ -1267,7 +1267,7 @@ public: + if (getenv("MOTIONFX_DEBUG_GRAMMAR") != nullptr) + { + tao::pegtl::read_input<> in2(filename); +- tao::pegtl::parse(in2); ++ tao::pegtl::complete_trace(in2); + } + return false; + } +diff --git a/ThirdParty/pegtl/CMakeLists.txt b/ThirdParty/pegtl/CMakeLists.txt +index 9bbd4c828..0cdb1f53d 100644 +--- a/ThirdParty/pegtl/CMakeLists.txt ++++ b/ThirdParty/pegtl/CMakeLists.txt +@@ -5,8 +5,7 @@ vtk_module_third_party( + VERSION + "2.8.3" + EXTERNAL + PACKAGE PEGTL +- VERSION 2.0.0 + TARGETS PEGTL::PEGTL + STANDARD_INCLUDE_DIRS) + diff --git a/CMake/FindPEGTL.cmake b/CMake/FindPEGTL.cmake index 73eee02f7..22d8bc159 100644 --- a/CMake/FindPEGTL.cmake +++ b/CMake/FindPEGTL.cmake -@@ -19,31 +19,42 @@ - # Copyright (c) 2009 Benoit Jacob - # Redistribution and use is allowed according to the terms of the 2-clause BSD license. +@@ -19,31 +19,45 @@ + # + # PEGTL::PEGTL --find_path(PEGTL_INCLUDE_DIR -- NAMES pegtl/version.hpp -- PATH_SUFFIXES tao -- DOC "Path to PEGTL headers") --mark_as_advanced(PEGTL_INCLUDE_DIR) +message(STATUS "Searching for PEGTL") -+find_package(PEGTL CONFIG NAMES PEGTL-2) ++find_package(PEGTL CONFIG REQUIRED) +if(TARGET taocpp::pegtl) + message(STATUS "Searching for PEGTL - found target taocpp::pegtl") -+ set_target_properties(taocpp::pegtl PROPERTIES IMPORTED_GLOBAL TRUE) ++ get_target_property(TARGET_IMPORTED_GLOBAL taocpp::pegtl IMPORTED_GLOBAL) ++ if(NOT TARGET_IMPORTED_GLOBAL) ++ set_target_properties(taocpp::pegtl PROPERTIES IMPORTED_GLOBAL TRUE) ++ endif() + if(NOT TARGET PEGTL::PEGTL) -+ add_library(PEGTL::PEGTL ALIAS taocpp::pegtl) ++ add_library(PEGTL::PEGTL IMPORTED INTERFACE) ++ target_link_libraries(PEGTL::PEGTL INTERFACE taocpp::pegtl) + endif() +else() -+ find_path(PEGTL_INCLUDE_DIR -+ NAMES pegtl/version.hpp -+ PATH_SUFFIXES tao -+ DOC "Path to PEGTL headers") -+ mark_as_advanced(PEGTL_INCLUDE_DIR) + find_path(PEGTL_INCLUDE_DIR + NAMES pegtl/version.hpp + PATH_SUFFIXES tao + DOC "Path to PEGTL headers") + mark_as_advanced(PEGTL_INCLUDE_DIR) --if (PEGTL_INCLUDE_DIR) -- file(STRINGS "${PEGTL_INCLUDE_DIR}/pegtl/version.hpp" _pegtl_version_header -- REGEX "TAO_PEGTL_VERSION") -- string(REGEX MATCH "define[ \t]+TAO_PEGTL_VERSION[ \t]+\"([0-9.]+)\"" _pegtl_version_match "${_pegtl_version_header}") -- set(PEGTL_VERSION "${CMAKE_MATCH_1}") -- unset(_pegtl_version_header) -- unset(_pegtl_version_match) --endif () -+ if (PEGTL_INCLUDE_DIR) -+ file(STRINGS "${PEGTL_INCLUDE_DIR}/pegtl/version.hpp" _pegtl_version_header -+ REGEX "TAO_PEGTL_VERSION") -+ string(REGEX MATCH "define[ \t]+TAO_PEGTL_VERSION[ \t]+\"([0-9.]+)\"" _pegtl_version_match "${_pegtl_version_header}") -+ set(PEGTL_VERSION "${CMAKE_MATCH_1}") -+ unset(_pegtl_version_header) -+ unset(_pegtl_version_match) -+ endif () + if (PEGTL_INCLUDE_DIR) + file(STRINGS "${PEGTL_INCLUDE_DIR}/pegtl/version.hpp" _pegtl_version_header + REGEX "TAO_PEGTL_VERSION") + string(REGEX MATCH "define[ \t]+TAO_PEGTL_VERSION[ \t]+\"([0-9.]+)\"" _pegtl_version_match "${_pegtl_version_header}") + set(PEGTL_VERSION "${CMAKE_MATCH_1}") + unset(_pegtl_version_header) + unset(_pegtl_version_match) + endif () --include(FindPackageHandleStandardArgs) --find_package_handle_standard_args(PEGTL -- REQUIRED_VARS PEGTL_INCLUDE_DIR -- VERSION_VAR PEGTL_VERSION) -+ include(FindPackageHandleStandardArgs) -+ find_package_handle_standard_args(PEGTL -+ REQUIRED_VARS PEGTL_INCLUDE_DIR -+ VERSION_VAR PEGTL_VERSION) + include(FindPackageHandleStandardArgs) + find_package_handle_standard_args(PEGTL + REQUIRED_VARS PEGTL_INCLUDE_DIR + VERSION_VAR PEGTL_VERSION) --if (PEGTL_FOUND) -- set(PEGTL_INCLUDE_DIRS "${PEGTL_INCLUDE_DIR}") -- if (NOT TARGET PEGTL::PEGTL) -- add_library(PEGTL::PEGTL INTERFACE IMPORTED) -- set_target_properties(PEGTL::PEGTL PROPERTIES -- INTERFACE_INCLUDE_DIRECTORIES "${PEGTL_INCLUDE_DIR}") -- endif () --endif () -+ if (PEGTL_FOUND) -+ set(PEGTL_INCLUDE_DIRS "${PEGTL_INCLUDE_DIR}") -+ if (NOT TARGET PEGTL::PEGTL) -+ add_library(PEGTL::PEGTL INTERFACE IMPORTED) -+ set_target_properties(PEGTL::PEGTL PROPERTIES -+ INTERFACE_INCLUDE_DIRECTORIES "${PEGTL_INCLUDE_DIR}") -+ endif () -+ message(STATUS "Searching for PEGTL - found") -+ endif () + if (PEGTL_FOUND) + set(PEGTL_INCLUDE_DIRS "${PEGTL_INCLUDE_DIR}") + if (NOT TARGET PEGTL::PEGTL) + add_library(PEGTL::PEGTL INTERFACE IMPORTED) + set_target_properties(PEGTL::PEGTL PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${PEGTL_INCLUDE_DIR}") + endif () + endif () +endif () -\ No newline at end of file + diff --git a/ports/vtk/portfile.cmake b/ports/vtk/portfile.cmake index 63bd5eec20fbd9..aa237e3489085b 100644 --- a/ports/vtk/portfile.cmake +++ b/ports/vtk/portfile.cmake @@ -1,45 +1,82 @@ +set(VTK_SHORT_VERSION 9.3) if(NOT VCPKG_TARGET_IS_WINDOWS) message(WARNING "You will need to install Xorg dependencies to build vtk:\napt-get install libxt-dev\n") endif() +set(VCPKG_POLICY_SKIP_ABSOLUTE_PATHS_CHECK enabled) + # ============================================================================= # Clone & patch vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Kitware/VTK - REF 2959413ff190bc6e3ff40f5b6c1342edd2e5233f # v9.0.x used by ParaView 5.9.1 - SHA512 16229c107ed904e8fa6850c3814b8bdcdf9700ef44f6ff5b3a77e7d793ce19954fc2c7b1219a0162cf588def6e990883cd3f808c316a4db6e65bd6cd1769dd3f + REF 09a76bc55b37caad94d0d8ebe865caaed1b438af # v9.3.x used by ParaView 5.12.0 + SHA512 396ee901fafacae8aef860b9c9c17cb92ae8b4969527fd271ad8dd9f6a9e0dc8e3dc807c8d43cc585608ad101a64edcd7aff49e1580c7a61a817c2ea8e2655f5 HEAD_REF master PATCHES FindLZMA.patch FindLZ4.patch - Findproj.patch + libproj.patch pegtl.patch pythonwrapper.patch # Required by ParaView to Wrap required classes NoUndefDebug.patch # Required to link against correct Python library depending on build type. - python_debug.patch fix-using-hdf5.patch # CHECK: module-name-mangling.patch # Last patch TODO: Patch out internal loguru FindExpat.patch # The find_library calls are taken care of by vcpkg-cmake-wrapper.cmake of expat - # upstream vtkm patches to make it work with vtkm 1.6 - vtkm.patch # To include an external VTKm build - 1f00a0c9.patch - 156fb524.patch - d107698a.patch - fix-gdal.patch - missing-limits.patch # This patch can be removed in next version. Since it has been merged to upstream via https://gitlab.kitware.com/vtk/vtk/-/merge_requests/7611 + # fix-gdal.patch TODO? + cgns.patch + vtkm.patch + afxdll.patch + vtkioss.patch + jsoncpp.patch + iotr.patch + fast-float.patch + fix-exprtk.patch # just for dbow2 and theia + devendor_exodusII.patch + remove-prefix-changes.patch + hdf5helper.patch + opencascade-7.8.0.patch + no-libharu-for-ioexport.patch + no-libproj-for-netcdf.patch ) # ============================================================================= #Overwrite outdated modules if they have not been patched: file(COPY "${CURRENT_PORT_DIR}/FindHDF5.cmake" DESTINATION "${SOURCE_PATH}/CMake/patches/99") # due to usage of targets in netcdf-c + +file(REMOVE "${SOURCE_PATH}/CMake/FindOGG.cmake") +vcpkg_replace_string("${SOURCE_PATH}/ThirdParty/ogg/CMakeLists.txt" "OGG::OGG" "Ogg::ogg") +vcpkg_replace_string("${SOURCE_PATH}/ThirdParty/ogg/CMakeLists.txt" "OGG" "Ogg") +vcpkg_replace_string("${SOURCE_PATH}/CMake/vtkInstallCMakePackage.cmake" "FindOGG.cmake\n" "") +vcpkg_replace_string("${SOURCE_PATH}/CMake/FindTHEORA.cmake" "find_dependency(OGG)" "find_dependency(Ogg CONFIG)") +vcpkg_replace_string("${SOURCE_PATH}/CMake/FindTHEORA.cmake" "OGG::OGG" "Ogg::ogg") + # ============================================================================= +if(HDF5_WITH_PARALLEL AND NOT "mpi" IN_LIST FEATURES) + message(WARNING "${HDF5_WITH_PARALLEL} Enabling MPI in vtk.") + list(APPEND FEATURES "mpi") +endif() + # ============================================================================= # Options: # Collect CMake options for optional components +if("atlmfc" IN_LIST FEATURES) + list(APPEND ADDITIONAL_OPTIONS + -DVTK_MODULE_ENABLE_VTK_GUISupportMFC=YES + ) +endif() +if("vtkm" IN_LIST FEATURES) + list(APPEND ADDITIONAL_OPTIONS + -DVTK_MODULE_ENABLE_VTK_AcceleratorsVTKmCore=YES + -DVTK_MODULE_ENABLE_VTK_AcceleratorsVTKmDataModel=YES + -DVTK_MODULE_ENABLE_VTK_AcceleratorsVTKmFilters=YES + -DVTK_MODULE_ENABLE_VTK_vtkm=YES + ) +endif() + # TODO: # - add loguru as a dependency requires #8682 vcpkg_check_features(OUT_FEATURE_OPTIONS VTK_FEATURE_OPTIONS @@ -63,12 +100,18 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS VTK_FEATURE_OPTIONS "paraview" VTK_MODULE_ENABLE_VTK_RenderingVolumeAMR "paraview" VTK_MODULE_ENABLE_VTK_IOXdmf2 "paraview" VTK_MODULE_ENABLE_VTK_IOH5part + "paraview" VTK_MODULE_ENABLE_VTK_IOH5Rage "paraview" VTK_MODULE_ENABLE_VTK_IOParallelLSDyna "paraview" VTK_MODULE_ENABLE_VTK_IOTRUCHAS "paraview" VTK_MODULE_ENABLE_VTK_IOVPIC "paraview" VTK_MODULE_ENABLE_VTK_RenderingAnnotation "paraview" VTK_MODULE_ENABLE_VTK_DomainsChemistry "paraview" VTK_MODULE_ENABLE_VTK_FiltersParallelDIY2 + "paraview" VTK_MODULE_ENABLE_VTK_cli11 + "paraview" VTK_MODULE_ENABLE_VTK_FiltersOpenTURNS + "paraview" VTK_MODULE_ENABLE_VTK_FiltersParallelVerdict + "paraview" VTK_MODULE_ENABLE_VTK_IOOMF + "paraview" VTK_MODULE_ENABLE_VTK_IOPIO "mpi" VTK_GROUP_ENABLE_MPI "opengl" VTK_MODULE_ENABLE_VTK_ImagingOpenGL2 "opengl" VTK_MODULE_ENABLE_VTK_RenderingGL2PSOpenGL2 @@ -78,19 +121,72 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS VTK_FEATURE_OPTIONS "openvr" VTK_MODULE_ENABLE_VTK_RenderingOpenVR "gdal" VTK_MODULE_ENABLE_VTK_IOGDAL "geojson" VTK_MODULE_ENABLE_VTK_IOGeoJSON + "ioocct" VTK_MODULE_ENABLE_VTK_IOOCCT + "libtheora" VTK_MODULE_ENABLE_VTK_IOOggTheora + "libharu" VTK_MODULE_ENABLE_VTK_IOExportPDF + "cgns" VTK_MODULE_ENABLE_VTK_IOCGNSReader + "seacas" VTK_MODULE_ENABLE_VTK_IOIOSS + "seacas" VTK_MODULE_ENABLE_VTK_IOExodus + "sql" VTK_MODULE_ENABLE_VTK_IOSQL + "proj" VTK_MODULE_ENABLE_VTK_IOCesium3DTiles + "proj" VTK_MODULE_ENABLE_VTK_GeovisCore + "netcdf" VTK_MODULE_ENABLE_VTK_IONetCDF + "netcdf" VTK_MODULE_ENABLE_VTK_IOMINC +) + +# Require port features to prevent accidental finding of transitive dependencies +vcpkg_check_features(OUT_FEATURE_OPTIONS PACKAGE_FEATURE_OPTIONS + FEATURES + "libtheora" CMAKE_REQUIRE_FIND_PACKAGE_THEORA + "libharu" CMAKE_REQUIRE_FIND_PACKAGE_LibHaru + "cgns" CMAKE_REQUIRE_FIND_PACKAGE_CGNS + "seacas" CMAKE_REQUIRE_FIND_PACKAGE_SEACASIoss + "seacas" CMAKE_REQUIRE_FIND_PACKAGE_SEACASExodus + "sql" CMAKE_REQUIRE_FIND_PACKAGE_SQLite3 + "proj" CMAKE_REQUIRE_FIND_PACKAGE_PROJ + "netcdf" CMAKE_REQUIRE_FIND_PACKAGE_NetCDF + INVERTED_FEATURES + "libtheora" CMAKE_DISABLE_FIND_PACKAGE_THEORA + "libharu" CMAKE_DISABLE_FIND_PACKAGE_LibHaru + "cgns" CMAKE_DISABLE_FIND_PACKAGE_CGNS + "seacas" CMAKE_DISABLE_FIND_PACKAGE_SEACASIoss + "seacas" CMAKE_DISABLE_FIND_PACKAGE_SEACASExodus + "sql" CMAKE_DISABLE_FIND_PACKAGE_SQLite3 + "proj" CMAKE_DISABLE_FIND_PACKAGE_PROJ + "netcdf" CMAKE_DISABLE_FIND_PACKAGE_NetCDF ) # Replace common value to vtk value list(TRANSFORM VTK_FEATURE_OPTIONS REPLACE "=ON" "=YES") list(TRANSFORM VTK_FEATURE_OPTIONS REPLACE "=OFF" "=DONT_WANT") +if("qt" IN_LIST FEATURES AND NOT EXISTS "${CURRENT_HOST_INSTALLED_DIR}/tools/Qt6/bin/qmlplugindump${VCPKG_HOST_EXECUTABLE_SUFFIX}") + list(APPEND VTK_FEATURE_OPTIONS -DVTK_MODULE_ENABLE_VTK_GUISupportQtQuick=NO) +endif() +if("qt" IN_LIST FEATURES) + file(READ "${CURRENT_INSTALLED_DIR}/share/qtbase/vcpkg_abi_info.txt" qtbase_abi_info) + if(qtbase_abi_info MATCHES "(^|;)gles2(;|$)") + message(FATAL_ERROR "VTK assumes qt to be build with desktop opengl. As such trying to build vtk with qt using GLES will fail.") + # This should really be a configure error but using this approach doesn't require patching. + endif() +endif() + if("python" IN_LIST FEATURES) - vcpkg_find_acquire_program(PYTHON3) + set(python_ver "") + if(NOT VCPKG_TARGET_IS_WINDOWS) + 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}") + endif() list(APPEND ADDITIONAL_OPTIONS -DVTK_WRAP_PYTHON=ON - -DVTK_PYTHON_VERSION=3 -DPython3_FIND_REGISTRY=NEVER - "-DPython3_EXECUTABLE:PATH=${PYTHON3}" + "-DPython3_EXECUTABLE:PATH=${CURRENT_INSTALLED_DIR}/tools/python3/python${python_ver}${VCPKG_EXECUTABLE_SUFFIX}" + -DVTK_MODULE_ENABLE_VTK_Python=YES + -DVTK_MODULE_ENABLE_VTK_PythonContext2D=YES # TODO: recheck + -DVTK_MODULE_ENABLE_VTK_PythonInterpreter=YES + -DVTK_PYTHON_SITE_PACKAGES_SUFFIX=${PYTHON3_SITE} ) #VTK_PYTHON_SITE_PACKAGES_SUFFIX should be set to the install dir of the site-packages endif() @@ -99,16 +195,27 @@ if ("paraview" IN_LIST FEATURES OR "opengl" IN_LIST FEATURES) list(APPEND ADDITIONAL_OPTIONS -DVTK_MODULE_ENABLE_VTK_RenderingContextOpenGL2=YES -DVTK_MODULE_ENABLE_VTK_RenderingLICOpenGL2=YES + -DVTK_MODULE_ENABLE_VTK_RenderingAnnotation=YES -DVTK_MODULE_ENABLE_VTK_DomainsChemistryOpenGL2=YES + -DVTK_MODULE_ENABLE_VTK_FiltersParallelDIY2=YES ) endif() -if("paraview" IN_LIST FEATURES AND "python" IN_LIST FEATURES) +if ("paraview" IN_LIST FEATURES AND "python" IN_LIST FEATURES) list(APPEND ADDITIONAL_OPTIONS + -DVTK_MODULE_ENABLE_VTK_WebCore=YES + -DVTK_MODULE_ENABLE_VTK_WebPython=YES -DVTK_MODULE_ENABLE_VTK_RenderingMatplotlib=YES ) endif() +if("paraview" IN_LIST FEATURES AND "mpi" IN_LIST FEATURES) + list(APPEND ADDITIONAL_OPTIONS + -DVTK_MODULE_ENABLE_VTK_FiltersParallelFlowPaths=YES + -DVTK_MODULE_ENABLE_VTK_RenderingParallelLIC=YES + ) +endif() + if("mpi" IN_LIST FEATURES AND "python" IN_LIST FEATURES) list(APPEND ADDITIONAL_OPTIONS -DVTK_MODULE_USE_EXTERNAL_VTK_mpi4py=OFF @@ -138,19 +245,23 @@ endif() vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES - "cuda" VTK_USE_CUDA - "mpi" VTK_USE_MPI - "all" VTK_BUILD_ALL_MODULES + "cuda" VTK_USE_CUDA + "mpi" VTK_USE_MPI + "all" VTK_BUILD_ALL_MODULES ) + # ============================================================================= # Configure & Install + + # We set all libraries to "system" and explicitly list the ones that should use embedded copies vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${FEATURE_OPTIONS} ${VTK_FEATURE_OPTIONS} + ${PACKAGE_FEATURE_OPTIONS} -DBUILD_TESTING=OFF -DVTK_BUILD_TESTING=OFF -DVTK_BUILD_EXAMPLES=OFF @@ -164,9 +275,38 @@ vcpkg_cmake_configure( # Select modules / groups to install -DVTK_USE_EXTERNAL:BOOL=ON -DVTK_MODULE_USE_EXTERNAL_VTK_gl2ps:BOOL=OFF # Not yet in VCPKG + -DVTK_MODULE_USE_EXTERNAL_VTK_token:BOOL=OFF # Not yet in VCPKG + #-DVTK_MODULE_ENABLE_VTK_jsoncpp=YES ${ADDITIONAL_OPTIONS} -DVTK_DEBUG_MODULE_ALL=ON -DVTK_DEBUG_MODULE=ON + -DVTK_QT_VERSION=6 + -DCMAKE_INSTALL_QMLDIR:PATH=qml + -DVCPKG_HOST_TRIPLET=${_HOST_TRIPLET} + -DCMAKE_FIND_PACKAGE_TARGETS_GLOBAL=ON # Due to Qt6::Platform not being found on Linux platform + MAYBE_UNUSED_VARIABLES + VTK_MODULE_ENABLE_VTK_PythonContext2D # Guarded by a conditional + VTK_MODULE_ENABLE_VTK_GUISupportMFC # only windows + VTK_QT_VERSION # Only with Qt + CMAKE_INSTALL_QMLDIR + # When working properly these should be unused + CMAKE_DISABLE_FIND_PACKAGE_CGNS + CMAKE_DISABLE_FIND_PACKAGE_LibHaru + CMAKE_DISABLE_FIND_PACKAGE_NetCDF + CMAKE_DISABLE_FIND_PACKAGE_PROJ + CMAKE_DISABLE_FIND_PACKAGE_SEACASExodus + CMAKE_DISABLE_FIND_PACKAGE_SEACASIoss + CMAKE_DISABLE_FIND_PACKAGE_SQLite3 + CMAKE_DISABLE_FIND_PACKAGE_THEORA + CMAKE_REQUIRE_FIND_PACKAGE_CGNS + CMAKE_REQUIRE_FIND_PACKAGE_LibHaru + CMAKE_REQUIRE_FIND_PACKAGE_NetCDF + CMAKE_REQUIRE_FIND_PACKAGE_PROJ + CMAKE_REQUIRE_FIND_PACKAGE_SEACASExodus + CMAKE_REQUIRE_FIND_PACKAGE_SEACASIoss + CMAKE_REQUIRE_FIND_PACKAGE_SQLite3 + CMAKE_REQUIRE_FIND_PACKAGE_THEORA + ) vcpkg_cmake_install() @@ -174,7 +314,7 @@ vcpkg_copy_pdbs() # ============================================================================= # Fixup target files -vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/vtk-9.0) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/vtk-${VTK_SHORT_VERSION}) # ============================================================================= # Clean-up other directories @@ -216,7 +356,6 @@ function(_vtk_move_release_tool TOOL_NAME) endif() endfunction() -set(VTK_SHORT_VERSION 9.0) set(VTK_TOOLS vtkEncodeString-${VTK_SHORT_VERSION} vtkHashSource-${VTK_SHORT_VERSION} @@ -240,9 +379,13 @@ foreach(TOOL_NAME IN LISTS VTK_TOOLS) _vtk_move_release_tool("${TOOL_NAME}") endforeach() -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" - "${CURRENT_PACKAGES_DIR}/debug/bin") +if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/vtktoken-9.3.dll" AND VCPKG_LIBRARY_LINKAGE STREQUAL "static") + # vendored "token" library can be only build as a shared library + set(VCPKG_POLICY_DLLS_IN_STATIC_LIBRARY enabled) +elseif(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") @@ -250,24 +393,6 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/vtk") -## Files Modules needed by ParaView -if("paraview" IN_LIST FEATURES) - set(VTK_CMAKE_NEEDED vtkCompilerChecks vtkCompilerPlatformFlags vtkCompilerExtraFlags vtkInitializeBuildType - vtkSupportMacros vtkVersion FindPythonModules vtkModuleDebugging vtkExternalData) - foreach(module ${VTK_CMAKE_NEEDED}) - file(INSTALL "${SOURCE_PATH}/CMake/${module}.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/vtk") - endforeach() - - ## Check List on UPDATE !! - file(INSTALL "${SOURCE_PATH}/CMake/vtkRequireLargeFilesSupport.cxx" DESTINATION "${CURRENT_PACKAGES_DIR}/share/vtk") - file(INSTALL "${SOURCE_PATH}/Rendering/Volume/vtkBlockSortHelper.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include/vtk-${VTK_SHORT_VERSION}") # this should get installed by VTK - file(INSTALL "${SOURCE_PATH}/Filters/ParallelDIY2/vtkDIYKdTreeUtilities.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include/vtk-${VTK_SHORT_VERSION}") - file(INSTALL "${SOURCE_PATH}/Parallel/DIY/vtkDIYUtilities.txx" DESTINATION "${CURRENT_PACKAGES_DIR}/include/vtk-${VTK_SHORT_VERSION}") - - file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/Rendering/OpenGL2/vtkTextureObjectVS.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include/vtk-${VTK_SHORT_VERSION}") - -endif() - if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") if(EXISTS "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/CMakeFiles/vtkpythonmodules/static_python") #python headers file(GLOB_RECURSE STATIC_PYTHON_FILES "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/CMakeFiles/*/static_python/*.h") @@ -295,8 +420,13 @@ file(REMOVE "${CURRENT_PACKAGES_DIR}/share/${PORT}/FindEXPAT.cmake") file(RENAME "${CURRENT_PACKAGES_DIR}/share/licenses" "${CURRENT_PACKAGES_DIR}/share/${PORT}/licenses") +if(EXISTS "${CURRENT_PACKAGES_DIR}/include/vtk-${VTK_SHORT_VERSION}/vtkChemistryConfigure.h") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/vtk-${VTK_SHORT_VERSION}/vtkChemistryConfigure.h" "${SOURCE_PATH}" "not/existing" IGNORE_UNCHANGED) +endif() # ============================================================================= # Usage configure_file("${CMAKE_CURRENT_LIST_DIR}/usage" "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" COPYONLY) # Handle copyright -file(INSTALL "${SOURCE_PATH}/Copyright.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME "copyright") \ No newline at end of file +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/Copyright.txt") + +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/vtk/VTK-vtk-module-properties.cmake" "_vtk_module_import_prefix}/lib/vtk-9.3/hierarchy" "_vtk_module_import_prefix}$<$:/debug>/lib/vtk-9.3/hierarchy") diff --git a/ports/vtk/python_debug.patch b/ports/vtk/python_debug.patch deleted file mode 100644 index 6b69d8094dd597..00000000000000 --- a/ports/vtk/python_debug.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMake/patches/3.18/FindPython/Support.cmake b/CMake/patches/3.18/FindPython/Support.cmake -index 0879537ed..122e7228d 100644 ---- a/CMake/patches/3.18/FindPython/Support.cmake -+++ b/CMake/patches/3.18/FindPython/Support.cmake -@@ -2253,7 +2257,7 @@ if (("Development.Module" IN_LIST ${_PYTHON_PREFIX}_FIND_COMPONENTS - NAMES ${_${_PYTHON_PREFIX}_LIB_NAMES_DEBUG} - NAMES_PER_DIR - HINTS "${_${_PYTHON_PREFIX}_PATH}" ${_${_PYTHON_PREFIX}_HINTS} -- NO_DEFAULT_PATH) -+ ) - endif() - - # retrieve runtime libraries diff --git a/ports/vtk/pythonwrapper.patch b/ports/vtk/pythonwrapper.patch index 6cdd4162aa099c..215c4ac834ec41 100644 --- a/ports/vtk/pythonwrapper.patch +++ b/ports/vtk/pythonwrapper.patch @@ -2,13 +2,25 @@ diff --git a/CMake/vtkModuleWrapPython.cmake b/CMake/vtkModuleWrapPython.cmake index 5d2c2e1bf..e33a16d68 100644 --- a/CMake/vtkModuleWrapPython.cmake +++ b/CMake/vtkModuleWrapPython.cmake -@@ -152,11 +152,14 @@ function (_vtk_module_wrap_python_sources module sources classes) - set(_vtk_python_genex_compile_definitions - "$") - set(_vtk_python_genex_include_directories - "$") -+ set(_vtk_python_genex_interface_include_directories -+ "$") +@@ -152,23 +152,26 @@ function (_vtk_module_wrap_python_sources module sources classes) + set(_vtk_python_genex_compile_definitions "") + set(_vtk_python_genex_include_directories "") + if (_vtk_python_genex_allowed) + set(_vtk_python_genex_compile_definitions + "$") + set(_vtk_python_genex_include_directories + "$") ++ set(_vtk_python_genex_interface_include_directories ++ "$") + else () + if (NOT DEFINED ENV{CI}) + message(AUTHOR_WARNING + "Python wrapping is not using target-local compile definitions or " + "include directories. This may affect generation of the Python " + "wrapper sources for the ${module} module. Use CMake 3.19+ to " + "guarantee intended behavior.") + endif () + endif () file(GENERATE OUTPUT "${_vtk_python_args_file}" CONTENT "$<$:\n-D\'$\'>\n @@ -17,3 +29,4 @@ index 5d2c2e1bf..e33a16d68 100644 $<$:\n--types \'$\'>\n") set(_vtk_python_sources) + diff --git a/ports/vtk/remove-prefix-changes.patch b/ports/vtk/remove-prefix-changes.patch new file mode 100644 index 00000000000000..3645714920c3ca --- /dev/null +++ b/ports/vtk/remove-prefix-changes.patch @@ -0,0 +1,14 @@ +diff --git a/CMake/vtk-config.cmake.in b/CMake/vtk-config.cmake.in +index 9f095ba..8cf7ee2 100644 +--- a/CMake/vtk-config.cmake.in ++++ b/CMake/vtk-config.cmake.in +@@ -114,8 +114,6 @@ include("${CMAKE_CURRENT_LIST_DIR}/vtk-prefix.cmake") + set("${CMAKE_FIND_PACKAGE_NAME}_PREFIX_PATH" + "${_vtk_module_import_prefix}") + unset(_vtk_module_import_prefix) +-list(INSERT CMAKE_PREFIX_PATH 0 +- "${${CMAKE_FIND_PACKAGE_NAME}_PREFIX_PATH}") + + set("${CMAKE_FIND_PACKAGE_NAME}_VERSION" "@VTK_MAJOR_VERSION@.@VTK_MINOR_VERSION@.@VTK_BUILD_VERSION@") + set("${CMAKE_FIND_PACKAGE_NAME}_MAJOR_VERSION" "@VTK_MAJOR_VERSION@") + diff --git a/ports/vtk/usage b/ports/vtk/usage index bba2f639079441..3324011b508ef3 100644 --- a/ports/vtk/usage +++ b/ports/vtk/usage @@ -1,5 +1,4 @@ The package vtk provides CMake targets: find_package(VTK REQUIRED) - include("${VTK_USE_FILE}") target_link_libraries(main PRIVATE ${VTK_LIBRARIES}) diff --git a/ports/vtk/vcpkg.json b/ports/vtk/vcpkg.json index f443603a6618bd..a60514f34176b2 100644 --- a/ports/vtk/vcpkg.json +++ b/ports/vtk/vcpkg.json @@ -1,39 +1,51 @@ { "name": "vtk", - "version-semver": "9.0.3-pv5.9.1", - "port-version": 4, + "version-semver": "9.3.0-pv5.12.1", + "port-version": 5, "description": "Software system for 3D computer graphics, image processing, and visualization", "homepage": "https://github.com/Kitware/VTK", + "license": "BSD-3-Clause", "dependencies": [ "double-conversion", "eigen3", "expat", - "freetype", - "glew", + "exprtk", + "fast-float", + "fmt", { - "name": "hdf5", - "default-features": false + "name": "freetype", + "default-features": false, + "features": [ + "zlib" + ] }, - "jsoncpp", + "glew", { - "name": "libharu", + "name": "hdf5", + "default-features": false, "features": [ - "notiffsymbols" + "zlib" ] }, + "jsoncpp", "libjpeg-turbo", "liblzma", - "libogg", "libpng", - "libtheora", - "libxml2", + { + "name": "libxml2", + "default-features": false, + "features": [ + "zlib" + ] + }, "lz4", - "netcdf-c", - "pegtl-2", - "proj4", + "nlohmann-json", + "pegtl", "pugixml", - "sqlite3", - "tiff", + { + "name": "tiff", + "default-features": false + }, "utfcpp", { "name": "vcpkg-cmake", @@ -43,8 +55,18 @@ "name": "vcpkg-cmake-config", "host": true }, + "verdict", "zlib" ], + "default-features": [ + "cgns", + "libharu", + "libtheora", + "netcdf", + "proj", + "seacas", + "sql" + ], "features": { "all": { "description": "Build all vtk modules", @@ -55,11 +77,18 @@ "name": "vtk", "default-features": false, "features": [ + "cgns", "gdal", "geojson", + "libharu", + "libtheora", "mpi", + "netcdf", + "proj", "python", - "qt" + "qt", + "seacas", + "sql" ] }, { @@ -82,6 +111,15 @@ } ] }, + "cgns": { + "description": "CGNS functionality for VTK", + "dependencies": [ + { + "name": "cgns", + "default-features": false + } + ] + }, "cuda": { "description": "Support CUDA compilation", "dependencies": [ @@ -91,19 +129,39 @@ "gdal": { "description": "Support GDAL compilation", "dependencies": [ - "gdal", { - "name": "vtk", - "default-features": false, - "features": [ - "mpi" - ] + "name": "gdal", + "default-features": false } ] }, "geojson": { "description": "Convert Geo JSON format to vtkPolyData" }, + "ioocct": { + "description": "Build with IOOCCT module", + "dependencies": [ + { + "name": "opencascade", + "default-features": false + } + ] + }, + "libharu": { + "description": "PDF functionality for VTK", + "dependencies": [ + { + "name": "libharu", + "version>=": "2.4.3" + } + ] + }, + "libtheora": { + "description": "Compressed ogg functionality for VTK", + "dependencies": [ + "libtheora" + ] + }, "mpi": { "description": "MPI functionality for VTK", "dependencies": [ @@ -115,6 +173,21 @@ ] }, "mpi", + { + "name": "seacas", + "default-features": false, + "features": [ + "mpi" + ] + }, + { + "name": "vtk", + "default-features": false, + "features": [ + "seacas", + "vtkm" + ] + }, { "name": "vtk-m", "default-features": false, @@ -124,6 +197,18 @@ } ] }, + "netcdf": { + "description": "NetCDF functionality for VTK", + "dependencies": [ + { + "name": "netcdf-c", + "default-features": false, + "features": [ + "hdf5" + ] + } + ] + }, "opengl": { "description": "All opengl related modules", "dependencies": [ @@ -143,6 +228,8 @@ "paraview": { "description": "Build vtk modules required by paraview", "dependencies": [ + "cli11", + "openturns", { "name": "vtk", "default-features": false, @@ -154,12 +241,30 @@ "name": "vtk", "default-features": false, "features": [ - "atlmfc" + "atlmfc", + "libtheora", + "seacas" ], "platform": "windows" } ] }, + "proj": { + "description": "Geographic projection functionality for VTK", + "dependencies": [ + { + "name": "proj", + "default-features": false + }, + { + "name": "vtk", + "default-features": false, + "features": [ + "sql" + ] + } + ] + }, "python": { "description": "Python functionality for VTK", "dependencies": [ @@ -169,13 +274,47 @@ "qt": { "description": "Qt functionality for VTK", "dependencies": [ - "qt5-imageformats", - "qt5-tools", { - "name": "qt5-x11extras", - "platform": "linux" + "name": "qtbase", + "default-features": false, + "features": [ + "gui", + "opengl", + "sql-sqlite", + "widgets" + ] }, - "qt5-xmlpatterns" + "qtdeclarative", + { + "name": "vtk", + "default-features": false, + "features": [ + "sql" + ] + } + ] + }, + "seacas": { + "description": "Exodus and IOSS functionality for VTK", + "dependencies": [ + { + "name": "seacas", + "default-features": false + }, + { + "name": "vtk", + "default-features": false, + "features": [ + "cgns", + "netcdf" + ] + } + ] + }, + "sql": { + "description": "SQL functionality for VTK", + "dependencies": [ + "sqlite3" ] }, "utf8": { diff --git a/ports/vtk/vtkioss.patch b/ports/vtk/vtkioss.patch new file mode 100644 index 00000000000000..57bf0a7cc13a34 --- /dev/null +++ b/ports/vtk/vtkioss.patch @@ -0,0 +1,25 @@ +diff --git a/ThirdParty/ioss/CMakeLists.txt b/ThirdParty/ioss/CMakeLists.txt +index 3066c4bb5..44e1eb1bf 100644 +--- a/ThirdParty/ioss/CMakeLists.txt ++++ b/ThirdParty/ioss/CMakeLists.txt +@@ -5,7 +5,7 @@ vtk_module_third_party( + STANDARD_INCLUDE_DIRS + EXTERNAL + PACKAGE SEACASIoss +- TARGETS Ioss ++ TARGETS Ioss Ionit + USE_VARIABLES SEACASIoss_INCLUDE_DIRS + STANDARD_INCLUDE_DIRS) + +diff --git a/IO/IOSS/vtkIOSSReader.cxx b/IO/IOSS/vtkIOSSReader.cxx +index 04de56cb20..b905e84a3e 100644 +--- a/IO/IOSS/vtkIOSSReader.cxx ++++ b/IO/IOSS/vtkIOSSReader.cxx +@@ -61,6 +61,7 @@ + #include VTK_IOSS(Ioss_SideBlock.h) + #include VTK_IOSS(Ioss_SideSet.h) + #include VTK_IOSS(Ioss_StructuredBlock.h) ++#include VTK_IOSS(Iotr_Factory.h) + // clang-format on + + #include diff --git a/ports/vtk/vtkm.patch b/ports/vtk/vtkm.patch index 72c8ce2bd3495d..c593c97e380624 100644 --- a/ports/vtk/vtkm.patch +++ b/ports/vtk/vtkm.patch @@ -1,95 +1,68 @@ diff --git a/Accelerators/Vtkm/Core/CMakeLists.txt b/Accelerators/Vtkm/Core/CMakeLists.txt -index b889a771f..317d83f75 100644 +index 397dca9f6..bc9c62ac5 100644 --- a/Accelerators/Vtkm/Core/CMakeLists.txt +++ b/Accelerators/Vtkm/Core/CMakeLists.txt -@@ -14,8 +14,9 @@ - ## - ##============================================================================= - --list(INSERT 0 CMAKE_MODULE_PATH +@@ -1,4 +1,3 @@ +-list(INSERT CMAKE_MODULE_PATH 0 - "${VTK_SOURCE_DIR}/ThirdParty/vtkm/vtkvtkm/vtk-m/CMake") +find_package(VTKm CONFIG REQUIRED) -+#list(INSERT 0 CMAKE_MODULE_PATH -+# "${VTK_SOURCE_DIR}/ThirdParty/vtkm/vtkvtkm/vtk-m/CMake") set(private_headers - vtkmlib/DataArrayConverters.hxx -@@ -77,9 +78,9 @@ vtkm_add_target_information(${vtkm_accel_target} - MODIFY_CUDA_FLAGS - DEVICE_SOURCES ${sources}) - +@@ -31,8 +31,5 @@ vtkm_add_target_information(${vtkm_accel_target} + NOWRAP_HEADERS ${nowrap_headers} + NOWRAP_CLASSES ${nowrap_classes} + PRIVATE_HEADERS ${private_headers}) -vtk_module_set_property(VTK::AcceleratorsVTKmCore - PROPERTY JOB_POOL_COMPILE - VALUE vtkm_pool) -+#vtk_module_set_property(VTK::AcceleratorsVTKmCore -+# PROPERTY JOB_POOL_COMPILE -+# VALUE vtkm_pool) - if (TARGET vtkm::cuda) - vtk_module_set_property(VTK::AcceleratorsVTKmCore + _vtk_module_real_target(vtkm_accel_target VTK::AcceleratorsVTKmCore) diff --git a/Accelerators/Vtkm/DataModel/CMakeLists.txt b/Accelerators/Vtkm/DataModel/CMakeLists.txt -index 56307be8d..30fff98e8 100644 +index 9d5dfe100..7fea257b7 100644 --- a/Accelerators/Vtkm/DataModel/CMakeLists.txt +++ b/Accelerators/Vtkm/DataModel/CMakeLists.txt -@@ -14,8 +14,9 @@ - ## - ##============================================================================= +@@ -1,7 +1,6 @@ + set(VTKm_NO_DEPRECATED_VIRTUAL ON) --list(INSERT 0 CMAKE_MODULE_PATH +-list(INSERT CMAKE_MODULE_PATH 0 - "${VTK_SOURCE_DIR}/ThirdParty/vtkm/vtkvtkm/vtk-m/CMake") +find_package(VTKm CONFIG REQUIRED) -+#list(INSERT 0 CMAKE_MODULE_PATH -+# "${VTK_SOURCE_DIR}/ThirdParty/vtkm/vtkvtkm/vtk-m/CMake") set(sources vtkmlib/ArrayConvertersReal.cxx -@@ -85,9 +86,9 @@ vtkm_add_target_information(${vtkm_accel_target} - MODIFY_CUDA_FLAGS - DEVICE_SOURCES ${sources}) - +@@ -40,6 +39,3 @@ vtkm_add_target_information(${vtkm_accel_target} + NOWRAP_CLASSES ${nowrap_classes} + PRIVATE_HEADERS ${private_headers}) -vtk_module_set_property(VTK::AcceleratorsVTKmDataModel - PROPERTY JOB_POOL_COMPILE - VALUE vtkm_pool) -+#vtk_module_set_property(VTK::AcceleratorsVTKmDataModel -+# PROPERTY JOB_POOL_COMPILE -+# VALUE vtkm_pool) - - if (TARGET vtkm::cuda) - vtk_module_set_property(VTK::AcceleratorsVTKmDataModel + _vtk_module_real_target(vtkm_accel_target VTK::AcceleratorsVTKmDataModel) diff --git a/Accelerators/Vtkm/Filters/CMakeLists.txt b/Accelerators/Vtkm/Filters/CMakeLists.txt -index 14e84f1dd..0a931285d 100644 +index 0f51c436d..567b49197 100644 --- a/Accelerators/Vtkm/Filters/CMakeLists.txt +++ b/Accelerators/Vtkm/Filters/CMakeLists.txt -@@ -14,8 +14,9 @@ - ## - ##============================================================================= +@@ -1,7 +1,6 @@ + set(VTKm_NO_DEPRECATED_VIRTUAL ON) --list(INSERT 0 CMAKE_MODULE_PATH +-list(INSERT CMAKE_MODULE_PATH 0 - "${VTK_SOURCE_DIR}/ThirdParty/vtkm/vtkvtkm/vtk-m/CMake") +find_package(VTKm CONFIG REQUIRED) -+#list(INSERT 0 CMAKE_MODULE_PATH -+# "${VTK_SOURCE_DIR}/ThirdParty/vtkm/vtkvtkm/vtk-m/CMake") - set(impl_classes + set(classes vtkmAverageToCells -@@ -80,9 +81,9 @@ vtkm_add_target_information(${vtkm_accel_target} - MODIFY_CUDA_FLAGS - DEVICE_SOURCES ${sources}) - +@@ -91,7 +90,4 @@ vtkm_add_target_information(${vtkm_accel_target} + HEADERS ${headers} + CLASSES ${classes}) -vtk_module_set_property(VTK::AcceleratorsVTKmFilters - PROPERTY JOB_POOL_COMPILE - VALUE vtkm_pool) -+#vtk_module_set_property(VTK::AcceleratorsVTKmFilters -+# PROPERTY JOB_POOL_COMPILE -+# VALUE vtkm_pool) vtk_module_link(VTK::AcceleratorsVTKmFilters PRIVATE - vtkm_worklet diff --git a/CMake/vtk-config.cmake.in b/CMake/vtk-config.cmake.in -index 5a5e8b8df..96413875f 100644 +index a8c40085a..764298f0e 100644 --- a/CMake/vtk-config.cmake.in +++ b/CMake/vtk-config.cmake.in -@@ -121,9 +121,7 @@ set("${CMAKE_FIND_PACKAGE_NAME}_AVAILABLE_COMPONENTS" "@vtk_all_components@") +@@ -126,9 +126,7 @@ set("${CMAKE_FIND_PACKAGE_NAME}_AVAILABLE_COMPONENTS" "@vtk_all_components@") unset("${CMAKE_FIND_PACKAGE_NAME}_FOUND") set("${CMAKE_FIND_PACKAGE_NAME}_HAS_VTKm" "@vtk_has_vtkm@") if (${CMAKE_FIND_PACKAGE_NAME}_HAS_VTKm) @@ -101,32 +74,34 @@ index 5a5e8b8df..96413875f 100644 set("${CMAKE_FIND_PACKAGE_NAME}_FOUND" 0) endif () diff --git a/ThirdParty/vtkm/CMakeLists.txt b/ThirdParty/vtkm/CMakeLists.txt -index 5817d42f8..f21d17da8 100644 +index 8cfbf92b0..ad78cc8f5 100644 --- a/ThirdParty/vtkm/CMakeLists.txt +++ b/ThirdParty/vtkm/CMakeLists.txt -@@ -1,6 +1,41 @@ +@@ -1,15 +1,34 @@ -vtk_module_third_party_internal( -- LICENSE_FILES "vtkvtkm/vtk-m/LICENSE.txt" -- VERSION "master" -- SUBDIRECTORY vtkvtkm +- LICENSE_FILES +- "vtkvtkm/vtk-m/LICENSE.txt" +- SPDX_LICENSE_IDENTIFIER +- "BSD-3-Clause" +- SPDX_COPYRIGHT_TEXT +- "Copyright (c) 2014-2023 Kitware Inc., National Technology & Engineering Solutions of Sandia, LLC (NTESS)," +- "UT-Battelle, LLC., Los Alamos National Security, LLC." +- SPDX_DOWNLOAD_LOCATION +- "git+https://gitlab.kitware.com/vtk/vtk-m.git@2.0.0@v2.0.0" +- VERSION +- "2.0.0" +- SUBDIRECTORY vtkvtkm - STANDARD_INCLUDE_DIRS - INTERFACE) -+#vtk_module_third_party_internal( -+# LICENSE_FILES "vtkvtkm/vtk-m/LICENSE.txt" -+# VERSION "master" -+# SUBDIRECTORY vtkvtkm -+# STANDARD_INCLUDE_DIRS -+# INTERFACE) -+ +message(STATUS "VTK_MODULE_USE_EXTERNAL_VTK_vtkm: ${VTK_MODULE_USE_EXTERNAL_VTK_vtkm}") +if(TRUE) + message(STATUS "Searching for external VTKm") + find_package(VTKm CONFIG REQUIRED) -+ if(TARGET vtkm_compiler_flags) -+ get_target_property(VTKm_INCLUDE_DIRS vtkm_compiler_flags INTERFACE_INCLUDE_DIRECTORIES) ++ if(TARGET vtkm::compiler_flags) ++ get_target_property(VTKm_INCLUDE_DIRS vtkm::compiler_flags INTERFACE_INCLUDE_DIRECTORIES) + message(STATUS "INCLUDE: ${VTKm_INCLUDE_DIRS}") -+ get_target_property(VTKm_DIY_INCLUDE_DIRS vtkm_diy INTERFACE_INCLUDE_DIRECTORIES) -+ get_target_property(VTKm_OPTION_INCLUDE_DIRS vtkm_optionparser INTERFACE_INCLUDE_DIRECTORIES) ++ get_target_property(VTKm_DIY_INCLUDE_DIRS vtkm::vtkmdiy INTERFACE_INCLUDE_DIRECTORIES) ++ get_target_property(VTKm_OPTION_INCLUDE_DIRS vtkm::optionparser INTERFACE_INCLUDE_DIRECTORIES) + if(MSVC) + set(VTKm_DEFINITIONS /bigobj) + endif() @@ -148,11 +123,10 @@ index 5817d42f8..f21d17da8 100644 + INTERFACE + EXTERNAL + PACKAGE VTKm -+ TARGETS vtkm_cont vtkm_filter vtkm_diy vtkm_optionparser vtkm_taotuple ++ TARGETS vtkm::cont vtkm::filter vtkm::vtkmdiy vtkm::optionparser + #LIBRARIES vtkm_cont vtkm_filter vtkm_diy vtkm_optionparser vtkm_taotuple + INCLUDE_DIRS VTKm_INCLUDE_DIRS VTKm_DIY_INCLUDE_DIRS VTKm_OPTION_INCLUDE_DIRS +) -\ No newline at end of file diff --git a/ThirdParty/vtkm/vtk.module b/ThirdParty/vtkm/vtk.module index a8e4dad0f..c7bbbf0e8 100644 --- a/ThirdParty/vtkm/vtk.module @@ -166,3 +140,18 @@ index a8e4dad0f..c7bbbf0e8 100644 +LIBRARY_NAME + VTKm THIRD_PARTY +diff --git a/Accelerators/Vtkm/Filters/CMakeLists.txt b/Accelerators/Vtkm/Filters/CMakeLists.txt +index 7c1b10410c..610bf831fb 100644 +--- a/Accelerators/Vtkm/Filters/CMakeLists.txt ++++ b/Accelerators/Vtkm/Filters/CMakeLists.txt +@@ -91,8 +91,8 @@ vtk_module_add_module(VTK::AcceleratorsVTKmFilters + CLASSES ${classes}) + vtk_module_link(VTK::AcceleratorsVTKmFilters + PRIVATE +- vtkm_worklet +- vtkm_filter) ++ vtkm::worklet ++ vtkm::filter) + vtk_module_definitions(VTK::AcceleratorsVTKmFilters + PUBLIC "VTK_ENABLE_VTKM_OVERRIDES=$") + diff --git a/ports/vulkan-extensionlayer/portfile.cmake b/ports/vulkan-extensionlayer/portfile.cmake new file mode 100644 index 00000000000000..de889b77a92f29 --- /dev/null +++ b/ports/vulkan-extensionlayer/portfile.cmake @@ -0,0 +1,28 @@ +set(VCPKG_POLICY_DLLS_WITHOUT_LIBS enabled) +set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) + +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO KhronosGroup/Vulkan-ExtensionLayer + REF "vulkan-sdk-${VERSION}" + SHA512 6d2722179f59558b49198acf6f0543e174ce207b7f2bf1ba4c16841da78c1f7690e706145b100232a2b226da9ad2faa5cf6565e6430aff5cd669df2de47dc7cb + HEAD_REF main +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_TESTS:BOOL=OFF +) +vcpkg_cmake_install() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +if(VCPKG_TARGET_IS_ANDROID) + set(VCPKG_POLICY_SKIP_USAGE_INSTALL_CHECK enabled) +else() + file(INSTALL "${CURRENT_PORT_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +endif() +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/vulkan-extensionlayer/usage b/ports/vulkan-extensionlayer/usage new file mode 100644 index 00000000000000..b195c892fedefa --- /dev/null +++ b/ports/vulkan-extensionlayer/usage @@ -0,0 +1,5 @@ +vulkan-extensionlayer provides a JSON manifest directory +which can be added to the environment variable VK_ADD_LAYER_PATH: + + Windows: /bin + Other: /share/vulkan/explicit_layers.d diff --git a/ports/vulkan-extensionlayer/vcpkg.json b/ports/vulkan-extensionlayer/vcpkg.json new file mode 100644 index 00000000000000..8d5a62b64640a8 --- /dev/null +++ b/ports/vulkan-extensionlayer/vcpkg.json @@ -0,0 +1,19 @@ +{ + "name": "vulkan-extensionlayer", + "version": "1.3.296.0", + "description": "Layer providing Vulkan features when native support is unavailable", + "homepage": "https://github.com/KhronosGroup/Vulkan-ExtensionLayer", + "license": "Apache-2.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "vulkan-headers", + "vulkan-utility-libraries" + ] +} diff --git a/ports/vulkan-headers/portfile.cmake b/ports/vulkan-headers/portfile.cmake index c6f59423e9eb7f..a2ba84aed4ba59 100644 --- a/ports/vulkan-headers/portfile.cmake +++ b/ports/vulkan-headers/portfile.cmake @@ -1,15 +1,19 @@ -# header-only library vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KhronosGroup/Vulkan-Headers - REF v1.2.184 - SHA512 95ee241ca82ba4373dc53aefec36839b6a08478434742bd8de6750d875a7a5fcb2225afae5f6f400a7b302af87da7e226b725be5435236694e816e141a3b24ef - HEAD_REF master + REF "vulkan-sdk-${VERSION}" + SHA512 475cd0c3249c7998e5e85390651a6652e229d65e42adf3b4d18f9f7509037d217e87de01632c9b4142d26ab295cd2272c2e88f897a5420d693a82ff7e4003157 + HEAD_REF main ) -# This must be vulkan as other vulkan packages expect it there. -file(COPY "${SOURCE_PATH}/include/vulkan/" DESTINATION "${CURRENT_PACKAGES_DIR}/include/vulkan") -file(COPY "${SOURCE_PATH}/include/vk_video/" DESTINATION "${CURRENT_PACKAGES_DIR}/include/vk_video") +set(VCPKG_BUILD_TYPE release) # header-only port -# Handle copyright -file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DVULKAN_HEADERS_ENABLE_MODULE=OFF + -DVULKAN_HEADERS_ENABLE_TESTS=OFF +) +vcpkg_cmake_install() + +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/vulkan-headers/usage b/ports/vulkan-headers/usage new file mode 100644 index 00000000000000..5b461a6d41572e --- /dev/null +++ b/ports/vulkan-headers/usage @@ -0,0 +1,4 @@ +Vulkan-Headers provides official find_package support: + + find_package(VulkanHeaders CONFIG) + target_link_libraries(main PRIVATE Vulkan::Headers) diff --git a/ports/vulkan-headers/vcpkg.json b/ports/vulkan-headers/vcpkg.json index 8059e77b7d4e02..00c0cdb447ce5e 100644 --- a/ports/vulkan-headers/vcpkg.json +++ b/ports/vulkan-headers/vcpkg.json @@ -1,6 +1,18 @@ { "name": "vulkan-headers", - "version-semver": "1.2.184", + "version": "1.3.296.0", "description": "Vulkan header files and API registry", - "homepage": "https://github.com/KhronosGroup/Vulkan-Headers" + "homepage": "https://github.com/KhronosGroup/Vulkan-Headers", + "license": "Apache-2.0 OR MIT", + "supports": "!uwp & !xbox", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/vulkan-hpp/portfile.cmake b/ports/vulkan-hpp/portfile.cmake index 9e790f5f4be7ee..489a7956549453 100644 --- a/ports/vulkan-hpp/portfile.cmake +++ b/ports/vulkan-hpp/portfile.cmake @@ -1,14 +1,2 @@ -# header-only library - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO KhronosGroup/Vulkan-Hpp - REF v1.2.184 - SHA512 564bb5fd3b89fc8078e3c4d99c719f4d62166d78891bc529d6d07add1843137ec8f62a92dbdcfa9ffa8a9677fba41da1b591a033c61b27c43c70c25be32c3205 - HEAD_REF master -) - -file(COPY ${SOURCE_PATH}/vulkan/vulkan.hpp DESTINATION ${CURRENT_PACKAGES_DIR}/include/vulkan) - -# Handle copyright -configure_file(${SOURCE_PATH}/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/vulkan-hpp/usage b/ports/vulkan-hpp/usage new file mode 100644 index 00000000000000..b5a5e307141fe3 --- /dev/null +++ b/ports/vulkan-hpp/usage @@ -0,0 +1,5 @@ +vulkan-hpp is deprecated. Please use port vulkan-headers instead. +vulkan-hpp can be used with CMake: + + find_package(VulkanHeaders CONFIG) + target_link_libraries(main PRIVATE Vulkan::Headers) diff --git a/ports/vulkan-hpp/vcpkg.json b/ports/vulkan-hpp/vcpkg.json index b0e141774dc1cb..1a159af9a191e5 100644 --- a/ports/vulkan-hpp/vcpkg.json +++ b/ports/vulkan-hpp/vcpkg.json @@ -1,9 +1,10 @@ { "name": "vulkan-hpp", - "version-string": "1.2.184", - "port-version": 1, - "description": "Header only C++ bindings for the Vulkan C API", + "version-string": "deprecated", + "description": "[deprecated] Header only C++ bindings for the Vulkan C API", + "license": null, + "supports": "!uwp & !xbox", "dependencies": [ - "vulkan" + "vulkan-headers" ] } diff --git a/ports/vulkan-loader/portfile.cmake b/ports/vulkan-loader/portfile.cmake new file mode 100644 index 00000000000000..133f691d6fb85e --- /dev/null +++ b/ports/vulkan-loader/portfile.cmake @@ -0,0 +1,42 @@ +set(VCPKG_LIBRARY_LINKAGE dynamic) + +vcpkg_download_distfile(ARM_COMMENT_SYNTAX_FIX + URLS https://github.com/KhronosGroup/Vulkan-Loader/commit/ce3a4db90513c2dd10fbe56a21207945fbc9339f.patch?full_index=1 + SHA512 e08d0be965f2430a5353a30339e1c29e5074d5b751f7894bdfec8c2031916b0e4d39fff1dad0e5ec94e4f2f296fac230dbfcb9a04af4b2d1ad51dffe270d232a + FILENAME vulkan-loader-arm-comment-syntax-ce3a4db90513c2dd10fbe56a21207945fbc9339f.patch +) + +vcpkg_download_distfile(NINJA_CLANG_CL_WORKAROUND + URLS https://github.com/KhronosGroup/Vulkan-Loader/commit/4b043de5655d41cee12ef73d986cb7f7a7dbc239.patch?full_index=1 + SHA512 327ce23dc1a4e68ef31a02e9847c7aa740f0a81cd62d3fecf5e7efd84149909f2377e031064346ecb6aa2c5ec094413627a3f4b34c674d8713fc1ca01f88fc22 + FILENAME vulkan-loader-clang-cl-workaround-4b043de5655d41cee12ef73d986cb7f7a7dbc239.patch +) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO KhronosGroup/Vulkan-Loader + REF "vulkan-sdk-${VERSION}" + SHA512 535b7f324348e9edf44ff6a6a6e9eabe6e3a4bfad79bef789d1dc0cbbe3de36b6495a05236323d155631b081b89c18bb8668c79d1f735b59fc85ebee555aa682 + HEAD_REF main + PATCHES + "${ARM_COMMENT_SYNTAX_FIX}" + "${NINJA_CLANG_CL_WORKAROUND}" +) + +vcpkg_find_acquire_program(PYTHON3) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_TESTS:BOOL=OFF + -DPython3_EXECUTABLE=${PYTHON3} +) +vcpkg_cmake_install() +vcpkg_fixup_pkgconfig() +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/VulkanLoader" PACKAGE_NAME VulkanLoader) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") + +set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) + +configure_file("${CMAKE_CURRENT_LIST_DIR}/usage" "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" @ONLY) diff --git a/ports/vulkan-loader/usage b/ports/vulkan-loader/usage new file mode 100644 index 00000000000000..a260c301a765c5 --- /dev/null +++ b/ports/vulkan-loader/usage @@ -0,0 +1,2 @@ +The package @PORT@ provides the vulkan loader. +Please be aware of https://github.com/KhronosGroup/Vulkan-Loader/blob/main/docs/LoaderApplicationInterface.md#bundling-the-loader-with-an-application diff --git a/ports/vulkan-loader/vcpkg.json b/ports/vulkan-loader/vcpkg.json new file mode 100644 index 00000000000000..e59e5099bc405c --- /dev/null +++ b/ports/vulkan-loader/vcpkg.json @@ -0,0 +1,19 @@ +{ + "name": "vulkan-loader", + "version": "1.3.296.0", + "description": "Vulkan Development Tools", + "homepage": "https://github.com/KhronosGroup/Vulkan-Loader", + "license": null, + "supports": "!android", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "vulkan-headers" + ] +} diff --git a/ports/vulkan-memory-allocator-hpp/portfile.cmake b/ports/vulkan-memory-allocator-hpp/portfile.cmake new file mode 100644 index 00000000000000..225fe4ad3fdbc7 --- /dev/null +++ b/ports/vulkan-memory-allocator-hpp/portfile.cmake @@ -0,0 +1,12 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO YaaZ/VulkanMemoryAllocator-Hpp + REF "v${VERSION}" + SHA512 95f5a8930431c18683d7e768ce1363b4edcb2fa7ca527054c77dbc8b34355308f621eed8cd018a574a928ac93e8689d4a8991802e3d601f5c0d1204a9155aee6 + HEAD_REF master +) + +file(COPY "${SOURCE_PATH}/include/" DESTINATION "${CURRENT_PACKAGES_DIR}/include/${PORT}") +file(COPY "${CMAKE_CURRENT_LIST_DIR}/unofficial-vulkan-memory-allocator-hpp-config.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/unofficial-${PORT}") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/vulkan-memory-allocator-hpp/unofficial-vulkan-memory-allocator-hpp-config.cmake b/ports/vulkan-memory-allocator-hpp/unofficial-vulkan-memory-allocator-hpp-config.cmake new file mode 100644 index 00000000000000..d4c0207f5ff4e8 --- /dev/null +++ b/ports/vulkan-memory-allocator-hpp/unofficial-vulkan-memory-allocator-hpp-config.cmake @@ -0,0 +1,7 @@ +add_library(unofficial::VulkanMemoryAllocator-Hpp::VulkanMemoryAllocator-Hpp INTERFACE IMPORTED) + +set_target_properties( + unofficial::VulkanMemoryAllocator-Hpp::VulkanMemoryAllocator-Hpp + PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_CURRENT_LIST_DIR}/../../include" +) diff --git a/ports/vulkan-memory-allocator-hpp/vcpkg.json b/ports/vulkan-memory-allocator-hpp/vcpkg.json new file mode 100644 index 00000000000000..4a55e2ccae6355 --- /dev/null +++ b/ports/vulkan-memory-allocator-hpp/vcpkg.json @@ -0,0 +1,12 @@ +{ + "name": "vulkan-memory-allocator-hpp", + "version": "3.1.0", + "description": "C++ bindings for VulkanMemoryAllocator (Development branch)", + "homepage": "https://github.com/YaaZ/VulkanMemoryAllocator-Hpp", + "license": "CC0-1.0", + "supports": "!uwp & !xbox", + "dependencies": [ + "vulkan", + "vulkan-memory-allocator" + ] +} diff --git a/ports/vulkan-memory-allocator/portfile.cmake b/ports/vulkan-memory-allocator/portfile.cmake index c0b27259ace19c..186ad7eca75404 100644 --- a/ports/vulkan-memory-allocator/portfile.cmake +++ b/ports/vulkan-memory-allocator/portfile.cmake @@ -1,13 +1,24 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator - REF 55868965ae1fa956c07695d4642e1add8c9450f7 - SHA512 433d8a961a1fa4c80894f014fdfbbcafeb94932a3eea2eced9c7109dcbf7350a60efb9fb1d8f3c621f2d72c118f47f82f8e9e6f4db75038fbad3a727b5896479 + REF "v${VERSION}" + SHA512 34534807bb76e6d2ab178b1613811ff654bcf9f9050b8ba9744d1012d39e65ce89b5f117ac7598a1efc458149b3544b1a6ad356ab6d850600aa198f519cba315 HEAD_REF master ) -file(COPY "${SOURCE_PATH}/include/vk_mem_alloc.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include") +set(opts "") +if(VCPKG_TARGET_IS_WINDOWS) + set(opts "-DCMAKE_INSTALL_INCLUDEDIR=include/vma") # Vulkan SDK layout! +endif() -file(COPY ${CMAKE_CURRENT_LIST_DIR}/unofficial-vulkan-memory-allocator-config.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/unofficial-vulkan-memory-allocator) +set(VCPKG_BUILD_TYPE release) # header-only port +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${opts} -configure_file(${SOURCE_PATH}/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/vulkan-memory-allocator/copyright COPYONLY) +) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME VulkanMemoryAllocator CONFIG_PATH "share/cmake/VulkanMemoryAllocator") + +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/vulkan-memory-allocator/unofficial-vulkan-memory-allocator-config.cmake b/ports/vulkan-memory-allocator/unofficial-vulkan-memory-allocator-config.cmake deleted file mode 100644 index fc9f62550f8c05..00000000000000 --- a/ports/vulkan-memory-allocator/unofficial-vulkan-memory-allocator-config.cmake +++ /dev/null @@ -1,8 +0,0 @@ - -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::vulkan-memory-allocator::vulkan-memory-allocator INTERFACE IMPORTED) -set_target_properties(unofficial::vulkan-memory-allocator::vulkan-memory-allocator PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include") -set(_IMPORT_PREFIX) diff --git a/ports/vulkan-memory-allocator/usage b/ports/vulkan-memory-allocator/usage new file mode 100644 index 00000000000000..ac6bca63418768 --- /dev/null +++ b/ports/vulkan-memory-allocator/usage @@ -0,0 +1,19 @@ +VulkanMemoryAllocator provides official find_package support. However, it requires the user to provide the include directory containing `vulkan/vulkan.h`. There are multiple ways to achieve this and VulkanMemoryAllocator is compatible with all of them. + + find_package(Vulkan) # https://cmake.org/cmake/help/latest/module/FindVulkan.html, CMake 3.21+ + find_package(VulkanMemoryAllocator CONFIG REQUIRED) + target_link_libraries(main PRIVATE Vulkan::Vulkan GPUOpen::VulkanMemoryAllocator) + +or + + find_package(Vulkan) # CMake 3.21+ + find_package(VulkanMemoryAllocator CONFIG REQUIRED) + target_link_libraries(main PRIVATE Vulkan::Headers GPUOpen::VulkanMemoryAllocator) + +or + + find_package(VulkanHeaders CONFIG) # From the vulkan-headers port + find_package(VulkanMemoryAllocator CONFIG REQUIRED) + target_link_libraries(main PRIVATE Vulkan::Headers GPUOpen::VulkanMemoryAllocator) + +See the documentation for more information on setting up your project: https://gpuopen-librariesandsdks.github.io/VulkanMemoryAllocator/html/index.html diff --git a/ports/vulkan-memory-allocator/vcpkg.json b/ports/vulkan-memory-allocator/vcpkg.json index fe8efacdc1818c..13d8553f5bc84c 100644 --- a/ports/vulkan-memory-allocator/vcpkg.json +++ b/ports/vulkan-memory-allocator/vcpkg.json @@ -1,6 +1,18 @@ { "name": "vulkan-memory-allocator", - "version-string": "2021-07-07", - "port-version": 1, - "description": "Easy to integrate Vulkan memory allocation library from GPUOpen" + "version": "3.1.0", + "description": "Easy to integrate Vulkan memory allocation library from GPUOpen", + "homepage": "https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator", + "license": "MIT", + "supports": "!uwp & !xbox", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/vulkan/LICENSE.txt b/ports/vulkan-sdk-components/LICENSE.txt similarity index 100% rename from ports/vulkan/LICENSE.txt rename to ports/vulkan-sdk-components/LICENSE.txt diff --git a/ports/vulkan-sdk-components/get-vulkan-sdk-components-info.ps1 b/ports/vulkan-sdk-components/get-vulkan-sdk-components-info.ps1 new file mode 100644 index 00000000000000..dd341713f88241 --- /dev/null +++ b/ports/vulkan-sdk-components/get-vulkan-sdk-components-info.ps1 @@ -0,0 +1,69 @@ + +function Get-GlslangVersion { + param( + [string]$SdkVersion, + [string]$TempWorkDir + ) + + [string]$_GitDir = Join-Path $TempWorkDir "glslang" + [string]$_GitUrl = 'https://github.com/KhronosGroup/glslang.git' + [string]$_GitTag = 'vulkan-sdk-' + $SdkVersion + + # The port glslang releases two version for a revision commit, + # like fa9c3de released with 14.3.0 and vulkan-sdk-1.3.290.0. + # The version of glslang is the one which is not the SDK version. + # `--branch` to set cloned HEAD to the commit which should be referenced by 2 tags + # `--depth=1` to avoid fetching history + # `--filter=tree:0` and `--no-checkout` to avoid fetching files + & git clone $_GitUrl $_GitDir ` + "--branch=$_GitTag" ` + "--depth=1" ` + "--filter=tree:0" "--no-checkout" "-q" + # Get the tag list + $_VersionCandidates = & git -C $_GitDir tag -l + Remove-Item -Recurse -Force -Path $_GitDir + + # Check the tag list + if ($null -eq $_VersionCandidates) { throw 'No VersionCandidates detected.' } + if (2 -ne $_VersionCandidates.Length) { throw 'VersionCandidates must 2.' } + if ($_GitTag -notin $_VersionCandidates) { throw 'VersionCandidates must contain SDK.' } + [string]$_GlslangVersion = $_VersionCandidates | Where-Object { $_ -notmatch $_GitTag } + if ([version]$_GlslangVersion -lt [version]'0.0.0') { throw 'Failed to determine version' } + + return $_GlslangVersion +} + +function Get-VulkanSdkComponentsInfo { + param( + [string]$ScriptDir, + [string]$TempWorkDir + ) + + $ErrorActionPreference = [System.Management.Automation.ActionPreference]::Stop + + if ($PSVersionTable.PSVersion.Major -lt 7) { + Write-Error 'This script requires PowerShell 7 or later.' + } + + if ('vulkan-sdk-components' -ne (Split-Path -Leaf $ScriptDir)) { + throw 'This script must be run from `vulkan-sdk-components` directory.' + } + + [string]$VulkanPortDir = $ScriptDir + + [string]$SdkVersion = Join-Path -Resolve $VulkanPortDir 'vcpkg.json' + | Get-ChildItem | Get-Content -Raw | ConvertFrom-Json -Depth 5 + | Select-Object -ExpandProperty version + + return @{ + 'glslang' = Get-GlslangVersion -SdkVersion:$SdkVersion -TempWorkDir:$TempWorkDir + } + +} + +$Param = @{ + ScriptDir = $PSScriptRoot + TempWorkDir = (New-Item -ItemType Directory Temp:/$(New-Guid)).FullName +} + +Get-VulkanSdkComponentsInfo @Param | Format-Table diff --git a/ports/vulkan-sdk-components/portfile.cmake b/ports/vulkan-sdk-components/portfile.cmake new file mode 100644 index 00000000000000..2387f8a4011c09 --- /dev/null +++ b/ports/vulkan-sdk-components/portfile.cmake @@ -0,0 +1,29 @@ +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) + +set(components COMPONENTS "") +if("${CMAKE_VERSION}" VERSION_GREATER_EQUAL "3.29.0") + list(APPEND components glslang) +endif() +if(VCPKG_TARGET_IS_WINDOWS) + list(APPEND components dxc) +endif() + +set(vulkan_result_file "${CURRENT_BUILDTREES_DIR}/vulkan-${TARGET_TRIPLET}.cmake.log") +vcpkg_cmake_configure( + SOURCE_PATH "${CURRENT_INSTALLED_DIR}/share/vulkan/detect-vulkan" + OPTIONS + "-DVCPKG_VULKAN_VERSION=${VERSION}" + "-DVCPKG_VULKAN_COMPONENTS=${components}" + OPTIONS_RELEASE + "-DOUTFILE=${vulkan_result_file}" +) + +include("${vulkan_result_file}") +if(NOT DETECTED_Vulkan_FOUND) + message(FATAL_ERROR "The Vulkan SDK wasn't found.") +endif() + +find_file(vulkan_license NAMES LICENSE.txt PATHS ${DETECTED_Vulkan_INCLUDE_DIRS} "${CURRENT_PORT_DIR}" PATH_SUFFIXES "..") +vcpkg_install_copyright(FILE_LIST "${vulkan_license}") + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/vulkan-sdk-components/usage b/ports/vulkan-sdk-components/usage new file mode 100644 index 00000000000000..436a83136fac9d --- /dev/null +++ b/ports/vulkan-sdk-components/usage @@ -0,0 +1,12 @@ +vulkan-sdk-components is compatible with built-in CMake targets: + + # https://cmake.org/cmake/help/latest/module/FindVulkan.html + find_package(Vulkan REQUIRED) + # SPIR-V generator library + target_link_libraries(main PRIVATE Vulkan::glslang) + # DirectX Shader Compiler + target_link_libraries(main PRIVATE Vulkan::dxc) + +The vulkan-sdk-components package does not provide direct Visual Studio +integration. For manual integration, add $(VULKAN_SDK)/include to your +include path. diff --git a/ports/vulkan-sdk-components/vcpkg.json b/ports/vulkan-sdk-components/vcpkg.json new file mode 100644 index 00000000000000..508c55ab6e7cfc --- /dev/null +++ b/ports/vulkan-sdk-components/vcpkg.json @@ -0,0 +1,47 @@ +{ + "$comment": "Dependencies extracted from e.g. https://sdk.lunarg.com/sdk/download/1.3.290.0/windows/config.json", + "name": "vulkan-sdk-components", + "version": "1.3.296.0", + "description": "Installs packages which are part of the Vulkan SDK.", + "license": null, + "supports": "!uwp & !xbox", + "dependencies": [ + { + "name": "directx-dxc", + "platform": "windows" + }, + "glm", + "glslang", + "jsoncpp", + { + "name": "mimalloc", + "platform": "windows" + }, + "robin-hood-hashing", + "sdl2", + "shaderc", + "spirv-cross", + "spirv-headers", + "valijson", + { + "name": "vcpkg-cmake", + "host": true + }, + "volk", + "vulkan", + "vulkan-memory-allocator", + "vulkan-utility-libraries", + "vulkan-validationlayers" + ], + "features": { + "tools": { + "description": "Build Vulkan related tools", + "dependencies": [ + "lunarg-vulkantools", + "spirv-reflect", + "spirv-tools", + "vulkan-tools" + ] + } + } +} diff --git a/ports/vulkan-tools/fix-parallel-config.patch b/ports/vulkan-tools/fix-parallel-config.patch new file mode 100644 index 00000000000000..2b83e6fce97ab2 --- /dev/null +++ b/ports/vulkan-tools/fix-parallel-config.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d770ca57..00c49887 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -144,7 +144,7 @@ if(BUILD_ICD) + add_subdirectory(icd) + endif() + +-add_subdirectory(windows-runtime-installer) ++#add_subdirectory(windows-runtime-installer) + + if(BUILD_TESTS) + enable_testing() diff --git a/ports/vulkan-tools/portfile.cmake b/ports/vulkan-tools/portfile.cmake new file mode 100644 index 00000000000000..5632018c05497e --- /dev/null +++ b/ports/vulkan-tools/portfile.cmake @@ -0,0 +1,34 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO KhronosGroup/Vulkan-Tools + REF "vulkan-sdk-${VERSION}" + SHA512 66bc89272f150198cd52f2971ad67a2fd6c922ac4bafb420c0d54788ca6bab2246e8a153a09eccce15a87e1fe16fdeef16af1c6b6b13386bff79dd73858f3cae + HEAD_REF main + PATCHES + fix-parallel-config.patch +) + +if(NOT VCPKG_TARGET_IS_ANDROID) + set(VCPKG_BUILD_TYPE release) # only builds tools +endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_TESTS:BOOL=OFF +) +vcpkg_cmake_install() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") + +set(tools vulkaninfo) +if(NOT VCPKG_TARGET_IS_ANDROID) + list(APPEND tools vkcube vkcubepp) +endif() +vcpkg_copy_tools(TOOL_NAMES ${tools} AUTO_CLEAN) + +set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) + +if(NOT VCPKG_TARGET_IS_ANDROID) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") +endif() diff --git a/ports/vulkan-tools/vcpkg.json b/ports/vulkan-tools/vcpkg.json new file mode 100644 index 00000000000000..3633cbb686cda2 --- /dev/null +++ b/ports/vulkan-tools/vcpkg.json @@ -0,0 +1,20 @@ +{ + "name": "vulkan-tools", + "version": "1.3.296.0", + "description": "Vulkan Development Tools", + "homepage": "https://github.com/KhronosGroup/Vulkan-Tools", + "license": "Apache-2.0", + "supports": "!osx", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "volk", + "vulkan-headers" + ] +} diff --git a/ports/vulkan-utility-libraries/portfile.cmake b/ports/vulkan-utility-libraries/portfile.cmake new file mode 100644 index 00000000000000..8280b5aac5a25b --- /dev/null +++ b/ports/vulkan-utility-libraries/portfile.cmake @@ -0,0 +1,24 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO KhronosGroup/Vulkan-Utility-Libraries + REF "vulkan-sdk-${VERSION}" + SHA512 03466c78fbd43461990014a02deb06d2c4668c6230f336d3d9710e93aefa56d0ffadf959892c6d85c409088705e8ecf5fdd0a037b99af767b832f17fe4a44454 + HEAD_REF main +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBUILD_TESTS:BOOL=OFF +) +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/VulkanUtilityLibraries PACKAGE_NAME VulkanUtilityLibraries) +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/VulkanUtilityLibraries/VulkanUtilityLibrariesConfig.cmake" + [[${PACKAGE_PREFIX_DIR}/lib/cmake/VulkanUtilityLibraries/VulkanUtilityLibraries-targets.cmake]] + [[${CMAKE_CURRENT_LIST_DIR}/VulkanUtilityLibraries-targets.cmake]] +) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.md") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/vulkan-utility-libraries/vcpkg.json b/ports/vulkan-utility-libraries/vcpkg.json new file mode 100644 index 00000000000000..58a20aa8a8faed --- /dev/null +++ b/ports/vulkan-utility-libraries/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "vulkan-utility-libraries", + "version": "1.3.296.0", + "description": "Utility libraries for Vulkan developers", + "homepage": "https://github.com/KhronosGroup/Vulkan-Utility-Libraries", + "license": null, + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "vulkan-headers" + ] +} diff --git a/ports/vulkan-validationlayers/portfile.cmake b/ports/vulkan-validationlayers/portfile.cmake new file mode 100644 index 00000000000000..0f9a7a673b99a2 --- /dev/null +++ b/ports/vulkan-validationlayers/portfile.cmake @@ -0,0 +1,33 @@ +set(VCPKG_LIBRARY_LINKAGE dynamic) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO KhronosGroup/Vulkan-ValidationLayers + REF "vulkan-sdk-${VERSION}" + SHA512 457edee35a347456391c9b36bdf5d457f05210b6a8889d0623498582d3385bed474fbd7dae66406d20f70d96238ca752414eaa844b86b431ec7f8cf721d46d08 + HEAD_REF main +) + +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 + -DBUILD_TESTS:BOOL=OFF +) +vcpkg_cmake_install() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") + +set(VCPKG_POLICY_DLLS_WITHOUT_LIBS enabled) +set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +set(layer_path "/bin") +if(NOT VCPKG_TARGET_IS_WINDOWS) + set(layer_path "/share/vulkan/explicit_layer.d") +endif() +configure_file("${CMAKE_CURRENT_LIST_DIR}/usage" "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" @ONLY) diff --git a/ports/vulkan-validationlayers/usage b/ports/vulkan-validationlayers/usage new file mode 100644 index 00000000000000..d74b33490f5ff9 --- /dev/null +++ b/ports/vulkan-validationlayers/usage @@ -0,0 +1,2 @@ +The package @PORT@ provides the vulkan validationlayers. +To make vulkan use them you have to manually add the vcpkg path "@layer_path@" to the environment variable VK_ADD_LAYER_PATH. \ No newline at end of file diff --git a/ports/vulkan-validationlayers/vcpkg.json b/ports/vulkan-validationlayers/vcpkg.json new file mode 100644 index 00000000000000..a3b7e77124f26d --- /dev/null +++ b/ports/vulkan-validationlayers/vcpkg.json @@ -0,0 +1,25 @@ +{ + "name": "vulkan-validationlayers", + "version": "1.3.296.0", + "description": "Vulkan Validation Layers (VVL)", + "homepage": "https://github.com/KhronosGroup/Vulkan-ValidationLayers", + "license": null, + "dependencies": [ + "mimalloc", + "robin-hood-hashing", + "spirv-cross", + "spirv-headers", + "spirv-reflect", + "spirv-tools", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "vulkan-headers", + "vulkan-utility-libraries" + ] +} diff --git a/ports/vulkan/CMakeLists.txt b/ports/vulkan/CMakeLists.txt new file mode 100644 index 00000000000000..3370eb11f676e5 --- /dev/null +++ b/ports/vulkan/CMakeLists.txt @@ -0,0 +1,12 @@ +cmake_minimum_required(VERSION 3.25) + +project(FIND_VULKAN LANGUAGES C) + +find_package(Vulkan ${VCPKG_VULKAN_VERSION} ${VCPKG_VULKAN_COMPONENTS}) +if(NOT Vulkan_FOUND) + set(CMAKE_FIND_DEBUG_MODE ON) + find_package(Vulkan ${VCPKG_VULKAN_VERSION} ${VCPKG_VULKAN_COMPONENTS}) +endif() + +set(OUTFILE "${CMAKE_CURRENT_BINARY_DIR}/vulkan-result.cmake" CACHE FILEPATH "") +configure_file("vulkan-result.cmake.in" "${OUTFILE}" @ONLY ESCAPE_QUOTES) diff --git a/ports/vulkan/portfile.cmake b/ports/vulkan/portfile.cmake index 7493614e1bbf61..cd198112a2e1f2 100644 --- a/ports/vulkan/portfile.cmake +++ b/ports/vulkan/portfile.cmake @@ -1,42 +1,31 @@ -# Due to the complexity involved, this package doesn't install the Vulkan SDK. -# It instead verifies that Vulkan is installed. -# Other packages can depend on this package to declare a dependency on Vulkan. -message(STATUS "Querying VULKAN_SDK Enviroment variable") -file(TO_CMAKE_PATH "$ENV{VULKAN_SDK}" VULKAN_DIR) -set(VULKAN_INCLUDE "${VULKAN_DIR}/include/vulkan/") -set(VULKAN_ERROR_DL "Before continuing, please download and install Vulkan from:\n https://vulkan.lunarg.com/sdk/home\nIf you have already downloaded it, make sure the VULKAN_SDK environment variable is set to vulkan's installation root.") +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) -if(NOT DEFINED ENV{VULKAN_SDK}) - message(FATAL_ERROR "Could not find Vulkan SDK. ${VULKAN_ERROR_DL}") -endif() - -message(STATUS "Searching " ${VULKAN_INCLUDE} " for vulkan.h") -if(NOT EXISTS "${VULKAN_INCLUDE}/vulkan.h") - message(FATAL_ERROR "Could not find vulkan.h. ${VULKAN_ERROR_DL}") -endif() -message(STATUS "Found vulkan.h") - -# Check if the user left the version in the installation directory e.g. c:/vulkanSDK/1.1.82.1/ -if(VULKAN_DIR MATCHES "(([0-9]+)\\.([0-9]+)\\.([0-9]+)\\.([0-9]+))") - set(VULKAN_VERSION "${CMAKE_MATCH_1}") - set(VULKAN_MAJOR "${CMAKE_MATCH_2}") - set(VULKAN_MINOR "${CMAKE_MATCH_3}") - set(VULKAN_PATCH "${CMAKE_MATCH_4}") - message(STATUS "Found Vulkan SDK version ${VULKAN_VERSION}") +set(vulkan_result_file "${CURRENT_BUILDTREES_DIR}/vulkan-${TARGET_TRIPLET}.cmake.log") +vcpkg_cmake_configure( + SOURCE_PATH "${CMAKE_CURRENT_LIST_DIR}" + OPTIONS_RELEASE + "-DOUTFILE=${vulkan_result_file}" +) - set(VULKAN_REQUIRED_VERSION "1.1.82.1") - if (VULKAN_MAJOR LESS 1 OR VULKAN_MINOR LESS 1 OR VULKAN_PATCH LESS 82) - message(FATAL_ERROR "Vulkan ${VULKAN_VERSION} but ${VULKAN_REQUIRED_VERSION} is required. Please download and install a more recent version from:" - "\n https://vulkan.lunarg.com/sdk/home\n") +include("${vulkan_result_file}") +if(DETECTED_Vulkan_FOUND) + message(STATUS "Found Vulkan ${DETECTED_Vulkan_VERSION} (${DETECTED_Vulkan_LIBRARIES})") +else() + set(message "Vulkan wasn't found.") + if(VCPKG_TARGET_IS_ANDROID AND DETECTED_ANDROID_NATIVE_API_LEVEL AND DETECTED_ANDROID_NATIVE_API_LEVEL LESS "24") + string(APPEND message " Vulkan support from the Android NDK requires API level 24 (found: ${DETECTED_ANDROID_NATIVE_API_LEVEL})") endif() + message(FATAL_ERROR "${message}") endif() -if (EXISTS ${VULKAN_DIR}/../LICENSE.txt) - configure_file(${VULKAN_DIR}/../LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/vulkan/copyright COPYONLY) -elseif(EXISTS ${VULKAN_DIR}/LICENSE.txt) - configure_file(${VULKAN_DIR}/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/vulkan/copyright COPYONLY) -else() - configure_file(${CURRENT_PORT_DIR}/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/vulkan/copyright COPYONLY) -endif() +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" + "${CMAKE_CURRENT_LIST_DIR}/vulkan-result.cmake.in" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}/detect-vulkan" +) -SET(VCPKG_POLICY_EMPTY_PACKAGE enabled) +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +file(WRITE "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" [[ +This is a stub package. Copyright and license information +is provided with Vulkan headers and loader. +For Android, the loader is provided by the NDK. +]]) diff --git a/ports/vulkan/usage b/ports/vulkan/usage index 62130b840a8f50..e742892f1c2b3c 100644 --- a/ports/vulkan/usage +++ b/ports/vulkan/usage @@ -1,9 +1,5 @@ -The package vulkan does not provide cmake or visual studio integration directly. -However, it can still easily be used. +vulkan is compatible with built-in CMake targets: - Visual Studio: - Include $(VULKAN_SDK)/include to your include path. - - CMake: + # https://cmake.org/cmake/help/latest/module/FindVulkan.html find_package(Vulkan REQUIRED) target_link_libraries(main PRIVATE Vulkan::Vulkan) diff --git a/ports/vulkan/vcpkg.json b/ports/vulkan/vcpkg.json index fa84de0377a5ff..cff6df67e458f9 100644 --- a/ports/vulkan/vcpkg.json +++ b/ports/vulkan/vcpkg.json @@ -1,6 +1,21 @@ { "name": "vulkan", - "version-string": "1.1.82.1", - "port-version": 2, - "description": "A graphics and compute API that provides high-efficiency, cross-platform access to modern GPUs on a wide variety of devices." + "version-date": "2023-12-17", + "description": [ + "A stub package that ensures that Vulkan headers and a loader are available.", + "On Android, the NDK provides a loader at API level 24 or higher." + ], + "license": null, + "supports": "!uwp & !xbox", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + "vulkan-headers", + { + "name": "vulkan-loader", + "platform": "!android" + } + ] } diff --git a/ports/vulkan/vulkan-result.cmake.in b/ports/vulkan/vulkan-result.cmake.in new file mode 100644 index 00000000000000..877df8d34db376 --- /dev/null +++ b/ports/vulkan/vulkan-result.cmake.in @@ -0,0 +1,5 @@ +set(DETECTED_Vulkan_FOUND "@Vulkan_FOUND@") +set(DETECTED_Vulkan_VERSION "@Vulkan_VERSION@") +set(DETECTED_Vulkan_INCLUDE_DIRS "@Vulkan_INCLUDE_DIRS@") +set(DETECTED_Vulkan_LIBRARIES "@Vulkan_LIBRARIES@") +set(DETECTED_ANDROID_NATIVE_API_LEVEL "@ANDROID_NATIVE_API_LEVEL@") diff --git a/ports/vvenc/fix-cmakelists.patch b/ports/vvenc/fix-cmakelists.patch new file mode 100644 index 00000000000000..adcc3d1230b310 --- /dev/null +++ b/ports/vvenc/fix-cmakelists.patch @@ -0,0 +1,51 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 551ec4b..ae36bc8 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -288,8 +288,11 @@ endif() + + + add_subdirectory( "source/Lib/vvenc" ) ++if(BUILD_TOOLS) + add_subdirectory( "source/App/vvencapp" ) + add_subdirectory( "source/App/vvencFFapp" ) ++endif() ++if(BUILD_TESTING) + add_subdirectory( "test/vvenclibtest" ) + add_subdirectory( "test/vvencinterfacetest" ) + +@@ -378,6 +381,7 @@ add_vvenc_test( compare_output-medium_rc2p_statsFile_easy 30 NO_OUTPUT "${OUT_VV + + add_test( NAME Cleanup_remove_temp_files COMMAND ${CMAKE_COMMAND} -E remove -f ${CLEANUP_TEST_FILES} rec.yuv stats_exp.json stats_easy.json ) + set_tests_properties( Cleanup_remove_temp_files PROPERTIES FIXTURES_CLEANUP cleanup ) ++endif() + + if( VVENC_ENABLE_INSTALL ) + # include installer +diff --git a/cmake/modules/vvencInstall.cmake b/cmake/modules/vvencInstall.cmake +index 4945f1d..7006bf6 100644 +--- a/cmake/modules/vvencInstall.cmake ++++ b/cmake/modules/vvencInstall.cmake +@@ -16,9 +16,11 @@ macro( install_targets config_ ) + RUNTIME DESTINATION ${RUNTIME_DEST} + LIBRARY DESTINATION ${LIBRARY_DEST} + ARCHIVE DESTINATION ${ARCHIVE_DEST} ) ++ if(BUILD_TOOLS) + install( TARGETS vvencapp vvencFFapp + CONFIGURATIONS ${config_} + RUNTIME DESTINATION ${RUNTIME_DEST} ) ++ endif() + endmacro( install_targets ) + + # install pdb file for static and shared libraries +@@ -61,8 +63,10 @@ install_targets( RelWithDebInfo ) + + # install pdb files + install_lib_pdb( vvenc ) ++if(BUILD_TOOLS) + install_exe_pdb( vvencapp ) + install_exe_pdb( vvencFFapp ) ++endif() + + # configure version file + configure_file( cmake/install/vvencConfigVersion.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/vvencConfigVersion.cmake @ONLY ) diff --git a/ports/vvenc/fix-dependencies.patch b/ports/vvenc/fix-dependencies.patch new file mode 100644 index 00000000000000..1dd997a37278c6 --- /dev/null +++ b/ports/vvenc/fix-dependencies.patch @@ -0,0 +1,77 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 551ec4b..8405ad0 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -161,6 +161,8 @@ set_property( GLOBAL PROPERTY USE_FOLDERS ON ) + # Enable multithreading + find_package( Threads REQUIRED ) + ++find_package(nlohmann_json CONFIG REQUIRED) ++ + # set _WIN32_WINNT + if( WIN32 ) + # set _WIN32_WINT version global + +diff --git a/source/App/vvencFFapp/CMakeLists.txt b/source/App/vvencFFapp/CMakeLists.txt +index 869b6ac..452301c 100644 +--- a/source/App/vvencFFapp/CMakeLists.txt ++++ b/source/App/vvencFFapp/CMakeLists.txt +@@ -34,7 +34,7 @@ target_compile_options( ${EXE_NAME} PRIVATE $<$,$:/W4 /WX /wd4100 /wd4244 /wd4251 /wd4459 /wd4996>) + + target_include_directories( ${EXE_NAME} PRIVATE ../../Lib ) +-target_link_libraries( ${EXE_NAME} Threads::Threads vvenc ) ++target_link_libraries( ${EXE_NAME} Threads::Threads vvenc nlohmann_json::nlohmann_json ) + + # example: place header files in different folders + source_group( "Header Files" FILES ${INC_FILES} ) + +diff --git a/source/App/vvencapp/CMakeLists.txt b/source/App/vvencapp/CMakeLists.txt +index a0e764b..98e5bb4 100644 +--- a/source/App/vvencapp/CMakeLists.txt ++++ b/source/App/vvencapp/CMakeLists.txt +@@ -31,7 +31,7 @@ target_compile_options( ${EXE_NAME} PRIVATE $<$,$:/W4 /WX /wd4244 /wd4251 /wd4996>) + + target_include_directories( ${EXE_NAME} PRIVATE ../../Lib ) +-target_link_libraries( ${EXE_NAME} Threads::Threads vvenc ) ++target_link_libraries( ${EXE_NAME} Threads::Threads vvenc nlohmann_json::nlohmann_json ) + + # example: place header files in different folders + source_group( "Header Files" FILES ${INC_FILES} ) +diff --git a/source/Lib/apputils/LogoRenderer.h b/source/Lib/apputils/LogoRenderer.h +index 6f990e6..bbf40d7 100644 +--- a/source/Lib/apputils/LogoRenderer.h ++++ b/source/Lib/apputils/LogoRenderer.h +@@ -58,7 +58,7 @@ POSSIBILITY OF SUCH DAMAGE. + #include "FileIOHelper.h" + + #ifdef VVENC_ENABLE_THIRDPARTY_JSON +-#include "../../../thirdparty/nlohmann_json/single_include/nlohmann/json.hpp" ++#include "nlohmann/json.hpp" + using nlohmann::json; + #endif + +diff --git a/source/Lib/vvenc/CMakeLists.txt b/source/Lib/vvenc/CMakeLists.txt +index 5ee3740..827cf41 100644 +--- a/source/Lib/vvenc/CMakeLists.txt ++++ b/source/Lib/vvenc/CMakeLists.txt +@@ -70,7 +70,8 @@ add_compile_definitions( ${LIB_NAME_UC}_SOURCE ) + # set PRIVATE include directories for all targets in this directory + include_directories( $ $ ) + include_directories( . .. ../DecoderLib ../EncoderLib ../CommonLib ../CommonLib/x86 ../apputils ) +-include_directories( SYSTEM ../../../thirdparty ) ++find_path(SIMDE_INCLUDE_DIRS "simde/arm/neon.h") ++include_directories(SYSTEM ${SIMDE_INCLUDE_DIRS}) + + # set common warning flags + add_compile_options( "$<$,$>:-Wall;-Werror;-Wno-deprecated-register;-Wno-unused-const-variable;-Wno-unknown-attributes>" ) +@@ -140,7 +141,7 @@ endif() + if( VVENC_ENABLE_THIRDPARTY_JSON ) + set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DVVENC_ENABLE_THIRDPARTY_JSON" ) + set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DVVENC_ENABLE_THIRDPARTY_JSON" ) +- target_include_directories( ${LIB_NAME} PRIVATE ../../../thirdparty/nlohmann_json/single_include ) ++ target_link_libraries( ${LIB_NAME} PRIVATE nlohmann_json::nlohmann_json ) + endif() + + if( TARGET INTEL_ITT) diff --git a/ports/vvenc/no-werror.patch b/ports/vvenc/no-werror.patch new file mode 100644 index 00000000000000..8c2dc265b87b96 --- /dev/null +++ b/ports/vvenc/no-werror.patch @@ -0,0 +1,51 @@ +diff --git a/source/App/vvencFFapp/CMakeLists.txt b/source/App/vvencFFapp/CMakeLists.txt +index 452301c..947da3d 100644 +--- a/source/App/vvencFFapp/CMakeLists.txt ++++ b/source/App/vvencFFapp/CMakeLists.txt +@@ -29,9 +29,9 @@ set_target_properties( ${EXE_NAME} PROPERTIES DEBUG_POSTFIX "${CMAKE_DE + set_target_properties( ${EXE_NAME} PROPERTIES RELWITHDEBINFO_POSTFIX "${CMAKE_RELWITHDEBINFO_POSTFIX}" ) + set_target_properties( ${EXE_NAME} PROPERTIES MINSIZEREL_POSTFIX "${CMAKE_MINSIZEREL_POSTFIX}" ) + +-target_compile_options( ${EXE_NAME} PRIVATE $<$,$>:-Wall -Werror> +- $<$:-Wall -Werror -fdiagnostics-show-option> +- $<$:/W4 /WX /wd4100 /wd4244 /wd4251 /wd4459 /wd4996>) ++target_compile_options( ${EXE_NAME} PRIVATE $<$,$>:-Wall> ++ $<$:-Wall -fdiagnostics-show-option> ++ $<$:/wd4100 /wd4244 /wd4251 /wd4459 /wd4996>) + + target_include_directories( ${EXE_NAME} PRIVATE ../../Lib ) + target_link_libraries( ${EXE_NAME} Threads::Threads vvenc nlohmann_json::nlohmann_json ) +diff --git a/source/App/vvencapp/CMakeLists.txt b/source/App/vvencapp/CMakeLists.txt +index 98e5bb4..f5ae8f1 100644 +--- a/source/App/vvencapp/CMakeLists.txt ++++ b/source/App/vvencapp/CMakeLists.txt +@@ -26,9 +26,9 @@ set_target_properties( ${EXE_NAME} PROPERTIES DEBUG_POSTFIX "${CMAKE_DE + set_target_properties( ${EXE_NAME} PROPERTIES RELWITHDEBINFO_POSTFIX "${CMAKE_RELWITHDEBINFO_POSTFIX}" ) + set_target_properties( ${EXE_NAME} PROPERTIES MINSIZEREL_POSTFIX "${CMAKE_MINSIZEREL_POSTFIX}" ) + +-target_compile_options( ${EXE_NAME} PRIVATE $<$,$>:-Wall -Werror> +- $<$:-Wall -Werror -fdiagnostics-show-option> +- $<$:/W4 /WX /wd4244 /wd4251 /wd4996>) ++target_compile_options( ${EXE_NAME} PRIVATE $<$,$>:-Wall> ++ $<$:-Wall -fdiagnostics-show-option> ++ $<$:/wd4244 /wd4251 /wd4996>) + + target_include_directories( ${EXE_NAME} PRIVATE ../../Lib ) + target_link_libraries( ${EXE_NAME} Threads::Threads vvenc nlohmann_json::nlohmann_json ) +diff --git a/source/Lib/vvenc/CMakeLists.txt b/source/Lib/vvenc/CMakeLists.txt +index 827cf41..93bcfc0 100644 +--- a/source/Lib/vvenc/CMakeLists.txt ++++ b/source/Lib/vvenc/CMakeLists.txt +@@ -74,9 +74,9 @@ find_path(SIMDE_INCLUDE_DIRS "simde/arm/neon.h") + include_directories(SYSTEM ${SIMDE_INCLUDE_DIRS}) + + # set common warning flags +-add_compile_options( "$<$,$>:-Wall;-Werror;-Wno-deprecated-register;-Wno-unused-const-variable;-Wno-unknown-attributes>" ) +-add_compile_options( "$<$:-Wall;-Werror;-Wno-unused-function;;-Wno-unused-variable;;-Wno-sign-compare;;-fdiagnostics-show-option;-Wno-ignored-attributes>" ) +-add_compile_options( "$<$:/W4;/WX;/wd4100;/wd4127;/wd4244;/wd4245;/wd4251;/wd4310;/wd4389;/wd4456;/wd4457;/wd4458;/wd4459;/wd4505;/wd4701;/wd4702;/wd4703;/wd4996>" ) ++add_compile_options( "$<$,$>:-Wall;-Wno-deprecated-register;-Wno-unused-const-variable;-Wno-unknown-attributes>" ) ++add_compile_options( "$<$:-Wall;-Wno-unused-function;;-Wno-unused-variable;;-Wno-sign-compare;;-fdiagnostics-show-option;-Wno-ignored-attributes>" ) ++add_compile_options( "$<$:/wd4100;/wd4127;/wd4244;/wd4245;/wd4251;/wd4310;/wd4389;/wd4456;/wd4457;/wd4458;/wd4459;/wd4505;/wd4701;/wd4702;/wd4703;/wd4996>" ) + + # don't export all symbols from shared libraries by default (gcc: -fvisibility=hidden), only those marked as VVENC_DECL + # behavior similar to __declspec(dllexport) on windows diff --git a/ports/vvenc/portfile.cmake b/ports/vvenc/portfile.cmake new file mode 100644 index 00000000000000..750b23066c380f --- /dev/null +++ b/ports/vvenc/portfile.cmake @@ -0,0 +1,39 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO fraunhoferhhi/vvenc + REF v${VERSION} + SHA512 bf2ac5fc3859cb3303ef4fa4fcdbe00a6db617e3c2e76c6d658071a7650e5966fa1522ccb2feca8c770cea3ea25d2b573dbd0c72f4c0d71be61ba7dd1ab9440b + HEAD_REF master + PATCHES + fix-cmakelists.patch + fix-dependencies.patch + no-werror.patch +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + tools BUILD_TOOLS +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} + -DBUILD_TESTING=OFF + -DCCACHE_FOUND=OFF +) + + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/vvenc) + +vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() + +if(BUILD_TOOLS) + vcpkg_copy_tools(TOOL_NAMES vvencFFapp vvencapp AUTO_CLEAN) +endif() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") diff --git a/ports/vvenc/vcpkg.json b/ports/vvenc/vcpkg.json new file mode 100644 index 00000000000000..9ea8a66e9ebf91 --- /dev/null +++ b/ports/vvenc/vcpkg.json @@ -0,0 +1,25 @@ +{ + "name": "vvenc", + "version": "1.7.0", + "description": "VVenC is a fast and efficient H.266/VVC encoder implementation.", + "homepage": "https://github.com/fraunhoferhhi/vvenc", + "license": "BSD-3-Clause-Clear", + "supports": "!x86 & !arm", + "dependencies": [ + "nlohmann-json", + "simde", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "tools": { + "description": "Build user tools: vvencFFapp and vvencapp" + } + } +} diff --git a/ports/vxl/cmake-package.diff b/ports/vxl/cmake-package.diff new file mode 100644 index 00000000000000..9cb3cc23a6c3e0 --- /dev/null +++ b/ports/vxl/cmake-package.diff @@ -0,0 +1,33 @@ +diff --git a/config/cmake/Modules/UseVXL.cmake b/config/cmake/Modules/UseVXL.cmake +index fba90e4..e7b3b62 100644 +--- a/config/cmake/Modules/UseVXL.cmake ++++ b/config/cmake/Modules/UseVXL.cmake +@@ -77,7 +77,7 @@ if(VXL_CONFIG_CMAKE) + include_directories(SYSTEM ${VXL_VCL_INCLUDE_DIRS} ${VXL_CORE_INCLUDE_DIRS}) + + # Add link directories needed to use VXL. +- link_directories(${VXL_LIBRARY_DIR}) ++ # [vcpkg skip] link_directories(${VXL_LIBRARY_DIR}) + + if(VXL_CMAKE_DOXYGEN_DIR) + # Allow use of VXL's cmake/doxygen framework +diff --git a/config/cmake/Modules/VXLConfig_export.cmake.in b/config/cmake/Modules/VXLConfig_export.cmake.in +index 78eaf51..c69b7d8 100644 +--- a/config/cmake/Modules/VXLConfig_export.cmake.in ++++ b/config/cmake/Modules/VXLConfig_export.cmake.in +@@ -1,6 +1,4 @@ + # vxl/config/cmake/VXLConfig_export.cmake.in +-# also configured by CMake to +-# @PROJECT_BINARY_DIR@/config/cmake/export/VXLConfig.cmake + # + # This CMake module is configured by VXL's build process to export the + # project settings for use by client projects. A client project may +@@ -33,7 +31,7 @@ set(VXL_LIBRARY_DIR "@CMAKE_INSTALL_PREFIX@/lib") + + # The VXL CMake support directory. + # Clients projects should not use the Find*.cmake files in this directory. +-set(VXL_CMAKE_DIR "@CMAKE_INSTALL_PREFIX@/share/vxl/cmake") ++set(VXL_CMAKE_DIR "@CMAKE_INSTALL_PREFIX@/share/vxl") + + # VXL Configuration options. You don't have to build with the same options as VXL, but it often helps. + set(BUILD_SHARED_LIBS "@BUILD_SHARED_LIBS@") diff --git a/ports/vxl/devendor.diff b/ports/vxl/devendor.diff new file mode 100644 index 00000000000000..99779b4e9b9847 --- /dev/null +++ b/ports/vxl/devendor.diff @@ -0,0 +1,55 @@ +diff --git a/config/cmake/Modules/FindGEOTIFF.cmake b/config/cmake/Modules/FindGEOTIFF.cmake +index bcc8fc5..ed9420e 100644 +--- a/config/cmake/Modules/FindGEOTIFF.cmake ++++ b/config/cmake/Modules/FindGEOTIFF.cmake +@@ -18,7 +18,7 @@ if (${VXL_USE_GEOTIFF}) + + # If this FORCE variable is unset or is FALSE, try to find a native library. + if( NOT VXL_FORCE_V3P_GEOTIFF ) +- include( ${MODULE_PATH}/NewCMake/FindGEOTIFF.cmake ) ++ find_package(GeoTIFF CONFIG REQUIRED) + if( GEOTIFF_FOUND ) + set(VXL_USING_NATIVE_GEOTIFF "YES") + endif() +diff --git a/config/cmake/Modules/VXLConfig_export.cmake.in b/config/cmake/Modules/VXLConfig_export.cmake.in +index 86bb564..c69b7d8 100644 +--- a/config/cmake/Modules/VXLConfig_export.cmake.in ++++ b/config/cmake/Modules/VXLConfig_export.cmake.in +@@ -152,6 +152,10 @@ set(VXL_TIFF_INCLUDE_DIR "@TIFF_INCLUDE_DIR@") + set(VXL_TIFF_LIBRARIES "@TIFF_LIBRARIES@") + + set(VXL_GEOTIFF_FOUND "@GEOTIFF_FOUND@") ++if(VXL_GEOTIFF_FOUND) ++ include(CMakeFindDependencyMacro) ++ find_dependency(GeoTIFF CONFIG) ++endif() + set(VXL_GEOTIFF_INCLUDE_DIR "@GEOTIFF_INCLUDE_DIR@") + set(VXL_GEOTIFF_LIBRARIES "@GEOTIFF_LIBRARIES@") + +diff --git a/core/vgl/vgl_clip.hxx b/core/vgl/vgl_clip.hxx +index 9ff64f8..10c986a 100644 +--- a/core/vgl/vgl_clip.hxx ++++ b/core/vgl/vgl_clip.hxx +@@ -144,7 +144,7 @@ namespace { + + #elif HAS_CLIPPER + +-#include ++#include + + namespace { + //: Creates a Clipper polygon from a vgl_polygon. +diff --git a/v3p/CMakeLists.txt b/v3p/CMakeLists.txt +index 251ef9a..78a84fc 100644 +--- a/v3p/CMakeLists.txt ++++ b/v3p/CMakeLists.txt +@@ -48,6 +48,9 @@ CMAKE_DEPENDENT_OPTION( VXL_FORCE_V3P_RPLY "Use V3P instead of any native RPLY l + mark_as_advanced( VXL_FORCE_V3P_RPLY ) + + if(VXL_BUILD_CORE_IMAGING) ++ add_subdirectory(openjpeg2) ++elseif(0) ++ # not used by core and vcl + include(${VXL_CMAKE_DIR}/FindZLIB.cmake) + if (VXL_FORCE_V3P_ZLIB OR ( NOT VXL_USING_NATIVE_ZLIB ) AND IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/zlib) + add_subdirectory(zlib) diff --git a/ports/vxl/disable-tests.diff b/ports/vxl/disable-tests.diff new file mode 100644 index 00000000000000..cc94aec5625d9e --- /dev/null +++ b/ports/vxl/disable-tests.diff @@ -0,0 +1,15 @@ +diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt +index 581d00b..336f170 100644 +--- a/core/CMakeLists.txt ++++ b/core/CMakeLists.txt +@@ -135,7 +135,9 @@ else() + endif () + + # common test executable +-add_subdirectory(testlib) ++if(BUILD_TESTING) ++ add_subdirectory(testlib) ++endif() + + # Tests that check and output the vxl configuration + # NOTE: some external projects remove the tests directory (aka ITK) diff --git a/ports/vxl/file_formats.diff b/ports/vxl/file_formats.diff new file mode 100644 index 00000000000000..69455156b99479 --- /dev/null +++ b/ports/vxl/file_formats.diff @@ -0,0 +1,41 @@ +diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt +index 88daf27..a47c183 100644 +--- a/core/CMakeLists.txt ++++ b/core/CMakeLists.txt +@@ -60,6 +60,10 @@ if(VXL_BUILD_CORE_IMAGING) + if(VXL_BUILD_CORE_NUMERICS) + add_subdirectory (vil/algo) + endif() ++else() ++ file(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/vil) ++ file(WRITE ${PROJECT_BINARY_DIR}/vil/vil_config.h "/* core imaging disabled */") ++ install(FILES ${PROJECT_BINARY_DIR}/vil/vil_config.h DESTINATION include/vxl/core/vil) + endif() + + +diff --git a/core/vpgl/algo/CMakeLists.txt b/core/vpgl/algo/CMakeLists.txt +index 9ec767a..fda53dc 100644 +--- a/core/vpgl/algo/CMakeLists.txt ++++ b/core/vpgl/algo/CMakeLists.txt +@@ -32,7 +32,7 @@ set( vpgl_algo_sources + vpgl_equi_rectification.h vpgl_equi_rectification.cxx + ) + include(${VXL_CMAKE_DIR}/FindTIFF.cmake) +-if(TIFF_FOUND) ++if(VXL_BUILD_CORE_IMAGING) + include_directories(${TIFF_INCLUDE_DIR}) + include( ${VXL_CMAKE_DIR}/FindGEOTIFF.cmake) + if(GEOTIFF_FOUND) +diff --git a/core/vpgl/file_formats/CMakeLists.txt b/core/vpgl/file_formats/CMakeLists.txt +index d23a2f2..6c933f0 100644 +--- a/core/vpgl/file_formats/CMakeLists.txt ++++ b/core/vpgl/file_formats/CMakeLists.txt +@@ -9,7 +9,7 @@ set( vpgl_file_formats_sources + ) + + include(${VXL_CMAKE_DIR}/FindTIFF.cmake) +-if(TIFF_FOUND) ++if(VXL_BUILD_CORE_IMAGING) + include_directories(${TIFF_INCLUDE_DIR}) + include( ${VXL_CMAKE_DIR}/FindGEOTIFF.cmake) + if(GEOTIFF_FOUND) diff --git a/ports/vxl/fix_dependency.patch b/ports/vxl/fix_dependency.patch deleted file mode 100644 index 88cecfd660c70d..00000000000000 --- a/ports/vxl/fix_dependency.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt -index 3483f9c..57e149b 100644 ---- a/core/CMakeLists.txt -+++ b/core/CMakeLists.txt -@@ -100,7 +100,7 @@ endif() - - - # coordinate systems --if(VXL_BUILD_CORE_GEOMETRY AND VXL_BUILD_CORE_NUMERICS) -+if(VXL_BUILD_CORE_GEOMETRY AND VXL_BUILD_CORE_NUMERICS AND VXL_BUILD_CORE_IMAGING) - add_subdirectory(vcsl) - add_subdirectory(vpgl) - endif() diff --git a/ports/vxl/limits.diff b/ports/vxl/limits.diff new file mode 100644 index 00000000000000..3299f4f06dbb01 --- /dev/null +++ b/ports/vxl/limits.diff @@ -0,0 +1,12 @@ +diff --git a/core/vnl/vnl_bignum.cxx b/core/vnl/vnl_bignum.cxx +index b615a9b..741bd43 100644 +--- a/core/vnl/vnl_bignum.cxx ++++ b/core/vnl/vnl_bignum.cxx +@@ -6,6 +6,7 @@ + #include + #include + #include ++#include + #include "vnl_bignum.h" + //: + // \file diff --git a/ports/vxl/mingw.diff b/ports/vxl/mingw.diff new file mode 100644 index 00000000000000..134c96fb96c9d2 --- /dev/null +++ b/ports/vxl/mingw.diff @@ -0,0 +1,13 @@ +diff --git a/core/vul/vul_temp_filename.cxx b/core/vul/vul_temp_filename.cxx +index 4921a04..731fee0 100644 +--- a/core/vul/vul_temp_filename.cxx ++++ b/core/vul/vul_temp_filename.cxx +@@ -11,7 +11,7 @@ + + #if defined(_MSC_VER) || defined(__MINGW32__) + +-# include ++# include + #else + # if defined(unix) || defined(__unix) || defined(__unix__) || defined(__APPLE__) + // Helper functions for Unix diff --git a/ports/vxl/openjpeg.diff b/ports/vxl/openjpeg.diff new file mode 100644 index 00000000000000..af2d15f2fc47c3 --- /dev/null +++ b/ports/vxl/openjpeg.diff @@ -0,0 +1,25 @@ +diff --git a/config/cmake/Modules/FindOpenJPEG2.cmake b/config/cmake/Modules/FindOpenJPEG2.cmake +index c76bc44..41dc198 100644 +--- a/config/cmake/Modules/FindOpenJPEG2.cmake ++++ b/config/cmake/Modules/FindOpenJPEG2.cmake +@@ -62,6 +62,8 @@ set(OPENJPEG2_DEFINITIONS "") + + if(OPENJPEG2_FOUND) + set(VXL_USING_NATIVE_OPENJPEG2 "YES") ++elseif(NOT ENABLE_OPENJPEG) ++ set(VXL_USING_NATIVE_OPENJPEG2 "YES") # to disable internal lib, too + else() + if( EXISTS ${VXL_ROOT_SOURCE_DIR}/v3p/openjpeg2/openjpeg.h) + set(OPENJPEG2_FOUND TRUE) +diff --git a/v3p/openjpeg2/CMakeLists.txt b/v3p/openjpeg2/CMakeLists.txt +index 67b184e..354180b 100644 +--- a/v3p/openjpeg2/CMakeLists.txt ++++ b/v3p/openjpeg2/CMakeLists.txt +@@ -49,6 +49,7 @@ if(VXL_MATH_LIBRARY_FOUND) + endif() + mark_as_advanced(VXL_MATH_LIBRARY_FOUND) + set_target_properties(openjpeg2 PROPERTIES ++ OUTPUT_NAME vxl_openjpeg + VERSION 2.0.0 + DEFINE_SYMBOL OPJ_EXPORTS) + endif() diff --git a/ports/vxl/portfile.cmake b/ports/vxl/portfile.cmake index c3124ce202c978..baabb933dbc6f6 100644 --- a/ports/vxl/portfile.cmake +++ b/ports/vxl/portfile.cmake @@ -1,56 +1,98 @@ -set(VXL_BUILD_CORE_IMAGING OFF) -if("core-imaging" IN_LIST FEATURES) - set(VXL_BUILD_CORE_IMAGING ON) - if(EXISTS "${CURRENT_INSTALLED_DIR}/include/openjpeg.h") - set(VXL_BUILD_CORE_IMAGING OFF) - message(WARNING "Can't build VXL CORE_IMAGING features with non built-in OpenJpeg. Please remove OpenJpeg, and try install VXL again if you need them.") - endif() +if(VCPKG_TARGET_IS_WINDOWS) + # Cf. https://vxl.github.io/vxl-users-faq.html + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO vxl/vxl - REF dac1c7ed8e183e9c6de8b928c8b0294a7bd1d8ee # v2.0.2 - SHA512 4c6f6dcd793a50cbbc9c7f61c561ed4a747ded67e3dceb09792998c0f0d4294445a441fed668d59297560f196274b1c25593ce67b0aa7597cbb773328e8612c0 + REF v${VERSION} + SHA512 0b33e12557315058e7786c2049af3b01f1208e50660ccbc45f4d9a4dba4eeadfa5e3125380d8781eed2a9abf1d153ffb71c416ed2d196ab4194f5b3722fe6f2b HEAD_REF master PATCHES - fix_dependency.patch + cmake-package.diff + devendor.diff + disable-tests.diff + file_formats.diff + limits.diff + mingw.diff + openjpeg.diff +) +file(GLOB_RECURSE vendored_sources "${SOURCE_PATH}/v3p/*.c" "${SOURCE_PATH}/v3p/*.cpp" "${SOURCE_PATH}/v3p/*.cxx") +list(FILTER vendored_sources EXCLUDE REGEX "/(netlib|openjpeg2)/") +file(REMOVE_RECURSE ${vendored_sources}) + +vcpkg_check_features(OUT_FEATURE_OPTIONS options + FEATURES + core-imaging VXL_BUILD_CORE_IMAGING + openjpeg ENABLE_OPENJPEG ) +if(VCPKG_TARGET_IS_MINGW) + list(APPEND options -DVXL_HAS_DBGHELP_H=FALSE) # needs patches +endif() + set(USE_WIN_WCHAR_T OFF) if(VCPKG_TARGET_IS_WINDOWS) set(USE_WIN_WCHAR_T ON) endif() -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +# Avoid try-run which doesn't work for cross-builds. +# Users may override with VCPKG_CMAKE_CONFIGURE_OPTIONS. +string(COMPARE EQUAL "${VCPKG_TARGET_ARCHITECTURE}" "x64" VXL_HAS_SSE2_HARDWARE_SUPPORT) +set(VCL_HAS_LFS ON) +if(VCPKG_TARGET_IS_WINDOWS) + set(VCL_HAS_LFS OFF) +endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DVXL_BUILD_EXAMPLES=OFF + ${options} -DBUILD_TESTING=OFF - -DVXL_BUILD_CORE_IMAGING=${VXL_BUILD_CORE_IMAGING} + -DCMAKE_POLICY_DEFAULT_CMP0120=OLD # vxl needs WriteCompilerDetectionHeader + -DVCL_HAS_LFS=${VCL_HAS_LFS} + -DVXL_BUILD_CONTRIB=OFF + -DVXL_BUILD_EXAMPLES=OFF + -DVXL_HAS_SSE2_HARDWARE_SUPPORT=${VXL_HAS_SSE2_HARDWARE_SUPPORT} -DVXL_FORCE_V3P_BZLIB2=OFF - -DVXL_USING_NATIVE_BZLIB2=TRUE # for disable build built-in bzip2 (v3p/bzlib/CMakeLists.txt#L10-L26) - -DVXL_FORCE_V3P_CLIPPER=ON # TODO : need add clipper port to turn off + -DVXL_FORCE_V3P_CLIPPER=OFF -DVXL_FORCE_V3P_DCMTK=OFF -DVXL_FORCE_V3P_GEOTIFF=OFF -DVXL_FORCE_V3P_J2K=OFF -DVXL_FORCE_V3P_JPEG=OFF - -DVXL_FORCE_V3P_OPENJPEG2=ON # TODO : need fix compile error when using openjpeg port to turn off + -DVXL_FORCE_V3P_OPENJPEG2=ON # vendored 1.2; vxl needs old API. -DVXL_FORCE_V3P_PNG=OFF -DVXL_FORCE_V3P_TIFF=OFF -DVXL_FORCE_V3P_ZLIB=OFF - -DVXL_USE_DCMTK=OFF # TODO : need fix dcmtk support to turn on + -DVXL_USE_DCMTK=OFF -DVXL_USE_GEOTIFF=ON -DVXL_USE_WIN_WCHAR_T=${USE_WIN_WCHAR_T} + MAYBE_UNUSED_VARIABLES + ENABLE_OPENJPEG + VXL_USE_DCMTK ) -vcpkg_install_cmake() - -vcpkg_fixup_cmake_targets(CONFIG_PATH share/vxl/cmake) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH share/vxl/cmake) vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +file(COPY "${SOURCE_PATH}/vcl/vcl_msvc_warnings.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include/vxl/vcl") -file(INSTALL ${SOURCE_PATH}/core/vxl_copyright.h DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) \ No newline at end of file +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +# Don't provide source dir; test lib not installed. +file(REMOVE "${CURRENT_PACKAGES_DIR}/include/vxl/vcl/vcl_where_root_dir.h") + +file(COPY "${CURRENT_PORT_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") + +set(file_list "${SOURCE_PATH}/core/vxl_copyright.h") +if("openjpeg" IN_LIST FEATURES) + file(COPY_FILE "${SOURCE_PATH}/v3p/openjpeg2/license.txt" "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/openjpeg2 license.txt") + vcpkg_list(APPEND file_list "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/openjpeg2 license.txt") +endif() +vcpkg_install_copyright(FILE_LIST ${file_list} COMMENT [[ +vcl includes Netlib software from https://www.netlib.org/. Most netlib software +packages have no restrictions on their use but it is recommended to check with +the authors to be sure. (https://www.netlib.org/misc/faq.html#2.3) +]]) diff --git a/ports/vxl/usage b/ports/vxl/usage new file mode 100644 index 00000000000000..137f497918430c --- /dev/null +++ b/ports/vxl/usage @@ -0,0 +1,6 @@ +vxl provides CMake targets: + + find_package(VXL CONFIG REQUIRED) + include("${VXL_CMAKE_DIR}/UseVXL.cmake") + # Example: numerics library 'vnl'. + target_link_libraries(main PRIVATE $) diff --git a/ports/vxl/vcpkg.json b/ports/vxl/vcpkg.json index c039f14ae26719..89ef75ce46b74d 100644 --- a/ports/vxl/vcpkg.json +++ b/ports/vxl/vcpkg.json @@ -1,21 +1,46 @@ { "name": "vxl", - "version-string": "2.0.2", - "port-version": 3, + "version": "3.5.0", "description": "A multi-platform collection of C++ software libraries for Computer Vision and Image Understanding.", + "homepage": "https://vxl.github.io/", + "license": null, + "supports": "!uwp", "dependencies": [ - "bzip2", - "expat", "libgeotiff", "libjpeg-turbo", "libpng", - "shapelib", - "tiff", - "zlib" + "polyclipping", + { + "name": "tiff", + "default-features": false + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ], "features": { "core-imaging": { "description": "core-imaging support for vxl" + }, + "openjpeg": { + "description": [ + "OpenJPEG support", + "This feature uses vendored copy of openjpeg 1.2.0 and cannot be used together with port 'openjpeg'." + ], + "license": "BSD-2-Clause", + "dependencies": [ + { + "name": "vxl", + "features": [ + "core-imaging" + ] + } + ] } } } diff --git a/ports/wabt/include_picosha2.cmake b/ports/wabt/include_picosha2.cmake new file mode 100644 index 00000000000000..33a06d97d0a9a0 --- /dev/null +++ b/ports/wabt/include_picosha2.cmake @@ -0,0 +1,2 @@ +find_path(PICOSHA2_INCLUDE_DIRECTORY picosha2.h REQUIRED) +include_directories("${PICOSHA2_INCLUDE_DIRECTORY}") diff --git a/ports/wabt/portfile.cmake b/ports/wabt/portfile.cmake new file mode 100644 index 00000000000000..5eba83e95fa5e5 --- /dev/null +++ b/ports/wabt/portfile.cmake @@ -0,0 +1,57 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH source_path + REPO WebAssembly/wabt + REF "${VERSION}" + SHA512 5b8c2b9cc7b96c0964a8c33fd13a3f0fdeb665598d6a55f47264f285f52f646865613b6745c20ebecb50f3358c454aaef6737a895bc64009c4ef06ef6ce14a7e + HEAD_REF main +) + +# wabt enables wasm-rt-impl iff setjmp.h is found by `check_include_file`. +# It does not use this variable otherwise. +vcpkg_check_features(OUT_FEATURE_OPTIONS feature_options + FEATURES + tools BUILD_TOOLS + wasm-rt-impl HAVE_SETJMP_H) + +vcpkg_cmake_configure( + SOURCE_PATH "${source_path}" + OPTIONS + ${feature_options} + -DBUILD_LIBWASM=OFF + -DBUILD_TESTS=OFF + "-DCMAKE_PROJECT_INCLUDE=${CMAKE_CURRENT_LIST_DIR}/include_picosha2.cmake" + -DUSE_INTERNAL_SHA256=ON + -DWABT_INSTALL_CMAKEDIR=share/wabt + -DWITH_EXCEPTIONS=ON + OPTIONS_DEBUG + -DBUILD_TOOLS=OFF +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup() + +if ("tools" IN_LIST FEATURES) + vcpkg_copy_tools( + TOOL_NAMES + spectest-interp + wasm-decompile + wasm-interp + wasm-objdump + wasm-stats + wasm-strip + wasm-validate + wasm2c + wasm2wat + wast2json + wat-desugar + wat2wasm + 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") diff --git a/ports/wabt/vcpkg.json b/ports/wabt/vcpkg.json new file mode 100644 index 00000000000000..9298ccc07001c5 --- /dev/null +++ b/ports/wabt/vcpkg.json @@ -0,0 +1,26 @@ +{ + "name": "wabt", + "version": "1.0.36", + "description": "The WebAssembly Binary Toolkit", + "homepage": "https://github.com/WebAssembly/wabt/", + "license": "Apache-2.0", + "dependencies": [ + "picosha2", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "tools": { + "description": "Build wabt commandline tools" + }, + "wasm-rt-impl": { + "description": "Include the WABT C runtime implementation library" + } + } +} diff --git a/ports/wampcc/gcc-11.patch b/ports/wampcc/gcc-11.patch new file mode 100644 index 00000000000000..2a49f5aeffd610 --- /dev/null +++ b/ports/wampcc/gcc-11.patch @@ -0,0 +1,19 @@ +diff --git a/examples/message_server/message_subscriber.cc b/examples/message_server/message_subscriber.cc +index ba40a332..4ac75ef7 100644 +--- a/examples/message_server/message_subscriber.cc ++++ b/examples/message_server/message_subscriber.cc +@@ -7,13 +7,9 @@ + + #include "wampcc/kernel.h" + #include "wampcc/data_model.h" +-#include "wampcc/tcp_socket.h" +-#include "wampcc/wamp_session.h" + #include "wampcc/rawsocket_protocol.h" + +-#include +-#include +- ++#include + + void on_string_change(const wampcc::string_subscription& sub) + { diff --git a/ports/wampcc/portfile.cmake b/ports/wampcc/portfile.cmake index e50d780dcd5787..93aaa4db81ca11 100644 --- a/ports/wampcc/portfile.cmake +++ b/ports/wampcc/portfile.cmake @@ -3,15 +3,6 @@ if (VCPKG_TARGET_IS_WINDOWS) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) endif() -if (VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") - set(BUILD_ARCH "Win32") -elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") - set(BUILD_ARCH "x64") -elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") - set(BUILD_ARCH "ARM") -else() - message(FATAL_ERROR "Unsupported architecture: ${VCPKG_TARGET_ARCHITECTURE}") -endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH @@ -19,35 +10,30 @@ vcpkg_from_github( REF 43d10a7ccf37ec1b895742712dd4a05577b73ff1 SHA512 e830d26de00e8f5f378145f06691cb16121c40d3bd2cd663fad9a97db37251a11b56053178b619e3a2627f0cd518b6290a8381b26e517a9f16f0246d2f91958e HEAD_REF master + PATCHES + gcc-11.patch # https://github.com/darrenjs/wampcc/commit/d1a8c6dcabcc32e9d9774f306555e9080d871c2f ) -# Utils build is broken under Windows -if ("utils" IN_LIST FEATURES) - if (VCPKG_TARGET_IS_WINDOWS) - message(FATAL_ERROR "'utils' build is broken under Windows") - endif() - - set(ENABLE_UTILS ON) -else() - set(ENABLE_UTILS OFF) -endif() +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + examples BUILD_EXAMPLES + utils BUILD_UTILS +) -if ("examples" IN_LIST FEATURES) - set(ENABLE_EXAMPLES ON) -else() - set(ENABLE_EXAMPLES OFF) -endif() -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DBUILD_UTILS:BOOL=${ENABLE_UTILS} - -DBUILD_EXAMPLES:BOOL=${ENABLE_EXAMPLES} -DBUILD_TESTS:BOOL=OFF # Tests build is broken + ${FEATURE_OPTIONS} ) -vcpkg_install_cmake() +vcpkg_cmake_install() + +if("utils" IN_LIST FEATURES) + vcpkg_copy_tools(TOOL_NAMES admin AUTO_CLEAN) +endif() + +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/wampcc RENAME copyright) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) - -vcpkg_fixup_pkgconfig() +vcpkg_fixup_pkgconfig() diff --git a/ports/wampcc/vcpkg.json b/ports/wampcc/vcpkg.json index 025aed5a301a5c..3775d5dffc32a0 100644 --- a/ports/wampcc/vcpkg.json +++ b/ports/wampcc/vcpkg.json @@ -1,19 +1,26 @@ { "name": "wampcc", - "version-string": "2019-09-04", - "port-version": 2, + "version-date": "2019-09-04", + "port-version": 5, "description": "Wampcc is C++ library that implements the Web Application Messaging Protocol (WAMP) protocol.", + "license": "MIT", + "supports": "!(windows & arm64)", "dependencies": [ "jansson", "libuv", - "openssl" + "openssl", + { + "name": "vcpkg-cmake", + "host": true + } ], "features": { "examples": { "description": "Build example apps" }, "utils": { - "description": "Build utility apps" + "description": "Build utility apps", + "supports": "!windows" } } } diff --git a/ports/wangle/fix_dependency.patch b/ports/wangle/fix_dependency.patch index 6b80a68f8d993c..f44d39fabc9d72 100644 --- a/ports/wangle/fix_dependency.patch +++ b/ports/wangle/fix_dependency.patch @@ -1,17 +1,26 @@ diff --git a/wangle/CMakeLists.txt b/wangle/CMakeLists.txt -index 8df7c76..f605f25 100644 +index 85ae066..766d3d3 100644 --- a/wangle/CMakeLists.txt +++ b/wangle/CMakeLists.txt -@@ -62,7 +62,7 @@ find_package(folly CONFIG REQUIRED) +@@ -64,18 +64,23 @@ set(CMAKE_INSTALL_DIR lib/cmake/wangle CACHE STRING + find_package(folly CONFIG REQUIRED) + find_package(fizz CONFIG REQUIRED) - find_package(fmt CONFIG REQUIRED) +-find_package(fmt CONFIG REQUIRED) find_package(OpenSSL REQUIRED) -find_package(Glog REQUIRED) +-find_package(gflags CONFIG QUIET) +find_package(glog CONFIG REQUIRED) - find_package(gflags CONFIG QUIET) ++find_package(gflags CONFIG REQUIRED) ++find_package(Boost REQUIRED ++ COMPONENTS ++ filesystem ++ thread ++) ++ if (gflags_FOUND) message(STATUS "Found gflags from package config") -@@ -70,8 +70,8 @@ if (gflags_FOUND) + message(STATUS "gflags_CONFIG=${gflags_CONFIG}") else() find_package(Gflags REQUIRED) endif() @@ -22,35 +31,49 @@ index 8df7c76..f605f25 100644 find_package(Threads REQUIRED) if (UNIX AND NOT APPLE) find_package(Librt) -@@ -153,24 +153,23 @@ target_include_directories( - PUBLIC - $ - $ -+ PRIVATE - ${FIZZ_INCLUDE_DIR} - ${FOLLY_INCLUDE_DIR} - ${Boost_INCLUDE_DIR} -- ${OPENSSL_INCLUDE_DIR} -- ${GLOG_INCLUDE_DIRS} - ${GFLAGS_INCLUDE_DIRS} -- ${LIBEVENT_INCLUDE_DIR} -- ${DOUBLE_CONVERSION_INCLUDE_DIRS} +@@ -166,6 +171,14 @@ target_include_directories( + ${LIBEVENT_INCLUDE_DIR} + ${DOUBLE_CONVERSION_INCLUDE_DIR} ) ++set(Boost_LIBRARIES Boost::boost Boost::filesystem Boost::thread ) ++set(FOLLY_LIBRARIES Folly::folly) ++set(FIZZ_LIBRARIES fizz::fizz) ++set(GLOG_LIBRARIES glog::glog) ++set(GFLAGS_LIBRARIES gflags::gflags) ++set(LIBEVENT_LIB libevent::core libevent::extra) ++set(DOUBLE_CONVERSION_LIBRARIES double-conversion::double-conversion) ++ target_link_libraries(wangle PUBLIC ${FOLLY_LIBRARIES} ${FIZZ_LIBRARIES} - ${Boost_LIBRARIES} -- ${OPENSSL_LIBRARIES} -- ${GLOG_LIBRARIES} -+ OpenSSL::SSL -+ OpenSSL::Crypto -+ glog::glog - ${GFLAGS_LIBRARIES} -- ${LIBEVENT_LIB} -- ${DOUBLE_CONVERSION_LIBRARIES} -+ libevent::core -+ libevent::extra -+ double-conversion::double-conversion - ${CMAKE_DL_LIBS} - ${LIBRT_LIBRARIES} - Threads::Threads) +diff --git a/wangle/cmake/wangle-config.cmake.in b/wangle/cmake/wangle-config.cmake.in +index e0fd0dc..5f6cf14 100644 +--- a/wangle/cmake/wangle-config.cmake.in ++++ b/wangle/cmake/wangle-config.cmake.in +@@ -15,13 +15,19 @@ set_and_check(WANGLE_INCLUDE_DIR "@PACKAGE_INCLUDE_INSTALL_DIR@") + set_and_check(WANGLE_CMAKE_DIR "${PACKAGE_PREFIX_DIR}/share/wangle") + + include(CMakeFindDependencyMacro) +-find_dependency(folly REQUIRED) +-find_dependency(fizz REQUIRED) +-find_dependency(glog REQUIRED) +-find_dependency(Threads REQUIRED) +-find_dependency(Libevent REQUIRED) +-find_dependency(OpenSSL REQUIRED) +-find_dependency(double-conversion REQUIRED) ++find_dependency(folly CONFIG) ++find_dependency(fizz CONFIG) ++find_dependency(gflags CONFIG) ++find_dependency(glog CONFIG) ++find_dependency(Threads) ++find_dependency(Libevent CONFIG) ++find_dependency(OpenSSL) ++find_dependency(double-conversion CONFIG) ++find_dependency(Boost ++ COMPONENTS ++ filesystem ++ thread ++) + + if (NOT TARGET wangle::wangle) + include("${WANGLE_CMAKE_DIR}/wangle-targets.cmake") diff --git a/ports/wangle/portfile.cmake b/ports/wangle/portfile.cmake index dca45cfe4502b1..bd4a3f53dc504c 100644 --- a/ports/wangle/portfile.cmake +++ b/ports/wangle/portfile.cmake @@ -3,40 +3,50 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO facebook/wangle - REF v2021.06.14.00 - SHA512 15fd2c9515ec3d0c3293a8f96d01d3e91e2ef82694d592aae6573648957f691a7da5d7c2aef7391a827a67e2f58fef7668778e0f0323aac11c5b16a1ba889cc3 - HEAD_REF master + REF "v${VERSION}" + SHA512 d44f3553b04f378935c2a6cf072d6b4a911be3bb71f3480ccdbb269f83c0f62dce4451bcb2edb365d9b398f719c7162269690d07aab07054dafaa55b5b38e0ad + HEAD_REF main PATCHES fix-config-cmake.patch fix_dependency.patch ) -vcpkg_configure_cmake( +file(REMOVE + "${SOURCE_PATH}/wangle/cmake/FindDoubleConversion.cmake" + "${SOURCE_PATH}/build/fbcode_builder/CMake/FindGflags.cmake" + "${SOURCE_PATH}/build/fbcode_builder/CMake/FindGlog.cmake" + "${SOURCE_PATH}/build/fbcode_builder/CMake/FindGMock.cmake" + "${SOURCE_PATH}/build/fbcode_builder/CMake/FindLibEvent.cmake" + "${SOURCE_PATH}/build/fbcode_builder/CMake/FindSodium.cmake" + "${SOURCE_PATH}/build/fbcode_builder/CMake/FindZstd.cmake" +) + + +vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}/wangle" - PREFER_NINJA OPTIONS -DBUILD_TESTS=OFF -DBUILD_EXAMPLES=OFF -DINCLUDE_INSTALL_DIR:STRING=include ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/wangle) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/wangle) -file(READ ${CURRENT_PACKAGES_DIR}/share/wangle/wangle-targets.cmake _contents) +file(READ "${CURRENT_PACKAGES_DIR}/share/wangle/wangle-targets.cmake" _contents) STRING(REPLACE "\${_IMPORT_PREFIX}/lib/" "\${_IMPORT_PREFIX}/\$<\$:debug/>lib/" _contents "${_contents}") STRING(REPLACE "\${_IMPORT_PREFIX}/debug/lib/" "\${_IMPORT_PREFIX}/\$<\$:debug/>lib/" _contents "${_contents}") -file(WRITE ${CURRENT_PACKAGES_DIR}/share/wangle/wangle-targets.cmake "${_contents}") +file(WRITE "${CURRENT_PACKAGES_DIR}/share/wangle/wangle-targets.cmake" "${_contents}") vcpkg_copy_pdbs() file(REMOVE_RECURSE - ${CURRENT_PACKAGES_DIR}/debug/include - ${CURRENT_PACKAGES_DIR}/include/wangle/util/test - ${CURRENT_PACKAGES_DIR}/include/wangle/ssl/test/certs - ${CURRENT_PACKAGES_DIR}/include/wangle/service/test - ${CURRENT_PACKAGES_DIR}/include/wangle/deprecated/rx/test + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/include/wangle/util/test" + "${CURRENT_PACKAGES_DIR}/include/wangle/ssl/test/certs" + "${CURRENT_PACKAGES_DIR}/include/wangle/service/test" + "${CURRENT_PACKAGES_DIR}/include/wangle/deprecated/rx/test" ) -file(INSTALL ${CURRENT_PORT_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) -file(INSTALL ${SOURCE_PATH}/LICENSE 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") diff --git a/ports/wangle/vcpkg.json b/ports/wangle/vcpkg.json index c499e71f04ece4..f02b409a3eec23 100644 --- a/ports/wangle/vcpkg.json +++ b/ports/wangle/vcpkg.json @@ -1,8 +1,9 @@ { "name": "wangle", - "version-string": "2021.06.14.00", + "version-string": "2024.11.04.00", "description": "Wangle is a framework providing a set of common client/server abstractions for building services in a consistent, modular, and composable way.", "homepage": "https://github.com/facebook/wangle", + "license": "Apache-2.0", "dependencies": [ "boost-context", "boost-filesystem", @@ -12,8 +13,17 @@ "double-conversion", "fizz", "folly", + "gflags", "glog", "libevent", - "openssl" + "openssl", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/wasmedge/fix-build-error-with-fmt11.patch b/ports/wasmedge/fix-build-error-with-fmt11.patch new file mode 100644 index 00000000000000..3c584d1954d240 --- /dev/null +++ b/ports/wasmedge/fix-build-error-with-fmt11.patch @@ -0,0 +1,13 @@ +diff --git a/lib/common/errinfo.cpp b/lib/common/errinfo.cpp +index 69aa666..b7b0857 100644 +--- a/lib/common/errinfo.cpp ++++ b/lib/common/errinfo.cpp +@@ -5,6 +5,8 @@ + #include "common/errcode.h" + #include "common/hexstr.h" + ++#include ++ + using namespace std::literals; + + fmt::format_context::iterator diff --git a/ports/wasmedge/fix_find_zstd.patch b/ports/wasmedge/fix_find_zstd.patch new file mode 100644 index 00000000000000..f2be2c620eaba0 --- /dev/null +++ b/ports/wasmedge/fix_find_zstd.patch @@ -0,0 +1,19 @@ +diff --git a/cmake/Helper.cmake b/cmake/Helper.cmake +index f9cdcf2..a270b05 100644 +--- a/cmake/Helper.cmake ++++ b/cmake/Helper.cmake +@@ -221,8 +221,12 @@ if((WASMEDGE_LINK_LLVM_STATIC OR WASMEDGE_BUILD_STATIC_LIB) AND WASMEDGE_BUILD_A + endif() + if (APPLE AND LLVM_VERSION_MAJOR GREATER_EQUAL 15) + # For LLVM 15 or greater on MacOS +- find_package(zstd REQUIRED) +- get_filename_component(ZSTD_PATH "${zstd_LIBRARY}" DIRECTORY) ++ find_package(zstd CONFIG REQUIRED) ++ if(CMAKE_BUILD_TYPE STREQUAL Debug) ++ set(ZSTD_PATH "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/lib") ++ else() ++ set(ZSTD_PATH "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib") ++ endif() + list(APPEND WASMEDGE_LLVM_LINK_STATIC_COMPONENTS + ${ZSTD_PATH}/libzstd.a + ) diff --git a/ports/wasmedge/portfile.cmake b/ports/wasmedge/portfile.cmake new file mode 100644 index 00000000000000..fec240caa03cab --- /dev/null +++ b/ports/wasmedge/portfile.cmake @@ -0,0 +1,68 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO WasmEdge/WasmEdge + REF "${VERSION}" + SHA512 fcd6b804876a5899ec8c21aa349b7ec3e8e0b87537e93d237cb14da2ecb162410ae9ad39212c5ab01e4408191768b806d84e55934616de094a696bf6f02fe1de + HEAD_REF master + PATCHES fix-build-error-with-fmt11.patch +) + +set(WASMEDGE_CMAKE_OPTIONS "") + +list(APPEND WASMEDGE_CMAKE_OPTIONS "-DWASMEDGE_BUILD_AOT_RUNTIME=OFF") + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + list(APPEND WASMEDGE_CMAKE_OPTIONS "-DWASMEDGE_BUILD_STATIC_LIB=OFF") + list(APPEND WASMEDGE_CMAKE_OPTIONS "-DWASMEDGE_BUILD_SHARED_LIB=ON") + list(APPEND WASMEDGE_CMAKE_OPTIONS "-DWASMEDGE_LINK_LLVM_STATIC=OFF") + list(APPEND WASMEDGE_CMAKE_OPTIONS "-DWASMEDGE_LINK_TOOLS_STATIC=OFF") +else() + list(APPEND WASMEDGE_CMAKE_OPTIONS "-DWASMEDGE_BUILD_STATIC_LIB=ON") + list(APPEND WASMEDGE_CMAKE_OPTIONS "-DWASMEDGE_BUILD_SHARED_LIB=OFF") + list(APPEND WASMEDGE_CMAKE_OPTIONS "-DWASMEDGE_LINK_LLVM_STATIC=ON") + list(APPEND WASMEDGE_CMAKE_OPTIONS "-DWASMEDGE_LINK_TOOLS_STATIC=ON") +endif() + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + tools WASMEDGE_BUILD_TOOLS + aot WASMEDGE_BUILD_AOT_RUNTIME + plugins WASMEDGE_BUILD_PLUGINS +) + +# disabled due to build failure +list(APPEND WASMEDGE_CMAKE_OPTIONS "-DWASMEDGE_BUILD_EXAMPLE=OFF") + +set(WASMEDGE_PLUGIN_WASI_NN_BACKEND "") + +if("plugin-wasi-nn-backend-openvino" IN_LIST FEATURES) + list(APPEND WASMEDGE_PLUGIN_WASI_NN_BACKEND "OpenVINO") +endif() +if("plugin-wasi-nn-backend-pytorch" IN_LIST FEATURES) + list(APPEND WASMEDGE_PLUGIN_WASI_NN_BACKEND "PyTorch") +endif() +if("plugin-wasi-nn-backend-tensorflow-lite" IN_LIST FEATURES) + list(APPEND WASMEDGE_PLUGIN_WASI_NN_BACKEND "TensorflowLite") +endif() + +if(NOT WASMEDGE_PLUGIN_WASI_NN_BACKEND STREQUAL "") + list(JOIN WASMEDGE_PLUGIN_WASI_NN_BACKEND "," WASMEDGE_PLUGIN_WASI_NN_BACKEND) + list(APPEND WASMEDGE_CMAKE_OPTIONS "-WASMEDGE_PLUGIN_WASI_NN_BACKEND=${WASMEDGE_PLUGIN_WASI_NN_BACKEND}") +endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${WASMEDGE_CMAKE_OPTIONS} + ${FEATURE_OPTIONS} + OPTIONS_RELEASE + -DCMAKE_INSTALL_BINDIR=${CURRENT_PACKAGES_DIR}/tools + OPTIONS_DEBUG + -DCMAKE_INSTALL_BINDIR=${CURRENT_PACKAGES_DIR}/debug/tools +) + +vcpkg_cmake_install() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/wasmedge/vcpkg.json b/ports/wasmedge/vcpkg.json new file mode 100644 index 00000000000000..5bdb72d75600a0 --- /dev/null +++ b/ports/wasmedge/vcpkg.json @@ -0,0 +1,53 @@ +{ + "name": "wasmedge", + "version": "0.13.5", + "port-version": 2, + "description": "WasmEdge is a high-performance WebAssembly runtime for edge computing.", + "homepage": "https://WasmEdge.org", + "license": "Apache-2.0", + "supports": "!windows", + "dependencies": [ + "boost-algorithm", + "boost-align", + "boost-predef", + "spdlog", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "default-features": [ + "tools" + ], + "features": { + "aot": { + "description": "Build with the Ahead-of-Time compiler supporting", + "dependencies": [ + "llvm" + ] + }, + "plugin-wasi-nn-backend-openvino": { + "description": "Build the OpenVINO backend plugin for the WasmEdge WASI-NN extension", + "supports": "linux & !static" + }, + "plugin-wasi-nn-backend-pytorch": { + "description": "Build the PyTorch backend plugin for the WasmEdge WASI-NN extension", + "supports": "linux & !static" + }, + "plugin-wasi-nn-backend-tensorflowlite": { + "description": "Build the TensorFlow Lite backend plugin for the WasmEdge WASI-NN extension", + "supports": "linux & !static" + }, + "plugins": { + "description": "Build plugins", + "supports": "!static" + }, + "tools": { + "description": "Build tools" + } + } +} diff --git a/ports/wavelib/disable-test.patch b/ports/wavelib/disable-test.patch new file mode 100644 index 00000000000000..de8516523bd046 --- /dev/null +++ b/ports/wavelib/disable-test.patch @@ -0,0 +1,12 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e2e8a4d..d228001 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -48,7 +48,6 @@ endif() + + add_subdirectory(src) + add_subdirectory(auxiliary) +-add_subdirectory(test) + + install(DIRECTORY ${WAVELIB_SRC_ROOT}/header/ + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} diff --git a/ports/wavelib/portfile.cmake b/ports/wavelib/portfile.cmake index 4951cf40a542ce..7dfc299adc48d0 100644 --- a/ports/wavelib/portfile.cmake +++ b/ports/wavelib/portfile.cmake @@ -6,11 +6,12 @@ vcpkg_from_github( REF a92456d2e20451772dd76c2a0a3368537ee94184 SHA512 d14ebc0d96e86d9226fa346cb6ef157b2949985dfedf4228dd4356ccacaac48fde47edfcba31e7455b25dc95c7a1cb148ad6845143c17ae5972659c98e683865 HEAD_REF master + PATCHES + disable-test.patch ) vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} - DISABLE_PARALLEL_CONFIGURE + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_UT=OFF ) diff --git a/ports/wavelib/vcpkg.json b/ports/wavelib/vcpkg.json index 1c346cf8702897..0906ba86520444 100644 --- a/ports/wavelib/vcpkg.json +++ b/ports/wavelib/vcpkg.json @@ -1,6 +1,6 @@ { "name": "wavelib", - "version-date": "2021-08-10", + "version-date": "2021-11-26", "description": "C implementation of wavelet transform (DWT,SWT and MODWT)", "homepage": "https://github.com/rafat/wavelib", "license": "BSD-3-Clause", diff --git a/ports/wavpack/CMakeLists-patch.diff b/ports/wavpack/CMakeLists-patch.diff new file mode 100644 index 00000000000000..1fe37634d0867b --- /dev/null +++ b/ports/wavpack/CMakeLists-patch.diff @@ -0,0 +1,25 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c9f9e70..74b6ba2 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -624,8 +624,19 @@ if(WAVPACK_INSTALL_CMAKE_MODULE) + write_basic_package_version_file(wavpack-config-version.cmake COMPATIBILITY SameMinorVersion) + endif() + ++ configure_package_config_file( ++ ${CMAKE_CURRENT_LIST_DIR}/wavpack-config.cmake.in ++ "${CMAKE_CURRENT_BINARY_DIR}/wavpack-config.cmake" ++ INSTALL_DESTINATION ${CMAKE_INSTALL_PACKAGEDIR} ++ ) ++ ++ install(FILES ++ "${CMAKE_CURRENT_BINARY_DIR}/wavpack-config.cmake" ++ DESTINATION ${CMAKE_INSTALL_PACKAGEDIR} ++ ) ++ + install(EXPORT wavpack-targets +- FILE wavpack-config.cmake ++ FILE wavpack-targets.cmake + NAMESPACE WavPack:: + DESTINATION ${CMAKE_INSTALL_PACKAGEDIR} + ) diff --git a/ports/wavpack/OpenSSL.patch b/ports/wavpack/OpenSSL.patch deleted file mode 100644 index 6d8e956ade5a58..00000000000000 --- a/ports/wavpack/OpenSSL.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 70e1043f..d8cb8b10 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -208,7 +208,7 @@ target_include_directories(wavpack - target_link_libraries(wavpack - PRIVATE - $<$:m> -- $<$:${OPENSSL_CRYPTO_LIBRARY}> -+ $<$:OpenSSL::Crypto> - ) - target_compile_definitions(wavpack - PRIVATE diff --git a/ports/wavpack/config-patch.diff b/ports/wavpack/config-patch.diff new file mode 100644 index 00000000000000..3fd541238d3cde --- /dev/null +++ b/ports/wavpack/config-patch.diff @@ -0,0 +1,16 @@ +diff --git a/wavpack-config.cmake.in b/wavpack-config.cmake.in +new file mode 100644 +index 0000000..eb6afd8 +--- /dev/null ++++ b/wavpack-config.cmake.in +@@ -0,0 +1,9 @@ ++@PACKAGE_INIT@ ++ ++include(CMakeFindDependencyMacro) ++ ++if(NOT WIN32 AND "@WAVPACK_ENABLE_THREADS@") ++ find_dependency(Threads) ++endif() ++ ++include("${CMAKE_CURRENT_LIST_DIR}/wavpack-targets.cmake") +\ No newline at end of file diff --git a/ports/wavpack/fix-symbol-exports.patch b/ports/wavpack/fix-symbol-exports.patch deleted file mode 100644 index 999a05417cfeb7..00000000000000 --- a/ports/wavpack/fix-symbol-exports.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 70e1043f..d8cb8b10 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -328,7 +328,7 @@ foreach(EXPORT_SYMBOL ${WAVPACK_EXPORT_SYMBOLS}) - list(APPEND FILE_CONTENTS "_${EXPORT_SYMBOL}\n") - endforeach() - file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/libwavpack.sym ${FILE_CONTENTS}) -- target_link_libraries(wavpack PRIVATE "-Wl,-exported_symbols_list,'${CMAKE_CURRENT_BINARY_DIR}/libwavpack.sym'") -+ set_target_properties(wavpack PROPERTIES LINK_FLAGS "-Wl,-exported_symbols_list,'${CMAKE_CURRENT_BINARY_DIR}/libwavpack.sym'") - else() - set(CONFTTEST_CONTENTS "VERS_1 {\n global: sym\;\n\n};\n\nVERS_2 {\n global: sym;\n} VERS_1\;") - file(WRITE ${PROJECT_BINARY_DIR}/${CMAKE_FILES_DIRECTORY}/conftest.map "${CONFTTEST_CONTENTS}") -@@ -340,7 +340,7 @@ list(APPEND FILE_CONTENTS "${EXPORT_SYMBOL}\;\n") - endforeach() - list(APPEND FILE_CONTENTS "local: *\; }\;") - file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/libwavpack.map ${FILE_CONTENTS}) -- target_link_libraries(wavpack PRIVATE "-Wl,--version-script='${CMAKE_CURRENT_BINARY_DIR}/libwavpack.map';-Wl,-no-undefined") -+ set_target_properties(wavpack PROPERTIES LINK_FLAGS "-Wl,--version-script='${CMAKE_CURRENT_BINARY_DIR}/libwavpack.map';-Wl,-no-undefined") - endif() - endif() - diff --git a/ports/wavpack/portfile.cmake b/ports/wavpack/portfile.cmake index aa7300aa5b867b..1c1495a230748a 100644 --- a/ports/wavpack/portfile.cmake +++ b/ports/wavpack/portfile.cmake @@ -1,19 +1,15 @@ -vcpkg_fail_port_install(ON_ARCH "arm" "arm64") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO dbry/WavPack - REF 5.4.0 - SHA512 4DD6C484032FDFB1BC0E9A95881677FADE39A5E07CB98713A6B29DF0E9A570D6D27856FCAF412A714A5D7708C9CC2ADACE03A06970B06C4C5B2987E7EB2E643D - HEAD_REF master + REF ${VERSION} + SHA512 7a0b00ee19a784b5a2ae40c1d86ddf47d989b0302ee32e6b2f4db828d632b877566f9bb8c1998d129b022f988966f29db05b7a2b59cefdd5b603292ea20464ec PATCHES - OpenSSL.patch - fix-symbol-exports.patch + CMakeLists-patch.diff + config-patch.diff ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA # Disable this option if project cannot be built with Ninja +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DWAVPACK_INSTALL_DOCS=OFF -DWAVPACK_BUILD_PROGRAMS=OFF @@ -21,14 +17,15 @@ vcpkg_configure_cmake( -DWAVPACK_BUILD_WINAMP_PLUGIN=OFF -DBUILD_TESTING=OFF -DWAVPACK_BUILD_DOCS=OFF + -DWAVPACK_ENABLE_LIBCRYPTO=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() if(VCPKG_TARGET_IS_WINDOWS) - vcpkg_fixup_cmake_targets(CONFIG_PATH cmake) + vcpkg_cmake_config_fixup(CONFIG_PATH cmake) else() - vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/WavPack) + vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/WavPack) endif() vcpkg_copy_pdbs() @@ -37,10 +34,14 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(INSTALL "${SOURCE_PATH}/license.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) -if(WIN32 AND (NOT MINGW)) +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/wavpack.pc" "-lwavpack" "-lwavpackdll") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/wavpack.pc" "-lwavpack" "-lwavpackdll") + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/wavpack.pc" "-lwavpack" "-lwavpackdll") + endif() + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/wavpack.pc" "-lwavpack" "-lwavpackdll") + endif() endif() endif() diff --git a/ports/wavpack/vcpkg.json b/ports/wavpack/vcpkg.json index bf488fb5431be4..de3638d9e7cafb 100644 --- a/ports/wavpack/vcpkg.json +++ b/ports/wavpack/vcpkg.json @@ -1,7 +1,18 @@ { "name": "wavpack", - "version": "5.4.0", + "version": "5.7.0", "description": "WavPack encode/decode library, command-line programs, and several plugins", "homepage": "https://github.com/dbry/WavPack", - "supports": "!(arm | arm64)" + "license": "BSD-3-Clause", + "supports": "!(windows & arm)", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/wayland-protocols/portfile.cmake b/ports/wayland-protocols/portfile.cmake new file mode 100644 index 00000000000000..bd88231d262a42 --- /dev/null +++ b/ports/wayland-protocols/portfile.cmake @@ -0,0 +1,38 @@ +vcpkg_minimum_required(VERSION 2022-10-12) # for ${VERSION} +set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + "force-build" FORCE_BUILD +) + +if(NOT X_VCPKG_FORCE_VCPKG_WAYLAND_LIBRARIES AND NOT VCPKG_TARGET_IS_WINDOWS AND NOT FORCE_BUILD) + 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_WAYLAND_LIBRARIES") + set(VCPKG_POLICY_EMPTY_PACKAGE enabled) +else() + +if (NOT FORCE_BUILD OR NOT X_VCPKG_FORCE_VCPKG_WAYLAND_LIBRARIES) + message(FATAL_ERROR "To build wayland libraries the `force-build` feature must be enabled and the X_VCPKG_FORCE_VCPKG_WAYLAND_LIBRARIES triplet variable must be set.") +endif() + +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.freedesktop.org + OUT_SOURCE_PATH SOURCE_PATH + REPO wayland/wayland-protocols + REF ${VERSION} + SHA512 cb0d38fada64832f8f7c71c1fcdd16fc3013cd81ac7146edbc4361328c9e5f02e31e0ba3b5219e85103fdc35aee49d54f9be537594d3618c5fb27de7375f84e1 + HEAD_REF master +) + +vcpkg_configure_meson( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -Dtests=false +) +vcpkg_install_meson() +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") +# Handle copyright +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") +endif() diff --git a/ports/wayland-protocols/vcpkg.json b/ports/wayland-protocols/vcpkg.json new file mode 100644 index 00000000000000..434195d9da21f1 --- /dev/null +++ b/ports/wayland-protocols/vcpkg.json @@ -0,0 +1,27 @@ +{ + "name": "wayland-protocols", + "version": "1.31", + "port-version": 1, + "description": "wayland-protocols contains Wayland protocols that add functionality not available in the Wayland core protocol.", + "homepage": "https://wayland.freedesktop.org", + "license": "MIT", + "dependencies": [ + "wayland" + ], + "features": { + "force-build": { + "description": [ + "Build wayland libraries instead of depending on system ones.", + "Requires triplet variable X_VCPKG_FORCE_VCPKG_WAYLAND_LIBRARIES to be set." + ], + "dependencies": [ + { + "name": "wayland", + "features": [ + "force-build" + ] + } + ] + } + } +} diff --git a/ports/wayland/portfile.cmake b/ports/wayland/portfile.cmake new file mode 100644 index 00000000000000..9fa0fb8cc8568a --- /dev/null +++ b/ports/wayland/portfile.cmake @@ -0,0 +1,81 @@ +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + "force-build" FORCE_BUILD +) + +if(NOT X_VCPKG_FORCE_VCPKG_WAYLAND_LIBRARIES AND NOT VCPKG_TARGET_IS_WINDOWS AND NOT FORCE_BUILD) + 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_WAYLAND_LIBRARIES") + set(VCPKG_POLICY_EMPTY_PACKAGE enabled) +else() + + +if (NOT FORCE_BUILD OR NOT X_VCPKG_FORCE_VCPKG_WAYLAND_LIBRARIES) + message(FATAL_ERROR "To build wayland libraries the `force-build` feature must be enabled and the X_VCPKG_FORCE_VCPKG_WAYLAND_LIBRARIES triplet variable must be set.") +endif() + +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.freedesktop.org + OUT_SOURCE_PATH SOURCE_PATH + REPO wayland/wayland + REF 8135e856ebd79872f886466e9cee39affb7d9ee8 + SHA512 c4115187826083e5f01a24dad0c4377458b7ca22973ea161ec9d4aeeb21869bdb9acd7ba7e89aba964571ce2fde319cb01808e94e502ff09061bf5fbd3a60079 + HEAD_REF master +) + +if(VCPKG_CROSSCOMPILING) + set(OPTIONS -Dscanner=false) +else() + set(OPTIONS -Dscanner=true) +endif() + +vcpkg_configure_meson( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS -Ddtd_validation=false + -Ddocumentation=false + -Dtests=false + ${OPTIONS} +) +vcpkg_install_meson() + +if(EXISTS "${CURRENT_PACKAGES_DIR}/lib/" AND VCPKG_LIBRARY_LINKAGE STREQUAL static) + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/src/${VCPKG_TARGET_STATIC_LIBRARY_PREFIX}wayland-private${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}" + DESTINATION "${CURRENT_PACKAGES_DIR}/lib") + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/src/${VCPKG_TARGET_STATIC_LIBRARY_PREFIX}wayland-util${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}" + DESTINATION "${CURRENT_PACKAGES_DIR}/lib") +endif() +if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/lib/" AND VCPKG_LIBRARY_LINKAGE STREQUAL static) + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/src/${VCPKG_TARGET_STATIC_LIBRARY_PREFIX}wayland-private${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}" + DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/src/${VCPKG_TARGET_STATIC_LIBRARY_PREFIX}wayland-util${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}" + DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") +endif() +vcpkg_fixup_pkgconfig() + +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/${PORT}" RENAME copyright) + +file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/${PORT}") +file(RENAME "${CURRENT_PACKAGES_DIR}/bin/wayland-scanner${VCPKG_TARGET_EXECUTABLE_SUFFIX}" "${CURRENT_PACKAGES_DIR}/tools/${PORT}/wayland-scanner${VCPKG_TARGET_EXECUTABLE_SUFFIX}") +file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/share/${PORT}") +file(RENAME "${CURRENT_PACKAGES_DIR}/share/aclocal" "${CURRENT_PACKAGES_DIR}/share/${PORT}/aclocal") +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() + +set(_file "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/wayland-scanner.pc") +if(EXISTS "${_file}") + file(READ "${_file}" _contents) + string(REPLACE "bindir=\${prefix}/bin" "bindir=\${prefix}/tools/${PORT}" _contents "${_contents}") + file(WRITE "${_file}" "${_contents}") +endif() + +set(_file "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/wayland-scanner.pc") +if(EXISTS "${_file}") + file(READ "${_file}" _contents) + string(REPLACE "bindir=\${prefix}/bin" "bindir=\${prefix}/../tools/${PORT}" _contents "${_contents}") + file(WRITE "${_file}" "${_contents}") +endif() +endif() diff --git a/ports/wayland/vcpkg.json b/ports/wayland/vcpkg.json new file mode 100644 index 00000000000000..ef052fdbb0183d --- /dev/null +++ b/ports/wayland/vcpkg.json @@ -0,0 +1,26 @@ +{ + "name": "wayland", + "version": "1.21.0", + "port-version": 1, + "description": "Core Wayland window system code and protocol", + "homepage": "https://wayland.freedesktop.org", + "license": "MIT", + "supports": "!(windows | osx)", + "features": { + "force-build": { + "description": [ + "Build wayland libraries instead of depending on system ones.", + "Requires triplet variable X_VCPKG_FORCE_VCPKG_WAYLAND_LIBRARIES to be set." + ], + "dependencies": [ + "expat", + "libffi", + "libxml2", + { + "name": "vcpkg-tool-meson", + "host": true + } + ] + } + } +} diff --git a/ports/wcslib/portfile.cmake b/ports/wcslib/portfile.cmake new file mode 100644 index 00000000000000..bb61a0338a5611 --- /dev/null +++ b/ports/wcslib/portfile.cmake @@ -0,0 +1,27 @@ +vcpkg_download_distfile(archive + URLS "http://www.atnf.csiro.au/people/mcalabre/WCS/wcslib-8.2.1.tar.bz2" + FILENAME "wcslib-8.2.1.tar.bz2" + SHA512 0d1ab63445974c2a4f425225cde197866187a9e7ae0195a33dcb33ad299018294338bc16ab4cbe6a3a27fb40aded75c60377348eaa91713d16a934cd95532c25 +) + +vcpkg_extract_source_archive( + src + ARCHIVE "${archive}" +) + +vcpkg_configure_make( + SOURCE_PATH ${src} + COPY_SOURCE + OPTIONS + --disable-flex + --disable-fortran + --without-pgplot + --without-cfitsio) + +vcpkg_install_make(MAKEFILE GNUmakefile) +vcpkg_fixup_pkgconfig() +vcpkg_install_copyright(FILE_LIST "${src}/COPYING") + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") diff --git a/ports/wcslib/usage b/ports/wcslib/usage new file mode 100644 index 00000000000000..00db7980589a79 --- /dev/null +++ b/ports/wcslib/usage @@ -0,0 +1,6 @@ +wcslib can be imported via CMake FindPkgConfig module: + + find_package(PkgConfig) + pkg_check_modules(wcslib REQUIRED IMPORTED_TARGET wcslib) + target_include_directories(main PRIVATE PkgConfig::wcslib) + target_link_libraries(main PRIVATE PkgConfig::wcslib) diff --git a/ports/wcslib/vcpkg.json b/ports/wcslib/vcpkg.json new file mode 100644 index 00000000000000..852730641537de --- /dev/null +++ b/ports/wcslib/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "wcslib", + "version": "8.2.1", + "description": "World Coordinate System (WCS) (Library)", + "homepage": "https://www.atnf.csiro.au/people/mcalabre/WCS/", + "supports": "!windows" +} diff --git a/ports/websocketpp/cxx20.patch b/ports/websocketpp/cxx20.patch new file mode 100644 index 00000000000000..f70919d6dd75e0 --- /dev/null +++ b/ports/websocketpp/cxx20.patch @@ -0,0 +1,93 @@ +diff --git "a/websocketpp/endpoint.hpp" "b/websocketpp/endpoint.hpp" +index c124b1d..9ce8a62 100644 +--- "a/websocketpp/endpoint.hpp" ++++ "b/websocketpp/endpoint.hpp" +@@ -109,7 +109,7 @@ public: + + + /// Destructor +- ~endpoint() {} ++ ~endpoint() {} + + #ifdef _WEBSOCKETPP_DEFAULT_DELETE_FUNCTIONS_ + // no copy constructor because endpoints are not copyable +diff --git "a/websocketpp/logger/basic.hpp" "b/websocketpp/logger/basic.hpp" +index 8451413..4c9d836 100644 +--- "a/websocketpp/logger/basic.hpp" ++++ "b/websocketpp/logger/basic.hpp" +@@ -58,33 +58,33 @@ namespace log { + template + class basic { + public: +- basic(channel_type_hint::value h = ++ basic(channel_type_hint::value h = + channel_type_hint::access) + : m_static_channels(0xffffffff) + , m_dynamic_channels(0) + , m_out(h == channel_type_hint::error ? &std::cerr : &std::cout) {} + +- basic(std::ostream * out) ++ basic(std::ostream * out) + : m_static_channels(0xffffffff) + , m_dynamic_channels(0) + , m_out(out) {} + +- basic(level c, channel_type_hint::value h = ++ basic(level c, channel_type_hint::value h = + channel_type_hint::access) + : m_static_channels(c) + , m_dynamic_channels(0) + , m_out(h == channel_type_hint::error ? &std::cerr : &std::cout) {} + +- basic(level c, std::ostream * out) ++ basic(level c, std::ostream * out) + : m_static_channels(c) + , m_dynamic_channels(0) + , m_out(out) {} + + /// Destructor +- ~basic() {} ++ ~basic() {} + + /// Copy constructor +- basic(basic const & other) ++ basic(basic const & other) + : m_static_channels(other.m_static_channels) + , m_dynamic_channels(other.m_dynamic_channels) + , m_out(other.m_out) +@@ -97,7 +97,7 @@ public: + + #ifdef _WEBSOCKETPP_MOVE_SEMANTICS_ + /// Move constructor +- basic(basic && other) ++ basic(basic && other) + : m_static_channels(other.m_static_channels) + , m_dynamic_channels(other.m_dynamic_channels) + , m_out(other.m_out) +diff --git a/websocketpp/roles/server_endpoint.hpp b/websocketpp/roles/server_endpoint.hpp +index 4a5865eff..04fee18f9 100644 +--- a/websocketpp/roles/server_endpoint.hpp ++++ b/websocketpp/roles/server_endpoint.hpp +@@ -75,11 +75,11 @@ class server : public endpoint,config> { + } + + /// Destructor +- ~server() {} ++ ~server() {} + + #ifdef _WEBSOCKETPP_DEFAULT_DELETE_FUNCTIONS_ + // no copy constructor because endpoints are not copyable +- server(server &) = delete; ++ server(server &) = delete; + + // no copy assignment operator because endpoints are not copyable + server & operator=(server const &) = delete; +@@ -87,7 +87,7 @@ class server : public endpoint,config> { + + #ifdef _WEBSOCKETPP_MOVE_SEMANTICS_ + /// Move constructor +- server(server && o) : endpoint,config>(std::move(o)) {} ++ server(server && o) : endpoint,config>(std::move(o)) {} + + #ifdef _WEBSOCKETPP_DEFAULT_DELETE_FUNCTIONS_ + // no move assignment operator because of const member variables diff --git a/ports/websocketpp/portfile.cmake b/ports/websocketpp/portfile.cmake index 8feb3bd8e9d9e6..2592ca3313b418 100644 --- a/ports/websocketpp/portfile.cmake +++ b/ports/websocketpp/portfile.cmake @@ -6,6 +6,8 @@ vcpkg_from_github( REF 56123c87598f8b1dd471be83ca841ceae07f95ba # 0.8.2 SHA512 f185a66e5a7c783254352a6ef87e2e559f681032b7368765d08393ed12bcae76825abed7dcaea73de09df644320409dad46279701f5f469520542a2c9b6a6163 HEAD_REF master + PATCHES + cxx20.patch ) file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/${PORT}) diff --git a/ports/websocketpp/vcpkg.json b/ports/websocketpp/vcpkg.json index 460fa86cabddc7..4bb358f37373d4 100644 --- a/ports/websocketpp/vcpkg.json +++ b/ports/websocketpp/vcpkg.json @@ -1,7 +1,7 @@ { "name": "websocketpp", "version": "0.8.2", - "port-version": 1, + "port-version": 3, "description": "Library that implements RFC6455 The WebSocket Protocol", "homepage": "https://github.com/zaphoyd/websocketpp", "documentation": "http://docs.websocketpp.org/", diff --git a/ports/webthing-cpp/portfile.cmake b/ports/webthing-cpp/portfile.cmake new file mode 100644 index 00000000000000..49d7367d992533 --- /dev/null +++ b/ports/webthing-cpp/portfile.cmake @@ -0,0 +1,28 @@ +set(VCPKG_BUILD_TYPE release) # header-only + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO bw-hro/webthing-cpp + REF "v${VERSION}" + SHA512 a4df3424721542ea4a7951ffc643905d31d906bcf87bed613b422ba8c0babb406f842459ba6c6df73c332c70c6fdd639413dc42272fd3b27fdf96b2cee528d36 + HEAD_REF master +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + ssl WT_WITH_SSL +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} + -DWT_BUILD_EXAMPLES=OFF + -DWT_BUILD_TESTS=OFF +) + +vcpkg_cmake_install() + +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/webthing-cpp/usage b/ports/webthing-cpp/usage new file mode 100644 index 00000000000000..5e4ea63d3ef24a --- /dev/null +++ b/ports/webthing-cpp/usage @@ -0,0 +1,5 @@ + +webthing-cpp is header-only and can be used from CMake via: + + find_path(WEBTHING_CPP_INCLUDE_DIRS "bw/webthing/webthing.hpp") + target_include_directories(main PRIVATE ${WEBTHING_CPP_INCLUDE_DIRS}) diff --git a/ports/webthing-cpp/vcpkg.json b/ports/webthing-cpp/vcpkg.json new file mode 100644 index 00000000000000..50b966a0aa49ec --- /dev/null +++ b/ports/webthing-cpp/vcpkg.json @@ -0,0 +1,30 @@ +{ + "name": "webthing-cpp", + "version": "1.0.5", + "description": "Webthing-CPP is a modern CPP/C++17 implementation of the WebThings API.", + "homepage": "https://github.com/bw-hro/webthing-cpp", + "license": "MIT", + "dependencies": [ + "json-schema-validator", + "mdns", + "nlohmann-json", + "uwebsockets", + { + "name": "vcpkg-cmake", + "host": true + } + ], + "features": { + "ssl": { + "description": "Support HTTPS via uwebsockets", + "dependencies": [ + { + "name": "usockets", + "features": [ + "ssl" + ] + } + ] + } + } +} diff --git a/ports/webview2/portfile.cmake b/ports/webview2/portfile.cmake new file mode 100644 index 00000000000000..7a5217bb4f8a53 --- /dev/null +++ b/ports/webview2/portfile.cmake @@ -0,0 +1,53 @@ +if(VCPKG_TARGET_IS_UWP) + vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) +endif() + +vcpkg_download_distfile(ARCHIVE + URLS "https://www.nuget.org/api/v2/package/Microsoft.Web.WebView2/${VERSION}" + FILENAME "microsoft.web.webview2.${VERSION}.zip" + SHA512 83384c5232cc95007aca0a5557e1f42a0784fcf57360e65535b3e25421e0de39d6889ebe17f446a94e00123923da917f47fe932817c9d2cc3c3e1fff314476f5 +) + +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" + SOURCE_BASE "${VERSION}" + NO_REMOVE_ONE_LEVEL +) + +file(COPY + "${SOURCE_PATH}/build/native/include/" + DESTINATION "${CURRENT_PACKAGES_DIR}/include") +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + file(COPY + "${SOURCE_PATH}/build/native/${VCPKG_TARGET_ARCHITECTURE}/WebView2LoaderStatic.lib" + DESTINATION "${CURRENT_PACKAGES_DIR}/lib") +else() + file(COPY + "${SOURCE_PATH}/build/native/include-winrt/" + DESTINATION "${CURRENT_PACKAGES_DIR}/include") + file(COPY + "${SOURCE_PATH}/lib/Microsoft.Web.WebView2.Core.winmd" + DESTINATION "${CURRENT_PACKAGES_DIR}/lib") + file(COPY + "${SOURCE_PATH}/build/native/${VCPKG_TARGET_ARCHITECTURE}/WebView2Loader.dll.lib" + DESTINATION "${CURRENT_PACKAGES_DIR}/lib") + file(COPY + "${SOURCE_PATH}/build/native/${VCPKG_TARGET_ARCHITECTURE}/WebView2Loader.dll" + "${SOURCE_PATH}/runtimes/win-${VCPKG_TARGET_ARCHITECTURE}/native_uap/Microsoft.Web.WebView2.Core.dll" + DESTINATION "${CURRENT_PACKAGES_DIR}/bin") +endif() +if(NOT VCPKG_BUILD_TYPE) + if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + file(COPY "${CURRENT_PACKAGES_DIR}/bin" DESTINATION "${CURRENT_PACKAGES_DIR}/debug") + endif() + file(COPY "${CURRENT_PACKAGES_DIR}/lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug") +endif() + +file(COPY "${CMAKE_CURRENT_LIST_DIR}/unofficial-webview2-config.cmake" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/unofficial-webview2") + +# The import libraries for webview fail with "Could not find proper second linker member" +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) + +configure_file("${SOURCE_PATH}/LICENSE.txt" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) diff --git a/ports/webview2/unofficial-webview2-config.cmake b/ports/webview2/unofficial-webview2-config.cmake new file mode 100644 index 00000000000000..60851bc2390287 --- /dev/null +++ b/ports/webview2/unofficial-webview2-config.cmake @@ -0,0 +1,21 @@ +get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_DIR}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) + +if(NOT TARGET unofficial::webview2::webview2) + if(EXISTS "${_IMPORT_PREFIX}/lib/WebView2LoaderStatic.lib") + add_library(unofficial::webview2::webview2 STATIC IMPORTED) + set_target_properties(unofficial::webview2::webview2 + PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" + IMPORTED_LOCATION "${_IMPORT_PREFIX}/lib/WebView2LoaderStatic.lib") + else() + add_library(unofficial::webview2::webview2 SHARED IMPORTED) + set_target_properties(unofficial::webview2::webview2 + PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" + IMPORTED_LOCATION "${_IMPORT_PREFIX}/bin/WebView2Loader.dll" + IMPORTED_IMPLIB "${_IMPORT_PREFIX}/lib/WebView2Loader.dll.lib") + endif() +endif() + +unset(_IMPORT_PREFIX) diff --git a/ports/webview2/vcpkg.json b/ports/webview2/vcpkg.json new file mode 100644 index 00000000000000..e48a4c4315eb44 --- /dev/null +++ b/ports/webview2/vcpkg.json @@ -0,0 +1,12 @@ +{ + "name": "webview2", + "version": "1.0.2277.86", + "description": "The WebView2 control allows you to embed web technologies (HTML, CSS, and JavaScript) using Microsoft Edge", + "homepage": "https://docs.microsoft.com/en-us/microsoft-edge/webview2", + "documentation": "https://docs.microsoft.com/en-us/microsoft-edge/webview2", + "license": "BSD-3-Clause", + "supports": "windows & (x86 | x64 | arm64)", + "dependencies": [ + "wil" + ] +} diff --git a/ports/wepoll/portfile.cmake b/ports/wepoll/portfile.cmake index 8032e6000ca5fd..73b488f28cdc84 100644 --- a/ports/wepoll/portfile.cmake +++ b/ports/wepoll/portfile.cmake @@ -13,18 +13,17 @@ vcpkg_from_github( HEAD_REF dist ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") # Handle copyright -configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) +configure_file("${SOURCE_PATH}/LICENSE" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) diff --git a/ports/wepoll/vcpkg.json b/ports/wepoll/vcpkg.json index c2d14c63730b74..53bb601095491d 100644 --- a/ports/wepoll/vcpkg.json +++ b/ports/wepoll/vcpkg.json @@ -1,8 +1,14 @@ { "name": "wepoll", - "version-string": "1.5.8", - "port-version": 1, + "version": "1.5.8", + "port-version": 3, "description": "Fast epoll for windows", "homepage": "https://github.com/piscisaureus/wepoll", - "supports": "windows" + "supports": "windows", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/wg21-linear-algebra/portfile.cmake b/ports/wg21-linear-algebra/portfile.cmake new file mode 100644 index 00000000000000..d4f9799aaac381 --- /dev/null +++ b/ports/wg21-linear-algebra/portfile.cmake @@ -0,0 +1,32 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO BobSteagall/wg21 + REF "v${VERSION}" + SHA512 ab1db0cff476d2f63a5d1fcc1d3b40acbceeacae61a99d7ad0b8d8abe21413da97b71c088a331b70c0d0c3dc4615953485c68af46698ec7f0013e14bea5f9452 + PATCHES + use-external-mdspan.patch # https://github.com/BobSteagall/wg21/pull/80 +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DLA_INSTALL=ON + -DLA_BUILD_PACKAGE=OFF + -DLA_ENABLE_TESTS=OFF + -DUSE_EXTERNAL_MDSPAN=ON +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup( + PACKAGE_NAME wg21_linear_algebra + CONFIG_PATH lib/cmake/wg21_linear_algebra +) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/cmake" + "${CURRENT_PACKAGES_DIR}/debug" + "${CURRENT_PACKAGES_DIR}/lib" +) diff --git a/ports/wg21-linear-algebra/use-external-mdspan.patch b/ports/wg21-linear-algebra/use-external-mdspan.patch new file mode 100644 index 00000000000000..a5a70c19c9c5d3 --- /dev/null +++ b/ports/wg21-linear-algebra/use-external-mdspan.patch @@ -0,0 +1,17 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 7821b27..723a1a9 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -12,7 +12,11 @@ include(GNUInstallDirs) + include(CMakeDependentOption) + include(CMakePackageConfigHelpers) + +-if(EXISTS ${CMAKE_BINARY_DIR}/conanbuildinfo_multi.cmake) ++option(USE_EXTERNAL_MDSPAN "Use external copy of mdspan" OFF) ++ ++if(${USE_EXTERNAL_MDSPAN}) ++ find_package(mdspan CONFIG REQUIRED) ++elseif(EXISTS ${CMAKE_BINARY_DIR}/conanbuildinfo_multi.cmake) + include(${CMAKE_BINARY_DIR}/conanbuildinfo_multi.cmake) + conan_basic_setup() + find_package(mdspan CONFIG REQUIRED) diff --git a/ports/wg21-linear-algebra/vcpkg.json b/ports/wg21-linear-algebra/vcpkg.json new file mode 100644 index 00000000000000..4379168ea05988 --- /dev/null +++ b/ports/wg21-linear-algebra/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "wg21-linear-algebra", + "version": "0.7.3", + "port-version": 1, + "description": "A linear algebra proposal for the C++ standard library", + "license": "NCSA", + "dependencies": [ + "mdspan", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/wg21-sg14/vcpkg.json b/ports/wg21-sg14/vcpkg.json index 4999f444bd8d7d..92bd9dde0c666d 100644 --- a/ports/wg21-sg14/vcpkg.json +++ b/ports/wg21-sg14/vcpkg.json @@ -1,7 +1,7 @@ { "name": "wg21-sg14", - "version-string": "2019-08-13", - "port-version": 1, + "version-date": "2019-08-13", + "port-version": 2, "description": "A library for Study Group 14 of Working Group 21 (C++)", "homepage": "https://github.com/WG21-SG14/SG14" } diff --git a/ports/wil/portfile.cmake b/ports/wil/portfile.cmake index d6b3bcbb194347..07bf9c3843e5df 100644 --- a/ports/wil/portfile.cmake +++ b/ports/wil/portfile.cmake @@ -2,23 +2,29 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Microsoft/wil - REF 5a21cac10640f54b7ef886031f4d9ed427bef4c5 - SHA512 b1a6703dd75eee66f81c54bb5c01bc9acc7354c113fd556afb2dd95361db7e9f94c9e958d9a0b897359084c9c08cb725bbe214fdaccf2e662c1ca4aa73c3345a + REF "v${VERSION}" + SHA512 5701001b2c7174dafa5b7b6494b65b982245dfa31131b40542a00063b4f6d26c142c789e64b88367f5f1cdddf882780610fdf724f0bf6b3663d8ba9e3214b5b2 HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +# WIL is header-only, so we don't need to build it in both modes +set(VCPKG_BUILD_TYPE release) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DWIL_BUILD_TESTS=OFF -DWIL_BUILD_PACKAGING=ON ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/WIL) +vcpkg_cmake_config_fixup(CONFIG_PATH share/cmake/WIL) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") -file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) \ No newline at end of file +# Install natvis files +file(INSTALL "${SOURCE_PATH}/natvis/" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}/natvis") + +# Install copyright +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") \ No newline at end of file diff --git a/ports/wil/vcpkg.json b/ports/wil/vcpkg.json index fca2add1144a16..66929b0a5b52ea 100644 --- a/ports/wil/vcpkg.json +++ b/ports/wil/vcpkg.json @@ -1,7 +1,17 @@ { "name": "wil", - "version-string": "2021-08-03", - "port-version": 1, + "version": "1.0.240803.1", "description": "The Windows Implementation Libraries (WIL) is a header-only C++ library created to make life easier for developers on Windows through readable type-safe C++ interfaces for common Windows coding patterns.", - "homepage": "https://github.com/microsoft/wil" + "homepage": "https://github.com/microsoft/wil", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/wildmidi/portfile.cmake b/ports/wildmidi/portfile.cmake index 6dbfb7557992aa..d5147e46d07896 100644 --- a/ports/wildmidi/portfile.cmake +++ b/ports/wildmidi/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Mindwerks/wildmidi - REF wildmidi-0.4.4 - SHA512 5B74EE83F1D7CE3B45D2F996AAA30EC6E7D7808EAB294A3EAF6FCEF77443523DF1F54BB0FB1B3105EDD0D72D75885FDA1A2E97C68DEFB5BBD687BDA5077D3454 + REF wildmidi-0.4.5 + SHA512 0229914ecc60091b649b790a82ad5e755a2b9dfab7443fb3e3c19f4ae64b82817cafe74d78c27f05c68c3c8fb30092c96da732d27ff82fbd7dd7d577facc23d6 HEAD_REF master ) diff --git a/ports/wildmidi/vcpkg.json b/ports/wildmidi/vcpkg.json index 389ae48816eb25..51cb0002024b15 100644 --- a/ports/wildmidi/vcpkg.json +++ b/ports/wildmidi/vcpkg.json @@ -1,8 +1,9 @@ { "name": "wildmidi", - "version": "0.4.4", + "version": "0.4.5", "description": "MIDI software synthesizer library.", "homepage": "https://github.com/Mindwerks/wildmidi", + "license": "LGPL-3.0-only", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/wincrypt/vcpkg.json b/ports/wincrypt/vcpkg.json index 02cad22f7c9d86..938cad7fab0396 100644 --- a/ports/wincrypt/vcpkg.json +++ b/ports/wincrypt/vcpkg.json @@ -1,6 +1,7 @@ { "name": "wincrypt", - "version-string": "0.0", - "port-version": 3, - "description": "Windows Cryptography." + "version": "0.0", + "port-version": 4, + "description": "Windows Cryptography.", + "supports": "windows" } diff --git a/ports/winpcap/Packet.vcxproj b/ports/winpcap/Packet.vcxproj.in similarity index 100% rename from ports/winpcap/Packet.vcxproj rename to ports/winpcap/Packet.vcxproj.in diff --git a/ports/winpcap/bison-flex.patch b/ports/winpcap/bison-flex.patch new file mode 100644 index 00000000000000..201de00789598c --- /dev/null +++ b/ports/winpcap/bison-flex.patch @@ -0,0 +1,22 @@ +diff --git a/wpcap/PRJ/build_scanner_parser.bat b/wpcap/PRJ/build_scanner_parser.bat +index 31786d596..54cba739d 100644 +--- a/wpcap/PRJ/build_scanner_parser.bat ++++ b/wpcap/PRJ/build_scanner_parser.bat +@@ -4,7 +4,7 @@ echo Building the libpcap parser and scanner... + del /Q /F ..\libpcap\grammar.c > nul 2> nul + del /Q /F ..\libpcap\tokdefs.h > nul 2> nul + +-bison -y -p pcap_ -d ../libpcap/GRAMMAR.Y > nul ++win_bison -y -p pcap_ -d ../libpcap/GRAMMAR.Y > nul + if not %ERRORLEVEL% == 0 ( + echo failure in generating the grammar. + goto end +@@ -14,7 +14,7 @@ move y.tab.c ..\libpcap\grammar.c + move y.tab.h ..\libpcap\tokdefs.h + + del /Q /F ..\libpcap\scanner.c >/nul 2>/nul +-flex -Ppcap_ -t ../libpcap/scanner.l > ../libpcap/scanner.c ++win_flex -Ppcap_ -t ../libpcap/scanner.l > ../libpcap/scanner.c + + if not %ERRORLEVEL% == 0 ( + echo failure in generating the scanner. diff --git a/ports/winpcap/create_bin.bat b/ports/winpcap/create_bin.bat deleted file mode 100644 index aa9e7f10630485..00000000000000 --- a/ports/winpcap/create_bin.bat +++ /dev/null @@ -1,20 +0,0 @@ -@echo off - -IF "%2"=="" (set WPDPACKDESTDIR=.\WpdPack\) ELSE (set WPDPACKDESTDIR=%2) - -IF ""=="%1" (set WINPCAPSOURCEDIR=.\) ELSE (set WINPCAPSOURCEDIR=%1) - -echo Creating \Lib folder -mkdir %WPDPACKDESTDIR% >nul 2>nul -mkdir %WPDPACKDESTDIR%\Bin >nul 2>nul -mkdir %WPDPACKDESTDIR%\Bin\x64 >nul 2>nul - -xcopy /v /Y "%WINPCAPSOURCEDIR%\wpcap\PRJ\Release No AirPcap\x86\wpcap.dll" %WPDPACKDESTDIR%\Bin\ >nul -xcopy /v /Y "%WINPCAPSOURCEDIR%\wpcap\PRJ\Release No AirPcap\x64\wpcap.dll" %WPDPACKDESTDIR%\Bin\x64 >nul -xcopy /v /Y %WINPCAPSOURCEDIR%\packetNtx\Dll\Project\Release\x86\packet.dll %WPDPACKDESTDIR%\Bin\ >nul -xcopy /v /Y %WINPCAPSOURCEDIR%\packetNtx\Dll\Project\Release\x64\packet.dll %WPDPACKDESTDIR%\Bin\x64 >nul - -echo Folder \Bin created successfully - -set WPDPACKDESTDIR= -set WINPCAPSOURCEDIR= \ No newline at end of file diff --git a/ports/winpcap/create_lib.patch b/ports/winpcap/create_lib.patch deleted file mode 100644 index 8e144fa3d2488e..00000000000000 --- a/ports/winpcap/create_lib.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff --git a/create_lib.bat b/create_lib.bat -index dbe511c..d431b88 100644 ---- a/create_lib.bat -+++ b/create_lib.bat -@@ -9,12 +9,10 @@ mkdir %WPDPACKDESTDIR% >nul 2>nul - mkdir %WPDPACKDESTDIR%\Lib >nul 2>nul - mkdir %WPDPACKDESTDIR%\Lib\x64 >nul 2>nul - --xcopy /v /Y %WINPCAPSOURCEDIR%\wpcap\PRJ\Release\x86\wpcap.lib %WPDPACKDESTDIR%\Lib\ >nul --xcopy /v /Y %WINPCAPSOURCEDIR%\wpcap\PRJ\Release\x64\wpcap.lib %WPDPACKDESTDIR%\Lib\x64 >nul -+xcopy /v /Y "%WINPCAPSOURCEDIR%\wpcap\PRJ\Release No AirPcap\x86\wpcap.lib" %WPDPACKDESTDIR%\Lib\ >nul -+xcopy /v /Y "%WINPCAPSOURCEDIR%\wpcap\PRJ\Release No AirPcap\x64\wpcap.lib" %WPDPACKDESTDIR%\Lib\x64 >nul - xcopy /v /Y %WINPCAPSOURCEDIR%\packetNtx\Dll\Project\Release\x86\packet.lib %WPDPACKDESTDIR%\Lib\ >nul - xcopy /v /Y %WINPCAPSOURCEDIR%\packetNtx\Dll\Project\Release\x64\packet.lib %WPDPACKDESTDIR%\Lib\x64 >nul --xcopy /v /Y %WINPCAPSOURCEDIR%\packetNtx\Dll\Project\libpacket.a %WPDPACKDESTDIR%\Lib\ >nul --xcopy /v /Y %WINPCAPSOURCEDIR%\wpcap\LIB\libwpcap.a %WPDPACKDESTDIR%\Lib\ >nul - - echo Folder \Lib created successfully - diff --git a/ports/winpcap/fix-create-lib-batch.patch b/ports/winpcap/fix-create-lib-batch.patch deleted file mode 100644 index 0a1d9017d007c0..00000000000000 --- a/ports/winpcap/fix-create-lib-batch.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/create_lib.bat b/create_lib.bat -index c70a179..4690d9e 100644 ---- a/create_lib.bat -+++ b/create_lib.bat -@@ -7,10 +7,16 @@ IF ""=="%1" (set WINPCAPSOURCEDIR=.\) ELSE (set WINPCAPSOURCEDIR=%1) - echo Creating \Lib folder - mkdir %WPDPACKDESTDIR% >nul 2>nul - mkdir %WPDPACKDESTDIR%\Lib >nul 2>nul -+mkdir %WPDPACKDESTDIR%\Lib\debug\ >nul 2>nul - mkdir %WPDPACKDESTDIR%\Lib\x64 >nul 2>nul -+mkdir %WPDPACKDESTDIR%\Lib\x64\debug >nul 2>nul - --xcopy /v /Y "%WINPCAPSOURCEDIR%\wpcap\PRJ\Release No AirPcap\x86\wpcap.lib" %WPDPACKDESTDIR%\Lib\ >nul --xcopy /v /Y "%WINPCAPSOURCEDIR%\wpcap\PRJ\Release No AirPcap\x64\wpcap.lib" %WPDPACKDESTDIR%\Lib\x64 >nul -+xcopy /v /Y "%WINPCAPSOURCEDIR%\wpcap\PRJ\Debug No AirPcap\x86\wpcap.lib" %WPDPACKDESTDIR%\Lib\debug\ >nul -+xcopy /v /Y "%WINPCAPSOURCEDIR%\wpcap\PRJ\Debug No AirPcap\x64\wpcap.lib" %WPDPACKDESTDIR%\Lib\x64\debug\ >nul -+xcopy /v /Y "%WINPCAPSOURCEDIR%\wpcap\PRJ\Release No AirPcap\x86\wpcap.lib" %WPDPACKDESTDIR%\Lib\ >nul -+xcopy /v /Y "%WINPCAPSOURCEDIR%\wpcap\PRJ\Release No AirPcap\x64\wpcap.lib" %WPDPACKDESTDIR%\Lib\x64 >nul -+xcopy /v /Y %WINPCAPSOURCEDIR%\packetNtx\Dll\Project\Debug\x86\packet.lib %WPDPACKDESTDIR%\Lib\debug\ >nul -+xcopy /v /Y %WINPCAPSOURCEDIR%\packetNtx\Dll\Project\Debug\x64\packet.lib %WPDPACKDESTDIR%\Lib\x64\debug\ >nul - xcopy /v /Y %WINPCAPSOURCEDIR%\packetNtx\Dll\Project\Release\x86\packet.lib %WPDPACKDESTDIR%\Lib\ >nul - xcopy /v /Y %WINPCAPSOURCEDIR%\packetNtx\Dll\Project\Release\x64\packet.lib %WPDPACKDESTDIR%\Lib\x64 >nul - diff --git a/ports/winpcap/portfile.cmake b/ports/winpcap/portfile.cmake index 196ad02b8f8623..f693025873dbc5 100644 --- a/ports/winpcap/portfile.cmake +++ b/ports/winpcap/portfile.cmake @@ -10,15 +10,6 @@ vcpkg_download_distfile(ARCHIVE SHA512 89a5109ed17f8069f7a43497f6fec817c58620dbc5fa506e52069b9113c5bc13f69c307affe611281cb727cfa0f8529d07044d41427e350b24468ccc89a87f33 ) -vcpkg_download_distfile(COPYRIGHT - URLS "https://www.winpcap.org/misc/copyright.htm" - FILENAME "Wpcap_license.htm" - SHA512 bb2519e8f3d02c408fa3f2ef339adda1cc31338d05d2fa4ce25d5369427243fd3e2abc4b21aa654b2be5791f53c2281847a4a15778ffcb90576fd166140c7d2e -) - -# MSBuild performs in-source builds, so to ensure reliability we must clear them each time -file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/src) - if(VCPKG_CRT_LINKAGE STREQUAL "static") set(CRT_LINKAGE "MT") elseif(VCPKG_CRT_LINKAGE STREQUAL "dynamic") @@ -27,25 +18,29 @@ endif() if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") set(LIBRARY_LINKAGE "4") + set(lib_type StaticLibrary) elseif(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") set(LIBRARY_LINKAGE "2") + set(lib_type DynamicLibrary) endif() configure_file("${CMAKE_CURRENT_LIST_DIR}/packetNtx.patch.in" "${CURRENT_BUILDTREES_DIR}/src/packetNtx.patch" @ONLY) configure_file("${CMAKE_CURRENT_LIST_DIR}/wpcap.patch.in" "${CURRENT_BUILDTREES_DIR}/src/wpcap.patch" @ONLY) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} - REF ${WINPCAP_VERSION} +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" + SOURCE_BASE ${WINPCAP_VERSION} PATCHES "${CURRENT_BUILDTREES_DIR}/src/packetNtx.patch" "${CURRENT_BUILDTREES_DIR}/src/wpcap.patch" - "${CMAKE_CURRENT_LIST_DIR}/create_lib.patch" - "${CMAKE_CURRENT_LIST_DIR}/fix-create-lib-batch.patch" + "bison-flex.patch" ) -file(COPY "${CURRENT_PORT_DIR}/create_bin.bat" DESTINATION "${SOURCE_PATH}") +file(REMOVE_RECURSE "${SOURCE_PATH}/wpcap/libpcap/rpcapd/win32-pthreads") # avoid copying pthreadVC.lib; TODO: maybe should also use libpcap headers instead of this vendored stuff + +vcpkg_replace_string("${SOURCE_PATH}/wpcap/PRJ/wpcap.vcproj" "DebugInformationFormat=\"4\"" "") +vcpkg_replace_string("${SOURCE_PATH}/wpcap/PRJ/wpcap.vcproj" "DebugInformationFormat=\"3\"" "") if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") set(PLATFORM Win32) @@ -53,6 +48,14 @@ elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") set(PLATFORM x64) endif() +vcpkg_find_acquire_program(BISON) +cmake_path(GET BISON PARENT_PATH BISON_DIR) +vcpkg_add_to_path("${BISON_DIR}") + +vcpkg_find_acquire_program(FLEX) +cmake_path(GET FLEX PARENT_PATH FLEX_DIR) +vcpkg_add_to_path("${FLEX_DIR}") + vcpkg_execute_required_process( COMMAND "devenv.exe" "Packet.sln" @@ -61,48 +64,46 @@ vcpkg_execute_required_process( LOGNAME upgrade-Packet-${TARGET_TRIPLET} ) -if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86" AND VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(COPY "${CURRENT_PORT_DIR}/Packet.vcxproj" DESTINATION "${SOURCE_PATH}/packetNtx/Dll/Project/") -endif() - -vcpkg_build_msbuild( - PROJECT_PATH "${SOURCE_PATH}/packetNtx/Dll/Project/Packet.sln" +vcpkg_msbuild_install( + SOURCE_PATH "${SOURCE_PATH}" + PROJECT_SUBPATH "packetNtx/Dll/Project/Packet.sln" RELEASE_CONFIGURATION "Release" DEBUG_CONFIGURATION "Debug" PLATFORM ${PLATFORM} ) -vcpkg_find_acquire_program(BISON) -vcpkg_find_acquire_program(FLEX) +message(STATUS "Building Scanner/Parser") vcpkg_execute_required_process( - COMMAND ${SOURCE_PATH}/wpcap/PRJ/build_scanner_parser.bat - WORKING_DIRECTORY ${SOURCE_PATH} + COMMAND "${SOURCE_PATH}/wpcap/PRJ/build_scanner_parser.bat" + WORKING_DIRECTORY "${SOURCE_PATH}/wpcap/PRJ" LOGNAME build_scanner_parser-${TARGET_TRIPLET} ) +message(STATUS "Building wpcap") + vcpkg_execute_required_process( COMMAND "devenv.exe" "wpcap.sln" /Upgrade - WORKING_DIRECTORY ${SOURCE_PATH}/wpcap/PRJ + WORKING_DIRECTORY "${SOURCE_PATH}/wpcap/PRJ" LOGNAME upgrade-wpcap-${TARGET_TRIPLET} ) -if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86" AND VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(COPY "${CURRENT_PORT_DIR}/wpcap.vcxproj" DESTINATION "${SOURCE_PATH}/wpcap/PRJ/") -endif() +configure_file("${CURRENT_PORT_DIR}/wpcap.vcxproj.in" "${SOURCE_PATH}/wpcap/PRJ/wpcap.vcxproj" @ONLY) + -vcpkg_build_msbuild( - PROJECT_PATH "${SOURCE_PATH}/wpcap/PRJ/wpcap.sln" +vcpkg_msbuild_install( + SOURCE_PATH "${SOURCE_PATH}" + PROJECT_SUBPATH "wpcap/PRJ/wpcap.sln" RELEASE_CONFIGURATION "Release - No AirPcap" DEBUG_CONFIGURATION "Debug - No AirPcap" PLATFORM ${PLATFORM} ) vcpkg_execute_required_process( - COMMAND ${SOURCE_PATH}/create_include.bat - WORKING_DIRECTORY ${SOURCE_PATH} + COMMAND "${SOURCE_PATH}/create_include.bat" + WORKING_DIRECTORY "${SOURCE_PATH}" LOGNAME create_include-${TARGET_TRIPLET} ) @@ -128,50 +129,6 @@ file(INSTALL "${SOURCE_PATH}/WpdPack/Include/pcap/vlan.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include/pcap") -vcpkg_execute_required_process( - COMMAND ${SOURCE_PATH}/create_lib.bat - WORKING_DIRECTORY ${SOURCE_PATH} - LOGNAME create_lib-${TARGET_TRIPLET} -) - -set(PCAP_LIBRARY_PATH "${SOURCE_PATH}/WpdPack/Lib") -if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") - set(PCAP_LIBRARY_PATH "${PCAP_LIBRARY_PATH}/x64") -endif() - -file(INSTALL - "${PCAP_LIBRARY_PATH}/Packet.lib" - "${PCAP_LIBRARY_PATH}/wpcap.lib" - DESTINATION "${CURRENT_PACKAGES_DIR}/lib") - -file(INSTALL - "${PCAP_LIBRARY_PATH}/debug/Packet.lib" - "${PCAP_LIBRARY_PATH}/debug/wpcap.lib" - DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") - -if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - vcpkg_execute_required_process( - COMMAND "${SOURCE_PATH}/create_bin.bat" - WORKING_DIRECTORY "${SOURCE_PATH}" - LOGNAME create_bin-${TARGET_TRIPLET} - ) - - set(PCAP_BINARY_PATH "${SOURCE_PATH}/WpdPack/Bin") - if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") - set(PCAP_BINARY_PATH "${PCAP_BINARY_PATH}/x64") - endif() - - file(INSTALL - "${PCAP_BINARY_PATH}/Packet.dll" - "${PCAP_BINARY_PATH}/wpcap.dll" - DESTINATION "${CURRENT_PACKAGES_DIR}/bin") - - file(INSTALL - "${PCAP_BINARY_PATH}/Packet.dll" - "${PCAP_BINARY_PATH}/wpcap.dll" - DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin") -endif() - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/pcap-stdinc.h" "#define inline __inline" "#ifndef __cplusplus\n#define inline __inline\n#endif") -configure_file(${COPYRIGHT} "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) +file(WRITE "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" "The latest license is available in https://www.winpcap.org/misc/copyright.htm and in the header files.") diff --git a/ports/winpcap/vcpkg.json b/ports/winpcap/vcpkg.json index aa4d923477fb3c..7566e334dede60 100644 --- a/ports/winpcap/vcpkg.json +++ b/ports/winpcap/vcpkg.json @@ -1,7 +1,15 @@ { "name": "winpcap", "version": "4.1.3", - "port-version": 6, + "port-version": 12, "description": "WinPcap is the industry-standard tool for link-layer network access in Windows environments.", - "homepage": "https://www.winpcap.org" + "homepage": "https://www.winpcap.org", + "supports": "windows & !uwp & !arm & !static", + "dependencies": [ + { + "name": "vcpkg-msbuild", + "host": true, + "platform": "windows" + } + ] } diff --git a/ports/winpcap/wpcap.vcxproj b/ports/winpcap/wpcap.vcxproj deleted file mode 100644 index 5740dec40787be..00000000000000 --- a/ports/winpcap/wpcap.vcxproj +++ /dev/null @@ -1,396 +0,0 @@ - - - - - Debug No AirPcap - Win32 - - - Debug No AirPcap - x64 - - - Debug - Win32 - - - Debug - x64 - - - Release No AirPcap - Win32 - - - Release No AirPcap - x64 - - - Release - Win32 - - - Release - x64 - - - - {20B438DA-CBEC-4AFF-B11C-67B301D14AD5} - wpcap - Win32Proj - - - - StaticLibrary - v141 - MultiByte - true - - - StaticLibrary - v141 - MultiByte - - - StaticLibrary - v141 - MultiByte - true - - - StaticLibrary - v141 - MultiByte - - - StaticLibrary - v141 - MultiByte - true - - - StaticLibrary - v141 - MultiByte - - - StaticLibrary - v141 - MultiByte - true - - - StaticLibrary - v141 - MultiByte - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <_ProjectFileVersion>15.0.28127.55 - - - $(ProjectDir)\$(Configuration)\x86\ - $(ProjectDir)\$(Configuration)\x86\ - true - - - $(ProjectDir)\$(Configuration)\x64\ - $(ProjectDir)\$(Configuration)\x64\ - true - - - $(ProjectDir)\$(Configuration)\x86\ - $(ProjectDir)\$(Configuration)\x86\ - false - - - $(ProjectDir)\$(Configuration)\x64\ - $(ProjectDir)\$(Configuration)\x64\ - false - - - $(ProjectDir)\$(Configuration)\x86\ - $(ProjectDir)\$(Configuration)\x86\ - true - - - $(ProjectDir)\$(Configuration)\x64\ - $(ProjectDir)\$(Configuration)\x64\ - true - - - $(ProjectDir)\$(Configuration)\x86\ - $(ProjectDir)\$(Configuration)\x86\ - false - - - $(ProjectDir)\$(Configuration)\x64\ - $(ProjectDir)\$(Configuration)\x64\ - false - - - - Disabled - ..\libpcap;..\libpcap\lbl;..\libpcap\bpf\;..\..\common;..\libpcap\win32\include;..\Win32-Extensions;..\..\..\AirPcap_DevPack\include;%(AdditionalIncludeDirectories) - LIBPCAP_EXPORTS;WIN32;_DEBUG;_WINDOWS;HAVE_ADDRINFO;YY_NEVER_INTERACTIVE;yylval=pcap_lval;HAVE_STRERROR;__STDC__;INET6;SIZEOF_CHAR=1;SIZEOF_SHORT=2;SIZEOF_INT=4;WPCAP;HAVE_VSNPRINTF;HAVE_REMOTE;HAVE_AIRPCAP_API;_U_=;_CRT_SECURE_NO_WARNINGS;YY_NO_UNISTD_H;HAVE_TC_API;%(PreprocessorDefinitions) - true - EnableFastChecks - MultiThreadedDebug - - Level3 - EditAndContinue - - - ws2_32.lib;packet.lib;%(AdditionalDependencies) - ..\..\packetNtx\Dll\Project\Debug\x86;%(AdditionalLibraryDirectories) - false - wpcap.def - true - Windows - MachineX86 - - - - - X64 - - - Disabled - ..\libpcap;..\libpcap\lbl;..\libpcap\bpf\;..\..\common;..\libpcap\win32\include;..\Win32-Extensions;..\..\..\AirPcap_DevPack\include;%(AdditionalIncludeDirectories) - LIBPCAP_EXPORTS;WIN32;_DEBUG;_WINDOWS;HAVE_ADDRINFO;YY_NEVER_INTERACTIVE;yylval=pcap_lval;HAVE_STRERROR;__STDC__;INET6;SIZEOF_CHAR=1;SIZEOF_SHORT=2;SIZEOF_INT=4;WPCAP;HAVE_VSNPRINTF;HAVE_REMOTE;HAVE_AIRPCAP_API;_U_=;_CRT_SECURE_NO_WARNINGS;YY_NO_UNISTD_H;HAVE_TC_API;%(PreprocessorDefinitions) - true - EnableFastChecks - MultiThreadedDebug - - Level3 - ProgramDatabase - - - ws2_32.lib;packet.lib;%(AdditionalDependencies) - ..\..\packetNtx\Dll\Project\Debug\x64;%(AdditionalLibraryDirectories) - false - wpcap.def - true - Windows - MachineX64 - - - - - ..\libpcap;..\libpcap\lbl;..\libpcap\bpf\;..\..\common;..\libpcap\win32\include;..\Win32-Extensions;..\..\..\AirPcap_DevPack\include;%(AdditionalIncludeDirectories) - LIBPCAP_EXPORTS;WIN32;NDEBUG;_WINDOWS;HAVE_ADDRINFO;YY_NEVER_INTERACTIVE;yylval=pcap_lval;HAVE_STRERROR;__STDC__;INET6;SIZEOF_CHAR=1;SIZEOF_SHORT=2;SIZEOF_INT=4;WPCAP;HAVE_VSNPRINTF;HAVE_REMOTE;HAVE_AIRPCAP_API;_U_=;_CRT_SECURE_NO_WARNINGS;YY_NO_UNISTD_H;HAVE_TC_API;%(PreprocessorDefinitions) - MultiThreaded - - Level3 - ProgramDatabase - - - ws2_32.lib;packet.lib;%(AdditionalDependencies) - ..\..\packetNtx\Dll\Project\Release\x86;%(AdditionalLibraryDirectories) - wpcap.def - true - Windows - true - true - MachineX86 - - - - - X64 - - - ..\libpcap;..\libpcap\lbl;..\libpcap\bpf\;..\..\common;..\libpcap\win32\include;..\Win32-Extensions;..\..\..\AirPcap_DevPack\include;%(AdditionalIncludeDirectories) - LIBPCAP_EXPORTS;WIN32;NDEBUG;_WINDOWS;HAVE_ADDRINFO;YY_NEVER_INTERACTIVE;yylval=pcap_lval;HAVE_STRERROR;__STDC__;INET6;SIZEOF_CHAR=1;SIZEOF_SHORT=2;SIZEOF_INT=4;WPCAP;HAVE_VSNPRINTF;HAVE_REMOTE;HAVE_AIRPCAP_API;_U_=;_CRT_SECURE_NO_WARNINGS;YY_NO_UNISTD_H;HAVE_TC_API;%(PreprocessorDefinitions) - MultiThreaded - - Level3 - ProgramDatabase - - - ws2_32.lib;packet.lib;%(AdditionalDependencies) - ..\..\packetNtx\Dll\Project\Release\x64;%(AdditionalLibraryDirectories) - wpcap.def - true - Windows - true - true - MachineX64 - - - - - Disabled - ..\libpcap;..\libpcap\lbl;..\libpcap\bpf\;..\..\common;..\libpcap\win32\include;..\Win32-Extensions;%(AdditionalIncludeDirectories) - LIBPCAP_EXPORTS;WIN32;_DEBUG;_WINDOWS;HAVE_ADDRINFO;YY_NEVER_INTERACTIVE;yylval=pcap_lval;HAVE_STRERROR;__STDC__;INET6;SIZEOF_CHAR=1;SIZEOF_SHORT=2;SIZEOF_INT=4;WPCAP;HAVE_VSNPRINTF;HAVE_REMOTE;_U_=;_CRT_SECURE_NO_WARNINGS;YY_NO_UNISTD_H;HAVE_TC_API;%(PreprocessorDefinitions) - true - EnableFastChecks - MultiThreadedDebug - - Level3 - EditAndContinue - - - ws2_32.lib;packet.lib;%(AdditionalDependencies) - ..\..\packetNtx\Dll\Project\Debug\x86;%(AdditionalLibraryDirectories) - false - wpcap.def - true - Windows - MachineX86 - - - MachineX86 - - - - - X64 - - - Disabled - ..\libpcap;..\libpcap\lbl;..\libpcap\bpf\;..\..\common;..\libpcap\win32\include;..\Win32-Extensions;%(AdditionalIncludeDirectories) - LIBPCAP_EXPORTS;WIN32;_DEBUG;_WINDOWS;HAVE_ADDRINFO;YY_NEVER_INTERACTIVE;yylval=pcap_lval;HAVE_STRERROR;__STDC__;INET6;SIZEOF_CHAR=1;SIZEOF_SHORT=2;SIZEOF_INT=4;WPCAP;HAVE_VSNPRINTF;HAVE_REMOTE;_U_=;_CRT_SECURE_NO_WARNINGS;YY_NO_UNISTD_H;HAVE_TC_API;%(PreprocessorDefinitions) - true - EnableFastChecks - MultiThreadedDebug - - Level3 - ProgramDatabase - - - ws2_32.lib;packet.lib;%(AdditionalDependencies) - ..\..\packetNtx\Dll\Project\Debug\x64;%(AdditionalLibraryDirectories) - false - wpcap.def - true - Windows - MachineX64 - - - - - ..\libpcap;..\libpcap\lbl;..\libpcap\bpf\;..\..\common;..\libpcap\win32\include;..\Win32-Extensions;%(AdditionalIncludeDirectories) - LIBPCAP_EXPORTS;WIN32;NDEBUG;_WINDOWS;HAVE_ADDRINFO;YY_NEVER_INTERACTIVE;yylval=pcap_lval;HAVE_STRERROR;__STDC__;INET6;SIZEOF_CHAR=1;SIZEOF_SHORT=2;SIZEOF_INT=4;WPCAP;HAVE_VSNPRINTF;HAVE_REMOTE;_U_=;_CRT_SECURE_NO_WARNINGS;YY_NO_UNISTD_H;HAVE_TC_API;%(PreprocessorDefinitions) - MultiThreaded - - Level3 - ProgramDatabase - - - ws2_32.lib;packet.lib;%(AdditionalDependencies) - ..\..\packetNtx\Dll\Project\Release\x86;%(AdditionalLibraryDirectories) - wpcap.def - true - Windows - true - true - MachineX86 - - - MachineX86 - - - - - X64 - - - ..\libpcap;..\libpcap\lbl;..\libpcap\bpf\;..\..\common;..\libpcap\win32\include;..\Win32-Extensions;%(AdditionalIncludeDirectories) - LIBPCAP_EXPORTS;WIN32;NDEBUG;_WINDOWS;HAVE_ADDRINFO;YY_NEVER_INTERACTIVE;yylval=pcap_lval;HAVE_STRERROR;__STDC__;INET6;SIZEOF_CHAR=1;SIZEOF_SHORT=2;SIZEOF_INT=4;WPCAP;HAVE_VSNPRINTF;HAVE_REMOTE;_U_=;_CRT_SECURE_NO_WARNINGS;YY_NO_UNISTD_H;HAVE_TC_API;%(PreprocessorDefinitions) - MultiThreaded - - Level3 - ProgramDatabase - - - ws2_32.lib;packet.lib;%(AdditionalDependencies) - ..\..\packetNtx\Dll\Project\Release\x64;%(AdditionalLibraryDirectories) - wpcap.def - true - Windows - true - true - MachineX64 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/ports/winpcap/wpcap.vcxproj.in b/ports/winpcap/wpcap.vcxproj.in new file mode 100644 index 00000000000000..4fbaf3b8f50a07 --- /dev/null +++ b/ports/winpcap/wpcap.vcxproj.in @@ -0,0 +1,390 @@ + + + + + Debug No AirPcap + Win32 + + + Debug No AirPcap + x64 + + + Debug + Win32 + + + Debug + x64 + + + Release No AirPcap + Win32 + + + Release No AirPcap + x64 + + + Release + Win32 + + + Release + x64 + + + + {20B438DA-CBEC-4AFF-B11C-67B301D14AD5} + wpcap + Win32Proj + + + + @lib_type@ + v141 + MultiByte + true + + + @lib_type@ + v141 + MultiByte + + + @lib_type@ + v141 + MultiByte + true + + + @lib_type@ + v141 + MultiByte + + + @lib_type@ + v141 + MultiByte + true + + + @lib_type@ + v141 + MultiByte + + + @lib_type@ + v141 + MultiByte + true + + + @lib_type@ + v141 + MultiByte + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>15.0.28127.55 + + + $(ProjectDir)\$(Configuration)\x86\ + $(ProjectDir)\$(Configuration)\x86\ + true + + + $(ProjectDir)\$(Configuration)\x64\ + $(ProjectDir)\$(Configuration)\x64\ + true + + + $(ProjectDir)\$(Configuration)\x86\ + $(ProjectDir)\$(Configuration)\x86\ + false + + + $(ProjectDir)\$(Configuration)\x64\ + $(ProjectDir)\$(Configuration)\x64\ + false + + + $(ProjectDir)\$(Configuration)\x86\ + $(ProjectDir)\$(Configuration)\x86\ + true + + + $(ProjectDir)\$(Configuration)\x64\ + $(ProjectDir)\$(Configuration)\x64\ + true + + + $(ProjectDir)\$(Configuration)\x86\ + $(ProjectDir)\$(Configuration)\x86\ + false + + + $(ProjectDir)\$(Configuration)\x64\ + $(ProjectDir)\$(Configuration)\x64\ + false + + + + Disabled + ..\libpcap;..\libpcap\lbl;..\libpcap\bpf\;..\..\common;..\libpcap\win32\include;..\Win32-Extensions;..\..\..\AirPcap_DevPack\include;%(AdditionalIncludeDirectories) + LIBPCAP_EXPORTS;WIN32;_DEBUG;_WINDOWS;HAVE_ADDRINFO;YY_NEVER_INTERACTIVE;yylval=pcap_lval;HAVE_STRERROR;__STDC__;INET6;SIZEOF_CHAR=1;SIZEOF_SHORT=2;SIZEOF_INT=4;WPCAP;HAVE_VSNPRINTF;HAVE_REMOTE;HAVE_AIRPCAP_API;_U_=;_CRT_SECURE_NO_WARNINGS;YY_NO_UNISTD_H;HAVE_TC_API;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + + Level3 + None + + + ws2_32.lib;packet.lib;%(AdditionalDependencies) + ..\..\packetNtx\Dll\Project\Debug\x86;@CURRENT_PACKAGES_DIR@/debug/lib;%(AdditionalLibraryDirectories) + false + wpcap.def + true + Windows + MachineX86 + + + + + X64 + + + Disabled + ..\libpcap;..\libpcap\lbl;..\libpcap\bpf\;..\..\common;..\libpcap\win32\include;..\Win32-Extensions;..\..\..\AirPcap_DevPack\include;%(AdditionalIncludeDirectories) + LIBPCAP_EXPORTS;WIN32;_DEBUG;_WINDOWS;HAVE_ADDRINFO;YY_NEVER_INTERACTIVE;yylval=pcap_lval;HAVE_STRERROR;__STDC__;INET6;SIZEOF_CHAR=1;SIZEOF_SHORT=2;SIZEOF_INT=4;WPCAP;HAVE_VSNPRINTF;HAVE_REMOTE;HAVE_AIRPCAP_API;_U_=;_CRT_SECURE_NO_WARNINGS;YY_NO_UNISTD_H;HAVE_TC_API;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + + Level3 + + + ws2_32.lib;packet.lib;%(AdditionalDependencies) + ..\..\packetNtx\Dll\Project\Debug\x64;@CURRENT_PACKAGES_DIR@/debug/lib;%(AdditionalLibraryDirectories) + false + wpcap.def + true + Windows + MachineX64 + + + + + ..\libpcap;..\libpcap\lbl;..\libpcap\bpf\;..\..\common;..\libpcap\win32\include;..\Win32-Extensions;..\..\..\AirPcap_DevPack\include;%(AdditionalIncludeDirectories) + LIBPCAP_EXPORTS;WIN32;NDEBUG;_WINDOWS;HAVE_ADDRINFO;YY_NEVER_INTERACTIVE;yylval=pcap_lval;HAVE_STRERROR;__STDC__;INET6;SIZEOF_CHAR=1;SIZEOF_SHORT=2;SIZEOF_INT=4;WPCAP;HAVE_VSNPRINTF;HAVE_REMOTE;HAVE_AIRPCAP_API;_U_=;_CRT_SECURE_NO_WARNINGS;YY_NO_UNISTD_H;HAVE_TC_API;%(PreprocessorDefinitions) + MultiThreaded + + Level3 + + + ws2_32.lib;packet.lib;%(AdditionalDependencies) + ..\..\packetNtx\Dll\Project\Release\x86;@CURRENT_PACKAGES_DIR@/lib;%(AdditionalLibraryDirectories) + wpcap.def + true + Windows + true + true + MachineX86 + + + + + X64 + + + ..\libpcap;..\libpcap\lbl;..\libpcap\bpf\;..\..\common;..\libpcap\win32\include;..\Win32-Extensions;..\..\..\AirPcap_DevPack\include;%(AdditionalIncludeDirectories) + LIBPCAP_EXPORTS;WIN32;NDEBUG;_WINDOWS;HAVE_ADDRINFO;YY_NEVER_INTERACTIVE;yylval=pcap_lval;HAVE_STRERROR;__STDC__;INET6;SIZEOF_CHAR=1;SIZEOF_SHORT=2;SIZEOF_INT=4;WPCAP;HAVE_VSNPRINTF;HAVE_REMOTE;HAVE_AIRPCAP_API;_U_=;_CRT_SECURE_NO_WARNINGS;YY_NO_UNISTD_H;HAVE_TC_API;%(PreprocessorDefinitions) + MultiThreaded + + Level3 + + + ws2_32.lib;packet.lib;%(AdditionalDependencies) + ..\..\packetNtx\Dll\Project\Release\x64;@CURRENT_PACKAGES_DIR@/lib;%(AdditionalLibraryDirectories) + wpcap.def + true + Windows + true + true + MachineX64 + + + + + Disabled + ..\libpcap;..\libpcap\lbl;..\libpcap\bpf\;..\..\common;..\libpcap\win32\include;..\Win32-Extensions;%(AdditionalIncludeDirectories) + LIBPCAP_EXPORTS;WIN32;_DEBUG;_WINDOWS;HAVE_ADDRINFO;YY_NEVER_INTERACTIVE;yylval=pcap_lval;HAVE_STRERROR;__STDC__;INET6;SIZEOF_CHAR=1;SIZEOF_SHORT=2;SIZEOF_INT=4;WPCAP;HAVE_VSNPRINTF;HAVE_REMOTE;_U_=;_CRT_SECURE_NO_WARNINGS;YY_NO_UNISTD_H;HAVE_TC_API;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + + Level3 + None + + + ws2_32.lib;packet.lib;%(AdditionalDependencies) + ..\..\packetNtx\Dll\Project\Debug\x86;@CURRENT_PACKAGES_DIR@/debug/lib;%(AdditionalLibraryDirectories) + false + wpcap.def + true + Windows + MachineX86 + + + MachineX86 + + + + + X64 + + + Disabled + ..\libpcap;..\libpcap\lbl;..\libpcap\bpf\;..\..\common;..\libpcap\win32\include;..\Win32-Extensions;%(AdditionalIncludeDirectories) + LIBPCAP_EXPORTS;WIN32;_DEBUG;_WINDOWS;HAVE_ADDRINFO;YY_NEVER_INTERACTIVE;yylval=pcap_lval;HAVE_STRERROR;__STDC__;INET6;SIZEOF_CHAR=1;SIZEOF_SHORT=2;SIZEOF_INT=4;WPCAP;HAVE_VSNPRINTF;HAVE_REMOTE;_U_=;_CRT_SECURE_NO_WARNINGS;YY_NO_UNISTD_H;HAVE_TC_API;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebug + + Level3 + + + ws2_32.lib;packet.lib;%(AdditionalDependencies) + ..\..\packetNtx\Dll\Project\Debug\x64;@CURRENT_PACKAGES_DIR@/debug/lib;%(AdditionalLibraryDirectories) + false + wpcap.def + true + Windows + MachineX64 + + + + + ..\libpcap;..\libpcap\lbl;..\libpcap\bpf\;..\..\common;..\libpcap\win32\include;..\Win32-Extensions;%(AdditionalIncludeDirectories) + LIBPCAP_EXPORTS;WIN32;NDEBUG;_WINDOWS;HAVE_ADDRINFO;YY_NEVER_INTERACTIVE;yylval=pcap_lval;HAVE_STRERROR;__STDC__;INET6;SIZEOF_CHAR=1;SIZEOF_SHORT=2;SIZEOF_INT=4;WPCAP;HAVE_VSNPRINTF;HAVE_REMOTE;_U_=;_CRT_SECURE_NO_WARNINGS;YY_NO_UNISTD_H;HAVE_TC_API;%(PreprocessorDefinitions) + MultiThreaded + + Level3 + + + ws2_32.lib;packet.lib;%(AdditionalDependencies) + ..\..\packetNtx\Dll\Project\Release\x86;@CURRENT_PACKAGES_DIR@/lib;%(AdditionalLibraryDirectories) + wpcap.def + true + Windows + true + true + MachineX86 + + + MachineX86 + + + + + X64 + + + ..\libpcap;..\libpcap\lbl;..\libpcap\bpf\;..\..\common;..\libpcap\win32\include;..\Win32-Extensions;%(AdditionalIncludeDirectories) + LIBPCAP_EXPORTS;WIN32;NDEBUG;_WINDOWS;HAVE_ADDRINFO;YY_NEVER_INTERACTIVE;yylval=pcap_lval;HAVE_STRERROR;__STDC__;INET6;SIZEOF_CHAR=1;SIZEOF_SHORT=2;SIZEOF_INT=4;WPCAP;HAVE_VSNPRINTF;HAVE_REMOTE;_U_=;_CRT_SECURE_NO_WARNINGS;YY_NO_UNISTD_H;HAVE_TC_API;%(PreprocessorDefinitions) + MultiThreaded + + Level3 + + + ws2_32.lib;packet.lib;%(AdditionalDependencies) + ..\..\packetNtx\Dll\Project\Release\x64;@CURRENT_PACKAGES_DIR@/lib;%(AdditionalLibraryDirectories) + wpcap.def + true + Windows + true + true + MachineX64 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ports/winpty/CMakeLists.txt b/ports/winpty/CMakeLists.txt new file mode 100644 index 00000000000000..ce3eb00212baec --- /dev/null +++ b/ports/winpty/CMakeLists.txt @@ -0,0 +1,172 @@ +cmake_minimum_required(VERSION 3.12.0) + +set(PROJECT_VERSION "0.4.3") +project(winpty VERSION ${PROJECT_VERSION} LANGUAGES CXX) + +add_definitions(-DPROJECT_VERSION="${PROJECT_VERSION}") +add_definitions(-D_WIN32_WINNT=0x0600) +add_definitions(-DUNICODE) +add_definitions(-D_UNICODE) +add_definitions(-DNOMINMAX) + +if("${BUILD_TYPE}" STREQUAL "STATIC") + add_definitions(-DBUILD_STATIC) +else() + add_definitions(-DCOMPILING_WINPTY_DLL) +endif() + +set(CMAKE_CXX_STANDARD 11) +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +set(WINPTY_INSTALL_INCLUDE_DIR ${CMAKE_INSTALL_PREFIX}/include) +set(WINPTY_INSTALL_BIN_DIR ${CMAKE_INSTALL_PREFIX}/bin) +set(WINPTY_INSTALL_LIB_DIR ${CMAKE_INSTALL_PREFIX}/lib) + +include_directories(${WINPTY_INSTALL_INCLUDE_DIR}) + +#winpty library +set(WINPTYLIB_SOURCE_FILES + src/include/winpty.h + src/libwinpty/AgentLocation.cc + src/libwinpty/AgentLocation.h + src/libwinpty/winpty.cc + src/shared/AgentMsg.h + src/shared/BackgroundDesktop.h + src/shared/BackgroundDesktop.cc + src/shared/Buffer.h + src/shared/Buffer.cc + src/shared/DebugClient.h + src/shared/DebugClient.cc + src/shared/GenRandom.h + src/shared/GenRandom.cc + src/shared/OsModule.h + src/shared/OwnedHandle.h + src/shared/OwnedHandle.cc + src/shared/StringBuilder.h + src/shared/StringUtil.cc + src/shared/StringUtil.h + src/shared/WindowsSecurity.cc + src/shared/WindowsSecurity.h + src/shared/WindowsVersion.h + src/shared/WindowsVersion.cc + src/shared/WinptyAssert.h + src/shared/WinptyAssert.cc + src/shared/WinptyException.h + src/shared/WinptyException.cc + src/shared/WinptyVersion.h + src/shared/WinptyVersion.cc + src/shared/winpty_snprintf.h +) + +add_library( winpty ${BUILD_TYPE} ${WINPTYLIB_SOURCE_FILES} ) + +#winpty agent executable +set(WINPTYAGENT_SOURCE_FILES + src/agent/Agent.h + src/agent/Agent.cc + src/agent/AgentCreateDesktop.h + src/agent/AgentCreateDesktop.cc + src/agent/ConsoleFont.cc + src/agent/ConsoleFont.h + src/agent/ConsoleInput.cc + src/agent/ConsoleInput.h + src/agent/ConsoleInputReencoding.cc + src/agent/ConsoleInputReencoding.h + src/agent/ConsoleLine.cc + src/agent/ConsoleLine.h + src/agent/Coord.h + src/agent/DebugShowInput.h + src/agent/DebugShowInput.cc + src/agent/DefaultInputMap.h + src/agent/DefaultInputMap.cc + src/agent/DsrSender.h + src/agent/EventLoop.h + src/agent/EventLoop.cc + src/agent/InputMap.h + src/agent/InputMap.cc + src/agent/LargeConsoleRead.h + src/agent/LargeConsoleRead.cc + src/agent/NamedPipe.h + src/agent/NamedPipe.cc + src/agent/Scraper.h + src/agent/Scraper.cc + src/agent/SimplePool.h + src/agent/SmallRect.h + src/agent/Terminal.h + src/agent/Terminal.cc + src/agent/UnicodeEncoding.h + src/agent/Win32Console.cc + src/agent/Win32Console.h + src/agent/Win32ConsoleBuffer.cc + src/agent/Win32ConsoleBuffer.h + src/agent/main.cc + src/shared/AgentMsg.h + src/shared/BackgroundDesktop.h + src/shared/BackgroundDesktop.cc + src/shared/Buffer.h + src/shared/Buffer.cc + src/shared/DebugClient.h + src/shared/DebugClient.cc + src/shared/GenRandom.h + src/shared/GenRandom.cc + src/shared/OsModule.h + src/shared/OwnedHandle.h + src/shared/OwnedHandle.cc + src/shared/StringBuilder.h + src/shared/StringUtil.cc + src/shared/StringUtil.h + src/shared/UnixCtrlChars.h + src/shared/WindowsSecurity.cc + src/shared/WindowsSecurity.h + src/shared/WindowsVersion.h + src/shared/WindowsVersion.cc + src/shared/WinptyAssert.h + src/shared/WinptyAssert.cc + src/shared/WinptyException.h + src/shared/WinptyException.cc + src/shared/WinptyVersion.h + src/shared/WinptyVersion.cc + src/shared/winpty_snprintf.h +) + +add_executable(winpty-agent ${WINPTYAGENT_SOURCE_FILES}) +target_compile_definitions(winpty-agent PRIVATE -DWINPTY_AGENT_ASSERT) + + +#winpty debugserver executable +set(WINPTYAGENT_SOURCE_FILES + src/debugserver/DebugServer.cc + src/shared/DebugClient.h + src/shared/DebugClient.cc + src/shared/OwnedHandle.h + src/shared/OwnedHandle.cc + src/shared/OsModule.h + src/shared/StringBuilder.h + src/shared/StringUtil.cc + src/shared/StringUtil.h + src/shared/WindowsSecurity.h + src/shared/WindowsSecurity.cc + src/shared/WindowsVersion.h + src/shared/WindowsVersion.cc + src/shared/WinptyAssert.h + src/shared/WinptyAssert.cc + src/shared/WinptyException.h + src/shared/WinptyException.cc + src/shared/winpty_snprintf.h +) + +add_executable(winpty-debugserver ${WINPTYAGENT_SOURCE_FILES}) + + +if("${BUILD_TYPE}" STREQUAL "STATIC") + install(TARGETS winpty DESTINATION ${WINPTY_INSTALL_LIB_DIR}) +else() + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/winpty.dll DESTINATION ${WINPTY_INSTALL_BIN_DIR}) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/winpty.lib DESTINATION ${CMAKE_INSTALL_PREFIX}/lib) +endif() +install(TARGETS winpty-agent DESTINATION ${WINPTY_INSTALL_BIN_DIR}) +install(TARGETS winpty-debugserver DESTINATION ${WINPTY_INSTALL_BIN_DIR}) +install(FILES src/include/winpty.h src/include/winpty_constants.h DESTINATION ${WINPTY_INSTALL_INCLUDE_DIR}) + + + diff --git a/ports/winpty/allow-build-static.patch b/ports/winpty/allow-build-static.patch new file mode 100644 index 00000000000000..14447dfbd22b5e --- /dev/null +++ b/ports/winpty/allow-build-static.patch @@ -0,0 +1,45 @@ +diff --git a/src/include/winpty.h b/src/include/winpty.h +index fdfe4bc..7864d96 100644 +--- a/src/include/winpty.h ++++ b/src/include/winpty.h +@@ -32,11 +32,15 @@ + * When compiled with __declspec(dllexport), with either MinGW or MSVC, the + * winpty functions are unadorned--no underscore prefix or '@nn' suffix--so + * GetProcAddress can be used easily. */ ++#ifndef BUILD_STATIC + #ifdef COMPILING_WINPTY_DLL + #define WINPTY_API __declspec(dllexport) + #else + #define WINPTY_API __declspec(dllimport) + #endif ++#else ++#define WINPTY_API ++#endif + + #ifdef __cplusplus + extern "C" { +diff --git a/src/shared/WinptyVersion.cc b/src/shared/WinptyVersion.cc +index 76bb8a5..33a2c23 100644 +--- a/src/shared/WinptyVersion.cc ++++ b/src/shared/WinptyVersion.cc +@@ -28,15 +28,15 @@ + // This header is auto-generated by either the Makefile (Unix) or + // UpdateGenVersion.bat (gyp). It is placed in a 'gen' directory, which is + // added to the search path. +-#include "GenVersion.h" ++//#include "GenVersion.h" + + void dumpVersionToStdout() { +- printf("winpty version %s\n", GenVersion_Version); +- printf("commit %s\n", GenVersion_Commit); ++ printf("winpty version %s\n", PROJECT_VERSION); ++ printf("commit %s\n", "empty"); + } + + void dumpVersionToTrace() { + trace("winpty version %s (commit %s)", +- GenVersion_Version, +- GenVersion_Commit); ++ PROJECT_VERSION, ++ "empty"); + } diff --git a/ports/winpty/portfile.cmake b/ports/winpty/portfile.cmake new file mode 100644 index 00000000000000..87cecef41f0ebc --- /dev/null +++ b/ports/winpty/portfile.cmake @@ -0,0 +1,32 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO rprichard/winpty + REF antivirus + SHA512 8f5539c1af2a1127219278446c1d028079867cecdeb03c4f208c7d8176e8802e8075ce1b6992e0ef73db34c69e58f73d3828698d865deb35cb883821ee245e4d + HEAD_REF master + PATCHES + allow-build-static.patch +) + +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() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) + +vcpkg_copy_tools(TOOL_NAMES winpty-agent winpty-debugserver AUTO_CLEAN) + +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/winpty/vcpkg.json b/ports/winpty/vcpkg.json new file mode 100644 index 00000000000000..dc2288546b1cab --- /dev/null +++ b/ports/winpty/vcpkg.json @@ -0,0 +1,16 @@ +{ + "name": "winpty", + "version": "0.4.3", + "description": "winpty is a Windows software package providing an interface similar to a Unix pty-master for communicating with Windows console programs", + "supports": "windows & !uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/winreg/portfile.cmake b/ports/winreg/portfile.cmake index e4c5b08cefc0b6..38933f3250e5d1 100644 --- a/ports/winreg/portfile.cmake +++ b/ports/winreg/portfile.cmake @@ -1,11 +1,10 @@ # WinReg - Header-only library -vcpkg_fail_port_install(ON_TARGET "linux" "osx") vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO GiovanniDicanio/WinReg - REF 2594342b7fe6065430bc377961c37d30614cb4ff #v4.1.2 - SHA512 924cdb77518c3f0843e95cd7e7d4626d4c0c466444cd79fdfa6943975154a54f4eb0d4bd45b8d37d73c650467b1d2728543176688f356c5100d98810e95c9fe8 + REF "v${VERSION}" + SHA512 174d5ff3c08825990663159e91b9150f5a792591a4ee9e7f08facde124e212456df8b52c3fb50239363a2a2b43986678fde3880ca81e19c4c51e0f2ebddfef8c HEAD_REF master ) @@ -13,4 +12,4 @@ vcpkg_from_github( file(COPY "${SOURCE_PATH}/WinReg/WinReg.hpp" DESTINATION "${CURRENT_PACKAGES_DIR}/include/${PORT}") # 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/winreg/vcpkg.json b/ports/winreg/vcpkg.json index 7aa2cbf4a9c4ec..0bf00c0cb504ee 100644 --- a/ports/winreg/vcpkg.json +++ b/ports/winreg/vcpkg.json @@ -1,7 +1,8 @@ { "name": "winreg", - "version": "4.1.2", + "version": "6.3.2", "description": "High-level C++ wrapper around the Windows Registry C API.", "homepage": "https://github.com/GiovanniDicanio/WinReg", + "license": "MIT", "supports": "windows | uwp" } diff --git a/ports/winsock2/portfile.cmake b/ports/winsock2/portfile.cmake index b684c2f4327697..2bd5c72ba6ff61 100644 --- a/ports/winsock2/portfile.cmake +++ b/ports/winsock2/portfile.cmake @@ -1,3 +1,8 @@ +if(VCPKG_TARGET_IS_MINGW) + set(VCPKG_POLICY_EMPTY_PACKAGE enabled) + return() +endif() + vcpkg_get_windows_sdk(WINDOWS_SDK) if (WINDOWS_SDK MATCHES "10.") diff --git a/ports/winsock2/vcpkg.json b/ports/winsock2/vcpkg.json index 472dc00d27e74c..d6919d4b073e66 100644 --- a/ports/winsock2/vcpkg.json +++ b/ports/winsock2/vcpkg.json @@ -1,6 +1,8 @@ { "name": "winsock2", - "version-string": "0.0", - "port-version": 3, - "description": "Windows Sockets." + "version": "0.0", + "port-version": 5, + "description": "Windows Sockets.", + "license": null, + "supports": "windows" } diff --git a/ports/winsparkle/portfile.cmake b/ports/winsparkle/portfile.cmake new file mode 100644 index 00000000000000..a0ae2724c81779 --- /dev/null +++ b/ports/winsparkle/portfile.cmake @@ -0,0 +1,46 @@ +vcpkg_download_distfile(ARCHIVE + URLS "https://github.com/vslavik/winsparkle/releases/download/v0.8.1/WinSparkle-0.8.1.zip" + FILENAME "winsparkle-081.zip" + SHA512 05588793272618ca13fe884620f1ed421276b011a906f15c92f4879b1787c71b175ae1a170b80fe2adfdb7669eac90c38fac929a9bcf382388983f9aea25ba9c +) + +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE ${ARCHIVE} +) + +file(GLOB HEADER_LIST "${SOURCE_PATH}/include/*.h") +file(INSTALL ${HEADER_LIST} DESTINATION "${CURRENT_PACKAGES_DIR}/include/${PORT}") +file(GLOB TOOLS_LIST "${SOURCE_PATH}/bin/*.bat") +file(INSTALL ${TOOLS_LIST} DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}") + +# Note: It is an explicit design goal for WinSparkle to be a single +# self-contained DLL with no external dependencies (to the point that +# it even links to static CRT!). This matters for e.g. in-app delta updates +# or re-launching the app after update. It is not statically linked even if a +# static linking is used for everything else. +set(VCPKG_POLICY_DLLS_IN_STATIC_LIBRARY enabled) + +if (VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + file(INSTALL "${SOURCE_PATH}/Release/WinSparkle.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/bin") + file(INSTALL "${SOURCE_PATH}/Release/WinSparkle.pdb" DESTINATION "${CURRENT_PACKAGES_DIR}/bin") + file(INSTALL "${SOURCE_PATH}/Release/WinSparkle.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/lib") + + # We have no debug, but since Winsparkle is a self-contained dll, we can copy it to the Debug folder as well + file(INSTALL "${SOURCE_PATH}/Release/WinSparkle.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin") + file(INSTALL "${SOURCE_PATH}/Release/WinSparkle.pdb" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin") + file(INSTALL "${SOURCE_PATH}/Release/WinSparkle.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") +elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + file(INSTALL "${SOURCE_PATH}/x64/Release/WinSparkle.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/bin") + file(INSTALL "${SOURCE_PATH}/x64/Release/WinSparkle.pdb" DESTINATION "${CURRENT_PACKAGES_DIR}/bin") + file(INSTALL "${SOURCE_PATH}/x64/Release/WinSparkle.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/lib") + + # We have no debug, but since Winsparkle is a self-contained dll, we can copy it to the Debug folder as well + file(INSTALL "${SOURCE_PATH}/x64/Release/WinSparkle.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin") + file(INSTALL "${SOURCE_PATH}/x64/Release/WinSparkle.pdb" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin") + file(INSTALL "${SOURCE_PATH}/x64/Release/WinSparkle.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") +else() + message(FATAL_ERROR "Unsupported architecture: ${VCPKG_TARGET_ARCHITECTURE}") +endif() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/winsparkle/vcpkg.json b/ports/winsparkle/vcpkg.json new file mode 100644 index 00000000000000..3eda505ab808de --- /dev/null +++ b/ports/winsparkle/vcpkg.json @@ -0,0 +1,8 @@ +{ + "name": "winsparkle", + "version": "0.8.1", + "description": "WinSparkle is an easy-to-use software update library for Windows developers.", + "homepage": "https://winsparkle.org", + "license": "MIT", + "supports": "windows & !(arm | uwp)" +} diff --git a/ports/wintoast/CMakeLists.txt b/ports/wintoast/CMakeLists.txt deleted file mode 100644 index eb70fb9cfb4fe5..00000000000000 --- a/ports/wintoast/CMakeLists.txt +++ /dev/null @@ -1,25 +0,0 @@ -cmake_minimum_required(VERSION 3.11) -project(wintoast) - -set(SRC_FILES -src/wintoastlib.cpp -) - -add_library(wintoast ${SRC_FILES}) - -target_include_directories(wintoast PUBLIC - $ - $ -) - -# Install targets -install(TARGETS wintoast - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib -) - -# Install headers -if (INSTALL_HEADERS) - install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/wintoastlib.h DESTINATION include/wintoast) -endif() \ No newline at end of file diff --git a/ports/wintoast/Config.cmake.in b/ports/wintoast/Config.cmake.in new file mode 100644 index 00000000000000..575d76b5b12e39 --- /dev/null +++ b/ports/wintoast/Config.cmake.in @@ -0,0 +1,19 @@ +if(NOT TARGET unofficial::wintoast::wintoast) + add_library(unofficial::wintoast::wintoast UNKNOWN IMPORTED) + + set_target_properties(unofficial::wintoast::wintoast PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include" + ) + + find_library(WinToast_LIBRARY_RELEASE NAMES WinToast PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib" NO_DEFAULT_PATH) + if(EXISTS "${WinToast_LIBRARY_RELEASE}") + set_property(TARGET unofficial::wintoast::wintoast APPEND PROPERTY IMPORTED_CONFIGURATIONS "Release") + set_target_properties(unofficial::wintoast::wintoast PROPERTIES IMPORTED_LOCATION_RELEASE "${WinToast_LIBRARY_RELEASE}") + endif() + + find_library(WinToast_LIBRARY_DEBUG NAMES WinToast PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/lib" NO_DEFAULT_PATH) + if(EXISTS "${WinToast_LIBRARY_DEBUG}") + set_property(TARGET unofficial::wintoast::wintoast APPEND PROPERTY IMPORTED_CONFIGURATIONS "Debug") + set_target_properties(unofficial::wintoast::wintoast PROPERTIES IMPORTED_LOCATION_DEBUG "${WinToast_LIBRARY_DEBUG}") + endif() +endif() \ No newline at end of file diff --git a/ports/wintoast/portfile.cmake b/ports/wintoast/portfile.cmake index c99d50212da6ef..ea6c0d5d0679dd 100644 --- a/ports/wintoast/portfile.cmake +++ b/ports/wintoast/portfile.cmake @@ -1,30 +1,30 @@ -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 mohabouje/WinToast - REF v1.2.0 - SHA512 d8bd44439100772929eb8a4eb4aebfd66fa54562c838eb4c081a382dc1d73c545faa6d9675e320864d9b533e4a0c4a673e44058c7f643ccd56ec90830cdfaf45 + REF "v${VERSION}" + SHA512 b9e34595049851754dafe506681af494f59edf94a4324c20aaeadea25b9ed0abac87e93384d2080c327dbbdd22441800e9af7c5ce6728d7cc1464796a83cffbd HEAD_REF master ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS_RELEASE -DINSTALL_HEADERS=ON - OPTIONS_DEBUG -DINSTALL_HEADERS=OFF - +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DWINTOASTLIB_BUILD_EXAMPLES=OFF + -DWINTOASTLIB_QT_ENABLED=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_build(TARGET WinToast) + +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}WinToast${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}WinToast${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") +endif() +file(INSTALL "${SOURCE_PATH}/include/wintoastlib.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include") -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) -# Install license -file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") \ No newline at end of file diff --git a/ports/wintoast/vcpkg.json b/ports/wintoast/vcpkg.json index 2d0a41de5d2fe4..aa7d817e31ab9f 100644 --- a/ports/wintoast/vcpkg.json +++ b/ports/wintoast/vcpkg.json @@ -1,7 +1,12 @@ { "name": "wintoast", - "version-string": "1.2.0", - "port-version": 1, + "version": "1.3.0", "description": "WinToast is a lightly library written in C++ which brings a complete integration of the modern toast notifications of Windows 8 & Windows 10.", - "supports": "!uwp" + "supports": "windows & !uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/wmipp/portfile.cmake b/ports/wmipp/portfile.cmake new file mode 100644 index 00000000000000..60b82b06fb7247 --- /dev/null +++ b/ports/wmipp/portfile.cmake @@ -0,0 +1,11 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO sonodima/wmipp + REF "v${VERSION}" + SHA512 78635ec00928b5cb1fb5ab0001fa9a06f75a2a7e5f77dafb8bc77cf31f3ee2f642db08572d82ed39a09783a89d660bebc9b96f91d0926dbbb3109737d54f91e6 + HEAD_REF main +) + +file(COPY "${SOURCE_PATH}/include/wmipp" DESTINATION "${CURRENT_PACKAGES_DIR}/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/wmipp/vcpkg.json b/ports/wmipp/vcpkg.json new file mode 100644 index 00000000000000..fd36e46e70fabb --- /dev/null +++ b/ports/wmipp/vcpkg.json @@ -0,0 +1,8 @@ +{ + "name": "wmipp", + "version": "1.3.0", + "description": "Streamlined Windows Management Instrumentation (WMI) integration for seamless C++ development", + "homepage": "https://github.com/sonodima/wmipp", + "license": "MIT", + "supports": "windows & !uwp" +} diff --git a/ports/woff2/0001-unofficial-brotli.patch b/ports/woff2/0001-unofficial-brotli.patch index a0163a02c151e0..611e49c56d7603 100644 --- a/ports/woff2/0001-unofficial-brotli.patch +++ b/ports/woff2/0001-unofficial-brotli.patch @@ -1,34 +1,19 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index ecfbb83..7fb7a15 100644 +index ecfbb83..420c578 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -34,13 +34,23 @@ endif() +@@ -34,13 +34,6 @@ endif() # Find Brotli dependencies set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") - find_package(BrotliDec) +-find_package(BrotliDec) -if (NOT BROTLIDEC_FOUND) - message(FATAL_ERROR "librotlidec is needed to build woff2.") -endif () - find_package(BrotliEnc) +-find_package(BrotliEnc) -if (NOT BROTLIENC_FOUND) - message(FATAL_ERROR "librotlienc is needed to build woff2.") -endif () -+if(BROTLIDEC_FOUND AND BROTLIENC_FOUND) -+ include_directories("${BROTLIDEC_INCLUDE_DIRS}" "${BROTLIENC_INCLUDE_DIRS}") -+ set(WOFF2_BROTLIDEC libbrotlidec) -+ set(WOFF2_BROTLIENC libbrotlienc) -+ set(WOFF2_BORTLIDEC_LIBRARIES "${BROTLIDEC_LIBRARIES}") -+ set(WOFF2_BORTLIENC_LIBRARIES "${BROTLIENC_LIBRARIES}") -+else() + find_package(unofficial-brotli REQUIRED) -+ if(TARGET unofficial::brotli::brotlidec-static) -+ set(BROTLI_LINKAGE -static) -+ endif() -+ set(WOFF2_BROTLIDEC unofficial::brotli::brotlidec${BROTLI_LINKAGE}) -+ set(WOFF2_BROTLIENC unofficial::brotli::brotlienc${BROTLI_LINKAGE}) -+ set(WOFF2_BORTLIDEC_LIBRARIES unofficial::brotli::brotlidec${BROTLI_LINKAGE} unofficial::brotli::brotlicommon${BROTLI_LINKAGE}) -+ set(WOFF2_BORTLIENC_LIBRARIES unofficial::brotli::brotlienc${BROTLI_LINKAGE} unofficial::brotli::brotlicommon${BROTLI_LINKAGE}) -+endif() # Set compiler flags if (NOT CANONICAL_PREFIXES) @@ -49,7 +34,7 @@ index ecfbb83..7fb7a15 100644 src/woff2_dec.cc src/woff2_out.cc) -target_link_libraries(woff2dec woff2common "${BROTLIDEC_LIBRARIES}") -+target_link_libraries(woff2dec woff2common ${WOFF2_BORTLIDEC_LIBRARIES}) ++target_link_libraries(woff2dec woff2common unofficial::brotli::brotlidec) add_executable(woff2_decompress src/woff2_decompress.cc) target_link_libraries(woff2_decompress woff2dec) @@ -58,28 +43,10 @@ index ecfbb83..7fb7a15 100644 src/transform.cc src/woff2_enc.cc) -target_link_libraries(woff2enc woff2common "${BROTLIENC_LIBRARIES}") -+target_link_libraries(woff2enc woff2common ${WOFF2_BORTLIENC_LIBRARIES}) ++target_link_libraries(woff2enc woff2common unofficial::brotli::brotlienc) add_executable(woff2_compress src/woff2_compress.cc) target_link_libraries(woff2_compress woff2enc) -@@ -246,7 +255,7 @@ generate_pkg_config ("${CMAKE_CURRENT_BINARY_DIR}/libwoff2dec.pc" - DESCRIPTION "WOFF2 decoder library" - URL "https://github.com/google/woff2" - VERSION "${WOFF2_VERSION}" -- DEPENDS libbrotlidec -+ DEPENDS ${WOFF2_BROTLIDEC} - DEPENDS_PRIVATE libwoff2common - LIBRARIES woff2dec) - -@@ -255,7 +264,7 @@ generate_pkg_config ("${CMAKE_CURRENT_BINARY_DIR}/libwoff2enc.pc" - DESCRIPTION "WOFF2 encoder library" - URL "https://github.com/google/woff2" - VERSION "${WOFF2_VERSION}" -- DEPENDS libbrotlienc -+ DEPENDS ${WOFF2_BROTLIENC} - DEPENDS_PRIVATE libwoff2common - LIBRARIES woff2enc) - @@ -264,6 +273,7 @@ if (NOT BUILD_SHARED_LIBS) install( TARGETS woff2_decompress woff2_compress woff2_info diff --git a/ports/woff2/portfile.cmake b/ports/woff2/portfile.cmake index 7e71859bf04bd7..b392fed7f65368 100644 --- a/ports/woff2/portfile.cmake +++ b/ports/woff2/portfile.cmake @@ -12,23 +12,24 @@ vcpkg_from_github( 0001-unofficial-brotli.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DCANONICAL_PREFIXES=ON ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -file(COPY ${CURRENT_PACKAGES_DIR}/bin/ DESTINATION ${CURRENT_PACKAGES_DIR}/tools/woff2) +file(COPY "${CURRENT_PACKAGES_DIR}/bin/" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/woff2") file(REMOVE_RECURSE - ${CURRENT_PACKAGES_DIR}/bin - ${CURRENT_PACKAGES_DIR}/debug/bin - ${CURRENT_PACKAGES_DIR}/debug/include + "${CURRENT_PACKAGES_DIR}/bin" + "${CURRENT_PACKAGES_DIR}/debug/bin" + "${CURRENT_PACKAGES_DIR}/debug/include" ) -vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/woff2) +vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/woff2") + +vcpkg_fixup_pkgconfig() # Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/woff2 RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/woff2" RENAME copyright) diff --git a/ports/woff2/vcpkg.json b/ports/woff2/vcpkg.json index 122fc73cc10d32..fa3ece813bb3a5 100644 --- a/ports/woff2/vcpkg.json +++ b/ports/woff2/vcpkg.json @@ -1,9 +1,13 @@ { "name": "woff2", - "version-string": "1.0.2", - "port-version": 2, + "version": "1.0.2", + "port-version": 4, "description": "font compression reference code", "dependencies": [ - "brotli" + "brotli", + { + "name": "vcpkg-cmake", + "host": true + } ] } diff --git a/ports/wolfmqtt/portfile.cmake b/ports/wolfmqtt/portfile.cmake new file mode 100644 index 00000000000000..c86fbfe379608f --- /dev/null +++ b/ports/wolfmqtt/portfile.cmake @@ -0,0 +1,29 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO wolfssl/wolfmqtt + REF "v${VERSION}" + SHA512 354ab619144bd29258e65bd06219dddb4c89d5709c3246d6968239ab29426fb3882f2d5acad866cc431f6164c5e41b7da3a24ab7923fabc27deafd2801b92580 + HEAD_REF master + ) + +vcpkg_cmake_configure(SOURCE_PATH ${SOURCE_PATH} + OPTIONS + -DWOLFMQTT_BUILD_OUT_OF_TREE=yes + -DWOLFMQTT_EXAMPLES=no + OPTIONS_DEBUG + -DCMAKE_C_FLAGS='-DDEBUG_MQTT' + ) + + +vcpkg_cmake_install() +vcpkg_copy_pdbs() + +file(INSTALL "${SOURCE_PATH}/LICENSE" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" + RENAME copyright) + +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/wolfmqtt) +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") diff --git a/ports/wolfmqtt/vcpkg.json b/ports/wolfmqtt/vcpkg.json new file mode 100644 index 00000000000000..eb859a67134c41 --- /dev/null +++ b/ports/wolfmqtt/vcpkg.json @@ -0,0 +1,19 @@ +{ + "name": "wolfmqtt", + "version": "1.19.0", + "description": "MQTT library used with wolfSSL library for many platforms", + "homepage": "https://wolfssl.com", + "license": "GPL-2.0-or-later", + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "wolfssl" + ] +} diff --git a/ports/wolfssl/portfile.cmake b/ports/wolfssl/portfile.cmake new file mode 100644 index 00000000000000..f5c871a0dac244 --- /dev/null +++ b/ports/wolfssl/portfile.cmake @@ -0,0 +1,73 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO wolfssl/wolfssl + REF "v${VERSION}-stable" + SHA512 ad6a8c8635d7d3355cb4fb70dac31d405976312864f383e83597b3653fb6cde614a4f6427ebe76015fc0eade9741cb9ac4a9bc9d8fa55d97939052c0f7246114 + HEAD_REF master + PATCHES + ) + +if ("asio" IN_LIST FEATURES) + set(ENABLE_ASIO yes) +else() + set(ENABLE_ASIO no) +endif() + +if ("dtls" IN_LIST FEATURES) + set(ENABLE_DTLS yes) +else() + set(ENABLE_DTLS no) +endif() + +if ("quic" IN_LIST FEATURES) + set(ENABLE_QUIC yes) +else() + set(ENABLE_QUIC no) +endif() + +vcpkg_cmake_get_vars(cmake_vars_file) +include("${cmake_vars_file}") + +foreach(config RELEASE DEBUG) + string(APPEND VCPKG_COMBINED_C_FLAGS_${config} " -DHAVE_EX_DATA -DNO_WOLFSSL_STUB -DWOLFSSL_ALT_CERT_CHAINS -DWOLFSSL_DES_ECB -DWOLFSSL_CUSTOM_OID -DHAVE_OID_ENCODING -DWOLFSSL_CERT_GEN -DWOLFSSL_ASN_TEMPLATE -DWOLFSSL_KEY_GEN -DHAVE_PKCS7 -DHAVE_AES_KEYWRAP -DWOLFSSL_AES_DIRECT -DHAVE_X963_KDF") + if ("secret-callback" IN_LIST FEATURES) + string(APPEND VCPKG_COMBINED_C_FLAGS_${config} " -DHAVE_SECRET_CALLBACK") + endif() +endforeach() + +vcpkg_cmake_configure( + SOURCE_PATH ${SOURCE_PATH} + OPTIONS + -DWOLFSSL_BUILD_OUT_OF_TREE=yes + -DWOLFSSL_EXAMPLES=no + -DWOLFSSL_CRYPT_TESTS=no + -DWOLFSSL_OPENSSLEXTRA=yes + -DWOLFSSL_TPM=yes + -DWOLFSSL_TLSX=yes + -DWOLFSSL_OCSP=yes + -DWOLFSSL_OCSPSTAPLING=yes + -DWOLFSSL_OCSPSTAPLING_V2=yes + -DWOLFSSL_CRL=yes + -DWOLFSSL_DES3=yes + -DWOLFSSL_ASIO=${ENABLE_ASIO} + -DWOLFSSL_DTLS=${ENABLE_DTLS} + -DWOLFSSL_DTLS13=${ENABLE_DTLS} + -DWOLFSSL_DTLS_CID=${ENABLE_DTLS} + -DWOLFSSL_QUIC=${ENABLE_QUIC} + -DWOLFSSL_SESSION_TICKET=${ENABLE_QUIC} + OPTIONS_RELEASE + -DCMAKE_C_FLAGS=${VCPKG_COMBINED_C_FLAGS_RELEASE} + OPTIONS_DEBUG + -DCMAKE_C_FLAGS=${VCPKG_COMBINED_C_FLAGS_DEBUG} + -DWOLFSSL_DEBUG=yes) + +vcpkg_cmake_install() +vcpkg_copy_pdbs() + +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) + +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/wolfssl) +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") diff --git a/ports/wolfssl/vcpkg.json b/ports/wolfssl/vcpkg.json new file mode 100644 index 00000000000000..bc8e0fd8135848 --- /dev/null +++ b/ports/wolfssl/vcpkg.json @@ -0,0 +1,36 @@ +{ + "name": "wolfssl", + "version": "5.7.4", + "description": "TLS and Cryptographic library for many platforms", + "homepage": "https://wolfssl.com", + "license": "GPL-2.0-or-later", + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + { + "name": "vcpkg-cmake-get-vars", + "host": true + } + ], + "features": { + "asio": { + "description": "Enable asio support" + }, + "dtls": { + "description": "DTLS support" + }, + "quic": { + "description": "Enable quic support" + }, + "secret-callback": { + "description": "Enables callback to provide TLS keys for debugging" + } + } +} diff --git a/ports/wolftpm/portfile.cmake b/ports/wolftpm/portfile.cmake new file mode 100644 index 00000000000000..e380a4859fd31f --- /dev/null +++ b/ports/wolftpm/portfile.cmake @@ -0,0 +1,25 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO wolfssl/wolftpm + REF v3.4.0 + SHA512 03cff1e1ae13525c3c9325b56e0b8d900a4546d94378d1be61125e4873de5114644e3031bdd65178d6c8afb9a4a1c3dff7997bdfbf796266d2420f802d4cd77b + HEAD_REF master + ) + +vcpkg_cmake_configure(SOURCE_PATH ${SOURCE_PATH} + OPTIONS + -DWOLFTPM_EXAMPLES=no + -DWOLFTPM_BUILD_OUT_OF_TREE=yes + OPTIONS_DEBUG + -DCMAKE_C_FLAGS='-DDEBUG_WOLFTPM' + ) + +vcpkg_cmake_install() +vcpkg_copy_pdbs() + +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) + +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/wolftpm) +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/wolftpm/vcpkg.json b/ports/wolftpm/vcpkg.json new file mode 100644 index 00000000000000..f230f644f2d5a8 --- /dev/null +++ b/ports/wolftpm/vcpkg.json @@ -0,0 +1,19 @@ +{ + "name": "wolftpm", + "version": "3.4.0", + "description": "TPM library used with wolfSSL library for many platforms", + "homepage": "https://wolfssl.com", + "license": "GPL-2.0-or-later", + "supports": "!uwp & !xbox", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "wolfssl" + ] +} diff --git a/ports/wordnet/portfile.cmake b/ports/wordnet/portfile.cmake index 59ca6805105024..1ded2df77b0748 100644 --- a/ports/wordnet/portfile.cmake +++ b/ports/wordnet/portfile.cmake @@ -8,16 +8,16 @@ vcpkg_download_distfile(ARCHIVE SHA512 9539bc016d710f31d65072bbf5068edffcd735978d8cc6f1b361b19428b97546ef6c7e246e1b6f2ff4557a0885a8305341e35173a6723f0740dda18d097ca248 ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} - REF ${VERSION} +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" + SOURCE_BASE "${VERSION}" PATCHES fix_gobal_vars_uninit_local_ptr.patch ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/wordnet-config.cmake.in DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") +file(COPY "${CMAKE_CURRENT_LIST_DIR}/wordnet-config.cmake.in" DESTINATION "${SOURCE_PATH}") if("dbfiles" IN_LIST FEATURES) vcpkg_download_distfile(WORDNET_DICT_DBFILES @@ -26,27 +26,26 @@ if("dbfiles" IN_LIST FEATURES) SHA512 16dca17a87026d8a0b7b4758219cd21a869c3ef3da23ce7875924546f2eacac4c2f376cb271b798b2c458fe8c078fb43d681356e3d9beef40f4bd88d3579394f ) file(REMOVE_RECURSE "${SOURCE_PATH}/dict/") - vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH WORDNET_DICT_DBFILES_EX - ARCHIVE ${WORDNET_DICT_DBFILES} - REF 3.1 - WORKING_DIRECTORY ${SOURCE_PATH} + vcpkg_extract_source_archive( + WORDNET_DICT_DBFILES_EX + ARCHIVE "${WORDNET_DICT_DBFILES}" + SOURCE_BASE "3.1" + WORKING_DIRECTORY "${SOURCE_PATH}" ) - file(RENAME ${WORDNET_DICT_DBFILES_EX} "${SOURCE_PATH}/dict") + file(RENAME "${WORDNET_DICT_DBFILES_EX}" "${SOURCE_PATH}/dict") endif() set (WORDNET_DICT_PATH "${CURRENT_PACKAGES_DIR}/tools/${PORT}/dict") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS -DWORDNET_DICT_PATH=${WORDNET_DICT_PATH} +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS "-DWORDNET_DICT_PATH=${WORDNET_DICT_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets() +vcpkg_cmake_config_fixup() # Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/wordnet RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/wordnet/vcpkg.json b/ports/wordnet/vcpkg.json index ffa68c3f26bfc9..47aa7b137e0fb4 100644 --- a/ports/wordnet/vcpkg.json +++ b/ports/wordnet/vcpkg.json @@ -1,8 +1,18 @@ { "name": "wordnet", - "version-string": "3.0", - "port-version": 1, + "version": "3.0", + "port-version": 3, "description": "WordNet is a large lexical database of English", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], "features": { "dbfiles": { "description": "WordNet 3.1 database files" diff --git a/ports/workflow/portfile.cmake b/ports/workflow/portfile.cmake index 5075bbde4b47b0..78457c0a47996e 100644 --- a/ports/workflow/portfile.cmake +++ b/ports/workflow/portfile.cmake @@ -2,30 +2,37 @@ if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO sogou/workflow - REF v0.9.7-win - SHA512 c23b8c1910c4ca5d57fa732e3084f56e17fdfead5561a8eab7be469d8f6081d830555365b2cf74e27956ffa88a6fb284dbde4654b23b130da9fbb4eb404686bd + REF "v${VERSION}-win" + SHA512 c34518ca35f19ab5539ea82cc73ecbc9828413530cec8dbbe56b17517ec6b7b0326a29e5b343b950afe128829c8e23e75d19494e17f7be4fce9edb524c44ee56 HEAD_REF windows ) else() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO sogou/workflow - REF v0.9.7 - SHA512 4866d9cfe2d9ba30f2f7866819ee8f425b91082d7f86994c1194a6b4406e8ee99e22ce6b0bafeb22c5f098f7da30029fb6b12895c2ac45810d33c28d4bfad006 + REF "v${VERSION}" + SHA512 25258e9dc161c5b30395caa3525a4ba5de5763cad5761cbdc8bb23d2468eb624ec49455a5c9ab628c219d7436f707da0138229c5fa82bcfccc24a485649acb56 HEAD_REF master ) endif() +if(VCPKG_CRT_LINKAGE STREQUAL "static") + set(CONFIGURE_OPTIONS "-DWORKFLOW_BUILD_STATIC_RUNTIME=ON") +else() + set(CONFIGURE_OPTIONS "-DWORKFLOW_BUILD_STATIC_RUNTIME=OFF") +endif() + vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA + SOURCE_PATH "${SOURCE_PATH}" DISABLE_PARALLEL_CONFIGURE + OPTIONS ${CONFIGURE_OPTIONS} ) - 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") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/doc") + +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/workflow/vcpkg.json b/ports/workflow/vcpkg.json index bbea8566355b1c..895f19056dbfaa 100644 --- a/ports/workflow/vcpkg.json +++ b/ports/workflow/vcpkg.json @@ -1,8 +1,9 @@ { "name": "workflow", - "version": "0.9.7", + "version": "0.10.9", "description": "About C++ Parallel Computing and Asynchronous Networking Engine", "homepage": "https://github.com/sogou/workflow", + "license": "Apache-2.0", "dependencies": [ "openssl", { diff --git a/ports/wpilib/fix-build-error-with-fmt11.patch b/ports/wpilib/fix-build-error-with-fmt11.patch new file mode 100644 index 00000000000000..c33eff5d70bb89 --- /dev/null +++ b/ports/wpilib/fix-build-error-with-fmt11.patch @@ -0,0 +1,36 @@ +diff --git a/ntcore/src/dev/native/cpp/main.cpp b/ntcore/src/dev/native/cpp/main.cpp +index 6e43fdb..ad93644 100644 +--- a/ntcore/src/dev/native/cpp/main.cpp ++++ b/ntcore/src/dev/native/cpp/main.cpp +@@ -13,6 +13,7 @@ + #include + + #include ++#include + #include + #include + +diff --git a/wpiutil/examples/printlog/printlog.cpp b/wpiutil/examples/printlog/printlog.cpp +index cb89934..4fe4817 100644 +--- a/wpiutil/examples/printlog/printlog.cpp ++++ b/wpiutil/examples/printlog/printlog.cpp +@@ -6,6 +6,7 @@ + + #include + #include ++#include + + #include "wpi/DataLogReader.h" + #include "wpi/DenseMap.h" +diff --git a/wpiutil/src/main/native/include/wpi/Logger.h b/wpiutil/src/main/native/include/wpi/Logger.h +index 01a02fd..bd524a9 100644 +--- a/wpiutil/src/main/native/include/wpi/Logger.h ++++ b/wpiutil/src/main/native/include/wpi/Logger.h +@@ -9,6 +9,7 @@ + #include + + #include ++#include + + namespace wpi { + diff --git a/ports/wpilib/fix-usage.patch b/ports/wpilib/fix-usage.patch new file mode 100644 index 00000000000000..99d22f549fcbd5 --- /dev/null +++ b/ports/wpilib/fix-usage.patch @@ -0,0 +1,44 @@ +diff --git a/wpilibNewCommands/wpilibNewCommands-config.cmake.in b/wpilibNewCommands/wpilibNewCommands-config.cmake.in +index 75aa6ad7d..8a8d8d8ec 100644 +--- a/wpilibNewCommands/wpilibNewCommands-config.cmake.in ++++ b/wpilibNewCommands/wpilibNewCommands-config.cmake.in +@@ -1,5 +1,4 @@ + include(CMakeFindDependencyMacro) +- @FILENAME_DEP_REPLACE@ + @WPIUTIL_DEP_REPLACE@ + @NTCORE_DEP_REPLACE@ + @CSCORE_DEP_REPLACE@ +@@ -8,4 +7,5 @@ include(CMakeFindDependencyMacro) + @WPILIBC_DEP_REPLACE@ + @WPIMATH_DEP_REPLACE@ + ++ @FILENAME_DEP_REPLACE@ + include(${SELF_DIR}/wpilibNewCommands.cmake) +diff --git a/wpimath/wpimath-config.cmake.in b/wpimath/wpimath-config.cmake.in +index 4769e4317..9100d7943 100644 +--- a/wpimath/wpimath-config.cmake.in ++++ b/wpimath/wpimath-config.cmake.in +@@ -2,5 +2,9 @@ include(CMakeFindDependencyMacro) + @FILENAME_DEP_REPLACE@ + @WPIUTIL_DEP_REPLACE@ + ++if(@USE_SYSTEM_EIGEN@) ++ find_dependency(Eigen3) ++endif() ++ + @FILENAME_DEP_REPLACE@ + include(${SELF_DIR}/wpimath.cmake) +diff --git a/wpiutil/wpiutil-config.cmake.in b/wpiutil/wpiutil-config.cmake.in +index fde839e2f..3f696c8a0 100644 +--- a/wpiutil/wpiutil-config.cmake.in ++++ b/wpiutil/wpiutil-config.cmake.in +@@ -4,5 +4,9 @@ set(THREADS_PREFER_PTHREAD_FLAG ON) + find_dependency(Threads) + @FMTLIB_SYSTEM_REPLACE@ + ++if(@USE_SYSTEM_FMTLIB@) ++ find_dependency(fmt) ++endif() ++ + @FILENAME_DEP_REPLACE@ + include(${SELF_DIR}/wpiutil.cmake) diff --git a/ports/wpilib/missing-find_dependency.patch b/ports/wpilib/missing-find_dependency.patch new file mode 100644 index 00000000000000..06ccb909a57771 --- /dev/null +++ b/ports/wpilib/missing-find_dependency.patch @@ -0,0 +1,12 @@ +diff --git a/ntcore/ntcore-config.cmake.in b/ntcore/ntcore-config.cmake.in +index 17006a583..0a85f8b09 100644 +--- a/ntcore/ntcore-config.cmake.in ++++ b/ntcore/ntcore-config.cmake.in +@@ -1,6 +1,7 @@ + include(CMakeFindDependencyMacro) + @FILENAME_DEP_REPLACE@ + @WPIUTIL_DEP_REPLACE@ ++@WPINET_DEP_REPLACE@ + + @FILENAME_DEP_REPLACE@ + include(${SELF_DIR}/ntcore.cmake) diff --git a/ports/wpilib/no-werror.patch b/ports/wpilib/no-werror.patch new file mode 100644 index 00000000000000..8bcd6997220031 --- /dev/null +++ b/ports/wpilib/no-werror.patch @@ -0,0 +1,15 @@ +diff --git a/cmake/modules/CompileWarnings.cmake b/cmake/modules/CompileWarnings.cmake +index 93b35b8ab..df7ff7365 100644 +--- a/cmake/modules/CompileWarnings.cmake ++++ b/cmake/modules/CompileWarnings.cmake +@@ -1,8 +1,8 @@ + macro(wpilib_target_warnings target) + if(NOT MSVC) +- target_compile_options(${target} PRIVATE -Wall -pedantic -Wextra -Werror -Wno-unused-parameter ${WPILIB_TARGET_WARNINGS}) ++ target_compile_options(${target} PRIVATE -Wall -pedantic -Wextra -Wno-unused-parameter ${WPILIB_TARGET_WARNINGS}) + else() +- target_compile_options(${target} PRIVATE /wd4146 /wd4244 /wd4251 /wd4267 /WX /D_CRT_SECURE_NO_WARNINGS ${WPILIB_TARGET_WARNINGS}) ++ target_compile_options(${target} PRIVATE /wd4146 /wd4244 /wd4251 /wd4267 /D_CRT_SECURE_NO_WARNINGS ${WPILIB_TARGET_WARNINGS}) + endif() + + # Suppress C++-specific OpenCV warning; C compiler rejects it with an error diff --git a/ports/wpilib/portfile.cmake b/ports/wpilib/portfile.cmake index cbe4051f75fec1..fed6884be711c8 100644 --- a/ports/wpilib/portfile.cmake +++ b/ports/wpilib/portfile.cmake @@ -1,62 +1,60 @@ -vcpkg_fail_port_install(ON_TARGET "OSX") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO wpilibsuite/allwpilib - REF 35eb90c135eba994a2ca2cbd50a68c367910f4b6 - SHA512 55bc608632ab67c097f3cce7c5ad9790b2b123a633c93bf5b4008f90bf79538cc142c911850d5f49b75e3a12f43ffad9f6f5f9bcdf1351cce7513ecc4b04e439 + REF 165ebe4c79c437c7ba6c03af4a88a8c8680f742a + SHA512 f6ee07db0a119a7ac5876c4b0cf74abfb6af635d3d3ba913300138c450f62f6595ac4849bc499346f9f0179cc563f548a5e8a9a47122af593b425af453afd99f + PATCHES + no-werror.patch + windows-install-location.patch + missing-find_dependency.patch + fix-usage.patch + fix-build-error-with-fmt11.patch ) +if("allwpilib" IN_LIST FEATURES) + vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH_APRILTAG + REPO wpilibsuite/apriltag + REF e55b751f2465bd40a880d9acb87d24289e2af89e + SHA512 a5d824d11312f7f5229bad162349586e9c855cd1dc03f33235c045f2d5235932227eb17f9e9c801b46a28991cddcf7ad16d39549560251d7d9d52ce72f094a73 + ) +endif() + vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - INVERTED_FEATURES - cameraserver WITHOUT_CSCORE - allwpilib WITHOUT_ALLWPILIB + FEATURES + cameraserver WITH_CSCORE + allwpilib WITH_SIMULATION_MODULES + allwpilib WITH_WPILIB ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_find_acquire_program(PYTHON3) +x_vcpkg_get_python_packages(PYTHON_EXECUTABLE "${PYTHON3}" PACKAGES jinja2) +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DWITHOUT_JAVA=ON - ${FEATURE_OPTIONS} - -DUSE_VCPKG_LIBUV=ON - -DUSE_VCPKG_EIGEN=ON - -DFLAT_INSTALL_WPILIB=ON + ${FEATURE_OPTIONS} + -DWITH_JAVA=OFF + -DWITH_EXAMPLES=OFF + -DWITH_TESTS=OFF + -DWITH_GUI=OFF + -DWITH_SIMULATION_MODULES=OFF + -DUSE_SYSTEM_FMTLIB=ON + -DUSE_SYSTEM_LIBUV=ON + -DUSE_SYSTEM_EIGEN=ON + "-DFETCHCONTENT_SOURCE_DIR_APRILTAGLIB=${SOURCE_PATH_APRILTAG}" + MAYBE_UNUSED_VARIABLES + FETCHCONTENT_SOURCE_DIR_APRILTAGLIB ) -vcpkg_install_cmake() - -file(COPY ${CURRENT_PACKAGES_DIR}/wpilib/include/ntcore/ DESTINATION ${CURRENT_PACKAGES_DIR}/include) -file(COPY ${CURRENT_PACKAGES_DIR}/wpilib/include/wpiutil/ DESTINATION ${CURRENT_PACKAGES_DIR}/include) - -if ("allwpilib" IN_LIST FEATURES) - file(COPY ${CURRENT_PACKAGES_DIR}/wpilib/include/wpilibc/ DESTINATION ${CURRENT_PACKAGES_DIR}/include) - file(COPY ${CURRENT_PACKAGES_DIR}/wpilib/include/hal/ DESTINATION ${CURRENT_PACKAGES_DIR}/include) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/gen) -endif() - -if ("cameraserver" IN_LIST FEATURES) - file(COPY ${CURRENT_PACKAGES_DIR}/wpilib/include/cameraserver/ DESTINATION ${CURRENT_PACKAGES_DIR}/include) - file(COPY ${CURRENT_PACKAGES_DIR}/wpilib/include/cscore/ DESTINATION ${CURRENT_PACKAGES_DIR}/include) -endif() - -if(NOT VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(COPY ${CURRENT_PACKAGES_DIR}/wpilib/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/bin FILES_MATCHING PATTERN "*.dll") - file(COPY ${CURRENT_PACKAGES_DIR}/debug/wpilib/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin FILES_MATCHING PATTERN "*.dll") - - file(COPY ${CURRENT_PACKAGES_DIR}/wpilib/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/bin FILES_MATCHING PATTERN "*.so") - file(COPY ${CURRENT_PACKAGES_DIR}/debug/wpilib/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin FILES_MATCHING PATTERN "*.so") - - file(COPY ${CURRENT_PACKAGES_DIR}/wpilib/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/bin FILES_MATCHING PATTERN "*.dylib") - file(COPY ${CURRENT_PACKAGES_DIR}/debug/wpilib/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin FILES_MATCHING PATTERN "*.dylib") -endif() - -file(COPY ${CURRENT_PACKAGES_DIR}/wpilib/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/lib FILES_MATCHING PATTERN "*.lib") -file(COPY ${CURRENT_PACKAGES_DIR}/debug/wpilib/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib FILES_MATCHING PATTERN "*.lib") - -file(COPY ${CURRENT_PACKAGES_DIR}/wpilib/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/lib FILES_MATCHING PATTERN "*.a") -file(COPY ${CURRENT_PACKAGES_DIR}/debug/wpilib/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib FILES_MATCHING PATTERN "*.a") +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME wpilib) +vcpkg_cmake_config_fixup(PACKAGE_NAME ntcore) +vcpkg_cmake_config_fixup(PACKAGE_NAME wpimath) +vcpkg_cmake_config_fixup(PACKAGE_NAME wpinet) +vcpkg_cmake_config_fixup(PACKAGE_NAME wpiutil) vcpkg_copy_pdbs() -file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.md") diff --git a/ports/wpilib/vcpkg.json b/ports/wpilib/vcpkg.json index c96157cc6ad224..9d54f08ff0d45f 100644 --- a/ports/wpilib/vcpkg.json +++ b/ports/wpilib/vcpkg.json @@ -1,13 +1,26 @@ { "name": "wpilib", - "version-string": "2020.3.2", + "version-date": "2023-08-24", "port-version": 1, "description": "WPILib is the software library package for the FIRST Robotics Competition. The core install includes wpiutil, a common utilies library, and ntcore, the base NetworkTables library.", "homepage": "https://github.com/wpilibsuite/allwpilib", - "supports": "!osx", + "license": null, "dependencies": [ "eigen3", - "libuv" + "fmt", + "libuv", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + { + "name": "vcpkg-get-python-packages", + "host": true + } ], "features": { "allwpilib": { diff --git a/ports/wpilib/windows-install-location.patch b/ports/wpilib/windows-install-location.patch new file mode 100644 index 00000000000000..36087a71f0d096 --- /dev/null +++ b/ports/wpilib/windows-install-location.patch @@ -0,0 +1,338 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 012bcb7cc..ff2ab95b8 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -153,7 +153,6 @@ endif() + + set( wpilib_dest "") + set( include_dest include ) +-set( main_lib_dest lib ) + set( java_lib_dest java ) + set( jni_lib_dest jni ) + +diff --git a/apriltag/CMakeLists.txt b/apriltag/CMakeLists.txt +index 6f20e3aa0..b5459eb62 100644 +--- a/apriltag/CMakeLists.txt ++++ b/apriltag/CMakeLists.txt +@@ -62,11 +62,7 @@ if (WITH_JAVA) + target_link_libraries(apriltagjni PRIVATE apriltag_jni_headers) + add_dependencies(apriltagjni apriltag_jar) + +- if (MSVC) +- install(TARGETS apriltagjni RUNTIME DESTINATION "${jni_lib_dest}" COMPONENT Runtime) +- endif() +- +- install(TARGETS apriltagjni EXPORT apriltagjni DESTINATION "${main_lib_dest}") ++ install(TARGETS apriltagjni EXPORT apriltagjni) + + endif() + +@@ -94,13 +90,9 @@ target_include_directories(apriltag PUBLIC + $ + $) + +-install(TARGETS apriltag EXPORT apriltag DESTINATION "${main_lib_dest}") ++install(TARGETS apriltag EXPORT apriltag) + install(DIRECTORY src/main/native/include/ DESTINATION "${include_dest}/apriltag") + +-if (WITH_JAVA AND MSVC) +- install(TARGETS apriltag RUNTIME DESTINATION "${jni_lib_dest}" COMPONENT Runtime) +-endif() +- + if (WITH_FLAT_INSTALL) + set (apriltag_config_dir ${wpilib_dest}) + else() +diff --git a/cameraserver/CMakeLists.txt b/cameraserver/CMakeLists.txt +index 4916be3b6..665a4ef41 100644 +--- a/cameraserver/CMakeLists.txt ++++ b/cameraserver/CMakeLists.txt +@@ -40,13 +40,9 @@ target_link_libraries(cameraserver PUBLIC ntcore cscore wpiutil ${OpenCV_LIBS}) + + set_property(TARGET cameraserver PROPERTY FOLDER "libraries") + +-install(TARGETS cameraserver EXPORT cameraserver DESTINATION "${main_lib_dest}") ++install(TARGETS cameraserver EXPORT cameraserver) + install(DIRECTORY src/main/native/include/ DESTINATION "${include_dest}/cameraserver") + +-if (WITH_JAVA AND MSVC) +- install(TARGETS cameraserver RUNTIME DESTINATION "${jni_lib_dest}" COMPONENT Runtime) +-endif() +- + if (WITH_FLAT_INSTALL) + set (cameraserver_config_dir ${wpilib_dest}) + else() +diff --git a/cscore/CMakeLists.txt b/cscore/CMakeLists.txt +index 81cdd4ec5..1036cdf31 100644 +--- a/cscore/CMakeLists.txt ++++ b/cscore/CMakeLists.txt +@@ -40,7 +40,7 @@ target_link_libraries(cscore PUBLIC wpinet wpiutil ${OpenCV_LIBS}) + + set_property(TARGET cscore PROPERTY FOLDER "libraries") + +-install(TARGETS cscore EXPORT cscore DESTINATION "${main_lib_dest}") ++install(TARGETS cscore EXPORT cscore) + install(DIRECTORY src/main/native/include/ DESTINATION "${include_dest}/cscore") + + if (WITH_FLAT_INSTALL) +@@ -129,11 +129,7 @@ if (WITH_JAVA) + target_link_libraries(cscorejni PRIVATE cscore_jni_headers) + add_dependencies(cscorejni cscore_jar) + +- if (MSVC) +- install(TARGETS cscorejni RUNTIME DESTINATION "${jni_lib_dest}" COMPONENT Runtime) +- endif() +- +- install(TARGETS cscorejni EXPORT cscorejni DESTINATION "${main_lib_dest}") ++ install(TARGETS cscorejni EXPORT cscorejni) + + endif() + +diff --git a/glass/CMakeLists.txt b/glass/CMakeLists.txt +index a252c2e83..9192bc7b4 100644 +--- a/glass/CMakeLists.txt ++++ b/glass/CMakeLists.txt +@@ -22,7 +22,7 @@ target_include_directories(libglass PUBLIC + $ + $) + +-install(TARGETS libglass EXPORT libglass DESTINATION "${main_lib_dest}") ++install(TARGETS libglass EXPORT libglass) + install(DIRECTORY src/lib/native/include/ DESTINATION "${include_dest}/glass") + + # +@@ -43,7 +43,7 @@ target_include_directories(libglassnt PUBLIC + $ + $) + +-install(TARGETS libglassnt EXPORT libglassnt DESTINATION "${main_lib_dest}") ++install(TARGETS libglassnt EXPORT libglassnt) + install(DIRECTORY src/libnt/native/include/ DESTINATION "${include_dest}/glass") + + # +diff --git a/hal/CMakeLists.txt b/hal/CMakeLists.txt +index 45c55675b..52dd44ad6 100644 +--- a/hal/CMakeLists.txt ++++ b/hal/CMakeLists.txt +@@ -55,7 +55,7 @@ target_link_libraries(hal PUBLIC wpiutil) + + set_property(TARGET hal PROPERTY FOLDER "libraries") + +-install(TARGETS hal EXPORT hal DESTINATION "${main_lib_dest}") ++install(TARGETS hal EXPORT hal) + install(DIRECTORY src/main/native/include/ DESTINATION "${include_dest}/hal") + install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/gen/ DESTINATION "${include_dest}/hal") + +@@ -108,11 +108,7 @@ if (WITH_JAVA) + target_link_libraries(haljni PRIVATE hal_jni_headers) + add_dependencies(haljni hal_jar) + +- if (MSVC) +- install(TARGETS haljni RUNTIME DESTINATION "${jni_lib_dest}" COMPONENT Runtime) +- endif() +- +- install(TARGETS haljni EXPORT haljni DESTINATION "${main_lib_dest}") ++ install(TARGETS haljni EXPORT haljni) + + endif() + +diff --git a/ntcore/CMakeLists.txt b/ntcore/CMakeLists.txt +index cd5b3fb7d..1a97ac0c0 100644 +--- a/ntcore/CMakeLists.txt ++++ b/ntcore/CMakeLists.txt +@@ -33,7 +33,7 @@ target_link_libraries(ntcore PUBLIC wpinet wpiutil) + + set_property(TARGET ntcore PROPERTY FOLDER "libraries") + +-install(TARGETS ntcore EXPORT ntcore DESTINATION "${main_lib_dest}") ++install(TARGETS ntcore EXPORT ntcore) + install(DIRECTORY src/main/native/include/ DESTINATION "${include_dest}/ntcore") + install(DIRECTORY ${WPILIB_BINARY_DIR}/ntcore/generated/main/native/include/ DESTINATION "${include_dest}/ntcore") + +@@ -81,7 +81,7 @@ if (WITH_JAVA) + target_link_libraries(ntcorejni PRIVATE ntcore_jni_headers) + add_dependencies(ntcorejni ntcore_jar) + +- install(TARGETS ntcorejni EXPORT ntcorejni DESTINATION "${main_lib_dest}") ++ install(TARGETS ntcorejni EXPORT ntcorejni) + + endif() + +diff --git a/simulation/halsim_ds_socket/CMakeLists.txt b/simulation/halsim_ds_socket/CMakeLists.txt +index 6d770d9a1..4eb23bb70 100644 +--- a/simulation/halsim_ds_socket/CMakeLists.txt ++++ b/simulation/halsim_ds_socket/CMakeLists.txt +@@ -13,4 +13,4 @@ target_include_directories(halsim_ds_socket PRIVATE src/main/native/include) + + set_property(TARGET halsim_ds_socket PROPERTY FOLDER "libraries") + +-install(TARGETS halsim_ds_socket EXPORT halsim_ds_socket DESTINATION "${main_lib_dest}") ++install(TARGETS halsim_ds_socket EXPORT halsim_ds_socket) +diff --git a/simulation/halsim_gui/CMakeLists.txt b/simulation/halsim_gui/CMakeLists.txt +index 949f9f1e8..957a9c223 100644 +--- a/simulation/halsim_gui/CMakeLists.txt ++++ b/simulation/halsim_gui/CMakeLists.txt +@@ -16,4 +16,4 @@ target_include_directories(halsim_gui PRIVATE src/main/native/include) + + set_property(TARGET halsim_gui PROPERTY FOLDER "libraries") + +-install(TARGETS halsim_gui EXPORT halsim_gui DESTINATION "${main_lib_dest}") ++install(TARGETS halsim_gui EXPORT halsim_gui) +diff --git a/simulation/halsim_ws_client/CMakeLists.txt b/simulation/halsim_ws_client/CMakeLists.txt +index 5bc99dbda..18a2a120d 100644 +--- a/simulation/halsim_ws_client/CMakeLists.txt ++++ b/simulation/halsim_ws_client/CMakeLists.txt +@@ -13,4 +13,4 @@ target_include_directories(halsim_ws_client PRIVATE src/main/native/include) + + set_property(TARGET halsim_ws_client PROPERTY FOLDER "libraries") + +-install(TARGETS halsim_ws_client EXPORT halsim_ws_client DESTINATION "${main_lib_dest}") ++install(TARGETS halsim_ws_client EXPORT halsim_ws_client) +diff --git a/simulation/halsim_ws_core/CMakeLists.txt b/simulation/halsim_ws_core/CMakeLists.txt +index 91bcbb25b..f7e240fd2 100644 +--- a/simulation/halsim_ws_core/CMakeLists.txt ++++ b/simulation/halsim_ws_core/CMakeLists.txt +@@ -13,4 +13,4 @@ target_include_directories(halsim_ws_core PUBLIC src/main/native/include) + + set_property(TARGET halsim_ws_core PROPERTY FOLDER "libraries") + +-install(TARGETS halsim_ws_core EXPORT halsim_ws_core DESTINATION "${main_lib_dest}") ++install(TARGETS halsim_ws_core EXPORT halsim_ws_core) +diff --git a/simulation/halsim_ws_server/CMakeLists.txt b/simulation/halsim_ws_server/CMakeLists.txt +index e5b55c801..370d2f83f 100644 +--- a/simulation/halsim_ws_server/CMakeLists.txt ++++ b/simulation/halsim_ws_server/CMakeLists.txt +@@ -13,4 +13,4 @@ target_include_directories(halsim_ws_server PRIVATE src/main/native/include) + + set_property(TARGET halsim_ws_server PROPERTY FOLDER "libraries") + +-install(TARGETS halsim_ws_server EXPORT halsim_ws_server DESTINATION "${main_lib_dest}") ++install(TARGETS halsim_ws_server EXPORT halsim_ws_server) +diff --git a/wpigui/CMakeLists.txt b/wpigui/CMakeLists.txt +index 59c4d6faf..2a6e6b213 100644 +--- a/wpigui/CMakeLists.txt ++++ b/wpigui/CMakeLists.txt +@@ -37,7 +37,7 @@ add_executable(wpiguidev src/dev/native/cpp/main.cpp) + wpilib_link_macos_gui(wpiguidev) + target_link_libraries(wpiguidev wpigui) + +-install(TARGETS wpigui EXPORT wpigui DESTINATION "${main_lib_dest}") ++install(TARGETS wpigui EXPORT wpigui) + install(DIRECTORY src/main/native/include/ DESTINATION "${include_dest}/wpigui") + + #if (WITH_FLAT_INSTALL) +diff --git a/wpilibNewCommands/CMakeLists.txt b/wpilibNewCommands/CMakeLists.txt +index dc218fa06..fbebf19ea 100644 +--- a/wpilibNewCommands/CMakeLists.txt ++++ b/wpilibNewCommands/CMakeLists.txt +@@ -39,7 +39,7 @@ target_include_directories(wpilibNewCommands PUBLIC + $ + $) + +-install(TARGETS wpilibNewCommands EXPORT wpilibNewCommands DESTINATION "${main_lib_dest}") ++install(TARGETS wpilibNewCommands EXPORT wpilibNewCommands) + install(DIRECTORY src/main/native/include/ DESTINATION "${include_dest}/wpilibNewCommands") + + if (FLAT_INSTALL_WPILIB) +diff --git a/wpilibc/CMakeLists.txt b/wpilibc/CMakeLists.txt +index 8c2c85ce9..ed8583497 100644 +--- a/wpilibc/CMakeLists.txt ++++ b/wpilibc/CMakeLists.txt +@@ -30,7 +30,7 @@ target_link_libraries(wpilibc PUBLIC hal ntcore wpimath wpiutil) + + set_property(TARGET wpilibc PROPERTY FOLDER "libraries") + +-install(TARGETS wpilibc EXPORT wpilibc DESTINATION "${main_lib_dest}") ++install(TARGETS wpilibc EXPORT wpilibc) + install(DIRECTORY src/main/native/include/ DESTINATION "${include_dest}/wpilibc") + + if (WITH_FLAT_INSTALL) +diff --git a/wpimath/CMakeLists.txt b/wpimath/CMakeLists.txt +index 01fd5d0f8..15cede1b3 100644 +--- a/wpimath/CMakeLists.txt ++++ b/wpimath/CMakeLists.txt +@@ -71,11 +71,7 @@ if (WITH_JAVA) + target_link_libraries(wpimathjni PRIVATE wpimath_jni_headers) + add_dependencies(wpimathjni wpimath_jar) + +- if (MSVC) +- install(TARGETS wpimathjni RUNTIME DESTINATION "${jni_lib_dest}" COMPONENT Runtime) +- endif() +- +- install(TARGETS wpimathjni EXPORT wpimathjni DESTINATION "${main_lib_dest}") ++ install(TARGETS wpimathjni EXPORT wpimathjni) + + endif() + +@@ -116,11 +112,7 @@ target_include_directories(wpimath PUBLIC + $ + $) + +-install(TARGETS wpimath EXPORT wpimath DESTINATION "${main_lib_dest}") +- +-if (WITH_JAVA AND MSVC) +- install(TARGETS wpimath RUNTIME DESTINATION "${jni_lib_dest}" COMPONENT Runtime) +-endif() ++install(TARGETS wpimath EXPORT wpimath) + + if (WITH_FLAT_INSTALL) + set (wpimath_config_dir ${wpilib_dest}) +diff --git a/wpinet/CMakeLists.txt b/wpinet/CMakeLists.txt +index 6d92a5640..c30d21827 100644 +--- a/wpinet/CMakeLists.txt ++++ b/wpinet/CMakeLists.txt +@@ -34,11 +34,7 @@ if (WITH_JAVA) + target_link_libraries(wpinetjni PRIVATE wpinet_jni_headers) + add_dependencies(wpinetjni wpinet_jar) + +- if (MSVC) +- install(TARGETS wpinetjni RUNTIME DESTINATION "${jni_lib_dest}" COMPONENT Runtime) +- endif() +- +- install(TARGETS wpinetjni EXPORT wpinetjni DESTINATION "${main_lib_dest}") ++ install(TARGETS wpinetjni EXPORT wpinetjni) + + endif() + +@@ -161,11 +157,7 @@ target_include_directories(wpinet PUBLIC + $ + $) + +-install(TARGETS wpinet EXPORT wpinet DESTINATION "${main_lib_dest}") +- +-if (WITH_JAVA AND MSVC) +- install(TARGETS wpinet RUNTIME DESTINATION "${jni_lib_dest}" COMPONENT Runtime) +-endif() ++install(TARGETS wpinet EXPORT wpinet) + + if (WITH_FLAT_INSTALL) + set (wpinet_config_dir ${wpilib_dest}) +diff --git a/wpiutil/CMakeLists.txt b/wpiutil/CMakeLists.txt +index 5db2b4c65..f6486286d 100644 +--- a/wpiutil/CMakeLists.txt ++++ b/wpiutil/CMakeLists.txt +@@ -55,11 +55,7 @@ if (WITH_JAVA) + target_link_libraries(wpiutiljni PRIVATE wpiutil_jni_headers) + add_dependencies(wpiutiljni wpiutil_jar) + +- if (MSVC) +- install(TARGETS wpiutiljni RUNTIME DESTINATION "${jni_lib_dest}" COMPONENT Runtime) +- endif() +- +- install(TARGETS wpiutiljni EXPORT wpiutiljni DESTINATION "${main_lib_dest}") ++ install(TARGETS wpiutiljni EXPORT wpiutiljni) + + endif() + +@@ -161,11 +157,7 @@ target_include_directories(wpiutil PUBLIC + $ + $) + +-install(TARGETS wpiutil EXPORT wpiutil DESTINATION "${main_lib_dest}") +- +-if (WITH_JAVA AND MSVC) +- install(TARGETS wpiutil RUNTIME DESTINATION "${jni_lib_dest}" COMPONENT Runtime) +-endif() ++install(TARGETS wpiutil EXPORT wpiutil) + + if (WITH_FLAT_INSTALL) + set (wpiutil_config_dir ${wpilib_dest}) diff --git a/ports/wren/portfile.cmake b/ports/wren/portfile.cmake index dbd71b8df67090..d20b518b45d568 100644 --- a/ports/wren/portfile.cmake +++ b/ports/wren/portfile.cmake @@ -3,25 +3,24 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO wren-lang/wren - REF d1a0d0682ac072fa20f2dcca356dac06565e93a1 - SHA512 d6b7555da10ea209d04308467563ec401f699a22ca8524e4ae65fd050b0403c5e70430047dbb6a883b8021ab50525c17bb63d76543e7c59dfe4b521cfde6c413 + REF 4a18fc489f9ea3d253b20dd40f4cdad0d6bb40eb #0.4.0 + SHA512 b3d79e9cb647e52db06d5cddfc8c93d05ae0e8d87f0f879ac2b812fcc7f55e018d21d3b04d62eaeb12e6d931b5e43fbe357b187e7f446e86e39be015c51c2eee HEAD_REF master ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DCOMPILE_AS_CPP=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") # Handle copyright -configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) +configure_file("${SOURCE_PATH}/LICENSE" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) vcpkg_copy_pdbs() diff --git a/ports/wren/vcpkg.json b/ports/wren/vcpkg.json index 09f2b8aed7aece..4cb9889ef83b30 100644 --- a/ports/wren/vcpkg.json +++ b/ports/wren/vcpkg.json @@ -1,7 +1,13 @@ { "name": "wren", - "version-string": "2019-07-01", - "port-version": 1, + "version": "0.4.0", "description": "Wren is a small, fast, class-based concurrent scripting language.", - "homepage": "https://github.com/wren-lang/wren" + "homepage": "https://github.com/wren-lang/wren", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/wt/0002-link-glew.patch b/ports/wt/0002-link-glew.patch deleted file mode 100644 index af441e81fdbd16..00000000000000 --- a/ports/wt/0002-link-glew.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 6301c4ccaf8d3b6982898fed84e691ab8ddd7a4f Mon Sep 17 00:00:00 2001 -From: Robert Schumacher -Date: Fri, 23 Feb 2018 03:12:45 -0800 -Subject: [PATCH 2/3] link glew - - -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 80734fb..70e755b 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -556,7 +556,8 @@ ENDIF("${WT_WRASTERIMAGE_IMPLEMENTATION}" STREQUAL "GraphicsMagick") - IF(HAVE_GL) - INCLUDE_DIRECTORIES(${GL_INCLUDE_DIRS}) - IF(USE_SYSTEM_GLEW) -- TARGET_LINK_LIBRARIES(wt PRIVATE GLEW) -+ find_package(glew REQUIRED) -+ TARGET_LINK_LIBRARIES(wt PRIVATE GLEW::GLEW) - ENDIF(USE_SYSTEM_GLEW) - TARGET_LINK_LIBRARIES(wt PRIVATE ${GL_LIBRARIES}) - ELSE(HAVE_GL) --- -2.16.2.windows.1 - diff --git a/ports/wt/0005-XML_file_path.patch b/ports/wt/0005-XML_file_path.patch index b2be62c9d8b3c4..52a6703502d695 100644 --- a/ports/wt/0005-XML_file_path.patch +++ b/ports/wt/0005-XML_file_path.patch @@ -1,8 +1,8 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index ca19b30..4765632 100644 +index 96eff0a..c31fd49 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -197,7 +197,11 @@ SET(CMAKE_INSTALL_DIR "${LIB_INSTALL_DIR}/cmake" CACHE STRING +@@ -111,7 +111,11 @@ SET(CMAKE_INSTALL_DIR "${LIB_INSTALL_DIR}/cmake" CACHE STRING IF(WIN32) diff --git a/ports/wt/0006-GraphicsMagick.patch b/ports/wt/0006-GraphicsMagick.patch index 2f1b50a60ced61..03ea0689c03abe 100644 --- a/ports/wt/0006-GraphicsMagick.patch +++ b/ports/wt/0006-GraphicsMagick.patch @@ -1,29 +1,31 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 5012cfd1b..95f812685 100644 +index 96eff0a..c31fd49 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -338,7 +338,7 @@ ELSE (CMAKE_MAJOR_VERSION EQUAL 2 AND CMAKE_MINOR_VERSION LESS 8) - ENDIF (CMAKE_MAJOR_VERSION EQUAL 2 AND CMAKE_MINOR_VERSION LESS 8) +@@ -352,9 +356,9 @@ SET(WT_WRASTERIMAGE_IMPLEMENTATION ${WT_WRASTERIMAGE_DEFAULT_IMPLEMENTATION} CAC + SET_PROPERTY(CACHE WT_WRASTERIMAGE_IMPLEMENTATION PROPERTY STRINGS GraphicsMagick Direct2D none) IF (${WT_WRASTERIMAGE_IMPLEMENTATION} STREQUAL "GraphicsMagick") - IF (NOT GM_FOUND) + IF (0) MESSAGE(FATAL_ERROR "WT_WRASTERIMAGE_IMPLEMENTATION set to GraphicsMagick but GM is not found. Indicate the location of your graphicsmagick library using -DGM_PREFIX=...") - ENDIF (NOT GM_FOUND) +- ENDIF (NOT GM_FOUND) ++ ENDIF () SET(WT_HAS_WRASTERIMAGE true) + ELSEIF (${WT_WRASTERIMAGE_IMPLEMENTATION} STREQUAL "Direct2D") + IF (WIN32) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 78d82ee53..01ac5f42a 100644 +index 4bc0e5d..eb52234 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt -@@ -595,8 +595,9 @@ ELSE(HAVE_HARU) - ENDIF(HAVE_HARU) +@@ -637,8 +637,8 @@ else() + endif() IF("${WT_WRASTERIMAGE_IMPLEMENTATION}" STREQUAL "GraphicsMagick") - TARGET_LINK_LIBRARIES(wt PRIVATE ${GM_LIBRARIES}) - INCLUDE_DIRECTORIES(${GM_INCLUDE_DIRS}) + find_package(unofficial-graphicsmagick REQUIRED) + TARGET_LINK_LIBRARIES(wt PRIVATE unofficial::graphicsmagick::graphicsmagick) -+ # INCLUDE_DIRECTORIES(${GM_INCLUDE_DIRS}) ADD_DEFINITIONS(-DHAVE_GRAPHICSMAGICK) - ELSEIF("${WT_WRASTERIMAGE_IMPLEMENTATION}" STREQUAL "skia") - TARGET_LINK_LIBRARIES(wt PRIVATE ${SKIA_LIBRARIES}) + ELSEIF("${WT_WRASTERIMAGE_IMPLEMENTATION}" STREQUAL "Direct2D") + TARGET_LINK_LIBRARIES(wt PRIVATE d2d1 dwrite windowscodecs shlwapi) diff --git a/ports/wt/0007-boost_1_77_0.patch b/ports/wt/0007-boost_1_77_0.patch deleted file mode 100644 index 8fed5713d0d7c0..00000000000000 --- a/ports/wt/0007-boost_1_77_0.patch +++ /dev/null @@ -1,15 +0,0 @@ - src/Wt/Render/CssParser.C | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/Wt/Render/CssParser.C b/src/Wt/Render/CssParser.C -index b8d409e..6bb47b4 100644 ---- a/src/Wt/Render/CssParser.C -+++ b/src/Wt/Render/CssParser.C -@@ -39,6 +39,7 @@ using namespace Wt::Render; - #include - #endif - #include -+#include - - #include - diff --git a/ports/wt/fix-compatibility-with-boost-1.85.patch b/ports/wt/fix-compatibility-with-boost-1.85.patch new file mode 100644 index 00000000000000..5e574690ae65b4 --- /dev/null +++ b/ports/wt/fix-compatibility-with-boost-1.85.patch @@ -0,0 +1,32 @@ + src/http/Server.C | 4 ++-- + src/web/FileUtils.C | 1 + + 2 files changed, 3 insertions(+), 2 deletions(-) + +diff --git a/src/http/Server.C b/src/http/Server.C +index b26a444..200b2ce 100644 +--- a/src/http/Server.C ++++ b/src/http/Server.C +@@ -331,8 +331,8 @@ std::vector Server::resolveAddress(asio::ip::tcp::resolver &r + LOG_DEBUG_S(&wt_, "Failed to resolve hostname \"" << address << "\" as IPv4: " << + Wt::AsioWrapper::system_error(errc).what()); + // Resolve IPv6 +- query = Wt::AsioWrapper::asio::ip::tcp::resolver::query(Wt::AsioWrapper::asio::ip::tcp::v6(), address, "http"); +- for (Wt::AsioWrapper::asio::ip::tcp::resolver::iterator it = resolver.resolve(query, errc); ++ asio::ip::tcp::resolver::query query_v6(asio::ip::tcp::v6(), address, "http"); ++ for (asio::ip::tcp::resolver::iterator it = resolver.resolve(query_v6, errc); + !errc && it != end; ++it) { + result.push_back(it->endpoint().address()); + } +diff --git a/src/web/FileUtils.C b/src/web/FileUtils.C +index 8d49571..a15f091 100644 +--- a/src/web/FileUtils.C ++++ b/src/web/FileUtils.C +@@ -8,6 +8,7 @@ + #include "web/FileUtils.h" + + #include ++#include + + #include "web/WebUtils.h" + #include "Wt/WException.h" + diff --git a/ports/wt/portfile.cmake b/ports/wt/portfile.cmake index 30dd1af9a9876d..30dcbaa89f8474 100644 --- a/ports/wt/portfile.cmake +++ b/ports/wt/portfile.cmake @@ -1,14 +1,13 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO emweb/wt - REF d3ee790da1826529e3d025d919f5c3608d029562 # 4.5.0 - SHA512 2fe66269bb59db81d3611f2857ac3ba0ae7448a54d216bd7aa72701f1e6e291a738421f460f4614198785bbd084ab1e19e84a3f67cbc15556015e2f259941f11 + REF "${VERSION}" + SHA512 f41efec1e77bd76f6f66ffb4ff38c98cfc590debb194682e3c6eb3f7b4366c30f8e2bbc16f4c33faa45f6f49d28812215538d20f4abc6c4dc3a226ae9b10ac71 HEAD_REF master PATCHES - 0002-link-glew.patch 0005-XML_file_path.patch 0006-GraphicsMagick.patch - 0007-boost_1_77_0.patch + fix-compatibility-with-boost-1.85.patch ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" SHARED_LIBS) @@ -45,16 +44,18 @@ else() endif() vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" GENERATOR Ninja OPTIONS -DINSTALL_CONFIG_FILE_PATH="${DOWNLOADS}/wt" -DSHARED_LIBS=${SHARED_LIBS} -DBOOST_DYNAMIC=${SHARED_LIBS} - -DDISABLE_BOOST_AUTOLINK=ON -DBUILD_EXAMPLES=OFF -DBUILD_TESTS=OFF + -DWTHTTP_CONFIGURATION= + -DCONFIGURATION= + -DCONNECTOR_HTTP=ON -DENABLE_HARU=ON -DHARU_DYNAMIC=${SHARED_LIBS} @@ -69,19 +70,30 @@ vcpkg_cmake_configure( ${WT_PLATFORM_SPECIFIC_OPTIONS} -DUSE_SYSTEM_SQLITE3=ON - -DUSE_SYSTEM_GLEW=ON -DCMAKE_INSTALL_DIR=share + # see https://redmine.webtoolkit.eu/issues/9646 + -DWTHTTP_CONFIGURATION= + -DCONFIGURATION= + + "-DUSERLIB_PREFIX=${CURRENT_INSTALLED_DIR}" + MAYBE_UNUSED_VARIABLES + USE_SYSTEM_SQLITE3 + ) vcpkg_cmake_install() vcpkg_cmake_config_fixup() # There is no way to suppress installation of the headers and resource files in debug build. -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") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/var" "${CURRENT_PACKAGES_DIR}/debug/var") -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/var) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/var) +# RUNDIR is only used for wtfcgi what we don't build. See https://redmine.webtoolkit.eu/issues/9646 +file(READ "${CURRENT_PACKAGES_DIR}/include/Wt/WConfig.h" W_CONFIG_H) +string(REGEX REPLACE "([\r\n])#define RUNDIR[^\r\n]+" "\\1// RUNDIR intentionally unset by vcpkg" W_CONFIG_H "${W_CONFIG_H}") +file(WRITE "${CURRENT_PACKAGES_DIR}/include/Wt/WConfig.h" "${W_CONFIG_H}") -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") vcpkg_copy_pdbs() diff --git a/ports/wt/vcpkg.json b/ports/wt/vcpkg.json index 303e56c7775fca..d3673a9e6f8479 100644 --- a/ports/wt/vcpkg.json +++ b/ports/wt/vcpkg.json @@ -1,9 +1,11 @@ { "name": "wt", - "version-string": "4.5.0", - "port-version": 2, + "version": "4.10.4", + "port-version": 1, "description": "Wt is a C++ library for developing web applications", "homepage": "https://github.com/emweb/wt", + "license": "GPL-2.0-only", + "supports": "!xbox", "dependencies": [ "boost-algorithm", "boost-array", diff --git a/ports/wtl/appwizard_setup.js-vs2022.patch b/ports/wtl/appwizard_setup.js-vs2022.patch new file mode 100644 index 00000000000000..1f0f4e5f0c1deb --- /dev/null +++ b/ports/wtl/appwizard_setup.js-vs2022.patch @@ -0,0 +1,35 @@ +--- a/AppWizard/Setup.js ++++ b/AppWizard/Setup.js +@@ -185,26 +185,30 @@ + } + } + +-// Search for Visual Studio 2017-2019 +- var nVersionsNew = 2; ++// Search for Visual Studio 2017/2019/2022 ++ var nVersionsNew = 3; + + var strWizardFolderNew = "Common7\\IDE\\VC\\vcprojects"; + + var astrVersionsNew = new Array(); + astrVersionsNew[0] = "Visual Studio 2017 (15.0)"; + astrVersionsNew[1] = "Visual Studio 2019 (16.0)"; ++ astrVersionsNew[2] = "Visual Studio 2022 (17.0)"; + + var astrWizVerNew = new Array(); + astrWizVerNew[0] = "15.0"; + astrWizVerNew[1] = "16.0"; ++ astrWizVerNew[2] = "17.0"; + + var astrParamVerNew = new Array(); + astrParamVerNew[0] = "15"; + astrParamVerNew[1] = "16"; ++ astrParamVerNew[2] = "17"; + + var astrFilterVer = new Array(); + astrFilterVer[0] = "[15.0,16.0]"; + astrFilterVer[1] = "[16.0,17.0]"; ++ astrFilterVer[2] = "[17.0,18.0]"; + + // Ensure that we can run vswhere.exe + var strProgFileRegKey_x86 = "HKLM\\Software\\Microsoft\\Windows\\CurrentVersion\\ProgramFilesDir (x86)"; diff --git a/ports/wtl/atlmisc.h-bug329.patch b/ports/wtl/atlmisc.h-bug329.patch new file mode 100644 index 00000000000000..6bffba9be13d17 --- /dev/null +++ b/ports/wtl/atlmisc.h-bug329.patch @@ -0,0 +1,11 @@ +--- a/Include/atlmisc.h ++++ b/Include/atlmisc.h +@@ -628,7 +628,7 @@ + { + ATLASSERT(m_hFind != NULL); + +- ATL::CString strResult("file://"); ++ ATL::CString strResult(_T("file://")); + strResult += GetFilePath(); + return strResult; + } diff --git a/ports/wtl/atlribbon.h-wtl66.patch b/ports/wtl/atlribbon.h-wtl66.patch new file mode 100644 index 00000000000000..d4ebac4874a7ce --- /dev/null +++ b/ports/wtl/atlribbon.h-wtl66.patch @@ -0,0 +1,17 @@ +--- a/Include/atlribbon.h 2022-06-06 03:12:54.312690900 +0200 ++++ b/Include/atlribbon.h 2022-06-06 03:13:24.337068900 +0200 +@@ -27,10 +27,10 @@ + #error atlribbon.h requires atlapp.h to be included first + #endif + +-#include // for RecentDocumentList classes +-#include // for Frame and UpdateUI classes +-#include // required for atlctrlw.h +-#include // for CCommandBarCtrl ++#include "atlmisc.h" // for RecentDocumentList classes ++#include "atlframe.h" // for Frame and UpdateUI classes ++#include "atlctrls.h" // required for atlctrlw.h ++#include "atlctrlw.h" // for CCommandBarCtrl + + #ifndef __ATLSTR_H__ + #pragma warning(push) diff --git a/ports/wtl/portfile.cmake b/ports/wtl/portfile.cmake index 4c1bb2b77ac348..d80bb7d7efeb0c 100644 --- a/ports/wtl/portfile.cmake +++ b/ports/wtl/portfile.cmake @@ -4,11 +4,17 @@ vcpkg_from_sourceforge( REF WTL%2010.0.10320%20Release FILENAME "WTL10_10320_Release.zip" NO_REMOVE_ONE_LEVEL - SHA512 086a6cf6a49a4318a8c519136ba6019ded7aa7f2c1d85f78c30b21183654537b3428a400a64fcdacba3a7a10a9ef05137b6f2119f59594da300d55f9ebfb1309 + SHA512 086a6cf6a49a4318a8c519136ba6019ded7aa7f2c1d85f78c30b21183654537b3428a400a64fcdacba3a7a10a9ef05137b6f2119f59594da300d55f9ebfb1309 + PATCHES + # WTL 10 post-release updates; see + # https://sourceforge.net/projects/wtl/files/WTL%2010/WTL10%20Post-Release%20Updates.txt/download + appwizard_setup.js-vs2022.patch + atlmisc.h-bug329.patch + atlribbon.h-wtl66.patch ) -file(INSTALL ${SOURCE_PATH}/Include/ DESTINATION ${CURRENT_PACKAGES_DIR}/include/${PORT} FILES_MATCHING PATTERN "*.h") -file(COPY ${SOURCE_PATH}/Samples DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) -file(COPY ${SOURCE_PATH}/AppWizard DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +file(INSTALL "${SOURCE_PATH}/Include/" DESTINATION "${CURRENT_PACKAGES_DIR}/include" FILES_MATCHING PATTERN "*.h") +file(COPY "${SOURCE_PATH}/Samples" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +file(COPY "${SOURCE_PATH}/AppWizard" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -file(INSTALL ${SOURCE_PATH}/MS-PL.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/MS-PL.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/wtl/vcpkg.json b/ports/wtl/vcpkg.json index 733316f0d96575..605dde9b293858 100644 --- a/ports/wtl/vcpkg.json +++ b/ports/wtl/vcpkg.json @@ -1,7 +1,8 @@ { "name": "wtl", - "version-string": "10.0.10320", - "port-version": 1, + "version": "10.0.10320", + "port-version": 4, "description": "Windows Template Library (WTL) is a C++ library for developing Windows applications and UI components.", - "homepage": "https://sourceforge.net/projects/wtl/" + "homepage": "https://sourceforge.net/projects/wtl/", + "license": "MS-PL" } diff --git a/ports/wxchartdir/CMakeLists.txt b/ports/wxchartdir/CMakeLists.txt index 3ad43897010bee..3407798ac3ac71 100644 --- a/ports/wxchartdir/CMakeLists.txt +++ b/ports/wxchartdir/CMakeLists.txt @@ -12,7 +12,7 @@ add_library(wxchartdir STATIC wxdemo/common/wxchartviewer.cpp) target_include_directories(wxchartdir PUBLIC $ ) - +target_compile_features(wxchartdir PRIVATE cxx_std_11) target_link_libraries(wxchartdir PRIVATE ${wxWidgets_LIBRARIES} PRIVATE chartdir diff --git a/ports/wxchartdir/portfile.cmake b/ports/wxchartdir/portfile.cmake index 2947d7922d8391..8ad0c550090e5c 100644 --- a/ports/wxchartdir/portfile.cmake +++ b/ports/wxchartdir/portfile.cmake @@ -3,31 +3,30 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO utelle/wxchartdir - REF v1.0.0 - SHA512 018e588a4bcff594e0049c64597d55b680e58ae239822fcc20d415a1efd8a6b3c0c7c6c836969f01a378209307b9720b938e3826a31e18c843d52897b44b4818 - HEAD_REF master + REF v2.0.0 + SHA512 dd255af1031465c635df7ea7eee2dd15f0dcce30f91cae1eff6527b8b78ea872fa22fa05da5363f57817dc8844c0bc171a2c68f54c38f2519c7bfe0256605622 + HEAD_REF main ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/wxchartdir) +vcpkg_cmake_config_fixup(CONFIG_PATH share/cmake/wxchartdir) -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(${SOURCE_PATH}/COPYING.txt ${CURRENT_PACKAGES_DIR}/share/wxchartdir/copyright COPYONLY) +configure_file("${SOURCE_PATH}/COPYING.txt" "${CURRENT_PACKAGES_DIR}/share/wxchartdir/copyright" COPYONLY) -file(COPY ${SOURCE_PATH}/CHARTDIRECTOR-LICENSE.TXT DESTINATION ${CURRENT_PACKAGES_DIR}/share/wxchartdir) -file(COPY ${SOURCE_PATH}/CHARTDIRECTOR-README.TXT DESTINATION ${CURRENT_PACKAGES_DIR}/share/wxchartdir) -file(COPY ${SOURCE_PATH}/GPL-3.0.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/wxchartdir) -file(COPY ${SOURCE_PATH}/LGPL-3.0.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/wxchartdir) -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/wxchartdir) -file(COPY ${SOURCE_PATH}/LICENSE.spdx DESTINATION ${CURRENT_PACKAGES_DIR}/share/wxchartdir) -file(COPY ${SOURCE_PATH}/WxWindows-exception-3.1.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/wxchartdir) +file(COPY "${SOURCE_PATH}/CHARTDIRECTOR-LICENSE.TXT" DESTINATION "${CURRENT_PACKAGES_DIR}/share/wxchartdir") +file(COPY "${SOURCE_PATH}/CHARTDIRECTOR-README.TXT" DESTINATION "${CURRENT_PACKAGES_DIR}/share/wxchartdir") +file(COPY "${SOURCE_PATH}/GPL-3.0.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/wxchartdir") +file(COPY "${SOURCE_PATH}/LGPL-3.0.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/wxchartdir") +file(COPY "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/wxchartdir") +file(COPY "${SOURCE_PATH}/LICENSE.spdx" DESTINATION "${CURRENT_PACKAGES_DIR}/share/wxchartdir") +file(COPY "${SOURCE_PATH}/WxWindows-exception-3.1.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/wxchartdir") diff --git a/ports/wxchartdir/vcpkg.json b/ports/wxchartdir/vcpkg.json index 29f8cb251e9f47..27806462ab6d5b 100644 --- a/ports/wxchartdir/vcpkg.json +++ b/ports/wxchartdir/vcpkg.json @@ -1,11 +1,21 @@ { "name": "wxchartdir", - "version": "1.0.0", - "port-version": 1, + "version": "2.0.0", + "port-version": 2, "description": "wxChartDir provides components for the integration and use of the commercial C++ library ChartDirector, a universal chart component developed by Advanced Software Engineering Ltd, in wxWidgets based applications.", "homepage": "https://github.com/utelle/wxchartdir", + "license": "GPL-3.0-only AND LGPL-3.0 AND wxWindows", + "supports": "!xbox", "dependencies": [ "chartdir", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, "wxwidgets" ] } diff --git a/ports/wxcharts/portfile.cmake b/ports/wxcharts/portfile.cmake new file mode 100644 index 00000000000000..7d6534b1a26824 --- /dev/null +++ b/ports/wxcharts/portfile.cmake @@ -0,0 +1,18 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO wxIshiko/wxCharts + REF 070e1d6084623185c7337226fa562b1e3a772e3d + SHA512 4c52e4ad6d3c4ba496aad7e654ee75ddd9009aadc44be37fc64f3e3ac56001a7e9728f7fdd0c78f8261bff0bf8a6748f8a7649cb160ca37c2d686530c161c2f6 +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" +) + +vcpkg_cmake_install() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${PORT}") + +file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) \ No newline at end of file diff --git a/ports/wxcharts/vcpkg.json b/ports/wxcharts/vcpkg.json new file mode 100644 index 00000000000000..90226b7e409321 --- /dev/null +++ b/ports/wxcharts/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "wxcharts", + "version-date": "2022-07-05", + "description": "Chart controls for the wxWidgets cross-platform GUI library", + "homepage": "https://www.wxishiko.com/wxCharts", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "wxwidgets" + ] +} diff --git a/ports/wxwidgets/disable-platform-lib-dir.patch b/ports/wxwidgets/disable-platform-lib-dir.patch deleted file mode 100644 index 930477c010327d..00000000000000 --- a/ports/wxwidgets/disable-platform-lib-dir.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/build/cmake/init.cmake b/build/cmake/init.cmake -index d013e92..c03135d 100644 ---- a/build/cmake/init.cmake -+++ b/build/cmake/init.cmake -@@ -149,7 +149,7 @@ else() - set(wxCOMPILER_PREFIX) - endif() - --if(MSVC) -+if(MSVC AND NOT wxBUILD_DISABLE_PLATFORM_LIB_DIR) - if(wxBUILD_SHARED) - set(lib_suffix "dll") - else() diff --git a/ports/wxwidgets/example/CMakeLists.txt b/ports/wxwidgets/example/CMakeLists.txt new file mode 100644 index 00000000000000..229b7107a07936 --- /dev/null +++ b/ports/wxwidgets/example/CMakeLists.txt @@ -0,0 +1,31 @@ +cmake_minimum_required(VERSION 3.7) + +project(wxwidgets-example) + +add_executable(main WIN32 popup.cpp) + +find_package(wxWidgets REQUIRED) +target_compile_definitions(main PRIVATE ${wxWidgets_DEFINITIONS} "$<$:${wxWidgets_DEFINITIONS_DEBUG}>") +target_include_directories(main PRIVATE ${wxWidgets_INCLUDE_DIRS}) +target_link_libraries(main PRIVATE ${wxWidgets_LIBRARIES}) + +add_executable(main2 WIN32 popup.cpp) + +find_package(wxWidgets CONFIG REQUIRED) +target_link_libraries(main2 PRIVATE wx::core wx::base) + +option(USE_WXRC "Use the wxrc resource compiler" ON) +if(USE_WXRC) + execute_process( + COMMAND "${wxWidgets_wxrc_EXECUTABLE}" --help + RESULTS_VARIABLE error_result + ) + if(error_result) + message(FATAL_ERROR "Failed to run wxWidgets_wxrc_EXECUTABLE (${wxWidgets_wxrc_EXECUTABLE})") + endif() +endif() + +set(PRINT_VARS "" CACHE STRING "Variables to print at the end of configuration") +foreach(var IN LISTS PRINT_VARS) + message(STATUS "${var}:=${${var}}") +endforeach() diff --git a/ports/wxwidgets/fix-build.patch b/ports/wxwidgets/fix-build.patch deleted file mode 100644 index e47bc97e601572..00000000000000 --- a/ports/wxwidgets/fix-build.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/build/cmake/functions.cmake b/build/cmake/functions.cmake -index 06116384c7..f82ff941bb 100644 ---- a/build/cmake/functions.cmake -+++ b/build/cmake/functions.cmake -@@ -383,7 +383,7 @@ endmacro() - # Enable cotire for target, use optional second argument for prec. header - macro(wx_target_enable_precomp target_name) - target_compile_definitions(${target_name} PRIVATE WX_PRECOMP) -- if(NOT ${ARGV1} STREQUAL "") -+ if(${ARGC} GREATER 1 AND NOT ${ARGV1} STREQUAL "") - set_target_properties(${target_name} PROPERTIES - COTIRE_CXX_PREFIX_HEADER_INIT ${ARGV1}) - endif() diff --git a/ports/wxwidgets/fix-libs-export.patch b/ports/wxwidgets/fix-libs-export.patch new file mode 100644 index 00000000000000..63bb9d35391009 --- /dev/null +++ b/ports/wxwidgets/fix-libs-export.patch @@ -0,0 +1,21 @@ +diff --git a/build/cmake/config.cmake b/build/cmake/config.cmake +index b359560..7504458 100644 +--- a/build/cmake/config.cmake ++++ b/build/cmake/config.cmake +@@ -39,8 +39,14 @@ macro(wx_get_dependencies var lib) + else() + # For the value like $<$:LIB_PATH> + # Or $<$>:LIB_PATH> +- string(REGEX REPLACE "^.+>:(.+)>$" "\\1" dep_name ${dep}) +- if (NOT dep_name) ++ if(dep MATCHES "^(.+>):(.+)>$") ++ if(CMAKE_BUILD_TYPE STREQUAL "Debug" AND CMAKE_MATCH_1 STREQUAL [[$<$>]]) ++ continue() ++ elseif(CMAKE_BUILD_TYPE STREQUAL "Release" AND CMAKE_MATCH_1 STREQUAL [[$<$]]) ++ continue() ++ endif() ++ set(dep_name "${CMAKE_MATCH_2}") ++ else() + set(dep_name ${dep}) + endif() + endif() diff --git a/ports/wxwidgets/fix-pcre2.patch b/ports/wxwidgets/fix-pcre2.patch new file mode 100644 index 00000000000000..20063f4418a4f4 --- /dev/null +++ b/ports/wxwidgets/fix-pcre2.patch @@ -0,0 +1,23 @@ +diff --git a/build/cmake/modules/FindPCRE2.cmake b/build/cmake/modules/FindPCRE2.cmake +index a27693a..455675a 100644 +--- a/build/cmake/modules/FindPCRE2.cmake ++++ b/build/cmake/modules/FindPCRE2.cmake +@@ -24,7 +24,10 @@ set(PCRE2_CODE_UNIT_WIDTH_USED "${PCRE2_CODE_UNIT_WIDTH}" CACHE INTERNAL "") + + find_package(PkgConfig QUIET) + pkg_check_modules(PC_PCRE2 QUIET libpcre2-${PCRE2_CODE_UNIT_WIDTH}) ++set(PCRE2_LIBRARIES ${PC_PCRE2_LINK_LIBRARIES}) ++set(PCRE2_INCLUDE_DIRS ${PC_PCRE2_INCLUDE_DIRS}) + ++if (0) + find_path(PCRE2_INCLUDE_DIRS + NAMES pcre2.h + HINTS ${PC_PCRE2_INCLUDEDIR} +@@ -36,6 +39,7 @@ find_library(PCRE2_LIBRARIES + HINTS ${PC_PCRE2_LIBDIR} + ${PC_PCRE2_LIBRARY_DIRS} + ) ++endif() + + include(FindPackageHandleStandardArgs) + FIND_PACKAGE_HANDLE_STANDARD_ARGS(PCRE2 REQUIRED_VARS PCRE2_LIBRARIES PCRE2_INCLUDE_DIRS VERSION_VAR PC_PCRE2_VERSION) diff --git a/ports/wxwidgets/gtk3-link-libraries.patch b/ports/wxwidgets/gtk3-link-libraries.patch new file mode 100644 index 00000000000000..4e4c4819abb9f6 --- /dev/null +++ b/ports/wxwidgets/gtk3-link-libraries.patch @@ -0,0 +1,17 @@ +diff --git a/build/cmake/modules/FindGTK3.cmake b/build/cmake/modules/FindGTK3.cmake +index d2939a1..daf33fe 100644 +--- a/build/cmake/modules/FindGTK3.cmake ++++ b/build/cmake/modules/FindGTK3.cmake +@@ -47,6 +47,12 @@ include(CheckSymbolExists) + set(CMAKE_REQUIRED_INCLUDES ${GTK3_INCLUDE_DIRS}) + check_symbol_exists(GDK_WINDOWING_WAYLAND "gdk/gdk.h" wxHAVE_GDK_WAYLAND) + check_symbol_exists(GDK_WINDOWING_X11 "gdk/gdk.h" wxHAVE_GDK_X11) ++# With Lerc support in TIFF, Gtk3 may carry C++ compiler libs which break FindWxWidgets.cmake. ++# WxWidgets is C++, so we can remove them here using the inverse pattern. ++set(cxx_libs "${CMAKE_CXX_IMPLICIT_LINK_LIBRARIES}") ++list(REMOVE_ITEM cxx_libs ${CMAKE_C_IMPLICIT_LINK_LIBRARIES}) ++list(REMOVE_ITEM GTK3_LINK_LIBRARIES ${cxx_libs}) ++set(GTK3_LIBRARIES "${GTK3_LINK_LIBRARIES}" CACHE INTERNAL "") + include(FindPackageHandleStandardArgs) + FIND_PACKAGE_HANDLE_STANDARD_ARGS(GTK3 DEFAULT_MSG GTK3_INCLUDE_DIRS GTK3_LIBRARIES VERSION_OK) + diff --git a/ports/wxwidgets/install-layout.patch b/ports/wxwidgets/install-layout.patch new file mode 100644 index 00000000000000..fc04d6cba40e47 --- /dev/null +++ b/ports/wxwidgets/install-layout.patch @@ -0,0 +1,52 @@ +diff --git a/build/cmake/functions.cmake b/build/cmake/functions.cmake +index 7d3f88d..576a28c 100644 +--- a/build/cmake/functions.cmake ++++ b/build/cmake/functions.cmake +@@ -453,7 +453,7 @@ macro(wx_add_library name) + # configure puts the .dll in the bin directory + set(runtime_dir "bin") + else() +- set(runtime_dir "lib") ++ set(runtime_dir "bin") + endif() + wx_install(TARGETS ${name} + EXPORT wxWidgetsTargets +diff --git a/build/cmake/init.cmake b/build/cmake/init.cmake +index e76dff6..eb4edc0 100644 +--- a/build/cmake/init.cmake ++++ b/build/cmake/init.cmake +@@ -156,7 +156,7 @@ if(WIN32) + endif() + endif() + +-if(WIN32_MSVC_NAMING) ++if(0) + if(wxBUILD_SHARED) + set(lib_suffix "_dll") + else() +diff --git a/build/cmake/install.cmake b/build/cmake/install.cmake +index 384c683..a662a48 100644 +--- a/build/cmake/install.cmake ++++ b/build/cmake/install.cmake +@@ -41,7 +41,7 @@ else() + + install(DIRECTORY DESTINATION "bin") + install(CODE "execute_process( \ +- COMMAND ${CMAKE_COMMAND} -E create_symlink \ ++ COMMAND ${CMAKE_COMMAND} -E copy \ + \"${CMAKE_INSTALL_PREFIX}/lib/wx/config/${wxBUILD_FILE_ID}\" \ + \"\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/wx-config\" \ + )" +diff --git a/build/cmake/utils/CMakeLists.txt b/build/cmake/utils/CMakeLists.txt +index dbed8cc..f1da8e3 100644 +--- a/build/cmake/utils/CMakeLists.txt ++++ b/build/cmake/utils/CMakeLists.txt +@@ -39,7 +39,7 @@ if(wxUSE_XRC) + + # Don't use wx_install() here to preserve escaping. + install(CODE "execute_process( \ +- COMMAND ${CMAKE_COMMAND} -E create_symlink \ ++ COMMAND ${CMAKE_COMMAND} -E copy \ + \"${CMAKE_INSTALL_PREFIX}/bin/${wxrc_output_name}${EXE_SUFFIX}\" \ + \"\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/wxrc${EXE_SUFFIX}\" \ + )" diff --git a/ports/wxwidgets/nanosvg-ext-depend.patch b/ports/wxwidgets/nanosvg-ext-depend.patch new file mode 100644 index 00000000000000..5b7a139a53d999 --- /dev/null +++ b/ports/wxwidgets/nanosvg-ext-depend.patch @@ -0,0 +1,13 @@ +diff --git a/build/cmake/wxWidgetsConfig.cmake.in b/build/cmake/wxWidgetsConfig.cmake.in +index b251109..60cf762 100644 +--- a/build/cmake/wxWidgetsConfig.cmake.in ++++ b/build/cmake/wxWidgetsConfig.cmake.in +@@ -1,5 +1,8 @@ + @PACKAGE_INIT@ + ++include(CMakeFindDependencyMacro) ++find_dependency(NanoSVG CONFIG) ++ + cmake_policy(PUSH) + # Set policies to prevent warnings + if(POLICY CMP0072) diff --git a/ports/wxwidgets/portfile.cmake b/ports/wxwidgets/portfile.cmake index 5b5ecd730724d9..f812fd8c58fcf8 100644 --- a/ports/wxwidgets/portfile.cmake +++ b/ports/wxwidgets/portfile.cmake @@ -1,86 +1,124 @@ -vcpkg_fail_port_install(ON_TARGET "uwp") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO wxWidgets/wxWidgets - REF 9c0a8be1dc32063d91ed1901fd5fcd54f4f955a1 #v3.1.5 - SHA512 33817f766b36d24e5e6f4eb7666f2e4c1ec305063cb26190001e0fc82ce73decc18697e8005da990a1c99dc1ccdac9b45bb2bbe5ba73e6e2aa860c768583314c + REF "v${VERSION}" + SHA512 0834cb1f4f2e294b721abeef659f696156b9a7474a6a770197f2295a598cce5547671634036a96739b063bb6482f5cb0092b5f704dc5ceb1c002c4e1782df197 HEAD_REF master PATCHES - disable-platform-lib-dir.patch - fix-build.patch + install-layout.patch + relocatable-wx-config.patch + nanosvg-ext-depend.patch + fix-libs-export.patch + fix-pcre2.patch + gtk3-link-libraries.patch + sdl2.patch +) + +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + fonts wxUSE_PRIVATE_FONTS + media wxUSE_MEDIACTRL + secretstore wxUSE_SECRETSTORE + sound wxUSE_SOUND + webview wxUSE_WEBVIEW + webview wxUSE_WEBVIEW_EDGE ) -set(OPTIONS) -if(VCPKG_TARGET_IS_OSX) - set(OPTIONS -DCOTIRE_MINIMUM_NUMBER_OF_TARGET_SOURCES=9999) +set(OPTIONS_RELEASE "") +if(NOT "debug-support" IN_LIST FEATURES) + list(APPEND OPTIONS_RELEASE "-DwxBUILD_DEBUG_LEVEL=0") endif() -if(VCPKG_TARGET_ARCHITECTURE STREQUAL arm64 OR VCPKG_TARGET_ARCHITECTURE STREQUAL arm) - set(OPTIONS - -DwxUSE_OPENGL=OFF +set(OPTIONS "") +if(VCPKG_TARGET_IS_WINDOWS AND (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm")) + list(APPEND OPTIONS -DwxUSE_STACKWALKER=OFF ) endif() +if(VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_OSX) + list(APPEND OPTIONS -DwxUSE_WEBREQUEST_CURL=OFF) +else() + list(APPEND OPTIONS -DwxUSE_WEBREQUEST_CURL=ON) +endif() + +vcpkg_find_acquire_program(PKGCONFIG) + # This may be set to ON by users in a custom triplet. -# wxUSE_STL=ON and wxUSE_STL=OFF are not API compatible which is why this must be set -# in a custom triplet rather than a port feature. +# The use of 'wxUSE_STL' and 'WXWIDGETS_USE_STD_CONTAINERS' (ON or OFF) are not API compatible +# which is why they must be set in a custom triplet rather than a port feature. if(NOT DEFINED WXWIDGETS_USE_STL) set(WXWIDGETS_USE_STL OFF) endif() -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +if(NOT DEFINED WXWIDGETS_USE_STD_CONTAINERS) + set(WXWIDGETS_USE_STD_CONTAINERS OFF) +endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DwxUSE_REGEX=builtin + ${FEATURE_OPTIONS} + -DwxUSE_REGEX=sys -DwxUSE_ZLIB=sys -DwxUSE_EXPAT=sys -DwxUSE_LIBJPEG=sys -DwxUSE_LIBPNG=sys -DwxUSE_LIBTIFF=sys - -DwxBUILD_DISABLE_PLATFORM_LIB_DIR=ON + -DwxUSE_NANOSVG=sys + -DwxUSE_GLCANVAS=ON + -DwxUSE_LIBGNOMEVFS=OFF + -DwxUSE_LIBNOTIFY=OFF -DwxUSE_STL=${WXWIDGETS_USE_STL} + -DwxUSE_STD_CONTAINERS=${WXWIDGETS_USE_STD_CONTAINERS} + -DwxUSE_UIACTIONSIMULATOR=OFF + -DCMAKE_DISABLE_FIND_PACKAGE_GSPELL=ON + -DCMAKE_DISABLE_FIND_PACKAGE_MSPACK=ON ${OPTIONS} + "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}" + # The minimum cmake version requirement for Cotire is 2.8.12. + # however, we need to declare that the minimum cmake version requirement is at least 3.1 to use CMAKE_PREFIX_PATH as the path to find .pc. + -DPKG_CONFIG_USE_CMAKE_PREFIX_PATH=ON + OPTIONS_RELEASE + ${OPTIONS_RELEASE} + MAYBE_UNUSED_VARIABLES + CMAKE_DISABLE_FIND_PACKAGE_GSPELL + CMAKE_DISABLE_FIND_PACKAGE_MSPACK ) -vcpkg_install_cmake() +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/wxWidgets) -file(GLOB DLLS "${CURRENT_PACKAGES_DIR}/lib/*.dll") -if(DLLS) - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/bin) - foreach(DLL ${DLLS}) - get_filename_component(N "${DLL}" NAME) - file(RENAME ${DLL} ${CURRENT_PACKAGES_DIR}/bin/${N}) - endforeach() -endif() -file(GLOB DLLS "${CURRENT_PACKAGES_DIR}/debug/lib/*.dll") -if(DLLS) - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/bin) - foreach(DLL ${DLLS}) - get_filename_component(N "${DLL}" NAME) - file(RENAME ${DLL} ${CURRENT_PACKAGES_DIR}/debug/bin/${N}) - endforeach() -endif() +# The CMake export is not ready for use: It lacks a config file. +file(REMOVE_RECURSE + ${CURRENT_PACKAGES_DIR}/lib/cmake + ${CURRENT_PACKAGES_DIR}/debug/lib/cmake +) -if(VCPKG_TARGET_IS_WINDOWS) - vcpkg_copy_tools(TOOL_NAMES wxrc AUTO_CLEAN) -else() - vcpkg_copy_tools(TOOL_NAMES wxrc wx-config wxrc-3.1 AUTO_CLEAN) +set(tools wxrc) +if(NOT VCPKG_TARGET_IS_WINDOWS) + list(APPEND tools wxrc-3.2) + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/${PORT}") + file(RENAME "${CURRENT_PACKAGES_DIR}/bin/wx-config" "${CURRENT_PACKAGES_DIR}/tools/${PORT}/wx-config") + if(NOT VCPKG_BUILD_TYPE) + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug") + file(RENAME "${CURRENT_PACKAGES_DIR}/debug/bin/wx-config" "${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug/wx-config") + endif() endif() +vcpkg_copy_tools(TOOL_NAMES ${tools} AUTO_CLEAN) # do the copy pdbs now after the dlls got moved to the expected /bin folder above vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/msvc) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(GLOB_RECURSE INCLUDES ${CURRENT_PACKAGES_DIR}/include/*.h) -if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/mswu/wx/setup.h) - list(APPEND INCLUDES ${CURRENT_PACKAGES_DIR}/lib/mswu/wx/setup.h) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/msvc") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(GLOB_RECURSE INCLUDES "${CURRENT_PACKAGES_DIR}/include/*.h") +if(EXISTS "${CURRENT_PACKAGES_DIR}/lib/mswu/wx/setup.h") + list(APPEND INCLUDES "${CURRENT_PACKAGES_DIR}/lib/mswu/wx/setup.h") endif() -if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/lib/mswud/wx/setup.h) - list(APPEND INCLUDES ${CURRENT_PACKAGES_DIR}/debug/lib/mswud/wx/setup.h) +if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/lib/mswud/wx/setup.h") + list(APPEND INCLUDES "${CURRENT_PACKAGES_DIR}/debug/lib/mswud/wx/setup.h") endif() foreach(INC IN LISTS INCLUDES) file(READ "${INC}" _contents) @@ -94,18 +132,61 @@ foreach(INC IN LISTS INCLUDES) file(WRITE "${INC}" "${_contents}") endforeach() -if(NOT EXISTS ${CURRENT_PACKAGES_DIR}/include/wx/setup.h) - file(GLOB_RECURSE WX_SETUP_H_FILES_DBG ${CURRENT_PACKAGES_DIR}/debug/lib/*.h) - file(GLOB_RECURSE WX_SETUP_H_FILES_REL ${CURRENT_PACKAGES_DIR}/lib/*.h) - - string(REPLACE "${CURRENT_PACKAGES_DIR}/debug/lib/" "" WX_SETUP_H_FILES_DBG "${WX_SETUP_H_FILES_DBG}") - string(REPLACE "/setup.h" "" WX_SETUP_H_DBG_RELATIVE "${WX_SETUP_H_FILES_DBG}") - - string(REPLACE "${CURRENT_PACKAGES_DIR}/lib/" "" WX_SETUP_H_FILES_REL "${WX_SETUP_H_FILES_REL}") - string(REPLACE "/setup.h" "" WX_SETUP_H_REL_RELATIVE "${WX_SETUP_H_FILES_REL}") - - configure_file(${CMAKE_CURRENT_LIST_DIR}/setup.h.in ${CURRENT_PACKAGES_DIR}/include/wx/setup.h @ONLY) +if(NOT EXISTS "${CURRENT_PACKAGES_DIR}/include/wx/setup.h") + file(GLOB_RECURSE WX_SETUP_H_FILES_DBG "${CURRENT_PACKAGES_DIR}/debug/lib/*.h") + file(GLOB_RECURSE WX_SETUP_H_FILES_REL "${CURRENT_PACKAGES_DIR}/lib/*.h") + + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + vcpkg_replace_string("${WX_SETUP_H_FILES_REL}" "${CURRENT_PACKAGES_DIR}" "" IGNORE_UNCHANGED) + + string(REPLACE "${CURRENT_PACKAGES_DIR}/lib/" "" WX_SETUP_H_FILES_REL "${WX_SETUP_H_FILES_REL}") + string(REPLACE "/setup.h" "" WX_SETUP_H_REL_RELATIVE "${WX_SETUP_H_FILES_REL}") + endif() + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + vcpkg_replace_string("${WX_SETUP_H_FILES_DBG}" "${CURRENT_PACKAGES_DIR}" "" IGNORE_UNCHANGED) + + string(REPLACE "${CURRENT_PACKAGES_DIR}/debug/lib/" "" WX_SETUP_H_FILES_DBG "${WX_SETUP_H_FILES_DBG}") + string(REPLACE "/setup.h" "" WX_SETUP_H_DBG_RELATIVE "${WX_SETUP_H_FILES_DBG}") + endif() + + configure_file("${CMAKE_CURRENT_LIST_DIR}/setup.h.in" "${CURRENT_PACKAGES_DIR}/include/wx/setup.h" @ONLY) endif() -file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/wxwidgets) -configure_file(${CMAKE_CURRENT_LIST_DIR}/usage ${CURRENT_PACKAGES_DIR}/share/wxwidgets/usage COPYONLY) -file(INSTALL ${SOURCE_PATH}/docs/licence.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) + +file(GLOB configs LIST_DIRECTORIES false "${CURRENT_PACKAGES_DIR}/lib/wx/config/*" "${CURRENT_PACKAGES_DIR}/tools/${PORT}/wx-config") +foreach(config IN LISTS configs) + vcpkg_replace_string("${config}" "${CURRENT_INSTALLED_DIR}" [[${prefix}]]) +endforeach() +file(GLOB configs LIST_DIRECTORIES false "${CURRENT_PACKAGES_DIR}/debug/lib/wx/config/*" "${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug/wx-config") +foreach(config IN LISTS configs) + vcpkg_replace_string("${config}" "${CURRENT_INSTALLED_DIR}/debug" [[${prefix}]]) +endforeach() + +# For CMake multi-config in connection with wrapper +if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/lib/mswud/wx/setup.h") + file(INSTALL "${CURRENT_PACKAGES_DIR}/debug/lib/mswud/wx/setup.h" + DESTINATION "${CURRENT_PACKAGES_DIR}/lib/mswud/wx" + ) +endif() + +if(NOT "debug-support" IN_LIST FEATURES) + if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/wx/debug.h" "#define wxDEBUG_LEVEL 1" "#define wxDEBUG_LEVEL 0") + else() + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/wx-3.2/wx/debug.h" "#define wxDEBUG_LEVEL 1" "#define wxDEBUG_LEVEL 0") + endif() +endif() + +if("example" IN_LIST FEATURES) + file(INSTALL + "${CMAKE_CURRENT_LIST_DIR}/example/CMakeLists.txt" + "${SOURCE_PATH}/samples/popup/popup.cpp" + "${SOURCE_PATH}/samples/sample.xpm" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}/example" + ) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/${PORT}/example/popup.cpp" "../sample.xpm" "sample.xpm") +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}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/docs/licence.txt") diff --git a/ports/wxwidgets/relocatable-wx-config.patch b/ports/wxwidgets/relocatable-wx-config.patch new file mode 100644 index 00000000000000..608c9c5469de73 --- /dev/null +++ b/ports/wxwidgets/relocatable-wx-config.patch @@ -0,0 +1,40 @@ +diff --git a/wx-config.in b/wx-config.in +index 4df8571..a90db3d 100644 +--- a/wx-config.in ++++ b/wx-config.in +@@ -398,8 +398,23 @@ is_cross() { [ "x@cross_compiling@" = "xyes" ]; } + + + # Determine the base directories we require. +-prefix=${input_option_prefix-${this_prefix:-@prefix@}} +-exec_prefix=${input_option_exec_prefix-${input_option_prefix-${this_exec_prefix:-@exec_prefix@}}} ++vcpkg_prefix=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd -P) ++case "$vcpkg_prefix" in ++ */lib/wx/config) ++ vcpkg_prefix=${vcpkg_prefix%/*/*/*} ++ ;; ++ */tools/wxwidgets/debug) ++ vcpkg_prefix=${vcpkg_prefix%/*/*/*}/debug ++ ;; ++ */tools/wxwidgets) ++ vcpkg_prefix=${vcpkg_prefix%/*/*} ++ ;; ++esac ++if [ -n "@MINGW@" -a -n "@CMAKE_HOST_WIN32@" ]; then ++ vcpkg_prefix=$(cygpath -m "$vcpkg_prefix") ++fi ++prefix=${input_option_prefix-${this_prefix:-$vcpkg_prefix}} ++exec_prefix=${input_option_exec_prefix-${input_option_prefix-${this_exec_prefix:-$prefix}}} + wxconfdir="@libdir@/wx/config" + + installed_configs=`cd "$wxconfdir" 2> /dev/null && ls | grep -v "^inplace-"` +@@ -936,6 +951,9 @@ prefix=${this_prefix-$prefix} + exec_prefix=${this_exec_prefix-$exec_prefix} + + includedir="@includedir@" ++if [ "@CMAKE_BUILD_TYPE@" = "Debug" ] ; then ++ includedir="${includedir%/debug/include}/include" ++fi + libdir="@libdir@" + bindir="@bindir@" + diff --git a/ports/wxwidgets/sdl2.patch b/ports/wxwidgets/sdl2.patch new file mode 100644 index 00000000000000..511775ccc79cda --- /dev/null +++ b/ports/wxwidgets/sdl2.patch @@ -0,0 +1,29 @@ +diff --git a/build/cmake/init.cmake b/build/cmake/init.cmake +index 5447d33..f5440b4 100644 +--- a/build/cmake/init.cmake ++++ b/build/cmake/init.cmake +@@ -530,7 +530,9 @@ if(wxUSE_GUI) + endif() + + if(wxUSE_SOUND AND wxUSE_LIBSDL AND UNIX AND NOT APPLE) +- find_package(SDL2) ++ find_package(SDL2 CONFIG REQUIRED) ++ set(SDL2_INCLUDE_DIR "" CACHE INTERNAL "") ++ set(SDL2_LIBRARY SDL2::SDL2 CACHE INTERNAL "") + if(NOT SDL2_FOUND) + find_package(SDL) + endif() +diff --git a/build/cmake/wxWidgetsConfig.cmake.in b/build/cmake/wxWidgetsConfig.cmake.in +index 60cf762..202a8c3 100644 +--- a/build/cmake/wxWidgetsConfig.cmake.in ++++ b/build/cmake/wxWidgetsConfig.cmake.in +@@ -2,6 +2,9 @@ + + include(CMakeFindDependencyMacro) + find_dependency(NanoSVG CONFIG) ++if("@wxUSE_LIBSDL@") ++ find_dependency(SDL2 CONFIG) ++endif() + + cmake_policy(PUSH) + # Set policies to prevent warnings diff --git a/ports/wxwidgets/usage b/ports/wxwidgets/usage index e873e4ae343aa8..209456e8a15a9e 100644 --- a/ports/wxwidgets/usage +++ b/ports/wxwidgets/usage @@ -1,5 +1,4 @@ -The package wxwidgets provides CMake integration: +The package wxwidgets provides CMake targets: - find_package(wxWidgets REQUIRED) - target_include_directories(main PRIVATE ${wxWidgets_INCLUDE_DIRS}) - target_link_libraries(main PRIVATE ${wxWidgets_LIBRARIES}) + find_package(wxWidgets CONFIG REQUIRED) + target_link_libraries(main PRIVATE wx::core wx::base) diff --git a/ports/wxwidgets/vcpkg-cmake-wrapper.cmake b/ports/wxwidgets/vcpkg-cmake-wrapper.cmake index 55557b36097a05..e11b7b7f0c30bf 100644 --- a/ports/wxwidgets/vcpkg-cmake-wrapper.cmake +++ b/ports/wxwidgets/vcpkg-cmake-wrapper.cmake @@ -1,25 +1,81 @@ -set(wxWidgets_ROOT_DIR "${CMAKE_CURRENT_LIST_DIR}/../.." CACHE INTERNAL "" FORCE) -set(WX_ROOT_DIR "${wxWidgets_ROOT_DIR}") -set(wxWidgets_LIB_DIR "${wxWidgets_ROOT_DIR}/lib" CACHE INTERNAL "" FORCE) -set(WX_LIB_DIR "${wxWidgets_LIB_DIR}") -find_library(WX_based NAMES wxbase31ud PATHS "${wxWidgets_ROOT_DIR}/debug/lib" NO_DEFAULT_PATH) -file(GLOB WX_DEBUG_LIBS "${wxWidgets_ROOT_DIR}/debug/lib/wx*d_*.lib") -foreach(WX_DEBUG_LIB ${WX_DEBUG_LIBS}) - string(REGEX REPLACE ".*wx([^/]*)d_([^/\\.]*)\\.[^/\\.]*\$" "WX_\\2d" varname "${WX_DEBUG_LIB}") - set(${varname} "${WX_DEBUG_LIB}" CACHE INTERNAL "" FORCE) -endforeach() -_find_package(${ARGS}) -find_package(ZLIB QUIET) -find_package(libpng CONFIG QUIET) -find_package(TIFF QUIET) -find_package(expat CONFIG QUIET) - -if(wxWidgets_LIBRARIES AND NOT wxWidgets_LIBRARIES MATCHES "TIFF::TIFF;png;expat::expat;ZLIB::ZLIB") - list(APPEND wxWidgets_LIBRARIES "TIFF::TIFF;expat::expat;ZLIB::ZLIB") - - if (TARGET png) - list(APPEND wxWidgets_LIBRARIES "png") - elseif(TARGET png_static) - list(APPEND wxWidgets_LIBRARIES "png_static") +cmake_policy(PUSH) +cmake_policy(SET CMP0012 NEW) +cmake_policy(SET CMP0054 NEW) +cmake_policy(SET CMP0057 NEW) + +get_filename_component(_vcpkg_wx_root "${CMAKE_CURRENT_LIST_DIR}/../.." ABSOLUTE) +set(wxWidgets_ROOT_DIR "${_vcpkg_wx_root}" CACHE INTERNAL "") +set(WX_ROOT_DIR "${_vcpkg_wx_root}" CACHE INTERNAL "") +unset(_vcpkg_wx_root) + +if(WIN32) + # Find all libs with "32" infix which is unknown to FindwxWidgets.cmake + function(z_vcpkg_wxwidgets_find_base_library BASENAME) + find_library(WX_${BASENAME}d wx${BASENAME}32ud NAMES wx${BASENAME}d PATHS "${wxWidgets_ROOT_DIR}/debug/lib" NO_DEFAULT_PATH) + find_library(WX_${BASENAME} wx${BASENAME}32u NAMES wx${BASENAME} PATHS "${wxWidgets_ROOT_DIR}/lib" NO_DEFAULT_PATH REQUIRED) + endfunction() + function(z_vcpkg_wxwidgets_find_suffix_library BASENAME) + foreach(lib IN LISTS ARGN) + find_library(WX_${lib}d NAMES wx${BASENAME}32ud_${lib} PATHS "${wxWidgets_ROOT_DIR}/debug/lib" NO_DEFAULT_PATH) + find_library(WX_${lib} NAMES wx${BASENAME}32u_${lib} PATHS "${wxWidgets_ROOT_DIR}/lib" NO_DEFAULT_PATH) + endforeach() + endfunction() + z_vcpkg_wxwidgets_find_base_library(base) + z_vcpkg_wxwidgets_find_suffix_library(base net odbc xml) + z_vcpkg_wxwidgets_find_suffix_library(msw core adv aui html media xrc dbgrid gl qa richtext stc ribbon propgrid webview) + if(WX_stc AND "@VCPKG_LIBRARY_LINKAGE@" STREQUAL "static") + z_vcpkg_wxwidgets_find_base_library(scintilla) + endif() + # Force FindwxWidgets.cmake win32 mode for all windows targets built on windows + set(_vcpkg_wxwidgets_backup_crosscompiling "${CMAKE_CROSSCOMPILING}") + set(CMAKE_CROSSCOMPILING 0) + set(wxWidgets_LIB_DIR "${wxWidgets_ROOT_DIR}/lib" CACHE INTERNAL "") +else() + # FindwxWidgets.cmake unix mode, single-config + set(_vcpkg_wxconfig "") + if(CMAKE_BUILD_TYPE STREQUAL "Debug" OR "Debug" IN_LIST MAP_IMPORTED_CONFIG_${CMAKE_BUILD_TYPE}) + # Debug + set(wxWidgets_LIB_DIR "${wxWidgets_ROOT_DIR}/debug/lib" CACHE INTERNAL "") + file(GLOB _vcpkg_wxconfig LIST_DIRECTORIES false "${wxWidgets_LIB_DIR}/wx/config/*") endif() + if(NOT _vcpkg_wxconfig) + # Release or fallback + set(wxWidgets_LIB_DIR "${wxWidgets_ROOT_DIR}/lib" CACHE INTERNAL "") + file(GLOB _vcpkg_wxconfig LIST_DIRECTORIES false "${wxWidgets_LIB_DIR}/wx/config/*") + endif() + set(wxWidgets_CONFIG_EXECUTABLE "${_vcpkg_wxconfig}" CACHE INTERNAL "") + unset(_vcpkg_wxconfig) endif() +set(WX_LIB_DIR "${wxWidgets_LIB_DIR}" CACHE INTERNAL "") + +_find_package(${ARGS}) + +if(DEFINED _vcpkg_wxwidgets_backup_crosscompiling) + set(CMAKE_CROSSCOMPILING "${_vcpkg_wxwidgets_backup_crosscompiling}") + unset(_vcpkg_wxwidgets_backup_crosscompiling) +endif() + +if("@VCPKG_LIBRARY_LINKAGE@" STREQUAL "static" AND NOT "wx::core" IN_LIST wxWidgets_LIBRARIES) + find_package(NanoSVG CONFIG QUIET) + list(APPEND wxWidgets_LIBRARIES + NanoSVG::nanosvg NanoSVG::nanosvgrast + ) +endif() + + +if(WIN32 AND "@VCPKG_LIBRARY_LINKAGE@" STREQUAL "static" AND NOT "wx::core" IN_LIST wxWidgets_LIBRARIES) + find_package(EXPAT QUIET) + find_package(JPEG QUIET) + find_package(PNG QUIET) + find_package(TIFF QUIET) + find_package(ZLIB QUIET) + list(APPEND wxWidgets_LIBRARIES + ${EXPAT_LIBRARIES} + ${JPEG_LIBRARIES} + ${PNG_LIBRARIES} + ${TIFF_LIBRARIES} + ${ZLIB_LIBRARIES} + ) +endif() + +cmake_policy(POP) diff --git a/ports/wxwidgets/vcpkg.json b/ports/wxwidgets/vcpkg.json index 540e2147fc7923..3aa47b20078833 100644 --- a/ports/wxwidgets/vcpkg.json +++ b/ports/wxwidgets/vcpkg.json @@ -1,17 +1,108 @@ { "name": "wxwidgets", - "version-semver": "3.1.5", - "port-version": 3, + "version": "3.2.6", "description": [ "Widget toolkit and tools library for creating graphical user interfaces (GUIs) for cross-platform applications. ", - "Set WXWIDGETS_USE_STL in a custom triplet to build with the wxUSE_STL build option." + "Set WXWIDGETS_USE_STL in a custom triplet to build with the wxUSE_STL build option.", + "Set WXWIDGETS_USE_STD_CONTAINERS in a custom triplet to build with the wxUSE_STD_CONTAINERS build option." ], "homepage": "https://github.com/wxWidgets/wxWidgets", - "supports": "!uwp", + "license": "LGPL-2.0-or-later WITH WxWindows-exception-3.1", + "supports": "!uwp & !xbox", "dependencies": [ + { + "name": "cairo", + "default-features": false, + "platform": "!windows & !osx & !ios" + }, + { + "name": "curl", + "default-features": false, + "platform": "!windows & !osx" + }, "expat", + { + "name": "gtk3", + "platform": "!windows & !osx & !ios" + }, + { + "name": "libiconv", + "platform": "!windows" + }, + "libjpeg-turbo", "libpng", - "tiff", + "nanosvg", + "opengl", + { + "name": "pcre2", + "default-features": false + }, + { + "name": "tiff", + "default-features": false + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, "zlib" - ] + ], + "default-features": [ + "debug-support", + "sound" + ], + "features": { + "debug-support": { + "description": "Enable wxWidgets debugging support hooks even for release builds (wxDEBUG_LEVEL 1)" + }, + "example": { + "description": "Example source code and CMake project" + }, + "fonts": { + "description": "Enable to use the font functionality of wxWidgets", + "dependencies": [ + { + "name": "fontconfig", + "platform": "!windows & !osx" + }, + { + "name": "pango", + "platform": "!windows & !osx" + } + ] + }, + "media": { + "description": "Build wxMediaCtrl support", + "dependencies": [ + { + "name": "gstreamer", + "default-features": false, + "platform": "!windows & !osx & !ios" + } + ] + }, + "secretstore": { + "description": "Use wxSecretStore class" + }, + "sound": { + "description": "Build wxSound support", + "dependencies": [ + { + "name": "sdl2", + "default-features": false, + "platform": "!windows & !osx & !ios" + } + ] + }, + "webview": { + "description": "The Edge backend uses Microsoft's Edge WebView2", + "dependencies": [ + "webview2" + ] + } + } } diff --git a/ports/wyhash/portfile.cmake b/ports/wyhash/portfile.cmake new file mode 100644 index 00000000000000..3d2e881536c488 --- /dev/null +++ b/ports/wyhash/portfile.cmake @@ -0,0 +1,11 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO wangyi-fudan/wyhash + REF 408620b6d12b7d667b3dd6ae39b7929a39e8fa05 + SHA512 c7778ea13edd097e5c6e29b3974f22b387abfa565b93c26cd0e37062fe57d233b75989d37853354a68aec7989568d15fd1be46d18f55549920ed6dbaf52937a5 + HEAD_REF master +) + +file(INSTALL "${SOURCE_PATH}/wyhash.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include") + +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/wyhash/vcpkg.json b/ports/wyhash/vcpkg.json new file mode 100644 index 00000000000000..71517704ec680f --- /dev/null +++ b/ports/wyhash/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "wyhash", + "version-date": "2023-12-03", + "description": "The FASTEST QUALITY hash function, random number generators (PRNG) and hash map.", + "homepage": "https://github.com/wangyi-fudan/wyhash", + "license": "Unlicense" +} diff --git a/ports/x-plane/CMakeLists.txt b/ports/x-plane/CMakeLists.txt new file mode 100644 index 00000000000000..a04fbbc9720279 --- /dev/null +++ b/ports/x-plane/CMakeLists.txt @@ -0,0 +1,99 @@ +cmake_minimum_required(VERSION 3.21) +project(x-plane LANGUAGES C CXX) + +if(WIN32 OR APPLE) + add_library(unofficial::x-plane::xplm SHARED IMPORTED) + if(WIN32) + set_target_properties( + unofficial::x-plane::xplm + PROPERTIES IMPORTED_IMPLIB "${CMAKE_CURRENT_SOURCE_DIR}/Libraries/Win/XPLM_64.lib") + set_target_properties( + unofficial::x-plane::xplm PROPERTIES INTERFACE_COMPILE_DEFINITIONS + "-DIBM=1;-DAPL=0;-DLIN=0") + else() + set_target_properties( + unofficial::x-plane::xplm + PROPERTIES IMPORTED_LOCATION "${CMAKE_CURRENT_SOURCE_DIR}/Libraries/Mac/XPLM.framework/XPLM") + set_target_properties( + unofficial::x-plane::xplm PROPERTIES INTERFACE_COMPILE_DEFINITIONS + "-DIBM=0;-DAPL=1;-DLIN=0") + endif() +else() + add_library(unofficial::x-plane::xplm INTERFACE IMPORTED) + set_target_properties( + unofficial::x-plane::xplm PROPERTIES INTERFACE_COMPILE_DEFINITIONS + "-DIBM=0;-DAPL=0;-DLIN=1") +endif() +set_target_properties( + unofficial::x-plane::xplm PROPERTIES INTERFACE_INCLUDE_DIRECTORIES + "${CMAKE_CURRENT_SOURCE_DIR}/CHeaders/XPLM") + +if(WIN32 OR APPLE) + add_library(unofficial::x-plane::xpwidgets SHARED IMPORTED) + if(WIN32) + set_target_properties( + unofficial::x-plane::xpwidgets + PROPERTIES IMPORTED_IMPLIB "${CMAKE_CURRENT_SOURCE_DIR}/Libraries/Win/XPWidgets_64.lib") + else() + set_target_properties( + unofficial::x-plane::xpwidgets + PROPERTIES IMPORTED_LOCATION + "${CMAKE_CURRENT_SOURCE_DIR}/Libraries/Mac/XPWidgets.framework/XPWidgets") + endif() +else() + add_library(unofficial::x-plane::xpwidgets INTERFACE IMPORTED) +endif() +set_target_properties( + unofficial::x-plane::xpwidgets PROPERTIES INTERFACE_LINK_LIBRARIES + "unofficial::x-plane::xplm") +set_target_properties( + unofficial::x-plane::xpwidgets + PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_CURRENT_SOURCE_DIR}/CHeaders/Widgets") + +add_library(xplm_cpp STATIC) + +target_sources( + xplm_cpp + PRIVATE CHeaders/Wrappers/XPCBroadcaster.cpp + CHeaders/Wrappers/XPCDisplay.cpp + CHeaders/Wrappers/XPCListener.cpp + CHeaders/Wrappers/XPCProcessing.cpp + CHeaders/Wrappers/XPCWidget.cpp + CHeaders/Wrappers/XPCWidgetAttachments.cpp) + +target_include_directories( + xplm_cpp + INTERFACE $ + $) + +target_link_libraries(xplm_cpp PUBLIC unofficial::x-plane::xplm + unofficial::x-plane::xpwidgets) + +install( + TARGETS xplm_cpp + EXPORT xplm-targets + ARCHIVE DESTINATION lib) + +file(GLOB HEADERS "${CMAKE_CURRENT_LIST_DIR}/CHeaders/XPLM/*.h") +install(FILES ${HEADERS} DESTINATION "include") + +file(GLOB HEADERS "${CMAKE_CURRENT_LIST_DIR}/CHeaders/Widgets/*.h") +install(FILES ${HEADERS} DESTINATION "include") + +file(GLOB HEADERS "${CMAKE_CURRENT_LIST_DIR}/CHeaders/Wrappers/*.h") +install(FILES ${HEADERS} DESTINATION "include") + +include(CMakePackageConfigHelpers) +configure_package_config_file( + "${CMAKE_CURRENT_SOURCE_DIR}/unofficial-x-plane-config.cmake.in" + "${CMAKE_CURRENT_BINARY_DIR}/unofficial-x-plane-config.cmake" + INSTALL_DESTINATION "share/unofficial-x-plane") + +install(FILES "${CMAKE_CURRENT_BINARY_DIR}/unofficial-x-plane-config.cmake" + DESTINATION "share/unofficial-x-plane") + +install( + EXPORT xplm-targets + DESTINATION share/unofficial-x-plane + FILE unofficial-x-plane-targets.cmake + NAMESPACE unofficial::x-plane::) diff --git a/ports/x-plane/portfile.cmake b/ports/x-plane/portfile.cmake index 56ea2e77e82bad..eebc06d6c178a0 100644 --- a/ports/x-plane/portfile.cmake +++ b/ports/x-plane/portfile.cmake @@ -1,39 +1,30 @@ -vcpkg_fail_port_install(ON_ARCH "x86" "arm" "arm64" "wasm32") +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -vcpkg_download_distfile(ARCHIVE - URLS "http://developer.x-plane.com/wp-content/plugins/code-sample-generation/sample_templates/XPSDK303.zip" - FILENAME "XPSDK303.zip" - SHA512 23a1efc893fdb838ce90307ac2e1bf592b03880e9c7bf7aac51cf0d358816931b56a3d603e266f3c9041620190c689dc4d3b28b288bc39cf6e653db6f2125395 +set(XPSDK_VERSION "401") +vcpkg_download_distfile( + XPLANE_SDK_ZIP + URLS "https://developer.x-plane.com/wp-content/plugins/code-sample-generation/sample_templates/XPSDK${XPSDK_VERSION}.zip" + FILENAME "XPSDK${XPSDK_VERSION}.zip" + SHA512 8e00789befd15f5b1cb4f426ddf9c3f7f021c5fba50b907e8af5fbf09abbc362804b5d1543332855d01e8ae91b9c50a55933e63df6e11e88e58c10ca8f949bf4 ) +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${XPLANE_SDK_ZIP}" +) + +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") +file(COPY "${CMAKE_CURRENT_LIST_DIR}/unofficial-x-plane-config.cmake.in" DESTINATION "${SOURCE_PATH}") -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -# create lib dir -if(VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_OSX) - file(MAKE_DIRECTORY - ${CURRENT_PACKAGES_DIR}/lib - ${CURRENT_PACKAGES_DIR}/debug/lib - ) -endif() +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-x-plane) -# copy headers & sources -file(COPY ${SOURCE_PATH}/CHeaders/Widgets/ DESTINATION ${CURRENT_PACKAGES_DIR}/include) -file(COPY ${SOURCE_PATH}/CHeaders/Wrappers/ DESTINATION ${CURRENT_PACKAGES_DIR}/include) -file(COPY ${SOURCE_PATH}/CHeaders/XPLM/ DESTINATION ${CURRENT_PACKAGES_DIR}/include) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/license.txt") -# copy prebuilt libs -if(VCPKG_TARGET_IS_WINDOWS) - file(COPY ${SOURCE_PATH}/Libraries/Win/XPLM_64.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib/) - file(COPY ${SOURCE_PATH}/Libraries/Win/XPWidgets_64.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib/) - file(COPY ${SOURCE_PATH}/Libraries/Win/XPLM_64.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/) - file(COPY ${SOURCE_PATH}/Libraries/Win/XPWidgets_64.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/) -elseif (VCPKG_TARGET_IS_OSX) - file(COPY ${SOURCE_PATH}/Libraries/Mac/ DESTINATION ${CURRENT_PACKAGES_DIR}/lib/) - file(COPY ${SOURCE_PATH}/Libraries/Mac/ DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/) -endif() +configure_file("${CMAKE_CURRENT_LIST_DIR}/usage" "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" COPYONLY) -# Handle copyright -file(INSTALL ${SOURCE_PATH}/license.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") diff --git a/ports/x-plane/unofficial-x-plane-config.cmake.in b/ports/x-plane/unofficial-x-plane-config.cmake.in new file mode 100644 index 00000000000000..f4b7e77ed874bd --- /dev/null +++ b/ports/x-plane/unofficial-x-plane-config.cmake.in @@ -0,0 +1,62 @@ +@PACKAGE_INIT@ + +get_filename_component(ROOT "${CMAKE_CURRENT_LIST_DIR}" PATH) +get_filename_component(ROOT "${ROOT}" PATH) + +if(NOT TARGET unofficial::x-plane::xplm) + if(WIN32 OR APPLE) + add_library(unofficial::x-plane::xplm SHARED IMPORTED) + if(WIN32) + set_target_properties( + unofficial::x-plane::xplm + PROPERTIES IMPORTED_IMPLIB "${ROOT}/lib/x-plane/XPLM_64.lib") + set_target_properties( + unofficial::x-plane::xplm PROPERTIES INTERFACE_COMPILE_DEFINITIONS + "-DIBM=1;-DAPL=0;-DLIN=0") + else() + set_target_properties( + unofficial::x-plane::xplm + PROPERTIES IMPORTED_LOCATION "${ROOT}/lib/x-plane/XPLM.framework/XPLM") + set_target_properties( + unofficial::x-plane::xplm PROPERTIES INTERFACE_COMPILE_DEFINITIONS + "-DIBM=0;-DAPL=1;-DLIN=0") + endif() + else() + add_library(unofficial::x-plane::xplm INTERFACE IMPORTED) + set_target_properties( + unofficial::x-plane::xplm PROPERTIES INTERFACE_COMPILE_DEFINITIONS + "-DIBM=0;-DAPL=0;-DLIN=1") + endif() + set_target_properties( + unofficial::x-plane::xplm PROPERTIES INTERFACE_INCLUDE_DIRECTORIES + "${ROOT}/include") +endif() + +if(NOT TARGET unofficial::x-plane::xpwidgets) + if(WIN32 OR APPLE) + add_library(unofficial::x-plane::xpwidgets SHARED IMPORTED) + if(WIN32) + set_target_properties( + unofficial::x-plane::xpwidgets + PROPERTIES IMPORTED_IMPLIB "${ROOT}/lib/x-plane/XPWidgets_64.lib") + else() + set_target_properties( + unofficial::x-plane::xpwidgets + PROPERTIES IMPORTED_LOCATION + "${ROOT}/lib/x-plane/XPWidgets.framework/XPWidgets") + endif() + else() + add_library(unofficial::x-plane::xpwidgets INTERFACE IMPORTED) + endif() + set_target_properties( + unofficial::x-plane::xpwidgets PROPERTIES INTERFACE_LINK_LIBRARIES + "unofficial::x-plane::xplm") + set_target_properties( + unofficial::x-plane::xpwidgets + PROPERTIES INTERFACE_INCLUDE_DIRECTORIES + "${ROOT}/include") +endif() + +include("${CMAKE_CURRENT_LIST_DIR}/unofficial-x-plane-targets.cmake") + +check_required_components(unofficial-x-plane) diff --git a/ports/x-plane/usage b/ports/x-plane/usage new file mode 100644 index 00000000000000..de07716df2063b --- /dev/null +++ b/ports/x-plane/usage @@ -0,0 +1,4 @@ +x-plane provides CMake targets: + + find_package(unofficial-x-plane CONFIG REQUIRED) + target_link_libraries(main PRIVATE unofficial::x-plane::xplm unofficial::x-plane::xpwidgets unofficial::x-plane::xplm_cpp) diff --git a/ports/x-plane/vcpkg.json b/ports/x-plane/vcpkg.json index 4884ca8e8d0ceb..9dbb8e9e9835ea 100644 --- a/ports/x-plane/vcpkg.json +++ b/ports/x-plane/vcpkg.json @@ -1,7 +1,18 @@ { "name": "x-plane", - "version-string": "3.0.3", + "version": "4.0.1", "description": "The X-Plane Plugin SDK", "homepage": "https://developer.x-plane.com/sdk/", - "supports": "!(x86 | arm | wasm32)" + "license": null, + "supports": "(windows & !uwp & x64) | (osx & (x64 | arm64)) | (linux & x64)", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/x264/allow-clang-cl.patch b/ports/x264/allow-clang-cl.patch new file mode 100644 index 00000000000000..fd363b64ea1a24 --- /dev/null +++ b/ports/x264/allow-clang-cl.patch @@ -0,0 +1,16 @@ +diff --git a/configure b/configure +index 6f95e2314..e677e36f4 100644 +--- a/configure ++++ b/configure +@@ -606,9 +606,9 @@ if [[ $host_os = mingw* || $host_os = msys* || $host_os = cygwin* ]]; then + if cc_check '' -Qdiag-error:10006,10157 ; then + CHECK_CFLAGS="$CHECK_CFLAGS -Qdiag-error:10006,10157" + fi +- elif [[ "$cc_base" = cl || "$cc_base" = cl[\ .]* ]]; then ++ elif [[ "$cc_base" = cl || "$cc_base" = cl[\ .]* || "$cc_base" = clang-cl || "$cc_base" = clang-cl[\ .]* ]]; then + # Standard Microsoft Visual Studio + compiler=CL + compiler_style=MS ++ CFLAGS="$CPPFLAGS $CFLAGS -nologo -GS- -DHAVE_STRING_H -I\$(SRCPATH)/extras" +- CFLAGS="$CFLAGS -nologo -GS- -DHAVE_STRING_H -I\$(SRCPATH)/extras" + cpp_check '' '' '_MSC_VER > 1800 || (_MSC_VER == 1800 && _MSC_FULL_VER >= 180030324)' || die "Microsoft Visual Studio support requires Visual Studio 2013 Update 2 or newer" diff --git a/ports/x264/configure.patch b/ports/x264/configure.patch new file mode 100644 index 00000000000000..788a1a51ec1c8a --- /dev/null +++ b/ports/x264/configure.patch @@ -0,0 +1,40 @@ +diff --git a/configure b/configure +index e242e73c..e0d1df76 100755 +--- a/configure ++++ b/configure +@@ -1,4 +1,7 @@ +-#!/bin/bash ++#!/usr/bin/env bash ++ ++export CFLAGS="${CPPFLAGS} ${CFLAGS}" ++test "${AS:-:}" = ":" && unset AS + + if test x"$1" = x"-h" -o x"$1" = x"--help" ; then + cat <> config.mak +- echo 'install: install-cli' >> config.mak ++ echo 'install:' >> config.mak ++ echo ' $(MAKE) install-cli' >> config.mak + fi + + if [ "$shared" = "yes" ]; then diff --git a/ports/x264/portfile.cmake b/ports/x264/portfile.cmake index bf725508bede9c..993e5a2f745c05 100644 --- a/ports/x264/portfile.cmake +++ b/ports/x264/portfile.cmake @@ -1,86 +1,147 @@ -set(X264_VERSION 164) - -vcpkg_fail_port_install(ON_ARCH "arm") - -vcpkg_from_github( +# The latest ref in branch stable +set(ref 31e19f92f00c7003fa115047ce50978bc98c3a0d) + +# Note on x264 versioning: +# The pc file exports "0.164." where is the number of commits. +# The binary releases on https://artifacts.videolan.org/x264/ are named x264-r-. +# With a git clone, this can be determined by running `versions.sh`. +# With vcpkg_from_gitlab, we modify `versions.sh` accordingly. +# For --editable mode, use configured patch instead of vcpkg_replace_string. +string(REGEX MATCH "^......." short_ref "${ref}") +string(REGEX MATCH "[0-9]+\$" revision "${VERSION}") +configure_file("${CURRENT_PORT_DIR}/version.diff.in" "${CURRENT_BUILDTREES_DIR}/src/version-${VERSION}.diff" @ONLY) + +vcpkg_from_gitlab( + GITLAB_URL https://code.videolan.org/ OUT_SOURCE_PATH SOURCE_PATH - REPO mirror/x264 - REF 5db6aa6cab1b146e07b60cc1736a01f21da01154 - SHA512 d2cdd40d195fd6507abacc8b8810107567dff2c0a93424ba1eb00b544cb78a5430f00f9bcf8f19bd663ae77849225577da05bfcdb57948a8af9dc32a7c8b9ffd - HEAD_REF stable - PATCHES - "uwp-cflags.patch" + REPO videolan/x264 + REF "${ref}" + SHA512 707ff486677a1b5502d6d8faa588e7a03b0dee45491c5cba89341be4be23d3f2e48272c3b11d54cfc7be1b8bf4a3dfc3c3bb6d9643a6b5a2ed77539c85ecf294 + HEAD_REF master + PATCHES + "${CURRENT_BUILDTREES_DIR}/src/version-${VERSION}.diff" + uwp-cflags.patch + parallel-install.patch + allow-clang-cl.patch + configure.patch ) -vcpkg_find_acquire_program(NASM) -get_filename_component(NASM_EXE_PATH ${NASM} DIRECTORY) -vcpkg_add_to_path(${NASM_EXE_PATH}) +# Ensure that 'ENV{PATH}' leads to tool 'name' exactly at 'filepath'. +function(ensure_tool_in_path name filepath) + unset(program_found CACHE) + find_program(program_found "${name}" PATHS ENV PATH NO_DEFAULT_PATH NO_CACHE) + if(NOT filepath STREQUAL program_found) + cmake_path(GET filepath PARENT_PATH parent_path) + vcpkg_add_to_path(PREPEND "${parent_path}") + endif() +endfunction() + +# Ensure that parent-scope variable 'var' doesn't contain a space, +# updating 'ENV{PATH}' and 'var' if needed. +function(transform_path_no_space var) + set(path "${${var}}") + if(path MATCHES " ") + cmake_path(GET path FILENAME program_name) + set("${var}" "${program_name}" PARENT_SCOPE) + ensure_tool_in_path("${program_name}" "${path}") + endif() +endfunction() + +vcpkg_cmake_get_vars(cmake_vars_file) +include("${cmake_vars_file}") + +transform_path_no_space(VCPKG_DETECTED_CMAKE_C_COMPILER) +set(ENV{CC} "${VCPKG_DETECTED_CMAKE_C_COMPILER}") + +vcpkg_list(SET OPTIONS) + +vcpkg_list(SET EXTRA_ARGS) +set(nasm_archs x86 x64) +set(gaspp_archs arm arm64) +if(NOT "asm" IN_LIST FEATURES) + vcpkg_list(APPEND OPTIONS --disable-asm) +elseif(NOT "$ENV{AS}" STREQUAL "") + # Accept setting from triplet +elseif(VCPKG_TARGET_ARCHITECTURE IN_LIST nasm_archs) + vcpkg_find_acquire_program(NASM) + transform_path_no_space(NASM) + list(APPEND EXTRA_ARGS CONFIGURE_ENVIRONMENT_VARIABLES AS) + set(AS "${NASM}") # for CONFIGURE_ENVIRONMENT_VARIABLES + set(ENV{AS} "${NASM}") # for non-WIN32 +elseif(VCPKG_TARGET_ARCHITECTURE IN_LIST gaspp_archs AND VCPKG_TARGET_IS_WINDOWS AND VCPKG_HOST_IS_WINDOWS) + vcpkg_find_acquire_program(GASPREPROCESSOR) + list(FILTER GASPREPROCESSOR INCLUDE REGEX gas-preprocessor) + file(INSTALL "${GASPREPROCESSOR}" DESTINATION "${SOURCE_PATH}/tools" RENAME "gas-preprocessor.pl") +endif() -if(VCPKG_TARGET_IS_WINDOWS) - z_vcpkg_determine_autotools_host_cpu(BUILD_ARCH) - z_vcpkg_determine_autotools_target_cpu(HOST_ARCH) - list(APPEND OPTIONS --build=${BUILD_ARCH}-pc-mingw32) - list(APPEND OPTIONS --host=${HOST_ARCH}-pc-mingw32) - set(ENV{AS} "${NASM}") +vcpkg_list(SET OPTIONS_RELEASE) +if("tool" IN_LIST FEATURES) + vcpkg_list(APPEND OPTIONS_RELEASE --enable-cli) +else() + vcpkg_list(APPEND OPTIONS_RELEASE --disable-cli) endif() -if(VCPKG_TARGET_IS_UWP) - list(APPEND OPTIONS --extra-cflags=-DWINAPI_FAMILY=WINAPI_FAMILY_APP --extra-cflags=-D_WIN32_WINNT=0x0A00) - list(APPEND OPTIONS --extra-ldflags=-APPCONTAINER --extra-ldflags=WindowsApp.lib) - list(APPEND OPTIONS --disable-asm) +if("chroma-format-all" IN_LIST FEATURES) + vcpkg_list(APPEND OPTIONS --chroma-format=all) endif() -if(VCPKG_TARGET_IS_LINUX) - list(APPEND OPTIONS --enable-pic) +if(NOT "gpl" IN_LIST FEATURES) + vcpkg_list(APPEND OPTIONS --disable-gpl) +endif() + +if(VCPKG_TARGET_IS_UWP) + list(APPEND OPTIONS --extra-cflags=-D_WIN32_WINNT=0x0A00) endif() vcpkg_configure_make( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" NO_ADDITIONAL_PATHS + DETERMINE_BUILD_TRIPLET + ${EXTRA_ARGS} OPTIONS ${OPTIONS} - --enable-strip + --enable-pic --disable-lavf --disable-swscale --disable-avs --disable-ffms --disable-gpac --disable-lsmash + --disable-bashcompletion + OPTIONS_RELEASE + ${OPTIONS_RELEASE} + --enable-strip + OPTIONS_DEBUG --enable-debug - + --disable-cli ) vcpkg_install_make() -if(NOT VCPKG_TARGET_IS_UWP) +if("tool" IN_LIST FEATURES) vcpkg_copy_tools(TOOL_NAMES x264 AUTO_CLEAN) endif() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -if(VCPKG_TARGET_IS_WINDOWS) - set(pcfile "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/x264.pc") - if(EXISTS "${pcfile}") - vcpkg_replace_string("${pcfile}" "-lx264" "-llibx264") - endif() - set(pcfile "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/x264.pc") - if(EXISTS "${pcfile}") - vcpkg_replace_string("${pcfile}" "-lx264" "-llibx264") +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/x264.pc" "-lx264" "-llibx264") + if(NOT VCPKG_BUILD_TYPE) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/x264.pc" "-lx264" "-llibx264") endif() endif() if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic" AND VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) - file(RENAME ${CURRENT_PACKAGES_DIR}/lib/libx264.dll.lib ${CURRENT_PACKAGES_DIR}/lib/libx264.lib) - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/libx264.dll.lib ${CURRENT_PACKAGES_DIR}/debug/lib/libx264.lib) + file(RENAME "${CURRENT_PACKAGES_DIR}/lib/libx264.dll.lib" "${CURRENT_PACKAGES_DIR}/lib/libx264.lib") + if (NOT VCPKG_BUILD_TYPE) + file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/libx264.dll.lib" "${CURRENT_PACKAGES_DIR}/debug/lib/libx264.lib") + endif() + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/x264.h" "#ifdef X264_API_IMPORTS" "#if 1") elseif(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - # force U_STATIC_IMPLEMENTATION macro - file(READ ${CURRENT_PACKAGES_DIR}/include/x264.h HEADER_CONTENTS) - string(REPLACE "defined(U_STATIC_IMPLEMENTATION)" "1" HEADER_CONTENTS "${HEADER_CONTENTS}") - file(WRITE ${CURRENT_PACKAGES_DIR}/include/x264.h "${HEADER_CONTENTS}") - + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/x264.h" "defined(U_STATIC_IMPLEMENTATION)" "1" IGNORE_UNCHANGED) file(REMOVE_RECURSE - ${CURRENT_PACKAGES_DIR}/bin - ${CURRENT_PACKAGES_DIR}/debug/bin + "${CURRENT_PACKAGES_DIR}/bin" + "${CURRENT_PACKAGES_DIR}/debug/bin" ) endif() @@ -88,4 +149,4 @@ vcpkg_fixup_pkgconfig() vcpkg_copy_pdbs() -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/x264/vcpkg.json b/ports/x264/vcpkg.json index a36254294eaec6..3d02a3ec9c9f5e 100644 --- a/ports/x264/vcpkg.json +++ b/ports/x264/vcpkg.json @@ -1,13 +1,40 @@ { "name": "x264", - "version-string": "164-5db6aa6cab1b146", + "version": "0.164.3108", "description": "x264 is a free software library and application for encoding video streams into the H.264/MPEG-4 AVC compression format", - "homepage": "https://github.com/mirror/x264", - "supports": "!arm", + "homepage": "https://www.videolan.org/developers/x264.html", + "license": "GPL-2.0-or-later", + "supports": "!xbox", "dependencies": [ { - "name": "pthread", - "platform": "linux & osx" + "name": "vcpkg-cmake-get-vars", + "host": true } - ] + ], + "default-features": [ + { + "name": "asm", + "platform": "!(arm32 & windows)" + }, + { + "name": "gpl", + "platform": "!(arm32 & windows)" + } + ], + "features": { + "asm": { + "description": "Enable platform-specific assembly optimizations", + "supports": "!(arm32 & windows)" + }, + "chroma-format-all": { + "description": "Output all chroma formats" + }, + "gpl": { + "description": "Allow use of GPL code, the resulting libs and binaries will be under GPL" + }, + "tool": { + "description": "Build the command line tool", + "supports": "!uwp" + } + } } diff --git a/ports/x264/version.diff.in b/ports/x264/version.diff.in new file mode 100644 index 00000000000000..3f13fda6815594 --- /dev/null +++ b/ports/x264/version.diff.in @@ -0,0 +1,15 @@ +diff --git a/version.sh b/version.sh +index 178fc952..06728796 100755 +--- a/version.sh ++++ b/version.sh +@@ -3,8 +3,8 @@ + cd "$(dirname "$0")" >/dev/null && [ -f x264.h ] || exit 1 + + api="$(grep '#define X264_BUILD' < x264.h | sed 's/^.* \([1-9][0-9]*\).*$/\1/')" +-ver="x" +-version="" ++ver="@revision@ @short_ref@" ++version=" r${ver} vcpkg" + + if [ -d .git ] && command -v git >/dev/null 2>&1 ; then + localver="$(($(git rev-list HEAD | wc -l)))" diff --git a/ports/x265/compiler-target.diff b/ports/x265/compiler-target.diff new file mode 100644 index 00000000000000..f18699ecdcd50b --- /dev/null +++ b/ports/x265/compiler-target.diff @@ -0,0 +1,14 @@ +diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt +index ab5ddfe..e99c4d8 100755 +--- a/source/CMakeLists.txt ++++ b/source/CMakeLists.txt +@@ -570,6 +570,9 @@ if((MSVC_IDE OR XCODE OR GCC) AND ENABLE_ASSEMBLY) + set(SUFFIX o) + endif() + ++ if(CMAKE_CXX_COMPILER_TARGET) ++ list(PREPEND ARM_ARGS "--target=${CMAKE_CXX_COMPILER_TARGET}") ++ endif() + if(ARM OR CROSS_COMPILE_ARM) + # compile ARM arch asm files here + enable_language(ASM) diff --git a/ports/x265/disable-install-pdb.patch b/ports/x265/disable-install-pdb.patch index 6826fe8558b6a8..093660086f8f9a 100644 --- a/ports/x265/disable-install-pdb.patch +++ b/ports/x265/disable-install-pdb.patch @@ -1,22 +1,13 @@ -diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt -index 33b6523..06e3193 100644 ---- a/source/CMakeLists.txt -+++ b/source/CMakeLists.txt -@@ -580,13 +580,13 @@ endif() - install(FILES x265.h "${PROJECT_BINARY_DIR}/x265_config.h" DESTINATION include) - if((WIN32 AND ENABLE_CLI) OR (WIN32 AND ENABLE_SHARED)) - if(MSVC_IDE) -- install(FILES "${PROJECT_BINARY_DIR}/Debug/x265.pdb" DESTINATION ${BIN_INSTALL_DIR} CONFIGURATIONS Debug) -- install(FILES "${PROJECT_BINARY_DIR}/RelWithDebInfo/x265.pdb" DESTINATION ${BIN_INSTALL_DIR} CONFIGURATIONS RelWithDebInfo) -+ #install(FILES "${PROJECT_BINARY_DIR}/Debug/x265.pdb" DESTINATION ${BIN_INSTALL_DIR} CONFIGURATIONS Debug) -+ #install(FILES "${PROJECT_BINARY_DIR}/RelWithDebInfo/x265.pdb" DESTINATION ${BIN_INSTALL_DIR} CONFIGURATIONS RelWithDebInfo) - install(FILES "${PROJECT_BINARY_DIR}/Debug/libx265.pdb" DESTINATION ${BIN_INSTALL_DIR} CONFIGURATIONS Debug OPTIONAL NAMELINK_ONLY) - install(FILES "${PROJECT_BINARY_DIR}/RelWithDebInfo/libx265.pdb" DESTINATION ${BIN_INSTALL_DIR} CONFIGURATIONS RelWithDebInfo OPTIONAL NAMELINK_ONLY) - else() -- install(FILES "${PROJECT_BINARY_DIR}/x265.pdb" DESTINATION ${BIN_INSTALL_DIR} CONFIGURATIONS Debug) -- install(FILES "${PROJECT_BINARY_DIR}/x265.pdb" DESTINATION ${BIN_INSTALL_DIR} CONFIGURATIONS RelWithDebInfo) -+ #install(FILES "${PROJECT_BINARY_DIR}/x265.pdb" DESTINATION ${BIN_INSTALL_DIR} CONFIGURATIONS Debug) -+ #install(FILES "${PROJECT_BINARY_DIR}/x265.pdb" DESTINATION ${BIN_INSTALL_DIR} CONFIGURATIONS RelWithDebInfo) - install(FILES "${PROJECT_BINARY_DIR}/libx265.pdb" DESTINATION ${BIN_INSTALL_DIR} CONFIGURATIONS Debug OPTIONAL NAMELINK_ONLY) - install(FILES "${PROJECT_BINARY_DIR}/libx265.pdb" DESTINATION ${BIN_INSTALL_DIR} CONFIGURATIONS RelWithDebInfo OPTIONAL NAMELINK_ONLY) - endif() +diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt +index 11512ff..9ac8057 100755 +--- a/source/CMakeLists.txt ++++ b/source/CMakeLists.txt +@@ -603,7 +603,7 @@ if(SVTHEVC_FOUND) + endif() + + install(FILES x265.h "${PROJECT_BINARY_DIR}/x265_config.h" DESTINATION include) +-if((WIN32 AND ENABLE_CLI) OR (WIN32 AND ENABLE_SHARED)) ++if(0) + if(MSVC_IDE) + install(FILES "${PROJECT_BINARY_DIR}/Debug/x265.pdb" DESTINATION ${BIN_INSTALL_DIR} CONFIGURATIONS Debug) + install(FILES "${PROJECT_BINARY_DIR}/RelWithDebInfo/x265.pdb" DESTINATION ${BIN_INSTALL_DIR} CONFIGURATIONS RelWithDebInfo) diff --git a/ports/x265/linkage.diff b/ports/x265/linkage.diff new file mode 100644 index 00000000000000..af5e1f337f5a3b --- /dev/null +++ b/ports/x265/linkage.diff @@ -0,0 +1,18 @@ +diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt +index d6f0e3e..11512ff 100755 +--- a/source/CMakeLists.txt ++++ b/source/CMakeLists.txt +@@ -582,9 +582,13 @@ endif() + if(SVTHEVC_FOUND) + target_link_libraries(x265-static ${SVT_HEVC_LIBRARY}) + endif() ++if(ENABLE_SHARED) ++ set_target_properties(x265-static PROPERTIES EXCLUDE_FROM_ALL 1) ++else() + install(TARGETS x265-static + LIBRARY DESTINATION ${LIB_INSTALL_DIR} + ARCHIVE DESTINATION ${LIB_INSTALL_DIR}) ++endif() + + if(ENABLE_HDR10_PLUS) + install(TARGETS hdr10plus-static diff --git a/ports/x265/neon.diff b/ports/x265/neon.diff new file mode 100644 index 00000000000000..9747f63f796e90 --- /dev/null +++ b/ports/x265/neon.diff @@ -0,0 +1,18 @@ +diff --git a/source/cmake/FindNeon.cmake b/source/cmake/FindNeon.cmake +index cb02180..6a939b8 100644 +--- a/source/cmake/FindNeon.cmake ++++ b/source/cmake/FindNeon.cmake +@@ -16,6 +16,13 @@ else() + OUTPUT_STRIP_TRAILING_WHITESPACE) + endif() + ++if(CMAKE_ANDROID_ARCH_ABI STREQUAL "arm64-v8a") ++ set(neon_version 1) ++elseif(CMAKE_ANDROID_ARCH_ABI STREQUAL "armeabi-v7a") ++ set(neon_version "${CMAKE_ANDROID_ARM_NEON}") ++elseif(CMAKE_CROSSCOMPILING AND CMAKE_SIZEOF_VOID_P LESS "8") ++ set(neon_version 0) ++endif() + if(neon_version) + set(CPU_HAS_NEON 1) + endif() diff --git a/ports/x265/pkgconfig.diff b/ports/x265/pkgconfig.diff new file mode 100644 index 00000000000000..012ceef6b7df2e --- /dev/null +++ b/ports/x265/pkgconfig.diff @@ -0,0 +1,49 @@ +diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt +index a407271..a575642 100755 +--- a/source/CMakeLists.txt ++++ b/source/CMakeLists.txt +@@ -572,6 +572,9 @@ else() + endif() + if(NOT MSVC) + set_target_properties(x265-static PROPERTIES OUTPUT_NAME x265) ++ set(X265_LIB x265) ++else() ++ set(X265_LIB x265-static) + endif() + if(EXTRA_LIB) + target_link_libraries(x265-static ${EXTRA_LIB}) +@@ -655,8 +658,10 @@ if(ENABLE_SHARED) + endif(SVTHEVC_FOUND) + if(MSVC) + set_target_properties(x265-shared PROPERTIES OUTPUT_NAME libx265) ++ set(X265_LIB libx265) + else() + set_target_properties(x265-shared PROPERTIES OUTPUT_NAME x265) ++ set(X265_LIB x265) + endif() + if(UNIX) + set_target_properties(x265-shared PROPERTIES VERSION ${X265_BUILD}) +@@ -693,7 +698,11 @@ endif() + + if(X265_LATEST_TAG) + # convert lists of link libraries into -lstdc++ -lm etc.. ++ cmake_policy(SET CMP0057 NEW) + foreach(LIB ${CMAKE_CXX_IMPLICIT_LINK_LIBRARIES} ${PLATFORM_LIBS}) ++ if(LIB IN_LIST CMAKE_C_IMPLICIT_LINK_LIBRARIES) ++ continue() ++ endif() + if(IS_ABSOLUTE ${LIB} AND EXISTS ${LIB}) + list(APPEND PLIBLIST "${LIB}") + else() +diff --git a/source/x265.pc.in b/source/x265.pc.in +index 0bf99e9..fe76d20 100644 +--- a/source/x265.pc.in ++++ b/source/x265.pc.in +@@ -6,6 +6,6 @@ includedir=${prefix}/include + Name: @CMAKE_PROJECT_NAME@ + Description: H.265/HEVC video encoder + Version: @X265_LATEST_TAG@ +-Libs: -L${libdir} -lx265 ++Libs: -L${libdir} -l@X265_LIB@ + Libs.private: @PRIVATE_LIBS@ + Cflags: -I${includedir} diff --git a/ports/x265/portfile.cmake b/ports/x265/portfile.cmake index 8dd9dd1e348cd4..ae4928cc32350e 100644 --- a/ports/x265/portfile.cmake +++ b/ports/x265/portfile.cmake @@ -1,96 +1,65 @@ -vcpkg_from_github( +vcpkg_from_bitbucket( OUT_SOURCE_PATH SOURCE_PATH - REPO videolan/x265 - REF 07295ba7ab551bb9c1580fdaee3200f1b45711b7 #v3.4 - SHA512 21a4ef8733a9011eec8b336106c835fbe04689e3a1b820acb11205e35d2baba8c786d9d8cf5f395e78277f921857e4eb8622cf2ef3597bce952d374f7fe9ec29 + REPO multicoreware/x265_git + REF "${VERSION}" + SHA512 cfc3fdd7ce10a6cadf4515707d8f338fe58329cbbbcac11a85f00376e29156baccfb19a514ac2bc816432d15a2a4eb1bb7e16e3a870b6b9f9bc28e1a44270091 HEAD_REF master PATCHES disable-install-pdb.patch + version.patch + linkage.diff + pkgconfig.diff + pthread.diff + compiler-target.diff + neon.diff ) -set(ENABLE_ASSEMBLY OFF) -if (VCPKG_TARGET_IS_WINDOWS) +vcpkg_check_features(OUT_FEATURE_OPTIONS OPTIONS + FEATURES + tool ENABLE_CLI +) + +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) - set(ENV{PATH} "$ENV{PATH};${NASM_EXE_PATH}") - set(ENABLE_ASSEMBLY ON) -endif () + list(APPEND OPTIONS "-DNASM_EXECUTABLE=${NASM}") + if(VCPKG_LIBRARY_LINKAGE STREQUAL "static" AND NOT VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_OSX) + # x265 doesn't create sufficient PIC for asm, breaking usage + # in shared libs, e.g. the libheif gdk pixbuf plugin. + # Users can override this in custom triplets. + list(APPEND OPTIONS "-DENABLE_ASSEMBLY=OFF") + endif() +elseif(VCPKG_TARGET_IS_WINDOWS) + list(APPEND OPTIONS "-DENABLE_ASSEMBLY=OFF") +endif() string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" ENABLE_SHARED) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH}/source - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/source" OPTIONS - -DENABLE_ASSEMBLY=${ENABLE_ASSEMBLY} + ${OPTIONS} -DENABLE_SHARED=${ENABLE_SHARED} + -DENABLE_PIC=ON + -DENABLE_LIBNUMA=OFF + "-DVERSION=${VERSION}" OPTIONS_DEBUG -DENABLE_CLI=OFF + MAYBE_UNUSED_VARIABLES + ENABLE_LIBNUMA ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() -# remove duplicated include files -if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +if("tool" IN_LIST FEATURES) + vcpkg_copy_tools(TOOL_NAMES x265 AUTO_CLEAN) endif() -vcpkg_copy_tools(TOOL_NAMES x265 AUTO_CLEAN) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static" OR VCPKG_TARGET_IS_LINUX) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin) +if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/x265.h" "#ifdef X265_API_IMPORTS" "#if 1") endif() -if(VCPKG_TARGET_IS_WINDOWS AND (NOT VCPKG_TARGET_IS_MINGW)) - if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/x265.pc" "-lx265" "-lx265-static") - endif() - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/x265.pc" "-lx265" "-lx265-static") - endif() - endif() -endif() - -# maybe create vcpkg_regex_replace_string? - -if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - file(READ ${CURRENT_PACKAGES_DIR}/lib/pkgconfig/x265.pc _contents) - string(REGEX REPLACE "-l(std)?c\\+\\+" "" _contents "${_contents}") - file(WRITE ${CURRENT_PACKAGES_DIR}/lib/pkgconfig/x265.pc "${_contents}") -endif() - -if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(READ ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/x265.pc _contents) - string(REGEX REPLACE "-l(std)?c\\+\\+" "" _contents "${_contents}") - file(WRITE ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/x265.pc "${_contents}") -endif() - -if(VCPKG_TARGET_IS_MINGW AND ENABLE_SHARED) - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/libx265.a) - endif() - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/libx265.a) - endif() -endif() - -if(UNIX) - foreach(FILE "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/x265.pc" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/x265.pc") - if(EXISTS "${FILE}") - file(READ "${FILE}" _contents) - string(REPLACE " -lstdc++" "" _contents "${_contents}") - string(REPLACE " -lc++" "" _contents "${_contents}") - string(REPLACE " -lgcc_s" "" _contents "${_contents}") - string(REPLACE " -lgcc" "" _contents "${_contents}") - string(REPLACE " -lrt" "" _contents "${_contents}") - file(WRITE "${FILE}" "${_contents}") - endif() - endforeach() - vcpkg_fixup_pkgconfig(SYSTEM_LIBRARIES numa) -else() - vcpkg_fixup_pkgconfig() -endif() +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -# Handle copyright -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/x265/pthread.diff b/ports/x265/pthread.diff new file mode 100644 index 00000000000000..890d774ee8159e --- /dev/null +++ b/ports/x265/pthread.diff @@ -0,0 +1,24 @@ +diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt +index a407271..f147d37 100755 +--- a/source/CMakeLists.txt ++++ b/source/CMakeLists.txt +@@ -85,6 +85,9 @@ else() + endif() + + if(UNIX) ++ set(THREADS_PREFER_PTHREAD_FLAG 1) ++ find_package(Threads) ++ add_library(pthread ALIAS Threads::Threads) + list(APPEND PLATFORM_LIBS pthread) + find_library(LIBRT rt) + if(LIBRT) +@@ -705,6 +708,9 @@ if(X265_LATEST_TAG) + list(REMOVE_ITEM PLIBLIST "-lc" "-lpthread" "-lmingwex" "-lmingwthrd" + "-lmingw32" "-lmoldname" "-lmsvcrt" "-ladvapi32" "-lshell32" + "-luser32" "-lkernel32") ++ if(UNIX) ++ list(APPEND PLIBLIST ${CMAKE_THREAD_LIBS_INIT}) ++ endif() + string(REPLACE ";" " " PRIVATE_LIBS "${PLIBLIST}") + else() + set(PRIVATE_LIBS "") diff --git a/ports/x265/vcpkg.json b/ports/x265/vcpkg.json index cc19a6f2b9ab02..a56f59948f1279 100644 --- a/ports/x265/vcpkg.json +++ b/ports/x265/vcpkg.json @@ -1,8 +1,20 @@ { "name": "x265", - "version-string": "3.4", - "port-version": 5, + "version": "3.6", "description": "x265 is a H.265 / HEVC video encoder application library, designed to encode video or images into an H.265 / HEVC encoded bitstream.", - "homepage": "https://github.com/videolan/x265", - "supports": "!(uwp | arm)" + "homepage": "https://bitbucket.org/multicoreware/x265_git/", + "license": "GPL-2.0-or-later", + "supports": "!uwp & !xbox", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ], + "features": { + "tool": { + "description": "Build the command line tool", + "supports": "!uwp" + } + } } diff --git a/ports/x265/version.patch b/ports/x265/version.patch new file mode 100644 index 00000000000000..b9cb75a51a52e3 --- /dev/null +++ b/ports/x265/version.patch @@ -0,0 +1,16 @@ +diff --git a/source/cmake/Version.cmake b/source/cmake/Version.cmake +index 3bbf42f..e77f639 100644 +--- a/source/cmake/Version.cmake ++++ b/source/cmake/Version.cmake +@@ -28,6 +28,11 @@ + set(X265_VERSION "unknown") + set(X265_LATEST_TAG "0.0") + set(X265_TAG_DISTANCE "0") ++if(VERSION) ++ set(X265_VERSION "${VERSION}-vcpkg") ++ set(X265_LATEST_TAG "${VERSION}") ++ return() ++endif() + + #Find version control software to be used for live and extracted repositories from compressed tarballs + if(CMAKE_VERSION VERSION_LESS "2.8.10") diff --git a/ports/x86-simd-sort/portfile.cmake b/ports/x86-simd-sort/portfile.cmake new file mode 100644 index 00000000000000..ba38758557a856 --- /dev/null +++ b/ports/x86-simd-sort/portfile.cmake @@ -0,0 +1,11 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO intel/x86-simd-sort + REF "v${VERSION}" + SHA512 8e7a1929b7234399d8ac30cd296b69efdfc0d9d03a91507f3b4e06f486b6b715199b35e0495f330c21b70165bcab48842cd7c0a887df4e6508b6151ad1dc9c2a + HEAD_REF master +) + +file(COPY "${SOURCE_PATH}/src/" DESTINATION "${CURRENT_PACKAGES_DIR}/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.md") diff --git a/ports/x86-simd-sort/vcpkg.json b/ports/x86-simd-sort/vcpkg.json new file mode 100644 index 00000000000000..edc1a146acbe18 --- /dev/null +++ b/ports/x86-simd-sort/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "x86-simd-sort", + "version": "5.0", + "description": "C++ header file library for high-performance SIMD-based sorting algorithms for primitive datatypes", + "homepage": "https://github.com/intel/x86-simd-sort", + "license": "BSD-3-Clause" +} diff --git a/ports/xalan-c/fix-linux-no-bin.patch b/ports/xalan-c/fix-linux-no-bin.patch deleted file mode 100644 index 3d468a1c58be96..00000000000000 --- a/ports/xalan-c/fix-linux-no-bin.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff --git a/src/xalanc/Utils/CMakeLists.txt b/src/xalanc/Utils/CMakeLists.txt -index 2d78685..72b611b 100644 ---- a/src/xalanc/Utils/CMakeLists.txt -+++ b/src/xalanc/Utils/CMakeLists.txt -@@ -41,11 +41,15 @@ add_custom_target(locale ALL) - set_target_properties(locale PROPERTIES FOLDER "Message Library") - - # workaround for case of missing xerces-c dll -+if(CMAKE_HOST_WIN32) - if(EXISTS ${XercesC_INCLUDE_DIR}/../bin) - set(MsgCreator_WD $/../bin) - else() - set(MsgCreator_WD "${XSL_NLS_GEN_DIR}") - endif() -+else() -+ set(MsgCreator_WD "${PROJECT_BINARY_DIR}") -+endif() - - if(msgloader STREQUAL "inmemory") - add_custom_command( diff --git a/ports/xalan-c/fix-missing-dll-error.patch b/ports/xalan-c/fix-missing-dll-error.patch deleted file mode 100644 index db49a2be67dadd..00000000000000 --- a/ports/xalan-c/fix-missing-dll-error.patch +++ /dev/null @@ -1,48 +0,0 @@ -diff --git a/src/xalanc/Utils/CMakeLists.txt b/src/xalanc/Utils/CMakeLists.txt -index dc39ad0..2d78685 100644 ---- a/src/xalanc/Utils/CMakeLists.txt -+++ b/src/xalanc/Utils/CMakeLists.txt -@@ -40,6 +40,13 @@ set(SUPPORTMSGINDEX "${GEN_SUPPORTDIR}/LocalMsgIndex.hpp") - add_custom_target(locale ALL) - set_target_properties(locale PROPERTIES FOLDER "Message Library") - -+# workaround for case of missing xerces-c dll -+if(EXISTS ${XercesC_INCLUDE_DIR}/../bin) -+ set(MsgCreator_WD $/../bin) -+else() -+ set(MsgCreator_WD "${XSL_NLS_GEN_DIR}") -+endif() -+ - if(msgloader STREQUAL "inmemory") - add_custom_command( - OUTPUT "${GENMSGINDEX}" -@@ -48,7 +55,8 @@ if(msgloader STREQUAL "inmemory") - "${XLIFF_FILE_NAME}" - -TYPE inmem - -LOCALE ${LOCALE} -- WORKING_DIRECTORY "${XSL_NLS_GEN_DIR}" -+ -OUTDIR "${XSL_NLS_GEN_DIR}" -+ WORKING_DIRECTORY "${MsgCreator_WD}" - COMMENT "Generating inmemory locale message data" - DEPENDS MsgCreator "${XLIFF_FILE_NAME}") - -@@ -92,7 +100,8 @@ if(msgloader STREQUAL "icu") - "${XLIFF_FILE_NAME}" - -TYPE icu - -LOCALE ${LOCALE} -- WORKING_DIRECTORY "${XSL_NLS_GEN_DIR}" -+ -OUTDIR "${XSL_NLS_GEN_DIR}" -+ WORKING_DIRECTORY "${MsgCreator_WD}" - COMMENT "Generating ICU locale message data" - DEPENDS MsgCreator "${XLIFF_FILE_NAME}") - -@@ -141,7 +150,8 @@ if(msgloader STREQUAL "nls") - "${XLIFF_FILE_NAME}" - -TYPE nls - -LOCALE ${LOCALE} -- WORKING_DIRECTORY "${XSL_NLS_GEN_DIR}" -+ -OUTDIR "${XSL_NLS_GEN_DIR}" -+ WORKING_DIRECTORY "${MsgCreator_WD}" - COMMENT "Generating nls locale message data" - DEPENDS MsgCreator "${XLIFF_FILE_NAME}") - diff --git a/ports/xalan-c/fix-win-deprecated-err.patch b/ports/xalan-c/fix-win-deprecated-err.patch deleted file mode 100644 index 1484f4e2764996..00000000000000 --- a/ports/xalan-c/fix-win-deprecated-err.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/src/xalanc/Utils/MsgCreator/CMakeLists.txt b/src/xalanc/Utils/MsgCreator/CMakeLists.txt -index 20215d4..dc74c1b 100644 ---- a/src/xalanc/Utils/MsgCreator/CMakeLists.txt -+++ b/src/xalanc/Utils/MsgCreator/CMakeLists.txt -@@ -37,6 +37,10 @@ set(msgcreator_headers - NLSHandler.hpp - SAX2Handler.hpp) - -+if(MSVC) -+ add_definitions(-D_CRT_SECURE_NO_WARNINGS=1) -+endif() -+ - add_executable(MsgCreator ${msgcreator_sources} ${msgcreator_headers}) - target_include_directories(MsgCreator PUBLIC - $ diff --git a/ports/xalan-c/portfile.cmake b/ports/xalan-c/portfile.cmake deleted file mode 100644 index 6fa5ca3ab6b69a..00000000000000 --- a/ports/xalan-c/portfile.cmake +++ /dev/null @@ -1,40 +0,0 @@ -vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO apache/xalan-c - REF 4055bb0c58e3053b04fcd0c68fdcda8f84411213 #1.12 - SHA512 0d591f5a07dbc69050c7b696189c46a32e6dd7a80a302fd38dcc82f9454688729e361c4d5c3b0aacfc3acc7df78c0981ba54eb3ce82b1ca6566a30aa19648280 - PATCHES - fix-win-deprecated-err.patch - fix-missing-dll-error.patch - fix-linux-no-bin.patch -) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_ICU=ON -) - -vcpkg_install_cmake() -vcpkg_copy_tools(TOOL_NAMES Xalan AUTO_CLEAN) - -if(EXISTS ${CURRENT_PACKAGES_DIR}/cmake) - vcpkg_fixup_cmake_targets(CONFIG_PATH cmake TARGET_PATH share/xalanc) -else() - vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/XalanC TARGET_PATH share/xalanc) -endif() - -# cleanup -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_copy_pdbs() - -vcpkg_fixup_pkgconfig() diff --git a/ports/xalan-c/vcpkg.json b/ports/xalan-c/vcpkg.json deleted file mode 100644 index 425d9bfd286891..00000000000000 --- a/ports/xalan-c/vcpkg.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name": "xalan-c", - "version": "1.12", - "port-version": 1, - "description": "Xalan is an XSLT processor for transforming XML documents into HTML, text, or other XML document types", - "homepage": "https://github.com/apache/xalan-c", - "dependencies": [ - "xerces-c" - ] -} diff --git a/ports/xapian/configure.diff b/ports/xapian/configure.diff new file mode 100644 index 00000000000000..9c2ce041af6b6b --- /dev/null +++ b/ports/xapian/configure.diff @@ -0,0 +1,23 @@ +diff --git a/configure.ac b/configure.ac +index ca5b7b2..b059402 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -870,6 +870,7 @@ case $enable_backend_chert$enable_backend_glass in + dnl + dnl Similarly for uuid support. + ++ if false; then + dnl Check for zlib.h. + AC_CHECK_HEADERS([zlib.h], [], [ + AC_MSG_ERROR([zlib.h not found - required for chert and glass (you may need to install the zlib1g-dev or zlib-devel package)]) +@@ -879,6 +880,10 @@ case $enable_backend_chert$enable_backend_glass in + AC_SEARCH_LIBS([zlibVersion], [z zlib zdll], [], [ + AC_MSG_ERROR([zlibVersion() not found in -lz, -lzlib, or -lzdll - required for chert and glass (you may need to install the zlib1g-dev or zlib-devel package)]) + ]) ++ fi ++ PKG_CHECK_MODULES([ZLIB], [zlib], [],[AC_MSG_ERROR([zlib library not found])]) ++ CFLAGS="$LIBS $ZLIB_CFLAGS" ++ LIBS="$ZLIB_LIBS $LIBS" + + dnl Find a way to generate UUIDs. + diff --git a/ports/xapian/msvc-no-debug.diff b/ports/xapian/msvc-no-debug.diff new file mode 100644 index 00000000000000..1d41a3201a292b --- /dev/null +++ b/ports/xapian/msvc-no-debug.diff @@ -0,0 +1,13 @@ +diff --git a/include/xapian/version_h.cc b/include/xapian/version_h.cc +index b36ae4d..c61e31a 100644 +--- a/include/xapian/version_h.cc ++++ b/include/xapian/version_h.cc +@@ -75,7 +75,7 @@ const char * dummy[] = { + "#endif", + "#endif", + "", +-#elif defined _MSC_VER ++#elif 0 + // When building the library with MSVC, generate preprocessor code to check + // that the same setting of _DEBUG is used for building applications as was + // used for building the library. diff --git a/ports/xapian/portfile.cmake b/ports/xapian/portfile.cmake new file mode 100644 index 00000000000000..2d432e81dfc0e9 --- /dev/null +++ b/ports/xapian/portfile.cmake @@ -0,0 +1,44 @@ +vcpkg_download_distfile(ARCHIVE + URLS "https://oligarchy.co.uk/xapian/${VERSION}/xapian-core-${VERSION}.tar.xz" + FILENAME "xapian-core-${VERSION}.tar.xz" + SHA512 60d66adbacbd59622d25e392060984bd1dc6c870f9031765f54cb335fb29f72f6d006d27af82a50c8da2cfbebd08dac4503a8afa8ad51bc4e6fa9cb367a59d29 +) + +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" + PATCHES + configure.diff + msvc-no-debug.diff +) + +set(OPTIONS "") +if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") + list(APPEND OPTIONS + ac_cv_have_decl___popcnt=no + ac_cv_have_decl___popcnt64=no + ) +endif() + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG + USE_WRAPPERS + OPTIONS + ${OPTIONS} +) + +vcpkg_install_make() + +vcpkg_fixup_pkgconfig() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/xapian) + +if(NOT VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_MINGW) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin/xapian-config" "\"${CURRENT_INSTALLED_DIR}\"" "`dirname $0`/../../..") + if(NOT VCPKG_BUILD_TYPE) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug/bin/xapian-config" "\"${CURRENT_INSTALLED_DIR}/debug\"" "`dirname $0`/../../../../debug") + endif() +endif() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/xapian/vcpkg.json b/ports/xapian/vcpkg.json new file mode 100644 index 00000000000000..33bf4ffd58ed14 --- /dev/null +++ b/ports/xapian/vcpkg.json @@ -0,0 +1,16 @@ +{ + "name": "xapian", + "version": "1.4.22", + "port-version": 2, + "description": "Xapian is an Open Source Search Engine Library, released under the GPL v2+. It's written in C++, with bindings to allow use from Perl, Python 2, Python 3, PHP 5, PHP 7, Java, Tcl, C#, Ruby, Lua, Erlang, Node.js and R (so far!)", + "homepage": "https://xapian.org/", + "license": "GPL-2.0-or-later", + "supports": "(!arm | arm64) & !uwp & !xbox", + "dependencies": [ + { + "name": "vcpkg-cmake-config", + "host": true + }, + "zlib" + ] +} diff --git a/ports/xaudio2redist/Findxaudio2redist.cmake b/ports/xaudio2redist/Findxaudio2redist.cmake deleted file mode 100644 index 18de7bfa40803e..00000000000000 --- a/ports/xaudio2redist/Findxaudio2redist.cmake +++ /dev/null @@ -1,54 +0,0 @@ -include(${CMAKE_ROOT}/Modules/FindPackageHandleStandardArgs.cmake) - -set(XAUDIO2REDIST_VERSION "1.2.8") - -if(NOT xaudio2redist_INCLUDE_DIR) - find_path(xaudio2redist_INCLUDE_DIR - NAMES xaudio2redist.h - PATH_SUFFIXES xaudio2redist) -endif() - -find_package_handle_standard_args(xaudio2redist - REQUIRED_VARS xaudio2redist_INCLUDE_DIR - VERSION_VAR XAUDIO2REDIST_VERSION) -mark_as_advanced(xaudio2redist_INCLUDE_DIR) - -string(REPLACE "/include/xaudio2redist" "/lib" xaudio2redist_LIB_DIR ${xaudio2redist_INCLUDE_DIR}) -string(REPLACE "/include/xaudio2redist" "/bin" xaudio2redist_BIN_DIR ${xaudio2redist_INCLUDE_DIR}) -string(REPLACE "/include/xaudio2redist" "/debug/lib" xaudio2redist_DEBUG_LIB_DIR ${xaudio2redist_INCLUDE_DIR}) -string(REPLACE "/include/xaudio2redist" "/debug/bin" xaudio2redist_DEBUG_BIN_DIR ${xaudio2redist_INCLUDE_DIR}) - -if(XAUDIO2REDIST_FOUND AND NOT TARGET Microsoft::XAudio2Redist) - set(XAUDIO2_RELEASE_LIB "${xaudio2redist_LIB_DIR}/xaudio2_9redist.lib") - set(XAUDIO2_RELEASE_DLL "${xaudio2redist_BIN_DIR}/xaudio2_9redist.dll") - - set(XAUDIO2_DEBUG_LIB "${xaudio2redist_DEBUG_LIB_DIR}/xaudio2_9redist.lib") - set(XAUDIO2_DEBUG_DLL "${xaudio2redist_DEBUG_BIN_DIR}/xaudio2_9redist.dll") - - add_library(Microsoft::XAudio2Redist SHARED IMPORTED) - set_target_properties(Microsoft::XAudio2Redist PROPERTIES - IMPORTED_LOCATION_RELEASE "${XAUDIO2_RELEASE_DLL}" - IMPORTED_IMPLIB_RELEASE "${XAUDIO2_RELEASE_LIB}" - IMPORTED_LOCATION_DEBUG "${XAUDIO2_DEBUG_DLL}" - IMPORTED_IMPLIB_DEBUG "${XAUDIO2_DEBUG_LIB}" - INTERFACE_INCLUDE_DIRECTORIES "${xaudio2redist_INCLUDE_DIR}" - IMPORTED_CONFIGURATIONS "Debug;Release" - IMPORTED_LINK_INTERFACE_LANGUAGES "C") -endif() - -if(XAUDIO2REDIST_FOUND AND NOT TARGET Microsoft::XApoBase) - set(XAPOBASE_RELEASE_LIB "${xaudio2redist_LIB_DIR}/xapobaseredist_md.lib") - set(XAPOBASE_DEBUG_LIB "${xaudio2redist_DEBUG_LIB_DIR}/xapobaseredist_md.lib") - - if(NOT EXISTS ${XAPOBASE_RELEASE_LIB}) - set(XAPOBASE_RELEASE_LIB "${xaudio2redist_LIB_DIR}/xapobaseredist.lib") - set(XAPOBASE_DEBUG_LIB "${xaudio2redist_DEBUG_LIB_DIR}/xapobaseredist.lib") - endif() - - add_library(Microsoft::XApoBase STATIC IMPORTED) - set_target_properties(Microsoft::XApoBase PROPERTIES - IMPORTED_LOCATION_RELEASE "${XAPOBASE_RELEASE_LIB}" - IMPORTED_LOCATION_DEBUG "${XAPOBASE_DEBUG_LIB}" - INTERFACE_INCLUDE_DIRECTORIES "${xaudio2redist_INCLUDE_DIR}" - IMPORTED_CONFIGURATIONS "Debug;Release") -endif() diff --git a/ports/xaudio2redist/portfile.cmake b/ports/xaudio2redist/portfile.cmake index 2e8b479ca2a813..ab767efafd2a6e 100644 --- a/ports/xaudio2redist/portfile.cmake +++ b/ports/xaudio2redist/portfile.cmake @@ -1,37 +1,54 @@ -vcpkg_fail_port_install(ON_ARCH "arm" "arm64" ON_TARGET "UWP" "Linux" "OSX") -vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) +set(VCPKG_POLICY_DLLS_IN_STATIC_LIBRARY enabled) vcpkg_download_distfile(ARCHIVE - URLS "https://www.nuget.org/api/v2/package/Microsoft.XAudio2.Redist/1.2.8" - FILENAME "xaudio2redist.1.2.8.zip" - SHA512 509b2783457b86ed1878fd4e14a01fa7288591925a2bb3cad4d68afd597fbff1f1349b619dad628b5d685169825a775120e1611559e9097837cff0fb6d39acf0 + URLS "https://www.nuget.org/api/v2/package/Microsoft.XAudio2.Redist/${VERSION}" + FILENAME "xaudio2redist.${VERSION}.zip" + SHA512 5eae9c94710ba6e51045e6f9dbe381bdfe76184a4272f561976582e8f585ef8343df9f6eaa2d391bfda06796000bc13ccb0f5bf112d7f2c7865f75ab0e89ab56 ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH PACKAGE_PATH +vcpkg_extract_source_archive( + PACKAGE_PATH ARCHIVE ${ARCHIVE} NO_REMOVE_ONE_LEVEL ) +if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + set(XAUDIO_ARCH x86) +else() + set(XAUDIO_ARCH x64) +endif() + file(GLOB HEADER_FILES "${PACKAGE_PATH}/build/native/include/*.h") file(INSTALL ${HEADER_FILES} DESTINATION "${CURRENT_PACKAGES_DIR}/include/${PORT}") -file(INSTALL "${PACKAGE_PATH}/build/native/release/lib/${VCPKG_TARGET_ARCHITECTURE}/xaudio2_9redist.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/lib") -file(INSTALL "${PACKAGE_PATH}/build/native/debug/lib/${VCPKG_TARGET_ARCHITECTURE}/xaudio2_9redist.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") +file(INSTALL "${PACKAGE_PATH}/build/native/release/lib/${XAUDIO_ARCH}/xaudio2_9redist.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/lib") -if(VCPKG_CRT_LINKAGE STREQUAL dynamic) - file(INSTALL "${PACKAGE_PATH}/build/native/debug/lib/${VCPKG_TARGET_ARCHITECTURE}/xapobaseredist_md.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") - file(INSTALL "${PACKAGE_PATH}/build/native/release/lib/${VCPKG_TARGET_ARCHITECTURE}/xapobaseredist_md.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/lib") +if(VCPKG_CRT_LINKAGE STREQUAL "dynamic") + file(INSTALL "${PACKAGE_PATH}/build/native/release/lib/${XAUDIO_ARCH}/xapobaseredist_md.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/lib") + set(lib_suffix "_md") else() - file(INSTALL "${PACKAGE_PATH}/build/native/release/lib/${VCPKG_TARGET_ARCHITECTURE}/xapobaseredist.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/lib") - file(INSTALL "${PACKAGE_PATH}/build/native/debug/lib/${VCPKG_TARGET_ARCHITECTURE}/xapobaseredist.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") + file(INSTALL "${PACKAGE_PATH}/build/native/release/lib/${XAUDIO_ARCH}/xapobaseredist.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/lib") + set(lib_suffix "") endif() -file(COPY "${PACKAGE_PATH}/build/native/release/bin/${VCPKG_TARGET_ARCHITECTURE}/xaudio2_9redist.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/bin") -file(COPY "${PACKAGE_PATH}/build/native/debug/bin/${VCPKG_TARGET_ARCHITECTURE}/xaudio2_9redist.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin") +file(INSTALL "${PACKAGE_PATH}/build/native/release/bin/${XAUDIO_ARCH}/xaudio2_9redist.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/bin") + +if(NOT DEFINED VCPKG_BUILD_TYPE) + file(INSTALL "${PACKAGE_PATH}/build/native/debug/lib/${XAUDIO_ARCH}/xaudio2_9redist.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") + + if(VCPKG_CRT_LINKAGE STREQUAL "dynamic") + file(INSTALL "${PACKAGE_PATH}/build/native/debug/lib/${XAUDIO_ARCH}/xapobaseredist_md.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") + else() + file(INSTALL "${PACKAGE_PATH}/build/native/debug/lib/${XAUDIO_ARCH}/xapobaseredist.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") + endif() + + file(INSTALL "${PACKAGE_PATH}/build/native/debug/bin/${XAUDIO_ARCH}/xaudio2_9redist.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin") +endif() -file(INSTALL "${PACKAGE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +configure_file("${CMAKE_CURRENT_LIST_DIR}/xaudio2redist-config.cmake.in" + "${CURRENT_PACKAGES_DIR}/share/${PORT}/${PORT}-config.cmake" + @ONLY) -file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/Findxaudio2redist.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 "${PACKAGE_PATH}/LICENSE.txt") diff --git a/ports/xaudio2redist/usage b/ports/xaudio2redist/usage new file mode 100644 index 00000000000000..6c0f1c23f77974 --- /dev/null +++ b/ports/xaudio2redist/usage @@ -0,0 +1,4 @@ +The XAudio2 redistributable package provides CMake targets + + find_package(xaudio2redist CONFIG REQUIRED) + target_link_libraries(main PRIVATE Microsoft::XAudio2Redist) diff --git a/ports/xaudio2redist/vcpkg-cmake-wrapper.cmake b/ports/xaudio2redist/vcpkg-cmake-wrapper.cmake deleted file mode 100644 index 32610b66f9fee4..00000000000000 --- a/ports/xaudio2redist/vcpkg-cmake-wrapper.cmake +++ /dev/null @@ -1,11 +0,0 @@ -message(STATUS "Using VCPKG Findxaudio2redist") -set(XAUDIO2_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 ${XAUDIO2_PREV_MODULE_PATH}) diff --git a/ports/xaudio2redist/vcpkg.json b/ports/xaudio2redist/vcpkg.json index cb596c2fa7dbfa..a01c62d49c6679 100644 --- a/ports/xaudio2redist/vcpkg.json +++ b/ports/xaudio2redist/vcpkg.json @@ -1,7 +1,10 @@ { "name": "xaudio2redist", - "version-string": "1.2.8", + "version": "1.2.11", + "port-version": 4, "description": "Redistributable version of XAudio 2.9 for Windows 7 SP1 or later", "homepage": "https://aka.ms/XAudio2Redist", - "supports": "windows & !arm & !uwp & !static" + "documentation": "https://aka.ms/XAudio2Redist", + "license": null, + "supports": "windows & !arm & !uwp & !xbox" } diff --git a/ports/xaudio2redist/xaudio2redist-config.cmake.in b/ports/xaudio2redist/xaudio2redist-config.cmake.in new file mode 100644 index 00000000000000..4829ec4947f33d --- /dev/null +++ b/ports/xaudio2redist/xaudio2redist-config.cmake.in @@ -0,0 +1,34 @@ + +get_filename_component(_xaudio2_root "${CMAKE_CURRENT_LIST_DIR}" PATH) +get_filename_component(_xaudio2_root "${_xaudio2_root}" PATH) + +set(_xaudio2_root_lib "${_xaudio2_root}/lib/xaudio2_9redist.lib") +if (EXISTS "${_xaudio2_root_lib}") + + add_library(Microsoft::XAudio2Redist SHARED IMPORTED) + set_target_properties(Microsoft::XAudio2Redist PROPERTIES + IMPORTED_LOCATION_RELEASE "${_xaudio2_root}/bin/xaudio2_9redist.dll" + IMPORTED_IMPLIB_RELEASE "${_xaudio2_root_lib}" + IMPORTED_LOCATION_DEBUG "${_xaudio2_root}/debug/bin/xaudio2_9redist.dll" + IMPORTED_IMPLIB_DEBUG "${_xaudio2_root}/debug/lib/xaudio2_9redist.lib" + INTERFACE_INCLUDE_DIRECTORIES "${_xaudio2_root}/include/xaudio2redist" + IMPORTED_CONFIGURATIONS "Debug;Release" + IMPORTED_LINK_INTERFACE_LANGUAGES "C") + + add_library(Microsoft::XApoBase STATIC IMPORTED) + set_target_properties(Microsoft::XApoBase PROPERTIES + IMPORTED_LOCATION_RELEASE "${_xaudio2_root}/lib/xapobaseredist@lib_suffix@.lib" + IMPORTED_LOCATION_DEBUG "${_xaudio2_root}/debug/lib/xapobaseredist@lib_suffix@.lib" + INTERFACE_INCLUDE_DIRECTORIES "${_xaudio2_root}/include/xaudio2redist" + IMPORTED_CONFIGURATIONS "Debug;Release") + + set(xaudio2redist_FOUND TRUE) + +else() + + set(xaudio2redist_FOUND FALSE) + +endif() + +unset(_xaudio2_root_lib) +unset(_xaudio2_root) diff --git a/ports/xbitmaps/portfile.cmake b/ports/xbitmaps/portfile.cmake new file mode 100644 index 00000000000000..a2617b12b68606 --- /dev/null +++ b/ports/xbitmaps/portfile.cmake @@ -0,0 +1,24 @@ +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.freedesktop.org/xorg + OUT_SOURCE_PATH SOURCE_PATH + REPO data/bitmaps + REF 61eebdfde170841ae933cf65ba27346fbf2f8018 + SHA512 dd8acefc6f96d65e4b5d4807221aa3b87faca7b8b50e9de76081351503c9abb127a3063f3bb23ca71a0e3521640e7fdf7686e33cca5c7b7ad8d67a7ac26e65b5 + HEAD_REF master +) + +set(ENV{ACLOCAL} "aclocal -I \"${CURRENT_INSTALLED_DIR}/share/xorg/aclocal/\"") + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG +) +vcpkg_install_make() +file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/share/pkgconfig/") +file(RENAME "${CURRENT_PACKAGES_DIR}/share/${PORT}/pkgconfig/xbitmaps.pc" "${CURRENT_PACKAGES_DIR}/share/pkgconfig/xbitmaps.pc") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/${PORT}/pkgconfig/") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") +vcpkg_fixup_pkgconfig() + +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +file(TOUCH "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage") diff --git a/ports/xbitmaps/vcpkg.json b/ports/xbitmaps/vcpkg.json new file mode 100644 index 00000000000000..d93fdddf621a0d --- /dev/null +++ b/ports/xbitmaps/vcpkg.json @@ -0,0 +1,10 @@ +{ + "name": "xbitmaps", + "version": "1.1.2", + "description": "X BitMap (XBM) format bitmaps commonly used in X.Org applications", + "homepage": "https://gitlab.freedesktop.org/xorg/data/bitmaps", + "license": null, + "dependencies": [ + "xorg-macros" + ] +} diff --git a/ports/xbyak/portfile.cmake b/ports/xbyak/portfile.cmake index 2bfc9ff8fcc4ae..57e48217b8328e 100644 --- a/ports/xbyak/portfile.cmake +++ b/ports/xbyak/portfile.cmake @@ -1,21 +1,20 @@ -vcpkg_fail_port_install(ON_ARCH "arm" ON_TARGET "uwp") - +string(REGEX REPLACE "^([0-9]+)[.]([1-9])\$" "\\1.0\\2" VERSION_STR "${VERSION}") vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO herumi/xbyak - REF v6.00 - SHA512 8bea95ddb44be39312083173cd4401039bd402c4732d97f9ff63174f6db29793f80dc1f1589d64bd96b4b13af819133897cd9843523662d13d57158c3837a778 + REF "v${VERSION_STR}" + SHA512 d4fc99482762eae57ded3c59b1d753bf54563f4273ec30a03a96d72203812616e26bf6237e369ff363e58f3c127723f97c29d7033c0f3319f606460d2a56e432 HEAD_REF master ) vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}") vcpkg_cmake_install() -vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${PORT}") +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/xbyak") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug" "${CURRENT_PACKAGES_DIR}/lib" ) -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/xbyak/vcpkg.json b/ports/xbyak/vcpkg.json index cf7a9efbd38895..4e46d7abf42cf7 100644 --- a/ports/xbyak/vcpkg.json +++ b/ports/xbyak/vcpkg.json @@ -1,8 +1,9 @@ { "name": "xbyak", - "version-string": "6.00", + "version": "7.7", "description": "Xbyak is a JIT assembler for x86(IA-32)/x64(AMD64, x86-64).", "homepage": "https://github.com/herumi/xbyak", + "license": "BSD-3-Clause", "supports": "!(arm | uwp)", "dependencies": [ { diff --git a/ports/xcb-image/add_return_value.patch b/ports/xcb-image/add_return_value.patch new file mode 100644 index 00000000000000..5c3a1db0f3a861 --- /dev/null +++ b/ports/xcb-image/add_return_value.patch @@ -0,0 +1,13 @@ +diff --git a/image/xcb_bitops.h b/image/xcb_bitops.h +index a6872a1f3..bf6fdc179 100644 +--- a/image/xcb_bitops.h ++++ b/image/xcb_bitops.h +@@ -207,6 +207,8 @@ xcb_host_byte_order(void) { + return XCB_IMAGE_ORDER_LSB_FIRST; + } + assert(0); ++ exit(EXIT_FAILURE); ++ return -1; + } + + #endif /* __XCB_BITOPS_H__ */ diff --git a/ports/xcb-image/portfile.cmake b/ports/xcb-image/portfile.cmake new file mode 100644 index 00000000000000..2e612e547dc747 --- /dev/null +++ b/ports/xcb-image/portfile.cmake @@ -0,0 +1,30 @@ +if(NOT X_VCPKG_FORCE_VCPKG_X_LIBRARIES AND NOT VCPKG_TARGET_IS_WINDOWS) + message(STATUS "Utils and libraries provided by '${PORT}' should be provided by your system! Install the required packages or force vcpkg libraries by setting X_VCPKG_FORCE_VCPKG_X_LIBRARIES in your triplet!") + set(VCPKG_POLICY_EMPTY_PACKAGE enabled) +else() + +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.freedesktop.org/xorg + OUT_SOURCE_PATH SOURCE_PATH + REPO lib/libxcb-image + REF 525ce59fe2329d4b23fc0c52ed9dd92daac8ac2a #v 0.4.1 + SHA512 e91471c45983bb3a56fb96a9ab627a5b65fcbc21424f62bed10dba283c97fdd6475d4f380d268a30a99b6544bc804f8263e7b945a4c4d22c79535e3c3b1e10db + HEAD_REF master + PATCHES add_return_value.patch +) +file(TOUCH "${SOURCE_PATH}/m4/dummy") +set(ENV{ACLOCAL} "aclocal -I \"${CURRENT_INSTALLED_DIR}/share/xorg/aclocal/\"") + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG +) + +vcpkg_install_make() +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +endif() diff --git a/ports/xcb-image/vcpkg.json b/ports/xcb-image/vcpkg.json new file mode 100644 index 00000000000000..299921b12f4791 --- /dev/null +++ b/ports/xcb-image/vcpkg.json @@ -0,0 +1,11 @@ +{ + "name": "xcb-image", + "version": "0.4.1", + "description": "XCB port of Xlib's XImage and XShmImage functions.", + "homepage": "https://xcb.freedesktop.org/", + "license": null, + "dependencies": [ + "xcb", + "xcb-util" + ] +} diff --git a/ports/xcb-keysyms/portfile.cmake b/ports/xcb-keysyms/portfile.cmake new file mode 100644 index 00000000000000..a624dac0f87d54 --- /dev/null +++ b/ports/xcb-keysyms/portfile.cmake @@ -0,0 +1,29 @@ +if(NOT X_VCPKG_FORCE_VCPKG_X_LIBRARIES AND NOT VCPKG_TARGET_IS_WINDOWS) + message(STATUS "Utils and libraries provided by '${PORT}' should be provided by your system! Install the required packages or force vcpkg libraries by setting X_VCPKG_FORCE_VCPKG_X_LIBRARIES in your triplet!") + set(VCPKG_POLICY_EMPTY_PACKAGE enabled) +else() + +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.freedesktop.org/xorg + OUT_SOURCE_PATH SOURCE_PATH + REPO lib/libxcb-keysyms + REF 85e093f14b0ade2956e0a5d1c37cfde06d8b1ba6 #v 0.4.1 + SHA512 cee1224ba673c637d20387d22d445be92970dd1b169247550befe64908e1b7f8cc4311018b7e7854e46ccaa62b8c6258293dcb144a94e320bee5a1e060b194f1 + HEAD_REF master +) +file(TOUCH "${SOURCE_PATH}/m4/dummy") +set(ENV{ACLOCAL} "aclocal -I \"${CURRENT_INSTALLED_DIR}/share/xorg/aclocal/\"") + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG +) + +vcpkg_install_make() +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +endif() diff --git a/ports/xcb-keysyms/vcpkg.json b/ports/xcb-keysyms/vcpkg.json new file mode 100644 index 00000000000000..a5eb8ac91de1e1 --- /dev/null +++ b/ports/xcb-keysyms/vcpkg.json @@ -0,0 +1,13 @@ +{ + "name": "xcb-keysyms", + "version": "0.4.1", + "description": "Standard X key constants and conversion to/from keycodes", + "homepage": "https://xcb.freedesktop.org/", + "license": null, + "dependencies": [ + "bzip2", + "xcb", + "xorg-macros", + "xproto" + ] +} diff --git a/ports/xcb-proto/portfile.cmake b/ports/xcb-proto/portfile.cmake new file mode 100644 index 00000000000000..61284a586f14f3 --- /dev/null +++ b/ports/xcb-proto/portfile.cmake @@ -0,0 +1,49 @@ +set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) +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() + +find_program(XMLLINT_PATH NAMES xmllint PATHS "${CURRENT_HOST_INSTALLED_DIR}/tools/libxml2") +if(NOT XMLLINT_PATH) + message(FATAL_ERROR "${PORT} requires xmllint which was not found!") +endif() + +string(REGEX REPLACE "/[^/]+$" "" XMLLINT_DIR "${XMLLINT_PATH}") +file(TO_NATIVE_PATH "${XMLLINT_DIR}" XMLLINT_DIR_NATIVE) +message(STATUS "Using xmlling at: ${XMLLINT_PATH}") +vcpkg_add_to_path("${XMLLINT_DIR_NATIVE}") + +vcpkg_find_acquire_program(PYTHON3) +get_filename_component(PYTHON3_DIR "${PYTHON3}" DIRECTORY) +file(TO_NATIVE_PATH "${PYTHON3_DIR}" PYTHON3_DIR_NATIVE) +vcpkg_add_to_path("${PYTHON3_DIR}") +set(ENV{PYTHON} "${PYTHON3}") + +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.freedesktop.org/xorg + OUT_SOURCE_PATH SOURCE_PATH + REPO proto/xcbproto + REF 70ca65fa35c3760661b090bc4b2601daa7a099b8 #v1.14.1 + patches + SHA512 9e08e1d2ab1fe7a8d3985568918a858ddfb31b8016ccac8ea2447631e7cede3bcc7b1ed86491d497ab871674c9b55d94fab25ee13ff6de9a44590b91d9166fda + HEAD_REF master +) + +set(ENV{ACLOCAL} "aclocal -I \"${CURRENT_INSTALLED_DIR}/share/xorg/aclocal/\"") + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG + OPTIONS + ac_cv_path_PYTHON='${PYTHON3}' + am_cv_python_pyexecdir=\\\${prefix}/${PYTHON3_SITE} + am_cv_python_pythondir=\\\${prefix}/${PYTHON3_SITE} + ) + +vcpkg_install_make() +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") +endif() diff --git a/ports/xcb-proto/vcpkg.json b/ports/xcb-proto/vcpkg.json new file mode 100644 index 00000000000000..24100f36c7fb7d --- /dev/null +++ b/ports/xcb-proto/vcpkg.json @@ -0,0 +1,19 @@ +{ + "name": "xcb-proto", + "version": "1.14.1", + "port-version": 2, + "description": "XML-XCB protocol descriptions used by libxcb for the X11 protocol & extensions", + "homepage": "https://xcb.freedesktop.org/", + "license": "X11-distribute-modifications-variant", + "dependencies": [ + "bzip2", + { + "name": "libxml2", + "host": true, + "features": [ + "tools" + ] + }, + "xorg-macros" + ] +} diff --git a/ports/xcb-render-util/portfile.cmake b/ports/xcb-render-util/portfile.cmake new file mode 100644 index 00000000000000..c15e8e8442c04a --- /dev/null +++ b/ports/xcb-render-util/portfile.cmake @@ -0,0 +1,31 @@ +if(NOT X_VCPKG_FORCE_VCPKG_X_LIBRARIES AND NOT VCPKG_TARGET_IS_WINDOWS) + message(STATUS "Utils and libraries provided by '${PORT}' should be provided by your system! Install the required packages or force vcpkg libraries by setting X_VCPKG_FORCE_VCPKG_X_LIBRARIES") + set(VCPKG_POLICY_EMPTY_PACKAGE enabled) +else() + +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.freedesktop.org/xorg + OUT_SOURCE_PATH SOURCE_PATH + REPO lib/libxcb-render-util + REF 5293d8b6165f23b9f7a8bcc903da0e4d7a75984c #v 0.3.10 + SHA512 ecd1876b62c1345ce3c06ac525f1af4f59dcce3c8d76003c59dd64c80f7787d6d2754c481e585507d6bcaf443026a7aa22ab9eac28b5153eff78d216e53eb29f + HEAD_REF master # branch name + PATCHES pthread.patch # required since this port directly depends on pthread functions. So it has to directly link it! +) +file(TOUCH "${SOURCE_PATH}/m4/dummy") +set(ENV{ACLOCAL} "aclocal -I \"${CURRENT_INSTALLED_DIR}/share/xorg/aclocal/\"") + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG +) + +vcpkg_install_make() +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +# Handle copyright +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +endif() diff --git a/ports/xcb-render-util/pthread.patch b/ports/xcb-render-util/pthread.patch new file mode 100644 index 00000000000000..f045879bdbad64 --- /dev/null +++ b/ports/xcb-render-util/pthread.patch @@ -0,0 +1,28 @@ +diff --git a/configure.ac b/configure.ac +index 803abe77b..7d694e401 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -11,6 +11,7 @@ AM_MAINTAINER_MODE + XCB_UTIL_COMMON([1.4], [1.6]) + + PKG_CHECK_MODULES(XCB_RENDER, xcb-render) ++PKG_CHECK_MODULES(PTHREAD_STUBS, pthread-stubs) + + AC_CONFIG_FILES([Makefile + renderutil/Makefile +diff --git a/renderutil/Makefile.am b/renderutil/Makefile.am +index 3a5179884..d403aa34a 100644 +--- a/renderutil/Makefile.am ++++ b/renderutil/Makefile.am +@@ -4,9 +4,9 @@ lib_LTLIBRARIES = libxcb-render-util.la + xcbinclude_HEADERS = xcb_renderutil.h + + AM_CFLAGS = $(BASE_CFLAGS) +-AM_CPPFLAGS = $(XCB_CFLAGS) $(XCB_RENDER_CFLAGS) ++AM_CPPFLAGS = $(XCB_CFLAGS) $(XCB_RENDER_CFLAGS) ${PTHREAD_STUBS_CFLAGS} + libxcb_render_util_la_SOURCES = cache.c util.c glyph.c +-libxcb_render_util_la_LIBADD = $(XCB_LIBS) $(XCB_RENDER_LIBS) ++libxcb_render_util_la_LIBADD = $(XCB_LIBS) $(XCB_RENDER_LIBS) ${PTHREAD_STUBS_LIBS} + libxcb_render_util_la_LDFLAGS = -no-undefined + + pkgconfig_DATA = xcb-renderutil.pc diff --git a/ports/xcb-render-util/vcpkg.json b/ports/xcb-render-util/vcpkg.json new file mode 100644 index 00000000000000..31fec040242174 --- /dev/null +++ b/ports/xcb-render-util/vcpkg.json @@ -0,0 +1,10 @@ +{ + "name": "xcb-render-util", + "version": "0.3.10", + "description": "XCB convenience functions for the Render extension.", + "homepage": "https://xcb.freedesktop.org/", + "license": null, + "dependencies": [ + "xcb" + ] +} diff --git a/ports/xcb-util-errors/portfile.cmake b/ports/xcb-util-errors/portfile.cmake new file mode 100644 index 00000000000000..813ed1f47b6ddc --- /dev/null +++ b/ports/xcb-util-errors/portfile.cmake @@ -0,0 +1,34 @@ +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) + return() +endif() + +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.freedesktop.org/xorg + OUT_SOURCE_PATH SOURCE_PATH + REPO lib/libxcb-errors + REF 517dd82c079de762a7426f20166a44f11e8d38c5 #1.0.1 + SHA512 391f6bc9452bf4d6a3f1fa69232cdbef43f9fcd339b8d1965132a3b227ed7ebcbaad553fe64d42bc525811caedf3ff9d5bec108f6ac2efd5a014f75fb35cbf85 + HEAD_REF master +) +file(TOUCH "${SOURCE_PATH}/m4/dummy") +set(ENV{ACLOCAL} "aclocal -I \"${CURRENT_INSTALLED_DIR}/share/xorg/aclocal/\"") + +vcpkg_find_acquire_program(PYTHON3) +get_filename_component(PYTHON3_DIR "${PYTHON3}" DIRECTORY) +vcpkg_add_to_path("${PYTHON3_DIR}") + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG + COPY_SOURCE +) + +vcpkg_install_make() +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/xcb-util-errors/vcpkg.json b/ports/xcb-util-errors/vcpkg.json new file mode 100644 index 00000000000000..57ea925fd67d1a --- /dev/null +++ b/ports/xcb-util-errors/vcpkg.json @@ -0,0 +1,12 @@ +{ + "name": "xcb-util-errors", + "version": "1.0.1", + "port-version": 1, + "description": "XCB utility library that gives human readable names to error, event, & request codes.", + "homepage": "https://xcb.freedesktop.org/", + "license": null, + "dependencies": [ + "xcb", + "xcb-util" + ] +} diff --git a/ports/xcb-util-m4/portfile.cmake b/ports/xcb-util-m4/portfile.cmake new file mode 100644 index 00000000000000..f38f1027eb228e --- /dev/null +++ b/ports/xcb-util-m4/portfile.cmake @@ -0,0 +1,15 @@ +set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) + +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.freedesktop.org/xorg + OUT_SOURCE_PATH SOURCE_PATH + REPO util/xcb-util-m4 + REF f662e3a93ebdec3d1c9374382dcc070093a42fed #v1.19.2 + SHA512 29840da449a434f169437fd2cef78273e0cba00a7f76d48790c838dc8f40fe55cb0932d96b649e1bd066c6c5e257dd2d9d71c663ce100aa5ca25a2ccec1b7e77 + HEAD_REF master +) + +file(GLOB_RECURSE M4_FILES "${SOURCE_PATH}/*.m4") +file(INSTALL ${M4_FILES} DESTINATION "${CURRENT_PACKAGES_DIR}/share/xorg/aclocal") +file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/share/${PORT}") +file(TOUCH "${CURRENT_PACKAGES_DIR}/share/xcb-util-m4/copyright") diff --git a/ports/xcb-util-m4/vcpkg.json b/ports/xcb-util-m4/vcpkg.json new file mode 100644 index 00000000000000..e2d7d051e4719f --- /dev/null +++ b/ports/xcb-util-m4/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "xcb-util-m4", + "version-date": "2022-01-24", + "description": "GNU autoconf macros shared across XCB projects", + "homepage": "https://gitlab.freedesktop.org/xorg/util/xcb-util-m4", + "license": null +} diff --git a/ports/xcb-util-wm/build.patch b/ports/xcb-util-wm/build.patch new file mode 100644 index 00000000000000..1b72f5bf55e8f4 --- /dev/null +++ b/ports/xcb-util-wm/build.patch @@ -0,0 +1,51 @@ +diff --git a/ewmh/ewmh.c.m4 b/ewmh/ewmh.c.m4 +index b986105f6..a0ce37c2a 100644 +--- a/ewmh/ewmh.c.m4 ++++ b/ewmh/ewmh.c.m4 +@@ -45,7 +45,7 @@ + + #include + +-#define ssizeof(foo) (ssize_t)sizeof(foo) ++#define ssizeof(foo) (ptrdiff_t)sizeof(foo) + #define countof(foo) (ssizeof(foo) / ssizeof(foo[0])) + + /** +@@ -1119,12 +1119,13 @@ xcb_ewmh_append_wm_icon_checked(xcb_ewmh_connection_t *ewmh, + uint32_t img_len, uint32_t *img) + { + const uint32_t data_len = img_len + 2; +- uint32_t data[data_len]; ++ uint32_t *data = (uint32_t*)malloc(data_len*sizeof(uint32_t)); + +- set_wm_icon_data(data, width, height, img_len, img); +- +- return xcb_ewmh_set_wm_icon_checked(ewmh, XCB_PROP_MODE_APPEND, window, +- data_len, data); ++ set_wm_icon_data(data, width, height, img_len, img); ++ const xcb_void_cookie_t res = xcb_ewmh_set_wm_icon_checked(ewmh, XCB_PROP_MODE_APPEND, window, ++ data_len, data); ++ free(data); ++ return res; + } + + xcb_void_cookie_t +@@ -1134,12 +1135,13 @@ xcb_ewmh_append_wm_icon(xcb_ewmh_connection_t *ewmh, + uint32_t img_len, uint32_t *img) + { + const uint32_t data_len = img_len + 2; +- uint32_t data[data_len]; +- +- set_wm_icon_data(data, width, height, img_len, img); ++ uint32_t *data = (uint32_t*)malloc(data_len*sizeof(uint32_t)); + +- return xcb_ewmh_set_wm_icon(ewmh, XCB_PROP_MODE_APPEND, window, +- data_len, data); ++ set_wm_icon_data(data, width, height, img_len, img); ++ const xcb_void_cookie_t res = xcb_ewmh_set_wm_icon(ewmh, XCB_PROP_MODE_APPEND, window, ++ data_len, data); ++ free(data); ++ return res; + } + + DO_GET_PROPERTY(wm_icon, _NET_WM_ICON, XCB_ATOM_CARDINAL, UINT_MAX) diff --git a/ports/xcb-util-wm/portfile.cmake b/ports/xcb-util-wm/portfile.cmake new file mode 100644 index 00000000000000..82c351925c8268 --- /dev/null +++ b/ports/xcb-util-wm/portfile.cmake @@ -0,0 +1,30 @@ +if(NOT X_VCPKG_FORCE_VCPKG_X_LIBRARIES AND NOT VCPKG_TARGET_IS_WINDOWS) + message(STATUS "Utils and libraries provided by '${PORT}' should be provided by your system! Install the required packages or force vcpkg libraries by setting X_VCPKG_FORCE_VCPKG_X_LIBRARIES in your triplet!") + set(VCPKG_POLICY_EMPTY_PACKAGE enabled) +else() + +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.freedesktop.org/xorg + OUT_SOURCE_PATH SOURCE_PATH + REPO lib/libxcb-wm + REF 0c6681e465c9cc7b1fbb60778ba1eaa61ab01a14 #v 0.4.2 + SHA512 c8be48000ad2dbe5bd430241745edb16280c2d7e602872ed8e14e6245e64391cbf8f234a4d83aad65c96ec58c3b312f2fe7f0bf01cb82f46b3e50f2358b94741 + HEAD_REF master + PATCHES build.patch +) +file(TOUCH "${SOURCE_PATH}/m4/dummy") +set(ENV{ACLOCAL} "aclocal -I \"${CURRENT_INSTALLED_DIR}/share/xorg/aclocal/\"") + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG +) + +vcpkg_install_make() +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +endif() diff --git a/ports/xcb-util-wm/vcpkg.json b/ports/xcb-util-wm/vcpkg.json new file mode 100644 index 00000000000000..052e6f243816eb --- /dev/null +++ b/ports/xcb-util-wm/vcpkg.json @@ -0,0 +1,14 @@ +{ + "name": "xcb-util-wm", + "version": "0.4.2", + "port-version": 1, + "description": "XCB client and window-manager helpers for ICCCM & EWMH.", + "homepage": "https://gitlab.freedesktop.org/xorg/lib/libxcb-wm/", + "license": null, + "dependencies": [ + "bzip2", + "xcb", + "xorg-macros", + "xproto" + ] +} diff --git a/ports/xcb-util/portfile.cmake b/ports/xcb-util/portfile.cmake new file mode 100644 index 00000000000000..f7070a4ff1ef1a --- /dev/null +++ b/ports/xcb-util/portfile.cmake @@ -0,0 +1,31 @@ +if(NOT X_VCPKG_FORCE_VCPKG_X_LIBRARIES AND NOT VCPKG_TARGET_IS_WINDOWS) + message(STATUS "Utils and libraries provided by '${PORT}' should be provided by your system! Install the required packages or force vcpkg libraries by setting X_VCPKG_FORCE_VCPKG_X_LIBRARIES in your triplet!") + set(VCPKG_POLICY_EMPTY_PACKAGE enabled) +else() + +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.freedesktop.org/xorg + OUT_SOURCE_PATH SOURCE_PATH + REPO lib/libxcb-util + REF acf790d7752f36e450d476ad79807d4012ec863b #v0.4.0 + SHA512 d1ef49c1e16b7643a7afeca1495a96ab9ab9c537ea7669a13b3adda400a204626714afc8ed7fcc3d7532ebe1f89a3aa31e3ca0ee9617330d4df5b65b0c8e6dbc + HEAD_REF master + PATCHES ssize.patch +) + +file(TOUCH "${SOURCE_PATH}/m4/dummy") +set(ENV{ACLOCAL} "aclocal -I \"${CURRENT_INSTALLED_DIR}/share/xorg/aclocal/\"") + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG +) + +vcpkg_install_make() +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +endif() diff --git a/ports/xcb-util/ssize.patch b/ports/xcb-util/ssize.patch new file mode 100644 index 00000000000000..3b327133ea8fb7 --- /dev/null +++ b/ports/xcb-util/ssize.patch @@ -0,0 +1,15 @@ +diff --git a/src/event.c b/src/event.c +index 88058c4e7..3bc0d635f 100644 +--- a/src/event.c ++++ b/src/event.c +@@ -38,6 +38,10 @@ + + #include + ++#if !defined ssize_t && defined(_WIN32) ++ #define ssize_t ptrdiff_t ++#endif ++ + #define ssizeof(foo) (ssize_t)sizeof(foo) + #define countof(foo) (ssizeof(foo) / ssizeof(foo[0])) + diff --git a/ports/xcb-util/vcpkg.json b/ports/xcb-util/vcpkg.json new file mode 100644 index 00000000000000..5ed3da56bea562 --- /dev/null +++ b/ports/xcb-util/vcpkg.json @@ -0,0 +1,12 @@ +{ + "name": "xcb-util", + "version": "0.4.0", + "description": "C interface to the X Window System protocol, which replaces the traditional Xlib interface.", + "homepage": "https://xcb.freedesktop.org/", + "license": null, + "dependencies": [ + "xcb", + "xcb-util-m4", + "xorg-macros" + ] +} diff --git a/ports/xcb/configure.patch b/ports/xcb/configure.patch new file mode 100644 index 00000000000000..94c33225b1d0be --- /dev/null +++ b/ports/xcb/configure.patch @@ -0,0 +1,47 @@ +diff --git a/configure.ac b/configure.ac +index 8a05bf1aa..1f57cc688 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -22,6 +22,7 @@ AC_USE_SYSTEM_EXTENSIONS + # Initialize libtool + LT_PREREQ([2.2]) + LT_INIT([win32-dll]) ++AC_LIBTOOL_WIN32_DLL + + # Require xorg-macros minimum of 1.18 - Initial version + m4_ifndef([XORG_MACROS_VERSION], +@@ -88,11 +88,11 @@ AC_MSG_RESULT($XCBPROTO_XCBPYTHONDIR) + AC_SUBST(XCBPROTO_XCBPYTHONDIR) + + AC_HEADER_STDC +-AC_SEARCH_LIBS(getaddrinfo, socket) +-AC_SEARCH_LIBS(connect, socket) ++AC_SEARCH_LIBS(getaddrinfo, [socket Ws2_32]) ++AC_SEARCH_LIBS(connect, [socket Ws2_32]) + + # Find support for sending a message from a socket +-AC_SEARCH_LIBS(sendmsg, socket, [have_sendmsg="yes"], [have_sendmsg="no"]) ++AC_SEARCH_LIBS(sendmsg, [socket Ws2_32], [have_sendmsg="yes"], [have_sendmsg="no"]) + + # XPG4v2/UNIX95 added msg_control - check to see if we need to define + # _XOPEN_SOURCE to get it (such as on Solaris) +@@ -140,6 +141,10 @@ mingw*) + have_win32="yes" + lt_enable_auto_import="-Wl,--enable-auto-import" + ;; ++msys*) ++ have_win32="yes" ++ lt_enable_auto_import="-Wl,--enable-auto-import" ++ ;; + linux*) + AC_DEFINE([HAVE_ABSTRACT_SOCKETS], 1, [Define if your platform supports abstract sockets]) + ;; +@@ -208,7 +213,7 @@ esac + + dnl Link with winsock for socket functions on MinGW + case $host_os in +- *mingw*) ++ *mingw*| *msys* ) + AC_CHECK_LIB([ws2_32],[main]) + ;; + *) diff --git a/ports/xcb/getpid_include.patch b/ports/xcb/getpid_include.patch new file mode 100644 index 00000000000000..755cd3e3f4e84b --- /dev/null +++ b/ports/xcb/getpid_include.patch @@ -0,0 +1,14 @@ +diff --git a/src/xcb_auth.c b/src/xcb_auth.c +index 8ebe9a437..9a1e459fc 100644 +--- a/src/xcb_auth.c ++++ b/src/xcb_auth.c +@@ -46,6 +46,9 @@ + #include + #endif + #include "xcb_windefs.h" ++#ifdef _MSC_VER ++#include ++#endif + #else + #include + #include diff --git a/ports/xcb/makefile.patch b/ports/xcb/makefile.patch new file mode 100644 index 00000000000000..9171fcf03705db --- /dev/null +++ b/ports/xcb/makefile.patch @@ -0,0 +1,13 @@ +diff --git a/src/Makefile.am b/src/Makefile.am +index 17b64a80e..f45d9d0fe 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -260,7 +260,7 @@ if XCB_SERVERSIDE_SUPPORT + C_CLIENT_PY_EXTRA_ARGS += --server-side + endif + +-$(EXTSOURCES): c_client.py $(XCBPROTO_XCBINCLUDEDIR)/$(@:.c=.xml) ++$(EXTSOURCES): c_client.py /$(@:.c=.xml) + $(AM_V_GEN)$(PYTHON) $(srcdir)/c_client.py -c "$(PACKAGE_STRING)" -l "$(XORG_MAN_PAGE)" \ + -s "$(LIB_MAN_SUFFIX)" -p $(XCBPROTO_XCBPYTHONDIR) \ + $(C_CLIENT_PY_EXTRA_ARGS) \ diff --git a/ports/xcb/portfile.cmake b/ports/xcb/portfile.cmake new file mode 100644 index 00000000000000..c1e34036bebeee --- /dev/null +++ b/ports/xcb/portfile.cmake @@ -0,0 +1,108 @@ +if(NOT X_VCPKG_FORCE_VCPKG_X_LIBRARIES AND NOT VCPKG_TARGET_IS_WINDOWS) + message(STATUS "Utils and libraries provided by '${PORT}' should be provided by your system! Install the required packages or force vcpkg libraries by setting X_VCPKG_FORCE_VCPKG_X_LIBRARIES in your triplet") + set(VCPKG_POLICY_EMPTY_PACKAGE enabled) +else() + +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.freedesktop.org/xorg + OUT_SOURCE_PATH SOURCE_PATH + REPO lib/libxcb + REF ddafdba11f6919e6fcf977c09c78b06f94de47aa #v1.14 + some patches + SHA512 d8382b04f2b00671cded9e22d6066164511ee4c08e2cf5de4ec28d09e41228e30d3ba7d0e6b5141abf4e4bc777aa662fe9d1d04f3e1e26e0b323549e845c8072 + HEAD_REF master + PATCHES makefile.patch # without the patch target xproto.c is missing target XCBPROTO_XCBINCLUDEDIR + configure.patch + use_xwindows_includes.patch # use the X11 include wrappers for windows headers + getpid_include.patch # add include for getpid on windows + win-fixes.patch # avoid: 'close' undefined; assuming extern returning int +) + +set(ENV{ACLOCAL} "aclocal -I \"${CURRENT_INSTALLED_DIR}/share/xorg/aclocal/\"") +if(VCPKG_TARGET_IS_WINDOWS) + set(OPTIONS --disable-dependency-tracking) +endif() + +vcpkg_find_acquire_program(PYTHON3) +get_filename_component(PYTHON3_DIR "${PYTHON3}" DIRECTORY) +file(TO_NATIVE_PATH "${PYTHON3_DIR}" PYTHON3_DIR_NATIVE) +vcpkg_add_to_path("${PYTHON3_DIR}") + +if(NOT XLSTPROC) + find_program(XLSTPROC NAMES "xsltproc${VCPKG_HOST_EXECUTABLE_SUFFIX}" PATHS "${CURRENT_HOST_INSTALLED_DIR}/tools/libxslt" PATH_SUFFIXES "bin") +endif() +if(NOT XLSTPROC) + message(FATAL_ERROR "${PORT} requires xlstproc for the host system. Please install libxslt within vcpkg or your system package manager!") +endif() +get_filename_component(XLSTPROC_DIR "${XLSTPROC}" DIRECTORY) +file(TO_NATIVE_PATH "${XLSTPROC_DIR}" XLSTPROC_DIR_NATIVE) +vcpkg_add_to_path("${XLSTPROC_DIR}") +set(ENV{XLSTPROC} "${XLSTPROC}") + +if(DEFINED ENV{PYTHONPATH}) + set(ENV{PYTHONPATH} "${CURRENT_INSTALLED_DIR}/tools/python3/site-packages/${VCPKG_HOST_PATH_SEPARATOR}$ENV{PYTHONPATH}") +else() + set(ENV{PYTHONPATH} "${CURRENT_INSTALLED_DIR}/tools/python3/site-packages/") +endif() + +vcpkg_configure_make( + SOURCE_PATH "${SOURCE_PATH}" + AUTOCONFIG + OPTIONS ${OPTIONS} +) + +vcpkg_install_make() + +set(pcfile "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/xcb.pc") +if(EXISTS "${pcfile}") + vcpkg_replace_string("${pcfile}" "Requires: " "Requires: xau xdmcp " IGNORE_UNCHANGED) +endif() +set(pcfile "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/xcb.pc") +if(EXISTS "${pcfile}") + vcpkg_replace_string("${pcfile}" "Requires: " "Requires: xau xdmcp " IGNORE_UNCHANGED) +endif() + +vcpkg_fixup_pkgconfig() + +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/${PORT}" RENAME copyright) + +if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic" AND NOT VCPKG_TARGET_IS_MINGW) + set(extensions + bigreq + composite + damage + dpms + dri2 + dri3 + ge + glx + present + randr + record + render + res + screensaver + shape + shm + sync + xc_misc + xevie + xf86dri + xfixes + xinerama + xinput + xkb + xprint + xtest + xv + xvmc) + foreach(ext IN LISTS extensions) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/xcb/${ext}.h" + "extern xcb_extension_t" + "__declspec(dllimport) extern xcb_extension_t") + endforeach() +endif() +endif() diff --git a/ports/xcb/use_xwindows_includes.patch b/ports/xcb/use_xwindows_includes.patch new file mode 100644 index 00000000000000..23177fc77ed852 --- /dev/null +++ b/ports/xcb/use_xwindows_includes.patch @@ -0,0 +1,21 @@ +diff --git a/src/xcb_windefs.h b/src/xcb_windefs.h +index df6026da3..7591c61e7 100644 +--- a/src/xcb_windefs.h ++++ b/src/xcb_windefs.h +@@ -31,10 +31,13 @@ + #define WINVER 0x0501 /* required for getaddrinfo/freeaddrinfo defined only for WinXP and above */ + #endif + +-#include ++#include ++#include ++#include ++typedef unsigned char BYTE; +-#include +-#include + ++#define STDERR_FILENO _fileno( stderr ) ++ + struct iovec { + void *iov_base; /* Pointer to data. */ + int iov_len; /* Length of data. */ diff --git a/ports/xcb/vcpkg.json b/ports/xcb/vcpkg.json new file mode 100644 index 00000000000000..127acfbc63f65f --- /dev/null +++ b/ports/xcb/vcpkg.json @@ -0,0 +1,23 @@ +{ + "name": "xcb", + "version": "1.14", + "port-version": 2, + "description": "C interface to the X Window System protocol, which replaces the traditional Xlib interface.", + "homepage": "https://xcb.freedesktop.org/", + "license": "X11-distribute-modifications-variant", + "dependencies": [ + "bzip2", + "libxau", + "libxdmcp", + { + "name": "libxslt", + "host": true + }, + "pthread", + "pthread-stubs", + "xcb-proto", + "xcb-util-m4", + "xorg-macros", + "xproto" + ] +} diff --git a/ports/xcb/win-fixes.patch b/ports/xcb/win-fixes.patch new file mode 100644 index 00000000000000..e5f4ccca071086 --- /dev/null +++ b/ports/xcb/win-fixes.patch @@ -0,0 +1,40 @@ +diff --git a/src/xcb_util.c b/src/xcb_util.c +index 0296ce0dd..cce54aa50 100644 +--- a/src/xcb_util.c ++++ b/src/xcb_util.c +@@ -389,7 +389,11 @@ static int _xcb_open_tcp(const char *host, char *protocol, const unsigned short + fd = _xcb_socket(addr->ai_family, addr->ai_socktype, addr->ai_protocol); + if (_xcb_do_connect(fd, addr->ai_addr, addr->ai_addrlen) >= 0) + break; ++#ifdef _WIN32 ++ closesocket(fd); ++#else + close(fd); ++#endif + fd = -1; + } + freeaddrinfo(results); +@@ -454,7 +458,11 @@ static int _xcb_open_unix(char *protocol, const char *file) + setsockopt(fd, SOL_SOCKET, SO_SNDBUF, &val, sizeof(int)); + } + if(connect(fd, (struct sockaddr *) &addr, sizeof(addr)) == -1) { ++#ifdef _WIN32 ++ closesocket(fd); ++#else + close(fd); ++#endif + return -1; + } + return fd; +@@ -481,7 +489,11 @@ static int _xcb_open_abstract(char *protocol, const char *file, size_t filelen) + if (fd == -1) + return -1; + if (connect(fd, (struct sockaddr *) &addr, namelen) == -1) { ++#ifdef _WIN32 ++ closesocket(fd); ++#else + close(fd); ++#endif + return -1; + } + return fd; diff --git a/ports/xerces-c/dependencies.patch b/ports/xerces-c/dependencies.patch new file mode 100644 index 00000000000000..84f80c0d32bfb0 --- /dev/null +++ b/ports/xerces-c/dependencies.patch @@ -0,0 +1,77 @@ +diff --git a/cmake/XercesNetAccessorSelection.cmake b/cmake/XercesNetAccessorSelection.cmake +index 7a63f1f..22ea65b 100644 +--- a/cmake/XercesNetAccessorSelection.cmake ++++ b/cmake/XercesNetAccessorSelection.cmake +@@ -23,7 +23,7 @@ option(network "Network support" ON) + + if(network) + find_library(SOCKET_LIBRARY socket) +- find_library(NSL_LIBRARY nsl) ++ set(NSL_LIBRARY "" CACHE INTERNAL "Not used") + + # netaccessors in order of preference + +diff --git a/cmake/XercesTranscoderSelection.cmake b/cmake/XercesTranscoderSelection.cmake +index 4ff5b16..48e274c 100644 +--- a/cmake/XercesTranscoderSelection.cmake ++++ b/cmake/XercesTranscoderSelection.cmake +@@ -25,6 +25,7 @@ + + if(ICU_FOUND) + list(APPEND transcoders icu) ++ set(TRANSCODER_REQUIRES "icu-uc") + endif() + + # MacOS +@@ -41,6 +42,20 @@ endif() + + # GNU iconv + ++if(NOT transcoder AND NOT transcoders AND NOT WIN32) ++ find_package(Iconv) ++ set(FIND_DEPENDENCY_ICONV "${Iconv_FOUND}") ++ if(Iconv_FOUND AND NOT Iconv_IS_BUILT_IN) ++ list(APPEND libxerces_c_DEPS Iconv::Iconv) ++ set(TRANSCODER_LIBS "-liconv -lcharset") ++ list(APPEND CMAKE_REQUIRED_LIBRARIES Iconv::Iconv) ++ include(CheckSymbolExists) ++ check_symbol_exists(iconv_open "iconv.h" HAVE_ICONV_OPEN) ++ check_symbol_exists(iconv_close "iconv.h" HAVE_ICONV_CLOSE) ++ check_symbol_exists(iconv "iconv.h" HAVE_ICONV) ++ endif() ++endif() ++ + check_include_file_cxx(iconv.h HAVE_ICONV_H) + check_include_file_cxx(wchar.h HAVE_WCHAR_H) + check_include_file_cxx(string.h HAVE_STRING_H) +diff --git a/src/XercesCConfig.cmake.in b/src/XercesCConfig.cmake.in +index aa8fc2e..754c425 100644 +--- a/src/XercesCConfig.cmake.in ++++ b/src/XercesCConfig.cmake.in +@@ -1,5 +1,14 @@ + @PACKAGE_INIT@ + ++include(CMakeFindDependencyMacro) ++find_dependency(Threads) ++if("@CMAKE_REQUIRE_FIND_PACKAGE_ICU@") ++ find_dependency(ICU COMPONENTS uc data) ++endif() ++if("@FIND_DEPENDENCY_ICONV@") ++ find_dependency(Iconv) ++endif() ++ + include(${CMAKE_CURRENT_LIST_DIR}/XercesCConfigInternal.cmake) + + add_library(XercesC::XercesC INTERFACE IMPORTED) +diff --git a/xerces-c.pc.in b/xerces-c.pc.in +index 16b18c7..077296b 100644 +--- a/xerces-c.pc.in ++++ b/xerces-c.pc.in +@@ -7,5 +7,6 @@ Name: Xerces-C++ + Description: Validating XML parser library for C++ + Version: @VERSION@ + Libs: -L${libdir} -lxerces-c +-Libs.private: @CURL_LIBS@ ++Libs.private: @CURL_LIBS@ @TRANSCODER_LIBS@ ++Requires.private: @TRANSCODER_REQUIRES@ + Cflags: -I${includedir} diff --git a/ports/xerces-c/portfile.cmake b/ports/xerces-c/portfile.cmake index 22d44193d804a7..27c011b6bfd3b3 100644 --- a/ports/xerces-c/portfile.cmake +++ b/ports/xerces-c/portfile.cmake @@ -1,68 +1,82 @@ +vcpkg_minimum_required(VERSION 2022-10-12) # for ${VERSION} vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO apache/xerces-c - REF v3.2.3 - SHA512 aaafe2de4ea156d94e71e3631c79bd66660badf17bf2a19587a0ca34011f70bd1584a0beef909409a3ff05eecea9d37ffee6dbb267625f59217fd86705d2cd28 + REF "v${VERSION}" + SHA512 55bf16456408af7c5aa420a55b27555889fc102a24e86aecb918c165acc80bbc344420687061e020fe223ea04dd78bef929ceedc4b3e24727787f12b8d79b610 HEAD_REF master PATCHES + dependencies.patch disable-tests.patch remove-dll-export-macro.patch ) +file(REMOVE "${SOURCE_PATH}/cmake/FindICU.cmake") -set(DISABLE_ICU ON) +vcpkg_check_features( + OUT_FEATURE_OPTIONS options + FEATURES + icu CMAKE_REQUIRE_FIND_PACKAGE_ICU + network network + INVERTED_FEATURES + icu CMAKE_DISABLE_FIND_PACKAGE_ICU +) if("icu" IN_LIST FEATURES) - set(DISABLE_ICU OFF) + vcpkg_list(APPEND options -Dtranscoder=icu) +elseif(VCPKG_TARGET_IS_WINDOWS) + vcpkg_list(APPEND options -Dtranscoder=windows) +elseif(VCPKG_TARGET_IS_OSX) + vcpkg_list(APPEND options -Dtranscoder=macosunicodeconverter) +elseif(VCPKG_HOST_IS_OSX) + # Because of a bug in the transcoder selection script, the option + # "macosunicodeconverter" is always selected when building on macOS, + # regardless of the target platform. This breaks cross-compiling. + # As a workaround we force "iconv", which should at least work for iOS. + # Upstream fix: https://github.com/apache/xerces-c/pull/52 + vcpkg_list(APPEND options -Dtranscoder=iconv) +else() + # xercesc chooses gnuiconv or iconv (cmake/XercesTranscoderSelection.cmake) endif() -if ("xmlch-wchar" IN_LIST FEATURES) - set(XMLCHTYPE -Dxmlch-type=wchar_t) +if("xmlch-wchar" IN_LIST FEATURES) + vcpkg_list(APPEND options -Dxmlch-type=wchar_t) endif() -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DDISABLE_TESTS=ON -DDISABLE_DOC=ON -DDISABLE_SAMPLES=ON - -DCMAKE_DISABLE_FIND_PACKAGE_ICU=${DISABLE_ICU} -DCMAKE_DISABLE_FIND_PACKAGE_CURL=ON - ${XMLCHTYPE} + ${options} + MAYBE_UNUSED_VARIABLES + CMAKE_DISABLE_FIND_PACKAGE_CURL ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -if(EXISTS ${CURRENT_PACKAGES_DIR}/cmake) - vcpkg_fixup_cmake_targets(CONFIG_PATH cmake TARGET_PATH share/xercesc) +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_cmake_config_fixup(CONFIG_PATH cmake PACKAGE_NAME xercesc) else() - vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/XercesC TARGET_PATH share/xercesc) + vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/XercesC PACKAGE_NAME xercesc) endif() -file(READ ${CURRENT_PACKAGES_DIR}/share/xercesc/XercesCConfigInternal.cmake _contents) -string(REPLACE - "get_filename_component(_IMPORT_PREFIX \"\${_IMPORT_PREFIX}\" PATH)\nget_filename_component(_IMPORT_PREFIX \"\${_IMPORT_PREFIX}\" PATH)\nget_filename_component(_IMPORT_PREFIX \"\${_IMPORT_PREFIX}\" PATH)" - "get_filename_component(_IMPORT_PREFIX \"\${_IMPORT_PREFIX}\" PATH)\nget_filename_component(_IMPORT_PREFIX \"\${_IMPORT_PREFIX}\" PATH)" - _contents - "${_contents}" -) -file(WRITE ${CURRENT_PACKAGES_DIR}/share/xercesc/XercesCConfigInternal.cmake "${_contents}") +configure_file("${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" "${CURRENT_PACKAGES_DIR}/share/xercesc/vcpkg-cmake-wrapper.cmake" @ONLY) -file(READ ${CURRENT_PACKAGES_DIR}/share/xercesc/XercesCConfig.cmake _contents) -file(WRITE ${CURRENT_PACKAGES_DIR}/share/xercesc/XercesCConfig.cmake "include(CMakeFindDependencyMacro)\nfind_dependency(Threads)\n${_contents}") - -configure_file( - ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake - ${CURRENT_PACKAGES_DIR}/share/xercesc - @ONLY -) - 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_fixup_pkgconfig() +if (VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/xerces-c.pc" "-lxerces-c" "-lxerces-c_3") + if(NOT VCPKG_BUILD_TYPE) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/xerces-c.pc" "-lxerces-c" "-lxerces-c_3D") + endif() +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/xerces-c/vcpkg-cmake-wrapper.cmake b/ports/xerces-c/vcpkg-cmake-wrapper.cmake index 6704b83d56905e..11e9289e41ddf4 100644 --- a/ports/xerces-c/vcpkg-cmake-wrapper.cmake +++ b/ports/xerces-c/vcpkg-cmake-wrapper.cmake @@ -2,7 +2,7 @@ _find_package(${ARGS}) if (APPLE) if (TARGET XercesC::XercesC) - set_property(TARGET XercesC::XercesC APPEND PROPERTY INTERFACE_LINK_LIBRARIES "-framework CoreServices" "-framework CoreFoundation" curl) - list(APPEND XercesC_LIBRARIES "-framework CoreServices" "-framework CoreFoundation" curl) + set_property(TARGET XercesC::XercesC APPEND PROPERTY INTERFACE_LINK_LIBRARIES "-framework CoreServices" "-framework CoreFoundation") + list(APPEND XercesC_LIBRARIES "-framework CoreServices" "-framework CoreFoundation") endif() endif() diff --git a/ports/xerces-c/vcpkg.json b/ports/xerces-c/vcpkg.json index bb836f898b76b5..636ca480956c56 100644 --- a/ports/xerces-c/vcpkg.json +++ b/ports/xerces-c/vcpkg.json @@ -1,9 +1,27 @@ { "name": "xerces-c", - "version-string": "3.2.3", - "port-version": 3, + "version-semver": "3.2.5", "description": "Xerces-C++ is a XML parser, for parsing, generating, manipulating, and validating XML documents using the DOM, SAX, and SAX2 APIs.", "homepage": "https://github.com/apache/xerces-c", + "license": "Apache-2.0", + "supports": "!uwp", + "dependencies": [ + { + "name": "libiconv", + "platform": "!windows & !osx" + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "default-features": [ + "network" + ], "features": { "icu": { "description": "ICU support", @@ -11,6 +29,9 @@ "icu" ] }, + "network": { + "description": "Network support" + }, "xmlch-wchar": { "description": "XMLCh type uses wchar_t" } diff --git a/ports/xeus/portfile.cmake b/ports/xeus/portfile.cmake index 85ffb5e8bd5834..b790d4d2919f27 100644 --- a/ports/xeus/portfile.cmake +++ b/ports/xeus/portfile.cmake @@ -11,9 +11,8 @@ vcpkg_from_github( string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC_LIBS) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED_LIBS) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_EXAMPLES=OFF -DXEUS_BUILD_STATIC_LIBS=${BUILD_STATIC_LIBS} @@ -21,13 +20,14 @@ vcpkg_configure_cmake( -DBUILD_TESTS=OFF -DDOWNLOAD_GTEST=OFF -DDISABLE_ARCH_NATIVE=OFF + -DXEUS_DISABLE_ARCH_NATIVE=On ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) file(COPY "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/xeus/vcpkg.json b/ports/xeus/vcpkg.json index 178c6e7163bf02..35562d0fd2c155 100644 --- a/ports/xeus/vcpkg.json +++ b/ports/xeus/vcpkg.json @@ -1,17 +1,26 @@ { "name": "xeus", - "version-string": "0.24.3", - "port-version": 1, + "version": "0.24.3", + "port-version": 3, "description": "C++ implementation of the Jupyter kernel protocol", "homepage": "https://github.com/jupyter-xeus/xeus", + "license": "BSD-3-Clause", "dependencies": [ "cppzmq", { "name": "libuuid", - "platform": "linux" + "platform": "!windows & !osx" }, "nlohmann-json", "openssl", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, "xtl", "zeromq" ] diff --git a/ports/xframe/portfile.cmake b/ports/xframe/portfile.cmake index cb3111bd984d20..6ca3a004387351 100644 --- a/ports/xframe/portfile.cmake +++ b/ports/xframe/portfile.cmake @@ -8,15 +8,14 @@ vcpkg_from_github( HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/xframe) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/xframe) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug" "${CURRENT_PACKAGES_DIR}/lib") -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/xframe/vcpkg.json b/ports/xframe/vcpkg.json index 663ca1f2a3084e..f6c4e73c4d0b46 100644 --- a/ports/xframe/vcpkg.json +++ b/ports/xframe/vcpkg.json @@ -1,10 +1,18 @@ { "name": "xframe", - "version-string": "0.3.0", - "port-version": 1, + "version": "0.3.0", + "port-version": 3, "description": "xframe is a dataframe for C++, based on xtensor and xtl.", "homepage": "https://github.com/xtensor-stack/xframe", "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, "xtensor", "xtl" ] diff --git a/ports/xlnt/fix-missing-include.patch b/ports/xlnt/fix-missing-include.patch new file mode 100644 index 00000000000000..ac2396d1c20b6b --- /dev/null +++ b/ports/xlnt/fix-missing-include.patch @@ -0,0 +1,12 @@ +diff --git a/source/detail/number_format/number_formatter.cpp b/source/detail/number_format/number_formatter.cpp +index b116fd0..653da0e 100644 +--- a/source/detail/number_format/number_formatter.cpp ++++ b/source/detail/number_format/number_formatter.cpp +@@ -24,6 +24,7 @@ + #include + #include + #include ++#include + + #include + #include diff --git a/ports/xlnt/portfile.cmake b/ports/xlnt/portfile.cmake index 3ad72194a91dd8..1839b1d6767187 100644 --- a/ports/xlnt/portfile.cmake +++ b/ports/xlnt/portfile.cmake @@ -11,8 +11,9 @@ vcpkg_from_github( SHA512 414d691b372934326dc0da134eb7752c27c3223b6e92b433494d0758ca657f43b66894ad54ac97a8410387a2531a573c81572daa6a0434fa023e8e29ca74331c HEAD_REF master PATCHES - "fix-not-found-include.patch" + fix-not-found-include.patch ${win_patch} + fix-missing-include.patch ) file(REMOVE "${SOURCE_PATH}/third-party/libstudxml/version") @@ -22,20 +23,19 @@ else() set(STATIC ON) endif() -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DTESTS=OFF -DSAMPLES=OFF -DBENCHMARKS=OFF -DSTATIC=${STATIC} ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/xlnt) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/xlnt) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share/man) -file(INSTALL ${SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/man") +file(INSTALL "${SOURCE_PATH}/LICENSE.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) vcpkg_copy_pdbs() diff --git a/ports/xlnt/vcpkg.json b/ports/xlnt/vcpkg.json index eb2275878f6ccd..e5e25bf2fd4581 100644 --- a/ports/xlnt/vcpkg.json +++ b/ports/xlnt/vcpkg.json @@ -1,7 +1,18 @@ { "name": "xlnt", "version": "1.5.0", - "port-version": 3, + "port-version": 4, "description": "Cross-platform user-friendly xlsx library for C++14", - "homepage": "https://github.com/tfussell/xlnt" + "homepage": "https://github.com/tfussell/xlnt", + "license": "MIT OR BSD-3-Clause OR BSD-2-Clause OR LGPL-3.0-only OR BSL-1.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/xlsxio/fix-dependencies.patch b/ports/xlsxio/fix-dependencies.patch index 7a02d8f9de7635..70b2cdfa58dbef 100644 --- a/ports/xlsxio/fix-dependencies.patch +++ b/ports/xlsxio/fix-dependencies.patch @@ -1,16 +1,41 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 490ee5c..05c7ee5 100644 +index 7e86706..f2bdc36 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -49,9 +49,8 @@ IF(WITH_LIBZIP) - SET(ANYZIP_LIBRARIES ${LIBZIP_LIBRARIES}) - SET(ANYZIP_DEF USE_LIBZIP) +@@ -57,7 +57,9 @@ ELSEIF(WITH_MINIZIP_NG) + SET(ANYZIP_LIBRARIES minizip${MINIZIP_NG_SUFFIX}) + SET(ANYZIP_DEF USE_MINIZIP;USE_MINIZIP_NG) ELSE() - FIND_PACKAGE(Minizip REQUIRED) -- SET(ANYZIP_INCLUDE_DIRS ${MINIZIP_INCLUDE_DIRS}) -- SET(ANYZIP_LIBRARIES ${MINIZIP_LIBRARIES}) -+ FIND_PACKAGE(minizip CONFIG REQUIRED) -+ SET(ANYZIP_LIBRARIES minizip::minizip) ++ FIND_PACKAGE(Minizip NAMES unofficial-minizip REQUIRED) ++ SET(MINIZIP_INCLUDE_DIRS "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include") ++ SET(MINIZIP_LIBRARIES unofficial::minizip::minizip) + SET(ANYZIP_INCLUDE_DIRS ${MINIZIP_INCLUDE_DIRS}) + SET(ANYZIP_LIBRARIES ${MINIZIP_LIBRARIES}) SET(ANYZIP_DEF USE_MINIZIP) +@@ -68,7 +70,8 @@ IF(EXPAT_DIR) + FIND_PATH(EXPAT_INCLUDE_DIR NAMES expat.h NO_DEFAULT_PATH PATHS ${EXPAT_DIR}/include ${EXPAT_DIR}) + FIND_LIBRARY(EXPAT_LIBRARIES NAMES expat libexpat NO_DEFAULT_PATH PATHS ${EXPAT_DIR}/lib ${EXPAT_DIR}) + ELSE() +- FIND_PACKAGE(EXPAT REQUIRED) ++ FIND_PACKAGE(EXPAT NAMES expat REQUIRED) ++ SET(EXPAT_LIBRARIES expat::expat) + ENDIF() + # dependancy: expatw (if wide library was requested) + IF(WITH_WIDE) +@@ -225,13 +228,13 @@ FILE(WRITE "${CMAKE_CURRENT_BINARY_DIR}/xlsxio-config.cmake.in" + IF (@WITH_LIBZIP@) + FIND_DEPENDENCY(LibZip) + ELSE() +- FIND_DEPENDENCY(minizip CONFIG) ++ FIND_DEPENDENCY(unofficial-minizip CONFIG) + ENDIF() + IF (@EXPAT_DIR@) + FIND_PATH(EXPAT_INCLUDE_DIR NAMES expat.h NO_DEFAULT_PATH PATHS ${EXPAT_DIR}/include ${EXPAT_DIR}) + FIND_LIBRARY(EXPAT_LIBRARIES NAMES expat libexpat NO_DEFAULT_PATH PATHS ${EXPAT_DIR}/lib ${EXPAT_DIR}) + ELSE() +- FIND_DEPENDENCY(EXPAT) ++ FIND_DEPENDENCY(expat CONFIG) ENDIF() - # dependancy: expat + + IF(@WITH_WIDE@) diff --git a/ports/xlsxio/portfile.cmake b/ports/xlsxio/portfile.cmake index 74b004755dc9da..ad0230c1b4eab5 100644 --- a/ports/xlsxio/portfile.cmake +++ b/ports/xlsxio/portfile.cmake @@ -1,33 +1,22 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO brechtsanders/xlsxio - REF e3acace39e5fb153f5ce3500a4952c2bf93175bd - SHA512 8148b89c43cf45653c583d51fb8050714d3cd0a76ab9a05d46604f3671a06487e4fc58d3f6f9f2a9f9b57a9f9fe1863ef07017c74197f151390576c5aac360ea + REF "${VERSION}" + SHA512 67b9a4e275446f3ca08e91d31f05236855e761c06ed84ea3aea8c25a7cd6729191f6c95b9efe07392775a75e2713e7ec2c6d216b8d310e7b46bee531cccba8be HEAD_REF master - PATCHES fix-dependencies.patch + PATCHES + fix-dependencies.patch ) -file(REMOVE ${SOURCE_PATH}/CMake/FindMinizip.cmake) +file(REMOVE "${SOURCE_PATH}/CMake/FindMinizip.cmake") -vcpkg_check_features( - OUT_FEATURE_OPTIONS FEATURE_OPTIONS - FEATURES - libzip WITH_LIBZIP -) - -if (VCPKG_LIBRARY_LINKAGE STREQUAL static) - set(BUILD_STATIC ON) - set(BUILD_SHARED OFF) -else() - set(BUILD_SHARED ON) - set(BUILD_STATIC OFF) -endif() +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS - ${FEATURE_OPTIONS} + -DCMAKE_POLICY_DEFAULT_CMP0012=NEW -DBUILD_SHARED=${BUILD_SHARED} -DBUILD_STATIC=${BUILD_STATIC} -DWITH_WIDE=OFF @@ -37,10 +26,12 @@ vcpkg_configure_cmake( -DBUILD_TOOLS=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() +vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup(CONFIG_PATH cmake) vcpkg_fixup_pkgconfig() 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/xlsxio/vcpkg.json b/ports/xlsxio/vcpkg.json index bc61d92e4176c8..56522fdc432f60 100644 --- a/ports/xlsxio/vcpkg.json +++ b/ports/xlsxio/vcpkg.json @@ -1,8 +1,9 @@ { "name": "xlsxio", - "version-date": "2021-03-24", + "version": "0.2.34", "description": "Cross-platform C library for reading values from and writing values to .xlsx files", "homepage": "https://github.com/brechtsanders/xlsxio", + "license": "MIT", "dependencies": [ "expat", { @@ -10,6 +11,14 @@ "features": [ "bzip2" ] + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true } ] } diff --git a/ports/xmlsec/CMakeLists.txt b/ports/xmlsec/CMakeLists.txt index cf019d51c670df..bbd9ea9d2ca356 100644 --- a/ports/xmlsec/CMakeLists.txt +++ b/ports/xmlsec/CMakeLists.txt @@ -5,7 +5,6 @@ option(INSTALL_HEADERS_TOOLS "Install public header files and tools" ON) find_package(LibXml2 REQUIRED) find_package(OpenSSL REQUIRED) -find_package(Iconv REQUIRED) FILE(GLOB SOURCESXMLSEC src/*.c @@ -61,66 +60,60 @@ set(CMAKE_STATIC_LIBRARY_PREFIX "lib") add_library(xmlsec1 ${SOURCESXMLSEC}) add_library(xmlsec1-openssl ${SOURCESXMLSECOPENSSL}) -include_directories(${CMAKE_CURRENT_BINARY_DIR}/include include ${LIBXML2_INCLUDE_DIRS}) - -target_link_libraries(xmlsec1 PRIVATE - ${LIBXML2_LIBRARIES} OpenSSL::SSL -) -target_link_libraries(xmlsec1-openssl PRIVATE - ${LIBXML2_LIBRARIES} OpenSSL::SSL xmlsec1 +target_include_directories(xmlsec1 PUBLIC + $ + $ + $ ) +target_link_libraries(xmlsec1 PUBLIC LibXml2::LibXml2) +target_link_libraries(xmlsec1-openssl PUBLIC xmlsec1 OpenSSL::Crypto) add_compile_definitions(inline=__inline) add_compile_definitions(PACKAGE="xmlsec1") -add_compile_definitions(XMLSEC_MSCRYPTO_NT4=1) add_compile_definitions(HAVE_STDIO_H) add_compile_definitions(HAVE_STDLIB_H) add_compile_definitions(HAVE_STRING_H) add_compile_definitions(HAVE_CTYPE_H) add_compile_definitions(HAVE_MALLOC_H) add_compile_definitions(HAVE_MEMORY_H) -add_compile_definitions(XMLSEC_NO_XSLT=1) add_compile_definitions(XMLSEC_DEFAULT_CRYPTO="openssl") -add_compile_definitions(XMLSEC_NO_GOST) -add_compile_definitions(XMLSEC_NO_GOST2012) -add_compile_definitions(XMLSEC_NO_SIZE_T) add_compile_definitions(UNICODE) add_compile_definitions(_UNICODE) add_compile_definitions(_MBCS) add_compile_definitions(_REENTRANT) -target_compile_definitions(xmlsec1-openssl PRIVATE - -DXMLSEC_CRYPTO_OPENSSL -) - -set_target_properties(xmlsec1 PROPERTIES VERSION ${XMLSEC_VERSION_MAJOR}.${XMLSEC_VERSION_MINOR}) -set_target_properties(xmlsec1-openssl PROPERTIES VERSION ${XMLSEC_VERSION_MAJOR}.${XMLSEC_VERSION_MINOR}) +set_target_properties(xmlsec1 xmlsec1-openssl PROPERTIES VERSION ${XMLSEC_VERSION_MAJOR}.${XMLSEC_VERSION_MINOR}) +set(XMLSEC_CORE_CFLAGS "") if(NOT BUILD_SHARED_LIBS) - set(XMLSEC_CORE_CFLAGS "-DLIBXML_STATIC -DLIBXSLT_STATIC -DXMLSEC_STATIC -DXMLSEC_NO_CRYPTO_DYNAMIC_LOADING") - set(XMLSEC_OPENSSL_CFLAGS ${XMLSEC_CORE_CFLAGS}) -else() - set(XMLSEC_CORE_CFLAGS "-DXMLSEC_DL_WIN32") - set(XMLSEC_OPENSSL_CFLAGS ${XMLSEC_CORE_CFLAGS}) + set(XMLSEC_CORE_CFLAGS "-DLIBXML_STATIC -DXMLSEC_STATIC -DXMLSEC_NO_CRYPTO_DYNAMIC_LOADING") + target_compile_definitions(xmlsec1 PUBLIC XMLSEC_STATIC XMLSEC_NO_CRYPTO_DYNAMIC_LOADING) endif() +set(XMLSEC_OPENSSL_CFLAGS ${XMLSEC_CORE_CFLAGS}) -target_compile_definitions(xmlsec1 PRIVATE ${XMLSEC_CORE_CFLAGS}) -target_compile_definitions(xmlsec1-openssl PRIVATE ${XMLSEC_OPENSSL_CFLAGS}) +target_compile_definitions(xmlsec1 + PRIVATE $<$:XMLSEC_DL_WIN32> + PUBLIC XMLSEC_NO_XSLT XMLSEC_CRYPTO_OPENSSL +) +target_compile_definitions(xmlsec1-openssl PUBLIC XMLSEC_NO_GOST XMLSEC_NO_GOST2012) install(TARGETS xmlsec1 xmlsec1-openssl - EXPORT xmlsecExport + EXPORT unofficial-xmlsec-targets RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib ) -install(EXPORT xmlsecExport FILE xmlsec-config.cmake DESTINATION share/xmlsec) +install(EXPORT unofficial-xmlsec-targets + NAMESPACE unofficial::xmlsec:: + DESTINATION share/unofficial-xmlsec +) if(INSTALL_HEADERS_TOOLS) file(GLOB PUBLIC_HEADERS include/xmlsec/*.h include/xmlsec/openssl/*.h) - list(FILTER PUBLIC_HEADERS EXCLUDE REGEX "exports\\.h$") + list(FILTER PUBLIC_HEADERS EXCLUDE REGEX "exports\\.h$") foreach(file IN LISTS PUBLIC_HEADERS) get_filename_component(dir ${file} DIRECTORY) @@ -141,23 +134,13 @@ if(INSTALL_HEADERS_TOOLS) target_link_libraries(xmlsec PRIVATE crypt32.lib) endif() - target_link_libraries(xmlsec PRIVATE - ${LIBXML2_LIBRARIES} OpenSSL::SSL xmlsec1 xmlsec1-openssl - ) - if(NOT Iconv_IS_BUILT_IN) - target_link_libraries(xmlsec PRIVATE Iconv::Iconv) - endif() - - target_compile_definitions(xmlsec PRIVATE - -DXMLSEC_CRYPTO_OPENSSL - ) + target_link_libraries(xmlsec PRIVATE xmlsec1-openssl) if(BUILD_SHARED_LIBS) target_compile_definitions(xmlsec PRIVATE -DXMLSEC_CRYPTO_DYNAMIC_LOADING) else() - find_package(Threads REQUIRED) - target_compile_definitions(xmlsec PRIVATE -DLIBXML_STATIC -DLIBXSLT_STATIC -DXMLSEC_STATIC) - target_link_libraries(xmlsec PUBLIC Threads::Threads) + find_package(Threads REQUIRED) + target_link_libraries(xmlsec PUBLIC Threads::Threads) endif() install(TARGETS xmlsec DESTINATION tools/xmlsec) endif() @@ -170,7 +153,7 @@ set(libdir ${prefix}/${CMAKE_INSTALL_LIBDIR}) set(includedir ${prefix}/${CMAKE_INSTALL_INCLUDEDIR}) set(VERSION ${XMLSEC_VERSION}) set(LIBXML_MIN_VERSION ${LIBXML2_VERSION_STRING}) -set(OPENSSL_LIBS "-lssl -lcrypto") +set(OPENSSL_LIBS "-lcrypto") set(XMLSEC_CORE_CFLAGS "${XMLSEC_CORE_CFLAGS} -DXMLSEC_DL_LIBLTDL=1 -I\${includedir}/xmlsec1 -DXMLSEC_CRYPTO_OPENSSL=1") set(XMLSEC_CORE_LIBS "-lxmlsec1 -lltdl") set(XMLSEC_OPENSSL_CFLAGS "${XMLSEC_OPENSSL_CFLAGS} -I\${includedir}/xmlsec1") diff --git a/ports/xmlsec/pkgconfig_fixes.patch b/ports/xmlsec/pkgconfig_fixes.patch index c923ea59765156..6e5196f59803f4 100644 --- a/ports/xmlsec/pkgconfig_fixes.patch +++ b/ports/xmlsec/pkgconfig_fixes.patch @@ -15,7 +15,7 @@ index 2d5a3ad..0f72d68 100644 @@ -7,5 +7,5 @@ Name: xmlsec1 Version: @VERSION@ Description: XML Security Library implements XML Signature and XML Encryption standards - Requires: libxml-2.0 >= @LIBXML_MIN_VERSION@ @LIBXSLT_PC_FILE_COND@ + Requires: libxml-2.0 >= @LIBXML_MIN_VERSION@ @LIBXSLT_PC_FILE_COND@ -Cflags: -DXMLSEC_CRYPTO_DYNAMIC_LOADING=1 @XMLSEC_CORE_CFLAGS@ +Cflags: @XMLSEC_CORE_CFLAGS@ - Libs: -L${libdir} @XMLSEC_CORE_LIBS@ + Libs: -L${libdir} @XMLSEC_CORE_LIBS@ diff --git a/ports/xmlsec/portfile.cmake b/ports/xmlsec/portfile.cmake index 280f9aea7448e9..5410e3da631ae0 100644 --- a/ports/xmlsec/portfile.cmake +++ b/ports/xmlsec/portfile.cmake @@ -1,27 +1,31 @@ +vcpkg_minimum_required(VERSION 2022-10-12) # for ${VERSION} + +string(REPLACE "." "_" release_tag "xmlsec_${VERSION}") vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO lsh123/xmlsec - REF xmlsec-1_2_32 - SHA512 45e2efc6bdf6ec09db6ff01b521c3fbcf44aa9804d5692bea5296e80d7fc2f05fac322868f82840a7b67e0abd4233222098aa94a29ec9a6a7d049180cf131c57 + REF "${release_tag}" + SHA512 6e41c35042e5a74e135cfb7468aa5c09b3c9ba684ab2431ecedce950f7c99c92fc8765c1c8c2ddfd87718bd00f4a287028227da1e987f2ef17ce2594356e81af HEAD_REF master PATCHES pkgconfig_fixes.patch ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) - +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS -DPORT_DIR=${CMAKE_CURRENT_LIST_DIR} +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS_DEBUG -DINSTALL_HEADERS_TOOLS=OFF ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets() +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-xmlsec) vcpkg_fixup_pkgconfig() +vcpkg_copy_pdbs() -file(INSTALL ${SOURCE_PATH}/Copyright DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +# unofficial legacy usage +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/xmlsec-config.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -vcpkg_copy_pdbs() +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/unofficial-xmlsec-config.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/unofficial-xmlsec") +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) diff --git a/ports/xmlsec/unofficial-xmlsec-config.cmake b/ports/xmlsec/unofficial-xmlsec-config.cmake new file mode 100644 index 00000000000000..3a2b0c9523d3f2 --- /dev/null +++ b/ports/xmlsec/unofficial-xmlsec-config.cmake @@ -0,0 +1,4 @@ +include(CMakeFindDependencyMacro) +find_dependency(LibXml2) +find_dependency(OpenSSL) +include("${CMAKE_CURRENT_LIST_DIR}/unofficial-xmlsec-targets.cmake") diff --git a/ports/xmlsec/usage b/ports/xmlsec/usage new file mode 100644 index 00000000000000..2192f4ae76b05e --- /dev/null +++ b/ports/xmlsec/usage @@ -0,0 +1,17 @@ +xmlsec can be imported via CMake FindPkgConfig module: + + find_package(PkgConfig) + # For dynamic loading of xmlsec crypto library + pkg_check_modules(XMLSEC1 REQUIRED IMPORTED_TARGET xmlsec1) + target_link_libraries(main PRIVATE PkgConfig::XMLSEC1) + # For selecting the openssl crypto engine at link time + pkg_check_modules(XMLSEC1_OPENSSL REQUIRED IMPORTED_TARGET xmlsec1-openssl) + target_link_libraries(main PRIVATE PkgConfig::XMLSEC1_OPENSSL) + +vcpkg provides proprietary CMake targets: + + find_package(unofficial-xmlsec CONFIG REQUIRED) + # For dynamic loading of xmlsec crypto library + target_link_libraries(main PRIVATE unofficial::xmlsec::xmlsec1) + # For selecting the openssl crypto engine at link time + target_link_libraries(main PRIVATE unofficial::xmlsec::xmlsec1-openssl) diff --git a/ports/xmlsec/vcpkg.json b/ports/xmlsec/vcpkg.json index 0d2c235da2d803..c504e7733c8a7a 100644 --- a/ports/xmlsec/vcpkg.json +++ b/ports/xmlsec/vcpkg.json @@ -1,10 +1,23 @@ { "name": "xmlsec", - "version": "1.2.32", + "version": "1.3.6", "description": "XML Security Library is a C library based on LibXML2. The library supports major XML security standards.", "homepage": "https://www.aleksey.com/xmlsec/", + "license": "X11 AND MPL-1.1", + "supports": "!xbox & !uwp", "dependencies": [ - "libxml2", - "openssl" + { + "name": "libxml2", + "default-features": false + }, + "openssl", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/xmlsec/xmlsec-config.cmake b/ports/xmlsec/xmlsec-config.cmake new file mode 100644 index 00000000000000..5c8b6f34b3dc58 --- /dev/null +++ b/ports/xmlsec/xmlsec-config.cmake @@ -0,0 +1,10 @@ +file(READ "${CMAKE_CURRENT_LIST_DIR}/usage" usage) +message(WARNING "find_package(xmlsec) is deprecated.\n${usage}") +include(CMakeFindDependencyMacro) +find_dependency(unofficial-xmlsec CONFIG REQUIRED) +if(NOT TARGET xmlsec1) + add_library(xmlsec1 ALIAS unofficial::xmlsec::xmlsec1) +endif() +if(NOT TARGET xmlsec1-openssl) + add_library(xmlsec1-openssl ALIAS unofficial::xmlsec::xmlsec1-openssl) +endif() diff --git a/ports/xmsh/portfile.cmake b/ports/xmsh/portfile.cmake deleted file mode 100644 index 7d74e7da9cd9dd..00000000000000 --- a/ports/xmsh/portfile.cmake +++ /dev/null @@ -1,37 +0,0 @@ -vcpkg_find_acquire_program(PYTHON3) - -vcpkg_fail_port_install(ON_TARGET "Windows") -message("Building with a gcc version less than 7.1.0 is not supported.") - -vcpkg_from_gitlab( - GITLAB_URL https://gitlab.com - OUT_SOURCE_PATH SOURCE_PATH - REPO libxmsh/xmsh - REF e1900845b796ef977db70519b2ac08eebd788236 - SHA512 643c6c94956de9b6fae635b6528e8ba756f4a2bc38de71613c2dd8d47f4a043aee7b6e7fec1870b306be3bea9f5c0c81d1d343bfc27883b3fba986fbc5b15406 - HEAD_REF master -) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - -DPYTHON3_EXECUTABLE=${PYTHON3} -) - -vcpkg_find_acquire_program(PYTHON3) -get_filename_component(PYPATH ${PYTHON3} PATH) -set(ENV{PATH} "$ENV{PATH};${PYPATH}") - -vcpkg_install_cmake() - -vcpkg_copy_pdbs() - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -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(INSTALL ${SOURCE_PATH}/copyright.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/xmsh/vcpkg.json b/ports/xmsh/vcpkg.json deleted file mode 100644 index fedee5f028236e..00000000000000 --- a/ports/xmsh/vcpkg.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "name": "xmsh", - "version-string": "0.5.2", - "port-version": 2, - "description": "Reference Implementation of XMSH Library", - "homepage": "https://gitlab.com/libxmsh/xmsh", - "dependencies": [ - "nlohmann-json", - "tl-expected" - ] -} diff --git a/ports/xnnpack/fix-build.patch b/ports/xnnpack/fix-build.patch new file mode 100644 index 00000000000000..a455c96ee6e61a --- /dev/null +++ b/ports/xnnpack/fix-build.patch @@ -0,0 +1,94 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 95df99eae0..7e969cfbb8 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -704,7 +704,7 @@ IF(MSVC) + TARGET_COMPILE_DEFINITIONS(operator-utils PRIVATE "restrict=") + TARGET_COMPILE_DEFINITIONS(XNNPACK PRIVATE "restrict=") + ENDIF() +- ++ if(0) + TARGET_COMPILE_OPTIONS(microkernels-all PRIVATE "$<$>:/O2>") + TARGET_COMPILE_OPTIONS(microkernels-prod PRIVATE "$<$>:/O2>") + TARGET_COMPILE_OPTIONS(hardware-config PRIVATE "$<$>:/O2>") +@@ -723,6 +723,7 @@ IF(MSVC) + TARGET_COMPILE_OPTIONS(operators PRIVATE "$<$>:/O1>") + TARGET_COMPILE_OPTIONS(XNNPACK PRIVATE "$<$>:/O1>") + ENDIF() ++ endif() + ELSE() + TARGET_COMPILE_OPTIONS(microkernels-all PRIVATE "$<$>:-O2>") + TARGET_COMPILE_OPTIONS(microkernels-prod PRIVATE "$<$>:-O2>") +@@ -797,8 +798,8 @@ IF(NOT TARGET clog) + # We build static version of clog but a dynamic library may indirectly depend on it + SET_PROPERTY(TARGET clog PROPERTY POSITION_INDEPENDENT_CODE ON) + ELSE() +- ADD_LIBRARY(clog STATIC IMPORTED) +- FIND_LIBRARY(CLOG_LIBRARY clog) ++ ADD_LIBRARY(clog UNKNOWN IMPORTED) ++ FIND_LIBRARY(CLOG_LIBRARY NAMES clog REQUIRED) + IF(NOT CLOG_LIBRARY) + MESSAGE(FATAL_ERROR "Cannot find clog") + ENDIF() +@@ -817,8 +818,8 @@ IF(NOT TARGET cpuinfo) + "${CPUINFO_SOURCE_DIR}" + "${CMAKE_BINARY_DIR}/cpuinfo") + ELSE() +- ADD_LIBRARY(cpuinfo SHARED IMPORTED) +- FIND_LIBRARY(CPUINFO_LIBRARY cpuinfo) ++ ADD_LIBRARY(cpuinfo UNKNOWN IMPORTED) ++ FIND_LIBRARY(CPUINFO_LIBRARY NAMES cpuinfo REQUIRED) + IF(NOT CPUINFO_LIBRARY) + MESSAGE(FATAL_ERROR "Cannot find cpuinfo") + ENDIF() +@@ -841,13 +842,15 @@ IF(NOT TARGET pthreadpool) + "${PTHREADPOOL_SOURCE_DIR}" + "${CMAKE_BINARY_DIR}/pthreadpool") + ELSE() +- ADD_LIBRARY(pthreadpool SHARED IMPORTED) +- FIND_LIBRARY(PTHREADPOOL_LIBRARY pthreadpool) ++ ADD_LIBRARY(pthreadpool UNKNOWN IMPORTED) ++ FIND_LIBRARY(PTHREADPOOL_LIBRARY NAMES pthreadpool REQUIRED) ++ find_path(PTHREADPOOL_INCLUDE NAMES pthreadpool.h REQUIRED PATH_SUFFIXES include) ++ target_include_directories(pthreadpool INTERFACE "${PTHREADPOOL_INCLUDE}") + IF(NOT PTHREADPOOL_LIBRARY) + MESSAGE(FATAL_ERROR "Cannot find pthreadpool") + ENDIF() + SET_PROPERTY(TARGET pthreadpool PROPERTY IMPORTED_LOCATION "${PTHREADPOOL_LIBRARY}") +- SET_PROPERTY(TARGET pthreadpool PROPERTY IMPORTED_IMPLIB "${PTHREADPOOL_LIBRARY}") ++ #SET_PROPERTY(TARGET pthreadpool PROPERTY IMPORTED_IMPLIB "${PTHREADPOOL_LIBRARY}") + ENDIF() + ENDIF() + TARGET_LINK_LIBRARIES(microkernels-all PRIVATE pthreadpool) +@@ -881,12 +884,12 @@ IF(NOT TARGET fxdiv) + "${FXDIV_SOURCE_DIR}" + "${CMAKE_BINARY_DIR}/FXdiv") + ELSE() +- 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() + ENDIF() + TARGET_LINK_LIBRARIES(microkernels-all PRIVATE fxdiv) +@@ -905,12 +908,12 @@ IF(NOT TARGET fp16) + "${FP16_SOURCE_DIR}" + "${CMAKE_BINARY_DIR}/FP16") + ELSE() +- FIND_FILE(FP16_HDR fp16.h PATH_SUFFIXES include) ++ FIND_PATH(FP16_HDR fp16.h PATH_SUFFIXES include REQUIRED) + IF(NOT FP16_HDR) + MESSAGE(FATAL_ERROR "Cannot find fp16") + ENDIF() +- ADD_LIBRARY(fp16 STATIC "${FP16_HDR}") +- SET_PROPERTY(TARGET fp16 PROPERTY LINKER_LANGUAGE C) ++ ADD_LIBRARY(fp16 INTERFACE IMPORTED) ++ target_include_directories(fp16 INTERFACE "${FP16_HDR}") + ENDIF() + ENDIF() + TARGET_LINK_LIBRARIES(microkernels-all PRIVATE fp16) diff --git a/ports/xnnpack/portfile.cmake b/ports/xnnpack/portfile.cmake index 28abad2a4039e1..11470028d63e75 100644 --- a/ports/xnnpack/portfile.cmake +++ b/ports/xnnpack/portfile.cmake @@ -5,15 +5,15 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/XNNPACK - REF 5223fd1922d9d965ddb07865d1d13293069fab65 # 2021-05-17 - SHA512 5c1eb9171a046c683d5a96ae70b6dab36c415c981e8f29857d16ad67afa22681f0fe6f7623527200fd954403d50b036bb2892ba44e397d639860b9ec4873e7c6 + REF 51a987591a6fc9f0fc0707077f53d763ac132cbf # 2022-12-22 + SHA512 1742ad4de3aa1a67cd5a3cbf15d82afc2cc8569a2abac92542f748a440ef37fef4e9d9c302b7b2813e3176934b637c761c1c0956d20ab1ba28b280d9b121d91b HEAD_REF master PATCHES - use-packages.patch + fix-build.patch ) vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DXNNPACK_USE_SYSTEM_LIBS=ON -DXNNPACK_ENABLE_ASSEMBLY=ON @@ -24,10 +24,9 @@ vcpkg_cmake_configure( ) vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_cmake_config_fixup() -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/bin - ${CURRENT_PACKAGES_DIR}/debug/share +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/bin" + "${CURRENT_PACKAGES_DIR}/debug/share" ) diff --git a/ports/xnnpack/use-packages.patch b/ports/xnnpack/use-packages.patch deleted file mode 100644 index 17d274c994ca82..00000000000000 --- a/ports/xnnpack/use-packages.patch +++ /dev/null @@ -1,90 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index b69ce50c..1e8938b7 100755 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -3042,7 +3032,7 @@ ELSE() - ENDIF() - ENDIF() - --TARGET_INCLUDE_DIRECTORIES(XNNPACK PUBLIC include) -+TARGET_INCLUDE_DIRECTORIES(XNNPACK PUBLIC $ $) - TARGET_INCLUDE_DIRECTORIES(XNNPACK PRIVATE src) - IF(WIN32) - # Target Windows 7+ API -@@ -3057,7 +3047,7 @@ IF(LIBM) - ENDIF() - - # ---[ Configure clog --IF(NOT TARGET clog) -+IF(FALSE) - IF(NOT XNNPACK_USE_SYSTEM_LIBS) - SET(CLOG_BUILD_TESTS OFF CACHE BOOL "") - SET(CLOG_RUNTIME_TYPE "${CPUINFO_RUNTIME_TYPE}" CACHE STRING "") -@@ -3075,10 +3065,9 @@ IF(NOT TARGET clog) - SET_PROPERTY(TARGET clog PROPERTY IMPORTED_LOCATION "${CLOG_LIBRARY}") - ENDIF() - ENDIF() --TARGET_LINK_LIBRARIES(XNNPACK PRIVATE clog) - - # ---[ Configure cpuinfo --IF(NOT TARGET cpuinfo) -+IF(FALSE) - IF(NOT XNNPACK_USE_SYSTEM_LIBS) - SET(CPUINFO_BUILD_TOOLS OFF CACHE BOOL "") - SET(CPUINFO_BUILD_UNIT_TESTS OFF CACHE BOOL "") -@@ -3096,10 +3085,11 @@ IF(NOT TARGET cpuinfo) - SET_PROPERTY(TARGET cpuinfo PROPERTY IMPORTED_LOCATION "${CPUINFO_LIBRARY}") - ENDIF() - ENDIF() --TARGET_LINK_LIBRARIES(XNNPACK PRIVATE cpuinfo) -+find_package(unofficial-cpuinfo CONFIG REQUIRED) -+target_link_libraries(XNNPACK PUBLIC unofficial::cpuinfo::clog unofficial::cpuinfo::cpuinfo) - - # ---[ Configure pthreadpool --IF(NOT TARGET pthreadpool) -+IF(FALSE) - IF(NOT XNNPACK_USE_SYSTEM_LIBS) - SET(PTHREADPOOL_BUILD_TESTS OFF CACHE BOOL "") - SET(PTHREADPOOL_BUILD_BENCHMARKS OFF CACHE BOOL "") -@@ -3119,7 +3109,7 @@ ENDIF() - TARGET_LINK_LIBRARIES(XNNPACK PUBLIC pthreadpool) - - # ---[ Configure FXdiv --IF(NOT TARGET fxdiv) -+IF(FALSE) - IF(NOT XNNPACK_USE_SYSTEM_LIBS) - SET(FXDIV_BUILD_TESTS OFF CACHE BOOL "") - SET(FXDIV_BUILD_BENCHMARKS OFF CACHE BOOL "") -@@ -3135,10 +3125,11 @@ IF(NOT TARGET fxdiv) - SET_PROPERTY(TARGET fxdiv PROPERTY LINKER_LANGUAGE C) - ENDIF() - ENDIF() --TARGET_LINK_LIBRARIES(XNNPACK PRIVATE fxdiv) -+find_path(FXDIV_INCLUDE_DIRS "fxdiv.h") -+target_include_directories(XNNPACK PRIVATE ${FXDIV_INCLUDE_DIRS}) - - # ---[ Configure FP16 --IF(NOT TARGET fp16) -+IF(FALSE) - IF(NOT XNNPACK_USE_SYSTEM_LIBS) - SET(FP16_BUILD_TESTS OFF CACHE BOOL "") - SET(FP16_BUILD_BENCHMARKS OFF CACHE BOOL "") -@@ -3154,12 +3145,17 @@ IF(NOT TARGET fp16) - SET_PROPERTY(TARGET fp16 PROPERTY LINKER_LANGUAGE C) - ENDIF() - ENDIF() --TARGET_LINK_LIBRARIES(XNNPACK PRIVATE fp16) -+find_path(FP16_INCLUDE_DIRS "fp16.h") -+target_include_directories(XNNPACK PRIVATE ${FP16_INCLUDE_DIRS}) - - INSTALL(TARGETS XNNPACK -+ EXPORT xnnpack-config -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) -+install(EXPORT xnnpack-config NAMESPACE unofficial:: -+ DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/xnnpack) - - # ---[ XNNPACK unit tests - IF(XNNPACK_BUILD_TESTS) diff --git a/ports/xnnpack/vcpkg.json b/ports/xnnpack/vcpkg.json index cb0339e2829053..19831ed7baf287 100644 --- a/ports/xnnpack/vcpkg.json +++ b/ports/xnnpack/vcpkg.json @@ -1,10 +1,10 @@ { "name": "xnnpack", - "version-date": "2021-05-17", - "port-version": 1, + "version-date": "2022-12-22", "description": "High-efficiency floating-point neural network inference operators for mobile, server, and Web", "homepage": "https://github.com/google/XNNPACK", - "supports": "!(arm & windows) & !uwp", + "license": "BSD-3-Clause", + "supports": "!(arm & windows) & !uwp & !arm32", "dependencies": [ "cpuinfo", "fp16", @@ -13,10 +13,6 @@ { "name": "vcpkg-cmake", "host": true - }, - { - "name": "vcpkg-cmake-config", - "host": true } ] } diff --git a/ports/xorg-macros/portfile.cmake b/ports/xorg-macros/portfile.cmake new file mode 100644 index 00000000000000..e2c6e98c5e0040 --- /dev/null +++ b/ports/xorg-macros/portfile.cmake @@ -0,0 +1,67 @@ +set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) + +if(NOT X_VCPKG_FORCE_VCPKG_X_LIBRARIES AND NOT VCPKG_TARGET_IS_WINDOWS) + message(STATUS "Utils and libraries provided by '${PORT}' should be provided by your system! Install the required packages or force vcpkg libraries by setting X_VCPKG_FORCE_VCPKG_X_LIBRARIES in your triplet") + set(VCPKG_POLICY_EMPTY_PACKAGE enabled) +else() + +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + set(PATCHES skip_rawcpp.patch) +endif() + +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.freedesktop.org/xorg + OUT_SOURCE_PATH SOURCE_PATH + REPO util/macros + REF b8766308d2f78bc572abe5198007cf7aeec9b761 #v1.19.3 + SHA512 dc7383b1579dc6ef0473161764096c8161f23a4c4ba2182e7abd7f73f443eb0520e02f1dfaaba2f8ebb43e0ed93c1e6e5e7cf517561476b858d2471a8ecaf907 + HEAD_REF master + PATCHES ${PATCHES} +) + +vcpkg_configure_make( + AUTOCONFIG + SOURCE_PATH "${SOURCE_PATH}" +) +vcpkg_install_make() + +file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/share/xorg/") +if(NOT CMAKE_HOST_WIN32) + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/share/xorg/aclocal/") +endif() + +file(RENAME "${CURRENT_PACKAGES_DIR}/share/${PORT}/aclocal/" "${CURRENT_PACKAGES_DIR}/share/xorg/aclocal") +file(RENAME "${CURRENT_PACKAGES_DIR}/share/${PORT}/util-macros/" "${CURRENT_PACKAGES_DIR}/share/xorg/util-macros") + +file(READ "${CURRENT_PACKAGES_DIR}/share/${PORT}/pkgconfig/xorg-macros.pc" _contents) +string(REPLACE "${CURRENT_PACKAGES_DIR}" "${CURRENT_INSTALLED_DIR}" _contents "${_contents}") +string(REPLACE "datarootdir=\${prefix}/share" "datarootdir=\${prefix}/share/xorg" _contents "${_contents}") +string(REPLACE "includedir=${CURRENT_INSTALLED_DIR}/include" "includedir=\${prefix}/include" _contents "${_contents}") +file(WRITE "${CURRENT_PACKAGES_DIR}/share/pkgconfig/xorg-macros.pc" "${_contents}") +file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/lib/") +file(RENAME "${CURRENT_PACKAGES_DIR}/share/pkgconfig/" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig") +file(REMOVE "${CURRENT_PACKAGES_DIR}/share/${PORT}/pkgconfig/xorg-macros.pc") + +if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/share/${PORT}/pkgconfig/xorg-macros.pc") + file(READ "${CURRENT_PACKAGES_DIR}/debug/share/${PORT}/pkgconfig/xorg-macros.pc" _contents) + string(REPLACE "${CURRENT_PACKAGES_DIR}/debug" "${CURRENT_INSTALLED_DIR}/debug" _contents "${_contents}") + string(REPLACE "datarootdir=\${prefix}/share}" "datarootdir=\${prefix}/share/xorg/debug}" _contents "${_contents}") + string(REPLACE "includedir=${CURRENT_INSTALLED_DIR}/debug/include" "includedir=\${prefix}/../include" _contents "${_contents}") + file(WRITE "${CURRENT_PACKAGES_DIR}/debug/share/pkgconfig/xorg-macros.pc" "${_contents}") + if(NOT CMAKE_HOST_WIN32) + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/share/xorg/debug/") + endif() + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/lib") + file(RENAME "${CURRENT_PACKAGES_DIR}/debug/share/pkgconfig/" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig") + file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/share/${PORT}/pkgconfig/xorg-macros.pc") + file(RENAME "${CURRENT_PACKAGES_DIR}/debug/share/" "${CURRENT_PACKAGES_DIR}/share/xorg/debug/") +endif() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share/") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share/${PORT}/pkgconfig") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/xorg/debug/${PORT}/pkgconfig" "${CURRENT_PACKAGES_DIR}/share/${PORT}/pkgconfig") +vcpkg_fixup_pkgconfig() + +# Handle copyright +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +endif() diff --git a/ports/xorg-macros/skip_rawcpp.patch b/ports/xorg-macros/skip_rawcpp.patch new file mode 100644 index 00000000000000..3e5ce9a7e77141 --- /dev/null +++ b/ports/xorg-macros/skip_rawcpp.patch @@ -0,0 +1,43 @@ +diff --git a/xorg-macros.m4.in b/xorg-macros.m4.in +index f0a16da3a..e1c0ff1ed 100644 +--- a/xorg-macros.m4.in ++++ b/xorg-macros.m4.in +@@ -63,38 +63,6 @@ AC_PATH_TOOL(RAWCPP, [cpp], [${CPP}], + # Check for flag to avoid builtin definitions - assumes unix is predefined, + # which is not the best choice for supporting other OS'es, but covers most + # of the ones we need for now. +-AC_MSG_CHECKING([if $RAWCPP requires -undef]) +-AC_LANG_CONFTEST([AC_LANG_SOURCE([[Does cpp redefine unix ?]])]) +-if test `${RAWCPP} < conftest.$ac_ext | grep -c 'unix'` -eq 1 ; then +- AC_MSG_RESULT([no]) +-else +- if test `${RAWCPP} -undef < conftest.$ac_ext | grep -c 'unix'` -eq 1 ; then +- RAWCPPFLAGS=-undef +- AC_MSG_RESULT([yes]) +- # under Cygwin unix is still defined even with -undef +- elif test `${RAWCPP} -undef -ansi < conftest.$ac_ext | grep -c 'unix'` -eq 1 ; then +- RAWCPPFLAGS="-undef -ansi" +- AC_MSG_RESULT([yes, with -ansi]) +- else +- AC_MSG_ERROR([${RAWCPP} defines unix with or without -undef. I don't know what to do.]) +- fi +-fi +-rm -f conftest.$ac_ext +- +-AC_MSG_CHECKING([if $RAWCPP requires -traditional]) +-AC_LANG_CONFTEST([AC_LANG_SOURCE([[Does cpp preserve "whitespace"?]])]) +-if test `${RAWCPP} < conftest.$ac_ext | grep -c 'preserve \"'` -eq 1 ; then +- AC_MSG_RESULT([no]) +-else +- if test `${RAWCPP} -traditional < conftest.$ac_ext | grep -c 'preserve \"'` -eq 1 ; then +- TRADITIONALCPPFLAGS="-traditional" +- RAWCPPFLAGS="${RAWCPPFLAGS} -traditional" +- AC_MSG_RESULT([yes]) +- else +- AC_MSG_ERROR([${RAWCPP} does not preserve whitespace with or without -traditional. I don't know what to do.]) +- fi +-fi +-rm -f conftest.$ac_ext + AC_SUBST(RAWCPPFLAGS) + AC_SUBST(TRADITIONALCPPFLAGS) + ]) # XORG_PROG_RAWCPP diff --git a/ports/xorg-macros/vcpkg.json b/ports/xorg-macros/vcpkg.json new file mode 100644 index 00000000000000..7a6bc2350c5db1 --- /dev/null +++ b/ports/xorg-macros/vcpkg.json @@ -0,0 +1,9 @@ +{ + "name": "xorg-macros", + "version": "1.19.3", + "port-version": 1, + "description": "X.org macros utilities.", + "homepage": "https://xcb.freedesktop.org/", + "license": null, + "supports": "!uwp" +} diff --git a/ports/xorstr/portfile.cmake b/ports/xorstr/portfile.cmake index b482f276aa9c8b..dc60207bfc2b3b 100644 --- a/ports/xorstr/portfile.cmake +++ b/ports/xorstr/portfile.cmake @@ -1,11 +1,11 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO JustasMasiulis/xorstr - REF 3ef854178f3df03c94b83308000ed06760dcc8aa - SHA512 c7599991d819a7bd253e763ecccb270d0c94642e52dda225d986bcc603bef9a5eecdb01bd87bd96c3320152c22f2d1d3312e84ac10b2020aa36a4229f230d7d8 + REF 066c64eea5104f4e3cfbc49e39031400e086425a # 2021-11-20 + SHA512 b28895c3d51089820ef9bf2dd80b1af5eda2f8463c8374d39bc3b54c4928ecd787977cfd4e207f56cd58e3ec0360e428a52c4b813a8f380258cf29914e32ff50 HEAD_REF master ) file(COPY "${SOURCE_PATH}/include/xorstr.hpp" DESTINATION "${CURRENT_PACKAGES_DIR}/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/xorstr/vcpkg.json b/ports/xorstr/vcpkg.json index 067c755c3736d9..35b772be3e31a2 100644 --- a/ports/xorstr/vcpkg.json +++ b/ports/xorstr/vcpkg.json @@ -1,6 +1,7 @@ { "name": "xorstr", - "version-date": "2021-10-23", + "version-date": "2021-11-20", "description": "Heavily vectorized c++17 compile time string encryption", - "homepage": "https://github.com/JustasMasiulis/xorstr" + "homepage": "https://github.com/JustasMasiulis/xorstr", + "license": "Apache-2.0" } diff --git a/ports/xpack/portfile.cmake b/ports/xpack/portfile.cmake new file mode 100644 index 00000000000000..723f6eebcb2012 --- /dev/null +++ b/ports/xpack/portfile.cmake @@ -0,0 +1,19 @@ +# xpack - Header-only library + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO xyz347/xpack + REF f7985ea64426d09f9c3d65558e905b7773f9de2e + SHA512 db4793536648084868c6645306d89026e7fefddc9875dcacb6e44abf7513ff1ce690f41681a35503ba6ad0ab5510ca80418065216a1c2d8f40df6114c1eee2ab + HEAD_REF master +) + +file(GLOB header_files + "${SOURCE_PATH}/*.h" + "${SOURCE_PATH}/*.hpp") +file(COPY ${header_files} + "${SOURCE_PATH}/xpack.pri" + DESTINATION "${CURRENT_PACKAGES_DIR}/include/${PORT}") + +# Handle copyright +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/xpack/vcpkg.json b/ports/xpack/vcpkg.json new file mode 100644 index 00000000000000..34c3036a10d060 --- /dev/null +++ b/ports/xpack/vcpkg.json @@ -0,0 +1,11 @@ +{ + "name": "xpack", + "version": "1.0.5", + "description": "Convert C++ struct from/to json/xml", + "homepage": "https://github.com/xyz347/xpack", + "license": "Apache-2.0", + "dependencies": [ + "rapidjson", + "rapidxml" + ] +} diff --git a/ports/xproperty/portfile.cmake b/ports/xproperty/portfile.cmake index 364f95c50f1f56..f6fb17b8bc0da8 100644 --- a/ports/xproperty/portfile.cmake +++ b/ports/xproperty/portfile.cmake @@ -10,19 +10,18 @@ vcpkg_from_github( fix-target.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_TESTS=OFF -DDOWNLOAD_GTEST=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${PORT}") -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug" "${CURRENT_PACKAGES_DIR}/lib") # Handle copyright -configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) +configure_file("${SOURCE_PATH}/LICENSE" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) diff --git a/ports/xproperty/vcpkg.json b/ports/xproperty/vcpkg.json index 31b7c10940884f..14c2b3cde38054 100644 --- a/ports/xproperty/vcpkg.json +++ b/ports/xproperty/vcpkg.json @@ -1,9 +1,17 @@ { "name": "xproperty", - "version-string": "0.8.1", - "port-version": 1, + "version": "0.8.1", + "port-version": 3, "description": "Traitlets-like C++ properties and implementation of the observer pattern", "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, "xtl" ] } diff --git a/ports/xproto/portfile.cmake b/ports/xproto/portfile.cmake new file mode 100644 index 00000000000000..87380da9aee29c --- /dev/null +++ b/ports/xproto/portfile.cmake @@ -0,0 +1,51 @@ +if(NOT X_VCPKG_FORCE_VCPKG_X_LIBRARIES AND NOT VCPKG_TARGET_IS_WINDOWS) + message(STATUS "Utils and libraries provided by '${PORT}' should be provided by your system! Install the required packages or force vcpkg libraries by setting X_VCPKG_FORCE_VCPKG_X_LIBRARIES in your triplet") + set(VCPKG_POLICY_EMPTY_PACKAGE enabled) +else() + +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + set(PATCHES + vcxserver-xw32defs.patch + windows-long64.patch + windows-io.patch + windows_mean_and_lean.patch + windows-none.patch + windows-include-guards.patch + ) +endif() + +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.freedesktop.org/xorg + OUT_SOURCE_PATH SOURCE_PATH + REPO proto/xorgproto + REF 57acac1d4c7967f4661fb1c9f86f48f34a46c48d # 2021.5 + SHA512 5d2b6096e7f6ec6a3414f4370da583f6660fbd287474e8b4cd3e51ccc35514181352d3b0b9cd4b8d6e30de7b54f4ce01a9fbf17be75cf8de18aa28e9f774b8c4 + HEAD_REF master + PATCHES + upstream-1.patch + ${PATCHES} +) + +vcpkg_configure_meson(SOURCE_PATH "${SOURCE_PATH}" + OPTIONS "-Dlegacy=true") +vcpkg_install_meson() + +# To make CMake consumption easier. +if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/share/pkgconfig/") + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/lib/") + file(RENAME "${CURRENT_PACKAGES_DIR}/debug/share/pkgconfig/" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig") +endif() +if(EXISTS "${CURRENT_PACKAGES_DIR}/share/pkgconfig/") + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/lib/") + file(RENAME "${CURRENT_PACKAGES_DIR}/share/pkgconfig/" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig") +endif() + +vcpkg_fixup_pkgconfig(SKIP_CHECK) # pc files requiring Xau Xt xt SM ICE X11 xcb Xdmcp are installed before they can be used. +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +# Handle copyright +file(GLOB_RECURSE _files "${SOURCE_PATH}/COPYING*") +file(INSTALL ${_files} DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright(FILE_LIST ${_files}) +file(WRITE "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" "") +endif() diff --git a/ports/xproto/upstream-1.patch b/ports/xproto/upstream-1.patch new file mode 100644 index 00000000000000..55f283f6382024 --- /dev/null +++ b/ports/xproto/upstream-1.patch @@ -0,0 +1,12 @@ +diff --git a/include/X11/XF86keysym.h b/include/X11/XF86keysym.h +index c242e42f5fee2e28da11df2d33b005e9bb4b5441..59ba54d1a13fabdded6920ce946c1e20594f49ff 100644 +--- a/include/X11/XF86keysym.h ++++ b/include/X11/XF86keysym.h +@@ -394,6 +394,7 @@ + #define XF86XK_VoiceCommand _EVDEVK(0x246) /* v3.16 KEY_VOICECOMMAND */ + #define XF86XK_Assistant _EVDEVK(0x247) /* v4.13 KEY_ASSISTANT */ + /* Use: XK_ISO_Next_Group _EVDEVK(0x248) v5.2 KEY_KBD_LAYOUT_NEXT */ ++#define XF86XK_EmojiPicker _EVDEVK(0x249) /* v5.13 KEY_EMOJI_PICKER */ + #define XF86XK_BrightnessMin _EVDEVK(0x250) /* v3.16 KEY_BRIGHTNESS_MIN */ + #define XF86XK_BrightnessMax _EVDEVK(0x251) /* v3.16 KEY_BRIGHTNESS_MAX */ + #define XF86XK_KbdInputAssistPrev _EVDEVK(0x260) /* v3.18 KEY_KBDINPUTASSIST_PREV */ diff --git a/ports/xproto/vcpkg.json b/ports/xproto/vcpkg.json new file mode 100644 index 00000000000000..43a4509c3698c3 --- /dev/null +++ b/ports/xproto/vcpkg.json @@ -0,0 +1,15 @@ +{ + "name": "xproto", + "version": "2021.5", + "description": "X Window System unified protocol definitions", + "homepage": "https://gitlab.freedesktop.org/xorg/proto/xorgproto", + "license": null, + "dependencies": [ + "libxslt", + { + "name": "vcpkg-tool-meson", + "host": true + }, + "xorg-macros" + ] +} diff --git a/ports/xproto/vcxserver-xw32defs.patch b/ports/xproto/vcxserver-xw32defs.patch new file mode 100644 index 00000000000000..03b84a4cf5a910 --- /dev/null +++ b/ports/xproto/vcxserver-xw32defs.patch @@ -0,0 +1,22 @@ +diff --git a/include/X11/Xw32defs.h b/include/X11/Xw32defs.h +index 683b588..db1eabd 100644 +--- a/include/X11/Xw32defs.h ++++ b/include/X11/Xw32defs.h +@@ -27,7 +27,6 @@ typedef char *caddr_t; + # define execve _execve + # define execvp _execvp + # define execvpe _execvpe +-# define fdopen _fdopen + # define fileno _fileno + # define fstat _fstat + # define getcwd _getcwd +@@ -72,8 +71,8 @@ typedef char *caddr_t; + # define S_IEXEC _S_IEXEC + + # define F_OK 0 +-# define X_OK 1 + # define W_OK 2 + # define R_OK 4 ++# define X_OK R_OK + # endif /* __GNUC__ */ + #endif diff --git a/ports/xproto/windows-include-guards.patch b/ports/xproto/windows-include-guards.patch new file mode 100644 index 00000000000000..7e252aacdff4b6 --- /dev/null +++ b/ports/xproto/windows-include-guards.patch @@ -0,0 +1,41 @@ +diff --git a/include/X11/Xwindows.h b/include/X11/Xwindows.h +index 900257928..666ee6515 100644 +--- a/include/X11/Xwindows.h ++++ b/include/X11/Xwindows.h +@@ -41,6 +41,11 @@ The Open Group. + * do as it's no help at all to X11 clients which also need to use the + * Win32 API) + */ ++#pragma once ++ ++#ifndef _X11_XWINDOWS_H_ ++#define _X11_XWINDOWS_H_ ++ + #undef _XFree86Server + #ifdef XFree86Server + # define _XFree86Server +@@ -130,3 +135,4 @@ typedef int Status; + # undef _XFree86Server + #endif + ++#endif +diff --git a/include/X11/Xwinsock.h b/include/X11/Xwinsock.h +index 92e0d2a33..1e3e8671b 100644 +--- a/include/X11/Xwinsock.h ++++ b/include/X11/Xwinsock.h +@@ -32,6 +32,10 @@ The Open Group. + * Conflicts come from the fact that including winsock.h actually pulls + * in the whole Windows API... + */ ++#pragma once ++ ++#ifndef _X11_XWINSOCK_H_ ++#define _X11_XWINSOCK_H_ + + #undef _XFree86Server + #ifdef XFree86Server +@@ -100,3 +104,4 @@ typedef int Status; + # undef _XFree86Server + #endif + ++#endif diff --git a/ports/xproto/windows-io.patch b/ports/xproto/windows-io.patch new file mode 100644 index 00000000000000..159d1217d73e18 --- /dev/null +++ b/ports/xproto/windows-io.patch @@ -0,0 +1,12 @@ +diff --git a/include/X11/Xos.h b/include/X11/Xos.h +index 28dfc673a..37d268f27 100644 +--- a/include/X11/Xos.h ++++ b/include/X11/Xos.h +@@ -80,6 +80,7 @@ in this Software without prior written authorization from The Open Group. + # include + # endif + # ifdef WIN32 ++# include // For open() + # include + # else + # include diff --git a/ports/xproto/windows-long64.patch b/ports/xproto/windows-long64.patch new file mode 100644 index 00000000000000..5d8b74396bddfa --- /dev/null +++ b/ports/xproto/windows-long64.patch @@ -0,0 +1,48 @@ +diff --git a/include/X11/Xwinsock.h b/include/X11/Xwinsock.h +index 624047d..e8d5653 100644 +--- a/include/X11/Xwinsock.h ++++ b/include/X11/Xwinsock.h +@@ -47,6 +47,10 @@ The Open Group. + #define _NO_BOOL_TYPEDEF + #define BOOL WINBOOL + #define INT32 wINT32 ++#ifdef __x86_64__ ++#define INT64 wINT64 ++#define LONG64 wLONG64 ++#endif + #undef Status + #define Status wStatus + #define ATOM wATOM +@@ -58,6 +62,8 @@ The Open Group. + #undef BYTE + #undef BOOL + #undef INT32 ++#undef INT64 ++#undef LONG64 + #undef ATOM + #undef FreeResource + #undef CreateWindowA +diff --git a/include/X11/meson.build b/include/X11/meson.build +index 1c33c64..703ab19 100644 +--- a/include/X11/meson.build ++++ b/include/X11/meson.build +@@ -1,7 +1,8 @@ + fd_set_maybe_headers = [ 'sys/param.h', + 'sys/types.h', + 'sys/time.h', +- 'sys/select.h' ++ 'sys/select.h', ++ 'winsock2.h' + ] + fd_set_headers = '' + foreach h : fd_set_maybe_headers +@@ -15,6 +16,8 @@ if cc.has_member('fd_set', 'fds_bits', prefix: fd_set_headers) + fds_bits = 'fds_bits' + elif cc.has_member('fd_set', '__fds_bits', prefix: fd_set_headers) + fds_bits = '__fds_bits' ++elif cc.has_member('fd_set', 'fd_count', prefix: fd_set_headers) ++ fds_bits = 'fd_count' + else + error('Your fd_set is too weird.') + endif +-- \ No newline at end of file diff --git a/ports/xproto/windows-none.patch b/ports/xproto/windows-none.patch new file mode 100644 index 00000000000000..87764c88b42b51 --- /dev/null +++ b/ports/xproto/windows-none.patch @@ -0,0 +1,85 @@ +diff --git a/include/X11/Xwindows.h b/include/X11/Xwindows.h +index 70e1debd5..236ec96a7 100644 +--- a/include/X11/Xwindows.h ++++ b/include/X11/Xwindows.h +@@ -69,6 +69,16 @@ The Open Group. + #endif + #undef Status + #define Status wStatus ++#ifdef None // FS.h defines None which is used in winnt.h ++#pragma push_macro("None") ++#define NoneDefined ++#undef None ++#endif ++#ifdef ControlMask // X.h defines ControlMask which is used in processthreadapi.h ++#pragma push_macro("ControlMask") ++#define ControlMaskDefined ++#undef ControlMask ++#endif + #define ATOM wATOM + #define BYTE wBYTE + #define FreeResource wFreeResource +@@ -76,6 +77,14 @@ The Open Group. + #undef NOMINMAX + #undef Status +-#define Status int ++typedef int Status; ++#ifdef NoneDefined ++#pragma pop_macro("None") ++#undef NoneDefined ++#endif ++#ifdef ControlMaskDefined ++#pragma pop_macro("ControlMask") ++#undef ControlMaskDefined ++#endif + #undef BYTE + #undef BOOL + #undef INT32 +diff --git a/include/X11/Xwinsock.h b/include/X11/Xwinsock.h +index 624047d..e8d5653 100644 +--- a/include/X11/Xwinsock.h ++++ b/include/X11/Xwinsock.h +@@ -47,23 +47,42 @@ The Open Group. + #define _NO_BOOL_TYPEDEF + #define BOOL WINBOOL + #define INT32 wINT32 + #ifdef __x86_64__ + #define INT64 wINT64 + #define LONG64 wLONG64 + #endif + #undef Status + #define Status wStatus ++#ifdef None ++#pragma push_macro("None") ++#define NoneDefined ++#undef None ++#endif ++#ifdef ControlMask ++#pragma push_macro("ControlMask") ++#define ControlMaskDefined ++#undef ControlMask ++#endif + #define ATOM wATOM + #define BYTE wBYTE + #define FreeResource wFreeResource + #include ++#include + #undef Status +-#define Status int ++typedef int Status; ++#ifdef NoneDefined ++#pragma pop_macro("None") ++#undef NoneDefined ++#endif ++#ifdef ControlMaskDefined ++#pragma pop_macro("ControlMask") ++#undef ControlMaskDefined ++#endif + #undef BYTE + #undef BOOL + #undef INT32 + #undef INT64 + #undef LONG64 + #undef ATOM + #undef FreeResource + #undef CreateWindowA diff --git a/ports/xproto/windows_mean_and_lean.patch b/ports/xproto/windows_mean_and_lean.patch new file mode 100644 index 00000000000000..f50e4c8806f941 --- /dev/null +++ b/ports/xproto/windows_mean_and_lean.patch @@ -0,0 +1,13 @@ +diff --git a/include/X11/Xwindows.h b/include/X11/Xwindows.h +index 70e1debd5..236ec96a7 100644 +--- a/include/X11/Xwindows.h ++++ b/include/X11/Xwindows.h +@@ -54,7 +54,7 @@ The Open Group. + * + */ + #define NOMINMAX +- ++#define WIN32_LEAN_AND_MEAN // Otherwise this will include winsock.h! + /* + * mingw-w64 headers define BOOL as a typedef, protecting against macros + * mingw.org headers define BOOL in terms of WINBOOL diff --git a/ports/xqilla/CMakeLists.txt b/ports/xqilla/CMakeLists.txt new file mode 100644 index 00000000000000..1a9445ff2fc412 --- /dev/null +++ b/ports/xqilla/CMakeLists.txt @@ -0,0 +1,459 @@ +cmake_minimum_required(VERSION 3.21) +cmake_policy(VERSION 3.21) + +if (BUILD_SHARED_LIBS) + add_definitions("-DXQILLA_APIS=") +else() + add_definitions("-DXQILLA_API=") +endif() + +project(xqilla C CXX) + +set(CMAKE_CXX_STANDARD 11) # 17 does not allow 'register' + +add_library(xqilla +./src/exceptions/XQException.cpp +./src/exceptions/XQillaException.cpp +./src/fastxdm/FastXDMSequenceBuilder.cpp +./src/fastxdm/FastXDMNodeImpl.cpp +./src/fastxdm/FastXDMDocument.cpp +./src/fastxdm/FastXDMUpdateFactory.cpp +./src/fastxdm/FastXDMConfiguration.cpp +./src/ast/XQAttributeConstructor.cpp +./src/ast/XQOrderingChange.cpp +./src/ast/XQReturn.cpp +./src/ast/XQPredicate.cpp +./src/ast/XQNamespaceBinding.cpp +./src/ast/XQCopy.cpp +./src/ast/XQQuantified.cpp +./src/ast/NumericFunction.cpp +./src/ast/XQOperator.cpp +./src/ast/XQVariable.cpp +./src/ast/StaticAnalysis.cpp +./src/ast/XQFunctionRef.cpp +./src/ast/XQCastAs.cpp +./src/ast/XQStep.cpp +./src/ast/XQLiteral.cpp +./src/ast/XQCopyOf.cpp +./src/ast/XQElementConstructor.cpp +./src/ast/XQDocumentConstructor.cpp +./src/ast/XQTreatAs.cpp +./src/ast/XQCallTemplate.cpp +./src/ast/XQTextConstructor.cpp +./src/ast/XQNamespaceConstructor.cpp +./src/ast/XQMap.cpp +./src/ast/XQFunctionCoercion.cpp +./src/ast/XQTypeswitch.cpp +./src/ast/XQAtomize.cpp +./src/ast/XQInlineFunction.cpp +./src/ast/XQSequence.cpp +./src/ast/LetTuple.cpp +./src/ast/WhereTuple.cpp +./src/ast/XQPIConstructor.cpp +./src/ast/XQFunctionDeref.cpp +./src/ast/StaticType.cpp +./src/ast/ContextTuple.cpp +./src/ast/XQGlobalVariable.cpp +./src/ast/OrderByTuple.cpp +./src/ast/ForTuple.cpp +./src/ast/XQFunction.cpp +./src/ast/CountTuple.cpp +./src/ast/XQFunctionConversion.cpp +./src/ast/XQApplyTemplates.cpp +./src/ast/XQCommentConstructor.cpp +./src/ast/XQCastableAs.cpp +./src/ast/XQIf.cpp +./src/ast/XQContextItem.cpp +./src/ast/XQDOMConstructor.cpp +./src/ast/ASTNodeImpl.cpp +./src/ast/TupleNode.cpp +./src/ast/XQNav.cpp +./src/ast/XQEffectiveBooleanValue.cpp +./src/ast/XQDocumentOrder.cpp +./src/ast/XQFunctionCall.cpp +./src/ast/XQValidate.cpp +./src/ast/ConvertFunctionArg.cpp +./src/ast/XQPartialApply.cpp +./src/ast/XQAnalyzeString.cpp +./src/axis/NodeTest.cpp +./src/fulltext/FTContent.cpp +./src/fulltext/FTOrder.cpp +./src/fulltext/DefaultTokenStore.cpp +./src/fulltext/DefaultTokenizer.cpp +./src/fulltext/FTWords.cpp +./src/fulltext/FTOr.cpp +./src/fulltext/FTContains.cpp +./src/fulltext/FTScope.cpp +./src/fulltext/FTWindow.cpp +./src/fulltext/FTMildnot.cpp +./src/fulltext/FTAnd.cpp +./src/fulltext/FTUnaryNot.cpp +./src/fulltext/FTDistance.cpp +./src/framework/ProxyMemoryManager.cpp +./src/framework/XPath2MemoryManagerImpl.cpp +./src/framework/StringPool.cpp +./src/framework/BaseMemoryManager.cpp +./src/framework/ReferenceCounted.cpp +./src/xqc/XQillaXQCExpression.cpp +./src/xqc/XQillaXQCStaticContext.cpp +./src/xqc/XQillaXQCDynamicContext.cpp +./src/xqc/XQillaXQCImplementation.cpp +./src/xqc/XQillaXQCSequence.cpp +./src/schema/SequenceType.cpp +./src/schema/FaxppDocumentCacheImpl.cpp +./src/schema/AnyAtomicTypeDatatypeValidator.cpp +./src/schema/DocumentCacheImpl.cpp +./src/schema/SchemaValidatorFilter.cpp +./src/optimizer/Optimizer.cpp +./src/optimizer/StaticTyper.cpp +./src/optimizer/ASTVisitor.cpp +./src/optimizer/ASTReleaser.cpp +./src/optimizer/ASTCopier.cpp +./src/optimizer/QueryPathNode.cpp +./src/optimizer/QueryPathTreeGenerator.cpp +./src/optimizer/ASTToXML.cpp +./src/optimizer/PartialEvaluator.cpp +./src/xqts/TestSuiteRunner.cpp +./src/xqts/TestSuiteParser.cpp +./src/xqts/TestSuiteResultListener.cpp +./src/items/Numeric.cpp +./src/items/DatatypeFactory.cpp +./src/items/AnyAtomicType.cpp +./src/items/DateOrTimeType.cpp +./src/items/DatatypeLookup.cpp +./src/items/Timezone.cpp +./src/items/ATUntypedAtomic.cpp +./src/items/impl/ATUntypedAtomicImpl.cpp +./src/items/impl/FunctionRefImpl.cpp +./src/items/impl/ATStringOrDerivedImpl.cpp +./src/items/impl/ATDateTimeOrDerivedImpl.cpp +./src/items/impl/ATDurationOrDerivedImpl.cpp +./src/items/impl/ATAnySimpleTypeImpl.cpp +./src/items/impl/ATTimeOrDerivedImpl.cpp +./src/items/impl/ATGYearOrDerivedImpl.cpp +./src/items/impl/ATFloatOrDerivedImpl.cpp +./src/items/impl/ATGMonthOrDerivedImpl.cpp +./src/items/impl/ATGDayOrDerivedImpl.cpp +./src/items/impl/ATBooleanOrDerivedImpl.cpp +./src/items/impl/ATQNameOrDerivedImpl.cpp +./src/items/impl/ATDoubleOrDerivedImpl.cpp +./src/items/impl/ATAnyURIOrDerivedImpl.cpp +./src/items/impl/ATGYearMonthOrDerivedImpl.cpp +./src/items/impl/ATNotationOrDerivedImpl.cpp +./src/items/impl/ATHexBinaryOrDerivedImpl.cpp +./src/items/impl/ATBase64BinaryOrDerivedImpl.cpp +./src/items/impl/ATDecimalOrDerivedImpl.cpp +./src/items/impl/ATGMonthDayOrDerivedImpl.cpp +./src/items/impl/ATDateOrDerivedImpl.cpp +./src/items/Item.cpp +./src/items/Node.cpp +./src/items/ATDurationOrDerived.cpp +./src/lexer/XSLT2Lexer.cpp +./src/lexer/XQLexer.cpp +./src/lexer/XQLexer2.cpp +./src/simple-api/XQilla.cpp +./src/simple-api/XQQuery.cpp +./src/utils/UTF8Str.cpp +./src/utils/XMLChCompare.cpp +./src/utils/XStr.cpp +./src/utils/DelayedModule.cpp +./src/utils/ContextUtils.cpp +./src/utils/UnicodeTransformer.cpp +./src/utils/NumUtils.cpp +./src/utils/XPath2Utils.cpp +./src/utils/XPath2NSUtils.cpp +./src/utils/DateUtils.cpp +./src/utils/XQillaPlatformUtils.cpp +./src/mapm/mapm_mt.cpp +./src/mapm/m_apm.cpp +./src/xerces/XercesNodeImpl.cpp +./src/xerces/AncestorAxis.cpp +./src/xerces/FollowingAxis.cpp +./src/xerces/XercesURIResolver.cpp +./src/xerces/AttributeAxis.cpp +./src/xerces/NamespaceAxis.cpp +./src/xerces/DescendantOrSelfAxis.cpp +./src/xerces/XercesConfiguration.cpp +./src/xerces/PrecedingAxis.cpp +./src/xerces/ParentAxis.cpp +./src/xerces/PrecedingSiblingAxis.cpp +./src/xerces/ChildAxis.cpp +./src/xerces/DescendantAxis.cpp +./src/xerces/Axis.cpp +./src/xerces/XercesUpdateFactory.cpp +./src/xerces/AncestorOrSelfAxis.cpp +./src/xerces/XercesSequenceBuilder.cpp +./src/xerces/FollowingSiblingAxis.cpp +./src/parser/XQParser.cpp +./src/parser/QName.cpp +./src/functions/FunctionMinutesFromTime.cpp +./src/functions/FunctionWords.cpp +./src/functions/FunctionMonthFromDateTime.cpp +./src/functions/FunctionLocalNameFromQName.cpp +./src/functions/FunctionDistinctValues.cpp +./src/functions/FunctionMonthsFromDuration.cpp +./src/functions/FunctionCos.cpp +./src/functions/FunctionTrace.cpp +./src/functions/FunctionTimezoneFromDate.cpp +./src/functions/FunctionCodepointsToString.cpp +./src/functions/FunctionMinutesFromDateTime.cpp +./src/functions/FunctionYearFromDate.cpp +./src/functions/FunctionStaticBaseURI.cpp +./src/functions/BuiltInModules.cpp +./src/functions/FunctionAtan.cpp +./src/functions/FunctionCurrentDateTime.cpp +./src/functions/FunctionAdjustTimeToTimezone.cpp +./src/functions/FunctionCeiling.cpp +./src/functions/FunctionExplain.cpp +./src/functions/FunctionImplicitTimezone.cpp +./src/functions/FunctionStartsWith.cpp +./src/functions/FunctionLowerCase.cpp +./src/functions/FunctionString.cpp +./src/functions/FunctionSentences.cpp +./src/functions/FunctionYearsFromDuration.cpp +./src/functions/FunctionNamespaceURIFromQName.cpp +./src/functions/XQillaFunction.cpp +./src/functions/FunctionParseHTML.cpp +./src/functions/FunctionDayFromDate.cpp +./src/functions/FunctionId.cpp +./src/functions/FunctionEmpty.cpp +./src/functions/FunctionUnparsedText.cpp +./src/functions/FunctionAdjustDateTimeToTimezone.cpp +./src/functions/FunctionTimezoneFromTime.cpp +./src/functions/FunctionRoot.cpp +./src/functions/FunctionCount.cpp +./src/functions/FunctionPosition.cpp +./src/functions/FunctionCurrentDate.cpp +./src/functions/FunctionFunctionArity.cpp +./src/functions/EXSLTMathFunction.cpp +./src/functions/FunctionRegexGroup.cpp +./src/functions/FunctionError.cpp +./src/functions/FunctionSerializeJSON.cpp +./src/functions/FunctionTimezoneFromDateTime.cpp +./src/functions/FunctionHead.cpp +./src/functions/FunctionStringLength.cpp +./src/functions/FunctionFloor.cpp +./src/functions/FunctionResolveURI.cpp +./src/functions/FunctionLog.cpp +./src/functions/FunctionContains.cpp +./src/functions/FunctionMatches.cpp +./src/functions/FunctionMonthFromDate.cpp +./src/functions/FunctionSecondsFromTime.cpp +./src/functions/FunctionSubstring.cpp +./src/functions/FunctionDateTime.cpp +./src/functions/FunctionCollection.cpp +./src/functions/FunctionConcat.cpp +./src/functions/FunctionParseXML.cpp +./src/functions/FunctionAnalyzeString.cpp +./src/functions/FunctionTime.cpp +./src/functions/FunctionDocument.cpp +./src/functions/FunctionCompare.cpp +./src/functions/FunctionTokenize.cpp +./src/functions/FunctionSecondsFromDuration.cpp +./src/functions/FunctionSignature.cpp +./src/functions/FunctionHoursFromDateTime.cpp +./src/functions/FunctionDayFromDateTime.cpp +./src/functions/FunctionAsin.cpp +./src/functions/FunctionUpperCase.cpp +./src/functions/FunctionMinutesFromDuration.cpp +./src/functions/RegExpFunction.cpp +./src/functions/FunctionCurrentTime.cpp +./src/functions/FunctionYearFromDateTime.cpp +./src/functions/FunctionLast.cpp +./src/functions/FunctionLookup.cpp +./src/functions/FunctionDaysFromDuration.cpp +./src/functions/XQUserFunction.cpp +./src/functions/FunctionHoursFromTime.cpp +./src/functions/FunctionNilled.cpp +./src/functions/FunctionLang.cpp +./src/functions/FunctionDoc.cpp +./src/functions/FunctionParseJSON.cpp +./src/functions/FunctionFunctionName.cpp +./src/functions/FunctionEndsWith.cpp +./src/functions/FunctionDocAvailable.cpp +./src/functions/FunctionDefaultCollation.cpp +./src/functions/FunctionNormalizeUnicode.cpp +./src/functions/FunctionAbs.cpp +./src/functions/FunctionStringToCodepoints.cpp +./src/functions/FunctionPower.cpp +#./src/functions/FunctionSubstringBeforeAfter.cpp +./src/functions/FunctionUnordered.cpp +./src/functions/FunctionNodeName.cpp +./src/functions/FunctionSin.cpp +./src/functions/FunctionPrefixFromQName.cpp +./src/functions/FunctionAdjustDateToTimezone.cpp +./src/functions/FunctionQName.cpp +./src/functions/FunctionRoundHalfToEven.cpp +./src/functions/FunctionNot.cpp +./src/functions/FunctionReplace.cpp +./src/functions/FunctionBaseURI.cpp +./src/functions/FunctionExp.cpp +./src/functions/ExternalFunction.cpp +./src/functions/FunctionLocalname.cpp +./src/functions/FuncFactory.cpp +./src/functions/FunctionNamespaceUri.cpp +./src/functions/FunctionSecondsFromDateTime.cpp +./src/functions/FunctionHoursFromDuration.cpp +./src/functions/FunctionDocumentURI.cpp +./src/functions/FunctionNumber.cpp +./src/functions/FunctionRound.cpp +./src/functions/FunctionAcos.cpp +./src/functions/FunctionIdref.cpp +./src/functions/FunctionName.cpp +./src/functions/FunctionCaseFold.cpp +./src/functions/FunctionSqrt.cpp +./src/functions/FunctionTail.cpp +./src/functions/FunctionTan.cpp +./src/functions/FunctionNormalizeSpace.cpp +./src/debug/DebugHookDecorator.cpp +./src/debug/InputParser.cpp +./src/debug/TupleDebugHook.cpp +./src/debug/InteractiveDebugger.cpp +./src/debug/StackFrame.cpp +./src/debug/ASTDebugHook.cpp +./src/dom-api/impl/XQillaXMLGrammarPoolImpl.cpp +./src/dom-api/impl/XQillaExpressionImpl.cpp +./src/dom-api/impl/XPath2ResultImpl.cpp +./src/dom-api/impl/XPathNamespaceImpl.cpp +./src/dom-api/impl/XQillaDocumentImpl.cpp +./src/dom-api/impl/XQillaBuilderImpl.cpp +./src/dom-api/impl/XPathDocumentImpl.cpp +./src/dom-api/impl/XQillaNSResolverImpl.cpp +./src/dom-api/XQillaImplementation.cpp +./src/dom-api/XPath2NodeSerializer.cpp +./src/runtime/EmptyResult.cpp +./src/runtime/ResultBufferImpl.cpp +./src/runtime/ClosureResult.cpp +./src/runtime/Result.cpp +./src/runtime/SequenceResult.cpp +./src/runtime/ResultImpl.cpp +./src/runtime/Sequence.cpp +./src/runtime/ResultBuffer.cpp +./src/events/NSFixupFilter.cpp +./src/events/EventGenerator.cpp +./src/events/NoInheritFilter.cpp +./src/events/EventSerializer.cpp +./src/events/QueryPathTreeFilter.cpp +./src/events/ContentSequenceFilter.cpp +./src/context/impl/CollationImpl.cpp +./src/context/impl/ItemFactoryImpl.cpp +./src/context/impl/XQContextImpl.cpp +./src/context/impl/XQDynamicContextImpl.cpp +./src/context/impl/VarTypeStoreImpl.cpp +./src/context/impl/VarStoreImpl.cpp +./src/context/impl/VarHashEntryImpl.cpp +./src/context/impl/CodepointCollation.cpp +./src/context/UpdateFactory.cpp +./src/tools/compile-delayed-module.cpp +./src/update/UInsertAfter.cpp +./src/update/UTransform.cpp +./src/update/UInsertAsFirst.cpp +./src/update/UInsertBefore.cpp +./src/update/UInsertInto.cpp +./src/update/UReplace.cpp +./src/update/UDelete.cpp +./src/update/UInsertAsLast.cpp +./src/update/UReplaceValueOf.cpp +./src/update/URename.cpp +./src/update/PendingUpdateList.cpp +./src/update/FunctionPut.cpp +./src/update/UApplyUpdates.cpp +./src/operators/UnaryMinus.cpp +./src/operators/GeneralComp.cpp +./src/operators/Plus.cpp +./src/operators/ComparisonOperator.cpp +./src/operators/And.cpp +./src/operators/OrderComparison.cpp +./src/operators/LessThanEqual.cpp +./src/operators/Minus.cpp +./src/operators/LessThan.cpp +./src/operators/GreaterThan.cpp +./src/operators/Equals.cpp +./src/operators/NodeComparison.cpp +./src/operators/Union.cpp +./src/operators/Or.cpp +./src/operators/NotEquals.cpp +./src/operators/IntegerDivide.cpp +./src/operators/Except.cpp +./src/operators/Divide.cpp +./src/operators/GreaterThanEqual.cpp +./src/operators/Multiply.cpp +./src/operators/ArithmeticOperator.cpp +./src/operators/Mod.cpp +./src/operators/Intersect.cpp +./src/yajl/yajl_encode.c +./src/yajl/yajl.c +./src/yajl/yajl_parser.c +./src/yajl/yajl_buf.c +./src/yajl/yajl_gen.c +./src/yajl/yajl_lex.c +./src/utils/utf8proc/utf8proc.c +./src/mapm/mapm_log.c +./src/mapm/mapm_div.c +./src/mapm/mapmfmul.c +./src/mapm/mapm_add.c +./src/mapm/mapmhsin.c +./src/mapm/mapm_fft.c +./src/mapm/mapmipwr.c +./src/mapm/mapmasin.c +./src/mapm/mapm_rnd.c +./src/mapm/mapmutl2.c +./src/mapm/mapm_fam.c +./src/mapm/mapm_fpf.c +./src/mapm/mapmutil.c +./src/mapm/mapm5sin.c +./src/mapm/mapmstck.c +./src/mapm/mapm_exp.c +./src/mapm/mapm_mul.c +./src/mapm/mapmfact.c +./src/mapm/mapmgues.c +./src/mapm/mapm_flr.c +./src/mapm/mapmcbrt.c +./src/mapm/mapm_lg3.c +./src/mapm/mapm_rcp.c +./src/mapm/mapm_sin.c +./src/mapm/mapmistr.c +./src/mapm/mapmhasn.c +./src/mapm/mapmasn0.c +./src/mapm/mapmrsin.c +./src/mapm/mapm_set.c +./src/mapm/mapmsqrt.c +./src/mapm/mapm_gcd.c +./src/mapm/mapm_lg2.c +./src/mapm/mapmcnst.c +./src/mapm/mapm_pow.c +./src/mapm/mapmpwr2.c +./src/mapm/mapm_cpi.c +) + +include_directories(include) +find_package(XercesC REQUIRED) + +target_include_directories(xqilla PRIVATE "${XercesC_INCLUDE_DIRS}") +target_include_directories(xqilla PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/include") + +if (BUILD_SHARED_LIBS) + target_link_libraries(xqilla PUBLIC debug "${XercesC_LIBRARY_DEBUG}") + target_link_libraries(xqilla PUBLIC optimized "${XercesC_LIBRARY_RELEASE}") +endif() + +install( + TARGETS xqilla + EXPORT unofficial-xqilla + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib +) + +install( + DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/include/xqilla" + CONFIGURATIONS Release + DESTINATION include +) + +install( + EXPORT unofficial-xqilla + DESTINATION share/unofficial-xqilla + FILE unofficial-xqillaConfig.cmake + NAMESPACE unofficial::xqilla:: +) diff --git a/ports/xqilla/fix-compare.patch b/ports/xqilla/fix-compare.patch new file mode 100644 index 00000000000000..7e2d0d39a69b49 --- /dev/null +++ b/ports/xqilla/fix-compare.patch @@ -0,0 +1,26 @@ +diff --git a/include/xqilla/ast/XQDocumentOrder.hpp b/include/xqilla/ast/XQDocumentOrder.hpp +index 81189e6..c22280a 100644 +--- a/include/xqilla/ast/XQDocumentOrder.hpp ++++ b/include/xqilla/ast/XQDocumentOrder.hpp +@@ -68,7 +68,7 @@ private: + public: + uniqueLessThanCompareFn(const DynamicContext *context) + : context_(context) {} +- bool operator()(const Node::Ptr &first, const Node::Ptr &second) ++ bool operator()(const Node::Ptr &first, const Node::Ptr &second) const + { + return first->uniqueLessThan(second, context_); + } +diff --git a/src/lexer/XQLexer.cpp b/src/lexer/XQLexer.cpp +index 69c923f..aed0465 100644 +--- a/src/lexer/XQLexer.cpp ++++ b/src/lexer/XQLexer.cpp +@@ -235,7 +235,7 @@ static void yy_flex_free YY_PROTO(( void * )); + #define YY_SKIP_YYWRAP + #define yytext_ptr yytext + +-#include ++#include "FlexLexer.h" + int yyFlexLexer::yylex() + { + LexerError( "yyFlexLexer::yylex invoked but %option yyclass used" ); diff --git a/ports/xqilla/portfile.cmake b/ports/xqilla/portfile.cmake new file mode 100644 index 00000000000000..480e331e2be885 --- /dev/null +++ b/ports/xqilla/portfile.cmake @@ -0,0 +1,24 @@ +vcpkg_download_distfile(ARCHIVE + URLS "https://sourceforge.net/projects/xqilla/files/XQilla-2.3.4.tar.gz/download" + FILENAME "XQilla-2.3.4.tar.gz" + SHA512 f744ff883675887494780d24ecdc94afa394d3795d1544b1c598016b3f936c340ad7cd84529ac12962e3c5ce2f1be928a0cd4f9b9eb70e6645a38b0728cb1994 +) + +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE ${ARCHIVE} + PATCHES "fix-compare.patch" +) + +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + NO_CHARSET_FLAG +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-xqilla) +vcpkg_copy_pdbs() + + +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/xqilla" RENAME copyright) diff --git a/ports/xqilla/vcpkg.json b/ports/xqilla/vcpkg.json new file mode 100644 index 00000000000000..e3fe221269a188 --- /dev/null +++ b/ports/xqilla/vcpkg.json @@ -0,0 +1,19 @@ +{ + "name": "xqilla", + "version": "2.3.4", + "port-version": 3, + "description": "XQuery and XPath 2 library", + "homepage": "http://xqilla.sourceforge.net/HomePage", + "license": "Apache-2.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "xerces-c" + ] +} diff --git a/ports/xsimd/portfile.cmake b/ports/xsimd/portfile.cmake index 32e59e3553cc30..49d637d0c45f36 100644 --- a/ports/xsimd/portfile.cmake +++ b/ports/xsimd/portfile.cmake @@ -1,23 +1,30 @@ -# header-only library - +vcpkg_download_distfile( + WIN_PATCHES + URLS "https://github.com/xtensor-stack/xsimd/pull/1040/commits/e8cb862e434eb1e367afb83e1a3685bccff3e566.diff?full_index=1" + FILENAME "xsimd-e8cb862e434eb1e367afb83e1a3685bccff3e566.patch" + SHA512 e584033fb79c602a19222c177d5db28f9887dd17e741844d57f2236a5749ac4c02cc0740f8011ca990602887a6ee3dd21ae0b695455c447686b1a6c8bda2e092 +) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO xtensor-stack/xsimd - REF 8.0.3 - SHA512 4c93eea5c5ba7c72f718d7d404b9630850e0805d2698d472b964e4de765678801b369ce1da5e53372f28944f5f647a7ac162995f92535a820c6f4fc9defa7e5f + REF "${VERSION}" + SHA512 cdc42ddad3353297cf25ea2b6b3f09967f5f388efc26241f2997979fdbbac072819ff771145bc5bfa86cb326cca84b4119e8e6e3f658407961cf203a40603a7f HEAD_REF master + PATCHES + "${WIN_PATCHES}" ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - xcomplex ENABLE_XTL_COMPLEX + FEATURES + xcomplex ENABLE_XTL_COMPLEX ) +set(VCPKG_BUILD_TYPE release) # header-only port + vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DENABLE_FALLBACK=OFF -DBUILD_TESTS=OFF - -DDOWNLOAD_GTEST=OFF ${FEATURE_OPTIONS} ) @@ -25,6 +32,7 @@ vcpkg_cmake_install() vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug" "${CURRENT_PACKAGES_DIR}/lib") +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/xsimd/usage b/ports/xsimd/usage new file mode 100644 index 00000000000000..af6f6519be718b --- /dev/null +++ b/ports/xsimd/usage @@ -0,0 +1,4 @@ +xsimd provides CMake targets: + + find_package(xsimd CONFIG REQUIRED) + target_link_libraries(main PRIVATE xsimd) diff --git a/ports/xsimd/vcpkg.json b/ports/xsimd/vcpkg.json index a110b191883ef7..2c6b88c5740e7c 100644 --- a/ports/xsimd/vcpkg.json +++ b/ports/xsimd/vcpkg.json @@ -1,8 +1,10 @@ { "name": "xsimd", - "version": "8.0.3", + "version": "13.0.0", + "port-version": 1, "description": "Modern, portable C++ wrappers for SIMD intrinsics", "homepage": "https://github.com/xtensor-stack/xsimd", + "license": "BSD-3-Clause", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/xtensor-blas/portfile.cmake b/ports/xtensor-blas/portfile.cmake index 4de89d2754b51a..c49b540d5985e9 100644 --- a/ports/xtensor-blas/portfile.cmake +++ b/ports/xtensor-blas/portfile.cmake @@ -3,8 +3,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO xtensor-stack/xtensor-blas - REF 2876b041a2759f10dfde13ab3a2fc09578ae4b40 # 0.17.2 - SHA512 64c78d093f24fc15715bc7dfa486cfb1342a6752ea497f43553d031fc8be30718d01157e5b6412c516e6ce2be9045a89963d912e60f4eb7431675331b8ed6f90 + REF 66ab0fa7cd53d0b914f89d4d451576a9240ea457 # 0.20.0 + SHA512 c95aa1388577ca74933c81e56322c9dae9c4d6b0493be60d5a3bfbaeaf769f6005542b5b0a24a6c6374007499113c2920870b01c4f5ea712ad78c2468964b6db HEAD_REF master ) diff --git a/ports/xtensor-blas/vcpkg.json b/ports/xtensor-blas/vcpkg.json index 70c3147273b515..0189ad0f5f669a 100644 --- a/ports/xtensor-blas/vcpkg.json +++ b/ports/xtensor-blas/vcpkg.json @@ -1,7 +1,6 @@ { "name": "xtensor-blas", - "version-string": "0.17.2", - "port-version": 2, + "version": "0.20.0", "description": "BLAS extension to xtensor", "homepage": "https://github.com/xtensor-stack/xtensor-blas", "dependencies": [ diff --git a/ports/xtensor-fftw/portfile.cmake b/ports/xtensor-fftw/portfile.cmake index e7e70a729f8827..3ff1c022d51f56 100644 --- a/ports/xtensor-fftw/portfile.cmake +++ b/ports/xtensor-fftw/portfile.cmake @@ -8,9 +8,8 @@ vcpkg_from_github( HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DCOMPILE_WARNINGS=OFF -DBUILD_TESTS=OFF @@ -22,12 +21,12 @@ vcpkg_configure_cmake( -DCOVERAGE=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) - -vcpkg_fixup_pkgconfig() +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) + +vcpkg_fixup_pkgconfig() diff --git a/ports/xtensor-fftw/vcpkg.json b/ports/xtensor-fftw/vcpkg.json index 8ba4afb3f1d097..2356600f88befb 100644 --- a/ports/xtensor-fftw/vcpkg.json +++ b/ports/xtensor-fftw/vcpkg.json @@ -1,11 +1,19 @@ { "name": "xtensor-fftw", - "version-string": "2019-11-30", - "port-version": 2, + "version-date": "2019-11-30", + "port-version": 4, "description": "FFTW bindings for the xtensor C++14 multi-dimensional array library", "homepage": "https://github.com/xtensor-stack/xtensor-fftw", "dependencies": [ "fftw3", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, "xtensor" ] } diff --git a/ports/xtensor-io/portfile.cmake b/ports/xtensor-io/portfile.cmake index 97141106863bce..9deb72ec56d2f2 100644 --- a/ports/xtensor-io/portfile.cmake +++ b/ports/xtensor-io/portfile.cmake @@ -3,8 +3,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO xtensor-stack/xtensor-io - REF 2bc048b3f34731385f29e2f3b307103ee6d4e5ab # 0.12.8 - SHA512 d7c5c85489aea9b9d8af7ee33a43dd8ab888e7f03da8b533ace39e143f89acbae4fe88bb10253931a3cc44041e1532bd76483686f7f20c00e2850647a574349c + REF ffada938383b0f24c9e0b07cea7d5780057e1d96 # 0.13.0 + SHA512 ce5d085e500ef7043eb51538cab9a53c857983ac43e392cd65958c76fcde3ddb00161097cb70d334fa7d12af12e8109bb958b51f39afd9eeb60bb3421424058e HEAD_REF master ) diff --git a/ports/xtensor-io/vcpkg.json b/ports/xtensor-io/vcpkg.json index 78982b3b59e9d5..c09140b2b8259f 100644 --- a/ports/xtensor-io/vcpkg.json +++ b/ports/xtensor-io/vcpkg.json @@ -1,6 +1,6 @@ { "name": "xtensor-io", - "version": "0.12.8", + "version": "0.13.0", "port-version": 1, "description": "xtensor plugin to read and write images, audio files, numpy (compressed) npz and HDF5", "homepage": "https://github.com/xtensor-stack/xtensor-io", diff --git a/ports/xtensor/fix-find-tbb-and-install-destination.patch b/ports/xtensor/fix-find-tbb-and-install-destination.patch new file mode 100644 index 00000000000000..51ac35e1e90e33 --- /dev/null +++ b/ports/xtensor/fix-find-tbb-and-install-destination.patch @@ -0,0 +1,33 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 7535649..5c93655 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -75,8 +75,8 @@ if(XTENSOR_USE_XSIMD) + endif() + + if(XTENSOR_USE_TBB) +- set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH}" "${CMAKE_CURRENT_SOURCE_DIR}/cmake/") +- find_package(TBB REQUIRED) ++ #set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH}" "${CMAKE_CURRENT_SOURCE_DIR}/cmake/") ++ find_package(TBB CONFIG REQUIRED) + message(STATUS "Found intel TBB: ${TBB_INCLUDE_DIRS}") + endif() + +@@ -261,7 +261,7 @@ export(EXPORT ${PROJECT_NAME}-targets + install(FILES ${XTENSOR_HEADERS} + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/xtensor) + +-set(XTENSOR_CMAKECONFIG_INSTALL_DIR "${CMAKE_INSTALL_DATADIR}/cmake/${PROJECT_NAME}" CACHE ++set(XTENSOR_CMAKECONFIG_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}" CACHE + STRING "install path for xtensorConfig.cmake") + + configure_package_config_file(${PROJECT_NAME}Config.cmake.in +@@ -288,7 +288,7 @@ configure_file(${PROJECT_NAME}.pc.in + "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc" + @ONLY) + install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc" +- DESTINATION "${CMAKE_INSTALL_DATADIR}/pkgconfig/") ++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig/") + + # Write single include + # ==================== diff --git a/ports/xtensor/fix-find-xsimd.patch b/ports/xtensor/fix-find-xsimd.patch new file mode 100644 index 00000000000000..ff8d38bdf0a87f --- /dev/null +++ b/ports/xtensor/fix-find-xsimd.patch @@ -0,0 +1,31 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 5c93655..f02dc48 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -69,7 +69,12 @@ if(XTENSOR_USE_XSIMD) + message(STATUS "Found xsimd v${xsimd_VERSION}") + endif() + else() +- find_package(xsimd ${xsimd_REQUIRED_VERSION} REQUIRED) ++ find_package(xsimd CONFIG REQUIRED) ++ if(${xsimd_VERSION} GREATER_EQUAL ${xsimd_REQUIRED_VERSION}) ++ set(xsimd_REQUIRED_VERSION ${xsimd_VERSION}) ++ else() ++ message(ERROR "Mismatch xsimd versions. Found '${xsimd_VERSION}' but requires: '${xsimd_REQUIRED_VERSION}'") ++ endif() + message(STATUS "Found xsimd: ${xsimd_INCLUDE_DIRS}/xsimd") + endif() + endif() +diff --git a/xtensorConfig.cmake.in b/xtensorConfig.cmake.in +index ec72abb..7825612 100644 +--- a/xtensorConfig.cmake.in ++++ b/xtensorConfig.cmake.in +@@ -25,7 +25,7 @@ if(NOT TARGET @PROJECT_NAME@) + endif() + + if(XTENSOR_USE_XSIMD) +- find_dependency(xsimd @xsimd_REQUIRED_VERSION@) ++ find_dependency(xsimd @xsimd_REQUIRED_VERSION@ CONFIG) + target_link_libraries(@PROJECT_NAME@ INTERFACE xsimd) + target_compile_definitions(@PROJECT_NAME@ INTERFACE XTENSOR_USE_XSIMD) + endif() diff --git a/ports/xtensor/portfile.cmake b/ports/xtensor/portfile.cmake index a9be2459d94a0b..4f441d7fb4cca2 100644 --- a/ports/xtensor/portfile.cmake +++ b/ports/xtensor/portfile.cmake @@ -3,9 +3,12 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO xtensor-stack/xtensor - REF f3c11b2d810159e7063daddeaa0764f4006e5a73 # 0.23.10 - SHA512 85d94a3e346a13f8d802260e7b182a34f83ed7adddb5c082f10fdaac995ba5b895ea20daf33ac99d3f44e9eb95fdc4ec051eb006259258c4c2ae762c5f08399f + REF "${VERSION}" + SHA512 d8ff5bdb2af66db5ba84cceb2e5138728b7e689b81d5aab904c4f5dfbebdcde67b8ecf38e69750edb85e30a6f45ce70ff618ca3d1a76f38a2b4013a6a6320de6 HEAD_REF master + PATCHES + fix-find-tbb-and-install-destination.patch + fix-find-xsimd.patch ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS @@ -14,9 +17,8 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS tbb XTENSOR_USE_TBB ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DXTENSOR_ENABLE_ASSERT=OFF -DXTENSOR_CHECK_DIMENSION=OFF @@ -29,10 +31,10 @@ vcpkg_configure_cmake( ${FEATURE_OPTIONS} ) -vcpkg_install_cmake() +vcpkg_cmake_install() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug" "${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/xtensor/vcpkg.json b/ports/xtensor/vcpkg.json index 439e46066c058d..6b26777847e3f3 100644 --- a/ports/xtensor/vcpkg.json +++ b/ports/xtensor/vcpkg.json @@ -1,10 +1,19 @@ { "name": "xtensor", - "version": "0.23.10", + "version": "0.25.0", "description": "C++ tensors with broadcasting and lazy computing", "homepage": "https://github.com/xtensor-stack/xtensor", + "license": "BSD-3-Clause", "dependencies": [ "nlohmann-json", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, "xtl" ], "features": { diff --git a/ports/xtl/fix-fixup-cmake.patch b/ports/xtl/fix-fixup-cmake.patch index 9bc25bf0ba95d3..8243b617110686 100644 --- a/ports/xtl/fix-fixup-cmake.patch +++ b/ports/xtl/fix-fixup-cmake.patch @@ -1,8 +1,25 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index cbc6651..4e31f71 100644 +index 2429881..a816142 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -122,7 +122,7 @@ install(FILES ${XTL_HEADERS} +@@ -30,7 +30,7 @@ message(STATUS "xtl v${${PROJECT_NAME}_VERSION}") + # ============ + + if(NOT TARGET nlohmann_json) +- find_package(nlohmann_json QUIET) ++ find_package(nlohmann_json CONFIG REQUIRED) + endif() + + # Build +@@ -85,6 +85,7 @@ set_target_properties(xtl + endif() + + target_compile_features(xtl INTERFACE cxx_std_14) ++target_link_libraries(xtl INTERFACE nlohmann_json::nlohmann_json) + + option(BUILD_TESTS "xtl test suite" OFF) + option(DOWNLOAD_GTEST "build gtest from downloaded sources" OFF) +@@ -119,7 +120,7 @@ install(FILES ${XTL_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/xtl) endif() @@ -11,9 +28,22 @@ index cbc6651..4e31f71 100644 STRING "install path for xtlConfig.cmake") configure_package_config_file(${PROJECT_NAME}Config.cmake.in -@@ -157,4 +157,4 @@ configure_file(${PROJECT_NAME}.pc.in +@@ -154,4 +155,4 @@ configure_file(${PROJECT_NAME}.pc.in "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc" @ONLY) install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc" - DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/pkgconfig/") + DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig/") +diff --git a/xtlConfig.cmake.in b/xtlConfig.cmake.in +index 936eef1..ef392c6 100644 +--- a/xtlConfig.cmake.in ++++ b/xtlConfig.cmake.in +@@ -13,6 +13,8 @@ + # xtl_INCLUDE_DIRS - the directory containing xtl headers + # xtl_LIBRARY - empty + ++include(CMakeFindDependencyMacro) ++find_dependency(nlohmann_json) + @PACKAGE_INIT@ + + if(NOT TARGET @PROJECT_NAME@) diff --git a/ports/xtl/portfile.cmake b/ports/xtl/portfile.cmake index 6dd16a174a88d3..df761b5d2d978b 100644 --- a/ports/xtl/portfile.cmake +++ b/ports/xtl/portfile.cmake @@ -3,27 +3,25 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO xtensor-stack/xtl - REF e0f00666d90086bb245ae73abb6123d0e2c1b30b # 0.7.2 - SHA512 d7a552dc4e43a3270a56c57fde8fdc48a108909d4fa1e3fdd7ab12b178b3e271ed4d89aac9fd184e2739ddacfb3b5cb248538ed50a0ba56e740875c0faf5aa62 + REF "${VERSION}" + SHA512 07c2a68db3dbac556dbb0397e54792ddc7a3e87573bff04faa4262dc433b710392ff9c915d428f5abd1ae892ac9bc7744645e75fdb2bb2cee83c523e087c793e HEAD_REF master PATCHES fix-fixup-cmake.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +set(VCPKG_BUILD_TYPE release) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_TESTS=OFF -DDOWNLOAD_GTEST=OFF ) -vcpkg_install_cmake() - -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/xtl) 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/xtl/vcpkg.json b/ports/xtl/vcpkg.json index 3570c661fd2425..0f2442598a272e 100644 --- a/ports/xtl/vcpkg.json +++ b/ports/xtl/vcpkg.json @@ -1,9 +1,18 @@ { "name": "xtl", - "version": "0.7.2", + "version": "0.7.7", "description": "The x template library", "homepage": "https://github.com/xtensor-stack/xtl", + "license": "BSD-3-Clause", "dependencies": [ - "nlohmann-json" + "nlohmann-json", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/xtrans/portfile.cmake b/ports/xtrans/portfile.cmake new file mode 100644 index 00000000000000..f561e4cf1b3ede --- /dev/null +++ b/ports/xtrans/portfile.cmake @@ -0,0 +1,53 @@ +set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) + +if(NOT X_VCPKG_FORCE_VCPKG_X_LIBRARIES AND NOT VCPKG_TARGET_IS_WINDOWS) + message(STATUS "Utils and libraries provided by '${PORT}' should be provided by your system! Install the required packages or force vcpkg libraries by setting X_VCPKG_FORCE_VCPKG_X_LIBRARIES in your triplet") + set(VCPKG_POLICY_EMPTY_PACKAGE enabled) +else() + +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.freedesktop.org/xorg + OUT_SOURCE_PATH SOURCE_PATH + REPO lib/libxtrans + REF 3b5df889f58a99980a35a7b4a18eb4e7d2abeac4 #v1.4 + SHA512 d1a1ecd8aa07d19a8b4936a37109cecd0c965b859a17ea838835230f9326c1a353feef388052df03173562cbf0f3e3764146c3669b1928698cd55ccc4f92992c + HEAD_REF master + PATCHES win32.patch + symbols.patch +) + +set(ENV{ACLOCAL} "aclocal -I \"${CURRENT_INSTALLED_DIR}/share/xorg/aclocal/\"") +vcpkg_configure_make( + SOURCE_PATH ${SOURCE_PATH} + AUTOCONFIG +) + +vcpkg_install_make() + +file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/share/xorg") +file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/share/${PORT}") + +# the include folder is moved since it contains source files. It is not meant as a traditional include folder but as a shared files folder for different x libraries. +file(RENAME "${CURRENT_PACKAGES_DIR}/include" "${CURRENT_PACKAGES_DIR}/share/${PORT}/include") + +file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/lib") +file(RENAME "${CURRENT_PACKAGES_DIR}/share/${PORT}/pkgconfig/" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig") +file(RENAME "${CURRENT_PACKAGES_DIR}/share/${PORT}/aclocal/" "${CURRENT_PACKAGES_DIR}/share/xorg/aclocal") +if(NOT VCPKG_BUILD_TYPE) + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/lib") + file(RENAME "${CURRENT_PACKAGES_DIR}/debug/share/${PORT}/pkgconfig" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig") + file(RENAME "${CURRENT_PACKAGES_DIR}/debug/share/" "${CURRENT_PACKAGES_DIR}/share/xorg/debug") +endif() +vcpkg_fixup_pkgconfig() # must be called after files have been moved +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/xtrans.pc" "includedir=\${prefix}/include" "includedir=\${prefix}/share/${PORT}/include") +if(NOT VCPKG_BUILD_TYPE) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/xtrans.pc" "includedir=\${prefix}/../include" "includedir=\${prefix}/../share/${PORT}/include") +endif() + +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/${PORT}" RENAME copyright) +file(WRITE "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" "") +endif() diff --git a/ports/xtrans/symbols.patch b/ports/xtrans/symbols.patch new file mode 100644 index 00000000000000..2110d31b120b74 --- /dev/null +++ b/ports/xtrans/symbols.patch @@ -0,0 +1,15 @@ +diff --git a/Xtransutil.c b/Xtransutil.c +index 413a02376..2f8af0efc 100644 +--- a/Xtransutil.c ++++ b/Xtransutil.c +@@ -64,6 +64,10 @@ from The Open Group. + #ifdef WIN32 + #include + #include ++#ifdef _MSC_VER ++# include ++# define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR) ++#endif + #endif + + #ifdef X11_t diff --git a/ports/xtrans/vcpkg.json b/ports/xtrans/vcpkg.json new file mode 100644 index 00000000000000..190f9c1ad208f0 --- /dev/null +++ b/ports/xtrans/vcpkg.json @@ -0,0 +1,11 @@ +{ + "name": "xtrans", + "version": "1.4.0", + "port-version": 2, + "description": "xtrans - X Network Transport layer shared code", + "homepage": "https://gitlab.freedesktop.org/xorg/lib/libxtrans", + "license": null, + "dependencies": [ + "xorg-macros" + ] +} diff --git a/ports/xtrans/win32.patch b/ports/xtrans/win32.patch new file mode 100644 index 00000000000000..dee4c79d7329da --- /dev/null +++ b/ports/xtrans/win32.patch @@ -0,0 +1,58 @@ +diff --git a/Xtrans.h b/Xtrans.h +index fbf385e01..e52e7cba2 100644 +--- a/Xtrans.h ++++ b/Xtrans.h +@@ -50,6 +50,10 @@ from The Open Group. + #ifndef _XTRANS_H_ + #define _XTRANS_H_ + ++#if defined(_WIN32) && !defined(WIN32) ++# define WIN32 _WIN32 ++#endif ++ + #include + #include + #include +diff --git a/Xtransint.h b/Xtransint.h +index 2156bd52f..735b54301 100644 +--- a/Xtransint.h ++++ b/Xtransint.h +@@ -72,7 +72,7 @@ from The Open Group. + # define XTRANSDEBUG 1 + #endif + +-#ifdef WIN32 ++#if defined(WIN32) || defined(_WIN32) + # define _WILLWINSOCK_ + #endif + +diff --git a/Xtranssock.c b/Xtranssock.c +index c29390eaa..f2ef365cc 100644 +--- a/Xtranssock.c ++++ b/Xtranssock.c +@@ -74,6 +74,10 @@ from the copyright holders. + #include + #endif + ++#if defined(_WIN32) && !defined(WIN32) ++# define WIN32 _WIN32 ++#endif ++ + #ifndef WIN32 + + #if defined(TCPCONN) || defined(UNIXCONN) +diff --git a/Xtransutil.c b/Xtransutil.c +index f15be243c..cc67315e6 100644 +--- a/Xtransutil.c ++++ b/Xtransutil.c +@@ -54,6 +54,10 @@ from The Open Group. + * the internal implementation. + */ + ++#if defined(_WIN32) && !defined(WIN32) ++# define WIN32 _WIN32 ++#endif ++ + #ifdef XTHREADS + #include + #endif diff --git a/ports/xxhash/portfile.cmake b/ports/xxhash/portfile.cmake index 817a557c25ad71..2a2a191340cdf4 100644 --- a/ports/xxhash/portfile.cmake +++ b/ports/xxhash/portfile.cmake @@ -1,30 +1,31 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Cyan4973/xxHash - REF 94e5f23e736f2bb67ebdf90727353e65344f9fc0 # v0.8.0 - SHA512 367c82b37fd188890574446a7c237294a4a9ba038aff9a19a5d5d119058df74c089c682e9abad3281d5e14020c08834666343b2ea18378f400c8a0ee640098b8 + REF "v${VERSION}" + SHA512 3e3eef21432fe88bc4dd9940ccad0308fdea3537b06fa5ac0e74c1bde53413dff29c8b3fc617a8a42b9ce88fcf213311d338a31b1ce73b3729342c9e68f06c78 HEAD_REF dev ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - xxhsum XXHASH_BUILD_XXHSUM + FEATURES xxhsum XXHASH_BUILD_XXHSUM ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH}/cmake_unofficial - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/cmake_unofficial" OPTIONS ${FEATURE_OPTIONS} ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/xxHash TARGET_PATH share/${PORT}) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/xxHash) if("xxhsum" IN_LIST FEATURES) vcpkg_copy_tools(TOOL_NAMES xxhsum AUTO_CLEAN) endif() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) \ No newline at end of file +vcpkg_fixup_pkgconfig() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/xxhash/vcpkg.json b/ports/xxhash/vcpkg.json index 3337184136eae1..f12ece831d3dc2 100644 --- a/ports/xxhash/vcpkg.json +++ b/ports/xxhash/vcpkg.json @@ -1,9 +1,18 @@ { "name": "xxhash", - "version-string": "0.8.0", - "port-version": 2, + "version": "0.8.2", "description": "Extremely fast hash algorithm", "homepage": "https://github.com/Cyan4973/xxHash", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], "features": { "xxhsum": { "description": "Build the xxhsum binary" diff --git a/ports/yajl/portfile.cmake b/ports/yajl/portfile.cmake index c01987dee9fe93..43783a70896e61 100644 --- a/ports/yajl/portfile.cmake +++ b/ports/yajl/portfile.cmake @@ -1,32 +1,43 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO lloyd/yajl - REF 2.1.0 - SHA512 9e786d080803df80ec03a9c2f447501e6e8e433a6baf636824bc1d50ecf4f5f80d7dfb1d47958aeb0a30fe459bd0ef033d41bc6a79e1dc6e6b5eade930b19b02 + REF a0ecdde0c042b9256170f2f8890dd9451a4240aa #2.1.0 + SHA512 cf0279fdbdc21d07bc0f2d409f1dddb39fd2ad62ab9872e620f46de4753958f8c59e44ef2ee734547f0f25f9490bada8c9e97dcc1a4b14b25d3e7a7254f8e1f3 HEAD_REF master - PATCHES ${CMAKE_CURRENT_LIST_DIR}/cmake.patch + PATCHES cmake.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() +vcpkg_copy_pdbs() -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/yajl RENAME copyright) +if (EXISTS "${CURRENT_PACKAGES_DIR}/debug/share/pkgconfig/yajl.pc") + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig") + file(RENAME "${CURRENT_PACKAGES_DIR}/debug/share/pkgconfig/yajl.pc" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/yajl.pc") +endif() +if (EXISTS "${CURRENT_PACKAGES_DIR}/share/pkgconfig/yajl.pc") + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/lib/pkgconfig") + file(RENAME "${CURRENT_PACKAGES_DIR}/share/pkgconfig/yajl.pc" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/yajl.pc") +endif() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share ${CURRENT_PACKAGES_DIR}/share/pkgconfig) +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share" "${CURRENT_PACKAGES_DIR}/share/pkgconfig") if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) - file(GLOB SHAREDOBJECTS ${CURRENT_PACKAGES_DIR}/lib/libyajl.so* ${CURRENT_PACKAGES_DIR}/debug/lib/libyajl.so*) - file(REMOVE_RECURSE ${SHAREDOBJECTS} ${CURRENT_PACKAGES_DIR}/lib/yajl.lib ${CURRENT_PACKAGES_DIR}/debug/lib/yajl.lib) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") + file(GLOB SHAREDOBJECTS "${CURRENT_PACKAGES_DIR}/lib/libyajl.so*" "${CURRENT_PACKAGES_DIR}/debug/lib/libyajl.so*") + file(REMOVE_RECURSE "${SHAREDOBJECTS}" "${CURRENT_PACKAGES_DIR}/lib/yajl.lib" "${CURRENT_PACKAGES_DIR}/debug/lib/yajl.lib") else() - file(GLOB EXES ${CURRENT_PACKAGES_DIR}/bin/*.exe ${CURRENT_PACKAGES_DIR}/debug/bin/*.exe) + file(GLOB EXES "${CURRENT_PACKAGES_DIR}/bin/*.exe" "${CURRENT_PACKAGES_DIR}/debug/bin/*.exe") file(REMOVE_RECURSE ${EXES} - ${CURRENT_PACKAGES_DIR}/lib/yajl_s.lib ${CURRENT_PACKAGES_DIR}/debug/lib/yajl_s.lib - ${CURRENT_PACKAGES_DIR}/lib/libyajl_s.a ${CURRENT_PACKAGES_DIR}/debug/lib/libyajl_s.a + "${CURRENT_PACKAGES_DIR}/lib/yajl_s.lib" "${CURRENT_PACKAGES_DIR}/debug/lib/yajl_s.lib" + "${CURRENT_PACKAGES_DIR}/lib/libyajl_s.a" "${CURRENT_PACKAGES_DIR}/debug/lib/libyajl_s.a" ) endif() + +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/yajl" RENAME copyright) diff --git a/ports/yajl/vcpkg.json b/ports/yajl/vcpkg.json index 7d05045ab23362..03c8bca942b80c 100644 --- a/ports/yajl/vcpkg.json +++ b/ports/yajl/vcpkg.json @@ -1,6 +1,14 @@ { "name": "yajl", - "version-string": "2.1.0", - "port-version": 2, - "description": "Yet Another JSON Library" + "version": "2.1.0", + "port-version": 4, + "description": "Yet Another JSON Library", + "homepage": "https://github.com/lloyd/yajl", + "license": "ISC", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/yaml-cpp/portfile.cmake b/ports/yaml-cpp/portfile.cmake index de519bd6018984..795d93e24e8eb4 100644 --- a/ports/yaml-cpp/portfile.cmake +++ b/ports/yaml-cpp/portfile.cmake @@ -1,9 +1,11 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO jbeder/yaml-cpp - REF 0579ae3d976091d7d664aa9d2527e0d0cff25763 # yaml-cpp-0.7.0 - SHA512 930f13737c23faf06be3fa9821492d6c677359e532212ced495173367a8aec45f87fbf3a5da47d4d1b61a95c25e0101bc7f8d175752434c63b25e097186e1745 + REF "${VERSION}" + SHA512 aae9d618f906117d620d63173e95572c738db518f4ff1901a06de2117d8deeb8045f554102ca0ba4735ac0c4d060153a938ef78da3e0da3406d27b8298e5f38e HEAD_REF master + PATCHES + "yaml-cpp-pr-1212.patch" ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" YAML_BUILD_SHARED_LIBS) @@ -14,29 +16,26 @@ vcpkg_cmake_configure( -DYAML_CPP_BUILD_TOOLS=OFF -DYAML_CPP_BUILD_TESTS=OFF -DYAML_BUILD_SHARED_LIBS=${YAML_BUILD_SHARED_LIBS} + -DYAML_CPP_INSTALL_CMAKEDIR=share/${PORT} ) vcpkg_cmake_install() vcpkg_copy_pdbs() -vcpkg_cmake_config_fixup(CONFIG_PATH share/cmake/${PORT}) +vcpkg_cmake_config_fixup() if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(RENAME "${CURRENT_PACKAGES_DIR}/debug/share/pkgconfig" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig") vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/yaml-cpp.pc" "-lyaml-cpp" "-lyaml-cppd") endif() -file(RENAME "${CURRENT_PACKAGES_DIR}/share/pkgconfig" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig") vcpkg_fixup_pkgconfig() -# Remove debug include and pkgconfig files +# Remove debug include file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/pkgconfig") -if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic" AND VCPKG_TARGET_IS_WINDOWS) - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/yaml-cpp/dll.h" "#ifdef YAML_CPP_DLL" "#if 1") +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/yaml-cpp/dll.h" "#ifdef YAML_CPP_STATIC_DEFINE" "#if 0") else() - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/yaml-cpp/dll.h" "#ifdef YAML_CPP_DLL" "#if 0") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/yaml-cpp/dll.h" "#ifdef YAML_CPP_STATIC_DEFINE" "#if 1") 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/yaml-cpp/vcpkg.json b/ports/yaml-cpp/vcpkg.json index 039bcd47e6cb8f..6e5818e2ed9e16 100644 --- a/ports/yaml-cpp/vcpkg.json +++ b/ports/yaml-cpp/vcpkg.json @@ -1,6 +1,6 @@ { "name": "yaml-cpp", - "version-semver": "0.7.0", + "version-semver": "0.8.0", "port-version": 1, "description": "yaml-cpp is a YAML parser and emitter in C++ matching the YAML 1.2 spec.", "homepage": "https://github.com/jbeder/yaml-cpp", diff --git a/ports/yaml-cpp/yaml-cpp-pr-1212.patch b/ports/yaml-cpp/yaml-cpp-pr-1212.patch new file mode 100644 index 00000000000000..784f3d5d5466c7 --- /dev/null +++ b/ports/yaml-cpp/yaml-cpp-pr-1212.patch @@ -0,0 +1,79 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 46dc180..5055c24 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -31,6 +31,8 @@ cmake_dependent_option(YAML_CPP_BUILD_TESTS + cmake_dependent_option(YAML_MSVC_SHARED_RT + "MSVC: Build yaml-cpp with shared runtime libs (/MD)" ON + "CMAKE_SYSTEM_NAME MATCHES Windows" OFF) ++set(YAML_CPP_INSTALL_CMAKEDIR "${CMAKE_INSTALL_LIBDIR}/cmake/yaml-cpp" ++ CACHE STRING "Path to install the CMake package to") + + if (YAML_CPP_FORMAT_SOURCE) + find_program(YAML_CPP_CLANG_FORMAT_EXE NAMES clang-format) +@@ -143,13 +145,12 @@ set_target_properties(yaml-cpp PROPERTIES + PROJECT_LABEL "yaml-cpp ${yaml-cpp-label-postfix}" + DEBUG_POSTFIX "${CMAKE_DEBUG_POSTFIX}") + +-set(CONFIG_EXPORT_DIR "${CMAKE_INSTALL_LIBDIR}/cmake/yaml-cpp") +-set(EXPORT_TARGETS yaml-cpp) ++set(EXPORT_TARGETS yaml-cpp::yaml-cpp) + configure_package_config_file( + "${PROJECT_SOURCE_DIR}/yaml-cpp-config.cmake.in" + "${PROJECT_BINARY_DIR}/yaml-cpp-config.cmake" +- INSTALL_DESTINATION "${CONFIG_EXPORT_DIR}" +- PATH_VARS CMAKE_INSTALL_INCLUDEDIR CMAKE_INSTALL_LIBDIR CONFIG_EXPORT_DIR YAML_BUILD_SHARED_LIBS) ++ INSTALL_DESTINATION "${YAML_CPP_INSTALL_CMAKEDIR}" ++ PATH_VARS CMAKE_INSTALL_INCLUDEDIR CMAKE_INSTALL_LIBDIR) + unset(EXPORT_TARGETS) + + write_basic_package_version_file( +@@ -169,15 +170,14 @@ if (YAML_CPP_INSTALL) + FILES_MATCHING PATTERN "*.h") + install(EXPORT yaml-cpp-targets + NAMESPACE yaml-cpp:: +- DESTINATION "${CONFIG_EXPORT_DIR}") ++ DESTINATION "${YAML_CPP_INSTALL_CMAKEDIR}") + install(FILES + "${PROJECT_BINARY_DIR}/yaml-cpp-config.cmake" + "${PROJECT_BINARY_DIR}/yaml-cpp-config-version.cmake" +- DESTINATION "${CONFIG_EXPORT_DIR}") ++ DESTINATION "${YAML_CPP_INSTALL_CMAKEDIR}") + install(FILES "${PROJECT_BINARY_DIR}/yaml-cpp.pc" + DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) + endif() +-unset(CONFIG_EXPORT_DIR) + + if(YAML_CPP_BUILD_TESTS) + add_subdirectory(test) +diff --git a/yaml-cpp-config.cmake.in b/yaml-cpp-config.cmake.in +index 799b9b4..cbbc773 100644 +--- a/yaml-cpp-config.cmake.in ++++ b/yaml-cpp-config.cmake.in +@@ -11,12 +11,23 @@ set_and_check(YAML_CPP_INCLUDE_DIR "@PACKAGE_CMAKE_INSTALL_INCLUDEDIR@") + set_and_check(YAML_CPP_LIBRARY_DIR "@PACKAGE_CMAKE_INSTALL_LIBDIR@") + + # Are we building shared libraries? +-set(YAML_CPP_SHARED_LIBS_BUILT "@PACKAGE_YAML_BUILD_SHARED_LIBS@") ++set(YAML_CPP_SHARED_LIBS_BUILT @YAML_BUILD_SHARED_LIBS@) + + # Our library dependencies (contains definitions for IMPORTED targets) +-include(@PACKAGE_CONFIG_EXPORT_DIR@/yaml-cpp-targets.cmake) ++include("${CMAKE_CURRENT_LIST_DIR}/yaml-cpp-targets.cmake") + + # These are IMPORTED targets created by yaml-cpp-targets.cmake + set(YAML_CPP_LIBRARIES "@EXPORT_TARGETS@") + +-check_required_components(@EXPORT_TARGETS@) ++# Protect against multiple inclusion, which would fail when already imported targets are added once more. ++if(NOT TARGET yaml-cpp) ++ add_library(yaml-cpp INTERFACE IMPORTED) ++ target_link_libraries(yaml-cpp INTERFACE yaml-cpp::yaml-cpp) ++ if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.17) ++ set_target_properties(yaml-cpp PROPERTIES ++ DEPRECATION "The target yaml-cpp is deprecated and will be removed in version 0.10.0. Use the yaml-cpp::yaml-cpp target instead." ++ ) ++ endif() ++endif() ++ ++check_required_components(yaml-cpp) diff --git a/ports/yara/CMakeLists.txt b/ports/yara/CMakeLists.txt index b25a162b135757..3f3ed1e2f40ee4 100644 --- a/ports/yara/CMakeLists.txt +++ b/ports/yara/CMakeLists.txt @@ -3,13 +3,12 @@ project(yara C) if(MSVC) add_compile_options(/W3 /wd4005 /wd4996 /wd4018 -D_CRT_SECURE_NO_WARNINGS) +else() + find_library(HAVE_LIBM NAMES m) endif() find_package(OpenSSL REQUIRED) -find_path(JANSSON_INCLUDE_DIR NAMES jansson.h) -find_library(JANSSON_LIBRARY NAMES jansson) - include_directories( . @@ -52,16 +51,20 @@ set( libyara/libyara.c libyara/mem.c libyara/modules.c - libyara/modules/cuckoo/cuckoo.c - libyara/modules/dotnet/dotnet.c - libyara/modules/elf/elf.c + libyara/modules/console/console.c libyara/modules/hash/hash.c libyara/modules/math/math.c libyara/modules/macho/macho.c libyara/modules/pe/pe.c libyara/modules/pe/pe_utils.c + libyara/modules/pe/authenticode-parser/authenticode.c + libyara/modules/pe/authenticode-parser/certificate.c + libyara/modules/pe/authenticode-parser/helper.c + libyara/modules/pe/authenticode-parser/countersignature.c + libyara/modules/pe/authenticode-parser/structs.c libyara/modules/tests/tests.c libyara/modules/time/time.c + libyara/modules/string/string.c libyara/notebook.c libyara/object.c libyara/parser.c @@ -79,20 +82,27 @@ set( libyara/stream.c libyara/strutils.c libyara/threading.c + + # Module elf request new library tlshc(https://github.com/avast/tlshc), the related upstream PR: https://github.com/VirusTotal/yara/pull/1624. + # libyara/modules/elf/elf.c + # libyara/tlshc/tlsh.c + # libyara/tlshc/tlsh_impl.c + # libyara/tlshc/tlsh_util.c ) set( yara_sources cli/args.c + cli/common.c cli/threading.c cli/yara.c ) set( yarac_sources cli/args.c + cli/common.c cli/yarac.c ) - find_package(Threads REQUIRED) set( @@ -100,13 +110,12 @@ set( OpenSSL::SSL OpenSSL::Crypto Threads::Threads - ${JANSSON_LIBRARY} ) -IF(CMAKE_SYSTEM_NAME MATCHES "Windows") +if(CMAKE_SYSTEM_NAME MATCHES "Windows") list(APPEND libyara_dependencies Crypt32.lib Ws2_32.lib) endif() -if("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU") +if(HAVE_LIBM) list(APPEND libyara_dependencies m) endif() @@ -114,15 +123,25 @@ set( libyara_definitions -DHAVE_LIBCRYPTO -D${PROC_PLATFORM_INTERFACE} - -DCUCKOO_MODULE -DHASH_MODULE - -DDOTNET_MODULE ) +if(CUCKOO_MODULE) + list(APPEND libyara_definitions -DCUCKOO_MODULE) + list(APPEND libyara_sources libyara/modules/cuckoo/cuckoo.c) + find_package(jansson CONFIG REQUIRED) + list(APPEND libyara_dependencies jansson::jansson) +endif() + +if(DOTNET_MODULE) + list(APPEND libyara_definitions -DDOTNET_MODULE) + list(APPEND libyara_sources libyara/modules/dotnet/dotnet.c libyara/simple_str.c) +endif() + add_library(libyara ${libyara_sources}) target_link_libraries(libyara PRIVATE ${libyara_dependencies}) target_compile_definitions(libyara PRIVATE ${libyara_definitions}) - +target_include_directories(libyara INTERFACE $) add_executable(yara ${yara_sources}) add_executable(yarac ${yarac_sources}) @@ -131,12 +150,27 @@ target_link_libraries(yarac PRIVATE libyara ${libyara_dependencies}) target_link_libraries(yara PRIVATE libyara ${libyara_dependencies}) install( - TARGETS libyara - RUNTIME DESTINATION bin + TARGETS libyara EXPORT unofficial-libyaraTargets LIBRARY DESTINATION lib ARCHIVE DESTINATION lib ) +install(EXPORT unofficial-libyaraTargets + NAMESPACE unofficial::libyara:: + DESTINATION share/unofficial-libyara +) +file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/unofficial-libyara-config.cmake.in" +[[include(CMakeFindDependencyMacro) +find_dependency(OpenSSL) +find_dependency(Threads) +if(@CUCKOO_MODULE@) + find_dependency(jansson CONFIG) +endif() +include("${CMAKE_CURRENT_LIST_DIR}/unofficial-libyaraTargets.cmake") +]]) +configure_file("${CMAKE_CURRENT_BINARY_DIR}/unofficial-libyara-config.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/unofficial-libyara-config.cmake" @ONLY) +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/unofficial-libyara-config.cmake DESTINATION share/unofficial-libyara) + if(NOT DISABLE_INSTALL_TOOLS) install ( TARGETS yarac yara diff --git a/ports/yara/Disable-module-elf.patch b/ports/yara/Disable-module-elf.patch new file mode 100644 index 00000000000000..8cdc98a8d0d5e8 --- /dev/null +++ b/ports/yara/Disable-module-elf.patch @@ -0,0 +1,13 @@ +diff --git a/libyara/modules/module_list b/libyara/modules/module_list +index 35e848a..e11433e 100644 +--- a/libyara/modules/module_list ++++ b/libyara/modules/module_list +@@ -1,6 +1,8 @@ + MODULE(tests) + MODULE(pe) ++#ifdef DELF_MODULE + MODULE(elf) ++#endif + MODULE(math) + MODULE(time) + MODULE(console) diff --git a/ports/yara/portfile.cmake b/ports/yara/portfile.cmake index b7ab617b77e6cf..5213bb7a366e05 100644 --- a/ports/yara/portfile.cmake +++ b/ports/yara/portfile.cmake @@ -3,22 +3,33 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO VirusTotal/yara - REF v4.1.1 - SHA512 e4474254249d5b3fbb7231fdec5f4e080be042098e1b2bc953aa93513ce0b4742e34acac2911687e75055ecd589d942f71b79c58ca47eee243626ab3ec8add71 + REF "v${VERSION}" + SHA512 761f3930117c35d87b0e3be1a5d61a6887006470fdf578164feb1bd56a96b2d85770ab7c3a21258a2781ff3327cb705942f4f0eb959cff4b210f0c7fbec1fc30 HEAD_REF master + PATCHES + # Module elf request new library tlshc(https://github.com/avast/tlshc), the related upstream PR: https://github.com/VirusTotal/yara/pull/1624. + Disable-module-elf.patch ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + cuckoo CUCKOO_MODULE + dotnet DOTNET_MODULE +) + +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON -DDISABLE_INSTALL_TOOLS=ON ) -vcpkg_install_cmake() +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-libyara) # Handle copyright -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/yara/vcpkg.json b/ports/yara/vcpkg.json index 22f217411e549e..2e3c56c44de1ad 100644 --- a/ports/yara/vcpkg.json +++ b/ports/yara/vcpkg.json @@ -1,10 +1,31 @@ { "name": "yara", - "version": "4.1.1", + "version": "4.5.2", + "port-version": 1, "description": "The pattern matching swiss knife", "homepage": "https://github.com/VirusTotal/yara", + "license": "BSD-3-Clause", + "supports": "!uwp", "dependencies": [ - "jansson", - "openssl" - ] + "openssl", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "cuckoo": { + "description": "The Cuckoo module enables you to create YARA rules based on behavioral information generated by Cuckoo sandbox.", + "dependencies": [ + "jansson" + ] + }, + "dotnet": { + "description": "The dotnet module allows you to create more fine-grained rules for .NET files by using attributes and features of the .NET file format." + } + } } diff --git a/ports/yasm-tool-helper/vcpkg.json b/ports/yasm-tool-helper/vcpkg.json index 72e1fba3bd2de2..dcc112ce379c14 100644 --- a/ports/yasm-tool-helper/vcpkg.json +++ b/ports/yasm-tool-helper/vcpkg.json @@ -1,12 +1,16 @@ { "name": "yasm-tool-helper", - "version-string": "2020-03-11", - "description": "Backfill that depends on yasm-tool:host", + "version-date": "2020-03-11", + "port-version": 1, + "description": "Backfill that depends on yasm:host", "homepage": "https://github.com/Microsoft/vcpkg", "dependencies": [ { - "name": "yasm-tool", - "host": true + "name": "yasm", + "host": true, + "features": [ + "tools" + ] } ] } diff --git a/ports/yasm-tool-helper/yasm-tool-helper.cmake.in b/ports/yasm-tool-helper/yasm-tool-helper.cmake.in index 48bd805f3bf270..8e69ef519e9b25 100644 --- a/ports/yasm-tool-helper/yasm-tool-helper.cmake.in +++ b/ports/yasm-tool-helper/yasm-tool-helper.cmake.in @@ -1 +1 @@ -include("${CMAKE_CURRENT_LIST_DIR}/../../../@HOST_TRIPLET@/share/yasm-tool/vcpkg-port-config.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/../../../@HOST_TRIPLET@/share/yasm/vcpkg-port-config.cmake") diff --git a/ports/yasm-tool/portfile.cmake b/ports/yasm-tool/portfile.cmake index d4949bc9c2ff04..dba1f83f42edee 100644 --- a/ports/yasm-tool/portfile.cmake +++ b/ports/yasm-tool/portfile.cmake @@ -1,47 +1 @@ -vcpkg_fail_port_install(ON_TARGET "uwp") - -if(VCPKG_TARGET_IS_WINDOWS) - set(YASM_BUILD_BINARY ON) - set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) - set(VCPKG_LIBRARY_LINKAGE static) - - vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO yasm/yasm - REF 009450c7ad4d425fa5a10ac4bd6efbd25248d823 # 1.3.0 plus bugfixes for https://github.com/yasm/yasm/issues/153 - SHA512 a542577558676d11b52981925ea6219bffe699faa1682c033b33b7534f5a0dfe9f29c56b32076b68c48f65e0aef7c451be3a3af804c52caa4d4357de4caad83c - ) - - file(INSTALL "${SOURCE_PATH}/COPYING" - DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" - RENAME copyright) - foreach(LICENSE Artistic.txt BSD.txt GNU_GPL-2.0 GNU_LGPL-2.0) - file(COPY "${SOURCE_PATH}/${LICENSE}" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") - endforeach() - - vcpkg_find_acquire_program(PYTHON3) - get_filename_component(PYTHON3_DIR "${PYTHON3}" DIRECTORY) - vcpkg_add_to_path("${PYTHON3_DIR}") - - vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - -DENABLE_NLS=OFF - -DYASM_BUILD_TESTS=OFF - ) - vcpkg_install_cmake() - - vcpkg_copy_tools(TOOL_NAMES yasm) - - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include") -else() - set(YASM_BUILD_BINARY OFF) - set(VCPKG_POLICY_EMPTY_PACKAGE enabled) -endif() - -configure_file("${CMAKE_CURRENT_LIST_DIR}/vcpkg-port-config.cmake.in" - "${CURRENT_PACKAGES_DIR}/share/${PORT}/vcpkg-port-config.cmake" @ONLY) +SET(VCPKG_POLICY_EMPTY_PACKAGE enabled) diff --git a/ports/yasm-tool/vcpkg.json b/ports/yasm-tool/vcpkg.json index a3552faaa69c60..e78d6b53672d35 100644 --- a/ports/yasm-tool/vcpkg.json +++ b/ports/yasm-tool/vcpkg.json @@ -1,7 +1,13 @@ { "name": "yasm-tool", - "version": "1.3.0", - "description": "A modular assembler.", - "homepage": "http://yasm.tortall.net/", - "supports": "native & !uwp" + "version-date": "2021-12-14", + "description": "Legacy port. Use port yasm instead.", + "dependencies": [ + { + "name": "yasm", + "features": [ + "tools" + ] + } + ] } diff --git a/ports/yasm/add-feature-tools.patch b/ports/yasm/add-feature-tools.patch new file mode 100644 index 00000000000000..4f4944665d9e64 --- /dev/null +++ b/ports/yasm/add-feature-tools.patch @@ -0,0 +1,10 @@ +diff --git a/frontends/CMakeLists.txt b/frontends/CMakeLists.txt +index 9858b61..b151cc3 100644 +--- a/frontends/CMakeLists.txt ++++ b/frontends/CMakeLists.txt +@@ -1,3 +1,5 @@ ++if (BUILD_TOOLS) + ADD_SUBDIRECTORY(yasm) + ADD_SUBDIRECTORY(tasm) + ADD_SUBDIRECTORY(vsyasm) ++endif() diff --git a/ports/yasm/fix-arm-cross-build.patch b/ports/yasm/fix-arm-cross-build.patch new file mode 100644 index 00000000000000..cfc8dfdde6a6c8 --- /dev/null +++ b/ports/yasm/fix-arm-cross-build.patch @@ -0,0 +1,94 @@ +diff --git a/cmake/modules/YasmMacros.cmake b/cmake/modules/YasmMacros.cmake +index ab1be00..918f51b 100644 +--- a/cmake/modules/YasmMacros.cmake ++++ b/cmake/modules/YasmMacros.cmake +@@ -58,7 +58,9 @@ macro (YASM_ADD_MODULE _module_NAME) + endmacro (YASM_ADD_MODULE) + + macro (YASM_GENPERF _in_NAME _out_NAME) ++ if (NOT _tmp_GENPERF_EXE) + get_target_property(_tmp_GENPERF_EXE genperf LOCATION) ++ endif() + add_custom_command( + OUTPUT ${_out_NAME} + COMMAND ${_tmp_GENPERF_EXE} ${_in_NAME} ${_out_NAME} +@@ -68,7 +70,9 @@ macro (YASM_GENPERF _in_NAME _out_NAME) + endmacro (YASM_GENPERF) + + macro (YASM_RE2C _in_NAME _out_NAME) ++ if (NOT _tmp_RE2C_EXE) + get_target_property(_tmp_RE2C_EXE re2c LOCATION) ++ endif() + add_custom_command( + OUTPUT ${_out_NAME} + COMMAND ${_tmp_RE2C_EXE} ${ARGN} -o ${_out_NAME} ${_in_NAME} +@@ -78,7 +82,9 @@ macro (YASM_RE2C _in_NAME _out_NAME) + endmacro (YASM_RE2C) + + macro (YASM_GENMACRO _in_NAME _out_NAME _var_NAME) ++ if (NOT _tmp_GENMACRO_EXE) + get_target_property(_tmp_GENMACRO_EXE genmacro LOCATION) ++ endif() + add_custom_command( + OUTPUT ${_out_NAME} + COMMAND ${_tmp_GENMACRO_EXE} ${_out_NAME} ${_var_NAME} ${_in_NAME} +diff --git a/modules/preprocs/nasm/CMakeLists.txt b/modules/preprocs/nasm/CMakeLists.txt +index e10a9dd..e28ffbb 100644 +--- a/modules/preprocs/nasm/CMakeLists.txt ++++ b/modules/preprocs/nasm/CMakeLists.txt +@@ -1,5 +1,8 @@ ++if (NOT _tmp_GENVERSION_EXE) + add_executable(genversion preprocs/nasm/genversion.c) ++install(TARGETS genversion RUNTIME DESTINATION bin) + get_target_property(_tmp_GENVERSION_EXE genversion LOCATION) ++endif() + add_custom_command( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/version.mac + COMMAND ${_tmp_GENVERSION_EXE} ${CMAKE_CURRENT_BINARY_DIR}/version.mac +diff --git a/tools/genmacro/CMakeLists.txt b/tools/genmacro/CMakeLists.txt +index 27ba599..0168494 100644 +--- a/tools/genmacro/CMakeLists.txt ++++ b/tools/genmacro/CMakeLists.txt +@@ -1,3 +1,7 @@ ++if (NOT _tmp_GENMACRO_EXE) + add_executable(genmacro + genmacro.c + ) ++ ++install(TARGETS genmacro RUNTIME DESTINATION bin) ++endif() +\ No newline at end of file +diff --git a/tools/genperf/CMakeLists.txt b/tools/genperf/CMakeLists.txt +index 6f50989..87d19bc 100644 +--- a/tools/genperf/CMakeLists.txt ++++ b/tools/genperf/CMakeLists.txt +@@ -1,3 +1,4 @@ ++if (NOT _tmp_GENPERF_EXE) + add_executable(genperf + genperf.c + perfect.c +@@ -6,3 +7,6 @@ add_executable(genperf + ../../libyasm/xstrdup.c + ) + set_target_properties(genperf PROPERTIES COMPILE_FLAGS -DYASM_LIB_DECL=) ++ ++install(TARGETS genperf RUNTIME DESTINATION bin) ++endif() +\ No newline at end of file +diff --git a/tools/re2c/CMakeLists.txt b/tools/re2c/CMakeLists.txt +index 7125d49..f2f1a40 100644 +--- a/tools/re2c/CMakeLists.txt ++++ b/tools/re2c/CMakeLists.txt +@@ -1,3 +1,4 @@ ++if (NOT _tmp_RE2C_EXE) + add_executable(re2c + main.c + code.c +@@ -9,3 +10,6 @@ add_executable(re2c + substr.c + translate.c + ) ++ ++install(TARGETS re2c RUNTIME DESTINATION bin) ++endif() +\ No newline at end of file diff --git a/ports/yasm/portfile.cmake b/ports/yasm/portfile.cmake index 75090b3713837d..966a9f8f2b4f14 100644 --- a/ports/yasm/portfile.cmake +++ b/ports/yasm/portfile.cmake @@ -1,49 +1,66 @@ -if (NOT VCPKG_TARGET_IS_WINDOWS) - message(FATAL_ERROR "${PORT} only supports windows") -elseif (TRIPLET_SYSTEM_ARCH MATCHES "arm") - message(FATAL_ERROR "ARM is currently not supported.") -elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore) - message(FATAL_ERROR "Error: UWP builds are currently not supported.") -endif() - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO yasm/yasm - REF v1.3.0 - SHA512 f5053e2012e0d2ce88cc1cc06e3bdb501054aed5d1f78fae40bb3e676fe2eb9843d335a612d7614d99a2b9e49dca998d57f61b0b89fac8225afa4ae60ae848f1 + REF 009450c7ad4d425fa5a10ac4bd6efbd25248d823 # 1.3.0 plus bugfixes for https://github.com/yasm/yasm/issues/153 + SHA512 a542577558676d11b52981925ea6219bffe699faa1682c033b33b7534f5a0dfe9f29c56b32076b68c48f65e0aef7c451be3a3af804c52caa4d4357de4caad83c HEAD_REF master + PATCHES + add-feature-tools.patch + fix-arm-cross-build.patch ) -vcpkg_find_acquire_program(PYTHON2) -get_filename_component(PYTHON_PATH ${PYTHON2} DIRECTORY) -vcpkg_add_to_path("${PYTHON_PATH}") - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + tools BUILD_TOOLS ) -vcpkg_install_cmake() +vcpkg_find_acquire_program(PYTHON3) +get_filename_component(PYTHON3_DIR "${PYTHON3}" DIRECTORY) +vcpkg_add_to_path("${PYTHON3_DIR}") -file(REMOVE - ${CURRENT_PACKAGES_DIR}/debug/bin/vsyasm.exe - ${CURRENT_PACKAGES_DIR}/debug/bin/yasm.exe - ${CURRENT_PACKAGES_DIR}/debug/bin/ytasm.exe +set(HOST_TOOLS_OPTIONS "") +if (VCPKG_CROSSCOMPILING) + list(APPEND HOST_TOOLS_OPTIONS + "-D_tmp_RE2C_EXE=${CURRENT_HOST_INSTALLED_DIR}/tools/${PORT}/re2c${VCPKG_HOST_EXECUTABLE_SUFFIX}" + "-D_tmp_GENPERF_EXE=${CURRENT_HOST_INSTALLED_DIR}/tools/${PORT}/genperf${VCPKG_HOST_EXECUTABLE_SUFFIX}" + "-D_tmp_GENMACRO_EXE=${CURRENT_HOST_INSTALLED_DIR}/tools/${PORT}/genmacro${VCPKG_HOST_EXECUTABLE_SUFFIX}" + "-D_tmp_GENVERSION_EXE=${CURRENT_HOST_INSTALLED_DIR}/tools/${PORT}/genversion${VCPKG_HOST_EXECUTABLE_SUFFIX}" + ) +endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} + ${HOST_TOOLS_OPTIONS} + "-DPYTHON_EXECUTABLE=${PYTHON3}" + -DENABLE_NLS=OFF + -DYASM_BUILD_TESTS=OFF ) -file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/${PORT}) -file(RENAME ${CURRENT_PACKAGES_DIR}/bin/vsyasm.exe ${CURRENT_PACKAGES_DIR}/tools/${PORT}/vsyasm.exe) -file(RENAME ${CURRENT_PACKAGES_DIR}/bin/yasm.exe ${CURRENT_PACKAGES_DIR}/tools/${PORT}/yasm.exe) -file(RENAME ${CURRENT_PACKAGES_DIR}/bin/ytasm.exe ${CURRENT_PACKAGES_DIR}/tools/${PORT}/ytasm.exe) +vcpkg_cmake_install() + +vcpkg_copy_pdbs() -vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT}) +if (BUILD_TOOLS) + set(EXTRA_BUILD_TOOLS "") + if (NOT VCPKG_CROSSCOMPILING) + list(APPEND EXTRA_BUILD_TOOLS re2c genmacro genperf genversion) + endif() + vcpkg_copy_tools(TOOL_NAMES vsyasm yasm ytasm ${EXTRA_BUILD_TOOLS} AUTO_CLEAN) + if (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + file(COPY "${CURRENT_PACKAGES_DIR}/bin/yasmstd${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}" + DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}") + endif() +endif() if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") endif() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +configure_file("${CURRENT_PORT_DIR}/vcpkg-port-config.cmake.in" + "${CURRENT_PACKAGES_DIR}/share/${PORT}/vcpkg-port-config.cmake" @ONLY) # Handle copyright -file(COPY ${SOURCE_PATH}/COPYING ${SOURCE_PATH}/README DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/COPYING ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) \ No newline at end of file +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/yasm-tool/vcpkg-port-config.cmake.in b/ports/yasm/vcpkg-port-config.cmake.in similarity index 81% rename from ports/yasm-tool/vcpkg-port-config.cmake.in rename to ports/yasm/vcpkg-port-config.cmake.in index 5abe7520aca905..af374280554fa9 100644 --- a/ports/yasm-tool/vcpkg-port-config.cmake.in +++ b/ports/yasm/vcpkg-port-config.cmake.in @@ -11,11 +11,7 @@ function(yasm_tool_helper) message(FATAL_ERROR "Unexpected arguments to yasm_tool_helper: ${arg_UNPARSED_ARGUMENTS}") endif() - if(@YASM_BUILD_BINARY@) - set(YASM "${Z_YASM_TOOL_HELPER_LIST_DIR}/../../tools/yasm-tool/yasm.exe") - else() - vcpkg_find_acquire_program(YASM) - endif() + find_program(YASM yasm PATHS "${Z_YASM_TOOL_HELPER_LIST_DIR}/../../tools/yasm") if(arg_APPEND_TO_PATH) get_filename_component(YASM_EXE_PATH ${YASM} DIRECTORY) diff --git a/ports/yasm/vcpkg.json b/ports/yasm/vcpkg.json index 6a0176dd8ff53a..b0bd9405894be6 100644 --- a/ports/yasm/vcpkg.json +++ b/ports/yasm/vcpkg.json @@ -1,8 +1,32 @@ { "name": "yasm", - "version-string": "1.3.0", - "port-version": 1, - "description": "Yasm is a complete rewrite of the NASM assembler under the “new” BSD License.", + "version": "1.3.0", + "port-version": 5, + "description": "Yasm is a complete rewrite of the NASM assembler under the new BSD License.", "homepage": "https://github.com/yasm/yasm", - "supports": "windows & !uwp & !arm" + "license": "BSD-2-Clause OR BSD-3-Clause OR Artistic-1.0 OR GPL-2.0-only OR LGPL-2.0-only", + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + { + "name": "yasm", + "host": true, + "default-features": false, + "features": [ + "tools" + ] + } + ], + "features": { + "tools": { + "description": "Build yasm tools" + } + } } diff --git a/ports/yato/portfile.cmake b/ports/yato/portfile.cmake index e0b7a916b6e377..7626249b6b24dd 100644 --- a/ports/yato/portfile.cmake +++ b/ports/yato/portfile.cmake @@ -1,8 +1,8 @@ -vcpkg_from_bitbucket( +vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO alexey_gruzdev/yato - REF v1.0 - SHA512 631b870fd2704a03d9d66ef244f4e50968ae63da4fda0c7cd1f6ce2cea2b1e8b4506b0148cd1af1e133a70fd5d9cdc9d8c054edac6141118ee3c9427e186b270 + REPO agruzdev/Yato + REF 9b5a49f6ec4169b67b9e5ffd11fdae9c238b0a3d + SHA512 41962839cd13a314a17fef5f6065d7c3ed9967832039ca31993105685d584307d00f17c1514f4acf855a71fd884a1104c2d9c6a4461be5d2d7cfdc50b1ea7bdb HEAD_REF master ) @@ -17,24 +17,15 @@ file(COPY "${SOURCE_PATH}/modules/config/yato" DESTINATION "${CURRENT_PACKAGES_DIR}/include" ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DYATO_BUILD_TESTS:BOOL=OFF -DYATO_BUILD_ACTORS:BOOL=ON -DYATO_BUILD_CONFIG:BOOL=ON - -DYATO_CONFIG_MANUAL:BOOL=ON - -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG:PATH=${CURRENT_PACKAGES_DIR}/debug/lib/ - -DCMAKE_LIBRARY_OUTPUT_DIRECTORY_DEBUG:PATH=${CURRENT_PACKAGES_DIR}/debug/lib/ - -DCMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG:PATH=${CURRENT_PACKAGES_DIR}/debug/lib/ - -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE:PATH=${CURRENT_PACKAGES_DIR}/lib/ - -DCMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE:PATH=${CURRENT_PACKAGES_DIR}/lib/ - -DCMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE:PATH=${CURRENT_PACKAGES_DIR}/lib/ ) -vcpkg_build_cmake() +vcpkg_cmake_build() # Handle copyright -file(COPY ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/yato) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/yato/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/yato/copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/yato/vcpkg.json b/ports/yato/vcpkg.json index 7a5840b6ffaaad..d854276ce54311 100644 --- a/ports/yato/vcpkg.json +++ b/ports/yato/vcpkg.json @@ -1,6 +1,13 @@ { "name": "yato", - "version-string": "1.0", - "port-version": 3, - "description": "Modern C++14 containers and utilities, actors system, typesafe config" + "version-date": "2022-03-06", + "description": "Modern C++14 containers and utilities, actors system, typesafe config", + "license": "Apache-2.0", + "supports": "!(windows & arm)", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/yoga/add-project-declaration.patch b/ports/yoga/add-project-declaration.patch deleted file mode 100644 index b3052a14ceb89f..00000000000000 --- a/ports/yoga/add-project-declaration.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -7,6 +7,8 @@ - - set(CMAKE_VERBOSE_MAKEFILE on) - -+project(yogacore CXX) -+ - add_compile_options( - -fno-omit-frame-pointer - -fexceptions diff --git a/ports/yoga/disable_tests.patch b/ports/yoga/disable_tests.patch new file mode 100644 index 00000000000000..c2f4b452b7e802 --- /dev/null +++ b/ports/yoga/disable_tests.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 55f1a6df..c8c15c30 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -10,7 +10,7 @@ set(CMAKE_VERBOSE_MAKEFILE on) + include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/project-defaults.cmake) + + add_subdirectory(yoga) +-add_subdirectory(tests) ++# add_subdirectory(tests) + + option(BUILD_FUZZ_TESTS "Build fuzz tests" OFF) + diff --git a/ports/yoga/portfile.cmake b/ports/yoga/portfile.cmake index 6c7a2cf94b2bbd..3bbb91a8b8313b 100644 --- a/ports/yoga/portfile.cmake +++ b/ports/yoga/portfile.cmake @@ -3,41 +3,22 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO facebook/yoga - REF v1.19.0 - SHA512 B1CB1F23CF9B5DD2491B6883CAF8FB47E264B736C94F6AA6655E9A6F641664B4BCEEB48F74C98B955F0EE02BA2E0AE8E01539A928ABB4B81FAE13ED3B57287CA + REF "v${VERSION}" + SHA512 04fdb398a402c499cc876ccb36a3edfd741ee4013f0ac6b5b33ce495add1d3b76c09d7672b3e3842e5e50c0d7f42a97b19fd7e8085c6fa964c063a161d9a0fe2 HEAD_REF master - PATCHES add-project-declaration.patch + PATCHES + disable_tests.patch ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_build_cmake() -vcpkg_copy_pdbs() +vcpkg_cmake_install() -file(INSTALL ${SOURCE_PATH}/yoga DESTINATION ${CURRENT_PACKAGES_DIR}/include FILES_MATCHING PATTERN "*.h") +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) -set(YOGA_LIB_PREFFIX ) -if (NOT VCPKG_TARGET_IS_WINDOWS) - set(YOGA_LIB_PREFFIX lib) -endif() -if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - set(YOGA_BINARY_PATH ) - if (VCPKG_TARGET_IS_WINDOWS) - set(YOGA_BINARY_PATH Release/) - endif() - file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/${YOGA_BINARY_PATH}${YOGA_LIB_PREFFIX}yogacore${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX} DESTINATION ${CURRENT_PACKAGES_DIR}/lib) -endif() -if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - set(YOGA_BINARY_PATH ) - if (VCPKG_TARGET_IS_WINDOWS) - set(YOGA_BINARY_PATH Debug/) - endif() - file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/${YOGA_BINARY_PATH}${YOGA_LIB_PREFFIX}yogacore${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) -endif() +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") +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/yoga/usage b/ports/yoga/usage new file mode 100644 index 00000000000000..3be8a2f3e46dea --- /dev/null +++ b/ports/yoga/usage @@ -0,0 +1,4 @@ +yoga provides CMake targets: + + find_package(yoga CONFIG REQUIRED) + target_link_libraries(main PRIVATE yoga::yogacore) diff --git a/ports/yoga/vcpkg.json b/ports/yoga/vcpkg.json index 570be343604041..45065db4b9bd12 100644 --- a/ports/yoga/vcpkg.json +++ b/ports/yoga/vcpkg.json @@ -1,7 +1,17 @@ { "name": "yoga", - "version": "1.19.0", + "version": "3.1.0", "description": "Yoga is a cross-platform layout engine which implements Flexbox", "homepage": "https://github.com/facebook/yoga", - "supports": "!uwp" + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/yomm2/fix_find_boost.patch b/ports/yomm2/fix_find_boost.patch deleted file mode 100644 index f5b167083f57a4..00000000000000 --- a/ports/yomm2/fix_find_boost.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index b7b88b1..02297e7 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -11,7 +11,7 @@ project(YOMM2 VERSION 1.0) - # Find Boost dependency - list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake") - include(find_or_download_package) --find_or_download_package(Boost INSTALL_WITH_YOMM) -+find_package(Boost REQUIRED) - message(STATUS "Using Boost libraries from ${Boost_INCLUDE_DIRS}") - - if(CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") -diff --git a/cmake/Config.cmake.in b/cmake/Config.cmake.in -index 7272504..9f8b2ae 100644 ---- a/cmake/Config.cmake.in -+++ b/cmake/Config.cmake.in -@@ -1,7 +1,7 @@ - include(CMakeFindDependencyMacro) - - # Tell library users about the Boost dependency --find_dependency(Boost 1.53 HINTS ${CMAKE_CURRENT_LIST_DIR}/..) -+find_dependency(Boost 1.53) - - # Add the targets file - include("${CMAKE_CURRENT_LIST_DIR}/YOMM2Targets.cmake") diff --git a/ports/yomm2/fix_uwp_osx.patch b/ports/yomm2/fix_uwp_osx.patch deleted file mode 100644 index 34ee35c8fc264a..00000000000000 --- a/ports/yomm2/fix_uwp_osx.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 2f16eb6..a46c8b7 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -15,14 +15,15 @@ find_package(Boost) - message(STATUS "Using Boost libraries from ${Boost_INCLUDE_DIRS}") - - if(CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") -- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17") - if(CMAKE_BUILD_TYPE STREQUAL "Debug") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -save-temps") - endif() - endif() - - if(MSVC) -- set(CMAKE_CXX_FLAGS "/std:c++17 -D_SCL_SECURE_NO_WARNINGS /EHsc") -+ set(CMAKE_CXX_FLAGS "/std:c++17 -D_SCL_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_WARNINGS /EHsc") -+else() -+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17") - endif() - - add_subdirectory(src) diff --git a/ports/yomm2/portfile.cmake b/ports/yomm2/portfile.cmake index e127c94cb4e1d7..bfa080c5da655d 100644 --- a/ports/yomm2/portfile.cmake +++ b/ports/yomm2/portfile.cmake @@ -1,18 +1,33 @@ -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO jll63/yomm2 - REF v1.1.2 - SHA512 f45c3f3d267dedaa3c76f9dab1a75be01941e3715e71b30b878be49157a5ba97f2188c9e635272be3ca396019b161bb21a30199ca504c94a18673685f5dbf06d + REF "v${VERSION}" + SHA512 9ca6415bb40888332c15d559c6832c0dcf30e9400d2fe36f7f1382acc3e79797edd98a74b89bcae6cdf3add928a001298e78561d5846839920ec7aaf9ffe7744 HEAD_REF master - PATCHES "fix_find_boost.patch" "fix_uwp_osx.patch" ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS -DYOMM2_ENABLE_EXAMPLES=OFF + +set(YOMM2_SHARED OFF) +if(VCPKG_LIBRARY_LINKAGE MATCHES "dynamic") + set(YOMM2_SHARED ON) +endif() + +if(VCPKG_LIBRARY_LINKAGE MATCHES "static") + set(VCPKG_BUILD_TYPE release) # header-only +endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DYOMM2_ENABLE_EXAMPLES=OFF + -DYOMM2_ENABLE_TESTS=OFF + -DYOMM2_SHARED=${YOMM2_SHARED} ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/YOMM2) -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/YOMM2) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +if(VCPKG_LIBRARY_LINKAGE MATCHES "static") # header only library in static build + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib" "${CURRENT_PACKAGES_DIR}/debug") +endif() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/yomm2/vcpkg.json b/ports/yomm2/vcpkg.json index c1696f6f2aea1c..b0966085ee8bdd 100644 --- a/ports/yomm2/vcpkg.json +++ b/ports/yomm2/vcpkg.json @@ -1,13 +1,20 @@ { "name": "yomm2", - "version-string": "1.1.2", + "version": "1.6.0", "description": "YOMM2 is an implementation of open multi-methods.", "homepage": "https://github.com/jll63/yomm2", + "license": "BSL-1.0", "dependencies": [ "boost-dynamic-bitset", - "boost-integer", - "boost-move", + "boost-mp11", "boost-preprocessor", - "boost-type-traits" + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/yyjson/portfile.cmake b/ports/yyjson/portfile.cmake index a4c8ffa07fe3e2..32e64ee6386e5b 100644 --- a/ports/yyjson/portfile.cmake +++ b/ports/yyjson/portfile.cmake @@ -1,14 +1,23 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ibireme/yyjson - REF 1f7dc19c7664dc1aed74045e3b6f316ccd271442 # 0.3.0 - SHA512 fa44dc86d2e7d4a1a178d01085d707b266c2bc32a5bf372a68b74d149b099d346f72dea5865fc1ba37a0c1525d3ac90a38df404d9008bca4577825a603524a91 + REF "${VERSION}" + SHA512 d0274bfdae6291cc54d7c306f7f9064333d3e0fd8d235428148fa5695e151e0fdd0982247a5e82fe60b27e9182ba27d5704aca4546a8dc9545117bd3a017bfb5 HEAD_REF master ) +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + INVERTED_FEATURES + reader YYJSON_DISABLE_READER + writer YYJSON_DISABLE_WRITER + fast-fp-conv YYJSON_DISABLE_FAST_FP_CONV + non-standard YYJSON_DISABLE_NON_STANDARD +) + vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" OPTIONS + ${FEATURE_OPTIONS} -DYYJSON_BUILD_TESTS=OFF -DYYJSON_BUILD_MISC=OFF ) @@ -16,9 +25,9 @@ vcpkg_cmake_configure( vcpkg_cmake_install() vcpkg_copy_pdbs() - +vcpkg_fixup_pkgconfig() vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) file(REMOVE_RECURSE "${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/yyjson/vcpkg.json b/ports/yyjson/vcpkg.json index cd5cc93f100bb6..569a63df9a159c 100644 --- a/ports/yyjson/vcpkg.json +++ b/ports/yyjson/vcpkg.json @@ -1,6 +1,6 @@ { "name": "yyjson", - "version": "0.3.0", + "version": "0.10.0", "description": "A high performance JSON library written in ANSI C", "homepage": "https://github.com/ibireme/yyjson", "license": "MIT", @@ -13,5 +13,34 @@ "name": "vcpkg-cmake-config", "host": true } - ] + ], + "default-features": [ + "fast-fp-conv", + "non-standard", + "reader", + "writer" + ], + "features": { + "fast-fp-conv": { + "description": "Build with custom floating-point number conversion" + }, + "non-standard": { + "description": "Build with support for non-standard JSON" + }, + "reader": { + "description": "Build with JSON reader" + }, + "writer": { + "description": "Build with JSON writer", + "dependencies": [ + { + "name": "yyjson", + "default-features": false, + "features": [ + "reader" + ] + } + ] + } + } } diff --git a/ports/z3/portfile.cmake b/ports/z3/portfile.cmake index e5d5ec72a6fb60..1cf656d78d42b3 100644 --- a/ports/z3/portfile.cmake +++ b/ports/z3/portfile.cmake @@ -1,31 +1,32 @@ -vcpkg_fail_port_install(ON_TARGET "UWP") - -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_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Z3Prover/z3 - REF z3-4.8.12 - SHA512 0B377923BDAFFACA1846AA2ABD61003BBECADFCDFC908ED3097D0AAC8F32028AC39D93FB4A9C2E2C2BFFFBDBEE80AA415875F17DE6C2EE2AE8E2B7921F788C6E + REF z3-${VERSION} + SHA512 c899f57d8cb5450801463b07cd651869d766a920e41a4beedc96c4978e940bfadff9af2fbbb5ba10f94f6742bb33f7abaca0a351f3e1803d778e84d735d6829e HEAD_REF master - PATCHES fix-install-path.patch + PATCHES + fix-install-path.patch + remove-flag-overrides.patch ) if (VCPKG_LIBRARY_LINKAGE STREQUAL "static") set(BUILD_STATIC "-DZ3_BUILD_LIBZ3_SHARED=OFF") endif() -vcpkg_configure_cmake( +vcpkg_cmake_configure( SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA OPTIONS ${BUILD_STATIC} + -DZ3_BUILD_TEST_EXECUTABLES=OFF + -DZ3_ENABLE_EXAMPLE_TARGETS=OFF ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/z3 TARGET_PATH share/Z3) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/z3) vcpkg_copy_pdbs() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/z3/remove-flag-overrides.patch b/ports/z3/remove-flag-overrides.patch new file mode 100644 index 00000000000000..1b185e23b91c62 --- /dev/null +++ b/ports/z3/remove-flag-overrides.patch @@ -0,0 +1,12 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 477410ba8..fcca03917 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,7 +1,6 @@ + # Enforce some CMake policies + cmake_minimum_required(VERSION 3.16) + +-set(CMAKE_USER_MAKE_RULES_OVERRIDE_CXX "${CMAKE_CURRENT_SOURCE_DIR}/cmake/cxx_compiler_flags_overrides.cmake") + project(Z3 VERSION 4.13.3.0 LANGUAGES CXX) + + ################################################################################ diff --git a/ports/z3/vcpkg.json b/ports/z3/vcpkg.json index 1ad7aece5c8d0f..90b8f7d842720b 100644 --- a/ports/z3/vcpkg.json +++ b/ports/z3/vcpkg.json @@ -1,8 +1,18 @@ { "name": "z3", - "version": "4.8.12", - "port-version": 1, + "version": "4.13.3", "description": "Z3 is a theorem prover from Microsoft Research", "homepage": "https://github.com/Z3Prover/z3", - "supports": "!uwp" + "license": "MIT", + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/z4kn4fein-semver/portfile.cmake b/ports/z4kn4fein-semver/portfile.cmake new file mode 100644 index 00000000000000..40fffb45cafb3b --- /dev/null +++ b/ports/z4kn4fein-semver/portfile.cmake @@ -0,0 +1,17 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO z4kn4fein/cpp-semver + REF "v${VERSION}" + SHA512 115cb6ab37e20c03db8f1052fa09872bb3b081c10a310fea82c8b42fad79361d4d7597511538c79553411c88f8d55926d72f1db79163aa0c97b87100db186acb + HEAD_REF main +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DSEMVER_BUILD_TESTS=OFF +) +vcpkg_cmake_install() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/z4kn4fein-semver/vcpkg.json b/ports/z4kn4fein-semver/vcpkg.json new file mode 100644 index 00000000000000..579fe5f1b535ad --- /dev/null +++ b/ports/z4kn4fein-semver/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "z4kn4fein-semver", + "version": "0.4.0", + "description": "Semantic Versioning 2.0.0 library for modern C++", + "homepage": "https://github.com/z4kn4fein/cpp-semver", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/z85/vcpkg.json b/ports/z85/vcpkg.json index 66f96178accb29..2bf093296039c4 100644 --- a/ports/z85/vcpkg.json +++ b/ports/z85/vcpkg.json @@ -1,6 +1,6 @@ { "name": "z85", - "version-string": "1.0", - "port-version": 1, + "version": "1.0", + "port-version": 2, "description": "Z85 is a binary-to-text encoding library. It implements ZeroMQ Base-85 Encoding Algorithm and provides custom padding." } diff --git a/ports/zeroc-ice/change_to_mt.ps1 b/ports/zeroc-ice/change_to_mt.ps1 new file mode 100644 index 00000000000000..91306095423bd0 --- /dev/null +++ b/ports/zeroc-ice/change_to_mt.ps1 @@ -0,0 +1,53 @@ + +$projFilePath = $args[0] +$crtLinkage = $args[1] + +if($projFilePath) +{ + $xpath = "/rs:Project/rs:ItemGroup/rs:ProjectConfiguration" + $xmldoc = New-Object System.Xml.XmlDocument + $xmldoc.load($projFilePath) + $nsmgr = New-Object System.Xml.XmlNamespaceManager($xmldoc.NameTable); + $nsmgr.AddNamespace("rs", "http://schemas.microsoft.com/developer/msbuild/2003"); + $root = $xmldoc.DocumentElement + + foreach($conf in $root.ItemDefinitionGroup) + { + if($conf.Condition) + { + if(-Not ($conf.ClCompile.RuntimeLibrary)) + { + $rtl = $xmldoc.CreateElement("RuntimeLibrary", $conf.ClCompile.NamespaceURI) + $conf.ClCompile.AppendChild($rtl) + } + + if($conf.Condition.Contains("Debug")) + { + if($crtLinkage -eq "static") + { + $conf.ClCompile.RuntimeLibrary = "MultithreadedDebug" + } + else + { + $conf.ClCompile.RuntimeLibrary = "MultithreadedDebugDLL" + } + } + else + { + if($crtLinkage -eq "static") + { + $conf.ClCompile.RuntimeLibrary = "Multithreaded" + } + else + { + $conf.ClCompile.RuntimeLibrary = "MultithreadedDLL" + } + } + } + } + $xmldoc.save($projFilePath) +} +else +{ + Write-Error "Error: No path defined!" +} diff --git a/ports/zeroc-ice/mcppd_fix.patch b/ports/zeroc-ice/mcppd_fix.patch new file mode 100644 index 00000000000000..3502af87191247 --- /dev/null +++ b/ports/zeroc-ice/mcppd_fix.patch @@ -0,0 +1,24 @@ +--- a/config/Make.project.rules 2022-01-17 10:28:23.000000000 ++++ b/config/Make.project.rules 2022-04-18 12:15:19.000000000 +@@ -1050,17 +1050,17 @@ + # + # $(call make-lib,$1=libname) + # + define make-lib + ifneq ($($1_home),) + # Check for 3rd party libraries either in home/lib or home/lib +-$1_installdir = $$($1_home)/lib$$(call platform-var,installdir,$1,$$($$2_platform),$$($$2_config),$$2) +-$1_libdir ?= $$(strip $$(if $$(wildcard $$($1_installdir)),$$($1_installdir),$$($1_home)/lib)) +-$1_includedir ?= $$($1_home)/include ++$1_installdir = ++$1_libdir ?= ++$1_includedir ?= + endif +-$1_ldflags ?= -l$1 ++$1_ldflags ?= -l$$(if $$(and $$(filter mcpp,$1),$$(filter no,$$(OPTIMIZE))),$1d,$1) + endef + + # + # $(call repathfromdir,path) + # + # Returns reversed relative path for directory (e.g.: test/Ice/operations diff --git a/ports/zeroc-ice/no-werror.patch b/ports/zeroc-ice/no-werror.patch new file mode 100644 index 00000000000000..655d0bddb92016 --- /dev/null +++ b/ports/zeroc-ice/no-werror.patch @@ -0,0 +1,13 @@ +diff --git a/config/Make.rules.Darwin b/config/Make.rules.Darwin +index e978836..2276b5d 100644 +--- a/config/Make.rules.Darwin ++++ b/config/Make.rules.Darwin +@@ -35,7 +35,7 @@ endif + shared_cppflags = $(if $(filter-out program,$($1_target)),-fPIC) -fvisibility=hidden + + cppflags = -Wall -Wextra -Wshadow -Wshadow-all -Wredundant-decls -Wno-shadow-field \ +- -Wdeprecated -Wstrict-prototypes -Werror -Wconversion -Wdocumentation -pthread \ ++ -Wdeprecated -Wstrict-prototypes -Wconversion -Wdocumentation -pthread \ + $(if $(filter yes,$(OPTIMIZE)),-O2 -DNDEBUG,-g) + + ifeq ($(MAXWARN),yes) diff --git a/ports/zeroc-ice/portfile.cmake b/ports/zeroc-ice/portfile.cmake new file mode 100644 index 00000000000000..a9ddd7e7dc5c33 --- /dev/null +++ b/ports/zeroc-ice/portfile.cmake @@ -0,0 +1,317 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO zeroc-ice/ice + REF "v${VERSION}" + SHA512 638ca8721db1559aae80c43663a1210ba9c8f72d58003f2d9457048c9100bee74036910917d1d10bf5b998ba49f0878177e094b436c83d3deb63613f9075483d + PATCHES + mcppd_fix.patch + no-werror.patch +) + +set(RELEASE_TRIPLET ${TARGET_TRIPLET}-rel) +set(DEBUG_TRIPLET ${TARGET_TRIPLET}-dbg) + +set(UNIX_BUILD_DIR "${SOURCE_PATH}") +set(WIN_DEBUG_BUILD_DIR "${CURRENT_BUILDTREES_DIR}/${DEBUG_TRIPLET}") +set(WIN_RELEASE_BUILD_DIR "${CURRENT_BUILDTREES_DIR}/${RELEASE_TRIPLET}") + +# install_includes +function(install_includes ORIGINAL_PATH RELATIVE_PATHS) + foreach(RELATIVE_PATH ${RELATIVE_PATHS}) + file(GLOB HEADER_FILES ${ORIGINAL_PATH}/${RELATIVE_PATH}/*.h) + if(EXISTS "${ORIGINAL_PATH}/${RELATIVE_PATH}") + file(COPY ${HEADER_FILES} DESTINATION "${CURRENT_PACKAGES_DIR}/include/${RELATIVE_PATH}") + endif() + endforeach() +endfunction() + +# install_slices +function(install_slices ORIGINAL_PATH RELATIVE_PATHS) + foreach(RELATIVE_PATH ${RELATIVE_PATHS}) + file(GLOB HEADER_FILES ${ORIGINAL_PATH}/${RELATIVE_PATH}/*.ice) + if(EXISTS ${ORIGINAL_PATH}/${RELATIVE_PATH}) + file(COPY ${HEADER_FILES} DESTINATION "${CURRENT_PACKAGES_DIR}/share/ice/slice/${RELATIVE_PATH}") + endif() + endforeach() +endfunction() + +vcpkg_list(SET ICE_INCLUDE_SUB_DIRECTORIES + "Glacier2" + "Ice" + "IceUtil" + "IceBT" + "IceBox" + "IceBT" + "IceDiscovery" + "IceGrid" + "IceIAP" + "IceLocatorDiscovery" + "IcePatch2" + "IceSSL" + "IceStorm" +) + +set(ICE_OPTIONAL_COMPONENTS_MSBUILD "") +set(ICE_OPTIONAL_COMPONENTS_MAKE "Ice") # Intentional! +set(pkgconfig_packages "") + +# IceSSL +if("icessl" IN_LIST FEATURES) + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++11\\icessl++11") + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MAKE "IceSSL") +endif() + +# Glacier2 +if("glacier2lib" IN_LIST FEATURES) + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++11\\glacier2++11") + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MAKE "Glacier2") +endif() + +# Glacier2Router +if("glacier2router" IN_LIST FEATURES) + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++98\\glacier2router") + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++98\\glacier2cryptpermissionsverifier") + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MAKE "glacier2router") + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MAKE "Glacier2CryptPermissionsVerifier") +endif() + +# IceBox +if("iceboxlib" IN_LIST FEATURES) + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++11\\iceboxlib++11") + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MAKE "IceBox") +endif() + +# IceBox +if("iceboxtools" IN_LIST FEATURES) + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++11\\icebox++11") + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++98\\iceboxadmin") + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MAKE "icebox") + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MAKE "iceboxadmin") +endif() + +# IceGrid +if("icegridlib" IN_LIST FEATURES) + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++11\\icegrid++11") + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MAKE "IceGrid") +endif() + +# IceGrid tools +if("icegridtools" IN_LIST FEATURES) + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++98\\icegridadmin") + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++98\\icegridregistry") + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++98\\icegridnode") + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MAKE "icegridnode") + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MAKE "icegridregistry") + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MAKE "icegridnode") + list(APPEND pkgconfig_packages expat) +endif() + +# IceStorm +if("icestormlib" IN_LIST FEATURES) + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++11\\icestorm++11") + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MAKE "IceStorm") +endif() + +# IceStormAdmin +if("icestormtools" IN_LIST FEATURES) + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++98\\icestormadmin") + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++98\\icestormservice") + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++98\\icestormdb") + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MAKE "icestormadmin") + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MAKE "IceStormService") + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MAKE "icestormdb") +endif() + +# IceBridge executable +if("icebridge" IN_LIST FEATURES) + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++98\\icebridge") + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MAKE "icebridge") +endif() + +# IceDiscovery +if("icediscovery" IN_LIST FEATURES) + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++11\\icediscovery++11") + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MAKE "IceDiscovery") +endif() + +# IceLocatorDiscovery +if("icelocatordiscovery" IN_LIST FEATURES) + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MSBUILD "/t:C++11\\icelocatordiscovery++11") + vcpkg_list(APPEND ICE_OPTIONAL_COMPONENTS_MAKE "IceLocatorDiscovery") +endif() + +if(NOT VCPKG_TARGET_IS_WINDOWS) + # Clean up for the first round (important for install --editable) + vcpkg_execute_build_process( + COMMAND make distclean + WORKING_DIRECTORY ${SOURCE_PATH}/cpp + LOGNAME make-clean-${TARGET_TRIPLET} + ) + + if(EXISTS "${UNIX_BUILD_DIR}/cpp/lib") + file(REMOVE_RECURSE "${UNIX_BUILD_DIR}/cpp/lib") + endif() + if(EXISTS "${UNIX_BUILD_DIR}/cpp/lib64") + file(REMOVE_RECURSE "${UNIX_BUILD_DIR}/cpp/lib64") + endif() + file(REMOVE_RECURSE "${UNIX_BUILD_DIR}/cpp/bin") + + # Setting these as environment variables, as .d files aren't generated + # the first time passing them as arguments to make. + set(ENV{MCPP_HOME} ${CURRENT_INSTALLED_DIR}) + set(ENV{EXPAT_HOME} ${CURRENT_INSTALLED_DIR}) + set(ENV{BZ2_HOME} ${CURRENT_INSTALLED_DIR}) + set(ENV{LMDB_HOME} ${CURRENT_INSTALLED_DIR}) + set(ENV{CPPFLAGS} "-I${CURRENT_INSTALLED_DIR}/include") + set(ENV{LDFLAGS} "-L${CURRENT_INSTALLED_DIR}/debug/lib") + + set(ICE_BUILD_CONFIG "shared cpp11-shared") + if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + set(ICE_BUILD_CONFIG "static cpp11-static") + endif() + if(NOT VCPKG_BUILD_TYPE) + message(STATUS "Building ${TARGET_TRIPLET}-dbg") + vcpkg_execute_build_process( + COMMAND make + V=1 + "prefix=${CURRENT_PACKAGES_DIR}/debug" + linux_id=vcpkg + "CONFIGS=${ICE_BUILD_CONFIG}" + USR_DIR_INSTALL=yes + OPTIMIZE=no + ${ICE_OPTIONAL_COMPONENTS_MAKE} + "-j${VCPKG_CONCURRENCY}" + WORKING_DIRECTORY ${SOURCE_PATH}/cpp + LOGNAME make-${TARGET_TRIPLET}-dbg + ) + + # Install debug libraries to packages directory + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/lib") + if(EXISTS "${UNIX_BUILD_DIR}/cpp/lib64") + file(GLOB ICE_DEBUG_LIBRARIES "${UNIX_BUILD_DIR}/cpp/lib64/*") + else() + file(GLOB ICE_DEBUG_LIBRARIES "${UNIX_BUILD_DIR}/cpp/lib/*") + endif() + file(COPY ${ICE_DEBUG_LIBRARIES} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") + + # Clean up for the next round + vcpkg_execute_build_process( + COMMAND make distclean + WORKING_DIRECTORY ${SOURCE_PATH}/cpp + LOGNAME make-clean-${TARGET_TRIPLET} + ) + + if(EXISTS "${UNIX_BUILD_DIR}/cpp/lib") + file(REMOVE_RECURSE "${UNIX_BUILD_DIR}/cpp/lib") + endif() + if(EXISTS "${UNIX_BUILD_DIR}/cpp/lib64") + file(REMOVE_RECURSE "${UNIX_BUILD_DIR}/cpp/lib64") + endif() + file(REMOVE_RECURSE "${UNIX_BUILD_DIR}/cpp/bin") + endif() # TODO: get-cmake-vars! + # Release build + set(ENV{LDFLAGS} "-L${CURRENT_INSTALLED_DIR}/lib") + message(STATUS "Building ${TARGET_TRIPLET}-rel") + vcpkg_execute_build_process( + COMMAND make + V=1 + "prefix=${CURRENT_PACKAGES_DIR}" + linux_id=vcpkg + "CONFIGS=${ICE_BUILD_CONFIG}" + USR_DIR_INSTALL=yes + OPTIMIZE=yes + ${ICE_OPTIONAL_COMPONENTS_MAKE} + "-j${VCPKG_CONCURRENCY}" + WORKING_DIRECTORY ${SOURCE_PATH}/cpp + LOGNAME make-${TARGET_TRIPLET}-rel + ) + + # Install release libraries and other files to packages directory + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/lib") + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/include") + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/share/ice/slice") + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/${PORT}") + + install_includes("${UNIX_BUILD_DIR}/cpp/include" "${ICE_INCLUDE_SUB_DIRECTORIES}") + install_includes("${UNIX_BUILD_DIR}/cpp/include/generated" "${ICE_INCLUDE_SUB_DIRECTORIES}") + install_slices("${SOURCE_PATH}/slice" "${ICE_INCLUDE_SUB_DIRECTORIES}") + if(EXISTS "${UNIX_BUILD_DIR}/cpp/lib64") + file(GLOB ICE_RELEASE_LIBRARIES "${UNIX_BUILD_DIR}/cpp/lib64/*") + else() + file(GLOB ICE_RELEASE_LIBRARIES "${UNIX_BUILD_DIR}/cpp/lib/*") + endif() + file(COPY ${ICE_RELEASE_LIBRARIES} DESTINATION "${CURRENT_PACKAGES_DIR}/lib") + file(GLOB ICE_RELEASE_EXECUTABLES "${UNIX_BUILD_DIR}/cpp/bin/*") + file(COPY ${ICE_RELEASE_EXECUTABLES} DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}") + + # Clean up + vcpkg_execute_build_process( + COMMAND make distclean + WORKING_DIRECTORY ${SOURCE_PATH}/cpp + LOGNAME make-clean-after-build-${TARGET_TRIPLET} + ) + + if(EXISTS "${UNIX_BUILD_DIR}/cpp/lib") + file(REMOVE_RECURSE "${UNIX_BUILD_DIR}/cpp/lib") + endif() + if(EXISTS "${UNIX_BUILD_DIR}/cpp/lib64") + file(REMOVE_RECURSE "${UNIX_BUILD_DIR}/cpp/lib64") + endif() + file(REMOVE_RECURSE "${UNIX_BUILD_DIR}/cpp/bin") + +else() # VCPKG_TARGET_IS_WINDOWS + + # Fix project files to prevent nuget restore of dependencies and + # remove hard coded runtime linkage + include("${CURRENT_PORT_DIR}/prepare_for_build.cmake") + prepare_for_build("${SOURCE_PATH}") + + vcpkg_list(SET MSBUILD_OPTIONS + "/p:UseVcpkg=yes" + "/p:IceBuildingSrc=yes" + ${ICE_OPTIONAL_COMPONENTS_MSBUILD} + ) + + # Build Ice + vcpkg_msbuild_install( + SOURCE_PATH "${SOURCE_PATH}" + PROJECT_SUBPATH "cpp/msbuild/ice.${VCPKG_PLATFORM_TOOLSET}.sln" + TARGET "C++11\\ice++11" + OPTIONS + ${MSBUILD_OPTIONS} + DEPENDENT_PKGCONFIG bzip2 ${pkgconfig_packages} + ADDITIONAL_LIBS lmdb.lib + ADDITIONAL_LIBS_RELEASE mcpp.lib ${libs_rel} + ADDITIONAL_LIBS_DEBUG mcppd.lib ${libs_dbg} + ) + + if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/zeroc.icebuilder.msbuild.dll") + file(REMOVE "${CURRENT_PACKAGES_DIR}/bin/zeroc.icebuilder.msbuild.dll") + endif() + if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/bin/zeroc.icebuilder.msbuild.dll") + file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/bin/zeroc.icebuilder.msbuild.dll") + endif() + + install_includes("${WIN_RELEASE_BUILD_DIR}/cpp/include" "${ICE_INCLUDE_SUB_DIRECTORIES}") + install_includes("${WIN_RELEASE_BUILD_DIR}/cpp/include/generated/cpp11/${TRIPLET_SYSTEM_ARCH}/Release" "${ICE_INCLUDE_SUB_DIRECTORIES}") + + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/share/ice/slice") + install_slices("${SOURCE_PATH}/slice" "${ICE_INCLUDE_SUB_DIRECTORIES}") + + if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") + endif() + + vcpkg_clean_msbuild() + +endif() + +# Remove unnecessary static libraries. +file(GLOB PDLIBS "${CURRENT_PACKAGES_DIR}/debug/lib/*") +file(GLOB PRLIBS "${CURRENT_PACKAGES_DIR}/lib/*") +list(FILTER PDLIBS INCLUDE REGEX ".*(([Ii]ce[Uu]til|[Ss]lice)d?\.([a-z]+))$") +list(FILTER PRLIBS INCLUDE REGEX ".*(([Ii]ce[Uu]til|[Ss]lice)d?\.([a-z]+))$") +file(REMOVE ${PDLIBS} ${PRLIBS}) + +# Handle copyright +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/zeroc-ice/prepare_for_build.cmake b/ports/zeroc-ice/prepare_for_build.cmake new file mode 100644 index 00000000000000..e49303c99f830a --- /dev/null +++ b/ports/zeroc-ice/prepare_for_build.cmake @@ -0,0 +1,78 @@ + +# This function modifies hardcoded RuntimeLibrary directives in Ice's .vcxproj files and downloads +# Ice Builder for MSBuild, which is required to generate C++ files based on the interface definition +# files (.ice). + +function(prepare_for_build ICE_SOURCE_DIR) + + message("-- Modifying hardcoded 'RuntimeLibrary' directives in .vcxproj files") + set(CPP_SOURCE_DIR "${ICE_SOURCE_DIR}/cpp/src") + file(GLOB_RECURSE PROJ_FILES "${CPP_SOURCE_DIR}/*.vcxproj") + + foreach(PROJ_FILE ${PROJ_FILES}) + file(READ ${PROJ_FILE} PROJ_FILE_CONTENT) + STRING(REGEX + REPLACE + "" + "" + PROJ_FILE_CONTENT + "${PROJ_FILE_CONTENT}" + ) + + if((NOT ${PROJ_FILE} MATCHES ".*slice\.vcxproj") AND + (NOT ${PROJ_FILE} MATCHES ".*iceutil\.vcxproj") AND + (NOT ${PROJ_FILE} MATCHES ".*slice2cpp\.vcxproj")) + + if(${VCPKG_LIBRARY_LINKAGE} STREQUAL "static") + STRING(REGEX + REPLACE + "DynamicLibrary" + "StaticLibrary" + PROJ_FILE_CONTENT + "${PROJ_FILE_CONTENT}" + ) + else() + STRING(REGEX + REPLACE + "StaticLibrary" + "DynamicLibrary" + PROJ_FILE_CONTENT + "${PROJ_FILE_CONTENT}" + ) + endif() + endif() + + file(WRITE ${PROJ_FILE} "${PROJ_FILE_CONTENT}") + + vcpkg_execute_required_process( + COMMAND pwsh ${CURRENT_PORT_DIR}/change_to_mt.ps1 ${PROJ_FILE} ${VCPKG_CRT_LINKAGE} + WORKING_DIRECTORY ${SOURCE_PATH} + LOGNAME change_to_mt-${TARGET_TRIPLET}-rel + ) + endforeach() + + set(ICE_BUILDER_VERSION "5.0.9") + set(ICE_CPP_MSBUILD_PACKAGES_DIR "${ICE_SOURCE_DIR}/cpp/msbuild/packages") + set(ICE_BUILDER_DEST_DIRECTORY "${ICE_CPP_MSBUILD_PACKAGES_DIR}/zeroc.icebuilder.msbuild.${ICE_BUILDER_VERSION}") + if(NOT EXISTS "${ICE_BUILDER_DEST_DIRECTORY}") + message("-- Making Ice Builder for MSBuild available") + vcpkg_download_distfile( + ICE_BUILDER_MSBUILD_ARCHIVE + URLS https://globalcdn.nuget.org/packages/zeroc.icebuilder.msbuild.5.0.9.nupkg + FILENAME "zeroc.icebuilder.msbuild.${ICE_BUILDER_VERSION}.zip" + SHA512 E65620F3B667A48B28EC770443296BB0B8058168197DB3AE877A36531FFC6CE7E9289C7FE37DFAD751877FBDBA03C55E37122931BBF001EA6F1906DFEEBACFCB + ) + + vcpkg_extract_source_archive( + ICE_BUILDER_MSBUILD_DIRECTORY + ARCHIVE + "${ICE_BUILDER_MSBUILD_ARCHIVE}" + NO_REMOVE_ONE_LEVEL + SOURCE_BASE icebuilder + ) + + file(MAKE_DIRECTORY "${ICE_SOURCE_DIR}/cpp/msbuild/packages") + file(RENAME "${ICE_BUILDER_MSBUILD_DIRECTORY}" "${ICE_BUILDER_DEST_DIRECTORY}") + endif() + +endfunction() diff --git a/ports/zeroc-ice/vcpkg.json b/ports/zeroc-ice/vcpkg.json new file mode 100644 index 00000000000000..30f8fbc08c78d8 --- /dev/null +++ b/ports/zeroc-ice/vcpkg.json @@ -0,0 +1,151 @@ +{ + "name": "zeroc-ice", + "version": "3.7.10", + "maintainers": "Benjamin Oldenburg ", + "description": "Comprehensive RPC framework with support for C++, CSharp, Java, JavaScript, Python and more.", + "homepage": "https://github.com/zeroc-ice/ice", + "license": null, + "supports": "!uwp & !(windows & arm) & !wasm32", + "dependencies": [ + "bzip2", + "expat", + "lmdb", + "mcpp", + { + "name": "openssl", + "platform": "!windows" + }, + { + "name": "vcpkg-msbuild", + "host": true, + "platform": "windows" + }, + "zlib" + ], + "default-features": [ + "glacier2lib", + "icegridlib", + "icestormlib" + ], + "features": { + "glacier2lib": { + "description": "Glacier2 libraries" + }, + "glacier2router": { + "description": "Glacier2Router", + "supports": "!(windows & static)", + "dependencies": [ + { + "name": "zeroc-ice", + "features": [ + "glacier2lib", + "icessl" + ] + } + ] + }, + "iceboxlib": { + "description": "IceBox libraries and runtime", + "supports": "!(windows & static)" + }, + "iceboxtools": { + "description": "IceBox tools", + "supports": "!(windows & static)" + }, + "icebridge": { + "description": "IceBridge", + "supports": "!(windows & static)", + "dependencies": [ + { + "name": "zeroc-ice", + "features": [ + "iceboxlib" + ] + } + ] + }, + "icediscovery": { + "description": "IceDiscovery", + "dependencies": [ + { + "name": "zeroc-ice", + "features": [ + "glacier2lib", + "iceboxlib", + "icessl", + "icestormlib" + ] + } + ] + }, + "icegridlib": { + "description": "IceGrid library", + "dependencies": [ + { + "name": "zeroc-ice", + "features": [ + "glacier2lib" + ] + } + ] + }, + "icegridtools": { + "description": "IceGrid tools", + "supports": "!(windows & static)", + "dependencies": [ + "expat", + { + "name": "zeroc-ice", + "features": [ + "glacier2lib", + "iceboxlib", + "icegridlib", + "icessl" + ] + } + ] + }, + "icelocatordiscovery": { + "description": "IceLocatorDiscovery", + "dependencies": [ + { + "name": "zeroc-ice", + "features": [ + "glacier2lib", + "iceboxlib", + "icessl", + "icestormlib" + ] + } + ] + }, + "icessl": { + "description": "IceSSL", + "dependencies": [ + { + "name": "openssl", + "platform": "!windows" + } + ] + }, + "icestormlib": { + "description": "IceStorm library" + }, + "icestormtools": { + "description": "IceStorm tools", + "supports": "!(windows & static)", + "dependencies": [ + "lmdb", + { + "name": "zeroc-ice", + "features": [ + "glacier2lib", + "iceboxlib", + "icegridlib", + "icestormlib" + ] + } + ] + } + } +} diff --git a/ports/zeromq/portfile.cmake b/ports/zeromq/portfile.cmake index ba51367e2f5cc2..8fa01f31a1b2e3 100644 --- a/ports/zeromq/portfile.cmake +++ b/ports/zeromq/portfile.cmake @@ -1,11 +1,10 @@ -vcpkg_fail_port_install(ON_TARGET "UWP") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO zeromq/libzmq - REF v4.3.4 - SHA512 ad828b1ab5a87983285a6b44b08240816ed1c4e2c73306ab1a851bf80df1892b5e2f92064a49fbadc1f4c75043625ace77dd25b64d5d1c2a7d1d61cc916fba0b - PATCHES fix-arm.patch + REF "v${VERSION}" + SHA512 108d9c5fa761c111585c30f9c651ed92942dda0ac661155bca52cc7b6dbeb3d27b0dd994abde206eacfc3bc88d19ed24e45b291050c38469e34dca5f8c9a037d + PATCHES + fix-arm.patch ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC) @@ -14,18 +13,22 @@ string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED) vcpkg_check_features( OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES - sodium WITH_LIBSODIUM - draft ENABLE_DRAFTS - websockets-sha1 ENABLE_WS + sodium WITH_LIBSODIUM + draft ENABLE_DRAFTS + websockets ENABLE_WS + websockets-secure WITH_TLS + curve ENABLE_CURVE ) -set(PLATFORM_OPTIONS) +set(PLATFORM_OPTIONS "") if(VCPKG_TARGET_IS_MINGW) - set(PLATFORM_OPTIONS "-DCMAKE_SYSTEM_VERSION=6.0") + list(APPEND PLATFORM_OPTIONS "-DCMAKE_SYSTEM_VERSION=6.0" "-DZMQ_HAVE_IPC=0") endif() +vcpkg_find_acquire_program(PKGCONFIG) + vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DZMQ_BUILD_TESTS=OFF -DBUILD_STATIC=${BUILD_STATIC} @@ -33,11 +36,19 @@ vcpkg_cmake_configure( -DWITH_PERF_TOOL=OFF -DWITH_DOCS=OFF -DWITH_NSS=OFF + -DWITH_LIBBSD=OFF + -DCMAKE_REQUIRE_FIND_PACKAGE_GnuTLS=ON -DWITH_LIBSODIUM_STATIC=${BUILD_STATIC} ${FEATURE_OPTIONS} ${PLATFORM_OPTIONS} + "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}" OPTIONS_DEBUG "-DCMAKE_PDB_OUTPUT_DIRECTORY=${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg" + MAYBE_UNUSED_VARIABLES + CMAKE_REQUIRE_FIND_PACKAGE_GnuTLS + WITH_LIBBSD + WITH_PERF_TOOL + WITH_TLS ) vcpkg_cmake_install() @@ -60,8 +71,7 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") endif() # Handle copyright -file(RENAME "${CURRENT_PACKAGES_DIR}/share/zmq/COPYING.LESSER.txt" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright") - +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share" "${CURRENT_PACKAGES_DIR}/share/zmq") vcpkg_fixup_pkgconfig() diff --git a/ports/zeromq/vcpkg.json b/ports/zeromq/vcpkg.json index e7d469bf287bca..b53a74786d9015 100644 --- a/ports/zeromq/vcpkg.json +++ b/ports/zeromq/vcpkg.json @@ -1,10 +1,11 @@ { "name": "zeromq", - "version": "4.3.4", + "version": "4.3.5", "port-version": 2, "description": "The ZeroMQ lightweight messaging kernel is a library which extends the standard socket interfaces with features traditionally provided by specialised messaging middleware products", "homepage": "https://github.com/zeromq/libzmq", - "supports": "!uwp", + "license": "MPL-2.0", + "supports": "!uwp & !xbox", "dependencies": [ { "name": "vcpkg-cmake", @@ -16,17 +17,40 @@ } ], "features": { + "curve": { + "description": "Enable CURVE security" + }, "draft": { "description": "Build and install draft APIs" }, "sodium": { "description": "Using libsodium for CURVE security", "dependencies": [ - "libsodium" + "libsodium", + { + "name": "zeromq", + "default-features": false, + "features": [ + "curve" + ] + } ] }, - "websockets-sha1": { - "description": "Enable WebSocket transport through builtin sha1 (libzmq#3676)" + "websockets": { + "description": "Enable WebSocket transport" + }, + "websockets-secure": { + "description": "Enable WebSocket transport with TSL (wss)", + "dependencies": [ + "libgnutls", + { + "name": "zeromq", + "default-features": false, + "features": [ + "websockets" + ] + } + ] } } } diff --git a/ports/zfp/fix-build-error.patch b/ports/zfp/fix-build-error.patch deleted file mode 100644 index 0c1e1576347494..00000000000000 --- a/ports/zfp/fix-build-error.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff --git a/utils/CMakeLists.txt b/utils/CMakeLists.txt -index a960d2c..e6a492d 100644 ---- a/utils/CMakeLists.txt -+++ b/utils/CMakeLists.txt -@@ -1,5 +1,5 @@ - add_executable(zfpcmd zfp.c) --set_property(TARGET zfpcmd PROPERTY OUTPUT_NAME zfp) -+#set_property(TARGET zfpcmd PROPERTY OUTPUT_NAME zfp) - target_link_libraries(zfpcmd zfp) - if(HAVE_LIBM_MATH) - target_link_libraries(zfpcmd m) diff --git a/ports/zfp/fix-install-tools.patch b/ports/zfp/fix-install-tools.patch deleted file mode 100644 index 49a511d44ddd1e..00000000000000 --- a/ports/zfp/fix-install-tools.patch +++ /dev/null @@ -1,72 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 47179fd..96add54 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -220,8 +220,8 @@ add_subdirectory(src) - option(BUILD_ALL "Build all subdirectories" OFF) - if(BUILD_ALL) - set(BUILD_CFP ON CACHE BOOL "Build CFP arrays library" FORCE) -- set(BUILD_ZFORP ON CACHE BOOL "Build Fortran library" FORCE) -- set(BUILD_ZFPY ON CACHE BOOL "Build python bindings for zfp" FORCE) -+ set(BUILD_ZFORP OFF CACHE BOOL "Build Fortran library" FORCE) -+ set(BUILD_ZFPY OFF CACHE BOOL "Build python bindings for zfp" FORCE) - set(BUILD_UTILITIES ON CACHE BOOL "Build command line utilities for zfp" FORCE) - set(BUILD_EXAMPLES ON CACHE BOOL "Build Examples" FORCE) - endif() -diff --git a/cfp/src/CMakeLists.txt b/cfp/src/CMakeLists.txt -index 386698c..ecba525 100644 ---- a/cfp/src/CMakeLists.txt -+++ b/cfp/src/CMakeLists.txt -@@ -36,3 +36,5 @@ install(TARGETS cfp EXPORT cfp-targets - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) -+ -+install(DIRECTORY ${ZFP_SOURCE_DIR}/cfp/include DESTINATION include) -diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt -index 7cc7606..6ca1034 100644 ---- a/examples/CMakeLists.txt -+++ b/examples/CMakeLists.txt -@@ -34,3 +34,20 @@ if(HAVE_LIBM_MATH) - target_link_libraries(pgm m) - target_link_libraries(simple m) - endif() -+ -+install(TARGETS diffusion -+ RUNTIME DESTINATION tools) -+ if(BUILD_CFP) -+ install(TARGETS diffusionC -+ RUNTIME DESTINATION tools) -+ endif() -+install(TARGETS inplace -+ RUNTIME DESTINATION tools) -+install(TARGETS iterator -+ RUNTIME DESTINATION tools) -+install(TARGETS pgm -+ RUNTIME DESTINATION tools) -+install(TARGETS simple -+ RUNTIME DESTINATION tools) -+install(TARGETS speed -+ RUNTIME DESTINATION tools) -diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt -index d15246e..7a6c6cb 100644 ---- a/tests/CMakeLists.txt -+++ b/tests/CMakeLists.txt -@@ -19,3 +19,6 @@ if(ZFP_BUILD_TESTING_LARGE) - endforeach() - endforeach() - endif() -+ -+install(TARGETS testzfp -+ RUNTIME DESTINATION tools) -diff --git a/utils/CMakeLists.txt b/utils/CMakeLists.txt -index a960d2c..5fcbf87 100644 ---- a/utils/CMakeLists.txt -+++ b/utils/CMakeLists.txt -@@ -4,3 +4,6 @@ target_link_libraries(zfpcmd zfp) - if(HAVE_LIBM_MATH) - target_link_libraries(zfpcmd m) - endif() -+ -+install(TARGETS zfpcmd -+ RUNTIME DESTINATION tools) diff --git a/ports/zfp/portfile.cmake b/ports/zfp/portfile.cmake index 64d1f7e3cc89ba..aeddc5442c1cbc 100644 --- a/ports/zfp/portfile.cmake +++ b/ports/zfp/portfile.cmake @@ -1,44 +1,42 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO LLNL/zfp - REF 0.5.5 - SHA512 c043cee73f6e972e047452552ab2ceb9247a6747fdb7e5f863aeab3a05208737c0bcabbe29f3c10e5c1aba961ec47aa6a0abdb395486fa0d5fb16a4ad45733c4 + REF f39af72648a2aeb88e9b2cca8c64f51b493ad5f4 #1.0.0 + SHA512 943c147a5170defe8e40c6b5ffc736dcc5a4fd33ab5b3e71aab9194821d68e4b6d093f11c76532ae011cbee44c861b04feb01e36789a9858b10ebfa808416e92 HEAD_REF master - PATCHES - fix-build-error.patch - fix-install-tools.patch ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - all BUILD_ALL - cfp BUILD_CFP - test BUILD_TESTING - example BUILD_EXAMPLES - utility BUILD_UTILITIES + FEATURES + all BUILD_ALL + cfp BUILD_CFP + utility BUILD_UTILITIES ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${FEATURE_OPTIONS} - -DBUILD_ZFPY=OFF - -DBUILD_ZFORP=OFF + -DBUILD_TESTING=OFF + -DBUILD_ALL=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +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_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) # Rename problematic root include "bitstream.h"; conflicts with x265's private headers -file(RENAME ${CURRENT_PACKAGES_DIR}/include/bitstream.h ${CURRENT_PACKAGES_DIR}/include/zfp/bitstream.h) -vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/include/zfp.h "\"bitstream.h\"" "\"zfp/bitstream.h\"") +vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/include/zfp.h "\"bitstream.h\"" "\"zfp/bitstream.h\"" IGNORE_UNCHANGED) + +if("utility" IN_LIST FEATURES) + if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/zfp") + vcpkg_copy_tools(TOOL_NAMES zfp AUTO_CLEAN) + else() + vcpkg_copy_tools(TOOL_NAMES zfpcmd AUTO_CLEAN) + endif() +endif() vcpkg_copy_pdbs() -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/zfp/vcpkg.json b/ports/zfp/vcpkg.json index e0313dbf8493d4..ff4fd5501f8852 100644 --- a/ports/zfp/vcpkg.json +++ b/ports/zfp/vcpkg.json @@ -1,22 +1,36 @@ { "name": "zfp", - "version-string": "0.5.5", - "port-version": 3, + "version": "1.0.0", + "port-version": 2, "description": "Zfp is an open source C/C++ library for compressed numerical arrays that support high throughput read and write random access. zfp also supports streaming compression of integer and floating-point data, e.g., for applications that read and write large data sets to and from disk. zfp is primarily written in C and C++ but also includes Python and Fortran bindings.", "homepage": "https://github.com/LLNL/zfp", + "license": "BSD-3-Clause", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], "features": { "all": { - "description": "Build all components" + "description": "Obsolete. This feature is left for compatibility", + "dependencies": [ + { + "name": "zfp", + "features": [ + "cfp", + "utility" + ] + } + ] }, "cfp": { "description": "cfp support for cfp" }, - "example": { - "description": "Build example" - }, - "test": { - "description": "Build test" - }, "utility": { "description": "Build utility" } diff --git a/ports/zimpl/libm.diff b/ports/zimpl/libm.diff new file mode 100644 index 00000000000000..6b340cc47983a2 --- /dev/null +++ b/ports/zimpl/libm.diff @@ -0,0 +1,13 @@ +diff --git a/zimpl/CMakeLists.txt b/zimpl/CMakeLists.txt +index 7cf9d85..07fa187 100644 +--- a/zimpl/CMakeLists.txt ++++ b/zimpl/CMakeLists.txt +@@ -151,6 +151,8 @@ include(CheckSymbolExists) + find_library(libm m) + if(NOT libm) + set(libm "") ++else() ++ set(libm m) + endif() + + set(libs ${libs} ${libm}) diff --git a/ports/zimpl/msvc.diff b/ports/zimpl/msvc.diff new file mode 100644 index 00000000000000..46f326b5668d7c --- /dev/null +++ b/ports/zimpl/msvc.diff @@ -0,0 +1,48 @@ +diff --git a/zimpl/CMakeLists.txt b/zimpl/CMakeLists.txt +index 7cf9d85..85d33a7 100644 +--- a/zimpl/CMakeLists.txt ++++ b/zimpl/CMakeLists.txt +@@ -4,7 +4,7 @@ project(ZIMPL + VERSION 3.6.1 + LANGUAGES C) + +-if(CMAKE_BUILD_TYPE STREQUAL "Debug") ++if(CMAKE_BUILD_TYPE STREQUAL "Debug" AND NOT WIN32) + # if changing these flags, also update GCCWARN/GXXWARN in make/make.project + set(ADD_C_FLAGS -Wall -Wextra -Wno-unknown-pragmas -Wpointer-arith -Wcast-align -Wwrite-strings -Winline -Wshadow -Wstrict-prototypes -Wmissing-prototypes -Wmissing-noreturn -Wmissing-declarations -fno-omit-frame-pointer) + +@@ -112,7 +112,6 @@ if(MSVC) + ) + + foreach(variable ${variables}) +- string(REGEX REPLACE "/M[T,D][ d]" "" ${variable} "${${variable}}") + # message("${variable} = ${${variable}}") + endforeach() + endif() +@@ -128,9 +127,11 @@ if(ZLIB_FOUND) + include_directories(${ZLIB_INCLUDE_DIRS}) + else() + add_definitions(-DWITHOUT_ZLIB) ++endif() + +- # look for pcre if ZLIB could not be found +- find_package(PCRE) ++if(WIN32) ++ find_package(PCRE NAMES pcre2 REQUIRED) ++ set(PCRE_LIBRARIES "$") + if(PCRE_FOUND) + add_definitions(-DWITH_PCRE) + add_definitions(-DPCRE2_STATIC) +diff --git a/zimpl/zimpl-config.cmake.in b/zimpl/zimpl-config.cmake.in +index b653f0c..946f6f2 100644 +--- a/zimpl/zimpl-config.cmake.in ++++ b/zimpl/zimpl-config.cmake.in +@@ -1,3 +1,8 @@ ++if(WIN32) ++ include(CMakeFindDependencyMacro) ++ find_dependency(pcre2) ++endif() ++ + if(NOT TARGET libzimpl) + include("${CMAKE_CURRENT_LIST_DIR}/zimpl-targets.cmake") + endif() diff --git a/ports/zimpl/portfile.cmake b/ports/zimpl/portfile.cmake new file mode 100644 index 00000000000000..d9811b2c998a02 --- /dev/null +++ b/ports/zimpl/portfile.cmake @@ -0,0 +1,40 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +# The latest version of ZIMPL is included in the SCIP Optimization Suite. +set(scipoptsuite_version 9.1.0) +vcpkg_download_distfile(ARCHIVE + URLS "https://scipopt.org/download/release/scipoptsuite-${scipoptsuite_version}.tgz" + SHA512 03c1c49dd5e4dbc5bfd4f07305937079773f6912c87b0ba86166fc02996928e8d23332137a944f16f2488a88dc12a4a2c6ebde216eb4532135ed282a182bfdaf + FILENAME "scipoptsuite-${scipoptsuite_version}.tgz" +) +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" + PATCHES + libm.diff + msvc.diff +) + +vcpkg_find_acquire_program(BISON) +vcpkg_find_acquire_program(FLEX) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/zimpl" + OPTIONS + -DBREW=false + "-DBISON_EXECUTABLE=${BISON}" + "-DFLEX_EXECUTABLE=${FLEX}" + -DCMAKE_REQUIRE_FIND_PACKAGE_ZLIB=1 + MAYBE_UNUSED_VARIABLES + BREW +) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/zimpl) +vcpkg_copy_tools(TOOL_NAMES zimpl AUTO_CLEAN) + +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/zimpl/zimpl-config.cmake" "../../../include" "../../include") +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/zimpl/mmlparse2.h" "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/src/zimpl/" "") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/zimpl/LICENSE") diff --git a/ports/zimpl/vcpkg.json b/ports/zimpl/vcpkg.json new file mode 100644 index 00000000000000..75f9a57e8b4263 --- /dev/null +++ b/ports/zimpl/vcpkg.json @@ -0,0 +1,24 @@ +{ + "name": "zimpl", + "version": "3.6.1", + "description": "Zuse Institut Mathematical Programming Language", + "homepage": "http://zimpl.zib.de/", + "license": "LGPL-3.0-or-later", + "supports": "!uwp", + "dependencies": [ + "gmp", + { + "name": "pcre2", + "platform": "windows" + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "zlib" + ] +} diff --git a/ports/zint/0004-windows-static-build.patch b/ports/zint/0004-windows-static-build.patch new file mode 100644 index 00000000000000..ced72f103b1861 --- /dev/null +++ b/ports/zint/0004-windows-static-build.patch @@ -0,0 +1,15 @@ +diff --git a/backend/CMakeLists.txt b/backend/CMakeLists.txt +index d779033..133abef 100644 +--- a/backend/CMakeLists.txt ++++ b/backend/CMakeLists.txt +@@ -80,7 +80,9 @@ if(NOT MSVC) + endif() + + if(MSVC) +- target_compile_definitions(zint PRIVATE DLL_EXPORT) ++ if(ZINT_SHARED) ++ target_compile_definitions(zint PRIVATE DLL_EXPORT) ++ endif() + endif() + + zint_target_include_directories(PUBLIC diff --git a/ports/zint/0005-export-include-directories.patch b/ports/zint/0005-export-include-directories.patch new file mode 100644 index 00000000000000..1407bf4e8445d5 --- /dev/null +++ b/ports/zint/0005-export-include-directories.patch @@ -0,0 +1,20 @@ +diff --git a/backend/CMakeLists.txt b/backend/CMakeLists.txt +index 133abef..a95f620 100644 +--- a/backend/CMakeLists.txt ++++ b/backend/CMakeLists.txt +@@ -46,12 +46,12 @@ function(zint_target_compile_definitions scope definition) + endif() + endfunction() + +-function(zint_target_include_directories scope directory) ++function(zint_target_include_directories) + if(ZINT_SHARED) +- target_include_directories(zint ${scope} ${directory}) ++ target_include_directories(zint ${ARGN}) + endif() + if(ZINT_STATIC) +- target_include_directories(zint-static ${scope} ${directory}) ++ target_include_directories(zint-static ${ARGN}) + endif() + endfunction() + diff --git a/ports/zint/portfile.cmake b/ports/zint/portfile.cmake new file mode 100644 index 00000000000000..c4804e4965d848 --- /dev/null +++ b/ports/zint/portfile.cmake @@ -0,0 +1,42 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO zint/zint + REF 2.12.0 + SHA512 398502efc1f07718e7c86a1e91f6e94c88b7f7c5e3c59fd507f3a5966488f4b0bb230ae9696515583aa536e2357c9a6295be7de6b4bc83daf5b4eb3be5e69b24 + HEAD_REF master + PATCHES + 0004-windows-static-build.patch + 0005-export-include-directories.patch +) + +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + png ZINT_USE_PNG +) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" ZINT_STATIC) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" ZINT_SHARED) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${FEATURE_OPTIONS} + -DZINT_STATIC=${ZINT_STATIC} + -DZINT_SHARED=${ZINT_SHARED} + -DZINT_USE_QT=OFF + -DZINT_TEST=OFF +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup() +vcpkg_copy_pdbs() + +vcpkg_copy_tools(TOOL_NAMES zint AUTO_CLEAN) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/man") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/apps") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/zint/vcpkg.json b/ports/zint/vcpkg.json new file mode 100644 index 00000000000000..c873e05df9af78 --- /dev/null +++ b/ports/zint/vcpkg.json @@ -0,0 +1,27 @@ +{ + "name": "zint", + "version": "2.12.0", + "port-version": 1, + "description": "A barcode encoding library supporting over 50 symbologies", + "homepage": "https://github.com/zint/zint", + "license": null, + "supports": "!osx", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "png": { + "description": "Build with PNG support", + "dependencies": [ + "libpng" + ] + } + } +} diff --git a/ports/zkpp/portfile.cmake b/ports/zkpp/portfile.cmake index 5ec1e78af82c92..25526c053a625b 100644 --- a/ports/zkpp/portfile.cmake +++ b/ports/zkpp/portfile.cmake @@ -1,5 +1,3 @@ -vcpkg_fail_port_install(ON_TARGET "Windows") - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO tgockel/zookeeper-cpp @@ -14,15 +12,14 @@ if (NOT "${test_files}" STREQUAL "") file(REMOVE ${test_files}) endif() -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" ) -vcpkg_install_cmake() +vcpkg_cmake_install() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) -vcpkg_fixup_cmake_targets() +vcpkg_cmake_config_fixup() vcpkg_copy_pdbs() diff --git a/ports/zkpp/vcpkg.json b/ports/zkpp/vcpkg.json index 51000a32df1ff8..ee8b12755703c0 100644 --- a/ports/zkpp/vcpkg.json +++ b/ports/zkpp/vcpkg.json @@ -1,10 +1,19 @@ { "name": "zkpp", - "version-string": "0.2.3", - "port-version": 1, + "version": "0.2.3", + "port-version": 3, "description": "A ZooKeeper client for C++.", "homepage": "https://github.com/tgockel/zookeeper-cpp", + "supports": "!windows", "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, "zookeeper" ] } diff --git a/ports/zlib-ng/portfile.cmake b/ports/zlib-ng/portfile.cmake index f1f4e3cafbf6b6..3b0fc717b9556a 100644 --- a/ports/zlib-ng/portfile.cmake +++ b/ports/zlib-ng/portfile.cmake @@ -1,15 +1,15 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO zlib-ng/zlib-ng - REF 2.0.5 - SHA512 a643089a8189bf8bd24d679b84f07ae14932b4d88b88e94c44cca23350d6a9bbdaa411822d3651c2b0bf79f30c9f99514cc252cf9e9ab0b3a840540206466654 - HEAD_REF master + REF "${VERSION}" + SHA512 9212d87c63a2da4e5355a7a1c75380aeba40fbd0ea3d71d3784cb3eac94237f9bea2a1b7993a08f39d4197725c4c133087d3a9d213d3944aa48a7559de2be920 + HEAD_REF develop ) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DZLIB_FULL_VERSION=2.0.3 + "-DZLIB_FULL_VERSION=${ZLIB_FULL_VERSION}" -DZLIB_ENABLE_TESTS=OFF -DWITH_NEW_STRATEGIES=ON OPTIONS_RELEASE @@ -17,11 +17,37 @@ vcpkg_cmake_configure( ) vcpkg_cmake_install() vcpkg_copy_pdbs() + +# Condition in `WIN32`, from https://github.com/zlib-ng/zlib-ng/blob/2.1.5/CMakeLists.txt#L1081-L1100 +# (dynamic) for `zlib` or (static `MSVC) for `zlibstatic` or default `z` +# i.e. (windows) and not (static mingw) https://learn.microsoft.com/en-us/vcpkg/maintainers/variables#vcpkg_target_is_system +if(VCPKG_TARGET_IS_WINDOWS AND (NOT (VCPKG_LIBRARY_LINKAGE STREQUAL static AND VCPKG_TARGET_IS_MINGW))) + set(_port_suffix) + if(ZLIB_COMPAT) + set(_port_suffix "") + else() + set(_port_suffix "-ng") + endif() + + set(_port_output_name) + if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + set(_port_output_name "zlib${_port_suffix}") + else() + set(_port_output_name "zlibstatic${_port_suffix}") + endif() + + # CMAKE_DEBUG_POSTFIX from https://github.com/zlib-ng/zlib-ng/blob/2.1.5/CMakeLists.txt#L494 + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/zlib${_port_suffix}.pc" " -lz${_port_suffix}" " -l${_port_output_name}") + endif() + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/zlib${_port_suffix}.pc" " -lz${_port_suffix}" " -l${_port_output_name}d") + endif() +endif() + vcpkg_fixup_pkgconfig() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share" "${CURRENT_PACKAGES_DIR}/debug/include" ) -file(INSTALL "${SOURCE_PATH}/LICENSE.md" - DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright -) \ No newline at end of file +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.md") diff --git a/ports/zlib-ng/vcpkg.json b/ports/zlib-ng/vcpkg.json index 2822189a6dd2dd..c1cebd7350a5f4 100644 --- a/ports/zlib-ng/vcpkg.json +++ b/ports/zlib-ng/vcpkg.json @@ -1,6 +1,7 @@ { "name": "zlib-ng", - "version": "2.0.5", + "version": "2.1.5", + "port-version": 1, "description": "zlib replacement with optimizations for 'next generation' systems", "homepage": "https://github.com/zlib-ng/zlib-ng", "license": "Zlib", diff --git a/ports/zlib/0002-android-build-mingw.patch b/ports/zlib/0002-android-build-mingw.patch deleted file mode 100644 index 188499df0b758b..00000000000000 --- a/ports/zlib/0002-android-build-mingw.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt ---- a/CMakeLists.txt (date 1618364429263) -+++ b/CMakeLists.txt (date 1618364429263) -@@ -170,7 +170,7 @@ - string(REGEX REPLACE ".*#define[ \t]+ZLIB_VERSION[ \t]+\"([-0-9A-Za-z.]+)\".*" - "\\1" ZLIB_FULL_VERSION ${_zlib_h_contents}) - --if(MINGW) -+if(MINGW AND NOT ANDROID) - # This gets us DLL resource information when compiling on MinGW. - if(NOT CMAKE_RC_COMPILER) - set(CMAKE_RC_COMPILER windres.exe) -@@ -186,7 +186,7 @@ - if(BUILD_SHARED_LIBS) - set(ZLIB_DLL_SRCS ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj) - endif() --endif(MINGW) -+endif(MINGW AND NOT ANDROID) - - add_library(zlib ${ZLIB_SRCS} ${ZLIB_ASMS} ${ZLIB_DLL_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS}) - set_target_properties(zlib PROPERTIES DEFINE_SYMBOL ZLIB_DLL) diff --git a/ports/zlib/0002-build-static-or-shared-not-both.patch b/ports/zlib/0002-build-static-or-shared-not-both.patch new file mode 100644 index 00000000000000..60e3f8d39d93b9 --- /dev/null +++ b/ports/zlib/0002-build-static-or-shared-not-both.patch @@ -0,0 +1,54 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -123,9 +123,11 @@ set(ZLIB_SRCS + ) + + if(NOT MINGW) ++ if(BUILD_SHARED_LIBS) + set(ZLIB_DLL_SRCS + win32/zlib1.rc # If present will override custom build rule below. + ) ++ endif() + endif() + + # parse the full version number from zlib.h and include in ZLIB_FULL_VERSION +@@ -146,15 +148,17 @@ if(MINGW) + -I ${CMAKE_CURRENT_BINARY_DIR} + -o ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj + -i ${CMAKE_CURRENT_SOURCE_DIR}/win32/zlib1.rc) ++ if(BUILD_SHARED_LIBS) + set(ZLIB_DLL_SRCS ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj) ++ endif() + endif(MINGW) + +-add_library(zlib SHARED ${ZLIB_SRCS} ${ZLIB_DLL_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS}) ++add_library(zlib ${ZLIB_SRCS} ${ZLIB_ASMS} ${ZLIB_DLL_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS}) + target_include_directories(zlib PUBLIC ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}) +-add_library(zlibstatic STATIC ${ZLIB_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS}) +-target_include_directories(zlibstatic PUBLIC ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}) ++if (BUILD_SHARED_LIBS) + set_target_properties(zlib PROPERTIES DEFINE_SYMBOL ZLIB_DLL) + set_target_properties(zlib PROPERTIES SOVERSION 1) ++endif() + + if(NOT CYGWIN) + # This property causes shared libraries on Linux to have the full version +@@ -169,7 +173,7 @@ endif() + + if(UNIX) + # On unix-like platforms the library is almost always called libz +- set_target_properties(zlib zlibstatic PROPERTIES OUTPUT_NAME z) ++ set_target_properties(zlib PROPERTIES OUTPUT_NAME z) + if(NOT APPLE AND NOT(CMAKE_SYSTEM_NAME STREQUAL AIX)) + set_target_properties(zlib PROPERTIES LINK_FLAGS "-Wl,--version-script,\"${CMAKE_CURRENT_SOURCE_DIR}/zlib.map\"") + endif() +@@ -179,7 +183,7 @@ elseif(BUILD_SHARED_LIBS AND WIN32) + endif() + + if(NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL ) +- install(TARGETS zlib zlibstatic ++ install(TARGETS zlib + RUNTIME DESTINATION "${INSTALL_BIN_DIR}" + ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" + LIBRARY DESTINATION "${INSTALL_LIB_DIR}" ) diff --git a/ports/zlib/0003-android-and-mingw-fixes.patch b/ports/zlib/0003-android-and-mingw-fixes.patch new file mode 100644 index 00000000000000..a051372ca51100 --- /dev/null +++ b/ports/zlib/0003-android-and-mingw-fixes.patch @@ -0,0 +1,30 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -58,7 +58,7 @@ endif() + # + check_include_file(unistd.h Z_HAVE_UNISTD_H) + +-if(MSVC) ++if(WIN32) + set(CMAKE_DEBUG_POSTFIX "d") + add_definitions(-D_CRT_SECURE_NO_DEPRECATE) + add_definitions(-D_CRT_NONSTDC_NO_DEPRECATE) +@@ -135,7 +135,7 @@ file(READ ${CMAKE_CURRENT_SOURCE_DIR}/zlib.h _zlib_h_contents) + string(REGEX REPLACE ".*#define[ \t]+ZLIB_VERSION[ \t]+\"([-0-9A-Za-z.]+)\".*" + "\\1" ZLIB_FULL_VERSION ${_zlib_h_contents}) + +-if(MINGW) ++if(MINGW AND NOT ANDROID) + # This gets us DLL resource information when compiling on MinGW. + if(NOT CMAKE_RC_COMPILER) + set(CMAKE_RC_COMPILER windres.exe) +@@ -151,7 +151,7 @@ if(MINGW) + if(BUILD_SHARED_LIBS) + set(ZLIB_DLL_SRCS ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj) + endif() +-endif(MINGW) ++endif(MINGW AND NOT ANDROID) + + add_library(zlib ${ZLIB_SRCS} ${ZLIB_ASMS} ${ZLIB_DLL_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS}) + target_include_directories(zlib PUBLIC ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}) diff --git a/ports/zlib/LICENSE b/ports/zlib/LICENSE deleted file mode 100644 index ca5fddfe0d24dc..00000000000000 --- a/ports/zlib/LICENSE +++ /dev/null @@ -1,20 +0,0 @@ - Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler - - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. - - Jean-loup Gailly Mark Adler - jloup@gzip.org madler@alumni.caltech.edu \ No newline at end of file diff --git a/ports/zlib/add_debug_postfix_on_mingw.patch b/ports/zlib/add_debug_postfix_on_mingw.patch deleted file mode 100644 index 22172ccfcaaef0..00000000000000 --- a/ports/zlib/add_debug_postfix_on_mingw.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 0fe939d..e4fc213 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -59,7 +59,7 @@ endif() - # - check_include_file(unistd.h Z_HAVE_UNISTD_H) - --if(MSVC) -+if(WIN32) - set(CMAKE_DEBUG_POSTFIX "d") - add_definitions(-D_CRT_SECURE_NO_DEPRECATE) - add_definitions(-D_CRT_NONSTDC_NO_DEPRECATE) diff --git a/ports/zlib/cmake_dont_build_more_than_needed.patch b/ports/zlib/cmake_dont_build_more_than_needed.patch deleted file mode 100644 index a374f76d628096..00000000000000 --- a/ports/zlib/cmake_dont_build_more_than_needed.patch +++ /dev/null @@ -1,74 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 0fe939d..a1291d5 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -7,6 +7,7 @@ set(VERSION "1.2.11") - - option(ASM686 "Enable building i686 assembly implementation") - option(AMD64 "Enable building amd64 assembly implementation") -+option(SKIP_BUILD_EXAMPLES "Skip build of the examples" OFF) - - set(INSTALL_BIN_DIR "${CMAKE_INSTALL_PREFIX}/bin" CACHE PATH "Installation directory for executables") - set(INSTALL_LIB_DIR "${CMAKE_INSTALL_PREFIX}/lib" CACHE PATH "Installation directory for libraries") -@@ -124,9 +125,11 @@ set(ZLIB_SRCS - ) - - if(NOT MINGW) -- set(ZLIB_DLL_SRCS -- win32/zlib1.rc # If present will override custom build rule below. -- ) -+ if(BUILD_SHARED_LIBS) -+ set(ZLIB_DLL_SRCS -+ win32/zlib1.rc # If present will override custom build rule below. -+ ) -+ endif() - endif() - - if(CMAKE_COMPILER_IS_GNUCC) -@@ -180,11 +183,12 @@ if(MINGW) - -I ${CMAKE_CURRENT_BINARY_DIR} - -o ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj - -i ${CMAKE_CURRENT_SOURCE_DIR}/win32/zlib1.rc) -- set(ZLIB_DLL_SRCS ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj) -+ if(BUILD_SHARED_LIBS) -+ set(ZLIB_DLL_SRCS ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj) -+ endif() - endif(MINGW) - --add_library(zlib SHARED ${ZLIB_SRCS} ${ZLIB_ASMS} ${ZLIB_DLL_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS}) --add_library(zlibstatic STATIC ${ZLIB_SRCS} ${ZLIB_ASMS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS}) -+add_library(zlib ${ZLIB_SRCS} ${ZLIB_ASMS} ${ZLIB_DLL_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS}) - set_target_properties(zlib PROPERTIES DEFINE_SYMBOL ZLIB_DLL) - set_target_properties(zlib PROPERTIES SOVERSION 1) - -@@ -201,7 +205,7 @@ endif() - - if(UNIX) - # On unix-like platforms the library is almost always called libz -- set_target_properties(zlib zlibstatic PROPERTIES OUTPUT_NAME z) -+ set_target_properties(zlib PROPERTIES OUTPUT_NAME z) - if(NOT APPLE) - set_target_properties(zlib PROPERTIES LINK_FLAGS "-Wl,--version-script,\"${CMAKE_CURRENT_SOURCE_DIR}/zlib.map\"") - endif() -@@ -211,7 +215,7 @@ elseif(BUILD_SHARED_LIBS AND WIN32) - endif() - - if(NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL ) -- install(TARGETS zlib zlibstatic -+ install(TARGETS zlib - RUNTIME DESTINATION "${INSTALL_BIN_DIR}" - ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" - LIBRARY DESTINATION "${INSTALL_LIB_DIR}" ) -@@ -230,6 +234,7 @@ endif() - # Example binaries - #============================================================================ - -+if (NOT SKIP_BUILD_EXAMPLES) - add_executable(example test/example.c) - target_link_libraries(example zlib) - add_test(example example) -@@ -247,3 +252,4 @@ if(HAVE_OFF64_T) - target_link_libraries(minigzip64 zlib) - set_target_properties(minigzip64 PROPERTIES COMPILE_FLAGS "-D_FILE_OFFSET_BITS=64") - endif() -+endif() diff --git a/ports/zlib/portfile.cmake b/ports/zlib/portfile.cmake index 88e9e0fe486f5c..61733a4b2ea798 100644 --- a/ports/zlib/portfile.cmake +++ b/ports/zlib/portfile.cmake @@ -1,56 +1,53 @@ -set(VERSION 1.2.11) - -vcpkg_download_distfile(ARCHIVE_FILE - URLS "https://www.zlib.net/zlib-${VERSION}.tar.gz" "https://downloads.sourceforge.net/project/libpng/zlib/${VERSION}/zlib-${VERSION}.tar.gz" - FILENAME "zlib1211.tar.gz" - SHA512 73fd3fff4adeccd4894084c15ddac89890cd10ef105dd5e1835e1e9bbb6a49ff229713bd197d203edfa17c2727700fce65a2a235f07568212d820dca88b528ae -) - -vcpkg_extract_source_archive_ex( +# When this port is updated, the minizip port should be updated at the same time +vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE_FILE} - REF ${VERSION} + REPO madler/zlib + REF v${VERSION} + SHA512 8c9642495bafd6fad4ab9fb67f09b268c69ff9af0f4f20cf15dfc18852ff1f312bd8ca41de761b3f8d8e90e77d79f2ccacd3d4c5b19e475ecf09d021fdfe9088 + HEAD_REF master PATCHES - "cmake_dont_build_more_than_needed.patch" - "0001-Prevent-invalid-inclusions-when-HAVE_-is-set-to-0.patch" - "add_debug_postfix_on_mingw.patch" - "0002-android-build-mingw.patch" + 0001-Prevent-invalid-inclusions-when-HAVE_-is-set-to-0.patch + 0002-build-static-or-shared-not-both.patch + 0003-android-and-mingw-fixes.patch ) # This is generated during the cmake build -file(REMOVE ${SOURCE_PATH}/zconf.h) +file(REMOVE "${SOURCE_PATH}/zconf.h") -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DSKIP_INSTALL_FILES=ON - -DSKIP_BUILD_EXAMPLES=ON + -DZLIB_BUILD_EXAMPLES=OFF OPTIONS_DEBUG -DSKIP_INSTALL_HEADERS=ON ) -vcpkg_install_cmake() -file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +vcpkg_cmake_install() +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") # Install the pkgconfig file if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") if(VCPKG_TARGET_IS_WINDOWS) - vcpkg_replace_string(${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/zlib.pc "-lz" "-lzlib") + vcpkg_replace_string("${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/zlib.pc" "-lz" "-lzlib") endif() - file(COPY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/zlib.pc DESTINATION ${CURRENT_PACKAGES_DIR}/lib/pkgconfig) + file(COPY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/zlib.pc" DESTINATION "${CURRENT_PACKAGES_DIR}/lib/pkgconfig") endif() if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") if(VCPKG_TARGET_IS_WINDOWS) - vcpkg_replace_string(${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/zlib.pc "-lz" "-lzlibd") + vcpkg_replace_string("${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/zlib.pc" "-lz" "-lzlibd") endif() - file(COPY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/zlib.pc DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig) + file(COPY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/zlib.pc" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig") endif() vcpkg_fixup_pkgconfig() - -file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) - vcpkg_copy_pdbs() -file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/zconf.h" "ifdef ZLIB_DLL" "if 0") +else() + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/zconf.h" "ifdef ZLIB_DLL" "if 1") +endif() + +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) diff --git a/ports/zlib/vcpkg.json b/ports/zlib/vcpkg.json index 4308e45a4b8273..f54a99d43e600c 100644 --- a/ports/zlib/vcpkg.json +++ b/ports/zlib/vcpkg.json @@ -1,7 +1,13 @@ { "name": "zlib", - "version": "1.2.11", - "port-version": 13, + "version": "1.3.1", "description": "A compression library", - "homepage": "https://www.zlib.net/" + "homepage": "https://www.zlib.net/", + "license": "Zlib", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] } diff --git a/ports/zlmediakit/fix-android.patch b/ports/zlmediakit/fix-android.patch new file mode 100644 index 00000000000000..c2414bee9afe35 --- /dev/null +++ b/ports/zlmediakit/fix-android.patch @@ -0,0 +1,22 @@ +Index: src/Rtcp/RtcpFCI.h +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/src/Rtcp/RtcpFCI.h b/src/Rtcp/RtcpFCI.h +--- a/src/Rtcp/RtcpFCI.h (revision 6b2fcf79435656be7797d396203adcc6c11ecc52) ++++ b/src/Rtcp/RtcpFCI.h (date 1727606590493) +@@ -247,8 +247,13 @@ + // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + class FCI_NACK { + public: ++#if defined(ANDROID) ++ inline static constexpr size_t kSize = 4; ++ inline static constexpr size_t kBitSize = 16; ++#else + static constexpr size_t kSize = 4; + static constexpr size_t kBitSize = 16; ++#endif + + FCI_NACK(uint16_t pid_h, const std::vector &type); + diff --git a/ports/zlmediakit/fix-dependency.patch b/ports/zlmediakit/fix-dependency.patch new file mode 100644 index 00000000000000..32e233836232fb --- /dev/null +++ b/ports/zlmediakit/fix-dependency.patch @@ -0,0 +1,42 @@ +Index: 3rdpart/CMakeLists.txt +IDEA additional info: +Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +<+>UTF-8 +=================================================================== +diff --git a/3rdpart/CMakeLists.txt b/3rdpart/CMakeLists.txt +--- a/3rdpart/CMakeLists.txt (revision af3ef996b0ae265e000344e7faf753577f9abf4e) ++++ b/3rdpart/CMakeLists.txt (date 1711782947005) +@@ -24,6 +24,7 @@ + ############################################################################## + + # jsoncpp ++if (0) + file(GLOB JSONCPP_SRC_LIST + ${CMAKE_CURRENT_SOURCE_DIR}/jsoncpp/include/json/*.h + ${CMAKE_CURRENT_SOURCE_DIR}/jsoncpp/src/lib_json/*.cpp +@@ -38,7 +39,8 @@ + PUBLIC + "$/jsoncpp/include") + +-update_cached_list(MK_LINK_LIBRARIES jsoncpp) ++endif() ++update_cached_list(MK_LINK_LIBRARIES JsonCpp::JsonCpp) + + ############################################################################## + +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 af3ef996b0ae265e000344e7faf753577f9abf4e) ++++ b/CMakeLists.txt (date 1711782947012) +@@ -479,6 +479,7 @@ + # for assert.h + include_directories(${CMAKE_CURRENT_SOURCE_DIR}/3rdpart) + ++find_package(jsoncpp CONFIG REQUIRED) + add_subdirectory(3rdpart) + + add_subdirectory(src) diff --git a/ports/zlmediakit/portfile.cmake b/ports/zlmediakit/portfile.cmake new file mode 100644 index 00000000000000..724e58e26f9fe5 --- /dev/null +++ b/ports/zlmediakit/portfile.cmake @@ -0,0 +1,89 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO ZLMediaKit/ZLMediaKit + REF 6b2fcf79435656be7797d396203adcc6c11ecc52 + SHA512 a2efe81f7fe6267418cc1e98f74283a10481b995815131324b7587c82f451d4bd35aa0190ef59efe46a057369208d4bf0658eaba44ae1a8532c6162cfb6e34f5 + HEAD_REF master + PATCHES + fix-dependency.patch + fix-android.patch +) + +vcpkg_from_github( + OUT_SOURCE_PATH TOOL_KIT_SOURCE_PATH + REPO ZLMediaKit/ZLToolKit + REF 46231014e2a7ec1903d4a37e96222481ecc779d8 + SHA512 2a0b834f072fbc64edc84f408050e2c992f8d59f2480c67a372cace17d49f21eb2f40587288481acc42118e94a5b7863043982680c3f56bdde3863f97ca69356 + HEAD_REF master +) + +file(REMOVE_RECURSE "${SOURCE_PATH}/3rdpart/ZLToolKit") +file(COPY "${TOOL_KIT_SOURCE_PATH}/" DESTINATION "${SOURCE_PATH}/3rdpart/ZLToolKit") + +if ("mp4" IN_LIST FEATURES) + vcpkg_from_github( + OUT_SOURCE_PATH MEDIA_SRV_SOURCE_PATH + REPO ireader/media-server + REF 4e1a89c3247db72076893d3fc5ad80f4b3c04ec2 + SHA512 baa7c8b69f86117e0eb8e3bb3769f3aa7fac498a7a59a24382a703a16ec8c5997e858b01a4681795ad0f8eab0408bf69fe1907400fa941dff588b1c739ffa324 + HEAD_REF master + ) + + file(REMOVE_RECURSE "${SOURCE_PATH}/3rdpart/media-server") + file(COPY "${MEDIA_SRV_SOURCE_PATH}/" DESTINATION "${SOURCE_PATH}/3rdpart/media-server") +endif() + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" static ZLMEDIAKIT_BUILD_STATIC) +string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" static ZLMEDIAKIT_CRT_STATIC) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + openssl ENABLE_OPENSSL + openssl CMAKE_REQUIRE_FIND_PACKAGE_OpenSSL + mp4 ENABLE_MP4 + mp4 ENABLE_RTPPROXY + mp4 ENABLE_HLS + sctp ENABLE_SCTP + webrtc ENABLE_WEBRTC + INVERTED_FEATURES + openssl CMAKE_DISABLE_FIND_PACKAGE_OpenSSL +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DCMAKE_POLICY_DEFAULT_CMP0057=NEW + -DENABLE_API=ON + -DENABLE_API_STATIC_LIB=${ZLMEDIAKIT_BUILD_STATIC} + -DENABLE_MSVC_MT=${ZLMEDIAKIT_CRT_STATIC} + -DENABLE_ASAN=OFF + -DENABLE_CXX_API=OFF + -DENABLE_JEMALLOC_STATIC=OFF + -DENABLE_FAAC=OFF + -DENABLE_FFMPEG=OFF + -DENABLE_PLAYER=OFF + -DENABLE_SERVER=ON + -DENABLE_SERVER_LIB=OFF + -DENABLE_SRT=ON + -DENABLE_MYSQL=OFF + -DENABLE_X264=OFF + -DENABLE_WEPOLL=ON + -DDISABLE_REPORT=OFF + -DUSE_SOLUTION_FOLDERS=ON + -DENABLE_TESTS=OFF + -DENABLE_MEM_DEBUG=OFF # only valid on Linux + -DCMAKE_DISABLE_FIND_PACKAGE_GIT=ON + -DCMAKE_DISABLE_FIND_PACKAGE_JEMALLOC=ON + -DCMAKE_DISABLE_FIND_PACKAGE_SDL2=ON + ${FEATURE_OPTIONS} +) + +vcpkg_cmake_install() +vcpkg_copy_pdbs() + +vcpkg_copy_tools(TOOL_NAMES MediaServer 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}/LICENSE") diff --git a/ports/zlmediakit/vcpkg.json b/ports/zlmediakit/vcpkg.json new file mode 100644 index 00000000000000..cc6b35805a5f36 --- /dev/null +++ b/ports/zlmediakit/vcpkg.json @@ -0,0 +1,52 @@ +{ + "name": "zlmediakit", + "version-date": "2024-09-29", + "description": "A high-performance carrier-grade streaming media service framework based on C++11.", + "homepage": "https://github.com/ZLMediaKit/ZLMediaKit", + "license": "MIT", + "supports": "!uwp", + "dependencies": [ + "jsoncpp", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "default-features": [ + "mp4", + "openssl", + "webrtc" + ], + "features": { + "mp4": { + "description": "Enable MP4" + }, + "openssl": { + "description": "Enable OpenSSL", + "dependencies": [ + "openssl" + ] + }, + "sctp": { + "description": "Enable SCTP", + "dependencies": [ + "usrsctp" + ] + }, + "webrtc": { + "description": "Enable WebRTC", + "dependencies": [ + { + "name": "libsrtp", + "features": [ + "openssl" + ] + } + ] + } + } +} diff --git a/ports/zoe/portfile.cmake b/ports/zoe/portfile.cmake new file mode 100644 index 00000000000000..07a312e3942eab --- /dev/null +++ b/ports/zoe/portfile.cmake @@ -0,0 +1,28 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO winsoft666/zoe + HEAD_REF master + REF "v${VERSION}" + SHA512 af25c64e1bf28e0b2193e60eac30b3c90519786d13f3562c063dd524147dea0e398f6cb51973a266be90ce71c33c5aff2e6a83b17f2944a52b2aa53e4885f56a +) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" ZOE_BUILD_SHARED_LIBS) +string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" ZOE_USE_STATIC_CRT) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DZOE_BUILD_SHARED_LIBS:BOOL=${ZOE_BUILD_SHARED_LIBS} + -DZOE_USE_STATIC_CRT:BOOL=${ZOE_USE_STATIC_CRT} + -DZOE_BUILD_TESTS:BOOL=OFF +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(CONFIG_PATH share/zoe) + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_copy_pdbs() diff --git a/ports/zoe/vcpkg.json b/ports/zoe/vcpkg.json new file mode 100644 index 00000000000000..d0d9bc9e3a6b49 --- /dev/null +++ b/ports/zoe/vcpkg.json @@ -0,0 +1,22 @@ +{ + "name": "zoe", + "version": "3.5", + "maintainers": "winsoft666 ", + "description": "C++ File Download Library.", + "homepage": "https://github.com/winsoft666/zoe", + "supports": "!uwp & !android", + "dependencies": [ + { + "name": "curl", + "default-features": false + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/zookeeper/portfile.cmake b/ports/zookeeper/portfile.cmake index 1dfcfb376b2fcf..2ee2ac12418481 100644 --- a/ports/zookeeper/portfile.cmake +++ b/ports/zookeeper/portfile.cmake @@ -1,39 +1,38 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_download_distfile(ARCHIVE - URLS "https://archive.apache.org/dist/zookeeper/zookeeper-3.5.5/apache-zookeeper-3.5.5.tar.gz" - FILENAME "zookeeper-3.5.5.tar.gz" - SHA512 4e22df899a83ca3cc15f6d94daadb1a8631fb4108e67b4f56d1f4fcf95f10f89c8ff1fb8a7c84799a3856d8803a8db1e1f2f3fe1b7dc0d6cedf485ef90fd212d + URLS "https://archive.apache.org/dist/zookeeper/zookeeper-3.5.6/apache-zookeeper-3.5.6.tar.gz" + FILENAME "zookeeper-3.5.6.tar.gz" + SHA512 7f45817cbbc42aec5a7817fa2ae99656128e666dc58ace23d86bcfc5ca0dc49e418d1a7d1f082ad80ccb916f9f1b490167d16f836886af1a56fbcf720ad3b9d0 ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH +vcpkg_extract_source_archive( + SOURCE_PATH ARCHIVE ${ARCHIVE} PATCHES cmake.patch win32.patch ) -set(WANT_SYNCAPI OFF) -if("sync" IN_LIST FEATURES) - set(WANT_SYNCAPI ON) -endif() +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + sync WANT_SYNCAPI +) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH}/zookeeper-client/zookeeper-client-c +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/zookeeper-client/zookeeper-client-c" DISABLE_PARALLEL_CONFIGURE - PREFER_NINJA OPTIONS -DWANT_CPPUNIT=OFF - -DWANT_SYNCAPI=${WANT_SYNCAPI} + ${FEATURE_OPTIONS} ) -vcpkg_install_cmake() +vcpkg_cmake_install() -file(INSTALL ${SOURCE_PATH}/zookeeper-client/zookeeper-client-c/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/zookeeper RENAME copyright) +vcpkg_cmake_config_fixup() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -vcpkg_fixup_cmake_targets() +file(INSTALL "${SOURCE_PATH}/zookeeper-client/zookeeper-client-c/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) vcpkg_copy_pdbs() diff --git a/ports/zookeeper/vcpkg.json b/ports/zookeeper/vcpkg.json index 20e655e5aa6ca1..48fe25b77bc173 100644 --- a/ports/zookeeper/vcpkg.json +++ b/ports/zookeeper/vcpkg.json @@ -1,8 +1,20 @@ { "name": "zookeeper", - "version-string": "3.5.5", - "port-version": 2, + "version": "3.5.6", + "port-version": 1, "description": "ZooKeeper C bindings", + "homepage": "https://github.com/apache/zookeeper", + "license": "BSD-3-Clause", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], "default-features": [ "sync" ], diff --git a/ports/zopfli/portfile.cmake b/ports/zopfli/portfile.cmake index 7ce1dfeffb871f..fcd444ea595601 100644 --- a/ports/zopfli/portfile.cmake +++ b/ports/zopfli/portfile.cmake @@ -6,64 +6,63 @@ vcpkg_from_github( HEAD_REF master ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DZOPFLI_BUILD_INSTALL=ON ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - set(EXECUTABLE_SUFFIX ".exe") -else() - set(EXECUTABLE_SUFFIX "") -endif() - # Install tools -file(COPY ${CURRENT_PACKAGES_DIR}/bin/zopfli${EXECUTABLE_SUFFIX} - DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT}) -file(COPY ${CURRENT_PACKAGES_DIR}/bin/zopflipng${EXECUTABLE_SUFFIX} - DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT}) -vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT}) +file(COPY "${CURRENT_PACKAGES_DIR}/bin/zopfli${VCPKG_TARGET_EXECUTABLE_SUFFIX}" + DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}") +file(COPY "${CURRENT_PACKAGES_DIR}/bin/zopflipng${VCPKG_TARGET_EXECUTABLE_SUFFIX}" + DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}") +vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/${PORT}") -if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) -else() - file(REMOVE - ${CURRENT_PACKAGES_DIR}/bin/zopfli${EXECUTABLE_SUFFIX} - ${CURRENT_PACKAGES_DIR}/bin/zopflipng${EXECUTABLE_SUFFIX} - ${CURRENT_PACKAGES_DIR}/debug/bin/zopfli${EXECUTABLE_SUFFIX} - ${CURRENT_PACKAGES_DIR}/debug/bin/zopflipng${EXECUTABLE_SUFFIX} - ) +file(REMOVE + "${CURRENT_PACKAGES_DIR}/bin/zopfli${VCPKG_TARGET_EXECUTABLE_SUFFIX}" + "${CURRENT_PACKAGES_DIR}/bin/zopflipng${VCPKG_TARGET_EXECUTABLE_SUFFIX}" + "${CURRENT_PACKAGES_DIR}/debug/bin/zopfli${VCPKG_TARGET_EXECUTABLE_SUFFIX}" + "${CURRENT_PACKAGES_DIR}/debug/bin/zopflipng${VCPKG_TARGET_EXECUTABLE_SUFFIX}" +) + +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_fixup_cmake_targets(CONFIG_PATH lib/cmake/Zopfli) +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/Zopfli") -# vcpkg_fixup_cmake_targets can not handles this on UNIX currently. +# vcpkg_cmake_config_fixup can not handles this on UNIX currently. if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux" OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin") - vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/share/zopfli/ZopfliConfig-debug.cmake - "\"\${_IMPORT_PREFIX}/debug/bin/zopfli\"" - "\"\${_IMPORT_PREFIX}/tools/zopfli/zopfli\"" - ) - vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/share/zopfli/ZopfliConfig-debug.cmake - "\"\${_IMPORT_PREFIX}/debug/bin/zopflipng\"" - "\"\${_IMPORT_PREFIX}/tools/zopfli/zopflipng\"" - ) - vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/share/zopfli/ZopfliConfig-release.cmake + if(NOT VCPKG_BUILD_TYPE) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/zopfli/ZopfliConfig-debug.cmake" + "\"\${_IMPORT_PREFIX}/debug/bin/zopfli\"" + "\"\${_IMPORT_PREFIX}/tools/zopfli/zopfli\"" + IGNORE_UNCHANGED + ) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/zopfli/ZopfliConfig-debug.cmake" + "\"\${_IMPORT_PREFIX}/debug/bin/zopflipng\"" + "\"\${_IMPORT_PREFIX}/tools/zopfli/zopflipng\"" + IGNORE_UNCHANGED + ) + endif() + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/zopfli/ZopfliConfig-release.cmake" "\"\${_IMPORT_PREFIX}/bin/zopfli\"" "\"\${_IMPORT_PREFIX}/tools/zopfli/zopfli\"" + IGNORE_UNCHANGED ) - vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/share/zopfli/ZopfliConfig-release.cmake + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/zopfli/ZopfliConfig-release.cmake" "\"\${_IMPORT_PREFIX}/bin/zopflipng\"" "\"\${_IMPORT_PREFIX}/tools/zopfli/zopflipng\"" + IGNORE_UNCHANGED ) endif() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -configure_file(${SOURCE_PATH}/COPYING ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/ports/zopfli/vcpkg.json b/ports/zopfli/vcpkg.json index 668234f532cbe7..169bac88ad07c3 100644 --- a/ports/zopfli/vcpkg.json +++ b/ports/zopfli/vcpkg.json @@ -1,7 +1,18 @@ { "name": "zopfli", - "version-string": "1.0.3", - "port-version": 1, + "version": "1.0.3", + "port-version": 4, "description": "Zopfli Compression Algorithm compression library programmed in C", - "homepage": "https://github.com/google/zopfli" + "homepage": "https://github.com/google/zopfli", + "license": "Apache-2.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/ports/zpp-bits/portfile.cmake b/ports/zpp-bits/portfile.cmake new file mode 100644 index 00000000000000..df75a3bf93f486 --- /dev/null +++ b/ports/zpp-bits/portfile.cmake @@ -0,0 +1,11 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO eyalz800/zpp_bits + REF "v${VERSION}" + SHA512 55757e4a02b680b8eae9e72073bd5612ba7e167bb82c40e89a3e27e3be520b1cd6db11dbb89bfaa4b046ba5b0dab11e02f481cbf93faebc96afc34ab49cd737a + HEAD_REF master +) + +file(INSTALL "${SOURCE_PATH}/zpp_bits.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/zpp-bits/vcpkg.json b/ports/zpp-bits/vcpkg.json new file mode 100644 index 00000000000000..8c8ab51d079776 --- /dev/null +++ b/ports/zpp-bits/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "zpp-bits", + "version": "4.4.17", + "description": "A lightweight C++20 serialization and RPC library", + "homepage": "https://github.com/eyalz800/zpp_bits", + "license": "MIT" +} diff --git a/ports/zserge-webview/portfile.cmake b/ports/zserge-webview/portfile.cmake index 47b3e0c5808261..2caa4c403ed538 100644 --- a/ports/zserge-webview/portfile.cmake +++ b/ports/zserge-webview/portfile.cmake @@ -2,27 +2,27 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO zserge/webview - REF 16c93bcaeaeb6aa7bb5a1432de3bef0b9ecc44f3 - SHA512 153824bd444eafe6cc5ae00800422b41d4047dc85a164c465990c3be06d82003b532e1e869bb40e3a77cbe4789ff970fcda50ef00ac7b3e2f22ef3f566340026 + REPO webview/webview + REF 8387ff8945fc010e7c4203c021943ce4ca12a276 #commit-2023-04-15 + SHA512 def8d4d5322546a0d3a767f76a6024c0c09e0da184445836f9c1887ab5bdfa1276fb8f2ed65b1b366c237cb22e935b1c6dd99151417c652cd3c5881255494f69 HEAD_REF master ) -file(COPY ${SOURCE_PATH}/webview.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) +file(COPY "${SOURCE_PATH}/webview.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include") set(WEBVIEW_GTK "0") -set(WEBVIEW_WINAPI "0") +set(WEBVIEW_EDGE "0") set(WEBVIEW_COCOA "0") if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - set(WEBVIEW_WINAPI "1") + set(WEBVIEW_EDGE "1") elseif (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin") set(WEBVIEW_COCOA "1") elseif (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") set(WEBVIEW_GTK "1") endif() -file(READ ${CURRENT_PACKAGES_DIR}/include/webview.h _contents) +file(READ "${CURRENT_PACKAGES_DIR}/include/webview.h" _contents) string(REPLACE "#ifdef WEBVIEW_STATIC" "#if 1 // #ifdef WEBVIEW_STATIC" @@ -48,7 +48,7 @@ string(REPLACE "${WEBVIEW_COCOA} // defined(WEBVIEW_COCOA)" _contents "${_contents}" ) -file(WRITE ${CURRENT_PACKAGES_DIR}/include/webview.h "${_contents}") +file(WRITE "${CURRENT_PACKAGES_DIR}/include/webview.h" "${_contents}") # Handle copyright -configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/zserge-webview/vcpkg.json b/ports/zserge-webview/vcpkg.json index dbdfa5bf12e410..4088f23f1c0abe 100644 --- a/ports/zserge-webview/vcpkg.json +++ b/ports/zserge-webview/vcpkg.json @@ -1,6 +1,7 @@ { "name": "zserge-webview", - "version-string": "2019-04-27", - "port-version": 3, - "description": "Tiny cross-platform webview library for C/C++/Golang." + "version-date": "2023-04-15", + "description": "Tiny cross-platform webview library for C/C++/Golang.", + "homepage": "https://github.com/webview/webview", + "license": "MIT" } diff --git a/ports/zstd/fix-c4703-error.patch b/ports/zstd/fix-c4703-error.patch deleted file mode 100644 index 9af18d74125df3..00000000000000 --- a/ports/zstd/fix-c4703-error.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/lib/compress/zstd_lazy.c b/lib/compress/zstd_lazy.c -index 3d523e8..3dd1426 100644 ---- a/lib/compress/zstd_lazy.c -+++ b/lib/compress/zstd_lazy.c -@@ -1296,8 +1296,8 @@ size_t ZSTD_RowFindBestMatch_generic ( - size_t ddsIdx; - U32 ddsExtraAttempts; /* cctx hash tables are limited in searches, but allow extra searches into DDS */ - U32 dmsTag; -- U32* dmsRow; -- BYTE* dmsTagRow; -+ U32* dmsRow = NULL; -+ BYTE* dmsTagRow = NULL; - - if (dictMode == ZSTD_dedicatedDictSearch) { - const U32 ddsHashLog = dms->cParams.hashLog - ZSTD_LAZY_DDSS_BUCKET_LOG; diff --git a/ports/zstd/fix-emscripten-and-clang-cl.patch b/ports/zstd/fix-emscripten-and-clang-cl.patch new file mode 100644 index 00000000000000..c8dae329e49084 --- /dev/null +++ b/ports/zstd/fix-emscripten-and-clang-cl.patch @@ -0,0 +1,31 @@ +diff --git a/build/cmake/CMakeModules/AddZstdCompilationFlags.cmake b/build/cmake/CMakeModules/AddZstdCompilationFlags.cmake +index 0265349..4a50a67 100644 +--- a/build/cmake/CMakeModules/AddZstdCompilationFlags.cmake ++++ b/build/cmake/CMakeModules/AddZstdCompilationFlags.cmake +@@ -54,10 +54,22 @@ macro(ADD_ZSTD_COMPILATION_FLAGS) + endif () + # Add noexecstack flags + # LDFLAGS +- EnableCompilerFlag("-z noexecstack" false false true) +- # CFLAGS & CXXFLAGS +- EnableCompilerFlag("-Qunused-arguments" true true false) +- EnableCompilerFlag("-Wa,--noexecstack" true true false) ++ if(MSVC) ++ # UNICODE SUPPORT ++ EnableCompilerFlag("/D_UNICODE" true true false) ++ EnableCompilerFlag("/DUNICODE" true true false) ++ # Enable asserts in Debug mode ++ if (CMAKE_BUILD_TYPE MATCHES "Debug") ++ EnableCompilerFlag("/DDEBUGLEVEL=1" true true false) ++ endif () ++ else() ++ if(NOT EMSCRIPTEN) ++ EnableCompilerFlag("-z noexecstack" false false true) ++ endif() ++ # CFLAGS & CXXFLAGS ++ EnableCompilerFlag("-Qunused-arguments" true true false) ++ EnableCompilerFlag("-Wa,--noexecstack" true true false) ++ endif() + elseif (MSVC) # Add specific compilation flags for Windows Visual + + set(ACTIVATE_MULTITHREADED_COMPILATION "ON" CACHE BOOL "activate multi-threaded compilation (/MP flag)") diff --git a/ports/zstd/fix-windows-rc-compile.patch b/ports/zstd/fix-windows-rc-compile.patch new file mode 100644 index 00000000000000..7abde739199aef --- /dev/null +++ b/ports/zstd/fix-windows-rc-compile.patch @@ -0,0 +1,13 @@ +diff --git a/build/cmake/lib/CMakeLists.txt b/build/cmake/lib/CMakeLists.txt +index 5d514ccb..dd79efb7 100644 +--- a/build/cmake/lib/CMakeLists.txt ++++ b/build/cmake/lib/CMakeLists.txt +@@ -123,7 +123,7 @@ set(PUBLIC_INCLUDE_DIRS ${LIBRARY_DIR}) + set(library_targets) + if (ZSTD_BUILD_SHARED) + add_library(libzstd_shared SHARED ${Sources} ${Headers} ${PlatformDependResources}) +- target_include_directories(libzstd_shared INTERFACE $) ++ target_include_directories(libzstd_shared PUBLIC $) + list(APPEND library_targets libzstd_shared) + if (ZSTD_MULTITHREAD_SUPPORT) + set_property(TARGET libzstd_shared APPEND PROPERTY COMPILE_DEFINITIONS "ZSTD_MULTITHREAD") diff --git a/ports/zstd/install_pkgpc.patch b/ports/zstd/install_pkgpc.patch deleted file mode 100644 index a0582d98b21cc3..00000000000000 --- a/ports/zstd/install_pkgpc.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/build/cmake/lib/CMakeLists.txt b/build/cmake/lib/CMakeLists.txt -index 5f75665..dabc9d5 100644 ---- a/build/cmake/lib/CMakeLists.txt -+++ b/build/cmake/lib/CMakeLists.txt -@@ -130,7 +130,7 @@ if (ZSTD_BUILD_STATIC) - OUTPUT_NAME ${STATIC_LIBRARY_BASE_NAME}) - endif () - --if (UNIX OR MINGW) -+if (1) - # pkg-config - set(PREFIX "${CMAKE_INSTALL_PREFIX}") - set(EXEC_PREFIX "\${prefix}") diff --git a/ports/zstd/no-static-suffix.patch b/ports/zstd/no-static-suffix.patch new file mode 100644 index 00000000000000..89916f45e35696 --- /dev/null +++ b/ports/zstd/no-static-suffix.patch @@ -0,0 +1,13 @@ +diff --git a/build/cmake/lib/CMakeLists.txt b/build/cmake/lib/CMakeLists.txt +index 8234060..765f003 100644 +--- a/build/cmake/lib/CMakeLists.txt ++++ b/build/cmake/lib/CMakeLists.txt +@@ -118,7 +118,7 @@ endif () + + # With MSVC static library needs to be renamed to avoid conflict with import library + if (MSVC OR (WIN32 AND CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND NOT MINGW)) +- set(STATIC_LIBRARY_BASE_NAME zstd_static) ++ set(STATIC_LIBRARY_BASE_NAME zstd) + else () + set(STATIC_LIBRARY_BASE_NAME zstd) + endif () diff --git a/ports/zstd/portfile.cmake b/ports/zstd/portfile.cmake index af3a9d6b9c5c00..8b6058f3dd1e32 100644 --- a/ports/zstd/portfile.cmake +++ b/ports/zstd/portfile.cmake @@ -1,22 +1,22 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO facebook/zstd - REF a488ba114ec17ea1054b9057c26a046fc122b3b6 #v1.5.0 - SHA512 659576d0f52d2271b6b53f638b407b873888b1cffe4f014c3149d33a961653c2fcf7ff270bc669a5647205b573ef2809907645a4c89ab6c030ad65bce15547ae + REF "v${VERSION}" + SHA512 ca12dffd86618ca008e1ecc79056c1129cb4e61668bf13a3cd5b2fa5c93bc9c92c80f64c1870c68b9c20009d9b3a834eac70db72242d5106125a1c53cccf8de8 HEAD_REF dev PATCHES - install_pkgpc.patch - fix-c4703-error.patch + no-static-suffix.patch + fix-emscripten-and-clang-cl.patch + fix-windows-rc-compile.patch ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" ZSTD_BUILD_STATIC) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" ZSTD_BUILD_SHARED) -if(VCPKG_TARGET_IS_WINDOWS) - # Enable multithreaded mode. CMake build doesn't provide a multithreaded - # library target, but it is the default in Makefile and VS projects. - set(VCPKG_C_FLAGS "${VCPKG_C_FLAGS} -DZSTD_MULTITHREAD") - set(VCPKG_CXX_FLAGS "${VCPKG_CXX_FLAGS}") +if("tools" IN_LIST FEATURES) + set(ZSTD_BUILD_PROGRAMS 1) +else() + set(ZSTD_BUILD_PROGRAMS 0) endif() vcpkg_cmake_configure( @@ -25,43 +25,44 @@ vcpkg_cmake_configure( -DZSTD_BUILD_SHARED=${ZSTD_BUILD_SHARED} -DZSTD_BUILD_STATIC=${ZSTD_BUILD_STATIC} -DZSTD_LEGACY_SUPPORT=1 - -DZSTD_BUILD_PROGRAMS=0 -DZSTD_BUILD_TESTS=0 -DZSTD_BUILD_CONTRIB=0 + -DZSTD_MULTITHREAD_SUPPORT=1 + OPTIONS_RELEASE + -DZSTD_BUILD_PROGRAMS=${ZSTD_BUILD_PROGRAMS} OPTIONS_DEBUG - -DCMAKE_DEBUG_POSTFIX=d) # this is against the maintainer guidelines. - # Removing it probably requires a vcpkg-cmake-wrapper.cmake to correct downstreams FindZSTD.cmake + -DZSTD_BUILD_PROGRAMS=OFF +) vcpkg_cmake_install() vcpkg_copy_pdbs() vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/zstd) +vcpkg_fixup_pkgconfig() -# This enables find_package(ZSTD) and find_package(zstd) to find zstd on Linux(case sensitive filesystems) -file(RENAME "${CURRENT_PACKAGES_DIR}/share/${PORT}/zstdConfig.cmake" "${CURRENT_PACKAGES_DIR}/share/${PORT}/zstd-config.cmake") -file(RENAME "${CURRENT_PACKAGES_DIR}/share/${PORT}/zstdConfigVersion.cmake" "${CURRENT_PACKAGES_DIR}/share/${PORT}/zstd-config-version.cmake") - -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static" AND VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) - set(static_suffix "_static") -else() - set(static_suffix "") -endif() -if(EXISTS "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libzstd.pc") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libzstd.pc" "-lzstd" "-lzstd${static_suffix}") +file(READ "${CURRENT_PACKAGES_DIR}/share/zstd/zstdTargets.cmake" targets) +if(targets MATCHES "-pthread") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libzstd.pc" " -lzstd" " -lzstd -pthread") + if(NOT VCPKG_BUILD_TYPE) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libzstd.pc" " -lzstd" " -lzstd -pthread") + endif() endif() -if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libzstd.pc") - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libzstd.pc" "-lzstd" "-lzstd${static_suffix}d") -endif() - -vcpkg_fixup_pkgconfig() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - foreach(HEADER zdict.h zstd.h zstd_errors.h) + foreach(HEADER IN ITEMS zdict.h zstd.h zstd_errors.h) vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/${HEADER}" "defined(ZSTD_DLL_IMPORT) && (ZSTD_DLL_IMPORT==1)" "1" ) endforeach() endif() -file(COPY "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -file(COPY "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -file(WRITE "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" "ZSTD is dual licensed - see LICENSE and COPYING files\n") +if(VCPKG_TARGET_IS_WINDOWS AND ZSTD_BUILD_PROGRAMS) + vcpkg_copy_tools(TOOL_NAMES zstd AUTO_CLEAN) +endif() + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright( + COMMENT "ZSTD is dual licensed under BSD and GPLv2." + FILE_LIST + "${SOURCE_PATH}/LICENSE" + "${SOURCE_PATH}/COPYING" +) diff --git a/ports/zstd/usage b/ports/zstd/usage new file mode 100644 index 00000000000000..ea1dc0ac7806e9 --- /dev/null +++ b/ports/zstd/usage @@ -0,0 +1,4 @@ +zstd provides CMake targets: + + find_package(zstd CONFIG REQUIRED) + target_link_libraries(main PRIVATE zstd::libzstd) diff --git a/ports/zstd/vcpkg.json b/ports/zstd/vcpkg.json index b8cef005a2ec14..db3c87d44dc45c 100644 --- a/ports/zstd/vcpkg.json +++ b/ports/zstd/vcpkg.json @@ -1,9 +1,9 @@ { "name": "zstd", - "version-semver": "1.5.0", - "port-version": 1, + "version": "1.5.6", "description": "Zstandard - Fast real-time compression algorithm", "homepage": "https://facebook.github.io/zstd/", + "license": "BSD-3-Clause OR GPL-2.0-only", "dependencies": [ { "name": "vcpkg-cmake", @@ -13,5 +13,11 @@ "name": "vcpkg-cmake-config", "host": true } - ] + ], + "features": { + "tools": { + "description": "Build zstd binary", + "supports": "!uwp & static" + } + } } diff --git a/ports/zstr/portfile.cmake b/ports/zstr/portfile.cmake index 7db0333bd5949f..b99157d939ab15 100644 --- a/ports/zstr/portfile.cmake +++ b/ports/zstr/portfile.cmake @@ -1,19 +1,19 @@ +# header-only library vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO mateidavid/zstr - REF v1.0.4 - SHA512 148dd7741747917d826f0caf291730e14317c700961bec6ae360c1f6a3988d5db555c36428c9641fba3cd76a63b5880dce6b2af47a4388c5451bddce45c39944 + REF "v${VERSION}" + SHA512 3017da244810a45f7111f76f8d0dd988e162f08eab28b7465cad4549d84200fc834975275daf9588d35c6125e6f167c1e2dd5ec18022dac1eceabdc24d24cffe HEAD_REF master ) # Install source files -file(INSTALL ${SOURCE_PATH}/src/strict_fstream.hpp - ${SOURCE_PATH}/src/zstr.hpp - ${SOURCE_PATH}/src/zstr_make_unique_polyfill.h - DESTINATION ${CURRENT_PACKAGES_DIR}/include) +file(INSTALL "${SOURCE_PATH}/src/strict_fstream.hpp" + "${SOURCE_PATH}/src/zstr.hpp" + DESTINATION "${CURRENT_PACKAGES_DIR}/include") # Install license -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") # Install usage -file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") diff --git a/ports/zstr/usage b/ports/zstr/usage index 78f9b80a189fd2..279e01cfdd1269 100644 --- a/ports/zstr/usage +++ b/ports/zstr/usage @@ -1,4 +1,7 @@ The package zstr is header only and can be used from CMake via: + find_package(ZLIB REQUIRED) + target_link_libraries(main PRIVATE ZLIB::ZLIB) + find_path(ZSTR_INCLUDE_DIRS "zstr.hpp") target_include_directories(main PRIVATE ${ZSTR_INCLUDE_DIRS}) diff --git a/ports/zstr/vcpkg.json b/ports/zstr/vcpkg.json index 11d0a4981dec35..62c5787ef4a02a 100644 --- a/ports/zstr/vcpkg.json +++ b/ports/zstr/vcpkg.json @@ -1,9 +1,9 @@ { "name": "zstr", - "version-string": "1.0.4", - "port-version": 2, + "version": "1.0.7", "description": "This C++ header-only library enables the use of C++ standard iostreams to access ZLib-compressed streams.", "homepage": "https://github.com/mateidavid/zstr", + "license": "MIT", "dependencies": [ "zlib" ] diff --git a/ports/ztd-cuneicode/fix-cmake-install.patch b/ports/ztd-cuneicode/fix-cmake-install.patch new file mode 100644 index 00000000000000..75d5576c064a59 --- /dev/null +++ b/ports/ztd-cuneicode/fix-cmake-install.patch @@ -0,0 +1,98 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 00aa8b6..d49889b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -39,6 +39,12 @@ FetchContent_Declare(ztd.cmake + GIT_TAG main) + FetchContent_MakeAvailable(ztd.cmake) + set(CMAKE_PROJECT_INCLUDE ${ZTD_CMAKE_PROJECT_PRELUDE}) ++include(FetchContent) ++FetchContent_Declare(ztd.cmake ++ GIT_REPOSITORY https://github.com/soasis/cmake ++ GIT_TAG main) ++FetchContent_MakeAvailable(ztd.cmake) ++set(CMAKE_PROJECT_INCLUDE ${ZTD_CMAKE_PROJECT_PRELUDE}) + + # # Project declaration + # informs about the project, gives a description, version and MOST IMPORTANTLY +@@ -49,6 +55,8 @@ project(ztd.cuneicode + HOMEPAGE_URL "https://ztdcuneicode.readthedocs.io/en/latest/" + LANGUAGES C CXX) + ++include(CMakePackageConfigHelpers) ++include(GNUInstallDirs) + if(ZTD_CUNEICODE_READTHEDOCS) + # ReadTheDocs seems unable to handle the include at the project level: something must be going wrong? + include(CheckCXXCompilerFlag) +@@ -132,15 +140,7 @@ option(ZTD_CUNEICODE_SIMDUTF_SHARED "Enable the simdutf shared target for cuneic + + # # Dependencies + # ztd.idk +-FetchContent_Declare(ztd.idk +- GIT_REPOSITORY https://github.com/soasis/idk.git +- GIT_TAG main) +-FetchContent_MakeAvailable(ztd.idk) +-# ztd.encoding_tables +-FetchContent_Declare(ztd.encoding_tables +- GIT_REPOSITORY https://github.com/soasis/encoding_tables.git +- GIT_TAG main) +-FetchContent_MakeAvailable(ztd.encoding_tables) ++find_package(ztd.encoding_tables CONFIG REQUIRED) + + # # Main Library + file(GLOB ztd.cuneicode.includes CONFIGURE_DEPENDS include/*.hpp) +@@ -187,15 +187,12 @@ target_compile_options(ztd.cuneicode PUBLIC + ${--enable-conforming-preprocessor} + ) + ++install(TARGETS ztd.cuneicode ++ EXPORT ztd.cuneicode-targets ++ DESTINATION lib) + install(DIRECTORY include/ + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} + ) +-install(TARGETS ztd.cuneicode +- PUBLIC_HEADER +- RUNTIME +- ARCHIVE +- LIBRARY +-) + + # # Config / Version packaging + # Version configurations +@@ -213,6 +210,15 @@ export(TARGETS ztd.cuneicode + FILE + "${CMAKE_CURRENT_BINARY_DIR}/cmake/ztd.cuneicode/ztd.cuneicode-targets.cmake") + ++install(FILES ++ ${CMAKE_CURRENT_BINARY_DIR}/cmake/ztd.cuneicode/ztd.cuneicode-config.cmake ++ ${CMAKE_CURRENT_BINARY_DIR}/cmake/ztd.cuneicode/ztd.cuneicode-config-version.cmake ++ DESTINATION share/ztd.cuneicode ++ ) ++install(EXPORT ztd.cuneicode-targets ++ FILE ztd.cuneicode-targets.cmake ++ DESTINATION share/ztd.cuneicode ++) + if(ZTD_CUNEICODE_GENERATE_SINGLE) + add_subdirectory(single) + endif() +diff --git a/cmake/ztd.cuneicode-config.cmake.in b/cmake/ztd.cuneicode-config.cmake.in +index 4bfb041..1b28918 100644 +--- a/cmake/ztd.cuneicode-config.cmake.in ++++ b/cmake/ztd.cuneicode-config.cmake.in +@@ -1,8 +1,13 @@ + @PACKAGE_INIT@ ++include(CMakeFindDependencyMacro) ++find_dependency(ztd.encoding_tables CONFIG) + +-if (TARGET ztd::cuneicode) ++include(${CMAKE_CURRENT_LIST_DIR}/ztd.cuneicode-targets.cmake) ++ ++if (TARGET ztd.cuneicode) ++ add_library(ztd::cuneicode ALIAS ztd.cuneicode) + get_target_property(ZTD_CUNEICODE_INCLUDE_DIRS +- ztd.cuneicode.single INTERFACE_INCLUDE_DIRECTORIES) ++ ztd.cuneicode INTERFACE_INCLUDE_DIRECTORIES) + set_and_check(ZTD_CUNEICODE_INCLUDE_DIRS "${ZTD_CUNEICODE_INCLUDE_DIRS}") + endif() + diff --git a/ports/ztd-cuneicode/portfile.cmake b/ports/ztd-cuneicode/portfile.cmake new file mode 100644 index 00000000000000..0650284f383b9a --- /dev/null +++ b/ports/ztd-cuneicode/portfile.cmake @@ -0,0 +1,24 @@ +if (VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO soasis/cuneicode + REF 093041aa934b7b09e7ee7300abdc3f54bb57e389 + SHA512 0066fee5cf75fa07dc97934153e4206e4add69f15602526c1953b0302d5a6f8b56256e837a73acee187b0e02e676fba1350ad39b162c4901c624b12fa4e0fb03 + HEAD_REF main + PATCHES + fix-cmake-install.patch # Also contains https://github.com/soasis/cuneicode/pull/12 +) + +vcpkg_cmake_configure( + SOURCE_PATH ${SOURCE_PATH} +) + +vcpkg_cmake_install() + +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/ztd-cuneicode/vcpkg.json b/ports/ztd-cuneicode/vcpkg.json new file mode 100644 index 00000000000000..250331684015ae --- /dev/null +++ b/ports/ztd-cuneicode/vcpkg.json @@ -0,0 +1,19 @@ +{ + "name": "ztd-cuneicode", + "version-date": "2023-11-03", + "port-version": 1, + "description": "Shared tables between C and C++ for encoding infrastructure", + "homepage": "http://ztdcuneicode.rtfd.io/", + "license": "Apache-2.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "ztd-encoding-tables" + ] +} diff --git a/ports/ztd-encoding-tables/fix-cmake-install.patch b/ports/ztd-encoding-tables/fix-cmake-install.patch new file mode 100644 index 00000000000000..c56beb7afe40ee --- /dev/null +++ b/ports/ztd-encoding-tables/fix-cmake-install.patch @@ -0,0 +1,68 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 7612c6c..8d2233d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -50,6 +50,8 @@ project(ztd.encoding_tables + HOMEPAGE_URL "https://ztdencoding_tables.rtfd.io/" + LANGUAGES CXX C) + ++include(CMakePackageConfigHelpers) ++include(GNUInstallDirs) + if(ZTD_ENCODING_TABLES_READTHEDOCS) + # ReadTheDocs seems unable to handle the include at the project level: something must be going wrong? + include(CheckCXXCompilerFlag) +@@ -127,10 +129,7 @@ if(ZTD_ENCODING_TABLES_IS_TOP_LEVEL_PROJECT) + endif() + + # # Main Dependency +-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) + + # # Main library declarations + # ztd.encoding_tables +@@ -179,7 +178,9 @@ if(ZTD_ENCODING_TABLES_IS_TOP_LEVEL_PROJECT) + ) + endif() + +-install(TARGETS ztd.encoding_tables) ++install(TARGETS ztd.encoding_tables ++ EXPORT ztd.encoding_tables-targets ++ DESTINATION lib) + install(DIRECTORY include/ + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} + ) +@@ -199,9 +200,15 @@ export(TARGETS ztd.encoding_tables + "${CMAKE_CURRENT_BINARY_DIR}/cmake/ztd.encoding_tables/ztd.encoding_tables-targets.cmake" + ) + +-install( +- DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/cmake" +- TYPE DATA ++install(FILES ++ ${CMAKE_CURRENT_BINARY_DIR}/cmake/ztd.encoding_tables/ztd.encoding_tables-config.cmake ++ ${CMAKE_CURRENT_BINARY_DIR}/cmake/ztd.encoding_tables/ztd.encoding_tables-config-version.cmake ++ DESTINATION share/ztd.encoding_tables ++ ) ++ ++install(EXPORT ztd.encoding_tables-targets ++ FILE ztd.encoding_tables-targets.cmake ++ DESTINATION share/ztd.encoding_tables + ) + + if(ZTD_ENCODING_TABLES_GENERATE_SINGLE) +diff --git a/cmake/ztd.encoding_tables-config.cmake.in b/cmake/ztd.encoding_tables-config.cmake.in +index 2b8db83..579f865 100644 +--- a/cmake/ztd.encoding_tables-config.cmake.in ++++ b/cmake/ztd.encoding_tables-config.cmake.in +@@ -1,6 +1,7 @@ + @PACKAGE_INIT@ + +-find_package(ztd.encoding_tables CONFIG REQUIRED) ++include(CMakeFindDependencyMacro) ++find_dependency(ztd.idk CONFIG) + include(${CMAKE_CURRENT_LIST_DIR}/ztd.encoding_tables-targets.cmake) + + if (TARGET ztd.encoding_tables) diff --git a/ports/ztd-encoding-tables/portfile.cmake b/ports/ztd-encoding-tables/portfile.cmake new file mode 100644 index 00000000000000..7b97b0d16b4bfe --- /dev/null +++ b/ports/ztd-encoding-tables/portfile.cmake @@ -0,0 +1,22 @@ +if (VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO soasis/encoding_tables + REF 2f4324b3d84db2300d0bf3d0e568a28992df2b55 + SHA512 ec8684bca5673609c0b3014228b6b35647896f8288d6ef85778a7bb8a191c4c92985a11d625e7e5e306b738c16dce232f2604e7cf583ca5e9b76ff4a9f447732 + HEAD_REF main + PATCHES fix-cmake-install.patch +) + +vcpkg_cmake_configure( + SOURCE_PATH ${SOURCE_PATH} +) + +vcpkg_cmake_install() + +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/ztd-encoding-tables/vcpkg.json b/ports/ztd-encoding-tables/vcpkg.json new file mode 100644 index 00000000000000..e4a8d130777ae4 --- /dev/null +++ b/ports/ztd-encoding-tables/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "ztd-encoding-tables", + "version-date": "2023-06-10", + "description": "Shared tables between C and C++ for encoding infrastructure", + "homepage": "https://github.com/soasis/encoding_tables", + "license": "Apache-2.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "ztd-idk" + ] +} diff --git a/ports/ztd-idk/fix-cmake-install.patch b/ports/ztd-idk/fix-cmake-install.patch new file mode 100644 index 00000000000000..e657f49681955a --- /dev/null +++ b/ports/ztd-idk/fix-cmake-install.patch @@ -0,0 +1,187 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 746afa7..803b82e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -34,11 +34,6 @@ cmake_policy(VERSION 3.21) + # # Project kickstart + # Includes a bunch of basic flags and utilities shared across projects + # See more at the github repository link below +-include(FetchContent) +-FetchContent_Declare(ztd.cmake +- GIT_REPOSITORY https://github.com/soasis/cmake.git +- GIT_TAG main) +-FetchContent_MakeAvailable(ztd.cmake) + set(CMAKE_PROJECT_INCLUDE ${ZTD_CMAKE_PROJECT_PRELUDE}) + + # # Project declaration +@@ -50,6 +45,8 @@ project(ztd.idk + HOMEPAGE_URL "https://ztdidk.rtfd.io/" + LANGUAGES CXX C) + ++include(GNUInstallDirs) ++include(CMakePackageConfigHelpers) + if(ZTD_IDK_READTHEDOCS) + # ReadTheDocs seems unable to handle the include at the project level: something must be going wrong? + include(CheckCXXCompilerFlag) +@@ -89,9 +86,6 @@ if(ZTD_IDK_IS_TOP_LEVEL_PROJECT) + set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/bin") + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/bin") + +- if(NOT DEFINED CMAKE_CXX_STANDARD) +- set(CMAKE_CXX_STANDARD 17) +- endif() + + if(NOT DEFINED CMAKE_C_STANDARD) + set(CMAKE_C_STANDARD 11) +@@ -133,6 +127,7 @@ endif() + # ztd.version + add_library(ztd.version INTERFACE) + add_library(ztd::version ALIAS ztd.version) ++target_compile_features(ztd.version INTERFACE cxx_std_20) + target_include_directories(ztd.version + INTERFACE + $ +@@ -143,20 +138,32 @@ install(DIRECTORY include/ + ${CMAKE_INSTALL_INCLUDEDIR} + ) + ++install(TARGETS ztd.version ++ EXPORT ztd.version-targets ++ DESTINATION lib) + configure_package_config_file( + cmake/ztd.version-config.cmake.in + "${CMAKE_CURRENT_BINARY_DIR}/cmake/ztd.version/ztd.version-config.cmake" +- INSTALL_DESTINATION lib/cmake/ztd.version ++ INSTALL_DESTINATION share/ztd.version + NO_CHECK_REQUIRED_COMPONENTS_MACRO + ) + write_basic_package_version_file( + "${CMAKE_CURRENT_BINARY_DIR}/cmake/ztd.version/ztd.version-config-version.cmake" + COMPATIBILITY SameMajorVersion + ) ++install(FILES ++ ${CMAKE_CURRENT_BINARY_DIR}/cmake/ztd.version/ztd.version-config.cmake ++ ${CMAKE_CURRENT_BINARY_DIR}/cmake/ztd.version/ztd.version-config-version.cmake ++ DESTINATION share/ztd.version ++ ) + export(TARGETS ztd.version + FILE + "${CMAKE_CURRENT_BINARY_DIR}/cmake/ztd.version/ztd.version-targets.cmake" + ) ++install(EXPORT ztd.version-targets ++ FILE ztd.version-targets.cmake ++ DESTINATION share/ztd.version ++) + + # ztd.tag_invoke + file(GLOB_RECURSE ztd.tag_invoke.includes +@@ -166,6 +173,7 @@ file(GLOB_RECURSE ztd.tag_invoke.includes + ) + + add_library(ztd.tag_invoke INTERFACE) ++target_compile_features(ztd.tag_invoke INTERFACE cxx_std_20) + add_library(ztd::tag_invoke ALIAS ztd.tag_invoke) + target_include_directories(ztd.tag_invoke + INTERFACE +@@ -179,10 +187,14 @@ install(DIRECTORY include/ + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} + ) + ++install(TARGETS ztd.tag_invoke ++ EXPORT ztd.tag_invoke-targets ++ DESTINATION lib) ++ + configure_package_config_file( + cmake/ztd.tag_invoke-config.cmake.in + "${CMAKE_CURRENT_BINARY_DIR}/cmake/ztd.tag_invoke/ztd.tag_invoke-config.cmake" +- INSTALL_DESTINATION lib/cmake/ztd.tag_invoke ++ INSTALL_DESTINATION share/ztd.tag_invoke + NO_CHECK_REQUIRED_COMPONENTS_MACRO + ) + write_basic_package_version_file( +@@ -193,6 +205,16 @@ export(TARGETS ztd.tag_invoke + FILE + "${CMAKE_CURRENT_BINARY_DIR}/cmake/ztd.tag_invoke/ztd.tag_invoke-targets.cmake" + ) ++install(FILES ++ ${CMAKE_CURRENT_BINARY_DIR}/cmake/ztd.tag_invoke/ztd.tag_invoke-config.cmake ++ ${CMAKE_CURRENT_BINARY_DIR}/cmake/ztd.tag_invoke/ztd.tag_invoke-config-version.cmake ++ DESTINATION share/ztd.tag_invoke ++) ++install(EXPORT ztd.tag_invoke-targets ++ FILE ztd.tag_invoke-targets.cmake ++ DESTINATION share/ztd.tag_invoke ++) ++ + + # ztd.idk + file(GLOB_RECURSE ztd.idk.includes +@@ -241,7 +263,9 @@ if(ZTD_IDK_IS_TOP_LEVEL_PROJECT) + ) + endif() + +-install(TARGETS ztd.idk) ++install(TARGETS ztd.idk ++ EXPORT ztd.idk-targets ++ DESTINATION lib) + install(DIRECTORY include/ + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} + ) +@@ -249,7 +273,7 @@ install(DIRECTORY include/ + configure_package_config_file( + cmake/ztd.idk-config.cmake.in + "${CMAKE_CURRENT_BINARY_DIR}/cmake/ztd.idk/ztd.idk-config.cmake" +- INSTALL_DESTINATION lib/cmake/ztd.idk ++ INSTALL_DESTINATION share/ztd.idk + NO_CHECK_REQUIRED_COMPONENTS_MACRO + ) + write_basic_package_version_file( +@@ -261,11 +285,17 @@ export(TARGETS ztd.idk + "${CMAKE_CURRENT_BINARY_DIR}/cmake/ztd.idk/ztd.idk-targets.cmake" + ) + +-install( +- DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/cmake" +- TYPE DATA ++install(FILES ++ ${CMAKE_CURRENT_BINARY_DIR}/cmake/ztd.idk/ztd.idk-config.cmake ++ ${CMAKE_CURRENT_BINARY_DIR}/cmake/ztd.idk/ztd.idk-config-version.cmake ++ DESTINATION share/ztd.idk/ ++ ) ++install(EXPORT ztd.idk-targets ++ FILE ztd.idk-targets.cmake ++ DESTINATION share/ztd.idk/ + ) + ++ + if(ZTD_IDK_GENERATE_SINGLE) + add_subdirectory(single) + endif() +diff --git a/cmake/ztd.idk-config.cmake.in b/cmake/ztd.idk-config.cmake.in +index 4ceb0ec..8377221 100644 +--- a/cmake/ztd.idk-config.cmake.in ++++ b/cmake/ztd.idk-config.cmake.in +@@ -1,7 +1,8 @@ + @PACKAGE_INIT@ + +-find_package(ztd.version CONFIG REQUIRED) +-find_package(ztd.tag_invoke CONFIG REQUIRED) ++include(CMakeFindDependencyMacro) ++find_dependency(ztd.version CONFIG ) ++find_dependency(ztd.tag_invoke CONFIG) + include(${CMAKE_CURRENT_LIST_DIR}/ztd.idk-targets.cmake) + + if (TARGET ztd.idk) +diff --git a/cmake/ztd.tag_invoke-config.cmake.in b/cmake/ztd.tag_invoke-config.cmake.in +index 504c60b..ee2f5cd 100644 +--- a/cmake/ztd.tag_invoke-config.cmake.in ++++ b/cmake/ztd.tag_invoke-config.cmake.in +@@ -1,6 +1,6 @@ + @PACKAGE_INIT@ +- +-find_package(ztd.version CONFIG REQUIRED) ++include(CMakeFindDependencyMacro) ++find_dependency(ztd.version CONFIG ) + include(${CMAKE_CURRENT_LIST_DIR}/ztd.tag_invoke-targets.cmake) + + if (TARGET ztd.tag_invoke) diff --git a/ports/ztd-idk/portfile.cmake b/ports/ztd-idk/portfile.cmake new file mode 100644 index 00000000000000..4cfbb5799911a3 --- /dev/null +++ b/ports/ztd-idk/portfile.cmake @@ -0,0 +1,22 @@ +if (VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO soasis/idk + REF ad64a1759a506bb0761c7b20c40da8c91865f50e + SHA512 b6f1afa78b23331ba19116101667bb9dd070deafb9d685f99f165c75ec30d7bfe90443034b6f1882c3186c490f3fc4ed648cdc3fff6fa8450375676d8e9c4727 + HEAD_REF main + PATCHES + fix-cmake-install.patch +) + +vcpkg_cmake_configure( + SOURCE_PATH ${SOURCE_PATH} +) +vcpkg_cmake_install() + +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/ztd-idk/vcpkg.json b/ports/ztd-idk/vcpkg.json new file mode 100644 index 00000000000000..0a28ce692665cd --- /dev/null +++ b/ports/ztd-idk/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "ztd-idk", + "version-date": "2023-11-03", + "description": "The IDK (Industrial Development Kit) library!", + "homepage": "https://github.com/soasis/idk", + "license": "Apache-2.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/ztd-platform/fix-cmake-install.patch b/ports/ztd-platform/fix-cmake-install.patch new file mode 100644 index 00000000000000..f793fd614e23b9 --- /dev/null +++ b/ports/ztd-platform/fix-cmake-install.patch @@ -0,0 +1,72 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 57c97c4..d0e0da9 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -49,6 +49,8 @@ project(ztd.platform + HOMEPAGE_URL "https://ztdplatform.readthedocs.io/en/latest/" + LANGUAGES C CXX) + ++include(CMakePackageConfigHelpers) ++include(GNUInstallDirs) + if(ZTD_PLATFORM_READTHEDOCS) + # ReadTheDocs seems unable to handle the include at the project level: something must be going wrong? + include(CheckCXXCompilerFlag) +@@ -121,10 +123,7 @@ option(ZTD_PLATFORM_USE_ENCODING_C "Enable encoding_rs's C bindings with ztd::pl + + # # 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) + + # encoding_c + if (ZTD_PLATFORM_USE_ENCODING_C) +@@ -408,11 +407,8 @@ install(DIRECTORY include/ + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} + ) + install(TARGETS ztd.platform +- PUBLIC_HEADER +- RUNTIME +- ARCHIVE +- LIBRARY +-) ++ EXPORT ztd.platform-targets ++ DESTINATION lib) + + # # Config / Version packaging + # Version configurations +@@ -430,6 +426,15 @@ export(TARGETS ztd.platform + FILE + "${CMAKE_CURRENT_BINARY_DIR}/cmake/ztd.platform/ztd.platform-targets.cmake") + ++install(FILES ++ ${CMAKE_CURRENT_BINARY_DIR}/cmake/ztd.platform/ztd.platform-config.cmake ++ ${CMAKE_CURRENT_BINARY_DIR}/cmake/ztd.platform/ztd.platform-config-version.cmake ++ DESTINATION share/ztd.platform ++ ) ++install(EXPORT ztd.platform-targets ++ FILE ztd.platform-targets.cmake ++ DESTINATION share/ztd.platform ++) + # # Benchmarks, Tests, Examples + if(ZTD_PLATFORM_TESTS) + include(CTest) +diff --git a/cmake/ztd.platform-config.cmake.in b/cmake/ztd.platform-config.cmake.in +index 37629fc..5d5886c 100644 +--- a/cmake/ztd.platform-config.cmake.in ++++ b/cmake/ztd.platform-config.cmake.in +@@ -1,6 +1,11 @@ + @PACKAGE_INIT@ + +-if (TARGET ztd::platform) ++include(CMakeFindDependencyMacro) ++find_dependency(ztd.idk CONFIG) ++ ++include(${CMAKE_CURRENT_LIST_DIR}/ztd.platform-targets.cmake) ++if (TARGET ztd.platform) ++ add_library(ztd::platform ALIAS ztd.platform) + get_target_property(ZTD_PLATFORM_INCLUDE_DIRS + ztd.platform INTERFACE_INCLUDE_DIRECTORIES) + set_and_check(ZTD_PLATFORM_INCLUDE_DIRS "${ZTD_PLATFORM_INCLUDE_DIRS}") diff --git a/ports/ztd-platform/portfile.cmake b/ports/ztd-platform/portfile.cmake new file mode 100644 index 00000000000000..0d2a97287e452d --- /dev/null +++ b/ports/ztd-platform/portfile.cmake @@ -0,0 +1,22 @@ +if (VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO soasis/platform + REF d92b8e5b85a4cabae62ad19ccfcc5c3f94ab1a14 + SHA512 d7482bbfa00c6c8226e368fde664ee77e915b4d01ea93e79dffb43b51b44808628c1d3d3daa5e6c8e5cd239dcd4c1ae31c3d0f534df9e1e9bf7a134b24322cfa + HEAD_REF main + PATCHES fix-cmake-install.patch +) + +vcpkg_cmake_configure( + SOURCE_PATH ${SOURCE_PATH} +) + +vcpkg_cmake_install() + +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/ztd-platform/vcpkg.json b/ports/ztd-platform/vcpkg.json new file mode 100644 index 00000000000000..e0283782f1eeb9 --- /dev/null +++ b/ports/ztd-platform/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "ztd-platform", + "version-date": "2022-12-30", + "description": "A library for messing with platfom-dependent configurations and libraries, and sometimes hiding their cores.", + "homepage": "https://github.com/soasis/platform", + "license": "Apache-2.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "ztd-idk" + ] +} diff --git a/ports/ztd-static-containers/fix-cmake.patch b/ports/ztd-static-containers/fix-cmake.patch new file mode 100644 index 00000000000000..cef15e5a2e34ee --- /dev/null +++ b/ports/ztd-static-containers/fix-cmake.patch @@ -0,0 +1,68 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 32371d4..22223ed 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -33,6 +33,8 @@ project(ztd.static_containers + VERSION 0.5.0 + DESCRIPTION "A library for a fixed-capacity vector." + LANGUAGES C CXX) ++include(CMakePackageConfigHelpers) ++include(GNUInstallDirs) + + if(ZTD_STATIC_CONTAINERS_READTHEDOCS) + # ReadTheDocs seems unable to handle the include at the project level: something must be going wrong? +@@ -113,10 +115,7 @@ option(ZTD_STATIC_CONTAINERS_BENCHMARKS "Enable build of benchmarks" 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) + + file(GLOB_RECURSE ztd.static_containers.sources + LIST_DIRECTORIES FALSE +@@ -126,7 +125,6 @@ file(GLOB_RECURSE ztd.static_containers.sources + + add_library(ztd.static_containers INTERFACE) + add_library(ztd::static_containers ALIAS ztd.static_containers) +-target_sources(ztd.static_containers INTERFACE ${ztd.static_containers.sources}) + target_link_libraries(ztd.static_containers + INTERFACE + ztd::idk +@@ -155,6 +153,18 @@ export(TARGETS ztd.static_containers + FILE + "${CMAKE_CURRENT_BINARY_DIR}/cmake/ztd.static_containers/ztd.static_containers-targets.cmake") + ++install(TARGETS ztd.static_containers ++ EXPORT ztd.static_containers-targets) ++install(EXPORT ztd.static_containers-targets ++ FILE ztd.static_containers-targets.cmake ++ DESTINATION share/ztd.static_containers ++) ++install(FILES ++ ${CMAKE_CURRENT_BINARY_DIR}/cmake/ztd.static_containers/ztd.static_containers-config.cmake ++ ${CMAKE_CURRENT_BINARY_DIR}/cmake/ztd.static_containers/ztd.static_containers-config-version.cmake ++ DESTINATION share/ztd.static_containers ++) ++ + # # Benchmarks, Tests, Examples + if(ZTD_STATIC_CONTAINERS_TESTS) + enable_testing() +diff --git a/cmake/ztd.static_containers-config.cmake.in b/cmake/ztd.static_containers-config.cmake.in +index f96ace2..94340c1 100644 +--- a/cmake/ztd.static_containers-config.cmake.in ++++ b/cmake/ztd.static_containers-config.cmake.in +@@ -1,6 +1,9 @@ + @PACKAGE_INIT@ +- +-if (TARGET ztd::static_containers) ++include(CMakeFindDependencyMacro) ++find_dependency(ztd.idk CONFIG) ++include("${CMAKE_CURRENT_LIST_DIR}/ztd.static_containers-targets.cmake") ++if (TARGET ztd.static_containers) ++ add_library(ztd::static_containers ALIAS ztd.static_containers) + get_target_property(ZTD_STATIC_CONTAINERS_INCLUDE_DIRS + ztd.static_containers INTERFACE_INCLUDE_DIRECTORIES) + set_and_check(ZTD_STATIC_CONTAINERS_INCLUDE_DIRS "${ZTD_STATIC_CONTAINERS_INCLUDE_DIRS}") diff --git a/ports/ztd-static-containers/portfile.cmake b/ports/ztd-static-containers/portfile.cmake new file mode 100644 index 00000000000000..54db520842a54d --- /dev/null +++ b/ports/ztd-static-containers/portfile.cmake @@ -0,0 +1,18 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO soasis/static_containers + REF e1a21217b6dba3028e6cc6bf0f9562972ea1c43d + SHA512 ec5b98e2282e72eb09617006afaf2522a471b6eb3928c90fb878c46b7453bb94ddafb19cb4738c5561905003d299bb23d15ebf71c555259b5e500594fbadd97f + HEAD_REF main + PATCHES fix-cmake.patch +) + +set(VCPKG_BUILD_TYPE release) # header-only + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" +) + +vcpkg_cmake_install() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/ztd-static-containers/vcpkg.json b/ports/ztd-static-containers/vcpkg.json new file mode 100644 index 00000000000000..f268e09dcceab6 --- /dev/null +++ b/ports/ztd-static-containers/vcpkg.json @@ -0,0 +1,19 @@ +{ + "name": "ztd-static-containers", + "version-date": "2022-12-12", + "port-version": 1, + "description": "Containers of fixed capacity", + "homepage": "https://github.com/soasis/static_containers", + "license": "CC0-1.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "ztd-idk" + ] +} diff --git a/ports/ztd-text/fix-cmake-install.patch b/ports/ztd-text/fix-cmake-install.patch new file mode 100644 index 00000000000000..4496825fd0eb72 --- /dev/null +++ b/ports/ztd-text/fix-cmake-install.patch @@ -0,0 +1,123 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 607394b..d80fb23 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -34,12 +34,6 @@ cmake_policy(VERSION 3.21) + # # Project kickstart + # Includes a bunch of basic flags and utilities shared across projects + # See more at the github repository link below +-include(FetchContent) +-FetchContent_Declare(ztd.cmake +- GIT_REPOSITORY https://github.com/soasis/cmake +- GIT_SHALLOW ON +- GIT_TAG main) +-FetchContent_MakeAvailable(ztd.cmake) + set(CMAKE_PROJECT_INCLUDE ${ZTD_CMAKE_PROJECT_PRELUDE}) + + # # Project declaration +@@ -51,6 +45,8 @@ project(ztd.text + HOMEPAGE_URL "https://ztdtext.readthedocs.io/en/latest/" + LANGUAGES C CXX) + ++include(GNUInstallDirs) ++include(CMakePackageConfigHelpers) + if(ZTD_TEXT_READTHEDOCS) + # ReadTheDocs seems unable to handle the include at the project level: something must be going wrong? + include(CheckCXXCompilerFlag) +@@ -139,40 +135,18 @@ option(ZTD_TEXT_BOOST.TEXT "Enable usage of Boost.Text benchmarks and examples" + + # # Dependencies + # ztd.idk +-FetchContent_Declare(ztd.idk +- GIT_REPOSITORY https://github.com/soasis/idk.git +- GIT_SHALLOW ON +- GIT_TAG main) +-FetchContent_MakeAvailable(ztd.idk) + + # ztd.static_containers +-FetchContent_Declare(ztd.static_containers +- GIT_REPOSITORY https://github.com/soasis/static_containers.git +- GIT_SHALLOW ON +- GIT_TAG main) +-FetchContent_MakeAvailable(ztd.static_containers) ++find_package(ztd.static_containers CONFIG REQUIRED) + + # ztd.encoding_tables +-FetchContent_Declare(ztd.encoding_tables +- GIT_REPOSITORY https://github.com/soasis/encoding_tables.git +- GIT_SHALLOW ON +- GIT_TAG main) +-FetchContent_MakeAvailable(ztd.encoding_tables) + + # ztd.cuneicode ++find_package(ztd.cuneicode CONFIG REQUIRED) + set(ZTD_CUNEICODE_SIMDUTF_SHARED ${ZTD_TEXT_BENCHMARKS}) +-FetchContent_Declare(ztd.cuneicode +- GIT_REPOSITORY https://github.com/soasis/cuneicode.git +- GIT_SHALLOW ON +- GIT_TAG main) +-FetchContent_MakeAvailable(ztd.cuneicode) + + # ztd.platform +-FetchContent_Declare(ztd.platform +- GIT_REPOSITORY https://github.com/soasis/platform.git +- GIT_SHALLOW ON +- GIT_TAG main) +-FetchContent_MakeAvailable(ztd.platform) ++find_package(ztd.platform CONFIG REQUIRED) + + if (ZTD_TEXT_BENCHAMRKS OR ZTD_TEXT_GENERATE_SINGLE OR ZTD_TEXT_DOCUMENTATION) + find_package(Python3 REQUIRED COMPONENTS Interpreter) +@@ -187,16 +161,17 @@ target_include_directories(ztd.text + INTERFACE + $ + $) +-target_sources(ztd.text INTERFACE ${ztd.text.includes}) + target_link_libraries(ztd.text + INTERFACE +- ztd::idk + ztd::static_containers + ztd::platform + ztd::cuneicode) + install(DIRECTORY include/ + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) + ++install(TARGETS ztd.text ++ EXPORT ztd.text-targets ++ DESTINATION lib) + # # Config / Version packaging + # Version configurations + configure_package_config_file( +@@ -213,6 +188,15 @@ export(TARGETS ztd.text + FILE + "${CMAKE_CURRENT_BINARY_DIR}/cmake/ztd.text/ztd.text-targets.cmake") + ++install(FILES ++ ${CMAKE_CURRENT_BINARY_DIR}/cmake/ztd.text/ztd.text-config.cmake ++ ${CMAKE_CURRENT_BINARY_DIR}/cmake/ztd.text/ztd.text-config-version.cmake ++ DESTINATION share/ztd.text ++ ) ++install(EXPORT ztd.text-targets ++ FILE ztd.text-targets.cmake ++ DESTINATION share/ztd.text ++) + if(ZTD_TEXT_GENERATE_SINGLE) + add_subdirectory(single) + endif() +diff --git a/cmake/ztd.text-config.cmake.in b/cmake/ztd.text-config.cmake.in +index a526740..e11ce0c 100644 +--- a/cmake/ztd.text-config.cmake.in ++++ b/cmake/ztd.text-config.cmake.in +@@ -1,6 +1,11 @@ + @PACKAGE_INIT@ ++include(CMakeFindDependencyMacro) ++find_dependency(ztd.platform CONFIG) ++find_dependency(ztd.static_containers CONFIG) + +-if (TARGET ztd::text) ++include (${CMAKE_CURRENT_LIST_DIR}/ztd.text-targets.cmake) ++if (TARGET ztd.text) ++ add_library(ztd::text ALIAS ztd.text) + get_target_property(ZTD_TEXT_INCLUDE_DIRS + ztd.text INTERFACE_INCLUDE_DIRECTORIES) + set_and_check(ZTD_TEXT_INCLUDE_DIRS "${ZTD_TEXT_INCLUDE_DIRS}") diff --git a/ports/ztd-text/portfile.cmake b/ports/ztd-text/portfile.cmake new file mode 100644 index 00000000000000..85297267a4fd92 --- /dev/null +++ b/ports/ztd-text/portfile.cmake @@ -0,0 +1,31 @@ +vcpkg_from_github( + OUT_SOURCE_PATH ZTD_CMAKE_SOURCE_PATH + REPO soasis/cmake + REF c29df2f0b006f8b24214ccea0a7e2f8fbbe135ce + SHA512 5dda06c1ba6422eb0d4392dee962e731505ec93ac90de0129a8b8519e376cc53e24177791e7fed373ca1b3f4377b450a65922ad37b612f29330e6f81d65ff463 +) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO soasis/text + REF c07fba735ee8389d328103c10ce9a8d49f345060 + SHA512 ca9ecacf3260f3915b7d2d90fb1d84f4083775043d592ac5d869a15debf5512d42488d43bd0d3d981180519359a423314e563f2065fa3effe2749904706f483a + HEAD_REF main + PATCHES + fix-cmake-install.patch +) + +set(VCPKG_BUILD_TYPE release) # header-only + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + # See https://github.com/soasis/cmake/blob/c29df2f0b006f8b24214ccea0a7e2f8fbbe135ce/CMakeLists.txt#L43 + "-DZTD_CMAKE_PACKAGES=${ZTD_CMAKE_SOURCE_PATH}/Packages" + "-DZTD_CMAKE_MODULES=${ZTD_CMAKE_SOURCE_PATH}/Modules" + "-DZTD_CMAKE_PROJECT_PRELUDE=${ZTD_CMAKE_SOURCE_PATH}/Includes/Project.cmake" +) + +vcpkg_cmake_install() + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/ports/ztd-text/vcpkg.json b/ports/ztd-text/vcpkg.json new file mode 100644 index 00000000000000..c0719af3e277b1 --- /dev/null +++ b/ports/ztd-text/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "ztd-text", + "version-date": "2023-11-03", + "port-version": 1, + "description": "A spicy text library.", + "homepage": "https://github.com/soasis/text", + "license": "Apache-2.0", + "supports": "!uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + "ztd-cuneicode", + "ztd-platform", + "ztd-static-containers" + ] +} diff --git a/ports/zug/portfile.cmake b/ports/zug/portfile.cmake index d222436fe24f8e..1794ea29088e36 100644 --- a/ports/zug/portfile.cmake +++ b/ports/zug/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO arximboldi/zug - REF 033dadbed463ff3430b7ebc36df8a46f4f0f5078 - SHA512 a8067a90f7a427775872f8198419aa791b647e273ed148b93c189d3b81a4564a19b9321b4bb8cd5681627d8ab13e40be09ed1d75c7b65d74078f21daddaef929 + REF 7c22cc138e2a9a61620986d1a7e1e9730123f22b + SHA512 ecf88ca56ae70ca87391ed34d6d6561e7da9810bba71e6abce2cd150b07cbb7180a7b90db96d0dc5f761fdeb43d75f5f0b47cbf45d78694c3177155d2005fe89 HEAD_REF master ) @@ -24,4 +24,4 @@ vcpkg_cmake_install() vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/Zug) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug" "${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/zug/vcpkg.json b/ports/zug/vcpkg.json index ac59f865eb87f5..95de76dabd73a7 100644 --- a/ports/zug/vcpkg.json +++ b/ports/zug/vcpkg.json @@ -1,6 +1,6 @@ { "name": "zug", - "version-date": "2021-04-23", + "version-date": "2024-04-26", "description": "Transducers for C++", "homepage": "https://sinusoid.es/zug/", "dependencies": [ diff --git a/ports/zxing-cpp/0001-opencv4-compat.patch b/ports/zxing-cpp/0001-opencv4-compat.patch deleted file mode 100644 index 76ad1f4a0c1ad5..00000000000000 --- a/ports/zxing-cpp/0001-opencv4-compat.patch +++ /dev/null @@ -1,43 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index ccb2ba9..5ade734 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1,7 +1,7 @@ - cmake_minimum_required(VERSION 3.0) - - project(zxing) -- -+set(CMAKE_CXX_STANDARD 11) - option(BUILD_TESTING "Enable generation of test targets" OFF) - - set(CMAKE_LIBRARY_PATH /opt/local/lib ${CMAKE_LIBRARY_PATH}) -diff --git a/opencv-cli/src/main.cpp b/opencv-cli/src/main.cpp -index 63b6fd3..5900c4f 100644 ---- a/opencv-cli/src/main.cpp -+++ b/opencv-cli/src/main.cpp -@@ -135,14 +135,14 @@ int main(int argc, char** argv) { - - } - -- if (!videoCapture.set(CV_CAP_PROP_FRAME_WIDTH, captureWidth)) { -+ if (!videoCapture.set(cv::CAP_PROP_FRAME_WIDTH, captureWidth)) { - - // Log - cerr << "Failed to set frame width: " << captureWidth << " (ignoring)" << endl; - - } - -- if (!videoCapture.set(CV_CAP_PROP_FRAME_HEIGHT, captureHeight)) { -+ if (!videoCapture.set(cv::CAP_PROP_FRAME_HEIGHT, captureHeight)) { - - // Log - cerr << "Failed to set frame height: " << captureHeight << " (ignoring)" << endl; -@@ -166,7 +166,7 @@ int main(int argc, char** argv) { - if (result) { - - // Convert to grayscale -- cvtColor(image, grey, CV_BGR2GRAY); -+ cvtColor(image, grey, cv::COLOR_BGR2GRAY); - - try { - diff --git a/ports/zxing-cpp/0002-improve-features.patch b/ports/zxing-cpp/0002-improve-features.patch deleted file mode 100644 index 5776c36eac36b4..00000000000000 --- a/ports/zxing-cpp/0002-improve-features.patch +++ /dev/null @@ -1,39 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 5ade734..54071bd 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -3,6 +3,8 @@ cmake_minimum_required(VERSION 3.0) - project(zxing) - set(CMAKE_CXX_STANDARD 11) - option(BUILD_TESTING "Enable generation of test targets" OFF) -+option(WITH_OPENCV "Build with opencv" OFF) -+option(WITH_ICONV "Build with iconv" OFF) - - set(CMAKE_LIBRARY_PATH /opt/local/lib ${CMAKE_LIBRARY_PATH}) - -@@ -43,8 +45,8 @@ if(WIN32) - endif() - - # OpenCV classes --find_package(OpenCV) --if(OpenCV_FOUND) -+if(WITH_OPENCV) -+ find_package(OpenCV REQUIRED) - list(APPEND LIBZXING_FILES - opencv/src/zxing/MatSource.cpp - opencv/src/zxing/MatSource.h -@@ -58,10 +60,10 @@ include_directories(core/src) - add_library(libzxing ${LIBZXING_FILES}) - set_target_properties(libzxing PROPERTIES PREFIX "") - --find_package(Iconv) --if(ICONV_FOUND) -- include_directories(${ICONV_INCLUDE_DIR}) -- target_link_libraries(libzxing ${ICONV_LIBRARIES}) -+if(WITH_ICONV) -+ find_package(Iconv REQUIRED) -+ include_directories(${Iconv_INCLUDE_DIRS}) -+ target_link_libraries(libzxing ${Iconv_LIBRARIES}) - else() - add_definitions(-DNO_ICONV=1) - endif() diff --git a/ports/zxing-cpp/0003-fix-dependency-bigint.patch b/ports/zxing-cpp/0003-fix-dependency-bigint.patch deleted file mode 100644 index e1453a21d63f7e..00000000000000 --- a/ports/zxing-cpp/0003-fix-dependency-bigint.patch +++ /dev/null @@ -1,53 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 0f172d3..4999942 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -42,10 +42,13 @@ include(source_files.cmake) - if(WIN32) - include_directories(core/lib/win32) - set(CMAKE_DEBUG_POSTFIX -debug) --else() -- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") - endif() - -+# Bigint -+find_package(bigint CONFIG REQUIRED) -+ -+link_libraries(bigint::bigint) -+ - # OpenCV classes - if(WITH_OPENCV) - find_package(OpenCV REQUIRED) -diff --git a/source_files.cmake b/source_files.cmake -index db3d8d4..39abe82 100644 ---- a/source_files.cmake -+++ b/source_files.cmake -@@ -1,28 +1,4 @@ - set(LIBZXING_FILES -- core/src/bigint/BigInteger.cc -- core/src/bigint/BigInteger.cc -- core/src/bigint/BigInteger.hh -- core/src/bigint/BigInteger.hh -- core/src/bigint/BigIntegerAlgorithms.cc -- core/src/bigint/BigIntegerAlgorithms.cc -- core/src/bigint/BigIntegerAlgorithms.hh -- core/src/bigint/BigIntegerAlgorithms.hh -- core/src/bigint/BigIntegerLibrary.hh -- core/src/bigint/BigIntegerLibrary.hh -- core/src/bigint/BigIntegerUtils.cc -- core/src/bigint/BigIntegerUtils.cc -- core/src/bigint/BigIntegerUtils.hh -- core/src/bigint/BigIntegerUtils.hh -- core/src/bigint/BigUnsigned.cc -- core/src/bigint/BigUnsigned.cc -- core/src/bigint/BigUnsigned.hh -- core/src/bigint/BigUnsigned.hh -- core/src/bigint/BigUnsignedInABase.cc -- core/src/bigint/BigUnsignedInABase.cc -- core/src/bigint/BigUnsignedInABase.hh -- core/src/bigint/BigUnsignedInABase.hh -- core/src/bigint/NumberlikeArray.hh -- core/src/bigint/NumberlikeArray.hh - core/src/zxing/aztec/AztecDetectorResult.cpp - core/src/zxing/aztec/AztecDetectorResult.h - core/src/zxing/aztec/AztecReader.cpp diff --git a/ports/zxing-cpp/portfile.cmake b/ports/zxing-cpp/portfile.cmake deleted file mode 100644 index ce2a45669f7601..00000000000000 --- a/ports/zxing-cpp/portfile.cmake +++ /dev/null @@ -1,53 +0,0 @@ -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO glassechidna/zxing-cpp - REF e0e40ddec63f38405aca5c8c1ff60b85ec8b1f10 - SHA512 222be56e3937136bd699a5d259a068b354ffcd34287bc8e0e8c33b924e9760501b81c56420d8062e0a924fefe95451778781b2aaa07207b0f18ce4ec33732581 - HEAD_REF master - PATCHES - 0001-opencv4-compat.patch - 0002-improve-features.patch - 0003-fix-dependency-bigint.patch -) - -file(REMOVE ${SOURCE_PATH}/cmake/FindModules/FindIconv.cmake) -# Depends on port bigint -file(REMOVE_RECURSE ${SOURCE_PATH}/core/src/bigint) - -vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - FEATURES - opencv WITH_OPENCV - iconv WITH_ICONV -) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS ${FEATURE_OPTIONS} -) - -vcpkg_install_cmake() - -vcpkg_copy_pdbs() - -vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT}) - -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/zxing/cmake TARGET_PATH share/zxing) - -file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/${PORT}) -if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - file(COPY ${CURRENT_PACKAGES_DIR}/bin/zxing.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT}) -else() - file(COPY ${CURRENT_PACKAGES_DIR}/bin/zxing DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT}) -endif() - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/zxing) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/zxing) - -# Handle copyright -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/zxing-cpp/vcpkg.json b/ports/zxing-cpp/vcpkg.json deleted file mode 100644 index feb43da34a559a..00000000000000 --- a/ports/zxing-cpp/vcpkg.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "name": "zxing-cpp", - "version-string": "2020-12", - "port-version": 3, - "description": "Barcode detection and decoding library.", - "homepage": "https://github.com/glassechidna/zxing-cpp", - "dependencies": [ - "bigint" - ], - "default-features": [ - "iconv", - "opencv" - ], - "features": { - "iconv": { - "description": "Build with libiconv", - "dependencies": [ - "libiconv" - ] - }, - "opencv": { - "description": "Build with opencv", - "dependencies": [ - "opencv" - ] - } - } -} diff --git a/ports/zycore/portfile.cmake b/ports/zycore/portfile.cmake new file mode 100644 index 00000000000000..19fecd56056823 --- /dev/null +++ b/ports/zycore/portfile.cmake @@ -0,0 +1,27 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO zyantific/zycore-c + REF "v${VERSION}" + SHA512 f57af4e5c6f919299e673ff4afd19a7e3cc01acaf5cde73db47063eb30881487fa33d2fd5707a3e55a8cd8df4bb4b668bc7273b8b8b5eebea1e78c1c36f715b2 + HEAD_REF master +) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" dynamic ZYCORE_BUILD_SHARED) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DZYCORE_BUILD_SHARED_LIB=${ZYCORE_BUILD_SHARED} + -DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=ON +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup( + CONFIG_PATH lib/cmake/zycore +) + +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/zycore/vcpkg.json b/ports/zycore/vcpkg.json new file mode 100644 index 00000000000000..de8ed138e98649 --- /dev/null +++ b/ports/zycore/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "zycore", + "version": "1.5.0", + "description": "Provides platform independent types, macros and a fallback for environments without LibC.", + "homepage": "https://github.com/zyantific/zycore-c", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/ports/zydis/portfile.cmake b/ports/zydis/portfile.cmake index eea63d5a7771b0..a07d6d8729d682 100644 --- a/ports/zydis/portfile.cmake +++ b/ports/zydis/portfile.cmake @@ -1,52 +1,41 @@ + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO zyantific/zydis - REF bfee99f49274a0eec3ffea16ede3a5bda9cda88f - SHA512 de47c4a22d22e753b3d06cb6210a9df2f944b0828e49d573cadb9b0c37d590a44db74542e07eced4b0188a97b825f4990943bab1b14edfd58d80368de4299759 + REF "v${VERSION}" + SHA512 e07add4d43768ded02a238911fde6e74d2391abf8df282f774fca1a8c3fca3e97b03e90e0f3c7c0f3c75485fb29c0be4071d5e5b2e23dd5b8b1a864e3b713fbc HEAD_REF master -) + PATCHES + zycore.patch -vcpkg_from_github( - OUT_SOURCE_PATH ZYCORE_SOURCE_PATH - REPO zyantific/zycore-c - REF 3435866ecaa837376807ce934d2088ae46aa3fa3 - SHA512 7e25254a0c17158789a3eca417cea8abe6a938cdc91cb395bd0ce1d791c8bd6b4ee0c994ca6c8372e17c03abfb3653c9053c5d56e0a4641d765c8474fae771d2 - HEAD_REF master ) -if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - set(ZYDIS_BUILD_SHARED_LIB OFF) -else() - set(ZYDIS_BUILD_SHARED_LIB ON) -endif() +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" ZYDIS_BUILD_SHARED_LIB) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS - "-DZYDIS_BUILD_SHARED_LIB=${ZYDIS_BUILD_SHARED_LIB}" - "-DZYDIS_ZYCORE_PATH=${ZYCORE_SOURCE_PATH}" + -DZYAN_SYSTEM_ZYCORE=ON + -DZYDIS_BUILD_SHARED_LIB=${ZYDIS_BUILD_SHARED_LIB} + -DZYDIS_BUILD_DOXYGEN=OFF + -DZYDIS_BUILD_EXAMPLES=OFF + -DZYDIS_BUILD_TESTS=OFF + OPTIONS_DEBUG + -DZYDIS_BUILD_TOOLS=OFF ) -vcpkg_install_cmake() - -vcpkg_configure_cmake( - SOURCE_PATH ${ZYCORE_SOURCE_PATH} - PREFER_NINJA -) +vcpkg_cmake_install() -vcpkg_install_cmake() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/zydis) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(GLOB EXES ${CURRENT_PACKAGES_DIR}/bin/*.exe ${CURRENT_PACKAGES_DIR}/debug/bin/*.exe) -if(EXES) - file(REMOVE ${EXES}) -endif() +vcpkg_copy_tools(TOOL_NAMES ZydisDisasm ZydisInfo AUTO_CLEAN) 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/Zydis/Defines.h" "defined(ZYDIS_STATIC_BUILD)" "1") endif() +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +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/zydis/vcpkg.json b/ports/zydis/vcpkg.json index 1a04f16a8731ee..6cc61cfb156ca3 100644 --- a/ports/zydis/vcpkg.json +++ b/ports/zydis/vcpkg.json @@ -1,7 +1,18 @@ { "name": "zydis", - "version-string": "3.1.0", - "port-version": 2, + "version-semver": "4.1.0", "description": "Fast and lightweight x86/x86-64 disassembler library.", - "homepage": "https://zydis.re" + "homepage": "https://zydis.re", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "zycore" + ] } diff --git a/ports/zydis/zycore.patch b/ports/zydis/zycore.patch new file mode 100644 index 00000000000000..503daa2a898c11 --- /dev/null +++ b/ports/zydis/zycore.patch @@ -0,0 +1,14 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 62d5de6..ee500c7 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -138,7 +138,8 @@ function (locate_zycore) + ) + endfunction () + +-locate_zycore() ++find_package(zycore CONFIG REQUIRED) ++add_library(Zycore ALIAS Zycore::Zycore) + + # =============================================================================================== # + # Library configuration # diff --git a/ports/zyre/Findczmq.cmake b/ports/zyre/Findczmq.cmake index 8f6d37b1639fb0..c85b6252aec68b 100644 --- a/ports/zyre/Findczmq.cmake +++ b/ports/zyre/Findczmq.cmake @@ -1,10 +1,11 @@ -find_path(CZMQ_INCLUDE_DIRS NAMES czmq.h) +find_path(czmq_INCLUDE_DIRS NAMES czmq.h) find_package(czmq CONFIG REQUIRED) -set(CZMQ_LIBRARIES czmq czmq-static) +set(czmq_LIBRARIES czmq czmq-static) +set(czmq_FOUND TRUE) include(FindPackageHandleStandardArgs) find_package_handle_standard_args( - CZMQ - REQUIRED_VARS CZMQ_INCLUDE_DIRS CZMQ_LIBRARIES + czmq + REQUIRED_VARS czmq_INCLUDE_DIRS czmq_LIBRARIES czmq_FOUND ) diff --git a/ports/zyre/Findlibzmq.cmake b/ports/zyre/Findlibzmq.cmake index 706f063c388716..8dfa4b501e52b1 100644 --- a/ports/zyre/Findlibzmq.cmake +++ b/ports/zyre/Findlibzmq.cmake @@ -1,10 +1,11 @@ find_package(ZeroMQ CONFIG REQUIRED) -set(LIBZMQ_INCLUDE_DIRS ${ZeroMQ_INCLUDE_DIR}) -set(LIBZMQ_LIBRARIES libzmq libzmq-static) +set(libzmq_INCLUDE_DIRS ${ZeroMQ_INCLUDE_DIR}) +set(libzmq_LIBRARIES libzmq libzmq-static) +set(libzmq_FOUND TRUE) include(FindPackageHandleStandardArgs) find_package_handle_standard_args( LIBZMQ - REQUIRED_VARS LIBZMQ_LIBRARIES LIBZMQ_INCLUDE_DIRS + REQUIRED_VARS libzmq_LIBRARIES libzmq_INCLUDE_DIRS libzmq_FOUND ) diff --git a/ports/zyre/portfile.cmake b/ports/zyre/portfile.cmake index b73db8ecb51fd3..f0949f1b8d86a9 100644 --- a/ports/zyre/portfile.cmake +++ b/ports/zyre/portfile.cmake @@ -1,21 +1,21 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO zeromq/zyre - REF 2648b7eb806a2494d6eb4177f0941232d83c5294 - SHA512 8940e82ccdc427734711d63dc01c81fe86c4ca6b7e97a69df979f4d48a4711df1ccaee6a3b6aa394f9ef91d719cb95851c4eb87dfa9ed6426e2577b95e0fb464 + REF f2fd7252322b1b52be248b9ef96f8981de3b86ff + SHA512 64502b4d1ca4296eb979a67f6058a80e931bb6db0cb29b94f6cb3285efe9a216e0014ea379a4018004f9354369bb98e5160474263568a825842e1e4d83a74225 HEAD_REF master ) configure_file( - ${CMAKE_CURRENT_LIST_DIR}/Config.cmake.in - ${SOURCE_PATH}/builds/cmake/Config.cmake.in + "${CMAKE_CURRENT_LIST_DIR}/Config.cmake.in" + "${SOURCE_PATH}/builds/cmake/Config.cmake.in" COPYONLY ) foreach(_cmake_module Findczmq.cmake Findlibzmq.cmake) configure_file( - ${CMAKE_CURRENT_LIST_DIR}/${_cmake_module} - ${SOURCE_PATH}/${_cmake_module} + "${CMAKE_CURRENT_LIST_DIR}/${_cmake_module}" + "${SOURCE_PATH}/${_cmake_module}" COPYONLY ) endforeach() @@ -23,9 +23,8 @@ endforeach() string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" ZYRE_BUILD_SHARED) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" ZYRE_BUILD_STATIC) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" DISABLE_PARALLEL_CONFIGURE OPTIONS -DZYRE_BUILD_SHARED=${ZYRE_BUILD_SHARED} @@ -33,34 +32,34 @@ vcpkg_configure_cmake( -DENABLE_DRAFTS=OFF ) -vcpkg_install_cmake() +vcpkg_cmake_install() vcpkg_copy_pdbs() -if(EXISTS ${CURRENT_PACKAGES_DIR}/CMake) - vcpkg_fixup_cmake_targets(CONFIG_PATH CMake) -elseif(EXISTS ${CURRENT_PACKAGES_DIR}/share/cmake/${PORT}) - vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/${PORT}) +if(EXISTS "${CURRENT_PACKAGES_DIR}/CMake") + vcpkg_cmake_config_fixup(CONFIG_PATH CMake) +elseif(EXISTS "${CURRENT_PACKAGES_DIR}/share/cmake/${PORT}") + vcpkg_cmake_config_fixup(CONFIG_PATH share/cmake/${PORT}) endif() file(COPY - ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake - DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} + "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" ) vcpkg_copy_tools(TOOL_NAMES zpinger AUTO_CLEAN) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") if(ZYRE_BUILD_STATIC) vcpkg_replace_string( - ${CURRENT_PACKAGES_DIR}/include/zyre_library.h + "${CURRENT_PACKAGES_DIR}/include/zyre_library.h" "if defined ZYRE_STATIC" "if 1 //if defined ZYRE_STATIC" ) endif() # Handle copyright -configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") vcpkg_fixup_pkgconfig() diff --git a/ports/zyre/vcpkg.json b/ports/zyre/vcpkg.json index 2abbffdfd4a901..9a2709a7d09b18 100644 --- a/ports/zyre/vcpkg.json +++ b/ports/zyre/vcpkg.json @@ -1,10 +1,17 @@ { "name": "zyre", - "version-string": "2019-07-07", - "port-version": 3, + "version-date": "2024-04-10", "description": "An open-source framework for proximity-based peer-to-peer applications", "homepage": "https://github.com/zeromq/zyre", "dependencies": [ - "czmq" + "czmq", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/ports/zziplib/always-find-unixcommands-on-unix.patch b/ports/zziplib/always-find-unixcommands-on-unix.patch deleted file mode 100644 index 9d3a39ade7b975..00000000000000 --- a/ports/zziplib/always-find-unixcommands-on-unix.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/zzip/CMakeLists.txt b/zzip/CMakeLists.txt -index 52555d4..de06eae 100644 ---- a/zzip/CMakeLists.txt -+++ b/zzip/CMakeLists.txt -@@ -27,7 +27,7 @@ set(ZZIP_VERSION "${PROJECT_VERSION}") - set(ZZIP_PACKAGE_NAME "${PROJECT_NAME}lib") - set(ZZIP_PACKAGE_VERSION "${PROJECT_VERSION}") - --if(ZZIPCOMPAT) -+if(UNIX) - find_package ( UnixCommands REQUIRED ) # bash cp mv rm gzip tar - endif() - diff --git a/ports/zziplib/cmake-project-include.cmake b/ports/zziplib/cmake-project-include.cmake new file mode 100644 index 00000000000000..a8abb0e3bca917 --- /dev/null +++ b/ports/zziplib/cmake-project-include.cmake @@ -0,0 +1,3 @@ +if(WIN32) + add_definitions(-D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_WARNINGS) +endif() diff --git a/ports/zziplib/fix-export-define.patch b/ports/zziplib/fix-export-define.patch deleted file mode 100644 index b57a9a6988fcdc..00000000000000 --- a/ports/zziplib/fix-export-define.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/zzip/conf.h b/zzip/conf.h -index 27b834a..7f01456 100644 ---- a/zzip/conf.h -+++ b/zzip/conf.h -@@ -203,7 +203,7 @@ - # endif - - --#if defined ZZIP_EXPORTS || defined ZZIPLIB_EXPORTS -+#if defined ZZIP_EXPORTS || defined ZZIPLIB_EXPORTS || defined libzzip_EXPORTS // CMake export defines - # undef ZZIP_DLL - #define ZZIP_DLL 1 - #endif diff --git a/ports/zziplib/install-dll-to-proper-folder.patch b/ports/zziplib/install-dll-to-proper-folder.patch deleted file mode 100644 index 4361fb983aa00a..00000000000000 --- a/ports/zziplib/install-dll-to-proper-folder.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff --git a/zzip/CMakeLists.txt b/zzip/CMakeLists.txt -index a9f6e3a..f3a758b 100644 ---- a/zzip/CMakeLists.txt -+++ b/zzip/CMakeLists.txt -@@ -247,12 +247,14 @@ endif() - - install(FILES ${libzzip_HDRS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/zzip ) - install(TARGETS libzzip -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) - - if(ZZIPFSEEKO) - install(FILES ${libzzipfseeko_HDRS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/zzip ) - install(TARGETS libzzipfseeko -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) - endif() -@@ -260,6 +262,7 @@ endif() - if(ZZIPMMAPPED) - install(FILES ${libzzipmmapped_HDRS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/zzip ) - install(TARGETS libzzipmmapped -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) - endif() diff --git a/ports/zziplib/no-release-postfix.patch b/ports/zziplib/no-release-postfix.patch index f81c7451357bfe..d6fc84a31ae7c6 100644 --- a/ports/zziplib/no-release-postfix.patch +++ b/ports/zziplib/no-release-postfix.patch @@ -1,24 +1,24 @@ diff --git a/zzip/CMakeLists.txt b/zzip/CMakeLists.txt -index a9f6e3a..407827b 100644 +index 28f03aa..6f34cc8 100644 --- a/zzip/CMakeLists.txt +++ b/zzip/CMakeLists.txt -@@ -180,16 +180,16 @@ target_link_libraries(libzzipmmapped ZLIB::ZLIB ) - target_include_directories (libzzipmmapped PRIVATE ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR}) +@@ -248,16 +248,16 @@ add_custom_command(OUTPUT libzzipmmapped.so.gcov + add_custom_target(libzzipmmapped.gcov DEPENDS libzzipmmapped.so.gcov) endif() - + -set_target_properties(libzzip PROPERTIES OUTPUT_NAME "zzip" RELEASE_POSTFIX "-${RELNUM}") +set_target_properties(libzzip PROPERTIES OUTPUT_NAME "zzip") SET_TARGET_PROPERTIES(libzzip PROPERTIES VERSION ${VERNUM}.${FIXNUM} SOVERSION ${VERNUM}) - + if(ZZIPFSEEKO) -set_target_properties(libzzipfseeko PROPERTIES OUTPUT_NAME "zzipfseeko" RELEASE_POSTFIX "-${RELNUM}") +set_target_properties(libzzipfseeko PROPERTIES OUTPUT_NAME "zzipfseeko") SET_TARGET_PROPERTIES(libzzipfseeko PROPERTIES VERSION ${VERNUM}.${FIXNUM} SOVERSION ${VERNUM}) endif() - + if(ZZIPMMAPPED) -set_target_properties(libzzipmmapped PROPERTIES OUTPUT_NAME "zzipmmapped" RELEASE_POSTFIX "-${RELNUM}") +set_target_properties(libzzipmmapped PROPERTIES OUTPUT_NAME "zzipmmapped") SET_TARGET_PROPERTIES(libzzipmmapped PROPERTIES VERSION ${VERNUM}.${FIXNUM} SOVERSION ${VERNUM}) endif() - + diff --git a/ports/zziplib/portfile.cmake b/ports/zziplib/portfile.cmake index 9ee3ee64d6b4f4..7327fa26a48df7 100644 --- a/ports/zziplib/portfile.cmake +++ b/ports/zziplib/portfile.cmake @@ -1,56 +1,54 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO gdraheim/zziplib - REF 24a6c6de1956189bffcd8dffd2ef3197c6f3df29 # v0.13.71 - SHA512 246ee1d93f3f8a6889e9ab362e04e6814813844f2cdea0a782910bf07ca55ecd6d8b1c456b4180935464cebf291e7849af27ac0ed5cc080de5fb158f9f3aeffb + REF "v${VERSION}" + SHA512 e96771c310a1a9eb227027e8c2a495409c01dd273b483b3a04119d6a273cce7c88ba77c192fcde5e85d0a37c847a0df8e521f460d00920e62153400f0743ea78 PATCHES - install-dll-to-proper-folder.patch no-release-postfix.patch - fix-export-define.patch - always-find-unixcommands-on-unix.patch ) -if(VCPKG_CRT_LINKAGE STREQUAL "static") - set(MSVC_STATIC_RUNTIME ON) -else() - set(MSVC_STATIC_RUNTIME OFF) -endif() - -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - set(BUILD_STATIC_LIBS ON) -else() - set(BUILD_STATIC_LIBS OFF) -endif() - -if(VCPKG_TARGET_IS_WINDOWS) - set(ZZIPLIBTOOL OFF) -endif() +string(COMPARE EQUAL VCPKG_CRT_LINKAGE "static" MSVC_STATIC_RUNTIME) +string(COMPARE EQUAL VCPKG_LIBRARY_LINKAGE "static" BUILD_STATIC_LIBS) -set(VCPKG_C_FLAGS "${VCPKG_C_FLAGS} -D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_WARNINGS") -set(VCPKG_CXX_FLAGS "${VCPKG_CXX_FLAGS} -D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_WARNINGS") - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS} + "-DCMAKE_PROJECT_INCLUDE=${CMAKE_CURRENT_LIST_DIR}/cmake-project-include.cmake" -DMSVC_STATIC_RUNTIME=${MSVC_STATIC_RUNTIME} - -DZZIPMMAPPED=OFF + -DZZIP_COMPAT=OFF + -DZZIP_LIBLATEST=OFF + -DZZIP_LIBTOOL=OFF + -DZZIP_TESTCVE=OFF + -DZZIPBINS=OFF + -DZZIPDOCS=OFF -DZZIPFSEEKO=OFF - -DZZIPWRAP=OFF + -DZZIPMMAPPED=OFF -DZZIPSDL=OFF - -DZZIPBINS=OFF -DZZIPTEST=OFF - -DZZIPDOCS=OFF - -DZZIPCOMPAT=OFF - -DZZIPLIBTOOL=${ZZIPLIBTOOL} + -DZZIPWRAP=OFF ) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/zziplib") +vcpkg_fixup_pkgconfig() -vcpkg_install_cmake() - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/zzipfseeko.pc" + "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/zzipmmapped.pc" + "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/zzipfseeko.pc" + "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/zzipmmapped.pc" +) -# Handle copyright -file(INSTALL ${SOURCE_PATH}/COPYING.LIB DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(STRINGS "${CURRENT_PACKAGES_DIR}/include/zzip/_config.h" have_stdint_h REGEX "^#define ZZIP_HAVE_STDINT_H 1") +if(have_stdint_h) + file(REMOVE "${CURRENT_PACKAGES_DIR}/include/zzip/stdint.h") +endif() -vcpkg_fixup_pkgconfig() +vcpkg_install_copyright(COMMENT [[ +zziplib is shipping under a dual MPL / LGPL license where each of them +is separate and restrictions apply alternatively. +]] + FILE_LIST + "${SOURCE_PATH}/docs/COPYING.LIB" + "${SOURCE_PATH}/docs/COPYING.MPL" +) diff --git a/ports/zziplib/vcpkg.json b/ports/zziplib/vcpkg.json index cdbca56158e3ae..10177a61b4bac5 100644 --- a/ports/zziplib/vcpkg.json +++ b/ports/zziplib/vcpkg.json @@ -1,10 +1,18 @@ { "name": "zziplib", - "version-string": "0.13.71", - "port-version": 3, + "version": "0.13.78", "description": "library providing read access on ZIP-archives", "homepage": "https://github.com/gdraheim/zziplib", + "license": "LGPL-2.0-or-later OR MPL-1.1", "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, "zlib" ] } diff --git a/scripts/addPoshVcpkgToPowershellProfile.ps1 b/scripts/addPoshVcpkgToPowershellProfile.ps1 index 185f658c984a0d..8dedc3d2bbf756 100644 --- a/scripts/addPoshVcpkgToPowershellProfile.ps1 +++ b/scripts/addPoshVcpkgToPowershellProfile.ps1 @@ -54,3 +54,218 @@ if (Test-Path $profilePath) Add-Content $profilePath -Value "`n$profileEntry" -Encoding UTF8 Write-Host "`nSuccessfully added posh-vcpkg to your PowerShell profile. Please start a new PowerShell window for the changes to take effect." + +# SIG # Begin signature block +# MIIntwYJKoZIhvcNAQcCoIInqDCCJ6QCAQExDzANBglghkgBZQMEAgEFADB5Bgor +# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG +# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCAQI5pjINs39W5V +# cJzzNG3YZ5LACp5BEUv+jJq20JhbqKCCDYEwggX/MIID56ADAgECAhMzAAACUosz +# qviV8znbAAAAAAJSMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD +# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p +# bmcgUENBIDIwMTEwHhcNMjEwOTAyMTgzMjU5WhcNMjIwOTAxMTgzMjU5WjB0MQsw +# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u +# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB +# AQDQ5M+Ps/X7BNuv5B/0I6uoDwj0NJOo1KrVQqO7ggRXccklyTrWL4xMShjIou2I +# sbYnF67wXzVAq5Om4oe+LfzSDOzjcb6ms00gBo0OQaqwQ1BijyJ7NvDf80I1fW9O +# L76Kt0Wpc2zrGhzcHdb7upPrvxvSNNUvxK3sgw7YTt31410vpEp8yfBEl/hd8ZzA +# v47DCgJ5j1zm295s1RVZHNp6MoiQFVOECm4AwK2l28i+YER1JO4IplTH44uvzX9o +# RnJHaMvWzZEpozPy4jNO2DDqbcNs4zh7AWMhE1PWFVA+CHI/En5nASvCvLmuR/t8 +# q4bc8XR8QIZJQSp+2U6m2ldNAgMBAAGjggF+MIIBejAfBgNVHSUEGDAWBgorBgEE +# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQUNZJaEUGL2Guwt7ZOAu4efEYXedEw +# UAYDVR0RBEkwR6RFMEMxKTAnBgNVBAsTIE1pY3Jvc29mdCBPcGVyYXRpb25zIFB1 +# ZXJ0byBSaWNvMRYwFAYDVQQFEw0yMzAwMTIrNDY3NTk3MB8GA1UdIwQYMBaAFEhu +# ZOVQBdOCqhc3NyK1bajKdQKVMFQGA1UdHwRNMEswSaBHoEWGQ2h0dHA6Ly93d3cu +# bWljcm9zb2Z0LmNvbS9wa2lvcHMvY3JsL01pY0NvZFNpZ1BDQTIwMTFfMjAxMS0w +# Ny0wOC5jcmwwYQYIKwYBBQUHAQEEVTBTMFEGCCsGAQUFBzAChkVodHRwOi8vd3d3 +# Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NlcnRzL01pY0NvZFNpZ1BDQTIwMTFfMjAx +# MS0wNy0wOC5jcnQwDAYDVR0TAQH/BAIwADANBgkqhkiG9w0BAQsFAAOCAgEAFkk3 +# uSxkTEBh1NtAl7BivIEsAWdgX1qZ+EdZMYbQKasY6IhSLXRMxF1B3OKdR9K/kccp +# kvNcGl8D7YyYS4mhCUMBR+VLrg3f8PUj38A9V5aiY2/Jok7WZFOAmjPRNNGnyeg7 +# l0lTiThFqE+2aOs6+heegqAdelGgNJKRHLWRuhGKuLIw5lkgx9Ky+QvZrn/Ddi8u +# TIgWKp+MGG8xY6PBvvjgt9jQShlnPrZ3UY8Bvwy6rynhXBaV0V0TTL0gEx7eh/K1 +# o8Miaru6s/7FyqOLeUS4vTHh9TgBL5DtxCYurXbSBVtL1Fj44+Od/6cmC9mmvrti +# yG709Y3Rd3YdJj2f3GJq7Y7KdWq0QYhatKhBeg4fxjhg0yut2g6aM1mxjNPrE48z +# 6HWCNGu9gMK5ZudldRw4a45Z06Aoktof0CqOyTErvq0YjoE4Xpa0+87T/PVUXNqf +# 7Y+qSU7+9LtLQuMYR4w3cSPjuNusvLf9gBnch5RqM7kaDtYWDgLyB42EfsxeMqwK +# WwA+TVi0HrWRqfSx2olbE56hJcEkMjOSKz3sRuupFCX3UroyYf52L+2iVTrda8XW +# esPG62Mnn3T8AuLfzeJFuAbfOSERx7IFZO92UPoXE1uEjL5skl1yTZB3MubgOA4F +# 8KoRNhviFAEST+nG8c8uIsbZeb08SeYQMqjVEmkwggd6MIIFYqADAgECAgphDpDS +# AAAAAAADMA0GCSqGSIb3DQEBCwUAMIGIMQswCQYDVQQGEwJVUzETMBEGA1UECBMK +# V2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0 +# IENvcnBvcmF0aW9uMTIwMAYDVQQDEylNaWNyb3NvZnQgUm9vdCBDZXJ0aWZpY2F0 +# ZSBBdXRob3JpdHkgMjAxMTAeFw0xMTA3MDgyMDU5MDlaFw0yNjA3MDgyMTA5MDla +# MH4xCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdS +# ZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMT +# H01pY3Jvc29mdCBDb2RlIFNpZ25pbmcgUENBIDIwMTEwggIiMA0GCSqGSIb3DQEB +# AQUAA4ICDwAwggIKAoICAQCr8PpyEBwurdhuqoIQTTS68rZYIZ9CGypr6VpQqrgG +# OBoESbp/wwwe3TdrxhLYC/A4wpkGsMg51QEUMULTiQ15ZId+lGAkbK+eSZzpaF7S +# 35tTsgosw6/ZqSuuegmv15ZZymAaBelmdugyUiYSL+erCFDPs0S3XdjELgN1q2jz +# y23zOlyhFvRGuuA4ZKxuZDV4pqBjDy3TQJP4494HDdVceaVJKecNvqATd76UPe/7 +# 4ytaEB9NViiienLgEjq3SV7Y7e1DkYPZe7J7hhvZPrGMXeiJT4Qa8qEvWeSQOy2u +# M1jFtz7+MtOzAz2xsq+SOH7SnYAs9U5WkSE1JcM5bmR/U7qcD60ZI4TL9LoDho33 +# X/DQUr+MlIe8wCF0JV8YKLbMJyg4JZg5SjbPfLGSrhwjp6lm7GEfauEoSZ1fiOIl +# XdMhSz5SxLVXPyQD8NF6Wy/VI+NwXQ9RRnez+ADhvKwCgl/bwBWzvRvUVUvnOaEP +# 6SNJvBi4RHxF5MHDcnrgcuck379GmcXvwhxX24ON7E1JMKerjt/sW5+v/N2wZuLB +# l4F77dbtS+dJKacTKKanfWeA5opieF+yL4TXV5xcv3coKPHtbcMojyyPQDdPweGF +# RInECUzF1KVDL3SV9274eCBYLBNdYJWaPk8zhNqwiBfenk70lrC8RqBsmNLg1oiM +# CwIDAQABo4IB7TCCAekwEAYJKwYBBAGCNxUBBAMCAQAwHQYDVR0OBBYEFEhuZOVQ +# BdOCqhc3NyK1bajKdQKVMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1Ud +# DwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFHItOgIxkEO5FAVO +# 4eqnxzHRI4k0MFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwubWljcm9zb2Z0 +# LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY1Jvb0NlckF1dDIwMTFfMjAxMV8wM18y +# Mi5jcmwwXgYIKwYBBQUHAQEEUjBQME4GCCsGAQUFBzAChkJodHRwOi8vd3d3Lm1p +# Y3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY1Jvb0NlckF1dDIwMTFfMjAxMV8wM18y +# Mi5jcnQwgZ8GA1UdIASBlzCBlDCBkQYJKwYBBAGCNy4DMIGDMD8GCCsGAQUFBwIB +# FjNodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2RvY3MvcHJpbWFyeWNw +# cy5odG0wQAYIKwYBBQUHAgIwNB4yIB0ATABlAGcAYQBsAF8AcABvAGwAaQBjAHkA +# XwBzAHQAYQB0AGUAbQBlAG4AdAAuIB0wDQYJKoZIhvcNAQELBQADggIBAGfyhqWY +# 4FR5Gi7T2HRnIpsLlhHhY5KZQpZ90nkMkMFlXy4sPvjDctFtg/6+P+gKyju/R6mj +# 82nbY78iNaWXXWWEkH2LRlBV2AySfNIaSxzzPEKLUtCw/WvjPgcuKZvmPRul1LUd +# d5Q54ulkyUQ9eHoj8xN9ppB0g430yyYCRirCihC7pKkFDJvtaPpoLpWgKj8qa1hJ +# Yx8JaW5amJbkg/TAj/NGK978O9C9Ne9uJa7lryft0N3zDq+ZKJeYTQ49C/IIidYf +# wzIY4vDFLc5bnrRJOQrGCsLGra7lstnbFYhRRVg4MnEnGn+x9Cf43iw6IGmYslmJ +# aG5vp7d0w0AFBqYBKig+gj8TTWYLwLNN9eGPfxxvFX1Fp3blQCplo8NdUmKGwx1j +# NpeG39rz+PIWoZon4c2ll9DuXWNB41sHnIc+BncG0QaxdR8UvmFhtfDcxhsEvt9B +# xw4o7t5lL+yX9qFcltgA1qFGvVnzl6UJS0gQmYAf0AApxbGbpT9Fdx41xtKiop96 +# eiL6SJUfq/tHI4D1nvi/a7dLl+LrdXga7Oo3mXkYS//WsyNodeav+vyL6wuA6mk7 +# r/ww7QRMjt/fdW1jkT3RnVZOT7+AVyKheBEyIXrvQQqxP/uozKRdwaGIm1dxVk5I +# RcBCyZt2WwqASGv9eZ/BvW1taslScxMNelDNMYIZjDCCGYgCAQEwgZUwfjELMAkG +# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx +# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEoMCYGA1UEAxMfTWljcm9z +# b2Z0IENvZGUgU2lnbmluZyBQQ0EgMjAxMQITMwAAAlKLM6r4lfM52wAAAAACUjAN +# BglghkgBZQMEAgEFAKCBrjAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIBBDAcBgor +# BgEEAYI3AgELMQ4wDAYKKwYBBAGCNwIBFTAvBgkqhkiG9w0BCQQxIgQgFlYOVUKP +# feFpp2ZyGIN6cbgH7sLzLcNZk6To9Qy5/jkwQgYKKwYBBAGCNwIBDDE0MDKgFIAS +# AE0AaQBjAHIAbwBzAG8AZgB0oRqAGGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbTAN +# BgkqhkiG9w0BAQEFAASCAQASfzadUptMi09w6TyqkqH2acAq4SQ7IRAUsfgo9VZU +# keZ0yk54zc2JhMq2EdD9BodoqWUHty/Kd/ii54KlaIilcg1eu7fxI23ApMDqRyd5 +# pej24Gi7fpx/kOPedQMRITZj+2DLBWWxlGnlSqLJ88HOhQ7IUPK6n0orv6o3aoW+ +# vmIz1KVf/WpQ0Bmnuf6KvidtlXwq9Z6F6t78v3ulfFhl/rQkar/kqwKh9h2rfTbO +# NL52WccwEzk1uk/7jRY3biG7vegymoFHVgGqHirscNa0XeGXt+GgqAXo/ppXDxFW +# U/9CUSV3oQt+H+4YHoKEuTpNpJ+nRDyz84l4emm5PwWXoYIXFjCCFxIGCisGAQQB +# gjcDAwExghcCMIIW/gYJKoZIhvcNAQcCoIIW7zCCFusCAQMxDzANBglghkgBZQME +# AgEFADCCAVkGCyqGSIb3DQEJEAEEoIIBSASCAUQwggFAAgEBBgorBgEEAYRZCgMB +# MDEwDQYJYIZIAWUDBAIBBQAEIAufT8fqkLAoNnmK8tlDtjF5YfpJIAKOXej3J0eq +# YJSlAgZiF5g+l2EYEzIwMjIwMzMwMjE1MjEwLjY3NVowBIACAfSggdikgdUwgdIx +# CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt +# b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xLTArBgNVBAsTJE1p +# Y3Jvc29mdCBJcmVsYW5kIE9wZXJhdGlvbnMgTGltaXRlZDEmMCQGA1UECxMdVGhh +# bGVzIFRTUyBFU046RDA4Mi00QkZELUVFQkExJTAjBgNVBAMTHE1pY3Jvc29mdCBU +# aW1lLVN0YW1wIFNlcnZpY2WgghFlMIIHFDCCBPygAwIBAgITMwAAAY/zUajrWnLd +# zAABAAABjzANBgkqhkiG9w0BAQsFADB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMK +# V2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0 +# IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0Eg +# MjAxMDAeFw0yMTEwMjgxOTI3NDZaFw0yMzAxMjYxOTI3NDZaMIHSMQswCQYDVQQG +# EwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwG +# A1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMS0wKwYDVQQLEyRNaWNyb3NvZnQg +# SXJlbGFuZCBPcGVyYXRpb25zIExpbWl0ZWQxJjAkBgNVBAsTHVRoYWxlcyBUU1Mg +# RVNOOkQwODItNEJGRC1FRUJBMSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFt +# cCBTZXJ2aWNlMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAmVc+/rXP +# Fx6Fk4+CpLrubDrLTa3QuAHRVXuy+zsxXwkogkT0a+XWuBabwHyqj8RRiZQQvdvb +# Oq5NRExOeHiaCtkUsQ02ESAe9Cz+loBNtsfCq846u3otWHCJlqkvDrSr7mMBqwcR +# Y7cfhAGfLvlpMSojoAnk7Rej+jcJnYxIeN34F3h9JwANY360oGYCIS7pLOosWV+b +# xug9uiTZYE/XclyYNF6XdzZ/zD/4U5pxT4MZQmzBGvDs+8cDdA/stZfj/ry+i0XU +# YNFPhuqc+UKkwm/XNHB+CDsGQl+ZS0GcbUUun4VPThHJm6mRAwL5y8zptWEIocbT +# eRSTmZnUa2iYH2EOBV7eCjx0Sdb6kLc1xdFRckDeQGR4J1yFyybuZsUP8x0dOsEE +# oLQuOhuKlDLQEg7D6ZxmZJnS8B03ewk/SpVLqsb66U2qyF4BwDt1uZkjEZ7finIo +# UgSz4B7fWLYIeO2OCYxIE0XvwsVop9PvTXTZtGPzzmHU753GarKyuM6oa/qaTzYv +# rAfUb7KYhvVQKxGUPkL9+eKiM7G0qenJCFrXzZPwRWoccAR33PhNEuuzzKZFJ4De +# aTCLg/8uK0Q4QjFRef5n4H+2KQIEibZ7zIeBX3jgsrICbzzSm0QX3SRVmZH//Aqp +# 8YxkwcoI1WCBizv84z9eqwRBdQ4HYcNbQMMCAwEAAaOCATYwggEyMB0GA1UdDgQW +# BBTzBuZ0a65JzuKhzoWb25f7NyNxvDAfBgNVHSMEGDAWgBSfpxVdAF5iXYP05dJl +# pxtTNRnpcjBfBgNVHR8EWDBWMFSgUqBQhk5odHRwOi8vd3d3Lm1pY3Jvc29mdC5j +# b20vcGtpb3BzL2NybC9NaWNyb3NvZnQlMjBUaW1lLVN0YW1wJTIwUENBJTIwMjAx +# MCgxKS5jcmwwbAYIKwYBBQUHAQEEYDBeMFwGCCsGAQUFBzAChlBodHRwOi8vd3d3 +# Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NlcnRzL01pY3Jvc29mdCUyMFRpbWUtU3Rh +# bXAlMjBQQ0ElMjAyMDEwKDEpLmNydDAMBgNVHRMBAf8EAjAAMBMGA1UdJQQMMAoG +# CCsGAQUFBwMIMA0GCSqGSIb3DQEBCwUAA4ICAQDNf9Oo9zyhC5n1jC8iU7NJY39F +# izjhxZwJbJY/Ytwn63plMlTSaBperan566fuRojGJSv3EwZs+RruOU2T/ZRDx4VH +# esLHtclE8GmMM1qTMaZPL8I2FrRmf5Oop4GqcxNdNECBClVZmn0KzFdPMqRa5/0R +# 6CmgqJh0muvImikgHubvohsavPEyyHQa94HD4/LNKd/YIaCKKPz9SA5fAa4phQ4E +# vz2auY9SUluId5MK9H5cjWVwBxCvYAD+1CW9z7GshJlNjqBvWtKO6J0Aemfg6z28 +# g7qc7G/tCtrlH4/y27y+stuwWXNvwdsSd1lvB4M63AuMl9Yp6au/XFknGzJPF6n/ +# uWR6JhQvzh40ILgeThLmYhf8z+aDb4r2OBLG1P2B6aCTW2YQkt7TpUnzI0cKGr21 +# 3CbKtGk/OOIHSsDOxasmeGJ+FiUJCiV15wh3aZT/VT/PkL9E4hDBAwGt49G88gSC +# O0x9jfdDZWdWGbELXlSmA3EP4eTYq7RrolY04G8fGtF0pzuZu43A29zaI9lIr5ul +# KRz8EoQHU6cu0PxUw0B9H8cAkvQxaMumRZ/4fCbqNb4TcPkPcWOI24QYlvpbtT9p +# 31flYElmc5wjGplAky/nkJcT0HZENXenxWtPvt4gcoqppeJPA3S/1D57KL3667ep +# Ir0yV290E2otZbAW8DCCB3EwggVZoAMCAQICEzMAAAAVxedrngKbSZkAAAAAABUw +# DQYJKoZIhvcNAQELBQAwgYgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5n +# dG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9y +# YXRpb24xMjAwBgNVBAMTKU1pY3Jvc29mdCBSb290IENlcnRpZmljYXRlIEF1dGhv +# cml0eSAyMDEwMB4XDTIxMDkzMDE4MjIyNVoXDTMwMDkzMDE4MzIyNVowfDELMAkG +# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx +# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9z +# b2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw +# ggIKAoICAQDk4aZM57RyIQt5osvXJHm9DtWC0/3unAcH0qlsTnXIyjVX9gF/bErg +# 4r25PhdgM/9cT8dm95VTcVrifkpa/rg2Z4VGIwy1jRPPdzLAEBjoYH1qUoNEt6aO +# RmsHFPPFdvWGUNzBRMhxXFExN6AKOG6N7dcP2CZTfDlhAnrEqv1yaa8dq6z2Nr41 +# JmTamDu6GnszrYBbfowQHJ1S/rboYiXcag/PXfT+jlPP1uyFVk3v3byNpOORj7I5 +# LFGc6XBpDco2LXCOMcg1KL3jtIckw+DJj361VI/c+gVVmG1oO5pGve2krnopN6zL +# 64NF50ZuyjLVwIYwXE8s4mKyzbnijYjklqwBSru+cakXW2dg3viSkR4dPf0gz3N9 +# QZpGdc3EXzTdEonW/aUgfX782Z5F37ZyL9t9X4C626p+Nuw2TPYrbqgSUei/BQOj +# 0XOmTTd0lBw0gg/wEPK3Rxjtp+iZfD9M269ewvPV2HM9Q07BMzlMjgK8QmguEOqE +# UUbi0b1qGFphAXPKZ6Je1yh2AuIzGHLXpyDwwvoSCtdjbwzJNmSLW6CmgyFdXzB0 +# kZSU2LlQ+QuJYfM2BjUYhEfb3BvR/bLUHMVr9lxSUV0S2yW6r1AFemzFER1y7435 +# UsSFF5PAPBXbGjfHCBUYP3irRbb1Hode2o+eFnJpxq57t7c+auIurQIDAQABo4IB +# 3TCCAdkwEgYJKwYBBAGCNxUBBAUCAwEAATAjBgkrBgEEAYI3FQIEFgQUKqdS/mTE +# mr6CkTxGNSnPEP8vBO4wHQYDVR0OBBYEFJ+nFV0AXmJdg/Tl0mWnG1M1GelyMFwG +# A1UdIARVMFMwUQYMKwYBBAGCN0yDfQEBMEEwPwYIKwYBBQUHAgEWM2h0dHA6Ly93 +# d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvRG9jcy9SZXBvc2l0b3J5Lmh0bTATBgNV +# HSUEDDAKBggrBgEFBQcDCDAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNV +# HQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBTV9lbLj+iiXGJo +# 0T2UkFvXzpoYxDBWBgNVHR8ETzBNMEugSaBHhkVodHRwOi8vY3JsLm1pY3Jvc29m +# dC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNSb29DZXJBdXRfMjAxMC0wNi0yMy5j +# cmwwWgYIKwYBBQUHAQEETjBMMEoGCCsGAQUFBzAChj5odHRwOi8vd3d3Lm1pY3Jv +# c29mdC5jb20vcGtpL2NlcnRzL01pY1Jvb0NlckF1dF8yMDEwLTA2LTIzLmNydDAN +# BgkqhkiG9w0BAQsFAAOCAgEAnVV9/Cqt4SwfZwExJFvhnnJL/Klv6lwUtj5OR2R4 +# sQaTlz0xM7U518JxNj/aZGx80HU5bbsPMeTCj/ts0aGUGCLu6WZnOlNN3Zi6th54 +# 2DYunKmCVgADsAW+iehp4LoJ7nvfam++Kctu2D9IdQHZGN5tggz1bSNU5HhTdSRX +# ud2f8449xvNo32X2pFaq95W2KFUn0CS9QKC/GbYSEhFdPSfgQJY4rPf5KYnDvBew +# VIVCs/wMnosZiefwC2qBwoEZQhlSdYo2wh3DYXMuLGt7bj8sCXgU6ZGyqVvfSaN0 +# DLzskYDSPeZKPmY7T7uG+jIa2Zb0j/aRAfbOxnT99kxybxCrdTDFNLB62FD+Cljd +# QDzHVG2dY3RILLFORy3BFARxv2T5JL5zbcqOCb2zAVdJVGTZc9d/HltEAY5aGZFr +# DZ+kKNxnGSgkujhLmm77IVRrakURR6nxt67I6IleT53S0Ex2tVdUCbFpAUR+fKFh +# bHP+CrvsQWY9af3LwUFJfn6Tvsv4O+S3Fb+0zj6lMVGEvL8CwYKiexcdFYmNcP7n +# tdAoGokLjzbaukz5m/8K6TT4JDVnK+ANuOaMmdbhIurwJ0I9JZTmdHRbatGePu1+ +# oDEzfbzL6Xu/OHBE0ZDxyKs6ijoIYn/ZcGNTTY3ugm2lBRDBcQZqELQdVTNYs6Fw +# ZvKhggLUMIICPQIBATCCAQChgdikgdUwgdIxCzAJBgNVBAYTAlVTMRMwEQYDVQQI +# EwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3Nv +# ZnQgQ29ycG9yYXRpb24xLTArBgNVBAsTJE1pY3Jvc29mdCBJcmVsYW5kIE9wZXJh +# dGlvbnMgTGltaXRlZDEmMCQGA1UECxMdVGhhbGVzIFRTUyBFU046RDA4Mi00QkZE +# LUVFQkExJTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2WiIwoB +# ATAHBgUrDgMCGgMVAD5NL4IEdudIBwdGoCaV0WBbQZpqoIGDMIGApH4wfDELMAkG +# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx +# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9z +# b2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwDQYJKoZIhvcNAQEFBQACBQDl7ubRMCIY +# DzIwMjIwMzMwMjIyNTIxWhgPMjAyMjAzMzEyMjI1MjFaMHQwOgYKKwYBBAGEWQoE +# ATEsMCowCgIFAOXu5tECAQAwBwIBAAICCl0wBwIBAAICET4wCgIFAOXwOFECAQAw +# NgYKKwYBBAGEWQoEAjEoMCYwDAYKKwYBBAGEWQoDAqAKMAgCAQACAwehIKEKMAgC +# AQACAwGGoDANBgkqhkiG9w0BAQUFAAOBgQBjidsY/frY7jVCC5L43gm9MoaMnxjT +# 8gVLXcdbhJzGYftD84JlTWvw/WyGSHpoeg+oCe01IIgdTicq0MKjxoca+LefqaS8 +# vlAf9s1JdIa2Je7u5CzOt2Gru9C00znmx6hI8XCkV+Gj+ZopC4kESoaSGiyaqt+S +# YZHTJ1hNVg79dTGCBA0wggQJAgEBMIGTMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQI +# EwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3Nv +# ZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBD +# QSAyMDEwAhMzAAABj/NRqOtact3MAAEAAAGPMA0GCWCGSAFlAwQCAQUAoIIBSjAa +# BgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwLwYJKoZIhvcNAQkEMSIEIH26YOfE +# UVgRTz6SOkQa9frVJcK+7EUHy9BNy3DCqIG2MIH6BgsqhkiG9w0BCRACLzGB6jCB +# 5zCB5DCBvQQgl3IFT+LGxguVjiKm22ItmO6dFDWW8nShu6O6g8yFxx8wgZgwgYCk +# fjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH +# UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQD +# Ex1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMAITMwAAAY/zUajrWnLdzAAB +# AAABjzAiBCB0UdAt+5LFhsYAoTd2lnVnE0JExPii63XeZzU2N7NElDANBgkqhkiG +# 9w0BAQsFAASCAgCSm1motOpztHnppo7OFCG/NumEpmOgH4Ma58pjV7mgxfoLQllg +# lLpGzBwlXfHSdOLg/q0ip6REZrSnvPw3rffeLl7oTgfAnUZTyGCQbXZgYKmHyqBN +# ys7PaaULzR4UrsyhJ+lEQwY3aombMshmo/rwolFsgUCauvCpVPiPhpHy8+2Wqm4r +# 9Xj1X7H9THSzFJmD3Qu6bT9yburwrSZNEtnYybO+SYYgzjy3CiTfAUag/iETGj4k +# C5K3dfxuz6qWfe0Qr3bT7sLlA0FjQn3ZSNyjPqHr3/1Uf2S6VYKipYvdvLezbJ8X +# 9SE5QUJPc+WWHDMd7LW+EEak/CF/N+I77bHuMN1iyiG7DRGIbOge3jKtD9XgBb25 +# N2+4ilsoN3GYe63bMGsL+525ApITbcnhxbpd35UiZP6Nw9ab9WKYIUILI4vdjSyx +# LX+HZZV1cpqU4d5HjPS9exHgDS6RwJvYtvx9N0moBJYz8X+C4HDJKO6EAFY1i8tT +# HKu3TGsqofehtTtlc9QCEimSTBSmeGxEiPmSDjwfaO2erTzwnJcZL5UqDNHoEouN +# Z5+u1f2LfIidCBznb4tRlG9GNe1JKF3bp16tsNwD6GFuKfcDaP8/+ee14qzHPUJm +# niaVz5RlKUh2M0Uphl+hmnHzIWHOjhUQsUSaoyXy0n+Wz01P1TJ+CBiA1w== +# SIG # End signature block diff --git a/scripts/angle/maintainer-notes.md b/scripts/angle/maintainer-notes.md new file mode 100644 index 00000000000000..16d9367c581e9f --- /dev/null +++ b/scripts/angle/maintainer-notes.md @@ -0,0 +1,32 @@ +# The ANGLE vcpkg port + +The ANGLE port's buildsystem is based off of [WebKit's approach](https://github.com/WebKit/WebKit/tree/main/Source/ThirdParty/ANGLE) to converting ANGLE's buildsystem to CMake. + +Details: + +- `cmake-buildsystem/CMakeLists.txt` + - This is an augmented version of WebKit's [CMakeLists.txt](https://github.com/WebKit/WebKit/blob/main/Source/ThirdParty/ANGLE/CMakeLists.txt), with vcpkg edits and additions. +- `cmake-buildsystem/*.cmake` + - These are configuration files based on [WebKit's approach](https://github.com/WebKit/WebKit/tree/main/Source/ThirdParty/ANGLE), but customized for vcpkg (and using `PlatformLinux` instead of `PlatformGTK`) + + +## Updating the ANGLE vcpkg port + +1. Select a new ANGLE version + +Recommendation: Follow the recommendations in the libANGLE "[Choosing an ANGLE branch](https://github.com/google/angle/blob/master/doc/ChoosingANGLEBranch.md#matching-a-chromium-release-to-an-angle-branch)" guide, and find the branch that matches the current Chromium Stable. + +2. [Find the branch](https://github.com/google/angle/branches) (usually `chromium/`) and latest commit on that branch, and update the following variables in `portfile.cmake`: + - `ANGLE_COMMIT` + - `ANGLE_VERSION` + - `ANGLE_SHA512` + +3. Check the `DEPS` file at that ANGLE commit, for the commit used in `'third_party/zlib'`, and update `ANGLE_THIRDPARTY_ZLIB_COMMIT` in `portfile.cmake` if necessary. + +4. Attempt to build. You may have to tweak the `CMakeLists.txt`, `Platform*.cmake` files, etc. Check with the latest files in [WebKit's repo](https://github.com/WebKit/WebKit/tree/main/Source/ThirdParty/ANGLE) to see if any updates need to be ported to the vcpkg's custom files. You might also need to change the `ANGLE_WEBKIT_BUILDSYSTEM_COMMIT` in the portfile (although this should theoretically need updating less frequently). + +5. Check headers against `opengl-registry` - make sure headers are similar. +> angle defines some additional entrypoints. +> opengl-registry should be latest before updating angle + +6. Complete all the other normal steps in the [Maintainer Guide](/docs/maintainers/maintainer-guide.md) diff --git a/scripts/azure-pipelines/analyze-test-results.ps1 b/scripts/azure-pipelines/analyze-test-results.ps1 deleted file mode 100755 index 29cf01cc30d04d..00000000000000 --- a/scripts/azure-pipelines/analyze-test-results.ps1 +++ /dev/null @@ -1,453 +0,0 @@ -# Copyright (c) Microsoft Corporation. -# SPDX-License-Identifier: MIT -# - -<# -.SYNOPSIS -Analyze the test results as output by the CI system. - -.DESCRIPTION -Takes the set of port test results from $logDir, -and the baseline from $baselineFile, and makes certain that the set -of failures we expected are exactly the set of failures we got. -Then, uploads the logs from any unexpected failures. - -.PARAMETER logDir -Directory of xml test logs to analyze. - -.PARAMETER allResults -Include tests that have no change from the baseline in the output. - -.PARAMETER triplet -The triplet to analyze. - -.PARAMETER baselineFile -The path to the ci.baseline.txt file in the vcpkg repository. - -.PARAMETER passingIsPassing -Indicates that 'Passing, remove from fail list' results should not be emitted as failures. (For example, this is used -when using vcpkg to test a prerelease MSVC++ compiler) -#> -[CmdletBinding()] -Param( - [Parameter(Mandatory = $true)] - [string]$logDir, - [switch]$allResults, - [Parameter(Mandatory = $true)] - [string]$triplet, - [Parameter(Mandatory = $true)] - [string]$baselineFile, - [switch]$passingIsPassing = $false -) - -$ErrorActionPreference = 'Stop' - -if ( -not (Test-Path $logDir) ) { - [System.Console]::Error.WriteLine("Log directory does not exist: $logDir") - exit -} - -<# -.SYNOPSIS -Creates an object the represents the test run. - -.DESCRIPTION -build_test_results takes an XML file of results from the CI run, -and constructs an object based on that XML file for further -processing. - -.OUTPUTS -An object with the following elements: - assemblyName: - assemblyStartDate: - assemblyStartTime: - assemblyTime: - collectionName: - collectionTime: - allTests: A hashtable with an entry for each port tested - The key is the name of the port - The value is an object with the following elements: - name: Name of the port (Does not include the triplet name) - result: Pass/Fail/Skip result from xunit - time: Test time in seconds - originalResult: Result as defined by Build.h in vcpkg source code - abi_tag: The port hash - features: The features installed - -.PARAMETER xmlFilename -The path to the XML file to parse. -#> -function build_test_results { - [CmdletBinding()] - Param - ( - [string]$xmlFilename - ) - if ( ($xmlFilename.Length -eq 0) -or ( -not( Test-Path $xmlFilename))) { - #write-error "Missing file: $xmlFilename" - return $null - } - - Write-Verbose "building test hash for $xmlFilename" - - [xml]$xmlContents = Get-Content $xmlFilename - - # This currently only supports one collection per assembly, which is the way - # the vcpkg tests are designed to run in the pipeline. - $xmlAssembly = $xmlContents.assemblies.assembly - $assemblyName = $xmlAssembly.name - $assemblyStartDate = $xmlAssembly."run-date" - $assemblyStartTime = $xmlAssembly."run-time" - $assemblyTime = $xmlAssembly.time - $xmlCollection = $xmlAssembly.collection - $collectionName = $xmlCollection.name - $collectionTime = $xmlCollection.time - - $allTestResults = @{ } - foreach ( $test in $xmlCollection.test) { - if (!$test.name.endswith(":$triplet")) - { - continue - } - $name = ($test.name -replace ":.*$") - - # Reconstruct the original BuildResult enumeration (defined in Build.h) - # failure.message - why the test failed (valid only on test failure) - # reason - why the test was skipped (valid only when the test is skipped) - # case BuildResult::POST_BUILD_CHECKS_FAILED: - # case BuildResult::FILE_CONFLICTS: - # case BuildResult::BUILD_FAILED: - # case BuildResult::EXCLUDED: - # case BuildResult::CASCADED_DUE_TO_MISSING_DEPENDENCIES: - $originalResult = "NULLVALUE" - switch ($test.result) { - "Skip" { - $originalResult = $test.reason.InnerText - } - "Fail" { - $originalResult = $test.failure.message.InnerText - } - "Pass" { - $originalResult = "SUCCEEDED" - } - } - - $abi_tag = "" - $features = "" - foreach ( $trait in $test.traits.trait) { - switch ( $trait.name ) { - "abi_tag" { $abi_tag = $trait.value } - "features" { $features = $trait.value } - } - } - - # If additional fields get saved in the XML, then they should be added to this hash - # also consider using a PSCustomObject here instead of a hash - $testHash = @{ name = $name; result = $test.result; time = $test.time; originalResult = $originalResult; abi_tag = $abi_tag; features = $features } - $allTestResults[$name] = $testHash - } - - return @{ - assemblyName = $assemblyName; - assemblyStartDate = $assemblyStartDate; - assemblyStartTime = $assemblyStartTime; - assemblyTime = $assemblyTime; - collectionName = $collectionName; - collectionTime = $collectionTime; - allTests = $allTestResults - } -} - -<# -.SYNOPSIS -Creates an object that represents the baseline expectations. - -.DESCRIPTION -build_baseline_results converts the baseline file to an object representing -the expectations set up by the baseline file. It records four states: - 1) fail - 2) skip - 3) ignore - 4) pass -- this is represented by not being recorded -In other words, if a port is not contained in the object returned by this -cmdlet, expect it to pass. - -.OUTPUTS -An object containing the following fields: - collectionName: the triplet - fail: ports marked as fail - skip: ports marked as skipped - ignore: ports marked as ignore - -.PARAMETER baselineFile -The path to vcpkg's ci.baseline.txt. - -.PARAMETER triplet -The triplet to create the result object for. -#> -function build_baseline_results { - [CmdletBinding()] - Param( - $baselineFile, - $triplet - ) - #read in the file, strip out comments and blank lines and spaces, leave only the current triplet - #remove comments, remove empty lines, remove whitespace, then keep only those lines for $triplet - $baseline_list_raw = Get-Content -Path $baselineFile ` - | Where-Object { -not ($_ -match "\s*#") } ` - | Where-Object { -not ( $_ -match "^\s*$") } ` - | ForEach-Object { $_ -replace "\s" } ` - | Where-Object { $_ -match ":$triplet=" } - - #filter to skipped and trim the triplet - $skip_hash = @{ } - foreach ( $port in $baseline_list_raw | ? { $_ -match "=skip$" } | % { $_ -replace ":.*$" }) { - if ($skip_hash[$port] -ne $null) { - [System.Console]::Error.WriteLine("$($port):$($triplet) has multiple definitions in $baselineFile") - } - $skip_hash[$port] = $true - } - $fail_hash = @{ } - $baseline_list_raw | ? { $_ -match "=fail$" } | % { $_ -replace ":.*$" } | ? { $fail_hash[$_] = $true } | Out-Null - $ignore_hash = @{ } - $baseline_list_raw | ? { $_ -match "=ignore$" } | % { $_ -replace ":.*$" } | ? { $ignore_hash[$_] = $true } | Out-Null - - return @{ - collectionName = $triplet; - skip = $skip_hash; - fail = $fail_hash; - ignore = $ignore_hash - } -} - -<# -.SYNOPSIS -Analyzes the results of the current run against the baseline. - -.DESCRIPTION -combine_results compares the results to the baselie, and generates the results -for the CI -- whether it should pass or fail. - -.OUTPUTS -An object containing the following: -(Note that this is not the same data structure as build_test_results) - assemblyName: - assemblyStartDate: - assemblyStartTime: - assemblyTime: - collectionName: - collectionTime: - allTests: A hashtable of each port with a different status from the baseline - The key is the name of the port - The value is an object with the following data members: - name: The name of the port - result: xunit test result Pass/Fail/Skip - message: Human readable message describing the test result - time: time the current test results took to run. - baselineResult: - currentResult: - features: - ignored: list of ignored tests - -.PARAMETER baseline -The baseline object to use from build_baseline_results. - -.PARAMETER current -The results object to use from build_test_results. -#> -function combine_results { - [CmdletBinding()] - Param - ( - $baseline, - $current - ) - - if ($baseline.collectionName -ne $current.collectionName) { - Write-Warning "Comparing mismatched collections $($baseline.collectionName) and $($current.collectionName)" - } - - $currentTests = $current.allTests - - # lookup table with the results of all of the tests - $allTestResults = @{ } - - $ignoredList = @() - - Write-Verbose "analyzing $($currentTests.count) tests" - - foreach ($key in $currentTests.keys) { - Write-Verbose "analyzing $key" - - $message = $null - $result = $null - $time = $null - $currentResult = $null - $features = $currentTest.features - - $baselineResult = "Pass" - if ($baseline.fail[$key] -ne $null) { - Write-Verbose "$key is failing" - $baselineResult = "Fail" - } - elseif ( $baseline.skip[$key] -ne $null) { - Write-Verbose "$key is skipped" - $baselineResult = "Skip" - } - elseif ( $baseline.ignore[$key] -ne $null) { - $baselineResult = "ignore" - } - - $currentTest = $currentTests[$key] - - if ( $currentTest.result -eq $baselineResult) { - Write-Verbose "$key has no change from baseline" - $currentResult = $currentTest.result - if ($allResults) { - # Only marking regressions as failures but keep the skipped status - if ($currentResult -eq "Skip") { - $result = "Skip" - } - else { - $result = "Pass" - } - $message = "No change from baseline" - $time = $currentTest.time - } - } - elseif ( $baselineResult -eq "ignore") { - if ( $currentTest.result -eq "Fail" ) { - Write-Verbose "ignoring failure on $key" - $ignoredList += $key - } - } - else { - Write-Verbose "$key had a change from the baseline" - - $currentResult = $currentTest.result - # Test exists in both test runs but does not match. Determine if this is a regression - # Pass -> Fail = Fail (Regression) - # Pass -> Skip = Skip - # Fail -> Pass = Fail (need to update baseline) - # Fail -> Skip = Skip - # Skip -> Fail = Fail (Should not happen) - # Skip -> Pass = Fail (should not happen) - - $lookupTable = @{ - 'Pass' = @{ - 'Fail' = @('Fail', "Test passes in baseline but fails in current run. If expected update ci.baseline.txt with '$($key):$($current.collectionName)=fail'"); - 'Skip' = @($null, 'Test was skipped due to missing dependencies') - }; - 'Fail' = @{ - 'Pass' = @('Fail', "Test fails in baseline but now passes. Update ci.baseline.txt with '$($key):$($current.collectionName)=pass'"); - 'Skip' = @($null, 'Test fails in baseline but is skipped in current run') - }; - 'Skip' = @{ - 'Fail' = @('Skip', "Test is skipped in baseline but fails in current run. Results are ignored") - 'Pass' = @('Skip', "Test is skipped in baseline but passes in current run. Results are ignored") - } - } - $resultList = $lookupTable[$baselineResult][$currentResult] - $result = $resultList[0] - $message = $resultList[1] - $time = $currentTest.time - Write-Verbose ">$key $message" - } - - if ($result -ne $null) { - Write-Verbose "Adding $key to result list" - $allTestResults[$key] = @{ name = $key; result = $result; message = $message; time = $time; abi_tag = $currentTest.abi_tag; baselineResult = $baselineResult; currentResult = $currentResult; features = $features } - } - } - - return @{ - assemblyName = $current.assemblyName; - assemblyStartDate = $current.assemblyStartDate; - assemblyStartTime = $current.assemblyStartTime; - assemblyTime = $current.assemblyTime; - collectionName = $current.collectionName; - collectionTime = $current.collectionTime; - allTests = $allTestResults; - ignored = $ignoredList - } -} - -<# -.SYNOPSIS -Writes short errors to the CI logs. - -.DESCRIPTION -write_errors_for_summary takes a hashtable from triplets to combine_results -objects, and writes short errors to the CI logs. - -.PARAMETER complete_results -A hashtable from triplets to combine_results objects. -#> -function write_errors_for_summary { - [CmdletBinding()] - Param( - $complete_results - ) - - $failure_found = $false - - Write-Verbose "preparing error output for Azure Devops" - - foreach ($triplet in $complete_results.Keys) { - $triplet_results = $complete_results[$triplet] - - Write-Verbose "searching $triplet triplet" - - # add each port results - foreach ($testName in $triplet_results.allTests.Keys) { - $test = $triplet_results.allTests[$testName] - - Write-Verbose "checking $($testName):$triplet $($test.result)" - - if ($test.result -eq 'Fail') { - if (($test.currentResult) -eq "pass" -and $passingIsPassing) { - continue; - } - - $failure_found = $true - if ($test.currentResult -eq "pass") { - [System.Console]::Error.WriteLine( ` - "PASSING, REMOVE FROM FAIL LIST: $($test.name):$triplet ($baselineFile)" ` - ) - } - else { - [System.Console]::Error.WriteLine( ` - "REGRESSION: $($test.name):$triplet. If expected, add $($test.name):$triplet=fail to $baselineFile." ` - ) - } - } - } - } -} - - -$complete_results = @{ } -Write-Verbose "looking for $triplet logs" - -# The standard name for logs is: -# .xml -# for example: -# x64-linux.xml - -$current_test_hash = build_test_results( Convert-Path "$logDir\$($triplet).xml" ) -$baseline_results = build_baseline_results -baselineFile $baselineFile -triplet $triplet - -if ($current_test_hash -eq $null) { - [System.Console]::Error.WriteLine("Missing $triplet test results in current test run") - $missing_triplets[$triplet] = "test" -} -else { - Write-Verbose "combining results..." - $complete_results[$triplet] = combine_results -baseline $baseline_results -current $current_test_hash -} - -Write-Verbose "done analyzing results" - -# emit error last. Unlike the table output this is going to be seen in the "status" section of the pipeline -# and needs to be formatted for a single line. -write_errors_for_summary -complete_results $complete_results diff --git a/scripts/azure-pipelines/android/Dockerfile b/scripts/azure-pipelines/android/Dockerfile new file mode 100644 index 00000000000000..5ebfbf6b641a8d --- /dev/null +++ b/scripts/azure-pipelines/android/Dockerfile @@ -0,0 +1,69 @@ +# syntax=docker/dockerfile:1.4 +# DisableDockerDetector "Used to build the container deployed to Azure Container Registry" +FROM ubuntu:focal-20240918 + +ADD https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb /packages-microsoft-prod.deb +ADD https://dl.google.com/android/repository/android-ndk-r27c-linux.zip /android-ndk-r27c-linux.zip + +# Add apt packages + +## vcpkg prerequisites +ENV APT_PACKAGES="git curl zip unzip tar" + +## Common build prereqs +ENV APT_PACKAGES="$APT_PACKAGES g++ vim pkg-config cmake ca-certificates" + +ENV APT_PACKAGES="$APT_PACKAGES autoconf nasm bison python2 flex build-essential libtool libtool-bin libltdl-dev gettext automake autoconf-archive" + +## Python related +ENV APT_PACKAGES="$APT_PACKAGES python3-setuptools python3-pip python3-venv python3-mako python3-jinja2" + +## at-spi2-atk +ENV APT_PACKAGES="$APT_PACKAGES libxtst-dev" + +## freeglut +ENV APT_PACKAGES="$APT_PACKAGES libxi-dev libgl1-mesa-dev libglu1-mesa-dev mesa-common-dev libxrandr-dev libxxf86vm-dev" + +# glfw3 +ENV APT_PACKAGES="$APT_PACKAGES libxinerama-dev libxcursor-dev" + +# qt5-base +ENV APT_PACKAGES="$APT_PACKAGES libxext-dev libxfixes-dev libxrender-dev \ + libxcb1-dev libx11-xcb-dev libxcb-glx0-dev libxcb-util0-dev \ + libxkbcommon-dev libxcb-keysyms1-dev \ + libxcb-image0-dev libxcb-shm0-dev libxcb-icccm4-dev libxcb-sync-dev \ + libxcb-xfixes0-dev libxcb-shape0-dev libxcb-randr0-dev \ + libxcb-render-util0-dev libxcb-xinerama0-dev libxcb-xkb-dev libxcb-xinput-dev \ + libxcb-cursor-dev libxkbcommon-x11-dev" + +## PowerShell +ENV APT_PACKAGES="$APT_PACKAGES powershell" + +RUN < /dev/null +apt-get update +apt-get -y --no-install-recommends install docker-ce docker-ce-cli diff --git a/scripts/azure-pipelines/azure-pipelines.yml b/scripts/azure-pipelines/azure-pipelines.yml index a4ac11d5679e60..a938207de71727 100644 --- a/scripts/azure-pipelines/azure-pipelines.yml +++ b/scripts/azure-pipelines/azure-pipelines.yml @@ -2,67 +2,95 @@ # SPDX-License-Identifier: MIT # variables: - windows-pool: 'PrWin-2021-11-10' - linux-pool: 'PrLin-2021-11-10' - osx-pool: 'PrOsx-2021-07-27' + linux-docker-image: 'vcpkgandroidwus3.azurecr.io/vcpkg-android:2024-10-21' + +parameters: + - name: vcpkgToolSha + displayName: 'Custom SHA of vcpkg-tool to use rather than bootstrap' + type: string + default: 'use default' + - name: tripletPattern + displayName: 'Enable triplets which contain this substring' + type: string + default: '-' jobs: - template: windows/azure-pipelines.yml parameters: - triplet: x86-windows jobName: x86_windows - poolName: $(windows-pool) + vcpkgToolSha: ${{ parameters.vcpkgToolSha }} + tripletPattern: ${{ parameters.tripletPattern }} - template: windows/azure-pipelines.yml parameters: - triplet: x64-windows jobName: x64_windows - poolName: $(windows-pool) + vcpkgToolSha: ${{ parameters.vcpkgToolSha }} + tripletPattern: ${{ parameters.tripletPattern }} - template: windows/azure-pipelines.yml parameters: - triplet: x64-windows-static jobName: x64_windows_static - poolName: $(windows-pool) + vcpkgToolSha: ${{ parameters.vcpkgToolSha }} + tripletPattern: ${{ parameters.tripletPattern }} - template: windows/azure-pipelines.yml parameters: - triplet: x64-windows-static-md jobName: x64_windows_static_md - poolName: $(windows-pool) + vcpkgToolSha: ${{ parameters.vcpkgToolSha }} + tripletPattern: ${{ parameters.tripletPattern }} - template: windows/azure-pipelines.yml parameters: - triplet: x64-uwp jobName: x64_uwp - poolName: $(windows-pool) + vcpkgToolSha: ${{ parameters.vcpkgToolSha }} + tripletPattern: ${{ parameters.tripletPattern }} - template: windows/azure-pipelines.yml parameters: - triplet: arm64-windows jobName: arm64_windows - poolName: $(windows-pool) + vcpkgToolSha: ${{ parameters.vcpkgToolSha }} + tripletPattern: ${{ parameters.tripletPattern }} - template: windows/azure-pipelines.yml parameters: - triplet: arm-uwp - jobName: arm_uwp - poolName: $(windows-pool) + jobName: arm64_uwp + vcpkgToolSha: ${{ parameters.vcpkgToolSha }} + tripletPattern: ${{ parameters.tripletPattern }} - template: osx/azure-pipelines.yml parameters: - poolName: $(osx-pool) - ${{ if eq(variables['Build.Reason'], 'PullRequest') }}: - mode: AllPorts - ${{ if ne(variables['Build.Reason'], 'PullRequest') }}: - mode: NonTensorflow -- ${{ if ne(variables['Build.Reason'], 'PullRequest') }}: - - template: osx/azure-pipelines.yml - parameters: - poolName: $(osx-pool) - mode: OnlyTensorflow - jobName: x64_osx_tensorflow + jobName: x64_osx + poolName: 'PrOsx-2024-07-12' + vcpkgToolSha: ${{ parameters.vcpkgToolSha }} + tripletPattern: ${{ parameters.tripletPattern }} + +- template: osx/azure-pipelines.yml + parameters: + jobName: arm64_osx + poolName: 'PrOsx-2024-07-12-arm64' + vcpkgToolSha: ${{ parameters.vcpkgToolSha }} + tripletPattern: ${{ parameters.tripletPattern }} - template: linux/azure-pipelines.yml parameters: - poolName: $(linux-pool) + jobName: x64_linux + vcpkgToolSha: ${{ parameters.vcpkgToolSha }} + tripletPattern: ${{ parameters.tripletPattern }} + +- template: android/azure-pipelines.yml + parameters: + jobName: arm_neon_android + dockerImage: $(linux-docker-image) + tripletPattern: ${{ parameters.tripletPattern }} + +- template: android/azure-pipelines.yml + parameters: + jobName: x64_android + dockerImage: $(linux-docker-image) + tripletPattern: ${{ parameters.tripletPattern }} + +- template: android/azure-pipelines.yml + parameters: + jobName: arm64_android + dockerImage: $(linux-docker-image) + tripletPattern: ${{ parameters.tripletPattern }} diff --git a/scripts/azure-pipelines/bootstrap-from-source.sh b/scripts/azure-pipelines/bootstrap-from-source.sh new file mode 100755 index 00000000000000..b998568eb8b23e --- /dev/null +++ b/scripts/azure-pipelines/bootstrap-from-source.sh @@ -0,0 +1,9 @@ +#!/bin/sh +set -e + +git clone https://github.com/microsoft/vcpkg-tool vcpkg-tool +git -C vcpkg-tool switch -d $1 +rm -rf build.x64.release +cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF -DVCPKG_DEVELOPMENT_WARNINGS=OFF -DVCPKG_WARNINGS_AS_ERRORS=OFF -DVCPKG_BUILD_FUZZING=OFF -DVCPKG_BUILD_TLS12_DOWNLOADER=OFF -B build.x64.release -S vcpkg-tool +ninja -C build.x64.release +mv build.x64.release/vcpkg vcpkg diff --git a/scripts/azure-pipelines/create-vmss-helpers.psm1 b/scripts/azure-pipelines/create-vmss-helpers.psm1 deleted file mode 100755 index 8ebe8070ef7127..00000000000000 --- a/scripts/azure-pipelines/create-vmss-helpers.psm1 +++ /dev/null @@ -1,352 +0,0 @@ -# Copyright (c) Microsoft Corporation. -# SPDX-License-Identifier: MIT - -<# -.SYNOPSIS -Returns whether there's a name collision in the resource group. - -.DESCRIPTION -Find-ResourceGroupNameCollision takes a list of resources, and checks if $Test -collides names with any of the resources. - -.PARAMETER Test -The name to test. - -.PARAMETER Resources -The list of resources. -#> -function Find-ResourceGroupNameCollision { - [CmdletBinding()] - Param([string]$Test, $Resources) - - foreach ($resource in $Resources) { - if ($resource.ResourceGroupName -eq $Test) { - return $true - } - } - - return $false -} - -<# -.SYNOPSIS -Attempts to find a name that does not collide with any resources in the resource group. - -.DESCRIPTION -Find-ResourceGroupName takes a set of resources from Get-AzResourceGroup, and finds the -first name in {$Prefix, $Prefix-1, $Prefix-2, ...} such that the name doesn't collide with -any of the resources in the resource group. - -.PARAMETER Prefix -The prefix of the final name; the returned name will be of the form "$Prefix(-[1-9][0-9]*)?" -#> -function Find-ResourceGroupName { - [CmdletBinding()] - Param([string] $Prefix) - - $resources = Get-AzResourceGroup - $result = $Prefix - $suffix = 0 - while (Find-ResourceGroupNameCollision -Test $result -Resources $resources) { - $suffix++ - $result = "$Prefix-$suffix" - } - - return $result -} - -<# -.SYNOPSIS -Returns whether there's a name collision for an image in the resource group. - -.DESCRIPTION -Find-ImageNameCollision takes a list of images, and checks if $Test -collides names with any of the image names. - -.PARAMETER Test -The name to test. - -.PARAMETER Images -The list of images. -#> -function Find-ImageNameCollision { - [CmdletBinding()] - Param([string]$Test, $Images) - - foreach ($resource in $Images) { - if ($resource.Name -eq $Test) { - return $true - } - } - - return $false -} - -<# -.SYNOPSIS -Attempts to find a name that does not collide with any images in the resource group. - -.DESCRIPTION -Find-ResourceGroupName takes a set of resources from Get-AzResourceGroup, and finds the -first name in {$Prefix, $Prefix-1, $Prefix-2, ...} such that the name doesn't collide with -any of the resources in the resource group. - -.PARAMETER Prefix -The prefix of the final name; the returned name will be of the form "$Prefix(-[1-9][0-9]*)?" -#> -function Find-ImageName { - [CmdLetBinding()] - Param([string]$ResourceGroupName, [string]$Prefix) - - $images = Get-AzImage -ResourceGroupName $ResourceGroupName - $result = $Prefix - $suffix = 0 - while (Find-ImageNameCollision -Test $result -Images $images) { - $suffix++ - $result = "$Prefix-$suffix" - } - - return $result -} - -<# -.SYNOPSIS -Generates a random password. - -.DESCRIPTION -New-Password generates a password, randomly, of length $Length, containing -only alphanumeric characters, underscore, and dash. - -.PARAMETER Length -The length of the returned password. -#> -function New-Password { - Param ([int] $Length = 32) - - # This 64-character alphabet generates 6 bits of entropy per character. - # The power-of-2 alphabet size allows us to select a character by masking a random Byte with bitwise-AND. - $alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_-" - $mask = 63 - if ($alphabet.Length -ne 64) { - throw 'Bad alphabet length' - } - - [Byte[]]$randomData = [Byte[]]::new($Length) - $rng = $null - try { - $rng = [System.Security.Cryptography.RandomNumberGenerator]::Create() - $rng.GetBytes($randomData) - } - finally { - if ($null -ne $rng) { - $rng.Dispose() - } - } - - $result = '' - for ($idx = 0; $idx -lt $Length; $idx++) { - $result += $alphabet[$randomData[$idx] -band $mask] - } - - return $result -} - -<# -.SYNOPSIS -Waits for the shutdown of the specified resource. - -.DESCRIPTION -Wait-Shutdown takes a VM, and checks if there's a 'PowerState/stopped' -code; if there is, it returns. If there isn't, it waits ten seconds and -tries again. - -.PARAMETER ResourceGroupName -The name of the resource group to look up the VM in. - -.PARAMETER Name -The name of the virtual machine to wait on. -#> -function Wait-Shutdown { - [CmdletBinding()] - Param([string]$ResourceGroupName, [string]$Name) - - Write-Host "Waiting for $Name to stop..." - while ($true) { - $Vm = Get-AzVM -ResourceGroupName $ResourceGroupName -Name $Name -Status - $highestStatus = $Vm.Statuses.Count - for ($idx = 0; $idx -lt $highestStatus; $idx++) { - if ($Vm.Statuses[$idx].Code -eq 'PowerState/stopped') { - return - } - } - - Write-Host "... not stopped yet, sleeping for 10 seconds" - Start-Sleep -Seconds 10 - } -} - -<# -.SYNOPSIS -Sanitizes a name to be used in a storage account. - -.DESCRIPTION -Sanitize-Name takes a string, and removes all of the '-'s and -lowercases the string, since storage account names must have no -'-'s and must be completely lowercase alphanumeric. It then makes -certain that the length of the string is not greater than 24, -since that is invalid. - -.PARAMETER RawName -The name to sanitize. -#> -function Sanitize-Name { - [CmdletBinding()] - Param( - [string]$RawName - ) - - $result = $RawName.Replace('-', '').ToLowerInvariant() - if ($result.Length -gt 24) { - Write-Error 'Sanitized name for storage account $result was too long.' - throw - } - - return $result -} - -<# -.SYNOPSIS -Creates a new Azure virtual network with locked down firewall rules. - -.PARAMETER ResourceGroupName -The name of the resource group in which the virtual network should be created. - -.PARAMETER Location -The location (region) where the network is to be created. -#> -function Create-LockedDownNetwork { - [CmdletBinding()] - Param( - [parameter(Mandatory=$true)] - [string]$ResourceGroupName, - [parameter(Mandatory=$true)] - [string]$Location - ) - - $allFirewallRules = @() - - $allFirewallRules += New-AzNetworkSecurityRuleConfig ` - -Name AllowHTTP ` - -Description 'Allow HTTP(S)' ` - -Access Allow ` - -Protocol Tcp ` - -Direction Outbound ` - -Priority 1008 ` - -SourceAddressPrefix * ` - -SourcePortRange * ` - -DestinationAddressPrefix * ` - -DestinationPortRange @(80, 443) - - $allFirewallRules += New-AzNetworkSecurityRuleConfig ` - -Name AllowSFTP ` - -Description 'Allow (S)FTP' ` - -Access Allow ` - -Protocol Tcp ` - -Direction Outbound ` - -Priority 1009 ` - -SourceAddressPrefix * ` - -SourcePortRange * ` - -DestinationAddressPrefix * ` - -DestinationPortRange @(21, 22) - - $allFirewallRules += New-AzNetworkSecurityRuleConfig ` - -Name AllowDNS ` - -Description 'Allow DNS' ` - -Access Allow ` - -Protocol * ` - -Direction Outbound ` - -Priority 1010 ` - -SourceAddressPrefix * ` - -SourcePortRange * ` - -DestinationAddressPrefix * ` - -DestinationPortRange 53 - - $allFirewallRules += New-AzNetworkSecurityRuleConfig ` - -Name AllowGit ` - -Description 'Allow git' ` - -Access Allow ` - -Protocol Tcp ` - -Direction Outbound ` - -Priority 1011 ` - -SourceAddressPrefix * ` - -SourcePortRange * ` - -DestinationAddressPrefix * ` - -DestinationPortRange 9418 - - $allFirewallRules += New-AzNetworkSecurityRuleConfig ` - -Name DenyElse ` - -Description 'Deny everything else' ` - -Access Deny ` - -Protocol * ` - -Direction Outbound ` - -Priority 1013 ` - -SourceAddressPrefix * ` - -SourcePortRange * ` - -DestinationAddressPrefix * ` - -DestinationPortRange * - - $NetworkSecurityGroupName = $ResourceGroupName + 'NetworkSecurity' - $NetworkSecurityGroup = New-AzNetworkSecurityGroup ` - -Name $NetworkSecurityGroupName ` - -ResourceGroupName $ResourceGroupName ` - -Location $Location ` - -SecurityRules $allFirewallRules - - $SubnetName = $ResourceGroupName + 'Subnet' - $Subnet = New-AzVirtualNetworkSubnetConfig ` - -Name $SubnetName ` - -AddressPrefix "10.0.0.0/16" ` - -NetworkSecurityGroup $NetworkSecurityGroup ` - -ServiceEndpoint "Microsoft.Storage" - - $VirtualNetworkName = $ResourceGroupName + 'Network' - $VirtualNetwork = New-AzVirtualNetwork ` - -Name $VirtualNetworkName ` - -ResourceGroupName $ResourceGroupName ` - -Location $Location ` - -AddressPrefix "10.0.0.0/16" ` - -Subnet $Subnet - - return $VirtualNetwork -} - -function Invoke-AzVMRunCommandWithRetries { - $result = $null - $success = $false - $attempt = 0 - while ($success -eq $false) { - try { - ++$attempt - Write-Host "Command attempt $attempt..." - $result = Invoke-AzVMRunCommand @args - $success = $true - } catch { - Write-Host "Running command failed. $_ Retrying after 10 seconds..." - Start-Sleep -Seconds 10 - if ($attempt -eq 5) { - Write-Error "Running command failed too many times. Giving up!" - throw $_ - } - } - } - - return $result -} - -Export-ModuleMember -Function Find-ResourceGroupName -Export-ModuleMember -Function Find-ImageName -Export-ModuleMember -Function New-Password -Export-ModuleMember -Function Wait-Shutdown -Export-ModuleMember -Function Sanitize-Name -Export-ModuleMember -Function Create-LockedDownNetwork -Export-ModuleMember -Function Invoke-AzVMRunCommandWithRetries diff --git a/scripts/azure-pipelines/generate-skip-list.ps1 b/scripts/azure-pipelines/generate-skip-list.ps1 deleted file mode 100755 index 6c533595faf9c9..00000000000000 --- a/scripts/azure-pipelines/generate-skip-list.ps1 +++ /dev/null @@ -1,85 +0,0 @@ -# Copyright (c) Microsoft Corporation. -# SPDX-License-Identifier: MIT -# - -<# -.SYNOPSIS -Generates a list of ports to skip in the CI. - -.DESCRIPTION -generate-skip-list takes a triplet, and the path to the ci.baseline.txt -file, and generates a skip list string to pass to vcpkg. - -.PARAMETER Triplet -The triplet to find skipped ports for. - -.PARAMETER BaselineFile -The path to the ci.baseline.txt file. -#> -[CmdletBinding()] -Param( - [string]$Triplet, - [string]$BaselineFile, - [switch]$SkipFailures = $false, - [String[]]$AdditionalSkips = @() -) - -$ErrorActionPreference = 'Stop' - -if (-not (Test-Path -Path $BaselineFile)) { - Write-Error "Unable to find baseline file $BaselineFile" - throw -} - -#read in the file, strip out comments and blank lines and spaces -$baselineListRaw = Get-Content -Path $BaselineFile ` - | Where-Object { -not ($_ -match "\s*#") } ` - | Where-Object { -not ( $_ -match "^\s*$") } ` - | ForEach-Object { $_ -replace "\s" } - -############################################################### -# This script is running at the beginning of the CI test, so do a little extra -# checking so things can fail early. - -#verify everything has a valid value -$missingValues = $baselineListRaw | Where-Object { -not ($_ -match "=\w") } - -if ($missingValues) { - Write-Error "The following are missing values: $missingValues" - throw -} - -$invalidValues = $baselineListRaw ` - | Where-Object { -not ($_ -match "=(skip|pass|fail|ignore)$") } - -if ($invalidValues) { - Write-Error "The following have invalid values: $invalidValues" - throw -} - -$baselineForTriplet = $baselineListRaw ` - | Where-Object { $_ -match ":$Triplet=" } - -# Verify there are no duplicates (redefinitions are not allowed) -$file_map = @{ } -foreach ($port in $baselineForTriplet | ForEach-Object { $_ -replace ":.*$" }) { - if ($null -ne $file_map[$port]) { - Write-Error ` - "$($port):$($Triplet) has multiple definitions in $baselineFile" - throw - } - $file_map[$port] = $true -} - -# Format the skip list for the command line -if ($SkipFailures) { - $targetRegex = "=(?:skip|fail)$" -} else { - $targetRegex = "=skip$" -} - -$skip_list = $baselineForTriplet ` - | Where-Object { $_ -match $targetRegex } ` - | ForEach-Object { $_ -replace ":.*$" } -$skip_list += $AdditionalSkips -[string]::Join(",", $skip_list) diff --git a/scripts/azure-pipelines/linux/azure-pipelines.yml b/scripts/azure-pipelines/linux/azure-pipelines.yml index 0025750ee29150..352381aaff4d0a 100644 --- a/scripts/azure-pipelines/linux/azure-pipelines.yml +++ b/scripts/azure-pipelines/linux/azure-pipelines.yml @@ -2,10 +2,24 @@ # SPDX-License-Identifier: MIT # +parameters: + - name: vcpkgToolSha + displayName: 'Custom SHA of vcpkg-tool to use rather than bootstrap' + type: string + default: 'use default' + - name: jobName + type: string + default: 'x64_linux' + - name: tripletPattern + displayName: 'Enable the triplets which contain this substring' + type: string + default: '' + jobs: - job: x64_linux + condition: and(succeeded(), contains('^${{ replace(parameters.jobName, '_', '-') }}$', '${{ parameters.tripletPattern }}')) pool: - name: ${{ parameters.poolName }} + name: PrLin-1ES-Pool workspace: clean: resources timeoutInMinutes: 1440 # 1 day @@ -14,56 +28,59 @@ jobs: value: /mnt/vcpkg-ci - name: VCPKG_DOWNLOADS value: /mnt/vcpkg-ci/downloads - - group: vcpkg-asset-caching-credentials - - name: X_VCPKG_ASSET_SOURCES - value: "x-azurl,$(root-url),$(sas),readwrite" - - group: vcpkg-binary-caching-credentials - - name: X_VCPKG_BINARY_SOURCE_STUB - value: "x-azblob,$(root-bin-url),$(sas-bin)" - steps: - - bash: df -h - displayName: 'Report on Disk Space' + # Note: /mnt is the Azure machines' temporary disk. - bash: | sudo mkdir /home/agent -m=777 sudo chown `id -u` /home/agent - exit 0 - displayName: 'Create /home/agent' - # Note: /mnt is the Azure machines' temporary disk. - - bash: | - sudo rm -rf ${{ variables.VCPKG_DOWNLOADS }} sudo mkdir ${{ variables.WORKING_ROOT }} -m=777 sudo mkdir ${{ variables.VCPKG_DOWNLOADS }} -m=777 exit 0 - displayName: 'Create ${{ variables.WORKING_ROOT }} and ${{ variables.VCPKG_DOWNLOADS }}' - - task: Bash@3 + displayName: 'Create working directories' + - bash: ./bootstrap-vcpkg.sh displayName: 'Bootstrap vcpkg' + condition: eq('use default', '${{ parameters.vcpkgToolSha }}') + - bash: ./scripts/azure-pipelines/bootstrap-from-source.sh ${{ parameters.vcpkgToolSha }} + displayName: "Build vcpkg with CMake" + condition: ne('use default', '${{ parameters.vcpkgToolSha }}') + - task: AzureCLI@2 + displayName: '*** Test Modified Ports' inputs: - filePath: bootstrap-vcpkg.sh - - task: PowerShell@2 - displayName: '*** Test Modified Ports and Prepare Test Logs ***' - inputs: - failOnStderr: true - filePath: 'scripts/azure-pipelines/test-modified-ports.ps1' - arguments: '-Triplet x64-linux -BuildReason $(Build.Reason) -BinarySourceStub "$(X_VCPKG_BINARY_SOURCE_STUB)" -WorkingRoot ${{ variables.WORKING_ROOT }} -ArtifactStagingDirectory $(Build.ArtifactStagingDirectory)' - pwsh: true - - bash: | - df -h - displayName: 'Report on Disk Space After Build' - condition: always() + azureSubscription: 'VcpkgPrFleet' + scriptType: 'pscore' + scriptLocation: 'inlineScript' + inlineScript: | + $current = Get-Date -AsUtc + $endDate = $current.AddDays(2) + $end = Get-Date -Date $endDate -UFormat '+%Y-%m-%dT%H:%MZ' + $assetSas = az storage container generate-sas --name cache --account-name vcpkgassetcachewus3 --as-user --auth-mode login --https-only --permissions rcl --expiry $end -o tsv | Out-String + $assetSas = $assetSas.Trim() + $binarySas = az storage container generate-sas --name cache --account-name vcpkgbinarycachewus3 --as-user --auth-mode login --https-only --permissions rclw --expiry $end -o tsv | Out-String + $binarySas = $binarySas.Trim() + $env:X_VCPKG_ASSET_SOURCES = "x-azurl,https://vcpkgassetcachewus3.blob.core.windows.net/cache,$assetSas,readwrite" + & scripts/azure-pipelines/test-modified-ports.ps1 -Triplet ${{ replace(parameters.jobName, '_', '-') }} -BuildReason $(Build.Reason) -BinarySourceStub "x-azblob,https://vcpkgbinarycachewus3.blob.core.windows.net/cache,$binarySas" -WorkingRoot $env:WORKING_ROOT -ArtifactStagingDirectory $(Build.ArtifactStagingDirectory) - task: PublishBuildArtifacts@1 - displayName: 'Publish Artifact: failure logs for x64-linux' + displayName: "Publish Artifact: failure logs for ${{ replace(parameters.jobName, '_', '-') }}" inputs: PathtoPublish: '$(Build.ArtifactStagingDirectory)/failure-logs' - ArtifactName: 'failure logs for x64-linux' + ArtifactName: "failure logs for ${{ replace(parameters.jobName, '_', '-') }}" condition: ne(variables['FAILURE_LOGS_EMPTY'], 'True') - bash: | python3 scripts/file_script.py /mnt/vcpkg-ci/installed/vcpkg/info/ displayName: 'Build a file list for all packages' condition: always() - task: PublishBuildArtifacts@1 - displayName: 'Publish Artifact: file lists for x64-linux' + displayName: "Publish Artifact: file lists for ${{ replace(parameters.jobName, '_', '-') }}" condition: always() inputs: PathtoPublish: scripts/list_files - ArtifactName: 'file lists for x64-linux' + ArtifactName: "file lists for ${{ replace(parameters.jobName, '_', '-') }}" + - task: PublishTestResults@2 + displayName: 'Publish Test Results' + condition: ne(variables['XML_RESULTS_FILE'], '') + inputs: + testRunTitle: ${{ replace(parameters.jobName, '_', '-') }} + testResultsFormat: xUnit + testResultsFiles: $(XML_RESULTS_FILE) + platform: ${{ replace(parameters.jobName, '_', '-') }} + configuration: static diff --git a/scripts/azure-pipelines/linux/changing-linux-packages.md b/scripts/azure-pipelines/linux/changing-linux-packages.md new file mode 100644 index 00000000000000..f8b5f8265b016f --- /dev/null +++ b/scripts/azure-pipelines/linux/changing-linux-packages.md @@ -0,0 +1,3 @@ +- [ ] Update `provision-image.sh` to add the new apt package. +- [ ] Update `managed-image.json` to add the new apt package to the very long line of packages. +- [ ] Update the managed image named CPP_GITHUB\PrLin-1ES\PrLin-1ESImage by copying the contents of `managed-image.json` to the Settings\Image text box. diff --git a/scripts/azure-pipelines/linux/create-image.ps1 b/scripts/azure-pipelines/linux/create-image.ps1 deleted file mode 100644 index 5eacd2b8c01970..00000000000000 --- a/scripts/azure-pipelines/linux/create-image.ps1 +++ /dev/null @@ -1,161 +0,0 @@ -# Copyright (c) Microsoft Corporation. -# SPDX-License-Identifier: MIT -# - -<# -.SYNOPSIS -Creates a Linux virtual machine image, set up for vcpkg's CI. - -.DESCRIPTION -create-image.ps1 creates an Azure Linux VM image, set up for vcpkg's CI system. -This script assumes you have installed Azure tools into PowerShell by following the instructions -at https://docs.microsoft.com/en-us/powershell/azure/install-az-ps?view=azps-3.6.1 -or are running from Azure Cloud Shell. - -This script assumes you have installed the OpenSSH Client optional Windows component. -#> - -$Location = 'westus2' -$Prefix = 'Lin-' -$Prefix += (Get-Date -Format 'yyyy-MM-dd') -$VMSize = 'Standard_D32as_v4' -$ProtoVMName = 'PROTOTYPE' -$ErrorActionPreference = 'Stop' - -$ProgressActivity = 'Creating Linux Image' -$TotalProgress = 9 -$CurrentProgress = 1 - -Import-Module "$PSScriptRoot/../create-vmss-helpers.psm1" -DisableNameChecking - -#################################################################################################### -Write-Progress ` - -Activity $ProgressActivity ` - -Status 'Creating SSH key' ` - -PercentComplete (100 / $TotalProgress * $CurrentProgress++) - -$sshDir = [System.IO.Path]::GetTempPath() + [System.IO.Path]::GetRandomFileName() -mkdir $sshDir -try { - ssh-keygen.exe -q -b 2048 -t rsa -f "$sshDir/key" -P [string]::Empty - $sshPublicKey = Get-Content "$sshDir/key.pub" -} finally { - Remove-Item $sshDir -Recurse -Force -} - -#################################################################################################### -Write-Progress ` - -Activity $ProgressActivity ` - -Status 'Creating resource group' ` - -PercentComplete (100 / $TotalProgress * $CurrentProgress++) - -$ResourceGroupName = Find-ResourceGroupName $Prefix -$AdminPW = New-Password -New-AzResourceGroup -Name $ResourceGroupName -Location $Location -$AdminPWSecure = ConvertTo-SecureString $AdminPW -AsPlainText -Force -$Credential = New-Object System.Management.Automation.PSCredential ("AdminUser", $AdminPWSecure) - -#################################################################################################### -Write-Progress ` - -Activity $ProgressActivity ` - -Status 'Creating virtual network' ` - -PercentComplete (100 / $TotalProgress * $CurrentProgress++) - -$VirtualNetwork = Create-LockedDownNetwork -ResourceGroupName $ResourceGroupName -Location $Location - -#################################################################################################### -Write-Progress ` - -Activity $ProgressActivity ` - -Status 'Creating prototype VM' ` - -PercentComplete (100 / $TotalProgress * $CurrentProgress++) - -$NicName = $ResourceGroupName + 'NIC' -$Nic = New-AzNetworkInterface ` - -Name $NicName ` - -ResourceGroupName $ResourceGroupName ` - -Location $Location ` - -Subnet $VirtualNetwork.Subnets[0] - -$VM = New-AzVMConfig -Name $ProtoVMName -VMSize $VMSize -Priority 'Spot' -MaxPrice -1 -$VM = Set-AzVMOperatingSystem ` - -VM $VM ` - -Linux ` - -ComputerName $ProtoVMName ` - -Credential $Credential ` - -DisablePasswordAuthentication - -$VM = Add-AzVMNetworkInterface -VM $VM -Id $Nic.Id -$VM = Set-AzVMSourceImage ` - -VM $VM ` - -PublisherName 'Canonical' ` - -Offer '0001-com-ubuntu-server-focal' ` - -Skus '20_04-lts-gen2' ` - -Version latest - -$VM = Set-AzVMBootDiagnostic -VM $VM -Disable - -$VM = Add-AzVMSshPublicKey ` - -VM $VM ` - -KeyData $sshPublicKey ` - -Path "/home/AdminUser/.ssh/authorized_keys" - -New-AzVm ` - -ResourceGroupName $ResourceGroupName ` - -Location $Location ` - -VM $VM - -#################################################################################################### -Write-Progress ` - -Activity $ProgressActivity ` - -Status 'Running provisioning script provision-image.sh in VM' ` - -PercentComplete (100 / $TotalProgress * $CurrentProgress++) - -$ProvisionImageResult = Invoke-AzVMRunCommandWithRetries ` - -ResourceGroupName $ResourceGroupName ` - -VMName $ProtoVMName ` - -CommandId 'RunShellScript' ` - -ScriptPath "$PSScriptRoot\provision-image.sh" - -Write-Host "provision-image.sh output: $($ProvisionImageResult.value.Message)" - -#################################################################################################### -Write-Progress ` - -Activity $ProgressActivity ` - -Status 'Restarting VM' ` - -PercentComplete (100 / $TotalProgress * $CurrentProgress++) - -Restart-AzVM -ResourceGroupName $ResourceGroupName -Name $ProtoVMName - -#################################################################################################### -Write-Progress ` - -Activity $ProgressActivity ` - -Status 'Converting VM to Image' ` - -PercentComplete (100 / $TotalProgress * $CurrentProgress++) - -Stop-AzVM ` - -ResourceGroupName $ResourceGroupName ` - -Name $ProtoVMName ` - -Force - -Set-AzVM ` - -ResourceGroupName $ResourceGroupName ` - -Name $ProtoVMName ` - -Generalized - -$VM = Get-AzVM -ResourceGroupName $ResourceGroupName -Name $ProtoVMName -$ImageConfig = New-AzImageConfig -Location $Location -SourceVirtualMachineId $VM.ID -HyperVGeneration 'V2' -$ImageName = Find-ImageName -ResourceGroupName 'vcpkg-image-minting' -Prefix $Prefix -New-AzImage -Image $ImageConfig -ImageName $ImageName -ResourceGroupName 'vcpkg-image-minting' - -#################################################################################################### -Write-Progress ` - -Activity $ProgressActivity ` - -Status 'Deleting unused temporary resources' ` - -PercentComplete (100 / $TotalProgress * $CurrentProgress++) - -Remove-AzResourceGroup $ResourceGroupName -Force - -#################################################################################################### -Write-Progress -Activity $ProgressActivity -Completed -Write-Host "Generated Image: $ImageName" -Write-Host 'Finished!' diff --git a/scripts/azure-pipelines/linux/create-vmss.ps1 b/scripts/azure-pipelines/linux/create-vmss.ps1 deleted file mode 100755 index 08210cc0d18765..00000000000000 --- a/scripts/azure-pipelines/linux/create-vmss.ps1 +++ /dev/null @@ -1,108 +0,0 @@ -# Copyright (c) Microsoft Corporation. -# SPDX-License-Identifier: MIT -# - -<# -.SYNOPSIS -Creates a Linux virtual machine scale set, set up for vcpkg's CI. - -.DESCRIPTION -create-vmss.ps1 creates an Azure Linux VM scale set, set up for vcpkg's CI -system. See https://docs.microsoft.com/en-us/azure/virtual-machine-scale-sets/overview -for more information. - -This script assumes you have installed Azure tools into PowerShell by following the instructions -at https://docs.microsoft.com/en-us/powershell/azure/install-az-ps?view=azps-3.6.1 -or are running from Azure Cloud Shell. - -This script assumes you have installed the OpenSSH Client optional Windows component. - - -.PARAMETER ImageName -The name of the image to deploy into the scale set. -#> - -[CmdLetBinding()] -Param( - [parameter(Mandatory=$true)] - [string]$ImageName -) - -$Location = 'westus2' -$Prefix = 'PrLin-' -$Prefix += (Get-Date -Format 'yyyy-MM-dd') -$VMSize = 'Standard_D32a_v4' -$LiveVMPrefix = 'BUILD' -$ErrorActionPreference = 'Stop' - -Import-Module "$PSScriptRoot/../create-vmss-helpers.psm1" -DisableNameChecking - -$sshDir = [System.IO.Path]::GetTempPath() + [System.IO.Path]::GetRandomFileName() -mkdir $sshDir -try { - ssh-keygen.exe -q -b 2048 -t rsa -f "$sshDir/key" -P [string]::Empty - $sshPublicKey = Get-Content "$sshDir/key.pub" -} finally { - Remove-Item $sshDir -Recurse -Force -} -$ResourceGroupName = Find-ResourceGroupName $Prefix -$AdminPW = New-Password -$Image = Get-AzImage -ResourceGroupName 'vcpkg-image-minting' -ImageName $ImageName - -New-AzResourceGroup -Name $ResourceGroupName -Location $Location - -$VirtualNetwork = Create-LockedDownNetwork -ResourceGroupName $ResourceGroupName -Location $Location -$VmssIpConfigName = $ResourceGroupName + 'VmssIpConfig' -$VmssIpConfig = New-AzVmssIpConfig -SubnetId $VirtualNetwork.Subnets[0].Id -Primary -Name $VmssIpConfigName -$VmssName = $ResourceGroupName + 'Vmss' -$Vmss = New-AzVmssConfig ` - -Location $Location ` - -SkuCapacity 0 ` - -SkuName $VMSize ` - -SkuTier 'Standard' ` - -Overprovision $false ` - -UpgradePolicyMode Manual ` - -EvictionPolicy Delete ` - -Priority Spot ` - -MaxPrice -1 - -$NicName = $ResourceGroupName + 'NIC' -New-AzNetworkInterface ` - -Name $NicName ` - -ResourceGroupName $ResourceGroupName ` - -Location $Location ` - -Subnet $VirtualNetwork.Subnets[0] - -$Vmss = Add-AzVmssNetworkInterfaceConfiguration ` - -VirtualMachineScaleSet $Vmss ` - -Primary $true ` - -IpConfiguration $VmssIpConfig ` - -NetworkSecurityGroupId $VirtualNetwork.Subnets[0].NetworkSecurityGroup.Id ` - -Name $NicName - -$VmssPublicKey = New-Object -TypeName 'Microsoft.Azure.Management.Compute.Models.SshPublicKey' ` - -ArgumentList @('/home/AdminUser/.ssh/authorized_keys', $sshPublicKey) - -$Vmss = Set-AzVmssOsProfile ` - -VirtualMachineScaleSet $Vmss ` - -ComputerNamePrefix $LiveVMPrefix ` - -AdminUsername AdminUser ` - -AdminPassword $AdminPW ` - -LinuxConfigurationDisablePasswordAuthentication $true ` - -PublicKey @($VmssPublicKey) - -$Vmss = Set-AzVmssStorageProfile ` - -VirtualMachineScaleSet $Vmss ` - -OsDiskCreateOption 'FromImage' ` - -OsDiskCaching ReadOnly ` - -DiffDiskSetting Local ` - -ImageReferenceId $Image.Id - -New-AzVmss ` - -ResourceGroupName $ResourceGroupName ` - -Name $VmssName ` - -VirtualMachineScaleSet $Vmss - -Write-Host "Location: $Location" -Write-Host "Resource group name: $ResourceGroupName" -Write-Host 'Finished!' diff --git a/scripts/azure-pipelines/linux/managed-image.json b/scripts/azure-pipelines/linux/managed-image.json new file mode 100644 index 00000000000000..7b65bcc09df430 --- /dev/null +++ b/scripts/azure-pipelines/linux/managed-image.json @@ -0,0 +1,19 @@ +{ + "artifacts": [ + { + "name": "linux-install-packages", + "parameters": { + "packages": "git curl zip unzip tar at libxt-dev gperf libxaw7-dev cifs-utils build-essential g++ gfortran libx11-dev libxkbcommon-x11-dev libxi-dev libgl1-mesa-dev libglu1-mesa-dev mesa-common-dev libxinerama-dev libxxf86vm-dev libxcursor-dev yasm libnuma1 libnuma-dev libtool-bin libltdl-dev flex bison libbison-dev autoconf libudev-dev libncurses5-dev libtool libxrandr-dev xutils-dev dh-autoreconf autoconf-archive libgles2-mesa-dev ruby-full pkg-config meson nasm cmake ninja-build libxext-dev libxfixes-dev libxrender-dev libxcb1-dev libx11-xcb-dev libxcb-dri3-dev libxcb-present-dev libxcb-glx0-dev libxcb-util0-dev libxkbcommon-dev libxcb-keysyms1-dev libxcb-image0-dev libxcb-shm0-dev libxcb-icccm4-dev libxcb-sync-dev libxcb-xfixes0-dev libxcb-shape0-dev libxcb-randr0-dev libxcb-render-util0-dev libxcb-xinerama0-dev libxcb-xkb-dev libxcb-xinput-dev libxcb-cursor-dev libkrb5-dev libxcb-res0-dev libxcb-keysyms1-dev libxcb-xkb-dev libxcb-record0-dev python3-setuptools python3-mako python3-pip python3-venv python3-jinja2 nodejs libwayland-dev python-is-python3 guile-2.2-dev libxdamage-dev libxtst-dev haskell-stack golang-go wayland-protocols libbluetooth-dev" + } + }, + { + "name": "linux-ubuntu2204-nvidia-cuda-cudnn" + }, + { + "name": "linux-install-powershell" + }, + { + "name": "linux-azcli" + } + ] +} diff --git a/scripts/azure-pipelines/linux/provision-image.sh b/scripts/azure-pipelines/linux/provision-image.sh index 4b1910e885a046..7aa3d634554d7a 100755 --- a/scripts/azure-pipelines/linux/provision-image.sh +++ b/scripts/azure-pipelines/linux/provision-image.sh @@ -3,90 +3,126 @@ # SPDX-License-Identifier: MIT # -sudo apt -y update -sudo apt -y dist-upgrade -# Install common build dependencies -APT_PACKAGES="at curl unzip tar libxt-dev gperf libxaw7-dev cifs-utils \ - build-essential g++ gfortran zip libx11-dev libxkbcommon-x11-dev libxi-dev \ +export DEBIAN_FRONTEND=noninteractive + +# Add apt repos + +## CUDA +wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin +mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600 +apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/3bf863cc.pub +add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/ /" + +## PowerShell +wget -q https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb +dpkg -i packages-microsoft-prod.deb +rm -f packages-microsoft-prod.deb +add-apt-repository universe + +## Azure CLI +apt-get -qq update +apt-get -qq install ca-certificates curl apt-transport-https lsb-release gnupg + +mkdir -p /etc/apt/keyrings +curl -sLS https://packages.microsoft.com/keys/microsoft.asc | + gpg --dearmor | + tee /etc/apt/keyrings/microsoft.gpg > /dev/null +chmod go+r /etc/apt/keyrings/microsoft.gpg + +AZ_DIST=$(lsb_release -cs) +echo "deb [arch=`dpkg --print-architecture` signed-by=/etc/apt/keyrings/microsoft.gpg] https://packages.microsoft.com/repos/azure-cli/ $AZ_DIST main" | + tee /etc/apt/sources.list.d/azure-cli.list + +apt-get -y update +apt-get -y dist-upgrade + +# Add apt packages + +## vcpkg prerequisites +APT_PACKAGES="git curl zip unzip tar" + +## common build dependencies +APT_PACKAGES="$APT_PACKAGES at libxt-dev gperf libxaw7-dev cifs-utils \ + build-essential g++ gfortran libx11-dev libxkbcommon-x11-dev libxi-dev \ libgl1-mesa-dev libglu1-mesa-dev mesa-common-dev libxinerama-dev libxxf86vm-dev \ - libxcursor-dev yasm libnuma1 libnuma-dev python-six python3-six python-yaml \ - flex libbison-dev autoconf libudev-dev libncurses5-dev libtool libxrandr-dev \ + libxcursor-dev yasm libnuma1 libnuma-dev libtool-bin libltdl-dev \ + flex bison libbison-dev autoconf libudev-dev libncurses5-dev libtool libxrandr-dev \ xutils-dev dh-autoreconf autoconf-archive libgles2-mesa-dev ruby-full \ - pkg-config meson" + pkg-config meson nasm cmake ninja-build" -# Additionally required by qt5-base +## required by qt5-base APT_PACKAGES="$APT_PACKAGES libxext-dev libxfixes-dev libxrender-dev \ libxcb1-dev libx11-xcb-dev libxcb-glx0-dev libxcb-util0-dev" -# Additionally required by qt5-base for qt5-x11extras +## required by qt5-base for qt5-x11extras APT_PACKAGES="$APT_PACKAGES libxkbcommon-dev libxcb-keysyms1-dev \ - libxcb-image0-dev libxcb-shm0-dev libxcb-icccm4-dev libxcb-sync0-dev \ + libxcb-image0-dev libxcb-shm0-dev libxcb-icccm4-dev libxcb-sync-dev \ libxcb-xfixes0-dev libxcb-shape0-dev libxcb-randr0-dev \ libxcb-render-util0-dev libxcb-xinerama0-dev libxcb-xkb-dev libxcb-xinput-dev" -# Additionally required by libhdfs3 +## required by xcb feature in qtbase +APT_PACKAGES="$APT_PACKAGES libxcb-cursor-dev" + +## required by libhdfs3 APT_PACKAGES="$APT_PACKAGES libkrb5-dev" -# Additionally required by kf5windowsystem +## required by kf5windowsystem APT_PACKAGES="$APT_PACKAGES libxcb-res0-dev" -# Additionally required by mesa -APT_PACKAGES="$APT_PACKAGES python3-setuptools python3-mako" +## required by kf5globalaccel +APT_PACKAGES="$APT_PACKAGES libxcb-keysyms1-dev libxcb-xkb-dev libxcb-record0-dev" -# Additionally required by some packages to install additional python packages -APT_PACKAGES="$APT_PACKAGES python3-pip" +## required by mesa +APT_PACKAGES="$APT_PACKAGES python3-setuptools python3-mako libxcb-dri3-dev libxcb-present-dev" -# Additionally required by rtaudio -APT_PACKAGES="$APT_PACKAGES libasound2-dev" +## required by some packages to install additional python packages +APT_PACKAGES="$APT_PACKAGES python3-pip python3-venv python3-jinja2" -# Additionally required by qtwebengine +## required by qtwebengine APT_PACKAGES="$APT_PACKAGES nodejs" -# Additionally required by qtwayland +## required by qtwayland APT_PACKAGES="$APT_PACKAGES libwayland-dev" -# Additionally required by all GN projects -APT_PACKAGES="$APT_PACKAGES python2 python-is-python3" +## required by all GN projects +APT_PACKAGES="$APT_PACKAGES python-is-python3" -# Additionally required by libctl +## required by libctl APT_PACKAGES="$APT_PACKAGES guile-2.2-dev" -# Additionally required by gtk +## required by gtk APT_PACKAGES="$APT_PACKAGES libxdamage-dev" -# Additionally required by kf5kio -APT_PACKAGES="$APT_PACKAGES libmount-dev" - -# Additionally required/installed by Azure DevOps Scale Set Agents -APT_PACKAGES="$APT_PACKAGES liblttng-ust0 libkrb5-3 zlib1g libicu66" - -sudo apt -y install $APT_PACKAGES - -# Install newer version of nasm than the apt package, required by intel-ipsec -mkdir /tmp/nasm -cd /tmp/nasm -curl -O https://www.nasm.us/pub/nasm/releasebuilds/2.15.05/nasm-2.15.05.tar.gz -tar -xf nasm-2.15.05.tar.gz -cd nasm-2.15.05/ -./configure --prefix=/usr && make -j -sudo make install -cd ~ - -# Install the latest Haskell stack -curl -sSL https://get.haskellstack.org/ | sudo sh - -# Install CUDA -wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin -sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600 -sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/7fa2af80.pub -sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ /" -sudo apt -y update -sudo apt install -y --no-install-recommends cuda-compiler-11-3 cuda-libraries-dev-11-3 cuda-driver-dev-11-3 \ - cuda-cudart-dev-11-3 libcublas-11-3 libcurand-dev-11-3 libcudnn8-dev libnccl2 libnccl-dev - -# Install PowerShell -wget -q https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -sudo dpkg -i packages-microsoft-prod.deb -sudo apt update -sudo add-apt-repository universe -sudo apt install -y powershell +## required by at-spi2-atk +APT_PACKAGES="$APT_PACKAGES libxtst-dev" + +## required by bond +APT_PACKAGES="$APT_PACKAGES haskell-stack" + +## required by boringssl +APT_PACKAGES="$APT_PACKAGES golang-go" + +## required by libdecor and mesa +APT_PACKAGES="$APT_PACKAGES wayland-protocols" + +## required by robotraconteur +APT_PACKAGES="$APT_PACKAGES libbluetooth-dev" + +## CUDA +APT_PACKAGES="$APT_PACKAGES cuda-compiler-12-1 cuda-libraries-dev-12-1 cuda-driver-dev-12-1 \ + cuda-cudart-dev-12-1 libcublas-12-1 libcurand-dev-12-1 cuda-nvml-dev-12-1 libcudnn8-dev libnccl2 \ + libnccl-dev" + +## PowerShell + Azure +APT_PACKAGES="$APT_PACKAGES powershell azure-cli" + +## Additionally required/installed by Azure DevOps Scale Set Agents, skip on WSL +if [[ $(grep microsoft /proc/version) ]]; then +echo "Skipping install of ADO prerequisites on WSL." +else +APT_PACKAGES="$APT_PACKAGES libkrb5-3 zlib1g libicu70 debsums liblttng-ust1" +fi + +apt-get -y --no-install-recommends install $APT_PACKAGES + +az --version diff --git a/scripts/azure-pipelines/osx/Get-InternalBaseBox.ps1 b/scripts/azure-pipelines/osx/Get-InternalBaseBox.ps1 deleted file mode 100755 index 5264d2ecb566c3..00000000000000 --- a/scripts/azure-pipelines/osx/Get-InternalBaseBox.ps1 +++ /dev/null @@ -1,68 +0,0 @@ -#!pwsh -#Requires -Version 6.0 - -<# -.SYNOPSIS -Installs the base box at the specified version from the share. - -.PARAMETER FileshareMachine -The machine which is acting as a fileshare - -.PARAMETER BoxVersion -The version of the box to add. Defaults to latest if nothing is passed. -#> -[CmdletBinding()] -Param( - [Parameter(Mandatory=$True)] - [String]$FileshareMachine, - - [Parameter()] - [String]$BoxVersion -) - -Set-StrictMode -Version 2 - -if (-not $IsMacOS) { - throw 'This script should only be run on a macOS host' -} - -$mountPoint = '/Users/vcpkg/vagrant/share' - -if (mount | grep "on $mountPoint (") { - umount $mountPoint - if (-not $?) { - Write-Error "umount $mountPoint failed with return code $LASTEXITCODE." - throw - } -} - -sshfs "fileshare@${FileshareMachine}:/Users/fileshare/share" $mountPoint -if ($LASTEXITCODE -eq 1) { - Write-Error 'sshfs returned 1. -This means that the osxfuse kernel extension was not allowed to load. -You may need to force un/reinstall osxfuse and/or sshfs with - brew uninstall osxfuse - brew uninstall sshfs - brew install osxfuse - brew install sshfs -Then, rerun this script. - -If you''ve already done that, Please open -System Preferences > Security & Privacy > General, -and allow the kernel extension to load. -Then, rerun this script. - -If you''ve already done this, you probably need to add your ssh keys to the fileshare machine.' - throw -} elseif (-not $?) { - Write-Error "sshfs failed with return code $LASTEXITCODE." - throw -} - -if (-not [String]::IsNullOrEmpty($BoxVersion)) { - $versionArgs = @("--box-version", $BoxVersion) -} else { - $versionArgs = @() -} - -vagrant box add "$mountPoint/vcpkg-boxes/macos-ci.json" @versionArgs diff --git a/scripts/azure-pipelines/osx/Install-Prerequisites.ps1 b/scripts/azure-pipelines/osx/Install-Prerequisites.ps1 deleted file mode 100755 index 1202025834d4a3..00000000000000 --- a/scripts/azure-pipelines/osx/Install-Prerequisites.ps1 +++ /dev/null @@ -1,132 +0,0 @@ -#!pwsh -#Requires -Version 6.0 - -<# -.SYNOPSIS -Installs the set of prerequisites for the macOS CI hosts. - -.DESCRIPTION -Install-Prerequisites.ps1 installs all of the necessary prerequisites -to run the vcpkg macOS CI in a vagrant virtual machine, -skipping all prerequisites that are already installed and of the right version. - -.INPUTS -None - -.OUTPUTS -None -#> -[CmdletBinding()] -Param() - -Set-StrictMode -Version 2 - -if (-not $IsMacOS) { - Write-Error 'This script should only be run on a macOS host' - throw -} - -Import-Module "$PSScriptRoot/Utilities.psm1" - -$Installables = Get-Content "$PSScriptRoot/configuration/installables.json" | ConvertFrom-Json - -$Installables.Applications | ForEach-Object { - $VersionCommand = $_.VersionCommand - $InstalledVersion = (& $VersionCommand[0] $VersionCommand[1..$VersionCommand.Length]) - if (-not $?) { - Write-Host "$($_.Name) not installed; installing now" - } else { - $InstalledVersion = $InstalledVersion -join "`n" - if ($InstalledVersion -match $_.VersionRegex) { - if ($Matches.Count -ne 2) { - Write-Error "$($_.Name) has a malformed version regex ($($_.VersionRegex)); it should have a single capture group - (it has $($Matches.Count - 1))" - throw - } - if ($Matches[1] -eq $_.Version) { - Write-Host "$($_.Name) already installed and at the correct version ($($Matches[1]))" - return - } else { - Write-Host "$($_.Name) already installed but with the incorrect version - installed version: '$($Matches[1])' - required version : '$($_.Version)' -upgrading now." - } - } else { - Write-Warning "$($_.Name)'s version command ($($VersionCommand -join ' ')) returned a value we did not expect: - $InstalledVersion - expected a version matching the regex: $($_.VersionRegex) -Installing anyways." - } - } - - if ($null -ne (Get-Member -InputObject $_ -Name 'DmgUrl')) { - $pathToDmg = "~/Downloads/$($_.Name).dmg" - Get-RemoteFile -OutFile $pathToDmg -Uri $_.DmgUrl -Sha256 $_.Sha256 - - hdiutil attach $pathToDmg -mountpoint /Volumes/setup-installer - sudo installer -pkg "/Volumes/setup-installer/$($_.InstallerPath)" -target / - hdiutil detach /Volumes/setup-installer - } elseif ($null -ne (Get-Member -InputObject $_ -Name 'PkgUrl')) { - $pathToPkg = "~/Downloads/$($_.Name).pkg" - Get-RemoteFile -OutFile $pathToPkg -Uri $_.PkgUrl -Sha256 $_.Sha256 - - sudo installer -pkg $pathToPkg -target / - } else { - Write-Error "$($_.Name) does not have an installer in the configuration file." - throw - } -} - -$Installables.Brew | ForEach-Object { - $installable = $_ - if ($null -eq (Get-Member -InputObject $installable -Name 'Kind')) { - brew install $installable.Name - } else { - switch ($installable.Kind) { - 'cask' { brew install --cask $installable.Name } - default { - Write-Error "Invalid kind: $_. Expected either empty, or 'cask'." - } - } - } -} -brew upgrade - -$installedVagrantPlugins = @{} -vagrant plugin list --machine-readable | ForEach-Object { - $timestamp, $target, $type, $data = $_ -split ',' - switch ($type) { - # these are not important - 'ui' { } - 'plugin-version-constraint' { } - 'plugin-name' { - $installedVagrantPlugins[$data] = $Null - } - 'plugin-version' { - $version = $data -replace '%!\(VAGRANT_COMMA\)',',' - if ($version -notmatch '^(.*), global') { - Write-Error "Invalid version string for plugin ${target}: $version" - throw - } - $installedVagrantPlugins[$target] = $Matches[1] - } - default { - Write-Warning "Unknown plugin list member type $type for plugin $target" - } - } -} -$Installables.VagrantPlugins | ForEach-Object { - if (-not $installedVagrantPlugins.Contains($_.Name)) { - Write-Host "$($_.Name) not installed; installing now" - } elseif ($installedVagrantPlugins[$_.Name] -ne $_.Version) { - Write-Host "$($_.Name) already installed but with the incorrect version - installed version: '$($installedVagrantPlugins[$_.Name])' - required version: '$($_.Version)'" - } else { - Write-Host "$($_.Name) already installed and at the correct version ($($_.Version))" - return - } - - vagrant plugin install $_.Name --plugin-version $_.Version -} diff --git a/scripts/azure-pipelines/osx/README.md b/scripts/azure-pipelines/osx/README.md index 9d6fb40b74a4a9..e51e15cf22cae6 100644 --- a/scripts/azure-pipelines/osx/README.md +++ b/scripts/azure-pipelines/osx/README.md @@ -1,229 +1,253 @@ # `vcpkg-eg-mac` VMs -## Table of Contents - -- [`vcpkg-eg-mac` VMs](#vcpkg-eg-mac-vms) - - [Table of Contents](#table-of-contents) - - [Basic Usage](#basic-usage) - - [Setting up a new macOS machine](#setting-up-a-new-macos-machine) - - [Troubleshooting](#troubleshooting) - - [Creating a new Vagrant box](#creating-a-new-vagrant-box) - - [VM Software Versions](#vm-software-versions) - - [(Internal) Accessing the macOS fileshare](#internal-accessing-the-macos-fileshare) - -## Basic Usage - -The simplest usage, and one which should be used for when spinning up -new VMs, and when restarting old ones, is a simple: - -``` -$ cd ~/vagrant/vcpkg-eg-mac -$ vagrant up -``` - -Any modifications to the machines should be made in `configuration/Vagrantfile` -and `Setup-VagrantMachines.ps1`, and make sure to push any changes! - -## Setting up a new macOS machine - -Before anything else, one must download `brew` and `powershell`. - -```sh -$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" -$ brew cask install powershell -``` - -Then, we need to download the `vcpkg` repository: - -```sh -$ git clone https://github.com/microsoft/vcpkg -``` - -Then, we need to mint an SSH key: - -```sh -$ ssh-keygen -$ cat .ssh/id_rsa.pub -``` - -Add that SSH key to `authorized_keys` on the file share machine with the base box. - -Next, install prerequisites and grab the current base box with: -```sh -$ cd vcpkg/scripts/azure-pipelines/osx -$ ./Install-Prerequisites.ps1 -Force -$ ./Get-InternalBaseBox.ps1 -FileshareMachine vcpkgmm-01.guest.corp.microsoft.com -BoxVersion 2020-09-28 -``` - -... where -BoxVersion is the version you want to use. - -Getting the base box will fail due to missing kernel modules for osxfuse, sshfs, and/or VirtualBox. -Log in to the machine, open System Preferences > Security & Privacy > General, and allow the kernel -extensions for VirtualBox and sshfs to load. Then, again: - -```sh -$ ./Get-InternalBaseBox.ps1 -FileshareMachine vcpkgmm-01.guest.corp.microsoft.com -BoxVersion 2020-09-28 -``` - -Replace `XX` with the number of -the virtual machine. Generally, that should be the same as the number -for the physical machine; i.e., vcpkgmm-04 would use 04. - -```sh - # NOTE: you may get an error about CoreCLR; see the following paragraph if you do -$ ./Setup-VagrantMachines.ps1 \ - -MachineId XX \ - -DevopsPat '' \ - -Date -$ cd ~/vagrant/vcpkg-eg-mac -$ vagrant up -``` - -If you see the following error: - -``` -Failed to initialize CoreCLR, HRESULT: 0x8007001F -``` - -You have to reboot the machine; run - -```sh -$ sudo shutdown -r now -``` - -and wait for the machine to start back up. Then, start again from where the error was emitted. - -### Troubleshooting - -The following are issues that we've run into: - -- (with a Parallels box) `vagrant up` doesn't work, and vagrant gives the error that the VM is `'stopped'`. - - Try logging into the GUI with the KVM, and retrying `vagrant up`. - -## Creating a new Vagrant box - -Whenever we want to install updated versions of the command line tools, -or of macOS, we need to create a new vagrant box. -This is pretty easy, but the results of the creation are not public, -since we're concerned about licensing. -However, if you're sure you're following Apple's licensing, -you can set up your own vagrant boxes that are the same as ours by doing the following: - -You'll need some prerequisites: - -- vagrant - found at - - The vagrant-parallels plugin - `vagrant plugin install vagrant-parallels` -- Parallels - found at -- An Xcode installer - you can get this from Apple's developer website, - although you'll need to sign in first: - -First, you'll need to create a base VM; -this is where you determine what version of macOS is installed. -Just follow the Parallels process for creating a macOS VM. - -Once you've done this, you can run through the installation of macOS onto a new VM. -You should set the username to `vagrant`. - -Once it's finished installing, make sure to turn on the SSH server. -Open System Preferences, then go to Sharing > Remote Login, -and turn it on. -You'll then want to add the vagrant SSH keys to the VM's vagrant user. -Open the terminal application and run the following: - -```sh -$ # basic stuff -$ date | sudo tee '/etc/vagrant_box_build_time' -$ printf 'vagrant\tALL=(ALL)\tNOPASSWD:\tALL\n' | sudo tee -a '/etc/sudoers.d/vagrant' -$ sudo chmod 0440 '/etc/sudoers.d/vagrant' -$ # then install vagrant keys -$ mkdir -p ~/.ssh -$ curl -fsSL 'https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub' >~/.ssh/authorized_keys -$ chmod 0600 ~/.ssh/authorized_keys -``` - -Finally, you'll need to install the Parallel Tools. -From your host, in the top bar, -go to Actions > Install Parallels Tools..., -and then follow the instructions. - -Now, let's package the VM into a base box. -(The following instructions are adapted from -[these official instructions][base-box-instructions]). - -Run the following commands: - -```sh -$ cd ~/Parallels -$ echo '{ "provider": "parallels" }' >metadata.json -$ tar zcvf .box ./metadata.json ./.pvm -``` - -This will create a box file which contains all the necessary data. -You can delete the `metadata.json` file after. - -Once you've done that, you can upload it to the fileshare, -under `share/boxes/macos-base`, add it to `share/boxes/macos-base.json`, -and finally add it to vagrant: - -```sh -$ vagrant box add ~/vagrant/share/boxes/macos-base.json -``` - -Then, we'll create the final box, -which contains all the necessary programs for doing CI work. -Copy `configuration/Vagrantfile-box.rb` as `Vagrantfile`, and -`configuration/vagrant-box-configuration.json` -into a new directory; into that same directory, -download the Xcode command line tools dmg, and name it `clt.dmg`. -Then, run the following in that directory: - -```sh -$ vagrant up -$ vagrant package -``` - -This will create a `package.box`, which is the box file for the base VM. -Once you've created this box, if you're making it the new box for the CI, -upload it to the fileshare, under `share/boxes/macos-ci`. -Then, add the metadata about the box (the name and version) to -`share/boxes/macos-ci.json`. -Once you've done that, add the software versions under [VM Software Versions](#vm-software-versions). - -[base-box-instructions]: https://parallels.github.io/vagrant-parallels/docs/boxes/base.html - -### VM Software Versions - -* 2020-09-28: - * macOS: 10.15.6 - * Xcode CLTs: 12 -* 2021-04-16: - * macOS: 11.2.3 - * Xcode CLTs: 12.4 -* 2021-07-27: - * macOS: 11.5.1 - * Xcode CLTs: 12.5.1 - -### (Internal) Accessing the macOS fileshare - -The fileshare is located on `vcpkgmm-01`, under the `fileshare` user, in the `share` directory. -In order to get `sshfs` working on the physical machine, -You can run `Install-Prerequisites.ps1` to grab the right software, then either: - -```sh -$ mkdir vagrant/share -$ sshfs fileshare@:/Users/fileshare/share vagrant/share -``` - -or you can just run - -```sh -$ ./Get-InternalBaseBox.ps1 -``` - -which will do the thing automatically. - -If you get an error, that means that gatekeeper has prevented the kernel extension from loading, -so you'll need to access the GUI of the machine, go to System Preferences, -Security & Privacy, General, unlock the settings, -and allow system extensions from the osxfuse developer to run. -Then, you'll be able to add the fileshare as an sshfs. +This is the checklist for what the vcpkg team does when updating the macOS machines in the pool. + +## Creating new base images + +### Prerequisites + +- [ ] A Parallels license for amd64 or [macosvm](https://github.com/s-u/macosvm) allow-listed + by macOS for arm64. Note that the directory 'Parallels' is still used when using `macosvm` + just so that scripts know where to find the VM and friends. +- [ ] An Xcode installer - you can get this from Apple's developer website, + although you'll need to sign in first: + If you are doing this from a local macos box, you can skip to the "update the macos host" step. + +### Instructions (AMD64) + +- [ ] Go to https://dev.azure.com/vcpkg/public/_settings/agentqueues , pick the current osx queue, + and delete one of the agents that are idle. +- [ ] Go to that machine in the KVM. (Passwords are stored as secrets in the CPP_GITHUB\vcpkg\vcpkgmm-passwords key vault) +- [ ] Open the Parallels Control Center, and delete the active VM. +- [ ] Update the macos host +- [ ] Update or install parallels +- [ ] Download the macOS installer from the app store. See https://support.apple.com/en-us/102662 + Note: This portion of the instructions is that which breaks most often depending on what Parallels and macOS are doing. + You might need to use `softwareupdate --fetch-full-installer --full-installer-version 14.5` and point Parallels + at that resulting installer in 'Applications' instead. +- [ ] Run parallels, and select that installer you just downloaded. Name the VM "vcpkg-osx--amd64", for example "vcpkg-osx-2024-07-12-amd64". +- [ ] When creating the VM, customize the hardware to the following: + * 12 processors + * 24000 MB of memory + * 350 GB disk + * Do not share mac camera +- [ ] Install MacOS like you would on real hardware. + * Apple ID: 'Set Up Later' / Skip + * Account name: vcpkg + * A very similar password :) + * Don't enable Ask Siri +- [ ] Install Parallels Tools +- [ ] Restart the VM +- [ ] Change the desktop background to a solid color +- [ ] Enable remote login in System Settings -> General -> Sharing -> Remote Login +- [ ] Update the Azure Agent URI in setup-box.sh to the current version. You can find this by going to the agent pool, selecting "New agent", picking macOS, and copying the link. For example https://vstsagentpackage.azureedge.net/agent/3.241.0/vsts-agent-osx-x64-3.241.0.tar.gz +- [ ] Start the VM. Change the screen resolution to not be teeny weeny eyestrain o vision. +- [ ] In the guest, set the vcpkg user to be able to use sudo without a password: + ```sh + printf 'vcpkg\tALL=(ALL)\tNOPASSWD:\tALL\n' | sudo tee -a '/etc/sudoers.d/vcpkg' + sudo chmod 0440 '/etc/sudoers.d/vcpkg' + ``` +- [ ] Copy setup-guest, setup-box.sh, and the xcode installer renamed to 'clt.dmg' to the host, and run setup-guest.sh. For example: + ```sh + scp ./setup-guest.sh vcpkg@MACHINE:/Users/vcpkg + scp ./setup-box.sh vcpkg@MACHINE:/Users/vcpkg + scp path/to/console/tools.dmg vcpkg@MACHINE:/Users/vcpkg/clt.dmg + ssh vcpkg@MACHINE + rm ~/.ssh/known_hosts + chmod +x setup-guest.sh + ./setup-guest.sh + rm setup-guest.sh + rm setup-box.sh + rm clt.dmg + ``` +- [ ] In the guest, check that 'm4' works in the terminal. If it tries to reinstall the command line tools, let it do that. You might need to manually run this workaround from https://developer.apple.com/documentation/xcode-release-notes/xcode-15-release-notes#Known-Issues + ```sh + sudo mkdir -p /Library/Developer/CommandLineTools + sudo touch /Library/Developer/CommandLineTools/.beta + ``` +- [ ] Shut down the VM cleanly +- [ ] Set the VM 'Isolated' +- [ ] In Parallels control center, right click the VM and select "Prepare for Transfer" +- [ ] In Parallels control center, right click the VM and remove it, but "Keep Files" +- [ ] Copy the packaged VM to Azure Storage, with something like: + ```sh + ssh vcpkg@MACHINE + brew install azcopy + azcopy copy ~/Parallels/vcpkg-osx-2024-07-12-amd64.pvmp "https://vcpkgimageminting...../pvms?" + azcopy copy ~/Parallels/vcpkg-osx-2024-07-12-amd64.sha256.txt "https://vcpkgimageminting...../pvms?" + ``` +- [ ] Go to https://dev.azure.com/vcpkg/public/_settings/agentqueues and create a new self hosted Agent pool named `PrOsx-YYYY-MM-DD` based on the current date. Check 'Grant access permission to all pipelines.' +- [ ] Remove the macOS installer from Applications +- [ ] Follow the "Deploying images" steps below for each machine in the fleet. + +### Instructions (ARM64) + +- [ ] Go to https://dev.azure.com/vcpkg/public/_settings/agentqueues , pick the current osx queue, + and delete one of the agents that are idle. +- [ ] Go to that machine in the KVM. (Passwords are stored as secrets in the CPP_GITHUB\vcpkg\vcpkgmm-passwords key vault) +- [ ] Update the macos host +- [ ] (Once only) install `macosvm` to `~` (this tarball is also backed up in our `vcpkg-image-minting` storage account): + ```sh + curl -L -o macosvm-0.2-1-arm64-darwin21.tar.gz https://github.com/s-u/macosvm/releases/download/0.2-1/macosvm-0.2-1-arm64-darwin21.tar.gz + tar xvf macosvm-0.2-1-arm64-darwin21.tar.gz + rm macosvm-0.2-1-arm64-darwin21.tar.gz + ``` +- [ ] Download the matching `.ipsw` for the macOS copy to install. See https://mrmacintosh.com/apple-silicon-m1-full-macos-restore-ipsw-firmware-files-database/ ; links there to find the .ipsw. Example: https://updates.cdn-apple.com/2024SpringFCS/fullrestores/062-01897/C874907B-9F82-4109-87EB-6B3C9BF1507D/UniversalMac_14.5_23F79_Restore.ipsw +- [ ] Determine the VM name using the form "vcpkg-osx--arm64", for example "vcpkg-osx-2024-07-12-arm64". +- [ ] Open a terminal and run the following commands to create the VM with vcpkg-osx-2024-07-12-arm64 and UniversalMac_14.5_23F79_Restore.ipsw replaced as appropriate. + ```sh + mkdir -p ~/Parallels/vcpkg-osx-2024-07-12-arm64 + cd ~/Parallels/vcpkg-osx-2024-07-12-arm64 + ~/macosvm --disk disk.img,size=500g --aux aux.img -c 8 -r 12g --restore ~/UniversalMac_14.5_23F79_Restore.ipsw ./vm.json + ~/macosvm -g ./vm.json + ``` +- [ ] Follow prompts as you would on real hardware. + * Apple ID: 'Set Up Later' / Skip + * Account name: vcpkg + * A very similar password + * No location services + * Yes send crash reports +- [ ] Set the desktop wallpaper to a fixed color from Settings -> Wallpaper . (This makes the KVM a lot easier to use :) ) +- [ ] Enable remote login in the VM: Settings -> General -> Sharing -> Remote Login +- [ ] Set the vcpkg user to be able to use sudo without a password: + ```sh + ssh vcpkg@vcpkgs-Virtual-Machine.local + printf 'vcpkg\tALL=(ALL)\tNOPASSWD:\tALL\n' | sudo tee -a '/etc/sudoers.d/vcpkg' + sudo chmod 0440 '/etc/sudoers.d/vcpkg' + exit + ``` +- [ ] Update the Azure Agent URI in setup-box.sh to the current version. You can find this by going to the agent pool, selecting "New agent", picking macOS, and copying the link. For example https://vstsagentpackage.azureedge.net/agent/3.241.0/vsts-agent-osx-arm64-3.241.0.tar.gz +- [ ] Copy setup-box.sh and the xcode installer renamed to 'clt.dmg' to the host. For example from a dev workstation: + ```sh + scp ./setup-guest.sh vcpkg@MACHINE:/Users/vcpkg + scp ./setup-box.sh vcpkg@MACHINE:/Users/vcpkg + scp path/to/console/tools.dmg vcpkg@MACHINE:/Users/vcpkg/clt.dmg + ssh vcpkg@MACHINE + chmod +x setup-guest.sh + rm ~/.ssh/known_hosts + ./setup-guest.sh + rm setup-guest.sh + rm setup-box.sh + rm clt.dmg + ``` +- [ ] In the guest, check that 'm4' works in the terminal. If it tries to reinstall the command line tools, let it do that. You might need to manually run this workaround from https://developer.apple.com/documentation/xcode-release-notes/xcode-15-release-notes#Known-Issues + ```sh + sudo mkdir -p /Library/Developer/CommandLineTools + sudo touch /Library/Developer/CommandLineTools/.beta + ``` +- [ ] Shut down the VM cleanly. +- [ ] Mint a SAS token to vcpkgimageminting/pvms with read, add, create, write, and list permissions. +- [ ] Open a terminal on the host and package the VM into a tarball: + ```sh + cd ~/Parallels + aa archive -d vcpkg-osx--arm64 -o vcpkg-osx--arm64.aar -enable-holes + brew install azcopy + azcopy copy vcpkg-osx--arm64.aar "https://vcpkgimageminting.blob.core.windows.net/pvms?" + rm *.aar + ``` +- [ ] Go to https://dev.azure.com/vcpkg/public/_settings/agentqueues and create a new self hosted Agent pool named `PrOsx-YYYY-MM-DD-arm64` based on the current date. Check 'Grant access permission to all pipelines.' +- [ ] Follow the "Deploying images" steps below for each machine in the fleet. + +## Deploying images + +### Running the VM (AMD64) + +Run these steps on each machine to add to the fleet. Skip steps that were done implicitly above if this machine was used to build a box. + +- [ ] If this machine was used before, delete it from the pool of which it is a member from https://dev.azure.com/vcpkg/public/_settings/agentqueues +- [ ] Log in to the machine using the KVM. +- [ ] Check for software updates in macOS system settings +- [ ] Check for software updates in Parallels' UI +- [ ] Mint a SAS token URI to the box to use from the Azure portal if you don't already have one, and download the VM. (Recommend running this via SSH from domain joined machine due to containing SAS tokens) + ```sh + brew install azcopy + cd ~/Parallels + azcopy copy "https://vcpkgimageminting.blob.core.windows.net/pvms/vcpkg-osx--amd64.pvmp?" . + azcopy copy "https://vcpkgimageminting.blob.core.windows.net/pvms/vcpkg-osx--amd64.sha256.txt?" . + ``` +- [ ] Open the .pvmp in Parallels, and unpack it. +- [ ] Start the VM +- [ ] [grab a PAT][] if you don't already have one +- [ ] Copy the guest deploy script to the host, and run it with a first parameter of your PAT + ```sh + scp ./register-guest.sh vcpkg@MACHINE:/Users/vcpkg + ssh vcpkg@MACHINE + rm ~/.ssh/known_hosts + chmod +x /Users/vcpkg/register-guest.sh + /Users/vcpkg/register-guest.sh + ``` +- [ ] Open a terminal window on the host and run the agent + ``` + ssh -i ~/Parallels/*/id_guest vcpkg@`prlctl list --full | sed -nr 's/^.*running *([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}).*/\1/p'` + ~/myagent/run.sh + ``` +- [ ] Check that the machine shows up in the pool, and lock the vcpkg user on the host. +- [ ] Lock the screen on the host. +- [ ] Update the "vcpkg Macs" spreadsheet line for the machine with the new pool. + +[grab a PAT]: #getting-an-azure-pipelines-pat + +### Running the VM (ARM64) + +Run these steps on each machine to add to the fleet. Skip steps that were done implicitly above if this machine was used to build a box. + +- [ ] If this machine was used before, delete it from the pool of which it is a member from https://dev.azure.com/vcpkg/public/_settings/agentqueues +- [ ] Log in to the machine using the KVM. +- [ ] Check for software updates in macOS system settings +- [ ] (Once only) install `macosvm` to `~` (this tarball is also backed up in our `vcpkg-image-minting` storage account): + ```sh + curl -L -o macosvm-0.2-1-arm64-darwin21.tar.gz https://github.com/s-u/macosvm/releases/download/0.2-1/macosvm-0.2-1-arm64-darwin21.tar.gz + tar xvf macosvm-0.2-1-arm64-darwin21.tar.gz + rm macosvm-0.2-1-arm64-darwin21.tar.gz + ``` +- [ ] Skip if this is the image building machine. Mint a SAS token URI to the box to use from the Azure portal if you don't already have one, and download the VM. (Recommend running this via SSH from domain joined machine due to containing SAS tokens) + ```sh + mkdir -p ~/Parallels + cd ~/Parallels + azcopy copy "https://vcpkgimageminting.blob.core.windows.net/pvms/vcpkg-osx--arm64.aar?" vcpkg-osx--arm64.aar + aa extract -d vcpkg-osx--arm64 -i ./vcpkg-osx--arm64.aar -enable-holes + ``` +- [ ] Open a separate terminal window on the host and start the VM by running: + ```sh + cd ~/Parallels/vcpkg-osx--arm64 + ~/macosvm ./vm.json + ``` +- [ ] [grab a PAT][] if you don't already have one +- [ ] Copy the guest deploy script to the host, and run it with a first parameter of your PAT. From a developer machine: + ```sh + scp ./register-guest.sh vcpkg@MACHINE:/Users/vcpkg + ssh vcpkg@MACHINE + rm ~/.ssh/known_hosts + chmod +x register-guest.sh + ./register-guest.sh + rm register-guest.sh + exit + ``` +- [ ] In the KVM's terminal, relaunch the VM in ephemeral mode with: + ```sh + ~/macosvm --ephemeral ./vm.json + ``` +- [ ] Open a terminal window on the host and run the agent + ```sh + ssh -i ~/Parallels/*/id_guest vcpkg@vcpkgs-Virtual-Machine.local + ~/myagent/run.sh + ``` +- [ ] Check that the machine shows up in the pool, and lock the vcpkg user on the host. +- [ ] Lock the screen on the host. +- [ ] Update the "vcpkg Macs" spreadsheet line for the machine with the new pool. + +[grab a PAT]: #getting-an-azure-pipelines-pat + +## Getting an Azure Pipelines PAT + +Personal Access Tokens are an important part of this process, +and they are fairly easy to generate. +On ADO, under the correct project (in vcpkg's case, "vcpkg"), +click on the "User Settings" icon, then go to "Personal access tokens". +It is the icon to the left of your user icon, in the top right corner. + +Then, create a new token, give it a name, make sure it expires quickly, +and give it a custom defined scope that includes the +"Agent pools: Read & manage" permission (you'll need to "Show all scopes" +to access this). +You can now copy this token and use it to allow machines to join. diff --git a/scripts/azure-pipelines/osx/Setup-VagrantMachines.ps1 b/scripts/azure-pipelines/osx/Setup-VagrantMachines.ps1 deleted file mode 100755 index 88b64594ad60de..00000000000000 --- a/scripts/azure-pipelines/osx/Setup-VagrantMachines.ps1 +++ /dev/null @@ -1,124 +0,0 @@ -#!pwsh -#Requires -Version 6.0 - -<# -.SYNOPSIS -Sets up the configuration for the vagrant virtual machines. - -.DESCRIPTION -Setup-VagrantMachines.ps1 sets up the virtual machines for -vcpkg's macOS CI. It puts the VagrantFile and necessary -configuration JSON file into ~/vagrant/vcpkg-eg-mac. - -.PARAMETER MachineId -The number to give the machine; should match [0-9]{2}. -Defaults to the numbers at the end of the machine name, -assuming that that machine name matches `VCPKGMM-[0-9]{2}`. - -.PARAMETER DevopsPat -The personal access token which has Read & Manage permissions on the ADO pool. - -.PARAMETER Date -The date on which this pool is being created. Sets the default values for BoxVersion and AgentPool. - -.PARAMETER BoxVersion -The version of the box to use. If -Date is passed, uses that as the version. - -.PARAMETER AgentPool -The agent pool to add the machine to. If -Date is passed, uses "PrOsx-$Date" as the pool. - -.PARAMETER DevopsUrl -The URL of the ADO instance; defaults to vcpkg's, which is https://dev.azure.com/vcpkg. - -.PARAMETER BaseName -The base name for the vagrant VM; the machine name is $BaseName-$MachineId. -Defaults to 'vcpkg-eg-mac'. - -.PARAMETER BoxName -The name of the box to use. Defaults to 'vcpkg/macos-ci', -which is only available internally. - -.INPUTS -None - -.OUTPUTS -None -#> -[CmdletBinding(PositionalBinding=$False, DefaultParameterSetName='DefineDate')] -Param( - [Parameter(Mandatory=$False)] - [String]$MachineId, - - [Parameter(Mandatory=$True)] - [String]$DevopsPat, - - [Parameter(Mandatory=$True, ParameterSetName='DefineDate')] - [String]$Date, - - [Parameter(Mandatory=$True, ParameterSetName='DefineVersionAndAgentPool')] - [String]$BoxVersion, - - [Parameter(Mandatory=$True, ParameterSetName='DefineVersionAndAgentPool')] - [String]$AgentPool, - - [Parameter(Mandatory=$False)] - [String]$DevopsUrl = 'https://dev.azure.com/vcpkg', - - [Parameter()] - [String]$BaseName = 'vcpkg-eg-mac', - - [Parameter()] - [String]$BoxName = 'vcpkg/macos-ci' -) - -Set-StrictMode -Version 2 - -if (-not $IsMacOS) { - throw 'This script should only be run on a macOS host' -} - -if (-not [String]::IsNullOrEmpty($Date)) { - $BoxVersion = $Date - $AgentPool = "PrOsx-$Date" -} - -if ([String]::IsNullOrEmpty($MachineId)) { - $hostname = hostname -s - if ($hostname -match '^VCPKGMM-([0-9]{2})$') { - $MachineId = $matches[1] - } else { - Write-Error "Hostname ($hostname) does not match the expected format (VCPKGMM-NN). Please pass -MachineId in order to give the VM a number." - } -} - -if (Test-Path '~/vagrant/vcpkg-eg-mac') { - Push-Location '~/vagrant/vcpkg-eg-mac' - try { - Write-Host 'Deleting existing directories' - vagrant destroy -f - Remove-Item -Recurse -Force -LiteralPath '~/vagrant/vcpkg-eg-mac' | Out-Null - } finally { - Pop-Location - } -} - -Write-Host 'Creating new directories' -if (-not (Test-Path -Path '~/vagrant')) { - New-Item -ItemType 'Directory' -Path '~/vagrant' | Out-Null -} -New-Item -ItemType 'Directory' -Path '~/vagrant/vcpkg-eg-mac' | Out-Null - -Copy-Item ` - -Path "$PSScriptRoot/configuration/Vagrantfile-vm.rb" ` - -Destination '~/vagrant/vcpkg-eg-mac/Vagrantfile' - -$configuration = @{ - pat = $DevopsPat - agent_pool = $AgentPool - devops_url = $DevopsUrl - machine_name = "${BaseName}-${MachineId}" - box_name = $BoxName - box_version = $BoxVersion -} -ConvertTo-Json -InputObject $configuration -Depth 5 ` - | Set-Content -Path '~/vagrant/vcpkg-eg-mac/vagrant-configuration.json' diff --git a/scripts/azure-pipelines/osx/Utilities.psm1 b/scripts/azure-pipelines/osx/Utilities.psm1 deleted file mode 100644 index 620ec7f4b06eac..00000000000000 --- a/scripts/azure-pipelines/osx/Utilities.psm1 +++ /dev/null @@ -1,90 +0,0 @@ -#Requires -Version 6.0 -Set-StrictMode -Version 2 - -<# -.SYNOPSIS -Returns whether the specified command exists in the current environment. - -.DESCRIPTION -Get-CommandExists takes a string as a parameter, -and returns whether it exists in the current environment; -either a function, alias, or an executable in the path. -It's somewhat equivalent to `which`. - -.PARAMETER Name -Specifies the name of the command which may or may not exist. - -.INPUTS -System.String - The name of the command. - -.OUTPUTS -System.Boolean - Whether the command exists. -#> -function Get-CommandExists -{ - [CmdletBinding()] - [OutputType([Boolean])] - Param( - [Parameter(ValueFromPipeline)] - [String]$Name - ) - - $null -ne (Get-Command -Name $Name -ErrorAction SilentlyContinue) -} - -<# -.SYNOPSIS -Downloads a file and checks its hash. - -.DESCRIPTION -Get-RemoteFile takes a URI and a hash, -downloads the file at that URI to OutFile, -and checks that the hash of the downloaded file. -It then returns a FileInfo object corresponding to the downloaded file. - -.PARAMETER OutFile -Specifies the file path to download to. - -.PARAMETER Uri -The URI to download from. - -.PARAMETER Sha256 -The expected SHA256 of the downloaded file. - -.INPUTS -None - -.OUTPUTS -System.IO.FileInfo - The FileInfo for the downloaded file. -#> -function Get-RemoteFile -{ - [CmdletBinding(PositionalBinding=$False)] - [OutputType([System.IO.FileInfo])] - Param( - [Parameter(Mandatory=$True)] - [String]$OutFile, - [Parameter(Mandatory=$True)] - [String]$Uri, - [Parameter(Mandatory=$True)] - [String]$Sha256 - ) - - Invoke-WebRequest -OutFile $OutFile -Uri $Uri - $actualHash = Get-FileHash -Algorithm SHA256 -Path $OutFile - - if ($actualHash.Hash -ne $Sha256) { - throw @" -Invalid hash for file $OutFile; - expected: $Sha256 - found: $($actualHash.Hash) -Please make sure that the hash in the powershell file is correct. -"@ - } - - Get-Item $OutFile -} - diff --git a/scripts/azure-pipelines/osx/azure-pipelines.yml b/scripts/azure-pipelines/osx/azure-pipelines.yml index a8d94f6f647b3e..d424602a472883 100644 --- a/scripts/azure-pipelines/osx/azure-pipelines.yml +++ b/scripts/azure-pipelines/osx/azure-pipelines.yml @@ -3,92 +3,82 @@ # parameters: -- name: poolName - type: string -- name: mode - type: string - values: - - 'AllPorts' - - 'NonTensorflow' - - 'OnlyTensorflow' -- name: jobName - type: string - default: x64_osx + - name: vcpkgToolSha + displayName: 'Custom SHA of vcpkg-tool to use rather than bootstrap' + type: string + default: 'use default' + - name: jobName + type: string + default: 'x64_osx' + - name: poolName + type: string + - name: tripletPattern + displayName: 'Enable the triplets which contain this substring' + type: string + default: '' jobs: -- job: "${{ parameters.jobName }}" +- job: ${{ parameters.jobName }} + condition: and(succeeded(), contains('^${{ replace(parameters.jobName, '_', '-') }}$', '${{ parameters.tripletPattern }}')) pool: name: ${{ parameters.poolName }} workspace: clean: resources - timeoutInMinutes: 1440 # 1 day + timeoutInMinutes: 2880 # 2 days variables: - name: WORKING_ROOT - value: /Users/vagrant/Data + value: /Users/vcpkg/Data - name: VCPKG_DOWNLOADS - value: /Users/vagrant/Data/downloads - - group: vcpkg-binary-caching-credentials - - name: X_VCPKG_BINARY_SOURCE_STUB - value: "x-azblob,$(root-bin-url),$(sas-bin)" - - group: vcpkg-asset-caching-credentials - - name: X_VCPKG_ASSET_SOURCES - value: "x-azurl,$(root-url),$(sas),readwrite" - - name: PowershellExtraArguments - ${{ if eq(parameters.mode, 'AllPorts') }}: - value: '' - ${{ if eq(parameters.mode, 'NonTensorflow') }}: - value: "-AdditionalSkips @('tensorflow', 'tensorflow-cc')" - ${{ if eq(parameters.mode, 'OnlyTensorflow') }}: - value: "-OnlyTest @('tensorflow', 'tensorflow-cc')" - - name: Postfix - ${{ if eq(parameters.mode, 'OnlyTensorflow') }}: - value: '-tensorflow' - ${{ if ne(parameters.mode, 'OnlyTensorflow') }}: - value: '' - + value: /Users/vcpkg/Data/downloads steps: - - bash: df -h - displayName: 'Report on Disk Space' - bash: | - sudo rm -rf ${{ variables.VCPKG_DOWNLOADS }} || 0 sudo mkdir ${{ variables.VCPKG_DOWNLOADS }} || 0 sudo chmod 777 ${{ variables.VCPKG_DOWNLOADS }} || 0 exit 0 displayName: 'Create ${{ variables.VCPKG_DOWNLOADS }}' - - task: Bash@3 - displayName: 'Build vcpkg' - inputs: - filePath: bootstrap-vcpkg.sh - - task: PowerShell@2 - displayName: '*** Test Modified Ports and Prepare Test Logs ***' + - bash: ./bootstrap-vcpkg.sh + displayName: 'Bootstrap vcpkg' + condition: eq('use default', '${{ parameters.vcpkgToolSha }}') + - bash: ./scripts/azure-pipelines/bootstrap-from-source.sh ${{ parameters.vcpkgToolSha }} + displayName: "Build vcpkg with CMake" + condition: ne('use default', '${{ parameters.vcpkgToolSha }}') + - task: AzureCLI@2 + displayName: '*** Test Modified Ports' inputs: - failOnStderr: true - filePath: 'scripts/azure-pipelines/test-modified-ports.ps1' - arguments: > - -Triplet "x64-osx" - -BuildReason "$(Build.Reason)" - -BinarySourceStub "${{ variables.X_VCPKG_BINARY_SOURCE_STUB }}" - -WorkingRoot "${{ variables.WORKING_ROOT }}" - -ArtifactStagingDirectory "$(Build.ArtifactStagingDirectory)" - ${{ variables.PowershellExtraArguments }} - pwsh: true - - bash: | - df -h - displayName: 'Report on Disk Space After Build' - condition: always() + azureSubscription: 'VcpkgPrFleet' + scriptType: 'pscore' + scriptLocation: 'inlineScript' + inlineScript: | + $current = Get-Date -AsUtc + $endDate = $current.AddDays(2) + $end = Get-Date -Date $endDate -UFormat '+%Y-%m-%dT%H:%MZ' + $assetSas = az storage container generate-sas --name cache --account-name vcpkgassetcachewus3 --as-user --auth-mode login --https-only --permissions rcl --expiry $end -o tsv | Out-String + $assetSas = $assetSas.Trim() + $binarySas = az storage container generate-sas --name cache --account-name vcpkgbinarycachewus3 --as-user --auth-mode login --https-only --permissions rclw --expiry $end -o tsv | Out-String + $binarySas = $binarySas.Trim() + $env:X_VCPKG_ASSET_SOURCES = "x-azurl,https://vcpkgassetcachewus3.blob.core.windows.net/cache,$assetSas,readwrite" + & scripts/azure-pipelines/test-modified-ports.ps1 -Triplet ${{ replace(parameters.jobName, '_', '-') }} -BuildReason $(Build.Reason) -BinarySourceStub "x-azblob,https://vcpkgbinarycachewus3.blob.core.windows.net/cache,$binarySas" -WorkingRoot $env:WORKING_ROOT -ArtifactStagingDirectory $(Build.ArtifactStagingDirectory) - task: PublishBuildArtifacts@1 displayName: 'Publish Artifact: failure logs for x64-osx' inputs: PathtoPublish: '$(Build.ArtifactStagingDirectory)/failure-logs' - ArtifactName: 'failure logs for x64-osx${{ variables.Postfix }}' + ArtifactName: "failure logs for ${{ replace(parameters.jobName, '_', '-') }}" condition: ne(variables['FAILURE_LOGS_EMPTY'], 'True') - - bash: | - python3 scripts/file_script.py /Users/vagrant/Data/installed/vcpkg/info/ + - bash: python3 scripts/file_script.py /Users/vcpkg/Data/installed/vcpkg/info/ displayName: 'Build a file list for all packages' condition: always() - task: PublishBuildArtifacts@1 - displayName: 'Publish Artifact: file lists for x64-osx${{ variables.Postfix }}' + displayName: "Publish Artifact: file lists for ${{ replace(parameters.jobName, '_', '-') }}" condition: always() inputs: PathtoPublish: scripts/list_files - ArtifactName: 'file lists for x64-osx${{ variables.Postfix }}' + ArtifactName: "file lists for ${{ replace(parameters.jobName, '_', '-') }}" + - task: PublishTestResults@2 + displayName: 'Publish Test Results' + condition: ne(variables['XML_RESULTS_FILE'], '') + inputs: + testRunTitle: ${{ replace(parameters.jobName, '_', '-') }} + testResultsFormat: xUnit + testResultsFiles: $(XML_RESULTS_FILE) + platform: ${{ replace(parameters.jobName, '_', '-') }} + configuration: static diff --git a/scripts/azure-pipelines/osx/configuration/Vagrantfile-box.rb b/scripts/azure-pipelines/osx/configuration/Vagrantfile-box.rb deleted file mode 100644 index cbe76a72076ff5..00000000000000 --- a/scripts/azure-pipelines/osx/configuration/Vagrantfile-box.rb +++ /dev/null @@ -1,35 +0,0 @@ -require 'json' - -configuration = JSON.parse(File.read("#{__dir__}/vagrant-box-configuration.json")) - -Vagrant.configure('2') do |config| - config.vm.box = 'vcpkg/macos-base' - config.vm.synced_folder '.', '/Users/vagrant/shared' - - config.vm.provision 'shell', - run: 'once', - name: 'Install Xcode Command Line Tools: attach dmg file', - inline: 'hdiutil attach shared/clt.dmg -mountpoint /Volumes/setup-installer', - privileged: false - config.vm.provision 'shell', - run: 'once', - name: 'Install Xcode Command Line Tools: run installer', - inline: 'installer -pkg "/Volumes/setup-installer/Command Line Tools.pkg" -target /', - privileged: true - config.vm.provision 'shell', - run: 'once', - name: 'Install XCode Command Line Tools: detach dmg file', - inline: 'hdiutil detach /Volumes/setup-installer', - privileged: false - - config.vm.provision 'shell', - run: 'once', - name: 'Install brew', - inline: '/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"', - privileged: false - config.vm.provision 'shell', - run: 'once', - name: 'Install brew applications', - inline: "brew install #{configuration['brew'].join(' ')} && brew install --cask #{configuration['brew-cask'].join(' ')}", - privileged: false -end diff --git a/scripts/azure-pipelines/osx/configuration/Vagrantfile-vm.rb b/scripts/azure-pipelines/osx/configuration/Vagrantfile-vm.rb deleted file mode 100644 index ed689ab7be1c17..00000000000000 --- a/scripts/azure-pipelines/osx/configuration/Vagrantfile-vm.rb +++ /dev/null @@ -1,68 +0,0 @@ -require 'json' - -configuration = JSON.parse(File.read("#{__dir__}/vagrant-configuration.json")) - -server = { - :hostname => configuration['machine_name'], - :box => configuration['box_name'], - :box_version => configuration['box_version'], - :ram => 12000, - :cpu => 11 -} - -azure_agent_url = 'https://vstsagentpackage.azureedge.net/agent/2.185.1/vsts-agent-osx-x64-2.185.1.tar.gz' -devops_url = configuration['devops_url'] -agent_pool = configuration['agent_pool'] -pat = configuration['pat'] - -Vagrant.configure('2') do |config| - config.vm.box = server[:box] - config.vm.box_version = server[:box_version] - config.vm.hostname = server[:hostname] - config.vm.synced_folder '.', '/vagrant', disabled: true - - config.vm.provider 'parallels' do |prl| - prl.memory = server[:ram] - prl.cpus = server[:cpu] - end - - config.vm.provision 'shell', - run: 'once', - name: 'Create the data directory', - inline: "mkdir ~/Data", - privileged: false - - config.vm.provision 'shell', - run: 'once', - name: 'Download azure agent', - inline: "curl -s -o ~/Downloads/azure-agent.tar.gz #{azure_agent_url}", - privileged: false - - config.vm.provision 'shell', - run: 'once', - name: 'Unpack azure agent', - inline: 'mkdir myagent; cd myagent; tar xf ~/Downloads/azure-agent.tar.gz', - privileged: false - - config.vm.provision 'shell', - run: 'once', - name: 'Add VM to azure agent pool', - inline: "cd ~/myagent;\ - ./config.sh --unattended \ - --url #{devops_url} \ - --work ~/Data/work \ - --auth pat --token #{pat} \ - --pool #{agent_pool} \ - --agent `hostname` \ - --replace \ - --acceptTeeEula", - privileged: false - - # Start listening for jobs - config.vm.provision 'shell', - run: 'always', - name: 'Start running azure pipelines', - inline: 'cd /Users/vagrant/myagent;\ - nohup ./run.sh&', - privileged: false -end diff --git a/scripts/azure-pipelines/osx/configuration/installables.json b/scripts/azure-pipelines/osx/configuration/installables.json deleted file mode 100644 index 179b03f15ea197..00000000000000 --- a/scripts/azure-pipelines/osx/configuration/installables.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "$schema": "./installables.schema.json", - - "Applications": [ - { - "Name": "vagrant", - "VersionCommand": [ "vagrant", "-v" ], - "VersionRegex": "Vagrant (.*)", - "Version": "2.2.18", - "DmgUrl": "https://releases.hashicorp.com/vagrant/2.2.18/vagrant_2.2.18_x86_64.dmg", - "Sha256": "B4E8103AABDF29F18F592CD6DE4FA03BF182FBC192A0757B5E18156CB18FA672", - "InstallerPath": "vagrant.pkg" - }, - { - "Name": "osxfuse", - "VersionCommand": [ "cat", "/Library/Filesystems/macfuse.fs/Contents/version.plist" ], - "VersionRegex": "CFBundleVersion[\\n\\t ]*([0-9.]+)", - "Version": "4.1.2", - "DmgUrl": "https://github.com/osxfuse/osxfuse/releases/download/macfuse-4.1.2/macfuse-4.1.2.dmg", - "Sha256": "9FF344DE38BAD5AC5ECA5194DA00A2BA35DD6AFDB9039133B5446168F8EDAFDB", - "InstallerPath": "Install macFUSE.pkg" - }, - { - "Name": "sshfs", - "VersionCommand": [ "sshfs", "--version" ], - "VersionRegex": "SSHFS version [0-9.]* \\(OSXFUSE SSHFS (.*)\\)", - "Version": "2.5.0", - "PkgUrl": "https://github.com/osxfuse/sshfs/releases/download/osxfuse-sshfs-2.5.0/sshfs-2.5.0.pkg", - "Sha256": "F8F4F71814273EA42DBE6CD92199F7CFF418571FFD1B10C0608878D3472D2162" - } - ], - "Brew": [ - ], - "VagrantPlugins": [ - { - "Name": "vagrant-parallels", - "Version": "2.2.3" - } - ] -} diff --git a/scripts/azure-pipelines/osx/configuration/installables.schema.json b/scripts/azure-pipelines/osx/configuration/installables.schema.json deleted file mode 100644 index b7ec7ae801e05e..00000000000000 --- a/scripts/azure-pipelines/osx/configuration/installables.schema.json +++ /dev/null @@ -1,83 +0,0 @@ -{ - "$schema": "https://json-schema.org/draft-07/schema", - "type": "object", - "definitions": { - "sha256": { - "type": "string", - "pattern": "[A-Z0-9]{64}" - } - }, - "required": [ - "Applications", - "Brew", - "VagrantPlugins" - ], - "properties": { - "Applications": { - "type": "array", - "items": { - "type": "object", - "properties": { - "Name": { - "type": "string" - }, - "VersionCommand": { - "type": "array", - "items": { - "type": "string" - }, - "minItems": 1 - }, - "VersionRegex": { - "type": "string", - "format": "regex" - }, - "Version": { - "type": "string" - }, - "DmgUrl": { - "type": "string", - "format": "uri" - }, - "Sha256": { - "$ref": "#/definitions/sha256" - }, - "InstallerPath": { - "type": "string" - } - } - } - }, - "Brew": { - "type": "array", - "items": { - "type": "object", - "required": [ "Name" ], - "properties": { - "Name": { - "type": "string" - }, - "Kind": { - "type": "string", - "enum": [ "cask" ] - } - } - } - }, - "VagrantPlugins": { - "type": "array", - "items": { - "type": "object", - "required": [ "Name", "Version" ], - "properties": { - "Name": { - "type": "string" - }, - "Version": { - "type": "string" - } - } - } - } - } -} diff --git a/scripts/azure-pipelines/osx/configuration/vagrant-box-configuration.json b/scripts/azure-pipelines/osx/configuration/vagrant-box-configuration.json deleted file mode 100644 index d800c257aa41bb..00000000000000 --- a/scripts/azure-pipelines/osx/configuration/vagrant-box-configuration.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "$schema": "./vagrant-vm-configuration.schema.json", - "brew": [ - "autoconf", - "automake", - "bison", - "gettext", - "gfortran", - "gperf", - "gtk-doc", - "libtool", - "meson", - "mono", - "nasm", - "pkg-config", - "yasm" - ], - "brew-cask": [ - "powershell" - ] -} diff --git a/scripts/azure-pipelines/osx/configuration/vagrant-box-configuration.schema.json b/scripts/azure-pipelines/osx/configuration/vagrant-box-configuration.schema.json deleted file mode 100644 index 80845f70f97722..00000000000000 --- a/scripts/azure-pipelines/osx/configuration/vagrant-box-configuration.schema.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "$schema": "https://json-schema.org/draft-07/schema", - "type": "object", - "required": [ - "brew", - "brew-cask" - ], - "properties": { - "brew": { - "type": "array", - "items": { "type": "string" } - }, - "brew-cask": { - "type": "array", - "items": { "type": "string" } - } - } -} diff --git a/scripts/azure-pipelines/osx/configuration/vagrant-configuration.schema.json b/scripts/azure-pipelines/osx/configuration/vagrant-configuration.schema.json deleted file mode 100644 index 91540d77c91ac8..00000000000000 --- a/scripts/azure-pipelines/osx/configuration/vagrant-configuration.schema.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "$schema": "https://json-schema.org/draft/2019-09/schema", - - "type": "object", - - "required": [ - "pat", - "agent_pool", - "devops_url", - "machine_name", - "box_name", - "box_version" - ], - - "properties": { - "pat": { - "type": "string" - }, - "agent_pool": { - "type": "string" - }, - "devops_url": { - "type": "string" - }, - "machine_name": { - "type": "string" - }, - "box_name": { - "type": "string" - }, - "box_version": { - "type": "string" - } - } -} diff --git a/scripts/azure-pipelines/osx/register-guest.sh b/scripts/azure-pipelines/osx/register-guest.sh new file mode 100644 index 00000000000000..eadba44de650e0 --- /dev/null +++ b/scripts/azure-pipelines/osx/register-guest.sh @@ -0,0 +1,20 @@ +#!/bin/sh +if [ -z "$1" ]; then + echo "PAT missing" + exit 1 +fi +export AGENT=`hostname | sed -nr 's/([^.]+).*/\1/p'` +if [ `uname -m` = 'arm64' ]; then +export POOL=`echo ~/Parallels/* | sed -nr 's/\/Users\/vcpkg\/Parallels\/vcpkg-osx-([0-9]{4}-[0-9]{2}-[0-9]{2})-arm64/PrOsx-\1-arm64/p'` +# on arm64, DNS works +export SSH_COOKIE=vcpkg@vcpkgs-Virtual-Machine.local +else +export POOL=`echo ~/Parallels/*.pvm | sed -nr 's/\/Users\/vcpkg\/Parallels\/vcpkg-osx-([0-9]{4}-[0-9]{2}-[0-9]{2})-amd64\.pvm/PrOsx-\1/p'` +# on amd64, DNS does not work, but luckily for us prlctl does know the IP +export GUEST_IP=`prlctl list --full | sed -nr 's/^.*running *([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}).*/\1/p'` +export SSH_COOKIE=vcpkg@$GUEST_IP +fi +ssh $SSH_COOKIE -i ~/Parallels/*/id_guest "~/myagent/config.sh --unattended --url https://dev.azure.com/vcpkg --work ~/Data/work --auth pat --token $1 --pool $POOL --agent $AGENT --replace --acceptTeeEula" +if [ `uname -m` = 'arm64' ]; then +ssh $SSH_COOKIE -i ~/Parallels/*/id_guest "sudo shutdown -h now" +fi diff --git a/scripts/azure-pipelines/osx/setup-box.sh b/scripts/azure-pipelines/osx/setup-box.sh new file mode 100644 index 00000000000000..1a23a8b8b48db1 --- /dev/null +++ b/scripts/azure-pipelines/osx/setup-box.sh @@ -0,0 +1,29 @@ +#!/bin/sh + +# The next 2 lines are a workaround for an XCode Command Line Tools bug: +# https://developer.apple.com/documentation/xcode-release-notes/xcode-15-release-notes#Known-Issues +sudo mkdir -p /Library/Developer/CommandLineTools +sudo touch /Library/Developer/CommandLineTools/.beta +hdiutil attach clt.dmg -mountpoint /Volumes/setup-installer +sudo installer -pkg "/Volumes/setup-installer/Command Line Tools.pkg" -target / +hdiutil detach /Volumes/setup-installer +rm clt.dmg +/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" +if [ `uname -m` = 'arm64' ]; then + (echo; echo 'eval "$(/opt/homebrew/bin/brew shellenv)"') >> /Users/vcpkg/.zprofile + eval "$(/opt/homebrew/bin/brew shellenv)" +else + (echo; echo 'eval "$(/usr/local/bin/brew shellenv)"') >> /Users/vcpkg/.zprofile + eval "$(/usr/local/bin/brew shellenv)" +fi +brew install autoconf-archive autoconf automake azure-cli bison cmake gettext gfortran gperf gtk-doc libtool meson mono nasm ninja pkg-config powershell python-setuptools texinfo yasm +mkdir ~/Data +if [ `uname -m` = 'arm64' ]; then +curl -s -o ~/Downloads/azure-agent.tar.gz https://vstsagentpackage.azureedge.net/agent/3.241.0/vsts-agent-osx-arm64-3.241.0.tar.gz +else +curl -s -o ~/Downloads/azure-agent.tar.gz https://vstsagentpackage.azureedge.net/agent/3.241.0/vsts-agent-osx-x64-3.241.0.tar.gz +fi +mkdir ~/myagent +tar xf ~/Downloads/azure-agent.tar.gz -C ~/myagent +rm ~/Downloads/azure-agent.tar.gz +rm setup-box.sh diff --git a/scripts/azure-pipelines/osx/setup-guest.sh b/scripts/azure-pipelines/osx/setup-guest.sh new file mode 100644 index 00000000000000..8efd97dcc460cf --- /dev/null +++ b/scripts/azure-pipelines/osx/setup-guest.sh @@ -0,0 +1,21 @@ +#!/bin/sh +export VM_DIRECTORY=`ls ~/Parallels | grep vcpkg-osx` +export SSH_KEY="$HOME/Parallels/$VM_DIRECTORY/id_guest" +export SSH_PUBLIC_KEY="$SSH_KEY.pub" +ssh-keygen -P '' -f "$SSH_KEY" +if [ `uname -m` = 'arm64' ]; then +# on arm64, prlctl does not know the IP address, but luckily for us DNS works +export SSH_COOKIE=vcpkg@vcpkgs-Virtual-Machine.local +else +# on amd64, DNS does not work, but luckily for us prlctl does know the IP +export GUEST_IP=`prlctl list --full | sed -nr 's/^.*running *([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}).*/\1/p'` +export SSH_COOKIE=vcpkg@$GUEST_IP +fi +echo Type 'vcpkg' and press enter +ssh-copy-id -i "$SSH_PUBLIC_KEY" $SSH_COOKIE +echo Keys deployed +ssh $SSH_COOKIE -i "$SSH_KEY" echo hello from \`hostname\` +scp -i "$SSH_KEY" ./clt.dmg $SSH_COOKIE:/Users/vcpkg/clt.dmg +scp -i "$SSH_KEY" ./setup-box.sh $SSH_COOKIE:/Users/vcpkg/setup-box.sh +ssh $SSH_COOKIE -i "$SSH_KEY" chmod +x /Users/vcpkg/setup-box.sh +ssh $SSH_COOKIE -i "$SSH_KEY" /Users/vcpkg/setup-box.sh diff --git a/scripts/azure-pipelines/patch-tuesday-checklist.md b/scripts/azure-pipelines/patch-tuesday-checklist.md new file mode 100644 index 00000000000000..11ca3f0f823a27 --- /dev/null +++ b/scripts/azure-pipelines/patch-tuesday-checklist.md @@ -0,0 +1,25 @@ +## First time machine setup: +* [ ] Install Azure PowerShell: https://docs.microsoft.com/en-us/powershell/azure/install-az-ps +* [ ] Run `Connect-AzAccount -Subscription CPP_GITHUB` +* [ ] Install Docker + +## Each Patch Tuesday: +* [ ] Check for depends:vm-update PRs and make relevant changes if possible. +* [ ] Check for Service 360 alerts (possibly at https://aka.ms/s360 ?) against the service named + "C++ VCPKG Validation" about vulnerable software we are installing in the VMs and update that. + (Most often PowerShell needs to be updated) +* [ ] Check for any other software for the Windows images we wish to update and make the edits to do + so in `scripts/azure-pipelines/windows` +* [ ] Check for any updates possible to `vcpkgTools.xml`. Note that PowerShell currently uses the + 7.2.x series due to customer reported problems on older Windows with 7.3.x and later. +* [ ] Update the first line of android/Dockerfile with the current 'focal' image according to + https://hub.docker.com/_/ubuntu +* [ ] Run android/create-docker-image.ps1 +* [ ] Update azure-pipelines.yml to point to the new linux docker image from Azure Container Registry +* [ ] Run windows/create-image.ps1 +* [ ] Update azure-pipelines.yml to point to the new Android image. +* [ ] Submit PR with those changes and merge it. +* [ ] In the Azure portal, mark the newly created image as the 'latest' one. +* [ ] Mint a new macOS base box. (See instructions in `scripts/azure-pipelines/osx/README.md`) +* [ ] Deploy the new base box to all hosts. +* [ ] Update the software on the CTI's machine #12 to match. diff --git a/scripts/azure-pipelines/test-modified-ports.ps1 b/scripts/azure-pipelines/test-modified-ports.ps1 index c17010cab5569a..3978ce0d3f90ec 100755 --- a/scripts/azure-pipelines/test-modified-ports.ps1 +++ b/scripts/azure-pipelines/test-modified-ports.ps1 @@ -52,30 +52,27 @@ Param( [Parameter(ParameterSetName='BinarySourceStub')] $BinarySourceStub = $null, [String]$BuildReason = $null, - [String[]]$AdditionalSkips = @(), - [String[]]$OnlyTest = $null, [switch]$NoParentHashes = $false, [switch]$PassingIsPassing = $false ) if (-Not ((Test-Path "triplets/$Triplet.cmake") -or (Test-Path "triplets/community/$Triplet.cmake"))) { Write-Error "Incorrect triplet '$Triplet', please supply a valid triplet." - throw + exit 1 } if ((-Not [string]::IsNullOrWhiteSpace($ArchivesRoot))) { if ((-Not [string]::IsNullOrWhiteSpace($BinarySourceStub))) { Write-Error "Only one binary caching setting may be used." - throw + exit 1 } $BinarySourceStub = "files,$ArchivesRoot" } -$env:VCPKG_DOWNLOADS = Join-Path $WorkingRoot 'downloads' -$buildtreesRoot = Join-Path $WorkingRoot 'buildtrees' +$buildtreesRoot = Join-Path $WorkingRoot 'b' $installRoot = Join-Path $WorkingRoot 'installed' -$packagesRoot = Join-Path $WorkingRoot 'packages' +$packagesRoot = Join-Path $WorkingRoot 'p' $commonArgs = @( "--x-buildtrees-root=$buildtreesRoot", @@ -85,7 +82,7 @@ $commonArgs = @( ) $cachingArgs = @() -$skipFailures = $false +$skipFailuresArg = @() if ([string]::IsNullOrWhiteSpace($BinarySourceStub)) { $cachingArgs = @('--no-binarycaching') } else { @@ -96,7 +93,7 @@ if ([string]::IsNullOrWhiteSpace($BinarySourceStub)) { } elseif ($BuildReason -eq 'PullRequest') { Write-Host 'Build reason was Pull Request, using binary caching in read write mode, skipping failures.' - $skipFailures = $true + $skipFailuresArg = @('--skip-failures') } else { Write-Host "Build reason was $BuildReason, using binary caching in write only mode." @@ -106,25 +103,16 @@ if ([string]::IsNullOrWhiteSpace($BinarySourceStub)) { $cachingArgs += @("--binarysource=clear;$BinarySourceStub,$binaryCachingMode") } -if ($Triplet -eq 'x64-linux') { - $env:HOME = '/home/agent' - $executableExtension = [string]::Empty -} -elseif ($Triplet -eq 'x64-osx') { - $executableExtension = [string]::Empty -} -else { +if ($IsWindows) { $executableExtension = '.exe' +} else { + $executableExtension = [string]::Empty } -$xmlResults = Join-Path $ArtifactStagingDirectory 'xml-results' -mkdir $xmlResults -$xmlFile = Join-Path $xmlResults "$Triplet.xml" - $failureLogs = Join-Path $ArtifactStagingDirectory 'failure-logs' +$xunitFile = Join-Path $ArtifactStagingDirectory "$Triplet-results.xml" -if ($IsWindows) -{ +if ($IsWindows) { mkdir empty cmd /c "robocopy.exe empty `"$buildtreesRoot`" /MIR /NFL /NDL /NC /NP > nul" cmd /c "robocopy.exe empty `"$packagesRoot`" /MIR /NFL /NDL /NC /NP > nul" @@ -133,74 +121,86 @@ if ($IsWindows) } & "./vcpkg$executableExtension" x-ci-clean @commonArgs -if ($LASTEXITCODE -ne 0) +$lastLastExitCode = $LASTEXITCODE +if ($lastLastExitCode -ne 0) { - throw "vcpkg clean failed" + Write-Error "vcpkg clean failed" + exit $lastLastExitCode } -$skipList = . "$PSScriptRoot/generate-skip-list.ps1" ` - -Triplet $Triplet ` - -BaselineFile "$PSScriptRoot/../ci.baseline.txt" ` - -SkipFailures:$skipFailures ` - -AdditionalSkips $AdditionalSkips - -if ($null -ne $OnlyTest) +$parentHashes = @() +if (($BuildReason -eq 'PullRequest') -and -not $NoParentHashes) { - $OnlyTest | % { - $portName = $_ - & "./vcpkg$executableExtension" install --triplet $Triplet @commonArgs @cachingArgs $portName - if (-not $?) + $headBaseline = Get-Content "$PSScriptRoot/../ci.baseline.txt" -Raw + + # Prefetch tools for better output + foreach ($tool in @('cmake', 'ninja', 'git')) { + & "./vcpkg$executableExtension" fetch $tool + $lastLastExitCode = $LASTEXITCODE + if ($lastLastExitCode -ne 0) { - [System.Console]::Error.WriteLine( ` - "REGRESSION: ${portName}:$triplet. If expected, remove ${portName} from the OnlyTest list." ` - ) + Write-Error "Failed to fetch $tool" + exit $lastLastExitCode } } - $failureLogsEmpty = (-Not (Test-Path $failureLogs) -Or ((Get-ChildItem $failureLogs).count -eq 0)) - Write-Host "##vso[task.setvariable variable=FAILURE_LOGS_EMPTY]$failureLogsEmpty" -} -else -{ - $hostArgs = @() - if ($Triplet -in @('x64-windows', 'x64-osx', 'x64-linux')) + Write-Host "Comparing with HEAD~1" + & git revert -n -m 1 HEAD | Out-Null + $lastLastExitCode = $LASTEXITCODE + if ($lastLastExitCode -ne 0) { - # WORKAROUND: These triplets are native-targetting which triggers an issue in how vcpkg handles the skip list. - # The workaround is to pass the skip list as host-excludes as well. - $hostArgs = @("--host-exclude=$skipList") + Write-Error "git revert failed" + exit $lastLastExitCode } - $parentHashes = @() - if (($BuildReason -eq 'PullRequest') -and -not $NoParentHashes) + $parentBaseline = Get-Content "$PSScriptRoot/../ci.baseline.txt" -Raw + if ($parentBaseline -eq $headBaseline) { - # Prefetch tools for better output - & "./vcpkg$executableExtension" fetch cmake - & "./vcpkg$executableExtension" fetch ninja - & "./vcpkg$executableExtension" fetch git - - Write-Host "Determining parent hashes using HEAD~1" - $parentHashesFile = Join-Path $WorkingRoot 'parent-hashes.json' + Write-Host "CI baseline unchanged, determining parent hashes" + $parentHashesFile = Join-Path $ArtifactStagingDirectory 'parent-hashes.json' $parentHashes = @("--parent-hashes=$parentHashesFile") - & git revert -n -m 1 HEAD - & "./vcpkg$executableExtension" ci $Triplet --dry-run --exclude=$skipList @hostArgs @commonArgs --no-binarycaching "--output-hashes=$parentHashesFile" ` - | ForEach-Object { if ($_ -match ' dependency information| determine pass') { Write-Host $_ } } - & git reset --hard HEAD - - Write-Host "Running CI using parent hashes" + # The vcpkg.cmake toolchain file is not part of ABI hashing, + # but changes must trigger at least some testing. + Copy-Item "scripts/buildsystems/vcpkg.cmake" -Destination "scripts/test_ports/cmake" + Copy-Item "scripts/buildsystems/vcpkg.cmake" -Destination "scripts/test_ports/cmake-user" + & "./vcpkg$executableExtension" ci "--triplet=$Triplet" --dry-run "--ci-baseline=$PSScriptRoot/../ci.baseline.txt" @commonArgs --no-binarycaching "--output-hashes=$parentHashesFile" + $lastLastExitCode = $LASTEXITCODE + if ($lastLastExitCode -ne 0) + { + Write-Error "Generating parent hashes failed; this is usually an infrastructure problem with vcpkg" + exit $lastLastExitCode + } + } + else + { + Write-Host "CI baseline was modified, not using parent hashes" } - & "./vcpkg$executableExtension" ci $Triplet --x-xunit=$xmlFile --exclude=$skipList --failure-logs=$failureLogs @hostArgs @commonArgs @cachingArgs @parentHashes - - $failureLogsEmpty = (-Not (Test-Path $failureLogs) -Or ((Get-ChildItem $failureLogs).count -eq 0)) - Write-Host "##vso[task.setvariable variable=FAILURE_LOGS_EMPTY]$failureLogsEmpty" - - if ($LASTEXITCODE -ne 0) + Write-Host "Running CI for HEAD" + & git reset --hard HEAD + $lastLastExitCode = $LASTEXITCODE + if ($lastLastExitCode -ne 0) { - throw "vcpkg ci failed" + Write-Error "git reset failed" + exit $lastLastExitCode } +} + +# The vcpkg.cmake toolchain file is not part of ABI hashing, +# but changes must trigger at least some testing. +Copy-Item "scripts/buildsystems/vcpkg.cmake" -Destination "scripts/test_ports/cmake" +Copy-Item "scripts/buildsystems/vcpkg.cmake" -Destination "scripts/test_ports/cmake-user" +& "./vcpkg$executableExtension" ci "--triplet=$Triplet" --failure-logs=$failureLogs --x-xunit=$xunitFile "--ci-baseline=$PSScriptRoot/../ci.baseline.txt" @commonArgs @cachingArgs @parentHashes @skipFailuresArg +$lastLastExitCode = $LASTEXITCODE + +$failureLogsEmpty = (-Not (Test-Path $failureLogs) -Or ((Get-ChildItem $failureLogs).count -eq 0)) +Write-Host "##vso[task.setvariable variable=FAILURE_LOGS_EMPTY]$failureLogsEmpty" - & "$PSScriptRoot/analyze-test-results.ps1" -logDir $xmlResults ` - -triplet $Triplet ` - -baselineFile .\scripts\ci.baseline.txt ` - -passingIsPassing:$PassingIsPassing +Write-Host "##vso[task.setvariable variable=XML_RESULTS_FILE]$xunitFile" + +if ($lastLastExitCode -ne 0) +{ + Write-Error "vcpkg ci testing failed; this is usually a bug in a port. Check for failure logs attached to the run in Azure Pipelines." } + +exit $lastLastExitCode diff --git a/scripts/azure-pipelines/windows-unstable/azure-pipelines.yml b/scripts/azure-pipelines/windows-unstable/azure-pipelines.yml index 65ee8decfcc7ec..b2d08e22e8306e 100644 --- a/scripts/azure-pipelines/windows-unstable/azure-pipelines.yml +++ b/scripts/azure-pipelines/windows-unstable/azure-pipelines.yml @@ -1,11 +1,83 @@ # Copyright (c) Microsoft Corporation. # SPDX-License-Identifier: MIT # -variables: - unstable-pool: 'VcpkgUnstable1ES' jobs: -- template: job.yml - parameters: - triplet: x64-windows - jobName: x64_windows +- job: x64_windows + pool: + name: vcpkg-testing-msvc + demands: ImageVersionOverride -equals 2024.10.14 + workspace: + clean: resources + timeoutInMinutes: 2880 # 2 days + variables: + - name: WORKING_ROOT + value: D:\ + - name: VCPKG_DOWNLOADS + value: D:\downloads + - name: Codeql.Enabled + value: false + steps: + - task: DownloadBuildArtifacts@0 + displayName: 'Download DropBuildNumber if not specified' + inputs: + buildType: specific + project: '0bdbc590-a062-4c3f-b0f6-9383f67865ee' + pipeline: 16549 + buildVersionToDownload: latestFromBranch + branchName: 'refs/heads/$(MSVCBranchName)' + artifactName: BuildNumber + downloadPath: 'D:\msvc-drops' + condition: eq(variables['DropBuildNumber'], '') + - task: PowerShell@2 + displayName: 'Set DropBuildNumber if not specified' + inputs: + targetType: inline + script: | + $DropBuildNumber = Get-Content -Path D:\msvc-drops\BuildNumber\Build.BuildNumber.txt + Write-Host "##vso[task.setvariable variable=DropBuildNumber]$DropBuildNumber" + Write-Host "Build Number set to: $DropBuildNumber" + pwsh: true + condition: eq(variables['DropBuildNumber'], '') + - task: ms-vscs-artifact.build-tasks.artifactDropDownloadTask-1.artifactDropDownloadTask@0 + displayName: 'Download msvc x86 ret' + inputs: + dropServiceURI: 'https://devdiv.artifacts.visualstudio.com/DefaultCollection' + buildNumber: 'msvc/builds/$(DropBuildNumber)/x86ret' + destinationPath: 'D:\msvc-drops\$(DropBuildNumber)\binaries.x86ret' + - task: ms-vscs-artifact.build-tasks.artifactDropDownloadTask-1.artifactDropDownloadTask@0 + displayName: 'Download msvc amd64 ret' + inputs: + dropServiceURI: 'https://devdiv.artifacts.visualstudio.com/DefaultCollection' + buildNumber: 'msvc/builds/$(DropBuildNumber)/amd64ret' + destinationPath: 'D:\msvc-drops\$(DropBuildNumber)\binaries.amd64ret' + - task: PowerShell@2 + displayName: 'Rearrange MSVC Drop Layout' + inputs: + targetType: filePath + filePath: 'scripts/azure-pipelines/windows-unstable/rearrange-msvc-drop-layout.ps1' + arguments: '-DropRoot "D:\msvc-drops\$(DropBuildNumber)" -BuildType ret' + pwsh: true + - script: .\bootstrap-vcpkg.bat + displayName: 'Bootstrap vcpkg' + - task: AzureCLI@2 + displayName: '*** Test Modified Ports' + inputs: + azureSubscription: 'VcpkgPrFleet' + scriptType: 'pscore' + failOnStandardError: true + scriptLocation: 'inlineScript' + inlineScript: | + $current = Get-Date -AsUtc + $endDate = $current.AddDays(2) + $end = Get-Date -Date $endDate -UFormat '+%Y-%m-%dT%H:%MZ' + $assetSas = az storage container generate-sas --name cache --account-name vcpkgassetcachewus3 --as-user --auth-mode login --https-only --permissions r --expiry $end -o tsv | Out-String + $assetSas = $assetSas.Trim() + $env:X_VCPKG_ASSET_SOURCES = "x-azurl,https://vcpkgassetcachewus3.blob.core.windows.net/cache,$assetSas,read" + & scripts/azure-pipelines/test-modified-ports.ps1 -Triplet x64-windows -BuildReason $(Build.Reason) -WorkingRoot $env:WORKING_ROOT -ArtifactStagingDirectory $(Build.ArtifactStagingDirectory) -PassingIsPassing + - task: PublishBuildArtifacts@1 + displayName: "Publish Artifact: failure logs for x64-windows" + inputs: + PathtoPublish: '$(Build.ArtifactStagingDirectory)\failure-logs' + ArtifactName: "failure logs for x64-windows" + condition: ne(variables['FAILURE_LOGS_EMPTY'], 'True') diff --git a/scripts/azure-pipelines/windows-unstable/job.yml b/scripts/azure-pipelines/windows-unstable/job.yml deleted file mode 100644 index 346e2bcf3b2aac..00000000000000 --- a/scripts/azure-pipelines/windows-unstable/job.yml +++ /dev/null @@ -1,103 +0,0 @@ -# Copyright (c) Microsoft Corporation. -# SPDX-License-Identifier: MIT -# - -jobs: -- job: ${{ parameters.jobName }} - pool: - name: $(unstable-pool) - workspace: - clean: resources - timeoutInMinutes: 1440 # 1 day - variables: - - name: WORKING_ROOT - value: D:\ - - name: VCPKG_DOWNLOADS - value: D:\downloads - - group: vcpkg-asset-caching-credentials - - name: X_VCPKG_ASSET_SOURCES - value: "x-azurl,$(root-url),$(sas),readwrite" - - steps: - - task: DownloadBuildArtifacts@0 - displayName: 'Download DropBuildNumber if not specified' - inputs: - buildType: specific - project: '0bdbc590-a062-4c3f-b0f6-9383f67865ee' - pipeline: 8136 - buildVersionToDownload: latestFromBranch - branchName: 'refs/heads/$(MSVCBranchName)' - artifactName: BuildNumber - downloadPath: 'D:\msvc-drops' - condition: eq(variables['DropBuildNumber'], '') - - task: PowerShell@2 - displayName: 'Set DropBuildNumber if not specified' - inputs: - targetType: inline - script: | - $DropBuildNumber = Get-Content -Path D:\msvc-drops\BuildNumber\Build.BuildNumber.txt - Write-Host "##vso[task.setvariable variable=DropBuildNumber]$DropBuildNumber" - Write-Host "Build Number set to: $DropBuildNumber" - pwsh: true - condition: eq(variables['DropBuildNumber'], '') - - task: ms-vscs-artifact.build-tasks.artifactDropDownloadTask-1.artifactDropDownloadTask@0 - displayName: 'Download msvc x86 ret' - inputs: - dropServiceURI: 'https://devdiv.artifacts.visualstudio.com/DefaultCollection' - buildNumber: 'msvc/builds/$(DropBuildNumber)/x86ret' - destinationPath: 'D:\msvc-drops\$(DropBuildNumber)\binaries.x86ret' - - task: ms-vscs-artifact.build-tasks.artifactDropDownloadTask-1.artifactDropDownloadTask@0 - displayName: 'Download msvc amd64 ret' - inputs: - dropServiceURI: 'https://devdiv.artifacts.visualstudio.com/DefaultCollection' - buildNumber: 'msvc/builds/$(DropBuildNumber)/amd64ret' - destinationPath: 'D:\msvc-drops\$(DropBuildNumber)\binaries.amd64ret' - - task: PowerShell@2 - displayName: 'Rearrange MSVC Drop Layout' - inputs: - targetType: filePath - filePath: 'scripts/azure-pipelines/windows-unstable/rearrange-msvc-drop-layout.ps1' - arguments: '-DropRoot "D:\msvc-drops\$(DropBuildNumber)" -BuildType ret' - pwsh: true - - task: PowerShell@2 - displayName: 'Report on Disk Space' - condition: always() - inputs: - filePath: 'scripts/azure-pipelines/windows/disk-space.ps1' - pwsh: true - - script: .\bootstrap-vcpkg.bat - displayName: 'Build vcpkg' - - task: PowerShell@2 - displayName: '*** Test Modified Ports and Prepare Test Logs ***' - inputs: - failOnStderr: true - filePath: 'scripts/azure-pipelines/test-modified-ports.ps1' - arguments: '-Triplet ${{ parameters.triplet }} -BuildReason $(Build.Reason) -WorkingRoot ${{ variables.WORKING_ROOT }} -ArtifactStagingDirectory $(Build.ArtifactStagingDirectory) -PassingIsPassing' - pwsh: true - - task: PowerShell@2 - displayName: 'Report on Disk Space After Build' - condition: always() - inputs: - filePath: 'scripts/azure-pipelines/windows/disk-space.ps1' - pwsh: true - - task: PublishBuildArtifacts@1 - displayName: 'Publish Artifact: failure logs for ${{ parameters.triplet }}' - inputs: - PathtoPublish: '$(Build.ArtifactStagingDirectory)\failure-logs' - ArtifactName: 'failure logs for ${{ parameters.triplet }}' - condition: always() - - task: PowerShell@2 - displayName: 'Build a file list for all packages' - condition: always() - inputs: - targetType: inline - script: | - ./vcpkg.exe fetch python3 - & $(.\vcpkg fetch python3) .\scripts\file_script.py D:\installed\vcpkg\info\ - pwsh: true - - task: PublishBuildArtifacts@1 - displayName: 'Publish Artifact: file lists for ${{ parameters.triplet }}' - condition: always() - inputs: - PathtoPublish: scripts/list_files - ArtifactName: 'file lists for ${{ parameters.triplet }}' diff --git a/scripts/azure-pipelines/windows-unstable/rearrange-msvc-drop-layout.ps1 b/scripts/azure-pipelines/windows-unstable/rearrange-msvc-drop-layout.ps1 index d409bc2085516f..53692532e31c7e 100644 --- a/scripts/azure-pipelines/windows-unstable/rearrange-msvc-drop-layout.ps1 +++ b/scripts/azure-pipelines/windows-unstable/rearrange-msvc-drop-layout.ps1 @@ -20,7 +20,7 @@ param( Set-StrictMode -Version Latest -$MSVCRoot = "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC" +$MSVCRoot = "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC" $ErrorActionPreference = "Stop" @@ -54,7 +54,7 @@ Move-Item "$DropRoot\binaries.x86$BuildType\atlmfc\include" "$tempRoot\atlmfc\in Move-Item "$DropRoot\binaries.x86$BuildType\atlmfc\lib\i386" "$tempRoot\atlmfc\lib\x86" Move-Item "$DropRoot\binaries.amd64$BuildType\atlmfc\lib\amd64" "$tempRoot\atlmfc\lib\x64" -$toolsets = Get-ChildItem -Path $MSVCRoot -Directory | Sort-Object -Descending +[string[]]$toolsets = Get-ChildItem -Path $MSVCRoot -Directory | Sort-Object -Descending if ($toolsets.Length -eq 0) { throw "Could not find Visual Studio toolset!" } diff --git a/scripts/azure-pipelines/windows/azure-pipelines.yml b/scripts/azure-pipelines/windows/azure-pipelines.yml index 60ba6fa1b80a14..eaace013fd1909 100644 --- a/scripts/azure-pipelines/windows/azure-pipelines.yml +++ b/scripts/azure-pipelines/windows/azure-pipelines.yml @@ -2,13 +2,28 @@ # SPDX-License-Identifier: MIT # +parameters: + - name: vcpkgToolSha + displayName: 'Custom SHA of vcpkg-tool to use rather than bootstrap' + type: string + default: 'use default' + - name: jobName + type: string + default: 'x86_windows' + - name: tripletPattern + displayName: 'Enable the triplets which contain this substring' + type: string + default: '' + jobs: - job: ${{ parameters.jobName }} + condition: and(succeeded(), contains('^${{ replace(parameters.jobName, '_', '-') }}$', '${{ parameters.tripletPattern }}')) pool: - name: ${{ parameters.poolName }} + name: PrWin-1ES + demands: ImageVersionOverride -equals 2024.10.14 workspace: clean: resources - timeoutInMinutes: 1440 # 1 day + timeoutInMinutes: 2880 # 2 days variables: - name: WORKING_ROOT value: D:\ @@ -18,103 +33,56 @@ jobs: value: $(Build.ArtifactStagingDirectory)\format.diff - name: ExtraChecksTriplet value: x86-windows - - group: vcpkg-asset-caching-credentials - - name: X_VCPKG_ASSET_SOURCES - value: "x-azurl,$(root-url),$(sas),readwrite" - - group: vcpkg-binary-caching-credentials - - name: X_VCPKG_BINARY_SOURCE_STUB - value: "x-azblob,$(root-bin-url),$(sas-bin)" - steps: - - task: PowerShell@2 - displayName: 'Report on Disk Space' - condition: always() - inputs: - filePath: 'scripts/azure-pipelines/windows/disk-space.ps1' - pwsh: true - script: .\bootstrap-vcpkg.bat displayName: 'Bootstrap vcpkg' - - script: | - if exist ${{ variables.VCPKG_DOWNLOADS }} rmdir /S /Q ${{ variables.VCPKG_DOWNLOADS }} 2>&1 - displayName: 'Clean downloads' - # Note that we run docs checks before PR checks because they are likely to invalidate a whole run anyway - - task: Powershell@2 - displayName: 'Generate Documentation' - condition: eq('${{ parameters.triplet }}', '${{ variables.ExtraChecksTriplet }}') - inputs: - filePath: 'docs/regenerate.ps1' - arguments: '-VcpkgRoot . -WarningAction Stop' - pwsh: true + condition: eq('use default', '${{ parameters.vcpkgToolSha }}') + - script: .\scripts\azure-pipelines\windows\bootstrap-from-source.cmd ${{ parameters.vcpkgToolSha }} + displayName: "Build vcpkg with CMake" + condition: ne('use default', '${{ parameters.vcpkgToolSha }}') - script: '.\vcpkg.exe format-manifest --all' displayName: 'Format Manifests' - condition: eq('${{ parameters.triplet }}', '${{ variables.ExtraChecksTriplet }}') - - task: Powershell@2 + condition: eq('${{ replace(parameters.jobName, '_', '-') }}', '${{ variables.ExtraChecksTriplet }}') + - task: PowerShell@2 displayName: 'Create Diff' - condition: eq('${{ parameters.triplet }}', '${{ variables.ExtraChecksTriplet }}') + condition: eq('${{ replace(parameters.jobName, '_', '-') }}', '${{ variables.ExtraChecksTriplet }}') inputs: filePath: scripts/azure-pipelines/Create-PRDiff.ps1 arguments: "-DiffFile '$(DiffFile)'" pwsh: true - task: PublishBuildArtifacts@1 displayName: 'Publish Format and Documentation Diff' - condition: and(eq('${{ parameters.triplet }}', '${{ variables.ExtraChecksTriplet }}'), failed()) + condition: and(eq('${{ replace(parameters.jobName, '_', '-') }}', '${{ variables.ExtraChecksTriplet }}'), failed()) inputs: PathtoPublish: '$(DiffFile)' ArtifactName: 'format.diff' - - task: PowerShell@2 - displayName: '*** Test Modified Ports and Prepare Test Logs ***' + - task: AzureCLI@2 + displayName: '*** Test Modified Ports' inputs: - failOnStderr: true - filePath: 'scripts/azure-pipelines/test-modified-ports.ps1' - arguments: '-Triplet ${{ parameters.triplet }} -BuildReason $(Build.Reason) -BinarySourceStub "$(X_VCPKG_BINARY_SOURCE_STUB)" -WorkingRoot ${{ variables.WORKING_ROOT }} -ArtifactStagingDirectory $(Build.ArtifactStagingDirectory)' - pwsh: true + azureSubscription: 'VcpkgPrFleet' + scriptType: 'pscore' + scriptLocation: 'inlineScript' + inlineScript: | + $current = Get-Date -AsUtc + $endDate = $current.AddDays(2) + $end = Get-Date -Date $endDate -UFormat '+%Y-%m-%dT%H:%MZ' + $assetSas = az storage container generate-sas --name cache --account-name vcpkgassetcachewus3 --as-user --auth-mode login --https-only --permissions rcl --expiry $end -o tsv | Out-String + $assetSas = $assetSas.Trim() + $binarySas = az storage container generate-sas --name cache --account-name vcpkgbinarycachewus3 --as-user --auth-mode login --https-only --permissions rclw --expiry $end -o tsv | Out-String + $binarySas = $binarySas.Trim() + $env:X_VCPKG_ASSET_SOURCES = "x-azurl,https://vcpkgassetcachewus3.blob.core.windows.net/cache,$assetSas,readwrite" + & scripts/azure-pipelines/test-modified-ports.ps1 -Triplet ${{ replace(parameters.jobName, '_', '-') }} -BuildReason $(Build.Reason) -BinarySourceStub "x-azblob,https://vcpkgbinarycachewus3.blob.core.windows.net/cache,$binarySas" -WorkingRoot $env:WORKING_ROOT -ArtifactStagingDirectory $(Build.ArtifactStagingDirectory) - task: PowerShell@2 displayName: 'Validate version files' - condition: eq('${{ parameters.triplet }}', '${{ variables.ExtraChecksTriplet }}') + condition: eq('${{ replace(parameters.jobName, '_', '-') }}', '${{ variables.ExtraChecksTriplet }}') inputs: - targetType: inline - script: | - ./vcpkg.exe --feature-flags=versions x-ci-verify-versions --verbose | - ForEach-Object -Begin { - $long_error = '' - } -Process { - if ($long_error -ne '' -and $_ -match '^$|^ ') { - # Extend multi-line message - $long_error = -join($long_error, "%0D%0A", $_ -replace '^ ','' ` - -replace '(git add) [^ ]*\\ports\\([^ ]*)', '$1 ports/$2' ) - } else { - if ($long_error -ne '') { - # Flush multi-line message - $long_error - $long_error = '' - } - if ($_ -match '^Error: ') { - # Start multi-line message - $long_error = $_ -replace '^Error: ', '##vso[task.logissue type=error]' ` - -replace '(^##vso[^\]]*)](.*) [^ ]*\\versions\\(.-)\\(.*.json)(.*)', '$1;sourcepath=versions/$3/$4;linenumber=2]$2 version/$3/$4$5' - } else { - # Normal line - $_ - } - } - } -End { - if ($long_error -ne '') { - # Flush multi-line message - $long_error - } - } - pwsh: true - - task: PowerShell@2 - displayName: 'Report on Disk Space After Build' - condition: always() - inputs: - filePath: 'scripts/azure-pipelines/windows/disk-space.ps1' + filePath: 'scripts/azure-pipelines/windows/validate-version-files.ps1' pwsh: true - task: PublishBuildArtifacts@1 - displayName: 'Publish Artifact: failure logs for ${{ parameters.triplet }}' + displayName: "Publish Artifact: failure logs for ${{ replace(parameters.jobName, '_', '-') }}" inputs: PathtoPublish: '$(Build.ArtifactStagingDirectory)\failure-logs' - ArtifactName: 'failure logs for ${{ parameters.triplet }}' + ArtifactName: "failure logs for ${{ replace(parameters.jobName, '_', '-') }}" condition: ne(variables['FAILURE_LOGS_EMPTY'], 'True') - task: PowerShell@2 displayName: 'Build a file list for all packages' @@ -126,8 +94,16 @@ jobs: & $(.\vcpkg fetch python3) .\scripts\file_script.py D:\installed\vcpkg\info\ pwsh: true - task: PublishBuildArtifacts@1 - displayName: 'Publish Artifact: file lists for ${{ parameters.triplet }}' + displayName: "Publish Artifact: file lists for ${{ replace(parameters.jobName, '_', '-') }}" condition: always() inputs: PathtoPublish: scripts/list_files - ArtifactName: 'file lists for ${{ parameters.triplet }}' + ArtifactName: "file lists for ${{ replace(parameters.jobName, '_', '-') }}" + - task: PublishTestResults@2 + displayName: 'Publish Test Results' + condition: ne(variables['XML_RESULTS_FILE'], '') + inputs: + testRunTitle: ${{ replace(parameters.jobName, '_', '-') }} + testResultsFormat: xUnit + testResultsFiles: $(XML_RESULTS_FILE) + platform: ${{ replace(parameters.jobName, '_', '-') }} diff --git a/scripts/azure-pipelines/windows/bootstrap-from-source.cmd b/scripts/azure-pipelines/windows/bootstrap-from-source.cmd new file mode 100644 index 00000000000000..8f8aae33748094 --- /dev/null +++ b/scripts/azure-pipelines/windows/bootstrap-from-source.cmd @@ -0,0 +1,7 @@ +call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat" -arch=x86 -host_arch=x86 +git clone https://github.com/microsoft/vcpkg-tool vcpkg-tool +git -C vcpkg-tool switch -d %1 +rmdir /s /q build.x86.release > nul 2> nul +cmake.exe -G Ninja -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF -DVCPKG_DEVELOPMENT_WARNINGS=OFF -DVCPKG_WARNINGS_AS_ERRORS=OFF -DVCPKG_BUILD_FUZZING=OFF -DVCPKG_BUILD_TLS12_DOWNLOADER=OFF -B build.x86.release -S vcpkg-tool +ninja.exe -C build.x86.release +move build.x86.release\vcpkg.exe vcpkg.exe diff --git a/scripts/azure-pipelines/windows/create-image.ps1 b/scripts/azure-pipelines/windows/create-image.ps1 index 21fb8c19a835a6..dd70a98f0155e8 100644 --- a/scripts/azure-pipelines/windows/create-image.ps1 +++ b/scripts/azure-pipelines/windows/create-image.ps1 @@ -14,40 +14,88 @@ at https://docs.microsoft.com/en-us/powershell/azure/install-az-ps?view=azps-3.6 or are running from Azure Cloud Shell. #> -$Location = 'westus2' -$Prefix = 'Win-' -$Prefix += (Get-Date -Format 'yyyy-MM-dd') -$VMSize = 'Standard_D32as_v4' +$Location = 'westus3' +$DatePrefixComponent = Get-Date -Format 'yyyy-MM-dd' +$Prefix = "Win-$DatePrefixComponent" +$GalleryImageVersion = $DatePrefixComponent.Replace('-','.') +$VMSize = 'Standard_D8ads_v5' $ProtoVMName = 'PROTOTYPE' -$WindowsServerSku = '2022-datacenter-g2' +$WindowsServerSku = '2022-datacenter-azure-edition' $ErrorActionPreference = 'Stop' -$CudnnBaseUrl = 'https://vcpkgimageminting.blob.core.windows.net/assets/cudnn-11.2-windows-x64-v8.1.1.33.zip' $ProgressActivity = 'Creating Windows Image' $TotalProgress = 18 $CurrentProgress = 1 -Import-Module "$PSScriptRoot/../create-vmss-helpers.psm1" -DisableNameChecking +# Assigning this to another variable helps when running the commands in this script manually for +# debugging +$Root = $PSScriptRoot -#################################################################################################### -Write-Progress ` - -Activity $ProgressActivity ` - -Status 'Creating resource group' ` - -PercentComplete (100 / $TotalProgress * $CurrentProgress++) +<# +.SYNOPSIS +Generates a random password. -$ResourceGroupName = Find-ResourceGroupName $Prefix -$AdminPW = New-Password -New-AzResourceGroup -Name $ResourceGroupName -Location $Location -$AdminPWSecure = ConvertTo-SecureString $AdminPW -AsPlainText -Force -$Credential = New-Object System.Management.Automation.PSCredential ("AdminUser", $AdminPWSecure) +.DESCRIPTION +New-Password generates a password, randomly, of length $Length, containing +only alphanumeric characters, underscore, and dash. -#################################################################################################### -Write-Progress ` - -Activity $ProgressActivity ` - -Status 'Creating virtual network' ` - -PercentComplete (100 / $TotalProgress * $CurrentProgress++) +.PARAMETER Length +The length of the returned password. +#> +function New-Password { + Param ([int] $Length = 32) + $alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_-" + if ($alphabet.Length -ne 64) { + throw 'Bad alphabet length' + } + + $result = New-Object SecureString + for ($idx = 0; $idx -lt $Length; $idx++) { + $result.AppendChar($alphabet[(Get-SecureRandom -Maximum $alphabet.Length)]) + } + + return $result +} -$VirtualNetwork = Create-LockedDownNetwork -ResourceGroupName $ResourceGroupName -Location $Location +<# +.SYNOPSIS +Waits for the shutdown of the specified resource. + +.DESCRIPTION +Wait-Shutdown takes a VM, and checks if there's a 'PowerState/stopped' +code; if there is, it returns. If there isn't, it waits ten seconds and +tries again. + +.PARAMETER ResourceGroupName +The name of the resource group to look up the VM in. + +.PARAMETER Name +The name of the virtual machine to wait on. +#> +function Wait-Shutdown { + [CmdletBinding()] + Param([string]$ResourceGroupName, [string]$Name) + + Write-Host "Waiting for $Name to stop..." + while ($true) { + $Vm = Get-AzVM -ResourceGroupName $ResourceGroupName -Name $Name -Status + $highestStatus = $Vm.Statuses.Count + for ($idx = 0; $idx -lt $highestStatus; $idx++) { + if ($Vm.Statuses[$idx].Code -eq 'PowerState/stopped') { + return + } + } + + Write-Host "... not stopped yet, sleeping for 10 seconds" + Start-Sleep -Seconds 10 + } +} + + +$AdminPW = New-Password +$Credential = New-Object System.Management.Automation.PSCredential ("AdminUser", $AdminPW) + +$VirtualNetwork = Get-AzVirtualNetwork -ResourceGroupName 'vcpkg-image-minting' -Name 'vcpkg-image-mintingNetwork' #################################################################################################### Write-Progress ` @@ -55,14 +103,15 @@ Write-Progress ` -Status 'Creating prototype VM' ` -PercentComplete (100 / $TotalProgress * $CurrentProgress++) -$NicName = $ResourceGroupName + 'NIC' +$NicName = $Prefix + 'NIC' $Nic = New-AzNetworkInterface ` -Name $NicName ` - -ResourceGroupName $ResourceGroupName ` + -ResourceGroupName 'vcpkg-image-minting' ` -Location $Location ` - -Subnet $VirtualNetwork.Subnets[0] + -Subnet $VirtualNetwork.Subnets[0] ` + -EnableAcceleratedNetworking -$VM = New-AzVMConfig -Name $ProtoVMName -VMSize $VMSize -Priority 'Spot' -MaxPrice -1 +$VM = New-AzVMConfig -Name $ProtoVMName -VMSize $VMSize -SecurityType TrustedLaunch -IdentityType SystemAssigned $VM = Set-AzVMOperatingSystem ` -VM $VM ` -Windows ` @@ -71,6 +120,7 @@ $VM = Set-AzVMOperatingSystem ` -ProvisionVMAgent $VM = Add-AzVMNetworkInterface -VM $VM -Id $Nic.Id +$VM = Set-AzVMOSDisk -VM $VM -StorageAccountType 'Premium_LRS' -CreateOption 'FromImage' $VM = Set-AzVMSourceImage ` -VM $VM ` -PublisherName 'MicrosoftWindowsServer' ` @@ -80,46 +130,31 @@ $VM = Set-AzVMSourceImage ` $VM = Set-AzVMBootDiagnostic -VM $VM -Disable New-AzVm ` - -ResourceGroupName $ResourceGroupName ` + -ResourceGroupName 'vcpkg-image-minting' ` -Location $Location ` -VM $VM -#################################################################################################### -Write-Progress ` - -Activity $ProgressActivity ` - -Status 'Running provisioning script deploy-tlssettings.ps1 in VM' ` - -PercentComplete (100 / $TotalProgress * $CurrentProgress++) - -$ProvisionImageResult = Invoke-AzVMRunCommandWithRetries ` - -ResourceGroupName $ResourceGroupName ` - -VMName $ProtoVMName ` - -CommandId 'RunPowerShellScript' ` - -ScriptPath "$PSScriptRoot\deploy-tlssettings.ps1" - -Write-Host "deploy-tlssettings.ps1 output: $($ProvisionImageResult.value.Message)" -Write-Host 'Waiting 1 minute for VM to reboot...' -Start-Sleep -Seconds 60 +$VMCreated = Get-AzVM -ResourceGroupName 'vcpkg-image-minting' -Name $ProtoVMName +$VMCreatedOsDisk = $VMCreated.StorageProfile.OsDisk.Name #################################################################################################### Write-Progress ` -Activity $ProgressActivity ` - -Status 'Running provisioning script deploy-psexec.ps1 in VM' ` + -Status 'Minting token for vcpkg-image-minting storage account' ` -PercentComplete (100 / $TotalProgress * $CurrentProgress++) -$DeployPsExecResult = Invoke-AzVMRunCommandWithRetries ` - -ResourceGroupName $ResourceGroupName ` - -VMName $ProtoVMName ` - -CommandId 'RunPowerShellScript' ` - -ScriptPath "$PSScriptRoot\deploy-psexec.ps1" +$VcpkgImageMintingAccount = Get-AzStorageAccount -ResourceGroupName 'vcpkg-image-minting' -Name 'vcpkgimageminting' -Write-Host "deploy-psexec.ps1 output: $($DeployPsExecResult.value.Message)" +$AssetStorageContext = New-AzStorageContext -StorageAccountName 'vcpkgimageminting' -UseConnectedAccount +$StartTime = Get-Date +$ExpiryTime = $StartTime.AddHours(4) +$AssetsSas = New-AzStorageContainerSASToken -Name 'assets' -Permission r -StartTime $StartTime -ExpiryTime $ExpiryTime -Context $AssetStorageContext #################################################################################################### function Invoke-ScriptWithPrefix { param( [string]$ScriptName, - [switch]$AddAdminPw, - [string]$CudnnUrl + [switch]$SkipSas ) Write-Progress ` @@ -127,30 +162,26 @@ function Invoke-ScriptWithPrefix { -Status "Running provisioning script $ScriptName in VM" ` -PercentComplete (100 / $TotalProgress * $CurrentProgress++) - $DropToAdminUserPrefix = Get-Content "$PSScriptRoot\drop-to-admin-user-prefix.ps1" -Encoding utf8NoBOM -Raw - $UtilityPrefixContent = Get-Content "$PSScriptRoot\utility-prefix.ps1" -Encoding utf8NoBOM -Raw + $UtilityPrefixContent = Get-Content "$Root\utility-prefix.ps1" -Encoding utf8NoBOM -Raw - $tempScriptFilename = [System.IO.Path]::GetTempPath() + [System.IO.Path]::GetRandomFileName() + ".txt" + $tempScriptFilename = "$env:TEMP\temp-script.txt" try { - $script = Get-Content "$PSScriptRoot\$ScriptName" -Encoding utf8NoBOM -Raw - if ($AddAdminPw) { - $script = $script.Replace('# REPLACE WITH DROP-TO-ADMIN-USER-PREFIX.ps1', $DropToAdminUserPrefix) - } - - if (-Not ([string]::IsNullOrWhiteSpace($CudnnUrl))) { - $script = $script.Replace('# REPLACE WITH $CudnnUrl', "`$CudnnUrl = '$CudnnUrl'") - } - - $script = $script.Replace('# REPLACE WITH UTILITY-PREFIX.ps1', $UtilityPrefixContent); + $script = Get-Content "$Root\$ScriptName" -Encoding utf8NoBOM -Raw +$replacement = @" +if (Test-Path "`$PSScriptRoot/utility-prefix.ps1") { + . "`$PSScriptRoot/utility-prefix.ps1" +} +"@ + $script = $script.Replace($replacement, $UtilityPrefixContent); Set-Content -Path $tempScriptFilename -Value $script -Encoding utf8NoBOM $parameter = $null - if ($AddAdminPw) { - $parameter = @{AdminUserPassword = $AdminPW;} + if (-not $SkipSas) { + $parameter = @{SasToken = "`"$AssetsSas`"";} } - $InvokeResult = Invoke-AzVMRunCommandWithRetries ` - -ResourceGroupName $ResourceGroupName ` + $InvokeResult = Invoke-AzVMRunCommand ` + -ResourceGroupName 'vcpkg-image-minting' ` -VMName $ProtoVMName ` -CommandId 'RunPowerShellScript' ` -ScriptPath $tempScriptFilename ` @@ -162,71 +193,41 @@ function Invoke-ScriptWithPrefix { } } -Invoke-ScriptWithPrefix -ScriptName 'deploy-windows-sdks.ps1' -AddAdminPw - #################################################################################################### -Invoke-ScriptWithPrefix -ScriptName 'deploy-visual-studio.ps1' -AddAdminPw +Invoke-ScriptWithPrefix -ScriptName 'deploy-tlssettings.ps1' -SkipSas +Write-Host 'Waiting 1 minute for VM to reboot...' +Start-Sleep -Seconds 60 #################################################################################################### -Invoke-ScriptWithPrefix -ScriptName 'deploy-mpi.ps1' -AddAdminPw +Invoke-ScriptWithPrefix -ScriptName 'deploy-windows-sdks.ps1' #################################################################################################### -$StorageAccountKeys = Get-AzStorageAccountKey ` - -ResourceGroupName 'vcpkg-image-minting' ` - -Name 'vcpkgimageminting' - -$StorageContext = New-AzStorageContext ` - -StorageAccountName 'vcpkgimageminting' ` - -StorageAccountKey $StorageAccountKeys[0].Value - -$StartTime = [DateTime]::Now -$ExpiryTime = $StartTime.AddDays(1) - -$SetupSasToken = New-AzStorageAccountSASToken ` - -Service Blob ` - -Permission "r" ` - -Context $StorageContext ` - -StartTime $StartTime ` - -ExpiryTime $ExpiryTime ` - -ResourceType Object ` - -Protocol HttpsOnly - -Invoke-ScriptWithPrefix -ScriptName 'deploy-cuda.ps1' -AddAdminPw -CudnnUrl ($CudnnBaseUrl + $SetupSasToken) +Invoke-ScriptWithPrefix -ScriptName 'deploy-visual-studio.ps1' #################################################################################################### -Invoke-ScriptWithPrefix -ScriptName 'deploy-inteloneapi.ps1' -AddAdminPw +Invoke-ScriptWithPrefix -ScriptName 'deploy-mpi.ps1' #################################################################################################### -Invoke-ScriptWithPrefix -ScriptName 'deploy-pwsh.ps1' -AddAdminPw +Invoke-ScriptWithPrefix -ScriptName 'deploy-cuda.ps1' #################################################################################################### -Write-Progress ` - -Activity $ProgressActivity ` - -Status 'Running provisioning script deploy-settings.txt (as a .ps1) in VM' ` - -PercentComplete (100 / $TotalProgress * $CurrentProgress++) +Invoke-ScriptWithPrefix -ScriptName 'deploy-cudnn.ps1' -$ProvisionImageResult = Invoke-AzVMRunCommandWithRetries ` - -ResourceGroupName $ResourceGroupName ` - -VMName $ProtoVMName ` - -CommandId 'RunPowerShellScript' ` - -ScriptPath "$PSScriptRoot\deploy-settings.txt" +#################################################################################################### +Invoke-ScriptWithPrefix -ScriptName 'deploy-inteloneapi.ps1' -Write-Host "deploy-settings.txt output: $($ProvisionImageResult.value.Message)" -Restart-AzVM -ResourceGroupName $ResourceGroupName -Name $ProtoVMName +#################################################################################################### +Invoke-ScriptWithPrefix -ScriptName 'deploy-pwsh.ps1' #################################################################################################### -Write-Progress ` - -Activity $ProgressActivity ` - -Status 'Running provisioning script sysprep.ps1 in VM' ` - -PercentComplete (100 / $TotalProgress * $CurrentProgress++) +Invoke-ScriptWithPrefix -ScriptName 'deploy-azure-cli.ps1' -$SysprepResult = Invoke-AzVMRunCommandWithRetries ` - -ResourceGroupName $ResourceGroupName ` - -VMName $ProtoVMName ` - -CommandId 'RunPowerShellScript' ` - -ScriptPath "$PSScriptRoot\sysprep.ps1" +#################################################################################################### +Invoke-ScriptWithPrefix -ScriptName 'deploy-settings.txt' -SkipSas +Restart-AzVM -ResourceGroupName 'vcpkg-image-minting' -Name $ProtoVMName -Write-Host "sysprep.ps1 output: $($SysprepResult.value.Message)" +#################################################################################################### +Invoke-ScriptWithPrefix -ScriptName 'sysprep.ps1' #################################################################################################### Write-Progress ` @@ -234,7 +235,7 @@ Write-Progress ` -Status 'Waiting for VM to shut down' ` -PercentComplete (100 / $TotalProgress * $CurrentProgress++) -Wait-Shutdown -ResourceGroupName $ResourceGroupName -Name $ProtoVMName +Wait-Shutdown -ResourceGroupName 'vcpkg-image-minting' -Name $ProtoVMName #################################################################################################### Write-Progress ` @@ -243,19 +244,29 @@ Write-Progress ` -PercentComplete (100 / $TotalProgress * $CurrentProgress++) Stop-AzVM ` - -ResourceGroupName $ResourceGroupName ` + -ResourceGroupName 'vcpkg-image-minting' ` -Name $ProtoVMName ` -Force Set-AzVM ` - -ResourceGroupName $ResourceGroupName ` + -ResourceGroupName 'vcpkg-image-minting' ` -Name $ProtoVMName ` -Generalized -$VM = Get-AzVM -ResourceGroupName $ResourceGroupName -Name $ProtoVMName -$ImageConfig = New-AzImageConfig -Location $Location -SourceVirtualMachineId $VM.ID -HyperVGeneration 'V2' -$ImageName = Find-ImageName -ResourceGroupName 'vcpkg-image-minting' -Prefix $Prefix -New-AzImage -Image $ImageConfig -ImageName $ImageName -ResourceGroupName 'vcpkg-image-minting' +$westus3Location = @{Name = 'West US 3';} +$southEastAsiaLocation = @{Name = 'Southeast Asia';} + +New-AzGalleryImageVersion ` + -ResourceGroupName 'vcpkg-image-minting' ` + -GalleryName 'vcpkg_gallery_wus3' ` + -GalleryImageDefinitionName 'PrWinWus3-TrustedLaunch' ` + -Name $GalleryImageVersion ` + -Location $Location ` + -SourceImageVMId $VMCreated.ID ` + -ReplicaCount 1 ` + -StorageAccountType 'Premium_LRS' ` + -PublishingProfileExcludeFromLatest ` + -TargetRegion @($westus3Location, $southEastAsiaLocation) #################################################################################################### Write-Progress ` @@ -263,9 +274,13 @@ Write-Progress ` -Status 'Deleting unused temporary resources' ` -PercentComplete (100 / $TotalProgress * $CurrentProgress++) -Remove-AzResourceGroup $ResourceGroupName -Force +Remove-AzVM -Id $VMCreated.ID -Force +Remove-AzDisk -ResourceGroupName 'vcpkg-image-minting' -Name $VMCreatedOsDisk -Force +Remove-AzNetworkInterface -ResourceGroupName 'vcpkg-image-minting' -Name $NicName -Force #################################################################################################### Write-Progress -Activity $ProgressActivity -Completed -Write-Host "Generated Image: $ImageName" +Write-Host "Generated Image: $GalleryImageVersion" Write-Host 'Finished!' + +$AdminPW.Dispose() diff --git a/scripts/azure-pipelines/windows/create-vmss.ps1 b/scripts/azure-pipelines/windows/create-vmss.ps1 deleted file mode 100644 index 96135831f1f36b..00000000000000 --- a/scripts/azure-pipelines/windows/create-vmss.ps1 +++ /dev/null @@ -1,94 +0,0 @@ -# Copyright (c) Microsoft Corporation. -# SPDX-License-Identifier: MIT -# - -<# -.SYNOPSIS -Creates a Windows virtual machine scale set, set up for vcpkg's CI. - -.DESCRIPTION -create-vmss.ps1 creates an Azure Windows VM scale set, set up for vcpkg's CI -system. See https://docs.microsoft.com/en-us/azure/virtual-machine-scale-sets/overview -for more information. - -This script assumes you have installed Azure tools into PowerShell by following the instructions -at https://docs.microsoft.com/en-us/powershell/azure/install-az-ps?view=azps-3.6.1 -or are running from Azure Cloud Shell. - -.PARAMETER ImageName -The name of the image to deploy into the scale set. -#> - -[CmdLetBinding()] -Param( - [parameter(Mandatory=$true)] - [string]$ImageName -) - -$Location = 'westus2' -$Prefix = 'PrWin-' -$Prefix += (Get-Date -Format 'yyyy-MM-dd') -$VMSize = 'Standard_D32a_v4' -$LiveVMPrefix = 'BUILD' -$ErrorActionPreference = 'Stop' - -Import-Module "$PSScriptRoot/../create-vmss-helpers.psm1" -DisableNameChecking - -$ResourceGroupName = Find-ResourceGroupName $Prefix -$AdminPW = New-Password -$Image = Get-AzImage -ResourceGroupName 'vcpkg-image-minting' -ImageName $ImageName - -New-AzResourceGroup -Name $ResourceGroupName -Location $Location - -$VirtualNetwork = Create-LockedDownNetwork -ResourceGroupName $ResourceGroupName -Location $Location -$VmssIpConfigName = $ResourceGroupName + 'VmssIpConfig' -$VmssIpConfig = New-AzVmssIpConfig -SubnetId $VirtualNetwork.Subnets[0].Id -Primary -Name $VmssIpConfigName -$VmssName = $ResourceGroupName + 'Vmss' -$Vmss = New-AzVmssConfig ` - -Location $Location ` - -SkuCapacity 0 ` - -SkuName $VMSize ` - -SkuTier 'Standard' ` - -Overprovision $false ` - -UpgradePolicyMode Manual ` - -EvictionPolicy Delete ` - -Priority Spot ` - -MaxPrice -1 - -$NicName = $ResourceGroupName + 'NIC' -New-AzNetworkInterface ` - -Name $NicName ` - -ResourceGroupName $ResourceGroupName ` - -Location $Location ` - -Subnet $VirtualNetwork.Subnets[0] - -$Vmss = Add-AzVmssNetworkInterfaceConfiguration ` - -VirtualMachineScaleSet $Vmss ` - -Primary $true ` - -IpConfiguration $VmssIpConfig ` - -NetworkSecurityGroupId $VirtualNetwork.Subnets[0].NetworkSecurityGroup.Id ` - -Name $NicName - -$Vmss = Set-AzVmssOsProfile ` - -VirtualMachineScaleSet $Vmss ` - -ComputerNamePrefix $LiveVMPrefix ` - -AdminUsername 'AdminUser' ` - -AdminPassword $AdminPW ` - -WindowsConfigurationProvisionVMAgent $true ` - -WindowsConfigurationEnableAutomaticUpdate $false - -$Vmss = Set-AzVmssStorageProfile ` - -VirtualMachineScaleSet $Vmss ` - -OsDiskCreateOption 'FromImage' ` - -OsDiskCaching ReadOnly ` - -DiffDiskSetting Local ` - -ImageReferenceId $Image.Id - -New-AzVmss ` - -ResourceGroupName $ResourceGroupName ` - -Name $VmssName ` - -VirtualMachineScaleSet $Vmss - -Write-Host "Location: $Location" -Write-Host "Resource group name: $ResourceGroupName" -Write-Host 'Finished!' diff --git a/scripts/azure-pipelines/windows/deploy-azure-cli.ps1 b/scripts/azure-pipelines/windows/deploy-azure-cli.ps1 new file mode 100644 index 00000000000000..df7f41fcb1e521 --- /dev/null +++ b/scripts/azure-pipelines/windows/deploy-azure-cli.ps1 @@ -0,0 +1,18 @@ +# Copyright (c) Microsoft Corporation. +# SPDX-License-Identifier: MIT + +param([string]$SasToken) + +if (Test-Path "$PSScriptRoot/utility-prefix.ps1") { + . "$PSScriptRoot/utility-prefix.ps1" +} + +[string]$AzCliUrl +if ([string]::IsNullOrEmpty($SasToken)) { + $AzCliUrl = 'https://azcliprod.blob.core.windows.net/msi/azure-cli-2.65.0-x64.msi' +} else { + $SasToken = $SasToken.Replace('"', '') + $AzCliUrl = "https://vcpkgimageminting.blob.core.windows.net/assets/azure-cli-2.65.0-x64.msi?$SasToken" +} + +DownloadAndInstall -Url $AzCliUrl -Name 'Azure CLI' -Args @('/quiet', '/norestart') diff --git a/scripts/azure-pipelines/windows/deploy-cuda.ps1 b/scripts/azure-pipelines/windows/deploy-cuda.ps1 index ab1cc1c54bd371..6d7f09573786d8 100644 --- a/scripts/azure-pipelines/windows/deploy-cuda.ps1 +++ b/scripts/azure-pipelines/windows/deploy-cuda.ps1 @@ -1,62 +1,65 @@ # Copyright (c) Microsoft Corporation. # SPDX-License-Identifier: MIT -# REPLACE WITH DROP-TO-ADMIN-USER-PREFIX.ps1 +param([string]$SasToken) -# REPLACE WITH UTILITY-PREFIX.ps1 - -# REPLACE WITH $CudnnUrl - -$CudnnLocalZipPath = "$PSScriptRoot\cudnn-11.2-windows-x64-v8.1.1.33.zip" - -$CudaUrl = 'https://developer.download.nvidia.com/compute/cuda/11.3.0/network_installers/cuda_11.3.0_win10_network.exe' - -$CudaFeatures = 'nvcc_11.3 cuobjdump_11.3 nvprune_11.3 cupti_11.3 memcheck_11.3 nvdisasm_11.3 nvprof_11.3 ' + ` - 'visual_studio_integration_11.3 visual_profiler_11.3 visual_profiler_11.3 cublas_11.3 cublas_dev_11.3 ' + ` - 'cudart_11.3 cufft_11.3 cufft_dev_11.3 curand_11.3 curand_dev_11.3 cusolver_11.3 cusolver_dev_11.3 ' + ` - 'cusparse_11.3 cusparse_dev_11.3 npp_11.3 npp_dev_11.3 nvrtc_11.3 nvrtc_dev_11.3 nvml_dev_11.3 ' + ` - 'occupancy_calculator_11.3 thrust_11.3 ' - -$destination = "$env:ProgramFiles\NVIDIA GPU Computing Toolkit\CUDA\v11.3" - -try { - Write-Host 'Downloading CUDA...' - [string]$installerPath = Get-TempFilePath -Extension 'exe' - curl.exe -L -o $installerPath -s -S $CudaUrl - Write-Host 'Installing CUDA...' - $proc = Start-Process -FilePath $installerPath -ArgumentList @('-s ' + $CudaFeatures) -Wait -PassThru - $exitCode = $proc.ExitCode - if ($exitCode -eq 0) { - Write-Host 'Installation successful!' - } - else { - Write-Error "Installation failed! Exited with $exitCode." - throw - } +if (Test-Path "$PSScriptRoot/utility-prefix.ps1") { + . "$PSScriptRoot/utility-prefix.ps1" } -catch { - Write-Error "Failed to install CUDA! $($_.Exception.Message)" - throw -} - -try { - if ([string]::IsNullOrWhiteSpace($CudnnUrl)) { - if (-Not (Test-Path $CudnnLocalZipPath)) { - throw "CUDNN zip ($CudnnLocalZipPath) was missing, please download from NVidia and place next to this script." - } - - $cudnnZipPath = $CudnnLocalZipPath - } else { - Write-Host 'Downloading CUDNN...' - $cudnnZipPath = Get-TempFilePath -Extension 'zip' - curl.exe -L -o $cudnnZipPath -s -S $CudnnUrl - } - Write-Host "Installing CUDNN to $destination..." - tar.exe -xvf "$cudnnZipPath" --strip 1 --directory "$destination" - Write-Host 'Installation successful!' -} -catch { - Write-Error "Failed to install CUDNN! $($_.Exception.Message)" - throw +[string]$CudaUrl +if ([string]::IsNullOrEmpty($SasToken)) { + $CudaUrl = 'https://developer.download.nvidia.com/compute/cuda/12.5.0/local_installers/cuda_12.5.0_555.85_windows.exe' +} else { + $SasToken = $SasToken.Replace('"', '') + $CudaUrl = "https://vcpkgimageminting.blob.core.windows.net/assets/cuda_12.5.0_555.85_windows.exe?$SasToken" } + +# https://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/index.html +# Intentionally omitted: +# demo_suite_12.5 +# documentation_12.5 +# nvvm_samples_12.5 +# visual_studio_integration_12.5 +# Display.Driver +DownloadAndInstall -Name 'CUDA' -Url $CudaUrl -Args @( + '-s', + 'cublas_12.5', + 'cublas_dev_12.5', + 'cuda_profiler_api_12.5', + 'cudart_12.5', + 'cufft_12.5', + 'cufft_dev_12.5', + 'cuobjdump_12.5', + 'cupti_12.5', + 'curand_12.5', + 'curand_dev_12.5', + 'cusolver_12.5', + 'cusolver_dev_12.5', + 'cusparse_12.5', + 'cusparse_dev_12.5', + 'cuxxfilt_12.5', + 'npp_12.5', + 'npp_dev_12.5', + 'nsight_compute_12.5', + 'nsight_systems_12.5', + 'nsight_vse_12.5', + 'nvcc_12.5', + 'nvdisasm_12.5', + 'nvfatbin_12.5', + 'nvjitlink_12.5', + 'nvjpeg_12.5', + 'nvjpeg_dev_12.5', + 'nvml_dev_12.5', + 'nvprof_12.5', + 'nvprune_12.5', + 'nvrtc_12.5', + 'nvrtc_dev_12.5', + 'nvtx_12.5', + 'occupancy_calculator_12.5', + 'opencl_12.5', + 'sanitizer_12.5', + 'thrust_12.5', + 'visual_profiler_12.5', + '-n' +) diff --git a/scripts/azure-pipelines/windows/deploy-cudnn.ps1 b/scripts/azure-pipelines/windows/deploy-cudnn.ps1 new file mode 100644 index 00000000000000..a41c1410f0b930 --- /dev/null +++ b/scripts/azure-pipelines/windows/deploy-cudnn.ps1 @@ -0,0 +1,24 @@ +# Copyright (c) Microsoft Corporation. +# SPDX-License-Identifier: MIT + +param([string]$SasToken) + +if (Test-Path "$PSScriptRoot/utility-prefix.ps1") { + . "$PSScriptRoot/utility-prefix.ps1" +} + +[string]$CudnnUrl +if ([string]::IsNullOrEmpty($SasToken)) { + $CudnnUrl = 'https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/windows-x86_64/cudnn-windows-x86_64-9.2.0.82_cuda12-archive.zip' +} else { + $SasToken = $SasToken.Replace('"', '') + $CudnnUrl = "https://vcpkgimageminting.blob.core.windows.net/assets/cudnn-windows-x86_64-9.2.0.82_cuda12-archive.zip?$SasToken" +} + +DownloadAndUnzip -Name 'CUDNN' -Url $CudnnUrl -Destination "$env:ProgramFiles\NVIDIA GPU Computing Toolkit\CUDA\v12.5" + +if (Test-Path "$env:ProgramFiles\NVIDIA GPU Computing Toolkit\CUDA\v12.5\include\cudnn.h") { + Write-Host 'cudnn appears correctly installed' +} else { + Write-Error 'cudnn appears broken!' +} diff --git a/scripts/azure-pipelines/windows/deploy-install-disk.ps1 b/scripts/azure-pipelines/windows/deploy-install-disk.ps1 index 6bbc175872eec8..131461c6bb678e 100644 --- a/scripts/azure-pipelines/windows/deploy-install-disk.ps1 +++ b/scripts/azure-pipelines/windows/deploy-install-disk.ps1 @@ -1,7 +1,11 @@ # Copyright (c) Microsoft Corporation. # SPDX-License-Identifier: MIT -# REPLACE WITH UTILITY-PREFIX.ps1 +param([string]$SasToken) + +if (Test-Path "$PSScriptRoot/utility-prefix.ps1") { + . "$PSScriptRoot/utility-prefix.ps1" +} <# .SYNOPSIS diff --git a/scripts/azure-pipelines/windows/deploy-inteloneapi.ps1 b/scripts/azure-pipelines/windows/deploy-inteloneapi.ps1 index 45d8db3c10dd45..d6f73cd32ef1f1 100644 --- a/scripts/azure-pipelines/windows/deploy-inteloneapi.ps1 +++ b/scripts/azure-pipelines/windows/deploy-inteloneapi.ps1 @@ -1,74 +1,64 @@ # Copyright (c) Microsoft Corporation. # SPDX-License-Identifier: MIT -# REPLACE WITH DROP-TO-ADMIN-USER-PREFIX.ps1 +param([string]$SasToken) -# REPLACE WITH UTILITY-PREFIX.ps1 +if (Test-Path "$PSScriptRoot/utility-prefix.ps1") { + . "$PSScriptRoot/utility-prefix.ps1" +} -# Seems like only the HPC kit is really needed? -#$oneAPIBaseUrl = 'https://registrationcenter-download.intel.com/akdlm/irc_nas/17768/w_BaseKit_p_2021.2.0.2871_offline.exe' -$oneAPIHPCUrl = 'https://registrationcenter-download.intel.com/akdlm/irc_nas/17762/w_HPCKit_p_2021.2.0.2901_offline.exe' -# Possible oneAPI Base components: -#intel.oneapi.win.vtune 2021.1.1-68 true Intel® VTune(TM) Profiler -#intel.oneapi.win.tbb.devel 2021.1.1-133 true Intel® oneAPI Threading Building Blocks -#intel.oneapi.win.dnnl 2021.1.1-44 true Intel® oneAPI Deep Neural Network Library -#intel.oneapi.win.mkl.devel 2021.1.1-52 true Intel® oneAPI Math Kernel Library -#intel.oneapi.win.vpl 2021.1.1-76 true Intel® oneAPI Video Processing Library -#intel.oneapi.win.dpcpp_debugger 10.0.0-2213 true Intel® Distribution for GDB* -#intel.oneapi.win.ipp.devel 2021.1.1-47 true Intel® Integrated Performance Primitives -#intel.oneapi.win.ippcp 2021.1.1-53 true Intel® Integrated Performance Primitives Cryptography -#intel.oneapi.win.dpcpp-compiler 2021.1.1-191 true Intel® oneAPI DPC++/C++ Compiler -#intel.oneapi.win.dpcpp-library 2021.1.1-191 true Intel® oneAPI DPC++ Library -#intel.oneapi.win.dpcpp_ct.common 2021.1.1-54 true Intel® DPC++ Compatibility Tool -#intel.oneapi.win.dal.devel 2021.1.1-71 true Intel® oneAPI Data Analytics Library -#intel.oneapi.win.python3 2021.1.1-46 true Intel® Distribution for Python* -#intel.oneapi.win.advisor 2021.1.1-53 true Intel® Advisor -#$oneAPIBaseComponents = 'intel.oneapi.win.dpcpp-compiler:intel.oneapi.win.dpcpp-library:intel.oneapi.win.mkl.devel:intel.oneapi.win.ipp.devel:intel.oneapi.win.ippcp:intel.oneapi.win.dal.devel:intel.oneapi.win.dnnl:intel.oneapi.win.vpl:intel.oneapi.win.tbb.devel' -$oneAPIHPCComponents = 'intel.oneapi.win.cpp-compiler:intel.oneapi.win.ifort-compiler' +[string]$oneAPIBaseUrl +if ([string]::IsNullOrEmpty($SasToken)) { + $oneAPIBaseUrl = 'https://registrationcenter-download.intel.com/akdlm/IRC_NAS/c95a3b26-fc45-496c-833b-df08b10297b9/w_HPCKit_p_2024.1.0.561_offline.exe' +} else { + $SasToken = $SasToken.Replace('"', '') + $oneAPIBaseUrl = "https://vcpkgimageminting.blob.core.windows.net/assets/w_HPCKit_p_2024.1.0.561_offline.exe?$SasToken" +} -<# -.SYNOPSIS -Installs Intel oneAPI compilers and toolsets. Examples for CI can be found here: https://github.com/oneapi-src/oneapi-ci +$oneAPIHPCComponents = 'intel.oneapi.win.ifort-compiler' -.DESCRIPTION -InstallInteloneAPI installs the Intel oneAPI Compiler & Toolkit with the components specified as a -:-separated list of strings in $Components. +$LocalName = 'w_HPCKit_p_2024.1.0.561_offline.exe' -.PARAMETER Url -The URL of the Intel Toolkit installer. +try { + [bool]$doRemove = $false + [string]$LocalPath = Join-Path $PSScriptRoot $LocalName + if (Test-Path $LocalPath) { + Write-Host "Using local Intel oneAPI..." + } else { + Write-Host "Downloading Intel oneAPI..." + $tempPath = Get-TempFilePath + New-Item -ItemType Directory -Path $tempPath -Force + $LocalPath = Join-Path $tempPath $LocalName + Invoke-WebRequest -Uri $oneAPIBaseUrl -Outfile $LocalPath + $doRemove = $true + } -.PARAMETER Components -A :-separated list of components to install. -#> -Function InstallInteloneAPI { - Param( - [String]$Url, - [String]$Components - ) + [string]$extractionPath = Get-TempFilePath + Write-Host 'Extracting Intel oneAPI...to folder: ' $extractionPath + $proc = Start-Process -FilePath $LocalPath -ArgumentList @('-s ', '-x', '-f', $extractionPath) -Wait -PassThru + $exitCode = $proc.ExitCode + if ($exitCode -eq 0) { + Write-Host 'Extraction successful!' + } else { + Write-Error "Extraction failed! Exited with $exitCode." + throw + } - try { - [string]$installerPath = Get-TempFilePath -Extension 'exe' - [string]$extractionPath = [System.IO.Path]::GetTempPath() + [System.IO.Path]::GetRandomFileName() - Write-Host 'Downloading Intel oneAPI...to: ' $installerPath - curl.exe -L -o $installerPath -s -S $Url - Write-Host 'Extracting Intel oneAPI...to folder: ' $extractionPath - $proc = Start-Process -FilePath $installerPath -ArgumentList @('-s ', '-x ', '-f ' + $extractionPath , '--log extract.log') -Wait -PassThru - Write-Host 'Install Intel oneAPI...from folder: ' $extractionPath - $proc = Start-Process -FilePath $extractionPath/bootstrapper.exe -ArgumentList @('-s ', '--action install', "--components=$Components" , '--eula=accept', '--continue-with-optional-error=yes', '-p=NEED_VS2017_INTEGRATION=0', '-p=NEED_VS2019_INTEGRATION=0', '--log-dir=.') -Wait -PassThru - $exitCode = $proc.ExitCode - if ($exitCode -eq 0) { - Write-Host 'Installation successful!' - } - else { - Write-Error "Installation failed! Exited with $exitCode." - throw - } + Write-Host 'Install Intel oneAPI...from folder: ' $extractionPath + $proc = Start-Process -FilePath "$extractionPath/bootstrapper.exe" -ArgumentList @('-s ', '--action install', "--components=$oneAPIHPCComponents" , '--eula=accept', '-p=NEED_VS2017_INTEGRATION=0', '-p=NEED_VS2019_INTEGRATION=0', '-p=NEED_VS2022_INTEGRATION=0', '--log-dir=.') -Wait -PassThru + $exitCode = $proc.ExitCode + if ($exitCode -eq 0) { + Write-Host 'Installation successful!' + } elseif ($exitCode -eq 3010) { + Write-Host 'Installation successful! Exited with 3010 (ERROR_SUCCESS_REBOOT_REQUIRED).' + } else { + Write-Error "Installation failed! Exited with $exitCode." } - catch { - Write-Error "Failed to install Intel oneAPI! $($_.Exception.Message)" - throw + + if ($doRemove) { + Remove-Item -Path $LocalPath -Force } +} catch { + Write-Error "Installation failed! Exception: $($_.Exception.Message)" } - -InstallInteloneAPI -Url $oneAPIHPCUrl -Components $oneAPIHPCComponents diff --git a/scripts/azure-pipelines/windows/deploy-mpi.ps1 b/scripts/azure-pipelines/windows/deploy-mpi.ps1 index ba369f7971d733..a4009bf14d0861 100644 --- a/scripts/azure-pipelines/windows/deploy-mpi.ps1 +++ b/scripts/azure-pipelines/windows/deploy-mpi.ps1 @@ -1,47 +1,18 @@ # Copyright (c) Microsoft Corporation. # SPDX-License-Identifier: MIT -# REPLACE WITH DROP-TO-ADMIN-USER-PREFIX.ps1 +param([string]$SasToken) -# REPLACE WITH UTILITY-PREFIX.ps1 - -$MpiUrl = 'https://download.microsoft.com/download/a/5/2/a5207ca5-1203-491a-8fb8-906fd68ae623/msmpisetup.exe' - -<# -.SYNOPSIS -Installs MPI - -.DESCRIPTION -Downloads the MPI installer located at $Url, and installs it with the -correct flags. - -.PARAMETER Url -The URL of the installer. -#> -Function InstallMpi { - Param( - [String]$Url - ) +if (Test-Path "$PSScriptRoot/utility-prefix.ps1") { + . "$PSScriptRoot/utility-prefix.ps1" +} - try { - Write-Host 'Downloading MPI...' - [string]$installerPath = Get-TempFilePath -Extension 'exe' - curl.exe -L -o $installerPath -s -S $Url - Write-Host 'Installing MPI...' - $proc = Start-Process -FilePath $installerPath -ArgumentList @('-force', '-unattend') -Wait -PassThru - $exitCode = $proc.ExitCode - if ($exitCode -eq 0) { - Write-Host 'Installation successful!' - } - else { - Write-Error "Installation failed! Exited with $exitCode." - throw - } - } - catch { - Write-Error "Failed to install MPI! $($_.Exception.Message)" - throw - } +[string]$MpiUrl +if ([string]::IsNullOrEmpty($SasToken)) { + $MpiUrl = 'https://download.microsoft.com/download/a/5/2/a5207ca5-1203-491a-8fb8-906fd68ae623/msmpisetup.exe' +} else { + $SasToken = $SasToken.Replace('"', '') + $MpiUrl = "https://vcpkgimageminting.blob.core.windows.net/assets/msmpisetup.exe?$SasToken" } -InstallMpi -Url $MpiUrl +DownloadAndInstall -Name 'MSMPI' -Url $MpiUrl -Args @('-force', '-unattend') diff --git a/scripts/azure-pipelines/windows/deploy-psexec.ps1 b/scripts/azure-pipelines/windows/deploy-psexec.ps1 deleted file mode 100644 index 2a1f6fb14a87e4..00000000000000 --- a/scripts/azure-pipelines/windows/deploy-psexec.ps1 +++ /dev/null @@ -1,8 +0,0 @@ -# Copyright (c) Microsoft Corporation. -# SPDX-License-Identifier: MIT - -$ErrorActionPreference = 'Stop' -$ProgressPreference = 'SilentlyContinue' -$PsExecPath = 'C:\PsExec64.exe' -Write-Host "Downloading psexec to: $PsExecPath" -& curl.exe -L -o $PsExecPath -s -S https://live.sysinternals.com/PsExec64.exe diff --git a/scripts/azure-pipelines/windows/deploy-pwsh.ps1 b/scripts/azure-pipelines/windows/deploy-pwsh.ps1 index d500745840a1b9..58bd8f55f5e109 100644 --- a/scripts/azure-pipelines/windows/deploy-pwsh.ps1 +++ b/scripts/azure-pipelines/windows/deploy-pwsh.ps1 @@ -1,9 +1,18 @@ # Copyright (c) Microsoft Corporation. # SPDX-License-Identifier: MIT -# REPLACE WITH DROP-TO-ADMIN-USER-PREFIX.ps1 +param([string]$SasToken) -# REPLACE WITH UTILITY-PREFIX.ps1 +if (Test-Path "$PSScriptRoot/utility-prefix.ps1") { + . "$PSScriptRoot/utility-prefix.ps1" +} -$PwshUrl = 'https://github.com/PowerShell/PowerShell/releases/download/v7.1.4/PowerShell-7.1.4-win-x64.msi' -InstallMSI -Url $PwshUrl -Name 'PowerShell Core' +[string]$PwshUrl +if ([string]::IsNullOrEmpty($SasToken)) { + $PwshUrl = 'https://github.com/PowerShell/PowerShell/releases/download/v7.4.5/PowerShell-7.4.5-win-x64.msi' +} else { + $SasToken = $SasToken.Replace('"', '') + $PwshUrl = "https://vcpkgimageminting.blob.core.windows.net/assets/PowerShell-7.4.5-win-x64.msi?$SasToken" +} + +DownloadAndInstall -Url $PwshUrl -Name 'PowerShell Core' -Args @('/quiet', '/norestart') diff --git a/scripts/azure-pipelines/windows/deploy-settings.txt b/scripts/azure-pipelines/windows/deploy-settings.txt index c340453c69e366..f017559d0a8c25 100644 --- a/scripts/azure-pipelines/windows/deploy-settings.txt +++ b/scripts/azure-pipelines/windows/deploy-settings.txt @@ -1,3 +1,6 @@ +# Copyright (c) Microsoft Corporation. +# SPDX-License-Identifier: MIT + $ErrorActionPreference = 'Stop' $ProgressPreference = 'SilentlyContinue' diff --git a/scripts/azure-pipelines/windows/deploy-visual-studio.ps1 b/scripts/azure-pipelines/windows/deploy-visual-studio.ps1 index 0ec5ff7110688c..04609504ce1b67 100644 --- a/scripts/azure-pipelines/windows/deploy-visual-studio.ps1 +++ b/scripts/azure-pipelines/windows/deploy-visual-studio.ps1 @@ -1,87 +1,41 @@ # Copyright (c) Microsoft Corporation. # SPDX-License-Identifier: MIT -# REPLACE WITH DROP-TO-ADMIN-USER-PREFIX.ps1 +param([string]$SasToken) -# REPLACE WITH UTILITY-PREFIX.ps1 +if (Test-Path "$PSScriptRoot/utility-prefix.ps1") { + . "$PSScriptRoot/utility-prefix.ps1" +} -$VisualStudioBootstrapperUrl = 'https://aka.ms/vs/16/release/vs_enterprise.exe' +# See https://learn.microsoft.com/en-us/visualstudio/releases/2022/release-history +# 17.11.5 +$VisualStudioBootstrapperUrl = 'https://download.visualstudio.microsoft.com/download/pr/69e24482-3b48-44d3-af65-51f866a08313/2e8384dde0c87bc49830e325c7565c25278340c83f6da46b8c14101dd75d8f15/vs_Enterprise.exe' $Workloads = @( 'Microsoft.VisualStudio.Workload.NativeDesktop', 'Microsoft.VisualStudio.Workload.Universal', + 'Microsoft.VisualStudio.Component.UWP.VC.ARM64', 'Microsoft.VisualStudio.Component.VC.Tools.x86.x64', - 'Microsoft.VisualStudio.Component.VC.Tools.ARM', 'Microsoft.VisualStudio.Component.VC.Tools.ARM64', + 'Microsoft.VisualStudio.Component.VC.ASAN', 'Microsoft.VisualStudio.Component.VC.ATL', 'Microsoft.VisualStudio.Component.VC.ATLMFC', - 'Microsoft.VisualStudio.Component.VC.v141.x86.x64.Spectre', - 'Microsoft.VisualStudio.Component.Windows10SDK.18362', - 'Microsoft.VisualStudio.Component.Windows10SDK.19041', + 'Microsoft.VisualStudio.Component.VC.ATL.ARM64', + 'Microsoft.VisualStudio.Component.VC.MFC.ARM64', + 'Microsoft.VisualStudio.Component.Windows11SDK.22621', + 'Microsoft.VisualStudio.Component.Windows10SDK.20348', 'Microsoft.Net.Component.4.8.SDK', 'Microsoft.Net.Component.4.7.2.TargetingPack', 'Microsoft.Component.NetFX.Native', 'Microsoft.VisualStudio.Component.VC.Llvm.ClangToolset', 'Microsoft.VisualStudio.Component.VC.Llvm.Clang', - 'Microsoft.VisualStudio.Component.VC.v141.x86.x64', - 'Microsoft.VisualStudio.Component.VC.140' + 'Microsoft.VisualStudio.ComponentGroup.UWP.VC.BuildTools', + 'Microsoft.VisualStudio.Component.VC.CMake.Project' ) -<# -.SYNOPSIS -Install Visual Studio. - -.DESCRIPTION -InstallVisualStudio takes the $Workloads array, and installs it with the -installer that's pointed at by $BootstrapperUrl. - -.PARAMETER Workloads -The set of VS workloads to install. - -.PARAMETER BootstrapperUrl -The URL of the Visual Studio installer, i.e. one of vs_*.exe. - -.PARAMETER InstallPath -The path to install Visual Studio at. - -.PARAMETER Nickname -The nickname to give the installation. -#> -Function InstallVisualStudio { - Param( - [String[]]$Workloads, - [String]$BootstrapperUrl, - [String]$InstallPath = $null, - [String]$Nickname = $null - ) - - try { - Write-Host 'Downloading Visual Studio...' - [string]$bootstrapperExe = Get-TempFilePath -Extension 'exe' - curl.exe -L -o $bootstrapperExe -s -S $BootstrapperUrl - Write-Host 'Installing Visual Studio...' - $vsArgs = @('/c', $bootstrapperExe, '--quiet', '--norestart', '--wait', '--nocache') - foreach ($workload in $Workloads) { - $vsArgs += '--add' - $vsArgs += $workload - } - - if (-not ([String]::IsNullOrWhiteSpace($InstallPath))) { - $vsArgs += '--installpath' - $vsArgs += $InstallPath - } - - if (-not ([String]::IsNullOrWhiteSpace($Nickname))) { - $vsArgs += '--nickname' - $vsArgs += $Nickname - } - - $proc = Start-Process -FilePath cmd.exe -ArgumentList $vsArgs -Wait -PassThru - PrintMsiExitCodeMessage $proc.ExitCode - } - catch { - Write-Error "Failed to install Visual Studio! $($_.Exception.Message)" - throw - } +$vsArgs = @('--quiet', '--norestart', '--wait', '--nocache') +foreach ($workload in $Workloads) { + $vsArgs += '--add' + $vsArgs += $workload } -InstallVisualStudio -Workloads $Workloads -BootstrapperUrl $VisualStudioBootstrapperUrl -Nickname 'Stable' +DownloadAndInstall -Name 'Visual Studio' -Url $VisualStudioBootstrapperUrl -Args $vsArgs diff --git a/scripts/azure-pipelines/windows/deploy-windows-sdks.ps1 b/scripts/azure-pipelines/windows/deploy-windows-sdks.ps1 index 9c6ca0a5d110b2..9de57929e5a9c1 100644 --- a/scripts/azure-pipelines/windows/deploy-windows-sdks.ps1 +++ b/scripts/azure-pipelines/windows/deploy-windows-sdks.ps1 @@ -1,49 +1,18 @@ # Copyright (c) Microsoft Corporation. # SPDX-License-Identifier: MIT -# REPLACE WITH DROP-TO-ADMIN-USER-PREFIX.ps1 +param([string]$SasToken) -# REPLACE WITH UTILITY-PREFIX.ps1 - -<# -.SYNOPSIS -Installs Windows PSDK/WDK - -.DESCRIPTION -Downloads the Windows PSDK/DDK installer located at $Url, and installs it with the -correct flags. - -.PARAMETER Url -The URL of the installer. -#> -Function InstallWindowsDK { - Param( - [String]$Url - ) - - try { - Write-Host "Downloading Windows PSDK or DDK $Url..." - [string]$installerPath = Get-TempFilePath -Extension 'exe' - curl.exe -L -o $installerPath -s -S $Url - Write-Host 'Installing...' - $proc = Start-Process -FilePath $installerPath -ArgumentList @('/features', '+', '/q') -Wait -PassThru - $exitCode = $proc.ExitCode - if ($exitCode -eq 0) { - Write-Host 'Installation successful!' - } - else { - Write-Error "Installation failed! Exited with $exitCode." - throw - } - } - catch { - Write-Error "Failed to install Windows PSDK or DDK! $($_.Exception.Message)" - throw - } +if (Test-Path "$PSScriptRoot/utility-prefix.ps1") { + . "$PSScriptRoot/utility-prefix.ps1" } -# Windows 10 SDK, version 2004 (10.0.19041.0) -InstallWindowsDK 'https://go.microsoft.com/fwlink/?linkid=2120843' +[string]$WdkUrl +if ([string]::IsNullOrEmpty($SasToken)) { + $WdkUrl = 'https://go.microsoft.com/fwlink/?linkid=2128854' +} else { + $SasToken = $SasToken.Replace('"', '') + $WdkUrl = "https://vcpkgimageminting.blob.core.windows.net/assets/wdksetup.exe?$SasToken" +} -# Windows 10 WDK, version 2004 -InstallWindowsDK 'https://go.microsoft.com/fwlink/?linkid=2128854' +DownloadAndInstall -Name 'Windows 10 WDK, version 2004' -Url $WdkUrl -Args @('/features', '+', '/q') -LocalName 'wdksetup.exe' diff --git a/scripts/azure-pipelines/windows/drop-to-admin-user-prefix.ps1 b/scripts/azure-pipelines/windows/drop-to-admin-user-prefix.ps1 deleted file mode 100644 index b4592eabd4eee4..00000000000000 --- a/scripts/azure-pipelines/windows/drop-to-admin-user-prefix.ps1 +++ /dev/null @@ -1,27 +0,0 @@ -param( - [string]$AdminUserPassword = $null -) - -$ErrorActionPreference = 'Stop' -$ProgressPreference = 'SilentlyContinue' -if (-Not [string]::IsNullOrEmpty($AdminUserPassword)) { - $PsExecPath = 'C:\PsExec64.exe' - $PsExecArgs = @( - '-u', - 'AdminUser', - '-p', - $AdminUserPassword, - '-accepteula', - '-i', - '-h', - 'C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe', - '-ExecutionPolicy', - 'Unrestricted', - '-File', - $PSCommandPath - ) - - Write-Host "Executing: $PsExecPath $PsExecArgs" - $proc = Start-Process -FilePath $PsExecPath -ArgumentList $PsExecArgs -Wait -PassThru - exit $proc.ExitCode -} diff --git a/scripts/azure-pipelines/windows/provision-entire-image.ps1 b/scripts/azure-pipelines/windows/provision-entire-image.ps1 index 00c2d28cac0068..9974cd8bf6be24 100644 --- a/scripts/azure-pipelines/windows/provision-entire-image.ps1 +++ b/scripts/azure-pipelines/windows/provision-entire-image.ps1 @@ -1,15 +1,18 @@ +# Copyright (c) Microsoft Corporation. +# SPDX-License-Identifier: MIT + # This script runs all the scripts we run on Azure machines to deploy prerequisites, # and assumes it is being run as an admin user. -. "$PSScriptRoot\utility-prefix.ps1" - . "$PSScriptRoot\deploy-tlssettings.ps1" -RebootIfRequired 0 . "$PSScriptRoot\deploy-windows-sdks.ps1" . "$PSScriptRoot\deploy-visual-studio.ps1" . "$PSScriptRoot\deploy-mpi.ps1" . "$PSScriptRoot\deploy-cuda.ps1" +. "$PSScriptRoot\deploy-cudnn.ps1" . "$PSScriptRoot\deploy-inteloneapi.ps1" . "$PSScriptRoot\deploy-pwsh.ps1" +. "$PSScriptRoot\deploy-azure-cli.ps1" try { Copy-Item "$PSScriptRoot\deploy-settings.txt" "$PSScriptRoot\deploy-settings.ps1" . "$PSScriptRoot\deploy-settings.ps1" diff --git a/scripts/azure-pipelines/windows/sysprep.ps1 b/scripts/azure-pipelines/windows/sysprep.ps1 index a29950044ff6ca..74af5cb2a94373 100644 --- a/scripts/azure-pipelines/windows/sysprep.ps1 +++ b/scripts/azure-pipelines/windows/sysprep.ps1 @@ -2,6 +2,8 @@ # SPDX-License-Identifier: MIT # +param([string]$SasToken) + <# .SYNOPSIS Prepares the virtual machine for imaging. diff --git a/scripts/azure-pipelines/windows/utility-prefix.ps1 b/scripts/azure-pipelines/windows/utility-prefix.ps1 index 8cd0066db60097..8f566bbe43b6fe 100644 --- a/scripts/azure-pipelines/windows/utility-prefix.ps1 +++ b/scripts/azure-pipelines/windows/utility-prefix.ps1 @@ -17,109 +17,134 @@ Function Get-TempFilePath { [String]$Extension ) - if ([String]::IsNullOrWhiteSpace($Extension)) { - throw 'Missing Extension' - } - $tempPath = [System.IO.Path]::GetTempPath() - $tempName = [System.IO.Path]::GetRandomFileName() + '.' + $Extension - return Join-Path $tempPath $tempName -} - -<# -.SYNOPSIS -Writes a message to the screen depending on ExitCode. - -.DESCRIPTION -Since msiexec can return either 0 or 3010 successfully, in both cases -we write that installation succeeded, and which exit code it exited with. -If msiexec returns anything else, we write an error. - -.PARAMETER ExitCode -The exit code that msiexec returned. -#> -Function PrintMsiExitCodeMessage { - Param( - $ExitCode - ) - - # 3010 is probably ERROR_SUCCESS_REBOOT_REQUIRED - if ($ExitCode -eq 0 -or $ExitCode -eq 3010) { - Write-Host "Installation successful! Exited with $ExitCode." - } - else { - Write-Error "Installation failed! Exited with $ExitCode." - throw + $tempName = [System.IO.Path]::GetRandomFileName() + if (-not [String]::IsNullOrWhiteSpace($Extension)) { + $tempName = $tempName + '.' + $Extension } + return Join-Path $tempPath $tempName } <# .SYNOPSIS -Install a .msi file. +Download and install a component. .DESCRIPTION -InstallMSI takes a url where an .msi lives, and installs that .msi to the system. +DownloadAndInstall downloads an executable from the given URL, and runs it with the given command-line arguments. .PARAMETER Name -The name of the thing to install. +The name of the component, to be displayed in logging messages. .PARAMETER Url -The URL at which the .msi lives. +The URL of the installer. + +.PARAMETER Args +The command-line arguments to pass to the installer. #> -Function InstallMSI { +Function DownloadAndInstall { + [CmdletBinding(PositionalBinding=$false)] Param( - [String]$Name, - [String]$Url + [Parameter(Mandatory)][String]$Name, + [Parameter(Mandatory)][String]$Url, + [Parameter(Mandatory)][String[]]$Args, + [String]$LocalName = $null ) try { - Write-Host "Downloading $Name..." - [string]$msiPath = Get-TempFilePath -Extension 'msi' - curl.exe -L -o $msiPath -s -S $Url + if ([string]::IsNullOrWhiteSpace($LocalName)) { + $LocalName = [uri]::new($Url).Segments[-1] + } + + [bool]$doRemove = $false + [string]$LocalPath = Join-Path $PSScriptRoot $LocalName + if (Test-Path $LocalPath) { + Write-Host "Using local $Name..." + } else { + Write-Host "Downloading $Name..." + $tempPath = Get-TempFilePath + New-Item -ItemType Directory -Path $tempPath -Force | Out-Null + $LocalPath = Join-Path $tempPath $LocalName + Invoke-WebRequest -Uri $Url -OutFile $LocalPath + $doRemove = $true + } + Write-Host "Installing $Name..." - $args = @('/i', $msiPath, '/norestart', '/quiet', '/qn') - $proc = Start-Process -FilePath 'msiexec.exe' -ArgumentList $args -Wait -PassThru - PrintMsiExitCodeMessage $proc.ExitCode - } - catch { - Write-Error "Failed to install $Name! $($_.Exception.Message)" - throw + $proc = Start-Process -FilePath $LocalPath -ArgumentList $Args -Wait -PassThru + $exitCode = $proc.ExitCode + + if ($exitCode -eq 0) { + Write-Host 'Installation successful!' + } elseif ($exitCode -eq 3010) { + Write-Host 'Installation successful! Exited with 3010 (ERROR_SUCCESS_REBOOT_REQUIRED).' + } else { + Write-Error "Installation failed! Exited with $exitCode." + } + + if ($doRemove) { + Remove-Item -Path $LocalPath -Force + } + } catch { + Write-Error "Installation failed! Exception: $($_.Exception.Message)" } } <# .SYNOPSIS -Unpacks a zip file to $Dir. +Download and install a zip file component. .DESCRIPTION -InstallZip takes a URL of a zip file, and unpacks the zip file to the directory -$Dir. +DownloadAndUnzip downloads a zip from the given URL, and extracts it to the indicated path. .PARAMETER Name -The name of the tool being installed. +The name of the component, to be displayed in logging messages. .PARAMETER Url -The URL of the zip file to unpack. +The URL of the zip to download. -.PARAMETER Dir -The directory to unpack the zip file to. +.PARAMETER Destination +The location to which the zip should be extracted #> -Function InstallZip { +Function DownloadAndUnzip { + [CmdletBinding(PositionalBinding=$false)] Param( - [String]$Name, - [String]$Url, - [String]$Dir + [Parameter(Mandatory)][String]$Name, + [Parameter(Mandatory)][String]$Url, + [Parameter(Mandatory)][String]$Destination ) try { - Write-Host "Downloading $Name..." - [string]$zipPath = Get-TempFilePath -Extension 'zip' - curl.exe -L -o $zipPath -s -S $Url - Write-Host "Installing $Name..." - Expand-Archive -Path $zipPath -DestinationPath $Dir -Force - } - catch { - Write-Error "Failed to install $Name! $($_.Exception.Message)" - throw + $fileName = [uri]::new($Url).Segments[-1] + if ([string]::IsNullOrWhiteSpace($LocalName)) { + $LocalName = $fileName + } + + [string]$zipPath + [bool]$doRemove = $false + [string]$LocalPath = Join-Path $PSScriptRoot $LocalName + if (Test-Path $LocalPath) { + Write-Host "Using local $Name..." + $zipPath = $LocalPath + } else { + $tempPath = Get-TempFilePath + New-Item -ItemType Directory -Path $tempPath -Force | Out-Null + $zipPath = Join-Path $tempPath $LocalName + Write-Host "Downloading $Name ( $Url -> $zipPath )..." + Invoke-WebRequest -Uri $Url -OutFile $zipPath + $doRemove = $true + } + + Write-Host "Installing $Name to $Destination..." + & tar.exe -xvf $zipPath --strip 1 --directory $Destination + if ($LASTEXITCODE -eq 0) { + Write-Host 'Installation successful!' + } else { + Write-Error "Installation failed! Exited with $LASTEXITCODE." + } + + if ($doRemove) { + Remove-Item -Path $zipPath -Force + } + } catch { + Write-Error "Installation failed! Exception: $($_.Exception.Message)" } } diff --git a/scripts/azure-pipelines/windows/validate-version-files.ps1 b/scripts/azure-pipelines/windows/validate-version-files.ps1 new file mode 100644 index 00000000000000..1bcb05a7bd81a8 --- /dev/null +++ b/scripts/azure-pipelines/windows/validate-version-files.ps1 @@ -0,0 +1,29 @@ +./vcpkg.exe --feature-flags=versions x-ci-verify-versions --verbose | +ForEach-Object -Begin { + $long_error = '' +} -Process { + if ($long_error -ne '' -and $_ -match '^$|^ ') { + # Extend multi-line message + $long_error = -join($long_error, "%0D%0A", $_ -replace '^ ','' ` + -replace '(git add) [^ ]*\\ports\\([^ ]*)', '$1 ports/$2' ) + } else { + if ($long_error -ne '') { + # Flush multi-line message + $long_error + $long_error = '' + } + if ($_ -match '^Error: ') { + # Start multi-line message + $long_error = $_ -replace '^Error: ', '##vso[task.logissue type=error]' ` + -replace '(^##vso[^\]]*)](.*) [^ ]*\\versions\\(.-)\\(.*.json)(.*)', '$1;sourcepath=versions/$3/$4;linenumber=2]$2 version/$3/$4$5' + } else { + # Normal line + $_ + } + } +} -End { + if ($long_error -ne '') { + # Flush multi-line message + $long_error + } +} diff --git a/scripts/boost/generate-ports.ps1 b/scripts/boost/generate-ports.ps1 index 3e9ec8f6b963de..11db02b5207e8e 100644 --- a/scripts/boost/generate-ports.ps1 +++ b/scripts/boost/generate-ports.ps1 @@ -1,8 +1,14 @@ [CmdletBinding()] param ( $libraries = @(), - $version = "1.77.0", - $portsDir = $null + $version = "1.86.0", +# 1: boost-cmake/ref_sha.cmake needs manual updating +# 2: This script treats support statements as platform expressions. This is incorrect +# in a few cases e.g. boost-parameter-python not depending on boost-python for uwp since +# boost-python is not supported on uwp. Update $suppressPlatformForDependency as needed, +# don't blindly stage/commit changes containing platform expressions in dependencies. + $portsDir = $null, + $vcpkg = $null ) $ErrorActionPreference = 'Stop' @@ -11,27 +17,31 @@ $scriptsDir = split-path -parent $MyInvocation.MyCommand.Definition if ($null -eq $portsDir) { $portsDir = "$scriptsDir/../../ports" } - -if ($IsWindows) { - $vcpkg = "$scriptsDir/../../vcpkg.exe" - $curl = "curl.exe" -} -else { +if ($null -eq $vcpkg) { $vcpkg = "$scriptsDir/../../vcpkg" - $curl = "curl" } + +# Beta builds contains a text in the version string +$semverVersion = ($version -replace "(\d+(\.\d+){1,3}).*", "`$1") + # Clear this array when moving to a new boost version +$defaultPortVersion = 0 $portVersions = @{ - #e.g. "boost-asio" = 1; - "boost" = 2; - "boost-config" = 2; - "boost-gil" = 1; - "boost-iostreams" = 1; - "boost-modular-build-helper" = 3; - "boost-odeint" = 1; - "boost-python" = 1; - "boost-process" = 2; + 'boost-build' = 1 +} + +function Get-PortVersion { + param ( + [string]$PortName + ) + + $nonDefault = $portVersions[$PortName] + if ($null -ne $nonDefault) { + return $nonDefault + } + + return $defaultPortVersion } $portData = @{ @@ -44,91 +54,125 @@ $portData = @{ } }; "boost-asio" = @{ - "dependencies" = @("openssl"); - "supports" = "!emscripten" + "features" = @{ + "ssl" = @{ + "description" = "Build with SSL support"; + "dependencies" = @(@{ "name" = "openssl"; "platform" = "!emscripten" }); + } + } }; "boost-beast" = @{ "supports" = "!emscripten" }; - "boost-fiber" = @{ "supports" = "!osx&!uwp&!arm&!emscripten" }; + "boost-cobalt" = @{ "supports" = "!osx & !ios & !android & !uwp" }; + "boost-context" = @{ "supports" = "!uwp & !emscripten" }; + "boost-coroutine" = @{ "supports" = "!(arm & windows) & !uwp & !emscripten" }; + "boost-fiber" = @{ + "supports" = "!uwp & !(arm & windows) & !emscripten"; + "features" = @{ + "numa" = @{ + "description" = "Enable NUMA support"; + } + } + }; "boost-filesystem" = @{ "supports" = "!uwp" }; + "boost-graph-parallel" = @{ "dependencies" = @("mpi"); }; "boost-iostreams" = @{ "default-features" = @("bzip2", "lzma", "zlib", "zstd"); "supports" = "!uwp"; "features" = @{ "bzip2" = @{ + "description" = "Support bzip2 filters"; "dependencies" = @("bzip2"); - "description" = "Support bzip2 filters" }; "lzma" = @{ + "description" = "Support LZMA/xz filters"; "dependencies" = @("liblzma"); - "description" = "Support LZMA/xz filters" }; "zlib" = @{ + "description" = "Support zlib filters"; "dependencies" = @("zlib"); - "description" = "Support zlib filters" }; "zstd" = @{ + "description" = "Support zstd filters"; "dependencies" = @("zstd"); - "description" = "Support zstd filters" }; }; }; - "boost-context" = @{ "supports" = "!uwp&!emscripten" }; - "boost-stacktrace" = @{ "supports" = "!uwp" }; - "boost-coroutine" = @{ "supports" = "!arm&!uwp&!emscripten" }; - "boost-coroutine2" = @{ "supports" = "!emscripten" }; - "boost-test" = @{ "supports" = "!uwp" }; - "boost-wave" = @{ "supports" = "!uwp" }; - "boost-log" = @{ "supports" = "!uwp&!emscripten" }; "boost-locale" = @{ - "dependencies" = @(@{ "name" = "libiconv"; "platform" = "!uwp&!windows&!mingw" }); + "dependencies" = @(@{ "name" = "libiconv"; "platform" = "!uwp & !windows & !mingw" }); "supports" = "!uwp"; "features" = @{ "icu" = @{ + "description" = "ICU backend for Boost.Locale"; "dependencies" = @("icu"); - "description" = "ICU backend for Boost.Locale" } } }; - "boost-mpi" = @{ - "dependencies" = @("mpi"); - "supports" = "!uwp"; + "boost-log" = @{ "supports" = "!uwp & !emscripten" }; + "boost-math" = @{ + "features" = @{ + "legacy" = @{ + "description" = "Build the legacy C99 and TR1 libraries"; + } + } }; - "boost-graph-parallel" = @{ + "boost-mpi" = @{ "dependencies" = @("mpi"); "supports" = "!uwp"; + "features" = @{ + "python3" = @{ + "description" = "Build Python3 bindings"; + "supports" = "!static"; + "dependencies" = @(@{ "name" = "boost-python"; "platform" = "!uwp & !emscripten & !ios & !android" }, "python3"); + } + } }; + "boost-mysql" = @{ "dependencies" = @("openssl"); }; "boost-odeint" = @{ "features" = @{ "mpi" = @{ + "description" = "Support parallelization with MPI"; "dependencies" = @("boost-mpi"); - "description" = "Support parallelization with MPI" - } - } - }; - "boost-parameter-python" = @{ "supports" = "!emscripten" }; - "boost-process" = @{ "supports" = "!emscripten" }; - "boost-python" = @{ - "default-features" = @("python3"); - "supports" = "!uwp&!(arm&windows)&!emscripten"; - "features" = @{ - "python2" = @{ - "dependencies" = @("python2"); - "description" = "Build with Python2 support" - }; - "python3" = @{ - "dependencies" = @("python3"); - "description" = "Build with Python3 support" } } }; + "boost-process" = @{ "supports" = "!uwp & !emscripten & !android" }; + "boost-python" = @{ "supports" = "!uwp & !emscripten & !ios & !android"; "dependencies" = @("python3");}; + "boost-random" = @{ "supports" = "!uwp" }; "boost-regex" = @{ "features" = @{ "icu" = @{ + "description" = "ICU backend for Boost.Regex"; "dependencies" = @("icu"); - "description" = "ICU backend for Boost.Regex" } } } + "boost-stacktrace" = @{ + "default-features" = @(@{ "name" = "backtrace"; "platform" = "!windows" }; @{ "name" = "windbg"; "platform" = "windows" }); + "supports" = "!uwp"; + "features" = @{ + "backtrace" = @{ + "description" = "Use boost_stacktrace_backtrace"; + "supports" = "!windows"; + "dependencies" = @(@{ "name" = "libbacktrace"; "platform" = "!windows" }); + }; + "windbg" = @{ + "description" = "Use boost_stacktrace_windbg"; + "supports" = "windows"; + }; + } + }; + "boost-test" = @{ "supports" = "!uwp" }; + "boost-wave" = @{ "supports" = "!uwp" }; +} + +# For some dependent ports (LHS), the dependency's [RHS] "supports" is enough, +# and no "platform" field shall be added to the dependency. +$suppressPlatformForDependency = @{ + "boost-coroutine2" = @("boost-context"); + "boost-dll" = @("boost-filesystem"); + "boost-graph" = @("boost-random"); + "boost-parameter-python" = @("boost-python"); + "boost-property-map-parallel" = @("boost-mpi"); } function GeneratePortName() { @@ -138,37 +182,116 @@ function GeneratePortName() { "boost-" + ($Library -replace "_", "-") } -function GeneratePortDependency() { +function GetPortHomepage() { param ( [string]$Library ) - $portName = GeneratePortName $Library - if ($portData.Contains($portName) -and $portData[$portName].Contains('supports')) { - @{name = $portName; platform = $portData[$portName]['supports'] } + + $specicalHomepagePaths = @{ + "interval" = "numeric/interval"; + "numeric_conversion" = "numeric/conversion"; + "odeint" = "numeric/odeint"; + "ublas" = "numeric/ublas"; + } + + if ($specicalHomepagePaths.ContainsKey($Library)) { + $homepagePath = $specicalHomepagePaths[$Library] + } else { + $homepagePath = $Library + } + + "https://www.boost.org/libs/" + $homepagePath +} + +function GeneratePortDependency() { + param ( + [string]$Library = '', + [string]$PortName = '', + [string]$ForLibrary = '' + ) + if ($PortName -eq '') { + $PortName = GeneratePortName $Library + } + $forPortName = GeneratePortName $ForLibrary + if ($suppressPlatformForDependency.Contains($forPortName) -and $suppressPlatformForDependency[$forPortName].Contains($PortName)) { + $PortName + } + elseif ($portData.Contains($PortName) -and $portData[$PortName].Contains('supports')) { + @{name = $PortName; platform = $portData[$PortName]['supports'] } + } + elseif ($ForLibrary -eq '' -and $suppressPlatformForDependency.Contains($PortName)) { + # For 'boost'. + $platform = ` + $suppressPlatformForDependency[$PortName] ` + | ForEach-Object { (GeneratePortDependency -PortName $_).platform } ` + | Group-Object -NoElement ` + | Join-String -Property Name -Separator ' & ' + if ($platform -ne '') { + @{name = $PortName; platform = $platform } + } + else { + $PortName + } } else { - $portName + $PortName } } +function AddBoostVersionConstraints() { + param ( + $Dependencies = @() + ) + + $updatedDependencies = @() + foreach ($dependency in $Dependencies) { + if ($dependency.Contains("name")) { + if ($dependency.name.StartsWith("boost")) { + $dependency["version>="] = $semverVersion + } + } + else { + if ($dependency.StartsWith("boost")) { + $dependency = @{ + "name" = $dependency + "version>=" = $semverVersion + } + } + } + $updatedDependencies += $dependency + } + $updatedDependencies +} + function GeneratePortManifest() { param ( [string]$PortName, [string]$Homepage, [string]$Description, + [string]$License, $Dependencies = @() ) $manifest = @{ - "name" = $PortName - "version" = $version - "homepage" = $Homepage - "description" = $Description + "`$comment" = "Automatically generated by scripts/boost/generate-ports.ps1" + "name" = $PortName + "homepage" = $Homepage + "description" = $Description + } + if ($version -eq $semverVersion) { + $manifest["version"] = $version + } + else { + $manifest["version-string"] = $version + } + if ($License) { + $manifest["license"] += $License } if ($portData.Contains($PortName)) { $manifest += $portData[$PortName] } - if ($portVersions.Contains($PortName)) { - $manifest["port-version"] = $portVersions[$PortName] + $thisPortVersion = Get-PortVersion $PortName + if ($thisPortVersion -ne 0) { + $manifest["port-version"] = $thisPortVersion } if ($Dependencies.Count -gt 0) { $manifest["dependencies"] += $Dependencies @@ -185,12 +308,24 @@ function GeneratePortManifest() { $dep_name = $dependency } $manifest["dependencies"] = $manifest["dependencies"] ` - | Where-Object { $_ -notmatch "$dep_name" } ` - | Where-Object { $_.name -notmatch "$dep_name" } + | Where-Object { + if ($_.Contains("name")) { + $_.name -notmatch "$dep_name" + } + else { + $_ -notmatch "$dep_name" + } + } } } } + # Add version constraints to boost dependencies + $manifest["dependencies"] = @(AddBoostVersionConstraints $manifest["dependencies"]) + foreach ($feature in $manifest.features.Keys) { + $manifest.features.$feature["dependencies"] = @(AddBoostVersionConstraints $manifest.features.$feature["dependencies"]) + } + $manifest | ConvertTo-Json -Depth 10 -Compress ` | Out-File -Encoding UTF8 "$portsDir/$PortName/vcpkg.json" & $vcpkg format-manifest "$portsDir/$PortName/vcpkg.json" @@ -200,19 +335,20 @@ function GeneratePort() { param ( [string]$Library, [string]$Hash, - [bool]$NeedsBuild, $Dependencies = @() ) $portName = GeneratePortName $Library + $homepage = GetPortHomepage $Library New-Item -ItemType "Directory" "$portsDir/$portName" -erroraction SilentlyContinue | out-null # Generate vcpkg.json GeneratePortManifest ` -PortName $portName ` - -Homepage "https://github.com/boostorg/$Library" ` + -Homepage $homepage ` -Description "Boost $Library module" ` + -License "BSL-1.0" ` -Dependencies $Dependencies $portfileLines = @( @@ -231,19 +367,18 @@ function GeneratePort() { "vcpkg_from_github(" " OUT_SOURCE_PATH SOURCE_PATH" " REPO boostorg/$Library" - " REF boost-$version" + " REF boost-`${VERSION}" " SHA512 $Hash" " HEAD_REF master" ) [Array]$patches = Get-Item -Path "$portsDir/$portName/*.patch" - if ($null -eq $patches -or $patches.Count -eq 0) { - } - elseif ($patches.Count -eq 1) { - $portfileLines += @(" PATCHES $($patches.name)") + [Array]$diffs = Get-Item -Path "$portsDir/$portName/*.diff" + [Array]$allmods = $patches + $diffs + if ($null -eq $allmods -or $allmods.Count -eq 0) { } else { $portfileLines += @(" PATCHES") - foreach ($patch in $patches) { + foreach ($patch in $allmods) { $portfileLines += @(" $($patch.name)") } } @@ -256,45 +391,20 @@ function GeneratePort() { $portfileLines += @(Get-Content "$scriptsDir/post-source-stubs/$Library.cmake") } - if ($NeedsBuild) { + $portfileLines += @( + "set(FEATURE_OPTIONS `"`")" + ) + if (Test-Path "$portsDir/$portName/features.cmake") { $portfileLines += @( - "if(NOT DEFINED CURRENT_HOST_INSTALLED_DIR)" - " message(FATAL_ERROR `"$portName requires a newer version of vcpkg in order to build.`")" - "endif()" - "include(`${CURRENT_HOST_INSTALLED_DIR}/share/boost-build/boost-modular-build.cmake)" + "include(`"`${CMAKE_CURRENT_LIST_DIR}/features.cmake`")" ) - # b2-options.cmake contains port-specific build options - if (Test-Path "$portsDir/$portName/b2-options.cmake") { - $portfileLines += @( - "boost_modular_build(" - " SOURCE_PATH `${SOURCE_PATH}" - " BOOST_CMAKE_FRAGMENT `"`${CMAKE_CURRENT_LIST_DIR}/b2-options.cmake`"" - ")" - ) - } - elseif (Test-Path "$portsDir/$portName/b2-options.cmake.in") { - $portfileLines += @( - '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"' - ')' - ) - } - else { - $portfileLines += @( - "boost_modular_build(SOURCE_PATH `${SOURCE_PATH})" - ) - } } $portfileLines += @( - "include(`${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake)" - "boost_modular_headers(SOURCE_PATH `${SOURCE_PATH})" + "boost_configure_and_install(" + " SOURCE_PATH `"`${SOURCE_PATH}`"" + " OPTIONS `${FEATURE_OPTIONS}" + ")" ) if (Test-Path "$scriptsDir/post-build-stubs/$Library.cmake") { @@ -303,7 +413,7 @@ function GeneratePort() { $portfileLines += @("") Set-Content -LiteralPath "$portsDir/$portName/portfile.cmake" ` - -Value "$($portfileLines -join "`r`n")" ` + -Value "$($portfileLines -join "`n")" ` -Encoding UTF8 ` -NoNewline } @@ -336,14 +446,13 @@ $foundLibraries = Get-ChildItem $scriptsDir/boost/libs -directory | ForEach-Obje "odeint" "ublas" } - elseif ($_ -eq "headers") { - } else { $_ } } -New-Item -ItemType "Directory" $scriptsDir/downloads -erroraction SilentlyContinue | out-null +$downloads = "$scriptsDir/../../downloads" +New-Item -ItemType "Directory" $downloads -erroraction SilentlyContinue | out-null $updateServicePorts = $false @@ -355,14 +464,15 @@ if ($libraries.Length -eq 0) { $boostPortDependencies = @() foreach ($library in $libraries) { - "Handling boost/$library..." - $archive = "$scriptsDir/downloads/$library-boost-$version.tar.gz" + $archive = "$downloads/boostorg-$library-boost-$version.tar.gz" + "Handling boost/$library... $archive" if (!(Test-Path $archive)) { "Downloading boost/$library..." - & $curl -L "https://github.com/boostorg/$library/archive/boost-$version.tar.gz" --output "$scriptsDir/downloads/$library-boost-$version.tar.gz" + Invoke-WebRequest -Uri "https://github.com/boostorg/$library/archive/boost-$version.tar.gz" -OutFile "$archive" + "Downloaded boost/$library..." } $hash = & $vcpkg --x-wait-for-lock hash $archive - # remove prefix "Waiting to take filesystem lock on /.vcpkg-root... " + # Remove prefix "Waiting to take filesystem lock on /.vcpkg-root... " if ($hash -is [Object[]]) { $hash = $hash[1] } @@ -385,18 +495,18 @@ foreach ($library in $libraries) { | Where-Object { $_ -is [System.IO.FileInfo] } ` | ForEach-Object { Write-Verbose "${library}: processing file: $_" - Get-Content -LiteralPath $_ + Get-Content -LiteralPath $_.FullName } ` | Where-Object { $_ -match ' *# *include *[<"]boost\/' } ` | ForEach-Object { - # extract path from the line + # Extract path from the line Write-Verbose "${library}: processing line: $_" $_ -replace " *# *include *[<`"]boost\/([a-zA-Z0-9\.\-_\/]*)[>`"].*", "`$1" }` | ForEach-Object { - # map the path to the library name + # Map the path to the library name Write-Verbose "${library}: processing path: $_" if ($_ -match "^detail\/winapi\/") { "winapi" } elseif ($_ -eq "detail/algorithm.hpp") { "graph" } @@ -457,11 +567,11 @@ foreach ($library in $libraries) { elseif ($_ -eq "utility/enable_if.hpp") { "core" } elseif ($_ -eq "utility/explicit_operator_bool.hpp") { "core" } elseif ($_ -eq "utility/swap.hpp") { "core" } - # extract first directory name or file name from the path + # Extract first directory name or file name from the path else { $_ -replace "([a-zA-Z0-9\.\-_]*).*", "`$1" } } ` | ForEach-Object { - # map directory/file name to the library name + # Map directory/file name to the library name Write-Verbose "${library}: processing name: $_" if ($_ -eq "current_function.hpp") { "assert" } elseif ($_ -eq "memory_order.hpp") { "atomic" } @@ -489,7 +599,7 @@ foreach ($library in $libraries) { elseif ($_ -eq "nondet_random.hpp") { "random" } elseif ($_ -match "cregex.hpp|regex_fwd.hpp") { "regex" } elseif ($_ -eq "archive") { "serialization" } - elseif ($_ -match "^signals$|last_value.hpp|signal.hpp|signals.hpp") { "signals" } + elseif ($_ -match "last_value.hpp|signal.hpp") { "signals" } elseif ($_ -match "enable_shared_from_this.hpp|intrusive_ptr.hpp|make_shared.hpp|make_unique.hpp|pointer_cast.hpp|pointer_to_other.hpp|scoped_array.hpp|scoped_ptr.hpp|shared_array.hpp|shared_ptr.hpp|weak_ptr.hpp") { "smart_ptr" } elseif ($_ -eq "cerrno.hpp") { "system" } elseif ($_ -eq "progress.hpp") { "timer" } @@ -497,7 +607,7 @@ foreach ($library in $libraries) { elseif ($_ -match "aligned_storage.hpp") { "type_traits" } elseif ($_ -match "unordered_map.hpp|unordered_set.hpp") { "unordered" } elseif ($_ -match "call_traits.hpp|compressed_pair.hpp|operators.hpp|operators_v1.hpp") { "utility" } - # by dafault use the name as is, just remove the file extension if available + # By dafault use the name as is, just remove the file extension if available else { $_ -replace "\.hp?p?", "" } } ` | Where-Object { @@ -505,34 +615,47 @@ foreach ($library in $libraries) { } ` | Group-Object -NoElement | ForEach-Object Name - " [known] " + $($usedLibraries | Where-Object { $foundLibraries -contains $_ }) - " [unknown] " + $($usedLibraries | Where-Object { $foundLibraries -notcontains $_ }) + " [known] " + $($usedLibraries | Where-Object { $foundLibraries -contains $_ }) + "[unknown] " + $($usedLibraries | Where-Object { $foundLibraries -notcontains $_ }) $deps = @($usedLibraries | Where-Object { $foundLibraries -contains $_ }) - # break unnecessary dependencies - $deps = @($deps | ? { - -not ( + + # Remove optional dependencies that are only used for tests or examples + $deps = @($deps | Where-Object { + -not ( ($library -eq 'gil' -and $_ -eq 'filesystem') # PR #20575 - ) - }) - $deps = @($deps | ForEach-Object { GeneratePortDependency $_ }) - $deps += @("boost-vcpkg-helpers") - - $needsBuild = $false - if (((Test-Path $unpacked/build/Jamfile.v2) -or (Test-Path $unpacked/build/Jamfile)) -and $library -notmatch "function_types") { - $deps += @( - @{ name = "boost-build"; host = $True }, - @{ name = "boost-modular-build-helper"; host = $True }, - @{ name = "vcpkg-cmake"; host = $True } - ) - $needsBuild = $true + ) + } + ) + $deps = @($deps | Where-Object { + -not ( + ($library -eq 'mysql' -and $_ -eq 'pfr') + ) + } + ) + + # Add dependency to the config for all libraries except the config library itself + if ($library -ne 'config' -and $library -ne 'headers') { + # Note: CMake's built-in finder (FindBoost.cmake) looks for Boost header files (boost/version.h or boost/config.h) + # and stores the result in the Boost_INCLUDE_DIR variable. The files boost/version.h or boost/config.h are owned by the config library. + # Without these files, the Boost_INCLUDE_DIR variable will not be set and the Boost version will not be detected. + $deps += @('config') + $deps = $deps | Select-Object -Unique + } + + $deps = @($deps | ForEach-Object { GeneratePortDependency $_ -ForLibrary $library }) + + if ($library -ne 'cmake') { + $deps += @("boost-cmake") + if ($library -ne 'headers') { + $deps += @("boost-headers") + } } GeneratePort ` -Library $library ` -Hash $hash ` - -Dependencies $deps ` - -NeedsBuild $needsBuild + -Dependencies $deps $boostPortDependencies += @(GeneratePortDependency $library) } @@ -547,6 +670,7 @@ if ($updateServicePorts) { -PortName "boost" ` -Homepage "https://boost.org" ` -Description "Peer-reviewed portable C++ source libraries" ` + -License "BSL-1.0" ` -Dependencies $boostPortDependencies Set-Content -LiteralPath "$portsDir/boost/portfile.cmake" ` @@ -557,21 +681,24 @@ if ($updateServicePorts) { # Generate manifest files for boost-uninstall GeneratePortManifest ` -PortName "boost-uninstall" ` - -Description "Internal vcpkg port used to uninstall Boost" + -Description "Internal vcpkg port used to uninstall Boost" ` + -License "MIT" # Generate manifest files for boost-vcpkg-helpers GeneratePortManifest ` - -PortName "boost-vcpkg-helpers" ` - -Description "Internal vcpkg port used to modularize Boost" ` - -Dependencies @("boost-uninstall") + -PortName "boost-cmake" ` + -Homepage "https://github.com/boostorg/cmake" ` + -Description "Boost CMake support infrastructure" ` + -License "BSL-1.0" ` + -Dependencies @("boost-uninstall", @{ name = "vcpkg-boost"; host = $true }, @{ name = "vcpkg-cmake"; host = $true }, @{ name = "vcpkg-cmake-config"; host = $true }) + - # Generate manifest files for boost-modular-build-helper + # Generate manifest files for boost-build GeneratePortManifest ` - -PortName "boost-modular-build-helper" ` - -Description "Internal vcpkg port used to build Boost libraries" ` + -PortName "boost-build" ` + -Homepage "https://github.com/boostorg/build" ` + -Description "Boost.Build" ` + -License "BSL-1.0" ` -Dependencies @("boost-uninstall") - # Update Boost version in boost-modular-build.cmake - $boost_modular_build = "$portsDir/boost-modular-build-helper/boost-modular-build.cmake" - (Get-Content -LiteralPath "$boost_modular_build") -replace "set\(BOOST_VERSION ([0-9\.]+)\)", "set(BOOST_VERSION $version)" | Set-Content -LiteralPath "$boost_modular_build" } diff --git a/scripts/boost/post-build-stubs/cmake.cmake b/scripts/boost/post-build-stubs/cmake.cmake new file mode 100644 index 00000000000000..832be6ad0b66df --- /dev/null +++ b/scripts/boost/post-build-stubs/cmake.cmake @@ -0,0 +1,2 @@ +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage.in" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") \ No newline at end of file diff --git a/scripts/boost/post-build-stubs/config.cmake b/scripts/boost/post-build-stubs/config.cmake index b09ea209b4cc68..48300ff7893827 100644 --- a/scripts/boost/post-build-stubs/config.cmake +++ b/scripts/boost/post-build-stubs/config.cmake @@ -1,7 +1,7 @@ -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") -endif() -file(COPY ${SOURCE_PATH}/checks DESTINATION ${CURRENT_PACKAGES_DIR}/share/boost-config) +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") +endif() +file(COPY "${SOURCE_PATH}/libs/config/checks" DESTINATION "${CURRENT_PACKAGES_DIR}/share/boost-config") diff --git a/scripts/boost/post-build-stubs/predef.cmake b/scripts/boost/post-build-stubs/predef.cmake index b960fcd6e99c23..3b4b98af4278a2 100644 --- a/scripts/boost/post-build-stubs/predef.cmake +++ b/scripts/boost/post-build-stubs/predef.cmake @@ -1,2 +1,2 @@ - -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/scripts/boost/post-build-stubs/test.cmake b/scripts/boost/post-build-stubs/test.cmake index c6d07dbc40dea5..2891a9d892779e 100644 --- a/scripts/boost/post-build-stubs/test.cmake +++ b/scripts/boost/post-build-stubs/test.cmake @@ -1,14 +1,13 @@ -if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - 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(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(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(REMOVE ${DEBUG_MONITOR_LIBS}) -endif() - +if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + 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(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(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(REMOVE ${DEBUG_MONITOR_LIBS}) +endif() diff --git a/scripts/boost/post-source-stubs/atomic.cmake b/scripts/boost/post-source-stubs/atomic.cmake deleted file mode 100644 index 0715d20f709a46..00000000000000 --- a/scripts/boost/post-source-stubs/atomic.cmake +++ /dev/null @@ -1,8 +0,0 @@ -file(READ "${SOURCE_PATH}/build/Jamfile.v2" _contents) -string(REPLACE - "project.load [ path.join [ path.make $(here:D) ] ../../config/checks/architecture ]" - "project.load [ path.join [ path.make $(here:D) ] config/checks/architecture ]" - _contents "${_contents}") -file(WRITE "${SOURCE_PATH}/build/Jamfile.v2" "${_contents}") -file(COPY "${CURRENT_INSTALLED_DIR}/share/boost-config/checks" DESTINATION "${SOURCE_PATH}/build/config") - diff --git a/scripts/boost/post-source-stubs/context.cmake b/scripts/boost/post-source-stubs/context.cmake deleted file mode 100644 index 9ccf342337bc1a..00000000000000 --- a/scripts/boost/post-source-stubs/context.cmake +++ /dev/null @@ -1,5 +0,0 @@ -file(READ "${SOURCE_PATH}/build/Jamfile.v2" _contents) -string(REPLACE "import ../../config/checks/config" "import config/checks/config" _contents "${_contents}") -file(WRITE "${SOURCE_PATH}/build/Jamfile.v2" "${_contents}") -file(COPY "${CURRENT_INSTALLED_DIR}/share/boost-config/checks" DESTINATION "${SOURCE_PATH}/build/config") - diff --git a/scripts/boost/post-source-stubs/fiber.cmake b/scripts/boost/post-source-stubs/fiber.cmake deleted file mode 100644 index 9ccf342337bc1a..00000000000000 --- a/scripts/boost/post-source-stubs/fiber.cmake +++ /dev/null @@ -1,5 +0,0 @@ -file(READ "${SOURCE_PATH}/build/Jamfile.v2" _contents) -string(REPLACE "import ../../config/checks/config" "import config/checks/config" _contents "${_contents}") -file(WRITE "${SOURCE_PATH}/build/Jamfile.v2" "${_contents}") -file(COPY "${CURRENT_INSTALLED_DIR}/share/boost-config/checks" DESTINATION "${SOURCE_PATH}/build/config") - diff --git a/scripts/boost/post-source-stubs/log.cmake b/scripts/boost/post-source-stubs/log.cmake deleted file mode 100644 index be17a0419c3ed1..00000000000000 --- a/scripts/boost/post-source-stubs/log.cmake +++ /dev/null @@ -1,13 +0,0 @@ -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}") -file(COPY "${CURRENT_INSTALLED_DIR}/share/boost-config/checks" DESTINATION "${SOURCE_PATH}/build/config") - -file(READ ${SOURCE_PATH}/build/log-arch-config.jam _contents) -string(REPLACE - "project.load [ path.join [ path.make $(here:D) ] ../../config/checks/architecture ]" - "project.load [ path.join [ path.make $(here:D) ] config/checks/architecture ]" - _contents "${_contents}") -file(WRITE ${SOURCE_PATH}/build/log-arch-config.jam "${_contents}") - diff --git a/scripts/boost/post-source-stubs/test.cmake b/scripts/boost/post-source-stubs/test.cmake deleted file mode 100644 index b2872338d44e11..00000000000000 --- a/scripts/boost/post-source-stubs/test.cmake +++ /dev/null @@ -1,5 +0,0 @@ -file(READ "${SOURCE_PATH}/build/Jamfile.v2" _contents) -string(REPLACE "import ../../predef/check/predef" "import predef/check/predef" _contents "${_contents}") -file(WRITE "${SOURCE_PATH}/build/Jamfile.v2" "${_contents}") -file(COPY "${CURRENT_INSTALLED_DIR}/share/boost-predef/check" DESTINATION "${SOURCE_PATH}/build/predef") - diff --git a/scripts/bootstrap.ps1 b/scripts/bootstrap.ps1 index a78ace278ea7ec..e1338c7b30cf0b 100644 --- a/scripts/bootstrap.ps1 +++ b/scripts/bootstrap.ps1 @@ -45,8 +45,11 @@ while (!($vcpkgRootDir -eq "") -and !(Test-Path "$vcpkgRootDir\.vcpkg-root")) Write-Verbose "Examining $vcpkgRootDir for .vcpkg-root - Found" -$versionDate = '2021-11-15' -if ($env:PROCESSOR_ARCHITECTURE -eq 'ARM64') { +# Read the vcpkg-tool config file to determine what release to download +$Config = ConvertFrom-StringData (Get-Content "$PSScriptRoot\vcpkg-tool-metadata.txt" -Raw) +$versionDate = $Config.VCPKG_TOOL_RELEASE_TAG + +if ($env:PROCESSOR_ARCHITECTURE -eq 'ARM64' -or $env:PROCESSOR_IDENTIFIER -match "ARMv[8,9] \(64-bit\)") { & "$scriptsDir/tls12-download-arm64.exe" github.com "/microsoft/vcpkg-tool/releases/download/$versionDate/vcpkg-arm64.exe" "$vcpkgRootDir\vcpkg.exe" } else { & "$scriptsDir/tls12-download.exe" github.com "/microsoft/vcpkg-tool/releases/download/$versionDate/vcpkg.exe" "$vcpkgRootDir\vcpkg.exe" @@ -60,6 +63,8 @@ if ($LASTEXITCODE -ne 0) throw } +& "$vcpkgRootDir\vcpkg.exe" version --disable-metrics + if ($disableMetrics) { Set-Content -Value "" -Path "$vcpkgRootDir\vcpkg.disable-metrics" -Force diff --git a/scripts/bootstrap.sh b/scripts/bootstrap.sh index d36f7ef1f07daf..7c6a20e2759f63 100644 --- a/scripts/bootstrap.sh +++ b/scripts/bootstrap.sh @@ -36,9 +36,9 @@ do fi done -# Enable using this entry point on windows from git bash by redirecting to the .bat file. -unixName=$(uname -s | sed 's/MINGW.*_NT.*/MINGW_NT/') -if [ "$unixName" = "MINGW_NT" ]; then +# Enable using this entry point on Windows from an msys2 or cygwin bash env. (e.g., git bash) by redirecting to the .bat file. +unixKernelName=$(uname -s | sed -E 's/(CYGWIN|MINGW|MSYS).*_NT.*/\1_NT/') +if [ "$unixKernelName" = CYGWIN_NT ] || [ "$unixKernelName" = MINGW_NT ] || [ "$unixKernelName" = MSYS_NT ]; then if [ "$vcpkgDisableMetrics" = "ON" ]; then args="-disableMetrics" else @@ -76,6 +76,8 @@ vcpkgCheckRepoTool() echo " sudo yum install curl zip unzip tar" echo "On SUSE Linux and derivatives:" echo " sudo zypper install curl zip unzip tar" + echo "On Arch Linux and derivatives:" + echo " sudo pacman -Syu base-devel git curl zip unzip tar cmake ninja" echo "On Alpine:" echo " apk add build-base cmake ninja zip unzip curl git" echo " (and export VCPKG_FORCE_SYSTEM_BINARIES=1)" @@ -93,65 +95,32 @@ ARCH="$(uname -m)" if [ -e /etc/alpine-release ]; then vcpkgUseSystem="ON" - vcpkgUseMuslC="ON" + if [ "$ARCH" = "x86_64" ]; then + vcpkgUseMuslC="ON" + fi fi if [ "$UNAME" = "OpenBSD" ]; then vcpkgUseSystem="ON" - - if [ -z "$CXX" ]; then - CXX=/usr/bin/clang++ - fi - if [ -z "$CC" ]; then - CC=/usr/bin/clang - fi fi if [ "$vcpkgUseSystem" = "ON" ]; then vcpkgCheckRepoTool cmake vcpkgCheckRepoTool ninja vcpkgCheckRepoTool git - vcpkgCheckRepoTool gcc fi -# Determine what we are going to do to bootstrap: -# MacOS -> Download vcpkg-macos -# Linux -# useMuslC -> download vcpkg-muslc -# amd64 -> download vcpkg-glibc -# Otherwise -# Download and build from source - -# Choose the vcpkg binary to download -vcpkgDownloadTool="ON" -vcpkgToolReleaseTag="2021-11-15" -if [ "$UNAME" = "Darwin" ]; then - echo "Downloading vcpkg-macos..." - vcpkgToolReleaseSha="2dc3b9fc8dde1eebdc76e1d40c4e9078d7a892487552349ac75df8e9c33d601830ab06b2283a7ba163de0d70f441574501de6cc1198930a346a3a642e677f93f" - vcpkgToolName="vcpkg-macos" -elif [ "$vcpkgUseMuslC" = "ON" ]; then - echo "Downloading vcpkg-muslc..." - vcpkgToolReleaseSha="4e5e349c608f7263cbed38f800051ea0165966d472f697a47225183e00f7e09791f5663f8f6ec87f9b00803f91ddbd8c716e45e718fc2987ba03070671deaf21" - vcpkgToolName="vcpkg-muslc" -elif [ "$ARCH" = "x86_64" ]; then - echo "Downloading vcpkg-glibc..." - vcpkgToolReleaseSha="c574ca0978a7a5a1b7ea636c4c9b201fb7446a5b413820e0d08e7934818a2041e53b8caefa32317d4c6f81d872c90f09463f0952861593e3f1e0c47239cf766b" - vcpkgToolName="vcpkg-glibc" -else - echo "Unable to determine a binary release of vcpkg; attempting to build from source." - vcpkgDownloadTool="OFF" - vcpkgToolReleaseSha="d94b00fd8d0b3abb0379390fc12c9103f209621e899df11c1ccfd9d15558908dbe0cd3e61cf7fe89a28a6a2b42eeb311d74cf1ebcb0f8e8debc671e9be123ec7" -fi - -# Do the download or build. vcpkgCheckEqualFileHash() { url=$1; filePath=$2; expectedHash=$3 if command -v "sha512sum" >/dev/null 2>&1 ; then actualHash=$(sha512sum "$filePath") + elif command -v "sha512" >/dev/null 2>&1 ; then + # OpenBSD + actualHash=$(sha512 -q "$filePath") else - # sha512sum is not available by default on osx + # [g]sha512sum is not available by default on osx # shasum is not available by default on Fedora actualHash=$(shasum -a 512 "$filePath") fi @@ -189,35 +158,47 @@ vcpkgExtractTar() mv "$toPath.partial" "$toPath" } -if [ "$vcpkgDownloadTool" = "ON" ]; then - vcpkgDownloadFile "https://github.com/microsoft/vcpkg-tool/releases/download/$vcpkgToolReleaseTag/$vcpkgToolName" "$vcpkgRootDir/vcpkg" $vcpkgToolReleaseSha +# Determine what we are going to do to bootstrap: +# MacOS -> Download vcpkg-macos +# Linux +# useMuslC -> download vcpkg-muslc +# amd64 -> download vcpkg-glibc +# Otherwise +# Download and build from source + +# Read the vcpkg-tool config file to determine what release to download +. "$vcpkgRootDir/scripts/vcpkg-tool-metadata.txt" + +vcpkgDownloadTool="ON" +if [ "$UNAME" = "Darwin" ]; then + echo "Downloading vcpkg-macos..." + vcpkgToolReleaseSha=$VCPKG_MACOS_SHA + vcpkgToolName="vcpkg-macos" +elif [ "$vcpkgUseMuslC" = "ON" ]; then + echo "Downloading vcpkg-muslc..." + vcpkgToolReleaseSha=$VCPKG_MUSLC_SHA + vcpkgToolName="vcpkg-muslc" +elif [ "$ARCH" = "x86_64" ]; then + echo "Downloading vcpkg-glibc..." + vcpkgToolReleaseSha=$VCPKG_GLIBC_SHA + vcpkgToolName="vcpkg-glibc" else - if [ "x$CXX" = "x" ]; then - if which g++-11 >/dev/null 2>&1; then - CXX=g++-11 - elif which g++-10 >/dev/null 2>&1; then - CXX=g++-10 - elif which g++-9 >/dev/null 2>&1; then - CXX=g++-9 - elif which g++-8 >/dev/null 2>&1; then - CXX=g++-8 - elif which g++-7 >/dev/null 2>&1; then - CXX=g++-7 - elif which g++-6 >/dev/null 2>&1; then - CXX=g++-6 - elif which g++ >/dev/null 2>&1; then - CXX=g++ - fi - # If we can't find g++, allow CMake to do the look-up - fi + echo "Unable to determine a binary release of vcpkg; attempting to build from source." + vcpkgDownloadTool="OFF" + vcpkgToolReleaseSha=$VCPKG_TOOL_SOURCE_SHA +fi - vcpkgToolReleaseTarball="$vcpkgToolReleaseTag.tar.gz" +# Do the download or build. +if [ "$vcpkgDownloadTool" = "ON" ]; then + vcpkgDownloadFile "https://github.com/microsoft/vcpkg-tool/releases/download/$VCPKG_TOOL_RELEASE_TAG/$vcpkgToolName" "$vcpkgRootDir/vcpkg" $vcpkgToolReleaseSha +else + vcpkgToolReleaseTarball="$VCPKG_TOOL_RELEASE_TAG.tar.gz" vcpkgToolUrl="https://github.com/microsoft/vcpkg-tool/archive/$vcpkgToolReleaseTarball" baseBuildDir="$vcpkgRootDir/buildtrees/_vcpkg" buildDir="$baseBuildDir/build" tarballPath="$downloadsDir/$vcpkgToolReleaseTarball" srcBaseDir="$baseBuildDir/src" - srcDir="$srcBaseDir/vcpkg-tool-$vcpkgToolReleaseTag" + srcDir="$srcBaseDir/vcpkg-tool-$VCPKG_TOOL_RELEASE_TAG" if [ -e "$tarballPath" ]; then vcpkgCheckEqualFileHash "$vcpkgToolUrl" "$tarballPath" "$vcpkgToolReleaseSha" @@ -236,13 +217,15 @@ else cmakeConfigOptions=" $cmakeConfigOptions '-DCMAKE_JOB_POOL_COMPILE:STRING=compile' '-DCMAKE_JOB_POOL_LINK:STRING=link' '-DCMAKE_JOB_POOLS:STRING=compile=$VCPKG_MAX_CONCURRENCY;link=$VCPKG_MAX_CONCURRENCY' " fi - (cd "$buildDir" && CXX="$CXX" eval cmake "$srcDir" $cmakeConfigOptions) || exit 1 + (cd "$buildDir" && eval cmake "$srcDir" $cmakeConfigOptions) || exit 1 (cd "$buildDir" && cmake --build .) || exit 1 rm -rf "$vcpkgRootDir/vcpkg" cp "$buildDir/vcpkg" "$vcpkgRootDir/" fi +"$vcpkgRootDir/vcpkg" version --disable-metrics + # Apply the disable-metrics marker file. if [ "$vcpkgDisableMetrics" = "ON" ]; then touch "$vcpkgRootDir/vcpkg.disable-metrics" diff --git a/scripts/build_info.cmake b/scripts/build_info.cmake index a6208016ae522b..e86570aaa4bae8 100644 --- a/scripts/build_info.cmake +++ b/scripts/build_info.cmake @@ -1,40 +1,92 @@ -set(BUILD_INFO_FILE_PATH ${CURRENT_PACKAGES_DIR}/BUILD_INFO) -file(WRITE ${BUILD_INFO_FILE_PATH} "CRTLinkage: ${VCPKG_CRT_LINKAGE}\n") -file(APPEND ${BUILD_INFO_FILE_PATH} "LibraryLinkage: ${VCPKG_LIBRARY_LINKAGE}\n") - +set(Z_BUILD_INFO_FILE_CONTENTS "CRTLinkage: ${VCPKG_CRT_LINKAGE}\n") +string(APPEND "Z_BUILD_INFO_FILE_CONTENTS" "LibraryLinkage: ${VCPKG_LIBRARY_LINKAGE}\n") if (DEFINED VCPKG_POLICY_DLLS_WITHOUT_LIBS) - file(APPEND ${BUILD_INFO_FILE_PATH} "PolicyDLLsWithoutLIBs: ${VCPKG_POLICY_DLLS_WITHOUT_LIBS}\n") + string(APPEND "Z_BUILD_INFO_FILE_CONTENTS" "PolicyDLLsWithoutLIBs: ${VCPKG_POLICY_DLLS_WITHOUT_LIBS}\n") endif() if (DEFINED VCPKG_POLICY_DLLS_WITHOUT_EXPORTS) - file(APPEND ${BUILD_INFO_FILE_PATH} "PolicyDLLsWithoutExports: ${VCPKG_POLICY_DLLS_WITHOUT_EXPORTS}\n") + string(APPEND "Z_BUILD_INFO_FILE_CONTENTS" "PolicyDLLsWithoutExports: ${VCPKG_POLICY_DLLS_WITHOUT_EXPORTS}\n") endif() if (DEFINED VCPKG_POLICY_DLLS_IN_STATIC_LIBRARY) - file(APPEND ${BUILD_INFO_FILE_PATH} "PolicyDLLsInStaticLibrary: ${VCPKG_POLICY_DLLS_IN_STATIC_LIBRARY}\n") + string(APPEND "Z_BUILD_INFO_FILE_CONTENTS" "PolicyDLLsInStaticLibrary: ${VCPKG_POLICY_DLLS_IN_STATIC_LIBRARY}\n") endif() if (DEFINED VCPKG_POLICY_MISMATCHED_NUMBER_OF_BINARIES) - file(APPEND ${BUILD_INFO_FILE_PATH} "PolicyMismatchedNumberOfBinaries: ${VCPKG_POLICY_MISMATCHED_NUMBER_OF_BINARIES}\n") + string(APPEND "Z_BUILD_INFO_FILE_CONTENTS" "PolicyMismatchedNumberOfBinaries: ${VCPKG_POLICY_MISMATCHED_NUMBER_OF_BINARIES}\n") endif() if (DEFINED VCPKG_POLICY_EMPTY_PACKAGE) - file(APPEND ${BUILD_INFO_FILE_PATH} "PolicyEmptyPackage: ${VCPKG_POLICY_EMPTY_PACKAGE}\n") + string(APPEND "Z_BUILD_INFO_FILE_CONTENTS" "PolicyEmptyPackage: ${VCPKG_POLICY_EMPTY_PACKAGE}\n") endif() if (DEFINED VCPKG_POLICY_ONLY_RELEASE_CRT) - file(APPEND ${BUILD_INFO_FILE_PATH} "PolicyOnlyReleaseCRT: ${VCPKG_POLICY_ONLY_RELEASE_CRT}\n") + string(APPEND "Z_BUILD_INFO_FILE_CONTENTS" "PolicyOnlyReleaseCRT: ${VCPKG_POLICY_ONLY_RELEASE_CRT}\n") endif() if (DEFINED VCPKG_POLICY_ALLOW_OBSOLETE_MSVCRT) - file(APPEND ${BUILD_INFO_FILE_PATH} "PolicyAllowObsoleteMsvcrt: ${VCPKG_POLICY_ALLOW_OBSOLETE_MSVCRT}\n") + string(APPEND "Z_BUILD_INFO_FILE_CONTENTS" "PolicyAllowObsoleteMsvcrt: ${VCPKG_POLICY_ALLOW_OBSOLETE_MSVCRT}\n") endif() if (DEFINED VCPKG_POLICY_EMPTY_INCLUDE_FOLDER) - file(APPEND ${BUILD_INFO_FILE_PATH} "PolicyEmptyIncludeFolder: ${VCPKG_POLICY_EMPTY_INCLUDE_FOLDER}\n") + string(APPEND "Z_BUILD_INFO_FILE_CONTENTS" "PolicyEmptyIncludeFolder: ${VCPKG_POLICY_EMPTY_INCLUDE_FOLDER}\n") endif() if (DEFINED VCPKG_POLICY_ALLOW_RESTRICTED_HEADERS) - file(APPEND ${BUILD_INFO_FILE_PATH} "PolicyAllowRestrictedHeaders: ${VCPKG_POLICY_ALLOW_RESTRICTED_HEADERS}\n") + string(APPEND "Z_BUILD_INFO_FILE_CONTENTS" "PolicyAllowRestrictedHeaders: ${VCPKG_POLICY_ALLOW_RESTRICTED_HEADERS}\n") endif() if (DEFINED VCPKG_POLICY_SKIP_DUMPBIN_CHECKS) - file(APPEND ${BUILD_INFO_FILE_PATH} "PolicySkipDumpbinChecks: ${VCPKG_POLICY_SKIP_DUMPBIN_CHECKS}\n") + string(APPEND "Z_BUILD_INFO_FILE_CONTENTS" "PolicySkipDumpbinChecks: ${VCPKG_POLICY_SKIP_DUMPBIN_CHECKS}\n") endif() if (DEFINED VCPKG_POLICY_SKIP_ARCHITECTURE_CHECK) - file(APPEND ${BUILD_INFO_FILE_PATH} "PolicySkipArchitectureCheck: ${VCPKG_POLICY_SKIP_ARCHITECTURE_CHECK}\n") + string(APPEND "Z_BUILD_INFO_FILE_CONTENTS" "PolicySkipArchitectureCheck: ${VCPKG_POLICY_SKIP_ARCHITECTURE_CHECK}\n") +endif() +if (DEFINED VCPKG_POLICY_CMAKE_HELPER_PORT) + string(APPEND "Z_BUILD_INFO_FILE_CONTENTS" "PolicyCmakeHelperPort: ${VCPKG_POLICY_CMAKE_HELPER_PORT}\n") +endif() +if (DEFINED VCPKG_POLICY_SKIP_ABSOLUTE_PATHS_CHECK) + string(APPEND "Z_BUILD_INFO_FILE_CONTENTS" "PolicySkipAbsolutePathsCheck: ${VCPKG_POLICY_SKIP_ABSOLUTE_PATHS_CHECK}\n") +endif() +if (DEFINED VCPKG_POLICY_SKIP_ALL_POST_BUILD_CHECKS) + string(APPEND "Z_BUILD_INFO_FILE_CONTENTS" "PolicySkipAllPostBuildChecks: ${VCPKG_POLICY_SKIP_ALL_POST_BUILD_CHECKS}\n") +endif() +if (DEFINED VCPKG_POLICY_SKIP_APPCONTAINER_CHECK) + string(APPEND "Z_BUILD_INFO_FILE_CONTENTS" "PolicySkipAppcontainerCheck: ${VCPKG_POLICY_SKIP_APPCONTAINER_CHECK}\n") +endif() +if (DEFINED VCPKG_POLICY_SKIP_CRT_LINKAGE_CHECK) + string(APPEND "Z_BUILD_INFO_FILE_CONTENTS" "PolicySkipCrtLinkageCheck: ${VCPKG_POLICY_SKIP_CRT_LINKAGE_CHECK}\n") +endif() +if (DEFINED VCPKG_POLICY_SKIP_MISPLACED_CMAKE_FILES_CHECK) + string(APPEND "Z_BUILD_INFO_FILE_CONTENTS" "PolicySkipMisplacedCMakeFilesCheck: ${VCPKG_POLICY_SKIP_MISPLACED_CMAKE_FILES_CHECK}\n") +endif() +if (DEFINED VCPKG_POLICY_SKIP_LIB_CMAKE_MERGE_CHECK) + string(APPEND "Z_BUILD_INFO_FILE_CONTENTS" "PolicySkipLibCMakeMergeCheck: ${VCPKG_POLICY_SKIP_LIB_CMAKE_MERGE_CHECK}\n") +endif() +if (DEFINED VCPKG_POLICY_ALLOW_DLLS_IN_LIB) + string(APPEND "Z_BUILD_INFO_FILE_CONTENTS" "PolicyAllowDllsInLib: ${VCPKG_POLICY_ALLOW_DLLS_IN_LIB}\n") +endif() +if (DEFINED VCPKG_POLICY_SKIP_MISPLACED_REGULAR_FILES_CHECK) + string(APPEND "Z_BUILD_INFO_FILE_CONTENTS" "PolicySkipMisplacedRegularFilesCheck: ${VCPKG_POLICY_SKIP_MISPLACED_REGULAR_FILES_CHECK}\n") endif() +if (DEFINED VCPKG_POLICY_SKIP_COPYRIGHT_CHECK) + string(APPEND "Z_BUILD_INFO_FILE_CONTENTS" "PolicySkipCopyrightCheck: ${VCPKG_POLICY_SKIP_COPYRIGHT_CHECK}\n") +endif() +if (DEFINED VCPKG_POLICY_ALLOW_KERNEL32_FROM_XBOX) + string(APPEND "Z_BUILD_INFO_FILE_CONTENTS" "PolicyAllowKernel32FromXBox: ${VCPKG_POLICY_ALLOW_KERNEL32_FROM_XBOX}\n") +endif() +if (DEFINED VCPKG_POLICY_ALLOW_EXES_IN_BIN) + string(APPEND "Z_BUILD_INFO_FILE_CONTENTS" "PolicyAllowExesInBin: ${VCPKG_POLICY_ALLOW_EXES_IN_BIN}\n") +endif() +if (DEFINED VCPKG_POLICY_SKIP_USAGE_INSTALL_CHECK) + string(APPEND "Z_BUILD_INFO_FILE_CONTENTS" "PolicySkipUsageInstallCheck: ${VCPKG_POLICY_SKIP_USAGE_INSTALL_CHECK}\n") +endif() +if (DEFINED VCPKG_POLICY_ALLOW_EMPTY_FOLDERS) + string(APPEND "Z_BUILD_INFO_FILE_CONTENTS" "PolicyAllowEmptyFolders: ${VCPKG_POLICY_ALLOW_EMPTY_FOLDERS}\n") +endif() +if (DEFINED VCPKG_POLICY_ALLOW_DEBUG_INCLUDE) + string(APPEND "Z_BUILD_INFO_FILE_CONTENTS" "PolicyAllowDebugInclude: ${VCPKG_POLICY_ALLOW_DEBUG_INCLUDE}\n") +endif() +if (DEFINED VCPKG_POLICY_ALLOW_DEBUG_SHARE) + string(APPEND "Z_BUILD_INFO_FILE_CONTENTS" "PolicyAllowDebugShare: ${VCPKG_POLICY_ALLOW_DEBUG_SHARE}\n") +endif() +if (DEFINED VCPKG_POLICY_SKIP_PKGCONFIG_CHECK) + string(APPEND "Z_BUILD_INFO_FILE_CONTENTS" "PolicySkipPkgConfigCheck: ${VCPKG_POLICY_SKIP_PKGCONFIG_CHECK}\n") +endif() + if (DEFINED VCPKG_HEAD_VERSION) - file(APPEND ${BUILD_INFO_FILE_PATH} "Version: ${VCPKG_HEAD_VERSION}\n") + string(APPEND "Z_BUILD_INFO_FILE_CONTENTS" "Version: ${VCPKG_HEAD_VERSION}\n") endif() + +file(WRITE "${CURRENT_PACKAGES_DIR}/BUILD_INFO" "${Z_BUILD_INFO_FILE_CONTENTS}") diff --git a/scripts/buildsystems/make_wrapper/windres-rc b/scripts/buildsystems/make_wrapper/windres-rc old mode 100644 new mode 100755 index bb2aac0d8790f0..9d20158f1f416d --- a/scripts/buildsystems/make_wrapper/windres-rc +++ b/scripts/buildsystems/make_wrapper/windres-rc @@ -1,7 +1,7 @@ #! /bin/sh # Wrapper for windres to rc which do not understand '-i -o --output-format'. # cvtres is invoked by the linker -scriptversion=2021-04-02.18; # UTC +scriptversion=2022-08-24.12; # UTC nl=' @@ -59,56 +59,61 @@ func_file_conv () func_windres_wrapper () { # Assume a capable shell + bin= in= out= for arg do - if test -n "$eat"; then + if test -z "$bin"; then + bin=$1 + elif test -n "$eat"; then eat= else case $1 in + --output-format=*) + ;; + --define*) + eat=1 + set -- "$@" "-d $2" + ;; + --include-dir*) + eat=1 + func_file_conv "$2" + set -- "$@" "-I $file" + ;; -o) eat=1 func_file_conv "$2" out="$file" echo "OUTPUT:$file" - set x "$@" - shift ;; *.obj) func_file_conv "$1" out="$file" echo "OUTPUT:$file" - set x "$@" - shift - ;; - --output-format=*) - set x "$@" - shift ;; -i) eat=1 func_file_conv "$2" mingw in="$file" echo "INPUT:$file" - set x "$@" - shift ;; -*) - set x "$@" "${1//\\\"/\"}" - shift + set -- "$@" "${1//\\\"/\"}" ;; *) - set x "$@" "$1" - shift + # libtool reorders arguments; save unqualified one as input + func_file_conv "$1" + in="$file" + echo "INPUT:$file" ;; esac fi shift done - echo "$@" -fo "$out" "$in" - exec "$@" -fo "$out" "$in" + echo "$bin" "$@" -fo "$out" "$in" + exec "$bin" "$@" -fo "$out" "$in" exit 1 } diff --git a/scripts/buildsystems/meson/meson.template.in b/scripts/buildsystems/meson/meson.template.in new file mode 100644 index 00000000000000..995d39b30cc506 --- /dev/null +++ b/scripts/buildsystems/meson/meson.template.in @@ -0,0 +1,42 @@ +[binaries] +cmake = ['@CMAKE_COMMAND@'] +python = ['@PYTHON3@'] +ninja = ['@NINJA@'] +pkgconfig= ['@PKGCONFIG@'] +@MESON_MT@ +@MESON_AR@ +@MESON_RC@ +@MESON_C@ +@MESON_C_LD@ +@MESON_CXX@ +@MESON_CXX_LD@ +@MESON_OBJC@ +@MESON_OBJC_LD@ +@MESON_OBJCPP@ +@MESON_OBJCPP_LD@ +@MESON_FC@ +@MESON_FC_LD@ +@MESON_WINDRES@ +@MESON_ADDITIONAL_BINARIES@ +[properties] +cmake_toolchain_file = '@SCRIPTS@/buildsystems/vcpkg.cmake' +[cmake] +VCPKG_TARGET_TRIPLET = '@TARGET_TRIPLET@' +VCPKG_HOST_TRIPLET = '@_HOST_TRIPLET@' +VCPKG_CHAINLOAD_TOOLCHAIN_FILE = '@VCPKG_CHAINLOAD_TOOLCHAIN_FILE@' +VCPKG_CRT_LINKAGE = '@VCPKG_CRT_LINKAGE@' +_VCPKG_INSTALLED_DIR = '@_VCPKG_INSTALLED_DIR@' +@MESON_HOST_MACHINE@ +@MESON_BUILD_MACHINE@ +[built-in options] +default_library = '@MESON_DEFAULT_LIBRARY@' +werror = false +@MESON_CFLAGS@ +@MESON_CXXFLAGS@ +@MESON_FCFLAGS@ +@MESON_OBJCFLAGS@ +@MESON_OBJCPPFLAGS@ +# b_vscrt +@MESON_VSCRT_LINKAGE@ +# c_winlibs/cpp_winlibs +@MESON_WINLIBS@ \ No newline at end of file diff --git a/scripts/buildsystems/msbuild/applocal.ps1 b/scripts/buildsystems/msbuild/applocal.ps1 index 28ff1ff3c5c36c..05e11c52ca3cc2 100644 --- a/scripts/buildsystems/msbuild/applocal.ps1 +++ b/scripts/buildsystems/msbuild/applocal.ps1 @@ -94,7 +94,7 @@ function resolve([string]$targetBinary) { $targetBinaryDir = Split-Path $targetBinaryPath -parent if (Get-Command "dumpbin" -ErrorAction SilentlyContinue) { - $a = $(dumpbin /DEPENDENTS $targetBinary | ? { $_ -match "^ [^ ].*\.dll" } | % { $_ -replace "^ ","" }) + $a = $(dumpbin /DEPENDENTS $targetBinaryPath| ? { $_ -match "^ [^ ].*\.dll" } | % { $_ -replace "^ ","" }) } elseif (Get-Command "llvm-objdump" -ErrorAction SilentlyContinue) { $a = $(llvm-objdump -p $targetBinary| ? { $_ -match "^ {4}DLL Name: .*\.dll" } | % { $_ -replace "^ {4}DLL Name: ","" }) } elseif (Get-Command "objdump" -ErrorAction SilentlyContinue) { @@ -119,9 +119,9 @@ function resolve([string]$targetBinary) { if (Test-Path function:\deployOpenNI2) { deployOpenNI2 $targetBinaryDir "$g_install_root" "$_" } if (Test-Path function:\deployPluginsIfMagnum) { if ($g_is_debug) { - deployPluginsIfMagnum $targetBinaryDir (Join-Path "$g_install_root" 'bin' 'magnum-d') "$_" + deployPluginsIfMagnum $targetBinaryDir (Join-Path (Join-Path "$g_install_root" 'bin') 'magnum-d') "$_" } else { - deployPluginsIfMagnum $targetBinaryDir (Join-Path "$g_install_root" 'bin' 'magnum') "$_" + deployPluginsIfMagnum $targetBinaryDir (Join-Path (Join-Path "$g_install_root" 'bin') 'magnum') "$_" } } if (Test-Path function:\deployAzureKinectSensorSDK) { deployAzureKinectSensorSDK $targetBinaryDir "$g_install_root" "$_" } @@ -161,3 +161,218 @@ if (Test-Path "$g_install_root\tools\azure-kinect-sensor-sdk\k4adeploy.ps1") { resolve($targetBinary) Write-Verbose $($g_searched | out-string) + +# SIG # Begin signature block +# MIIntwYJKoZIhvcNAQcCoIInqDCCJ6QCAQExDzANBglghkgBZQMEAgEFADB5Bgor +# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG +# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCAw4oRiVyZP7w6g +# qWIJMRXurO+EoO/lf/MY7lRybXYZ/aCCDYEwggX/MIID56ADAgECAhMzAAACUosz +# qviV8znbAAAAAAJSMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD +# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p +# bmcgUENBIDIwMTEwHhcNMjEwOTAyMTgzMjU5WhcNMjIwOTAxMTgzMjU5WjB0MQsw +# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u +# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB +# AQDQ5M+Ps/X7BNuv5B/0I6uoDwj0NJOo1KrVQqO7ggRXccklyTrWL4xMShjIou2I +# sbYnF67wXzVAq5Om4oe+LfzSDOzjcb6ms00gBo0OQaqwQ1BijyJ7NvDf80I1fW9O +# L76Kt0Wpc2zrGhzcHdb7upPrvxvSNNUvxK3sgw7YTt31410vpEp8yfBEl/hd8ZzA +# v47DCgJ5j1zm295s1RVZHNp6MoiQFVOECm4AwK2l28i+YER1JO4IplTH44uvzX9o +# RnJHaMvWzZEpozPy4jNO2DDqbcNs4zh7AWMhE1PWFVA+CHI/En5nASvCvLmuR/t8 +# q4bc8XR8QIZJQSp+2U6m2ldNAgMBAAGjggF+MIIBejAfBgNVHSUEGDAWBgorBgEE +# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQUNZJaEUGL2Guwt7ZOAu4efEYXedEw +# UAYDVR0RBEkwR6RFMEMxKTAnBgNVBAsTIE1pY3Jvc29mdCBPcGVyYXRpb25zIFB1 +# ZXJ0byBSaWNvMRYwFAYDVQQFEw0yMzAwMTIrNDY3NTk3MB8GA1UdIwQYMBaAFEhu +# ZOVQBdOCqhc3NyK1bajKdQKVMFQGA1UdHwRNMEswSaBHoEWGQ2h0dHA6Ly93d3cu +# bWljcm9zb2Z0LmNvbS9wa2lvcHMvY3JsL01pY0NvZFNpZ1BDQTIwMTFfMjAxMS0w +# Ny0wOC5jcmwwYQYIKwYBBQUHAQEEVTBTMFEGCCsGAQUFBzAChkVodHRwOi8vd3d3 +# Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NlcnRzL01pY0NvZFNpZ1BDQTIwMTFfMjAx +# MS0wNy0wOC5jcnQwDAYDVR0TAQH/BAIwADANBgkqhkiG9w0BAQsFAAOCAgEAFkk3 +# uSxkTEBh1NtAl7BivIEsAWdgX1qZ+EdZMYbQKasY6IhSLXRMxF1B3OKdR9K/kccp +# kvNcGl8D7YyYS4mhCUMBR+VLrg3f8PUj38A9V5aiY2/Jok7WZFOAmjPRNNGnyeg7 +# l0lTiThFqE+2aOs6+heegqAdelGgNJKRHLWRuhGKuLIw5lkgx9Ky+QvZrn/Ddi8u +# TIgWKp+MGG8xY6PBvvjgt9jQShlnPrZ3UY8Bvwy6rynhXBaV0V0TTL0gEx7eh/K1 +# o8Miaru6s/7FyqOLeUS4vTHh9TgBL5DtxCYurXbSBVtL1Fj44+Od/6cmC9mmvrti +# yG709Y3Rd3YdJj2f3GJq7Y7KdWq0QYhatKhBeg4fxjhg0yut2g6aM1mxjNPrE48z +# 6HWCNGu9gMK5ZudldRw4a45Z06Aoktof0CqOyTErvq0YjoE4Xpa0+87T/PVUXNqf +# 7Y+qSU7+9LtLQuMYR4w3cSPjuNusvLf9gBnch5RqM7kaDtYWDgLyB42EfsxeMqwK +# WwA+TVi0HrWRqfSx2olbE56hJcEkMjOSKz3sRuupFCX3UroyYf52L+2iVTrda8XW +# esPG62Mnn3T8AuLfzeJFuAbfOSERx7IFZO92UPoXE1uEjL5skl1yTZB3MubgOA4F +# 8KoRNhviFAEST+nG8c8uIsbZeb08SeYQMqjVEmkwggd6MIIFYqADAgECAgphDpDS +# AAAAAAADMA0GCSqGSIb3DQEBCwUAMIGIMQswCQYDVQQGEwJVUzETMBEGA1UECBMK +# V2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0 +# IENvcnBvcmF0aW9uMTIwMAYDVQQDEylNaWNyb3NvZnQgUm9vdCBDZXJ0aWZpY2F0 +# ZSBBdXRob3JpdHkgMjAxMTAeFw0xMTA3MDgyMDU5MDlaFw0yNjA3MDgyMTA5MDla +# MH4xCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdS +# ZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMT +# H01pY3Jvc29mdCBDb2RlIFNpZ25pbmcgUENBIDIwMTEwggIiMA0GCSqGSIb3DQEB +# AQUAA4ICDwAwggIKAoICAQCr8PpyEBwurdhuqoIQTTS68rZYIZ9CGypr6VpQqrgG +# OBoESbp/wwwe3TdrxhLYC/A4wpkGsMg51QEUMULTiQ15ZId+lGAkbK+eSZzpaF7S +# 35tTsgosw6/ZqSuuegmv15ZZymAaBelmdugyUiYSL+erCFDPs0S3XdjELgN1q2jz +# y23zOlyhFvRGuuA4ZKxuZDV4pqBjDy3TQJP4494HDdVceaVJKecNvqATd76UPe/7 +# 4ytaEB9NViiienLgEjq3SV7Y7e1DkYPZe7J7hhvZPrGMXeiJT4Qa8qEvWeSQOy2u +# M1jFtz7+MtOzAz2xsq+SOH7SnYAs9U5WkSE1JcM5bmR/U7qcD60ZI4TL9LoDho33 +# X/DQUr+MlIe8wCF0JV8YKLbMJyg4JZg5SjbPfLGSrhwjp6lm7GEfauEoSZ1fiOIl +# XdMhSz5SxLVXPyQD8NF6Wy/VI+NwXQ9RRnez+ADhvKwCgl/bwBWzvRvUVUvnOaEP +# 6SNJvBi4RHxF5MHDcnrgcuck379GmcXvwhxX24ON7E1JMKerjt/sW5+v/N2wZuLB +# l4F77dbtS+dJKacTKKanfWeA5opieF+yL4TXV5xcv3coKPHtbcMojyyPQDdPweGF +# RInECUzF1KVDL3SV9274eCBYLBNdYJWaPk8zhNqwiBfenk70lrC8RqBsmNLg1oiM +# CwIDAQABo4IB7TCCAekwEAYJKwYBBAGCNxUBBAMCAQAwHQYDVR0OBBYEFEhuZOVQ +# BdOCqhc3NyK1bajKdQKVMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1Ud +# DwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFHItOgIxkEO5FAVO +# 4eqnxzHRI4k0MFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwubWljcm9zb2Z0 +# LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY1Jvb0NlckF1dDIwMTFfMjAxMV8wM18y +# Mi5jcmwwXgYIKwYBBQUHAQEEUjBQME4GCCsGAQUFBzAChkJodHRwOi8vd3d3Lm1p +# Y3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY1Jvb0NlckF1dDIwMTFfMjAxMV8wM18y +# Mi5jcnQwgZ8GA1UdIASBlzCBlDCBkQYJKwYBBAGCNy4DMIGDMD8GCCsGAQUFBwIB +# FjNodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2RvY3MvcHJpbWFyeWNw +# cy5odG0wQAYIKwYBBQUHAgIwNB4yIB0ATABlAGcAYQBsAF8AcABvAGwAaQBjAHkA +# XwBzAHQAYQB0AGUAbQBlAG4AdAAuIB0wDQYJKoZIhvcNAQELBQADggIBAGfyhqWY +# 4FR5Gi7T2HRnIpsLlhHhY5KZQpZ90nkMkMFlXy4sPvjDctFtg/6+P+gKyju/R6mj +# 82nbY78iNaWXXWWEkH2LRlBV2AySfNIaSxzzPEKLUtCw/WvjPgcuKZvmPRul1LUd +# d5Q54ulkyUQ9eHoj8xN9ppB0g430yyYCRirCihC7pKkFDJvtaPpoLpWgKj8qa1hJ +# Yx8JaW5amJbkg/TAj/NGK978O9C9Ne9uJa7lryft0N3zDq+ZKJeYTQ49C/IIidYf +# wzIY4vDFLc5bnrRJOQrGCsLGra7lstnbFYhRRVg4MnEnGn+x9Cf43iw6IGmYslmJ +# aG5vp7d0w0AFBqYBKig+gj8TTWYLwLNN9eGPfxxvFX1Fp3blQCplo8NdUmKGwx1j +# NpeG39rz+PIWoZon4c2ll9DuXWNB41sHnIc+BncG0QaxdR8UvmFhtfDcxhsEvt9B +# xw4o7t5lL+yX9qFcltgA1qFGvVnzl6UJS0gQmYAf0AApxbGbpT9Fdx41xtKiop96 +# eiL6SJUfq/tHI4D1nvi/a7dLl+LrdXga7Oo3mXkYS//WsyNodeav+vyL6wuA6mk7 +# r/ww7QRMjt/fdW1jkT3RnVZOT7+AVyKheBEyIXrvQQqxP/uozKRdwaGIm1dxVk5I +# RcBCyZt2WwqASGv9eZ/BvW1taslScxMNelDNMYIZjDCCGYgCAQEwgZUwfjELMAkG +# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx +# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEoMCYGA1UEAxMfTWljcm9z +# b2Z0IENvZGUgU2lnbmluZyBQQ0EgMjAxMQITMwAAAlKLM6r4lfM52wAAAAACUjAN +# BglghkgBZQMEAgEFAKCBrjAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIBBDAcBgor +# BgEEAYI3AgELMQ4wDAYKKwYBBAGCNwIBFTAvBgkqhkiG9w0BCQQxIgQg2MF7lLSS +# iHnyjtq+Z0sSiFhMa8sDtjZ1Nc7FC4mwGqMwQgYKKwYBBAGCNwIBDDE0MDKgFIAS +# AE0AaQBjAHIAbwBzAG8AZgB0oRqAGGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbTAN +# BgkqhkiG9w0BAQEFAASCAQAqEYCzEH7PFdQYSqxft5YV6SCCmSoewMjGLeF7EDCM +# pUGrB+R+wzzky7P3AaKej+ph7f0BW26gQrTOcQ7BpJ5Y7F9o6gdrxN9BHejxKVIi +# OcW24WL/Gf15UqL403/Zya9FhZFHdsvCtZ+V9wdcZfouZFfxxAqWbmkExzVHU271 +# GdTPCNaD5VGj1njzbpAZ+GPGSAMNTAwm8ipnTEwTsXlOc8QiPRFAmgfNPTuwpXL6 +# I3vMrRGDXk0U6w7uk/7IsVlLkDE2KPorbkOKS5JmeNgMigex1ezqYUJvEtst1JSn +# GmvSh1GboX9iU1CEUfbKqollz8dLQ+5Jt9M28hX2GwdGoYIXFjCCFxIGCisGAQQB +# gjcDAwExghcCMIIW/gYJKoZIhvcNAQcCoIIW7zCCFusCAQMxDzANBglghkgBZQME +# AgEFADCCAVkGCyqGSIb3DQEJEAEEoIIBSASCAUQwggFAAgEBBgorBgEEAYRZCgMB +# MDEwDQYJYIZIAWUDBAIBBQAEIE+CqTK27oCz06797kOsvD1C/uO67e4Zgv0+P8NY +# 0dYxAgZiF5g+l0YYEzIwMjIwMzMwMjE1MjEwLjMzOVowBIACAfSggdikgdUwgdIx +# CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt +# b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xLTArBgNVBAsTJE1p +# Y3Jvc29mdCBJcmVsYW5kIE9wZXJhdGlvbnMgTGltaXRlZDEmMCQGA1UECxMdVGhh +# bGVzIFRTUyBFU046RDA4Mi00QkZELUVFQkExJTAjBgNVBAMTHE1pY3Jvc29mdCBU +# aW1lLVN0YW1wIFNlcnZpY2WgghFlMIIHFDCCBPygAwIBAgITMwAAAY/zUajrWnLd +# zAABAAABjzANBgkqhkiG9w0BAQsFADB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMK +# V2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0 +# IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0Eg +# MjAxMDAeFw0yMTEwMjgxOTI3NDZaFw0yMzAxMjYxOTI3NDZaMIHSMQswCQYDVQQG +# EwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwG +# A1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMS0wKwYDVQQLEyRNaWNyb3NvZnQg +# SXJlbGFuZCBPcGVyYXRpb25zIExpbWl0ZWQxJjAkBgNVBAsTHVRoYWxlcyBUU1Mg +# RVNOOkQwODItNEJGRC1FRUJBMSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFt +# cCBTZXJ2aWNlMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAmVc+/rXP +# Fx6Fk4+CpLrubDrLTa3QuAHRVXuy+zsxXwkogkT0a+XWuBabwHyqj8RRiZQQvdvb +# Oq5NRExOeHiaCtkUsQ02ESAe9Cz+loBNtsfCq846u3otWHCJlqkvDrSr7mMBqwcR +# Y7cfhAGfLvlpMSojoAnk7Rej+jcJnYxIeN34F3h9JwANY360oGYCIS7pLOosWV+b +# xug9uiTZYE/XclyYNF6XdzZ/zD/4U5pxT4MZQmzBGvDs+8cDdA/stZfj/ry+i0XU +# YNFPhuqc+UKkwm/XNHB+CDsGQl+ZS0GcbUUun4VPThHJm6mRAwL5y8zptWEIocbT +# eRSTmZnUa2iYH2EOBV7eCjx0Sdb6kLc1xdFRckDeQGR4J1yFyybuZsUP8x0dOsEE +# oLQuOhuKlDLQEg7D6ZxmZJnS8B03ewk/SpVLqsb66U2qyF4BwDt1uZkjEZ7finIo +# UgSz4B7fWLYIeO2OCYxIE0XvwsVop9PvTXTZtGPzzmHU753GarKyuM6oa/qaTzYv +# rAfUb7KYhvVQKxGUPkL9+eKiM7G0qenJCFrXzZPwRWoccAR33PhNEuuzzKZFJ4De +# aTCLg/8uK0Q4QjFRef5n4H+2KQIEibZ7zIeBX3jgsrICbzzSm0QX3SRVmZH//Aqp +# 8YxkwcoI1WCBizv84z9eqwRBdQ4HYcNbQMMCAwEAAaOCATYwggEyMB0GA1UdDgQW +# BBTzBuZ0a65JzuKhzoWb25f7NyNxvDAfBgNVHSMEGDAWgBSfpxVdAF5iXYP05dJl +# pxtTNRnpcjBfBgNVHR8EWDBWMFSgUqBQhk5odHRwOi8vd3d3Lm1pY3Jvc29mdC5j +# b20vcGtpb3BzL2NybC9NaWNyb3NvZnQlMjBUaW1lLVN0YW1wJTIwUENBJTIwMjAx +# MCgxKS5jcmwwbAYIKwYBBQUHAQEEYDBeMFwGCCsGAQUFBzAChlBodHRwOi8vd3d3 +# Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NlcnRzL01pY3Jvc29mdCUyMFRpbWUtU3Rh +# bXAlMjBQQ0ElMjAyMDEwKDEpLmNydDAMBgNVHRMBAf8EAjAAMBMGA1UdJQQMMAoG +# CCsGAQUFBwMIMA0GCSqGSIb3DQEBCwUAA4ICAQDNf9Oo9zyhC5n1jC8iU7NJY39F +# izjhxZwJbJY/Ytwn63plMlTSaBperan566fuRojGJSv3EwZs+RruOU2T/ZRDx4VH +# esLHtclE8GmMM1qTMaZPL8I2FrRmf5Oop4GqcxNdNECBClVZmn0KzFdPMqRa5/0R +# 6CmgqJh0muvImikgHubvohsavPEyyHQa94HD4/LNKd/YIaCKKPz9SA5fAa4phQ4E +# vz2auY9SUluId5MK9H5cjWVwBxCvYAD+1CW9z7GshJlNjqBvWtKO6J0Aemfg6z28 +# g7qc7G/tCtrlH4/y27y+stuwWXNvwdsSd1lvB4M63AuMl9Yp6au/XFknGzJPF6n/ +# uWR6JhQvzh40ILgeThLmYhf8z+aDb4r2OBLG1P2B6aCTW2YQkt7TpUnzI0cKGr21 +# 3CbKtGk/OOIHSsDOxasmeGJ+FiUJCiV15wh3aZT/VT/PkL9E4hDBAwGt49G88gSC +# O0x9jfdDZWdWGbELXlSmA3EP4eTYq7RrolY04G8fGtF0pzuZu43A29zaI9lIr5ul +# KRz8EoQHU6cu0PxUw0B9H8cAkvQxaMumRZ/4fCbqNb4TcPkPcWOI24QYlvpbtT9p +# 31flYElmc5wjGplAky/nkJcT0HZENXenxWtPvt4gcoqppeJPA3S/1D57KL3667ep +# Ir0yV290E2otZbAW8DCCB3EwggVZoAMCAQICEzMAAAAVxedrngKbSZkAAAAAABUw +# DQYJKoZIhvcNAQELBQAwgYgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5n +# dG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9y +# YXRpb24xMjAwBgNVBAMTKU1pY3Jvc29mdCBSb290IENlcnRpZmljYXRlIEF1dGhv +# cml0eSAyMDEwMB4XDTIxMDkzMDE4MjIyNVoXDTMwMDkzMDE4MzIyNVowfDELMAkG +# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx +# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9z +# b2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw +# ggIKAoICAQDk4aZM57RyIQt5osvXJHm9DtWC0/3unAcH0qlsTnXIyjVX9gF/bErg +# 4r25PhdgM/9cT8dm95VTcVrifkpa/rg2Z4VGIwy1jRPPdzLAEBjoYH1qUoNEt6aO +# RmsHFPPFdvWGUNzBRMhxXFExN6AKOG6N7dcP2CZTfDlhAnrEqv1yaa8dq6z2Nr41 +# JmTamDu6GnszrYBbfowQHJ1S/rboYiXcag/PXfT+jlPP1uyFVk3v3byNpOORj7I5 +# LFGc6XBpDco2LXCOMcg1KL3jtIckw+DJj361VI/c+gVVmG1oO5pGve2krnopN6zL +# 64NF50ZuyjLVwIYwXE8s4mKyzbnijYjklqwBSru+cakXW2dg3viSkR4dPf0gz3N9 +# QZpGdc3EXzTdEonW/aUgfX782Z5F37ZyL9t9X4C626p+Nuw2TPYrbqgSUei/BQOj +# 0XOmTTd0lBw0gg/wEPK3Rxjtp+iZfD9M269ewvPV2HM9Q07BMzlMjgK8QmguEOqE +# UUbi0b1qGFphAXPKZ6Je1yh2AuIzGHLXpyDwwvoSCtdjbwzJNmSLW6CmgyFdXzB0 +# kZSU2LlQ+QuJYfM2BjUYhEfb3BvR/bLUHMVr9lxSUV0S2yW6r1AFemzFER1y7435 +# UsSFF5PAPBXbGjfHCBUYP3irRbb1Hode2o+eFnJpxq57t7c+auIurQIDAQABo4IB +# 3TCCAdkwEgYJKwYBBAGCNxUBBAUCAwEAATAjBgkrBgEEAYI3FQIEFgQUKqdS/mTE +# mr6CkTxGNSnPEP8vBO4wHQYDVR0OBBYEFJ+nFV0AXmJdg/Tl0mWnG1M1GelyMFwG +# A1UdIARVMFMwUQYMKwYBBAGCN0yDfQEBMEEwPwYIKwYBBQUHAgEWM2h0dHA6Ly93 +# d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvRG9jcy9SZXBvc2l0b3J5Lmh0bTATBgNV +# HSUEDDAKBggrBgEFBQcDCDAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNV +# HQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBTV9lbLj+iiXGJo +# 0T2UkFvXzpoYxDBWBgNVHR8ETzBNMEugSaBHhkVodHRwOi8vY3JsLm1pY3Jvc29m +# dC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNSb29DZXJBdXRfMjAxMC0wNi0yMy5j +# cmwwWgYIKwYBBQUHAQEETjBMMEoGCCsGAQUFBzAChj5odHRwOi8vd3d3Lm1pY3Jv +# c29mdC5jb20vcGtpL2NlcnRzL01pY1Jvb0NlckF1dF8yMDEwLTA2LTIzLmNydDAN +# BgkqhkiG9w0BAQsFAAOCAgEAnVV9/Cqt4SwfZwExJFvhnnJL/Klv6lwUtj5OR2R4 +# sQaTlz0xM7U518JxNj/aZGx80HU5bbsPMeTCj/ts0aGUGCLu6WZnOlNN3Zi6th54 +# 2DYunKmCVgADsAW+iehp4LoJ7nvfam++Kctu2D9IdQHZGN5tggz1bSNU5HhTdSRX +# ud2f8449xvNo32X2pFaq95W2KFUn0CS9QKC/GbYSEhFdPSfgQJY4rPf5KYnDvBew +# VIVCs/wMnosZiefwC2qBwoEZQhlSdYo2wh3DYXMuLGt7bj8sCXgU6ZGyqVvfSaN0 +# DLzskYDSPeZKPmY7T7uG+jIa2Zb0j/aRAfbOxnT99kxybxCrdTDFNLB62FD+Cljd +# QDzHVG2dY3RILLFORy3BFARxv2T5JL5zbcqOCb2zAVdJVGTZc9d/HltEAY5aGZFr +# DZ+kKNxnGSgkujhLmm77IVRrakURR6nxt67I6IleT53S0Ex2tVdUCbFpAUR+fKFh +# bHP+CrvsQWY9af3LwUFJfn6Tvsv4O+S3Fb+0zj6lMVGEvL8CwYKiexcdFYmNcP7n +# tdAoGokLjzbaukz5m/8K6TT4JDVnK+ANuOaMmdbhIurwJ0I9JZTmdHRbatGePu1+ +# oDEzfbzL6Xu/OHBE0ZDxyKs6ijoIYn/ZcGNTTY3ugm2lBRDBcQZqELQdVTNYs6Fw +# ZvKhggLUMIICPQIBATCCAQChgdikgdUwgdIxCzAJBgNVBAYTAlVTMRMwEQYDVQQI +# EwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3Nv +# ZnQgQ29ycG9yYXRpb24xLTArBgNVBAsTJE1pY3Jvc29mdCBJcmVsYW5kIE9wZXJh +# dGlvbnMgTGltaXRlZDEmMCQGA1UECxMdVGhhbGVzIFRTUyBFU046RDA4Mi00QkZE +# LUVFQkExJTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2WiIwoB +# ATAHBgUrDgMCGgMVAD5NL4IEdudIBwdGoCaV0WBbQZpqoIGDMIGApH4wfDELMAkG +# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx +# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9z +# b2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwDQYJKoZIhvcNAQEFBQACBQDl7ubRMCIY +# DzIwMjIwMzMwMjIyNTIxWhgPMjAyMjAzMzEyMjI1MjFaMHQwOgYKKwYBBAGEWQoE +# ATEsMCowCgIFAOXu5tECAQAwBwIBAAICCl0wBwIBAAICET4wCgIFAOXwOFECAQAw +# NgYKKwYBBAGEWQoEAjEoMCYwDAYKKwYBBAGEWQoDAqAKMAgCAQACAwehIKEKMAgC +# AQACAwGGoDANBgkqhkiG9w0BAQUFAAOBgQBjidsY/frY7jVCC5L43gm9MoaMnxjT +# 8gVLXcdbhJzGYftD84JlTWvw/WyGSHpoeg+oCe01IIgdTicq0MKjxoca+LefqaS8 +# vlAf9s1JdIa2Je7u5CzOt2Gru9C00znmx6hI8XCkV+Gj+ZopC4kESoaSGiyaqt+S +# YZHTJ1hNVg79dTGCBA0wggQJAgEBMIGTMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQI +# EwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3Nv +# ZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBD +# QSAyMDEwAhMzAAABj/NRqOtact3MAAEAAAGPMA0GCWCGSAFlAwQCAQUAoIIBSjAa +# BgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwLwYJKoZIhvcNAQkEMSIEINiK/M5f +# XbrPmiX51J8Q0509SaHo+kaJINrM63rv2CC0MIH6BgsqhkiG9w0BCRACLzGB6jCB +# 5zCB5DCBvQQgl3IFT+LGxguVjiKm22ItmO6dFDWW8nShu6O6g8yFxx8wgZgwgYCk +# fjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH +# UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQD +# Ex1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMAITMwAAAY/zUajrWnLdzAAB +# AAABjzAiBCB0UdAt+5LFhsYAoTd2lnVnE0JExPii63XeZzU2N7NElDANBgkqhkiG +# 9w0BAQsFAASCAgBVZGqKHCmTLQiez5m9TN0oZdkN914Fcgdy7d+ZecfYKIQEpM4b +# OkppRGaHzUinbjDnbY3qGc+fejleoGLr/KQoW/qpXG6vm4Fd78QJeyoYJ91zu97K +# dxHDqNPFBgUSI59dz/xZv6yE4dvaLrvT/5K84Wh0266JTbBovUSoeGdHvXML+Ou8 +# Emrocd+XorK0YmAUOP5yhytSIruzyDd4tLCfz8OUSug4dA8u7HWxPx31L10/Qpaq +# EE+TEUNWDaRunnV+ZY7YkyQkdsN+I1Mbe2/KC85Eiy2X04qwPd5ACF68aMrdSGvI +# e4eO5pJEHRGkimm9Mm44QCLrxx0zbQIU16GBOWbSyD/oy54MkOreoiIuWhCVS6lN +# oJrOEaFbCsrUVMcGAc13YgcLbCw0V/YZNRLMakT9sbjYqfn4xRE3DO8PmyHlzDw8 +# g6CzIZQExAVkyxY+ZHXf8HcR5n3DHfLGMxCu7o4O7+os0axGBrdSmHJBVuSF+0Q3 +# 0OaF2MDIrMNYfhlQt5DxB2sw8EnyLctrW2Ve7wuq02gBM+BT2Ln66a9wzNK7HPKs +# rSkQg2stGl0hoCRPZ9geSm++3pbtFhzUMosPpfA9mirBELDpWg5YRF9gftRdUfJZ +# bLYStWVOB5OFNv2LpxoOdvVzqiigK3+LRrnlcWxPt6/6QqlC5EIFYOkMUw== +# SIG # End signature block diff --git a/scripts/buildsystems/msbuild/vcpkg-general.xml b/scripts/buildsystems/msbuild/vcpkg-general.xml index 5c84aa0daaa740..af45f5ca722df5 100644 --- a/scripts/buildsystems/msbuild/vcpkg-general.xml +++ b/scripts/buildsystems/msbuild/vcpkg-general.xml @@ -41,6 +41,20 @@ + + + + + + + + + + + + @@ -62,8 +76,11 @@ + + + Description="Specifies the triplet used by Vcpkg. Does not include the '-static' or '-static-md' suffixes that may be added by the 'Use static libraries' and 'Use Dynamic CRT' flags." /> diff --git a/scripts/buildsystems/msbuild/vcpkg.props b/scripts/buildsystems/msbuild/vcpkg.props index 9a01beb5ade60f..a2f8adcc8ae836 100644 --- a/scripts/buildsystems/msbuild/vcpkg.props +++ b/scripts/buildsystems/msbuild/vcpkg.props @@ -3,15 +3,41 @@ true true - $(Configuration) + + + + + + + + $(Configuration) + + + + + Debug + + + + + Release + + + + + false $([System.IO.Path]::GetFullPath('$(MSBuildThisFileDirectory)..\..\..')) true - false + false true + false + + + true false diff --git a/scripts/buildsystems/msbuild/vcpkg.targets b/scripts/buildsystems/msbuild/vcpkg.targets index 7a5bb3c9824934..c831b0fce3f6cf 100644 --- a/scripts/buildsystems/msbuild/vcpkg.targets +++ b/scripts/buildsystems/msbuild/vcpkg.targets @@ -24,6 +24,28 @@ <_ZVcpkgInstalledDir Condition="'$(_ZVcpkgInstalledDir)' != '' and !$(_ZVcpkgInstalledDir.EndsWith('\'))">$(_ZVcpkgInstalledDir)\ + + <_ZVcpkgClassicOrManifest Condition="'$(VcpkgEnabled)' == 'true' And ('$(VcpkgEnableClassic)' == 'true' Or '$(VcpkgEnableManifest)' == 'true')">true + <_ZVcpkgClassicOrManifest Condition="'$(_ZVcpkgClassicOrManifest)' == ''">false + + + + + windows + x64 + true + + + xbox-scarlett + x64 + false + + + xbox-xboxone + x64 + false + + windows @@ -38,7 +60,10 @@ <_ZVcpkgLinkage /> <_ZVcpkgLinkage Condition="'$(VcpkgUseStatic)' == 'true'">-static - $(VcpkgPlatformTarget)-$(VcpkgOSTarget)$(_ZVcpkgLinkage) + <_ZVcpkgLinkageMD /> + <_ZVcpkgLinkageMD Condition="'$(VcpkgUseStatic)' == 'true' and '$(VcpkgUseMD)' == 'true'">-md + $(VcpkgPlatformTarget)-$(VcpkgOSTarget)$(_ZVcpkgLinkage)$(_ZVcpkgLinkageMD) + $(VcpkgTriplet)$(_ZVcpkgLinkage)$(_ZVcpkgLinkageMD) @@ -62,12 +87,13 @@ - <_ZVcpkgCurrentInstalledDir>$(_ZVcpkgInstalledDir)\$(VcpkgTriplet)\ + <_ZVcpkgCurrentInstalledDir>$(_ZVcpkgInstalledDir)$(VcpkgTriplet)\ <_ZVcpkgNormalizedConfiguration Condition="$(VcpkgConfiguration.StartsWith('Debug'))">Debug <_ZVcpkgNormalizedConfiguration Condition="$(VcpkgConfiguration.StartsWith('Release')) or '$(VcpkgConfiguration)' == 'RelWithDebInfo' or '$(VcpkgConfiguration)' == 'MinSizeRel'">Release <_ZVcpkgConfigSubdir Condition="'$(_ZVcpkgNormalizedConfiguration)' == 'Debug'">debug\ <_ZVcpkgExecutable>$(_ZVcpkgRoot)vcpkg.exe + $(ExternalIncludePath);$(_ZVcpkgCurrentInstalledDir)include @@ -82,7 +108,7 @@ - + %(AdditionalLibraryDirectories);$(_ZVcpkgCurrentInstalledDir)$(_ZVcpkgConfigSubdir)lib;$(_ZVcpkgCurrentInstalledDir)$(_ZVcpkgConfigSubdir)lib\manual-link @@ -105,9 +131,11 @@ Importance="High" Condition="'$(VcpkgEnableManifest)' != 'true' and '$(_ZVcpkgManifestRoot)' != ''" /> - + + $(_ZVcpkgInstalledDir).msbuildstamp-$(VcpkgTriplet).$(_ZVcpkgHostTripletSuffix)stamp - + <_ZVcpkgInstallManifestDependenciesInputs Include="$(_ZVcpkgManifestFileLocation)"/> <_ZVcpkgInstallManifestDependenciesInputs Include="$(_ZVcpkgConfigurationFileLocation)" Condition="Exists('$(_ZVcpkgConfigurationFileLocation)')"/> @@ -153,7 +181,13 @@ + StandardOutputImportance="High" + StandardErrorImportance="High" + UseUtf8Encoding="Always" + StdOutEncoding="utf-8" + StdErrEncoding="utf-8" + UseCommandProcessor="false" + /> + Condition="'$(_ZVcpkgClassicOrManifest)' == 'true' and '$(VcpkgApplocalDeps)' == 'true' and '$(LinkSkippedExecution)' != 'true' and '@(Link)' != ''"> - <_ZVcpkgAppLocalPowerShellCommonArguments>-ExecutionPolicy Bypass -noprofile -File "$(MSBuildThisFileDirectory)applocal.ps1" "$(TargetPath)" "$(_ZVcpkgCurrentInstalledDir)$(_ZVcpkgConfigSubdir)bin" "$(TLogLocation)$(ProjectName).write.1u.tlog" "$(IntDir)vcpkg.applocal.log" + <_ZVcpkgApplocalInstalledBinDir>$(_ZVcpkgCurrentInstalledDir)$(_ZVcpkgConfigSubdir)bin + <_ZVcpkgApplocalTLogPath>$(TLogLocation)$(ProjectName).write.1u.tlog + <_ZVcpkgApplocalCopiedFilesLogPath>$(IntDir)vcpkg.applocal.log + <_ZVcpkgApplocalBuiltinArguments>--target-binary="$(TargetPath)" --installed-bin-dir="$(_ZVcpkgApplocalInstalledBinDir)" --tlog-file="$(_ZVcpkgApplocalTLogPath)" --copied-files-log="$(_ZVcpkgApplocalCopiedFilesLogPath)" + <_ZVcpkgAppLocalPowerShellCommonArguments>-ExecutionPolicy Bypass -noprofile -File "$(MSBuildThisFileDirectory)applocal.ps1" "$(TargetPath)" "$(_ZVcpkgApplocalInstalledBinDir)" "$(_ZVcpkgApplocalTLogPath)" "$(_ZVcpkgApplocalCopiedFilesLogPath)" + + + + + + Condition="$(_ZVcpkgAppLocalExitCode) == 9009 and '$(VcpkgXUseBuiltInApplocalDeps)' != 'true'"> + Condition="$(_ZVcpkgAppLocalExitCode) != 0 and '$(VcpkgXUseBuiltInApplocalDeps)' != 'true'"/> + diff --git a/scripts/buildsystems/vcpkg.cmake b/scripts/buildsystems/vcpkg.cmake index b5422cb64e8624..de8425ea6e53bb 100644 --- a/scripts/buildsystems/vcpkg.cmake +++ b/scripts/buildsystems/vcpkg.cmake @@ -4,6 +4,8 @@ mark_as_advanced(CMAKE_TOOLCHAIN_FILE) # NOTE: to figure out what cmake versions are required for different things, # grep for `CMake 3`. All version requirement comments should follow that format. +# Attention: Changes to this file do not affect ABI hashing. + #[===[.md: # z_vcpkg_add_fatal_error Add a fatal error. @@ -30,13 +32,12 @@ function(z_vcpkg_add_fatal_error ERROR) endif() endfunction() -set(Z_VCPKG_CMAKE_REQUIRED_MINIMUM_VERSION "3.1") +set(Z_VCPKG_CMAKE_REQUIRED_MINIMUM_VERSION "3.7.2") if(CMAKE_VERSION VERSION_LESS Z_VCPKG_CMAKE_REQUIRED_MINIMUM_VERSION) message(FATAL_ERROR "vcpkg.cmake requires at least CMake ${Z_VCPKG_CMAKE_REQUIRED_MINIMUM_VERSION}.") endif() -# this policy is required for this file; thus, CMake 3.1 is required. cmake_policy(PUSH) -cmake_policy(SET CMP0054 NEW) +cmake_policy(VERSION 3.7.2) include(CMakeDependentOption) @@ -50,14 +51,18 @@ option(X_VCPKG_APPLOCAL_DEPS_SERIALIZED "(experimental) Add USES_TERMINAL to VCP # requires CMake 3.14 option(X_VCPKG_APPLOCAL_DEPS_INSTALL "(experimental) Automatically copy dependencies into the install target directory for executables. Requires CMake 3.14." OFF) option(VCPKG_PREFER_SYSTEM_LIBS "Appends the vcpkg paths to CMAKE_PREFIX_PATH, CMAKE_LIBRARY_PATH and CMAKE_FIND_ROOT_PATH so that vcpkg libraries/packages are found after toolchain/system libraries/packages." OFF) +if(VCPKG_PREFER_SYSTEM_LIBS) + message(WARNING "VCPKG_PREFER_SYSTEM_LIBS has been deprecated. Use empty overlay ports instead.") +endif() # Manifest options and settings +set(Z_VCPKG_MANIFEST_DIR_INITIAL_VALUE "${VCPKG_MANIFEST_DIR}") if(NOT DEFINED VCPKG_MANIFEST_DIR) if(EXISTS "${CMAKE_SOURCE_DIR}/vcpkg.json") - set(VCPKG_MANIFEST_DIR "${CMAKE_SOURCE_DIR}") + set(Z_VCPKG_MANIFEST_DIR_INITIAL_VALUE "${CMAKE_SOURCE_DIR}") endif() endif() -set(VCPKG_MANIFEST_DIR "${VCPKG_MANIFEST_DIR}" +set(VCPKG_MANIFEST_DIR "${Z_VCPKG_MANIFEST_DIR_INITIAL_VALUE}" CACHE PATH "The path to the vcpkg manifest directory." FORCE) if(DEFINED VCPKG_MANIFEST_DIR AND NOT VCPKG_MANIFEST_DIR STREQUAL "") @@ -144,9 +149,9 @@ endfunction() # NOTE: this function definition is copied directly from scripts/cmake/z_vcpkg_function_arguments.cmake # do not make changes here without making the same change there. macro(z_vcpkg_function_arguments OUT_VAR) - if("${ARGC}" EQUAL 1) - set(z_vcpkg_function_arguments_FIRST_ARG 0) - elseif("${ARGC}" EQUAL 2) + if("${ARGC}" EQUAL "1") + set(z_vcpkg_function_arguments_FIRST_ARG "0") + elseif("${ARGC}" EQUAL "2") set(z_vcpkg_function_arguments_FIRST_ARG "${ARGV1}") else() # vcpkg bug @@ -160,15 +165,14 @@ macro(z_vcpkg_function_arguments OUT_VAR) set(z_vcpkg_function_arguments_ARGC "${${z_vcpkg_function_arguments_ARGC_NAME}}") math(EXPR z_vcpkg_function_arguments_LAST_ARG "${z_vcpkg_function_arguments_ARGC} - 1") - # GREATER_EQUAL added in CMake 3.7 - if(NOT z_vcpkg_function_arguments_LAST_ARG LESS z_vcpkg_function_arguments_FIRST_ARG) + if(z_vcpkg_function_arguments_LAST_ARG GREATER_EQUAL z_vcpkg_function_arguments_FIRST_ARG) foreach(z_vcpkg_function_arguments_N RANGE "${z_vcpkg_function_arguments_FIRST_ARG}" "${z_vcpkg_function_arguments_LAST_ARG}") string(REPLACE ";" "\\;" z_vcpkg_function_arguments_ESCAPED_ARG "${ARGV${z_vcpkg_function_arguments_N}}") # adds an extra `;` on the first time through set("${OUT_VAR}" "${${OUT_VAR}};${z_vcpkg_function_arguments_ESCAPED_ARG}") endforeach() # remove leading `;` - string(SUBSTRING "${${OUT_VAR}}" 1 -1 "${OUT_VAR}") + string(SUBSTRING "${${OUT_VAR}}" "1" "-1" "${OUT_VAR}") endif() endmacro() @@ -186,7 +190,7 @@ function(z_vcpkg_set_powershell_path) set(Z_VCPKG_POWERSHELL_PATH "${Z_VCPKG_PWSH_PATH}" CACHE INTERNAL "The path to the PowerShell implementation to use.") else() message(DEBUG "vcpkg: Could not find PowerShell Core; falling back to PowerShell") - find_program(Z_VCPKG_BUILTIN_POWERSHELL_PATH powershell REQUIRED) + find_program(Z_VCPKG_BUILTIN_POWERSHELL_PATH powershell) if(Z_VCPKG_BUILTIN_POWERSHELL_PATH) set(Z_VCPKG_POWERSHELL_PATH "${Z_VCPKG_BUILTIN_POWERSHELL_PATH}" CACHE INTERNAL "The path to the PowerShell implementation to use.") else() @@ -201,16 +205,6 @@ endfunction() # Determine whether the toolchain is loaded during a try-compile configuration get_property(Z_VCPKG_CMAKE_IN_TRY_COMPILE GLOBAL PROPERTY IN_TRY_COMPILE) -if(CMAKE_VERSION VERSION_LESS "3.6.0") - set(Z_VCPKG_CMAKE_EMULATE_TRY_COMPILE_PLATFORM_VARIABLES ON) -else() - set(Z_VCPKG_CMAKE_EMULATE_TRY_COMPILE_PLATFORM_VARIABLES OFF) -endif() - -if(Z_VCPKG_CMAKE_IN_TRY_COMPILE AND Z_VCPKG_CMAKE_EMULATE_TRY_COMPILE_PLATFORM_VARIABLES) - include("${CMAKE_CURRENT_SOURCE_DIR}/../vcpkg.config.cmake" OPTIONAL) -endif() - if(VCPKG_CHAINLOAD_TOOLCHAIN_FILE) include("${VCPKG_CHAINLOAD_TOOLCHAIN_FILE}") endif() @@ -224,15 +218,15 @@ endif() #it will map those configuration to the first valid configuration in CMAKE_CONFIGURATION_TYPES or the targets IMPORTED_CONFIGURATIONS. #In most cases this is the debug configuration which is wrong. if(NOT DEFINED CMAKE_MAP_IMPORTED_CONFIG_MINSIZEREL) - set(CMAKE_MAP_IMPORTED_CONFIG_MINSIZEREL "MinSizeRel;Release;") + set(CMAKE_MAP_IMPORTED_CONFIG_MINSIZEREL "MinSizeRel;Release;None;") if(VCPKG_VERBOSE) - message(STATUS "VCPKG-Info: CMAKE_MAP_IMPORTED_CONFIG_MINSIZEREL set to MinSizeRel;Release;") + message(STATUS "VCPKG-Info: CMAKE_MAP_IMPORTED_CONFIG_MINSIZEREL set to MinSizeRel;Release;None;") endif() endif() if(NOT DEFINED CMAKE_MAP_IMPORTED_CONFIG_RELWITHDEBINFO) - set(CMAKE_MAP_IMPORTED_CONFIG_RELWITHDEBINFO "RelWithDebInfo;Release;") + set(CMAKE_MAP_IMPORTED_CONFIG_RELWITHDEBINFO "RelWithDebInfo;Release;None;") if(VCPKG_VERBOSE) - message(STATUS "VCPKG-Info: CMAKE_MAP_IMPORTED_CONFIG_RELWITHDEBINFO set to RelWithDebInfo;Release;") + message(STATUS "VCPKG-Info: CMAKE_MAP_IMPORTED_CONFIG_RELWITHDEBINFO set to RelWithDebInfo;Release;None;") endif() endif() @@ -254,22 +248,59 @@ elseif(CMAKE_GENERATOR_PLATFORM MATCHES "^[Aa][Rr][Mm]$") elseif(CMAKE_GENERATOR_PLATFORM MATCHES "^[Aa][Rr][Mm]64$") set(Z_VCPKG_TARGET_TRIPLET_ARCH arm64) else() - if(CMAKE_GENERATOR MATCHES "^Visual Studio 14 2015 Win64$") + if(CMAKE_GENERATOR STREQUAL "Visual Studio 14 2015 Win64") set(Z_VCPKG_TARGET_TRIPLET_ARCH x64) - elseif(CMAKE_GENERATOR MATCHES "^Visual Studio 14 2015 ARM$") + elseif(CMAKE_GENERATOR STREQUAL "Visual Studio 14 2015 ARM") set(Z_VCPKG_TARGET_TRIPLET_ARCH arm) - elseif(CMAKE_GENERATOR MATCHES "^Visual Studio 14 2015$") + elseif(CMAKE_GENERATOR STREQUAL "Visual Studio 14 2015") set(Z_VCPKG_TARGET_TRIPLET_ARCH x86) - elseif(CMAKE_GENERATOR MATCHES "^Visual Studio 15 2017 Win64$") + elseif(CMAKE_GENERATOR STREQUAL "Visual Studio 15 2017 Win64") set(Z_VCPKG_TARGET_TRIPLET_ARCH x64) - elseif(CMAKE_GENERATOR MATCHES "^Visual Studio 15 2017 ARM$") + elseif(CMAKE_GENERATOR STREQUAL "Visual Studio 15 2017 ARM") set(Z_VCPKG_TARGET_TRIPLET_ARCH arm) - elseif(CMAKE_GENERATOR MATCHES "^Visual Studio 15 2017$") + elseif(CMAKE_GENERATOR STREQUAL "Visual Studio 15 2017") set(Z_VCPKG_TARGET_TRIPLET_ARCH x86) - elseif(CMAKE_GENERATOR MATCHES "^Visual Studio 16 2019$") + elseif(CMAKE_GENERATOR STREQUAL "Visual Studio 16 2019" AND CMAKE_VS_PLATFORM_NAME_DEFAULT STREQUAL "ARM64") + set(Z_VCPKG_TARGET_TRIPLET_ARCH arm64) + elseif(CMAKE_GENERATOR STREQUAL "Visual Studio 16 2019") set(Z_VCPKG_TARGET_TRIPLET_ARCH x64) - elseif(CMAKE_GENERATOR MATCHES "^Visual Studio 17 2022$") + elseif(CMAKE_GENERATOR STREQUAL "Visual Studio 17 2022" AND CMAKE_VS_PLATFORM_NAME_DEFAULT STREQUAL "ARM64") + set(Z_VCPKG_TARGET_TRIPLET_ARCH arm64) + elseif(CMAKE_GENERATOR STREQUAL "Visual Studio 17 2022") set(Z_VCPKG_TARGET_TRIPLET_ARCH x64) + elseif(CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin" AND DEFINED CMAKE_OSX_ARCHITECTURES) + list(LENGTH CMAKE_OSX_ARCHITECTURES Z_VCPKG_OSX_ARCH_COUNT) + if(Z_VCPKG_OSX_ARCH_COUNT EQUAL "0") + message(WARNING "Unable to determine target architecture. " + "Consider providing a value for the CMAKE_OSX_ARCHITECTURES cache variable. " + "Continuing without vcpkg.") + set(VCPKG_TOOLCHAIN ON) + cmake_policy(POP) + return() + endif() + + if(Z_VCPKG_OSX_ARCH_COUNT GREATER "1") + message(WARNING "Detected more than one target architecture. Using the first one.") + endif() + list(GET CMAKE_OSX_ARCHITECTURES "0" Z_VCPKG_OSX_TARGET_ARCH) + if(Z_VCPKG_OSX_TARGET_ARCH STREQUAL "arm64") + set(Z_VCPKG_TARGET_TRIPLET_ARCH arm64) + elseif(Z_VCPKG_OSX_TARGET_ARCH STREQUAL "arm64s") + set(Z_VCPKG_TARGET_TRIPLET_ARCH arm64s) + elseif(Z_VCPKG_OSX_TARGET_ARCH STREQUAL "armv7s") + set(Z_VCPKG_TARGET_TRIPLET_ARCH armv7s) + elseif(Z_VCPKG_OSX_TARGET_ARCH STREQUAL "armv7") + set(Z_VCPKG_TARGET_TRIPLET_ARCH arm) + elseif(Z_VCPKG_OSX_TARGET_ARCH STREQUAL "x86_64") + set(Z_VCPKG_TARGET_TRIPLET_ARCH x64) + elseif(Z_VCPKG_OSX_TARGET_ARCH STREQUAL "i386") + set(Z_VCPKG_TARGET_TRIPLET_ARCH x86) + else() + message(WARNING "Unable to determine target architecture, continuing without vcpkg.") + set(VCPKG_TOOLCHAIN ON) + cmake_policy(POP) + return() + endif() else() find_program(Z_VCPKG_CL cl) if(Z_VCPKG_CL MATCHES "amd64/cl.exe$" OR Z_VCPKG_CL MATCHES "x64/cl.exe$") @@ -280,39 +311,6 @@ else() set(Z_VCPKG_TARGET_TRIPLET_ARCH arm64) elseif(Z_VCPKG_CL MATCHES "bin/cl.exe$" OR Z_VCPKG_CL MATCHES "x86/cl.exe$") set(Z_VCPKG_TARGET_TRIPLET_ARCH x86) - elseif(CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin" AND DEFINED CMAKE_SYSTEM_NAME AND NOT CMAKE_SYSTEM_NAME STREQUAL "Darwin") - list(LENGTH CMAKE_OSX_ARCHITECTURES Z_VCPKG_OSX_ARCH_COUNT) - if(Z_VCPKG_OSX_ARCH_COUNT EQUAL 0) - message(WARNING "Unable to determine target architecture. " - "Consider providing a value for the CMAKE_OSX_ARCHITECTURES cache variable. " - "Continuing without vcpkg.") - set(VCPKG_TOOLCHAIN ON) - cmake_policy(POP) - return() - endif() - - if(Z_VCPKG_OSX_ARCH_COUNT GREATER 1) - message(WARNING "Detected more than one target architecture. Using the first one.") - endif() - list(GET CMAKE_OSX_ARCHITECTURES 0 Z_VCPKG_OSX_TARGET_ARCH) - if(Z_VCPKG_OSX_TARGET_ARCH STREQUAL "arm64") - set(Z_VCPKG_TARGET_TRIPLET_ARCH arm64) - elseif(Z_VCPKG_OSX_TARGET_ARCH STREQUAL "arm64s") - set(Z_VCPKG_TARGET_TRIPLET_ARCH arm64s) - elseif(Z_VCPKG_OSX_TARGET_ARCH STREQUAL "armv7s") - set(Z_VCPKG_TARGET_TRIPLET_ARCH armv7s) - elseif(Z_VCPKG_OSX_TARGET_ARCH STREQUAL "armv7") - set(Z_VCPKG_TARGET_TRIPLET_ARCH arm) - elseif(Z_VCPKG_OSX_TARGET_ARCH STREQUAL "x86_64") - set(Z_VCPKG_TARGET_TRIPLET_ARCH x64) - elseif(Z_VCPKG_OSX_TARGET_ARCH STREQUAL "i386") - set(Z_VCPKG_TARGET_TRIPLET_ARCH x86) - else() - message(WARNING "Unable to determine target architecture, continuing without vcpkg.") - set(VCPKG_TOOLCHAIN ON) - cmake_policy(POP) - return() - endif() elseif(CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "x86_64" OR CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "AMD64" OR CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "amd64") @@ -323,8 +321,16 @@ else() set(Z_VCPKG_TARGET_TRIPLET_ARCH ppc64le) elseif(CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "armv7l") set(Z_VCPKG_TARGET_TRIPLET_ARCH arm) - elseif(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "^(aarch64|arm64)$") + elseif(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "^(aarch64|arm64|ARM64)$") set(Z_VCPKG_TARGET_TRIPLET_ARCH arm64) + elseif(CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "riscv32") + set(Z_VCPKG_TARGET_TRIPLET_ARCH riscv32) + elseif(CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "riscv64") + set(Z_VCPKG_TARGET_TRIPLET_ARCH riscv64) + elseif(CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "loongarch32") + set(Z_VCPKG_TARGET_TRIPLET_ARCH loongarch32) + elseif(CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "loongarch64") + set(Z_VCPKG_TARGET_TRIPLET_ARCH loongarch64) else() if(Z_VCPKG_CMAKE_IN_TRY_COMPILE) message(STATUS "Unable to determine target architecture, continuing without vcpkg.") @@ -349,42 +355,62 @@ elseif(CMAKE_SYSTEM_NAME STREQUAL "iOS") elseif(MINGW) set(Z_VCPKG_TARGET_TRIPLET_PLAT mingw-dynamic) elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows" OR (NOT CMAKE_SYSTEM_NAME AND CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows")) - set(Z_VCPKG_TARGET_TRIPLET_PLAT windows) + if(XBOX_CONSOLE_TARGET STREQUAL "scarlett") + set(Z_VCPKG_TARGET_TRIPLET_PLAT xbox-scarlett) + elseif(XBOX_CONSOLE_TARGET STREQUAL "xboxone") + set(Z_VCPKG_TARGET_TRIPLET_PLAT xbox-xboxone) + else() + set(Z_VCPKG_TARGET_TRIPLET_PLAT windows) + endif() elseif(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR (NOT CMAKE_SYSTEM_NAME AND CMAKE_HOST_SYSTEM_NAME STREQUAL "FreeBSD")) set(Z_VCPKG_TARGET_TRIPLET_PLAT freebsd) +elseif(CMAKE_SYSTEM_NAME STREQUAL "OpenBSD" OR (NOT CMAKE_SYSTEM_NAME AND CMAKE_HOST_SYSTEM_NAME STREQUAL "OpenBSD")) + set(Z_VCPKG_TARGET_TRIPLET_PLAT openbsd) +elseif(CMAKE_SYSTEM_NAME STREQUAL "Android" OR (NOT CMAKE_SYSTEM_NAME AND CMAKE_HOST_SYSTEM_NAME STREQUAL "Android")) + set(Z_VCPKG_TARGET_TRIPLET_PLAT android) +endif() + +if(EMSCRIPTEN) + set(Z_VCPKG_TARGET_TRIPLET_ARCH wasm32) + set(Z_VCPKG_TARGET_TRIPLET_PLAT emscripten) endif() set(VCPKG_TARGET_TRIPLET "${Z_VCPKG_TARGET_TRIPLET_ARCH}-${Z_VCPKG_TARGET_TRIPLET_PLAT}" CACHE STRING "Vcpkg target triplet (ex. x86-windows)") set(Z_VCPKG_TOOLCHAIN_DIR "${CMAKE_CURRENT_LIST_DIR}") -if(NOT DEFINED Z_VCPKG_ROOT_DIR) - # Detect .vcpkg-root to figure VCPKG_ROOT_DIR - set(Z_VCPKG_ROOT_DIR_CANDIDATE "${CMAKE_CURRENT_LIST_DIR}") - while(IS_DIRECTORY "${Z_VCPKG_ROOT_DIR_CANDIDATE}" AND NOT EXISTS "${Z_VCPKG_ROOT_DIR_CANDIDATE}/.vcpkg-root") +# Detect .vcpkg-root to figure VCPKG_ROOT_DIR +set(Z_VCPKG_ROOT_DIR_CANDIDATE "${CMAKE_CURRENT_LIST_DIR}") +while(NOT DEFINED Z_VCPKG_ROOT_DIR) + if(EXISTS "${Z_VCPKG_ROOT_DIR_CANDIDATE}/.vcpkg-root") + set(Z_VCPKG_ROOT_DIR "${Z_VCPKG_ROOT_DIR_CANDIDATE}" CACHE INTERNAL "Vcpkg root directory") + elseif(IS_DIRECTORY "${Z_VCPKG_ROOT_DIR_CANDIDATE}") get_filename_component(Z_VCPKG_ROOT_DIR_TEMP "${Z_VCPKG_ROOT_DIR_CANDIDATE}" DIRECTORY) - if(Z_VCPKG_ROOT_DIR_TEMP STREQUAL Z_VCPKG_ROOT_DIR_CANDIDATE) # If unchanged, we have reached the root of the drive - else() - SET(Z_VCPKG_ROOT_DIR_CANDIDATE "${Z_VCPKG_ROOT_DIR_TEMP}") + if(Z_VCPKG_ROOT_DIR_TEMP STREQUAL Z_VCPKG_ROOT_DIR_CANDIDATE) + break() # If unchanged, we have reached the root of the drive without finding vcpkg. endif() - endwhile() - set(Z_VCPKG_ROOT_DIR "${Z_VCPKG_ROOT_DIR_CANDIDATE}" CACHE INTERNAL "Vcpkg root directory") -endif() + SET(Z_VCPKG_ROOT_DIR_CANDIDATE "${Z_VCPKG_ROOT_DIR_TEMP}") + unset(Z_VCPKG_ROOT_DIR_TEMP) + else() + break() + endif() +endwhile() +unset(Z_VCPKG_ROOT_DIR_CANDIDATE) if(NOT Z_VCPKG_ROOT_DIR) z_vcpkg_add_fatal_error("Could not find .vcpkg-root") endif() if(DEFINED VCPKG_INSTALLED_DIR) - # do nothing + set(Z_VCPKG_INSTALLED_DIR_INITIAL_VALUE "${VCPKG_INSTALLED_DIR}") elseif(DEFINED _VCPKG_INSTALLED_DIR) - set(VCPKG_INSTALLED_DIR "${_VCPKG_INSTALLED_DIR}") + set(Z_VCPKG_INSTALLED_DIR_INITIAL_VALUE "${_VCPKG_INSTALLED_DIR}") elseif(VCPKG_MANIFEST_MODE) - set(VCPKG_INSTALLED_DIR "${CMAKE_BINARY_DIR}/vcpkg_installed") + set(Z_VCPKG_INSTALLED_DIR_INITIAL_VALUE "${CMAKE_BINARY_DIR}/vcpkg_installed") else() - set(VCPKG_INSTALLED_DIR "${Z_VCPKG_ROOT_DIR}/installed") + set(Z_VCPKG_INSTALLED_DIR_INITIAL_VALUE "${Z_VCPKG_ROOT_DIR}/installed") endif() -set(VCPKG_INSTALLED_DIR "${VCPKG_INSTALLED_DIR}" +set(VCPKG_INSTALLED_DIR "${Z_VCPKG_INSTALLED_DIR_INITIAL_VALUE}" CACHE PATH "The directory which contains the installed libraries for each triplet" FORCE) set(_VCPKG_INSTALLED_DIR "${VCPKG_INSTALLED_DIR}" @@ -402,7 +428,7 @@ function(z_vcpkg_add_vcpkg_to_cmake_path list suffix) if(VCPKG_PREFER_SYSTEM_LIBS) list(APPEND "${list}" "${vcpkg_paths}") else() - list(INSERT "${list}" 0 "${vcpkg_paths}") # CMake 3.15 is required for list(PREPEND ...). + list(INSERT "${list}" "0" "${vcpkg_paths}") # CMake 3.15 is required for list(PREPEND ...). endif() set("${list}" "${${list}}" PARENT_SCOPE) endfunction() @@ -410,6 +436,11 @@ z_vcpkg_add_vcpkg_to_cmake_path(CMAKE_PREFIX_PATH "") z_vcpkg_add_vcpkg_to_cmake_path(CMAKE_LIBRARY_PATH "/lib/manual-link") z_vcpkg_add_vcpkg_to_cmake_path(CMAKE_FIND_ROOT_PATH "") +if(NOT VCPKG_PREFER_SYSTEM_LIBS) + set(CMAKE_FIND_FRAMEWORK "LAST") # we assume that frameworks are usually system-wide libs, not vcpkg-built + set(CMAKE_FIND_APPBUNDLE "LAST") # we assume that appbundles are usually system-wide libs, not vcpkg-built +endif() + # If one CMAKE_FIND_ROOT_PATH_MODE_* variables is set to ONLY, to make sure that ${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET} # and ${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug are searched, it is not sufficient to just add them to CMAKE_FIND_ROOT_PATH, # as CMAKE_FIND_ROOT_PATH specify "one or more directories to be prepended to all other search directories", so to make sure that @@ -435,18 +466,19 @@ if(VCPKG_MANIFEST_MODE AND VCPKG_MANIFEST_INSTALL AND NOT Z_VCPKG_CMAKE_IN_TRY_C if(NOT EXISTS "${Z_VCPKG_EXECUTABLE}" AND NOT Z_VCPKG_HAS_FATAL_ERROR) message(STATUS "Bootstrapping vcpkg before install") - file(TO_NATIVE_PATH "${CMAKE_BINARY_DIR}/vcpkg-bootstrap.log" Z_VCPKG_BOOTSTRAP_LOG) + set(Z_VCPKG_BOOTSTRAP_LOG "${CMAKE_BINARY_DIR}/vcpkg-bootstrap.log") + file(TO_NATIVE_PATH "${Z_VCPKG_BOOTSTRAP_LOG}" Z_NATIVE_VCPKG_BOOTSTRAP_LOG) execute_process( COMMAND "${Z_VCPKG_BOOTSTRAP_SCRIPT}" ${VCPKG_BOOTSTRAP_OPTIONS} OUTPUT_FILE "${Z_VCPKG_BOOTSTRAP_LOG}" ERROR_FILE "${Z_VCPKG_BOOTSTRAP_LOG}" RESULT_VARIABLE Z_VCPKG_BOOTSTRAP_RESULT) - if(Z_VCPKG_BOOTSTRAP_RESULT EQUAL 0) + if(Z_VCPKG_BOOTSTRAP_RESULT EQUAL "0") message(STATUS "Bootstrapping vcpkg before install - done") else() message(STATUS "Bootstrapping vcpkg before install - failed") - z_vcpkg_add_fatal_error("vcpkg install failed. See logs for more information: ${Z_VCPKG_BOOTSTRAP_LOG}") + z_vcpkg_add_fatal_error("vcpkg install failed. See logs for more information: ${Z_NATIVE_VCPKG_BOOTSTRAP_LOG}") endif() endif() @@ -483,7 +515,7 @@ if(VCPKG_MANIFEST_MODE AND VCPKG_MANIFEST_INSTALL AND NOT Z_VCPKG_CMAKE_IN_TRY_C list(APPEND Z_VCPKG_ADDITIONAL_MANIFEST_PARAMS "--x-no-default-features") endif() - if(NOT CMAKE_VERSION VERSION_LESS "3.18") # == GREATER_EQUAL, but that was added in CMake 3.7 + if(CMAKE_VERSION VERSION_GREATER_EQUAL "3.18") set(Z_VCPKG_MANIFEST_INSTALL_ECHO_PARAMS ECHO_OUTPUT_VARIABLE ECHO_ERROR_VARIABLE) else() set(Z_VCPKG_MANIFEST_INSTALL_ECHO_PARAMS) @@ -496,7 +528,7 @@ if(VCPKG_MANIFEST_MODE AND VCPKG_MANIFEST_INSTALL AND NOT Z_VCPKG_CMAKE_IN_TRY_C "--x-wait-for-lock" "--x-manifest-root=${VCPKG_MANIFEST_DIR}" "--x-install-root=${_VCPKG_INSTALLED_DIR}" - "${Z_VCPKG_FEATURE_FLAGS}" + ${Z_VCPKG_FEATURE_FLAGS} ${Z_VCPKG_ADDITIONAL_MANIFEST_PARAMS} ${VCPKG_INSTALL_OPTIONS} OUTPUT_VARIABLE Z_VCPKG_MANIFEST_INSTALL_LOGTEXT @@ -505,35 +537,61 @@ if(VCPKG_MANIFEST_MODE AND VCPKG_MANIFEST_INSTALL AND NOT Z_VCPKG_CMAKE_IN_TRY_C ${Z_VCPKG_MANIFEST_INSTALL_ECHO_PARAMS} ) - file(TO_NATIVE_PATH "${CMAKE_BINARY_DIR}/vcpkg-manifest-install.log" Z_VCPKG_MANIFEST_INSTALL_LOGFILE) + set(Z_VCPKG_MANIFEST_INSTALL_LOGFILE "${CMAKE_BINARY_DIR}/vcpkg-manifest-install.log") + file(TO_NATIVE_PATH "${Z_VCPKG_MANIFEST_INSTALL_LOGFILE}" Z_NATIVE_VCPKG_MANIFEST_INSTALL_LOGFILE) file(WRITE "${Z_VCPKG_MANIFEST_INSTALL_LOGFILE}" "${Z_VCPKG_MANIFEST_INSTALL_LOGTEXT}") - if(Z_VCPKG_MANIFEST_INSTALL_RESULT EQUAL 0) + if(Z_VCPKG_MANIFEST_INSTALL_RESULT EQUAL "0") message(STATUS "Running vcpkg install - done") - - # file(TOUCH) added in CMake 3.12 - file(WRITE "${_VCPKG_INSTALLED_DIR}/.cmakestamp" "") set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS - "${VCPKG_MANIFEST_DIR}/vcpkg.json" - "${_VCPKG_INSTALLED_DIR}/.cmakestamp") + "${VCPKG_MANIFEST_DIR}/vcpkg.json") if(EXISTS "${VCPKG_MANIFEST_DIR}/vcpkg-configuration.json") set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS "${VCPKG_MANIFEST_DIR}/vcpkg-configuration.json") endif() else() message(STATUS "Running vcpkg install - failed") - z_vcpkg_add_fatal_error("vcpkg install failed. See logs for more information: ${Z_VCPKG_MANIFEST_INSTALL_LOGFILE}") + z_vcpkg_add_fatal_error("vcpkg install failed. See logs for more information: ${Z_NATIVE_VCPKG_MANIFEST_INSTALL_LOGFILE}") endif() endif() endif() -list(APPEND CMAKE_PROGRAM_PATH "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/tools") -file(GLOB Z_VCPKG_TOOLS_DIRS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/tools/*") -foreach(Z_VCPKG_TOOLS_DIR IN LISTS Z_VCPKG_TOOLS_DIRS) - if(IS_DIRECTORY "${Z_VCPKG_TOOLS_DIR}") - list(APPEND CMAKE_PROGRAM_PATH "${Z_VCPKG_TOOLS_DIR}") +option(VCPKG_SETUP_CMAKE_PROGRAM_PATH "Enable the setup of CMAKE_PROGRAM_PATH to vcpkg paths" ON) +set(VCPKG_CAN_USE_HOST_TOOLS OFF) +if(DEFINED VCPKG_HOST_TRIPLET AND NOT VCPKG_HOST_TRIPLET STREQUAL "") + set(VCPKG_CAN_USE_HOST_TOOLS ON) +endif() +cmake_dependent_option(VCPKG_USE_HOST_TOOLS "Setup CMAKE_PROGRAM_PATH to use host tools" ON "VCPKG_CAN_USE_HOST_TOOLS" OFF) +unset(VCPKG_CAN_USE_HOST_TOOLS) + +if(VCPKG_SETUP_CMAKE_PROGRAM_PATH) + set(tools_base_path "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/tools") + if(VCPKG_USE_HOST_TOOLS) + set(tools_base_path "${VCPKG_INSTALLED_DIR}/${VCPKG_HOST_TRIPLET}/tools") endif() -endforeach() + list(APPEND CMAKE_PROGRAM_PATH "${tools_base_path}") + file(GLOB Z_VCPKG_TOOLS_DIRS LIST_DIRECTORIES true "${tools_base_path}/*") + file(GLOB Z_VCPKG_TOOLS_FILES LIST_DIRECTORIES false "${tools_base_path}/*") + file(GLOB Z_VCPKG_TOOLS_DIRS_BIN LIST_DIRECTORIES true "${tools_base_path}/*/bin") + file(GLOB Z_VCPKG_TOOLS_FILES_BIN LIST_DIRECTORIES false "${tools_base_path}/*/bin") + list(REMOVE_ITEM Z_VCPKG_TOOLS_DIRS ${Z_VCPKG_TOOLS_FILES} "") # need at least one item for REMOVE_ITEM if CMake <= 3.19 + list(REMOVE_ITEM Z_VCPKG_TOOLS_DIRS_BIN ${Z_VCPKG_TOOLS_FILES_BIN} "") + string(REPLACE "/bin" "" Z_VCPKG_TOOLS_DIRS_TO_REMOVE "${Z_VCPKG_TOOLS_DIRS_BIN}") + list(REMOVE_ITEM Z_VCPKG_TOOLS_DIRS ${Z_VCPKG_TOOLS_DIRS_TO_REMOVE} "") + list(APPEND Z_VCPKG_TOOLS_DIRS ${Z_VCPKG_TOOLS_DIRS_BIN}) + foreach(Z_VCPKG_TOOLS_DIR IN LISTS Z_VCPKG_TOOLS_DIRS) + list(APPEND CMAKE_PROGRAM_PATH "${Z_VCPKG_TOOLS_DIR}") + endforeach() + unset(Z_VCPKG_TOOLS_DIR) + unset(Z_VCPKG_TOOLS_DIRS) + unset(Z_VCPKG_TOOLS_FILES) + unset(Z_VCPKG_TOOLS_DIRS_BIN) + unset(Z_VCPKG_TOOLS_FILES_BIN) + unset(Z_VCPKG_TOOLS_DIRS_TO_REMOVE) + unset(tools_base_path) +endif() + +cmake_policy(POP) function(add_executable) z_vcpkg_function_arguments(ARGS) @@ -543,9 +601,9 @@ function(add_executable) list(FIND ARGV "IMPORTED" IMPORTED_IDX) list(FIND ARGV "ALIAS" ALIAS_IDX) list(FIND ARGV "MACOSX_BUNDLE" MACOSX_BUNDLE_IDX) - if(IMPORTED_IDX EQUAL -1 AND ALIAS_IDX EQUAL -1) + if(IMPORTED_IDX EQUAL "-1" AND ALIAS_IDX EQUAL "-1") if(VCPKG_APPLOCAL_DEPS) - if(Z_VCPKG_TARGET_TRIPLET_PLAT MATCHES "windows|uwp") + if(Z_VCPKG_TARGET_TRIPLET_PLAT MATCHES "windows|uwp|xbox") z_vcpkg_set_powershell_path() set(EXTRA_OPTIONS "") if(X_VCPKG_APPLOCAL_DEPS_SERIALIZED) @@ -556,14 +614,17 @@ function(add_executable) -targetBinary "$" -installedDir "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}$<$:/debug>/bin" -OutVariable out + VERBATIM ${EXTRA_OPTIONS} ) elseif(Z_VCPKG_TARGET_TRIPLET_PLAT MATCHES "osx") - if(NOT MACOSX_BUNDLE_IDX EQUAL -1) + if(NOT MACOSX_BUNDLE_IDX EQUAL "-1") + find_package(Python COMPONENTS Interpreter) add_custom_command(TARGET "${target_name}" POST_BUILD - COMMAND python "${Z_VCPKG_TOOLCHAIN_DIR}/osx/applocal.py" - "$" - "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}$<$:/debug>" + COMMAND "${Python_EXECUTABLE}" "${Z_VCPKG_TOOLCHAIN_DIR}/osx/applocal.py" + "$" + "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}$<$:/debug>" + VERBATIM ) endif() endif() @@ -581,15 +642,16 @@ function(add_library) list(FIND ARGS "IMPORTED" IMPORTED_IDX) list(FIND ARGS "INTERFACE" INTERFACE_IDX) list(FIND ARGS "ALIAS" ALIAS_IDX) - if(IMPORTED_IDX EQUAL -1 AND INTERFACE_IDX EQUAL -1 AND ALIAS_IDX EQUAL -1) + if(IMPORTED_IDX EQUAL "-1" AND INTERFACE_IDX EQUAL "-1" AND ALIAS_IDX EQUAL "-1") get_target_property(IS_LIBRARY_SHARED "${target_name}" TYPE) - if(VCPKG_APPLOCAL_DEPS AND Z_VCPKG_TARGET_TRIPLET_PLAT MATCHES "windows|uwp" AND (IS_LIBRARY_SHARED STREQUAL "SHARED_LIBRARY" OR IS_LIBRARY_SHARED STREQUAL "MODULE_LIBRARY")) + if(VCPKG_APPLOCAL_DEPS AND Z_VCPKG_TARGET_TRIPLET_PLAT MATCHES "windows|uwp|xbox" AND (IS_LIBRARY_SHARED STREQUAL "SHARED_LIBRARY" OR IS_LIBRARY_SHARED STREQUAL "MODULE_LIBRARY")) z_vcpkg_set_powershell_path() add_custom_command(TARGET "${target_name}" POST_BUILD COMMAND "${Z_VCPKG_POWERSHELL_PATH}" -noprofile -executionpolicy Bypass -file "${Z_VCPKG_TOOLCHAIN_DIR}/msbuild/applocal.ps1" -targetBinary "$" -installedDir "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}$<$:/debug>/bin" -OutVariable out + VERBATIM ) endif() set_target_properties("${target_name}" PROPERTIES VS_USER_PROPS do_not_import_user.props) @@ -611,7 +673,7 @@ function(x_vcpkg_install_local_dependencies) ) endif() - cmake_parse_arguments(PARSE_ARGV 0 arg + cmake_parse_arguments(PARSE_ARGV "0" arg "" "DESTINATION;COMPONENT" "TARGETS" @@ -623,9 +685,9 @@ function(x_vcpkg_install_local_dependencies) message(FATAL_ERROR "DESTINATION must be specified") endif() - if(Z_VCPKG_TARGET_TRIPLET_PLAT MATCHES "^(windows|uwp)$") + if(Z_VCPKG_TARGET_TRIPLET_PLAT MATCHES "^(windows|uwp|xbox-.*)$") # Install CODE|SCRIPT allow the use of generator expressions - cmake_policy(SET CMP0087 NEW) + cmake_policy(SET CMP0087 NEW) # CMake 3.14 z_vcpkg_set_powershell_path() if(NOT IS_ABSOLUTE "${arg_DESTINATION}") @@ -686,7 +748,7 @@ if(X_VCPKG_APPLOCAL_DEPS_INSTALL) if(last_command STREQUAL "DESTINATION" AND (modifier STREQUAL "" OR modifier STREQUAL "RUNTIME")) set(destination "${arg}") endif() - if(last_command STREQUAL "COMPONENT") + if(last_command STREQUAL "COMPONENT" AND (modifier STREQUAL "" OR modifier STREQUAL "RUNTIME")) set(component_param "COMPONENT" "${arg}") endif() endforeach() @@ -700,45 +762,54 @@ if(X_VCPKG_APPLOCAL_DEPS_INSTALL) endfunction() endif() +option(VCPKG_TRACE_FIND_PACKAGE "Trace calls to find_package()" OFF) if(NOT DEFINED VCPKG_OVERRIDE_FIND_PACKAGE_NAME) set(VCPKG_OVERRIDE_FIND_PACKAGE_NAME find_package) endif() # NOTE: this is not a function, which means that arguments _are not_ perfectly forwarded # this is fine for `find_package`, since there are no usecases for `;` in arguments, # so perfect forwarding is not important +set(z_vcpkg_find_package_backup_id "0") macro("${VCPKG_OVERRIDE_FIND_PACKAGE_NAME}" z_vcpkg_find_package_package_name) + if(VCPKG_TRACE_FIND_PACKAGE) + string(REPEAT " " "${z_vcpkg_find_package_backup_id}" z_vcpkg_find_package_indent) + string(JOIN " " z_vcpkg_find_package_argn ${ARGN}) + message(STATUS "${z_vcpkg_find_package_indent}find_package(${z_vcpkg_find_package_package_name} ${z_vcpkg_find_package_argn})") + unset(z_vcpkg_find_package_argn) + unset(z_vcpkg_find_package_indent) + endif() + + math(EXPR z_vcpkg_find_package_backup_id "${z_vcpkg_find_package_backup_id} + 1") set(z_vcpkg_find_package_package_name "${z_vcpkg_find_package_package_name}") - set(z_vcpkg_find_package_ARGN "${ARGN}") - set(z_vcpkg_find_package_backup_vars) + set(z_vcpkg_find_package_${z_vcpkg_find_package_backup_id}_ARGN "${ARGN}") + set(z_vcpkg_find_package_${z_vcpkg_find_package_backup_id}_backup_vars "") # Workaround to set the ROOT_PATH until upstream CMake stops overriding # the ROOT_PATH at apple OS initialization phase. # See https://gitlab.kitware.com/cmake/cmake/merge_requests/3273 # Fixed in CMake 3.15 - if(CMAKE_SYSTEM_NAME STREQUAL iOS) - list(APPEND z_vcpkg_find_package_backup_vars "CMAKE_FIND_ROOT_PATH") + if(CMAKE_SYSTEM_NAME STREQUAL "iOS") + list(APPEND z_vcpkg_find_package_${z_vcpkg_find_package_backup_id}_backup_vars "CMAKE_FIND_ROOT_PATH") if(DEFINED CMAKE_FIND_ROOT_PATH) - set(z_vcpkg_find_package_backup_CMAKE_FIND_ROOT_PATH "${CMAKE_FIND_ROOT_PATH}") - else() - set(z_vcpkg_find_package_backup_CMAKE_FIND_ROOT_PATH) + set(z_vcpkg_find_package_${z_vcpkg_find_package_backup_id}_backup_CMAKE_FIND_ROOT_PATH "${CMAKE_FIND_ROOT_PATH}") endif() - list(APPEND CMAKE_FIND_ROOT_PATH "${VCPKG_CMAKE_FIND_ROOT_PATH}") endif() - string(TOLOWER "${z_vcpkg_find_package_package_name}" z_vcpkg_find_package_lowercase_package_name) + string(TOLOWER "${z_vcpkg_find_package_package_name}" z_vcpkg_find_package_lowercase_package_name) set(z_vcpkg_find_package_vcpkg_cmake_wrapper_path "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/share/${z_vcpkg_find_package_lowercase_package_name}/vcpkg-cmake-wrapper.cmake") - if(EXISTS "${z_vcpkg_find_package_vcpkg_cmake_wrapper_path}") - list(APPEND z_vcpkg_find_package_backup_vars "ARGS") + if(VCPKG_TRACE_FIND_PACKAGE) + string(REPEAT " " "${z_vcpkg_find_package_backup_id}" z_vcpkg_find_package_indent) + message(STATUS "${z_vcpkg_find_package_indent}using share/${z_vcpkg_find_package_lowercase_package_name}/vcpkg-cmake-wrapper.cmake") + unset(z_vcpkg_find_package_indent) + endif() + list(APPEND z_vcpkg_find_package_${z_vcpkg_find_package_backup_id}_backup_vars "ARGS") if(DEFINED ARGS) - set(z_vcpkg_find_package_backup_ARGS "${ARGS}") - else() - set(z_vcpkg_find_package_backup_ARGS) + set(z_vcpkg_find_package_${z_vcpkg_find_package_backup_id}_backup_ARGS "${ARGS}") endif() - - set(ARGS "${z_vcpkg_find_package_package_name};${z_vcpkg_find_package_ARGN}") + set(ARGS "${z_vcpkg_find_package_package_name};${z_vcpkg_find_package_${z_vcpkg_find_package_backup_id}_ARGN}") include("${z_vcpkg_find_package_vcpkg_cmake_wrapper_path}") elseif(z_vcpkg_find_package_package_name STREQUAL "Boost" AND EXISTS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include/boost") # Checking for the boost headers disables this wrapper unless the user has installed at least one boost library @@ -753,16 +824,16 @@ macro("${VCPKG_OVERRIDE_FIND_PACKAGE_NAME}" z_vcpkg_find_package_package_name) else() set(Boost_COMPILER "-vc140") endif() - _find_package("${z_vcpkg_find_package_package_name}" ${z_vcpkg_find_package_ARGN}) + _find_package("${z_vcpkg_find_package_package_name}" ${z_vcpkg_find_package_${z_vcpkg_find_package_backup_id}_ARGN}) elseif(z_vcpkg_find_package_package_name STREQUAL "ICU" AND EXISTS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include/unicode/utf.h") - list(FIND z_vcpkg_find_package_ARGN "COMPONENTS" z_vcpkg_find_package_COMPONENTS_IDX) - if(NOT z_vcpkg_find_package_COMPONENTS_IDX EQUAL -1) - _find_package("${z_vcpkg_find_package_package_name}" ${z_vcpkg_find_package_ARGN} COMPONENTS data) + list(FIND z_vcpkg_find_package_${z_vcpkg_find_package_backup_id}_ARGN "COMPONENTS" z_vcpkg_find_package_COMPONENTS_IDX) + if(NOT z_vcpkg_find_package_COMPONENTS_IDX EQUAL "-1") + _find_package("${z_vcpkg_find_package_package_name}" ${z_vcpkg_find_package_${z_vcpkg_find_package_backup_id}_ARGN} COMPONENTS data) else() - _find_package("${z_vcpkg_find_package_package_name}" ${z_vcpkg_find_package_ARGN}) + _find_package("${z_vcpkg_find_package_package_name}" ${z_vcpkg_find_package_${z_vcpkg_find_package_backup_id}_ARGN}) endif() elseif(z_vcpkg_find_package_package_name STREQUAL "GSL" AND EXISTS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include/gsl") - _find_package("${z_vcpkg_find_package_package_name}" ${z_vcpkg_find_package_ARGN}) + _find_package("${z_vcpkg_find_package_package_name}" ${z_vcpkg_find_package_${z_vcpkg_find_package_backup_id}_ARGN}) if(GSL_FOUND AND TARGET GSL::gsl) set_property( TARGET GSL::gslcblas APPEND PROPERTY IMPORTED_CONFIGURATIONS Release ) set_property( TARGET GSL::gsl APPEND PROPERTY IMPORTED_CONFIGURATIONS Release ) @@ -774,7 +845,7 @@ macro("${VCPKG_OVERRIDE_FIND_PACKAGE_NAME}" z_vcpkg_find_package_package_name) endif() endif() elseif("${z_vcpkg_find_package_package_name}" STREQUAL "CURL" AND EXISTS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include/curl") - _find_package("${z_vcpkg_find_package_package_name}" ${z_vcpkg_find_package_ARGN}) + _find_package("${z_vcpkg_find_package_package_name}" ${z_vcpkg_find_package_${z_vcpkg_find_package_backup_id}_ARGN}) if(CURL_FOUND) if(EXISTS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib/nghttp2.lib") list(APPEND CURL_LIBRARIES @@ -783,20 +854,29 @@ macro("${VCPKG_OVERRIDE_FIND_PACKAGE_NAME}" z_vcpkg_find_package_package_name) endif() endif() elseif("${z_vcpkg_find_package_lowercase_package_name}" STREQUAL "grpc" AND EXISTS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/share/grpc") - _find_package(gRPC ${z_vcpkg_find_package_ARGN}) + _find_package(gRPC ${z_vcpkg_find_package_${z_vcpkg_find_package_backup_id}_ARGN}) else() - _find_package("${z_vcpkg_find_package_package_name}" ${z_vcpkg_find_package_ARGN}) + _find_package("${z_vcpkg_find_package_package_name}" ${z_vcpkg_find_package_${z_vcpkg_find_package_backup_id}_ARGN}) endif() - - foreach(z_vcpkg_find_package_backup_var IN LISTS z_vcpkg_find_package_backup_vars) - if(DEFINED z_vcpkg_find_package_backup_${z_vcpkg_find_package_backup_var}) - set("${z_vcpkg_find_package_backup_var}" "${z_vcpkg_find_package_backup_${z_vcpkg_find_package_backup_var}}") + # Do not use z_vcpkg_find_package_package_name beyond this point since it might have changed! + # Only variables using z_vcpkg_find_package_backup_id can used correctly below! + foreach(z_vcpkg_find_package_${z_vcpkg_find_package_backup_id}_backup_var IN LISTS z_vcpkg_find_package_${z_vcpkg_find_package_backup_id}_backup_vars) + if(DEFINED z_vcpkg_find_package_${z_vcpkg_find_package_backup_id}_backup_${z_vcpkg_find_package_${z_vcpkg_find_package_backup_id}_backup_var}) + set("${z_vcpkg_find_package_${z_vcpkg_find_package_backup_id}_backup_var}" "${z_vcpkg_find_package_${z_vcpkg_find_package_backup_id}_backup_${z_vcpkg_find_package_${z_vcpkg_find_package_backup_id}_backup_var}}") else() - set("${z_vcpkg_find_package_backup_var}") + unset("${z_vcpkg_find_package_${z_vcpkg_find_package_backup_id}_backup_var}") endif() + unset("z_vcpkg_find_package_${z_vcpkg_find_package_backup_id}_backup_${z_vcpkg_find_package_${z_vcpkg_find_package_backup_id}_backup_var}") endforeach() + math(EXPR z_vcpkg_find_package_backup_id "${z_vcpkg_find_package_backup_id} - 1") + if(z_vcpkg_find_package_backup_id LESS "0") + message(FATAL_ERROR "[vcpkg]: find_package ended with z_vcpkg_find_package_backup_id being less than 0! This is a logical error and should never happen. Please provide a cmake trace log via cmake cmd line option '--trace-expand'!") + endif() endmacro() +cmake_policy(PUSH) +cmake_policy(VERSION 3.7.2) + set(VCPKG_TOOLCHAIN ON) set(Z_VCPKG_UNUSED "${CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION}") set(Z_VCPKG_UNUSED "${CMAKE_EXPORT_NO_PACKAGE_REGISTRY}") @@ -804,27 +884,20 @@ set(Z_VCPKG_UNUSED "${CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY}") set(Z_VCPKG_UNUSED "${CMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY}") set(Z_VCPKG_UNUSED "${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP}") -# Propogate these values to try-compile configurations so the triplet and toolchain load +# Propagate these values to try-compile configurations so the triplet and toolchain load if(NOT Z_VCPKG_CMAKE_IN_TRY_COMPILE) - if(Z_VCPKG_CMAKE_EMULATE_TRY_COMPILE_PLATFORM_VARIABLES) - file(TO_CMAKE_PATH "${VCPKG_CHAINLOAD_TOOLCHAIN_FILE}" Z_VCPKG_CHAINLOAD_FILE_CMAKE) - file(TO_CMAKE_PATH "${Z_VCPKG_ROOT_DIR}" Z_VCPKG_ROOT_DIR_CMAKE) - file(WRITE "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/vcpkg.config.cmake" - "set(VCPKG_TARGET_TRIPLET \"${VCPKG_TARGET_TRIPLET}\" CACHE STRING \"\")\n" - "set(VCPKG_TARGET_ARCHITECTURE \"${VCPKG_TARGET_ARCHITECTURE}\" CACHE STRING \"\")\n" - "set(VCPKG_APPLOCAL_DEPS \"${VCPKG_APPLOCAL_DEPS}\" CACHE STRING \"\")\n" - "set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE \"${Z_VCPKG_CHAINLOAD_FILE_CMAKE}\" CACHE STRING \"\")\n" - "set(Z_VCPKG_ROOT_DIR \"${Z_VCPKG_ROOT_DIR_CMAKE}\" CACHE STRING \"\")\n" - ) - else() - list(APPEND CMAKE_TRY_COMPILE_PLATFORM_VARIABLES - VCPKG_TARGET_TRIPLET - VCPKG_TARGET_ARCHITECTURE - VCPKG_APPLOCAL_DEPS - VCPKG_CHAINLOAD_TOOLCHAIN_FILE - Z_VCPKG_ROOT_DIR - ) - endif() + list(APPEND CMAKE_TRY_COMPILE_PLATFORM_VARIABLES + VCPKG_TARGET_TRIPLET + VCPKG_TARGET_ARCHITECTURE + VCPKG_HOST_TRIPLET + VCPKG_INSTALLED_DIR + VCPKG_PREFER_SYSTEM_LIBS + # VCPKG_APPLOCAL_DEPS # This should be off within try_compile! + VCPKG_CHAINLOAD_TOOLCHAIN_FILE + Z_VCPKG_ROOT_DIR + ) +else() + set(VCPKG_APPLOCAL_DEPS OFF) endif() if(Z_VCPKG_HAS_FATAL_ERROR) diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index 4bfdb19a1f6f2c..bcfa262894158f 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -2,13 +2,18 @@ ## This file defines the current expected build state of ports in CI. ## ## States -## pass - (default) the port builds in the CI system. If a port is -## missing from this file then it is assumed to build. -## fail - the port does not build in the CI system. +## (default) - +## If a port is missing from this file then it is assumed +## to build successfully if not blocked by a dependency. +## pass - The port must build successfully in the CI system. It is a hard +## error if the port build is blocked by a failed dependency. +## fail - The port build is expected to fail in the CI system. ## This is not necessarily the same as if a port is expected to build ## on a developers machine because it may fail due to the machine -## configuration. When set to fail the CI system will still attempt -## to build the port and will report a CI failure until this file is updated. +## configuration. When set to fail the CI system will silently skip +## the port for pull request CI runs. But the CI system will still +## attempt to build the port in scheduled runs, reporting unexpected +## build success as a CI failure. ## skip - Do not build this port in the CI system. ## This is added to ports that may be flaky or conflict with other ## ports. Please comment for why a port is skipped so it can be @@ -16,8 +21,12 @@ ## ## ## CI tested triplets: +## arm-neon-android +## arm64-android +## arm64-osx +## arm64-uwp ## arm64-windows -## arm-uwp +## x64-android ## x64-linux ## x64-osx ## x64-uwp @@ -29,618 +38,569 @@ # Add new items alphabetically -# script ports -#vcpkg-cmake:arm64-windows=fail -#vcpkg-cmake:arm-uwp=fail -#vcpkg-cmake:x64-uwp=fail -#vcpkg-cmake:x64-windows-static=fail -#vcpkg-cmake:x64-windows-static-md=fail -#vcpkg-cmake:x86-windows=fail +ace:arm-neon-android=fail +ace:arm64-android=fail +ace:x64-android=fail +# Needs SDK (in ENV{ANDROID_HOME}) +allegro5:arm-neon-android=fail +allegro5:arm64-android=fail +allegro5:x64-android=fail +apr:arm-neon-android=fail +apr:arm64-android=fail +apr:x64-android=fail +apsi:arm-neon-android=fail +apsi:x64-android=fail +# Broken with CUDA 12; needs update to 3.8.3 and https://github.com/arrayfire/arrayfire/issues/3349 fixed +arrayfire:x64-linux=fail +avro-c:arm-neon-android=fail +avro-c:arm64-android=fail +avro-c:x64-android=fail +azure-identity-cpp:arm-neon-android=fail +azure-identity-cpp:arm64-android=fail +azure-identity-cpp:x64-android=fail +# C++20 conformant compiler required +atliac-minitest:x64-linux=fail +atliac-minitest:arm64-uwp=fail +atliac-minitest:arm64-osx=fail +atliac-minitest:x64-osx=fail +atliac-minitest:x64-uwp=fail +backward-cpp:arm-neon-android=fail +backward-cpp:arm64-android=fail +backward-cpp:x64-android=fail +bde:arm64-osx =skip # conflict https://github.com/microsoft/vcpkg/pull/32645 +bde:x64-linux =skip +bde:x64-osx =skip +bde:x64-windows-static-md =skip +bde:x64-windows-static =skip +bde:x64-windows =skip +bde:x86-windows =skip +benchmark:arm-neon-android=fail +bento4:arm-neon-android=fail +berkeleydb:arm-neon-android=fail +berkeleydb:arm64-android=fail +berkeleydb:x64-android=fail +binlog:arm-neon-android=fail +bit7z:arm-neon-android=fail +################################################################ +# +# These skips need to match the decision tree for which backends we use; see ports/blas/portfile.cmake +blas-test:x86-windows=pass # openblas +lapack-test:x86-windows=pass # lapack-reference[noblas] +blas-test:x64-windows=pass # openblas +lapack-test:x64-windows=pass # lapack-reference[noblas] +blas-test:x64-windows-static=pass # lapack-reference[blas] +lapack-test:x64-windows-static=pass # lapack-reference[blas] +blas-test:x64-windows-static-md=pass # lapack-reference[blas] +lapack-test:x64-windows-static-md=pass # lapack-reference[blas] +blas-test:x64-uwp=pass # openblas +lapack-test:x64-uwp=pass # clapack +blas-test:arm64-windows=pass # openblas +lapack-test:arm64-windows=pass # clapack +blas-test:arm64-uwp=pass # openblas +lapack-test:arm64-uwp=pass # clapack +blas-test:x64-osx=pass # accelerate framework +lapack-test:x64-osx=pass # accelerate framework +blas-test:arm64-osx=pass # accelerate framework +lapack-test:arm64-osx=pass # accelerate framework +blas-test:x64-linux=pass # openblas +lapack-test:x64-linux=pass # lapack-reference[noblas] +blas-test:arm64-android=pass # openblas -#vcpkg-cmake-config:arm64-windows=fail -#vcpkg-cmake-config:arm-uwp=fail -#vcpkg-cmake-config:x64-uwp=fail -#vcpkg-cmake-config:x64-windows-static=fail -#vcpkg-cmake-config:x64-windows-static-md=fail -#vcpkg-cmake-config:x86-windows=fail - -# other ports -# Cross compiling CI machine cannot run gen_test_char to generate apr_escape_test_char.h -apr:arm64-windows=fail -# Requires ATL for ARM64 to be installed in CI -azure-storage-cpp:arm64-windows=fail - -aubio:arm-uwp=fail -aubio:x64-uwp=fail -# broken when `python` is python3, https://github.com/microsoft/vcpkg/issues/18937 -bde:x64-linux=fail -bitserializer:x64-osx=fail -blend2d:arm64-windows=fail -blend2d:arm-uwp=fail -blend2d:x64-uwp=fail -blitz:x64-uwp=fail -blitz:arm64-windows=fail -blitz:arm-uwp=fail -blosc:arm64-windows=fail -blosc:arm-uwp=fail -blosc:x64-uwp=fail -bond:arm-uwp=fail +clapack:arm64-android=fail +clapack:arm64-osx=skip +clapack:x64-linux=skip +clapack:x64-osx=skip +clapack:x64-windows-static-md=skip +clapack:x64-windows-static=skip +clapack:x64-windows=skip +clapack:x86-windows=skip +lapack-reference:arm64-android=fail +lapack-reference:arm64-osx=skip +lapack-reference:arm64-uwp=skip +lapack-reference:arm64-windows=skip +lapack-reference:x64-osx=skip +lapack-reference:x64-uwp=skip +openblas:arm64-osx=skip +openblas:x64-android=fail +openblas:x64-osx=skip +openblas:x64-windows-static-md=skip +openblas:x64-windows-static=skip +# +################################################################ +blitz:x64-android=fail +boinc:arm-neon-android=fail +boinc:arm64-android=fail +boinc:x64-android=fail +bond:arm-neon-android=fail +bond:arm64-android=fail +bond:arm64-osx=fail +bond:x64-android=fail bond:x64-osx=fail -bond:x64-uwp=fail -botan:x64-uwp=fail -breakpad:arm64-windows=fail -bullet3:arm64-windows=fail -bullet3:arm-uwp=fail -bullet3:x64-uwp=fail -caf:arm-uwp=fail +# Conflicts with openssl +boringssl:arm-neon-android=skip +boringssl:arm64-android=skip +boringssl:arm64-windows=skip +boringssl:arm64-uwp=skip +boringssl:x64-android=skip +boringssl:x64-linux=skip +boringssl:x64-osx=skip +boringssl:arm64-osx=skip +boringssl:x64-uwp=skip +boringssl:x64-windows=skip +boringssl:x64-windows-static=skip +boringssl:x64-windows-static-md=skip +boringssl:x86-windows=skip +brpc:x64-android=fail +buck-yeh-bux:x64-uwp=skip +buck-yeh-bux:x86-windows=skip +buck-yeh-bux-mariadb-client:x86-windows=skip +caf:arm-neon-android=fail +caf:arm64-uwp=fail +caf:arm64-android=fail +caf:x64-android=fail caf:x64-uwp=fail -caffe2:x86-windows=fail -caffe2:arm64-windows=fail -c-ares:arm-uwp=fail -c-ares:x64-uwp=fail -casclib:arm-uwp=fail +# file conflict with dbg-macro +c-dbg-macro:x86-windows=skip +c-dbg-macro:x64-windows=skip +c-dbg-macro:x64-windows-static=skip +c-dbg-macro:x64-windows-static-md=skip +c-dbg-macro:x64-uwp=skip +c-dbg-macro:arm64-windows=skip +c-dbg-macro:arm64-uwp=skip +c-dbg-macro:x64-osx=skip +c-dbg-macro:arm64-osx=skip +c-dbg-macro:x64-linux=skip + +# Needs work +casadi:arm64-android=skip +casadi:x64-android=skip +casadi:arm-neon-android=skip +casadi:x64-windows-static=skip +casadi:x64-windows-static-md=skip +casadi:x64-uwp=skip +casadi:arm64-uwp=skip + +casclib:arm64-uwp=fail casclib:x64-uwp=fail +catch-classic:arm-neon-android=skip +catch-classic:arm64-android=skip catch-classic:arm64-windows = skip -catch-classic:arm-uwp = skip +catch-classic:arm64-uwp = skip +catch-classic:x64-android=skip catch-classic:x64-linux = skip catch-classic:x64-osx = skip +catch-classic:arm64-osx = skip catch-classic:x64-uwp = skip catch-classic:x64-windows = skip catch-classic:x64-windows-static = skip catch-classic:x64-windows-static-md=skip catch-classic:x86-windows = skip -ccd:arm-uwp=fail -ccd:x64-uwp=fail cctag:x64-windows-static-md=fail -cello:arm-uwp=fail +cello:arm64-uwp=fail cello:x64-uwp=fail -cfitsio:arm-uwp=fail -cfitsio:x64-uwp=fail -cgicc:arm-uwp=fail -cgicc:x64-uwp=fail chakracore:x64-linux=skip -# DCMTK currently has a vendored copy of libcharls.a, which causes conflicts with charls (TODO: use charls' copy) -charls:arm64-windows=skip -charls:arm-uwp=skip -charls:x64-linux=skip -charls:x64-osx=skip -charls:x64-uwp=skip -charls:x64-windows=skip -charls:x64-windows-static=skip -charls:x64-windows-static-md=skip -charls:x86-windows=skip # chartdir does not offer stable download URLs -chartdir:arm64-windows=fail -chartdir:arm-uwp=fail -chartdir:x64-uwp=fail -chartdir:x64-windows-static=fail -chartdir:x86-windows=fail -chartdir:x64-windows=fail -chartdir:x64-windows-static-md=fail -chartdir:x64-osx=fail -chmlib:arm-uwp=fail -chmlib:x64-uwp=fail -# Chromium Base requires a recent version of Clang to be installed. +chartdir:arm-neon-android=fail +chartdir:arm64-android=fail +chartdir:arm64-windows=skip +chartdir:arm64-uwp=skip +chartdir:x64-android=fail +chartdir:x64-uwp=skip +chartdir:x64-windows-static=skip +chartdir:x86-windows=skip +chartdir:x64-windows=skip +chartdir:x64-windows-static-md=skip +chartdir:x64-osx=skip +# chromium-base has several problems and is upgraded to "skip" because it hits a lot of servers that can slow CI +# broken on Windows because it does not yet support VS2022 +chromium-base:x64-windows=skip +chromium-base:x64-windows-static=skip +chromium-base:x64-windows-static-md=skip +# broken on Linux because chromium-base:x64-linux=skip -civetweb:arm64-windows = skip -civetweb:arm-uwp = skip -civetweb:x64-uwp = skip +# broken on OSX for unknown reasons; it appears to be messing with some form of system-wide cache +# because the first attempt to build it fails, but subsequent attempts succeed +chromium-base:x64-osx=skip clamav:arm64-windows=fail -clblas:arm64-windows=fail -clockutils:x64-linux=fail -cmcstl2:arm64-windows = skip -cmcstl2:arm-uwp = skip -cmcstl2:x64-linux = skip -cmcstl2:x64-osx = skip -cmcstl2:x64-uwp = skip -cmcstl2:x64-windows = skip -cmcstl2:x64-windows-static = skip -cmcstl2:x64-windows-static-md=skip -cmcstl2:x86-windows = skip -coin:arm64-windows=fail -coin:arm-uwp=fail -coin:x64-uwp=fail -colmap:x64-windows-static=fail -concurrencpp:x64-linux=fail -constexpr-contracts:x64-linux=fail -coolprop:arm-uwp=fail -coolprop:x64-uwp=fail -coroutine:arm-uwp=fail -coroutine:x64-linux=fail -coroutine:x64-uwp=fail -corrade:arm-uwp=fail -corrade:x64-uwp=fail -cppcms:x64-linux=fail -cppcms:x64-osx=fail -cppcms:x64-windows-static=fail -cppfs:arm-uwp=fail -cppfs:x64-uwp=fail +clblas:arm-neon-android=fail +clblas:arm64-android=fail +clblas:x64-android=fail +clockutils:arm-neon-android=fail +clockutils:arm64-android=fail +clockutils:x64-android=fail +clrng:arm-neon-android=fail +coin-or-ipopt:x64-linux=fail +coroutine:arm-neon-android=fail +coroutine:arm64-android=fail +coroutine:x64-android=fail +coroutine:x64-osx=fail +coroutine:arm64-osx=fail +cpp-ipc:arm-neon-android=fail +cpp-ipc:arm64-android=fail +cpp-ipc:x64-android=fail +cppmicroservices:arm-neon-android=fail +cppmicroservices:arm64-android=fail cppmicroservices:arm64-windows=fail -cppmicroservices:arm-uwp=fail +cppmicroservices:arm64-uwp=fail +cppmicroservices:x64-android=fail cppmicroservices:x64-uwp=fail -cpp-netlib:arm-uwp=fail -cpp-netlib:x64-uwp=fail +# Requires full C++20 support, currently absent from CI for these triplets. +cppslippi:x64-linux=fail +cppcoro:arm-neon-android=fail +cppcoro:arm64-android=fail +cppcoro:arm64-osx=fail +cppcoro:x64-android=fail cppcoro:x64-linux=fail -cppcoro:arm-uwp=fail -cppcoro:x64-uwp=fail -cpuinfo:arm64-windows=fail -crashpad:arm64-windows=fail -crashpad:arm-uwp=fail -crashpad:x64-linux=fail -crashpad:x64-uwp=fail -crashpad:x86-windows=fail -crossguid:x64-osx=fail -ctemplate:arm64-windows=fail -ctemplate:arm-uwp=fail -ctemplate:x64-linux=fail -ctemplate:x64-osx=fail -cuda:x64-osx=fail -cudnn:arm64-windows=fail -cudnn:arm-uwp=fail -cudnn:x64-uwp=fail -cudnn:x64-windows-static=fail -cudnn:x86-windows=fail +cppcoro:x64-osx=fail +cpputest:arm-neon-android=fail +crashpad:x64-linux=fail #Compilation failed due to the lack of Clang++ compiler. +cserialport:arm-neon-android=fail +cserialport:arm64-android=fail +cserialport:x64-android=fail +ctbench:x64-osx=fail +ctbench:arm64-osx=fail +# Needs android-28 (hidden before NDK r26) +cyclonedds:arm-neon-android=fail +cyclonedds:arm64-android=fail +cyclonedds:x64-android=fail +czmq:arm-neon-android=fail +czmq:arm64-android=fail +czmq:x64-android=fail +darknet:arm-neon-android=fail +darknet:arm64-android=fail +darknet:x64-android=fail +dbg-macro:arm-neon-android=skip +dbg-macro:arm64-android=skip +dbg-macro:x64-android=skip # Since pipeline cannot automatically install dbghelp dependency, skip this detection -dbghelp:arm-uwp=skip +dbghelp:arm64-uwp=skip dbghelp:arm64-windows=skip -dbghelp:x64-linux=fail -dbghelp:x64-osx=fail dbghelp:x64-uwp=skip dbghelp:x64-windows-static=skip dbghelp:x64-windows-static-md=skip dbghelp:x64-windows=skip dbghelp:x86-windows=skip -dcmtk:arm-uwp=fail +# Cross builds depend on try_run results +dcmtk:arm-neon-android=fail +dcmtk:arm64-android=fail dcmtk:arm64-windows=fail -dcmtk:x64-uwp=fail -detours:x64-linux=fail -detours:x64-osx=fail -devicenameresolver:arm-uwp=fail -devicenameresolver:x64-linux=fail -devicenameresolver:x64-osx=fail -devicenameresolver:x64-uwp=fail -devicenameresolver:x64-windows-static=fail -dimcli:arm-uwp=fail -dimcli:x64-osx=fail -dimcli:x64-uwp=fail +dcmtk:x64-android=fail # legacy directxsdk which conflicts with dxsdk-d3dx directxsdk:x86-windows=skip directxsdk:x64-windows=skip -discord-game-sdk:x64-windows-static=fail -discord-game-sdk:x64-windows-static-md=fail -discord-rpc:arm-uwp=fail +directxsdk:x64-windows-static=skip +directxsdk:x64-windows-static-md=skip +discord-rpc:arm64-uwp=fail discord-rpc:x64-uwp=fail -dlfcn-win32:arm-uwp=fail -dlfcn-win32:x64-linux=fail -dlfcn-win32:x64-osx=fail -dlfcn-win32:x64-uwp=fail -dmlc:arm-uwp=fail -dmlc:x64-uwp=fail -dpdk:arm-uwp=fail -dpdk:arm64-windows=fail -dpdk:x64-linux=fail -dpdk:x64-osx=fail -dpdk:x64-uwp=fail -dpdk:x64-windows-static=fail -dpdk:x64-windows-static-md=fail -dpdk:x64-windows=fail -dpdk:x86-windows=fail -duckx:arm64-windows = skip -duckx:arm-uwp = skip -duckx:x64-linux = skip -duckx:x64-osx = skip -duckx:x64-uwp = skip -duckx:x64-windows = skip -duckx:x64-windows-static = skip -duckx:x64-windows-static-md=skip -duckx:x86-windows = skip -duilib:arm-uwp=fail -duilib:x64-linux=fail -duilib:x64-osx=fail -duilib:x64-uwp=fail - -# requires python@2 from brew, but that no longer exists -# python2 EOL yay! -duktape:x64-osx=skip - -eastl:arm-uwp=fail -easyloggingpp:arm-uwp=fail -easyloggingpp:x64-uwp=fail -eathread:arm64-windows=fail -eathread:arm-uwp=fail -eathread:x64-uwp=fail -eathread:x86-windows=fail -ebml:arm-uwp=fail -ebml:x64-uwp=fail -ecsutil:arm64-windows=fail -ecsutil:arm-uwp=fail -ecsutil:x64-linux=fail -ecsutil:x64-osx=fail -ecsutil:x64-uwp=fail +discordcoreapi:x64-linux=skip # cause linux CI to hang https://github.com/microsoft/vcpkg/pull/40229 +discordcoreapi:x64-osx=fail +discount:x64-android=fail +eathread:x64-android=fail +ecal:arm-neon-android=fail +ecal:arm64-android=fail +ecal:x64-android=fail +elfio:arm-neon-android=fail +elfio:arm64-android=fail +elfio:x64-android=fail # Checks for gnu extension so only works with gcc. +elfutils:arm-neon-android=fail +elfutils:arm64-android=fail +elfutils:x64-android=fail elfutils:x64-osx=fail -# embree creates common conflicting static library names when built in static mode, reported upstream: -# https://github.com/embree/embree/issues/331 -embree2:x64-windows-static=skip -embree2:x64-windows-static-md=skip -# embree2 conflicts with embree3 -embree2:x64-linux=skip -embree2:x64-osx=skip -enet:arm-uwp=fail -enet:x64-uwp=fail -epsilon:arm-uwp=fail +elfutils:arm64-osx=fail +epsilon:arm64-uwp=fail epsilon:x64-uwp=fail -epsilon:x64-windows-static=fail -fann:x64-windows-static=fail -fastrtps:arm-uwp=fail -fastrtps:x64-uwp=fail -fastrtps:x64-windows-static=fail -fastrtps:x64-windows-static-md=fail -fdlibm:arm-uwp=fail -fdlibm:x64-uwp=fail -fftw3:arm-uwp=fail -fftw3:x64-uwp=fail -fltk:arm-uwp=fail -fltk:x64-uwp=fail -fluidsynth:x64-osx=fail -fluidsynth:x64-windows-static-md=fail +evpp:arm-neon-android=fail +evpp:arm64-android=fail +evpp:x64-android=fail +fastdds:arm-neon-android=fail +fastdds:arm64-android=fail +fastdds:x64-android=fail +# clang rejects variable length arrays +fbgemm:x64-android=fail +# variable length arrays in C++ are a Clang extension +fbbgemmerror:arm-neon-android=fail +fbbgemmerror:arm64-android=fail +fbbgemmerror:x64-android=fail +flashlight-cpu:x64-linux=fail +flashlight-cuda:x64-linux=fail +flint:arm-neon-android=fail +flint:arm64-android=fail +flint:x64-android=fail +fltk:arm-neon-android=fail +fltk:arm64-android=fail +fltk:x64-android=fail # fluidlite conflicts with fluidsynth; we test fluidsynth rather than fluidlite because # fluidlite has no dependencies and thus is less likely to be broken by another package. -fluidlite:arm-uwp=skip +fluidlite:arm64-uwp=skip fluidlite:arm64-windows=skip fluidlite:x64-linux=skip fluidlite:x64-osx=skip +fluidlite:arm64-osx=skip fluidlite:x64-uwp=skip fluidlite:x64-windows-static=skip fluidlite:x64-windows-static-md=skip fluidlite:x64-windows=skip fluidlite:x86-windows=skip -fmem:arm-uwp=fail -fmem:x64-uwp=fail -fmi4cpp:arm-uwp=fail +fmem:arm-neon-android=fail +fmem:arm64-android=fail +fmem:x64-android=fail +fmi4cpp:arm64-uwp=fail fmi4cpp:x64-uwp=fail -fmilib:arm64-windows=fail -fmilib:arm-uwp=fail -fmilib:x64-linux=fail -fmilib:x64-uwp=fail -fontconfig:x64-uwp=fail -fontconfig:arm-uwp=fail -foonathan-memory:arm64-windows=fail -foonathan-memory:arm-uwp=fail -foonathan-memory:x64-uwp=fail -forge:x86-windows=fail -freeglut:arm64-windows=fail -freeglut:arm-uwp=fail -freeglut:x64-uwp=fail +folly:arm64-android=fail +folly:x64-android=fail +# unsupported option '-mfloat-abi=' +# ALooper_pollAll no longer available +freeglut:arm-neon-android=fail +freeglut:arm64-android=fail +freeglut:x64-android=fail +# Needs XQuartz freeglut:x64-osx=fail +freeglut:arm64-osx=fail # Needs /bigobj +freeopcua:arm-neon-android=fail +freeopcua:arm64-android=fail freeopcua:arm64-windows=fail -freetype-gl:x64-uwp=fail -fribidi:arm64-windows=fail -fribidi:arm-uwp=fail -fribidi:x64-uwp=fail -ftgl:x64-uwp=fail -# https://github.com/GoogleCloudPlatform/functions-framework-cpp/issues/207 -functions-framework-cpp:x64-uwp=fail -fuzzylite:arm-uwp=fail -fuzzylite:x64-linux=fail -fuzzylite:x64-osx=fail -fuzzylite:x64-uwp=fail -gainput:arm-uwp=fail -gainput:x64-linux=fail -gainput:x64-uwp=fail -gasol:arm64-windows=fail -gasol:arm-uwp=fail -gasol:x64-uwp=fail - +freeopcua:x64-android=fail +fruit:arm-neon-android=fail +fruit:arm64-android=fail +fruit:x64-android=fail +ftgl:arm-neon-android=fail +ftgl:arm64-android=fail +ftgl:x64-android=fail +fuzzylite:arm-neon-android=fail +fuzzylite:arm64-android=fail +fuzzylite:x64-android=fail +g2o:arm64-uwp=fail +g3log:arm-neon-android=fail +g3log:arm64-android=fail +g3log:x64-android=fail +gainput:arm-neon-android=fail +gainput:arm64-android=fail +gainput:x64-android=fail +gamenetworkingsockets:arm-neon-android=fail +gamenetworkingsockets:arm64-android=fail +gamenetworkingsockets:x64-android=fail +# VS 2022 Update 3 seems to have broken Gazebo: https://devdiv.visualstudio.com/DefaultCollection/DevDiv/_workitems/edit/1522474 +# gazebo is broken due it depend on old ports that already in the new versions. +# There is an open PR that try to fix that. +gazebo:x64-windows=fail +gazebo:x64-windows-static-md=fail +gazebo:x86-windows=fail +gazebo:x64-linux=fail +gdk-pixbuf:arm-neon-android=fail +gdk-pixbuf:arm64-android=fail +gdk-pixbuf:x64-android=fail +gemmlowp:arm-neon-android=fail +gemmlowp:arm64-android=fail +gemmlowp:x64-android=fail +gherkin-c:arm-neon-android=fail +gherkin-c:arm64-android=fail +gherkin-c:x64-android=fail +# Conflicts with libevent +gherkin-c:arm64-windows = skip +gherkin-c:arm64-uwp = skip +gherkin-c:x64-linux = skip +gherkin-c:x64-osx = skip +gherkin-c:x64-uwp = skip +gherkin-c:x64-windows = skip +gherkin-c:x64-windows-static = skip +gherkin-c:x64-windows-static-md = skip +gherkin-c:x86-windows = skip +gl3w:arm-neon-android=fail +gl3w:arm64-android=fail +gl3w:x64-android=fail +glfw3:arm-neon-android=fail +glfw3:arm64-uwp=fail +glfw3:arm64-android=fail +glfw3:x64-android=fail +glfw3:x64-uwp=fail +glibmm:x64-windows-static-md=fail +glibmm:x64-windows-static=fail +graphicsmagick:arm64-uwp=fail +graphicsmagick:x64-uwp=fail # gsoap does not offer stable public source downloads +gsoap:x64-android=fail gsoap:x64-windows = skip gsoap:x86-windows = skip gsoap:x64-windows-static = skip gsoap:x64-windows-static-md = skip - -# Port geotrans source ftp://ftp.nga.mil server -# extremely slow may take several hours to download -geotrans:x64-linux = skip -geotrans:x64-windows = skip -geotrans:x86-windows = skip -getopt:arm-uwp=fail -getopt:x64-uwp=fail -getopt-win32:arm64-windows=fail -getopt-win32:arm-uwp=fail -getopt-win32:x64-linux=fail -getopt-win32:x64-osx=fail -getopt-win32:x64-uwp=fail -gflags:arm-uwp=fail -gflags:x64-uwp=fail - -# Conflicts with libevent -gherkin-c:arm64-windows = skip -gherkin-c:arm-uwp = skip -gherkin-c:x64-linux=fail -gherkin-c:x64-osx=fail -gherkin-c:x64-uwp = skip -gherkin-c:x64-windows = skip -gherkin-c:x64-windows-static = skip -gherkin-c:x64-windows-static-md=skip -gherkin-c:x86-windows = skip -gl3w:arm64-windows=fail -gl3w:arm-uwp=fail -glew:arm64-windows=fail -glew:arm-uwp=fail -glfw3:arm-uwp=fail -glfw3:x64-uwp=fail -glib:x64-uwp=fail -glib:x64-windows-static=fail -gmmlib:arm64-windows=fail -gmmlib:arm-uwp=fail -gmmlib:x64-osx=fail -gmmlib:x64-uwp=fail -gmmlib:x64-windows=fail -gmmlib:x64-windows-static=fail -gmmlib:x64-windows-static-md=fail -gmmlib:x86-windows=fail -google-cloud-cpp:arm-uwp=fail -google-cloud-cpp:x64-uwp=fail -gppanel:x64-osx=fail -gperf:x64-uwp=fail -gperf:arm-uwp=fail -gperftools:arm64-windows=fail -gperftools:x64-uwp=fail -gperftools:arm-uwp=fail -graphicsmagick:arm-uwp=fail -graphicsmagick:x64-uwp=fail -graphite2:arm-uwp=fail -graphite2:x64-uwp=fail -graphqlparser:arm-uwp=fail -graphqlparser:x64-uwp=fail -gsl:arm-uwp=fail -gsl:x64-uwp=fail -gstreamer:x64-osx=fail -gtk:x64-windows-static=fail -gtk:x64-windows-static-md=fail -gts:x64-osx=fail -guetzli:x64-osx=fail +gstreamer:arm-neon-android=fail +gstreamer:arm64-android=fail +gstreamer:x64-android=fail +# upstream issue https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1629. +gstreamer:x64-windows-static = skip +gstreamer:x64-windows-static-md = skip +gul14:arm-neon-android=fail +gul14:arm64-android=fail +gul14:x64-android=fail +# see ignition skips below +gz-tools2:arm-neon-android=fail +gz-tools2:x64-android=fail +gz-tools2:arm64-android=fail +gz-gui7:x64-osx=fail halide:x64-windows-static=fail -hdf5:arm64-windows=fail -hdf5:arm-uwp=fail -hdf5:x64-uwp=fail -healpix:x86-windows=fail -healpix:x64-windows=fail -healpix:x64-windows-static=fail -healpix:x64-windows-static-md=fail -healpix:x64-uwp=fail -healpix:arm64-windows=fail -healpix:arm-uwp=fail -healpix:x64-osx=fail -hiredis:arm-uwp=fail -hiredis:x64-uwp=fail +hexl:x64-android=fail +highs:arm-neon-android=fail +highs:arm64-android=fail +highs:x64-android=fail hpx:x64-windows-static=fail -hpx:arm64-windows=fail -hpx:x64-linux=fail -hunspell:x64-windows-static-md=fail -ideviceinstaller:x64-windows-static-md=fail -idevicerestore:x64-linux=fail -idevicerestore:x64-osx=fail -ignition-common1:x64-linux=fail +hwloc:arm-neon-android=fail +hwloc:arm64-android=fail +hwloc:x64-android=fail +hyperscan:x64-android=fail +iceoryx:x64-android=fail +iceoryx:arm64-android=fail +iceoryx:arm-neon-android=fail +ignition-msgs1:arm-neon-android=fail +ignition-msgs1:arm64-android=fail ignition-msgs1:arm64-windows=fail -ignition-msgs1:arm-uwp=fail +ignition-msgs1:arm64-uwp=fail +ignition-msgs1:x64-android=fail ignition-msgs1:x64-uwp=fail -ignition-msgs5:arm64-windows=fail -ignition-msgs5:arm-uwp=fail -ignition-msgs5:x64-uwp=fail +ignition-msgs5:x64-android=fail ignition-msgs5:x64-osx=skip # Conflicts with libjpeg-turbo, mozjpeg +ignition-msgs6:x64-android=fail +ignition-tools:arm-neon-android=fail +ignition-tools:arm64-android=fail +ignition-tools:x64-android=fail +ijg-libjpeg:arm-neon-android=skip +ijg-libjpeg:arm64-uwp = skip +ijg-libjpeg:arm64-android=skip +ijg-libjpeg:arm64-osx = skip ijg-libjpeg:arm64-windows = skip -ijg-libjpeg:arm-uwp = skip +ijg-libjpeg:x64-android=skip ijg-libjpeg:x64-linux = skip ijg-libjpeg:x64-osx = skip ijg-libjpeg:x64-uwp = skip ijg-libjpeg:x64-windows = skip ijg-libjpeg:x64-windows-static = skip +ijg-libjpeg:x64-windows-static-md=fail ijg-libjpeg:x86-windows = skip -intel-ipsec:arm64-windows=fail -intel-ipsec:arm-uwp=fail -intel-ipsec:x64-osx=fail -intel-ipsec:x64-uwp=fail -intel-ipsec:x64-windows=fail -intel-ipsec:x64-windows-static=fail -intel-ipsec:x64-windows-static-md=fail -intel-ipsec:x86-windows=fail -intel-mkl:arm64-windows=fail -intel-mkl:arm-uwp=fail -intel-mkl:x64-linux=fail -intel-mkl:x64-osx=fail -intel-mkl:x64-uwp=fail -intel-mkl:x64-windows=fail -intel-mkl:x64-windows-static=fail -intel-mkl:x64-windows-static-md=fail -intel-mkl:x86-windows=fail -intelrdfpmathlib:arm-uwp=fail -intelrdfpmathlib:x64-linux=fail -intelrdfpmathlib:x64-uwp=fail -irrlicht:arm64-windows=fail -irrlicht:arm-uwp=fail -irrlicht:x64-uwp=fail -isal:arm64-windows=fail -isal:arm-uwp=fail -isal:x64-osx=fail -isal:x64-uwp=fail -isal:x64-windows=fail -isal:x64-windows-static=fail -isal:x64-windows-static-md=fail -isal:x86-windows=fail -jbig2dec:arm-uwp=fail -jbig2dec:x64-uwp=fail +intelrdfpmathlib:arm-neon-android=fail +intelrdfpmathlib:arm64-android=fail +intelrdfpmathlib:x64-android=fail +io2d:arm-neon-android=fail +io2d:arm64-android=fail +io2d:x64-android=fail +irrlicht:x64-android=fail +isal:x64-android=fail +# Failing on try_run() in cross builds +itk:arm-neon-android=fail +itk:arm64-android=fail +itk:arm64-windows=fail +itk:x64-android=fail +jaeger-client-cpp:arm-neon-android=fail +jaeger-client-cpp:x64-android=fail +jemalloc:arm-neon-android=fail +jemalloc:arm64-android=fail jemalloc:arm64-windows=fail -jemalloc:arm-uwp=fail -jemalloc:x64-linux=fail -jemalloc:x64-osx=fail +jemalloc:arm64-uwp=fail +jemalloc:x64-android=fail jemalloc:x64-uwp=fail -jemalloc:x64-windows-static=fail -jinja2cpplight:arm-uwp=fail -jinja2cpplight:x64-uwp=fail -kfr:arm64-windows=fail -kfr:arm-uwp=fail -kfr:x64-linux=fail -kinectsdk1:arm64-windows=fail -kinectsdk1:arm-uwp=fail -kinectsdk1:x64-linux=fail -kinectsdk1:x64-osx=fail -kinectsdk2:arm64-windows=fail -kinectsdk2:arm-uwp=fail -kinectsdk2:x64-linux=fail -kinectsdk2:x64-osx=fail -lastools:arm-uwp=fail -lastools:x64-uwp=fail -laszip:arm-uwp=fail -laszip:x64-uwp=fail -lcm:x64-osx=fail +jinja2cpplight:arm-neon-android=fail +jinja2cpplight:arm64-android=fail +jinja2cpplight:x64-android=fail +kfr:x64-android=fail +kfr:x64-uwp=fail +# needs android-24 +kubazip:arm-neon-android=fail +lcm:x64-windows-static=fail +lcm:x64-windows-static-md=fail +lcm:arm-neon-android=fail +lcm:arm64-android=fail +lcm:x64-android=fail leptonica:x64-uwp=fail -leptonica:arm-uwp=fail -leveldb:arm-uwp=fail -leveldb:x64-uwp=fail -libbacktrace:arm64-windows=fail -libbacktrace:arm-uwp=fail -libbacktrace:x64-uwp=fail -libbacktrace:x64-windows=fail -libbacktrace:x64-windows-static=fail -libbacktrace:x64-windows-static-md=fail -libbacktrace:x86-windows=fail +leptonica:arm64-uwp=fail libaiff:x64-linux=fail -libarchive:arm-uwp=fail -libbf:arm64-windows=fail -libbf:arm-uwp=fail -libbf:x64-uwp=fail -libbf:x64-windows=fail -libbf:x64-windows-static=fail -libbf:x64-windows-static-md=fail -libbf:x86-windows=fail -libbson:arm-uwp=fail -libbson:x64-uwp=fail -libcds:arm64-windows=fail -libcds:arm-uwp=fail -libcds:x64-uwp=fail -libcopp:arm64-windows=fail -libcopp:arm-uwp=fail +libbson:arm-neon-android=fail +libbson:arm64-android=fail +libbson:x64-android=fail +# needs android-28 +libcaer:arm-neon-android=fail +libcaer:arm64-android=fail +libcaer:x64-android=fail +libcanberra:arm-neon-android=fail +libcanberra:arm64-android=fail +libcanberra:x64-android=fail +libcoro:x64-osx=fail +libcoro:arm64-osx=fail +libcpplocate:arm-neon-android=fail +libcpplocate:arm64-android=fail +libcpplocate:x64-android=fail +libcrafter:arm-neon-android=fail +libcrafter:arm64-android=fail +libcrafter:x64-android=fail +libdc1394:arm-neon-android=fail +libdc1394:x64-android=fail +libdc1394:arm64-android=fail +# 32-bit needs android-24 +libflac:arm-neon-android=fail +# error: call to undeclared function 'mktime_z' +libgnutls:arm-neon-android=fail +libgnutls:arm64-android=fail +libgnutls:x64-android=fail +# Fails to build due to incompatible delcaration of select in macOS 14.2 +libgo:x64-osx=fail +libgo:x64-android=fail +libgpg-error:arm-neon-android=fail +libgpg-error:arm64-android=fail +libgpg-error:x64-android=fail # Missing system libraries on linux to run/prepare autoconf libgpod:x64-linux=fail -libgpod:x64-osx=fail -cpuid:arm-uwp=fail -cpuid:x64-uwp=fail -cpuid:arm64-windows=fail -libdatrie:x64-linux=fail -libdatrie:x64-osx=fail -libdisasm:arm-uwp=fail -libdisasm:x64-uwp=fail -libdshowcapture:arm-uwp=fail -libdshowcapture:x64-linux=fail -libdshowcapture:x64-osx=fail -libdshowcapture:x64-uwp=fail -libepoxy:arm-uwp=fail -libepoxy:x64-uwp=fail -libepoxy:x64-windows-static=fail -libevent:arm-uwp=fail -libevent:x64-uwp=fail -libevhtp:x86-windows=fail -libevhtp:x64-windows=fail -libevhtp:x64-windows-static=fail -libevhtp:x64-windows-static-md=fail -libevhtp:x64-uwp=fail -libevhtp:arm64-windows=fail -libevhtp:arm-uwp=fail -libexif:arm-uwp=fail -libexif:x64-uwp=fail -libfabric:arm-uwp=fail -libfabric:x64-linux=fail -libfabric:x64-osx=fail -libfabric:x64-uwp=fail -libfabric:x64-windows-static=fail -libfabric:x64-windows-static-md=fail libfreenect2:arm64-windows=fail -libfreenect2:x64-osx=fail -libgit2:arm-uwp=fail -libgit2:x64-uwp=fail -libgo:arm-uwp=fail -libgo:x64-uwp=fail -libgo:arm64-windows=fail -libgpod:arm64-windows=fail -libgpod:arm-uwp=fail -libgpod:x64-uwp=fail -libgpod:x64-windows=fail -libgpod:x64-windows-static=fail -libgpod:x64-windows-static-md=fail -libgpod:x86-windows=fail -libhdfs3:arm64-windows=fail -libhdfs3:arm-uwp=fail -libhdfs3:x64-uwp=fail -libhdfs3:x64-windows=fail -libhdfs3:x64-windows-static=fail -libhdfs3:x64-windows-static-md=fail -libhdfs3:x86-windows=fail +libgpod:arm-neon-android=fail +libgpod:arm64-android=fail +libgpod:x64-android=fail +libgxps:arm-neon-android=fail +libgxps:arm64-android=fail +libgxps:x64-android=fail +libgxps:x64-windows-static=fail +libhdfs3:arm-neon-android=fail +libhdfs3:arm64-android=fail +libhdfs3:x64-android=fail libhdfs3:x64-linux=fail -libhydrogen:arm64-windows=fail -libics:arm-uwp=fail -libics:x64-uwp=fail -libigl:arm64-windows=fail -libigl:arm-uwp=fail -libigl:x64-uwp=fail -libirecovery:x64-windows-static-md=fail -liblas:arm64-windows=fail -liblemon:arm-uwp=fail -liblemon:x64-uwp=fail -liblo:arm-uwp=fail +libhdfs3:x64-osx=fail +libhdfs3:arm64-osx=fail +# needs android-24 +libimobiledevice-glue:arm-neon-android=fail +libimobiledevice-glue:arm64-android=fail +libimobiledevice-glue:x64-android=fail +# 120 min build time for libjxl arm64-uwp-rel, reason unknown +libjxl:arm64-uwp=skip +liblo:arm-neon-android=fail +liblo:arm64-uwp=fail +liblo:arm64-android=fail +liblo:x64-android=fail liblo:x64-uwp=fail -liblsl:arm64-windows=fail -liblsl:arm-uwp=fail -liblsl:x64-uwp=fail -libmad:arm-uwp=fail -libmad:x64-uwp=fail -libmagic:x64-uwp=fail -libmagic:arm64-windows=fail -libmagic:arm-uwp=fail +# libmariadb conflicts with libmysql libmariadb:arm64-windows = skip -libmariadb:arm-uwp = skip libmariadb:x64-linux = skip libmariadb:x64-osx = skip -libmariadb:x64-uwp = skip +libmariadb:arm64-osx = skip libmariadb:x64-windows = skip libmariadb:x64-windows-static = skip libmariadb:x64-windows-static-md=skip +libmaxminddb:arm64-android=fail +libmaxminddb:arm-neon-android=fail +libmaxminddb:x64-android=fail # libmesh installs tons of problematic files that conflict with other ports (boost, eigen, etc) -libmesh:arm64-windows=skip -libmesh:arm-uwp=skip -libmesh:x64-uwp=skip -libmesh:x64-windows=skip -libmesh:x64-windows-static=skip -libmesh:x64-windows-static-md=skip -libmesh:x86-windows=skip -libmesh:x64-osx=skip libmesh:x64-linux=skip -libmodman:arm-uwp=fail -libmodman:x64-uwp=fail +libmikmod:arm-neon-android=fail +libmikmod:arm64-android=fail +libmikmod:x64-android=fail libmodman:x64-windows-static=fail -libmodplug:arm-uwp=fail -libmodplug:x64-uwp=fail -libmpeg2:arm-uwp=fail -libmpeg2:x64-linux=fail -libmpeg2:x64-osx=fail -libmpeg2:x64-uwp=fail -libmupdf:x64-osx=fail -libmysql:x86-windows=fail -libmysql:arm64-windows=fail -libopusenc:arm-uwp=fail -libopusenc:x64-uwp=fail -libosip2:x64-windows-static-md=fail -libpff:arm-uwp=fail -libpff:x64-linux=fail -libpff:x64-osx=fail -libpff:x64-uwp=fail -libpff:x64-windows-static=fail -libpff:x64-windows-static-md=fail -libplist:x64-windows-static=fail +libmpeg2:arm-neon-android=fail +libmpeg2:arm64-android=fail +libmpeg2:x64-android=fail +libmysql:x86-windows=skip +libopensp:arm-neon-android=fail +libopensp:arm64-android=fail +libopensp:x64-android=fail +libp7client:x64-android=fail libpng-apng:arm64-windows = skip -libpng-apng:arm-uwp = skip +libpng-apng:arm64-uwp = skip libpng-apng:x64-linux = skip libpng-apng:x64-osx = skip libpng-apng:x64-uwp = skip @@ -648,10 +608,11 @@ libpng-apng:x64-windows = skip libpng-apng:x64-windows-static = skip libpng-apng:x64-windows-static-md=skip libpng-apng:x86-windows = skip -libpq:arm-uwp=fail -libpq:x64-uwp=fail # The developer of libqcow does not offer stable release archives -libqcow:arm-uwp=skip +libqcow:arm-neon-android=skip +libqcow:arm64-uwp=skip +libqcow:arm64-android=skip +libqcow:x64-android=skip libqcow:x64-uwp=skip libqcow:x64-windows-static=skip libqcow:x64-windows-static-md=skip @@ -660,257 +621,131 @@ libqcow:x64-windows=skip libqcow:x64-linux=skip libqcow:x86-windows=skip libqcow:arm64-windows=skip +# 32-bit needs android-24 +libraw:arm-neon-android=fail # Conflicts with openssl -boringssl:arm64-windows = skip -boringssl:arm-uwp = skip -boringssl:x64-linux = skip -boringssl:x64-osx = skip -boringssl:x64-uwp = skip -boringssl:x64-windows = skip -boringssl:x64-windows-static = skip -boringssl:x64-windows-static-md=skip -boringssl:x86-windows = skip -libressl:arm64-windows = skip -libressl:arm-uwp = skip -libressl:x64-linux = skip -libressl:x64-osx = skip -libressl:x64-uwp = skip -libressl:x64-windows = skip -libressl:x64-windows-static = skip +libressl:arm-neon-android=skip +libressl:arm64-android=skip +libressl:arm64-osx=skip +libressl:arm64-uwp=skip +libressl:arm64-windows=skip +libressl:x64-android=skip +libressl:x64-linux=skip +libressl:x64-osx=skip +libressl:x64-uwp=skip libressl:x64-windows-static-md=skip -libressl:x86-windows = skip +libressl:x64-windows-static=skip +libressl:x64-windows=skip +libressl:x86-windows=skip libsoundio:arm64-windows=fail -libsoundio:arm-uwp=fail -libsoundio:x64-uwp=fail -libspatialite:arm-uwp=fail -libspatialite:x64-uwp=fail -libsrt:arm-uwp=fail -libsrt:x64-uwp=fail -libssh:arm64-windows=fail -libssh:arm-uwp=fail -libssh:x64-uwp=fail -libstk:arm-uwp=fail -libstk:x64-uwp=fail -libtcod:arm-uwp=fail -libtcod:x64-uwp=fail -libtins:arm-uwp=fail -libtins:x64-uwp=fail +libtar:arm-neon-android=fail +libtar:arm64-android=fail +libtcod:arm-neon-android=fail +libtcod:arm64-android=fail +libtcod:x64-android=fail libtomcrypt:arm64-windows=fail -libtomcrypt:arm-uwp=fail -libudis86:arm-uwp=fail -libudis86:x64-linux=fail -libudis86:x64-osx=fail -libudis86:x64-uwp=fail -libui:arm-uwp=fail -libui:x64-linux=fail -libui:x64-uwp=fail -libusb:arm-uwp=fail -libusb:x64-uwp=fail -libusbmuxd:arm-uwp=fail -libusbmuxd:x64-uwp=fail -libusbmuxd:x64-linux=fail -libusbmuxd:x64-osx=fail -libusb-win32:arm-uwp=fail -libusb-win32:x64-linux=fail -libusb-win32:x64-osx=fail +libtomcrypt:arm64-uwp=fail +libusb-win32:arm64-uwp=fail libusb-win32:x64-uwp=fail -libuuid:arm64-windows=fail -libuuid:arm-uwp=fail - -# Causes build failures in vxl and podofo on osx -# Conflicts with Darwin kernel sdk uuid.h (has missing definitions) -libuuid:x64-osx = skip -libuuid:x64-uwp=fail -libuuid:x64-windows=fail -libuuid:x64-windows-static=fail -libuuid:x64-windows-static-md=fail -libuuid:x86-windows=fail -libuv:arm-uwp=fail -libuv:x64-uwp=fail -libvmdk:arm-uwp=fail -libvmdk:x64-uwp=fail +# needs android-26 +libvhdi:arm-neon-android=fail +libvhdi:arm64-android=fail +libvhdi:x64-android=fail #Skip detection to avoid upstream remove older releases -libvmdk:x86-windows=skip -libvmdk:x64-windows=skip -libvmdk:x64-windows-static=skip -libvmdk:x64-windows-static-md=skip -libvmdk:arm64=skip -libvmdk:x64-linux=skip -libvmdk:x64-osx=skip -libwandio:x86-windows=fail -libwandio:x64-windows=fail -libwandio:x64-windows-static=fail -libwandio:x64-windows-static-md=fail -libwandio:x64-uwp=fail -libwandio:arm64-windows=fail -libwandio:arm-uwp=fail -libxmp-lite:x64-linux=fail -libxmp-lite:x64-osx=fail -libyuv:arm-uwp=fail -libyuv:x64-uwp=fail -licensepp:arm-uwp=fail -licensepp:x64-uwp=fail -linenoise-ng:arm-uwp=fail +libvmdk:arm-neon-android =skip # upstream issue https://github.com/microsoft/vcpkg/pull/13765#issuecomment-699710253 +libvmdk:arm64-android =skip +libvmdk:arm64-osx =skip +libvmdk:arm64-windows =skip +libvmdk:x64-android =skip +libvmdk:x64-linux =skip +libvmdk:x64-osx =skip +libvmdk:x64-windows-static-md =skip +libvmdk:x64-windows-static =skip +libvmdk:x64-windows =skip +libvmdk:x86-windows =skip +libwandio:arm-neon-android=fail +libwandio:arm64-android=fail +libwandio:x64-android=fail +libxaw:x64-windows-static=skip +# clang-cl ICEd +libxt:arm64-windows=fail +libzen:arm-neon-android=fail +linenoise-ng:arm64-uwp=fail linenoise-ng:x64-uwp=fail -live555:arm64-windows=fail -live555:arm-uwp=fail -live555:x64-linux=fail -live555:x64-osx=fail +linenoise-ng:x64-windows-static-md=fail +live555:arm-neon-android=fail +live555:arm64-uwp=fail +live555:arm64-android=fail +live555:x64-android=fail live555:x64-uwp=fail -live555:x64-windows=fail -live555:x64-windows-static=fail -live555:x64-windows-static-md=fail -live555:x86-windows=fail -llgl:arm-uwp=fail -llgl:x64-uwp=fail -llvm:arm64-windows=fail -llvm:arm-uwp=fail -llvm:x64-uwp=fail -lmdb:arm-uwp=fail -lmdb:x64-uwp=fail -# Conflict with loadpng-c -lodepng:arm64-windows = skip -lodepng:arm-uwp = skip -lodepng:x64-linux = skip -lodepng:x64-osx = skip -lodepng:x64-uwp = skip -lodepng:x64-windows = skip -lodepng:x64-windows-static = skip -lodepng:x64-windows-static-md=skip -lodepng:x86-windows = skip -log4cplus:arm-uwp=fail +llfio:arm-neon-android=fail +llfio:arm64-android=fail +llfio:x64-android=fail +llgl:arm-neon-android=fail +llgl:arm64-android=fail +llgl:x64-android=fail +llvm:arm-neon-android=fail +llvm:arm64-android=fail +llvm:x64-android=fail +log4cplus:arm64-uwp=fail log4cplus:x64-uwp=fail -log4cxx:arm-uwp=fail -log4cxx:x64-uwp=fail -luajit:arm64-windows = skip -luajit:arm-uwp = skip -luajit:x64-linux = skip -luajit:x64-osx = skip -luajit:x64-uwp = skip -luajit:x64-windows = skip -luajit:x64-windows-static = skip -luajit:x64-windows-static-md=skip -luajit:x86-windows = skip -luafilesystem:arm-uwp=fail -luafilesystem:x64-uwp=fail -luasec:x64-windows-static=fail -luasocket:arm-uwp=fail -luasocket:x64-linux=fail -luasocket:x64-osx=fail -luasocket:x64-uwp=fail -lzfse:arm-uwp=fail -magnum:arm64-windows=skip -marble:x64-windows-static=fail -marble:x64-windows-static-md=fail -marble:arm64-windows=fail -marble:arm-uwp=fail -marble:x64-linux=fail -marble:x64-osx=fail -marble:x86-windows=fail -marl:arm-uwp=fail -marl:x64-uwp=fail -mathgl:x64-osx=fail -mathgl:x64-uwp=fail -mdnsresponder:arm64-windows=fail -mdnsresponder:arm-uwp=fail -mdnsresponder:x64-linux=fail -mdnsresponder:x64-osx=fail -mdnsresponder:x64-uwp=fail +log4cpp:x64-linux=fail # dynamic exception specifications +# 32-bit needs android-24 +lua:arm-neon-android=fail +magma:x64-linux=fail +mchehab-zbar:arm-neon-android=fail +mchehab-zbar:arm64-android=fail +mchehab-zbar:x64-android=fail mecab:arm64-windows = skip -mecab:arm-uwp = skip +mecab:arm64-uwp = skip mecab:x64-linux = skip mecab:x64-uwp = skip mecab:x64-windows = skip mecab:x64-windows-static = skip mecab:x64-windows-static-md=skip mecab:x86-windows = skip -# Due to static crt. -mesa:x64-windows-static=fail -mesa:x64-windows-static-md=fail +memorymodule:arm-neon-android=fail +memorymodule:arm64-android=fail +memorymodule:x64-android=fail # Missing dependent libraries. mesa:x64-linux=fail mesa:x64-osx=fail -meschach:arm-uwp=fail -meschach:x64-linux=fail -meschach:x64-osx=fail -meschach:x64-uwp=fail -metis:arm-uwp=fail -metis:x64-uwp=fail -mfl:x64-linux=skip -mfl:x64-osx=skip -mhook:arm64-windows=fail -mhook:arm-uwp=fail -mhook:x64-linux=fail -mhook:x64-osx=fail -mhook:x64-uwp=fail -milerius-sfml-imgui:x64-osx=fail +mesa:arm64-osx=fail milerius-sfml-imgui:x64-windows-static=fail -minhook:arm64-windows=fail -minhook:arm-uwp=fail -minhook:x64-linux=fail -minhook:x64-osx=fail -minhook:x64-uwp=fail -minifb:arm-uwp=fail -minifb:x64-uwp=fail -minisat-master-keying:arm-uwp=fail -minisat-master-keying:x64-uwp=fail -miniupnpc:arm-uwp=fail -miniupnpc:x64-uwp=fail -minizip:arm-uwp=fail -minizip:x64-uwp=fail -# Conflicts with signalrclient -microsoft-signalr:arm64-windows=skip -microsoft-signalr:arm-uwp=skip -microsoft-signalr:x64-linux=skip -microsoft-signalr:x64-osx=skip -microsoft-signalr:x64-uwp=skip -microsoft-signalr:x64-windows=skip -microsoft-signalr:x64-windows-static=skip -microsoft-signalr:x64-windows-static-md=skip -microsoft-signalr:x86-windows=skip -# https://github.com/mlpack/mlpack/pull/2945 -mlpack:x64-uwp=fail -mman:x64-linux=fail -mman:x64-osx=fail -mmloader:arm64-windows=fail -mmloader:arm-uwp=fail -mmloader:x64-linux=fail -mmloader:x64-osx=fail -mmloader:x64-uwp=fail -mmloader:x64-windows=fail -mmloader:x86-windows=fail -# mmx installs many problematic headers, such as `json.h` and `sched.h` -mmx:x64-windows=skip -mmx:x64-windows-static=skip -mmx:x64-windows-static-md=skip -mmx:x86-windows=skip -mmx:x64-linux=skip -mmx:x64-osx=skip -mmx:arm-uwp=skip -mmx:x64-uwp=skip -mmx:arm64-windows=skip -# Flaky strange linker error -mongo-c-driver:x64-osx=skip -mongoose:arm-uwp=fail -mongoose:x64-uwp=fail +minifb:arm-neon-android=fail +minifb:arm64-android=fail +minifb:x64-android=fail +miniply:arm-neon-android=fail +monkeys-audio:arm-neon-android=fail +monkeys-audio:arm64-android=fail +monkeys-audio:x64-android=fail +moos-core:arm-neon-android=fail +moos-core:arm64-android=fail +moos-core:x64-android=fail +mpir:x64-android=fail +# ms-gltf require the Microsoft GDK with Xbox Extensions which is not installed on the CI pipeline machines +ms-gdkx:x64-windows=fail +ms-gdkx:x64-windows-static=fail +ms-gdkx:x64-windows-static-md=fail +ms-gltf:arm-neon-android=fail +ms-gltf:arm64-android=fail +ms-gltf:x64-android=fail monkeys-audio:arm64-windows=fail -monkeys-audio:arm-uwp=fail -monkeys-audio:x64-linux=fail -monkeys-audio:x64-osx=fail -monkeys-audio:x64-uwp=fail monkeys-audio:x64-windows-static=fail -moos-core:arm-uwp=fail -moos-core:x64-uwp=fail moos-core:x64-windows-static=fail moos-essential:arm64-windows=fail moos-essential:x64-windows-static-md=fail moos-essential:x64-windows=fail moos-essential:x86-windows=fail # Conflicts with libjpeg-turbo +mozjpeg:arm-neon-android=fail +mozjpeg:arm64-android=fail +mozjpeg:x64-android=fail mozjpeg:arm64-windows = skip -mozjpeg:arm-uwp = skip +mozjpeg:arm64-uwp = skip mozjpeg:x64-linux = skip mozjpeg:x64-osx = skip +mozjpeg:arm64-osx = skip mozjpeg:x64-uwp = skip mozjpeg:x64-windows = skip mozjpeg:x64-windows-static = skip @@ -925,93 +760,39 @@ mpir:x64-windows-static-md=skip mpir:arm64-windows=skip mpir:x64-osx=skip mpir:x64-linux=skip -mpfr:x64-osx=fail -mpfr:x64-linux=fail -msix:x64-linux=fail -msix:x64-osx=fail -msix:x64-windows-static=fail msmpi:arm64-windows=fail -msmpi:arm-uwp=fail -msmpi:x64-linux=fail -msmpi:x64-osx=fail -msmpi:x64-uwp=fail -munit:arm-uwp=fail -munit:arm64-windows=fail -munit:x64-uwp=fail -murmurhash:arm-uwp=fail -murmurhash:x64-uwp=fail -murmurhash:arm64-windows=fail -nana:arm-uwp=fail +munit:x64-android=fail +mysql-connector-cpp:arm-neon-android=fail +mysql-connector-cpp:arm64-android=fail +mysql-connector-cpp:x64-android=fail +nana:arm-neon-android=fail +nana:arm64-android=fail +nana:x64-android=fail nana:x64-linux=fail nana:x64-osx=fail -nana:x64-uwp=fail -nanodbc:arm-uwp=fail -nanodbc:x64-uwp=fail +nana:arm64-osx=fail nanodbc:x64-linux=skip -nanorange:arm64-windows=fail -nanorange:arm-uwp=fail -nanorange:x64-linux=fail -nanorange:x64-osx=fail -nanorange:x64-uwp=fail -nanorange:x64-windows=fail -nanorange:x64-windows-static=fail -nanorange:x64-windows-static-md=fail -nanorange:x86-windows=fail -nanovg:arm-uwp=fail -nanovg:x64-uwp=fail -nativefiledialog:arm-uwp=fail -nativefiledialog:x64-uwp=fail -nethost:x64-uwp=fail -nethost:arm-uwp=fail +netcdf-c:arm-neon-android=fail +netcdf-c:arm64-android=fail +netcdf-c:x64-android=fail +netcdf-cxx4:x64-windows-static-md=fail +ngspice:x64-android=fail ngspice:x64-windows-static=fail -nng:arm-uwp=fail -nng:x64-uwp=fail -nrf-ble-driver:arm-uwp=fail -nrf-ble-driver:x64-uwp=fail -numactl:arm64-windows=fail -numactl:arm-uwp=fail -numactl:x64-osx=fail -numactl:x64-uwp=fail -numactl:x64-windows=fail -numactl:x64-windows-static=fail -numactl:x64-windows-static-md=fail -numactl:x86-windows=fail -nvtt:arm64-windows=fail -nvtt:arm-uwp=fail -nvtt:x64-uwp=fail -ocilib:arm-uwp=fail -ocilib:arm64-windows=fail -ocilib:x64-uwp=fail -ocilib:x64-windows-static=fail -ocilib:x64-windows-static-md=fail -octomap:arm-uwp=fail -octomap:x64-uwp=fail +nrf-ble-driver:arm-neon-android=fail +nrf-ble-driver:arm64-android=fail +nrf-ble-driver:x64-android=fail +nvtt:x64-android=fail +oatpp-libressl:x64-android=fail +octave:x86-windows=fail +octave:x64-windows=fail +octave:x64-windows-static=fail +octave:x64-windows-static-md=fail +octave:x64-osx=fail ode:arm64-windows=fail -ode:arm-uwp=fail -ode:x64-uwp=fail -offscale-libetcd-cpp:arm-uwp=fail +offscale-libetcd-cpp:arm64-uwp=fail offscale-libetcd-cpp:x64-uwp=fail -ogdf:arm64-windows = skip -ogdf:arm-uwp = skip -ogdf:x64-osx=fail -ogdf:x64-uwp = skip -ogdf:x64-windows = skip -ogdf:x64-windows-static = skip -ogdf:x64-windows-static-md=skip -ogdf:x86-windows = skip -# broken when `python` is python3, https://github.com/microsoft/vcpkg/issues/18936 -ogdf:x64-linux=fail -ogre:x64-osx=fail -# Conflicts with ogre -ogre-next:arm64-windows = skip -ogre-next:arm-uwp = skip -ogre-next:x64-osx = skip -ogre-next:x64-linux = skip -ogre-next:x64-uwp = skip -ogre-next:x64-windows = skip -ogre-next:x64-windows-static = skip -ogre-next:x64-windows-static-md=skip -ogre-next:x86-windows = skip +ogdf:arm64-android=fail +ois:x64-android=fail # ompl is vulnerable to some form of race in its dependent ports, and adding 'ode' as a dependency # does not resolve the issue # src/ompl/CMakeFiles/ompl.dir/extensions/ode/src/OpenDEStateValidityChecker.cpp.o @@ -1021,669 +802,546 @@ ogre-next:x86-windows = skip # /mnt/vcpkg-ci/installed/x64-linux/debug/lib/libboost_filesystem.a # /mnt/vcpkg-ci/installed/x64-linux/debug/lib/libboost_system.a -lpthread && : # /usr/bin/ld: cannot find -lode -ompl:x64-osx=fail -ompl:x64-linux=fail -openal-soft:arm-uwp=fail -openal-soft:x64-uwp=fail -openblas:arm64-windows=fail -openblas:arm-uwp=fail +ompl:arm-neon-android=fail +ompl:arm64-android=fail +ompl:x64-android=fail +# failed with FILE_CONFLICTS https://github.com/microsoft/vcpkg/pull/40151 +omplapp:arm64-osx=skip +omplapp:x64-osx=skip +omplapp:x64-linux=skip # opencc/deps/rapidjson-1.1.0/rapidjson.h: Unknown machine endianess detected -opencc:arm64-windows=fail # opencc/deps/marisa-0.2.5/lib/marisa/grimoire/io/mapper.cc currently doesn't support UWP. -opencc:arm-uwp=fail -opencc:x64-uwp=fail -opencensus-cpp:arm64-windows=fail -opencensus-cpp:x64-windows=fail -opencensus-cpp:x64-windows-static=fail -opencensus-cpp:x64-windows-static-md=fail -opencensus-cpp:x86-windows=fail -opencensus-cpp:x64-uwp=fail -opencl:arm-uwp=fail -opencl:x64-uwp=fail -opencsg:x64-uwp=fail -opencv2:arm64-windows = skip -opencv2:arm-uwp = skip -opencv2:x64-linux = skip -opencv2:x64-osx = skip -opencv2:x64-uwp = skip -opencv2:x64-windows = skip -opencv2:x64-windows-static = skip -opencv2:x64-windows-static-md=skip -opencv2:x86-windows = skip -opencv3:arm64-windows = skip -opencv3:arm-uwp = skip -opencv3:x64-linux = skip -opencv3:x64-osx = skip -opencv3:x64-uwp = skip -opencv3:x64-windows = skip -opencv3:x64-windows-static = skip -opencv3:x64-windows-static-md=skip -opencv3:x86-windows = skip -opendnp3:x64-uwp=fail -opendnp3:arm-uwp=fail -openexr:arm64-windows=fail -openexr:arm-uwp=fail -openexr:x64-uwp=fail -opengl:arm64-windows=fail -opengl:arm-uwp=fail +opencc:x64-android=fail +openfbx:arm-neon-android=fail +openimageio:arm-neon-android=fail +openimageio:arm64-android=fail +openimageio:x64-android=fail +openldap:arm-neon-android=fail +openldap:arm64-android=fail +openldap:x64-android=fail openmama:x64-windows-static-md=fail openmesh:arm64-windows=fail -openmesh:arm-uwp=fail +openmesh:arm64-uwp=fail openmesh:x64-uwp=fail -openmpi:arm64-windows=fail -openmpi:arm-uwp=fail -openmpi:x64-uwp=fail -openmpi:x64-windows=fail -openmpi:x64-windows-static=fail -openmpi:x64-windows-static-md=fail -openmpi:x86-windows=fail -openni2:x64-uwp=fail -openni2:x64-windows-static=fail -openscap:x64-linux=fail +openmpi:arm-neon-android=fail +openmpi:arm64-android=fail +openmpi:x64-android=fail +openmvg:x64-linux=fail +openscap:arm-neon-android=fail +openscap:arm64-android=fail +openscap:x64-android=fail openscap:x64-osx=fail -openssl-unix:arm64-windows=fail -openssl-unix:arm-uwp=fail -openssl-unix:x64-uwp=fail -openssl-unix:x64-windows=fail -openssl-unix:x64-windows-static=fail -openssl-unix:x64-windows-static-md=fail -openssl-unix:x86-windows=fail -openssl-uwp:arm64-windows=fail -openssl-uwp:x64-linux=fail -openssl-uwp:x64-osx=fail -openssl-uwp:x64-windows=fail -openssl-uwp:x64-windows-static=fail -openssl-uwp:x64-windows-static-md=fail -openssl-uwp:x86-windows=fail -opentracing:arm-uwp=fail -opentracing:x64-uwp=fail -openvpn3:x64-osx=fail -openvr:arm64-windows=fail -openvr:arm-uwp=fail -openvr:x64-osx=fail -openvr:x64-uwp=fail +openscap:arm64-osx=fail +openscap:x64-windows-static=fail +opensubdiv:x64-android=fail +openturns:arm64-windows=fail openvr:x64-windows-static=fail -openxr-loader:arm64-windows=fail -openxr-loader:arm-uwp=fail -openxr-loader:x64-osx=fail -openxr-loader:x64-uwp=fail -optional-bare:arm64-windows = skip -optional-bare:arm-uwp = skip -optional-bare:x64-linux = skip -optional-bare:x64-osx = skip -optional-bare:x64-uwp = skip -optional-bare:x64-windows = skip -optional-bare:x64-windows-static = skip +# Conflicts with optional-lite, by the same author +optional-bare:arm-neon-android=skip +optional-bare:arm64-android=skip +optional-bare:arm64-osx=skip +optional-bare:arm64-uwp=skip +optional-bare:arm64-windows=skip +optional-bare:x64-android=skip +optional-bare:x64-linux=skip +optional-bare:x64-osx=skip +optional-bare:x64-uwp=skip optional-bare:x64-windows-static-md=skip -optional-bare:x86-windows = skip -opusfile:arm-uwp=fail -opusfile:x64-uwp=fail -orocos-kdl:arm-uwp=fail -orocos-kdl:x64-uwp=fail -paho-mqtt:arm-uwp=fail +optional-bare:x64-windows-static=skip +optional-bare:x64-windows=skip +optional-bare:x86-windows=skip +orc:arm-neon-android=fail +orc:arm64-android=fail +orc:x64-android=fail +paho-mqtt:arm64-uwp=fail paho-mqtt:x64-uwp=fail -pango:x64-windows-static=fail -pango:x64-windows-static-md=fail -pangomm:arm64-windows=fail -pdal:x64-linux=fail -pdal:x64-osx=fail -pdal-c:x64-windows-static=fail -pdal-c:x64-windows-static-md=fail -pdcurses:arm-uwp=fail -pdcurses:x64-linux=fail -pdcurses:x64-osx=fail -pdcurses:x64-uwp=fail -pdcurses:x64-windows-static=fail -pdcurses:x64-windows-static-md=fail -pfring:arm64-windows=fail -pfring:arm-uwp=fail -pfring:x64-uwp=fail -pfring:x64-windows=fail -pfring:x64-windows-static=fail -pfring:x64-windows-static-md=fail -pfring:x86-windows=fail -pfring:x64-osx=fail -# pfring on Linux currently fails because its build scripts enable warnings as -# errors, and warnings trigger with the Linux kernel headers in the Azure images. -pfring:x64-linux=fail -physx:arm64-windows=fail -piex:x64-osx=fail -pixel:x64-uwp=fail -pixel:x64-windows=fail -pixel:x64-windows-static=fail -pixel:x64-windows-static-md=fail -pixel:x86-windows=fail -pixman:arm-uwp=fail -platform-folders:arm-uwp=fail +pango:arm-neon-android=fail +pango:arm64-android=fail +pango:x64-android=fail +pcl:arm-neon-android=fail +pcl:arm64-android=fail +pcl:x64-android=fail +pdal:arm-neon-android=fail +pdal:arm64-android=fail +pdal:x64-android=fail +pdal:x64-windows-static=fail # ONLY_DYNAMIC_LIBRARY +pixman:arm-neon-android=fail +platform-folders:arm64-uwp=fail platform-folders:x64-uwp=fail -plib:arm-uwp=fail -plib:x64-osx=fail -plib:x64-uwp=fail -plibsys:arm-uwp=fail -plibsys:x64-uwp=fail +plib:arm-neon-android=fail +plib:arm64-android=fail +plib:x64-android=fail plplot:arm64-windows=fail -plplot:arm-uwp=fail -plplot:x64-uwp=fail -pmdk:arm-uwp=fail -pmdk:arm64-windows=fail -pmdk:x64-linux=fail +pmdk:x64-android=fail pmdk:x64-osx=fail -pmdk:x64-uwp=fail pmdk:x64-windows-static=fail -pmdk:x86-windows=fail -pngwriter:arm-uwp=fail -pngwriter:x64-uwp=fail popsift:x64-windows-static-md=fail -poppler:arm64-windows=fail -portable-snippets:arm-uwp=fail -pqp:arm-uwp=fail -pqp:x64-uwp=fail -python2:arm64-windows=fail -python2:arm-uwp=fail -python2:x64-uwp=fail +popsift:x64-linux=fail # segfaults :( +ptex:arm-neon-android=fail +ptex:arm64-android=fail +ptex:x64-android=fail +python2:arm-neon-android=fail +python2:arm64-android=fail +python2:x64-android=fail +python3:arm-neon-android=fail +python3:arm64-android=fail +python3:x64-android=fail # Not yet ready for these platforms. qbittorrent:x64-osx=fail qbittorrent:x64-linux=fail -qhull:x64-uwp=fail -qhull:arm-uwp=fail -qpid-proton:arm-uwp=fail +qpid-proton:arm-neon-android=fail +qpid-proton:arm64-uwp=fail +qpid-proton:arm64-android=fail +qpid-proton:x64-android=fail qpid-proton:x64-uwp=fail qpid-proton:x64-windows-static=fail +qt5-base:arm-neon-android=fail +qt5-base:arm64-android=fail qt5-base:arm64-windows=fail +qt5-base:x64-android=fail # Skip deprecated Qt module # (remove after 1 year or longer due to vcpkg upgrade not handling removed ports correctly) qt5-canvas3d:x64-linux=skip qt5-canvas3d:x64-osx=skip +qt5-canvas3d:arm64-osx=skip qt5-canvas3d:x64-windows=skip qt5-canvas3d:x64-windows-static=skip qt5-canvas3d:x64-windows-static-md=skip qt5-canvas3d:x86-windows=skip # Missing system libraries -qt5-wayland:x64-osx=fail -qtwayland:x64-osx=fail -# Missing prerequisites for CI success -qt5-webengine:x64-linux=fail -qt5-webengine:x64-osx=fail -# Fail due to outdated protoc headers. -# D:\buildtrees\qt5-webengine\x64-windows-dbg\src\core\debug\gen\net/third_party/quiche/src/quic/core/proto/cached_network_parameters.pb.h(17): -# fatal error C1189: #error: This file was generated by an older version of protoc which is -# Succesful built requires protobuf to be installed after qt5-webengine not before. Otherwise the build picks up the wrong headers from inside vcpkg. -qt5-webengine:x64-windows=skip -qt5-webengine:x86-windows=skip -# Static builds of qt5-webengine are not supported by the port itself -qt5-webengine:x64-windows-static=skip -qt5-webengine:x64-windows-static-md=skip +qtwayland:x64-osx=skip +qtwayland:arm64-osx=skip # Missing system libraries -qt5-x11extras:x64-osx=fail -# Missing libraries -qt5-x11extras:x86-windows=fail -qt5-x11extras:x64-windows=fail -qt5-x11extras:x64-windows-static=fail -qt5-x11extras:x64-windows-static-md=fail -quickfix:arm-uwp=fail -quickfix:arm64-windows=fail -quickfix:x64-uwp=fail -quickfix:x64-windows-static=fail -quickfix:x64-windows-static-md=fail -quickfix:x64-windows=fail -quickfix:x86-windows=fail -qwt:x64-osx=fail -qwtw:x64-windows=fail -rabit:x64-osx=fail -ragel:arm-uwp=fail -ragel:x64-uwp=fail +qt5-x11extras:x64-osx=skip +qt5-x11extras:arm64-osx=skip +quickfix:arm-neon-android=fail +quickfix:arm64-android=fail +qwt-qt6:x64-osx=fail +rabit:arm-neon-android=fail +rabit:arm64-android=fail +rabit:x64-android=fail +range-v3-vs2015:arm-neon-android=skip +range-v3-vs2015:arm64-android=skip range-v3-vs2015:arm64-windows = skip -range-v3-vs2015:arm-uwp = skip +range-v3-vs2015:arm64-uwp = skip +range-v3-vs2015:x64-android=skip range-v3-vs2015:x64-linux = skip range-v3-vs2015:x64-osx = skip +range-v3-vs2015:arm64-osx = skip range-v3-vs2015:x64-uwp = skip range-v3-vs2015:x64-windows = skip range-v3-vs2015:x64-windows-static = skip range-v3-vs2015:x64-windows-static-md=skip range-v3-vs2015:x86-windows = skip rapidstring:arm64-windows=fail -rapidstring:arm-uwp=fail +rapidstring:arm64-uwp=fail rapidstring:x64-linux=fail rapidstring:x64-uwp=fail rapidstring:x64-windows=fail rapidstring:x64-windows-static=fail rapidstring:x64-windows-static-md=fail rapidstring:x86-windows=fail -raylib:arm64-windows=fail -raylib:arm-uwp=fail -raylib:x64-uwp=fail +# ALooper_pollAll no longer available +raylib:arm64-android=fail +raylib:x64-android=fail # file conflicts with rbdl rbdl-orb:x86-windows=skip rbdl-orb:x64-windows=skip rbdl-orb:x64-windows-static=skip rbdl-orb:x64-windows-static-md=skip rbdl-orb:x64-uwp=skip -rbdl-orb:arm-uwp=skip +rbdl-orb:arm64-uwp=skip rbdl-orb:arm64-windows=skip rbdl-orb:x64-linux=skip rbdl-orb:x64-osx=skip -readline:arm-uwp=fail -readline:x64-uwp=fail -readline-win32:arm-uwp=fail -readline-win32:x64-linux=fail -readline-win32:x64-osx=fail -readline-win32:x64-uwp=fail -realsense2:arm64-windows=fail -realsense2:arm-uwp=fail -realsense2:x64-uwp=fail -replxx:arm-uwp=fail -replxx:x64-uwp=fail -restbed:arm-uwp=fail +rbdl:arm-neon-android=fail +rbdl:arm64-android=fail +rbdl:x64-android=fail +replxx:arm-neon-android=fail +replxx:arm64-android=fail +replxx:x64-android=fail +restbed:arm-neon-android=fail +restbed:arm64-uwp=fail +restbed:arm64-android=fail restbed:x64-uwp=fail -# file conflicts with msgpack -rest-rpc:x86-windows=skip -rest-rpc:x64-windows=skip -rest-rpc:x64-windows-static=skip -rest-rpc:x64-windows-static-md=skip -rest-rpc:x64-uwp=skip -rest-rpc:arm-uwp=skip -rest-rpc:arm64-windows=skip -rest-rpc:x64-linux=skip -rest-rpc:x64-osx=skip -rhash:arm64-windows=fail -rocksdb:arm-uwp=fail -rocksdb:x64-uwp=fail rpclib:arm64-windows=fail -rpclib:arm-uwp=fail +rpclib:arm64-uwp=fail rpclib:x64-uwp=fail -#The website of rply http://w3.impa.br/~diego/software/rply cannot be accessed -rply:x86-windows=skip -rply:x64-windows=skip -rply:x64-windows-static=skip -rply:x64-uwp=skip -rply:arm64-windows=skip -rply:x64-linux=skip -rply:x64-osx=skip -rply:x64-windows-static-md=skip -rsasynccpp:arm64-windows=fail -rsasynccpp:arm-uwp=fail -rsasynccpp:x64-linux=fail -rsasynccpp:x64-osx=fail -# Requires g++10 but CI compiler only has g++9 -rsm-binary-io:x64-linux=fail -# Requires g++10 but CI compiler only has g++9 -rsm-bsa:x64-linux=fail -rsocket:x64-windows=fail -rsocket:x64-windows-static=fail -rsocket:x64-windows-static-md=fail -rtlsdr:x64-uwp=fail -rtlsdr:arm64-windows=fail -rtlsdr:arm-uwp=fail -rtlsdr:x64-linux=fail -rtlsdr:x64-osx=fail -rttr:arm-uwp=fail -rttr:x64-uwp=fail -ryu:arm-uwp=fail -ryu:x64-uwp=fail -ryu:x64-windows-static=fail -ryu:x64-windows-static-md=fail -ryu:x86-windows=fail -ryu::arm64-windows=fail -sciter:arm64-windows=fail -sciter:arm-uwp=fail -sciter:x64-linux=fail -sciter:x64-osx=fail -sciter:x64-uwp=fail -sciter:x64-windows=fail -sciter:x64-windows-static=fail -sciter:x64-windows-static-md=fail -sciter:x86-windows=fail -scnlib:arm-uwp=fail -scnlib:x64-uwp=fail -scylla-wrapper:arm-uwp=fail -scylla-wrapper:x64-linux=fail -scylla-wrapper:x64-osx=fail -scylla-wrapper:x64-uwp=fail -scylla-wrapper:x64-windows-static=fail -sdformat10:x64-windows-static-md=fail -sdformat6:arm-uwp=fail -sdformat6:arm64-windows=fail -sdformat6:x64-uwp=fail -sdformat6:x64-windows-static-md=fail -sdformat9:arm-uwp=fail -sdformat9:x64-linux=fail -sdformat9:x64-uwp=fail -sdformat9:x64-windows-static-md=fail -sdl1:arm-uwp=fail -sdl1:x64-uwp=fail -sdl1:x64-osx=fail -sdl2-image:arm-uwp=fail -sdl2-image:x64-uwp=fail -sdl2-mixer:arm-uwp=fail -sdl2-mixer:x64-uwp=fail -sdl2-net:arm-uwp=fail -sdl2-net:x64-uwp=fail -# https://github.com/microsoft/vcpkg/issues/10918 -seal:arm-uwp=fail -seal:x64-uwp=fail -sentencepiece:arm64-windows=fail -sentencepiece:arm-uwp=fail -sentencepiece:x64-uwp=fail -sentencepiece:x64-windows=fail -sentencepiece:x86-windows=fail -septag-sx:arm64-windows=fail -septag-sx:arm-uwp=fail -septag-sx:x64-uwp=fail -sfml:arm64-windows=fail -shapelib:arm-uwp=fail -shapelib:x64-uwp=fail -shiva:x64-windows-static=fail -shiva:x64-windows-static-md=fail -shiva-sfml:x64-linux=fail -shiva-sfml:x64-osx=fail -shiva-sfml:x86-windows=fail -shiva-sfml:x64-windows=fail +rtmidi:arm-neon-android=fail +rtmidi:arm64-android=fail +rtmidi:x64-android=fail +salome-medcoupling:x64-linux=fail +scintilla:arm-neon-android=fail +scintilla:arm64-android=fail +scintilla:x64-android=fail +sciter:arm-neon-android=fail +sciter:arm64-android=fail +sciter:arm64-windows=skip +sciter:arm64-uwp=skip +sciter:x64-android=fail +sciter:x64-linux=skip +sciter:x64-osx=skip +sciter:arm64-osx=skip +sciter:x64-uwp=skip +sciter:x64-windows=skip +sciter:x64-windows-static=skip +sciter:x64-windows-static-md=skip +sciter:x86-windows=skip +sdl1:arm-neon-android=fail +sdl1:arm64-android=fail +sdl1:x64-android=fail +sentencepiece:arm-neon-android=fail +sentencepiece:arm64-android=fail +sentencepiece:x64-android=fail +sentencepiece:x64-windows-static-md=fail +septag-sx:x64-android=fail +sfml:arm-neon-android=fail +sfml:arm64-android=fail +sfml:x64-android=fail +shader-slang:x64-windows-static=fail shogun:arm64-windows = skip -shogun:arm-uwp = skip +shogun:arm64-uwp = skip shogun:x64-osx = skip +shogun:arm64-osx = skip shogun:x64-uwp = skip shogun:x64-windows = skip shogun:x64-windows-static = skip shogun:x64-windows-static-md=skip shogun:x86-windows = skip -signalrclient:x64-uwp=fail -signalrclient:arm-uwp=fail -skia:arm64-windows=fail -skia:arm-uwp=fail -skia:x64-linux=fail -skia:x64-uwp=fail -skia:x86-windows=fail +shogun:arm64-android = skip +# "Obsolete" and conflicts with microsoft-signalr +signalrclient:arm-neon-android=skip +signalrclient:arm64-android=skip +signalrclient:arm64-osx=skip +signalrclient:arm64-uwp=skip +signalrclient:arm64-windows=skip +signalrclient:x64-android=skip +signalrclient:x64-linux=skip +signalrclient:x64-osx=skip +signalrclient:x64-uwp=skip +signalrclient:x64-windows=skip +signalrclient:x64-windows-static-md=skip +signalrclient:x64-windows-static=skip +signalrclient:x86-windows=skip +simbody:arm64-windows=fail +simd:arm-neon-android=fail +simd:arm64-android=fail +simd:x64-android=fail +sjpeg:arm-neon-android=fail +sjpeg:arm64-android=fail +sjpeg:x64-android=fail +sleef:arm-neon-android=fail +sleef:arm64-android=fail +sleef:x64-android=fail sleef:x86-windows=fail -slikenet:arm-uwp=fail -slikenet:x64-uwp=fail -smpeg2:arm-uwp=fail -smpeg2:x64-linux=fail -smpeg2:x64-uwp=fail -soci:arm-uwp=fail -soci:x64-uwp=fail -sockpp:arm-uwp=fail -sockpp:x64-uwp=fail -soil2:arm-uwp=fail -soil2:x64-uwp=fail -soqt:arm64-windows=fail -soqt:arm-uwp=fail -soqt:x64-uwp=fail -soundtouch:arm-uwp=fail -soundtouch:x64-uwp=fail +sleepy-discord:arm-neon-android=fail +sleepy-discord:arm64-android=fail +slikenet:arm-neon-android=fail +slikenet:arm64-android=fail +slikenet:x64-android=fail +soem:arm-neon-android=fail +soem:arm64-android=fail +soem:x64-android=fail +soil:arm-neon-android=fail +soil:arm64-android=fail +soil:x64-android=fail +solid3:arm64-android=fail +spaceland:arm64-android=fail spaceland:arm64-windows=fail -spaceland:arm-uwp=fail +spaceland:arm64-uwp=fail +spaceland:x64-android=fail spaceland:x64-uwp=fail +spatialite-tools:arm-neon-android=fail +spatialite-tools:arm64-android=fail +spatialite-tools:x64-android=fail +spdk-isal:arm-neon-android=fail +spdk-isal:arm64-android=fail +spdk-isal:x64-android=fail spdk:x64-linux=fail -spdk-dpdk:arm64-windows=fail -spdk-dpdk:arm-uwp=fail -spdk-dpdk:x64-osx=fail -spdk-dpdk:x64-uwp=fail -spdk-dpdk:x64-windows=fail -spdk-dpdk:x64-windows-static=fail -spdk-dpdk:x64-windows-static-md=fail -spdk-dpdk:x86-windows=fail -spdk-ipsec:arm64-windows=fail -spdk-ipsec:arm-uwp=fail -spdk-ipsec:x64-osx=fail -spdk-ipsec:x64-uwp=fail -spdk-ipsec:x64-windows=fail -spdk-ipsec:x64-windows-static=fail -spdk-ipsec:x64-windows-static-md=fail -spdk-ipsec:x86-windows=fail -spdk-isal:arm64-windows=fail -spdk-isal:arm-uwp=fail -spdk-isal:x64-osx=fail -spdk-isal:x64-uwp=fail -spdk-isal:x64-windows=fail -spdk-isal:x64-windows-static=fail -spdk-isal:x64-windows-static-md=fail -spdk-isal:x86-windows=fail -spirv-tools:arm-uwp=fail -spirv-tools:x64-uwp=fail -stormlib:arm-uwp=fail +# Conflict with isal, and "internal" dep of spdk:x64-linux=fail +spdk-isal:x64-linux=skip +spscqueue:arm-neon-android=fail +spscqueue:arm64-android=fail +spscqueue:x64-android=fail +# sqlpp11-connector-mysql: CI issues resolved by overlay port +stormlib:arm64-uwp=fail stormlib:x64-uwp=fail -stxxl:arm-uwp=fail -stxxl:x64-uwp=fail +stxxl:arm-neon-android=fail # upstream issue https://github.com/stxxl/stxxl/issues/99 stxxl:x86-windows=skip stxxl:x64-windows=skip stxxl:x64-windows-static=skip stxxl:x64-windows-static-md=skip -symengine:arm64-windows=fail -symengine:arm-uwp=fail systemc:arm64-windows=fail -systemc:arm-uwp=fail +systemc:arm64-uwp=fail systemc:x64-uwp=fail -tbb:arm64-windows=fail -tbb:arm-uwp=fail -tbb:x64-uwp=fail -tcl:arm-uwp=fail -tcl:arm64-windows=fail -tcl:x64-uwp=fail -telnetpp:arm-uwp=fail -telnetpp:x64-uwp=fail -theia:arm64-windows = skip -theia:arm-uwp = skip -theia:x64-uwp = skip -theia:x64-windows = skip -theia:x64-windows-static = skip -theia:x64-windows-static-md=skip -theia:x86-windows = skip -tidy-html5:arm-uwp=fail -tidy-html5:x64-uwp=fail -tinkerforge:arm-uwp=fail -tinkerforge:x64-uwp=fail -tinyexif:arm-uwp=fail -tinyexif:x64-uwp=fail -tiny-process-library:arm-uwp=fail -tiny-process-library:x64-uwp=fail -tmxparser:arm64-windows=fail -tmxparser:arm-uwp=fail -tmxparser:x64-uwp=fail -tmxparser:x64-windows=fail -tmxparser:x64-windows-static=fail -tmxparser:x64-windows-static-md=fail -tmxparser:x86-windows=fail +teemo:x64-android=fail + +# tensorflow does not support VS2022 +tensorflow:x64-android=fail +tensorflow:x64-windows-static-md=fail +tensorflow:x64-windows-static=fail +tensorflow:x64-windows=fail +tensorflow-cc:x64-android=fail +tensorflow-cc:x64-windows-static-md=fail +tensorflow-cc:x64-windows-static=fail +tensorflow-cc:x64-windows=fail +# tensorflow is broken with system libraries on macOS 13.5 +# Also skipping because our macOS machines are relatively underpowered and this saves 8 hours of CI +# time for a relatively unpopular library / system combo. +tensorflow:x64-osx=skip +tensorflow:arm64-osx =skip +tensorflow-cc:x64-osx=skip +tensorflow-cc:arm64-osx =skip + +thorvg:arm-neon-android=fail +tinycthread:arm-neon-android=fail +tinycthread:arm64-android=fail +tinycthread:x64-android=fail +torch-th:arm-neon-android=fail +torch-th:arm64-android=fail torch-th:arm64-windows=fail -torch-th:arm-uwp=fail +torch-th:arm64-uwp=fail +torch-th:x64-android=fail torch-th:x64-uwp=fail torch-th:x64-windows-static=fail -tre:x64-osx=fail -treehopper:x64-windows-static=fail -treehopper:x64-linux=fail -turbobase64:arm64-windows=fail -turbobase64:arm-uwp=fail -turbobase64:x64-uwp=fail -turbobase64:x64-windows=fail -turbobase64:x64-windows-static=fail -turbobase64:x64-windows-static-md=fail -turbobase64:x86-windows=fail -unicorn:arm64-windows=fail -unicorn:arm-uwp=fail -unicorn:x64-linux=fail -unicorn:x64-osx=fail -unicorn:x64-uwp=fail -unicorn-lib:arm-uwp=fail -unicorn-lib:x64-uwp=fail -unittest-cpp:arm64-windows=fail -unittest-cpp:arm-uwp=fail -unittest-cpp:x64-uwp=fail -unixodbc:arm64-windows=fail -unixodbc:arm-uwp=fail -unixodbc:x64-uwp=fail -unixodbc:x64-windows=fail -unixodbc:x64-windows-static=fail -unixodbc:x64-windows-static-md=fail -unixodbc:x86-windows=fail -unrar:arm64-windows=fail -unrar:arm-uwp=fail -unrar:x64-linux=fail -unrar:x64-osx=fail -unrar:x64-uwp=fail -unrar:x64-windows-static=fail -urdfdom:x64-windows-static=fail -usd:x86-windows=fail -uthenticode:arm-uwp=fail -uthenticode:x64-uwp=fail -v8:arm64-windows=fail -v8:arm-uwp=fail -v8:x64-osx=fail -v8:x64-uwp=fail -vectorclass:arm64-windows=fail -vectorclass:arm-uwp=fail -vlpp:x64-osx=fail -vulkan:arm64-windows=fail -vulkan:arm-uwp=fail -vulkan:x64-linux=fail -vulkan:x64-osx=fail -vulkan:x64-uwp=fail -vulkan:x64-windows=fail -vulkan:x64-windows-static=fail -vulkan:x64-windows-static-md=fail -vulkan:x86-windows=fail -# Conflicts with latest openjpeg port (vxl ships with an old version of openjpeg) -# conflicts with qt5-location -vxl:arm64-windows = skip -vxl:arm-uwp = skip -vxl:x64-linux = skip -vxl:x64-osx = skip -vxl:x64-uwp = skip -vxl:x64-windows = skip -vxl:x64-windows-static = skip -vxl:x64-windows-static-md=skip -vxl:x86-windows = skip -wampcc:arm64-windows=fail -wincrypt:x64-linux=fail -wincrypt:x64-osx=fail -winpcap:arm64-windows = skip -winpcap:arm-uwp = skip -winpcap:x64-linux=fail -winpcap:x64-osx=fail -winpcap:x64-uwp = skip -winpcap:x64-windows = skip -winpcap:x64-windows-static = skip -winpcap:x64-windows-static-md=skip -winpcap:x86-windows = skip -winreg:x64-linux=fail -winreg:x64-osx=fail -winsock2:x64-linux=fail -winsock2:x64-osx=fail -wintoast:arm-uwp=fail -wintoast:x64-linux=fail -wintoast:x64-osx=fail -wintoast:x64-uwp=fail -wpilib:arm64-windows=fail -wpilib:x64-osx=fail -wxchartdir:x64-osx=fail -wxwidgets:x64-linux=fail -x265:arm64-windows=fail -x265:arm-uwp=fail -x265:x64-uwp=fail -xalan-c:x64-windows-static=fail -xalan-c:arm64-windows=fail -xbyak:arm64-windows=fail -xbyak:arm-uwp=fail -xbyak:x64-uwp=fail -xerces-c:arm-uwp=fail -xerces-c:x64-uwp=fail -xmlsec:arm-uwp=fail -xmlsec:x64-uwp=fail -# The xmsh upstream repository is gone, if we find no replacement before -# 2021-01-01 we will remove the port outright. -xmsh:arm-uwp=skip -xmsh:arm64-windows=skip -xmsh:x64-linux=skip -xmsh:x64-osx=skip -xmsh:x64-uwp=skip -xmsh:x64-windows-static=skip -xmsh:x64-windows-static-md=skip -xmsh:x64-windows=skip -xmsh:x86-windows=skip -yajl:arm-uwp=fail -yajl:x64-uwp=fail -yara:arm-uwp=fail -yara:x64-uwp=fail -yasm:arm64-windows=fail -yasm:arm-uwp=fail -yasm:x64-linux=fail -yasm:x64-osx=fail -yasm:x64-uwp=fail -yato:arm64-windows=fail -yato:arm-uwp=fail -yato:x64-uwp=fail -z3:arm-uwp=fail -z3:x64-uwp=fail -zkpp:x86-windows=fail -zkpp:x64-windows=fail -zkpp:x64-windows-static=fail -zkpp:x64-windows-static-md=fail -zkpp:arm64-windows=fail -zkpp:x64-uwp=fail -zkpp:arm-uwp=fail - -# Official downloading server of CTP library is only guaranteed to be available during trading hours of China futures market -# Skip CI to avoid random failures -ctp:arm64-windows=skip -ctp:arm-uwp=skip -ctp:x64-linux=skip -ctp:x64-osx=skip -ctp:x64-uwp=skip -ctp:x64-windows=skip -ctp:x64-windows-static=skip -ctp:x64-windows-static-md=skip -ctp:x86-windows=skip -protozero:arm-uwp=fail -protozero:x64-uwp=fail - -# clapack is replaced by lapack-reference on the platforms lapack-reference supports -clapack:x64-linux=skip -clapack:x64-osx=skip -clapack:x64-windows-static=skip -clapack:x64-windows-static-md=skip -clapack:x64-windows=skip -clapack:x86-windows=skip -clapack:x64-uwp=skip -lapack-reference:arm64-windows=skip -lapack-reference:arm-uwp=skip - -# failures for x64-windows-static-md -ace:x64-windows-static-md=fail -akali:x64-windows-static-md=fail -chromium-base:x64-windows-static-md=fail -clockutils:x64-windows-static-md=fail -fastcgi:x64-windows-static-md=fail -gmp:x64-windows-static-md=fail -ijg-libjpeg:x64-windows-static-md=fail -libcerf:x64-windows-static-md=fail -libmicrohttpd:x64-windows-static-md=fail -libspatialite:x64-windows-static-md=fail -linenoise-ng:x64-windows-static-md=fail -mmloader:x64-windows-static-md=fail -netcdf-cxx4:x64-windows-static-md=fail -open62541:x64-windows-static-md=fail -openscap:x64-windows-static-md=fail -portmidi:x64-windows-static-md=fail -quantlib:x64-windows-static-md=fail -readosm:x64-windows-static-md=fail -sentencepiece:x64-windows-static-md=fail -symengine:x64-windows-static-md=fail -teemo:x64-windows-static-md=fail +tvision:arm-neon-android=fail +tvision:arm64-android=fail +tvision:x64-android=fail unicorn:x64-windows-static-md=fail +# Proper support for a true static usd build is left as a future port improvement. It probably require fiddling with its monolithic mode. +usd:x64-windows-static=skip +# needs android-24 +usrsctp:arm-neon-android=fail +usrsctp:arm64-android=fail +usrsctp:x64-android=fail +# the version of v8 we have in the repo doesn't support VS2022 +v8:x64-android=fail v8:x64-windows-static-md=fail -yato:x64-windows-static-md=fail -zyre:x64-windows-static-md=fail -usbmuxd:x64-windows-static-md=fail +v8:x64-windows-static=fail +v8:x64-windows=fail +v8:x86-windows=fail +vowpal-wabbit:arm-neon-android=fail +vowpal-wabbit:arm64-android=fail +vowpal-wabbit:x64-android=fail +vtk-m:arm-neon-android=fail +vtk-m:arm64-android=fail +vtk-m:x64-android=fail +# Needs android-24 to supply a vulkan loader library +vulkan:arm-neon-android=fail +vulkan:arm64-android=fail +vulkan:x64-android=fail +vulkan-extensionlayer:arm-neon-android=fail +vulkan-extensionlayer:arm64-android=fail +vulkan-extensionlayer:x64-android=fail +vulkan-extensionlayer:x64-windows-static=fail +# Needs android-26 +vulkan-validationlayers:arm-neon-android=fail +vulkan-validationlayers:arm64-android=fail +vulkan-validationlayers:x64-android=fail +wasmedge:arm-neon-android=fail +wasmedge:arm64-android=fail +wasmedge:x64-android=fail +wavpack:arm-neon-android=fail +wavpack:x64-android=fail +# 32-bit needs android-24 +wcslib:arm-neon-android=fail +# Collides with libpcap -> similar headers +winpcap:x64-windows = skip +winpcap:x86-windows = skip +wordnet:arm-neon-android=fail +wordnet:arm64-android=fail +wordnet:x64-android=fail +workflow:arm-neon-android=fail +workflow:arm64-uwp=fail +workflow:arm64-android=fail +workflow:x64-android=fail workflow:x64-uwp=fail -workflow:arm-uwp=fail - -# wangle triggers an internal compiler error -# https://devdiv.visualstudio.com/DefaultCollection/DevDiv/_workitems/edit/1269468 -wangle:x64-windows=fail -wangle:x64-windows-static=fail -wangle:x64-windows-static-md=fail +wpilib:arm-neon-android=fail # requires full c++20 support +wpilib:arm64-android=fail # requires full c++20 support +wpilib:x64-android=fail # requires full c++20 support +# No xorg-macros available on osx +xbitmaps:arm-neon-android=fail +xbitmaps:arm64-android=fail +xbitmaps:x64-android=fail +xbitmaps:x64-osx=skip +xbitmaps:arm64-osx=skip +yajl:arm-neon-android=fail +yajl:arm64-android=fail +yajl:x64-android=fail +zeroc-ice:arm-neon-android=fail +zeroc-ice:arm64-android=fail +zeroc-ice:x64-android=fail +zyre:x64-windows-static-md=fail -# VS2019 version 16.9.4's project system changes where PDBs are placed in a way that breaks the -# upstream build script of this port. -# See https://developercommunity.visualstudio.com/t/Toolset-169-regression-vcxproj-producin/1356639 -dimcli:x64-windows-static-md=fail -dimcli:x64-windows-static=fail +# Ports which needs to pass in CI +cmake:x64-windows=pass +cmake:x64-windows-static=pass +cmake:x64-windows-static-md=pass +cmake:arm64-windows=pass +cmake:x64-linux=pass +cmake:x64-osx=pass +cmake-user:arm64-uwp=pass +cmake-user:arm64-windows=pass +cmake-user:x64-linux=pass +cmake-user:x64-osx=pass +cmake-user:x64-windows-static-md=pass +cmake-user:x64-windows-static=pass +cmake-user:x64-windows=pass +cmake-user:x86-windows=pass +gtk:arm64-osx=pass +gtk:x64-linux=pass +gtk:x64-osx=pass +gtk:x64-windows-static-md=pass +gtk:x64-windows=pass +gtk:x86-windows=pass +qt:x64-windows=pass +qt:x64-windows-static=pass +# qt:x64-windows-static-md=pass # hunspell is fail so this cannot pass. +qt:arm64-windows=pass +qt:x64-linux=pass +# qt:x64-osx=pass # gstreamer issues preventing qtmultimedia +vcpkg-ci-arrow:x64-windows=pass +vcpkg-ci-arrow:x64-windows-static=pass +vcpkg-ci-arrow:x64-windows-static-md=pass +vcpkg-ci-arrow:x64-osx=pass +vcpkg-ci-arrow:x64-linux=pass +vcpkg-ci-boost:arm-neon-android=pass +vcpkg-ci-boost:arm64-android=pass +vcpkg-ci-boost:arm64-uwp=pass +vcpkg-ci-boost:arm64-windows=pass +vcpkg-ci-boost:x64-android=pass +vcpkg-ci-boost:x64-linux=pass +vcpkg-ci-boost:x64-osx=pass +vcpkg-ci-boost:x64-uwp=pass +vcpkg-ci-boost:x64-windows-static-md=pass +vcpkg-ci-boost:x64-windows-static=pass +vcpkg-ci-boost:x64-windows=pass +vcpkg-ci-boost:x86-windows=pass +vcpkg-ci-curl:arm-neon-android=pass +vcpkg-ci-curl:arm64-android=pass +vcpkg-ci-curl:x64-android=pass +vcpkg-ci-curl:x64-linux=pass +vcpkg-ci-curl:arm64-osx=pass +vcpkg-ci-curl:x64-osx=pass +vcpkg-ci-curl:arm64-windows=pass +vcpkg-ci-curl:x64-windows-static-md=pass +vcpkg-ci-curl:x64-windows-static=pass +vcpkg-ci-curl:x64-windows=pass +vcpkg-ci-curl:x86-windows=pass +vcpkg-ci-ffmpeg:arm-neon-android=pass +vcpkg-ci-ffmpeg:arm64-android=pass +vcpkg-ci-ffmpeg:arm64-osx=pass +vcpkg-ci-ffmpeg:arm64-uwp=pass +vcpkg-ci-ffmpeg:arm64-windows=pass +vcpkg-ci-ffmpeg:x64-android=pass +vcpkg-ci-ffmpeg:x64-linux=pass +vcpkg-ci-ffmpeg:x64-osx=pass +vcpkg-ci-ffmpeg:x64-uwp=pass +vcpkg-ci-ffmpeg:x64-windows-static-md=pass +vcpkg-ci-ffmpeg:x64-windows-static=pass +vcpkg-ci-ffmpeg:x64-windows=pass +vcpkg-ci-ffmpeg:x86-windows=pass +vcpkg-ci-freerdp:arm-neon-android=pass +vcpkg-ci-freerdp:arm64-android=pass +vcpkg-ci-freerdp:x64-android=pass +vcpkg-ci-freerdp:x64-linux=pass +vcpkg-ci-freerdp:x64-osx=pass +vcpkg-ci-freerdp:x64-windows-static-md=pass +vcpkg-ci-freerdp:x64-windows-static=pass +vcpkg-ci-freerdp:x64-windows=pass +vcpkg-ci-freerdp:x86-windows=pass +vcpkg-ci-gdal:arm-neon-android=pass +vcpkg-ci-gdal:arm64-android=pass +vcpkg-ci-gdal:x64-android=pass +vcpkg-ci-gdal:x64-linux=pass +vcpkg-ci-gdal:x64-osx=pass +vcpkg-ci-gdal:x64-windows-static-md=pass +vcpkg-ci-gdal:x64-windows-static=pass +vcpkg-ci-gdal:x64-windows=pass +vcpkg-ci-gdal:x86-windows=pass +vcpkg-ci-llvm:x64-linux=pass +vcpkg-ci-llvm:x64-osx=pass +vcpkg-ci-llvm:x64-windows-static-md=pass +vcpkg-ci-llvm:x64-windows-static=pass +vcpkg-ci-llvm:x64-windows=pass +vcpkg-ci-llvm:x86-windows=pass +vcpkg-ci-mathgl:x64-linux=pass +vcpkg-ci-mathgl:x64-osx=pass +vcpkg-ci-mathgl:x64-windows=pass +vcpkg-ci-mathgl:x64-windows-static=pass +vcpkg-ci-mathgl:x64-windows-static-md=pass +vcpkg-ci-mathgl:x86-windows=pass +vcpkg-ci-opencv:arm-neon-android=pass +vcpkg-ci-opencv:arm64-android=pass +vcpkg-ci-opencv:arm64-osx=pass +vcpkg-ci-opencv:arm64-uwp=pass +vcpkg-ci-opencv:arm64-windows=pass +vcpkg-ci-opencv:x64-android=pass +vcpkg-ci-opencv:x64-linux=pass +vcpkg-ci-opencv:x64-osx=pass +vcpkg-ci-opencv:x64-uwp=pass +vcpkg-ci-opencv:x64-windows-static-md=pass +vcpkg-ci-opencv:x64-windows-static=pass +vcpkg-ci-opencv:x64-windows=pass +vcpkg-ci-opencv:x86-windows=pass +vcpkg-ci-openimageio:x86-windows=pass +vcpkg-ci-openimageio:x64-windows=pass +vcpkg-ci-openimageio:x64-windows-static=pass +vcpkg-ci-openimageio:x64-windows-static-md=pass +vcpkg-ci-openimageio:x64-osx=pass +vcpkg-ci-openimageio:x64-linux=pass +vcpkg-ci-paraview:x64-linux=pass +vcpkg-ci-paraview:x64-osx=pass +vcpkg-ci-paraview:arm64-osx=pass +vcpkg-ci-paraview:x64-windows-static-md=pass +vcpkg-ci-paraview:x64-windows-static=pass +vcpkg-ci-paraview:x64-windows=pass +vcpkg-ci-paraview:x86-windows=pass +vcpkg-ci-skia:arm-neon-android=pass +vcpkg-ci-skia:arm64-android=pass +vcpkg-ci-skia:arm64-uwp=pass +vcpkg-ci-skia:arm64-windows=pass +vcpkg-ci-skia:x64-android=pass +vcpkg-ci-skia:x64-linux=pass +vcpkg-ci-skia:x64-osx=pass +vcpkg-ci-skia:x64-uwp=pass +vcpkg-ci-skia:x64-windows-static-md=pass +vcpkg-ci-skia:x64-windows-static=pass +vcpkg-ci-skia:x64-windows=pass +vcpkg-ci-skia:x86-windows=pass +vcpkg-ci-soci:x64-linux=pass +vcpkg-ci-soci:x64-osx=pass +vcpkg-ci-soci:x64-windows=pass +vcpkg-ci-soci:x64-windows-static=pass +vcpkg-ci-soci:x64-windows-static-md=pass +vcpkg-ci-sqlpp11:arm-neon-android=pass +vcpkg-ci-sqlpp11:arm64-android=pass +vcpkg-ci-sqlpp11:arm64-osx=pass +vcpkg-ci-sqlpp11:arm64-uwp=pass +vcpkg-ci-sqlpp11:arm64-windows=pass +vcpkg-ci-sqlpp11:x64-android=pass +vcpkg-ci-sqlpp11:x64-linux=pass +vcpkg-ci-sqlpp11:x64-osx=pass +vcpkg-ci-sqlpp11:x64-uwp=pass +vcpkg-ci-sqlpp11:x64-windows-static-md=pass +vcpkg-ci-sqlpp11:x64-windows-static=pass +vcpkg-ci-sqlpp11:x64-windows=pass +vcpkg-ci-sqlpp11:x86-windows=pass +vcpkg-ci-vxl:arm-neon-android=pass +vcpkg-ci-vxl:arm64-android=pass +vcpkg-ci-vxl:arm64-windows=pass +vcpkg-ci-vxl:x64-android=pass +vcpkg-ci-vxl:x64-linux=pass +vcpkg-ci-vxl:x64-osx=pass +vcpkg-ci-vxl:x64-windows=pass +vcpkg-ci-vxl:x64-windows-static=pass +vcpkg-ci-vxl:x64-windows-static-md=pass +vcpkg-ci-vxl:x86-windows=pass +vcpkg-ci-wxwidgets:arm64-windows=pass +vcpkg-ci-wxwidgets:x64-linux=pass +vcpkg-ci-wxwidgets:x64-osx=pass +vcpkg-ci-wxwidgets:x64-windows-static-md=pass +vcpkg-ci-wxwidgets:x64-windows-static=pass +vcpkg-ci-wxwidgets:x64-windows=pass +vcpkg-ci-wxwidgets:x86-windows=pass diff --git a/scripts/cmake/compile_wrapper_consider_clang-cl.patch b/scripts/cmake/compile_wrapper_consider_clang-cl.patch new file mode 100644 index 00000000000000..c3666ecc9b680d --- /dev/null +++ b/scripts/cmake/compile_wrapper_consider_clang-cl.patch @@ -0,0 +1,12 @@ +diff --git a/usr/share/automake-1.16/compile b/usr/share/automake-1.16/compile +index 2078fc833..dfc946593 100755 +--- a/usr/share/automake-1.16/compile ++++ b/usr/share/automake-1.16/compile +@@ -256,6 +256,7 @@ EOF + exit $? + ;; + cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \ ++ clang-cl | *[/\\]clang-cl | clang-cl.exe | *[/\\]clang-cl.exe | \ + icl | *[/\\]icl | icl.exe | *[/\\]icl.exe ) + func_cl_wrapper "$@" # Doesn't return... + ;; diff --git a/scripts/cmake/execute_process.cmake b/scripts/cmake/execute_process.cmake index be45604d6b4c46..a338dda361bb3a 100644 --- a/scripts/cmake/execute_process.cmake +++ b/scripts/cmake/execute_process.cmake @@ -1,12 +1,3 @@ -#[===[.md: -# execute_process - -Intercepts all calls to execute_process() inside portfiles and fails when Download Mode -is enabled. - -In order to execute a process in Download Mode call `vcpkg_execute_in_download_mode()` instead. -#]===] - if (NOT DEFINED Z_VCPKG_OVERRIDEN_EXECUTE_PROCESS) set(Z_VCPKG_OVERRIDEN_EXECUTE_PROCESS ON) diff --git a/scripts/cmake/vcpkg_acquire_msys.cmake b/scripts/cmake/vcpkg_acquire_msys.cmake index 90704ca45053e5..6522068deccb4b 100644 --- a/scripts/cmake/vcpkg_acquire_msys.cmake +++ b/scripts/cmake/vcpkg_acquire_msys.cmake @@ -1,101 +1,49 @@ -#[===[.md: -# vcpkg_acquire_msys - -Download and prepare an MSYS2 instance. - -## Usage -```cmake -vcpkg_acquire_msys( - PACKAGES ... - [NO_DEFAULT_PACKAGES] - [DIRECT_PACKAGES ...] -) -``` - -## Parameters -### MSYS_ROOT_VAR -An out-variable that will be set to the path to MSYS2. - -### PACKAGES -A list of packages to acquire in msys. - -To ensure a package is available: `vcpkg_acquire_msys(MSYS_ROOT PACKAGES make automake1.16)` - -### NO_DEFAULT_PACKAGES -Exclude the normal base packages. - -The list of base packages includes: bash, coreutils, sed, grep, gawk, gzip, diffutils, make, and pkg-config - -### DIRECT_PACKAGES -A list of URL/SHA512 pairs to acquire in msys. - -This parameter can be used by a port to privately extend the list of msys packages to be acquired. -The URLs can be found on the msys2 website[1] and should be a direct archive link: - - https://repo.msys2.org/mingw/i686/mingw-w64-i686-gettext-0.19.8.1-9-any.pkg.tar.zst - -[1] https://packages.msys2.org/search - -## Notes -A call to `vcpkg_acquire_msys` will usually be followed by a call to `bash.exe`: -```cmake -vcpkg_acquire_msys(MSYS_ROOT) -set(BASH ${MSYS_ROOT}/usr/bin/bash.exe) - -vcpkg_execute_required_process( - COMMAND ${BASH} --noprofile --norc "${CMAKE_CURRENT_LIST_DIR}\\build.sh" - WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel - LOGNAME build-${TARGET_TRIPLET}-rel -) -``` - -## Examples - -* [ffmpeg](https://github.com/Microsoft/vcpkg/blob/master/ports/ffmpeg/portfile.cmake) -* [icu](https://github.com/Microsoft/vcpkg/blob/master/ports/icu/portfile.cmake) -* [libvpx](https://github.com/Microsoft/vcpkg/blob/master/ports/libvpx/portfile.cmake) -#]===] - -# Mirror list from https://github.com/msys2/MSYS2-packages/blob/master/pacman-mirrors/mirrorlist.msys -# Sourceforge is not used because it does not keep older package versions +# Full mirror list: https://github.com/msys2/MSYS2-packages/blob/master/pacman-mirrors/mirrorlist.msys set(Z_VCPKG_ACQUIRE_MSYS_MIRRORS - "https://www2.futureware.at/~nickoe/msys2-mirror/" + # Alternative primary + "https://repo.msys2.org/" + # Tier 1 "https://mirror.yandex.ru/mirrors/msys2/" "https://mirrors.tuna.tsinghua.edu.cn/msys2/" "https://mirrors.ustc.edu.cn/msys2/" - "https://mirror.bit.edu.cn/msys2/" "https://mirror.selfnet.de/msys2/" - "https://mirrors.sjtug.sjtu.edu.cn/msys2/" ) +# Downloads the given package function(z_vcpkg_acquire_msys_download_package out_archive) cmake_parse_arguments(PARSE_ARGV 1 "arg" "" "URL;SHA512;FILENAME" "") if(DEFINED arg_UNPARSED_ARGUMENTS) message(FATAL_ERROR "internal error: z_vcpkg_acquire_msys_download_package passed extra args: ${arg_UNPARSED_ARGUMENTS}") endif() - set(all_urls "${arg_URL}") - + string(REPLACE "https://repo.msys2.org/" "https://mirror.msys2.org/" all_urls "${arg_URL}") foreach(mirror IN LISTS Z_VCPKG_ACQUIRE_MSYS_MIRRORS) - string(REPLACE "https://repo.msys2.org/" "${mirror}" mirror_url "${arg_URL}") + string(REPLACE "https://mirror.msys2.org/" "${mirror}" mirror_url "${arg_URL}") list(APPEND all_urls "${mirror_url}") endforeach() vcpkg_download_distfile(msys_archive URLS ${all_urls} SHA512 "${arg_SHA512}" - FILENAME "msys-${arg_FILENAME}" + FILENAME "${arg_FILENAME}" QUIET ) set("${out_archive}" "${msys_archive}" PARENT_SCOPE) endfunction() -# writes to the following variables in parent scope: -# - Z_VCPKG_MSYS_ARCHIVES -# - Z_VCPKG_MSYS_TOTAL_HASH -# - Z_VCPKG_MSYS_PACKAGES +# Declares a package +# Writes to the following cache variables: +# - Z_VCPKG_MSYS_PACKAGES_AVAILABLE +# - Z_VCPKG_MSYS_${arg_NAME}_URL +# - Z_VCPKG_MSYS_${arg_NAME}_SHA512 +# - Z_VCPKG_MSYS_${arg_NAME}_FILENAME +# - Z_VCPKG_MSYS_${arg_NAME}_DEPS +# - Z_VCPKG_MSYS_${arg_NAME}_PATCHES +# - Z_VCPKG_MSYS_${arg_NAME}_DIRECT +# - Z_VCPKG_MSYS_${arg_NAME}_PROVIDES +# - Z_VCPKG_MSYS_${alias}_PROVIDED_BY function(z_vcpkg_acquire_msys_declare_package) - cmake_parse_arguments(PARSE_ARGV 0 arg "" "NAME;URL;SHA512" "DEPS") + cmake_parse_arguments(PARSE_ARGV 0 arg "DIRECT" "NAME;URL;SHA512" "DEPS;PATCHES;PROVIDES") if(DEFINED arg_UNPARSED_ARGUMENTS) message(FATAL_ERROR "internal error: z_vcpkg_acquire_msys_declare_package passed extra args: ${arg_UNPARSED_ARGUMENTS}") @@ -106,37 +54,110 @@ function(z_vcpkg_acquire_msys_declare_package) endif() endforeach() - if(NOT arg_URL MATCHES [[^https://repo\.msys2\.org/.*/(([^-]+(-[^0-9][^-]*)*)-.+\.pkg\.tar\.(xz|zst))$]]) - message(FATAL_ERROR "internal error: regex does not match supplied URL to vcpkg_acquire_msys: ${arg_URL}") + if(arg_DIRECT) + if(NOT arg_NAME) + message(FATAL_ERROR "internal error: z_vcpkg_acquire_msys_declare_package requires argument: NAME") + endif() + get_filename_component(filename "${arg_URL}" NAME) + else() + if(NOT arg_URL MATCHES [[^https://mirror\.msys2\.org/.*/(([^/]*)-[^-/]+-[^-/]+-[^-/]+\.pkg\.tar\.(xz|zst))$]]) + message(FATAL_ERROR "internal error: regex does not match supplied URL to vcpkg_acquire_msys: ${arg_URL}") + endif() + set(filename "msys2-${CMAKE_MATCH_1}") + if(NOT DEFINED arg_NAME) + set(arg_NAME "${CMAKE_MATCH_2}") + endif() + if(Z_VCPKG_MSYS_${arg_NAME}_DIRECT) + return() + endif() + if(arg_NAME IN_LIST Z_VCPKG_MSYS_PACKAGES_AVAILABLE) + message(FATAL_ERROR "Redeclaration of package '${arg_NAME}'") + endif() endif() - set(filename "${CMAKE_MATCH_1}") - if(NOT DEFINED arg_NAME) - set(arg_NAME "${CMAKE_MATCH_2}") + list(APPEND Z_VCPKG_MSYS_PACKAGES_AVAILABLE "${arg_NAME}") + set(Z_VCPKG_MSYS_PACKAGES_AVAILABLE "${Z_VCPKG_MSYS_PACKAGES_AVAILABLE}" CACHE INTERNAL "") + set(Z_VCPKG_MSYS_${arg_NAME}_URL "${arg_URL}" CACHE INTERNAL "") + set(Z_VCPKG_MSYS_${arg_NAME}_SHA512 "${arg_SHA512}" CACHE INTERNAL "") + set(Z_VCPKG_MSYS_${arg_NAME}_FILENAME "${filename}" CACHE INTERNAL "") + set(Z_VCPKG_MSYS_${arg_NAME}_DEPS "${arg_DEPS}" CACHE INTERNAL "") + set(Z_VCPKG_MSYS_${arg_NAME}_PATCHES "${arg_PATCHES}" CACHE INTERNAL "") + set(Z_VCPKG_MSYS_${arg_NAME}_DIRECT "${arg_DIRECT}" CACHE INTERNAL "") + set(Z_VCPKG_MSYS_${arg_NAME}_PROVIDES "${arg_PROVIDES}" CACHE INTERNAL "") + foreach(name IN LISTS arg_PROVIDES) + set(Z_VCPKG_MSYS_${name}_PROVIDED_BY "${arg_NAME}" CACHE INTERNAL "") + endforeach() +endfunction() + +# Collects all required packages to satisfy the given input set +# Writes to the following cache variables: +# - Z_VCPKG_MSYS__ARCHIVE +function(z_vcpkg_acquire_msys_download_packages) + cmake_parse_arguments(PARSE_ARGV 0 "arg" "" "OUT_UNKNOWN;OUT_RESOLVED" "PACKAGES") + set(backlog "${arg_PACKAGES}") + list(REMOVE_DUPLICATES backlog) + + list(FILTER arg_PACKAGES EXCLUDE REGEX "^mingw64") + if(NOT arg_PACKAGES STREQUAL "" AND NOT "msys2-runtime" IN_LIST arg_PACKAGES) + list(APPEND backlog "msys2-runtime") endif() - if("${arg_NAME}" IN_LIST Z_VCPKG_MSYS_PACKAGES OR arg_Z_ALL_PACKAGES) - list(REMOVE_ITEM Z_VCPKG_MSYS_PACKAGES "${arg_NAME}") - list(APPEND Z_VCPKG_MSYS_PACKAGES ${arg_DEPS}) - set(Z_VCPKG_MSYS_PACKAGES "${Z_VCPKG_MSYS_PACKAGES}" PARENT_SCOPE) + set(unknown "") + set(resolved "") + set(need_msys_runtime 0) + while(NOT backlog STREQUAL "") + list(POP_FRONT backlog name) + if(DEFINED Z_VCPKG_MSYS_${name}_PROVIDED_BY AND NOT name IN_LIST Z_VCPKG_MSYS_PACKAGES_AVAILABLE) + set(name "${Z_VCPKG_MSYS_${name}_PROVIDED_BY}") + if(name IN_LIST resolved) + continue() + endif() + endif() + if(NOT name IN_LIST Z_VCPKG_MSYS_PACKAGES_AVAILABLE) + list(APPEND unknown "${name}") + continue() + endif() + list(APPEND resolved "${name}") + list(REMOVE_ITEM Z_VCPKG_MSYS_${name}_DEPS ${resolved} ${backlog}) + list(APPEND backlog ${Z_VCPKG_MSYS_${name}_DEPS}) z_vcpkg_acquire_msys_download_package(archive - URL "${arg_URL}" - SHA512 "${arg_SHA512}" - FILENAME "${filename}" + URL "${Z_VCPKG_MSYS_${name}_URL}" + SHA512 "${Z_VCPKG_MSYS_${name}_SHA512}" + FILENAME "${Z_VCPKG_MSYS_${name}_FILENAME}" ) - - list(APPEND Z_VCPKG_MSYS_ARCHIVES "${archive}") - set(Z_VCPKG_MSYS_ARCHIVES "${Z_VCPKG_MSYS_ARCHIVES}" PARENT_SCOPE) - string(APPEND Z_VCPKG_MSYS_TOTAL_HASH "${arg_SHA512}") - set(Z_VCPKG_MSYS_TOTAL_HASH "${Z_VCPKG_MSYS_TOTAL_HASH}" PARENT_SCOPE) + set(Z_VCPKG_MSYS_${name}_ARCHIVE "${archive}" CACHE INTERNAL "") + endwhile() + if(DEFINED arg_OUT_UNKNOWN) + set("${arg_OUT_UNKNOWN}" "${unknown}" PARENT_SCOPE) endif() + if(DEFINED arg_OUT_RESOLVED) + set("${arg_OUT_RESOLVED}" "${resolved}" PARENT_SCOPE) + endif() +endfunction() + +# Returns a stable collection of hashes, regardless of package order +function(z_vcpkg_acquire_msys_collect_hashes out_hash) + cmake_parse_arguments(PARSE_ARGV 1 "arg" "" "" "PACKAGES") + list(SORT arg_PACKAGES) + set(result "") + foreach(name IN LISTS arg_PACKAGES) + if(NOT DEFINED Z_VCPKG_MSYS_${name}_SHA512) + message(FATAL_ERROR "SHA512 unknown for '${name}'.") + endif() + string(APPEND result "${Z_VCPKG_MSYS_${name}_SHA512}") + foreach(patch IN LISTS Z_VCPKG_MSYS_${name}_PATCHES) + file(SHA512 "${patch}" patch_sha) + string(APPEND result "${patch_sha}") + endforeach() + endforeach() + set(${out_hash} "${result}" PARENT_SCOPE) endfunction() function(vcpkg_acquire_msys out_msys_root) cmake_parse_arguments(PARSE_ARGV 1 "arg" "NO_DEFAULT_PACKAGES;Z_ALL_PACKAGES" - "" + "Z_DECLARE_EXTRA_PACKAGES_COMMAND" "PACKAGES;DIRECT_PACKAGES" ) @@ -144,13 +165,15 @@ function(vcpkg_acquire_msys out_msys_root) message(WARNING "vcpkg_acquire_msys was passed extra arguments: ${arg_UNPARSED_ARGUMENTS}") endif() - set(Z_VCPKG_MSYS_TOTAL_HASH) - set(Z_VCPKG_MSYS_ARCHIVES) - - set(Z_VCPKG_MSYS_PACKAGES "${arg_PACKAGES}") - - if(NOT arg_NO_DEFAULT_PACKAGES) - list(APPEND Z_VCPKG_MSYS_PACKAGES bash coreutils sed grep gawk gzip diffutils make pkg-config) + z_vcpkg_acquire_msys_declare_all_packages() + if(NOT "${arg_Z_DECLARE_EXTRA_PACKAGES_COMMAND}" STREQUAL "") + cmake_language(CALL "${arg_Z_DECLARE_EXTRA_PACKAGES_COMMAND}") + endif() + set(requested "${arg_PACKAGES}") + if(arg_Z_ALL_PACKAGES) + set(requested "${Z_VCPKG_MSYS_PACKAGES_AVAILABLE}") + elseif(NOT arg_NO_DEFAULT_PACKAGES) + list(APPEND requested bash coreutils file gawk grep gzip diffutils make pkgconf sed) endif() if(DEFINED arg_DIRECT_PACKAGES AND NOT arg_DIRECT_PACKAGES STREQUAL "") @@ -163,407 +186,481 @@ function(vcpkg_acquire_msys out_msys_root) message(FATAL_ERROR "vcpkg_acquire_msys(... DIRECT_PACKAGES ...) requires exactly pairs of URL/SHA512") endif() + set(direct_packages "") # direct_packages_last > direct_packages_number - 1 > 0 - 1 >= 0, so this is fine foreach(index RANGE "${direct_packages_last}") math(EXPR url_index "${index} * 2") math(EXPR sha512_index "${url_index} + 1") list(GET arg_DIRECT_PACKAGES "${url_index}" url) list(GET arg_DIRECT_PACKAGES "${sha512_index}" sha512) - get_filename_component(filename "${url}" NAME) - z_vcpkg_acquire_msys_download_package(archive + if(NOT filename MATCHES "^(.*)-[^-]+-[^-]+-[^-]+\.pkg\.tar\..*$") + message(FATAL_ERROR "Cannot determine package name for '${filename}'") + endif() + set(pkg_name "${CMAKE_MATCH_1}") + z_vcpkg_acquire_msys_declare_package( + NAME "${pkg_name}" URL "${url}" SHA512 "${sha512}" - FILENAME "${filename}" + DIRECT + ) + list(APPEND direct_packages "${pkg_name}") + endforeach() + list(INSERT requested 0 ${direct_packages}) + endif() + + z_vcpkg_acquire_msys_download_packages( + PACKAGES ${requested} + OUT_RESOLVED resolved + OUT_UNKNOWN unknown + ) + if(NOT unknown STREQUAL "") + message(FATAL_ERROR "Unknown packages were required for vcpkg_acquire_msys(${requested}): ${unknown} +This can be resolved by explicitly passing URL/SHA pairs to DIRECT_PACKAGES.") + endif() + set(Z_VCPKG_MSYS_PACKAGES_RESOLVED "${resolved}" CACHE INTERNAL "Export for CI") + + z_vcpkg_acquire_msys_collect_hashes(hashes PACKAGES ${resolved}) + string(SHA512 total_hash "${hashes}") + string(SUBSTRING "${total_hash}" 0 16 total_hash) + set(path_to_root "${DOWNLOADS}/tools/msys2/${total_hash}") + + if(NOT EXISTS "${path_to_root}") + file(REMOVE_RECURSE "${path_to_root}.tmp") + file(MAKE_DIRECTORY "${path_to_root}.tmp/tmp") + foreach(name IN LISTS resolved) + file(ARCHIVE_EXTRACT + INPUT "${Z_VCPKG_MSYS_${name}_ARCHIVE}" + DESTINATION "${path_to_root}.tmp" ) - list(APPEND Z_VCPKG_MSYS_ARCHIVES "${archive}") - string(APPEND Z_VCPKG_MSYS_TOTAL_HASH "${sha512}") + if(Z_VCPKG_MSYS_${name}_PATCHES) + z_vcpkg_apply_patches( + SOURCE_PATH "${path_to_root}.tmp" + PATCHES ${Z_VCPKG_MSYS_${name}_PATCHES} + ) + endif() endforeach() + file(RENAME "${path_to_root}.tmp" "${path_to_root}") endif() + # Due to skipping the regular MSYS2 installer, + # some config files need to be established explicitly. + if(NOT EXISTS "${path_to_root}/etc/fstab") + # This fstab entry removes the cygdrive prefix from paths. + file(WRITE "${path_to_root}/etc/fstab" "none / cygdrive binary,posix=0,noacl,user 0 0") + endif() + # No pkgconfig hints from msys2 installation + file(REMOVE_RECURSE + "${path_to_root}/clangarm64/lib/pkgconfig" + "${path_to_root}/clang64/lib/pkgconfig" + "${path_to_root}/mingw32/lib/pkgconfig" + "${path_to_root}/mingw64/lib/pkgconfig" + "${path_to_root}/ucrt64/lib/pkgconfig" + "${path_to_root}/usr/lib/pkgconfig" + ) + message(STATUS "Using msys root at ${path_to_root}") + set("${out_msys_root}" "${path_to_root}" PARENT_SCOPE) +endfunction() + +# Expand this while CMAKE_CURRENT_LIST_DIR is for this file. +set(Z_VCPKG_AUTOMAKE_CLANG_CL_PATCH "${CMAKE_CURRENT_LIST_DIR}/compile_wrapper_consider_clang-cl.patch") - # To add new entries, use https://packages.msys2.org/package/$PACKAGE?repo=msys +macro(z_vcpkg_acquire_msys_declare_all_packages) + set(Z_VCPKG_MSYS_PACKAGES_AVAILABLE "" CACHE INTERNAL "") + + # The following list can be updated via test port vcpkg-ci-msys2[update-all]. + # Upstream binary package information is available via + # https://packages.msys2.org/search?t=binpkg&q= + + # msys subsystem z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/msys/x86_64/unzip-6.0-2-x86_64.pkg.tar.xz" - SHA512 b8a1e0ce6deff26939cb46267f80ada0a623b7d782e80873cea3d388b4dc3a1053b14d7565b31f70bc904bf66f66ab58ccc1cd6bfa677065de1f279dd331afb9 - DEPS libbz2 + URL "https://mirror.msys2.org/msys/x86_64/autoconf-wrapper-20240607-1-any.pkg.tar.zst" + SHA512 e91768eaa3e9ad849c8ab2177593503fb85cda623adfe2e21eb5a34dd58c2c6686bee42cb1d1a6cfe8ae5727fb10edc5e1229e56f96091c25cae4eecc03f191a + PROVIDES autoconf + DEPS autoconf2.72 bash sed ) z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/msys/x86_64/libbz2-1.0.8-2-x86_64.pkg.tar.xz" - SHA512 d128bd1792d0f5750e6a63a24db86a791e7ee457db8c0bef68d217099be4a6eef27c85caf6ad09b0bcd5b3cdac6fc0a2b9842cc58d381a4035505906cc4803ec + URL "https://mirror.msys2.org/msys/x86_64/autoconf2.72-2.72-1-any.pkg.tar.zst" + SHA512 c8dc3e317dc4befc5f2848ac339a74f9dc8f021767aadb3d2c50b13869e0ef49fb48c62a0a1df5176a15a4f10196fcd2307efb83ff143ba1d20301882ba8dd1e + DEPS awk bash diffutils m4 perl sed ) z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/msys/x86_64/patch-2.7.6-1-x86_64.pkg.tar.xz" - SHA512 04d06b9d5479f129f56e8290e0afe25217ffa457ec7bed3e576df08d4a85effd80d6e0ad82bd7541043100799b608a64da3c8f535f8ea173d326da6194902e8c + URL "https://mirror.msys2.org/msys/x86_64/autoconf-archive-2023.02.20-1-any.pkg.tar.zst" + SHA512 0dbdba67934402eeb974e6738eb9857d013342b4e3a11200710b87fbf085d5bebf49b29b6a14b6ff2511b126549919a375b68f19cc22aa18f6ba23c57290ac72 ) z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/msys/x86_64/gzip-1.10-1-x86_64.pkg.tar.xz" - SHA512 2d0a60f2c384e3b9e2bed2212867c85333545e51ee0f583a33914e488e43c265ed0017cd4430a6e3dafdca99c0414b3756a4b9cc92a6f04d5566eff8b68def75 - DEPS msys2-runtime + URL "https://mirror.msys2.org/msys/x86_64/automake-wrapper-20240607-1-any.pkg.tar.zst" + SHA512 59c219019a776d36cf37a755fdb1c60b0bfd4ef8ec4dc55d2ba5de00e85686cc480d05689d8fa23532615000f3371702c2b2fe31a0f18f92df9f4353202a6e23 + PROVIDES automake + DEPS automake1.16 automake1.17 bash gawk ) z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/msys/x86_64/texinfo-6.7-3-x86_64.pkg.tar.zst" - SHA512 d8bcce1a338d45a8c2350af3edee1d021a76524b767d465d3f7fd9cb03c8799d9cd3454526c10e4a2b4d58f75ae26a1a8177c50079dfdb4299129e0d45b093bc + URL "https://mirror.msys2.org/msys/x86_64/automake1.16-1.16.5-1-any.pkg.tar.zst" + SHA512 62c9dfe28d6f1d60310f49319723862d29fc1a49f7be82513a4bf1e2187ecd4023086faf9914ddb6701c7c1e066ac852c0209db2c058f3865910035372a4840a DEPS bash perl + PATCHES "${Z_VCPKG_AUTOMAKE_CLANG_CL_PATCH}" ) z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/msys/x86_64/bash-4.4.023-2-x86_64.pkg.tar.xz" - SHA512 1cf2a07022113010e00e150e7004732013a793d49e7a6ac7c2be27a0b2c0ce3366150584b9974e30df042f8876a84d6a77c1a46f0607e38ebe18f8a25f51c32d - DEPS msys2-runtime + URL "https://mirror.msys2.org/msys/x86_64/automake1.17-1.17-1-any.pkg.tar.zst" + SHA512 cb935efc2e303e6f88eee3ab12ca1311c32d3c92e73e04b00b6b9269ce512649efa09af03d22a733f9cc4ebbb99fc64d8dcc123bf68fb914a20bf3cc651375f5 + DEPS bash perl ) z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/msys/x86_64/autoconf-2.71-1-any.pkg.tar.zst" - SHA512 c5683bdf72bb3ba28ec0cb6a211ae1f9eebc79d03f17fc8a55d78a35dc6499209936e099d3725573255a48578b71fac6b7b17afb933fd22fe1204daf50689609 - DEPS m4 perl + URL "https://mirror.msys2.org/msys/x86_64/bash-5.2.037-1-x86_64.pkg.tar.zst" + SHA512 c93ea45d4dd603d5cef42b599b4e0ff40b064bfd277eaf6933be35105e085155ebd63b732a2fa703e3878dc26bc288b09a5dfe355531237e3b20c27e1fc12215 + PROVIDES sh ) z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/msys/x86_64/autoconf-archive-2019.01.06-1-any.pkg.tar.xz" - SHA512 77540d3d3644d94a52ade1f5db27b7b4b5910bbcd6995195d511378ca6d394a1dd8d606d57161c744699e6c63c5e55dfe6e8664d032cc8c650af9fdbb2db08b0 - DEPS m4 perl + URL "https://mirror.msys2.org/msys/x86_64/binutils-2.43.1-1-x86_64.pkg.tar.zst" + SHA512 fb4ceb5f6b472923f654aa320401b7d65063c62c8f4c284996ac1e7f3091e117dafb1d600df164466bc0b56fb5a4d13558b05f707dd91e7801c37df7e9346a5e + DEPS libiconv libintl zlib ) z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/msys/x86_64/diffutils-3.7-1-x86_64.pkg.tar.xz" - SHA512 0c39837a26b2111bb6310cdfe0bc14656e3d57456ad8023f59c9386634a8f1f236915c79a57348b64c508897c73ed88d8abce2b9ac512a427e9a3956939f2040 - DEPS msys2-runtime + URL "https://mirror.msys2.org/msys/x86_64/bzip2-1.0.8-4-x86_64.pkg.tar.zst" + SHA512 1d2ce42c6775c0cb0fe9c2863c975fd076579131d0a5bce907355315f357df4ee66869c9c58325f5b698f3aba2413b2823deda86dd27fdb6e2e5e5d4de045259 + DEPS libbz2 ) z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/msys/x86_64/binutils-2.34-4-x86_64.pkg.tar.zst" - SHA512 5271288d11489879082bc1f2298bb8bedbcfcf6ee19f8a9b3b552b6a4395543d9385bb833e3c32b1560bff1b411d2be503e2c12a7201bf37b85cfacc5f5baba3 - DEPS libiconv libintl + URL "https://mirror.msys2.org/msys/x86_64/coreutils-8.32-5-x86_64.pkg.tar.zst" + SHA512 63f99348e654440458f26e9f52ae3289759a5a03428cf2fcf5ac7b47fdf7bf7f51d08e3346f074a21102bee6fa0aeaf88b8ebeba1e1f02a45c8f98f69c8db59c + DEPS libiconv libintl gmp ) z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/msys/x86_64/libtool-2.4.6-9-x86_64.pkg.tar.xz" - SHA512 b309799e5a9d248ef66eaf11a0bd21bf4e8b9bd5c677c627ec83fa760ce9f0b54ddf1b62cbb436e641fbbde71e3b61cb71ff541d866f8ca7717a3a0dbeb00ebf - DEPS grep sed coreutils file findutils + URL "https://mirror.msys2.org/msys/x86_64/diffutils-3.10-1-x86_64.pkg.tar.zst" + SHA512 7ed406370a699be98bff4eeb156a063de80ac8e332fb1873639e0b95b2e72e626351e24c5ca0021af9c0e56c4a3d91bd6669e6245b21c9d4ebdbb36888d8e39d + DEPS libiconv libintl sh ) z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/msys/x86_64/file-5.39-1-x86_64.pkg.tar.zst" - SHA512 be51dd0f6143a2f34f2a3e7d412866eb12511f25daaf3a5478240537733a67d7797a3a55a8893e5638589c06bca5af20aed5ded7db0bf19fbf52b30fae08cadd - DEPS gcc-libs zlib libbz2 + URL "https://mirror.msys2.org/msys/x86_64/file-5.45-3-x86_64.pkg.tar.zst" + SHA512 14f6bb0a19f8c74d5b3fe4e95fcf013c0db3bb270c795009f315a2207ca099efc32a9ab487dee72603c0adbe2949337724bbb28b779c71bbf9c1045ad6e23e72 + DEPS gcc-libs libbz2 liblzma libzstd zlib ) z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/msys/x86_64/zlib-1.2.11-1-x86_64.pkg.tar.xz" - SHA512 b607da40d3388b440f2a09e154f21966cd55ad77e02d47805f78a9dee5de40226225bf0b8335fdfd4b83f25ead3098e9cb974d4f202f28827f8468e30e3b790d - DEPS gcc-libs + URL "https://mirror.msys2.org/msys/x86_64/findutils-4.10.0-2-x86_64.pkg.tar.zst" + SHA512 d817f31b1130f73ababf004585e540c2adc14b2517ae350c73ef3f9b6c25b92ee377b24f6695980fd815c91fa8c870e574633092bd9436b7dbfb30b9d782b5fc + DEPS libintl libiconv ) z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/msys/x86_64/bzip2-1.0.8-2-x86_64.pkg.tar.xz" - SHA512 336f5b59eb9cf4e93b537a212509d84f72cd9b8a97bf8ac0596eff298f3c0979bdea6c605244d5913670b9d20b017e5ee327f1e606f546a88e177a03c589a636 - DEPS gcc-libs + URL "https://mirror.msys2.org/msys/x86_64/gawk-5.3.1-1-x86_64.pkg.tar.zst" + SHA512 01baeb86f0f604f9eb4e9da5c58e02a1fdc52943a62f66b1c14e1cdf72fb252936d63b25c60e992c0aab8ea146ff6dc9bb15b750bd21f803e4dcb31f5965c5bb + PROVIDES awk + DEPS libintl libreadline mpfr sh ) z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/msys/x86_64/libbz2-1.0.8-2-x86_64.pkg.tar.xz" - SHA512 d128bd1792d0f5750e6a63a24db86a791e7ee457db8c0bef68d217099be4a6eef27c85caf6ad09b0bcd5b3cdac6fc0a2b9842cc58d381a4035505906cc4803ec - DEPS gcc-libs + URL "https://mirror.msys2.org/msys/x86_64/gcc-libs-13.3.0-1-x86_64.pkg.tar.zst" + SHA512 f38b33ecc56923bff2e43d7c0fc8a79c752feeb6af9d49ff4bdd919e04ca54e7c6a0710e9c55fc700ad53eba6c4670973d7cc867971a40bcbe3c82932a7d3f38 ) z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/msys/x86_64/coreutils-8.32-1-x86_64.pkg.tar.xz" - SHA512 1a2ae4f296954421ce36f764b9b1c77ca72fc8583c46060b817677d0ad6adc7d7e3c2bbe1ae0179afd116a3d62f28e59eae2f7c84c1c8ffb7d22d2f2b40c0cdc - DEPS libiconv libintl gmp + URL "https://mirror.msys2.org/msys/x86_64/gettext-0.22.4-1-x86_64.pkg.tar.zst" + SHA512 7bd1dc50df8a973a075286fdf115fa30c8a78aa23d2845e2bdeb6068bf3391321d9b3ce3241626453bb660d1a57563bea44eebadf81cb2f98f15fbaf266648ec + DEPS libasprintf libgettextpo libintl ) + # This package shouldn't be a here z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/msys/x86_64/grep-3.0-2-x86_64.pkg.tar.xz" - SHA512 c784d5f8a929ae251f2ffaccf7ab0b3936ae9f012041e8f074826dd6077ad0a859abba19feade1e71b3289cc640626dfe827afe91c272b38a1808f228f2fdd00 - DEPS libiconv libintl libpcre + URL "https://mirror.msys2.org/msys/x86_64/gettext-devel-0.22.4-1-x86_64.pkg.tar.zst" + SHA512 e7748736014b0aa47f2bc740189a5e8e1bcc99a82ccd02d6f75e226b041704e4f353107df175c0547651a05f5a352ec474a7af693fb33d42a8885e47ac371d2e + DEPS gettext # libiconv-devel ) z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/msys/x86_64/sed-4.8-1-x86_64.pkg.tar.xz" - SHA512 b6e7ed0af9e04aba4992ee26d8616f7ac675c8137bb28558c049d50709afb571b33695ce21d01e5b7fe8e188c008dd2e8cbafc72a7e2a919c2d678506095132b - DEPS libintl + URL "https://mirror.msys2.org/msys/x86_64/gmp-6.3.0-1-x86_64.pkg.tar.zst" + SHA512 d4e8549e55d4088eca30753f867bf82d9287955209766f488f2a07ecc71bc63ef2c50fcc9d47470ea3b0d2f149f1648d9c2453e366e3eb2c2e2d60939f311a40 ) z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/msys/x86_64/libpcre-8.44-1-x86_64.pkg.tar.xz" - SHA512 e9e56386fc5cca0f3c36cee21eda91300d9a13a962ec2f52eeea00f131915daea1cfeb0e1b30704bf3cc4357d941d356e0d72192bab3006c2548e18cd96dad77 - DEPS gcc-libs + URL "https://mirror.msys2.org/msys/x86_64/grep-1~3.0-6-x86_64.pkg.tar.zst" + SHA512 79b4c652082db04c2ca8a46ed43a86d74c47112932802b7c463469d2b73e731003adb1daf06b08cf75dc1087f0e2cdfa6fec0e8386ada47714b4cff8a2d841e1 + DEPS libiconv libintl libpcre sh ) z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/msys/x86_64/m4-1.4.19-1-x86_64.pkg.tar.zst" - SHA512 8f100fef907ae6668af68538cae559a531761b51bb556d345b752c698fee938a503818cbd2003722d449f6c9a080c7ddabe12dddbee4d407377ca1e96e7d08b1 - DEPS msys2-runtime + URL "https://mirror.msys2.org/msys/x86_64/gzip-1.13-1-x86_64.pkg.tar.zst" + SHA512 4dbcfe5df7c213b10f003fc2a15123a5ed0d1a6d09638c467098f7b7db2e4fdd75a7ceee03b3a26c2492ae485267d626db981c5b9167e3acb3d7436de97d0e97 + DEPS bash ) z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/msys/x86_64/automake-wrapper-11-1-any.pkg.tar.xz" - SHA512 0fcfc80c31fd0bda5a46c55e9100a86d2fc788a92c7e2ca4fd281e551375c62eb5b9cc9ad9338bb44a815bf0b1d1b60b882c8e68ca3ea529b442f2d03d1d3e1f - DEPS gawk + URL "https://mirror.msys2.org/msys/x86_64/libasprintf-0.22.4-1-x86_64.pkg.tar.zst" + SHA512 06f353d2020d1e7168f4084e9fc17856a158a67a61098314e4b1d7db075542eb29dfe8a84bd154dad28942ee8eaae1e13a6510a4d2caab4509d9f3ea22db6d87 + DEPS gcc-libs ) z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/msys/x86_64/gawk-5.1.0-1-x86_64.pkg.tar.xz" - SHA512 4e2be747b184f27945df6fb37d52d56fd8117d2fe4b289370bcdb5b15a4cf90cbeaea98cf9e64bcbfa2c13db50d8bd14cbd719c5f31b420842da903006dbc959 - DEPS libintl libreadline mpfr + URL "https://mirror.msys2.org/msys/x86_64/libbz2-1.0.8-4-x86_64.pkg.tar.zst" + SHA512 5a7be6d04e55e6fb1dc0770a8c020ca24a317807c8c8a4813146cd5d559c12a6c61040797b062e441645bc2257b390e12dd6df42519e56278a1fe849fe76a1c4 + DEPS gcc-libs ) z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/msys/x86_64/mpfr-4.1.0-1-x86_64.pkg.tar.zst" - SHA512 d64fa60e188124591d41fc097d7eb51d7ea4940bac05cdcf5eafde951ed1eaa174468f5ede03e61106e1633e3428964b34c96de76321ed8853b398fbe8c4d072 - DEPS gmp gcc-libs + URL "https://mirror.msys2.org/msys/x86_64/libgettextpo-0.22.4-1-x86_64.pkg.tar.zst" + SHA512 7552bc873331f07a4c006f27fe9f72186eed9717d68c4cbf54a75ff65c9445f874c43ccced2f9fa75ff1602c1209f6f1f4335a6ae6bf9bd5e951292584db7539 + DEPS gcc-libs ) z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/msys/x86_64/gmp-6.2.0-1-x86_64.pkg.tar.xz" - SHA512 1389a443e775bb255d905665dd577bef7ed71d51a8c24d118097f8119c08c4dfe67505e88ddd1e9a3764dd1d50ed8b84fa34abefa797d257e90586f0cbf54de8 + URL "https://mirror.msys2.org/msys/x86_64/libiconv-1.17-1-x86_64.pkg.tar.zst" + SHA512 e8fc6338d499ccf3a143b3dbdb91838697de76e1c9582bb44b0f80c1d2da5dcfe8102b7512efa798c5409ba9258f4014eb4eccd24a9a46d89631c06afc615678 + DEPS gcc-libs libintl ) z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/msys/x86_64/xz-5.2.5-1-x86_64.pkg.tar.xz" # this seems to require immediate updating on version bumps. - SHA512 99d092c3398277e47586cead103b41e023e9432911fb7bdeafb967b826f6a57d32e58afc94c8230dad5b5ec2aef4f10d61362a6d9e410a6645cf23f076736bba - DEPS liblzma libiconv gettext + URL "https://mirror.msys2.org/msys/x86_64/libintl-0.22.4-1-x86_64.pkg.tar.zst" + SHA512 07f41f7fa53967bb5b0aca72255c70d7aeed58ea86b67bd0e765e08c20c50187ef2e775b630c0d48b3afbe62203754f7e8653a5f2e1a87a38b4af5753c7bd232 + DEPS gcc-libs libiconv ) z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/msys/x86_64/liblzma-5.2.5-1-x86_64.pkg.tar.xz" - SHA512 8d5c04354fdc7309e73abce679a4369c0be3dc342de51cef9d2a932b7df6a961c8cb1f7e373b1b8b2be40343a95fbd57ac29ebef63d4a2074be1d865e28ca6ad + URL "https://mirror.msys2.org/msys/x86_64/liblzma-5.6.3-1-x86_64.pkg.tar.zst" + SHA512 9fea23590973d5d2eea6da134ae4d10cd5a989babf135778de15ae0d5f28aad58f74485339d1e76187e3496993d26f4c243256d20dd7a0d77e9ebdc5ed56f124 + # This package installs only a DLL. No extra deps. + DEPS # gettext libiconv sh ) z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/msys/x86_64/libreadline-8.0.004-1-x86_64.pkg.tar.xz" - SHA512 42760bddedccc8d93507c1e3a7a81595dc6392b5e4319d24a85275eb04c30eb79078e4247eb2cdd00ff3884d932639130c89bf1b559310a17fa4858062491f97 - DEPS ncurses + URL "https://mirror.msys2.org/msys/x86_64/libpcre-8.45-4-x86_64.pkg.tar.zst" + SHA512 e1eb5cb38dce22012527bba2e92f908bf23c7725d77dcbd7fa14597af0f5b413319e0a7dd66555370afffc3b55d6074b8b83fd3c384d31ac505b74db246d54ac + DEPS gcc-libs ) z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/msys/x86_64/ncurses-6.2-1-x86_64.pkg.tar.xz" - SHA512 d4dc566d3dbd32e7646e328cb350689ede7eaa7008c8ed971072f8869a2986fe3935e7df1700851b52716af7ef20c49f9e6628d3163a5e9208a8872b5014eaea - DEPS msys2-runtime + URL "https://mirror.msys2.org/msys/x86_64/libreadline-8.2.013-1-x86_64.pkg.tar.zst" + SHA512 31a649a3b694434ce6a1c70ff5fa208a99acf323a6a1b521e1ce8b1cc0cdb9b63df3200ab497ba0e477d6ab61721bdfb133a90156fd88295b4ff9ff2551866cd + DEPS ncurses ) z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/msys/x86_64/automake1.16-1.16.3-1-any.pkg.tar.zst" - SHA512 174e6b9d1512eb710d48cda5bb4fef2b5d9b32071f425c76ea32c48081da0281f9fde1aa185845fa68a881233937f8cfd3ebda640d55764c1d48ec50e4de3390 - DEPS perl + URL "https://mirror.msys2.org/msys/x86_64/libtool-2.4.7-4-x86_64.pkg.tar.zst" + SHA512 fa2f0d4ac3a5aca38988d6f901407c14185238e6554894fd0b1ebe35ee836388c3649c5547cf529778e2a62ce5a3dafae15568b33c0e5d5535b67bb9c46ac37a + DEPS sh tar + # extra deps which are really needed + awk findutils grep sed ) z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/msys/x86_64/perl-5.32.1-1-x86_64.pkg.tar.zst" - SHA512 600b919c7299566aa6abf9a432c166fdd81be5ed052ad4062cc54ee952ea556992e8aba25a44757965d66827dc6e98fddb492867399be3bbed44803e17367cb8 - DEPS libcrypt + URL "https://mirror.msys2.org/msys/x86_64/libxcrypt-4.4.36-1-x86_64.pkg.tar.zst" + SHA512 457320daebd1aa45461788fb52dd4772fe91c34902201fac81d94ee2cbbfa216b02b3831a3e32a5ac638a3f12ac31fcec94ee95b19696fec6624e10e3dc5ffff + DEPS gcc-libs ) z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/msys/x86_64/libcrypt-2.1-3-x86_64.pkg.tar.zst" - SHA512 15cee333a82b55ff6072b7be30bf1c33c926d8ac21a0a91bc4cbf655b6f547bc29496df5fa288eb47ca2f88af2a4696f9b718394437b65dd06e3d6669ca0c2e5 + URL "https://mirror.msys2.org/msys/x86_64/libzstd-1.5.6-1-x86_64.pkg.tar.zst" + SHA512 ec13dde8cdb16ea48df6ddd172d60d913446907933f47846d2631c6f52dc874fae0dbf7cab4c0d81b3e643a0483dcc7fe316a429fa79ba06bbc29754fc9afb52 DEPS gcc-libs ) z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/msys/x86_64/pkg-config-0.29.2-4-x86_64.pkg.tar.zst" - SHA512 9f72c81d8095ca1c341998bc80788f7ce125770ec4252f1eb6445b9cba74db5614caf9a6cc7c0fcc2ac18d4a0f972c49b9f245c3c9c8e588126be6c72a8c1818 - DEPS libiconv + URL "https://mirror.msys2.org/msys/x86_64/m4-1.4.19-2-x86_64.pkg.tar.zst" + SHA512 7471099ba7e3b47e5b019dc0e563165a8660722f2bbd337fb579e6d1832c0e7dcab0ca9297c4692b18add92c4ad49e94391c621cf38874e2ff63d4f926bac38c + DEPS bash gcc-libs libiconv ) z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/msys/x86_64/make-4.3-1-x86_64.pkg.tar.xz" - SHA512 7306dec7859edc27d70a24ab4b396728481484a426c5aa2f7e9fed2635b3b25548b05b7d37a161a86a8edaa5922948bee8c99b1e8a078606e69ca48a433fe321 - DEPS libintl msys2-runtime + URL "https://mirror.msys2.org/msys/x86_64/make-4.4.1-2-x86_64.pkg.tar.zst" + SHA512 b55caaf0d54b784b5dffcbb75a1862fc7359b91caa1e60234e208de03c74159fd003d68f5dddd387adef752bb13805e654f17ec5cb6add51546b9e30a1091b61 + DEPS libintl sh ) z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/msys/x86_64/gettext-devel-0.19.8.1-1-x86_64.pkg.tar.xz" - SHA512 648f74c23e4f92145cdd0d45ff5285c2df34e855a9e75e5463dd6646967f8cf34a18ce357c6f498a4680e6d7b84e2d1697ba9deee84da8ea6bb14bbdb594ee22 - DEPS gettext + URL "https://mirror.msys2.org/msys/x86_64/mpfr-4.2.1-1-x86_64.pkg.tar.zst" + SHA512 7417bb02a0f1073b8c1a64732463ec178d28f75eebd9621d02117cda1d214aff3e28277bd20e1e4731e191daab26e38333ace007ed44459ce3e2feae27aedc00 + DEPS gmp ) + if(X_VCPKG_USE_MSYS2_RUNTIME_3.4) # temporary option, for Windows 7.0 and 8.0, or in case of regressions + z_vcpkg_acquire_msys_declare_package( + URL "https://mirror.msys2.org/msys/x86_64/msys2-runtime-3.4-3.4.10-2-x86_64.pkg.tar.zst" + SHA512 3fa087d4eb4e260785b81d5b6f4400ec128a83ff940da732bf147dfde457224573fa467e735b63c9a138872f5c9830f3684f824b2aa5d344fb95dfb91632f832 + PROVIDES msys2-runtime + ) + else() + z_vcpkg_acquire_msys_declare_package( + URL "https://mirror.msys2.org/msys/x86_64/msys2-runtime-3.5.4-2-x86_64.pkg.tar.zst" + SHA512 070aeb43385beb0e3f8d5fb28909469765116c222d53c2614f5f080be879eef0b78258334b35e8cda7625d8704efc89133f8b8fa78f309c5d680ae270efdaba8 + ) + endif() z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/msys/x86_64/gettext-0.19.8.1-1-x86_64.pkg.tar.xz" - SHA512 c8c42d084c297746548963f7ec7a7df46241886f3e637e779811ee4a8fee6058f892082bb2658f6777cbffba2de4bcdfd68e846ba63c6a6552c9efb0c8c1de50 - DEPS libintl libgettextpo libasprintf tar + URL "https://mirror.msys2.org/msys/x86_64/ncurses-6.5.20240831-2-x86_64.pkg.tar.zst" + SHA512 ff84849e3857e31fd4f3acc48e8a9bc2fa6ff226f848636c206fb322e7c49de9677c24784575ad5d13620f31d6203739b0f7ab068081bef0d8ab873c4473ee4d + DEPS gcc-libs ) z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/msys/x86_64/tar-1.32-1-x86_64.pkg.tar.xz" - SHA512 379525f4b8a3f21d67d6506647aec8367724e1b4c896039f46845d9e834298280381e7261a87440925ee712794d43074f4ffb5e09e67a5195af810bbc107ad9a - DEPS libiconv libintl + URL "https://mirror.msys2.org/msys/x86_64/patch-2.7.6-2-x86_64.pkg.tar.zst" + SHA512 eb484156e6e93da061645437859531f7b04abe6fef9973027343302f088a8681d413d87c5635a10b61ddc4a3e4d537af1de7552b3a13106639e451b95831ec91 ) z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/msys/x86_64/libgettextpo-0.19.8.1-1-x86_64.pkg.tar.xz" - SHA512 480b782a79b0ce71ed9939ae3a6821fc2f5a63358733965c62cee027d0e6c88e255df1d62379ee47f5a7f8ffe163e554e318dba22c67dc67469b10aa3248edf7 - DEPS gcc-libs + URL "https://mirror.msys2.org/msys/x86_64/perl-5.38.2-2-x86_64.pkg.tar.zst" + SHA512 1d1cff89a0f0b47eb5bea51974a092b42a9c05634391bf2056dcd38557d8b97a3f6e697fb2bbf421beea780f132d8d13ff8e0cec22b24f99811657857691a815 + DEPS coreutils libxcrypt sh ) z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/msys/x86_64/libasprintf-0.19.8.1-1-x86_64.pkg.tar.xz" - SHA512 a2e8027b9bbee20f8cf60851130ca2af436641b1fb66054f8deba118da7ebecb1cd188224dcf08e4c5b7cde85b412efab058afef2358e843c9de8eb128ca448c - DEPS gcc-libs + URL "https://mirror.msys2.org/msys/x86_64/pkgconf-2.3.0-1-x86_64.pkg.tar.zst" + SHA512 38ad69f7da3bfd81282cbb488cb06fe2e5a2d075a7b96499d588a4c398d6778b4a345807d79ac31520b793194f5466ebdf1d00d886c7fa16c5a347230866b11a + PROVIDES pkg-config ) z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/msys/x86_64/findutils-4.7.0-1-x86_64.pkg.tar.xz" - SHA512 fd09a24562b196ff252f4b5de86ed977280306a8c628792930812f146fcf7355f9d87434bbabe25e6cc17d8bd028f6bc68fc02e5bea83137a49cf5cc6f509e10 - DEPS libintl libiconv + URL "https://mirror.msys2.org/msys/x86_64/sed-4.9-1-x86_64.pkg.tar.zst" + SHA512 8006a83f0cc6417e3f23ffd15d0cbca2cd332f2d2690232a872ae59795ac63e8919eb361111b78f6f2675c843758cc4782d816ca472fe841f7be8a42c36e8237 + DEPS libintl sh ) z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/msys/x86_64/libintl-0.19.8.1-1-x86_64.pkg.tar.xz" - SHA512 4e54c252b828c862f376d8f5a2410ee623a43d70cbb07d0b8ac20c25096f59fb3ae8dcd011d1792bec76f0b0b9411d0e184ee23707995761dc50eb76f9fc6b92 - DEPS libiconv + URL "https://mirror.msys2.org/msys/x86_64/tar-1.35-2-x86_64.pkg.tar.zst" + SHA512 86269fe17729e5381f8236a0251088110725c3eb930215b8378b6673e5ee136847997bb6a667fe0398b65b85e3f3a7e4679a0fd4bb2ebcb9429a5d7273a02d54 + DEPS libiconv libintl sh ) z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/msys/x86_64/libiconv-1.16-2-x86_64.pkg.tar.zst" - SHA512 3ab569eca9887ef85e7dd5dbca3143d8a60f7103f370a7ecc979a58a56b0c8dcf1f54ac3df4495bc306bd44bf36ee285aaebbb221c4eebfc912cf47d347d45fc - DEPS gcc-libs + URL "https://mirror.msys2.org/msys/x86_64/texinfo-7.1.1-1-x86_64.pkg.tar.zst" + SHA512 b34ea9c4ef5c9ec6ffef9aea84674ad1d8e2456d4efe7117a26761c7ac1048030e0394d52a65876049c4216f5ecde8c7c92ad6fbf5c5e1448b0e39da96d74b1f + DEPS perl sh ) z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/msys/x86_64/gcc-libs-9.3.0-1-x86_64.pkg.tar.xz" - SHA512 2816afbf45aa0ff47f94a623ad083d9421bca5284dc55683c2f1bc09ea0eadfe720afb75aafef60c2ff6384d051c4fbe2a744bb16a20acf34c04dc59b17c3d8c - DEPS msys2-runtime + URL "https://mirror.msys2.org/msys/x86_64/unzip-6.0-3-x86_64.pkg.tar.zst" + SHA512 1d6df49e826617ef3d3976be33361e189d8a5aee3a33ae79474fd08ca44ebd113981e6ba25c968b3cf5fb9826edd42dee21a97261cbc86fd8b143c950ba1f357 + DEPS bash libbz2 ) z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/msys/x86_64/msys2-runtime-3.2.0-8-x86_64.pkg.tar.zst" - SHA512 fdd86f4ffa6e274d6fef1676a4987971b1f2e1ec556eee947adcb4240dc562180afc4914c2bdecba284012967d3d3cf4d1a392f798a3b32a3668d6678a86e8d3 + URL "https://mirror.msys2.org/msys/x86_64/which-2.21-4-x86_64.pkg.tar.zst" + SHA512 5323fd6635093adf67c24889f469e1ca8ac969188c7f087244a43b3afa0bf8f14579bd87d9d7beb16a7cd61a5ca1108515a46b331868b4817b35cebcb4eba1d1 + DEPS sh ) - z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-python-numpy-1.19.0-1-any.pkg.tar.zst" - SHA512 15791fff23deda17a4452c9ca3f23210ed77ee20dcdd6e0c31d0e626a63aeb93d15ed814078729101f1cce96129b4b5e3c898396b003d794a52d7169dd027465 - DEPS mingw-w64-x86_64-openblas mingw-w64-x86_64-python + URL "https://mirror.msys2.org/msys/x86_64/xz-5.6.3-1-x86_64.pkg.tar.zst" + SHA512 038094ac7a208b03f41c2caf0b3ca1214b6fc914ef28884d9daa385062cbcfc793b94e29f4d4beb3475728ef2c9b70f9fbc58ec5b41f354c638898601f746917 + DEPS libiconv libintl liblzma ) z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-openblas-0.3.10-2-any.pkg.tar.zst" - SHA512 3cf15ef191ceb303a7e40ad98aca94c56211b245617c17682379b5606a1a76e12d04fa1a83c6109e89620200a74917bcd981380c7749dda12fa8e79f0b923877 - DEPS mingw-w64-x86_64-gcc-libgfortran mingw-w64-x86_64-gcc-libs mingw-w64-x86_64-libwinpthread + URL "https://mirror.msys2.org/msys/x86_64/zlib-1.3.1-1-x86_64.pkg.tar.zst" + SHA512 a432b0f927d342b678df706487595eff1b780371548933f956adcf697eea11ddbca2863d9d9fb88675a7040dcfddab56f8f71a8ae4d0cd4969e715545c77e87c + DEPS gcc-libs ) + + # mingw64 subsystem z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-gcc-libgfortran-10.2.0-1-any.pkg.tar.zst" - SHA512 c2dee2957356fa51aae39d907d0cc07f966028b418f74a1ea7ea551ff001c175d86781f980c0cf994207794322dcd369fa122ab78b6c6d0f0ab01e39a754e780 + URL "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-bzip2-1.0.8-3-any.pkg.tar.zst" + SHA512 fb1ae524d7b04e1f35c3101c318136dbe08da8093bda98f6aea7e6c2564fec5f8533fb61cac5001b6425105cd982511964ec04099c6651f990dc3b8baf7f7057 DEPS mingw-w64-x86_64-gcc-libs ) z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-python-3.8.5-1-any.pkg.tar.zst" - SHA512 49bbcaa9479ff95fd21b473a1bc286886b204ec3e2e0d9466322e96a9ee07ccd8116024b54b967a87e4752057004475cac5060605e87bd5057de45efe5122a25 - DEPS mingw-w64-x86_64-bzip2 mingw-w64-x86_64-expat mingw-w64-x86_64-gcc-libs mingw-w64-x86_64-libffi mingw-w64-x86_64-mpdecimal mingw-w64-x86_64-ncurses mingw-w64-x86_64-openssl mingw-w64-x86_64-sqlite3 mingw-w64-x86_64-tcl mingw-w64-x86_64-tk mingw-w64-x86_64-xz mingw-w64-x86_64-zlib + URL "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-ca-certificates-20240203-1-any.pkg.tar.zst" + SHA512 9b1ace77623ea69155112df2aa60dbc83f0dac0db25a2db5f99c40a472e974d6b1fc54b61b71fd57e4166e5741255145da2b19617b1d4a632f1284c5b8d5ca82 + DEPS mingw-w64-x86_64-p11-kit ) z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-bzip2-1.0.8-1-any.pkg.tar.xz" - SHA512 6e01b26a2144f99ca00406dbce5b8c3e928ec8a3ff77e0b741b26aaf9c927e9bea8cb1b5f38cd59118307e10dd4523a0ea2a1ea61f798f99e6d605ef1d100503 - DEPS mingw-w64-x86_64-gcc-libs + URL "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-expat-2.6.3-1-any.pkg.tar.zst" + SHA512 617e67e0d61818c204e10411fd18b006b1fff4a56bec3469d37705c0dee279408779b623bd89f3c6f463d524f1256d6490f341f3f0975b60a48f9f3449dee9e6 ) z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-mpdecimal-2.5.0-1-any.pkg.tar.zst" - SHA512 48130ff676c0235bad4648527021e597ee00aa49a4443740a134005877e2ff2ca27b30a0ac86b923192a65348b36de4e8d3f9c57d76ab42b2e21d1a92dbf7ccf + URL "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-gcc-libgfortran-14.2.0-1-any.pkg.tar.zst" + SHA512 6687d0dc689cec34357c21290fc787b52071c3a4c21e0f91f03404fb714080395e48ec9ff13eef6c151f01938f72ede8b7d941426dcf09e07d29255344d52b32 + PROVIDES mingw-w64-x86_64-fc-libs DEPS mingw-w64-x86_64-gcc-libs ) z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-ncurses-6.2-1-any.pkg.tar.xz" - SHA512 1cbffe0e181a3d4ceaa8f39b2a649584b2c7d689e6a057d85cb9f84edece2cf60eddc220127c7fa4f29e4aa6e8fb4f568ef9d73582d08168607135af977407e0 - DEPS mingw-w64-x86_64-libsystre + URL "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-gcc-libs-14.2.0-1-any.pkg.tar.zst" + SHA512 65a6849681f2d24d2aa7299e44188210103c94dc7f052b86c2583bcb3fdad1ba9aadaf25fb0f7bffccfb978a6f0fe2e85b4624711f65b75f82a711e1e7bd75c2 + PROVIDES mingw-w64-x86_64-omp + DEPS mingw-w64-x86_64-libwinpthread ) z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-libsystre-1.0.1-4-any.pkg.tar.xz" - SHA512 6540e896636d00d1ea4782965b3fe4d4ef1e32e689a98d25e2987191295b319eb1de2e56be3a4b524ff94f522a6c3e55f8159c1a6f58c8739e90f8e24e2d40d8 - DEPS mingw-w64-x86_64-libtre + URL "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-gettext-runtime-0.22.5-2-any.pkg.tar.zst" + SHA512 813eb17f9e03267f1a15b0062777bb1cf4cf51b2319aa0e9b6c6a353f47132faab7d7530c1ff19425607c5dabe8af3aee2847ba2e0768056b5834447f491ae73 + DEPS mingw-w64-x86_64-gcc-libs mingw-w64-x86_64-libiconv ) z_vcpkg_acquire_msys_declare_package( - NAME "mingw-w64-x86_64-libtre" - URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-libtre-git-r128.6fb7206-2-any.pkg.tar.xz" - SHA512 d595dbcf3a3b6ed098e46f370533ab86433efcd6b4d3dcf00bbe944ab8c17db7a20f6535b523da43b061f071a3b8aa651700b443ae14ec752ae87500ccc0332d - DEPS mingw-w64-x86_64-gcc-libs mingw-w64-x86_64-gettext + URL "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-gmp-6.3.0-2-any.pkg.tar.zst" + SHA512 38ab150051d787e44f1c75b3703d6c8deb429d244acb2a973ee232043b708e6c9e29a1f9e28f12e242c136d433e8eb5a5133a4d9ac7b87157a9749a8d215d2f0 ) z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-openssl-1.1.1.g-1-any.pkg.tar.xz" - SHA512 81681089a19cae7dbdee1bc9d3148f03458fa7a1d2fd105be39299b3a0c91b34450bcfe2ad86622bc6819da1558d7217deb0807b4a7bed942a9a7a786fcd54a3 - DEPS mingw-w64-x86_64-ca-certificates mingw-w64-x86_64-gcc-libs mingw-w64-x86_64-zlib + URL "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-libffi-3.4.6-1-any.pkg.tar.zst" + SHA512 49c4d22e4e08f86eb77946b90fcc8d28e56b3565179187c527a1fa6dfb17ac7dd0d513748755a908467539e7d7e733556bda132c223348b2dc074c6e7dc6b31c ) z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-ca-certificates-20200601-1-any.pkg.tar.zst" - SHA512 21a81e1529a3ad4f6eceb3b7d4e36400712d3a690d3991131573d4aae8364965757f9b02054d93c853eb75fbb7f6173a278b122450c800b2c9a1e8017dd35e28 - DEPS mingw-w64-x86_64-p11-kit + URL "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-libiconv-1.17-4-any.pkg.tar.zst" + SHA512 dc703b103291a5b89175c3ddf4282c1a40bcd91549c8f993300671b9afffb28559e118a2c665f47a465bd7286b9e3400c29d42761e0189c425fb156b37783927 ) z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-p11-kit-0.23.20-2-any.pkg.tar.xz" - SHA512 c441c4928465a98aa53917df737b728275bc0f6e9b41e13de7c665a37d2111b46f057bb652a1d5a6c7cdf8a74ea15e365a727671b698f5bbb5a7cfd0b889935e - DEPS mingw-w64-x86_64-gettext mingw-w64-x86_64-libffi mingw-w64-x86_64-libtasn1 + URL "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-libsystre-1.0.1-6-any.pkg.tar.zst" + SHA512 826122c30b95166332fa3a5492dfd3e523b3d7339344fa1dd1c9442d72676df281a26bd2c708368001c6518edc34a770ffa581a57b3d3cdd86101566eba1aef7 + PROVIDES mingw-w64-x86_64-libgnurx + DEPENDS mingw-w64-x86_64-libtre ) z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-libtasn1-4.16.0-1-any.pkg.tar.xz" - SHA512 c450cd49391b46af552a89f2f6e2c21dd5da7d40e7456b380290c514a0f06bcbd63f0f972b3c173c4237bec7b652ff22d2d330e8fdf5c888558380bd2667be64 + URL "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-libtasn1-4.19.0-1-any.pkg.tar.zst" + SHA512 761a7c316914d7f98ec6489fb4c06d227e5956d50f2e233ad9be119cfd6301f6b7e4f872316c0bae3913268c1aa9b224b172ab94130489fbd5d7269ff9064cfb DEPS mingw-w64-x86_64-gcc-libs ) z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-sqlite3-3.33.0-1-any.pkg.tar.zst" - SHA512 eae319f87c9849049347f132efc2ecc46e9ac1ead55542e31a3ea216932a4fa5c5bae8d468d2f050e1e22068ac9fbe9d8e1aa7612cc0110cafe6605032adeb0f - DEPS mingw-w64-x86_64-gcc-libs mingw-w64-x86_64-readline mingw-w64-x86_64-tcl + URL "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-libtre-0.9.0-1-any.pkg.tar.zst" + SHA512 5f1797850ab2da94c213cca8663413419b737a17e6856e1d05bcd8d9397d6e0bdb195798b01cb315c1fcf0cffc22a712f13c10e0b5d4103aecef7cd4518c80fb + PROVIDES mingw-w64-x86_64-libtre-git + DEPS mingw-w64-x86_64-gcc-libs mingw-w64-x86_64-gettext-runtime ) z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-readline-8.0.004-1-any.pkg.tar.xz" - SHA512 e3fb3030a50f677697bec0da39ba2eb979dc28991ad0e29012cbf1bda82723176148510bf924b7fce7a0b79e7b078232d69e07f3fbb7d657b8ee631841730120 - DEPS mingw-w64-x86_64-gcc-libs mingw-w64-x86_64-termcap + URL "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-libwinpthread-git-12.0.0.r351.gcdf6b16b8-1-any.pkg.tar.zst" + SHA512 656f2052008b9e21fb9effa9044006dc5278e428af9f3476700c75a3ed09f6f0b9683a2ea13574602d0ae79d22cd663a27c758bf688d15697adbdadaa3b1849d + PROVIDES mingw-w64-x86_64-libwinpthread + ) + z_vcpkg_acquire_msys_declare_package( + URL "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-mpc-1.3.1-2-any.pkg.tar.zst" + SHA512 3fe183d4af3b3935a4394502eab75a8f7b7692f551fd44e54c67935a4691388d23a021ee1147f0345ed27ffe8a8db3e9e7e37caf2348df3413e0acd519c12a0c + DEPS mingw-w64-x86_64-gmp mingw-w64-x86_64-mpfr ) z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-termcap-1.3.1-6-any.pkg.tar.zst" - SHA512 602d182ba0f1e20c4c51ae09b327c345bd736e6e4f22cd7d58374ac68c705dd0af97663b9b94d41870457f46bb9110abb29186d182196133618fc460f71d1300 + URL "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-mpdecimal-4.0.0-1-any.pkg.tar.zst" + SHA512 a5975bb5b2ee8e28de986fa8951aa023a55ab54a8c70260dfd54437abeb5f9220b01463b200a228c46ca5ba84ea6373a791b087c32fd41a066b4524892caf282 DEPS mingw-w64-x86_64-gcc-libs ) z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-tk-8.6.10-2-any.pkg.tar.zst" - SHA512 a2d05ce3070d3a3bdf823fa5c790b124aa7493e60758e2911d3f9651899cf58328044f9b06edd82060d8a4b5efb5c4cb32085d827aecd796dbb5e42441da305f - DEPS mingw-w64-x86_64-tcl + URL "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-mpfr-4.2.1-2-any.pkg.tar.zst" + SHA512 03a727e1622b09ed0b6e0cb93a6b1040c31c9504c3f14bd1a2e12b8293153609796bc99882393b343c4d96e45f402f847317a3a65212b972ff96a964e5e52815 + DEPS mingw-w64-x86_64-gcc-libs mingw-w64-x86_64-gmp ) z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-tcl-8.6.10-1-any.pkg.tar.xz" - SHA512 c3f21588e19725598878ef13145fbe7a995c2a0c678ef0a4782e28fd64d65fe3271178369bf0c54e92123eba82f2d3da6ae2fc34acd3b20150d1e173be1c0f8f - DEPS mingw-w64-x86_64-gcc-libs mingw-w64-x86_64-zlib + URL "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-ncurses-6.5.20240831-1-any.pkg.tar.zst" + SHA512 6ec005bae6cbd6bbd6e708f1b11ec0ff8f604d771bc0ec13c903dfd1374b9e40db9925232a83f5640fa2856756161094326bf822f7b4f0e4941d391f6cce05c4 + DEPS mingw-w64-x86_64-libsystre ) z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-xz-5.2.5-2-any.pkg.tar.zst" - SHA512 94fcf8b9f9fbc2cfdb2ed53dbe72797806aa3399c4dcfea9c6204702c4504eb4d4204000accd965fcd0680d994bf947eae308bc576e629bbaa3a4cefda3aea52 - DEPS mingw-w64-x86_64-gcc-libs mingw-w64-x86_64-gettext + URL "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-openblas-0.3.28-1-any.pkg.tar.zst" + SHA512 615c1fe95887ad7bc3caf35295519cfc6224cb74a48b900d1608c93427379c335df3858f7cfbe555adfc4c88a9e607c2c8fb8d8f8e18404311b0924c9bcda454 + PROVIDES mingw-w64-x86_64-OpenBLAS + DEPS mingw-w64-x86_64-gcc-libgfortran mingw-w64-x86_64-gcc-libs mingw-w64-x86_64-libwinpthread mingw-w64-x86_64-omp ) z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-gettext-0.19.8.1-10-any.pkg.tar.zst" - SHA512 ebe948028942738918930b1f3b7aa0314ce0fb617dbd36dcfaf3980958555c7c476f2b50c21d272d01fd3b0bb87ac4f800e485a5b7f8fcc7b30aacdf76740348 - DEPS mingw-w64-x86_64-expat mingw-w64-x86_64-gcc-libs mingw-w64-x86_64-libiconv + URL "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-openssl-3.3.2-1-any.pkg.tar.zst" + SHA512 64eb1c99cfde5fd72c02d1ae70c527a55cebc5cb120168af06f030e84e43f07d717190587bb8cb9f7075b6786e9e5791548401d8a8a8b225662163e48560c7a7 + #DEPS mingw-w64-x86_64-ca-certificates mingw-w64-x86_64-gcc-libs mingw-w64-x86_64-zlib ) z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-gcc-libs-10.2.0-9-any.pkg.tar.zst" - SHA512 b2952015e0b27c51219fe15d7550a349e6d73032bbe328f00d6654008c4bda28766d75ce8898d765879ec5f4815695d0f047d01811d8253ed2d433cd5c77d5a9 - DEPS mingw-w64-x86_64-gmp mingw-w64-x86_64-libwinpthread mingw-w64-x86_64-mpc mingw-w64-x86_64-mpfr + URL "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-p11-kit-0.25.5-1-any.pkg.tar.zst" + SHA512 3ecf6cf3f2c774022ed0ae58a1ee63dca84aeabf226b39a69459370d84d13c4ce4e9776be05880ffa7be2da84f504fe051624e1c9378cb49a71e5c0c4d5110e0 + DEPS mingw-w64-x86_64-gettext-runtime mingw-w64-x86_64-libffi mingw-w64-x86_64-libtasn1 ) z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-mpc-1.2.0-2-any.pkg.tar.zst" - SHA512 f094b3ec407382018b3454afa07ea82b94acf3b92c094c46ab6d27e56cd2647cf5bc4986ecb18f8a5da721fd267dceba25353822e7cac33d9107604ac5d429bc - DEPS mingw-w64-x86_64-mpfr + URL "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-python-3.11.10-1-any.pkg.tar.zst" + SHA512 f20c99e72071eaef235e2c8b69b5ec46e1152818c73d79dd1042b2d8ad6e7ca176eb1dd4d1e50200a86c0a66a5c1bf5c0a431a183eb4733ed783794488db65ab + PROVIDES mingw-w64-x86_64-python3 mingw-w64-x86_64-python3.11 + DEPS mingw-w64-x86_64-bzip2 mingw-w64-x86_64-expat mingw-w64-x86_64-gcc-libs mingw-w64-x86_64-libffi mingw-w64-x86_64-mpdecimal mingw-w64-x86_64-ncurses mingw-w64-x86_64-openssl mingw-w64-x86_64-sqlite3 mingw-w64-x86_64-tcl mingw-w64-x86_64-tk mingw-w64-x86_64-xz mingw-w64-x86_64-zlib ) z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-mpfr-4.1.0-3-any.pkg.tar.zst" - SHA512 be8ad04e53804f18cfeec5b9cba1877af1516762de60891e115826fcfe95166751a68e24cdf351a021294e3189c31ce3c2db0ebf9c1d4d4ab6fea1468f73ced5 - DEPS mingw-w64-x86_64-gmp + URL "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-python-numpy-2.1.1-1-any.pkg.tar.zst" + SHA512 73d37131fb525083dd1eb94601cb09f5505f9f9b893a92d621ac2b83062bb0152f9b8c2df1db7adaef2f09f8f294e94ab0f660445b003509b87b0f904b11d872 + PROVIDES mingw-w64-x86_64-python3-numpy + DEPS mingw-w64-x86_64-openblas mingw-w64-x86_64-python ) z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-gmp-6.2.0-3-any.pkg.tar.zst" - SHA512 2736ba40bd7cac4ed12aae3d677aa0b788b161d2488976fbbae0fc6cff9ab154a09c903c1eec38ffe408a41abc62fd6106b55e17d7826b6dc10e720053685b1f + URL "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-readline-8.2.013-1-any.pkg.tar.zst" + SHA512 282c8eb6d7241cedbce6d352489b75fc352d154ecd0a259b772f45acc29c2a47a610a8043c7635475bed39b2cca9a45c09845c77c655881dbc7403aa12c65c35 + DEPS mingw-w64-x86_64-gcc-libs mingw-w64-x86_64-termcap ) z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-expat-2.2.10-1-any.pkg.tar.zst" - SHA512 ea3069abd7b9809186d1204479a49d605797535e5d618c5c4fc068511134ef9a277facd67fc47fa9a00da2018db90291190fdb2187cb6a7bd99331a1c0c7e119 + URL "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-sqlite3-3.46.1-1-any.pkg.tar.zst" + SHA512 797daba7133d233c98445082a4cbe308ed0cde597c8ee01e6282f1b7fe7ff273bac1446b2f6fc33436b01254db7b3419b554ecfdbf4e4782082d0603cf5abd3d + PROVIDES mingw-w64-x86_64-sqlite mingw-w64-x86_64-sqlite-analyzer + DEPS mingw-w64-x86_64-gcc-libs mingw-w64-x86_64-readline mingw-w64-x86_64-tcl mingw-w64-x86_64-zlib ) z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-libffi-3.3-3-any.pkg.tar.zst" - SHA512 6d7700e218018454e406737108c40328038deb8d159b147b4159192d01fb72f8df90a81cf769c0b452fdab1f2ff110ead2e1894e3804f7e827fa2770349c63f8 + URL "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-termcap-1.3.1-7-any.pkg.tar.zst" + SHA512 2610355be441fd933f660f8181a5ad074057361a9aadeaad85961230dcf6df5d5165b94ccf9887144c91812485be57c2d79f39e8191ff525889bdff042d34ce6 + DEPS mingw-w64-x86_64-gcc-libs ) z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-libiconv-1.16-2-any.pkg.tar.zst" - SHA512 542ed5d898a57a79d3523458f8f3409669b411f87d0852bb566d66f75c96422433f70628314338993461bcb19d4bfac4dadd9d21390cb4d95ef0445669288658 + URL "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-tcl-8.6.13-1-any.pkg.tar.zst" + SHA512 e143405ed45da7986d30d2f14bde9dff16fb0ea85a01df45d15cbe8fc52065f5efcb22f8da98962022efbfee3a704fc20e38839ec448cdbb5809336b6b97d550 + DEPS mingw-w64-x86_64-gcc-libs mingw-w64-x86_64-zlib ) z_vcpkg_acquire_msys_declare_package( - URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-zlib-1.2.11-9-any.pkg.tar.zst" - SHA512 f386d3a8d8c169a62a4580af074b7fdc0760ef0fde22ef7020a349382dd374a9e946606c757d12da1c1fe68baf5e2eaf459446e653477035a63e0e20df8f4aa0 + URL "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-tk-8.6.13-1-any.pkg.tar.zst" + SHA512 dfe682110999dfd7e03df50cd2719fbaad7410b327dd918af0606a78dce5cfe6fc719739b3ae147053f4e42bb3f294c2767141f30ccd59e5cac90151e5b0b852 + DEPS mingw-w64-x86_64-tcl ) z_vcpkg_acquire_msys_declare_package( - NAME "mingw-w64-x86_64-libwinpthread" - URL "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-libwinpthread-git-8.0.0.5906.c9a21571-1-any.pkg.tar.zst" - SHA512 a6969a5db1c55ba458c1a047d0a2a9d2db6cc24266ea47f740598b149a601995d2de734a0984ac5e57ee611d5982cbc03fd6fc0f498435e8d6401bf15724caad + URL "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-xz-5.6.3-1-any.pkg.tar.zst" + SHA512 faa5f945e2f9b8a11b3419f9bc0b9179e2bcbda36e540cd2b971849dd7f2a0dd3f4ca54b279823716f168a3970343518737fb2992fc37e252f6800d2b5146a23 + DEPS mingw-w64-x86_64-gettext-runtime ) - - if(NOT Z_VCPKG_MSYS_PACKAGES STREQUAL "") - message(FATAL_ERROR "Unknown packages were required for vcpkg_acquire_msys(${arg_PACKAGES}): ${packages} -This can be resolved by explicitly passing URL/SHA pairs to DIRECT_PACKAGES.") - endif() - - string(SHA512 total_hash "${Z_VCPKG_MSYS_TOTAL_HASH}") - string(SUBSTRING "${total_hash}" 0 16 total_hash) - set(path_to_root "${DOWNLOADS}/tools/msys2/${total_hash}") - if(NOT EXISTS "${path_to_root}") - file(REMOVE_RECURSE "${path_to_root}.tmp") - file(MAKE_DIRECTORY "${path_to_root}.tmp/tmp") - set(index 0) - foreach(archive IN LISTS Z_VCPKG_MSYS_ARCHIVES) - vcpkg_execute_required_process( - ALLOW_IN_DOWNLOAD_MODE - COMMAND "${CMAKE_COMMAND}" -E tar xzf "${archive}" - LOGNAME "msys-${TARGET_TRIPLET}-${index}" - WORKING_DIRECTORY "${path_to_root}.tmp" - ) - math(EXPR index "${index} + 1") - endforeach() - file(RENAME "${path_to_root}.tmp" "${path_to_root}") - endif() - # Due to skipping the regular MSYS2 installer, - # some config files need to be established explicitly. - if(NOT EXISTS "${path_to_root}/etc/fstab") - # This fstab entry removes the cygdrive prefix from paths. - file(WRITE "${path_to_root}/etc/fstab" "none / cygdrive binary,posix=0,noacl,user 0 0") - endif() - message(STATUS "Using msys root at ${path_to_root}") - set("${out_msys_root}" "${path_to_root}" PARENT_SCOPE) -endfunction() + z_vcpkg_acquire_msys_declare_package( + URL "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-zlib-1.3.1-1-any.pkg.tar.zst" + SHA512 1336cd0db102af495d8bbfc6a1956f365750b19d2377fe809e9b26f61a8a6600394e7343677645c5743f4974161535dad5c0503ff50f6126d27bb927754e7320 + ) +endmacro() diff --git a/scripts/cmake/vcpkg_add_to_path.cmake b/scripts/cmake/vcpkg_add_to_path.cmake index b17aca36803edb..1ea11a6654a2d6 100644 --- a/scripts/cmake/vcpkg_add_to_path.cmake +++ b/scripts/cmake/vcpkg_add_to_path.cmake @@ -1,27 +1,3 @@ -#[===[ -# vcpkg_add_to_path - -Add a directory or directories to the PATH environment variable - -```cmake -vcpkg_add_to_path([PREPEND] [...]) -``` - -`vcpkg_add_to_path` adds all of the paths passed to it to the PATH environment variable. -If PREPEND is passed, then those paths are prepended to the PATH environment variable, -so that they are searched first; otherwise, those paths are appended, so they are -searched after the paths which are already in the environment variable. - -The paths are added in the order received, so that the first path is always searched -before a later path. - -If no paths are passed, then nothing will be done. - -## Examples: -* [curl](https://github.com/Microsoft/vcpkg/blob/master/ports/curl/portfile.cmake#L75) -* [folly](https://github.com/Microsoft/vcpkg/blob/master/ports/folly/portfile.cmake#L15) -* [z3](https://github.com/Microsoft/vcpkg/blob/master/ports/z3/portfile.cmake#L13) -#]===] function(vcpkg_add_to_path) cmake_parse_arguments(PARSE_ARGV 0 "arg" "PREPEND" "" "") if(arg_PREPEND) diff --git a/scripts/cmake/vcpkg_apply_patches.cmake b/scripts/cmake/vcpkg_apply_patches.cmake index dae9e6018b1e55..1a3756ec58f948 100644 --- a/scripts/cmake/vcpkg_apply_patches.cmake +++ b/scripts/cmake/vcpkg_apply_patches.cmake @@ -1,19 +1,3 @@ -# DEPRECATED: in favor of the `PATCHES` argument to [`vcpkg_from_github()`](vcpkg_from_github.md) et al. - -#[===[.md -# vcpkg_apply_patches - -Apply a set of patches to a source tree. - -```cmake -vcpkg_apply_patches( - SOURCE_PATH <${SOURCE_PATH}> - [QUIET] - PATCHES ... -) -``` -#]===] - function(vcpkg_apply_patches) z_vcpkg_deprecation_message("vcpkg_apply_patches has been deprecated in favor of the `PATCHES` argument to `vcpkg_from_*`.") diff --git a/scripts/cmake/vcpkg_backup_restore_env_vars.cmake b/scripts/cmake/vcpkg_backup_restore_env_vars.cmake index d7eb5f3839679e..63220f4349abc4 100644 --- a/scripts/cmake/vcpkg_backup_restore_env_vars.cmake +++ b/scripts/cmake/vcpkg_backup_restore_env_vars.cmake @@ -1,27 +1,3 @@ -#[===[.md: -# vcpkg_backup_restore_env_vars - -Backup or restore the environment variables - -## Usage: -```cmake -vcpkg_backup_env_variables(VARS [...]) -vcpkg_restore_env_variables(VARS [...]) -``` - -### VARS -The variables to back up or restore. -These are placed in the parent scope, so you must backup and restore -from the same scope. - -## Notes -One must always call `vcpkg_backup_env_variables` before -`vcpkg_restore_env_variables`; however, `vcpkg_restore_env_variables` -does not change the back up variables, and so you may call `restore` -multiple times for one `backup`. - -#]===] - function(vcpkg_backup_env_variables) cmake_parse_arguments(PARSE_ARGV 0 arg "" "" "VARS") if(NOT DEFINED arg_VARS) diff --git a/scripts/cmake/vcpkg_build_cmake.cmake b/scripts/cmake/vcpkg_build_cmake.cmake index b3015ae29e8865..8a8c25ebc50414 100644 --- a/scripts/cmake/vcpkg_build_cmake.cmake +++ b/scripts/cmake/vcpkg_build_cmake.cmake @@ -1,38 +1,3 @@ -# DEPRECATED BY ports/vcpkg-cmake/vcpkg_cmake_build -#[===[.md: -# vcpkg_build_cmake - -Build a cmake project. - -## Usage: -```cmake -vcpkg_build_cmake([DISABLE_PARALLEL] [TARGET ]) -``` - -## Parameters: -### DISABLE_PARALLEL -The underlying buildsystem will be instructed to not parallelize - -### TARGET -The target passed to the cmake build command (`cmake --build . --target `). If not specified, no target will -be passed. - -### ADD_BIN_TO_PATH -Adds the appropriate Release and Debug `bin` directories to the path during the build such that executables can run against the in-tree DLLs. - -## Notes: -This command should be preceded by a call to [`vcpkg_configure_cmake()`](vcpkg_configure_cmake.md). -You can use the alias [`vcpkg_install_cmake()`](vcpkg_configure_cmake.md) function if your CMake script supports the -"install" target - -## Examples: - -* [zlib](https://github.com/Microsoft/vcpkg/blob/master/ports/zlib/portfile.cmake) -* [cpprestsdk](https://github.com/Microsoft/vcpkg/blob/master/ports/cpprestsdk/portfile.cmake) -* [poco](https://github.com/Microsoft/vcpkg/blob/master/ports/poco/portfile.cmake) -* [opencv](https://github.com/Microsoft/vcpkg/blob/master/ports/opencv/portfile.cmake) -#]===] - function(vcpkg_build_cmake) cmake_parse_arguments(PARSE_ARGV 0 "arg" "DISABLE_PARALLEL;ADD_BIN_TO_PATH" @@ -64,6 +29,13 @@ function(vcpkg_build_cmake) vcpkg_list(SET parallel_param "/m") elseif("${Z_VCPKG_CMAKE_GENERATOR}" STREQUAL "NMake Makefiles") # No options are currently added for nmake builds + elseif(Z_VCPKG_CMAKE_GENERATOR STREQUAL "Unix Makefiles") + vcpkg_list(SET build_param "VERBOSE=1") + vcpkg_list(SET parallel_param "-j${VCPKG_CONCURRENCY}") + vcpkg_list(SET no_parallel_param "") + elseif(Z_VCPKG_CMAKE_GENERATOR STREQUAL "Xcode") + vcpkg_list(SET parallel_param -jobs "${VCPKG_CONCURRENCY}") + vcpkg_list(SET no_parallel_param -jobs 1) else() message(FATAL_ERROR "Unrecognized GENERATOR setting from vcpkg_configure_cmake(). Valid generators are: Ninja, Visual Studio, and NMake Makefiles") endif() diff --git a/scripts/cmake/vcpkg_build_make.cmake b/scripts/cmake/vcpkg_build_make.cmake old mode 100755 new mode 100644 index aa105fe6cd4fee..7e54ced1b96e58 --- a/scripts/cmake/vcpkg_build_make.cmake +++ b/scripts/cmake/vcpkg_build_make.cmake @@ -1,55 +1,3 @@ -#[===[.md: -# vcpkg_build_make - -Build a linux makefile project. - -## Usage: -```cmake -vcpkg_build_make([BUILD_TARGET ] - [ADD_BIN_TO_PATH] - [ENABLE_INSTALL] - [MAKEFILE ] - [LOGFILE_ROOT ]) -``` - -### BUILD_TARGET -The target passed to the make build command (`./make `). If not specified, the 'all' target will -be passed. - -### ADD_BIN_TO_PATH -Adds the appropriate Release and Debug `bin\` directories to the path during the build such that executables can run against the in-tree DLLs. - -### ENABLE_INSTALL -IF the port supports the install target use vcpkg_install_make() instead of vcpkg_build_make() - -### MAKEFILE -Specifies the Makefile as a relative path from the root of the sources passed to `vcpkg_configure_make()` - -### BUILD_TARGET -The target passed to the make build command (`./make `). Defaults to 'all'. - -### INSTALL_TARGET -The target passed to the make build command (`./make `) if `ENABLE_INSTALL` is used. Defaults to 'install'. - -### DISABLE_PARALLEL -The underlying buildsystem will be instructed to not parallelize - -### SUBPATH -Additional subdir to invoke make in. Useful if only parts of a port should be built. - -## Notes: -This command should be preceded by a call to [`vcpkg_configure_make()`](vcpkg_configure_make.md). -You can use the alias [`vcpkg_install_make()`](vcpkg_install_make.md) function if your makefile supports the -"install" target - -## Examples - -* [x264](https://github.com/Microsoft/vcpkg/blob/master/ports/x264/portfile.cmake) -* [tcl](https://github.com/Microsoft/vcpkg/blob/master/ports/tcl/portfile.cmake) -* [freexl](https://github.com/Microsoft/vcpkg/blob/master/ports/freexl/portfile.cmake) -* [libosip2](https://github.com/Microsoft/vcpkg/blob/master/ports/libosip2/portfile.cmake) -#]===] - function(vcpkg_build_make) z_vcpkg_get_cmake_vars(cmake_vars_file) include("${cmake_vars_file}") @@ -81,8 +29,8 @@ function(vcpkg_build_make) set(arg_INSTALL_TARGET "install") endif() - if(WIN32) - set(Z_VCPKG_INSTALLED ${CURRENT_INSTALLED_DIR}) + if(CMAKE_HOST_WIN32) + set(Z_VCPKG_INSTALLED "${CURRENT_INSTALLED_DIR}") else() string(REPLACE " " "\ " Z_VCPKG_INSTALLED "${CURRENT_INSTALLED_DIR}") endif() @@ -97,72 +45,77 @@ function(vcpkg_build_make) find_program(Z_VCPKG_MAKE make PATHS "${MSYS_ROOT}/usr/bin" NO_DEFAULT_PATH REQUIRED) endif() set(make_command "${Z_VCPKG_MAKE}") - vcpkg_list(SET make_opts ${arg_OPTIONS} ${arg_MAKE_OPTIONS} -j ${VCPKG_CONCURRENCY} --trace -f ${arg_MAKEFILE} ${arg_BUILD_TARGET}) - vcpkg_list(SET no_parallel_make_opts ${arg_OPTIONS} ${arg_MAKE_OPTIONS} -j 1 --trace -f ${arg_MAKEFILE} ${arg_BUILD_TARGET}) + vcpkg_list(SET make_opts ${arg_OPTIONS} -j ${VCPKG_CONCURRENCY} --trace -f ${arg_MAKEFILE} ${arg_BUILD_TARGET}) + vcpkg_list(SET no_parallel_make_opts ${arg_OPTIONS} -j 1 --trace -f ${arg_MAKEFILE} ${arg_BUILD_TARGET}) string(REPLACE " " [[\ ]] vcpkg_package_prefix "${CURRENT_PACKAGES_DIR}") string(REGEX REPLACE [[([a-zA-Z]):/]] [[/\1/]] vcpkg_package_prefix "${vcpkg_package_prefix}") vcpkg_list(SET install_opts -j ${VCPKG_CONCURRENCY} --trace -f ${arg_MAKEFILE} ${arg_INSTALL_TARGET} DESTDIR=${vcpkg_package_prefix}) + vcpkg_list(SET no_parallel_install_opts -j 1 --trace -f ${arg_MAKEFILE} ${arg_INSTALL_TARGET} DESTDIR=${vcpkg_package_prefix}) #TODO: optimize for install-data (release) and install-exec (release/debug) + else() - if(VCPKG_HOST_IS_OPENBSD) + if(VCPKG_HOST_IS_FREEBSD OR VCPKG_HOST_IS_OPENBSD) find_program(Z_VCPKG_MAKE gmake REQUIRED) else() find_program(Z_VCPKG_MAKE make REQUIRED) endif() set(make_command "${Z_VCPKG_MAKE}") - vcpkg_list(SET make_opts ${arg_MAKE_OPTIONS} V=1 -j ${VCPKG_CONCURRENCY} -f ${arg_MAKEFILE} ${arg_BUILD_TARGET}) - vcpkg_list(SET no_parallel_make_opts ${arg_MAKE_OPTIONS} V=1 -j 1 -f ${arg_MAKEFILE} ${arg_BUILD_TARGET}) + vcpkg_list(SET make_opts ${arg_OPTIONS} V=1 -j ${VCPKG_CONCURRENCY} -f ${arg_MAKEFILE} ${arg_BUILD_TARGET}) + vcpkg_list(SET no_parallel_make_opts ${arg_OPTIONS} V=1 -j 1 -f ${arg_MAKEFILE} ${arg_BUILD_TARGET}) vcpkg_list(SET install_opts -j ${VCPKG_CONCURRENCY} -f ${arg_MAKEFILE} ${arg_INSTALL_TARGET} DESTDIR=${CURRENT_PACKAGES_DIR}) + vcpkg_list(SET no_parallel_install_opts -j 1 -f ${arg_MAKEFILE} ${arg_INSTALL_TARGET} DESTDIR=${CURRENT_PACKAGES_DIR}) endif() # Since includes are buildtype independent those are setup by vcpkg_configure_make - vcpkg_backup_env_variables(VARS LIB LIBPATH LIBRARY_PATH LD_LIBRARY_PATH) + vcpkg_backup_env_variables(VARS LIB LIBPATH LIBRARY_PATH LD_LIBRARY_PATH CPPFLAGS CFLAGS CXXFLAGS RCFLAGS) + + z_vcpkg_configure_make_common_definitions() foreach(buildtype IN ITEMS "debug" "release") + if (buildtype STREQUAL "debug" AND _VCPKG_MAKE_NO_DEBUG) + continue() + endif() if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "${buildtype}") - if("${buildtype}" STREQUAL "debug") - set(short_buildtype "-dbg") - set(cmake_buildtype "DEBUG") - set(path_suffix "/debug") - else() - # In NO_DEBUG mode, we only use ${TARGET_TRIPLET} directory. - set(short_buildtype "-rel") - set(cmake_buildtype "RELEASE") - set(path_suffix "") + string(TOUPPER "${buildtype}" cmake_buildtype) + set(short_buildtype "${short_name_${cmake_buildtype}}") + set(path_suffix "${path_suffix_${cmake_buildtype}}") + + set(working_directory "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${short_buildtype}/${arg_SUBPATH}") + message(STATUS "Building ${TARGET_TRIPLET}-${short_buildtype}") + + if("libtool-link-pass-target" IN_LIST VCPKG_BUILD_MAKE_FIXUP) + # Pass --target to the linker, e.g. for Android + file(GLOB_RECURSE libtool_files "${working_directory}/libtool") + foreach(file IN LISTS libtool_files) + vcpkg_replace_string("${file}" [[-xtarget=*|]] [[-xtarget=*|--target=*|]]) + endforeach() endif() - set(working_directory "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}${short_buildtype}${arg_SUBPATH}") - message(STATUS "Building ${TARGET_TRIPLET}${short_buildtype}") + z_vcpkg_configure_make_process_flags("${cmake_buildtype}") - z_vcpkg_extract_cpp_flags_and_set_cflags_and_cxxflags("${cmake_buildtype}") - - if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - set(LINKER_FLAGS_${cmake_buildtype} "${VCPKG_DETECTED_STATIC_LINKER_FLAGS_${cmake_buildtype}}") - else() # dynamic - set(LINKER_FLAGS_${cmake_buildtype} "${VCPKG_DETECTED_SHARED_LINKER_FLAGS_${cmake_buildtype}}") - endif() - if (CMAKE_HOST_WIN32 AND VCPKG_DETECTED_CMAKE_C_COMPILER MATCHES "cl.exe") - set(LDFLAGS_${cmake_buildtype} "-L${Z_VCPKG_INSTALLED}${path_suffix}/lib -L${Z_VCPKG_INSTALLED}${path_suffix}/lib/manual-link") - set(LINK_ENV_${cmake_buildtype} "$ENV{_LINK_} ${LINKER_FLAGS_${cmake_buildtype}}") - else() - set(LDFLAGS_${cmake_buildtype} "-L${Z_VCPKG_INSTALLED}${path_suffix}/lib -L${Z_VCPKG_INSTALLED}${path_suffix}/lib/manual-link ${LINKER_FLAGS_${cmake_buildtype}}") - endif() - # Setup environment set(ENV{CPPFLAGS} "${CPPFLAGS_${cmake_buildtype}}") set(ENV{CFLAGS} "${CFLAGS_${cmake_buildtype}}") set(ENV{CXXFLAGS} "${CXXFLAGS_${cmake_buildtype}}") set(ENV{RCFLAGS} "${VCPKG_DETECTED_CMAKE_RC_FLAGS_${cmake_buildtype}}") set(ENV{LDFLAGS} "${LDFLAGS_${cmake_buildtype}}") - vcpkg_host_path_list(PREPEND ENV{LIB} "${Z_VCPKG_INSTALLED}${path_suffix}/lib/" "${Z_VCPKG_INSTALLED}${path_suffix}/lib/manual-link/") - vcpkg_host_path_list(PREPEND ENV{LIBPATH} "${Z_VCPKG_INSTALLED}${path_suffix}/lib/" "${Z_VCPKG_INSTALLED}${path_suffix}/lib/manual-link/") - vcpkg_host_path_list(PREPEND ENV{LIBRARY_PATH} "${Z_VCPKG_INSTALLED}${path_suffix_${buildtype}}/lib/" "${Z_VCPKG_INSTALLED}${path_suffix}/lib/manual-link/") - #vcpkg_host_path_list(PREPEND ENV{LD_LIBRARY_PATH} "${Z_VCPKG_INSTALLED}${path_suffix}/lib/" "${Z_VCPKG_INSTALLED}${path_suffix_${buildtype}}/lib/manual-link/") - - if(LINK_ENV_${_VAR_SUFFIX}) + vcpkg_list(APPEND lib_env_vars LIB LIBPATH LIBRARY_PATH) # LD_LIBRARY_PATH) + foreach(lib_env_var IN LISTS lib_env_vars) + if(EXISTS "${Z_VCPKG_INSTALLED}${path_suffix}/lib") + vcpkg_host_path_list(PREPEND ENV{${lib_env_var}} "${Z_VCPKG_INSTALLED}${path_suffix}/lib") + endif() + if(EXISTS "${Z_VCPKG_INSTALLED}${path_suffix}/lib/manual-link") + vcpkg_host_path_list(PREPEND ENV{${lib_env_var}} "${Z_VCPKG_INSTALLED}${path_suffix}/lib/manual-link") + endif() + endforeach() + unset(lib_env_vars) + + if(LINK_ENV_${cmake_buildtype}) set(config_link_backup "$ENV{_LINK_}") - set(ENV{_LINK_} "${LINK_ENV_${_VAR_SUFFIX}}") + set(ENV{_LINK_} "${LINK_ENV_${cmake_buildtype}}") + else() + unset(config_link_backup) endif() if(arg_ADD_BIN_TO_PATH) @@ -177,41 +130,44 @@ function(vcpkg_build_make) vcpkg_execute_build_process( COMMAND ${no_parallel_make_cmd_line} WORKING_DIRECTORY "${working_directory}" - LOGNAME "${arg_LOGFILE_ROOT}-${TARGET_TRIPLET}${short_buildtype}" + LOGNAME "${arg_LOGFILE_ROOT}-${TARGET_TRIPLET}-${short_buildtype}" ) else() vcpkg_execute_build_process( COMMAND ${make_cmd_line} NO_PARALLEL_COMMAND ${no_parallel_make_cmd_line} WORKING_DIRECTORY "${working_directory}" - LOGNAME "${arg_LOGFILE_ROOT}-${TARGET_TRIPLET}${short_buildtype}" + LOGNAME "${arg_LOGFILE_ROOT}-${TARGET_TRIPLET}-${short_buildtype}" ) endif() - file(READ "${CURRENT_BUILDTREES_DIR}/${arg_LOGFILE_ROOT}-${TARGET_TRIPLET}${short_buildtype}-out.log" logdata) + file(READ "${CURRENT_BUILDTREES_DIR}/${arg_LOGFILE_ROOT}-${TARGET_TRIPLET}-${short_buildtype}-out.log" logdata) if(logdata MATCHES "Warning: linker path does not have real file for library") message(FATAL_ERROR "libtool could not find a file being linked against!") endif() if (arg_ENABLE_INSTALL) - message(STATUS "Installing ${TARGET_TRIPLET}${short_buildtype}") + message(STATUS "Installing ${TARGET_TRIPLET}-${short_buildtype}") vcpkg_list(SET make_cmd_line ${make_command} ${install_opts}) + vcpkg_list(SET no_parallel_make_cmd_line ${make_command} ${no_parallel_install_opts}) vcpkg_execute_build_process( COMMAND ${make_cmd_line} + NO_PARALLEL_COMMAND ${no_parallel_make_cmd_line} WORKING_DIRECTORY "${working_directory}" - LOGNAME "install-${TARGET_TRIPLET}${short_buildtype}" + LOGNAME "install-${TARGET_TRIPLET}-${short_buildtype}" ) endif() - if(config_link_backup) + if(DEFINED config_link_backup) set(ENV{_LINK_} "${config_link_backup}") - unset(config_link_backup) endif() if(arg_ADD_BIN_TO_PATH) set(ENV{PATH} "${env_backup_path}") endif() endif() + + vcpkg_restore_env_variables(VARS LIB LIBPATH LIBRARY_PATH) endforeach() if (arg_ENABLE_INSTALL) @@ -232,5 +188,6 @@ function(vcpkg_build_make) set(ENV{PATH} "${path_backup}") endif() - vcpkg_restore_env_variables(VARS LIB LIBPATH LIBRARY_PATH LD_LIBRARY_PATH) + vcpkg_restore_env_variables(VARS LIB LIBPATH LIBRARY_PATH LD_LIBRARY_PATH CPPFLAGS CFLAGS CXXFLAGS RCFLAGS) + unset(_VCPKG_MAKE_NO_DEBUG PARENT_SCOPE) endfunction() diff --git a/scripts/cmake/vcpkg_build_msbuild.cmake b/scripts/cmake/vcpkg_build_msbuild.cmake index 831887dc29a250..90fb313c90fecb 100644 --- a/scripts/cmake/vcpkg_build_msbuild.cmake +++ b/scripts/cmake/vcpkg_build_msbuild.cmake @@ -1,67 +1,3 @@ -#[===[.md: -# vcpkg_build_msbuild - -Build a msbuild-based project. Deprecated in favor of `vcpkg_install_msbuild()`. - -## Usage -```cmake -vcpkg_build_msbuild( - PROJECT_PATH <${SOURCE_PATH}/port.sln> - [RELEASE_CONFIGURATION ] - [DEBUG_CONFIGURATION ] - [TARGET ] - [TARGET_PLATFORM_VERSION <10.0.15063.0>] - [PLATFORM <${TRIPLET_SYSTEM_ARCH}>] - [PLATFORM_TOOLSET <${VCPKG_PLATFORM_TOOLSET}>] - [OPTIONS ...] - [OPTIONS_RELEASE ...] - [OPTIONS_DEBUG ...] - [USE_VCPKG_INTEGRATION] -) -``` - -## Parameters -### USE_VCPKG_INTEGRATION -Apply the normal `integrate install` integration for building the project. - -By default, projects built with this command will not automatically link libraries or have header paths set. - -### PROJECT_PATH -The path to the solution (`.sln`) or project (`.vcxproj`) file. - -### RELEASE_CONFIGURATION -The configuration (``/p:Configuration`` msbuild parameter) used for Release builds. - -### DEBUG_CONFIGURATION -The configuration (``/p:Configuration`` msbuild parameter) -used for Debug builds. - -### TARGET_PLATFORM_VERSION -The WindowsTargetPlatformVersion (``/p:WindowsTargetPlatformVersion`` msbuild parameter) - -### TARGET -The MSBuild target to build. (``/t:``) - -### PLATFORM -The platform (``/p:Platform`` msbuild parameter) used for the build. - -### PLATFORM_TOOLSET -The platform toolset (``/p:PlatformToolset`` msbuild parameter) used for the build. - -### OPTIONS -Additional options passed to msbuild for all builds. - -### OPTIONS_RELEASE -Additional options passed to msbuild for Release builds. These are in addition to `OPTIONS`. - -### OPTIONS_DEBUG -Additional options passed to msbuild for Debug builds. These are in addition to `OPTIONS`. - -## Examples - -* [chakracore](https://github.com/Microsoft/vcpkg/blob/master/ports/chakracore/portfile.cmake) -#]===] - function(vcpkg_build_msbuild) cmake_parse_arguments( PARSE_ARGV 0 diff --git a/scripts/cmake/vcpkg_build_ninja.cmake b/scripts/cmake/vcpkg_build_ninja.cmake index 5a0a1755fa8c2a..a06f3502464f2e 100644 --- a/scripts/cmake/vcpkg_build_ninja.cmake +++ b/scripts/cmake/vcpkg_build_ninja.cmake @@ -1,20 +1,3 @@ -#[===[.md: -# vcpkg_build_ninja - -Build a ninja project - -## Usage: -```cmake -vcpkg_build_ninja( - [TARGETS ...] -) -``` - -## Parameters: -### TARGETS -Only build the specified targets. -#]===] - function(z_vcpkg_build_ninja_build config targets) message(STATUS "Building (${config})...") vcpkg_execute_build_process( diff --git a/scripts/cmake/vcpkg_build_nmake.cmake b/scripts/cmake/vcpkg_build_nmake.cmake index 2a251fded6108e..ffc68d8d81b02c 100755 --- a/scripts/cmake/vcpkg_build_nmake.cmake +++ b/scripts/cmake/vcpkg_build_nmake.cmake @@ -1,77 +1,7 @@ -#[===[.md: -# vcpkg_build_nmake - -Build a msvc makefile project. - -## Usage: -```cmake -vcpkg_build_nmake( - SOURCE_PATH <${SOURCE_PATH}> - [NO_DEBUG] - [ENABLE_INSTALL] - [TARGET ] - [PROJECT_SUBPATH <${SUBPATH}>] - [PROJECT_NAME <${MAKEFILE_NAME}>] - [PRERUN_SHELL <${SHELL_PATH}>] - [PRERUN_SHELL_DEBUG <${SHELL_PATH}>] - [PRERUN_SHELL_RELEASE <${SHELL_PATH}>] - [OPTIONS <-DUSE_THIS_IN_ALL_BUILDS=1>...] - [OPTIONS_RELEASE <-DOPTIMIZE=1>...] - [OPTIONS_DEBUG <-DDEBUGGABLE=1>...] - [TARGET ]) -``` - -## Parameters -### SOURCE_PATH -Specifies the directory containing the source files. -By convention, this is usually set in the portfile as the variable `SOURCE_PATH`. - -### PROJECT_SUBPATH -Specifies the sub directory containing the `makefile.vc`/`makefile.mak`/`makefile.msvc` or other msvc makefile. - -### PROJECT_NAME -Specifies the name of msvc makefile name. -Default is `makefile.vc` - -### ENABLE_INSTALL -Install binaries after build. - -### PRERUN_SHELL -Script that needs to be called before build - -### PRERUN_SHELL_DEBUG -Script that needs to be called before debug build - -### PRERUN_SHELL_RELEASE -Script that needs to be called before release build - -### OPTIONS -Additional options passed to generate during the generation. - -### OPTIONS_RELEASE -Additional options passed to generate during the Release generation. These are in addition to `OPTIONS`. - -### OPTIONS_DEBUG -Additional options passed to generate during the Debug generation. These are in addition to `OPTIONS`. - -### TARGET -The target passed to the nmake build command (`nmake/nmake install`). If not specified, no target will -be passed. - -## Notes: -You can use the alias [`vcpkg_install_nmake()`](vcpkg_install_nmake.md) function if your makefile supports the -"install" target - -## Examples - -* [tcl](https://github.com/Microsoft/vcpkg/blob/master/ports/tcl/portfile.cmake) -* [freexl](https://github.com/Microsoft/vcpkg/blob/master/ports/freexl/portfile.cmake) -#]===] - function(vcpkg_build_nmake) cmake_parse_arguments(PARSE_ARGV 0 arg - "ADD_BIN_TO_PATH;ENABLE_INSTALL;NO_DEBUG" - "SOURCE_PATH;PROJECT_SUBPATH;PROJECT_NAME;LOGFILE_ROOT" + "ADD_BIN_TO_PATH;ENABLE_INSTALL;NO_DEBUG;PREFER_JOM" + "SOURCE_PATH;PROJECT_SUBPATH;PROJECT_NAME;LOGFILE_ROOT;CL_LANGUAGE" "OPTIONS;OPTIONS_RELEASE;OPTIONS_DEBUG;PRERUN_SHELL;PRERUN_SHELL_DEBUG;PRERUN_SHELL_RELEASE;TARGET" ) if(DEFINED arg_UNPARSED_ARGUMENTS) @@ -98,28 +28,42 @@ function(vcpkg_build_nmake) if(NOT DEFINED arg_PROJECT_NAME) set(arg_PROJECT_NAME makefile.vc) endif() + if(NOT DEFINED arg_TARGET) vcpkg_list(SET arg_TARGET all) endif() + if(arg_ENABLE_INSTALL) + vcpkg_list(APPEND arg_TARGET install) + endif() + + if(NOT DEFINED arg_CL_LANGUAGE) + set(arg_CL_LANGUAGE CXX) + endif() find_program(NMAKE nmake REQUIRED) - get_filename_component(NMAKE_EXE_PATH ${NMAKE} DIRECTORY) + get_filename_component(NMAKE_EXE_PATH "${NMAKE}" DIRECTORY) # Load toolchains - if(NOT VCPKG_CHAINLOAD_TOOLCHAIN_FILE) - set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${SCRIPTS}/toolchains/windows.cmake") - endif() - include("${VCPKG_CHAINLOAD_TOOLCHAIN_FILE}") + z_vcpkg_get_cmake_vars(cmake_vars_file) + debug_message("Including cmake vars from: ${cmake_vars_file}") + include("${cmake_vars_file}") # Set needed env set(ENV{PATH} "$ENV{PATH};${NMAKE_EXE_PATH}") set(ENV{INCLUDE} "${CURRENT_INSTALLED_DIR}/include;$ENV{INCLUDE}") - # Set make command and install command - vcpkg_list(SET make_command ${NMAKE} /NOLOGO /G /U) - vcpkg_list(SET make_opts_base -f "${arg_PROJECT_NAME}" ${arg_TARGET}) - if(arg_ENABLE_INSTALL) - vcpkg_list(APPEND make_opts_base install) + # Set make options + vcpkg_list(SET make_opts_base /NOLOGO /G /U /F "${arg_PROJECT_NAME}" ${arg_TARGET}) + + if(arg_PREFER_JOM AND VCPKG_CONCURRENCY GREATER "1") + vcpkg_find_acquire_program(JOM) + get_filename_component(JOM_EXE_PATH "${JOM}" DIRECTORY) + vcpkg_add_to_path("${JOM_EXE_PATH}") + if(arg_CL_LANGUAGE AND "${VCPKG_DETECTED_CMAKE_${arg_CL_LANGUAGE}_COMPILER_ID}" STREQUAL "MSVC") + string(REGEX REPLACE " [/-]MP[0-9]* " " " VCPKG_DETECTED_CMAKE_${arg_CL_LANGUAGE}_FLAGS_DEBUG " ${VCPKG_DETECTED_CMAKE_${arg_CL_LANGUAGE}_FLAGS_DEBUG} /FS") + string(REGEX REPLACE " [/-]MP[0-9]* " " " VCPKG_DETECTED_CMAKE_${arg_CL_LANGUAGE}_FLAGS_RELEASE " ${VCPKG_DETECTED_CMAKE_${arg_CL_LANGUAGE}_FLAGS_RELEASE} /FS") + endif() + else() + set(arg_PREFER_JOM FALSE) endif() - # Add subpath to work directory if(DEFINED arg_PROJECT_SUBPATH) set(project_subpath "/${arg_PROJECT_SUBPATH}") @@ -127,7 +71,8 @@ function(vcpkg_build_nmake) set(project_subpath "") endif() - vcpkg_backup_env_variables(VARS CL) + vcpkg_backup_env_variables(VARS _CL_ LINK) + cmake_path(NATIVE_PATH CURRENT_PACKAGES_DIR NORMALIZE install_dir_native) foreach(build_type IN ITEMS debug release) if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL build_type) if(build_type STREQUAL "debug") @@ -136,10 +81,13 @@ function(vcpkg_build_nmake) # Add install command and arguments set(make_opts "${make_opts_base}") if (arg_ENABLE_INSTALL) - vcpkg_list(APPEND make_opts "INSTALLDIR=${CURRENT_PACKAGES_DIR}/debug") + vcpkg_list(APPEND make_opts "INSTALLDIR=${install_dir_native}\\debug") endif() vcpkg_list(APPEND make_opts ${arg_OPTIONS} ${arg_OPTIONS_DEBUG}) - set(ENV{CL} "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_DEBUG}") + if(NOT arg_CL_LANGUAGE STREQUAL "NONE") + set(ENV{_CL_} "${VCPKG_DETECTED_CMAKE_${arg_CL_LANGUAGE}_FLAGS_DEBUG}") + endif() + set(ENV{_LINK_} "${VCPKG_DETECTED_CMAKE_SHARED_LINKER_FLAGS_DEBUG}") set(prerun_variable_name arg_PRERUN_SHELL_DEBUG) else() @@ -147,11 +95,14 @@ function(vcpkg_build_nmake) # Add install command and arguments set(make_opts "${make_opts_base}") if (arg_ENABLE_INSTALL) - vcpkg_list(APPEND make_opts "INSTALLDIR=${CURRENT_PACKAGES_DIR}") + vcpkg_list(APPEND make_opts "INSTALLDIR=${install_dir_native}") endif() vcpkg_list(APPEND make_opts ${arg_OPTIONS} ${arg_OPTIONS_RELEASE}) - set(ENV{CL} "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_RELEASE}") + if(NOT arg_CL_LANGUAGE STREQUAL "NONE") + set(ENV{_CL_} "${VCPKG_DETECTED_CMAKE_${arg_CL_LANGUAGE}_FLAGS_RELEASE}") + endif() + set(ENV{_LINK_} "${VCPKG_DETECTED_CMAKE_SHARED_LINKER_FLAGS_RELEASE}") set(prerun_variable_name arg_PRERUN_SHELL_RELEASE) endif() @@ -184,13 +135,32 @@ function(vcpkg_build_nmake) message(STATUS "Building and installing ${triplet_and_build_type}") endif() - vcpkg_execute_build_process( - COMMAND ${make_command} ${make_opts} - WORKING_DIRECTORY "${object_dir}${project_subpath}" - LOGNAME "${arg_LOGFILE_ROOT}-${triplet_and_build_type}" - ) + set(run_nmake TRUE) + set(tool_suffix "") + if(arg_PREFER_JOM) + execute_process( + COMMAND "${JOM}" /K /J ${VCPKG_CONCURRENCY} ${make_opts} + WORKING_DIRECTORY "${object_dir}${project_subpath}" + OUTPUT_FILE "${CURRENT_BUILDTREES_DIR}/${arg_LOGFILE_ROOT}-${triplet_and_build_type}-jom-out.log" + ERROR_FILE "${CURRENT_BUILDTREES_DIR}/${arg_LOGFILE_ROOT}-${triplet_and_build_type}-jom-err.log" + RESULT_VARIABLE error_code + ) + if(error_code EQUAL "0") + set(run_nmake FALSE) + else() + message(STATUS "Restarting build without parallelism") + set(tool_suffix "-nmake") + endif() + endif() + if(run_nmake) + vcpkg_execute_build_process( + COMMAND "${NMAKE}" ${make_opts} + WORKING_DIRECTORY "${object_dir}${project_subpath}" + LOGNAME "${arg_LOGFILE_ROOT}-${triplet_and_build_type}${tool_suffix}" + ) + endif() - vcpkg_restore_env_variables(VARS CL) + vcpkg_restore_env_variables(VARS _CL_ LINK) endif() endforeach() endfunction() diff --git a/scripts/cmake/vcpkg_build_qmake.cmake b/scripts/cmake/vcpkg_build_qmake.cmake index d592a2eeac613a..248af60260e97f 100644 --- a/scripts/cmake/vcpkg_build_qmake.cmake +++ b/scripts/cmake/vcpkg_build_qmake.cmake @@ -1,13 +1,3 @@ -#[===[.md: -# vcpkg_build_qmake - -Build a qmake-based project, previously configured using vcpkg_configure_qmake. - -```cmake -vcpkg_build_qmake() -``` -#]===] - function(z_run_jom_build invoke_command targets log_prefix log_suffix) message(STATUS "Package ${log_prefix}-${TARGET_TRIPLET}-${log_suffix}") vcpkg_execute_build_process( @@ -33,7 +23,10 @@ function(vcpkg_build_qmake) set(ENV{_CL_} "/utf-8") if(CMAKE_HOST_WIN32) - if (VCPKG_QMAKE_USE_NMAKE) + if(VCPKG_TARGET_IS_MINGW) + find_program(MINGW32_MAKE mingw32-make REQUIRED) + set(invoke_command "${MINGW32_MAKE}") + elseif (VCPKG_QMAKE_USE_NMAKE) find_program(NMAKE nmake) set(invoke_command "${NMAKE}") get_filename_component(nmake_exe_path "${NMAKE}" DIRECTORY) @@ -48,8 +41,6 @@ function(vcpkg_build_qmake) set(invoke_command "${MAKE}") endif() - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}" NATIVE_INSTALLED_DIR) - if(NOT DEFINED arg_BUILD_LOGNAME) set(arg_BUILD_LOGNAME build) endif() @@ -62,7 +53,12 @@ function(vcpkg_build_qmake) set(path_suffix_release "") set(targets_release "${arg_RELEASE_TARGETS}") - foreach(build_type IN ITEMS debug release) + if(NOT DEFINED VCPKG_BUILD_TYPE) + set(items debug release) + else() + set(items release) + endif() + foreach(build_type IN ITEMS ${items}) set(current_installed_prefix "${CURRENT_INSTALLED_DIR}${path_suffix_${build_type}}") vcpkg_add_to_path(PREPEND "${current_installed_prefix}/lib" "${current_installed_prefix}/bin") diff --git a/scripts/cmake/vcpkg_buildpath_length_warning.cmake b/scripts/cmake/vcpkg_buildpath_length_warning.cmake index 7b4032e7cd7255..bb7d6844d3e80a 100644 --- a/scripts/cmake/vcpkg_buildpath_length_warning.cmake +++ b/scripts/cmake/vcpkg_buildpath_length_warning.cmake @@ -1,17 +1,3 @@ -#[===[.md: -# vcpkg_buildpath_length_warning - -Warns the user if their vcpkg installation path might be too long for the package they're installing. - -```cmake -vcpkg_buildpath_length_warning() -``` - -`vcpkg_buildpath_length_warning` warns the user if the number of bytes in the -path to `buildtrees` is bigger than `N`. Note that this is simply a warning, -and isn't relied on for correctness. -#]===] - function(vcpkg_buildpath_length_warning warning_length) string(LENGTH "${CURRENT_BUILDTREES_DIR}" buildtrees_path_length) if(buildtrees_path_length GREATER warning_length AND CMAKE_HOST_WIN32) diff --git a/scripts/cmake/vcpkg_check_features.cmake b/scripts/cmake/vcpkg_check_features.cmake index 7679b0d11aa547..c6bec1fa300d6d 100644 --- a/scripts/cmake/vcpkg_check_features.cmake +++ b/scripts/cmake/vcpkg_check_features.cmake @@ -1,141 +1,3 @@ -#[===[.md: -# vcpkg_check_features -Check if one or more features are a part of a package installation. - -```cmake -vcpkg_check_features( - OUT_FEATURE_OPTIONS - [PREFIX ] - [FEATURES - [ ]... - ] - [INVERTED_FEATURES - [ ]... - ] -) -``` - -The `` should be set to `FEATURE_OPTIONS` by convention. - -`vcpkg_check_features()` will: - -- for each `` passed in `FEATURES`: - - if the feature is set, add `-D=ON` to ``, - and set `_` to ON. - - if the feature is not set, add `-D=OFF` to ``, - and set `_` to OFF. -- for each `` passed in `INVERTED_FEATURES`: - - if the feature is set, add `-D=OFF` to ``, - and set `_` to OFF. - - if the feature is not set, add `-D=ON` to ``, - and set `_` to ON. - -If `` is not passed, then the feature vars set are simply ``, -not `_`. - -If `INVERTED_FEATURES` is not passed, then the `FEATURES` keyword is optional. -This behavior is deprecated. - -If the same `` is passed multiple times, -then `vcpkg_check_features` will cause a fatal error, -since that is a bug. - -## Examples - -### Example 1: Regular features - -```cmake -$ ./vcpkg install mimalloc[asm,secure] - -# ports/mimalloc/portfile.cmake -vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - FEATURES - asm MI_SEE_ASM - override MI_OVERRIDE - secure MI_SECURE -) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - # Expands to "-DMI_SEE_ASM=ON;-DMI_OVERRIDE=OFF;-DMI_SECURE=ON" - ${FEATURE_OPTIONS} -) -``` - -### Example 2: Inverted features - -```cmake -$ ./vcpkg install cpprestsdk[websockets] - -# ports/cpprestsdk/portfile.cmake -vcpkg_check_features( - INVERTED_FEATURES - brotli CPPREST_EXCLUDE_BROTLI - websockets CPPREST_EXCLUDE_WEBSOCKETS -) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - # Expands to "-DCPPREST_EXCLUDE_BROTLI=ON;-DCPPREST_EXCLUDE_WEBSOCKETS=OFF" - ${FEATURE_OPTIONS} -) -``` - -### Example 3: Set multiple options for same feature - -```cmake -$ ./vcpkg install pcl[cuda] - -# ports/pcl/portfile.cmake -vcpkg_check_features( - FEATURES - cuda WITH_CUDA - cuda BUILD_CUDA - cuda BUILD_GPU -) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - # Expands to "-DWITH_CUDA=ON;-DBUILD_CUDA=ON;-DBUILD_GPU=ON" - ${FEATURE_OPTIONS} -) -``` - -### Example 4: Use regular and inverted features - -```cmake -$ ./vcpkg install rocksdb[tbb] - -# ports/rocksdb/portfile.cmake -vcpkg_check_features( - FEATURES - tbb WITH_TBB - INVERTED_FEATURES - tbb ROCKSDB_IGNORE_PACKAGE_TBB -) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - # Expands to "-DWITH_TBB=ON;-DROCKSDB_IGNORE_PACKAGE_TBB=OFF" - ${FEATURE_OPTIONS} -) -``` - -## Examples in portfiles - -* [cpprestsdk](https://github.com/microsoft/vcpkg/blob/master/ports/cpprestsdk/portfile.cmake) -* [pcl](https://github.com/microsoft/vcpkg/blob/master/ports/pcl/portfile.cmake) -* [rocksdb](https://github.com/microsoft/vcpkg/blob/master/ports/rocksdb/portfile.cmake) -#]===] - function(z_vcpkg_check_features_last_feature out_var features_name features_list) list(LENGTH features_list features_length) math(EXPR features_length_mod_2 "${features_length} % 2") @@ -225,8 +87,9 @@ function(vcpkg_check_features) set(last_variable) foreach(variable IN LISTS feature_variables) if(variable STREQUAL last_variable) - message(FATAL_ERROR "vcpkg_check_features passed the same feature variable multiple times: '${variable}'") + message("${Z_VCPKG_BACKCOMPAT_MESSAGE_LEVEL}" "vcpkg_check_features passed the same feature variable multiple times: '${variable}'") endif() + set(last_variable ${variable}) endforeach() set("${arg_OUT_FEATURE_OPTIONS}" "${feature_options}" PARENT_SCOPE) diff --git a/scripts/cmake/vcpkg_check_linkage.cmake b/scripts/cmake/vcpkg_check_linkage.cmake index f2e9fe10aabcf0..63242932dfefa6 100644 --- a/scripts/cmake/vcpkg_check_linkage.cmake +++ b/scripts/cmake/vcpkg_check_linkage.cmake @@ -1,39 +1,3 @@ -#[===[.md: -# vcpkg_check_linkage - -Asserts the available library and CRT linkage options for the port. - -## Usage -```cmake -vcpkg_check_linkage( - [ONLY_STATIC_LIBRARY | ONLY_DYNAMIC_LIBRARY] - [ONLY_STATIC_CRT | ONLY_DYNAMIC_CRT] -) -``` - -## Parameters -### ONLY_STATIC_LIBRARY -Indicates that this port can only be built with static library linkage. - -Note: If the user requested a dynamic build ONLY_STATIC_LIBRARY will result in a note being printed, not a fatal error. - -### ONLY_DYNAMIC_LIBRARY -Indicates that this port can only be built with dynamic/shared library linkage. - -### ONLY_STATIC_CRT -Indicates that this port can only be built with static CRT linkage. - -### ONLY_DYNAMIC_CRT -Indicates that this port can only be built with dynamic/shared CRT linkage. - -## Notes -This command will either alter the settings for `VCPKG_LIBRARY_LINKAGE` or fail, depending on what was requested by the user versus what the library supports. - -## Examples - -* [abseil](https://github.com/Microsoft/vcpkg/blob/master/ports/abseil/portfile.cmake) -#]===] - function(vcpkg_check_linkage) cmake_parse_arguments(PARSE_ARGV 0 arg "ONLY_STATIC_LIBRARY;ONLY_DYNAMIC_LIBRARY;ONLY_DYNAMIC_CRT;ONLY_STATIC_CRT" diff --git a/scripts/cmake/vcpkg_clean_executables_in_bin.cmake b/scripts/cmake/vcpkg_clean_executables_in_bin.cmake index e1cea3a958af05..f3c7a7568fca9f 100644 --- a/scripts/cmake/vcpkg_clean_executables_in_bin.cmake +++ b/scripts/cmake/vcpkg_clean_executables_in_bin.cmake @@ -1,26 +1,3 @@ -#[===[.md: -# vcpkg_clean_executables_in_bin - -Remove specified executables found in `${CURRENT_PACKAGES_DIR}/bin` and `${CURRENT_PACKAGES_DIR}/debug/bin`. If, after all specified executables have been removed, and the `bin` and `debug/bin` directories are empty, then also delete `bin` and `debug/bin` directories. - -## Usage -```cmake -vcpkg_clean_executables_in_bin( - FILE_NAMES ... -) -``` - -## Parameters -### FILE_NAMES -A list of executable filenames without extension. - -## Notes -Generally, there is no need to call this function manually. Instead, pass an extra `AUTO_CLEAN` argument when calling `vcpkg_copy_tools`. - -## Examples -* [czmq](https://github.com/microsoft/vcpkg/blob/master/ports/czmq/portfile.cmake) -#]===] - function(z_vcpkg_clean_executables_in_bin_remove_directory_if_empty directory) if(NOT EXISTS "${directory}") return() @@ -56,6 +33,12 @@ function(vcpkg_clean_executables_in_bin) "${CURRENT_PACKAGES_DIR}/bin/${file_name}.pdb" "${CURRENT_PACKAGES_DIR}/debug/bin/${file_name}.pdb" ) + if(NOT VCPKG_TARGET_BUNDLE_SUFFIX STREQUAL "") + file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/bin/${file_name}${VCPKG_TARGET_BUNDLE_SUFFIX}" + "${CURRENT_PACKAGES_DIR}/debug/bin/${file_name}${VCPKG_TARGET_BUNDLE_SUFFIX}" + ) + endif() endforeach() z_vcpkg_clean_executables_in_bin_remove_directory_if_empty("${CURRENT_PACKAGES_DIR}/bin") diff --git a/scripts/cmake/vcpkg_clean_msbuild.cmake b/scripts/cmake/vcpkg_clean_msbuild.cmake index 068208fb8b6345..904f40ae89c049 100644 --- a/scripts/cmake/vcpkg_clean_msbuild.cmake +++ b/scripts/cmake/vcpkg_clean_msbuild.cmake @@ -1,18 +1,3 @@ -#[===[.md: -# vcpkg_clean_msbuild - -Clean intermediate files generated by `vcpkg_install_msbuild()`. - -## Usage -```cmake -vcpkg_clean_msbuild() -``` - -## Examples - -* [python3](https://github.com/Microsoft/vcpkg/blob/master/ports/python3/portfile.cmake) -#]===] - function(vcpkg_clean_msbuild) if(NOT ARGC EQUAL 0) message(WARNING "vcpkg_clean_msbuild was passed extra arguments: ${ARGV}") diff --git a/scripts/cmake/vcpkg_common_definitions.cmake b/scripts/cmake/vcpkg_common_definitions.cmake index 40c8183f1bbb0c..cd87bf5e0efc0a 100644 --- a/scripts/cmake/vcpkg_common_definitions.cmake +++ b/scripts/cmake/vcpkg_common_definitions.cmake @@ -1,41 +1,11 @@ -#[===[.md: -# vcpkg_common_definitions - -This file defines the following variables which are commonly needed or used in portfiles: - -```cmake -VCPKG_TARGET_IS_ with being one of the following: WINDOWS, UWP, MINGW, LINUX, OSX, ANDROID, FREEBSD, OPENBSD. only defined if -VCPKG_HOST_IS_ with being one of the following: WINDOWS, LINUX, OSX, FREEBSD, OPENBSD. only defined if -VCPKG_HOST_PATH_SEPARATOR Host specific path separator (USAGE: "${VCPKG_HOST_PATH_SEPARATOR}"; only use and pass variables with VCPKG_HOST_PATH_SEPARATOR within "") -VCPKG_HOST_EXECUTABLE_SUFFIX executable suffix of the host -VCPKG_TARGET_EXECUTABLE_SUFFIX executable suffix of the target -VCPKG_HOST_BUNDLE_SUFFIX bundle suffix of the host -VCPKG_TARGET_BUNDLE_SUFFIX bundle suffix of the target -VCPKG_TARGET_STATIC_LIBRARY_PREFIX static library prefix for target (same as CMAKE_STATIC_LIBRARY_PREFIX) -VCPKG_TARGET_STATIC_LIBRARY_SUFFIX static library suffix for target (same as CMAKE_STATIC_LIBRARY_SUFFIX) -VCPKG_TARGET_SHARED_LIBRARY_PREFIX shared library prefix for target (same as CMAKE_SHARED_LIBRARY_PREFIX) -VCPKG_TARGET_SHARED_LIBRARY_SUFFIX shared library suffix for target (same as CMAKE_SHARED_LIBRARY_SUFFIX) -VCPKG_TARGET_IMPORT_LIBRARY_PREFIX import library prefix for target (same as CMAKE_IMPORT_LIBRARY_PREFIX) -VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX import library suffix for target (same as CMAKE_IMPORT_LIBRARY_SUFFIX) -VCPKG_FIND_LIBRARY_PREFIXES target dependent prefixes used for find_library calls in portfiles -VCPKG_FIND_LIBRARY_SUFFIXES target dependent suffixes used for find_library calls in portfiles -VCPKG_SYSTEM_LIBRARIES list of libraries are provide by the toolchain and are not managed by vcpkg -TARGET_TRIPLET the name of the current triplet to build for -CURRENT_INSTALLED_DIR the absolute path to the installed files for the current triplet -HOST_TRIPLET the name of the triplet corresponding to the host -CURRENT_HOST_INSTALLED_DIR the absolute path to the installed files for the host triplet -VCPKG_CROSSCOMPILING Whether vcpkg is cross-compiling: in other words, whether TARGET_TRIPLET and HOST_TRIPLET are different -``` - -CMAKE_STATIC_LIBRARY_(PREFIX|SUFFIX), CMAKE_SHARED_LIBRARY_(PREFIX|SUFFIX) and CMAKE_IMPORT_LIBRARY_(PREFIX|SUFFIX) are defined for the target -Furthermore the variables CMAKE_FIND_LIBRARY_(PREFIXES|SUFFIXES) are also defined for the target so that -portfiles are able to use find_library calls to discover dependent libraries within the current triplet for ports. -#]===] - string(COMPARE NOTEQUAL "${TARGET_TRIPLET}" "${HOST_TRIPLET}" VCPKG_CROSSCOMPILING) #Helper variable to identify the Target system. VCPKG_TARGET_IS_ if (NOT DEFINED VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "") set(VCPKG_TARGET_IS_WINDOWS ON) + + if(DEFINED VCPKG_XBOX_CONSOLE_TARGET AND NOT "${VCPKG_XBOX_CONSOLE_TARGET}" STREQUAL "") + set(VCPKG_TARGET_IS_XBOX ON) + endif() elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") set(VCPKG_TARGET_IS_WINDOWS ON) set(VCPKG_TARGET_IS_UWP ON) @@ -54,6 +24,8 @@ elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "OpenBSD") elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "MinGW") set(VCPKG_TARGET_IS_WINDOWS ON) set(VCPKG_TARGET_IS_MINGW ON) +elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Emscripten") + set(VCPKG_TARGET_IS_EMSCRIPTEN ON) endif() #Helper variables to identify the host system name @@ -97,7 +69,7 @@ else() set(VCPKG_HOST_BUNDLE_SUFFIX "") endif() -if(VCPKG_TARGET_IS_OSX) +if(VCPKG_TARGET_IS_OSX OR VCPKG_TARGET_IS_IOS) set(VCPKG_TARGET_BUNDLE_SUFFIX ".app") else() set(VCPKG_TARGET_BUNDLE_SUFFIX "") @@ -123,7 +95,7 @@ elseif(VCPKG_TARGET_IS_WINDOWS) set(VCPKG_TARGET_IMPORT_LIBRARY_PREFIX "") set(VCPKG_FIND_LIBRARY_SUFFIXES ".lib" ".dll") #This is a slight modification to CMakes value which does not include ".dll". set(VCPKG_FIND_LIBRARY_PREFIXES "" "lib") #This is a slight modification to CMakes value which does not include "lib". -elseif(VCPKG_TARGET_IS_OSX) +elseif(VCPKG_TARGET_IS_OSX OR VCPKG_TARGET_IS_IOS) set(VCPKG_TARGET_STATIC_LIBRARY_SUFFIX ".a") set(VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX "") set(VCPKG_TARGET_SHARED_LIBRARY_SUFFIX ".dylib") diff --git a/scripts/cmake/vcpkg_configure_cmake.cmake b/scripts/cmake/vcpkg_configure_cmake.cmake index 84a8d1e2786867..b051bf8216a9df 100644 --- a/scripts/cmake/vcpkg_configure_cmake.cmake +++ b/scripts/cmake/vcpkg_configure_cmake.cmake @@ -1,87 +1,3 @@ -# DEPRECATED BY ports/vcpkg-cmake/vcpkg_cmake_configure -#[===[.md: -# vcpkg_configure_cmake - -Configure CMake for Debug and Release builds of a project. - -## Usage -```cmake -vcpkg_configure_cmake( - SOURCE_PATH <${SOURCE_PATH}> - [PREFER_NINJA] - [DISABLE_PARALLEL_CONFIGURE] - [NO_CHARSET_FLAG] - [GENERATOR <"NMake Makefiles">] - [OPTIONS <-DUSE_THIS_IN_ALL_BUILDS=1>...] - [OPTIONS_RELEASE <-DOPTIMIZE=1>...] - [OPTIONS_DEBUG <-DDEBUGGABLE=1>...] - [MAYBE_UNUSED_VARIABLES ...] -) -``` - -## Parameters -### SOURCE_PATH -Specifies the directory containing the `CMakeLists.txt`. -By convention, this is usually set in the portfile as the variable `SOURCE_PATH`. - -### PREFER_NINJA -Indicates that, when available, Vcpkg should use Ninja to perform the build. -This should be specified unless the port is known to not work under Ninja. - -### DISABLE_PARALLEL_CONFIGURE -Disables running the CMake configure step in parallel. -This is needed for libraries which write back into their source directory during configure. - -This also disables CMAKE_DISABLE_SOURCE_CHANGES. - -### NO_CHARSET_FLAG -Disables passing `utf-8` as the default character set to `CMAKE_C_FLAGS` and `CMAKE_CXX_FLAGS`. - -This is needed for libraries that set their own source code's character set. - -### GENERATOR -Specifies the precise generator to use. - -This is useful if some project-specific buildsystem has been wrapped in a cmake script that won't perform an actual build. -If used for this purpose, it should be set to `"NMake Makefiles"`. - -### OPTIONS -Additional options passed to CMake during the configuration. - -### OPTIONS_RELEASE -Additional options passed to CMake during the Release configuration. These are in addition to `OPTIONS`. - -### OPTIONS_DEBUG -Additional options passed to CMake during the Debug configuration. These are in addition to `OPTIONS`. - -### MAYBE_UNUSED_VARIABLES -Any CMake variables which are explicitly passed in, but which may not be used on all platforms. -For example: -```cmake -vcpkg_cmake_configure( - ... - OPTIONS - -DBUILD_EXAMPLE=OFF - ... - MAYBE_UNUSED_VARIABLES - BUILD_EXAMPLE -) -``` - -### LOGNAME -Name of the log to write the output of the configure call to. - -## Notes -This command supplies many common arguments to CMake. To see the full list, examine the source. - -## Examples - -* [zlib](https://github.com/Microsoft/vcpkg/blob/master/ports/zlib/portfile.cmake) -* [cpprestsdk](https://github.com/Microsoft/vcpkg/blob/master/ports/cpprestsdk/portfile.cmake) -* [poco](https://github.com/Microsoft/vcpkg/blob/master/ports/poco/portfile.cmake) -* [opencv](https://github.com/Microsoft/vcpkg/blob/master/ports/opencv/portfile.cmake) -#]===] - function(z_vcpkg_configure_cmake_both_or_neither_set var1 var2) if(DEFINED "${var1}" AND NOT DEFINED "${var2}") message(FATAL_ERROR "If ${var1} is set, ${var2} must be set.") @@ -91,11 +7,80 @@ function(z_vcpkg_configure_cmake_both_or_neither_set var1 var2) endif() endfunction() function(z_vcpkg_configure_cmake_build_cmakecache out_var whereat build_type) - set(line "build ${whereat}/CMakeCache.txt: CreateProcess\n process = cmd /c \"cd ${whereat} &&") + set(line "build ${whereat}/CMakeCache.txt: CreateProcess\n") + string(APPEND line " process = \"${CMAKE_COMMAND}\" -E chdir \"${whereat}\"") foreach(arg IN LISTS "${build_type}_command") string(APPEND line " \"${arg}\"") endforeach() - set("${out_var}" "${${out_var}}${line}\"\n\n" PARENT_SCOPE) + set("${out_var}" "${${out_var}}${line}\n\n" PARENT_SCOPE) +endfunction() + +function(z_vcpkg_get_visual_studio_generator) + cmake_parse_arguments(PARSE_ARGV 0 arg "" "OUT_GENERATOR;OUT_ARCH" "") + + if (NOT DEFINED arg_OUT_GENERATOR) + message(FATAL_ERROR "OUT_GENERATOR must be defined.") + endif() + if(NOT DEFINED arg_OUT_ARCH) + message(FATAL_ERROR "OUT_ARCH must be defined.") + endif() + if(DEFINED arg_UNPARSED_ARGUMENTS) + message(FATAL_ERROR "${CMAKE_CURRENT_FUNCTION} was passed extra arguments: ${arg_UNPARSED_ARGUMENTS}") + endif() + + if(DEFINED ENV{VisualStudioVersion}) + if("$ENV{VisualStudioVersion}" VERSION_LESS_EQUAL "12.99" AND + "$ENV{VisualStudioVersion}" VERSION_GREATER_EQUAL "12.0" AND + NOT "${VCPKG_TARGET_ARCHITECTURE}" STREQUAL "arm64") + set(generator "Visual Studio 12 2013") + elseif("$ENV{VisualStudioVersion}" VERSION_LESS_EQUAL "14.99" AND + NOT "${VCPKG_TARGET_ARCHITECTURE}" STREQUAL "arm64") + set(generator "Visual Studio 14 2015") + elseif("$ENV{VisualStudioVersion}" VERSION_LESS_EQUAL "15.99") + set(generator "Visual Studio 15 2017") + elseif("$ENV{VisualStudioVersion}" VERSION_LESS_EQUAL "16.99") + set(generator "Visual Studio 16 2019") + elseif("$ENV{VisualStudioVersion}" VERSION_LESS_EQUAL "17.99") + set(generator "Visual Studio 17 2022") + endif() + endif() + + if("${VCPKG_TARGET_ARCHITECTURE}" STREQUAL "x86") + set(generator_arch "Win32") + elseif("${VCPKG_TARGET_ARCHITECTURE}" STREQUAL "x64") + set(generator_arch "x64") + elseif("${VCPKG_TARGET_ARCHITECTURE}" STREQUAL "arm") + set(generator_arch "ARM") + elseif("${VCPKG_TARGET_ARCHITECTURE}" STREQUAL "arm64") + set(generator_arch "ARM64") + endif() + set(${arg_OUT_GENERATOR} "${generator}" PARENT_SCOPE) + set(${arg_OUT_ARCH} "${generator_arch}" PARENT_SCOPE) +endfunction() + +function(z_vcpkg_select_default_vcpkg_chainload_toolchain) + # Try avoiding adding more defaults here. + # Set VCPKG_CHAINLOAD_TOOLCHAIN_FILE explicitly in the triplet. + if(DEFINED Z_VCPKG_CHAINLOAD_TOOLCHAIN_FILE) + set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${Z_VCPKG_CHAINLOAD_TOOLCHAIN_FILE}") + elseif(VCPKG_TARGET_IS_MINGW) + set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${SCRIPTS}/toolchains/mingw.cmake") + elseif(VCPKG_TARGET_IS_WINDOWS) + set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${SCRIPTS}/toolchains/windows.cmake") + elseif(VCPKG_TARGET_IS_LINUX) + set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${SCRIPTS}/toolchains/linux.cmake") + elseif(VCPKG_TARGET_IS_ANDROID) + set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${SCRIPTS}/toolchains/android.cmake") + elseif(VCPKG_TARGET_IS_OSX) + set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${SCRIPTS}/toolchains/osx.cmake") + elseif(VCPKG_TARGET_IS_IOS) + set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${SCRIPTS}/toolchains/ios.cmake") + elseif(VCPKG_TARGET_IS_FREEBSD) + set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${SCRIPTS}/toolchains/freebsd.cmake") + elseif(VCPKG_TARGET_IS_OPENBSD) + set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${SCRIPTS}/toolchains/openbsd.cmake") + endif() + set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE ${VCPKG_CHAINLOAD_TOOLCHAIN_FILE} PARENT_SCOPE) endfunction() @@ -142,6 +127,10 @@ function(vcpkg_configure_cmake) set(ninja_can_be_used ON) # Ninja as generator set(ninja_host ON) # Ninja as parallel configurator + if(NOT arg_PREFER_NINJA AND VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + set(ninja_can_be_used OFF) + endif() + if(VCPKG_HOST_IS_WINDOWS) if(DEFINED ENV{PROCESSOR_ARCHITEW6432}) set(host_arch "$ENV{PROCESSOR_ARCHITEW6432}") @@ -153,57 +142,33 @@ function(vcpkg_configure_cmake) # Prebuilt ninja binaries are only provided for x64 hosts set(ninja_can_be_used OFF) set(ninja_host OFF) - elseif(VCPKG_TARGET_IS_UWP) - # Ninja and MSBuild have many differences when targeting UWP, so use MSBuild to maximize existing compatibility - set(ninja_can_be_used OFF) endif() endif() - set(generator "") + set(generator "Ninja") # the default generator is always ninja! set(generator_arch "") if(DEFINED arg_GENERATOR) set(generator "${arg_GENERATOR}") - elseif(arg_PREFER_NINJA AND ninja_can_be_used) - set(generator "Ninja") - elseif(VCPKG_CHAINLOAD_TOOLCHAIN_FILE OR NOT VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_MINGW) - set(generator "Ninja") - - else() - if("${VCPKG_PLATFORM_TOOLSET}" STREQUAL "v120" AND NOT "${VCPKG_TARGET_ARCHITECTURE}" STREQUAL "arm64") - set(generator "Visual Studio 12 2013") - elseif("${VCPKG_PLATFORM_TOOLSET}" STREQUAL "v140" AND NOT "${VCPKG_TARGET_ARCHITECTURE}" STREQUAL "arm64") - set(generator "Visual Studio 14 2015") - elseif("${VCPKG_PLATFORM_TOOLSET}" STREQUAL "v141") - set(generator "Visual Studio 15 2017") - elseif("${VCPKG_PLATFORM_TOOLSET}" STREQUAL "v142") - set(generator "Visual Studio 16 2019") - elseif("${VCPKG_PLATFORM_TOOLSET}" STREQUAL "v143") - set(generator "Visual Studio 17 2022") - endif() - - if("${VCPKG_TARGET_ARCHITECTURE}" STREQUAL "x86") - set(generator_arch "Win32") - elseif("${VCPKG_TARGET_ARCHITECTURE}" STREQUAL "x64") - set(generator_arch "x64") - elseif("${VCPKG_TARGET_ARCHITECTURE}" STREQUAL "arm") - set(generator_arch "ARM") - elseif("${VCPKG_TARGET_ARCHITECTURE}" STREQUAL "arm64") - set(generator_arch "ARM64") - endif() - + elseif(NOT ninja_can_be_used) + set(generator "") + z_vcpkg_get_visual_studio_generator(OUT_GENERATOR generator OUT_ARCH generator_arch) if("${generator}" STREQUAL "" OR "${generator_arch}" STREQUAL "") message(FATAL_ERROR "Unable to determine appropriate generator for triplet ${TARGET_TRIPLET}: + ENV{VisualStudioVersion} : $ENV{VisualStudioVersion} platform toolset: ${VCPKG_PLATFORM_TOOLSET} architecture : ${VCPKG_TARGET_ARCHITECTURE}") endif() + if(DEFINED VCPKG_PLATFORM_TOOLSET) + vcpkg_list(APPEND arg_OPTIONS "-T${VCPKG_PLATFORM_TOOLSET}") + endif() endif() # If we use Ninja, make sure it's on PATH if("${generator}" STREQUAL "Ninja" AND NOT DEFINED ENV{VCPKG_FORCE_SYSTEM_BINARIES}) vcpkg_find_acquire_program(NINJA) - get_filename_component(NINJA_PATH "${NINJA}" DIRECTORY) - vcpkg_add_to_path("${NINJA_PATH}") + get_filename_component(ninja_path "${NINJA}" DIRECTORY) + vcpkg_add_to_path("${ninja_path}") vcpkg_list(APPEND arg_OPTIONS "-DCMAKE_MAKE_PROGRAM=${NINJA}") endif() @@ -220,6 +185,10 @@ function(vcpkg_configure_cmake) endif() endif() + if(DEFINED VCPKG_XBOX_CONSOLE_TARGET) + vcpkg_list(APPEND arg_OPTIONS "-DXBOX_CONSOLE_TARGET=${VCPKG_XBOX_CONSOLE_TARGET}") + endif() + if(DEFINED VCPKG_CMAKE_SYSTEM_VERSION) vcpkg_list(APPEND arg_OPTIONS "-DCMAKE_SYSTEM_VERSION=${VCPKG_CMAKE_SYSTEM_VERSION}") endif() @@ -244,23 +213,7 @@ function(vcpkg_configure_cmake) endif() if(NOT VCPKG_CHAINLOAD_TOOLCHAIN_FILE) - if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) - set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${SCRIPTS}/toolchains/windows.cmake") - elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") - set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${SCRIPTS}/toolchains/linux.cmake") - elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Android") - set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${SCRIPTS}/toolchains/android.cmake") - elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin") - set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${SCRIPTS}/toolchains/osx.cmake") - elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "iOS") - set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${SCRIPTS}/toolchains/ios.cmake") - elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") - set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${SCRIPTS}/toolchains/freebsd.cmake") - elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "OpenBSD") - set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${SCRIPTS}/toolchains/openbsd.cmake") - elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "MinGW") - set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${SCRIPTS}/toolchains/mingw.cmake") - endif() + z_vcpkg_select_default_vcpkg_chainload_toolchain() endif() vcpkg_list(APPEND arg_OPTIONS @@ -306,23 +259,39 @@ function(vcpkg_configure_cmake) endif() endforeach() + # Allow overrides / additional configuration variables from triplets + if(DEFINED VCPKG_CMAKE_CONFIGURE_OPTIONS) + vcpkg_list(APPEND arg_OPTIONS ${VCPKG_CMAKE_CONFIGURE_OPTIONS}) + endif() + if(DEFINED VCPKG_CMAKE_CONFIGURE_OPTIONS_RELEASE) + vcpkg_list(APPEND arg_OPTIONS_RELEASE ${VCPKG_CMAKE_CONFIGURE_OPTIONS_RELEASE}) + endif() + if(DEFINED VCPKG_CMAKE_CONFIGURE_OPTIONS_DEBUG) + vcpkg_list(APPEND arg_OPTIONS_DEBUG ${VCPKG_CMAKE_CONFIGURE_OPTIONS_DEBUG}) + endif() + vcpkg_list(SET rel_command - "${CMAKE_COMMAND}" "${arg_SOURCE_PATH}" ${arg_OPTIONS} ${arg_OPTIONS_RELEASE} + "${CMAKE_COMMAND}" "${arg_SOURCE_PATH}" -G "${generator}" - -DCMAKE_BUILD_TYPE=Release - "-DCMAKE_INSTALL_PREFIX=${CURRENT_PACKAGES_DIR}") + "-DCMAKE_BUILD_TYPE=Release" + "-DCMAKE_INSTALL_PREFIX=${CURRENT_PACKAGES_DIR}" + ${arg_OPTIONS} ${arg_OPTIONS_RELEASE}) vcpkg_list(SET dbg_command - "${CMAKE_COMMAND}" "${arg_SOURCE_PATH}" ${arg_OPTIONS} ${arg_OPTIONS_DEBUG} + "${CMAKE_COMMAND}" "${arg_SOURCE_PATH}" -G "${generator}" - -DCMAKE_BUILD_TYPE=Debug - "-DCMAKE_INSTALL_PREFIX=${CURRENT_PACKAGES_DIR}/debug") + "-DCMAKE_BUILD_TYPE=Debug" + "-DCMAKE_INSTALL_PREFIX=${CURRENT_PACKAGES_DIR}/debug" + ${arg_OPTIONS} ${arg_OPTIONS_DEBUG}) if(ninja_host AND CMAKE_HOST_WIN32 AND NOT arg_DISABLE_PARALLEL_CONFIGURE) vcpkg_list(APPEND arg_OPTIONS "-DCMAKE_DISABLE_SOURCE_CHANGES=ON") vcpkg_find_acquire_program(NINJA) - get_filename_component(NINJA_PATH "${NINJA}" DIRECTORY) - vcpkg_add_to_path("${NINJA_PATH}") + if(NOT DEFINED ninja_path) + # if ninja_path was defined above, we've already done this + get_filename_component(ninja_path "${NINJA}" DIRECTORY) + vcpkg_add_to_path("${ninja_path}") + endif() #parallelize the configure step set(ninja_configure_contents @@ -343,9 +312,12 @@ function(vcpkg_configure_cmake) message(STATUS "${configuring_message}") vcpkg_execute_required_process( - COMMAND ninja -v + COMMAND "${NINJA}" -v WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/vcpkg-parallel-configure" LOGNAME "${arg_LOGNAME}" + SAVE_LOG_FILES + "../../${TARGET_TRIPLET}-dbg/CMakeCache.txt" ALIAS "dbg-CMakeCache.txt.log" + "../CMakeCache.txt" ALIAS "rel-CMakeCache.txt.log" ) vcpkg_list(APPEND config_logs @@ -359,6 +331,7 @@ function(vcpkg_configure_cmake) COMMAND ${dbg_command} WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg" LOGNAME "${arg_LOGNAME}-dbg" + SAVE_LOG_FILES CMakeCache.txt ) vcpkg_list(APPEND config_logs "${CURRENT_BUILDTREES_DIR}/${arg_LOGNAME}-dbg-out.log" @@ -372,6 +345,7 @@ function(vcpkg_configure_cmake) COMMAND ${rel_command} WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel" LOGNAME "${arg_LOGNAME}-rel" + SAVE_LOG_FILES CMakeCache.txt ) vcpkg_list(APPEND config_logs "${CURRENT_BUILDTREES_DIR}/${arg_LOGNAME}-rel-out.log" diff --git a/scripts/cmake/vcpkg_configure_gn.cmake b/scripts/cmake/vcpkg_configure_gn.cmake index e844d8d70c6850..9fbcd4c9e552a4 100644 --- a/scripts/cmake/vcpkg_configure_gn.cmake +++ b/scripts/cmake/vcpkg_configure_gn.cmake @@ -1,33 +1,3 @@ -#[===[.md: -# vcpkg_configure_gn - -Generate Ninja (GN) targets - -## Usage: -```cmake -vcpkg_configure_gn( - SOURCE_PATH - [OPTIONS ] - [OPTIONS_DEBUG ] - [OPTIONS_RELEASE ] -) -``` - -## Parameters: -### SOURCE_PATH (required) -The path to the GN project. - -### OPTIONS -Options to be passed to both the debug and release targets. -Note: Must be provided as a space-separated string. - -### OPTIONS_DEBUG (space-separated string) -Options to be passed to the debug target. - -### OPTIONS_RELEASE (space-separated string) -Options to be passed to the release target. -#]===] - function(z_vcpkg_configure_gn_generate) cmake_parse_arguments(PARSE_ARGV 0 "arg" "" "SOURCE_PATH;CONFIG;ARGS" "") if(DEFINED arg_UNPARSED_ARGUMENTS) @@ -35,6 +5,7 @@ function(z_vcpkg_configure_gn_generate) endif() message(STATUS "Generating build (${arg_CONFIG})...") + file(REMOVE_RECURSE "${CURRENT_BUILDTREES_DIR}/${arg_CONFIG}") vcpkg_execute_required_process( COMMAND "${GN}" gen "${CURRENT_BUILDTREES_DIR}/${arg_CONFIG}" "${arg_ARGS}" WORKING_DIRECTORY "${arg_SOURCE_PATH}" @@ -43,8 +14,13 @@ function(z_vcpkg_configure_gn_generate) endfunction() function(vcpkg_configure_gn) - cmake_parse_arguments(PARSE_ARGV 0 "arg" "" "SOURCE_PATH;OPTIONS;OPTIONS_DEBUG;OPTIONS_RELEASE" "") + if(Z_VCPKG_GN_CONFIGURE_GUARD) + message(FATAL_ERROR "The ${PORT} port already depends on vcpkg-gn; using both vcpkg-gn and vcpkg_configure_gn in the same port is unsupported.") + else() + message("${Z_VCPKG_BACKCOMPAT_MESSAGE_LEVEL}" "This function 'vcpkg_configure_gn' is obsolete. Use 'vcpkg_gn_configure' in port 'vcpkg-gn'.") + endif() + cmake_parse_arguments(PARSE_ARGV 0 "arg" "" "SOURCE_PATH;OPTIONS;OPTIONS_DEBUG;OPTIONS_RELEASE" "") if(DEFINED arg_UNPARSED_ARGUMENTS) message(WARNING "vcpkg_configure_gn was passed extra arguments: ${arg_UNPARSED_ARGUMENTS}") endif() @@ -52,9 +28,9 @@ function(vcpkg_configure_gn) message(FATAL_ERROR "SOURCE_PATH must be specified.") endif() - vcpkg_find_acquire_program(PYTHON2) - get_filename_component(PYTHON2_DIR "${PYTHON2}" DIRECTORY) - vcpkg_add_to_path(PREPEND "${PYTHON2_DIR}") + vcpkg_find_acquire_program(PYTHON3) + get_filename_component(PYTHON3_DIR "${PYTHON3}" DIRECTORY) + vcpkg_add_to_path(PREPEND "${PYTHON3_DIR}") vcpkg_find_acquire_program(GN) diff --git a/scripts/cmake/vcpkg_configure_make.cmake b/scripts/cmake/vcpkg_configure_make.cmake index aa054222c7dedc..73d94f956eadb2 100644 --- a/scripts/cmake/vcpkg_configure_make.cmake +++ b/scripts/cmake/vcpkg_configure_make.cmake @@ -1,110 +1,3 @@ -#[===[.md: -# vcpkg_configure_make - -Configure configure for Debug and Release builds of a project. - -## Usage -```cmake -vcpkg_configure_make( - SOURCE_PATH <${SOURCE_PATH}> - [AUTOCONFIG] - [USE_WRAPPERS] - [DETERMINE_BUILD_TRIPLET] - [BUILD_TRIPLET "--host=x64 --build=i686-unknown-pc"] - [NO_ADDITIONAL_PATHS] - [CONFIG_DEPENDENT_ENVIRONMENT ...] - [CONFIGURE_ENVIRONMENT_VARIABLES ...] - [ADD_BIN_TO_PATH] - [NO_DEBUG] - [SKIP_CONFIGURE] - [PROJECT_SUBPATH <${PROJ_SUBPATH}>] - [PRERUN_SHELL <${SHELL_PATH}>] - [OPTIONS <-DUSE_THIS_IN_ALL_BUILDS=1>...] - [OPTIONS_RELEASE <-DOPTIMIZE=1>...] - [OPTIONS_DEBUG <-DDEBUGGABLE=1>...] -) -``` - -## Parameters -### SOURCE_PATH -Specifies the directory containing the `configure`/`configure.ac`. -By convention, this is usually set in the portfile as the variable `SOURCE_PATH`. - -### PROJECT_SUBPATH -Specifies the directory containing the ``configure`/`configure.ac`. -By convention, this is usually set in the portfile as the variable `SOURCE_PATH`. - -### SKIP_CONFIGURE -Skip configure process - -### USE_WRAPPERS -Use autotools ar-lib and compile wrappers (only applies to windows cl and lib) - -### BUILD_TRIPLET -Used to pass custom --build/--target/--host to configure. Can be globally overwritten by VCPKG_MAKE_BUILD_TRIPLET - -### DETERMINE_BUILD_TRIPLET -For ports having a configure script following the autotools rules for selecting the triplet - -### NO_ADDITIONAL_PATHS -Don't pass any additional paths except for --prefix to the configure call - -### AUTOCONFIG -Need to use autoconfig to generate configure file. - -### PRERUN_SHELL -Script that needs to be called before configuration (do not use for batch files which simply call autoconf or configure) - -### ADD_BIN_TO_PATH -Adds the appropriate Release and Debug `bin\` directories to the path during configure such that executables can run against the in-tree DLLs. - -## DISABLE_VERBOSE_FLAGS -do not pass '--disable-silent-rules --verbose' to configure - -### OPTIONS -Additional options passed to configure during the configuration. - -### OPTIONS_RELEASE -Additional options passed to configure during the Release configuration. These are in addition to `OPTIONS`. - -### OPTIONS_DEBUG -Additional options passed to configure during the Debug configuration. These are in addition to `OPTIONS`. - -### CONFIG_DEPENDENT_ENVIRONMENT -List of additional configuration dependent environment variables to set. -Pass SOMEVAR to set the environment and have SOMEVAR_(DEBUG|RELEASE) set in the portfile to the appropriate values -General environment variables can be set from within the portfile itself. - -### CONFIGURE_ENVIRONMENT_VARIABLES -List of additional environment variables to pass via the configure call. - -## Notes -This command supplies many common arguments to configure. To see the full list, examine the source. - -## Examples - -* [x264](https://github.com/Microsoft/vcpkg/blob/master/ports/x264/portfile.cmake) -* [tcl](https://github.com/Microsoft/vcpkg/blob/master/ports/tcl/portfile.cmake) -* [freexl](https://github.com/Microsoft/vcpkg/blob/master/ports/freexl/portfile.cmake) -* [libosip2](https://github.com/Microsoft/vcpkg/blob/master/ports/libosip2/portfile.cmake) -#]===] - -macro(z_vcpkg_determine_host_mingw out_var) - if(DEFINED ENV{PROCESSOR_ARCHITEW6432}) - set(host_arch $ENV{PROCESSOR_ARCHITEW6432}) - else() - set(host_arch $ENV{PROCESSOR_ARCHITECTURE}) - endif() - if(host_arch MATCHES "(amd|AMD)64") - set(${out_var} mingw64) - elseif(host_arch MATCHES "(x|X)86") - set(${out_var} mingw32) - else() - message(FATAL_ERROR "Unsupported mingw architecture ${host_arch} in z_vcpkg_determine_autotools_host_cpu!" ) - endif() - unset(host_arch) -endmacro() - macro(z_vcpkg_determine_autotools_host_cpu out_var) # TODO: the host system processor architecture can differ from the host triplet target architecture if(DEFINED ENV{PROCESSOR_ARCHITEW6432}) @@ -142,63 +35,193 @@ macro(z_vcpkg_determine_autotools_target_cpu out_var) endif() endmacro() +macro(z_vcpkg_set_arch_mac out_var value) + # Better match the arch behavior of config.guess + # See: https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD + if("${value}" MATCHES "^(ARM|arm)64$") + set(${out_var} "aarch64") + else() + set(${out_var} "${value}") + endif() +endmacro() + macro(z_vcpkg_determine_autotools_host_arch_mac out_var) - set(${out_var} "${VCPKG_DETECTED_CMAKE_HOST_SYSTEM_PROCESSOR}") + z_vcpkg_set_arch_mac(${out_var} "${VCPKG_DETECTED_CMAKE_HOST_SYSTEM_PROCESSOR}") endmacro() macro(z_vcpkg_determine_autotools_target_arch_mac out_var) list(LENGTH VCPKG_OSX_ARCHITECTURES osx_archs_num) if(osx_archs_num EQUAL 0) - set(${out_var} "${VCPKG_DETECTED_CMAKE_HOST_SYSTEM_PROCESSOR}") + z_vcpkg_set_arch_mac(${out_var} "${VCPKG_DETECTED_CMAKE_HOST_SYSTEM_PROCESSOR}") elseif(osx_archs_num GREATER_EQUAL 2) set(${out_var} "universal") else() - # Better match the arch behavior of config.guess - # See: https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD - if(VCPKG_OSX_ARCHITECTURES MATCHES "^(ARM|arm)64$") - set(${out_var} "aarch64") - else() - set(${out_var} "${VCPKG_OSX_ARCHITECTURES}") - endif() + z_vcpkg_set_arch_mac(${out_var} "${VCPKG_OSX_ARCHITECTURES}") endif() unset(osx_archs_num) endmacro() -macro(z_vcpkg_extract_cpp_flags_and_set_cflags_and_cxxflags flag_suffix) - string(REGEX MATCHALL "( |^)-D[^ ]+" CPPFLAGS_${flag_suffix} "${VCPKG_DETECTED_CMAKE_C_FLAGS_${flag_suffix}}") - string(REGEX MATCHALL "( |^)-D[^ ]+" CXXPPFLAGS_${flag_suffix} "${VCPKG_DETECTED_CMAKE_CXX_FLAGS_${flag_suffix}}") - list(JOIN CXXPPFLAGS_${flag_suffix} "|" CXXREGEX) - if(CXXREGEX) - list(FILTER CPPFLAGS_${flag_suffix} INCLUDE REGEX "(${CXXREGEX})") - else() - set(CPPFLAGS_${flag_suffix}) - endif() - list(JOIN CPPFLAGS_${flag_suffix} "|" CPPREGEX) - list(JOIN CPPFLAGS_${flag_suffix} " " CPPFLAGS_${flag_suffix}) - set(CPPFLAGS_${flag_suffix} "${CPPFLAGS_${flag_suffix}}") - if(CPPREGEX) - string(REGEX REPLACE "(${CPPREGEX})" "" CFLAGS_${flag_suffix} "${VCPKG_DETECTED_CMAKE_C_FLAGS_${flag_suffix}}") - string(REGEX REPLACE "(${CPPREGEX})" "" CXXFLAGS_${flag_suffix} "${VCPKG_DETECTED_CMAKE_CXX_FLAGS_${flag_suffix}}") - else() - set(CFLAGS_${flag_suffix} "${VCPKG_DETECTED_CMAKE_C_FLAGS_${flag_suffix}}") - set(CXXFLAGS_${flag_suffix} "${VCPKG_DETECTED_CMAKE_CXX_FLAGS_${flag_suffix}}") - endif() - string(REGEX REPLACE " +" " " CPPFLAGS_${flag_suffix} "${CPPFLAGS_${flag_suffix}}") - string(REGEX REPLACE " +" " " CFLAGS_${flag_suffix} "${CFLAGS_${flag_suffix}}") - string(REGEX REPLACE " +" " " CXXFLAGS_${flag_suffix} "${CXXFLAGS_${flag_suffix}}") - # libtool has and -R option so we need to guard against -RTC by using -Xcompiler - # while configuring there might be a lot of unknown compiler option warnings due to that - # just ignore them. - string(REGEX REPLACE "((-|/)RTC[^ ]+)" "-Xcompiler \\1" CFLAGS_${flag_suffix} "${CFLAGS_${flag_suffix}}") - string(REGEX REPLACE "((-|/)RTC[^ ]+)" "-Xcompiler \\1" CXXFLAGS_${flag_suffix} "${CXXFLAGS_${flag_suffix}}") - string(STRIP "${CPPFLAGS_${flag_suffix}}" CPPFLAGS_${flag_suffix}) - string(STRIP "${CFLAGS_${flag_suffix}}" CFLAGS_${flag_suffix}) - string(STRIP "${CXXFLAGS_${flag_suffix}}" CXXFLAGS_${flag_suffix}) - debug_message("CPPFLAGS_${flag_suffix}: ${CPPFLAGS_${flag_suffix}}") - debug_message("CFLAGS_${flag_suffix}: ${CFLAGS_${flag_suffix}}") - debug_message("CXXFLAGS_${flag_suffix}: ${CXXFLAGS_${flag_suffix}}") +# Define variables used in both vcpkg_configure_make and vcpkg_build_make: +# short_name_: unique abbreviation for the given build type (rel, dbg) +# path_suffix_: installation path suffix for the given build type ('', /debug) +# current_installed_dir_escaped: CURRENT_INSTALLED_DIR with escaped space characters +# current_installed_dir_msys: CURRENT_INSTALLED_DIR with unprotected spaces, but drive letters transformed for msys +macro(z_vcpkg_configure_make_common_definitions) + set(short_name_RELEASE "rel") + set(short_name_DEBUG "dbg") + + set(path_suffix_RELEASE "") + set(path_suffix_DEBUG "/debug") + + # Some PATH handling for dealing with spaces....some tools will still fail with that! + # In particular, the libtool install command is unable to install correctly to paths with spaces. + string(REPLACE " " "\\ " current_installed_dir_escaped "${CURRENT_INSTALLED_DIR}") + set(current_installed_dir_msys "${CURRENT_INSTALLED_DIR}") + if(CMAKE_HOST_WIN32) + string(REGEX REPLACE "^([a-zA-Z]):/" "/\\1/" current_installed_dir_msys "${current_installed_dir_msys}") + endif() endmacro() +# Initializes well-known and auxiliary variables for flags +# - CPPFLAGS_: preprocessor flags common to C and CXX +# - CFLAGS_ +# - CXXFLAGS_ +# - LDFLAGS_ +# - ARFLAGS_ +# - LINK_ENV_${var_suffix} +# Prerequisite: VCPKG_DETECTED_CMAKE_... vars loaded +function(z_vcpkg_configure_make_process_flags var_suffix) + # separate_arguments is needed to remove outer quotes from detected cmake variables. + # (e.g. Android NDK has "--sysroot=...") + separate_arguments(CFLAGS NATIVE_COMMAND "Z_VCM_WRAP ${VCPKG_DETECTED_CMAKE_C_FLAGS_${var_suffix}} Z_VCM_WRAP") + separate_arguments(CXXFLAGS NATIVE_COMMAND "Z_VCM_WRAP ${VCPKG_DETECTED_CMAKE_CXX_FLAGS_${var_suffix}} Z_VCM_WRAP") + separate_arguments(LDFLAGS NATIVE_COMMAND "${VCPKG_DETECTED_CMAKE_SHARED_LINKER_FLAGS_${var_suffix}}") + separate_arguments(ARFLAGS NATIVE_COMMAND "${VCPKG_DETECTED_CMAKE_STATIC_LINKER_FLAGS_${var_suffix}}") + foreach(var IN ITEMS CFLAGS CXXFLAGS LDFLAGS ARFLAGS) + vcpkg_list(APPEND z_vcm_all_flags ${${var}}) + endforeach() + set(z_vcm_all_flags "${z_vcm_all_flags}" PARENT_SCOPE) + + # Filter common CPPFLAGS out of CFLAGS and CXXFLAGS + vcpkg_list(SET CPPFLAGS) + vcpkg_list(SET pattern) + foreach(arg IN LISTS CXXFLAGS) + if(arg STREQUAL "Z_VCM_WRAP") + continue() + elseif(NOT pattern STREQUAL "") + vcpkg_list(APPEND pattern "${arg}") + elseif(arg MATCHES "^-(D|isystem).") + vcpkg_list(SET pattern "${arg}") + elseif(arg MATCHES "^-(D|isystem)\$") + vcpkg_list(SET pattern "${arg}") + continue() + elseif(arg MATCHES "^-(-sysroot|-target|m?[Aa][Rr][Cc][Hh])=.") + vcpkg_list(SET pattern "${arg}") + elseif(arg MATCHES "^-(isysroot|m32|m64|m?[Aa][Rr][Cc][Hh]|target)\$") + vcpkg_list(SET pattern "${arg}") + continue() + else() + continue() + endif() + string(FIND "${CFLAGS}" ";${pattern};" index) + if(NOT index STREQUAL "-1") + vcpkg_list(APPEND CPPFLAGS ${pattern}) + string(REPLACE ";${pattern};" ";" CFLAGS "${CFLAGS}") + string(REPLACE ";${pattern};" ";" CXXFLAGS "${CXXFLAGS}") + endif() + vcpkg_list(SET pattern) + endforeach() + vcpkg_list(SET pattern) + foreach(arg IN LISTS CFLAGS) + if(arg STREQUAL "Z_VCM_WRAP") + continue() + elseif(NOT pattern STREQUAL "") + vcpkg_list(APPEND pattern "${arg}") + elseif(arg MATCHES "^-(D|isystem)\$") + vcpkg_list(SET pattern "${arg}") + continue() + elseif(arg MATCHES "^-(D|isystem).") + vcpkg_list(SET pattern "${arg}") + elseif(arg MATCHES "^-(-sysroot|-target|m?[Aa][Rr][Cc][Hh])=.") + vcpkg_list(SET pattern "${arg}") + elseif(arg MATCHES "^-(isysroot|m32|m64|m?[Aa][Rr][Cc][Hh]|target)\$") + vcpkg_list(SET pattern "${arg}") + continue() + else() + continue() + endif() + string(FIND "${CXXFLAGS}" ";${pattern};" index) + if(NOT index STREQUAL "-1") + vcpkg_list(APPEND CPPFLAGS ${pattern}) + string(REPLACE ";${pattern};" ";" CFLAGS "${CFLAGS}") + string(REPLACE ";${pattern};" ";" CXXFLAGS "${CXXFLAGS}") + endif() + vcpkg_list(SET pattern) + endforeach() + + # Remove start/end placeholders + foreach(list IN ITEMS CFLAGS CXXFLAGS) + vcpkg_list(REMOVE_ITEM ${list} "Z_VCM_WRAP") + endforeach() + + # libtool tries to filter CFLAGS passed to the link stage via an allow-list. + # This approach is flawed since it fails to pass flags unknown to libtool + # but required for linking to the link stage (e.g. -fsanitize=). + # libtool has an -R option so we need to guard against -RTC by using -Xcompiler. + # While configuring there might be a lot of unknown compiler option warnings + # due to that; just ignore them. + set(compiler_flag_escape "") + if(VCPKG_DETECTED_CMAKE_C_COMPILER_FRONTEND_VARIANT STREQUAL "MSVC" OR VCPKG_DETECTED_CMAKE_C_COMPILER_ID STREQUAL "MSVC") + set(compiler_flag_escape "-Xcompiler ") + endif() + if(compiler_flag_escape) + list(TRANSFORM CFLAGS PREPEND "${compiler_flag_escape}") + list(TRANSFORM CXXFLAGS PREPEND "${compiler_flag_escape}") + endif() + + # Could use a future VCPKG_DETECTED_CMAKE_LIBRARY_PATH_FLAG + set(library_path_flag "-L") + # Could use a future VCPKG_DETECTED_MSVC + if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_DETECTED_CMAKE_LINKER MATCHES [[link\.exe$]]) + set(library_path_flag "-LIBPATH:") + endif() + set(linker_flag_escape "") + if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_DETECTED_CMAKE_C_COMPILER MATCHES [[cl\.exe$]]) + # Removed by libtool + set(linker_flag_escape "-Xlinker ") + if(arg_USE_WRAPPERS) + # 1st and 3rd are removed by libtool, 2nd by wrapper + set(linker_flag_escape "-Xlinker -Xlinker -Xlinker ") + endif() + if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + string(STRIP "$ENV{_LINK_} ${VCPKG_DETECTED_CMAKE_STATIC_LINKER_FLAGS_${var_suffix}}" LINK_ENV) + else() + string(STRIP "$ENV{_LINK_} ${VCPKG_DETECTED_CMAKE_SHARED_LINKER_FLAGS_${var_suffix}}" LINK_ENV) + endif() + endif() + if(linker_flag_escape) + list(TRANSFORM LDFLAGS PREPEND "${linker_flag_escape}") + endif() + if(EXISTS "${CURRENT_INSTALLED_DIR}${path_suffix_${var_suffix}}/lib/manual-link") + vcpkg_list(PREPEND LDFLAGS "${linker_flag_escape}${library_path_flag}${current_installed_dir_escaped}${path_suffix_${var_suffix}}/lib/manual-link") + endif() + if(EXISTS "${CURRENT_INSTALLED_DIR}${path_suffix_${var_suffix}}/lib") + vcpkg_list(PREPEND LDFLAGS "${linker_flag_escape}${library_path_flag}${current_installed_dir_escaped}${path_suffix_${var_suffix}}/lib") + endif() + + if(ARFLAGS) + # ARFLAGS need to know the command for creating an archive (Maybe needs user customization?) + # or extract it from CMake via CMAKE_${lang}_ARCHIVE_CREATE ? + # or from CMAKE_${lang}_${rule} with rule being one of CREATE_SHARED_MODULE CREATE_SHARED_LIBRARY LINK_EXECUTABLE + vcpkg_list(PREPEND ARFLAGS "cr") + endif() + + foreach(var IN ITEMS CPPFLAGS CFLAGS CXXFLAGS LDFLAGS ARFLAGS) + list(JOIN ${var} " " string) + set(${var}_${var_suffix} "${string}" PARENT_SCOPE) + endforeach() +endfunction() + macro(z_vcpkg_append_to_configure_environment inoutstring var defaultval) # Allows to overwrite settings in custom triplets via the environment on windows if(CMAKE_HOST_WIN32 AND DEFINED ENV{${var}}) @@ -208,34 +231,26 @@ macro(z_vcpkg_append_to_configure_environment inoutstring var defaultval) endif() endmacro() -# Setup include environment (since these are buildtype independent restoring them is unnecessary) -macro(z_prepend_include_path var) - unset(ENV{${var}}) - if(NOT DEFINED z_vcpkg_env_backup_${var} OR "${z_vcpkg_env_backup_${var}}" STREQUAL "") - vcpkg_host_path_list(APPEND ENV{${var}} "${CURRENT_INSTALLED_DIR}/include") - else() - foreach (one_bk IN ITEMS ${z_vcpkg_env_backup_${var}}) - vcpkg_host_path_list(PREPEND ENV{${var}} "${one_bk}") - endforeach() - vcpkg_host_path_list(PREPEND ENV{${var}} "${CURRENT_INSTALLED_DIR}/include") - endif() -endmacro() - -macro(z_convert_to_list input output) - string(REGEX MATCHALL "(( +|^ *)[^ ]+)" ${output} "${${input}}") -endmacro() - function(vcpkg_configure_make) # parse parameters such that semicolons in options arguments to COMMAND don't get erased cmake_parse_arguments(PARSE_ARGV 0 arg - "AUTOCONFIG;SKIP_CONFIGURE;COPY_SOURCE;DISABLE_VERBOSE_FLAGS;NO_ADDITIONAL_PATHS;ADD_BIN_TO_PATH;USE_WRAPPERS;DETERMINE_BUILD_TRIPLET" + "AUTOCONFIG;SKIP_CONFIGURE;COPY_SOURCE;DISABLE_VERBOSE_FLAGS;NO_ADDITIONAL_PATHS;ADD_BIN_TO_PATH;NO_DEBUG;USE_WRAPPERS;NO_WRAPPERS;DETERMINE_BUILD_TRIPLET" "SOURCE_PATH;PROJECT_SUBPATH;PRERUN_SHELL;BUILD_TRIPLET" "OPTIONS;OPTIONS_DEBUG;OPTIONS_RELEASE;CONFIGURE_ENVIRONMENT_VARIABLES;CONFIG_DEPENDENT_ENVIRONMENT;ADDITIONAL_MSYS_PACKAGES" ) + if(DEFINED arg_UNPARSED_ARGUMENTS) + message(WARNING "${CMAKE_CURRENT_FUNCTION} was passed extra arguments: ${arg_UNPARSED_ARGUMENTS}") + endif() + + if(arg_USE_WRAPPERS AND arg_NO_WRAPPERS) + message(FATAL_ERROR "${CMAKE_CURRENT_FUNCTION} was passed conflicting options USE_WRAPPERS and NO_WRAPPERS. Please remove one of them!") + endif() + z_vcpkg_get_cmake_vars(cmake_vars_file) debug_message("Including cmake vars from: ${cmake_vars_file}") include("${cmake_vars_file}") + if(DEFINED VCPKG_MAKE_BUILD_TRIPLET) set(arg_BUILD_TRIPLET ${VCPKG_MAKE_BUILD_TRIPLET}) # Triplet overwrite for crosscompiling endif() @@ -244,13 +259,13 @@ function(vcpkg_configure_make) set(requires_autogen OFF) # use autogen.sh set(requires_autoconfig OFF) # use autotools and configure.ac - if(EXISTS "${src_dir}/configure" AND "${src_dir}/configure.ac") # remove configure; rerun autoconf - if(NOT VCPKG_MAINTAINER_SKIP_AUTOCONFIG) # If fixing bugs skipping autoconfig saves a lot of time - set(requires_autoconfig ON) - file(REMOVE "${SRC_DIR}/configure") # remove possible autodated configure scripts - set(arg_AUTOCONFIG ON) - endif() - elseif(EXISTS "${src_dir}/configure" AND NOT arg_SKIP_CONFIGURE) # run normally; no autoconf or autogen required + if(EXISTS "${src_dir}/configure" AND EXISTS "${src_dir}/configure.ac" AND arg_AUTOCONFIG) # remove configure; rerun autoconf + set(requires_autoconfig ON) + file(REMOVE "${SRC_DIR}/configure") # remove possible outdated configure scripts + elseif(arg_SKIP_CONFIGURE) + # no action requested + elseif(EXISTS "${src_dir}/configure") + # run normally; no autoconf or autogen required elseif(EXISTS "${src_dir}/configure.ac") # Run autoconfig set(requires_autoconfig ON) set(arg_AUTOCONFIG ON) @@ -274,10 +289,13 @@ function(vcpkg_configure_make) else() set(arg_USE_WRAPPERS OFF) endif() + if(arg_NO_WRAPPERS) + set(arg_USE_WRAPPERS OFF) + endif() # Backup environment variables # CCAS CC C CPP CXX FC FF GC LD LF LIBTOOL OBJC OBJCXX R UPC Y - set(cm_FLAGS AS CCAS CC C CPP CXX FC FF GC LD LF LIBTOOL OBJC OBJXX R UPC Y RC) + set(cm_FLAGS AR AS CCAS CC C CPP CXX FC FF GC LD LF LIBTOOL OBJC OBJXX R UPC Y RC) list(TRANSFORM cm_FLAGS APPEND "FLAGS") vcpkg_backup_env_variables(VARS ${cm_FLAGS}) @@ -286,26 +304,110 @@ function(vcpkg_configure_make) # LDFLAGS -> pass -L flags # LIBS -> pass -l flags - #Used by gcc/linux + # Used by gcc/linux vcpkg_backup_env_variables(VARS C_INCLUDE_PATH CPLUS_INCLUDE_PATH LIBRARY_PATH LD_LIBRARY_PATH) - #Used by cl + # Used by cl vcpkg_backup_env_variables(VARS INCLUDE LIB LIBPATH) - set(vcm_paths_with_spaces OFF) - if(CURRENT_PACKAGES_DIR MATCHES " " OR CURRENT_INSTALLED_DIR MATCHES " ") + vcpkg_list(SET z_vcm_paths_with_spaces) + if(CURRENT_PACKAGES_DIR MATCHES " ") + vcpkg_list(APPEND z_vcm_paths_with_spaces "${CURRENT_PACKAGES_DIR}") + endif() + if(CURRENT_INSTALLED_DIR MATCHES " ") + vcpkg_list(APPEND z_vcm_paths_with_spaces "${CURRENT_INSTALLED_DIR}") + endif() + if(z_vcm_paths_with_spaces) # Don't bother with whitespace. The tools will probably fail and I tried very hard trying to make it work (no success so far)! - message(WARNING "Detected whitespace in root directory. Please move the path to one without whitespaces! The required tools do not handle whitespaces correctly and the build will most likely fail") - set(vcm_paths_with_spaces ON) + vcpkg_list(APPEND z_vcm_paths_with_spaces "Please move the path to one without whitespaces!") + list(JOIN z_vcm_paths_with_spaces "\n " z_vcm_paths_with_spaces) + message(STATUS "Warning: Paths with embedded space may be handled incorrectly by configure:\n ${z_vcm_paths_with_spaces}") endif() set(configure_env "V=1") + + # Establish a bash environment as expected by autotools. + if(CMAKE_HOST_WIN32) + list(APPEND msys_require_packages autoconf-wrapper automake-wrapper binutils libtool make pkgconf which) + vcpkg_acquire_msys(MSYS_ROOT PACKAGES ${msys_require_packages} ${arg_ADDITIONAL_MSYS_PACKAGES}) + set(base_cmd "${MSYS_ROOT}/usr/bin/bash.exe" --noprofile --norc --debug) + vcpkg_list(SET add_to_env) + if(arg_USE_WRAPPERS AND VCPKG_TARGET_IS_WINDOWS) + vcpkg_list(APPEND add_to_env "${SCRIPTS}/buildsystems/make_wrapper") # Other required wrappers are also located there + vcpkg_list(APPEND add_to_env "${MSYS_ROOT}/usr/share/automake-1.16") + endif() + cmake_path(CONVERT "$ENV{PATH}" TO_CMAKE_PATH_LIST path_list NORMALIZE) + cmake_path(CONVERT "$ENV{SystemRoot}" TO_CMAKE_PATH_LIST system_root NORMALIZE) + cmake_path(CONVERT "$ENV{LOCALAPPDATA}" TO_CMAKE_PATH_LIST local_app_data NORMALIZE) + file(REAL_PATH "${system_root}" system_root) + + message(DEBUG "path_list:${path_list}") # Just to have --trace-expand output + + vcpkg_list(SET find_system_dirs + "${system_root}/System32" + "${system_root}/System32/" + "${local_app_data}/Microsoft/WindowsApps" + "${local_app_data}/Microsoft/WindowsApps/" + ) + + string(TOUPPER "${find_system_dirs}" find_system_dirs_upper) + + set(index 0) + set(appending TRUE) + foreach(item IN LISTS path_list) + string(TOUPPER "${item}" item_upper) + if(item_upper IN_LIST find_system_dirs_upper) + set(appending FALSE) + break() + endif() + math(EXPR index "${index} + 1") + endforeach() + + if(appending) + message(WARNING "Unable to find system dir in the PATH variable! Appending required msys paths!") + endif() + vcpkg_list(INSERT path_list "${index}" ${add_to_env} "${MSYS_ROOT}/usr/bin") + + cmake_path(CONVERT "${path_list}" TO_NATIVE_PATH_LIST native_path_list) + set(ENV{PATH} "${native_path_list}") + else() + find_program(base_cmd bash REQUIRED) + endif() + + # macOS - cross-compiling support + if(VCPKG_TARGET_IS_OSX OR VCPKG_TARGET_IS_IOS) + if (requires_autoconfig AND NOT arg_BUILD_TRIPLET OR arg_DETERMINE_BUILD_TRIPLET) + z_vcpkg_determine_autotools_host_arch_mac(BUILD_ARCH) # machine you are building on => --build= + z_vcpkg_determine_autotools_target_arch_mac(TARGET_ARCH) + # --build: the machine you are building on + # --host: the machine you are building for + # --target: the machine that CC will produce binaries for + # https://stackoverflow.com/questions/21990021/how-to-determine-host-value-for-configure-when-using-cross-compiler + # Only for ports using autotools so we can assume that they follow the common conventions for build/target/host + if(NOT "${TARGET_ARCH}" STREQUAL "${BUILD_ARCH}" OR NOT VCPKG_TARGET_IS_OSX) # we don't need to specify the additional flags if we build natively. + set(arg_BUILD_TRIPLET "--host=${TARGET_ARCH}-apple-darwin") # (Host activates crosscompilation; The name given here is just the prefix of the host tools for the target) + endif() + debug_message("Using make triplet: ${arg_BUILD_TRIPLET}") + endif() + endif() + + # Linux - cross-compiling support + if(VCPKG_TARGET_IS_LINUX) + if (requires_autoconfig AND NOT arg_BUILD_TRIPLET OR arg_DETERMINE_BUILD_TRIPLET) + # The regex below takes the prefix from the resulting CMAKE_C_COMPILER variable eg. arm-linux-gnueabihf-gcc + # set in the common toolchains/linux.cmake + # This is used via --host as a prefix for all other bin tools as well. + # Setting the compiler directly via CC=arm-linux-gnueabihf-gcc does not work acording to: + # https://www.gnu.org/software/autoconf/manual/autoconf-2.65/html_node/Specifying-Target-Triplets.html + if(VCPKG_DETECTED_CMAKE_C_COMPILER MATCHES "([^\/]*)-gcc$" AND CMAKE_MATCH_1) + set(arg_BUILD_TRIPLET "--host=${CMAKE_MATCH_1}") # (Host activates crosscompilation; The name given here is just the prefix of the host tools for the target) + endif() + debug_message("Using make triplet: ${arg_BUILD_TRIPLET}") + endif() + endif() + # Pre-processing windows configure requirements if (VCPKG_TARGET_IS_WINDOWS) - if(CMAKE_HOST_WIN32) - list(APPEND msys_require_packages binutils libtool autoconf automake-wrapper automake1.16 m4) - vcpkg_acquire_msys(MSYS_ROOT PACKAGES ${msys_require_packages} ${arg_ADDITIONAL_MSYS_PACKAGES}) - endif() if (arg_DETERMINE_BUILD_TRIPLET OR NOT arg_BUILD_TRIPLET) z_vcpkg_determine_autotools_host_cpu(BUILD_ARCH) # VCPKG_HOST => machine you are building on => --build= z_vcpkg_determine_autotools_target_cpu(TARGET_ARCH) @@ -315,8 +417,16 @@ function(vcpkg_configure_make) # https://stackoverflow.com/questions/21990021/how-to-determine-host-value-for-configure-when-using-cross-compiler # Only for ports using autotools so we can assume that they follow the common conventions for build/target/host if(CMAKE_HOST_WIN32) - set(arg_BUILD_TRIPLET "--build=${BUILD_ARCH}-pc-mingw32") # This is required since we are running in a msys - # shell which will be otherwise identified as ${BUILD_ARCH}-pc-msys + # Respect host triplet when determining --build + if(NOT VCPKG_CROSSCOMPILING) + set(_win32_build_arch "${TARGET_ARCH}") + else() + set(_win32_build_arch "${BUILD_ARCH}") + endif() + + # This is required since we are running in a msys + # shell which will be otherwise identified as ${BUILD_ARCH}-pc-msys + set(arg_BUILD_TRIPLET "--build=${_win32_build_arch}-pc-mingw32") endif() if(NOT TARGET_ARCH MATCHES "${BUILD_ARCH}" OR NOT CMAKE_HOST_WIN32) # we don't need to specify the additional flags if we build nativly, this does not hold when we are not on windows string(APPEND arg_BUILD_TRIPLET " --host=${TARGET_ARCH}-pc-mingw32") # (Host activates crosscompilation; The name given here is just the prefix of the host tools for the target) @@ -327,32 +437,19 @@ function(vcpkg_configure_make) endif() debug_message("Using make triplet: ${arg_BUILD_TRIPLET}") endif() - if(CMAKE_HOST_WIN32) - set(append_env) - if(arg_USE_WRAPPERS) - set(append_env ";${MSYS_ROOT}/usr/share/automake-1.16") - string(APPEND append_env ";${SCRIPTS}/buildsystems/make_wrapper") # Other required wrappers are also located there - endif() - # This inserts msys before system32 (which masks sort.exe and find.exe) but after MSVC (which avoids masking link.exe) - string(REPLACE ";$ENV{SystemRoot}\\System32;" "${append_env};${MSYS_ROOT}/usr/bin;$ENV{SystemRoot}\\System32;" NEWPATH "$ENV{PATH}") - string(REPLACE ";$ENV{SystemRoot}\\system32;" "${append_env};${MSYS_ROOT}/usr/bin;$ENV{SystemRoot}\\system32;" NEWPATH "$ENV{PATH}") - set(ENV{PATH} "${NEWPATH}") - set(bash_executable "${MSYS_ROOT}/usr/bin/bash.exe") - endif() # Remove full filepaths due to spaces and prepend filepaths to PATH (cross-compiling tools are unlikely on path by default) set(progs VCPKG_DETECTED_CMAKE_C_COMPILER VCPKG_DETECTED_CMAKE_CXX_COMPILER VCPKG_DETECTED_CMAKE_AR VCPKG_DETECTED_CMAKE_LINKER VCPKG_DETECTED_CMAKE_RANLIB VCPKG_DETECTED_CMAKE_OBJDUMP VCPKG_DETECTED_CMAKE_STRIP VCPKG_DETECTED_CMAKE_NM VCPKG_DETECTED_CMAKE_DLLTOOL VCPKG_DETECTED_CMAKE_RC_COMPILER) foreach(prog IN LISTS progs) - if(${prog}) - set(path "${${prog}}") - unset(prog_found CACHE) - get_filename_component(${prog} "${${prog}}" NAME) - find_program(prog_found ${${prog}} PATHS ENV PATH NO_DEFAULT_PATH) - if(NOT path STREQUAL prog_found) - get_filename_component(path "${path}" DIRECTORY) - vcpkg_add_to_path(PREPEND ${path}) + set(filepath "${${prog}}") + if(filepath MATCHES " ") + cmake_path(GET filepath FILENAME ${prog}) + find_program(z_vcm_prog_found NAMES "${${prog}}" PATHS ENV PATH NO_DEFAULT_PATH NO_CACHE) + if(NOT z_vcm_prog_found STREQUAL filepath) + cmake_path(GET filepath PARENT_PATH dir) + vcpkg_add_to_path(PREPEND "${dir}") endif() endif() endforeach() @@ -360,7 +457,16 @@ function(vcpkg_configure_make) z_vcpkg_append_to_configure_environment(configure_env CPP "compile ${VCPKG_DETECTED_CMAKE_C_COMPILER} -E") z_vcpkg_append_to_configure_environment(configure_env CC "compile ${VCPKG_DETECTED_CMAKE_C_COMPILER}") - z_vcpkg_append_to_configure_environment(configure_env CC_FOR_BUILD "compile ${VCPKG_DETECTED_CMAKE_C_COMPILER}") + if(NOT arg_BUILD_TRIPLET MATCHES "--host") + z_vcpkg_append_to_configure_environment(configure_env CC_FOR_BUILD "compile ${VCPKG_DETECTED_CMAKE_C_COMPILER}") + z_vcpkg_append_to_configure_environment(configure_env CPP_FOR_BUILD "compile ${VCPKG_DETECTED_CMAKE_C_COMPILER} -E") + z_vcpkg_append_to_configure_environment(configure_env CXX_FOR_BUILD "compile ${VCPKG_DETECTED_CMAKE_CXX_COMPILER}") + else() + # Silly trick to make configure accept CC_FOR_BUILD but in reallity CC_FOR_BUILD is deactivated. + z_vcpkg_append_to_configure_environment(configure_env CC_FOR_BUILD "touch a.out | touch conftest${VCPKG_HOST_EXECUTABLE_SUFFIX} | true") + z_vcpkg_append_to_configure_environment(configure_env CPP_FOR_BUILD "touch a.out | touch conftest${VCPKG_HOST_EXECUTABLE_SUFFIX} | true") + z_vcpkg_append_to_configure_environment(configure_env CXX_FOR_BUILD "touch a.out | touch conftest${VCPKG_HOST_EXECUTABLE_SUFFIX} | true") + endif() z_vcpkg_append_to_configure_environment(configure_env CXX "compile ${VCPKG_DETECTED_CMAKE_CXX_COMPILER}") z_vcpkg_append_to_configure_environment(configure_env RC "windres-rc ${VCPKG_DETECTED_CMAKE_RC_COMPILER}") z_vcpkg_append_to_configure_environment(configure_env WINDRES "windres-rc ${VCPKG_DETECTED_CMAKE_RC_COMPILER}") @@ -372,7 +478,15 @@ function(vcpkg_configure_make) else() z_vcpkg_append_to_configure_environment(configure_env CPP "${VCPKG_DETECTED_CMAKE_C_COMPILER} -E") z_vcpkg_append_to_configure_environment(configure_env CC "${VCPKG_DETECTED_CMAKE_C_COMPILER}") - z_vcpkg_append_to_configure_environment(configure_env CC_FOR_BUILD "${VCPKG_DETECTED_CMAKE_C_COMPILER}") + if(NOT arg_BUILD_TRIPLET MATCHES "--host") + z_vcpkg_append_to_configure_environment(configure_env CC_FOR_BUILD "${VCPKG_DETECTED_CMAKE_C_COMPILER}") + z_vcpkg_append_to_configure_environment(configure_env CPP_FOR_BUILD "${VCPKG_DETECTED_CMAKE_C_COMPILER} -E") + z_vcpkg_append_to_configure_environment(configure_env CXX_FOR_BUILD "${VCPKG_DETECTED_CMAKE_CXX_COMPILER}") + else() + z_vcpkg_append_to_configure_environment(configure_env CC_FOR_BUILD "touch a.out | touch conftest${VCPKG_HOST_EXECUTABLE_SUFFIX} | true") + z_vcpkg_append_to_configure_environment(configure_env CPP_FOR_BUILD "touch a.out | touch conftest${VCPKG_HOST_EXECUTABLE_SUFFIX} | true") + z_vcpkg_append_to_configure_environment(configure_env CXX_FOR_BUILD "touch a.out | touch conftest${VCPKG_HOST_EXECUTABLE_SUFFIX} | true") + endif() z_vcpkg_append_to_configure_environment(configure_env CXX "${VCPKG_DETECTED_CMAKE_CXX_COMPILER}") z_vcpkg_append_to_configure_environment(configure_env RC "${VCPKG_DETECTED_CMAKE_RC_COMPILER}") z_vcpkg_append_to_configure_environment(configure_env WINDRES "${VCPKG_DETECTED_CMAKE_RC_COMPILER}") @@ -434,48 +548,66 @@ function(vcpkg_configure_make) # Currently needed for arm because objdump yields: "unrecognised machine type (0x1c4) in Import Library Format archive" list(APPEND arg_OPTIONS lt_cv_deplibs_check_method=pass_all) endif() - endif() - - # Some PATH handling for dealing with spaces....some tools will still fail with that! - # In particular, the libtool install command is unable to install correctly to paths with spaces. - # CURRENT_INSTALLED_DIR: Pristine native path (unprotected spaces, Windows drive letters) - # z_vcpkg_installed_path: Native path with escaped space characters - # z_vcpkg_prefix_path: Path with unprotected spaces, but drive letters transformed for mingw/msys - string(REPLACE " " "\\ " z_vcpkg_installed_path "${CURRENT_INSTALLED_DIR}") - if(CMAKE_HOST_WIN32) - string(REGEX REPLACE "([a-zA-Z]):/" "/\\1/" z_vcpkg_prefix_path "${CURRENT_INSTALLED_DIR}") else() - set(z_vcpkg_prefix_path "${CURRENT_INSTALLED_DIR}") - endif() - - # macOS - cross-compiling support - if(VCPKG_TARGET_IS_OSX) - if (requires_autoconfig AND NOT arg_BUILD_TRIPLET OR arg_DETERMINE_BUILD_TRIPLET) - z_vcpkg_determine_autotools_host_arch_mac(BUILD_ARCH) # machine you are building on => --build= - z_vcpkg_determine_autotools_target_arch_mac(TARGET_ARCH) - # --build: the machine you are building on - # --host: the machine you are building for - # --target: the machine that CC will produce binaries for - # https://stackoverflow.com/questions/21990021/how-to-determine-host-value-for-configure-when-using-cross-compiler - # Only for ports using autotools so we can assume that they follow the common conventions for build/target/host - if(NOT "${TARGET_ARCH}" STREQUAL "${BUILD_ARCH}") # we don't need to specify the additional flags if we build natively. - set(arg_BUILD_TRIPLET "--host=${TARGET_ARCH}-apple-darwin") # (Host activates crosscompilation; The name given here is just the prefix of the host tools for the target) + # OSX dosn't like CMAKE_C(XX)_COMPILER (cc) in CC/CXX and rather wants to have gcc/g++ + vcpkg_list(SET z_vcm_all_tools) + function(z_vcpkg_make_set_env envvar cmakevar) + if(NOT VCPKG_DETECTED_CMAKE_${cmakevar}) + return() endif() - debug_message("Using make triplet: ${arg_BUILD_TRIPLET}") + set(prog "${VCPKG_DETECTED_CMAKE_${cmakevar}}") + if(NOT DEFINED ENV{${envvar}} AND NOT prog STREQUAL "") + vcpkg_list(APPEND z_vcm_all_tools "${prog}") + if(ARGN) + string(APPEND prog " ${ARGN}") + endif() + set(z_vcm_all_tools "${z_vcm_all_tools}" PARENT_SCOPE) + set(ENV{${envvar}} "${prog}") + endif() + endfunction() + z_vcpkg_make_set_env(CC C_COMPILER) + if(NOT arg_BUILD_TRIPLET MATCHES "--host") + z_vcpkg_make_set_env(CC_FOR_BUILD C_COMPILER) + z_vcpkg_make_set_env(CPP_FOR_BUILD C_COMPILER "-E") + z_vcpkg_make_set_env(CXX_FOR_BUILD C_COMPILER) + else() + set(ENV{CC_FOR_BUILD} "touch a.out | touch conftest${VCPKG_HOST_EXECUTABLE_SUFFIX} | true") + set(ENV{CPP_FOR_BUILD} "touch a.out | touch conftest${VCPKG_HOST_EXECUTABLE_SUFFIX} | true") + set(ENV{CXX_FOR_BUILD} "touch a.out | touch conftest${VCPKG_HOST_EXECUTABLE_SUFFIX} | true") endif() + z_vcpkg_make_set_env(CXX CXX_COMPILER) + z_vcpkg_make_set_env(NM NM) + z_vcpkg_make_set_env(RC RC) + z_vcpkg_make_set_env(WINDRES RC) + z_vcpkg_make_set_env(DLLTOOL DLLTOOL) + z_vcpkg_make_set_env(STRIP STRIP) + z_vcpkg_make_set_env(OBJDUMP OBJDUMP) + z_vcpkg_make_set_env(RANLIB RANLIB) + z_vcpkg_make_set_env(AR AR) + z_vcpkg_make_set_env(LD LINKER) + unset(z_vcpkg_make_set_env) endif() + list(FILTER z_vcm_all_tools INCLUDE REGEX " ") + if(z_vcm_all_tools) + list(REMOVE_DUPLICATES z_vcm_all_tools) + list(JOIN z_vcm_all_tools "\n " tools) + message(STATUS "Warning: Tools with embedded space may be handled incorrectly by configure:\n ${tools}") + endif() + + z_vcpkg_configure_make_common_definitions() + # Cleanup previous build dirs - file(REMOVE_RECURSE "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel" - "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg" + file(REMOVE_RECURSE "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${short_name_RELEASE}" + "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${short_name_DEBUG}" "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}") # Set configure paths - set(arg_OPTIONS_RELEASE ${arg_OPTIONS_RELEASE} "--prefix=${z_vcpkg_prefix_path}") - set(arg_OPTIONS_DEBUG ${arg_OPTIONS_DEBUG} "--prefix=${z_vcpkg_prefix_path}/debug") + vcpkg_list(APPEND arg_OPTIONS_RELEASE "--prefix=${current_installed_dir_msys}") + vcpkg_list(APPEND arg_OPTIONS_DEBUG "--prefix=${current_installed_dir_msys}${path_suffix_DEBUG}") if(NOT arg_NO_ADDITIONAL_PATHS) # ${prefix} has an extra backslash to prevent early expansion when calling `bash -c configure "..."`. - set(arg_OPTIONS_RELEASE ${arg_OPTIONS_RELEASE} + vcpkg_list(APPEND arg_OPTIONS_RELEASE # Important: These should all be relative to prefix! "--bindir=\\\${prefix}/tools/${PORT}/bin" "--sbindir=\\\${prefix}/tools/${PORT}/sbin" @@ -484,10 +616,10 @@ function(vcpkg_configure_make) "--mandir=\\\${prefix}/share/${PORT}" "--docdir=\\\${prefix}/share/${PORT}" "--datarootdir=\\\${prefix}/share/${PORT}") - set(arg_OPTIONS_DEBUG ${arg_OPTIONS_DEBUG} + vcpkg_list(APPEND arg_OPTIONS_DEBUG # Important: These should all be relative to prefix! - "--bindir=\\\${prefix}/../tools/${PORT}/debug/bin" - "--sbindir=\\\${prefix}/../tools/${PORT}/debug/sbin" + "--bindir=\\\${prefix}/../tools/${PORT}${path_suffix_DEBUG}/bin" + "--sbindir=\\\${prefix}/../tools/${PORT}${path_suffix_DEBUG}/sbin" "--libdir=\\\${prefix}/lib" # On some Linux distributions lib64 is the default "--includedir=\\\${prefix}/../include" "--datarootdir=\\\${prefix}/share/${PORT}") @@ -516,18 +648,11 @@ function(vcpkg_configure_make) file(RELATIVE_PATH relative_build_path "${CURRENT_BUILDTREES_DIR}" "${arg_SOURCE_PATH}/${arg_PROJECT_SUBPATH}") - set(base_cmd) - if(CMAKE_HOST_WIN32) - set(base_cmd ${bash_executable} --noprofile --norc --debug) - else() - find_program(base_cmd bash REQUIRED) - endif() - # Used by CL - z_prepend_include_path(INCLUDE) + vcpkg_host_path_list(PREPEND ENV{INCLUDE} "${CURRENT_INSTALLED_DIR}/include") # Used by GCC - z_prepend_include_path(C_INCLUDE_PATH) - z_prepend_include_path(CPLUS_INCLUDE_PATH) + vcpkg_host_path_list(PREPEND ENV{C_INCLUDE_PATH} "${CURRENT_INSTALLED_DIR}/include") + vcpkg_host_path_list(PREPEND ENV{CPLUS_INCLUDE_PATH} "${CURRENT_INSTALLED_DIR}/include") # Flags should be set in the toolchain instead (Setting this up correctly requires a function named vcpkg_determined_cmake_compiler_flags which can also be used to setup CC and CXX etc.) if(VCPKG_TARGET_IS_WINDOWS) @@ -540,20 +665,24 @@ function(vcpkg_configure_make) # IMPORTANT: The only way to pass linker flags through libtool AND the compile wrapper # is to use the CL and LINK environment variables !!! # (This is due to libtool and compiler wrapper using the same set of options to pass those variables around) - string(REPLACE "\\" "/" VCToolsInstallDir "$ENV{VCToolsInstallDir}") + file(TO_CMAKE_PATH "$ENV{VCToolsInstallDir}" VCToolsInstallDir) + set(_replacement -FU\"${VCToolsInstallDir}/lib/x86/store/references/platform.winmd\") + string(REPLACE "${_replacement}" "" VCPKG_DETECTED_CMAKE_CXX_FLAGS_DEBUG "${VCPKG_DETECTED_CMAKE_CXX_FLAGS_DEBUG}") + string(REPLACE "${_replacement}" "" VCPKG_DETECTED_CMAKE_C_FLAGS_DEBUG "${VCPKG_DETECTED_CMAKE_C_FLAGS_DEBUG}") + string(REPLACE "${_replacement}" "" VCPKG_DETECTED_CMAKE_CXX_FLAGS_RELEASE "${VCPKG_DETECTED_CMAKE_CXX_FLAGS_RELEASE}") + string(REPLACE "${_replacement}" "" VCPKG_DETECTED_CMAKE_C_FLAGS_RELEASE "${VCPKG_DETECTED_CMAKE_C_FLAGS_RELEASE}") # Can somebody please check if CMake's compiler flags for UWP are correct? - set(ENV{_CL_} "$ENV{_CL_} /D_UNICODE /DUNICODE /DWINAPI_FAMILY=WINAPI_FAMILY_APP /D__WRL_NO_DEFAULT_LIB_ -FU\"${VCToolsInstallDir}/lib/x86/store/references/platform.winmd\"") - string(APPEND VCPKG_DETECTED_CMAKE_CXX_FLAGS_RELEASE " -ZW:nostdlib") - string(APPEND VCPKG_DETECTED_CMAKE_CXX_FLAGS_DEBUG " -ZW:nostdlib") - set(ENV{_LINK_} "$ENV{_LINK_} ${VCPKG_DETECTED_CMAKE_C_STANDARD_LIBRARIES} ${VCPKG_DETECTED_CMAKE_CXX_STANDARD_LIBRARIES} /MANIFEST /DYNAMICBASE /WINMD:NO /APPCONTAINER") + set(ENV{_CL_} "$ENV{_CL_} -FU\"${VCToolsInstallDir}/lib/x86/store/references/platform.winmd\"") + set(ENV{_LINK_} "$ENV{_LINK_} ${VCPKG_DETECTED_CMAKE_C_STANDARD_LIBRARIES} ${VCPKG_DETECTED_CMAKE_CXX_STANDARD_LIBRARIES}") endif() endif() - z_convert_to_list(VCPKG_DETECTED_CMAKE_C_STANDARD_LIBRARIES c_libs_list) - z_convert_to_list(VCPKG_DETECTED_CMAKE_CXX_STANDARD_LIBRARIES cxx_libs_list) - set(all_libs_list ${c_libs_list} ${cxx_libs_list}) - list(REMOVE_DUPLICATES all_libs_list) - list(TRANSFORM all_libs_list STRIP) + # Remove outer quotes from cmake variables which will be forwarded via makefile/shell variables + # substituted into makefile commands (e.g. Android NDK has "--sysroot=...") + separate_arguments(c_libs_list NATIVE_COMMAND "${VCPKG_DETECTED_CMAKE_C_STANDARD_LIBRARIES}") + separate_arguments(cxx_libs_list NATIVE_COMMAND "${VCPKG_DETECTED_CMAKE_CXX_STANDARD_LIBRARIES}") + list(REMOVE_ITEM cxx_libs_list ${c_libs_list}) + set(all_libs_list ${cxx_libs_list} ${c_libs_list}) #Do lib list transformation from name.lib to -lname if necessary set(x_vcpkg_transform_libs ON) if(VCPKG_TARGET_IS_UWP) @@ -563,24 +692,20 @@ function(vcpkg_configure_make) # Note: Env LIBPATH;LIB are on the search path for libtool by default on windows. # It even does unix/dos-short/unix transformation with the path to get rid of spaces. endif() - set(l_prefix) if(x_vcpkg_transform_libs) - set(l_prefix "-l") - list(TRANSFORM all_libs_list REPLACE "(.dll.lib|.lib|.a|.so)$" "") + list(TRANSFORM all_libs_list REPLACE "[.](dll[.]lib|lib|a|so)$" "") if(VCPKG_TARGET_IS_WINDOWS) list(REMOVE_ITEM all_libs_list "uuid") endif() - list(TRANSFORM all_libs_list REPLACE "^(${l_prefix})" "") - endif() - list(JOIN all_libs_list " ${l_prefix}" all_libs_string) - if(VCPKG_TARGET_IS_MINGW AND VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - # libtool must be told explicitly that there is no dynamic linkage for uuid. - # The "-Wl,..." syntax is understood by libtool and gcc, but no by ld. - string(REPLACE " -luuid" " -Wl,-Bstatic,-luuid,-Bdynamic" all_libs_string "${all_libs_string}") + list(TRANSFORM all_libs_list REPLACE "^([^-].*)" "-l\\1") + if(VCPKG_TARGET_IS_MINGW AND VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + # libtool must be told explicitly that there is no dynamic linkage for uuid. + # The "-Wl,..." syntax is understood by libtool and gcc, but no by ld. + list(TRANSFORM all_libs_list REPLACE "^-luuid\$" "-Wl,-Bstatic,-luuid,-Bdynamic") + endif() endif() - - if(all_libs_string) - set(all_libs_string "${l_prefix}${all_libs_string}") + if(all_libs_list) + list(JOIN all_libs_list " " all_libs_string) if(DEFINED ENV{LIBS}) set(ENV{LIBS} "$ENV{LIBS} ${all_libs_string}") else() @@ -588,13 +713,9 @@ function(vcpkg_configure_make) endif() endif() debug_message("ENV{LIBS}:$ENV{LIBS}") - vcpkg_find_acquire_program(PKGCONFIG) - if(VCPKG_LIBRARY_LINKAGE STREQUAL "static" AND NOT PKGCONFIG STREQUAL "--static") - set(PKGCONFIG "${PKGCONFIG} --static") # Is this still required or was the PR changing the pc files accordingly merged? - endif() # Run autoconf if necessary - if (arg_AUTOCONFIG OR requires_autoconfig) + if (arg_AUTOCONFIG OR requires_autoconfig AND NOT arg_NO_AUTOCONFIG) find_program(AUTORECONF autoreconf) if(NOT AUTORECONF) message(FATAL_ERROR "${PORT} requires autoconf from the system package manager (example: \"sudo apt-get install autoconf\")") @@ -651,70 +772,18 @@ function(vcpkg_configure_make) endif() if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug" AND NOT arg_NO_DEBUG) - set(var_suffix DEBUG) - set(path_suffix_${var_suffix} "/debug") - set(short_name_${var_suffix} "dbg") - list(APPEND all_buildtypes ${var_suffix}) - if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - set(LINKER_FLAGS_${var_suffix} "${VCPKG_DETECTED_CMAKE_STATIC_LINKER_FLAGS_${var_suffix}}") - else() # dynamic - set(LINKER_FLAGS_${var_suffix} "${VCPKG_DETECTED_CMAKE_SHARED_LINKER_FLAGS_${var_suffix}}") - endif() - z_vcpkg_extract_cpp_flags_and_set_cflags_and_cxxflags(${var_suffix}) - if (CMAKE_HOST_WIN32 AND VCPKG_DETECTED_CMAKE_C_COMPILER MATCHES "cl.exe") - if(NOT vcm_paths_with_spaces) - set(LDFLAGS_${var_suffix} "-L${z_vcpkg_installed_path}${path_suffix_${var_suffix}}/lib -L${z_vcpkg_installed_path}${path_suffix_${var_suffix}}/lib/manual-link") - endif() - if(DEFINED ENV{_LINK_}) - set(LINK_ENV_${var_suffix} "$ENV{_LINK_} ${LINKER_FLAGS_${var_suffix}}") - else() - set(LINK_ENV_${var_suffix} "${LINKER_FLAGS_${var_suffix}}") - endif() - else() - set(link_required_dirs) - if(EXISTS "${CURRENT_INSTALLED_DIR}${path_suffix_${var_suffix}}/lib") - set(link_required_dirs "-L${z_vcpkg_installed_path}${path_suffix_${var_suffix}}/lib") - endif() - if(EXISTS "{CURRENT_INSTALLED_DIR}${path_suffix_${var_suffix}}/lib/manual-link") - set(link_required_dirs "${link_required_dirs} -L${z_vcpkg_installed_path}${path_suffix_${var_suffix}}/lib/manual-link") - endif() - string(STRIP "${link_required_dirs}" link_required_dirs) - set(LDFLAGS_${var_suffix} "${link_required_dirs} ${LINKER_FLAGS_${var_suffix}}") - endif() - unset(var_suffix) + list(APPEND all_buildtypes DEBUG) + z_vcpkg_configure_make_process_flags(DEBUG) endif() if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - set(var_suffix RELEASE) - set(path_suffix_${var_suffix} "") - set(short_name_${var_suffix} "rel") - list(APPEND all_buildtypes ${var_suffix}) - if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - set(LINKER_FLAGS_${var_suffix} "${VCPKG_DETECTED_CMAKE_STATIC_LINKER_FLAGS_${var_suffix}}") - else() # dynamic - set(LINKER_FLAGS_${var_suffix} "${VCPKG_DETECTED_CMAKE_SHARED_LINKER_FLAGS_${var_suffix}}") - endif() - z_vcpkg_extract_cpp_flags_and_set_cflags_and_cxxflags(${var_suffix}) - if (CMAKE_HOST_WIN32 AND VCPKG_DETECTED_CMAKE_C_COMPILER MATCHES "cl.exe") - if(NOT vcm_paths_with_spaces) - set(LDFLAGS_${var_suffix} "-L${z_vcpkg_installed_path}${path_suffix_${var_suffix}}/lib -L${z_vcpkg_installed_path}${path_suffix_${var_suffix}}/lib/manual-link") - endif() - if(DEFINED ENV{_LINK_}) - set(LINK_ENV_${var_suffix} "$ENV{_LINK_} ${LINKER_FLAGS_${var_suffix}}") - else() - set(LINK_ENV_${var_suffix} "${LINKER_FLAGS_${var_suffix}}") - endif() - else() - set(link_required_dirs) - if(EXISTS "${CURRENT_INSTALLED_DIR}${path_suffix_${var_suffix}}/lib") - set(link_required_dirs "-L${z_vcpkg_installed_path}${path_suffix_${var_suffix}}/lib") - endif() - if(EXISTS "${CURRENT_INSTALLED_DIR}${path_suffix_${var_suffix}}/lib/manual-link") - set(link_required_dirs "${link_required_dirs} -L${z_vcpkg_installed_path}${path_suffix_${var_suffix}}/lib/manual-link") - endif() - string(STRIP "${link_required_dirs}" link_required_dirs) - set(LDFLAGS_${var_suffix} "${link_required_dirs} ${LINKER_FLAGS_${var_suffix}}") - endif() - unset(var_suffix) + list(APPEND all_buildtypes RELEASE) + z_vcpkg_configure_make_process_flags(RELEASE) + endif() + list(FILTER z_vcm_all_flags INCLUDE REGEX " ") + if(z_vcm_all_flags) + list(REMOVE_DUPLICATES z_vcm_all_flags) + list(JOIN z_vcm_all_flags "\n " flags) + message(STATUS "Warning: Arguments with embedded space may be handled incorrectly by configure:\n ${flags}") endif() foreach(var IN ITEMS arg_OPTIONS arg_OPTIONS_RELEASE arg_OPTIONS_DEBUG) @@ -744,42 +813,43 @@ function(vcpkg_configure_make) endif() # Setup PKG_CONFIG_PATH - set(pkgconfig_installed_dir "${CURRENT_INSTALLED_DIR}${path_suffix_${current_buildtype}}/lib/pkgconfig") - set(pkgconfig_installed_share_dir "${CURRENT_INSTALLED_DIR}/share/pkgconfig") - if(ENV{PKG_CONFIG_PATH}) - set(backup_env_pkg_config_path_${current_buildtype} $ENV{PKG_CONFIG_PATH}) - set(ENV{PKG_CONFIG_PATH} "${pkgconfig_installed_dir}${VCPKG_HOST_PATH_SEPARATOR}${pkgconfig_installed_share_dir}${VCPKG_HOST_PATH_SEPARATOR}$ENV{PKG_CONFIG_PATH}") - else() - set(ENV{PKG_CONFIG_PATH} "${pkgconfig_installed_dir}${VCPKG_HOST_PATH_SEPARATOR}${pkgconfig_installed_share_dir}") - endif() + z_vcpkg_setup_pkgconfig_path(CONFIG "${current_buildtype}") # Setup environment set(ENV{CPPFLAGS} "${CPPFLAGS_${current_buildtype}}") + set(ENV{CPPFLAGS_FOR_BUILD} "${CPPFLAGS_${current_buildtype}}") set(ENV{CFLAGS} "${CFLAGS_${current_buildtype}}") + set(ENV{CFLAGS_FOR_BUILD} "${CFLAGS_${current_buildtype}}") set(ENV{CXXFLAGS} "${CXXFLAGS_${current_buildtype}}") + #set(ENV{CXXFLAGS_FOR_BUILD} "${CXXFLAGS_${current_buildtype}}") -> doesn't exist officially set(ENV{RCFLAGS} "${VCPKG_DETECTED_CMAKE_RC_FLAGS_${current_buildtype}}") set(ENV{LDFLAGS} "${LDFLAGS_${current_buildtype}}") + set(ENV{LDFLAGS_FOR_BUILD} "${LDFLAGS_${current_buildtype}}") + if(ARFLAGS_${current_buildtype} AND NOT (arg_USE_WRAPPERS AND VCPKG_TARGET_IS_WINDOWS)) + # Target windows with wrappers enabled cannot forward ARFLAGS since it breaks the wrapper + set(ENV{ARFLAGS} "${ARFLAGS_${current_buildtype}}") + endif() - # https://www.gnu.org/software/libtool/manual/html_node/Link-mode.html - # -avoid-version is handled specially by libtool link mode, this flag is not forwarded to linker, - # and libtool tries to avoid versioning for shared libraries and no symbolic links are created. - if(VCPKG_TARGET_IS_ANDROID) - set(ENV{LDFLAGS} "-avoid-version $ENV{LDFLAGS}") + if(VCPKG_TARGET_IS_OSX OR VCPKG_TARGET_IS_IOS) + # configure not using all flags to check if compiler works ... + set(ENV{CC} "$ENV{CC} $ENV{CPPFLAGS} $ENV{CFLAGS}") + set(ENV{CC_FOR_BUILD} "$ENV{CC_FOR_BUILD} $ENV{CPPFLAGS} $ENV{CFLAGS}") endif() if(LINK_ENV_${current_buildtype}) set(link_config_backup "$ENV{_LINK_}") set(ENV{_LINK_} "${LINK_ENV_${current_buildtype}}") + else() + unset(link_config_backup) endif() - set(ENV{PKG_CONFIG} "${PKGCONFIG}") - vcpkg_list(APPEND lib_env_vars LIB LIBPATH LIBRARY_PATH LD_LIBRARY_PATH) + vcpkg_list(APPEND lib_env_vars LIB LIBPATH LIBRARY_PATH) # LD_LIBRARY_PATH) foreach(lib_env_var IN LISTS lib_env_vars) if(EXISTS "${CURRENT_INSTALLED_DIR}${path_suffix_${current_buildtype}}/lib") vcpkg_host_path_list(PREPEND ENV{${lib_env_var}} "${CURRENT_INSTALLED_DIR}${path_suffix_${current_buildtype}}/lib") endif() if(EXISTS "${CURRENT_INSTALLED_DIR}${path_suffix_${current_buildtype}}/lib/manual-link") - vcpkg_host_path_list(PREPEND ENV{${lib_env_var}} "${CURRENT_INSTALLED_DIR}" "${path_suffix_${current_buildtype}}/lib/manual-link") + vcpkg_host_path_list(PREPEND ENV{${lib_env_var}} "${CURRENT_INSTALLED_DIR}${path_suffix_${current_buildtype}}/lib/manual-link") endif() endforeach() unset(lib_env_vars) @@ -797,6 +867,7 @@ function(vcpkg_configure_make) COMMAND ${command} WORKING_DIRECTORY "${target_dir}" LOGNAME "config-${TARGET_TRIPLET}-${short_name_${current_buildtype}}" + SAVE_LOG_FILES config.log ) if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW AND VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) file(GLOB_RECURSE libtool_files "${target_dir}*/libtool") @@ -806,22 +877,11 @@ function(vcpkg_configure_make) file(WRITE "${lt_file}" "${_contents}") endforeach() endif() - - if(EXISTS "${target_dir}/config.log") - file(RENAME "${target_dir}/config.log" "${CURRENT_BUILDTREES_DIR}/config.log-${TARGET_TRIPLET}-${short_name_${current_buildtype}}.log") - endif() endif() - - if(backup_env_pkg_config_path_${current_buildtype}) - set(ENV{PKG_CONFIG_PATH} "${backup_env_pkg_config_path_${current_buildtype}}") - else() - unset(ENV{PKG_CONFIG_PATH}) - endif() - unset(backup_env_pkg_config_path_${current_buildtype}) + z_vcpkg_restore_pkgconfig_path() - if(link_config_backup) + if(DEFINED link_config_backup) set(ENV{_LINK_} "${link_config_backup}") - unset(link_config_backup) endif() if(arg_ADD_BIN_TO_PATH) @@ -840,7 +900,7 @@ function(vcpkg_configure_make) # Export matching make program for vcpkg_build_make (cache variable) if(CMAKE_HOST_WIN32 AND MSYS_ROOT) find_program(Z_VCPKG_MAKE make PATHS "${MSYS_ROOT}/usr/bin" NO_DEFAULT_PATH REQUIRED) - elseif(VCPKG_HOST_IS_OPENBSD) + elseif(VCPKG_HOST_IS_FREEBSD OR VCPKG_HOST_IS_OPENBSD) find_program(Z_VCPKG_MAKE gmake REQUIRED) else() find_program(Z_VCPKG_MAKE make REQUIRED) @@ -851,4 +911,5 @@ function(vcpkg_configure_make) set(_VCPKG_PROJECT_SOURCE_PATH ${arg_SOURCE_PATH} PARENT_SCOPE) set(_VCPKG_PROJECT_SUBPATH ${arg_PROJECT_SUBPATH} PARENT_SCOPE) + set(_VCPKG_MAKE_NO_DEBUG ${arg_NO_DEBUG} PARENT_SCOPE) endfunction() diff --git a/scripts/cmake/vcpkg_configure_meson.cmake b/scripts/cmake/vcpkg_configure_meson.cmake index 4c5d7be6410a44..bbc806b81d50f1 100644 --- a/scripts/cmake/vcpkg_configure_meson.cmake +++ b/scripts/cmake/vcpkg_configure_meson.cmake @@ -1,115 +1,74 @@ -#[===[.md: -# vcpkg_configure_meson - -Configure Meson for Debug and Release builds of a project. - -## Usage -```cmake -vcpkg_configure_meson( - SOURCE_PATH <${SOURCE_PATH}> - [NO_PKG_CONFIG] - [OPTIONS <-DUSE_THIS_IN_ALL_BUILDS=1>...] - [OPTIONS_RELEASE <-DOPTIMIZE=1>...] - [OPTIONS_DEBUG <-DDEBUGGABLE=1>...] -) -``` - -## Parameters -### SOURCE_PATH -Specifies the directory containing the `meson.build`. -By convention, this is usually set in the portfile as the variable `SOURCE_PATH`. - -### OPTIONS -Additional options passed to Meson during the configuration. - -### OPTIONS_RELEASE -Additional options passed to Meson during the Release configuration. These are in addition to `OPTIONS`. - -### OPTIONS_DEBUG -Additional options passed to Meson during the Debug configuration. These are in addition to `OPTIONS`. - -### NO_PKG_CONFIG -Disable pkg-config setup - -## Notes -This command supplies many common arguments to Meson. To see the full list, examine the source. - -## Examples - -* [fribidi](https://github.com/Microsoft/vcpkg/blob/master/ports/fribidi/portfile.cmake) -* [libepoxy](https://github.com/Microsoft/vcpkg/blob/master/ports/libepoxy/portfile.cmake) -#]===] - -function(z_vcpkg_meson_generate_native_file additional_binaries) #https://mesonbuild.com/Native-environments.html - set(native_config "[binaries]\n") - #set(proglist AR RANLIB STRIP NM OBJDUMP DLLTOOL MT) +function(z_vcpkg_meson_set_proglist_variables config_type) if(VCPKG_TARGET_IS_WINDOWS) - set(proglist MT) + set(proglist MT AR) else() set(proglist AR RANLIB STRIP NM OBJDUMP DLLTOOL MT) endif() foreach(prog IN LISTS proglist) if(VCPKG_DETECTED_CMAKE_${prog}) - string(TOLOWER "${prog}" proglower) - string(APPEND native_config "${proglower} = '${VCPKG_DETECTED_CMAKE_${prog}}'\n") + if(meson_${prog}) + string(TOUPPER "MESON_${meson_${prog}}" var_to_set) + set("${var_to_set}" "${meson_${prog}} = ['${VCPKG_DETECTED_CMAKE_${prog}}']" PARENT_SCOPE) + elseif(${prog} STREQUAL AR AND VCPKG_DETECTED_CMAKE_STATIC_LINKER_FLAGS_${config_type}) + # Probably need to move AR somewhere else + string(TOLOWER "${prog}" proglower) + z_vcpkg_meson_convert_compiler_flags_to_list(ar_flags "${VCPKG_DETECTED_CMAKE_STATIC_LINKER_FLAGS_${config_type}}") + list(PREPEND ar_flags "${VCPKG_DETECTED_CMAKE_${prog}}") + z_vcpkg_meson_convert_list_to_python_array(ar_flags ${ar_flags}) + set("MESON_AR" "${proglower} = ${ar_flags}" PARENT_SCOPE) + else() + string(TOUPPER "MESON_${prog}" var_to_set) + string(TOLOWER "${prog}" proglower) + set("${var_to_set}" "${proglower} = ['${VCPKG_DETECTED_CMAKE_${prog}}']" PARENT_SCOPE) + endif() endif() endforeach() - set(programs C CXX RC) - foreach(prog IN LISTS programs) - if(VCPKG_DETECTED_CMAKE_${prog}_COMPILER) - string(REPLACE "CXX" "CPP" mesonprog "${prog}") - string(REPLACE "RC" "windres" mesonprog "${mesonprog}") # https://mesonbuild.com/Windows-module.html - string(TOLOWER "${mesonprog}" proglower) - string(APPEND native_config "${proglower} = '${VCPKG_DETECTED_CMAKE_${prog}_COMPILER}'\n") - endif() - endforeach() - if(VCPKG_DETECTED_CMAKE_LINKER AND VCPKG_TARGET_IS_WINDOWS) - # for gcc and icc the linker flag -fuse-ld is used. See https://github.com/mesonbuild/meson/issues/8647#issuecomment-878673456 - if (NOT VCPKG_DETECTED_CMAKE_C_COMPILER_ID MATCHES "^(GNU|Intel)$") - string(APPEND native_config "c_ld = '${VCPKG_DETECTED_CMAKE_LINKER}'\n") - endif() + set(compilers "${arg_LANGUAGES}") + if(VCPKG_TARGET_IS_WINDOWS) + list(APPEND compilers RC) endif() - if(VCPKG_DETECTED_CMAKE_LINKER AND VCPKG_TARGET_IS_WINDOWS) - # for gcc and icc the linker flag -fuse-ld is used. See https://github.com/mesonbuild/meson/issues/8647#issuecomment-878673456 - if (NOT VCPKG_DETECTED_CMAKE_CXX_COMPILER_ID MATCHES "^(GNU|Intel)$") - string(APPEND native_config "cpp_ld = '${VCPKG_DETECTED_CMAKE_LINKER}'\n") + set(meson_RC windres) + set(meson_Fortran fc) + set(meson_CXX cpp) + foreach(prog IN LISTS compilers) + if(VCPKG_DETECTED_CMAKE_${prog}_COMPILER) + string(TOUPPER "MESON_${prog}" var_to_set) + if(meson_${prog}) + if(VCPKG_DETECTED_CMAKE_${prog}_FLAGS_${config_type}) + # Need compiler flags in prog vars for sanity check. + z_vcpkg_meson_convert_compiler_flags_to_list(${prog}flags "${VCPKG_DETECTED_CMAKE_${prog}_FLAGS_${config_type}}") + endif() + list(PREPEND ${prog}flags "${VCPKG_DETECTED_CMAKE_${prog}_COMPILER}") + list(FILTER ${prog}flags EXCLUDE REGEX "(-|/)nologo") # Breaks compiler detection otherwise + z_vcpkg_meson_convert_list_to_python_array(${prog}flags ${${prog}flags}) + set("${var_to_set}" "${meson_${prog}} = ${${prog}flags}" PARENT_SCOPE) + if (DEFINED VCPKG_DETECTED_CMAKE_${prog}_COMPILER_ID AND NOT VCPKG_DETECTED_CMAKE_${prog}_COMPILER_ID MATCHES "^(GNU|Intel)$") + string(TOUPPER "MESON_${prog}_LD" var_to_set) + set(${var_to_set} "${meson_${prog}}_ld = ['${VCPKG_DETECTED_CMAKE_LINKER}']" PARENT_SCOPE) + endif() + else() + if(VCPKG_DETECTED_CMAKE_${prog}_FLAGS_${config_type}) + # Need compiler flags in prog vars for sanity check. + z_vcpkg_meson_convert_compiler_flags_to_list(${prog}flags "${VCPKG_DETECTED_CMAKE_${prog}_FLAGS_${config_type}}") + endif() + list(PREPEND ${prog}flags "${VCPKG_DETECTED_CMAKE_${prog}_COMPILER}") + list(FILTER ${prog}flags EXCLUDE REGEX "(-|/)nologo") # Breaks compiler detection otherwise + z_vcpkg_meson_convert_list_to_python_array(${prog}flags ${${prog}flags}) + string(TOLOWER "${prog}" proglower) + set("${var_to_set}" "${proglower} = ${${prog}flags}" PARENT_SCOPE) + if (DEFINED VCPKG_DETECTED_CMAKE_${prog}_COMPILER_ID AND NOT VCPKG_DETECTED_CMAKE_${prog}_COMPILER_ID MATCHES "^(GNU|Intel)$") + string(TOUPPER "MESON_${prog}_LD" var_to_set) + set(${var_to_set} "${proglower}_ld = ['${VCPKG_DETECTED_CMAKE_LINKER}']" PARENT_SCOPE) + endif() + endif() endif() - endif() - string(APPEND native_config "cmake = '${CMAKE_COMMAND}'\n") - foreach(additional_binary IN LISTS additional_binaries) - string(APPEND native_config "${additional_binary}\n") endforeach() - - string(APPEND native_config "[built-in options]\n") #https://mesonbuild.com/Builtin-options.html - if(VCPKG_DETECTED_CMAKE_C_COMPILER MATCHES "cl.exe") - # This is currently wrongly documented in the meson docs or buggy. The docs say: 'none' = no flags - # In reality however 'none' tries to deactivate eh and meson passes the flags for it resulting in a lot of warnings - # about overriden flags. Until this is fixed in meson vcpkg should not pass this here. - # string(APPEND native_config "cpp_eh='none'\n") # To make sure meson is not adding eh flags by itself using msvc - endif() - if(VCPKG_TARGET_IS_WINDOWS) - set(c_winlibs "${VCPKG_DETECTED_CMAKE_C_STANDARD_LIBRARIES}") - set(cpp_winlibs "${VCPKG_DETECTED_CMAKE_CXX_STANDARD_LIBRARIES}") - foreach(libvar IN ITEMS c_winlibs cpp_winlibs) - string(REGEX REPLACE "( |^)(-|/)" [[;\2]] "${libvar}" "${${libvar}}") - string(REPLACE ".lib " ".lib;" "${libvar}" "${${libvar}}") - vcpkg_list(REMOVE_ITEM "${libvar}" "") - vcpkg_list(JOIN "${libvar}" "', '" "${libvar}") - string(APPEND native_config "${libvar} = ['${${libvar}}']\n") - endforeach() - endif() - - set(native_config_name "${CURRENT_BUILDTREES_DIR}/meson-native-${TARGET_TRIPLET}.log") - set(vcpkg_meson_native_file "${native_config_name}" PARENT_SCOPE) - file(WRITE "${native_config_name}" "${native_config}") endfunction() function(z_vcpkg_meson_convert_compiler_flags_to_list out_var compiler_flags) - string(REPLACE ";" [[\;]] tmp_var "${compiler_flags}") - string(REGEX REPLACE [=[( +|^)((\"(\\"|[^"])+"|\\"|\\ |[^ ])+)]=] ";\\2" tmp_var "${tmp_var}") - vcpkg_list(POP_FRONT tmp_var) # The first element is always empty due to the above replacement - list(TRANSFORM tmp_var STRIP) # Strip leading trailing whitespaces from each element in the list. - set("${out_var}" "${tmp_var}" PARENT_SCOPE) + separate_arguments(cmake_list NATIVE_COMMAND "${compiler_flags}") + list(TRANSFORM cmake_list REPLACE ";" [[\\;]]) + set("${out_var}" "${cmake_list}" PARENT_SCOPE) endfunction() function(z_vcpkg_meson_convert_list_to_python_array out_var) @@ -120,9 +79,7 @@ function(z_vcpkg_meson_convert_list_to_python_array out_var) endfunction() # Generates the required compiler properties for meson -function(z_vcpkg_meson_generate_flags_properties_string out_var config_type) - set(result "") - +function(z_vcpkg_meson_set_flags_variables config_type) if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) set(libpath_flag /LIBPATH:) else() @@ -134,82 +91,35 @@ function(z_vcpkg_meson_generate_flags_properties_string out_var config_type) set(path_suffix "") endif() + set(includepath "-I${CURRENT_INSTALLED_DIR}/include") set(libpath "${libpath_flag}${CURRENT_INSTALLED_DIR}${path_suffix}/lib") - z_vcpkg_meson_convert_compiler_flags_to_list(cflags "${VCPKG_DETECTED_CMAKE_C_FLAGS_${config_type}}") - vcpkg_list(APPEND cflags "-I${CURRENT_INSTALLED_DIR}/include") - z_vcpkg_meson_convert_list_to_python_array(cflags ${cflags}) - string(APPEND result "c_args = ${cflags}\n") - - z_vcpkg_meson_convert_compiler_flags_to_list(cxxflags "${VCPKG_DETECTED_CMAKE_CXX_FLAGS_${config_type}}") - vcpkg_list(APPEND cxxflags "-I${CURRENT_INSTALLED_DIR}/include") - z_vcpkg_meson_convert_list_to_python_array(cxxflags ${cxxflags}) - string(APPEND result "cpp_args = ${cxxflags}\n") - - if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - set(linker_flags "${VCPKG_DETECTED_CMAKE_SHARED_LINKER_FLAGS_${config_type}}") - else() - set(linker_flags "${VCPKG_DETECTED_CMAKE_STATIC_LINKER_FLAGS_${config_type}}") - endif() - z_vcpkg_meson_convert_compiler_flags_to_list(linker_flags "${linker_flags}") - vcpkg_list(APPEND linker_flags "${libpath}") - z_vcpkg_meson_convert_list_to_python_array(linker_flags ${linker_flags}) - string(APPEND result "c_link_args = ${linker_flags}\n") - string(APPEND result "cpp_link_args = ${linker_flags}\n") - set("${out_var}" "${result}" PARENT_SCOPE) -endfunction() - -function(z_vcpkg_meson_generate_native_file_config config_type) #https://mesonbuild.com/Native-environments.html - set(native_file "[properties]\n") #https://mesonbuild.com/Builtin-options.html - z_vcpkg_meson_generate_flags_properties_string(native_properties "${config_type}") - string(APPEND native_file "${native_properties}") - #Setup CMake properties - string(APPEND native_file "cmake_toolchain_file = '${SCRIPTS}/buildsystems/vcpkg.cmake'\n") - string(APPEND native_file "[cmake]\n") - - if(NOT VCPKG_CHAINLOAD_TOOLCHAIN_FILE) - if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) - set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${SCRIPTS}/toolchains/windows.cmake") - elseif(VCPKG_TARGET_IS_LINUX) - set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${SCRIPTS}/toolchains/linux.cmake") - elseif(VCPKG_TARGET_IS_ANDROID) - set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${SCRIPTS}/toolchains/android.cmake") - elseif(VCPKG_TARGET_IS_OSX) - set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${SCRIPTS}/toolchains/osx.cmake") - elseif(VCPKG_TARGET_IS_IOS) - set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${SCRIPTS}/toolchains/ios.cmake") - elseif(VCPKG_TARGET_IS_FREEBSD) - set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${SCRIPTS}/toolchains/freebsd.cmake") - elseif(VCPKG_TARGET_IS_OPENBSD) - set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${SCRIPTS}/toolchains/openbsd.cmake") - elseif(VCPKG_TARGET_IS_MINGW) - set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${SCRIPTS}/toolchains/mingw.cmake") + foreach(lang IN LISTS arg_LANGUAGES) + z_vcpkg_meson_convert_compiler_flags_to_list(${lang}flags "${VCPKG_DETECTED_CMAKE_${lang}_FLAGS_${config_type}}") + if(lang MATCHES "^(C|CXX)$") + vcpkg_list(APPEND ${lang}flags "${includepath}") endif() - endif() - - string(APPEND native_file "VCPKG_TARGET_TRIPLET = '${TARGET_TRIPLET}'\n") - string(APPEND native_file "VCPKG_CHAINLOAD_TOOLCHAIN_FILE = '${VCPKG_CHAINLOAD_TOOLCHAIN_FILE}'\n") - string(APPEND native_file "VCPKG_CRT_LINKAGE = '${VCPKG_CRT_LINKAGE}'\n") - - string(APPEND native_file "[built-in options]\n") - if(VCPKG_TARGET_IS_WINDOWS) - if(VCPKG_CRT_LINKAGE STREQUAL "static") - set(crt_type mt) - else() - set(crt_type md) + z_vcpkg_meson_convert_list_to_python_array(${lang}flags ${${lang}flags}) + set(lang_mapping "${lang}") + if(lang STREQUAL "Fortran") + set(lang_mapping "FC") endif() - if("${config_type}" STREQUAL "DEBUG") - string(APPEND crt_type "d") + string(TOLOWER "${lang_mapping}" langlower) + if(lang STREQUAL "CXX") + set(langlower cpp) endif() - string(APPEND native_file "b_vscrt = '${crt_type}'\n") - endif() - string(TOLOWER "${config_type}" lowerconfig) - set(native_config_name "${CURRENT_BUILDTREES_DIR}/meson-native-${TARGET_TRIPLET}-${lowerconfig}.log") - file(WRITE "${native_config_name}" "${native_file}") - set("vcpkg_meson_native_file_${config_type}" "${native_config_name}" PARENT_SCOPE) + set(MESON_${lang_mapping}FLAGS "${langlower}_args = ${${lang}flags}\n") + set(linker_flags "${VCPKG_DETECTED_CMAKE_SHARED_LINKER_FLAGS_${config_type}}") + z_vcpkg_meson_convert_compiler_flags_to_list(linker_flags "${linker_flags}") + vcpkg_list(APPEND linker_flags "${libpath}") + z_vcpkg_meson_convert_list_to_python_array(linker_flags ${linker_flags}) + string(APPEND MESON_${lang_mapping}FLAGS "${langlower}_link_args = ${linker_flags}\n") + set(MESON_${lang_mapping}FLAGS "${MESON_${lang_mapping}FLAGS}" PARENT_SCOPE) + endforeach() endfunction() -function(z_vcpkg_meson_generate_cross_file additional_binaries) #https://mesonbuild.com/Cross-compilation.html +function(z_vcpkg_get_build_and_host_system build_system host_system is_cross) #https://mesonbuild.com/Cross-compilation.html + set(build_unknown FALSE) if(CMAKE_HOST_WIN32) if(DEFINED ENV{PROCESSOR_ARCHITEW6432}) set(build_arch $ENV{PROCESSOR_ARCHITEW6432}) @@ -229,21 +139,28 @@ function(z_vcpkg_meson_generate_cross_file additional_binaries) #https://mesonbu set(build_cpu_fam arm) set(build_cpu armv7hl) else() - message(FATAL_ERROR "Unsupported host architecture ${build_arch}!") + if(NOT DEFINED VCPKG_MESON_CROSS_FILE OR NOT DEFINED VCPKG_MESON_NATIVE_FILE) + message(WARNING "Unsupported build architecture ${build_arch}! Please set VCPKG_MESON_(CROSS|NATIVE)_FILE to a meson file containing the build_machine entry!") + endif() + set(build_unknown TRUE) endif() elseif(CMAKE_HOST_UNIX) # at this stage, CMAKE_HOST_SYSTEM_PROCESSOR is not defined execute_process( COMMAND uname -m OUTPUT_VARIABLE MACHINE + OUTPUT_STRIP_TRAILING_WHITESPACE COMMAND_ERROR_IS_FATAL ANY) - + # Show real machine architecture to visually understand whether we are in a native Apple Silicon terminal or running under Rosetta emulation debug_message("Machine: ${MACHINE}") if(MACHINE MATCHES "arm64|aarch64") set(build_cpu_fam aarch64) set(build_cpu armv8) + elseif(MACHINE MATCHES "armv7h?l") + set(build_cpu_fam arm) + set(build_cpu ${MACHINE}) elseif(MACHINE MATCHES "x86_64|amd64") set(build_cpu_fam x86_64) set(build_cpu x86_64) @@ -253,14 +170,48 @@ function(z_vcpkg_meson_generate_cross_file additional_binaries) #https://mesonbu elseif(MACHINE MATCHES "i386") set(build_cpu_fam x86) set(build_cpu i386) + elseif(MACHINE MATCHES "loongarch64") + set(build_cpu_fam loongarch64) + set(build_cpu loongarch64) else() # https://github.com/mesonbuild/meson/blob/master/docs/markdown/Reference-tables.md#cpu-families - message(FATAL_ERROR "Unhandled machine: ${MACHINE}") + if(NOT DEFINED VCPKG_MESON_CROSS_FILE OR NOT DEFINED VCPKG_MESON_NATIVE_FILE) + message(WARNING "Unhandled machine: ${MACHINE}! Please set VCPKG_MESON_(CROSS|NATIVE)_FILE to a meson file containing the build_machine entry!") + endif() + set(build_unknown TRUE) + endif() + else() + if(NOT DEFINED VCPKG_MESON_CROSS_FILE OR NOT DEFINED VCPKG_MESON_NATIVE_FILE) + message(WARNING "Failed to detect the build architecture! Please set VCPKG_MESON_(CROSS|NATIVE)_FILE to a meson file containing the build_machine entry!") endif() + set(build_unknown TRUE) + endif() + + set(build "[build_machine]\n") # Machine the build is performed on + string(APPEND build "endian = 'little'\n") + if(CMAKE_HOST_WIN32) + string(APPEND build "system = 'windows'\n") + elseif(CMAKE_HOST_APPLE) + string(APPEND build "system = 'darwin'\n") + elseif(VCPKG_HOST_IS_CYGWIN) + string(APPEND build "system = 'cygwin'\n") + elseif(CMAKE_HOST_UNIX) + string(APPEND build "system = 'linux'\n") else() - message(FATAL_ERROR "Failed to detect the host architecture!") + set(build_unknown TRUE) endif() + if(DEFINED build_cpu_fam) + string(APPEND build "cpu_family = '${build_cpu_fam}'\n") + endif() + if(DEFINED build_cpu) + string(APPEND build "cpu = '${build_cpu}'") + endif() + if(NOT build_unknown) + set(${build_system} "${build}" PARENT_SCOPE) + endif() + + set(host_unkown FALSE) if(VCPKG_TARGET_ARCHITECTURE MATCHES "(amd|AMD|x|X)64") set(host_cpu_fam x86_64) set(host_cpu x86_64) @@ -273,182 +224,177 @@ function(z_vcpkg_meson_generate_cross_file additional_binaries) #https://mesonbu elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "^(ARM|arm)$") set(host_cpu_fam arm) set(host_cpu armv7hl) + elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "loongarch64") + set(host_cpu_fam loongarch64) + set(host_cpu loongarch64) + elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "wasm32") + set(host_cpu_fam wasm32) + set(host_cpu wasm32) else() - message(FATAL_ERROR "Unsupported target architecture ${VCPKG_TARGET_ARCHITECTURE}!" ) - endif() - set(cross_file "[binaries]\n") - if(VCPKG_TARGET_IS_WINDOWS) - set(proglist MT) - else() - set(proglist AR RANLIB STRIP NM OBJDUMP DLLTOOL MT) - endif() - foreach(prog IN LISTS proglist) - if(VCPKG_DETECTED_CMAKE_${prog}) - string(TOLOWER "${prog}" proglower) - string(APPEND cross_file "${proglower} = '${VCPKG_DETECTED_CMAKE_${prog}}'\n") - endif() - endforeach() - set(programs C CXX RC) - foreach(prog IN LISTS programs) - if(VCPKG_DETECTED_CMAKE_${prog}_COMPILER) - string(REPLACE "CXX" "CPP" mesonprog "${prog}") - string(REPLACE "RC" "windres" mesonprog "${mesonprog}") # https://mesonbuild.com/Windows-module.html - string(TOLOWER "${mesonprog}" proglower) - string(APPEND cross_file "${proglower} = '${VCPKG_DETECTED_CMAKE_${prog}_COMPILER}'\n") - endif() - endforeach() - if(VCPKG_DETECTED_CMAKE_LINKER AND VCPKG_TARGET_IS_WINDOWS) - # for gcc and icc the linker flag -fuse-ld is used. See https://github.com/mesonbuild/meson/issues/8647#issuecomment-878673456 - if (NOT VCPKG_DETECTED_CMAKE_C_COMPILER_ID MATCHES "^(GNU|Intel)$") - string(APPEND cross_file "c_ld = '${VCPKG_DETECTED_CMAKE_LINKER}'\n") - endif() - endif() - if(VCPKG_DETECTED_CMAKE_LINKER AND VCPKG_TARGET_IS_WINDOWS) - # for gcc and icc the linker flag -fuse-ld is used. See https://github.com/mesonbuild/meson/issues/8647#issuecomment-878673456 - if (NOT VCPKG_DETECTED_CMAKE_CXX_COMPILER_ID MATCHES "^(GNU|Intel)$") - string(APPEND cross_file "cpp_ld = '${VCPKG_DETECTED_CMAKE_LINKER}'\n") + if(NOT DEFINED VCPKG_MESON_CROSS_FILE OR NOT DEFINED VCPKG_MESON_NATIVE_FILE) + message(WARNING "Unsupported target architecture ${VCPKG_TARGET_ARCHITECTURE}! Please set VCPKG_MESON_(CROSS|NATIVE)_FILE to a meson file containing the host_machine entry!" ) endif() + set(host_unkown TRUE) endif() - string(APPEND cross_file "cmake = '${CMAKE_COMMAND}'\n") - foreach(additional_binary IN LISTS additional_binaries) - string(APPEND cross_file "${additional_binary}\n") - endforeach() - - string(APPEND cross_file "[properties]\n") - string(APPEND cross_file "[host_machine]\n") - string(APPEND cross_file "endian = 'little'\n") - if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_TARGET_IS_MINGW) + set(host "[host_machine]\n") # host=target in vcpkg. + string(APPEND host "endian = 'little'\n") + if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_TARGET_IS_MINGW OR VCPKG_TARGET_IS_UWP) set(meson_system_name "windows") else() string(TOLOWER "${VCPKG_CMAKE_SYSTEM_NAME}" meson_system_name) endif() - string(APPEND cross_file "system = '${meson_system_name}'\n") - string(APPEND cross_file "cpu_family = '${host_cpu_fam}'\n") - string(APPEND cross_file "cpu = '${host_cpu}'\n") - - string(APPEND cross_file "[build_machine]\n") - string(APPEND cross_file "endian = 'little'\n") - if(WIN32) - string(APPEND cross_file "system = 'windows'\n") - elseif(DARWIN) - string(APPEND cross_file "system = 'darwin'\n") - else() - string(APPEND cross_file "system = 'linux'\n") - endif() - - if(DEFINED build_cpu_fam) - string(APPEND cross_file "cpu_family = '${build_cpu_fam}'\n") - endif() - if(DEFINED build_cpu) - string(APPEND cross_file "cpu = '${build_cpu}'\n") + string(APPEND host "system = '${meson_system_name}'\n") + string(APPEND host "cpu_family = '${host_cpu_fam}'\n") + string(APPEND host "cpu = '${host_cpu}'") + if(NOT host_unkown) + set(${host_system} "${host}" PARENT_SCOPE) endif() if(NOT build_cpu_fam MATCHES "${host_cpu_fam}" OR VCPKG_TARGET_IS_ANDROID OR VCPKG_TARGET_IS_IOS OR VCPKG_TARGET_IS_UWP - OR (VCPKG_TARGET_IS_MINGW AND NOT WIN32)) - set(native_config_name "${CURRENT_BUILDTREES_DIR}/meson-cross-${TARGET_TRIPLET}.log") - set(vcpkg_meson_cross_file "${native_config_name}" PARENT_SCOPE) - file(WRITE "${native_config_name}" "${cross_file}") + OR (VCPKG_TARGET_IS_MINGW AND NOT CMAKE_HOST_WIN32)) + set(${is_cross} TRUE PARENT_SCOPE) endif() endfunction() -function(z_vcpkg_meson_generate_cross_file_config config_type) #https://mesonbuild.com/Native-environments.html - set(cross_${config_type}_log "[properties]\n") #https://mesonbuild.com/Builtin-options.html - z_vcpkg_meson_generate_flags_properties_string(cross_properties ${config_type}) - string(APPEND cross_${config_type}_log "${cross_properties}") - string(APPEND cross_${config_type}_log "[built-in options]\n") - if(VCPKG_TARGET_IS_WINDOWS) - if(VCPKG_CRT_LINKAGE STREQUAL "static") - set(crt_type mt) - else() - set(crt_type md) - endif() - if(${config_type} STREQUAL "DEBUG") - set(crt_type ${crt_type}d) - endif() - string(APPEND cross_${config_type}_log "b_vscrt = '${crt_type}'\n") +function(z_vcpkg_meson_setup_extra_windows_variables config_type) + ## b_vscrt + if(VCPKG_CRT_LINKAGE STREQUAL "static") + set(crt_type "mt") + else() + set(crt_type "md") endif() - string(TOLOWER "${config_type}" lowerconfig) - set(native_config_name "${CURRENT_BUILDTREES_DIR}/meson-cross-${TARGET_TRIPLET}-${lowerconfig}.log") - set(VCPKG_MESON_CROSS_FILE_${config_type} "${native_config_name}" PARENT_SCOPE) - file(WRITE "${native_config_name}" "${cross_${config_type}_log}") + if(config_type STREQUAL "DEBUG") + set(crt_type "${crt_type}d") + endif() + set(MESON_VSCRT_LINKAGE "b_vscrt = '${crt_type}'" PARENT_SCOPE) + ## winlibs + separate_arguments(c_winlibs NATIVE_COMMAND "${VCPKG_DETECTED_CMAKE_C_STANDARD_LIBRARIES}") + separate_arguments(cpp_winlibs NATIVE_COMMAND "${VCPKG_DETECTED_CMAKE_CXX_STANDARD_LIBRARIES}") + z_vcpkg_meson_convert_list_to_python_array(c_winlibs ${c_winlibs}) + z_vcpkg_meson_convert_list_to_python_array(cpp_winlibs ${cpp_winlibs}) + set(MESON_WINLIBS "c_winlibs = ${c_winlibs}\n") + string(APPEND MESON_WINLIBS "cpp_winlibs = ${cpp_winlibs}") + set(MESON_WINLIBS "${MESON_WINLIBS}" PARENT_SCOPE) endfunction() +function(z_vcpkg_meson_setup_variables config_type) + set(meson_var_list VSCRT_LINKAGE WINLIBS MT AR RC C C_LD CXX CXX_LD OBJC OBJC_LD OBJCXX OBJCXX_LD FC FC_LD WINDRES CFLAGS CXXFLAGS OBJCFLAGS OBJCXXFLAGS FCFLAGS SHARED_LINKER_FLAGS) + foreach(var IN LISTS meson_var_list) + set(MESON_${var} "") + endforeach() + + if(VCPKG_TARGET_IS_WINDOWS) + z_vcpkg_meson_setup_extra_windows_variables("${config_type}") + endif() + + z_vcpkg_meson_set_proglist_variables("${config_type}") + z_vcpkg_meson_set_flags_variables("${config_type}") + + foreach(var IN LISTS meson_var_list) + set(MESON_${var} "${MESON_${var}}" PARENT_SCOPE) + endforeach() +endfunction() function(vcpkg_configure_meson) # parse parameters such that semicolons in options arguments to COMMAND don't get erased cmake_parse_arguments(PARSE_ARGV 0 arg "NO_PKG_CONFIG" "SOURCE_PATH" - "OPTIONS;OPTIONS_DEBUG;OPTIONS_RELEASE;ADDITIONAL_NATIVE_BINARIES;ADDITIONAL_CROSS_BINARIES" + "OPTIONS;OPTIONS_DEBUG;OPTIONS_RELEASE;LANGUAGES;ADDITIONAL_BINARIES;ADDITIONAL_NATIVE_BINARIES;ADDITIONAL_CROSS_BINARIES" ) + if(NOT arg_LANGUAGES) + set(arg_LANGUAGES C CXX) + endif() + + if(DEFINED arg_ADDITIONAL_NATIVE_BINARIES OR DEFINED arg_ADDITIONAL_CROSS_BINARIES) + message(WARNING "Options ADDITIONAL_(NATIVE|CROSS)_BINARIES have been deprecated. Only use ADDITIONAL_BINARIES!") + endif() + + vcpkg_list(APPEND arg_ADDITIONAL_BINARIES ${arg_ADDITIONAL_NATIVE_BINARIES} ${arg_ADDITIONAL_CROSS_BINARIES}) + vcpkg_list(REMOVE_DUPLICATES arg_ADDITIONAL_BINARIES) + vcpkg_list(JOIN arg_ADDITIONAL_BINARIES "\n" MESON_ADDITIONAL_BINARIES) + file(REMOVE_RECURSE "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") file(REMOVE_RECURSE "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") + if(NOT VCPKG_CHAINLOAD_TOOLCHAIN_FILE) + z_vcpkg_select_default_vcpkg_chainload_toolchain() + endif() z_vcpkg_get_cmake_vars(cmake_vars_file) debug_message("Including cmake vars from: ${cmake_vars_file}") include("${cmake_vars_file}") + vcpkg_find_acquire_program(MESON) + + get_filename_component(CMAKE_PATH "${CMAKE_COMMAND}" DIRECTORY) + vcpkg_add_to_path("${CMAKE_PATH}" PREPEND) # Make CMake invokeable for Meson + vcpkg_find_acquire_program(PYTHON3) get_filename_component(PYTHON3_DIR "${PYTHON3}" DIRECTORY) vcpkg_add_to_path("${PYTHON3_DIR}") - vcpkg_list(APPEND arg_ADDITIONAL_NATIVE_BINARIES "python = '${PYTHON3}'") - vcpkg_list(APPEND arg_ADDITIONAL_CROSS_BINARIES "python = '${PYTHON3}'") - - vcpkg_find_acquire_program(MESON) - - get_filename_component(CMAKE_PATH ${CMAKE_COMMAND} DIRECTORY) - vcpkg_add_to_path("${CMAKE_PATH}") # Make CMake invokeable for Meson vcpkg_find_acquire_program(NINJA) get_filename_component(NINJA_PATH ${NINJA} DIRECTORY) - vcpkg_add_to_path(PREPEND "${NINJA_PATH}") # Need to prepend so that meson picks up the correct ninja from vcpkg .... - # vcpkg_list(APPEND arg_ADDITIONAL_NATIVE_BINARIES "ninja = '${NINJA}'") # This does not work due to meson issues ...... + vcpkg_add_to_path(PREPEND "${NINJA_PATH}") # Prepend to use the correct ninja. + + set(buildtypes "") + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + set(buildname "DEBUG") + vcpkg_list(APPEND buildtypes "${buildname}") + set(path_suffix_${buildname} "debug/") + set(suffix_${buildname} "dbg") + set(meson_input_file_${buildname} "${CURRENT_BUILDTREES_DIR}/meson-${TARGET_TRIPLET}-${suffix_${buildname}}.log") + endif() + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + set(buildname "RELEASE") + vcpkg_list(APPEND buildtypes "${buildname}") + set(path_suffix_${buildname} "") + set(suffix_${buildname} "rel") + set(meson_input_file_${buildname} "${CURRENT_BUILDTREES_DIR}/meson-${TARGET_TRIPLET}-${suffix_${buildname}}.log") + endif() + + vcpkg_list(APPEND arg_OPTIONS --backend ninja --wrap-mode nodownload -Dbuildtype=plain) - vcpkg_list(APPEND arg_OPTIONS --buildtype plain --backend ninja --wrap-mode nodownload) + z_vcpkg_get_build_and_host_system(MESON_HOST_MACHINE MESON_BUILD_MACHINE IS_CROSS) - if(NOT vcpkg_meson_cross_file) - z_vcpkg_meson_generate_cross_file("${arg_ADDITIONAL_CROSS_BINARIES}") + if(IS_CROSS) + # VCPKG_CROSSCOMPILING is not used since it regresses a lot of ports in x64-windows-x triplets + # For consistency this should proably be changed in the future? + vcpkg_list(APPEND arg_OPTIONS --native "${SCRIPTS}/buildsystems/meson/none.txt") + vcpkg_list(APPEND arg_OPTIONS_DEBUG --cross "${meson_input_file_DEBUG}") + vcpkg_list(APPEND arg_OPTIONS_RELEASE --cross "${meson_input_file_RELEASE}") + else() + vcpkg_list(APPEND arg_OPTIONS_DEBUG --native "${meson_input_file_DEBUG}") + vcpkg_list(APPEND arg_OPTIONS_RELEASE --native "${meson_input_file_RELEASE}") endif() - # We must use uppercase `DEBUG` and `RELEASE` here because they matches the configuration data - if(NOT VCPKG_MESON_CROSS_FILE_DEBUG AND vcpkg_meson_cross_file) - z_vcpkg_meson_generate_cross_file_config(DEBUG) + + # User provided cross/native files + if(VCPKG_MESON_NATIVE_FILE) + vcpkg_list(APPEND arg_OPTIONS_RELEASE --native "${VCPKG_MESON_NATIVE_FILE}") endif() - if(NOT VCPKG_MESON_CROSS_FILE_RELEASE AND vcpkg_meson_cross_file) - z_vcpkg_meson_generate_cross_file_config(RELEASE) + if(VCPKG_MESON_NATIVE_FILE_RELEASE) + vcpkg_list(APPEND arg_OPTIONS_RELEASE --native "${VCPKG_MESON_NATIVE_FILE_RELEASE}") endif() - if(vcpkg_meson_cross_file) - vcpkg_list(APPEND arg_OPTIONS --cross "${vcpkg_meson_cross_file}") + if(VCPKG_MESON_NATIVE_FILE_DEBUG) + vcpkg_list(APPEND arg_OPTIONS_DEBUG --native "${VCPKG_MESON_NATIVE_FILE_DEBUG}") endif() - if(VCPKG_MESON_CROSS_FILE_DEBUG) - vcpkg_list(APPEND arg_OPTIONS_DEBUG --cross "${VCPKG_MESON_CROSS_FILE_DEBUG}") + if(VCPKG_MESON_CROSS_FILE) + vcpkg_list(APPEND arg_OPTIONS_RELEASE --cross "${VCPKG_MESON_CROSS_FILE}") endif() if(VCPKG_MESON_CROSS_FILE_RELEASE) vcpkg_list(APPEND arg_OPTIONS_RELEASE --cross "${VCPKG_MESON_CROSS_FILE_RELEASE}") endif() - - if(NOT vcpkg_meson_native_file AND NOT vcpkg_meson_cross_file) - z_vcpkg_meson_generate_native_file("${arg_ADDITIONAL_NATIVE_BINARIES}") - endif() - if(NOT vcpkg_meson_native_file_DEBUG AND NOT vcpkg_meson_cross_file) - z_vcpkg_meson_generate_native_file_config(DEBUG) - endif() - if(NOT vcpkg_meson_native_file_RELEASE AND NOT vcpkg_meson_cross_file) - z_vcpkg_meson_generate_native_file_config(RELEASE) - endif() - if(vcpkg_meson_native_file AND NOT vcpkg_meson_cross_file) - vcpkg_list(APPEND arg_OPTIONS --native "${vcpkg_meson_native_file}") - vcpkg_list(APPEND arg_OPTIONS_DEBUG --native "${vcpkg_meson_native_file_DEBUG}") - vcpkg_list(APPEND arg_OPTIONS_RELEASE --native "${vcpkg_meson_native_file_RELEASE}") - else() - vcpkg_list(APPEND arg_OPTIONS --native "${SCRIPTS}/buildsystems/meson/none.txt") + if(VCPKG_MESON_CROSS_FILE_DEBUG) + vcpkg_list(APPEND arg_OPTIONS_DEBUG --cross "${VCPKG_MESON_CROSS_FILE_DEBUG}") endif() + if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - vcpkg_list(APPEND arg_OPTIONS --default-library shared) + set(MESON_DEFAULT_LIBRARY shared) else() - vcpkg_list(APPEND arg_OPTIONS --default-library static) + set(MESON_DEFAULT_LIBRARY static) endif() vcpkg_list(APPEND arg_OPTIONS --libdir lib) # else meson install into an architecture describing folder @@ -463,74 +409,44 @@ function(vcpkg_configure_meson) vcpkg_list(APPEND arg_OPTIONS_DEBUG "-Dcmake_prefix_path=['${CURRENT_INSTALLED_DIR}/debug','${CURRENT_INSTALLED_DIR}']") vcpkg_list(APPEND arg_OPTIONS_RELEASE "-Dcmake_prefix_path=['${CURRENT_INSTALLED_DIR}','${CURRENT_INSTALLED_DIR}/debug']") endif() - - if(NOT arg_NO_PKG_CONFIG) - vcpkg_find_acquire_program(PKGCONFIG) - get_filename_component(PKGCONFIG_PATH ${PKGCONFIG} DIRECTORY) - vcpkg_add_to_path("${PKGCONFIG_PATH}") - set(pkgconfig_share_dir "${CURRENT_INSTALLED_DIR}/share/pkgconfig/") - endif() - - set(buildtypes) - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - set(buildname "DEBUG") - vcpkg_list(APPEND buildtypes ${buildname}) - set(path_suffix_${buildname} "debug/") - set(suffix_${buildname} "dbg") + + # Allow overrides / additional configuration variables from triplets + if(DEFINED VCPKG_MESON_CONFIGURE_OPTIONS) + vcpkg_list(APPEND arg_OPTIONS ${VCPKG_MESON_CONFIGURE_OPTIONS}) endif() - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - set(buildname "RELEASE") - vcpkg_list(APPEND buildtypes ${buildname}) - set(path_suffix_${buildname} "") - set(suffix_${buildname} "rel") + if(DEFINED VCPKG_MESON_CONFIGURE_OPTIONS_RELEASE) + vcpkg_list(APPEND arg_OPTIONS_RELEASE ${VCPKG_MESON_CONFIGURE_OPTIONS_RELEASE}) endif() - - if(VCPKG_TARGET_IS_OSX) - vcpkg_backup_env_variables(VARS SDKROOT MACOSX_DEPLOYMENT_TARGET) - - set(ENV{SDKROOT} "${VCPKG_DETECTED_CMAKE_OSX_SYSROOT}") - set(VCPKG_DETECTED_CMAKE_OSX_SYSROOT "${VCPKG_DETECTED_CMAKE_OSX_SYSROOT}" PARENT_SCOPE) - - set(ENV{MACOSX_DEPLOYMENT_TARGET} "${VCPKG_DETECTED_CMAKE_OSX_DEPLOYMENT_TARGET}") - set(VCPKG_DETECTED_CMAKE_OSX_DEPLOYMENT_TARGET "${VCPKG_DETECTED_CMAKE_OSX_DEPLOYMENT_TARGET}" PARENT_SCOPE) + if(DEFINED VCPKG_MESON_CONFIGURE_OPTIONS_DEBUG) + vcpkg_list(APPEND arg_OPTIONS_DEBUG ${VCPKG_MESON_CONFIGURE_OPTIONS_DEBUG}) endif() - vcpkg_backup_env_variables(VARS INCLUDE) - vcpkg_host_path_list(APPEND ENV{INCLUDE} "${CURRENT_INSTALLED_DIR}/include") # configure build foreach(buildtype IN LISTS buildtypes) message(STATUS "Configuring ${TARGET_TRIPLET}-${suffix_${buildtype}}") file(MAKE_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${suffix_${buildtype}}") #setting up PKGCONFIG - vcpkg_backup_env_variables(VARS PKG_CONFIG PKG_CONFIG_PATH) if(NOT arg_NO_PKG_CONFIG) - set(ENV{PKG_CONFIG} "${PKGCONFIG}") # Set via native file? - set(pkgconfig_installed_dir "${CURRENT_INSTALLED_DIR}/${path_suffix_${buildtype}}lib/pkgconfig/") - vcpkg_host_path_list(APPEND ENV{PKG_CONFIG_PATH} "${pkgconfig_installed_dir}" "${pkgconfig_share_dir}" "$ENV{PKG_CONFIG_PATH}") + z_vcpkg_setup_pkgconfig_path(CONFIG "${buildtype}") endif() + z_vcpkg_meson_setup_variables(${buildtype}) + configure_file("${SCRIPTS}/buildsystems/meson/meson.template.in" "${meson_input_file_${buildtype}}" @ONLY) + vcpkg_execute_required_process( COMMAND ${MESON} ${arg_OPTIONS} ${arg_OPTIONS_${buildtype}} ${arg_SOURCE_PATH} WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${suffix_${buildtype}}" LOGNAME config-${TARGET_TRIPLET}-${suffix_${buildtype}} + SAVE_LOG_FILES + meson-logs/meson-log.txt + meson-info/intro-dependencies.json + meson-logs/install-log.txt ) - #Copy meson log files into buildtree for CI - if(EXISTS "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${suffix_${buildtype}}/meson-logs/meson-log.txt") - file(COPY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${suffix_${buildtype}}/meson-logs/meson-log.txt" DESTINATION "${CURRENT_BUILDTREES_DIR}") - file(RENAME "${CURRENT_BUILDTREES_DIR}/meson-log.txt" "${CURRENT_BUILDTREES_DIR}/meson-log-${suffix_${buildtype}}.txt") - endif() - if(EXISTS "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${suffix_${buildtype}}/meson-logs/install-log.txt") - file(COPY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${suffix_${buildtype}}/meson-logs/install-log.txt" DESTINATION "${CURRENT_BUILDTREES_DIR}") - file(RENAME "${CURRENT_BUILDTREES_DIR}/install-log.txt" "${CURRENT_BUILDTREES_DIR}/install-log-${suffix_${buildtype}}.txt") - endif() message(STATUS "Configuring ${TARGET_TRIPLET}-${suffix_${buildtype}} done") - vcpkg_restore_env_variables(VARS PKG_CONFIG PKG_CONFIG_PATH) + if(NOT arg_NO_PKG_CONFIG) + z_vcpkg_restore_pkgconfig_path() + endif() endforeach() - - if(VCPKG_TARGET_IS_OSX) - vcpkg_restore_env_variables(VARS SDKROOT MACOSX_DEPLOYMENT_TARGET) - endif() - vcpkg_restore_env_variables(VARS INCLUDE) endfunction() diff --git a/scripts/cmake/vcpkg_configure_qmake.cmake b/scripts/cmake/vcpkg_configure_qmake.cmake index 0bed7567e3c761..9340fefb667844 100644 --- a/scripts/cmake/vcpkg_configure_qmake.cmake +++ b/scripts/cmake/vcpkg_configure_qmake.cmake @@ -1,30 +1,3 @@ -#[===[.md: -# vcpkg_configure_qmake - -Configure a qmake-based project. - -```cmake -vcpkg_configure_qmake( - SOURCE_PATH - [OPTIONS arg1 [arg2 ...]] - [OPTIONS_RELEASE arg1 [arg2 ...]] - [OPTIONS_DEBUG arg1 [arg2 ...]] - [BUILD_OPTIONS arg1 [arg2 ...]] - [BUILD_OPTIONS_RELEASE arg1 [arg2 ...]] - [BUILD_OPTIONS_DEBUG arg1 [arg2 ...]] -) -``` - -### SOURCE_PATH -The path to the *.pro qmake project file. - -### OPTIONS, OPTIONS\_RELEASE, OPTIONS\_DEBUG -The options passed to qmake to the configure step. - -### BUILD\_OPTIONS, BUILD\_OPTIONS\_RELEASE, BUILD\_OPTIONS\_DEBUG -The options passed to qmake to the build step. -#]===] - function(vcpkg_configure_qmake) # parse parameters such that semicolons in options arguments to COMMAND don't get erased cmake_parse_arguments(PARSE_ARGV 0 arg @@ -40,34 +13,69 @@ function(vcpkg_configure_qmake) message(FATAL_ERROR "vcpkg_configure_qmake: unable to find qmake.") endif() + z_vcpkg_get_cmake_vars(cmake_vars_file) + include("${cmake_vars_file}") + + function(qmake_append_program var qmake_var value) + get_filename_component(prog "${value}" NAME) + # QMake assumes everything is on PATH? + vcpkg_list(APPEND ${var} "${qmake_var}=${prog}") + find_program(${qmake_var} NAMES "${prog}") + cmake_path(COMPARE "${${qmake_var}}" EQUAL "${value}" correct_prog_on_path) + if(NOT correct_prog_on_path AND NOT "${value}" MATCHES "|:") + message(FATAL_ERROR "Detect path mismatch for '${qmake_var}'. '${value}' is not the same as '${${qmake_var}}'. Please correct your PATH!") + endif() + unset(${qmake_var}) + unset(${qmake_var} CACHE) + set(${var} "${${var}}" PARENT_SCOPE) + endfunction() + # Setup Build tools + set(qmake_build_tools "") + qmake_append_program(qmake_build_tools "QMAKE_CC" "${VCPKG_DETECTED_CMAKE_C_COMPILER}") + qmake_append_program(qmake_build_tools "QMAKE_CXX" "${VCPKG_DETECTED_CMAKE_CXX_COMPILER}") + qmake_append_program(qmake_build_tools "QMAKE_AR" "${VCPKG_DETECTED_CMAKE_AR}") + qmake_append_program(qmake_build_tools "QMAKE_RANLIB" "${VCPKG_DETECTED_CMAKE_RANLIB}") + qmake_append_program(qmake_build_tools "QMAKE_STRIP" "${VCPKG_DETECTED_CMAKE_STRIP}") + qmake_append_program(qmake_build_tools "QMAKE_NM" "${VCPKG_DETECTED_CMAKE_NM}") + qmake_append_program(qmake_build_tools "QMAKE_RC" "${VCPKG_DETECTED_CMAKE_RC_COMPILER}") + qmake_append_program(qmake_build_tools "QMAKE_MT" "${VCPKG_DETECTED_CMAKE_MT}") + if(NOT VCPKG_TARGET_IS_WINDOWS OR VCPKG_DETECTED_CMAKE_AR MATCHES "ar$") + vcpkg_list(APPEND qmake_build_tools "QMAKE_AR+=qc") + endif() + if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + qmake_append_program(qmake_build_tools "QMAKE_LIB" "${VCPKG_DETECTED_CMAKE_AR}") + qmake_append_program(qmake_build_tools "QMAKE_LINK" "${VCPKG_DETECTED_CMAKE_LINKER}") + else() + qmake_append_program(qmake_build_tools "QMAKE_LINK" "${VCPKG_DETECTED_CMAKE_CXX_COMPILER}") + qmake_append_program(qmake_build_tools "QMAKE_LINK_SHLIB" "${VCPKG_DETECTED_CMAKE_CXX_COMPILER}") + qmake_append_program(qmake_build_tools "QMAKE_LINK_C" "${VCPKG_DETECTED_CMAKE_C_COMPILER}") + qmake_append_program(qmake_build_tools "QMAKE_LINK_C_SHLIB" "${VCPKG_DETECTED_CMAKE_C_COMPILER}") + endif() + set(qmake_comp_flags "") + macro(qmake_add_flags qmake_var operation flags) + string(STRIP "${flags}" striped_flags) + if(striped_flags) + vcpkg_list(APPEND qmake_comp_flags "${qmake_var}${operation}${striped_flags}") + endif() + endmacro() + if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") vcpkg_list(APPEND arg_OPTIONS "CONFIG-=shared" "CONFIG*=static") else() vcpkg_list(APPEND arg_OPTIONS "CONFIG-=static" "CONFIG*=shared") - vcpkg_list(APPEND arg_OPTIONS_DEBUG "CONFIG*=separate_debug_info") endif() + vcpkg_list(APPEND arg_OPTIONS "CONFIG*=force_debug_info") if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_CRT_LINKAGE STREQUAL "static") - vcpkg_list(APPEND arg_OPTIONS "CONFIG*=static-runtime") + vcpkg_list(APPEND arg_OPTIONS "CONFIG*=static_runtime") endif() if(DEFINED VCPKG_OSX_DEPLOYMENT_TARGET) - set(ENV{QMAKE_MACOSX_DEPLOYMENT_TARGET} ${VCPKG_OSX_DEPLOYMENT_TARGET}) + set(ENV{QMAKE_MACOSX_DEPLOYMENT_TARGET} "${VCPKG_OSX_DEPLOYMENT_TARGET}") endif() - vcpkg_backup_env_variables(VARS PKG_CONFIG_PATH) - - vcpkg_find_acquire_program(PKGCONFIG) - set(ENV{PKG_CONFIG} "${PKGCONFIG}") - get_filename_component(PKGCONFIG_PATH "${PKGCONFIG}" DIRECTORY) - vcpkg_add_to_path("${PKGCONFIG_PATH}") - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - vcpkg_host_path_list(PREPEND ENV{PKG_CONFIG_PATH} - "${CURRENT_INSTALLED_DIR}/lib/pkgconfig" - "${CURRENT_INSTALLED_DIR}/share/pkgconfig" - "${CURRENT_PACKAGES_DIR}/lib/pkgconfig" - "${CURRENT_PACKAGES_DIR}/share/pkgconfig") + z_vcpkg_setup_pkgconfig_path(CONFIG RELEASE) set(current_binary_dir "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") @@ -79,18 +87,28 @@ function(vcpkg_configure_qmake) message(STATUS "Configuring ${TARGET_TRIPLET}-rel") file(MAKE_DIRECTORY "${current_binary_dir}") + qmake_add_flags("QMAKE_LIBS" "+=" "${VCPKG_DETECTED_CMAKE_C_STANDARD_LIBRARIES} ${VCPKG_DETECTED_CMAKE_CXX_STANDARD_LIBRARIES}") + qmake_add_flags("QMAKE_RC" "+=" "${VCPKG_DETECTED_CMAKE_RC_FLAGS_RELEASE}") + qmake_add_flags("QMAKE_CFLAGS_RELEASE" "+=" "${VCPKG_DETECTED_CMAKE_C_FLAGS_RELEASE}") + qmake_add_flags("QMAKE_CXXFLAGS_RELEASE" "+=" "${VCPKG_DETECTED_CMAKE_CXX_FLAGS_RELEASE}") + qmake_add_flags("QMAKE_LFLAGS" "+=" "${VCPKG_DETECTED_CMAKE_SHARED_LINKER_FLAGS_RELEASE}") + qmake_add_flags("QMAKE_LFLAGS_SHLIB" "+=" "${VCPKG_DETECTED_CMAKE_SHARED_LINKER_FLAGS_RELEASE}") + qmake_add_flags("QMAKE_LFLAGS_PLUGIN" "+=" "${VCPKG_DETECTED_CMAKE_MODULE_LINKER_FLAGS_RELEASE}") + qmake_add_flags("QMAKE_LIBFLAGS_RELEASE" "+=" "${VCPKG_DETECTED_CMAKE_STATIC_LINKER_FLAGS_RELEASE}") + vcpkg_list(SET build_opt_param) if(DEFINED arg_BUILD_OPTIONS OR DEFINED arg_BUILD_OPTIONS_RELEASE) vcpkg_list(SET build_opt_param -- ${arg_BUILD_OPTIONS} ${arg_BUILD_OPTIONS_RELEASE}) endif() vcpkg_execute_required_process( - COMMAND "${qmake_executable}" CONFIG-=debug CONFIG+=release + COMMAND "${qmake_executable}" CONFIG-=debug CONFIG+=release ${qmake_build_tools} ${qmake_comp_flags} ${arg_OPTIONS} ${arg_OPTIONS_RELEASE} ${arg_SOURCE_PATH} -qtconf "${current_binary_dir}/qt.conf" ${build_opt_param} WORKING_DIRECTORY "${current_binary_dir}" LOGNAME "config-${TARGET_TRIPLET}-rel" + SAVE_LOG_FILES config.log ) message(STATUS "Configuring ${TARGET_TRIPLET}-rel done") if(EXISTS "${current_binary_dir}/config.log") @@ -98,15 +116,11 @@ function(vcpkg_configure_qmake) file(RENAME "${current_binary_dir}/config.log" "${CURRENT_BUILDTREES_DIR}/internal-config-${TARGET_TRIPLET}-rel.log") endif() - vcpkg_restore_env_variables(VARS PKG_CONFIG_PATH) + z_vcpkg_restore_pkgconfig_path() endif() if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - vcpkg_host_path_list(PREPEND ENV{PKG_CONFIG_PATH} - "${CURRENT_INSTALLED_DIR}/debug/lib/pkgconfig" - "${CURRENT_INSTALLED_DIR}/share/pkgconfig" - "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig" - "${CURRENT_PACKAGES_DIR}/share/pkgconfig") + z_vcpkg_setup_pkgconfig_path(CONFIG DEBUG) set(current_binary_dir "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") @@ -118,23 +132,36 @@ function(vcpkg_configure_qmake) message(STATUS "Configuring ${TARGET_TRIPLET}-dbg") file(MAKE_DIRECTORY "${current_binary_dir}") + set(qmake_comp_flags "") + qmake_add_flags("QMAKE_LIBS" "+=" "${VCPKG_DETECTED_CMAKE_C_STANDARD_LIBRARIES} ${VCPKG_DETECTED_CMAKE_CXX_STANDARD_LIBRARIES}") + qmake_add_flags("QMAKE_RC" "+=" "${VCPKG_DETECTED_CMAKE_RC_FLAGS_DEBUG}") + qmake_add_flags("QMAKE_CFLAGS_DEBUG" "+=" "${VCPKG_DETECTED_CMAKE_C_FLAGS_DEBUG}") + qmake_add_flags("QMAKE_CXXFLAGS_DEBUG" "+=" "${VCPKG_DETECTED_CMAKE_CXX_FLAGS_DEBUG}") + qmake_add_flags("QMAKE_LFLAGS" "+=" "${VCPKG_DETECTED_CMAKE_SHARED_LINKER_FLAGS_DEBUG}") + qmake_add_flags("QMAKE_LFLAGS_SHLIB" "+=" "${VCPKG_DETECTED_CMAKE_SHARED_LINKER_FLAGS_DEBUG}") + qmake_add_flags("QMAKE_LFLAGS_PLUGIN" "+=" "${VCPKG_DETECTED_CMAKE_MODULE_LINKER_FLAGS_DEBUG}") + qmake_add_flags("QMAKE_LIBFLAGS_DEBUG" "+=" "${VCPKG_DETECTED_CMAKE_STATIC_LINKER_FLAGS_DEBUG}") + vcpkg_list(SET build_opt_param) if(DEFINED arg_BUILD_OPTIONS OR DEFINED arg_BUILD_OPTIONS_DEBUG) vcpkg_list(SET build_opt_param -- ${arg_BUILD_OPTIONS} ${arg_BUILD_OPTIONS_DEBUG}) endif() vcpkg_execute_required_process( - COMMAND "${qmake_executable}" CONFIG-=release CONFIG+=debug + COMMAND "${qmake_executable}" CONFIG-=release CONFIG+=debug ${qmake_build_tools} ${qmake_comp_flags} ${arg_OPTIONS} ${arg_OPTIONS_DEBUG} ${arg_SOURCE_PATH} -qtconf "${current_binary_dir}/qt.conf" ${build_opt_param} WORKING_DIRECTORY "${current_binary_dir}" LOGNAME "config-${TARGET_TRIPLET}-dbg" + SAVE_LOG_FILES config.log ) message(STATUS "Configuring ${TARGET_TRIPLET}-dbg done") if(EXISTS "${current_binary_dir}/config.log") file(REMOVE "${CURRENT_BUILDTREES_DIR}/internal-config-${TARGET_TRIPLET}-dbg.log") file(RENAME "${current_binary_dir}/config.log" "${CURRENT_BUILDTREES_DIR}/internal-config-${TARGET_TRIPLET}-dbg.log") endif() + + z_vcpkg_restore_pkgconfig_path() endif() endfunction() diff --git a/scripts/cmake/vcpkg_copy_pdbs.cmake b/scripts/cmake/vcpkg_copy_pdbs.cmake index 7e5c81e6d73b96..f34095f48a5395 100644 --- a/scripts/cmake/vcpkg_copy_pdbs.cmake +++ b/scripts/cmake/vcpkg_copy_pdbs.cmake @@ -1,29 +1,3 @@ -#[===[.md: -# vcpkg_copy_pdbs - -Automatically locate pdbs in the build tree and copy them adjacent to all DLLs. - -```cmake -vcpkg_copy_pdbs( - [BUILD_PATHS ...]) -``` - -The ``s are patterns which will be passed to `file(GLOB_RECURSE)`, -for locating DLLs. It defaults to using: - -- `${CURRENT_PACKAGES_DIR}/bin/*.dll` -- `${CURRENT_PACKAGES_DIR}/debug/bin/*.dll` - -since that is generally where DLLs are located. - -## Notes -This command should always be called by portfiles after they have finished rearranging the binary output. - -## Examples - -* [zlib](https://github.com/Microsoft/vcpkg/blob/master/ports/zlib/portfile.cmake) -* [cpprestsdk](https://github.com/Microsoft/vcpkg/blob/master/ports/cpprestsdk/portfile.cmake) -#]===] function(vcpkg_copy_pdbs) cmake_parse_arguments(PARSE_ARGV 0 "arg" "" "" "BUILD_PATHS") @@ -54,7 +28,7 @@ function(vcpkg_copy_pdbs) RESULT_VARIABLE error_code ) - if(error_code EQUAL "0" AND pdb_line MATCHES "PDB file found at.*'(.*)'") + if(error_code EQUAL "0" AND pdb_line MATCHES "PDB.*([A-Z]:.*\.pdb)") set(pdb_path "${CMAKE_MATCH_1}") cmake_path(GET dll PARENT_PATH dll_dir) file(COPY "${pdb_path}" DESTINATION "${dll_dir}") diff --git a/scripts/cmake/vcpkg_copy_tool_dependencies.cmake b/scripts/cmake/vcpkg_copy_tool_dependencies.cmake index b2c36a8e5b9df7..cf3939bacbe5c4 100644 --- a/scripts/cmake/vcpkg_copy_tool_dependencies.cmake +++ b/scripts/cmake/vcpkg_copy_tool_dependencies.cmake @@ -1,24 +1,3 @@ -#[===[.md: -# vcpkg_copy_tool_dependencies - -Copy all DLL dependencies of built tools into the tool folder. - -## Usage -```cmake -vcpkg_copy_tool_dependencies(<${CURRENT_PACKAGES_DIR}/tools/${PORT}>) -``` -## Parameters -The path to the directory containing the tools. - -## Notes -This command should always be called by portfiles after they have finished rearranging the binary output, if they have any tools. - -## Examples - -* [glib](https://github.com/Microsoft/vcpkg/blob/master/ports/glib/portfile.cmake) -* [fltk](https://github.com/Microsoft/vcpkg/blob/master/ports/fltk/portfile.cmake) -#]===] - function(z_vcpkg_copy_tool_dependencies_search tool_dir path_to_search) if(DEFINED Z_VCPKG_COPY_TOOL_DEPENDENCIES_COUNT) set(count ${Z_VCPKG_COPY_TOOL_DEPENDENCIES_COUNT}) diff --git a/scripts/cmake/vcpkg_copy_tools.cmake b/scripts/cmake/vcpkg_copy_tools.cmake index a9c19870b038c8..d9b3b9523200e1 100644 --- a/scripts/cmake/vcpkg_copy_tools.cmake +++ b/scripts/cmake/vcpkg_copy_tools.cmake @@ -1,37 +1,3 @@ -#[===[.md: -# vcpkg_copy_tools - -Copy tools and all their DLL dependencies into the `tools` folder. - -## Usage -```cmake -vcpkg_copy_tools( - TOOL_NAMES ... - [SEARCH_DIR <${CURRENT_PACKAGES_DIR}/bin>] - [DESTINATION <${CURRENT_PACKAGES_DIR}/tools/${PORT}>] - [AUTO_CLEAN] -) -``` -## Parameters -### TOOL_NAMES -A list of tool filenames without extension. - -### SEARCH_DIR -The path to the directory containing the tools. This will be set to `${CURRENT_PACKAGES_DIR}/bin` if omitted. - -### DESTINATION -Destination to copy the tools to. This will be set to `${CURRENT_PACKAGES_DIR}/tools/${PORT}` if omitted. - -### AUTO_CLEAN -Auto clean the copied executables from `${CURRENT_PACKAGES_DIR}/bin` and `${CURRENT_PACKAGES_DIR}/debug/bin`. - -## Examples - -* [cpuinfo](https://github.com/microsoft/vcpkg/blob/master/ports/cpuinfo/portfile.cmake) -* [nanomsg](https://github.com/microsoft/vcpkg/blob/master/ports/nanomsg/portfile.cmake) -* [uriparser](https://github.com/microsoft/vcpkg/blob/master/ports/uriparser/portfile.cmake) -#]===] - function(vcpkg_copy_tools) cmake_parse_arguments(PARSE_ARGV 0 arg "AUTO_CLEAN" "SEARCH_DIR;DESTINATION" "TOOL_NAMES") diff --git a/scripts/cmake/vcpkg_download_distfile.cmake b/scripts/cmake/vcpkg_download_distfile.cmake index 3e0ae4dbbe224c..6b6c64d2f9d4cc 100644 --- a/scripts/cmake/vcpkg_download_distfile.cmake +++ b/scripts/cmake/vcpkg_download_distfile.cmake @@ -1,62 +1,9 @@ -#[===[.md: -# vcpkg_download_distfile - -Download and cache a file needed for this port. - -This helper should always be used instead of CMake's built-in `file(DOWNLOAD)` command. - -## Usage -```cmake -vcpkg_download_distfile( - - URLS ... - FILENAME - SHA512 <5981de...> - [ALWAYS_REDOWNLOAD] -) -``` -## Parameters -### OUT_VARIABLE -This variable will be set to the full path to the downloaded file. This can then immediately be passed in to [`vcpkg_extract_source_archive`](vcpkg_extract_source_archive.md) for sources. - -### URLS -A list of URLs to be consulted. They will be tried in order until one of the downloaded files successfully matches the SHA512 given. - -### FILENAME -The local name for the file. Files are shared between ports, so the file may need to be renamed to make it clearly attributed to this port and avoid conflicts. - -### SHA512 -The expected hash for the file. - -If this doesn't match the downloaded version, the build will be terminated with a message describing the mismatch. - -### QUIET -Suppress output on cache hit - -### SKIP_SHA512 -Skip SHA512 hash check for file. - -This switch is only valid when building with the `--head` command line flag. - -### ALWAYS_REDOWNLOAD -Avoid caching; this is a REST call or otherwise unstable. - -Requires `SKIP_SHA512`. - -### HEADERS -A list of headers to append to the download request. This can be used for authentication during a download. - -Headers should be specified as ": ". - -## Notes -The helper [`vcpkg_from_github`](vcpkg_from_github.md) should be used for downloading from GitHub projects. - -## Examples - -* [apr](https://github.com/Microsoft/vcpkg/blob/master/ports/apr/portfile.cmake) -* [fontconfig](https://github.com/Microsoft/vcpkg/blob/master/ports/fontconfig/portfile.cmake) -* [freetype](https://github.com/Microsoft/vcpkg/blob/master/ports/freetype/portfile.cmake) -#]===] +function(z_vcpkg_check_hash result file_path sha512) + file(SHA512 "${file_path}" file_hash) + string(TOLOWER "${sha512}" sha512_lower) + string(COMPARE EQUAL "${file_hash}" "${sha512_lower}" hash_match) + set("${result}" "${hash_match}" PARENT_SCOPE) +endfunction() function(z_vcpkg_download_distfile_test_hash file_path kind error_advice sha512 skip_sha512) if(_VCPKG_INTERNAL_NO_HASH_CHECK) @@ -68,9 +15,10 @@ function(z_vcpkg_download_distfile_test_hash file_path kind error_advice sha512 return() endif() - file(SHA512 "${file_path}" file_hash) - string(TOLOWER "${sha512}" sha512_lower) - if(NOT "${file_hash}" STREQUAL "${sha512_lower}") + set(hash_match OFF) + z_vcpkg_check_hash(hash_match "${file_path}" "${sha512}") + + if(NOT hash_match) message(FATAL_ERROR "\nFile does not have expected hash:\n" " File path: [ ${file_path} ]\n" @@ -80,76 +28,63 @@ function(z_vcpkg_download_distfile_test_hash file_path kind error_advice sha512 endif() endfunction() -function(z_vcpkg_download_distfile_show_proxy_and_fail error_code) - message(FATAL_ERROR - " \n" - " Failed to download file with error: ${error_code}\n" - " If you use a proxy, please check your proxy setting. Possible causes are:\n" - " \n" - " 1. You are actually using an HTTP proxy, but setting HTTPS_PROXY variable\n" - " to `https://address:port`. This is not correct, because `https://` prefix\n" - " claims the proxy is an HTTPS proxy, while your proxy (v2ray, shadowsocksr\n" - " , etc..) is an HTTP proxy. Try setting `http://address:port` to both\n" - " HTTP_PROXY and HTTPS_PROXY instead.\n" - " \n" - " 2. You are using Fiddler. Currently a bug (https://github.com/microsoft/vcpkg/issues/17752)\n" - " will set HTTPS_PROXY to `https://fiddler_address:port` which lead to problem 1 above.\n" - " Workaround is open Windows 10 Settings App, and search for Proxy Configuration page,\n" - " Change `http=address:port;https=address:port` to `address`, and fill the port number.\n" - " \n" - " 3. You proxy's remote server is out of service.\n" - " \n" - " In future vcpkg releases, if you are using Windows, you no longer need to set\n" - " HTTP(S)_PROXY environment variables. Vcpkg will simply apply Windows IE Proxy\n" - " Settings set by your proxy software. See (https://github.com/microsoft/vcpkg-tool/pull/49)\n" - " and (https://github.com/microsoft/vcpkg-tool/pull/77)\n" - " \n" - " Otherwise, please submit an issue at https://github.com/Microsoft/vcpkg/issues\n") -endfunction() +function(z_vcpkg_download_distfile_via_aria) + cmake_parse_arguments(PARSE_ARGV 1 arg + "SKIP_SHA512" + "FILENAME;SHA512" + "URLS;HEADERS" + ) -function(z_vcpkg_download_distfile_via_aria filename urls headers sha512 skip_sha512) - vcpkg_find_acquire_program(ARIA2) - message(STATUS "Downloading ${filename}...") + message(STATUS "Downloading ${arg_FILENAME}...") vcpkg_list(SET headers_param) - foreach(header IN LISTS headers) + foreach(header IN LISTS arg_HEADERS) vcpkg_list(APPEND headers_param "--header=${header}") endforeach() - vcpkg_execute_in_download_mode( - COMMAND ${ARIA2} ${urls} - -o temp/${filename} - -l download-${filename}-detailed.log - ${headers_param} - OUTPUT_FILE download-${filename}-out.log - ERROR_FILE download-${filename}-err.log - RESULT_VARIABLE error_code - WORKING_DIRECTORY "${DOWNLOADS}" - ) + foreach(URL IN LISTS arg_URLS) + debug_message("Download Command: ${ARIA2} ${URL} -o temp/${filename} -l download-${filename}-detailed.log ${headers_param}") + vcpkg_execute_in_download_mode( + COMMAND ${ARIA2} ${URL} + -o temp/${arg_FILENAME} + -l download-${arg_FILENAME}-detailed.log + ${headers_param} + OUTPUT_FILE download-${arg_FILENAME}-out.log + ERROR_FILE download-${arg_FILENAME}-err.log + RESULT_VARIABLE error_code + WORKING_DIRECTORY "${DOWNLOADS}" + ) + + if ("${error_code}" STREQUAL "0") + break() + endif() + endforeach() if (NOT "${error_code}" STREQUAL "0") message(STATUS - "Downloading ${filename}... Failed.\n" + "Downloading ${arg_FILENAME}... Failed.\n" " Exit Code: ${error_code}\n" " See logs for more information:\n" - " ${DOWNLOADS}/download-${filename}-out.log\n" - " ${DOWNLOADS}/download-${filename}-err.log\n" - " ${DOWNLOADS}/download-${filename}-detailed.log\n" + " ${DOWNLOADS}/download-${arg_FILENAME}-out.log\n" + " ${DOWNLOADS}/download-${arg_FILENAME}-err.log\n" + " ${DOWNLOADS}/download-${arg_FILENAME}-detailed.log\n" ) - z_vcpkg_download_distfile_show_proxy_and_fail() + z_vcpkg_download_distfile_show_proxy_and_fail("${error_code}") else() z_vcpkg_download_distfile_test_hash( - "${DOWNLOADS}/temp/${filename}" + "${DOWNLOADS}/temp/${arg_FILENAME}" "downloaded file" "The file may have been corrupted in transit." + "${arg_SHA512}" + ${arg_SKIP_SHA512} ) file(REMOVE - ${DOWNLOADS}/download-${filename}-out.log - ${DOWNLOADS}/download-${filename}-err.log - ${DOWNLOADS}/download-${filename}-detailed.log + ${DOWNLOADS}/download-${arg_FILENAME}-out.log + ${DOWNLOADS}/download-${arg_FILENAME}-err.log + ${DOWNLOADS}/download-${arg_FILENAME}-detailed.log ) get_filename_component(downloaded_file_dir "${downloaded_file_path}" DIRECTORY) file(MAKE_DIRECTORY "${downloaded_file_dir}") - file(RENAME "${DOWNLOADS}/temp/${filename}" "${downloaded_file_path}") + file(RENAME "${DOWNLOADS}/temp/${arg_FILENAME}" "${downloaded_file_path}") endif() endfunction() @@ -197,6 +132,22 @@ If you do not know the SHA512, add it as 'SHA512 0' and re-run this command.") endif() set(downloaded_file_path "${DOWNLOADS}/${arg_FILENAME}") + + if(EXISTS "${downloaded_file_path}" AND NOT arg_SKIP_SHA512) + set(hash_match OFF) + z_vcpkg_check_hash(hash_match "${downloaded_file_path}" "${arg_SHA512}") + + if(NOT hash_match) + get_filename_component(filename_component "${arg_FILENAME}" NAME_WE) + get_filename_component(extension_component "${arg_FILENAME}" EXT) + get_filename_component(directory_component "${arg_FILENAME}" DIRECTORY) + + string(SUBSTRING "${arg_SHA512}" 0 8 hash) + set(arg_FILENAME "${directory_component}${filename_component}-${hash}${extension_component}") + set(downloaded_file_path "${DOWNLOADS}/${arg_FILENAME}") + endif() + endif() + set(download_file_path_part "${DOWNLOADS}/temp/${arg_FILENAME}") # Works around issue #3399 @@ -206,7 +157,7 @@ If you do not know the SHA512, add it as 'SHA512 0' and re-run this command.") file(MAKE_DIRECTORY "${DOWNLOADS}/temp") # check if file with same name already exists in downloads - if(EXISTS "${downloaded_file_path}") + if(EXISTS "${downloaded_file_path}" AND NOT arg_ALWAYS_REDOWNLOAD) set(advice_message "The cached file SHA512 doesn't match. The file may have been corrupted.") if(_VCPKG_NO_DOWNLOADS) string(APPEND advice_message " Downloads are disabled please provide a valid file at path ${downloaded_file_path} and retry.") @@ -221,13 +172,7 @@ If you do not know the SHA512, add it as 'SHA512 0' and re-run this command.") "${arg_SHA512}" "${arg_SKIP_SHA512}" ) - - if(NOT vcpkg_download_distfile_QUIET) - message(STATUS "Using cached ${arg_FILENAME}.") - endif() - - # Suppress the "Downloading ${arg_URLS} -> ${arg_FILENAME}..." message - set(vcpkg_download_distfile_QUIET TRUE) + message(STATUS "Using cached ${arg_FILENAME}.") endif() # vcpkg_download_distfile_ALWAYS_REDOWNLOAD only triggers when NOT _VCPKG_NO_DOWNLOADS @@ -241,13 +186,16 @@ If you do not know the SHA512, add it as 'SHA512 0' and re-run this command.") return() endif() - if(_VCPKG_DOWNLOAD_TOOL STREQUAL "ARIA2" AND NOT EXISTS "${downloaded_file_path}") + if(NOT arg_DISABLE_ARIA2 AND _VCPKG_DOWNLOAD_TOOL STREQUAL "ARIA2" AND NOT EXISTS "${downloaded_file_path}") + if (arg_SKIP_SHA512) + set(OPTION_SKIP_SHA512 "SKIP_SHA512") + endif() z_vcpkg_download_distfile_via_aria( - "${arg_FILENAME}" - "${arg_URLS}" - "${arg_HEADERS}" - "${arg_SHA512}" - "${arg_skip_sha512}" + "${OPTION_SKIP_SHA512}" + FILENAME "${arg_FILENAME}" + SHA512 "${arg_SHA512}" + URLS "${arg_URLS}" + HEADERS "${arg_HEADERS}" ) set("${out_var}" "${downloaded_file_path}" PARENT_SCOPE) return() @@ -257,9 +205,6 @@ If you do not know the SHA512, add it as 'SHA512 0' and re-run this command.") foreach(url IN LISTS arg_URLS) vcpkg_list(APPEND urls_param "--url=${url}") endforeach() - if(NOT vcpkg_download_distfile_QUIET) - message(STATUS "Downloading ${arg_URLS} -> ${arg_FILENAME}...") - endif() vcpkg_list(SET headers_param) foreach(header IN LISTS arg_HEADERS) @@ -279,17 +224,11 @@ If you do not know the SHA512, add it as 'SHA512 0' and re-run this command.") ${sha512_param} ${urls_param} ${headers_param} - --debug - --feature-flags=-manifests # there's a bug in vcpkg x-download when it finds a manifest-root - OUTPUT_VARIABLE output - ERROR_VARIABLE output RESULT_VARIABLE error_code WORKING_DIRECTORY "${DOWNLOADS}" ) - if(NOT "${error_code}" EQUAL "0") - message("${output}") - z_vcpkg_download_distfile_show_proxy_and_fail("${error_code}") + message(FATAL_ERROR "Download failed, halting portfile.") endif() endif() diff --git a/scripts/cmake/vcpkg_download_sourceforge.cmake b/scripts/cmake/vcpkg_download_sourceforge.cmake new file mode 100644 index 00000000000000..ad10ad690f86b0 --- /dev/null +++ b/scripts/cmake/vcpkg_download_sourceforge.cmake @@ -0,0 +1,85 @@ +function(vcpkg_download_sourceforge out_var) + cmake_parse_arguments(PARSE_ARGV 1 "arg" + "" + "REPO;REF;SHA512;FILENAME" + "") + + foreach(arg_name IN ITEMS REPO SHA512 FILENAME) + if(NOT DEFINED "arg_${arg_name}") + message(FATAL_ERROR "${arg_name} is required.") + endif() + endforeach() + + if(DEFINED arg_UNPARSED_ARGUMENTS) + message(FATAL_ERROR "Unrecognized arguments: ${arg_UNPARSED_ARGUMENTS}") + endif() + + set(sourceforge_host "https://sourceforge.net/projects") + + if(arg_REPO MATCHES "^([^/]*)$") # just one element + set(org_name "${CMAKE_MATCH_1}") + set(repo_name "") + elseif(arg_REPO MATCHES "^([^/]*)/([^/]*)$") # two elements + set(org_name "${CMAKE_MATCH_1}") + set(repo_name "${CMAKE_MATCH_2}") + else() + message(FATAL_ERROR "REPO (${arg_REPO}) is not a valid repo name. It must be: + - an organization name without any slashes, or + - an organization name followed by a repository name separated by a single slash") + endif() + + if(DEFINED arg_REF) + set(url "${sourceforge_host}/${org_name}/files/${repo_name}/${arg_REF}/${arg_FILENAME}") + elseif(DEFINED repo_name) + set(url "${sourceforge_host}/${org_name}/${repo_name}/files/${arg_FILENAME}") + else() + set(url "${sourceforge_host}/${org_name}/files/${arg_FILENAME}") + endif() + + string(SUBSTRING "${arg_SHA512}" 0 10 sanitized_ref) + + set(sourceforge_mirrors + cfhcable # United States + pilotfiber # New York, NY + gigenet # Chicago, IL + versaweb # Las Vegas, NV + ayera # Modesto, CA + netactuate # Durham, NC + phoenixnap # Tempe, AZ + astuteinternet # Vancouver, BC + freefr # Paris, France + netcologne # Cologne, Germany + deac-riga # Latvia + excellmedia # Hyderabad, India + iweb # Montreal, QC + jaist # Nomi, Japan + jztkft # Mezotur, Hungary + managedway # Detroit, MI + nchc # Taipei, Taiwan + netix # Bulgaria + ufpr # Curitiba, Brazil + tenet # Wynberg, South Africa + ) + if(DEFINED SOURCEFORGE_MIRRORS AND NOT DEFINED VCPKG_SOURCEFORGE_EXTRA_MIRRORS) + message(WARNING "Extension point SOURCEFORGE_MIRRORS has been deprecated. + Please use the replacement VCPKG_SOURCEFORGE_EXTRA_MIRRORS variable instead.") + list(APPEND sourceforge_mirrors "${SOURCEFORGE_MIRRORS}") + list(REMOVE_DUPLICATES sourceforge_mirrors) + elseif(DEFINED VCPKG_SOURCEFORGE_EXTRA_MIRRORS) + list(APPEND sourceforge_mirrors "${VCPKG_SOURCEFORGE_EXTRA_MIRRORS}") + list(REMOVE_DUPLICATES sourceforge_mirrors) + endif() + + set(all_urls "${url}/download") + foreach(mirror IN LISTS sourceforge_mirrors) + list(APPEND all_urls "${url}/download?use_mirror=${mirror}") + endforeach() + + vcpkg_download_distfile(archive + URLS ${all_urls} + SHA512 "${arg_SHA512}" + FILENAME "${arg_FILENAME}" + ) + + set("${out_var}" "${archive}" PARENT_SCOPE) +endfunction() diff --git a/scripts/cmake/vcpkg_execute_build_process.cmake b/scripts/cmake/vcpkg_execute_build_process.cmake index 914c07e0d3054a..60fd5b587a650f 100644 --- a/scripts/cmake/vcpkg_execute_build_process.cmake +++ b/scripts/cmake/vcpkg_execute_build_process.cmake @@ -1,39 +1,3 @@ -#[===[.md: -# vcpkg_execute_build_process - -Execute a required build process - -## Usage -```cmake -vcpkg_execute_build_process( - COMMAND [...] - [NO_PARALLEL_COMMAND [...]] - WORKING_DIRECTORY - LOGNAME -) -``` -## Parameters -### COMMAND -The command to be executed, along with its arguments. - -### NO_PARALLEL_COMMAND -Optional parameter which specifies a non-parallel command to attempt if a -failure potentially due to parallelism is detected. - -### WORKING_DIRECTORY -The directory to execute the command in. - -### LOGNAME -The prefix to use for the log files. - -This should be a unique name for different triplets so that the logs don't -conflict when building multiple at once. - -## Examples - -* [icu](https://github.com/Microsoft/vcpkg/blob/master/ports/icu/portfile.cmake) -#]===] - set(Z_VCPKG_EXECUTE_BUILD_PROCESS_RETRY_ERROR_MESSAGES "LINK : fatal error LNK1102:" " fatal error C1060: " @@ -41,11 +5,15 @@ set(Z_VCPKG_EXECUTE_BUILD_PROCESS_RETRY_ERROR_MESSAGES "LINK : fatal error LNK1318:" "LINK : fatal error LNK1104:" "LINK : fatal error LNK1201:" + "ld terminated with signal 9" + "Killed signal terminated program" # Multiple threads using the same directory at the same time cause conflicts, will try again. "Cannot create parent directory" "Cannot write file" # Multiple threads caused the wrong order of creating folders and creating files in folders "Can't open" + # `make install` may stumble over concurrency, in particular with `mkdir` on osx. + "mkdir [^:]*: File exists" ) list(JOIN Z_VCPKG_EXECUTE_BUILD_PROCESS_RETRY_ERROR_MESSAGES "|" Z_VCPKG_EXECUTE_BUILD_PROCESS_RETRY_ERROR_MESSAGES) @@ -71,6 +39,13 @@ function(vcpkg_execute_build_process) set(log_err "${log_prefix}-err.log") set(all_logs "${log_out}" "${log_err}") + if(X_PORT_PROFILE) + vcpkg_list(PREPEND arg_COMMAND "${CMAKE_COMMAND}" "-E" "time") + if(DEFINED arg_NO_PARALLEL_COMMAND) + vcpkg_list(PREPEND arg_NO_PARALLEL_COMMAND "${CMAKE_COMMAND}" "-E" "time") + endif() + endif() + execute_process( COMMAND ${arg_COMMAND} WORKING_DIRECTORY "${arg_WORKING_DIRECTORY}" @@ -78,18 +53,22 @@ function(vcpkg_execute_build_process) ERROR_FILE "${log_err}" RESULT_VARIABLE error_code ) - + if (NOT error_code MATCHES "^[0-9]+$") + list(JOIN arg_COMMAND " " command) + message(FATAL_ERROR "Failed to execute command \"${command}\" in working directory \"${arg_WORKING_DIRECTORY}\": ${error_code}") + endif() if(NOT error_code EQUAL "0") file(READ "${log_out}" out_contents) file(READ "${log_err}" err_contents) set(all_contents "${out_contents}${err_contents}") if(all_contents MATCHES "${Z_VCPKG_EXECUTE_BUILD_PROCESS_RETRY_ERROR_MESSAGES}") - message(STATUS "Restarting Build without parallelism because memory exceeded") + message(WARNING "Please ensure your system has sufficient memory.") set(log_out "${log_prefix}-out-1.log") set(log_err "${log_prefix}-err-1.log") list(APPEND all_logs "${log_out}" "${log_err}") if(DEFINED arg_NO_PARALLEL_COMMAND) + message(STATUS "Restarting build without parallelism") execute_process( COMMAND ${arg_NO_PARALLEL_COMMAND} WORKING_DIRECTORY "${arg_WORKING_DIRECTORY}" @@ -98,6 +77,7 @@ function(vcpkg_execute_build_process) RESULT_VARIABLE error_code ) else() + message(STATUS "Restarting build") execute_process( COMMAND ${arg_COMMAND} WORKING_DIRECTORY "${arg_WORKING_DIRECTORY}" @@ -106,7 +86,7 @@ function(vcpkg_execute_build_process) RESULT_VARIABLE error_code ) endif() - elseif(all_contents MATCHES "mt : general error c101008d: ") + elseif(all_contents MATCHES "mt(\\.exe)? : general error c101008d: ") # Antivirus workaround - occasionally files are locked and cause mt.exe to fail message(STATUS "mt.exe has failed. This may be the result of anti-virus. Disabling anti-virus on the buildtree folder may improve build speed") foreach(iteration RANGE 1 3) @@ -134,8 +114,6 @@ function(vcpkg_execute_build_process) break() endif() endforeach() - elseif(all_contents MATCHES "fatal error: ld terminated with signal 9 [Killed]") - message(WARNING "ld was terminated with signal 9 [killed], please ensure your system has sufficient hard disk space and memory.") endif() endif() @@ -149,6 +127,7 @@ function(vcpkg_execute_build_process) if(NOT log_size EQUAL "0") file(TO_NATIVE_PATH "${log}" native_log) string(APPEND stringified_logs " ${native_log}\n") + file(APPEND "${Z_VCPKG_ERROR_LOG_COLLECTION_FILE}" "${native_log}\n") endif() endforeach() z_vcpkg_prettify_command_line(pretty_command ${arg_COMMAND}) diff --git a/scripts/cmake/vcpkg_execute_in_download_mode.cmake b/scripts/cmake/vcpkg_execute_in_download_mode.cmake index bd88f8f5dce9ce..2ad1481f8b5642 100644 --- a/scripts/cmake/vcpkg_execute_in_download_mode.cmake +++ b/scripts/cmake/vcpkg_execute_in_download_mode.cmake @@ -1,22 +1,3 @@ -#[===[.md: -# vcpkg_execute_in_download_mode - -Execute a process even in download mode. - -## Usage -```cmake -vcpkg_execute_in_download_mode( - ... -) -``` - -The signature of this function is identical to `execute_process()`. - -See [`execute_process()`] for more details. - -[`execute_process()`]: https://cmake.org/cmake/help/latest/command/execute_process.html -#]===] - function(vcpkg_execute_in_download_mode) # this allows us to grab the value of the output variables, but pass through the rest of the arguments cmake_parse_arguments(PARSE_ARGV 0 arg "" "RESULT_VARIABLE;RESULTS_VARIABLE;OUTPUT_VARIABLE;ERROR_VARIABLE" "") diff --git a/scripts/cmake/vcpkg_execute_required_process.cmake b/scripts/cmake/vcpkg_execute_required_process.cmake index 27024fecfce862..c47bd89d57c06d 100644 --- a/scripts/cmake/vcpkg_execute_required_process.cmake +++ b/scripts/cmake/vcpkg_execute_required_process.cmake @@ -1,57 +1,8 @@ -#[===[.md: -# vcpkg_execute_required_process - -Execute a process with logging and fail the build if the command fails. - -## Usage -```cmake -vcpkg_execute_required_process( - COMMAND <${PERL}> [...] - WORKING_DIRECTORY <${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg> - LOGNAME - [TIMEOUT ] - [OUTPUT_VARIABLE ] - [ERROR_VARIABLE ] -) -``` -## Parameters -### ALLOW_IN_DOWNLOAD_MODE -Allows the command to execute in Download Mode. -[See execute_process() override](../../scripts/cmake/execute_process.cmake). - -### COMMAND -The command to be executed, along with its arguments. - -### WORKING_DIRECTORY -The directory to execute the command in. - -### LOGNAME -The prefix to use for the log files. - -### TIMEOUT -Optional timeout after which to terminate the command. - -### OUTPUT_VARIABLE -Optional variable to receive stdout of the command. - -### ERROR_VARIABLE -Optional variable to receive stderr of the command. - -This should be a unique name for different triplets so that the logs don't conflict when building multiple at once. - -## Examples - -* [ffmpeg](https://github.com/Microsoft/vcpkg/blob/master/ports/ffmpeg/portfile.cmake) -* [openssl](https://github.com/Microsoft/vcpkg/blob/master/ports/openssl/portfile.cmake) -* [boost](https://github.com/Microsoft/vcpkg/blob/master/ports/boost/portfile.cmake) -* [qt5](https://github.com/Microsoft/vcpkg/blob/master/ports/qt5/portfile.cmake) -#]===] - function(vcpkg_execute_required_process) cmake_parse_arguments(PARSE_ARGV 0 arg - "ALLOW_IN_DOWNLOAD_MODE" + "ALLOW_IN_DOWNLOAD_MODE;OUTPUT_STRIP_TRAILING_WHITESPACE;ERROR_STRIP_TRAILING_WHITESPACE" "WORKING_DIRECTORY;LOGNAME;TIMEOUT;OUTPUT_VARIABLE;ERROR_VARIABLE" - "COMMAND" + "COMMAND;SAVE_LOG_FILES" ) if(DEFINED arg_UNPARSED_ARGUMENTS) @@ -76,43 +27,91 @@ Halting portfile execution. ]]) endif() - set(log_out "${CURRENT_BUILDTREES_DIR}/${arg_LOGNAME}-out.log") - set(log_err "${CURRENT_BUILDTREES_DIR}/${arg_LOGNAME}-err.log") - set(timeout_param "") - set(output_and_error_same OFF) - set(output_variable_param "") - set(error_variable_param "") - if(DEFINED arg_TIMEOUT) set(timeout_param TIMEOUT "${arg_TIMEOUT}") endif() + + set(log_out "${CURRENT_BUILDTREES_DIR}/${arg_LOGNAME}-out.log") + set(log_err "${CURRENT_BUILDTREES_DIR}/${arg_LOGNAME}-err.log") + set(output_param OUTPUT_FILE "${log_out}") + set(error_param ERROR_FILE "${log_err}") + set(output_and_error_same OFF) if(DEFINED arg_OUTPUT_VARIABLE AND DEFINED arg_ERROR_VARIABLE AND arg_OUTPUT_VARIABLE STREQUAL arg_ERROR_VARIABLE) - set(output_variable_param OUTPUT_VARIABLE out_err_var) - set(error_variable_param ERROR_VARIABLE out_err_var) + set(output_param OUTPUT_VARIABLE out_err_var) + set(error_param ERROR_VARIABLE out_err_var) set(output_and_error_same ON) else() if(DEFINED arg_OUTPUT_VARIABLE) - set(output_variable_param OUTPUT_VARIABLE out_var) + set(output_param OUTPUT_VARIABLE out_var) endif() if(DEFINED arg_ERROR_VARIABLE) - set(error_variable_param ERROR_VARIABLE err_var) + set(error_param ERROR_VARIABLE err_var) endif() endif() + if(arg_OUTPUT_STRIP_TRAILING_WHITESPACE) + list(APPEND output_param OUTPUT_STRIP_TRAILING_WHITESPACE) + endif() + if(arg_ERROR_STRIP_TRAILING_WHITESPACE) + list(APPEND error_param ERROR_STRIP_TRAILING_WHITESPACE) + endif() + + if(X_PORT_PROFILE AND NOT arg_ALLOW_IN_DOWNLOAD_MODE) + vcpkg_list(PREPEND arg_COMMAND "${CMAKE_COMMAND}" "-E" "time") + endif() vcpkg_execute_in_download_mode( COMMAND ${arg_COMMAND} - OUTPUT_FILE "${log_out}" - ERROR_FILE "${log_err}" RESULT_VARIABLE error_code WORKING_DIRECTORY "${arg_WORKING_DIRECTORY}" ${timeout_param} - ${output_variable_param} - ${error_variable_param} + ${output_param} + ${error_param} ) + + if(output_and_error_same) + file(WRITE "${log_out}" "${out_err_var}") + file(WRITE "${log_err}" "") + else() + if(DEFINED arg_OUTPUT_VARIABLE) + file(WRITE "${log_out}" "${out_var}") + endif() + if(DEFINED arg_ERROR_VARIABLE) + file(WRITE "${log_err}" "${err_var}") + endif() + endif() + vcpkg_list(SET logfiles) + vcpkg_list(SET logfile_copies) + set(expect_alias FALSE) + foreach(item IN LISTS arg_SAVE_LOG_FILES) + if(expect_alias) + vcpkg_list(POP_BACK logfile_copies) + vcpkg_list(APPEND logfile_copies "${CURRENT_BUILDTREES_DIR}/${arg_LOGNAME}-${item}") + set(expect_alias FALSE) + elseif(item STREQUAL "ALIAS") + if(NOT logfiles) + message(FATAL_ERROR "ALIAS used without source file") + endif() + set(expect_alias TRUE) + else() + vcpkg_list(APPEND logfiles "${arg_WORKING_DIRECTORY}/${item}") + cmake_path(GET item FILENAME filename) + if(NOT filename MATCHES "[.]log\$") + string(APPEND filename ".log") + endif() + vcpkg_list(APPEND logfile_copies "${CURRENT_BUILDTREES_DIR}/${arg_LOGNAME}-${filename}") + endif() + endforeach() + vcpkg_list(SET saved_logs) + foreach(logfile logfile_copy IN ZIP_LISTS logfiles logfile_copies) + if(EXISTS "${logfile}") + configure_file("${logfile}" "${logfile_copy}" COPYONLY) + vcpkg_list(APPEND saved_logs "${logfile_copy}") + endif() + endforeach() if(NOT error_code EQUAL 0) set(stringified_logs "") - foreach(log IN ITEMS "${log_out}" "${log_err}") + foreach(log IN LISTS saved_logs ITEMS "${log_out}" "${log_err}") if(NOT EXISTS "${log}") continue() endif() @@ -120,6 +119,7 @@ Halting portfile execution. if(NOT log_size EQUAL "0") file(TO_NATIVE_PATH "${log}" native_log) string(APPEND stringified_logs " ${native_log}\n") + file(APPEND "${Z_VCPKG_ERROR_LOG_COLLECTION_FILE}" "${native_log}\n") endif() endforeach() diff --git a/scripts/cmake/vcpkg_execute_required_process_repeat.cmake b/scripts/cmake/vcpkg_execute_required_process_repeat.cmake index 3ad8d05ce9fe1a..a13f8fa6e09599 100644 --- a/scripts/cmake/vcpkg_execute_required_process_repeat.cmake +++ b/scripts/cmake/vcpkg_execute_required_process_repeat.cmake @@ -1,20 +1,3 @@ -#[===[.md: -# vcpkg_execute_required_process_repeat - -Execute a process until the command succeeds, or until the COUNT is reached. - -## Usage -```cmake -vcpkg_execute_required_process_repeat( - COMMAND [] - COUNT - WORKING_DIRECTORY - LOGNAME - [ALLOW_IN_DOWNLOAD_MODE] -) -``` -#]===] - function(vcpkg_execute_required_process_repeat) cmake_parse_arguments(PARSE_ARGV 0 arg "ALLOW_IN_DOWNLOAD_MODE" @@ -44,6 +27,10 @@ Halting portfile execution. ]]) endif() + if(X_PORT_PROFILE AND NOT arg_ALLOW_IN_DOWNLOAD_MODE) + vcpkg_list(PREPEND arg_COMMAND "${CMAKE_COMMAND}" "-E" "time") + endif() + set(all_logs "") foreach(loop_count RANGE 1 ${arg_COUNT}) set(out_log "${CURRENT_BUILDTREES_DIR}/${arg_LOGNAME}-out-${loop_count}.log") @@ -79,6 +66,6 @@ Halting portfile execution. " Command failed: ${pretty_command}\n" " Working Directory: ${arg_WORKING_DIRECTORY}\n" " See logs for more information:\n" - "${stringifed_logs}" + "${stringified_logs}" ) endfunction() diff --git a/scripts/cmake/vcpkg_extract_archive.cmake b/scripts/cmake/vcpkg_extract_archive.cmake new file mode 100644 index 00000000000000..cddeaf5d033588 --- /dev/null +++ b/scripts/cmake/vcpkg_extract_archive.cmake @@ -0,0 +1,51 @@ +function(vcpkg_extract_archive) + cmake_parse_arguments(PARSE_ARGV 0 "arg" + "" + "ARCHIVE;DESTINATION" + "" + ) + + foreach(arg_name IN ITEMS ARCHIVE DESTINATION) + if(NOT DEFINED "arg_${arg_name}") + message(FATAL_ERROR "${arg_name} is required.") + endif() + endforeach() + + if(DEFINED arg_UNPARSED_ARGUMENTS) + message(FATAL_ERROR "Unrecognized arguments: ${arg_UNPARSED_ARGUMENTS}") + endif() + + if(EXISTS "${arg_DESTINATION}") + message(FATAL_ERROR "${arg_DESTINATION} was an extraction target, but it already exists.") + endif() + + file(MAKE_DIRECTORY "${arg_DESTINATION}") + + cmake_path(GET arg_ARCHIVE EXTENSION archive_extension) + string(TOLOWER "${archive_extension}" archive_extension) + if("${archive_extension}" MATCHES [[\.msi$]]) + cmake_path(NATIVE_PATH arg_ARCHIVE archive_native_path) + cmake_path(NATIVE_PATH arg_DESTINATION destination_native_path) + cmake_path(GET arg_ARCHIVE PARENT_PATH archive_directory) + vcpkg_execute_in_download_mode( + COMMAND msiexec + /a "${archive_native_path}" + /qn "TARGETDIR=${destination_native_path}" + WORKING_DIRECTORY "${archive_directory}" + ) + elseif("${archive_extension}" MATCHES [[\.7z\.exe$]]) + vcpkg_find_acquire_program(7Z) + vcpkg_execute_in_download_mode( + COMMAND ${7Z} x + "${arg_ARCHIVE}" + "-o${arg_DESTINATION}" + -y -bso0 -bsp0 + WORKING_DIRECTORY "${arg_DESTINATION}" + ) + else() + vcpkg_execute_in_download_mode( + COMMAND "${CMAKE_COMMAND}" -E tar xzf "${arg_ARCHIVE}" + WORKING_DIRECTORY "${arg_DESTINATION}" + ) + endif() +endfunction() diff --git a/scripts/cmake/vcpkg_extract_source_archive.cmake b/scripts/cmake/vcpkg_extract_source_archive.cmake index 59daac7d914b0a..7b090c5eb2a42e 100644 --- a/scripts/cmake/vcpkg_extract_source_archive.cmake +++ b/scripts/cmake/vcpkg_extract_source_archive.cmake @@ -1,93 +1,8 @@ -#[===[.md: -# vcpkg_extract_source_archive - -Extract an archive into the source directory. - -## Usage -There are two "overloads" of this function. The first is deprecated: - -```cmake -vcpkg_extract_source_archive(<${ARCHIVE}> [<${TARGET_DIRECTORY}>]) -``` - -This overload should not be used. - -The latter is suggested to use for all future `vcpkg_extract_source_archive`s. - -```cmake -vcpkg_extract_source_archive( - ARCHIVE - [NO_REMOVE_ONE_LEVEL] - [PATCHES ...] - [SOURCE_BASE ] - [BASE_DIRECTORY | WORKING_DIRECTORY ] -) -``` - -`vcpkg_extract_source_archive` takes an archive and extracts it. -It replaces existing uses of `vcpkg_extract_source_archive_ex`. -The simplest use of it is: - -```cmake -vcpkg_download_distfile(archive ...) -vcpkg_extract_source_archive(source_path ARCHIVE "${archive}") -``` - -The general expectation is that an archives are laid out with a base directory, -and all the actual files underneath that directory; in other words, if you -extract the archive, you'll get something that looks like: - -``` -zlib-1.2.11/ - doc/ - ... - examples/ - ... - ChangeLog - CMakeLists.txt - README - zlib.h - ... -``` - -`vcpkg_extract_source_archive` automatically removes this directory, -and gives you the items under it directly. However, this only works -when there is exactly one item in the top level of an archive. -Otherwise, you'll have to pass the `NO_REMOVE_ONE_LEVEL` argument to -prevent `vcpkg_extract_source_archive` from performing this transformation. - -If the source needs to be patched in some way, the `PATCHES` argument -allows one to do this, just like other `vcpkg_from_*` functions. - -`vcpkg_extract_source_archive` extracts the files to -`${CURRENT_BUILDTREES_DIR}//-.clean`. -When in editable mode, no `.clean` is appended, -to allow for a user to modify the sources. -`base-directory` defaults to `src`, -and `source-base` defaults to the stem of ``. -You can change these via the `BASE_DIRECTORY` and `SOURCE_BASE` arguments -respectively. -If you need to extract to a location that is not based in `CURRENT_BUILDTREES_DIR`, -you can use the `WORKING_DIRECTORY` argument to do the same. - -## Examples - -* [libraw](https://github.com/Microsoft/vcpkg/blob/master/ports/libraw/portfile.cmake) -* [protobuf](https://github.com/Microsoft/vcpkg/blob/master/ports/protobuf/portfile.cmake) -* [msgpack](https://github.com/Microsoft/vcpkg/blob/master/ports/msgpack/portfile.cmake) -#]===] - function(z_vcpkg_extract_source_archive_deprecated_mode archive working_directory) cmake_path(GET archive FILENAME archive_filename) if(NOT EXISTS "${working_directory}/${archive_filename}.extracted") message(STATUS "Extracting source ${archive}") - file(MAKE_DIRECTORY "${working_directory}") - vcpkg_execute_required_process( - ALLOW_IN_DOWNLOAD_MODE - COMMAND "${CMAKE_COMMAND}" -E tar xjf "${archive}" - WORKING_DIRECTORY "${working_directory}" - LOGNAME extract - ) + vcpkg_extract_archive(ARCHIVE "${archive}" DESTINATION "${working_directory}") file(TOUCH "${working_directory}/${archive_filename}.extracted") endif() endfunction() @@ -213,6 +128,8 @@ function(vcpkg_extract_source_archive) cmake_path(SET temp_source_path "${temp_dir}") else() file(GLOB archive_directory "${temp_dir}/*") + # Exclude .DS_Store entries created by the finder on macOS + list(FILTER archive_directory EXCLUDE REGEX ".*/.DS_Store$") # make sure `archive_directory` is only a single file if(NOT archive_directory MATCHES ";" AND IS_DIRECTORY "${archive_directory}") cmake_path(SET temp_source_path "${archive_directory}") @@ -221,7 +138,7 @@ function(vcpkg_extract_source_archive) endif() endif() - if (arg_Z_SKIP_PATCH_CHECK) + if (arg_SKIP_PATCH_CHECK) set(quiet_param QUIET) else() set(quiet_param "") @@ -239,4 +156,3 @@ function(vcpkg_extract_source_archive) set("${out_source_path}" "${source_path}" PARENT_SCOPE) message(STATUS "Using source at ${source_path}") endfunction() - diff --git a/scripts/cmake/vcpkg_extract_source_archive_ex.cmake b/scripts/cmake/vcpkg_extract_source_archive_ex.cmake index fb48c799d8d3c7..b279708bd4492f 100644 --- a/scripts/cmake/vcpkg_extract_source_archive_ex.cmake +++ b/scripts/cmake/vcpkg_extract_source_archive_ex.cmake @@ -1,27 +1,3 @@ -#[===[.md: -# vcpkg_extract_source_archive_ex - -Extract an archive into the source directory. -Originally replaced [`vcpkg_extract_source_archive()`], -but new ports should instead use the second overload of -[`vcpkg_extract_source_archive()`]. - -## Usage -```cmake -vcpkg_extract_source_archive_ex( - [OUT_SOURCE_PATH ] - ... -) -``` - -See the documentation for [`vcpkg_extract_source_archive()`] for other parameters. -Additionally, `vcpkg_extract_source_archive_ex()` adds the `REF` and `WORKING_DIRECTORY` -parameters, which are wrappers around `SOURCE_BASE` and `BASE_DIRECTORY` -respectively. - -[`vcpkg_extract_source_archive()`]: vcpkg_extract_source_archive.md -#]===] - function(vcpkg_extract_source_archive_ex) # OUT_SOURCE_PATH is an out-parameter so we need to parse it cmake_parse_arguments(PARSE_ARGV 0 "arg" "" "OUT_SOURCE_PATH" "") diff --git a/scripts/cmake/vcpkg_fail_port_install.cmake b/scripts/cmake/vcpkg_fail_port_install.cmake index 2adfd28deae04d..a5cb105f923f00 100644 --- a/scripts/cmake/vcpkg_fail_port_install.cmake +++ b/scripts/cmake/vcpkg_fail_port_install.cmake @@ -1,62 +1,42 @@ -#[===[.md: -# vcpkg_fail_port_install - -Checks common requirements and fails the current portfile with a (default) error message - -## Usage -```cmake -vcpkg_fail_port_install( - [ALWAYS] - [MESSAGE <"Reason for failure">] - [ON_TARGET [ ...]] - [ON_ARCH [ ...]] - [ON_CRT_LINKAGE [ ...]]) - [ON_LIBRARY_LINKAGE [ ...]] -) -``` - -## Parameters -### MESSAGE -Additional failure message. If none is given, a default message will be displayed depending on the failure condition. - -### ALWAYS -Will always fail early - -### ON_TARGET -Targets for which the build should fail early. Valid targets are `` from `VCPKG_IS_TARGET_` (see `vcpkg_common_definitions.cmake`). - -### ON_ARCH -Architecture for which the build should fail early. - -### ON_CRT_LINKAGE -CRT linkage for which the build should fail early. - -### ON_LIBRARY_LINKAGE -Library linkage for which the build should fail early. - -## Examples - -* [aws-lambda-cpp](https://github.com/Microsoft/vcpkg/blob/master/ports/aws-lambda-cpp/portfile.cmake) -#]===] - function(vcpkg_fail_port_install) - cmake_parse_arguments(PARSE_ARGV 0 "arg" "ALWAYS" "MESSAGE" "ON_TARGET;ON_ARCH;ON_CRT_LINKAGE;ON_LIBRARY_LINKAGE") + message("${Z_VCPKG_BACKCOMPAT_MESSAGE_LEVEL}" "vcpkg_fail_port_install has been removed and all values should be moved by adding `supports` field to manifest file or directly adding `${PORT}:${FAILED_TRIPLET}=fail` to _scripts/ci.baseline.txt_.\nPlease remove `vcpkg_fail_port_install(...)`.\n") + + set(multi_args "ON_TARGET;ON_ARCH;ON_CRT_LINKAGE;ON_LIBRARY_LINKAGE") + cmake_parse_arguments(PARSE_ARGV 0 "arg" "ALWAYS" "MESSAGE" "${multi_args}") if(DEFINED arg_UNPARSED_ARGUMENTS) message(FATAL_ERROR "vcpkg_fail_port_install was passed extra arguments: ${arg_UNPARSED_ARGUMENTS}") endif() + + if(arg_ALWAYS) + vcpkg_list(SET extra_args) + foreach(arg IN LISTS multi_args) + if(DEFINED "arg_${arg}") + vcpkg_list(APPEND extra_args "${arg}" "${arg_${arg}}") + endif() + endforeach() + if(NOT "${extra_args}" STREQUAL "") + message(WARNING "vcpkg_fail_port_install set to fail both unconditionally and conditionally on ${extra_args}. This is likely to be an error.") + endif() + if(NOT DEFINED arg_MESSAGE) + message(FATAL_ERROR "vcpkg_fail_port_install(ALWAYS) was called without a specific MESSAGE.") + endif() + + message(FATAL_ERROR "${arg_MESSAGE}") + endif() + if(DEFINED arg_MESSAGE) string(APPEND arg_MESSAGE "\n") else() set(arg_MESSAGE "") endif() - set(fail_port) + set(fail_port OFF) # Target fail check if(DEFINED arg_ON_TARGET) foreach(target IN LISTS arg_ON_TARGET) string(TOUPPER "${target}" target_upper) if(VCPKG_TARGET_IS_${target_upper}) - set(fail_port TRUE) + set(fail_port ON) string(APPEND arg_MESSAGE "Target '${target}' not supported by ${PORT}!\n") endif() endforeach() @@ -66,7 +46,7 @@ function(vcpkg_fail_port_install) if(DEFINED arg_ON_ARCH) foreach(arch IN LISTS arg_ON_ARCH) if(VCPKG_TARGET_ARCHITECTURE STREQUAL arch) - set(fail_port TRUE) + set(fail_port ON) string(APPEND arg_MESSAGE "Architecture '${arch}' not supported by ${PORT}!\n") endif() endforeach() @@ -76,7 +56,7 @@ function(vcpkg_fail_port_install) if(DEFINED arg_ON_CRT_LINKAGE) foreach(crt_linkage IN LISTS arg_ON_CRT_LINKAGE) if(VCPKG_CRT_LINKAGE STREQUAL crt_linkage) - set(fail_port TRUE) + set(fail_port ON) string(APPEND arg_MESSAGE "CRT linkage '${VCPKG_CRT_LINKAGE}' not supported by ${PORT}!\n") endif() endforeach() @@ -86,13 +66,13 @@ function(vcpkg_fail_port_install) if(DEFINED arg_ON_LIBRARY_LINKAGE) foreach(library_linkage IN LISTS arg_ON_LIBRARY_LINKAGE) if(VCPKG_LIBRARY_LINKAGE STREQUAL library_linkage) - set(fail_port TRUE) + set(fail_port ON) string(APPEND arg_MESSAGE "Library linkage '${VCPKG_LIBRARY_LINKAGE}' not supported by ${PORT}!\n") endif() endforeach() endif() - if(fail_port OR arg_ALWAYS) - message(FATAL_ERROR ${arg_MESSAGE}) + if(fail_port) + message(FATAL_ERROR "${arg_MESSAGE}") endif() endfunction() diff --git a/scripts/cmake/vcpkg_find_acquire_program(7Z).cmake b/scripts/cmake/vcpkg_find_acquire_program(7Z).cmake new file mode 100644 index 00000000000000..6a4dd6fc2a3de4 --- /dev/null +++ b/scripts/cmake/vcpkg_find_acquire_program(7Z).cmake @@ -0,0 +1,8 @@ +set(program_name 7z) +if(CMAKE_HOST_WIN32) + set(paths_to_search "${DOWNLOADS}/tools/7zip_msi-${tool_subdirectory}-windows/Files/7-Zip") # vcpkg fetch 7zip_msi path + list(APPEND paths_to_search "${DOWNLOADS}/tools/7z/${tool_subdirectory}/Files/7-Zip") + set(download_urls "https://github.com/ip7z/7zip/releases/download/24.08/7z2408.msi" "https://7-zip.org/a/7z2408.msi") + set(download_filename "7z2408.msi") + set(download_sha512 0bc88c99ad921a6f828d9ed9b8391510d1d0c2f8ecb7ad2921838c97c20f215e2ab03198009d159e2d1859bb20f157010f492288ce61c86544df06742cebbc34) +endif() diff --git a/scripts/cmake/vcpkg_find_acquire_program(ARIA2).cmake b/scripts/cmake/vcpkg_find_acquire_program(ARIA2).cmake new file mode 100644 index 00000000000000..16153deffa5aa7 --- /dev/null +++ b/scripts/cmake/vcpkg_find_acquire_program(ARIA2).cmake @@ -0,0 +1,8 @@ +set(program_name aria2c) +set(program_version 1.35.0) +if(CMAKE_HOST_WIN32) + set(paths_to_search "${DOWNLOADS}/tools/aria2c/aria2-${program_version}-win-32bit-build1") + set(download_urls "https://github.com/aria2/aria2/releases/download/release-${program_version}/aria2-${program_version}-win-32bit-build1.zip") + set(download_filename "aria2-${program_version}-win-32bit-build1.zip") + set(download_sha512 933537cad820b1cecf43a9eeca7e1b241dd7b1c902ee942441a166f2c38845f16046321efbdfa2f83c7e9fc50c7ecc5da6fd00e0c6e2124c07d3b783aa5092a4) +endif() diff --git a/scripts/cmake/vcpkg_find_acquire_program(BAZEL).cmake b/scripts/cmake/vcpkg_find_acquire_program(BAZEL).cmake new file mode 100644 index 00000000000000..59153af6eb8615 --- /dev/null +++ b/scripts/cmake/vcpkg_find_acquire_program(BAZEL).cmake @@ -0,0 +1,21 @@ +set(program_name bazel) +set(program_version 4.2.2) +set(rename_binary_to "bazel") +if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Linux") + set(tool_subdirectory "${program_version}-linux") + set(download_urls "https://github.com/bazelbuild/bazel/releases/download/${program_version}/bazel-${tool_subdirectory}-x86_64") + set(download_filename "bazel-${tool_subdirectory}-x86_64") + set(raw_executable ON) + set(download_sha512 f38619e054df78cab38278a5901b2798f2e25b5cec53358d98278002e713d225fd3df96a209b7f22a2357835a279cee8ef1768e10561b3e9fe6361f324563bb9) +elseif(CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin") + set(tool_subdirectory "${program_version}-darwin") + set(download_urls "https://github.com/bazelbuild/bazel/releases/download/${program_version}/bazel-${tool_subdirectory}-x86_64") + set(download_filename "bazel-${tool_subdirectory}-x86_64") + set(raw_executable ON) + set(download_sha512 a3fd8f9d71b0669d742439200f27ee0a3891c1f248df62c841ebb2b416a47534562f429f8a08793b074e9b74f2ede3d97a7e13ac9921c7ee2dc6a2dca8b7f275) +else() + set(tool_subdirectory "${program_version}-windows") + set(download_urls "https://github.com/bazelbuild/bazel/releases/download/${program_version}/bazel-${tool_subdirectory}-x86_64.zip") + set(download_filename "bazel-${tool_subdirectory}-x86_64.zip") + set(download_sha512 8a8196e242964114316232818cb81bfa19ebfd3a029ebf550a241e33b22a6e9ed636dade06411a8706c05c4e73def0bc8d7f45ff0ec5478bcc5de21b5638204d) +endif() diff --git a/scripts/cmake/vcpkg_find_acquire_program(BISON).cmake b/scripts/cmake/vcpkg_find_acquire_program(BISON).cmake new file mode 100644 index 00000000000000..f5539767a6f051 --- /dev/null +++ b/scripts/cmake/vcpkg_find_acquire_program(BISON).cmake @@ -0,0 +1,20 @@ +if(CMAKE_HOST_WIN32) + # This download shall be the same as in vcpkg_find_acquire_program(FLEX).cmake + set(program_version 2.5.25) + set(download_urls "https://github.com/lexxmark/winflexbison/releases/download/v${program_version}/win_flex_bison-${program_version}.zip") + set(download_filename "win_flex_bison-${program_version}.zip") + set(download_sha512 2a829eb05003178c89f891dd0a67add360c112e74821ff28e38feb61dac5b66e9d3d5636ff9eef055616aaf282ee8d6be9f14c6ae4577f60bdcec96cec9f364e) + set(tool_subdirectory "${program_version}") + set(program_name win_bison) + set(paths_to_search "${DOWNLOADS}/tools/win_flex/${program_version}") + if(NOT EXISTS "${paths_to_search}/data/m4sugar/m4sugar.m4") + file(REMOVE_RECURSE "${paths_to_search}") + endif() +else() + set(program_name bison) + set(apt_package_name bison) + set(brew_package_name bison) + if (CMAKE_HOST_APPLE) + set(paths_to_search /opt/homebrew/opt/bison/bin /usr/local/opt/bison/bin) + endif() +endif() diff --git a/scripts/cmake/vcpkg_find_acquire_program(CLANG).cmake b/scripts/cmake/vcpkg_find_acquire_program(CLANG).cmake new file mode 100644 index 00000000000000..0826c875126b7c --- /dev/null +++ b/scripts/cmake/vcpkg_find_acquire_program(CLANG).cmake @@ -0,0 +1,31 @@ +set(program_name clang) +set(tool_subdirectory "clang-15.0.6") +set(program_version 15.0.6) +if(CMAKE_HOST_WIN32) + set(paths_to_search + # Support LLVM in Visual Studio 2019 + "$ENV{LLVMInstallDir}/x64/bin" + "$ENV{LLVMInstallDir}/bin" + "$ENV{VCINSTALLDIR}/Tools/Llvm/x64/bin" + "$ENV{VCINSTALLDIR}/Tools/Llvm/bin" + "${DOWNLOADS}/tools/${tool_subdirectory}-windows/bin" + "${DOWNLOADS}/tools/clang/${tool_subdirectory}/bin") + + if(DEFINED ENV{PROCESSOR_ARCHITEW6432}) + set(host_arch "$ENV{PROCESSOR_ARCHITEW6432}") + else() + set(host_arch "$ENV{PROCESSOR_ARCHITECTURE}") + endif() + + if(host_arch MATCHES "64") + set(download_urls "https://github.com/llvm/llvm-project/releases/download/llvmorg-${program_version}/LLVM-${program_version}-win64.exe") + set(download_filename "LLVM-${program_version}-win64.7z.exe") + set(download_sha512 2dd6f3eea106f2b905e6658ea5ea12856d17285adbfba055edc2d6b6389c4c2f7aa001df5cb0d8fb84fa7fa47d5035a7fddf276523b472dd55f150ae25938768) + else() + set(download_urls "https://github.com/llvm/llvm-project/releases/download/llvmorg-${program_version}/LLVM-${program_version}-win32.exe") + set(download_filename "LLVM-${program_version}-win32.7z.exe") + set(download_sha512 90225D650EADB0E590A9912B479B46A575D41A19EB5F2DA03C4DC8B032DC0790222F0E3706DFE2A35C0E7747941972AC26CB47D3EB13730DB76168931F37E5F1) + endif() +endif() +set(brew_package_name "llvm") +set(apt_package_name "clang") diff --git a/scripts/cmake/vcpkg_find_acquire_program(DARK).cmake b/scripts/cmake/vcpkg_find_acquire_program(DARK).cmake new file mode 100644 index 00000000000000..9362a7ed28000a --- /dev/null +++ b/scripts/cmake/vcpkg_find_acquire_program(DARK).cmake @@ -0,0 +1,8 @@ +set(program_name dark) +if(CMAKE_HOST_WIN32) + set(tool_subdirectory "wix311-binaries") + set(paths_to_search "${DOWNLOADS}/tools/dark/${tool_subdirectory}") + set(download_urls "https://github.com/wixtoolset/wix3/releases/download/wix311rtm/wix311-binaries.zip") + set(download_filename "wix311-binaries.zip") + set(download_sha512 74f0fa29b5991ca655e34a9d1000d47d4272e071113fada86727ee943d913177ae96dc3d435eaf494d2158f37560cd4c2c5274176946ebdb17bf2354ced1c516) +endif() diff --git a/scripts/cmake/vcpkg_find_acquire_program(DOXYGEN).cmake b/scripts/cmake/vcpkg_find_acquire_program(DOXYGEN).cmake new file mode 100644 index 00000000000000..86ebf4f5a62d02 --- /dev/null +++ b/scripts/cmake/vcpkg_find_acquire_program(DOXYGEN).cmake @@ -0,0 +1,11 @@ +set(program_name doxygen) +set(program_version 1.9.1) +if(CMAKE_HOST_WIN32) + set(download_filename "doxygen-${program_version}.windows.bin.zip") + set(download_sha512 "c3eeb6b9fa4eab70fb6b0864fbbf94fb8050f3fee38d117cf470921a80e3569cc1c8b0272604d6731e05f01790cfaa70e159bec5d0882fc4f2d8ae4a5d52a21b") + vcpkg_list(SET sourceforge_args + REPO doxygen + REF "rel-${program_version}" + ) + set(tool_subdirectory c3eeb6b9fa-76d69c6db5) +endif() diff --git a/scripts/cmake/vcpkg_find_acquire_program(FLEX).cmake b/scripts/cmake/vcpkg_find_acquire_program(FLEX).cmake new file mode 100644 index 00000000000000..b686c7fd754c14 --- /dev/null +++ b/scripts/cmake/vcpkg_find_acquire_program(FLEX).cmake @@ -0,0 +1,17 @@ +if(CMAKE_HOST_WIN32) + # This download shall be the same as in vcpkg_find_acquire_program(BISON).cmake + set(program_version 2.5.25) + set(download_urls "https://github.com/lexxmark/winflexbison/releases/download/v${program_version}/win_flex_bison-${program_version}.zip") + set(download_filename "win_flex_bison-${program_version}.zip") + set(download_sha512 2a829eb05003178c89f891dd0a67add360c112e74821ff28e38feb61dac5b66e9d3d5636ff9eef055616aaf282ee8d6be9f14c6ae4577f60bdcec96cec9f364e) + set(tool_subdirectory "${program_version}") + set(program_name win_flex) + set(paths_to_search "${DOWNLOADS}/tools/win_flex/${program_version}") + if(NOT EXISTS "${paths_to_search}/data/m4sugar/m4sugar.m4") + file(REMOVE_RECURSE "${paths_to_search}") + endif() +else() + set(program_name flex) + set(apt_package_name flex) + set(brew_package_name flex) +endif() diff --git a/scripts/cmake/vcpkg_find_acquire_program(GASPREPROCESSOR).cmake b/scripts/cmake/vcpkg_find_acquire_program(GASPREPROCESSOR).cmake new file mode 100644 index 00000000000000..b2008644709431 --- /dev/null +++ b/scripts/cmake/vcpkg_find_acquire_program(GASPREPROCESSOR).cmake @@ -0,0 +1,11 @@ +set(raw_executable true) +set(program_name gas-preprocessor) +set(interpreter PERL) +set(search_names "gas-preprocessor.pl") +set(paths_to_search "${DOWNLOADS}/tools/gas-preprocessor/${tool_subdirectory}") +set(rename_binary_to "gas-preprocessor.pl") +set(commit_id 9309c67acb535ca6248f092e96131d8eb07eefc1) +set(download_urls "https://raw.githubusercontent.com/FFmpeg/gas-preprocessor/${commit_id}/gas-preprocessor.pl") +string(SUBSTRING ${commit_id} 0 8 tool_subdirectory) +set(download_filename "gas-preprocessor-${tool_subdirectory}.pl") +set(download_sha512 b4749cf8aa758e3f28d4b21803422a5c2588f5fc48cfd317564606b374f8d739c636067cf7a4956d7365d63b055bc6e7626c304857e6c9013d6b4a0db9d8ad4f) diff --git a/scripts/cmake/vcpkg_find_acquire_program(GIT).cmake b/scripts/cmake/vcpkg_find_acquire_program(GIT).cmake new file mode 100644 index 00000000000000..dc6f708de5d2a0 --- /dev/null +++ b/scripts/cmake/vcpkg_find_acquire_program(GIT).cmake @@ -0,0 +1,15 @@ +set(program_name git) +if(CMAKE_HOST_WIN32) + set(base_version 2.32.0) + set(program_version 2.32.0.2) + set(tool_subdirectory "git-${program_version}-2-windows") + set(download_urls "https://github.com/git-for-windows/git/releases/download/v${base_version}.windows.2/PortableGit-${program_version}-32-bit.7z.exe") + set(download_filename "PortableGit-${program_version}-32-bit.7z.exe") + set(download_sha512 867d8534972cbaf7a4224e25a14d484f8d17ef186f8d79e9a758afb90cf69541375cb7615a39702311f4809cb8371ef85c2b1a15bfffe9e48f0e597ac011b348) + set(paths_to_search + "${DOWNLOADS}/tools/${tool_subdirectory}/mingw32/bin" + "${DOWNLOADS}/tools/git/${tool_subdirectory}/mingw32/bin") +else() + set(brew_package_name "git") + set(apt_package_name "git") +endif() diff --git a/scripts/cmake/vcpkg_find_acquire_program(GN).cmake b/scripts/cmake/vcpkg_find_acquire_program(GN).cmake new file mode 100644 index 00000000000000..94b5690226cc53 --- /dev/null +++ b/scripts/cmake/vcpkg_find_acquire_program(GN).cmake @@ -0,0 +1,45 @@ +set(program_name gn) +set(rename_binary_to "gn") +if(EXISTS "${CURRENT_HOST_INSTALLED_DIR}/share/gn/version.txt") + file(READ "${CURRENT_HOST_INSTALLED_DIR}/share/gn/version.txt" program_version) + set(paths_to_search "${CURRENT_HOST_INSTALLED_DIR}/tools/gn") +else() # Old behavior + message("Consider adding vcpkg-tool-gn as a host dependency of this port or create an issue at https://github.com/microsoft/vcpkg/issues") + set(cipd_download_gn "https://chrome-infra-packages.appspot.com/dl/gn/gn") + if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Linux") + EXEC_PROGRAM(uname ARGS -m OUTPUT_VARIABLE HOST_ARCH OUTPUT_STRIP_TRAILING_WHITESPACE) + if(HOST_ARCH STREQUAL "aarch64") + set(program_version "GkfFAfAUyE-qfeWkdUMaeM1Ov64Fk3SjSj9pwKqZX7gC") + set(gn_platform "linux-arm64") + set(download_sha512 "E88201309A12C00CE60137261B8E1A759780C81D1925B819583B16D2095A16A7D32EFB2AF36C1E1D6EAA142BF6A6A811847D3140E4E94967EE28F4ADF6373E4B") + else() + set(program_version "Fv1ENXodhXmEXy_xpZr2gQkVJh57w_IsbsrEJOU0_EoC") + set(gn_platform "linux-amd64") + set(download_sha512 "A7A5CD5633C5547EC1B1A95958486DDAAC91F1A65881EDC0AD8F74DF44E82F08BA74358E9A72DFCDDE6F534A6B9C9A430D3E16ACE2E4346C4D2E9113F7654B3F") + endif() + elseif(CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin") + EXEC_PROGRAM(uname ARGS -m OUTPUT_VARIABLE HOST_ARCH OUTPUT_STRIP_TRAILING_WHITESPACE) + if(HOST_ARCH STREQUAL "arm64") + set(program_version "qMPtGq7xZlpb-lHjP-SK27ftT4X71WIvguuyx6X14DEC") + set(gn_platform "mac-arm64") + set(download_sha512 "D096FB958D017807427911089AB5A7655AED117F6851C0491AC8063CEDB544423122EF64DF4264ECA86C20A2BDE9E64D7B72DA7ED8C95C2BA79A68B8247D36B8") + else() + set(program_version "0x2juPLNfP9603GIyZrUfflxK6LiMcppLAoxEpYuIYoC") + set(gn_platform "mac-amd64") + set(download_sha512 "2696ECE7B2C8008CABDDF10024017E2ECF875F8679424E77052252BDDC83A2096DF3C61D89CD25120EF27E0458C8914BEEED9D418593BDBC4F6ED33A8D4C3DC5") + endif() + else() + if("$ENV{PROCESSOR_ARCHITECTURE}" STREQUAL "ARM64") + set(program_version "q5ExVHmXyD34Q_Tzb-aRxsPipO-e37-csVRhVM7IJh0C") + set(gn_platform "windows-amd64") + set(download_sha512 "FA764AA44EB6F48ED50E855B4DC1DD1ABE35E45FD4AAC7F059A35293A14894C1B591215E34FB0CE9362E646EA9463BA3B489EFB7EBBAA2693D14238B50E4E686") + else() # AMD64 + set(program_version "q5ExVHmXyD34Q_Tzb-aRxsPipO-e37-csVRhVM7IJh0C") + set(gn_platform "windows-amd64") + set(download_sha512 "FA764AA44EB6F48ED50E855B4DC1DD1ABE35E45FD4AAC7F059A35293A14894C1B591215E34FB0CE9362E646EA9463BA3B489EFB7EBBAA2693D14238B50E4E686") + endif() + endif() +endif() +set(tool_subdirectory "${program_version}") +set(download_urls "${cipd_download_gn}/${gn_platform}/+/${program_version}") +set(download_filename "gn-${gn_platform}.zip") diff --git a/scripts/cmake/vcpkg_find_acquire_program(GO).cmake b/scripts/cmake/vcpkg_find_acquire_program(GO).cmake new file mode 100644 index 00000000000000..d2e59abd88c725 --- /dev/null +++ b/scripts/cmake/vcpkg_find_acquire_program(GO).cmake @@ -0,0 +1,10 @@ +set(program_name go) +set(brew_package_name "go") +set(apt_package_name "golang-go") +if(CMAKE_HOST_WIN32) + set(tool_subdirectory 1.21.1.windows-386) + set(paths_to_search "${DOWNLOADS}/tools/go/${tool_subdirectory}/go/bin") + set(download_urls "https://dl.google.com/go/go${tool_subdirectory}.zip") + set(download_filename "go${tool_subdirectory}.zip") + set(download_sha512 417a4bd95a10f21c2166badd2303e1956d91d0e783e334c99ea0176a323e815729c8c3af3f7ec68f057b757d06bcc75be82584031c4069c89a2db62bbfa902e8) +endif() diff --git a/scripts/cmake/vcpkg_find_acquire_program(GPERF).cmake b/scripts/cmake/vcpkg_find_acquire_program(GPERF).cmake new file mode 100644 index 00000000000000..dc52162655f912 --- /dev/null +++ b/scripts/cmake/vcpkg_find_acquire_program(GPERF).cmake @@ -0,0 +1,8 @@ +set(program_name gperf) +set(program_version 3.0.1) +if(CMAKE_HOST_WIN32) + set(download_filename "gperf-${program_version}-bin.zip") + set(download_sha512 3f2d3418304390ecd729b85f65240a9e4d204b218345f82ea466ca3d7467789f43d0d2129fcffc18eaad3513f49963e79775b10cc223979540fa2e502fe7d4d9) + set(download_urls "https://sourceforge.net/projects/gnuwin32/files/gperf/${program_version}/gperf-${program_version}-bin.zip/download") + set(paths_to_search "${DOWNLOADS}/tools/gperf/bin") +endif() diff --git a/scripts/cmake/vcpkg_find_acquire_program(JOM).cmake b/scripts/cmake/vcpkg_find_acquire_program(JOM).cmake new file mode 100644 index 00000000000000..f3d5a2d1de7089 --- /dev/null +++ b/scripts/cmake/vcpkg_find_acquire_program(JOM).cmake @@ -0,0 +1,13 @@ +set(program_name jom) +set(program_version_string 1_1_4) +if(CMAKE_HOST_WIN32) + set(download_urls + "https://download.qt.io/official_releases/jom/jom_${program_version_string}.zip" + "https://mirrors.ocf.berkeley.edu/qt/official_releases/jom/jom_${program_version_string}.zip" + "https://mirrors.ukfast.co.uk/sites/qt.io/official_releases/jom/jom_${program_version_string}.zip" + ) + set(download_filename "jom_${program_version_string}.zip") + set(download_sha512 a683bd829c84942223a791dae8abac5cfc2e3fa7de84c6fdc490ad3aa996a26c9fa0be0636890f02c9d56948bbe3225b43497cb590d1cb01e70c6fac447fa17b) + set(tool_subdirectory "jom-${program_version_string}") + set(paths_to_search "${DOWNLOADS}/tools/jom/${tool_subdirectory}") +endif() diff --git a/scripts/cmake/vcpkg_find_acquire_program(MESON).cmake b/scripts/cmake/vcpkg_find_acquire_program(MESON).cmake new file mode 100644 index 00000000000000..0774cd930b8623 --- /dev/null +++ b/scripts/cmake/vcpkg_find_acquire_program(MESON).cmake @@ -0,0 +1,18 @@ +set(program_name meson) +set(search_names meson meson.py) +set(interpreter PYTHON3) +set(apt_package_name "meson") +set(brew_package_name "meson") +set(version_command --version) +set(extra_search_args EXACT_VERSION_MATCH) +if(EXISTS "${CURRENT_HOST_INSTALLED_DIR}/share/meson/version.txt") + file(READ "${CURRENT_HOST_INSTALLED_DIR}/share/meson/version.txt" program_version) + set(paths_to_search "${DOWNLOADS}/tools/meson-${program_version};${CURRENT_HOST_INSTALLED_DIR}/tools/meson") +else() # Old behavior + set(program_version 0.58.1) + set(ref aeda7f249c4a5dbbecc52e44f382246a2377b5b0) + set(paths_to_search "${DOWNLOADS}/tools/meson/meson-${ref}") + set(download_urls "https://github.com/mesonbuild/meson/archive/${ref}.tar.gz") + set(download_filename "meson-${ref}.tar.gz") + set(download_sha512 18a012a45274dbb4582e99fd69d920f38831e788d9860f9553c64847bedb1c2010ae0b5c0ef4a4350c03f5e0f95aaa0395378e1208109b59640c1a70b1e202d2) +endif() diff --git a/scripts/cmake/vcpkg_find_acquire_program(NASM).cmake b/scripts/cmake/vcpkg_find_acquire_program(NASM).cmake new file mode 100644 index 00000000000000..7c6c596317ad1e --- /dev/null +++ b/scripts/cmake/vcpkg_find_acquire_program(NASM).cmake @@ -0,0 +1,14 @@ +set(program_name nasm) +set(program_version 2.16.01) +set(brew_package_name "nasm") +set(apt_package_name "nasm") +if(CMAKE_HOST_WIN32) + set(download_urls + "https://www.nasm.us/pub/nasm/releasebuilds/${program_version}/win64/nasm-${program_version}-win64.zip" + "https://gstreamer.freedesktop.org/src/mirror/nasm-${program_version}-win64.zip" + "https://vcpkg.github.io/assets/nasm/nasm-${program_version}-win64.zip" + ) + set(download_filename "nasm-${program_version}-win64.zip") + set(download_sha512 ce4d02f530dc3376b4513f219bbcec128ee5bebd8a5c332599b48d8071f803d1538d7258fec7c2e9b4d725b8d7314cea2696289d0493017eb13bfe70e5cb5062) + set(paths_to_search "${DOWNLOADS}/tools/nasm/nasm-${program_version}") +endif() diff --git a/scripts/cmake/vcpkg_find_acquire_program(NINJA).cmake b/scripts/cmake/vcpkg_find_acquire_program(NINJA).cmake new file mode 100644 index 00000000000000..3bca6338a317b3 --- /dev/null +++ b/scripts/cmake/vcpkg_find_acquire_program(NINJA).cmake @@ -0,0 +1,28 @@ +set(program_name ninja) +set(program_version 1.10.2) +set(version_command --version) +if(CMAKE_HOST_WIN32) + set(download_filename "ninja-win-${program_version}.zip") + set(tool_subdirectory "${program_version}-windows") + set(download_urls "https://github.com/ninja-build/ninja/releases/download/v${program_version}/ninja-win.zip") + set(download_sha512 6004140d92e86afbb17b49c49037ccd0786ce238f340f7d0e62b4b0c29ed0d6ad0bab11feda2094ae849c387d70d63504393714ed0a1f4d3a1f155af7a4f1ba3) +elseif(CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin") + set(download_filename "ninja-mac-${program_version}.zip") + set(download_urls "https://github.com/ninja-build/ninja/releases/download/v${program_version}/ninja-mac.zip") + set(tool_subdirectory "${program_version}-osx") + set(paths_to_search "${DOWNLOADS}/tools/ninja-${program_version}-osx") + set(download_sha512 bcd12f6a3337591306d1b99a7a25a6933779ba68db79f17c1d3087d7b6308d245daac08df99087ff6be8dc7dd0dcdbb3a50839a144745fa719502b3a7a07260b) +elseif(CMAKE_HOST_SYSTEM_NAME STREQUAL "FreeBSD") + set(paths_to_search "${DOWNLOADS}/tools/${tool_subdirectory}-freebsd") +else() + vcpkg_execute_in_download_mode(COMMAND "uname" "-m" OUTPUT_VARIABLE HOST_ARCH OUTPUT_STRIP_TRAILING_WHITESPACE) + if(HOST_ARCH MATCHES "x86_64|amd64|AMD64") + set(download_filename "ninja-linux-${program_version}.zip") + set(download_urls "https://github.com/ninja-build/ninja/releases/download/v${program_version}/ninja-linux.zip") + set(tool_subdirectory "${program_version}-linux") + set(paths_to_search "${DOWNLOADS}/tools/ninja-${program_version}-linux") + set(download_sha512 93e802e9c17fb59636cddde4bad1ddaadad624f4ecfee00d5c78790330a4e9d433180e795718cda27da57215ce643c3929cf72c85337ee019d868c56f2deeef3) + else() + set(version_command "") # somewhat hacky way to skip version check and use system binary + endif() +endif() diff --git a/scripts/cmake/vcpkg_find_acquire_program(NUGET).cmake b/scripts/cmake/vcpkg_find_acquire_program(NUGET).cmake new file mode 100644 index 00000000000000..f7c1ffbb798c3d --- /dev/null +++ b/scripts/cmake/vcpkg_find_acquire_program(NUGET).cmake @@ -0,0 +1,11 @@ +set(program_name nuget) +set(brew_package_name "nuget") +if(CMAKE_HOST_WIN32) + set(download_urls "https://dist.nuget.org/win-x86-commandline/v5.11.0/nuget.exe") + set(download_filename "nuget.5.11.0.exe") + set(download_sha512 06a337c9404dec392709834ef2cdbdce611e104b510ef40201849595d46d242151749aef65bc2d7ce5ade9ebfda83b64c03ce14c8f35ca9957a17a8c02b8c4b7) + set(tool_subdirectory "5.11.0") + set(paths_to_search "${DOWNLOADS}/tools/nuget-${tool_subdirectory}-windows") + set(raw_executable ON) + set(rename_binary_to "nuget.exe") +endif() diff --git a/scripts/cmake/vcpkg_find_acquire_program(PATCHELF).cmake b/scripts/cmake/vcpkg_find_acquire_program(PATCHELF).cmake new file mode 100644 index 00000000000000..e881bfe959b942 --- /dev/null +++ b/scripts/cmake/vcpkg_find_acquire_program(PATCHELF).cmake @@ -0,0 +1,30 @@ +set(program_name patchelf) +if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Linux") + set(program_version 0.14.5) + vcpkg_execute_in_download_mode(COMMAND "uname" "-m" OUTPUT_VARIABLE HOST_ARCH OUTPUT_STRIP_TRAILING_WHITESPACE) + if(HOST_ARCH STREQUAL "aarch64") + set(patchelf_platform "aarch64") + set(download_sha512 "3B5EB4405FAB1D5202728AA390DD9F059CD7AFD582BAD9C50383CAD605127BC77DFCE3F2F26E9714F6BD5CCFFD49D3973BA2F061D2E2931B6E1BD0C263B99E75") + elseif(HOST_ARCH STREQUAL "armv7l") + set(patchelf_platform "armv7l") + set(download_sha512 "30160d750784f5e8805bffe96ca80b40ed10441549e10f47b61e0d21b32979e01865cd770f1de9162988d4daabc6984dcdb7438f67bcd5eee76ad5f01b00276d") + else() + set(patchelf_platform "x86_64") + set(download_sha512 "5E983A25B3F3F3B8582D1DE6C7DE30812E8D6E58E96F711F33A2634D3FB1F2370531DA179927AA401328319F92465E6F76274A6F994D1DC54C74B98E704D0D29") + endif() + set(download_filename "${program_name}-${program_version}-${patchelf_platform}.tar.gz") + set(download_urls "https://github.com/NixOS/patchelf/releases/download/${program_version}/${download_filename}") + set(tool_subdirectory "${program_version}-${patchelf_platform}-linux") + set(paths_to_search "${DOWNLOADS}/tools/patchelf/${program_version}-${patchelf_platform}-linux/bin") +elseif(CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows") + set(patchelf_host "win32") + set(program_version 0.18.0) + set(download_sha512 +"19d24f64bea6d6236292455a09695d289ddca71433a0ccaf372f57da80a4cde5db1c375ac8e29a41ac1f0676b7d3b56ce5b2baf39e58369c4f741b612db51044") + set(download_filename "${program_name}-${patchelf_host}-${program_version}.exe") + set(download_urls "https://github.com/NixOS/patchelf/releases/download/${program_version}/${download_filename}") + set(tool_subdirectory "${program_version}-${patchelf_host}") + set(paths_to_search "${DOWNLOADS}/tools/patchelf/${program_version}-${patchelf_host}/") + set(raw_executable ON) + set(rename_binary_to "patchelf.exe") +endif() diff --git a/scripts/cmake/vcpkg_find_acquire_program(PERL).cmake b/scripts/cmake/vcpkg_find_acquire_program(PERL).cmake new file mode 100644 index 00000000000000..8f2230fe7099ac --- /dev/null +++ b/scripts/cmake/vcpkg_find_acquire_program(PERL).cmake @@ -0,0 +1,13 @@ +set(program_name perl) +set(program_version 5.40.0.1) +set(brew_package_name "perl") +set(apt_package_name "perl") +if(CMAKE_HOST_WIN32) + set(download_urls + "https://github.com/StrawberryPerl/Perl-Dist-Strawberry/releases/download/SP_54001_64bit_UCRT/strawberry-perl-5.40.0.1-64bit-portable.zip" + ) + set(download_filename "strawberry-perl-5.40.0.1-64bit-portable.zip") + set(download_sha512 374a675917a3d5c03d64633e9f80e333fd0043ec0481473027045b33dc74c43cc80836b5a369b063b8b1feee5228ffc46a6508594314d19f64b9e32e8311fbb5) + set(tool_subdirectory ${program_version}) + set(paths_to_search ${DOWNLOADS}/tools/perl/${tool_subdirectory}/perl/bin) +endif() diff --git a/scripts/cmake/vcpkg_find_acquire_program(PKGCONFIG).cmake b/scripts/cmake/vcpkg_find_acquire_program(PKGCONFIG).cmake new file mode 100644 index 00000000000000..0cecc2bd1162d0 --- /dev/null +++ b/scripts/cmake/vcpkg_find_acquire_program(PKGCONFIG).cmake @@ -0,0 +1,76 @@ +macro(z_vcpkg_find_acquire_pkgconfig_msys_declare_packages) + z_vcpkg_acquire_msys_declare_package( + URL "https://mirror.msys2.org/mingw/clangarm64/mingw-w64-clang-aarch64-pkgconf-1~2.3.0-1-any.pkg.tar.zst" + SHA512 b93698fc282f39715804cebeb624608584a0ef0755a6a4e321c4f0571586e91a39b3af580441f4895f5f524db151831a1eb6e06eb4de83f43a0db7b0c218bab0 + PROVIDES mingw-w64-clang-aarch64-pkg-config + ) + z_vcpkg_acquire_msys_declare_package( + URL "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-pkgconf-1~2.3.0-1-any.pkg.tar.zst" + SHA512 5373f050060678166968e09a4dd8ad30324c5dc37842c3517ebc9eb7be7e09d37d2873ff9dc4831c283556b68a0776f06fa6f91d799020b04282b4a3f378a2c4 + PROVIDES mingw-w64-x86_64-pkg-config + ) + z_vcpkg_acquire_msys_declare_package( + URL "https://mirror.msys2.org/mingw/mingw32/mingw-w64-i686-pkgconf-1~2.3.0-1-any.pkg.tar.zst" + SHA512 8fc9e91dcc78a05e8d836352e91d424e7466eaacbf961fd781ff6d84aab059308942dad024e19ecfe600175241ebfb81bd4813352c3f7547d8c9bfccec962dab + PROVIDES mingw-w64-i686-pkg-config + ) +endmacro() + +set(program_name pkg-config) +if(DEFINED "ENV{PKG_CONFIG}") + debug_message(STATUS "PKG_CONFIG found in ENV! Using $ENV{PKG_CONFIG}") + set(PKGCONFIG "$ENV{PKG_CONFIG}" CACHE INTERNAL "") + set(PKGCONFIG "${PKGCONFIG}" PARENT_SCOPE) + return() +elseif(CMAKE_HOST_SYSTEM_NAME STREQUAL "OpenBSD") + # As of 6.8, the OpenBSD specific pkg-config doesn't support {pcfiledir} + set(rename_binary_to "pkg-config") + set(program_version 0.29.2.1) + set(raw_executable ON) + set(download_filename "pkg-config.openbsd") + set(tool_subdirectory "openbsd") + set(download_urls "https://raw.githubusercontent.com/jgilje/pkg-config-openbsd/master/pkg-config") + set(download_sha512 b7ec9017b445e00ae1377e36e774cf3f5194ab262595840b449832707d11e443a102675f66d8b7e8b2e2f28cebd6e256835507b1e0c69644cc9febab8285080b) + set(version_command --version) +elseif(CMAKE_HOST_WIN32) + if(NOT EXISTS "${PKGCONFIG}") + set(program_version 2.1.0) + if(DEFINED ENV{PROCESSOR_ARCHITEW6432}) + set(host_arch "$ENV{PROCESSOR_ARCHITEW6432}") + else() + set(host_arch "$ENV{PROCESSOR_ARCHITECTURE}") + endif() + + if("${host_arch}" STREQUAL "ARM64") + vcpkg_acquire_msys(PKGCONFIG_ROOT + NO_DEFAULT_PACKAGES + Z_DECLARE_EXTRA_PACKAGES_COMMAND "z_vcpkg_find_acquire_pkgconfig_msys_declare_packages" + PACKAGES mingw-w64-clang-aarch64-pkgconf + ) + set("${program}" "${PKGCONFIG_ROOT}/clangarm64/bin/pkg-config.exe" CACHE INTERNAL "") + elseif("${host_arch}" MATCHES "64") + vcpkg_acquire_msys(PKGCONFIG_ROOT + NO_DEFAULT_PACKAGES + Z_DECLARE_EXTRA_PACKAGES_COMMAND "z_vcpkg_find_acquire_pkgconfig_msys_declare_packages" + PACKAGES mingw-w64-x86_64-pkgconf + ) + set("${program}" "${PKGCONFIG_ROOT}/mingw64/bin/pkg-config.exe" CACHE INTERNAL "") + else() + vcpkg_acquire_msys(PKGCONFIG_ROOT + NO_DEFAULT_PACKAGES + Z_DECLARE_EXTRA_PACKAGES_COMMAND "z_vcpkg_find_acquire_pkgconfig_msys_declare_packages" + PACKAGES mingw-w64-i686-pkgconf + ) + set("${program}" "${PKGCONFIG_ROOT}/mingw32/bin/pkg-config.exe" CACHE INTERNAL "") + endif() + endif() + set("${program}" "${${program}}" PARENT_SCOPE) + return() +else() + set(brew_package_name pkg-config) + set(apt_package_name pkg-config) + set(paths_to_search "/bin" "/usr/bin" "/usr/local/bin") + if(VCPKG_HOST_IS_OSX) + vcpkg_list(PREPEND paths_to_search "/opt/homebrew/bin") + endif() +endif() diff --git a/scripts/cmake/vcpkg_find_acquire_program(PYTHON2).cmake b/scripts/cmake/vcpkg_find_acquire_program(PYTHON2).cmake new file mode 100644 index 00000000000000..7e7905b175df18 --- /dev/null +++ b/scripts/cmake/vcpkg_find_acquire_program(PYTHON2).cmake @@ -0,0 +1,27 @@ +if(CMAKE_HOST_WIN32) + set(program_name python) + set(program_version 2.7.18) + if(EXISTS "${CURRENT_HOST_INSTALLED_DIR}/share/vcpkg-tool-python2/details.cmake") + include("${CURRENT_HOST_INSTALLED_DIR}/share/vcpkg-tool-python2/details.cmake") + else() # Old behavior + if (VCPKG_TARGET_ARCHITECTURE STREQUAL x86) + set(tool_subdirectory "python-${program_version}-x86") + set(download_urls "https://www.python.org/ftp/python/${program_version}/python-${program_version}.msi") + set(download_filename "python-${program_version}.msi") + set(download_sha512 2c112733c777ddbf189b0a54047a9d5851ebce0564cc38b9687d79ce6c7a09006109dbad8627fb1a60c3ad55e261db850d9dfa454af0533b460b2afc316fe115) + else() + set(tool_subdirectory "python-${program_version}-x64") + set(download_urls "https://www.python.org/ftp/python/${program_version}/python-${program_version}.amd64.msi") + set(download_filename "python-${program_version}.amd64.msi") + set(download_sha512 6a81a413b80fd39893e7444fd47efa455d240cbb77a456c9d12f7cf64962b38c08cfa244cd9c50a65947c40f936c6c8c5782f7236d7b92445ab3dd01e82af23e) + endif() + set(paths_to_search "${DOWNLOADS}/tools/python/${tool_subdirectory}") + endif() +elseif(CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin") + # macOS includes Python 2.7 built-in as `python` + set(program_name python) + set(brew_package_name "python2") +else() + set(program_name python2) + set(apt_package_name "python") +endif() diff --git a/scripts/cmake/vcpkg_find_acquire_program(PYTHON3).cmake b/scripts/cmake/vcpkg_find_acquire_program(PYTHON3).cmake new file mode 100644 index 00000000000000..e740918567fe66 --- /dev/null +++ b/scripts/cmake/vcpkg_find_acquire_program(PYTHON3).cmake @@ -0,0 +1,40 @@ +if(CMAKE_HOST_WIN32) + set(program_name python) + set(program_version 3.12.7) + if(DEFINED ENV{PROCESSOR_ARCHITEW6432}) + set(build_arch $ENV{PROCESSOR_ARCHITEW6432}) + else() + set(build_arch $ENV{PROCESSOR_ARCHITECTURE}) + endif() + if(build_arch MATCHES "^(ARM|arm)64$") + set(tool_subdirectory "python-${program_version}-arm64") + # https://www.python.org/ftp/python/3.12.7/python-3.12.7-embed-arm64.zip + set(download_urls "https://www.python.org/ftp/python/${program_version}/python-${program_version}-embed-arm64.zip") + set(download_filename "python-${program_version}-embed-arm64.zip") + set(download_sha512 D1D1183682D20AC057C45BF2AD264B6568CDEB54A1502823C76A2448386CAEF79A3AB9EA8FF57A5C023D432590FCCB5E3E9980F8760CD9BAAC5A2A82BA240D73) + elseif(build_arch MATCHES "(amd|AMD)64") + set(tool_subdirectory "python-${program_version}-x64") + # https://www.python.org/ftp/python/3.12.7/python-3.12.7-embed-amd64.zip + set(download_urls "https://www.python.org/ftp/python/${program_version}/python-${program_version}-embed-amd64.zip") + set(download_filename "python-${program_version}-embed-amd64.zip") + set(download_sha512 2F67A8487A9EDECE26B73AAB27E75249E538938AD976D371A9411B54DBAE20AFEAC82B406AD4EEEE38B1CF6F407E7620679D30C0FFF82EC8E8AE62268C322D59) + else() + set(tool_subdirectory "python-${program_version}-x86") + # https://www.python.org/ftp/python/3.12.7/python-3.12.7-embed-win32.zip + set(download_urls "https://www.python.org/ftp/python/${program_version}/python-${program_version}-embed-win32.zip") + set(download_filename "python-${program_version}-embed-win32.zip") + set(download_sha512 15542080E0CC25C574391218107FE843006E8C5A7161D1CD48CF14A3C47155C0244587273D9C747F35B15EA17676869ECCE079214824214C1A62ABFC86AD9F9B) + endif() + + set(paths_to_search "${DOWNLOADS}/tools/python/${tool_subdirectory}") + + # We want to be able to import stuff from outside of this embeddable package. + # https://docs.python.org/3/library/sys_path_init.html#pth-files + string(REGEX MATCH "^3\\.[0-9]+" _python_version_plain "${program_version}") + string(REPLACE "." "" _python_version_plain "${_python_version_plain}") + vcpkg_list(SET post_install_command "${CMAKE_COMMAND}" -E rm "python${_python_version_plain}._pth") +else() + set(program_name python3) + set(brew_package_name "python") + set(apt_package_name "python3") +endif() diff --git a/scripts/cmake/vcpkg_find_acquire_program(RUBY).cmake b/scripts/cmake/vcpkg_find_acquire_program(RUBY).cmake new file mode 100644 index 00000000000000..c955e6ad65b188 --- /dev/null +++ b/scripts/cmake/vcpkg_find_acquire_program(RUBY).cmake @@ -0,0 +1,8 @@ +set(program_name "ruby") +set(program_version 2.7.4-1) +if(CMAKE_HOST_WIN32) + set(download_urls "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-${program_version}/rubyinstaller-${program_version}-x86.7z") + set(download_filename "rubyinstaller-${program_version}-x86.7z") + set(download_sha512 4bf459c987b407bdda328c52d95060bf6ad48fc3e5ed5f64d4b205c5b4153c7a00cb6f9da6c0bcd5f2e001e9dc3dda0b72269ec4afdeffd658b93c085cd1d859) + set(paths_to_search "${DOWNLOADS}/tools/ruby/rubyinstaller-${program_version}-x86/bin") +endif() diff --git a/scripts/cmake/vcpkg_find_acquire_program(SCONS).cmake b/scripts/cmake/vcpkg_find_acquire_program(SCONS).cmake new file mode 100644 index 00000000000000..ddcfcd547d843a --- /dev/null +++ b/scripts/cmake/vcpkg_find_acquire_program(SCONS).cmake @@ -0,0 +1,9 @@ +set(program_name scons) +set(program_version 4.8.1) +set(interpreter PYTHON3) +set(search_names "scons.py") + +set(download_urls "https://sourceforge.net/projects/scons/files/scons-local-${program_version}.zip/download") +set(download_filename "scons-local-${program_version}.zip") +set(download_sha512 7ce428ccb3279359f916417f0eaca93d36a101b0760156ce53e3aa2c9c3f0a14869aadf49f21a9eb27ba366a27e3f5deab61669e5bf0b43f1547668da940c3b7) +set(tool_subdirectory "${program_version}") diff --git a/scripts/cmake/vcpkg_find_acquire_program(SWIG).cmake b/scripts/cmake/vcpkg_find_acquire_program(SWIG).cmake new file mode 100644 index 00000000000000..5189eda22b0fdf --- /dev/null +++ b/scripts/cmake/vcpkg_find_acquire_program(SWIG).cmake @@ -0,0 +1,16 @@ +set(program_version 4.0.2) +set(program_name swig) +if(CMAKE_HOST_WIN32) + set(download_filename "swigwin-${program_version}.zip") + set(download_sha512 "b8f105f9b9db6acc1f6e3741990915b533cd1bc206eb9645fd6836457fd30789b7229d2e3219d8e35f2390605ade0fbca493ae162ec3b4bc4e428b57155db03d") + vcpkg_list(SET sourceforge_args + REPO swig/swigwin + REF "swigwin-${program_version}" + ) + + set(tool_subdirectory "b8f105f9b9-f0518bc3b7") + set(paths_to_search "${DOWNLOADS}/tools/swig/b8f105f9b9-f0518bc3b7/swigwin-${program_version}") +else() + set(apt_package_name "swig") + set(brew_package_name "swig") +endif() diff --git a/scripts/cmake/vcpkg_find_acquire_program(YASM).cmake b/scripts/cmake/vcpkg_find_acquire_program(YASM).cmake new file mode 100644 index 00000000000000..ae8c8771d7ec61 --- /dev/null +++ b/scripts/cmake/vcpkg_find_acquire_program(YASM).cmake @@ -0,0 +1,12 @@ +set(program_name yasm) +set(program_version 1.3.0.6.g1962) +set(brew_package_name "yasm") +set(apt_package_name "yasm") +if(CMAKE_HOST_WIN32) + set(download_urls "https://www.tortall.net/projects/yasm/snapshots/v${program_version}/yasm-${program_version}.exe") + set(download_filename "yasm-${program_version}.exe") + set(download_sha512 c1945669d983b632a10c5ff31e86d6ecbff143c3d8b2c433c0d3d18f84356d2b351f71ac05fd44e5403651b00c31db0d14615d7f9a6ecce5750438d37105c55b) + set(tool_subdirectory 1.3.0.6) + set(raw_executable ON) + set(rename_binary_to "yasm.exe") +endif() diff --git a/scripts/cmake/vcpkg_find_acquire_program.cmake b/scripts/cmake/vcpkg_find_acquire_program.cmake index 7769cfc9059346..4dc2c0e169f2ca 100644 --- a/scripts/cmake/vcpkg_find_acquire_program.cmake +++ b/scripts/cmake/vcpkg_find_acquire_program.cmake @@ -1,52 +1,3 @@ -#[===[.md: -# vcpkg_find_acquire_program - -Download or find a well-known tool. - -## Usage -```cmake -vcpkg_find_acquire_program() -``` -## Parameters -### program -This variable specifies both the program to be acquired as well as the out parameter that will be set to the path of the program executable. - -## Notes -The current list of programs includes: - -* 7Z -* ARIA2 (Downloader) -* BISON -* CLANG -* DARK -* DOXYGEN -* FLEX -* GASPREPROCESSOR -* GPERF -* PERL -* PYTHON2 -* PYTHON3 -* GIT -* GN -* GO -* JOM -* MESON -* NASM -* NINJA -* NUGET -* SCONS -* SWIG -* YASM - -Note that msys2 has a dedicated helper function: [`vcpkg_acquire_msys`](vcpkg_acquire_msys.md). - -## Examples - -* [ffmpeg](https://github.com/Microsoft/vcpkg/blob/master/ports/ffmpeg/portfile.cmake) -* [openssl](https://github.com/Microsoft/vcpkg/blob/master/ports/openssl/portfile.cmake) -* [qt5](https://github.com/Microsoft/vcpkg/blob/master/ports/qt5/portfile.cmake) -#]===] - function(z_vcpkg_find_acquire_program_version_check out_var) cmake_parse_arguments(PARSE_ARGV 1 arg "EXACT_VERSION_MATCH" @@ -88,17 +39,19 @@ function(z_vcpkg_find_acquire_program_find_external program) if("${arg_INTERPRETER}" STREQUAL "") find_program("${program}" NAMES ${arg_NAMES}) else() - find_file(SCRIPT_${program} NAMES ${arg_NAMES}) - if(SCRIPT_${program}) - vcpkg_list(SET program_tmp ${${interpreter}} ${SCRIPT_${program}}) + find_file(SCRIPT_${arg_PROGRAM_NAME} NAMES ${arg_NAMES}) + if(SCRIPT_${arg_PROGRAM_NAME}) + vcpkg_list(SET program_tmp ${${interpreter}} ${SCRIPT_${arg_PROGRAM_NAME}}) set("${program}" "${program_tmp}" CACHE INTERNAL "") + else() + set("${program}" "" CACHE INTERNAL "") endif() - unset(SCRIPT_${program} CACHE) + unset(SCRIPT_${arg_PROGRAM_NAME} CACHE) endif() if("${version_command}" STREQUAL "") set(version_is_good ON) # can't check for the version being good, so assume it is - else() + elseif(${program}) # only do a version check if ${program} has a value z_vcpkg_find_acquire_program_version_check(version_is_good ${arg_EXACT_VERSION_MATCH} COMMAND ${${program}} ${arg_VERSION_COMMAND} @@ -131,7 +84,11 @@ function(z_vcpkg_find_acquire_program_find_internal program) PATHS ${arg_PATHS} NO_DEFAULT_PATH) if(SCRIPT_${program}) - set("${program}" ${${arg_INTERPRETER}} ${SCRIPT_${program}} CACHE INTERNAL "") + if(arg_INTERPRETER MATCHES "PYTHON") + set("${program}" ${${arg_INTERPRETER}} -I ${SCRIPT_${program}} CACHE INTERNAL "") + else() + set("${program}" ${${arg_INTERPRETER}} ${SCRIPT_${program}} CACHE INTERNAL "") + endif() endif() unset(SCRIPT_${program} CACHE) endif() @@ -152,7 +109,6 @@ function(vcpkg_find_acquire_program program) set(rename_binary_to "") set(tool_subdirectory "") set(interpreter "") - set(supported_on_unix "") set(post_install_command "") set(paths_to_search "") set(version_command "") @@ -160,410 +116,11 @@ function(vcpkg_find_acquire_program program) set(brew_package_name "") set(apt_package_name "") - if(program STREQUAL "PERL") - set(program_name perl) - set(program_version 5.32.1.1) - set(tool_subdirectory ${program_version}) - set(paths_to_search ${DOWNLOADS}/tools/perl/${tool_subdirectory}/perl/bin) - set(brew_package_name "perl") - set(apt_package_name "perl") - set(download_urls - "https://strawberryperl.com/download/${program_version}/strawberry-perl-${program_version}-32bit.zip" - ) - set(download_filename "strawberry-perl-${program_version}-32bit.zip") - set(download_sha512 936381254fea2e596db6a16c23b08ced25c4081fda484e1b8c4356755016e4b956bd00f3d2ee651d5f41a7695e9998f6c1ac3f4a237212b9c55aca8c5fea14e9) - elseif(program STREQUAL "NASM") - set(program_name nasm) - set(program_version 2.15.05) - set(paths_to_search "${DOWNLOADS}/tools/nasm/nasm-${program_version}") - set(brew_package_name "nasm") - set(apt_package_name "nasm") - set(download_urls - "https://www.nasm.us/pub/nasm/releasebuilds/${program_version}/win32/nasm-${program_version}-win32.zip" - "https://fossies.org/windows/misc/nasm-${program_version}-win32.zip" - ) - set(download_filename "nasm-${program_version}-win32.zip") - set(download_sha512 9412b8caa07e15eac8f500f6f8fab9f038d95dc25e0124b08a80645607cf5761225f98546b52eac7b894420d64f26c3cbf22c19cd286bbe583f7c964256c97ed) - elseif(program STREQUAL "YASM") - set(program_name yasm) - set(program_version 1.3.0.6.g1962) - set(tool_subdirectory 1.3.0.6) - set(brew_package_name "yasm") - set(apt_package_name "yasm") - set(download_urls "https://www.tortall.net/projects/yasm/snapshots/v${program_version}/yasm-${program_version}.exe") - set(download_filename "yasm-${program_version}.exe") - set(rename_binary_to "yasm.exe") - set(raw_executable ON) - set(download_sha512 c1945669d983b632a10c5ff31e86d6ecbff143c3d8b2c433c0d3d18f84356d2b351f71ac05fd44e5403651b00c31db0d14615d7f9a6ecce5750438d37105c55b) - elseif(program STREQUAL "GIT") - set(program_name git) - if(CMAKE_HOST_WIN32) - set(base_version 2.32.0) - set(program_version 2.32.0.2) - set(tool_subdirectory "git-${program_version}-2-windows") - set(download_urls "https://github.com/git-for-windows/git/releases/download/v${base_version}.windows.2/PortableGit-${program_version}-32-bit.7z.exe") - set(download_filename "PortableGit-${program_version}-32-bit.7z.exe") - set(download_sha512 867d8534972cbaf7a4224e25a14d484f8d17ef186f8d79e9a758afb90cf69541375cb7615a39702311f4809cb8371ef85c2b1a15bfffe9e48f0e597ac011b348) - set(paths_to_search - "${DOWNLOADS}/tools/${tool_subdirectory}/mingw32/bin" - "${DOWNLOADS}/tools/git/${tool_subdirectory}/mingw32/bin") - else() - set(brew_package_name "git") - set(apt_package_name "git") - endif() - elseif(program STREQUAL "GN") - set(program_name gn) - set(rename_binary_to "gn") - set(cipd_download_gn "https://chrome-infra-packages.appspot.com/dl/gn/gn") - if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Linux") - set(supported_on_unix ON) - set(program_version "xus7xtaPhpv5vCmKFOnsBVoB-PKmhZvRsSTjbQAuF0MC") - set(gn_platform "linux-amd64") - set(download_sha512 "871e75d7f3597b74fb99e36bb41fe5a9f8ce8a4d9f167f4729fc6e444807a59f35ec8aca70c2274a99c79d70a1108272be1ad991678a8ceb39e30f77abb13135") - elseif(CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin") - set(supported_on_unix ON) - set(program_version "qhxILDNcJ2H44HfHmfiU-XIY3E_SIXvFqLd2wvbIgOoC") - set(gn_platform "mac-amd64") - set(download_sha512 "03ee64cb15bae7fceb412900d470601090bce147cfd45eb9b46683ac1a5dca848465a5d74c55a47df7f0e334d708151249a6d37bb021de74dd48b97ed4a07937") - else() - set(program_version "qUkAhy9J0P7c5racy-9wB6AHNK_btS18im8S06_ehhwC") - set(gn_platform "windows-amd64") - set(download_sha512 "263e02bd79eee0cb7b664831b7898565c5656a046328d8f187ef7ae2a4d766991d477b190c9b425fcc960ab76f381cd3e396afb85cba7408ca9e74eb32c175db") - endif() - set(tool_subdirectory "${program_version}") - set(download_urls "${cipd_download_gn}/${gn_platform}/+/${program_version}") - set(download_filename "gn-${gn_platform}.zip") - elseif(program STREQUAL "GO") - set(program_name go) - set(tool_subdirectory 1.16.6.windows-386) - set(paths_to_search ${DOWNLOADS}/tools/go/${tool_subdirectory}/go/bin) - set(brew_package_name "go") - set(apt_package_name "golang-go") - set(download_urls "https://dl.google.com/go/go${tool_subdirectory}.zip") - set(download_filename "go${tool_subdirectory}.zip") - set(download_sha512 2a1e539ed628c0cca5935d24d22cf3a7165f5c80e12a4003ac184deae6a6d0aa31f582f3e8257b0730adfc09aeec3a0e62f4732e658c312d5382170bcd8c94d8) - elseif(program STREQUAL "PYTHON3") - if(CMAKE_HOST_WIN32) - set(program_name python) - set(program_version 3.10.0) - if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") - set(tool_subdirectory "python-${program_version}-x86") - set(download_urls "https://www.python.org/ftp/python/${program_version}/python-${program_version}-embed-win32.zip") - set(download_filename "python-${program_version}-embed-win32.zip") - set(download_sha512 0b007bfa02cdd48b3c260986493fa124a6b9d794da6eba2b4fad0d779fd655e9ae4e16daf5f02ff5b30a17abcfc1499bc6bee394c0f8abe933f2d4fe702af3cd) - else() - set(tool_subdirectory "python-${program_version}-x64") - set(download_urls "https://www.python.org/ftp/python/${program_version}/python-${program_version}-embed-amd64.zip") - set(download_filename "python-${program_version}-embed-amd64.zip") - set(download_sha512 23d81d007698383d8dc088da532dcb86c6ceca7eb78ba5688fc2e18ee7f33f53a5632282873762293b8164556dfb15870f8ffb7abd368faba0a3d8d5d5bc6297) - endif() - set(paths_to_search "${DOWNLOADS}/tools/python/${tool_subdirectory}") - vcpkg_list(SET post_install_command "${CMAKE_COMMAND}" -E rm python310._pth) - else() - set(program_name python3) - set(brew_package_name "python") - set(apt_package_name "python3") - endif() - elseif(program STREQUAL "PYTHON2") - if(CMAKE_HOST_WIN32) - set(program_name python) - set(program_version 2.7.18) - if (VCPKG_TARGET_ARCHITECTURE STREQUAL x86) - set(tool_subdirectory "python-${program_version}-x86") - set(download_urls "https://www.python.org/ftp/python/${program_version}/python-${program_version}.msi") - set(download_filename "python-${program_version}.msi") - set(download_sha512 2c112733c777ddbf189b0a54047a9d5851ebce0564cc38b9687d79ce6c7a09006109dbad8627fb1a60c3ad55e261db850d9dfa454af0533b460b2afc316fe115) - else() - set(tool_subdirectory "python-${program_version}-x64") - set(download_urls "https://www.python.org/ftp/python/${program_version}/python-${program_version}.amd64.msi") - set(download_filename "python-${program_version}.amd64.msi") - set(download_sha512 6a81a413b80fd39893e7444fd47efa455d240cbb77a456c9d12f7cf64962b38c08cfa244cd9c50a65947c40f936c6c8c5782f7236d7b92445ab3dd01e82af23e) - endif() - set(paths_to_search "${DOWNLOADS}/tools/python/${tool_subdirectory}") - elseif(CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin") - # macOS includes Python 2.7 built-in as `python` - set(program_name python) - set(brew_package_name "python2") - else() - set(program_name python2) - set(apt_package_name "python") - endif() - elseif(program STREQUAL "RUBY") - set(program_name "ruby") - set(program_version 2.7.4-1) - set(paths_to_search "${DOWNLOADS}/tools/ruby/rubyinstaller-${program_version}-x86/bin") - set(download_urls "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-${program_version}/rubyinstaller-${program_version}-x86.7z") - set(download_filename "rubyinstaller-${program_version}-x86.7z") - set(download_sha512 4bf459c987b407bdda328c52d95060bf6ad48fc3e5ed5f64d4b205c5b4153c7a00cb6f9da6c0bcd5f2e001e9dc3dda0b72269ec4afdeffd658b93c085cd1d859) - elseif(program STREQUAL "JOM") - set(program_name jom) - set(tool_subdirectory "jom-1.1.3") - set(paths_to_search "${DOWNLOADS}/tools/jom/${tool_subdirectory}") - set(download_urls - "https://download.qt.io/official_releases/jom/jom_1_1_3.zip" - "https://mirrors.ocf.berkeley.edu/qt/official_releases/jom/jom_1_1_3.zip" - ) - set(download_filename "jom_1_1_3.zip") - set(download_sha512 5b158ead86be4eb3a6780928d9163f8562372f30bde051d8c281d81027b766119a6e9241166b91de0aa6146836cea77e5121290e62e31b7a959407840fc57b33) - elseif(program STREQUAL "7Z") - set(program_name 7z) - set(paths_to_search "${DOWNLOADS}/tools/7z/Files/7-Zip") - set(download_urls "https://7-zip.org/a/7z1900.msi") - set(download_filename "7z1900.msi") - set(download_sha512 f73b04e2d9f29d4393fde572dcf3c3f0f6fa27e747e5df292294ab7536ae24c239bf917689d71eb10cc49f6b9a4ace26d7c122ee887d93cc935f268c404e9067) - elseif(program STREQUAL "NINJA") - set(program_name ninja) - set(program_version 1.10.2) - set(supported_on_unix ON) - if(CMAKE_HOST_WIN32) - set(download_filename "ninja-win-${program_version}.zip") - set(tool_subdirectory "${program_version}-windows") - set(download_urls "https://github.com/ninja-build/ninja/releases/download/v${program_version}/ninja-win.zip") - set(download_sha512 6004140d92e86afbb17b49c49037ccd0786ce238f340f7d0e62b4b0c29ed0d6ad0bab11feda2094ae849c387d70d63504393714ed0a1f4d3a1f155af7a4f1ba3) - elseif(CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin") - set(download_filename "ninja-mac-${program_version}.zip") - set(download_urls "https://github.com/ninja-build/ninja/releases/download/v${program_version}/ninja-mac.zip") - set(tool_subdirectory "${program_version}-osx") - set(paths_to_search "${DOWNLOADS}/tools/ninja-${program_version}-osx") - set(download_sha512 bcd12f6a3337591306d1b99a7a25a6933779ba68db79f17c1d3087d7b6308d245daac08df99087ff6be8dc7dd0dcdbb3a50839a144745fa719502b3a7a07260b) - elseif(CMAKE_HOST_SYSTEM_NAME STREQUAL "FreeBSD") - set(paths_to_search "${DOWNLOADS}/tools/${tool_subdirectory}-freebsd") - set(supported_on_unix OFF) - else() - set(download_filename "ninja-linux-${program_version}.zip") - set(download_urls "https://github.com/ninja-build/ninja/releases/download/v${program_version}/ninja-linux.zip") - set(tool_subdirectory "${program_version}-linux") - set(paths_to_search "${DOWNLOADS}/tools/ninja-${program_version}-linux") - set(download_sha512 93e802e9c17fb59636cddde4bad1ddaadad624f4ecfee00d5c78790330a4e9d433180e795718cda27da57215ce643c3929cf72c85337ee019d868c56f2deeef3) - endif() - set(version_command --version) - elseif(program STREQUAL "NUGET") - set(program_name nuget) - set(tool_subdirectory "5.11.0") - set(paths_to_search "${DOWNLOADS}/tools/nuget-${tool_subdirectory}-windows") - set(brew_package_name "nuget") - set(download_urls "https://dist.nuget.org/win-x86-commandline/v5.11.0/nuget.exe") - set(rename_binary_to "nuget.exe") - set(download_filename "nuget.5.11.0.exe") - set(raw_executable ON) - set(download_sha512 06a337c9404dec392709834ef2cdbdce611e104b510ef40201849595d46d242151749aef65bc2d7ce5ade9ebfda83b64c03ce14c8f35ca9957a17a8c02b8c4b7) - elseif(program STREQUAL "MESON") - set(program_version 0.58.1) - set(program_name meson) - set(search_names meson meson.py) - set(interpreter PYTHON3) - set(apt_package_name "meson") - set(brew_package_name "meson") - set(ref aeda7f249c4a5dbbecc52e44f382246a2377b5b0) - set(paths_to_search "${DOWNLOADS}/tools/meson/meson-${ref}") - set(download_urls "https://github.com/mesonbuild/meson/archive/${ref}.tar.gz") - set(download_filename "meson-${ref}.tar.gz") - #set(paths_to_search ${DOWNLOADS}/tools/meson/meson-${program_version}) - #set(download_urls "https://github.com/mesonbuild/meson/releases/download/${program_version}/meson-${program_version}.tar.gz") - #set(download_filename "meson-${program_version}.tar.gz") - set(download_sha512 18a012a45274dbb4582e99fd69d920f38831e788d9860f9553c64847bedb1c2010ae0b5c0ef4a4350c03f5e0f95aaa0395378e1208109b59640c1a70b1e202d2) - set(supported_on_unix ON) - set(version_command --version) - set(extra_search_args EXACT_VERSION_MATCH) - elseif(program STREQUAL "FLEX" OR program STREQUAL "BISON") - if(CMAKE_HOST_WIN32) - vcpkg_list(SET sourceforge_args - REPO winflexbison - FILENAME winflexbison-2.5.16.zip - SHA512 0a14154bff5d998feb23903c46961528f8ccb4464375d5384db8c4a7d230c0c599da9b68e7a32f3217a0a0735742242eaf3769cb4f03e00931af8640250e9123 - NO_REMOVE_ONE_LEVEL - WORKING_DIRECTORY "${DOWNLOADS}/tools/winflexbison" - ) - if(program STREQUAL "FLEX") - set(program_name win_flex) - else() - set(program_name win_bison) - endif() - set(paths_to_search ${DOWNLOADS}/tools/winflexbison/0a14154bff-a8cf65db07) - if(NOT EXISTS "${paths_to_search}/data/m4sugar/m4sugar.m4") - file(REMOVE_RECURSE "${paths_to_search}") - endif() - elseif(program STREQUAL "FLEX") - set(program_name flex) - set(apt_package_name flex) - set(brew_package_name flex) - else() - set(program_name bison) - set(apt_package_name bison) - set(brew_package_name bison) - if (APPLE) - set(paths_to_search /usr/local/opt/bison/bin) - endif() - endif() - elseif(program STREQUAL "CLANG") - set(program_name clang) - set(tool_subdirectory "clang-12.0.0") - set(program_version 12.0.0) - if(CMAKE_HOST_WIN32) - set(paths_to_search - # Support LLVM in Visual Studio 2019 - "$ENV{LLVMInstallDir}/x64/bin" - "$ENV{LLVMInstallDir}/bin" - "$ENV{VCINSTALLDIR}/Tools/Llvm/x64/bin" - "$ENV{VCINSTALLDIR}/Tools/Llvm/bin" - "${DOWNLOADS}/tools/${tool_subdirectory}-windows/bin" - "${DOWNLOADS}/tools/clang/${tool_subdirectory}/bin") - - if(DEFINED ENV{PROCESSOR_ARCHITEW6432}) - set(host_arch "$ENV{PROCESSOR_ARCHITEW6432}") - else() - set(host_arch "$ENV{PROCESSOR_ARCHITECTURE}") - endif() - - if(host_arch MATCHES "64") - set(download_urls "https://github.com/llvm/llvm-project/releases/download/llvmorg-${program_version}/LLVM-${program_version}-win64.exe") - set(download_filename "LLVM-${program_version}-win64.7z.exe") - set(download_sha512 67a9b54abad5143fa5f79f0cfc184be1394c9fc894fa9cee709943cb6ccbde8f0ea6003d8fcc20eccf035631abe4009cc0f694ac84e7879331cebba8125e4c7f) - else() - set(download_urls "https://github.com/llvm/llvm-project/releases/download/llvmorg-${program_version}/LLVM-${program_version}-win32.exe") - set(download_filename "LLVM-${program_version}-win32.7z.exe") - set(download_sha512 92fa5252fd08c1414ee6d71e2544cd2c44872124c47225f8d98b3af711d20e699f2888bc30642dfd00e005013da1607a593674fb4878951cc434694f9a119199) - endif() - endif() - set(brew_package_name "llvm") - set(apt_package_name "clang") - elseif(program STREQUAL "GPERF") - set(program_name gperf) - set(program_version 3.0.1) - set(paths_to_search "${DOWNLOADS}/tools/gperf/bin") - set(download_urls "https://sourceforge.net/projects/gnuwin32/files/gperf/${program_version}/gperf-${program_version}-bin.zip/download") - set(download_filename "gperf-${program_version}-bin.zip") - set(download_sha512 3f2d3418304390ecd729b85f65240a9e4d204b218345f82ea466ca3d7467789f43d0d2129fcffc18eaad3513f49963e79775b10cc223979540fa2e502fe7d4d9) - elseif(program STREQUAL "GASPREPROCESSOR") - set(raw_executable true) - set(program_name gas-preprocessor) - set(tool_subdirectory "4daa6115") - set(interpreter PERL) - set(search_names "gas-preprocessor.pl") - set(paths_to_search "${DOWNLOADS}/tools/gas-preprocessor/${tool_subdirectory}") - set(rename_binary_to "gas-preprocessor.pl") - set(download_urls "https://raw.githubusercontent.com/FFmpeg/gas-preprocessor/4daa611556a0558dfe537b4f7ad80f7e50a079c1/gas-preprocessor.pl") - set(download_filename "gas-preprocessor-${tool_subdirectory}.pl") - set(download_sha512 2737ba3c1cf85faeb1fbfe015f7bad170f43a857a50a1b3d81fa93ba325d481f73f271c5a886ff8b7eef206662e19f0e9ef24861dfc608b67b8ea8a2062dc061) - elseif(program STREQUAL "DARK") - set(program_name dark) - set(tool_subdirectory "wix311-binaries") - set(paths_to_search "${DOWNLOADS}/tools/dark/${tool_subdirectory}") - set(download_urls "https://github.com/wixtoolset/wix3/releases/download/wix311rtm/wix311-binaries.zip") - set(download_filename "wix311-binaries.zip") - set(download_sha512 74f0fa29b5991ca655e34a9d1000d47d4272e071113fada86727ee943d913177ae96dc3d435eaf494d2158f37560cd4c2c5274176946ebdb17bf2354ced1c516) - elseif(program STREQUAL "SCONS") - set(program_name scons) - set(program_version 4.1.0) - set(tool_subdirectory "${program_version}") - set(interpreter PYTHON2) - set(search_names "scons.py") - set(download_urls "https://sourceforge.net/projects/scons/files/scons-local-${program_version}.zip/download") - set(download_filename "scons-local-${program_version}.zip") - set(download_sha512 b173176ce8aca25039c64fcc68ec1b9ad31e03a926fd545e7631b3f9b374d914adffc593f505e3e7e2867b0ffe85e8deb0b39afe314edf05d02974ce5db1badb) - elseif(program STREQUAL "SWIG") - set(program_version 4.0.2) - set(program_name swig) - if(CMAKE_HOST_WIN32) - vcpkg_list(SET sourceforge_args - REPO swig/swigwin - REF "swigwin-${program_version}" - FILENAME "swigwin-${program_version}.zip" - SHA512 b8f105f9b9db6acc1f6e3741990915b533cd1bc206eb9645fd6836457fd30789b7229d2e3219d8e35f2390605ade0fbca493ae162ec3b4bc4e428b57155db03d - NO_REMOVE_ONE_LEVEL - WORKING_DIRECTORY "${DOWNLOADS}/tools/swig" - ) - set(tool_subdirectory "b8f105f9b9-f0518bc3b7/swigwin-${program_version}") - else() - set(apt_package_name "swig") - set(brew_package_name "swig") - endif() - - elseif(program STREQUAL "DOXYGEN") - set(program_name doxygen) - set(program_version 1.9.1) - vcpkg_list(SET sourceforge_args - REPO doxygen - REF "rel-${program_version}" - FILENAME "doxygen-${program_version}.windows.bin.zip" - SHA512 c3eeb6b9fa4eab70fb6b0864fbbf94fb8050f3fee38d117cf470921a80e3569cc1c8b0272604d6731e05f01790cfaa70e159bec5d0882fc4f2d8ae4a5d52a21b - NO_REMOVE_ONE_LEVEL - WORKING_DIRECTORY "${DOWNLOADS}/tools/doxygen" - ) - set(tool_subdirectory c3eeb6b9fa-76d69c6db5) - elseif(program STREQUAL "BAZEL") - set(program_name bazel) - set(program_version 4.1.0) - set(rename_binary_to "bazel") - if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Linux") - set(supported_on_unix ON) - set(tool_subdirectory "${program_version}-linux") - set(download_urls "https://github.com/bazelbuild/bazel/releases/download/${program_version}/bazel-${tool_subdirectory}-x86_64") - set(download_filename "bazel-${tool_subdirectory}-x86_64") - set(raw_executable ON) - set(download_sha512 50aa0894dbeedb9189a56f17baa8cecfa55c5f9c1f93a61b9ab5e10984754a400884fc9802b4979f536778e15f813a72807396b4b47694e4c05eadb841361c69) - elseif(CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin") - set(supported_on_unix ON) - set(tool_subdirectory "${program_version}-darwin") - set(download_urls "https://github.com/bazelbuild/bazel/releases/download/${program_version}/bazel-${tool_subdirectory}-x86_64") - set(download_filename "bazel-${tool_subdirectory}-x86_64") - set(raw_executable ON) - set(download_sha512 3500560c9d49d37a1ead2d2777d673c6f1874582883e141ecd5b3991005b1b6b8aab5f255c187133d771497c2a956f5c1e0dfad04dc453525634537e65b649af) - else() - set(tool_subdirectory "${program_version}-windows") - set(download_urls "https://github.com/bazelbuild/bazel/releases/download/${program_version}/bazel-${tool_subdirectory}-x86_64.zip") - set(download_filename "bazel-${tool_subdirectory}-x86_64.zip") - set(download_sha512 3954ab54b465d62eef397767dac7ce21d06ac8ea3e1571d0e7b1f0ea8b5c2cf44eea5d252b85a63a1e1a08dbe9a219783cc23c2888673c35e2df03edfdc9e5a7) - endif() - elseif(program STREQUAL "ARIA2") - set(program_name aria2c) - set(program_version 1.35.0) - set(paths_to_search "${DOWNLOADS}/tools/aria2c/aria2-${program_version}-win-32bit-build1") - set(download_urls "https://github.com/aria2/aria2/releases/download/release-${program_version}/aria2-${program_version}-win-32bit-build1.zip") - set(download_filename "aria2-${program_version}-win-32bit-build1.zip") - set(download_sha512 933537cad820b1cecf43a9eeca7e1b241dd7b1c902ee942441a166f2c38845f16046321efbdfa2f83c7e9fc50c7ecc5da6fd00e0c6e2124c07d3b783aa5092a4) - elseif(program STREQUAL "PKGCONFIG") - set(program_name pkg-config) - if(DEFINED ENV{PKG_CONFIG}) - debug_message(STATUS "PKG_CONFIG found in ENV! Using $ENV{PKG_CONFIG}") - set(PKGCONFIG "$ENV{PKG_CONFIG}" CACHE INTERNAL "") - set(PKGCONFIG "${PKGCONFIG}" PARENT_SCOPE) - return() - elseif(CMAKE_HOST_SYSTEM_NAME STREQUAL "OpenBSD") - # As of 6.8, the OpenBSD specific pkg-config doesn't support {pcfiledir} - set(supported_on_unix ON) - set(rename_binary_to "pkg-config") - set(program_version 0.29.2.1) - set(raw_executable ON) - set(download_filename "pkg-config.openbsd") - set(tool_subdirectory "openbsd") - set(download_urls "https://raw.githubusercontent.com/jgilje/pkg-config-openbsd/master/pkg-config") - set(download_sha512 b7ec9017b445e00ae1377e36e774cf3f5194ab262595840b449832707d11e443a102675f66d8b7e8b2e2f28cebd6e256835507b1e0c69644cc9febab8285080b) - set(version_command --version) - elseif(CMAKE_HOST_WIN32) - if(NOT EXISTS "${PKGCONFIG}") - set(VERSION 0.29.2-2) - set(program_version git-8.0.0.5906.c9a21571-1) - vcpkg_acquire_msys( - PKGCONFIG_ROOT - NO_DEFAULT_PACKAGES - DIRECT_PACKAGES - "https://repo.msys2.org/mingw/i686/mingw-w64-i686-pkg-config-${VERSION}-any.pkg.tar.zst" - 54f8dad3b1a36a4515db47825a3214fbd2bd82f604aec72e7fb8d79068095fda3c836fb2296acd308522d6e12ce15f69e0c26dcf4eb0681fd105d057d912cdb7 - "https://repo.msys2.org/mingw/i686/mingw-w64-i686-libwinpthread-${program_version}-any.pkg.tar.zst" - 2c3d9e6b2eee6a4c16fd69ddfadb6e2dc7f31156627d85845c523ac85e5c585d4cfa978659b1fe2ec823d44ef57bc2b92a6127618ff1a8d7505458b794f3f01c - ) - endif() - set("${program}" "${PKGCONFIG_ROOT}/mingw32/bin/pkg-config.exe" CACHE INTERNAL "") - set("${program}" "${${program}}" PARENT_SCOPE) - return() - else() - set(brew_package_name pkg-config) - set(apt_package_name pkg-config) - set(paths_to_search "/bin" "/usr/bin" "/usr/local/bin") - endif() + set(program_information "${CMAKE_CURRENT_FUNCTION_LIST_DIR}/vcpkg_find_acquire_program(${program}).cmake") + if(program MATCHES "^[A-Z0-9]+\$" AND EXISTS "${program_information}") + include("${program_information}") else() - message(FATAL "unknown tool ${program} -- unable to acquire.") + message(FATAL_ERROR "unknown tool ${program} -- unable to acquire.") endif() if("${program_name}" STREQUAL "") @@ -599,7 +156,7 @@ function(vcpkg_find_acquire_program program) ) endif() if(NOT ${program}) - if(NOT VCPKG_HOST_IS_WINDOWS AND NOT supported_on_unix) + if("${download_urls}" STREQUAL "" AND "${sourceforge_args}" STREQUAL "") set(example ".") if(NOT "${brew_package_name}" STREQUAL "" AND VCPKG_HOST_IS_OSX) set(example ":\n brew install ${brew_package_name}") @@ -609,66 +166,50 @@ function(vcpkg_find_acquire_program program) message(FATAL_ERROR "Could not find ${program_name}. Please install it via your package manager${example}") endif() - if(NOT "${sourceforge_args}" STREQUAL "") - # Locally change editable to suppress re-extraction each time - set(_VCPKG_EDITABLE 1) - vcpkg_from_sourceforge(OUT_SOURCE_PATH SFPATH ${sourceforge_args}) - unset(_VCPKG_EDITABLE) - else() + if("${sourceforge_args}" STREQUAL "") vcpkg_download_distfile(archive_path URLS ${download_urls} SHA512 "${download_sha512}" FILENAME "${download_filename}" ) - + else() + vcpkg_download_sourceforge(archive_path + ${sourceforge_args} + SHA512 "${download_sha512}" + FILENAME "${download_filename}" + ) + endif() + if(raw_executable) file(MAKE_DIRECTORY "${full_subdirectory}") - if(raw_executable) - if(NOT "${rename_binary_to}" STREQUAL "") - file(INSTALL "${archive_path}" - DESTINATION "${full_subdirectory}" - RENAME "${rename_binary_to}" - FILE_PERMISSIONS - OWNER_READ OWNER_WRITE OWNER_EXECUTE - GROUP_READ GROUP_EXECUTE - WORLD_READ WORLD_EXECUTE - ) - else() - file(COPY "${archive_path}" - DESTINATION "${full_subdirectory}" - FILE_PERMISSIONS - OWNER_READ OWNER_WRITE OWNER_EXECUTE - GROUP_READ GROUP_EXECUTE - WORLD_READ WORLD_EXECUTE - ) - endif() + if("${rename_binary_to}" STREQUAL "") + file(COPY "${archive_path}" + DESTINATION "${full_subdirectory}" + FILE_PERMISSIONS + OWNER_READ OWNER_WRITE OWNER_EXECUTE + GROUP_READ GROUP_EXECUTE + WORLD_READ WORLD_EXECUTE + ) else() - cmake_path(GET download_filename EXTENSION archive_extension) - string(TOLOWER "${archive_extension}" archive_extension) - if("${archive_extension}" MATCHES [[\.msi$]]) - cmake_path(NATIVE_PATH archive_path archive_native_path) - cmake_path(NATIVE_PATH full_subdirectory destination_native_path) - vcpkg_execute_in_download_mode( - COMMAND msiexec - /a "${archive_native_path}" - /qn "TARGETDIR=${destination_native_path}" - WORKING_DIRECTORY "${DOWNLOADS}" - ) - elseif("${archive_extension}" MATCHES [[\.7z\.exe$]]) - vcpkg_find_acquire_program(7Z) - vcpkg_execute_in_download_mode( - COMMAND ${7Z} x - "${archive_path}" - "-o${full_subdirectory}" - -y -bso0 -bsp0 - WORKING_DIRECTORY "${full_subdirectory}" - ) - else() - vcpkg_execute_in_download_mode( - COMMAND "${CMAKE_COMMAND}" -E tar xzf "${archive_path}" - WORKING_DIRECTORY "${full_subdirectory}" - ) - endif() + file(INSTALL "${archive_path}" + DESTINATION "${full_subdirectory}" + RENAME "${rename_binary_to}" + FILE_PERMISSIONS + OWNER_READ OWNER_WRITE OWNER_EXECUTE + GROUP_READ GROUP_EXECUTE + WORLD_READ WORLD_EXECUTE + ) endif() + elseif(tool_subdirectory STREQUAL "") + # The effective tool subdir is owned by the extracted paths of the archive. + # *** This behavior is provided for convenience and short paths. *** + # There must be no overlap between different providers of subdirs. + # Otherwise tool_subdirectory must be used in order to separate extracted trees. + file(REMOVE_RECURSE "${full_subdirectory}.temp") + vcpkg_extract_archive(ARCHIVE "${archive_path}" DESTINATION "${full_subdirectory}.temp") + file(COPY "${full_subdirectory}.temp/" DESTINATION "${full_subdirectory}") + file(REMOVE_RECURSE "${full_subdirectory}.temp") + else() + vcpkg_extract_archive(ARCHIVE "${archive_path}" DESTINATION "${full_subdirectory}") endif() if(NOT "${post_install_command}" STREQUAL "") diff --git a/scripts/cmake/vcpkg_find_fortran.cmake b/scripts/cmake/vcpkg_find_fortran.cmake index c50497629277a9..f2e044f09d9088 100644 --- a/scripts/cmake/vcpkg_find_fortran.cmake +++ b/scripts/cmake/vcpkg_find_fortran.cmake @@ -1,25 +1,4 @@ -#[===[.md: -# vcpkg_find_fortran - -Checks if a Fortran compiler can be found. -Windows(x86/x64) Only: If not it will switch/enable MinGW gfortran - and return required cmake args for building. - -## Usage -```cmake -vcpkg_find_fortran() -``` - -## Example -```cmake -vcpkg_find_fortran(fortran_args) -# ... -vcpkg_configure_cmake(... - OPTIONS - ${fortran_args} -) -``` -#]===] +list(APPEND Z_VCPKG_ACQUIRE_MSYS_DECLARE_PACKAGE_COMMANDS "z_vcpkg_find_fortran_declare_msys_packages") function(vcpkg_find_fortran out_var) if("${ARGC}" GREATER "1") @@ -31,88 +10,31 @@ function(vcpkg_find_fortran out_var) set(CMAKE_BINARY_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}") set(CMAKE_CURRENT_BINARY_DIR "${CMAKE_BINARY_DIR}") set(CMAKE_PLATFORM_INFO_DIR "${CMAKE_BINARY_DIR}/Platform") + macro(z_vcpkg_warn_ambiguous_system_variables) + # CMakeDetermineFortranCompiler is for project mode. + endmacro() include(CMakeDetermineFortranCompiler) if(NOT CMAKE_Fortran_COMPILER AND "${VCPKG_CHAINLOAD_TOOLCHAIN_FILE}" STREQUAL "") # If a user uses their own VCPKG_CHAINLOAD_TOOLCHAIN_FILE, they _must_ figure out fortran on their own. - if(WIN32) + if(CMAKE_HOST_WIN32) message(STATUS "No Fortran compiler found on the PATH. Using MinGW gfortran!") # If no Fortran compiler is on the path we switch to use gfortan from MinGW within vcpkg if("${VCPKG_TARGET_ARCHITECTURE}" STREQUAL "x86") set(mingw_path mingw32) set(machine_flag -m32) vcpkg_acquire_msys(msys_root - DIRECT_PACKAGES - "https://repo.msys2.org/mingw/i686/mingw-w64-i686-gcc-fortran-10.2.0-1-any.pkg.tar.zst" - ddbdaf9ea865181e16a0931b2ec88c2dcef8add34628e479c7b9de4fa2ccb22e09c7239442e58702e0acd3adabc920565e976984f2bcd90a3668bf7f48a245f1 - "https://repo.msys2.org/mingw/i686/mingw-w64-i686-gcc-libgfortran-10.2.0-1-any.pkg.tar.zst" - 150f355085fcf4c54e8bce8f7f08b90fea9ca7e1f32cff0a2e495faa63cf7723f4bf935f0f4ec77c8dd2ba710ceaed88694cb3da71def5e2088dd65e13c9b002 - "https://repo.msys2.org/mingw/i686/mingw-w64-i686-gcc-libs-10.2.0-1-any.pkg.tar.zst" - 113d8b3b155ea537be8b99688d454f781d70c67c810c2643bc02b83b332d99bfbf3a7fcada6b927fda67ef02cf968d4fdf930466c5909c4338bda64f1f3f483e - "https://repo.msys2.org/mingw/i686/mingw-w64-i686-gmp-6.2.0-1-any.pkg.tar.xz" - 37747f3f373ebff1a493f5dec099f8cd6d5abdc2254d9cd68a103ad7ba44a81a9a97ccaba76eaee427b4d67b2becb655ee2c379c2e563c8051b6708431e3c588 - "https://repo.msys2.org/mingw/i686/mingw-w64-i686-libwinpthread-git-8.0.0.5906.c9a21571-1-any.pkg.tar.zst" - 2c3d9e6b2eee6a4c16fd69ddfadb6e2dc7f31156627d85845c523ac85e5c585d4cfa978659b1fe2ec823d44ef57bc2b92a6127618ff1a8d7505458b794f3f01c - "https://repo.msys2.org/mingw/i686/mingw-w64-i686-winpthreads-git-8.0.0.5906.c9a21571-1-any.pkg.tar.zst" - e87ad4f4071c6b5bba3b13a85abf6657bb494b73c57ebe65bc5a92e2cef1d9de354e6858d1338ee72809e3dc742ba69ce090aaad4560ae1d3479a61dbebf03c6 - "https://repo.msys2.org/mingw/i686/mingw-w64-i686-mpc-1.1.0-1-any.pkg.tar.xz" - d236b815ec3cf569d24d96a386eca9f69a2b1e8af18e96c3f1e5a4d68a3598d32768c7fb3c92207ecffe531259822c1a421350949f2ffabd8ee813654f1af864 - "https://repo.msys2.org/mingw/i686/mingw-w64-i686-mpfr-4.1.0-2-any.pkg.tar.zst" - caac5cb73395082b479597a73c7398bf83009dbc0051755ef15157dc34996e156d4ed7881ef703f9e92861cfcad000888c4c32e4bf38b2596c415a19aafcf893 - "https://repo.msys2.org/mingw/i686/mingw-w64-i686-gcc-10.2.0-1-any.pkg.tar.zst" - 3085e744e716301ba8e4c8a391ab09c2d51e587e0a2df5dab49f83b403a32160f8d713cf1a42c1d962885b4c6ee3b6ed36ef40de15c4be2b69dbc3f12f974c3c - "https://repo.msys2.org/mingw/i686/mingw-w64-i686-binutils-2.34-3-any.pkg.tar.zst" - ff06b2adebe6e9b278b63ca5638ff704750a346faad1cdc40089431b0a308edb6f2a131815e0577673a19878ec1bd8d5a4fa592aa227de769496c1fd3aedbc85 - "https://repo.msys2.org/mingw/i686/mingw-w64-i686-crt-git-8.0.0.5966.f5da805f-1-any.pkg.tar.zst" - 120c943ce173719e48400fa18299f3458bc9db4cf18bb5a4dda8a91cc3f816510b337a92f7388077c65b50bbbeae9078793891ceaad631d780b10fde19ad3649 - "https://repo.msys2.org/mingw/i686/mingw-w64-i686-headers-git-8.0.0.5966.f5da805f-1-any.pkg.tar.zst" - dbb9f8258da306a3441f9882faa472c3665a67b2ea68657f3e8a1402dcfacf9787a886a3daf0eefe4946f04557bc166eb15b21c1093ad85c909002daadba1923 - "https://repo.msys2.org/mingw/i686/mingw-w64-i686-libiconv-1.16-2-any.pkg.tar.zst" - fe48d0d3c582fee1edb178425c6daf619d86362442c729047b3c356be26491164f92be1d87950429d2faca4ed3cf76cb4aafef1af3c87b780eee85ee85a4b4c5 - "https://repo.msys2.org/mingw/i686/mingw-w64-i686-windows-default-manifest-6.4-3-any.pkg.tar.xz" - 5b99abc55eaa74cf85ca64a9c91542554cb5c1098bc71effba9bd36242694cfd348503fcd3507fb9ba97486108c092c925e2f38cd744493386b3dc9ab28bc526 - "https://repo.msys2.org/mingw/i686/mingw-w64-i686-zlib-1.2.11-8-any.pkg.tar.zst" - 46bbf0f28d9faf047221def19e6f94b9556fc6c951cad9c4fb657fde9d15303b9cb64aad11eaa57892cde49eafb43fbe2ec6da6b612449a20ae49dc8233e945b - "https://repo.msys2.org/mingw/i686/mingw-w64-i686-zstd-1.4.5-1-any.pkg.tar.zst" - 68f431073717b59549ab0fd26be8df8afcb43f3dd85be2ffcbc7d1a629999eed924656a7fc3f50937b2e6605a5067542d016181106b7bc3408b89b268ced5d23 + NO_DEFAULT_PACKAGES + Z_DECLARE_EXTRA_PACKAGES_COMMAND "z_vcpkg_find_fortran_msys_declare_packages" + PACKAGES mingw-w64-i686-gcc-fortran ) elseif("${VCPKG_TARGET_ARCHITECTURE}" STREQUAL "x64") set(mingw_path mingw64) set(machine_flag -m64) vcpkg_acquire_msys(msys_root - DIRECT_PACKAGES - "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-gcc-fortran-10.2.0-1-any.pkg.tar.zst" - 0de02db791e978ae21577e675ee9676f741336c9a5ceb5614dbdfc793e2c1c4749b394f41362af7b069e970302fddf8c6772ebd8445fe1c360861606b1784b4d - "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-gcc-libgfortran-10.2.0-1-any.pkg.tar.zst" - c2dee2957356fa51aae39d907d0cc07f966028b418f74a1ea7ea551ff001c175d86781f980c0cf994207794322dcd369fa122ab78b6c6d0f0ab01e39a754e780 - "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-gcc-libs-10.2.0-1-any.pkg.tar.zst" - d17eff08c83d08ef020d999a2ead0d25036ada1c1bf6ed7c02bad9b56840ee5a3304acd790d86f52b83b09c1e788f0cecdf7254dc6760c3c7e478f65882cd32d - "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-gmp-6.2.0-1-any.pkg.tar.xz" - 0b22b7363e27cec706eb79ee0c45b5fe7088a5ca69e0868e7366481ed2ea9b3f6623d340cebba0b5ed3d79e4dfc7cf15f53530eb260c6d4057bfc3d92eb8c7bc - "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-libwinpthread-git-8.0.0.5906.c9a21571-1-any.pkg.tar.zst" - a6969a5db1c55ba458c1a047d0a2a9d2db6cc24266ea47f740598b149a601995d2de734a0984ac5e57ee611d5982cbc03fd6fc0f498435e8d6401bf15724caad - "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-winpthreads-git-8.0.0.5906.c9a21571-1-any.pkg.tar.zst" - 87ae090a8de855de5580f158f4007f88d6dad341429620685dc736be55b1f060487552040327a76003618e214a11c1f8e5105ca2c7abe164908121627449d679 - "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-mpc-1.1.0-1-any.pkg.tar.xz" - db075a1406690935db5780af293660385f56699881a1b2cd25ab252183643d71d646b0dadf1e34174df8f0744d51ce8b56dccd719e049efcaf9b7e08e80a7ef6 - "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-mpfr-4.1.0-2-any.pkg.tar.zst" - 14739667242b8852f0d26547eb3297899a51fd1edafc7101b4e7489273e1efb9cb8422fc067361e3c3694c2afcc6c49fc89537f9f811ad5b9b595873112ee890 - "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-gcc-10.2.0-1-any.pkg.tar.zst" - 7a08c7923f688ca8f06d55e1e91b9059a933ee56e27075ea073e6e58ae220310fb5f79869886a61b6987ab08993c9f962a4bfc50b6ea80473e933ce5551f3930 - "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-binutils-2.34-3-any.pkg.tar.zst" - 4efd5586c344802110ea0061867469a23571df88529d66a943f86add1287f85ef53b6a9a9b16af2cb67bd09e0760a6f290c3b04ba70c0d5861d8a9f79f0ac209 - "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-crt-git-8.0.0.5966.f5da805f-1-any.pkg.tar.zst" - 0142e4a44c59d17380a4fc7b101a2152486781621d5f9f930045b8f9c4bb2c93ea88211e7d8f8f233e0ae09595c6c8bc948ae80b9673f231e715b0d04c8a1e54 - "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-headers-git-8.0.0.5966.f5da805f-1-any.pkg.tar.zst" - b547091a45ea7df8182b627edc9a7c91a23f01c0d4e02634a590c02f24311741cad92ceb67b7e4432ffbe4266f135a5289eb3560cc90ffa5c57612c8537a1588 - "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-libiconv-1.16-2-any.pkg.tar.zst" - 542ed5d898a57a79d3523458f8f3409669b411f87d0852bb566d66f75c96422433f70628314338993461bcb19d4bfac4dadd9d21390cb4d95ef0445669288658 - "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-windows-default-manifest-6.4-3-any.pkg.tar.xz" - 77d02121416e42ff32a702e21266ce9031b4d8fc9ecdb5dc049d92570b658b3099b65d167ca156367d17a76e53e172ca52d468e440c2cdfd14701da210ffea37 - "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-zlib-1.2.11-8-any.pkg.tar.zst" - f40dde3216185e945baf51c29bbf8d1947220593901f982c711a663bb5a303efe434a4f6cf0c885817812fdc81183bcc1a240b96c29abb24a4c83202fd15016e - "https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-zstd-1.4.5-1-any.pkg.tar.zst" - dc2c7289fb206966829c98f6bf4389b423784415532ca3d627a22ae9d756a4fe2faf9844994b3093d814d129d20b2b79897e702aa9569978f58431ea66b55feb + NO_DEFAULT_PACKAGES + Z_DECLARE_EXTRA_PACKAGES_COMMAND "z_vcpkg_find_fortran_msys_declare_packages" + PACKAGES mingw-w64-x86_64-gcc-fortran ) else() message(FATAL_ERROR "Unknown architecture '${VCPKG_TARGET_ARCHITECTURE}' for MinGW Fortran build!") @@ -145,3 +67,149 @@ function(vcpkg_find_fortran out_var) endif() set("${out_var}" "${additional_cmake_args}" PARENT_SCOPE) endfunction() + +macro(z_vcpkg_find_fortran_msys_declare_packages) + # primary package for x86 + z_vcpkg_acquire_msys_declare_package( + URL "https://mirror.msys2.org/mingw/mingw32/mingw-w64-i686-gcc-fortran-14.2.0-1-any.pkg.tar.zst" + SHA512 9de2c2de35519eecdf2b7fb8aed129e1f948663cc0ff8de3ec2da5159de2e9170e25de178a46f600cc1bde8fbbd80354840edf9ad45f22272dd8004a9cfc0e71 + PROVIDES mingw-w64-i686-fc + DEPS mingw-w64-i686-gcc mingw-w64-i686-gcc-libgfortran + ) + z_vcpkg_acquire_msys_declare_package( + URL "https://mirror.msys2.org/mingw/mingw32/mingw-w64-i686-binutils-2.43.1-1-any.pkg.tar.zst" + SHA512 4ed8955e587162acd66ecbb3aeee0b990d3e3d9056139f6636a0d291220d41871848bd1f3069d7f9cf4eac7324760f0a34b38e2301042af9293dc70c12433aa1 + DEPS mingw-w64-i686-gettext-runtime mingw-w64-i686-zlib mingw-w64-i686-zstd + ) + z_vcpkg_acquire_msys_declare_package( + URL "https://mirror.msys2.org/mingw/mingw32/mingw-w64-i686-crt-git-12.0.0.r351.gcdf6b16b8-1-any.pkg.tar.zst" + SHA512 4a8d69cd68944e9439eb531026393663989b7ef62c6f3e8f8b855a74932fc5c09eceeb08acc5ed76781217487040c4f490838ca4cc988474c4d05f7122f69a3d + PROVIDES mingw-w64-i686-crt + DEPS mingw-w64-i686-headers-git + ) + z_vcpkg_acquire_msys_declare_package( + URL "https://mirror.msys2.org/mingw/mingw32/mingw-w64-i686-gcc-14.2.0-1-any.pkg.tar.zst" + SHA512 6ae166f2b0c1bb63f9c28f1bf6ef6821453eb392bb628ab610a36027a51daae56e983f75f2dedc5e27e46d9024ea14f0f44a436f24f0300877af7455e21015f4 + PROVIDES mingw-w64-i686-gcc-base mingw-w64-i686-cc + DEPS mingw-w64-i686-binutils mingw-w64-i686-crt mingw-w64-i686-gcc-libs mingw-w64-i686-gmp mingw-w64-i686-headers mingw-w64-i686-isl mingw-w64-i686-libiconv mingw-w64-i686-mpc mingw-w64-i686-mpfr mingw-w64-i686-windows-default-manifest mingw-w64-i686-winpthreads mingw-w64-i686-zlib mingw-w64-i686-zstd + ) + z_vcpkg_acquire_msys_declare_package( + URL "https://mirror.msys2.org/mingw/mingw32/mingw-w64-i686-gcc-libgfortran-14.2.0-1-any.pkg.tar.zst" + SHA512 d0ca414b78be235ef8a16e1d2c78d7aeb17d09dacf0a4af2cf91bef081790cfc7442ea6dd9109209b81d9074b9c65cafd33f363b9d2186ee2ba663d6bae8fca3 + PROVIDES mingw-w64-i686-fc-libs + DEPS mingw-w64-i686-gcc-libs + ) + z_vcpkg_acquire_msys_declare_package( + URL "https://mirror.msys2.org/mingw/mingw32/mingw-w64-i686-gcc-libs-14.2.0-1-any.pkg.tar.zst" + SHA512 4c884c3fa9edc042054e5ddb7bf6d9448182263f108ebffcc12f468f39d886ec75faab9ba260531d8d37676db7756e86ea5ea66dc793b4673246444546576f75 + PROVIDES mingw-w64-i686-omp + DEPS mingw-w64-i686-libwinpthread + ) + z_vcpkg_acquire_msys_declare_package( + URL "https://mirror.msys2.org/mingw/mingw32/mingw-w64-i686-gettext-runtime-0.22.5-2-any.pkg.tar.zst" + SHA512 5835cba4839a154bd850410b7ff8157fe5e3c6744585acf572fb1b045339839d5426643951c210fe58f26eb588c9a4d6492aae1286db8f864d8c9d74ae686dd7 + DEPS mingw-w64-i686-gcc-libs mingw-w64-i686-libiconv + ) + z_vcpkg_acquire_msys_declare_package( + URL "https://mirror.msys2.org/mingw/mingw32/mingw-w64-i686-gmp-6.3.0-2-any.pkg.tar.zst" + SHA512 4a9e0ace05ea441fe6cd69b1b1af4c29e35727069ab1f22d0da7febc7aaba219502b5b4dea8b1aa070cb2c8b731da112429c3339fd03fe77828d9fa262b4a818 + ) + z_vcpkg_acquire_msys_declare_package( + URL "https://mirror.msys2.org/mingw/mingw32/mingw-w64-i686-headers-git-12.0.0.r351.gcdf6b16b8-1-any.pkg.tar.zst" + SHA512 5d2c83f6c5bc8b19154c60508ff127ddd7c8b220ece335c9178c63a34b43630cc68dfa007be38a736052dd76e0c2d42ec57a3cfe06dd46cf5a963667385acd83 + PROVIDES mingw-w64-i686-headers + ) + z_vcpkg_acquire_msys_declare_package( + URL "https://mirror.msys2.org/mingw/mingw32/mingw-w64-i686-isl-0.27-1-any.pkg.tar.zst" + SHA512 070e87552aa0ce77bb9db3b6104c7a3b0d9b5f3515dffc5d03d586693661a9c4681d54ffa6209203bdd568cf111ecae2b26df7472cf40144d6537d655d01b178 + DEPS mingw-w64-i686-gmp + ) + z_vcpkg_acquire_msys_declare_package( + URL "https://mirror.msys2.org/mingw/mingw32/mingw-w64-i686-libiconv-1.17-4-any.pkg.tar.zst" + SHA512 7b8c0861fe404e6a94e19e2f539c8b8eebd438ebd453960655478109c22cb1ace689031a5fc2ed2430df7bb204f83989726ea3552a58f7c323b150bb3f117578 + ) + z_vcpkg_acquire_msys_declare_package( + URL "https://mirror.msys2.org/mingw/mingw32/mingw-w64-i686-libwinpthread-git-12.0.0.r351.gcdf6b16b8-1-any.pkg.tar.zst" + SHA512 3ea114a921a8bc10fcc4541b95a50280ec6ecf1ac605a3042f9d74e887c216d5c575621900ed1d4ee84c3e71b32ea16c6e4a7912279c0aef0966f230ad912c32 + PROVIDES mingw-w64-i686-libwinpthread + ) + z_vcpkg_acquire_msys_declare_package( + URL "https://mirror.msys2.org/mingw/mingw32/mingw-w64-i686-mpc-1.3.1-2-any.pkg.tar.zst" + SHA512 936acdedea20b9892f90ebdb0b75250d1ed3d65487316ee986b8672683b01d4e1f2922387f18ea8d6befb71bf273995d4940ff55b645d07996c98bd50c9382ae + DEPS mingw-w64-i686-gmp mingw-w64-i686-mpfr + ) + z_vcpkg_acquire_msys_declare_package( + URL "https://mirror.msys2.org/mingw/mingw32/mingw-w64-i686-mpfr-4.2.1-2-any.pkg.tar.zst" + SHA512 0de842b6c3b68c0f743aa4d4a08ca2c9c3f1a1cb426950365e885a55add3966eb545a0634177857e077545ae97950acd49613768bdc13305f08041637e27f8f6 + DEPS mingw-w64-i686-gcc-libs mingw-w64-i686-gmp + ) + z_vcpkg_acquire_msys_declare_package( + URL "https://mirror.msys2.org/mingw/mingw32/mingw-w64-i686-windows-default-manifest-6.4-4-any.pkg.tar.zst" + SHA512 103f8437e13fb2a839c5eb89f49f5888c71f7934771cf3b2dcca46d520277fe7f7d4841c9d415b454a6a581c6d1f806d6be7f614027df0484f2642ef2563e889 + ) + z_vcpkg_acquire_msys_declare_package( + URL "https://mirror.msys2.org/mingw/mingw32/mingw-w64-i686-winpthreads-git-12.0.0.r351.gcdf6b16b8-1-any.pkg.tar.zst" + SHA512 b0b06d20bbb2115ef3e19e27f906eca5aba3847ea6a39b234b55e71b231bf32ce401fe9a14bd4729dab06e4cf103469b868ee55f80fb9ca6655877d0bcb513fe + PROVIDES mingw-w64-i686-winpthreads + DEPS mingw-w64-i686-crt-git mingw-w64-i686-libwinpthread-git + ) + z_vcpkg_acquire_msys_declare_package( + URL "https://mirror.msys2.org/mingw/mingw32/mingw-w64-i686-zlib-1.3.1-1-any.pkg.tar.zst" + SHA512 881cf37f59bfbc3d8a6a6d16226360b63cf3d5abc82bb25fa1d9f871aa3e620fa22a8ae6b0cec619633d08550b72ad289f16b75d5819e3e117de0607125b0140 + ) + z_vcpkg_acquire_msys_declare_package( + URL "https://mirror.msys2.org/mingw/mingw32/mingw-w64-i686-zstd-1.5.6-2-any.pkg.tar.zst" + SHA512 bc25f705ed77f3bdbc31ef6870d9cfe4a9e78cb62bc6938f326fb91ca30b9594bb73f2c23ae08532d1cd81b69ed9a0f56e1408454cd3c04204d4ead8d7c67764 + DEPS mingw-w64-i686-gcc-libs + ) + + # primary package for x64 + z_vcpkg_acquire_msys_declare_package( + URL "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-gcc-fortran-14.2.0-1-any.pkg.tar.zst" + SHA512 4fdcc70f8620e9963391b09d9a9d26bc7af72ae74630f67706115492085a03288865de0cb51b84ccb9eacac502d0030aeb024cabb2b78d24a3473315abd86bc3 + PROVIDES mingw-w64-x86_64-fc + DEPS mingw-w64-x86_64-gcc mingw-w64-x86_64-gcc-libgfortran + ) + z_vcpkg_acquire_msys_declare_package( + URL "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-binutils-2.43.1-1-any.pkg.tar.zst" + SHA512 39bf1d334d6618be851b1acf59ea1f9ef282d6cc22e9d60d40d37730a936b2226e5cfd9f4a9d5c7cd4cf0e3c314cdef6f4eecff62f2150533b5d70a50cf31e41 + DEPS mingw-w64-x86_64-gettext-runtime mingw-w64-x86_64-zlib mingw-w64-x86_64-zstd + ) + z_vcpkg_acquire_msys_declare_package( + URL "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-crt-git-12.0.0.r351.gcdf6b16b8-1-any.pkg.tar.zst" + SHA512 6c2abf10485e027947b5cf108e9299c57f20e56a9f236125bdaa1ee6074e6258e8296b6f4c297ae6a1b9c3c21e7d1d36aaf2579ab34530e499a4a54f8216d2f4 + PROVIDES mingw-w64-x86_64-crt + DEPS mingw-w64-x86_64-headers-git + ) + z_vcpkg_acquire_msys_declare_package( + URL "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-gcc-14.2.0-1-any.pkg.tar.zst" + SHA512 bbf70beb6953e0a076d55e577d195fbde1e00132695464e6c1769b8f9d1580f0469a696e5dc1f8bc496a3a62ed24009637b958a5ae250576d333098c4b67f9e3 + PROVIDES mingw-w64-x86_64-gcc-base mingw-w64-x86_64-cc + DEPS mingw-w64-x86_64-binutils mingw-w64-x86_64-crt mingw-w64-x86_64-gcc-libs mingw-w64-x86_64-gmp mingw-w64-x86_64-headers mingw-w64-x86_64-isl mingw-w64-x86_64-libiconv mingw-w64-x86_64-mpc mingw-w64-x86_64-mpfr mingw-w64-x86_64-windows-default-manifest mingw-w64-x86_64-winpthreads mingw-w64-x86_64-zlib mingw-w64-x86_64-zstd + ) + z_vcpkg_acquire_msys_declare_package( + URL "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-headers-git-12.0.0.r351.gcdf6b16b8-1-any.pkg.tar.zst" + SHA512 a965625929e3e983df89aadf8da9652776519ffc1690775588619e4debe9743a1f0b004a79980baec3a3a020bd777fb85f901c167ea8364acd15a23c5e91b67a + PROVIDES mingw-w64-x86_64-headers + ) + z_vcpkg_acquire_msys_declare_package( + URL "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-isl-0.27-1-any.pkg.tar.zst" + SHA512 879e3a6748f552b9c3574090b8d45fd83ff1cb843eae3924e6025464ecfc9d4883bd3d9e9dbcd54481820a6f5a01b33e3dc8e2c90bc812d8173412ee01a08110 + DEPS mingw-w64-x86_64-gmp + ) + z_vcpkg_acquire_msys_declare_package( + URL "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-windows-default-manifest-6.4-4-any.pkg.tar.zst" + SHA512 d7e1e4c79f6c7db3bd97305ff89e407a32d3ce9f2a18083b9674538d018651e889efb6fdef00cc79c78f8c07852eab63d7fc705e9567b1ad5684f0a704adeaf3 + ) + z_vcpkg_acquire_msys_declare_package( + URL "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-winpthreads-git-12.0.0.r351.gcdf6b16b8-1-any.pkg.tar.zst" + SHA512 b11a36b0624d651c2484e5baa06a1a5217e96361a19678da96ddd3e4b00d29cdefe4f76032ee8a55442ac49edd6c9609bc26651f9c6e32f8f8e169417da2c763 + PROVIDES mingw-w64-x86_64-winpthreads + DEPS mingw-w64-x86_64-crt-git mingw-w64-x86_64-libwinpthread-git + ) + z_vcpkg_acquire_msys_declare_package( + URL "https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-zstd-1.5.6-2-any.pkg.tar.zst" + SHA512 3cdf7056c7b477fec0333871c3b220f610706d74b8ae0325b8f84daa6e441cc96db0073a08fd56b9f42932d787c7356823ca11434556e2fec46f17898c432f5d + DEPS mingw-w64-x86_64-gcc-libs + ) +endmacro() \ No newline at end of file diff --git a/scripts/cmake/vcpkg_fixup_cmake_targets.cmake b/scripts/cmake/vcpkg_fixup_cmake_targets.cmake index a49cfb2b555bfd..3d8a8ba4f21654 100644 --- a/scripts/cmake/vcpkg_fixup_cmake_targets.cmake +++ b/scripts/cmake/vcpkg_fixup_cmake_targets.cmake @@ -1,62 +1,3 @@ -# DEPRECATED BY ports/vcpkg-cmake-config/vcpkg_cmake_config_fixup -#[===[.md: -# vcpkg_fixup_cmake_targets - -Merge release and debug CMake targets and configs to support multiconfig generators. - -Additionally corrects common issues with targets, such as absolute paths and incorrectly placed binaries. - -## Usage -```cmake -vcpkg_fixup_cmake_targets([CONFIG_PATH ] - [TARGET_PATH ] - [TOOLS_PATH ] - [DO_NOT_DELETE_PARENT_CONFIG_PATH]) -``` - -## Parameters - -### CONFIG_PATH -Subpath currently containing `*.cmake` files subdirectory (like `lib/cmake/${PORT}`). Should be relative to `${CURRENT_PACKAGES_DIR}`. - -Defaults to `share/${PORT}`. - -### TARGET_PATH -Subpath to which the above `*.cmake` files should be moved. Should be relative to `${CURRENT_PACKAGES_DIR}`. -This needs to be specified if the port name differs from the `find_package()` name. - -Defaults to `share/${PORT}`. - -### DO_NOT_DELETE_PARENT_CONFIG_PATH -By default the parent directory of CONFIG_PATH is removed if it is named "cmake". -Passing this option disable such behavior, as it is convenient for ports that install -more than one CMake package configuration file. - -### NO_PREFIX_CORRECTION -Disables the correction of_IMPORT_PREFIX done by vcpkg due to moving the targets. -Currently the correction does not take into account how the files are moved and applies -I rather simply correction which in some cases will yield the wrong results. - -### TOOLS_PATH -Define the base path to tools. Default: `tools/` - -## Notes -Transform all `/debug//*targets-debug.cmake` files and move them to `/`. -Removes all `/debug//*targets.cmake` and `/debug//*config.cmake`. - -Transform all references matching `/bin/*.exe` to `/${TOOLS_PATH}/*.exe` on Windows. -Transform all references matching `/bin/*` to `/${TOOLS_PATH}/*` on other platforms. - -Fix `${_IMPORT_PREFIX}` in auto generated targets to be one folder deeper. -Replace `${CURRENT_INSTALLED_DIR}` with `${_IMPORT_PREFIX}` in configs and targets. - -## Examples - -* [concurrentqueue](https://github.com/Microsoft/vcpkg/blob/master/ports/concurrentqueue/portfile.cmake) -* [curl](https://github.com/Microsoft/vcpkg/blob/master/ports/curl/portfile.cmake) -* [nlohmann-json](https://github.com/Microsoft/vcpkg/blob/master/ports/nlohmann-json/portfile.cmake) -#]===] - function(vcpkg_fixup_cmake_targets) if(Z_VCPKG_CMAKE_CONFIG_FIXUP_GUARD) message(FATAL_ERROR "The ${PORT} port already depends on vcpkg-cmake-config; using both vcpkg-cmake-config and vcpkg_fixup_cmake_targets in the same port is unsupported.") diff --git a/scripts/cmake/vcpkg_fixup_pkgconfig.cmake b/scripts/cmake/vcpkg_fixup_pkgconfig.cmake index 9cb35b7b24870a..300b6a8862d0a0 100644 --- a/scripts/cmake/vcpkg_fixup_pkgconfig.cmake +++ b/scripts/cmake/vcpkg_fixup_pkgconfig.cmake @@ -1,70 +1,126 @@ -#[===[.md: -# vcpkg_fixup_pkgconfig - -Fix common paths in *.pc files and make everything relative to $(prefix). -Additionally, on static triplets, private entries are merged with their non-private counterparts, -allowing pkg-config to be called without the ``--static`` flag. -Note that vcpkg is designed to never have to call pkg-config with the ``--static`` flag, -since a consumer cannot know if a dependent library has been built statically or not. - -## Usage -```cmake -vcpkg_fixup_pkgconfig( - [RELEASE_FILES ...] - [DEBUG_FILES ...] - [SKIP_CHECK] -) -``` - -## Parameters -### RELEASE_FILES -Specifies a list of files to apply the fixes for release paths. -Defaults to every *.pc file in the folder ${CURRENT_PACKAGES_DIR} without ${CURRENT_PACKAGES_DIR}/debug/ - -### DEBUG_FILES -Specifies a list of files to apply the fixes for debug paths. -Defaults to every *.pc file in the folder ${CURRENT_PACKAGES_DIR}/debug/ +function(z_vcpkg_fixup_pkgconfig_process_data arg_variable arg_config arg_prefix) + # This normalizes all data to start and to end with a newline, and + # to use LF instead of CRLF. This allows to use simpler regex matches. + string(REPLACE "\r\n" "\n" contents "\n${${arg_variable}}\n") + + # We use ${pcfiledir} for relocatable pc files, and on windows, + # pkgconf initializes ${pc_sysrootdir} to invalid '/'. + string(REPLACE [[${pc_sysrootdir}]] "" contents "${contents}") + + string(REPLACE "${CURRENT_PACKAGES_DIR}" [[${prefix}]] contents "${contents}") + string(REPLACE "${CURRENT_INSTALLED_DIR}" [[${prefix}]] contents "${contents}") + if(VCPKG_HOST_IS_WINDOWS) + string(REGEX REPLACE "^([a-zA-Z]):/" [[/\1/]] unix_packages_dir "${CURRENT_PACKAGES_DIR}") + string(REPLACE "${unix_packages_dir}" [[${prefix}]] contents "${contents}") + string(REGEX REPLACE "^([a-zA-Z]):/" [[/\1/]] unix_installed_dir "${CURRENT_INSTALLED_DIR}") + string(REPLACE "${unix_installed_dir}" [[${prefix}]] contents "${contents}") + endif() -### SKIP_CHECK -Skips the library checks in vcpkg_fixup_pkgconfig. Only use if the script itself has unhandled cases. + string(REGEX REPLACE "\n[\t ]*prefix[\t ]*=[^\n]*" "" contents "prefix=${arg_prefix}${contents}") + if("${arg_config}" STREQUAL "DEBUG") + # prefix points at the debug subfolder + string(REPLACE [[${prefix}/debug]] [[${prefix}]] contents "${contents}") + string(REPLACE [[${prefix}/include]] [[${prefix}/../include]] contents "${contents}") + string(REPLACE [[${prefix}/share]] [[${prefix}/../share]] contents "${contents}") + endif() + # Remove line continuations before transformations + string(REGEX REPLACE "[ \t]*\\\\\n[ \t]*" " " contents "${contents}") + # This section fuses XYZ.private and XYZ according to VCPKG_LIBRARY_LINKAGE + # + # Pkgconfig searches Requires.private transitively for Cflags in the dynamic case, + # which prevents us from removing it. + # + # Once this transformation is complete, users of vcpkg should never need to pass + # --static. + if("${VCPKG_LIBRARY_LINKAGE}" STREQUAL "static") + # how this works: + # we want to transform: + # Libs: $1 + # Libs.private: $2 + # into + # Libs: $1 $2 + # and the same thing for Requires and Requires.private + + foreach(item IN ITEMS "Libs" "Requires" "Cflags") + set(line "") + if("${contents}" MATCHES "\n${item}: *([^\n]*)") + string(APPEND line " ${CMAKE_MATCH_1}") + endif() + if("${contents}" MATCHES "\n${item}\\.private: *([^\n]*)") + string(APPEND line " ${CMAKE_MATCH_1}") + endif() -### SYSTEM_PACKAGES (deprecated) -This argument has been deprecated and has no effect. + string(REGEX REPLACE "\n${item}(\\.private)?:[^\n]*" "" contents "${contents}") + if(NOT "${line}" STREQUAL "") + string(APPEND contents "${item}:${line}\n") + endif() + endforeach() + endif() -### SYSTEM_LIBRARIES (deprecated) -This argument has been deprecated and has no effect. + if(contents MATCHES "\nLibs: *([^\n]*)") + set(libs "${CMAKE_MATCH_1}") + if(libs MATCHES [[;]]) + # Assuming that ';' comes from CMake lists only. Candidate for parameter control. + string(REPLACE ";" " " no_lists "${libs}") + string(REPLACE "${libs}" "${no_lists}" contents "${contents}") + set(libs "${no_lists}") + endif() -### IGNORE_FLAGS (deprecated) -This argument has been deprecated and has no effect. + separate_arguments(libs_list UNIX_COMMAND "${libs}") + set(skip_next 0) + set(libs_filtered "") + foreach(item IN LISTS libs_list) + if(skip_next) + set(skip_next 0) + continue() + elseif(item MATCHES "^(-l|-L)?optimized\$") + string(COMPARE EQUAL "${arg_config}" "DEBUG" skip_next) + continue() + elseif(item MATCHES "^(-l|-L)?debug\$") + string(COMPARE EQUAL "${arg_config}" "RELEASE" skip_next) + continue() + elseif(item MATCHES "^(-l|-L)?general\$") + continue() + endif() + if(item MATCHES [[.[\$]| ]] AND NOT item MATCHES [["]]) + set(item "\"${item}\"") + else() + set(quoted "\"${item}\"") + string(FIND " ${libs} " " ${quoted} " index) + if(NOT index STREQUAL "-1") + set(item "${quoted}") + endif() + endif() + list(APPEND libs_filtered "${item}") + endforeach() + list(JOIN libs_filtered " " libs_filtered) + string(REPLACE "${libs}" "${libs_filtered}" contents "${contents}") + set(libs "${libs_filtered}") -## Notes -Still work in progress. If there are more cases which can be handled here feel free to add them + if(libs MATCHES "[^ ]*-NOTFOUND") + message(WARNING "Error in ${file}: 'Libs' refers to a missing lib:\n...${CMAKE_MATCH_0}") + endif() + if(libs MATCHES "[^\n]*::[^\n ]*") + message(WARNING "Error in ${file}: 'Libs' refers to a CMake target:\n...${CMAKE_MATCH_0}") + endif() + endif() -## Examples + # Quote -L, -I, and -l paths starting with `${blah}` + # This was already handled for "Libs", but there might be additional occurrences in other lines. + string(REGEX REPLACE "([ =])(-[LIl]\\\${[^}]*}[^ ;\n\t]*)" [[\1"\2"]] contents "${contents}") -* [brotli](https://github.com/Microsoft/vcpkg/blob/master/ports/brotli/portfile.cmake) -#]===] + set("${arg_variable}" "${contents}" PARENT_SCOPE) +endfunction() -function(z_vcpkg_fixup_pkgconfig_check_files file config) +function(z_vcpkg_fixup_pkgconfig_check_files arg_file arg_config) set(path_suffix_DEBUG /debug) set(path_suffix_RELEASE "") - if(DEFINED ENV{PKG_CONFIG_PATH}) - set(backup_env_pkg_config_path "$ENV{PKG_CONFIG_PATH}") - else() - unset(backup_env_pkg_config_path) - endif() - - vcpkg_host_path_list(PREPEND ENV{PKG_CONFIG_PATH} - "${CURRENT_PACKAGES_DIR}${path_suffix_${config}}/lib/pkgconfig" - "${CURRENT_PACKAGES_DIR}/share/pkgconfig" - "${CURRENT_INSTALLED_DIR}${path_suffix_${config}}/lib/pkgconfig" - "${CURRENT_INSTALLED_DIR}/share/pkgconfig" - ) + z_vcpkg_setup_pkgconfig_path(CONFIG "${arg_config}") # First make sure everything is ok with the package and its deps - cmake_path(GET file STEM LAST_ONLY package_name) - debug_message("Checking package (${config}): ${package_name}") + cmake_path(GET arg_file STEM LAST_ONLY package_name) + debug_message("Checking package (${arg_config}): ${package_name}") execute_process( COMMAND "${PKGCONFIG}" --print-errors --exists "${package_name}" WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}" @@ -82,11 +138,8 @@ function(z_vcpkg_fixup_pkgconfig_check_files file config) else() debug_message("pkg-config --exists ${package_name} output: ${output}") endif() - if(DEFINED backup_env_pkg_config_path) - set(ENV{PKG_CONFIG_PATH} "${backup_env_pkg_config_path}") - else() - unset(ENV{PKG_CONFIG_PATH}) - endif() + + z_vcpkg_restore_pkgconfig_path() endfunction() function(vcpkg_fixup_pkgconfig) @@ -115,14 +168,8 @@ function(vcpkg_fixup_pkgconfig) endforeach() endif() - string(REGEX REPLACE "^([a-zA-Z]):/" [[/\1/]] unix_packages_dir "${CURRENT_PACKAGES_DIR}") - string(REGEX REPLACE "^([a-zA-Z]):/" [[/\1/]] unix_installed_dir "${CURRENT_INSTALLED_DIR}") - foreach(config IN ITEMS RELEASE DEBUG) debug_message("${config} Files: ${arg_${config}_FILES}") - if("${VCPKG_BUILD_TYPE}" STREQUAL "debug" AND "${config}" STREQUAL "RELEASE") - continue() - endif() if("${VCPKG_BUILD_TYPE}" STREQUAL "release" AND "${config}" STREQUAL "DEBUG") continue() endif() @@ -138,60 +185,8 @@ function(vcpkg_fixup_pkgconfig) endif() #Correct *.pc file file(READ "${file}" contents) - - # this normalizes all files to end with a newline, and use LF instead of CRLF; - # this allows us to use regex matches easier to modify these files. - if(NOT "${contents}" MATCHES "\n$") - string(APPEND contents "\n") - endif() - string(REPLACE "\r\n" "\n" contents "${contents}") - - string(REPLACE "${CURRENT_PACKAGES_DIR}" [[${prefix}]] contents "${contents}") - string(REPLACE "${CURRENT_INSTALLED_DIR}" [[${prefix}]] contents "${contents}") - string(REPLACE "${unix_packages_dir}" [[${prefix}]] contents "${contents}") - string(REPLACE "${unix_installed_dir}" [[${prefix}]] contents "${contents}") - - string(REGEX REPLACE "(^|\n)prefix[\t ]*=[^\n]*" "" contents "${contents}") - if("${config}" STREQUAL "DEBUG") - # prefix points at the debug subfolder - string(REPLACE [[${prefix}/debug]] [[${prefix}]] contents "${contents}") - string(REPLACE [[${prefix}/include]] [[${prefix}/../include]] contents "${contents}") - string(REPLACE [[${prefix}/share]] [[${prefix}/../share]] contents "${contents}") - endif() - # quote -L, -I, and -l paths starting with `${blah}` - string(REGEX REPLACE " -([LIl])(\\\${[^}]*}[^ \n\t]*)" [[ -\1"\2"]] contents "${contents}") - # This section fuses XYZ.private and XYZ according to VCPKG_LIBRARY_LINKAGE - # - # Pkgconfig searches Requires.private transitively for Cflags in the dynamic case, - # which prevents us from removing it. - # - # Once this transformation is complete, users of vcpkg should never need to pass - # --static. - if("${VCPKG_LIBRARY_LINKAGE}" STREQUAL "static") - # how this works: - # we want to transform: - # Libs: $1 - # Libs.private: $2 - # into - # Libs: $1 $2 - # and the same thing for Requires and Requires.private - - foreach(item IN ITEMS "Libs" "Requires" "Cflags") - set(line "") - if("${contents}" MATCHES "(^|\n)${item}: *([^\n]*)") - string(APPEND line " ${CMAKE_MATCH_2}") - endif() - if("${contents}" MATCHES "(^|\n)${item}\\.private: *([^\n]*)") - string(APPEND line " ${CMAKE_MATCH_2}") - endif() - - string(REGEX REPLACE "(^|\n)${item}(\\.private)?:[^\n]*\n" [[\1]] contents "${contents}") - if(NOT "${line}" STREQUAL "") - string(APPEND contents "${item}:${line}\n") - endif() - endforeach() - endif() - file(WRITE "${file}" "prefix=\${pcfiledir}/${relative_pc_path}\n${contents}") + z_vcpkg_fixup_pkgconfig_process_data(contents "${config}" "\${pcfiledir}/${relative_pc_path}") + file(WRITE "${file}" "${contents}") endforeach() if(NOT arg_SKIP_CHECK) # The check can only run after all files have been corrected! diff --git a/scripts/cmake/vcpkg_from_bitbucket.cmake b/scripts/cmake/vcpkg_from_bitbucket.cmake index e27d62218e8ffe..2cd9c998a84ee3 100644 --- a/scripts/cmake/vcpkg_from_bitbucket.cmake +++ b/scripts/cmake/vcpkg_from_bitbucket.cmake @@ -1,61 +1,3 @@ -#[===[.md: -# vcpkg_from_bitbucket - -Download and extract a project from Bitbucket. - -## Usage: -```cmake -vcpkg_from_bitbucket( - OUT_SOURCE_PATH - REPO - [REF ] - [SHA512 <45d0d7f8cc350...>] - [HEAD_REF ] - [PATCHES ...] -) -``` - -## Parameters: -### OUT_SOURCE_PATH -Specifies the out-variable that will contain the extracted location. - -This should be set to `SOURCE_PATH` by convention. - -### REPO -The organization or user and repository on GitHub. - -### REF -A stable git commit-ish (ideally a tag) that will not change contents. **This should not be a branch.** - -For repositories without official releases, this can be set to the full commit id of the current latest master. - -If `REF` is specified, `SHA512` must also be specified. - -### SHA512 -The SHA512 hash that should match the archive (https://bitbucket.com/${REPO}/get/${REF}.tar.gz). - -This is most easily determined by first setting it to `0`, then trying to build the port. The error message will contain the full hash, which can be copied back into the portfile. - -### HEAD_REF -The unstable git commit-ish (ideally a branch) to pull for `--head` builds. - -For most projects, this should be `master`. The chosen branch should be one that is expected to be always buildable on all supported platforms. - -### PATCHES -A list of patches to be applied to the extracted sources. - -Relative paths are based on the port directory. - -## Notes: -At least one of `REF` and `HEAD_REF` must be specified, however it is preferable for both to be present. - -This exports the `VCPKG_HEAD_VERSION` variable during head builds. - -## Examples: - -* [blaze](https://github.com/Microsoft/vcpkg/blob/master/ports/blaze/portfile.cmake) -#]===] - function(vcpkg_from_bitbucket) cmake_parse_arguments(PARSE_ARGV 0 "arg" "" diff --git a/scripts/cmake/vcpkg_from_git.cmake b/scripts/cmake/vcpkg_from_git.cmake index 0a5fdb622593b1..0b477acb822f09 100644 --- a/scripts/cmake/vcpkg_from_git.cmake +++ b/scripts/cmake/vcpkg_from_git.cmake @@ -1,58 +1,7 @@ -#[===[.md: -# vcpkg_from_git - -Download and extract a project from git - -## Usage: -```cmake -vcpkg_from_git( - OUT_SOURCE_PATH - URL - REF <59f7335e4d...> - [HEAD_REF ] - [PATCHES ...] -) -``` - -## Parameters: -### OUT_SOURCE_PATH -Specifies the out-variable that will contain the extracted location. - -This should be set to `SOURCE_PATH` by convention. - -### URL -The url of the git repository. - -### REF -The git sha of the commit to download. - -### FETCH_REF -The git branch to fetch in non-HEAD mode. After this is fetched, -then `REF` is checked out. This is useful in cases where the git server -does not allow checking out non-advertised objects. - -### HEAD_REF -The git branch to use when the package is requested to be built from the latest sources. - -Example: `main`, `develop`, `HEAD` - -### PATCHES -A list of patches to be applied to the extracted sources. - -Relative paths are based on the port directory. - -## Notes: -`OUT_SOURCE_PATH`, `REF`, and `URL` must be specified. - -## Examples: - -* [fdlibm](https://github.com/Microsoft/vcpkg/blob/master/ports/fdlibm/portfile.cmake) -#]===] - function(vcpkg_from_git) cmake_parse_arguments(PARSE_ARGV 0 "arg" "" - "OUT_SOURCE_PATH;URL;REF;FETCH_REF;HEAD_REF;TAG" + "OUT_SOURCE_PATH;URL;REF;FETCH_REF;HEAD_REF;TAG;LFS" "PATCHES" ) @@ -62,7 +11,6 @@ function(vcpkg_from_git) if(DEFINED arg_TAG) message(WARNING "The TAG argument to vcpkg_from_git has been deprecated and has no effect.") endif() - if(NOT DEFINED arg_OUT_SOURCE_PATH) message(FATAL_ERROR "OUT_SOURCE_PATH must be specified") @@ -76,33 +24,44 @@ function(vcpkg_from_git) if(DEFINED arg_FETCH_REF AND NOT DEFINED arg_REF) message(FATAL_ERROR "REF must be specified if FETCH_REF is specified") endif() + if(NOT DEFINED arg_LFS AND "LFS" IN_LIST arg_KEYWORDS_MISSING_VALUES) + set(arg_LFS "${arg_URL}") + endif() vcpkg_list(SET git_fetch_shallow_param --depth 1) vcpkg_list(SET extract_working_directory_param) + vcpkg_list(SET skip_patch_check_param) set(git_working_directory "${DOWNLOADS}/git-tmp") - if(VCPKG_USE_HEAD_VERSION) - if(DEFINED arg_HEAD_REF) - vcpkg_list(SET working_directory_param "WORKING_DIRECTORY" "${CURRENT_BUILDTREES_DIR}/src/head") - vcpkg_list(SET git_fetch_shallow_param --depth 1) - set(ref_to_use "${arg_HEAD_REF}") - set(git_working_directory "${CURRENT_BUILDTREES_DIR}/src/git-tmp") - else() - message(STATUS "Package does not specify HEAD_REF. Falling back to non-HEAD version.") + set(do_download OFF) + + if(VCPKG_USE_HEAD_VERSION AND DEFINED arg_HEAD_REF) + vcpkg_list(SET working_directory_param "WORKING_DIRECTORY" "${CURRENT_BUILDTREES_DIR}/src/head") + vcpkg_list(SET git_fetch_shallow_param --depth 1) + vcpkg_list(SET skip_patch_check_param SKIP_PATCH_CHECK) + set(ref_to_fetch "${arg_HEAD_REF}") + set(git_working_directory "${CURRENT_BUILDTREES_DIR}/src/git-tmp") + string(REPLACE "/" "_-" sanitized_ref "${arg_HEAD_REF}") + + if(NOT _VCPKG_NO_DOWNLOADS) + set(do_download ON) endif() else() if(NOT DEFINED arg_REF) message(FATAL_ERROR "Package does not specify REF. It must be built using --head.") endif() + if(VCPKG_USE_HEAD_VERSION) + message(STATUS "Package does not specify HEAD_REF. Falling back to non-HEAD version.") + endif() if(DEFINED arg_FETCH_REF) - set(ref_to_use "${arg_FETCH_REF}") + set(ref_to_fetch "${arg_FETCH_REF}") vcpkg_list(SET git_fetch_shallow_param) else() - set(ref_to_use "${arg_REF}") + set(ref_to_fetch "${arg_REF}") endif() + string(REPLACE "/" "_-" sanitized_ref "${arg_REF}") endif() - string(REPLACE "/" "_-" sanitized_ref "${ref_to_use}") set(temp_archive "${DOWNLOADS}/temp/${PORT}-${sanitized_ref}.tar.gz") set(archive "${DOWNLOADS}/${PORT}-${sanitized_ref}.tar.gz") @@ -110,7 +69,11 @@ function(vcpkg_from_git) if(_VCPKG_NO_DOWNLOADS) message(FATAL_ERROR "Downloads are disabled, but '${archive}' does not exist.") endif() - message(STATUS "Fetching ${arg_URL} ${ref_to_use}...") + set(do_download ON) + endif() + + if(do_download) + message(STATUS "Fetching ${arg_URL} ${ref_to_fetch}...") find_program(GIT NAMES git git.cmd) file(MAKE_DIRECTORY "${DOWNLOADS}") # Note: git init is safe to run multiple times @@ -122,49 +85,89 @@ function(vcpkg_from_git) ) vcpkg_execute_required_process( ALLOW_IN_DOWNLOAD_MODE - COMMAND "${GIT}" fetch "${arg_URL}" "${ref_to_use}" ${git_fetch_shallow_param} -n + COMMAND "${GIT}" fetch "${arg_URL}" "${ref_to_fetch}" ${git_fetch_shallow_param} -n WORKING_DIRECTORY "${git_working_directory}" LOGNAME "git-fetch-${TARGET_TRIPLET}" ) - - if(VCPKG_USE_HEAD_VERSION) + if(arg_LFS) + # Running "git lfs" searches for "git-lfs[.exe]" on the path vcpkg_execute_in_download_mode( - COMMAND "${GIT}" rev-parse FETCH_HEAD - OUTPUT_VARIABLE rev_parse_ref - ERROR_VARIABLE rev_parse_ref - RESULT_VARIABLE error_code + COMMAND "${GIT}" lfs --version + OUTPUT_VARIABLE lfs_version_output + ERROR_VARIABLE lfs_version_error + RESULT_VARIABLE lfs_version_result WORKING_DIRECTORY "${git_working_directory}" ) - if(error_code) - message(FATAL_ERROR "unable to determine FETCH_HEAD after fetching git repository") + if(lfs_version_result) + message(FATAL_ERROR "Git LFS is required for ${PORT}") endif() - string(STRIP "${rev_parse_ref}" rev_parse_ref) - set(VCPKG_HEAD_VERSION "${rev_parse_ref}" PARENT_SCOPE) - else() - vcpkg_execute_in_download_mode( - COMMAND "${GIT}" rev-parse "${arg_REF}" - OUTPUT_VARIABLE rev_parse_ref - ERROR_VARIABLE rev_parse_ref - RESULT_VARIABLE error_code + + vcpkg_execute_required_process( + ALLOW_IN_DOWNLOAD_MODE + COMMAND "${GIT}" lfs install --local --force WORKING_DIRECTORY "${git_working_directory}" + LOGNAME "git-lfs-install-${TARGET_TRIPLET}" ) - if(error_code) - message(FATAL_ERROR "unable to rev-parse ${arg_REF} after fetching git repository") - endif() - string(STRIP "${rev_parse_ref}" rev_parse_ref) - if(NOT "${rev_parse_ref}" STREQUAL "${arg_REF}") - message(FATAL_ERROR "REF (${arg_REF}) does not match rev-parse'd reference (${rev_parse_ref}) - [Expected : ( ${arg_REF} )]) - [ Actual : ( ${rev_parse_ref} )]" - ) + vcpkg_execute_required_process( + ALLOW_IN_DOWNLOAD_MODE + COMMAND "${GIT}" lfs fetch "${arg_LFS}" "${ref_to_fetch}" + WORKING_DIRECTORY "${git_working_directory}" + LOGNAME "git-lfs-fetch-${TARGET_TRIPLET}" + ) + endif() + + if(VCPKG_USE_HEAD_VERSION) + set(expected_rev_parse FETCH_HEAD) + else() + set(expected_rev_parse "${arg_REF}") + endif() + + vcpkg_execute_in_download_mode( + COMMAND "${GIT}" rev-parse "${expected_rev_parse}" + OUTPUT_VARIABLE rev_parse_ref + ERROR_VARIABLE rev_parse_ref + RESULT_VARIABLE error_code + WORKING_DIRECTORY "${git_working_directory}" + ) + + if(error_code) + if(VCPKG_USE_HEAD_VERSION) + message(FATAL_ERROR "Unable to determine the commit SHA of the HEAD version to use after \ +fetching ${ref_to_fetch} from the git repository. (git rev-parse ${expected_rev_parse} failed)") + elseif(DEFINED arg_FETCH_REF) + message(FATAL_ERROR "After fetching ${ref_to_fetch}, the target ref ${expected_rev_parse} appears \ +inaccessible. A common cause of this failure is setting REF to a named branch or tag rather than a commit SHA. REF \ +must be a commit SHA. (git rev-parse ${expected_rev_parse} failed)") + else() + message(FATAL_ERROR "After fetching ${ref_to_fetch}, the target ref ${expected_rev_parse} appears \ +inaccessible. A common cause of this failure is setting REF to a named branch or tag rather than a commit SHA. REF \ +must be a commit SHA. If the git server does not advertise commit SHAs \ +(uploadpack.allowReachableSHA1InWant is false), you can set FETCH_REF to a named branch in which the desired commit \ +SHA is in the history. For example, you may be able to fix this error by changing \"REF ${arg_REF}\" to \ +\"REF a-commit-sha FETCH_REF ${arg_REF}\". (git rev-parse ${expected_rev_parse} failed)") endif() endif() + string(STRIP "${rev_parse_ref}" rev_parse_ref) + if(VCPKG_USE_HEAD_VERSION) + set(VCPKG_HEAD_VERSION "${rev_parse_ref}" PARENT_SCOPE) + elseif(NOT "${rev_parse_ref}" STREQUAL "${arg_REF}") + message(FATAL_ERROR "After fetching ${ref_to_fetch}, the requested REF (${arg_REF}) does not match \ +its commit SHA returned by git rev-parse (${rev_parse_ref}). This is usually caused by trying to set REF to a named \ +branch or tag rather than a commit SHA. REF must be a commit SHA. If the git server does not advertise commit SHAs \ +(uploadpack.allowReachableSHA1InWant is false), you can set FETCH_REF to a named branch in which the desired commit \ +SHA is in the history. For example, you may be able to fix this error by changing \"REF ${arg_REF}\" to \ +\"REF a-commit-sha FETCH_REF ${arg_REF}\". + [Expected : ( ${arg_REF} )]) + [ Actual : ( ${rev_parse_ref} )]" + ) + endif() + file(MAKE_DIRECTORY "${DOWNLOADS}/temp") vcpkg_execute_required_process( ALLOW_IN_DOWNLOAD_MODE - COMMAND "${GIT}" archive "${rev_parse_ref}" -o "${temp_archive}" - WORKING_DIRECTORY "${DOWNLOADS}/git-tmp" + COMMAND "${GIT}" -c core.autocrlf=false archive "${rev_parse_ref}" -o "${temp_archive}" + WORKING_DIRECTORY "${git_working_directory}" LOGNAME git-archive ) file(RENAME "${temp_archive}" "${archive}") @@ -179,6 +182,7 @@ function(vcpkg_from_git) PATCHES ${arg_PATCHES} NO_REMOVE_ONE_LEVEL ${extract_working_directory_param} + ${skip_patch_check_param} ) set("${arg_OUT_SOURCE_PATH}" "${SOURCE_PATH}" PARENT_SCOPE) diff --git a/scripts/cmake/vcpkg_from_github.cmake b/scripts/cmake/vcpkg_from_github.cmake index f587b20ae568ff..3b1af1a6210e65 100644 --- a/scripts/cmake/vcpkg_from_github.cmake +++ b/scripts/cmake/vcpkg_from_github.cmake @@ -1,77 +1,3 @@ -#[===[.md: -# vcpkg_from_github - -Download and extract a project from GitHub. Enables support for `install --head`. - -## Usage: -```cmake -vcpkg_from_github( - OUT_SOURCE_PATH - REPO - [REF ] - [SHA512 <45d0d7f8cc350...>] - [HEAD_REF ] - [PATCHES ...] - [GITHUB_HOST ] - [AUTHORIZATION_TOKEN <${SECRET_FROM_FILE}>] - [FILE_DISAMBIGUATOR ] -) -``` - -## Parameters: -### OUT_SOURCE_PATH -Specifies the out-variable that will contain the extracted location. - -This should be set to `SOURCE_PATH` by convention. - -### REPO -The organization or user and repository on GitHub. - -### REF -A stable git commit-ish (ideally a tag or commit) that will not change contents. **This should not be a branch.** - -For repositories without official releases, this can be set to the full commit id of the current latest master. - -If `REF` is specified, `SHA512` must also be specified. - -### SHA512 -The SHA512 hash that should match the archive (https://github.com/${REPO}/archive/${REF}.tar.gz). - -This is most easily determined by first setting it to `0`, then trying to build the port. The error message will contain the full hash, which can be copied back into the portfile. - -### HEAD_REF -The unstable git commit-ish (ideally a branch) to pull for `--head` builds. - -For most projects, this should be `master`. The chosen branch should be one that is expected to be always buildable on all supported platforms. - -### PATCHES -A list of patches to be applied to the extracted sources. - -Relative paths are based on the port directory. - -### GITHUB_HOST -A replacement host for enterprise GitHub instances. - -This field should contain the scheme, host, and port of the desired URL without a trailing slash. - -### AUTHORIZATION_TOKEN -A token to be passed via the Authorization HTTP header as "token ${AUTHORIZATION_TOKEN}". - -### FILE_DISAMBIGUATOR -A token to uniquely identify the resulting filename if the SHA512 changes even though a git ref does not, to avoid stepping on the same file name. - -## Notes: -At least one of `REF` and `HEAD_REF` must be specified, however it is preferable for both to be present. - -This exports the `VCPKG_HEAD_VERSION` variable during head builds. - -## Examples: - -* [cpprestsdk](https://github.com/Microsoft/vcpkg/blob/master/ports/cpprestsdk/portfile.cmake) -* [ms-gsl](https://github.com/Microsoft/vcpkg/blob/master/ports/ms-gsl/portfile.cmake) -* [boost-beast](https://github.com/Microsoft/vcpkg/blob/master/ports/boost-beast/portfile.cmake) -#]===] - function(vcpkg_from_github) cmake_parse_arguments(PARSE_ARGV 0 "arg" "" @@ -121,54 +47,61 @@ function(vcpkg_from_github) set(org_name "${CMAKE_MATCH_1}") set(repo_name "${CMAKE_MATCH_2}") - set(redownload_param "") - set(working_directory_param "") - set(sha512_param "SHA512" "${arg_SHA512}") - set(ref_to_use "${arg_REF}") - if(VCPKG_USE_HEAD_VERSION) - if(DEFINED arg_HEAD_REF) - set(redownload_param "ALWAYS_REDOWNLOAD") - set(sha512_param "SKIP_SHA512") - set(working_directory_param "WORKING_DIRECTORY" "${CURRENT_BUILDTREES_DIR}/src/head") - set(ref_to_use "${arg_HEAD_REF}") - else() - message(STATUS "Package does not specify HEAD_REF. Falling back to non-HEAD version.") - endif() - elseif(NOT DEFINED arg_REF) + if(VCPKG_USE_HEAD_VERSION AND NOT DEFINED arg_HEAD_REF) + message(STATUS "Package does not specify HEAD_REF. Falling back to non-HEAD version.") + set(VCPKG_USE_HEAD_VERSION OFF) + elseif(NOT VCPKG_USE_HEAD_VERSION AND NOT DEFINED arg_REF) message(FATAL_ERROR "Package does not specify REF. It must be built using --head.") endif() - # avoid using either - or _, to allow both `foo/bar` and `foo-bar` to coexist - # we assume that no one will name a ref "foo_-bar" - string(REPLACE "/" "_-" sanitized_ref "${ref_to_use}") - if(DEFINED arg_FILE_DISAMBIGUATOR AND NOT VCPKG_USE_HEAD_VERSION) - set(downloaded_file_name "${org_name}-${repo_name}-${sanitized_ref}-${arg_FILE_DISAMBIGUATOR}.tar.gz") - else() - set(downloaded_file_name "${org_name}-${repo_name}-${sanitized_ref}.tar.gz") - endif() - - # exports VCPKG_HEAD_VERSION to the caller. This will get picked up by ports.cmake after the build. if(VCPKG_USE_HEAD_VERSION) + string(REPLACE "/" "_-" sanitized_head_ref "${arg_HEAD_REF}") vcpkg_download_distfile(archive_version URLS "${github_api_url}/repos/${org_name}/${repo_name}/git/refs/heads/${arg_HEAD_REF}" - FILENAME "${downloaded_file_name}.version" + FILENAME "${org_name}-${repo_name}-${sanitized_head_ref}.version" ${headers_param} SKIP_SHA512 ALWAYS_REDOWNLOAD ) # Parse the github refs response with regex. - # TODO: add json-pointer support to vcpkg file(READ "${archive_version}" version_contents) - if(NOT version_contents MATCHES [["sha":(\ *)"([a-f0-9]+)"]]) + string(JSON head_version + ERROR_VARIABLE head_version_err + GET "${version_contents}" + "object" + "sha" + ) + if(NOT "${head_version_err}" STREQUAL "NOTFOUND") message(FATAL_ERROR "Failed to parse API response from '${version_url}': - ${version_contents} + +Error was: ${head_version_err} ") endif() - set(VCPKG_HEAD_VERSION "${CMAKE_MATCH_1}" PARENT_SCOPE) + + set(VCPKG_HEAD_VERSION "${head_version}" PARENT_SCOPE) + set(ref_to_use "${head_version}") + + vcpkg_list(SET redownload_param ALWAYS_REDOWNLOAD) + vcpkg_list(SET sha512_param SKIP_SHA512) + vcpkg_list(SET working_directory_param WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/src/head") + vcpkg_list(SET skip_patch_check_param SKIP_PATCH_CHECK) + else() + set(ref_to_use "${arg_REF}") + + vcpkg_list(SET redownload_param) + vcpkg_list(SET working_directory_param) + vcpkg_list(SET skip_patch_check_param) + vcpkg_list(SET sha512_param SHA512 "${arg_SHA512}") endif() + string(REPLACE "/" "_-" sanitized_ref "${ref_to_use}") + if(DEFINED arg_FILE_DISAMBIGUATOR AND NOT VCPKG_USE_HEAD_REF) + set(downloaded_file_name "${org_name}-${repo_name}-${sanitized_ref}-${arg_FILE_DISAMBIGUATOR}.tar.gz") + else() + set(downloaded_file_name "${org_name}-${repo_name}-${sanitized_ref}.tar.gz") + endif() # Try to download the file information from github vcpkg_download_distfile(archive URLS "${github_host}/${org_name}/${repo_name}/archive/${ref_to_use}.tar.gz" @@ -183,6 +116,7 @@ ${version_contents} REF "${sanitized_ref}" PATCHES ${arg_PATCHES} ${working_directory_param} + ${skip_patch_check_param} ) set("${arg_OUT_SOURCE_PATH}" "${SOURCE_PATH}" PARENT_SCOPE) endfunction() diff --git a/scripts/cmake/vcpkg_from_gitlab.cmake b/scripts/cmake/vcpkg_from_gitlab.cmake index e091ca5c084a37..93e8e60bdf7e84 100644 --- a/scripts/cmake/vcpkg_from_gitlab.cmake +++ b/scripts/cmake/vcpkg_from_gitlab.cmake @@ -1,78 +1,24 @@ -#[===[.md: -# vcpkg_from_gitlab - -Download and extract a project from Gitlab instances. Enables support for `install --head`. - -## Usage: -```cmake -vcpkg_from_gitlab( - GITLAB_URL - OUT_SOURCE_PATH - REPO - [REF ] - [SHA512 <45d0d7f8cc350...>] - [HEAD_REF ] - [PATCHES ...] - [FILE_DISAMBIGUATOR ] -) -``` - -## Parameters: - -### GITLAB_URL -The URL of the Gitlab instance to use. - -### OUT_SOURCE_PATH -Specifies the out-variable that will contain the extracted location. - -This should be set to `SOURCE_PATH` by convention. - -### REPO -The organization or user plus the repository name on the Gitlab instance. - -### REF -A stable git commit-ish (ideally a tag) that will not change contents. **This should not be a branch.** - -For repositories without official releases, this can be set to the full commit id of the current latest master. - -If `REF` is specified, `SHA512` must also be specified. - -### SHA512 -The SHA512 hash that should match the archive (${GITLAB_URL}/${REPO}/-/archive/${REF}/${REPO_NAME}-${REF}.tar.gz). -The REPO_NAME variable is parsed from the value of REPO. - -This is most easily determined by first setting it to `0`, then trying to build the port. The error message will contain the full hash, which can be copied back into the portfile. - -### HEAD_REF -The unstable git commit-ish (ideally a branch) to pull for `--head` builds. - -For most projects, this should be `master`. The chosen branch should be one that is expected to be always buildable on all supported platforms. - -### PATCHES -A list of patches to be applied to the extracted sources. - -Relative paths are based on the port directory. - -### FILE_DISAMBIGUATOR -A token to uniquely identify the resulting filename if the SHA512 changes even though a git ref does not, to avoid stepping on the same file name. - -## Notes: -At least one of `REF` and `HEAD_REF` must be specified, however it is preferable for both to be present. - -This exports the `VCPKG_HEAD_VERSION` variable during head builds. - -## Examples: -* [curl][https://github.com/Microsoft/vcpkg/blob/master/ports/curl/portfile.cmake#L75] -* [folly](https://github.com/Microsoft/vcpkg/blob/master/ports/folly/portfile.cmake#L15) -* [z3](https://github.com/Microsoft/vcpkg/blob/master/ports/z3/portfile.cmake#L13) -#]===] - include(vcpkg_execute_in_download_mode) +function(z_uri_encode input output_variable) + string(HEX "${input}" hex) + string(LENGTH "${hex}" length) + math(EXPR last "${length} - 1") + set(result "") + foreach(i RANGE ${last}) + math(EXPR even "${i} % 2") + if("${even}" STREQUAL "0") + string(SUBSTRING "${hex}" "${i}" 2 char) + string(APPEND result "%${char}") + endif() + endforeach() + set("${output_variable}" ${result} PARENT_SCOPE) +endfunction() + function(vcpkg_from_gitlab) cmake_parse_arguments(PARSE_ARGV 0 "arg" "" - "OUT_SOURCE_PATH;GITLAB_URL;REPO;REF;SHA512;HEAD_REF;FILE_DISAMBIGUATOR" + "OUT_SOURCE_PATH;GITLAB_URL;REPO;REF;SHA512;HEAD_REF;FILE_DISAMBIGUATOR;AUTHORIZATION_TOKEN" "PATCHES") if(DEFINED arg_UNPARSED_ARGUMENTS) @@ -99,27 +45,22 @@ function(vcpkg_from_gitlab) set(headers_param "") if(DEFINED arg_AUTHORIZATION_TOKEN) - set(headers_param "HEADERS" "Authorization: token ${arg_AUTHORIZATION_TOKEN}") + set(headers_param "HEADERS" "PRIVATE-TOKEN: ${arg_AUTHORIZATION_TOKEN}") endif() if(NOT DEFINED arg_REF AND NOT DEFINED arg_HEAD_REF) message(FATAL_ERROR "At least one of REF or HEAD_REF must be specified.") endif() - if(arg_REPO MATCHES [[^([^/]*)/([^/]*)$]]) # 2 elements - set(org_name "${CMAKE_MATCH_1}") - set(repo_name "${CMAKE_MATCH_2}") - set(gitlab_link "${arg_GITLAB_URL}/${org_name}/${repo_name}") - elseif(arg_REPO MATCHES [[^([^/]*)/([^/]*)/([^/]*)$]]) # 3 elements - set(org_name "${CMAKE_MATCH_1}") - set(group_name "${CMAKE_MATCH_2}") - set(repo_name "${CMAKE_MATCH_3}") - set(gitlab_link "${arg_GITLAB_URL}/${org_name}/${group_name}/${repo_name}") - else() + if (NOT arg_REPO MATCHES [[^([^/;]+/)+([^/;]+)$]]) message(FATAL_ERROR "REPO (${arg_REPO}) is not a valid repo name. It must be: - an organization name followed by a repository name separated by a single slash, or - - an organization name, group name, and repository name separated by slashes.") + - an organization name, group name, subgroup names and repository name separated by slashes.") endif() + set(gitlab_link "${arg_GITLAB_URL}/${arg_REPO}") + string(REPLACE "/" "-" downloaded_file_name_base "${arg_REPO}") + string(REPLACE "/" ";" repo_parts "${arg_REPO}") + list(GET repo_parts -1 repo_name) set(redownload_param "") set(working_directory_param "") @@ -142,32 +83,30 @@ function(vcpkg_from_gitlab) # we assume that no one will name a ref "foo_-bar" string(REPLACE "/" "_-" sanitized_ref "${ref_to_use}") if(DEFINED arg_FILE_DISAMBIGUATOR AND NOT VCPKG_USE_HEAD_VERSION) - set(downloaded_file_name "${org_name}-${repo_name}-${sanitized_ref}-${arg_FILE_DISAMBIGUATOR}.tar.gz") + set(downloaded_file_name "${downloaded_file_name_base}-${sanitized_ref}-${arg_FILE_DISAMBIGUATOR}.tar.gz") else() - set(downloaded_file_name "${org_name}-${repo_name}-${sanitized_ref}.tar.gz") + set(downloaded_file_name "${downloaded_file_name_base}-${sanitized_ref}.tar.gz") endif() # exports VCPKG_HEAD_VERSION to the caller. This will get picked up by ports.cmake after the build. - if(VCPKG_USE_HEAD_VERSION) - # There are issues with the Gitlab API project paths being URL-escaped, so we use git here to get the head revision - vcpkg_execute_in_download_mode(COMMAND ${GIT} ls-remote - "${gitlab_link}.git" "${arg_HEAD_REF}" - RESULT_VARIABLE git_result - OUTPUT_VARIABLE git_output + # When multiple vcpkg_from_gitlab's are used after each other, only use the version from the first (hopefully the primary one). + if(VCPKG_USE_HEAD_VERSION AND NOT DEFINED VCPKG_HEAD_VERSION) + z_uri_encode("${arg_REPO}" encoded_repo_path) + set(version_url "${arg_GITLAB_URL}/api/v4/projects/${encoded_repo_path}/repository/branches/${arg_HEAD_REF}") + vcpkg_download_distfile(archive_version + URLS "${version_url}" + FILENAME "${downloaded_file_name}.version" + ${headers_param} + SKIP_SHA512 + ALWAYS_REDOWNLOAD ) - if(NOT git_result EQUAL 0) - message(FATAL_ERROR "git ls-remote failed to read ref data of repository: '${gitlab_link}'") - endif() - if(NOT git_output MATCHES "^([a-f0-9]*)\t") - message(FATAL_ERROR "git ls-remote returned unexpected result: -${git_output} -") - endif() - # When multiple vcpkg_from_gitlab's are used after each other, only use the version from the first (hopefully the primary one). - if(NOT DEFINED VCPKG_HEAD_VERSION) - set(VCPKG_HEAD_VERSION "${CMAKE_MATCH_1}" PARENT_SCOPE) + # Parse the gitlab response with regex. + file(READ "${archive_version}" version_contents) + if(NOT version_contents MATCHES [["id":(\ *)"([a-f0-9]+)"]]) + message(FATAL_ERROR "Failed to parse API response from '${version_url}':\n${version_contents}\n") endif() + set(VCPKG_HEAD_VERSION "${CMAKE_MATCH_2}" PARENT_SCOPE) endif() # download the file information from gitlab diff --git a/scripts/cmake/vcpkg_from_sourceforge.cmake b/scripts/cmake/vcpkg_from_sourceforge.cmake index e1226c3b10adac..19772c30501468 100644 --- a/scripts/cmake/vcpkg_from_sourceforge.cmake +++ b/scripts/cmake/vcpkg_from_sourceforge.cmake @@ -1,167 +1,35 @@ -#[===[.md: -# vcpkg_from_sourceforge - -Download and extract a project from sourceforge. - -This function automatically checks a set of sourceforge mirrors. -Additional mirrors can be injected through the `VCPKG_SOURCEFORGE_EXTRA_MIRRORS` -list variable in the triplet. - -## Usage: -```cmake -vcpkg_from_sourceforge( - OUT_SOURCE_PATH SOURCE_PATH - REPO - [REF <2.1-3>] - SHA512 <547b417109332...> - FILENAME - [DISABLE_SSL] - [NO_REMOVE_ONE_LEVEL] - [PATCHES ...] -) -``` - -## Parameters: -### OUT_SOURCE_PATH -Specifies the out-variable that will contain the extracted location. - -This should be set to `SOURCE_PATH` by convention. - -### REPO -The organization or user and repository (optional) on sourceforge. - -### REF -A stable version number that will not change contents. - -### FILENAME -The local name for the file. Files are shared between ports, so the file may need to be renamed to make it clearly attributed to this port and avoid conflicts. - -For example, we can get the download link: -https://sourceforge.net/settings/mirror_choices?projectname=mad&filename=libmad/0.15.1b/libmad-0.15.1b.tar.gz&selected=nchc -So the REPO is `mad/libmad`, the REF is `0.15.1b`, and the FILENAME is `libmad-0.15.1b.tar.gz` - -For some special links: -https://sourceforge.net/settings/mirror_choices?projectname=soxr&filename=soxr-0.1.3-Source.tar.xz&selected=nchc -The REPO is `soxr`, REF is not exist, and the FILENAME is `soxr-0.1.3-Source.tar.xz` - -### SHA512 -The SHA512 hash that should match the archive. - -This is most easily determined by first setting it to `0`, then trying to build the port. The error message will contain the full hash, which can be copied back into the portfile. - -### WORKING_DIRECTORY -If specified, the archive will be extracted into the working directory instead of `${CURRENT_BUILDTREES_DIR}/src/`. - -Note that the archive will still be extracted into a subfolder underneath that directory (`${WORKING_DIRECTORY}/${REF}-${HASH}/`). - -### PATCHES -A list of patches to be applied to the extracted sources. - -Relative paths are based on the port directory. - -### NO_REMOVE_ONE_LEVEL -Specifies that the default removal of the top level folder should not occur. - -## Examples: - -* [cunit](https://github.com/Microsoft/vcpkg/blob/master/ports/cunit/portfile.cmake) -* [polyclipping](https://github.com/Microsoft/vcpkg/blob/master/ports/polyclipping/portfile.cmake) -* [tinyfiledialogs](https://github.com/Microsoft/vcpkg/blob/master/ports/tinyfiledialogs/portfile.cmake) -#]===] - function(vcpkg_from_sourceforge) cmake_parse_arguments(PARSE_ARGV 0 "arg" "DISABLE_SSL;NO_REMOVE_ONE_LEVEL" "OUT_SOURCE_PATH;REPO;REF;SHA512;FILENAME;WORKING_DIRECTORY" "PATCHES") - if(NOT DEFINED arg_OUT_SOURCE_PATH) - message(FATAL_ERROR "OUT_SOURCE_PATH must be specified.") - endif() - if(NOT DEFINED arg_SHA512) - message(FATAL_ERROR "SHA512 must be specified.") - endif() - if(NOT DEFINED arg_REPO) - message(FATAL_ERROR "The sourceforge repository must be specified.") - endif() - + foreach(arg_name IN ITEMS OUT_SOURCE_PATH SHA512 REPO FILENAME) + if(NOT DEFINED "arg_${arg_name}") + message(FATAL_ERROR "${arg_name} is required.") + endif() + endforeach() if(arg_DISABLE_SSL) message(WARNING "DISABLE_SSL has been deprecated and has no effect") endif() - - set(sourceforge_host "https://sourceforge.net/projects") - - if(arg_REPO MATCHES "^([^/]*)$") # just one element - set(org_name "${CMAKE_MATCH_1}") - set(repo_name "") - elseif(arg_REPO MATCHES "^([^/]*)/([^/]*)$") # two elements - set(org_name "${CMAKE_MATCH_1}") - set(repo_name "${CMAKE_MATCH_2}") - else() - message(FATAL_ERROR "REPO (${arg_REPO}) is not a valid repo name. It must be: - - an organization name without any slashes, or - - an organization name followed by a repository name separated by a single slash") - endif() - - if(DEFINED arg_REF) - set(url "${sourceforge_host}/${org_name}/files/${repo_name}/${arg_REF}/${arg_FILENAME}") - elseif(DEFINED repo_name) - set(url "${sourceforge_host}/${org_name}/${repo_name}/files/${arg_FILENAME}") - else() - set(url "${sourceforge_host}/${org_name}/files/${arg_FILENAME}") - endif() - - string(SUBSTRING "${arg_SHA512}" 0 10 sanitized_ref) - set(sourceforge_mirrors - cfhcable # United States - pilotfiber # New York, NY - gigenet # Chicago, IL - versaweb # Las Vegas, NV - ayera # Modesto, CA - netactuate # Durham, NC - phoenixnap # Tempe, AZ - astuteinternet # Vancouver, BC - freefr # Paris, France - netcologne # Cologne, Germany - deac-riga # Latvia - excellmedia # Hyderabad, India - iweb # Montreal, QC - jaist # Nomi, Japan - jztkft # Mezotur, Hungary - managedway # Detroit, MI - nchc # Taipei, Taiwan - netix # Bulgaria - ufpr # Curitiba, Brazil - tenet # Wynberg, South Africa - ) - if(DEFINED SOURCEFORGE_MIRRORS AND NOT DEFINED VCPKG_SOURCEFORGE_EXTRA_MIRRORS) - message(WARNING "Extension point SOURCEFORGE_MIRRORS has been deprecated. - Please use the replacement VCPKG_SOURCEFORGE_EXTRA_MIRRORS variable instead.") - list(APPEND sourceforge_mirrors "${SOURCEFORGE_MIRRORS}") - list(REMOVE_DUPLICATES sourceforge_mirrors) - elseif(DEFINED VCPKG_SOURCEFORGE_EXTRA_MIRRORS) - list(APPEND sourceforge_mirrors "${VCPKG_SOURCEFORGE_EXTRA_MIRRORS}") - list(REMOVE_DUPLICATES sourceforge_mirrors) + if(DEFINED arg_UNPARSED_ARGUMENTS) + message(FATAL_ERROR "Unrecognized arguments: ${arg_UNPARSED_ARGUMENTS}") endif() - set(all_urls "${url}/download") - foreach(mirror IN LISTS sourceforge_mirrors) - list(APPEND all_urls "${url}/download?use_mirror=${mirror}") - endforeach() - - vcpkg_download_distfile(ARCHIVE - URLS ${all_urls} + vcpkg_download_sourceforge(ARCHIVE + REPO "${arg_REPO}" + REF "${arg_REF}" SHA512 "${arg_SHA512}" FILENAME "${arg_FILENAME}" ) set(no_remove_one_level_param "") - set(working_directory_param "") if(arg_NO_REMOVE_ONE_LEVEL) set(no_remove_one_level_param "NO_REMOVE_ONE_LEVEL") endif() + set(working_directory_param "") if(DEFINED arg_WORKING_DIRECTORY) set(working_directory_param "WORKING_DIRECTORY" "${arg_WORKING_DIRECTORY}") endif() diff --git a/scripts/cmake/vcpkg_get_program_files_platform_bitness.cmake b/scripts/cmake/vcpkg_get_program_files_platform_bitness.cmake index b40b24c42d2497..b24b4d0712e178 100644 --- a/scripts/cmake/vcpkg_get_program_files_platform_bitness.cmake +++ b/scripts/cmake/vcpkg_get_program_files_platform_bitness.cmake @@ -1,16 +1,3 @@ -#[===[.md: -# vcpkg_get_program_files_platform_bitness - -Get the Program Files directory of the current platform's bitness: -either `$ENV{ProgramW6432}` on 64-bit windows, -or `$ENV{PROGRAMFILES}` on 32-bit windows. - -## Usage: -```cmake -vcpkg_get_program_files_platform_bitness() -``` -#]===] - function(vcpkg_get_program_files_platform_bitness out_var) if(DEFINED ENV{ProgramW6432}) set("${out_var}" "$ENV{ProgramW6432}" PARENT_SCOPE) diff --git a/scripts/cmake/vcpkg_get_windows_sdk.cmake b/scripts/cmake/vcpkg_get_windows_sdk.cmake index 0a80d4c76c3706..4c58d0770e88cb 100644 --- a/scripts/cmake/vcpkg_get_windows_sdk.cmake +++ b/scripts/cmake/vcpkg_get_windows_sdk.cmake @@ -1,16 +1,5 @@ -#[===[.md: -# vcpkg_get_windows_sdk - -Get the Windows SDK number. - -## Usage: -```cmake -vcpkg_get_windows_sdk() -``` -#]===] - function(vcpkg_get_windows_sdk out_var) - if("$ENV{WindowsSDKVersion}" MATCHES [[^([0-9.]*)\\?$]]) + if("$ENV{WindowsSDKVersion}" MATCHES [[^([0-9.]*)(\\|/)?$]]) set("${out_var}" "${CMAKE_MATCH_1}" PARENT_SCOPE) else() message(FATAL_ERROR "Unexpected format for ENV{WindowsSDKVersion} ($ENV{WindowsSDKVersion})") diff --git a/scripts/cmake/vcpkg_host_path_list.cmake b/scripts/cmake/vcpkg_host_path_list.cmake index 3495e803f877e7..81365f62c17a71 100644 --- a/scripts/cmake/vcpkg_host_path_list.cmake +++ b/scripts/cmake/vcpkg_host_path_list.cmake @@ -1,30 +1,3 @@ -#[===[ -# vcpkg_host_path_list - -Modify a host path list variable (PATH, INCLUDE, LIBPATH, etc.) - -```cmake -vcpkg_host_path_list(PREPEND [...]) -vcpkg_host_path_list(APPEND [...]) -vcpkg_host_path_list(SET [...]) -``` - -`` may be either a regular variable name, or `ENV{variable-name}`, -in which case `vcpkg_host_path_list` will modify the environment. - -`vcpkg_host_path_list` adds all of the paths passed to it to ``; -`PREPEND` puts them before the existing list, so that they are searched first; -`APPEND` places them after the existing list, -so they would be searched after the paths which are already in the variable, -and `SET` replaces the value of the existing list. - -For all of `APPEND`, `PREPEND`, and `SET`, -the paths are added (and thus searched) in the order received. - -If no paths are passed to `APPEND` or `PREPEND`, nothing will be done; -for `SET`, the variable will be set to the empty string. -#]===] - function(z_vcpkg_translate_to_host_path_list out_var lst) if(NOT DEFINED arg_UNPARSED_ARGUMENTS) set("${out_var}" "" PARENT_SCOPE) @@ -78,7 +51,7 @@ function(vcpkg_host_path_list) # do nothing elseif("${list}" STREQUAL "") set(list "${arguments}") - elseif(arg_PREPEND) + elseif("${operation}" STREQUAL "PREPEND") set(list "${arguments}${VCPKG_HOST_PATH_SEPARATOR}${list}") else() set(list "${list}${VCPKG_HOST_PATH_SEPARATOR}${arguments}") diff --git a/scripts/cmake/vcpkg_install_cmake.cmake b/scripts/cmake/vcpkg_install_cmake.cmake index 9582419ecd4eaa..df7d7bf6162f53 100644 --- a/scripts/cmake/vcpkg_install_cmake.cmake +++ b/scripts/cmake/vcpkg_install_cmake.cmake @@ -1,29 +1,3 @@ -# DEPRECATED BY ports/vcpkg-cmake/vcpkg_cmake_install -#[===[.md: -# vcpkg_install_cmake - -Build and install a cmake project. - -## Usage: -```cmake -vcpkg_install_cmake(...) -``` - -## Parameters: -See [`vcpkg_build_cmake()`](vcpkg_build_cmake.md). - -## Notes: -This command transparently forwards to [`vcpkg_build_cmake()`](vcpkg_build_cmake.md), adding a `TARGET install` -parameter. - -## Examples: - -* [zlib](https://github.com/Microsoft/vcpkg/blob/master/ports/zlib/portfile.cmake) -* [cpprestsdk](https://github.com/Microsoft/vcpkg/blob/master/ports/cpprestsdk/portfile.cmake) -* [poco](https://github.com/Microsoft/vcpkg/blob/master/ports/poco/portfile.cmake) -* [opencv](https://github.com/Microsoft/vcpkg/blob/master/ports/opencv/portfile.cmake) -#]===] - function(vcpkg_install_cmake) if(Z_VCPKG_CMAKE_INSTALL_GUARD) message(FATAL_ERROR "The ${PORT} port already depends on vcpkg-cmake; using both vcpkg-cmake and vcpkg_install_cmake in the same port is unsupported.") diff --git a/scripts/cmake/vcpkg_install_copyright.cmake b/scripts/cmake/vcpkg_install_copyright.cmake new file mode 100644 index 00000000000000..061eba567d06fd --- /dev/null +++ b/scripts/cmake/vcpkg_install_copyright.cmake @@ -0,0 +1,42 @@ +function(vcpkg_install_copyright) + cmake_parse_arguments(PARSE_ARGV 0 arg "" "COMMENT" "FILE_LIST") + + if(DEFINED arg_UNPARSED_ARGUMENTS) + message(FATAL_ERROR "${CMAKE_CURRENT_FUNCTION} was passed extra arguments: ${arg_UNPARSED_ARGUMENTS}") + endif() + + if(NOT DEFINED arg_FILE_LIST) + message(FATAL_ERROR "FILE_LIST must be specified") + endif() + + list(LENGTH arg_FILE_LIST FILE_LIST_LENGTH) + set(out_string "") + + if(FILE_LIST_LENGTH LESS_EQUAL 0) + message(FATAL_ERROR "FILE_LIST must contain at least one file") + elseif(FILE_LIST_LENGTH EQUAL 1) + if(arg_COMMENT) + file(READ "${arg_FILE_LIST}" out_string) + else() + file(INSTALL "${arg_FILE_LIST}" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) + return() + endif() + else() + foreach(file_item IN LISTS arg_FILE_LIST) + if(NOT EXISTS "${file_item}") + message(FATAL_ERROR "\n${CMAKE_CURRENT_FUNCTION} was passed a non-existing path: ${file_item}\n") + endif() + + get_filename_component(file_name "${file_item}" NAME) + file(READ "${file_item}" file_contents) + + string(APPEND out_string "${file_name}:\n\n${file_contents}\n\n") + endforeach() + endif() + + if(arg_COMMENT) + string(PREPEND out_string "${arg_COMMENT}\n\n") + endif() + + file(WRITE "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" "${out_string}") +endfunction() diff --git a/scripts/cmake/vcpkg_install_gn.cmake b/scripts/cmake/vcpkg_install_gn.cmake index ac16fac1432895..5d96cbd9461607 100644 --- a/scripts/cmake/vcpkg_install_gn.cmake +++ b/scripts/cmake/vcpkg_install_gn.cmake @@ -1,30 +1,3 @@ -#[===[.md: -# vcpkg_install_gn - -Installs a GN project. - -In order to build a GN project without installing, use [`vcpkg_build_ninja()`]. - -## Usage: -```cmake -vcpkg_install_gn( - SOURCE_PATH - [TARGETS ...] -) -``` - -## Parameters: -### SOURCE_PATH -The path to the source directory - -### TARGETS -Only install the specified targets. - -Note: includes must be handled separately - -[`vcpkg_build_ninja()`]: vcpkg_build_ninja.md -#]===] - function(z_vcpkg_install_gn_get_target_type out_var) cmake_parse_arguments(PARSE_ARGV 1 "arg" "" "SOURCE_PATH;BUILD_DIR;TARGET" "") if(DEFINED arg_UNPARSED_ARGUMENTS) @@ -107,8 +80,13 @@ function(z_vcpkg_install_gn_install) endfunction() function(vcpkg_install_gn) - cmake_parse_arguments(PARSE_ARGV 0 arg "" "SOURCE_PATH" "TARGETS") + if(Z_VCPKG_GN_INSTALL_GUARD) + message(FATAL_ERROR "The ${PORT} port already depends on vcpkg-gn; using both vcpkg-gn and vcpkg_install_gn in the same port is unsupported.") + else() + message("${Z_VCPKG_BACKCOMPAT_MESSAGE_LEVEL}" "This function 'vcpkg_install_gn' is obsolete. Use 'vcpkg_gn_install' in port 'vcpkg-gn'.") + endif() + cmake_parse_arguments(PARSE_ARGV 0 arg "" "SOURCE_PATH" "TARGETS") if(DEFINED arg_UNPARSED_ARGUMENTS) message(WARNING "vcpkg_install_gn was passed extra arguments: ${arg_UNPARSED_ARGUMENTS}") endif() diff --git a/scripts/cmake/vcpkg_install_make.cmake b/scripts/cmake/vcpkg_install_make.cmake index f622edd406ad6b..281b6237a06c9a 100644 --- a/scripts/cmake/vcpkg_install_make.cmake +++ b/scripts/cmake/vcpkg_install_make.cmake @@ -1,27 +1,3 @@ -#[===[.md: -# vcpkg_install_make - -Build and install a make project. - -## Usage: -```cmake -vcpkg_install_make(...) -``` - -## Parameters: -See [`vcpkg_build_make()`](vcpkg_build_make.md). - -## Notes: -This command transparently forwards to [`vcpkg_build_make()`](vcpkg_build_make.md), adding `ENABLE_INSTALL` - -## Examples - -* [x264](https://github.com/Microsoft/vcpkg/blob/master/ports/x264/portfile.cmake) -* [tcl](https://github.com/Microsoft/vcpkg/blob/master/ports/tcl/portfile.cmake) -* [freexl](https://github.com/Microsoft/vcpkg/blob/master/ports/freexl/portfile.cmake) -* [libosip2](https://github.com/Microsoft/vcpkg/blob/master/ports/libosip2/portfile.cmake) -#]===] - function(vcpkg_install_make) vcpkg_build_make( ${ARGN} diff --git a/scripts/cmake/vcpkg_install_meson.cmake b/scripts/cmake/vcpkg_install_meson.cmake index e59162d0a43a73..0351f271a4d5f7 100644 --- a/scripts/cmake/vcpkg_install_meson.cmake +++ b/scripts/cmake/vcpkg_install_meson.cmake @@ -1,23 +1,3 @@ -#[===[.md: -# vcpkg_install_meson - -Builds a meson project previously configured with `vcpkg_configure_meson()`. - -## Usage -```cmake -vcpkg_install_meson([ADD_BIN_TO_PATH]) -``` - -## Parameters: -### ADD_BIN_TO_PATH -Adds the appropriate Release and Debug `bin\` directories to the path during the build such that executables can run against the in-tree DLLs. - -## Examples - -* [fribidi](https://github.com/Microsoft/vcpkg/blob/master/ports/fribidi/portfile.cmake) -* [libepoxy](https://github.com/Microsoft/vcpkg/blob/master/ports/libepoxy/portfile.cmake) -#]===] - function(vcpkg_install_meson) cmake_parse_arguments(PARSE_ARGV 0 arg "ADD_BIN_TO_PATH" "" "") @@ -80,7 +60,7 @@ function(vcpkg_install_meson) file(GLOB_RECURSE cmake_files "${CURRENT_PACKAGES_DIR}*/*.cmake") foreach(cmake_file IN LISTS cmake_files) foreach(current_lib IN LISTS renamed_libs) - vcpkg_replace_string("${cmake_file}" "${${current_lib}_old}" "${${current_lib}_new}") + vcpkg_replace_string("${cmake_file}" "${${current_lib}_old}" "${${current_lib}_new}" IGNORE_UNCHANGED) endforeach() endforeach() endif() diff --git a/scripts/cmake/vcpkg_install_msbuild.cmake b/scripts/cmake/vcpkg_install_msbuild.cmake index 580e86ab22c5af..01d901155f967d 100644 --- a/scripts/cmake/vcpkg_install_msbuild.cmake +++ b/scripts/cmake/vcpkg_install_msbuild.cmake @@ -1,96 +1,3 @@ -#[===[.md: -# vcpkg_install_msbuild - -Build and install a msbuild-based project. This replaces `vcpkg_build_msbuild()`. - -## Usage -```cmake -vcpkg_install_msbuild( - SOURCE_PATH <${SOURCE_PATH}> - PROJECT_SUBPATH - [INCLUDES_SUBPATH ] - [LICENSE_SUBPATH ] - [RELEASE_CONFIGURATION ] - [DEBUG_CONFIGURATION ] - [TARGET ] - [TARGET_PLATFORM_VERSION <10.0.15063.0>] - [PLATFORM <${TRIPLET_SYSTEM_ARCH}>] - [PLATFORM_TOOLSET <${VCPKG_PLATFORM_TOOLSET}>] - [OPTIONS ...] - [OPTIONS_RELEASE ...] - [OPTIONS_DEBUG ...] - [USE_VCPKG_INTEGRATION] - [ALLOW_ROOT_INCLUDES | REMOVE_ROOT_INCLUDES] -) -``` - -## Parameters -### SOURCE_PATH -The path to the root of the source tree. - -Because MSBuild uses in-source builds, the source tree will be copied into a temporary location for the build. This -parameter is the base for that copy and forms the base for all XYZ_SUBPATH options. - -### USE_VCPKG_INTEGRATION -Apply the normal `integrate install` integration for building the project. - -By default, projects built with this command will not automatically link libraries or have header paths set. - -### PROJECT_SUBPATH -The subpath to the solution (`.sln`) or project (`.vcxproj`) file relative to `SOURCE_PATH`. - -### LICENSE_SUBPATH -The subpath to the license file relative to `SOURCE_PATH`. - -### INCLUDES_SUBPATH -The subpath to the includes directory relative to `SOURCE_PATH`. - -This parameter should be a directory and should not end in a trailing slash. - -### ALLOW_ROOT_INCLUDES -Indicates that top-level include files (e.g. `include/zlib.h`) should be allowed. - -### REMOVE_ROOT_INCLUDES -Indicates that top-level include files (e.g. `include/Makefile.am`) should be removed. - -### SKIP_CLEAN -Indicates that the intermediate files should not be removed. - -Ports using this option should later call [`vcpkg_clean_msbuild()`](vcpkg_clean_msbuild.md) to manually clean up. - -### RELEASE_CONFIGURATION -The configuration (``/p:Configuration`` msbuild parameter) used for Release builds. - -### DEBUG_CONFIGURATION -The configuration (``/p:Configuration`` msbuild parameter) used for Debug builds. - -### TARGET_PLATFORM_VERSION -The WindowsTargetPlatformVersion (``/p:WindowsTargetPlatformVersion`` msbuild parameter) - -### TARGET -The MSBuild target to build. (``/t:``) - -### PLATFORM -The platform (``/p:Platform`` msbuild parameter) used for the build. - -### PLATFORM_TOOLSET -The platform toolset (``/p:PlatformToolset`` msbuild parameter) used for the build. - -### OPTIONS -Additional options passed to msbuild for all builds. - -### OPTIONS_RELEASE -Additional options passed to msbuild for Release builds. These are in addition to `OPTIONS`. - -### OPTIONS_DEBUG -Additional options passed to msbuild for Debug builds. These are in addition to `OPTIONS`. - -## Examples - -* [libirecovery](https://github.com/Microsoft/vcpkg/blob/master/ports/libirecovery/portfile.cmake) -* [libfabric](https://github.com/Microsoft/vcpkg/blob/master/ports/libfabric/portfile.cmake) -#]===] - function(vcpkg_install_msbuild) cmake_parse_arguments( PARSE_ARGV 0 @@ -226,6 +133,14 @@ function(vcpkg_install_msbuild) file(COPY "${arg_SOURCE_PATH}/${arg_INCLUDES_SUBPATH}/" DESTINATION "${CURRENT_PACKAGES_DIR}/include/" ) + file(GLOB_RECURSE all_am_file "${CURRENT_PACKAGES_DIR}/include/*.am") + file(GLOB_RECURSE all_in_file "${CURRENT_PACKAGES_DIR}/include/*.in") + if(NOT "${all_am_file}" STREQUAL "") + file(REMOVE ${all_am_file}) + endif() + if(NOT "${all_in_file}" STREQUAL "") + file(REMOVE ${all_in_file}) + endif() file(GLOB root_includes LIST_DIRECTORIES false "${CURRENT_PACKAGES_DIR}/include/*") diff --git a/scripts/cmake/vcpkg_install_nmake.cmake b/scripts/cmake/vcpkg_install_nmake.cmake index 2a3cb827068f73..16dcd629e5060c 100644 --- a/scripts/cmake/vcpkg_install_nmake.cmake +++ b/scripts/cmake/vcpkg_install_nmake.cmake @@ -1,69 +1,3 @@ -#[===[.md: -# vcpkg_install_nmake - -Build and install a msvc makefile project. - -## Usage: -```cmake -vcpkg_install_nmake( - SOURCE_PATH <${SOURCE_PATH}> - [NO_DEBUG] - [TARGET ] - PROJECT_SUBPATH <${SUBPATH}> - PROJECT_NAME <${MAKEFILE_NAME}> - [PRERUN_SHELL <${SHELL_PATH}>] - [PRERUN_SHELL_DEBUG <${SHELL_PATH}>] - [PRERUN_SHELL_RELEASE <${SHELL_PATH}>] - [OPTIONS <-DUSE_THIS_IN_ALL_BUILDS=1>...] - [OPTIONS_RELEASE <-DOPTIMIZE=1>...] - [OPTIONS_DEBUG <-DDEBUGGABLE=1>...] -``` - -## Parameters -### SOURCE_PATH -Specifies the directory containing the source files. -By convention, this is usually set in the portfile as the variable `SOURCE_PATH`. - -### PROJECT_SUBPATH -Specifies the sub directory containing the `makefile.vc`/`makefile.mak`/`makefile.msvc` or other msvc makefile. - -### PROJECT_NAME -Specifies the name of msvc makefile name. -Default is makefile.vc - -### NO_DEBUG -This port doesn't support debug mode. - -### PRERUN_SHELL -Script that needs to be called before build - -### PRERUN_SHELL_DEBUG -Script that needs to be called before debug build - -### PRERUN_SHELL_RELEASE -Script that needs to be called before release build - -### OPTIONS -Additional options passed to generate during the generation. - -### OPTIONS_RELEASE -Additional options passed to generate during the Release generation. These are in addition to `OPTIONS`. - -### OPTIONS_DEBUG -Additional options passed to generate during the Debug generation. These are in addition to `OPTIONS`. - -## Parameters: -See [`vcpkg_build_nmake()`](vcpkg_build_nmake.md). - -## Notes: -This command transparently forwards to [`vcpkg_build_nmake()`](vcpkg_build_nmake.md), adding `ENABLE_INSTALL` - -## Examples - -* [tcl](https://github.com/Microsoft/vcpkg/blob/master/ports/tcl/portfile.cmake) -* [freexl](https://github.com/Microsoft/vcpkg/blob/master/ports/freexl/portfile.cmake) -#]===] - function(vcpkg_install_nmake) vcpkg_list(SET multi_value_args TARGET @@ -71,8 +5,8 @@ function(vcpkg_install_nmake) PRERUN_SHELL PRERUN_SHELL_DEBUG PRERUN_SHELL_RELEASE) cmake_parse_arguments(PARSE_ARGV 0 arg - "NO_DEBUG" - "SOURCE_PATH;PROJECT_SUBPATH;PROJECT_NAME" + "NO_DEBUG;PREFER_JOM" + "SOURCE_PATH;PROJECT_SUBPATH;PROJECT_NAME;CL_LANGUAGE" "${multi_value_args}" ) if(DEFINED arg_UNPARSED_ARGUMENTS) @@ -97,9 +31,12 @@ function(vcpkg_install_nmake) if(arg_NO_DEBUG) vcpkg_list(APPEND extra_args NO_DEBUG) endif() + if(arg_PREFER_JOM) + vcpkg_list(APPEND extra_args PREFER_JOM) + endif() # single args - foreach(arg IN ITEMS PROJECT_SUBPATH PROJECT_NAME) + foreach(arg IN ITEMS PROJECT_SUBPATH PROJECT_NAME CL_LANGUAGE) if(DEFINED "arg_${arg}") vcpkg_list(APPEND extra_args ${arg} "${arg_${arg}}") endif() diff --git a/scripts/cmake/vcpkg_install_qmake.cmake b/scripts/cmake/vcpkg_install_qmake.cmake index 38d9eacf9d2814..c665486273106f 100644 --- a/scripts/cmake/vcpkg_install_qmake.cmake +++ b/scripts/cmake/vcpkg_install_qmake.cmake @@ -1,27 +1,3 @@ -#[===[.md: -# vcpkg_install_qmake - -Build and install a qmake project. - -## Usage: -```cmake -vcpkg_install_qmake(...) -``` - -## Parameters: -See [`vcpkg_build_qmake()`](vcpkg_build_qmake.md). - -## Notes: -This command transparently forwards to [`vcpkg_build_qmake()`](vcpkg_build_qmake.md). - -Additionally, this command will copy produced .libs/.dlls/.as/.dylibs/.sos to the appropriate -staging directories. - -## Examples - -* [libqglviewer](https://github.com/Microsoft/vcpkg/blob/master/ports/libqglviewer/portfile.cmake) -#]===] - function(vcpkg_install_qmake) z_vcpkg_function_arguments(args) diff --git a/scripts/cmake/vcpkg_list.cmake b/scripts/cmake/vcpkg_list.cmake index 74523dc62eb586..d7fa0fe5bfe32d 100644 --- a/scripts/cmake/vcpkg_list.cmake +++ b/scripts/cmake/vcpkg_list.cmake @@ -1,95 +1,3 @@ -#[===[.md: -# vcpkg_list - -A replacement for CMake's `list()` function, which correctly handles elements -with internal semicolons (in other words, escaped semicolons). -Use `vcpkg_list()` instead of `list()` whenever possible. - -```cmake -vcpkg_list(SET [...]) -vcpkg_list( [...]) -``` - -In addition to all of the commands from `list()`, `vcpkg_list` adds -a `vcpkg_list(SET)` command. -This command takes its arguments, escapes them, and then concatenates -them into a list; this should be used instead of `set()` for setting any -list variable. - -Otherwise, the `vcpkg_list()` function is the same as the built-in -`list()` function, with the following restrictions: - -- `GET`, `REMOVE_ITEM`, and `REMOVE_AT` support only one index/value -- `POP_BACK` and `POP_FRONT` do not support getting the value into - another out variable. Use C++ style `GET` then `POP_(BACK|FRONT)`. -- `FILTER` and `TRANSFORM` are unsupported. - -See the [CMake documentation for `list()`](https://cmake.org/cmake/help/latest/command/list.html) -for more information. - -## Notes: Some Weirdnesses - -The most major weirdness is due to `""` pulling double-duty as "list of zero elements", -and "list of one element, which is empty". `vcpkg_list` always uses the former understanding. -This can cause weird behavior, for example: - -```cmake -set(lst "") -vcpkg_list(APPEND lst "" "") -# lst = ";" -``` - -This is because you're appending two elements to the empty list. -One very weird behavior that comes out of this would be: - -```cmake -set(lst "") -vcpkg_list(APPEND lst "") -# lst = "" -``` - -since `""` is the empty list, we append the empty element and end up with a list -of one element, which is empty. This does not happen for non-empty lists; -for example: - -```cmake -set(lst "a") -vcpkg_list(APPEND lst "") -# lst = "a;" -``` - -only the empty list has this odd behavior. - -## Examples - -### Creating a list - -```cmake -vcpkg_list(SET foo_param) -if(DEFINED arg_FOO) - vcpkg_list(SET foo_param FOO "${arg_FOO}") -endif() -``` - -### Appending to a list - -```cmake -set(OPTIONS -DFOO=BAR) -if(VCPKG_TARGET_IS_WINDOWS) - vcpkg_list(APPEND OPTIONS "-DOS=WINDOWS;FOO") -endif() -``` - -### Popping the end off a list - -```cmake -if(NOT list STREQUAL "") - vcpkg_list(GET list end -1) - vcpkg_list(POP_BACK list) -endif() -``` -#]===] - macro(z_vcpkg_list_escape_once_more lst) string(REPLACE [[\;]] [[\\;]] "${lst}" "${${lst}}") endmacro() diff --git a/scripts/cmake/vcpkg_minimum_required.cmake b/scripts/cmake/vcpkg_minimum_required.cmake index a8f3a1265e26e1..1ef14963b43df5 100644 --- a/scripts/cmake/vcpkg_minimum_required.cmake +++ b/scripts/cmake/vcpkg_minimum_required.cmake @@ -1,18 +1,3 @@ -#[===[.md: -# vcpkg_minimum_required - -Asserts that the version of the vcpkg program being used to build a port is later than the supplied date, inclusive. - -## Usage -```cmake -vcpkg_minimum_required(VERSION 2021-01-13) -``` - -## Parameters -### VERSION -The date-version to check against. -#]===] - function(vcpkg_minimum_required) cmake_parse_arguments(PARSE_ARGV 0 arg "" "VERSION" "") if(NOT DEFINED VCPKG_BASE_VERSION) diff --git a/scripts/cmake/vcpkg_replace_string.cmake b/scripts/cmake/vcpkg_replace_string.cmake index 1f8b37b656fb6a..1778f6e3aaf531 100644 --- a/scripts/cmake/vcpkg_replace_string.cmake +++ b/scripts/cmake/vcpkg_replace_string.cmake @@ -1,15 +1,20 @@ -#[===[.md: -# vcpkg_replace_string - -Replace a string in a file. - -```cmake -vcpkg_replace_string( ) -``` -#]===] - function(vcpkg_replace_string filename match replace) + cmake_parse_arguments(PARSE_ARGV 3 "arg" "REGEX;IGNORE_UNCHANGED" "" "") + if(arg_REGEX) + set(arg_REGEX "REGEX") + else() + if("${match}" STREQUAL "${replace}") + return() # Avoid reading the file or triggering warnings + endif() + + set(arg_REGEX "") + endif () file(READ "${filename}" contents) - string(REPLACE "${match}" "${replace}" contents "${contents}") + string(SHA512 before_hash "${contents}") + string(${arg_REGEX} REPLACE "${match}" "${replace}" contents "${contents}") + string(SHA512 after_hash "${contents}") + if(NOT arg_IGNORE_UNCHANGED AND "${before_hash}" STREQUAL "${after_hash}") + message("${Z_VCPKG_BACKCOMPAT_MESSAGE_LEVEL}" "vcpkg_replace_string made no changes.") + endif() file(WRITE "${filename}" "${contents}") endfunction() diff --git a/scripts/cmake/z_vcpkg_apply_patches.cmake b/scripts/cmake/z_vcpkg_apply_patches.cmake index 64eb6aa1b6a61f..9a270ba2b36638 100644 --- a/scripts/cmake/z_vcpkg_apply_patches.cmake +++ b/scripts/cmake/z_vcpkg_apply_patches.cmake @@ -1,33 +1,3 @@ -#[===[.md: -# z_vcpkg_apply_patches - -**Only for internal use in vcpkg helpers. Behavior and arguments will change without notice.** - -Apply a set of patches to a source tree. - -```cmake -z_vcpkg_apply_patches( - SOURCE_PATH - [QUIET] - PATCHES ... -) -``` - -The `` should be set to `${SOURCE_PATH}` by convention, -and is the path to apply the patches in. - -`z_vcpkg_apply_patches` will take the list of ``es, -which are by default relative to the port directory, -and apply them in order using `git apply`. -Generally, these ``es take the form of `some.patch` -to select patches in the port directory. -One may also download patches and use `${VCPKG_DOWNLOADS}/path/to/some.patch`. - -If `QUIET` is not passed, it is a fatal error for a patch to fail to apply; -otherwise, if `QUIET` is passed, no message is printed. -This should only be used for edge cases, such as patches that are known to fail even on a clean source tree. -#]===] - function(z_vcpkg_apply_patches) cmake_parse_arguments(PARSE_ARGV 0 "arg" "QUIET" "SOURCE_PATH" "PATCHES") @@ -49,7 +19,7 @@ function(z_vcpkg_apply_patches) message(STATUS "Applying patch ${patch}") set(logname "patch-${TARGET_TRIPLET}-${patchnum}") vcpkg_execute_in_download_mode( - COMMAND "${GIT}" -c core.longpaths=true -c core.autocrlf=false --work-tree=. --git-dir=.git apply "${absolute_patch}" --ignore-whitespace --whitespace=nowarn --verbose + COMMAND "${GIT}" -c core.longpaths=true -c core.autocrlf=false -c core.filemode=true --work-tree=. --git-dir=.git apply "${absolute_patch}" --ignore-whitespace --whitespace=nowarn --verbose OUTPUT_FILE "${CURRENT_BUILDTREES_DIR}/${logname}-out.log" ERROR_VARIABLE error WORKING_DIRECTORY "${arg_SOURCE_PATH}" @@ -57,8 +27,12 @@ function(z_vcpkg_apply_patches) ) file(WRITE "${CURRENT_BUILDTREES_DIR}/${logname}-err.log" "${error}") - if(error_code AND NOT arg_QUIET) - message(FATAL_ERROR "Applying patch failed: ${error}") + if(error_code) + if(arg_QUIET) + message(STATUS "Applying patch ${patch} - failure silenced") + else() + message(FATAL_ERROR "Applying patch failed: ${error}") + endif() endif() math(EXPR patchnum "${patchnum} + 1") diff --git a/scripts/cmake/z_vcpkg_fixup_rpath.cmake b/scripts/cmake/z_vcpkg_fixup_rpath.cmake new file mode 100644 index 00000000000000..fb3d05842fcaee --- /dev/null +++ b/scripts/cmake/z_vcpkg_fixup_rpath.cmake @@ -0,0 +1,131 @@ +function(z_vcpkg_calculate_corrected_rpath) + cmake_parse_arguments(PARSE_ARGV 0 "arg" + "" + "ELF_FILE_DIR;ORG_RPATH;OUT_NEW_RPATH_VAR" + "") + + set(current_prefix "${CURRENT_PACKAGES_DIR}") + set(current_installed_prefix "${CURRENT_INSTALLED_DIR}") + file(RELATIVE_PATH relative_from_packages "${CURRENT_PACKAGES_DIR}" "${arg_ELF_FILE_DIR}") + if("${relative_from_packages}/" MATCHES "^debug/|^(manual-tools|tools)/[^/]*/debug/") + set(current_prefix "${CURRENT_PACKAGES_DIR}/debug") + set(current_installed_prefix "${CURRENT_INSTALLED_DIR}/debug") + endif() + + # compute path relative to lib + file(RELATIVE_PATH relative_to_lib "${arg_ELF_FILE_DIR}" "${current_prefix}/lib") + # compute path relative to prefix + file(RELATIVE_PATH relative_to_prefix "${arg_ELF_FILE_DIR}" "${current_prefix}") + + set(rpath_norm "") + if(NOT "${arg_ORG_RPATH}" STREQUAL "") + cmake_path(CONVERT "${arg_ORG_RPATH}" TO_CMAKE_PATH_LIST rpath_norm) + + # pattern matching helpers + list(TRANSFORM rpath_norm PREPEND "::") + list(TRANSFORM rpath_norm APPEND "/") + + string(REPLACE "::${arg_ELF_FILE_DIR}/" "::\$ORIGIN/" rpath_norm "${rpath_norm}") + # Remove unnecessary up/down ; don't use normalize $ORIGIN/../ will be removed otherwise + string(REPLACE "/lib/pkgconfig/../../" "/" rpath_norm "${rpath_norm}") + # lib relative corrections + string(REPLACE "::${current_prefix}/lib/" "::\$ORIGIN/${relative_to_lib}/" rpath_norm "${rpath_norm}") + string(REPLACE "::${current_installed_prefix}/lib/" "::\$ORIGIN/${relative_to_lib}/" rpath_norm "${rpath_norm}") + # prefix relativ + string(REPLACE "::${current_prefix}/" "::\$ORIGIN/${relative_to_prefix}/" rpath_norm "${rpath_norm}") + string(REPLACE "::${current_installed_prefix}/" "::\$ORIGIN/${relative_to_prefix}/" rpath_norm "${rpath_norm}") + + if(NOT X_VCPKG_RPATH_KEEP_SYSTEM_PATHS) + list(FILTER rpath_norm INCLUDE REGEX "::\\\$ORIGIN.+") # Only keep paths relativ to ORIGIN + endif() + + # Path normalization + list(TRANSFORM rpath_norm REPLACE "/+" "/") + + # remove pattern matching helpers + list(TRANSFORM rpath_norm REPLACE "^::" "") + list(TRANSFORM rpath_norm REPLACE "/\$" "") + endif() + + if(NOT relative_to_lib STREQUAL "") + list(PREPEND rpath_norm "\$ORIGIN/${relative_to_lib}") + endif() + list(PREPEND rpath_norm "\$ORIGIN") # Make ORIGIN the first entry + list(TRANSFORM rpath_norm REPLACE "/$" "") + list(REMOVE_DUPLICATES rpath_norm) + cmake_path(CONVERT "${rpath_norm}" TO_NATIVE_PATH_LIST new_rpath) + + set("${arg_OUT_NEW_RPATH_VAR}" "${new_rpath}" PARENT_SCOPE) +endfunction() + +function(z_vcpkg_fixup_rpath_in_dir) + # We need to iterate trough everything because we + # can't predict where an elf file will be located + file(GLOB root_entries LIST_DIRECTORIES TRUE "${CURRENT_PACKAGES_DIR}/*") + + # Skip some folders for better throughput + list(APPEND folders_to_skip "include") + list(JOIN folders_to_skip "|" folders_to_skip_regex) + set(folders_to_skip_regex "^(${folders_to_skip_regex})$") + + # In download mode, we don't know if we're going to need PATCHELF, so be pessimistic and fetch + # it so it ends up in the downloads directory. + if(VCPKG_DOWNLOAD_MODE) + vcpkg_find_acquire_program(PATCHELF) + endif() + + foreach(folder IN LISTS root_entries) + if(NOT IS_DIRECTORY "${folder}") + continue() + endif() + + get_filename_component(folder_name "${folder}" NAME) + if(folder_name MATCHES "${folders_to_skip_regex}") + continue() + endif() + + file(GLOB_RECURSE elf_files LIST_DIRECTORIES FALSE "${folder}/*") + list(FILTER elf_files EXCLUDE REGEX "\\\.(a|cpp|cc|cxx|c|hpp|h|hh|hxx|inc|json|toml|yaml|man|m4|ac|am|in|log|txt|pyi?|pyc|pyx|pxd|pc|cmake|f77|f90|f03|fi|f|cu|mod|ini|whl|cat|csv|rst|md|npy|npz|template|build)$") + list(FILTER elf_files EXCLUDE REGEX "/(copyright|LICENSE|METADATA)$") + + foreach(elf_file IN LISTS elf_files) + if(IS_SYMLINK "${elf_file}") + continue() + endif() + + vcpkg_find_acquire_program(PATCHELF) # Note that this relies on vcpkg_find_acquire_program short + # circuiting after the first run + # If this fails, the file is not an elf + execute_process( + COMMAND "${PATCHELF}" --print-rpath "${elf_file}" + OUTPUT_VARIABLE readelf_output + ERROR_VARIABLE read_rpath_error + ) + string(REPLACE "\n" "" readelf_output "${readelf_output}") + if(NOT "${read_rpath_error}" STREQUAL "") + continue() + endif() + + get_filename_component(elf_file_dir "${elf_file}" DIRECTORY) + + z_vcpkg_calculate_corrected_rpath( + ELF_FILE_DIR "${elf_file_dir}" + ORG_RPATH "${readelf_output}" + OUT_NEW_RPATH_VAR new_rpath + ) + + execute_process( + COMMAND "${PATCHELF}" --set-rpath "${new_rpath}" "${elf_file}" + OUTPUT_QUIET + ERROR_VARIABLE set_rpath_error + ) + + if(NOT "${set_rpath_error}" STREQUAL "") + message(WARNING "Couldn't adjust RPATH of '${elf_file}': ${set_rpath_error}") + continue() + endif() + + message(STATUS "Adjusted RPATH of '${elf_file}' (From '${readelf_output}' -> To '${new_rpath}')") + endforeach() + endforeach() +endfunction() diff --git a/scripts/cmake/z_vcpkg_fixup_rpath_macho.cmake b/scripts/cmake/z_vcpkg_fixup_rpath_macho.cmake new file mode 100644 index 00000000000000..b50472b3680a09 --- /dev/null +++ b/scripts/cmake/z_vcpkg_fixup_rpath_macho.cmake @@ -0,0 +1,164 @@ +function(z_vcpkg_calculate_corrected_macho_rpath) + cmake_parse_arguments(PARSE_ARGV 0 "arg" + "" + "MACHO_FILE_DIR;OUT_NEW_RPATH_VAR" + "") + + if(DEFINED arg_UNPARSED_ARGUMENTS) + message(FATAL_ERROR "${CMAKE_CURRENT_FUNCTION} was passed extra arguments: ${arg_UNPARSED_ARGUMENTS}") + endif() + + set(current_prefix "${CURRENT_PACKAGES_DIR}") + set(current_installed_prefix "${CURRENT_INSTALLED_DIR}") + file(RELATIVE_PATH relative_from_packages "${CURRENT_PACKAGES_DIR}" "${arg_MACHO_FILE_DIR}") + if("${relative_from_packages}/" MATCHES "^debug/" OR "${relative_from_packages}/" MATCHES "^(manual-)?tools/.*/debug/.*") + set(current_prefix "${CURRENT_PACKAGES_DIR}/debug") + set(current_installed_prefix "${CURRENT_INSTALLED_DIR}/debug") + endif() + + # compute path relative to lib + file(RELATIVE_PATH relative_to_lib "${arg_MACHO_FILE_DIR}" "${current_prefix}/lib") + # remove trailing slash + string(REGEX REPLACE "/+$" "" relative_to_lib "${relative_to_lib}") + + if(NOT relative_to_lib STREQUAL "") + set(new_rpath "@loader_path/${relative_to_lib}") + else() + set(new_rpath "@loader_path") + endif() + + set("${arg_OUT_NEW_RPATH_VAR}" "${new_rpath}" PARENT_SCOPE) +endfunction() + +function(z_vcpkg_fixup_macho_rpath_in_dir) + # We need to iterate through everything because we + # can't predict where a Mach-O file will be located + file(GLOB root_entries LIST_DIRECTORIES TRUE "${CURRENT_PACKAGES_DIR}/*") + + # Skip some folders for better throughput + list(APPEND folders_to_skip "include") + list(JOIN folders_to_skip "|" folders_to_skip_regex) + set(folders_to_skip_regex "^(${folders_to_skip_regex})$") + + find_program( + install_name_tool_cmd + NAMES install_name_tool + DOC "Absolute path of install_name_tool cmd" + REQUIRED + ) + + find_program( + otool_cmd + NAMES otool + DOC "Absolute path of otool cmd" + REQUIRED + ) + + find_program( + file_cmd + NAMES file + DOC "Absolute path of file cmd" + REQUIRED + ) + + foreach(folder IN LISTS root_entries) + if(NOT IS_DIRECTORY "${folder}") + continue() + endif() + + get_filename_component(folder_name "${folder}" NAME) + if(folder_name MATCHES "${folders_to_skip_regex}") + continue() + endif() + + file(GLOB_RECURSE macho_files LIST_DIRECTORIES FALSE "${folder}/*") + list(FILTER macho_files EXCLUDE REGEX [[\.(cpp|cc|cxx|c|hpp|h|hh|hxx|inc|json|toml|yaml|man|m4|ac|am|in|log|txt|pyi?|pyc|pyx|pxd|pc|cmake|f77|f90|f03|fi|f|cu|mod|ini|whl|cat|csv|rst|md|npy|npz|template|build)$]]) + list(FILTER macho_files EXCLUDE REGEX "/(copyright|LICENSE|METADATA)$") + + foreach(macho_file IN LISTS macho_files) + if(IS_SYMLINK "${macho_file}") + continue() + endif() + + # Determine if the file is a Mach-O executable or shared library + execute_process( + COMMAND "${file_cmd}" -b "${macho_file}" + OUTPUT_VARIABLE file_output + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + if(file_output MATCHES ".*Mach-O.*shared library.*") + set(file_type "shared") + elseif(file_output MATCHES ".*Mach-O.*executable.*") + set(file_type "executable") + else() + debug_message("File `${macho_file}` reported as `${file_output}` is not a Mach-O file") + continue() + endif() + + get_filename_component(macho_file_dir "${macho_file}" DIRECTORY) + get_filename_component(macho_file_name "${macho_file}" NAME) + + z_vcpkg_calculate_corrected_macho_rpath( + MACHO_FILE_DIR "${macho_file_dir}" + OUT_NEW_RPATH_VAR new_rpath + ) + + if("${file_type}" STREQUAL "shared") + # Set the install name for shared libraries + execute_process( + COMMAND "${install_name_tool_cmd}" -id "@rpath/${macho_file_name}" "${macho_file}" + OUTPUT_QUIET + ERROR_VARIABLE set_id_error + ) + message(STATUS "Set install name id of '${macho_file}' to '@rpath/${macho_file_name}'") + if(NOT "${set_id_error}" STREQUAL "") + message(WARNING "Couldn't adjust install name of '${macho_file}': ${set_id_error}") + continue() + endif() + endif() + + # List all existing rpaths + execute_process( + COMMAND "${otool_cmd}" -l "${macho_file}" + OUTPUT_VARIABLE get_rpath_ov + RESULT_VARIABLE get_rpath_rv + ) + + if(NOT get_rpath_rv EQUAL 0) + message(FATAL_ERROR "Could not obtain rpath list from '${macho_file}'") + endif() + # Extract the LC_RPATH load commands and extract the paths + string(REGEX REPLACE "[^\n]+cmd LC_RPATH\n[^\n]+\n[^\n]+path ([^\n]+) \\(offset[^\n]+\n" "rpath \\1\n" get_rpath_ov "${get_rpath_ov}") + string(REGEX MATCHALL "rpath [^\n]+" get_rpath_ov "${get_rpath_ov}") + string(REGEX REPLACE "rpath " "" rpath_list "${get_rpath_ov}") + + list(FIND rpath_list "${new_rpath}" has_new_rpath) + if(NOT has_new_rpath EQUAL -1) + list(REMOVE_AT rpath_list ${has_new_rpath}) + set(rpath_args) + else() + set(rpath_args -add_rpath "${new_rpath}") + endif() + foreach(rpath IN LISTS rpath_list) + list(APPEND rpath_args "-delete_rpath" "${rpath}") + endforeach() + if(NOT rpath_args) + continue() + endif() + + # Set the new rpath + execute_process( + COMMAND "${install_name_tool_cmd}" ${rpath_args} "${macho_file}" + OUTPUT_QUIET + ERROR_VARIABLE set_rpath_error + ) + + if(NOT "${set_rpath_error}" STREQUAL "") + message(WARNING "Couldn't adjust RPATH of '${macho_file}': ${set_rpath_error}") + continue() + endif() + + message(STATUS "Adjusted RPATH of '${macho_file}' to '${new_rpath}'") + endforeach() + endforeach() +endfunction() diff --git a/scripts/cmake/z_vcpkg_forward_output_variable.cmake b/scripts/cmake/z_vcpkg_forward_output_variable.cmake index 4d775b8cc478f5..1177ef36cf763a 100644 --- a/scripts/cmake/z_vcpkg_forward_output_variable.cmake +++ b/scripts/cmake/z_vcpkg_forward_output_variable.cmake @@ -1,39 +1,3 @@ -#[===[.md: -# z_vcpkg_forward_output_variable - -This macro helps with forwarding values from inner function calls, -through a local function scope, into pointer out parameters. - -```cmake -z_vcpkg_forward_output_variable(ptr_to_parent_var var_to_forward) -``` - -is equivalent to - -```cmake -if(DEFINED ptr_to_parent_var) - if(DEFINED value_var) - set("${ptr_to_parent_var}" "${value_var}" PARENT_SCOPE) - else() - unset("${ptr_to_parent_var}" PARENT_SCOPE) - endif() -endif() -``` - -Take note that the first argument should be a local variable that has a value of the parent variable name. -Most commonly, this local is the result of a pointer-out parameter to a function. -If the variable in the first parameter is not defined, this function does nothing, -simplifying functions with optional out parameters. -Most commonly, this should be used in cases like: - -```cmake -function(my_function out_var) - file(SHA512 "somefile.txt" local_var) - z_vcpkg_forward_output_variable(out_var local_var) -endfunction() -``` -#]===] - macro(z_vcpkg_forward_output_variable ptr_to_parent_var var_to_forward) if("${ARGC}" GREATER "2") message(FATAL_ERROR "z_vcpkg_forward_output_variable was passed extra arguments: ${ARGN}") diff --git a/scripts/cmake/z_vcpkg_function_arguments.cmake b/scripts/cmake/z_vcpkg_function_arguments.cmake index 043c861910f6c3..45e60a2567eb86 100644 --- a/scripts/cmake/z_vcpkg_function_arguments.cmake +++ b/scripts/cmake/z_vcpkg_function_arguments.cmake @@ -1,30 +1,3 @@ -#[===[.md: -# z_vcpkg_function_arguments - -**Only for internal use in vcpkg helpers. Behavior and arguments will change without notice.** -Get a list of the arguments which were passed in. -Unlike `ARGV`, which is simply the arguments joined with `;`, -so that `(A B)` is not distinguishable from `("A;B")`, -this macro gives `"A;B"` for the first argument list, -and `"A\;B"` for the second. - -```cmake -z_vcpkg_function_arguments( []) -``` - -`z_vcpkg_function_arguments` gets the arguments between `ARGV` and the last argument. -`` defaults to `0`, so that all arguments are taken. - -## Example: -```cmake -function(foo_replacement) - z_vcpkg_function_arguments(ARGS) - foo(${ARGS}) - ... -endfunction() -``` -#]===] - # NOTE: this function definition is copied directly to scripts/buildsystems/vcpkg.cmake # do not make changes here without making the same change there. macro(z_vcpkg_function_arguments OUT_VAR) diff --git a/scripts/cmake/z_vcpkg_get_cmake_vars.cmake b/scripts/cmake/z_vcpkg_get_cmake_vars.cmake index f50b1db26fe1c4..51e0f03a9142e0 100644 --- a/scripts/cmake/z_vcpkg_get_cmake_vars.cmake +++ b/scripts/cmake/z_vcpkg_get_cmake_vars.cmake @@ -1,37 +1,3 @@ -#[===[.md: -# z_vcpkg_get_cmake_vars - -**Only for internal use in vcpkg helpers. Behavior and arguments will change without notice.** -Runs a cmake configure with a dummy project to extract certain cmake variables - -## Usage -```cmake -z_vcpkg_get_cmake_vars() -``` - -`z_vcpkg_get_cmake_vars(cmake_vars_file)` sets `` to -a path to a generated CMake file, with the detected `CMAKE_*` variables -re-exported as `VCPKG_DETECTED_*`. - -## Notes -Avoid usage in portfiles. - -All calls to `z_vcpkg_get_cmake_vars` will result in the same output file; -the output file is not generated multiple times. - -## Examples - -* [vcpkg_configure_make](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_configure_make.cmake) - -### Basic Usage - -```cmake -z_vcpkg_get_cmake_vars(cmake_vars_file) -include("${cmake_vars_file}") -message(STATUS "detected CXX flags: ${VCPKG_DETECTED_CXX_FLAGS}") -``` -#]===] - function(z_vcpkg_get_cmake_vars out_file) cmake_parse_arguments(PARSE_ARGV 1 arg "" "" "") @@ -39,8 +5,15 @@ function(z_vcpkg_get_cmake_vars out_file) message(FATAL_ERROR "${CMAKE_CURRENT_FUNCTION} was passed extra arguments: ${arg_UNPARSED_ARGUMENTS}") endif() - if(NOT DEFINED CACHE{Z_VCPKG_GET_CMAKE_VARS_FILE}) - set(Z_VCPKG_GET_CMAKE_VARS_FILE "${CURRENT_BUILDTREES_DIR}/cmake-vars-${TARGET_TRIPLET}.cmake.log" + if(DEFINED VCPKG_BUILD_TYPE) + set(cmake_vars_file "${CURRENT_BUILDTREES_DIR}/cmake-vars-${TARGET_TRIPLET}-${VCPKG_BUILD_TYPE}.cmake.log") + set(cache_var "Z_VCPKG_GET_CMAKE_VARS_FILE_${VCPKG_BUILD_TYPE}") + else() + set(cmake_vars_file "${CURRENT_BUILDTREES_DIR}/cmake-vars-${TARGET_TRIPLET}.cmake.log") + set(cache_var Z_VCPKG_GET_CMAKE_VARS_FILE) + endif() + if(NOT DEFINED CACHE{${cache_var}}) + set(${cache_var} "${cmake_vars_file}" CACHE PATH "The file to include to access the CMake variables from a generated project.") vcpkg_configure_cmake( SOURCE_PATH "${SCRIPTS}/get_cmake_vars" @@ -58,8 +31,8 @@ function(z_vcpkg_get_cmake_vars out_file) if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") string(APPEND include_string "include(\"\${CMAKE_CURRENT_LIST_DIR}/cmake-vars-${TARGET_TRIPLET}-dbg.cmake.log\")\n") endif() - file(WRITE "${Z_VCPKG_GET_CMAKE_VARS_FILE}" "${include_string}") + file(WRITE "${cmake_vars_file}" "${include_string}") endif() - set("${out_file}" "${Z_VCPKG_GET_CMAKE_VARS_FILE}" PARENT_SCOPE) + set("${out_file}" "${${cache_var}}" PARENT_SCOPE) endfunction() diff --git a/scripts/cmake/z_vcpkg_prettify_command_line.cmake b/scripts/cmake/z_vcpkg_prettify_command_line.cmake index ab12e78fe1c92a..7752d7a0cffbec 100644 --- a/scripts/cmake/z_vcpkg_prettify_command_line.cmake +++ b/scripts/cmake/z_vcpkg_prettify_command_line.cmake @@ -1,22 +1,3 @@ -#[===[.md: -# z_vcpkg_prettify_command_line - -**Only for internal use in vcpkg helpers. Behavior and arguments will change without notice.** -Turn a command line into a formatted string. - -```cmake -z_vcpkg_prettify_command_line( ...) -``` - -This command is for internal use, when printing out to a message. - -## Examples - -* `scripts/cmake/vcpkg_execute_build_process.cmake` -* `scripts/cmake/vcpkg_execute_required_process.cmake` -* `scripts/cmake/vcpkg_execute_required_process_repeat.cmake` -#]===] - function(z_vcpkg_prettify_command_line out_var) set(output_list "") z_vcpkg_function_arguments(args 1) diff --git a/scripts/cmake/z_vcpkg_setup_pkgconfig_path.cmake b/scripts/cmake/z_vcpkg_setup_pkgconfig_path.cmake new file mode 100644 index 00000000000000..b1321c0ad9ee28 --- /dev/null +++ b/scripts/cmake/z_vcpkg_setup_pkgconfig_path.cmake @@ -0,0 +1,59 @@ +function(z_vcpkg_setup_pkgconfig_path) + cmake_parse_arguments(PARSE_ARGV 0 "arg" "" "CONFIG" "") + + if("${arg_CONFIG}" STREQUAL "") + message(FATAL_ERROR "CONFIG is required.") + endif() + if(DEFINED arg_UNPARSED_ARGUMENTS) + message(FATAL_ERROR "${CMAKE_CURRENT_FUNCTION} was passed extra arguments: ${arg_UNPARSED_ARGUMENTS}") + endif() + + foreach(envvar IN ITEMS PKG_CONFIG PKG_CONFIG_PATH) + if(DEFINED ENV{${envvar}}) + set("z_vcpkg_env_backup_${envvar}" "$ENV{${envvar}}" PARENT_SCOPE) + else() + unset("z_vcpkg_env_backup_${envvar}" PARENT_SCOPE) + endif() + endforeach() + + vcpkg_find_acquire_program(PKGCONFIG) + get_filename_component(pkgconfig_path "${PKGCONFIG}" DIRECTORY) + cmake_path(CONVERT "$ENV{PATH}" TO_CMAKE_PATH_LIST path_list NORMALIZE) + cmake_path(CONVERT "${pkgconfig_path}" TO_CMAKE_PATH_LIST pkgconfig_path NORMALIZE) + if(NOT "${pkgconfig_path}" IN_LIST path_list) + vcpkg_add_to_path("${pkgconfig_path}") + endif() + unset(path_list) + unset(pkgconfig_path) + + set(ENV{PKG_CONFIG} "${PKGCONFIG}") + + foreach(prefix IN ITEMS "${CURRENT_INSTALLED_DIR}" "${CURRENT_PACKAGES_DIR}") + vcpkg_host_path_list(PREPEND ENV{PKG_CONFIG_PATH} "${prefix}/share/pkgconfig") + if(arg_CONFIG STREQUAL "RELEASE") + vcpkg_host_path_list(PREPEND ENV{PKG_CONFIG_PATH} "${prefix}/lib/pkgconfig") + # search order is lib, share, external + elseif(arg_CONFIG STREQUAL "DEBUG") + vcpkg_host_path_list(PREPEND ENV{PKG_CONFIG_PATH} "${prefix}/debug/lib/pkgconfig") + # search order is debug/lib, share, external + else() + message(FATAL_ERROR "CONFIG must be either RELEASE or DEBUG.") + endif() + endforeach() + # total search order is current packages dir, current installed dir, external +endfunction() + +function(z_vcpkg_restore_pkgconfig_path) + cmake_parse_arguments(PARSE_ARGV 0 "arg" "" "" "") + if(DEFINED arg_UNPARSED_ARGUMENTS) + message(FATAL_ERROR "${CMAKE_CURRENT_FUNCTION} was passed extra arguments: ${arg_UNPARSED_ARGUMENTS}") + endif() + + foreach(envvar IN ITEMS PKG_CONFIG PKG_CONFIG_PATH) + if(DEFINED z_vcpkg_env_backup_${envvar}) + set("ENV{${envvar}}" "${z_vcpkg_env_backup_${envvar}}") + else() + unset("ENV{${envvar}}") + endif() + endforeach() +endfunction() diff --git a/scripts/detect_compiler/CMakeLists.txt b/scripts/detect_compiler/CMakeLists.txt index c55da9ebb2bdeb..db7973e7b73d30 100644 --- a/scripts/detect_compiler/CMakeLists.txt +++ b/scripts/detect_compiler/CMakeLists.txt @@ -19,6 +19,8 @@ message("#COMPILER_HASH#${COMPILER_HASH}") message("#COMPILER_C_HASH#${C_HASH}") message("#COMPILER_C_VERSION#${CMAKE_C_COMPILER_VERSION}") message("#COMPILER_C_ID#${CMAKE_C_COMPILER_ID}") +message("#COMPILER_C_PATH#${CMAKE_C_COMPILER}") message("#COMPILER_CXX_HASH#${CXX_HASH}") message("#COMPILER_CXX_VERSION#${CMAKE_CXX_COMPILER_VERSION}") message("#COMPILER_CXX_ID#${CMAKE_CXX_COMPILER_ID}") +message("#COMPILER_CXX_PATH#${CMAKE_CXX_COMPILER}") diff --git a/scripts/detect_compiler/CONTROL b/scripts/detect_compiler/CONTROL deleted file mode 100644 index d76f041f0083ac..00000000000000 --- a/scripts/detect_compiler/CONTROL +++ /dev/null @@ -1,3 +0,0 @@ -Source: detect-compiler -Version: 0 -Description: None diff --git a/scripts/detect_compiler/vcpkg.json b/scripts/detect_compiler/vcpkg.json new file mode 100644 index 00000000000000..64979dffe2c0db --- /dev/null +++ b/scripts/detect_compiler/vcpkg.json @@ -0,0 +1,5 @@ +{ + "name": "detect-compiler", + "version": "0", + "description": "None" +} diff --git a/scripts/file_script.py b/scripts/file_script.py index de57f2720991fb..a3abdc6f2ec6b0 100644 --- a/scripts/file_script.py +++ b/scripts/file_script.py @@ -3,7 +3,7 @@ import sys -keyword = "include/" +keyword = "/include/" def getFiles(path): files = os.listdir(path) @@ -11,15 +11,16 @@ def getFiles(path): def gen_all_file_strings(path, files, headers, output): for file in files: - package = file[:file.find("_")] + components = file.split("_") + package = components[0] + ":" + components[2].replace(".list", "") f = open(path + file) for line in f: - idx = line.strip().find(keyword) - if idx >= 0 and line.strip()[-1] != "/": - headers.write(package + ":" + line[idx + len(keyword):]) - output.write(package + ":" + line[idx-1:]) - elif line.strip()[-1] != "/": - output.write(package + ":" + line[line.find("/"):]) + if line.strip()[-1] == "/": + continue + filepath = line[line.find("/"):] + output.write(package + ":" + filepath) + if filepath.startswith(keyword): + headers.write(package + ":" + filepath[len(keyword):]) f.close() def main(path): diff --git a/scripts/get_cmake_vars/CMakeLists.txt b/scripts/get_cmake_vars/CMakeLists.txt index b6d5f0e4154d46..bf1679d3da471a 100644 --- a/scripts/get_cmake_vars/CMakeLists.txt +++ b/scripts/get_cmake_vars/CMakeLists.txt @@ -1,15 +1,39 @@ cmake_minimum_required(VERSION 3.20) +if(NOT VCPKG_OUTPUT_FILE) + message(FATAL_ERROR "VCPKG_OUTPUT_FILE is required to be defined") +endif() + +if(NOT CMAKE_BUILD_TYPE) + message(FATAL_ERROR "CMAKE_BUILD_TYPE is required to be defined") +else() + string(TOUPPER "${CMAKE_BUILD_TYPE}" VCPKG_CONFIGS) +endif() + set(VCPKG_LANGUAGES "C;CXX" CACHE STRING "Languages to enables for this project") +if(VCPKG_ENABLE_OBJC) + list(APPEND VCPKG_LANGUAGES "OBJC") +endif() + +project(get_cmake_vars LANGUAGES ${VCPKG_LANGUAGES}) + + +set(OUTPUT_STRING "# Generator: ${CMAKE_CURRENT_LIST_FILE}\n") + +function(escaped out_var value) + string(REPLACE "\\" "\\\\" value "${value}") + string(REPLACE "\"" "\\\"" value "${value}") + string(REPLACE "\$" "\\\$" value "${value}") + set(${out_var} "${value}" PARENT_SCOPE) +endfunction() -set(OUTPUT_STRING) # Build default checklists list(APPEND VCPKG_DEFAULT_VARS_TO_CHECK CMAKE_CROSSCOMPILING CMAKE_SYSTEM_NAME CMAKE_HOST_SYSTEM_NAME CMAKE_SYSTEM_PROCESSOR CMAKE_HOST_SYSTEM_PROCESSOR) -if(CMAKE_SYSTEM_NAME MATCHES "Darwin") +if(APPLE) list(APPEND VCPKG_DEFAULT_VARS_TO_CHECK CMAKE_OSX_DEPLOYMENT_TARGET CMAKE_OSX_SYSROOT) endif() @@ -20,7 +44,7 @@ foreach(prog IN LISTS PROGLIST) endforeach() set(COMPILERS ${VCPKG_LANGUAGES} RC) foreach(prog IN LISTS COMPILERS) - list(APPEND VCPKG_DEFAULT_VARS_TO_CHECK CMAKE_${prog}_COMPILER CMAKE_${prog}_COMPILER_ID) + list(APPEND VCPKG_DEFAULT_VARS_TO_CHECK CMAKE_${prog}_COMPILER CMAKE_${prog}_COMPILER_ID CMAKE_${prog}_COMPILER_FRONTEND_VARIANT) endforeach() # Variables to check foreach(_lang IN LISTS VCPKG_LANGUAGES) @@ -30,7 +54,8 @@ foreach(_lang IN LISTS VCPKG_LANGUAGES) list(APPEND VCPKG_DEFAULT_VARS_TO_CHECK CMAKE_${_lang}_COMPILE_FEATURES) list(APPEND VCPKG_DEFAULT_VARS_TO_CHECK CMAKE_${_lang}_EXTENSION) list(APPEND VCPKG_DEFAULT_VARS_TO_CHECK CMAKE_${_lang}_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES) - + list(APPEND VCPKG_DEFAULT_VARS_TO_CHECK CMAKE_${_lang}_COMPILER_TARGET) + # Probably never required since implicit. #list(APPEND VCPKG_DEFAULT_VARS_TO_CHECK CMAKE_${_lang}_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES) #list(APPEND VCPKG_DEFAULT_VARS_TO_CHECK CMAKE_${_lang}_IMPLICIT_INCLUDE_DIRECTORIES) @@ -44,7 +69,7 @@ list(APPEND VCPKG_DEFAULT_ENV_VARS_TO_CHECK PATH INCLUDE C_INCLUDE_PATH CPLUS_IN list(REMOVE_DUPLICATES VCPKG_DEFAULT_ENV_VARS_TO_CHECK) #Flags to check. Flags are a bit special since they are configuration aware. -set(FLAGS ${VCPKG_LANGUAGES} RC SHARED_LINKER STATIC_LINKER EXE_LINKER) +set(FLAGS ${VCPKG_LANGUAGES} RC SHARED_LINKER STATIC_LINKER EXE_LINKER MODULE_LINKER) foreach(flag IN LISTS FLAGS) list(APPEND VCPKG_DEFAULT_FLAGS_TO_CHECK CMAKE_${flag}_FLAGS) endforeach() @@ -63,65 +88,113 @@ set(VCPKG_VARS_TO_CHECK "${VCPKG_DEFAULT_VARS_TO_CHECK}" CACHE STRING "Variables set(VCPKG_FLAGS_TO_CHECK "${VCPKG_DEFAULT_FLAGS_TO_CHECK}" CACHE STRING "Variables to check. If not given there is a list of defaults") set(VCPKG_ENV_VARS_TO_CHECK "${VCPKG_DEFAULT_ENV_VARS_TO_CHECK}" CACHE STRING "Variables to check. If not given there is a list of defaults") -if(NOT VCPKG_OUTPUT_FILE) - message(FATAL_ERROR "VCPKG_OUTPUT_FILE is required to be defined") -endif() - -if(NOT CMAKE_BUILD_TYPE) - message(FATAL_ERROR "CMAKE_BUILD_TYPE is required to be defined") -else() - string(TOUPPER "${CMAKE_BUILD_TYPE}" VCPKG_CONFIGS) -endif() - - -project(get_cmake_vars LANGUAGES ${VCPKG_LANGUAGES}) - foreach(VAR IN LISTS VCPKG_VARS_TO_CHECK) - string(APPEND OUTPUT_STRING "set(${VCPKG_VAR_PREFIX}_${VAR} \"${${VAR}}\")\n") + escaped(value "${${VAR}}") + string(APPEND OUTPUT_STRING "set(${VCPKG_VAR_PREFIX}_${VAR} \"${value}\")\n") endforeach() foreach(_env IN LISTS VCPKG_ENV_VARS_TO_CHECK) if(CMAKE_HOST_WIN32) - string(REPLACE "\\" "/" ENV_${_env} "$ENV{${_env}}") - string(APPEND OUTPUT_STRING "set(${VCPKG_VAR_PREFIX}_ENV_${_env} \"${ENV_${_env}}\")\n") + string(REPLACE "\\" "/" value "$ENV{${_env}}") + escaped(value "${value}") else() - string(APPEND OUTPUT_STRING "set(${VCPKG_VAR_PREFIX}_ENV_${_env} \"$ENV{${_env}}\")\n") + escaped(value "$ENV{${_env}}") endif() + string(APPEND OUTPUT_STRING "set(${VCPKG_VAR_PREFIX}_ENV_${_env} \"${value}\")\n") endforeach() +set(extra_flags "") +if(CMAKE_CXX_COMPILER_EXTERNAL_TOOLCHAIN) + if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang") + string(APPEND extra_flags " \"${CMAKE_CXX_COMPILE_OPTIONS_EXTERNAL_TOOLCHAIN}${CMAKE_CXX_COMPILER_EXTERNAL_TOOLCHAIN}\"") + else() + string(APPEND extra_flags " ${CMAKE_CXX_COMPILE_OPTIONS_EXTERNAL_TOOLCHAIN} \"${CMAKE_CXX_COMPILER_EXTERNAL_TOOLCHAIN}\"") + endif() +endif() + +set(extra_flags_compile "") +set(extra_flags_link "") +if(CMAKE_CXX_COMPILE_OPTIONS_SYSROOT) + if(CMAKE_SYSROOT_COMPILE) + string(APPEND extra_flags_compile " \"${CMAKE_CXX_COMPILE_OPTIONS_SYSROOT}${CMAKE_SYSROOT_COMPILE}\"") + elseif(CMAKE_SYSROOT) + string(APPEND extra_flags_compile " \"${CMAKE_CXX_COMPILE_OPTIONS_SYSROOT}${CMAKE_SYSROOT}\"") + endif() + + if(CMAKE_SYSROOT_LINK) + string(APPEND extra_flags_link " \"${CMAKE_CXX_COMPILE_OPTIONS_SYSROOT}${CMAKE_SYSROOT_LINK}\"") + elseif(CMAKE_SYSROOT) + string(APPEND extra_flags_link " \"${CMAKE_CXX_COMPILE_OPTIONS_SYSROOT}${CMAKE_SYSROOT}\"") + endif() +endif() + macro(_vcpkg_adjust_flags flag_var) - if(MSVC) # Transform MSVC /flags to -flags due to bash scripts intepreting /flag as a path. + if(MSVC) # Transform MSVC /flags to -flags due to msys2 runtime intepreting /flag as a path. string(REGEX REPLACE "(^| )/" "\\1-" ${flag_var} "${${flag_var}}") + if(CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + if("${flag_var}" STREQUAL "CMAKE_CXX_FLAGS") + string(APPEND ${flag_var} " -ZW:nostdlib") + endif() + endif() endif() - if(CMAKE_SYSTEM_NAME MATCHES "Darwin") - if("${flag_var}" IN_LIST VCPKG_LANG_FLAGS) + if(APPLE) + set(flags_to_add_osx_arch_sysroot "${VCPKG_LANG_FLAGS}" CMAKE_SHARED_LINKER_FLAGS CMAKE_MODULE_LINKER_FLAGS CMAKE_EXE_LINKER_FLAGS) + if("${flag_var}" IN_LIST flags_to_add_osx_arch_sysroot) # macOS - append arch and isysroot if cross-compiling if(NOT "${CMAKE_OSX_ARCHITECTURES}" STREQUAL "${CMAKE_HOST_SYSTEM_PROCESSOR}") - foreach(arch IN LISTS CMAKE_OSX_ARCHITECTURES) string(APPEND ${flag_var} " -arch ${arch}") endforeach() - string(APPEND ${flag_var} " -isysroot ${CMAKE_OSX_SYSROOT}") + endif() + string(APPEND ${flag_var} " -isysroot ${CMAKE_OSX_SYSROOT}") + if (CMAKE_OSX_DEPLOYMENT_TARGET) + list(GET VCPKG_LANGUAGES 0 lang) + string(APPEND ${flag_var} " ${CMAKE_${lang}_OSX_DEPLOYMENT_TARGET_FLAG}${CMAKE_OSX_DEPLOYMENT_TARGET}") + unset(lang) endif() endif() + unset(flags_to_add_osx_arch_sysroot) endif() + set(flags_to_add_target_compile "${VCPKG_LANG_FLAGS}") + set(flags_to_add_target_link CMAKE_SHARED_LINKER_FLAGS CMAKE_MODULE_LINKER_FLAGS CMAKE_EXE_LINKER_FLAGS) + set(flags_to_add_target "${flags_to_add_target_compile}" "${flags_to_add_target_link}") + list(GET VCPKG_LANGUAGES 0 lang) + if(CMAKE_${lang}_COMPILER_TARGET AND "${flag_var}" IN_LIST flags_to_add_target) + if (CMAKE_${lang}_COMPILER_ID STREQUAL Clang) + string(PREPEND ${flag_var} "${CMAKE_${lang}_COMPILE_OPTIONS_TARGET}${CMAKE_${lang}_COMPILER_TARGET} ") + elseif(CMAKE_${lang}_COMPILE_OPTIONS_TARGET) + string(PREPEND ${flag_var} "${CMAKE_${lang}_COMPILE_OPTIONS_TARGET} ${CMAKE_${lang}_COMPILER_TARGET} ") + endif() + endif() + if("${flag_var}" IN_LIST flags_to_add_target) + string(APPEND ${flag_var} " ${extra_flags}") + endif() + if("${flag_var}" IN_LIST flags_to_add_target_compile) + string(APPEND ${flag_var} " ${extra_flags_compile}") + endif() + if("${flag_var}" IN_LIST flags_to_add_target_link) + string(APPEND ${flag_var} " ${extra_flags_link}") + endif() + unset(lang) + unset(flags_to_add_target) endmacro() foreach(flag IN LISTS VCPKG_FLAGS_TO_CHECK) string(STRIP "${${flag}}" ${flag}) # Strip leading and trailing whitespaces _vcpkg_adjust_flags(${flag}) - string(APPEND OUTPUT_STRING "set(${VCPKG_VAR_PREFIX}_RAW_${flag} \" ${${flag}}\")\n") + escaped(value "${${flag}}") + string(APPEND OUTPUT_STRING "set(${VCPKG_VAR_PREFIX}_RAW_${flag} \" ${value}\")\n") foreach(config IN LISTS VCPKG_CONFIGS) + escaped(raw_value "${CMAKE_${flag}_FLAGS_${config}}") + string(APPEND OUTPUT_STRING "set(${VCPKG_VAR_PREFIX}_RAW_${flag}_${config} \"${raw_value}\")\n") string(STRIP "${${flag}_${config}}" ${flag}_${config}) _vcpkg_adjust_flags(${flag}_${config}) - string(APPEND OUTPUT_STRING "set(${VCPKG_VAR_PREFIX}_RAW_${flag}_${config} \"${CMAKE_${flag}_FLAGS_${config}}\")\n") - set(COMBINED_${flag}_${config} "${${flag}} ${${flag}_${config}}") - string(STRIP "${COMBINED_${flag}_${config}}" COMBINED_${flag}_${config}) - string(APPEND OUTPUT_STRING "set(${VCPKG_VAR_PREFIX}_${flag}_${config} \"${COMBINED_${flag}_${config}}\")\n") + escaped(combined_value "${${flag}} ${${flag}_${config}}") + string(STRIP "${combined_value}" combined_value) + string(APPEND OUTPUT_STRING "set(${VCPKG_VAR_PREFIX}_${flag}_${config} \"${combined_value}\")\n") endforeach() endforeach() - file(WRITE "${VCPKG_OUTPUT_FILE}" "${OUTPUT_STRING}") # Programs: diff --git a/scripts/ports.cmake b/scripts/ports.cmake index 53ac2ac9991478..66b6b5a66939ae 100644 --- a/scripts/ports.cmake +++ b/scripts/ports.cmake @@ -1,7 +1,31 @@ cmake_minimum_required(VERSION 3.21) +# Remove CMAKE_ variables from the script call +foreach(i RANGE 0 "${CMAKE_ARGC}") + unset(CMAKE_ARGV${i}) +endforeach() +unset(CMAKE_ARGN) +unset(CMAKE_ARGC) +unset(i) +# These don't make sense in script context +unset(CMAKE_BINARY_DIR) +unset(CMAKE_SOURCE_DIR) +unset(CMAKE_CURRENT_BINARY_DIR) +unset(CMAKE_CURRENT_SOURCE_DIR) +unset(CMAKE_FILES_DIRECTORY) +# Minimum CMake version is forced within vcpkg +unset(CMAKE_MINIMUM_REQUIRED_VERSION) +# CMAKE_VERSION is enough for doing version checks +unset(CMAKE_MAJOR_VERSION) +unset(CMAKE_MINOR_VERSION) +unset(CMAKE_PATCH_VERSION) +unset(CMAKE_TWEAK_VERSION) + set(SCRIPTS "${CMAKE_CURRENT_LIST_DIR}" CACHE PATH "Location to stored scripts") list(APPEND CMAKE_MODULE_PATH "${SCRIPTS}/cmake") + +# Increment this number if we intentionally need to invalidate all binary caches due a change in +# the following scripts: 1 include("${SCRIPTS}/cmake/execute_process.cmake") include("${SCRIPTS}/cmake/vcpkg_acquire_msys.cmake") include("${SCRIPTS}/cmake/vcpkg_add_to_path.cmake") @@ -27,9 +51,11 @@ include("${SCRIPTS}/cmake/vcpkg_copy_pdbs.cmake") include("${SCRIPTS}/cmake/vcpkg_copy_tool_dependencies.cmake") include("${SCRIPTS}/cmake/vcpkg_copy_tools.cmake") include("${SCRIPTS}/cmake/vcpkg_download_distfile.cmake") +include("${SCRIPTS}/cmake/vcpkg_download_sourceforge.cmake") include("${SCRIPTS}/cmake/vcpkg_execute_build_process.cmake") include("${SCRIPTS}/cmake/vcpkg_execute_required_process.cmake") include("${SCRIPTS}/cmake/vcpkg_execute_required_process_repeat.cmake") +include("${SCRIPTS}/cmake/vcpkg_extract_archive.cmake") include("${SCRIPTS}/cmake/vcpkg_extract_source_archive.cmake") include("${SCRIPTS}/cmake/vcpkg_extract_source_archive_ex.cmake") include("${SCRIPTS}/cmake/vcpkg_fail_port_install.cmake") @@ -45,6 +71,7 @@ include("${SCRIPTS}/cmake/vcpkg_get_program_files_platform_bitness.cmake") include("${SCRIPTS}/cmake/vcpkg_get_windows_sdk.cmake") include("${SCRIPTS}/cmake/vcpkg_host_path_list.cmake") include("${SCRIPTS}/cmake/vcpkg_install_cmake.cmake") +include("${SCRIPTS}/cmake/vcpkg_install_copyright.cmake") include("${SCRIPTS}/cmake/vcpkg_install_gn.cmake") include("${SCRIPTS}/cmake/vcpkg_install_make.cmake") include("${SCRIPTS}/cmake/vcpkg_install_meson.cmake") @@ -61,6 +88,10 @@ include("${SCRIPTS}/cmake/z_vcpkg_forward_output_variable.cmake") include("${SCRIPTS}/cmake/z_vcpkg_function_arguments.cmake") include("${SCRIPTS}/cmake/z_vcpkg_get_cmake_vars.cmake") include("${SCRIPTS}/cmake/z_vcpkg_prettify_command_line.cmake") +include("${SCRIPTS}/cmake/z_vcpkg_setup_pkgconfig_path.cmake") + +include("${SCRIPTS}/cmake/z_vcpkg_fixup_rpath.cmake") +include("${SCRIPTS}/cmake/z_vcpkg_fixup_rpath_macho.cmake") function(debug_message) if(PORT_DEBUG) @@ -82,7 +113,7 @@ else() set(Z_VCPKG_BACKCOMPAT_MESSAGE_LEVEL "WARNING") endif() -vcpkg_minimum_required(VERSION 2021-08-03) +vcpkg_minimum_required(VERSION 2022-10-12) file(TO_CMAKE_PATH "${BUILDTREES_DIR}" BUILDTREES_DIR) file(TO_CMAKE_PATH "${PACKAGES_DIR}" PACKAGES_DIR) @@ -94,7 +125,7 @@ if(PORT) set(CURRENT_PACKAGES_DIR "${PACKAGES_DIR}/${PORT}_${TARGET_TRIPLET}") endif() -if(CMD MATCHES "^BUILD$") +if(CMD STREQUAL "BUILD") set(CMAKE_TRIPLET_FILE "${TARGET_TRIPLET_FILE}") if(NOT EXISTS "${CMAKE_TRIPLET_FILE}") message(FATAL_ERROR "Unsupported target triplet. Triplet file does not exist: ${CMAKE_TRIPLET_FILE}") @@ -127,25 +158,55 @@ if(CMD MATCHES "^BUILD$") include("${CMAKE_TRIPLET_FILE}") + set(HOST_TRIPLET "${_HOST_TRIPLET}") + set(CURRENT_HOST_INSTALLED_DIR "${_VCPKG_INSTALLED_DIR}/${HOST_TRIPLET}" CACHE PATH "Location to install final packages for the host") + + set(TRIPLET_SYSTEM_ARCH "${VCPKG_TARGET_ARCHITECTURE}") + include("${SCRIPTS}/cmake/vcpkg_common_definitions.cmake") + + function(z_vcpkg_warn_ambiguous_system_variables VARIABLE ACCESS VALUE POS STACK) + message("${Z_VCPKG_BACKCOMPAT_MESSAGE_LEVEL}" "Unexpected ${ACCESS} on variable ${VARIABLE} in script mode. +This variable name insufficiently expresses whether it refers to the \ +target system or to the host system. Use a prefixed variable instead. +- Variables providing information about the host: + CMAKE_HOST_ + VCPKG_HOST_IS_ +- Variables providing information about the target: + VCPKG_TARGET_IS_ + VCPKG_DETECTED_ (using vcpkg_cmake_get_vars) +") + endfunction() + foreach(var IN ITEMS ANDROID APPLE BSD IOS LINUX MINGW MSVC UNIX WIN32) + variable_watch("${var}" z_vcpkg_warn_ambiguous_system_variables) + endforeach() + if (DEFINED VCPKG_PORT_CONFIGS) foreach(VCPKG_PORT_CONFIG IN LISTS VCPKG_PORT_CONFIGS) include("${VCPKG_PORT_CONFIG}") endforeach() endif() - set(HOST_TRIPLET "${_HOST_TRIPLET}") - set(CURRENT_HOST_INSTALLED_DIR "${_VCPKG_INSTALLED_DIR}/${HOST_TRIPLET}" CACHE PATH "Location to install final packages for the host") - - set(TRIPLET_SYSTEM_ARCH "${VCPKG_TARGET_ARCHITECTURE}") - include("${SCRIPTS}/cmake/vcpkg_common_definitions.cmake") + set(Z_VCPKG_ERROR_LOG_COLLECTION_FILE "${CURRENT_BUILDTREES_DIR}/error-logs-${TARGET_TRIPLET}.txt") + file(REMOVE "${Z_VCPKG_ERROR_LOG_COLLECTION_FILE}") include("${CURRENT_PORT_DIR}/portfile.cmake") + + foreach(z_post_portfile_include IN LISTS Z_VCPKG_POST_PORTFILE_INCLUDES) + include("${z_post_portfile_include}") + endforeach() + unset(z_post_portfile_include) + if(DEFINED PORT) + # Always fixup RPATH on linux and osx unless explicitly disabled. + if(VCPKG_FIXUP_ELF_RPATH OR (VCPKG_TARGET_IS_LINUX AND NOT DEFINED VCPKG_FIXUP_ELF_RPATH)) + z_vcpkg_fixup_rpath_in_dir() + endif() + if(VCPKG_FIXUP_MACHO_RPATH OR (VCPKG_TARGET_IS_OSX AND NOT DEFINED VCPKG_FIXUP_MACHO_RPATH)) + z_vcpkg_fixup_macho_rpath_in_dir() + endif() include("${SCRIPTS}/build_info.cmake") endif() -elseif(CMD MATCHES "^CREATE$") - file(TO_NATIVE_PATH "${VCPKG_ROOT_DIR}" NATIVE_VCPKG_ROOT_DIR) - file(TO_NATIVE_PATH "${DOWNLOADS}" NATIVE_DOWNLOADS) +elseif(CMD STREQUAL "CREATE") if(NOT DEFINED PORT_PATH) set(PORT_PATH "${VCPKG_ROOT_DIR}/ports/${PORT}") endif() @@ -173,7 +234,7 @@ elseif(CMD MATCHES "^CREATE$") message(STATUS "Downloading ${URL} -> ${FILENAME}...") file(DOWNLOAD "${URL}" "${DOWNLOAD_PATH}" STATUS download_status) list(GET download_status 0 status_code) - if(NOT "${download_status}" EQUAL "0") + if(NOT "${status_code}" EQUAL "0") message(FATAL_ERROR "Downloading ${URL}... Failed. Status: ${download_status}") endif() endif() diff --git a/scripts/posh-vcpkg/0.0.1/posh-vcpkg.psd1 b/scripts/posh-vcpkg/0.0.1/posh-vcpkg.psd1 index 3fb94fe7dc9cdc..c0e473278a0433 100644 --- a/scripts/posh-vcpkg/0.0.1/posh-vcpkg.psd1 +++ b/scripts/posh-vcpkg/0.0.1/posh-vcpkg.psd1 @@ -29,3 +29,219 @@ PrivateData = } } + +# SIG # Begin signature block +# MIInwgYJKoZIhvcNAQcCoIInszCCJ68CAQExDzANBglghkgBZQMEAgEFADB5Bgor +# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG +# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCBYE6inmMu4GUDW +# YzA0tBl6KrgaRsHoV8qqK61IVt/pfKCCDXYwggX0MIID3KADAgECAhMzAAADrzBA +# DkyjTQVBAAAAAAOvMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD +# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p +# bmcgUENBIDIwMTEwHhcNMjMxMTE2MTkwOTAwWhcNMjQxMTE0MTkwOTAwWjB0MQsw +# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u +# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB +# AQDOS8s1ra6f0YGtg0OhEaQa/t3Q+q1MEHhWJhqQVuO5amYXQpy8MDPNoJYk+FWA +# hePP5LxwcSge5aen+f5Q6WNPd6EDxGzotvVpNi5ve0H97S3F7C/axDfKxyNh21MG +# 0W8Sb0vxi/vorcLHOL9i+t2D6yvvDzLlEefUCbQV/zGCBjXGlYJcUj6RAzXyeNAN +# xSpKXAGd7Fh+ocGHPPphcD9LQTOJgG7Y7aYztHqBLJiQQ4eAgZNU4ac6+8LnEGAL +# go1ydC5BJEuJQjYKbNTy959HrKSu7LO3Ws0w8jw6pYdC1IMpdTkk2puTgY2PDNzB +# tLM4evG7FYer3WX+8t1UMYNTAgMBAAGjggFzMIIBbzAfBgNVHSUEGDAWBgorBgEE +# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQURxxxNPIEPGSO8kqz+bgCAQWGXsEw +# RQYDVR0RBD4wPKQ6MDgxHjAcBgNVBAsTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEW +# MBQGA1UEBRMNMjMwMDEyKzUwMTgyNjAfBgNVHSMEGDAWgBRIbmTlUAXTgqoXNzci +# tW2oynUClTBUBgNVHR8ETTBLMEmgR6BFhkNodHRwOi8vd3d3Lm1pY3Jvc29mdC5j +# b20vcGtpb3BzL2NybC9NaWNDb2RTaWdQQ0EyMDExXzIwMTEtMDctMDguY3JsMGEG +# CCsGAQUFBwEBBFUwUzBRBggrBgEFBQcwAoZFaHR0cDovL3d3dy5taWNyb3NvZnQu +# Y29tL3BraW9wcy9jZXJ0cy9NaWNDb2RTaWdQQ0EyMDExXzIwMTEtMDctMDguY3J0 +# MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggIBAISxFt/zR2frTFPB45Yd +# mhZpB2nNJoOoi+qlgcTlnO4QwlYN1w/vYwbDy/oFJolD5r6FMJd0RGcgEM8q9TgQ +# 2OC7gQEmhweVJ7yuKJlQBH7P7Pg5RiqgV3cSonJ+OM4kFHbP3gPLiyzssSQdRuPY +# 1mIWoGg9i7Y4ZC8ST7WhpSyc0pns2XsUe1XsIjaUcGu7zd7gg97eCUiLRdVklPmp +# XobH9CEAWakRUGNICYN2AgjhRTC4j3KJfqMkU04R6Toyh4/Toswm1uoDcGr5laYn +# TfcX3u5WnJqJLhuPe8Uj9kGAOcyo0O1mNwDa+LhFEzB6CB32+wfJMumfr6degvLT +# e8x55urQLeTjimBQgS49BSUkhFN7ois3cZyNpnrMca5AZaC7pLI72vuqSsSlLalG +# OcZmPHZGYJqZ0BacN274OZ80Q8B11iNokns9Od348bMb5Z4fihxaBWebl8kWEi2O +# PvQImOAeq3nt7UWJBzJYLAGEpfasaA3ZQgIcEXdD+uwo6ymMzDY6UamFOfYqYWXk +# ntxDGu7ngD2ugKUuccYKJJRiiz+LAUcj90BVcSHRLQop9N8zoALr/1sJuwPrVAtx +# HNEgSW+AKBqIxYWM4Ev32l6agSUAezLMbq5f3d8x9qzT031jMDT+sUAoCw0M5wVt +# CUQcqINPuYjbS1WgJyZIiEkBMIIHejCCBWKgAwIBAgIKYQ6Q0gAAAAAAAzANBgkq +# hkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24x +# EDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlv +# bjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5 +# IDIwMTEwHhcNMTEwNzA4MjA1OTA5WhcNMjYwNzA4MjEwOTA5WjB+MQswCQYDVQQG +# EwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwG +# A1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSgwJgYDVQQDEx9NaWNyb3NvZnQg +# Q29kZSBTaWduaW5nIFBDQSAyMDExMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC +# CgKCAgEAq/D6chAcLq3YbqqCEE00uvK2WCGfQhsqa+laUKq4BjgaBEm6f8MMHt03 +# a8YS2AvwOMKZBrDIOdUBFDFC04kNeWSHfpRgJGyvnkmc6Whe0t+bU7IKLMOv2akr +# rnoJr9eWWcpgGgXpZnboMlImEi/nqwhQz7NEt13YxC4Ddato88tt8zpcoRb0Rrrg +# OGSsbmQ1eKagYw8t00CT+OPeBw3VXHmlSSnnDb6gE3e+lD3v++MrWhAfTVYoonpy +# 4BI6t0le2O3tQ5GD2Xuye4Yb2T6xjF3oiU+EGvKhL1nkkDstrjNYxbc+/jLTswM9 +# sbKvkjh+0p2ALPVOVpEhNSXDOW5kf1O6nA+tGSOEy/S6A4aN91/w0FK/jJSHvMAh +# dCVfGCi2zCcoOCWYOUo2z3yxkq4cI6epZuxhH2rhKEmdX4jiJV3TIUs+UsS1Vz8k +# A/DRelsv1SPjcF0PUUZ3s/gA4bysAoJf28AVs70b1FVL5zmhD+kjSbwYuER8ReTB +# w3J64HLnJN+/RpnF78IcV9uDjexNSTCnq47f7Fufr/zdsGbiwZeBe+3W7UvnSSmn +# Eyimp31ngOaKYnhfsi+E11ecXL93KCjx7W3DKI8sj0A3T8HhhUSJxAlMxdSlQy90 +# lfdu+HggWCwTXWCVmj5PM4TasIgX3p5O9JawvEagbJjS4NaIjAsCAwEAAaOCAe0w +# ggHpMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRIbmTlUAXTgqoXNzcitW2o +# ynUClTAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNVHQ8EBAMCAYYwDwYD +# VR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBRyLToCMZBDuRQFTuHqp8cx0SOJNDBa +# BgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpL2Ny +# bC9wcm9kdWN0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFfMDNfMjIuY3JsMF4GCCsG +# AQUFBwEBBFIwUDBOBggrBgEFBQcwAoZCaHR0cDovL3d3dy5taWNyb3NvZnQuY29t +# L3BraS9jZXJ0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFfMDNfMjIuY3J0MIGfBgNV +# HSAEgZcwgZQwgZEGCSsGAQQBgjcuAzCBgzA/BggrBgEFBQcCARYzaHR0cDovL3d3 +# dy5taWNyb3NvZnQuY29tL3BraW9wcy9kb2NzL3ByaW1hcnljcHMuaHRtMEAGCCsG +# AQUFBwICMDQeMiAdAEwAZQBnAGEAbABfAHAAbwBsAGkAYwB5AF8AcwB0AGEAdABl +# AG0AZQBuAHQALiAdMA0GCSqGSIb3DQEBCwUAA4ICAQBn8oalmOBUeRou09h0ZyKb +# C5YR4WOSmUKWfdJ5DJDBZV8uLD74w3LRbYP+vj/oCso7v0epo/Np22O/IjWll11l +# hJB9i0ZQVdgMknzSGksc8zxCi1LQsP1r4z4HLimb5j0bpdS1HXeUOeLpZMlEPXh6 +# I/MTfaaQdION9MsmAkYqwooQu6SpBQyb7Wj6aC6VoCo/KmtYSWMfCWluWpiW5IP0 +# wI/zRive/DvQvTXvbiWu5a8n7dDd8w6vmSiXmE0OPQvyCInWH8MyGOLwxS3OW560 +# STkKxgrCxq2u5bLZ2xWIUUVYODJxJxp/sfQn+N4sOiBpmLJZiWhub6e3dMNABQam +# ASooPoI/E01mC8CzTfXhj38cbxV9Rad25UAqZaPDXVJihsMdYzaXht/a8/jyFqGa +# J+HNpZfQ7l1jQeNbB5yHPgZ3BtEGsXUfFL5hYbXw3MYbBL7fQccOKO7eZS/sl/ah +# XJbYANahRr1Z85elCUtIEJmAH9AAKcWxm6U/RXceNcbSoqKfenoi+kiVH6v7RyOA +# 9Z74v2u3S5fi63V4GuzqN5l5GEv/1rMjaHXmr/r8i+sLgOppO6/8MO0ETI7f33Vt +# Y5E90Z1WTk+/gFcioXgRMiF670EKsT/7qMykXcGhiJtXcVZOSEXAQsmbdlsKgEhr +# /Xmfwb1tbWrJUnMTDXpQzTGCGaIwghmeAgEBMIGVMH4xCzAJBgNVBAYTAlVTMRMw +# EQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVN +# aWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNp +# Z25pbmcgUENBIDIwMTECEzMAAAOvMEAOTKNNBUEAAAAAA68wDQYJYIZIAWUDBAIB +# BQCgga4wGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQwHAYKKwYBBAGCNwIBCzEO +# MAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEIFTY42VJoIbcXCvhXSegqyHn +# WnSge1fxGMSxdzCWpdk1MEIGCisGAQQBgjcCAQwxNDAyoBSAEgBNAGkAYwByAG8A +# cwBvAGYAdKEagBhodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20wDQYJKoZIhvcNAQEB +# BQAEggEACzg6jSvqGazTryaR5pelgFqzLRMhvBcXclK0Z775v0JONZxKstblEs0b +# 6jjy0VIPDcA0xGMrdw5kzQyppg1KYkyw48vvh29XJx6W6d/UmSTcsh+uKIFFZN6i +# vXnJ3KtTLhLMBYUIg+gQ343x5x6cahVCsrg4Ru2qhiNB+JHrU7XKOS8AASkY/0nK +# o5j3SH7HsKLjOYURbJJzUK+EOfLBqqT1buCgGq527NlfRc/0hh6tY9m0pL3+I81S +# kjOWsV28mmuN9EMiPDpjRW9TQSUgJ1pqbezGZV0nG9UTG7MD44+oZlRn/Uh9N6Fx +# NhxOcoY5fnQnFzypymQ6vGGx8WRaCqGCFywwghcoBgorBgEEAYI3AwMBMYIXGDCC +# FxQGCSqGSIb3DQEHAqCCFwUwghcBAgEDMQ8wDQYJYIZIAWUDBAIBBQAwggFZBgsq +# hkiG9w0BCRABBKCCAUgEggFEMIIBQAIBAQYKKwYBBAGEWQoDATAxMA0GCWCGSAFl +# AwQCAQUABCCNJjQCR8aKbOfW2eR2p6kr3Fc2KD3N4N6GG7BkJJp1IgIGZnMS6RGt +# GBMyMDI0MDcwOTIzMzkzMC44NzhaMASAAgH0oIHYpIHVMIHSMQswCQYDVQQGEwJV +# UzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UE +# ChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMS0wKwYDVQQLEyRNaWNyb3NvZnQgSXJl +# bGFuZCBPcGVyYXRpb25zIExpbWl0ZWQxJjAkBgNVBAsTHVRoYWxlcyBUU1MgRVNO +# OkQwODItNEJGRC1FRUJBMSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBT +# ZXJ2aWNloIIRezCCBycwggUPoAMCAQICEzMAAAHcweCMwl9YXo4AAQAAAdwwDQYJ +# KoZIhvcNAQELBQAwfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24x +# EDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlv +# bjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwHhcNMjMx +# MDEyMTkwNzA2WhcNMjUwMTEwMTkwNzA2WjCB0jELMAkGA1UEBhMCVVMxEzARBgNV +# BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv +# c29mdCBDb3Jwb3JhdGlvbjEtMCsGA1UECxMkTWljcm9zb2Z0IElyZWxhbmQgT3Bl +# cmF0aW9ucyBMaW1pdGVkMSYwJAYDVQQLEx1UaGFsZXMgVFNTIEVTTjpEMDgyLTRC +# RkQtRUVCQTElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2VydmljZTCC +# AiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAIvIsyA1sjg9kSKJzelrUWF5 +# ShqYWL83amn3SE5JyIVPUC7F6qTcLphhHZ9idf21f0RaGrU8EHydF8NxPMR2KVNi +# AtCGPJa8kV1CGvn3beGB2m2ltmqJanG71mAywrkKATYniwKLPQLJ00EkXw5TSwfm +# JXbdgQLFlHyfA5Kg+pUsJXzqumkIvEr0DXPvptAGqkdFLKwo4BTlEgnvzeTfXukz +# X8vQtTALfVJuTUgRU7zoP/RFWt3WagahZ6UloI0FC8XlBQDVDX5JeMEsx7jgJDdE +# nK44Y8gHuEWRDq+SG9Xo0GIOjiuTWD5uv3vlEmIAyR/7rSFvcLnwAqMdqcy/iqQP +# MlDOcd0AbniP8ia1BQEUnfZT3UxyK9rLB/SRiKPyHDlg8oWwXyiv3+bGB6dmdM61 +# ur6nUtfDf51lPcKhK4Vo83pOE1/niWlVnEHQV9NJ5/DbUSqW2RqTUa2O2KuvsyRG +# MEgjGJA12/SqrRqlvE2fiN5ZmZVtqSPWaIasx7a0GB+fdTw+geRn6Mo2S6+/bZEw +# S/0IJ5gcKGinNbfyQ1xrvWXPtXzKOfjkh75iRuXourGVPRqkmz5UYz+R5ybMJWj+ +# mfcGqz2hXV8iZnCZDBrrnZivnErCMh5Flfg8496pT0phjUTH2GChHIvE4SDSk2hw +# WP/uHB9gEs8p/9Pe/mt9AgMBAAGjggFJMIIBRTAdBgNVHQ4EFgQU6HPSBd0OfEX3 +# uNWsdkSraUGe3dswHwYDVR0jBBgwFoAUn6cVXQBeYl2D9OXSZacbUzUZ6XIwXwYD +# VR0fBFgwVjBUoFKgUIZOaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9j +# cmwvTWljcm9zb2Z0JTIwVGltZS1TdGFtcCUyMFBDQSUyMDIwMTAoMSkuY3JsMGwG +# CCsGAQUFBwEBBGAwXjBcBggrBgEFBQcwAoZQaHR0cDovL3d3dy5taWNyb3NvZnQu +# Y29tL3BraW9wcy9jZXJ0cy9NaWNyb3NvZnQlMjBUaW1lLVN0YW1wJTIwUENBJTIw +# MjAxMCgxKS5jcnQwDAYDVR0TAQH/BAIwADAWBgNVHSUBAf8EDDAKBggrBgEFBQcD +# CDAOBgNVHQ8BAf8EBAMCB4AwDQYJKoZIhvcNAQELBQADggIBANnrb8Ewr8eX/H1s +# Kt3rnwTDx4AqgHbkMNQo+kUGwCINXS3y1GUcdqsK/R1g6Tf7tNx1q0NpKk1JTupU +# JfHdExKtkuhHA+82lT7yISp/Y74dqJ03RCT4Q+8ooQXTMzxiewfErVLt8Wefebnc +# ST0i6ypKv87pCYkxM24bbqbM/V+M5VBppCUs7R+cETiz/zEA1AbZL/viXtHmryA0 +# CGd+Pt9c+adsYfm7qe5UMnS0f/YJmEEMkEqGXCzyLK+dh+UsFi0d4lkdcE+Zq5JN +# jIHesX1wztGVAtvX0DYDZdN2WZ1kk+hOMblUV/L8n1YWzhP/5XQnYl03AfXErn+1 +# Eatylifzd3ChJ1xuGG76YbWgiRXnDvCiwDqvUJevVRY1qy4y4vlVKaShtbdfgPyG +# eeJ/YcSBONOc0DNTWbjMbL50qeIEC0lHSpL2rRYNVu3hsHzG8n5u5CQajPwx9Pzp +# sZIeFTNHyVF6kujI4Vo9NvO/zF8Ot44IMj4M7UX9Za4QwGf5B71x57OjaX53gxT4 +# vzoHvEBXF9qCmHRgXBLbRomJfDn60alzv7dpCVQIuQ062nyIZKnsXxzuKFb0TjXW +# w6OFpG1bsjXpOo5DMHkysribxHor4Yz5dZjVyHANyKo0bSrAlVeihcaG5F74SZT8 +# FtyHAW6IgLc5w/3D+R1obDhKZ21WMIIHcTCCBVmgAwIBAgITMwAAABXF52ueAptJ +# mQAAAAAAFTANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgT +# Cldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29m +# dCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNh +# dGUgQXV0aG9yaXR5IDIwMTAwHhcNMjEwOTMwMTgyMjI1WhcNMzAwOTMwMTgzMjI1 +# WjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH +# UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQD +# Ex1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDCCAiIwDQYJKoZIhvcNAQEB +# BQADggIPADCCAgoCggIBAOThpkzntHIhC3miy9ckeb0O1YLT/e6cBwfSqWxOdcjK +# NVf2AX9sSuDivbk+F2Az/1xPx2b3lVNxWuJ+Slr+uDZnhUYjDLWNE893MsAQGOhg +# fWpSg0S3po5GawcU88V29YZQ3MFEyHFcUTE3oAo4bo3t1w/YJlN8OWECesSq/XJp +# rx2rrPY2vjUmZNqYO7oaezOtgFt+jBAcnVL+tuhiJdxqD89d9P6OU8/W7IVWTe/d +# vI2k45GPsjksUZzpcGkNyjYtcI4xyDUoveO0hyTD4MmPfrVUj9z6BVWYbWg7mka9 +# 7aSueik3rMvrg0XnRm7KMtXAhjBcTyziYrLNueKNiOSWrAFKu75xqRdbZ2De+JKR +# Hh09/SDPc31BmkZ1zcRfNN0Sidb9pSB9fvzZnkXftnIv231fgLrbqn427DZM9itu +# qBJR6L8FA6PRc6ZNN3SUHDSCD/AQ8rdHGO2n6Jl8P0zbr17C89XYcz1DTsEzOUyO +# ArxCaC4Q6oRRRuLRvWoYWmEBc8pnol7XKHYC4jMYctenIPDC+hIK12NvDMk2ZItb +# oKaDIV1fMHSRlJTYuVD5C4lh8zYGNRiER9vcG9H9stQcxWv2XFJRXRLbJbqvUAV6 +# bMURHXLvjflSxIUXk8A8FdsaN8cIFRg/eKtFtvUeh17aj54WcmnGrnu3tz5q4i6t +# AgMBAAGjggHdMIIB2TASBgkrBgEEAYI3FQEEBQIDAQABMCMGCSsGAQQBgjcVAgQW +# BBQqp1L+ZMSavoKRPEY1Kc8Q/y8E7jAdBgNVHQ4EFgQUn6cVXQBeYl2D9OXSZacb +# UzUZ6XIwXAYDVR0gBFUwUzBRBgwrBgEEAYI3TIN9AQEwQTA/BggrBgEFBQcCARYz +# aHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9Eb2NzL1JlcG9zaXRvcnku +# aHRtMBMGA1UdJQQMMAoGCCsGAQUFBwMIMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIA +# QwBBMAsGA1UdDwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNX2 +# VsuP6KJcYmjRPZSQW9fOmhjEMFYGA1UdHwRPME0wS6BJoEeGRWh0dHA6Ly9jcmwu +# bWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY1Jvb0NlckF1dF8yMDEw +# LTA2LTIzLmNybDBaBggrBgEFBQcBAQROMEwwSgYIKwYBBQUHMAKGPmh0dHA6Ly93 +# d3cubWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljUm9vQ2VyQXV0XzIwMTAtMDYt +# MjMuY3J0MA0GCSqGSIb3DQEBCwUAA4ICAQCdVX38Kq3hLB9nATEkW+Geckv8qW/q +# XBS2Pk5HZHixBpOXPTEztTnXwnE2P9pkbHzQdTltuw8x5MKP+2zRoZQYIu7pZmc6 +# U03dmLq2HnjYNi6cqYJWAAOwBb6J6Gngugnue99qb74py27YP0h1AdkY3m2CDPVt +# I1TkeFN1JFe53Z/zjj3G82jfZfakVqr3lbYoVSfQJL1AoL8ZthISEV09J+BAljis +# 9/kpicO8F7BUhUKz/AyeixmJ5/ALaoHCgRlCGVJ1ijbCHcNhcy4sa3tuPywJeBTp +# kbKpW99Jo3QMvOyRgNI95ko+ZjtPu4b6MhrZlvSP9pEB9s7GdP32THJvEKt1MMU0 +# sHrYUP4KWN1APMdUbZ1jdEgssU5HLcEUBHG/ZPkkvnNtyo4JvbMBV0lUZNlz138e +# W0QBjloZkWsNn6Qo3GcZKCS6OEuabvshVGtqRRFHqfG3rsjoiV5PndLQTHa1V1QJ +# sWkBRH58oWFsc/4Ku+xBZj1p/cvBQUl+fpO+y/g75LcVv7TOPqUxUYS8vwLBgqJ7 +# Fx0ViY1w/ue10CgaiQuPNtq6TPmb/wrpNPgkNWcr4A245oyZ1uEi6vAnQj0llOZ0 +# dFtq0Z4+7X6gMTN9vMvpe784cETRkPHIqzqKOghif9lwY1NNje6CbaUFEMFxBmoQ +# tB1VM1izoXBm8qGCAtcwggJAAgEBMIIBAKGB2KSB1TCB0jELMAkGA1UEBhMCVVMx +# EzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoT +# FU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEtMCsGA1UECxMkTWljcm9zb2Z0IElyZWxh +# bmQgT3BlcmF0aW9ucyBMaW1pdGVkMSYwJAYDVQQLEx1UaGFsZXMgVFNTIEVTTjpE +# MDgyLTRCRkQtRUVCQTElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2Vy +# dmljZaIjCgEBMAcGBSsOAwIaAxUAHDn/cz+3yRkIUCJfSbL3djnQEqaggYMwgYCk +# fjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH +# UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQD +# Ex1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDANBgkqhkiG9w0BAQUFAAIF +# AOo37UUwIhgPMjAyNDA3MTAwMTA5MjVaGA8yMDI0MDcxMTAxMDkyNVowdzA9Bgor +# BgEEAYRZCgQBMS8wLTAKAgUA6jftRQIBADAKAgEAAgIJFQIB/zAHAgEAAgIR5zAK +# AgUA6jk+xQIBADA2BgorBgEEAYRZCgQCMSgwJjAMBgorBgEEAYRZCgMCoAowCAIB +# AAIDB6EgoQowCAIBAAIDAYagMA0GCSqGSIb3DQEBBQUAA4GBAJjt1s+AY13cKwcI +# 8wpH2g4w1SlTPBWsItrbWmI1lKsWOLvAB1xaY3eNT4oRuwvjUUlOOGAFjzItP0xj +# nXRJxWIZtEG55mLi0CJ0h3BQoB6P3WshfvdN/IC+EvXDPL4ifbfwf7YeRgBWjcbt +# HK9FMCXZ6qFhyopoRIHnLMHqj20lMYIEDTCCBAkCAQEwgZMwfDELMAkGA1UEBhMC +# VVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNV +# BAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRp +# bWUtU3RhbXAgUENBIDIwMTACEzMAAAHcweCMwl9YXo4AAQAAAdwwDQYJYIZIAWUD +# BAIBBQCgggFKMBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAvBgkqhkiG9w0B +# CQQxIgQgoGQZ92Ebdf3N0YEeeLdsRLgB5KhLacrznR6pEj+CszswgfoGCyqGSIb3 +# DQEJEAIvMYHqMIHnMIHkMIG9BCBTpxeKatlEP4y8qZzjuWL0Ou0IqxELDhX2TLyl +# xIINNzCBmDCBgKR+MHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9u +# MRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRp +# b24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwAhMzAAAB +# 3MHgjMJfWF6OAAEAAAHcMCIEIDIzbwG+kPBEsHJf0vH/P/Jza5TAf/uumFGtmvqT +# bcvjMA0GCSqGSIb3DQEBCwUABIICAD8lMZctIdP8ebljIdtF0pjejMufYn3Wozzn +# HG6GGPRom9odNW84FDXRLGaQLGHFvYFnSZM8BXJxYxZO5RfPxzKnk6OzO83uSvsh +# YdapjD3i6BvGAhrTUbp3OQO3CzJ0gPldKf+WhZe6hCyKbu4SXLJ6TIvAHJq2/Qmr +# AYBfTe3RKETgjIPN2XfR84jBjpL7YKoO2WC5kyX2aO4hYHqFEtYPg0VWciRVSMfG +# AEPnpkZVpV+uYnbQxB0sa31GWHhcXAG5XeQ4CQL43kLemixIHRJGyBdUCyA6UAhS +# JCoWBse8r3mK5Z306KGLwb59VbRSC92406YmwK+HQOX0K3ztwV1bhQIB9zXXpVTH +# h62epoyPOTK3JL2JyBOEsnFpVJV7h5N9NGMlXWHahH2kWVSOc3lEblwbCm/vYlNW +# iuN5v6rrKJ3EgBWUXgZGFVS8TYPbiap1LPPmp5dudj9yPdWJtW199nkqwByKHT6X +# Lk6hYzreJgnupQ67TkVsVij5ExeaxI2j3Niy94OklhuVCDLWwZjoZqUmIVzT6LgM +# 010dqRIBlcdD2b/daRDt5vLPxAfLjrYcOHIAr0GLA8m+x4dED0dy3M3f1ga7eWGD +# TcUwyQNdqSapL+w2f+Q1Qra6n9t5ZenOuvYxSMtKkeSODaav2vrJVZ8ZH1uyzfbW +# E/TJNInS +# SIG # End signature block diff --git a/scripts/posh-vcpkg/0.0.1/posh-vcpkg.psm1 b/scripts/posh-vcpkg/0.0.1/posh-vcpkg.psm1 index 25ef99609f6f74..1c142c84f04ad2 100644 --- a/scripts/posh-vcpkg/0.0.1/posh-vcpkg.psm1 +++ b/scripts/posh-vcpkg/0.0.1/posh-vcpkg.psm1 @@ -37,3 +37,218 @@ $exportModuleMemberParams = @{ } Export-ModuleMember @exportModuleMemberParams + +# SIG # Begin signature block +# MIInugYJKoZIhvcNAQcCoIInqzCCJ6cCAQExDzANBglghkgBZQMEAgEFADB5Bgor +# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG +# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCDHZjpMevSjAPcs +# /aTP8aVTWBuPE0L4AxomP0cA936m/KCCDYEwggX/MIID56ADAgECAhMzAAACUosz +# qviV8znbAAAAAAJSMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD +# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p +# bmcgUENBIDIwMTEwHhcNMjEwOTAyMTgzMjU5WhcNMjIwOTAxMTgzMjU5WjB0MQsw +# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u +# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB +# AQDQ5M+Ps/X7BNuv5B/0I6uoDwj0NJOo1KrVQqO7ggRXccklyTrWL4xMShjIou2I +# sbYnF67wXzVAq5Om4oe+LfzSDOzjcb6ms00gBo0OQaqwQ1BijyJ7NvDf80I1fW9O +# L76Kt0Wpc2zrGhzcHdb7upPrvxvSNNUvxK3sgw7YTt31410vpEp8yfBEl/hd8ZzA +# v47DCgJ5j1zm295s1RVZHNp6MoiQFVOECm4AwK2l28i+YER1JO4IplTH44uvzX9o +# RnJHaMvWzZEpozPy4jNO2DDqbcNs4zh7AWMhE1PWFVA+CHI/En5nASvCvLmuR/t8 +# q4bc8XR8QIZJQSp+2U6m2ldNAgMBAAGjggF+MIIBejAfBgNVHSUEGDAWBgorBgEE +# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQUNZJaEUGL2Guwt7ZOAu4efEYXedEw +# UAYDVR0RBEkwR6RFMEMxKTAnBgNVBAsTIE1pY3Jvc29mdCBPcGVyYXRpb25zIFB1 +# ZXJ0byBSaWNvMRYwFAYDVQQFEw0yMzAwMTIrNDY3NTk3MB8GA1UdIwQYMBaAFEhu +# ZOVQBdOCqhc3NyK1bajKdQKVMFQGA1UdHwRNMEswSaBHoEWGQ2h0dHA6Ly93d3cu +# bWljcm9zb2Z0LmNvbS9wa2lvcHMvY3JsL01pY0NvZFNpZ1BDQTIwMTFfMjAxMS0w +# Ny0wOC5jcmwwYQYIKwYBBQUHAQEEVTBTMFEGCCsGAQUFBzAChkVodHRwOi8vd3d3 +# Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NlcnRzL01pY0NvZFNpZ1BDQTIwMTFfMjAx +# MS0wNy0wOC5jcnQwDAYDVR0TAQH/BAIwADANBgkqhkiG9w0BAQsFAAOCAgEAFkk3 +# uSxkTEBh1NtAl7BivIEsAWdgX1qZ+EdZMYbQKasY6IhSLXRMxF1B3OKdR9K/kccp +# kvNcGl8D7YyYS4mhCUMBR+VLrg3f8PUj38A9V5aiY2/Jok7WZFOAmjPRNNGnyeg7 +# l0lTiThFqE+2aOs6+heegqAdelGgNJKRHLWRuhGKuLIw5lkgx9Ky+QvZrn/Ddi8u +# TIgWKp+MGG8xY6PBvvjgt9jQShlnPrZ3UY8Bvwy6rynhXBaV0V0TTL0gEx7eh/K1 +# o8Miaru6s/7FyqOLeUS4vTHh9TgBL5DtxCYurXbSBVtL1Fj44+Od/6cmC9mmvrti +# yG709Y3Rd3YdJj2f3GJq7Y7KdWq0QYhatKhBeg4fxjhg0yut2g6aM1mxjNPrE48z +# 6HWCNGu9gMK5ZudldRw4a45Z06Aoktof0CqOyTErvq0YjoE4Xpa0+87T/PVUXNqf +# 7Y+qSU7+9LtLQuMYR4w3cSPjuNusvLf9gBnch5RqM7kaDtYWDgLyB42EfsxeMqwK +# WwA+TVi0HrWRqfSx2olbE56hJcEkMjOSKz3sRuupFCX3UroyYf52L+2iVTrda8XW +# esPG62Mnn3T8AuLfzeJFuAbfOSERx7IFZO92UPoXE1uEjL5skl1yTZB3MubgOA4F +# 8KoRNhviFAEST+nG8c8uIsbZeb08SeYQMqjVEmkwggd6MIIFYqADAgECAgphDpDS +# AAAAAAADMA0GCSqGSIb3DQEBCwUAMIGIMQswCQYDVQQGEwJVUzETMBEGA1UECBMK +# V2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0 +# IENvcnBvcmF0aW9uMTIwMAYDVQQDEylNaWNyb3NvZnQgUm9vdCBDZXJ0aWZpY2F0 +# ZSBBdXRob3JpdHkgMjAxMTAeFw0xMTA3MDgyMDU5MDlaFw0yNjA3MDgyMTA5MDla +# MH4xCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdS +# ZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMT +# H01pY3Jvc29mdCBDb2RlIFNpZ25pbmcgUENBIDIwMTEwggIiMA0GCSqGSIb3DQEB +# AQUAA4ICDwAwggIKAoICAQCr8PpyEBwurdhuqoIQTTS68rZYIZ9CGypr6VpQqrgG +# OBoESbp/wwwe3TdrxhLYC/A4wpkGsMg51QEUMULTiQ15ZId+lGAkbK+eSZzpaF7S +# 35tTsgosw6/ZqSuuegmv15ZZymAaBelmdugyUiYSL+erCFDPs0S3XdjELgN1q2jz +# y23zOlyhFvRGuuA4ZKxuZDV4pqBjDy3TQJP4494HDdVceaVJKecNvqATd76UPe/7 +# 4ytaEB9NViiienLgEjq3SV7Y7e1DkYPZe7J7hhvZPrGMXeiJT4Qa8qEvWeSQOy2u +# M1jFtz7+MtOzAz2xsq+SOH7SnYAs9U5WkSE1JcM5bmR/U7qcD60ZI4TL9LoDho33 +# X/DQUr+MlIe8wCF0JV8YKLbMJyg4JZg5SjbPfLGSrhwjp6lm7GEfauEoSZ1fiOIl +# XdMhSz5SxLVXPyQD8NF6Wy/VI+NwXQ9RRnez+ADhvKwCgl/bwBWzvRvUVUvnOaEP +# 6SNJvBi4RHxF5MHDcnrgcuck379GmcXvwhxX24ON7E1JMKerjt/sW5+v/N2wZuLB +# l4F77dbtS+dJKacTKKanfWeA5opieF+yL4TXV5xcv3coKPHtbcMojyyPQDdPweGF +# RInECUzF1KVDL3SV9274eCBYLBNdYJWaPk8zhNqwiBfenk70lrC8RqBsmNLg1oiM +# CwIDAQABo4IB7TCCAekwEAYJKwYBBAGCNxUBBAMCAQAwHQYDVR0OBBYEFEhuZOVQ +# BdOCqhc3NyK1bajKdQKVMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1Ud +# DwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFHItOgIxkEO5FAVO +# 4eqnxzHRI4k0MFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwubWljcm9zb2Z0 +# LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY1Jvb0NlckF1dDIwMTFfMjAxMV8wM18y +# Mi5jcmwwXgYIKwYBBQUHAQEEUjBQME4GCCsGAQUFBzAChkJodHRwOi8vd3d3Lm1p +# Y3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY1Jvb0NlckF1dDIwMTFfMjAxMV8wM18y +# Mi5jcnQwgZ8GA1UdIASBlzCBlDCBkQYJKwYBBAGCNy4DMIGDMD8GCCsGAQUFBwIB +# FjNodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2RvY3MvcHJpbWFyeWNw +# cy5odG0wQAYIKwYBBQUHAgIwNB4yIB0ATABlAGcAYQBsAF8AcABvAGwAaQBjAHkA +# XwBzAHQAYQB0AGUAbQBlAG4AdAAuIB0wDQYJKoZIhvcNAQELBQADggIBAGfyhqWY +# 4FR5Gi7T2HRnIpsLlhHhY5KZQpZ90nkMkMFlXy4sPvjDctFtg/6+P+gKyju/R6mj +# 82nbY78iNaWXXWWEkH2LRlBV2AySfNIaSxzzPEKLUtCw/WvjPgcuKZvmPRul1LUd +# d5Q54ulkyUQ9eHoj8xN9ppB0g430yyYCRirCihC7pKkFDJvtaPpoLpWgKj8qa1hJ +# Yx8JaW5amJbkg/TAj/NGK978O9C9Ne9uJa7lryft0N3zDq+ZKJeYTQ49C/IIidYf +# wzIY4vDFLc5bnrRJOQrGCsLGra7lstnbFYhRRVg4MnEnGn+x9Cf43iw6IGmYslmJ +# aG5vp7d0w0AFBqYBKig+gj8TTWYLwLNN9eGPfxxvFX1Fp3blQCplo8NdUmKGwx1j +# NpeG39rz+PIWoZon4c2ll9DuXWNB41sHnIc+BncG0QaxdR8UvmFhtfDcxhsEvt9B +# xw4o7t5lL+yX9qFcltgA1qFGvVnzl6UJS0gQmYAf0AApxbGbpT9Fdx41xtKiop96 +# eiL6SJUfq/tHI4D1nvi/a7dLl+LrdXga7Oo3mXkYS//WsyNodeav+vyL6wuA6mk7 +# r/ww7QRMjt/fdW1jkT3RnVZOT7+AVyKheBEyIXrvQQqxP/uozKRdwaGIm1dxVk5I +# RcBCyZt2WwqASGv9eZ/BvW1taslScxMNelDNMYIZjzCCGYsCAQEwgZUwfjELMAkG +# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx +# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEoMCYGA1UEAxMfTWljcm9z +# b2Z0IENvZGUgU2lnbmluZyBQQ0EgMjAxMQITMwAAAlKLM6r4lfM52wAAAAACUjAN +# BglghkgBZQMEAgEFAKCBrjAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIBBDAcBgor +# BgEEAYI3AgELMQ4wDAYKKwYBBAGCNwIBFTAvBgkqhkiG9w0BCQQxIgQgXfYXu2P9 +# Xl5soetYGYSmu5lwyqTv6FS3BnPtgTQd11AwQgYKKwYBBAGCNwIBDDE0MDKgFIAS +# AE0AaQBjAHIAbwBzAG8AZgB0oRqAGGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbTAN +# BgkqhkiG9w0BAQEFAASCAQB0AjnChoWv+UO2eEgknT4P1WMsswzSKL9O1ucsOUJ2 +# TIE8ioVKds7PwtQY5YfxAbjgWl2NF/B6dEZjIBvvJB3B6qGvXyU6APj+yE6LRFnm +# YX4Z/u8MXWuDnMX6HF/UMDFlzFpmK5hee585P5sJzVJpVkviMKDNK3mNNg6jMSI1 +# k0MB2tN7oJViiS/9S7l81p/9mulUKlTcyoy3lzZLSH1iXbF80oT2vv18AT6bCOAP +# TFVW0E6pjatJdjL40WHN+MZ076QhdzYMhiCD/rOPBAaO5ymcT7i94gp43GlkjcVb +# x2jNCCP4NGF4Zd3OujlwIyNc/I50upsaZMXmcuYbKm42oYIXGTCCFxUGCisGAQQB +# gjcDAwExghcFMIIXAQYJKoZIhvcNAQcCoIIW8jCCFu4CAQMxDzANBglghkgBZQME +# AgEFADCCAVkGCyqGSIb3DQEJEAEEoIIBSASCAUQwggFAAgEBBgorBgEEAYRZCgMB +# MDEwDQYJYIZIAWUDBAIBBQAEIINYetTs4pGQvctdg51u+7aIG0JApdU1hE1hgt0m +# co6dAgZiF5hMAQQYEzIwMjIwMzMwMjE1MjEwLjY2OVowBIACAfSggdikgdUwgdIx +# CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt +# b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xLTArBgNVBAsTJE1p +# Y3Jvc29mdCBJcmVsYW5kIE9wZXJhdGlvbnMgTGltaXRlZDEmMCQGA1UECxMdVGhh +# bGVzIFRTUyBFU046RkM0MS00QkQ0LUQyMjAxJTAjBgNVBAMTHE1pY3Jvc29mdCBU +# aW1lLVN0YW1wIFNlcnZpY2WgghFoMIIHFDCCBPygAwIBAgITMwAAAY5Z20YAqBCU +# zAABAAABjjANBgkqhkiG9w0BAQsFADB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMK +# V2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0 +# IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0Eg +# MjAxMDAeFw0yMTEwMjgxOTI3NDVaFw0yMzAxMjYxOTI3NDVaMIHSMQswCQYDVQQG +# EwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwG +# A1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMS0wKwYDVQQLEyRNaWNyb3NvZnQg +# SXJlbGFuZCBPcGVyYXRpb25zIExpbWl0ZWQxJjAkBgNVBAsTHVRoYWxlcyBUU1Mg +# RVNOOkZDNDEtNEJENC1EMjIwMSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFt +# cCBTZXJ2aWNlMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAqiMCq6OM +# zLa5wrtcf7Bf9f1WXW9kpqbOBzgPJvaGLrZG7twgwqTRWf1FkjpJKBOG5QPIRy7a +# 6IFVAy0W+tBaFX4In4DbBf2tGubyY9+hRU+hRewPJH5CYOvpPh77FfGM63+OlwRX +# p5YER6tC0WRKn3mryWpt4CwADuGv0LD2QjnhhgtRVidsiDnn9+aLjMuNapUhstGq +# Cr7JcQZt0ZrPUHW/TqTJymeU1eqgNorEbTed6UQyLaTVAmhXNQXDChfa526nW7RQ +# 7L4tXX9Lc0oguiCSkPlu5drNA6NM8z+UXQOAHxVfIQXmi+Y3SV2hr2dcxby9nlTz +# Yvf4ZDr5Wpcwt7tTdRIJibXHsXWMKrmOziliGDToLx34a/ctZE4NOLnlrKQWN9ZG +# +Ox5zRarK1EhShahM0uQNhb6BJjp3+c0eNzMFJ2qLZqDp2/3Yl5Q+4k+MDHLTipP +# 6VBdxcdVfd4mgrVTx3afO5KNfgMngGGfhSawGraRW28EhrLOspmIxii92E7vjncJ +# 2tcjhLCjBArVpPh3cZG5g3ZVy5iiAaoDaswpNgnMFAK5Un1reK+MFhPi9iMnvUPw +# tTDDJt5YED5DAT3mBUxp5QH3t7RhZwAJNLWLtpTeGF7ub81sSKYv2ardazAe9XLS +# 10tV2oOPrcniGJzlXW7VPvxqQNxe8lCDA20CAwEAAaOCATYwggEyMB0GA1UdDgQW +# BBTsQfkz9gT44N/5G8vNHayep+aV5DAfBgNVHSMEGDAWgBSfpxVdAF5iXYP05dJl +# pxtTNRnpcjBfBgNVHR8EWDBWMFSgUqBQhk5odHRwOi8vd3d3Lm1pY3Jvc29mdC5j +# b20vcGtpb3BzL2NybC9NaWNyb3NvZnQlMjBUaW1lLVN0YW1wJTIwUENBJTIwMjAx +# MCgxKS5jcmwwbAYIKwYBBQUHAQEEYDBeMFwGCCsGAQUFBzAChlBodHRwOi8vd3d3 +# Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NlcnRzL01pY3Jvc29mdCUyMFRpbWUtU3Rh +# bXAlMjBQQ0ElMjAyMDEwKDEpLmNydDAMBgNVHRMBAf8EAjAAMBMGA1UdJQQMMAoG +# CCsGAQUFBwMIMA0GCSqGSIb3DQEBCwUAA4ICAQA1UK9xzIeTlKhSbLn0bekR5gYh +# 6bB1XQpluCqCA15skZ37UilaFJw8+GklDLzlNhSP2mOiOzVyCq8kkpqnfUc01ZaB +# ezQxg77qevj2iMyg39YJfeiCIhxYOFugwepYrPO8MlB/oue/VhIiDb1eNYTlPSmv +# 3palsgtkrb0oo0F0uWmX4EQVGKRo0UENtZetVIxa0J9DpUdjQWPeEh9cEM+RgE26 +# 5w5WAVb+WNx0iWiF4iTbCmrWaVEOX92dNqBm9bT1U7nGwN5CygpNAgEaYnrTMx1N +# 4AjxObACDN5DdvGlu/O0DfMWVc6qk6iKDFC6WpXQSkMlrlXII/Nhp+0+noU6tfEp +# HKLt7fYm9of5i/QomcCwo/ekiOCjYktp393ovoC1O2uLtbLnMVlE5raBLBNSbINZ +# 6QLxiA41lXnVVLIzDihUL8MU9CMvG4sdbhk2FX8zvrsP5PeBIw1faenMZuz0V3UX +# CtU5Okx5fmioWiiLZSCi1ljaxX+BEwQiinCi+vE59bTYI5FbuR8tDuGLiVu/JSpV +# FXrzWMP2Kn11sCLAGEjqJYUmO1tRY29Kd7HcIj2niSB0PQOCjYlnCnywnDinqS1C +# XvRsisjVlS1Rp4Tmuks+pGxiMGzF58zcb+hoFKyONuL3b+tgxTAz3sF3BVX9uk9M +# 5F+OEoeyLyGfLekNAjCCB3EwggVZoAMCAQICEzMAAAAVxedrngKbSZkAAAAAABUw +# DQYJKoZIhvcNAQELBQAwgYgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5n +# dG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9y +# YXRpb24xMjAwBgNVBAMTKU1pY3Jvc29mdCBSb290IENlcnRpZmljYXRlIEF1dGhv +# cml0eSAyMDEwMB4XDTIxMDkzMDE4MjIyNVoXDTMwMDkzMDE4MzIyNVowfDELMAkG +# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx +# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9z +# b2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw +# ggIKAoICAQDk4aZM57RyIQt5osvXJHm9DtWC0/3unAcH0qlsTnXIyjVX9gF/bErg +# 4r25PhdgM/9cT8dm95VTcVrifkpa/rg2Z4VGIwy1jRPPdzLAEBjoYH1qUoNEt6aO +# RmsHFPPFdvWGUNzBRMhxXFExN6AKOG6N7dcP2CZTfDlhAnrEqv1yaa8dq6z2Nr41 +# JmTamDu6GnszrYBbfowQHJ1S/rboYiXcag/PXfT+jlPP1uyFVk3v3byNpOORj7I5 +# LFGc6XBpDco2LXCOMcg1KL3jtIckw+DJj361VI/c+gVVmG1oO5pGve2krnopN6zL +# 64NF50ZuyjLVwIYwXE8s4mKyzbnijYjklqwBSru+cakXW2dg3viSkR4dPf0gz3N9 +# QZpGdc3EXzTdEonW/aUgfX782Z5F37ZyL9t9X4C626p+Nuw2TPYrbqgSUei/BQOj +# 0XOmTTd0lBw0gg/wEPK3Rxjtp+iZfD9M269ewvPV2HM9Q07BMzlMjgK8QmguEOqE +# UUbi0b1qGFphAXPKZ6Je1yh2AuIzGHLXpyDwwvoSCtdjbwzJNmSLW6CmgyFdXzB0 +# kZSU2LlQ+QuJYfM2BjUYhEfb3BvR/bLUHMVr9lxSUV0S2yW6r1AFemzFER1y7435 +# UsSFF5PAPBXbGjfHCBUYP3irRbb1Hode2o+eFnJpxq57t7c+auIurQIDAQABo4IB +# 3TCCAdkwEgYJKwYBBAGCNxUBBAUCAwEAATAjBgkrBgEEAYI3FQIEFgQUKqdS/mTE +# mr6CkTxGNSnPEP8vBO4wHQYDVR0OBBYEFJ+nFV0AXmJdg/Tl0mWnG1M1GelyMFwG +# A1UdIARVMFMwUQYMKwYBBAGCN0yDfQEBMEEwPwYIKwYBBQUHAgEWM2h0dHA6Ly93 +# d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvRG9jcy9SZXBvc2l0b3J5Lmh0bTATBgNV +# HSUEDDAKBggrBgEFBQcDCDAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNV +# HQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBTV9lbLj+iiXGJo +# 0T2UkFvXzpoYxDBWBgNVHR8ETzBNMEugSaBHhkVodHRwOi8vY3JsLm1pY3Jvc29m +# dC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNSb29DZXJBdXRfMjAxMC0wNi0yMy5j +# cmwwWgYIKwYBBQUHAQEETjBMMEoGCCsGAQUFBzAChj5odHRwOi8vd3d3Lm1pY3Jv +# c29mdC5jb20vcGtpL2NlcnRzL01pY1Jvb0NlckF1dF8yMDEwLTA2LTIzLmNydDAN +# BgkqhkiG9w0BAQsFAAOCAgEAnVV9/Cqt4SwfZwExJFvhnnJL/Klv6lwUtj5OR2R4 +# sQaTlz0xM7U518JxNj/aZGx80HU5bbsPMeTCj/ts0aGUGCLu6WZnOlNN3Zi6th54 +# 2DYunKmCVgADsAW+iehp4LoJ7nvfam++Kctu2D9IdQHZGN5tggz1bSNU5HhTdSRX +# ud2f8449xvNo32X2pFaq95W2KFUn0CS9QKC/GbYSEhFdPSfgQJY4rPf5KYnDvBew +# VIVCs/wMnosZiefwC2qBwoEZQhlSdYo2wh3DYXMuLGt7bj8sCXgU6ZGyqVvfSaN0 +# DLzskYDSPeZKPmY7T7uG+jIa2Zb0j/aRAfbOxnT99kxybxCrdTDFNLB62FD+Cljd +# QDzHVG2dY3RILLFORy3BFARxv2T5JL5zbcqOCb2zAVdJVGTZc9d/HltEAY5aGZFr +# DZ+kKNxnGSgkujhLmm77IVRrakURR6nxt67I6IleT53S0Ex2tVdUCbFpAUR+fKFh +# bHP+CrvsQWY9af3LwUFJfn6Tvsv4O+S3Fb+0zj6lMVGEvL8CwYKiexcdFYmNcP7n +# tdAoGokLjzbaukz5m/8K6TT4JDVnK+ANuOaMmdbhIurwJ0I9JZTmdHRbatGePu1+ +# oDEzfbzL6Xu/OHBE0ZDxyKs6ijoIYn/ZcGNTTY3ugm2lBRDBcQZqELQdVTNYs6Fw +# ZvKhggLXMIICQAIBATCCAQChgdikgdUwgdIxCzAJBgNVBAYTAlVTMRMwEQYDVQQI +# EwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3Nv +# ZnQgQ29ycG9yYXRpb24xLTArBgNVBAsTJE1pY3Jvc29mdCBJcmVsYW5kIE9wZXJh +# dGlvbnMgTGltaXRlZDEmMCQGA1UECxMdVGhhbGVzIFRTUyBFU046RkM0MS00QkQ0 +# LUQyMjAxJTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2WiIwoB +# ATAHBgUrDgMCGgMVAD1iK+pPThHqgpa5xsPmiYruWVuMoIGDMIGApH4wfDELMAkG +# A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx +# HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9z +# b2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwDQYJKoZIhvcNAQEFBQACBQDl7udOMCIY +# DzIwMjIwMzMwMjIyNzI2WhgPMjAyMjAzMzEyMjI3MjZaMHcwPQYKKwYBBAGEWQoE +# ATEvMC0wCgIFAOXu504CAQAwCgIBAAICEPsCAf8wBwIBAAICH6MwCgIFAOXwOM4C +# AQAwNgYKKwYBBAGEWQoEAjEoMCYwDAYKKwYBBAGEWQoDAqAKMAgCAQACAwehIKEK +# MAgCAQACAwGGoDANBgkqhkiG9w0BAQUFAAOBgQDRvkQ+8tl/rST6Q19W3HCLiL76 +# 5jAlwfOPE9qK2auMHZnHWlcofAenCxyLoB0QAqj3UFflJ0bGic1xRb+OsKq+X/dz +# CPN2ik0cRkqUh8p3qjwRLquQ3HQp5BNxlyvdMNKSk+YdcK8SAGiO2HsnNE3LWwXP +# lko3/5Oq0+Oz7mdtpDGCBA0wggQJAgEBMIGTMHwxCzAJBgNVBAYTAlVTMRMwEQYD +# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy +# b3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1w +# IFBDQSAyMDEwAhMzAAABjlnbRgCoEJTMAAEAAAGOMA0GCWCGSAFlAwQCAQUAoIIB +# SjAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwLwYJKoZIhvcNAQkEMSIEIL3n +# o4olI1N5U/f6eBrubu/yvZtoslP7/FdMYNVskLVDMIH6BgsqhkiG9w0BCRACLzGB +# 6jCB5zCB5DCBvQQgvQWPITvigaUuV5+f/lWs3BXZwJ/l1mf+yelu5nXmxCUwgZgw +# gYCkfjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UE +# BxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYD +# VQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMAITMwAAAY5Z20YAqBCU +# zAABAAABjjAiBCDoji5HoyFgeYnb2i9yFZjrBiELTJNC0CmqBLawXNEDPjANBgkq +# hkiG9w0BAQsFAASCAgCgDJqUfA65UksIsoC921eUPYQZsrbCZS1SpU7D6Pyn/xQ4 +# zbNu8vgxPpYqUz5/wdl0GnNMU6HkJWpYW0oT9PzsSIquvXlisaydTrEl6Q2t8z1c +# +kpJ0+Hm+ULHl1iRQc1sVfl7Zfzl2jy4OMZCO2lCLybDHMqeLSjx4bcRceTjPT0P +# TmFspYmlGxzh4V2snGcR4vkXYp3G7k7vcKgkI5rePj5re5Pp1AytGSK6AyNJ+Tm3 +# T6TWjaeiN+uzapzvbThNEwFMhad5yHe0xaTCYACT0XE9rULziUJk22kZrJ9UucNj +# s3GBxsLyv3T5RhNwpwGtMWhahc1lM01Xggw/bpodaRf2hWhl3ngJzEUysXPz4H+h +# HV713DUGIvfY5P6J1MA50Nufjv2MXeGKVbdD7jeEye0KFiz8uCin3uS5v4lny0t6 +# wddkWe4faFc0lPscDewubi2hQqUucGMVRt/lj120Bq0OUiLUNlQ0pucTC9NhQmCx +# eqlxR3tDVleAq5WI/VDUSVaNp9MBqT2RBpA3Ur1+kzE7lHL+WT/vmfcuoeXxsn9e +# 5tq9KwsTXctJWJrRrE9j9O94VR1G6isOYthtNOFXcN8kdT7vK/eyVJrQYKEj71xH +# efYWPLvRhkzisRAiYfC/cTlbkR2y8BvPhjtXTjcyFyyA57rsnpLb7IEvQbqn7g== +# SIG # End signature block diff --git a/scripts/templates/portfile.in.cmake b/scripts/templates/portfile.in.cmake index 5cd363ddce5935..9587622d4dfe1a 100644 --- a/scripts/templates/portfile.in.cmake +++ b/scripts/templates/portfile.in.cmake @@ -13,7 +13,6 @@ # VCPKG_TOOLCHAIN = ON OFF # TRIPLET_SYSTEM_ARCH = arm x86 x64 # BUILD_ARCH = "Win32" "x64" "ARM" -# MSBUILD_PLATFORM = "Win32"/"x64"/${TRIPLET_SYSTEM_ARCH} # DEBUG_CONFIG = "Debug Static" "Debug Dll" # RELEASE_CONFIG = "Release Static"" "Release DLL" # VCPKG_TARGET_IS_WINDOWS @@ -29,9 +28,12 @@ # # See additional helpful variables in /docs/maintainers/vcpkg_common_definitions.md -# # Specifies if the port install should fail immediately given a condition -# vcpkg_fail_port_install(MESSAGE "@PORT@ currently only supports Linux and Mac platforms" ON_TARGET "Windows") - +# Also consider vcpkg_from_* functions if you can; the generated code here is for any web accessable +# source archive. +# vcpkg_from_github +# vcpkg_from_gitlab +# vcpkg_from_bitbucket +# vcpkg_from_sourceforge vcpkg_download_distfile(ARCHIVE URLS "@URL@" FILENAME "@FILENAME@" @@ -40,11 +42,11 @@ vcpkg_download_distfile(ARCHIVE vcpkg_extract_source_archive_ex( OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} + ARCHIVE "${ARCHIVE}" # (Optional) A friendly name to use instead of the filename of the archive (e.g.: a version number or tag). # REF 1.0.0 # (Optional) Read the docs for how to generate patches at: - # https://github.com/Microsoft/vcpkg/blob/master/docs/examples/patching.md + # https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/examples/patching.md # PATCHES # 001_port_fixes.patch # 002_more_port_fixes.patch @@ -53,25 +55,30 @@ vcpkg_extract_source_archive_ex( # # Check if one or more features are a part of a package installation. # # See /docs/maintainers/vcpkg_check_features.md for more details # vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS -# FEATURES # <- Keyword FEATURES is required because INVERTED_FEATURES are being used +# FEATURES # tbb WITH_TBB # INVERTED_FEATURES # tbb ROCKSDB_IGNORE_PACKAGE_TBB # ) -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA # Disable this option if project cannot be built with Ninja +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" # OPTIONS -DUSE_THIS_IN_ALL_BUILDS=1 -DUSE_THIS_TOO=2 # OPTIONS_RELEASE -DOPTIMIZE=1 # OPTIONS_DEBUG -DDEBUGGABLE=1 ) -vcpkg_install_cmake() +vcpkg_cmake_install() # # Moves all .cmake files from /debug/share/@PORT@/ to /share/@PORT@/ -# # See /docs/maintainers/vcpkg_fixup_cmake_targets.md for more details -# vcpkg_fixup_cmake_targets(CONFIG_PATH cmake TARGET_PATH share/@PORT@) +# # See /docs/maintainers/ports/vcpkg-cmake-config/vcpkg_cmake_config_fixup.md for more details +# When you uncomment "vcpkg_cmake_config_fixup()", you need to add the following to "dependencies" vcpkg.json: +#{ +# "name": "vcpkg-cmake-config", +# "host": true +#} +# vcpkg_cmake_config_fixup() -# # Handle copyright -# file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/@PORT@ RENAME copyright) +# Uncomment the line below if necessary to install the license file for the port +# as a file named `copyright` to the directory `${CURRENT_PACKAGES_DIR}/share/${PORT}` +# vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/scripts/templates/vcpkg.json.in b/scripts/templates/vcpkg.json.in index 2e217387e76ecc..03476f8ff43b17 100644 --- a/scripts/templates/vcpkg.json.in +++ b/scripts/templates/vcpkg.json.in @@ -1,16 +1,21 @@ { "name": "@PORT@", - "version-string": "", + "version": "", "homepage": "", "description": "", - "dependencies": [], + "license": "", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ], "default-features": [], - "features": [ - { - "name": "", + "features": { + "example-feature": { "description": "", "dependencies": [] } - ] + } } diff --git a/scripts/test_ports/blas-test/CMakeLists.txt b/scripts/test_ports/blas-test/CMakeLists.txt new file mode 100644 index 00000000000000..3d7ebac4028709 --- /dev/null +++ b/scripts/test_ports/blas-test/CMakeLists.txt @@ -0,0 +1,6 @@ +cmake_minimum_required(VERSION 3.17) + +project(Find_BLAS_external) +find_package(BLAS REQUIRED) +find_package(PkgConfig REQUIRED) +pkg_check_modules(BLAS_PC REQUIRED IMPORTED_TARGET blas) diff --git a/scripts/test_ports/blas-test/portfile.cmake b/scripts/test_ports/blas-test/portfile.cmake new file mode 100644 index 00000000000000..b6904bf78302d0 --- /dev/null +++ b/scripts/test_ports/blas-test/portfile.cmake @@ -0,0 +1,5 @@ +SET(VCPKG_POLICY_EMPTY_PACKAGE enabled) + +# Make sure BLAS can be found +vcpkg_cmake_configure(SOURCE_PATH "${CURRENT_PORT_DIR}" + OPTIONS -DVCPKG_HOST_TRIPLET=${HOST_TRIPLET}) diff --git a/scripts/test_ports/blas-test/vcpkg.json b/scripts/test_ports/blas-test/vcpkg.json new file mode 100644 index 00000000000000..ab9615c3e9ef07 --- /dev/null +++ b/scripts/test_ports/blas-test/vcpkg.json @@ -0,0 +1,19 @@ +{ + "$comment": "Keep the platform expressions in sync with the wrappers installed by the portfiles!", + "name": "blas-test", + "version-date": "2022-04-22", + "description": "Metapackage for packages which provide BLAS", + "license": null, + "dependencies": [ + "blas", + { + "name": "pkgconf", + "host": true, + "platform": "windows" + }, + { + "name": "vcpkg-cmake", + "host": true + } + ] +} diff --git a/scripts/test_ports/cblas-test/CMakeLists.txt b/scripts/test_ports/cblas-test/CMakeLists.txt new file mode 100644 index 00000000000000..743ddb643d9084 --- /dev/null +++ b/scripts/test_ports/cblas-test/CMakeLists.txt @@ -0,0 +1,5 @@ +cmake_minimum_required(VERSION 3.17) + +project(Find_CBLAS_external) +find_package(PkgConfig REQUIRED) +pkg_check_modules(CBLAS_PC REQUIRED IMPORTED_TARGET cblas) diff --git a/scripts/test_ports/cblas-test/portfile.cmake b/scripts/test_ports/cblas-test/portfile.cmake new file mode 100644 index 00000000000000..b6904bf78302d0 --- /dev/null +++ b/scripts/test_ports/cblas-test/portfile.cmake @@ -0,0 +1,5 @@ +SET(VCPKG_POLICY_EMPTY_PACKAGE enabled) + +# Make sure BLAS can be found +vcpkg_cmake_configure(SOURCE_PATH "${CURRENT_PORT_DIR}" + OPTIONS -DVCPKG_HOST_TRIPLET=${HOST_TRIPLET}) diff --git a/scripts/test_ports/cblas-test/vcpkg.json b/scripts/test_ports/cblas-test/vcpkg.json new file mode 100644 index 00000000000000..6b1df977ba7877 --- /dev/null +++ b/scripts/test_ports/cblas-test/vcpkg.json @@ -0,0 +1,19 @@ +{ + "$comment": "Keep the platform expressions in sync with the wrappers installed by the portfiles!", + "name": "cblas-test", + "version-date": "2022-04-22", + "description": "Metapackage for packages which provide BLAS", + "license": null, + "dependencies": [ + "cblas", + { + "name": "pkgconf", + "host": true, + "platform": "windows" + }, + { + "name": "vcpkg-cmake", + "host": true + } + ] +} diff --git a/scripts/test_ports/cmake-user/portfile.cmake b/scripts/test_ports/cmake-user/portfile.cmake new file mode 100644 index 00000000000000..3999a49d6416bb --- /dev/null +++ b/scripts/test_ports/cmake-user/portfile.cmake @@ -0,0 +1,228 @@ +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) + +set(cmake_commands "") +if("cmake-current" IN_LIST FEATURES) + list(APPEND cmake_commands "${CMAKE_COMMAND}") +endif() +if("cmake-3-7" IN_LIST FEATURES) + set(cmake_version 3.7.2) + string(REGEX REPLACE "([^.]*[.][^.]*).*" "\\1" cmake_major_minor "${cmake_version}") + if(VCPKG_HOST_IS_WINDOWS) + set(name "cmake-${cmake_version}-win32-x86") + vcpkg_download_distfile(legacy_cmake_archive + FILENAME "${name}.zip" + URLS "https://github.com/Kitware/CMake/releases/download/v${cmake_version}/${name}.zip" + "https://cmake.org/files/v${cmake_major_minor}/${name}.zip" + SHA512 c359a22e2e688da1513db195280d6e8987bc8d570a0c543f1b1dfc8572fe4fd6c23d951ec5d5eae640fcca3bef3ae469083511474796ade8c6319d8bc4e4b38d + ) + set(cmake_bin_dir "/bin") + elseif(VCPKG_HOST_IS_OSX) + set(name "cmake-${cmake_version}-Darwin-x86_64") + vcpkg_download_distfile(legacy_cmake_archive + FILENAME "${name}.tar.gz" + URLS "https://github.com/Kitware/CMake/releases/download/v${cmake_version}/${name}.tar.gz" + "https://cmake.org/files/v${cmake_major_minor}/${name}.tar.gz" + SHA512 8e41608f4dd998020acf2bd1b0dab4aec37b3ea9e228f2c4a457cd1c0339d94db38a0548b4b07a9e3605f9beb11a3f6737a72813586c4ad5f730d74038a14c2b + ) + set(cmake_bin_dir "/CMake.app/Contents/bin") + elseif(VCPKG_HOST_IS_LINUX) + set(name "cmake-${cmake_version}-Linux-x86_64") + vcpkg_download_distfile(legacy_cmake_archive + FILENAME "${name}.tar.gz" + URLS "https://github.com/Kitware/CMake/releases/download/v${cmake_version}/${name}.tar.gz" + "https://cmake.org/files/v${cmake_major_minor}/${name}.tar.gz" + SHA512 459909fcfb9c74993c3d4ab9db4e31ea940515b670db44d039de611d813099895e695467cc8da24824315486e38e2f3e246aa92d6236c51103822ec8a39e3168 + ) + set(cmake_bin_dir "/bin") + else() + message(FATAL_ERROR "Unable to test feature 'cmake-3-7' for '${HOST_TRIPLET}' host.") + endif() + + vcpkg_extract_source_archive(legacy_cmake + ARCHIVE "${legacy_cmake_archive}" + SOURCE_BASE "${cmake_version}" + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/cmake" + ) + list(APPEND cmake_commands "${legacy_cmake}${cmake_bin_dir}/cmake") +endif() + +if(DEFINED ENV{VCPKG_FORCE_SYSTEM_BINARIES}) + set(NINJA "ninja") +else() + vcpkg_find_acquire_program(NINJA) +endif() + +function(get_packages out_packages cmake_version) + set(packages "") + if("find-package" IN_LIST FEATURES) + file(READ "${CMAKE_CURRENT_LIST_DIR}/vcpkg.json" vcpkg_json) + string(JSON packages_json GET "${vcpkg_json}" "features" "find-package" "dependencies") + string(JSON packages_count LENGTH "${packages_json}") + if(packages_count GREATER 0) + math(EXPR last "${packages_count} - 1") + foreach(i RANGE 0 ${last}) + # Some ports may be excluded via platform expressions, + # because they don't support particular platforms. + # Using the installed vcpkg_abi_info.txt as an indicator. + string(JSON port GET "${packages_json}" "${i}" "name") + if(NOT EXISTS "${CURRENT_INSTALLED_DIR}/share/${port}/vcpkg_abi_info.txt") + continue() + endif() + string(JSON since ERROR_VARIABLE since_not_found GET "${packages_json}" "${i}" "\$since") + if(since AND cmake_version VERSION_LESS since) + continue() + endif() + if(NOT EXISTS "${CURRENT_INSTALLED_DIR}/share/${port}/vcpkg_abi_info.txt") + continue() + endif() + string(JSON package GET "${packages_json}" "${i}" "\$package") + list(APPEND packages "${package}") + endforeach() + endif() + endif() + if("pkg-check-modules" IN_LIST FEATURES) + list(APPEND packages "ZLIBviaPkgConfig") + endif() + set("${out_packages}" "${packages}" PARENT_SCOPE) +endfunction() + +function(test_cmake_project) + cmake_parse_arguments(PARSE_ARGV 0 "arg" "" "CMAKE_COMMAND;NAME" "OPTIONS") + if(NOT arg_NAME) + message(FATAL_ERROR "The NAME argument is mandatory.") + endif() + if(NOT arg_CMAKE_COMMAND) + set(arg_CMAKE_COMMAND "${CMAKE_COMMAND}") + endif() + + execute_process( + COMMAND "${arg_CMAKE_COMMAND}" --version + OUTPUT_VARIABLE cmake_version_output + RESULT_VARIABLE cmake_version_result + ) + string(REGEX MATCH "[1-9][0-9]*\\.[0-9]*\\.[0-9]*" cmake_version "${cmake_version_output}") + if(cmake_version_result OR NOT cmake_version) + message(FATAL_ERROR "Unable to determine version for '${arg_CMAKE_COMMAND}'.") + endif() + + set(build_dir "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${cmake_version}-${arg_NAME}") + set(base_options + # Interface: CMake + -G "Ninja" + "-DCMAKE_MAKE_PROGRAM=${NINJA}" + "-DCMAKE_VERBOSE_MAKEFILE=ON" + "-DCMAKE_INSTALL_PREFIX=${build_dir}/install" + "-DCMAKE_TOOLCHAIN_FILE=${SCRIPTS}/buildsystems/vcpkg.cmake" + # Interface: vcpkg.cmake + "-DVCPKG_TARGET_TRIPLET=${TARGET_TRIPLET}" + "-DVCPKG_HOST_TRIPLET=${HOST_TRIPLET}" + "-DVCPKG_INSTALLED_DIR=${_VCPKG_INSTALLED_DIR}" + "-DVCPKG_MANIFEST_MODE=OFF" + # Interface: project/CMakeLists.txt + "-DCHECK_CMAKE_VERSION=${cmake_version}" + ) + + if(DEFINED VCPKG_CMAKE_SYSTEM_NAME AND VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + # Interface: CMake + list(APPEND base_options "-DCMAKE_SYSTEM_NAME=${VCPKG_CMAKE_SYSTEM_NAME}") + if(DEFINED VCPKG_CMAKE_SYSTEM_VERSION) + list(APPEND base_options "-DCMAKE_SYSTEM_VERSION=${VCPKG_CMAKE_SYSTEM_VERSION}") + endif() + endif() + + if(DEFINED VCPKG_XBOX_CONSOLE_TARGET) + list(APPEND arg_OPTIONS "-DXBOX_CONSOLE_TARGET=${VCPKG_XBOX_CONSOLE_TARGET}") + endif() + + if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + list(APPEND base_options -DBUILD_SHARED_LIBS=ON) + else() + list(APPEND base_options -DBUILD_SHARED_LIBS=OFF) + endif() + + message(STATUS "Running tests with CMake ${cmake_version} for '${arg_NAME}'") + file(REMOVE_RECURSE "${build_dir}") + file(MAKE_DIRECTORY "${build_dir}") + vcpkg_execute_required_process( + COMMAND + "${arg_CMAKE_COMMAND}" "${CMAKE_CURRENT_LIST_DIR}/project" + ${base_options} + ${arg_OPTIONS} + WORKING_DIRECTORY "${build_dir}" + LOGNAME "${TARGET_TRIPLET}-${cmake_version}-${arg_NAME}-config" + ) + vcpkg_execute_required_process( + COMMAND + "${arg_CMAKE_COMMAND}" --build . --target install + WORKING_DIRECTORY "${build_dir}" + LOGNAME "${TARGET_TRIPLET}-${cmake_version}-${arg_NAME}-build" + ) + # To produce better error messages for failing wrappers, + # we run execute_process directly here, for each wrapper. + string(REPLACE " OFF:" ":" message + " CMake ${cmake_version}: @step@ with `find_package(@package@)` failed.\n" + " See logs for more information:\n" + " @log_out@\n" + " @log_err@\n" + ) + if(DEFINED ENV{BUILD_REASON}) # On Azure Pipelines, add extra markup. + string(REPLACE " CMake" "##vso[task.logissue type=error]CMake" message "${message}") + endif() + get_packages(packages "${cmake_version}") + foreach(package IN LISTS packages) + string(MAKE_C_IDENTIFIER "${package}" package_string) + set(find_package_build_dir "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${cmake_version}-find-package-${package_string}-${arg_NAME}") + set(log_out "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${cmake_version}-find-package-${package_string}-${arg_NAME}-out.log") + set(log_err "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${cmake_version}-find-package-${package_string}-${arg_NAME}-err.log") + + message(STATUS " find_package(${package})") + file(REMOVE_RECURSE "${find_package_build_dir}") + file(MAKE_DIRECTORY "${find_package_build_dir}") + execute_process( + COMMAND + "${arg_CMAKE_COMMAND}" "${CMAKE_CURRENT_LIST_DIR}/project" + ${base_options} + ${arg_OPTIONS} + "-DFIND_PACKAGES=${package}" + --trace-expand + OUTPUT_FILE "${log_out}" + ERROR_FILE "${log_err}" + RESULT_VARIABLE package_result + WORKING_DIRECTORY "${find_package_build_dir}" + ) + if(package_result) + set(step "configuration") + string(CONFIGURE "${message}" package_message @ONLY) + message(SEND_ERROR "${package_message}") + else() + set(log_out "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${cmake_version}-find-package-${package_string}-${arg_NAME}-build-out.log") + set(log_err "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${cmake_version}-find-package-${package_string}-${arg_NAME}-build-err.log") + execute_process( + COMMAND + "${arg_CMAKE_COMMAND}" --build . + OUTPUT_FILE "${log_out}" + ERROR_FILE "${log_err}" + RESULT_VARIABLE package_result + WORKING_DIRECTORY "${find_package_build_dir}" + ) + if(package_result) + set(step "build") + string(CONFIGURE "${message}" package_message @ONLY) + message(SEND_ERROR "${package_message}") + endif() + endif() + endforeach() +endfunction() + +foreach(executable IN LISTS cmake_commands) + test_cmake_project(NAME "release" + CMAKE_COMMAND "${executable}" + OPTIONS + "-DCMAKE_BUILD_TYPE=Release" + ) + test_cmake_project(NAME "debug" + CMAKE_COMMAND "${executable}" + OPTIONS + "-DCMAKE_BUILD_TYPE=Debug" + ) +endforeach() diff --git a/scripts/test_ports/cmake-user/project/CMakeLists.txt b/scripts/test_ports/cmake-user/project/CMakeLists.txt new file mode 100644 index 00000000000000..cfd2a85ffcc2ab --- /dev/null +++ b/scripts/test_ports/cmake-user/project/CMakeLists.txt @@ -0,0 +1,95 @@ +cmake_minimum_required(VERSION 3.5) +project(cmake-user LANGUAGES C) + +message(STATUS "CMAKE_COMMAND: ${CMAKE_COMMAND}") +set(CHECK_CMAKE_VERSION "NOTFOUND" CACHE STRING "Version of CMake expected to be found") +if(NOT CHECK_CMAKE_VERSION) + message(WARNING "CMake version check: skipped (actual: ${CMAKE_VERSION})") +elseif(NOT CHECK_CMAKE_VERSION VERSION_EQUAL CMAKE_VERSION) + message(SEND_ERROR "CMake version check: failed (actual: ${CMAKE_VERSION} expected: ${CHECK_CMAKE_VERSION})") +else() + message(STATUS "CMake version check: success (actual: ${CMAKE_VERSION})") +endif() + +# add_library overload +file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/lib.c" "int lib_unused() { return 1; }") +add_library(lib "${CMAKE_CURRENT_BINARY_DIR}/lib.c") + +# add_executable overload +file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/exe.c" "int main() { return 0; }") +add_executable(exe "${CMAKE_CURRENT_BINARY_DIR}/exe.c") + +# install overload +set(X_VCPKG_APPLOCAL_DEPS_INSTALL 1) +install(TARGETS exe lib + RUNTIME DESTINATION bin + ARCHIVE DESTINATION lib + LIBRARY DESTINATION lib +) + +# find_package overload and wrapper +set(FIND_PACKAGES "" CACHE STRING "List of packages to be found and used") +list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}") +foreach(package ${FIND_PACKAGES}) + string(TOUPPER "${package}" package_upper) + set(CMAKE_FIND_DEBUG_MODE ON) + find_package("${package}" QUIET) + set(CMAKE_FIND_DEBUG_MODE OFF) + if(NOT ${package}_FOUND AND NOT ${package_upper}_FOUND) + message(SEND_ERROR "find_package(${package}) check: failed") + continue() + endif() + # REQUIRED changes the behaviour find_package_handle_standard_args. + find_package("${package}" REQUIRED) + message(STATUS "find_package(${package}) check: success") + + set(libraries_var "") + if(DEFINED ${package}_LIBRARIES) + set(libraries_var "${package}_LIBRARIES") + elseif(DEFINED ${package_upper}_LIBRARIES) + set(libraries_var "${package_upper}_LIBRARIES") + elseif(DEFINED ${package}_LIBRARY) + set(libraries_var "${package}_LIBRARY") + elseif(DEFINED ${package_upper}_LIBRARY) + set(libraries_var "${package_upper}_LIBRARY") + else() + message(STATUS "${package}_LIBRARY/IES: undefined") + continue() + endif() + set(libraries "${${libraries_var}}") + message(STATUS "${libraries_var}: ${libraries}") + + if(package STREQUAL "Intl" AND NOT Intl_LIBRARY) + continue() # using libintl.h from C runtime library + endif() + target_link_libraries(exe PRIVATE ${libraries}) + + set(last_keyword "") + foreach(item IN LISTS libraries) + if(item STREQUAL "optimized" OR item STREQUAL "debug") + set(last_keyword "${item}") + continue() + endif() + string(FIND "${item}" "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib/" starts_with_release) + string(FIND "${item}" "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/lib/" starts_with_debug) + if(starts_with_release EQUAL "0") + if(last_keyword STREQUAL "optimized") + # okay + elseif(last_keyword STREQUAL "debug") + message(SEND_ERROR "Release lib for 'debug' keyword: ${item}") + elseif(CMAKE_BUILD_TYPE STREQUAL "Debug") + message(SEND_ERROR "Release lib for 'Debug' build: ${item}") + endif() + elseif(starts_with_debug EQUAL "0") + if(last_keyword STREQUAL "debug") + # okay + elseif(last_keyword STREQUAL "optimized") + message(SEND_ERROR "Debug lib for 'optimized' keyword: ${item}") + elseif(CMAKE_BUILD_TYPE STREQUAL "Release") + message(SEND_ERROR "Debug lib for 'Release' build: ${item}") + endif() + endif() + set(last_keyword "") + continue() + endforeach() +endforeach() diff --git a/scripts/test_ports/cmake-user/project/FindZLIBviaPkgConfig.cmake b/scripts/test_ports/cmake-user/project/FindZLIBviaPkgConfig.cmake new file mode 100644 index 00000000000000..5f46a943d59c66 --- /dev/null +++ b/scripts/test_ports/cmake-user/project/FindZLIBviaPkgConfig.cmake @@ -0,0 +1,11 @@ +# `pkgconf` is not recognized before CMake 3.22 +find_program(PKG_CONFIG_EXECUTABLE NAMES pkgconf REQUIRED) +find_package(PkgConfig REQUIRED) +pkg_check_modules(PC_ZLIB zlib) +if(PC_ZLIB_FOUND) + if(NOT PC_ZLIB_LDFLAGS) + message(SEND_ERROR "ZLIBviaPkgConfig_LIBRARIES is empty") + endif() + set(ZLIBviaPkgConfig_LIBRARIES "${PC_ZLIB_LDFLAGS}") + set(ZLIBviaPkgConfig_FOUND "${PC_ZLIB_FOUND}") +endif() diff --git a/scripts/test_ports/cmake-user/vcpkg.json b/scripts/test_ports/cmake-user/vcpkg.json new file mode 100644 index 00000000000000..1197b1183afd5e --- /dev/null +++ b/scripts/test_ports/cmake-user/vcpkg.json @@ -0,0 +1,199 @@ +{ + "name": "cmake-user", + "version-date": "2022-11-12", + "description": "Test port to verify the vcpkg toolchain in cmake user projects", + "license": "MIT", + "default-features": [ + "ci" + ], + "features": { + "ci": { + "description": "The CI set of features to test", + "dependencies": [ + { + "name": "cmake-user", + "default-features": false, + "features": [ + "cmake-current", + "find-package", + "pkg-check-modules" + ] + }, + { + "name": "cmake-user", + "default-features": false, + "features": [ + "cmake-3-7" + ], + "platform": "x64 & (windows | linux | osx) & !uwp" + } + ] + }, + "cmake-3-7": { + "description": "Run the tests with CMake 3.7" + }, + "cmake-current": { + "description": "Run the tests with vcpkg's current version of CMake" + }, + "find-package": { + "description": "Ports to be tested via find_package($package)", + "dependencies": [ + { + "$package": "Boost", + "name": "boost", + "platform": "!uwp" + }, + { + "$package": "BZip2", + "name": "bzip2" + }, + { + "$package": "CURL", + "name": "curl", + "default-features": false + }, + { + "$package": "EXPAT", + "name": "expat" + }, + { + "$package": "Fontconfig", + "$since": "3.14", + "name": "fontconfig", + "platform": "!mingw & !uwp" + }, + { + "$comment": "CMake 3.13 for debug postfix support", + "$package": "GLUT", + "$since": "3.13", + "name": "freeglut", + "platform": "!uwp & !osx" + }, + { + "$package": "Freetype", + "name": "freetype", + "default-features": false + }, + { + "$comment": "CMake 3.9 for find_dependency forwarding extra arguments", + "$package": "GDAL", + "$since": "3.9", + "name": "gdal", + "default-features": false, + "platform": "!uwp" + }, + { + "$package": "Intl", + "name": "gettext-libintl" + }, + { + "$package": "GIF", + "name": "giflib" + }, + { + "$package": "ICU", + "name": "icu", + "platform": "!uwp" + }, + { + "$package": "LAPACK", + "name": "lapack", + "platform": "!(uwp & arm)" + }, + { + "$package": "GnuTLS", + "name": "libgnutls", + "platform": "!android & (!windows | mingw)" + }, + { + "$package": "Iconv", + "$since": "3.11", + "name": "libiconv" + }, + { + "$package": "JPEG", + "name": "libjpeg-turbo" + }, + { + "$package": "LibLZMA", + "name": "liblzma" + }, + { + "$package": "PNG", + "name": "libpng" + }, + { + "$package": "PostgreSQL", + "name": "libpq", + "default-features": false, + "platform": "!uwp & !mingw" + }, + { + "$comment": "CMake 3.11 because it needs Iconv", + "$package": "LibXml2", + "$since": "3.11", + "name": "libxml2", + "default-features": false + }, + { + "$comment": "CMake 3.11 because it needs Iconv", + "$package": "LibXslt", + "$since": "3.11", + "name": "libxslt", + "default-features": false, + "platform": "!uwp & !mingw" + }, + { + "$package": "Curses", + "name": "ncurses", + "platform": "!windows | mingw" + }, + { + "$package": "PhysFS", + "name": "physfs" + }, + { + "$package": "GnuTLS", + "name": "shiftmedia-libgnutls", + "platform": "windows & !arm & !mingw & !xbox" + }, + { + "$package": "SQLite3", + "$since": "3.14", + "name": "sqlite3", + "default-features": false + }, + { + "$package": "TIFF", + "name": "tiff", + "default-features": false, + "features": [ + "lerc", + "libdeflate", + "zstd" + ] + }, + { + "$package": "wxWidgets", + "name": "wxwidgets", + "default-features": false, + "platform": "!uwp" + }, + { + "$package": "ZLIB", + "name": "zlib" + } + ] + }, + "pkg-check-modules": { + "description": "Test `find_package(PkgConfig)` and pkg_check_modules(...)", + "dependencies": [ + { + "name": "pkgconf", + "host": true + }, + "zlib" + ] + } + } +} diff --git a/scripts/test_ports/cmake/curl.diff b/scripts/test_ports/cmake/curl.diff new file mode 100644 index 00000000000000..88ed22fce17337 --- /dev/null +++ b/scripts/test_ports/cmake/curl.diff @@ -0,0 +1,15 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index fdfe456a..a5d69b41 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -480,8 +480,8 @@ macro (CMAKE_BUILD_UTILITIES) + message(FATAL_ERROR + "CMAKE_USE_SYSTEM_CURL is ON but a curl is not found!") + endif() +- set(CMAKE_CURL_INCLUDES ${CURL_INCLUDE_DIRS}) +- set(CMAKE_CURL_LIBRARIES ${CURL_LIBRARIES}) ++ set(CMAKE_CURL_INCLUDES ) ++ set(CMAKE_CURL_LIBRARIES CURL::libcurl) + else() + set(CURL_SPECIAL_ZLIB_H ${CMAKE_ZLIB_HEADER}) + set(CURL_SPECIAL_LIBZ_INCLUDES ${CMAKE_ZLIB_INCLUDES}) diff --git a/scripts/test_ports/cmake/fix-dependency-libuv.patch b/scripts/test_ports/cmake/fix-dependency-libuv.patch new file mode 100644 index 00000000000000..e847f6549d1f84 --- /dev/null +++ b/scripts/test_ports/cmake/fix-dependency-libuv.patch @@ -0,0 +1,28 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index fdfe456..ef2d329 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -647,16 +647,16 @@ macro (CMAKE_BUILD_UTILITIES) + #--------------------------------------------------------------------- + # Build libuv library. + if(CMAKE_USE_SYSTEM_LIBUV) +- if(WIN32) +- find_package(LibUV 1.38.0) +- else() +- find_package(LibUV 1.10.0) +- endif() +- if(NOT LIBUV_FOUND) ++ find_package(libuv CONFIG REQUIRED) ++ if(0) + message(FATAL_ERROR + "CMAKE_USE_SYSTEM_LIBUV is ON but a libuv is not found!") + endif() +- set(CMAKE_LIBUV_LIBRARIES LibUV::LibUV) ++ if (TARGET libuv::uv) ++ set(CMAKE_LIBUV_LIBRARIES libuv::uv) ++ else() ++ set(CMAKE_LIBUV_LIBRARIES libuv::uv_a) ++ endif() + else() + set(CMAKE_LIBUV_LIBRARIES cmlibuv) + add_subdirectory(Utilities/cmlibuv) diff --git a/scripts/test_ports/cmake/portfile.cmake b/scripts/test_ports/cmake/portfile.cmake index 3a74a2e65a6110..7b3e98c76cd218 100644 --- a/scripts/test_ports/cmake/portfile.cmake +++ b/scripts/test_ports/cmake/portfile.cmake @@ -4,30 +4,37 @@ vcpkg_from_gitlab( OUT_SOURCE_PATH SOURCE_PATH REPO cmake/cmake REF - b7b0fb430397bafae4a7bd80b41d474c91a3b7f3 + 8428e39ed9cddb3b7f1a6f7a58cb8617503183d2 SHA512 - 3b0de26910bceaf4bc6546255bada4c502cd0fd32f44bc28b067f347c09d028c175a3243551bbe4bb64bcf312df9ff827e8fdbcb0b34a12e1ce4a26ba0799ee2 + 12df5d68aad6bf1bfa34c3a83b428e1ecdc0b2b746e92bf71157eec4b4c114c86f21e91509f26f5da6e8916941563750e63cc3218970eaba33d6de231599de34 HEAD_REF master + PATCHES + curl.diff + fix-dependency-libuv.patch ) set(OPTIONS) if(NOT VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_UWP) - list(APPEND OPTIONS -DBUILD_CursesDialog=ON) + list(APPEND OPTIONS "-DBUILD_CursesDialog=ON") else() - list(APPEND OPTIONS -DBUILD_CursesDialog=OFF) + list(APPEND OPTIONS "-DBUILD_CursesDialog=OFF") endif() if(VCPKG_CROSSCOMPILING) - list(APPEND OPTIONS -DQt6CoreTools_DIR=${CURRENT_HOST_INSTALLED_DIR}/share/Qt6CoreTools) - list(APPEND OPTIONS -DQt6WidgetsTools_DIR=${CURRENT_HOST_INSTALLED_DIR}/share/Qt6WidgetsTools) - list(APPEND OPTIONS -DQt6GuiTools_DIR=${CURRENT_HOST_INSTALLED_DIR}/share/Qt6GuiTools) + list(APPEND OPTIONS "-DQt6CoreTools_DIR=${CURRENT_HOST_INSTALLED_DIR}/share/Qt6CoreTools") + list(APPEND OPTIONS "-DQt6WidgetsTools_DIR=${CURRENT_HOST_INSTALLED_DIR}/share/Qt6WidgetsTools") + list(APPEND OPTIONS "-DQt6GuiTools_DIR=${CURRENT_HOST_INSTALLED_DIR}/share/Qt6GuiTools") if(VCPKG_TARGET_ARCHITECTURE STREQUAL arm64 AND VCPKG_TARGET_IS_WINDOWS) # Remove if PR #16111 is merged list(APPEND OPTIONS -DCMAKE_CROSSCOMPILING=ON -DCMAKE_SYSTEM_PROCESSOR:STRING=ARM64 -DCMAKE_SYSTEM_NAME:STRING=Windows) endif() endif() -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + set(VCPKG_CXX_FLAGS "/D_CRT_DECLARE_NONSTDC_NAMES ${VCPKG_CXX_FLAGS}") + set(VCPKG_C_FLAGS "/D_CRT_DECLARE_NONSTDC_NAMES ${VCPKG_C_FLAGS}") +endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" OPTIONS ${OPTIONS} -DBUILD_TESTING=OFF @@ -46,7 +53,7 @@ vcpkg_configure_cmake( -DCMake_QT_MAJOR_VERSION:STRING=6 ) -vcpkg_install_cmake(ADD_BIN_TO_PATH) +vcpkg_cmake_install(ADD_BIN_TO_PATH) vcpkg_copy_pdbs() if(NOT VCPKG_TARGET_IS_OSX) @@ -60,16 +67,16 @@ if(NOT VCPKG_TARGET_IS_OSX) vcpkg_copy_tools(TOOL_NAMES ${_tools} AUTO_CLEAN) else() # On OSX everything is within a CMake.app folder - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools) + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools") file(RENAME "${CURRENT_PACKAGES_DIR}/CMake.app" "${CURRENT_PACKAGES_DIR}/tools/CMake.app") if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/CMake.app") - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/debug) + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/debug") file(RENAME "${CURRENT_PACKAGES_DIR}/debug/CMake.app" "${CURRENT_PACKAGES_DIR}/tools/debug/CMake.app") endif() endif() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") # Handle copyright -configure_file(${SOURCE_PATH}/Copyright.txt ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) +configure_file("${SOURCE_PATH}/Copyright.txt" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY) diff --git a/scripts/test_ports/cmake/vcpkg.json b/scripts/test_ports/cmake/vcpkg.json index 541ea1d77bb7b2..35bb3d346a7cfa 100644 --- a/scripts/test_ports/cmake/vcpkg.json +++ b/scripts/test_ports/cmake/vcpkg.json @@ -1,8 +1,10 @@ { "name": "cmake", - "version-string": "3.20.0", + "version": "3.22.2", + "port-version": 5, "description": "CMake is an open-source, cross-platform family of tools designed to build, test and package software.", "homepage": "https://cmake.org/", + "license": "BSD-3-Clause", "dependencies": [ "bzip2", "curl", @@ -17,6 +19,10 @@ }, "nghttp2", "qtbase", + { + "name": "vcpkg-cmake", + "host": true + }, "zlib", "zstd" ] diff --git a/scripts/test_ports/lapack-test/CMakeLists.txt b/scripts/test_ports/lapack-test/CMakeLists.txt new file mode 100644 index 00000000000000..1874911a97e79a --- /dev/null +++ b/scripts/test_ports/lapack-test/CMakeLists.txt @@ -0,0 +1,6 @@ +cmake_minimum_required(VERSION 3.17) + +project(Find_LAPACK_external) +find_package(LAPACK REQUIRED) +find_package(PkgConfig REQUIRED) +pkg_check_modules(LAPACK_PC REQUIRED IMPORTED_TARGET lapack) diff --git a/scripts/test_ports/lapack-test/portfile.cmake b/scripts/test_ports/lapack-test/portfile.cmake new file mode 100644 index 00000000000000..28b2faa0c9e33c --- /dev/null +++ b/scripts/test_ports/lapack-test/portfile.cmake @@ -0,0 +1,5 @@ +SET(VCPKG_POLICY_EMPTY_PACKAGE enabled) + +# Make sure LAPACK can be found +vcpkg_cmake_configure(SOURCE_PATH "${CURRENT_PORT_DIR}" + OPTIONS -DVCPKG_HOST_TRIPLET=${HOST_TRIPLET}) diff --git a/scripts/test_ports/lapack-test/vcpkg.json b/scripts/test_ports/lapack-test/vcpkg.json new file mode 100644 index 00000000000000..00c2832d328cf3 --- /dev/null +++ b/scripts/test_ports/lapack-test/vcpkg.json @@ -0,0 +1,19 @@ +{ + "$comment": "Keep the platform expressions in sync with the wrappers installed by the portfiles!", + "name": "lapack-test", + "version-date": "2022-02-22", + "description": "Metapackage for packages which provide LAPACK", + "license": null, + "dependencies": [ + "lapack", + { + "name": "pkgconf", + "host": true, + "platform": "windows" + }, + { + "name": "vcpkg-cmake", + "host": true + } + ] +} diff --git a/scripts/test_ports/llfio-run-tests/CONTROL b/scripts/test_ports/llfio-run-tests/CONTROL deleted file mode 100644 index eeac83f9155fec..00000000000000 --- a/scripts/test_ports/llfio-run-tests/CONTROL +++ /dev/null @@ -1,5 +0,0 @@ -Source: llfio-run-tests -Version: 0 -Description: Ensures that LLFIO built with vcpkg version of dependencies produces working executables. -Build-Depends: llfio[run-tests], llfio[status-code,run-tests] -Supports: x64 diff --git a/scripts/test_ports/llfio-run-tests/vcpkg.json b/scripts/test_ports/llfio-run-tests/vcpkg.json new file mode 100644 index 00000000000000..32c0cf4a2ef17c --- /dev/null +++ b/scripts/test_ports/llfio-run-tests/vcpkg.json @@ -0,0 +1,22 @@ +{ + "name": "llfio-run-tests", + "version-string": "0", + "port-version": 1, + "description": "Ensures that LLFIO built with vcpkg version of dependencies produces working executables.", + "supports": "x64", + "dependencies": [ + { + "name": "llfio", + "features": [ + "run-tests" + ] + }, + { + "name": "llfio", + "features": [ + "run-tests", + "status-code" + ] + } + ] +} diff --git a/scripts/test_ports/outcome-run-tests/CONTROL b/scripts/test_ports/outcome-run-tests/CONTROL deleted file mode 100644 index bc289efab9465b..00000000000000 --- a/scripts/test_ports/outcome-run-tests/CONTROL +++ /dev/null @@ -1,5 +0,0 @@ -Source: outcome-run-tests -Version: 0 -Description: Ensures that outcome built with vcpkg version of dependencies produces working executables. -Build-Depends: outcome[run-tests] -Supports: x64 diff --git a/scripts/test_ports/outcome-run-tests/vcpkg.json b/scripts/test_ports/outcome-run-tests/vcpkg.json new file mode 100644 index 00000000000000..8a203953af182f --- /dev/null +++ b/scripts/test_ports/outcome-run-tests/vcpkg.json @@ -0,0 +1,15 @@ +{ + "name": "outcome-run-tests", + "version-string": "0", + "port-version": 1, + "description": "Ensures that outcome built with vcpkg version of dependencies produces working executables.", + "supports": "x64", + "dependencies": [ + { + "name": "outcome", + "features": [ + "run-tests" + ] + } + ] +} diff --git a/scripts/test_ports/rpath-test-binaries/portfile.cmake b/scripts/test_ports/rpath-test-binaries/portfile.cmake new file mode 100644 index 00000000000000..0326a3045b7fea --- /dev/null +++ b/scripts/test_ports/rpath-test-binaries/portfile.cmake @@ -0,0 +1,29 @@ +set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) + +vcpkg_cmake_configure( + SOURCE_PATH "${CURRENT_PORT_DIR}/project" + OPTIONS_RELEASE + -DTEST_STRING=release + OPTIONS_DEBUG + -DTEST_STRING=debug +) +vcpkg_cmake_install() + +if(NOT VCPKG_BUILD_TYPE) + vcpkg_copy_tools(TOOL_NAMES rpath-test-tool + SEARCH_DIR "${CURRENT_PACKAGES_DIR}/debug/bin" + DESTINATION "${CURRENT_PACKAGES_DIR}/debug/tools/${PORT}" + ) + vcpkg_copy_tools(TOOL_NAMES rpath-test-tool + SEARCH_DIR "${CURRENT_PACKAGES_DIR}/debug/bin" + DESTINATION "${CURRENT_PACKAGES_DIR}/manual-tools/${PORT}/debug" + ) + vcpkg_copy_tools(TOOL_NAMES rpath-test-tool + SEARCH_DIR "${CURRENT_PACKAGES_DIR}/debug/bin" + DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug" + ) +endif() +vcpkg_copy_tools(TOOL_NAMES rpath-test-tool DESTINATION "${CURRENT_PACKAGES_DIR}/manual-tools/${PORT}") +vcpkg_copy_tools(TOOL_NAMES rpath-test-tool AUTO_CLEAN) +file(WRITE "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" "This test port is part of vcpkg.") diff --git a/scripts/test_ports/rpath-test-binaries/project/CMakeLists.txt b/scripts/test_ports/rpath-test-binaries/project/CMakeLists.txt new file mode 100644 index 00000000000000..1e6fb0c65230a5 --- /dev/null +++ b/scripts/test_ports/rpath-test-binaries/project/CMakeLists.txt @@ -0,0 +1,17 @@ +cmake_minimum_required(VERSION 3.7) +project(rpath-test CXX) + +set(TEST_STRING "" CACHE STRING "") + +set(CMAKE_SKIP_INSTALL_RPATH TRUE) + +add_library(rpath-backend-lib transitive.cpp) +target_compile_definitions(rpath-backend-lib PRIVATE "TEST_STRING=\"${TEST_STRING}\"") + +add_library(rpath-test-lib lib.cpp) +target_link_libraries(rpath-test-lib PRIVATE rpath-backend-lib) + +add_executable(rpath-test-tool main.cpp) +target_link_libraries(rpath-test-tool PRIVATE rpath-test-lib) + +install(TARGETS rpath-backend-lib rpath-test-lib rpath-test-tool) diff --git a/scripts/test_ports/rpath-test-binaries/project/lib.cpp b/scripts/test_ports/rpath-test-binaries/project/lib.cpp new file mode 100644 index 00000000000000..3727a06eb0caa1 --- /dev/null +++ b/scripts/test_ports/rpath-test-binaries/project/lib.cpp @@ -0,0 +1,6 @@ +extern const char* getTestStringBackend(); + +const char* getTestString() +{ + return getTestStringBackend(); +} diff --git a/scripts/test_ports/rpath-test-binaries/project/main.cpp b/scripts/test_ports/rpath-test-binaries/project/main.cpp new file mode 100644 index 00000000000000..7253b5af7b04a0 --- /dev/null +++ b/scripts/test_ports/rpath-test-binaries/project/main.cpp @@ -0,0 +1,8 @@ +#include + +extern const char* getTestString(); + +int main() +{ + puts(getTestString()); +} diff --git a/scripts/test_ports/rpath-test-binaries/project/transitive.cpp b/scripts/test_ports/rpath-test-binaries/project/transitive.cpp new file mode 100644 index 00000000000000..ab1ca0063f6cbd --- /dev/null +++ b/scripts/test_ports/rpath-test-binaries/project/transitive.cpp @@ -0,0 +1,4 @@ +const char* getTestStringBackend() +{ + return TEST_STRING; +} diff --git a/scripts/test_ports/rpath-test-binaries/vcpkg.json b/scripts/test_ports/rpath-test-binaries/vcpkg.json new file mode 100644 index 00000000000000..bf52bd723ef400 --- /dev/null +++ b/scripts/test_ports/rpath-test-binaries/vcpkg.json @@ -0,0 +1,12 @@ +{ + "name": "rpath-test-binaries", + "version-string": "ci", + "description": "Provides installed binaries for rpath fixup test", + "supports": "native & !windows", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] +} diff --git a/scripts/test_ports/rpath-test/portfile.cmake b/scripts/test_ports/rpath-test/portfile.cmake new file mode 100644 index 00000000000000..481a9353fad51d --- /dev/null +++ b/scripts/test_ports/rpath-test/portfile.cmake @@ -0,0 +1,31 @@ +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) + +foreach(dir IN ITEMS tools/rpath-test-binaries manual-tools/rpath-test-binaries) + string(REPLACE "/" "_" logname "execute-rel-${dir}") + vcpkg_execute_required_process( + COMMAND "${CURRENT_INSTALLED_DIR}/${dir}/rpath-test-tool" + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}" + OUTPUT_VARIABLE output + OUTPUT_STRIP_TRAILING_WHITESPACE + LOGNAME "${logname}" + ) + if(NOT output STREQUAL "release") + message(SEND_ERROR "${dir}: $Actual: '${output}', expected: 'release'") + endif() +endforeach() + +if(NOT VCPKG_BUILD_TYPE) + foreach(dir IN ITEMS tools/rpath-test-binaries/debug manual-tools/rpath-test-binaries/debug debug/tools/rpath-test-binaries) + string(REPLACE "/" "_" logname "execute-dbg-${dir}") + vcpkg_execute_required_process( + COMMAND "${CURRENT_INSTALLED_DIR}/${dir}/rpath-test-tool" + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}" + OUTPUT_VARIABLE output + OUTPUT_STRIP_TRAILING_WHITESPACE + LOGNAME "${logname}" + ) + if(NOT output STREQUAL "debug") + message(SEND_ERROR "${dir}: Actual: '${output}', expected: 'debug'") + endif() + endforeach() +endif() diff --git a/scripts/test_ports/rpath-test/vcpkg.json b/scripts/test_ports/rpath-test/vcpkg.json new file mode 100644 index 00000000000000..7136d0476cbb34 --- /dev/null +++ b/scripts/test_ports/rpath-test/vcpkg.json @@ -0,0 +1,8 @@ +{ + "name": "rpath-test", + "version-string": "ci", + "description": "Test rpath fixup", + "dependencies": [ + "rpath-test-binaries" + ] +} diff --git a/ports/openssl-unix/portfile.cmake b/scripts/test_ports/sqlpp11-connector-mysql/portfile.cmake similarity index 100% rename from ports/openssl-unix/portfile.cmake rename to scripts/test_ports/sqlpp11-connector-mysql/portfile.cmake diff --git a/scripts/test_ports/sqlpp11-connector-mysql/vcpkg.json b/scripts/test_ports/sqlpp11-connector-mysql/vcpkg.json new file mode 100644 index 00000000000000..1a4bdb6344ad39 --- /dev/null +++ b/scripts/test_ports/sqlpp11-connector-mysql/vcpkg.json @@ -0,0 +1,26 @@ +{ + "name": "sqlpp11-connector-mysql", + "version-string": "ci", + "description": "Overlay for an obsolete empty port in order to unblock sqlpp11 testing: platform-specific choice of testable implementation", + "homepage": "https://github.com/microsoft/vcpkg", + "license": "MIT", + "supports": "!uwp", + "dependencies": [ + { + "name": "sqlpp11", + "default-features": false, + "features": [ + "mariadb" + ], + "platform": "x86 & windows" + }, + { + "name": "sqlpp11", + "default-features": false, + "features": [ + "mysql" + ], + "platform": "!(x86 & windows)" + } + ] +} diff --git a/scripts/test_ports/try-compile/CMakeLists.txt b/scripts/test_ports/try-compile/CMakeLists.txt new file mode 100644 index 00000000000000..1d1d93a33ae5a7 --- /dev/null +++ b/scripts/test_ports/try-compile/CMakeLists.txt @@ -0,0 +1,9 @@ +cmake_minimum_required(VERSION 3.25) + +project(try-compile-test LANGUAGES C CXX) + +try_compile(result PROJECT test-try-compile SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/try") + +if(NOT result) + message(FATAL_ERROR "Compiler flags are not passed consistently to try_compile!") +endif() \ No newline at end of file diff --git a/scripts/test_ports/try-compile/portfile.cmake b/scripts/test_ports/try-compile/portfile.cmake new file mode 100644 index 00000000000000..b7c364e9abe7ac --- /dev/null +++ b/scripts/test_ports/try-compile/portfile.cmake @@ -0,0 +1,9 @@ + +string(APPEND VCPKG_C_FLAGS " -DVCPKG_LET_ME_PASS") +string(APPEND VCPKG_CXX_FLAGS " -DVCPKG_LET_ME_PASS") + +vcpkg_cmake_configure( + SOURCE_PATH "${CMAKE_CURRENT_LIST_DIR}" +) + +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) \ No newline at end of file diff --git a/scripts/test_ports/try-compile/try/CMakeLists.txt b/scripts/test_ports/try-compile/try/CMakeLists.txt new file mode 100644 index 00000000000000..d5f1696f35c6e3 --- /dev/null +++ b/scripts/test_ports/try-compile/try/CMakeLists.txt @@ -0,0 +1,6 @@ +cmake_minimum_required(VERSION 3.25) + +project(try-compile-project LANGUAGES C CXX) + +add_library(result "${CMAKE_CURRENT_SOURCE_DIR}/try-compile.c") + diff --git a/scripts/test_ports/try-compile/try/try-compile.c b/scripts/test_ports/try-compile/try/try-compile.c new file mode 100644 index 00000000000000..d3d67128e86e5a --- /dev/null +++ b/scripts/test_ports/try-compile/try/try-compile.c @@ -0,0 +1,5 @@ + + +#if !defined(VCPKG_LET_ME_PASS) + #error "You shall not pass without forwarding compiler flags to try_compile!" +#endif \ No newline at end of file diff --git a/scripts/test_ports/try-compile/vcpkg.json b/scripts/test_ports/try-compile/vcpkg.json new file mode 100644 index 00000000000000..8ccd705cdc0e31 --- /dev/null +++ b/scripts/test_ports/try-compile/vcpkg.json @@ -0,0 +1,12 @@ +{ + "name": "try-compile", + "version": "1", + "description": "Test if try compile correctly passes on compiler flags", + "license": "MIT", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] +} diff --git a/scripts/test_ports/unit-test-cmake/portfile.cmake b/scripts/test_ports/unit-test-cmake/portfile.cmake index 497cb18a383b09..615c8116880185 100644 --- a/scripts/test_ports/unit-test-cmake/portfile.cmake +++ b/scripts/test_ports/unit-test-cmake/portfile.cmake @@ -44,9 +44,9 @@ function(unit_test_check_variable_unset utcvu_test utcvu_variable) if(Z_VCPKG_UNIT_TEST_HAS_FATAL_ERROR) unset_fatal_error() set_has_error() - message(STATUS "${utcvu_test} had an unexpected FATAL_ERROR; + message(SEND_ERROR "${utcvu_test} had an unexpected FATAL_ERROR; expected: \"${utcvu_value}\"") - message(STATUS "FATAL_ERROR: ${Z_VCPKG_UNIT_TEST_FATAL_ERROR}") + message(SEND_ERROR "FATAL_ERROR: ${Z_VCPKG_UNIT_TEST_FATAL_ERROR}") return() endif() @@ -65,7 +65,7 @@ function(unit_test_check_variable_unset utcvu_test utcvu_variable) endif() if(DEFINED "${utcvu_variable}") - message(STATUS "${utcvu_test} set ${utcvu_variable}; + message(SEND_ERROR "${utcvu_test} set ${utcvu_variable}; expected: \"${utcvu_variable}\" unset actual : \"${utcvu_actual_value}\"") set_has_error() @@ -78,14 +78,14 @@ function(unit_test_check_variable_equal utcve_test utcve_variable utcve_value) if(Z_VCPKG_UNIT_TEST_HAS_FATAL_ERROR) unset_fatal_error() set_has_error() - message(STATUS "${utcve_test} had an unexpected FATAL_ERROR; + message(SEND_ERROR "${utcve_test} had an unexpected FATAL_ERROR; expected: \"${utcve_value}\"") - message(STATUS "FATAL_ERROR: ${Z_VCPKG_UNIT_TEST_FATAL_ERROR}") + message(SEND_ERROR "FATAL_ERROR: ${Z_VCPKG_UNIT_TEST_FATAL_ERROR}") return() endif() - if(NOT DEFINED "${utcve_variable}") - message(STATUS "${utcve_test} failed to set ${utcve_variable}; + if(NOT DEFINED "${utcve_variable}" AND NOT "${utcve_variable}" MATCHES "^ENV\\{") + message(SEND_ERROR "${utcve_test} failed to set ${utcve_variable}; expected: \"${utcve_value}\"") set_has_error() return() @@ -93,7 +93,6 @@ function(unit_test_check_variable_equal utcve_test utcve_variable utcve_value) unit_test_match(utcve "${utcve_variable}" [[^(ENV|CACHE)\{(.*)\}$]]) if(utcve_MATCHED) - message(STATUS "utcve_variable: ${utcve_CMAKE_MATCH_2}") if("${utcve_CMAKE_MATCH_1}" STREQUAL "ENV") set(utcve_actual_value "$ENV{${utcve_CMAKE_MATCH_2}}") elseif("${utcve_CMAKE_MATCH_1}" STREQUAL "CACHE") @@ -106,7 +105,7 @@ function(unit_test_check_variable_equal utcve_test utcve_variable utcve_value) endif() if(NOT "${utcve_actual_value}" STREQUAL "${utcve_value}") - message(STATUS "${utcve_test} resulted in the wrong value for ${utcve_variable}; + message(SEND_ERROR "${utcve_test} resulted in the wrong value for ${utcve_variable}; expected: \"${utcve_value}\" actual : \"${utcve_actual_value}\"") set_has_error() @@ -114,11 +113,43 @@ function(unit_test_check_variable_equal utcve_test utcve_variable utcve_value) endif() endfunction() +function(unit_test_check_variable_not_equal utcve_test utcve_variable utcve_value) + cmake_language(EVAL CODE "${utcve_test}") + if(Z_VCPKG_UNIT_TEST_HAS_FATAL_ERROR) + unset_fatal_error() + set_has_error() + message(SEND_ERROR "${utcve_test} had an unexpected FATAL_ERROR; + expected: \"${utcve_value}\"") + message(SEND_ERROR "FATAL_ERROR: ${Z_VCPKG_UNIT_TEST_FATAL_ERROR}") + return() + endif() + + unit_test_match(utcve "${utcve_variable}" [[^(ENV|CACHE)\{(.*)\}$]]) + if(utcve_MATCHED) + if("${utcve_CMAKE_MATCH_1}" STREQUAL "ENV") + set(utcve_actual_value "$ENV{${utcve_CMAKE_MATCH_2}}") + elseif("${utcve_CMAKE_MATCH_1}" STREQUAL "CACHE") + set(utcve_actual_value "$CACHE{${utcve_CMAKE_MATCH_2}}") + else() + _message(FATAL_ERROR "unexpected value for CMAKE_MATCH_1: ${utcve_CMAKE_MATCH_1}") + endif() + else() + set(utcve_actual_value "${${utcve_variable}}") + endif() + + if("${utcve_actual_value}" STREQUAL "${utcve_value}") + message(SEND_ERROR "${utcve_test} failed to change ${utcve_variable}; + unchanged: \"${utcve_value}\"") + set_has_error() + return() + endif() +endfunction() + function(unit_test_ensure_success utcve_test) cmake_language(EVAL CODE "${utcve_test}") if(Z_VCPKG_UNIT_TEST_HAS_FATAL_ERROR) set_has_error() - message(STATUS "${utcve_test} was expected to be successful.") + message(SEND_ERROR "${utcve_test} was expected to be successful.") endif() unset_fatal_error() endfunction() @@ -126,7 +157,7 @@ function(unit_test_ensure_fatal_error utcve_test) cmake_language(EVAL CODE "${utcve_test}") if(NOT Z_VCPKG_UNIT_TEST_HAS_FATAL_ERROR) set_has_error() - message(STATUS "${utcve_test} was expected to be a FATAL_ERROR.") + message(SEND_ERROR "${utcve_test} was expected to be a FATAL_ERROR.") endif() unset_fatal_error() endfunction() @@ -139,12 +170,31 @@ endif() if("list" IN_LIST FEATURES) include("${CMAKE_CURRENT_LIST_DIR}/test-vcpkg_list.cmake") endif() -if("add-to-path" IN_LIST FEATURES) +if("host-path-list" IN_LIST FEATURES) include("${CMAKE_CURRENT_LIST_DIR}/test-vcpkg_host_path_list.cmake") endif() if("function-arguments" IN_LIST FEATURES) include("${CMAKE_CURRENT_LIST_DIR}/test-z_vcpkg_function_arguments.cmake") endif() +if("merge-libs" IN_LIST FEATURES) + include("${CMAKE_CURRENT_LIST_DIR}/test-z_vcpkg_cmake_config_fixup_merge.cmake") +endif() +if("backup-restore-env-vars" IN_LIST FEATURES) + include("${CMAKE_CURRENT_LIST_DIR}/test-vcpkg_backup_restore_env_vars.cmake") +endif() +if("setup-pkgconfig-path" IN_LIST FEATURES) + include("${CMAKE_CURRENT_LIST_DIR}/test-z_vcpkg_setup_pkgconfig_path.cmake") +endif() +if("fixup-pkgconfig" IN_LIST FEATURES) + include("${CMAKE_CURRENT_LIST_DIR}/test-vcpkg_fixup_pkgconfig.cmake") +endif() +if("fixup-rpath" IN_LIST FEATURES) + include("${CMAKE_CURRENT_LIST_DIR}/test-z_vcpkg_calculate_corrected_rpath.cmake") + include("${CMAKE_CURRENT_LIST_DIR}/test-z_vcpkg_calculate_corrected_rpath_macho.cmake") +endif() +if("execute-required-process" IN_LIST FEATURES) + include("${CMAKE_CURRENT_LIST_DIR}/test-vcpkg_execute_required_process.cmake") +endif() if(Z_VCPKG_UNIT_TEST_HAS_ERROR) _message(FATAL_ERROR "At least one test failed") diff --git a/scripts/test_ports/unit-test-cmake/test-vcpkg_backup_restore_env_vars.cmake b/scripts/test_ports/unit-test-cmake/test-vcpkg_backup_restore_env_vars.cmake new file mode 100644 index 00000000000000..ae010b3c6d8d90 --- /dev/null +++ b/scripts/test_ports/unit-test-cmake/test-vcpkg_backup_restore_env_vars.cmake @@ -0,0 +1,38 @@ +# vcpkg_backup_env_variables(VARS ) +# vcpkg_restore_env_variables(VARS ) +# These functions used scoped variables and cannot be called in unit_test_check_*. + +set(ENV{A} [[::a;::b]]) +set(ENV{B} [[]]) + +# Backup doesn't change variables. +vcpkg_backup_env_variables(VARS A B) +unit_test_check_variable_equal([[]] ENV{A} [[::a;::b]]) +unit_test_check_variable_equal([[]] ENV{B} [[]]) + +# Restore restores. +set(ENV{A} [[::a;::b;::c]]) +set(ENV{B} [[::1]]) +vcpkg_restore_env_variables(VARS A B) +unit_test_check_variable_equal([[]] ENV{A} [[::a;::b]]) +unit_test_check_variable_equal([[]] ENV{B} [[]]) + +# Restore can be called more than once. +set(ENV{A} [[::a;::b;::c]]) +set(ENV{B} [[::1]]) +vcpkg_restore_env_variables(VARS A B) +unit_test_check_variable_equal([[]] ENV{A} [[::a;::b]]) +unit_test_check_variable_equal([[]] ENV{B} [[]]) + +# Backups are scoped. +function(change_and_backup) + set(ENV{A} [[::a;::b;::c]]) + set(ENV{B} [[::1]]) + vcpkg_backup_env_variables(VARS A B) + # no further change, no restore, in this scope +endfunction() +vcpkg_backup_env_variables(VARS A B) +change_and_backup() +vcpkg_restore_env_variables(VARS A B) +unit_test_check_variable_equal([[]] ENV{A} [[::a;::b]]) +unit_test_check_variable_equal([[]] ENV{B} [[]]) diff --git a/scripts/test_ports/unit-test-cmake/test-vcpkg_execute_required_process.cmake b/scripts/test_ports/unit-test-cmake/test-vcpkg_execute_required_process.cmake new file mode 100644 index 00000000000000..ff767c3d288437 --- /dev/null +++ b/scripts/test_ports/unit-test-cmake/test-vcpkg_execute_required_process.cmake @@ -0,0 +1,189 @@ +# vcpkg_execute_required_process +#[[ + "ALLOW_IN_DOWNLOAD_MODE;OUTPUT_STRIP_TRAILING_WHITESPACE;ERROR_STRIP_TRAILING_WHITESPACE" + "WORKING_DIRECTORY;LOGNAME;TIMEOUT;OUTPUT_VARIABLE;ERROR_VARIABLE" + "COMMAND;SAVE_LOG_FILES" +]] + +block(SCOPE_FOR VARIABLES) + +set(logname "test-vcpkg_execute_required_process") + +function(count_log_files out_var) + set(count 0) + if(EXISTS "${CURRENT_BUILDTREES_DIR}/${logname}-out.log") + math(EXPR count "${count} + 1") + endif() + if(EXISTS "${CURRENT_BUILDTREES_DIR}/${logname}-err.log") + math(EXPR count "${count} + 1") + endif() + if(EXISTS "${CURRENT_BUILDTREES_DIR}/${logname}-extra.log") + math(EXPR count "${count} + 1") + endif() + set("${out_var}" "${count}" PARENT_SCOPE) +endfunction() + +function(reset_log_files) + file(REMOVE "${CURRENT_BUILDTREES_DIR}/${logname}-out.log") + file(REMOVE "${CURRENT_BUILDTREES_DIR}/${logname}-err.log") + file(REMOVE "${CURRENT_BUILDTREES_DIR}/${logname}-extra.log") +endfunction() + + +# ALLOW_IN_DOWNLOAD_MODE + +set(VCPKG_DOWNLOAD_MODE 1) +unit_test_ensure_success([[ + vcpkg_execute_required_process( + COMMAND "${CMAKE_COMMAND}" -E echo Success + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}" + LOGNAME "${logname}" + ALLOW_IN_DOWNLOAD_MODE + )]] +) +unit_test_ensure_fatal_error([[ + vcpkg_execute_required_process( + COMMAND "${CMAKE_COMMAND}" -E echo Success + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}" + LOGNAME "${logname}" + )]] +) + +set(VCPKG_DOWNLOAD_MODE "") +unit_test_ensure_success([[ + vcpkg_execute_required_process( + COMMAND "${CMAKE_COMMAND}" -E echo Success + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}" + LOGNAME "${logname}" + ALLOW_IN_DOWNLOAD_MODE + )]] +) +unit_test_ensure_success([[ + vcpkg_execute_required_process( + COMMAND "${CMAKE_COMMAND}" -E echo Success + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}" + LOGNAME "${logname}" + )]] +) + + +# COMMAND, LOGNAME + +reset_log_files() +unit_test_check_variable_equal([[count_log_files(count)]] count 0) + +unit_test_ensure_success([[ + vcpkg_execute_required_process( + COMMAND "${CMAKE_COMMAND}" -E echo Hello world + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}" + LOGNAME "${logname}" + )]] +) +unit_test_check_variable_equal([[ count_log_files(count) ]] count 2) +unit_test_check_variable_equal([[ file(STRINGS "${CURRENT_BUILDTREES_DIR}/${logname}-out.log" stdout) ]] stdout "Hello world") + + +# WORKING_DIRECTORY, SAVE_LOG_FILES + +file(REMOVE_RECURSE "${CURRENT_BUILDTREES_DIR}/vcpkg_execute_required_process-dir/subdir") +file(MAKE_DIRECTORY "${CURRENT_BUILDTREES_DIR}/vcpkg_execute_required_process-dir/subdir") +file(WRITE "${CURRENT_BUILDTREES_DIR}/vcpkg_execute_required_process-dir/source" "extra log") +file(REMOVE_RECURSE "${CURRENT_BUILDTREES_DIR}/subdir") + +reset_log_files() +unit_test_check_variable_equal([[count_log_files(count)]] count 0) + +unit_test_ensure_success([[ + vcpkg_execute_required_process( + COMMAND "${CMAKE_COMMAND}" -E rename source subdir/extra.log + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/vcpkg_execute_required_process-dir" + LOGNAME "${logname}" + SAVE_LOG_FILES "subdir/extra.log" + )]] +) +unit_test_check_variable_equal([[ count_log_files(count) ]] count 3) +unit_test_check_variable_equal([[ file(STRINGS "${CURRENT_BUILDTREES_DIR}/${logname}-extra.log" extra) ]] extra "extra log") + + +# OUTPUT_VARIABLE, OUTPUT_STRIP_TRAILING_WHITESPACE + +reset_log_files() +unit_test_check_variable_equal([[count_log_files(count)]] count 0) + +unit_test_check_variable_equal([[ + vcpkg_execute_required_process( + COMMAND "${CMAKE_COMMAND}" -E echo Hello world + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}" + LOGNAME "${logname}" + OUTPUT_VARIABLE outvar + )]] + outvar "Hello world\n" +) +unit_test_check_variable_equal([[ + vcpkg_execute_required_process( + COMMAND "${CMAKE_COMMAND}" -E echo Hello world + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}" + LOGNAME "${logname}" + OUTPUT_VARIABLE outvar + OUTPUT_STRIP_TRAILING_WHITESPACE + )]] + outvar "Hello world" +) +unit_test_check_variable_equal([[ count_log_files(count) ]] count 2) + + +# ERROR_VARIABLE + +reset_log_files() +unit_test_check_variable_equal([[count_log_files(count)]] count 0) + +file(WRITE "${CURRENT_BUILDTREES_DIR}/vcpkg_execute_required_process-dir/stderr.cmake" "message(WARNING on-stderr)\n") +unit_test_check_variable_not_equal([[ + vcpkg_execute_required_process( + COMMAND "${CMAKE_COMMAND}" -P "${CURRENT_BUILDTREES_DIR}/vcpkg_execute_required_process-dir/stderr.cmake" + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}" + LOGNAME "${logname}" + ERROR_VARIABLE outvar + ) + string(FIND "${outvar}" "on-stderr" pos) + ]] pos -1 +) +unit_test_check_variable_equal([[ count_log_files(count) ]] count 2) + + +# OUTPUT_VARIABLE == ERROR_VARIABLE + +reset_log_files() +unit_test_check_variable_equal([[count_log_files(count)]] count 0) + +file(WRITE "${CURRENT_BUILDTREES_DIR}/vcpkg_execute_required_process-dir/combined.cmake" [[ + message(WARNING on-stderr) + message(STATUS on-stdout) +]]) +unit_test_check_variable_not_equal([[ + vcpkg_execute_required_process( + COMMAND "${CMAKE_COMMAND}" -P "${CURRENT_BUILDTREES_DIR}/vcpkg_execute_required_process-dir/combined.cmake" + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}" + LOGNAME "${logname}" + OUTPUT_VARIABLE outvar + ERROR_VARIABLE outvar + ) + string(REGEX MATCH "on-stderr.*on-stdout" match "${outvar}") + ]] CMAKE_MATCH_0 "" +) +unit_test_check_variable_equal([[ count_log_files(count) ]] count 2) + + +# TIMEOUT (if not flaky) + +unit_test_ensure_fatal_error([[ + vcpkg_execute_required_process( + COMMAND "${CMAKE_COMMAND}" -E sleep 10 + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}" + LOGNAME "${logname}" + TIMEOUT 1 + )]] +) + + +endblock() diff --git a/scripts/test_ports/unit-test-cmake/test-vcpkg_fixup_pkgconfig.cmake b/scripts/test_ports/unit-test-cmake/test-vcpkg_fixup_pkgconfig.cmake new file mode 100644 index 00000000000000..47bfc950ec4901 --- /dev/null +++ b/scripts/test_ports/unit-test-cmake/test-vcpkg_fixup_pkgconfig.cmake @@ -0,0 +1,186 @@ +file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/lib/pkgconfig") +set(pc_file_release "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/unit-test-cmake.pc") +file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig") +set(pc_file_debug "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/unit-test-cmake.pc") +set(reload_pc_strings 0) + +function(write_pkgconfig) + file(WRITE "${pc_file_release}" ${ARGN}) + file(WRITE "${pc_file_debug}" ${ARGN}) + file(STRINGS "${pc_file_release}" pc_strings_input) + set(pc_strings_INPUT "${pc_strings_input}" PARENT_SCOPE) + set(reload_pc_strings 1 PARENT_SCOPE) +endfunction() + +function(unit_test_pkgconfig_check_key build_types field value) + if(NOT build_types) + message(SEND_ERROR "The build_type parameter must be list of debug;release.") + endif() + if(reload_pc_strings) + file(STRINGS "${pc_file_release}" pc_strings_release) + file(STRINGS "${pc_file_debug}" pc_strings_debug) + set(pc_strings_release "${pc_strings_release}" PARENT_SCOPE) + set(pc_strings_debug "${pc_strings_debug}" PARENT_SCOPE) + set(reload_pc_strings 0 PARENT_SCOPE) + endif() + foreach(build_type IN LISTS build_types) + set(listname "pc_strings_${build_type}") + set(expected "${field}${value}") + list(FILTER ${listname} INCLUDE REGEX "^${field}") + if(NOT "${${listname}}" STREQUAL "${expected}" AND NOT "${${listname}}_is_empty" STREQUAL "${value}_is_empty") + string(REPLACE "\$" "\\\$" pc_strings_INPUT "${pc_strings_INPUT}") + string(REPLACE "\$" "\\\$" expected "${expected}") + string(REPLACE "\$" "\\\$" "${listname}" "${${listname}}") + message(SEND_ERROR "vcpkg_fixup_pkgconfig() resulted in a wrong value for ${build_type} builds; + input : [[${pc_strings_INPUT}]] + expected: [[${expected}]] + actual : [[${${listname}}]]") + set_has_error() + return() + endif() + endforeach() +endfunction() + +# "Libs:" only +write_pkgconfig([[ +Libs: -L${prefix}/lib -l"aaa" +]]) +unit_test_ensure_success([[ vcpkg_fixup_pkgconfig(SKIP_CHECK) ]]) +unit_test_pkgconfig_check_key("debug;release" "Libs:" [[ "-L${prefix}/lib" -laaa]]) + +# "Libs:" and "Libs.private:" +write_pkgconfig([[ +Libs: -L"${prefix}/lib" -l"aaa" +Libs.private: -l"bbb ccc" +]]) +unit_test_ensure_success([[ vcpkg_fixup_pkgconfig(SKIP_CHECK) ]]) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + unit_test_pkgconfig_check_key("debug;release" "Libs:" [[ "-L${prefix}/lib" -laaa "-lbbb ccc"]]) + unit_test_pkgconfig_check_key("debug;release" "Libs.private:" "") +else() + unit_test_pkgconfig_check_key("debug;release" "Libs:" [[ "-L${prefix}/lib" -laaa]]) +endif() + +# line continuations +write_pkgconfig([[ +Libs.private: \ + -lbbb +Libs: -L"${prefix}/lib" \ + -l"aaa" +]]) +unit_test_ensure_success([[ vcpkg_fixup_pkgconfig(SKIP_CHECK) ]]) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + unit_test_pkgconfig_check_key("debug;release" "Libs:" [[ "-L${prefix}/lib" -laaa -lbbb]]) + unit_test_pkgconfig_check_key("debug;release" "Libs.private:" "") +else() + unit_test_pkgconfig_check_key("debug;release" "Libs:" [[ "-L${prefix}/lib" -laaa]]) +endif() + +# Replace ';' with ' ' +write_pkgconfig([[ +Libs: -L${prefix}/lib\;-l"aaa" +Libs.private: -lbbb\;-l"ccc" +]]) +unit_test_ensure_success([[ vcpkg_fixup_pkgconfig(SKIP_CHECK) ]]) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + unit_test_pkgconfig_check_key("debug;release" "Libs:" [[ "-L${prefix}/lib" -laaa -lbbb -lccc]]) + unit_test_pkgconfig_check_key("debug;release" "Libs.private:" "") +else() + unit_test_pkgconfig_check_key("debug;release" "Libs:" [[ "-L${prefix}/lib" -laaa]]) +endif() + +# invalid: ...-NOTFOUND +write_pkgconfig([[Libs: LIB-NOTFOUND]]) +# Only warning: unit_test_ensure_fatal_error([[ vcpkg_fixup_pkgconfig(SKIP_CHECK) # ...-NOTFOUND # ]]) + +# invalid: optimized/debug +write_pkgconfig([[Libs: -laaa -loptimized -lrel -ldebug -ldbg -lbbb]]) +unit_test_ensure_success([[ vcpkg_fixup_pkgconfig(SKIP_CHECK) ]]) +unit_test_pkgconfig_check_key("debug" "Libs:" [[ -laaa -ldbg -lbbb]]) +unit_test_pkgconfig_check_key("release" "Libs:" [[ -laaa -lrel -lbbb]]) + +write_pkgconfig([[Libs: -laaa -Loptimized -Lrel -Ldebug -Ldbg -lbbb]]) +unit_test_ensure_success([[ vcpkg_fixup_pkgconfig(SKIP_CHECK) ]]) +unit_test_pkgconfig_check_key("debug" "Libs:" [[ -laaa -Ldbg -lbbb]]) +unit_test_pkgconfig_check_key("release" "Libs:" [[ -laaa -Lrel -lbbb]]) + +write_pkgconfig([[Libs: optimized\;librel.a\;debug\;libdbg.a\;aaa.lib]]) +unit_test_ensure_success([[ vcpkg_fixup_pkgconfig(SKIP_CHECK) ]]) +unit_test_pkgconfig_check_key("debug" "Libs:" [[ libdbg.a aaa.lib]]) +unit_test_pkgconfig_check_key("release" "Libs:" [[ librel.a aaa.lib]]) + +write_pkgconfig([[Libs: aaa.lib\;optimized\;librel.a\;debug\;libdbg.a]]) +unit_test_ensure_success([[ vcpkg_fixup_pkgconfig(SKIP_CHECK) ]]) +unit_test_pkgconfig_check_key("debug" "Libs:" [[ aaa.lib libdbg.a]]) +unit_test_pkgconfig_check_key("release" "Libs:" [[ aaa.lib librel.a]]) + +write_pkgconfig([[Libs: aaa.lib optimized librel.a debug libdbg.a bbb.lib]]) +unit_test_ensure_success([[ vcpkg_fixup_pkgconfig(SKIP_CHECK) ]]) +unit_test_pkgconfig_check_key("debug" "Libs:" [[ aaa.lib libdbg.a bbb.lib]]) +unit_test_pkgconfig_check_key("release" "Libs:" [[ aaa.lib librel.a bbb.lib]]) + +# invalid: namespaced targets +write_pkgconfig([[Libs: -lAAA::aaa]]) +# Only warning: unit_test_ensure_fatal_error([[ vcpkg_fixup_pkgconfig(SKIP_CHECK) # namespaced target # ]]) + +# prefix +write_pkgconfig( +"prefix=${CURRENT_PACKAGES_DIR} +execprefix=\${prefix} +libdir=${CURRENT_PACKAGES_DIR}/lib +includedir=${CURRENT_PACKAGES_DIR}/include +datarootdir=${CURRENT_PACKAGES_DIR}/share +datadir=\${datarootdir}/${PORT} +") +unit_test_ensure_success([[ vcpkg_fixup_pkgconfig(SKIP_CHECK) ]]) +unit_test_pkgconfig_check_key("release" "prefix=" [[${pcfiledir}/../..]]) +unit_test_pkgconfig_check_key("release" "execprefix=" [[${prefix}]]) +unit_test_pkgconfig_check_key("release" "libdir=" [[${prefix}/lib]]) +unit_test_pkgconfig_check_key("release" "includedir=" [[${prefix}/include]]) +unit_test_pkgconfig_check_key("release" "datarootdir=" [[${prefix}/share]]) +unit_test_pkgconfig_check_key("release" "datadir=" [[${datarootdir}/unit-test-cmake]]) + +write_pkgconfig( +"prefix=${CURRENT_PACKAGES_DIR}/debug +execprefix=\${prefix} +libdir=${CURRENT_PACKAGES_DIR}/debug/lib +includedir=${CURRENT_PACKAGES_DIR}/include +datarootdir=${CURRENT_PACKAGES_DIR}/share +datadir=\${datarootdir}/${PORT} +") +unit_test_ensure_success([[ vcpkg_fixup_pkgconfig(SKIP_CHECK) ]]) +unit_test_pkgconfig_check_key("debug" "prefix=" [[${pcfiledir}/../..]]) +unit_test_pkgconfig_check_key("debug" "execprefix=" [[${prefix}]]) +unit_test_pkgconfig_check_key("debug" "libdir=" [[${prefix}/lib]]) +unit_test_pkgconfig_check_key("debug" "includedir=" [[${prefix}/../include]]) +unit_test_pkgconfig_check_key("debug" "datarootdir=" [[${prefix}/../share]]) +unit_test_pkgconfig_check_key("debug" "datadir=" [[${datarootdir}/unit-test-cmake]]) + +# -I, -l or -L with ${blah} in variables +write_pkgconfig([[blah_libs=-L${blah}/lib64 -l${blah}/libblah.a -I${blah}/include]]) +unit_test_ensure_success([[ vcpkg_fixup_pkgconfig(SKIP_CHECK) ]]) +unit_test_pkgconfig_check_key("debug;release" "blah_libs=" [["-L${blah}/lib64" "-l${blah}/libblah.a" "-I${blah}/include"]]) + +# plain vs. quoted items +write_pkgconfig([[Libs: ${blah} "${quoted}" plain "C:/Program Files/blah.lib"]]) +unit_test_ensure_success([[ vcpkg_fixup_pkgconfig(SKIP_CHECK) ]]) +unit_test_pkgconfig_check_key("debug;release" "Libs:" [[ ${blah} "${quoted}" plain "C:/Program Files/blah.lib"]]) + +# lib spec starting with optimized/debug/general +write_pkgconfig([[ +Libs: -L${prefix}/lib -ldebuginfod +]]) +unit_test_ensure_success([[ vcpkg_fixup_pkgconfig(SKIP_CHECK) ]]) +unit_test_pkgconfig_check_key("debug;release" "Libs:" [[ "-L${prefix}/lib" -ldebuginfod]]) + +write_pkgconfig([[ +Libs: -L${prefix}/lib -loptimizedinfod +]]) +unit_test_ensure_success([[ vcpkg_fixup_pkgconfig(SKIP_CHECK) ]]) +unit_test_pkgconfig_check_key("debug;release" "Libs:" [[ "-L${prefix}/lib" -loptimizedinfod]]) + +write_pkgconfig([[ +Libs: -L${prefix}/lib -lgeneralinfod +]]) +unit_test_ensure_success([[ vcpkg_fixup_pkgconfig(SKIP_CHECK) ]]) +unit_test_pkgconfig_check_key("debug;release" "Libs:" [[ "-L${prefix}/lib" -lgeneralinfod]]) diff --git a/scripts/test_ports/unit-test-cmake/test-vcpkg_host_path_list.cmake b/scripts/test_ports/unit-test-cmake/test-vcpkg_host_path_list.cmake index a6322d37556747..01d34da8232d26 100644 --- a/scripts/test_ports/unit-test-cmake/test-vcpkg_host_path_list.cmake +++ b/scripts/test_ports/unit-test-cmake/test-vcpkg_host_path_list.cmake @@ -15,14 +15,17 @@ unit_test_check_variable_equal( [[vcpkg_host_path_list(APPEND var d e)]] var "a;b;d;e" ) +set(var "a;b") unit_test_check_variable_equal( [[vcpkg_host_path_list(APPEND var)]] var "a;b" ) +set(var "a;b") unit_test_check_variable_equal( [[vcpkg_host_path_list(PREPEND var d e)]] var "d;e;a;b" ) +set(var "a;b") unit_test_check_variable_equal( [[vcpkg_host_path_list(PREPEND var)]] var "a;b" @@ -33,14 +36,17 @@ unit_test_check_variable_equal( [[vcpkg_host_path_list(APPEND var d e)]] var "d;e" ) +set(var "") unit_test_check_variable_equal( [[vcpkg_host_path_list(APPEND var)]] var "" ) +set(var "") unit_test_check_variable_equal( [[vcpkg_host_path_list(PREPEND var d e)]] var "d;e" ) +set(var "") unit_test_check_variable_equal( [[vcpkg_host_path_list(PREPEND var)]] var "" @@ -51,14 +57,17 @@ unit_test_check_variable_equal( [[vcpkg_host_path_list(APPEND var d e)]] var "d;e" ) +unset(var) unit_test_check_variable_equal( [[vcpkg_host_path_list(APPEND var)]] var "" ) +unset(var) unit_test_check_variable_equal( [[vcpkg_host_path_list(PREPEND var d e)]] var "d;e" ) +unset(var) unit_test_check_variable_equal( [[vcpkg_host_path_list(PREPEND var)]] var "" @@ -71,55 +80,64 @@ unit_test_ensure_fatal_error([[vcpkg_host_path_list(APPEND var "a:b")]]) unit_test_ensure_fatal_error([[vcpkg_host_path_list(PREPEND var "a:b")]]) set(ENV{var} "a:b") -unit_test_check_ENV{var}iable_equal( +unit_test_check_variable_equal( [[vcpkg_host_path_list(APPEND ENV{var} d e)]] ENV{var} "a:b:d:e" ) -unit_test_check_ENV{var}iable_equal( +set(ENV{var} "a:b") +unit_test_check_variable_equal( [[vcpkg_host_path_list(APPEND ENV{var})]] ENV{var} "a:b" ) -unit_test_check_ENV{var}iable_equal( +set(ENV{var} "a:b") +unit_test_check_variable_equal( [[vcpkg_host_path_list(PREPEND ENV{var} d e)]] ENV{var} "d:e:a:b" ) -unit_test_check_ENV{var}iable_equal( +set(ENV{var} "a:b") +unit_test_check_variable_equal( [[vcpkg_host_path_list(PREPEND ENV{var})]] ENV{var} "a:b" ) set(ENV{var} "") -unit_test_check_ENV{var}iable_equal( +unit_test_check_variable_equal( [[vcpkg_host_path_list(APPEND ENV{var} d e)]] ENV{var} "d:e" ) -unit_test_check_ENV{var}iable_equal( +set(ENV{var} "") +unit_test_check_variable_equal( [[vcpkg_host_path_list(APPEND ENV{var})]] ENV{var} "" ) -unit_test_check_ENV{var}iable_equal( +set(ENV{var} "") +unit_test_check_variable_equal( [[vcpkg_host_path_list(PREPEND ENV{var} d e)]] ENV{var} "d:e" ) -unit_test_check_ENV{var}iable_equal( +set(ENV{var} "") +unit_test_check_variable_equal( [[vcpkg_host_path_list(PREPEND ENV{var})]] ENV{var} "" ) unset(ENV{var}) -unit_test_check_ENV{var}iable_equal( +unit_test_check_variable_equal( [[vcpkg_host_path_list(APPEND ENV{var} d e)]] ENV{var} "d:e" ) -unit_test_check_ENV{var}iable_equal( +unset(ENV{var}) +unit_test_check_variable_equal( [[vcpkg_host_path_list(APPEND ENV{var})]] ENV{var} "" ) -unit_test_check_ENV{var}iable_equal( +unset(ENV{var}) +unit_test_check_variable_equal( [[vcpkg_host_path_list(PREPEND ENV{var} d e)]] ENV{var} "d:e" ) -unit_test_check_ENV{var}iable_equal( +unset(ENV{var}) +unit_test_check_variable_equal( [[vcpkg_host_path_list(PREPEND ENV{var})]] ENV{var} "" ) @@ -131,64 +149,64 @@ unit_test_ensure_fatal_error([[vcpkg_host_path_list(APPEND ENV{ENV{var}} "a;b")] unit_test_ensure_fatal_error([[vcpkg_host_path_list(PREPEND ENV{ENV{var}} "a;b")]]) set(ENV{ENV{var}} "a;b") -unit_test_check_ENV{var}iable_equal( +unit_test_check_variable_equal( [[vcpkg_host_path_list(APPEND ENV{ENV{var}} d e)]] ENV{ENV{var}} "a;b;d;e" ) set(ENV{ENV{var}} "a;b") -unit_test_check_ENV{var}iable_equal( +unit_test_check_variable_equal( [[vcpkg_host_path_list(APPEND ENV{ENV{var}})]] ENV{ENV{var}} "a;b" ) set(ENV{ENV{var}} "a;b") -unit_test_check_ENV{var}iable_equal( +unit_test_check_variable_equal( [[vcpkg_host_path_list(PREPEND ENV{ENV{var}} d e)]] ENV{ENV{var}} "d;e;a;b" ) set(ENV{ENV{var}} "a;b") -unit_test_check_ENV{var}iable_equal( +unit_test_check_variable_equal( [[vcpkg_host_path_list(PREPEND ENV{ENV{var}})]] ENV{ENV{var}} "a;b" ) set(ENV{ENV{var}} "") -unit_test_check_ENV{var}iable_equal( +unit_test_check_variable_equal( [[vcpkg_host_path_list(APPEND ENV{ENV{var}} d e)]] ENV{ENV{var}} "d;e" ) set(ENV{ENV{var}} "") -unit_test_check_ENV{var}iable_equal( +unit_test_check_variable_equal( [[vcpkg_host_path_list(APPEND ENV{ENV{var}})]] ENV{ENV{var}} "" ) set(ENV{ENV{var}} "") -unit_test_check_ENV{var}iable_equal( +unit_test_check_variable_equal( [[vcpkg_host_path_list(PREPEND ENV{ENV{var}} d e)]] ENV{ENV{var}} "d;e" ) set(ENV{ENV{var}} "") -unit_test_check_ENV{var}iable_equal( +unit_test_check_variable_equal( [[vcpkg_host_path_list(PREPEND ENV{var})]] ENV{ENV{var}} "" ) unset(ENV{ENV{var}}) -unit_test_check_ENV{var}iable_equal( +unit_test_check_variable_equal( [[vcpkg_host_path_list(APPEND ENV{ENV{var}} d e)]] ENV{ENV{var}} "d;e" ) unset(ENV{ENV{var}}) -unit_test_check_ENV{var}iable_equal( +unit_test_check_variable_equal( [[vcpkg_host_path_list(APPEND ENV{ENV{var}})]] ENV{ENV{var}} "" ) unset(ENV{ENV{var}}) -unit_test_check_ENV{var}iable_equal( +unit_test_check_variable_equal( [[vcpkg_host_path_list(PREPEND ENV{ENV{var}} d e)]] ENV{ENV{var}} "d;e" ) unset(ENV{ENV{var}}) -unit_test_check_ENV{var}iable_equal( +unit_test_check_variable_equal( [[vcpkg_host_path_list(PREPEND ENV{ENV{var}})]] ENV{ENV{var}} "" ) diff --git a/scripts/test_ports/unit-test-cmake/test-z_vcpkg_calculate_corrected_rpath.cmake b/scripts/test_ports/unit-test-cmake/test-z_vcpkg_calculate_corrected_rpath.cmake new file mode 100644 index 00000000000000..5750a05bf63ef7 --- /dev/null +++ b/scripts/test_ports/unit-test-cmake/test-z_vcpkg_calculate_corrected_rpath.cmake @@ -0,0 +1,121 @@ +# z_vcpkg_calculate_corrected_rpath(...) + +block(SCOPE_FOR VARIABLES) + +set(CURRENT_PACKAGES_DIR "/P") +set(CURRENT_INSTALLED_DIR "/I") + +unit_test_check_variable_equal([[ + z_vcpkg_calculate_corrected_rpath(OUT_NEW_RPATH_VAR "out" ORG_RPATH "" ELF_FILE_DIR "/P/lib") +]] out [[$ORIGIN]]) + +unit_test_check_variable_equal([[ + z_vcpkg_calculate_corrected_rpath(OUT_NEW_RPATH_VAR "out" ORG_RPATH "" ELF_FILE_DIR "/P/plugins/group") +]] out [[$ORIGIN:$ORIGIN/../../lib]]) + +unit_test_check_variable_equal([[ + z_vcpkg_calculate_corrected_rpath(OUT_NEW_RPATH_VAR "out" ORG_RPATH "" ELF_FILE_DIR "/P/debug/lib") +]] out [[$ORIGIN]]) + +unit_test_check_variable_equal([[ + z_vcpkg_calculate_corrected_rpath(OUT_NEW_RPATH_VAR "out" ORG_RPATH "" ELF_FILE_DIR "/P/debug/plugins/group") +]] out [[$ORIGIN:$ORIGIN/../../lib]]) + +unit_test_check_variable_equal([[ + z_vcpkg_calculate_corrected_rpath(OUT_NEW_RPATH_VAR "out" ORG_RPATH "" ELF_FILE_DIR "/P/tools/port") +]] out [[$ORIGIN:$ORIGIN/../../lib]]) + +unit_test_check_variable_equal([[ + z_vcpkg_calculate_corrected_rpath(OUT_NEW_RPATH_VAR "out" ORG_RPATH "" ELF_FILE_DIR "/P/tools/port/bin") +]] out [[$ORIGIN:$ORIGIN/../../../lib]]) + +unit_test_check_variable_equal([[ + z_vcpkg_calculate_corrected_rpath(OUT_NEW_RPATH_VAR "out" ORG_RPATH "" ELF_FILE_DIR "/P/tools/port/debug") +]] out [[$ORIGIN:$ORIGIN/../../../debug/lib]]) + +unit_test_check_variable_equal([[ + z_vcpkg_calculate_corrected_rpath(OUT_NEW_RPATH_VAR "out" ORG_RPATH "" ELF_FILE_DIR "/P/tools/port/debug/bin") +]] out [[$ORIGIN:$ORIGIN/../../../../debug/lib]]) + +unit_test_check_variable_equal([[ + z_vcpkg_calculate_corrected_rpath(OUT_NEW_RPATH_VAR "out" ORG_RPATH "" ELF_FILE_DIR "/P/manual-tools/port") +]] out [[$ORIGIN:$ORIGIN/../../lib]]) + +unit_test_check_variable_equal([[ + z_vcpkg_calculate_corrected_rpath(OUT_NEW_RPATH_VAR "out" ORG_RPATH "" ELF_FILE_DIR "/P/manual-tools/port/bin") +]] out [[$ORIGIN:$ORIGIN/../../../lib]]) + +unit_test_check_variable_equal([[ + z_vcpkg_calculate_corrected_rpath(OUT_NEW_RPATH_VAR "out" ORG_RPATH "" ELF_FILE_DIR "/P/manual-tools/port/debug") +]] out [[$ORIGIN:$ORIGIN/../../../debug/lib]]) + +unit_test_check_variable_equal([[ + z_vcpkg_calculate_corrected_rpath(OUT_NEW_RPATH_VAR "out" ORG_RPATH "" ELF_FILE_DIR "/P/manual-tools/port/debug/bin") +]] out [[$ORIGIN:$ORIGIN/../../../../debug/lib]]) + +# ORG_RPATH +set(X_VCPKG_RPATH_KEEP_SYSTEM_PATHS 1) +set(CURRENT_PACKAGES_DIR "/cxx/P") +set(CURRENT_INSTALLED_DIR "/cxx/I") + +unit_test_check_variable_equal([[ + z_vcpkg_calculate_corrected_rpath(OUT_NEW_RPATH_VAR "out" ORG_RPATH "/opt/lib:/usr/local/lib" ELF_FILE_DIR "/cxx/P/lib") +]] out [[$ORIGIN:/opt/lib:/usr/local/lib]]) + +unit_test_check_variable_equal([[ + z_vcpkg_calculate_corrected_rpath(OUT_NEW_RPATH_VAR "out" ORG_RPATH "/cxx/I/lib" ELF_FILE_DIR "/cxx/P/lib") +]] out [[$ORIGIN]]) + +unit_test_check_variable_equal([[ + z_vcpkg_calculate_corrected_rpath(OUT_NEW_RPATH_VAR "out" ORG_RPATH "/cxx/P/lib" ELF_FILE_DIR "/cxx/P/lib") +]] out [[$ORIGIN]]) + +unit_test_check_variable_equal([[ + z_vcpkg_calculate_corrected_rpath(OUT_NEW_RPATH_VAR "out" ORG_RPATH "/cxx/I/foo/lib/pkgconfig/../../bar" ELF_FILE_DIR "/cxx/P/lib") +]] out [[$ORIGIN:$ORIGIN/../foo/bar]]) + +set(X_VCPKG_RPATH_KEEP_SYSTEM_PATHS 0) +set(CURRENT_PACKAGES_DIR "/cxx/P") +set(CURRENT_INSTALLED_DIR "/cxx/I") + +unit_test_check_variable_equal([[ + z_vcpkg_calculate_corrected_rpath(OUT_NEW_RPATH_VAR "out" ORG_RPATH "/opt/lib:/usr/local/lib" ELF_FILE_DIR "/cxx/P/lib") +]] out [[$ORIGIN]]) + +unit_test_check_variable_equal([[ + z_vcpkg_calculate_corrected_rpath(OUT_NEW_RPATH_VAR "out" ORG_RPATH "/cxx/I/foo/bar" ELF_FILE_DIR "/cxx/P/lib") +]] out [[$ORIGIN:$ORIGIN/../foo/bar]]) + +unit_test_check_variable_equal([[ + z_vcpkg_calculate_corrected_rpath(OUT_NEW_RPATH_VAR "out" ORG_RPATH "/cxx/P/foo/bar" ELF_FILE_DIR "/cxx/P/lib") +]] out [[$ORIGIN:$ORIGIN/../foo/bar]]) + +unit_test_check_variable_equal([[ + z_vcpkg_calculate_corrected_rpath(OUT_NEW_RPATH_VAR "out" ORG_RPATH "/cxx/I/foo/lib/pkgconfig/../../bar" ELF_FILE_DIR "/cxx/P/lib") +]] out [[$ORIGIN:$ORIGIN/../foo/bar]]) + +# https://github.com/microsoft/vcpkg/issues/37984 +set(CURRENT_PACKAGES_DIR "/c++/P") +set(CURRENT_INSTALLED_DIR "/c++/I") + +unit_test_check_variable_equal([[ + z_vcpkg_calculate_corrected_rpath(OUT_NEW_RPATH_VAR "out" ORG_RPATH "/c++/I/foo/bar" ELF_FILE_DIR "/c++/P/lib") +]] out [[$ORIGIN:$ORIGIN/../foo/bar]]) + +unit_test_check_variable_equal([[ + z_vcpkg_calculate_corrected_rpath(OUT_NEW_RPATH_VAR "out" ORG_RPATH "/c++/P/foo/bar" ELF_FILE_DIR "/c++/P/lib") +]] out [[$ORIGIN:$ORIGIN/../foo/bar]]) + +set(CURRENT_PACKAGES_DIR "/(c)/P") +set(CURRENT_INSTALLED_DIR "/(c)/I") + +unit_test_check_variable_equal([[ + z_vcpkg_calculate_corrected_rpath(OUT_NEW_RPATH_VAR "out" ORG_RPATH "/(c)/I/foo/bar" ELF_FILE_DIR "/(c)/P/lib") +]] out [[$ORIGIN:$ORIGIN/../foo/bar]]) + +unit_test_check_variable_equal([[ + z_vcpkg_calculate_corrected_rpath(OUT_NEW_RPATH_VAR "out" ORG_RPATH "/(c)/P/foo/bar" ELF_FILE_DIR "/(c)/P/lib") +]] out [[$ORIGIN:$ORIGIN/../foo/bar]]) + + +endblock() diff --git a/scripts/test_ports/unit-test-cmake/test-z_vcpkg_calculate_corrected_rpath_macho.cmake b/scripts/test_ports/unit-test-cmake/test-z_vcpkg_calculate_corrected_rpath_macho.cmake new file mode 100644 index 00000000000000..ee4f42a2ea5197 --- /dev/null +++ b/scripts/test_ports/unit-test-cmake/test-z_vcpkg_calculate_corrected_rpath_macho.cmake @@ -0,0 +1,56 @@ +# z_vcpkg_calculate_corrected_macho_rpath_macho(...) + +block(SCOPE_FOR VARIABLES) + +set(CURRENT_PACKAGES_DIR "/P") +set(CURRENT_INSTALLED_DIR "/I") + +unit_test_check_variable_equal([[ + z_vcpkg_calculate_corrected_macho_rpath(OUT_NEW_RPATH_VAR "out" MACHO_FILE_DIR "/P/lib") +]] out [[@loader_path]]) + +unit_test_check_variable_equal([[ + z_vcpkg_calculate_corrected_macho_rpath(OUT_NEW_RPATH_VAR "out" MACHO_FILE_DIR "/P/plugins/group") +]] out [[@loader_path/../../lib]]) + +unit_test_check_variable_equal([[ + z_vcpkg_calculate_corrected_macho_rpath(OUT_NEW_RPATH_VAR "out" MACHO_FILE_DIR "/P/debug/lib") +]] out [[@loader_path]]) + +unit_test_check_variable_equal([[ + z_vcpkg_calculate_corrected_macho_rpath(OUT_NEW_RPATH_VAR "out" MACHO_FILE_DIR "/P/debug/plugins/group") +]] out [[@loader_path/../../lib]]) + +unit_test_check_variable_equal([[ + z_vcpkg_calculate_corrected_macho_rpath(OUT_NEW_RPATH_VAR "out" MACHO_FILE_DIR "/P/tools/port") +]] out [[@loader_path/../../lib]]) + +unit_test_check_variable_equal([[ + z_vcpkg_calculate_corrected_macho_rpath(OUT_NEW_RPATH_VAR "out" MACHO_FILE_DIR "/P/tools/port/bin") +]] out [[@loader_path/../../../lib]]) + +unit_test_check_variable_equal([[ + z_vcpkg_calculate_corrected_macho_rpath(OUT_NEW_RPATH_VAR "out" MACHO_FILE_DIR "/P/tools/port/debug") +]] out [[@loader_path/../../../debug/lib]]) + +unit_test_check_variable_equal([[ + z_vcpkg_calculate_corrected_macho_rpath(OUT_NEW_RPATH_VAR "out" MACHO_FILE_DIR "/P/tools/port/debug/bin") +]] out [[@loader_path/../../../../debug/lib]]) + +unit_test_check_variable_equal([[ + z_vcpkg_calculate_corrected_macho_rpath(OUT_NEW_RPATH_VAR "out" MACHO_FILE_DIR "/P/manual-tools/port") +]] out [[@loader_path/../../lib]]) + +unit_test_check_variable_equal([[ + z_vcpkg_calculate_corrected_macho_rpath(OUT_NEW_RPATH_VAR "out" MACHO_FILE_DIR "/P/manual-tools/port/bin") +]] out [[@loader_path/../../../lib]]) + +unit_test_check_variable_equal([[ + z_vcpkg_calculate_corrected_macho_rpath(OUT_NEW_RPATH_VAR "out" MACHO_FILE_DIR "/P/manual-tools/port/debug") +]] out [[@loader_path/../../../debug/lib]]) + +unit_test_check_variable_equal([[ + z_vcpkg_calculate_corrected_macho_rpath(OUT_NEW_RPATH_VAR "out" MACHO_FILE_DIR "/P/manual-tools/port/debug/bin") +]] out [[@loader_path/../../../../debug/lib]]) + +endblock() diff --git a/scripts/test_ports/unit-test-cmake/test-z_vcpkg_cmake_config_fixup_merge.cmake b/scripts/test_ports/unit-test-cmake/test-z_vcpkg_cmake_config_fixup_merge.cmake new file mode 100644 index 00000000000000..8809af46ff577d --- /dev/null +++ b/scripts/test_ports/unit-test-cmake/test-z_vcpkg_cmake_config_fixup_merge.cmake @@ -0,0 +1,56 @@ +# z_vcpkg_cmake_config_fixup_merge( ) +set(release_libs namespace::C++_shared) +set(debug_libs namespace::C++_shared) +unit_test_check_variable_equal( + [[z_vcpkg_cmake_config_fixup_merge(merged release_libs debug_libs)]] + merged "namespace::C++_shared" +) + +set(release_libs A) +set(debug_libs B) +unit_test_check_variable_equal( + [[z_vcpkg_cmake_config_fixup_merge(merged release_libs debug_libs)]] + merged [[\$<\$>:A>;\$<\$:B>]] +) + +set(release_libs A B) +set(debug_libs A ) +unit_test_check_variable_equal( + [[z_vcpkg_cmake_config_fixup_merge(merged release_libs debug_libs)]] + merged [[A;\$<\$>:B>]] +) + +set(release_libs A ) +set(debug_libs A B) +unit_test_check_variable_equal( + [[z_vcpkg_cmake_config_fixup_merge(merged release_libs debug_libs)]] + merged [[A;\$<\$:B>]] +) + +set(release_libs A C) +set(debug_libs C) +unit_test_check_variable_equal( + [[z_vcpkg_cmake_config_fixup_merge(merged release_libs debug_libs)]] + merged [[\$<\$>:A>;\$<\$:C>;\$<\$>:C>]] +) + +set(release_libs [[\$<\$>:A>;\$<\$:B>]]) +set(debug_libs [[\$<\$>:A>;\$<\$:B>]]) +unit_test_check_variable_equal( + [[z_vcpkg_cmake_config_fixup_merge(merged release_libs debug_libs)]] + merged [[\$<\$>:A>;\$<\$:B>]] +) + +set(release_libs optimized o1 debug d1) +set(debug_libs optimized o2 debug d2) +unit_test_check_variable_equal( + [[z_vcpkg_cmake_config_fixup_merge(merged release_libs debug_libs)]] + merged [[\$<\$>:o1>;\$<\$:d2>]] +) + +set(release_libs debug d1 optimized o1) +set(debug_libs debug d2 optimized o2) +unit_test_check_variable_equal( + [[z_vcpkg_cmake_config_fixup_merge(merged release_libs debug_libs)]] + merged [[\$<\$:d2>;\$<\$>:o1>]] +) diff --git a/scripts/test_ports/unit-test-cmake/test-z_vcpkg_setup_pkgconfig_path.cmake b/scripts/test_ports/unit-test-cmake/test-z_vcpkg_setup_pkgconfig_path.cmake new file mode 100644 index 00000000000000..e173b0b9c12542 --- /dev/null +++ b/scripts/test_ports/unit-test-cmake/test-z_vcpkg_setup_pkgconfig_path.cmake @@ -0,0 +1,41 @@ +# z_vcpkg_setup_pkgconfig_path(BASE_DIR ) +# z_vcpkg_restore_pkgconfig_path() + +# These functions use vcpkg_backup/restore_env_variables which use scoped variables +# and cannot be called in unit_test_check_*. + +set(ENV{PKG_CONFIG} "/a/pkgconf") +set(ENV{PKG_CONFIG_PATH} "1") +set(saved_path "$ENV{PATH}") + +block(SCOPE_FOR VARIABLES) + +set(CURRENT_PACKAGES_DIR "P") +set(CURRENT_INSTALLED_DIR "I") + +z_vcpkg_setup_pkgconfig_path(CONFIG RELEASE) +unit_test_check_variable_equal([[]] ENV{PKG_CONFIG} [[/a/pkgconf]]) +unit_test_match([[]] ENV{PKG_CONFIG_PATH} "^P.lib.pkgconfig.P.share.pkgconfig.I.lib.pkgconfig.I.share.pkgconfig.1\$") + +z_vcpkg_restore_pkgconfig_path() +unit_test_check_variable_equal([[]] ENV{PKG_CONFIG} [[/a/pkgconf]]) +unit_test_check_variable_equal([[]] ENV{PKG_CONFIG_PATH} "1") + +z_vcpkg_setup_pkgconfig_path(CONFIG DEBUG) +unit_test_check_variable_equal([[]] ENV{PKG_CONFIG} [[/a/pkgconf]]) +unit_test_check_variable_not_equal([[]] ENV{PKG_CONFIG_PATH} "1") +unit_test_match([[]] ENV{PKG_CONFIG_PATH} "^P.debug.lib.pkgconfig.P.share.pkgconfig.I.debug.lib.pkgconfig.I.share.pkgconfig.1\$") + +z_vcpkg_restore_pkgconfig_path() +unit_test_check_variable_equal([[]] ENV{PKG_CONFIG} [[/a/pkgconf]]) +unit_test_check_variable_equal([[]] ENV{PKG_CONFIG_PATH} "1") + +# z_vcpkg_setup_pkgconfig_path changes PATH but it is not restored. +# It is hard to see which side effects a restore would have, so +# this is expected behaviour for now. +unit_test_check_variable_not_equal([[]] ENV{PATH} "${saved_path}") + +unit_test_ensure_fatal_error([[ z_vcpkg_setup_pkgconfig_path() ]]) +unit_test_ensure_fatal_error([[ z_vcpkg_setup_pkgconfig_path(CONFIG unknown) ]]) + +endblock() diff --git a/scripts/test_ports/unit-test-cmake/vcpkg.json b/scripts/test_ports/unit-test-cmake/vcpkg.json index 366d1d7a93fb7c..e981be10061f85 100644 --- a/scripts/test_ports/unit-test-cmake/vcpkg.json +++ b/scripts/test_ports/unit-test-cmake/vcpkg.json @@ -1,25 +1,61 @@ { "name": "unit-test-cmake", - "version-string": "0", + "version-string": "ci", "description": "Ensures that the CMake scripts are unit tested.", + "license": "MIT", "supports": "x64", "default-features": [ + "backup-restore-env-vars", + "execute-required-process", + "fixup-pkgconfig", + { + "name": "fixup-rpath", + "platform": "!windows" + }, "function-arguments", + "host-path-list", "list", - "minimum-required" + "merge-libs", + "minimum-required", + "setup-pkgconfig-path" ], "features": { - "host-path-list": { - "description": "Test the vcpkg_host_path_list function" + "backup-restore-env-vars": { + "description": "Test the vcpkg_backup/restore_env_vars functions" + }, + "execute-required-process": { + "description": "Test the vcpkg_execute_required_process function" + }, + "fixup-pkgconfig": { + "description": "Test the vcpkg_fixup_pkgconfig function" + }, + "fixup-rpath": { + "description": "Test the rpath fixup function", + "supports": "!windows" }, "function-arguments": { "description": "Test the z_vcpkg_function_arguments function" }, + "host-path-list": { + "description": "Test the vcpkg_host_path_list function" + }, "list": { "description": "Test the vcpkg_list function" }, + "merge-libs": { + "description": "Test the z_vcpkg_cmake_config_fixup_merge_lists function", + "dependencies": [ + { + "name": "vcpkg-cmake-config", + "host": true + } + ] + }, "minimum-required": { "description": "Test the vcpkg_minimum_required function" + }, + "setup-pkgconfig-path": { + "description": "Test the z_vcpkg_setup/restore_pkgconfig_path functions" } } } diff --git a/scripts/test_ports/vcpkg-acquire-msys-test/CONTROL b/scripts/test_ports/vcpkg-acquire-msys-test/CONTROL deleted file mode 100644 index 47859b0769b2e9..00000000000000 --- a/scripts/test_ports/vcpkg-acquire-msys-test/CONTROL +++ /dev/null @@ -1,4 +0,0 @@ -Source: vcpkg-acquire-msys-test -Version: 0 -Description: Test port to exercise vcpkg_acquire_msys -Supports: x86 & windows diff --git a/scripts/test_ports/vcpkg-acquire-msys-test/vcpkg.json b/scripts/test_ports/vcpkg-acquire-msys-test/vcpkg.json new file mode 100644 index 00000000000000..808294bbc59cca --- /dev/null +++ b/scripts/test_ports/vcpkg-acquire-msys-test/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "vcpkg-acquire-msys-test", + "version-string": "0", + "port-version": 1, + "description": "Test port to exercise vcpkg_acquire_msys", + "supports": "x86 & windows" +} diff --git a/scripts/test_ports/vcpkg-ci-ankurvdev-embedresource/portfile.cmake b/scripts/test_ports/vcpkg-ci-ankurvdev-embedresource/portfile.cmake new file mode 100644 index 00000000000000..bc785962c8d5de --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-ankurvdev-embedresource/portfile.cmake @@ -0,0 +1,4 @@ +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) + +vcpkg_cmake_configure(SOURCE_PATH "${CURRENT_PORT_DIR}/project") +vcpkg_cmake_build() diff --git a/scripts/test_ports/vcpkg-ci-ankurvdev-embedresource/project/CMakeLists.txt b/scripts/test_ports/vcpkg-ci-ankurvdev-embedresource/project/CMakeLists.txt new file mode 100644 index 00000000000000..8bbcf70da08289 --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-ankurvdev-embedresource/project/CMakeLists.txt @@ -0,0 +1,45 @@ +cmake_minimum_required(VERSION 3.12) + +project(embedresource-test VERSION 0.0.1) + +set(CMAKE_CXX_STANDARD 17) + +find_package(EmbedResource REQUIRED) + +file(SIZE "${CMAKE_CURRENT_LIST_DIR}/main.cpp" MAIN_CPP_FILE_SIZE) +file(SIZE "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" CMAKELISTS_TXT_FILE_SIZE) + +add_resource_library(sample_test_resources OBJECT RESOURCE_COLLECTION_NAME testdata1 RESOURCES main.cpp GENERATOR_COMMAND echo "CMakeLists.txt" GENERATOR_DEPEND CMakeLists.txt) +add_resource_library(testdata3 OBJECT RESOURCES main.cpp) + +macro(setup_target target) + target_add_resource(${target} RESOURCE_COLLECTION_NAME testdata2 RESOURCES main.cpp) + get_target_property(type ${target} TYPE) + if ("${type}" STREQUAL "STATIC_LIBRARY") + target_link_libraries(${target} PRIVATE $ $) + else() + target_link_libraries(${target} PRIVATE sample_test_resources testdata3) + endif() + + target_compile_definitions(${target} PRIVATE MAIN_CPP_FILE_SIZE=${MAIN_CPP_FILE_SIZE}) + target_compile_definitions(${target} PRIVATE CMAKELISTS_TXT_FILE_SIZE=${CMAKELISTS_TXT_FILE_SIZE}) +endmacro() + +add_executable(sample_test_exe main.cpp) +setup_target(sample_test_exe) + +add_library(sample_test_shlib SHARED main.cpp) +target_compile_features(sample_test_shlib PRIVATE cxx_std_20) +setup_target(sample_test_shlib) + +add_library(sample_test_lib STATIC main.cpp) +setup_target(sample_test_lib) + +install(TARGETS sample_test_shlib EXPORT sample_test_shlib) +install(EXPORT sample_test_shlib FILE sampleTargets.cmake DESTINATION cmake) + +install(TARGETS sample_test_lib EXPORT sample_test_lib) +install(EXPORT sample_test_lib FILE sampleTargets.cmake DESTINATION cmake) + +enable_testing() +add_test(NAME sample_test_exe COMMAND sample_test_exe) diff --git a/scripts/test_ports/vcpkg-ci-ankurvdev-embedresource/project/main.cpp b/scripts/test_ports/vcpkg-ci-ankurvdev-embedresource/project/main.cpp new file mode 100644 index 00000000000000..39d7a8304f2613 --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-ankurvdev-embedresource/project/main.cpp @@ -0,0 +1,58 @@ +#include +#include +#include +#include +#include + +DECLARE_RESOURCE_COLLECTION(testdata1); +DECLARE_RESOURCE_COLLECTION(testdata2); +DECLARE_RESOURCE_COLLECTION(testdata3); +DECLARE_RESOURCE(testdata3, main_cpp); + +void verify_resource(ResourceLoader const& r) +{ + if (r.name() == L"main.cpp") + { +#ifdef __cpp_lib_span + if (r.template data().size() != MAIN_CPP_FILE_SIZE) { throw std::runtime_error("r.data.len() != MAIN_CPP_FILE_SIZE"); } +#endif +#ifdef __cpp_lib_string_view + if (r.string().size() != MAIN_CPP_FILE_SIZE) { throw std::runtime_error("r.string().size() != MAIN_CPP_FILE_SIZE"); } +#endif + } + else if (r.name() == L"CMakeLists.txt") + { +#ifdef __cpp_lib_span + if (r.template data().size() != CMAKELISTS_TXT_FILE_SIZE) + { + throw std::runtime_error("r.data.len() != CMAKELISTS_TXT_FILE_SIZE"); + } +#endif +#ifdef __cpp_lib_string_view + if (r.string().size() != CMAKELISTS_TXT_FILE_SIZE) { throw std::runtime_error("r.string().size() != CMAKELISTS_TXT_FILE_SIZE"); } +#endif + } + else { throw std::runtime_error("Unknown resource name"); } +} + +int main(int argc, char* argv[]) +try +{ + std::string_view res = LOAD_RESOURCE(testdata3, main_cpp).data; + if (res.size() != MAIN_CPP_FILE_SIZE) { throw std::runtime_error("r.data.len() != MAIN_CPP_FILE_SIZE"); } + + auto resourceCollection1 = LOAD_RESOURCE_COLLECTION(testdata1); + for (auto const r : resourceCollection1) { verify_resource(r); } + + auto resourceCollection2 = LOAD_RESOURCE_COLLECTION(testdata2); + for (auto const r : resourceCollection2) { verify_resource(r); } + + auto resourceCollection3 = LOAD_RESOURCE_COLLECTION(testdata3); + for (auto const r : resourceCollection2) { verify_resource(r); } + + return 0; +} catch (const std::exception& ex) +{ + std::cerr << "Failed: " << ex.what() << std::endl; + return -1; +} \ No newline at end of file diff --git a/scripts/test_ports/vcpkg-ci-ankurvdev-embedresource/vcpkg.json b/scripts/test_ports/vcpkg-ci-ankurvdev-embedresource/vcpkg.json new file mode 100644 index 00000000000000..a8267bb0059aca --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-ankurvdev-embedresource/vcpkg.json @@ -0,0 +1,13 @@ +{ + "name": "vcpkg-ci-ankurvdev-embedresource", + "version-string": "ci", + "description": "Validates ankurvdev-embedresource", + "license": "BSD-3-Clause", + "dependencies": [ + "ankurvdev-embedresource", + { + "name": "vcpkg-cmake", + "host": true + } + ] +} diff --git a/scripts/test_ports/vcpkg-ci-arrow/portfile.cmake b/scripts/test_ports/vcpkg-ci-arrow/portfile.cmake new file mode 100644 index 00000000000000..46a179430135d3 --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-arrow/portfile.cmake @@ -0,0 +1,10 @@ +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" ARROW_LINK_SHARED) + +vcpkg_cmake_configure( + SOURCE_PATH "${CURRENT_INSTALLED_DIR}/share/arrow/example" + OPTIONS + -DARROW_LINK_SHARED=${ARROW_LINK_SHARED} +) +vcpkg_cmake_build() diff --git a/scripts/test_ports/vcpkg-ci-arrow/vcpkg.json b/scripts/test_ports/vcpkg-ci-arrow/vcpkg.json new file mode 100644 index 00000000000000..8bf9a80286d398 --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-arrow/vcpkg.json @@ -0,0 +1,20 @@ +{ + "name": "vcpkg-ci-arrow", + "version-date": "2022-07-25", + "description": "Builds an example app in order to validate the arrow port.", + "license": "Apache-2.0", + "dependencies": [ + { + "name": "arrow", + "default-features": false, + "features": [ + "csv", + "example" + ] + }, + { + "name": "vcpkg-cmake", + "host": true + } + ] +} diff --git a/ports/openssl-uwp/portfile.cmake b/scripts/test_ports/vcpkg-ci-boost/portfile.cmake similarity index 100% rename from ports/openssl-uwp/portfile.cmake rename to scripts/test_ports/vcpkg-ci-boost/portfile.cmake diff --git a/scripts/test_ports/vcpkg-ci-boost/vcpkg.json b/scripts/test_ports/vcpkg-ci-boost/vcpkg.json new file mode 100644 index 00000000000000..c3782cbbe03a42 --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-boost/vcpkg.json @@ -0,0 +1,67 @@ +{ + "name": "vcpkg-ci-boost", + "version": "1", + "description": "Boost features testing within CI.", + "dependencies": [ + "boost", + { + "name": "boost", + "default-features": false, + "features": [ + "mpi" + ], + "platform": "!staticcrt & !(arm & windows) & !uwp" + }, + { + "name": "boost-asio", + "default-features": false, + "features": [ + "ssl" + ] + }, + { + "name": "boost-fiber", + "default-features": false, + "features": [ + "numa" + ], + "platform": "!uwp & !arm & !emscripten" + }, + { + "name": "boost-locale", + "default-features": false, + "features": [ + "icu" + ], + "platform": "!uwp" + }, + { + "name": "boost-mpi", + "default-features": false, + "features": [ + "python3" + ], + "platform": "!staticcrt & !static & !uwp & !(arm & windows)" + }, + { + "name": "boost-odeint", + "default-features": false, + "features": [ + "mpi" + ], + "platform": "!staticcrt & !uwp & !(windows & arm)" + }, + { + "name": "boost-python", + "default-features": false, + "platform": "!emscripten & !ios & !android & !uwp" + }, + { + "name": "boost-regex", + "default-features": false, + "features": [ + "icu" + ] + } + ] +} diff --git a/scripts/test_ports/vcpkg-ci-crashpad/portfile.cmake b/scripts/test_ports/vcpkg-ci-crashpad/portfile.cmake new file mode 100644 index 00000000000000..bc785962c8d5de --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-crashpad/portfile.cmake @@ -0,0 +1,4 @@ +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) + +vcpkg_cmake_configure(SOURCE_PATH "${CURRENT_PORT_DIR}/project") +vcpkg_cmake_build() diff --git a/scripts/test_ports/vcpkg-ci-crashpad/project/CMakeLists.txt b/scripts/test_ports/vcpkg-ci-crashpad/project/CMakeLists.txt new file mode 100644 index 00000000000000..b24d99435468e3 --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-crashpad/project/CMakeLists.txt @@ -0,0 +1,9 @@ +cmake_minimum_required(VERSION 3.29) +project(crashpad-test CXX) + +set(CMAKE_CXX_STANDARD 11) + +add_executable(main main.cpp) + +find_package(crashpad CONFIG REQUIRED) +target_link_libraries(main PRIVATE crashpad::crashpad) diff --git a/scripts/test_ports/vcpkg-ci-crashpad/project/main.cpp b/scripts/test_ports/vcpkg-ci-crashpad/project/main.cpp new file mode 100644 index 00000000000000..f450f9ef07d7cc --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-crashpad/project/main.cpp @@ -0,0 +1,7 @@ +#include "client/crashpad_client.h" + +int main() +{ + auto *client = new crashpad::CrashpadClient(); + return 0; +} diff --git a/scripts/test_ports/vcpkg-ci-crashpad/vcpkg.json b/scripts/test_ports/vcpkg-ci-crashpad/vcpkg.json new file mode 100644 index 00000000000000..1903999e8bf750 --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-crashpad/vcpkg.json @@ -0,0 +1,12 @@ +{ + "name": "vcpkg-ci-crashpad", + "version-string": "ci", + "description": "Validates crashpad", + "dependencies": [ + "crashpad", + { + "name": "vcpkg-cmake", + "host": true + } + ] +} diff --git a/scripts/test_ports/vcpkg-ci-curl/portfile.cmake b/scripts/test_ports/vcpkg-ci-curl/portfile.cmake new file mode 100644 index 00000000000000..065116c276adcf --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-curl/portfile.cmake @@ -0,0 +1 @@ +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) diff --git a/scripts/test_ports/vcpkg-ci-curl/vcpkg.json b/scripts/test_ports/vcpkg-ci-curl/vcpkg.json new file mode 100644 index 00000000000000..c13f6a371ed54a --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-curl/vcpkg.json @@ -0,0 +1,64 @@ +{ + "name": "vcpkg-ci-curl", + "version-date": "2024-03-05", + "description": "Port to force features of certain ports within CI", + "homepage": "https://github.com/microsoft/vcpkg", + "license": "MIT", + "dependencies": [ + { + "name": "curl", + "features": [ + "idn" + ] + }, + { + "name": "curl", + "features": [ + "c-ares", + "http2", + "zstd" + ] + }, + { + "$comment": "Known to break aws-sdk-cpp.", + "name": "curl", + "features": [ + "brotli" + ], + "platform": "!osx" + }, + { + "name": "curl", + "features": [ + "gsasl", + "mbedtls", + "openssl", + "psl", + "wolfssl" + ], + "platform": "!uwp" + }, + { + "name": "curl", + "features": [ + "gssapi" + ], + "platform": "linux | osx" + }, + { + "name": "curl", + "features": [ + "ldap", + "tool" + ], + "platform": "!android & !uwp" + }, + { + "name": "curl", + "features": [ + "gnutls" + ], + "platform": "!arm & !android & !xbox" + } + ] +} diff --git a/scripts/test_ports/vcpkg-ci-dcmtk/portfile.cmake b/scripts/test_ports/vcpkg-ci-dcmtk/portfile.cmake new file mode 100644 index 00000000000000..dd2570612035c8 --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-dcmtk/portfile.cmake @@ -0,0 +1,10 @@ +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) + +vcpkg_find_acquire_program(PKGCONFIG) + +vcpkg_cmake_configure( + SOURCE_PATH "${CURRENT_PORT_DIR}/project" + OPTIONS + "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}" +) +vcpkg_cmake_build() diff --git a/scripts/test_ports/vcpkg-ci-dcmtk/project/CMakeLists.txt b/scripts/test_ports/vcpkg-ci-dcmtk/project/CMakeLists.txt new file mode 100644 index 00000000000000..843bb2fe49455f --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-dcmtk/project/CMakeLists.txt @@ -0,0 +1,16 @@ +cmake_minimum_required(VERSION 3.10) +project(dcmtk-test CXX) + +set(CMAKE_CXX_STANDARD 17) + +find_package(DCMTK CONFIG REQUIRED) + +add_executable(main main.cpp) +target_link_libraries(main PRIVATE DCMTK::DCMTK) + +find_package(PkgConfig REQUIRED) +pkg_check_modules(DCMTK dcmtk REQUIRED IMPORTED_TARGET) + +add_executable(main-pkgconfig main.cpp) +target_link_libraries(main-pkgconfig PRIVATE PkgConfig::DCMTK) +target_compile_options(main-pkgconfig PRIVATE "\$<\$:/Zc:__cplusplus>") diff --git a/scripts/test_ports/vcpkg-ci-dcmtk/project/main.cpp b/scripts/test_ports/vcpkg-ci-dcmtk/project/main.cpp new file mode 100644 index 00000000000000..c807e95a8c211d --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-dcmtk/project/main.cpp @@ -0,0 +1,9 @@ +#include +#include + +int main() +{ + auto djfp = DcmJsonFormatPretty(OFTrue); + DcmTLSTransportLayer::initializeOpenSSL(); // https://github.com/microsoft/vcpkg/issues/38476 + return 0; +} diff --git a/scripts/test_ports/vcpkg-ci-dcmtk/vcpkg.json b/scripts/test_ports/vcpkg-ci-dcmtk/vcpkg.json new file mode 100644 index 00000000000000..0525fc490983ab --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-dcmtk/vcpkg.json @@ -0,0 +1,25 @@ +{ + "name": "vcpkg-ci-dcmtk", + "version-string": "ci", + "description": "Port to force features of dcmtk within CI", + "homepage": "https://github.com/microsoft/vcpkg", + "license": "MIT", + "dependencies": [ + { + "name": "dcmtk", + "features": [ + "iconv", + "icu", + "openssl", + "tiff", + "tools", + "xml2", + "zlib" + ] + }, + { + "name": "vcpkg-cmake", + "host": true + } + ] +} diff --git a/scripts/test_ports/vcpkg-ci-ffmpeg/CONTROL b/scripts/test_ports/vcpkg-ci-ffmpeg/CONTROL deleted file mode 100644 index 78687c423501f2..00000000000000 --- a/scripts/test_ports/vcpkg-ci-ffmpeg/CONTROL +++ /dev/null @@ -1,5 +0,0 @@ -Source: vcpkg-ci-ffmpeg -Version: 1 -Homepage: https://github.com/microsoft/vcpkg -Description: Port to force features of certain ports within CI -Build-Depends: ffmpeg[all-nonfree] diff --git a/scripts/test_ports/vcpkg-ci-ffmpeg/vcpkg.json b/scripts/test_ports/vcpkg-ci-ffmpeg/vcpkg.json new file mode 100644 index 00000000000000..c85b1f9842876b --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-ffmpeg/vcpkg.json @@ -0,0 +1,178 @@ +{ + "name": "vcpkg-ci-ffmpeg", + "version-string": "ci", + "description": "Port to force features of certain ports within CI", + "homepage": "https://github.com/microsoft/vcpkg", + "dependencies": [ + { + "name": "ffmpeg", + "default-features": false, + "features": [ + "avcodec", + "avdevice", + "avfilter", + "avformat", + "avresample", + "bzip2", + "freetype", + "gpl", + "iconv", + "lzma", + "mp3lame", + "nonfree", + "openjpeg", + "openmpt", + "openssl", + "opus", + "postproc", + "snappy", + "soxr", + "speex", + "swresample", + "swscale", + "theora", + "vorbis", + "vpx", + "webp", + "xml2", + "zlib" + ] + }, + { + "name": "ffmpeg", + "default-features": false, + "features": [ + "alsa" + ], + "platform": "linux" + }, + { + "name": "ffmpeg", + "default-features": false, + "features": [ + "drawtext" + ], + "platform": "!(uwp | android)" + }, + { + "name": "ffmpeg", + "default-features": false, + "features": [ + "sdl2" + ], + "platform": "!osx" + }, + { + "name": "ffmpeg", + "default-features": false, + "features": [ + "ass", + "dvdvideo", + "ffmpeg", + "fontconfig", + "fribidi", + "modplug", + "opencl", + "openh264", + "srt" + ], + "platform": "!uwp" + }, + { + "name": "ffmpeg", + "default-features": false, + "features": [ + "fdk-aac" + ], + "platform": "!android" + }, + { + "name": "ffmpeg", + "default-features": false, + "features": [ + "ilbc" + ], + "platform": "!(arm & uwp)" + }, + { + "name": "ffmpeg", + "default-features": false, + "features": [ + "ssh" + ], + "platform": "!(uwp | arm)" + }, + { + "name": "ffmpeg", + "default-features": false, + "features": [ + "x264" + ], + "platform": "!(arm & windows)" + }, + { + "name": "ffmpeg", + "default-features": false, + "features": [ + "aom" + ], + "platform": "!(windows & arm & !uwp)" + }, + { + "name": "ffmpeg", + "default-features": false, + "features": [ + "dav1d" + ], + "platform": "!(uwp | arm | x86 | osx)" + }, + { + "name": "ffmpeg", + "default-features": false, + "features": [ + "x265" + ], + "platform": "!uwp & !(arm & windows)" + }, + { + "name": "ffmpeg", + "default-features": false, + "features": [ + "avisynthplus" + ], + "platform": "windows & !arm & !uwp & !static" + }, + { + "name": "ffmpeg", + "default-features": false, + "features": [ + "tesseract" + ], + "platform": "!(windows & arm) & !static & !uwp" + }, + { + "name": "ffmpeg", + "default-features": false, + "features": [ + "opengl" + ], + "platform": "!uwp & !(arm64 & windows) & !android" + }, + { + "name": "ffmpeg", + "default-features": false, + "features": [ + "qsv" + ], + "platform": "!arm & (android | linux | windows) & !uwp" + }, + { + "name": "ffmpeg", + "default-features": false, + "features": [ + "nvcodec" + ], + "platform": "!android & !osx & !uwp & !(arm64 & windows)" + } + ] +} diff --git a/scripts/test_ports/vcpkg-ci-freerdp/portfile.cmake b/scripts/test_ports/vcpkg-ci-freerdp/portfile.cmake new file mode 100644 index 00000000000000..065116c276adcf --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-freerdp/portfile.cmake @@ -0,0 +1 @@ +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) diff --git a/scripts/test_ports/vcpkg-ci-freerdp/vcpkg.json b/scripts/test_ports/vcpkg-ci-freerdp/vcpkg.json new file mode 100644 index 00000000000000..8f7055e5ea7681 --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-freerdp/vcpkg.json @@ -0,0 +1,32 @@ +{ + "name": "vcpkg-ci-freerdp", + "version-string": "ci", + "description": "Force non-default features of freerdp within vcpkg CI", + "homepage": "https://github.com/microsoft/vcpkg", + "dependencies": [ + { + "name": "freerdp", + "features": [ + "wayland", + "x11" + ], + "platform": "linux" + }, + { + "name": "freerdp", + "features": [ + "ffmpeg" + ], + "platform": "linux | osx" + }, + { + "name": "freerdp", + "features": [ + "server", + "urbdrc", + "winpr-tools" + ], + "platform": "linux | osx | windows" + } + ] +} diff --git a/scripts/test_ports/vcpkg-ci-gdal/portfile.cmake b/scripts/test_ports/vcpkg-ci-gdal/portfile.cmake new file mode 100644 index 00000000000000..065116c276adcf --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-gdal/portfile.cmake @@ -0,0 +1 @@ +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) diff --git a/scripts/test_ports/vcpkg-ci-gdal/vcpkg.json b/scripts/test_ports/vcpkg-ci-gdal/vcpkg.json new file mode 100644 index 00000000000000..028de0bf23301e --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-gdal/vcpkg.json @@ -0,0 +1,55 @@ +{ + "name": "vcpkg-ci-gdal", + "version-date": "2023-12-28", + "description": "Port to force features of certain ports within CI", + "homepage": "https://github.com/microsoft/vcpkg", + "license": "MIT", + "dependencies": [ + { + "name": "gdal", + "features": [ + "archive", + "freexl" + ] + }, + { + "name": "gdal", + "features": [ + "postgresql" + ], + "platform": "linux" + }, + { + "name": "gdal", + "features": [ + "cfitsio", + "kea", + "poppler" + ], + "platform": "native" + }, + { + "name": "gdal", + "features": [ + "mysql-libmariadb" + ], + "platform": "windows & x86" + }, + { + "name": "gdal", + "features": [ + "aws-ec2-windows" + ], + "platform": "windows & !mingw" + }, + { + "name": "tiff", + "features": [ + "lerc", + "libdeflate", + "webp", + "zstd" + ] + } + ] +} diff --git a/scripts/test_ports/vcpkg-ci-gperftools/portfile.cmake b/scripts/test_ports/vcpkg-ci-gperftools/portfile.cmake new file mode 100644 index 00000000000000..065116c276adcf --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-gperftools/portfile.cmake @@ -0,0 +1 @@ +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) diff --git a/scripts/test_ports/vcpkg-ci-gperftools/vcpkg.json b/scripts/test_ports/vcpkg-ci-gperftools/vcpkg.json new file mode 100644 index 00000000000000..b987136a6a180d --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-gperftools/vcpkg.json @@ -0,0 +1,31 @@ +{ + "name": "vcpkg-ci-gperftools", + "version-string": "ci", + "description": "Validates gperftools", + "homepage": "https://github.com/microsoft/vcpkg", + "license": "MIT", + "dependencies": [ + "gperftools", + { + "name": "gperftools", + "features": [ + "tools" + ], + "platform": "native" + }, + { + "name": "gperftools", + "features": [ + "libunwind" + ], + "platform": "linux, osx" + }, + { + "name": "gperftools", + "features": [ + "override" + ], + "platform": "windows & static & staticcrt & !mingw" + } + ] +} diff --git a/scripts/test_ports/vcpkg-ci-imgui/portfile.cmake b/scripts/test_ports/vcpkg-ci-imgui/portfile.cmake new file mode 100644 index 00000000000000..065116c276adcf --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-imgui/portfile.cmake @@ -0,0 +1 @@ +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) diff --git a/scripts/test_ports/vcpkg-ci-imgui/vcpkg.json b/scripts/test_ports/vcpkg-ci-imgui/vcpkg.json new file mode 100644 index 00000000000000..316531b8177a5d --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-imgui/vcpkg.json @@ -0,0 +1,15 @@ +{ + "name": "vcpkg-ci-imgui", + "version-date": "2024-05-17", + "description": "Force test-engine feature of imgui within vcpkg CI", + "homepage": "https://github.com/microsoft/vcpkg", + "license": "MIT", + "dependencies": [ + { + "name": "imgui", + "features": [ + "test-engine" + ] + } + ] +} diff --git a/scripts/test_ports/vcpkg-ci-libdatachannel/cmake-project.diff b/scripts/test_ports/vcpkg-ci-libdatachannel/cmake-project.diff new file mode 100644 index 00000000000000..2d2302f6cb8ea1 --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-libdatachannel/cmake-project.diff @@ -0,0 +1,29 @@ +diff --git a/examples/streamer/CMakeLists.txt b/examples/streamer/CMakeLists.txt +index 1bdeb7c..9cf65dd 100644 +--- a/examples/streamer/CMakeLists.txt ++++ b/examples/streamer/CMakeLists.txt +@@ -2,6 +2,15 @@ cmake_minimum_required(VERSION 3.7) + if(POLICY CMP0079) + cmake_policy(SET CMP0079 NEW) + endif() ++project(vcpkg-ci) ++add_definitions(-DWIN32_LEAN_AND_MEAN) ++set(THREADS_PREFER_PTHREAD_FLAG ON) ++find_package(Threads REQUIRED) ++find_package(nlohmann_json CONFIG REQUIRED) ++find_package(LibDataChannel CONFIG REQUIRED) ++if(NOT TARGET LibDataChannel::LibDataChannel) ++ add_library(LibDataChannel::LibDataChannel ALIAS LibDataChannel::LibDataChannelStatic) ++endif() + + set(STREAMER_SOURCES + main.cpp +@@ -47,7 +56,7 @@ set_target_properties(streamer PROPERTIES + find_package(Threads REQUIRED) + target_link_libraries(streamer LibDataChannel::LibDataChannel Threads::Threads nlohmann_json::nlohmann_json) + +-if(MSVC) ++if(0) + add_custom_command(TARGET streamer POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_if_different + "$/datachannel.dll" diff --git a/scripts/test_ports/vcpkg-ci-libdatachannel/portfile.cmake b/scripts/test_ports/vcpkg-ci-libdatachannel/portfile.cmake new file mode 100644 index 00000000000000..53ae55e0ec7a16 --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-libdatachannel/portfile.cmake @@ -0,0 +1,14 @@ +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO paullouisageneau/libdatachannel + REF v0.21.2 + SHA512 fd0d66bb932e29abc01e9f1a8b16ccb79012a7e3901e2e0f882f56ab2f090260945e1556c85ad07ef897b8c70fcdd44cdeead9955a9bca7afe1dda8900c473cc + HEAD_REF master + PATCHES + cmake-project.diff +) + +vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}/examples/streamer") +vcpkg_cmake_build() diff --git a/scripts/test_ports/vcpkg-ci-libdatachannel/vcpkg.json b/scripts/test_ports/vcpkg-ci-libdatachannel/vcpkg.json new file mode 100644 index 00000000000000..8d6056f5309493 --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-libdatachannel/vcpkg.json @@ -0,0 +1,19 @@ +{ + "name": "vcpkg-ci-libdatachannel", + "version-string": "ci", + "description": "Validates libdatachannel", + "dependencies": [ + { + "name": "libdatachannel", + "features": [ + "srtp", + "ws" + ] + }, + "nlohmann-json", + { + "name": "vcpkg-cmake", + "host": true + } + ] +} diff --git a/scripts/test_ports/vcpkg-ci-libftdi1/portfile.cmake b/scripts/test_ports/vcpkg-ci-libftdi1/portfile.cmake new file mode 100644 index 00000000000000..dd2570612035c8 --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-libftdi1/portfile.cmake @@ -0,0 +1,10 @@ +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) + +vcpkg_find_acquire_program(PKGCONFIG) + +vcpkg_cmake_configure( + SOURCE_PATH "${CURRENT_PORT_DIR}/project" + OPTIONS + "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}" +) +vcpkg_cmake_build() diff --git a/scripts/test_ports/vcpkg-ci-libftdi1/project/CMakeLists.txt b/scripts/test_ports/vcpkg-ci-libftdi1/project/CMakeLists.txt new file mode 100644 index 00000000000000..b0671447543ea6 --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-libftdi1/project/CMakeLists.txt @@ -0,0 +1,13 @@ +cmake_minimum_required(VERSION 3.29) +project(libftdi1-test CXX) + +set(CMAKE_CXX_STANDARD 11) + +add_executable(main main.cpp) + +find_package(PkgConfig REQUIRED) +pkg_check_modules(libftdipp1 IMPORTED_TARGET REQUIRED libftdipp1) +target_link_libraries(main PRIVATE PkgConfig::libftdipp1) + +# subdir to scope side effects +add_subdirectory(cmake-usage) diff --git a/scripts/test_ports/vcpkg-ci-libftdi1/project/cmake-usage/CMakeLists.txt b/scripts/test_ports/vcpkg-ci-libftdi1/project/cmake-usage/CMakeLists.txt new file mode 100644 index 00000000000000..2f1cca332e5c52 --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-libftdi1/project/cmake-usage/CMakeLists.txt @@ -0,0 +1,6 @@ +# not modern +find_package(LIBFTDI1 NAMES LibFTDI1 REQUIRED) +include("${LIBFTDI_USE_FILE}") + +add_executable(cmake-usage ../main.cpp) +target_link_libraries(cmake-usage PRIVATE ${LIBFTDIPP_LIBRARIES}) diff --git a/scripts/test_ports/vcpkg-ci-libftdi1/project/main.cpp b/scripts/test_ports/vcpkg-ci-libftdi1/project/main.cpp new file mode 100644 index 00000000000000..48c64a592aac37 --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-libftdi1/project/main.cpp @@ -0,0 +1,7 @@ +#include "ftdi.hpp" + +int main() +{ + auto *context = new Ftdi::Context(); + return 0; +} diff --git a/scripts/test_ports/vcpkg-ci-libftdi1/vcpkg.json b/scripts/test_ports/vcpkg-ci-libftdi1/vcpkg.json new file mode 100644 index 00000000000000..dcb905ec86fb85 --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-libftdi1/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "vcpkg-ci-libftdi1", + "version-string": "ci", + "description": "Validates libftdi1", + "dependencies": [ + { + "name": "libftdi1", + "features": [ + "cpp" + ] + }, + { + "name": "vcpkg-cmake", + "host": true + } + ] +} diff --git a/scripts/test_ports/vcpkg-ci-libgit2/portfile.cmake b/scripts/test_ports/vcpkg-ci-libgit2/portfile.cmake new file mode 100644 index 00000000000000..065116c276adcf --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-libgit2/portfile.cmake @@ -0,0 +1 @@ +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) diff --git a/scripts/test_ports/vcpkg-ci-libgit2/vcpkg.json b/scripts/test_ports/vcpkg-ci-libgit2/vcpkg.json new file mode 100644 index 00000000000000..f4c01aa8ccf62a --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-libgit2/vcpkg.json @@ -0,0 +1,15 @@ +{ + "name": "vcpkg-ci-libgit2", + "version-string": "ci", + "description": "Validates libgit2 with ssh and tools.", + "dependencies": [ + { + "name": "libgit2", + "default-features": false, + "features": [ + "ssh", + "tools" + ] + } + ] +} diff --git a/scripts/test_ports/vcpkg-ci-libressl/portfile.cmake b/scripts/test_ports/vcpkg-ci-libressl/portfile.cmake new file mode 100644 index 00000000000000..dd2570612035c8 --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-libressl/portfile.cmake @@ -0,0 +1,10 @@ +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) + +vcpkg_find_acquire_program(PKGCONFIG) + +vcpkg_cmake_configure( + SOURCE_PATH "${CURRENT_PORT_DIR}/project" + OPTIONS + "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}" +) +vcpkg_cmake_build() diff --git a/scripts/test_ports/vcpkg-ci-libressl/project/CMakeLists.txt b/scripts/test_ports/vcpkg-ci-libressl/project/CMakeLists.txt new file mode 100644 index 00000000000000..33f6bad3239cb1 --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-libressl/project/CMakeLists.txt @@ -0,0 +1,63 @@ +cmake_minimum_required(VERSION 3.7) +project(libressl-test C) + +find_package(PkgConfig REQUIRED) + +# libressl provides cmake config +find_package(LibreSSL CONFIG REQUIRED) +message(STATUS "LibreSSL CONFIG: ${LibreSSL_DIR}") +string(FIND "${LibreSSL_DIR}" "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}" index) +if(NOT index STREQUAL "0") + message(SEND_ERROR "LibreSSL CONFIG is not from vcpkg.") +endif() + +pkg_check_modules(libtls IMPORTED_TARGET REQUIRED libtls) +if(NOT libtls_VERSION STREQUAL LibreSSL_VERSION) + message(SEND_ERROR "Unexpected libtls_VERSION '${libtls_VERSION}' (expected: '${LibreSSL_VERSION}')") +endif() + +# libressl promises openssl compatibility +# NB: The port doesn't provide a wrapper, so there is no support +# for multi-config and for transitive usage requirements. +find_package(OpenSSL MODULE REQUIRED) +foreach(target IN ITEMS OpenSSL::SSL OpenSSL::Crypto) + set(location_found FALSE) + foreach(property IN ITEMS IMPORTED_LOCATION IMPORTED_LOCATION_DEBUG IMPORTED_LOCATION_RELEASE) + get_target_property(location ${target} ${property}) + if(NOT location) + continue() + endif() + set(location_found TRUE) + message(STATUS "${target} ${property}: ${location}") + string(FIND "${location}" "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}" index) + if(NOT index STREQUAL "0") + message(SEND_ERROR "${target} ${property} is not from vcpkg.") + endif() + endforeach() + if(NOT location_found) + message(SEND_ERROR "No location for ${target} binary") + endif() +endforeach() +if(NOT OPENSSL_VERSION STREQUAL "2.0.0") + message(SEND_ERROR "Unexpected OPENSSL_VERSION '${OPENSSL_VERSION}' (expected: '2.0.0')") +endif() + +pkg_check_modules(openssl IMPORTED_TARGET REQUIRED openssl) +# NB: openssl.pc carries libressl version (3.x), but doesn't provide 3.x OpenSSL API. +if(NOT openssl_VERSION STREQUAL LibreSSL_VERSION) + message(SEND_ERROR "Unexpected openssl_VERSION '${openssl_VERSION}' (expected: '${LibreSSL_VERSION}')") +endif() + +# compile and link tests + +add_executable(openssl_cmake openssl.c) +target_link_libraries(openssl_cmake OpenSSL::SSL) + +add_executable(openssl_pkgconfig openssl.c) +target_link_libraries(openssl_pkgconfig PkgConfig::openssl) + +add_executable(libressl_cmake libressl.c) +target_link_libraries(libressl_cmake LibreSSL::TLS) + +add_executable(libressl_pkgconfig libressl.c) +target_link_libraries(libressl_pkgconfig PkgConfig::libtls) diff --git a/scripts/test_ports/vcpkg-ci-libressl/project/libressl.c b/scripts/test_ports/vcpkg-ci-libressl/project/libressl.c new file mode 100644 index 00000000000000..2814d3c4677718 --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-libressl/project/libressl.c @@ -0,0 +1,6 @@ +#include + +int main() +{ + return tls_init(); +} diff --git a/scripts/test_ports/vcpkg-ci-libressl/project/openssl.c b/scripts/test_ports/vcpkg-ci-libressl/project/openssl.c new file mode 100644 index 00000000000000..880991a8870037 --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-libressl/project/openssl.c @@ -0,0 +1,10 @@ +#include + +#if OPENSSL_VERSION_NUMBER != 0x20000000L +# error Unexpected version +#endif + +int main() +{ + return SSL_library_init(); +} diff --git a/scripts/test_ports/vcpkg-ci-libressl/vcpkg.json b/scripts/test_ports/vcpkg-ci-libressl/vcpkg.json new file mode 100644 index 00000000000000..3b04b3e8dd3e5c --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-libressl/vcpkg.json @@ -0,0 +1,12 @@ +{ + "name": "vcpkg-ci-libressl", + "version-string": "ci", + "description": "Validates libressl", + "dependencies": [ + "libressl", + { + "name": "vcpkg-cmake", + "host": true + } + ] +} diff --git a/ports/openssl-windows/portfile.cmake b/scripts/test_ports/vcpkg-ci-llvm/portfile.cmake similarity index 100% rename from ports/openssl-windows/portfile.cmake rename to scripts/test_ports/vcpkg-ci-llvm/portfile.cmake diff --git a/scripts/test_ports/vcpkg-ci-llvm/vcpkg.json b/scripts/test_ports/vcpkg-ci-llvm/vcpkg.json new file mode 100644 index 00000000000000..ec0969538494d6 --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-llvm/vcpkg.json @@ -0,0 +1,48 @@ +{ + "name": "vcpkg-ci-llvm", + "version-string": "0", + "description": "LLVM features testing within CI.", + "license": null, + "supports": "!uwp & !(arm & windows)", + "dependencies": [ + { + "name": "llvm", + "default-features": false, + "features": [ + "clang", + "compiler-rt", + "default-targets", + "enable-abi-breaking-checks", + "enable-bindings", + "enable-eh", + "enable-rtti", + "enable-terminfo", + "enable-zlib", + "lld", + "lldb", + "tools" + ] + }, + { + "$comment": "Platform restriction due to CI artifact upload quirks; libc", + "name": "llvm", + "default-features": false, + "features": [ + "libc" + ], + "platform": "linux" + }, + { + "$comment": "Platform restriction due to CI artifact upload quirks; features which need utils", + "name": "llvm", + "default-features": false, + "features": [ + "bolt", + "openmp", + "polly", + "utils" + ], + "platform": "!static & !x86" + } + ] +} diff --git a/scripts/test_ports/vcpkg-ci-mathgl/portfile.cmake b/scripts/test_ports/vcpkg-ci-mathgl/portfile.cmake new file mode 100644 index 00000000000000..065116c276adcf --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-mathgl/portfile.cmake @@ -0,0 +1 @@ +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) diff --git a/scripts/test_ports/vcpkg-ci-mathgl/vcpkg.json b/scripts/test_ports/vcpkg-ci-mathgl/vcpkg.json new file mode 100644 index 00000000000000..a7976a1612665d --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-mathgl/vcpkg.json @@ -0,0 +1,26 @@ +{ + "name": "vcpkg-ci-mathgl", + "version-date": "2022-12-28", + "description": "Ensures that the vcpkg CI build of mathgl tests all features and examples", + "license": "MIT", + "dependencies": [ + { + "name": "mathgl", + "features": [ + "arma", + "examples", + "fltk", + "gif", + "glut", + "gsl", + "hdf5", + "jpeg", + "opengl", + "png", + "qt5", + "wx", + "zlib" + ] + } + ] +} diff --git a/scripts/test_ports/vcpkg-ci-mimalloc/portfile.cmake b/scripts/test_ports/vcpkg-ci-mimalloc/portfile.cmake new file mode 100644 index 00000000000000..60811d6be4af06 --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-mimalloc/portfile.cmake @@ -0,0 +1,33 @@ +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) + +vcpkg_find_acquire_program(PKGCONFIG) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO microsoft/mimalloc + REF "v${VERSION}" + SHA512 4e30976758015c76a146acc1bfc8501e2e5c61b81db77d253de0d58a8edef987669243f232210667b32ef8da3a33286642acb56ba526fd24c4ba925b44403730 + HEAD_REF master + PATCHES + vcpkg-tests.patch +) +# Ensure that the test uses the installed mimalloc only +file(REMOVE_RECURSE + "${SOURCE_PATH}/bin" + "${SOURCE_PATH}/include" + "${SOURCE_PATH}/src" +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/test" + OPTIONS + "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}" + "-DVCPKG_TESTS=${CURRENT_PORT_DIR}/vcpkg-tests.cmake" +) +vcpkg_cmake_install(ADD_BIN_TO_PATH) + +vcpkg_copy_tools(TOOL_NAMES pkgconfig-override-cxx AUTO_CLEAN) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") diff --git a/scripts/test_ports/vcpkg-ci-mimalloc/vcpkg-tests.cmake b/scripts/test_ports/vcpkg-ci-mimalloc/vcpkg-tests.cmake new file mode 100644 index 00000000000000..d8e122cf358ada --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-mimalloc/vcpkg-tests.cmake @@ -0,0 +1,47 @@ +find_package(PkgConfig REQUIRED) + +# Legacy variables + +message(STATUS "MIMALLOC_INCLUDE_DIR: ${MIMALLOC_INCLUDE_DIR}") +message(STATUS "MIMALLOC_LIBRARY_DIR: ${MIMALLOC_LIBRARY_DIR}") +find_file(mimalloc_h NAMES mimalloc.h PATHS "${MIMALLOC_INCLUDE_DIR}" NO_DEFAULT_PATH REQUIRED) +set(names + mimalloc + mimalloc-secure + mimalloc-static + mimalloc-static-secure + mimalloc-debug + mimalloc-secure-debug + mimalloc-static-debug + mimalloc-static-secure-debug +) +find_library(mimalloc_lib NAMES ${names} PATHS "${MIMALLOC_LIBRARY_DIR}" NO_DEFAULT_PATH REQUIRED) + +# pkgconfig + +pkg_check_modules(PC_MIMALLOC mimalloc IMPORTED_TARGET REQUIRED) + +if(EXPECTED_FAILURE_DUE_TO_CXX_LINKAGE_OF_MIMALLOC) +add_executable(pkgconfig-override $,main-override.c,main-override-static.c>) +target_link_libraries(pkgconfig-override PRIVATE PkgConfig::PC_MIMALLOC) +endif() + +add_executable(pkgconfig-override-cxx main-override.cpp) +target_link_libraries(pkgconfig-override-cxx PRIVATE PkgConfig::PC_MIMALLOC Threads::Threads) + +# Runtime + +if(NOT CMAKE_CROSSCOMPILING) + if(BUILD_SHARED_LIBS) + add_custom_target(run-dynamic-override ALL COMMAND $) + add_custom_target(run-dynamic-override-cxx ALL COMMAND $) + else() + add_custom_target(run-static-override ALL COMMAND $) + add_custom_target(run-static-override-cxx ALL COMMAND $) + endif() + add_custom_target(run-pkgconfig-override-cxx ALL COMMAND $) +endif() + +# Deployment + +install(TARGETS pkgconfig-override-cxx) diff --git a/scripts/test_ports/vcpkg-ci-mimalloc/vcpkg-tests.patch b/scripts/test_ports/vcpkg-ci-mimalloc/vcpkg-tests.patch new file mode 100644 index 00000000000000..6a464e30120735 --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-mimalloc/vcpkg-tests.patch @@ -0,0 +1,65 @@ +diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt +index e76ffa6..a925a37 100644 +--- a/test/CMakeLists.txt ++++ b/test/CMakeLists.txt +@@ -1,4 +1,4 @@ +-cmake_minimum_required(VERSION 3.0) ++cmake_minimum_required(VERSION 3.5) + project(mimalloc-test C CXX) + + set(CMAKE_C_STANDARD 11) +@@ -19,21 +19,30 @@ endif() + find_package(mimalloc 2.0 REQUIRED NO_SYSTEM_ENVIRONMENT_PATH) + message(STATUS "Found mimalloc installed at: ${MIMALLOC_LIBRARY_DIR} (${MIMALLOC_VERSION_DIR})") + ++set(THREADS_PREFER_PTHREAD_FLAG 1) ++find_package(Threads REQUIRED) ++ ++if(BUILD_SHARED_LIBS) + # overriding with a dynamic library + add_executable(dynamic-override main-override.c) + target_link_libraries(dynamic-override PUBLIC mimalloc) + + add_executable(dynamic-override-cxx main-override.cpp) + target_link_libraries(dynamic-override-cxx PUBLIC mimalloc) ++target_link_libraries(dynamic-override-cxx PRIVATE Threads::Threads) ++endif() + + ++if(0) + # overriding with a static object file works reliable as the symbols in the + # object file have priority over those in library files + add_executable(static-override-obj main-override.c ${MIMALLOC_OBJECT_DIR}/mimalloc.o) + target_include_directories(static-override-obj PUBLIC ${MIMALLOC_INCLUDE_DIR}) + target_link_libraries(static-override-obj PUBLIC pthread) ++endif() + + ++if(NOT BUILD_SHARED_LIBS) + # overriding with a static library works too if using the `mimalloc-override.h` + # header to redefine malloc/free. (the library already overrides new/delete) + add_executable(static-override-static main-override-static.c) +@@ -47,6 +56,10 @@ target_link_libraries(static-override PUBLIC mimalloc-static) + + add_executable(static-override-cxx main-override.cpp) + target_link_libraries(static-override-cxx PUBLIC mimalloc-static) ++target_link_libraries(static-override-cxx PRIVATE Threads::Threads) ++endif() ++ ++include("${VCPKG_TESTS}") + + + ## test memory errors +diff --git a/test/main-override.cpp b/test/main-override.cpp +index c1607b6..9e9824c 100644 +--- a/test/main-override.cpp ++++ b/test/main-override.cpp +@@ -19,7 +19,7 @@ + #endif + + #ifdef _WIN32 +-#include ++#include + static void msleep(unsigned long msecs) { Sleep(msecs); } + #else + #include diff --git a/scripts/test_ports/vcpkg-ci-mimalloc/vcpkg.json b/scripts/test_ports/vcpkg-ci-mimalloc/vcpkg.json new file mode 100644 index 00000000000000..be35ac3e88918a --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-mimalloc/vcpkg.json @@ -0,0 +1,12 @@ +{ + "name": "vcpkg-ci-mimalloc", + "version": "2.1.7", + "description": "Validates mimalloc", + "dependencies": [ + "mimalloc", + { + "name": "vcpkg-cmake", + "host": true + } + ] +} diff --git a/scripts/test_ports/vcpkg-ci-mongo-cxx-driver/portfile.cmake b/scripts/test_ports/vcpkg-ci-mongo-cxx-driver/portfile.cmake new file mode 100644 index 00000000000000..065116c276adcf --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-mongo-cxx-driver/portfile.cmake @@ -0,0 +1 @@ +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) diff --git a/scripts/test_ports/vcpkg-ci-mongo-cxx-driver/vcpkg.json b/scripts/test_ports/vcpkg-ci-mongo-cxx-driver/vcpkg.json new file mode 100644 index 00000000000000..3eb7d0392939ce --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-mongo-cxx-driver/vcpkg.json @@ -0,0 +1,14 @@ +{ + "name": "vcpkg-ci-mongo-cxx-driver", + "version-date": "2022-11-18", + "description": "Ensures that the vcpkg CI build of mongo-cxx-driver includes feature boost", + "license": "MIT", + "dependencies": [ + { + "name": "mongo-cxx-driver", + "features": [ + "boost" + ] + } + ] +} diff --git a/scripts/test_ports/vcpkg-ci-msys2/portfile.cmake b/scripts/test_ports/vcpkg-ci-msys2/portfile.cmake new file mode 100644 index 00000000000000..fe2753e7c2079c --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-msys2/portfile.cmake @@ -0,0 +1,364 @@ +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) + +set(msys_repo_url "https://mirror.msys2.org/msys/x86_64") +set(mingw64_repo_url "https://mirror.msys2.org/mingw/mingw64") +set(mingw32_repo_url "https://mirror.msys2.org/mingw/mingw32") +set(clangarm64_repo_url "https://mirror.msys2.org/mingw/clangarm64") + +# Ignore these updates (e.g. for known problems) +vcpkg_list(SET ignored_updates + https://mirror.msys2.org/mingw/mingw64/mingw-w64-x86_64-ca-certificates-20211016-3-any.pkg.tar.zst +) + +# Known removals that shall not be reported as errors +# (Packages to be removed from vcpkg scripts ASAP.) +vcpkg_list(SET known_delisted + libcrypt +) + +# Ignore these dependencies (e.g. interactive or effectively optional) +vcpkg_list(SET ignored_dependencies + autoconf2.13 autoconf2.69 autoconf2.71 + automake1.11 automake1.12 automake1.13 automake1.14 automake1.15 + db + gdbm + info + less + libiconv-devel + libltdl + mingw-w64-x86_64-tzdata +) + +# Ignore these provides (e.g. effectively optional) +vcpkg_list(SET ignored_provides + gnome-common + perl-Archive-Tar perl-Attribute-Handlers perl-AutoLoader perl-CPAN-Meta-Requirements perl-CPAN-Meta-YAML perl-CPAN-Meta perl-CPAN perl-Carp perl-Compress-Raw-Bzip2 perl-Compress-Raw-Zlib perl-Config-Perl-V perl-DB_File perl-Data-Dumper perl-Devel-PPPort perl-Devel-SelfStubber perl-Digest-MD5 perl-Digest-SHA perl-Digest perl-Dumpvalue perl-Encode perl-Env perl-Exporter perl-ExtUtils-CBuilder perl-ExtUtils-Constant perl-ExtUtils-Install perl-ExtUtils-MakeMaker perl-ExtUtils-Manifest perl-ExtUtils-PL2Bat perl-ExtUtils-ParseXS perl-File-Fetch perl-File-Path perl-File-Temp perl-Filter-Simple perl-Filter-Util-Call perl-FindBin perl-Getopt-Long perl-HTTP-Tiny perl-I18N-Collate perl-I18N-LangTags perl-IO-Compress perl-IO-Socket-IP perl-IO-Zlib perl-IO perl-IPC-Cmd perl-IPC-SysV perl-JSON-PP perl-Locale-Maketext-Simple perl-Locale-Maketext perl-MIME-Base64 perl-Math-BigInt-FastCalc perl-Math-BigInt perl-Math-BigRat perl-Math-Complex perl-Memoize perl-Module-CoreList perl-Module-Load-Conditional perl-Module-Load perl-Module-Loaded perl-Module-Metadata perl-NEXT perl-Net-Ping perl-Params-Check perl-PathTools perl-Perl-OSType perl-PerlIO-via-QuotedPrint perl-Pod-Checker perl-Pod-Escapes perl-Pod-Perldoc perl-Pod-Simple perl-Pod-Usage perl-Safe perl-Scalar-List-Utils perl-Search-Dict perl-SelfLoader perl-Socket perl-Storable perl-Sys-Syslog perl-Term-ANSIColor perl-Term-Cap perl-Term-Complete perl-Term-ReadLine perl-Test-Harness perl-Test-Simple perl-Test perl-Text-Abbrev perl-Text-Balanced perl-Text-ParseWords perl-Text-Tabs perl-Thread-Queue perl-Thread-Semaphore perl-Tie-File perl-Tie-RefHash perl-Time-HiRes perl-Time-Local perl-Time-Piece perl-Unicode-Collate perl-Unicode-Normalize perl-Win32 perl-Win32API-File perl-XSLoader perl-autodie perl-autouse perl-base perl-bignum perl-constant perl-encoding-warnings perl-experimental perl-if perl-lib perl-libnet perl-parent perl-perlfaq perl-podlators perl-threads-shared perl-threads perl-version +) + + +string(TIMESTAMP now "%s" UTC) + +function(age_in_days out_var timestamp) + set(age "") + if(timestamp) + math(EXPR age "(${now} - ${timestamp}) / 3600 / 24") + endif() + set(${out_var} "${age}" PARENT_SCOPE) +endfunction() + +function(pretty_age out_var age_in_days) + if(age_in_days STREQUAL "") + set(${out_var} "(timestamp unknown)" PARENT_SCOPE) + else() + set(${out_var} "(${age_in_days} days ago)" PARENT_SCOPE) + endif() +endfunction() + +function(get_vcpkg_builddate out_var name) + if(NOT DEFINED Z_VCPKG_MSYS_${name}_ARCHIVE) + z_vcpkg_acquire_msys_download_package(Z_VCPKG_MSYS_${name}_ARCHIVE + URL "${Z_VCPKG_MSYS_${name}_URL}" + SHA512 "${Z_VCPKG_MSYS_${name}_SHA512}" + FILENAME "${Z_VCPKG_MSYS_${name}_FILENAME}" + ) + set(Z_VCPKG_MSYS_${name}_ARCHIVE "${Z_VCPKG_MSYS_${name}_ARCHIVE}" PARENT_SCOPE) + endif() + set(pkginfo_dir "${CURRENT_BUILDTREES_DIR}/vcpkg") + file(REMOVE_RECURSE "${pkginfo_dir}/${name}.txt" "${pkginfo_dir}/_tmp") + file(MAKE_DIRECTORY "${pkginfo_dir}/_tmp") + execute_process( + COMMAND "${CMAKE_COMMAND}" -E tar xzf "${Z_VCPKG_MSYS_${name}_ARCHIVE}" .PKGINFO + WORKING_DIRECTORY "${pkginfo_dir}/_tmp" + ) + file(RENAME "${pkginfo_dir}/_tmp/.PKGINFO" "${pkginfo_dir}/${name}.txt") + file(STRINGS "${pkginfo_dir}/${name}.txt" builddate REGEX "builddate = [0-9]+") + string(REPLACE "builddate = " "" builddate "${builddate}") + set(${out_var} "${builddate}" PARENT_SCOPE) +endfunction() + +function(get_vcpkg_provides out_var name) + if(NOT DEFINED Z_VCPKG_MSYS_${name}_ARCHIVE) + z_vcpkg_acquire_msys_download_package(Z_VCPKG_MSYS_${name}_ARCHIVE + URL "${Z_VCPKG_MSYS_${name}_URL}" + SHA512 "${Z_VCPKG_MSYS_${name}_SHA512}" + FILENAME "${Z_VCPKG_MSYS_${name}_FILENAME}" + ) + set(Z_VCPKG_MSYS_${name}_ARCHIVE "${Z_VCPKG_MSYS_${name}_ARCHIVE}" PARENT_SCOPE) + endif() + set(pkginfo_dir "${CURRENT_BUILDTREES_DIR}/vcpkg") + file(REMOVE_RECURSE "${pkginfo_dir}/${name}.txt" "${pkginfo_dir}/_tmp") + file(MAKE_DIRECTORY "${pkginfo_dir}/_tmp") + execute_process( + COMMAND "${CMAKE_COMMAND}" -E tar xzf "${Z_VCPKG_MSYS_${name}_ARCHIVE}" .PKGINFO + WORKING_DIRECTORY "${pkginfo_dir}/_tmp" + ) + file(RENAME "${pkginfo_dir}/_tmp/.PKGINFO" "${pkginfo_dir}/${name}.txt") + file(STRINGS "${pkginfo_dir}/${name}.txt" provides REGEX "provides = .+") + string(REPLACE "provides = " "" provides "${provides}") + set(${out_var} "${provides}" PARENT_SCOPE) +endfunction() + +function(update_vcpkg_download script_file name new_url) + message(STATUS "- Updating vcpkg...") + if(NOT new_url MATCHES [[^https://mirror\.msys2\.org/.*/(([^/]*)-[^-/]+-[^-/]+-[^-/]+\.pkg\.tar\.(xz|zst))$]]) + message(FATAL_ERROR "Supplied URL does not match the expected pattern: ${arg_URL}") + endif() + set(filename "msys2-${CMAKE_MATCH_1}") + vcpkg_download_distfile(archive + URLS "${new_url}" + FILENAME "${filename}" + SKIP_SHA512 + ) + execute_process( + COMMAND "${CMAKE_COMMAND}" -E sha512sum "${archive}" + OUTPUT_VARIABLE sha512 + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + string(REGEX REPLACE " .*" "" sha512 "${sha512}") + vcpkg_replace_string("${SCRIPTS}/cmake/${script_file}" "${Z_VCPKG_MSYS_${name}_URL}" "${new_url}") + vcpkg_replace_string("${SCRIPTS}/cmake/${script_file}" "${Z_VCPKG_MSYS_${name}_SHA512}" "${sha512}") +endfunction() + +function(pretty_dependencies out_var list_name) + foreach(dependency IN LISTS ignored_dependencies) + list(TRANSFORM ${list_name} REPLACE "^${dependency}\$" "(${dependency})") + endforeach() + list(JOIN ${list_name} " " list_string) + set(${out_var} "${list_string}" PARENT_SCOPE) +endfunction() + +function(analyze_package_list list_var script) + message(STATUS "*** Analyzing packages in '${script}'") + vcpkg_list(SET critical) # Packages which can be upgraded and are fairly old in vcpkg + vcpkg_list(SET mismatched_deps) # Packages which have vcpkg deps different from msys2 deps + vcpkg_list(SET missing) # Packages used in (new) deps but not declared + vcpkg_list(SET upgradable) # Packages which can be upgrade but are fairly fresh in vcpkg + vcpkg_list(SET vanished) # Packages which vanished from the msys2 database + + # Preload details from direct packages + foreach(name IN LISTS ${list_var}) + if(NOT Z_VCPKG_MSYS_${name}_DIRECT) + continue() + endif() + get_vcpkg_provides(vcpkg_provides "${name}") + set(Z_VCPKG_MSYS_${name}_PROVIDES "${vcpkg_provides}") + foreach(provided IN LISTS vcpkg_provides) + set(Z_VCPKG_MSYS_${provided}_PROVIDED_BY "${name}") + endforeach() + endforeach() + + # msys2.org removes packages 1.75 years after it was removed from the active database, + # cf. https://www.msys2.org/docs/faq/#how-long-are-old-packages-kept-on-repomsys2org + # We don't know the date of that replacement, and mirrors might use a shorter time. + # But we can compare the build date of the package currently downloaded by vcpkg + # and the build date of the package in the msys2 database. + # If this time span exceeds 'max_age', an update is marked as critical. + set(max_age 365) # days + math(EXPR minimum_builddate "${now} - 6 * 30 * 24 * 3600") + foreach(name IN LISTS ${list_var}) + if(Z_VCPKG_MSYS_${name}_DIRECT) + message(STATUS "${name} (DIRECT)") + elseif("DIRECT_ONLY" IN_LIST ARGN) + continue() + else() + message(STATUS "${name}") + endif() + set(vcpkg_url "${Z_VCPKG_MSYS_${name}_URL}") + set(vcpkg_deps "${Z_VCPKG_MSYS_${name}_DEPS}") + set(vcpkg_provides "${Z_VCPKG_MSYS_${name}_PROVIDES}") + + set(repo "msys") + if(name MATCHES "^mingw-w64-x86_64") + set(repo "mingw64") + elseif(name MATCHES "^mingw-w64-i686") + set(repo "mingw32") + elseif(name MATCHES "^mingw-w64-clang-aarch64") + set(repo "clangarm64") + endif() + + file(GLOB files "${${repo}_repo_files}/${name}-*/desc") + set(found 0) + foreach(file IN LISTS files) + # Find the package + file(STRINGS "${file}" desc) + if(NOT desc MATCHES "%NAME%;${name};") + continue() + elseif(NOT desc MATCHES "%FILENAME%;([^;]+)") + continue() + endif() + set(found 1) + set(current_url "${${repo}_repo_url}/${CMAKE_MATCH_1}") + # Check the URL + if(NOT vcpkg_url STREQUAL current_url AND NOT current_url IN_LIST ignored_updates) + get_vcpkg_builddate(vcpkg_builddate "${name}") + age_in_days(vcpkg_age "${vcpkg_builddate}") + pretty_age(vcpkg_age_pretty "${vcpkg_age}") + set(current_age "") + if(desc MATCHES "%BUILDDATE%;([0-9]+)") + age_in_days(current_age "${CMAKE_MATCH_1}") + endif() + pretty_age(current_age_string "${current_age}") + message(STATUS "- vcpkg: ${vcpkg_url} ${vcpkg_age_pretty}") + message(STATUS "+ msys2: ${current_url} ${current_age_string}") + + set(age_diff "0") + if(NOT vcpkg_age STREQUAL "" AND NOT current_age STREQUAL "") + math(EXPR age_diff "${current_age} - ${vcpkg_age}") + endif() + if(age_diff GREATER max_age) + if("update-all" IN_LIST FEATURES) + update_vcpkg_download("${script}" "${name}" "${current_url}") + else() + vcpkg_list(APPEND critical "${name}") + endif() + elseif(NOT vcpkg_url STREQUAL current_url) + if("update-all" IN_LIST FEATURES) + update_vcpkg_download("${script}" "${name}" "${current_url}") + else() + vcpkg_list(APPEND upgradable "${name}") + endif() + endif() + endif() + # Check the dependencies + if(desc MATCHES "%DEPENDS%;([^%]*)" OR vcpkg_deps) + list(JOIN CMAKE_MATCH_1 " " current_deps) + separate_arguments(current_deps UNIX_COMMAND "${current_deps}") + list(TRANSFORM current_deps REPLACE "[<=>].*" "") + list(SORT current_deps) + list(SORT vcpkg_deps) + pretty_dependencies(current_deps_string current_deps) + if(Z_VCPKG_MSYS_${name}_DIRECT AND NOT current_deps STREQUAL "") + message(STATUS "* msys2 dependencies: ${current_deps_string}") + elseif(NOT vcpkg_deps STREQUAL current_deps) + pretty_dependencies(vcpkg_deps_string vcpkg_deps) + message(STATUS "- vcpkg dependencies: ${vcpkg_deps_string}") + message(STATUS "+ msys2 dependencies: ${current_deps_string}") + list(REMOVE_ITEM current_deps ${ignored_dependencies}) + if(NOT vcpkg_deps STREQUAL current_deps) + vcpkg_list(APPEND mismatched_deps "${name}") + endif() + list(REMOVE_ITEM current_deps ${known_packages} ${${list_var}} ${ignored_dependencies}) + set(missing_deps "") + foreach(dep IN LISTS current_deps) + if(NOT DEFINED Z_VCPKG_MSYS_${dep}_PROVIDED_BY) + list(APPEND missing_deps "${dep}") + endif() + endforeach() + if(missing_deps) + list(JOIN missing_deps " " missing_deps_string) + message(STATUS "! unknown dependencies: ${missing_deps_string}") + vcpkg_list(APPEND missing ${missing_deps}) + endif() + endif() + endif() + # Check the "provides" + if(desc MATCHES "%PROVIDES%;([^%]*)" OR vcpkg_provides) + list(JOIN CMAKE_MATCH_1 " " current_provides) + separate_arguments(current_provides UNIX_COMMAND "${current_provides}") + list(TRANSFORM current_provides REPLACE "[<=>].*" "") + list(REMOVE_ITEM current_provides ${ignored_provides}) + list(JOIN vcpkg_provides " " vcpkg_provides_string) + if(NOT vcpkg_provides STREQUAL current_provides) + list(JOIN vcpkg_provides " " vcpkg_provides_string) + list(JOIN current_provides " " current_provides_string) + message(STATUS "- vcpkg provides: ${vcpkg_provides_string}") + message(STATUS "+ msys2 provides: ${current_provides_string}") + elseif(NOT vcpkg_provides STREQUAL "") + message(STATUS "* provides: ${vcpkg_provides_string}") + endif() + endif() + endforeach() + if(NOT found AND NOT name IN_LIST known_delisted) + vcpkg_list(APPEND vanished "${name}") + get_vcpkg_builddate(vcpkg_builddate "${name}") + age_in_days(vcpkg_age "${vcpkg_builddate}") + pretty_age(vcpkg_age_pretty "${vcpkg_age}") + message(STATUS "- vcpkg: ${vcpkg_url} ${vcpkg_age_pretty}") + message(STATUS "! msys2: no match for ${name}") + + age_in_days(current_age "${now}") + set(age_diff "0") + if(NOT vcpkg_age STREQUAL "" AND NOT current_age STREQUAL "") + math(EXPR age_diff "${current_age} - ${vcpkg_age}") + endif() + if(age_diff GREATER max_age) + vcpkg_list(APPEND critical "${name}") + endif() + endif() + endforeach() + + if(mismatched_deps) + list(JOIN mismatched_deps " " mismatched_deps) + message(WARNING "The following msys2 packages have changed dependencies: ${mismatched_deps}") + endif() + if(missing) + list(SORT missing) + list(REMOVE_DUPLICATES missing) + list(JOIN missing " " missing) + message(WARNING "The following msys2 packages would be needed to update all dependencies: ${missing}") + endif() + if(upgradable) + list(JOIN upgradable " " upgradable) + message(WARNING "The following msys2 packages could be updated: ${upgradable}") + endif() + if(critical) + list(JOIN critical " " critical) + message(SEND_ERROR "The following msys2 packages were build more than 6 months ago and should be updated: ${critical}") + endif() + if(vanished) + list(JOIN vanished " " vanished) + message(SEND_ERROR "The following msys2 packages are no longer in the database: ${vanished}") + endif() + message(STATUS "*** Analyzing packages in '${script}' done") +endfunction() + +message(STATUS "*** Downloading current msys2 package lists") +string(TIMESTAMP stamp "%Y-%m-%d" UTC) +foreach(repo IN ITEMS msys mingw32 mingw64 clangarm64) + string(REPLACE "/" "-" local_file "msys2-${stamp}-${repo}.files") + set(archive "${DOWNLOADS}/${local_file}") + vcpkg_download_distfile(repo_files_archive + URLS "${${repo}_repo_url}/${repo}.files" + FILENAME "${local_file}" + SKIP_SHA512 + ) + vcpkg_extract_source_archive(repo_files + ARCHIVE "${repo_files_archive}" + NO_REMOVE_ONE_LEVEL + ) + set(${repo}_repo_files "${repo_files}") +endforeach() +message(STATUS "*** Downloading current msys2 package lists done") + +set(Z_VCPKG_MSYS_PACKAGES_RESOLVED "" CACHE INTERNAL "") +vcpkg_acquire_msys(msys_root Z_ALL_PACKAGES) +analyze_package_list(Z_VCPKG_MSYS_PACKAGES_RESOLVED "vcpkg_acquire_msys.cmake") +set(known_packages "${Z_VCPKG_MSYS_PACKAGES_RESOLVED}") + +set(Z_VCPKG_MSYS_PACKAGES_RESOLVED "" CACHE INTERNAL "") +vcpkg_find_acquire_program(PKGCONFIG) +vcpkg_acquire_msys(msys_root + NO_DEFAULT_PACKAGES + Z_DECLARE_EXTRA_PACKAGES_COMMAND "z_vcpkg_find_acquire_pkgconfig_msys_declare_packages" + PACKAGES + mingw-w64-clang-aarch64-pkgconf + mingw-w64-x86_64-pkgconf + mingw-w64-i686-pkgconf +) +analyze_package_list(Z_VCPKG_MSYS_PACKAGES_RESOLVED "vcpkg_find_acquire_program(PKGCONFIG).cmake") + +set(CMAKE_Fortran_COMPILER "") +if(NOT VCPKG_TARGET_IS_WINDOWS) + set(CMAKE_Fortran_COMPILER "true") +endif() +set(Z_VCPKG_MSYS_PACKAGES_RESOLVED "" CACHE INTERNAL "") +include("${SCRIPTS}/cmake/vcpkg_find_fortran.cmake") +vcpkg_find_fortran(FORTRAN) +vcpkg_acquire_msys(msys_root + NO_DEFAULT_PACKAGES + Z_DECLARE_EXTRA_PACKAGES_COMMAND "z_vcpkg_find_fortran_msys_declare_packages" + PACKAGES + mingw-w64-x86_64-gcc-fortran + mingw-w64-i686-gcc-fortran +) +analyze_package_list(Z_VCPKG_MSYS_PACKAGES_RESOLVED "vcpkg_find_fortran.cmake") diff --git a/scripts/test_ports/vcpkg-ci-msys2/vcpkg.json b/scripts/test_ports/vcpkg-ci-msys2/vcpkg.json new file mode 100644 index 00000000000000..039d3df819996a --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-msys2/vcpkg.json @@ -0,0 +1,12 @@ +{ + "name": "vcpkg-ci-msys2", + "version": "1", + "description": "Test vcpkg msys2 freshness", + "license": "MIT", + "supports": "(windows | mingw) & native", + "features": { + "update-all": { + "description": "Update all outdated packages in vcpkg_acquire_msys.cmake" + } + } +} diff --git a/scripts/test_ports/vcpkg-ci-nanobind/portfile.cmake b/scripts/test_ports/vcpkg-ci-nanobind/portfile.cmake new file mode 100644 index 00000000000000..c8d43663ddbb32 --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-nanobind/portfile.cmake @@ -0,0 +1,25 @@ +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) + +# This test does not support cross-compilation due to nanobind's usage of the +# Python interpreter to figure out Python module suffix. +if(VCPKG_CROSSCOMPILING) + message(WARNING "Skipping vcpkg-ci-nanobind because it is not expected to work when cross-compiling") + return() +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO wjakob/nanobind_example + REF 4b5c9bd484dec77e085a188dcefc536aed69aae9 + SHA512 ec7eeb25b5c5ee2e8bbcc48e78719dc6e5211cf54794dd3c370ad3e8d685fbc8b79435890da3b9481656169efaa87b77e3ea55ce864efd670dd9ea0600dee77d + HEAD_REF master +) + +# This is needed to correctly build/link against a debug build of Python on +# Windows +string(APPEND VCPKG_CXX_FLAGS_DEBUG " -DPy_DEBUG") +string(APPEND VCPKG_C_FLAGS_DEBUG " -DPy_DEBUG") + +vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}") + +vcpkg_cmake_build() diff --git a/scripts/test_ports/vcpkg-ci-nanobind/vcpkg.json b/scripts/test_ports/vcpkg-ci-nanobind/vcpkg.json new file mode 100644 index 00000000000000..947690d3faab7e --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-nanobind/vcpkg.json @@ -0,0 +1,14 @@ +{ + "name": "vcpkg-ci-nanobind", + "version": "0.0.1", + "description": "A nanobind example project", + "homepage": "https://nanobind.readthedocs.io/en/latest/", + "license": "BSD-3-Clause", + "dependencies": [ + "nanobind", + { + "name": "vcpkg-cmake", + "host": true + } + ] +} diff --git a/scripts/test_ports/vcpkg-ci-netgen/portfile.cmake b/scripts/test_ports/vcpkg-ci-netgen/portfile.cmake new file mode 100644 index 00000000000000..065116c276adcf --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-netgen/portfile.cmake @@ -0,0 +1 @@ +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) diff --git a/scripts/test_ports/vcpkg-ci-netgen/vcpkg.json b/scripts/test_ports/vcpkg-ci-netgen/vcpkg.json new file mode 100644 index 00000000000000..a532ee7eb9662e --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-netgen/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "vcpkg-ci-netgen", + "version-string": "ci", + "description": "Force non-default features of netgen within vcpkg CI", + "homepage": "https://github.com/microsoft/vcpkg", + "dependencies": [ + { + "name": "netgen", + "features": [ + "cgns", + "jpeg", + "mpeg", + "occ" + ] + } + ] +} diff --git a/scripts/test_ports/vcpkg-ci-opencv/CONTROL b/scripts/test_ports/vcpkg-ci-opencv/CONTROL deleted file mode 100644 index bdf5f4251f3b2f..00000000000000 --- a/scripts/test_ports/vcpkg-ci-opencv/CONTROL +++ /dev/null @@ -1,6 +0,0 @@ -Source: vcpkg-ci-opencv -Version: 1 -Port-Version: 3 -Homepage: https://github.com/microsoft/vcpkg -Description: Port to force features of certain ports within CI -Build-Depends: opencv[cuda,cudnn,halide,ovis,tbb](windows&x64&!static&!uwp), opencv[gdcm,ipp,jasper,lapack,openexr,opengl,openmp,qt,sfm,vtk](!uwp&!(windows&(arm|arm64))), opencv[core,nonfree,ade,contrib,dnn,eigen,ffmpeg,jpeg,png,quirc,tiff,webp] diff --git a/scripts/test_ports/vcpkg-ci-opencv/vcpkg.json b/scripts/test_ports/vcpkg-ci-opencv/vcpkg.json new file mode 100644 index 00000000000000..43e744c8578e38 --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-opencv/vcpkg.json @@ -0,0 +1,164 @@ +{ + "name": "vcpkg-ci-opencv", + "version-string": "1", + "port-version": 6, + "description": "Port to force features of certain ports within CI", + "homepage": "https://github.com/microsoft/vcpkg", + "dependencies": [ + { + "name": "opencv2", + "default-features": false, + "features": [ + "eigen", + "jpeg", + "png", + "tiff" + ], + "platform": "!uwp & !(arm & windows) & !android" + }, + { + "name": "opencv2", + "default-features": false, + "features": [ + "jasper", + "opengl", + "qt" + ], + "platform": "!uwp & !android & !(windows & (arm | arm64))" + }, + { + "name": "opencv3", + "default-features": false, + "features": [ + "eigen", + "jpeg", + "nonfree", + "png", + "quirc", + "tiff", + "webp" + ] + }, + { + "name": "opencv3", + "default-features": false, + "features": [ + "openmp" + ], + "platform": "!osx" + }, + { + "name": "opencv3", + "default-features": false, + "features": [ + "dnn" + ], + "platform": "!android" + }, + { + "name": "opencv3", + "default-features": false, + "features": [ + "gstreamer", + "ovis", + "tbb" + ], + "platform": "windows & x64 & !static & !uwp" + }, + { + "name": "opencv3", + "default-features": false, + "features": [ + "contrib", + "freetype", + "gdcm", + "ipp", + "jasper", + "opengl", + "qt", + "sfm", + "vtk" + ], + "platform": "!uwp & !android & !(windows & (arm | arm64)) & !(osx & arm64)" + }, + { + "name": "opencv", + "default-features": false, + "features": [ + "ade", + "calib3d", + "contrib", + "eigen", + "ffmpeg", + "fs", + "highgui", + "intrinsics", + "jpeg", + "nonfree", + "png", + "quirc", + "thread", + "tiff", + "webp" + ] + }, + { + "name": "opencv", + "default-features": false, + "features": [ + "openmp" + ], + "platform": "!osx" + }, + { + "name": "opencv", + "default-features": false, + "features": [ + "dnn" + ], + "platform": "!android" + }, + { + "name": "opencv", + "default-features": false, + "features": [ + "gapi", + "python" + ], + "platform": "!uwp & !(windows & static) & !android" + }, + { + "name": "opencv", + "default-features": false, + "features": [ + "cuda", + "cudnn", + "dnn-cuda", + "dshow", + "gstreamer", + "opencl", + "ovis", + "tbb", + "win32ui" + ], + "platform": "windows & x64 & !static & !uwp" + }, + { + "name": "opencv", + "default-features": false, + "features": [ + "freetype", + "gdcm", + "ipp", + "jasper", + "opengl", + "openjpeg", + "qt", + "sfm", + "vtk", + "vulkan" + ], + "platform": "!uwp & !android & !(windows & (arm | arm64)) & !(osx & arm64)" + } + ] +} diff --git a/scripts/test_ports/vcpkg-ci-openimageio/portfile.cmake b/scripts/test_ports/vcpkg-ci-openimageio/portfile.cmake new file mode 100644 index 00000000000000..bc785962c8d5de --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-openimageio/portfile.cmake @@ -0,0 +1,4 @@ +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) + +vcpkg_cmake_configure(SOURCE_PATH "${CURRENT_PORT_DIR}/project") +vcpkg_cmake_build() diff --git a/scripts/test_ports/vcpkg-ci-openimageio/project/CMakeLists.txt b/scripts/test_ports/vcpkg-ci-openimageio/project/CMakeLists.txt new file mode 100644 index 00000000000000..09db055fa77a7c --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-openimageio/project/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.7) +project(vcpkg-ci-openimageio CXX) + +add_executable(main main.cpp) + +find_package(OpenImageIO CONFIG REQUIRED) +target_link_libraries(main PRIVATE OpenImageIO::OpenImageIO) diff --git a/scripts/test_ports/vcpkg-ci-openimageio/project/main.cpp b/scripts/test_ports/vcpkg-ci-openimageio/project/main.cpp new file mode 100644 index 00000000000000..c0f900e7703361 --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-openimageio/project/main.cpp @@ -0,0 +1,7 @@ +#include + +int main(int, char**) +{ + auto inp = OIIO::ImageInput::open("none"); + return inp ? 0 : 1; +} diff --git a/scripts/test_ports/vcpkg-ci-openimageio/vcpkg.json b/scripts/test_ports/vcpkg-ci-openimageio/vcpkg.json new file mode 100644 index 00000000000000..d67f29528fb3de --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-openimageio/vcpkg.json @@ -0,0 +1,46 @@ +{ + "name": "vcpkg-ci-openimageio", + "version-string": "ci", + "port-version": 1, + "description": "OpenImageIO testing within CI.", + "license": "MIT", + "dependencies": [ + { + "name": "openimageio", + "default-features": false + }, + { + "name": "vcpkg-cmake", + "host": true + } + ], + "default-features": [ + "openimageio-features" + ], + "features": { + "openimageio-features": { + "description": "Enable OpenImageIO features", + "dependencies": [ + { + "name": "openimageio", + "default-features": false, + "features": [ + "ffmpeg", + "freetype", + "gif", + "libraw", + "opencolorio", + "opencv", + "openjpeg", + { + "name": "pybind11", + "platform": "!(windows & static) & !uwp & !mingw" + }, + "tools", + "webp" + ] + } + ] + } + } +} diff --git a/scripts/test_ports/vcpkg-ci-openvpn3/portfile.cmake b/scripts/test_ports/vcpkg-ci-openvpn3/portfile.cmake new file mode 100644 index 00000000000000..bc785962c8d5de --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-openvpn3/portfile.cmake @@ -0,0 +1,4 @@ +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) + +vcpkg_cmake_configure(SOURCE_PATH "${CURRENT_PORT_DIR}/project") +vcpkg_cmake_build() diff --git a/scripts/test_ports/vcpkg-ci-openvpn3/project/CMakeLists.txt b/scripts/test_ports/vcpkg-ci-openvpn3/project/CMakeLists.txt new file mode 100644 index 00000000000000..4d6652973e2150 --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-openvpn3/project/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.7) +project(openvpn3-test CXX) + +add_executable(main main.cpp) + +find_package(unofficial-openvpn3 CONFIG REQUIRED) +target_link_libraries(main PRIVATE unofficial::openvpn3::ovpncli) diff --git a/scripts/test_ports/vcpkg-ci-openvpn3/project/main.cpp b/scripts/test_ports/vcpkg-ci-openvpn3/project/main.cpp new file mode 100644 index 00000000000000..ba1584aa5ff7f3 --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-openvpn3/project/main.cpp @@ -0,0 +1,21 @@ +#include + +using namespace openvpn::ClientAPI; + +// Cf. https://github.com/OpenVPN/openvpn3/blob/master/README.rst#openvpn-3-client-core +class Client : public OpenVPNClient +{ +public: + void acc_event(const AppCustomControlMessageEvent &) override {} + void event(const Event&) override {} + void external_pki_cert_request(ExternalPKICertRequest &) override {} + void external_pki_sign_request(ExternalPKISignRequest &) override {} + void log(const LogInfo&) override {} + bool pause_on_connection_timeout() override { return false; } +}; + +int main() +{ + Client c; + return OpenVPNClient::stats_n(); +} diff --git a/scripts/test_ports/vcpkg-ci-openvpn3/vcpkg.json b/scripts/test_ports/vcpkg-ci-openvpn3/vcpkg.json new file mode 100644 index 00000000000000..81c8f5f07b4027 --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-openvpn3/vcpkg.json @@ -0,0 +1,12 @@ +{ + "name": "vcpkg-ci-openvpn3", + "version-string": "ci", + "description": "Validates openvpn3", + "dependencies": [ + "openvpn3", + { + "name": "vcpkg-cmake", + "host": true + } + ] +} diff --git a/scripts/test_ports/vcpkg-ci-paraview/CONTROL b/scripts/test_ports/vcpkg-ci-paraview/CONTROL deleted file mode 100644 index 1377508422d025..00000000000000 --- a/scripts/test_ports/vcpkg-ci-paraview/CONTROL +++ /dev/null @@ -1,6 +0,0 @@ -Source: vcpkg-ci-paraview -Version: 1 -Port-Version: 2 -Homepage: https://github.com/microsoft/vcpkg -Description: Port to force features of certain ports within CI -Build-Depends: paraview[core,vtkm,tools](!(x86&windows)), paraview[core,tools](x86&windows) diff --git a/scripts/test_ports/vcpkg-ci-paraview/vcpkg.json b/scripts/test_ports/vcpkg-ci-paraview/vcpkg.json new file mode 100644 index 00000000000000..a455c8b00b4136 --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-paraview/vcpkg.json @@ -0,0 +1,52 @@ +{ + "name": "vcpkg-ci-paraview", + "version-date": "2022-12-01", + "description": "Port to force features of certain ports within CI", + "homepage": "https://github.com/microsoft/vcpkg", + "license": "MIT", + "dependencies": [ + { + "name": "paraview", + "default-features": false, + "features": [ + "tools" + ], + "platform": "x86 & windows" + }, + { + "name": "paraview", + "default-features": false, + "features": [ + "tools", + "vtkm" + ], + "platform": "!(x86 & windows)" + }, + { + "name": "paraview", + "default-features": false, + "features": [ + "mpi", + "python" + ], + "platform": "!(windows & static) & !x86" + }, + { + "name": "vtk", + "default-features": false, + "features": [ + "gdal", + "utf8" + ], + "platform": "!x86" + }, + { + "name": "vtk", + "default-features": false, + "features": [ + "openvr" + ], + "platform": "!osx & !(windows & staticcrt)" + } + ] +} diff --git a/scripts/test_ports/vcpkg-ci-rest-rpc/portfile.cmake b/scripts/test_ports/vcpkg-ci-rest-rpc/portfile.cmake new file mode 100644 index 00000000000000..bc785962c8d5de --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-rest-rpc/portfile.cmake @@ -0,0 +1,4 @@ +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) + +vcpkg_cmake_configure(SOURCE_PATH "${CURRENT_PORT_DIR}/project") +vcpkg_cmake_build() diff --git a/scripts/test_ports/vcpkg-ci-rest-rpc/project/CMakeLists.txt b/scripts/test_ports/vcpkg-ci-rest-rpc/project/CMakeLists.txt new file mode 100644 index 00000000000000..13a267889149c0 --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-rest-rpc/project/CMakeLists.txt @@ -0,0 +1,11 @@ +cmake_minimum_required(VERSION 3.7) +project(soci-test CXX) + +if(APPLE) + set(CMAKE_CXX_STANDARD 11) +endif() + +add_executable(main main.cpp) + +find_package(unofficial-rest-rpc CONFIG REQUIRED) +target_link_libraries(main unofficial::rest-rpc::rest-rpc) diff --git a/scripts/test_ports/vcpkg-ci-rest-rpc/project/main.cpp b/scripts/test_ports/vcpkg-ci-rest-rpc/project/main.cpp new file mode 100644 index 00000000000000..4165c75512611a --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-rest-rpc/project/main.cpp @@ -0,0 +1,9 @@ +#include + +int main() +{ + rest_rpc::rpc_client client("127.0.0.1", 8080); + client.connect(); + client.run(); + return 0; +} diff --git a/scripts/test_ports/vcpkg-ci-rest-rpc/vcpkg.json b/scripts/test_ports/vcpkg-ci-rest-rpc/vcpkg.json new file mode 100644 index 00000000000000..814d21de306839 --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-rest-rpc/vcpkg.json @@ -0,0 +1,12 @@ +{ + "name": "vcpkg-ci-rest-rpc", + "version-string": "ci", + "description": "Validates rest-rpc", + "dependencies": [ + "rest-rpc", + { + "name": "vcpkg-cmake", + "host": true + } + ] +} diff --git a/scripts/test_ports/vcpkg-ci-skia/portfile.cmake b/scripts/test_ports/vcpkg-ci-skia/portfile.cmake new file mode 100644 index 00000000000000..b9d37ddd6cdf06 --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-skia/portfile.cmake @@ -0,0 +1,6 @@ +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) + +vcpkg_cmake_configure( + SOURCE_PATH "${CURRENT_INSTALLED_DIR}/share/skia/example" +) +vcpkg_cmake_build() diff --git a/scripts/test_ports/vcpkg-ci-skia/vcpkg.json b/scripts/test_ports/vcpkg-ci-skia/vcpkg.json new file mode 100644 index 00000000000000..f9f03367a8b212 --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-skia/vcpkg.json @@ -0,0 +1,48 @@ +{ + "name": "vcpkg-ci-skia", + "version-date": "2023-04-03", + "description": "Builds an app in order to validate the skia port.", + "license": "BSD-3-Clause", + "dependencies": [ + { + "name": "skia", + "default-features": false + }, + { + "name": "skia", + "default-features": false, + "features": [ + "metal" + ], + "platform": "osx" + }, + { + "name": "skia", + "default-features": false, + "features": [ + "graphite" + ], + "platform": "windows & !uwp" + }, + { + "name": "skia", + "default-features": false, + "features": [ + "dawn" + ], + "platform": "linux | (windows & !uwp)" + }, + { + "name": "skia", + "default-features": false, + "features": [ + "vulkan" + ], + "platform": "linux | osx | (windows & !uwp)" + }, + { + "name": "vcpkg-cmake", + "host": true + } + ] +} diff --git a/scripts/test_ports/vcpkg-ci-soci/portfile.cmake b/scripts/test_ports/vcpkg-ci-soci/portfile.cmake new file mode 100644 index 00000000000000..bc785962c8d5de --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-soci/portfile.cmake @@ -0,0 +1,4 @@ +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) + +vcpkg_cmake_configure(SOURCE_PATH "${CURRENT_PORT_DIR}/project") +vcpkg_cmake_build() diff --git a/scripts/test_ports/vcpkg-ci-soci/project/CMakeLists.txt b/scripts/test_ports/vcpkg-ci-soci/project/CMakeLists.txt new file mode 100644 index 00000000000000..31535c1b8f0eed --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-soci/project/CMakeLists.txt @@ -0,0 +1,13 @@ +cmake_minimum_required(VERSION 3.7) +project(soci-test CXX) + +if(APPLE) + set(CMAKE_CXX_STANDARD 11) +endif() + +add_executable(main main.cpp) + +find_package(SOCI CONFIG REQUIRED) +target_link_libraries(main PRIVATE $,SOCI::soci_mysql,SOCI::soci_mysql_static>) +target_link_libraries(main PRIVATE $,SOCI::soci_postgresql,SOCI::soci_postgresql_static>) +target_link_libraries(main PRIVATE $,SOCI::soci_sqlite3,SOCI::soci_sqlite3_static>) diff --git a/scripts/test_ports/vcpkg-ci-soci/project/main.cpp b/scripts/test_ports/vcpkg-ci-soci/project/main.cpp new file mode 100644 index 00000000000000..86377acc547a1d --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-soci/project/main.cpp @@ -0,0 +1,11 @@ +#include +#include +#include +#include + +int main() +{ + soci::session mysql_db(soci::mysql, "test:mysql"); + soci::session pgsql_db(soci::postgresql, "test:postgresql"); + soci::session sqlite3_db(soci::sqlite3, "test.db"); +} diff --git a/scripts/test_ports/vcpkg-ci-soci/vcpkg.json b/scripts/test_ports/vcpkg-ci-soci/vcpkg.json new file mode 100644 index 00000000000000..8ff0c2916013b0 --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-soci/vcpkg.json @@ -0,0 +1,20 @@ +{ + "name": "vcpkg-ci-soci", + "version-string": "ci", + "description": "Validates soci", + "supports": "x64 & (linux | osx | windows) & !uwp", + "dependencies": [ + { + "name": "soci", + "features": [ + "mysql", + "postgresql", + "sqlite3" + ] + }, + { + "name": "vcpkg-cmake", + "host": true + } + ] +} diff --git a/scripts/test_ports/vcpkg-ci-sqlpp11/portfile.cmake b/scripts/test_ports/vcpkg-ci-sqlpp11/portfile.cmake new file mode 100644 index 00000000000000..065116c276adcf --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-sqlpp11/portfile.cmake @@ -0,0 +1 @@ +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) diff --git a/scripts/test_ports/vcpkg-ci-sqlpp11/vcpkg.json b/scripts/test_ports/vcpkg-ci-sqlpp11/vcpkg.json new file mode 100644 index 00000000000000..777022e46dc55b --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-sqlpp11/vcpkg.json @@ -0,0 +1,36 @@ +{ + "name": "vcpkg-ci-sqlpp11", + "version-string": "ci", + "description": "Port to force features of sqlpp11 within CI", + "homepage": "https://github.com/microsoft/vcpkg", + "license": "MIT", + "dependencies": [ + { + "name": "sqlpp11", + "features": [ + "sqlite3" + ] + }, + { + "name": "sqlpp11", + "features": [ + "postgresql" + ], + "platform": "!uwp" + }, + { + "name": "sqlpp11", + "features": [ + "mariadb" + ], + "platform": "android | (x86 & windows)" + }, + { + "name": "sqlpp11", + "features": [ + "mysql" + ], + "platform": "!android & !uwp & !(x86 & windows)" + } + ] +} diff --git a/scripts/test_ports/vcpkg-ci-vxl/portfile.cmake b/scripts/test_ports/vcpkg-ci-vxl/portfile.cmake new file mode 100644 index 00000000000000..8700efdfd076be --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-vxl/portfile.cmake @@ -0,0 +1,8 @@ +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) + +vcpkg_cmake_configure( + SOURCE_PATH "${CURRENT_PORT_DIR}/project" + OPTIONS_DEBUG + -DBUILD_TYPE=debug +) +vcpkg_cmake_build() diff --git a/scripts/test_ports/vcpkg-ci-vxl/project/CMakeLists.txt b/scripts/test_ports/vcpkg-ci-vxl/project/CMakeLists.txt new file mode 100644 index 00000000000000..2ac14a1c508563 --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-vxl/project/CMakeLists.txt @@ -0,0 +1,33 @@ +cmake_minimum_required(VERSION 3.7) +project(vnl-test CXX) + +if(APPLE) + set(CMAKE_CXX_STANDARD "11") +endif() + +find_package(VXL CONFIG REQUIRED) + +# The use file doesn't only set variables, +# but also directly calls include_directories(). +# (Calling link_directories() must remain disabled in vcpkg.) +# The imported targets don't carry the main include directories! +include("${VXL_CMAKE_DIR}/UseVXL.cmake") + +# Catch wrong link directories. +find_library(vcpkg_ci_vnl_library NAMES vnl REQUIRED) +cmake_path(GET vcpkg_ci_vnl_library PARENT_PATH vcpkg_ci_vnl_library_dir) +if(BUILD_TYPE STREQUAL "debug" AND NOT vcpkg_ci_vnl_library_dir MATCHES "/debug/lib\$") + message(SEND_ERROR "vil library directory is wrong." + "\n Expected path: '${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/lib'" + "\n Actual path: '${vcpkg_ci_vnl_library_dir}'" + ) +endif() + +add_executable(main main.cpp) +target_link_libraries(main PRIVATE + $ # required. Needs image format deps + $ # test only: wants netlib + $ # test only: wants polyclipping + $ # test only: wants image formats +) + diff --git a/scripts/test_ports/vcpkg-ci-vxl/project/main.cpp b/scripts/test_ports/vcpkg-ci-vxl/project/main.cpp new file mode 100644 index 00000000000000..681dc8bcf785b4 --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-vxl/project/main.cpp @@ -0,0 +1,10 @@ +//#include +#include +#include +#include + +int main() +{ + vil_image_view > img = vil_load("foo.tiff"); + return 0; +} \ No newline at end of file diff --git a/scripts/test_ports/vcpkg-ci-vxl/vcpkg.json b/scripts/test_ports/vcpkg-ci-vxl/vcpkg.json new file mode 100644 index 00000000000000..0c0986e6b75093 --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-vxl/vcpkg.json @@ -0,0 +1,19 @@ +{ + "name": "vcpkg-ci-vxl", + "version-string": "ci", + "description": "Port to force features of vxl within CI", + "homepage": "https://github.com/microsoft/vcpkg", + "license": "MIT", + "dependencies": [ + { + "name": "vxl", + "features": [ + "core-imaging" + ] + }, + { + "name": "vcpkg-cmake", + "host": true + } + ] +} diff --git a/scripts/test_ports/vcpkg-ci-wxwidgets/portfile.cmake b/scripts/test_ports/vcpkg-ci-wxwidgets/portfile.cmake new file mode 100644 index 00000000000000..d301fa74a15038 --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-wxwidgets/portfile.cmake @@ -0,0 +1,34 @@ +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) + +vcpkg_check_features(OUT_FEATURE_OPTIONS OPTIONS + FEATURES + wxrc USE_WXRC +) + +vcpkg_cmake_configure( + SOURCE_PATH "${CURRENT_INSTALLED_DIR}/share/wxwidgets/example" + DISABLE_PARALLEL_CONFIGURE # Need separate dbg log for following test + OPTIONS + ${OPTIONS} + -DCMAKE_CONFIG_RUN=1 + "-DPRINT_VARS=CMAKE_CONFIG_RUN;wxWidgets_LIBRARIES" +) +vcpkg_cmake_build() + +if(NOT VCPKG_BUILD_TYPE) + # Check that debug libs are still used after re-configuration, #24489 + set(config_log "config-${TARGET_TRIPLET}-dbg") + vcpkg_execute_required_process( + COMMAND "${CMAKE_COMMAND}" -DCMAKE_CONFIG_RUN=2 . + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg" + LOGNAME "${config_log}-2" + ) + file(STRINGS "${CURRENT_BUILDTREES_DIR}/${config_log}-out.log" expected REGEX "wxWidgets_LIBRARIES:=") + file(STRINGS "${CURRENT_BUILDTREES_DIR}/${config_log}-2-out.log" actual REGEX "wxWidgets_LIBRARIES:=") + if(NOT actual STREQUAL expected) + message(FATAL_ERROR "wxWidgets libraries changed after CMake re-run\n" + "actual:\n${actual}\n" + "expected:\n ${expected}\n" + ) + endif() +endif() diff --git a/scripts/test_ports/vcpkg-ci-wxwidgets/vcpkg.json b/scripts/test_ports/vcpkg-ci-wxwidgets/vcpkg.json new file mode 100644 index 00000000000000..989d47a579027a --- /dev/null +++ b/scripts/test_ports/vcpkg-ci-wxwidgets/vcpkg.json @@ -0,0 +1,39 @@ +{ + "name": "vcpkg-ci-wxwidgets", + "version-date": "2022-04-05", + "description": "Builds a GUI app in order to validate the wxwidgets port.", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "wxwidgets", + "default-features": false, + "features": [ + "example" + ] + } + ], + "default-features": [ + "default-features" + ], + "features": { + "default-features": { + "description": "Default features depending on system", + "dependencies": [ + { + "name": "vcpkg-ci-wxwidgets", + "default-features": false, + "features": [ + "wxrc" + ], + "platform": "native" + } + ] + }, + "wxrc": { + "description": "Test wxrc" + } + } +} diff --git a/scripts/test_ports/vcpkg-find-acquire-program/CONTROL b/scripts/test_ports/vcpkg-find-acquire-program/CONTROL deleted file mode 100644 index 6f248be58aff52..00000000000000 --- a/scripts/test_ports/vcpkg-find-acquire-program/CONTROL +++ /dev/null @@ -1,4 +0,0 @@ -Source: vcpkg-find-acquire-program -Version: 0 -Description: Test port to exercise vcpkg_find_acquire_program -Supports: windows diff --git a/scripts/test_ports/vcpkg-find-acquire-program/portfile.cmake b/scripts/test_ports/vcpkg-find-acquire-program/portfile.cmake index 88a4856c5f5e1c..084229301a2ac0 100644 --- a/scripts/test_ports/vcpkg-find-acquire-program/portfile.cmake +++ b/scripts/test_ports/vcpkg-find-acquire-program/portfile.cmake @@ -1,21 +1,68 @@ -set(VCPKG_POLICY_EMPTY_PACKAGE enabled) - -if(CMAKE_HOST_WIN32) - foreach(PROG GO JOM NASM PERL YASM GIT PYTHON3 PYTHON2 RUBY 7Z NUGET FLEX BISON GPERF GASPREPROCESSOR DARK SCONS SWIG DOXYGEN ARIA2 PKGCONFIG) - vcpkg_find_acquire_program(${PROG}) - foreach(SUBPROG IN LISTS ${PROG}) - if(NOT EXISTS "${SUBPROG}") - message(FATAL_ERROR "Program ${SUBPROG} did not exist.") - endif() - endforeach() - endforeach() -endif() - -foreach(PROG GN NINJA MESON BAZEL) - vcpkg_find_acquire_program(${PROG}) - foreach(SUBPROG IN LISTS ${PROG}) - if(NOT EXISTS "${SUBPROG}") - message(FATAL_ERROR "Program ${SUBPROG} did not exist.") - endif() - endforeach() -endforeach() +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) + +# For each vcpkg_find_acquire_program(NAME).cmake script, +# there must be a literal call to vcpkg_find_acquire_program(NAME).cmake + +set(variables BAZEL BISON FLEX GIT GN NINJA PERL PKGCONFIG PYTHON3 SCONS YASM) +vcpkg_find_acquire_program(BAZEL) +vcpkg_find_acquire_program(BISON) +vcpkg_find_acquire_program(FLEX) +vcpkg_find_acquire_program(GIT) +vcpkg_find_acquire_program(GN) +vcpkg_find_acquire_program(NINJA) +vcpkg_find_acquire_program(PERL) +vcpkg_find_acquire_program(PKGCONFIG) +vcpkg_find_acquire_program(PYTHON3) +vcpkg_find_acquire_program(SCONS) +vcpkg_find_acquire_program(YASM) + +if(NOT VCPKG_TARGET_IS_OSX) + # System python too old (3.9; meson needs 3.10) + list(APPEND variables MESON) + vcpkg_find_acquire_program(MESON) +endif() + +if(VCPKG_HOST_IS_LINUX) + list(APPEND variables PATCHELF) + vcpkg_find_acquire_program(PATCHELF) +endif() + +if(VCPKG_HOST_IS_WINDOWS) + # The version-agnostic tool dir may already exist. + # Simulate/test with NASM. + file(REMOVE_RECURSE "${DOWNLOADS}/tools/nasm") + file(MAKE_DIRECTORY "${DOWNLOADS}/tools/nasm") + + list(APPEND variables 7Z ARIA2 CLANG DARK DOXYGEN GASPREPROCESSOR GO GPERF JOM NASM NUGET PYTHON2 RUBY SWIG) + vcpkg_find_acquire_program(7Z) + vcpkg_find_acquire_program(ARIA2) + vcpkg_find_acquire_program(CLANG) + vcpkg_find_acquire_program(DARK) + vcpkg_find_acquire_program(DOXYGEN) + vcpkg_find_acquire_program(GASPREPROCESSOR) + vcpkg_find_acquire_program(GO) + vcpkg_find_acquire_program(GPERF) + vcpkg_find_acquire_program(JOM) + vcpkg_find_acquire_program(NASM) + vcpkg_find_acquire_program(NUGET) + vcpkg_find_acquire_program(PYTHON2) + vcpkg_find_acquire_program(RUBY) + vcpkg_find_acquire_program(SWIG) +endif() + +set(missing "") +foreach(variable IN LISTS variables) + set(var_contents "${${variable}}") + list(POP_BACK var_contents program) + if(NOT EXISTS "${program}") + list(APPEND missing "${variable}: ${program}") + endif() + list(POP_FRONT var_contents interpreter) + if(interpreter AND NOT EXISTS "${interpreter}") + list(APPEND missing "${variable} (interpreter): ${interpreter}") + endif() +endforeach() +if(missing) + list(JOIN missing "\n " missing) + message(FATAL_ERROR "The following programs do not exist:\n ${missing}") +endif() diff --git a/scripts/test_ports/vcpkg-find-acquire-program/vcpkg.json b/scripts/test_ports/vcpkg-find-acquire-program/vcpkg.json new file mode 100644 index 00000000000000..0b622ebbbf5470 --- /dev/null +++ b/scripts/test_ports/vcpkg-find-acquire-program/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "vcpkg-find-acquire-program", + "version-string": "0", + "port-version": 2, + "description": "Test port to exercise vcpkg_find_acquire_program", + "supports": "native" +} diff --git a/scripts/test_ports/vcpkg-fix-rpath/portfile.cmake b/scripts/test_ports/vcpkg-fix-rpath/portfile.cmake new file mode 100644 index 00000000000000..532c247d881a29 --- /dev/null +++ b/scripts/test_ports/vcpkg-fix-rpath/portfile.cmake @@ -0,0 +1,122 @@ +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) + +# Test for empty string +set(elf_dir "${CURRENT_PACKAGES_DIR}/lib") +set(test_rpath "") +set(expected "$ORIGIN") + +z_vcpkg_calculate_corrected_rpath( + ELF_FILE_DIR "${elf_dir}" + ORG_RPATH "${test_rpath}" + OUT_NEW_RPATH_VAR new_rpath +) + +if(NOT "x${new_rpath}x" STREQUAL "x${expected}x") + message(FATAL_ERROR "--- Calculated rpath does not agree with expected rpath: '${new_rpath}' != '${expected}' ") +else() + message(STATUS "--- Calculated rpath agrees with expected rpath: '${new_rpath}' ") +endif() + +# Test for empty string in the tools directory +set(elf_dir "${CURRENT_PACKAGES_DIR}/tools/hdf5") +set(test_rpath "") +set(expected "$ORIGIN:$ORIGIN/../../lib") + +z_vcpkg_calculate_corrected_rpath( + ELF_FILE_DIR "${elf_dir}" + ORG_RPATH "${test_rpath}" + OUT_NEW_RPATH_VAR new_rpath +) + +if(NOT "x${new_rpath}x" STREQUAL "x${expected}x") + message(FATAL_ERROR "--- Calculated rpath does not agree with expected rpath: '${new_rpath}' != '${expected}' ") +else() + message(STATUS "--- Calculated rpath agrees with expected rpath: '${new_rpath}' ") +endif() + +# Simple replacement and outside path test +set(elf_dir "${CURRENT_PACKAGES_DIR}/lib") +set(test_rpath "${CURRENT_PACKAGES_DIR}/lib:/usr/lib/") +set(expected "$ORIGIN") + +z_vcpkg_calculate_corrected_rpath( + ELF_FILE_DIR "${elf_dir}" + ORG_RPATH "${test_rpath}" + OUT_NEW_RPATH_VAR new_rpath +) + +if(NOT "x${new_rpath}x" STREQUAL "x${expected}x") + message(FATAL_ERROR "--- Calculated rpath does not agree with expected rpath: '${new_rpath}' != '${expected}' ") +else() + message(STATUS "--- Calculated rpath agrees with expected rpath: '${new_rpath}' ") +endif() + +# Simple pkgconfig path and outside path test +set(elf_dir "${CURRENT_PACKAGES_DIR}/lib/") +set(test_rpath "${CURRENT_INSTALLED_DIR}/lib/pkgconfig/../../lib:/usr/lib/") +set(expected "$ORIGIN") + +z_vcpkg_calculate_corrected_rpath( + ELF_FILE_DIR "${elf_dir}" + ORG_RPATH "${test_rpath}" + OUT_NEW_RPATH_VAR new_rpath +) + +if(NOT "x${new_rpath}x" STREQUAL "x${expected}x") + message(FATAL_ERROR "--- Calculated rpath does not agree with expected rpath: '${new_rpath}' != '${expected}' ") +else() + message(STATUS "--- Calculated rpath agrees with expected rpath: '${new_rpath}' ") +endif() + +# elf dir in subdir +set(elf_dir "${CURRENT_PACKAGES_DIR}/lib/somesubdir") +set(test_rpath "${CURRENT_INSTALLED_DIR}/lib/pkgconfig/../../lib:/usr/lib/") +set(expected "$ORIGIN:$ORIGIN/..") + +z_vcpkg_calculate_corrected_rpath( + ELF_FILE_DIR "${elf_dir}" + ORG_RPATH "${test_rpath}" + OUT_NEW_RPATH_VAR new_rpath +) + +if(NOT "x${new_rpath}x" STREQUAL "x${expected}x") + message(FATAL_ERROR "--- Calculated rpath does not agree with expected rpath: '${new_rpath}' != '${expected}' ") +else() + message(STATUS "--- Calculated rpath agrees with expected rpath: '${new_rpath}' ") +endif() + +# Getting more complex +set(elf_dir "${CURRENT_PACKAGES_DIR}/plugins/notlib/extrasubdir") +set(test_rpath "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/../../lib/someotherdir2:${CURRENT_INSTALLED_DIR}/lib/pkgconfig/../../someotherdir1:/usr/lib/") +set(expected "$ORIGIN:$ORIGIN/../../../lib:$ORIGIN/../../../lib/someotherdir2:$ORIGIN/../../../someotherdir1") + +z_vcpkg_calculate_corrected_rpath( + ELF_FILE_DIR "${elf_dir}" + ORG_RPATH "${test_rpath}" + OUT_NEW_RPATH_VAR new_rpath +) + +if(NOT "x${new_rpath}x" STREQUAL "x${expected}x") + message(FATAL_ERROR "--- Calculated rpath does not agree with expected rpath: '${new_rpath}' != '${expected}' ") +else() + message(STATUS "--- Calculated rpath agrees with expected rpath: '${new_rpath}' ") +endif() + + +set(X_VCPKG_RPATH_KEEP_SYSTEM_PATHS ON) +# Simple replacement and outside path test +set(elf_dir "${CURRENT_PACKAGES_DIR}/lib") +set(test_rpath "${CURRENT_PACKAGES_DIR}/lib:/usr/lib/") +set(expected "$ORIGIN:/usr/lib") + +z_vcpkg_calculate_corrected_rpath( + ELF_FILE_DIR "${elf_dir}" + ORG_RPATH "${test_rpath}" + OUT_NEW_RPATH_VAR new_rpath +) + +if(NOT "x${new_rpath}x" STREQUAL "x${expected}x") + message(FATAL_ERROR "--- Calculated rpath does not agree with expected rpath: '${new_rpath}' != '${expected}' ") +else() + message(STATUS "--- Calculated rpath agrees with expected rpath: '${new_rpath}' ") +endif() diff --git a/scripts/test_ports/vcpkg-fix-rpath/vcpkg.json b/scripts/test_ports/vcpkg-fix-rpath/vcpkg.json new file mode 100644 index 00000000000000..c39dc3920311bd --- /dev/null +++ b/scripts/test_ports/vcpkg-fix-rpath/vcpkg.json @@ -0,0 +1,6 @@ +{ + "name": "vcpkg-fix-rpath", + "version-date": "2024-02-10", + "description": "Test port to check the string replacement in z_vcpkg_fixup_rpath", + "supports": "native & linux" +} diff --git a/scripts/test_ports/vcpkg-fixup-macho-rpath/portfile.cmake b/scripts/test_ports/vcpkg-fixup-macho-rpath/portfile.cmake new file mode 100644 index 00000000000000..6754431fadeafe --- /dev/null +++ b/scripts/test_ports/vcpkg-fixup-macho-rpath/portfile.cmake @@ -0,0 +1,65 @@ +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) + +# Test for empty string +set(macho_dir "${CURRENT_PACKAGES_DIR}/lib") +set(test_rpath "") +set(expected "@loader_path") + +z_vcpkg_calculate_corrected_macho_rpath( + MACHO_FILE_DIR "${macho_dir}" + OUT_NEW_RPATH_VAR new_rpath +) + +if(NOT "x${new_rpath}x" STREQUAL "x${expected}x") + message(FATAL_ERROR "--- Calculated rpath does not match expected rpath: '${new_rpath}' != '${expected}' ") +else() + message(STATUS "--- Calculated rpath matches expected rpath: '${new_rpath}' ") +endif() + +# Test for empty string in the tools directory +set(macho_dir "${CURRENT_PACKAGES_DIR}/tools/hdf5") +set(test_rpath "") +set(expected "@loader_path/../../lib") + +z_vcpkg_calculate_corrected_macho_rpath( + MACHO_FILE_DIR "${macho_dir}" + OUT_NEW_RPATH_VAR new_rpath +) + +if(NOT "x${new_rpath}x" STREQUAL "x${expected}x") + message(FATAL_ERROR "--- Calculated rpath does not match expected rpath: '${new_rpath}' != '${expected}' ") +else() + message(STATUS "--- Calculated rpath matches expected rpath: '${new_rpath}' ") +endif() + +# macho dir in subdir +set(macho_dir "${CURRENT_PACKAGES_DIR}/lib/somesubdir") +set(test_rpath "") +set(expected "@loader_path/..") + +z_vcpkg_calculate_corrected_macho_rpath( + MACHO_FILE_DIR "${macho_dir}" + OUT_NEW_RPATH_VAR new_rpath +) + +if(NOT "x${new_rpath}x" STREQUAL "x${expected}x") + message(FATAL_ERROR "--- Calculated rpath for '${macho_dir}' does not match expected rpath: '${new_rpath}' != '${expected}' ") +else() + message(STATUS "--- Calculated rpath matches expected rpath: '${new_rpath}' ") +endif() + +# Getting more complex +set(macho_dir "${CURRENT_PACKAGES_DIR}/plugins/notlib/extrasubdir") +set(test_rpath "") +set(expected "@loader_path/../../../lib") + +z_vcpkg_calculate_corrected_macho_rpath( + MACHO_FILE_DIR "${macho_dir}" + OUT_NEW_RPATH_VAR new_rpath +) + +if(NOT "x${new_rpath}x" STREQUAL "x${expected}x") + message(FATAL_ERROR "--- Calculated rpath does not match expected rpath: '${new_rpath}' != '${expected}' ") +else() + message(STATUS "--- Calculated rpath matches expected rpath: '${new_rpath}' ") +endif() diff --git a/scripts/test_ports/vcpkg-fixup-macho-rpath/vcpkg.json b/scripts/test_ports/vcpkg-fixup-macho-rpath/vcpkg.json new file mode 100644 index 00000000000000..17d7c7675c0199 --- /dev/null +++ b/scripts/test_ports/vcpkg-fixup-macho-rpath/vcpkg.json @@ -0,0 +1,6 @@ +{ + "name": "vcpkg-fixup-macho-rpath", + "version-date": "2024-06-15", + "description": "Test port to check the string replacement in z_vcpkg_fixup_macho_rpath", + "supports": "native & osx" +} diff --git a/scripts/test_ports/vcpkg-from-git-test/portfile.cmake b/scripts/test_ports/vcpkg-from-git-test/portfile.cmake new file mode 100644 index 00000000000000..841a6e2208ed3e --- /dev/null +++ b/scripts/test_ports/vcpkg-from-git-test/portfile.cmake @@ -0,0 +1,378 @@ +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) + +set(git_test_repo "${CURRENT_BUILDTREES_DIR}/test-git-repo") +file(REMOVE_RECURSE "${git_test_repo}") + +# LFS expects a URL for a local repository +set(git_remote "file:///${git_test_repo}") + +message(STATUS "Creating test git repository") +vcpkg_find_acquire_program(GIT) +vcpkg_list(SET git_config + -c core.autocrlf=false + -c user.email=vcpkg@example.com + -c user.name=vcpkg +) + +vcpkg_list(SET git ${GIT} ${git_config}) + +vcpkg_execute_required_process( + COMMAND ${git} init "test-git-repo" + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}" + LOGNAME "git-init" +) +vcpkg_execute_required_process( + COMMAND ${git} config uploadpack.allowReachableSHA1InWant true + WORKING_DIRECTORY "${git_test_repo}" + LOGNAME "git-config" +) +vcpkg_execute_required_process( + COMMAND ${git} checkout -b main + WORKING_DIRECTORY "${git_test_repo}" + LOGNAME "git-new-branch" +) + +file(WRITE "${git_test_repo}/README.txt" "first commit") +vcpkg_execute_required_process( + COMMAND ${git} add "README.txt" + WORKING_DIRECTORY "${git_test_repo}" + LOGNAME "git-add.1" +) +vcpkg_execute_required_process( + COMMAND ${git} commit -m "first commit" + WORKING_DIRECTORY "${git_test_repo}" + LOGNAME "git-commit.1" +) +vcpkg_execute_in_download_mode( + COMMAND ${git} rev-parse HEAD + OUTPUT_VARIABLE ref + RESULT_VARIABLE error_code + WORKING_DIRECTORY "${git_test_repo}" +) +if(NOT "${error_code}" EQUAL "0") + message(FATAL_ERROR "Failed to rev-parse HEAD: ${error_code}") +endif() +string(STRIP "${ref}" ref) + +file(WRITE "${git_test_repo}/README.txt" "second commit") +vcpkg_execute_required_process( + COMMAND ${git} add "README.txt" + WORKING_DIRECTORY "${git_test_repo}" + LOGNAME "git-add.2" +) +vcpkg_execute_required_process( + COMMAND ${git} commit -m "second commit" + WORKING_DIRECTORY "${git_test_repo}" + LOGNAME "git-commit.2" +) +vcpkg_execute_in_download_mode( + COMMAND ${git} rev-parse HEAD + OUTPUT_VARIABLE head_ref + RESULT_VARIABLE error_code + WORKING_DIRECTORY "${git_test_repo}" +) +if(NOT "${error_code}" EQUAL "0") + message(FATAL_ERROR "Failed to rev-parse HEAD: ${error_code}") +endif() +string(STRIP "${head_ref}" head_ref) + +message(STATUS "Testing regular mode") +set(VCPKG_USE_HEAD_VERSION OFF) +vcpkg_from_git( + OUT_SOURCE_PATH source_path + URL "${git_remote}" + REF "${ref}" + HEAD_REF main +) +file(READ "${source_path}/README.txt" contents) +if(NOT "${contents}" STREQUAL "first commit") + message(FATAL_ERROR "Failed to checkout the first commit. Contents were: +${contents} +") +endif() + +message(STATUS "Testing regular mode that happens to match HEAD") +set(VCPKG_USE_HEAD_VERSION OFF) +vcpkg_from_git( + OUT_SOURCE_PATH source_path + URL "${git_remote}" + REF "${head_ref}" + HEAD_REF main +) +file(READ "${source_path}/README.txt" contents) +if(NOT "${contents}" STREQUAL "second commit") + message(FATAL_ERROR "Failed to checkout the second commit. Contents were: +${contents} +") +endif() + +message(STATUS "Testing regular mode with FETCH_REF") +vcpkg_execute_required_process( + COMMAND ${git} config uploadpack.allowReachableSHA1InWant false + WORKING_DIRECTORY "${git_test_repo}" + LOGNAME "git-config" +) +set(VCPKG_USE_HEAD_VERSION OFF) +vcpkg_from_git( + OUT_SOURCE_PATH source_path + URL "${git_remote}" + REF "${ref}" + FETCH_REF main + HEAD_REF main +) +file(READ "${source_path}/README.txt" contents) +if(NOT "${contents}" STREQUAL "first commit") + message(FATAL_ERROR "Failed to checkout the first commit. Contents were: +${contents} +") +endif() + +message(STATUS "Testing regular mode with FETCH_REF that happens to match HEAD") +set(VCPKG_USE_HEAD_VERSION OFF) +vcpkg_from_git( + OUT_SOURCE_PATH source_path + URL "${git_remote}" + REF "${head_ref}" + FETCH_REF main + HEAD_REF main +) +file(READ "${source_path}/README.txt" contents) +if(NOT "${contents}" STREQUAL "second commit") + message(FATAL_ERROR "Failed to checkout the second commit. Contents were: +${contents} +") +endif() + +vcpkg_execute_required_process( + COMMAND ${git} config uploadpack.allowReachableSHA1InWant true + WORKING_DIRECTORY "${git_test_repo}" + LOGNAME "git-config" +) + +message(STATUS "Testing head mode") +set(VCPKG_USE_HEAD_VERSION ON) +vcpkg_from_git( + OUT_SOURCE_PATH source_path + URL "${git_remote}" + REF "${ref}" + HEAD_REF main +) +file(READ "${source_path}/README.txt" contents) +if(NOT "${contents}" STREQUAL "second commit") + message(FATAL_ERROR "Failed to checkout the HEAD commit. Contents were: +${contents} +") +endif() +if(NOT "${VCPKG_HEAD_VERSION}" STREQUAL "${head_ref}") + message(FATAL_ERROR "Failed to checkout the right HEAD commit. + Expected: ${head_ref} + Actual : ${VCPKG_HEAD_VERSION} +") +endif() + +message(STATUS "Testing head mode + no HEAD_REF -> just uses REF") +set(VCPKG_USE_HEAD_VERSION ON) +vcpkg_from_git( + OUT_SOURCE_PATH source_path + URL "${git_remote}" + REF "${ref}" +) +file(READ "${source_path}/README.txt" contents) +if(NOT "${contents}" STREQUAL "first commit") + message(FATAL_ERROR "Failed to checkout the regular commit. Contents were: +${contents} +") +endif() + +message(STATUS "Testing new head ref") +file(WRITE "${git_test_repo}/README.txt" "third commit") +vcpkg_execute_required_process( + COMMAND ${git} add "README.txt" + WORKING_DIRECTORY "${git_test_repo}" + LOGNAME "git.7" +) +vcpkg_execute_required_process( + COMMAND ${git} commit -m "second commit" + WORKING_DIRECTORY "${git_test_repo}" + LOGNAME "git.8" +) +vcpkg_execute_in_download_mode( + COMMAND ${git} rev-parse HEAD + OUTPUT_VARIABLE new_head_ref + RESULT_VARIABLE error_code + WORKING_DIRECTORY "${git_test_repo}" +) +if(NOT "${error_code}" EQUAL "0") + message(FATAL_ERROR "Failed to rev-parse HEAD: ${error_code}") +endif() +string(STRIP "${new_head_ref}" new_head_ref) + +set(VCPKG_USE_HEAD_VERSION ON) +vcpkg_from_git( + OUT_SOURCE_PATH source_path + URL "${git_remote}" + REF "${ref}" + HEAD_REF main +) +file(READ "${source_path}/README.txt" contents) +if(NOT "${contents}" STREQUAL "third commit") + message(FATAL_ERROR "Failed to checkout the right HEAD commit. Contents were: +${contents} +") +endif() +if(NOT "${VCPKG_HEAD_VERSION}" STREQUAL "${new_head_ref}") + message(FATAL_ERROR "Failed to checkout the right HEAD commit. + Expected: ${new_head_ref} + Actual : ${VCPKG_HEAD_VERSION} +") +endif() + +message(STATUS "Testing LFS support") +vcpkg_execute_in_download_mode( + COMMAND "${GIT}" lfs --version + OUTPUT_VARIABLE lfs_version_output + ERROR_VARIABLE lfs_version_error + RESULT_VARIABLE lfs_version_result + WORKING_DIRECTORY "${git_test_repo}" +) +if(NOT lfs_version_result) + vcpkg_execute_required_process( + COMMAND ${git} lfs install --local + WORKING_DIRECTORY "${git_test_repo}" + LOGNAME "git-lfs-install" + ) + file(WRITE "${git_test_repo}/.gitattributes" "* text=auto\n*.bin filter=lfs diff=lfs merge=lfs -text\n") + + message(STATUS "Testing fetching with the same Git and LFS urls") + file(WRITE "${git_test_repo}/lfs_file.bin" "fourth commit") + vcpkg_execute_required_process( + COMMAND ${git} add ".gitattributes" "lfs_file.bin" + WORKING_DIRECTORY "${git_test_repo}" + LOGNAME "git-lfs-add" + ) + vcpkg_execute_required_process( + COMMAND ${git} commit -m "fourth commit" + WORKING_DIRECTORY "${git_test_repo}" + LOGNAME "git-lfs-commit" + ) + vcpkg_execute_in_download_mode( + COMMAND ${git} rev-parse HEAD + OUTPUT_VARIABLE ref + RESULT_VARIABLE error_code + WORKING_DIRECTORY "${git_test_repo}" + ) + if(NOT "${error_code}" EQUAL "0") + message(FATAL_ERROR "Failed to rev-parse HEAD: ${error_code}") + endif() + string(STRIP "${ref}" ref) + + vcpkg_execute_in_download_mode( + COMMAND ${git} lfs ls-files --name-only + OUTPUT_VARIABLE lfs_files + RESULT_VARIABLE error_code + WORKING_DIRECTORY "${git_test_repo}" + ) + if(NOT "${error_code}" EQUAL "0") + message(FATAL_ERROR "Failed lfs ls-files: ${error_code}") + endif() + string(STRIP "${lfs_files}" lfs_files) + if(NOT "${lfs_files}" MATCHES [[lfs_file\.bin]]) + message(FATAL_ERROR "File was not added to LFS") + endif() + + set(VCPKG_USE_HEAD_VERSION OFF) + vcpkg_from_git( + OUT_SOURCE_PATH source_path + URL "${git_remote}" + REF "${ref}" + HEAD_REF main + LFS + ) + file(READ "${source_path}/lfs_file.bin" contents) + if(NOT "${contents}" STREQUAL "fourth commit") + message(FATAL_ERROR "Failed to checkout the fourth commit. Contents were: +${contents} + ") + endif() + + message(STATUS "Testing fetching from different Git and LFS urls") + # requires LFS 3.0.0 or later for "--force" on prune + string(REGEX MATCH "git-lfs/([0-9\\.]+) " lfs_version "${lfs_version_output}") + set(lfs_version "${CMAKE_MATCH_1}") + if(lfs_version VERSION_GREATER_EQUAL "3.0.0") + file(WRITE "${git_test_repo}/lfs_file2.bin" "fifth commit") + vcpkg_execute_required_process( + COMMAND ${git} add "lfs_file2.bin" + WORKING_DIRECTORY "${git_test_repo}" + LOGNAME "git-lfs-add.2" + ) + vcpkg_execute_required_process( + COMMAND ${git} commit -m "fifth commit" + WORKING_DIRECTORY "${git_test_repo}" + LOGNAME "git-lfs-commit.2" + ) + vcpkg_execute_in_download_mode( + COMMAND ${git} rev-parse HEAD + OUTPUT_VARIABLE ref + RESULT_VARIABLE error_code + WORKING_DIRECTORY "${git_test_repo}" + ) + if(NOT "${error_code}" EQUAL "0") + message(FATAL_ERROR "Failed to rev-parse HEAD: ${error_code}") + endif() + string(STRIP "${ref}" ref) + + set(git_test_repo_2 "${CURRENT_BUILDTREES_DIR}/test-git-repo-2") + file(REMOVE_RECURSE "${git_test_repo_2}") + set(git_remote_2 "file:///${git_test_repo_2}") + vcpkg_execute_required_process( + COMMAND ${git} init --bare "test-git-repo-2" + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}" + LOGNAME "git-init.2" + ) + # note: LFS won't prune "unpushed" files, which is checked using the "origin" remote by default. + # If there is no remote then files are never considered to be "pushed", and so are never pruned. + vcpkg_execute_required_process( + COMMAND ${git} remote add origin "${git_remote_2}" + WORKING_DIRECTORY "${git_test_repo}" + LOGNAME "git-remote-add" + ) + vcpkg_execute_required_process( + COMMAND ${git} push --all origin + WORKING_DIRECTORY "${git_test_repo}" + LOGNAME "git-push" + ) + + vcpkg_execute_in_download_mode( + COMMAND ${git} lfs prune --force --verbose + OUTPUT_VARIABLE lfs_prune + RESULT_VARIABLE error_code + WORKING_DIRECTORY "${git_test_repo}" + ) + if(NOT "${error_code}" EQUAL "0") + message(FATAL_ERROR "Failed to prune LFS files: ${error_code}") + endif() + if(NOT "${lfs_prune}" MATCHES "0 retained") + message(FATAL_ERROR "LFS prune did not delete all files:\n${lfs_prune}") + endif() + + set(VCPKG_USE_HEAD_VERSION OFF) + vcpkg_from_git( + OUT_SOURCE_PATH source_path + URL "${git_remote}" + REF "${ref}" + HEAD_REF main + LFS "${git_remote_2}" + ) + file(READ "${source_path}/lfs_file2.bin" contents) + if(NOT "${contents}" STREQUAL "fifth commit") + message(FATAL_ERROR "Failed to checkout the fifth commit. Contents were: + ${contents} + ") + endif() + else() + message(NOTICE "Git LFS version is older than 3.0.0: some tests were skipped") + endif() +else() + message(NOTICE "Git LFS is not available: some tests were skipped") +endif() diff --git a/scripts/test_ports/vcpkg-from-git-test/vcpkg.json b/scripts/test_ports/vcpkg-from-git-test/vcpkg.json new file mode 100644 index 00000000000000..609e7f3e42d891 --- /dev/null +++ b/scripts/test_ports/vcpkg-from-git-test/vcpkg.json @@ -0,0 +1,4 @@ +{ + "name": "vcpkg-from-git-test", + "version": "0" +} diff --git a/scripts/tls12-download-arm64.exe b/scripts/tls12-download-arm64.exe new file mode 100644 index 00000000000000..d221b870d036a2 Binary files /dev/null and b/scripts/tls12-download-arm64.exe differ diff --git a/scripts/tls12-download.exe b/scripts/tls12-download.exe index f1f640efd551ea..5105f4cb429dc5 100755 Binary files a/scripts/tls12-download.exe and b/scripts/tls12-download.exe differ diff --git a/scripts/toolchains/android.cmake b/scripts/toolchains/android.cmake index ff04cb72d83ae4..d675d06a73fa07 100644 --- a/scripts/toolchains/android.cmake +++ b/scripts/toolchains/android.cmake @@ -2,26 +2,12 @@ set(ANDROID_CPP_FEATURES "rtti exceptions" CACHE STRING "") set(CMAKE_SYSTEM_NAME Android CACHE STRING "") set(ANDROID_TOOLCHAIN clang CACHE STRING "") set(ANDROID_NATIVE_API_LEVEL ${CMAKE_SYSTEM_VERSION} CACHE STRING "") -set(CMAKE_ANDROID_NDK_TOOLCHAIN_VERSION clang CACHE STRING "") - -if (VCPKG_TARGET_TRIPLET MATCHES "^arm64-android") - set(ANDROID_ABI arm64-v8a CACHE STRING "") -elseif(VCPKG_TARGET_TRIPLET MATCHES "^armv6-android") - set(ANDROID_ABI armeabi CACHE STRING "") - set(ANDROID_ARM_MODE arm CACHE STRING "") -elseif(VCPKG_TARGET_TRIPLET MATCHES "^arm-neon-android") - set(ANDROID_ABI armeabi-v7a CACHE STRING "") - set(ANDROID_ARM_NEON ON CACHE BOOL "") -elseif(VCPKG_TARGET_TRIPLET MATCHES "^arm-android") - set(ANDROID_ABI armeabi-v7a CACHE STRING "") - set(ANDROID_ARM_NEON OFF CACHE BOOL "") -elseif(VCPKG_TARGET_TRIPLET MATCHES "^x64-android") - set(ANDROID_ABI x86_64 CACHE STRING "") -elseif(VCPKG_TARGET_TRIPLET MATCHES "^x86-android") - set(ANDROID_ABI x86 CACHE STRING "") +if(CMAKE_SYSTEM_VERSION MATCHES "^[0-9]+$") + set(ANDROID_PLATFORM android-${CMAKE_SYSTEM_VERSION} CACHE STRING "") else() - message(FATAL_ERROR "Unknown ABI for target triplet ${VCPKG_TARGET_TRIPLET}") + set(ANDROID_PLATFORM ${CMAKE_SYSTEM_VERSION} CACHE STRING "") endif() +set(CMAKE_ANDROID_NDK_TOOLCHAIN_VERSION clang CACHE STRING "") if (VCPKG_CRT_LINKAGE STREQUAL "dynamic") set(ANDROID_STL c++_shared CACHE STRING "") @@ -47,20 +33,41 @@ include("${ANDROID_NDK_HOME}/build/cmake/android.toolchain.cmake") if(NOT _VCPKG_ANDROID_TOOLCHAIN) set(_VCPKG_ANDROID_TOOLCHAIN 1) - get_property( _CMAKE_IN_TRY_COMPILE GLOBAL PROPERTY IN_TRY_COMPILE ) - if(NOT _CMAKE_IN_TRY_COMPILE) - string(APPEND CMAKE_C_FLAGS " -fPIC ${VCPKG_C_FLAGS} ") - string(APPEND CMAKE_CXX_FLAGS " -fPIC ${VCPKG_CXX_FLAGS} ") - string(APPEND CMAKE_C_FLAGS_DEBUG " ${VCPKG_C_FLAGS_DEBUG} ") - string(APPEND CMAKE_CXX_FLAGS_DEBUG " ${VCPKG_CXX_FLAGS_DEBUG} ") - string(APPEND CMAKE_C_FLAGS_RELEASE " ${VCPKG_C_FLAGS_RELEASE} ") - string(APPEND CMAKE_CXX_FLAGS_RELEASE " ${VCPKG_CXX_FLAGS_RELEASE} ") - string(APPEND CMAKE_SHARED_LINKER_FLAGS " ${VCPKG_LINKER_FLAGS} ") - string(APPEND CMAKE_EXE_LINKER_FLAGS " ${VCPKG_LINKER_FLAGS} ") - string(APPEND CMAKE_SHARED_LINKER_FLAGS_DEBUG " ${VCPKG_LINKER_FLAGS_DEBUG} ") - string(APPEND CMAKE_EXE_LINKER_FLAGS_DEBUG " ${VCPKG_LINKER_FLAGS_DEBUG} ") - string(APPEND CMAKE_SHARED_LINKER_FLAGS_RELEASE " ${VCPKG_LINKER_FLAGS_RELEASE} ") - string(APPEND CMAKE_EXE_LINKER_FLAGS_RELEASE " ${VCPKG_LINKER_FLAGS_RELEASE} ") + if(POLICY CMP0056) + cmake_policy(SET CMP0056 NEW) + endif() + if(POLICY CMP0066) + cmake_policy(SET CMP0066 NEW) endif() + if(POLICY CMP0067) + cmake_policy(SET CMP0067 NEW) + endif() + if(POLICY CMP0137) + cmake_policy(SET CMP0137 NEW) + endif() + list(APPEND CMAKE_TRY_COMPILE_PLATFORM_VARIABLES + VCPKG_CRT_LINKAGE VCPKG_TARGET_ARCHITECTURE + VCPKG_C_FLAGS VCPKG_CXX_FLAGS + VCPKG_C_FLAGS_DEBUG VCPKG_CXX_FLAGS_DEBUG + VCPKG_C_FLAGS_RELEASE VCPKG_CXX_FLAGS_RELEASE + VCPKG_LINKER_FLAGS VCPKG_LINKER_FLAGS_RELEASE VCPKG_LINKER_FLAGS_DEBUG + ) + + string(APPEND CMAKE_C_FLAGS " -fPIC ${VCPKG_C_FLAGS} ") + string(APPEND CMAKE_CXX_FLAGS " -fPIC ${VCPKG_CXX_FLAGS} ") + string(APPEND CMAKE_C_FLAGS_DEBUG " ${VCPKG_C_FLAGS_DEBUG} ") + string(APPEND CMAKE_CXX_FLAGS_DEBUG " ${VCPKG_CXX_FLAGS_DEBUG} ") + string(APPEND CMAKE_C_FLAGS_RELEASE " ${VCPKG_C_FLAGS_RELEASE} ") + string(APPEND CMAKE_CXX_FLAGS_RELEASE " ${VCPKG_CXX_FLAGS_RELEASE} ") + + string(APPEND CMAKE_MODULE_LINKER_FLAGS " ${VCPKG_LINKER_FLAGS} ") + string(APPEND CMAKE_SHARED_LINKER_FLAGS " ${VCPKG_LINKER_FLAGS} ") + string(APPEND CMAKE_EXE_LINKER_FLAGS " ${VCPKG_LINKER_FLAGS} ") + string(APPEND CMAKE_MODULE_LINKER_FLAGS_DEBUG " ${VCPKG_LINKER_FLAGS_DEBUG} ") + string(APPEND CMAKE_SHARED_LINKER_FLAGS_DEBUG " ${VCPKG_LINKER_FLAGS_DEBUG} ") + string(APPEND CMAKE_EXE_LINKER_FLAGS_DEBUG " ${VCPKG_LINKER_FLAGS_DEBUG} ") + string(APPEND CMAKE_MODULE_LINKER_FLAGS_RELEASE " ${VCPKG_LINKER_FLAGS_RELEASE} ") + string(APPEND CMAKE_SHARED_LINKER_FLAGS_RELEASE " ${VCPKG_LINKER_FLAGS_RELEASE} ") + string(APPEND CMAKE_EXE_LINKER_FLAGS_RELEASE " ${VCPKG_LINKER_FLAGS_RELEASE} ") endif() diff --git a/scripts/toolchains/freebsd.cmake b/scripts/toolchains/freebsd.cmake index 4b1cc3e8c3b4d0..5ae16c619841df 100644 --- a/scripts/toolchains/freebsd.cmake +++ b/scripts/toolchains/freebsd.cmake @@ -1,12 +1,42 @@ if(NOT _VCPKG_FREEBSD_TOOLCHAIN) -set(_VCPKG_FREEBSD_TOOLCHAIN 1) -if(CMAKE_HOST_SYSTEM_NAME STREQUAL "FreeBSD") - set(CMAKE_CROSSCOMPILING OFF CACHE BOOL "") -endif() -set(CMAKE_SYSTEM_NAME FreeBSD CACHE STRING "") + set(_VCPKG_FREEBSD_TOOLCHAIN 1) + if(CMAKE_HOST_SYSTEM_NAME STREQUAL "FreeBSD") + set(CMAKE_CROSSCOMPILING OFF CACHE BOOL "") + endif() + set(CMAKE_SYSTEM_NAME FreeBSD CACHE STRING "") + + if(NOT DEFINED CMAKE_SYSTEM_PROCESSOR) + if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + set(CMAKE_SYSTEM_PROCESSOR x86_64 CACHE STRING "") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + set(CMAKE_SYSTEM_PROCESSOR x86 CACHE STRING "") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") + set(CMAKE_SYSTEM_PROCESSOR arm64 CACHE STRING "") + else() + set(CMAKE_SYSTEM_PROCESSOR "${CMAKE_HOST_SYSTEM_PROCESSOR}" CACHE STRING "") + endif() + endif() + + if(POLICY CMP0056) + cmake_policy(SET CMP0056 NEW) + endif() + if(POLICY CMP0066) + cmake_policy(SET CMP0066 NEW) + endif() + if(POLICY CMP0067) + cmake_policy(SET CMP0067 NEW) + endif() + if(POLICY CMP0137) + cmake_policy(SET CMP0137 NEW) + endif() + list(APPEND CMAKE_TRY_COMPILE_PLATFORM_VARIABLES + VCPKG_CRT_LINKAGE VCPKG_TARGET_ARCHITECTURE + VCPKG_C_FLAGS VCPKG_CXX_FLAGS + VCPKG_C_FLAGS_DEBUG VCPKG_CXX_FLAGS_DEBUG + VCPKG_C_FLAGS_RELEASE VCPKG_CXX_FLAGS_RELEASE + VCPKG_LINKER_FLAGS VCPKG_LINKER_FLAGS_RELEASE VCPKG_LINKER_FLAGS_DEBUG + ) -get_property( _CMAKE_IN_TRY_COMPILE GLOBAL PROPERTY IN_TRY_COMPILE ) -if(NOT _CMAKE_IN_TRY_COMPILE) string(APPEND CMAKE_C_FLAGS_INIT " -fPIC ${VCPKG_C_FLAGS} ") string(APPEND CMAKE_CXX_FLAGS_INIT " -fPIC ${VCPKG_CXX_FLAGS} ") string(APPEND CMAKE_C_FLAGS_DEBUG_INIT " ${VCPKG_C_FLAGS_DEBUG} ") @@ -14,11 +44,13 @@ if(NOT _CMAKE_IN_TRY_COMPILE) string(APPEND CMAKE_C_FLAGS_RELEASE_INIT " ${VCPKG_C_FLAGS_RELEASE} ") string(APPEND CMAKE_CXX_FLAGS_RELEASE_INIT " ${VCPKG_CXX_FLAGS_RELEASE} ") + string(APPEND CMAKE_MODULE_LINKER_FLAGS_INIT " ${VCPKG_LINKER_FLAGS} ") string(APPEND CMAKE_SHARED_LINKER_FLAGS_INIT " ${VCPKG_LINKER_FLAGS} ") string(APPEND CMAKE_EXE_LINKER_FLAGS_INIT " ${VCPKG_LINKER_FLAGS} ") + string(APPEND CMAKE_MODULE_LINKER_FLAGS_DEBUG_INIT " ${VCPKG_LINKER_FLAGS_DEBUG} ") string(APPEND CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT " ${VCPKG_LINKER_FLAGS_DEBUG} ") string(APPEND CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT " ${VCPKG_LINKER_FLAGS_DEBUG} ") + string(APPEND CMAKE_MODULE_LINKER_FLAGS_RELEASE_INIT " ${VCPKG_LINKER_FLAGS_RELEASE} ") string(APPEND CMAKE_SHARED_LINKER_FLAGS_RELEASE_INIT " ${VCPKG_LINKER_FLAGS_RELEASE} ") string(APPEND CMAKE_EXE_LINKER_FLAGS_RELEASE_INIT " ${VCPKG_LINKER_FLAGS_RELEASE} ") endif() -endif() diff --git a/scripts/toolchains/ios.cmake b/scripts/toolchains/ios.cmake index f173662c0266c4..024d2428f61862 100644 --- a/scripts/toolchains/ios.cmake +++ b/scripts/toolchains/ios.cmake @@ -1,6 +1,26 @@ if(NOT _VCPKG_IOS_TOOLCHAIN) set(_VCPKG_IOS_TOOLCHAIN 1) + if(POLICY CMP0056) + cmake_policy(SET CMP0056 NEW) + endif() + if(POLICY CMP0066) + cmake_policy(SET CMP0066 NEW) + endif() + if(POLICY CMP0067) + cmake_policy(SET CMP0067 NEW) + endif() + if(POLICY CMP0137) + cmake_policy(SET CMP0137 NEW) + endif() + list(APPEND CMAKE_TRY_COMPILE_PLATFORM_VARIABLES + VCPKG_CRT_LINKAGE VCPKG_TARGET_ARCHITECTURE + VCPKG_C_FLAGS VCPKG_CXX_FLAGS + VCPKG_C_FLAGS_DEBUG VCPKG_CXX_FLAGS_DEBUG + VCPKG_C_FLAGS_RELEASE VCPKG_CXX_FLAGS_RELEASE + VCPKG_LINKER_FLAGS VCPKG_LINKER_FLAGS_RELEASE VCPKG_LINKER_FLAGS_DEBUG + ) + # Set the CMAKE_SYSTEM_NAME for try_compile calls. set(CMAKE_SYSTEM_NAME iOS CACHE STRING "") @@ -41,20 +61,20 @@ if(NOT _VCPKG_IOS_TOOLCHAIN) set(CMAKE_OSX_SYSROOT ${_vcpkg_ios_sysroot} CACHE STRING "iOS sysroot") endif() - get_property( _CMAKE_IN_TRY_COMPILE GLOBAL PROPERTY IN_TRY_COMPILE ) - if(NOT _CMAKE_IN_TRY_COMPILE) - string(APPEND CMAKE_C_FLAGS_INIT " -fPIC ${VCPKG_C_FLAGS} ") - string(APPEND CMAKE_CXX_FLAGS_INIT " -fPIC ${VCPKG_CXX_FLAGS} ") - string(APPEND CMAKE_C_FLAGS_DEBUG_INIT " ${VCPKG_C_FLAGS_DEBUG} ") - string(APPEND CMAKE_CXX_FLAGS_DEBUG_INIT " ${VCPKG_CXX_FLAGS_DEBUG} ") - string(APPEND CMAKE_C_FLAGS_RELEASE_INIT " ${VCPKG_C_FLAGS_RELEASE} ") - string(APPEND CMAKE_CXX_FLAGS_RELEASE_INIT " ${VCPKG_CXX_FLAGS_RELEASE} ") - - string(APPEND CMAKE_SHARED_LINKER_FLAGS_INIT " ${VCPKG_LINKER_FLAGS} ") - string(APPEND CMAKE_EXE_LINKER_FLAGS_INIT " ${VCPKG_LINKER_FLAGS} ") - string(APPEND CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT " ${VCPKG_LINKER_FLAGS_DEBUG} ") - string(APPEND CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT " ${VCPKG_LINKER_FLAGS_DEBUG} ") - string(APPEND CMAKE_SHARED_LINKER_FLAGS_RELEASE_INIT " ${VCPKG_LINKER_FLAGS_RELEASE} ") - string(APPEND CMAKE_EXE_LINKER_FLAGS_RELEASE_INIT " ${VCPKG_LINKER_FLAGS_RELEASE} ") - endif() + string(APPEND CMAKE_C_FLAGS_INIT " -fPIC ${VCPKG_C_FLAGS} ") + string(APPEND CMAKE_CXX_FLAGS_INIT " -fPIC ${VCPKG_CXX_FLAGS} ") + string(APPEND CMAKE_C_FLAGS_DEBUG_INIT " ${VCPKG_C_FLAGS_DEBUG} ") + string(APPEND CMAKE_CXX_FLAGS_DEBUG_INIT " ${VCPKG_CXX_FLAGS_DEBUG} ") + string(APPEND CMAKE_C_FLAGS_RELEASE_INIT " ${VCPKG_C_FLAGS_RELEASE} ") + string(APPEND CMAKE_CXX_FLAGS_RELEASE_INIT " ${VCPKG_CXX_FLAGS_RELEASE} ") + + string(APPEND CMAKE_MODULE_LINKER_FLAGS_INIT " ${VCPKG_LINKER_FLAGS} ") + string(APPEND CMAKE_SHARED_LINKER_FLAGS_INIT " ${VCPKG_LINKER_FLAGS} ") + string(APPEND CMAKE_EXE_LINKER_FLAGS_INIT " ${VCPKG_LINKER_FLAGS} ") + string(APPEND CMAKE_MODULE_LINKER_FLAGS_DEBUG_INIT " ${VCPKG_LINKER_FLAGS_DEBUG} ") + string(APPEND CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT " ${VCPKG_LINKER_FLAGS_DEBUG} ") + string(APPEND CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT " ${VCPKG_LINKER_FLAGS_DEBUG} ") + string(APPEND CMAKE_MODULE_LINKER_FLAGS_RELEASE_INIT " ${VCPKG_LINKER_FLAGS_RELEASE} ") + string(APPEND CMAKE_SHARED_LINKER_FLAGS_RELEASE_INIT " ${VCPKG_LINKER_FLAGS_RELEASE} ") + string(APPEND CMAKE_EXE_LINKER_FLAGS_RELEASE_INIT " ${VCPKG_LINKER_FLAGS_RELEASE} ") endif() diff --git a/scripts/toolchains/linux.cmake b/scripts/toolchains/linux.cmake index fb56665384e695..4cc47f3f1c885c 100644 --- a/scripts/toolchains/linux.cmake +++ b/scripts/toolchains/linux.cmake @@ -1,41 +1,76 @@ if(NOT _VCPKG_LINUX_TOOLCHAIN) -set(_VCPKG_LINUX_TOOLCHAIN 1) -if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Linux") - set(CMAKE_CROSSCOMPILING OFF CACHE BOOL "") -endif() -set(CMAKE_SYSTEM_NAME Linux CACHE STRING "") -if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") - set(CMAKE_SYSTEM_PROCESSOR x86_64 CACHE STRING "") -elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") - set(CMAKE_SYSTEM_PROCESSOR x86 CACHE STRING "") - string(APPEND VCPKG_C_FLAGS " -m32") - string(APPEND VCPKG_CXX_FLAGS " -m32") -elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") - set(CMAKE_SYSTEM_PROCESSOR armv7l CACHE STRING "") - if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "x86_64") - if(NOT DEFINED CMAKE_CXX_COMPILER) - set(CMAKE_CXX_COMPILER "arm-linux-gnueabihf-g++") - endif() - if(NOT DEFINED CMAKE_C_COMPILER) - set(CMAKE_C_COMPILER "arm-linux-gnueabihf-gcc") - endif() - message(STATUS "Cross compiling arm on host x86_64, use cross compiler: ${CMAKE_CXX_COMPILER}/${CMAKE_C_COMPILER}") + set(_VCPKG_LINUX_TOOLCHAIN 1) + + if(POLICY CMP0056) + cmake_policy(SET CMP0056 NEW) + endif() + if(POLICY CMP0066) + cmake_policy(SET CMP0066 NEW) + endif() + if(POLICY CMP0067) + cmake_policy(SET CMP0067 NEW) + endif() + if(POLICY CMP0137) + cmake_policy(SET CMP0137 NEW) endif() -elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") - set(CMAKE_SYSTEM_PROCESSOR aarch64 CACHE STRING "") - if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "x86_64") - if(NOT DEFINED CMAKE_CXX_COMPILER) - set(CMAKE_CXX_COMPILER "aarch64-linux-gnu-g++") + list(APPEND CMAKE_TRY_COMPILE_PLATFORM_VARIABLES + VCPKG_CRT_LINKAGE VCPKG_TARGET_ARCHITECTURE + VCPKG_C_FLAGS VCPKG_CXX_FLAGS + VCPKG_C_FLAGS_DEBUG VCPKG_CXX_FLAGS_DEBUG + VCPKG_C_FLAGS_RELEASE VCPKG_CXX_FLAGS_RELEASE + VCPKG_LINKER_FLAGS VCPKG_LINKER_FLAGS_RELEASE VCPKG_LINKER_FLAGS_DEBUG + ) + + set(CMAKE_SYSTEM_NAME Linux CACHE STRING "") + if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + set(CMAKE_SYSTEM_PROCESSOR x86_64 CACHE STRING "") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + set(CMAKE_SYSTEM_PROCESSOR i686 CACHE STRING "") + string(APPEND VCPKG_C_FLAGS " -m32") + string(APPEND VCPKG_CXX_FLAGS " -m32") + string(APPEND VCPKG_LINKER_FLAGS " -m32") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") + set(CMAKE_SYSTEM_PROCESSOR armv7l CACHE STRING "") + if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Linux" AND NOT CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "armv7l") + + if(NOT DEFINED CMAKE_CXX_COMPILER) + set(CMAKE_CXX_COMPILER "arm-linux-gnueabihf-g++") + endif() + if(NOT DEFINED CMAKE_C_COMPILER) + set(CMAKE_C_COMPILER "arm-linux-gnueabihf-gcc") + endif() + if(NOT DEFINED CMAKE_ASM_COMPILER) + set(CMAKE_ASM_COMPILER "arm-linux-gnueabihf-gcc") + endif() + if(NOT DEFINED CMAKE_ASM-ATT_COMPILER) + set(CMAKE_ASM-ATT_COMPILER "arm-linux-gnueabihf-as") + endif() + message(STATUS "Cross compiling arm on host ${CMAKE_HOST_SYSTEM_PROCESSOR}, use cross compiler: ${CMAKE_CXX_COMPILER}/${CMAKE_C_COMPILER}") endif() - if(NOT DEFINED CMAKE_C_COMPILER) - set(CMAKE_C_COMPILER "aarch64-linux-gnu-gcc") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") + set(CMAKE_SYSTEM_PROCESSOR aarch64 CACHE STRING "") + if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Linux" AND NOT CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "aarch64") + + if(NOT DEFINED CMAKE_CXX_COMPILER) + set(CMAKE_CXX_COMPILER "aarch64-linux-gnu-g++") + endif() + if(NOT DEFINED CMAKE_C_COMPILER) + set(CMAKE_C_COMPILER "aarch64-linux-gnu-gcc") + endif() + if(NOT DEFINED CMAKE_ASM_COMPILER) + set(CMAKE_ASM_COMPILER "aarch64-linux-gnu-gcc") + endif() + if(NOT DEFINED CMAKE_ASM-ATT_COMPILER) + set(CMAKE_ASM-ATT_COMPILER "aarch64-linux-gnu-as") + endif() + message(STATUS "Cross compiling arm64 on host ${CMAKE_HOST_SYSTEM_PROCESSOR}, use cross compiler: ${CMAKE_CXX_COMPILER}/${CMAKE_C_COMPILER}") endif() - message(STATUS "Cross compiling arm64 on host x86_64, use cross compiler: ${CMAKE_CXX_COMPILER}/${CMAKE_C_COMPILER}") endif() -endif() -get_property( _CMAKE_IN_TRY_COMPILE GLOBAL PROPERTY IN_TRY_COMPILE ) -if(NOT _CMAKE_IN_TRY_COMPILE) + if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR STREQUAL CMAKE_HOST_SYSTEM_PROCESSOR) + set(CMAKE_CROSSCOMPILING OFF CACHE BOOL "") + endif() + string(APPEND CMAKE_C_FLAGS_INIT " -fPIC ${VCPKG_C_FLAGS} ") string(APPEND CMAKE_CXX_FLAGS_INIT " -fPIC ${VCPKG_CXX_FLAGS} ") string(APPEND CMAKE_C_FLAGS_DEBUG_INIT " ${VCPKG_C_FLAGS_DEBUG} ") @@ -43,15 +78,19 @@ if(NOT _CMAKE_IN_TRY_COMPILE) string(APPEND CMAKE_C_FLAGS_RELEASE_INIT " ${VCPKG_C_FLAGS_RELEASE} ") string(APPEND CMAKE_CXX_FLAGS_RELEASE_INIT " ${VCPKG_CXX_FLAGS_RELEASE} ") + string(APPEND CMAKE_MODULE_LINKER_FLAGS_INIT " ${VCPKG_LINKER_FLAGS} ") string(APPEND CMAKE_SHARED_LINKER_FLAGS_INIT " ${VCPKG_LINKER_FLAGS} ") string(APPEND CMAKE_EXE_LINKER_FLAGS_INIT " ${VCPKG_LINKER_FLAGS} ") if(VCPKG_CRT_LINKAGE STREQUAL "static") + string(APPEND CMAKE_MODULE_LINKER_FLAGS_INIT "-static ") string(APPEND CMAKE_SHARED_LINKER_FLAGS_INIT "-static ") string(APPEND CMAKE_EXE_LINKER_FLAGS_INIT "-static ") endif() + string(APPEND CMAKE_MODULE_LINKER_FLAGS_DEBUG_INIT " ${VCPKG_LINKER_FLAGS_DEBUG} ") string(APPEND CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT " ${VCPKG_LINKER_FLAGS_DEBUG} ") string(APPEND CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT " ${VCPKG_LINKER_FLAGS_DEBUG} ") + string(APPEND CMAKE_MODULE_LINKER_FLAGS_RELEASE_INIT " ${VCPKG_LINKER_FLAGS_RELEASE} ") string(APPEND CMAKE_SHARED_LINKER_FLAGS_RELEASE_INIT " ${VCPKG_LINKER_FLAGS_RELEASE} ") string(APPEND CMAKE_EXE_LINKER_FLAGS_RELEASE_INIT " ${VCPKG_LINKER_FLAGS_RELEASE} ") -endif() + string(APPEND CMAKE_ASM_FLAGS_INIT " ${VCPKG_C_FLAGS} ") endif() diff --git a/scripts/toolchains/mingw.cmake b/scripts/toolchains/mingw.cmake index 195e337f78c0f4..c0782a1e9047ac 100644 --- a/scripts/toolchains/mingw.cmake +++ b/scripts/toolchains/mingw.cmake @@ -1,35 +1,54 @@ if(NOT _VCPKG_MINGW_TOOLCHAIN) -set(_VCPKG_MINGW_TOOLCHAIN 1) -if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows") - set(CMAKE_CROSSCOMPILING OFF CACHE BOOL "") -endif() + set(_VCPKG_MINGW_TOOLCHAIN 1) -# Need to override MinGW from VCPKG_CMAKE_SYSTEM_NAME -set(CMAKE_SYSTEM_NAME Windows CACHE STRING "" FORCE) - -if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") - set(CMAKE_SYSTEM_PROCESSOR i686 CACHE STRING "") -elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") - set(CMAKE_SYSTEM_PROCESSOR x86_64 CACHE STRING "") -elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") - set(CMAKE_SYSTEM_PROCESSOR armv7 CACHE STRING "") -elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") - set(CMAKE_SYSTEM_PROCESSOR aarch64 CACHE STRING "") -endif() + if(POLICY CMP0056) + cmake_policy(SET CMP0056 NEW) + endif() + if(POLICY CMP0066) + cmake_policy(SET CMP0066 NEW) + endif() + if(POLICY CMP0067) + cmake_policy(SET CMP0067 NEW) + endif() + if(POLICY CMP0137) + cmake_policy(SET CMP0137 NEW) + endif() + list(APPEND CMAKE_TRY_COMPILE_PLATFORM_VARIABLES + VCPKG_CRT_LINKAGE VCPKG_TARGET_ARCHITECTURE + VCPKG_C_FLAGS VCPKG_CXX_FLAGS + VCPKG_C_FLAGS_DEBUG VCPKG_CXX_FLAGS_DEBUG + VCPKG_C_FLAGS_RELEASE VCPKG_CXX_FLAGS_RELEASE + VCPKG_LINKER_FLAGS VCPKG_LINKER_FLAGS_RELEASE VCPKG_LINKER_FLAGS_DEBUG + ) -foreach(lang C CXX) - set(CMAKE_${lang}_COMPILER_TARGET "${CMAKE_SYSTEM_PROCESSOR}-windows-gnu" CACHE STRING "") -endforeach() + if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows") + set(CMAKE_CROSSCOMPILING OFF CACHE BOOL "") + endif() -find_program(CMAKE_C_COMPILER "${CMAKE_SYSTEM_PROCESSOR}-w64-mingw32-gcc") -find_program(CMAKE_CXX_COMPILER "${CMAKE_SYSTEM_PROCESSOR}-w64-mingw32-g++") -find_program(CMAKE_RC_COMPILER "${CMAKE_SYSTEM_PROCESSOR}-w64-mingw32-windres") -if(NOT CMAKE_RC_COMPILER) - find_program(CMAKE_RC_COMPILER "windres") -endif() + # Need to override MinGW from VCPKG_CMAKE_SYSTEM_NAME + set(CMAKE_SYSTEM_NAME Windows CACHE STRING "" FORCE) + + if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + set(CMAKE_SYSTEM_PROCESSOR i686 CACHE STRING "") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + set(CMAKE_SYSTEM_PROCESSOR x86_64 CACHE STRING "") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") + set(CMAKE_SYSTEM_PROCESSOR armv7 CACHE STRING "") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") + set(CMAKE_SYSTEM_PROCESSOR aarch64 CACHE STRING "") + endif() + + foreach(lang C CXX) + set(CMAKE_${lang}_COMPILER_TARGET "${CMAKE_SYSTEM_PROCESSOR}-windows-gnu" CACHE STRING "") + endforeach() + + find_program(CMAKE_C_COMPILER "${CMAKE_SYSTEM_PROCESSOR}-w64-mingw32-gcc") + find_program(CMAKE_CXX_COMPILER "${CMAKE_SYSTEM_PROCESSOR}-w64-mingw32-g++") + find_program(CMAKE_RC_COMPILER "${CMAKE_SYSTEM_PROCESSOR}-w64-mingw32-windres") + if(NOT CMAKE_RC_COMPILER) + find_program(CMAKE_RC_COMPILER "windres") + endif() -get_property( _CMAKE_IN_TRY_COMPILE GLOBAL PROPERTY IN_TRY_COMPILE ) -if(NOT _CMAKE_IN_TRY_COMPILE) string(APPEND CMAKE_C_FLAGS_INIT " ${VCPKG_C_FLAGS} ") string(APPEND CMAKE_CXX_FLAGS_INIT " ${VCPKG_CXX_FLAGS} ") string(APPEND CMAKE_C_FLAGS_DEBUG_INIT " ${VCPKG_C_FLAGS_DEBUG} ") @@ -37,15 +56,19 @@ if(NOT _CMAKE_IN_TRY_COMPILE) string(APPEND CMAKE_C_FLAGS_RELEASE_INIT " ${VCPKG_C_FLAGS_RELEASE} ") string(APPEND CMAKE_CXX_FLAGS_RELEASE_INIT " ${VCPKG_CXX_FLAGS_RELEASE} ") + string(APPEND CMAKE_MODULE_LINKER_FLAGS_INIT " ${VCPKG_LINKER_FLAGS} ") string(APPEND CMAKE_SHARED_LINKER_FLAGS_INIT " ${VCPKG_LINKER_FLAGS} ") string(APPEND CMAKE_EXE_LINKER_FLAGS_INIT " ${VCPKG_LINKER_FLAGS} ") if(VCPKG_CRT_LINKAGE STREQUAL "static") + string(APPEND CMAKE_MODULE_LINKER_FLAGS_INIT "-static ") string(APPEND CMAKE_SHARED_LINKER_FLAGS_INIT "-static ") string(APPEND CMAKE_EXE_LINKER_FLAGS_INIT "-static ") endif() + string(APPEND CMAKE_MODULE_LINKER_FLAGS_DEBUG_INIT " ${VCPKG_LINKER_FLAGS_DEBUG} ") string(APPEND CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT " ${VCPKG_LINKER_FLAGS_DEBUG} ") string(APPEND CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT " ${VCPKG_LINKER_FLAGS_DEBUG} ") + string(APPEND CMAKE_MODULE_LINKER_FLAGS_RELEASE_INIT " ${VCPKG_LINKER_FLAGS_RELEASE} ") string(APPEND CMAKE_SHARED_LINKER_FLAGS_RELEASE_INIT " ${VCPKG_LINKER_FLAGS_RELEASE} ") string(APPEND CMAKE_EXE_LINKER_FLAGS_RELEASE_INIT " ${VCPKG_LINKER_FLAGS_RELEASE} ") endif() -endif() + diff --git a/scripts/toolchains/openbsd.cmake b/scripts/toolchains/openbsd.cmake index 9eb8f3a0b0e4fa..f500babe9444a6 100644 --- a/scripts/toolchains/openbsd.cmake +++ b/scripts/toolchains/openbsd.cmake @@ -1,20 +1,50 @@ if(NOT _VCPKG_OPENBSD_TOOLCHAIN) -set(_VCPKG_OPENBSD_TOOLCHAIN 1) - -if(CMAKE_HOST_SYSTEM_NAME STREQUAL "OpenBSD") - set(CMAKE_CROSSCOMPILING OFF CACHE BOOL "") -endif() -set(CMAKE_SYSTEM_NAME OpenBSD CACHE STRING "") + set(_VCPKG_OPENBSD_TOOLCHAIN 1) + + if(POLICY CMP0056) + cmake_policy(SET CMP0056 NEW) + endif() + if(POLICY CMP0066) + cmake_policy(SET CMP0066 NEW) + endif() + if(POLICY CMP0067) + cmake_policy(SET CMP0067 NEW) + endif() + if(POLICY CMP0137) + cmake_policy(SET CMP0137 NEW) + endif() + list(APPEND CMAKE_TRY_COMPILE_PLATFORM_VARIABLES + VCPKG_CRT_LINKAGE VCPKG_TARGET_ARCHITECTURE + VCPKG_C_FLAGS VCPKG_CXX_FLAGS + VCPKG_C_FLAGS_DEBUG VCPKG_CXX_FLAGS_DEBUG + VCPKG_C_FLAGS_RELEASE VCPKG_CXX_FLAGS_RELEASE + VCPKG_LINKER_FLAGS VCPKG_LINKER_FLAGS_RELEASE VCPKG_LINKER_FLAGS_DEBUG + ) + + if(CMAKE_HOST_SYSTEM_NAME STREQUAL "OpenBSD") + set(CMAKE_CROSSCOMPILING OFF CACHE BOOL "") + endif() + set(CMAKE_SYSTEM_NAME OpenBSD CACHE STRING "") + + if(NOT DEFINED CMAKE_SYSTEM_PROCESSOR) + if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + set(CMAKE_SYSTEM_PROCESSOR x86_64 CACHE STRING "") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + set(CMAKE_SYSTEM_PROCESSOR x86 CACHE STRING "") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") + set(CMAKE_SYSTEM_PROCESSOR arm64 CACHE STRING "") + else() + set(CMAKE_SYSTEM_PROCESSOR "${CMAKE_HOST_SYSTEM_PROCESSOR}" CACHE STRING "") + endif() + endif() + + if(NOT DEFINED CMAKE_CXX_COMPILER) + set(CMAKE_CXX_COMPILER "/usr/bin/clang++") + endif() + if(NOT DEFINED CMAKE_C_COMPILER) + set(CMAKE_C_COMPILER "/usr/bin/clang") + endif() -if(NOT DEFINED CMAKE_CXX_COMPILER) - set(CMAKE_CXX_COMPILER "/usr/bin/clang++") -endif() -if(NOT DEFINED CMAKE_C_COMPILER) - set(CMAKE_C_COMPILER "/usr/bin/clang") -endif() - -get_property( _CMAKE_IN_TRY_COMPILE GLOBAL PROPERTY IN_TRY_COMPILE ) -if(NOT _CMAKE_IN_TRY_COMPILE) string(APPEND CMAKE_C_FLAGS_INIT " -fPIC ${VCPKG_C_FLAGS} ") string(APPEND CMAKE_CXX_FLAGS_INIT " -fPIC ${VCPKG_CXX_FLAGS} ") string(APPEND CMAKE_C_FLAGS_DEBUG_INIT " ${VCPKG_C_FLAGS_DEBUG} ") @@ -22,11 +52,13 @@ if(NOT _CMAKE_IN_TRY_COMPILE) string(APPEND CMAKE_C_FLAGS_RELEASE_INIT " ${VCPKG_C_FLAGS_RELEASE} ") string(APPEND CMAKE_CXX_FLAGS_RELEASE_INIT " ${VCPKG_CXX_FLAGS_RELEASE} ") + string(APPEND CMAKE_MODULE_LINKER_FLAGS_INIT " ${VCPKG_LINKER_FLAGS} ") string(APPEND CMAKE_SHARED_LINKER_FLAGS_INIT " ${VCPKG_LINKER_FLAGS} ") string(APPEND CMAKE_EXE_LINKER_FLAGS_INIT " ${VCPKG_LINKER_FLAGS} ") + string(APPEND CMAKE_MODULE_LINKER_FLAGS_DEBUG_INIT " ${VCPKG_LINKER_FLAGS_DEBUG} ") string(APPEND CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT " ${VCPKG_LINKER_FLAGS_DEBUG} ") string(APPEND CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT " ${VCPKG_LINKER_FLAGS_DEBUG} ") + string(APPEND CMAKE_MODULE_LINKER_FLAGS_RELEASE_INIT " ${VCPKG_LINKER_FLAGS_RELEASE} ") string(APPEND CMAKE_SHARED_LINKER_FLAGS_RELEASE_INIT " ${VCPKG_LINKER_FLAGS_RELEASE} ") string(APPEND CMAKE_EXE_LINKER_FLAGS_RELEASE_INIT " ${VCPKG_LINKER_FLAGS_RELEASE} ") -endif(NOT _CMAKE_IN_TRY_COMPILE) endif(NOT _VCPKG_OPENBSD_TOOLCHAIN) diff --git a/scripts/toolchains/osx.cmake b/scripts/toolchains/osx.cmake index 1ab3da5e5d442f..8b54d4eced426e 100644 --- a/scripts/toolchains/osx.cmake +++ b/scripts/toolchains/osx.cmake @@ -1,20 +1,59 @@ if(NOT _VCPKG_OSX_TOOLCHAIN) -set(_VCPKG_OSX_TOOLCHAIN 1) -if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin") - set(CMAKE_CROSSCOMPILING OFF CACHE BOOL "") - - set(CMAKE_SYSTEM_VERSION "${CMAKE_HOST_SYSTEM_VERSION}" CACHE STRING "") - set(CMAKE_SYSTEM_PROCESSOR "${CMAKE_HOST_SYSTEM_PROCESSOR}" CACHE STRING "") -else() - set(CMAKE_SYSTEM_VERSION "17.0.0" CACHE STRING "") - set(CMAKE_SYSTEM_PROCESSOR "x86_64" CACHE STRING "") -endif() -set(CMAKE_SYSTEM_NAME Darwin CACHE STRING "") + set(_VCPKG_OSX_TOOLCHAIN 1) + + if(POLICY CMP0056) + cmake_policy(SET CMP0056 NEW) + endif() + if(POLICY CMP0066) + cmake_policy(SET CMP0066 NEW) + endif() + if(POLICY CMP0067) + cmake_policy(SET CMP0067 NEW) + endif() + if(POLICY CMP0137) + cmake_policy(SET CMP0137 NEW) + endif() + list(APPEND CMAKE_TRY_COMPILE_PLATFORM_VARIABLES + VCPKG_CRT_LINKAGE VCPKG_TARGET_ARCHITECTURE + VCPKG_C_FLAGS VCPKG_CXX_FLAGS + VCPKG_C_FLAGS_DEBUG VCPKG_CXX_FLAGS_DEBUG + VCPKG_C_FLAGS_RELEASE VCPKG_CXX_FLAGS_RELEASE + VCPKG_LINKER_FLAGS VCPKG_LINKER_FLAGS_RELEASE VCPKG_LINKER_FLAGS_DEBUG + ) + + set(CMAKE_SYSTEM_NAME Darwin CACHE STRING "") + + set(CMAKE_MACOSX_RPATH ON CACHE BOOL "") -set(CMAKE_MACOSX_RPATH ON CACHE BOOL "") + if(NOT DEFINED CMAKE_SYSTEM_PROCESSOR) + if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + set(CMAKE_SYSTEM_PROCESSOR x86_64 CACHE STRING "") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + set(CMAKE_SYSTEM_PROCESSOR x86 CACHE STRING "") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") + set(CMAKE_SYSTEM_PROCESSOR arm64 CACHE STRING "") + else() + set(CMAKE_SYSTEM_PROCESSOR "${CMAKE_HOST_SYSTEM_PROCESSOR}" CACHE STRING "") + endif() + endif() + + if(DEFINED VCPKG_CMAKE_SYSTEM_VERSION) + set(CMAKE_SYSTEM_VERSION "${VCPKG_CMAKE_SYSTEM_VERSION}" CACHE STRING "" FORCE) + endif() + + if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin") + if(CMAKE_SYSTEM_PROCESSOR STREQUAL CMAKE_HOST_SYSTEM_PROCESSOR) + set(CMAKE_CROSSCOMPILING OFF CACHE STRING "") + elseif(CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "arm64") + # arm64 macOS can run x64 binaries + set(CMAKE_CROSSCOMPILING OFF CACHE STRING "") + endif() + + if(NOT DEFINED CMAKE_SYSTEM_VERSION) + set(CMAKE_SYSTEM_VERSION "${CMAKE_HOST_SYSTEM_VERSION}" CACHE STRING "") + endif() + endif() -get_property( _CMAKE_IN_TRY_COMPILE GLOBAL PROPERTY IN_TRY_COMPILE ) -if(NOT _CMAKE_IN_TRY_COMPILE) string(APPEND CMAKE_C_FLAGS_INIT " -fPIC ${VCPKG_C_FLAGS} ") string(APPEND CMAKE_CXX_FLAGS_INIT " -fPIC ${VCPKG_CXX_FLAGS} ") string(APPEND CMAKE_C_FLAGS_DEBUG_INIT " ${VCPKG_C_FLAGS_DEBUG} ") @@ -22,11 +61,13 @@ if(NOT _CMAKE_IN_TRY_COMPILE) string(APPEND CMAKE_C_FLAGS_RELEASE_INIT " ${VCPKG_C_FLAGS_RELEASE} ") string(APPEND CMAKE_CXX_FLAGS_RELEASE_INIT " ${VCPKG_CXX_FLAGS_RELEASE} ") + string(APPEND CMAKE_MODULE_LINKER_FLAGS_INIT " ${VCPKG_LINKER_FLAGS} ") string(APPEND CMAKE_SHARED_LINKER_FLAGS_INIT " ${VCPKG_LINKER_FLAGS} ") string(APPEND CMAKE_EXE_LINKER_FLAGS_INIT " ${VCPKG_LINKER_FLAGS} ") + string(APPEND CMAKE_MODULE_LINKER_FLAGS_DEBUG_INIT " ${VCPKG_LINKER_FLAGS_DEBUG} ") string(APPEND CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT " ${VCPKG_LINKER_FLAGS_DEBUG} ") string(APPEND CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT " ${VCPKG_LINKER_FLAGS_DEBUG} ") + string(APPEND CMAKE_MODULE_LINKER_FLAGS_RELEASE_INIT " ${VCPKG_LINKER_FLAGS_RELEASE} ") string(APPEND CMAKE_SHARED_LINKER_FLAGS_RELEASE_INIT " ${VCPKG_LINKER_FLAGS_RELEASE} ") string(APPEND CMAKE_EXE_LINKER_FLAGS_RELEASE_INIT " ${VCPKG_LINKER_FLAGS_RELEASE} ") endif() -endif() diff --git a/scripts/toolchains/uwp.cmake b/scripts/toolchains/uwp.cmake new file mode 100644 index 00000000000000..7ef343d0488910 --- /dev/null +++ b/scripts/toolchains/uwp.cmake @@ -0,0 +1,119 @@ +if(NOT _VCPKG_WINDOWS_TOOLCHAIN) + set(_VCPKG_WINDOWS_TOOLCHAIN 1) + set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>$<$:DLL>" CACHE STRING "") + set(CMAKE_MSVC_DEBUG_INFORMATION_FORMAT "") + + if(POLICY CMP0056) + cmake_policy(SET CMP0056 NEW) + endif() + if(POLICY CMP0066) + cmake_policy(SET CMP0066 NEW) + endif() + if(POLICY CMP0067) + cmake_policy(SET CMP0067 NEW) + endif() + if(POLICY CMP0137) + cmake_policy(SET CMP0137 NEW) + endif() + list(APPEND CMAKE_TRY_COMPILE_PLATFORM_VARIABLES + VCPKG_CRT_LINKAGE VCPKG_TARGET_ARCHITECTURE VCPKG_SET_CHARSET_FLAG + VCPKG_C_FLAGS VCPKG_CXX_FLAGS + VCPKG_C_FLAGS_DEBUG VCPKG_CXX_FLAGS_DEBUG + VCPKG_C_FLAGS_RELEASE VCPKG_CXX_FLAGS_RELEASE + VCPKG_LINKER_FLAGS VCPKG_LINKER_FLAGS_RELEASE VCPKG_LINKER_FLAGS_DEBUG + VCPKG_PLATFORM_TOOLSET + ) + + set(CMAKE_SYSTEM_NAME WindowsStore CACHE STRING "") + + if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + set(CMAKE_SYSTEM_PROCESSOR x86 CACHE STRING "") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + set(CMAKE_SYSTEM_PROCESSOR AMD64 CACHE STRING "") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") + set(CMAKE_SYSTEM_PROCESSOR ARM CACHE STRING "") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") + set(CMAKE_SYSTEM_PROCESSOR ARM64 CACHE STRING "") + endif() + + if(DEFINED VCPKG_CMAKE_SYSTEM_VERSION) + set(CMAKE_SYSTEM_VERSION "${VCPKG_CMAKE_SYSTEM_VERSION}" CACHE STRING "" FORCE) + endif() + + set(CMAKE_CROSSCOMPILING ON CACHE STRING "") + + if(NOT DEFINED CMAKE_SYSTEM_VERSION) + set(CMAKE_SYSTEM_VERSION "${CMAKE_HOST_SYSTEM_VERSION}" CACHE STRING "") + endif() + + if(NOT (DEFINED VCPKG_MSVC_CXX_WINRT_EXTENSIONS)) + set(VCPKG_MSVC_CXX_WINRT_EXTENSIONS ON) + endif() + + if(VCPKG_CRT_LINKAGE STREQUAL "dynamic") + set(VCPKG_CRT_LINK_FLAG_PREFIX "/MD") + elseif(VCPKG_CRT_LINKAGE STREQUAL "static") + set(VCPKG_CRT_LINK_FLAG_PREFIX "/MT") + else() + message(FATAL_ERROR "Invalid setting for VCPKG_CRT_LINKAGE: \"${VCPKG_CRT_LINKAGE}\". It must be \"static\" or \"dynamic\"") + endif() + + set(CHARSET_FLAG "/utf-8") + if (NOT VCPKG_SET_CHARSET_FLAG OR VCPKG_PLATFORM_TOOLSET MATCHES "v120") + # VS 2013 does not support /utf-8 + set(CHARSET_FLAG "") + endif() + + set(MP_BUILD_FLAG "") + if(NOT (CMAKE_CXX_COMPILER MATCHES "clang-cl.exe")) + set(MP_BUILD_FLAG "/MP ") + endif() + + set(_vcpkg_cpp_flags "/DWIN32 /D_WINDOWS /D_UNICODE /DUNICODE /DWINAPI_FAMILY=WINAPI_FAMILY_APP /D__WRL_NO_DEFAULT_LIB__" ) # VS adds /D "_WINDLL" for DLLs; + set(_vcpkg_common_flags "/nologo /Z7 ${MP_BUILD_FLAG}/GS /Gd /Gm- /W3 /WX- /Zc:wchar_t /Zc:inline /Zc:forScope /fp:precise /Oy- /EHsc") + #/ZW:nostdlib -> ZW is added by CMake # VS also normally adds /sdl but not cmake MSBUILD + set(_vcpkg_winmd_flag "") + if(VCPKG_MSVC_CXX_WINRT_EXTENSIONS) + file(TO_CMAKE_PATH "$ENV{VCToolsInstallDir}" _vcpkg_vctools) + set(ENV{_CL_} "/FU\"${_vcpkg_vctools}/lib/x86/store/references/platform.winmd\" $ENV{_CL_}") + # CMake has problems to correctly pass this in the compiler test so probably need special care in get_cmake_vars + #set(_vcpkg_winmd_flag "/FU\\\\\"${_vcpkg_vctools}/lib/x86/store/references/platform.winmd\\\\\"") # VS normally passes /ZW for Apps + endif() + + set(CMAKE_CXX_FLAGS "${_vcpkg_cpp_flags} ${_vcpkg_common_flags} ${_vcpkg_winmd_flag} ${CHARSET_FLAG} ${VCPKG_CXX_FLAGS}" CACHE STRING "") + set(CMAKE_C_FLAGS "${_vcpkg_cpp_flags} ${_vcpkg_common_flags} ${_vcpkg_winmd_flag} ${CHARSET_FLAG} ${VCPKG_C_FLAGS}" CACHE STRING "") + set(CMAKE_RC_FLAGS "-c65001 ${_vcpkg_cpp_flags}" CACHE STRING "") + + unset(CHARSET_FLAG) + unset(MP_BUILD_FLAG) + unset(_vcpkg_cpp_flags) + unset(_vcpkg_common_flags) + unset(_vcpkg_winmd_flag) + + set(CMAKE_CXX_FLAGS_DEBUG "/D_DEBUG ${VCPKG_CRT_LINK_FLAG_PREFIX}d /Od /RTC1 ${VCPKG_CXX_FLAGS_DEBUG}" CACHE STRING "") + set(CMAKE_C_FLAGS_DEBUG "/D_DEBUG ${VCPKG_CRT_LINK_FLAG_PREFIX}d /Od /RTC1 ${VCPKG_C_FLAGS_DEBUG}" CACHE STRING "") + + set(CMAKE_CXX_FLAGS_RELEASE "${VCPKG_CRT_LINK_FLAG_PREFIX} /O2 /Oi /Gy /DNDEBUG ${VCPKG_CXX_FLAGS_RELEASE}" CACHE STRING "") # VS adds /GL + set(CMAKE_C_FLAGS_RELEASE "${VCPKG_CRT_LINK_FLAG_PREFIX} /O2 /Oi /Gy /DNDEBUG ${VCPKG_C_FLAGS_RELEASE}" CACHE STRING "") + + string(APPEND CMAKE_STATIC_LINKER_FLAGS_RELEASE_INIT " /nologo ") # VS adds /LTCG + + if(VCPKG_MSVC_CXX_WINRT_EXTENSIONS) + set(additional_dll_flags "/WINMD:NO ") + if(CMAKE_GENERATOR MATCHES "Ninja") + set(additional_exe_flags "/WINMD ") # VS Generator chokes on this in the compiler detection + endif() + endif() + string(APPEND CMAKE_MODULE_LINKER_FLAGS " /MANIFEST:NO /NXCOMPAT /DYNAMICBASE /DEBUG ${additional_dll_flags}/APPCONTAINER /SUBSYSTEM:CONSOLE /MANIFESTUAC:NO ${VCPKG_LINKER_FLAGS}") + string(APPEND CMAKE_SHARED_LINKER_FLAGS " /MANIFEST:NO /NXCOMPAT /DYNAMICBASE /DEBUG ${additional_dll_flags}/APPCONTAINER /SUBSYSTEM:CONSOLE /MANIFESTUAC:NO ${VCPKG_LINKER_FLAGS}") + # VS adds /DEBUG:FULL /TLBID:1. WindowsApp.lib is in CMAKE_C|CXX_STANDARD_LIBRARIES + string(APPEND CMAKE_EXE_LINKER_FLAGS " /MANIFEST:NO /NXCOMPAT /DYNAMICBASE /DEBUG ${additional_exe_flags}/APPCONTAINER /MANIFESTUAC:NO ${VCPKG_LINKER_FLAGS}") + + set(CMAKE_MODULE_LINKER_FLAGS_RELEASE "/DEBUG /INCREMENTAL:NO /OPT:REF /OPT:ICF ${VCPKG_LINKER_FLAGS_RELEASE}" CACHE STRING "") # VS uses /LTCG:incremental + set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "/DEBUG /INCREMENTAL:NO /OPT:REF /OPT:ICF ${VCPKG_LINKER_FLAGS_RELEASE}" CACHE STRING "") # VS uses /LTCG:incremental + set(CMAKE_EXE_LINKER_FLAGS_RELEASE "/DEBUG /INCREMENTAL:NO /OPT:REF /OPT:ICF ${VCPKG_LINKER_FLAGS_RELEASE}" CACHE STRING "") + string(APPEND CMAKE_STATIC_LINKER_FLAGS_DEBUG_INIT " /nologo ") + string(APPEND CMAKE_MODULE_LINKER_FLAGS_DEBUG_INIT " /nologo ") + string(APPEND CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT " /nologo ") + string(APPEND CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT " /nologo ${VCPKG_LINKER_FLAGS} ${VCPKG_LINKER_FLAGS_DEBUG} ") +endif() diff --git a/scripts/toolchains/windows.cmake b/scripts/toolchains/windows.cmake index 954f95535dd93e..6520329f2373bd 100644 --- a/scripts/toolchains/windows.cmake +++ b/scripts/toolchains/windows.cmake @@ -1,9 +1,60 @@ if(NOT _VCPKG_WINDOWS_TOOLCHAIN) -set(_VCPKG_WINDOWS_TOOLCHAIN 1) -set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>$<$:DLL>" CACHE STRING "") + set(_VCPKG_WINDOWS_TOOLCHAIN 1) + set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>$<$:DLL>" CACHE STRING "") + set(CMAKE_MSVC_DEBUG_INFORMATION_FORMAT "") -get_property( _CMAKE_IN_TRY_COMPILE GLOBAL PROPERTY IN_TRY_COMPILE ) -if(NOT _CMAKE_IN_TRY_COMPILE) + if(POLICY CMP0056) + cmake_policy(SET CMP0056 NEW) + endif() + if(POLICY CMP0066) + cmake_policy(SET CMP0066 NEW) + endif() + if(POLICY CMP0067) + cmake_policy(SET CMP0067 NEW) + endif() + if(POLICY CMP0137) + cmake_policy(SET CMP0137 NEW) + endif() + list(APPEND CMAKE_TRY_COMPILE_PLATFORM_VARIABLES + VCPKG_CRT_LINKAGE VCPKG_TARGET_ARCHITECTURE VCPKG_SET_CHARSET_FLAG + VCPKG_C_FLAGS VCPKG_CXX_FLAGS + VCPKG_C_FLAGS_DEBUG VCPKG_CXX_FLAGS_DEBUG + VCPKG_C_FLAGS_RELEASE VCPKG_CXX_FLAGS_RELEASE + VCPKG_LINKER_FLAGS VCPKG_LINKER_FLAGS_RELEASE VCPKG_LINKER_FLAGS_DEBUG + VCPKG_PLATFORM_TOOLSET + ) + + set(CMAKE_SYSTEM_NAME Windows CACHE STRING "") + + if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + set(CMAKE_SYSTEM_PROCESSOR x86 CACHE STRING "") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + set(CMAKE_SYSTEM_PROCESSOR AMD64 CACHE STRING "") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") + set(CMAKE_SYSTEM_PROCESSOR ARM CACHE STRING "") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") + set(CMAKE_SYSTEM_PROCESSOR ARM64 CACHE STRING "") + endif() + + if(DEFINED VCPKG_CMAKE_SYSTEM_VERSION) + set(CMAKE_SYSTEM_VERSION "${VCPKG_CMAKE_SYSTEM_VERSION}" CACHE STRING "" FORCE) + endif() + + if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows") + if(CMAKE_SYSTEM_PROCESSOR STREQUAL CMAKE_HOST_SYSTEM_PROCESSOR) + set(CMAKE_CROSSCOMPILING OFF CACHE STRING "") + elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86") + # any of the four platforms can run x86 binaries + set(CMAKE_CROSSCOMPILING OFF CACHE STRING "") + elseif(CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "ARM64") + # arm64 can run binaries of any of the four platforms after Windows 11 + set(CMAKE_CROSSCOMPILING OFF CACHE STRING "") + endif() + + if(NOT DEFINED CMAKE_SYSTEM_VERSION) + set(CMAKE_SYSTEM_VERSION "${CMAKE_HOST_SYSTEM_VERSION}" CACHE STRING "") + endif() + endif() if(VCPKG_CRT_LINKAGE STREQUAL "dynamic") set(VCPKG_CRT_LINK_FLAG_PREFIX "/MD") @@ -16,14 +67,22 @@ if(NOT _CMAKE_IN_TRY_COMPILE) set(CHARSET_FLAG "/utf-8") if (NOT VCPKG_SET_CHARSET_FLAG OR VCPKG_PLATFORM_TOOLSET MATCHES "v120") # VS 2013 does not support /utf-8 - set(CHARSET_FLAG) + set(CHARSET_FLAG "") endif() - set(CMAKE_CXX_FLAGS " /nologo /DWIN32 /D_WINDOWS /W3 ${CHARSET_FLAG} /GR /EHsc /MP ${VCPKG_CXX_FLAGS}" CACHE STRING "") - set(CMAKE_C_FLAGS " /nologo /DWIN32 /D_WINDOWS /W3 ${CHARSET_FLAG} /MP ${VCPKG_C_FLAGS}" CACHE STRING "") - set(CMAKE_RC_FLAGS "-c65001 /DWIN32" CACHE STRING "") + set(MP_BUILD_FLAG "") + if(NOT (CMAKE_CXX_COMPILER MATCHES "clang-cl.exe")) + set(MP_BUILD_FLAG "/MP ") + endif() - unset(CHARSET_FLAG) + set(CMAKE_CXX_FLAGS " /nologo /DWIN32 /D_WINDOWS ${CHARSET_FLAG} /GR /EHsc ${MP_BUILD_FLAG}${VCPKG_CXX_FLAGS}" CACHE STRING "") + set(CMAKE_C_FLAGS " /nologo /DWIN32 /D_WINDOWS ${CHARSET_FLAG} ${MP_BUILD_FLAG}${VCPKG_C_FLAGS}" CACHE STRING "") + + if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64ec") + string(APPEND CMAKE_CXX_FLAGS " /arm64EC /D_AMD64_ /DAMD64 /D_ARM64EC_ /DARM64EC") + string(APPEND CMAKE_C_FLAGS " /arm64EC /D_AMD64_ /DAMD64 /D_ARM64EC_ /DARM64EC") + endif() + set(CMAKE_RC_FLAGS "-c65001 /DWIN32" CACHE STRING "") set(CMAKE_CXX_FLAGS_DEBUG "/D_DEBUG ${VCPKG_CRT_LINK_FLAG_PREFIX}d /Z7 /Ob0 /Od /RTC1 ${VCPKG_CXX_FLAGS_DEBUG}" CACHE STRING "") set(CMAKE_C_FLAGS_DEBUG "/D_DEBUG ${VCPKG_CRT_LINK_FLAG_PREFIX}d /Z7 /Ob0 /Od /RTC1 ${VCPKG_C_FLAGS_DEBUG}" CACHE STRING "") @@ -31,11 +90,16 @@ if(NOT _CMAKE_IN_TRY_COMPILE) set(CMAKE_C_FLAGS_RELEASE "${VCPKG_CRT_LINK_FLAG_PREFIX} /O2 /Oi /Gy /DNDEBUG /Z7 ${VCPKG_C_FLAGS_RELEASE}" CACHE STRING "") string(APPEND CMAKE_STATIC_LINKER_FLAGS_RELEASE_INIT " /nologo ") + set(CMAKE_MODULE_LINKER_FLAGS_RELEASE "/nologo /DEBUG /INCREMENTAL:NO /OPT:REF /OPT:ICF ${VCPKG_LINKER_FLAGS} ${VCPKG_LINKER_FLAGS_RELEASE}" CACHE STRING "") set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "/nologo /DEBUG /INCREMENTAL:NO /OPT:REF /OPT:ICF ${VCPKG_LINKER_FLAGS} ${VCPKG_LINKER_FLAGS_RELEASE}" CACHE STRING "") set(CMAKE_EXE_LINKER_FLAGS_RELEASE "/nologo /DEBUG /INCREMENTAL:NO /OPT:REF /OPT:ICF ${VCPKG_LINKER_FLAGS} ${VCPKG_LINKER_FLAGS_RELEASE}" CACHE STRING "") string(APPEND CMAKE_STATIC_LINKER_FLAGS_DEBUG_INIT " /nologo ") + string(APPEND CMAKE_MODULE_LINKER_FLAGS_DEBUG_INIT " /nologo ${VCPKG_LINKER_FLAGS} ${VCPKG_LINKER_FLAGS_DEBUG} ") string(APPEND CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT " /nologo ${VCPKG_LINKER_FLAGS} ${VCPKG_LINKER_FLAGS_DEBUG} ") string(APPEND CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT " /nologo ${VCPKG_LINKER_FLAGS} ${VCPKG_LINKER_FLAGS_DEBUG} ") -endif() + + unset(CHARSET_FLAG) + unset(MP_BUILD_FLAG) + unset(VCPKG_CRT_LINK_FLAG_PREFIX) endif() diff --git a/scripts/toolchains/xbox.cmake b/scripts/toolchains/xbox.cmake new file mode 100644 index 00000000000000..7f916cdc64ae57 --- /dev/null +++ b/scripts/toolchains/xbox.cmake @@ -0,0 +1,182 @@ +if(NOT _VCPKG_WINDOWS_TOOLCHAIN) + set(_VCPKG_WINDOWS_TOOLCHAIN 1) + set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>$<$:DLL>" CACHE STRING "") + set(CMAKE_MSVC_DEBUG_INFORMATION_FORMAT "") + + if(POLICY CMP0056) + cmake_policy(SET CMP0056 NEW) + endif() + if(POLICY CMP0066) + cmake_policy(SET CMP0066 NEW) + endif() + if(POLICY CMP0067) + cmake_policy(SET CMP0067 NEW) + endif() + if(POLICY CMP0137) + cmake_policy(SET CMP0137 NEW) + endif() + list(APPEND CMAKE_TRY_COMPILE_PLATFORM_VARIABLES + VCPKG_CRT_LINKAGE VCPKG_TARGET_ARCHITECTURE + VCPKG_C_FLAGS VCPKG_CXX_FLAGS + VCPKG_C_FLAGS_DEBUG VCPKG_CXX_FLAGS_DEBUG + VCPKG_C_FLAGS_RELEASE VCPKG_CXX_FLAGS_RELEASE + VCPKG_LINKER_FLAGS VCPKG_LINKER_FLAGS_RELEASE VCPKG_LINKER_FLAGS_DEBUG + VCPKG_PLATFORM_TOOLSET + ) + + set(CMAKE_SYSTEM_NAME Windows CACHE STRING "") + + if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + set(CMAKE_SYSTEM_PROCESSOR AMD64 CACHE STRING "") + else() + message(FATAL_ERROR "Xbox requires x64 native target.") + endif() + + if(DEFINED VCPKG_CMAKE_SYSTEM_VERSION) + set(CMAKE_SYSTEM_VERSION "${VCPKG_CMAKE_SYSTEM_VERSION}" CACHE STRING "" FORCE) + else() + set(CMAKE_SYSTEM_VERSION "10.0" CACHE STRING "" FORCE) + endif() + + set(CMAKE_CROSSCOMPILING ON CACHE STRING "") + + # Add the Microsoft GDK if present + if (DEFINED ENV{GRDKLatest}) + cmake_path(SET _vcpkg_grdk "$ENV{GRDKLatest}") + + list(APPEND CMAKE_REQUIRED_INCLUDES "${_vcpkg_grdk}/gameKit/Include") + include_directories(BEFORE SYSTEM "${_vcpkg_grdk}/gameKit/Include") + cmake_path(CONVERT "${_vcpkg_grdk}/gameKit/Include" TO_NATIVE_PATH_LIST _vcpkg_inc NORMALIZE) + + link_directories(BEFORE "${_vcpkg_grdk}/gameKit/Lib/amd64") + cmake_path(CONVERT "${_vcpkg_grdk}/gameKit/Lib/amd64" TO_NATIVE_PATH_LIST _vcpkg_lib NORMALIZE) + endif() + + # Add the Microsoft GDK Xbox Extensions if present + if (DEFINED ENV{GXDKLatest}) + cmake_path(SET _vcpkg_gxdk "$ENV{GXDKLatest}") + + if(XBOX_CONSOLE_TARGET STREQUAL "scarlett") + list(APPEND CMAKE_REQUIRED_INCLUDES "${_vcpkg_gxdk}/gameKit/Include" "${_vcpkg_gxdk}/gameKit/Include/Scarlett") + include_directories(BEFORE SYSTEM "${_vcpkg_gxdk}/gameKit/Include" "${_vcpkg_gxdk}/gameKit/Include/Scarlett") + cmake_path(CONVERT "${_vcpkg_gxdk}/gameKit/Include;${_vcpkg_gxdk}/gameKit/Include/Scarlett" TO_NATIVE_PATH_LIST _vcpkg_inc NORMALIZE) + + link_directories(BEFORE "${_vcpkg_gxdk}/gameKit/Lib/amd64" "${_vcpkg_gxdk}/gameKit/Include/Lib/amd64/Scarlett") + cmake_path(CONVERT "${_vcpkg_gxdk}/gameKit/Lib/amd64;${_vcpkg_gxdk}/gameKit/Include/Lib/amd64/Scarlett" TO_NATIVE_PATH_LIST _vcpkg_lib NORMALIZE) + elseif(XBOX_CONSOLE_TARGET STREQUAL "xboxone") + list(APPEND CMAKE_REQUIRED_INCLUDES "${_vcpkg_gxdk}/gameKit/Include" "${_vcpkg_gxdk}/gameKit/Include/XboxOne") + include_directories(BEFORE SYSTEM "${_vcpkg_gxdk}/gameKit/Include" "${_vcpkg_gxdk}/gameKit/Include/XboxOne") + cmake_path(CONVERT "${_vcpkg_gxdk}/gameKit/Include;${_vcpkg_gxdk}/gameKit/Include/XboxOne" TO_NATIVE_PATH_LIST _vcpkg_inc NORMALIZE) + + link_directories(BEFORE "${_vcpkg_gxdk}/gameKit/Lib/amd64" "${_vcpkg_gxdk}/gameKit/Include/Lib/amd64/XboxOne") + cmake_path(CONVERT "${_vcpkg_gxdk}/gameKit/Lib/amd64;${_vcpkg_gxdk}/gameKit/Include/Lib/amd64/XboxOne" TO_NATIVE_PATH_LIST _vcpkg_lib NORMALIZE) + endif() + endif() + + if(DEFINED _vcpkg_inc) + set(ENV{INCLUDE} "${_vcpkg_inc};$ENV{INCLUDE}") + set(ENV{LIB} "${_vcpkg_lib};$ENV{LIB}") + endif() + + unset(_vcpkg_inc) + unset(_vcpkg_lib) + + set(_vcpkg_core_libs onecore_apiset.lib) + set(_vcpkg_default_lib onecore_apiset.lib) + + set(MP_BUILD_FLAG "") + if(NOT (CMAKE_CXX_COMPILER MATCHES "clang-cl.exe")) + set(MP_BUILD_FLAG "/MP") + endif() + + set(_vcpkg_cpp_flags "/nologo /DWIN32 /D_WINDOWS /D_UNICODE /DUNICODE /DWINAPI_FAMILY=WINAPI_FAMILY_GAMES /D_WIN32_WINNT=0x0A00 /D_ATL_NO_DEFAULT_LIBS /D__WRL_NO_DEFAULT_LIB__ /D__WRL_CLASSIC_COM_STRICT__ /D_UITHREADCTXT_SUPPORT=0 /D_CRT_USE_WINAPI_PARTITION_APP") + set(_vcpkg_common_flags "/nologo /Z7 ${MP_BUILD_FLAG} /GS /Gd /W3 /WX- /Zc:wchar_t /Zc:inline /Zc:forScope /fp:precise /Oy- /EHsc /utf-8") + + # Add the Microsoft GDK if present + if (DEFINED _vcpkg_grdk) + string(APPEND _vcpkg_core_libs " xgameruntime.lib") + endif() + + # Add the Microsoft GDK Xbox Extensions if present + if (DEFINED _vcpkg_gxdk) + if(XBOX_CONSOLE_TARGET STREQUAL "scarlett") + string(APPEND _vcpkg_cpp_flags " /D_GAMING_XBOX /D_GAMING_XBOX_SCARLETT") + + set(_vcpkg_core_libs "xgameplatform.lib xgameruntime.lib") + set(_vcpkg_default_lib xgameplatform.lib) + elseif(XBOX_CONSOLE_TARGET STREQUAL "xboxone") + string(APPEND _vcpkg_cpp_flags " /D_GAMING_XBOX /D_GAMING_XBOX_XBOXONE") + + set(_vcpkg_core_libs "xgameplatform.lib xgameruntime.lib") + set(_vcpkg_default_lib xgameplatform.lib) + endif() + endif() + + set(CMAKE_C_STANDARD_LIBRARIES_INIT "${_vcpkg_core_libs}" CACHE INTERNAL "") + set(CMAKE_CXX_STANDARD_LIBRARIES_INIT "${_vcpkg_core_libs}" CACHE INTERNAL "") + + set(CMAKE_C_STANDARD_LIBRARIES ${CMAKE_C_STANDARD_LIBRARIES_INIT} CACHE STRING "" FORCE) + set(CMAKE_CXX_STANDARD_LIBRARIES ${CMAKE_CXX_STANDARD_LIBRARIES_INIT} CACHE STRING "" FORCE) + + unset(_vcpkg_core_libs) + + if(VCPKG_CRT_LINKAGE STREQUAL "dynamic") + set(VCPKG_CRT_LINK_FLAG_PREFIX "/MD") + elseif(VCPKG_CRT_LINKAGE STREQUAL "static") + set(VCPKG_CRT_LINK_FLAG_PREFIX "/MT") + else() + message(FATAL_ERROR "Invalid setting for VCPKG_CRT_LINKAGE: \"${VCPKG_CRT_LINKAGE}\". It must be \"static\" or \"dynamic\"") + endif() + + if(XBOX_CONSOLE_TARGET STREQUAL "scarlett") + string(APPEND _vcpkg_common_flags " /favor:AMD64 /arch:AVX2") + elseif(XBOX_CONSOLE_TARGET STREQUAL "xboxone") + string(APPEND _vcpkg_common_flags " /favor:AMD64 /arch:AVX") + endif() + + set(CMAKE_CXX_FLAGS "${_vcpkg_cpp_flags} ${_vcpkg_common_flags} ${VCPKG_CXX_FLAGS}" CACHE STRING "") + set(CMAKE_C_FLAGS "${_vcpkg_cpp_flags} ${_vcpkg_common_flags} ${VCPKG_C_FLAGS}" CACHE STRING "") + set(CMAKE_RC_FLAGS "-c65001 ${_vcpkg_cpp_flags}" CACHE STRING "") + + unset(_vcpkg_cpp_flags) + unset(_vcpkg_common_flags) + + set(CMAKE_CXX_FLAGS_DEBUG "/D_DEBUG ${VCPKG_CRT_LINK_FLAG_PREFIX}d /Od /RTC1 ${VCPKG_CXX_FLAGS_DEBUG}" CACHE STRING "") + set(CMAKE_C_FLAGS_DEBUG "/D_DEBUG ${VCPKG_CRT_LINK_FLAG_PREFIX}d /Od /RTC1 ${VCPKG_C_FLAGS_DEBUG}" CACHE STRING "") + + set(CMAKE_CXX_FLAGS_RELEASE "${VCPKG_CRT_LINK_FLAG_PREFIX} /O2 /Oi /Gy /DNDEBUG ${VCPKG_CXX_FLAGS_RELEASE}" CACHE STRING "") + set(CMAKE_C_FLAGS_RELEASE "${VCPKG_CRT_LINK_FLAG_PREFIX} /O2 /Oi /Gy /DNDEBUG ${VCPKG_C_FLAGS_RELEASE}" CACHE STRING "") + + # oldnames.lib is not in this list as many open source libraries still rely on the older non-compliant POSIX function names. + set(_vcpkg_unsupported advapi32.lib comctl32.lib comsupp.lib dbghelp.lib gdi32.lib gdiplus.lib guardcfw.lib mmc.lib msimg32.lib msvcole.lib msvcoled.lib mswsock.lib ntstrsafe.lib ole2.lib ole2autd.lib ole2auto.lib ole2d.lib ole2ui.lib ole2uid.lib ole32.lib oleacc.lib oleaut32.lib oledlg.lib oledlgd.lib runtimeobject.lib shell32.lib shlwapi.lib strsafe.lib urlmon.lib user32.lib userenv.lib wlmole.lib wlmoled.lib onecore.lib) + set (_vcpkg_nodefaultlib "/NODEFAULTLIB:kernel32.lib") + foreach(arg ${_vcpkg_unsupported}) + string(APPEND _vcpkg_nodefaultlib " /NODEFAULTLIB:${arg}") + endforeach() + + # Some upstream projects don't respect STANDARD_LIBRARIES_INIT and rely on default libs instead. + set(_vcpkg_common_lflags "/MANIFEST:NO /NXCOMPAT /DYNAMICBASE /DEBUG /MANIFESTUAC:NO /SUBSYSTEM:WINDOWS,10.0 /DEFAULTLIB:${_vcpkg_default_lib}") + + string(APPEND CMAKE_MODULE_LINKER_FLAGS " ${_vcpkg_common_lflags} ${VCPKG_LINKER_FLAGS} ${_vcpkg_nodefaultlib}") + string(APPEND CMAKE_SHARED_LINKER_FLAGS " ${_vcpkg_common_lflags} ${VCPKG_LINKER_FLAGS} ${_vcpkg_nodefaultlib}") + string(APPEND CMAKE_EXE_LINKER_FLAGS " ${_vcpkg_common_lflags} ${VCPKG_LINKER_FLAGS} ${_vcpkg_nodefaultlib}") + + string(APPEND CMAKE_STATIC_LINKER_FLAGS_RELEASE_INIT " /nologo ") + set(CMAKE_MODULE_LINKER_FLAGS_RELEASE "/nologo /DEBUG /INCREMENTAL:NO /OPT:REF /OPT:ICF ${_vcpkg_common_lflags} ${VCPKG_LINKER_FLAGS} ${VCPKG_LINKER_FLAGS_RELEASE} ${_vcpkg_nodefaultlib}" CACHE STRING "") + set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "/nologo /DEBUG /INCREMENTAL:NO /OPT:REF /OPT:ICF ${_vcpkg_common_lflags} ${VCPKG_LINKER_FLAGS} ${VCPKG_LINKER_FLAGS_RELEASE} ${_vcpkg_nodefaultlib}" CACHE STRING "") + set(CMAKE_EXE_LINKER_FLAGS_RELEASE "/nologo /DEBUG /INCREMENTAL:NO /OPT:REF /OPT:ICF ${_vcpkg_common_lflags} ${VCPKG_LINKER_FLAGS} ${VCPKG_LINKER_FLAGS_RELEASE} ${_vcpkg_nodefaultlib}" CACHE STRING "") + + string(APPEND CMAKE_STATIC_LINKER_FLAGS_DEBUG_INIT " /nologo ") + string(APPEND CMAKE_MODULE_LINKER_FLAGS_DEBUG_INIT " /nologo ${VCPKG_LINKER_FLAGS} ${VCPKG_LINKER_FLAGS_DEBUG} ") + string(APPEND CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT " /nologo ${VCPKG_LINKER_FLAGS} ${VCPKG_LINKER_FLAGS_DEBUG} ") + string(APPEND CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT " /nologo ${VCPKG_LINKER_FLAGS} ${VCPKG_LINKER_FLAGS_DEBUG} ") + + unset(_vcpkg_unsupported) + unset(_vcpkg_nodefaultlib) + unset(_vcpkg_default_lib) + unset(_vcpkg_common_lflags) + unset(_vcpkg_grdk) + unset(_vcpkg_gxdk) + unset(MP_BUILD_FLAG) + unset(VCPKG_CRT_LINK_FLAG_PREFIX) +endif() diff --git a/scripts/update-vcpkg-tool-metadata.ps1 b/scripts/update-vcpkg-tool-metadata.ps1 new file mode 100644 index 00000000000000..bc1cce9698e228 --- /dev/null +++ b/scripts/update-vcpkg-tool-metadata.ps1 @@ -0,0 +1,44 @@ +[CmdletBinding()] +Param( + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string]$Date +) + +[string]$metadata = "VCPKG_TOOL_RELEASE_TAG=$Date`n" +Set-Content -LiteralPath "$PSScriptRoot\vcpkg-tool-metadata.txt" -Value $metadata -NoNewline -Encoding utf8NoBOM +& "$PSScriptRoot\bootstrap.ps1" +[string]$vcpkg = "$PSScriptRoot\..\vcpkg.exe" + +# Windows arm64 (VS Code only) +& $vcpkg x-download "$PSScriptRoot\vcpkg-arm64.exe" ` + "--url=https://github.com/microsoft/vcpkg-tool/releases/download/$Date/vcpkg-arm64.exe" --skip-sha512 + +# Linux Binaries +foreach ($binary in @('macos', 'muslc', 'glibc')) { + $caps = $binary.ToUpperInvariant() + & $vcpkg x-download "$PSScriptRoot\vcpkg-$binary" ` + "--url=https://github.com/microsoft/vcpkg-tool/releases/download/$Date/vcpkg-$binary" --skip-sha512 + $sha512 = & $vcpkg hash "$PSScriptRoot\vcpkg-$binary" + $metadata += "VCPKG_$($caps)_SHA=$sha512`n" +} + +# Source +$sourceName = "$Date.tar.gz" +& $vcpkg x-download "$PSScriptRoot\$sourceName" ` + "--url=https://github.com/microsoft/vcpkg-tool/archive/refs/tags/$Date.tar.gz" --skip-sha512 +$sha512 = & $vcpkg hash "$PSScriptRoot\$sourceName" +$metadata += "VCPKG_TOOL_SOURCE_SHA=$sha512`n" + +# Cleanup +Remove-Item @( + "$PSScriptRoot\vcpkg-arm64.exe", + "$PSScriptRoot\vcpkg-macos", + "$PSScriptRoot\vcpkg-muslc", + "$PSScriptRoot\vcpkg-glibc", + "$PSScriptRoot\$sourceName" +) + +Set-Content -LiteralPath "$PSScriptRoot\vcpkg-tool-metadata.txt" -Value $metadata -NoNewline -Encoding utf8NoBOM + +Write-Host "Metadata Written" diff --git a/scripts/vcpkg-tool-metadata.txt b/scripts/vcpkg-tool-metadata.txt new file mode 100644 index 00000000000000..67f2cb75a1e74f --- /dev/null +++ b/scripts/vcpkg-tool-metadata.txt @@ -0,0 +1,5 @@ +VCPKG_TOOL_RELEASE_TAG=2024-11-12 +VCPKG_MACOS_SHA=09f0c1dcb8d86adc34531816928c8bc2f83f6584cefd65b606dce991ee868d86386bbb5e7054fe8b62972f02b7f05636dd06e8691449e80957e7cd20f8139cc7 +VCPKG_MUSLC_SHA=615f5688faa77b99968c6c55890a93eda9eb5fbc4005556f7b3ef358e17ac1ab194ec3177ffbd60d703e4940ce7334eafa948e4cb3ee1b0117685da40177aefa +VCPKG_GLIBC_SHA=c0484b64a70b146206e0273e92767e7a611e0d9540495602b73f01c25e63f1d07f971e2661f29b62a0c92641c24739189642baec91545ed864123bc019db86ff +VCPKG_TOOL_SOURCE_SHA=da376da67ece521e3197be9e1f7b637405f1ca314fad6937ae7ee08baaebb6cebb1336e16d43667bd9ce329a613c6a65f6d0fa2d22940261bb975a3258f2c8d0 diff --git a/scripts/vcpkg.schema.json b/scripts/vcpkg.schema.json deleted file mode 100644 index 7ee7a27aac89aa..00000000000000 --- a/scripts/vcpkg.schema.json +++ /dev/null @@ -1,313 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-04/schema#", - "id": "https://raw.githubusercontent.com/microsoft/vcpkg/master/scripts/vcpkg.schema.json", - "title": "Vcpkg manifest", - "description": "Vcpkg manifest file. See https://github.com/microsoft/vcpkg/blob/master/docs/specifications/manifests.md.", - "definitions": { - "identifier": { - "description": "Identifiers used for feature names.", - "allOf": [ - { - "description": "Identifier are lowercase with digits and dashes.", - "type": "string", - "pattern": "[a-z0-9]+(-[a-z0-9]+)*" - }, - { - "not": { - "description": "Identifiers must not be a Windows filesystem or vcpkg reserved name.", - "type": "string", - "pattern": "^(prn|aux|nul|con|lpt[1-9]|com[1-9]|core|default)$" - } - } - ] - }, - "version-text": { - "type": "string", - "pattern": "[^#]+" - }, - "has-schemed-version": { - "type": "object", - "oneOf": [ - { - "properties": { - "version-string": { - "description": "Text used to identify an arbitrary version", - "type": "string", - "pattern": "^[^#]+$" - } - }, - "required": [ - "version-string" - ] - }, - { - "properties": { - "version": { - "description": "A relaxed version string (1.2.3.4...)", - "type": "string", - "pattern": "^\\d+(\\.\\d+)*$" - } - }, - "required": [ - "version" - ] - }, - { - "properties": { - "version-semver": { - "description": "A semantic version string. See https://semver.org/", - "type": "string", - "pattern": "^\\d+\\.\\d+\\.\\d+([+-].+)?$" - } - }, - "required": [ - "version-semver" - ] - }, - { - "properties": { - "version-date": { - "description": "A date version string (e.g. 2020-01-20)", - "type": "string", - "pattern": "^\\d{4}-\\d{2}-\\d{2}(\\.\\d+)*$" - } - }, - "required": [ - "version-date" - ] - } - ] - }, - "port-version": { - "description": "A non-negative integer indicating the port revision. If this field doesn't exist, it's assumed to be `0`.", - "type": "integer", - "minimum": 0, - "default": 0 - }, - "package-name": { - "description": "Name of a package.", - "allOf": [ - { - "description": "Package name must be a dot-separated list of valid identifiers", - "type": "string", - "pattern": "^[a-z0-9]+(-[a-z0-9]+)*(\\.[a-z0-9]+(-[a-z0-9]+)*)*$" - }, - { - "not": { - "description": "Identifiers must not be a Windows filesystem or vcpkg reserved name.", - "type": "string", - "pattern": "(^|\\.)(prn|aux|nul|con|lpt[1-9]|com[1-9]|core|default)(\\.|$)" - } - } - ] - }, - "description-field": { - "description": "A string or array of strings containing the description of a package or feature.", - "oneOf": [ - { - "type": "string" - }, - { - "type": "array", - "items": { - "type": "string" - } - } - ] - }, - "dependency-object": { - "description": "Expanded form of a dependency with explicit features and platform.", - "type": "object", - "properties": { - "name": { - "$ref": "#/definitions/package-name" - }, - "features": { - "type": "array", - "items": { - "$ref": "#/definitions/identifier" - } - }, - "host": { - "type": "boolean", - "default": false - }, - "default-features": { - "type": "boolean", - "default": true - }, - "platform": { - "$ref": "#/definitions/platform-expression" - }, - "version>=": { - "description": "Minimum required version", - "type": "string", - "pattern": "^[^#]+(#\\d+)?$" - } - }, - "patternProperties": { - "^\\$": {} - }, - "required": [ - "name" - ], - "additionalProperties": false - }, - "dependency": { - "description": "A dependency fetchable by Vcpkg.", - "oneOf": [ - { - "$ref": "#/definitions/package-name" - }, - { - "$ref": "#/definitions/dependency-object" - } - ] - }, - "override": { - "description": "A version override.", - "type": "object", - "properties": { - "name": { - "$ref": "#/definitions/identifier" - }, - "version": { - "$ref": "#/definitions/version-text" - }, - "port-version": { - "$ref": "#/definitions/port-version" - } - }, - "patternProperties": { - "^\\$": {} - }, - "required": [ - "name", - "version" - ] - }, - "platform-expression": { - "description": "A specification of a set of platforms. See https://github.com/microsoft/vcpkg/blob/master/docs/specifications/manifests.md#definitions.", - "type": "string" - }, - "feature": { - "description": "A package feature that can be activated by consumers.", - "type": "object", - "properties": { - "description": { - "$ref": "#/definitions/description-field" - }, - "dependencies": { - "description": "Dependencies used by this feature.", - "type": "array", - "items": { - "$ref": "#/definitions/dependency" - } - } - }, - "patternProperties": { - "^\\$": {} - }, - "required": [ - "description" - ], - "additionalProperties": false - } - }, - "type": "object", - "allOf": [ - { - "properties": { - "name": { - "description": "The name of the top-level package", - "$ref": "#/definitions/package-name" - }, - "version-string": {}, - "version": {}, - "version-date": {}, - "version-semver": {}, - "port-version": { - "$ref": "#/definitions/port-version" - }, - "maintainers": { - "description": "An array of strings which contain the authors of a package", - "type": "array", - "items": { - "type": "string" - } - }, - "description": { - "$ref": "#/definitions/description-field" - }, - "homepage": { - "description": "A url which points to the homepage of a package.", - "type": "string", - "format": "uri" - }, - "documentation": { - "description": "A url which points to the documentation of a package.", - "type": "string", - "format": "uri" - }, - "license": { - "description": "An SPDX license expression at version 3.9.", - "type": "string" - }, - "builtin-baseline": { - "description": "A vcpkg repository commit for version control.", - "type": "string" - }, - "dependencies": { - "description": "Dependencies that are always required.", - "type": "array", - "items": { - "$ref": "#/definitions/dependency" - } - }, - "overrides": { - "description": "Version overrides for dependencies.", - "type": "array", - "items": { - "$ref": "#/definitions/override" - } - }, - "dev-dependencies": { - "description": "Dependencies only required for developers (testing and the like).", - "type": "array", - "items": { - "$ref": "#/definitions/dependency" - } - }, - "features": { - "description": "A map of features supported by the package", - "type": "object", - "patternProperties": { - "": { - "$ref": "#/definitions/feature" - } - } - }, - "default-features": { - "description": "Features enabled by default with the package.", - "type": "array", - "items": { - "$ref": "#/definitions/identifier" - } - }, - "supports": { - "$ref": "#/definitions/platform-expression" - } - }, - "patternProperties": { - "^\\$": {} - }, - "required": [ - "name" - ], - "additionalProperties": false - }, - { - "$ref": "#/definitions/has-schemed-version" - } - ] -} diff --git a/scripts/vcpkgTools.xml b/scripts/vcpkgTools.xml index e1f18c0dc3c861..f5be75dc68ae10 100644 --- a/scripts/vcpkgTools.xml +++ b/scripts/vcpkgTools.xml @@ -1,46 +1,46 @@ - 3.10.0 + 3.12.7 python.exe - https://www.python.org/ftp/python/3.10.0/python-3.10.0-embed-win32.zip - 0b007bfa02cdd48b3c260986493fa124a6b9d794da6eba2b4fad0d779fd655e9ae4e16daf5f02ff5b30a17abcfc1499bc6bee394c0f8abe933f2d4fe702af3cd - python-3.10.0-embed-win32.zip + https://www.python.org/ftp/python/3.12.7/python-3.12.7-embed-win32.zip + 15542080e0cc25c574391218107fe843006e8c5a7161d1cd48cf14a3c47155c0244587273d9c747f35b15ea17676869ecce079214824214c1a62abfc86ad9f9b + python-3.12.7-embed-win32.zip + + + 3.12.7 + tools\python.exe + https://www.nuget.org/api/v2/package/python/3.12.7 + 6d5cac329808e31d4d8d593da6eeaa9ea4ec0296679335e7b7811f6c6fa6cbb96948d2f7845071798c6f73f83852dd731dc2b0fda48c520b9bec8a86cc56134e + python-3.12.7.nupkg.zip - 3.21.1 - cmake-3.21.1-windows-i386\bin\cmake.exe - https://github.com/Kitware/CMake/releases/download/v3.21.1/cmake-3.21.1-windows-i386.zip - 3aa0e9c904bf8abfc9441c1f0fd571e613ade7bc12f36211cd9006b4a2226552815ec8b00c8ef43583769d9d90996e75d2e832b3718ac3b85d3f9fb4db1cd60a - cmake-3.21.1-windows-i386.zip + 3.30.1 + cmake-3.30.1-windows-i386/bin/cmake.exe + https://github.com/Kitware/CMake/releases/download/v3.30.1/cmake-3.30.1-windows-i386.zip + 0b74bd4222064cfb6e42838987704eb21d57ad5f7bbd87714ab570f1d107fa19bd2f14316475338518292bc377bf38b581a07c73267a775cd385bbd1800879b4 + cmake-3.30.1-windows-i386.zip - 3.21.1 - cmake-3.21.1-macos-universal/CMake.app/Contents/bin/cmake - https://github.com/Kitware/CMake/releases/download/v3.21.1/cmake-3.21.1-macos-universal.tar.gz - 0e5d3781101d6f54d916066719a0ff27d052b40e999dfd8e1f53d8d22d99e45cad22fc28b5d2a9e810b0cc8237e640d7747aff2a2c0896571c8a69ecdd0a9e41 - cmake-3.21.1-macos-universal.tar.gz + 3.30.1 + cmake-3.30.1-macos-universal/CMake.app/Contents/bin/cmake + https://github.com/Kitware/CMake/releases/download/v3.30.1/cmake-3.30.1-macos-universal.tar.gz + 71290d3b5e51724711e8784f5b21100cb0cffdbb889da7572a26dd171d9052601496de8d39c42d76ef3a9245af2ab35a590bf53ad68d7bb8a2047b64272d2647 + cmake-3.30.1-macos-universal.tar.gz - 3.21.1 - cmake-3.21.1-linux-x86_64/bin/cmake - https://github.com/Kitware/CMake/releases/download/v3.21.1/cmake-3.21.1-Linux-x86_64.tar.gz - deb24087315bcf01d2969846246564a352b6f77521df6b235f9ef525450db9c89b32dca4ad78f93a356dd5ab7b587374d49fc1a892354760715a5ef1f88e925f - cmake-3.21.1-linux-x86_64.tar.gz - - - 3.20.4 - usr/local/bin/cmake - https://pkg.freebsd.org/FreeBSD:13:amd64/quarterly/All/cmake-3.20.4.txz - 3e5b675d7ff924f92996d912e2365582e687375109ef99c9073fb8196bb329243a406b218cf1358d7cc518988b311ce9e5bf87de4d64f2e6377b7c2bc8894475 - cmake-3.20.4.txz + 3.30.1 + cmake-3.30.1-linux-x86_64/bin/cmake + https://github.com/Kitware/CMake/releases/download/v3.30.1/cmake-3.30.1-linux-x86_64.tar.gz + 84ce1333ed696a1736986fba2853c5d8db0e4c9addaf4a4723911248c6d49ecf545adf8bd46091d198fc7bd1e6c896798661463aa1ce3a726a093883aaa19adf + cmake-3.30.1-linux-x86_64.tar.gz - 2.32.0.2 - mingw32\bin\git.exe - https://github.com/git-for-windows/git/releases/download/v2.32.0.windows.2/PortableGit-2.32.0.2-32-bit.7z.exe - 867d8534972cbaf7a4224e25a14d484f8d17ef186f8d79e9a758afb90cf69541375cb7615a39702311f4809cb8371ef85c2b1a15bfffe9e48f0e597ac011b348 - PortableGit-2.32.0.2-32-bit.7z.exe + 2.7.4 + mingw64\bin\git.exe + https://github.com/git-for-windows/git/releases/download/v2.43.0.windows.1/PortableGit-2.43.0-64-bit.7z.exe + 02ec40f55a6de18f305530e9415b6ce0a597359ebb9a58cf727ac84eceb0003b0f437941b76872b6568157a333c8e6e8d865a36faf874fd5f04774deb6a9387a + PortableGit-2.43.0-32-bit.7z.exe 2.7.4 @@ -82,49 +82,80 @@ gsutil_4.65.tar.gz - 2.8.4 + 3.1.7 vswhere.exe - https://github.com/Microsoft/vswhere/releases/download/2.8.4/vswhere.exe - 1a98beebd1bb6929cbe98b86a3b77fb1ae4508b86cdcb64696b20c3a3336a2b5c8518e19a21092f1c98a46202c048dba819dc52bef122485ac34b888b77e59b2 + https://github.com/microsoft/vswhere/releases/download/3.1.7/vswhere.exe + 40c534eb27f079c15c9782f53f82c12dabfede4d3d85f0edf8a855c2b0d5e12921a96506b37c210beab3c33220f8ff098447ad054e82d8c2603964975fc12076 - 5.11.0 + 6.10.0 nuget.exe - https://dist.nuget.org/win-x86-commandline/v5.11.0/nuget.exe - 06a337c9404dec392709834ef2cdbdce611e104b510ef40201849595d46d242151749aef65bc2d7ce5ade9ebfda83b64c03ce14c8f35ca9957a17a8c02b8c4b7 + https://dist.nuget.org/win-x86-commandline/v6.10.0/nuget.exe + 71d7307bb89de2df3811419c561efa00618a4c68e6ce481b0bdfc94c7c6c6d126a54eb26a0015686fabf99f109744ca41fead99e97139cdc86dde16a5ec3e7cf - 5.11.0 + 6.10.0 nuget.exe - https://dist.nuget.org/win-x86-commandline/v5.11.0/nuget.exe - 06a337c9404dec392709834ef2cdbdce611e104b510ef40201849595d46d242151749aef65bc2d7ce5ade9ebfda83b64c03ce14c8f35ca9957a17a8c02b8c4b7 + https://dist.nuget.org/win-x86-commandline/v6.10.0/nuget.exe + 71d7307bb89de2df3811419c561efa00618a4c68e6ce481b0bdfc94c7c6c6d126a54eb26a0015686fabf99f109744ca41fead99e97139cdc86dde16a5ec3e7cf - 5.11.0 + 6.10.0 nuget.exe - https://dist.nuget.org/win-x86-commandline/v5.11.0/nuget.exe - 06a337c9404dec392709834ef2cdbdce611e104b510ef40201849595d46d242151749aef65bc2d7ce5ade9ebfda83b64c03ce14c8f35ca9957a17a8c02b8c4b7 + https://dist.nuget.org/win-x86-commandline/v6.10.0/nuget.exe + 71d7307bb89de2df3811419c561efa00618a4c68e6ce481b0bdfc94c7c6c6d126a54eb26a0015686fabf99f109744ca41fead99e97139cdc86dde16a5ec3e7cf + + + 0.11.0 + coscli-windows.exe + https://github.com/tencentyun/coscli/releases/download/v0.11.0-beta/coscli-windows.exe + 38a521ec80cdb6944124f4233d7e71eed8cc9f9be2c0c736269915d21c3718ea8131e4516bb6eeada6df331f5fa8f47a299907e50ee9edbe0114444520974d06 + + + 0.11.0 + coscli-linux + https://github.com/tencentyun/coscli/releases/download/v0.11.0-beta/coscli-linux + 9c930a1d308e9581a0e2fdfe3751ea7fe13d6068df90ca6465740ec3eda034202ef71ec54c99e90015ff81aa68aa1489567db5e411e222eb7258704bdac7e924 + + + 0.11.0 + coscli-mac + https://github.com/tencentyun/coscli/releases/download/v0.11.0-beta/coscli-mac + 9556335bfc8bc14bace6dfced45fa77fb07c80f08aa975e047a54efda1d19852aae0ea68a5bc7f04fbd88e3edce5a73512a61216b1c5ff4cade224de4a9ab8db - 3.1.81 + 4.4.0 QtInstallerFramework-win-x86\bin\installerbase.exe - https://github.com/podsvirov/installer-framework/releases/download/cr203958-9/QtInstallerFramework-win-x86.zip - 1f3e593270d7c2a4e271fdb49c637a2de462351310ef66bba298d30f6ca23365ec6aecf2e57799a00c873267cd3f92060ecac03eb291d42903d0e0869cd17c73 - QtInstallerFramework-win-x86.zip + https://download.qt.io/official_releases/qt-installer-framework/4.4.0/installer-framework-opensource-src-4.4.0.zip + fc713f54bfe2781cb232cd0ae8eddb96833ec178d53a55ec0b01886aa048b13441eb49a1f33282e8eab7259cfe512c890d50b8e632d3dbf501a0bf1fd83de947 + installer-framework-opensource-src-4.4.0.zip - - 19.00 + + 24.08 Files\7-Zip\7z.exe - https://www.7-zip.org/a/7z1900-x64.msi - 7837a8677a01eed9c3309923f7084bc864063ba214ee169882c5b04a7a8b198ed052c15e981860d9d7952c98f459a4fab87a72fd78e7d0303004dcb86f4324c8 - 7z1900-x64.msi + https://github.com/ip7z/7zip/releases/download/24.08/7z2408-x64.msi + 3259bf5e251382333c9d18a3fc01d83491fb41bc4ac4ddb25a02918494594c1074482b6608189a8a89e343d78e34d57420cdeff1d7ace5acfdcaacc8776f1be8 + 7z2408-x64.msi + + + 24.08 + 7za.exe + https://github.com/ip7z/7zip/releases/download/24.08/7z2408-extra.7z + 35f55236fccfb576ca014e29d0c35f4a213e53f06683bd2e82f869ed02506e230c8dd623c01d0207244d6a997031f737903456b7ad4a44db1717f0a17a78602e + 7z2408-extra.7z + + + 24.08 + 7zr.exe + https://github.com/ip7z/7zip/releases/download/24.08/7zr.exe + 424196f2acf5b89807f4038683acc50e7604223fc630245af6bab0e0df923f8b1c49cb09ac709086568c214c3f53dcb7d6c32e8a54af222a3ff78cfab9c51670 - 1.35.0 - aria2-1.35.0-win-32bit-build1\aria2c.exe - https://github.com/aria2/aria2/releases/download/release-1.35.0/aria2-1.35.0-win-32bit-build1.zip - 933537cad820b1cecf43a9eeca7e1b241dd7b1c902ee942441a166f2c38845f16046321efbdfa2f83c7e9fc50c7ecc5da6fd00e0c6e2124c07d3b783aa5092a4 - aria2-1.35.0-win-32bit-build1.zip + 1.37.0 + aria2-1.37.0-win-64bit-build1\aria2c.exe + https://github.com/aria2/aria2/releases/download/release-1.37.0/aria2-1.37.0-win-64bit-build1.zip + 6d78405da9cf5639dbe8174787002161b8124d73880fb57cc8c0a3a63982f84e46df4e626990c58f23452965ad925f0d37cb9147e99b25c3d7ca0ea49602f34d + aria2-1.37.0-win-64bit-build1.zip 1.35.0 @@ -134,59 +165,52 @@ aria2-1.35.0-osx-darwin.tar.bz2 - 1.10.2 + 1.11.1 ninja.exe - https://github.com/ninja-build/ninja/releases/download/v1.10.2/ninja-win.zip - 6004140d92e86afbb17b49c49037ccd0786ce238f340f7d0e62b4b0c29ed0d6ad0bab11feda2094ae849c387d70d63504393714ed0a1f4d3a1f155af7a4f1ba3 - ninja-win-1.10.2.zip + https://github.com/ninja-build/ninja/releases/download/v1.11.1/ninja-win.zip + a700e794c32eb67b9f87040db7f1ba3a8e891636696fc54d416b01661c2421ff46fa517c97fd904adacdf8e621df3e68ea380105b909ae8b6651a78ae7eb3199 + ninja-win-1.11.1.zip - 1.10.2 + 1.11.1 ninja - https://github.com/ninja-build/ninja/releases/download/v1.10.2/ninja-linux.zip - 93e802e9c17fb59636cddde4bad1ddaadad624f4ecfee00d5c78790330a4e9d433180e795718cda27da57215ce643c3929cf72c85337ee019d868c56f2deeef3 - ninja-linux-1.10.2.zip + https://github.com/ninja-build/ninja/releases/download/v1.11.1/ninja-linux.zip + 6403dac9196baffcff614fa73ea530752997c8db6bbfbaa0446b4b09d7327e2aa6e8615d1283c961d3bf0df497e85ba86604149f1505ee75f89d600245a45dde + ninja-linux-1.11.1.zip - 1.10.2 - ninja - https://github.com/ninja-build/ninja/releases/download/v1.10.2/ninja-mac.zip - bcd12f6a3337591306d1b99a7a25a6933779ba68db79f17c1d3087d7b6308d245daac08df99087ff6be8dc7dd0dcdbb3a50839a144745fa719502b3a7a07260b - ninja-mac-1.10.2.zip - - - 1.8.2 + 1.11.1 ninja - https://github.com/ivysnow/ninja/releases/download/v1.8.2/ninja-freebsd.zip - 56a55ae9a6b5dfad4f28f9fe9b8114f1475c999d2f07fff7efa7375f987e74b498e9b63c41fc6c577756f15f3a1459c6d5d367902de3bedebdf9a9fd49089a86 - ninja-freebsd-1.8.2.zip + https://github.com/ninja-build/ninja/releases/download/v1.11.1/ninja-mac.zip + dad33b0918c60bbf5107951a936175b1610b4894a408f4ba4b47a2f5b328fc982a52a2aed6a0cb75028ee4765af5083bea66611c37516826eb0c851366bb4427 + ninja-mac-1.11.1.zip - 7.1.4 + 7.2.23 pwsh.exe - https://github.com/PowerShell/PowerShell/releases/download/v7.1.4/PowerShell-7.1.4-win-x86.zip - cf30f80edb57f37501c4a380a8ddd8adf016a51a988a315e15ef517fdae42313ddf5260d8374db65ef12808ec980118bc8b543256df0c1d641a5b8355a80ba7b - PowerShell-7.1.4-win-x86.zip + https://github.com/PowerShell/PowerShell/releases/download/v7.2.23/PowerShell-7.2.23-win-x64.zip + b374a878df02980d54e17ad7cfc9021e331748c3770f586be61356c257494d1b33899c1167d09a35c210bc084474aefdff972f672d16afb43be0562b3589285a + PowerShell-7.2.23-win-x64.zip - 16.12.0 - node-v16.12.0-win-x64\node.exe - https://nodejs.org/dist/v16.12.0/node-v16.12.0-win-x64.7z - 0bb793fce8140bd59c17f3ac9661b062eac0f611d704117774f5cb2453d717da94b1e8b17d021d47baff598dc023fb7068ed1f8a7678e446260c3db3537fa888 - node-v16.12.0-win-x64.7z + 16.15.1 + node-v16.15.1-win-x64\node.exe + https://nodejs.org/dist/v16.15.1/node-v16.15.1-win-x64.7z + 7ec4bfe2ea6034e1461e306b6372d62c0c5d1060c453ba76a73a5cec38ac26b5952a744caa9071455329caa58eb0a96d26c68854c8915c17610ff27b0cf2c1cf + node-v16.15.1-win-x64.7z - 16.12.0 - node-v16.12.0-linux-x64/bin/node - https://nodejs.org/dist/v16.12.0/node-v16.12.0-linux-x64.tar.gz - 45658083c35c13f2bc4b88d68a12c76213bdaf2235776e041c9937ce912a83cb49d655965568c99a5e139ff5c03b1e460c13ad8ab7f0c5570b531907715f6e0f - node-v16.12.0-linux-x64.tar.gz + 16.15.1 + node-v16.15.1-linux-x64/bin/node + https://nodejs.org/dist/v16.15.1/node-v16.15.1-linux-x64.tar.gz + 5ad3b4b9caeaa8d31503efa99f5a593118a267dec9d4181d019732126ba248ce9a901207115b3f6b899eb5b3f0373c7f77ea95cc92ac625cddf437ee9b8b8919 + node-v16.15.1-linux-x64.tar.gz - 16.12.0 - node-v16.12.0-darwin-x64/bin/node - https://nodejs.org/dist/v16.12.0/node-v16.12.0-darwin-x64.tar.gz - f758a90d3dcc3adf296abbed01b69a3a27e63c2085b7f604d83550714b1ac374f36e73fc02dd31bf60e532205d92e1605a05b35642142d20ac07c4bb98c69f70 - node-v16.12.0-darwin-x64.tar.gz + 16.15.1 + node-v16.15.1-darwin-x64/bin/node + https://nodejs.org/dist/v16.15.1/node-v16.15.1-darwin-x64.tar.gz + 90d0612bbe5467b6cf385c91a68b8daad0057e3e0ccacea44567f5b95b14f7481cb79784185ab1463b4bd990e092ff0f9109576d1a1934b84e1c816582929611 + node-v16.15.1-darwin-x64.tar.gz diff --git a/scripts/vcpkg_completion.fish b/scripts/vcpkg_completion.fish index a55d700108f92e..42e4b78dc483fc 100644 --- a/scripts/vcpkg_completion.fish +++ b/scripts/vcpkg_completion.fish @@ -19,9 +19,7 @@ complete -c vcpkg -f --arguments '(_vcpkg_completions)' set vcpkg_commands ($vcpkg_executable autocomplete) function _set_triplet_arguments - set triplets ($vcpkg_executable help triplet) - set -e triplets[(contains -i -- "Available architecture triplets" $triplets)] - set -e triplets[(contains -i -- "" $triplets)] + set triplets ($vcpkg_executable help triplet | grep "^\s" | cut -d' ' -f3) set triplet_from "" for triplet in $triplets echo (test -n "$triplet") >> temp.txt diff --git a/scripts/vcpkg_get_dep_info.cmake b/scripts/vcpkg_get_dep_info.cmake deleted file mode 100644 index 92212b82d02ac1..00000000000000 --- a/scripts/vcpkg_get_dep_info.cmake +++ /dev/null @@ -1,19 +0,0 @@ -function(vcpkg_get_dep_info PORT VCPKG_TRIPLET_ID) - message("d8187afd-ea4a-4fc3-9aa4-a6782e1ed9af") - vcpkg_triplet_file(${VCPKG_TRIPLET_ID}) - - # GUID used as a flag - "cut here line" - message("c35112b6-d1ba-415b-aa5d-81de856ef8eb -VCPKG_TARGET_ARCHITECTURE=${VCPKG_TARGET_ARCHITECTURE} -VCPKG_CMAKE_SYSTEM_NAME=${VCPKG_CMAKE_SYSTEM_NAME} -VCPKG_CMAKE_SYSTEM_VERSION=${VCPKG_CMAKE_SYSTEM_VERSION} -VCPKG_LIBRARY_LINKAGE=${VCPKG_LIBRARY_LINKAGE} -VCPKG_CRT_LINKAGE=${VCPKG_CRT_LINKAGE} -VCPKG_DEP_INFO_OVERRIDE_VARS=${VCPKG_DEP_INFO_OVERRIDE_VARS} -CMAKE_HOST_SYSTEM_NAME=${CMAKE_HOST_SYSTEM_NAME} -CMAKE_HOST_SYSTEM_PROCESSOR=${CMAKE_HOST_SYSTEM_PROCESSOR} -CMAKE_HOST_SYSTEM_VERSION=${CMAKE_HOST_SYSTEM_VERSION} -CMAKE_HOST_SYSTEM=${CMAKE_HOST_SYSTEM} -e1e74b5c-18cb-4474-a6bd-5c1c8bc81f3f -8c504940-be29-4cba-9f8f-6cd83e9d87b7") -endfunction() diff --git a/scripts/vcpkg_get_tags.cmake b/scripts/vcpkg_get_tags.cmake deleted file mode 100644 index 6a948d129eb597..00000000000000 --- a/scripts/vcpkg_get_tags.cmake +++ /dev/null @@ -1,33 +0,0 @@ -function(vcpkg_get_tags PORT FEATURES VCPKG_TRIPLET_ID VCPKG_ABI_SETTINGS_FILE) - message("d8187afd-ea4a-4fc3-9aa4-a6782e1ed9af") - vcpkg_triplet_file(${VCPKG_TRIPLET_ID}) - - # GUID used as a flag - "cut here line" - message("c35112b6-d1ba-415b-aa5d-81de856ef8eb -VCPKG_TARGET_ARCHITECTURE=${VCPKG_TARGET_ARCHITECTURE} -VCPKG_CMAKE_SYSTEM_NAME=${VCPKG_CMAKE_SYSTEM_NAME} -VCPKG_CMAKE_SYSTEM_VERSION=${VCPKG_CMAKE_SYSTEM_VERSION} -VCPKG_PLATFORM_TOOLSET=${VCPKG_PLATFORM_TOOLSET} -VCPKG_VISUAL_STUDIO_PATH=${VCPKG_VISUAL_STUDIO_PATH} -VCPKG_CHAINLOAD_TOOLCHAIN_FILE=${VCPKG_CHAINLOAD_TOOLCHAIN_FILE} -VCPKG_BUILD_TYPE=${VCPKG_BUILD_TYPE} -VCPKG_LIBRARY_LINKAGE=${VCPKG_LIBRARY_LINKAGE} -VCPKG_CRT_LINKAGE=${VCPKG_CRT_LINKAGE} -VCPKG_DISABLE_COMPILER_TRACKING=${VCPKG_DISABLE_COMPILER_TRACKING} -e1e74b5c-18cb-4474-a6bd-5c1c8bc81f3f") - - # Just to enforce the user didn't set it in the triplet file - if (DEFINED VCPKG_PUBLIC_ABI_OVERRIDE) - set(VCPKG_PUBLIC_ABI_OVERRIDE) - message(WARNING "VCPKG_PUBLIC_ABI_OVERRIDE set in the triplet will be ignored.") - endif() - include("${VCPKG_ABI_SETTINGS_FILE}" OPTIONAL) - - message("c35112b6-d1ba-415b-aa5d-81de856ef8eb -VCPKG_PUBLIC_ABI_OVERRIDE=${VCPKG_PUBLIC_ABI_OVERRIDE} -VCPKG_ENV_PASSTHROUGH=${VCPKG_ENV_PASSTHROUGH} -VCPKG_ENV_PASSTHROUGH_UNTRACKED=${VCPKG_ENV_PASSTHROUGH_UNTRACKED} -VCPKG_LOAD_VCVARS_ENV=${VCPKG_LOAD_VCVARS_ENV} -e1e74b5c-18cb-4474-a6bd-5c1c8bc81f3f -8c504940-be29-4cba-9f8f-6cd83e9d87b7") -endfunction() diff --git a/shell.nix b/shell.nix index accea1a0d14dea..8b9f485e767b9f 100644 --- a/shell.nix +++ b/shell.nix @@ -14,7 +14,7 @@ libxkbcommon.dev m4 ninja - pkgconfig + pkg-config zip zstd.dev ] ++ pkgs.lib.optionals withX11 [ diff --git a/triplets/arm-neon-android.cmake b/triplets/arm-neon-android.cmake new file mode 100644 index 00000000000000..a26d9aa3e5c338 --- /dev/null +++ b/triplets/arm-neon-android.cmake @@ -0,0 +1,6 @@ +set(VCPKG_TARGET_ARCHITECTURE arm) +set(VCPKG_CRT_LINKAGE static) +set(VCPKG_LIBRARY_LINKAGE static) +set(VCPKG_CMAKE_SYSTEM_NAME Android) +set(VCPKG_MAKE_BUILD_TRIPLET "--host=armv7a-linux-androideabi") +set(VCPKG_CMAKE_CONFIGURE_OPTIONS -DANDROID_ABI=armeabi-v7a -DANDROID_ARM_NEON=ON) diff --git a/triplets/arm64-android.cmake b/triplets/arm64-android.cmake new file mode 100644 index 00000000000000..784f0d39c64a57 --- /dev/null +++ b/triplets/arm64-android.cmake @@ -0,0 +1,6 @@ +set(VCPKG_TARGET_ARCHITECTURE arm64) +set(VCPKG_CRT_LINKAGE static) +set(VCPKG_LIBRARY_LINKAGE static) +set(VCPKG_CMAKE_SYSTEM_NAME Android) +set(VCPKG_MAKE_BUILD_TRIPLET "--host=aarch64-linux-android") +set(VCPKG_CMAKE_CONFIGURE_OPTIONS -DANDROID_ABI=arm64-v8a) diff --git a/triplets/community/arm64-osx.cmake b/triplets/arm64-osx.cmake similarity index 100% rename from triplets/community/arm64-osx.cmake rename to triplets/arm64-osx.cmake diff --git a/triplets/community/arm64-uwp.cmake b/triplets/arm64-uwp.cmake similarity index 100% rename from triplets/community/arm64-uwp.cmake rename to triplets/arm64-uwp.cmake diff --git a/triplets/community/arm-android.cmake b/triplets/community/arm-android.cmake index 29ba5655ae3154..1376baede203bb 100644 --- a/triplets/community/arm-android.cmake +++ b/triplets/community/arm-android.cmake @@ -2,3 +2,5 @@ set(VCPKG_TARGET_ARCHITECTURE arm) set(VCPKG_CRT_LINKAGE static) set(VCPKG_LIBRARY_LINKAGE static) set(VCPKG_CMAKE_SYSTEM_NAME Android) +set(VCPKG_MAKE_BUILD_TRIPLET "--host=armv7a-linux-androideabi") +set(VCPKG_CMAKE_CONFIGURE_OPTIONS -DANDROID_ABI=armeabi-v7a -DANDROID_ARM_NEON=OFF) diff --git a/triplets/community/arm-linux-release.cmake b/triplets/community/arm-linux-release.cmake new file mode 100644 index 00000000000000..d1ccc402b2d85a --- /dev/null +++ b/triplets/community/arm-linux-release.cmake @@ -0,0 +1,6 @@ +set(VCPKG_TARGET_ARCHITECTURE arm) +set(VCPKG_CRT_LINKAGE dynamic) +set(VCPKG_LIBRARY_LINKAGE static) + +set(VCPKG_CMAKE_SYSTEM_NAME Linux) +set(VCPKG_BUILD_TYPE release) diff --git a/triplets/community/arm-linux.cmake b/triplets/community/arm-linux.cmake index 6f69da83b2899b..931d1ad5e2484e 100644 --- a/triplets/community/arm-linux.cmake +++ b/triplets/community/arm-linux.cmake @@ -3,7 +3,3 @@ set(VCPKG_CRT_LINKAGE dynamic) set(VCPKG_LIBRARY_LINKAGE static) set(VCPKG_CMAKE_SYSTEM_NAME Linux) - -if(NOT CMAKE_HOST_SYSTEM_PROCESSOR) - execute_process(COMMAND "uname" "-m" OUTPUT_VARIABLE CMAKE_HOST_SYSTEM_PROCESSOR OUTPUT_STRIP_TRAILING_WHITESPACE) -endif() diff --git a/triplets/community/arm-neon-android.cmake b/triplets/community/arm-neon-android.cmake deleted file mode 100644 index 29ba5655ae3154..00000000000000 --- a/triplets/community/arm-neon-android.cmake +++ /dev/null @@ -1,4 +0,0 @@ -set(VCPKG_TARGET_ARCHITECTURE arm) -set(VCPKG_CRT_LINKAGE static) -set(VCPKG_LIBRARY_LINKAGE static) -set(VCPKG_CMAKE_SYSTEM_NAME Android) diff --git a/triplets/community/arm-uwp-static-md.cmake b/triplets/community/arm-uwp-static-md.cmake new file mode 100644 index 00000000000000..3e73ff90abf640 --- /dev/null +++ b/triplets/community/arm-uwp-static-md.cmake @@ -0,0 +1,5 @@ +set(VCPKG_TARGET_ARCHITECTURE arm) +set(VCPKG_CRT_LINKAGE dynamic) +set(VCPKG_LIBRARY_LINKAGE static) +set(VCPKG_CMAKE_SYSTEM_NAME WindowsStore) +set(VCPKG_CMAKE_SYSTEM_VERSION 10.0) diff --git a/triplets/arm-uwp.cmake b/triplets/community/arm-uwp.cmake similarity index 100% rename from triplets/arm-uwp.cmake rename to triplets/community/arm-uwp.cmake diff --git a/triplets/community/arm64-android.cmake b/triplets/community/arm64-android.cmake deleted file mode 100644 index 20b255d39267ad..00000000000000 --- a/triplets/community/arm64-android.cmake +++ /dev/null @@ -1,4 +0,0 @@ -set(VCPKG_TARGET_ARCHITECTURE arm64) -set(VCPKG_CRT_LINKAGE static) -set(VCPKG_LIBRARY_LINKAGE static) -set(VCPKG_CMAKE_SYSTEM_NAME Android) diff --git a/triplets/community/arm64-ios-release.cmake b/triplets/community/arm64-ios-release.cmake new file mode 100644 index 00000000000000..39eca20babc9a2 --- /dev/null +++ b/triplets/community/arm64-ios-release.cmake @@ -0,0 +1,6 @@ +set(VCPKG_TARGET_ARCHITECTURE arm64) +set(VCPKG_CRT_LINKAGE dynamic) +set(VCPKG_LIBRARY_LINKAGE static) +set(VCPKG_CMAKE_SYSTEM_NAME iOS) + +set(VCPKG_BUILD_TYPE release) diff --git a/triplets/community/arm64-ios-simulator-release.cmake b/triplets/community/arm64-ios-simulator-release.cmake new file mode 100644 index 00000000000000..f0a082bc81e86e --- /dev/null +++ b/triplets/community/arm64-ios-simulator-release.cmake @@ -0,0 +1,7 @@ +set(VCPKG_TARGET_ARCHITECTURE arm64) +set(VCPKG_CRT_LINKAGE dynamic) +set(VCPKG_LIBRARY_LINKAGE static) +set(VCPKG_CMAKE_SYSTEM_NAME iOS) +set(VCPKG_OSX_SYSROOT iphonesimulator) + +set(VCPKG_BUILD_TYPE release) diff --git a/triplets/community/arm64-ios-simulator.cmake b/triplets/community/arm64-ios-simulator.cmake new file mode 100644 index 00000000000000..553dd67eaefd5b --- /dev/null +++ b/triplets/community/arm64-ios-simulator.cmake @@ -0,0 +1,5 @@ +set(VCPKG_TARGET_ARCHITECTURE arm64) +set(VCPKG_CRT_LINKAGE dynamic) +set(VCPKG_LIBRARY_LINKAGE static) +set(VCPKG_CMAKE_SYSTEM_NAME iOS) +set(VCPKG_OSX_SYSROOT iphonesimulator) diff --git a/triplets/community/arm64-linux-release.cmake b/triplets/community/arm64-linux-release.cmake new file mode 100644 index 00000000000000..20ca16054cb8e2 --- /dev/null +++ b/triplets/community/arm64-linux-release.cmake @@ -0,0 +1,6 @@ +set(VCPKG_TARGET_ARCHITECTURE arm64) +set(VCPKG_CRT_LINKAGE dynamic) +set(VCPKG_LIBRARY_LINKAGE static) + +set(VCPKG_CMAKE_SYSTEM_NAME Linux) +set(VCPKG_BUILD_TYPE release) diff --git a/triplets/community/arm64-linux.cmake b/triplets/community/arm64-linux.cmake index 5faf2f0a0ff976..07452e099c9094 100644 --- a/triplets/community/arm64-linux.cmake +++ b/triplets/community/arm64-linux.cmake @@ -3,7 +3,3 @@ set(VCPKG_CRT_LINKAGE dynamic) set(VCPKG_LIBRARY_LINKAGE static) set(VCPKG_CMAKE_SYSTEM_NAME Linux) - -if(NOT CMAKE_HOST_SYSTEM_PROCESSOR) - execute_process(COMMAND "uname" "-m" OUTPUT_VARIABLE CMAKE_HOST_SYSTEM_PROCESSOR OUTPUT_STRIP_TRAILING_WHITESPACE) -endif() diff --git a/triplets/community/arm64-osx-release.cmake b/triplets/community/arm64-osx-release.cmake new file mode 100644 index 00000000000000..945290790fe307 --- /dev/null +++ b/triplets/community/arm64-osx-release.cmake @@ -0,0 +1,8 @@ +set(VCPKG_TARGET_ARCHITECTURE arm64) +set(VCPKG_CRT_LINKAGE dynamic) +set(VCPKG_LIBRARY_LINKAGE static) + +set(VCPKG_CMAKE_SYSTEM_NAME Darwin) +set(VCPKG_OSX_ARCHITECTURES arm64) + +set(VCPKG_BUILD_TYPE release) diff --git a/triplets/community/arm64-uwp-static-md.cmake b/triplets/community/arm64-uwp-static-md.cmake new file mode 100644 index 00000000000000..c99b9e6a083d5c --- /dev/null +++ b/triplets/community/arm64-uwp-static-md.cmake @@ -0,0 +1,5 @@ +set(VCPKG_TARGET_ARCHITECTURE arm64) +set(VCPKG_CRT_LINKAGE dynamic) +set(VCPKG_LIBRARY_LINKAGE static) +set(VCPKG_CMAKE_SYSTEM_NAME WindowsStore) +set(VCPKG_CMAKE_SYSTEM_VERSION 10.0) diff --git a/triplets/community/arm64-windows-static-release.cmake b/triplets/community/arm64-windows-static-release.cmake new file mode 100644 index 00000000000000..677dc922d1fe94 --- /dev/null +++ b/triplets/community/arm64-windows-static-release.cmake @@ -0,0 +1,5 @@ +set(VCPKG_TARGET_ARCHITECTURE arm64) +set(VCPKG_CRT_LINKAGE static) +set(VCPKG_LIBRARY_LINKAGE static) + +set(VCPKG_BUILD_TYPE release) diff --git a/triplets/community/arm64ec-windows.cmake b/triplets/community/arm64ec-windows.cmake new file mode 100644 index 00000000000000..5e5e179e9396be --- /dev/null +++ b/triplets/community/arm64ec-windows.cmake @@ -0,0 +1,3 @@ +set(VCPKG_TARGET_ARCHITECTURE arm64ec) +set(VCPKG_CRT_LINKAGE dynamic) +set(VCPKG_LIBRARY_LINKAGE dynamic) \ No newline at end of file diff --git a/triplets/community/armv6-android.cmake b/triplets/community/armv6-android.cmake index 29ba5655ae3154..7e6015cc929d3c 100644 --- a/triplets/community/armv6-android.cmake +++ b/triplets/community/armv6-android.cmake @@ -2,3 +2,4 @@ set(VCPKG_TARGET_ARCHITECTURE arm) set(VCPKG_CRT_LINKAGE static) set(VCPKG_LIBRARY_LINKAGE static) set(VCPKG_CMAKE_SYSTEM_NAME Android) +set(VCPKG_CMAKE_CONFIGURE_OPTIONS -DANDROID_ABI=armeabi -DANDROID_ARM_MODE=arm) diff --git a/triplets/community/loongarch32-linux-release.cmake b/triplets/community/loongarch32-linux-release.cmake new file mode 100644 index 00000000000000..0c0c0c4f301080 --- /dev/null +++ b/triplets/community/loongarch32-linux-release.cmake @@ -0,0 +1,6 @@ +set(VCPKG_TARGET_ARCHITECTURE loongarch32) +set(VCPKG_CRT_LINKAGE dynamic) +set(VCPKG_LIBRARY_LINKAGE static) + +set(VCPKG_CMAKE_SYSTEM_NAME Linux) +set(VCPKG_BUILD_TYPE release) diff --git a/triplets/community/loongarch32-linux.cmake b/triplets/community/loongarch32-linux.cmake new file mode 100644 index 00000000000000..c6d954e6de0d0c --- /dev/null +++ b/triplets/community/loongarch32-linux.cmake @@ -0,0 +1,5 @@ +set(VCPKG_TARGET_ARCHITECTURE loongarch32) +set(VCPKG_CRT_LINKAGE dynamic) +set(VCPKG_LIBRARY_LINKAGE static) + +set(VCPKG_CMAKE_SYSTEM_NAME Linux) diff --git a/triplets/community/loongarch64-linux-release.cmake b/triplets/community/loongarch64-linux-release.cmake new file mode 100644 index 00000000000000..004fc14160fe33 --- /dev/null +++ b/triplets/community/loongarch64-linux-release.cmake @@ -0,0 +1,6 @@ +set(VCPKG_TARGET_ARCHITECTURE loongarch64) +set(VCPKG_CRT_LINKAGE dynamic) +set(VCPKG_LIBRARY_LINKAGE static) + +set(VCPKG_CMAKE_SYSTEM_NAME Linux) +set(VCPKG_BUILD_TYPE release) diff --git a/triplets/community/loongarch64-linux.cmake b/triplets/community/loongarch64-linux.cmake new file mode 100644 index 00000000000000..2a70e0a95acfc8 --- /dev/null +++ b/triplets/community/loongarch64-linux.cmake @@ -0,0 +1,5 @@ +set(VCPKG_TARGET_ARCHITECTURE loongarch64) +set(VCPKG_CRT_LINKAGE dynamic) +set(VCPKG_LIBRARY_LINKAGE static) + +set(VCPKG_CMAKE_SYSTEM_NAME Linux) diff --git a/triplets/community/mips64-linux.cmake b/triplets/community/mips64-linux.cmake new file mode 100644 index 00000000000000..25ba947eecb7b9 --- /dev/null +++ b/triplets/community/mips64-linux.cmake @@ -0,0 +1,6 @@ +set(VCPKG_TARGET_ARCHITECTURE mips64) +set(VCPKG_CRT_LINKAGE dynamic) +set(VCPKG_LIBRARY_LINKAGE static) + +set(VCPKG_CMAKE_SYSTEM_NAME Linux) + diff --git a/triplets/community/ppc64le-linux-release.cmake b/triplets/community/ppc64le-linux-release.cmake new file mode 100644 index 00000000000000..f82408de57a4ba --- /dev/null +++ b/triplets/community/ppc64le-linux-release.cmake @@ -0,0 +1,6 @@ +set(VCPKG_TARGET_ARCHITECTURE ppc64le) +set(VCPKG_CRT_LINKAGE dynamic) +set(VCPKG_LIBRARY_LINKAGE static) + +set(VCPKG_CMAKE_SYSTEM_NAME Linux) +set(VCPKG_BUILD_TYPE release) diff --git a/triplets/community/riscv32-linux-release.cmake b/triplets/community/riscv32-linux-release.cmake new file mode 100644 index 00000000000000..b0db50f625c319 --- /dev/null +++ b/triplets/community/riscv32-linux-release.cmake @@ -0,0 +1,6 @@ +set(VCPKG_TARGET_ARCHITECTURE riscv32) +set(VCPKG_CRT_LINKAGE dynamic) +set(VCPKG_LIBRARY_LINKAGE static) + +set(VCPKG_CMAKE_SYSTEM_NAME Linux) +set(VCPKG_BUILD_TYPE release) diff --git a/triplets/community/riscv32-linux.cmake b/triplets/community/riscv32-linux.cmake new file mode 100644 index 00000000000000..e98c1151506f4f --- /dev/null +++ b/triplets/community/riscv32-linux.cmake @@ -0,0 +1,5 @@ +set(VCPKG_TARGET_ARCHITECTURE riscv32) +set(VCPKG_CRT_LINKAGE dynamic) +set(VCPKG_LIBRARY_LINKAGE static) + +set(VCPKG_CMAKE_SYSTEM_NAME Linux) diff --git a/triplets/community/riscv64-linux-release.cmake b/triplets/community/riscv64-linux-release.cmake new file mode 100644 index 00000000000000..d43c54b28006e7 --- /dev/null +++ b/triplets/community/riscv64-linux-release.cmake @@ -0,0 +1,6 @@ +set(VCPKG_TARGET_ARCHITECTURE riscv64) +set(VCPKG_CRT_LINKAGE dynamic) +set(VCPKG_LIBRARY_LINKAGE static) + +set(VCPKG_CMAKE_SYSTEM_NAME Linux) +set(VCPKG_BUILD_TYPE release) diff --git a/triplets/community/riscv64-linux.cmake b/triplets/community/riscv64-linux.cmake new file mode 100644 index 00000000000000..587f49ff8a5e49 --- /dev/null +++ b/triplets/community/riscv64-linux.cmake @@ -0,0 +1,5 @@ +set(VCPKG_TARGET_ARCHITECTURE riscv64) +set(VCPKG_CRT_LINKAGE dynamic) +set(VCPKG_LIBRARY_LINKAGE static) + +set(VCPKG_CMAKE_SYSTEM_NAME Linux) diff --git a/triplets/community/s390x-linux-release.cmake b/triplets/community/s390x-linux-release.cmake new file mode 100644 index 00000000000000..457e79d5faa8cd --- /dev/null +++ b/triplets/community/s390x-linux-release.cmake @@ -0,0 +1,6 @@ +set(VCPKG_TARGET_ARCHITECTURE s390x) +set(VCPKG_CRT_LINKAGE dynamic) +set(VCPKG_LIBRARY_LINKAGE static) + +set(VCPKG_CMAKE_SYSTEM_NAME Linux) +set(VCPKG_BUILD_TYPE release) diff --git a/triplets/community/wasm32-emscripten.cmake b/triplets/community/wasm32-emscripten.cmake index 2394e12270cc0f..ece5d8a22f1489 100644 --- a/triplets/community/wasm32-emscripten.cmake +++ b/triplets/community/wasm32-emscripten.cmake @@ -1,10 +1,19 @@ -set(VCPKG_ENV_PASSTHROUGH EMSDK PATH) +set(VCPKG_ENV_PASSTHROUGH_UNTRACKED EMSCRIPTEN_ROOT EMSDK PATH) -if(NOT DEFINED ENV{EMSDK}) - message(FATAL_ERROR "The EMSDK environment variable must be defined") +if(NOT DEFINED ENV{EMSCRIPTEN_ROOT}) + find_path(EMSCRIPTEN_ROOT "emcc") +else() + set(EMSCRIPTEN_ROOT "$ENV{EMSCRIPTEN_ROOT}") endif() -if(NOT EXISTS $ENV{EMSDK}/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake) +if(NOT EMSCRIPTEN_ROOT) + if(NOT DEFINED ENV{EMSDK}) + message(FATAL_ERROR "The emcc compiler not found in PATH") + endif() + set(EMSCRIPTEN_ROOT "$ENV{EMSDK}/upstream/emscripten") +endif() + +if(NOT EXISTS "${EMSCRIPTEN_ROOT}/cmake/Modules/Platform/Emscripten.cmake") message(FATAL_ERROR "Emscripten.cmake toolchain file not found") endif() @@ -12,4 +21,4 @@ set(VCPKG_TARGET_ARCHITECTURE wasm32) set(VCPKG_CRT_LINKAGE dynamic) set(VCPKG_LIBRARY_LINKAGE static) set(VCPKG_CMAKE_SYSTEM_NAME Emscripten) -set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE $ENV{EMSDK}/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake) +set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${EMSCRIPTEN_ROOT}/cmake/Modules/Platform/Emscripten.cmake") diff --git a/triplets/community/x64-android.cmake b/triplets/community/x64-android.cmake deleted file mode 100644 index 6342ce5361a1af..00000000000000 --- a/triplets/community/x64-android.cmake +++ /dev/null @@ -1,4 +0,0 @@ -set(VCPKG_TARGET_ARCHITECTURE x64) -set(VCPKG_CRT_LINKAGE static) -set(VCPKG_LIBRARY_LINKAGE static) -set(VCPKG_CMAKE_SYSTEM_NAME Android) diff --git a/triplets/community/x64-linux-dynamic.cmake b/triplets/community/x64-linux-dynamic.cmake new file mode 100644 index 00000000000000..abccb40b1faf35 --- /dev/null +++ b/triplets/community/x64-linux-dynamic.cmake @@ -0,0 +1,7 @@ +set(VCPKG_TARGET_ARCHITECTURE x64) +set(VCPKG_CRT_LINKAGE dynamic) +set(VCPKG_LIBRARY_LINKAGE dynamic) + +set(VCPKG_CMAKE_SYSTEM_NAME Linux) + +set(VCPKG_FIXUP_ELF_RPATH ON) diff --git a/triplets/community/x64-linux-release.cmake b/triplets/community/x64-linux-release.cmake new file mode 100644 index 00000000000000..d7f3e2b25fa0fe --- /dev/null +++ b/triplets/community/x64-linux-release.cmake @@ -0,0 +1,6 @@ +set(VCPKG_TARGET_ARCHITECTURE x64) +set(VCPKG_CRT_LINKAGE dynamic) +set(VCPKG_LIBRARY_LINKAGE static) + +set(VCPKG_CMAKE_SYSTEM_NAME Linux) +set(VCPKG_BUILD_TYPE release) diff --git a/triplets/community/x64-osx-release.cmake b/triplets/community/x64-osx-release.cmake new file mode 100644 index 00000000000000..64a2d07f5d61e5 --- /dev/null +++ b/triplets/community/x64-osx-release.cmake @@ -0,0 +1,7 @@ +set(VCPKG_TARGET_ARCHITECTURE x64) +set(VCPKG_CRT_LINKAGE dynamic) +set(VCPKG_LIBRARY_LINKAGE static) + +set(VCPKG_CMAKE_SYSTEM_NAME Darwin) +set(VCPKG_OSX_ARCHITECTURES x86_64) +set(VCPKG_BUILD_TYPE release) diff --git a/triplets/community/x64-uwp-static-md.cmake b/triplets/community/x64-uwp-static-md.cmake new file mode 100644 index 00000000000000..309631a0c4a343 --- /dev/null +++ b/triplets/community/x64-uwp-static-md.cmake @@ -0,0 +1,5 @@ +set(VCPKG_TARGET_ARCHITECTURE x64) +set(VCPKG_CRT_LINKAGE dynamic) +set(VCPKG_LIBRARY_LINKAGE static) +set(VCPKG_CMAKE_SYSTEM_NAME WindowsStore) +set(VCPKG_CMAKE_SYSTEM_VERSION 10.0) diff --git a/triplets/community/x64-windows-release.cmake b/triplets/community/x64-windows-release.cmake new file mode 100644 index 00000000000000..f6c40253a080c7 --- /dev/null +++ b/triplets/community/x64-windows-release.cmake @@ -0,0 +1,4 @@ +set(VCPKG_TARGET_ARCHITECTURE x64) +set(VCPKG_CRT_LINKAGE dynamic) +set(VCPKG_LIBRARY_LINKAGE dynamic) +set(VCPKG_BUILD_TYPE release) diff --git a/triplets/community/x64-windows-static-md-release.cmake b/triplets/community/x64-windows-static-md-release.cmake new file mode 100644 index 00000000000000..1dfbb1b46d02df --- /dev/null +++ b/triplets/community/x64-windows-static-md-release.cmake @@ -0,0 +1,5 @@ +set(VCPKG_TARGET_ARCHITECTURE x64) +set(VCPKG_CRT_LINKAGE dynamic) +set(VCPKG_LIBRARY_LINKAGE static) + +set(VCPKG_BUILD_TYPE release) diff --git a/triplets/community/x64-windows-static-release.cmake b/triplets/community/x64-windows-static-release.cmake new file mode 100644 index 00000000000000..66655f18777144 --- /dev/null +++ b/triplets/community/x64-windows-static-release.cmake @@ -0,0 +1,5 @@ +set(VCPKG_TARGET_ARCHITECTURE x64) +set(VCPKG_CRT_LINKAGE static) +set(VCPKG_LIBRARY_LINKAGE static) + +set(VCPKG_BUILD_TYPE release) diff --git a/triplets/community/x64-xbox-scarlett-static.cmake b/triplets/community/x64-xbox-scarlett-static.cmake new file mode 100644 index 00000000000000..acf742674fab9b --- /dev/null +++ b/triplets/community/x64-xbox-scarlett-static.cmake @@ -0,0 +1,4 @@ +set(VCPKG_TARGET_ARCHITECTURE x64) +set(VCPKG_CRT_LINKAGE dynamic) +set(VCPKG_LIBRARY_LINKAGE static) +set(VCPKG_XBOX_CONSOLE_TARGET scarlett) diff --git a/triplets/community/x64-xbox-scarlett.cmake b/triplets/community/x64-xbox-scarlett.cmake new file mode 100644 index 00000000000000..0cf353b3a8e5fa --- /dev/null +++ b/triplets/community/x64-xbox-scarlett.cmake @@ -0,0 +1,4 @@ +set(VCPKG_TARGET_ARCHITECTURE x64) +set(VCPKG_CRT_LINKAGE dynamic) +set(VCPKG_LIBRARY_LINKAGE dynamic) +set(VCPKG_XBOX_CONSOLE_TARGET scarlett) diff --git a/triplets/community/x64-xbox-xboxone-static.cmake b/triplets/community/x64-xbox-xboxone-static.cmake new file mode 100644 index 00000000000000..1202acc8b55f7d --- /dev/null +++ b/triplets/community/x64-xbox-xboxone-static.cmake @@ -0,0 +1,4 @@ +set(VCPKG_TARGET_ARCHITECTURE x64) +set(VCPKG_CRT_LINKAGE dynamic) +set(VCPKG_LIBRARY_LINKAGE static) +set(VCPKG_XBOX_CONSOLE_TARGET xboxone) diff --git a/triplets/community/x64-xbox-xboxone.cmake b/triplets/community/x64-xbox-xboxone.cmake new file mode 100644 index 00000000000000..36061fc775cea5 --- /dev/null +++ b/triplets/community/x64-xbox-xboxone.cmake @@ -0,0 +1,4 @@ +set(VCPKG_TARGET_ARCHITECTURE x64) +set(VCPKG_CRT_LINKAGE dynamic) +set(VCPKG_LIBRARY_LINKAGE dynamic) +set(VCPKG_XBOX_CONSOLE_TARGET xboxone) diff --git a/triplets/community/x86-android.cmake b/triplets/community/x86-android.cmake index ca0fbaeffb0e07..ef668467a266c9 100644 --- a/triplets/community/x86-android.cmake +++ b/triplets/community/x86-android.cmake @@ -2,3 +2,5 @@ set(VCPKG_TARGET_ARCHITECTURE x86) set(VCPKG_CRT_LINKAGE static) set(VCPKG_LIBRARY_LINKAGE static) set(VCPKG_CMAKE_SYSTEM_NAME Android) +set(VCPKG_MAKE_BUILD_TRIPLET "--host=i686-linux-android") +set(VCPKG_CMAKE_CONFIGURE_OPTIONS -DANDROID_ABI=x86) diff --git a/triplets/community/x86-linux.cmake b/triplets/community/x86-linux.cmake new file mode 100644 index 00000000000000..14d2e9aa472f41 --- /dev/null +++ b/triplets/community/x86-linux.cmake @@ -0,0 +1,5 @@ +set(VCPKG_TARGET_ARCHITECTURE x86) +set(VCPKG_CRT_LINKAGE dynamic) +set(VCPKG_LIBRARY_LINKAGE static) + +set(VCPKG_CMAKE_SYSTEM_NAME Linux) diff --git a/triplets/community/x86-uwp-static-md.cmake b/triplets/community/x86-uwp-static-md.cmake new file mode 100644 index 00000000000000..0c72e3c9d338de --- /dev/null +++ b/triplets/community/x86-uwp-static-md.cmake @@ -0,0 +1,5 @@ +set(VCPKG_TARGET_ARCHITECTURE x86) +set(VCPKG_CRT_LINKAGE dynamic) +set(VCPKG_LIBRARY_LINKAGE static) +set(VCPKG_CMAKE_SYSTEM_NAME WindowsStore) +set(VCPKG_CMAKE_SYSTEM_VERSION 10.0) diff --git a/triplets/x64-android.cmake b/triplets/x64-android.cmake new file mode 100644 index 00000000000000..28404f4ed7bc29 --- /dev/null +++ b/triplets/x64-android.cmake @@ -0,0 +1,6 @@ +set(VCPKG_TARGET_ARCHITECTURE x64) +set(VCPKG_CRT_LINKAGE static) +set(VCPKG_LIBRARY_LINKAGE static) +set(VCPKG_CMAKE_SYSTEM_NAME Android) +set(VCPKG_MAKE_BUILD_TRIPLET "--host=x86_64-linux-android") +set(VCPKG_CMAKE_CONFIGURE_OPTIONS -DANDROID_ABI=x86_64) diff --git a/versions/3-/3fd.json b/versions/3-/3fd.json index 2a20264ea9ae88..0ad755d50f26ab 100644 --- a/versions/3-/3fd.json +++ b/versions/3-/3fd.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "81e9fd75ff6a4fee6ab7a5d4d09e7e3a735fbaaa", + "version": "2.6.3", + "port-version": 4 + }, + { + "git-tree": "0bfff492ed0b9ee3f31bb7593443572bc0fcf2d4", + "version": "2.6.3", + "port-version": 3 + }, + { + "git-tree": "3b52e6aff44ca4e11335754570701f692ea14184", + "version": "2.6.3", + "port-version": 2 + }, { "git-tree": "622078647d4fff0a51a26a4ecff2ba9109e5764d", "version": "2.6.3", diff --git a/versions/7-/7zip.json b/versions/7-/7zip.json index f699a2885f4926..55314b96b94730 100644 --- a/versions/7-/7zip.json +++ b/versions/7-/7zip.json @@ -1,5 +1,70 @@ { "versions": [ + { + "git-tree": "36bee800b8aadc1908cc02cc1561dee40a3b43f6", + "version-string": "24.08", + "port-version": 1 + }, + { + "git-tree": "f8021d6c213215f0eb9e99500d348291ac5898c5", + "version-string": "24.08", + "port-version": 0 + }, + { + "git-tree": "142f1372ed52dd210159c9ae75e6195009451554", + "version-string": "24.06", + "port-version": 0 + }, + { + "git-tree": "23256cddd31991c2df4d96a07fc016fd446c2d2d", + "version-string": "23.01", + "port-version": 2 + }, + { + "git-tree": "2f1fa323db9a88dd410e7d46ad651f7fe5cb620c", + "version-string": "23.01", + "port-version": 1 + }, + { + "git-tree": "770ce8dc829180bfcf2c396aa780474a87289f89", + "version-string": "23.01", + "port-version": 0 + }, + { + "git-tree": "b0a5040bfab9f50a386dc1b40f291fa581b21c79", + "version-string": "22.01", + "port-version": 1 + }, + { + "git-tree": "e28ef5008a5e93e67db2904c72586f4a667ef5ed", + "version-string": "22.01", + "port-version": 0 + }, + { + "git-tree": "3cbbaee3c546a24fc68b37759c9a5fc62b683ff0", + "version": "22.0", + "port-version": 1 + }, + { + "git-tree": "15ce7b0d1812f8640e74075ca9f5e3a08b3bc875", + "version": "22.0", + "port-version": 0 + }, + { + "git-tree": "d60561160384264eaf45a225dcb41beccb87ecbc", + "version-string": "21.07", + "port-version": 1 + }, + { + "git-tree": "7a951689070e40d8ff0ed20b4e18bc533ef5db1f", + "version-string": "21.07", + "port-version": 0 + }, + { + "git-tree": "54b143613df50187b48517d63796569641c4eee7", + "version-string": "19.00", + "port-version": 4 + }, { "git-tree": "c49050bcc9af0a2cbd9c572386e6a8b547ebd9f7", "version-string": "19.00", diff --git a/versions/a-/ableton-link.json b/versions/a-/ableton-link.json new file mode 100644 index 00000000000000..d120450bbfcf47 --- /dev/null +++ b/versions/a-/ableton-link.json @@ -0,0 +1,39 @@ +{ + "versions": [ + { + "git-tree": "6b47180236436bf9d91f8f42f011480011283298", + "version": "3.1.2", + "port-version": 0 + }, + { + "git-tree": "8eccb8fd47b4f50d9963694746c4dd53a8c6ac22", + "version": "3.1.1", + "port-version": 1 + }, + { + "git-tree": "1e486a5e643aafc9810b1e4c2d9c3da1d3e2d156", + "version": "3.1.1", + "port-version": 0 + }, + { + "git-tree": "4827f8ad0a42e763cffae490000a08bbd52d7cdf", + "version": "3.1.0", + "port-version": 0 + }, + { + "git-tree": "3c37c3cf9ca37c0c0d9ddffec58b8deb9c968723", + "version": "3.0.6", + "port-version": 2 + }, + { + "git-tree": "e88d1fcc5959b44924c1bec7ae3b5535327f41ef", + "version": "3.0.6", + "port-version": 1 + }, + { + "git-tree": "eb603bd61d919dd4db44c901c00e47198fe186c5", + "version": "3.0.6", + "port-version": 0 + } + ] +} diff --git a/versions/a-/ableton.json b/versions/a-/ableton.json new file mode 100644 index 00000000000000..8bc290d3fc9f53 --- /dev/null +++ b/versions/a-/ableton.json @@ -0,0 +1,34 @@ +{ + "versions": [ + { + "git-tree": "d7d1ce16983bcf96d3134583617767e765d9b6c0", + "version": "3.0.6", + "port-version": 2 + }, + { + "git-tree": "04e19d5336b0e18917966ce1de230dc3bf9c796d", + "version": "3.0.6", + "port-version": 1 + }, + { + "git-tree": "99ee001ca82f0336506a3f33cb2b94e7942464e3", + "version": "3.0.6", + "port-version": 0 + }, + { + "git-tree": "d688b97174372d4d7d73278cece5bdc5a64b4136", + "version": "3.0.5", + "port-version": 2 + }, + { + "git-tree": "70d81e7e966f983af654d779a02817d89eacea3b", + "version": "3.0.5", + "port-version": 1 + }, + { + "git-tree": "bac28c4912d6fd4e32ad716ec8bf4e197c9a4cb8", + "version": "3.0.5", + "port-version": 0 + } + ] +} diff --git a/versions/a-/abletonlink.json b/versions/a-/abletonlink.json new file mode 100644 index 00000000000000..af405c1775ac09 --- /dev/null +++ b/versions/a-/abletonlink.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "c0588a447d137cad95097141c9006267a129eab3", + "version": "3.0.6", + "port-version": 0 + } + ] +} diff --git a/versions/a-/abseil.json b/versions/a-/abseil.json index 78a07547d7dd6d..9a07848d323faa 100644 --- a/versions/a-/abseil.json +++ b/versions/a-/abseil.json @@ -1,5 +1,80 @@ { "versions": [ + { + "git-tree": "95ed5fee53b8698ac2cc6687f470e6fa76474a3a", + "version": "20240722.0", + "port-version": 0 + }, + { + "git-tree": "dcd1d7ce3c896f86473b155e608bb9cfdaae2d94", + "version": "20240116.2", + "port-version": 3 + }, + { + "git-tree": "26ec106886be2fb2bc0f35b0bda9a1d3d5f01717", + "version": "20240116.2", + "port-version": 2 + }, + { + "git-tree": "de728ac31037e511da4996c815903e6ac71e8fb9", + "version": "20240116.2", + "port-version": 1 + }, + { + "git-tree": "9af16c8547b0a3d6c5886384b9b18934353c9d6d", + "version": "20240116.2", + "port-version": 0 + }, + { + "git-tree": "948d23db90b120245e93ea7c0f0b773039d2aedd", + "version": "20240116.1", + "port-version": 1 + }, + { + "git-tree": "a8b26862556884ff981430b54b130d4b1ef6eef7", + "version": "20240116.1", + "port-version": 0 + }, + { + "git-tree": "49a35a30915907a4e46b57bb33b8aa1f2185e757", + "version": "20230802.1", + "port-version": 0 + }, + { + "git-tree": "95cfb844950f2cc3e1a530bd23967ee2ea218f74", + "version": "20230802.0", + "port-version": 0 + }, + { + "git-tree": "370a6da6fa1c5e259a8c8deec863e705aa423be6", + "version": "20230125.3", + "port-version": 1 + }, + { + "git-tree": "6a337fa251c0ac4489d9c0ea1e2f1c9a7d019eb5", + "version": "20230125.3", + "port-version": 0 + }, + { + "git-tree": "a88e9003e0d38c2cfbcc676931a0204d749e6629", + "version": "20230125.0", + "port-version": 1 + }, + { + "git-tree": "aa4f29f110c771e7096ba356501e4a0d6d3d9baa", + "version": "20230125.0", + "port-version": 0 + }, + { + "git-tree": "c569c0e44beca0b94d5a2d52a24e3a91868550ae", + "version-string": "20220623.1", + "port-version": 0 + }, + { + "git-tree": "962a81319706d17c9e90bd0b873659ec7c75178a", + "version-string": "20211102.1", + "port-version": 0 + }, { "git-tree": "10d137aa21adc696f8469d49f67b90ce0d50e1a1", "version-string": "20210324.2", @@ -45,11 +120,6 @@ "version-string": "2020-03-03", "port-version": 8 }, - { - "git-tree": "28fa609b06eec70bb06e61891e94b94f35f7d06e", - "version-string": "2020-03-03", - "port-version": 7 - }, { "git-tree": "606b9214364983e5df021d0556dbec5e44f4b0a8", "version-string": "2020-03-03-7", diff --git a/versions/a-/absent.json b/versions/a-/absent.json index 7d0a280eaa4bc1..8cc30040fe6edd 100644 --- a/versions/a-/absent.json +++ b/versions/a-/absent.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "84a42adaeabc3fb5db1b9f8c4bb6c4155db57d17", + "version": "0.3.1", + "port-version": 3 + }, + { + "git-tree": "4245977c7070822c223161421a31aa6fe5042017", + "version-string": "0.3.1", + "port-version": 2 + }, { "git-tree": "d1f1f8e5f036e686e2a7881d4b8594f737196090", "version-string": "0.3.1", diff --git a/versions/a-/ace.json b/versions/a-/ace.json index f6081bc42fafe6..9ca2541351a490 100644 --- a/versions/a-/ace.json +++ b/versions/a-/ace.json @@ -1,5 +1,125 @@ { "versions": [ + { + "git-tree": "c16e08c8a66c79088352b1c8c0161fbb998f5ad7", + "version": "8.0.1", + "port-version": 0 + }, + { + "git-tree": "6536f72ed3c2a3b49a014db1539df4bb95efd53a", + "version": "8.0.0", + "port-version": 0 + }, + { + "git-tree": "263db908e6fbd28ca7dc7bf9e107470674957f91", + "version": "7.1.4", + "port-version": 0 + }, + { + "git-tree": "00c6b2eb50cad87d13e5a6a59f38e30cfa954651", + "version": "7.1.2", + "port-version": 1 + }, + { + "git-tree": "696c1096e0de3cd394392720aa34e0ceceac52e7", + "version": "7.1.2", + "port-version": 0 + }, + { + "git-tree": "acebbd833daa493d4e2075ce547646719d8cd080", + "version": "7.1.1", + "port-version": 2 + }, + { + "git-tree": "b9ee0ab32f4cbb2e1df0b0b060e0691e5e684261", + "version": "7.1.1", + "port-version": 1 + }, + { + "git-tree": "a8efd3ae98a66b7cb6de80d09db896b13a6300e7", + "version": "7.1.1", + "port-version": 0 + }, + { + "git-tree": "df4ee7b5111a86e0bc99f45b39447bff68d102bd", + "version": "7.1.0", + "port-version": 1 + }, + { + "git-tree": "9a2a1876f2f625494b16da42b27ace343255d691", + "version": "7.1.0", + "port-version": 0 + }, + { + "git-tree": "25ea14090fceba8ae684e0c6ab047a719250ef56", + "version": "7.0.11", + "port-version": 2 + }, + { + "git-tree": "055cdc76b023b781dec64b9b93bbeb8e807c9fda", + "version": "7.0.11", + "port-version": 1 + }, + { + "git-tree": "15d0445ba1511e35f0db4eaa09d75516529d6b92", + "version": "7.0.11", + "port-version": 0 + }, + { + "git-tree": "8bdeb0d1434ffdf14bad59ba83c46175ca86c269", + "version": "7.0.10", + "port-version": 1 + }, + { + "git-tree": "071572f946d1073390824598caf6484b6a0fdcbf", + "version": "7.0.10", + "port-version": 0 + }, + { + "git-tree": "a22887d1c18c9aa6dddf95aecf25c7595d071ca3", + "version": "7.0.8", + "port-version": 0 + }, + { + "git-tree": "d20fc0a9eac1744ff9fb5c5427eade58234e35c9", + "version": "7.0.6", + "port-version": 3 + }, + { + "git-tree": "0ad9c09c1663f5264f5bf5dcbe1d402618973144", + "version": "7.0.6", + "port-version": 2 + }, + { + "git-tree": "cac33553b152f59e730715fcc1bae263bb037862", + "version": "7.0.6", + "port-version": 1 + }, + { + "git-tree": "c851425112d4af710db29d482e43a15ade7ee463", + "version": "7.0.6", + "port-version": 0 + }, + { + "git-tree": "2fdbe23020728d91dbae5249ed04b42b4b882a87", + "version": "7.0.5", + "port-version": 3 + }, + { + "git-tree": "1801922b3e4808edcd0b55b6a800bbb1c01687a6", + "version": "7.0.5", + "port-version": 2 + }, + { + "git-tree": "036533c7b1153d148040334e7195557ce41265e9", + "version": "7.0.5", + "port-version": 1 + }, + { + "git-tree": "bcc74bda3a7d8c6a93ff6ff5866de20612661fc3", + "version": "7.0.5", + "port-version": 0 + }, { "git-tree": "c58c295074b4a00a80b4e684f9a876ed369cdd49", "version": "7.0.3", diff --git a/versions/a-/acl.json b/versions/a-/acl.json new file mode 100644 index 00000000000000..ce5d77044479ed --- /dev/null +++ b/versions/a-/acl.json @@ -0,0 +1,24 @@ +{ + "versions": [ + { + "git-tree": "eb604826193ba4179f82e2279639c996321551df", + "version-semver": "2.3.2", + "port-version": 0 + }, + { + "git-tree": "2d8c536397cb3a1f7c8979db3df870ae53a439cf", + "version-semver": "2.3.1", + "port-version": 2 + }, + { + "git-tree": "4c930bf34406e76819ad7b83ff26536e64ad09f0", + "version-semver": "2.3.1", + "port-version": 1 + }, + { + "git-tree": "011933c793e7b1a34c8fbc1722cb594be61fff47", + "version-semver": "2.3.1", + "port-version": 0 + } + ] +} diff --git a/versions/a-/activemq-cpp.json b/versions/a-/activemq-cpp.json index e08320929ec621..b3bb8f5d0e8b5f 100644 --- a/versions/a-/activemq-cpp.json +++ b/versions/a-/activemq-cpp.json @@ -1,5 +1,65 @@ { "versions": [ + { + "git-tree": "0066f657df214848cbfd6b991e8ff4a52902e81b", + "version-semver": "3.9.5", + "port-version": 17 + }, + { + "git-tree": "1644c99e45b2364ea36c0307b4d7171f4717ccdc", + "version-semver": "3.9.5", + "port-version": 16 + }, + { + "git-tree": "c1aa825d176f58217f5fe94a3386923ffe2f924e", + "version-semver": "3.9.5", + "port-version": 15 + }, + { + "git-tree": "7af309821bf9e2fdfaaf67e38eae1a073b4d1acc", + "version-semver": "3.9.5", + "port-version": 14 + }, + { + "git-tree": "75c1e838f461bba7a78802919b2ec16bdbfd154e", + "version-semver": "3.9.5", + "port-version": 13 + }, + { + "git-tree": "d8cbff606d12daa3bf08a8fa623c2d524f1e05e5", + "version-semver": "3.9.5", + "port-version": 12 + }, + { + "git-tree": "8674469ca3e9968a8473861000056e09a190ced4", + "version-semver": "3.9.5", + "port-version": 11 + }, + { + "git-tree": "2cf2310a238e646e62043be2f553332d8bd4c171", + "version-semver": "3.9.5", + "port-version": 10 + }, + { + "git-tree": "4f5d3901f612afe54e714fb14e47d343822e398e", + "version-semver": "3.9.5", + "port-version": 9 + }, + { + "git-tree": "ec8c68847a3d3950cec058e76a3963fac34fd682", + "version-semver": "3.9.5", + "port-version": 8 + }, + { + "git-tree": "531d21bab7c2d9e9e2ecb1c84e6cf9f1c6173a51", + "version-semver": "3.9.5", + "port-version": 7 + }, + { + "git-tree": "0d1c131172bea536490960f632ac287b3db73edb", + "version-semver": "3.9.5", + "port-version": 6 + }, { "git-tree": "bce9f87e7df6f4e8a9c3121018ffc032e3d2603e", "version-semver": "3.9.5", diff --git a/versions/a-/ada-url.json b/versions/a-/ada-url.json new file mode 100644 index 00000000000000..3986e198f4bcaa --- /dev/null +++ b/versions/a-/ada-url.json @@ -0,0 +1,49 @@ +{ + "versions": [ + { + "git-tree": "ca729da9e664e3a59d88115c9e8a8d59b775801c", + "version": "2.9.2", + "port-version": 0 + }, + { + "git-tree": "2587b45a68dd1af9394ffb47b1e517ec04a619e7", + "version": "2.9.1", + "port-version": 0 + }, + { + "git-tree": "71bc8577d2e9a0e2be09fd775ab224a28f9c9e0e", + "version": "2.7.7", + "port-version": 0 + }, + { + "git-tree": "bb2fecfc860c0e8a6483de55069b826d8c556004", + "version": "2.7.6", + "port-version": 0 + }, + { + "git-tree": "da619020bc25fc94014a434ab3e2ea77937d00f8", + "version": "2.7.4", + "port-version": 0 + }, + { + "git-tree": "793a12bdf6a056b11297c61d8129764722fd04b0", + "version": "2.6.8", + "port-version": 0 + }, + { + "git-tree": "5eeb54c3da6362aa30bddf522b944e1e95bdc005", + "version": "2.6.0", + "port-version": 0 + }, + { + "git-tree": "e613c15954b7650fd68c9f46109ba536dad6a27a", + "version": "2.5.1", + "port-version": 0 + }, + { + "git-tree": "184ab96a9e448d759aafb20f540502f43b5fc7f9", + "version": "2.4.2", + "port-version": 0 + } + ] +} diff --git a/versions/a-/ade.json b/versions/a-/ade.json index 063198687b8a2d..a7f75babfb6a02 100644 --- a/versions/a-/ade.json +++ b/versions/a-/ade.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "005ca3815ef985e0e10d716652be95e7775cf8de", + "version-string": "0.1.2d", + "port-version": 0 + }, + { + "git-tree": "c42175dddb51914574ff7fdcb8f653ed342f8ff2", + "version-string": "0.1.2c", + "port-version": 0 + }, + { + "git-tree": "be78a5027373a1ff6c75587da2aa96126c832b1c", + "version": "0.1.2", + "port-version": 0 + }, + { + "git-tree": "a1fe12280de42d63d57dd77fd43ac40a7840bae5", + "version-string": "0.1.1f", + "port-version": 3 + }, { "git-tree": "ca6a81fb330a77f6aa4c58b63af7efcbe1643e62", "version-string": "0.1.1f", diff --git a/versions/a-/adios2.json b/versions/a-/adios2.json new file mode 100644 index 00000000000000..62729a95d8bbc4 --- /dev/null +++ b/versions/a-/adios2.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "0735c00783c947889dca9782995411e5be690213", + "version": "2.9.2", + "port-version": 0 + }, + { + "git-tree": "fac4ec886b3d46f0a48ee44988fc8224bce59ad7", + "version": "2.8.3", + "port-version": 1 + }, + { + "git-tree": "1a832feea61b7166bf688a246cda2f7c038aeeac", + "version": "2.8.3", + "port-version": 0 + } + ] +} diff --git a/versions/a-/air-ctl.json b/versions/a-/air-ctl.json new file mode 100644 index 00000000000000..ae416a2f399b45 --- /dev/null +++ b/versions/a-/air-ctl.json @@ -0,0 +1,39 @@ +{ + "versions": [ + { + "git-tree": "a55917cb84ea50c01d4c56c474171fd71952f076", + "version": "1.1.2", + "port-version": 2 + }, + { + "git-tree": "334287af2a9a10d76ce270d72f4df58e5ddc7434", + "version": "1.1.2", + "port-version": 1 + }, + { + "git-tree": "7ba95e186d0f375425730cf877027e7e3b9961b1", + "version": "1.1.2", + "port-version": 0 + }, + { + "git-tree": "9d82351b11318cc51aac7ad71e56cef49c83361b", + "version": "1.1.1", + "port-version": 0 + }, + { + "git-tree": "a0f9e096458b1d0a77995acdffca30c15466592e", + "version": "1.1.0", + "port-version": 0 + }, + { + "git-tree": "f903c4c9124f693bab3174cca9bba73ed068bbb4", + "version": "1.0.0", + "port-version": 1 + }, + { + "git-tree": "7f997c28da50f2d8c86639da2c7beab3a00189ce", + "version": "1.0.0", + "port-version": 0 + } + ] +} diff --git a/versions/a-/aixlog.json b/versions/a-/aixlog.json index 203715084bde84..6fa24783c720fa 100644 --- a/versions/a-/aixlog.json +++ b/versions/a-/aixlog.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "dd7db7eb82342728ee7a0e93ce1d446d834232c2", + "version": "1.5.0", + "port-version": 1 + }, { "git-tree": "ca812db174980bd0007da672c5ec4dd52134bf73", "version-semver": "1.5.0", diff --git a/versions/a-/akali.json b/versions/a-/akali.json index e960d28aafcfc6..4d9c7e16a029bc 100644 --- a/versions/a-/akali.json +++ b/versions/a-/akali.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "a0090858a22905c2856b8796f852d1a403081be7", + "version": "1.43", + "port-version": 1 + }, + { + "git-tree": "5e97f0348cd1def4c594fda413436a01609923ec", + "version": "1.43", + "port-version": 0 + }, + { + "git-tree": "44ab167f077406e598eb19f7e48f10b638bc1547", + "version-string": "1.42", + "port-version": 3 + }, { "git-tree": "1b94b1623b0778525e405410cee7d6d069ac56ca", "version-string": "1.42", diff --git a/versions/a-/aklomp-base64.json b/versions/a-/aklomp-base64.json new file mode 100644 index 00000000000000..b0ae53cf2dc2fd --- /dev/null +++ b/versions/a-/aklomp-base64.json @@ -0,0 +1,24 @@ +{ + "versions": [ + { + "git-tree": "32391e2fcbfe5714ed3b2f6aa8023646c238c1ce", + "version": "0.5.2", + "port-version": 0 + }, + { + "git-tree": "ed49981a592ca849cbb3274159c8ed21392e73df", + "version": "0.5.1", + "port-version": 0 + }, + { + "git-tree": "4785f09421c2636709249ad7a555c7420b9bcfe8", + "version-date": "2023-01-06", + "port-version": 1 + }, + { + "git-tree": "f73a4f50ab2a515962e939dad478916a5f44842f", + "version-date": "2023-01-06", + "port-version": 0 + } + ] +} diff --git a/versions/a-/alac-decoder.json b/versions/a-/alac-decoder.json index 2a58e747807467..b64eae86d72208 100644 --- a/versions/a-/alac-decoder.json +++ b/versions/a-/alac-decoder.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "2812ce639bc0f6f2c8fbb93f348d721b1c2df14d", + "version": "0.2", + "port-version": 7 + }, + { + "git-tree": "4b02da71863a4f88b910c23f05909e2cbb9ab9cc", + "version-string": "0.2", + "port-version": 6 + }, { "git-tree": "e4bc6809ac5b52236ec0ea4d48cfa904f493ab21", "version-string": "0.2", diff --git a/versions/a-/alac.json b/versions/a-/alac.json index df4158718327be..8f8917b57d2be0 100644 --- a/versions/a-/alac.json +++ b/versions/a-/alac.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "88a9f4cee49d77de933447fad12491899c59ab70", + "version": "2017-11-03-c38887c5", + "port-version": 4 + }, + { + "git-tree": "71902d13114760bafba205b06f2c7e0ff65a4974", + "version-string": "2017-11-03-c38887c5", + "port-version": 3 + }, { "git-tree": "4b325e9f42af74eca82fae2a845a5108b06b44ce", "version-string": "2017-11-03-c38887c5", diff --git a/versions/a-/alembic.json b/versions/a-/alembic.json index b2a60245545ed4..c0420a2fe15095 100644 --- a/versions/a-/alembic.json +++ b/versions/a-/alembic.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "f65e2f9fbe3059405f79ec9ea833a52ccf098328", + "version": "1.8.7", + "port-version": 0 + }, + { + "git-tree": "ca5f035424c794b8cde9d41c7103b612e912a275", + "version": "1.8.6", + "port-version": 0 + }, + { + "git-tree": "5cb4b9d32a6098f48e3d0a75ddd7eaae7a7df085", + "version": "1.8.5", + "port-version": 0 + }, + { + "git-tree": "16bef528ef38e7426a333739878188d9ca909bc5", + "version": "1.8.3", + "port-version": 1 + }, { "git-tree": "8cb082c36da272a988b08fe0c4c638ff62cb1ad2", "version": "1.8.3", diff --git a/versions/a-/aliyun-oss-c-sdk.json b/versions/a-/aliyun-oss-c-sdk.json index 724871e0279317..a981dbe026574a 100644 --- a/versions/a-/aliyun-oss-c-sdk.json +++ b/versions/a-/aliyun-oss-c-sdk.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "680bc0ab5a25c9d9ef3191d9ba9f7fe2ae3829b7", + "version": "3.10.1", + "port-version": 0 + }, + { + "git-tree": "4a6710098ecdb98956fdde32c883a45e2abae333", + "version": "3.10.0", + "port-version": 3 + }, + { + "git-tree": "a05ad4fd2bde4c19dccdbfd66c18130e5bed7902", + "version-string": "3.10.0", + "port-version": 2 + }, { "git-tree": "52b0340f3b53966018738d256f74a64c0c90ee5e", "version-string": "3.10.0", diff --git a/versions/a-/aliyun-oss-cpp-sdk.json b/versions/a-/aliyun-oss-cpp-sdk.json new file mode 100644 index 00000000000000..700c7304eb2198 --- /dev/null +++ b/versions/a-/aliyun-oss-cpp-sdk.json @@ -0,0 +1,29 @@ +{ + "versions": [ + { + "git-tree": "0a3a24c8c70b6a27060c31a2be0a748bff22ef52", + "version": "1.10.0", + "port-version": 4 + }, + { + "git-tree": "0911047ac61bf556c75c153d23ab0169990a4f77", + "version": "1.10.0", + "port-version": 3 + }, + { + "git-tree": "ca0c99c6cdc51c43705f89baf7ee8a4e61b25fe2", + "version": "1.10.0", + "port-version": 2 + }, + { + "git-tree": "732b0995e1fae92ab6192bbf41f0e40a459d9ac7", + "version": "1.10.0", + "port-version": 1 + }, + { + "git-tree": "cb847011bd7b34fe9ce8ce2ebf15141de1588003", + "version": "1.10.0", + "port-version": 0 + } + ] +} diff --git a/versions/a-/allegro5.json b/versions/a-/allegro5.json index 8b467274fee051..8268fa139290ac 100644 --- a/versions/a-/allegro5.json +++ b/versions/a-/allegro5.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "27bd05e0bc710ebb1303d8b59d640bdf8f361497", + "version": "5.2.9.1", + "port-version": 1 + }, + { + "git-tree": "1162ff1bdc43ad43036a30af2ca8214eeea566d9", + "version": "5.2.9.1", + "port-version": 0 + }, + { + "git-tree": "93860d1ef432006526823ace61750eb6b0e86ec2", + "version": "5.2.9.0", + "port-version": 0 + }, + { + "git-tree": "a50ae858c1ef5e8d94fa850e2857b7a449cc5f55", + "version": "5.2.6.0", + "port-version": 4 + }, + { + "git-tree": "09b555503c34ca7a0052436996b19bb4deb5d701", + "version": "5.2.6.0", + "port-version": 3 + }, + { + "git-tree": "47c415593bf3de3c28afc1d476d5eab92aa8efb2", + "version": "5.2.6.0", + "port-version": 2 + }, { "git-tree": "b851d9d0babf00bdd273eec402aea26e826cb517", "version": "5.2.6.0", diff --git a/versions/a-/alpaca.json b/versions/a-/alpaca.json new file mode 100644 index 00000000000000..cfbf6b29244342 --- /dev/null +++ b/versions/a-/alpaca.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "9533d25c8a1eabb24839c4ed613d10be95101b4b", + "version": "0.2.1", + "port-version": 0 + }, + { + "git-tree": "d8a880634d8e1b510b01820aea947721639c0d14", + "version": "0.2.0", + "port-version": 0 + } + ] +} diff --git a/versions/a-/alpaka.json b/versions/a-/alpaka.json new file mode 100644 index 00000000000000..2a14a6d26a6aad --- /dev/null +++ b/versions/a-/alpaka.json @@ -0,0 +1,29 @@ +{ + "versions": [ + { + "git-tree": "cd185626a62396b8160dae226d4f8aa89c8b4822", + "version": "1.2.0", + "port-version": 0 + }, + { + "git-tree": "61ecfc7faca32c8f1918d7e78fa7b31db5352290", + "version": "1.1.0", + "port-version": 0 + }, + { + "git-tree": "8de339e1b25c07aa1f0eda93117730b60da400e5", + "version": "1.0.0", + "port-version": 0 + }, + { + "git-tree": "7149b432a8cfdb7406ce5979d11c11c5caa8fe3f", + "version": "0.9.0", + "port-version": 1 + }, + { + "git-tree": "fa2a5d53283561fed784514fd0063badc589eb39", + "version": "0.9.0", + "port-version": 0 + } + ] +} diff --git a/versions/a-/alsa.json b/versions/a-/alsa.json index 3da4e4546e5a2c..6b31734baf95e0 100644 --- a/versions/a-/alsa.json +++ b/versions/a-/alsa.json @@ -1,5 +1,50 @@ { "versions": [ + { + "git-tree": "7ca33fd13a8aadfd37ec4696181eb98d0226a738", + "version": "1.2.11", + "port-version": 2 + }, + { + "git-tree": "78ad470e54eac71113219036519aa55ff3489294", + "version": "1.2.11", + "port-version": 1 + }, + { + "git-tree": "1ea8f5d1e2f27c55e80e1bcce24aacc37849074e", + "version": "1.2.11", + "port-version": 0 + }, + { + "git-tree": "d3fa8b1fd27e767f429d0736b6636df796e2c335", + "version": "1.2.10", + "port-version": 0 + }, + { + "git-tree": "18d67806b319dea0e3c2e9c921a1864901af1d22", + "version": "1.2.8", + "port-version": 1 + }, + { + "git-tree": "1e4f79a1681c6c40c4b500bf4c8c5d3746916bab", + "version": "1.2.8", + "port-version": 0 + }, + { + "git-tree": "658bd201adf1ade8dcfceacc5678f4b790a799c8", + "version": "1.2.6.1", + "port-version": 2 + }, + { + "git-tree": "66750ac0b1a786a2fec12e88ca0e110b3f41d75e", + "version": "1.2.6.1", + "port-version": 1 + }, + { + "git-tree": "1ce0c3410e25de5357b707dc0f800cf7c3a7f213", + "version": "1.2.6.1", + "port-version": 0 + }, { "git-tree": "03a04f17b2dfb480de15a07b58188b161dbe6dda", "version": "1.2.5.1", diff --git a/versions/a-/amd-adl-sdk.json b/versions/a-/amd-adl-sdk.json new file mode 100644 index 00000000000000..d16ffb1b1cc0f2 --- /dev/null +++ b/versions/a-/amd-adl-sdk.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "839f4b627dbcc1304fc47f6d3d8d142b80a6206d", + "version": "17.1", + "port-version": 0 + } + ] +} diff --git a/versions/a-/amd-amf.json b/versions/a-/amd-amf.json new file mode 100644 index 00000000000000..77d086cf88caa5 --- /dev/null +++ b/versions/a-/amd-amf.json @@ -0,0 +1,29 @@ +{ + "versions": [ + { + "git-tree": "47db5211b49a66cf05a86858cddd41d2c4b5d8a9", + "version": "1.4.35", + "port-version": 0 + }, + { + "git-tree": "05f431d0e98bedc40b4c5740691259022952e7ba", + "version": "1.4.33", + "port-version": 1 + }, + { + "git-tree": "e928a59c07245a0a665b008fc7a9d01cf816450c", + "version": "1.4.33", + "port-version": 0 + }, + { + "git-tree": "1ab17b71ee3b3f99c9a7c83abd3a4cb1c6c5bcfc", + "version": "1.4.29", + "port-version": 0 + }, + { + "git-tree": "c65d944ff736b48b7b94298ed4627cb49458e7ba", + "version": "1.4.26", + "port-version": 0 + } + ] +} diff --git a/versions/a-/ampl-asl.json b/versions/a-/ampl-asl.json index ace12ea0ae0b4e..672e95366db453 100644 --- a/versions/a-/ampl-asl.json +++ b/versions/a-/ampl-asl.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "af475f9134b986c7677f68e74b1658725d60b876", + "version-date": "2024-02-01", + "port-version": 0 + }, + { + "git-tree": "2a88fb5c85a975bf5c5b49b6d87224b25504553d", + "version-date": "2020-11-11", + "port-version": 3 + }, + { + "git-tree": "024e7d3399beb537eb371c85181e48f4db51a4b0", + "version-string": "2020-11-11", + "port-version": 2 + }, { "git-tree": "823dcf0d7f897a92269faf1915322c012b281a2a", "version-string": "2020-11-11", diff --git a/versions/a-/ampl-mp.json b/versions/a-/ampl-mp.json index 3abf1335e44fa9..a3519d710ec8d9 100644 --- a/versions/a-/ampl-mp.json +++ b/versions/a-/ampl-mp.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "5d383d7b192993a98f67775f292f9443d041e516", + "version-date": "2020-11-11", + "port-version": 5 + }, + { + "git-tree": "adc07c10ee68ac3ebb3ea916bc4a62bf1ceaf5cc", + "version-date": "2020-11-11", + "port-version": 4 + }, + { + "git-tree": "b3bdafa2896aad8990e3886bdd83b8cd5538e7ea", + "version-date": "2020-11-11", + "port-version": 3 + }, + { + "git-tree": "d52dd1ac4a69a74bb658b52be36c7457ca6049ef", + "version-string": "2020-11-11", + "port-version": 2 + }, { "git-tree": "0363f4dd57d8729a0a6bd3e1c2ca8d424fd59eda", "version-string": "2020-11-11", diff --git a/versions/a-/amqpcpp.json b/versions/a-/amqpcpp.json index c16bbb5cd01a17..86f3db780d2472 100644 --- a/versions/a-/amqpcpp.json +++ b/versions/a-/amqpcpp.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "bebd378cad1feeea8bf45184a105efb18bb59354", + "version": "4.3.26", + "port-version": 0 + }, + { + "git-tree": "4a0661ec390526889afac4ba693c92ab00a4937c", + "version": "4.3.23", + "port-version": 0 + }, + { + "git-tree": "cdf5751364452365ad13aeecc8a74bc6ab15076a", + "version": "4.3.19", + "port-version": 0 + }, + { + "git-tree": "b071aaf9f29af43e9463bcc9a118f4553351eb16", + "version": "4.3.15", + "port-version": 1 + }, { "git-tree": "3f2e1a0132721d9cdb8515d40010eaba97ecc8de", "version": "4.3.15", diff --git a/versions/a-/anari.json b/versions/a-/anari.json new file mode 100644 index 00000000000000..b4c87822244e2b --- /dev/null +++ b/versions/a-/anari.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "b547bbf12d56d4d9f189a14153d93e75c7aa3451", + "version": "0.10.0", + "port-version": 0 + }, + { + "git-tree": "bb2704cfb92a03677f5d7dfbf1d81f1d924accd3", + "version": "0.7.0", + "port-version": 1 + }, + { + "git-tree": "cf756ca650e9d72324024441ad48b760fb587f86", + "version": "0.7.0", + "port-version": 0 + } + ] +} diff --git a/versions/a-/anax.json b/versions/a-/anax.json index 99ff1a18737ba7..9566506ae08a53 100644 --- a/versions/a-/anax.json +++ b/versions/a-/anax.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "db4b3bfeef52da822588d5bb85a4b3bf9affa80f", + "version": "2.1.0", + "port-version": 8 + }, { "git-tree": "347d15eb157a2bad09742ec97dfc417674936982", "version-string": "2.1.0", diff --git a/versions/a-/angelscript.json b/versions/a-/angelscript.json index df90ac02f5b3c6..fdff94118c8953 100644 --- a/versions/a-/angelscript.json +++ b/versions/a-/angelscript.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "cb5cf64b9cd72cbcebfb4e68d3e82627541a39c6", + "version": "2.37.0", + "port-version": 0 + }, + { + "git-tree": "5c1bc126371829227e923c11f029a539a234a483", + "version": "2.36.1", + "port-version": 1 + }, + { + "git-tree": "e90e0fe54ab8038226b849471fba169157753c19", + "version": "2.36.1", + "port-version": 0 + }, + { + "git-tree": "579a4c31ad7d7972339105a9c043a3658af5705d", + "version": "2.36.0", + "port-version": 1 + }, + { + "git-tree": "e82bacd16784a617c44319de8e23d0557f72095f", + "version": "2.36.0", + "port-version": 0 + }, + { + "git-tree": "4f2a9b2d8cad46707e241ac52565fa50656c0dad", + "version": "2.35.1", + "port-version": 1 + }, + { + "git-tree": "342bbf5e5b2f9492dc70589d4f73b9ee2990f6d4", + "version": "2.35.1", + "port-version": 0 + }, { "git-tree": "c88c2eec1943cd3f46d8fe2b77f4d75f3d35cba2", "version-string": "2.35.0", diff --git a/versions/a-/angle.json b/versions/a-/angle.json index 054aab9b90fde5..dad20a27bc411d 100644 --- a/versions/a-/angle.json +++ b/versions/a-/angle.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "b0e6049d392ece97ba5be00c7c3e4410aa78d3f0", + "version-string": "chromium_5414", + "port-version": 9 + }, + { + "git-tree": "1729007831807f980abc75357ab0e73f0f9216cf", + "version-string": "chromium_5414", + "port-version": 8 + }, + { + "git-tree": "b5502570ef18abdcf0535470f3ea6589db70607b", + "version-string": "chromium_5414", + "port-version": 7 + }, + { + "git-tree": "28f33feb91072e2df5daa5b7e10846db4a6f3a50", + "version-string": "chromium_5414", + "port-version": 6 + }, + { + "git-tree": "d8849e7cee8eb5754ec1aefba7644bb393863f94", + "version-string": "chromium_5414", + "port-version": 5 + }, + { + "git-tree": "f5963e0a9c6de152e825e610333e626e8a9df144", + "version-string": "chromium_5414", + "port-version": 4 + }, + { + "git-tree": "d5671959f9f2a59ecd232c72df54682bb10a14be", + "version-string": "chromium_5414", + "port-version": 3 + }, + { + "git-tree": "784aa16c1dacc9aedb49de3bd1393bb6ef6b853d", + "version-string": "chromium_5414", + "port-version": 2 + }, + { + "git-tree": "b9840e4a2d643b94dc27bf1adc2803f16501cadd", + "version-string": "chromium_5414", + "port-version": 1 + }, + { + "git-tree": "4d21d50c6a69b88182c328b4867a27909fa34b01", + "version-string": "chromium_5414", + "port-version": 0 + }, + { + "git-tree": "3b82e62ec84b36302f2e1b7a6356811d367dd88f", + "version-string": "chromium_4472", + "port-version": 8 + }, + { + "git-tree": "96213b303b5b0804d7c8e9b6b94aa3cd3cc90660", + "version-string": "chromium_4472", + "port-version": 7 + }, + { + "git-tree": "d48bbcf1eba07a4156e745140be81caff95b8757", + "version-string": "chromium_4472", + "port-version": 6 + }, + { + "git-tree": "1c154e795d3d3c736dbbfec2db72a50aa37fa8f2", + "version-string": "chromium_4472", + "port-version": 5 + }, + { + "git-tree": "d88baa0c355514a753460f90afb0451434460484", + "version-string": "chromium_4472", + "port-version": 4 + }, + { + "git-tree": "c3b63c0d8bf584235c057cb40486152ebe3fa0a6", + "version-string": "chromium_4472", + "port-version": 3 + }, { "git-tree": "3c4f08e40691d643044cf9319cef04b4289d4b6f", "version-string": "chromium_4472", diff --git a/versions/a-/ankurvdev-embedresource.json b/versions/a-/ankurvdev-embedresource.json new file mode 100644 index 00000000000000..94d563e59a78b6 --- /dev/null +++ b/versions/a-/ankurvdev-embedresource.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "e8d07a71c677c057e726ccc85d3376da62eb28e2", + "version": "0.0.11", + "port-version": 0 + }, + { + "git-tree": "b200fce22ffffeb4174ca68fcca609a9c4857c38", + "version": "0.0.10", + "port-version": 0 + } + ] +} diff --git a/versions/a-/annoy.json b/versions/a-/annoy.json new file mode 100644 index 00000000000000..e876e465a237a8 --- /dev/null +++ b/versions/a-/annoy.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "e2ee1bb73204258547a8674592d51a7b5e9c84da", + "version": "1.17.3", + "port-version": 0 + }, + { + "git-tree": "9fbb9d06a1f5a44af0146faddb75f1fb74a0842d", + "version": "1.17.2", + "port-version": 0 + }, + { + "git-tree": "fb0fa777748e35b69b4d3206cccc7ba770d12ee4", + "version-date": "2023-02-25", + "port-version": 0 + } + ] +} diff --git a/versions/a-/antlr4.json b/versions/a-/antlr4.json index 033e47010021e1..ae97659bdda0a3 100644 --- a/versions/a-/antlr4.json +++ b/versions/a-/antlr4.json @@ -1,5 +1,55 @@ { "versions": [ + { + "git-tree": "f2803934714fc26ec4ef9d6df467e05b0f6c1096", + "version": "4.13.2", + "port-version": 0 + }, + { + "git-tree": "b8a6e8e88f1e6f604f094ce3a3927a8412eb6011", + "version": "4.13.1", + "port-version": 0 + }, + { + "git-tree": "1fd51b053d31e5215682e6c2970aca92e24d488b", + "version": "4.13.0", + "port-version": 0 + }, + { + "git-tree": "162afe92eab004d57c6b0c972ea5e9b371ccb23a", + "version": "4.11.1", + "port-version": 1 + }, + { + "git-tree": "adff4448fb67cdc7d7a478d5f5f3e973ad65a386", + "version": "4.11.1", + "port-version": 0 + }, + { + "git-tree": "77ce1d5e7b1ea96943b3917086e1b75d50ae903c", + "version": "4.10.1", + "port-version": 0 + }, + { + "git-tree": "6a716f472a0639199a0a843a64795a88a39f5dee", + "version": "4.9.3", + "port-version": 2 + }, + { + "git-tree": "0a3fbd320c22b3c017fe13fb4cac5fe330c0df99", + "version": "4.9.3", + "port-version": 1 + }, + { + "git-tree": "55208ea9aa8be016d24423442ffbb2e31a7390a1", + "version": "4.9.3", + "port-version": 0 + }, + { + "git-tree": "31ac3fa20b3f7944e5ac32b7ac7883f3d976dae6", + "version": "4.9.1", + "port-version": 2 + }, { "git-tree": "0b8591ea0b8692c0c2963c468ee5b9c2e260ace4", "version-string": "4.9.1", diff --git a/versions/a-/anyrpc.json b/versions/a-/anyrpc.json index 62639f3f0cc696..1e891758e3b154 100644 --- a/versions/a-/anyrpc.json +++ b/versions/a-/anyrpc.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "5a7107508242583ccad112dff94cf61984392070", + "version-date": "2021-08-24", + "port-version": 2 + }, + { + "git-tree": "e257a3e62f570c677889ee84e28b96536159e324", + "version-date": "2021-08-24", + "port-version": 1 + }, { "git-tree": "5f4ca4180fb5021b85ae6d4c5ad7b7e15f89b367", "version-date": "2021-08-24", diff --git a/versions/a-/aom.json b/versions/a-/aom.json index 16639b522ef107..dc324ffece46c7 100644 --- a/versions/a-/aom.json +++ b/versions/a-/aom.json @@ -1,5 +1,45 @@ { "versions": [ + { + "git-tree": "29d864e5f5c61978785ca554e8efcd1d9642010b", + "version-semver": "3.9.1", + "port-version": 0 + }, + { + "git-tree": "827f4b94a5792e8fadee085ce2542979d42436c9", + "version-semver": "3.8.1", + "port-version": 1 + }, + { + "git-tree": "7ec15ea1e8e0e6c1401fc91f2dd167eba6122b20", + "version-semver": "3.8.1", + "port-version": 0 + }, + { + "git-tree": "71fe99b6007b153a98a5058a2d2212117af8031a", + "version-semver": "3.7.0", + "port-version": 0 + }, + { + "git-tree": "daaa6d5ccf417cb9e4997d35b9574f18eaa98cd3", + "version-semver": "3.5.0", + "port-version": 1 + }, + { + "git-tree": "c6e0216430b4aded29b420b2d9e4b14ef6271620", + "version-semver": "3.5.0", + "port-version": 0 + }, + { + "git-tree": "f251779a2df24b29eac37690d2692fda395218dd", + "version-semver": "3.2.0", + "port-version": 3 + }, + { + "git-tree": "013d95ace27d59d663acada0264327bf5382308c", + "version-semver": "3.2.0", + "port-version": 2 + }, { "git-tree": "5d7bac96c35260b96135bf3ec1d456994d549eb3", "version-semver": "3.2.0", diff --git a/versions/a-/apache-datasketches.json b/versions/a-/apache-datasketches.json new file mode 100644 index 00000000000000..fd49e074eb1999 --- /dev/null +++ b/versions/a-/apache-datasketches.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "3d6fbd6d485c451649477f9496ccaac28e334251", + "version": "5.0.2", + "port-version": 0 + }, + { + "git-tree": "7b8ef82b48832de95bf297231d0019f5cb2b4e82", + "version": "4.1.0", + "port-version": 0 + } + ] +} diff --git a/versions/a-/approval-tests-cpp.json b/versions/a-/approval-tests-cpp.json index 05e8e5ad43939f..790690b78a3f8d 100644 --- a/versions/a-/approval-tests-cpp.json +++ b/versions/a-/approval-tests-cpp.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "7443ac60c577f354895635fdf011818f46853ecc", + "version": "10.13.0", + "port-version": 0 + }, + { + "git-tree": "84c554ce63a6fb5ba80ecf7b3b27bf7c577471a2", + "version": "10.12.2", + "port-version": 0 + }, + { + "git-tree": "af4597332ca8387f85fa3eef5c853d47d8745d23", + "version": "10.12.1", + "port-version": 0 + }, { "git-tree": "ab883d6b40593e4e14a28110865e55745d7d5768", "version": "10.12.0", diff --git a/versions/a-/apr-util.json b/versions/a-/apr-util.json index a2629d38521bba..c73011dfafb1bf 100644 --- a/versions/a-/apr-util.json +++ b/versions/a-/apr-util.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "c6555c2af4f36e5aeb1eabc818738e4ffbba77d8", + "version": "1.6.3", + "port-version": 0 + }, + { + "git-tree": "41451c5e1e1fa8344f6c2d1baf6c0f14b656c433", + "version": "1.6.1", + "port-version": 10 + }, + { + "git-tree": "b6d7bb58f16bd75a40a434742d0c0a12b89645d4", + "version": "1.6.1", + "port-version": 9 + }, + { + "git-tree": "e11acd0b01edac0a064893b89bd9eb2d976f4371", + "version": "1.6.1", + "port-version": 8 + }, + { + "git-tree": "d758cde4c829f6c3a66a773d517f9e9425227629", + "version": "1.6.1", + "port-version": 7 + }, + { + "git-tree": "d27be40b8f670b002604154ef5657c011b8de733", + "version": "1.6.1", + "port-version": 6 + }, + { + "git-tree": "dfc76280690e9d419c43ee5242466de5b4e317c2", + "version-string": "1.6.1", + "port-version": 5 + }, { "git-tree": "cf1a0e97d00a5748dc58db7d0a5da0fd7d5efb66", "version-string": "1.6.1", diff --git a/versions/a-/apr.json b/versions/a-/apr.json index 9f8ee67708735f..180bb00f4e7747 100644 --- a/versions/a-/apr.json +++ b/versions/a-/apr.json @@ -1,5 +1,75 @@ { "versions": [ + { + "git-tree": "dfa11d3e5058b640b37c1a6845dbc2980496a7c8", + "version": "1.7.5", + "port-version": 2 + }, + { + "git-tree": "499cf5fc0959f4a049ec72f0f556400e7191ffd3", + "version": "1.7.5", + "port-version": 1 + }, + { + "git-tree": "da67695a8735bcfaed89792be1ea44176d9202a3", + "version": "1.7.5", + "port-version": 0 + }, + { + "git-tree": "9e28cc50d8877ee9c7a70e3fac694e562b4833da", + "version": "1.7.4", + "port-version": 1 + }, + { + "git-tree": "106ba582ba3d56fd1db284670ed7d94b6cae9f47", + "version": "1.7.4", + "port-version": 0 + }, + { + "git-tree": "b28b577d536f3eeeb00392ce5f1f7da76f3a9eaa", + "version": "1.7.2", + "port-version": 1 + }, + { + "git-tree": "a68bb37ae242709eb2fab09e1326168d28ab1a56", + "version": "1.7.2", + "port-version": 0 + }, + { + "git-tree": "beb9b88a2d3bcc63f32177c58622d7ad4b6717cf", + "version": "1.7.0", + "port-version": 12 + }, + { + "git-tree": "2f23cf24a3496f9fb519512245a3e0f1a66c8ed9", + "version": "1.7.0", + "port-version": 11 + }, + { + "git-tree": "7b9002157134602da80c38b7eda863fd9e0012da", + "version": "1.7.0", + "port-version": 10 + }, + { + "git-tree": "419034d960a2d9d932f18154e386d1ce4947d514", + "version": "1.7.0", + "port-version": 9 + }, + { + "git-tree": "9fd8035a5cce96ad1b89000ac34431551ca39458", + "version": "1.7.0", + "port-version": 8 + }, + { + "git-tree": "e73f548920cc5add8a47af9b8775a26c89050101", + "version": "1.7.0", + "port-version": 7 + }, + { + "git-tree": "bc5604f4ffbdcdaee979fccdb1fd5a85dfc7a3db", + "version": "1.7.0", + "port-version": 6 + }, { "git-tree": "3de94d87f5afac3e6800a26771517217d5113349", "version": "1.7.0", diff --git a/versions/a-/apriltag.json b/versions/a-/apriltag.json new file mode 100644 index 00000000000000..a43e483ea02ecf --- /dev/null +++ b/versions/a-/apriltag.json @@ -0,0 +1,24 @@ +{ + "versions": [ + { + "git-tree": "86a28ae0577f8da4f1bb690d7d372732b92e9ac0", + "version": "3.4.2", + "port-version": 0 + }, + { + "git-tree": "c7ae501c5566bbc76d1262910eafcbb1f56b8e5b", + "version": "3.4.0", + "port-version": 0 + }, + { + "git-tree": "5c64c401307d5ae0c4ee91fc2e9e1b3950776feb", + "version": "3.3.0", + "port-version": 0 + }, + { + "git-tree": "3523f2ad6198164afda1782327470188dc3f7221", + "version": "3.2.0", + "port-version": 0 + } + ] +} diff --git a/versions/a-/apsi.json b/versions/a-/apsi.json index fa1c3690f2d7e6..a4b3eda20ca4bf 100644 --- a/versions/a-/apsi.json +++ b/versions/a-/apsi.json @@ -1,5 +1,50 @@ { "versions": [ + { + "git-tree": "d846cf4ccf985e33eea10fa2ac4ff44da9086dad", + "version-semver": "0.11.0", + "port-version": 0 + }, + { + "git-tree": "6a3eba819cf2ad5252c8ecae5c0d23f77238d98f", + "version-semver": "0.9.0", + "port-version": 2 + }, + { + "git-tree": "c1614133f3e08c8203102a2dd519c759b01d7156", + "version-semver": "0.9.0", + "port-version": 1 + }, + { + "git-tree": "3fe18a82f71344cfd2a936fb6ddf4a6762edfffa", + "version-semver": "0.9.0", + "port-version": 0 + }, + { + "git-tree": "b217158e7c8e8626bbb455182a980db7295c085d", + "version-semver": "0.8.2", + "port-version": 1 + }, + { + "git-tree": "cbe91971ef248ba844e254d91cbd73ad10fbe131", + "version-semver": "0.8.2", + "port-version": 0 + }, + { + "git-tree": "08bc0f650b7fa0ef77541eb74b90d0b9fe7fec03", + "version-semver": "0.7.0", + "port-version": 2 + }, + { + "git-tree": "c2703eaa248b72c269dd22aac1e2aca49060dfba", + "version-semver": "0.7.0", + "port-version": 1 + }, + { + "git-tree": "652d69df44a689fa55f1b757db46c97bcb840c13", + "version-semver": "0.7.0", + "port-version": 0 + }, { "git-tree": "ff4f1e6dfc87696ea2da4bd557e15b1f2034f340", "version-semver": "0.5.0", diff --git a/versions/a-/arb.json b/versions/a-/arb.json index d59b40a282688d..1ea3d18cc1c729 100644 --- a/versions/a-/arb.json +++ b/versions/a-/arb.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "979cfcc7b4326308bf376e69fd60982d28afef72", + "version": "2.21.1", + "port-version": 2 + }, + { + "git-tree": "e1b560a5a2aa835d54da9fdabac5eea48255e93d", + "version": "2.21.1", + "port-version": 1 + }, { "git-tree": "06326497117fb757651649225284d2fe4100ef79", "version": "2.21.1", diff --git a/versions/a-/arcus.json b/versions/a-/arcus.json index 47d36bb4d1a79e..517b7f8f8036c6 100644 --- a/versions/a-/arcus.json +++ b/versions/a-/arcus.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "2b141efb5eac8763acdbb6e486c018a2393b4486", + "version-semver": "4.10.0", + "port-version": 4 + }, + { + "git-tree": "cbf79963e156283eae951185abaafc86d2679262", + "version-semver": "4.10.0", + "port-version": 3 + }, + { + "git-tree": "1edcde9d0c4a64d780c6692b017cd30137a9ab19", + "version-semver": "4.10.0", + "port-version": 2 + }, { "git-tree": "0aeec8ed7245362e90ef531d8ecaf4ca315e85e5", "version-semver": "4.10.0", diff --git a/versions/a-/arg-router.json b/versions/a-/arg-router.json new file mode 100644 index 00000000000000..39b5e77287866a --- /dev/null +++ b/versions/a-/arg-router.json @@ -0,0 +1,39 @@ +{ + "versions": [ + { + "git-tree": "1e8ee2b4774091c604ac1ff4242710234b20b7bd", + "version": "1.4.0", + "port-version": 1 + }, + { + "git-tree": "b0415ac98a98ec00c2c579c6925588b089bdc158", + "version": "1.4.0", + "port-version": 0 + }, + { + "git-tree": "0342b5a6a038dcb69eb623a70adf911d1e94d523", + "version": "1.3.0", + "port-version": 0 + }, + { + "git-tree": "9e1db4d06fe1aa7b5f0677d4e843331e7c7b2bca", + "version": "1.2.2", + "port-version": 0 + }, + { + "git-tree": "2ad077ad64e854b417c0c85f5900528795bc2028", + "version": "1.2.0", + "port-version": 0 + }, + { + "git-tree": "3a12ba85bd70de2d9fdd55ecff2ee394d0ed1b79", + "version": "1.1.1", + "port-version": 0 + }, + { + "git-tree": "d6f21738ed53af9693376f8e659485875117f8f5", + "version": "1.1.0", + "port-version": 0 + } + ] +} diff --git a/versions/a-/argagg.json b/versions/a-/argagg.json index 94f1d5e2427f97..992fa28a208389 100644 --- a/versions/a-/argagg.json +++ b/versions/a-/argagg.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "83071d0926bdea724da61b1977f16e819a56500d", + "version": "0.4.7", + "port-version": 0 + }, + { + "git-tree": "2a90b715c9fa23c9e723c4fac3725a73c9007d5b", + "version": "0.4.6", + "port-version": 3 + }, + { + "git-tree": "89a9b4bc7d3ecb518a5a78d3ce9731cf974df7f8", + "version-string": "0.4.6", + "port-version": 2 + }, { "git-tree": "ece15f0bd5649973a8384d7762b0b1aed0cb2fdc", "version-string": "0.4.6", diff --git a/versions/a-/argh.json b/versions/a-/argh.json index a66b81ef4d92dc..19aeadceefc50f 100644 --- a/versions/a-/argh.json +++ b/versions/a-/argh.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "b78bb1481da9a23d979d9d5a6f1652f3097a53da", + "version": "1.3.2", + "port-version": 1 + }, + { + "git-tree": "2ee3072431f9d1aa18b5810e61398b9373fdc0d7", + "version": "1.3.2", + "port-version": 0 + }, { "git-tree": "09027cc8017226ec7710f564346b5c0bff9e69aa", "version-string": "2018-12-18", diff --git a/versions/a-/argon2.json b/versions/a-/argon2.json new file mode 100644 index 00000000000000..31a947fda440b6 --- /dev/null +++ b/versions/a-/argon2.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "08a4ee53f1f5330c8f911dff530810c762551675", + "version": "20190702", + "port-version": 1 + }, + { + "git-tree": "3a15f9b44e7ae1ef03f6f92a5552bc85951fd3a1", + "version": "20190702", + "port-version": 0 + } + ] +} diff --git a/versions/a-/argparse.json b/versions/a-/argparse.json index accdedbe5cd01e..eb6331a28468bb 100644 --- a/versions/a-/argparse.json +++ b/versions/a-/argparse.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "d0e494fd0f114573521975bd1dbf1eddcb27e465", + "version": "3.1", + "port-version": 0 + }, + { + "git-tree": "b8e0c44d4dfe3359b308711daac1e201dc4f8a21", + "version": "3.0", + "port-version": 0 + }, + { + "git-tree": "007156cde2fbc16b990f1a8cd0a29664873a923c", + "version": "2.9", + "port-version": 0 + }, + { + "git-tree": "e3bf81ce931b3f8abadb45bd70389073d703af8a", + "version": "2.8", + "port-version": 0 + }, { "git-tree": "928e03159c73294a2e6623d330ea1567190d753f", "version": "2.2", diff --git a/versions/a-/args.json b/versions/a-/args.json index cba126cefeca7c..3b22e600342360 100644 --- a/versions/a-/args.json +++ b/versions/a-/args.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "6b8449188caa97cb07c87641c977a969846153f5", + "version": "6.4.6", + "port-version": 0 + }, + { + "git-tree": "6da2a8e30a8640e0cb9fe55decd3a634d8c42cb6", + "version": "6.3.0", + "port-version": 0 + }, { "git-tree": "8f102bf551068e71d94c7d1f21295bb9bf29dcdc", "version": "6.2.7", diff --git a/versions/a-/argtable2.json b/versions/a-/argtable2.json index 28c3358465b2de..d30fba4471fd69 100644 --- a/versions/a-/argtable2.json +++ b/versions/a-/argtable2.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "931507f46135a9267c3d15ed5064235aac6154f4", + "version": "2.13", + "port-version": 10 + }, { "git-tree": "406503ece7b3ab95af28c6871a6de7263731f829", "version-string": "2.13", diff --git a/versions/a-/argtable3.json b/versions/a-/argtable3.json index 10b5524fc182ec..ae6317071f462d 100644 --- a/versions/a-/argtable3.json +++ b/versions/a-/argtable3.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "949eef38520716ab831bb7f008cce93b28af8f54", + "version-string": "3.2.2.f25c624", + "port-version": 0 + }, + { + "git-tree": "b84ef22a845ccccda6197d1865ddd1d8df9098c1", + "version": "3.2.1", + "port-version": 3 + }, + { + "git-tree": "fe3b1c9a876237412e7ba925a3b41f62e7fc1d99", + "version": "3.2.1", + "port-version": 2 + }, + { + "git-tree": "acbbb26e54e658b8af673a112fb338274275ad6b", + "version": "3.2.1", + "port-version": 1 + }, { "git-tree": "0dc3ede1be6316bee6853f84c5f147340be70ee8", "version-string": "3.2.1", diff --git a/versions/a-/argumentum.json b/versions/a-/argumentum.json index bfd12408d6bc6a..ee13801c427145 100644 --- a/versions/a-/argumentum.json +++ b/versions/a-/argumentum.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "7457d6852fec884e90a92c822d424b2a5d114adc", + "version": "0.3.2", + "port-version": 0 + }, + { + "git-tree": "fe42808ab9e1d7f94eb77d40dd8777a0a2510837", + "version-string": "0.3.1", + "port-version": 2 + }, { "git-tree": "0f89899e28a328451a1b31bbf2ba23df8ca87f69", "version-string": "0.3.1", diff --git a/versions/a-/aricpp.json b/versions/a-/aricpp.json index 728221b15af2cd..971c60c8dd5880 100644 --- a/versions/a-/aricpp.json +++ b/versions/a-/aricpp.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "4451f34c43a23dd8ab8904c8bbdbd12f462b1da9", + "version-semver": "1.1.3", + "port-version": 0 + }, + { + "git-tree": "f4c60d911e60c041e3e7791a84894a1c028a7e85", + "version-semver": "1.1.2", + "port-version": 0 + }, { "git-tree": "266bfd31b17badea05be9f9859b0ce84f4d9f60e", "version-semver": "1.1.1", diff --git a/versions/a-/armadillo.json b/versions/a-/armadillo.json index 381c58c27a5a5b..7abefe1715a893 100644 --- a/versions/a-/armadillo.json +++ b/versions/a-/armadillo.json @@ -1,5 +1,80 @@ { "versions": [ + { + "git-tree": "03e566acea662b5629f125afdb2a2b96fa486ae5", + "version": "14.0.3", + "port-version": 0 + }, + { + "git-tree": "fd4e4c985c16061bf656f3bb01fe020c22f67d02", + "version": "12.8.4", + "port-version": 2 + }, + { + "git-tree": "dc3cfdfb5e23d875f1759263e1cc4a15c2a23a05", + "version": "12.8.4", + "port-version": 1 + }, + { + "git-tree": "d999b95bb504c72418af639955b527834b81a74a", + "version": "12.8.4", + "port-version": 0 + }, + { + "git-tree": "26b683ba7667590b73816c9be35d0f8255e200bb", + "version": "12.6.7", + "port-version": 0 + }, + { + "git-tree": "c2aff7478c5ce43b743299048915610189b0cece", + "version": "12.6.6", + "port-version": 1 + }, + { + "git-tree": "c47c5cebd38878763558370cea0db1d527f2fc0a", + "version": "12.6.6", + "port-version": 0 + }, + { + "git-tree": "b90cf9e80b6fc606809b1cdfa6b61c433848e197", + "version": "12.4.1", + "port-version": 0 + }, + { + "git-tree": "8e222a2972a96da2fbb07a76585574e9512b107f", + "version": "12.0.1", + "port-version": 0 + }, + { + "git-tree": "f149e3877dead7fd5e1783feb83a64a794eddcba", + "version": "11.4.4", + "port-version": 0 + }, + { + "git-tree": "325a64512ffbc2d8bfb94ff44c5a86c55252dc58", + "version": "11.4.3", + "port-version": 0 + }, + { + "git-tree": "b4bc853e4132b3e2f8c13fa5cfc21030daa6d10a", + "version": "11.2.3", + "port-version": 0 + }, + { + "git-tree": "fb3b2fb5c5daeea857a0b9952dbef5c980fa14c9", + "version": "10.6.2", + "port-version": 5 + }, + { + "git-tree": "ddc4477e6ecc2d66e429e18e9ccd96367da2ce88", + "version": "10.6.2", + "port-version": 4 + }, + { + "git-tree": "88bb8282f33e16f2c59856f68ed9934ff26c7e02", + "version": "10.6.2", + "port-version": 3 + }, { "git-tree": "2a7774c182c273a8d6f350a383f4a3bcf01e308e", "version": "10.6.2", diff --git a/versions/a-/arpack-ng.json b/versions/a-/arpack-ng.json new file mode 100644 index 00000000000000..0b71611920baf9 --- /dev/null +++ b/versions/a-/arpack-ng.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "7dd6a7103d3c8f2b5377921d2edc2b29d330a531", + "version": "3.9.1", + "port-version": 0 + }, + { + "git-tree": "8bee9f6f6141b136982fd4b4b1d7e6a4a6d9a0df", + "version": "3.9.0", + "port-version": 1 + }, + { + "git-tree": "ad2fd897c58d9cf2976a1be1efc10e36aa4e1af6", + "version": "3.9.0", + "port-version": 0 + } + ] +} diff --git a/versions/a-/arrayfire.json b/versions/a-/arrayfire.json index 59f07bb59138c8..66152cdfd676ca 100644 --- a/versions/a-/arrayfire.json +++ b/versions/a-/arrayfire.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "985696275cbb76cb02d89d11f8e2490921c09874", + "version-semver": "3.8.0", + "port-version": 7 + }, + { + "git-tree": "45bae5e28a1c092e6024e21dcc4bab12c4e03440", + "version-semver": "3.8.0", + "port-version": 6 + }, + { + "git-tree": "4e9b4b24be953b97638224c3563759c7d8a86602", + "version-semver": "3.8.0", + "port-version": 5 + }, + { + "git-tree": "37adfc5544ac7301c3ff4a8e16d84804d45b566a", + "version-semver": "3.8.0", + "port-version": 4 + }, + { + "git-tree": "ad19da32c793c60f4f40241792cee65d3c225d10", + "version-semver": "3.8.0", + "port-version": 3 + }, + { + "git-tree": "9ce1cae30cfcfd85b9858f5f46a59136cce97e59", + "version-semver": "3.8.0", + "port-version": 2 + }, + { + "git-tree": "137eb0d15f469e75ad3255cf1de871d83b3dff49", + "version-semver": "3.8.0", + "port-version": 1 + }, { "git-tree": "e6c5e8b4e1c52380ebd2050683a185c44a2dbae4", "version-semver": "3.8.0", diff --git a/versions/a-/arrow.json b/versions/a-/arrow.json index 8d0b86eb61ad1c..54c79632fe882c 100644 --- a/versions/a-/arrow.json +++ b/versions/a-/arrow.json @@ -1,5 +1,210 @@ { "versions": [ + { + "git-tree": "f62b9ba3d5fcf264637a1acc6edc72557b0f1461", + "version": "18.0.0", + "port-version": 0 + }, + { + "git-tree": "f06fe60d953b9696bc4f557c42c3e3adda042a39", + "version": "17.0.0", + "port-version": 0 + }, + { + "git-tree": "b0fb85e8be36a721896cb65227bcc3c85a4f88ee", + "version": "16.1.0", + "port-version": 1 + }, + { + "git-tree": "282e423703e80ad83909c9e8d65119094436ebae", + "version": "16.1.0", + "port-version": 0 + }, + { + "git-tree": "413da38f4ffabc5fd1273aff3ed2a7c6226f1ba6", + "version": "16.0.0", + "port-version": 1 + }, + { + "git-tree": "d68c109745e79bf3ae813428bd0cfda562790381", + "version": "16.0.0", + "port-version": 0 + }, + { + "git-tree": "934c1383e14915071a7c9939bd61f38de5bd2c1b", + "version": "15.0.2", + "port-version": 1 + }, + { + "git-tree": "28965b502b1501b7832c506ea728e37924902909", + "version": "15.0.2", + "port-version": 0 + }, + { + "git-tree": "874763622bfd5b5d118109e44f25460c4b34af57", + "version": "15.0.1", + "port-version": 0 + }, + { + "git-tree": "d736db2f9ac170765f1e6ac8c90f4d46c94a3552", + "version": "15.0.0", + "port-version": 0 + }, + { + "git-tree": "68021accce836c6b394076d1494379df640dcb8c", + "version": "14.0.2", + "port-version": 2 + }, + { + "git-tree": "93a9cd414e5d170755234571e42746b413b7deb3", + "version": "14.0.2", + "port-version": 1 + }, + { + "git-tree": "a8cadbfff7756e4b3ae2589f7312f80b82e0ff88", + "version": "14.0.2", + "port-version": 0 + }, + { + "git-tree": "f73c538acb0a7dbda211654b354286af98b399f0", + "version": "14.0.1", + "port-version": 2 + }, + { + "git-tree": "f3517d0d8bf39d98d806b0c84eac2f5f1acbbf32", + "version": "14.0.1", + "port-version": 1 + }, + { + "git-tree": "c1c1beba87b3d9ac5ffc73764c62622cbd31eace", + "version": "14.0.0", + "port-version": 1 + }, + { + "git-tree": "58708e6a9ecca81874ff79869e9006d42ca2bbfe", + "version": "13.0.0", + "port-version": 1 + }, + { + "git-tree": "ef87d769431fcefcb1d2864a9266cba168602fa2", + "version": "13.0.0", + "port-version": 0 + }, + { + "git-tree": "e1f5c7d4ca0f45c1629b3f393d360d5c8d035a01", + "version": "12.0.1", + "port-version": 0 + }, + { + "git-tree": "f4aba951b4604b0846af32c50cf4e6959e0e119d", + "version": "12.0.0", + "port-version": 2 + }, + { + "git-tree": "4e29a49e78533ec10e3142ae7ad69fdd12c8d163", + "version": "12.0.0", + "port-version": 1 + }, + { + "git-tree": "881bfaaab349dae46929b36e5b84e7036a009ad3", + "version": "12.0.0", + "port-version": 0 + }, + { + "git-tree": "21fea47a1e9c7bf68e6c088ad5a6b7b6e33c2fcb", + "version": "11.0.0", + "port-version": 0 + }, + { + "git-tree": "04944a4d39fe590b7fed071475502fa8bcfe5a27", + "version": "10.0.1", + "port-version": 4 + }, + { + "git-tree": "3829a0697ffe3ba8cb1274e2edd7cfbcbc48482b", + "version": "10.0.1", + "port-version": 3 + }, + { + "git-tree": "ea9873418e3de2180518389baa3562084a566702", + "version": "10.0.1", + "port-version": 2 + }, + { + "git-tree": "91895876dde6f03ad68b3711923d55f841588536", + "version": "10.0.1", + "port-version": 1 + }, + { + "git-tree": "42a4cdb1defb73cc86758beb77949124e2cbbf6c", + "version": "10.0.1", + "port-version": 0 + }, + { + "git-tree": "ab325846893f2dc3382b7b403bf195645ab93a39", + "version": "10.0.0", + "port-version": 0 + }, + { + "git-tree": "757fb3dc2404c152b9628f324087a761070406c4", + "version": "9.0.0", + "port-version": 0 + }, + { + "git-tree": "d53797d201548a07be19eaf7d12d87198c458636", + "version": "8.0.1", + "port-version": 1 + }, + { + "git-tree": "6935bb6b1a309931f2f85bd8da334b9777d51a4a", + "version": "8.0.1", + "port-version": 0 + }, + { + "git-tree": "4334074d163357f9002145ca722dc8dbcc546dbc", + "version": "8.0.0", + "port-version": 0 + }, + { + "git-tree": "9beefb8449a167f6dbcbe35a2bd2b7d3cb2889a2", + "version": "7.0.0", + "port-version": 3 + }, + { + "git-tree": "3d3371b4741fc81354b2033d584c48a1929373f4", + "version": "7.0.0", + "port-version": 2 + }, + { + "git-tree": "71eea8dac175d368506f19bb246b40bf4829846a", + "version": "7.0.0", + "port-version": 1 + }, + { + "git-tree": "3682e12e1b3f3aa79551877b157ff3d914cb5c90", + "version": "7.0.0", + "port-version": 0 + }, + { + "git-tree": "b12626f29cb0ba8a049241153af0dfeca9a810d7", + "version": "6.0.1", + "port-version": 1 + }, + { + "git-tree": "a192a94717139642a1e9304cdc1ae86850398fb9", + "version": "6.0.1", + "port-version": 0 + }, + { + "git-tree": "14ddd1079e0be1f6122e93f2103be465f893b37e", + "version": "6.0.0", + "port-version": 0 + }, + { + "git-tree": "8a30c7d6553216924aa3a3957ceb87d0fda39592", + "version": "5.0.0", + "port-version": 2 + }, { "git-tree": "79938475d53bb40ad7bf8d0fbda9e65f7630dde7", "version": "5.0.0", diff --git a/versions/a-/arsenalgear.json b/versions/a-/arsenalgear.json new file mode 100644 index 00000000000000..d4d56667c4a529 --- /dev/null +++ b/versions/a-/arsenalgear.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "92095c99ebc06217b1ba3d01ac35e7826b1d9391", + "version": "2.1.1", + "port-version": 0 + }, + { + "git-tree": "a84d69248b9378514cab7ebc7d7a8901ee579542", + "version": "2.1.0", + "port-version": 0 + } + ] +} diff --git a/versions/a-/ashes.json b/versions/a-/ashes.json index 0d6724fc891999..fe343923630ac3 100644 --- a/versions/a-/ashes.json +++ b/versions/a-/ashes.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "f2a5f4f80d32f3b72e20d5eeff4838cea13f76ef", + "version-date": "2023-03-12", + "port-version": 0 + }, + { + "git-tree": "f87e3684259242b878a7ab5617dd0350a6565a15", + "version-date": "2022-06-08", + "port-version": 0 + }, + { + "git-tree": "96b165dc0ea6c62aeabea274f6833c55feaccdd1", + "version-date": "2022-04-03", + "port-version": 1 + }, + { + "git-tree": "365d042da082df035fb7dba0a53e1a4ac306f469", + "version-date": "2022-04-03", + "port-version": 0 + }, + { + "git-tree": "68557018b215aba6325caf97248c62955fdef397", + "version-date": "2021-06-18", + "port-version": 1 + }, { "git-tree": "3d20e63c5d3a016d41571baefa723a23113c13c3", "version-date": "2021-06-18", diff --git a/versions/a-/asio-grpc.json b/versions/a-/asio-grpc.json index 92bbd8c9858ad5..486ee9b9768836 100644 --- a/versions/a-/asio-grpc.json +++ b/versions/a-/asio-grpc.json @@ -1,5 +1,110 @@ { "versions": [ + { + "git-tree": "81996396008f6d7bef70f363e9fcbc04d46665f8", + "version": "3.2.1", + "port-version": 0 + }, + { + "git-tree": "e7b658f361294340b82054d2dac6ac7f654f8447", + "version": "3.2.0", + "port-version": 0 + }, + { + "git-tree": "06be4602d2e43a7e1cc17115406dd2b8e85028dc", + "version": "3.1.0", + "port-version": 0 + }, + { + "git-tree": "be24e542dd3197c37cfa126b3f6dfa5a038f9e14", + "version": "3.0.0", + "port-version": 0 + }, + { + "git-tree": "b44fde11329382d82a28a9df22b82861cedf4551", + "version": "2.9.3", + "port-version": 0 + }, + { + "git-tree": "9442924978688fdb467c605e2944a6b1c6749981", + "version": "2.9.2", + "port-version": 0 + }, + { + "git-tree": "4f03cf73ec5ddb5be5e21f4ce6c7f442ac53a769", + "version": "2.9.0", + "port-version": 0 + }, + { + "git-tree": "ab210d20b701caf5c71159529c8b4f163df0c5cc", + "version": "2.8.0", + "port-version": 0 + }, + { + "git-tree": "b0650c5252b1fb7f0ec616bb3aa9ef7c51732698", + "version": "2.7.0", + "port-version": 0 + }, + { + "git-tree": "bc957d3a72f3565dfa6511e3d18948f136c926d2", + "version": "2.6.0", + "port-version": 0 + }, + { + "git-tree": "90bb2e110b91caee0ca783b9652cbf212f8fed5b", + "version": "2.5.1", + "port-version": 0 + }, + { + "git-tree": "499f0360945116ec3bdd693c8ce4591e54e0fb7a", + "version": "2.5.0", + "port-version": 0 + }, + { + "git-tree": "a8042a83e6e7f04083064bdada7241cbeda0cb06", + "version": "2.4.0", + "port-version": 0 + }, + { + "git-tree": "7c97017fff0f50acd23dd77e6f380034590b68ff", + "version": "2.3.0", + "port-version": 0 + }, + { + "git-tree": "b56f11e8c696aa07e5e7bcac8a863e02d2682650", + "version": "2.2.0", + "port-version": 0 + }, + { + "git-tree": "83bc5845eda6123bd774834bd5f105294720fef2", + "version": "2.1.0", + "port-version": 0 + }, + { + "git-tree": "f4cbd771c2f7eb1d18b71df82696cb23292370fe", + "version": "2.0.0", + "port-version": 0 + }, + { + "git-tree": "3f73fa275b5f4d19d244b7212b8c7ae61135fc95", + "version": "1.7.0", + "port-version": 0 + }, + { + "git-tree": "6decc4befbc311b08e2229bf58da567d8a86561c", + "version": "1.6.0", + "port-version": 0 + }, + { + "git-tree": "56b29ba569fb72539675ca51ecf3c83fcf8eb0ba", + "version": "1.5.1", + "port-version": 0 + }, + { + "git-tree": "895af5509d20a5f310a5fa7285bd2e8e24e75548", + "version": "1.4.0", + "port-version": 0 + }, { "git-tree": "b68efdc2a8b782df2489156675bb4a4e95c7a221", "version": "1.3.1", diff --git a/versions/a-/asio.json b/versions/a-/asio.json index be1048231d48ba..d30d9dd1ea7939 100644 --- a/versions/a-/asio.json +++ b/versions/a-/asio.json @@ -1,5 +1,65 @@ { "versions": [ + { + "git-tree": "d1b402afe0e4c5b8efb08dcc8be6b0c90900a55e", + "version": "1.32.0", + "port-version": 0 + }, + { + "git-tree": "2c04598bad69b7562ec517525d8312036d428fd1", + "version": "1.31.0", + "port-version": 0 + }, + { + "git-tree": "17ce1a2d17d0cb0d50eb72c89a9e51f472ef31f4", + "version": "1.30.2", + "port-version": 0 + }, + { + "git-tree": "9e307fe0a4e0e82f761ef6b6b15dc34f847fae6d", + "version": "1.29.0", + "port-version": 0 + }, + { + "git-tree": "4c8d95a50172d0fd6bf736540379a37a4ec0a512", + "version": "1.28.2", + "port-version": 0 + }, + { + "git-tree": "c0b1256bf350481cdba09fb8586852ca0560e024", + "version": "1.28.1", + "port-version": 0 + }, + { + "git-tree": "726d66784925af6062a5a8f285c76dab2469572f", + "version": "1.28.0", + "port-version": 1 + }, + { + "git-tree": "7dde6674d23759f187d73d08f3bd869562a41e8d", + "version": "1.28.0", + "port-version": 0 + }, + { + "git-tree": "b134a3e21a2ef661aa5e3802cefc22386c095aaa", + "version": "1.24.0", + "port-version": 1 + }, + { + "git-tree": "bba8740d419878e427c71f076d569f8a26833c6b", + "version": "1.24.0", + "port-version": 0 + }, + { + "git-tree": "029bab0230676c0a38979db2b89076983401e553", + "version": "1.23.0", + "port-version": 0 + }, + { + "git-tree": "fbf8b87b680829fee5a422169f3d73df4392d8cf", + "version": "1.22.1", + "port-version": 0 + }, { "git-tree": "b16ad8ba502540b3b34a29552f6937951e08e5e6", "version": "1.20.0", diff --git a/versions/a-/asiochan.json b/versions/a-/asiochan.json new file mode 100644 index 00000000000000..06f2ffe0ff4208 --- /dev/null +++ b/versions/a-/asiochan.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "4f50cae4125b9c7d28002560aa2b7a16f8d7baa8", + "version-date": "2022-11-25", + "port-version": 1 + }, + { + "git-tree": "857feb5fd868cdae02e6bb9d6252174a9a39cb61", + "version-date": "2022-11-25", + "port-version": 0 + } + ] +} diff --git a/versions/a-/asiosdk.json b/versions/a-/asiosdk.json index e29848b0426c82..eb278990417682 100644 --- a/versions/a-/asiosdk.json +++ b/versions/a-/asiosdk.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "798527dff966ba5c7ef8aab89eb941791d682090", + "version": "2.3.3", + "port-version": 7 + }, + { + "git-tree": "a58f240a86a38690339c96b11db0a62fd2388e4f", + "version": "2.3.3", + "port-version": 6 + }, + { + "git-tree": "75f1c1ef95024543bf7298ba4389eafe67b9f473", + "version": "2.3.3", + "port-version": 5 + }, + { + "git-tree": "101bbdad9205db5b4249eae8b47bf8c5f73493a8", + "version": "2.3.3", + "port-version": 4 + }, { "git-tree": "870921549ca1a681fe04ba3a0c17586995c1b567", "version": "2.3.3", diff --git a/versions/a-/asmjit.json b/versions/a-/asmjit.json index 9f303a291faed8..4b76cc931a7064 100644 --- a/versions/a-/asmjit.json +++ b/versions/a-/asmjit.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "31ca0526f2e64a853da3f75e931a9b17c5af7014", + "version-date": "2024-06-28", + "port-version": 0 + }, + { + "git-tree": "e226149f3b22da2162e7d93eacc9f19411401e62", + "version-date": "2023-03-25", + "port-version": 0 + }, + { + "git-tree": "adc2ad6be145c9cbf66d606bddc56267b02e41bf", + "version-date": "2022-11-06", + "port-version": 0 + }, + { + "git-tree": "f67010904c0f2d7a1d79a647ea928aece3e66750", + "version-date": "2021-10-26", + "port-version": 1 + }, { "git-tree": "3ce58638bee35ef08b3ee8286c1e519b171c39bf", "version-date": "2021-10-26", diff --git a/versions/a-/asmtk.json b/versions/a-/asmtk.json new file mode 100644 index 00000000000000..c96f70a0a24505 --- /dev/null +++ b/versions/a-/asmtk.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "29f1e796d085204c9552c62adbe7279acfd8f3d9", + "version-date": "2022-11-06", + "port-version": 1 + }, + { + "git-tree": "9805dcacbdaa6f23d28fac07d973d22c2d00aec5", + "version-date": "2022-11-06", + "port-version": 0 + } + ] +} diff --git a/versions/a-/assimp.json b/versions/a-/assimp.json index a8986e751c308a..a5077b93e0da41 100644 --- a/versions/a-/assimp.json +++ b/versions/a-/assimp.json @@ -1,5 +1,60 @@ { "versions": [ + { + "git-tree": "3356e9c8083aae3cfcd24dd3269b45e2cae3173f", + "version": "5.4.3", + "port-version": 0 + }, + { + "git-tree": "205e4ca24e9ba331c232e326707c7b84e78c0720", + "version": "5.4.2", + "port-version": 0 + }, + { + "git-tree": "f39bd3d7276cff6e379ad68b3b83e5992fa4d2b2", + "version": "5.4.0", + "port-version": 1 + }, + { + "git-tree": "56a472ae37754b7b3196df332edd5bb38559b614", + "version": "5.4.0", + "port-version": 0 + }, + { + "git-tree": "379f3ceb0d492f5d41bd9320cfd519da9b94bfa8", + "version": "5.3.1", + "port-version": 4 + }, + { + "git-tree": "76ae4b01818ee27c5beac4d0b18cb566f94f27ec", + "version": "5.3.1", + "port-version": 3 + }, + { + "git-tree": "a825878e38726e638f29d4defeadb9108ac20697", + "version": "5.3.1", + "port-version": 2 + }, + { + "git-tree": "572034c626843af86fe62b64905fd4e79f19535f", + "version": "5.3.1", + "port-version": 1 + }, + { + "git-tree": "f9934603cb6f42343b122951f22b5af3c1967cde", + "version": "5.3.1", + "port-version": 0 + }, + { + "git-tree": "bdd963b2ef327bf5e8533689aff4707226e22851", + "version": "5.2.5", + "port-version": 0 + }, + { + "git-tree": "28eaf490bb2eaaf52c344b8e8dc16d4619cb863e", + "version": "5.2.4", + "port-version": 0 + }, { "git-tree": "cab54d6dedc48fcb9642f5fbe079e61105405543", "version-string": "5.0.1", diff --git a/versions/a-/astr.json b/versions/a-/astr.json new file mode 100644 index 00000000000000..738692350412c3 --- /dev/null +++ b/versions/a-/astr.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "a1f0a0fddb4d32a4b31a61a3ba5fb4ce21ef998f", + "version": "0.2.1", + "port-version": 0 + } + ] +} diff --git a/versions/a-/async-mqtt.json b/versions/a-/async-mqtt.json new file mode 100644 index 00000000000000..095e29300cdf5c --- /dev/null +++ b/versions/a-/async-mqtt.json @@ -0,0 +1,109 @@ +{ + "versions": [ + { + "git-tree": "cf72e6ffff6a04a7970fdd233aed561027fbb8b7", + "version": "9.0.2", + "port-version": 0 + }, + { + "git-tree": "3eead09afc69661d7dbe73007276c04c7d239346", + "version": "9.0.1", + "port-version": 0 + }, + { + "git-tree": "c92c43499a7e610def2909bec1e5ace51d8c4729", + "version": "9.0.0", + "port-version": 0 + }, + { + "git-tree": "492b0473ce4568d2bc5852461c4c75c574ef2941", + "version": "8.0.1", + "port-version": 0 + }, + { + "git-tree": "a46b733b06a4305733c5e81235a270e6d22db445", + "version": "8.0.0", + "port-version": 0 + }, + { + "git-tree": "286bc76359a1cd98053b0a9a8ff81047ebf663ad", + "version": "7.0.0", + "port-version": 0 + }, + { + "git-tree": "07727b962d881bbeb5b65b5677e1e9c67be96c02", + "version": "5.1.1", + "port-version": 0 + }, + { + "git-tree": "ed58076eabe5415b20f4b7cd91bb692c8ff7d979", + "version": "5.1.0", + "port-version": 0 + }, + { + "git-tree": "d36fdfa7382dee22c5cdbe864210d58fc66921d4", + "version": "5.0.0", + "port-version": 0 + }, + { + "git-tree": "80ea1a3fc3a7fdf9b460d83e73670cd0da87761c", + "version": "4.1.0", + "port-version": 0 + }, + { + "git-tree": "5cdfa2d3e21b56533c7862336237abeae866b8da", + "version": "4.0.0", + "port-version": 0 + }, + { + "git-tree": "54a9da56ebb673479269e266208e7b1133ff128a", + "version": "3.0.0", + "port-version": 0 + }, + { + "git-tree": "1785cef2cfd89416b423c3a67c5ef0ef29c76100", + "version": "2.0.0", + "port-version": 0 + }, + { + "git-tree": "f7194dfdf664f2037e9917fd58220d421dc9de76", + "version": "1.0.9", + "port-version": 0 + }, + { + "git-tree": "e68200b49b2f55aaf0e4a597af4dcd6d3f91d478", + "version": "1.0.7", + "port-version": 0 + }, + { + "git-tree": "9c89da20b589c01a60d633c5a1db2ed36215eb31", + "version": "1.0.6", + "port-version": 1 + }, + { + "git-tree": "cd1032beeb26ec19d1a9c384b0c8335249292e66", + "version": "1.0.6", + "port-version": 0 + }, + { + "git-tree": "5d6da6090c0d80cca553b35ad733f0f3a879f0f7", + "version": "1.0.5", + "port-version": 0 + }, + { + "git-tree": "12788eb6a749ef28ef1dca9d6ab141bdf0458208", + "version": "1.0.4", + "port-version": 0 + }, + { + "git-tree": "624a7f874eca273e12ebe2ac104d13294c4126bd", + "version": "1.0.3", + "port-version": 0 + }, + { + "git-tree": "035119f49547730765ec2a296355d550b8ac7920", + "version": "1.0.2", + "port-version": 0 + } + ] +} diff --git a/versions/a-/async-simple.json b/versions/a-/async-simple.json new file mode 100644 index 00000000000000..f4d18888a6f837 --- /dev/null +++ b/versions/a-/async-simple.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "2a01ce2f978c1616b22f05ef599bfed1f080a626", + "version": "1.3", + "port-version": 1 + }, + { + "git-tree": "f2ba1d445f31f11bc0311be0de36f56fc40531da", + "version": "1.3", + "port-version": 0 + } + ] +} diff --git a/versions/a-/asynch.json b/versions/a-/asynch.json index 629b9978a7a1b9..6747c3ea8adf85 100644 --- a/versions/a-/asynch.json +++ b/versions/a-/asynch.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "4aa950187368ee03bd5ee5739468fc68ea4c9e0c", + "version-date": "2019-09-21", + "port-version": 3 + }, { "git-tree": "e656692601ab76c652a9b09c98bb36ee8723f9c0", "version-string": "2019-09-21", diff --git a/versions/a-/asyncplusplus.json b/versions/a-/asyncplusplus.json index 4de790bf2bd830..0e1fb0bbb9511c 100644 --- a/versions/a-/asyncplusplus.json +++ b/versions/a-/asyncplusplus.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "7c34412bc47db8ec8e11e9c8569791d5da5199cc", + "version": "1.2", + "port-version": 0 + }, + { + "git-tree": "454f29e635dba103d5d48a5b1e9ba9842fb4864e", + "version": "1.1", + "port-version": 2 + }, { "git-tree": "15a66956fc29d87d60f48bfc7aa3ca823554734e", "version-string": "1.1", diff --git a/versions/a-/at-spi2-atk.json b/versions/a-/at-spi2-atk.json new file mode 100644 index 00000000000000..69e2bf28d116f5 --- /dev/null +++ b/versions/a-/at-spi2-atk.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "97535464d9f15ce3bcadaf78ad8031fa3df5eda5", + "version": "2.38.0", + "port-version": 1 + }, + { + "git-tree": "ebb28a9cdbd06d3185ba2e0cfc1945be23a0a608", + "version": "2.38.0", + "port-version": 0 + } + ] +} diff --git a/versions/a-/at-spi2-core.json b/versions/a-/at-spi2-core.json new file mode 100644 index 00000000000000..b3509184cd6d02 --- /dev/null +++ b/versions/a-/at-spi2-core.json @@ -0,0 +1,24 @@ +{ + "versions": [ + { + "git-tree": "5143414003b96ead1ffe40c57c9bf764bf64b0c0", + "version": "2.44.1", + "port-version": 3 + }, + { + "git-tree": "897df7693a8a1addc3a5ab84efabef89e4cef1d8", + "version": "2.44.1", + "port-version": 2 + }, + { + "git-tree": "72611608fcbd5e1a1b867a88e4810d75ddc94fdf", + "version": "2.44.1", + "port-version": 1 + }, + { + "git-tree": "dd1e736f89692df6c27db81eed2269458666841b", + "version": "2.44.1", + "port-version": 0 + } + ] +} diff --git a/versions/a-/atk.json b/versions/a-/atk.json index f7de501e725763..dcfc9f090212f7 100644 --- a/versions/a-/atk.json +++ b/versions/a-/atk.json @@ -1,5 +1,55 @@ { "versions": [ + { + "git-tree": "c97f8dd9d133fb3e75abf33040b3ec61e032734d", + "version": "2.38.0", + "port-version": 8 + }, + { + "git-tree": "d21ac2c541d67128cafda7c4b190e217cb943174", + "version": "2.38.0", + "port-version": 7 + }, + { + "git-tree": "6c40b0b29185c3bf172af4eaca94e38a892221b2", + "version": "2.38.0", + "port-version": 6 + }, + { + "git-tree": "0287be8f06bb4da8b89f9edb0aa93258c6d36f1e", + "version": "2.38.0", + "port-version": 5 + }, + { + "git-tree": "849d0f35a03bea3d5871f8e8bbaae5d476f20798", + "version": "2.38.0", + "port-version": 4 + }, + { + "git-tree": "648ef40c1a892940c1a4c501123cafacd86e4f5a", + "version": "2.38.0", + "port-version": 3 + }, + { + "git-tree": "e6aebc3163947c210e176a1e9ab0ddd1c6c7d0bf", + "version": "2.38.0", + "port-version": 2 + }, + { + "git-tree": "4034b57da4c9eeb30d6904339be721b7e45f8a89", + "version": "2.38.0", + "port-version": 1 + }, + { + "git-tree": "9e43338e95e4bfeb688d23ade7792fb45b185356", + "version": "2.38.0", + "port-version": 0 + }, + { + "git-tree": "15723fa24f08f04e859253b16f5cbc05529d10cf", + "version": "2.36.0", + "port-version": 2 + }, { "git-tree": "cf5656ae96a202ad1846f5cb233cc4daf4f3336d", "version": "2.36.0", diff --git a/versions/a-/atkmm.json b/versions/a-/atkmm.json index d338170a691fad..3787e9ef9b0a8b 100644 --- a/versions/a-/atkmm.json +++ b/versions/a-/atkmm.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "4b42bc112850ef59493e65d67cf5bbfb40011fac", + "version": "2.36.3", + "port-version": 0 + }, + { + "git-tree": "98ad8f81a31186ba590b553c5e99d4ea5415eb64", + "version": "2.36.1", + "port-version": 2 + }, + { + "git-tree": "d9acaf9d071486528917fa62e0315a65d2c4ed6d", + "version": "2.36.1", + "port-version": 1 + }, + { + "git-tree": "f0bad5eb22d4affecd3eb08be801a8692b5704c6", + "version": "2.36.1", + "port-version": 0 + }, + { + "git-tree": "bd4ca61c3b3fcfbadf494e019aa13a659eeff930", + "version": "2.36.0", + "port-version": 2 + }, { "git-tree": "340ce8d9ccb6154374ecbe6bf6c9a70b83442578", "version": "2.36.0", diff --git a/versions/a-/atl.json b/versions/a-/atl.json new file mode 100644 index 00000000000000..458b1eed606a00 --- /dev/null +++ b/versions/a-/atl.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "0cf33fe03c09b26209c1162fee2bb2c5538f8b0f", + "version": "0", + "port-version": 0 + } + ] +} diff --git a/versions/a-/atliac-minitest.json b/versions/a-/atliac-minitest.json new file mode 100644 index 00000000000000..c2705e2e734e81 --- /dev/null +++ b/versions/a-/atliac-minitest.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "2013d9feb683a1cbd74aa2190af932dfdb4f7580", + "version": "1.0.0", + "port-version": 0 + } + ] +} diff --git a/versions/a-/atlmfc.json b/versions/a-/atlmfc.json index 7f6fcbf607d9dc..f9be7ff97a1c17 100644 --- a/versions/a-/atlmfc.json +++ b/versions/a-/atlmfc.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "1a6d710d7d3ffd42089aa001571c625805f59918", + "version": "0", + "port-version": 3 + }, + { + "git-tree": "60bac7802a9cdb32192315262495b647af36b723", + "version": "0", + "port-version": 2 + }, { "git-tree": "509a448c797ddb6cf67ba179b6edff02fee17865", "version-string": "0", diff --git a/versions/a-/atomic-queue.json b/versions/a-/atomic-queue.json index 56784d4b3b6de3..358a716684d967 100644 --- a/versions/a-/atomic-queue.json +++ b/versions/a-/atomic-queue.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "f66ffc7a1238fb105af0cd946544c2a94600fce9", + "version": "1.6.5", + "port-version": 0 + }, + { + "git-tree": "b88cd34bcb65c0fa36106282bd37722c6a65e853", + "version": "1.6.4", + "port-version": 0 + }, + { + "git-tree": "7b1bca0b58cc1f6d9571df7ab750292a8a4ac25f", + "version": "1.6.3", + "port-version": 0 + }, + { + "git-tree": "045962c06085fe2da8633106b2170b29f4febe47", + "version": "1.5", + "port-version": 0 + }, { "git-tree": "a32a426d9c16a0067532134ecb6680ee7928f7f7", "version-date": "2021-05-03", diff --git a/versions/a-/attr.json b/versions/a-/attr.json new file mode 100644 index 00000000000000..06f9530a20fce5 --- /dev/null +++ b/versions/a-/attr.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "8c3b068a238cc47f966236ab2c5e190970923f1a", + "version-semver": "2.5.2", + "port-version": 0 + }, + { + "git-tree": "2348d8cea7b1c70c26139bbf366d57830cea8bf5", + "version-semver": "2.5.1", + "port-version": 1 + }, + { + "git-tree": "99ae42f2118c5c6d128b332dd5e914aeba6702d9", + "version-semver": "2.5.1", + "port-version": 0 + } + ] +} diff --git a/versions/a-/aubio.json b/versions/a-/aubio.json index 540f6d7eafa42c..18ffdd57fba6a2 100644 --- a/versions/a-/aubio.json +++ b/versions/a-/aubio.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "31db883042c73ae81e74c010dca29c7fc4e273f9", + "version-date": "2024-01-03", + "port-version": 0 + }, + { + "git-tree": "e51e332257e4b788828390a39d86109000d5b960", + "version-date": "2022-01-26", + "port-version": 1 + }, + { + "git-tree": "2e15f362018acee6d200577e41252e911eef35f0", + "version-date": "2022-01-26", + "port-version": 0 + }, + { + "git-tree": "511a11ecdc92221bcde518ad98f22512788a07a4", + "version-semver": "0.4.9", + "port-version": 9 + }, + { + "git-tree": "4888190139ae3bd7f3fdb15f79453b25f59a45f5", + "version-semver": "0.4.9", + "port-version": 8 + }, { "git-tree": "b7115b787e5f71bf65454f4c3cff3ec85b4eb264", "version-semver": "0.4.9", diff --git a/versions/a-/audiofile.json b/versions/a-/audiofile.json index cc7517be6aa7a4..d4f3bebe04f317 100644 --- a/versions/a-/audiofile.json +++ b/versions/a-/audiofile.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "6f06a6467594b612bfd24dc86f696d07e1c4b500", + "version": "1.1.1", + "port-version": 0 + }, + { + "git-tree": "fa276b1ad374c2ae6034445b6655518d8f9a23de", + "version": "1.1.0", + "port-version": 0 + }, { "git-tree": "73a1d7555de8baaf7a1b34ca1410d7e9978bf75f", "version": "1.0.9", diff --git a/versions/a-/audit.json b/versions/a-/audit.json new file mode 100644 index 00000000000000..d02c2f92e3d335 --- /dev/null +++ b/versions/a-/audit.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "7bc8ba38796968e68cd87e9537c85a803c203b1a", + "version": "4.0.2", + "port-version": 0 + }, + { + "git-tree": "926ccd42caae517216220ee699e30c86abdf7ed9", + "version": "4.0.1", + "port-version": 0 + } + ] +} diff --git a/versions/a-/aurora-au.json b/versions/a-/aurora-au.json new file mode 100644 index 00000000000000..bcae8431eed9eb --- /dev/null +++ b/versions/a-/aurora-au.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "843b8ff14fe6b933b9888e9badec1595bdcec3bf", + "version-semver": "0.3.5", + "port-version": 1 + }, + { + "git-tree": "dbea0dd2b0494c189b944e96b477192d37461bb9", + "version-semver": "0.3.5", + "port-version": 0 + } + ] +} diff --git a/versions/a-/aurora.json b/versions/a-/aurora.json index 5fb067e57d13a9..430a249aac8fb6 100644 --- a/versions/a-/aurora.json +++ b/versions/a-/aurora.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "05d122ad98c50099a3bdbfd845faf2460df6659a", + "version": "2017-06-21-c75699d2a8caa726260c29b6d7a0fd35f8f28933", + "port-version": 2 + }, { "git-tree": "a41f2335fd703ebb6a3dbd4eb20260754cff110c", "version-string": "2017-06-21-c75699d2a8caa726260c29b6d7a0fd35f8f28933", diff --git a/versions/a-/autobahn.json b/versions/a-/autobahn.json index 5aaa23e76ed97a..44a825b555e13d 100644 --- a/versions/a-/autobahn.json +++ b/versions/a-/autobahn.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "6d30e9c65f3f7f62c0020630f26df0f772854996", + "version": "20.8.1", + "port-version": 2 + }, { "git-tree": "2d7687436a474abcf18dd1b5689437218f8f6d36", "version-string": "20.8.1", diff --git a/versions/a-/autodock-vina.json b/versions/a-/autodock-vina.json index c0e43d1be7e91f..470fc0d3e5a995 100644 --- a/versions/a-/autodock-vina.json +++ b/versions/a-/autodock-vina.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "17529fd4b800ef3453f99cf2607e64fea59f6481", + "version-semver": "1.2.5", + "port-version": 3 + }, + { + "git-tree": "0a1f8b9271d163893c7bcb8f7097e38be9888519", + "version-semver": "1.2.5", + "port-version": 2 + }, + { + "git-tree": "d962d4e25cc8a74a34729a493203c3060826fa1e", + "version-semver": "1.2.5", + "port-version": 1 + }, + { + "git-tree": "fbbf68e11b2e95110b26735162c7c07b4db2d670", + "version-semver": "1.2.5", + "port-version": 0 + }, { "git-tree": "05bd7ebce99db7a1d6fb9fa3194e53583d2b3b25", "version-semver": "1.2.3", diff --git a/versions/a-/avcpp.json b/versions/a-/avcpp.json index 9394cae4e4344e..fd65d3f9ccd9f7 100644 --- a/versions/a-/avcpp.json +++ b/versions/a-/avcpp.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "b06ff7d5a249eaa6f633d4fb9ce05b8f6fd8f85b", + "version": "2.4.0", + "port-version": 0 + }, + { + "git-tree": "35a98b8fdd34b26ecfcb2a8d79f4eb288c2a800b", + "version": "2.3.2", + "port-version": 0 + }, + { + "git-tree": "0536c50812252994282f92dc60c6be989da16ed3", + "version": "2.3.0", + "port-version": 0 + }, + { + "git-tree": "37ae9f7b52ea3f3ce0da3c7564f006639816c084", + "version": "2.2.1", + "port-version": 0 + }, + { + "git-tree": "7227fc33d6f65475816f10bffcdbedd6d2485298", + "version": "2.1.0", + "port-version": 0 + }, { "git-tree": "caf5460d5bfca1d608b7c7eab2bd2872080bf0d8", "version-date": "2021-06-14", diff --git a/versions/a-/avisynthplus.json b/versions/a-/avisynthplus.json index c8cd5d877581bf..966009bac747e5 100644 --- a/versions/a-/avisynthplus.json +++ b/versions/a-/avisynthplus.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "d6a5198252f84212548934db0f73184919283928", + "version": "3.7.3", + "port-version": 0 + }, + { + "git-tree": "4e89f515dc497bb37dd138d024d572ef318a10fb", + "version": "3.7.2", + "port-version": 2 + }, + { + "git-tree": "10f62c32226c4f588e4524ebe1ffc36a2ad2165a", + "version": "3.7.2", + "port-version": 1 + }, + { + "git-tree": "e3749b45c163c78cdd03a7e47223634ba17ab58f", + "version-semver": "3.7.2", + "port-version": 0 + }, + { + "git-tree": "a585670d79213148e938d9f3ea7d2ccb1c784f2c", + "version-semver": "3.7.0", + "port-version": 3 + }, + { + "git-tree": "ed06319cd3b2bb9e0811743ca7f66dd9539eabef", + "version-semver": "3.7.0", + "port-version": 2 + }, { "git-tree": "747e0dd9f81ace8b2f473dc455871938d930df28", "version-semver": "3.7.0", diff --git a/versions/a-/avro-c.json b/versions/a-/avro-c.json index 943c9096cd83b2..0805932df22e40 100644 --- a/versions/a-/avro-c.json +++ b/versions/a-/avro-c.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "76ef10758076c92faaae286e1d38c1770dc4f23c", + "version": "1.11.3", + "port-version": 0 + }, + { + "git-tree": "7b07da3abd56565c8d2e75942aab468ece0f3115", + "version": "1.11.0", + "port-version": 3 + }, + { + "git-tree": "e36456a1ada18a8020e4bb1fffa24b0dc2edfa3e", + "version": "1.11.0", + "port-version": 2 + }, + { + "git-tree": "75d0ed12b643fe1ed6a175c12549e9bb0ca94a1d", + "version": "1.11.0", + "port-version": 1 + }, { "git-tree": "0b07ed910d3ad0ec9a5be71e1b37f0593ab540c9", "version": "1.11.0", diff --git a/versions/a-/avro-cpp.json b/versions/a-/avro-cpp.json index 1f27c12857b593..192ebc80522105 100644 --- a/versions/a-/avro-cpp.json +++ b/versions/a-/avro-cpp.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "d177503c9c4f90f723a50e01156fbb79b479237d", + "version": "1.12.0", + "port-version": 0 + }, + { + "git-tree": "e5b130595cfdd2c5fcecf41bcbbed730aab60285", + "version": "1.11.3", + "port-version": 0 + }, + { + "git-tree": "0f04b2076c299b830bfdd3a698db754f4f8cf269", + "version-date": "2022-11-07", + "port-version": 1 + }, + { + "git-tree": "08f82323ee0bb00a297cc1318c04dd3bce5d963e", + "version-date": "2022-11-07", + "port-version": 0 + }, { "git-tree": "7804bfb279bdea0b9e270f010e1683b9b8d7ee38", "version-date": "2021-06-01", diff --git a/versions/a-/awlib.json b/versions/a-/awlib.json new file mode 100644 index 00000000000000..92d67932cba393 --- /dev/null +++ b/versions/a-/awlib.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "539db7a8b7652c86c735594e04dc1a1e09647035", + "version-date": "2024-04-06", + "port-version": 0 + } + ] +} diff --git a/versions/a-/aws-c-auth.json b/versions/a-/aws-c-auth.json index 52941c35cad5ab..2251443d2388d0 100644 --- a/versions/a-/aws-c-auth.json +++ b/versions/a-/aws-c-auth.json @@ -1,5 +1,75 @@ { "versions": [ + { + "git-tree": "fab2a20a2afd37468953826e9db352ee71ba38d6", + "version": "0.7.31", + "port-version": 0 + }, + { + "git-tree": "9dc508c4dbe649e26a09570b55bede507417f353", + "version": "0.7.22", + "port-version": 0 + }, + { + "git-tree": "349597b752292dcaf8e16d76e4dd231891c74491", + "version": "0.7.16", + "port-version": 0 + }, + { + "git-tree": "d2b36610b15f3007dcdc328c29b4db5c0862f27f", + "version": "0.7.14", + "port-version": 0 + }, + { + "git-tree": "47a0b91751e137d79b7c6e8ca614d98171ab95a9", + "version": "0.7.11", + "port-version": 0 + }, + { + "git-tree": "e80f8a3a15231a8d513d03ff7761acf4a5c18269", + "version": "0.7.8", + "port-version": 0 + }, + { + "git-tree": "ab09a6f41712ba35a021c3d6392a804e47858668", + "version": "0.7.6", + "port-version": 0 + }, + { + "git-tree": "f5aba6169081364e7585dfc613a0a476bac838f2", + "version": "0.7.4", + "port-version": 0 + }, + { + "git-tree": "8c6d3fc7a7471133d8fa5c12f019432a89678da2", + "version": "0.7.3", + "port-version": 0 + }, + { + "git-tree": "2540832abbf669a0efdf221f74ba3bb68f795056", + "version": "0.7.1", + "port-version": 0 + }, + { + "git-tree": "33b7db583ea58cd2516c5bdc3d2f331dc767eaad", + "version": "0.7.0", + "port-version": 0 + }, + { + "git-tree": "51a9d9adaa80e798b6d856653cbece6dbc52c41c", + "version": "0.6.22", + "port-version": 0 + }, + { + "git-tree": "cdf9b6cb3b199b8ef1dec2e0d46bcfea7c8f536a", + "version": "0.6.3", + "port-version": 2 + }, + { + "git-tree": "be9ae25111a5c7104d7c3769fcd581ee9f5dac7a", + "version": "0.6.3", + "port-version": 1 + }, { "git-tree": "09b8dcb5acc3e1f83c8b5e3f8b242db3d85f468b", "version": "0.6.3", diff --git a/versions/a-/aws-c-cal.json b/versions/a-/aws-c-cal.json index bdddc4177539d9..67e90bfec8729f 100644 --- a/versions/a-/aws-c-cal.json +++ b/versions/a-/aws-c-cal.json @@ -1,5 +1,60 @@ { "versions": [ + { + "git-tree": "da7748e0883f0c8e02321bc1ef1004041c7fbbf8", + "version": "0.7.4", + "port-version": 0 + }, + { + "git-tree": "c9382281410e9d885d1eacce6faa29f36767a5b0", + "version": "0.6.15", + "port-version": 0 + }, + { + "git-tree": "dd087ffda02ff69b1ce404a3e6247220c1c4c62f", + "version": "0.6.10", + "port-version": 0 + }, + { + "git-tree": "43c961d933d7a928c15cdfb7c5f7a6c16875bed5", + "version": "0.6.9", + "port-version": 0 + }, + { + "git-tree": "df757b731aa4c59ac71c43d02fe87edaff5680b3", + "version": "0.6.2", + "port-version": 1 + }, + { + "git-tree": "5633a1e4fad4542c5e3a665a09bf77d276031429", + "version": "0.6.2", + "port-version": 0 + }, + { + "git-tree": "c833007ab0c5b36c45e555487117c271d52c4236", + "version": "0.6.1", + "port-version": 0 + }, + { + "git-tree": "17bf60e8e810ac219b328b2337afc58d65c6b8dd", + "version": "0.6.0", + "port-version": 0 + }, + { + "git-tree": "e9b46cbe5ae06bae580a43efd676aee7de00df08", + "version": "0.5.20", + "port-version": 0 + }, + { + "git-tree": "a383adb52cab94b360e30cf82c1be79a45a75875", + "version": "0.5.12", + "port-version": 2 + }, + { + "git-tree": "33e7566ec2dc8cbc5ce91687b8627f946cdf231d", + "version": "0.5.12", + "port-version": 1 + }, { "git-tree": "6f3ed6a5199c30560f46d1be38cee72e3a77d62a", "version": "0.5.12", diff --git a/versions/a-/aws-c-common.json b/versions/a-/aws-c-common.json index daaf60b0e5a405..77f9f9a84832b5 100644 --- a/versions/a-/aws-c-common.json +++ b/versions/a-/aws-c-common.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "6ca8ab15e996d475016dcb8a29cf3558fc4f6568", + "version": "0.9.30", + "port-version": 0 + }, + { + "git-tree": "e173deb74e242d11e66bac664774195ccc14e5db", + "version": "0.9.28", + "port-version": 0 + }, + { + "git-tree": "636a4b86f49c7c2741cf61de556f29125acc76a6", + "version": "0.9.21", + "port-version": 0 + }, + { + "git-tree": "5ce002157d2a45f99a99d4eeb35323b2db108a12", + "version": "0.9.14", + "port-version": 0 + }, + { + "git-tree": "21a8991014f0f7b8678c4e8c4d6958a214b1f04b", + "version": "0.9.12", + "port-version": 0 + }, + { + "git-tree": "e07be2013141ae49e6bf3340ccce57b0031cfb17", + "version": "0.9.10", + "port-version": 0 + }, + { + "git-tree": "30465cfdc4851970efc5767fd57ad6e0dedad46a", + "version": "0.9.9", + "port-version": 0 + }, + { + "git-tree": "6d58a5944c2340297985dc05678671129c45d40f", + "version": "0.9.4", + "port-version": 0 + }, + { + "git-tree": "be7b04f5af0c0b475733738be33d3596936764ac", + "version": "0.9.3", + "port-version": 0 + }, + { + "git-tree": "ce8953debbd46bc73523d3e214f42e5a088adae5", + "version": "0.9.0", + "port-version": 0 + }, + { + "git-tree": "6447f286aa87615dbf0a2d9227939dd537297d92", + "version": "0.8.23", + "port-version": 0 + }, + { + "git-tree": "54a4a42c299e7b32a1199ad382c4b537a18df034", + "version": "0.8.9", + "port-version": 1 + }, + { + "git-tree": "d2ef01e925f6168e81c00ab304be70d312ea2ba9", + "version": "0.8.9", + "port-version": 0 + }, + { + "git-tree": "2f38081d38190d2b787b38df2ffe3804fea7746b", + "version": "0.6.20", + "port-version": 0 + }, + { + "git-tree": "56b4972c2535a4e8991826b6c595e433b0e80bf9", + "version": "0.6.9", + "port-version": 2 + }, + { + "git-tree": "20a16524a9cc1079486d4efd5230562c8b9bed8a", + "version": "0.6.9", + "port-version": 1 + }, { "git-tree": "e0cf8500b71dc430f8d688db62f277b6c20a2a74", "version": "0.6.9", diff --git a/versions/a-/aws-c-compression.json b/versions/a-/aws-c-compression.json index b4a3c8c9c8d737..414a8e63b58eeb 100644 --- a/versions/a-/aws-c-compression.json +++ b/versions/a-/aws-c-compression.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "8bdfbfedbc64461b1a653d904e8d71e8fe75ed4d", + "version": "0.2.19", + "port-version": 0 + }, + { + "git-tree": "9374b8a4edeeba54be2e5807b04cf38cb1f37919", + "version": "0.2.18", + "port-version": 0 + }, + { + "git-tree": "a0373f54fe747cd91672c56b2d86ce0e8d9e4491", + "version": "0.2.17", + "port-version": 0 + }, + { + "git-tree": "770807ecff5bc7a1d5387b956a643bf5e3205078", + "version": "0.2.16", + "port-version": 0 + }, + { + "git-tree": "107778b6c4b3c09105fcc9a08b31b252278538a4", + "version": "0.2.14", + "port-version": 2 + }, + { + "git-tree": "5892ebc8e23b264d832f03d4f7dfb04856dd8367", + "version": "0.2.14", + "port-version": 1 + }, { "git-tree": "e9dd3757cfe02e9e9d6d4d0bf772507c1be3794e", "version": "0.2.14", diff --git a/versions/a-/aws-c-event-stream.json b/versions/a-/aws-c-event-stream.json index 440856d05daf6d..35b06e3ae34ce9 100644 --- a/versions/a-/aws-c-event-stream.json +++ b/versions/a-/aws-c-event-stream.json @@ -1,5 +1,45 @@ { "versions": [ + { + "git-tree": "3ce2f05af1ef06109a9025033ea8322479473cdd", + "version": "0.4.3", + "port-version": 0 + }, + { + "git-tree": "374935a2dfbf1c2a47bbf33b7e8fe3ad0f64c4ee", + "version": "0.4.2", + "port-version": 0 + }, + { + "git-tree": "26154860990d45f57dc53a6e7ce291112af3c4e3", + "version": "0.4.1", + "port-version": 0 + }, + { + "git-tree": "c0c5daf2e95fa6a4e02f178c8ff091b0c8ed6b0e", + "version": "0.3.2", + "port-version": 0 + }, + { + "git-tree": "9e169d96e976e9c9afae3b1b5d9045f49c6cbec2", + "version": "0.3.1", + "port-version": 0 + }, + { + "git-tree": "cd36c61d2769534dbe9e4813e1269e88961ff5fe", + "version": "0.2.18", + "port-version": 0 + }, + { + "git-tree": "6a9e93d6dd8799afe5f56eeeda92793ba888691e", + "version": "0.2.7", + "port-version": 2 + }, + { + "git-tree": "4d0b2b6a72ae5ea454dc5378f9b3bc78320174ae", + "version": "0.2.7", + "port-version": 1 + }, { "git-tree": "0556f6ff7d7a2e270825de650d84e97c1ed2cf9b", "version": "0.2.7", diff --git a/versions/a-/aws-c-http.json b/versions/a-/aws-c-http.json index 70add24812ab84..767dee81e6e1f5 100644 --- a/versions/a-/aws-c-http.json +++ b/versions/a-/aws-c-http.json @@ -1,5 +1,65 @@ { "versions": [ + { + "git-tree": "5ce014beeda67d7d46ad21707433a8f7341a9e77", + "version": "0.8.10", + "port-version": 0 + }, + { + "git-tree": "ca51e9a75bf0240b459ab91f2058b3df01f22962", + "version": "0.8.2", + "port-version": 0 + }, + { + "git-tree": "f8adfd9bb00f8f94f20462e0cfdcac07ccdf6a94", + "version": "0.8.1", + "port-version": 0 + }, + { + "git-tree": "aa98598f65061ac8a183b36862eac0c4e89d38a8", + "version": "0.8.0", + "port-version": 0 + }, + { + "git-tree": "eb6f67641f77b8ba24d435c6cf49b7a36cf80536", + "version": "0.7.14", + "port-version": 0 + }, + { + "git-tree": "ab0c882c2d7c32b58e11c9e7124574933b701d8f", + "version": "0.7.13", + "port-version": 0 + }, + { + "git-tree": "6333ba487074d6b76f7270654796334049371d08", + "version": "0.7.12", + "port-version": 0 + }, + { + "git-tree": "c33f11482c79e72522708d43522665505d47730d", + "version": "0.7.11", + "port-version": 0 + }, + { + "git-tree": "c9d908413ad0bba2f32673c4b5b16dcdc6abc559", + "version": "0.7.10", + "port-version": 0 + }, + { + "git-tree": "c097685110e260e91a1ac843ec20eba29f67574c", + "version": "0.7.3", + "port-version": 0 + }, + { + "git-tree": "845a574790e6fcd40bfc13cf0c65104d04e29350", + "version": "0.6.5", + "port-version": 2 + }, + { + "git-tree": "470e20b38e215a550b52c002a7cc8a7f18938bf9", + "version": "0.6.5", + "port-version": 1 + }, { "git-tree": "21701228d8dca8d718f990273734749288100cdd", "version": "0.6.5", diff --git a/versions/a-/aws-c-io.json b/versions/a-/aws-c-io.json index f68065ec45f4b3..7c04a7c1dd7b28 100644 --- a/versions/a-/aws-c-io.json +++ b/versions/a-/aws-c-io.json @@ -1,5 +1,80 @@ { "versions": [ + { + "git-tree": "e61766c04e17d7161154c6a3711adbdd668cd5f4", + "version": "0.14.18", + "port-version": 0 + }, + { + "git-tree": "8bd9a8fb2689efbf9a887d321d8c9a4d186c9641", + "version": "0.14.9", + "port-version": 0 + }, + { + "git-tree": "4e76d4b5c9d39008952070b235a34f8df72ef72f", + "version": "0.14.6", + "port-version": 0 + }, + { + "git-tree": "a8cf3e80c656857ed3959d2d2088c2bd590eceb3", + "version": "0.14.3", + "port-version": 0 + }, + { + "git-tree": "d821d965f7ef5ea73553cd6131cdfbf081924e7c", + "version": "0.14.1", + "port-version": 0 + }, + { + "git-tree": "346cdc018fbb4d19764457fe205fd0e8db0d8088", + "version": "0.14.0", + "port-version": 0 + }, + { + "git-tree": "586cb06ad50ef2627c4dd30ab97b88d79e559fd5", + "version": "0.13.36", + "port-version": 0 + }, + { + "git-tree": "caab59ca1fe5071d552eaf073a501151ac6099a5", + "version": "0.13.35", + "port-version": 0 + }, + { + "git-tree": "888ba4e86b810e8181ed897d4dc03b1a9f78c9f7", + "version": "0.13.32", + "port-version": 0 + }, + { + "git-tree": "702a1838bbe3f84ac08e515007467ae513eab4da", + "version": "0.13.31", + "port-version": 0 + }, + { + "git-tree": "5b3bb7fda57741248eff888afaea9724d68b7b5e", + "version": "0.13.27", + "port-version": 0 + }, + { + "git-tree": "af0f6d934c56ef089365a8c27c8c9f183e554ef9", + "version": "0.13.14", + "port-version": 0 + }, + { + "git-tree": "4dc402977f4ed08054b2661b89a211064005e280", + "version": "0.10.22", + "port-version": 0 + }, + { + "git-tree": "7456b996bdeeeeb59fb39770d797fa2966d0a951", + "version": "0.10.7", + "port-version": 2 + }, + { + "git-tree": "45b959b56caa21052a67c2b3d0b493a3e401288c", + "version": "0.10.7", + "port-version": 1 + }, { "git-tree": "fd430ec2c2c43582b0765a48e0a724d17747ae36", "version": "0.10.7", diff --git a/versions/a-/aws-c-mqtt.json b/versions/a-/aws-c-mqtt.json index d2c2a46dbaa8bc..7113d1b75282c0 100644 --- a/versions/a-/aws-c-mqtt.json +++ b/versions/a-/aws-c-mqtt.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "dbf87664aa6737a36235a074099574841864cd25", + "version": "0.10.7", + "port-version": 0 + }, + { + "git-tree": "d088a37f1788ed945e9abb452a190ad17cb2ba34", + "version": "0.10.6", + "port-version": 0 + }, + { + "git-tree": "1ae0ea6dc8665c5a07b5d95834b64214874b9018", + "version": "0.10.5", + "port-version": 0 + }, + { + "git-tree": "aeeedc8ee14891ddd71133176868c242b75cb1d7", + "version": "0.10.4", + "port-version": 0 + }, + { + "git-tree": "8d9ad24f654f54f40250744fc34a83f1436eb9c7", + "version": "0.10.3", + "port-version": 0 + }, + { + "git-tree": "e288b3c65ad4a03bbadfc763aa362a4bce51ea25", + "version": "0.10.1", + "port-version": 0 + }, + { + "git-tree": "79c21d94b22888e395bd53041457397fcb013486", + "version": "0.9.10", + "port-version": 0 + }, + { + "git-tree": "9210c6a8260e7b5058fd4d9bb7d1a42cd6d78079", + "version": "0.9.9", + "port-version": 0 + }, + { + "git-tree": "c48dfcca0c391e496b3ba1709f491d3cba914e89", + "version": "0.9.6", + "port-version": 0 + }, + { + "git-tree": "96d192387fd36708a0cd3cc41552e473c8bcb2f9", + "version": "0.9.5", + "port-version": 0 + }, + { + "git-tree": "7ef9969a5ceba966df73fb157fa6f74b45f8e8f0", + "version": "0.9.3", + "port-version": 0 + }, + { + "git-tree": "627f6778158776948501ca6a5516ccad59d05a25", + "version": "0.8.14", + "port-version": 0 + }, + { + "git-tree": "240cc0cba578a941b0a23d8dfdbdaf930257b029", + "version": "0.8.5", + "port-version": 0 + }, + { + "git-tree": "028932fcffa607cc234348c2e2df454da7c4ccad", + "version": "0.7.6", + "port-version": 3 + }, + { + "git-tree": "834a199cf4560cbdd8e6dac09074b9b5b1d57d53", + "version": "0.7.6", + "port-version": 2 + }, + { + "git-tree": "6dc42a5ba915723bed2997c39222b166a9f0a084", + "version": "0.7.6", + "port-version": 1 + }, { "git-tree": "a7ac0c5bddb07cc6ef49fe32f845efb230d28059", "version": "0.7.6", diff --git a/versions/a-/aws-c-s3.json b/versions/a-/aws-c-s3.json index b277cd836cc038..c982660ceb933a 100644 --- a/versions/a-/aws-c-s3.json +++ b/versions/a-/aws-c-s3.json @@ -1,5 +1,90 @@ { "versions": [ + { + "git-tree": "f97ac587659b22375a6dc1b16a87adda99d4662b", + "version": "0.6.6", + "port-version": 0 + }, + { + "git-tree": "72656052f2e56364e6c3a1e1afb3d422e370350d", + "version": "0.6.5", + "port-version": 0 + }, + { + "git-tree": "af095b735f936354c42601fe880ec731e94ebe2e", + "version": "0.5.10", + "port-version": 0 + }, + { + "git-tree": "ec20c84a73d7910b5a0fd15f379002f1e3c66873", + "version": "0.5.4", + "port-version": 0 + }, + { + "git-tree": "a03f35d3bbb734a7eebc2ab2250d223bde4a27e8", + "version": "0.5.3", + "port-version": 0 + }, + { + "git-tree": "6c2914666b48d3f75905048129f3576eecf0206c", + "version": "0.5.2", + "port-version": 0 + }, + { + "git-tree": "078a6a0fb48d0f7051c34811347b5e93a647c368", + "version": "0.5.0", + "port-version": 0 + }, + { + "git-tree": "74a12ce42334826f8eae659d435ebe39bf0f2c16", + "version": "0.4.9", + "port-version": 0 + }, + { + "git-tree": "e12d01447182cce36c5524fbd6a22f8135dd9ecb", + "version": "0.4.3", + "port-version": 0 + }, + { + "git-tree": "709e576231214f693d747d8187e44b30c77f4443", + "version": "0.3.24", + "port-version": 0 + }, + { + "git-tree": "11800b01a8e9e48aa7fe4c7e5f2e64592b5d7ebd", + "version": "0.3.17", + "port-version": 0 + }, + { + "git-tree": "47d21c2fbae187617f4781cd3e6bec932da788d6", + "version": "0.3.14", + "port-version": 0 + }, + { + "git-tree": "d081cc24b4c9c6af3f47087da235d5684c60128b", + "version": "0.3.12", + "port-version": 0 + }, + { + "git-tree": "b5022c40fb60e0fa219d4f8ea52239f5625546c1", + "version": "0.2.3", + "port-version": 1 + }, + { + "git-tree": "b320e0f3acafe6dc3733a511e4e2b7e2fadeda4d", + "version": "0.2.3", + "port-version": 0 + }, + { + "git-tree": "c571d95b22b5f84591bf4a115ca47c522371efce", + "version": "0.1.25", + "port-version": 2 + }, + { + "git-tree": "620ce24ba09dd971644750eedcbb42a8f1fc2457", + "version": "0.1.25", + "port-version": 1 + }, { "git-tree": "074cd08f0a073d8b1bfc551bd47435aa50ea96da", "version": "0.1.25", diff --git a/versions/a-/aws-c-sdkutils.json b/versions/a-/aws-c-sdkutils.json new file mode 100644 index 00000000000000..4da49eb24c5a66 --- /dev/null +++ b/versions/a-/aws-c-sdkutils.json @@ -0,0 +1,44 @@ +{ + "versions": [ + { + "git-tree": "9160fd89b00f09e336d1efbeb7ece4158d1be332", + "version": "0.1.19", + "port-version": 0 + }, + { + "git-tree": "7e317edf4088819dc93010e75d6ee0211ec03ea8", + "version": "0.1.16", + "port-version": 0 + }, + { + "git-tree": "059bddb8a37a8cabda35680b9c212e9a0bdb1134", + "version": "0.1.15", + "port-version": 0 + }, + { + "git-tree": "40dbafcbc75133f129ea11d38162703f40dadd86", + "version": "0.1.14", + "port-version": 0 + }, + { + "git-tree": "7bf3d0be0a297cd59345aa56a1b00017e989957c", + "version": "0.1.13", + "port-version": 0 + }, + { + "git-tree": "23164b5e925decd15773f93c5fbe0330be7ac9f5", + "version": "0.1.12", + "port-version": 0 + }, + { + "git-tree": "5cb38bd6a7671f8a9ee981121f485b78d28aaa0f", + "version": "0.1.11", + "port-version": 0 + }, + { + "git-tree": "613cee18da297b892541b45ffe696560865052fb", + "version": "0.1.7", + "port-version": 0 + } + ] +} diff --git a/versions/a-/aws-checksums.json b/versions/a-/aws-checksums.json index 767f55e344fa6a..2ddcbb2bdf9f7e 100644 --- a/versions/a-/aws-checksums.json +++ b/versions/a-/aws-checksums.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "312d192b55e17423130daac21855dba94d8424d1", + "version": "0.1.20", + "port-version": 0 + }, + { + "git-tree": "fdd532188960eea676777a12e5ad822be4167e51", + "version": "0.1.18", + "port-version": 0 + }, + { + "git-tree": "05e17cee2b7d221bb49bebe55e8801f9cea99014", + "version": "0.1.17", + "port-version": 0 + }, + { + "git-tree": "7b723c21e8848802c057f18cac7185bf0be37a2c", + "version": "0.1.16", + "port-version": 0 + }, + { + "git-tree": "753f3e1f6c5054abb9ee014f45a4fcffd9a93678", + "version": "0.1.14", + "port-version": 0 + }, + { + "git-tree": "aeda736d7deef9292db2e43dc8702b2ddb5d59b0", + "version": "0.1.11", + "port-version": 3 + }, + { + "git-tree": "e70b465c6b8ce012ed176b822471dd440f853267", + "version": "0.1.11", + "port-version": 2 + }, { "git-tree": "120921754d48ecb075658abd01dc56b73e7f25f4", "version": "0.1.11", diff --git a/versions/a-/aws-crt-cpp.json b/versions/a-/aws-crt-cpp.json index d8c239816fa52e..e227cf10c264c2 100644 --- a/versions/a-/aws-crt-cpp.json +++ b/versions/a-/aws-crt-cpp.json @@ -1,5 +1,70 @@ { "versions": [ + { + "git-tree": "d9a7ded34c9d102df8c762bc00b0b29e2064fef3", + "version": "0.28.3", + "port-version": 0 + }, + { + "git-tree": "bd51561d31e21b0e6f3e942166f46319f25022fe", + "version": "0.26.12", + "port-version": 0 + }, + { + "git-tree": "e12f07da72d8c435c8a68fae965c42cff40661ad", + "version": "0.26.4", + "port-version": 0 + }, + { + "git-tree": "110c01a23de8f129c041243ea29a8d9483665ec8", + "version": "0.26.1", + "port-version": 0 + }, + { + "git-tree": "0ec1e5fdb18e38dc54d06842860ec7f95df53c5a", + "version": "0.24.8", + "port-version": 0 + }, + { + "git-tree": "855f83fcf951b5fcaf0af75159ff979980670088", + "version": "0.24.7", + "port-version": 0 + }, + { + "git-tree": "8c9935cdadd2baa48566f59d5ca1c253d3187ed1", + "version": "0.23.1", + "port-version": 0 + }, + { + "git-tree": "05d7275131943efc847ecbec0dc1c204b9ee8eb1", + "version": "0.23.0", + "port-version": 0 + }, + { + "git-tree": "5e1e41fc6b37ccd7b0ddfd9d15c9b06339748feb", + "version": "0.20.3", + "port-version": 0 + }, + { + "git-tree": "0473f0c74e9a4530d0b53d3298828eb42ce45ec4", + "version": "0.19.5", + "port-version": 0 + }, + { + "git-tree": "2247bebb1109b41b4a27e18d2c91812d23dfe55d", + "version": "0.15.1", + "port-version": 4 + }, + { + "git-tree": "e542ffdad6392c75909a3235d33c2a22c939c980", + "version": "0.15.1", + "port-version": 3 + }, + { + "git-tree": "d96290d0c6d34f9b4129e811e3b8fd2d62a699c7", + "version": "0.15.1", + "port-version": 2 + }, { "git-tree": "60880034065d31bf96ac71028dab62955a77ba55", "version": "0.15.1", diff --git a/versions/a-/aws-lambda-cpp.json b/versions/a-/aws-lambda-cpp.json index 7856f5dd945072..1f6572a8f814b5 100644 --- a/versions/a-/aws-lambda-cpp.json +++ b/versions/a-/aws-lambda-cpp.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "f50bbb34da1be6d30e004ed7a6227151792c1920", + "version": "0.2.10", + "port-version": 0 + }, + { + "git-tree": "3cc6fdf7e7744d5aef38bee127751f62367f72d4", + "version": "0.2.9", + "port-version": 0 + }, + { + "git-tree": "f1bca88dcd24c6f64b69e49c99bc76db2e4f91bb", + "version": "0.2.8", + "port-version": 1 + }, + { + "git-tree": "c3197f40cb21eb35c009783d5d7a6f290b249fcd", + "version": "0.2.8", + "port-version": 0 + }, + { + "git-tree": "48030b34e22463cab36178bb50d3ce62257d6d56", + "version": "0.2.7", + "port-version": 1 + }, { "git-tree": "e9c58661b9a838e782997f03ee3af449260ece4f", "version-string": "0.2.7", diff --git a/versions/a-/aws-sdk-cpp.json b/versions/a-/aws-sdk-cpp.json index 8cb3adb1210b3b..1fa6667cbb47dc 100644 --- a/versions/a-/aws-sdk-cpp.json +++ b/versions/a-/aws-sdk-cpp.json @@ -1,5 +1,185 @@ { "versions": [ + { + "git-tree": "be003f23440ed5c0e3ff419e1769faf15e943227", + "version": "1.11.428", + "port-version": 0 + }, + { + "git-tree": "ac4b4f695502882bdb0f8ae2711ebc997680d6c4", + "version": "1.11.420", + "port-version": 0 + }, + { + "git-tree": "78c70e9981524d5a397a2c7d2d4dd8c03a250b2d", + "version": "1.11.415", + "port-version": 0 + }, + { + "git-tree": "b71b7920e374f74780fe6cb02043fe6107ed5f07", + "version": "1.11.410", + "port-version": 0 + }, + { + "git-tree": "25794c0341cfdc16b4e0ce8ad5aebcd319724f9c", + "version": "1.11.405", + "port-version": 0 + }, + { + "git-tree": "44ddfa703437d80b5828205ee00e8e49c687275b", + "version": "1.11.352", + "port-version": 0 + }, + { + "git-tree": "dff240595574fc8994e2b6e574afabbb7d857f8f", + "version": "1.11.285", + "port-version": 4 + }, + { + "git-tree": "27092f8627e032baefd12137452180975e1715d1", + "version": "1.11.285", + "port-version": 3 + }, + { + "git-tree": "252f02a82047e15da94b42568b63b4064ae55e56", + "version": "1.11.285", + "port-version": 2 + }, + { + "git-tree": "86cda4ed313a3d7b3b6bd63cd7eb67f947e87855", + "version": "1.11.285", + "port-version": 1 + }, + { + "git-tree": "b0cace4e0dad7294b503c00b96658252e827c3ec", + "version": "1.11.285", + "port-version": 0 + }, + { + "git-tree": "192340da352851921d2c706648ce973435657d35", + "version": "1.11.255", + "port-version": 0 + }, + { + "git-tree": "9dbb54ababc4137e3a91f50aeb8801a89ec6234c", + "version": "1.11.245", + "port-version": 0 + }, + { + "git-tree": "2390f58d566a9a1a25ae4cf7b7862e344eaff2b1", + "version": "1.11.225", + "port-version": 0 + }, + { + "git-tree": "eeab7418483a9b578bb186acde08a1130301e0a1", + "version": "1.11.215", + "port-version": 1 + }, + { + "git-tree": "bbebf005503aa74f6725df8f4d04eb21a894e127", + "version": "1.11.215", + "port-version": 0 + }, + { + "git-tree": "f669bd77e23c643da0c15162dc46d84b924938a0", + "version": "1.11.201", + "port-version": 1 + }, + { + "git-tree": "7e0ba4822d4dcc90eac626f351d7a3fd215a68a8", + "version": "1.11.201", + "port-version": 0 + }, + { + "git-tree": "bb95756096209a013e786b104a11b0aa6357119d", + "version": "1.11.169", + "port-version": 2 + }, + { + "git-tree": "5c0ad10a852e7facc0cea54e3990f16e0cb1ea8b", + "version": "1.11.169", + "port-version": 1 + }, + { + "git-tree": "714b1b2815e2a3f57c79c8703a9cdc9892240acd", + "version": "1.11.169", + "port-version": 0 + }, + { + "git-tree": "3fb36e871ff39d82abfb7eca5bedbaa2b177c72e", + "version": "1.11.160", + "port-version": 0 + }, + { + "git-tree": "94f8f9c8774eda639d96a707cf3fda55fc9df034", + "version": "1.11.155", + "port-version": 1 + }, + { + "git-tree": "f0cc899ce753e066c26bec70fdfb87c84feaf28f", + "version": "1.11.155", + "port-version": 0 + }, + { + "git-tree": "f8b598e9d9b0ecde285a6898a1962f937f9511e9", + "version": "1.11.149", + "port-version": 0 + }, + { + "git-tree": "bacc82ba5052ad66e3b20ad1cae53c36989a28ea", + "version": "1.11.132", + "port-version": 0 + }, + { + "git-tree": "785c086e68c5e4d5257587ee6deeae566140b8fe", + "version": "1.11.65", + "port-version": 0 + }, + { + "git-tree": "495471c4071406ec6929d77a553dc03ebd6df095", + "version": "1.11.4", + "port-version": 0 + }, + { + "git-tree": "53396d33cc22ee631dbfbb9b9a3a656ee3f4ea38", + "version": "1.9.220", + "port-version": 3 + }, + { + "git-tree": "8303c2804c010e352168fda9a38e7256c30d170d", + "version": "1.9.220", + "port-version": 2 + }, + { + "git-tree": "c7d142ac1a2667f6ba9650cab2505a71ffaddbd3", + "version": "1.9.220", + "port-version": 1 + }, + { + "git-tree": "7fc21526c4465a7e399683055a6df0096cad218e", + "version": "1.9.220", + "port-version": 0 + }, + { + "git-tree": "e1d4dde6c824e40b0a0dce27f48539dfa4f64eed", + "version": "1.9.160", + "port-version": 1 + }, + { + "git-tree": "e02908481470143ae86077c24e80d493d609f379", + "version": "1.9.160", + "port-version": 0 + }, + { + "git-tree": "f3e8e88a0bf271817cd42083f58070df1a006603", + "version": "1.9.96", + "port-version": 6 + }, + { + "git-tree": "2da283f5bdb07366001a8b14674c0961ac173566", + "version": "1.9.96", + "port-version": 5 + }, { "git-tree": "fc86d9dc77f15fb8c7c18f767cc21e01e024a8cc", "version": "1.9.96", diff --git a/versions/a-/azmq.json b/versions/a-/azmq.json index 350ac34d51fb7d..cf38a99ac885c5 100644 --- a/versions/a-/azmq.json +++ b/versions/a-/azmq.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "0a99701bb7160639ec7d75187271a16f6c6c42d8", + "version-date": "2023-03-23", + "port-version": 0 + }, + { + "git-tree": "4c4381f52a268bbf8084db2b1684ad740d3e4408", + "version": "1.0.3", + "port-version": 0 + }, { "git-tree": "a82754fa9f38845c88912eb424dbfc718a155fe7", "version-string": "2020-03-03", diff --git a/versions/a-/azure-c-shared-utility.json b/versions/a-/azure-c-shared-utility.json index 65623e3a38b194..50d089109eec1f 100644 --- a/versions/a-/azure-c-shared-utility.json +++ b/versions/a-/azure-c-shared-utility.json @@ -1,5 +1,65 @@ { "versions": [ + { + "git-tree": "a6d44bed9c2bf96b817fc0596709b08f71bc7fdc", + "version-date": "2024-06-24", + "port-version": 1 + }, + { + "git-tree": "3c18e2dd296b8982c302f6a13ddfe413f91af8da", + "version-date": "2024-03-04", + "port-version": 1 + }, + { + "git-tree": "74412552223e3f64edea53ad4ad5d6dc55c0b443", + "version-date": "2024-03-04", + "port-version": 0 + }, + { + "git-tree": "c5938bd8175ca21aa30c5e9b2989b776ec50a481", + "version-date": "2023-08-07", + "port-version": 0 + }, + { + "git-tree": "7fed72b2797511395842d94efefa040e0fd1f65a", + "version-date": "2023-01-18", + "port-version": 1 + }, + { + "git-tree": "78c535284693d96c19026445e363459b37a4aca9", + "version-date": "2023-01-18", + "port-version": 0 + }, + { + "git-tree": "2bfbac018e320a4f8d18aba279855bebd798e74f", + "version-date": "2022-09-15", + "port-version": 0 + }, + { + "git-tree": "ec45ec6a9a5b28ecab27857508355956d151a814", + "version-date": "2022-01-21", + "port-version": 3 + }, + { + "git-tree": "42be8335b113cba6ca88b9f9789b29fc7be280b4", + "version-date": "2022-01-21", + "port-version": 2 + }, + { + "git-tree": "aceee8533b4eeea6eb87371c4d37ae82859cefc7", + "version-date": "2022-01-21", + "port-version": 1 + }, + { + "git-tree": "1d0590ad121eefc3af9ff13f67996ca8c3e39508", + "version-date": "2022-01-21", + "port-version": 0 + }, + { + "git-tree": "f2f3f9c6b03d02268920eee133f660bf2fe5d946", + "version-date": "2021-09-09", + "port-version": 1 + }, { "git-tree": "6898a05e54b88637fc5a42136facc194b84e71a1", "version-date": "2021-09-09", diff --git a/versions/a-/azure-core-amqp-cpp.json b/versions/a-/azure-core-amqp-cpp.json new file mode 100644 index 00000000000000..f29fed1b0e3c26 --- /dev/null +++ b/versions/a-/azure-core-amqp-cpp.json @@ -0,0 +1,74 @@ +{ + "versions": [ + { + "git-tree": "bbf82106a42fe16154f3bcb57d4f49d560f91ccd", + "version-semver": "1.0.0-beta.11", + "port-version": 1 + }, + { + "git-tree": "4782abe977ab163588fd6dcdc1f38b01739d4a0c", + "version-semver": "1.0.0-beta.11", + "port-version": 0 + }, + { + "git-tree": "6170ecad414dfb24ceb7cf415b0fdbba3d64ff84", + "version-semver": "1.0.0-beta.10", + "port-version": 0 + }, + { + "git-tree": "3deba28b83cec326798ebacd57a76feceda4cdb3", + "version-semver": "1.0.0-beta.9", + "port-version": 0 + }, + { + "git-tree": "3ffd522fbbf8794e41d66313bd9d9cb980b00165", + "version-semver": "1.0.0-beta.8", + "port-version": 0 + }, + { + "git-tree": "ef715da3b8f753c90e4f18df2bb34b9b31749490", + "version-semver": "1.0.0-beta.7", + "port-version": 0 + }, + { + "git-tree": "67e6280661e8992e3fd118517ac0f1d0f0cc662e", + "version-semver": "1.0.0-beta.6", + "port-version": 0 + }, + { + "git-tree": "a5742923375357a52887b2c969db207937b01592", + "version-semver": "1.0.0-beta.5", + "port-version": 0 + }, + { + "git-tree": "50c7a85fdc78ded123beb5dd15e2b4557ace24b2", + "version-semver": "1.0.0-beta.4", + "port-version": 0 + }, + { + "git-tree": "f2454e03858a910421f6fd248968fd1cb7999ba7", + "version-semver": "1.0.0-beta.3", + "port-version": 1 + }, + { + "git-tree": "cdd44f43f4a8020582266cf5ac32d701281d2e88", + "version-semver": "1.0.0-beta.3", + "port-version": 0 + }, + { + "git-tree": "88712b0277f9501bbeab4d9244338fd5411eef93", + "version-semver": "1.0.0-beta.2", + "port-version": 1 + }, + { + "git-tree": "22f82ee324a3d5a33f8e3f9896b780f5a90f786e", + "version-semver": "1.0.0-beta.2", + "port-version": 0 + }, + { + "git-tree": "c42a4ff250d353e2d0764b8f58dfec820b3cea69", + "version-semver": "1.0.0-beta.1", + "port-version": 0 + } + ] +} diff --git a/versions/a-/azure-core-cpp.json b/versions/a-/azure-core-cpp.json index f51e6c6f320473..69775f9e7288d3 100644 --- a/versions/a-/azure-core-cpp.json +++ b/versions/a-/azure-core-cpp.json @@ -1,5 +1,165 @@ { "versions": [ + { + "git-tree": "9baf7e69af4e1eb2cfb6d9ca485b1c622f9f2211", + "version-semver": "1.14.1", + "port-version": 0 + }, + { + "git-tree": "f937bf0444060d596ffb2693a71640086939a542", + "version-semver": "1.14.0", + "port-version": 1 + }, + { + "git-tree": "fb70bf821b5752b8e8bc942945aea223ad4960dc", + "version-semver": "1.14.0", + "port-version": 0 + }, + { + "git-tree": "aabaf9842636614c3744b96d734e09ba91977e52", + "version-semver": "1.13.0", + "port-version": 0 + }, + { + "git-tree": "b5e3f19289a8758877e8bbb162d8a95cd0ff64f6", + "version-semver": "1.12.0", + "port-version": 0 + }, + { + "git-tree": "1e13c4ae11486bbbbcfc89199a8c5157fb854445", + "version-semver": "1.11.3", + "port-version": 0 + }, + { + "git-tree": "6d0b991648eed7860c0e873b5e9b6332cdc23d25", + "version-semver": "1.11.2", + "port-version": 0 + }, + { + "git-tree": "830e9f51cb0a1f435da75021a1254edb52fc0498", + "version-semver": "1.11.1", + "port-version": 0 + }, + { + "git-tree": "30673e31e776858e870bff22344de32cada95d13", + "version-semver": "1.11.0", + "port-version": 0 + }, + { + "git-tree": "3de5ec61efe0f113131a5a7847a2964b930b8f88", + "version-semver": "1.10.3", + "port-version": 2 + }, + { + "git-tree": "0f2e80c3e438f6738b7f0910f3122f21d52eb653", + "version-semver": "1.10.3", + "port-version": 1 + }, + { + "git-tree": "a6323331b6946093d5e0c3dd11e33d3e83203dc3", + "version-semver": "1.10.3", + "port-version": 0 + }, + { + "git-tree": "5f406f6bf6084c74a6a234f35bc6e232fae15cae", + "version-semver": "1.10.2", + "port-version": 5 + }, + { + "git-tree": "dc5ce5e0d496bbae8d2cd2f8908f7a01b5cfbc48", + "version-semver": "1.10.2", + "port-version": 4 + }, + { + "git-tree": "371ce124f91e0b9d64a44e47b573b5a3f4602498", + "version-semver": "1.10.2", + "port-version": 3 + }, + { + "git-tree": "0988f8606d4a1ee55446b680b6ea134cfae20569", + "version-semver": "1.10.2", + "port-version": 2 + }, + { + "git-tree": "bfb8b85899d4e6783f93392104d7ee80c8d0a89c", + "version-semver": "1.10.2", + "port-version": 1 + }, + { + "git-tree": "d3a1b3382bddaf219a0fef6dafd6a31c43d28e02", + "version-semver": "1.10.2", + "port-version": 0 + }, + { + "git-tree": "52af14a3a0795d87c3fd9f09b9026c91fcae4b81", + "version-semver": "1.10.1", + "port-version": 0 + }, + { + "git-tree": "b74424cb6faf3443c02effba66f048e0539437aa", + "version-semver": "1.10.0", + "port-version": 0 + }, + { + "git-tree": "307d4685a0813bb00150dfe87aed0b3fbf88c179", + "version-semver": "1.9.0", + "port-version": 0 + }, + { + "git-tree": "43ab8aacc87b3d2644b7845af700baf9320f139f", + "version-semver": "1.8.2", + "port-version": 0 + }, + { + "git-tree": "66add6b6952292833b50c4f3bbcf9ea90d192b38", + "version-semver": "1.8.1", + "port-version": 0 + }, + { + "git-tree": "a18e2b1efaf5843b0eb5fe27a88c4306d5572970", + "version-semver": "1.8.0", + "port-version": 0 + }, + { + "git-tree": "3e84299750d32b17b16b8d795a66937851564d6a", + "version-semver": "1.7.2", + "port-version": 2 + }, + { + "git-tree": "b9e5836104380238317ab53761a49a01fdb308fe", + "version-semver": "1.7.2", + "port-version": 1 + }, + { + "git-tree": "5c0aaa2cef20a29b4e141758ed3fcce954449d1b", + "version-semver": "1.7.2", + "port-version": 0 + }, + { + "git-tree": "e17b1885416ae07365e86acec91312d7318cc305", + "version-semver": "1.7.1", + "port-version": 0 + }, + { + "git-tree": "677fc287c3ba4d9a3582498071e1d14d5632e48f", + "version-semver": "1.7.0", + "port-version": 0 + }, + { + "git-tree": "5b920c224b5fa4daa427701a123bdf213dac8c43", + "version-semver": "1.6.0", + "port-version": 0 + }, + { + "git-tree": "8940f6b17c33b8076e08c931fcf2ccdafa2fe2f2", + "version-semver": "1.5.0", + "port-version": 0 + }, + { + "git-tree": "73975ac66807a0477bcaa3fa75fdfaf0f74bdb06", + "version-semver": "1.4.0", + "port-version": 0 + }, { "git-tree": "b34bd865f3d3caf5b7021d5e9048d775b3e9cfb0", "version-semver": "1.3.1", diff --git a/versions/a-/azure-core-tracing-opentelemetry-cpp.json b/versions/a-/azure-core-tracing-opentelemetry-cpp.json new file mode 100644 index 00000000000000..10b1209bdebc2c --- /dev/null +++ b/versions/a-/azure-core-tracing-opentelemetry-cpp.json @@ -0,0 +1,49 @@ +{ + "versions": [ + { + "git-tree": "787e5bf9dd2696add1ff8d3bea711b9611c15c43", + "version-semver": "1.0.0-beta.4", + "port-version": 5 + }, + { + "git-tree": "50af7ca57ee7e96f6d9c772f3f2e4032bfae4d2a", + "version-semver": "1.0.0-beta.4", + "port-version": 4 + }, + { + "git-tree": "c98ff298b59faef771f5020d2b6ae31b2a9c568a", + "version-semver": "1.0.0-beta.4", + "port-version": 3 + }, + { + "git-tree": "0fb3475fbd40be762b7bb9a1a85fef10eb4af9a3", + "version-semver": "1.0.0-beta.4", + "port-version": 2 + }, + { + "git-tree": "001d1fc3f1ecbaa77894355634624bc5a7c7d7f2", + "version-semver": "1.0.0-beta.4", + "port-version": 1 + }, + { + "git-tree": "a17fe14abb083b59b9ef5d25157a6cd85acb3ee9", + "version-semver": "1.0.0-beta.4", + "port-version": 0 + }, + { + "git-tree": "c6c807cb48e2dcdd3ed49e058822402cf1c71d79", + "version-semver": "1.0.0-beta.3", + "port-version": 0 + }, + { + "git-tree": "e0228c8ec49e7dbde7c7044c915945425ce5092d", + "version-semver": "1.0.0-beta.2", + "port-version": 1 + }, + { + "git-tree": "4113db6be129830ea748465ca56fcb75e6ef4a31", + "version-semver": "1.0.0-beta.2", + "port-version": 0 + } + ] +} diff --git a/versions/a-/azure-data-tables-cpp.json b/versions/a-/azure-data-tables-cpp.json new file mode 100644 index 00000000000000..cc7e7006aafa3a --- /dev/null +++ b/versions/a-/azure-data-tables-cpp.json @@ -0,0 +1,29 @@ +{ + "versions": [ + { + "git-tree": "8c8fd7ca261ef5f849f5e802432971d026b73529", + "version-semver": "1.0.0-beta.4", + "port-version": 1 + }, + { + "git-tree": "25bfcc3d875731c2dfac231c9468ff0d02ef774e", + "version-semver": "1.0.0-beta.4", + "port-version": 0 + }, + { + "git-tree": "ed4cb2a14fcf974193a3ae2e053b48a3e3444337", + "version-semver": "1.0.0-beta.3", + "port-version": 0 + }, + { + "git-tree": "e38d180e92e2bc0671c15bd5c2bf7161354c27e0", + "version-semver": "1.0.0-beta.2", + "port-version": 0 + }, + { + "git-tree": "0b296b42b6c89f3400486fbf366d34ebaea13530", + "version-semver": "1.0.0-beta.1", + "port-version": 0 + } + ] +} diff --git a/versions/a-/azure-identity-cpp.json b/versions/a-/azure-identity-cpp.json index 6fb04a828e6ce5..4695cf7182f6ed 100644 --- a/versions/a-/azure-identity-cpp.json +++ b/versions/a-/azure-identity-cpp.json @@ -1,5 +1,80 @@ { "versions": [ + { + "git-tree": "71cea39ca0db6d11463b836b076716a4f8ab5359", + "version-semver": "1.10.1", + "port-version": 0 + }, + { + "git-tree": "fc15d56f69b1832146f5625ef9b18000febf8341", + "version-semver": "1.10.0", + "port-version": 2 + }, + { + "git-tree": "e34818074344451c91bda6706bf359f84a3b69b8", + "version-semver": "1.10.0", + "port-version": 1 + }, + { + "git-tree": "63ed30855e25a06b3b9ce7594e4a3de84f729039", + "version-semver": "1.10.0", + "port-version": 0 + }, + { + "git-tree": "f861dcd6df544f7d4b994cdfa5e0c5d7a64ec428", + "version-semver": "1.9.0", + "port-version": 0 + }, + { + "git-tree": "aa5928690e817641b1f97d158e0bc7dde3f05650", + "version-semver": "1.8.0", + "port-version": 0 + }, + { + "git-tree": "9f1b7552f9fa0111e34ea72e722f9f4512f612b3", + "version-semver": "1.6.0", + "port-version": 1 + }, + { + "git-tree": "cb43628d1a08baa198ed4cdc7d317ed73ed3815f", + "version-semver": "1.6.0", + "port-version": 0 + }, + { + "git-tree": "5fd04f09c1fc0efef3008e8407828b368d75ee5d", + "version-semver": "1.5.1", + "port-version": 1 + }, + { + "git-tree": "2855fbb155aacc587ca1e2d518ab2e8369e6d8c0", + "version-semver": "1.5.1", + "port-version": 0 + }, + { + "git-tree": "abdd671a9667a8b13e439410503d5bb582189fdc", + "version-semver": "1.5.0", + "port-version": 0 + }, + { + "git-tree": "07078cbe0cd0059af61369f8794ff5d652eaf506", + "version-semver": "1.4.0", + "port-version": 0 + }, + { + "git-tree": "d6012ea56bf0a94eba27f56156e5f45fda7a34cf", + "version-semver": "1.3.0", + "port-version": 0 + }, + { + "git-tree": "f6de8ed7d7b299df5cee8483a4f84cb07dd57b1c", + "version-semver": "1.2.0", + "port-version": 0 + }, + { + "git-tree": "df411f808c6dab5e59a7f378308856d803150c04", + "version-semver": "1.1.1", + "port-version": 0 + }, { "git-tree": "2742c6a31a2a3238ea97663c2b40be998c18006d", "version-semver": "1.1.0", diff --git a/versions/a-/azure-iot-sdk-c.json b/versions/a-/azure-iot-sdk-c.json index 56fd640606232c..c747f03a159ab5 100644 --- a/versions/a-/azure-iot-sdk-c.json +++ b/versions/a-/azure-iot-sdk-c.json @@ -1,5 +1,65 @@ { "versions": [ + { + "git-tree": "f4ffbad2bfbca48e0fb21e1c8384c2744cc63b47", + "version-date": "2024-08-12", + "port-version": 0 + }, + { + "git-tree": "985f3004ba88971feec22ef2d3f28ee68297af61", + "version-date": "2024-06-24", + "port-version": 0 + }, + { + "git-tree": "a29e29d0221f5eb85f25aed350bca68636273cd9", + "version-date": "2024-05-21", + "port-version": 0 + }, + { + "git-tree": "c59e266be9be7454384b38fc56f42be7e40084e9", + "version-date": "2024-03-04", + "port-version": 0 + }, + { + "git-tree": "2761c8c3302243693aaa2877b54a904d5cbed96f", + "version-date": "2023-08-07", + "port-version": 0 + }, + { + "git-tree": "197034166d7fc06ba2ed5562d8548c9404a736ae", + "version-date": "2023-08-06", + "port-version": 0 + }, + { + "git-tree": "0013d7074456da0e8be20a9e56ed79a7aa96f1c4", + "version-date": "2023-01-18", + "port-version": 0 + }, + { + "git-tree": "9cb7368d6494ab01b085cad166bb7fef06cd14e7", + "version-date": "2022-09-15", + "port-version": 1 + }, + { + "git-tree": "2a47653f79ed3d0017784d96142716554dd4de95", + "version-date": "2022-09-15", + "port-version": 0 + }, + { + "git-tree": "80f1eb4e465fef817503af2c9599b2186d4922e6", + "version-date": "2022-01-21", + "port-version": 2 + }, + { + "git-tree": "0570fa462646f08bb3ed9a34ecb693082def3d3b", + "version-date": "2022-01-21", + "port-version": 1 + }, + { + "git-tree": "77b1d419b740dd9738f237a6d52b1c161e99ee9d", + "version-date": "2022-01-21", + "port-version": 0 + }, { "git-tree": "3d6dc98460c69e8690f9b20f62cf75e9e3ef7f2d", "version-date": "2021-09-09", diff --git a/versions/a-/azure-kinect-sensor-sdk.json b/versions/a-/azure-kinect-sensor-sdk.json index 86b1661606da7d..7c42d33390529d 100644 --- a/versions/a-/azure-kinect-sensor-sdk.json +++ b/versions/a-/azure-kinect-sensor-sdk.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "a684e03aa0836ede2caba93683bee3fd3d1ed15f", + "version": "1.4.1", + "port-version": 7 + }, + { + "git-tree": "f5fbd0b39a805bc47da22f4bc462bec175518ae1", + "version": "1.4.1", + "port-version": 6 + }, + { + "git-tree": "e2a1e6a1a145f9436731cbcc9019f807325298c1", + "version": "1.4.1", + "port-version": 5 + }, + { + "git-tree": "379c37baf28190bb33ccf1d512c22a21c664e41e", + "version": "1.4.1", + "port-version": 4 + }, { "git-tree": "11fbd98a9560da0ad96abf61d8731778db6e5b8b", "version": "1.4.1", diff --git a/versions/a-/azure-macro-utils-c.json b/versions/a-/azure-macro-utils-c.json index 9b9d201e11e7f2..7bfdbf8ecc3c70 100644 --- a/versions/a-/azure-macro-utils-c.json +++ b/versions/a-/azure-macro-utils-c.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "9fd2347e1746c45e04e42e0a98b88a147ec366c8", + "version-date": "2022-01-21", + "port-version": 1 + }, + { + "git-tree": "0c90715278e5ab77af983254bdf17571bf69c55b", + "version-date": "2022-01-21", + "port-version": 0 + }, { "git-tree": "a951ed2a9b24f8778b7c2fb2ff4e6a6577ac6472", "version-string": "2020-06-17", diff --git a/versions/a-/azure-messaging-eventhubs-checkpointstore-blob-cpp.json b/versions/a-/azure-messaging-eventhubs-checkpointstore-blob-cpp.json new file mode 100644 index 00000000000000..137923c2c8b355 --- /dev/null +++ b/versions/a-/azure-messaging-eventhubs-checkpointstore-blob-cpp.json @@ -0,0 +1,29 @@ +{ + "versions": [ + { + "git-tree": "56d7d109e00a8bb0d208eb212840290cdadd4cc6", + "version-semver": "1.0.0-beta.1", + "port-version": 4 + }, + { + "git-tree": "8bdfa6fd4defa1e8e62bdaad4e75a9992f40c083", + "version-semver": "1.0.0-beta.1", + "port-version": 3 + }, + { + "git-tree": "03dbf04a656de3308127d2d2c979e355b163d2da", + "version-semver": "1.0.0-beta.1", + "port-version": 2 + }, + { + "git-tree": "44c7021f43e5786d7be87b935868e4c283d72755", + "version-semver": "1.0.0-beta.1", + "port-version": 1 + }, + { + "git-tree": "9289b19329d8fc1b12ef5a71d1cf2d743a32cc2a", + "version-semver": "1.0.0-beta.1", + "port-version": 0 + } + ] +} diff --git a/versions/a-/azure-messaging-eventhubs-cpp.json b/versions/a-/azure-messaging-eventhubs-cpp.json new file mode 100644 index 00000000000000..6a55cac3693558 --- /dev/null +++ b/versions/a-/azure-messaging-eventhubs-cpp.json @@ -0,0 +1,69 @@ +{ + "versions": [ + { + "git-tree": "0f4c7ad624ca6bba7d771e9c90ea24ae8f71dff8", + "version-semver": "1.0.0-beta.10", + "port-version": 0 + }, + { + "git-tree": "20acc123d4bc4b1499ba80cefbf27648204dba78", + "version-semver": "1.0.0-beta.9", + "port-version": 2 + }, + { + "git-tree": "77827efdc37ee6717125e6516b9ebfb8f2bc90d7", + "version-semver": "1.0.0-beta.9", + "port-version": 1 + }, + { + "git-tree": "6cbe35b54aa6c2f494e5df9be90a25813c2afb85", + "version-semver": "1.0.0-beta.9", + "port-version": 0 + }, + { + "git-tree": "8c4968a0d93bd9cd5d49b5dcc0283db37e26f07a", + "version-semver": "1.0.0-beta.8", + "port-version": 0 + }, + { + "git-tree": "8d7b2d204dc0bf69c7f380dce10b39287c5dc604", + "version-semver": "1.0.0-beta.7", + "port-version": 0 + }, + { + "git-tree": "2823cc22f2097df4705b1ab925822f6ba19e40f9", + "version-semver": "1.0.0-beta.6", + "port-version": 0 + }, + { + "git-tree": "b863a91f0ee55df12d178fb00837d37d640e6f80", + "version-semver": "1.0.0-beta.5", + "port-version": 0 + }, + { + "git-tree": "bde9f1c76919eecaaf6680e602eba5126c8d1fad", + "version-semver": "1.0.0-beta.4", + "port-version": 0 + }, + { + "git-tree": "d50578e6b52b84c8be16a01ee83b4777c3c4bc9d", + "version-semver": "1.0.0-beta.3", + "port-version": 0 + }, + { + "git-tree": "2e4e38f8b37bd9c3c6af8bd95887d9108ba1ca67", + "version-semver": "1.0.0-beta.2", + "port-version": 1 + }, + { + "git-tree": "983c9c2a6615afc22cd76bdbbef3f403a608bbbf", + "version-semver": "1.0.0-beta.2", + "port-version": 0 + }, + { + "git-tree": "d749c9b65d616fc776e8c71e352890d84ddd6c1c", + "version-semver": "1.0.0-beta.1", + "port-version": 0 + } + ] +} diff --git a/versions/a-/azure-security-attestation-cpp.json b/versions/a-/azure-security-attestation-cpp.json new file mode 100644 index 00000000000000..8b8055710dc73d --- /dev/null +++ b/versions/a-/azure-security-attestation-cpp.json @@ -0,0 +1,59 @@ +{ + "versions": [ + { + "git-tree": "aa1f9163cca2993354c108a3f9b3dfcf561635f0", + "version-semver": "1.1.0", + "port-version": 6 + }, + { + "git-tree": "88c5e0b80d5cd580969d5c807b7ce06d7f2cda25", + "version-semver": "1.1.0", + "port-version": 5 + }, + { + "git-tree": "bdd0a170a44d77a8ff2753846cb23008c90ab7ac", + "version-semver": "1.1.0", + "port-version": 4 + }, + { + "git-tree": "14d1242810e6d4de5c6fc523ae4d9ecb4904b58e", + "version-semver": "1.1.0", + "port-version": 3 + }, + { + "git-tree": "ece7b864d0d0ab18ba081e5695efea98c5aa2bdf", + "version-semver": "1.1.0", + "port-version": 2 + }, + { + "git-tree": "812294d664f9765544343cfc8b5265edfb88d061", + "version-semver": "1.1.0", + "port-version": 1 + }, + { + "git-tree": "11cd3682ae481f52a58478f4379bc21e627ed5f8", + "version-semver": "1.1.0", + "port-version": 0 + }, + { + "git-tree": "8293ab6b738d343991db9a759a62cac032f84d20", + "version-semver": "1.0.0", + "port-version": 0 + }, + { + "git-tree": "e0a46382e8a741a311e07f21ffd28ebb654c32ea", + "version-semver": "1.0.0-beta.3", + "port-version": 0 + }, + { + "git-tree": "e69adb1c996c0ae3b5bde53d32f619c51d0b95a5", + "version-semver": "1.0.0-beta.2", + "port-version": 0 + }, + { + "git-tree": "9b6b2e71b9d94791a1481a40367fc5ec5607b8aa", + "version-semver": "1.0.0-beta.1", + "port-version": 0 + } + ] +} diff --git a/versions/a-/azure-security-keyvault-administration-cpp.json b/versions/a-/azure-security-keyvault-administration-cpp.json new file mode 100644 index 00000000000000..24d934348dfdf2 --- /dev/null +++ b/versions/a-/azure-security-keyvault-administration-cpp.json @@ -0,0 +1,39 @@ +{ + "versions": [ + { + "git-tree": "a6ee89f64c55c1202b7d71fd7551916ea5e62d93", + "version-semver": "4.0.0-beta.5", + "port-version": 1 + }, + { + "git-tree": "981cd5dab70bbcf44130dfe094e96d3ce5095b15", + "version-semver": "4.0.0-beta.5", + "port-version": 0 + }, + { + "git-tree": "a15b58595ed231b1806d0d28996d72417d82867a", + "version-semver": "4.0.0-beta.4", + "port-version": 1 + }, + { + "git-tree": "dd36ccbfee4987cbea6cee9fae8e752b1fc9f3cb", + "version-semver": "4.0.0-beta.4", + "port-version": 0 + }, + { + "git-tree": "478811ebfa9d552d2b1fcf03e1721cc9175b17bf", + "version-semver": "4.0.0-beta.3", + "port-version": 1 + }, + { + "git-tree": "6c7bbcafaacfef51314e05b648c3634a3d324916", + "version-semver": "4.0.0-beta.3", + "port-version": 0 + }, + { + "git-tree": "51aaf65e62ea28b9af84af79e4d655ea13c40ba3", + "version-semver": "4.0.0-beta.2", + "port-version": 0 + } + ] +} diff --git a/versions/a-/azure-security-keyvault-certificates-cpp.json b/versions/a-/azure-security-keyvault-certificates-cpp.json index b423c1eba4affd..47dc4d2499f554 100644 --- a/versions/a-/azure-security-keyvault-certificates-cpp.json +++ b/versions/a-/azure-security-keyvault-certificates-cpp.json @@ -1,5 +1,50 @@ { "versions": [ + { + "git-tree": "04bc0d3763fbdd8773ae5ef3f00107f3a2bb3c70", + "version-semver": "4.2.1", + "port-version": 3 + }, + { + "git-tree": "75bd228566d927e22eec5b51aae2c71dc3d05e3f", + "version-semver": "4.2.1", + "port-version": 2 + }, + { + "git-tree": "acf18957f24ce055dd972e0c4dfe0063811cdaec", + "version-semver": "4.2.1", + "port-version": 1 + }, + { + "git-tree": "24b5030675a24e25b0fb571b39d33e7ee6caa61e", + "version-semver": "4.2.1", + "port-version": 0 + }, + { + "git-tree": "b0dd2ae87c69a4637e82ea188db1ee1e2624ac2c", + "version-semver": "4.2.0", + "port-version": 1 + }, + { + "git-tree": "6f480f2686c90dc9985e9c827ecc2f3c086985f0", + "version-semver": "4.2.0", + "port-version": 0 + }, + { + "git-tree": "4f575471af05af66923fe548074d30f1aa0fdc2c", + "version-semver": "4.1.0", + "port-version": 0 + }, + { + "git-tree": "c24da36700f623cd4c2242dcd6a7dae58673a97c", + "version-semver": "4.0.0", + "port-version": 0 + }, + { + "git-tree": "bbaebc2afcade7b67f33d7d62ec680aaa0b3700d", + "version-semver": "4.0.0-beta.2", + "port-version": 0 + }, { "git-tree": "5faeb850df56edd9f4689f69f4d64e6e51dde80b", "version-semver": "4.0.0-beta.1", diff --git a/versions/a-/azure-security-keyvault-keys-cpp.json b/versions/a-/azure-security-keyvault-keys-cpp.json index 2e20c672f2b636..99fd3e5b1a61ac 100644 --- a/versions/a-/azure-security-keyvault-keys-cpp.json +++ b/versions/a-/azure-security-keyvault-keys-cpp.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "4afe6efdcdc0e5df2c45c177a8ad5f4815fb98b2", + "version-semver": "4.4.1", + "port-version": 3 + }, + { + "git-tree": "5e08ec294ffa70534153ce3b9275f98d042603cb", + "version-semver": "4.4.1", + "port-version": 2 + }, + { + "git-tree": "2d6d591db10c8696d1866c04d9aa5df6f8a23868", + "version-semver": "4.4.1", + "port-version": 1 + }, + { + "git-tree": "6ca701263f474612b070c37fbc5a7932a562838e", + "version-semver": "4.4.1", + "port-version": 0 + }, + { + "git-tree": "7e455823cb2d81cf79f550f26d1fa3b9cff61e86", + "version-semver": "4.4.0", + "port-version": 1 + }, + { + "git-tree": "404efdca4682f39039fe7e76541db56b6cab3e3e", + "version-semver": "4.4.0", + "port-version": 0 + }, + { + "git-tree": "f4d8db5aff7d24803e3a2605d3bf3051343fb9a0", + "version-semver": "4.3.0", + "port-version": 0 + }, { "git-tree": "c2a617f9326c712866be1e5218a1ae18262ee178", "version-semver": "4.2.0", diff --git a/versions/a-/azure-security-keyvault-secrets-cpp.json b/versions/a-/azure-security-keyvault-secrets-cpp.json index 70bd3973ec8d0f..b1d600e844e460 100644 --- a/versions/a-/azure-security-keyvault-secrets-cpp.json +++ b/versions/a-/azure-security-keyvault-secrets-cpp.json @@ -1,5 +1,50 @@ { "versions": [ + { + "git-tree": "59fc00624617f87b2f6cc2001dc559d87b78c604", + "version-semver": "4.2.1", + "port-version": 3 + }, + { + "git-tree": "dd50aa8c678a3b44cfe156c2585bf3e55c0d3fda", + "version-semver": "4.2.1", + "port-version": 2 + }, + { + "git-tree": "7225e1286b3ede5419906d317929a3b62507a9a9", + "version-semver": "4.2.1", + "port-version": 1 + }, + { + "git-tree": "5edd7b9816c3c93ff452244bb579effa3c863787", + "version-semver": "4.2.1", + "port-version": 0 + }, + { + "git-tree": "5c41c5b32fe02aeb4ab47a5ddaa19df33fac9ee7", + "version-semver": "4.2.0", + "port-version": 1 + }, + { + "git-tree": "a795e3eddbe6ced53ba732f9793679e78d79d359", + "version-semver": "4.2.0", + "port-version": 0 + }, + { + "git-tree": "7b5d805e78f564ff27138c6f005175979b6740c6", + "version-semver": "4.1.0", + "port-version": 0 + }, + { + "git-tree": "8129639c271f03d256499116ce6f6572ba11eb87", + "version-semver": "4.0.0", + "port-version": 0 + }, + { + "git-tree": "c977a0be18a1e5f8591268d35b0a221ef9e8f7f9", + "version-semver": "4.0.0-beta.2", + "port-version": 0 + }, { "git-tree": "e0a2ec6fd19019aaf9f485eea66c5b660b1bc7a4", "version-semver": "4.0.0-beta.1", diff --git a/versions/a-/azure-storage-blobs-cpp.json b/versions/a-/azure-storage-blobs-cpp.json index 1c5fba25a27a6d..bbdd070aa4d17e 100644 --- a/versions/a-/azure-storage-blobs-cpp.json +++ b/versions/a-/azure-storage-blobs-cpp.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "cd9abe94e013e42493479d573f7e7d60a89c5821", + "version-semver": "12.13.0", + "port-version": 1 + }, + { + "git-tree": "27ed64e60e120ebfed0bed577860888f7754e0c3", + "version-semver": "12.13.0", + "port-version": 0 + }, + { + "git-tree": "a4cffbc14539dd3f61697561e0aa1958d3b58859", + "version-semver": "12.12.0", + "port-version": 0 + }, + { + "git-tree": "23a1226d8831449c17896b843c9583bb5d848ade", + "version-semver": "12.11.0", + "port-version": 0 + }, + { + "git-tree": "6571c6c7a51e9a51637d042a5852b9867d51d239", + "version-semver": "12.10.0", + "port-version": 1 + }, + { + "git-tree": "902107525b099bb6c915311567519dcd55bd2aea", + "version-semver": "12.10.0", + "port-version": 0 + }, + { + "git-tree": "83ac6004707e784a7a57a72574548579a9ab79d0", + "version-semver": "12.9.0", + "port-version": 1 + }, + { + "git-tree": "b0699f9368ea7fbc2c6528711c29eb896c76d0a6", + "version-semver": "12.9.0", + "port-version": 0 + }, + { + "git-tree": "984b2a3258596a074a6a79be8b0d7c3128137981", + "version-semver": "12.8.0", + "port-version": 0 + }, + { + "git-tree": "40ca58231897346f0bf37910ae4c431aa8a5f56d", + "version-semver": "12.7.0", + "port-version": 0 + }, + { + "git-tree": "e223f3564c58888a32c160c7f15b3bcb15bc5c71", + "version-semver": "12.6.2", + "port-version": 0 + }, + { + "git-tree": "06433ca908b304e85f642fc3b062db522567bd7c", + "version-semver": "12.6.1", + "port-version": 0 + }, + { + "git-tree": "c715b7df779d48070ba729fd20ffcad27267a7bc", + "version-semver": "12.6.0", + "port-version": 0 + }, + { + "git-tree": "7120a5be966cbf0a79ac6c1efca6ce43c7818d75", + "version-semver": "12.5.0", + "port-version": 0 + }, + { + "git-tree": "ff9783605f383c1f596ada3a10d2dde88a931f56", + "version-semver": "12.4.0", + "port-version": 0 + }, + { + "git-tree": "252f2edf841eb01f271d1694f3fea34e63906eba", + "version-semver": "12.3.0", + "port-version": 0 + }, { "git-tree": "6e52659aef1c9a99271c1d590eba0d37f5e472bb", "version-semver": "12.2.1", diff --git a/versions/a-/azure-storage-common-cpp.json b/versions/a-/azure-storage-common-cpp.json index 3ab70e9ed9d404..70d795dde18fb9 100644 --- a/versions/a-/azure-storage-common-cpp.json +++ b/versions/a-/azure-storage-common-cpp.json @@ -1,5 +1,95 @@ { "versions": [ + { + "git-tree": "8c1ba485d656f727ec4441d5c5b3a1bba79f951a", + "version-semver": "12.9.0", + "port-version": 0 + }, + { + "git-tree": "a200d88271a1801801abee4e06da137e698cbcec", + "version-semver": "12.8.0", + "port-version": 1 + }, + { + "git-tree": "477f43d417586ff593070b38902ad8229b39c739", + "version-semver": "12.8.0", + "port-version": 0 + }, + { + "git-tree": "f6c16a3bd0e53c0be345f657137a9c77c782bec0", + "version-semver": "12.7.0", + "port-version": 0 + }, + { + "git-tree": "acbd80d6ed68d6d90015b86a6cca4e3c4e6a72fe", + "version-semver": "12.6.0", + "port-version": 0 + }, + { + "git-tree": "6bcfda73c7ab29e1dfbd7c66878294577ac45420", + "version-semver": "12.5.0", + "port-version": 1 + }, + { + "git-tree": "97351c3b87aae118c657334bb527c220e196aac7", + "version-semver": "12.5.0", + "port-version": 0 + }, + { + "git-tree": "8a12fa7967664e0823c8ab1be3ef80ba4faf9245", + "version-semver": "12.4.0", + "port-version": 2 + }, + { + "git-tree": "973a9aaaa49d33f6afdac2337795bd2ee26bbf7e", + "version-semver": "12.4.0", + "port-version": 1 + }, + { + "git-tree": "041e401b3394eefc002af8a93bccbb7edc0732b5", + "version-semver": "12.4.0", + "port-version": 0 + }, + { + "git-tree": "b147e96bd4b49d4803cf8a3c4b5359bfe3bec275", + "version-semver": "12.3.3", + "port-version": 0 + }, + { + "git-tree": "13de7bf9db0ab19424dcbf7413c3bf2aa5798653", + "version-semver": "12.3.2", + "port-version": 0 + }, + { + "git-tree": "934133a1c7576ddd824292411199b9bc8f4629f9", + "version-semver": "12.3.1", + "port-version": 0 + }, + { + "git-tree": "86ad9dc004e0f6fe2a87158ae3aae15bf7bb7033", + "version-semver": "12.3.0", + "port-version": 0 + }, + { + "git-tree": "fdc5c496fd571985967a900838e181cdb04d318b", + "version-semver": "12.2.4", + "port-version": 0 + }, + { + "git-tree": "c972f7321758abde4e5d5862c4abd7398f1f26a6", + "version-semver": "12.2.3", + "port-version": 0 + }, + { + "git-tree": "de5c104dfa95871220c17e4f8f97a99b5da33920", + "version-semver": "12.2.2", + "port-version": 0 + }, + { + "git-tree": "55a55770fa93d6e541d1540df78aefae2cf905cb", + "version-semver": "12.2.1", + "port-version": 0 + }, { "git-tree": "2ef80d68150017530cb50581cd6f5f03bc607859", "version-semver": "12.2.0", diff --git a/versions/a-/azure-storage-cpp.json b/versions/a-/azure-storage-cpp.json index 34ceb4c76da1ab..299717df100ab8 100644 --- a/versions/a-/azure-storage-cpp.json +++ b/versions/a-/azure-storage-cpp.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "38122f7f0972f1c4d6b01b776f9c1edf81e5dfd0", + "version": "7.5.0", + "port-version": 6 + }, + { + "git-tree": "bbbb3a066c3002438b0a002b334d861f48887ad3", + "version": "7.5.0", + "port-version": 5 + }, + { + "git-tree": "245884377d005f8265e75b9b6eff339d687de0e9", + "version-string": "7.5.0", + "port-version": 4 + }, + { + "git-tree": "8216ff9a5060864170113353495400e342d862ad", + "version-string": "7.5.0", + "port-version": 3 + }, { "git-tree": "242bb84480e51b70b53dbd9b126f600e1ea39ef6", "version-string": "7.5.0", diff --git a/versions/a-/azure-storage-files-datalake-cpp.json b/versions/a-/azure-storage-files-datalake-cpp.json index a3472992ac248d..e5be1b5fd9a046 100644 --- a/versions/a-/azure-storage-files-datalake-cpp.json +++ b/versions/a-/azure-storage-files-datalake-cpp.json @@ -1,5 +1,75 @@ { "versions": [ + { + "git-tree": "4932548d090f0897b607b71e7c41720cc975970a", + "version-semver": "12.12.0", + "port-version": 1 + }, + { + "git-tree": "f404dcc173c1e702263bfb6611b40d69a307514d", + "version-semver": "12.12.0", + "port-version": 0 + }, + { + "git-tree": "946b117e85a73047a699152837af2cc2b71515f0", + "version-semver": "12.11.0", + "port-version": 0 + }, + { + "git-tree": "56f0389791af300859f19d263d41f4886d8bae53", + "version-semver": "12.10.0", + "port-version": 0 + }, + { + "git-tree": "3450cc1269a67f290703a583559fb37b6ef08fb5", + "version-semver": "12.9.0", + "port-version": 1 + }, + { + "git-tree": "eef43191bf50fe79ddd687b71761765a2400a0c2", + "version-semver": "12.9.0", + "port-version": 0 + }, + { + "git-tree": "980d78708b5b02d395f9bd7342c18dc35e48dcbd", + "version-semver": "12.8.0", + "port-version": 1 + }, + { + "git-tree": "0f289490671675363d6e2e07eb6277c569602878", + "version-semver": "12.8.0", + "port-version": 0 + }, + { + "git-tree": "ca459a11301918aa1296233d473a865032323673", + "version-semver": "12.7.0", + "port-version": 0 + }, + { + "git-tree": "9c8ba7dabf8011127712dc95628ca1029b0c92c3", + "version-semver": "12.6.0", + "port-version": 0 + }, + { + "git-tree": "12acf62b792b5b9b406eea20f8b3b25e30a32eca", + "version-semver": "12.5.0", + "port-version": 0 + }, + { + "git-tree": "2b2b58353093074eaa8b462d77cb62c667883673", + "version-semver": "12.4.0", + "port-version": 0 + }, + { + "git-tree": "9a254add1b8a2c6f8d6a59760d6016af1e5c19a6", + "version-semver": "12.3.1", + "port-version": 0 + }, + { + "git-tree": "b312efdf9afad6dc09ce91eb31e19e725a8c1a7a", + "version-semver": "12.3.0", + "port-version": 0 + }, { "git-tree": "36837d18b946ad07bcb95c44450509f1d04ba4ec", "version-semver": "12.2.0", diff --git a/versions/a-/azure-storage-files-shares-cpp.json b/versions/a-/azure-storage-files-shares-cpp.json index 581aeff7f022d7..f1ed1aab10d125 100644 --- a/versions/a-/azure-storage-files-shares-cpp.json +++ b/versions/a-/azure-storage-files-shares-cpp.json @@ -1,5 +1,80 @@ { "versions": [ + { + "git-tree": "2fd221be0ffac626d014208273dce26e7b53b6ec", + "version-semver": "12.12.0", + "port-version": 0 + }, + { + "git-tree": "dbe687f016f7747967b99e26138e09ff1a098767", + "version-semver": "12.11.0", + "port-version": 1 + }, + { + "git-tree": "5518255fb2a9d5ebb314b7e7e404512472e7a8d3", + "version-semver": "12.11.0", + "port-version": 0 + }, + { + "git-tree": "81c52ef6fafe80b6bb294c423d5c6c2d4b758eb3", + "version-semver": "12.10.0", + "port-version": 0 + }, + { + "git-tree": "7729a5d1c6cf9832538761e84eae19158fef9879", + "version-semver": "12.9.0", + "port-version": 0 + }, + { + "git-tree": "29a98ee7af38db39f74336c93f98141fd6996952", + "version-semver": "12.8.0", + "port-version": 1 + }, + { + "git-tree": "98ae8cc3d7bad139e05b550c17fc37da3c5c1cef", + "version-semver": "12.8.0", + "port-version": 0 + }, + { + "git-tree": "7aad330cd95f2b69127ca9950d1c4295f5be937e", + "version-semver": "12.7.0", + "port-version": 1 + }, + { + "git-tree": "d1c2beb619e08e7c675312136c0cc427e3ee59e5", + "version-semver": "12.7.0", + "port-version": 0 + }, + { + "git-tree": "f51dca176615cce496b5fb2d869b467279c31e7c", + "version-semver": "12.6.1", + "port-version": 0 + }, + { + "git-tree": "856f4e474ec45831593123a281fe650ba86387ab", + "version-semver": "12.6.0", + "port-version": 0 + }, + { + "git-tree": "f264428685ea6f882d9c58a9915c83665d428456", + "version-semver": "12.5.0", + "port-version": 0 + }, + { + "git-tree": "10d67bcd4301e8b3fa5d89b9f8e6eecd835b276f", + "version-semver": "12.4.0", + "port-version": 0 + }, + { + "git-tree": "3791a056ef7f63ea5aa462db437ebc61b2966336", + "version-semver": "12.3.0", + "port-version": 0 + }, + { + "git-tree": "69a5e9af5d75d9e2f33dbd89576297373a332048", + "version-semver": "12.2.1", + "port-version": 0 + }, { "git-tree": "b7c34584a28f09d204e8ab6cbcf23ea93e330653", "version-semver": "12.2.0", diff --git a/versions/a-/azure-storage-queues-cpp.json b/versions/a-/azure-storage-queues-cpp.json index f5e34cbe41105f..91b28e06ed3266 100644 --- a/versions/a-/azure-storage-queues-cpp.json +++ b/versions/a-/azure-storage-queues-cpp.json @@ -1,5 +1,55 @@ { "versions": [ + { + "git-tree": "fb06e818a33a9970e3475d03b339f87ef17f8039", + "version-semver": "12.4.0", + "port-version": 1 + }, + { + "git-tree": "1d0d8497e675a161121ec372e1c98877f6dffcac", + "version-semver": "12.4.0", + "port-version": 0 + }, + { + "git-tree": "f6fad538f707fb9358c56df08bc128d19a3ea9d0", + "version-semver": "12.3.0", + "port-version": 0 + }, + { + "git-tree": "206bd0c788a577bd105fa5edf6d4e57feb43285b", + "version-semver": "12.2.0", + "port-version": 1 + }, + { + "git-tree": "7e74bf6adaa2794ef229e4a605d31fea0b3b19bd", + "version-semver": "12.2.0", + "port-version": 0 + }, + { + "git-tree": "116fd90e1af9c32dabd414ac99ef121d6bacf0bf", + "version-semver": "12.1.0", + "port-version": 1 + }, + { + "git-tree": "31256aaa2dbb1508ea777fc03cbec8ddbfd9ca18", + "version-semver": "12.1.0", + "port-version": 0 + }, + { + "git-tree": "a04f50e6f79e53d47d4721529709e8e1f02462e1", + "version-semver": "12.0.0", + "port-version": 0 + }, + { + "git-tree": "a4fe64dbaeaacf8bfff69155eea6f001ebee8e15", + "version-semver": "12.0.0-beta.4", + "port-version": 0 + }, + { + "git-tree": "863a1b7f8841d14dd89ca0f70b0f78408add806d", + "version-semver": "12.0.0-beta.3", + "port-version": 0 + }, { "git-tree": "f7e146970eabbdf793a50c5b511ea458b04f579a", "version-semver": "12.0.0-beta.2", diff --git a/versions/a-/azure-uamqp-c.json b/versions/a-/azure-uamqp-c.json index d74b7af7a8eeff..7c17f1aebfdc73 100644 --- a/versions/a-/azure-uamqp-c.json +++ b/versions/a-/azure-uamqp-c.json @@ -1,5 +1,45 @@ { "versions": [ + { + "git-tree": "9790a9c508b5364762b8ef6220971023042923a4", + "version-date": "2024-08-12", + "port-version": 0 + }, + { + "git-tree": "ff5e57a3fb1487fb02c5f32d4341efacbe9ee8de", + "version-date": "2024-06-24", + "port-version": 0 + }, + { + "git-tree": "5c1a89093f2d60cc722b51386ecf9c12f7f907d0", + "version-date": "2024-03-04", + "port-version": 0 + }, + { + "git-tree": "0ca3c3ded9e4bfee0d22f68201e4bf89462d4cff", + "version-date": "2023-08-07", + "port-version": 0 + }, + { + "git-tree": "c4183ed8c03559df3b5821d0149192a95dba5b50", + "version-date": "2023-01-18", + "port-version": 0 + }, + { + "git-tree": "42efba430e30e78eaf72b03c94f8c4afe07bcfda", + "version-date": "2022-09-15", + "port-version": 0 + }, + { + "git-tree": "d7d284a159afe6ab21ce65d5e5d96dbee83339f6", + "version-date": "2022-01-21", + "port-version": 1 + }, + { + "git-tree": "a2c6897e3392683dcce93a846b98b2c95dc41a55", + "version-date": "2022-01-21", + "port-version": 0 + }, { "git-tree": "4748ea8df9903436ad4b2b6462ca3ffdf74465d4", "version-date": "2021-09-09", diff --git a/versions/a-/azure-uhttp-c.json b/versions/a-/azure-uhttp-c.json index 66a7e237404753..f83ecfd87f973c 100644 --- a/versions/a-/azure-uhttp-c.json +++ b/versions/a-/azure-uhttp-c.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "3042f8ef330967082563bf11f7f4508a6927d55a", + "version-date": "2024-06-24", + "port-version": 0 + }, + { + "git-tree": "15f4ae8589414854f2213c77ca78aadf97996e31", + "version-date": "2024-03-04", + "port-version": 0 + }, + { + "git-tree": "70faa0f3e0eb5d1f3aa0c3fed59147515404c5bf", + "version-date": "2023-08-07", + "port-version": 0 + }, + { + "git-tree": "6076f8569c54a752f30d97f3b5654190a716722a", + "version-date": "2023-01-18", + "port-version": 0 + }, + { + "git-tree": "5c83542c6dc2b853932ac25c4d8314a5556aab40", + "version-date": "2022-09-15", + "port-version": 0 + }, + { + "git-tree": "28439985096cc9a714695d10830ceb2f54859c24", + "version-date": "2022-01-21", + "port-version": 1 + }, + { + "git-tree": "f614a1ac990dd4189b292fa0e6e31897ee4b7ae8", + "version-date": "2022-01-21", + "port-version": 0 + }, { "git-tree": "8dfc1d65397c35c27df08f42b2f77caf27661a9b", "version-date": "2021-09-09", diff --git a/versions/a-/azure-umqtt-c.json b/versions/a-/azure-umqtt-c.json index c877c9eaa1dd69..85e9bea6a4458d 100644 --- a/versions/a-/azure-umqtt-c.json +++ b/versions/a-/azure-umqtt-c.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "2ec834ad08826e5a77983a205ad493a16b517568", + "version-date": "2024-06-24", + "port-version": 0 + }, + { + "git-tree": "4aaa4bd90982fbfc3200c24d8d6d1b44487f0d57", + "version-date": "2024-03-04", + "port-version": 0 + }, + { + "git-tree": "f6b50934a467b9bf7a494290ebc34ff8d036937f", + "version-date": "2023-08-03", + "port-version": 0 + }, + { + "git-tree": "e484fe484d0feac8170d1dc7a3f2a3a72bd262fb", + "version-date": "2023-01-18", + "port-version": 0 + }, + { + "git-tree": "28ef0c8d4778d3fd30120290bcb4a121a2efc14f", + "version-date": "2022-09-15", + "port-version": 0 + }, + { + "git-tree": "5953c7aee01e5c0972a8eb97fbb763c74b60c49c", + "version-date": "2022-01-21", + "port-version": 1 + }, + { + "git-tree": "f5b18f17519b9de8a2ab956eebc7dff6e7bf7a05", + "version-date": "2022-01-21", + "port-version": 0 + }, { "git-tree": "2a208bf94bfaf91cc20716d7ba0caac0023324b0", "version-date": "2021-09-09", diff --git a/versions/b-/b64.json b/versions/b-/b64.json index 36e172140ed18c..ae5ad94eaf3d2b 100644 --- a/versions/b-/b64.json +++ b/versions/b-/b64.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "7be7da91f5c6bbeb5bfb10bafcb4072bf3df5127", + "version": "2.0.0.1", + "port-version": 2 + }, + { + "git-tree": "aeaf7d2076e25b321032c4fc88c22cbb46002a90", + "version": "2.0.0.1", + "port-version": 1 + }, { "git-tree": "9f1b6b36747fb6349483bf78531123d4b1ec5d7d", "version": "2.0.0.1", diff --git a/versions/b-/backward-cpp.json b/versions/b-/backward-cpp.json new file mode 100644 index 00000000000000..72ea57f89c3443 --- /dev/null +++ b/versions/b-/backward-cpp.json @@ -0,0 +1,24 @@ +{ + "versions": [ + { + "git-tree": "25c84663d7fe9c5010bfc7baf2ad7c1c70c5c429", + "version-date": "2023-11-24", + "port-version": 1 + }, + { + "git-tree": "7b8009fe2173eac9490fd50428585a19cd85b043", + "version-date": "2023-11-24", + "port-version": 0 + }, + { + "git-tree": "748c91a2ed90cad10b92d4c527dc855ec8f15db0", + "version": "1.6", + "port-version": 1 + }, + { + "git-tree": "9f204819a5063dea81b56369e5ce424219e56ca5", + "version": "1.6", + "port-version": 0 + } + ] +} diff --git a/versions/b-/baresip-libre.json b/versions/b-/baresip-libre.json new file mode 100644 index 00000000000000..3445f12e644bf4 --- /dev/null +++ b/versions/b-/baresip-libre.json @@ -0,0 +1,89 @@ +{ + "versions": [ + { + "git-tree": "0ea202b4f5af5ef038efd0bf129a9928881ec820", + "version": "3.17.0", + "port-version": 0 + }, + { + "git-tree": "c5ee11ab28defb0d41e3c708017e3c19e640ec2b", + "version": "3.15.0", + "port-version": 0 + }, + { + "git-tree": "1113884e967e5ad1167e428ed0c5a9b4fe9a61b8", + "version": "3.14.0", + "port-version": 0 + }, + { + "git-tree": "9da2efd80694c0f806dad8ac129a183f6179dcfe", + "version": "3.13.0", + "port-version": 0 + }, + { + "git-tree": "c2a2994ce70f17e325c61f73c602191630ee7425", + "version": "3.12.0", + "port-version": 0 + }, + { + "git-tree": "c28c9b9b416b816320a2576f4537554a6a4e3a9a", + "version": "3.11.0", + "port-version": 0 + }, + { + "git-tree": "bce3afb1f6d5fee73e4c7cd0f952df85f4f54de2", + "version": "3.10.0", + "port-version": 0 + }, + { + "git-tree": "7b7cfa061bebae8f9628f0d56ca21de4ec1c68fa", + "version": "3.9.0", + "port-version": 0 + }, + { + "git-tree": "eac42649337bc140a827e4ae83eb7ec1ccac3917", + "version": "3.8.0", + "port-version": 0 + }, + { + "git-tree": "e34b5bc2855e62826520ee68fb21d063d42b53d4", + "version": "3.7.0", + "port-version": 0 + }, + { + "git-tree": "00dc0e14dfa16f98420ac3a15b9b158af7cf87f8", + "version": "3.6.0", + "port-version": 0 + }, + { + "git-tree": "b000665b80ffaa20107836324b4360bad62861a7", + "version": "3.5.1", + "port-version": 0 + }, + { + "git-tree": "db0ceb9ad55c2c774fac30663522efc247a1ce04", + "version": "3.4.0", + "port-version": 0 + }, + { + "git-tree": "ece07432ef22395a14fe6cbdf5026d4b0f49872a", + "version": "3.3.0", + "port-version": 0 + }, + { + "git-tree": "8eba692c2b454a491269fec62a993c0b08b24d34", + "version": "3.2.0", + "port-version": 2 + }, + { + "git-tree": "c32aafef7c464cd6b860327ea35759e708f96a77", + "version": "3.2.0", + "port-version": 1 + }, + { + "git-tree": "64ff48f8f4f42472f614ddece58f1249217d252c", + "version": "3.2.0", + "port-version": 0 + } + ] +} diff --git a/versions/b-/bark.json b/versions/b-/bark.json new file mode 100644 index 00000000000000..27a439f863a6b8 --- /dev/null +++ b/versions/b-/bark.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "07b2df93bac4785ff63f152e6616d86c4dd0c16e", + "version-semver": "0.3.0", + "port-version": 0 + } + ] +} diff --git a/versions/b-/basisu.json b/versions/b-/basisu.json index c9940a435a31b6..e332c693866fc1 100644 --- a/versions/b-/basisu.json +++ b/versions/b-/basisu.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "2d73fe30c22b77d2059f07330ae9cb13e0dd2809", + "version": "1.50.0", + "port-version": 0 + }, + { + "git-tree": "d355537e7392dad769a0c435f2a2cedf310b322c", + "version": "1.16.4", + "port-version": 0 + }, + { + "git-tree": "31adec97dda19e99a5745f46a5d2031981206bb1", + "version": "1.11", + "port-version": 7 + }, + { + "git-tree": "8552deb382fab18170488ffdf05fdd50dd3e2d99", + "version": "1.11", + "port-version": 6 + }, { "git-tree": "70d762c5a7350879f47429ea6275ba34f1c0f449", "version-string": "1.11", diff --git a/versions/b-/bcg729.json b/versions/b-/bcg729.json index 39cae81b8863a5..ce2969ea11a1a0 100644 --- a/versions/b-/bcg729.json +++ b/versions/b-/bcg729.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "f3ab650b9aee68c1967ab35c8890ffcfd721b485", + "version": "1.1.1", + "port-version": 3 + }, { "git-tree": "d515bbfce335039dc7edaa083d7ab334888f8254", "version": "1.1.1", diff --git a/versions/b-/bddisasm.json b/versions/b-/bddisasm.json index ae9d39405f8003..796e5f1a934a67 100644 --- a/versions/b-/bddisasm.json +++ b/versions/b-/bddisasm.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "f7a110ba4cae651ef869f470e1165ab60e903aeb", + "version": "2.1.5", + "port-version": 0 + }, + { + "git-tree": "8f7d00a557af383dde3f48d12ddedecf4117c9ce", + "version": "2.1.4", + "port-version": 0 + }, + { + "git-tree": "26b6c5584f03700f47ff9d457df6f16dfdaebdba", + "version": "2.1.0", + "port-version": 0 + }, + { + "git-tree": "b34f372d51168c9361ccd85f91263792b2c9bd4d", + "version": "1.34.10", + "port-version": 0 + }, + { + "git-tree": "3cede34b39c8ab7d83ee9f43dcb112e4d1c96104", + "version": "1.34.7", + "port-version": 1 + }, { "git-tree": "296988f2d875c4fe41506e163c5c35141c6d35f8", "version": "1.34.7", diff --git a/versions/b-/bde.json b/versions/b-/bde.json index f587a05e530024..e28ba191d85809 100644 --- a/versions/b-/bde.json +++ b/versions/b-/bde.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "2614291015d6a8d0f554c6d9592abd4643b9717e", + "version": "4.14.0.0", + "port-version": 0 + }, + { + "git-tree": "bcc715b2f958a15fb5f05a8a5f717b8091c35f05", + "version": "4.8.0.0", + "port-version": 1 + }, + { + "git-tree": "fa76296b5abefaf07a8f663ced20cea1a0c901b6", + "version": "4.8.0.0", + "port-version": 0 + }, + { + "git-tree": "f8c8bc5beb99b215e68af4269bc1bac20957d485", + "version": "3.124.0.0", + "port-version": 0 + }, + { + "git-tree": "71df70f3716434e8069b394593ba8859b6556959", + "version": "3.123.0.0", + "port-version": 0 + }, + { + "git-tree": "a8fc4329574711907399309f06012a486d373c64", + "version": "3.117.0.0", + "port-version": 0 + }, + { + "git-tree": "7ce72f2854f44eee806e6e5f3e97d29897549787", + "version": "3.2.0.0", + "port-version": 5 + }, { "git-tree": "60082ad73e5c9fb9828041183b026fc15e453218", "version-string": "3.2.0.0", diff --git a/versions/b-/bdwgc.json b/versions/b-/bdwgc.json index e12434284ab2a5..5840fe38c98baa 100644 --- a/versions/b-/bdwgc.json +++ b/versions/b-/bdwgc.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "559f0b9bb0a7a06b28daae296f7080760268f5dd", + "version": "8.2.8", + "port-version": 0 + }, + { + "git-tree": "6bf6340168ebda8d87ec21411dbb4d27e0ce3363", + "version": "8.2.6", + "port-version": 0 + }, + { + "git-tree": "12a48f09e61ae946a6858c69e2c40688bdff3980", + "version": "8.2.4", + "port-version": 0 + }, + { + "git-tree": "f99370553e85e9f6a10878253cdee86883b0ff30", + "version": "8.2.2", + "port-version": 0 + }, + { + "git-tree": "8fe23b71dde5d4abc9a755c359a583b8d7ba3035", + "version": "8.2.0", + "port-version": 4 + }, + { + "git-tree": "1cf3b7a458af2eba78e5af9674e8f6d28b53e254", + "version": "8.2.0", + "port-version": 3 + }, { "git-tree": "b7ec5e3585f7f7b71988cb7379c181a1fa9461cd", "version": "8.2.0", diff --git a/versions/b-/beast.json b/versions/b-/beast.json index 4b88457c2d3b42..b3232f7dcda185 100644 --- a/versions/b-/beast.json +++ b/versions/b-/beast.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "608757dbb0f830eedf5b1416fb8a79731dd5240c", + "version": "0", + "port-version": 2 + }, { "git-tree": "eea4815ae315b38373961c8ff9a5be8556857b3f", "version-string": "0", diff --git a/versions/b-/behaviortree-cpp.json b/versions/b-/behaviortree-cpp.json index 642a0062397942..b8fb42fe1021ec 100644 --- a/versions/b-/behaviortree-cpp.json +++ b/versions/b-/behaviortree-cpp.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "4cacd1d5f1a465b3ca9d23ebb0b9b4626a26db63", + "version": "4.3.7", + "port-version": 0 + }, + { + "git-tree": "66a97129b31a5e70e45a40c767ea96b1e0477a93", + "version": "4.1.1", + "port-version": 0 + }, + { + "git-tree": "7518e59f9f1e994e3af289b8de87115834dcb758", + "version": "3.5.6", + "port-version": 3 + }, + { + "git-tree": "79f662c115d97eb11ef1a08753aed0eef061d7cc", + "version": "3.5.6", + "port-version": 2 + }, { "git-tree": "96c8331bb642e665bd66a9aa82797d4db84b86fa", "version": "3.5.6", diff --git a/versions/b-/benchmark.json b/versions/b-/benchmark.json index 8832810570aa34..436cd3a786677b 100644 --- a/versions/b-/benchmark.json +++ b/versions/b-/benchmark.json @@ -1,5 +1,70 @@ { "versions": [ + { + "git-tree": "fb5125735472f7f54342eb37ba52a8715178c9f0", + "version-semver": "1.9.0", + "port-version": 0 + }, + { + "git-tree": "422db6fc6c268ce01653522503aaa87dd5813385", + "version-semver": "1.8.5", + "port-version": 0 + }, + { + "git-tree": "8251c2dbb2913d8128fa08cd98f375c14c329cbf", + "version-semver": "1.8.4", + "port-version": 0 + }, + { + "git-tree": "7d03a7d3688cd7480d28584a4ca4677fe90f3226", + "version-semver": "1.8.3", + "port-version": 3 + }, + { + "git-tree": "44a03f2c85841f8e1e434e6a7f0a4ae73f7b2310", + "version-semver": "1.8.3", + "port-version": 2 + }, + { + "git-tree": "5e8efca95a7d5d9c74f8a2c5c2ee05bbd2271451", + "version-semver": "1.8.3", + "port-version": 1 + }, + { + "git-tree": "fc61bd374495cb30bb9c58c6e9d0d4568898f0c8", + "version-semver": "1.8.3", + "port-version": 0 + }, + { + "git-tree": "54f61ab31bcb486a12c859c33db17905f397cc0c", + "version-semver": "1.8.2", + "port-version": 0 + }, + { + "git-tree": "faeb0b56e68483860ab8cc468a6c594ac361167f", + "version-semver": "1.8.0", + "port-version": 0 + }, + { + "git-tree": "2b8e34d5f083c7c674469078f5e80521e3b77d58", + "version-semver": "1.7.1", + "port-version": 0 + }, + { + "git-tree": "e5d610bf8256ba634ade154face9bf1aa194f9e2", + "version-semver": "1.7.0", + "port-version": 0 + }, + { + "git-tree": "0b248363b29630caf5f45a42d2d82c12b29979e1", + "version-semver": "1.6.1", + "port-version": 0 + }, + { + "git-tree": "7856168d2b0dcaf058c077798ca47f767c6444f5", + "version-semver": "1.6.0", + "port-version": 1 + }, { "git-tree": "4a77547715562fcaa95568226f79af88d859d2c1", "version-semver": "1.6.0", diff --git a/versions/b-/bento4.json b/versions/b-/bento4.json index a5d351761a194c..86e26b24979d8a 100644 --- a/versions/b-/bento4.json +++ b/versions/b-/bento4.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "b7f9a6725e58b313fd796cf333dab7dd1d1a3bbb", + "version": "1.6.0-641", + "port-version": 0 + }, + { + "git-tree": "06b152ff36998df474bd8cf0fa61435d1315b609", + "version": "1.6.0-640", + "port-version": 0 + }, + { + "git-tree": "4da8906f31697785969422135a52cb2d0861fe53", + "version": "1.6.0-639", + "port-version": 1 + }, + { + "git-tree": "834cb05380588e07628713420e709264f168a567", + "version": "1.6.0-639", + "port-version": 0 + }, { "git-tree": "bfedfc70c05cececac8e23b744b43619e2ae3125", "version-string": "1.5.1", diff --git a/versions/b-/berkeleydb.json b/versions/b-/berkeleydb.json index e21920be6a8adb..e60689fd333427 100644 --- a/versions/b-/berkeleydb.json +++ b/versions/b-/berkeleydb.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "621db13f2d2f182412abec7e8e699cc57f9bf577", + "version": "4.8.30", + "port-version": 9 + }, + { + "git-tree": "27ed2f8c5c5b6c5ba677703f69d9e83062ff6c86", + "version": "4.8.30", + "port-version": 8 + }, + { + "git-tree": "753782cd715f3780a1d3d75ef7655e92a414a440", + "version": "4.8.30", + "port-version": 7 + }, { "git-tree": "fdef7fa8068cc8b7443905db215bed2dcf378abf", "version-string": "4.8.30", diff --git a/versions/b-/better-enums.json b/versions/b-/better-enums.json new file mode 100644 index 00000000000000..f7905caa2712ae --- /dev/null +++ b/versions/b-/better-enums.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "64e0dbffe12134b2198b81043cc0dcfd0a340f33", + "version": "0.11.3", + "port-version": 0 + } + ] +} diff --git a/versions/b-/bext-di.json b/versions/b-/bext-di.json index d0526b9c9d523e..c0ff606326b1ac 100644 --- a/versions/b-/bext-di.json +++ b/versions/b-/bext-di.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "41c55bfd3aeb579a5233a48257ee125174b0f9b6", + "version": "1.3.0", + "port-version": 1 + }, + { + "git-tree": "b4882fdad119370cd0496487cd2b2cfc4db087ce", + "version": "1.3.0", + "port-version": 0 + }, + { + "git-tree": "8b3c494eee383a036b07453ff9b34d1be65be06d", + "version": "1.2.0", + "port-version": 1 + }, { "git-tree": "a77676231f3c6c3fe9c145bfe670cfae495fb8ac", "version-string": "1.2.0", diff --git a/versions/b-/bext-mp.json b/versions/b-/bext-mp.json new file mode 100644 index 00000000000000..7bfb4d9a2caa63 --- /dev/null +++ b/versions/b-/bext-mp.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "506fb6ec5f2a49a2b7e0bb637e6e8ef0f4e966ac", + "version-date": "2023-03-02", + "port-version": 0 + } + ] +} diff --git a/versions/b-/bext-sml.json b/versions/b-/bext-sml.json index 56b065fc341dda..c8db78433cc9d5 100644 --- a/versions/b-/bext-sml.json +++ b/versions/b-/bext-sml.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "9214514200facf25365f0183697bfceda8e44575", + "version": "1.1.11", + "port-version": 0 + }, + { + "git-tree": "4a92a1e011efcac69647356c0806c794d4d8ceac", + "version": "1.1.9", + "port-version": 0 + }, + { + "git-tree": "607e0e94d37ca023fd393c42e8acb43881ea8025", + "version": "1.1.5", + "port-version": 0 + }, { "git-tree": "5e5941cb1ecd7988a9f52c1ace73823a4a20743c", "version": "1.1.4", diff --git a/versions/b-/bext-sml2.json b/versions/b-/bext-sml2.json new file mode 100644 index 00000000000000..7f0e67d3dda074 --- /dev/null +++ b/versions/b-/bext-sml2.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "9a044e08c33fb1465d65b751bd0d23e7b32b85f5", + "version": "2.0.0", + "port-version": 0 + }, + { + "git-tree": "588ef9edb0c8c55acb5807d67ddbea854b563606", + "version-date": "2024-02-02", + "port-version": 0 + }, + { + "git-tree": "b61fcb31fd93d5b99b7f039aa2c1bab7b5eec83a", + "version-date": "2023-09-20", + "port-version": 0 + } + ] +} diff --git a/versions/b-/bext-text.json b/versions/b-/bext-text.json new file mode 100644 index 00000000000000..25eb208a7ff35f --- /dev/null +++ b/versions/b-/bext-text.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "e7d3b13182249822322514dfc1157853d1202bfb", + "version-date": "2024-01-19", + "port-version": 0 + } + ] +} diff --git a/versions/b-/bext-ut.json b/versions/b-/bext-ut.json index 6e6b6971f630ba..9a373b8202e6f9 100644 --- a/versions/b-/bext-ut.json +++ b/versions/b-/bext-ut.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "005d8801fa1f5a1ebb1e7927e9ab55816fe171c0", + "version": "2.0.1", + "port-version": 0 + }, + { + "git-tree": "a778eac38758ba4adaedb0098ee069c90ead7faa", + "version": "1.1.9", + "port-version": 2 + }, + { + "git-tree": "c80b6f438634bb91f77d03f18bcafe5486f8aaab", + "version": "1.1.9", + "port-version": 1 + }, + { + "git-tree": "ea37a3905161a060e837b30d42868792d50029f8", + "version": "1.1.9", + "port-version": 0 + }, { "git-tree": "b08fed0b83c26aabfdda7db38d43a01b288f6a66", "version": "1.1.8", diff --git a/versions/b-/bext-wintls.json b/versions/b-/bext-wintls.json index b57b166726ec7d..ea1144e49571c8 100644 --- a/versions/b-/bext-wintls.json +++ b/versions/b-/bext-wintls.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "2aa860a3c3e75931400129bfea8e70d665410607", + "version": "0.9.8", + "port-version": 0 + }, + { + "git-tree": "bc8c1307f16b47fb5fd638e719f0157323be3919", + "version": "0.9.7", + "port-version": 0 + }, { "git-tree": "1bed92afff8085f2d8f888b35ce0049e5986aa8a", "version": "0.9.5", diff --git a/versions/b-/bfgroup-lyra.json b/versions/b-/bfgroup-lyra.json index 0a6e8cf000d393..c3a9a564ce6a65 100644 --- a/versions/b-/bfgroup-lyra.json +++ b/versions/b-/bfgroup-lyra.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "b58cd66176db34198f2a59a06f87afe194db2a45", + "version": "1.6.1", + "port-version": 0 + }, + { + "git-tree": "bbd3e635da6198f0f2458ec62ff937287c5c5b45", + "version": "1.6", + "port-version": 0 + }, { "git-tree": "d06d9dff4b3cb6ea57292cb81460f113a905e3ea", "version": "1.5.1", diff --git a/versions/b-/bgfx.json b/versions/b-/bgfx.json new file mode 100644 index 00000000000000..ac7aa689d85028 --- /dev/null +++ b/versions/b-/bgfx.json @@ -0,0 +1,69 @@ +{ + "versions": [ + { + "git-tree": "38419e14182a560fb1b84d51f88e68af9174e90c", + "version": "1.128.8808-482", + "port-version": 0 + }, + { + "git-tree": "059b5b641de1b56edd27101a5d0ce1093cceaa5a", + "version": "1.128.8786-481", + "port-version": 0 + }, + { + "git-tree": "ce8b9fb8c5bb63ede2168612877dd02b9187942f", + "version": "1.128.8786-480", + "port-version": 0 + }, + { + "git-tree": "410ddaf19cbcc811e4757d3e6ecb236c7dc15838", + "version": "1.128.8777-475", + "port-version": 0 + }, + { + "git-tree": "7b9ba6d3df9abc4bacc14ca3fcaf2095b7faf548", + "version": "1.127.8725-469", + "port-version": 1 + }, + { + "git-tree": "df7b82514ae7d190569f8e85e7c65cfec55cdc82", + "version": "1.127.8725-469", + "port-version": 0 + }, + { + "git-tree": "c5af63ea2a285a9577943683a6e1347d17487402", + "version": "1.122.8595-458", + "port-version": 0 + }, + { + "git-tree": "11c8b127eab949129fb5adf3006c9655ab1bb525", + "version": "1.121.8534-453", + "port-version": 0 + }, + { + "git-tree": "583f89c30b68d43070737982e0b0f8748aa23199", + "version": "1.118.8417-415", + "port-version": 0 + }, + { + "git-tree": "bc128cdb626e73d51985facc99bfdad94ebc7532", + "version": "1.118.8415-411", + "port-version": 0 + }, + { + "git-tree": "0fe86904c573bab0e9b8c410160de78ecfc4527f", + "version": "1.118.8398-400", + "port-version": 0 + }, + { + "git-tree": "9359637243730a77d0139bd3ecdf317bd16fa38e", + "version": "1.118.8384-362", + "port-version": 1 + }, + { + "git-tree": "6554186755cae40eef0b34bf0c447861d6e6dd7a", + "version": "1.118.8384-362", + "port-version": 0 + } + ] +} diff --git a/versions/b-/bigint.json b/versions/b-/bigint.json index 48e25a21a93305..d7a9507f9738fd 100644 --- a/versions/b-/bigint.json +++ b/versions/b-/bigint.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "9b0dc5c03eb3f9da5fb625518dd2ab367df6aed8", + "version-string": "2010.04.30", + "port-version": 8 + }, { "git-tree": "ae8921f17a82f01e5e68e494c8fe1823085eb496", "version-string": "2010.04.30", diff --git a/versions/b-/binlog.json b/versions/b-/binlog.json new file mode 100644 index 00000000000000..966905acd5e548 --- /dev/null +++ b/versions/b-/binlog.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "53449cd8c7572c72137ace92720d632b671f2d17", + "version-date": "2021-04-16", + "port-version": 1 + }, + { + "git-tree": "eb0ae943fc2b0c1c19ad62308d1f321439967fd4", + "version-date": "2021-04-16", + "port-version": 0 + } + ] +} diff --git a/versions/b-/binn.json b/versions/b-/binn.json index fb32ec7dc07bb6..8dae08a4363437 100644 --- a/versions/b-/binn.json +++ b/versions/b-/binn.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "e9c0f4de4aef736aa3b11d4cce436973f85e03a6", + "version": "3.0", + "port-version": 3 + }, + { + "git-tree": "aef73e4b20836cfc1913984d75d560f331b51fc1", + "version-string": "3.0", + "port-version": 2 + }, { "git-tree": "6b63ed963e5305d28e67ee04951cb907a483bca2", "version-string": "3.0", diff --git a/versions/b-/bit7z.json b/versions/b-/bit7z.json new file mode 100644 index 00000000000000..e572935ccf7972 --- /dev/null +++ b/versions/b-/bit7z.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "07fa7b0762a888e367f01bd9ba8674c7a0d7ffdb", + "version": "4.0.8", + "port-version": 0 + } + ] +} diff --git a/versions/b-/bitmagic.json b/versions/b-/bitmagic.json index 07b6ea476bcb97..7b3bc4689eefe7 100644 --- a/versions/b-/bitmagic.json +++ b/versions/b-/bitmagic.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "14d510fa0efbea29992a891120f898df71dc746d", + "version": "7.13.4", + "port-version": 1 + }, + { + "git-tree": "98fb920eba690a2a64666a6a76e16af95a797ae8", + "version": "7.13.4", + "port-version": 0 + }, + { + "git-tree": "d8f4a3a305e2872a295f493450a96b093ad39ef7", + "version": "7.12.3", + "port-version": 0 + }, + { + "git-tree": "0b5257f630778f4e1acbee7661041a1a67c7f21d", + "version": "7.11.2", + "port-version": 0 + }, { "git-tree": "9a8ea093834ac196fd75eb7d07348dd27ebcb715", "version": "7.5.0", diff --git a/versions/b-/bitserializer-rapidyaml.json b/versions/b-/bitserializer-rapidyaml.json index da58b49d7813b8..945d41310efc61 100644 --- a/versions/b-/bitserializer-rapidyaml.json +++ b/versions/b-/bitserializer-rapidyaml.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "a3dbe01a4244088fa34e2dae25ebcfbe67a35fad", + "version-string": "alias", + "port-version": 3 + }, { "git-tree": "08097fe26fb2b85b77ee6df81ba666201b1dd991", "version-string": "alias", diff --git a/versions/b-/bitserializer.json b/versions/b-/bitserializer.json index a58466de15e4c7..5f8c7a034f4cd0 100644 --- a/versions/b-/bitserializer.json +++ b/versions/b-/bitserializer.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "d1f4be53f0d9a87ee46bd26d3d44cc98f726e527", + "version": "0.70", + "port-version": 0 + }, + { + "git-tree": "e942a227c05c00b773fa341f08ed56e360fbd45e", + "version": "0.65", + "port-version": 0 + }, + { + "git-tree": "8f6f0ca62f24edb91a4b605b045f46653442d1d5", + "version": "0.50", + "port-version": 0 + }, + { + "git-tree": "5890683ebbade2c0abbc466cd447e3f4220f49cd", + "version": "0.44", + "port-version": 2 + }, + { + "git-tree": "e25c895f4054e151b1865640ae8500efcddda95b", + "version": "0.44", + "port-version": 1 + }, { "git-tree": "66c9246073510ab554418a0b63ef9ee471b05b76", "version": "0.44", diff --git a/versions/b-/bitsery.json b/versions/b-/bitsery.json index bff5f7ba57e453..1c8b2a496d2540 100644 --- a/versions/b-/bitsery.json +++ b/versions/b-/bitsery.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "73f4da051bf8903b91c11b724dd62469eb0565ff", + "version": "5.2.4", + "port-version": 0 + }, + { + "git-tree": "7c511e7c691fc3d0c4f146298daa7e0a4f4446e5", + "version": "5.2.3", + "port-version": 0 + }, { "git-tree": "6fdd20d510ccb63049b899419af07461f42097e5", "version": "5.2.2", diff --git a/versions/b-/blake3.json b/versions/b-/blake3.json new file mode 100644 index 00000000000000..6e443a6339f0a0 --- /dev/null +++ b/versions/b-/blake3.json @@ -0,0 +1,49 @@ +{ + "versions": [ + { + "git-tree": "e816d39b5f988611043b60760036b695d1c370e2", + "version": "1.5.4", + "port-version": 0 + }, + { + "git-tree": "1ebeac61319ceea010e0886e04c270f7db71667b", + "version": "1.5.1", + "port-version": 0 + }, + { + "git-tree": "62d312f1abb1e3acf086050e4e14d650973f5568", + "version": "1.5.0", + "port-version": 1 + }, + { + "git-tree": "3d62ef88b0bacbb197e9bb921b8b7d0fea336f1d", + "version": "1.5.0", + "port-version": 0 + }, + { + "git-tree": "a198a87b5478bee28b2e4d35ed9787cf3950faef", + "version": "1.4.0", + "port-version": 0 + }, + { + "git-tree": "13ac9cc003839e6730587218103f4912e7886311", + "version": "1.3.3", + "port-version": 1 + }, + { + "git-tree": "707d127029e3c2e2c2216fba6e36247ce43414b3", + "version": "1.3.3", + "port-version": 0 + }, + { + "git-tree": "78cffdc59cdb9f1c75dffa671578203d0a79fa42", + "version": "1.3.1", + "port-version": 1 + }, + { + "git-tree": "62a5201ca424389c823b9b4be3d588e1cbb88a58", + "version": "1.3.1", + "port-version": 0 + } + ] +} diff --git a/versions/b-/blas.json b/versions/b-/blas.json index c8b3ade64a24bc..2329502b9d9c38 100644 --- a/versions/b-/blas.json +++ b/versions/b-/blas.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "996094c62f01e190855a43a036b6ec2e10375bd9", + "version-date": "2023-04-14", + "port-version": 1 + }, + { + "git-tree": "02dbca6ca7e22e44f5445b10f74e63644779eefd", + "version-date": "2023-04-14", + "port-version": 0 + }, + { + "git-tree": "0fe7611c8bb3098083440074a6c59f35bfee4f99", + "version-date": "2023-03-25", + "port-version": 0 + }, + { + "git-tree": "13cc4359c6888f16fdde35e618096b67a9177a6b", + "version-string": "1", + "port-version": 2 + }, { "git-tree": "0d105be9337f4a6f294a7eced2da18e8cdb99051", "version-string": "1", diff --git a/versions/b-/blaze.json b/versions/b-/blaze.json index 3a4a1c091d20c3..b5addcd0b1cf3f 100644 --- a/versions/b-/blaze.json +++ b/versions/b-/blaze.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "408eb24a2dfa52911481429dbf59d384ee80464d", + "version": "3.8.2", + "port-version": 1 + }, + { + "git-tree": "9f237bb789d83a4004b263f9544ed3d6668f160f", + "version": "3.8.2", + "port-version": 0 + }, + { + "git-tree": "6bea7e024ba776f0a7c5462056054529f79aa86d", + "version": "3.8.1", + "port-version": 0 + }, { "git-tree": "8795a94d25adbb75d3be0b191bc3c15321e9c686", "version-string": "3.8", diff --git a/versions/b-/blend2d.json b/versions/b-/blend2d.json index 36a07ee20297fc..137769f91ca132 100644 --- a/versions/b-/blend2d.json +++ b/versions/b-/blend2d.json @@ -1,28 +1,73 @@ { "versions": [ { - "git-tree": "e322c9917356f15d6370ff8f2f0bd380d1f08661", - "version-date": "2021-03-17", + "git-tree": "2552a43118b9e6890e486db9376c0c69b6cc82ca", + "version-date": "2024-07-08", "port-version": 0 }, { - "git-tree": "0258280297a10b5f45243914233bb9299274a224", - "version-string": "beta_2021-01-02", + "git-tree": "a5440e80d03f5d70356c3295281949898811ff97", + "version-date": "2023-06-16", + "port-version": 1 + }, + { + "git-tree": "7e16be134e98cabefdf318161ef7f74d83b0512d", + "version-date": "2023-06-16", "port-version": 0 }, { - "git-tree": "7772d070a8aa7b0b06508ae45bb3c22e9bbe774f", - "version-string": "beta_2020-08-24", + "git-tree": "d6de437ccd239433cc34d21212797c4755a6c8f4", + "version": "0.10", + "port-version": 0 + }, + { + "git-tree": "b29172f6f8dd5479a5123214f403137b0180b61f", + "version-date": "2022-12-31", + "port-version": 3 + }, + { + "git-tree": "89ccc58cff0cc74468ab31076901e5e74b68c6ba", + "version-date": "2022-12-31", + "port-version": 2 + }, + { + "git-tree": "dc33e610ee62c7cc13415a1e18e682ccbb56a68d", + "version-date": "2022-12-31", + "port-version": 1 + }, + { + "git-tree": "838a7227b29f1b1beb7daf181cfc97e5674e0270", + "version-date": "2022-12-31", "port-version": 0 }, { - "git-tree": "ffce764b880d8cc24e3b00328aa3861f15bae91d", - "version-string": "beta_2020-07-31", + "git-tree": "96db1e7844aafd005e469f47b8f89e139df8d8e1", + "version-date": "2022-05-02", "port-version": 0 }, { - "git-tree": "03a43f03eb0cab95aac27a77b71273fc4aa2e94d", - "version-string": "beta_2020-07-09", + "git-tree": "ceedb664deed987cc4e4493554ae3aa58088f08c", + "version-date": "2022-02-19", + "port-version": 0 + }, + { + "git-tree": "401153e8f3407e68e96c4ea60f8c71c633b08e1d", + "version-date": "2021-03-17", + "port-version": 1 + }, + { + "git-tree": "e322c9917356f15d6370ff8f2f0bd380d1f08661", + "version-date": "2021-03-17", + "port-version": 0 + }, + { + "git-tree": "0258280297a10b5f45243914233bb9299274a224", + "version-string": "beta_2021-01-02", + "port-version": 0 + }, + { + "git-tree": "7772d070a8aa7b0b06508ae45bb3c22e9bbe774f", + "version-string": "beta_2020-08-24", "port-version": 0 }, { diff --git a/versions/b-/blingfire.json b/versions/b-/blingfire.json new file mode 100644 index 00000000000000..ce4a39c589177c --- /dev/null +++ b/versions/b-/blingfire.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "70822350369b68d60a5640eca1b668e1829c8054", + "version": "0.1.8.1", + "port-version": 1 + }, + { + "git-tree": "8352e7a158da2568b5c67c973b3692681be8b0d6", + "version": "0.1.8.1", + "port-version": 0 + } + ] +} diff --git a/versions/b-/blitz.json b/versions/b-/blitz.json index 797c31d5c66d7d..59de85381891b2 100644 --- a/versions/b-/blitz.json +++ b/versions/b-/blitz.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "cdba6ec016e3ff669d9db76b24782b25d2c3052e", + "version-date": "2020-03-25", + "port-version": 7 + }, + { + "git-tree": "40ce06a82bd0a6249e00b4e7dc3f74f2b03d5391", + "version-date": "2020-03-25", + "port-version": 6 + }, + { + "git-tree": "58bca2588e7ff4935893cfebdf1d9665f95f846e", + "version-date": "2020-03-25", + "port-version": 5 + }, + { + "git-tree": "694507bc15d282e3de5160a0a221abfa381e6327", + "version-string": "2020-03-25", + "port-version": 4 + }, + { + "git-tree": "ddf54a36a0fa345a482b66d648778c13f0008eeb", + "version-string": "2020-03-25", + "port-version": 3 + }, { "git-tree": "6f6a860240cf01fea1a9f90f6970dec75980a1d1", "version-string": "2020-03-25", diff --git a/versions/b-/bloomberg-quantum.json b/versions/b-/bloomberg-quantum.json new file mode 100644 index 00000000000000..2478e6fa9a1520 --- /dev/null +++ b/versions/b-/bloomberg-quantum.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "9099d9be8e575f44a311cf7d5032ee5c9dcdc82f", + "version-date": "2023-02-03", + "port-version": 0 + } + ] +} diff --git a/versions/b-/blosc.json b/versions/b-/blosc.json index 9f5863b6d0f31b..f7d5720a098a83 100644 --- a/versions/b-/blosc.json +++ b/versions/b-/blosc.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "864998aec116af2c008676f9e3be350be747654d", + "version": "1.21.6", + "port-version": 0 + }, + { + "git-tree": "7c0e6152db6058a53ff21fc8037e5c9e685a0fe8", + "version": "1.21.5", + "port-version": 0 + }, + { + "git-tree": "08be7493a8b0644853e545f50d243680b1d13fd9", + "version": "1.21.3", + "port-version": 0 + }, + { + "git-tree": "a95e4b34ff47ed69f3e644405efe80b8c46aee14", + "version-string": "1.18.1", + "port-version": 4 + }, { "git-tree": "a9ae0480271a2db8d001d389b4c62af49ea50770", "version-string": "1.18.1", diff --git a/versions/b-/blpapi.json b/versions/b-/blpapi.json new file mode 100644 index 00000000000000..7051e7181de525 --- /dev/null +++ b/versions/b-/blpapi.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "f06f8feee872cd3a196d20113ed1f77c39554910", + "version": "3.24.6", + "port-version": 0 + }, + { + "git-tree": "78171a41201cdb236d95e50ed26f6b76675f97de", + "version": "3.20.2", + "port-version": 0 + } + ] +} diff --git a/versions/b-/bluescarni-tanuki.json b/versions/b-/bluescarni-tanuki.json new file mode 100644 index 00000000000000..296ed1ae6d7c17 --- /dev/null +++ b/versions/b-/bluescarni-tanuki.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "8d7c42daaac9ee52c19aa772cc4a2b8c823ae8e7", + "version-date": "2024-08-17", + "port-version": 0 + } + ] +} diff --git a/versions/b-/boinc.json b/versions/b-/boinc.json index ae25bcdfcd7804..ccc08c877d1363 100644 --- a/versions/b-/boinc.json +++ b/versions/b-/boinc.json @@ -1,5 +1,105 @@ { "versions": [ + { + "git-tree": "dceee841c00561abe3de8241f9399dd60db96193", + "version": "8.0.4", + "port-version": 0 + }, + { + "git-tree": "2585b14e3aac8df4a8942c42305c72178f11d684", + "version": "8.0.3", + "port-version": 0 + }, + { + "git-tree": "459fef2e05ce8ca1a52a5361163bb7ba643f3d17", + "version": "8.0.2", + "port-version": 0 + }, + { + "git-tree": "972e4eaa795c412ca6dd9868073b2281c4f55ced", + "version": "8.0.0", + "port-version": 0 + }, + { + "git-tree": "b49e9a16d262cfdde45934d7a3c9a6aebf391225", + "version": "7.24.3", + "port-version": 0 + }, + { + "git-tree": "1108b5895433bd23e8a9d6b8695adf85438382c2", + "version": "7.24.1", + "port-version": 0 + }, + { + "git-tree": "a90973a47e6ea052123787fd347b6dc68c8f77de", + "version": "7.22.2", + "port-version": 2 + }, + { + "git-tree": "61b5ebb30db7da8972a235b11ffc92f667c597eb", + "version": "7.22.2", + "port-version": 1 + }, + { + "git-tree": "b0f6f1b59e54a64b321aba20d196531d6e181d2c", + "version": "7.22.2", + "port-version": 0 + }, + { + "git-tree": "0d3f7220d72e02720ad44a15cfc46ebc1a6c26b4", + "version": "7.22.1", + "port-version": 1 + }, + { + "git-tree": "05fdc41be633efa59debd81ec8a95c584972e54b", + "version": "7.22.1", + "port-version": 0 + }, + { + "git-tree": "634e281c399c5bdd7f47977241fce65e88faa595", + "version": "7.22.0", + "port-version": 0 + }, + { + "git-tree": "6182bb8eabfde5ed3800c4505fa189d43cf0f884", + "version": "7.20.5", + "port-version": 0 + }, + { + "git-tree": "14cea3d77a6cc3792993088cb0d2642aa5fc87c2", + "version": "7.20.4", + "port-version": 0 + }, + { + "git-tree": "862d1c12a219592e79f591bbeb090c5f84736a54", + "version": "7.20.2", + "port-version": 0 + }, + { + "git-tree": "ab47def2f85314a93479d7238572c83c91ac1845", + "version": "7.20.1", + "port-version": 0 + }, + { + "git-tree": "c81da3b63845b3d0e04dfac9b8ebe3096d13176d", + "version": "7.20.0", + "port-version": 0 + }, + { + "git-tree": "47df312abbe66c9c58fd67b1deb72ec906421a68", + "version": "7.18.1", + "port-version": 5 + }, + { + "git-tree": "33d681acad2362813b5aa9e547c73741d11432d4", + "version": "7.18.1", + "port-version": 4 + }, + { + "git-tree": "561d297147fabda6ccd25dc8ca3de0ce854562ca", + "version": "7.18.1", + "port-version": 3 + }, { "git-tree": "ee6667eb5cf5a3fee75fd35de998ad322c5999ff", "version": "7.18.1", diff --git a/versions/b-/bond.json b/versions/b-/bond.json index 98a2e01d805121..76bbd1097bfa9a 100644 --- a/versions/b-/bond.json +++ b/versions/b-/bond.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "e514b127e67f594fcbfbead6316497b0ae2bb3bf", + "version": "13.0.1", + "port-version": 0 + }, + { + "git-tree": "509a47415e454dad381998007ac964af4a288bb1", + "version": "11.0.1", + "port-version": 4 + }, + { + "git-tree": "529159c6aff85949b583f7f2a577f7a1447ed38c", + "version": "10.0.0", + "port-version": 3 + }, + { + "git-tree": "800bba87d345e620b88cd1b31b34fb76ac80aee6", + "version": "10.0.0", + "port-version": 2 + }, + { + "git-tree": "5d9b960403809575097267ac43d1ce18e9b2a7f2", + "version": "10.0.0", + "port-version": 1 + }, + { + "git-tree": "5ce8875d8de21ca31d61b521c2e84a974e325436", + "version": "10.0.0", + "port-version": 0 + }, + { + "git-tree": "96ecc1c6ea2a8fabfbdfd7d0a8535821446af89f", + "version": "9.0.3", + "port-version": 3 + }, { "git-tree": "a1dbc5726734016b562a6f957ae3072df17b4592", "version": "9.0.3", diff --git a/versions/b-/boolinq.json b/versions/b-/boolinq.json index 01cf3c3d4e1add..d32f7338698e6e 100644 --- a/versions/b-/boolinq.json +++ b/versions/b-/boolinq.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "540d3bb914d7910e720efb6f423d22e279b2c029", + "version": "3.0.4", + "port-version": 0 + }, + { + "git-tree": "40193511c7dc66ae28661196fa3769dfabf0ac8c", + "version": "3.0.3", + "port-version": 0 + }, { "git-tree": "86d17070137580ac517b418686329b8fbc28b147", "version": "3.0.2", diff --git a/versions/b-/boost-accumulators.json b/versions/b-/boost-accumulators.json index c8562b855736a0..705601cd11dcd9 100644 --- a/versions/b-/boost-accumulators.json +++ b/versions/b-/boost-accumulators.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "9760bdb89b8de886df649835bb83c4fb573c8140", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "17619ff99f8255a784c6340075f3905dbad6b2f1", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "2cb5fea49f30952d6483fd6cfedb41cf2391ae49", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "c86eb2ffff3ac4bf14765b247010f35a5dade89d", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "5cdf726ffdb94b1312ded97480dd8d532431d126", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "fbc8e739bd519a5da1db826cb1cd6b14c0072533", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "fcd575a4e482f3a331107dcbad72468cb9c14e50", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "d45f601cdc5cfb7a4e6d1ec9fdd8396ece8699e9", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "f201a4318c1e2b666d9e4e335b3724db492f75a5", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "b7046b6940dd0ce710ee59f69eb4ba3d0a43df71", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "a6b9364c31b7056aea13e5d823ae093414e23833", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "5d7a12cb50aa3ea71eea14b22333b19b5a7116a9", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "fc69978ce36846187e85003e5a050ed6a0fd74bb", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "b25f312085b5e73329ad76e24d11c9c1882e2ee7", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "80a1e83cff3df70e006907ccc20851f7086f2dab", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "070cbab1861e2a57e6c39ac1a8dcf51ad9edafea", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "b24ef7a5bec0e29c8013593cd6bba58e52b19a7a", "version": "1.77.0", diff --git a/versions/b-/boost-algorithm.json b/versions/b-/boost-algorithm.json index 85eb9ae2115f93..5edbdb761ff836 100644 --- a/versions/b-/boost-algorithm.json +++ b/versions/b-/boost-algorithm.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "16fe704598a261d9766b1d6eb3a483f468ab6cac", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "f2849ae32efae29501cab88f2d61a5a53b88f923", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "289b704f6e8d17b2d63d1dcdd077eafe38b9c650", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "9326163f3bf53ee625fa3b3183dc740085d9c949", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "1649f898d6dd9c8904fab6a7c1194a5c30bdb274", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "064c9bd0deddb764f57008b07c0d42af035c1a50", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "1fbb6d9a02e64aaa4c3f61605b2fac87f8dd8347", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "6a184d48bcf1a89a12f66255625340ce9cbfda92", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "437bf58b244741d6ca3857cccf1b3cc937be2e4b", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "a59b4c65c0a50339334a001172d62f06cd4daea7", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "ff5b1a557135086639648326c695597a8ac45ed5", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "3803741af505b81a5ac7c5bb75ea96280ee721b5", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "bb8f387ba19a3fabe9d59398185263b6448ad028", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "449cdd984b8e373b02b3b5fe727520d2bbddc64f", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "20d7a665b493f8b9816d56125e83928e41dcaa98", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "eca5eb57117afd2c43e7f00ed6908dabb254b46e", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "338f795a1e6d73ab25444f64fe7ba1d617128813", "version": "1.77.0", diff --git a/versions/b-/boost-align.json b/versions/b-/boost-align.json index 56e02d2dd827bc..1ab121dfc5c528 100644 --- a/versions/b-/boost-align.json +++ b/versions/b-/boost-align.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "c8dc52b5f1feedf8b14e93d23d6d6e719d269c0e", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "5177b06936c5fa8b9d9cec972047f877101a7df0", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "0c748701339f94c1721d1bb574bb4afeaa77af9b", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "a492a368b76501283ed00e87cff092703e9efcdf", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "676ef901af2b5986c71fb85788ba0a08979bad8e", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "6312ca6cedb77e48b123aa19e7ef98f5401b4020", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "b1e1ddf5d00f6698be329c809d1a29e59742a7e2", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "6dcfc6f69223f8fffff4c82db31be7495f17062d", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "be964fa6b68ed5d5cdcb97aa936a3cae0e1b9059", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "d6134309afc69966529d238e26b5d1efff320341", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "0f7de99375f1b48ca38bc570a85873a72cfab890", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "fff992a9d9857495d4c8cae44ff8e961e6e33a01", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "22825c46826b39662752e10219af0c341c18d2e9", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "2ba43f3bf67d3825a663dbb55e6210525de2eafd", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "5bc0b7d28ff47bf04454dde5d3ab3eeed5a113b2", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "1733cf10f4a598f29af7380a6b8226abdeeb3f75", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "5e733503d18c7e82478961e1155a40a95af0ab42", "version": "1.77.0", diff --git a/versions/b-/boost-any.json b/versions/b-/boost-any.json index c1150ccd6cb56a..bad7a57fbd9037 100644 --- a/versions/b-/boost-any.json +++ b/versions/b-/boost-any.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "37d5382bc7d0432e6a8f2a0537c8b554d3afcd86", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "cf915208320fd17f20dfc1869b991f9f74668386", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "a2426759d8f50ced5428ec22680f7010f7476ae1", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "0f30a88370b19a4e515c65ad0361345bdcd4218b", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "2f43ed76aaa6cda19c30e95260ad50cb779cf98c", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "8995a49c0eb70b1e306323f70d79dc5b6343bd6b", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "e1ee12b057e7762b98a5bd7fdd190480e1f51b0f", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "798ddb57d8d3bb7a77e424cd5d60f88cc4e6bee7", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "d24eb2359b8796ce2eef84f44b7315acf19b353c", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "ef6ce48af997915c4ca3789d4d7f9a2bf11a36fe", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "d22041ae24dd8b400c8cf333f9e585bf7ce5226d", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "1fb16b403522749afe6b8bf1b5ac5af6ede9c07b", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "cf6b746793770d578a4efef646bf95e1b029932f", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "c702b79eb10c68b859be09c9aedbdb1533972ede", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "6382a90fffe32ec65147d579e28f05604eaeef46", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "a28a3fd1ebf198563ae9e200dcf36f1fae3b1482", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "cf8bdfd2ce434a981620383dcc07d46c0a071ca1", "version": "1.77.0", diff --git a/versions/b-/boost-array.json b/versions/b-/boost-array.json index f14f775d7c16b1..0f784b28ab92c3 100644 --- a/versions/b-/boost-array.json +++ b/versions/b-/boost-array.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "6259bc62d2fa5980736b9365bb69fb242269b0e2", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "50b65644413603e808fcac7ac285cc2194269ae6", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "887dfc0b92387a7232cb1479e19be910521233e8", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "958ca3b702a421bfab7eeca019b4f0c068ed67fc", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "7feefc063119142cc2eaedfc11255fdfdaa2025a", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "98d20d502bbd77d5a4312254bd47d83c55b4bbac", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "58b11354551eb994ef8636b3ade5447ae6524a3c", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "8503faaf38485a913d4daf3efd2076b67bebdc0b", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "b26e79e8c3b69fb7111fe82632be1cca86440b65", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "7f15966c717d1cdbf9efb62fdf83b39ef043fcff", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "01bb82658969e7891dda3acba6c73462da7cc5ca", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "ed8cfc08cae0590e36e343c05c09fa1722e2305a", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "f1bc925ca852177c963e12c5da7e8a0b49d51411", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "d19880de99410f68c581fc1461458e502952c6d5", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "11a6869eb0c7b2efa3e92b2c36795ef9873c6537", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "8278959d326c44d846d660462556ab48361054f9", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "fb008cce0de1c6a34ac5222d03d7e1069d135dc4", "version": "1.77.0", diff --git a/versions/b-/boost-asio.json b/versions/b-/boost-asio.json index 655983326cdf4e..3550086c08852e 100644 --- a/versions/b-/boost-asio.json +++ b/versions/b-/boost-asio.json @@ -1,5 +1,100 @@ { "versions": [ + { + "git-tree": "ce757138eb7af2b214f21e2680814777b580b325", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "8a0e2f419238028eaac9481e8f10e0e7ca7278a1", + "version": "1.85.0", + "port-version": 2 + }, + { + "git-tree": "9f984cdf6ddd375d34c0f67e007b451e515a942d", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "2119d50063f8eb4f65bf2a79aef1e3449865e5b0", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "3e764cbc00a9d7c97dd27ed82146694433afb6a8", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "7a9e250345837a2083dea856b1f4c74c4d664226", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "0d4a6f6c528811c3c79ac046e738e5bab3db995f", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "2ae81c27afef052cdab26f3bbadb1154905cfecc", + "version": "1.82.0", + "port-version": 3 + }, + { + "git-tree": "12dc4325ca29b508676211dfadc95ff688a00395", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "8f22e5c36ac147808ab3acaa7782f590134ccbd3", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "78b9ee5bb522309c5cfbcba93332aeb5f386f199", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "44564a47bb01772ece30464d74f48603bc247c63", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "59b892b741d93356af3240175d8af5c4cd4b6270", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "02b74387f04c12ce55dac05765d0ef2d16e8602e", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "95a00e0e4990c9e8179a705132ce53e5f928bbb6", + "version": "1.80.0", + "port-version": 2 + }, + { + "git-tree": "5ee085e21ed4445f2cb442f39fd91c77f79a80e4", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "2879fa47cd2ac0abbd8ad8c1b38fa28605c45bee", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "39b1b86ce2c331ab31d001308b6a71fc6fbebf5c", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "2fcf35cb168a6a2aa56208a83fb71bfdf88672b6", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "9c5c591c857588b69354bf075019bc78ce4237bd", "version": "1.77.0", diff --git a/versions/b-/boost-assert.json b/versions/b-/boost-assert.json index 04e07585cebd69..c79fc509655660 100644 --- a/versions/b-/boost-assert.json +++ b/versions/b-/boost-assert.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "89ff4d2e2e735c492f4f186ef5d08c27a33af0b7", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "a776f9bcec97f99c681858373363b6c973deecff", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "2720690553c459c12a23f54451fe9c9f1d96164c", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "b9afa13b4b7930bf99e4d262254888d79f083eed", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "fe832ada2e45a096248738b11897f54498df72e2", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "058c55df927f8a8180003c576bb4b536a46cf3e8", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "9ab1404e2abab757e8c136c9fcd89fbca14e3696", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "f07d2980139502309087821ca9a78a9a43a766ec", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "fb48cd65e86476285b8968bf3d74c949b5c0f8bd", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "024f6e2d8aa74bc6987f101ccd02bbe47dedde8c", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "c8c9b66c00a61685b0fbb047139fe857e10a8d08", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "1dd5ab3583732731c85df206015e6943a0824a27", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "6a21b125be748deb6421054f1293be675a1dcd0f", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "6725be5e5074efec28c39594ca05acccc6f00389", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "2e4adae40df44f3927978bba397b60f18ad8e919", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "81b29f057d38140b3d812094999772d2d5263d4e", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "db6b88ce332c6752f87f8f0c098a832e23610303", "version": "1.77.0", diff --git a/versions/b-/boost-assign.json b/versions/b-/boost-assign.json index 2ba9d6427d3a45..2ad39bee0af1eb 100644 --- a/versions/b-/boost-assign.json +++ b/versions/b-/boost-assign.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "bbc14db5ba67af01c1ed5cfef0205540e008b51b", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "0874b3b14afb59a82337dcc883430d5e3d641353", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "d1f0076acfe68b86b8cd31249bc0dc7ce5d18c0e", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "50322445fbbcd27c101aca5848869c527237b8db", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "5bdd9000a8f91de7ab9d340670f5138c94d7456a", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "9ba196ef5fe0c4127c48503b32b1107c3d2575e6", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "393709d7b07cf6b886f9491aff50cbf1338ec6ce", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "cd60150bd194b26b188ecb47675c1ab7963049d1", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "e76da275d1922ac8cfc93970005a446c1dba3c3b", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "10372dc236c7754a077115666833b658c739ab59", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "f6bd27244f5a9b565e63938e2c0b36b5feeba6ff", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "dcd3f4137d7f3debcffa8516f343c776e347d711", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "39a18577662b5babbdc30b9f976e6485f09a4d69", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "d4ca8465c21f725287f49640fff191431b14d6d7", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "755ca06375958012e688e91d8ad79c40b20b91df", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "cb2a0606569a77b0de8264bd55d015698f413dd7", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "c7c391576a6f9714453c28f6b73ddcb3c7439827", "version": "1.77.0", diff --git a/versions/b-/boost-atomic.json b/versions/b-/boost-atomic.json index b16f499384471e..1fd45987467527 100644 --- a/versions/b-/boost-atomic.json +++ b/versions/b-/boost-atomic.json @@ -1,5 +1,90 @@ { "versions": [ + { + "git-tree": "dfeaafc296d789022fbb8cccbac524ddb130175b", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "0a757df91e9d53d76896bfcb5de135e584211d83", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "98b9c0f27deafd4cb4a361c0836368cc6f4025a1", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "ac4c6e568ba0f62a5fb9bf729de5b636145e1c11", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "d599f640fca933cace45c60f6b5967f4230c4f84", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "c51cf6bc71c21154cca513d51d62a8f31ad3dd81", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "05f82c6b7fe3a31ffb4f16f25eb98473131f201a", + "version": "1.82.0", + "port-version": 3 + }, + { + "git-tree": "4cd58a1ad5ec2c381440b733e3799368df678b49", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "ed19c1a3b7f57d00917b260e35cd662b28c1f6eb", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "d79273e42045876ab4d660b653b45c714ad54651", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "cd00fc6028c5c49704962f17ea74c9e0c0bad930", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "955184e1fc15d7cc95c2d8e2e84ef8189bff553f", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "2dfcadc05c238fe301801e1b41d14ea6d8f4a9bf", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "d5d96b1e0077d3b92de462eff308f45327774bb5", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "7981a7b10701edd0230d2aac6a058c5ba02f4acc", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "ba96ddc357592c3644f666fbc68d052ad3f0f397", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "f516c90064f41a11fe7627ab6a8ac281455f55cc", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "c5f02ea8b6555b20b6cc8901bdae9e9628086640", "version": "1.77.0", diff --git a/versions/b-/boost-beast.json b/versions/b-/boost-beast.json index 58a516bcdbe6c5..bdfb4d919fe159 100644 --- a/versions/b-/boost-beast.json +++ b/versions/b-/boost-beast.json @@ -1,5 +1,90 @@ { "versions": [ + { + "git-tree": "ce6db020fd6f96d0340dc88560cf05ac4c4402cc", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "2e82d81298adbec0073463c56183acb7ca22c4ec", + "version": "1.85.0", + "port-version": 2 + }, + { + "git-tree": "9c720df0ad88babb0d876d1e7bcc8c30d1acbb75", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "3aecf8eff147f9d314cd6178765c8e6c96fdb426", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "af410cf3f82eeaf8a6658b62e03b6a5496a0af27", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "4081838367ea27df0e58bb626e84c6637a5e0e97", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "cf5be95a5b8d706f46ad14f219b940a3fb0c3ef4", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "6fdb6d58154d59554f7f6f3456f715f847dcdf12", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "f6a7a34fa0113b74cf593ce3786dc6ad108d779b", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "5824f6d8e202c8763de70d7aad7855c705f16105", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "f771fad1234461dfc02462569dba435c64bfa94e", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "e841cde73ad67e681301604236229c3889f929bd", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "bf34371dc0b7f566e27a2ed6f8d45d5b9335bb21", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "fb8695c5f671d7837dba09787e38d260a0410056", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "f6ad5168ee3dfc5e23b7a47f2919de10b4070af6", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "bb0a62ab1fd80ff0dd756ad89cbc367b2f7c6df0", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "5cb4b3da49532ceefefdb4465c74c3490f6c40f7", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "154d8664ca78bcee263cec7a297afe36a4877313", "version": "1.77.0", diff --git a/versions/b-/boost-bimap.json b/versions/b-/boost-bimap.json index ff33f654cf2f13..48d1f36f2e7353 100644 --- a/versions/b-/boost-bimap.json +++ b/versions/b-/boost-bimap.json @@ -1,5 +1,90 @@ { "versions": [ + { + "git-tree": "579f4ea7cd9bcce4912db8d7aaf43aa1bcea5cf4", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "40c4f7b8f3fcdbc13c7ad8f012a3a42b0c44c455", + "version": "1.85.0", + "port-version": 2 + }, + { + "git-tree": "46d6c44c0d8bdcc59ba9089290d900b9e8ab4fc8", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "71a781256d83b82355e66ed4bc403fac3960ff64", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "9fe545ac57062447a0b78dc8192602bc97eb1fe9", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "91d9529e404f5ad80f0b021787c224a558ecc2b3", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "0c07fcb928615b411a23ca3676e62494c3304f31", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "630d6888f373108130d81a96b7a406387f8cd96f", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "de17313ae17a0044043195c76fd61a75854d4f0d", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "5fbb607f180c58dc6fa488e089d5e6d645eae75f", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "f4ca69ca926a9481dd59582c5fce575685a708eb", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "54e42dca3e699cf7080abdb0d39c3810086639ec", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "9fd02b9a62527744b1b2fdc5414bf19393388ce1", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "7dd8b2fdefbd75a34020e668f407f3d01530f1c8", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "c94058be2a3f7dd8a6b7b4999be4ca799c415249", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "4bad70254f12ab9642e3ee96980d834a485af5e9", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "d376fb04582a3ca0b6d14f991ae05965c7d0961a", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "726aaa86124fd8d1658f0813902b8bf9b27bb707", "version": "1.77.0", diff --git a/versions/b-/boost-bind.json b/versions/b-/boost-bind.json index a69492ff3b4a2d..a16d9f40824e5a 100644 --- a/versions/b-/boost-bind.json +++ b/versions/b-/boost-bind.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "4779d27870e250fbe6fc8b7a05d911cacb8aae60", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "111429d845df26d20305f3d7da0286840f2ab06a", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "3ef8c61e78989d8c9b7e57e63e23a4291822b0a3", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "d4571ed0cebb116ed898cab16fa3e91bc459f1da", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "5c28cd6fd3a92cac6eda977ec133bf611665c7c4", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "b846d10f5df5d2d6f27bd2fe13170cf3c09d8cbf", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "9c07d5ea417668fe7606ace4749f1577c7c2a8c1", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "1d9372948d3c0fe1da8965e76ded151513f16a52", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "97f32a43b457e26b8ee223c6c7201c995541d149", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "76811578923b601d64f43e851c91ac540982caa5", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "21ced38c9fad583804902a5379ede3cec060d0e3", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "47ec6c92a9da2049d3d9541f81aad9b82fddf140", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "e599d532e37607322d8f2b7167469ffd197b9b5d", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "8d42f0055a3147df3268da26432a64580f9bdbea", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "c27b66c8e195ce97685c409c0821f907bae83d80", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "165c77e05b1d413a600f66135276ba7e727ebc35", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "a1764edb5aaa4cf532e6e2d60d56420240dec410", "version": "1.77.0", diff --git a/versions/b-/boost-build.json b/versions/b-/boost-build.json index a660f3f6370670..44f6b618170171 100644 --- a/versions/b-/boost-build.json +++ b/versions/b-/boost-build.json @@ -1,5 +1,115 @@ { "versions": [ + { + "git-tree": "0f2bae8e3128c32b1f2f0f8468172c6770e7af6f", + "version": "1.86.0", + "port-version": 1 + }, + { + "git-tree": "5f1689cbb071cca699dd364a1e1162e5db66f08f", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "d3e9d9e7c1511a3f6b18237e12b697c8d1685100", + "version": "1.85.0", + "port-version": 2 + }, + { + "git-tree": "930bab4ff65933cb98b0f8205340ac192e5a97fb", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "5c7db1bd5cd38bbda8442ed052033f8586052344", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "3018c02ffb8dabb1e732402bdec61efac660cdc2", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "b23026b68d2bb711b73afd419b917a67f98677ad", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "bd9d972c221f9e5bdd839246960791cdcfe80524", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "c9cbed98f75a402e9f61689754e78e237f44988e", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "9d4a35930b7414144551dc9c2e00b31bcb0ca8b2", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "cf70df3193d092c65a4b3728a5410f59e9de1c9d", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "17ed662b7ab56c9dd93973417f6cedf6f6aeb55d", + "version": "1.81.0", + "port-version": 3 + }, + { + "git-tree": "40cd5234db2baf10fb0a2b0ec8b40771910ca045", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "e4e7001fc4602b7fc61c55acf2c3b641e79c7de7", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "ab595277c7760bf665a75b6122ee69330992ac3b", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "f09a642cf310a83696849a628942cb40cbbbb75d", + "version": "1.80.0", + "port-version": 2 + }, + { + "git-tree": "ec5ac2fde8a696a243092c4039f4b34b68091859", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "8b95798b4e7cc7d6697ff1eecc9261ba5d884828", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "a5ddae928a30fbcc9d5cb01906a7ee846b1b6c62", + "version": "1.79.0", + "port-version": 1 + }, + { + "git-tree": "ba4fbdacb5988e8f753bf2098ec257453c50a27a", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "cf970c17a4bf6d59deff7ce7e7eb98cec74b544a", + "version": "1.78.0", + "port-version": 1 + }, + { + "git-tree": "2c0d3c35e95f99911a226c3e736c0988f1139e51", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "d12d4a6f44a7356c4262b27adcda834fe893b576", "version-string": "1.77.0", diff --git a/versions/b-/boost-callable-traits.json b/versions/b-/boost-callable-traits.json index ae3883005c1f98..1afff95832cafc 100644 --- a/versions/b-/boost-callable-traits.json +++ b/versions/b-/boost-callable-traits.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "71d32d66d2ecffa25d7885b03396edc85914526d", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "f73505c7579aa77522ac4bdccff845aa2f58fd9d", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "c57f091a107c75c38ed287e733572142b5b3b6ae", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "604a8d6eb66a32ba5e233d50e3231196e181e3b3", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "50f3c519d696856ff1b096e8ac2428d737304d0d", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "0558d1c063b8c2137f5e44644bc4c47180f30da1", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "3d9d1716d512c7c972cf109e2d27a3c3cf4f0054", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "7d252dc8bb4e187e63ea76041f922a308a5b3705", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "58534b65547e8c89e93ce1ba96016c6bc3ebe186", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "c46d137a8dde5ba4966af64695f479ce54bd37ff", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "fcd3a47efd5a4114595d33f97dfe7e5e74e1a818", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "72686104a46bf88de1db1c2d941656f6224782f3", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "3b8d10d87259e5b3038dee8fb55f101387c0f0f8", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "f830b72c86e472095ce7c2f86b56e8a4ef8b0585", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "b3fb5022c86bf300e6a55e8ecef2ba41e9f6a39a", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "c65c1b67763ed69490e43430bc860493ccc19274", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "6c22b4049665b95038b8f5d1e1952434f1387f7c", "version": "1.77.0", diff --git a/versions/b-/boost-charconv.json b/versions/b-/boost-charconv.json new file mode 100644 index 00000000000000..3a2914eca8a756 --- /dev/null +++ b/versions/b-/boost-charconv.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "36a282b1f3cf5b22dfa824edbb3eca619bba5f0a", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "6d572b7aaf1c9642d35a39de8a2e00e82f6864fb", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "2c7c2e5515fbf77cf05534fd6344311b33114522", + "version": "1.85.0", + "port-version": 0 + } + ] +} diff --git a/versions/b-/boost-chrono.json b/versions/b-/boost-chrono.json index 058f458e4ebce7..66a7663841b0e2 100644 --- a/versions/b-/boost-chrono.json +++ b/versions/b-/boost-chrono.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "8373424c8cf90f280e6e32733db56fc23d4a3b58", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "1a5c48c89a8c669e89a60965eb2031812435f2a9", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "e6767fb8800ff117606a75e474255bff566f8eef", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "381c6b1335f287f9267b2029fe70dc6942fc38ef", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "8e71f32f08e2a8e74687c85beaa5d6aaa4753c03", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "b291334ee942d090c037f8ce5cb53874af9f3f8a", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "6e35fba1cfd226e9ae4e4a4b54a5b88c4103e440", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "6e550f08c345804346e807206cff87fbb07689c1", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "c9471308173e215c8fb471c891366bf8b8c05a48", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "cf0809f1dc32b08b842bea5df43136c7de0207d7", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "ce24028a0a84e6a89a7b4c8b3d900a326122aa55", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "bf98d5514278154cccb38074cfb3f35cc4d9cb6a", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "ea2397905d6361f15dca29c4d550d0030fc513af", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "af0a6c6a5b473a08afeacfb8590bd4220129ed47", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "dd168284e43a057a5775444c07f11f99a96053c0", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "d08ea7bd6fb471393e10507f0b6d27d045868f3e", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "f0143b4dd81e3de932ea886e69efd196452d81b3", "version": "1.77.0", diff --git a/versions/b-/boost-circular-buffer.json b/versions/b-/boost-circular-buffer.json index 0de7c05daa2599..b11903f129dc9d 100644 --- a/versions/b-/boost-circular-buffer.json +++ b/versions/b-/boost-circular-buffer.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "ff8f90c793df3b01e22b86fbfbcdcc27e6f4715a", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "9360cb5b837ee73c9cd18e9035459ae0806d8433", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "c8538d2c00b780914a266f283a48960c2476c814", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "02bbc81f2bb6d5758d87010d3189f293227315f4", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "0653ffae64a58892f055ef0e8d9af237295f7420", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "4df4c980c22d3b54856d81430343e6ce70a18521", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "9a08e079bd1986adeb839ac17690dbd1b0c0cbf5", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "babfe7cd25186b48ed2ceab45108cf5fd1dfc6e4", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "b98dd3e591b0859edcd04280b9b143899a1bb4ce", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "0b08a8a271bb97ed52ccb791286975dbd59a63c9", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "db72642037e7ceddc0f7a151d8128cb2a23753f2", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "ab5e7d9a47aa011e6fbad65cdeb6cf7d2c27c02a", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "9eb14aa8f4e4ff2381d886468e5fda1603e96d31", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "bf70dc530094e3190c4d5cc945bb452807cc150b", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "c8a97f3e2854ffb2064635bada5cfac2230a7590", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "239a4eff939919bbabf11914dbb656992e4e26ae", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "6352fb4c9b9e30001311015e28e712e9a2ef4a33", "version": "1.77.0", diff --git a/versions/b-/boost-cmake.json b/versions/b-/boost-cmake.json new file mode 100644 index 00000000000000..292fd288c7fbf5 --- /dev/null +++ b/versions/b-/boost-cmake.json @@ -0,0 +1,29 @@ +{ + "versions": [ + { + "git-tree": "453705350fbd0a8dbdbbdd06e8f368baa30b131b", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "2b1869c19b01257dc08348e1b29bcd7d5bad2fcc", + "version": "1.85.0", + "port-version": 2 + }, + { + "git-tree": "bcc90538b973f6b057014619e8a4e4da05d1f690", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "bb385ffc8aa74989b8198a777f3181b3a209451a", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "227c08b0d3181b3c10c9b27d6a9f0577a8f0a41c", + "version": "1.84.0", + "port-version": 0 + } + ] +} diff --git a/versions/b-/boost-cobalt.json b/versions/b-/boost-cobalt.json new file mode 100644 index 00000000000000..3c4abc3667c5b3 --- /dev/null +++ b/versions/b-/boost-cobalt.json @@ -0,0 +1,34 @@ +{ + "versions": [ + { + "git-tree": "d45758e6c62b46ef436df6cffe7803dfc3ba8f10", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "2c39cef923bb54a5c8230dea5b7d72586f4d67ec", + "version": "1.85.0", + "port-version": 2 + }, + { + "git-tree": "79da87d4b1e718b589d1c4b53f754f6a18269ef6", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "f5d4f15b0602ade0da4106e5610163477821bfe5", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "23eb2f7dd921c76369a4a61fc44b45ecec144ed6", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "b2b3e30a1a036742bcfb22766083cc1a4c0ceefc", + "version": "1.84.0", + "port-version": 0 + } + ] +} diff --git a/versions/b-/boost-compat.json b/versions/b-/boost-compat.json new file mode 100644 index 00000000000000..1ee9dfdb328edd --- /dev/null +++ b/versions/b-/boost-compat.json @@ -0,0 +1,39 @@ +{ + "versions": [ + { + "git-tree": "8fd908a39e31d22c5e3d6e935f8da02fa2706100", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "64e37b9d057642ada23b8aadbdbedab6c03c9f13", + "version": "1.85.0", + "port-version": 2 + }, + { + "git-tree": "eb62a3431e3619ec4aee789a035f57146e6fd982", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "118e8b2d28c3e835117f3210636b5e9a91f72dc9", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "db6f9fb9814337e62dd7fee4c3e63c3c5a1395d1", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "669244fa16e98132cd0141aabbd78516ba206fee", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "790894b29260c3cb8b2bd6be3bd2822e3118789e", + "version": "1.83.0", + "port-version": 0 + } + ] +} diff --git a/versions/b-/boost-compatibility.json b/versions/b-/boost-compatibility.json index 11473c87d3b6de..36e39e154340bd 100644 --- a/versions/b-/boost-compatibility.json +++ b/versions/b-/boost-compatibility.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "759d9ee433d2de8f9178040dc4099e80375730d2", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "d1389e94e2ff927075557301d5ab8dd85a9196c8", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "796d3ba09f347075474cd25e5ac516ff8d2c6b7b", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "48e42c012d8a461115929ab19754a91eae9afb12", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "b659e6ab02f5aa2ebfb395d9ba6e80b2c9497ad6", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "f503e07b29b61e3679b9efd9986ac64503808dea", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "8e3c4c3602abf9d5417317f7461393eb801864cc", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "5af14050c2efc2528e61019b46813fb1fe2025bb", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "694a9116ac59b0fb3f9e72a9608deb94e3168e84", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "6dc8c52f304e2ff5c4ad24da160a98bd01018c3e", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "fff895af43cee929b859e91eb7a8e0a8a65457a4", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "bbec272ea3402129d75a9974113cd7248f5425d0", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "a5b998028a2b65289a32dab8998d8a0fe38d9a3f", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "f07e01ce42b7ea0cbecd1ee38ac2700e69a4457a", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "bddfe133f937df01c2a18b9fcbd078538c195715", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "ee3bf146536f03c976c00fa704664f0576241f15", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "b2b4f365d9ee62baf2f0197bad774a679cb7449e", "version": "1.77.0", diff --git a/versions/b-/boost-compute.json b/versions/b-/boost-compute.json index a4d2f56365da8c..58def395e458bd 100644 --- a/versions/b-/boost-compute.json +++ b/versions/b-/boost-compute.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "ead7c778e74b48670a3dac9426e98baff7abfb5f", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "d602b4b8f059394968d8a2f857c6a35bb8c0e6f6", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "6b7f7be08b3af6a47fd469f518a97c0d764a4646", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "3f27db79eb5445f864bf4dccd95d496aee1c0bf3", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "e30139272ac79c1dd19e49319e5c9f791a225106", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "3e4c8cd7be193c46ac0e3633dd63b723dac6f363", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "b303d9b14bc148147d90600791358321c8f95c3f", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "d6ce60d84f6a1da95496e017153a19ec2a425d63", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "e275a197f98ac8e99c9c602945f31b7c9bf5ff77", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "613c3b5b6833d8ff9e0076dd428dafebacd7ab1e", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "70365e06e3920cb77a006bfe2a13588b798a7b5b", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "0ca15b40e4e53c5374c120f6a674f64db8ca5df5", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "852afd7006bc3ef2b5e162c10e80dd788024e099", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "4bc892c9f1c28371c4ff1f29b02b350e06dbc8b7", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "d4c84dc32e2d683a910deafe8df7631c36ee8195", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "02e813bc50d95bc901ba994faff7658f1ee5664b", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "3e134e562b5a454a46bf922f7633cdf581db7795", "version": "1.77.0", diff --git a/versions/b-/boost-concept-check.json b/versions/b-/boost-concept-check.json index e116be7dc80d0a..af829c5d1a2a1c 100644 --- a/versions/b-/boost-concept-check.json +++ b/versions/b-/boost-concept-check.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "e55931d7c2bc2b33a2cf49d6ced511e2e209bdd2", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "837108f5652827b449bdfb5830891aba380293c3", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "36c59f199a9c35fc69d4b1f6f57d580cb74e3172", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "b7f99270cf27840189f7ae63527a58d68da4e7b7", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "f1658ec6a2ab024a4d4c741ee471c0db4344238b", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "ec7a65ff7072399f9a926316cac0b1c6162d4ee5", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "e3db560953c33956f9ba0b19303f99e37d2c6486", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "c266d37e02d494dcf4c3623bae07775c2a7baa45", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "776d22b1210657b1a1de2f93d7c3310881671cb3", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "9e3997ced53ed93bff12b273be6d8a0adc500960", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "b1e5a4d7003cd321e1dc98f6b8212bbd8347cb3b", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "7b49c13a3057bcda39894f046d9f7bd6b8dfb464", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "86d725b5f62ce91ca280310245072fa6a02b4e7f", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "0beb38f9779faecd886d454778c8824f2a1b6112", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "493a1b5ae991a9c7b2643e649329de16bcd0fa48", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "d92ec4f75e3ca2046f7cc6bd42e394aa642dea7b", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "9bdfb3a9b14b35dc1833bc559226c7925096ff57", "version": "1.77.0", diff --git a/versions/b-/boost-config.json b/versions/b-/boost-config.json index 9b10718d98adf8..0f56583b284f1b 100644 --- a/versions/b-/boost-config.json +++ b/versions/b-/boost-config.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "762b2f284c48416310b5d05c4028716803ec2043", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "964bd95c86a98c1c8c5271b4a18e617869ce2348", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "9c454bf1a50c40d4025fe2ee6edc21720cf39c9e", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "ef049fd9ff833c531a72fed45a272bb1cc52082b", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "30ccc94aba0f43bf905a641c39e3cb991e882d30", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "26e9082aeb3829b11d9f0ea82de37db9a93b6620", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "b4dcdf4527bb037a6b6d2973176e4a662c9853e6", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "af2f41ef14357f44466182d783e8cb218d677b1f", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "ff890d416fce1b2c209ee4df8e773f0d285d0fb4", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "f22c9c2d371b0d3bad68760622075512860f5379", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "b26c88b8775e3a43b75f5d68f59a892c3a3788f9", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "3eb9583e17a214cd100678291a6922b0fd7c04fa", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "06e5221e416ce5e62edb12d860e3174388cf40dc", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "ca3f30a318dacc3dcab0250a9eeb37dc5b6b92a5", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "22c6532dcc9c24fd85febb93dc936e68c031043a", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "b4958f142255c3aa14f1f39d04edcc12b6262745", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "0f7b70c02bfb43bbdc8f62bd49c8a5339a65f48c", "version": "1.77.0", diff --git a/versions/b-/boost-container-hash.json b/versions/b-/boost-container-hash.json index 961198633273df..532744d38d8324 100644 --- a/versions/b-/boost-container-hash.json +++ b/versions/b-/boost-container-hash.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "2903e8d987be9e6c2d367298452cca9900f87f8e", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "dea487fe4339749373fbbb3d67d38bc07f25fcd6", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "c61380aa9e806ea8b8a4995b416001696a6707d6", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "1f1ceeb7eb20da473c07c10cfbc04ec87eebf10c", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "72beb1a98959147c41efd1661e10c37827313511", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "058bb680534a2375ec78dd366d9969967bd7570e", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "ce9e91e833ca8eb5ddb0a19df8eb7fa5c809359c", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "c5bde693ed8971a4e0ba6e22854386d4054898a8", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "1e889b9b867df555de44167d6b1ffcb8cb050649", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "54f2c7dd6ccb8e6c7d1e64a0042f8126777e8bff", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "91ce55c2cc571fa3f7dbdffbf4e1fd57b7e87494", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "62e57f66409c7e8fbf94b2956ef45276a91a4205", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "83795f2025ec2205c4e6db55c4450426e62f2ea9", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "8dc3bdcb7719958b2c449f9d0c5a4a1fee740638", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "09168c62619e569c7b6b2799aa39c361a1afff22", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "5c9a0efa908886517e39510cffaebe78df8bac17", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "76c8d3c46db10b6774d6986822e53d1140934667", "version": "1.77.0", diff --git a/versions/b-/boost-container.json b/versions/b-/boost-container.json index 99438e8de73e19..b2d4723c959d26 100644 --- a/versions/b-/boost-container.json +++ b/versions/b-/boost-container.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "5a0b49ee85c27c39ef25631cfdbd5d3ad1149310", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "b304461cda37cd06d1097cc5135c3eb178eb5036", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "1261ff9673aab60f032284e51aa4400a1fa88a6a", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "edb632b789fcb0b5dde9f9d7f7b13524c788f855", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "ee15da00e28be69db05ea8b29e19b6a6fc6ca132", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "06dc49b47f365371fd98d0373e46369bb97056c8", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "7d7b26fb8d896742162db28bca0f3aa2c4bf5fa5", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "54ac399bdf18e9c6ab8c9df4d81df4bd86a547d9", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "66f4954b8b554a045b06e911054e8b83d5bcccce", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "1034bcf6a037a9f630689ea7f993efcac839fe99", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "34ccff79d9762a9e50ba8707558e394fc62c04d7", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "a02bb7cd8d967dd14a8ecd2e502b2db42f935710", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "669c74604cc73bada702b35c5ae597428adb02d9", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "bacf967cd20a1da8f12491d458bd833194b5c8ff", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "c29fd09bc12ad31bd796ba90682fcbd242090cc0", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "cba0ae7cefffcca3cc1a0aec45ec07a66f6cc413", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "9af11f40e9b9fc2ebdda7e8885f9f49dea1923d7", "version": "1.77.0", diff --git a/versions/b-/boost-context.json b/versions/b-/boost-context.json index 4b72fec663bd5e..1bb4848910e9e3 100644 --- a/versions/b-/boost-context.json +++ b/versions/b-/boost-context.json @@ -1,5 +1,90 @@ { "versions": [ + { + "git-tree": "306765f81ddde7b69509b45679f1ea40e61ee87e", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "318b9cf0c7e496103c99b3293717a0e479e22276", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "1397a5da21d9696e3fa825482a56e78a021fcb82", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "d4aa1ed767cb232a6167687327320c0140249ba4", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "2c3c5db88cb7118fcde973914702e885cf53005d", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "2c0ccde97a196bd6c78f0fbb52ae9c8b33a525b5", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "b57cef3d65241ee8769759b0c4d4f54adea12f12", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "350b9696e8454d9121ffa7ad1c78d56cd378af58", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "6a382535970a62b1b4100d06187bac8f0010ad6d", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "80f5ddcc31b857b87df6d3dd0c0eba3473338229", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "b7ea0df8da6d42b8eb8fbe3511e27fa1fb07441d", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "bd57aaa24f8d992198cb1ad2fc02a10bf265a7a7", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "6acc7fc6639406a0ec333c52403b20ac6fcd5aab", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "3935b80eb6478299ca2215ec8f44bbaadb7cb097", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "24210ac19518ca74072938e9569a9e9f5b3476ba", + "version": "1.79.0", + "port-version": 1 + }, + { + "git-tree": "7abfa63f40d05e79743c416050ed97f8351d3c37", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "c279fc4862dbbc9b4c685d16d1abee7200f9dff4", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "ec8ceb582e4ef9936ceb840c70b90dfb20703f1d", "version": "1.77.0", diff --git a/versions/b-/boost-contract.json b/versions/b-/boost-contract.json index d71be84fc1208d..79968f4ab6b31a 100644 --- a/versions/b-/boost-contract.json +++ b/versions/b-/boost-contract.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "4c2ad20bcc097007c416525fde7835e76ac6e37b", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "e5ffe27270ab1d058dd83e7b9d899c01d7c1afb6", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "d840029119d55423cf986ae7ab733450db93c9a8", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "7841ad18dd8768d23a908f884928336134f7113f", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "e08e8686355f85e72f127468e9593970a3dc7d01", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "2c3cb8d14edbf7d1f72bcb9604c134828c52db92", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "128a5459bfe24ef077e6c55f9048115d5b62119f", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "2c9e501f72013d017f7422869c77eb6b20f29f46", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "adf8656d4faf6e9ff1b87681b7d085242fe430e1", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "59da1705a0acc9858789b96442767113c2434241", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "11e830350edf07dea194e0e29aa72250f0ab5a76", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "9f261851281b2f601cdd315563526a9386ea2d2f", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "bcf4aee9c764ed68d69c7c7c2c5fd4a419852707", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "4602cdd4b32f084e83f9c687d2aabf7aac5a7694", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "a07f53ab73b8b844f20b487aa039e4e019538d47", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "9fb4b8408822e7921fe3d07ba66184df6b5f16a6", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "c8249694c8d2dfd942dbb733f138997d00ce89c7", "version": "1.77.0", diff --git a/versions/b-/boost-conversion.json b/versions/b-/boost-conversion.json index 40cc349771ee67..60b90fd3414047 100644 --- a/versions/b-/boost-conversion.json +++ b/versions/b-/boost-conversion.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "41fb2eb0dd4203ced5645d9e659253e642d6848c", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "34504b14fad042076fd8a993fa3bbb68d7b0d587", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "10cb3d14697a464f78d2f6e37a81237644ee1427", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "939ff01af6adbbbecedeb2eda1adc34e20bb180d", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "e3b83a29a2979a917316fece1572314a0e7b2c81", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "45d1d99389896f68454518ac9e7d516c88598fcd", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "42db7c7d2cd967a8602ccbecd50d17ecc45c0f9b", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "e99972dc970d3a2229996b240d5dc4362204b6dc", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "644c76f8de63bc034d0214ccbf408889f84d82cc", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "9571b8eb4c9d1952899c01b198cd42c7872e7ece", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "34c149f50fb0a78cec1779362499b8829c17e0d1", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "400296cab0585642c48f0478a2af558bf30c36e0", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "b5014e3708747964bb4613ab1937bf1772705e5a", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "0eefde4b20dad197e9a868ade748b825e6ddafcd", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "1e3552c53e2ef9bcfa7159f2f06079c30dfa53ac", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "ed01d578d9964b2be3619cd7e96c6f65dc206275", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "5b591e95244353857eaade53621ee895b1d9e0a6", "version": "1.77.0", diff --git a/versions/b-/boost-convert.json b/versions/b-/boost-convert.json index 1bdea7dfbe6551..3fbc57d0838763 100644 --- a/versions/b-/boost-convert.json +++ b/versions/b-/boost-convert.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "2516e0220475cc65230c3f0c25aa522b730196fd", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "2c76109602f66ef85c5d4db9b7e952c8318d139b", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "6e97dc5b1bcd72696414ddb256e0b3de1f69843c", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "112b351e4ce2a7906fdd143a06d3e99d1fedc478", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "f2c5123bf4c682b7a729001e1e5d7b78c7839e13", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "7b29caca0f13ed5f5c083216a177a43984cab5fb", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "2d1a4418e25c86642d9382f57d1d5b2713bdd12c", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "54d69671454ab2db9d34730a216a5c5efe7d6f0e", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "fbe8594d66a5ff237bda8ca4d0f5f3ab8853d8b5", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "3982b106a915dfaea9b62c981c0b64dd5b1709c1", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "7e7f237bd7560ed24376b3af1c8af30dfd06321e", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "d5b61f490066929cae75adcd49af0854e1c62808", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "5caccf25e9d3a859e0fb0f9e4352805a54e4ade4", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "86c8d2de7e7f583832e134096f2c2a869f16e23d", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "3a6958bd02a806df5b7840c7a62908ca3d5316fe", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "d1315f49ac5c357e8a427c97dee2faa3655c70f3", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "8f01a746807fe131cfd83962df7faebd340eaef4", "version": "1.77.0", diff --git a/versions/b-/boost-core.json b/versions/b-/boost-core.json index 8c80cf3e048528..8979c72fcdeedb 100644 --- a/versions/b-/boost-core.json +++ b/versions/b-/boost-core.json @@ -1,5 +1,90 @@ { "versions": [ + { + "git-tree": "d978b719a8e14adce4d804ab5371e357afed9687", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "1a9aca564910d4927aab2a0b3edd5dcc92a0a484", + "version": "1.85.0", + "port-version": 2 + }, + { + "git-tree": "e6373bb9026feb45d6e8bb9e2bac42e1bf13c839", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "195375664be82cbc16178de90096e451de070d80", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "9017ab1c0fde091fbdf8dff47818e760d7fd56dd", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "9092a51e0f86979692442d98202d839240721e6d", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "736b9319578faba560f1bccd62ae53421c290ac4", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "fc2d558e972d703d21819dc33f5178d6bf529a22", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "f406b6bfcf32cb14d17d1df5e57a1162a2f2d703", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "dc7d8f36b88e86bd33b77fd98e30efc3df0bbb40", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "a01f204e91421776b3891acbf59eb8ba27be6d7a", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "90add6f6c34e2bc72ef0dd6f1fd68f167ab7882c", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "1cb4d668283c3afcec303499d7a84b221934b1c7", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "8f49830ed564594f4f35e99c73df1d89fb2b1361", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "c883ecbdff6a25a10471499fe6baa265370d8e80", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "a22eddd8a3121063f8ef94eb4e0ae64021d0369a", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "b6d811257b985253c87570f25a75957689b2b895", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "a56c8546828ee16a442a336c2385f9986f8c055f", "version": "1.77.0", diff --git a/versions/b-/boost-coroutine.json b/versions/b-/boost-coroutine.json index ac2aa2410db041..b9c3d9350285e5 100644 --- a/versions/b-/boost-coroutine.json +++ b/versions/b-/boost-coroutine.json @@ -1,5 +1,90 @@ { "versions": [ + { + "git-tree": "8e8c55041bd950518602014556a780c71e806470", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "6383b33dce1c2e67ed3b6e20b1a0c085f4f0b2b7", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "67d646701144043603143d87750c4de1629ef263", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "7f66e5f0d5758b0bfefacccc7a0a0837a17ce9da", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "b6c89a5afa462111f3180af3c843fbc11ed3fd63", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "d8a5c2cff3de497580fc8dc363ebc3e8ec0c9a1d", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "6a7abe4f1fe4283093d5eadbbfd76b9b37d188b0", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "ee6ae12c7b1d5dc36ced3db516336e96211d239c", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "c909b46a21eb931b15bad934a065a7b353b5250a", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "bb2505f3d476d390b0c3470ab09b4e62b7b954dd", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "866d5ccfdf84cdb3d744043ba986d30d14feca38", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "94c98a6b1f7526f9563656e6f2281d7121daae94", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "8ad73dc1827cbca291002b28510f60912cbf12e8", + "version": "1.80.0", + "port-version": 2 + }, + { + "git-tree": "58decd230ff2227603af8e6e95dfcf45fab3b032", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "c5c4a955fcf3465c0e9589a57d9c9f2df02eb3a2", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "b953ff17be4b4da2bb6b898c80b12c4185b3a821", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "d462e16750c6769375391d1e1c084999000cb324", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "a5afb95d36e4f0baa263193b00e9a1abc1f01454", "version": "1.77.0", diff --git a/versions/b-/boost-coroutine2.json b/versions/b-/boost-coroutine2.json index de4f10b9b121b2..ba4508e4cdc794 100644 --- a/versions/b-/boost-coroutine2.json +++ b/versions/b-/boost-coroutine2.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "98fb711f3eb857c129209b93fa3b4bbe604c23bd", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "6981d783ec68ca26b254781a6fd1c8d9b34c59d7", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "ed777098471dde332d38e838e54c3dcac02b2400", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "2d533d34a8a7e7cbffc7a048192f1bccc3e22318", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "8cf4fa067f24591f4c30e6cf54f44284a421991c", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "07cd3acf80575853ec41795a24803f75605f9c9b", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "dba0f9beca895b21c5059b07c9f173e007ee3cd8", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "7fb813154ce459ddd8d72dfa8cef59b033be2dad", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "52c774d7851dad25ca80ec7e591ea02741a79acd", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "c0cc6d4bdd6034a5026ca00075e1f2d767dff50b", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "99a6d5db0b45537639df50cb0949fe341cb0c9f7", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "71601c4fdc9da32a7b0226b54d74c3b5ca30541e", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "3ae4a6556eee9c00d542a9efc6a45f342c51732b", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "2b92ef8da314cedfeb9c03cccb9ed74c54464937", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "8f8442e8490a2ad005762566a768ca944e754466", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "d035a00380a7bcddb6c22f69c4743af4f2122a38", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "a8142422dd258f6a24df4ef3caf54b1d48096d8e", "version": "1.77.0", diff --git a/versions/b-/boost-crc.json b/versions/b-/boost-crc.json index d887e71303fc1b..37e7237d91b93d 100644 --- a/versions/b-/boost-crc.json +++ b/versions/b-/boost-crc.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "0f3bcd96355850dc868e79c13053bd1cd24c4897", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "eb9f33a0c9a4539c825e7ae3e4e123329c405fa9", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "c4e78a3474491b165f60a8b72d8387ebe9743514", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "8c5d6d76559beffb001712785eb9215f936477f8", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "7096b802ae31e2690189123f41f63d70d5fbfd39", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "b0f11a830b77b6a039d0d008a18b066d99a87672", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "04d885f67c14d286734f0904d56d57338a5e9d8e", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "7146ce31ceb0cdce252cdf556502fbd358eb30d5", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "bfeeb9c8d98a0eca5cdf3886bf0757d89828e4a8", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "12a7379b52e6f64ca68b76844b9c8c40911661d2", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "68ccd49cc544d3dc8d9c97c229e181bd6f515c5a", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "c5a56e557db50f5a2fe9ecf75e09eaf2444f3d2d", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "9477953bb7805e421b7953a86705771ba60b99e6", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "f1ffdaef7352c8861f62b6a81197f8f57433e471", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "5fd0f57c0b02c713c53ca56f341b904557fd257a", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "c1772d15f5d08e1f5e3a263c30869aef88a76085", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "bab49b15015caaf455e6b304a613fccacd501ada", "version": "1.77.0", diff --git a/versions/b-/boost-date-time.json b/versions/b-/boost-date-time.json index 75e5967109583a..bad7c55699e102 100644 --- a/versions/b-/boost-date-time.json +++ b/versions/b-/boost-date-time.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "1369ed0885ac49e0798a74ae9d74190658364ed6", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "a7a5962760b48efe5dd7016a7bc8a6983332b51f", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "f74823cc33c643986ea5b190b7c8b2899276e7f1", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "5c3aa069449627e4f8d1174d2df0fd21488095fc", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "7946ff22e340ee7a7933de620506a49f0c02e14d", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "d56b06972d62749f2f7c9c9950b275d4d4668bcb", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "6deadcbe773d183966325ed291aecaba15da86dc", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "d121b1d895d48eb80ef58fc6627e192365decfab", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "f3ff9fc6d82b63ddd51210f54a338afd739536e0", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "3428af10c812e17dc628b3744aa5ddfefe36279f", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "44d496f7831bd6103c71de9c677bf3f3ff68507c", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "3f37609d6608948efca198a2f132d848cfb757d7", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "0dcad93c43fe52b123c5e3abf8c3e94112ebe4f0", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "4d59467ccd3c5545e253f0077e97237d3e89e320", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "bc3460f55739fad6ef0e548bc084bade32985683", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "76bf565e940322a7d3110edf1b18fb4bfd8a1ab0", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "e2ca710f2484af3cbeee428e063a7e4269510110", "version": "1.77.0", diff --git a/versions/b-/boost-describe.json b/versions/b-/boost-describe.json index aaa95622c65b46..1127c6ea7b1148 100644 --- a/versions/b-/boost-describe.json +++ b/versions/b-/boost-describe.json @@ -1,5 +1,90 @@ { "versions": [ + { + "git-tree": "d2a4fc640014f7442932464d954ad44b302e41c3", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "bc47f93f7585264ea56a760693785eef00fc2324", + "version": "1.85.0", + "port-version": 2 + }, + { + "git-tree": "e7dc81f888ac1908c0bad3efd7b411982247f748", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "5bf8efca10586773cb73e95aad3cecdcff0ea57c", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "f2911a3ec80928d966b0918cafb8e0de9fb6542a", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "c6782cbba94dda30916f801d4b68160f7b6063fe", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "5287728efcb90f341cbdbf3e40edd2568baa3d98", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "57b9e703cb64af9391eb2410ef649a94cb34e4fb", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "631c0781e5719b44d906954a57f3a9a42bb37e8a", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "c52e0602d54045f5635b7b00215aaae4d7d13cbb", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "261e53ba26d72a19e154f649475a944f868acb86", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "bfc832aa947b09701004ab5ed8d0e37dfce8ee24", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "509fa12819b48eb72da8cf2600ba7f3b799bd54b", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "e69329263efe6a881ac4bd42a9ba24ae30da2b4d", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "91eb316df6588d70db583e6accf94f3dc79cb78b", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "f79ac02e597506f15b55a0445e9a36ed6cb22632", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "e08134869cca3b2d75247c226637b24438c489c2", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "399140a565739230fd9b805f047013bf42a2a0b6", "version": "1.77.0", diff --git a/versions/b-/boost-detail.json b/versions/b-/boost-detail.json index 2a2390bad36310..625d6ad86b0be2 100644 --- a/versions/b-/boost-detail.json +++ b/versions/b-/boost-detail.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "180c83d347dfd34afc12f69f5ca7d9e75b9681bf", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "c61fada41d8ba3839e6cbed4e90bcd12e44ee839", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "8b766b66fa3a803b677efde5b4c7eed9e4fdd9e1", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "1db9209044b151a7a78015ea7376219a19bff5e4", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "cd5519c5cf4815126782e82cafcce472281ced51", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "9a596ae27e05912ce6ac9430ad0a2c60b0874517", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "e6869735032c72f50cd3e5cfdfd08a317fbe1efd", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "ea40bd02426af4c5ce99995762c452e3a70b5189", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "174c7c69d063d88df48d2a6adf91a10f247bc90c", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "dc4274ca2fa7e6b2d65316758632a414ec22ad40", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "1ce171f115b7fd766228d49ec5bd5bffd042d014", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "ede70cdb2c0513ea534d447aa9103d4f4f945102", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "38ec0a4a84acceb11ec8388fe3a3da794ca91351", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "4e3b1298f453e933f97c2145a1539ed0763e52b1", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "65c1cfff48ea4ead86b7db6d20401fbfef4e1022", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "61c65e46d0bf619e44cf343d734dda6987f53005", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "57dabb22a4f9dfe872c6f007c9dbae7bf0847514", "version": "1.77.0", diff --git a/versions/b-/boost-dll.json b/versions/b-/boost-dll.json index 8fef2013dd5ce1..e9e71bb8c0367e 100644 --- a/versions/b-/boost-dll.json +++ b/versions/b-/boost-dll.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "8c4175d6784c52998e1196428b8d3f6aac13f841", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "b0f5f096f3b865a2897800fb9a941c187f3f82af", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "ce9523f034f84b6fda92de068d8b88ba241b671f", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "272d33ec62b49eb9cacfb34306ed4964dc6695ba", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "4ad1aef2db0b3f484236b4664e38e8eee0bdca5e", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "9458e313715bc4132ded9a04a5d991f9993dcafb", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "92417614fbe01c2ebdf9e5c57dca684fb899f9b4", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "6cfca57c17b2728555ca512c5912af0787eb067a", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "1afca5053a668148d101174768dffa95e676b9c9", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "363bbf3c6f24f93ed58881c0e4d2feefe7cde15b", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "9f35fd2ee5fb5ce13548abc197afff15d013e362", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "f8b1f5e7a3dd76faa313f6a5474e2e9095ef370f", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "7e6f9ce9e7881e9c45425000cd709593784a20f9", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "58b721d72a67913e4f5001269c25b3e7b8982f93", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "0243143e2c2bea8e3579aadfc735b56c40ad5491", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "1afc8f9b224cf9a2a1846073dffd93defdb46028", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "7ca0cf6c2a9f41257ad68442240ff7ad21b7e662", "version": "1.77.0", diff --git a/versions/b-/boost-dynamic-bitset.json b/versions/b-/boost-dynamic-bitset.json index 25de5316dfebc7..95234d5c3de543 100644 --- a/versions/b-/boost-dynamic-bitset.json +++ b/versions/b-/boost-dynamic-bitset.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "51d054aab9c1c50259e253c4cc02114d661a4f4f", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "a49924100c830ed0b858de5f35ba9007899939f4", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "7bcb408d3701dbd4a1ec515957f5879e9d052b8f", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "1e98b71a39b3e0d747e4cecb23b862e38633d4fa", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "9b8fa2fe1a46c7f77f890f83eb124e2f62d21594", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "783e8e0c0387114a445ad62dacbbb2f2ce910cd2", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "5ef863abb9f1f4ca201881743fffe4f47930b472", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "d350f9d70da182a7abddd0cadc649394fb144113", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "c274178dc34bcc511ed3bb313c7752be5619a75d", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "7c7d49f54faf119739e0c7ed84cc2c392b69efc5", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "3c465583ca35f6dbd4122826f79cbf17f4ae324e", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "d82539535f977dd260fb3f78aae9d4adbea127f4", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "6959c97c0e4308db06332a09d896712492e6d23c", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "288335907a0fe3dfaccf6bf7dc796d6a4e2570e2", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "e2ea8d91791c627d016c69aa73d36d3622ba0df0", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "e137dc4091824493eec9e6f9734caa71eb069874", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "e5b7742c115d4e4a450062e30b1542c6fe4aac5d", "version": "1.77.0", diff --git a/versions/b-/boost-endian.json b/versions/b-/boost-endian.json index 48caee343a1333..369ed3f46ee750 100644 --- a/versions/b-/boost-endian.json +++ b/versions/b-/boost-endian.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "41ac0a7472ea5f242d1df7874ff39f6c64123c0a", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "52bafc5c003a28548056bb672c9e1d3bd7700099", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "2a1be7e6b3a7db7c7bdc8906d02b719c413b8def", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "0499f5566874994dab142cd4af76b2d2b8275b86", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "169cba73d600248a5fea41b768f150a0ab23a1c6", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "5321b25b38e55ebe1bbeb54242c104e208b643f8", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "02c550779838f584656e52ce62aa84913040be26", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "6890ed08d6a7b2c9b54ed6150c2c73570cc512c6", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "4a9b5d84ff2016ea4d8d532a67528f2aed22308a", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "8b246e0a762f2dc709580f4d35d41c14e1ec6036", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "5343b46f064d0b06b990ec536b1ced43b803a680", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "5d449709e1b8a989403a1d891e7d020c53a1dee1", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "7522ddb265f1755e5c6c1e121291788353e4253b", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "a7e23bb3fd93937ab37715ea481e5ed84b51f37e", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "24a5162a544f251df6387a1d5bb70ba53497e4c3", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "87ed62b8b7fba9caadc1ffff99abede02e0598f2", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "6950c45ffb4e112920b6dd50c1cddde07b30d61d", "version": "1.77.0", diff --git a/versions/b-/boost-exception.json b/versions/b-/boost-exception.json index 831c9464149f61..44410dd6c7dcce 100644 --- a/versions/b-/boost-exception.json +++ b/versions/b-/boost-exception.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "3c99e4a65f9f64580c5601219d05dac6f54bc0ab", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "1100df29b786ab9f013202f798dbdab10fe2e5d3", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "6b90844360d52f77e060176e0ba59c2b6b585bb9", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "d108a3d14f48bf9a58625bfbefb7b711d7407542", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "97298e7547c5c7b015c8a55f46428f50fb53753f", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "8dce130433b2a5fc44ee576f9b39bb97d916661e", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "8eb353034a1a470c5168e00c6d97e5912f7c4cdf", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "ef4cfcde16100435562ccebf90edca8cfc4e204c", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "4fcf9d94526da9da3fb012252c729d063f3327eb", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "eae566a04e22f1d282cb55c0afa3d21b9e376208", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "89e4835134ce3242e172597df6aa429df945a047", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "ef4b60701a0eca38a39a360f0f4832ceb1eef3e8", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "bd131b74e6a6bf14aaf31aef22be644b4fa57a3a", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "fd7bd1fcdb784fea657d9a4f068253b5d95ca333", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "6d7250e9806392fc38643fb7c069ba18fcec2350", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "02b0e67c7d9b5e26b1bccef1fba3152fe7ead595", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "d60d712de012657effc2314a5d8781e453097129", "version": "1.77.0", diff --git a/versions/b-/boost-fiber.json b/versions/b-/boost-fiber.json index 14501708735ae2..e5b0eae049625c 100644 --- a/versions/b-/boost-fiber.json +++ b/versions/b-/boost-fiber.json @@ -1,5 +1,95 @@ { "versions": [ + { + "git-tree": "4f3698c5579c7641f51dd8a521c4f635d96ceadb", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "371f6f4602892bd6b3539d89442fe1ff90723877", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "cba8a5b857a4237cc655d1fc76c65fc592cc85b6", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "ecbafe38747c24ddf32affec35e908212a52d737", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "8fa513e456d7d9a92feed2cdec9596d8e07e8055", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "7eadb0ddae816cfed4358cb08ef2bc90c5c0bfa5", + "version": "1.83.0", + "port-version": 1 + }, + { + "git-tree": "b90277a937de15b5f0701db9933e8af38c399fc2", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "d474f76c374b4e212ba4e855c8c91c97a76c9dbc", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "73b5c84611b826d9526898701fac02f83e305c63", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "655088a9e6f77757e30f0fb0375c80e5cb76279f", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "e7a28ac75f376fe846ce57d52d5c3f07f72ce755", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "461eb130c86f8c9f7840eac6b3366f040e1d02c3", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "d64cb3b827e4e2007385ff63276e70b2a6c02562", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "2f4bc44fe6c4a0c24f2b5245f555fe9b24c3c23e", + "version": "1.80.0", + "port-version": 2 + }, + { + "git-tree": "6f4c9240d299fe5785433544a022cf4521fe942e", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "624a28b01820a368ad83f7e3bb6442706e1dfcb6", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "14418cb69ecedbf80d7fe87779fc7028db31eefc", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "7a37b52940402701703a4b91f1360b414f6afe02", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "c6fb978600b4d0ec5e62111f587f537d475c95a2", "version": "1.77.0", diff --git a/versions/b-/boost-filesystem.json b/versions/b-/boost-filesystem.json index 621e9a2a025b50..b2720c40df424d 100644 --- a/versions/b-/boost-filesystem.json +++ b/versions/b-/boost-filesystem.json @@ -1,5 +1,90 @@ { "versions": [ + { + "git-tree": "0881f9150cf33128311d294b431d1479b545850b", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "ae5485aa92466beb615ee1b9cc3d6f380f63fb7a", + "version": "1.85.0", + "port-version": 2 + }, + { + "git-tree": "e818549cac272df25266218ff3869223dbc8e39d", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "ff9e6c4daeab1e9eb2626b5a1ccbb4cc066e7b1b", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "6dbe48ac5428fe414113ec3a3d9a80a852cfb4a5", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "a85785c880dc278413f4c9c30a64f21ca848335e", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "f6419d12dfeb0010846e425acd9e5b27772e1ac9", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "0ce33f60fe1f1bca7cabdf40085a6f9fc50d7609", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "9e51e733f0ddb9e287a6ee03bf9cbb1f3f65f081", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "c08aaff5a0420e89b7c31aac9fb993c1151a483b", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "291c2d3312f0513c7f75fc088dbf4b21a7a5a3d6", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "da70e435e323a9a291f68074c9e5db5f3d78e0e6", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "f7407d93578609dcc53ab0dce2fd1b6a7fb10ade", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "253643753293f6813c1bcc874cd28a6f3cc9ab2d", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "77d8b1f9dff7eec868e4c8007c399bb123d80a97", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "3ad60cdb4b5114cda754f4b15d96d72c9615b271", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "f7f7b3bf671f25f6234f81de59fb5dc169ea2480", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "7665f5ed27513a334df5b6051cb72d076ce626c2", "version": "1.77.0", diff --git a/versions/b-/boost-flyweight.json b/versions/b-/boost-flyweight.json index 4f92215d8c9ddc..244b6be08e5b1c 100644 --- a/versions/b-/boost-flyweight.json +++ b/versions/b-/boost-flyweight.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "b009b7937daa96c41f1afbba2693f507471e47d9", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "d10065c7d8c8d4a3b3af2c1986930ff4058ba8f7", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "d9e1415d09c0e261b2f382cb1624aae0ccf88b1d", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "ab3920f78e5a5f4b3e63f5b0bc1959e6507d54ad", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "dbb2cb540041ff638b5167c378d6dc17a434d23e", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "ef75501a5a95e34a23f190e5d41792311f4b29fe", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "8ae93d92af918047cdbce0acb4e28bfe8b3917a4", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "2145b81bf66231976f183f4f45084b70e4cbdc90", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "1bec69f27d7277ac4a0d6b423a53506bce68419a", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "e579a7550fe58a6a6f43de989ffa33a961e278e4", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "315f94f26d5468fc70d6ce3d20013e8d5231ffee", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "3e947368e6c5e21a77104fb4739c40bcda49f5bd", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "6769685902151b1d6e393cc08bf5af3d13d298d4", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "65fcde6f347e7f0100ef071d6f943d5e1f05790b", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "f6e8af8c3f7450a4e32ca807cabfb4197ac7a0a7", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "899fef7cf017fd090f2e96146a425e7376320a4e", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "3c927df2056a6603e5bdc20673e22692183fd92e", "version": "1.77.0", diff --git a/versions/b-/boost-foreach.json b/versions/b-/boost-foreach.json index 14e835af722dc8..837fc99b64e419 100644 --- a/versions/b-/boost-foreach.json +++ b/versions/b-/boost-foreach.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "c1b6a769f2aeeec424ae03e7ca63de0ca4870508", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "efa82f09a5590ee416aa5141dffeb908a070f685", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "d496a4be912623f13a0b0e590775a1c2bce4f0bd", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "4ee0145c968e3527784fa7d427cac57a603b3315", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "2e9fa5e50246a289f352f1cbdc225b35f228339e", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "10ddba1bb2b7513dc1459166eed1f4f1b25aa49d", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "72825aa9cfe566882f23cb67085eb649be57ab57", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "561a41ff688b0ef41aa59abc13345b228ae8831e", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "24fb0ddfb7c99858a59c7ed443777a02e37e68a0", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "ac60a3ecf1ac0d0148ab8f75761dbf8fa2994853", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "e98779847a089a961c91dc9e6d8bbd9238ff9e1a", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "772b57dc014df36728b81e4ccdee15abe2b57677", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "79898d070e211f5e82883529d4b2827409d31b43", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "7b86b0bc008ecde19a6e4c83aa2365a197dc214e", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "e8948df8fb3d54f6bcca0c5fee45f13406683a3e", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "468a08373a9339026a955a01faf3a4bc6fe0ab11", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "95983cd3eb11558e24d1f63a68a2ee944da927df", "version": "1.77.0", diff --git a/versions/b-/boost-format.json b/versions/b-/boost-format.json index 6b3d15127219bb..aa241da833a357 100644 --- a/versions/b-/boost-format.json +++ b/versions/b-/boost-format.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "fc97535cd7b1d11141b1675caf75d51a3a0c269d", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "e0cf34b3c3d42e1badd88075c15338e612dfda95", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "62909cae5cb2e18ab2bcf22310ed3814708c42e4", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "514a2f986f4826932631082767976c26bfafdeb7", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "bca3fb74a1f4a9c93c6f223f91f20b905590fec6", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "8b4697f0c1e3cc49f4bf08c12b748544c132db48", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "82fdf64c7a6daccebb04097c2264eccd4b753447", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "9562adeb23d81f0bfb89adb5c920ead09b302ec5", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "8e1014808cb10f2d5396609b3e5a771db46c14b6", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "873acebaf40c0c9e0483ae74f0c9bb3b3c2e5d7f", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "d1e0529c9fbd4823d77dc120c1a3745c926aa395", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "d79388d7ec021942397b7a449183c93e5971a012", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "8deeaabce25837a416a49e0ed89f9ba7785a5609", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "8b8465c0970d28814c1162b864c02f685e471482", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "365fbda5a5fe624367c049e4c118945c0142d0eb", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "691157617974f33e41ef5ea7954d590a8f12be5a", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "15c6449aa221b65139b38cc6c6ef91f32e2d2b1d", "version": "1.77.0", diff --git a/versions/b-/boost-function-types.json b/versions/b-/boost-function-types.json index c2d0dcf553d949..a1584848c1edc7 100644 --- a/versions/b-/boost-function-types.json +++ b/versions/b-/boost-function-types.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "13e0fd21c39949a145a90a001eb01d95c10e6cd9", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "f104ffe8e18e3f3ee0a80d8e5bf80b57933dfe2d", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "92c14af0950ae5db39914882838c80a8e33cae5b", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "63b92c39bea8b34d91ed946ccbb9fb86979c5fc3", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "ae386f84f582456bae7c4f304930bad8cb3c3a43", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "77f27d230b3784277075862bba2c282977ea1f0a", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "bf2f0ad26a4cfe85854392e5579bc75d7a4a60d3", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "1da109d6c53f82fdac9bdf6efa17af3d47dacb54", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "16f002900e349d02179d662c54e35e4ba95bba4f", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "c88f49eddde9b3bf50a57e13d824400c9a75a7b4", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "425354f551537d162ac19f04bafb1b165dbabc79", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "ebff54d6ca2dce2f2b5a3cdc9a57a7bd2d972c49", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "e4562bcffbb698917249d0155ce70c9598311cd8", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "d09eff712efc437ebb49cc7dbf5644a641be3b31", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "53ad331d5cdedab7b40eebaf15d9f8081a5d9eed", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "94d4dd365c29ad1be2d148f3c4cf7857e3ac1edd", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "7675770af935fb375c0350c7a5fc561f9bc31432", "version": "1.77.0", diff --git a/versions/b-/boost-function.json b/versions/b-/boost-function.json index 9de524d1d9b369..0b5826e9c6fc1b 100644 --- a/versions/b-/boost-function.json +++ b/versions/b-/boost-function.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "6c633bb26db4be00c4d2aaacbb36493cce90edae", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "6a43002e49ebc7efbaef90a797ab79a73a3c914d", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "f10fc77f4c0597464acde55225177170865e48be", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "cbb491314d064cb3ca01d483ce10b26b86b01881", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "8c317e18c45ba2eac464e2f8e1e179356183c063", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "f066c30c0481a6f75452d3a1372ea3425adea156", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "9dec477afa8d43d2a95ff257974e703a5fe7835d", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "dce4e73b054f0b611a8d1e0f9efc9dd8cd79071f", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "68d39a15284d4d7eeffdeeee4364b496e262cf39", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "137f9eb9242e4fa1aac35c77497f39b830d74943", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "56a76ef3dd958d592be87023c7b4052852dc76e6", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "e303ef2b9601710383798e0889c3d952ef1b4f2d", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "b3d421112777238fe9150fd401d81e7578d70f36", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "4a3017f165de9e889e161ab353dda4439cea8169", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "7057b960d6b790eb30f51ef17d67aa958230e100", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "74d9b1e1e9951fe6f6f4eeccddf8c83ff1280462", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "092af2f7e20c516fc02e8a39d8887f2301bb1fd9", "version": "1.77.0", diff --git a/versions/b-/boost-functional.json b/versions/b-/boost-functional.json index 68497a74b45c5b..322ee468e1c323 100644 --- a/versions/b-/boost-functional.json +++ b/versions/b-/boost-functional.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "1a149e24ca42cbda3040781ebb9a4a634ccccfba", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "985d85794495e615e94e17c007055281850498e3", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "c944ab99b7e422142adb594b89964a20269b4904", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "76f22f7381a32363066817bf9139a91f2cb764b0", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "76acd323a71cab65354fd244a1b6cd5d38950b8c", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "aba27201e0794309bf68a44e8727378345927b38", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "fd5a2fb579f798abd7b8b0c118543c92ee0f0774", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "3c428ee1b1238a5fbf337fd549d3b3c3afc17930", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "cd3cfc8c7f87e4f36bfc5ec9e6309349707370fb", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "2d8468f160d82e789c30d2431053324c0885d4de", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "568dcc4ef1b8a0e6ebf6a9fc336457e06e93fd41", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "24cf5405bc2dda7e87cc98f9498820f6dfee4ce6", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "2c8d615fe6316c17e838de35cae546196767b26f", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "43e00a8e09e0b0fd501b8a7b8dacc2a189a0c587", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "d8fd2c72eb4f3c8d501a44f7a5f8ecfe608cc3b4", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "5c46623f2b1557b35079a69ea27aa495f8765f26", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "26960fd1a5c5ffbb7da0d747f43a61a27d8825eb", "version": "1.77.0", diff --git a/versions/b-/boost-fusion.json b/versions/b-/boost-fusion.json index da58b9f71b37ab..38f258c4ac1c26 100644 --- a/versions/b-/boost-fusion.json +++ b/versions/b-/boost-fusion.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "7fca552578f4e09ce194b1bf0d6f25bac435907b", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "2defb3e586f0a240aebb673357201d5a3332da96", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "91d988664a3d7b4ff92f2b22b9907c04f004d066", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "4156ff5a8c7aa5b2ed9d1a5d7a76c5b470ab3b53", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "108d3dffaa34eb6e0102031318f6f81dd4e6af18", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "0475f7220a08b37bfbea03b873211f9ea76fac08", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "b150ab085d5b818a169fc105e3b096bf7493e5b0", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "0c32122b9244e041424874f6657451169ab9522d", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "bda2444dbc209c5096c98f45d83c7185cf5d8c20", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "fb97e9c73403b64b7bf75665dd1077069cf089b6", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "f88f929ab17003c8de9ead5881a7e4b564ded6ca", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "3a038323a5ee8559149b3805a253d76fe4a7730b", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "ec6b28fe668dae192e851b799e9cd5b7d1c21690", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "4e5e11a2bdcfb620804b47dd24f09145d67892e0", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "10c27fdbefb33b57367582e1a8f262db9d94d807", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "a7c7b4de2e38c3436c0781ccf4b56567b8c2ae61", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "e33ce42cfab1b757d73fc0c4ac7edacaefd0be58", "version": "1.77.0", diff --git a/versions/b-/boost-geometry.json b/versions/b-/boost-geometry.json index df15e0fdad10c8..ed755e571e8933 100644 --- a/versions/b-/boost-geometry.json +++ b/versions/b-/boost-geometry.json @@ -1,5 +1,90 @@ { "versions": [ + { + "git-tree": "23f3d606087b2bcac52aba2f817430ec3272d839", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "f602131722e97e2503bd8a304f004e67e1125467", + "version": "1.85.0", + "port-version": 2 + }, + { + "git-tree": "7155a69c6f5916d97e3da8cc3cd650ff5a1bff33", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "0b3eb979ec0a64b6c9c6a2f301e011b6eb2fd8ba", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "fa1e090ea1ec177d0cddc4907f1605fbf00b69c9", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "9c52ecf6eca52c8bb966f602b037d2ea8df66ef4", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "24efcc4edf764482c058e70a2ce8ab500d40d1c2", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "d4067f77462e9b8846d9a00471584a4d8ffbb857", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "76191c9a206f916d0bdb9619bdad1499c426741c", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "72bf3411fd298c17563829e75df8c40cea2f9b9b", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "dc16ecf82aed90badcd28666763e8928f8712e4f", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "7790464f19a4bd577b9b0603e5b1a152a9417bbe", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "ca2580182fa5c9ef0bc1961ee4b76ba58c200b29", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "c2cf914316e5568a4765a8656e338b476b6e149a", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "22ed5ea6012738b12286b239ddf1cc9606e3130a", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "f05a5d0f5a5889edecadab0ee49a1c13dfde0898", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "a4c2fd98bc285d97c11c99f5f631481fb534efc4", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "96d1b04d567acad7c4caafc869fa7daa64968aac", "version": "1.77.0", diff --git a/versions/b-/boost-gil.json b/versions/b-/boost-gil.json index d81ef54fea3641..d28362547a01c8 100644 --- a/versions/b-/boost-gil.json +++ b/versions/b-/boost-gil.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "3374bd66c7f74a66ffe34804df583db01eff4e03", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "462119ec244012ba5593322b0592171ddea49138", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "794dba3523699fc92b203229a75e89276958b9cf", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "5b2a070c57d749ab6044eff71c2413ef65a0a37d", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "60b79d49cc7db6de724ea225d18f4a3f5c087d2a", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "0a3fb8c8c6ef3abbe51fb887be13d94d8c4bb983", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "f8dd74ecbae93b5f746fbe67d895a00cfeb9d231", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "ccdfbbf147613d95e1a7fe3cbdbb56aa91dd2b86", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "3ea5df9a76efbaa25e8693cced4b310ae9a3bcb9", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "8fa5151d0d17d7fa4d3a9c649ad83e77ea37de72", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "adad1e520a4e4f0a76cf1836d98899319881ac03", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "953e79f3ca492f37ed2a849dbce7fddbbf4a7047", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "87ff21e8f7a36871221406d9ed84c59832680567", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "2bec2e61c5e01a16e3cd4ca47449aa15382931c6", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "fe36550466af98298217643a09ab451aa6a0b4c7", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "670859cf36c60562fb5036af7d087df936234c27", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "d6607eb56e9f61771dbd6915d2e5d4b3b2976a7e", "version": "1.77.0", diff --git a/versions/b-/boost-graph-parallel.json b/versions/b-/boost-graph-parallel.json index e2b09a00a46e10..f8c124402e360b 100644 --- a/versions/b-/boost-graph-parallel.json +++ b/versions/b-/boost-graph-parallel.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "d06253419ac2f8ed0545d417bc62956e36add681", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "4e69ee5efa2b28da7041ad1fbfa77c25899ce01f", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "448013df11d1a1576bd1da3465ae9059d8e7b9e8", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "946273b6d6938086d1978da56809e3fd09ffc3e0", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "186c9274336af104cdf417d254641ae280b84764", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "bbc5095f32aeabbce7ade0bc7708f44f6cd65718", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "f43ba5b79672a46bbf62a53ad000a7e7d14c041b", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "d3c482730f924eeac5f136bf8bd6cc87f8866ecf", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "8f99da9c560fc02f2616387c452bf488df834c96", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "5a97932ba05361ac44593d13f4988f60cb504674", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "2c9a5ec4471d2d3e9ef827b28ceb021a17dee1d0", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "ab4e5ef44d89ddf30bc8dedfc13c2ba85470a899", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "eba27831af655f97947aac5806f4659943ca9c5f", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "2246b1dab26eb279a95fe40b6d6f225b2469d8cf", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "3a95f6dea34a2262e22d4b94404afad68c603a8b", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "199f9b8209f287e7e9865e07b074d618c28db410", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "779ea0573b2c460496e5014b1776f8577d9a9dac", "version": "1.77.0", diff --git a/versions/b-/boost-graph.json b/versions/b-/boost-graph.json index 653b130a7444e4..9633afe0243e9b 100644 --- a/versions/b-/boost-graph.json +++ b/versions/b-/boost-graph.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "0af645ccee76e0e72ecfcf7eb14661be5350e0c3", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "4acc26e2e8c49850f56821f30e60092a41a209b7", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "07ef1b58ff41b08b2b926bd4230280bf6bd552f9", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "2d0e1bca7819582ce1312bae2c5e7ae1c9bc6a44", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "d88bd441d8170ad7029d932c97557f276cb283c2", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "6647f8f09420268c0381bf2416492cedcc348c73", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "1eb9dc73511a762ae15c9a114f1ccf8e43c73bf9", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "e4d430a0ca0203e374d282579904323b025a7e3c", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "2f835213c3acc49e139e652da9a3f3e3585fa195", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "18151e6663e64a1bda78ba949dd5dbf882ae5469", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "1bf0ca0faeaf8ec424984ce8f957e0aa57c9167d", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "3ef50980ea1bed35297aeab87963e7fc0566a6d7", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "133fb1954fafd50e84cdda7e7e5ce08a1ef34403", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "d7fd5ed599b799127c74238c346fbca9be455009", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "a0281e8f5b61dbeb2daf3b3634744daf9c58cdd2", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "f7b342391819ed511280f8ef46b7d52a399f2648", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "8c7974cbf961af1d5eabeb1047f2dd16e087f180", "version": "1.77.0", diff --git a/versions/b-/boost-hana.json b/versions/b-/boost-hana.json index 4a4d4721856851..787ce9fe84f896 100644 --- a/versions/b-/boost-hana.json +++ b/versions/b-/boost-hana.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "7976e077b0ce2a7c49061487f646c1cecc47d98a", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "f2c00b2bb8c219f9c55028caa6deeaffa8a260ca", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "6204b83ed0d3b8e485cb9d4b05ff5d7ac4b0e84a", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "740dcfb60fe096804fde86ce1a3208b40f59bf47", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "6fac64afc8b870205efaf625ed00cf2eaa196bfa", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "75994d0511e21fcd96453070b4bfe104c76e8a21", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "5d7127090cf4379d6bd5cb94f6c24567b25d5213", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "4d522c647f882aae8c81ae652b2a5d23d8422f09", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "038723361793eae30d853d3b03776d5e627fef5c", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "89a6fbc04abf3095e7d74157d2e684c208cd670a", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "b81b9ec996fbcab2b515a2327578b8a7032aa06b", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "dc78ec769a8ad8c81f9001095a5987306d5df4c0", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "bb5ffe4a8f02f762efed5aa2fbbc9227455263b0", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "dd068f8c4347e0ed41005a78ee39f98ecf79c441", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "2dda9ed4c338faef5a98ec4f713b71976c4de9aa", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "3ff9854bbad812cd23a4c79b500aa8349fbed192", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "e24bae813978df09c5b5718b6c4d2aa87734ab2a", "version": "1.77.0", diff --git a/versions/b-/boost-headers.json b/versions/b-/boost-headers.json new file mode 100644 index 00000000000000..8c252829a3fccd --- /dev/null +++ b/versions/b-/boost-headers.json @@ -0,0 +1,24 @@ +{ + "versions": [ + { + "git-tree": "c01b4dd603c01edf1940f0df3f6498f51c8acda1", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "dc074dbcbe8adaf7970a9dc92d8c385267042e0c", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "6cf27bbd161498aef1c033c3b3951b27c6f430b7", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "548632bdeb7c8faf005e0c1209d6532d6742a929", + "version": "1.84.0", + "port-version": 0 + } + ] +} diff --git a/versions/b-/boost-heap.json b/versions/b-/boost-heap.json index 02f47838fe84ae..22ca45965c4071 100644 --- a/versions/b-/boost-heap.json +++ b/versions/b-/boost-heap.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "0ceb920848e00ea03d8932b546644bbff367a357", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "43e4e30e82635be9bde96043d9e128ce136f26cb", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "8d908fa2a18f4d6694407105146533d59e8360aa", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "56d01434c55a6579e2d03d90f420c5c442be2416", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "6e142c237b9a50af6eea02bb60cb8e076b3cc017", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "c7dc9b45d83570bc364f2eec2caa556ca1cbb5a3", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "910fd038954c6cf54b603c02fca5fb21802a1758", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "034d09501ee6199f969a158831419ae14853e73c", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "ace4872c79b9dae444e5b0805637cb4167763643", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "26a032a3687e89048236a9ad8ce14514d4653121", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "d9e913dff50fdfafb35088d7024308f05a9d4552", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "1f9e0d60fbdc06ec05ff0b8eb2d25d5f3bfabe1e", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "2bfb87607aa7a01941233e4fe118381417327e04", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "02f31ba7775130e875051cd5f5cbdb76066ff0bd", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "3be349686d19ee7b297058dfa2d8177bf22cbe9b", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "76c4ec7815b1660fca1c1efd9b9c0c2f034ba4bb", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "d9947d5f31b9c87f5ce1e759e02099b1949502e4", "version": "1.77.0", diff --git a/versions/b-/boost-histogram.json b/versions/b-/boost-histogram.json index 8419587845c96c..e8b05ccb6f2ddd 100644 --- a/versions/b-/boost-histogram.json +++ b/versions/b-/boost-histogram.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "b93440e637983292c9c694b6cb04cf7a50e5b939", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "3a84f0d2b1167047bb21927cc311b8d9860df291", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "1f88ae32a57912e6b2b28dc9eed68879d373638d", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "f3061b64ac805691da30ae0b1393248818c9cf40", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "d638494a36a082a981187d2c559bf339160f1948", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "cfb8451fad642630b3bd4072178d9ac1b318d705", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "7a09aa03b51de15b9544589aea569de877eeed1d", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "366641b5e6528033cc0067bec3847f26d9031edd", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "b5667fe6ae81029e94fd3b4617af18b93f06937e", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "91d6246873413ea16a04b2454ac88fbf17448874", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "0e2f6e0f0fae012808f3b4b1eaa49f0f10378739", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "60699d10ad64113983db23d7c94e82e7b5092261", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "dab5adb258a540b70e4e32762cb119a3449e096c", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "70a6aaca30a05b7f234b62988f1bd8f53421710a", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "ba0d99a55988d554d24baf0ae9b8dbd39950be11", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "223b95e57f20afec67e891aa7fc884e6ac492f6f", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "09522ba204485792839f58b858ac31550e14a023", "version": "1.77.0", diff --git a/versions/b-/boost-hof.json b/versions/b-/boost-hof.json index e35145444d84c2..f8505201f5c4bb 100644 --- a/versions/b-/boost-hof.json +++ b/versions/b-/boost-hof.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "d9000bafae71adfd3208c989e8e8633b58c209aa", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "6dc042e71f6c7717585d4023d4b68a5832da45df", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "5618015f9573c8be97b5435adc2285a779180458", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "210f2244ba63b3c0e8becdd27cae7bdfabee5155", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "dbc18283a5d5acaab16d2165fc3ea2c4501d6649", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "56156c027ebd8af07a502ea9b5fc58fee6cc0b64", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "f1277a21ad4a01b42013c1e4324a5ad47004bff9", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "662c6f191b2d2991f86cb15e71c7297d5d9acd02", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "f832ed0aa13f9f03feabb69c40a91d8e31b090c9", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "b5f24a2434567a16b1c40e96f5da71b3f604fc3a", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "9c286ae61cd79f55dad40f58deeb458dbfb5a78a", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "820e0652e0ec6b25dcc5afad2dc425e6e7d393ae", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "60797dbac318098253cd607c0e3cb5fa04a36d9f", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "40ecf7b9f806bed59a911028354f0f471b5e1beb", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "b4c1a946a0dc6f554cc76efa7ff4636ff4aabb08", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "899745af9cdd07134ebe4b4223eb749b7efa5be4", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "2c22e81e06ddd812d0328854ce7302f662fca398", "version": "1.77.0", diff --git a/versions/b-/boost-icl.json b/versions/b-/boost-icl.json index a248dde081f8b9..a161d6b19c0d8c 100644 --- a/versions/b-/boost-icl.json +++ b/versions/b-/boost-icl.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "f88a6a51cab67f884cb24167b54928588dec9162", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "95d449713b907010582731bf28f1025e8c45f852", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "f3347c085f9626193e462bdcdfd4fd024f767b1f", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "4c719d28575e0a460a7fde2896b30fae2d87de90", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "90556ca7d9068087ce741aec8e268256176af6db", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "d8cf7df44d1c0d7579411af9d8c0decdf498475d", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "5d24993000e79436df3c10f8424df464e20da8bd", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "91d333f8870517291000ce2d269485286a4fd9bf", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "0246484074b61bbc8623021e87922ef06ecf84c2", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "cc8a315d67b9f86a015d0f261dd8c15be0f746a4", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "a79e7c5abfe69c813b88760ab4d56f4e9990c389", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "81b72f6c4a2f9f7714b7d049d9ea8403c49886ab", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "a3b1aa6aa1a9190a0270d208ce1832bf8c0deca2", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "061544233c810a2a3e04cca99364bb2fe3edcbb2", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "9ce9f45501ca2ac3a6ff4f2c42c69f1b104df70c", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "074322ef21b89c54d87c0446716221c3c20544a8", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "753c4291a6d27d5c2fc377455c83df2ee9fd569a", "version": "1.77.0", diff --git a/versions/b-/boost-integer.json b/versions/b-/boost-integer.json index 9310a58f933f1d..94c7102fb12855 100644 --- a/versions/b-/boost-integer.json +++ b/versions/b-/boost-integer.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "944979527cd3e9b158f6d4fa27174a154b756f44", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "a1ffd40ae899157571353903f1d34f26a76d2314", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "734270e5c00d151f6f41c1e9cd325c0c7ae58ea3", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "c73dd82231a499dabbdcc01dad4cedd2b91eb158", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "ebfef65ee52f5566976920e3cac7f451f66c7ced", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "f70c3d065ad54b0b64e16541cfdd86aceec513f3", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "46935203002bae9d52b70d217abde7758c21d2ba", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "ed95b549c8719f65d4599fb6a612db94043c033f", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "7b810bfe282f052259b5b6bb4e93bc16491e48d2", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "ae7317b7aa788f978c871b93e027ac7e0f90b287", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "309669ee306be8403d37aee0468fc1898091db73", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "4ede6c7fe5bca5ac249ac99d0be4ca7d7b11cd73", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "524f6107bc7ae49cd24a04b94ed8886604ee3e2c", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "f980326e208e00560547b76cbb13759357e74598", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "7970a7ba822ac5e6a8a9f98ba5ee3631b3ccff3c", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "18f2f923e2a8d4f026787eb8626def460dd2ab6a", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "375a2af7e2d5d620aa9f42064255c269b0c73f5a", "version": "1.77.0", diff --git a/versions/b-/boost-interprocess.json b/versions/b-/boost-interprocess.json index 7cb7b5eda180af..6d155c63b37f51 100644 --- a/versions/b-/boost-interprocess.json +++ b/versions/b-/boost-interprocess.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "4b46ca2a0ef4d118cc25e45e6c621cd54c60db08", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "fa41cbcf45f382a10d06e7c028d6f9b4d9341d4b", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "fa62f9583db8d8c7c7799f2952ae8b33f39b8a56", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "a748d579b7821792423f650cee8ee09f4ea4abbd", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "54fee6877683ea31ecb7d9f4e3f62e65ad1f76fd", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "685634ef2e0b7c514fc454d668e27c17937dc005", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "ae2d2c05c7433c83dc9eed47f7cd13b6a4c6c46f", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "dc0de1141c5074cd88b9de17d7ea2b39c58b6afc", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "6f3b7d8cd436c4dae51ae807f8a7b04888f06447", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "a2fcc6726c54c13660a87ac4440e91c762041f82", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "f0667e5eb28c03a027ae2932e6ce529b4b8c8169", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "b4e6ef1d2b4e94cb8b88c5a556cb272df655d9ed", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "c82814fdaafa13305c7aa4c29340f025544285ca", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "c9830784da99cc5088750233a568961dfe6701c0", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "274a988e2a03f43beba2efb240692e0af456e8ee", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "220049a8136b65045c04fc13aea3a259e8f4f2b0", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "6461c4f63a5c0f31efb213c9d1e3b9328b2e3dcc", "version": "1.77.0", diff --git a/versions/b-/boost-interval.json b/versions/b-/boost-interval.json index 277962acba2ad2..cea8b938c5ef28 100644 --- a/versions/b-/boost-interval.json +++ b/versions/b-/boost-interval.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "0d33fb61fb9ad07cea57563a2157b040910e9dc9", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "b72455a12e915908d0cdc367b6c321e56d4dc715", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "e84dcea54e8407e7bb3935f8d5085e664748559f", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "3120be3f0eb4b20af3db635072fa8b6d9de5b120", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "52084af2ce6522507fc50f224eb944690263560d", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "a3eb772da1f0b5a2fe86601716b0fa8fc8aae645", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "10e93bc8db9627499e8681ccbac7f42e5869b75b", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "d189e52a32b8ef2ca41b5afe112f5a4e6430ec70", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "3e31f7965f783bb5f03cd50a94fbec422cfe7a9a", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "00f8cddccbe6c6c6ec78ed9502322ef70c89c9b0", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "f69bc8e032d8222c8ff1911c69812200d91a8220", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "f46a004d23803f4daabf7e0102474ec227e0f243", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "9dd8339312f4b410207cb01118937eb38df2ac3d", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "cc4c8e51cac9fa083d9f181e9da090a65fe62779", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "f196074b225959b27fb96794ffc54db0293efa24", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "5786ba8a3bb499958bbe8ebbc58c6bb4e4c3eb91", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "e57b55cec7198cb4f448933fa2763465db0c9672", "version": "1.77.0", diff --git a/versions/b-/boost-intrusive.json b/versions/b-/boost-intrusive.json index 5d825dcea16eac..03c7fff683a31d 100644 --- a/versions/b-/boost-intrusive.json +++ b/versions/b-/boost-intrusive.json @@ -1,5 +1,90 @@ { "versions": [ + { + "git-tree": "fdd697cf75e1c4151548b2a5df0cd17376999534", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "e08f0a538360476dfdc5dd6399ef22da17cc3b7a", + "version": "1.85.0", + "port-version": 2 + }, + { + "git-tree": "43876a8d4ede7bc091dc2a64904e3b9528ec7fdf", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "786765661875cab1398c3170ef649284b558d2b4", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "93dd4bf5f8b7812bc7fd30f4705a804791719930", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "b5f197c773d23bb868ae6ccce4c28dc0b97997ac", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "05886d36db2ae6ecb44cf3b964c2d0a4d486c129", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "9c1632e270e737c9f035585137c26841952c337f", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "c6ef0a6523433599c5a6e0bebedd4b2caa6b56cf", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "7c4e469b6d426fdbfe13ca7cbddd98caffbc7942", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "cab2fe961140ed73233aa308135f1c97b00dde44", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "6226465090f8b525e4831e0b1fba661849368023", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "081c2a217346c224c69d028aea34e2bb8e8b3ea8", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "85a69fe7a9157a957545c6c3233586715d18c9ae", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "538ebc32732429b15db300664e07bab697c2e5e2", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "5162285659ad371e022c242481e20414c8b23e2b", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "351ad9aa5db5bf50ab87a390a69d5df1d2b41ab7", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "9fb49266dc300d8914a0485972738b960ccf4339", "version": "1.77.0", diff --git a/versions/b-/boost-io.json b/versions/b-/boost-io.json index cd5cec0aed2688..e16d61a89f3d4d 100644 --- a/versions/b-/boost-io.json +++ b/versions/b-/boost-io.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "381228ce40062d70c8a56afaafed81710a1ff743", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "3fa4c0dc034227cee5c7e0725300c2f90359b14e", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "d6bd5c92bce4ca0e1412b1bd967501e2f6efd086", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "664ff9de8b5e975247aee9236dbf20c528afcf75", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "dca15cab49b7b33ab58762315d107336d28b404e", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "f5d84659eada088f612945a42ae940ee7dcc37be", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "2e824cb312fdf8d4b782b625053595e9bb13dc3c", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "21da7534c21a1dfd1ff5833e330837ad8fa26341", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "7b5af6b0a01341944b40737a439c4242a6f44b6a", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "51dfeafbde1b365b08a8e802e89057312f92657a", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "ac0c2678d6ba9f391d6e95e236084427af0d90eb", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "2c792597c4d6fbb3fe7797f77ea3dc935725dc18", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "ef9f00355277eacf410b5661b306991f21cf82bd", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "cfe6645cfe18cc173a5101310bc86dbb5fc5532a", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "a248d3f95d95973f63b5be92c81747165ca0319c", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "33cc953c79a65bcdfdd7b55a757bf3f4ac4be4bf", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "83ec8bab1f1bbd6eb1e2883a26747c7982d5c34f", "version": "1.77.0", diff --git a/versions/b-/boost-iostreams.json b/versions/b-/boost-iostreams.json index 490d00e1bc1cc8..9bda9d406b07be 100644 --- a/versions/b-/boost-iostreams.json +++ b/versions/b-/boost-iostreams.json @@ -1,5 +1,100 @@ { "versions": [ + { + "git-tree": "485177da12bf8a3c09581def8abdd87456800d39", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "5cf74240d21ef3d7f7165849ca9bd6bc5eae5483", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "3d7ec667107f6c6e4f4cf3a633e533177926b57b", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "30e9e2fc1dbf9251ba57453cbc64f211001bcd63", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "01c0a85616fd0d4f8529c0ffa48bd358833d9ea4", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "be97780ebb3e46185f1838115f642ec2d110f76d", + "version": "1.83.0", + "port-version": 1 + }, + { + "git-tree": "da8972f0e4c59981021913e4ef16a39a9ff8d491", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "ac82b98be4e5ba2e754a532ba2754ae4f0496469", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "9a39f5835d29b23ad73b036797cb4f6f000e83c2", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "3938aa03b3ebf9177ab9f922455ae29bf02c8330", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "d5913a98e3d5443e488ba65ee874214487b7b1aa", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "058658751a071d36ea77743e66b8fc39caf7bc5c", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "41f7fbe68f78962115f6720907d9c98fc962cd54", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "a3576e6c1d93316cde685ff4f9c2c054aa00cb4c", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "37de3e0e0107aaeb4eb8bc2ee29457131145bb36", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "75821705e2df069874466bb55c4b0c4561950831", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "73e04423bfb004c75708458688afeeb8a1806ba5", + "version": "1.78.0", + "port-version": 2 + }, + { + "git-tree": "1e23d8d78c5a33ee92fc1ec70db8125db72032a2", + "version": "1.78.0", + "port-version": 1 + }, + { + "git-tree": "7e240f9d647c1142b5b61c9a635e3aa186756802", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "286c74896c6f2a6057bfbce333304f279bb38aac", "version": "1.77.0", diff --git a/versions/b-/boost-iterator.json b/versions/b-/boost-iterator.json index ce0b7af1635706..3c635bbbe92487 100644 --- a/versions/b-/boost-iterator.json +++ b/versions/b-/boost-iterator.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "8b9a0e755f202cc140222722f4292daf54ff582b", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "7140544c82b8985f676a67fbe07e70118cf4278f", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "099bbf852a1d1d8c7f0a7bb7dffb3ae1847b9a93", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "8585a34dae111e35fbe896cb155470280cda9485", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "0d18698f7abe635814d1a4887b5b94157c5fe2b0", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "8870bee36b1dee543b554c3e0264e6871a6ad6e2", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "32b20eaa8ec0539f484ba8dc1a08fd163757d48d", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "06e57442234e51fd436cc31ac285319baaf83e26", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "f5dc624248bbaa34b1614bd5de984c149e127544", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "68a8ec26ae2f81487bfd0ccbff5a707229f996cd", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "8df361e649d7f5fbf966ef161b28af645105a7ee", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "44e9662953a0bf361a16214c96d5e0fac86a73d8", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "67993642b285e3448abef01738372590a4795044", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "d5df6fffeb95a0cdd702d8471696ca31a45f1600", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "a9b329add024642bef5338c963bdfeee41bb60df", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "474aefb2b63e5ea3e6794631eab47aa3d6921573", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "7bec2abc5b714c2bd975178406937ef59a73f29b", "version": "1.77.0", diff --git a/versions/b-/boost-json.json b/versions/b-/boost-json.json index 02a595c9accf00..7f17165fb82502 100644 --- a/versions/b-/boost-json.json +++ b/versions/b-/boost-json.json @@ -1,5 +1,90 @@ { "versions": [ + { + "git-tree": "ac2b49b7ad148839f5c83ed0ba3f905ec70945a3", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "b8ca70df18b62ee9af9dc466727247dc7c411eac", + "version": "1.85.0", + "port-version": 2 + }, + { + "git-tree": "db1dd6c11761caf7757a629f5f9ab66aa0f70bab", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "b0eb825fbf843ee90e0f2b69aea96c48efdb87b3", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "32556f291648944fd04a5375f7cc094b0aa38145", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "071f85fda05b2ea3fa45d6b1dee3070950074762", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "bf515b1083df1c9d11c17713ea9cd22ad8deee20", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "a88bb521a85cb7e8577f49eed059f656b0d81d07", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "5fb8cff5e879195843741626bde8a0cb9955e1aa", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "8258d6ffb06571b088d3d6d1119d8106c3acae42", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "e1823e435f5b0a89baadc0aedbd7b80cd3c8b4ef", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "fa4d8274b8ada5b572a32a42bb8a46299b47dd6f", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "bc736062b1d63d94c5b86ab928071e1b8ac41c49", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "20921eed92d9e5a1083d8eb83fb642a401e55a64", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "e00f0980f7fc5a06bf3c559b6a1052e068d5de96", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "b19f47c6cbcc65ddb2a96bf60df6b358a6e64ad1", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "e8cdadcefe4c56aadc0120b9c1a86ea6504f3cea", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "80003ce3a7bb1c08b9ac354c58085758343ca42d", "version": "1.77.0", diff --git a/versions/b-/boost-lambda.json b/versions/b-/boost-lambda.json index 9655aa372205e6..9af6045e0c190e 100644 --- a/versions/b-/boost-lambda.json +++ b/versions/b-/boost-lambda.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "2d8080f6e41b95cd9f13ddecfdc4db12bbb72994", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "135f4e731fae240af4e8c65cf10fc34522f2e34a", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "78379185529776f9df89b4db0bb9ad60565cfb4d", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "4993b3be9d47828189557df71b63c3a938a8800b", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "43da545cb3f4c5f999a69afa8588efded1489161", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "9f5b545dcb43d7901ce68b14f598605e86b2711a", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "4fe41ac7e3024b92d857b855f8833f83d4abd11e", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "7a7a8a65879f8262d502979631cd082afdf2d6c6", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "5f935f0fb24747b61dad58b0da1c4a307d0ae125", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "07560825826af31beb117e969084c236ad5daa59", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "394caa4a71a57da9b4b6e8d1c2e58c435aa225a8", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "56b08cb572dc1c10f882965e661b9e49a62b01ec", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "7204e1ed786f4b70c34119c3eb233bccfe7ce375", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "e96e65ee098d0846218e7df13156804051aadd23", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "c2eedc92baf94690429ab150e062fe42296099d5", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "ad7994962fa2139e8b2e67adbf505c555a57f3c6", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "56ca5b54a9913e884d79bfd72e13ac6d72acd71d", "version": "1.77.0", diff --git a/versions/b-/boost-lambda2.json b/versions/b-/boost-lambda2.json index 58b85cda00c26e..78dccd630e9431 100644 --- a/versions/b-/boost-lambda2.json +++ b/versions/b-/boost-lambda2.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "741e34a4eb1475ad121a01b659c81ca2d7cbe406", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "fc62df395caf4130ddbae2adbfb5f251371dadf4", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "7e901e36c760e1cc0288bb68601319da7e96ba38", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "fedbc3e3176a0c1c7eeee4f306f69bf010d6d428", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "09bd21488a9a351da1a26d00dbd76f1da8f50a8a", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "399a7528e08b7a9e7a888cbb7d4a60c3212d3fc4", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "0594208903bfe03699a0b1c4a549156425bc0bdd", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "5ac3cfaa7a77c860f9ad676a028c0a79976c4e64", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "551076a74a5ed1a80ddac2c5838406b3d23968bc", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "b86a3afd40cb32ccb1b8e6e59df60d471e5d11a1", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "2a549d2ddd842ded64c2b98af01e8d963c93dbcd", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "aeb97944da37816d5edea13b87bf8aec9c05a554", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "fee0b83871eaf93b97a052e4612aab52f2d8b271", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "ea6068a8cd06ecf372e93ec9967af05735e0e64a", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "2ef167f48c1b762124536fd34843f247e9af8b89", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "fe85b4be83b3a88ec04a16d0704acc722502a128", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "d97e933c5109b73c577e20f53bc095224e9ca198", "version": "1.77.0", diff --git a/versions/b-/boost-leaf.json b/versions/b-/boost-leaf.json index 7061e9bc0c6f9f..3d495ef039a17a 100644 --- a/versions/b-/boost-leaf.json +++ b/versions/b-/boost-leaf.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "4e9361dbfb880d9bae2136e04263dace03567d33", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "c5c9595612e3d8f957c9a7a276fafaadea39090e", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "57b8c8044186a8c080cac3b77f9e182f8edf4e19", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "0c92f0b748b310f18437cc0a4bbfd321506e1b4d", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "ef47c8ddb007015f138d7d2f6c1942f1859c6e54", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "9c5d7bf52009af1e4fa9ab2bf88a8592a3f9c2f0", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "cb036779325e545fd6138cfbaa0703d729aa401b", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "43c810b64420088a3446c74e4d54db10f16c271b", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "9cbc39c935546af60a873c21b53c97943e90a85b", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "272d3619c543d063bd0e23ae8f23e8c677f419e9", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "1cb0810bb85eb66e173350bcd5dbd9646a2aa28a", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "c0be7c36c03a4a875995e81c7c82b4e2a9c56f25", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "bd906879bdcd0656df06ac52b059295cfabd5e65", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "151ee4285909980fe5008aaf36d65ffc636e654a", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "87a96bf13e0afb5212772d1240dfc6accaf71b84", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "c000f663b00cfc9a2566b67ea68d6fe5050a016a", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "e257e66da57763ab4e677806d04b6d67721c09df", "version": "1.77.0", diff --git a/versions/b-/boost-lexical-cast.json b/versions/b-/boost-lexical-cast.json index a1012e927ba4f1..556e565650481e 100644 --- a/versions/b-/boost-lexical-cast.json +++ b/versions/b-/boost-lexical-cast.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "0a36777f88db58f8d69f5e0727e3603c29e67c63", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "a2867dc4554c961cb49311398050dfa997bead8a", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "1124052a647ffc082af444d1e2713beed81e2172", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "930de66483bdef93b9a3ef583a5331b82aaba60c", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "270740ecb9a0bf6d8536fa654ef862fdfd706ad5", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "dde0974bedf5d7539835eeadb3183b72d0df75f0", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "27cd4bbb12ad5a785f7e32723dbb72c4e4bf023a", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "54b82af182eb01789c463148630e7e897ae3f3b7", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "1784c7d294604acdd3dc3179e7ae1967631f1122", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "677997615028f116ea892e8a0731200a2bd3f306", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "979e53589447f6996073f000b8d2447bd8abd8f1", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "0d50f014e04b4c37d91636a592992d47fb07a0c5", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "2f68712a48e0aefc65866fe43edc152e1afd5e94", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "a1c65d88dc4dd33ee2308e6dffa9ff580b3ad0e8", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "78f269516df3662fbb3417faba5a8983936de604", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "984ca6d42fd857c08fa915edc02bfcecb02cc343", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "3a265d9296755adc81f3c02b273d758798903b0c", "version": "1.77.0", diff --git a/versions/b-/boost-local-function.json b/versions/b-/boost-local-function.json index 41612a19d3f838..7443bc591d2943 100644 --- a/versions/b-/boost-local-function.json +++ b/versions/b-/boost-local-function.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "57a2a6803a115f0f1e6bb0479cfdab7519e3e578", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "7f559fde0f0eba57dcefcb95b47d20f58ca2a56e", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "38647e1c82e686a82d7ca2c4bb60f2cbfd187f3c", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "f9f4b970ebb2c78b863b5c4f5f668d1b6dc9d4c3", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "bbecd00568ae32f048bb6cb48355547c889fd361", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "f059d8e9dc60d429ca4910eb0603b7ad768339b1", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "51ae33edcf3e425aa42f2cfbdcc926ef3996ce6d", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "9e386bbe69f3d754f0771134ef2bd349b9e9d381", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "c14954836274ffec27319627c787e0b5d34a9db9", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "1658e6ae0eac14c1e10378d6299c59a0c889f01e", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "05ff1a1182b459c3a2a299b103cecf2855b4973b", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "9a6a66700763917141ec93c4569197cfdcc5330e", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "7f63b725031f3fba9235568d39523b33eb1c1185", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "0c1a73008438d7a613f4fbb3a8d12c33276ae584", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "3de1ee1d8f4c2def524ee00056e545765dada7a7", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "f0eb3b232475da3263d0c5a9b65a6cca3d63af1f", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "61818440e17f46b0715e5b53b8c49a79dc274a27", "version": "1.77.0", diff --git a/versions/b-/boost-locale.json b/versions/b-/boost-locale.json index 3b10fee0bcbde4..8d4b3c6047106f 100644 --- a/versions/b-/boost-locale.json +++ b/versions/b-/boost-locale.json @@ -1,5 +1,95 @@ { "versions": [ + { + "git-tree": "7c32b6ed427108b71d25389337300c479a630507", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "735ac0aa8bca64e1560d96c73d9639784d7828a4", + "version": "1.85.0", + "port-version": 2 + }, + { + "git-tree": "90eae5f2a4561de59890c54818d84633b0bd0d8f", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "5b5533a617c72dafb29040d451520ae52b8f0ab3", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "c81839a63513ffcdb624809da14c82e0c6ee2373", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "890a580576001c650e84c6b92fd995a048317e3e", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "41e9801248d577c58c9827d2177ec7a88719b116", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "3ed08854668287984c74498fb95f081740459048", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "d9c9d24ad31946e6bf5bcb2adac9f0124e7534d1", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "42049ec2a8514f4a4456399d147f39bae465e2c7", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "c88f686dacd0853cb980f5170fc52e2ee0852033", + "version": "1.81.0", + "port-version": 3 + }, + { + "git-tree": "1c28c91fec3585c991968a33c8a83a1fbe2e4a7e", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "e2f1a8590c1bf9ab12b880fe05af6854bd6bc6f2", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "122ecab6bce2dc1662f24aac1d71f66033feea7a", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "e5f8a6a2c2f766dace9c3a7887b3732c5fa7b4b3", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "f76509b5e99db09e81179f9168a3da090c581c0b", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "1868faea7b5a4b74f6cb0dca84ef24a7f8d708d0", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "66e57914d683e3e7c9945eeefd2010b5a08b4972", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "c391246c7c5588d89f0d3fe5425a3fb3c97d7787", "version": "1.77.0", diff --git a/versions/b-/boost-lockfree.json b/versions/b-/boost-lockfree.json index 75c947d2cbbc8a..ea306db4cdb5b8 100644 --- a/versions/b-/boost-lockfree.json +++ b/versions/b-/boost-lockfree.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "3227b820fe76dc3047f2725ac3ce50720ba03095", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "372936717d4f84b7257c3008ad3b39cf55b669a3", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "5e10105714066406e1df95973ebc152d18627d83", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "0d2e48d196ecdb49f885e45efcda5d004a5a6765", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "0d45e99b757eda86d272cc1142e9cc348296bd2e", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "db32f8262d243ce50d3dd2b67e9f13ce9fb584f0", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "4e5234382d1b899deef16bbbeb58b19bcf5661dd", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "084161896f614963e296c5ebd58f23ee613988fb", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "d5a6ea1e9d6a0d73e57526511ab5a7082417fb95", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "3fe452d3e96f55d8c49b289f2f101cb274b275be", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "cdf3ca5a770c247cb1bf3390021f0cb890cf19e5", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "d78f8125562b48622867edbbfed76af33ec84d8e", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "f2aab84f6f6ce1cbde92ae48e80aff99f25ff2dc", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "c1e9c0f8ac538167c8425f199e49c771c132d1f9", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "bb27f3391311f8d7078563e4ce98f7706500f33e", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "8a98fed342e79efc6194594c5bdd0a6398a7bf9c", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "6760017d0cf025254b1056309a2c32407081c4bb", "version": "1.77.0", diff --git a/versions/b-/boost-log.json b/versions/b-/boost-log.json index fd39146738c144..2a39f5ccb6b841 100644 --- a/versions/b-/boost-log.json +++ b/versions/b-/boost-log.json @@ -1,5 +1,90 @@ { "versions": [ + { + "git-tree": "ded8f639da631b783e516d4ee3ad15a3f814c523", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "254117ed20626d0e88e36173eac359b2f1b968b8", + "version": "1.85.0", + "port-version": 2 + }, + { + "git-tree": "6b6c16c7e8a6b2969bd7e4b87b7e4f0aebf6ba72", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "65f46cf53ad6b900033987a7ac5df9062f1d2b0f", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "be836a0f53fe07d1bba3bde715ddc3fa0be4a7b1", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "db4f5d820c44affa3f47654fb2396d88493968a0", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "a9fc311a8361a136d6723b2a45e98af511749e7d", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "486c465bb29be1d743d50fd66134aafc9ff6f820", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "3c03453e91b6d10cfd41e5113aea15c9070ba310", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "34ff06ba71408f9f2d5dbaa0649a5a6660731c70", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "caf66e1400f40a88d45f8411351c04a15fe764bf", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "c63f3285110b2cfa4f1bc677c0bc34df968e67ab", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "d8715b0e2ce284b4cf302104b25f0c1056e55182", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "421d4a05c15c9e6e8b2ce014f896713703eb40aa", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "3c2e069e10107dd06749bf7fadf7d086799ab91a", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "311052ccd7332a0eb6d4a80af653a65fe390f7f4", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "66bcef44cd4e7f68677db041e84df77e350624be", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "6ab1ab88f37500f86b5c9b9222e50dc2c17da5c1", "version": "1.77.0", diff --git a/versions/b-/boost-logic.json b/versions/b-/boost-logic.json index 2cccebec6302d5..3037f962be6416 100644 --- a/versions/b-/boost-logic.json +++ b/versions/b-/boost-logic.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "5909374a447c242f80b0921ac3ada302ba42732c", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "4f2a8e8a40d86f4d38dd6ddcd1e2196fa97e7f25", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "6809263fdcc84396dd0df37a3bda9f91bf623aeb", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "74534328b7e5b519b4f225ff648953a612335242", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "17ac346b6e90c114fca29894244340845440e183", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "4caeef24d5d621a2a42819bdcea2ee90b4414f5a", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "99d96e2a54223f8db7b94429392de363cd69ee61", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "418ee0f83e1b41fddeb9d416fc383abf40ebcb03", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "e6a9a74ea009da01f7a815b560dbae631bc4aa23", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "5ccbe9c525ab9f5b69d1f6bcbd318c71384a1e8d", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "cf5bdd060729186bab24480b8aaa7bdf220de962", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "ff4e3d6f25f8c271b878947b98d8d032190a4d46", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "9536411e1f225383e6d8ff8f58bcfb0454ce4fd6", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "588f889d8da686230f6f610141d8110562504312", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "438d9d7c26d42ec2a76f0f60954b7cbcb950a79c", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "f5acfea5d30532cc6dccce78e0fd159a023ccb4a", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "afcc526b0a9287bc84744bf57a1a6d37a0b3b567", "version": "1.77.0", diff --git a/versions/b-/boost-math.json b/versions/b-/boost-math.json index 2cc8be73079f61..7def8b82615561 100644 --- a/versions/b-/boost-math.json +++ b/versions/b-/boost-math.json @@ -1,5 +1,90 @@ { "versions": [ + { + "git-tree": "690873bedff0687ce992ee4e67a1fcd35efff094", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "ac6833c403ae80c2a96e0a04795df91b1197999c", + "version": "1.85.0", + "port-version": 2 + }, + { + "git-tree": "073abacf431a555a65b186e63482d3ff47b0e615", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "d20af189e049131ea08bd503537374afa4d70062", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "7263a17f36245a96c59ee70c3dbe1d65f3f6c05b", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "b6e62a61bbf90ebc1f36bfd01892b793476e1d9b", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "d2b21d46b8da00d788266ec6b386602f345659c1", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "7c52621d3f785a3aee44d5a741597a0a4ffd8912", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "61b0ddfd8a1a5e18f97584b57143de200770bd56", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "588fc3a51b43097feee421ca66c5d436914a1364", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "c380e71e2820131a30349ad89bc1c0240c17c4f2", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "0e77a97436c2e816743cfa7ecaa135b73d4533a6", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "24043d73949c51399248f9f58be0d6811c55898d", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "e646999339a79fdfb234566e4f8efcfe51c850af", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "c3f7257d4b3a7b8d94e00348149051d37eb75921", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "cb4ff8e95c283f70577c94f6d552bbd2fa469b3c", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "e2fcdb4cd154efd942606b09085ec0cb7747a764", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "c3caf2df93bffdc6d72b5c4df120200abe0f6562", "version": "1.77.0", diff --git a/versions/b-/boost-metaparse.json b/versions/b-/boost-metaparse.json index bfdb5098845aec..f0d9c70c60656c 100644 --- a/versions/b-/boost-metaparse.json +++ b/versions/b-/boost-metaparse.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "7b68d070fb5d26493813a76d5d5c7e2e35a00692", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "f0a1e90f8f6467c926299ad1208dfa12ce4fb0a5", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "0c4c10ec3cbfaf3dd3c5a6fdd9cafb2d5ed380b9", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "9fc7202ce5ea6baabffd65042452c7bf35d63939", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "922b74624b73c61779da3d81acb8b99b98d25970", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "5994a689a2da98a3effa716ab52de1b13266fe13", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "c34b7fa72446bdd3037f8986d0e653dee79d5df5", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "fed3e04ea8531c9c7b141eca201e24a6ae24e420", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "eea7060a597e867d171a778a6cff2e56f364cf78", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "1174474032e8403f7f9acff6c8dd01b5add784c4", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "50d63fdd8d6c80f0156e564b46c87bd0276279bc", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "8e7f9812193e1d6c60479a6bc114828be7a6633a", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "cd8f72d5142bd7b0d34945ee840ff709d4155ee8", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "d49c84675e49cb7998be2c9efb382044f5bfcd39", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "ad7ebac0f5d44f811d7d8462959b080c0f298eaa", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "3b3d7330ddf3fd7d1f38256098f645cafd96d08a", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "4f5433852913f94917d5e6afde09d24d48421ed3", "version": "1.77.0", diff --git a/versions/b-/boost-modular-build-helper.json b/versions/b-/boost-modular-build-helper.json index ef9108decadccb..c86c0fed877c97 100644 --- a/versions/b-/boost-modular-build-helper.json +++ b/versions/b-/boost-modular-build-helper.json @@ -1,5 +1,190 @@ { "versions": [ + { + "git-tree": "04390ecd44200648eb89147cb4e11b196d2dc515", + "version": "1.84.0", + "port-version": 3 + }, + { + "git-tree": "b3eb3e3fdc08ffe6e8f9e19e761e583790aaf308", + "version": "1.84.0", + "port-version": 2 + }, + { + "git-tree": "dc7e88a84383b497c7d9e117a00319fd2b2ded98", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "846d3e5195faf74db827dd0197a4fbc6a56315bb", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "95d209e069cf1a82d48fa32cef7a7c39edc33c22", + "version": "1.83.0", + "port-version": 1 + }, + { + "git-tree": "843c4331dc1453c80f99e25be4513c99074c5cf2", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "2d374869ba7aa60ab439300ed4d032f95c9b88a7", + "version": "1.82.0", + "port-version": 4 + }, + { + "git-tree": "98f75b07bdab1080c9470eb115836035d7142397", + "version": "1.82.0", + "port-version": 3 + }, + { + "git-tree": "3ae088c69a58eb9a5854ff99807397a0c09daf6a", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "5c1a238cc20c885e785bc05a36b974deb5e02db7", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "91d3f81ba22427aecb2b551da48e54f684f056a2", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "976b927d38ce533c1c403b80c9e0e23e62737195", + "version": "1.81.0", + "port-version": 5 + }, + { + "git-tree": "085487a72fedfb544d04c60b8a96f580213c0efd", + "version": "1.81.0", + "port-version": 4 + }, + { + "git-tree": "d47cef023f39ac9d5f3a043d35cba1a74710e1b3", + "version": "1.81.0", + "port-version": 3 + }, + { + "git-tree": "99f9bc3d7c9ac2864942f3f8d80a3d8db4689794", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "6e28e9a445dc3442e89761e500fbb8bb5e175c00", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "5a4db48d96183ea5211782a2fe519c01f51544f7", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "0631e980f0a18e2175424e672b55709b84e19aa3", + "version": "1.80.0", + "port-version": 4 + }, + { + "git-tree": "4a8c162e2661795b998a8435b6ec7207608fe73a", + "version": "1.80.0", + "port-version": 3 + }, + { + "git-tree": "c01b4620588f657e9e4005fa5f9d9a649a8feba9", + "version": "1.80.0", + "port-version": 2 + }, + { + "git-tree": "3cfe5562e40b1ef219b3d36054e1235508c41037", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "3047d0e2fdc4eee0c918f418f45d5e1dfb86c0fb", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "e22ad8dde44513f2fa1a9b38c71818aaaee52120", + "version": "1.79.0", + "port-version": 8 + }, + { + "git-tree": "cca1e2f883cfd638a53964027473a00e6b571e49", + "version": "1.79.0", + "port-version": 7 + }, + { + "git-tree": "9428ba48caa81512147423f26559c7a57b37e71b", + "version": "1.79.0", + "port-version": 6 + }, + { + "git-tree": "93946fc40b519f0f9afe1b0d36985b2def25d4ab", + "version": "1.79.0", + "port-version": 5 + }, + { + "git-tree": "cd7a5259d9e086b94af5673e581427f76957ce62", + "version": "1.79.0", + "port-version": 4 + }, + { + "git-tree": "e416ef5af7f6a850fd3ee6493fb3a359cd7ac6ba", + "version": "1.79.0", + "port-version": 3 + }, + { + "git-tree": "e02a1f1b06a492d932f309feab8ac7751b0327ca", + "version": "1.79.0", + "port-version": 2 + }, + { + "git-tree": "dcb306fc661bfab322c75b55472e402387396099", + "version": "1.79.0", + "port-version": 1 + }, + { + "git-tree": "03b0eb80e437663830851f7891d02125694b4ee0", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "ee3c3c2a3ecfb2bcff50d0758da7d6c36479a3c4", + "version": "1.78.0", + "port-version": 3 + }, + { + "git-tree": "9400b3bfdc93a165b3b509a76c59107c020113a6", + "version": "1.78.0", + "port-version": 2 + }, + { + "git-tree": "11b3d243931b80a098de2d6ff74587485febf646", + "version": "1.78.0", + "port-version": 1 + }, + { + "git-tree": "cb8ca019590f2915f8a4a2eef170531474c35de0", + "version": "1.78.0", + "port-version": 0 + }, + { + "git-tree": "e3edff222b218a808eca74d6891afc1693ec4774", + "version": "1.77.0", + "port-version": 6 + }, + { + "git-tree": "48cc9da813626ac4733698e65368e5581f4efb59", + "version": "1.77.0", + "port-version": 5 + }, { "git-tree": "aea8b4dbb8063db29d8ac843ef6aac35478bebaa", "version": "1.77.0", diff --git a/versions/b-/boost-move.json b/versions/b-/boost-move.json index 2063ba75059937..0db341910c9bc9 100644 --- a/versions/b-/boost-move.json +++ b/versions/b-/boost-move.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "2ec65ea9d8386c7364647e10ce8eeeb809be40b9", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "0b7c85608cba0c5e4f3f68f8c3687edae3b77b14", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "687d6e20922f169fbd9aa2eee51f346523c03880", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "710dbfde7e98703c2861104cfccfa8082f2535a7", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "1159c6a1d6b15517994acbd64c0407ce57161723", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "3f4770bf9904c733be328e32d4017a0ed1157d2d", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "bda03863857c818ffb310f45d2d148553a5de381", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "1ce5f627ac0c30d041b9f2981fd3c11e4b504825", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "bbce4dbf27e6888c1313ac461a97746eda2ccc88", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "603b2620f750f75988513a9c5657685bd6e6e049", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "0ce78cfdb6bf7df1a4fe0dbee14ac1e839e6a0ce", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "b04b23c87668194465af91b283c1ccc6ed2d1e3d", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "eaa3532f107240627f18023ee2d4453e7c15082b", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "a892eef83cda1beff03d4a7dc11481b153fadfa0", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "957381b3c5ac7d2b563b2563ca8a78d49f034e68", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "a2b516a6391277e0c72147caf8c6677c92bff2a8", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "d912a2a9e0b705919dae22cd8af6a4467e209e4e", "version": "1.77.0", diff --git a/versions/b-/boost-mp11.json b/versions/b-/boost-mp11.json index f0be35fcece9d0..cd4e4aa94d95ce 100644 --- a/versions/b-/boost-mp11.json +++ b/versions/b-/boost-mp11.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "46e636f8b4c3d8baad6af94f37838a84bf2a3ad7", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "880c42ad4df9c2f2f7dc3125f9f49c3c289726ce", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "2bda1e298f7390891b33f230bc83a59045d8e7c8", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "0afc9ac9325acfd5f47e1e831acc11e070fae529", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "a26261cdb9cc5232b748066ee61799564c3d3be2", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "68c2556b43afbb853b5e724eb0fd5269a92088f1", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "a90f12d1eca80483d10bbd93deccf5439f904e04", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "80e104d697b7ff7a283c5f7ee83ae25fe1192bd7", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "24bc0a7070d454449f3ee96728d01208d5e8f944", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "4a3070ba5150b33b08d90a7938ec2ba249b5780a", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "838fe41632208ab23e2eb84d9cd84026f56e5772", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "eadee0cf436b65b3735948f428d2bfdf332c937c", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "a63b1a2c7dc6e115b98d788fcca72f5611dc9655", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "cf20115432a67132df2313b6ad134276595cd886", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "b741f7087023927b8345779b9a30575e1dee383f", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "06e8d1438943e47b1b4282964a0d290461ba3387", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "f685c323f00cf309294ac9e26b554baacbe3aecf", "version": "1.77.0", diff --git a/versions/b-/boost-mpi.json b/versions/b-/boost-mpi.json index 5bf38a9fc2dec6..bc03b3a90e2403 100644 --- a/versions/b-/boost-mpi.json +++ b/versions/b-/boost-mpi.json @@ -1,5 +1,90 @@ { "versions": [ + { + "git-tree": "883f2e700a699184fede8118e0fbcce34e244a96", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "42a13cbb45c4dfcaea71ec613ed2336722276165", + "version": "1.85.0", + "port-version": 2 + }, + { + "git-tree": "299e9f6ebcf9b9824e91f311b2432f3c55e47ccb", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "b8b83a62d0a72463aaa0743e13ecb2bea736baa5", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "86bdc188ac62888477dff1a2dd035cb7e5b53c6a", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "82cf05256f02b93cf70ccdc141ff467d1ba2e9a2", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "d9f0ba74af84204dab8f9a68f2eab345ed493295", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "f67b743f8b04e8d1e7135745b3a18abe62a4eb5c", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "e922f77680d62cda6668cff0096eb4c34f04f4c1", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "989754aa4a5a73a526e65389199751b066bea263", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "dbc4c4053a5bf691a7fe428c8445eeee859680ed", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "df5489e174dec91e255e888dcdbe5b55fafdbaf5", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "8ba6b76fc3736c9d059aaaa6a17d2af5ebcbb35c", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "825b89feccc1de3c5fc21923da8cf24f3c67985c", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "87dd60df15aacd026d27193cc0efd1b5323dcde9", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "17190e3d8acbcc5d48001bcf01250f91ff68dbc1", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "752ad29481d8c40a2a16cf1d18669a410e78d150", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "25bace7adcac31b1199ae4e8b522a3bf020362e2", "version": "1.77.0", diff --git a/versions/b-/boost-mpl.json b/versions/b-/boost-mpl.json index ef673f4feb5c3a..5775079f7e2392 100644 --- a/versions/b-/boost-mpl.json +++ b/versions/b-/boost-mpl.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "42387dab4931df9bfd20d869b92d7c6855900a93", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "44e66fb813fd1c2180fb4676afc5be607f22baf7", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "a72bdbc16d26a9d511485400e527b5a3ef04c027", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "4c61fd8f557bd7e47e8c1ebafcecae766e1bcf2f", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "48ec467749d6a874076f755bf8d5a131381b5c82", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "dfcb80d8d1b767426e6714d6ba1b6a1473c0cc23", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "f2d9b906b09ffd6317c9de5f97537688cde482bd", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "e08d5a2eb5d5edfc5a62469dbaa283cf56570d07", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "a93828eeb5ef739da0d8669fca6f7fbccbfdfc1d", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "1acb02099065a7bdb39a002a990ab8424205d6bf", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "8890f1f2a2656f2042b29c578c57415200293285", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "93af91485b696c37c7b121f3ceba6fe771597909", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "3bb30cd9de09091f89f9dc089849942977321c3a", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "c213f7c4b3d93700c4cfa30498138df314619c98", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "1fa673fcec0135c3a144d90528f719b281d29043", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "a8b09063ef7fce74a9bfc52625ea7bf285cf4a82", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "1b0bd80c486b32952b76c2b9539555cff5d2f911", "version": "1.77.0", diff --git a/versions/b-/boost-msm.json b/versions/b-/boost-msm.json index 09d01c88d5ce80..0e08c4e7a3a387 100644 --- a/versions/b-/boost-msm.json +++ b/versions/b-/boost-msm.json @@ -1,5 +1,90 @@ { "versions": [ + { + "git-tree": "0d02e6d0be94b50518a0b47be5c78631b560409b", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "558628b5097cd8a01097ced278f4051a8f9ef4bd", + "version": "1.85.0", + "port-version": 2 + }, + { + "git-tree": "44d5773f60957e667fb01233487cb2f3d593ee9d", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "584cf069aefae39bd5a7ee9b3c905a6a02794d18", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "3cdd3ff2bc5d29f61cd8ea27eb86fd0abbb1285d", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "4276a1ca74ca3c612b74540d12b9a09a0bfd9a29", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "1e6c265d4b9681f5da0f23cb3a3912498fe4fbb2", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "8536dd1583d433e00586c1cae10d6e8d6e02e330", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "46d34f9c642921c949f7f9122d41f3d679392003", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "f465acb8c11b21def4825b5fbe283df0d265941a", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "5e74b1d6cfadd49df6bb58b46d93c07d36d71724", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "89711238080b87e62c8e22787c2bec712a22d740", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "40e93455fd2c2bd8d9539ac917a59c23bda53de9", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "ab4b1d65ab603bb1cd6a31938a6a09b32932cb59", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "5b4b10c39ed7937f0cd9539a22f7af1bfc5a3a08", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "cb6831b52a7befc70effc89fbb0313b371f28563", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "ce4a5ac8b3d7cabf044883d6ab34c4360b75792e", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "c2dc03df49f99f1fca480d0439fe973a1f02c96b", "version": "1.77.0", diff --git a/versions/b-/boost-multi-array.json b/versions/b-/boost-multi-array.json index 5fa1f2bea25c88..017288879b08fd 100644 --- a/versions/b-/boost-multi-array.json +++ b/versions/b-/boost-multi-array.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "e8032a1d638bc8cdf4b7964cf2536f0a29c14e91", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "97a1031b1310931512b6e88b8b47f8cab544b4d7", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "96fe85f99d80156e667d6ed78bb9d6a7659ee626", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "c3e8f8082a75264da806ad17e58b6dbda5ede7e6", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "462e009bd4e8e260a24f52b69b34d6a44bed2fbe", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "f7c1d6533820072446bd68c928c72964501def1e", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "2a850ad389c07479589bfc617aff5b03a2b98c17", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "62357ac27e3d8d2eefc9bf42f8bb8ab6e417859d", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "551544b7e67836202f43899772bd9ef1dd223640", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "52a3cf587864ba5ffea5902b57582d0f550d2546", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "7237f3ee6849ba4947250a01982da8c28336fd9e", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "fe3a972235cf9a9977af243ab4d485eee3b5ea80", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "3b11ed52164da13a94121b0d801c49dcf8b49177", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "9f1e6f3a8453417be928e6f603986ca0937d6365", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "2a9a9941b94769dd48089ce42e4bc3eeadd5421b", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "b83337494c61a0f45310b4c298399841ac301aed", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "afcf3afccfec7dacd50795dad8c588b3f2dabbb5", "version": "1.77.0", diff --git a/versions/b-/boost-multi-index.json b/versions/b-/boost-multi-index.json index 1be14c6dac1c9e..64fad3bd682862 100644 --- a/versions/b-/boost-multi-index.json +++ b/versions/b-/boost-multi-index.json @@ -1,5 +1,90 @@ { "versions": [ + { + "git-tree": "3217612810c59712fe9046f8d72728b1a4825143", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "68615dce25456d402abe96e7c97be69f6209d60d", + "version": "1.85.0", + "port-version": 2 + }, + { + "git-tree": "1ccb982ee0d444d203107194e983350a2f427fd8", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "34740bb7b1a6afb63e777c3d8cc80e64b547f09c", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "94433831c65256b45f78d4579eabaa896254cf5f", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "4d1d3bfd05ed85d3ea3712df38f0a07864d53d56", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "7d40ee58c3e54b9c841abc6dd57033366218f064", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "6fe88d1349bd1ddf78ded3e786a539514d285835", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "a5add430816876d69afa4df43bd91f776c8c2f7b", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "92f38ef6bc273bbbfd373bef060315f6cafb34c2", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "354572a93cdd0f2ef64b285ca013d250854359f1", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "7912e78577cec5d3412de6c4781109a0e14bc33b", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "cbdb6d27c3fd991b7126613aecc4de6e06d0281f", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "9e0d5d944725d59bfd052a45a1fa6359160bba5e", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "e217e3de385a4953c622960e326d5ae354822f19", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "bccc5117c54e12afbd300458b25ec698ae860db4", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "7a7e300ddb860a345ca0b9889cbe5d5d11934090", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "e993a57f4569f76310bc8c203372ebe472395005", "version": "1.77.0", diff --git a/versions/b-/boost-multiprecision.json b/versions/b-/boost-multiprecision.json index 2959fa9c1c624b..ffc8b14010aa09 100644 --- a/versions/b-/boost-multiprecision.json +++ b/versions/b-/boost-multiprecision.json @@ -1,5 +1,90 @@ { "versions": [ + { + "git-tree": "81b4e2619ca9f6ab4ea795eb2dadb3ed37f55ce2", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "e273097fa247b246ba1e33388ef3c77679e0e313", + "version": "1.85.0", + "port-version": 2 + }, + { + "git-tree": "d4f5a5cc6531e13e93659a81be7ef247835166ac", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "beebecb9b9d44353db537fb25e6901f76f4e1998", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "d065617f9299d2065d826620fa84f19f55c511ab", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "4c868a1c871bf2be340548a13614ee761780ccd5", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "d5c0acb2f8f25475a0a69d41460e377e6ce66749", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "d678e2c33ccdd2e64aa71ea623e1b89109502482", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "7b0e294a0e563b3c9580683dafea094dd3e96849", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "2276ca63882c838c8ab2c9b4888f1264f5c46174", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "f12752f8d8f890ae24db6c35d181aa4a9e408082", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "14efd17e671b06793e28603c87231ee7a9d971a4", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "238c03619ed1c1e5cf5b6bbcb71a5d22ade57b0a", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "4117ddf70595a1d908d386b26a7d04ef6d9b5410", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "5e2eb2ccd2df8fe19e09aeb8b2c23cb1142c649b", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "636ec387aa16d01e5eb3604bf4c70e90ef520cd5", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "2914c2dcd5cb9a604c14ca9a5e9600ac7c0ecfd9", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "58d7184ae4115f7f46671db9929708872e6aae6c", "version": "1.77.0", diff --git a/versions/b-/boost-mysql.json b/versions/b-/boost-mysql.json new file mode 100644 index 00000000000000..56beebb232efa4 --- /dev/null +++ b/versions/b-/boost-mysql.json @@ -0,0 +1,54 @@ +{ + "versions": [ + { + "git-tree": "213f4548c6f7ab4cbabf36634d7827687614c3cb", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "498deb732afe42acf2851fd1b13fe0bb7d3e2e23", + "version": "1.85.0", + "port-version": 2 + }, + { + "git-tree": "09ea550e89783437d46379ed60193d6e10bc64fe", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "a95f6e0cba42d2cca63e42389006d4f4038930cf", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "2d0da58e8e662f760555df2a7547a01dd1481b77", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "445cb1123a3d51d6cefd5954fea6cf3d06f83351", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "0acda793061ac85e68029b15c6fa6919a2f87e8d", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "d85c256826e13a62169b1f38bf7c3f8288a697c0", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "93979a186a11766a973ba4d204213cc0237f71d1", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "3b07f53eb29e4832821872d4beff53b5c2cf1ff4", + "version": "1.82.0", + "port-version": 0 + } + ] +} diff --git a/versions/b-/boost-nowide.json b/versions/b-/boost-nowide.json index 3244ab2d7d63ec..4ff66bedc4917f 100644 --- a/versions/b-/boost-nowide.json +++ b/versions/b-/boost-nowide.json @@ -1,5 +1,90 @@ { "versions": [ + { + "git-tree": "e9f6bfa6137d44eadd845f7c72379e811b10d6a8", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "4174140c6f966d130c67b6eda61deaa1b692ba3b", + "version": "1.85.0", + "port-version": 2 + }, + { + "git-tree": "2bfc7298575815e3f2e29378e942441f0b56724d", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "740c49378bb079e89ffb900e18a3df7db3c25982", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "ae23a2c639d65f74e2450032be88e341a60225e6", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "ba0821bedf1027ee9fe1e6e93543115ecd2f069a", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "b4c07fcec5ae6b5f94811dbd50ee720884d65752", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "ea86cbf24b6f2bf242d24bd8047699cbe644b68a", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "0a33bddbce29068b61dc012e6326446175b79184", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "27a80db62b918cf6940cf344794fe82a09656f94", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "7f2c197f872e761742ba027d9379eab35d344231", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "c8d5e35fa46d188e19c04320993fc3b461728c33", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "9bc00c8f52a886d934f09c93f78e0edb82ea5fb4", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "d16fe18d5e02726b147f738299dcfc9ae091415c", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "a5bf7c703090e7a83527aef14901df5e26668240", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "8013e5dd702b7f4c9973872435060812981af2f8", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "c38c862892bc328c743481ee48b3abf50e66a51f", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "2fc28ef9747a6ead394ae884518c8be324dd8e33", "version": "1.77.0", diff --git a/versions/b-/boost-numeric-conversion.json b/versions/b-/boost-numeric-conversion.json index 1d616a86e0fc48..a20ffac8922fbc 100644 --- a/versions/b-/boost-numeric-conversion.json +++ b/versions/b-/boost-numeric-conversion.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "d7c5fdc151bf418c8b4c7e8df69306797ea12f63", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "22b8c971f27497e030326f679f776201cc448cc0", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "720ba65f90795653294c5dff7646cd7a6c5fb11b", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "045c7591a2476df39303ead2ec238a792b4b473b", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "2c04732bf0a8b5a4025226e584091e3998e1b224", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "c3a65f3521df33b8a76605097a3046795f1107e7", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "00e6f269cd4fab6986205b397e46394795941f31", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "97842146c6a87912141dd1d4654e1576d12e5cef", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "232cc2c101d565009c9c60968bd2c7eab1891e4d", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "63173b669cafa107010dc0615254f7338fef22da", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "d56b02050a9ef38a6ae10578f665f344df2df0aa", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "f14f2311f06cc2499a8f0815793f5a7a39e95649", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "2ef5bee24ba2306792e90eadeb29513d3b39257f", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "d472eba74f6936b736a2759ae9e0be3c96a7d4b7", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "33a349e75f738b735e678de319469c0f9009a413", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "11dcb5d23dd6b1db7138ffe608d76134ce1e4ec5", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "78140f78c6400520bd4ce340c68236e083a504e9", "version": "1.77.0", diff --git a/versions/b-/boost-odeint.json b/versions/b-/boost-odeint.json index f4aa9284bc088f..7e21cc536c40f6 100644 --- a/versions/b-/boost-odeint.json +++ b/versions/b-/boost-odeint.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "4527453f0f9252b3c16d3db95b2ba2824bc89751", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "f3d2b345bd19ee4850caa80e2040ccf79d054e4b", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "c646b1541aabb12a2dbf4e320737043c6b0ddba8", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "ae5704875a4fdeaa0b0dc58b46e6ef38bac7cf65", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "2fcbd140edeb2924fc474103591e7c2f93bee130", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "f65beca22b3663038f2d5da292a1dd7f63c1fc23", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "70ec7a68fae7d61cd0fb694743e84f327ba34272", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "ad9209f191bcf6d65e9fae09c5d722ae1b058004", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "ae52c4534ac39a38a782f8f5b076883061f6326e", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "040c449827191e183d02552e8a125f47f95be31b", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "01735d34fb174fd3ee3108dac308cb55ffa7783c", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "3664e0b51f3bdfd628a5237a42bba521018dab32", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "271376a4dc38558bd9c8fbe66c7dc07548d20f2f", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "f08d713ac19958a488cba507887bc2e7beea1a2e", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "893dab725dc2e30afa421db9d4ad5f153da10ab3", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "069823a27c74a3a7872a0faed570b16130b4698d", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "effd1406c513ca8f20a1e2b6de0cd299be92d74e", "version": "1.77.0", diff --git a/versions/b-/boost-optional.json b/versions/b-/boost-optional.json index e4f8ac19d25995..2fdd0eb7a8c661 100644 --- a/versions/b-/boost-optional.json +++ b/versions/b-/boost-optional.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "1401709a35e73abf6581ee9eab32ae2b71a7fa0f", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "315e38ed952641dc2a064ab7a51f8050640190b9", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "0c8968544493922ea8f12a6e6c3782c3b86e7345", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "0377a7ce5a333e3098608848f0c01b10690e517e", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "48bb7c9174d9321f4b41f787edc318581972437c", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "145809a6e99a8ba579c3c0bef2c48969555a2bd5", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "26a359b912dd2fb42978ddf8ae39fbbccc1e34bb", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "100ff3094e97d23516718679d59d9f86821074b8", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "a6a111b76b0488b4b2c3a889876b9fcdcccdfb67", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "a76d1e59a1f3809b82cfd8f43851e51ecf1c7e15", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "735dbbca14eac4adff9ff74e95bdbd3923ba9bdf", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "16c14f7a21ec07818a3c8e5495c0876802bd2783", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "0a028094bf6e20c3ec659fc2b4fcd1b9d6ea1502", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "f25e73c7f9e4db6d27692ece6b2db2269bbd3a72", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "9480f61fee5df6864a425964bd13ee783a7572a9", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "4171d6f66bb828d51bee3de777da9384232b6068", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "4a1ddf516bc0edc855ab4d9b8d134f338ba51a94", "version": "1.77.0", diff --git a/versions/b-/boost-outcome.json b/versions/b-/boost-outcome.json index 9169456da791ca..458d4f479af553 100644 --- a/versions/b-/boost-outcome.json +++ b/versions/b-/boost-outcome.json @@ -1,5 +1,90 @@ { "versions": [ + { + "git-tree": "af6984e0960cb6fcfe5ee65dea207ab86fb9bba4", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "a53be20f13ae81d7a509c8bba2ec52732f16148e", + "version": "1.85.0", + "port-version": 2 + }, + { + "git-tree": "46a79ff4090b57d9cd8aa60412e78d0b19ed53ee", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "abc13edb8584dea41c6904547812a9830f5af71f", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "812e7d15d1611dbadbeec432056d11a0369adb05", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "3c30498b367ff02b3edf49c4e2e726fb64258200", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "b4f9214c118d7d3ee45f5c2624f8383ff596fa14", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "089f7ec14f71ee4d59db5bcc795551da347f63df", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "bca5b674d3737aeab820ca2f36e4db187031f296", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "7747ed969228bb72b00135c0e2f9e8be23de8f3d", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "dc4fde7c569c4edd73ef2e764f28cadec09f6c01", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "c799b9959444e187c572094e1e423a47a4c8f4ac", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "d4d5a08760d6be0ae7d408aaab2040252d209070", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "9e75e2e921a4cb4d3adb850a0e5a2515d304d7cc", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "3e67c523f8a5112b14aec2d7f931027848e9d424", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "ab5e09720b095a4dedf3a6c9c01b5512c67917a2", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "ea24820de39876b61aa98e1d54ac9663c0355f93", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "6737734e6d10c475676e1ed16967ec7792acc7dc", "version": "1.77.0", diff --git a/versions/b-/boost-parameter-python.json b/versions/b-/boost-parameter-python.json index 3e36eaeeaea8fb..10735d1448fdad 100644 --- a/versions/b-/boost-parameter-python.json +++ b/versions/b-/boost-parameter-python.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "b7c50e8467604b4831ff545543733b1cec8e12fa", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "dc0326ea3ebe63b1fc77c9d7a7807a6453653cb3", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "ec1ccfa9dabb0e8463ebae8b2055014b1758151e", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "943ba5710d0a688a0bc0f93a1decd3a89a1aa2d8", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "e226c53878059005c1a0f38be081c3bfef1f7483", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "3894f883ee35b2bae2f102c520e81deca80f6643", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "ce2b59b01e836bb57415dd89d2895e52efa67970", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "375d3ead166d0600ebedb713227e05b52b624129", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "481c35c8ce42352acd91bad72bd96528f7eca160", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "0308f77b36482007673cf703034443cf65e55415", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "6ceda11f86b399dd1edca0bd7e9609c626ea88ed", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "0405028498bfea670a8fbe4727f4a8b7b656c3d8", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "65cbc2458c2ebc14c3aaa805b24f4c136cce89ae", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "0f685a59fbc75e930b74189fa71a740ca2a4eb60", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "d5d0f28a377b7508134bef9f354168e9aa49f1bb", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "5a1cbdfec8ad70998ccfb368a3e77d8658023fed", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "5295cb4faa096633a23163b2a6409a27464a157e", "version": "1.77.0", diff --git a/versions/b-/boost-parameter.json b/versions/b-/boost-parameter.json index 794115cda204fb..7ba120e29ccd96 100644 --- a/versions/b-/boost-parameter.json +++ b/versions/b-/boost-parameter.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "3c40a45d196949795b2be3541851c291fb1844a8", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "355ecc02b1782f48f977906d1ebaf8ec048b01b3", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "166c5f04d767e7a2550280f8d78f64409aaccdbe", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "7ad342d896cd07b998ea1424d6d0b02e9158ab6e", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "675460856203c4e36b59035ce05148bf5d6c4103", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "1dce1428072cad1f8bc7b6c02f14cc6ba12da3fd", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "ba542be6ce0920e0fbc12d2fe1d3fd4edb02c4ec", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "6170f4f4b0b7b9105de27ddd1caeb5f92c7feac5", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "a80705ae417e52c0ed302f2192dc26addccdb8b2", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "432a7587942a58d632200ef03b28f5a4fc3fd7bc", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "2dd3a514f29440724fca1766999994887b7db33b", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "ef276de80d5a03caf87d1494286215dffdc51d71", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "a2b7c65bfea84b3b5c4a598a45250fca5a1112d0", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "dfa271d39fd1a50822e9c72199164d383410bbe5", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "94340499eaf0d204a8000b09a4b7f58eeb12c84d", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "e11ea75fd7178b78b5a3751aa7db269c8ef222cb", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "3f480980e4e1ce4713a28bd24d728efb0bb931fa", "version": "1.77.0", diff --git a/versions/b-/boost-pfr.json b/versions/b-/boost-pfr.json index 3c04fc39c3cf08..1f962b518b9386 100644 --- a/versions/b-/boost-pfr.json +++ b/versions/b-/boost-pfr.json @@ -1,5 +1,90 @@ { "versions": [ + { + "git-tree": "c79390e03453c40e32849c241cf07981b29f5486", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "33739bf640212a716a3c751a0b8846b0301a3200", + "version": "1.85.0", + "port-version": 2 + }, + { + "git-tree": "789f8b2ece67f7e2ebda8e88cfdcdf4ec744e8c1", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "ee5101db0d8b1d1f7d17150190c84019a1056859", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "e57ea66074c09d0b7aa008d9ab10af22264ecf89", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "2ccc905349d8ac698ee9900b86e952d7ead3f1db", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "2a38c23f0ff2226b879e1ef04aefd19f479bc5a6", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "84e8832ae82979a2748d319fca9f8e5fb397e1b9", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "441d806b60674a7f79367de3675633972151823e", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "aef1c06093c494f9dbd3dff370adf7259342896f", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "e8e3a29f5a07aa3f57e92a281a32d9da85faf155", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "de7195dc48348920b1fe80c0c42944f818615a1f", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "b313f7bf1ddb4e644aeefdbde5e846531ca0d812", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "2129988348177a6896a03c6144f20f5c562ff87e", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "5d050fa2a0189cd8ff8625e9ee6b6199b3a28785", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "48758ff038842f02fbf6f47c5f90afe1ae682a51", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "1ca2c9de4c7a8553f401a9f7b9e954eb6305bc47", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "23bdfdb9c9cb19e28201088dc055b85dc44b62bf", "version": "1.77.0", diff --git a/versions/b-/boost-phoenix.json b/versions/b-/boost-phoenix.json index e8742b823075be..ee5390cdc7334d 100644 --- a/versions/b-/boost-phoenix.json +++ b/versions/b-/boost-phoenix.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "3db90fb7dd1c352a01c0a2d72c844a023b1655ce", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "88a0883f15bc2d36b9ba38ed876e09379c513e50", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "343d3b0650278b9cf669e787d35e0552e9f0bae7", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "e0f46aa05e769ca814db892ba73697b365758080", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "0c29dec6a299097d811bc9b76439f2ad7afe9fb6", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "a4c5832e8ebf68cd4f2ee601a10aa7adfc12e6e9", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "c68391dd87698c5d288e7e6f937d72597e0e749f", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "cfcda2e56bf879d0c3d09399abb8eddcfd1b2d27", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "fe32678fa216e5b70cec84ebf08eefb55ab1a99e", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "dc96247cd9251f11421495082404e4ef6f1fb074", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "7565e47b73a5ff37273caf0b5048f1680e871379", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "b21af71aad19d9c3ceef00d799a2e5f09133c996", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "bd5461d6cb0ea1e05a378d912383fbef50e8ec25", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "c69ac60adcb765d3b35a18b2be37dd7ea21fa711", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "571d5f1a068664b1f31dddd3541b6a19bfdbec2d", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "1812de4001c736517ca9bd780fa4b5258dfb134c", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "2926d1b537106cb231bb9f3a657f6fde6c8530f8", "version": "1.77.0", diff --git a/versions/b-/boost-poly-collection.json b/versions/b-/boost-poly-collection.json index 3aed0d7a624683..0dffbaca00a676 100644 --- a/versions/b-/boost-poly-collection.json +++ b/versions/b-/boost-poly-collection.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "4bcdf6a4500a70d37b43adf4c7fd6212412d822e", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "91639424646db60ac5e23abf54303bd0bb558e52", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "736272febc0ada6403629198fa2c45aaa357249f", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "816b1b8a0e773ef1785b30cbbd296b7cce0e1f54", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "5eac8cdcf86fc0fc2753efa6acd11f23463e8069", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "28e876df1967c012343839a6258191ce5107e5f7", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "3a905d35b62d85eb36ef4a2748fde453ffa8ac2f", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "11d5d87f8e0701ad7c591b83b75d69a27249e8d0", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "8dc25d07f3374565adb6cbec2b66c72e5001f0f7", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "4256eb60f0d91c480186af87acaf8a45bedb4833", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "e4b52ef87f8698394d590540e524f04f7ee0db9b", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "b11ac38fb1fb3486e3cc705b4d3022e4aea28cf1", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "481eb4011dd911ddef930551a61840f880f121c5", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "4be3065ec0871a76272899ff58c1e55aa9e387c1", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "866f9a4fce24354f73363d787352bcc2ff22d917", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "3a128149f5edfbf7e5c4fcbf497b29ce587a35ad", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "d57a3554e15ff1a0bf279688f487751bc5f74efb", "version": "1.77.0", diff --git a/versions/b-/boost-polygon.json b/versions/b-/boost-polygon.json index c7f28fefc923db..4b234fdd52f815 100644 --- a/versions/b-/boost-polygon.json +++ b/versions/b-/boost-polygon.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "c77496b9ecf1147488b44405e7a46a857a10fd81", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "c54bef1cae107f3a678a1e165525e444aa56cb93", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "8dc890abffcd7f8eb599cf87f618ce43b5b4ac74", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "5e9ea99d0077644630e85831f6c46031e4a13d2c", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "f9f254f2317b0f98b79fba8239b81ef3c65a30bb", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "a2cd356928aae40e3ed8a5764f868de84dde981d", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "ff0451ec470d4d15f7eb41a37fb9aa5b960b7348", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "c5072bfa0aced94778153484b7b3c9302e0ff0f3", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "a9f865a95d609cf845c7df90a24bd2c4a3e8d3fb", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "0da0dedd618fda4f546705035a6cb04243cf3c08", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "8483ebffd5e8365af7f17ae0e3572b993bbe3ae8", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "0049b1b600360bf0979ffc0f45c7bcc7ff4e575c", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "9d173c6e24ed272a57506ec4f3094e35f94b61a5", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "c77b533b461ca02f57c02480d0b49175fcd33305", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "bbb7a4fbca9a45b0166893128f343ed3f9bc099a", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "67a7f31ef72a1ceff351456cc7282b6f261db187", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "81ea3095d56a98f6d5b75db6568a19e48ac819bb", "version": "1.77.0", diff --git a/versions/b-/boost-pool.json b/versions/b-/boost-pool.json index c6c63d6928ad45..1e893bce29775d 100644 --- a/versions/b-/boost-pool.json +++ b/versions/b-/boost-pool.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "fae207f1642a362cab7ed2d17550bf776ca99a93", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "da9f3ede1b0d363cda03d3899c9b4c0cac14c456", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "e0b197d034800ffc50d4832364fbe8f84faebe62", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "8479133b80578d0807fd99d0091aef695dfa4aef", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "359af8d863109dc52bf2a7f7de75bfc5cc912b6b", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "e5c81fe62cb0da4fdc940d21d87837678a2e67cf", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "f31154b251747a951b5100f83cff4c065eb1295f", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "0a399a01f9750acf2d7ac62288452f3d4319eb0e", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "4e15663be62c3d1a300c193ca87353ce8055b3cb", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "1f3da20be03fe0e6f6027b6ddf35a3cca1fdcaf5", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "6aee0d5fdd5b0aaedd987d92c035c3306d48b16d", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "ef54e12b83f87aa5e61bb154b2bffbb7ca18e45d", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "32fda1e57ec88d8316456aa218e2bcc6c5ea3798", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "72126937ced48f11d0b1bd0417b55c0bbbff80d0", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "a75a80498bfc1134bb8d5808b5f8b457e4032908", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "8c0061ca841cab5b588ebae9bd1387882eec3435", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "7794803f75109db0ca64a48d2f1cbd76100b153d", "version": "1.77.0", diff --git a/versions/b-/boost-predef.json b/versions/b-/boost-predef.json index cfea8f0ef0cda5..1d4ef4f236a5b4 100644 --- a/versions/b-/boost-predef.json +++ b/versions/b-/boost-predef.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "955dda784a843bfb85d7c17343666c5ccf0f8642", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "509cb8e43b7f40b5ac27f6d2fcc930517726af4d", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "0933b332f19fa5eb1373a9f7deeb554eba833786", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "4f14b394298998147f82b8aa97b956e5cf8afc77", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "087c63189a60b36df9891096809a9cd3393c914f", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "8e76add266584a1177e9a0f2c59c43a78d88e578", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "a7efd1a99c14c79b469d86bbf9d39898ffde1858", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "3a0c5194d7a4d8825efff8d67e0c75cae0b058d7", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "347ee427d1c355f706f0ebe28bdd2b6ade08366e", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "d4f932a1cdc8e5f0230299efcb8817f859937692", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "d842a26da11a0d212a7c44639bef0bb33fff329f", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "a332019c079860859401d8b11a5daa2911dfd9c2", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "655098bc9822d731faeee6bbf1b1247488e3e86f", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "aba63dc45c18c5b2486a1597c57a8c8bc8c4332e", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "c17a7256c1f86eab749e10b451dbf53d317afaf9", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "1865984507efa465dea0f7d597528cfedcef0b7e", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "a291dbfb68391a25f04944f9caa924f570b26d41", "version": "1.77.0", diff --git a/versions/b-/boost-preprocessor.json b/versions/b-/boost-preprocessor.json index ec230e7af6f6b6..46ae98a0eed856 100644 --- a/versions/b-/boost-preprocessor.json +++ b/versions/b-/boost-preprocessor.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "a086ddc6ee105650c442c1d40438b1670e3248b4", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "77759780d7bf4571b481aa189a7bb7150206b3cb", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "584c8e96d2679e4a63162306107e20d79c669677", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "fbdd860d6ff10d998749499c64dd6566ad7da1e1", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "87a9dcc2d893cb4b0463fc054b761dd2fb446df4", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "07609446e5cce5a0d9afed4570e0664708444b54", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "11fa54ebde61dcf9ca2e18a42aa7445b76ce9400", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "85819cdd004323b0afe1a361b9e05fdb55ab6838", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "1ca0aa370a73a31b99dbba3853293e00bb984ebf", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "84a76a2f6986793db34bfd413c3ef8aa5e994697", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "259ff3cdb31aa463866d3a638f041e15fd54b790", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "8f619e9c2da18bd9eb96e5fbb01b22bc915729d9", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "c48eda62428e1821b43a16e58be0c1e5a19333bc", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "ecc094cbf773842dc012128b15a0a8b33655a48a", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "1790581b89b5cf96bd870854b2bc4b256032a9c9", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "e69da51c3ec0a8086ab18dbf75da11649aed5157", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "6abad213e30df5ed168164b2612dba2041c7e8c1", "version": "1.77.0", diff --git a/versions/b-/boost-process.json b/versions/b-/boost-process.json index 342aecc27a7cc8..01422f6682a25f 100644 --- a/versions/b-/boost-process.json +++ b/versions/b-/boost-process.json @@ -1,5 +1,90 @@ { "versions": [ + { + "git-tree": "8d093f051607733ee4c54d25ec38604a3bdbe385", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "d8916eb04f35085fa008897d7fdfe62953e58fe5", + "version": "1.85.0", + "port-version": 2 + }, + { + "git-tree": "e5f287df275085f9e5ab7b572007685b24a88dc0", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "05dd98369d82648ee3e531a2dbf9b723b5a2184f", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "ddcd70e17925ea565402c86dae0a0ec013cb2850", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "b6a63d216875e9454cbfe56402b554ce08df2ddb", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "d0426afce7bf4a50b9928232515951043a59bcd3", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "2c4af3d39b6e980d59ecc1baa8f07f9aac97eca2", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "54d30d2c4ffbd008fab793649b57a09338d91b32", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "d5bbe25fb9d58954910bf9b99678dda4ca24ef6c", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "087e6fd8563e7c1df08ce40069a117f0e86d457b", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "8d70339726fb4a5e191b96b1f10b8808feddcafc", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "dd33fed5ab83a011b885c0816da1ab857b0e840e", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "0158e11fa88f33081d0b1f076ec789a834c00253", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "bf4118e63efe0bc19f98f3639916e3dc565884ba", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "2a6c17a26c19ac770d39c549749a86f62b93ca36", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "669ff76873e507b50238609e17bb0208559cd224", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "0e476269a7091861c1db7379d4e925df6d184044", "version": "1.77.0", diff --git a/versions/b-/boost-program-options.json b/versions/b-/boost-program-options.json index a844bf6338fd2c..27c42889d9ec92 100644 --- a/versions/b-/boost-program-options.json +++ b/versions/b-/boost-program-options.json @@ -1,5 +1,90 @@ { "versions": [ + { + "git-tree": "c041e18f05bab17532f6fa5f6faf238a2effd3ff", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "24dd86ab292c4d1c5c4d27551e1cd0b4854db025", + "version": "1.85.0", + "port-version": 2 + }, + { + "git-tree": "1f505f252dde0bd6b7cd1e136517cb852eb68986", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "56202533dad3c6ae1eb1d98ef2a966e96ba12d3c", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "b03ebc6de12cf174a894c7fae4ec636744cd8db1", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "775755221b75c1b8c48727ef5894fbd29db4478f", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "ce15d2fa5ea81e6da9f8ec078cfe466f4d4e0339", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "b15733a9444492f8882068981b01f270d301b994", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "c39f818a3734e996eb777117eb8d1492d7b1b26f", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "bccb010e7166f6260c14e7a3ecd45ac896063f5b", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "cc5109dfdf796698dc21eda3f65dccc1dbb2b375", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "e4e0b87dca28f280c72e867e0f97f88b11078b71", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "034265a2fb92ed83f1c090e3de2c0428e9723672", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "e0e5c05478f63ed0efe14f961fae87d913b06b81", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "306ab169b6f177e71d82cb08c77a8629337a1b6a", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "ad5cb3defd7e6f0f2be69f7090d2f996e4d4d885", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "8a0432f928213aacc0f1a51eef24201e1f120690", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "8ba826d9a2078c4e933cb9bfd23cb9c1a0e252ac", "version": "1.77.0", diff --git a/versions/b-/boost-property-map-parallel.json b/versions/b-/boost-property-map-parallel.json index 7ea721c402434b..7b1d018d57a016 100644 --- a/versions/b-/boost-property-map-parallel.json +++ b/versions/b-/boost-property-map-parallel.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "95ab4720d185fdaecf26cc33e4ae428f2b621c9f", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "48569a9dc9e97c8d287f5cc3dd8c89ebe369e1fe", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "df1ecdf0999a6d939fec9b8487e0161dcf613131", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "27bf40ff1d75d08544c17f8d3b62593dfea3ac5c", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "96a4e6e0494da5c3c9bbfc537f21d64b976473f3", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "715673e9e1beb9a6dba4422f317f4778b98b1bf2", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "35b35b75e5be38fcdd1d0f2ea49403a3d168bbca", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "6906d1d7dc7e80215f7889096b950d7c3b984bc2", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "cbb8b88eaa70e08c2df902783a8a3445998611ca", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "ca3887d48c4227a0b06d09aa6059793b0e61c72d", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "6673a69fdb35d721a631091235639592301360ef", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "781e2dcac5438e631a84dd2b8db94dd87a924cd0", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "60e15d78a331d327d131bba2cdaa5be5351610e1", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "addcd2668a3f5f1ce1dcd5f3b548077cd9c3a16c", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "9f8124a589753446efa038489607ddd868c7e2c4", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "2d9edadb62d7a55975cf22e01b7ee0ce74b4301a", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "32b8452f34ad6048981ab1f2a5d7c226753205b8", "version": "1.77.0", diff --git a/versions/b-/boost-property-map.json b/versions/b-/boost-property-map.json index c5666200e3a8dd..f1f9ff310d1402 100644 --- a/versions/b-/boost-property-map.json +++ b/versions/b-/boost-property-map.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "22ad5d692b6b015fd84f1fa387dc74b2bc0ce45e", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "564c1187891cddd853587d5351e373117b62e924", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "51849dc5fc658847ade287b35961038a3f93b849", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "de491274620ff8f98013f3ee352fbe68c0681318", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "afa1c14b9ca8ba001f7dc5fbed165fb9f7e34a37", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "1b4cf346ccedc4c90c63a8676b0115554301a62c", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "2fb0d2bae69811fc5b3aec9cae898cddc6177cbc", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "2f85d45654b717daeeba34ae150afcdc1df309a2", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "ba64fd3f205f23b2f4b0d38d743f64ef4cff5234", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "575f1a849205d7f80887fedc5d7b0d68c3605807", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "db58a93cafa25c7587b86749497792d8bc7b616f", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "da746f234edcef81b0100f6d5a72d2b6493ac87e", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "5921bb73cf27346ab03121a94efd62dc275b86d4", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "6a784463d4425f1b9f97d5e469a27a8223f5f0b0", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "80eb3c867ca2f805d2379963d69c12f7f877bad0", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "4c37ef13cdc33278fba6fa5c5bab30de91ce90e2", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "c866a47a5b9a770e415dc1078cc37870cd5851bf", "version": "1.77.0", diff --git a/versions/b-/boost-property-tree.json b/versions/b-/boost-property-tree.json index 590c41eb6af4f3..545b0702c497ee 100644 --- a/versions/b-/boost-property-tree.json +++ b/versions/b-/boost-property-tree.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "c5cd0890674c4cd536853f8a6b93a02db66494e0", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "ee08ac474213c90de261160aeab0eee411ee6168", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "58cf6bf5d08210849f23756eb9c940265bc3ebaa", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "ffe114412626edbea4b371503b0d1f1b4972b888", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "fe19ef0bba9fdf21f3b3dd86ba9ce16142270082", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "caa9ef5866c4dcf2869fca47fb3a478f74e07f7a", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "ba292d3a56bdcbc9be58eba676f68c604e16e6ea", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "c183cb16868f5bc299ff89a868eaf6b1a0a2f74a", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "2d28ee4ccdf7228708cdaf57631fda57e304fa6f", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "adf734f102e54d2ed73159ff2fca71f9c7fe9ed0", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "437103030a074b3d09479caf29587bb8db18a32c", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "c1f241f5a41dee5bb8e3dec0f88e2736b28f4f4d", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "80c63c4b5522c88fffe94fb9ce2ae2fbba68e866", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "0993baf1328cd41a1f980b4e1147a38e44b7c23d", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "f05a46d069778748274ff28002994e04d3654286", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "281dadcd5a8a6843ae829c4b653f33e7d1dbe2dd", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "959191d822cc095e02a3f6d9af5b68aeb823a0d1", "version": "1.77.0", diff --git a/versions/b-/boost-proto.json b/versions/b-/boost-proto.json index 64d5c6e3e7b10c..edaf18674c1aba 100644 --- a/versions/b-/boost-proto.json +++ b/versions/b-/boost-proto.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "5c050985f2027409de71cf205c8419972ad85dec", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "11a5d8fea8d96b9b1417cf21955dcb70e8c79517", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "acfd5013ece8c2a3c2f287ccb060487af5b6ef0f", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "d841762af7be07e4f01d2fe0776d8954c885d3a5", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "0a54634df836af7950a3962c00de9b92d1d8351a", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "7bb3591b035347ce419b85ae321c0e1b6c71084a", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "a88c491de292efd0f32b41b78f69d5da1baf53f7", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "1bce55f9406e1c918ef220127ac1608811d04926", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "37a65b0b4d70f7150dba9a026747b916f8994dfd", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "30ebf6222b12dc6f415bf0e8818da3b115d84306", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "9c94b6051a2f0adc1d83b8cc7d9f615e198dc13b", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "399ee91198df2dca650a4031590fa5996da4a1d0", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "8068ac7d4e5792c081ad1d0e56a46414ab4e6bf0", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "df51ae90d5540b775b1f14bf796bd7e4f4b6529e", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "26184f2fdf2a6c15a79964befeba82802d7d6afd", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "46fcd6f1550adf925df0d985dd5463991150a13f", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "5d33f62f1117da9bac418c4b85d1a1bd96c547a4", "version": "1.77.0", diff --git a/versions/b-/boost-ptr-container.json b/versions/b-/boost-ptr-container.json index 342e26e7bb555d..807d604763f5d2 100644 --- a/versions/b-/boost-ptr-container.json +++ b/versions/b-/boost-ptr-container.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "0661add5e67697002238c0b3a33f8db1f6c7ab1d", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "3d4e7432f9c72cc255271c082ce88ccde55bd2ce", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "92c0e035bf331f56b75f98e41a040424ec0e65ba", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "a7eddf6257da3e59d58651d1f37cc50ae79c011a", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "c0559a42951f7af1dab2fe477fb4cd63434ddaec", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "5b926ddc4f1044a202ed6b5a052fab6d6578f051", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "623acfd1039e24498326d202bc3aac4aed87e91c", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "fbf9f674a0c21a43d0aa0e1fe4a02cdcef8da616", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "356dc81e710c1a2fdb8b03039bcf9be27ac0e58a", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "be4f59a7efd19446541a57794c7bf233f9909af9", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "e40b3225ca0f70fa595d0293004ee2d720bad2ed", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "e980d3d7bfc56480fadc0bf280a63771ba4c3e89", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "d8fcbe89c6181b32292c07084bfcfb19863b846d", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "81b98fdaf0c11a4b157b220a98d050fabead9e06", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "879641e4ff9cfca37db16a03f72b04afeed909c6", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "81591a280761661476868c5f064461475bd10ba2", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "e954b84d951409f6445d7d49bafa66c977ed9834", "version": "1.77.0", diff --git a/versions/b-/boost-python.json b/versions/b-/boost-python.json index da1303cc4fd1fe..3b849858e981b0 100644 --- a/versions/b-/boost-python.json +++ b/versions/b-/boost-python.json @@ -1,5 +1,90 @@ { "versions": [ + { + "git-tree": "998c661e973a9ad529cf4d74eb51af676c644ace", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "64f7d4e758e453c536669b20b1da47c940d4fe4c", + "version": "1.85.0", + "port-version": 2 + }, + { + "git-tree": "1c631b75d72aba4b4aad9a30cc914924c9e53806", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "963d910a708c03c3522912aba892f29e1aed6c7a", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "65bdb598319327fb628a0d71296309e7e817a565", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "43674e733eca3a97529383f6732a3dc2c1e2544b", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "2e89ec0e4997ffd54bfbbd891df39df068d84fc7", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "b408c26dbce69d97b4ec2bac833c18284c06979d", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "e27c5fc20456f37dc552c8002ada45ede962be4e", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "08b3120f932fa085229ab4aaa68cbd97481663fe", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "3788a31404344b58dc74fa8844b30153e6bc3254", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "da7b4314d1aa35293af4b2fc0ed9fde53d2362d4", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "13c92410ea5940ee1ce96f682b1445b307cfda36", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "a040e012e71e5fe4338ba4bc23bdb827348aeb0e", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "37c146ee0ddbf30f5372bf434bca80f97d1a653e", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "0d5885833470840d6af709f368a42df4c3b09df4", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "a4cbab3ca82048134b757a0689d4ab3a83a7b695", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "879991d36cfdcdb57b176b9dac08b55c3c69a9a1", "version": "1.77.0", diff --git a/versions/b-/boost-qvm.json b/versions/b-/boost-qvm.json index 072fa2f55ae136..688ebb999f6989 100644 --- a/versions/b-/boost-qvm.json +++ b/versions/b-/boost-qvm.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "55fd0bf6c0cda8bb0227c546aa5308b8e11cd325", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "13b30f2a8b07bc2c7024eaea4db89ce51a546d16", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "14d9a09241492c6b227cd335f658a3fe3a702805", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "1c8e17cf3f58afb929799e3b0b1b0d243e11d250", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "118696ac11e3fd3c266cf23fb88ed0a1627de68a", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "7f023cb85fbc266b836aabc8f0b66d55332869d6", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "01f2e32794bd62e7f6409a14bd7c1126ef335d46", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "71b16c8f7212d75d5088b97301030044f3d924f8", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "2e613c337ef37aa5201d6e6eaa66d8699ac986c9", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "5b978e84334796ec2cde5251a83c1fff650559f2", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "e7a8cd417579d6d2903e9d8c16412ab35e7f42a2", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "01d1e9e884ca8dba08d864da357b30737c061894", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "43b7947d031f7dc90e89e5ab20a942307bce299c", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "b341b99d2ab5ebdd7722ee83fe57c5cad255a2ef", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "8f8a09f7b75cca0fe3cd7995f234ee35f985c3cf", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "e2c998753d319d94c00d3b3b3365e2a116bad23f", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "5d7b01d612075dfb3d89b799bec152785c838b84", "version": "1.77.0", diff --git a/versions/b-/boost-random.json b/versions/b-/boost-random.json index ab58ea216db09e..aaa308bed4f3e7 100644 --- a/versions/b-/boost-random.json +++ b/versions/b-/boost-random.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "28837a21143c7896257a2714036769302199b030", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "79da2d5035b6974ff2a64ea347594255fdac2011", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "48d955c298da1d4daabf112a93fa71d9d882cf40", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "c984f70ced548078c3aac8720d5f343ecc506fc5", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "7e18eb4875eee251ddbac6ead758d4e20e1b1f71", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "045960cb6d4295d363e1748931ea56fc245f7c09", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "c440ed1d17008e8a77ff3cdcc495af47103f05be", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "0c97951b0f38d6c9b469b367ac136249e1fa23fd", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "c05105528f974ce1a2b709f10f3f8c351e2a3991", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "e757f43e9530224bd993eaf6dde5210936eb055f", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "1c5f27082fac1782c697bfa676bba1671e96791a", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "5263f6656d07f6ebc6fc136e7a4c1029ebc67c63", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "d7df4d79fdeece9481a89f53c6b0d80ac42f7e4b", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "6372fd79a4e213f92ebe9e71be03fdf71b77d532", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "6c02cc8343df9ea692504b16db286eba1fc320a6", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "ca9654479a3b0b92cba2e2c05fb927715b87a10c", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "3f6c3399689c43f599f3852d98325cb272e8f775", "version": "1.77.0", diff --git a/versions/b-/boost-range.json b/versions/b-/boost-range.json index a04bcd0a574992..4250cbe6353829 100644 --- a/versions/b-/boost-range.json +++ b/versions/b-/boost-range.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "92192fe61d14a9c421db7c3ed640e7b35f9685a4", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "6987907e3e55450f4d1f87013c966407509cb667", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "4fb92f1ec30f8469609a1d965f1f7dbf0afa54a0", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "e4582865e9735ef385ea182c4327414a6e7ad2be", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "2c03982fc0e52976188f003f72055cac0e3b0295", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "7d5d869d86b0abdd19022ee0b0c5f24192769291", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "1b034bcdf929c6bc7cfd900580907fd1ca6620fd", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "fc4c6c85df6efb4afe27a53499abdcd17da71a69", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "355c16dc4d5e773a1ed735b6d74234c5540457d0", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "6af5cb1fbc3dc3ed087153266d9f7e6df3c8808b", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "ed59093cb688dece08c174dda93f65cda750db48", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "9c9667c0b5b0427ba4a93a8127e1d4660d834b20", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "7436352f0a4c6248fc5ddd3dbdf54cf745ae39e3", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "8c39bc84eb02172bd336ad4c310a181ce983eae5", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "fff762e26af0f46863606c7fd088491dfcc84599", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "1ec82281ed52b6d4ae225abe93a18392c846cbc9", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "737f4f322e661e01459862fbe73f748390b59c3d", "version": "1.77.0", diff --git a/versions/b-/boost-ratio.json b/versions/b-/boost-ratio.json index 8f132fe021939c..256f74c7a53f23 100644 --- a/versions/b-/boost-ratio.json +++ b/versions/b-/boost-ratio.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "10ddc71738dc9afb099d2681e39f7da1d509253b", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "528997e8716a58dffdd8fc0d0fb7bf303d757510", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "3532faaa9dc0f52aed83c5902761c3883a0df3e1", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "30dc6b5e022b400fbbc762c260df6b4d06a1e114", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "082d4cc51e82e8c352926eb2873e9abdf891732f", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "0fafb812427bea7d49dd318f3e72778149f443ab", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "fb8691f0340e091213aff8763edb106d19d132c4", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "cdb2522204e612067abded077c6ec1f783210f10", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "c5e609cc2aed611b76c584596105bc25c3df10c6", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "335b163023058d8c0fc1f256e56dbe5ab30f03f0", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "88e5847869a20a92c872c5911fa6603947bc5675", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "1b64367cd564cc1824ae8a554f3c263234e7e5fe", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "f47c052da4ae6392cff38664fea7fa27503e5ffc", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "9474d4e6541e03de3c1636305bf1dbcbc46ac971", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "3c85cac76a643d538a52553a54353fbb818b3169", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "a5e0af272c7df2d7994c6d98ad1d76df6b5330f7", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "724fa7b1c0e1d78a9c29595b042443090e53a8ee", "version": "1.77.0", diff --git a/versions/b-/boost-rational.json b/versions/b-/boost-rational.json index 2fae947dd3b661..a61e984940f4e2 100644 --- a/versions/b-/boost-rational.json +++ b/versions/b-/boost-rational.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "eaf89627f4ab01c16a76fe46ea532221669b6a2a", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "71df0d885ade18c47b9f47c8107df6e8498ffa2f", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "b37c20d806051bae405157033d39bba031dfbc56", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "a7aac20769225a319d7e69a5faba4e852a2d5f2e", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "8824769e6c009d6bf3b750c3a7914ba0476ef476", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "55ec23b1953b2e44dc43fda4547cf0b96bfe140f", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "27a8384584574ad32bd6daed2a7454bd0d3c6fcb", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "6120e3b8498d9976ad2d49093939c03a032d1609", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "9c516223d2f1e307b951fa1735351ddad9b6fc10", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "230937cbe2644aa72fa3487fa36f8e07bef76e82", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "0897872e94bbe1a69fdbb3f29d80b8f88af97fed", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "ebd775ad90527bcf504584312a6d8b7888ff2150", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "a001714b6712c22b24b1c3234a1c78f7f18e43cb", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "5ebe5bd52b65623fca07154f8dd993ae9bf7522f", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "bd0b9e457fc969fdac6b9ee36b77a26b3c680ad5", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "2a2877b20057e313af02d1307832d90f764b2dc1", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "d54d04de158ddaf33d7b8a6815532e8ee2771515", "version": "1.77.0", diff --git a/versions/b-/boost-redis.json b/versions/b-/boost-redis.json new file mode 100644 index 00000000000000..84e8d191de81b1 --- /dev/null +++ b/versions/b-/boost-redis.json @@ -0,0 +1,34 @@ +{ + "versions": [ + { + "git-tree": "2550196816d0888c6b5bf8e56ad1661a06c4fa00", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "8d1ea499ae5a8250c801fa56218033153a379e3c", + "version": "1.85.0", + "port-version": 2 + }, + { + "git-tree": "c2b1cbb6146f3893755f458fa0798632501b9eb4", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "b4d662b7d5bde0b16ff6b43c6028580283541f5e", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "50ed86a755d3d86e8c836bf62bd26535af847e49", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "be30e78685a77344e2115c36b317c776951bb9db", + "version": "1.84.0", + "port-version": 0 + } + ] +} diff --git a/versions/b-/boost-regex.json b/versions/b-/boost-regex.json index 9066d4b5a65a51..d669c7c513f891 100644 --- a/versions/b-/boost-regex.json +++ b/versions/b-/boost-regex.json @@ -1,5 +1,90 @@ { "versions": [ + { + "git-tree": "9318a93a93511ef643cf511123f7be253b27cb66", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "6f5d77fa3adaafae00b56ca0072d56ef4c4836a4", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "18ca23dc0e589aad64e3bf1a63a531c7938d0f53", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "07225eb7106af6a87059566358f671c9b095a4be", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "79565c2c7713679611f25b158373a1063de42fb3", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "423f035001a6e046e2f94dc3ac68201a4a3d0307", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "fc3fcb5815c297112283b9fd5eabab3106f6e93e", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "d31af2d45fe496fd2d89b734027e72c92d23f1d1", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "3b5d4d8bf6461bad9584cfcd9a5402d3c6fde17d", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "172bf85987f58e14b7471bedff57e03790292538", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "02af2b7e6a7f5a4237bdff6b51d8250ddaf46e87", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "c2c6917fa29253b439d0272cdce5f3e2eb9a454e", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "9988f582a655bfd7d3d88dbaa771ec575784a750", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "8ca14abfbb7f576ae870202425068b603e48452f", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "49b26b133e2b9eb16d917930b2c697b58eff5530", + "version": "1.79.0", + "port-version": 1 + }, + { + "git-tree": "a10bdc49cf30856030ed08921a5a30f3c3f3bdb1", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "f04cda8dcb436a4cfaa008331d05ef2d0974b698", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "c7c4497156a2c9e4f3227ee3807512630242307d", "version": "1.77.0", diff --git a/versions/b-/boost-safe-numerics.json b/versions/b-/boost-safe-numerics.json index 09227552291e64..a36bf8f6e0b771 100644 --- a/versions/b-/boost-safe-numerics.json +++ b/versions/b-/boost-safe-numerics.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "1626ba143d5988feff992b0616cd04543d6e3626", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "3992a2ca6c7611c5f2acb23c1e4d355426208688", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "dfc8daa3031d6b965001d16a66a867a313ea107e", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "06d8aeb7854584ce490b87dcac6d301576c945fd", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "7b34b4b91f840fbd91f16568d9094ec592ef2bc7", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "6ddd605460c8155173f242e5ec867b8baf9d0ec2", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "13e759cd59d56323d9c3079a28502a8d6814c6d3", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "0e786aeb741e3f8444c7252c33039216a9b74c11", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "d20295b553a82d4772b75b6b2aab8240359ae20b", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "86ae8f2fb46f5d370e92690b0c0cc8b8bb99c561", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "a8eb3c6e3208e98dbfe7fdd8465e2f2f6e87013f", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "a4f214e54f41eb483474cbf8526a5062873c9af9", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "02216f2a6df2143071e9a0e994d8458bb6f42d1b", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "50e0e90565017dfa188314c53df5119c8fa3e5ce", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "ac39614e028fa51d8de1210c0a003ecde411e156", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "d425b6103c0c8a5824e74768d16fee276a33e99c", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "fc4fa0c3b394d848fbc83ca16bcaec15742ed3db", "version": "1.77.0", diff --git a/versions/b-/boost-scope-exit.json b/versions/b-/boost-scope-exit.json index 622822b7f3f633..d33a69a85d17ff 100644 --- a/versions/b-/boost-scope-exit.json +++ b/versions/b-/boost-scope-exit.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "59dfff48e5adaebade67c01436b2d04b628a582b", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "3eb698d5ec7ddfb6ad1c0ac3f883ebf056057cd8", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "0753d4609c5045426185ed635420d7e5283a3910", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "451205ed4a1617b509ec9d3ef02e5e267a8ffe00", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "621d3782c24cfb1e35566b350a8b026975e09a69", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "735ee02b2601c7a8777fbe1d421d8e6933f7c40b", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "8b1854be566e473fe24ae03d88e2312764dd1917", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "32c1f14869bea00029a8b45bb94cb63ff70cc85a", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "38b294de8545f98716f165966eb6e93137134975", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "1b2d7071e7f4db8ef844cdf22a9352c4644ba2f8", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "13c43013b37127307c9bcf5d432e456c15e20481", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "d14e5988ac595fd8c5e4c0a2e3bbbad6edf2630b", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "157b0ac2b97473baa320c3a436d3952ec556ce58", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "9d6f15ab55ce24e64b53a1004d5286a2a6af1ba1", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "a27fe8833a067b072476368cdcbc1ae686236578", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "e3d93cccff577045dce502c87ffcb02efb259ae8", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "33d55355e2f85c6188f1d131f386f86b8e29efc1", "version": "1.77.0", diff --git a/versions/b-/boost-scope.json b/versions/b-/boost-scope.json new file mode 100644 index 00000000000000..613691bd60b8bc --- /dev/null +++ b/versions/b-/boost-scope.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "56d916fe09056e5841bccb054ebb74b1b92798ac", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "977b30e8d7fe0cf13580c9f65a9930d3ea441e19", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "51935d07ba01e8eeb963c4614026f6aec791ad27", + "version": "1.85.0", + "port-version": 0 + } + ] +} diff --git a/versions/b-/boost-serialization.json b/versions/b-/boost-serialization.json index a762ba7e011a81..dcc9b6a856d74a 100644 --- a/versions/b-/boost-serialization.json +++ b/versions/b-/boost-serialization.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "59c1fb041dc91bd1a7cfc14902bf8ec3e211a58d", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "9d9fa32ed01666e9e7676c8cdfad1e9e9ba094f3", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "68c80587bc870f69fb2c3bf8cdf057fe9b2a115c", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "9f8f13fee874259b9466bac92fbf3f7c968f2fc7", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "1503200e82a30cc47c9b3b6bf93b4109eea195b9", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "7ebe53455e9721a76ebe14c651a2deafbcb758b8", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "13b68c431b9c906d036a83aa17358f0778de6a97", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "b1b42d850a39f2675bdd583b6138994090f47bb4", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "b096b460eacdde8817d706be02e5538158765168", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "35eea20a5dba97412f01658e1334a766089dcc62", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "b3217dd0a496c9abad6b2ed9fbd57051597d8672", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "ee85407a3cf8529107ed9c50b350a72f1e42d91f", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "bf0c163ebd43ebc46c07dddab43c65b3c751fd41", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "566a672aaf52abdc07527d293f88772b3e28e079", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "aef44ba080120ebe8f5af25a6d019781323a5206", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "c51578433055196c6e74bcdf792f4092479336de", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "bdb25d2d55569534825b139f62cf29a2f7aaba6e", "version": "1.77.0", diff --git a/versions/b-/boost-signals2.json b/versions/b-/boost-signals2.json index 633f990917f739..2f6afc6f52da1f 100644 --- a/versions/b-/boost-signals2.json +++ b/versions/b-/boost-signals2.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "0d47661c21531ec81da587a8dcd098db005e8402", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "1ed53bf8b407448d660a178946f2099a2f9aa9df", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "9e71875533ef9761b6653bf23d3626a03f34491a", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "a5b831c6c6f7b4e025f7f29a6b21678547fc64ac", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "455e1a1c7cb7c023f425c31af5d3577559167219", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "41fa1cbba1b311066df31c154e0926fe003039df", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "f6f60c82002c81f4e03209ebffe7f410b926d64d", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "62baba852c7f10c46fb042bd70d316e4b0178382", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "612a8c8753bfe3c064186f7ff0596c87ae202b83", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "1ff3e296103d255821323aebc556c4a1e535c69d", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "883bfdd7bbaa44827ab5e88d8550d8d881df1ad0", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "30c903917d078fbd2015553cab698739dc09ff10", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "1d2651cc0faabbb473973110a28cc699be1e239b", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "d7846d029daf05be0a560dad09ac64a64850a297", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "f6ab0c163ef679f14f84b6510c8508a90facf986", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "b3a1129bee4ba8d867758248e1b66add1a2bedb8", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "ac3a1ba310974e1653a99cccc34339f29ad43786", "version": "1.77.0", diff --git a/versions/b-/boost-smart-ptr.json b/versions/b-/boost-smart-ptr.json index dfb0d402efbc0c..a47f6762588b03 100644 --- a/versions/b-/boost-smart-ptr.json +++ b/versions/b-/boost-smart-ptr.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "a5ab980fbf31a3a2a95cadf878c42cfdf7e5449f", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "12b7fc7a25dc88e99e9a71da259c5467f3ae4e4a", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "38581ab402d9d4a6d9c09c62b9b6f3c5b65c816a", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "ae0420a9b2b1ce87d0824891c68101ffc1931155", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "4d235b9c9f410296263cf6d1cbf598befae87dc0", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "81506ee1238bf93218cef84de86dca96dd0b3682", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "890abd9cae8fc0c9a3a6f9a6b67a4cfab375a775", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "a61a6534966bd4a70b051538a287de38be4345ba", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "5a3d3e5c44e52ffa9640751a4ff611c9a0c2d1a1", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "9658d324de2ff7661eb9b9a94c50c2c32fe61e38", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "e90f83368e155e23011c530bec6c623c182c3f29", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "c4d4e6df3819a7e92761b00c2b87ed37154f87bc", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "5d091ad74677a0e52d40ccd2fba29bd00ba5fbfd", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "b7b255db01f37243bdc87ffabeaf493dcb9de474", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "b94b3b41ab4bb281041f40d876baf221c05818ce", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "18806e0372da7b7f8b2d6a8ff4bd7bf074a690cd", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "700532550b70d03254c77f1467ab4c01a2c6e62a", "version": "1.77.0", diff --git a/versions/b-/boost-sort.json b/versions/b-/boost-sort.json index df8596da5e8426..9df41683a06799 100644 --- a/versions/b-/boost-sort.json +++ b/versions/b-/boost-sort.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "bde7ae52190c4150e8d24728d4ed95043b3764b9", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "820daa40d8930f90d6febea00c9c06b10c42f4be", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "573ad4ec300570beb6253f5f71cc16641a0564d7", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "f4b1da7b23b706c0ee8782c230b0a24e81d85091", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "62b775c8967ce4347072c17881484188faf5871f", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "71805d53be199c5d3b2566456b9ae7cff9a8a94a", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "5fd7339a68a26cae5e7f10dc5fc7b01a7763e5bb", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "52a94c57d228888c823e75ffb50c1ada6243d400", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "c80dbce839b8b0a842817958af53d490db5d91e3", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "4986baa8d4778863b3374e787098adb5d3ae24df", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "e5450645bd99c035eca667764045bd70171aa1bf", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "c1cb105638b803dcc0c836cf54735154f6784e8a", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "bf35201f0de023dd7a287ad5476a363805642a39", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "be28a0d59e37787052758401bd5ab59a0f70d9ca", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "74c73a3ccafccfc9e85fe3879ea90ff7a13ebcfd", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "fc0176556b8aaecb87376a59e2f711a9068dab3a", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "af8327ce79cadcc43327a0f75d79b2e5feed38b8", "version": "1.77.0", diff --git a/versions/b-/boost-spirit.json b/versions/b-/boost-spirit.json index 098082d48a1900..61e5b18eb09717 100644 --- a/versions/b-/boost-spirit.json +++ b/versions/b-/boost-spirit.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "9b99b61382209f93318cefbfb964f004f697e0d5", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "16e46a21d657de8701bcc89dfa4d0866aea7f122", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "34a533fc9c131afc2aab2793ca48ee3ae0b7c620", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "b38cff1d450f1bdd7b44f26dc8155ab02afe3aac", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "2af169b76d74cf6612d702c3cb5df9fc51303592", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "e2ebc2bcf72d8ae953ac54163a7c5b43f17396f0", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "292c5391f0b78b7009740961762e199aa33d5a0a", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "e3722a0c3169cbadc658d55b9c5042821f38c0ed", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "1c21c7df41e751a8b80af93154fbc5839e52dc8a", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "f536ce478ead1239c82201c2f6160ea3e6db9d86", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "5f9fb3913116deb6c02b5cbea5d65850dfe0c720", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "41b83a098417a4afb01bde1932d389f1d5fd73f4", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "957991a8081ca1c3be811fd21e1da58cc0b0428b", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "74f1c93e41e9b732a47afc259b396c0812f266de", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "6a4bdffc6ef22bfee8942319cb5a69b2e85fe231", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "05502d056fb4e5569f87cd2a591ce5802f4020eb", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "bc66c5a9ccd7f7bde95426392bc7ff62189f920d", "version": "1.77.0", diff --git a/versions/b-/boost-stacktrace.json b/versions/b-/boost-stacktrace.json index ffa45e095739aa..2585e48c08aebf 100644 --- a/versions/b-/boost-stacktrace.json +++ b/versions/b-/boost-stacktrace.json @@ -1,5 +1,100 @@ { "versions": [ + { + "git-tree": "fbe31177be073a8765c33c48464ebbcc44f29a61", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "71c30d63b239bf520a583d4da9ceb17770bbc776", + "version": "1.85.0", + "port-version": 4 + }, + { + "git-tree": "a81aa3960c8e5eb5c5d3dbc77ba97b830c89667c", + "version": "1.85.0", + "port-version": 3 + }, + { + "git-tree": "0c354b5302458460959a9dd1ef3e80b813e8513a", + "version": "1.85.0", + "port-version": 2 + }, + { + "git-tree": "e298ec69d794d2635cd56c6f6a6a6cfbe32d44f6", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "62cb7aba5fff96d6f904342e4ecbd73173db5aa6", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "dc0dd3025ddedcd693d91de5e97cb942733c247a", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "e4bcf4968926d3320effea3f1e0389783fa6d073", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "d9fe043e8398589eaa7c319295a87114acb55538", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "d9ec91eb7e104db3c699004fee94ffecbb09a827", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "e396fb4ba828edc96c7843024fac4c95d0c3dca6", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "ae18b290cc8132b982f7ee9ec59199f86ab199fa", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "39f36093419faf46f0a41d57e2d4acd5c38a0054", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "adc79a2df59059b0a65b9e6cfe6fdb94e5411ce2", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "fd69bf1078581bfadd66d4dffd33a98afe742fc9", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "be2886a710a14f41b5272e48d48cfecac21a650a", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "d2168810ccbabcae3d538f8679181ae300b815ac", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "0ddf64c066bcc3189d13bd7eedbaa646cdb073ff", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "e00114d87145dd426e0816ce0e5fd0ab4a587ad9", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "8d5ffa9ca1552ad32a5c6a78c28a3e275323dc2d", "version": "1.77.0", diff --git a/versions/b-/boost-statechart.json b/versions/b-/boost-statechart.json index b3e250803bf5dc..b2bb370c54cca9 100644 --- a/versions/b-/boost-statechart.json +++ b/versions/b-/boost-statechart.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "f9037f665ed8408005a53923677a950bef43ed80", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "095b6d4b079182883253db6f18b997ec3f53a3ba", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "28c6d86005c1ab8177581ba01a839f6e03289653", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "89ebedc94a9e11801bd4474734e49e83bbcfc6e4", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "21398359f6a56d42c75929dca6a5fda68ffe219a", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "5d2243b3611cb12d9317e672fb7fbc296e87494c", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "2664cfe208b1eff1257e2de86a72ba359ed3e3f4", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "73dbf3ff6a02ae856ea69c4a9c6f32905463ff3a", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "e2dbb2792189ed8380b551cdefc615f72aa58aff", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "38e529d1388ce4dedb22e847324b30aab1f97444", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "55f07cd3388d8ea9c56a186d8218b600daa14b4e", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "013a33e392ab38da49ba7903a970c4d146bc4d98", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "6397499d13e7ab3fcbbfb156613668570bfe6222", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "41d7af8a2e26fd1f41dae61d62cb8484ea978884", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "b6d892f7ec7ba87a98fd9bd2fced0c0ca6161fcd", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "ef8ccac6b5ef76c3b862e46b9f6cb37169e8b20a", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "044b9fc61c729216838037b6b519393e32b2fa26", "version": "1.77.0", diff --git a/versions/b-/boost-static-assert.json b/versions/b-/boost-static-assert.json index 1da1c117dfd724..659e0fdc91e053 100644 --- a/versions/b-/boost-static-assert.json +++ b/versions/b-/boost-static-assert.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "47f251620a2037084eb2d8ac0e6ff3601523e42a", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "da6fbe5e5e5a77cd1a4507e272781f5ac12f61f1", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "fc871946acae436f469997b7f59604a4e46ee9a5", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "edc97487412ec39ce85761512aec6317c58b9246", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "c79455c647747893ea950dedb858fad16d0819c3", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "50eac53fdc886f9de87fc06717a4ae3a939b28e9", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "bb7f6ee1209b0760b458727da129653965e7e98a", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "e6e55a999a301eb62d7c4da853a6aeb296713943", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "3c7509ddc456f0a85962fbb51df4f998c3062999", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "bf5777cf607209edba1236a1cf87721ad896ead5", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "b53209114fdd0718f940210564faa76aca7a9858", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "13ef84b94578c2d386f86a468ef2e8720689c240", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "e1d473e4761320293cb036a6dd2f00ebdcff169e", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "55582331cbe3fc0e46ca145196d341140511edad", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "673cf82169b2b1696d993477d47b2f94d4350a7f", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "0d1e3a21f0be997c400b7c60dc2ec1b1beccbe3c", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "57ca16ab3652380b32a137add7aed6a385754d75", "version": "1.77.0", diff --git a/versions/b-/boost-static-string.json b/versions/b-/boost-static-string.json index c5953e7103af83..be9cb08f44206f 100644 --- a/versions/b-/boost-static-string.json +++ b/versions/b-/boost-static-string.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "582bee8fec9374c28c43d8d42f7dcc0e360e3998", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "e916f066e670a2f0fc1f739badeff7d5eb3968d2", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "af9ea3ed9fe22bd47c2299a7bde9691f567c186b", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "6af794cc7ac294457b1c451b0eebaed7634e8b51", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "d4713f1a2398b6e21a7d5906456621f5eb46156c", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "dba046b1b41f91b5927d8f4198157bc135d6a705", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "b01da85ea910c32e62403ec6e7d7749750e6809b", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "d6659ace5ff022455382adf6078c00bf015d5170", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "6f767f97f025574cf3a14d6390759ff063c3b7c0", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "b428f9b5942c135a898619782258dd4a4d453c33", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "70d098649171a07cdde0895e80320d49e709ecea", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "ab3906fbb1edb4604ee0bcdc3f46a742de1786c3", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "ce625ddf570552c9fb62006d8e20a8ba70613dd1", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "b58ce47fd0d910a9b436540cf87e0b06a1767fa3", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "575a5fac2b96da2ff39038a733fea5455f91caf4", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "fe40bbd1d9be4c65daee4bf8f58a6b08baea4bdb", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "8296453890169b2bf99e2b7ecf4231c7ae572903", "version": "1.77.0", diff --git a/versions/b-/boost-stl-interfaces.json b/versions/b-/boost-stl-interfaces.json index 4d7a745979ba00..bd8e67a62069c9 100644 --- a/versions/b-/boost-stl-interfaces.json +++ b/versions/b-/boost-stl-interfaces.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "cebcbc66ad554fe9579f8446566a674dca2adb04", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "1c95f0447d6bc2eed8de4417302dfa839977f626", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "dc0abe949cd3259e9492f81e6b0ac7b8e8f1f8bf", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "094f8f820151097b11955f6646f8d80b81e6dc8f", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "593aabdb7f8997f9147068a5222eaa68d3642814", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "c11bab85b94163499bbc4e7931ef1270fb64213d", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "2c8e63f22b9a633855cb9be3712ae8010cf0dda7", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "8a8da16449c627e1e3514b6f0c865423def32aef", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "b3df561ef1e62cfb1f2210d12fe99ca3b019d0eb", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "e3d2a9d9eb7bd34df9111f68e506e0645ce343d3", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "4e0502f0d47b518d9df959f7bb6ea52a63c2dba8", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "3e57dea9667f1290b4f12364eccad312823e16d9", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "19154572a3a78e70a7b43d0eb17579fecdaf75fa", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "0b82eb711e6d0b9a580b7fd149b1bd4b95d9c9d1", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "1f59d2ba966f1e2c2ef5f23150c5a8dd348d98fa", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "536059a4a77be87c1825fd1523cc29e47c86541d", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "0e127914d34e8dbaebf9f36fe800b8bc85252233", "version": "1.77.0", diff --git a/versions/b-/boost-system.json b/versions/b-/boost-system.json index 7e9741164bba29..505cd947a9b48a 100644 --- a/versions/b-/boost-system.json +++ b/versions/b-/boost-system.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "7c85bcb721e1a1cc3bd96660476a30c0eba11f8f", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "2c672a1cf95767d7ced16740ba9bf8810d67e051", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "5b85bf9f2f1fe69edf1d99e29470bca45cbeed6b", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "22de59dcf232bd59517eaee5d7106eb70ad977e0", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "c87d6964da1b27c95fc19c5ddd44c2f20ba4524a", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "0090d008796452ba40264bb11437e0122a325e23", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "b1bea82cc5898b04f9f797eb47026b667a03de00", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "48fb125e52a85de87f4ff03475742d79f84b42cb", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "b4c52641930b283d8706bdadb3a00f0d4713c304", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "b5bda1dda74953d8b2ecfd6f2a67b3503a47e9ab", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "dbd935ccd3de9569170e612ef095ffe02314d5dc", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "db5d6cd7ad188ddf42fab70cbb1818c5fad29690", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "9a6e70bad5ea38a9e78b3068ce0bc9237d4ad413", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "198bd87002215340f09b4269e8d80dbb7f314c7e", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "e5bca2d39362ef3978473a1d184f017ed277d1e5", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "eaab2373181b829bf4cb4ee298dfc9c80e98f01f", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "86ac553606d3af5cf67b96bafd1ddaf9e6c57b60", "version": "1.77.0", diff --git a/versions/b-/boost-test.json b/versions/b-/boost-test.json index f7f6df87e386f4..e6e31380a45c81 100644 --- a/versions/b-/boost-test.json +++ b/versions/b-/boost-test.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "fce3e32f81af52bc38b505496c6b6f018ed10f7f", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "482d17a155b4113a4f8a1363d39a626367379ab4", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "679bc81e6c58572282e9e78643a9c2eeac86f74c", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "0d2411459c1e795fd312e53ab4bac8cde347c821", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "28298078d066a4a0b3b27a0c3f9acadeb7e01260", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "2e21f61b617327941161649451b4a022747fbc1e", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "b6d22c3109a795ff79ca53f0b07afbe683d83558", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "7f9b16012eb50bf79ca3c7193b3a91900342fe1b", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "77df201a3df02a2fa21de18433474671cf2f41c0", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "7e47dbce4949b5085b51a15ebb1041c86c7dde88", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "8bc801c290dd3f43d247dd2c27aea6ab17d57c4d", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "87a3f7d11a57ce11fa2fe15ddbacb51fbf5af0e6", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "7322867adec8f2f81a99e227202805a3f291fba2", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "7324e419ee3fa4d7871aae2cac389cb3eb2dda94", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "127affd76f8dea78857d11e147a2cd03d8e827e3", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "5015382ed40be617a3ec97adb17c0c1ecf3ab2d9", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "6429276e9f4fa438346cb3d41e73b9c15bff1868", "version": "1.77.0", diff --git a/versions/b-/boost-thread.json b/versions/b-/boost-thread.json index ac617602c296b8..7613520f810704 100644 --- a/versions/b-/boost-thread.json +++ b/versions/b-/boost-thread.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "4859fd5b6e005b5129c0f552de4017ec6f76546b", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "06d12e995e62bff7a06104a6065c64a06efefccd", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "8a56e3d5d0b99dcf5df8f2f51f2b8bacfbdabec7", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "a57109ed508a9af1fe915cfa2550d4b5a8b5daa7", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "f7aa0651df5b4e391357cfc58db1b87f11af97e5", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "f2f50fecd4338161565a0425c3e9b55fdbe68424", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "183d7fba1820b773404a6ea7351f4da539612367", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "10385bb625d17d57f636154ab2b2ec6d35bb4615", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "73ab1bc58c1a66ca2d230d584b5a3f3277ff7698", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "7769fa8b3f14741a465e312f373c670392d88986", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "583c31028e306ea49735070fadd46a76cbd8c4ab", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "a922dad3c4b4270b87e607d89794c1c7af09368b", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "68aa268b4f5054150b946af87cf73a58ddd46281", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "010869a933ea4108c7cfb6ebc10d86ff823a1073", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "d40c962d08c08d397520ace757ef7aab055a59be", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "ef371df76c2b790aae7209d2866c467bd6d339be", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "1c097a032a997463e15245272e40ea9298554f8b", "version": "1.77.0", diff --git a/versions/b-/boost-throw-exception.json b/versions/b-/boost-throw-exception.json index 39345f00046f09..7e10cf7dcd7750 100644 --- a/versions/b-/boost-throw-exception.json +++ b/versions/b-/boost-throw-exception.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "4b282c6d95bbb3e399592f9eb87b8f420d34b3b5", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "1484d8b3741dbf840c0c88a8bb1205efcf66c288", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "d1b5ac92ece793a441d7130cbf2721fd544950b7", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "c37eb6fc4bdc04f175d66e81625c3f48730426b1", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "f3c85344985a864fb5d2245f788197ad3c727ff4", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "22bf09f8d91024cc1e74b19bb6333baeea262b69", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "3416e3ed72a0b469169cc290cafeabafe2bc4859", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "c51c9fa76f925c5824688c6ca9f451716373b5d5", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "ff4d027351210c3566727fee101f01de90240345", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "24786ddf6fd042eff7e75cbb3573d5ba5401530e", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "ed6e94c9c5d823031c31f64f532ddad1e302d7c2", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "83435c583506646391d45f472ac19344a435cc9c", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "1bdea74428f14ec2c9906cfda12610ffd0b53187", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "7ff821c116eab19736c1549d09245fbac968c7ec", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "1607edf60f1243503820e06b4d3e16c385aa691d", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "2ab1c68ab2a41696a5f36841a66178256b8d229e", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "f0887800c8710d96015c7c1541f78265e1227963", "version": "1.77.0", diff --git a/versions/b-/boost-timer.json b/versions/b-/boost-timer.json index 2d50aeb789ff69..688c4f0ed1e61e 100644 --- a/versions/b-/boost-timer.json +++ b/versions/b-/boost-timer.json @@ -1,5 +1,90 @@ { "versions": [ + { + "git-tree": "68f92cc4f9c09dad7f84b71a4fa48781c925ef9e", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "199a3fac20b6a82d17be36702dbd4aa9418d78a8", + "version": "1.85.0", + "port-version": 2 + }, + { + "git-tree": "4b476fa27021791ca08c8692799bed677cb9e339", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "35a3a3f621a48e38fb92b0703cb24ff660a40ca2", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "3ee744db56b3d3d69e1160a31664731788cbbc54", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "95a50501b5eba119f8732c2fc02ea00b926ec740", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "c143993e19cd4999f4199d79190b48058bd13a1a", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "161c4be7bd7c9021a41bd62b3b5d06ded0f1bae4", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "df30d3eccc932381af5653911a0708436c1db576", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "c86715f4f50f065882791fb8fdee4f42b2533084", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "c3e14b189e9ba8356438d69471038ffe993ba9e6", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "0e84531b50917eee5d89502cd2fc3e495aeacb20", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "47a032967b9a6a2094553778df7804d25746a235", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "fdfece6a14ea383eabe8f147c1672c7b0791ffed", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "dc5dca14265350c93bafac78b73c1305d514a9ea", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "ebd77c0ba62a3665404c4143e4208b387b57a5ca", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "bf38eaeaceb0c989b414c6570b560e28822034fb", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "aa256b5fe2ecea8dc514e446f136bbe1100a9805", "version": "1.77.0", diff --git a/versions/b-/boost-tokenizer.json b/versions/b-/boost-tokenizer.json index b66552312ff79c..0fe3a37987dd83 100644 --- a/versions/b-/boost-tokenizer.json +++ b/versions/b-/boost-tokenizer.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "b7b01a69aaf4f53a6e97eb141790cb96222f69d6", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "013e44cb7fb8db92749d9f74203ff919ac3bc2af", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "d4d77b143e67e2cd1ef8505847a9f23cb9b3faf0", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "5fc004668181ab032bdb19d173bf1505427b9e9c", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "f813c482e33e213480b75d69780c4d795769e581", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "05ada2a1cc63fe9b4f5b4e9ac1d6ec63961e281b", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "8d3578a014b8545ce2e4be7e6243c50e3fe2f41b", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "4a53c730b20cacfbd8e6bbbd8faaeee0720c9fc1", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "b49b178a2beeaf3b919c3e4535b45abf89de6818", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "7deb519f49fe9ca4814c3ee10da9cec1c73428f7", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "57db0724f5f73d9e80decf23271a69eb117724f6", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "53b972f181fde0bb98a3798a29f7af90c5aee1e4", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "ebdbeabd169a5242203d56538a4112559da6e4c8", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "860575e6cabb9769a64a55d67b8734decfc0dc25", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "7e5682fee6727bada3b88221bd416edaa80f6a34", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "24c6aef67afefb01d20749d7b43790efcb1dfc66", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "56a1fb828a469ba50000983860226452c264050f", "version": "1.77.0", diff --git a/versions/b-/boost-tti.json b/versions/b-/boost-tti.json index 8de66a06111cbc..7eb93396dabeef 100644 --- a/versions/b-/boost-tti.json +++ b/versions/b-/boost-tti.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "3f7dbed93eef0cfb857c238403a1020417cef1e6", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "3e8107b8f05a378b92a451de347c4c8d3034616e", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "5f7b72984115427eb8c7b5176ecf1a7d098daf5c", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "e5705dd4b6efc860b945194a2ae443bae1ab9304", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "2a8f4cecd47d8c713d8efd3cebc2567f16ba2050", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "06c466d2662d638138c5318e4ad3a165974de862", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "6fbbc2a47d406102ec479ff755beab26984a20be", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "cf4ae2c2fc67d7878842950e97e57c28811b1fd5", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "7ceff9b2a8616cf2279c68d70a29abf07ca10e17", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "ac4f1da7b85d3cc5746463d7fafd9d2dfe23e2ca", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "1df9a6d33b9126324264952182629c03d98d750b", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "311341a3527a8ebef69bef7604dc0583896ce29b", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "d64d8aaf865a3992837a4cab0fb398b124daca3d", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "845aab372d2f165939e1554598fcb6d7963119e8", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "027de695e13801dcc7a947fea766bd29b687e7ce", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "c47f152005c71db858b015f18edf72b02f7ebf27", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "102fbb95889400677115252d4a5954a2f7edd5e1", "version": "1.77.0", diff --git a/versions/b-/boost-tuple.json b/versions/b-/boost-tuple.json index a37d4c55a453a5..6f8d6f2f3c5155 100644 --- a/versions/b-/boost-tuple.json +++ b/versions/b-/boost-tuple.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "b04ebfe07fa6c45bf2e0dd35a9fec10add1b6ef9", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "0f3d4dcd2e276bfcf1af7e3eaab6503d281e5407", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "fa6c63977155870de0165ffd7e2c1d921e1d9644", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "a03e5b5e84f46eac669699ad918d9132e8c4c2ac", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "226ff3eec30fe4b68902e7bb3f36db6dc580faf6", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "a5a7d3cf0427278418ddc0e91a3858218535c8a9", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "005084a92857215f3e0db64c3a7a1d1d70c91850", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "c9173d5394c4b31fdf698b156b542c29031d03fe", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "54dbf60f65b0931002de7684e7755ae35d16eea4", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "dbde6147fcec0717164899b0964444188d38be89", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "f650e2a64dea195b24089c89356f37bf17aeb6be", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "5daafa51cf09e1291ff04ae48465ace1fd60149e", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "d08e7b23a8644fefd924b2cd21af2c99b6ffa7e6", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "e4941b65ae10c7111efc790716e7ab44108718c0", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "c3b718eea1f62e7b4918b3c4f6a4be731d4085ce", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "da0a88c5630fa116b473e02aae6651199529649e", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "35d10ab4f156848f6f08f8bc26e41b27638af55e", "version": "1.77.0", diff --git a/versions/b-/boost-type-erasure.json b/versions/b-/boost-type-erasure.json index 2d00e539e8cc63..3b84c455cd8753 100644 --- a/versions/b-/boost-type-erasure.json +++ b/versions/b-/boost-type-erasure.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "47ddf4b164e299f7a619be3621ecccdcbf737a8c", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "6ea575222a40bb603eef76013245b4e9004ce1cd", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "0d3ce5d0ae32ac34647f0f096b5e408e9e04b8b7", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "c82287a09c12722a2be497b0c60a870ad1e9b9e2", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "eaf1e9af3557cce341ffd8853e02c019f03dc7da", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "9897b32081b334c6519a7252247d7dd292414e5d", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "8672547278454bfc8a842f788ed797c834ca050a", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "abc972b6543f779324d60f5c619a205edda22b2b", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "89ca8e5140e7b6b31db688b4fb4819cf8256570f", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "2db0ac9588dd25a7088c7b5967ebd1e479f235ac", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "b4ce25ef5e0a527400d5314ef5fd36f287bd4dd3", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "cc313c5669378172a1e4480571ff66d7bd348017", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "1c2806659e6ec0ea290162c209f8f64c004b3a77", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "dabde40cb34f79fba07538d0dfe27e001fdd022d", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "f5797832d5179682e09ba62f0f7cf25a58cbfe61", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "787c75c5f25da496fb26723589ed3ea5c2c73a49", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "d98f14bce468d5ac0e5fca0f61bd6c5eef911224", "version": "1.77.0", diff --git a/versions/b-/boost-type-index.json b/versions/b-/boost-type-index.json index 41d2c8622cb594..ecac226f48a06f 100644 --- a/versions/b-/boost-type-index.json +++ b/versions/b-/boost-type-index.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "bde43caf92370cdc6b55d296f0641e1b9a516885", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "6adc7c806c0465ba3d419938d7cea2b3c1c62a72", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "22c535bdcdd75c80dccb28caca98b6da9bf3b890", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "64fb00e20b9ebb60326785f86a5b2a80d6c4b680", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "2b9d415a252b453a95dac06c8f5d658e3f529bf2", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "58d41ff7ca046c8997ddd3f6c8ab801291edd9c4", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "af9dcc786a5ca7717b4d2d04471b7ee12288080c", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "d02bcbc9c4ee9a4b27e90ab03010bea7b6c70eb3", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "c2264baedf368a03a865ec3e1236a1e94c996b65", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "f43797ae5b94d44803685ae038d0bab71c4a3250", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "c6eb78f795334efdf1d294b86eee25ab4f4a4cc7", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "b793244b82b527743e9479feba13e6d1ed5f40c0", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "d48eb1cefa16768fe1eaf570744b37a954f75a74", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "139ead6a2f009c871512ff2313970a7ced6ba19a", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "b4e2eff6204ba68938a99059b23d3abbd2e1dc55", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "fac6a10bb329da6cd19cfde9534ef11b3edb8623", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "b8c5d86d75e307f04c4e5548f2ff57dccdc29e40", "version": "1.77.0", diff --git a/versions/b-/boost-type-traits.json b/versions/b-/boost-type-traits.json index 85a5178f72bec5..ce6e02506fc0c3 100644 --- a/versions/b-/boost-type-traits.json +++ b/versions/b-/boost-type-traits.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "fe39918134d7cdeec3dc248cd6075bc792039ce5", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "fd334eb6c15dd762232760cb740567c6a2ade780", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "ebc7ae004450bc4a210e8acb1f713a15fc829935", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "d29b89e99156a05e0b61bfd94c88fb5837ff3f64", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "a4ddf58a08ee20266007e39a261fc556b5b6e0ce", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "6595fdcc50c1d1d5587ade48484a0b074ddb079b", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "16673cfc230fda05b63868f9cbf21d0e0a206b53", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "34773fec432e120d3f2d9dd482461da7c36ef897", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "223d017c75c79909d143515a84ba95360b5e6ba1", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "4bb18781eb0901d50703978cb7f93329af8a0c0d", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "42832dd74ff70460051027c92bba7c08c3f7e26b", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "26f3eab82fab9301fa28985c0110809b8b68b3f2", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "06c7db2dbd9d4fe6a6d4b74b120e16ad6cb25b8e", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "64116e3dd1e586ab99b4f39786b73fc6bf433565", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "7969a397a6c03205ec1c118834272183ff4201c7", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "8ce0cad0c57f4acd5da2369894a0db64b918ac41", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "7f108bb5313d004627d2b81b5e2a6d7298b091e9", "version": "1.77.0", diff --git a/versions/b-/boost-typeof.json b/versions/b-/boost-typeof.json index f68d6561a7c685..5ef4a7af0419ed 100644 --- a/versions/b-/boost-typeof.json +++ b/versions/b-/boost-typeof.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "dbef6caf417e0c2ec880da9e9a6d4094a750e970", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "1f5378d3498322cbbfbfe18cdbbeb0ec8079aaeb", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "94d6bbcbb519960482696b50301492c2e71a9d30", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "7244107c17f3fb02e811dc2b66bf27ff492161e6", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "f5a00c4b05c0b35835446dd44ff7777fae86fe52", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "ec85052de49f1335b474cee0689971b9ad4df92c", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "3a15a938616612d49b404940a26fbf8f518816d8", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "ab6e440573d5f3ac964c50b3efc24055500a772f", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "77380a21ac442dd476825ca01d1ace199d1631b7", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "7b24cb9fc6e02e419870fc6c10d214c4ae0c0a41", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "6a266f325c337c526f2747c4e906e0f0c3757978", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "fe7e9d02b167233306569b853a29065f922fa2cd", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "c195f9b7d65f84db84ea3f27ab2179b22c60fe48", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "7157d86a4332212ca5da2d3e4bcb980f59373c1f", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "81216888498f3c8f6563b991a1d601af139da128", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "478fadf37863e72ec547e1a7620da6a28cc85c7d", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "7df16df37b9fe9d5e4184dfdf928030010522f51", "version": "1.77.0", diff --git a/versions/b-/boost-ublas.json b/versions/b-/boost-ublas.json index 813a33d10d51d3..5c8b762c6927b1 100644 --- a/versions/b-/boost-ublas.json +++ b/versions/b-/boost-ublas.json @@ -1,5 +1,90 @@ { "versions": [ + { + "git-tree": "0811fc866487e2d7c7c217378de67cfccc60b354", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "17104106d46d4a94f3b84dcfc38a8bfdad24a612", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "0487435419688fedb7dd983f9301e5a258919888", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "e8f4be0a0ec13d499d53ef97499e4efe90c35df4", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "55aefb0337e99e5d51c9c859aa73e19a8bb2dbf7", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "0a77eac23b724a17117bf6b25d8a40482d805b5f", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "08ca3e3e8708563241aa02fdb7d6c6e406ae30e6", + "version": "1.82.0", + "port-version": 3 + }, + { + "git-tree": "c0dd4493fe63a58cd9fdec0d48b9855a09ecbdd2", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "48342bc4e28a5dea5e4e6ccb8cb0333b5feebfeb", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "b1652104f4dfa41d11e9238edeefd1330d6d216c", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "f9548ffa375198ab22ef334a0d9d0c759d785831", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "69a2b3fce73836f799bc4b1230eee7da4cab859f", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "2dda3f784a251a5cd47e28ae70baddfc7c8f4135", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "4c7cdeb18adddbbb7c307d97553370029099111a", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "1fe638c91ec64ab61220e4ece208a9d70ad9557f", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "7657da84dd6a03bc4130b2c3ff215f45a5ddd8c0", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "4c6ffcc2498c1521634d070a99e02c695f069c2e", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "7261e769f15495294c4eed2d06a157979419b0a9", "version": "1.77.0", diff --git a/versions/b-/boost-uninstall.json b/versions/b-/boost-uninstall.json index 447f44ef5a1443..334c3ff9f8b013 100644 --- a/versions/b-/boost-uninstall.json +++ b/versions/b-/boost-uninstall.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "f7397719df120125cafecc8000deb3d2a0d5c7af", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "ac48829be60fd0ac2bd81b1774ae317c2d0d406e", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "61f71073f29852425b317ad050b3ee54653f924b", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "9e18cb1c4106a6b478889dc0a2ee02dabe78436a", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "6ed88ee3e093c9419fb4fcbdc17904d15d377129", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "1dfbff4a218e77e371ebc397f0573859136c7c92", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "dcca7487581acb01e55bddd3ec306ff543c24ce6", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "d96807810fa612b038f9268c8df545d421fda1a6", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "3651d7a858bd04f7bf933e71110de4b9a46e3df1", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "4caf44a6883820726e6d25b015769ec375758f81", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "8ecf7838ad5665c4f46bdc7cadfd99a1f0327bca", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "79d0d98ddb8ecb9582ed4c7adc95fb88a25743ae", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "eb6551ecfc9d94c9bfe131d7bcdcec0a0b33f5f1", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "9eb27209522fff06b9aad5e4443312888cf680ce", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "e2d05f10364104d9b7de2383bcb105a1fd3fe975", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "996078abceb6009fb2841dd97edc5246e8bd38aa", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "1d472d1b44489c230a741cb519e893732f5d00ac", "version": "1.77.0", diff --git a/versions/b-/boost-units.json b/versions/b-/boost-units.json index 366bdf93a9c37a..e91b652ca63c1a 100644 --- a/versions/b-/boost-units.json +++ b/versions/b-/boost-units.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "b2a4e000c13070792a8a308283341f3682236afb", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "da02b2bd6798240539d44005e790e92d21df4feb", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "71411d91eb1080a289eb303680ef2ae6bc5914a9", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "a005d75e0552a6b318b4e8608791cde3245689f0", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "9088c5fd6a2540312f4236ad82367122d5faead3", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "c9dffd7cd1fdc999f543b7d140f119f962ae076c", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "5a76707af8205f16c15f69fa930aa39e7763472d", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "60fbfc84c6785572c1385528afb5616429828138", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "b15188b886cec9daf54c334fa401d68b56146138", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "505fb723fea2df6581043bf1d90e0628a025321e", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "5268fcb33d5cf6642658fa9bc2b7afd77a933d76", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "87c0f9d33c26858988a80030fb3a120f1e182282", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "deb1621e5cb52697de1be40a555e5415263743dc", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "94d24c25122f4aee516ae8df34e60450dc7a9dad", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "33f1a2b53e7c36f387866d1e84e0dd2aa1b21c4d", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "30bc337bdcbfbfb7339e8a4dd2169df60fbae249", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "696b0e8e934400879bf390ad024b231a3b32fa4c", "version": "1.77.0", diff --git a/versions/b-/boost-unordered.json b/versions/b-/boost-unordered.json index 008c8e412651ed..9380a9ad68a1d9 100644 --- a/versions/b-/boost-unordered.json +++ b/versions/b-/boost-unordered.json @@ -1,5 +1,90 @@ { "versions": [ + { + "git-tree": "3016f6768a087d2f7a5629edae86d00c67191f1f", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "f80fe77595a138041cb2dfa3af3c18cfa1edc24e", + "version": "1.85.0", + "port-version": 2 + }, + { + "git-tree": "b8b6dcf89c37e896bb5a624695e71a12198ab90e", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "46f5ca53ab03102c5ee470de738a5a3404c75235", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "6702bba67fe3f89326128f4bb17e06c76c7a436a", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "77a20edb9c6e3efec862eb37310f410a95544a30", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "d78bed13cd960d7723ac5b0c82d2223c321ee0a9", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "53a764549e3664798aad8a1cb9bc3e74669c7f6a", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "ee2a3d19df6c91036cb772b4747bc7244307cda1", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "df88891653e7f24ffb101bc34513396b20cb4fc5", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "c37e40c50347d534ab95ba2355c72112821490f6", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "456c16bf65a94caab221b61647e3946beb4c7237", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "0e28c124be35d098dead6adcaf3246cb7c0b4908", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "bf2c66f63c1859c8a271beb4b09b56d2e28a3ce0", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "a64980c42d17c231e1164e6dcd7f55361cf6bbca", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "b73d98ab77d4de1a3e4f12bdd84869dfc3adedc0", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "c55ee280fedefd69dba819a4d768d5a5e132f9b9", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "e0e056b82651533817c1ca6dce6fb6239ccdcdbb", "version": "1.77.0", diff --git a/versions/b-/boost-url.json b/versions/b-/boost-url.json new file mode 100644 index 00000000000000..eb6481733fce9d --- /dev/null +++ b/versions/b-/boost-url.json @@ -0,0 +1,64 @@ +{ + "versions": [ + { + "git-tree": "4a95f5be61df87816ca4f481ab7634f4b337c0b9", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "59d34359192b2a569c3ee9161fff6c08cd87c25d", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "9a3fd24e5250e3c2447fbd0d693007bf796e96ce", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "73cb6ead7317a682b8fa4d1b1455d7d8bc4bbb4b", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "0dc7321b2d28cd349ace799644efd4f471e8ce03", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "2cfc398b72ab925f876eb071d9577cbf9a84f33d", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "0bb3a49bd4739d46d1b09bf657a172bdd91deca9", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "5b6110be396379503f9305de47e76d364019b6c6", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "ab148b1f9a35d70c6e647644207c14b2d1e9c472", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "f42a5aeebeb06f6fdb239e0913e2510ba4fab98d", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "02a3d9b7b6cc4ec43ca68ca0eea469b53c25924c", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "f65109f9e371fea72a1a562f03180972cdfe9e6a", + "version": "1.81.0", + "port-version": 0 + } + ] +} diff --git a/versions/b-/boost-utility.json b/versions/b-/boost-utility.json index 7162542a7c60fe..d262658f342f35 100644 --- a/versions/b-/boost-utility.json +++ b/versions/b-/boost-utility.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "ee6600d9dea03593efcc67d0862d7d14807bd14d", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "0421ccb31f254874d8f0814bb2266c13255c4822", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "a40330e797feb2590aac114545cc70cf636bc5e3", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "24ae0368f935dd71efb00fab653059af1301c904", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "0ea45d787be2fc247a434638a832b85acd3c5e3b", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "175e91f86d24ff49330e7f5f95db441ceb85886e", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "353c3edd45cc926548492197f73164d5831728f0", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "b94486558c58f29bb5165d952196d448719caae5", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "6fc53182947ed5525e426f934b440f22d4f04327", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "88534910a9049a40b8d8752913f69dae3cbec37c", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "d8a38ff7f89b8689ab80876e3a9ad2f1b1a288a8", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "a3d7cd34ade55ea69000d0c127c0cdbb57990774", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "85e74c765fe5aa059a93dc20c29626a7533054c8", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "9544b25d2474879b1dc04879bf6d48ac20b8ae1d", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "8eb91c7a3ad14393219ba020d3d26c39a325c626", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "4e39c1737260328064c10b743aba90788efc467a", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "e3589215d60cac29105fb361ef70e6d8befb8f94", "version": "1.77.0", diff --git a/versions/b-/boost-uuid.json b/versions/b-/boost-uuid.json index c8005837128ea6..b1ca5acbf9f793 100644 --- a/versions/b-/boost-uuid.json +++ b/versions/b-/boost-uuid.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "8eeba4516fc5a0010b40ac15ef53c1433820937b", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "22aaa6c0f9aac2f4fec05c6d47518100a7325660", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "15e9a95d3a85266dd1f6d9ea6aa767ed6fa12a24", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "0eb5fa810c7af6d6c12a8396d553d790e0cde932", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "1dd155b365ce1df4bb524d11672c4ad2b3b2b43c", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "f87e5dc08c5466a56e32d055878d39dbdbdc18d4", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "d98133d8840363483b9f34baeec1b32696bbbd8b", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "718fe77c580850e2dd881ff115ffb0f3d8612774", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "db382885cfe159def0504877ac283b57b7efbf8f", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "e9af468276d059ca478a6d42f3d0b343a749443f", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "e22a0d5ab3284c660977db0fd6321243e44b101a", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "abce15e70794ec22b2167b0e29be78bc8171f727", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "d5f37dcea4cd579491232822504725da49a25f66", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "346b3215925506cde0a4d8f2558434f812572094", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "dbf4e64381a3c6279ad5f91a7c64c8f5ca9ef145", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "19c834dc170873080e1c6308233fd9041ae42cce", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "ce741d3c6c5770db02da8abb268bdd0b2cd0519b", "version": "1.77.0", diff --git a/versions/b-/boost-variant.json b/versions/b-/boost-variant.json index fa05a70ace6a72..f43742763f81a7 100644 --- a/versions/b-/boost-variant.json +++ b/versions/b-/boost-variant.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "f0fae0ca64fdd1cfa7308300888650c2215efea5", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "479cb9754b33ed6005f55373d2b5364c2ad7b377", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "0fc759f3ec67e2f3f31302d470bd469c5fe0b062", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "4bb13700800f1bdc8f0e2aa3e51f2f2dd3bbea81", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "0fae6f2ad84c37a644b0f2902f653e16b26e65f6", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "60ca10585ea590b82692a0f715cfcc596d4799db", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "7951625567bf2413827f614a1ee917035a5e59ec", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "8f71e0d63ff1504559355737dba1f2ef2452d557", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "7b85b37781c02dbccca8b62035a9f40e18df6af3", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "13d77a8e8902136d832ae58e9ae4373366ee2fd4", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "672df51c76d78fd2c053e54c917eb768cb51269c", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "c9e572f254693733f414fe4eb54ba7079393ec40", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "0c54a1945bc717ef69676421820eb5bf6b503ca9", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "052552e2ffe5c387e6dfd6800509379143747b93", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "33b3da200705df22017f639acdc1e2eade79606e", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "a2196d2cb8c61db4cdd6285170589e079c1ff3bb", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "63d66b780f8fb2e1b7c1365fc54b23795b09279c", "version": "1.77.0", diff --git a/versions/b-/boost-variant2.json b/versions/b-/boost-variant2.json index 12a9941867fe14..be2bdcd74fafaf 100644 --- a/versions/b-/boost-variant2.json +++ b/versions/b-/boost-variant2.json @@ -1,5 +1,90 @@ { "versions": [ + { + "git-tree": "da8c7998e31bf676c2efbce08f4e7cb41066dfe2", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "d49441a314b22f026fb4a4708e4813e328996507", + "version": "1.85.0", + "port-version": 2 + }, + { + "git-tree": "9f85ec7b59604f9d5b1945cac76e12b5888e798f", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "71aeea8a9326c7b978940c83970790090ddcf8f9", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "0e7ba438cd3f9eaba42ca1bc73cbd93e2a1507b5", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "90849fda39c8a2201b80eac6b04dc32ab6ae2c73", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "a249f8469b4c3ccb2aee3ece628d69a71d54b35f", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "dd3e6bcf37179efe2425ffb104be151a9f1133f8", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "3acfc977da209b860fd7cf1365180af919be0eeb", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "e5d41ae488efffaadaffffc5a1d0b122e7bb3f2e", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "5c84dc87fee7da432b626fca25612d0a05604eb5", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "8e9ebae6dd88e79f3a589b890bcc89910f8ea390", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "58b2826cbd2ab38e6b21283affae45fe500382e6", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "46508a1c16f583aef59468ec4ca9dd51fbe01c66", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "0bc906a591673c127a85b38092dac0ab850931e5", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "b9af9e4791e65b001bbfb107eeecf819369a06b3", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "30915b5f5005d9b166f4349f493b4f7314d84c17", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "7cc13c2fc5f9f303b76d9fc39da52e198bd6a998", "version": "1.77.0", diff --git a/versions/b-/boost-vcpkg-helpers.json b/versions/b-/boost-vcpkg-helpers.json index 840957fe9c044f..20bc55c52b1077 100644 --- a/versions/b-/boost-vcpkg-helpers.json +++ b/versions/b-/boost-vcpkg-helpers.json @@ -1,5 +1,75 @@ { "versions": [ + { + "git-tree": "5ec9b3e713c09e2827e07c9784676bad6cc9cc08", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "18a50fedd4344db5ce1f82546be1889215381f78", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "9a0f2ba2f59ce1040abe835b1e5adcd0a6dbc8af", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "f99477ea8dcfb463d2f0a2cce3c60914c2e5adb4", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "16b00921be68c4108060687df8a4ded18b7f9b29", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "2aa63aed3fe5106f44a56b33d8754d045358f662", + "version": "1.81.0", + "port-version": 3 + }, + { + "git-tree": "e695c126a81e356d9ce78f57c08ba1f2311f5d8f", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "9a92c9cc61d9cb949caea1880309fcb3d1d79a7c", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "b753df924076c5013c5fd5298a05995bc2fd5ce9", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "5243d77112bcebbfbe67c57a96e0077eb0921a4a", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "244bfc6425dfb6e1c0c8b556f6ab8786e394c246", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "0e96a2cb3400bcafd55070d18bdcab64808ada01", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "2b601d13ad505473bac3d555d9e543d981c46565", + "version": "1.78.0", + "port-version": 1 + }, + { + "git-tree": "b8003935ceb891a870f1bbef0ffd18ef4266c6f7", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "f0b625fd73edd33c92f70727a4cf068d0268379e", "version": "1.77.0", diff --git a/versions/b-/boost-vmd.json b/versions/b-/boost-vmd.json index b6fba2a1af9934..9e8e6ef1b99629 100644 --- a/versions/b-/boost-vmd.json +++ b/versions/b-/boost-vmd.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "4fdc2f6245ae9b2d8fd0dbae750a9e7142a11b8f", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "336fe76b8964d5c5976085663cf2e4397101cf6d", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "3481ebf929fc736b0806a2d3bfa633833b84e994", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "a483540a7cba2d137a7ca0dd5fc9bd23df8dbcfe", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "908151c9b7afd64cbaebd7d88d6121de0be81b7b", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "eaa0b491a87169b97213b923582836a9d3cd88ed", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "01fa69ff11a1e1e086b621a92ca334d99483a040", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "29976ffbb57716e6bfdf06b84e9958fd890a55c0", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "d31a0367a6f1c2540f682fa1636fab7486cead6a", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "2d02fada2420d5210e54536cbc6b6bc865eec00b", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "4c54e4893420699cb2b8e3ec71d88374a76c56ec", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "98a1b6ca892cc7fa42c86307898f1a0209e1cb58", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "2325791b07ed7cbaf2252ff61a2afd7e1e38f0dd", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "7f1ce668d0b408886328f3602b4ba2dcdc6e0f34", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "5d88c4a6cefe62b5d05e9fed932188a7049fe991", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "d89558e11194fd019488c8e4550bc8b7debb38d4", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "65746c8cdad55d1703218a4e1eeaedd8a8cf3641", "version": "1.77.0", diff --git a/versions/b-/boost-wave.json b/versions/b-/boost-wave.json index 9ba855728fc29f..e562c2a9c768df 100644 --- a/versions/b-/boost-wave.json +++ b/versions/b-/boost-wave.json @@ -1,5 +1,90 @@ { "versions": [ + { + "git-tree": "eb6baa19823be746fde24fee3bf57d092787750a", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "a9faed2db21c3608527c509b0dd7ab63f92303ff", + "version": "1.85.0", + "port-version": 2 + }, + { + "git-tree": "a03b7c8698c81ecf5abfbc4686630de2a070ddc1", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "4c9b0f0fd65bcc970861d316bf15518380c3034a", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "7db4d1f3ac59d69ad2caf2190bf4d33ebf1ebfae", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "1ddcecc1cbfc5d699bbb99eb75577b237d070227", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "298ef29ed61665419dfb1f05e4823f63086afb14", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "c04f5117190e977f1a7a7067ce483ae581dcf111", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "26703fa9be9c0ca33ead77b9430a714bd672a523", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "cf1f8eb1ffd37f2abf4a9c8dc6199db7037c1825", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "f6aef641dfdf7f20ec1dbcd1280a260391b255ee", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "b0e440652f27557548f12878cc91e79f309ef1ce", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "f2335ccca2582f1c060d8fcab59b72e9bc337f5a", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "1e7a7b136b4f7ec5badd9969bca100fa4bede6b5", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "3b3867b5b587bc385e9c185e669651610af7ee0e", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "d8db04f2186df7eacfe00e02666510ba3f750753", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "fbf126b4e9405233ffd54018c18cf84895f59f29", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "cd8b4e8a20d59332f25b012c8379b8847b98524f", "version": "1.77.0", diff --git a/versions/b-/boost-winapi.json b/versions/b-/boost-winapi.json index 6279226c9dc38d..4de9a38a072e4a 100644 --- a/versions/b-/boost-winapi.json +++ b/versions/b-/boost-winapi.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "d75ae8aec7f6af51c19a6301a05194616da25145", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "e97a71e640d52c3958a019b4ba142208e37373d5", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "ae89b133b4250b5358379d40dda7df98517e6c96", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "62e6d1e35ce468e9bcc44cb0a18ce671cc0f6407", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "32f9d89e087c4a777e62688c75a643608e3f9f6e", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "cfd68f543033ed6b8cee9235ef287b7fd4f8709a", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "4fb732247dac823b0563bd50e4fc518c25eb9334", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "db66242e796c29abd3622cf41d506bee622b4d10", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "d4a71323289449db56daf93cc840d416a42779b8", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "3a6773e846ce5a089ab2c4648f2b2b150870c7ee", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "57070b4f4e3114a9bc5d4bd17554c31df750f5e1", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "7c4817879a4b15b013a6b0db508af544e57cd18f", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "e0d6af12fbd2f2efe8310394c82487686a7141c4", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "510961ace0ba15ccb5018734f6638f8af539258c", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "7f82a0041bb3b4ac1f3721afe5ba4e24e27c3a3c", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "8492201c09a250964609eea910b3d37c9895d411", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "2d4c0be143dbffd619ac154ef5d8f4fe24277bbe", "version": "1.77.0", diff --git a/versions/b-/boost-xpressive.json b/versions/b-/boost-xpressive.json index 36d6037e34fcc4..eba287eda3298c 100644 --- a/versions/b-/boost-xpressive.json +++ b/versions/b-/boost-xpressive.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "8e7759afc8a205549c949fdde86bf0d47d532785", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "b5074b96b528d6349b6d7641369f6cbd6974a6b2", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "4f9de25890f5d38b95b754eb0da828bb3d50a9d0", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "f36a4de1599e2d90cf8d9c61a5d118b40324b816", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "44168cef786140f27bd0efd38d258a3894cea3c2", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "55de0dfb037123cd093c56acf61b22948e98295b", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "55106712d15cf7092591e0e6a36681274e8f0401", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "ed6d3e07b8e933869bbe2148898adc5916928405", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "68252d54930bb7e7188b93869d914e49b8fc0177", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "ef345601e061511a9c1ca790d5d3f4c2cbb2ba20", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "b0cd85e0d770b5088d61c52bef118c5c49f0e25f", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "06f2f929443c6f2b7f7ba14ba1368caf0166f9b2", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "76511563b1908aa5ab663bfb67071f35bef001c0", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "e226118acbf483b6f0fd12cf6037a961520140df", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "26cd8244e5c07efa76837461cd426c5f4ca25dab", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "b117a25b1705a9a21ddb41a01bc8c081121d6d95", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "bf04b7076a27d24203528b52aaf41efc83923c67", "version": "1.77.0", diff --git a/versions/b-/boost-yap.json b/versions/b-/boost-yap.json index 6fa9b8ff9e1497..e90bce079080ae 100644 --- a/versions/b-/boost-yap.json +++ b/versions/b-/boost-yap.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "f55ab0cb293729ba4bcb1d2043ac91deed2db8fc", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "5411f83e31755e071acd061bafe202a3bd77b877", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "8d565654b2d59695d4d22da18c37e13e305317ce", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "03cc7d52ee392099e392f31d2f168d5fa9c2d23b", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "94c0722f970f8d44f1dafe2a2def5deceed9a99f", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "4a0f05ec51176c56f01c9edd8888358ae74eabec", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "bdad26185e13b995615f4979050d3fd47db4fa32", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "a1b7fd0e064cb4fc3911bfe16e5b89e46bf3b5bb", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "f21651c6a3bdb74377860287634f40c40c745af7", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "7b50cfbdaf3d3ff461a9523d0378faa789f76ed7", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "25382ad2bc412fc7d573645495583d503e1151e9", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "943d3952bec19cccb156fad0295cc0f4d8c3b9f6", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "be0b950a4703cff293354292f257e978552601ad", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "382723f52354a14670f68b46c89c1101c0310a4e", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "b65c58d6abe35bd1300b250d8d7519a7d56292b8", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "692c496d822a9132dcf05c76bfee43bf7ab56c5e", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "856780f406def0087cc90b0dd0b623a65d78103e", "version": "1.77.0", diff --git a/versions/b-/boost.json b/versions/b-/boost.json index d3f77c2acc4c67..e745a73d06eade 100644 --- a/versions/b-/boost.json +++ b/versions/b-/boost.json @@ -1,5 +1,100 @@ { "versions": [ + { + "git-tree": "e16c1af1e47c7b94ac02c8f3c9ec0f4d3ea8f8f6", + "version": "1.86.0", + "port-version": 0 + }, + { + "git-tree": "b9a5d6326cff2f44dfc15794973ff6622e77e912", + "version": "1.85.0", + "port-version": 1 + }, + { + "git-tree": "5158d375099f88e17c53c640aa0e073d0b5b5389", + "version": "1.85.0", + "port-version": 0 + }, + { + "git-tree": "cd55bc5092333ea17a39599f5b25b3063bb6b497", + "version": "1.84.0", + "port-version": 1 + }, + { + "git-tree": "827b5b48531aaa3fa9293a6d344f829c6529776c", + "version": "1.84.0", + "port-version": 0 + }, + { + "git-tree": "315139e076ff5ea5672a158688934b04d2b7a815", + "version": "1.83.0", + "port-version": 1 + }, + { + "git-tree": "d8d71d69890583a886663db2d2ac45ddf3fd9835", + "version": "1.83.0", + "port-version": 0 + }, + { + "git-tree": "ef99d3992511da66e8f354441fb291ed0cac08f9", + "version": "1.82.0", + "port-version": 2 + }, + { + "git-tree": "7714a26cfdcdc9633297140c227198fb18f64061", + "version": "1.82.0", + "port-version": 1 + }, + { + "git-tree": "42eb34ebc0c22a3f2babbafb457981ac8a1da6d5", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "afc980d4093ddd9d122b1bba1a894edd549c43a1", + "version": "1.81.0", + "port-version": 3 + }, + { + "git-tree": "db16a04782e07533fd944d7c9e7868f1b06ec556", + "version": "1.81.0", + "port-version": 2 + }, + { + "git-tree": "ecebe0b2a1d34ab9e5ca9ccdb8c16f9f8b36b5ed", + "version": "1.81.0", + "port-version": 1 + }, + { + "git-tree": "7236dac7581b19dfda2f61e7766921526996e77f", + "version": "1.81.0", + "port-version": 0 + }, + { + "git-tree": "fe661a6643f1b0d0acb080684d65d8b725ad108f", + "version": "1.80.0", + "port-version": 2 + }, + { + "git-tree": "dd28384ddceb935eecbc6e787b67e2a9b506aab3", + "version": "1.80.0", + "port-version": 1 + }, + { + "git-tree": "f4e929db67c1d0b4c043ec1f1f1d1f1157029d99", + "version": "1.80.0", + "port-version": 0 + }, + { + "git-tree": "f742b459c69d004cd97fe8fd62e4b813224eba10", + "version": "1.79.0", + "port-version": 0 + }, + { + "git-tree": "c6924d40a63cbd74c48964edd069a5df1df8b615", + "version": "1.78.0", + "port-version": 0 + }, { "git-tree": "19bdc0542dd287e39768144ba2719723a7818750", "version": "1.77.0", diff --git a/versions/b-/boringssl.json b/versions/b-/boringssl.json index 2d3b5ad08ce5a4..8860d7372b3f33 100644 --- a/versions/b-/boringssl.json +++ b/versions/b-/boringssl.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "075a0df31951d14eb7bdfe1a6ba728ddfd46a3a2", + "version-date": "2024-09-13", + "port-version": 0 + }, + { + "git-tree": "2b809260036c7ee69cbf1a8a06e015354121d741", + "version-date": "2023-10-13", + "port-version": 0 + }, + { + "git-tree": "5f833bab8ecfc28f45a9034291e79f8cd126ad01", + "version-date": "2023-09-25", + "port-version": 0 + }, + { + "git-tree": "01164d48fa5667c3e6885d010cb110b84b6f2e78", + "version-date": "2021-06-23", + "port-version": 4 + }, + { + "git-tree": "cb83700b7bf53177773421dfb803fb8478e6a72d", + "version-date": "2021-06-23", + "port-version": 3 + }, + { + "git-tree": "8d28c72d322cf2245e69075deef73c5edefee0b5", + "version-date": "2021-06-23", + "port-version": 2 + }, + { + "git-tree": "ca35c06a32c83f385f840831a435c69231a7852a", + "version-date": "2021-06-23", + "port-version": 1 + }, { "git-tree": "aa2649d9a0296ed873aa8fb17c28f38baac51a26", "version-date": "2021-06-23", diff --git a/versions/b-/botan.json b/versions/b-/botan.json index 8e96e8fe522916..00d2609665caa9 100644 --- a/versions/b-/botan.json +++ b/versions/b-/botan.json @@ -1,5 +1,115 @@ { "versions": [ + { + "git-tree": "eb6faea666501a265f3603c014bdee929c0174c3", + "version": "3.6.1", + "port-version": 0 + }, + { + "git-tree": "827a8fc1dd4c4f2b998824ba4c9dae41a47afa98", + "version": "3.5.0", + "port-version": 1 + }, + { + "git-tree": "3416aa602b64d0eff810540b4555dac28560ba3e", + "version": "3.5.0", + "port-version": 0 + }, + { + "git-tree": "24b20ce86f1fff75cd0c14c71e8ddcd7459b48c8", + "version": "3.3.0", + "port-version": 2 + }, + { + "git-tree": "4e721d4e37cd859a5134c2cbe587aed5644bc1de", + "version": "3.3.0", + "port-version": 1 + }, + { + "git-tree": "559118768851fefb7f0bbcbf363863d907fd6a12", + "version": "3.3.0", + "port-version": 0 + }, + { + "git-tree": "4c689678282e82a42d29348c05a022f237e54700", + "version": "3.2.0", + "port-version": 1 + }, + { + "git-tree": "3482b0255e093b6d091aa4aff11992c89ec45d6e", + "version": "3.2.0", + "port-version": 0 + }, + { + "git-tree": "c031a70866fae7751496d7edfd01caad2773dd08", + "version": "3.1.1", + "port-version": 1 + }, + { + "git-tree": "d66e60d97a7a4e77df4e559fed1926a45dac3f52", + "version": "3.1.1", + "port-version": 0 + }, + { + "git-tree": "575322265c701c0ff15d79c65a47ad38e7958235", + "version": "2.19.3", + "port-version": 2 + }, + { + "git-tree": "7b9240ee18f12e8acaedf11613aa6bc1d7aad9d5", + "version": "2.19.3", + "port-version": 1 + }, + { + "git-tree": "1ad976f3e650d7188414a0c2c62ec7290bed64e8", + "version": "2.19.3", + "port-version": 0 + }, + { + "git-tree": "50c9b636dc542dc13c62b04e09b106354e131b3d", + "version": "2.19.2", + "port-version": 0 + }, + { + "git-tree": "46addf1e5297d40d351cf84d2a62d831592df1d1", + "version": "2.19.1", + "port-version": 1 + }, + { + "git-tree": "3fb61b05e32ed52193542dd9d5b86b7e2021dd99", + "version": "2.19.1", + "port-version": 0 + }, + { + "git-tree": "2d7fe86d0a8a13ebddda0ac759f824fb9066b644", + "version": "2.18.1", + "port-version": 10 + }, + { + "git-tree": "a091e7d5a75af9eadbaa696b79e44d726deb47fe", + "version": "2.18.1", + "port-version": 9 + }, + { + "git-tree": "267c31f3759881d233529d28ec78e2a0c8d1e9b4", + "version": "2.18.1", + "port-version": 8 + }, + { + "git-tree": "dfbd885e94b11d3b8074d96c92e810a0f1a7be7a", + "version": "2.18.1", + "port-version": 7 + }, + { + "git-tree": "928c19e302d27840225477d4e4b183ca9bd76ea8", + "version": "2.18.1", + "port-version": 6 + }, + { + "git-tree": "7a800cf24fcc51e57dedfb8782753c50305880e1", + "version": "2.18.1", + "port-version": 5 + }, { "git-tree": "477e259691b81a016da459532f616b5fca230a91", "version": "2.18.1", diff --git a/versions/b-/box2d.json b/versions/b-/box2d.json index c392cefea7c5bc..eabf2cf1a79c55 100644 --- a/versions/b-/box2d.json +++ b/versions/b-/box2d.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "bef68937d8b4101d0df330a399a7fc043f7ec5e5", + "version-semver": "2.4.1", + "port-version": 3 + }, + { + "git-tree": "2c8a3a146971f33f497c21d6b52b756245f894e4", + "version-semver": "2.4.1", + "port-version": 2 + }, { "git-tree": "f40a0f5f20b3e546e55850df8babf2d9cd526ee8", "version-semver": "2.4.1", diff --git a/versions/b-/braft.json b/versions/b-/braft.json new file mode 100644 index 00000000000000..d97b2daab64cf5 --- /dev/null +++ b/versions/b-/braft.json @@ -0,0 +1,34 @@ +{ + "versions": [ + { + "git-tree": "72682af00e63de8f23eb8242e17212a0777deb25", + "version-date": "2021-26-04", + "port-version": 5 + }, + { + "git-tree": "b376168dcf6ec1336dd980ae419f8dcd626bc41b", + "version-date": "2021-26-04", + "port-version": 4 + }, + { + "git-tree": "af9ff158d1a8f1284b9cc78d4ec816b0a37c7a3d", + "version-date": "2021-26-04", + "port-version": 3 + }, + { + "git-tree": "0c776a091a987943aadb4879fdb7434929d4dd3d", + "version-date": "2021-26-04", + "port-version": 2 + }, + { + "git-tree": "774dbc3ef386eed16fd345f23109f94a899f39e8", + "version-date": "2021-26-04", + "port-version": 1 + }, + { + "git-tree": "d9afe1afea46ce35f64aaed5c2702c34113fe683", + "version-date": "2021-26-04", + "port-version": 0 + } + ] +} diff --git a/versions/b-/breakpad.json b/versions/b-/breakpad.json index b60361ffe91f9b..e8e03f053f581e 100644 --- a/versions/b-/breakpad.json +++ b/versions/b-/breakpad.json @@ -1,5 +1,65 @@ { "versions": [ + { + "git-tree": "1c26fa7825691806584f87c5ccfb37077629ee9c", + "version-date": "2023-06-01", + "port-version": 2 + }, + { + "git-tree": "d45fecc4d50811afb62537bb6b13abd8132c8fd9", + "version-date": "2023-06-01", + "port-version": 1 + }, + { + "git-tree": "9760dbfbc2afeb14dc67a91a6582c177e46a7921", + "version-date": "2023-06-01", + "port-version": 0 + }, + { + "git-tree": "5643527026fecb43d487919191b02c41bfced6f9", + "version-date": "2023-01-27", + "port-version": 1 + }, + { + "git-tree": "b2b2523acc1c56222313e8fe01065c1e130440e1", + "version-date": "2023-01-27", + "port-version": 0 + }, + { + "git-tree": "a451811c203f1ec086288b40dd4571d97bb7033e", + "version-date": "2022-07-12", + "port-version": 5 + }, + { + "git-tree": "26e6e78bdd989c749aa0f61ad6357374480bc184", + "version-date": "2022-07-12", + "port-version": 4 + }, + { + "git-tree": "79b0efa7b720fb255c442834270b24a396f01de5", + "version-date": "2022-07-12", + "port-version": 3 + }, + { + "git-tree": "268892865b8587f365f04b7f2fe62a2359c405ae", + "version-date": "2022-07-12", + "port-version": 2 + }, + { + "git-tree": "8b789572b559ed292fc35ad004d51d6d975b7d7f", + "version-date": "2022-07-12", + "port-version": 1 + }, + { + "git-tree": "1765629f89b1d8d3020f5e4baa35116b9da02c0a", + "version-date": "2020-09-14", + "port-version": 5 + }, + { + "git-tree": "553a7799e93f9f2b4441d077b379613a796acdea", + "version-string": "2020-09-14", + "port-version": 4 + }, { "git-tree": "be41998b0a407c10ae78d605264a2c0bb7d3f3ca", "version-string": "2020-09-14", diff --git a/versions/b-/brigand.json b/versions/b-/brigand.json index d5b9f4b2ff2627..a7c08f1c19d0f3 100644 --- a/versions/b-/brigand.json +++ b/versions/b-/brigand.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "b68860ce9e8aac4f7e605535571295ba5be9e2a3", + "version": "1.3.0", + "port-version": 3 + }, { "git-tree": "a27641e46efb007b46792b7bd803f32437fe4178", "version-string": "1.3.0", diff --git a/versions/b-/brotli.json b/versions/b-/brotli.json index e00f28e5204089..16e39e99d6c2a0 100644 --- a/versions/b-/brotli.json +++ b/versions/b-/brotli.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "4e5b5ae1ad26c80535c893cc0307121f0398549e", + "version": "1.1.0", + "port-version": 1 + }, + { + "git-tree": "4156ea7744047f9ace2769b857d97d11154de28f", + "version": "1.1.0", + "port-version": 0 + }, + { + "git-tree": "32ea6c4b0d18fa3172ad52147599983acc71d748", + "version": "1.0.9", + "port-version": 5 + }, + { + "git-tree": "e6838ab1a2b10d47924875dd1f71c47d45c01bb6", + "version": "1.0.9", + "port-version": 4 + }, + { + "git-tree": "7b182b3e0615d6f3538b5eeac680f7eb8af5abd0", + "version": "1.0.9", + "port-version": 3 + }, { "git-tree": "73d0ed2fd7816c7a4958983b0b027c85b60eac15", "version-string": "1.0.9", diff --git a/versions/b-/brpc.json b/versions/b-/brpc.json index 2049b07521ea35..6b74f9adf9e511 100644 --- a/versions/b-/brpc.json +++ b/versions/b-/brpc.json @@ -1,5 +1,100 @@ { "versions": [ + { + "git-tree": "8473c99ec8eaf2d3fba5b34501f26cdd8b37d438", + "version": "1.11.0", + "port-version": 0 + }, + { + "git-tree": "0da3bb20bb9b3dd1b8ef66a4f812f16496be422c", + "version": "1.10.0", + "port-version": 0 + }, + { + "git-tree": "e3c927bb9bf156c75d26d06f1c0c250afd50df69", + "version": "1.9.0", + "port-version": 1 + }, + { + "git-tree": "5c492561a044534b4177cf14d9296c8a68431755", + "version": "1.9.0", + "port-version": 0 + }, + { + "git-tree": "4aa97cf4dfb7c0ff2537a3b0e324daa97940d2c5", + "version": "1.6.1", + "port-version": 3 + }, + { + "git-tree": "3fd0bfb30a96852a7a92e0526c411ef9f95bed83", + "version": "1.6.1", + "port-version": 2 + }, + { + "git-tree": "5460a635b3cfa64a9857a378a798ded7f60abc74", + "version": "1.6.1", + "port-version": 1 + }, + { + "git-tree": "e8671f4e4a1523a2f58b71e7413ad0b8dab7c1c4", + "version": "1.6.1", + "port-version": 0 + }, + { + "git-tree": "a2cedfb3411d57def85e6337b08570e518c2f992", + "version": "1.6.0", + "port-version": 0 + }, + { + "git-tree": "8c3039a58b23207cc87a0a938dbd943ef521b235", + "version": "1.5.0", + "port-version": 0 + }, + { + "git-tree": "a75ac2b64eae33d6ba6fc7494f6ea02d7156a23c", + "version": "1.4.0", + "port-version": 0 + }, + { + "git-tree": "14c66f674d539da678233b47be27be7e7f419901", + "version": "1.3.0", + "port-version": 0 + }, + { + "git-tree": "2ed01cdb3f05cfc779d3162de470045bda69f985", + "version": "1.2.0", + "port-version": 1 + }, + { + "git-tree": "d75b4f1f3f1bf6072c3095fe34f29e86c19ec4d5", + "version": "1.2.0", + "port-version": 0 + }, + { + "git-tree": "c88bb19658430803981fbfa4ec45432bed88310b", + "version": "1.1.0", + "port-version": 0 + }, + { + "git-tree": "bcff3231352f577720f51a99dbf9ecf0132ebcba", + "version": "0.9.7", + "port-version": 7 + }, + { + "git-tree": "f658cec9384935d01319d2725a039da7cb5e6c77", + "version-string": "0.9.7", + "port-version": 6 + }, + { + "git-tree": "eb37098c32016db48b15a29bd31b08087c7b5d0e", + "version-string": "0.9.7", + "port-version": 5 + }, + { + "git-tree": "7c6f7c8a882730bd20874fb5832081105a169c7a", + "version-string": "0.9.7", + "port-version": 4 + }, { "git-tree": "42b5a413e49655d73b772efa7642eefff429b4c1", "version-string": "0.9.7", diff --git a/versions/b-/brunocodutra-metal.json b/versions/b-/brunocodutra-metal.json index 49c93e2f2f7e58..dc8d49cf9e59aa 100644 --- a/versions/b-/brunocodutra-metal.json +++ b/versions/b-/brunocodutra-metal.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "8cf9fc40f35037ebc568d8da494ba1c84221327d", + "version": "2.1.4", + "port-version": 0 + }, { "git-tree": "54b5610e8e1541618650eec938a77148866716cc", "version": "2.1.3", diff --git a/versions/b-/brynet.json b/versions/b-/brynet.json index 63b0a8bf79d029..f789e8b832b12c 100644 --- a/versions/b-/brynet.json +++ b/versions/b-/brynet.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "262acc43d0a971e687b7000da2bcdaf777c07c5e", + "version": "1.12.2", + "port-version": 0 + }, + { + "git-tree": "8eb954fee71dc1764d7261d36c185f42ee9c6378", + "version": "1.12.1", + "port-version": 0 + }, + { + "git-tree": "3a4cea82b4e937b478bd400d4a975dde33b3f741", + "version": "1.11.2", + "port-version": 0 + }, + { + "git-tree": "1700fdb373d8d3789f510b64aeee7d79859393f1", + "version-string": "1.11.1", + "port-version": 1 + }, { "git-tree": "f164bb20f8c10203d2ab57ecf5a28b5891c5259a", "version-string": "1.11.0", diff --git a/versions/b-/bshoshany-thread-pool.json b/versions/b-/bshoshany-thread-pool.json index 15c2ec3e2fca26..d90058ddd4e147 100644 --- a/versions/b-/bshoshany-thread-pool.json +++ b/versions/b-/bshoshany-thread-pool.json @@ -1,5 +1,50 @@ { "versions": [ + { + "git-tree": "7abe89f1cf1c33f953c027825b6861abccc4beb7", + "version": "4.1.0", + "port-version": 0 + }, + { + "git-tree": "eedda7057a9359ec30cec22194f7a5da5320ac16", + "version": "4.0.1", + "port-version": 0 + }, + { + "git-tree": "0dab54b91bf4c70fc898cb14fb2505773f54660b", + "version": "4.0.0", + "port-version": 0 + }, + { + "git-tree": "ed9b93bfd6a7031b7d96fa5443873f4c2634a049", + "version": "3.5.0", + "port-version": 0 + }, + { + "git-tree": "e7d60a5fc41c5f4aa283aeb1527a4bc8b55e934c", + "version": "3.4.0", + "port-version": 0 + }, + { + "git-tree": "dbe9095cfdb6128d117003b2495f84e50653c220", + "version": "3.3.0", + "port-version": 0 + }, + { + "git-tree": "fee21d430188c7e3c7f7d92da0cb30c48b6cafba", + "version": "3.2.0", + "port-version": 0 + }, + { + "git-tree": "9903a88f968331b1a71254f21e8db7ddd5782df9", + "version": "3.1.0", + "port-version": 0 + }, + { + "git-tree": "76370f19ee1a5791b57631d57ced31da022f8d3e", + "version": "3.0.0", + "port-version": 0 + }, { "git-tree": "5ce890350a3e619b459eac4f676aa3e0858316b4", "version": "2.0.0", diff --git a/versions/b-/buck-yeh-bux-mariadb-client.json b/versions/b-/buck-yeh-bux-mariadb-client.json new file mode 100644 index 00000000000000..912faca82c248a --- /dev/null +++ b/versions/b-/buck-yeh-bux-mariadb-client.json @@ -0,0 +1,29 @@ +{ + "versions": [ + { + "git-tree": "31efb6a6c246eb273825024fb22f318cdaff14e7", + "version": "1.0.4", + "port-version": 0 + }, + { + "git-tree": "f0ad91f620ffdc0ad8b2618c79f38aefa00accf4", + "version": "1.0.3", + "port-version": 1 + }, + { + "git-tree": "9c48d5f05cfc1910b874b0d5510ab332c108ab86", + "version": "1.0.3", + "port-version": 0 + }, + { + "git-tree": "67f2e3a599ef1a984f01e973c71ccd5e4c0ba956", + "version": "1.0.1", + "port-version": 1 + }, + { + "git-tree": "84453b40536c8c57162f627c28d4f3a148516ad8", + "version": "1.0.1", + "port-version": 0 + } + ] +} diff --git a/versions/b-/buck-yeh-bux-sqlite.json b/versions/b-/buck-yeh-bux-sqlite.json new file mode 100644 index 00000000000000..3b3be9e279bb99 --- /dev/null +++ b/versions/b-/buck-yeh-bux-sqlite.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "70a2bfdaeafb4f4193be712ad81e0f9d16ce6294", + "version": "1.0.1", + "port-version": 0 + } + ] +} diff --git a/versions/b-/buck-yeh-bux.json b/versions/b-/buck-yeh-bux.json index 7a2d0905f1048d..3a21625e384a8b 100644 --- a/versions/b-/buck-yeh-bux.json +++ b/versions/b-/buck-yeh-bux.json @@ -1,5 +1,75 @@ { "versions": [ + { + "git-tree": "a9fa9a115e82c9c94b0aaebb606bfc58fa995da7", + "version": "1.9.0", + "port-version": 0 + }, + { + "git-tree": "d6265f9da5bdfd27e3f493f533efe654c8218efb", + "version": "1.8.1", + "port-version": 0 + }, + { + "git-tree": "efa7245f66c619800613932d484de76669b5a43e", + "version": "1.8.0", + "port-version": 0 + }, + { + "git-tree": "b1488eb5aead16b36f0d8f7d98b5036bd62ba695", + "version": "1.7.0", + "port-version": 0 + }, + { + "git-tree": "856dddcbc547f4351ff1382b163f7c1d4f5de495", + "version": "1.6.8", + "port-version": 2 + }, + { + "git-tree": "29028471ac882b35474e5f29767c8d1e92e31a6f", + "version": "1.6.8", + "port-version": 1 + }, + { + "git-tree": "5163db7e9794e33e8d9842d222dcbf2d5985c4d8", + "version": "1.6.8", + "port-version": 0 + }, + { + "git-tree": "791735981cce69c0de499f0daa95c483461ddd38", + "version": "1.6.7", + "port-version": 0 + }, + { + "git-tree": "f7bc53828c4e0a83a3242bb28682011495747ad2", + "version": "1.6.6", + "port-version": 1 + }, + { + "git-tree": "3d58f00b46ad32a1bfba6e5ee139aa47047e2bb6", + "version": "1.6.6", + "port-version": 0 + }, + { + "git-tree": "70c9bddf07b6b1bf2bed8f994f13d1d5703ed105", + "version": "1.6.5", + "port-version": 1 + }, + { + "git-tree": "1fd8af12a04b806faa041b8631ac34dc8c535b41", + "version": "1.6.5", + "port-version": 0 + }, + { + "git-tree": "54886a840d4c55d27047321af6de1a5a01ed888e", + "version": "1.6.3", + "port-version": 1 + }, + { + "git-tree": "19d56bb09ecc37268afec6a5384282e562491af4", + "version": "1.6.3", + "port-version": 0 + }, { "git-tree": "c952bbb93f152d6db8e4bc8d0fbed4fb6e7ead2a", "version": "1.6.2", diff --git a/versions/b-/bullet3.json b/versions/b-/bullet3.json index 111e48e1a730a9..cb4399cf35437b 100644 --- a/versions/b-/bullet3.json +++ b/versions/b-/bullet3.json @@ -1,5 +1,45 @@ { "versions": [ + { + "git-tree": "8ee7660a10459f4d3d11054ab88177126d2131ca", + "version": "3.25", + "port-version": 2 + }, + { + "git-tree": "9ecadb6b6e0651347e89555207f28c4ee5b1b51c", + "version": "3.25", + "port-version": 1 + }, + { + "git-tree": "2ddb8da6a7bd04aff093231935f5ead2a8ee7c79", + "version": "3.25", + "port-version": 0 + }, + { + "git-tree": "fa19f46a232f321eca98906bc2b25dbf782b924b", + "version": "3.22", + "port-version": 2 + }, + { + "git-tree": "0f5ea7c8c35304edd8b2eadb5b60b7300a97b772", + "version": "3.22", + "port-version": 1 + }, + { + "git-tree": "d196c1956b370bd43889ddf5279600092e1af718", + "version": "3.22", + "port-version": 0 + }, + { + "git-tree": "f526f9d9698251590883fcc52ac8bf0f7ef9c5a4", + "version": "3.17", + "port-version": 5 + }, + { + "git-tree": "d986cc96144fa3de5201d56a508f348db9b66e71", + "version": "3.17", + "port-version": 4 + }, { "git-tree": "88add55351bf89f89e584924663861c0a827bdf5", "version": "3.17", diff --git a/versions/b-/bustache.json b/versions/b-/bustache.json index 6642c72b7a2fba..5744b051adbea3 100644 --- a/versions/b-/bustache.json +++ b/versions/b-/bustache.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "888d4f529ac5ecc9a12049beb50337d237f97e28", + "version": "1.1.0", + "port-version": 2 + }, { "git-tree": "746808aa3bda8d2627ecc6da664cc58ebf57896e", "version-string": "1.1.0", diff --git a/versions/b-/butteraugli.json b/versions/b-/butteraugli.json index 1fee95296c761b..de1ff5fb297ec3 100644 --- a/versions/b-/butteraugli.json +++ b/versions/b-/butteraugli.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "abd41dd5d42cd344aab7266f0c9d6b9d1ebb8ed1", + "version-date": "2019-05-08", + "port-version": 4 + }, + { + "git-tree": "4a06f382d1c12d38bd578aca7d4cfe4a94b9e492", + "version-string": "2019-05-08", + "port-version": 3 + }, { "git-tree": "660959f50cba9f2fa2bc5d9cf775e268d746c7e9", "version-string": "2019-05-08", diff --git a/versions/b-/bxzstr.json b/versions/b-/bxzstr.json new file mode 100644 index 00000000000000..c4e279468c4de9 --- /dev/null +++ b/versions/b-/bxzstr.json @@ -0,0 +1,24 @@ +{ + "versions": [ + { + "git-tree": "92e43505182b0acdde866c2f3338cbaa01ee1ee1", + "version": "1.2.2", + "port-version": 0 + }, + { + "git-tree": "3f65837ce5ca6286c092c3f837d185e9ec51c4d1", + "version": "1.2.1", + "port-version": 0 + }, + { + "git-tree": "23e9ed2e92c2146d490f3d2b61de409c0201adeb", + "version": "1.2.0", + "port-version": 1 + }, + { + "git-tree": "ad9511ac67f069a83b89c91a8fb0c995a6aca196", + "version": "1.2.0", + "port-version": 0 + } + ] +} diff --git a/versions/b-/bzip2.json b/versions/b-/bzip2.json index 7025c509f3b16e..2e34a97fb133a9 100644 --- a/versions/b-/bzip2.json +++ b/versions/b-/bzip2.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "2d029da682847c5ebdc54e4dbea001331a02207e", + "version-semver": "1.0.8", + "port-version": 6 + }, + { + "git-tree": "92e9a8bbf1abbd89872b48ad82fcf75852de1006", + "version-semver": "1.0.8", + "port-version": 5 + }, + { + "git-tree": "6165360d15e6de08dff3a5f079d51e69908cc55d", + "version-semver": "1.0.8", + "port-version": 4 + }, + { + "git-tree": "6ee6ad1d0bf78137f7f77671f393abc83363a710", + "version-semver": "1.0.8", + "port-version": 3 + }, { "git-tree": "a1ea352502e69888a565563d9151d3f7ab609fb1", "version-semver": "1.0.8", diff --git a/versions/baseline.json b/versions/baseline.json index 08e122171290f1..59746aea0d3857 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -2,95 +2,151 @@ "default": { "3fd": { "baseline": "2.6.3", - "port-version": 1 + "port-version": 4 }, "7zip": { - "baseline": "19.00", - "port-version": 3 + "baseline": "24.08", + "port-version": 1 + }, + "ableton": { + "baseline": "3.0.6", + "port-version": 2 + }, + "ableton-link": { + "baseline": "3.1.2", + "port-version": 0 }, "abseil": { - "baseline": "20210324.2", - "port-version": 1 + "baseline": "20240722.0", + "port-version": 0 }, "absent": { "baseline": "0.3.1", - "port-version": 1 + "port-version": 3 }, "ace": { - "baseline": "7.0.3", - "port-version": 3 + "baseline": "8.0.1", + "port-version": 0 + }, + "acl": { + "baseline": "2.3.2", + "port-version": 0 }, "activemq-cpp": { "baseline": "3.9.5", - "port-version": 5 + "port-version": 17 + }, + "ada-url": { + "baseline": "2.9.2", + "port-version": 0 }, "ade": { - "baseline": "0.1.1f", - "port-version": 2 + "baseline": "0.1.2d", + "port-version": 0 + }, + "adios2": { + "baseline": "2.9.2", + "port-version": 0 }, "advobfuscator": { "baseline": "2020-06-26", "port-version": 0 }, + "air-ctl": { + "baseline": "1.1.2", + "port-version": 2 + }, "aixlog": { "baseline": "1.5.0", - "port-version": 0 + "port-version": 1 }, - "akali": { - "baseline": "1.42", - "port-version": 2 + "aklomp-base64": { + "baseline": "0.5.2", + "port-version": 0 }, "alac": { "baseline": "2017-11-03-c38887c5", - "port-version": 2 + "port-version": 4 }, "alac-decoder": { "baseline": "0.2", - "port-version": 5 + "port-version": 7 }, "alembic": { - "baseline": "1.8.3", + "baseline": "1.8.7", "port-version": 0 }, "aliyun-oss-c-sdk": { - "baseline": "3.10.0", - "port-version": 1 + "baseline": "3.10.1", + "port-version": 0 + }, + "aliyun-oss-cpp-sdk": { + "baseline": "1.10.0", + "port-version": 4 }, "allegro5": { - "baseline": "5.2.6.0", + "baseline": "5.2.9.1", "port-version": 1 }, + "alpaca": { + "baseline": "0.2.1", + "port-version": 0 + }, + "alpaka": { + "baseline": "1.2.0", + "port-version": 0 + }, "alsa": { - "baseline": "1.2.5.1", + "baseline": "1.2.11", + "port-version": 2 + }, + "amd-adl-sdk": { + "baseline": "17.1", + "port-version": 0 + }, + "amd-amf": { + "baseline": "1.4.35", "port-version": 0 }, "ampl-asl": { - "baseline": "2020-11-11", - "port-version": 1 + "baseline": "2024-02-01", + "port-version": 0 }, "ampl-mp": { "baseline": "2020-11-11", - "port-version": 1 + "port-version": 5 }, "amqpcpp": { - "baseline": "4.3.15", + "baseline": "4.3.26", + "port-version": 0 + }, + "anari": { + "baseline": "0.10.0", "port-version": 0 }, "anax": { "baseline": "2.1.0", - "port-version": 7 + "port-version": 8 }, "angelscript": { - "baseline": "2.35.0", + "baseline": "2.37.0", "port-version": 0 }, "angle": { - "baseline": "chromium_4472", - "port-version": 2 + "baseline": "chromium_5414", + "port-version": 9 + }, + "ankurvdev-embedresource": { + "baseline": "0.0.11", + "port-version": 0 + }, + "annoy": { + "baseline": "1.17.3", + "port-version": 0 }, "antlr4": { - "baseline": "4.9.1", - "port-version": 1 + "baseline": "4.13.2", + "port-version": 0 }, "any-lite": { "baseline": "0.4.0", @@ -98,374 +154,518 @@ }, "anyrpc": { "baseline": "2021-08-24", - "port-version": 0 + "port-version": 2 }, "aom": { - "baseline": "3.2.0", - "port-version": 1 + "baseline": "3.9.1", + "port-version": 0 + }, + "apache-datasketches": { + "baseline": "5.0.2", + "port-version": 0 }, "approval-tests-cpp": { - "baseline": "10.12.0", + "baseline": "10.13.0", "port-version": 0 }, "apr": { - "baseline": "1.7.0", - "port-version": 5 + "baseline": "1.7.5", + "port-version": 2 }, "apr-util": { - "baseline": "1.6.1", - "port-version": 4 + "baseline": "1.6.3", + "port-version": 0 + }, + "apriltag": { + "baseline": "3.4.2", + "port-version": 0 }, "apsi": { - "baseline": "0.5.0", + "baseline": "0.11.0", "port-version": 0 }, "arb": { "baseline": "2.21.1", - "port-version": 0 + "port-version": 2 }, "arcus": { "baseline": "4.10.0", + "port-version": 4 + }, + "arg-router": { + "baseline": "1.4.0", "port-version": 1 }, "argagg": { - "baseline": "0.4.6", - "port-version": 1 + "baseline": "0.4.7", + "port-version": 0 }, "argh": { - "baseline": "2018-12-18", - "port-version": 3 + "baseline": "1.3.2", + "port-version": 1 + }, + "argon2": { + "baseline": "20190702", + "port-version": 1 }, "argparse": { - "baseline": "2.2", + "baseline": "3.1", "port-version": 0 }, "args": { - "baseline": "6.2.7", + "baseline": "6.4.6", "port-version": 0 }, "argtable2": { "baseline": "2.13", - "port-version": 9 + "port-version": 10 }, "argtable3": { - "baseline": "3.2.1", + "baseline": "3.2.2.f25c624", "port-version": 0 }, "argumentum": { - "baseline": "0.3.1", - "port-version": 1 + "baseline": "0.3.2", + "port-version": 0 }, "aricpp": { - "baseline": "1.1.1", - "port-version": 1 + "baseline": "1.1.3", + "port-version": 0 }, "armadillo": { - "baseline": "10.6.2", - "port-version": 2 + "baseline": "14.0.3", + "port-version": 0 + }, + "arpack-ng": { + "baseline": "3.9.1", + "port-version": 0 }, "arrayfire": { "baseline": "3.8.0", - "port-version": 0 + "port-version": 7 }, "arrow": { - "baseline": "5.0.0", - "port-version": 1 + "baseline": "18.0.0", + "port-version": 0 + }, + "arsenalgear": { + "baseline": "2.1.1", + "port-version": 0 }, "ashes": { - "baseline": "2021-06-18", + "baseline": "2023-03-12", "port-version": 0 }, "asio": { - "baseline": "1.20.0", + "baseline": "1.32.0", "port-version": 0 }, "asio-grpc": { - "baseline": "1.3.1", + "baseline": "3.2.1", "port-version": 0 }, + "asiochan": { + "baseline": "2022-11-25", + "port-version": 1 + }, "asiosdk": { "baseline": "2.3.3", - "port-version": 3 + "port-version": 7 }, "asmjit": { - "baseline": "2021-10-26", + "baseline": "2024-06-28", "port-version": 0 }, + "asmtk": { + "baseline": "2022-11-06", + "port-version": 1 + }, "assimp": { - "baseline": "5.0.1", - "port-version": 5 + "baseline": "5.4.3", + "port-version": 0 + }, + "astr": { + "baseline": "0.2.1", + "port-version": 0 + }, + "async-mqtt": { + "baseline": "9.0.2", + "port-version": 0 + }, + "async-simple": { + "baseline": "1.3", + "port-version": 1 }, "asynch": { "baseline": "2019-09-21", - "port-version": 2 + "port-version": 3 }, "asyncplusplus": { - "baseline": "1.1", + "baseline": "1.2", + "port-version": 0 + }, + "at-spi2-atk": { + "baseline": "2.38.0", "port-version": 1 }, + "at-spi2-core": { + "baseline": "2.44.1", + "port-version": 3 + }, "atk": { - "baseline": "2.36.0", - "port-version": 1 + "baseline": "2.38.0", + "port-version": 8 }, "atkmm": { - "baseline": "2.36.0", - "port-version": 1 + "baseline": "2.36.3", + "port-version": 0 + }, + "atl": { + "baseline": "0", + "port-version": 0 + }, + "atliac-minitest": { + "baseline": "1.0.0", + "port-version": 0 }, "atlmfc": { "baseline": "0", - "port-version": 1 + "port-version": 3 }, "atomic-queue": { - "baseline": "2021-05-03", + "baseline": "1.6.5", + "port-version": 0 + }, + "attr": { + "baseline": "2.5.2", "port-version": 0 }, "aubio": { - "baseline": "0.4.9", - "port-version": 7 + "baseline": "2024-01-03", + "port-version": 0 }, "audiofile": { - "baseline": "1.0.9", + "baseline": "1.1.1", + "port-version": 0 + }, + "audit": { + "baseline": "4.0.2", "port-version": 0 }, "aurora": { "baseline": "2017-06-21-c75699d2a8caa726260c29b6d7a0fd35f8f28933", + "port-version": 2 + }, + "aurora-au": { + "baseline": "0.3.5", "port-version": 1 }, "autobahn": { "baseline": "20.8.1", - "port-version": 1 + "port-version": 2 }, "autodock-vina": { - "baseline": "1.2.3", - "port-version": 0 + "baseline": "1.2.5", + "port-version": 3 }, "avcpp": { - "baseline": "2021-06-14", - "port-version": 1 + "baseline": "2.4.0", + "port-version": 0 }, "avisynthplus": { - "baseline": "3.7.0", - "port-version": 1 + "baseline": "3.7.3", + "port-version": 0 }, "avro-c": { - "baseline": "1.11.0", + "baseline": "1.11.3", "port-version": 0 }, "avro-cpp": { - "baseline": "2021-06-01", - "port-version": 1 + "baseline": "1.12.0", + "port-version": 0 + }, + "awlib": { + "baseline": "2024-04-06", + "port-version": 0 }, "aws-c-auth": { - "baseline": "0.6.3", + "baseline": "0.7.31", "port-version": 0 }, "aws-c-cal": { - "baseline": "0.5.12", + "baseline": "0.7.4", "port-version": 0 }, "aws-c-common": { - "baseline": "0.6.9", + "baseline": "0.9.30", "port-version": 0 }, "aws-c-compression": { - "baseline": "0.2.14", + "baseline": "0.2.19", "port-version": 0 }, "aws-c-event-stream": { - "baseline": "0.2.7", + "baseline": "0.4.3", "port-version": 0 }, "aws-c-http": { - "baseline": "0.6.5", + "baseline": "0.8.10", "port-version": 0 }, "aws-c-io": { - "baseline": "0.10.7", + "baseline": "0.14.18", "port-version": 0 }, "aws-c-mqtt": { - "baseline": "0.7.6", + "baseline": "0.10.7", "port-version": 0 }, "aws-c-s3": { - "baseline": "0.1.25", + "baseline": "0.6.6", + "port-version": 0 + }, + "aws-c-sdkutils": { + "baseline": "0.1.19", "port-version": 0 }, "aws-checksums": { - "baseline": "0.1.11", - "port-version": 1 + "baseline": "0.1.20", + "port-version": 0 }, "aws-crt-cpp": { - "baseline": "0.15.1", - "port-version": 1 + "baseline": "0.28.3", + "port-version": 0 }, "aws-lambda-cpp": { - "baseline": "0.2.7", + "baseline": "0.2.10", "port-version": 0 }, "aws-sdk-cpp": { - "baseline": "1.9.96", - "port-version": 4 + "baseline": "1.11.428", + "port-version": 0 }, "azmq": { - "baseline": "2020-03-03", - "port-version": 1 + "baseline": "2023-03-23", + "port-version": 0 }, "azure-c-shared-utility": { - "baseline": "2021-09-09", - "port-version": 0 + "baseline": "2024-06-24", + "port-version": 1 + }, + "azure-core-amqp-cpp": { + "baseline": "1.0.0-beta.11", + "port-version": 1 }, "azure-core-cpp": { - "baseline": "1.3.1", + "baseline": "1.14.1", "port-version": 0 }, + "azure-core-tracing-opentelemetry-cpp": { + "baseline": "1.0.0-beta.4", + "port-version": 5 + }, + "azure-data-tables-cpp": { + "baseline": "1.0.0-beta.4", + "port-version": 1 + }, "azure-identity-cpp": { - "baseline": "1.1.0", + "baseline": "1.10.1", "port-version": 0 }, "azure-iot-sdk-c": { - "baseline": "2021-09-09", + "baseline": "2024-08-12", "port-version": 0 }, "azure-kinect-sensor-sdk": { "baseline": "1.4.1", - "port-version": 3 + "port-version": 7 }, "azure-macro-utils-c": { - "baseline": "2020-06-17", - "port-version": 3 + "baseline": "2022-01-21", + "port-version": 1 }, - "azure-security-keyvault-certificates-cpp": { - "baseline": "4.0.0-beta.1", - "port-version": 0 + "azure-messaging-eventhubs-checkpointstore-blob-cpp": { + "baseline": "1.0.0-beta.1", + "port-version": 4 }, - "azure-security-keyvault-common-cpp": { - "baseline": "4.0.0-beta.3", + "azure-messaging-eventhubs-cpp": { + "baseline": "1.0.0-beta.10", "port-version": 0 }, + "azure-security-attestation-cpp": { + "baseline": "1.1.0", + "port-version": 6 + }, + "azure-security-keyvault-administration-cpp": { + "baseline": "4.0.0-beta.5", + "port-version": 1 + }, + "azure-security-keyvault-certificates-cpp": { + "baseline": "4.2.1", + "port-version": 3 + }, "azure-security-keyvault-keys-cpp": { - "baseline": "4.2.0", - "port-version": 0 + "baseline": "4.4.1", + "port-version": 3 }, "azure-security-keyvault-secrets-cpp": { - "baseline": "4.0.0-beta.1", - "port-version": 0 + "baseline": "4.2.1", + "port-version": 3 }, "azure-storage-blobs-cpp": { - "baseline": "12.2.1", - "port-version": 0 + "baseline": "12.13.0", + "port-version": 1 }, "azure-storage-common-cpp": { - "baseline": "12.2.0", + "baseline": "12.9.0", "port-version": 0 }, "azure-storage-cpp": { "baseline": "7.5.0", - "port-version": 2 + "port-version": 6 }, "azure-storage-files-datalake-cpp": { - "baseline": "12.2.0", - "port-version": 0 + "baseline": "12.12.0", + "port-version": 1 }, "azure-storage-files-shares-cpp": { - "baseline": "12.2.0", + "baseline": "12.12.0", "port-version": 0 }, "azure-storage-queues-cpp": { - "baseline": "12.0.0-beta.2", - "port-version": 0 + "baseline": "12.4.0", + "port-version": 1 }, "azure-uamqp-c": { - "baseline": "2021-09-09", + "baseline": "2024-08-12", "port-version": 0 }, "azure-uhttp-c": { - "baseline": "2021-09-09", + "baseline": "2024-06-24", "port-version": 0 }, "azure-umqtt-c": { - "baseline": "2021-09-09", + "baseline": "2024-06-24", "port-version": 0 }, "b64": { "baseline": "2.0.0.1", + "port-version": 2 + }, + "backward-cpp": { + "baseline": "2023-11-24", + "port-version": 1 + }, + "baresip-libre": { + "baseline": "3.17.0", + "port-version": 0 + }, + "bark": { + "baseline": "0.3.0", "port-version": 0 }, "basisu": { - "baseline": "1.11", - "port-version": 5 + "baseline": "1.50.0", + "port-version": 0 }, "bcg729": { "baseline": "1.1.1", - "port-version": 2 + "port-version": 3 }, "bddisasm": { - "baseline": "1.34.7", + "baseline": "2.1.5", "port-version": 0 }, "bde": { - "baseline": "3.2.0.0", - "port-version": 4 + "baseline": "4.14.0.0", + "port-version": 0 }, "bdwgc": { - "baseline": "8.2.0", - "port-version": 2 + "baseline": "8.2.8", + "port-version": 0 }, "beast": { "baseline": "0", - "port-version": 1 + "port-version": 2 }, "behaviortree-cpp": { - "baseline": "3.5.6", - "port-version": 1 + "baseline": "4.3.7", + "port-version": 0 }, "benchmark": { - "baseline": "1.6.0", + "baseline": "1.9.0", "port-version": 0 }, "bento4": { - "baseline": "1.5.1", - "port-version": 629 + "baseline": "1.6.0-641", + "port-version": 0 }, "berkeleydb": { "baseline": "4.8.30", - "port-version": 6 + "port-version": 9 + }, + "better-enums": { + "baseline": "0.11.3", + "port-version": 0 }, "bext-di": { - "baseline": "1.2.0", + "baseline": "1.3.0", + "port-version": 1 + }, + "bext-mp": { + "baseline": "2023-03-02", "port-version": 0 }, "bext-sml": { - "baseline": "1.1.4", + "baseline": "1.1.11", + "port-version": 0 + }, + "bext-sml2": { + "baseline": "2.0.0", + "port-version": 0 + }, + "bext-text": { + "baseline": "2024-01-19", "port-version": 0 }, "bext-ut": { - "baseline": "1.1.8", + "baseline": "2.0.1", "port-version": 0 }, "bext-wintls": { - "baseline": "0.9.5", + "baseline": "0.9.8", "port-version": 0 }, "bfgroup-lyra": { - "baseline": "1.5.1", + "baseline": "1.6.1", + "port-version": 0 + }, + "bgfx": { + "baseline": "1.128.8808-482", "port-version": 0 }, "bigint": { "baseline": "2010.04.30", - "port-version": 7 + "port-version": 8 + }, + "binlog": { + "baseline": "2021-04-16", + "port-version": 1 }, "binn": { "baseline": "3.0", - "port-version": 1 + "port-version": 3 }, - "bitmagic": { - "baseline": "7.5.0", + "bit7z": { + "baseline": "4.0.8", "port-version": 0 }, + "bitmagic": { + "baseline": "7.13.4", + "port-version": 1 + }, "bitserializer": { - "baseline": "0.44", + "baseline": "0.70", "port-version": 0 }, "bitserializer-cpprestjson": { @@ -482,686 +682,738 @@ }, "bitserializer-rapidyaml": { "baseline": "alias", - "port-version": 2 + "port-version": 3 }, "bitsery": { - "baseline": "5.2.2", + "baseline": "5.2.4", + "port-version": 0 + }, + "blake3": { + "baseline": "1.5.4", "port-version": 0 }, "blas": { - "baseline": "1", + "baseline": "2023-04-14", "port-version": 1 }, "blaze": { - "baseline": "3.8", - "port-version": 2 + "baseline": "3.8.2", + "port-version": 1 }, "blend2d": { - "baseline": "2021-03-17", + "baseline": "2024-07-08", "port-version": 0 }, + "blingfire": { + "baseline": "0.1.8.1", + "port-version": 1 + }, "blitz": { "baseline": "2020-03-25", - "port-version": 2 + "port-version": 7 + }, + "bloomberg-quantum": { + "baseline": "2023-02-03", + "port-version": 0 }, "blosc": { - "baseline": "1.18.1", - "port-version": 3 + "baseline": "1.21.6", + "port-version": 0 + }, + "blpapi": { + "baseline": "3.24.6", + "port-version": 0 + }, + "bluescarni-tanuki": { + "baseline": "2024-08-17", + "port-version": 0 }, "boinc": { - "baseline": "7.18.1", - "port-version": 2 + "baseline": "8.0.4", + "port-version": 0 }, "bond": { - "baseline": "9.0.3", - "port-version": 2 + "baseline": "13.0.1", + "port-version": 0 }, "boolinq": { - "baseline": "3.0.2", + "baseline": "3.0.4", "port-version": 0 }, "boost": { - "baseline": "1.77.0", - "port-version": 2 + "baseline": "1.86.0", + "port-version": 0 }, "boost-accumulators": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-algorithm": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-align": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-any": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-array": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-asio": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-assert": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-assign": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-atomic": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-beast": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-bimap": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-bind": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-build": { - "baseline": "1.77.0", - "port-version": 0 + "baseline": "1.86.0", + "port-version": 1 }, "boost-callable-traits": { - "baseline": "1.77.0", + "baseline": "1.86.0", + "port-version": 0 + }, + "boost-charconv": { + "baseline": "1.86.0", "port-version": 0 }, "boost-chrono": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-circular-buffer": { - "baseline": "1.77.0", + "baseline": "1.86.0", + "port-version": 0 + }, + "boost-cmake": { + "baseline": "1.86.0", + "port-version": 0 + }, + "boost-cobalt": { + "baseline": "1.86.0", + "port-version": 0 + }, + "boost-compat": { + "baseline": "1.86.0", "port-version": 0 }, "boost-compatibility": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-compute": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-concept-check": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-config": { - "baseline": "1.77.0", - "port-version": 2 + "baseline": "1.86.0", + "port-version": 0 }, "boost-container": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-container-hash": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-context": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-contract": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-conversion": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-convert": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-core": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-coroutine": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-coroutine2": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-crc": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-date-time": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-describe": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-detail": { - "baseline": "1.77.0", - "port-version": 0 - }, - "boost-di": { - "baseline": "1.2.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-dll": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-dynamic-bitset": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-endian": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-exception": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-fiber": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-filesystem": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-flyweight": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-foreach": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-format": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-function": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-function-types": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-functional": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-fusion": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-geometry": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-gil": { - "baseline": "1.77.0", - "port-version": 1 + "baseline": "1.86.0", + "port-version": 0 }, "boost-graph": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-graph-parallel": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-hana": { - "baseline": "1.77.0", + "baseline": "1.86.0", + "port-version": 0 + }, + "boost-headers": { + "baseline": "1.86.0", "port-version": 0 }, "boost-heap": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-histogram": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-hof": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-icl": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-integer": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-interprocess": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-interval": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-intrusive": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-io": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-iostreams": { - "baseline": "1.77.0", - "port-version": 1 + "baseline": "1.86.0", + "port-version": 0 }, "boost-iterator": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-json": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-lambda": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-lambda2": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-leaf": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-lexical-cast": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-local-function": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-locale": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-lockfree": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-log": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-logic": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-math": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-metaparse": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, - "boost-modular-build-helper": { - "baseline": "1.77.0", - "port-version": 4 - }, "boost-move": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-mp11": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-mpi": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-mpl": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-msm": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-multi-array": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-multi-index": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-multiprecision": { - "baseline": "1.77.0", + "baseline": "1.86.0", + "port-version": 0 + }, + "boost-mysql": { + "baseline": "1.86.0", "port-version": 0 }, "boost-nowide": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-numeric-conversion": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-odeint": { - "baseline": "1.77.0", - "port-version": 1 + "baseline": "1.86.0", + "port-version": 0 }, "boost-optional": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-outcome": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-parameter": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-parameter-python": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-pfr": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-phoenix": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-poly-collection": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-polygon": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-pool": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-predef": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-preprocessor": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-process": { - "baseline": "1.77.0", - "port-version": 2 + "baseline": "1.86.0", + "port-version": 0 }, "boost-program-options": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-property-map": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-property-map-parallel": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-property-tree": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-proto": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-ptr-container": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-python": { - "baseline": "1.77.0", - "port-version": 1 + "baseline": "1.86.0", + "port-version": 0 }, "boost-qvm": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-random": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-range": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-ratio": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-rational": { - "baseline": "1.77.0", + "baseline": "1.86.0", + "port-version": 0 + }, + "boost-redis": { + "baseline": "1.86.0", "port-version": 0 }, "boost-regex": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-safe-numerics": { - "baseline": "1.77.0", + "baseline": "1.86.0", + "port-version": 0 + }, + "boost-scope": { + "baseline": "1.86.0", "port-version": 0 }, "boost-scope-exit": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-serialization": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-signals2": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-smart-ptr": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-sort": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-spirit": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-stacktrace": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-statechart": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-static-assert": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-static-string": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-stl-interfaces": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-system": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-test": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-thread": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-throw-exception": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-timer": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-tokenizer": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-tti": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-tuple": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-type-erasure": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-type-index": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-type-traits": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-typeof": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-ublas": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-uninstall": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-units": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-unordered": { - "baseline": "1.77.0", + "baseline": "1.86.0", + "port-version": 0 + }, + "boost-url": { + "baseline": "1.86.0", "port-version": 0 }, "boost-utility": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-uuid": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-variant": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-variant2": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-vcpkg-helpers": { - "baseline": "1.77.0", + "baseline": "1.84.0", "port-version": 0 }, "boost-vmd": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-wave": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-winapi": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-xpressive": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boost-yap": { - "baseline": "1.77.0", + "baseline": "1.86.0", "port-version": 0 }, "boringssl": { - "baseline": "2021-06-23", + "baseline": "2024-09-13", "port-version": 0 }, "botan": { - "baseline": "2.18.1", - "port-version": 4 + "baseline": "3.6.1", + "port-version": 0 }, "box2d": { "baseline": "2.4.1", - "port-version": 1 + "port-version": 3 + }, + "braft": { + "baseline": "2021-26-04", + "port-version": 5 }, "breakpad": { - "baseline": "2020-09-14", - "port-version": 3 + "baseline": "2023-06-01", + "port-version": 2 }, "brigand": { "baseline": "1.3.0", - "port-version": 2 + "port-version": 3 }, "brotli": { - "baseline": "1.0.9", - "port-version": 2 + "baseline": "1.1.0", + "port-version": 1 }, "brpc": { - "baseline": "0.9.7", - "port-version": 3 + "baseline": "1.11.0", + "port-version": 0 }, "brunocodutra-metal": { - "baseline": "2.1.3", + "baseline": "2.1.4", "port-version": 0 }, "brynet": { - "baseline": "1.11.0", - "port-version": 1 + "baseline": "1.12.2", + "port-version": 0 }, "bshoshany-thread-pool": { - "baseline": "2.0.0", + "baseline": "4.1.0", "port-version": 0 }, "bsio": { @@ -1169,20 +1421,32 @@ "port-version": 0 }, "buck-yeh-bux": { - "baseline": "1.6.2", + "baseline": "1.9.0", + "port-version": 0 + }, + "buck-yeh-bux-mariadb-client": { + "baseline": "1.0.4", + "port-version": 0 + }, + "buck-yeh-bux-sqlite": { + "baseline": "1.0.1", "port-version": 0 }, "bullet3": { - "baseline": "3.17", - "port-version": 3 + "baseline": "3.25", + "port-version": 2 }, "bustache": { "baseline": "1.1.0", - "port-version": 1 + "port-version": 2 }, "butteraugli": { "baseline": "2019-05-08", - "port-version": 2 + "port-version": 4 + }, + "bxzstr": { + "baseline": "1.2.2", + "port-version": 0 }, "byte-lite": { "baseline": "0.3.0", @@ -1190,54 +1454,78 @@ }, "bzip2": { "baseline": "1.0.8", - "port-version": 2 + "port-version": 6 }, "c-ares": { - "baseline": "1.17.2", - "port-version": 1 + "baseline": "1.34.2", + "port-version": 0 + }, + "c-dbg-macro": { + "baseline": "2020-02-29", + "port-version": 0 }, "c4core": { - "baseline": "2021-07-18", - "port-version": 1 + "baseline": "0.2.1", + "port-version": 0 }, - "caf": { - "baseline": "0.17.6", - "port-version": 2 + "c89stringutils": { + "baseline": "0.0.2", + "port-version": 0 }, - "caffe2": { - "baseline": "0.8.1", - "port-version": 5 + "c9y": { + "baseline": "0.8.0", + "port-version": 0 + }, + "cachelib": { + "baseline": "2024.07.15.00", + "port-version": 0 + }, + "caf": { + "baseline": "1.0.2", + "port-version": 0 }, "cairo": { - "baseline": "1.17.4", - "port-version": 2 + "baseline": "1.18.2", + "port-version": 0 }, "cairomm": { - "baseline": "1.16.0", + "baseline": "1.18.0", "port-version": 0 }, "calceph": { - "baseline": "3.5.0", + "baseline": "4.0.1", "port-version": 0 }, "camport3": { - "baseline": "1.5.3", - "port-version": 1 + "baseline": "1.6.2", + "port-version": 0 + }, + "canvas-ity": { + "baseline": "1.0", + "port-version": 0 }, "capnproto": { - "baseline": "0.9.1", + "baseline": "1.0.2", "port-version": 1 }, "capstone": { - "baseline": "4.0.2", - "port-version": 2 + "baseline": "5.0.3", + "port-version": 0 + }, + "cargs": { + "baseline": "1.2.0", + "port-version": 0 }, "cartographer": { "baseline": "1.0.0", - "port-version": 4 + "port-version": 6 + }, + "casadi": { + "baseline": "3.6.7", + "port-version": 0 }, "casclib": { - "baseline": "2021-11-16", + "baseline": "2024-06-05", "port-version": 0 }, "catch": { @@ -1246,230 +1534,302 @@ }, "catch-classic": { "baseline": "1.12.2", - "port-version": 1 + "port-version": 2 }, "catch2": { - "baseline": "2.13.7", - "port-version": 1 + "baseline": "3.7.1", + "port-version": 0 + }, + "cblas": { + "baseline": "2024-03-19", + "port-version": 0 }, "cccapstone": { "baseline": "9b4128ee1153e78288a1b5433e2c06a0d47a4c4e", "port-version": 2 }, "ccd": { - "baseline": "2.1-4", - "port-version": 3 + "baseline": "2.1", + "port-version": 4 }, "ccfits": { "baseline": "2.5", - "port-version": 8 + "port-version": 13 }, "cctag": { - "baseline": "1.0.1", + "baseline": "1.0.4", "port-version": 0 }, "cctz": { - "baseline": "2.3", - "port-version": 3 + "baseline": "2.4", + "port-version": 0 + }, + "cddlib": { + "baseline": "0.94m", + "port-version": 0 + }, + "cdt": { + "baseline": "1.4.1", + "port-version": 0 }, "celero": { - "baseline": "2.8.2", - "port-version": 1 + "baseline": "2.9.0", + "port-version": 0 }, "cello": { "baseline": "2019-07-23", - "port-version": 1 + "port-version": 4 }, "cereal": { - "baseline": "1.3.0", + "baseline": "1.3.2", "port-version": 1 }, "ceres": { - "baseline": "2.0.0", + "baseline": "2.1.0", "port-version": 5 }, "cfitsio": { "baseline": "3.49", - "port-version": 1 + "port-version": 6 }, "cgal": { - "baseline": "5.3", + "baseline": "6.0.1", "port-version": 0 }, "cgicc": { - "baseline": "3.2.19", - "port-version": 5 + "baseline": "3.2.20", + "port-version": 1 }, - "cgl": { - "baseline": "0.60.3", + "cglm": { + "baseline": "0.9.4", "port-version": 0 }, "cgltf": { - "baseline": "1.11", + "baseline": "1.14", "port-version": 0 }, "cgns": { - "baseline": "4.2.0", + "baseline": "4.4.0", "port-version": 0 }, "chaiscript": { "baseline": "6.1.0", - "port-version": 2 + "port-version": 3 }, "chakracore": { - "baseline": "2021-04-22", - "port-version": 0 + "baseline": "2022-11-09", + "port-version": 7 }, "charls": { - "baseline": "2.2.0", - "port-version": 2 + "baseline": "2.4.2", + "port-version": 0 }, "chartdir": { "baseline": "7.0.0", - "port-version": 1 + "port-version": 7 }, "check": { "baseline": "0.15.2", - "port-version": 2 + "port-version": 5 }, "chipmunk": { "baseline": "7.0.3", - "port-version": 2 + "port-version": 7 }, "chmlib": { "baseline": "0.40", - "port-version": 5 + "port-version": 8 }, "chromaprint": { - "baseline": "1.5.0", - "port-version": 1 + "baseline": "1.5.1", + "port-version": 0 }, "chromium-base": { "baseline": "86.0.4199.1", - "port-version": 2 + "port-version": 6 + }, + "chronoengine": { + "baseline": "8.0.0", + "port-version": 0 + }, + "cialloo-rcon": { + "baseline": "1.0.0", + "port-version": 0 }, "cimg": { - "baseline": "2.9.9", + "baseline": "3.4.1", + "port-version": 0 + }, + "cista": { + "baseline": "0.15", "port-version": 0 }, "cityhash": { "baseline": "2013-01-08", - "port-version": 2 + "port-version": 3 }, "civetweb": { - "baseline": "1.15", - "port-version": 0 + "baseline": "1.16", + "port-version": 2 }, "cjson": { - "baseline": "1.7.15", - "port-version": 1 + "baseline": "1.7.18", + "port-version": 0 }, "clamav": { - "baseline": "0.103.0", - "port-version": 2 + "baseline": "0.103.11", + "port-version": 0 + }, + "clap-cleveraudio": { + "baseline": "1.2.2", + "port-version": 0 }, "clapack": { "baseline": "3.2.1", - "port-version": 19 + "port-version": 23 }, "clara": { "baseline": "1.1.5", - "port-version": 1 + "port-version": 2 }, "clblas": { "baseline": "2.12", - "port-version": 5 + "port-version": 7 }, "clblast": { - "baseline": "1.5.2", + "baseline": "1.6.3", "port-version": 0 }, + "cld3": { + "baseline": "3.0.14", + "port-version": 2 + }, "clfft": { "baseline": "2.12.2", - "port-version": 3 + "port-version": 7 }, "cli": { - "baseline": "2.0.0", - "port-version": 1 + "baseline": "2.2.0", + "port-version": 0 }, "cli11": { - "baseline": "2.1.2", + "baseline": "2.4.2", "port-version": 1 }, "clickhouse-cpp": { - "baseline": "1.5.0", + "baseline": "2.5.1", + "port-version": 0 + }, + "clipboardxx": { + "baseline": "2022-02-04", "port-version": 0 }, "clipp": { "baseline": "2019-04-30", - "port-version": 1 + "port-version": 2 }, - "clockutils": { - "baseline": "1.1.1-3651f232c27074c4ceead169e223edf5f00247c5", - "port-version": 4 + "clipper2": { + "baseline": "1.4.0", + "port-version": 0 }, - "clp": { - "baseline": "1.17.6", - "port-version": 1 + "clockutils": { + "baseline": "1.1.1", + "port-version": 2 }, "clrng": { "baseline": "2020-12-01", - "port-version": 1 + "port-version": 3 }, "clue": { "baseline": "1.0.0", "port-version": 0 }, - "cmark": { - "baseline": "0.30.1", + "cmakerc": { + "baseline": "2023-07-24", "port-version": 0 }, - "cmcstl2": { - "baseline": "2019-07-20", - "port-version": 1 + "cmark": { + "baseline": "0.31.1", + "port-version": 0 }, "cminpack": { "baseline": "1.3.8", - "port-version": 1 + "port-version": 4 }, "cmocka": { "baseline": "2020-08-01", - "port-version": 1 + "port-version": 3 + }, + "cnats": { + "baseline": "3.8.2", + "port-version": 0 }, "cnl": { "baseline": "1.1.7", - "port-version": 1 + "port-version": 3 }, "co": { - "baseline": "2.0.2", + "baseline": "2.0.3", + "port-version": 1 + }, + "cocoyaxi": { + "baseline": "3.0.0", "port-version": 1 }, "coin": { - "baseline": "4.0.0", - "port-version": 4 + "baseline": "4.0.3", + "port-version": 0 + }, + "coin-or-buildtools": { + "baseline": "2023-02-02", + "port-version": 0 + }, + "coin-or-cbc": { + "baseline": "2024-06-04", + "port-version": 0 + }, + "coin-or-cgl": { + "baseline": "2023-02-01", + "port-version": 0 + }, + "coin-or-clp": { + "baseline": "2023-02-01", + "port-version": 0 + }, + "coin-or-ipopt": { + "baseline": "2023-02-01", + "port-version": 0 + }, + "coin-or-osi": { + "baseline": "2024-04-16", + "port-version": 0 }, "coinutils": { - "baseline": "2.11.4", - "port-version": 1 + "baseline": "2024-04-08", + "port-version": 0 }, "collada-dom": { "baseline": "2.5.0", - "port-version": 6 + "port-version": 11 }, "colmap": { - "baseline": "3.6", - "port-version": 1 + "baseline": "3.10", + "port-version": 0 + }, + "color-console": { + "baseline": "2022-03-20", + "port-version": 0 }, "comms": { - "baseline": "3.4.0", + "baseline": "4.0.0", "port-version": 0 }, "comms-ublox": { - "baseline": "0.20.2", + "baseline": "1.0.0", "port-version": 0 }, "commsdsl": { - "baseline": "3.6.4", + "baseline": "6.3.3", "port-version": 0 }, "compoundfilereader": { @@ -1477,647 +1837,903 @@ "port-version": 0 }, "concurrencpp": { - "baseline": "0.1.3", - "port-version": 0 + "baseline": "0.1.7", + "port-version": 1 }, "concurrentqueue": { - "baseline": "1.0.3", + "baseline": "1.0.4", + "port-version": 0 + }, + "configcat": { + "baseline": "4.0.3", + "port-version": 0 + }, + "conjure-enum": { + "baseline": "1.1.0", "port-version": 0 }, "console-bridge": { - "baseline": "1.0.1", - "port-version": 2 + "baseline": "1.0.2", + "port-version": 0 }, "constexpr": { "baseline": "1.0", - "port-version": 2 + "port-version": 3 }, "constexpr-contracts": { "baseline": "2020-08-09", - "port-version": 1 + "port-version": 3 }, "continuable": { - "baseline": "4.1.0", + "baseline": "4.2.2", + "port-version": 0 + }, + "convectionkernels": { + "baseline": "2022-06-08", "port-version": 0 }, "coolprop": { - "baseline": "6.4.1", - "port-version": 1 + "baseline": "6.4.3", + "port-version": 3 + }, + "copypp": { + "baseline": "0.3.0", + "port-version": 0 }, "coroutine": { "baseline": "1.5.0", - "port-version": 2 + "port-version": 5 }, "corrade": { "baseline": "2020.06", - "port-version": 3 + "port-version": 8 + }, + "correlation-vector-cpp": { + "baseline": "1.0", + "port-version": 0 + }, + "cpp-async": { + "baseline": "1.1.0", + "port-version": 0 }, "cpp-base64": { "baseline": "V2.rc.08", "port-version": 0 }, "cpp-httplib": { - "baseline": "0.9.7", + "baseline": "0.18.0", "port-version": 0 }, "cpp-ipc": { - "baseline": "1.0.1", + "baseline": "1.3.0", "port-version": 0 }, "cpp-jwt": { - "baseline": "2021-10-18", + "baseline": "2022-08-27", + "port-version": 1 + }, + "cpp-kana": { + "baseline": "1.0.0", "port-version": 0 }, "cpp-netlib": { "baseline": "0.13.0", - "port-version": 5 + "port-version": 9 }, "cpp-peglib": { - "baseline": "0.1.0", - "port-version": 1 + "baseline": "1.9.0", + "port-version": 0 + }, + "cpp-pinyin": { + "baseline": "1.0.0", + "port-version": 0 }, "cpp-redis": { "baseline": "4.3.1", - "port-version": 4 + "port-version": 5 + }, + "cpp-sort": { + "baseline": "1.16.0", + "port-version": 0 }, "cpp-taskflow": { "baseline": "2.6.0", - "port-version": 1 + "port-version": 2 }, "cpp-timsort": { - "baseline": "2.1.0", + "baseline": "3.0.0", "port-version": 0 }, "cppad": { - "baseline": "20210000.7", - "port-version": 2 + "baseline": "20240000.7", + "port-version": 0 }, "cppcms": { "baseline": "1.2.1", - "port-version": 3 + "port-version": 7 }, "cppcodec": { "baseline": "0.2", - "port-version": 2 + "port-version": 4 }, "cppcoro": { - "baseline": "2020-2-28", - "port-version": 2 + "baseline": "2022-10-25", + "port-version": 0 + }, + "cppdap": { + "baseline": "1.58.0-a", + "port-version": 0 }, "cppfs": { "baseline": "1.3.0", - "port-version": 1 + "port-version": 4 }, "cppgraphqlgen": { - "baseline": "3.6.0", - "port-version": 0 + "baseline": "4.5.7", + "port-version": 1 }, "cppitertools": { "baseline": "2.1", - "port-version": 2 + "port-version": 3 }, "cppkafka": { - "baseline": "0.3.1", - "port-version": 3 + "baseline": "0.4.0", + "port-version": 0 }, "cppmicroservices": { - "baseline": "3.6.0", + "baseline": "3.7.6", + "port-version": 1 + }, + "cppp-reiconv": { + "baseline": "2.1.0", + "port-version": 0 + }, + "cpprealm": { + "baseline": "2.2.0", "port-version": 0 }, "cpprestsdk": { - "baseline": "2.10.18", + "baseline": "2.10.19", + "port-version": 2 + }, + "cppslippi": { + "baseline": "1.4.3.16", "port-version": 0 }, "cpptoml": { - "baseline": "v0.1.1", - "port-version": 1 + "baseline": "0.1.1", + "port-version": 4 + }, + "cpptrace": { + "baseline": "0.7.2", + "port-version": 0 }, "cppunit": { "baseline": "1.15.1", - "port-version": 1 + "port-version": 4 }, "cpputest": { "baseline": "2019-9-16", - "port-version": 2 + "port-version": 3 }, "cppwinrt": { - "baseline": "windows-sdk", + "baseline": "2.0.240405.15", "port-version": 0 }, + "cppxaml": { + "baseline": "0.0.16", + "port-version": 1 + }, "cppzmq": { - "baseline": "4.8.1", + "baseline": "4.10.0", "port-version": 0 }, "cpr": { - "baseline": "1.6.2", - "port-version": 1 + "baseline": "1.11.0", + "port-version": 0 }, "cpu-features": { - "baseline": "0.6.0", + "baseline": "0.9.0", "port-version": 0 }, "cpuid": { - "baseline": "0.5.1", - "port-version": 2 + "baseline": "0.6.4", + "port-version": 0 }, "cpuinfo": { - "baseline": "2021-04-04", - "port-version": 0 + "baseline": "2022-07-19", + "port-version": 3 }, "cr": { "baseline": "2020-04-26", - "port-version": 1 + "port-version": 2 }, "crashpad": { - "baseline": "2020-03-18", - "port-version": 1 + "baseline": "2024-04-11", + "port-version": 4 }, "crashrpt": { "baseline": "1.4.3", - "port-version": 1 + "port-version": 3 }, "crc32c": { "baseline": "1.1.2", - "port-version": 0 + "port-version": 2 }, "crfsuite": { - "baseline": "2019-07-21", + "baseline": "2020-08-27", "port-version": 1 }, "croncpp": { - "baseline": "2020-09-04", - "port-version": 2 + "baseline": "2023-03-30", + "port-version": 0 }, "crossguid": { "baseline": "2021-10-22", - "port-version": 0 + "port-version": 3 }, "crow": { - "baseline": "0.3.3", + "baseline": "1.2.0", "port-version": 0 }, "cryptopp": { - "baseline": "8.5.0", + "baseline": "8.9.0", "port-version": 1 }, - "cspice": { - "baseline": "66", - "port-version": 5 + "cserialport": { + "baseline": "4.3.1", + "port-version": 0 + }, + "cspice": { + "baseline": "67", + "port-version": 3 + }, + "ctbench": { + "baseline": "1.3.4", + "port-version": 1 }, "ctbignum": { "baseline": "2019-08-02", - "port-version": 1 + "port-version": 5 }, "ctemplate": { "baseline": "2020-09-14", - "port-version": 2 + "port-version": 5 }, "ctp": { "baseline": "6.6.1_P1_20210406_se", + "port-version": 4 + }, + "ctpg": { + "baseline": "1.3.7", "port-version": 2 }, "ctre": { - "baseline": "3.4.1", + "baseline": "3.9.0", + "port-version": 0 + }, + "ctstraffic": { + "baseline": "2.0.3.2", "port-version": 0 }, "cub": { - "baseline": "1.12.0", + "baseline": "2.1.0", "port-version": 0 }, + "cubeb": { + "baseline": "2023-09-26", + "port-version": 1 + }, "cuda": { "baseline": "10.1", - "port-version": 8 + "port-version": 13 + }, + "cuda-api-wrappers": { + "baseline": "0.7.1", + "port-version": 0 }, "cudnn": { "baseline": "7.6.5", - "port-version": 4 + "port-version": 14 }, "cunit": { "baseline": "2.1.3", - "port-version": 7 + "port-version": 8 }, "curl": { - "baseline": "7.79.1", - "port-version": 0 + "baseline": "8.11.0", + "port-version": 1 + }, + "curlcpp": { + "baseline": "3.1", + "port-version": 1 }, "curlpp": { "baseline": "2018-06-15", - "port-version": 5 + "port-version": 10 }, "cute-headers": { "baseline": "2019-09-20", - "port-version": 1 + "port-version": 2 }, "cutelyst2": { "baseline": "2.12.0", - "port-version": 1 + "port-version": 2 }, "cwalk": { - "baseline": "1.2.6", + "baseline": "1.2.9", + "port-version": 0 + }, + "cwapi3d": { + "baseline": "30.475.1", + "port-version": 0 + }, + "cxxgraph": { + "baseline": "4.1.0", "port-version": 0 }, "cxxopts": { - "baseline": "2.2.1", - "port-version": 1 + "baseline": "3.2.1", + "port-version": 0 + }, + "cyclonedds": { + "baseline": "0.10.5", + "port-version": 0 + }, + "cyclonedds-cxx": { + "baseline": "0.10.5", + "port-version": 0 + }, + "cyrus-sasl": { + "baseline": "2.1.28", + "port-version": 2 }, "czmq": { "baseline": "4.2.1", - "port-version": 0 + "port-version": 4 }, "d3d12-memory-allocator": { - "baseline": "2021-05-05", + "baseline": "2.0.1", "port-version": 0 }, "d3dx12": { "baseline": "may2021", - "port-version": 0 + "port-version": 1 }, "darknet": { - "baseline": "2021-04-16", - "port-version": 1 + "baseline": "2024-10-10", + "port-version": 0 }, "darts-clone": { "baseline": "1767ab87cffe", - "port-version": 2 + "port-version": 3 }, "dartsim": { - "baseline": "6.11.0", - "port-version": 1 + "baseline": "6.12.2", + "port-version": 3 }, "dataframe": { - "baseline": "1.19.0", + "baseline": "3.3.0", "port-version": 0 }, "date": { - "baseline": "3.0.1", + "baseline": "2024-05-14", + "port-version": 0 + }, + "datraw": { + "baseline": "1.0.9", "port-version": 0 }, "dav1d": { - "baseline": "0.8.2", - "port-version": 1 + "baseline": "1.4.3", + "port-version": 0 }, "daw-header-libraries": { - "baseline": "1.29.7", + "baseline": "2.114.1", "port-version": 0 }, "daw-json-link": { - "baseline": "2.10.2", + "baseline": "3.29.2", "port-version": 0 }, "daw-utf-range": { - "baseline": "2.2.0", + "baseline": "2.2.5", "port-version": 0 }, + "daxa": { + "baseline": "3.0.2", + "port-version": 1 + }, "dbg-macro": { - "baseline": "2021-11-02", - "port-version": 0 + "baseline": "0.5.1", + "port-version": 1 }, "dbghelp": { - "baseline": "0.0", - "port-version": 1 + "baseline": "0", + "port-version": 2 }, "dbow2": { "baseline": "2019-08-05", - "port-version": 1 + "port-version": 3 }, "dbow3": { "baseline": "1.0.0", - "port-version": 1 + "port-version": 3 + }, + "dbus": { + "baseline": "1.15.8", + "port-version": 5 }, "dcmtk": { - "baseline": "3.6.6", - "port-version": 1 + "baseline": "3.6.8", + "port-version": 9 }, "debug-assert": { - "baseline": "1.3.3", + "baseline": "1.3.4", "port-version": 0 }, "decimal-for-cpp": { - "baseline": "1.16", - "port-version": 2 + "baseline": "1.18", + "port-version": 1 + }, + "delaunator-cpp": { + "baseline": "1.0.0", + "port-version": 0 }, "detours": { "baseline": "4.0.1", - "port-version": 4 + "port-version": 8 }, "devicenameresolver": { - "baseline": "2016-06-26-0850d88fa6", - "port-version": 2 + "baseline": "2016-06-26", + "port-version": 4 }, "devil": { "baseline": "1.8.0", - "port-version": 8 + "port-version": 13 }, "dimcli": { - "baseline": "5.0.2", + "baseline": "7.3.0", + "port-version": 0 + }, + "dingo": { + "baseline": "0.1.0", + "port-version": 0 + }, + "directx-dxc": { + "baseline": "2024-07-31", "port-version": 2 }, "directx-headers": { - "baseline": "1.4.9", + "baseline": "1.614.1", + "port-version": 0 + }, + "directx12-agility": { + "baseline": "1.614.1", "port-version": 0 }, "directxmath": { - "baseline": "jan2021", - "port-version": 1 + "baseline": "2024-10-15", + "port-version": 0 }, "directxmesh": { - "baseline": "nov2021", + "baseline": "2024-10-28", "port-version": 0 }, "directxsdk": { "baseline": "jun10", - "port-version": 4 + "port-version": 8 }, "directxtex": { - "baseline": "nov2021", + "baseline": "2024-10-28", "port-version": 0 }, "directxtk": { - "baseline": "nov2021", + "baseline": "2024-10-28", "port-version": 0 }, "directxtk12": { - "baseline": "nov2021", + "baseline": "2024-10-28", "port-version": 0 }, "dirent": { - "baseline": "1.23.2", - "port-version": 1 + "baseline": "1.24", + "port-version": 0 }, "discord-game-sdk": { - "baseline": "2.5.6", - "port-version": 3 + "baseline": "3.2.1", + "port-version": 0 }, "discord-rpc": { "baseline": "3.4.0", - "port-version": 1 + "port-version": 4 + }, + "discordcoreapi": { + "baseline": "2.0.7", + "port-version": 0 }, "discount": { - "baseline": "2.2.6", - "port-version": 1 + "baseline": "3.0.0d", + "port-version": 0 }, "discreture": { "baseline": "2020-01-29", - "port-version": 1 + "port-version": 3 }, "distorm": { "baseline": "3.5.2b", "port-version": 0 }, "dlfcn-win32": { - "baseline": "1.1.1", - "port-version": 5 + "baseline": "1.4.1", + "port-version": 0 }, "dlib": { - "baseline": "19.21", - "port-version": 6 + "baseline": "19.24.6", + "port-version": 0 + }, + "dlpack": { + "baseline": "0.8", + "port-version": 0 }, "dmlc": { - "baseline": "2019-08-12", - "port-version": 6 + "baseline": "2022-06-22", + "port-version": 0 }, "docopt": { - "baseline": "2018-11-01", + "baseline": "2022-03-15", "port-version": 1 }, "doctest": { - "baseline": "2.4.6", + "baseline": "2.4.11", "port-version": 0 }, "double-conversion": { - "baseline": "3.1.5", + "baseline": "3.3.0", + "port-version": 0 + }, + "dp-thread-pool": { + "baseline": "0.6.2", "port-version": 1 }, "dpdk": { - "baseline": "19.02", - "port-version": 1 + "baseline": "24.07", + "port-version": 0 + }, + "dpp": { + "baseline": "10.0.35", + "port-version": 0 }, "draco": { - "baseline": "1.4.3", + "baseline": "1.5.7", + "port-version": 0 + }, + "drekar-launch-process-cpp": { + "baseline": "0.1.0", "port-version": 0 }, "drlibs": { - "baseline": "2021-11-02", + "baseline": "2023-08-16", "port-version": 0 }, "drogon": { - "baseline": "1.7.3", + "baseline": "1.9.7", "port-version": 0 }, - "dtl": { - "baseline": "1.19", + "dstorage": { + "baseline": "1.2.3", "port-version": 1 }, + "dtl": { + "baseline": "1.21", + "port-version": 0 + }, "duckx": { - "baseline": "1.0.0", + "baseline": "1.2.2", "port-version": 1 }, "duilib": { - "baseline": "2019-4-28", - "port-version": 4 + "baseline": "2019-04-28", + "port-version": 5 + }, + "dukglue": { + "baseline": "2022-11-08", + "port-version": 0 }, "duktape": { - "baseline": "2.5.0", + "baseline": "2.7.0", + "port-version": 2 + }, + "dumb": { + "baseline": "2.0.3", + "port-version": 0 + }, + "dv-processing": { + "baseline": "1.7.9", "port-version": 2 }, "dx": { "baseline": "1.0.1", - "port-version": 2 + "port-version": 3 }, "dxsdk-d3dx": { "baseline": "9.29.952.8", - "port-version": 1 + "port-version": 7 }, "dxut": { - "baseline": "11.26", + "baseline": "11.32", + "port-version": 0 + }, + "dylib": { + "baseline": "2.2.1", + "port-version": 0 + }, + "dyno": { + "baseline": "2019-11-13", "port-version": 0 }, "eabase": { "baseline": "2.09.12", - "port-version": 2 + "port-version": 3 + }, + "earcut-hpp": { + "baseline": "2.2.4", + "port-version": 0 }, "eastl": { - "baseline": "3.18.00", - "port-version": 1 + "baseline": "3.21.12", + "port-version": 0 }, "easycl": { "baseline": "0.3", - "port-version": 1 + "port-version": 2 + }, + "easyexif": { + "baseline": "2022-10-07", + "port-version": 0 }, "easyhook": { "baseline": "2.7.7097.0", - "port-version": 2 + "port-version": 8 }, "easyloggingpp": { - "baseline": "9.97.0", - "port-version": 2 + "baseline": "9.97.1", + "port-version": 1 }, "eathread": { "baseline": "1.32.09", - "port-version": 2 + "port-version": 5 }, "ebml": { - "baseline": "1.4.2", + "baseline": "1.4.5", + "port-version": 0 + }, + "ecal": { + "baseline": "5.13.2", "port-version": 0 }, "ecm": { - "baseline": "5.84.0", - "port-version": 2 + "baseline": "6.7.0", + "port-version": 0 }, "ecos": { - "baseline": "2.0.8", - "port-version": 1 + "baseline": "2.0.10", + "port-version": 0 }, - "ecsutil": { - "baseline": "1.0.7.15", + "ed25519": { + "baseline": "2017-02-10", "port-version": 1 }, + "edflib": { + "baseline": "1.27", + "port-version": 0 + }, "edlib": { "baseline": "1.2.7", "port-version": 1 }, "effects11": { - "baseline": "11.26", - "port-version": 1 + "baseline": "11.29", + "port-version": 3 }, "effolkronium-random": { - "baseline": "1.4.0", - "port-version": 1 + "baseline": "1.5.0", + "port-version": 0 }, "efsw": { - "baseline": "2020-06-08", - "port-version": 2 + "baseline": "1.4.0", + "port-version": 0 + }, + "egl": { + "baseline": "2022-12-04", + "port-version": 0 }, "egl-registry": { - "baseline": "2020-02-20", - "port-version": 1 + "baseline": "2024-01-25", + "port-version": 0 }, "eigen3": { - "baseline": "3.3.9", - "port-version": 1 + "baseline": "3.4.0", + "port-version": 4 + }, + "elements": { + "baseline": "2024-09-12", + "port-version": 0 }, "elfio": { - "baseline": "3.9", + "baseline": "3.12", "port-version": 0 }, "elfutils": { - "baseline": "0.182", - "port-version": 1 - }, - "embree2": { - "baseline": "2.17.7", - "port-version": 3 + "baseline": "0.192", + "port-version": 0 }, "embree3": { - "baseline": "3.12.2", - "port-version": 2 + "baseline": "3.13.5", + "port-version": 4 }, "enet": { - "baseline": "1.3.17", - "port-version": 1 + "baseline": "1.3.18", + "port-version": 0 + }, + "enkits": { + "baseline": "1.11", + "port-version": 3 }, "ensmallen": { - "baseline": "2.17.0", + "baseline": "2.21.1", "port-version": 0 }, "entityx": { "baseline": "1.3.0", - "port-version": 3 + "port-version": 6 }, "entt": { - "baseline": "3.8.0", - "port-version": 1 + "baseline": "3.14.0", + "port-version": 0 }, "epsilon": { "baseline": "0.9.2", - "port-version": 6 + "port-version": 8 + }, + "ereignis": { + "baseline": "2.3", + "port-version": 0 }, "esaxx": { "baseline": "ca7cb332011ec37", "port-version": 1 }, + "etcd-cpp-apiv3": { + "baseline": "0.15.4", + "port-version": 0 + }, + "etl": { + "baseline": "20.39.4", + "port-version": 0 + }, + "eve": { + "baseline": "2023.2.15", + "port-version": 0 + }, + "eventpp": { + "baseline": "0.1.3", + "port-version": 1 + }, "evpp": { "baseline": "0.7.0", - "port-version": 5 + "port-version": 8 }, "exiv2": { - "baseline": "0.27.4", + "baseline": "0.28.3", "port-version": 2 }, "expat": { - "baseline": "2.4.1", + "baseline": "2.6.3", "port-version": 0 }, "expected-lite": { - "baseline": "0.5.0", + "baseline": "0.8.0", "port-version": 0 }, "exprtk": { - "baseline": "2021-01-01", - "port-version": 1 + "baseline": "2022-01-01", + "port-version": 2 }, "ezc3d": { - "baseline": "1.4.6", + "baseline": "1.5.11", + "port-version": 0 + }, + "ezfoundation": { + "baseline": "21.10", "port-version": 0 }, "faad2": { - "baseline": "2.9.1", - "port-version": 4 + "baseline": "2.11.1", + "port-version": 0 }, "fadbad": { "baseline": "2.1.0", - "port-version": 1 + "port-version": 2 }, "faiss": { - "baseline": "1.7.1", + "baseline": "1.8.0", "port-version": 0 }, "fakeit": { - "baseline": "2.0.9", + "baseline": "2.4.1", + "port-version": 0 + }, + "fameta-counter": { + "baseline": "2021-02-13", "port-version": 0 }, "fann": { - "baseline": "2.2.0", - "port-version": 2 + "baseline": "2023-01-26", + "port-version": 0 }, "farmhash": { "baseline": "1.1", - "port-version": 4 + "port-version": 6 }, "fast-cpp-csv-parser": { "baseline": "2021-01-03", - "port-version": 1 + "port-version": 2 }, - "fast-float": { + "fast-double-parser": { "baseline": "0.8.0", "port-version": 0 }, + "fast-float": { + "baseline": "6.1.6", + "port-version": 0 + }, "fastcdr": { - "baseline": "1.0.15", - "port-version": 1 + "baseline": "2.2.4", + "port-version": 0 }, "fastcgi": { "baseline": "2020-09-11", - "port-version": 2 + "port-version": 5 + }, + "fastdds": { + "baseline": "3.1.0", + "port-version": 0 }, "fastfeat": { "baseline": "391d5e9", - "port-version": 2 + "port-version": 4 + }, + "fastgltf": { + "baseline": "0.8.0", + "port-version": 0 + }, + "fastio": { + "baseline": "2024-07-05", + "port-version": 0 }, "fastlz": { - "baseline": "2021-05-10", + "baseline": "2024-08-02", "port-version": 0 }, - "fastrtps": { - "baseline": "2.4.0", + "fastor": { + "baseline": "0.6.4", + "port-version": 0 + }, + "faudio": { + "baseline": "24.09", + "port-version": 0 + }, + "fawdlstty-libfv": { + "baseline": "0.0.8", "port-version": 0 }, "fbgemm": { - "baseline": "2021-03-18", - "port-version": 2 + "baseline": "0.4.1", + "port-version": 1 }, "fbthrift": { - "baseline": "2021.06.14.00", + "baseline": "2024.11.04.00", "port-version": 0 }, "fcl": { @@ -2126,246 +2742,310 @@ }, "fdk-aac": { "baseline": "2.0.2", - "port-version": 1 + "port-version": 4 }, "fdlibm": { "baseline": "5.3", - "port-version": 5 + "port-version": 7 }, - "ffmpeg": { - "baseline": "4.4.1", + "fenster": { + "baseline": "2024-08-19", "port-version": 0 }, + "ffmpeg": { + "baseline": "7.1", + "port-version": 1 + }, "ffnvcodec": { - "baseline": "11.1.5.0", + "baseline": "12.2.72.0", "port-version": 0 }, "fftw3": { "baseline": "3.3.10", - "port-version": 2 + "port-version": 9 }, "fftwpp": { "baseline": "2019-12-19", - "port-version": 1 - }, - "field3d": { - "baseline": "1.7.3", "port-version": 2 }, + "fineftp": { + "baseline": "1.3.4", + "port-version": 0 + }, + "fins": { + "baseline": "2023-07-31", + "port-version": 0 + }, + "fixed-containers": { + "baseline": "2024-09-19", + "port-version": 0 + }, "fixed-string": { - "baseline": "0.1.0", - "port-version": 1 + "baseline": "0.1.1", + "port-version": 0 }, "fizz": { - "baseline": "2021.06.14.00", + "baseline": "2024.11.04.00", + "port-version": 0 + }, + "flagpp": { + "baseline": "2.1", "port-version": 0 }, "flann": { "baseline": "2019-04-07", - "port-version": 3 + "port-version": 7 + }, + "flash-runtime-extensions": { + "baseline": "2.4", + "port-version": 1 }, "flashlight-cpu": { "baseline": "0.3", - "port-version": 2 + "port-version": 5 }, "flashlight-cuda": { "baseline": "0.3", - "port-version": 2 + "port-version": 6 + }, + "flashlight-sequence": { + "baseline": "0.0.1", + "port-version": 0 + }, + "flashlight-text": { + "baseline": "0.0.4", + "port-version": 0 + }, + "flat": { + "baseline": "2022-08-30", + "port-version": 0 }, "flatbuffers": { - "baseline": "2.0.0", - "port-version": 2 + "baseline": "24.3.25", + "port-version": 0 + }, + "flatbush": { + "baseline": "1.2.1", + "port-version": 0 + }, + "flecs": { + "baseline": "4.0.3", + "port-version": 0 }, "flint": { - "baseline": "2.8.0", + "baseline": "2.9.0", "port-version": 0 }, "fltk": { - "baseline": "1.3.7", - "port-version": 0 + "baseline": "1.3.9", + "port-version": 1 }, "fluidlite": { - "baseline": "2020-08-27", - "port-version": 2 + "baseline": "2023-04-18", + "port-version": 0 }, "fluidsynth": { - "baseline": "2.2.1", - "port-version": 1 + "baseline": "2.4.0", + "port-version": 0 + }, + "flux": { + "baseline": "0.4.0", + "port-version": 0 }, "fmem": { "baseline": "c-libs-2ccee3d2fb", - "port-version": 1 + "port-version": 3 }, "fmi4cpp": { "baseline": "0.8.0", "port-version": 0 }, "fmilib": { - "baseline": "2.0.3", - "port-version": 4 + "baseline": "2.4.1", + "port-version": 2 }, "fmt": { - "baseline": "8.0.1", - "port-version": 0 + "baseline": "11.0.2", + "port-version": 1 }, "folly": { - "baseline": "2021.06.14.00", - "port-version": 3 + "baseline": "2024.11.04.00", + "port-version": 1 }, "font-chef": { "baseline": "1.1.0", "port-version": 0 }, + "font-util": { + "baseline": "1.4.1", + "port-version": 0 + }, "fontconfig": { - "baseline": "2.13.94", + "baseline": "2.15.0", + "port-version": 1 + }, + "foonathan-lexy": { + "baseline": "2022.12.1", "port-version": 0 }, "foonathan-memory": { - "baseline": "2019-07-21", + "baseline": "0.7.3", "port-version": 2 }, - "forest": { - "baseline": "12.1.0", - "port-version": 0 - }, "forge": { "baseline": "1.0.8", + "port-version": 3 + }, + "foxi": { + "baseline": "2021-12-01", "port-version": 0 }, "fp16": { "baseline": "2021-02-21", - "port-version": 0 - }, - "fplus": { - "baseline": "0.2.14-p0", - "port-version": 0 + "port-version": 2 }, "freealut": { "baseline": "1.1.0", - "port-version": 1 + "port-version": 4 }, "freeglut": { - "baseline": "3.2.1", - "port-version": 7 + "baseline": "3.4.0", + "port-version": 3 }, "freeimage": { "baseline": "3.18.0", - "port-version": 21 + "port-version": 27 }, "freeopcua": { "baseline": "20190125", - "port-version": 5 + "port-version": 7 }, "freerdp": { - "baseline": "2.4.0", - "port-version": 1 + "baseline": "3.8.0", + "port-version": 0 }, "freetds": { - "baseline": "1.2.11", - "port-version": 1 + "baseline": "1.3.10", + "port-version": 2 }, "freetype": { - "baseline": "2.11.0", - "port-version": 2 + "baseline": "2.13.3", + "port-version": 0 }, "freetype-gl": { - "baseline": "2020-09-14", - "port-version": 1 + "baseline": "2022-01-17", + "port-version": 3 }, "freexl": { - "baseline": "1.0.6", + "baseline": "2.0.0", "port-version": 0 }, "fribidi": { - "baseline": "1.0.11", + "baseline": "1.0.16", "port-version": 0 }, "frozen": { - "baseline": "2021-04-22", + "baseline": "1.2.0", "port-version": 0 }, "frugally-deep": { - "baseline": "0.15.10-p0", + "baseline": "0.16.0", "port-version": 0 }, "fruit": { - "baseline": "3.6.0", - "port-version": 1 + "baseline": "3.7.1", + "port-version": 0 }, "ftgl": { "baseline": "2.4.0", - "port-version": 4 + "port-version": 5 }, "ftxui": { - "baseline": "2021-06-17", + "baseline": "5.0.0", "port-version": 0 }, "function2": { - "baseline": "4.2.0", - "port-version": 1 + "baseline": "4.2.4", + "port-version": 0 + }, + "functionalplus": { + "baseline": "0.2.25", + "port-version": 0 }, "functions-framework-cpp": { - "baseline": "1.0.0", - "port-version": 1 + "baseline": "1.2.0", + "port-version": 0 }, "fuzzylite": { "baseline": "6.0", - "port-version": 4 + "port-version": 6 }, "fxdiv": { "baseline": "2021-02-21", - "port-version": 0 + "port-version": 2 }, "g2o": { "baseline": "2020-02-07", - "port-version": 2 + "port-version": 6 }, "g3log": { - "baseline": "1.3.4", - "port-version": 1 + "baseline": "2.4", + "port-version": 0 }, "gainput": { "baseline": "1.0.0", - "port-version": 4 + "port-version": 6 }, "gamedev-framework": { - "baseline": "0.20.0", - "port-version": 1 + "baseline": "1.2.0", + "port-version": 0 + }, + "gameinput": { + "baseline": "0.2303.22621.3038", + "port-version": 0 }, "gamenetworkingsockets": { - "baseline": "1.3.0", + "baseline": "1.4.1", + "port-version": 1 + }, + "games101-cgl": { + "baseline": "0.1.0", "port-version": 0 }, "gamma": { "baseline": "gamma-2018-01-27", - "port-version": 3 + "port-version": 6 + }, + "gapp": { + "baseline": "0.2.0", + "port-version": 0 }, "gasol": { "baseline": "2018-01-04", - "port-version": 1 + "port-version": 4 }, "gaussianlib": { - "baseline": "2019-08-04", - "port-version": 1 + "baseline": "2023-02-17", + "port-version": 0 + }, + "gazebo": { + "baseline": "2022-01-20", + "port-version": 5 }, "gcem": { - "baseline": "1.13.1", - "port-version": 1 + "baseline": "1.18.0", + "port-version": 0 }, "gdal": { - "baseline": "3.4.0", - "port-version": 1 + "baseline": "3.10.0", + "port-version": 0 }, "gdcm": { - "baseline": "3.0.7", - "port-version": 3 - }, - "gdcm2": { - "baseline": "deprecated", - "port-version": 1 + "baseline": "3.0.24", + "port-version": 0 }, "gdk-pixbuf": { - "baseline": "2.42.2", + "baseline": "2.42.12", "port-version": 1 }, "gemmlowp": { @@ -2374,138 +3054,170 @@ }, "genann": { "baseline": "2019-07-10", - "port-version": 1 + "port-version": 3 }, "geogram": { - "baseline": "1.7.6", - "port-version": 1 + "baseline": "1.8.3", + "port-version": 3 }, "geographiclib": { - "baseline": "1.52", - "port-version": 1 + "baseline": "2.4", + "port-version": 0 }, "geos": { - "baseline": "3.10.0", - "port-version": 0 + "baseline": "3.13.0", + "port-version": 1 }, "geotrans": { - "baseline": "3.8", + "baseline": "3.9", "port-version": 1 }, "getdns": { - "baseline": "1.7.0", + "baseline": "1.7.3", "port-version": 0 }, "getopt": { "baseline": "0", - "port-version": 1 + "port-version": 3 }, "getopt-win32": { - "baseline": "0.1", - "port-version": 1 + "baseline": "1.1.0.20220925", + "port-version": 0 }, "gettext": { - "baseline": "0.21", - "port-version": 7 + "baseline": "0.22.5", + "port-version": 1 + }, + "gettext-libintl": { + "baseline": "0.22.5", + "port-version": 2 }, "gettimeofday": { "baseline": "2017-10-14", - "port-version": 4 + "port-version": 6 }, "gflags": { "baseline": "2.2.2", - "port-version": 5 + "port-version": 9 }, "ghc-filesystem": { - "baseline": "1.5.10", + "baseline": "1.5.14", "port-version": 0 }, "gherkin-c": { "baseline": "2019-10-07", - "port-version": 2 + "port-version": 3 }, "giflib": { - "baseline": "5.2.1", + "baseline": "5.2.2", "port-version": 0 }, "ginkgo": { - "baseline": "1.4.0", + "baseline": "1.8.0", + "port-version": 0 + }, + "gklib": { + "baseline": "2023-03-27", "port-version": 0 }, "gl2ps": { "baseline": "1.4.2", - "port-version": 1 + "port-version": 4 }, "gl3w": { "baseline": "2018-05-31", - "port-version": 3 + "port-version": 5 }, "glad": { - "baseline": "0.1.34", - "port-version": 1 + "baseline": "0.1.36", + "port-version": 0 + }, + "glaze": { + "baseline": "3.6.1", + "port-version": 0 }, "glbinding": { "baseline": "3.1.0", - "port-version": 3 + "port-version": 4 }, "glew": { "baseline": "2.2.0", - "port-version": 0 + "port-version": 4 }, "glfw3": { - "baseline": "3.3.5", - "port-version": 0 + "baseline": "3.4", + "port-version": 1 }, "gli": { "baseline": "2021-07-06", - "port-version": 0 + "port-version": 2 }, "glib": { - "baseline": "2.66.4", + "baseline": "2.80.0", "port-version": 1 }, + "glib-networking": { + "baseline": "2.78.0", + "port-version": 0 + }, "glibmm": { - "baseline": "2.68.1", + "baseline": "2.78.1", "port-version": 0 }, "glm": { - "baseline": "0.9.9.8", - "port-version": 1 + "baseline": "1.0.1", + "port-version": 3 }, "globjects": { "baseline": "1.1.0", - "port-version": 4 + "port-version": 6 }, "glog": { - "baseline": "0.4.0", - "port-version": 4 + "baseline": "0.7.1", + "port-version": 0 }, "gloo": { - "baseline": "20201203", + "baseline": "20240626", "port-version": 0 }, + "glpk": { + "baseline": "5.0", + "port-version": 3 + }, "glslang": { - "baseline": "11.6.0", + "baseline": "15.0.0", "port-version": 0 }, "glui": { "baseline": "2019-11-30", - "port-version": 1 + "port-version": 4 }, "gmime": { "baseline": "3.2.6", - "port-version": 2 + "port-version": 6 }, "gmmlib": { - "baseline": "21.3.2", + "baseline": "22.5.2", "port-version": 0 }, "gmp": { - "baseline": "6.2.1", - "port-version": 7 + "baseline": "6.3.0", + "port-version": 1 + }, + "gmsh": { + "baseline": "4.13.1", + "port-version": 0 + }, + "gobject-introspection": { + "baseline": "1.72.0", + "port-version": 8 + }, + "godot-cpp": { + "baseline": "4.3", + "port-version": 0 }, "google-cloud-cpp": { - "baseline": "1.33.0", + "baseline": "2.31.0", "port-version": 0 }, "google-cloud-cpp-common": { @@ -2518,670 +3230,914 @@ }, "googleapis": { "baseline": "alias", - "port-version": 1 + "port-version": 2 }, "gperf": { "baseline": "3.1", - "port-version": 2 + "port-version": 6 }, "gperftools": { - "baseline": "2019-09-02", - "port-version": 2 + "baseline": "2.16", + "port-version": 0 }, "gpgme": { - "baseline": "1.14.0", + "baseline": "1.23.2", + "port-version": 0 + }, + "gpgmm": { + "baseline": "0.1.2", "port-version": 1 }, "gppanel": { "baseline": "2020-05-20", - "port-version": 1 + "port-version": 4 + }, + "grantlee": { + "baseline": "5.3.1", + "port-version": 2 }, "graphene": { - "baseline": "1.10.2", - "port-version": 1 + "baseline": "1.10.8", + "port-version": 2 }, "graphicsmagick": { - "baseline": "1.3.36", + "baseline": "1.3.41", "port-version": 1 }, "graphite2": { "baseline": "1.3.14", - "port-version": 3 - }, - "graphqlparser": { - "baseline": "0.7.0", - "port-version": 3 + "port-version": 4 }, "graphviz": { - "baseline": "2.49.1", - "port-version": 1 + "baseline": "10.0.1", + "port-version": 2 }, "greatest": { "baseline": "1.5.0", "port-version": 0 }, "grpc": { - "baseline": "1.41.0", + "baseline": "1.65.5", "port-version": 0 }, "grppi": { "baseline": "0.4.0", - "port-version": 1 + "port-version": 2 + }, + "gsasl": { + "baseline": "2.2.1", + "port-version": 0 }, "gsl": { - "baseline": "2.7", + "baseline": "2.8", "port-version": 0 }, "gsl-lite": { - "baseline": "0.40.0", + "baseline": "0.41.0", "port-version": 0 }, "gsoap": { "baseline": "2.8.112", - "port-version": 0 + "port-version": 2 }, "gst-rtsp-server": { - "baseline": "1.19.2", - "port-version": 0 + "baseline": "1.20.5", + "port-version": 2 }, "gstreamer": { - "baseline": "1.19.2", - "port-version": 1 + "baseline": "1.24.7", + "port-version": 0 }, "gtest": { - "baseline": "1.11.0", - "port-version": 2 + "baseline": "1.15.2", + "port-version": 0 }, "gtk": { - "baseline": "4.3.0", + "baseline": "4.16.3", "port-version": 0 }, + "gtk3": { + "baseline": "3.24.38", + "port-version": 1 + }, "gtkmm": { - "baseline": "4.0.1", + "baseline": "4.14.0", + "port-version": 0 + }, + "gtl": { + "baseline": "1.2.0", "port-version": 0 }, "gts": { "baseline": "0.7.6", - "port-version": 4 + "port-version": 9 + }, + "gtsam": { + "baseline": "4.2.0", + "port-version": 0 }, "guetzli": { "baseline": "2020-09-14", - "port-version": 1 + "port-version": 2 + }, + "guile": { + "baseline": "3.0.10", + "port-version": 0 }, "guilite": { - "baseline": "2021-07-31", + "baseline": "2022-05-05", + "port-version": 0 + }, + "gul14": { + "baseline": "2.11.2", "port-version": 0 }, "gumbo": { "baseline": "0.10.1", - "port-version": 4 + "port-version": 6 + }, + "gz-cmake3": { + "baseline": "3.4.1", + "port-version": 5 + }, + "gz-common5": { + "baseline": "5.4.1", + "port-version": 2 + }, + "gz-fuel-tools8": { + "baseline": "8.1.0", + "port-version": 0 + }, + "gz-gui7": { + "baseline": "7.2.1", + "port-version": 0 + }, + "gz-math7": { + "baseline": "7.3.0", + "port-version": 0 + }, + "gz-msgs9": { + "baseline": "9.5.0", + "port-version": 0 + }, + "gz-physics6": { + "baseline": "6.5.1", + "port-version": 1 + }, + "gz-plugin2": { + "baseline": "2.0.1", + "port-version": 0 + }, + "gz-rendering7": { + "baseline": "7.4.1", + "port-version": 1 + }, + "gz-sensors7": { + "baseline": "7.3.0", + "port-version": 0 + }, + "gz-tools2": { + "baseline": "2.0.0", + "port-version": 1 + }, + "gz-transport12": { + "baseline": "12.2.1", + "port-version": 0 + }, + "gz-utils2": { + "baseline": "2.0.0", + "port-version": 0 }, "gzip-hpp": { "baseline": "0.1.0", - "port-version": 1 + "port-version": 2 }, "h3": { - "baseline": "3.7.2", + "baseline": "4.1.0", "port-version": 0 }, "h5py-lzf": { - "baseline": "2019-12-04", - "port-version": 1 + "baseline": "2022-05-24", + "port-version": 0 + }, + "half": { + "baseline": "2.2.0", + "port-version": 0 }, "halide": { - "baseline": "12.0.1", - "port-version": 1 + "baseline": "18.0.0", + "port-version": 0 }, "happly": { "baseline": "2021-03-19", "port-version": 0 }, + "hareflow": { + "baseline": "0.1.1", + "port-version": 0 + }, "harfbuzz": { - "baseline": "3.0.0", + "baseline": "10.1.0", + "port-version": 0 + }, + "hash-library": { + "baseline": "8", + "port-version": 3 + }, + "hashids": { + "baseline": "1.2.2", "port-version": 0 }, "hayai": { "baseline": "2019-08-10", - "port-version": 1 + "port-version": 4 }, "hazelcast-cpp-client": { - "baseline": "5.0.0", - "port-version": 0 + "baseline": "5.3.0", + "port-version": 1 }, "hdf5": { - "baseline": "1.12.1", + "baseline": "1.14.4.3", + "port-version": 2 + }, + "hdr-histogram": { + "baseline": "0.11.8", "port-version": 0 }, "healpix": { "baseline": "1.12.10", - "port-version": 8 + "port-version": 9 }, "hedley": { "baseline": "15", "port-version": 0 }, + "hello-imgui": { + "baseline": "1.5.2", + "port-version": 0 + }, "hexl": { - "baseline": "1.2.3", + "baseline": "1.2.5", "port-version": 0 }, "hffix": { - "baseline": "1.0.0", - "port-version": 1 + "baseline": "1.4.1", + "port-version": 0 }, "hfsm2": { "baseline": "1.10.1", "port-version": 0 }, "hidapi": { - "baseline": "0.11.0", - "port-version": 0 + "baseline": "0.14.0", + "port-version": 1 }, "highfive": { - "baseline": "2.3", + "baseline": "2.10.0", + "port-version": 0 + }, + "highs": { + "baseline": "1.7.2", "port-version": 0 }, "highway": { - "baseline": "0.14.2", + "baseline": "1.2.0", "port-version": 0 }, + "hikogui": { + "baseline": "0.8.1", + "port-version": 2 + }, "hiredis": { - "baseline": "1.0.2", - "port-version": 1 + "baseline": "1.2.0", + "port-version": 0 + }, + "hjson-cpp": { + "baseline": "2.4.1", + "port-version": 0 + }, + "hlslpp": { + "baseline": "3.5.3", + "port-version": 0 + }, + "hnswlib": { + "baseline": "0.8.0", + "port-version": 0 + }, + "hps": { + "baseline": "2022-01-18", + "port-version": 0 }, "hpx": { - "baseline": "1.7.1", + "baseline": "1.10.0", "port-version": 1 }, + "htscodecs": { + "baseline": "1.6.1", + "port-version": 0 + }, + "htslib": { + "baseline": "1.21", + "port-version": 0 + }, "http-parser": { "baseline": "2.9.4", - "port-version": 1 + "port-version": 3 }, "hungarian": { - "baseline": "v0.1.3", - "port-version": 1 + "baseline": "0.1.3", + "port-version": 3 }, "hunspell": { - "baseline": "1.7.0", - "port-version": 5 + "baseline": "1.7.2", + "port-version": 1 }, "hwloc": { - "baseline": "2.5.0", - "port-version": 1 + "baseline": "2.11.2", + "port-version": 0 }, "hyperscan": { - "baseline": "5.3.0", - "port-version": 3 + "baseline": "5.4.2", + "port-version": 0 }, "hypodermic": { - "baseline": "2.5.3", + "baseline": "2023-03-03", "port-version": 0 }, "hypre": { - "baseline": "2.23.0", + "baseline": "2.29.0", + "port-version": 1 + }, + "iceoryx": { + "baseline": "2.0.6", "port-version": 0 }, "icu": { - "baseline": "69.1", - "port-version": 16 + "baseline": "74.2", + "port-version": 4 }, "ideviceinstaller": { - "baseline": "1.1.2.23", - "port-version": 2 + "baseline": "2023-07-21", + "port-version": 0 }, "idevicerestore": { - "baseline": "1.0.12", - "port-version": 5 + "baseline": "2023-05-23", + "port-version": 0 + }, + "idyntree": { + "baseline": "12.4.0", + "port-version": 0 }, "if97": { - "baseline": "2.1.2", + "baseline": "2.1.3", "port-version": 1 }, "igloo": { "baseline": "1.1.1", - "port-version": 1 + "port-version": 2 }, "ignition-cmake0": { "baseline": "0.6.2", - "port-version": 3 + "port-version": 4 }, "ignition-cmake2": { - "baseline": "2.5.0", - "port-version": 1 + "baseline": "2.17.1", + "port-version": 0 }, "ignition-common1": { "baseline": "1.1.1", - "port-version": 2 + "port-version": 4 }, "ignition-common3": { - "baseline": "3.9.0", - "port-version": 1 + "baseline": "3.16.0", + "port-version": 0 }, "ignition-fuel-tools1": { "baseline": "1.2.0", - "port-version": 3 + "port-version": 4 }, "ignition-fuel-tools4": { "baseline": "4.3.0", - "port-version": 1 + "port-version": 2 }, "ignition-math4": { "baseline": "4.0.0", - "port-version": 2 + "port-version": 3 }, "ignition-math6": { - "baseline": "6.6.0", - "port-version": 1 + "baseline": "6.14.0", + "port-version": 0 }, "ignition-modularscripts": { - "baseline": "2020-11-23", - "port-version": 1 + "baseline": "2023-05-05", + "port-version": 0 }, "ignition-msgs1": { "baseline": "1.0.0", - "port-version": 4 + "port-version": 7 }, "ignition-msgs5": { "baseline": "5.3.0", - "port-version": 3 + "port-version": 7 }, "ignition-msgs6": { "baseline": "6.0.0", - "port-version": 2 + "port-version": 6 }, "ignition-plugin1": { - "baseline": "1.1.0", + "baseline": "1.4.0", + "port-version": 0 + }, + "ignition-tools": { + "baseline": "1.5.0", "port-version": 1 }, "ignition-transport4": { "baseline": "4.0.0", - "port-version": 3 + "port-version": 7 }, "ignition-transport8": { "baseline": "8.1.0", - "port-version": 1 + "port-version": 5 }, "ignition-transport9": { "baseline": "9.0.0", - "port-version": 1 + "port-version": 5 + }, + "ignition-utils1": { + "baseline": "1.5.1", + "port-version": 0 }, "igraph": { - "baseline": "0.9.5", + "baseline": "0.10.15", "port-version": 0 }, "iir1": { - "baseline": "1.9.0", + "baseline": "1.9.5", "port-version": 0 }, "ijg-libjpeg": { - "baseline": "9d", + "baseline": "9e", + "port-version": 2 + }, + "im3d": { + "baseline": "2022-10-11", "port-version": 0 }, - "ilmbase": { - "baseline": "2.3.0", - "port-version": 1 + "imageinfo": { + "baseline": "2024-08-05", + "port-version": 0 }, "imath": { - "baseline": "3.1.3", - "port-version": 1 + "baseline": "3.1.12", + "port-version": 0 + }, + "imcce-openfa": { + "baseline": "20231011.0.3", + "port-version": 0 }, "imgui": { - "baseline": "1.85", + "baseline": "1.91.0", "port-version": 0 }, + "imgui-node-editor": { + "baseline": "0.9.3", + "port-version": 1 + }, "imgui-sfml": { - "baseline": "2.4", + "baseline": "2.6", "port-version": 0 }, "imguizmo": { - "baseline": "1.83", - "port-version": 0 + "baseline": "2024-05-29", + "port-version": 1 }, "immer": { - "baseline": "2021-05-03", + "baseline": "0.8.1", "port-version": 0 }, "implot": { - "baseline": "0.12", + "baseline": "0.16", "port-version": 0 }, "indicators": { - "baseline": "2.2", + "baseline": "2.3", "port-version": 0 }, - "influxdb-cxx": { - "baseline": "0.6.7", + "indirect-value": { + "baseline": "2023-06-01", "port-version": 0 }, + "influxdb-cxx": { + "baseline": "0.7.2", + "port-version": 1 + }, "infoware": { - "baseline": "2021-06-16", + "baseline": "2023-04-12", "port-version": 0 }, "inih": { - "baseline": "51", - "port-version": 1 + "baseline": "58", + "port-version": 0 }, "iniparser": { "baseline": "2020-04-06", - "port-version": 2 + "port-version": 5 + }, + "inipp": { + "baseline": "1.0.12", + "port-version": 0 }, "inja": { - "baseline": "3.3.0", + "baseline": "3.4.0", "port-version": 0 }, "intel-ipsec": { - "baseline": "0.52", - "port-version": 2 + "baseline": "1.1", + "port-version": 0 }, "intel-mkl": { - "baseline": "2020.0.0", - "port-version": 2 + "baseline": "2023.0.0", + "port-version": 4 }, "intelrdfpmathlib": { "baseline": "20U2", - "port-version": 2 + "port-version": 6 }, "io2d": { "baseline": "2020-09-14", - "port-version": 2 + "port-version": 5 + }, + "iowa-hills-dsp": { + "baseline": "0.1.0", + "port-version": 0 }, "irrlicht": { - "baseline": "1.8.4", - "port-version": 12 + "baseline": "1.8.5", + "port-version": 0 }, "irrxml": { "baseline": "0", - "port-version": 0 + "port-version": 1 }, "isal": { - "baseline": "2.25.0", - "port-version": 1 + "baseline": "2.30.0", + "port-version": 0 }, "ismrmrd": { - "baseline": "1.5.0", - "port-version": 2 + "baseline": "1.14.1", + "port-version": 0 + }, + "itay-grudev-singleapplication": { + "baseline": "3.5.1", + "port-version": 0 }, "itk": { - "baseline": "5.1.0", - "port-version": 6 + "baseline": "5.4.0", + "port-version": 0 }, "itpp": { "baseline": "4.3.1", - "port-version": 8 + "port-version": 11 + }, + "itsy-bitsy": { + "baseline": "2022-08-02", + "port-version": 0 }, "ixwebsocket": { - "baseline": "11.2.6", + "baseline": "11.4.5", "port-version": 0 }, "jack2": { - "baseline": "1.9.19", + "baseline": "1.9.22", "port-version": 0 }, "jaeger-client-cpp": { "baseline": "0.7.0", - "port-version": 0 + "port-version": 2 }, "jansson": { - "baseline": "2.13.1", - "port-version": 2 + "baseline": "2.14", + "port-version": 1 }, "jasper": { - "baseline": "2.0.33", + "baseline": "4.2.4", "port-version": 0 }, "jbig2dec": { - "baseline": "0.19", - "port-version": 1 + "baseline": "0.20", + "port-version": 0 }, "jbigkit": { "baseline": "2.1", - "port-version": 5 + "port-version": 7 }, "jemalloc": { - "baseline": "4.3.1", - "port-version": 5 + "baseline": "5.3.0", + "port-version": 1 + }, + "jhasse-poly2tri": { + "baseline": "2023-12-27", + "port-version": 0 + }, + "jigson": { + "baseline": "0.1.3", + "port-version": 0 }, "jinja2cpplight": { "baseline": "2018-05-08", + "port-version": 3 + }, + "jkqtplotter": { + "baseline": "2023-10-24", "port-version": 1 }, + "joltphysics": { + "baseline": "5.1.0", + "port-version": 2 + }, "josuttis-jthread": { "baseline": "2020-07-21", - "port-version": 2 + "port-version": 3 }, "jsmn": { "baseline": "2019-04-27", - "port-version": 1 + "port-version": 2 }, "json-c": { - "baseline": "2019-09-10", - "port-version": 2 + "baseline": "2023-08-12", + "port-version": 0 }, "json-dto": { - "baseline": "0.2.15", + "baseline": "0.3.4", + "port-version": 0 + }, + "json-rpc-cxx": { + "baseline": "0.3.2", "port-version": 0 }, "json-schema-validator": { - "baseline": "2.1.0", - "port-version": 1 + "baseline": "2.3.0", + "port-version": 2 }, "json-spirit": { "baseline": "4.1.0", - "port-version": 2 + "port-version": 5 }, "json11": { "baseline": "2017-06-20", - "port-version": 4 + "port-version": 6 }, "json5-parser": { "baseline": "1.0.0", - "port-version": 3 + "port-version": 7 }, "jsoncons": { - "baseline": "0.165.0", - "port-version": 1 + "baseline": "0.177.0", + "port-version": 0 }, "jsoncpp": { - "baseline": "1.9.5", + "baseline": "1.9.6", + "port-version": 0 + }, + "jsonifier": { + "baseline": "0.9.97", "port-version": 0 }, "jsonnet": { - "baseline": "0.17.0", + "baseline": "0.20.0", + "port-version": 0 + }, + "juce": { + "baseline": "7.0.12", "port-version": 0 }, "jwt-cpp": { - "baseline": "0.5.1", + "baseline": "0.7.0", "port-version": 1 }, "jxrlib": { "baseline": "2019.10.9", - "port-version": 3 + "port-version": 7 }, - "kangaru": { - "baseline": "4.2.4", + "kaitai-struct-cpp-stl-runtime": { + "baseline": "0.10.1", "port-version": 1 }, + "kangaru": { + "baseline": "4.3.2", + "port-version": 0 + }, "kcp": { "baseline": "1.7", "port-version": 0 }, - "kd-soap": { - "baseline": "1.9.0", - "port-version": 1 + "kdalgorithms": { + "baseline": "1.3", + "port-version": 0 }, "kdbindings": { - "baseline": "1.0.0", + "baseline": "1.0.5", + "port-version": 0 + }, + "kddockwidgets": { + "baseline": "2.1.0", + "port-version": 0 + }, + "kdsoap": { + "baseline": "2.2.0", "port-version": 0 }, "kealib": { - "baseline": "1.4.14", + "baseline": "1.5.3", "port-version": 0 }, + "keccak-tiny": { + "baseline": "2014-09-08", + "port-version": 2 + }, "kenlm": { - "baseline": "20200924", + "baseline": "20230531", "port-version": 1 }, + "kerbal": { + "baseline": "2024.8.1", + "port-version": 0 + }, "keystone": { "baseline": "0.9.2", - "port-version": 1 + "port-version": 3 }, "kf5archive": { - "baseline": "5.84.0", - "port-version": 2 + "baseline": "5.98.0", + "port-version": 1 }, "kf5attica": { - "baseline": "5.84.0", - "port-version": 1 + "baseline": "5.98.0", + "port-version": 0 }, "kf5auth": { - "baseline": "5.84.0", - "port-version": 2 + "baseline": "5.98.0", + "port-version": 0 }, "kf5bookmarks": { - "baseline": "5.84.0", + "baseline": "5.98.0", "port-version": 0 }, "kf5codecs": { - "baseline": "5.84.0", - "port-version": 3 + "baseline": "5.98.0", + "port-version": 0 }, "kf5completion": { - "baseline": "5.84.0", - "port-version": 2 + "baseline": "5.98.0", + "port-version": 0 }, "kf5config": { - "baseline": "5.84.0", - "port-version": 2 + "baseline": "5.98.0", + "port-version": 0 }, "kf5configwidgets": { - "baseline": "5.84.0", - "port-version": 1 + "baseline": "5.98.0", + "port-version": 0 }, "kf5coreaddons": { - "baseline": "5.84.0", - "port-version": 2 + "baseline": "5.98.0", + "port-version": 0 }, "kf5crash": { - "baseline": "5.84.0", - "port-version": 2 + "baseline": "5.98.0", + "port-version": 0 }, "kf5dbusaddons": { - "baseline": "5.84.0", - "port-version": 2 + "baseline": "5.98.0", + "port-version": 0 }, "kf5declarative": { - "baseline": "5.84.0", - "port-version": 1 + "baseline": "5.98.0", + "port-version": 0 }, "kf5diagram": { "baseline": "2.8.0", - "port-version": 0 + "port-version": 1 }, "kf5globalaccel": { - "baseline": "5.84.0", - "port-version": 1 + "baseline": "5.98.0", + "port-version": 0 }, "kf5guiaddons": { - "baseline": "5.84.0", - "port-version": 3 + "baseline": "5.98.0", + "port-version": 0 }, "kf5holidays": { - "baseline": "5.84.0", - "port-version": 2 + "baseline": "5.98.0", + "port-version": 0 }, "kf5i18n": { - "baseline": "5.84.0", - "port-version": 3 + "baseline": "5.98.0", + "port-version": 1 }, "kf5iconthemes": { - "baseline": "5.84.0", - "port-version": 1 + "baseline": "5.98.0", + "port-version": 0 }, "kf5itemmodels": { - "baseline": "5.84.0", - "port-version": 2 + "baseline": "5.98.0", + "port-version": 0 }, "kf5itemviews": { - "baseline": "5.84.0", - "port-version": 2 + "baseline": "5.98.0", + "port-version": 0 }, "kf5jobwidgets": { - "baseline": "5.84.0", - "port-version": 1 + "baseline": "5.98.0", + "port-version": 0 }, "kf5kcmutils": { - "baseline": "5.84.0", + "baseline": "5.98.0", "port-version": 0 }, "kf5kio": { - "baseline": "5.84.0", - "port-version": 0 + "baseline": "5.98.0", + "port-version": 1 }, "kf5newstuff": { - "baseline": "5.84.0", + "baseline": "5.98.0", "port-version": 0 }, "kf5notifications": { - "baseline": "5.84.0", + "baseline": "5.98.0", "port-version": 0 }, "kf5package": { - "baseline": "5.84.0", + "baseline": "5.98.0", + "port-version": 0 + }, + "kf5parts": { + "baseline": "5.98.0", "port-version": 1 }, "kf5plotting": { - "baseline": "5.84.0", - "port-version": 2 + "baseline": "5.98.0", + "port-version": 0 }, "kf5service": { - "baseline": "5.84.0", + "baseline": "5.98.0", "port-version": 1 }, "kf5solid": { - "baseline": "5.84.0", + "baseline": "5.98.0", "port-version": 3 }, "kf5sonnet": { - "baseline": "5.84.0", - "port-version": 2 + "baseline": "5.98.0", + "port-version": 0 }, "kf5syntaxhighlighting": { - "baseline": "5.84.0", - "port-version": 2 + "baseline": "5.98.0", + "port-version": 0 }, - "kf5textwidgets": { - "baseline": "5.84.0", + "kf5texteditor": { + "baseline": "5.98.0", "port-version": 1 }, + "kf5textwidgets": { + "baseline": "5.98.0", + "port-version": 0 + }, "kf5wallet": { - "baseline": "5.84.0", - "port-version": 1 + "baseline": "5.98.0", + "port-version": 0 }, "kf5widgetsaddons": { - "baseline": "5.84.0", - "port-version": 2 + "baseline": "5.98.0", + "port-version": 0 }, "kf5windowsystem": { - "baseline": "5.84.0", - "port-version": 3 + "baseline": "5.98.0", + "port-version": 0 }, "kf5xmlgui": { - "baseline": "5.84.0", - "port-version": 1 + "baseline": "5.98.0", + "port-version": 0 }, "kfr": { - "baseline": "4.2.1", + "baseline": "6.0.2", "port-version": 0 }, "kinectsdk1": { "baseline": "1.8", - "port-version": 3 + "port-version": 8 }, "kinectsdk2": { "baseline": "2.0", - "port-version": 3 + "port-version": 7 }, "kissfft": { - "baseline": "2021-11-14", + "baseline": "131.1.0", + "port-version": 0 + }, + "kissnet": { + "baseline": "2024-01-20", "port-version": 0 }, "klein": { @@ -3190,547 +4146,799 @@ }, "knet": { "baseline": "1.1.0", - "port-version": 0 + "port-version": 1 }, "krabsetw": { - "baseline": "4.1.18", + "baseline": "4.3.2", "port-version": 0 }, + "krb5": { + "baseline": "1.21.3", + "port-version": 1 + }, "ktx": { - "baseline": "4.0.0", + "baseline": "4.3.2", "port-version": 0 }, "kubazip": { - "baseline": "0.1.19", - "port-version": 1 + "baseline": "0.2.6", + "port-version": 0 }, "kubernetes": { - "baseline": "0.0.1", - "port-version": 0 + "baseline": "0.6.0", + "port-version": 1 }, "kuku": { - "baseline": "2.1", - "port-version": 1 + "baseline": "2.1.0", + "port-version": 0 }, "kvasir-mpl": { "baseline": "2019-08-06", - "port-version": 1 + "port-version": 3 }, "kwsys": { "baseline": "2021-08-06", - "port-version": 0 + "port-version": 1 }, "lager": { - "baseline": "2021-06-17", - "port-version": 1 + "baseline": "2023-03-19", + "port-version": 0 }, "lapack": { - "baseline": "3", + "baseline": "2023-06-10", "port-version": 2 }, "lapack-reference": { - "baseline": "3.8.0", + "baseline": "3.11.0", "port-version": 6 }, "lastools": { - "baseline": "2020-05-09", - "port-version": 1 + "baseline": "2.0.3", + "port-version": 0 }, "laszip": { - "baseline": "3.4.3", - "port-version": 1 + "baseline": "3.4.4", + "port-version": 0 }, "launch-darkly-server": { - "baseline": "2.4.3", + "baseline": "2.9.3", "port-version": 0 }, "lazy-importer": { - "baseline": "2021-10-23", + "baseline": "2023-08-03", "port-version": 0 }, "lcm": { "baseline": "1.4.0", - "port-version": 2 + "port-version": 6 }, "lcms": { - "baseline": "2.12", - "port-version": 2 + "baseline": "2.14", + "port-version": 0 }, "leaf": { "baseline": "0.2.2", - "port-version": 1 + "port-version": 2 }, "lemon": { "baseline": "0", - "port-version": 1 + "port-version": 2 }, - "leptonica": { - "baseline": "1.81.1", + "lemon-parser-generator": { + "baseline": "3.39.3", "port-version": 0 }, - "lerc": { - "baseline": "2.2", + "lensfun": { + "baseline": "0.3.4", "port-version": 2 }, + "leptonica": { + "baseline": "1.84.1", + "port-version": 1 + }, + "lerc": { + "baseline": "4.0.4", + "port-version": 0 + }, "lest": { - "baseline": "1.35.1", - "port-version": 2 + "baseline": "1.35.2", + "port-version": 0 + }, + "level-zero": { + "baseline": "1.17.45", + "port-version": 0 }, "leveldb": { - "baseline": "1.22", - "port-version": 2 + "baseline": "1.23", + "port-version": 0 }, "levmar": { "baseline": "2.6", + "port-version": 3 + }, + "lexbor": { + "baseline": "2.3.0", + "port-version": 0 + }, + "lfreist-hwinfo": { + "baseline": "2024-09-01", + "port-version": 0 + }, + "lib3mf": { + "baseline": "2.3.2", "port-version": 0 }, "libaaplus": { "baseline": "2.36", + "port-version": 1 + }, + "libadlmidi": { + "baseline": "1.5.1", + "port-version": 1 + }, + "libadwaita": { + "baseline": "1.3.2", + "port-version": 2 + }, + "libaes-siv": { + "baseline": "2020-10-15", "port-version": 0 }, "libaiff": { "baseline": "5.0", - "port-version": 7 + "port-version": 9 + }, + "libaio": { + "baseline": "0.3.113", + "port-version": 0 + }, + "libalkimia": { + "baseline": "8.1.72", + "port-version": 0 + }, + "libao": { + "baseline": "1.2.2", + "port-version": 5 }, "libarchive": { - "baseline": "3.5.2", + "baseline": "3.7.7", "port-version": 2 }, "libass": { - "baseline": "0.15.2", + "baseline": "0.17.3", + "port-version": 0 + }, + "libassert": { + "baseline": "2.1.2", "port-version": 0 }, "libassuan": { - "baseline": "2.5.3", - "port-version": 2 + "baseline": "2.5.7", + "port-version": 0 }, "libatomic-ops": { - "baseline": "7.7.0", + "baseline": "7.8.2", "port-version": 0 }, "libavif": { - "baseline": "0.9.2", + "baseline": "1.1.1", "port-version": 0 }, "libb2": { "baseline": "0.98.1", - "port-version": 5 + "port-version": 6 }, "libbacktrace": { - "baseline": "2021-03-14", - "port-version": 0 + "baseline": "2023-11-30", + "port-version": 1 }, "libbf": { "baseline": "1.0.0", - "port-version": 2 + "port-version": 4 }, "libbson": { - "baseline": "1.17.6", + "baseline": "1.29.0", + "port-version": 0 + }, + "libcaer": { + "baseline": "3.3.15", "port-version": 1 }, "libcanberra": { "baseline": "0.30", - "port-version": 1 + "port-version": 4 + }, + "libcap": { + "baseline": "2.71", + "port-version": 0 }, "libcbor": { - "baseline": "0.8.0", - "port-version": 1 + "baseline": "0.11.0", + "port-version": 0 }, "libcds": { "baseline": "2.3.3", - "port-version": 1 + "port-version": 4 }, "libcerf": { - "baseline": "1.13", - "port-version": 2 + "baseline": "2.4", + "port-version": 0 + }, + "libcgroup": { + "baseline": "3.1.0", + "port-version": 0 }, "libconfig": { "baseline": "1.7.3", - "port-version": 1 + "port-version": 5 }, "libconfuse": { - "baseline": "2019-07-14", - "port-version": 2 + "baseline": "3.3", + "port-version": 0 }, "libcopp": { - "baseline": "1.4.1", + "baseline": "2.2.0", + "port-version": 1 + }, + "libcoro": { + "baseline": "0.12.1", + "port-version": 0 + }, + "libcorrect": { + "baseline": "2018-10-11", + "port-version": 0 + }, + "libcpplocate": { + "baseline": "2.3.0", "port-version": 0 }, "libcrafter": { "baseline": "1.0", + "port-version": 2 + }, + "libcred": { + "baseline": "1.0.0", "port-version": 0 }, "libcroco": { "baseline": "0.6.13", - "port-version": 3 + "port-version": 7 }, - "libcuckoo": { - "baseline": "0.3", + "libcsv": { + "baseline": "3.0.3", "port-version": 1 }, + "libcuckoo": { + "baseline": "0.3.1", + "port-version": 0 + }, + "libcurl-simple-https": { + "baseline": "2022-02-14", + "port-version": 0 + }, "libdatachannel": { - "baseline": "0.15.1", + "baseline": "0.21.2", "port-version": 1 }, "libdatrie": { - "baseline": "0.2.10", - "port-version": 4 + "baseline": "0.2.13", + "port-version": 1 + }, + "libdc1394": { + "baseline": "2.2.7", + "port-version": 0 }, "libde265": { - "baseline": "1.0.8", - "port-version": 1 + "baseline": "1.0.15", + "port-version": 0 + }, + "libdeflate": { + "baseline": "1.22", + "port-version": 0 }, "libdisasm": { "baseline": "0.23", - "port-version": 8 + "port-version": 11 }, "libdivide": { - "baseline": "5.0", + "baseline": "5.1", "port-version": 0 }, "libdjinterop": { - "baseline": "0.16.0", + "baseline": "0.22.1", + "port-version": 0 + }, + "libdmx": { + "baseline": "1.1.5", "port-version": 0 }, "libdshowcapture": { "baseline": "0.6.0", - "port-version": 2 + "port-version": 3 + }, + "libdvdcss": { + "baseline": "1.4.3", + "port-version": 0 + }, + "libdvdnav": { + "baseline": "6.1.1", + "port-version": 0 + }, + "libdvdread": { + "baseline": "6.1.3", + "port-version": 0 + }, + "libdwarf": { + "baseline": "0.11.0", + "port-version": 0 }, "libe57": { - "baseline": "1.1.312", - "port-version": 1 + "baseline": "1.1.332", + "port-version": 4 + }, + "libe57format": { + "baseline": "3.1.1", + "port-version": 0 }, "libebur128": { "baseline": "1.2.6", + "port-version": 2 + }, + "libedit": { + "baseline": "2024-08-08", + "port-version": 0 + }, + "libenvpp": { + "baseline": "1.4.1", "port-version": 0 }, "libepoxy": { - "baseline": "1.5.9", + "baseline": "1.5.10", + "port-version": 2 + }, + "liberasurecode": { + "baseline": "1.6.4", "port-version": 0 }, + "libev": { + "baseline": "4.33", + "port-version": 3 + }, "libevent": { - "baseline": "2.1.12", - "port-version": 4 + "baseline": "2.1.12+20230128", + "port-version": 1 + }, + "libeventheader-decode": { + "baseline": "1.4.0", + "port-version": 0 + }, + "libeventheader-tracepoint": { + "baseline": "1.4.0", + "port-version": 0 }, "libevhtp": { "baseline": "1.2.18", - "port-version": 2 + "port-version": 5 }, "libexif": { - "baseline": "0.6.22", - "port-version": 1 + "baseline": "0.6.24", + "port-version": 3 }, "libfabric": { "baseline": "1.13.2", - "port-version": 0 + "port-version": 2 }, "libffi": { - "baseline": "3.4.2", - "port-version": 2 + "baseline": "3.4.6", + "port-version": 0 }, "libfido2": { - "baseline": "1.7.0", + "baseline": "1.15.0", "port-version": 0 }, "libflac": { - "baseline": "1.3.3", - "port-version": 6 + "baseline": "1.4.3", + "port-version": 2 + }, + "libfontenc": { + "baseline": "1.1.4", + "port-version": 0 + }, + "libfork": { + "baseline": "3.8.0", + "port-version": 0 }, "libfort": { "baseline": "0.4.2", "port-version": 1 }, "libfreenect2": { - "baseline": "0.2.0", - "port-version": 7 + "baseline": "0.2.1", + "port-version": 1 + }, + "libfs": { + "baseline": "1.0.9", + "port-version": 0 }, "libftdi": { "baseline": "0.20", - "port-version": 3 + "port-version": 5 }, "libftdi1": { "baseline": "1.5", - "port-version": 2 + "port-version": 5 + }, + "libfuse": { + "baseline": "3.16.2", + "port-version": 0 }, "libgcrypt": { - "baseline": "1.9.4", + "baseline": "1.10.2", "port-version": 0 }, "libgd": { - "baseline": "2.3.2", - "port-version": 1 + "baseline": "2.3.3", + "port-version": 3 }, "libgeotiff": { - "baseline": "1.7.0", + "baseline": "1.7.3", + "port-version": 1 + }, + "libgig": { + "baseline": "4.4.1", "port-version": 0 }, "libgit2": { - "baseline": "1.3.0", - "port-version": 1 + "baseline": "1.8.0", + "port-version": 0 + }, + "libgme": { + "baseline": "0.6.3", + "port-version": 0 }, "libgnutls": { - "baseline": "3.6.15", - "port-version": 2 + "baseline": "3.8.7.1", + "port-version": 0 }, "libgo": { "baseline": "3.1", - "port-version": 3 + "port-version": 5 }, "libgpg-error": { - "baseline": "1.42", - "port-version": 2 + "baseline": "1.47", + "port-version": 0 + }, + "libgpiod": { + "baseline": "2.1.3", + "port-version": 0 }, "libgpod": { "baseline": "2019-08-29", - "port-version": 3 + "port-version": 4 }, "libgta": { "baseline": "1.0.8", - "port-version": 3 + "port-version": 5 }, "libguarded": { - "baseline": "2019-08-27", - "port-version": 2 + "baseline": "1.4.1", + "port-version": 0 }, "libgwenhywfar": { "baseline": "5.6.0", - "port-version": 0 + "port-version": 5 }, "libgxps": { "baseline": "0.3.2", - "port-version": 0 + "port-version": 4 }, "libharu": { - "baseline": "2017-08-15", - "port-version": 10 + "baseline": "2.4.4", + "port-version": 1 }, "libhdfs3": { "baseline": "2019-11-05", - "port-version": 1 + "port-version": 6 }, "libheif": { - "baseline": "1.12.0", + "baseline": "1.18.2", "port-version": 0 }, "libhsplasma": { - "baseline": "2021.06.08", + "baseline": "2024-03-07", "port-version": 0 }, "libhv": { - "baseline": "1.2.2", + "baseline": "1.3.3", "port-version": 0 }, "libhydrogen": { - "baseline": "2019-08-11", - "port-version": 1 + "baseline": "2022-06-21", + "port-version": 0 + }, + "libical": { + "baseline": "3.0.18", + "port-version": 0 + }, + "libice": { + "baseline": "1.1.1", + "port-version": 0 }, "libiconv": { - "baseline": "1.16", - "port-version": 11 + "baseline": "1.17", + "port-version": 4 }, "libics": { - "baseline": "1.6.5", + "baseline": "1.6.8", "port-version": 0 }, - "libideviceactivation": { - "baseline": "1.3.17", + "libid3tag": { + "baseline": "0.16.3", "port-version": 0 }, + "libideviceactivation": { + "baseline": "2023-05-01", + "port-version": 1 + }, "libidn2": { - "baseline": "2.3.0", - "port-version": 4 + "baseline": "2.3.7", + "port-version": 1 }, "libigl": { - "baseline": "2.3.0", - "port-version": 0 + "baseline": "2.5.0", + "port-version": 2 }, "libilbc": { - "baseline": "3.0.3", - "port-version": 1 + "baseline": "3.0.4", + "port-version": 0 }, "libimobiledevice": { - "baseline": "1.3.17", + "baseline": "2023-07-05", + "port-version": 1 + }, + "libimobiledevice-glue": { + "baseline": "2023-05-13", "port-version": 0 }, "libirecovery": { - "baseline": "1.0.25", - "port-version": 3 + "baseline": "2023-05-13", + "port-version": 2 }, "libjpeg-turbo": { - "baseline": "2.0.6", - "port-version": 2 + "baseline": "3.0.4", + "port-version": 0 }, "libjuice": { - "baseline": "0.9.1", + "baseline": "1.5.4", "port-version": 0 }, "libjxl": { - "baseline": "0.6.1", + "baseline": "0.11.0", "port-version": 0 }, "libkeyfinder": { - "baseline": "2.2.5", - "port-version": 1 + "baseline": "2.2.8", + "port-version": 0 }, "libkml": { "baseline": "1.3.0", - "port-version": 8 + "port-version": 13 }, "liblas": { "baseline": "1.8.1", - "port-version": 9 + "port-version": 15 }, "liblbfgs": { "baseline": "1.10", - "port-version": 1 + "port-version": 2 + }, + "libleidenalg": { + "baseline": "0.11.1", + "port-version": 0 }, "liblemon": { "baseline": "2019-06-13", - "port-version": 3 + "port-version": 9 }, "liblinear": { "baseline": "243", - "port-version": 0 + "port-version": 1 }, "liblo": { - "baseline": "0.31", - "port-version": 2 + "baseline": "0.32", + "port-version": 0 + }, + "liblrc": { + "baseline": "1.0.0", + "port-version": 0 }, "liblsl": { - "baseline": "1.14.0", - "port-version": 2 + "baseline": "1.16.2", + "port-version": 0 + }, + "liblsquic": { + "baseline": "3.3.2", + "port-version": 1 + }, + "liblzf": { + "baseline": "3.6", + "port-version": 1 }, "liblzma": { - "baseline": "5.2.5", - "port-version": 4 + "baseline": "5.6.3", + "port-version": 0 }, "libmad": { - "baseline": "0.15.1", - "port-version": 9 + "baseline": "0.16.4", + "port-version": 3 }, "libmagic": { - "baseline": "5.40", - "port-version": 1 + "baseline": "5.45", + "port-version": 3 }, "libmariadb": { - "baseline": "3.1.15", + "baseline": "3.4.1", "port-version": 0 }, "libmaxminddb": { - "baseline": "1.4.3", - "port-version": 1 + "baseline": "1.11.0", + "port-version": 0 }, "libmediainfo": { - "baseline": "21.03", - "port-version": 1 + "baseline": "24.11", + "port-version": 0 }, "libmesh": { "baseline": "1.5.0", + "port-version": 6 + }, + "libmicrodns": { + "baseline": "0.2.0", "port-version": 2 }, "libmicrohttpd": { - "baseline": "0.9.63", - "port-version": 6 + "baseline": "1.0.1", + "port-version": 1 + }, + "libmidi2": { + "baseline": "0.13", + "port-version": 0 }, "libmikmod": { "baseline": "3.3.11.1", - "port-version": 10 + "port-version": 12 }, "libmodbus": { - "baseline": "3.1.6", - "port-version": 1 + "baseline": "3.1.10", + "port-version": 0 }, "libmodman": { "baseline": "2.0.1", - "port-version": 3 + "port-version": 5 }, "libmodplug": { "baseline": "0.8.9.0", - "port-version": 9 + "port-version": 14 }, "libmorton": { - "baseline": "0.2.8", + "baseline": "0.2.12", + "port-version": 0 + }, + "libmount": { + "baseline": "2.40", "port-version": 0 }, "libmpeg2": { "baseline": "0.5.1", - "port-version": 1 + "port-version": 3 }, "libmspack": { - "baseline": "0.10.1", - "port-version": 4 + "baseline": "0.11", + "port-version": 0 }, "libmt32emu": { - "baseline": "2.5.3", - "port-version": 1 + "baseline": "2.7.1", + "port-version": 0 }, "libmupdf": { - "baseline": "1.19.0-rc2", + "baseline": "1.24.10", + "port-version": 0 + }, + "libmysofa": { + "baseline": "1.3.2", "port-version": 0 }, "libmysql": { - "baseline": "8.0.20", - "port-version": 3 + "baseline": "8.0.40", + "port-version": 0 }, "libnice": { - "baseline": "0.1.15", - "port-version": 7 + "baseline": "0.1.22", + "port-version": 0 + }, + "libnice-gst": { + "baseline": "0.1.22", + "port-version": 0 + }, + "libnick": { + "baseline": "2024.10.0", + "port-version": 0 }, "libnoise": { "baseline": "1.0.0", - "port-version": 2 + "port-version": 3 }, "libnop": { - "baseline": "2021-03-01", + "baseline": "2021-11-03", + "port-version": 0 + }, + "libobfuscate": { + "baseline": "2024-02-11", "port-version": 0 }, "libodb": { "baseline": "2.4.0", - "port-version": 8 + "port-version": 12 }, "libodb-boost": { "baseline": "2.4.0", - "port-version": 5 + "port-version": 7 }, "libodb-mysql": { "baseline": "2.4.0", - "port-version": 9 + "port-version": 11 }, "libodb-pgsql": { "baseline": "2.4.0", - "port-version": 5 + "port-version": 8 }, "libodb-sqlite": { "baseline": "2.4.0", - "port-version": 9 + "port-version": 13 + }, + "libofx": { + "baseline": "0.10.9", + "port-version": 1 }, "libogg": { "baseline": "1.3.5", - "port-version": 0 + "port-version": 1 }, "libopenmpt": { - "baseline": "0.5.12", + "baseline": "0.7.10", "port-version": 0 }, "libopensp": { "baseline": "1.5.2", - "port-version": 0 + "port-version": 3 + }, + "libopnmidi": { + "baseline": "1.5.1", + "port-version": 2 }, "libopusenc": { "baseline": "0.2.1", - "port-version": 1 + "port-version": 3 + }, + "liborigin": { + "baseline": "3.0.3", + "port-version": 0 + }, + "libosdp": { + "baseline": "3.0.5", + "port-version": 0 }, "libosip2": { - "baseline": "5.2.0", + "baseline": "5.3.1", "port-version": 1 }, "libosmium": { - "baseline": "2.17.1", - "port-version": 0 + "baseline": "2.20.0", + "port-version": 1 }, "libosmscout": { "baseline": "1.1.1", - "port-version": 0 + "port-version": 5 }, "libp7-baical": { "baseline": "replaced", @@ -3738,438 +4946,742 @@ }, "libp7client": { "baseline": "5.6", - "port-version": 1 + "port-version": 5 }, "libpcap": { - "baseline": "1.10.1", + "baseline": "1.10.5", "port-version": 0 }, "libpff": { - "baseline": "2018-07-14", + "baseline": "2021-11-14", "port-version": 2 }, + "libphonenumber": { + "baseline": "8.13.45", + "port-version": 0 + }, "libplist": { - "baseline": "1.3.6", + "baseline": "2023-06-15", "port-version": 1 }, "libpmemobj-cpp": { "baseline": "1.13.0", - "port-version": 0 + "port-version": 1 }, "libpng": { - "baseline": "1.6.37", - "port-version": 16 + "baseline": "1.6.44", + "port-version": 0 }, "libpopt": { "baseline": "1.16", - "port-version": 14 + "port-version": 17 }, "libpq": { - "baseline": "12.2", - "port-version": 20 + "baseline": "16.4", + "port-version": 0 }, "libpqxx": { - "baseline": "7.6.0", - "port-version": 2 + "baseline": "7.9.2", + "port-version": 0 }, "libprotobuf-mutator": { - "baseline": "1.0", + "baseline": "1.3", "port-version": 0 }, "libproxy": { - "baseline": "0.4.17", + "baseline": "0.4.18", + "port-version": 3 + }, + "libpsl": { + "baseline": "0.21.5", "port-version": 1 }, "libqcow": { - "baseline": "20210419", + "baseline": "20221124", "port-version": 1 }, "libqglviewer": { - "baseline": "2.7.2", - "port-version": 4 + "baseline": "2.9.1", + "port-version": 3 }, "libqrencode": { "baseline": "4.1.1", - "port-version": 1 + "port-version": 2 + }, + "libqtrest": { + "baseline": "0.4.0", + "port-version": 0 }, "librabbitmq": { - "baseline": "2020-06-03", - "port-version": 1 + "baseline": "0.14.0", + "port-version": 0 }, "libraqm": { - "baseline": "0.7.0", - "port-version": 3 + "baseline": "0.10.2", + "port-version": 0 }, "libraw": { - "baseline": "201903", - "port-version": 5 + "baseline": "0.21.3", + "port-version": 0 }, "librdkafka": { - "baseline": "1.8.2", + "baseline": "2.6.0", "port-version": 0 }, - "libressl": { - "baseline": "3.3.4", + "libredwg": { + "baseline": "0.13.3", + "port-version": 1 + }, + "libremidi": { + "baseline": "4.5.0", "port-version": 0 }, + "libressl": { + "baseline": "3.9.2", + "port-version": 2 + }, "librsvg": { "baseline": "2.40.20", - "port-version": 5 + "port-version": 11 }, "librsync": { - "baseline": "2.3.2", + "baseline": "2.3.4", "port-version": 0 }, "librtmp": { "baseline": "2019-11-11", - "port-version": 2 + "port-version": 4 + }, + "librtpi": { + "baseline": "1.0.1", + "port-version": 0 }, "librttopo": { "baseline": "1.1.0", - "port-version": 5 + "port-version": 8 }, "libsamplerate": { "baseline": "0.2.2", - "port-version": 0 + "port-version": 1 }, "libsass": { - "baseline": "3.6.5", + "baseline": "3.6.6", "port-version": 0 }, "libsbml": { - "baseline": "5.19.0", - "port-version": 1 + "baseline": "5.20.2", + "port-version": 0 }, "libsbsms": { "baseline": "2.3.0", "port-version": 0 }, "libsecret": { - "baseline": "0.20.4", + "baseline": "0.21.4", "port-version": 0 }, "libsercomm": { "baseline": "1.3.2", + "port-version": 1 + }, + "libsersi": { + "baseline": "0.1.0", "port-version": 0 }, "libsigcpp": { - "baseline": "3.0.7", - "port-version": 0 + "baseline": "3.6.0", + "port-version": 1 }, "libsigcpp-3": { "baseline": "3.0.3", "port-version": 1 }, - "libsmb2": { - "baseline": "2021-04-29", + "libslirp": { + "baseline": "4.8.0", "port-version": 0 }, - "libsndfile": { - "baseline": "1.0.31", + "libsm": { + "baseline": "1.2.3", + "port-version": 1 + }, + "libsmacker": { + "baseline": "1.2.0", + "port-version": 0 + }, + "libsmb2": { + "baseline": "2023-08-11", + "port-version": 0 + }, + "libsndfile": { + "baseline": "1.2.2", "port-version": 0 }, "libsnoretoast": { "baseline": "0.8.0", - "port-version": 1 + "port-version": 2 }, "libsodium": { - "baseline": "1.0.18", - "port-version": 5 + "baseline": "1.0.20", + "port-version": 3 + }, + "libsonic": { + "baseline": "0.2.0", + "port-version": 0 }, "libsoundio": { "baseline": "2.0.0", - "port-version": 4 + "port-version": 7 + }, + "libsoup": { + "baseline": "3.6.0", + "port-version": 0 }, "libspatialindex": { - "baseline": "1.9.3", + "baseline": "2.0.0", "port-version": 0 }, "libspatialite": { - "baseline": "5.0.1", - "port-version": 0 + "baseline": "5.1.0", + "port-version": 2 }, "libspnav": { "baseline": "0.2.3", - "port-version": 1 + "port-version": 2 + }, + "libspng": { + "baseline": "0.7.4", + "port-version": 0 }, "libsquish": { "baseline": "1.15", - "port-version": 9 + "port-version": 14 }, "libsrt": { - "baseline": "1.4.4", - "port-version": 1 + "baseline": "1.5.3", + "port-version": 3 }, "libsrtp": { - "baseline": "2.4.2", - "port-version": 0 + "baseline": "2.5.0", + "port-version": 1 }, "libssh": { - "baseline": "0.9.6", + "baseline": "0.10.6", "port-version": 0 }, "libssh2": { - "baseline": "1.10.0", + "baseline": "1.11.1", "port-version": 0 }, "libstemmer": { - "baseline": "2017-9", - "port-version": 6 + "baseline": "2021.2.2.0", + "port-version": 0 }, "libstk": { "baseline": "4.6.1", - "port-version": 1 + "port-version": 3 }, "libsvm": { - "baseline": "3.25", + "baseline": "3.35", + "port-version": 0 + }, + "libsystemd": { + "baseline": "256.4", + "port-version": 0 + }, + "libtar": { + "baseline": "1.2.20", "port-version": 0 }, "libtasn1": { - "baseline": "4.17.0", - "port-version": 3 + "baseline": "4.19.0", + "port-version": 1 }, "libtcod": { - "baseline": "1.19.0", + "baseline": "1.24.0", + "port-version": 0 + }, + "libtess2": { + "baseline": "2021-12-27", "port-version": 0 }, "libtheora": { "baseline": "1.2.0alpha1-20170719", - "port-version": 3 + "port-version": 7 }, "libtins": { - "baseline": "4.3", - "port-version": 2 + "baseline": "4.5", + "port-version": 0 }, "libtomcrypt": { "baseline": "1.18.2", - "port-version": 2 + "port-version": 3 }, "libtommath": { - "baseline": "1.2.0", - "port-version": 2 + "baseline": "1.3.0", + "port-version": 0 + }, + "libtorch": { + "baseline": "2.1.2", + "port-version": 7 }, "libtorrent": { - "baseline": "1.2.14", - "port-version": 1 + "baseline": "2.0.10", + "port-version": 0 + }, + "libtracepoint": { + "baseline": "1.4.0", + "port-version": 0 + }, + "libtracepoint-control": { + "baseline": "1.4.0", + "port-version": 0 + }, + "libtracepoint-decode": { + "baseline": "1.4.0", + "port-version": 0 }, "libu2f-server": { "baseline": "1.1.0", - "port-version": 3 + "port-version": 5 }, "libudis86": { - "baseline": "2018-01-28-56ff6c87", - "port-version": 1 + "baseline": "2018-01-28", + "port-version": 4 }, "libudns": { "baseline": "0.4", - "port-version": 4 + "port-version": 6 }, "libui": { "baseline": "2018-11-03", - "port-version": 2 + "port-version": 3 }, "libunibreak": { - "baseline": "4.3", + "baseline": "6.1", "port-version": 1 }, "libunifex": { - "baseline": "2021-08-01", - "port-version": 1 + "baseline": "0.4.0", + "port-version": 0 }, "libunistring": { - "baseline": "0.9.10", - "port-version": 1 + "baseline": "1.2", + "port-version": 0 + }, + "libunwind": { + "baseline": "1.8.1", + "port-version": 3 }, "liburing": { - "baseline": "2.0", - "port-version": 0 + "baseline": "2.7", + "port-version": 1 }, "libusb": { - "baseline": "1.0.24", - "port-version": 6 + "baseline": "1.0.27", + "port-version": 2 }, "libusb-win32": { "baseline": "1.2.6.0", - "port-version": 7 + "port-version": 10 }, "libusbmuxd": { - "baseline": "1.2.219", + "baseline": "2023-06-21", "port-version": 1 }, + "libusbp": { + "baseline": "1.3.1", + "port-version": 0 + }, "libuuid": { "baseline": "1.0.3", - "port-version": 8 + "port-version": 14 }, "libuv": { - "baseline": "1.42.0", - "port-version": 2 + "baseline": "1.49.2", + "port-version": 0 }, "libuvc": { - "baseline": "2020-11-24", - "port-version": 2 + "baseline": "0.0.7", + "port-version": 1 + }, + "libvault": { + "baseline": "0.61.0", + "port-version": 0 + }, + "libvhdi": { + "baseline": "20231127", + "port-version": 0 + }, + "libvmaf": { + "baseline": "3.0.0", + "port-version": 0 }, "libvmdk": { - "baseline": "20200926", + "baseline": "20221124", "port-version": 1 }, "libvorbis": { "baseline": "1.3.7", - "port-version": 1 + "port-version": 3 }, "libvpx": { - "baseline": "1.10.0", - "port-version": 2 + "baseline": "1.13.1", + "port-version": 4 }, "libwandio": { "baseline": "4.2.1", - "port-version": 4 + "port-version": 6 }, "libwebm": { - "baseline": "1.0.0.28", + "baseline": "1.0.0.31", "port-version": 0 }, "libwebp": { - "baseline": "1.2.1", - "port-version": 0 + "baseline": "1.4.0", + "port-version": 1 }, "libwebsockets": { - "baseline": "4.2.2", - "port-version": 4 + "baseline": "4.3.3", + "port-version": 1 + }, + "libx11": { + "baseline": "1.8.1", + "port-version": 2 + }, + "libxau": { + "baseline": "1.0.9", + "port-version": 0 + }, + "libxaw": { + "baseline": "1.0.13", + "port-version": 0 + }, + "libxcomposite": { + "baseline": "0.4.5", + "port-version": 0 + }, + "libxcrypt": { + "baseline": "4.4.36", + "port-version": 1 + }, + "libxcvt": { + "baseline": "0.1.2", + "port-version": 1 + }, + "libxdamage": { + "baseline": "1.1.5", + "port-version": 0 + }, + "libxdf": { + "baseline": "0.99.8", + "port-version": 0 }, "libxdiff": { "baseline": "0.23", - "port-version": 1 + "port-version": 4 }, - "libxlsxwriter": { + "libxdmcp": { + "baseline": "1.1.3", + "port-version": 0 + }, + "libxext": { + "baseline": "1.3.4", + "port-version": 0 + }, + "libxfixes": { + "baseline": "6.0.0", + "port-version": 0 + }, + "libxfont": { + "baseline": "2.0.5", + "port-version": 0 + }, + "libxft": { + "baseline": "2.3.4", + "port-version": 0 + }, + "libxi": { + "baseline": "1.8", + "port-version": 0 + }, + "libxinerama": { "baseline": "1.1.4", "port-version": 0 }, + "libxkbcommon": { + "baseline": "1.7.0", + "port-version": 0 + }, + "libxkbfile": { + "baseline": "1.1.0", + "port-version": 0 + }, + "libxlsxwriter": { + "baseline": "1.1.8", + "port-version": 1 + }, "libxml2": { - "baseline": "2.9.12", - "port-version": 4 + "baseline": "2.11.9", + "port-version": 0 }, "libxmlmm": { "baseline": "0.6.0", - "port-version": 1 + "port-version": 4 }, "libxmlpp": { - "baseline": "5.0.0", + "baseline": "5.4.0", + "port-version": 0 + }, + "libxmp": { + "baseline": "4.6.0", "port-version": 1 }, - "libxmp-lite": { - "baseline": "4.4.1", - "port-version": 7 + "libxmu": { + "baseline": "1.1.3", + "port-version": 1 + }, + "libxpm": { + "baseline": "3.5.17", + "port-version": 0 + }, + "libxpresent": { + "baseline": "1.0.0", + "port-version": 0 + }, + "libxrandr": { + "baseline": "1.5.2", + "port-version": 0 + }, + "libxrender": { + "baseline": "0.9.10", + "port-version": 0 + }, + "libxres": { + "baseline": "1.2.1", + "port-version": 0 + }, + "libxscrnsaver": { + "baseline": "1.2.3", + "port-version": 0 }, "libxslt": { - "baseline": "1.1.34", - "port-version": 3 + "baseline": "1.1.37", + "port-version": 4 + }, + "libxt": { + "baseline": "1.3.0", + "port-version": 0 + }, + "libxtst": { + "baseline": "1.2.4", + "port-version": 0 + }, + "libxv": { + "baseline": "1.0.11", + "port-version": 0 + }, + "libxxf86vm": { + "baseline": "1.1.5", + "port-version": 0 }, "libyaml": { "baseline": "0.2.5", - "port-version": 1 + "port-version": 5 }, "libyuv": { - "baseline": "2021-04-15", - "port-version": 0 + "baseline": "1896", + "port-version": 1 }, "libzen": { - "baseline": "0.4.38", - "port-version": 1 + "baseline": "0.4.41", + "port-version": 0 + }, + "libzim": { + "baseline": "9.0.0", + "port-version": 0 }, "libzip": { - "baseline": "1.8.0", + "baseline": "1.10.1", "port-version": 0 }, "libzippp": { - "baseline": "5.0-1.8.0", - "port-version": 1 + "baseline": "7.1-1.10.1", + "port-version": 0 }, "licensepp": { - "baseline": "2020-05-19", - "port-version": 2 + "baseline": "2020-11-24", + "port-version": 0 + }, + "lightgbm": { + "baseline": "4.5.0", + "port-version": 0 + }, + "lightningscanner": { + "baseline": "1.0.1", + "port-version": 0 }, "lilv": { "baseline": "0.24.10", - "port-version": 0 + "port-version": 2 }, "linalg": { - "baseline": "2.1", - "port-version": 1 + "baseline": "2.2", + "port-version": 0 }, - "linenoise-ng": { - "baseline": "4754bee2d8eb3", - "port-version": 2 + "linmath": { + "baseline": "2022-07-30", + "port-version": 0 + }, + "lionkor-commandline": { + "baseline": "2.2.0", + "port-version": 0 + }, + "litehtml": { + "baseline": "0.9.0", + "port-version": 0 }, "live555": { - "baseline": "latest", - "port-version": 2 + "baseline": "2024-10-24", + "port-version": 1 }, "llfio": { - "baseline": "2.0-20210922", + "baseline": "2024-09-05", + "port-version": 0 + }, + "llgi": { + "baseline": "2023-12-19", "port-version": 0 }, "llgl": { - "baseline": "2019-08-15", - "port-version": 2 + "baseline": "2023-03-05", + "port-version": 0 }, - "llvm": { - "baseline": "12.0.1", + "llhttp": { + "baseline": "9.2.1", "port-version": 0 }, - "lmdb": { - "baseline": "0.9.24", + "llnl-units": { + "baseline": "0.9.1", + "port-version": 0 + }, + "llvm": { + "baseline": "18.1.6", "port-version": 1 }, + "lmdb": { + "baseline": "0.9.33", + "port-version": 0 + }, + "lockpp": { + "baseline": "3.0", + "port-version": 0 + }, "lodepng": { - "baseline": "2020-03-15", + "baseline": "2021-12-04", "port-version": 1 }, "lodepng-c": { - "baseline": "2021-03-01", - "port-version": 1 + "baseline": "deprecated", + "port-version": 0 }, "log4cplus": { - "baseline": "2.0.7", + "baseline": "2.1.1", "port-version": 0 }, - "log4cpp": { - "baseline": "2.9.1", - "port-version": 6 + "log4cpp-log4cpp": { + "baseline": "1.1.4", + "port-version": 0 }, "log4cxx": { - "baseline": "0.12.0", + "baseline": "1.3.0", "port-version": 0 }, "loguru": { "baseline": "2.1.0", - "port-version": 2 + "port-version": 4 }, "lpeg": { - "baseline": "1.0.2", - "port-version": 2 + "baseline": "1.1.0", + "port-version": 1 + }, + "ls-qpack": { + "baseline": "2.5.5", + "port-version": 0 + }, + "ltla-aarand": { + "baseline": "2023-03-19", + "port-version": 0 + }, + "ltla-cppirlba": { + "baseline": "2023-09-20", + "port-version": 0 + }, + "ltla-cppkmeans": { + "baseline": "2023-03-20", + "port-version": 0 + }, + "ltla-knncolle": { + "baseline": "2023-05-09", + "port-version": 0 + }, + "ltla-powerit": { + "baseline": "2023-03-19", + "port-version": 0 + }, + "ltla-umappp": { + "baseline": "2023-05-11", + "port-version": 0 }, "lua": { - "baseline": "5.4.3", - "port-version": 3 + "baseline": "5.4.7", + "port-version": 0 + }, + "lua-compat53": { + "baseline": "0.10", + "port-version": 0 }, "luabridge": { - "baseline": "2.6", + "baseline": "2.8", + "port-version": 0 + }, + "luabridge3": { + "baseline": "3.0-rc3", + "port-version": 0 + }, + "luafilesystem": { + "baseline": "1.8.0", + "port-version": 7 + }, + "luajit": { + "baseline": "2023-01-04", + "port-version": 5 + }, + "luasec": { + "baseline": "1.3.2", + "port-version": 2 + }, + "luasocket": { + "baseline": "3.1.0", "port-version": 1 }, - "luafilesystem": { - "baseline": "1.8.0", - "port-version": 2 + "luau": { + "baseline": "0.651", + "port-version": 0 + }, + "luminoengine": { + "baseline": "0.10.1", + "port-version": 1 }, - "luajit": { - "baseline": "2.0.5", - "port-version": 4 + "lunarg-vulkantools": { + "baseline": "1.3.296.0", + "port-version": 0 }, - "luasec": { - "baseline": "1.0.1", + "lunasvg": { + "baseline": "2.4.1", "port-version": 0 }, - "luasocket": { - "baseline": "2020-09-14", + "luv": { + "baseline": "1.44.2", "port-version": 1 }, "lv2": { @@ -4177,48 +5689,68 @@ "port-version": 1 }, "lz4": { - "baseline": "1.9.3", - "port-version": 3 + "baseline": "1.10.0", + "port-version": 0 + }, + "lzav": { + "baseline": "4.0", + "port-version": 0 }, "lzfse": { "baseline": "1.0", - "port-version": 3 + "port-version": 5 }, "lzo": { "baseline": "2.10", - "port-version": 7 + "port-version": 9 }, "lzokay": { "baseline": "2020-07-30", + "port-version": 2 + }, + "maddy": { + "baseline": "1.3.0", "port-version": 0 }, "magic-enum": { - "baseline": "0.7.3", + "baseline": "0.9.6", "port-version": 1 }, "magic-get": { "baseline": "2019-09-02", - "port-version": 2 + "port-version": 3 + }, + "magma": { + "baseline": "2.8.0", + "port-version": 1 }, "magnum": { "baseline": "2020.06", - "port-version": 7 + "port-version": 19 }, "magnum-extras": { "baseline": "2020.06", - "port-version": 1 + "port-version": 2 }, "magnum-integration": { "baseline": "2020.06", - "port-version": 1 + "port-version": 3 }, "magnum-plugins": { "baseline": "2020.06", - "port-version": 7 + "port-version": 13 }, "mailio": { - "baseline": "0.20.0", - "port-version": 1 + "baseline": "0.23.0", + "port-version": 0 + }, + "makeid": { + "baseline": "1.0.3", + "port-version": 0 + }, + "manif": { + "baseline": "2023-07-17", + "port-version": 0 }, "mapbox-geojson-cpp": { "baseline": "0.5.1", @@ -4233,411 +5765,539 @@ "port-version": 0 }, "mapbox-polylabel": { - "baseline": "1.0.4", + "baseline": "2.0.1", "port-version": 0 }, "mapbox-variant": { "baseline": "1.2.0", - "port-version": 1 + "port-version": 2 }, "mapbox-wagyu": { "baseline": "0.5.0", "port-version": 0 }, "mapnik": { - "baseline": "2021-11-15", + "baseline": "2024-04-18", "port-version": 0 }, "marble": { - "baseline": "19.08.2", + "baseline": "24.08.2", + "port-version": 0 + }, + "mariadb-connector-cpp": { + "baseline": "1.1.5", + "port-version": 0 + }, + "marisa-trie": { + "baseline": "0.2.6+20200926", "port-version": 2 }, "marl": { - "baseline": "2021-04-25", + "baseline": "2023-06-28", + "port-version": 0 + }, + "matchit": { + "baseline": "1.0.1", "port-version": 0 }, + "materialx": { + "baseline": "1.39.1", + "port-version": 1 + }, "mathc": { "baseline": "2019-09-29", - "port-version": 1 + "port-version": 3 }, "mathgl": { - "baseline": "2.4.3", + "baseline": "8.0.1", "port-version": 7 }, + "mathter": { + "baseline": "2.0.0", + "port-version": 0 + }, "matio": { - "baseline": "1.5.19", - "port-version": 1 + "baseline": "1.5.27", + "port-version": 0 }, "matplotlib-cpp": { "baseline": "2020-08-27", - "port-version": 1 + "port-version": 2 }, "matplotplusplus": { - "baseline": "2021-04-11", - "port-version": 5 + "baseline": "1.2.1", + "port-version": 0 }, "matroska": { - "baseline": "1.6.3", - "port-version": 0 + "baseline": "1.7.1", + "port-version": 2 }, "mbedtls": { - "baseline": "2.24.0", - "port-version": 3 + "baseline": "3.6.1", + "port-version": 0 + }, + "mchehab-zbar": { + "baseline": "0.23.90", + "port-version": 5 }, "mcpp": { "baseline": "2.7.2.14", - "port-version": 3 + "port-version": 5 + }, + "md4c": { + "baseline": "0.5.2", + "port-version": 0 + }, + "mdl-sdk": { + "baseline": "2024.0.4", + "port-version": 0 }, "mdns": { - "baseline": "1.4.1", + "baseline": "1.4.3", "port-version": 0 }, "mdnsresponder": { - "baseline": "878.270.2", - "port-version": 0 + "baseline": "1557.140.5.0.1", + "port-version": 1 }, "mdspan": { - "baseline": "2021-11-03", + "baseline": "0.6.0", "port-version": 0 }, "mecab": { "baseline": "2019-09-25", - "port-version": 2 + "port-version": 6 }, "memorymodule": { "baseline": "2019-12-31", - "port-version": 2 + "port-version": 3 }, "mesa": { - "baseline": "21.2.0", - "port-version": 0 + "baseline": "24.0.7", + "port-version": 2 }, "meschach": { "baseline": "1.2b", - "port-version": 4 + "port-version": 6 }, "meshoptimizer": { - "baseline": "0.16", + "baseline": "0.21", "port-version": 0 }, "metis": { - "baseline": "5.1.0", - "port-version": 8 + "baseline": "2022-07-27", + "port-version": 0 }, "metrohash": { "baseline": "1.1.3", - "port-version": 4 + "port-version": 5 }, "mfl": { "baseline": "0.0.1", - "port-version": 0 + "port-version": 3 + }, + "mfx-dispatch": { + "baseline": "1.35.1", + "port-version": 4 }, "mgnlibs": { "baseline": "2019-09-29", - "port-version": 1 + "port-version": 2 }, "mhook": { "baseline": "2.5.1", - "port-version": 2 + "port-version": 3 + }, + "michaelmiller-sec21": { + "baseline": "1.0.1", + "port-version": 0 + }, + "micro-gl": { + "baseline": "2024-06-18", + "port-version": 0 }, "microsoft-signalr": { - "baseline": "0.1.0-alpha3", - "port-version": 1 + "baseline": "0.1.0-alpha4", + "port-version": 12 }, "mikktspace": { "baseline": "2020-10-06", - "port-version": 1 + "port-version": 3 }, "milerius-sfml-imgui": { "baseline": "1.1", - "port-version": 3 + "port-version": 6 }, "mimalloc": { - "baseline": "2.0.2", + "baseline": "2.1.7", + "port-version": 1 + }, + "mimicpp": { + "baseline": "4", "port-version": 0 }, "minc": { "baseline": "2.4.03", - "port-version": 2 + "port-version": 3 }, "minhook": { "baseline": "1.3.3", - "port-version": 2 + "port-version": 4 + }, + "miniaudio": { + "baseline": "0.11.21", + "port-version": 0 }, "minifb": { - "baseline": "2019-08-20", - "port-version": 2 + "baseline": "2023-09-21", + "port-version": 0 }, "minimp3": { - "baseline": "2020-12-25", + "baseline": "2021-11-30", + "port-version": 0 + }, + "minio-cpp": { + "baseline": "0.3.0", + "port-version": 0 + }, + "miniply": { + "baseline": "2022-09-15", "port-version": 1 }, "minisat-master-keying": { "baseline": "2.3.6", - "port-version": 0 + "port-version": 1 }, "minitrace": { - "baseline": "2019.02.06", - "port-version": 2 + "baseline": "2023-04-23", + "port-version": 0 }, "miniupnpc": { - "baseline": "2.1", - "port-version": 2 + "baseline": "2.3.7", + "port-version": 0 }, "miniz": { - "baseline": "2.2.0", + "baseline": "3.0.2", "port-version": 1 }, "minizip": { - "baseline": "1.2.11", - "port-version": 9 + "baseline": "1.3.1", + "port-version": 1 }, "minizip-ng": { - "baseline": "3.0.2", - "port-version": 1 + "baseline": "4.0.7", + "port-version": 0 }, "mio": { - "baseline": "2019-02-10", - "port-version": 1 + "baseline": "2023-03-03", + "port-version": 0 }, "mlpack": { - "baseline": "3.4.1", - "port-version": 2 + "baseline": "4.5.0", + "port-version": 0 }, "mman": { "baseline": "git-f5ff813", - "port-version": 4 + "port-version": 5 }, "mmloader": { - "baseline": "2020-05-15", - "port-version": 1 + "baseline": "1.0.1", + "port-version": 3 }, "mmx": { - "baseline": "2019-09-29", - "port-version": 1 + "baseline": "2022-03-27", + "port-version": 0 }, "mnn": { "baseline": "1.1.0", - "port-version": 1 + "port-version": 6 + }, + "modern-cpp-kafka": { + "baseline": "2024.07.03", + "port-version": 0 }, "modp-base64": { "baseline": "2020-09-26", - "port-version": 1 + "port-version": 2 }, "mongo-c-driver": { - "baseline": "1.17.6", - "port-version": 2 + "baseline": "1.29.0", + "port-version": 0 }, "mongo-cxx-driver": { - "baseline": "3.6.5", - "port-version": 1 + "baseline": "3.11.0", + "port-version": 0 }, "mongoose": { - "baseline": "7.1", + "baseline": "7.15", "port-version": 0 }, "monkeys-audio": { - "baseline": "5.70", - "port-version": 1 + "baseline": "10.08", + "port-version": 2 }, "moos-core": { "baseline": "10.4.0", - "port-version": 6 + "port-version": 10 }, "moos-essential": { "baseline": "10.0.1", - "port-version": 3 + "port-version": 5 }, "moos-ui": { "baseline": "10.0.1", - "port-version": 3 + "port-version": 5 }, "morton-nd": { "baseline": "4.0.0", - "port-version": 1 + "port-version": 3 }, "mosquitto": { - "baseline": "2.0.12", - "port-version": 3 + "baseline": "2.0.18", + "port-version": 0 }, "mozjpeg": { - "baseline": "2021-09-27", - "port-version": 0 + "baseline": "4.1.5", + "port-version": 1 }, "mp-units": { - "baseline": "0.7.0", - "port-version": 0 + "baseline": "2.4.0", + "port-version": 1 }, "mp3lame": { "baseline": "3.100", - "port-version": 7 + "port-version": 15 + }, + "mpark-patterns": { + "baseline": "2019-10-03", + "port-version": 0 }, "mpark-variant": { "baseline": "1.4.0", - "port-version": 1 + "port-version": 3 }, "mpc": { - "baseline": "1.2.0", - "port-version": 1 + "baseline": "1.3.1", + "port-version": 0 }, "mpfr": { - "baseline": "4.1.0", - "port-version": 1 + "baseline": "4.2.1", + "port-version": 0 }, "mpg123": { - "baseline": "1.28.0", - "port-version": 1 + "baseline": "1.32.7", + "port-version": 0 }, "mpi": { "baseline": "1", - "port-version": 2 + "port-version": 4 }, "mpir": { - "baseline": "3.0.0", - "port-version": 10 + "baseline": "2022-03-02", + "port-version": 3 }, "mpmcqueue": { - "baseline": "2019-07-26", - "port-version": 1 + "baseline": "2021-12-01", + "port-version": 0 }, "mqtt-cpp": { - "baseline": "12.0.0", + "baseline": "13.2.1", "port-version": 0 }, "ms-angle": { "baseline": "alias", "port-version": 1 }, + "ms-gdkx": { + "baseline": "1.0.0", + "port-version": 1 + }, "ms-gltf": { - "baseline": "r1.9.5.4", - "port-version": 0 + "baseline": "2022-06-28", + "port-version": 2 }, "ms-gsl": { - "baseline": "3.1.0", - "port-version": 1 + "baseline": "4.1.0", + "port-version": 0 }, - "ms-quic": { - "baseline": "1.2.0", + "ms-ifc-sdk": { + "baseline": "0.43.1", "port-version": 0 }, "msdfgen": { - "baseline": "1.9.1", + "baseline": "1.12", "port-version": 0 }, "msgpack": { - "baseline": "3.3.0", - "port-version": 2 + "baseline": "7.0.0", + "port-version": 0 + }, + "msgpack-c": { + "baseline": "6.1.0", + "port-version": 0 }, "msgpack11": { "baseline": "0.0.10", - "port-version": 3 + "port-version": 4 + }, + "msh3": { + "baseline": "0.6.0", + "port-version": 1 }, "msinttypes": { "baseline": "2018-02-25", - "port-version": 1 + "port-version": 2 }, "msix": { "baseline": "1.7", - "port-version": 3 + "port-version": 5 }, "msmpi": { "baseline": "10.1.12498", - "port-version": 2 + "port-version": 4 + }, + "msquic": { + "baseline": "2.4.5", + "port-version": 1 }, "mstch": { "baseline": "1.0.2", - "port-version": 3 + "port-version": 5 + }, + "mtlt": { + "baseline": "1.0.0", + "port-version": 0 + }, + "mujoco": { + "baseline": "2.3.2", + "port-version": 1 }, "mujs": { - "baseline": "2018-07-30", - "port-version": 2 + "baseline": "1.3.5", + "port-version": 0 }, "munit": { "baseline": "2019-04-06", - "port-version": 3 + "port-version": 5 }, "muparser": { - "baseline": "2.3.2", - "port-version": 2 + "baseline": "2.3.4", + "port-version": 0 + }, + "murmur3": { + "baseline": "2015-05-02", + "port-version": 0 }, "murmurhash": { "baseline": "2016-01-09", - "port-version": 4 + "port-version": 7 + }, + "mvfst": { + "baseline": "2024.11.04.00", + "port-version": 0 }, "mygui": { - "baseline": "2020-06-17", - "port-version": 1 + "baseline": "3.4.3", + "port-version": 3 + }, + "mysql-connector-cpp": { + "baseline": "8.0.32", + "port-version": 2 }, "nameof": { - "baseline": "0.10.1", - "port-version": 1 + "baseline": "0.10.4", + "port-version": 0 }, "nana": { "baseline": "1.7.4", - "port-version": 2 + "port-version": 5 }, "nano-signal-slot": { "baseline": "2.0.1", - "port-version": 1 + "port-version": 2 }, "nanobench": { - "baseline": "4.3.0", - "port-version": 1 + "baseline": "4.3.11", + "port-version": 0 + }, + "nanobind": { + "baseline": "2.2.0", + "port-version": 0 }, "nanodbc": { "baseline": "2.13.0", - "port-version": 6 + "port-version": 8 }, "nanoflann": { - "baseline": "1.3.2", - "port-version": 1 + "baseline": "1.6.2", + "port-version": 0 }, "nanogui": { "baseline": "2019-09-23", - "port-version": 2 + "port-version": 5 + }, + "nanojsonc": { + "baseline": "1.0.0", + "port-version": 0 }, "nanomsg": { - "baseline": "1.1.5", - "port-version": 4 + "baseline": "1.2.1", + "port-version": 2 }, "nanopb": { - "baseline": "0.4.5", + "baseline": "0.4.9", "port-version": 0 }, "nanoprintf": { - "baseline": "2020-05-27", - "port-version": 1 + "baseline": "0.3.4", + "port-version": 0 }, "nanorange": { - "baseline": "0.0.0", - "port-version": 1 + "baseline": "2020-07-06", + "port-version": 0 }, "nanort": { "baseline": "2019-08-20", - "port-version": 2 + "port-version": 3 + }, + "nanosvg": { + "baseline": "2023-12-29", + "port-version": 0 }, "nanovg": { - "baseline": "2019-8-30", - "port-version": 4 + "baseline": "2019-08-30", + "port-version": 6 + }, + "nativefiledialog-extended": { + "baseline": "1.2.1", + "port-version": 0 }, - "nativefiledialog": { - "baseline": "2019-08-28", + "nayuki-qr-code-generator": { + "baseline": "1.8.0", "port-version": 1 }, "nccl": { "baseline": "2.4.6", + "port-version": 2 + }, + "ncnn": { + "baseline": "20240102", "port-version": 1 }, "ncurses": { - "baseline": "6.2", - "port-version": 1 + "baseline": "6.4", + "port-version": 2 + }, + "ndis-driver-library": { + "baseline": "1.2.0", + "port-version": 0 }, "neargye-semver": { - "baseline": "0.3.0", + "baseline": "0.3.1", "port-version": 0 }, "ned14-internal-quickcpplib": { - "baseline": "0.0.0-e691a6dc", + "baseline": "2023-11-22", "port-version": 0 }, "neon2sse": { @@ -4645,731 +6305,903 @@ "port-version": 0 }, "netcdf-c": { - "baseline": "4.7.4", - "port-version": 4 + "baseline": "4.8.1", + "port-version": 5 }, "netcdf-cxx4": { "baseline": "4.3.1", - "port-version": 3 + "port-version": 5 + }, + "netcpp": { + "baseline": "0.5.0", + "port-version": 0 + }, + "netgen": { + "baseline": "6.2.2401", + "port-version": 2 }, "nethost": { - "baseline": "2019-12-21", - "port-version": 1 + "baseline": "8.0.3", + "port-version": 0 }, "nettle": { - "baseline": "3.6", + "baseline": "3.10", "port-version": 1 }, "networkdirect-sdk": { "baseline": "2.0.1", - "port-version": 2 + "port-version": 4 }, "nghttp2": { - "baseline": "1.46.0", + "baseline": "1.64.0", + "port-version": 0 + }, + "nghttp2-asio": { + "baseline": "2022-08-11", + "port-version": 1 + }, + "nghttp3": { + "baseline": "1.6.0", "port-version": 0 }, "ngspice": { - "baseline": "35", + "baseline": "41", "port-version": 0 }, - "nifticlib": { - "baseline": "2020-04-30", + "ngtcp2": { + "baseline": "1.8.1", + "port-version": 0 + }, + "nifly": { + "baseline": "1.0.0", "port-version": 1 }, + "nifticlib": { + "baseline": "2022-07-04", + "port-version": 0 + }, "nlohmann-fifo-map": { "baseline": "2018.05.07", - "port-version": 2 + "port-version": 3 }, "nlohmann-json": { - "baseline": "3.10.4", - "port-version": 0 - }, - "nlopt": { - "baseline": "2.7.0", + "baseline": "3.11.3", "port-version": 1 }, - "nmap": { - "baseline": "7.70", - "port-version": 5 + "nlopt": { + "baseline": "2.8.0", + "port-version": 0 }, "nmslib": { "baseline": "2.1.1", - "port-version": 0 + "port-version": 1 }, "nng": { - "baseline": "1.5.1", + "baseline": "1.9.0", "port-version": 0 }, "nngpp": { "baseline": "1.3.0", - "port-version": 1 + "port-version": 3 }, "nnpack": { "baseline": "2021-02-21", - "port-version": 1 + "port-version": 3 + }, + "node-addon-api": { + "baseline": "7.0.0", + "port-version": 0 + }, + "node-api-headers": { + "baseline": "1.1.0", + "port-version": 0 + }, + "nodesoup": { + "baseline": "2023-06-12", + "port-version": 0 }, "nonius": { "baseline": "2019-04-20", - "port-version": 2 + "port-version": 4 }, "nowide": { - "baseline": "11.1.2", + "baseline": "11.3.0", "port-version": 0 }, "nrf-ble-driver": { - "baseline": "4.1.2", + "baseline": "4.1.4", + "port-version": 1 + }, + "nspr": { + "baseline": "4.35", + "port-version": 4 + }, + "nss": { + "baseline": "3.99", "port-version": 1 }, "nsync": { - "baseline": "1.24.0", + "baseline": "1.29.2", "port-version": 0 }, "nt-wrapper": { "baseline": "2019-08-10", + "port-version": 3 + }, + "ntf-core": { + "baseline": "2.1.0", "port-version": 1 }, + "nu-book-zxing-cpp": { + "baseline": "2.2.1", + "port-version": 0 + }, "nuklear": { - "baseline": "2021-03-18", - "port-version": 1 + "baseline": "2022-05-12", + "port-version": 0 }, "numactl": { - "baseline": "2.0.14", + "baseline": "2.0.18", "port-version": 0 }, "numcpp": { - "baseline": "2.6.0", - "port-version": 0 + "baseline": "2.12.1", + "port-version": 2 }, "nuspell": { - "baseline": "5.0.0", + "baseline": "5.1.6", + "port-version": 0 + }, + "nvidia-cutlass": { + "baseline": "3.3.0", "port-version": 0 }, "nvtt": { "baseline": "2.1.2", - "port-version": 2 + "port-version": 8 }, - "oatpp": { - "baseline": "1.2.5", + "nyan-lang": { + "baseline": "0.3", "port-version": 0 }, + "oatpp": { + "baseline": "1.3.0", + "port-version": 2 + }, "oatpp-consul": { - "baseline": "1.2.5", - "port-version": 0 + "baseline": "1.3.0", + "port-version": 1 }, "oatpp-curl": { - "baseline": "1.2.5", - "port-version": 0 + "baseline": "1.3.0", + "port-version": 1 }, "oatpp-libressl": { - "baseline": "1.2.5", - "port-version": 0 + "baseline": "1.3.0", + "port-version": 1 }, "oatpp-mbedtls": { - "baseline": "1.2.5", - "port-version": 0 + "baseline": "1.3.0", + "port-version": 1 }, "oatpp-mongo": { - "baseline": "1.2.5", - "port-version": 0 + "baseline": "1.3.0", + "port-version": 1 }, "oatpp-openssl": { - "baseline": "1.2.5", + "baseline": "1.3.0", "port-version": 0 }, "oatpp-postgresql": { - "baseline": "1.2.5", - "port-version": 0 + "baseline": "1.3.0", + "port-version": 1 }, "oatpp-sqlite": { - "baseline": "1.2.5", - "port-version": 0 + "baseline": "1.3.0", + "port-version": 2 + }, + "oatpp-ssdp": { + "baseline": "1.3.0", + "port-version": 1 }, "oatpp-swagger": { - "baseline": "1.2.5", - "port-version": 0 + "baseline": "1.3.0", + "port-version": 1 }, "oatpp-websocket": { - "baseline": "1.2.5", + "baseline": "1.3.0", "port-version": 0 }, "oatpp-zlib": { - "baseline": "1.2.5", + "baseline": "1.3.0", + "port-version": 2 + }, + "oboe": { + "baseline": "1.8.0", "port-version": 0 }, "observer-ptr-lite": { "baseline": "0.4.0", - "port-version": 1 + "port-version": 3 }, "ocilib": { - "baseline": "4.7.3", + "baseline": "4.7.6", "port-version": 0 }, + "octave": { + "baseline": "9.2.0", + "port-version": 1 + }, "octomap": { - "baseline": "1.9.5", - "port-version": 2 + "baseline": "1.10.0", + "port-version": 0 }, "ode": { - "baseline": "0.16.1", - "port-version": 2 + "baseline": "0.16.5", + "port-version": 0 }, "offscale-libetcd-cpp": { "baseline": "2019-07-10", "port-version": 3 }, "ogdf": { - "baseline": "2019-08-23", - "port-version": 2 + "baseline": "2022-06-30", + "port-version": 0 }, "ogre": { - "baseline": "1.12.9", - "port-version": 5 + "baseline": "14.3.1", + "port-version": 0 }, "ogre-next": { - "baseline": "2019-10-20", - "port-version": 2 + "baseline": "2.3.3", + "port-version": 3 }, "ois": { "baseline": "1.5.1", - "port-version": 0 + "port-version": 1 }, - "ompl": { - "baseline": "1.5.1", + "omniorb": { + "baseline": "4.3.0", "port-version": 3 }, + "ompl": { + "baseline": "1.6.0", + "port-version": 2 + }, "omplapp": { "baseline": "1.5.1", - "port-version": 0 + "port-version": 5 }, - "onednn": { - "baseline": "2.4.3", - "port-version": 0 + "onednn": { + "baseline": "3.5.3", + "port-version": 1 }, "oniguruma": { - "baseline": "6.9.7.1", - "port-version": 1 + "baseline": "6.9.9", + "port-version": 0 }, "onnx": { - "baseline": "1.10.2", + "baseline": "1.16.2", "port-version": 0 }, "onnx-optimizer": { - "baseline": "0.2.6", + "baseline": "0.3.19", "port-version": 0 }, "onnxruntime-gpu": { - "baseline": "1.5.1", + "baseline": "1.19.2", + "port-version": 0 + }, + "oof": { + "baseline": "2021-11-23", + "port-version": 0 + }, + "open-dis-cpp": { + "baseline": "1.0.1", "port-version": 0 }, "open62541": { - "baseline": "1.2.2", + "baseline": "1.3.14", + "port-version": 1 + }, + "open62541pp": { + "baseline": "0.15.0", "port-version": 0 }, "openal-soft": { - "baseline": "1.21.1", - "port-version": 3 + "baseline": "1.23.1", + "port-version": 2 }, "openblas": { - "baseline": "0.3.15", + "baseline": "0.3.28", "port-version": 0 }, "opencascade": { - "baseline": "7.6.0", - "port-version": 0 + "baseline": "7.8.1", + "port-version": 1 }, "opencc": { - "baseline": "2020-04-26", - "port-version": 9 + "baseline": "1.1.9", + "port-version": 0 }, "opencensus-cpp": { - "baseline": "0.4.0", + "baseline": "2021-08-26", "port-version": 2 }, "opencl": { - "baseline": "2.2", - "port-version": 8 + "baseline": "v2024.05.08", + "port-version": 0 }, "opencolorio": { - "baseline": "2.1.0", - "port-version": 0 + "baseline": "2.2.1", + "port-version": 3 }, - "opencolorio-tools": { - "baseline": "1.1.1", + "opencsg": { + "baseline": "1.6.0", "port-version": 0 }, - "opencsg": { - "baseline": "1.4.2", - "port-version": 2 + "openctm": { + "baseline": "1.0.3", + "port-version": 0 }, "opencv": { - "baseline": "4.5.3", + "baseline": "4.10.0", "port-version": 0 }, "opencv2": { "baseline": "2.4.13.7", - "port-version": 7 + "port-version": 22 }, "opencv3": { - "baseline": "3.4.15", - "port-version": 3 + "baseline": "3.4.18", + "port-version": 17 }, "opencv4": { - "baseline": "4.5.3", - "port-version": 3 + "baseline": "4.10.0", + "port-version": 0 }, "opendnp3": { - "baseline": "3.1.0", - "port-version": 0 + "baseline": "3.1.1", + "port-version": 1 }, "openexr": { - "baseline": "2.5.0", - "port-version": 3 + "baseline": "3.3.1", + "port-version": 0 + }, + "openfbx": { + "baseline": "2022-07-18", + "port-version": 0 + }, + "openfx": { + "baseline": "1.4", + "port-version": 0 }, "opengl": { - "baseline": "0.0", - "port-version": 9 + "baseline": "2022-12-04", + "port-version": 3 }, "opengl-registry": { - "baseline": "2020-03-25", + "baseline": "2024-02-10", "port-version": 1 }, "openh264": { "baseline": "2021-03-16", - "port-version": 2 + "port-version": 4 }, "openigtlink": { "baseline": "3.0", - "port-version": 2 + "port-version": 4 }, "openimageio": { - "baseline": "2.3.7.2", - "port-version": 4 + "baseline": "2.5.16.0", + "port-version": 1 }, "openjpeg": { - "baseline": "2.4.0", + "baseline": "2.5.2", + "port-version": 1 + }, + "openldap": { + "baseline": "2.5.18", "port-version": 0 }, "openmama": { - "baseline": "6.3.1", - "port-version": 1 + "baseline": "6.3.2", + "port-version": 3 }, "openmesh": { - "baseline": "8.1", - "port-version": 3 + "baseline": "10.0", + "port-version": 0 }, "openmpi": { - "baseline": "4.1.0", - "port-version": 3 + "baseline": "4.1.6", + "port-version": 1 }, "openmvg": { - "baseline": "1.6", - "port-version": 3 + "baseline": "2.0", + "port-version": 11 }, "openmvs": { - "baseline": "1.1.1", - "port-version": 2 + "baseline": "2.1.0", + "port-version": 6 }, "openni2": { "baseline": "2.2.0.33", - "port-version": 13 + "port-version": 15 }, "openscap": { - "baseline": "1.3.1", + "baseline": "1.4.0", "port-version": 1 }, - "openssl": { - "baseline": "1.1.1l", - "port-version": 3 - }, - "openssl-unix": { - "baseline": "1.1.1h", - "port-version": 2 - }, - "openssl-uwp": { - "baseline": "1.1.1h", - "port-version": 2 + "openslide": { + "baseline": "3.4.1", + "port-version": 4 }, - "openssl-windows": { - "baseline": "1.1.1h", - "port-version": 2 + "openssl": { + "baseline": "3.4.0", + "port-version": 0 }, "opensubdiv": { - "baseline": "3.4.3", - "port-version": 3 + "baseline": "3.5.0", + "port-version": 2 }, "opentelemetry-cpp": { - "baseline": "1.0.1", + "baseline": "1.17.0", "port-version": 1 }, + "opentelemetry-cpp-contrib-version": { + "baseline": "2024-06-17", + "port-version": 0 + }, "opentracing": { "baseline": "1.6.0", - "port-version": 1 + "port-version": 4 + }, + "openturns": { + "baseline": "1.20", + "port-version": 2 }, "openvdb": { - "baseline": "8.1.0", + "baseline": "12.0.0", "port-version": 0 }, + "openvino": { + "baseline": "2024.4.0", + "port-version": 3 + }, "openvpn3": { - "baseline": "3.4.1", - "port-version": 2 + "baseline": "3.10", + "port-version": 1 }, "openvr": { - "baseline": "1.16.8", - "port-version": 1 + "baseline": "2.5.1", + "port-version": 0 }, "openxr-loader": { - "baseline": "1.0.18", - "port-version": 2 + "baseline": "1.0.31", + "port-version": 0 + }, + "optimus-cpp": { + "baseline": "0.3.0", + "port-version": 0 }, "optional-bare": { "baseline": "1.1.0", - "port-version": 1 + "port-version": 3 }, "optional-lite": { - "baseline": "3.5.0", - "port-version": 1 + "baseline": "3.6.0", + "port-version": 0 }, "opus": { - "baseline": "1.3.1", - "port-version": 6 + "baseline": "1.5.2", + "port-version": 0 }, "opusfile": { - "baseline": "0.12", + "baseline": "0.12+20221121", "port-version": 1 }, "orc": { - "baseline": "1.6.4", - "port-version": 2 + "baseline": "2.0.0", + "port-version": 0 }, "orocos-kdl": { - "baseline": "1.4", - "port-version": 5 + "baseline": "1.5.1", + "port-version": 0 }, "osg": { "baseline": "3.6.5", - "port-version": 10 + "port-version": 25 }, "osg-qt": { "baseline": "Qt5", "port-version": 3 }, "osgearth": { - "baseline": "3.2", - "port-version": 1 + "baseline": "3.7", + "port-version": 0 }, - "osi": { - "baseline": "0.108.6", - "port-version": 1 + "osmanip": { + "baseline": "4.6.1", + "port-version": 0 }, "otl": { - "baseline": "4.0.463", + "baseline": "4.0.478", "port-version": 0 }, "outcome": { - "baseline": "2.2.2-20210922", + "baseline": "2.2.9", "port-version": 0 }, "p-ranav-csv": { "baseline": "2019-07-11", - "port-version": 1 + "port-version": 3 }, "p-ranav-csv2": { "baseline": "2020-12-14", - "port-version": 2 + "port-version": 4 }, "pagmo2": { - "baseline": "2.16.1", + "baseline": "2.19.1", "port-version": 0 }, "paho-mqtt": { - "baseline": "1.3.9", - "port-version": 0 + "baseline": "1.3.13", + "port-version": 1 }, "paho-mqttpp3": { - "baseline": "1.2.0", - "port-version": 0 + "baseline": "1.4.1", + "port-version": 1 }, "palsigslot": { - "baseline": "1.2.1", + "baseline": "1.2.2", "port-version": 0 }, "pango": { - "baseline": "1.48.4", - "port-version": 1 + "baseline": "1.54.0", + "port-version": 0 }, "pangolin": { - "baseline": "0.6", - "port-version": 1 + "baseline": "0.9.2", + "port-version": 0 }, "pangomm": { - "baseline": "2.48.1", - "port-version": 0 + "baseline": "2.50.1", + "port-version": 3 }, "parallel-hashmap": { - "baseline": "1.33", - "port-version": 1 + "baseline": "1.4.0", + "port-version": 0 }, "parallelstl": { "baseline": "20200330", - "port-version": 1 + "port-version": 3 }, "paraview": { - "baseline": "5.9.1", - "port-version": 0 + "baseline": "5.12.1", + "port-version": 2 }, "parmetis": { - "baseline": "4.0.3", - "port-version": 5 + "baseline": "2022-07-27", + "port-version": 0 }, "parquet": { "baseline": "0", - "port-version": 1 + "port-version": 2 + }, + "parsi": { + "baseline": "0.1.0", + "port-version": 0 }, "parson": { - "baseline": "2020-09-14", - "port-version": 1 + "baseline": "2023-10-31", + "port-version": 0 }, "pbc": { "baseline": "0.5.14", - "port-version": 5 + "port-version": 9 }, "pcapplusplus": { - "baseline": "21.11", + "baseline": "24.9", "port-version": 0 }, "pcg": { "baseline": "2021-04-06", - "port-version": 1 + "port-version": 2 }, - "pcl": { - "baseline": "1.12.0", + "pciids": { + "baseline": "2023-04-11", "port-version": 0 }, + "pcl": { + "baseline": "1.14.1", + "port-version": 3 + }, "pcre": { "baseline": "8.45", - "port-version": 1 + "port-version": 6 }, "pcre2": { - "baseline": "10.39", + "baseline": "10.43", "port-version": 0 }, "pdal": { - "baseline": "1.7.1", - "port-version": 13 + "baseline": "2.8.1", + "port-version": 0 }, "pdal-c": { - "baseline": "1.8", - "port-version": 3 + "baseline": "2.2.0", + "port-version": 0 + }, + "pdal-dimbuilder": { + "baseline": "2.8.1", + "port-version": 0 }, "pdcurses": { "baseline": "3.9", - "port-version": 2 + "port-version": 6 }, "pdqsort": { "baseline": "2019-07-30", - "port-version": 1 + "port-version": 2 }, "pe-parse": { - "baseline": "1.3.0", + "baseline": "2.1.1", "port-version": 0 }, "pegtl": { - "baseline": "3.2.2", + "baseline": "3.2.8", "port-version": 0 }, "pegtl-2": { "baseline": "2.8.3", - "port-version": 1 + "port-version": 3 + }, + "perfetto": { + "baseline": "48.1", + "port-version": 0 }, "pffft": { "baseline": "2021-10-09", - "port-version": 0 + "port-version": 1 }, "pfring": { - "baseline": "2019-10-17", - "port-version": 3 + "baseline": "8.4.0", + "port-version": 0 }, "pfultz2-linq": { "baseline": "2019-05-14", - "port-version": 1 + "port-version": 3 }, "phnt": { - "baseline": "2020-12-21", + "baseline": "2024-05-22", + "port-version": 0 + }, + "physac": { + "baseline": "1.1", "port-version": 0 }, "physfs": { - "baseline": "3.0.2", - "port-version": 6 + "baseline": "3.2.0", + "port-version": 1 }, "physx": { - "baseline": "4.1.2", + "baseline": "5.3.0", "port-version": 0 }, "picojson": { "baseline": "1.3.0", - "port-version": 2 + "port-version": 3 }, "picosha2": { "baseline": "2018-07-30", - "port-version": 1 + "port-version": 2 }, "piex": { "baseline": "2019-07-11", - "port-version": 1 + "port-version": 2 + }, + "pipewire": { + "baseline": "1.2.6", + "port-version": 0 }, "pistache": { "baseline": "2021-03-31", - "port-version": 2 + "port-version": 3 }, "pixel": { - "baseline": "0.3", - "port-version": 3 + "baseline": "2022-03-15", + "port-version": 1 }, "pixman": { - "baseline": "0.40.0", - "port-version": 0 + "baseline": "0.43.4", + "port-version": 1 }, "pkgconf": { - "baseline": "1.8.0", + "baseline": "2.3.0", "port-version": 0 }, - "platform-folders": { - "baseline": "4.1.0", + "plasma-wayland-protocols": { + "baseline": "1.14.0", "port-version": 0 }, + "platform-folders": { + "baseline": "4.2.0", + "port-version": 1 + }, "plf-colony": { - "baseline": "6.28", + "baseline": "7.41", + "port-version": 0 + }, + "plf-hive": { + "baseline": "2021-12-11", "port-version": 0 }, "plf-list": { "baseline": "2019-08-10", - "port-version": 1 + "port-version": 2 }, "plf-nanotimer": { "baseline": "2019-08-10", - "port-version": 1 + "port-version": 2 + }, + "plf-queue": { + "baseline": "2.2", + "port-version": 0 }, "plf-stack": { "baseline": "2019-08-10", - "port-version": 1 + "port-version": 2 }, "plib": { "baseline": "1.8.5", - "port-version": 5 + "port-version": 8 }, "plibsys": { "baseline": "0.0.4", - "port-version": 5 + "port-version": 7 }, "plog": { - "baseline": "1.1.5", - "port-version": 1 + "baseline": "1.1.10", + "port-version": 0 }, "plplot": { - "baseline": "5.13.0", - "port-version": 12 + "baseline": "5.15.0", + "port-version": 2 }, "plustache": { "baseline": "0.4.0", - "port-version": 2 + "port-version": 4 }, "pmdk": { - "baseline": "1.11.0", + "baseline": "1.12.0", + "port-version": 2 + }, + "pmp-library": { + "baseline": "3.0.0", "port-version": 0 }, "pngpp": { "baseline": "0.2.10", - "port-version": 0 + "port-version": 2 }, "pngwriter": { "baseline": "0.7.0", - "port-version": 3 + "port-version": 5 }, - "poco": { - "baseline": "1.11.0", + "pocketfft": { + "baseline": "2023-09-25", + "port-version": 0 + }, + "pocketpy": { + "baseline": "1.4.6", "port-version": 1 }, + "poco": { + "baseline": "1.13.3", + "port-version": 0 + }, "podofo": { - "baseline": "0.9.7", + "baseline": "0.10.4", "port-version": 0 }, "poissonrecon": { "baseline": "2021-09-26", "port-version": 0 }, - "poly2tri": { - "baseline": "2020-07-21", - "port-version": 1 - }, "polyclipping": { "baseline": "6.4.2", - "port-version": 10 + "port-version": 12 }, "polyhook2": { - "baseline": "2021-05-09", - "port-version": 1 + "baseline": "2024-06-03", + "port-version": 0 }, "polymorphic-value": { "baseline": "1.3.0", - "port-version": 2 + "port-version": 3 }, "ponder": { "baseline": "3.0.0", - "port-version": 4 + "port-version": 5 + }, + "poolstl": { + "baseline": "0.3.5", + "port-version": 0 }, "poppler": { - "baseline": "20.12.1", - "port-version": 6 + "baseline": "24.3.0", + "port-version": 1 }, "popsift": { "baseline": "0.9", - "port-version": 2 + "port-version": 5 + }, + "portable-file-dialogs": { + "baseline": "0.1.0", + "port-version": 0 }, "portable-snippets": { "baseline": "2019-09-20", - "port-version": 1 + "port-version": 4 }, "portaudio": { "baseline": "19.7", - "port-version": 2 + "port-version": 5 }, "portmidi": { - "baseline": "0.234", + "baseline": "2.0.4", "port-version": 3 }, "portsmf": { - "baseline": "0.238", + "baseline": "239", + "port-version": 0 + }, + "poselib": { + "baseline": "2.0.4", "port-version": 0 }, "ppconsul": { "baseline": "0.5", - "port-version": 3 + "port-version": 5 }, "ppmagic": { "baseline": "2020-07-03", - "port-version": 1 + "port-version": 2 }, "pprint": { "baseline": "2019-07-19", - "port-version": 1 + "port-version": 3 }, "pqp": { "baseline": "1.3", - "port-version": 5 + "port-version": 8 + }, + "pravila00-enum-string": { + "baseline": "2023-10-16", + "port-version": 0 + }, + "pravila00-enumflag": { + "baseline": "2024-04-12", + "port-version": 0 + }, + "pravila00-make-vector": { + "baseline": "2023-04-10", + "port-version": 0 }, "presentmon": { - "baseline": "1.7.0", + "baseline": "2.1.1", "port-version": 0 }, "proj": { - "baseline": "0", - "port-version": 1 + "baseline": "9.5.0", + "port-version": 0 }, - "proj4": { - "baseline": "7.2.1", - "port-version": 7 + "projectm-eval": { + "baseline": "1.0.0", + "port-version": 1 }, "prometheus-cpp": { - "baseline": "0.13.0", + "baseline": "1.2.4", "port-version": 0 }, "promise-cpp": { @@ -5377,579 +7209,723 @@ "port-version": 0 }, "protobuf": { - "baseline": "3.18.0", + "baseline": "5.26.1", "port-version": 0 }, "protobuf-c": { - "baseline": "1.4.0", + "baseline": "1.5.0", "port-version": 0 }, "protopuf": { - "baseline": "2.1.0", - "port-version": 1 + "baseline": "2.2.1", + "port-version": 0 }, "protozero": { - "baseline": "1.7.0", + "baseline": "1.7.1", + "port-version": 0 + }, + "proxsuite": { + "baseline": "0.6.4", + "port-version": 0 + }, + "proxy": { + "baseline": "3.0.0", "port-version": 0 }, "proxygen": { - "baseline": "2021.06.14.00", + "baseline": "2024.11.04.00", "port-version": 0 }, "psimd": { "baseline": "2021-02-21", - "port-version": 0 + "port-version": 2 + }, + "ptc-print": { + "baseline": "1.4.1", + "port-version": 1 }, "ptex": { - "baseline": "2.3.2", - "port-version": 3 + "baseline": "2.4.3", + "port-version": 0 }, "pthread": { "baseline": "3.0.0", + "port-version": 2 + }, + "pthread-stubs": { + "baseline": "0.4", "port-version": 1 }, "pthreadpool": { "baseline": "2020-04-10", - "port-version": 1 + "port-version": 3 }, "pthreads": { "baseline": "3.0.0", - "port-version": 10 + "port-version": 14 + }, + "ptyqt": { + "baseline": "0.6.5", + "port-version": 0 }, "pugixml": { - "baseline": "1.11.4", + "baseline": "1.14", + "port-version": 0 + }, + "pulsar-client-cpp": { + "baseline": "3.5.1", "port-version": 1 }, + "pulseaudio": { + "baseline": "17.0", + "port-version": 2 + }, + "pulzed-mini": { + "baseline": "0.9.14", + "port-version": 0 + }, "pybind11": { - "baseline": "2.8.1", + "baseline": "2.13.6", "port-version": 0 }, "pystring": { - "baseline": "1.1.3", - "port-version": 4 + "baseline": "1.1.4", + "port-version": 0 }, "python2": { "baseline": "2.7.18", - "port-version": 1 + "port-version": 7 }, "python3": { - "baseline": "3.10.0", - "port-version": 2 + "baseline": "3.11.10", + "port-version": 0 }, "qca": { - "baseline": "2.3.1", - "port-version": 5 + "baseline": "2.3.7", + "port-version": 2 + }, + "qcoro": { + "baseline": "0.11.0", + "port-version": 0 }, "qcustomplot": { - "baseline": "2.0.1", - "port-version": 5 + "baseline": "2.1.1", + "port-version": 1 + }, + "qhttpengine": { + "baseline": "1.0.2", + "port-version": 1 }, "qhull": { "baseline": "8.0.2", - "port-version": 2 + "port-version": 5 + }, + "qmex": { + "baseline": "2024-10-31", + "port-version": 0 }, "qnnpack": { "baseline": "2021-02-26", + "port-version": 3 + }, + "qoi": { + "baseline": "2023-08-10", + "port-version": 0 + }, + "qoixx": { + "baseline": "2022-12-07", "port-version": 0 }, "qpid-proton": { - "baseline": "0.32.0", + "baseline": "0.38.0", "port-version": 2 }, "qscintilla": { - "baseline": "2.12.0", + "baseline": "2.14.1", "port-version": 1 }, "qt": { - "baseline": "6.2.1", + "baseline": "6.7.3", "port-version": 0 }, "qt-advanced-docking-system": { - "baseline": "3.6.3", - "port-version": 2 + "baseline": "4.3.1", + "port-version": 0 + }, + "qt3d": { + "baseline": "6.7.3", + "port-version": 0 }, "qt5": { - "baseline": "5.15.2", - "port-version": 1 + "baseline": "5.15.15", + "port-version": 0 }, "qt5-3d": { - "baseline": "5.15.2", - "port-version": 2 + "baseline": "5.15.15", + "port-version": 0 }, "qt5-activeqt": { - "baseline": "5.15.2", - "port-version": 1 + "baseline": "5.15.15", + "port-version": 0 }, "qt5-androidextras": { - "baseline": "5.15.2", - "port-version": 1 + "baseline": "5.15.15", + "port-version": 0 }, "qt5-base": { - "baseline": "5.15.2", - "port-version": 14 + "baseline": "5.15.15", + "port-version": 1 }, "qt5-canvas3d": { "baseline": "0", - "port-version": 1 + "port-version": 3 }, "qt5-charts": { - "baseline": "5.15.2", - "port-version": 1 + "baseline": "5.15.15", + "port-version": 0 }, "qt5-connectivity": { - "baseline": "5.15.2", - "port-version": 2 + "baseline": "5.15.15", + "port-version": 0 }, "qt5-datavis3d": { - "baseline": "5.15.2", - "port-version": 1 + "baseline": "5.15.15", + "port-version": 0 }, "qt5-declarative": { - "baseline": "5.15.2", - "port-version": 2 + "baseline": "5.15.15", + "port-version": 0 }, "qt5-doc": { - "baseline": "5.15.2", - "port-version": 1 + "baseline": "5.15.15", + "port-version": 0 }, "qt5-gamepad": { - "baseline": "5.15.2", - "port-version": 1 + "baseline": "5.15.15", + "port-version": 0 }, "qt5-graphicaleffects": { - "baseline": "5.15.2", - "port-version": 1 + "baseline": "5.15.15", + "port-version": 0 }, "qt5-imageformats": { - "baseline": "5.15.2", - "port-version": 1 + "baseline": "5.15.15", + "port-version": 0 }, "qt5-location": { - "baseline": "5.15.2", - "port-version": 1 + "baseline": "5.15.15", + "port-version": 0 }, "qt5-macextras": { - "baseline": "5.15.2", - "port-version": 1 + "baseline": "5.15.15", + "port-version": 0 }, "qt5-modularscripts": { "baseline": "deprecated", "port-version": 1 }, "qt5-mqtt": { - "baseline": "5.15.2", - "port-version": 1 + "baseline": "5.15.15", + "port-version": 0 }, "qt5-multimedia": { - "baseline": "5.15.2", - "port-version": 1 + "baseline": "5.15.15", + "port-version": 0 }, "qt5-networkauth": { - "baseline": "5.15.2", - "port-version": 1 + "baseline": "5.15.15", + "port-version": 0 }, "qt5-purchasing": { - "baseline": "5.15.2", - "port-version": 1 + "baseline": "5.15.15", + "port-version": 0 }, "qt5-quickcontrols": { - "baseline": "5.15.2", - "port-version": 1 + "baseline": "5.15.15", + "port-version": 0 }, "qt5-quickcontrols2": { - "baseline": "5.15.2", - "port-version": 1 + "baseline": "5.15.15", + "port-version": 0 }, "qt5-remoteobjects": { - "baseline": "5.15.2", - "port-version": 1 + "baseline": "5.15.15", + "port-version": 0 }, "qt5-script": { - "baseline": "5.15.2", - "port-version": 1 + "baseline": "5.15.15", + "port-version": 0 }, "qt5-scxml": { - "baseline": "5.15.2", - "port-version": 1 + "baseline": "5.15.15", + "port-version": 0 }, "qt5-sensors": { - "baseline": "5.15.2", - "port-version": 1 + "baseline": "5.15.15", + "port-version": 0 }, "qt5-serialbus": { - "baseline": "5.15.2", - "port-version": 1 + "baseline": "5.15.15", + "port-version": 0 }, "qt5-serialport": { - "baseline": "5.15.2", - "port-version": 1 + "baseline": "5.15.15", + "port-version": 0 }, "qt5-speech": { - "baseline": "5.15.2", - "port-version": 1 + "baseline": "5.15.15", + "port-version": 0 }, "qt5-svg": { - "baseline": "5.15.2", - "port-version": 2 + "baseline": "5.15.15", + "port-version": 0 }, "qt5-tools": { - "baseline": "5.15.2", - "port-version": 1 + "baseline": "5.15.15", + "port-version": 0 }, "qt5-translations": { - "baseline": "5.15.2", - "port-version": 1 + "baseline": "5.15.15", + "port-version": 0 }, "qt5-virtualkeyboard": { - "baseline": "5.15.2", - "port-version": 1 + "baseline": "5.15.15", + "port-version": 0 }, "qt5-wayland": { - "baseline": "5.15.2", - "port-version": 2 + "baseline": "5.15.15", + "port-version": 0 }, "qt5-webchannel": { - "baseline": "5.15.2", - "port-version": 1 + "baseline": "5.15.15", + "port-version": 0 }, "qt5-webengine": { - "baseline": "5.15.2", - "port-version": 3 + "baseline": "5.15.15", + "port-version": 0 }, "qt5-webglplugin": { - "baseline": "5.15.2", - "port-version": 1 + "baseline": "5.15.15", + "port-version": 0 }, "qt5-websockets": { - "baseline": "5.15.2", - "port-version": 1 + "baseline": "5.15.15", + "port-version": 0 }, "qt5-webview": { - "baseline": "5.15.2", - "port-version": 1 + "baseline": "5.15.15", + "port-version": 0 }, "qt5-winextras": { - "baseline": "5.15.2", - "port-version": 1 + "baseline": "5.15.15", + "port-version": 0 }, "qt5-x11extras": { - "baseline": "5.15.2", - "port-version": 1 + "baseline": "5.15.15", + "port-version": 0 }, "qt5-xmlpatterns": { - "baseline": "5.15.2", - "port-version": 1 + "baseline": "5.15.15", + "port-version": 0 }, "qt5compat": { - "baseline": "6.2.1", + "baseline": "6.7.3", "port-version": 0 }, - "qt6betablock": { - "baseline": "6.2.0-beta", + "qtactiveqt": { + "baseline": "6.7.3", "port-version": 0 }, - "qtactiveqt": { - "baseline": "6.2.1", + "qtapplicationmanager": { + "baseline": "6.7.3", "port-version": 0 }, "qtbase": { - "baseline": "6.2.1", + "baseline": "6.7.3", "port-version": 1 }, "qtcharts": { - "baseline": "6.2.1", + "baseline": "6.7.3", "port-version": 0 }, "qtcoap": { - "baseline": "6.2.1", + "baseline": "6.7.3", "port-version": 0 }, "qtconnectivity": { - "baseline": "6.2.1", + "baseline": "6.7.3", "port-version": 0 }, "qtdatavis3d": { - "baseline": "6.2.1", + "baseline": "6.7.3", "port-version": 0 }, "qtdeclarative": { - "baseline": "6.2.1", + "baseline": "6.7.3", + "port-version": 0 + }, + "qtdeviceutilities": { + "baseline": "6.7.3", "port-version": 0 }, "qtdoc": { - "baseline": "6.2.1", + "baseline": "6.7.3", + "port-version": 0 + }, + "qtgraphs": { + "baseline": "6.7.3", + "port-version": 0 + }, + "qtgrpc": { + "baseline": "6.7.3", + "port-version": 0 + }, + "qthttpserver": { + "baseline": "6.7.3", "port-version": 0 }, "qtimageformats": { - "baseline": "6.2.1", + "baseline": "6.7.3", + "port-version": 0 + }, + "qtinterfaceframework": { + "baseline": "6.7.3", "port-version": 0 }, "qtkeychain": { - "baseline": "0.13.1", + "baseline": "0.14.3", "port-version": 0 }, "qtkeychain-qt6": { - "baseline": "0.13.1", + "baseline": "0.14.3", + "port-version": 0 + }, + "qtlanguageserver": { + "baseline": "6.7.3", "port-version": 0 }, "qtlocation": { - "baseline": "6.2.1", + "baseline": "6.7.3", "port-version": 0 }, "qtlottie": { - "baseline": "6.2.1", + "baseline": "6.7.3", "port-version": 0 }, "qtmqtt": { - "baseline": "6.2.1", + "baseline": "6.7.3", "port-version": 0 }, "qtmultimedia": { - "baseline": "6.2.1", + "baseline": "6.7.3", "port-version": 0 }, "qtnetworkauth": { - "baseline": "6.2.1", + "baseline": "6.7.3", "port-version": 0 }, "qtopcua": { - "baseline": "6.2.1", + "baseline": "6.7.3", + "port-version": 0 + }, + "qtpositioning": { + "baseline": "6.7.3", "port-version": 0 }, "qtquick3d": { - "baseline": "6.2.1", + "baseline": "6.7.3", + "port-version": 0 + }, + "qtquick3dphysics": { + "baseline": "6.7.3", "port-version": 0 }, "qtquickcontrols2": { - "baseline": "6.2.0", + "baseline": "deprecated", + "port-version": 1 + }, + "qtquickeffectmaker": { + "baseline": "6.7.3", "port-version": 0 }, "qtquicktimeline": { - "baseline": "6.2.1", + "baseline": "6.7.3", "port-version": 0 }, "qtremoteobjects": { - "baseline": "6.2.1", + "baseline": "6.7.3", "port-version": 0 }, "qtscxml": { - "baseline": "6.2.1", + "baseline": "6.7.3", "port-version": 0 }, "qtsensors": { - "baseline": "6.2.1", + "baseline": "6.7.3", "port-version": 0 }, "qtserialbus": { - "baseline": "6.2.1", + "baseline": "6.7.3", "port-version": 0 }, "qtserialport": { - "baseline": "6.2.1", + "baseline": "6.7.3", "port-version": 0 }, "qtshadertools": { - "baseline": "6.2.1", + "baseline": "6.7.3", + "port-version": 0 + }, + "qtspeech": { + "baseline": "6.7.3", "port-version": 0 }, "qtsvg": { - "baseline": "6.2.1", + "baseline": "6.7.3", "port-version": 0 }, "qttools": { - "baseline": "6.2.1", + "baseline": "6.7.3", "port-version": 0 }, "qttranslations": { - "baseline": "6.2.1", + "baseline": "6.7.3", "port-version": 0 }, "qtvirtualkeyboard": { - "baseline": "6.2.1", + "baseline": "6.7.3", "port-version": 0 }, "qtwayland": { - "baseline": "6.2.1", + "baseline": "6.7.3", "port-version": 0 }, "qtwebchannel": { - "baseline": "6.2.1", + "baseline": "6.7.3", "port-version": 0 }, "qtwebengine": { - "baseline": "6.2.1", + "baseline": "6.7.3", "port-version": 0 }, "qtwebsockets": { - "baseline": "6.2.1", + "baseline": "6.7.3", "port-version": 0 }, "qtwebview": { - "baseline": "6.2.1", + "baseline": "6.7.3", "port-version": 0 }, "quadtree": { - "baseline": "2020-04-13", - "port-version": 1 + "baseline": "2022-04-24", + "port-version": 0 }, "quantlib": { - "baseline": "1.24", + "baseline": "1.36", "port-version": 0 }, "quaternions": { "baseline": "1.0.0", - "port-version": 1 + "port-version": 2 }, "quazip": { - "baseline": "1.1", - "port-version": 0 + "baseline": "1.4", + "port-version": 1 }, "quickfast": { "baseline": "1.5", - "port-version": 1 + "port-version": 4 }, "quickfix": { "baseline": "1.15.1", - "port-version": 5 + "port-version": 9 }, "quill": { - "baseline": "1.6.3", - "port-version": 3 + "baseline": "7.5.0", + "port-version": 0 }, "quirc": { - "baseline": "1.1", - "port-version": 2 + "baseline": "1.2", + "port-version": 0 }, "qwt": { - "baseline": "6.2.0", + "baseline": "6.3.0", "port-version": 0 }, "qwtw": { "baseline": "3.1.0", - "port-version": 1 + "port-version": 3 }, "rabit": { "baseline": "0.1", - "port-version": 3 + "port-version": 5 }, "ragel": { "baseline": "6.10", - "port-version": 4 + "port-version": 6 + }, + "random123": { + "baseline": "1.14.0", + "port-version": 0 + }, + "randomstr": { + "baseline": "2022-02-03", + "port-version": 0 }, "rang": { "baseline": "3.2", "port-version": 0 }, "range-v3": { - "baseline": "0.11.0", - "port-version": 1 + "baseline": "0.12.0", + "port-version": 4 }, "range-v3-vs2015": { "baseline": "20151130-vcpkg5", - "port-version": 1 + "port-version": 3 }, "rapidcheck": { - "baseline": "2020-08-25", - "port-version": 1 + "baseline": "2023-12-14", + "port-version": 0 }, "rapidcsv": { - "baseline": "8.53", + "baseline": "8.84", + "port-version": 0 + }, + "rapidfuzz": { + "baseline": "3.0.5", + "port-version": 0 + }, + "rapidhash": { + "baseline": "2024-06-08", "port-version": 0 }, "rapidjson": { - "baseline": "2020-09-14", + "baseline": "2023-07-17", "port-version": 1 }, "rapidxml": { "baseline": "1.13", - "port-version": 5 + "port-version": 6 }, "rapidxml-ns": { "baseline": "1.13.2", - "port-version": 1 + "port-version": 2 }, "rappture": { "baseline": "1.9", - "port-version": 1 + "port-version": 4 }, - "raylib": { - "baseline": "4.0.0", + "raygui": { + "baseline": "4.0", "port-version": 0 }, - "rbdl": { - "baseline": "2.6.0", + "raylib": { + "baseline": "5.0", "port-version": 2 }, + "rbdl": { + "baseline": "3.3.0", + "port-version": 7 + }, "rbdl-orb": { - "baseline": "3.1.2", - "port-version": 0 + "baseline": "3.2.0", + "port-version": 2 }, "re2": { - "baseline": "2021-11-01", + "baseline": "2024-07-02", + "port-version": 0 + }, + "reactiveplusplus": { + "baseline": "2.1.1", "port-version": 0 }, "readerwriterqueue": { - "baseline": "1.0.5", + "baseline": "1.0.6", "port-version": 0 }, "readline": { "baseline": "0", + "port-version": 5 + }, + "readline-osx": { + "baseline": "2020-01-04", + "port-version": 0 + }, + "readline-unix": { + "baseline": "8.2", "port-version": 1 }, "readline-win32": { "baseline": "5.0", - "port-version": 3 + "port-version": 9 }, "readosm": { "baseline": "1.1.0a", - "port-version": 1 + "port-version": 4 + }, + "realm-core": { + "baseline": "14.10.4", + "port-version": 0 }, "realsense2": { - "baseline": "2.49.0", - "port-version": 1 + "baseline": "2.54.2", + "port-version": 3 }, "recast": { - "baseline": "1.5.1", - "port-version": 4 + "baseline": "deprecated", + "port-version": 0 }, - "redis-plus-plus": { - "baseline": "1.3.1", + "recastnavigation": { + "baseline": "1.6.0", "port-version": 1 }, + "recycle": { + "baseline": "6.0.0", + "port-version": 0 + }, + "redis-plus-plus": { + "baseline": "1.3.13", + "port-version": 0 + }, "refl-cpp": { - "baseline": "0.12.1", + "baseline": "0.12.4", "port-version": 0 }, "refprop-headers": { - "baseline": "2019-04-14", - "port-version": 1 + "baseline": "2022-12-07", + "port-version": 0 + }, + "rendergraph": { + "baseline": "1.4.1", + "port-version": 0 }, "replxx": { "baseline": "0.0.4", - "port-version": 0 + "port-version": 1 }, "reproc": { - "baseline": "14.2.4", + "baseline": "14.2.5", "port-version": 0 }, "rest-rpc": { - "baseline": "0.07", - "port-version": 2 + "baseline": "0.12", + "port-version": 1 }, "restbed": { - "baseline": "4.7", - "port-version": 0 + "baseline": "4.8", + "port-version": 3 }, "restc-cpp": { "baseline": "0.10.0", - "port-version": 1 + "port-version": 4 }, "restclient-cpp": { - "baseline": "0.5.2", - "port-version": 1 + "baseline": "2022-02-09", + "port-version": 0 }, "restinio": { - "baseline": "0.6.13", + "baseline": "0.7.2", "port-version": 0 }, "rexo": { @@ -5957,156 +7933,232 @@ "port-version": 0 }, "rhash": { - "baseline": "1.4.0", - "port-version": 1 + "baseline": "1.4.5", + "port-version": 0 + }, + "rhasheq": { + "baseline": "2023-06-17", + "port-version": 0 }, "riffcpp": { "baseline": "2.2.4", - "port-version": 1 + "port-version": 3 }, "ring-span-lite": { - "baseline": "0.6.0", + "baseline": "0.7.0", "port-version": 0 }, - "rmlui": { - "baseline": "4.2", + "rioki-glow": { + "baseline": "0.2.1", "port-version": 0 }, + "rivers": { + "baseline": "2022-05-16", + "port-version": 0 + }, + "rkcommon": { + "baseline": "1.14.2", + "port-version": 0 + }, + "rlottie": { + "baseline": "2024-08-26", + "port-version": 0 + }, + "rmlui": { + "baseline": "6.0", + "port-version": 1 + }, + "rmqcpp": { + "baseline": "1.0.0", + "port-version": 1 + }, "roaring": { - "baseline": "2019-03-05", - "port-version": 3 + "baseline": "4.2.1", + "port-version": 0 }, "robin-hood-hashing": { - "baseline": "3.11.3", + "baseline": "3.11.5", "port-version": 0 }, "robin-map": { - "baseline": "0.6.3", - "port-version": 1 + "baseline": "1.3.0", + "port-version": 0 + }, + "robotraconteur": { + "baseline": "1.2.4", + "port-version": 0 + }, + "robotraconteur-companion": { + "baseline": "0.4.1", + "port-version": 0 }, "rocksdb": { - "baseline": "6.14.6", - "port-version": 1 + "baseline": "9.7.2", + "port-version": 0 }, "rpclib": { "baseline": "2.3.0", - "port-version": 1 + "port-version": 2 }, "rply": { "baseline": "1.1.4", - "port-version": 1 - }, - "rs-core-lib": { - "baseline": "2020-09-14", - "port-version": 1 + "port-version": 4 }, "rsasynccpp": { "baseline": "0.0.7", + "port-version": 3 + }, + "rsig": { + "baseline": "0.1.1", "port-version": 0 }, "rsm-binary-io": { - "baseline": "2.0.4", + "baseline": "2.0.6", "port-version": 0 }, "rsm-bsa": { - "baseline": "4.0.0", - "port-version": 0 + "baseline": "4.1.0", + "port-version": 1 }, "rsm-mmio": { - "baseline": "1.1.0", - "port-version": 1 + "baseline": "2.0.0", + "port-version": 0 }, "rsocket": { - "baseline": "2020.05.04.00", - "port-version": 2 + "baseline": "2021.08.30.00", + "port-version": 5 }, "rtabmap": { - "baseline": "0.20.13", - "port-version": 1 + "baseline": "0.21.4.1", + "port-version": 2 + }, + "rtabmap-res-tool": { + "baseline": "0.21.4.1", + "port-version": 0 }, "rtaudio": { - "baseline": "2021-08-15", + "baseline": "6.0.1", "port-version": 1 }, "rtlsdr": { "baseline": "2020-04-16", - "port-version": 2 + "port-version": 4 + }, + "rtmfp-cpp": { + "baseline": "1.5.1", + "port-version": 0 }, "rtmidi": { - "baseline": "4.0.0", - "port-version": 3 + "baseline": "6.0.0", + "port-version": 0 }, "rttr": { - "baseline": "0.9.6", - "port-version": 3 + "baseline": "0.9.6+20210811", + "port-version": 1 + }, + "rubberband": { + "baseline": "4.0.0", + "port-version": 0 + }, + "ruckig": { + "baseline": "0.14.0", + "port-version": 0 }, "rxcpp": { - "baseline": "4.1.0", - "port-version": 2 + "baseline": "4.1.1", + "port-version": 1 }, "rxqt": { - "baseline": "bb2138c", + "baseline": "d0b1535", "port-version": 1 }, "rxspencer": { "baseline": "3.9.0", - "port-version": 0 + "port-version": 2 }, "ryml": { - "baseline": "2021-07-24", + "baseline": "0.5.0", "port-version": 1 }, "ryu": { "baseline": "2.0", - "port-version": 5 + "port-version": 9 + }, + "s2geometry": { + "baseline": "0.11.1", + "port-version": 0 }, "s2n": { - "baseline": "1.1.1", + "baseline": "1.5.5", "port-version": 0 }, "safeint": { - "baseline": "3.0.26", + "baseline": "3.0.28", "port-version": 0 }, "sail": { - "baseline": "0.9.0-pre18", + "baseline": "0.9.6", "port-version": 0 }, - "sais": { - "baseline": "2.4.1", - "port-version": 3 - }, "sajson": { "baseline": "2018-09-21", + "port-version": 3 + }, + "salome-configuration": { + "baseline": "9.10.0", + "port-version": 0 + }, + "salome-med-fichier": { + "baseline": "4.1.1", "port-version": 1 }, + "salome-medcoupling": { + "baseline": "9.10.0", + "port-version": 0 + }, "sassc": { "baseline": "3.6.2", - "port-version": 0 + "port-version": 1 + }, + "saucer": { + "baseline": "2.3.0", + "port-version": 1 }, "sbp": { "baseline": "3.4.10", - "port-version": 0 + "port-version": 1 + }, + "scenepic": { + "baseline": "1.1.0", + "port-version": 1 }, "scintilla": { - "baseline": "4.4.6", + "baseline": "5.5.1", "port-version": 0 }, "sciplot": { - "baseline": "0.2.2", - "port-version": 0 + "baseline": "0.3.1", + "port-version": 1 }, "sciter": { - "baseline": "deprecated", - "port-version": 0 + "baseline": "0", + "port-version": 1 }, "sciter-js": { - "baseline": "4.4.8.16", + "baseline": "5.0.3.14", "port-version": 0 }, "scnlib": { - "baseline": "0.4", - "port-version": 1 + "baseline": "4.0.1", + "port-version": 0 + }, + "scope-guard": { + "baseline": "1.1.0", + "port-version": 0 + }, + "scotch": { + "baseline": "7.0.5", + "port-version": 0 }, "scottt-debugbreak": { "baseline": "1.0", @@ -6114,274 +8166,378 @@ }, "scylla-wrapper": { "baseline": "2018-08-26-16e6f435", - "port-version": 1 + "port-version": 3 + }, + "sdbus-cpp": { + "baseline": "2.0.0", + "port-version": 0 }, "sdformat10": { "baseline": "10.0.0", - "port-version": 1 + "port-version": 5 + }, + "sdformat13": { + "baseline": "13.6.0", + "port-version": 0 }, "sdformat6": { "baseline": "6.2.0", - "port-version": 4 + "port-version": 8 }, "sdformat9": { - "baseline": "9.4.0", - "port-version": 1 + "baseline": "9.8.0", + "port-version": 3 }, "sdl1": { "baseline": "1.2.15", - "port-version": 14 + "port-version": 20 + }, + "sdl1-mixer": { + "baseline": "2023-03-25", + "port-version": 2 }, "sdl1-net": { "baseline": "1.2.8", - "port-version": 4 + "port-version": 6 }, "sdl2": { - "baseline": "2.0.16", - "port-version": 2 + "baseline": "2.30.9", + "port-version": 0 }, "sdl2-gfx": { "baseline": "1.0.4", - "port-version": 8 + "port-version": 11 }, "sdl2-image": { - "baseline": "2.0.5", + "baseline": "2.8.2", "port-version": 2 }, "sdl2-mixer": { - "baseline": "2.0.4", - "port-version": 13 + "baseline": "2.8.0", + "port-version": 3 + }, + "sdl2-mixer-ext": { + "baseline": "2.6.0", + "port-version": 1 }, "sdl2-net": { - "baseline": "2.0.1", - "port-version": 9 + "baseline": "2.2.0", + "port-version": 3 }, "sdl2-ttf": { - "baseline": "2.0.15", - "port-version": 4 + "baseline": "2.22.0", + "port-version": 1 }, "sdl2pp": { "baseline": "0.16.1", + "port-version": 11 + }, + "sdl3": { + "baseline": "3.1.6-preview", "port-version": 1 }, + "seacas": { + "baseline": "2022-11-22", + "port-version": 7 + }, "seal": { - "baseline": "3.7.2", + "baseline": "4.1.2", + "port-version": 0 + }, + "seasocks": { + "baseline": "1.4.6", "port-version": 0 }, "secp256k1": { - "baseline": "2017-19-10", - "port-version": 4 + "baseline": "2022-07-11", + "port-version": 1 }, "selene": { "baseline": "0.3.1", - "port-version": 5 + "port-version": 7 }, "sentencepiece": { - "baseline": "0.1.96", + "baseline": "0.2.0", "port-version": 0 }, "sentry-native": { - "baseline": "0.4.12", - "port-version": 2 + "baseline": "0.7.12", + "port-version": 0 + }, + "septag-dmon": { + "baseline": "2022-02-08", + "port-version": 0 }, "septag-sx": { "baseline": "2019-05-07", - "port-version": 3 + "port-version": 5 }, "seqan": { "baseline": "2.4.0", - "port-version": 2 + "port-version": 3 }, "serd": { "baseline": "0.30.4", + "port-version": 2 + }, + "serdepp": { + "baseline": "0.1.4.1", + "port-version": 0 + }, + "serf": { + "baseline": "1.3.10", "port-version": 0 }, + "sese": { + "baseline": "2.3.0", + "port-version": 2 + }, "sf2cute": { "baseline": "0.2.0", - "port-version": 2 + "port-version": 4 }, "sfgui": { "baseline": "0.4.0", - "port-version": 4 + "port-version": 6 }, "sfml": { - "baseline": "2.5.1", - "port-version": 10 + "baseline": "2.6.2", + "port-version": 0 }, "sfsexp": { - "baseline": "1.3.1", + "baseline": "1.4.1", + "port-version": 0 + }, + "shader-slang": { + "baseline": "2024.14.3", "port-version": 0 }, "shaderc": { - "baseline": "2021.1", - "port-version": 1 + "baseline": "2023.8", + "port-version": 0 }, "shaderwriter": { - "baseline": "1.1.0", + "baseline": "2.7.0", "port-version": 0 }, "shapelib": { - "baseline": "1.5.0", - "port-version": 2 + "baseline": "1.6.1", + "port-version": 0 }, - "shiva": { - "baseline": "1.0", - "port-version": 4 + "shiftmedia-libgcrypt": { + "baseline": "1.10.3-1", + "port-version": 1 + }, + "shiftmedia-libgnutls": { + "baseline": "3.8.7", + "port-version": 1 }, - "shiva-sfml": { + "shiftmedia-libgpg-error": { + "baseline": "1.45", + "port-version": 1 + }, + "shiva": { "baseline": "1.0", - "port-version": 2 + "port-version": 7 }, "shogun": { - "baseline": "6.1.4", - "port-version": 5 + "baseline": "2023-12-19", + "port-version": 1 + }, + "si": { + "baseline": "2.5.1", + "port-version": 0 + }, + "sigmatch": { + "baseline": "0.2.0", + "port-version": 0 }, "signalrclient": { "baseline": "1.0.0-beta1-9", - "port-version": 2 + "port-version": 6 }, "sigslot": { "baseline": "1.0.0", - "port-version": 4 + "port-version": 5 }, "simage": { - "baseline": "1.8.1", - "port-version": 3 + "baseline": "1.8.3", + "port-version": 0 + }, + "simbody": { + "baseline": "2023-01-10", + "port-version": 1 + }, + "simd": { + "baseline": "6.1.142", + "port-version": 0 }, "simde": { - "baseline": "0.7.2", + "baseline": "0.8.2", "port-version": 0 }, "simdjson": { - "baseline": "1.0.1", + "baseline": "3.10.1", "port-version": 0 }, "simdutf": { - "baseline": "1.0.0", - "port-version": 1 + "baseline": "5.6.0", + "port-version": 0 + }, + "simonbrunel-qtpromise": { + "baseline": "0.7.0", + "port-version": 0 }, "simple-fft": { "baseline": "2020-06-14", - "port-version": 1 + "port-version": 2 + }, + "simpleble": { + "baseline": "2023-07-29", + "port-version": 0 }, "simpleini": { - "baseline": "2018-08-31", - "port-version": 5 + "baseline": "4.22", + "port-version": 0 + }, + "simsimd": { + "baseline": "5.7.3", + "port-version": 0 }, "sjpeg": { "baseline": "2021-10-31", "port-version": 0 }, + "skcrypter": { + "baseline": "2021-12-03", + "port-version": 0 + }, "skia": { - "baseline": "2020-05-18", - "port-version": 5 + "baseline": "129", + "port-version": 2 }, "skyr-url": { "baseline": "1.13.0", - "port-version": 1 + "port-version": 2 }, "sleef": { "baseline": "3.5.1", - "port-version": 0 + "port-version": 4 }, "sleepy-discord": { - "baseline": "2021-07-07", - "port-version": 1 + "baseline": "2022-02-05", + "port-version": 2 }, "slikenet": { "baseline": "2021-06-07", - "port-version": 0 + "port-version": 3 }, "sltbench": { "baseline": "2.4.0", + "port-version": 3 + }, + "small-gicp": { + "baseline": "1.0.0", + "port-version": 0 + }, + "smf": { + "baseline": "0.1.1", "port-version": 0 }, "smpeg2": { "baseline": "2.0.0", - "port-version": 7 + "port-version": 11 + }, + "snap7": { + "baseline": "1.4.2", + "port-version": 2 }, "snappy": { - "baseline": "1.1.9", - "port-version": 1 + "baseline": "1.2.1", + "port-version": 0 }, - "sndfile": { - "baseline": "0", - "port-version": 1 + "snitch": { + "baseline": "1.2.5", + "port-version": 0 }, "snowhouse": { "baseline": "5.0.0", - "port-version": 1 + "port-version": 2 }, "so5extra": { - "baseline": "1.4.1.1", + "baseline": "1.6.2", + "port-version": 0 + }, + "soapysdr": { + "baseline": "0.8.1", "port-version": 0 }, "sobjectizer": { - "baseline": "5.7.2.6", + "baseline": "5.8.3", "port-version": 0 }, "soci": { - "baseline": "4.0.2", - "port-version": 0 + "baseline": "4.0.3", + "port-version": 3 }, "socket-io-client": { - "baseline": "3.1.0", + "baseline": "2023-11-11", "port-version": 0 }, "sockpp": { - "baseline": "0.7", + "baseline": "1.0.0", "port-version": 1 }, "soem": { - "baseline": "1.4.0", + "baseline": "2023-06-09", "port-version": 2 }, "soil": { "baseline": "2021-04-22", - "port-version": 0 + "port-version": 2 }, "soil2": { - "baseline": "2021-05-01", - "port-version": 0 + "baseline": "1.3.0", + "port-version": 1 }, "sokol": { - "baseline": "2019-09-09", - "port-version": 1 + "baseline": "2023-10-07", + "port-version": 0 }, "sol2": { - "baseline": "3.2.2", - "port-version": 2 + "baseline": "3.3.1", + "port-version": 0 }, "solid3": { "baseline": "3.5.8", - "port-version": 1 + "port-version": 2 }, "sophus": { - "baseline": "1.0.0", - "port-version": 7 + "baseline": "1.24.6-r1", + "port-version": 0 }, "soqt": { "baseline": "1.6.0", - "port-version": 3 + "port-version": 4 }, "sord": { "baseline": "0.16.4", - "port-version": 0 + "port-version": 2 }, "soundtouch": { - "baseline": "2.3.1", - "port-version": 1 + "baseline": "2.3.3", + "port-version": 0 }, "soxr": { "baseline": "0.1.3", - "port-version": 6 + "port-version": 8 }, "spaceland": { "baseline": "7.8.2", - "port-version": 5 + "port-version": 9 }, "span-lite": { - "baseline": "0.10.3", + "baseline": "0.11.0", "port-version": 0 }, "sparsehash": { @@ -6390,622 +8546,770 @@ }, "sparsepp": { "baseline": "1.22", - "port-version": 2 + "port-version": 4 }, "spatialite-tools": { - "baseline": "5.0.0", - "port-version": 3 + "baseline": "5.1.0-a", + "port-version": 0 }, "spdk": { - "baseline": "19.01.1", - "port-version": 2 + "baseline": "24.01", + "port-version": 0 }, "spdk-dpdk": { - "baseline": "20181124", - "port-version": 1 + "baseline": "2018-11-24", + "port-version": 3 }, "spdk-ipsec": { - "baseline": "20180711", - "port-version": 1 + "baseline": "2018-07-11", + "port-version": 3 }, "spdk-isal": { - "baseline": "20181006", - "port-version": 1 + "baseline": "2018-10-06", + "port-version": 3 }, "spdlog": { - "baseline": "1.9.2", + "baseline": "1.15.0", "port-version": 0 }, "spectra": { - "baseline": "1.0.0", + "baseline": "1.0.1", "port-version": 0 }, "speex": { - "baseline": "1.2.0", - "port-version": 9 + "baseline": "1.2.1", + "port-version": 1 }, "speexdsp": { - "baseline": "1.2.0", - "port-version": 6 + "baseline": "1.2.1", + "port-version": 1 + }, + "spglib": { + "baseline": "2.5.0", + "port-version": 0 + }, + "spine-runtimes": { + "baseline": "4.1.0", + "port-version": 0 }, "spirit-po": { "baseline": "1.1.2", - "port-version": 2 + "port-version": 4 }, "spirv-cross": { - "baseline": "2021-01-15", - "port-version": 1 + "baseline": "1.3.296.0", + "port-version": 0 }, "spirv-headers": { - "baseline": "2021-03-25", + "baseline": "1.3.296.0", + "port-version": 0 + }, + "spirv-reflect": { + "baseline": "1.3.296.0", "port-version": 0 }, "spirv-tools": { - "baseline": "2021.1", + "baseline": "1.3.296.0", "port-version": 0 }, - "spix": { - "baseline": "0.3", + "spout2": { + "baseline": "2.007.010", "port-version": 0 }, "sprout": { "baseline": "2019-06-20", - "port-version": 1 + "port-version": 2 }, "spscqueue": { "baseline": "1.1", - "port-version": 1 + "port-version": 3 }, "sqlcipher": { - "baseline": "4.4.3", + "baseline": "4.6.1", "port-version": 0 }, "sqlite-modern-cpp": { - "baseline": "3.2-936cd0c8", - "port-version": 1 + "baseline": "2023-12-03", + "port-version": 0 }, "sqlite-orm": { - "baseline": "1.6", - "port-version": 1 + "baseline": "1.9", + "port-version": 0 }, "sqlite3": { - "baseline": "3.36.0", - "port-version": 1 + "baseline": "3.47.0", + "port-version": 2 }, "sqlitecpp": { - "baseline": "3.1.1", - "port-version": 1 + "baseline": "3.3.2", + "port-version": 0 }, "sqlpp11": { - "baseline": "0.60", - "port-version": 1 + "baseline": "0.64", + "port-version": 2 }, "sqlpp11-connector-mysql": { - "baseline": "0.29", - "port-version": 2 + "baseline": "0.61", + "port-version": 0 }, "sqlpp11-connector-sqlite3": { - "baseline": "0.30", - "port-version": 1 + "baseline": "0.61", + "port-version": 0 }, "squirrel": { "baseline": "2021-09-17", "port-version": 0 }, "sratom": { - "baseline": "0.6.4", + "baseline": "0.6.16", "port-version": 0 }, "srell": { - "baseline": "3.001", + "baseline": "3.010", "port-version": 0 }, "srpc": { - "baseline": "0.9.3", + "baseline": "0.10.3", + "port-version": 1 + }, + "sse2neon": { + "baseline": "1.7.0", + "port-version": 0 + }, + "stackwalker": { + "baseline": "2023-06-24", "port-version": 0 }, "starlink-ast": { - "baseline": "9.2.4", - "port-version": 2 + "baseline": "9.2.10", + "port-version": 1 + }, + "staticjson": { + "baseline": "1.0.0", + "port-version": 0 }, "status-code": { - "baseline": "1.0.0-ab3cd821", + "baseline": "2023-11-06", "port-version": 1 }, "status-value-lite": { "baseline": "1.1.0", - "port-version": 1 + "port-version": 3 }, "stb": { - "baseline": "2020-09-14", + "baseline": "2024-07-29", "port-version": 1 }, + "stdexec": { + "baseline": "2024-06-16", + "port-version": 2 + }, + "stduuid": { + "baseline": "1.2.3", + "port-version": 0 + }, + "stftpitchshift": { + "baseline": "1.4.1", + "port-version": 0 + }, "stlab": { - "baseline": "1.6.2", - "port-version": 1 + "baseline": "1.7.1", + "port-version": 2 }, "stormlib": { - "baseline": "2019-05-10", - "port-version": 3 + "baseline": "9.26", + "port-version": 0 + }, + "str-view": { + "baseline": "0.5.4", + "port-version": 0 }, "strict-variant": { "baseline": "0.5", - "port-version": 1 + "port-version": 2 }, "string-theory": { - "baseline": "3.5", + "baseline": "3.8", "port-version": 0 }, "string-view-lite": { - "baseline": "1.6.0", + "baseline": "1.8.0", + "port-version": 1 + }, + "stringzilla": { + "baseline": "3.10.5", + "port-version": 0 + }, + "strong-type": { + "baseline": "15", + "port-version": 0 + }, + "stronk": { + "baseline": "0.3.1", "port-version": 0 }, "strtk": { "baseline": "2020-09-14", - "port-version": 1 + "port-version": 4 }, "stx": { - "baseline": "1.0.1", - "port-version": 1 + "baseline": "1.0.5", + "port-version": 0 }, "stxxl": { "baseline": "2018-11-15", - "port-version": 4 + "port-version": 8 }, "suitesparse": { "baseline": "5.8.0", - "port-version": 1 + "port-version": 2 }, "sundials": { - "baseline": "5.8.0", + "baseline": "7.1.1", "port-version": 0 }, "superlu": { - "baseline": "2020-01-07", - "port-version": 4 + "baseline": "7.0.0", + "port-version": 0 + }, + "swenson-sort": { + "baseline": "2021-05-22", + "port-version": 0 }, "symengine": { - "baseline": "0.7.0", - "port-version": 1 + "baseline": "0.11.2", + "port-version": 2 }, "systemc": { "baseline": "2.3.3", - "port-version": 6 + "port-version": 8 }, "szip": { "baseline": "2.1.1", - "port-version": 7 + "port-version": 12 }, "tabulate": { - "baseline": "2019-01-06", - "port-version": 1 + "baseline": "1.5", + "port-version": 0 }, "tacopie": { "baseline": "3.2.0", - "port-version": 3 + "port-version": 6 }, "taglib": { - "baseline": "1.12.0", - "port-version": 0 + "baseline": "2.0", + "port-version": 2 + }, + "talib": { + "baseline": "0.4.0", + "port-version": 1 }, "taocpp-json": { "baseline": "2020-09-14", - "port-version": 1 + "port-version": 4 }, "tap-windows6": { "baseline": "9.21.2-0e30f5c", - "port-version": 1 + "port-version": 2 + }, + "task-thread-pool": { + "baseline": "1.0.7", + "port-version": 0 }, "taskflow": { - "baseline": "3.2.0", + "baseline": "3.8.0", "port-version": 0 }, "tbb": { - "baseline": "2020_U3", - "port-version": 6 + "baseline": "2022.0.0", + "port-version": 0 + }, + "tcb-span": { + "baseline": "2022-06-15", + "port-version": 0 }, "tcl": { "baseline": "core-9-0-a1", - "port-version": 4 + "port-version": 8 }, "tclap": { - "baseline": "1.2.2", - "port-version": 4 + "baseline": "1.2.5", + "port-version": 0 }, - "teemo": { - "baseline": "2.2", - "port-version": 2 + "tcp-pubsub": { + "baseline": "1.0.3", + "port-version": 0 + }, + "tdscpp": { + "baseline": "20240707", + "port-version": 0 }, "telnetpp": { - "baseline": "2.1.2", - "port-version": 1 + "baseline": "3.1.0", + "port-version": 0 }, "tensorflow": { - "baseline": "2.6.0", + "baseline": "2.10.0", "port-version": 0 }, "tensorflow-cc": { - "baseline": "2.6.0", + "baseline": "2.10.0", "port-version": 0 }, "tensorflow-common": { - "baseline": "2.6.0", - "port-version": 0 + "baseline": "2.10.0", + "port-version": 3 }, "tensorpipe": { - "baseline": "2021-04-26", - "port-version": 0 + "baseline": "2022-03-16", + "port-version": 5 }, "termcolor": { - "baseline": "2.0.0", + "baseline": "2.1.0", "port-version": 0 }, "tesseract": { - "baseline": "4.1.1", - "port-version": 8 + "baseline": "5.4.1", + "port-version": 1 + }, + "tevclient": { + "baseline": "2023-12-04", + "port-version": 0 }, "tfhe": { "baseline": "1.0.1", - "port-version": 2 + "port-version": 5 }, "tgbot-cpp": { - "baseline": "1.2.1", - "port-version": 1 + "baseline": "1.7.3", + "port-version": 0 }, "tgc": { "baseline": "2019-08-11", - "port-version": 2 + "port-version": 4 }, "tgui": { - "baseline": "2021-04-19", - "port-version": 2 + "baseline": "1.1.0", + "port-version": 1 }, "theia": { "baseline": "0.8", - "port-version": 4 + "port-version": 11 }, "think-cell-range": { - "baseline": "498839d", + "baseline": "2023.1", + "port-version": 1 + }, + "thomasmonkman-filewatch": { + "baseline": "2023-01-16", "port-version": 2 }, "thor": { - "baseline": "2.0", - "port-version": 4 + "baseline": "2022-04-16", + "port-version": 0 + }, + "thorvg": { + "baseline": "0.14.10", + "port-version": 0 }, "threadpool": { "baseline": "0.2.5", - "port-version": 2 + "port-version": 3 }, "thrift": { - "baseline": "0.13.0", - "port-version": 2 + "baseline": "0.20.0", + "port-version": 1 }, "tidy-html5": { - "baseline": "5.7.28", - "port-version": 4 + "baseline": "5.8.0", + "port-version": 2 }, "tiff": { - "baseline": "4.3.0", - "port-version": 2 + "baseline": "4.7.0", + "port-version": 0 }, "tinkerforge": { "baseline": "2.1.25", - "port-version": 1 + "port-version": 3 }, "tiny-aes-c": { "baseline": "2019-07-31", - "port-version": 1 + "port-version": 3 }, "tiny-bignum-c": { "baseline": "2019-07-31", - "port-version": 1 + "port-version": 3 }, "tiny-dnn": { "baseline": "2018-10-25", - "port-version": 1 + "port-version": 2 }, "tiny-process-library": { "baseline": "2.0.4", - "port-version": 1 + "port-version": 3 }, "tiny-regex-c": { "baseline": "2019-07-31", + "port-version": 3 + }, + "tinycbor": { + "baseline": "0.6.0", "port-version": 1 }, "tinycthread": { "baseline": "2019-08-06", - "port-version": 1 + "port-version": 3 }, "tinydir": { - "baseline": "1.2.4", - "port-version": 1 + "baseline": "1.2.6", + "port-version": 0 }, "tinyexif": { - "baseline": "1.0.2", - "port-version": 7 + "baseline": "2024-09-03", + "port-version": 0 }, "tinyexpr": { "baseline": "2020-09-25", - "port-version": 0 + "port-version": 2 }, "tinyexr": { - "baseline": "1.0.0", - "port-version": 1 + "baseline": "1.0.8", + "port-version": 0 }, "tinyfiledialogs": { "baseline": "3.8.8", - "port-version": 3 + "port-version": 4 + }, + "tinyfsm": { + "baseline": "0.3.3", + "port-version": 0 }, "tinygltf": { - "baseline": "2020-07-28", - "port-version": 2 + "baseline": "2.9.3", + "port-version": 0 }, "tinynpy": { "baseline": "1.0.0", - "port-version": 4 + "port-version": 6 }, "tinyobjloader": { - "baseline": "2.0.0-rc2", - "port-version": 2 + "baseline": "2.0.0rc13", + "port-version": 0 + }, + "tinyorm": { + "baseline": "0.38.1", + "port-version": 0 }, "tinyply": { - "baseline": "2020-05-22", - "port-version": 2 + "baseline": "2.3.4", + "port-version": 0 }, "tinyspline": { - "baseline": "0.3.0", + "baseline": "0.6.0", "port-version": 0 }, "tinythread": { "baseline": "1.1", - "port-version": 4 + "port-version": 6 + }, + "tinytiff": { + "baseline": "4.0.1.0", + "port-version": 0 }, "tinytoml": { "baseline": "20180219", - "port-version": 2 + "port-version": 3 }, "tinyutf8": { - "baseline": "4.0.2", + "baseline": "4.4.3", "port-version": 1 }, "tinyxml": { "baseline": "2.6.2", - "port-version": 8 + "port-version": 10 }, "tinyxml2": { - "baseline": "9.0.0", + "baseline": "10.0.0", "port-version": 0 }, "tl-expected": { - "baseline": "1.0.0", - "port-version": 2 + "baseline": "1.1.0", + "port-version": 0 }, "tl-function-ref": { "baseline": "1.0.0", - "port-version": 2 + "port-version": 4 }, "tl-generator": { "baseline": "2021-09-28", "port-version": 0 }, - "tl-optional": { - "baseline": "1.0.0", - "port-version": 2 + "tl-optional": { + "baseline": "1.1.0", + "port-version": 0 + }, + "tl-ranges": { + "baseline": "2022-12-07", + "port-version": 1 }, "tlx": { - "baseline": "0.5.20191212", - "port-version": 2 + "baseline": "0.6.1", + "port-version": 0 }, "tmx": { - "baseline": "1.2.0", + "baseline": "1.10.0", "port-version": 0 }, "tmxlite": { - "baseline": "1.3.0", + "baseline": "1.4.4", "port-version": 0 }, "tmxparser": { - "baseline": "2.1.0", - "port-version": 6 + "baseline": "2019-10-14", + "port-version": 1 + }, + "tobias-loew-flags": { + "baseline": "2024-09-10", + "port-version": 0 }, "toml11": { - "baseline": "3.7.0", + "baseline": "4.2.0", "port-version": 0 }, "tomlplusplus": { - "baseline": "2.5.0", + "baseline": "3.4.0", "port-version": 0 }, - "tool-meson": { - "baseline": "0.58.1", + "tomsolver": { + "baseline": "1.0.0", "port-version": 0 }, "torch-th": { "baseline": "2019-04-19", - "port-version": 3 + "port-version": 4 + }, + "tracy": { + "baseline": "0.11.1", + "port-version": 1 }, "transwarp": { - "baseline": "2.2.2", + "baseline": "2.2.3", "port-version": 0 }, "trantor": { - "baseline": "1.5.1", + "baseline": "1.5.21", "port-version": 0 }, "tre": { "baseline": "0.8.0", - "port-version": 3 + "port-version": 6 + }, + "tree-similarity": { + "baseline": "0.1.1", + "port-version": 1 + }, + "tree-sitter": { + "baseline": "0.20.6", + "port-version": 1 }, "treehh": { - "baseline": "3.16", + "baseline": "3.18", "port-version": 0 }, "treehopper": { "baseline": "1.11.3", - "port-version": 5 + "port-version": 9 }, "triangle": { "baseline": "1.6", - "port-version": 1 + "port-version": 4 + }, + "triton": { + "baseline": "2023-08-16", + "port-version": 0 }, "trompeloeil": { - "baseline": "41", + "baseline": "48", + "port-version": 0 + }, + "try-catcher": { + "baseline": "1.0.1", "port-version": 0 }, "tsl-hopscotch-map": { - "baseline": "2.3.0", - "port-version": 1 + "baseline": "2.3.1", + "port-version": 0 }, "tsl-ordered-map": { - "baseline": "1.0.0", - "port-version": 1 + "baseline": "1.1.0", + "port-version": 0 }, "tsl-sparse-map": { "baseline": "0.6.2", - "port-version": 1 + "port-version": 3 }, "ttauri": { "baseline": "0.5.0", + "port-version": 2 + }, + "tuplet": { + "baseline": "2.1.1", "port-version": 0 }, "turbobase64": { - "baseline": "2020-01-12", - "port-version": 1 + "baseline": "2023.8", + "port-version": 0 }, "tvision": { - "baseline": "2021-08-10", + "baseline": "2024-05-22", "port-version": 0 }, "tweeny": { "baseline": "3.2.0", - "port-version": 0 + "port-version": 1 }, "type-lite": { - "baseline": "0.1.0", - "port-version": 1 + "baseline": "0.2.0", + "port-version": 0 }, "type-safe": { - "baseline": "0.2.2", + "baseline": "0.2.4", "port-version": 0 }, "uchardet": { - "baseline": "2021-09-03", - "port-version": 1 + "baseline": "0.0.8", + "port-version": 0 + }, + "udt": { + "baseline": "4.11", + "port-version": 0 }, "umock-c": { - "baseline": "2020-06-17", - "port-version": 2 + "baseline": "2022-01-21", + "port-version": 1 + }, + "uni-algo": { + "baseline": "1.2.0", + "port-version": 0 }, "unicorn": { - "baseline": "2020-09-14", - "port-version": 1 + "baseline": "2.0.1", + "port-version": 0 }, "unicorn-lib": { - "baseline": "2020-03-02", + "baseline": "2022-01-24", "port-version": 2 }, "units": { - "baseline": "2.3.1", + "baseline": "2.3.3", "port-version": 1 }, "unittest-cpp": { "baseline": "2.0.0", - "port-version": 3 + "port-version": 6 }, "unixodbc": { - "baseline": "2.3.7", - "port-version": 4 + "baseline": "2.3.11", + "port-version": 2 + }, + "unordered-dense": { + "baseline": "4.4.0", + "port-version": 0 }, "unqlite": { "baseline": "1.1.9", - "port-version": 0 + "port-version": 2 }, "unrar": { - "baseline": "5.8.1", - "port-version": 1 + "baseline": "7.0.7", + "port-version": 0 }, - "upb": { - "baseline": "2021-10-19", + "upa-url": { + "baseline": "1.0.1", "port-version": 0 }, "urdfdom": { - "baseline": "1.0.4", - "port-version": 4 + "baseline": "3.1.1", + "port-version": 0 }, "urdfdom-headers": { - "baseline": "1.0.5", - "port-version": 2 - }, - "urho3d": { - "baseline": "2021-03-01", - "port-version": 1 + "baseline": "1.1.1", + "port-version": 0 }, "uriparser": { - "baseline": "0.9.5", - "port-version": 1 + "baseline": "0.9.8", + "port-version": 0 }, "usbmuxd": { - "baseline": "1.2.235", + "baseline": "2023-07-21", "port-version": 1 }, "usd": { - "baseline": "20.08", - "port-version": 1 + "baseline": "24.8", + "port-version": 0 }, - "usockets": { - "baseline": "0.8.1", + "usearch": { + "baseline": "2.3.2", "port-version": 0 }, + "usockets": { + "baseline": "0.8.8", + "port-version": 1 + }, "usrsctp": { "baseline": "0.9.5.0", - "port-version": 1 + "port-version": 4 }, - "utf8h": { - "baseline": "2021-10-21", + "utf8-range": { + "baseline": "5.26.1", "port-version": 0 }, + "utf8h": { + "baseline": "2021-11-18", + "port-version": 1 + }, "utf8proc": { - "baseline": "2.6.1", + "baseline": "2.9.0", "port-version": 0 }, "utfcpp": { - "baseline": "3.2.1", + "baseline": "4.0.5", "port-version": 0 }, "utfz": { "baseline": "1.2", - "port-version": 2 + "port-version": 4 }, "uthash": { "baseline": "2.3.0", "port-version": 0 }, "uthenticode": { - "baseline": "1.0.6", - "port-version": 0 + "baseline": "2.0.1", + "port-version": 1 }, "uvatlas": { - "baseline": "nov2021", + "baseline": "2024-10-29", "port-version": 0 }, "uvw": { - "baseline": "2.7.0", - "port-version": 1 + "baseline": "3.2.0", + "port-version": 0 }, "uwebsockets": { - "baseline": "20.8.0", + "baseline": "20.70.0", "port-version": 0 }, "v-hacd": { "baseline": "3.2.0", - "port-version": 2 + "port-version": 4 }, "v8": { "baseline": "9.1.269.39", - "port-version": 1 + "port-version": 8 }, "valijson": { - "baseline": "0.6", + "baseline": "1.0.2", "port-version": 0 }, "value-ptr-lite": { @@ -7014,135 +9318,315 @@ }, "vamp-sdk": { "baseline": "2.10", - "port-version": 1 + "port-version": 5 }, "variant-lite": { "baseline": "2.0.0", "port-version": 0 }, "vc": { - "baseline": "1.4.2", - "port-version": 1 + "baseline": "1.4.4", + "port-version": 0 }, "vcglib": { - "baseline": "1.0.1", - "port-version": 1 + "baseline": "2023.12", + "port-version": 0 + }, + "vcpkg-boost": { + "baseline": "2024-05-15", + "port-version": 0 }, "vcpkg-cmake": { - "baseline": "2021-09-13", + "baseline": "2024-04-23", "port-version": 0 }, "vcpkg-cmake-config": { - "baseline": "2021-11-01", + "baseline": "2024-05-23", + "port-version": 0 + }, + "vcpkg-cmake-get-vars": { + "baseline": "2024-09-22", + "port-version": 0 + }, + "vcpkg-get-python": { + "baseline": "2024-06-22", + "port-version": 0 + }, + "vcpkg-get-python-packages": { + "baseline": "2024-09-29", "port-version": 0 }, "vcpkg-gfortran": { "baseline": "3", - "port-version": 1 + "port-version": 3 + }, + "vcpkg-gn": { + "baseline": "2024-02-22", + "port-version": 0 + }, + "vcpkg-msbuild": { + "baseline": "2023-08-08", + "port-version": 0 }, "vcpkg-pkgconfig-get-modules": { - "baseline": "2021-04-02", + "baseline": "2024-04-03", + "port-version": 0 + }, + "vcpkg-qmake": { + "baseline": "2023-03-22", + "port-version": 3 + }, + "vcpkg-tool-bazel": { + "baseline": "5.2.0", + "port-version": 0 + }, + "vcpkg-tool-gn": { + "baseline": "2024-02-22", + "port-version": 0 + }, + "vcpkg-tool-gyp-next": { + "baseline": "2022-10-15", + "port-version": 0 + }, + "vcpkg-tool-lessmsi": { + "baseline": "1.10.0", "port-version": 1 }, - "vcpkg-tool-nodejs": { - "baseline": "14.17.4", + "vcpkg-tool-meson": { + "baseline": "1.6.0", + "port-version": 0 + }, + "vcpkg-tool-mozbuild": { + "baseline": "4.0.2", "port-version": 0 }, + "vcpkg-tool-ninja": { + "baseline": "2022-03-31", + "port-version": 2 + }, + "vcpkg-tool-nodejs": { + "baseline": "16.18.0", + "port-version": 1 + }, + "vcpkg-tool-python2": { + "baseline": "2.7.18", + "port-version": 1 + }, "vectorclass": { - "baseline": "2.00.01", + "baseline": "2.02.00", + "port-version": 0 + }, + "veigar": { + "baseline": "1.2", + "port-version": 0 + }, + "velodyne-decoder": { + "baseline": "3.0.0", + "port-version": 1 + }, + "verdict": { + "baseline": "1.4.0", + "port-version": 0 + }, + "via-httplib": { + "baseline": "1.9.0", + "port-version": 0 + }, + "vili": { + "baseline": "1.0.0+20221123", + "port-version": 1 + }, + "vincentlaucsb-csv-parser": { + "baseline": "2.2.3", "port-version": 1 }, "visit-struct": { - "baseline": "1.0", - "port-version": 2 + "baseline": "1.1.0", + "port-version": 0 + }, + "vit-vit-ctpl": { + "baseline": "0.0.2", + "port-version": 0 + }, + "vk-bootstrap": { + "baseline": "1.3.279", + "port-version": 1 + }, + "vkfft": { + "baseline": "1.2.31", + "port-version": 0 + }, + "vladimirshaleev-ipaddress": { + "baseline": "1.1.0", + "port-version": 0 }, "vlfeat": { "baseline": "2020-07-10", - "port-version": 1 + "port-version": 4 }, "vlpp": { - "baseline": "0.11.0.0", - "port-version": 1 + "baseline": "1.2.10.2", + "port-version": 0 }, "volk": { - "baseline": "2019-09-26", - "port-version": 1 + "baseline": "1.3.296", + "port-version": 0 + }, + "vowpal-wabbit": { + "baseline": "9.10.0", + "port-version": 0 }, "vs-yasm": { "baseline": "0.5.0", + "port-version": 2 + }, + "vsg": { + "baseline": "1.1.7", + "port-version": 0 + }, + "vsgimgui": { + "baseline": "0.3.0", + "port-version": 0 + }, + "vsgxchange": { + "baseline": "1.0.5", "port-version": 1 }, "vtk": { - "baseline": "9.0.3-pv5.9.1", - "port-version": 4 + "baseline": "9.3.0-pv5.12.1", + "port-version": 5 }, "vtk-dicom": { - "baseline": "0.8.12", - "port-version": 2 + "baseline": "0.8.16", + "port-version": 1 }, "vtk-m": { - "baseline": "1.6.0", + "baseline": "2.1.0", "port-version": 0 }, "vulkan": { - "baseline": "1.1.82.1", - "port-version": 2 + "baseline": "2023-12-17", + "port-version": 0 + }, + "vulkan-extensionlayer": { + "baseline": "1.3.296.0", + "port-version": 0 }, "vulkan-headers": { - "baseline": "1.2.184", + "baseline": "1.3.296.0", + "port-version": 0 + }, + "vulkan-hpp": { + "baseline": "deprecated", + "port-version": 0 + }, + "vulkan-loader": { + "baseline": "1.3.296.0", + "port-version": 0 + }, + "vulkan-memory-allocator": { + "baseline": "3.1.0", + "port-version": 0 + }, + "vulkan-memory-allocator-hpp": { + "baseline": "3.1.0", + "port-version": 0 + }, + "vulkan-sdk-components": { + "baseline": "1.3.296.0", + "port-version": 0 + }, + "vulkan-tools": { + "baseline": "1.3.296.0", + "port-version": 0 + }, + "vulkan-utility-libraries": { + "baseline": "1.3.296.0", "port-version": 0 }, - "vulkan-hpp": { - "baseline": "1.2.184", - "port-version": 1 + "vulkan-validationlayers": { + "baseline": "1.3.296.0", + "port-version": 0 }, - "vulkan-memory-allocator": { - "baseline": "2021-07-07", - "port-version": 1 + "vvenc": { + "baseline": "1.7.0", + "port-version": 0 }, "vxl": { - "baseline": "2.0.2", - "port-version": 3 + "baseline": "3.5.0", + "port-version": 0 + }, + "wabt": { + "baseline": "1.0.36", + "port-version": 0 }, "wampcc": { "baseline": "2019-09-04", - "port-version": 2 + "port-version": 5 }, "wangle": { - "baseline": "2021.06.14.00", + "baseline": "2024.11.04.00", "port-version": 0 }, + "wasmedge": { + "baseline": "0.13.5", + "port-version": 2 + }, "wavelib": { - "baseline": "2021-08-10", + "baseline": "2021-11-26", "port-version": 0 }, "wavpack": { - "baseline": "5.4.0", + "baseline": "5.7.0", + "port-version": 0 + }, + "wayland": { + "baseline": "1.21.0", + "port-version": 1 + }, + "wayland-protocols": { + "baseline": "1.31", + "port-version": 1 + }, + "wcslib": { + "baseline": "8.2.1", "port-version": 0 }, "websocketpp": { "baseline": "0.8.2", - "port-version": 1 + "port-version": 3 + }, + "webthing-cpp": { + "baseline": "1.0.5", + "port-version": 0 + }, + "webview2": { + "baseline": "1.0.2277.86", + "port-version": 0 }, "wepoll": { "baseline": "1.5.8", + "port-version": 3 + }, + "wg21-linear-algebra": { + "baseline": "0.7.3", "port-version": 1 }, "wg21-sg14": { "baseline": "2019-08-13", - "port-version": 1 + "port-version": 2 }, "wil": { - "baseline": "2021-08-03", - "port-version": 1 + "baseline": "1.0.240803.1", + "port-version": 0 }, "wildmidi": { - "baseline": "0.4.4", + "baseline": "0.4.5", "port-version": 0 }, "wincrypt": { "baseline": "0.0", - "port-version": 3 + "port-version": 4 }, "winlamb": { "baseline": "2020-10-15", @@ -7150,159 +9634,251 @@ }, "winpcap": { "baseline": "4.1.3", - "port-version": 6 + "port-version": 12 + }, + "winpty": { + "baseline": "0.4.3", + "port-version": 0 }, "winreg": { - "baseline": "4.1.2", + "baseline": "6.3.2", "port-version": 0 }, "winsock2": { "baseline": "0.0", - "port-version": 3 + "port-version": 5 + }, + "winsparkle": { + "baseline": "0.8.1", + "port-version": 0 }, "wintoast": { - "baseline": "1.2.0", - "port-version": 1 + "baseline": "1.3.0", + "port-version": 0 + }, + "wmipp": { + "baseline": "1.3.0", + "port-version": 0 }, "woff2": { "baseline": "1.0.2", - "port-version": 2 + "port-version": 4 + }, + "wolfmqtt": { + "baseline": "1.19.0", + "port-version": 0 + }, + "wolfssl": { + "baseline": "5.7.4", + "port-version": 0 + }, + "wolftpm": { + "baseline": "3.4.0", + "port-version": 0 }, "wordnet": { "baseline": "3.0", - "port-version": 1 + "port-version": 3 }, "workflow": { - "baseline": "0.9.7", + "baseline": "0.10.9", "port-version": 0 }, "wpilib": { - "baseline": "2020.3.2", + "baseline": "2023-08-24", "port-version": 1 }, "wren": { - "baseline": "2019-07-01", - "port-version": 1 + "baseline": "0.4.0", + "port-version": 0 }, "wt": { - "baseline": "4.5.0", - "port-version": 2 + "baseline": "4.10.4", + "port-version": 1 }, "wtl": { "baseline": "10.0.10320", - "port-version": 1 + "port-version": 4 }, "wxchartdir": { - "baseline": "1.0.0", - "port-version": 1 + "baseline": "2.0.0", + "port-version": 2 + }, + "wxcharts": { + "baseline": "2022-07-05", + "port-version": 0 }, "wxwidgets": { - "baseline": "3.1.5", - "port-version": 3 + "baseline": "3.2.6", + "port-version": 0 + }, + "wyhash": { + "baseline": "2023-12-03", + "port-version": 0 }, "x-plane": { - "baseline": "3.0.3", + "baseline": "4.0.1", "port-version": 0 }, "x264": { - "baseline": "164-5db6aa6cab1b146", + "baseline": "0.164.3108", "port-version": 0 }, "x265": { - "baseline": "3.4", - "port-version": 5 + "baseline": "3.6", + "port-version": 0 }, - "xalan-c": { - "baseline": "1.12", - "port-version": 1 + "x86-simd-sort": { + "baseline": "5.0", + "port-version": 0 + }, + "xapian": { + "baseline": "1.4.22", + "port-version": 2 }, "xaudio2redist": { - "baseline": "1.2.8", + "baseline": "1.2.11", + "port-version": 4 + }, + "xbitmaps": { + "baseline": "1.1.2", "port-version": 0 }, "xbyak": { - "baseline": "6.00", + "baseline": "7.7", + "port-version": 0 + }, + "xcb": { + "baseline": "1.14", + "port-version": 2 + }, + "xcb-image": { + "baseline": "0.4.1", + "port-version": 0 + }, + "xcb-keysyms": { + "baseline": "0.4.1", "port-version": 0 }, + "xcb-proto": { + "baseline": "1.14.1", + "port-version": 2 + }, + "xcb-render-util": { + "baseline": "0.3.10", + "port-version": 0 + }, + "xcb-util": { + "baseline": "0.4.0", + "port-version": 0 + }, + "xcb-util-errors": { + "baseline": "1.0.1", + "port-version": 1 + }, + "xcb-util-m4": { + "baseline": "2022-01-24", + "port-version": 0 + }, + "xcb-util-wm": { + "baseline": "0.4.2", + "port-version": 1 + }, "xerces-c": { - "baseline": "3.2.3", - "port-version": 3 + "baseline": "3.2.5", + "port-version": 0 }, "xeus": { "baseline": "0.24.3", - "port-version": 1 + "port-version": 3 }, "xframe": { "baseline": "0.3.0", - "port-version": 1 + "port-version": 3 }, "xlnt": { "baseline": "1.5.0", - "port-version": 3 + "port-version": 4 }, "xlsxio": { - "baseline": "2021-03-24", + "baseline": "0.2.34", "port-version": 0 }, "xmlsec": { - "baseline": "1.2.32", + "baseline": "1.3.6", "port-version": 0 }, - "xmsh": { - "baseline": "0.5.2", - "port-version": 2 - }, "xnnpack": { - "baseline": "2021-05-17", + "baseline": "2022-12-22", + "port-version": 0 + }, + "xorg-macros": { + "baseline": "1.19.3", "port-version": 1 }, "xorstr": { - "baseline": "2021-10-23", + "baseline": "2021-11-20", + "port-version": 0 + }, + "xpack": { + "baseline": "1.0.5", "port-version": 0 }, "xproperty": { "baseline": "0.8.1", - "port-version": 1 + "port-version": 3 }, - "xsimd": { - "baseline": "8.0.3", + "xproto": { + "baseline": "2021.5", "port-version": 0 }, + "xqilla": { + "baseline": "2.3.4", + "port-version": 3 + }, + "xsimd": { + "baseline": "13.0.0", + "port-version": 1 + }, "xtensor": { - "baseline": "0.23.10", + "baseline": "0.25.0", "port-version": 0 }, "xtensor-blas": { - "baseline": "0.17.2", - "port-version": 2 + "baseline": "0.20.0", + "port-version": 0 }, "xtensor-fftw": { "baseline": "2019-11-30", - "port-version": 2 + "port-version": 4 }, "xtensor-io": { - "baseline": "0.12.8", + "baseline": "0.13.0", "port-version": 1 }, "xtl": { - "baseline": "0.7.2", + "baseline": "0.7.7", "port-version": 0 }, - "xxhash": { - "baseline": "0.8.0", + "xtrans": { + "baseline": "1.4.0", "port-version": 2 }, + "xxhash": { + "baseline": "0.8.2", + "port-version": 0 + }, "yajl": { "baseline": "2.1.0", - "port-version": 2 + "port-version": 4 }, "yaml-cpp": { - "baseline": "0.7.0", + "baseline": "0.8.0", "port-version": 1 }, "yara": { - "baseline": "4.1.1", - "port-version": 0 + "baseline": "4.5.2", + "port-version": 1 }, "yas": { "baseline": "7.1.0", @@ -7310,99 +9886,151 @@ }, "yasm": { "baseline": "1.3.0", - "port-version": 1 + "port-version": 5 }, "yasm-tool": { - "baseline": "1.3.0", + "baseline": "2021-12-14", "port-version": 0 }, "yasm-tool-helper": { "baseline": "2020-03-11", - "port-version": 0 + "port-version": 1 }, "yato": { - "baseline": "1.0", - "port-version": 3 + "baseline": "2022-03-06", + "port-version": 0 }, "yoga": { - "baseline": "1.19.0", + "baseline": "3.1.0", "port-version": 0 }, "yomm2": { - "baseline": "1.1.2", + "baseline": "1.6.0", "port-version": 0 }, "yyjson": { - "baseline": "0.3.0", + "baseline": "0.10.0", "port-version": 0 }, "z3": { - "baseline": "4.8.12", - "port-version": 1 + "baseline": "4.13.3", + "port-version": 0 + }, + "z4kn4fein-semver": { + "baseline": "0.4.0", + "port-version": 0 }, "z85": { "baseline": "1.0", - "port-version": 1 + "port-version": 2 + }, + "zeroc-ice": { + "baseline": "3.7.10", + "port-version": 0 }, "zeromq": { - "baseline": "4.3.4", + "baseline": "4.3.5", "port-version": 2 }, "zfp": { - "baseline": "0.5.5", - "port-version": 3 + "baseline": "1.0.0", + "port-version": 2 + }, + "zimpl": { + "baseline": "3.6.1", + "port-version": 0 + }, + "zint": { + "baseline": "2.12.0", + "port-version": 1 }, "zkpp": { "baseline": "0.2.3", - "port-version": 1 + "port-version": 3 }, "zlib": { - "baseline": "1.2.11", - "port-version": 13 + "baseline": "1.3.1", + "port-version": 0 }, "zlib-ng": { - "baseline": "2.0.5", + "baseline": "2.1.5", + "port-version": 1 + }, + "zlmediakit": { + "baseline": "2024-09-29", + "port-version": 0 + }, + "zoe": { + "baseline": "3.5", "port-version": 0 }, "zookeeper": { - "baseline": "3.5.5", - "port-version": 2 + "baseline": "3.5.6", + "port-version": 1 }, "zopfli": { "baseline": "1.0.3", - "port-version": 1 + "port-version": 4 + }, + "zpp-bits": { + "baseline": "4.4.17", + "port-version": 0 }, "zserge-webview": { - "baseline": "2019-04-27", - "port-version": 3 + "baseline": "2023-04-15", + "port-version": 0 }, "zstd": { - "baseline": "1.5.0", - "port-version": 1 + "baseline": "1.5.6", + "port-version": 0 }, "zstr": { - "baseline": "1.0.4", - "port-version": 2 + "baseline": "1.0.7", + "port-version": 0 + }, + "ztd-cuneicode": { + "baseline": "2023-11-03", + "port-version": 1 + }, + "ztd-encoding-tables": { + "baseline": "2023-06-10", + "port-version": 0 + }, + "ztd-idk": { + "baseline": "2023-11-03", + "port-version": 0 + }, + "ztd-platform": { + "baseline": "2022-12-30", + "port-version": 0 + }, + "ztd-static-containers": { + "baseline": "2022-12-12", + "port-version": 1 + }, + "ztd-text": { + "baseline": "2023-11-03", + "port-version": 1 }, "zug": { - "baseline": "2021-04-23", + "baseline": "2024-04-26", "port-version": 0 }, - "zxing-cpp": { - "baseline": "2020-12", - "port-version": 3 + "zycore": { + "baseline": "1.5.0", + "port-version": 0 }, "zydis": { - "baseline": "3.1.0", - "port-version": 2 + "baseline": "4.1.0", + "port-version": 0 }, "zyre": { - "baseline": "2019-07-07", - "port-version": 3 + "baseline": "2024-04-10", + "port-version": 0 }, "zziplib": { - "baseline": "0.13.71", - "port-version": 3 + "baseline": "0.13.78", + "port-version": 0 } } } diff --git a/versions/c-/c-ares.json b/versions/c-/c-ares.json index 59b8c1d2d54c24..8cc31116ab0ee7 100644 --- a/versions/c-/c-ares.json +++ b/versions/c-/c-ares.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "78f3eb04280f992a8af0ebc68f67d965542ebffc", + "version-semver": "1.34.2", + "port-version": 0 + }, + { + "git-tree": "c973b2d803485f9f32ff6404dec4d4b7bd2e5062", + "version-semver": "1.34.1", + "port-version": 0 + }, + { + "git-tree": "cfd9abf077e9d9b262d520a4df78e4f1d7204502", + "version-semver": "1.33.1", + "port-version": 0 + }, + { + "git-tree": "81de8007de0b4b64a0f76fd0a415a9df9e42517a", + "version-semver": "1.33.0", + "port-version": 0 + }, + { + "git-tree": "6c07bb206a33f3005265a3e2db4c697a3097f8f3", + "version-semver": "1.31.0", + "port-version": 1 + }, + { + "git-tree": "3fa7d03d9b026df7fa4cd6bdd8e2a5140cae4f5f", + "version-semver": "1.31.0", + "port-version": 0 + }, + { + "git-tree": "9d722fc1278ff74fed3795592feffd8c08a46ffe", + "version-semver": "1.28.1", + "port-version": 0 + }, + { + "git-tree": "e9cfe35b81874e6ebf35f9ab346f7e86365b5fc1", + "version-semver": "1.28.0", + "port-version": 0 + }, + { + "git-tree": "7a79f37c205d30ea300e9d20c9bb504655e34336", + "version-semver": "1.27.0", + "port-version": 0 + }, + { + "git-tree": "2c98426c40efeeefe1eadb00c943dc80f72e9f99", + "version-semver": "1.26.0", + "port-version": 0 + }, + { + "git-tree": "79f168b5491191bf701a2683c2352c67d664e99a", + "version-semver": "1.25.0", + "port-version": 0 + }, + { + "git-tree": "55836d9576708f8126f2070e2a698afe72f5f948", + "version-semver": "1.19.1", + "port-version": 0 + }, + { + "git-tree": "a38a19b569f3763e2e63957687d4af9dcf19bd3e", + "version-semver": "1.19.0", + "port-version": 0 + }, + { + "git-tree": "15542c1c419b7874a8d3229cdf6366361e376a57", + "version-semver": "1.18.1", + "port-version": 1 + }, + { + "git-tree": "60b32d4ff262f2603153b8496e39f7b0aba39f99", + "version-semver": "1.18.1", + "port-version": 0 + }, + { + "git-tree": "8c97dd38d470b96784d2aa4484d04afca77e2c60", + "version-semver": "1.17.2", + "port-version": 2 + }, { "git-tree": "d434c999ea00b87bfbee3d79ddc6fc1b6f12d7fe", "version-semver": "1.17.2", diff --git a/versions/c-/c-dbg-macro.json b/versions/c-/c-dbg-macro.json new file mode 100644 index 00000000000000..3bacd629b90bd1 --- /dev/null +++ b/versions/c-/c-dbg-macro.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "c6819bcf6380a622775dfa3cebbcaf44ef745710", + "version-date": "2020-02-29", + "port-version": 0 + } + ] +} diff --git a/versions/c-/c4core.json b/versions/c-/c4core.json index 4fcef7c1dc072e..9a69e66f6f1bb4 100644 --- a/versions/c-/c4core.json +++ b/versions/c-/c4core.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "01cd83a31d0cb744a2c93789a442e2dbed78851b", + "version": "0.2.1", + "port-version": 0 + }, + { + "git-tree": "062ea83fd9863d62445cf759268109eb29397669", + "version": "0.1.11", + "port-version": 1 + }, + { + "git-tree": "7bb0739490fde445f13be62a3630b08924fdc94f", + "version": "0.1.11", + "port-version": 0 + }, + { + "git-tree": "cfb9957f519b41c482f60cac729c8256d26190f6", + "version": "0.1.9", + "port-version": 1 + }, + { + "git-tree": "db4217bd25647d340de3233e8f2fd59d250e16d8", + "version": "0.1.9", + "port-version": 0 + }, { "git-tree": "c1ef064ec4033e2fca5504b4eb44338453050f7f", "version-date": "2021-07-18", diff --git a/versions/c-/c89stringutils.json b/versions/c-/c89stringutils.json new file mode 100644 index 00000000000000..cb2a1f31683527 --- /dev/null +++ b/versions/c-/c89stringutils.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "c50f8f8a4bfb937214a3327ea7099ef8c9ea8e4c", + "version": "0.0.2", + "port-version": 0 + }, + { + "git-tree": "e4c282e10d69a020f581a2bd7b8d8ead1e29d9a2", + "version": "0.0.1", + "port-version": 1 + }, + { + "git-tree": "9c5dcb3c6cf4442e2fdcb4cdea39f512db0ead54", + "version": "0.0.1", + "port-version": 0 + } + ] +} diff --git a/versions/c-/c9y.json b/versions/c-/c9y.json new file mode 100644 index 00000000000000..5b8f4a8bf8dbac --- /dev/null +++ b/versions/c-/c9y.json @@ -0,0 +1,44 @@ +{ + "versions": [ + { + "git-tree": "9f7e3a1f7a70d40127c90193447fe5595f86c9fb", + "version-semver": "0.8.0", + "port-version": 0 + }, + { + "git-tree": "c9ab8ee7af65218c39d096c8d8d369bb413a49a5", + "version-semver": "0.7.0", + "port-version": 0 + }, + { + "git-tree": "d15ee572c3fcd0881ad17193d733ceccde3267fd", + "version-semver": "0.6.2", + "port-version": 0 + }, + { + "git-tree": "74238c4ddb455e7d7ba046f30436e1a07aca2f77", + "version-semver": "0.6.1", + "port-version": 0 + }, + { + "git-tree": "637d6fd46798e96161b162117eaed37afef1a875", + "version-semver": "0.6.0", + "port-version": 0 + }, + { + "git-tree": "0b7986fbff4e61263ed1bf9962eb6642f8f14cd8", + "version-semver": "0.5.1", + "port-version": 0 + }, + { + "git-tree": "7664032e69d86b58605c20e353af75d9961d10d8", + "version-semver": "0.4.0", + "port-version": 0 + }, + { + "git-tree": "5964f7fa10d83aa2d1a01ec7c64bd9b64f25f6a6", + "version-semver": "0.3.0", + "port-version": 0 + } + ] +} diff --git a/versions/c-/cachelib.json b/versions/c-/cachelib.json new file mode 100644 index 00000000000000..6c105bb257ec6b --- /dev/null +++ b/versions/c-/cachelib.json @@ -0,0 +1,89 @@ +{ + "versions": [ + { + "git-tree": "4c51a07152ad871b913be51d20251c0e92c7c440", + "version-string": "2024.07.15.00", + "port-version": 0 + }, + { + "git-tree": "fad64d7286723130f0af63e88f1d345823e6e509", + "version-string": "2024.07.08.00", + "port-version": 0 + }, + { + "git-tree": "3bb4c5e9a819c0c75b19b571c9b788ae9deeed8a", + "version-string": "2024.07.01.00", + "port-version": 0 + }, + { + "git-tree": "fc6513f7e57c438020e51abbe83c14e46b2c3a09", + "version-string": "2024.06.24.00", + "port-version": 0 + }, + { + "git-tree": "9d7f653356aba43fa58d8626e9158811bc838834", + "version-string": "2024.06.17.00", + "port-version": 0 + }, + { + "git-tree": "de918e2a00b4afd8b793a7178ad5af0097e131c5", + "version-string": "2024.06.10.00", + "port-version": 0 + }, + { + "git-tree": "54491c8aa8f069587e092e2d8e0f4e6ff5267ff6", + "version-string": "2024.06.03.00", + "port-version": 0 + }, + { + "git-tree": "9f2bce7e86fdd262568966b21c107302803becf7", + "version-string": "2024.05.27.00", + "port-version": 0 + }, + { + "git-tree": "01da6a9868cf626c3d8658f100f86f8df069eb65", + "version-string": "2024.05.20.00", + "port-version": 0 + }, + { + "git-tree": "c50db801a7cca549cee7de167964ad91c34e8498", + "version-string": "2024.05.06.00", + "port-version": 0 + }, + { + "git-tree": "eee238ddfcd4227de83489012606769fb2e17089", + "version-string": "2024.05.02.00", + "port-version": 0 + }, + { + "git-tree": "3069208e74474384f29d8a14865d74b6a0e3c06b", + "version-string": "2024.04.22.00", + "port-version": 0 + }, + { + "git-tree": "f06b7028d67ad69b208b340bd8a8f173dd2ee444", + "version-string": "2024.04.15.00", + "port-version": 0 + }, + { + "git-tree": "1c83d8147b39a2ed0182a49deb8afa181ac6a54b", + "version-string": "2023.05.08.00", + "port-version": 2 + }, + { + "git-tree": "2776e1f2137ef0df48a05a4e52d905077b60eb82", + "version-string": "2023.05.08.00", + "port-version": 1 + }, + { + "git-tree": "0a22cdb1063bfa706ab5a7085ba8724785eabc53", + "version-string": "2023.05.08.00", + "port-version": 0 + }, + { + "git-tree": "0311771f0b688e0ff8ffd3c6d297dfbbf43dfd33", + "version-string": "2023.02.27.00", + "port-version": 0 + } + ] +} diff --git a/versions/c-/caf.json b/versions/c-/caf.json index c92bc3b28e9ca0..7b3f6eb3d931c3 100644 --- a/versions/c-/caf.json +++ b/versions/c-/caf.json @@ -1,5 +1,45 @@ { "versions": [ + { + "git-tree": "86e73f510944cefac001f43a61cb7196365c713c", + "version": "1.0.2", + "port-version": 0 + }, + { + "git-tree": "2cb6b24903b98d8335f18f4964ce6823550b836b", + "version": "1.0.1", + "port-version": 0 + }, + { + "git-tree": "e71a51cfec683161a30d2dcca04fe5fc7f063ea7", + "version": "0.19.6", + "port-version": 0 + }, + { + "git-tree": "2b744b08352077e2bf620c383d9924f4a008cbca", + "version": "0.19.3", + "port-version": 0 + }, + { + "git-tree": "0561defb72007b054cede4fed6ef5950f8c2e2bc", + "version": "0.19.1", + "port-version": 0 + }, + { + "git-tree": "9b7001bd4d131fa36b766ca44a6ddbb47d3304a1", + "version": "0.18.6", + "port-version": 1 + }, + { + "git-tree": "be83968f892180d5ee2f1943cf9cac3782e9111e", + "version": "0.18.6", + "port-version": 0 + }, + { + "git-tree": "6f4b297fc5ad4bd021fa9d72787b27e69a558237", + "version": "0.18.5", + "port-version": 0 + }, { "git-tree": "d520e997ef25f386431e32cb6bec32ba12a78339", "version-string": "0.17.6", diff --git a/versions/c-/caffe2.json b/versions/c-/caffe2.json index 53fb0108464a2f..4895141d13f833 100644 --- a/versions/c-/caffe2.json +++ b/versions/c-/caffe2.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "6e991b0e1b3cfcc46ba3dca541a9c7055a015102", + "version": "0.8.1", + "port-version": 8 + }, + { + "git-tree": "83f1ccbf682aad8aacd3d74e8880becad6eb8d91", + "version": "0.8.1", + "port-version": 7 + }, + { + "git-tree": "ca32eb4601a1c35daa69e526f0af30efeb599c8c", + "version": "0.8.1", + "port-version": 6 + }, { "git-tree": "e4ebcedb57e572959c4f8e30c2885cda2367e0a7", "version-string": "0.8.1", diff --git a/versions/c-/cairo.json b/versions/c-/cairo.json index 60935f639e22a4..40c86ef4515947 100644 --- a/versions/c-/cairo.json +++ b/versions/c-/cairo.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "84c6e863f1f936bd0db07b3302e568ac1c98531c", + "version": "1.18.2", + "port-version": 0 + }, + { + "git-tree": "0fda02793cfc3911468cd200b0a889c65035db1d", + "version": "1.18.0", + "port-version": 1 + }, + { + "git-tree": "3b9181491cc6b0a115afa8dd5af2fca420a5cddd", + "version": "1.18.0", + "port-version": 0 + }, + { + "git-tree": "127eefeeba4725293adb6ea574b7bad98c845298", + "version": "1.17.8", + "port-version": 4 + }, + { + "git-tree": "e8fda1b05b3f6a99f08c23f8ad94ed43d4a69875", + "version": "1.17.8", + "port-version": 3 + }, + { + "git-tree": "e94aef48f94b5cdac2387269b5f2ad421a684873", + "version": "1.17.8", + "port-version": 2 + }, + { + "git-tree": "b28395e25157c57307d10e37eba8c9018dcd8f75", + "version": "1.17.8", + "port-version": 1 + }, + { + "git-tree": "062c7e11a8b910e76a2f16e57e3ffe0d59bd905e", + "version": "1.17.8", + "port-version": 0 + }, + { + "git-tree": "d4e8c89704a7354fbae6bd789d5744d37021aacc", + "version": "1.17.6", + "port-version": 5 + }, + { + "git-tree": "eac156360b2a89a655152bafd92c3e285adc473e", + "version": "1.17.6", + "port-version": 4 + }, + { + "git-tree": "c339d543f41d311c7d4282ca1efa4e400eb30b73", + "version": "1.17.6", + "port-version": 3 + }, + { + "git-tree": "63bc79e8f9980f2b780bb296d96bfc3221dba137", + "version": "1.17.6", + "port-version": 2 + }, + { + "git-tree": "f43fb974219928aea5f95efc7c61f27b49051a28", + "version": "1.17.6", + "port-version": 1 + }, + { + "git-tree": "9f67515a6cf8aaeb6c9dcd2263ce913bd596249d", + "version": "1.17.6", + "port-version": 0 + }, + { + "git-tree": "c024050e140b5174c6ef3094bad3cb2d6a710f82", + "version": "1.17.4", + "port-version": 4 + }, + { + "git-tree": "d8bed1ec84c641aad98858b6fb1151b09273227e", + "version": "1.17.4", + "port-version": 3 + }, { "git-tree": "96aa6adbfefae2d4f2e3d79e012876b1d4a40b93", "version": "1.17.4", diff --git a/versions/c-/cairomm.json b/versions/c-/cairomm.json index d56ab293ba059c..a494a42909f23a 100644 --- a/versions/c-/cairomm.json +++ b/versions/c-/cairomm.json @@ -1,5 +1,55 @@ { "versions": [ + { + "git-tree": "bd3f26958cdfb6aec8b42ca67dad1d7567461dcf", + "version": "1.18.0", + "port-version": 0 + }, + { + "git-tree": "f6f54756edc3cdf81b1fbac86522410f64bda856", + "version": "1.17.1", + "port-version": 1 + }, + { + "git-tree": "e8edc870e28366ad88709f1232d002ffd9810cf3", + "version": "1.17.1", + "port-version": 0 + }, + { + "git-tree": "c5804d5f576169610ec03d2803f9d8a03678cc95", + "version": "1.16.2", + "port-version": 4 + }, + { + "git-tree": "7a7e6f9ecf73d0a2ec27e9a70a099746e643ec84", + "version": "1.16.2", + "port-version": 3 + }, + { + "git-tree": "9e3f77f8b4d02d2a5bd898b0ca96031da57aae12", + "version": "1.16.2", + "port-version": 2 + }, + { + "git-tree": "09ffff4bc160350ef161188b000610cbe9cfff8e", + "version": "1.16.2", + "port-version": 1 + }, + { + "git-tree": "07289b1edb75fecd2b706118b1a0919c5903c1c3", + "version": "1.16.2", + "port-version": 0 + }, + { + "git-tree": "5ae92557bdcf5f6dc8364cb179fd8fe57b0698ce", + "version": "1.16.1", + "port-version": 0 + }, + { + "git-tree": "6cf38af57700ebdb1933bd3e4f4c0580de8aaab9", + "version": "1.16.0", + "port-version": 1 + }, { "git-tree": "0e16b66d1552c1cbda240f8a11d65895c607e6b5", "version": "1.16.0", diff --git a/versions/c-/calceph.json b/versions/c-/calceph.json index d415cc1bda3926..d2cfcd7e488c5e 100644 --- a/versions/c-/calceph.json +++ b/versions/c-/calceph.json @@ -1,5 +1,50 @@ { "versions": [ + { + "git-tree": "39ac246456a1696374698c2544fd23da60fbe918", + "version": "4.0.1", + "port-version": 0 + }, + { + "git-tree": "0e91c8461694ab6c706f739be3be47f367464157", + "version": "4.0.0", + "port-version": 0 + }, + { + "git-tree": "068e74605df6b8a253d6f659db2e2114d1764588", + "version": "3.5.5", + "port-version": 0 + }, + { + "git-tree": "3602c8d1030d2f0260d5de2104b5111fd4f7f253", + "version": "3.5.4", + "port-version": 0 + }, + { + "git-tree": "e1167b91f758af9aa0077bdee620995c65898554", + "version": "3.5.2", + "port-version": 0 + }, + { + "git-tree": "66e61e880b832f24343545815d796cc529c4f503", + "version": "3.5.1", + "port-version": 1 + }, + { + "git-tree": "98f9a949826498f0929b5745fff07fb9747b82fa", + "version": "3.5.1", + "port-version": 0 + }, + { + "git-tree": "f9919835108077ed1a077ef023b60903f52df42c", + "version": "3.5.0", + "port-version": 2 + }, + { + "git-tree": "48bd1ecc8648d44291fbaf0a11f5f12aa017c077", + "version": "3.5.0", + "port-version": 1 + }, { "git-tree": "d2665db7558ef66aa086f95b155e61b15bd56848", "version": "3.5.0", diff --git a/versions/c-/camport3.json b/versions/c-/camport3.json index 6de0f201fb54b5..09375b26a3e87d 100644 --- a/versions/c-/camport3.json +++ b/versions/c-/camport3.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "f8fd1afea0703ffb17838422fd2aef895ab8c828", + "version": "1.6.2", + "port-version": 0 + }, + { + "git-tree": "ed31882bd5119a95ef69ba8323e0f4575ee5dc6d", + "version-string": "1.5.3", + "port-version": 2 + }, { "git-tree": "da6cb57213a9c5e3e4877a1c2278524f6228a80b", "version-string": "1.5.3", diff --git a/versions/c-/canvas-ity.json b/versions/c-/canvas-ity.json new file mode 100644 index 00000000000000..560454c5cec02c --- /dev/null +++ b/versions/c-/canvas-ity.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "ba934f25e09c4ade51de82b8b8213ec2068aa826", + "version": "1.0", + "port-version": 0 + } + ] +} diff --git a/versions/c-/capnproto.json b/versions/c-/capnproto.json index cf51d2af2b9fe6..7e430ee7b3bc60 100644 --- a/versions/c-/capnproto.json +++ b/versions/c-/capnproto.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "38a65f51f26928a3ea7bed90ada2ec4081091a6b", + "version": "1.0.2", + "port-version": 1 + }, + { + "git-tree": "52f73df5478fbcdb34b8dd5dd8d488672031cc32", + "version": "1.0.2", + "port-version": 0 + }, + { + "git-tree": "4a615543c6406b84fc52a931335d7fdb70037627", + "version": "1.0.1", + "port-version": 0 + }, + { + "git-tree": "928a9a658c34e9a664531e0a6762a60408737e54", + "version": "0.10.3", + "port-version": 0 + }, + { + "git-tree": "39b6753b801bbb3981ed2622a92c9b1642e11fde", + "version": "0.10.2", + "port-version": 0 + }, + { + "git-tree": "17b054432f141c746019130d2b689d4fd4919938", + "version": "0.9.1", + "port-version": 2 + }, { "git-tree": "129b6b745372d94f313df0989ad6a8980d7eaef7", "version": "0.9.1", diff --git a/versions/c-/capstone.json b/versions/c-/capstone.json index bcd224fa77aa3d..837b8c8635a0b6 100644 --- a/versions/c-/capstone.json +++ b/versions/c-/capstone.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "cb3992e2d7e4d93f74f8e3eaa659a0fea78cce75", + "version": "5.0.3", + "port-version": 0 + }, + { + "git-tree": "d2879a914b5c261ad9fb1b48b921a4d53a486eb0", + "version": "5.0.1", + "port-version": 1 + }, + { + "git-tree": "4c89ad8669fdc6aa946d13cfe053a64fa50f75a7", + "version": "5.0.1", + "port-version": 0 + }, + { + "git-tree": "3c9184889dd21d609401fe4ea34fa5320a9443a2", + "version": "5.0.0-rc2", + "port-version": 2 + }, + { + "git-tree": "f31ba3baba34c74dea464d864cca666c8793b1e7", + "version": "5.0.0-rc2", + "port-version": 1 + }, + { + "git-tree": "f7b26d8f672f30156cad79a647525b8dd8c9781b", + "version": "5.0.0-rc2", + "port-version": 0 + }, + { + "git-tree": "5250715402bf0c970792dafe6947aa810adde0f1", + "version": "4.0.2", + "port-version": 3 + }, { "git-tree": "465e527988f09c855e156cff45b7ee6dfbe1d303", "version": "4.0.2", diff --git a/versions/c-/cargs.json b/versions/c-/cargs.json new file mode 100644 index 00000000000000..e2de1f08cfe14c --- /dev/null +++ b/versions/c-/cargs.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "565c2ef367c9972223c54bec0153eb3a288780ef", + "version": "1.2.0", + "port-version": 0 + }, + { + "git-tree": "88fea433a3287ccd49ae6a5bb168071418fa4469", + "version": "1.1.0", + "port-version": 0 + }, + { + "git-tree": "afa520193b882259b02bd2f8646982d340374d2d", + "version": "1.0.3", + "port-version": 0 + } + ] +} diff --git a/versions/c-/cartographer.json b/versions/c-/cartographer.json index 6f59ae5c237a6f..4f60b8c9abf8a6 100644 --- a/versions/c-/cartographer.json +++ b/versions/c-/cartographer.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "917d4ac19da5414db7ad690f8f315821b94a40ba", + "version": "1.0.0", + "port-version": 6 + }, + { + "git-tree": "b0e352bf9c678b6425f767a21470b2c8ef3f79b9", + "version": "1.0.0", + "port-version": 5 + }, { "git-tree": "ec66f22ef7f9e652008269b8419a34350d97accf", "version": "1.0.0", diff --git a/versions/c-/casadi.json b/versions/c-/casadi.json new file mode 100644 index 00000000000000..0cadc0a69ddafc --- /dev/null +++ b/versions/c-/casadi.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "1adbc7383777c7c21ca1dea604f4a4c75780fe6e", + "version": "3.6.7", + "port-version": 0 + } + ] +} diff --git a/versions/c-/casclib.json b/versions/c-/casclib.json index 14dcef298d9306..8dc892bf9df17c 100644 --- a/versions/c-/casclib.json +++ b/versions/c-/casclib.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "a60d5ee653ba75af85f76d88f2540c61bfc7741e", + "version-date": "2024-06-05", + "port-version": 0 + }, + { + "git-tree": "3bb7640c26eb7b742883277db2325a69c6c790aa", + "version-date": "2021-11-16", + "port-version": 1 + }, { "git-tree": "20768d4f95c896b3b416aab76cc04c8dfa6e1244", "version-date": "2021-11-16", diff --git a/versions/c-/catch-classic.json b/versions/c-/catch-classic.json index 18bb78d6f8dd1d..56dd2672253e56 100644 --- a/versions/c-/catch-classic.json +++ b/versions/c-/catch-classic.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "69c262237024b0aa361d06923511a4d571355b50", + "version": "1.12.2", + "port-version": 2 + }, { "git-tree": "a85b3103dd134a7fadafe0c7c5d67042ab4c2b18", "version-string": "1.12.2", diff --git a/versions/c-/catch2.json b/versions/c-/catch2.json index ff3158afeb8d5b..9bd1dd2ead94cc 100644 --- a/versions/c-/catch2.json +++ b/versions/c-/catch2.json @@ -1,5 +1,145 @@ { "versions": [ + { + "git-tree": "6f03dab61d096d616b0c745d442d406e525f4b7f", + "version-semver": "3.7.1", + "port-version": 0 + }, + { + "git-tree": "9070b97a2de0f4d50fbfa7a97602d667afacb50d", + "version-semver": "3.7.0", + "port-version": 0 + }, + { + "git-tree": "f61acaeefdf6127fa878f7192fc109fa8e1a0135", + "version-semver": "3.6.0", + "port-version": 0 + }, + { + "git-tree": "79536429a52319190e793f8ec7c19c6142b26bd4", + "version-semver": "3.5.4", + "port-version": 0 + }, + { + "git-tree": "cc06710d58447379132032c7b5da0ebf6a3fef9f", + "version-semver": "3.5.3", + "port-version": 0 + }, + { + "git-tree": "9f5159aa8db5056e1f5531bc4292c27499e23f9a", + "version-semver": "3.5.2", + "port-version": 0 + }, + { + "git-tree": "9b749693bba3f346f03e2ccd047ee26b22c123c3", + "version-semver": "3.5.1", + "port-version": 0 + }, + { + "git-tree": "6bac6509e806556e539c116680228c6df5802ed4", + "version-semver": "3.5.0", + "port-version": 0 + }, + { + "git-tree": "5796c1c0513a7b49f135e8acdd1976f53e9944ea", + "version-semver": "3.4.0", + "port-version": 0 + }, + { + "git-tree": "8dc2e0cb32d0c1e0a12684a3628c926157f36ddd", + "version-semver": "3.3.2", + "port-version": 1 + }, + { + "git-tree": "e776d4cb313c846f6de82c05fa2ab9b7748edb6b", + "version-semver": "3.3.2", + "port-version": 0 + }, + { + "git-tree": "7d7bef305b7affebc6f3ccacd12874ebd4fbfc50", + "version-semver": "3.3.1", + "port-version": 0 + }, + { + "git-tree": "cfb2a80de586b148c9dd6956bf6aca7501d411db", + "version-semver": "3.3.0", + "port-version": 0 + }, + { + "git-tree": "43e022b806928c512e298052ad4fae210998a846", + "version-semver": "3.2.1", + "port-version": 0 + }, + { + "git-tree": "9dd2bc1c39e6f6262dc7741b24514e76d6f1d8da", + "version-semver": "3.2.0", + "port-version": 0 + }, + { + "git-tree": "20c94cd5ff35ec979a2ad463322dc8a2a697acc7", + "version-semver": "3.1.1", + "port-version": 2 + }, + { + "git-tree": "d83c493274ecc1798d1d4ac05bf83eedec161695", + "version-semver": "3.1.1", + "port-version": 1 + }, + { + "git-tree": "44a94453e68878bf44df00e51bae5115dff3baa8", + "version-semver": "3.1.1", + "port-version": 0 + }, + { + "git-tree": "286e5ac6cd8702b9b6cf6f486c35cc2516c7950b", + "version-semver": "3.1.0", + "port-version": 1 + }, + { + "git-tree": "414a5ef901a6f05c85b4f19ff2d0d216933a65b1", + "version-semver": "3.1.0", + "port-version": 0 + }, + { + "git-tree": "1c528318ebe10c945563bf9942c8b2141253bf87", + "version-semver": "3.0.1", + "port-version": 2 + }, + { + "git-tree": "8de83e7d7f07a831293d15e747aa7a980a220ff7", + "version-semver": "3.0.1", + "port-version": 1 + }, + { + "git-tree": "c0c872e7175f3ca20a15f5c8cc0d0c23e59e1ad1", + "version-semver": "3.0.1", + "port-version": 0 + }, + { + "git-tree": "ed81e9ef2d6ef2020605ec6ba1092a2ab631305a", + "version-semver": "2.13.9", + "port-version": 1 + }, + { + "git-tree": "6cc0b5f2cef9c98ad5c3152ebfbe85f1b9baceed", + "version-semver": "2.13.9", + "port-version": 0 + }, + { + "git-tree": "c243585b5ba220e6aebcdb59dc59867afff7af6e", + "version-semver": "2.13.8", + "port-version": 1 + }, + { + "git-tree": "b58473cdc953ae1d09f30f0ba1e641c6cc34719f", + "version-semver": "2.13.8", + "port-version": 0 + }, + { + "git-tree": "0660c4bbbe5bb0f8a605f956ae7d16f055e0e8c3", + "version-semver": "2.13.7", + "port-version": 2 + }, { "git-tree": "4df380019e5c3a0e450798db43d9ce70906b7aad", "version-semver": "2.13.7", diff --git a/versions/c-/cblas.json b/versions/c-/cblas.json new file mode 100644 index 00000000000000..067bf5bfbac0dd --- /dev/null +++ b/versions/c-/cblas.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "6a032c6c0adaaff9972edc4d05b0a8e3d189e810", + "version-date": "2024-03-19", + "port-version": 0 + } + ] +} diff --git a/versions/c-/ccd.json b/versions/c-/ccd.json index 9e383a9c1f34d3..a0ded18913e6f6 100644 --- a/versions/c-/ccd.json +++ b/versions/c-/ccd.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "a6cd46396151b69680100934c824c290c7057379", + "version": "2.1", + "port-version": 4 + }, { "git-tree": "8e6fc55567d05873ba6f78c3c33363a0fd9a1549", "version-string": "2.1-4", diff --git a/versions/c-/ccfits.json b/versions/c-/ccfits.json index 7bf0a662a0a9c6..bd5761daeb46bd 100644 --- a/versions/c-/ccfits.json +++ b/versions/c-/ccfits.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "fb77eeca221ca6178425982576dd57f7657c87e5", + "version": "2.5", + "port-version": 13 + }, + { + "git-tree": "eb6cf964f54147b38cb3bf2df9f70700d733ae25", + "version": "2.5", + "port-version": 12 + }, + { + "git-tree": "69b00d0813b3ec9b7b963f07cf570cca5a8e2fd5", + "version": "2.5", + "port-version": 11 + }, + { + "git-tree": "77b570d63ebf64b4110d2555ce945144cc695364", + "version": "2.5", + "port-version": 10 + }, + { + "git-tree": "659ca5a77df9383a31166079a5f08ce70400d4ab", + "version": "2.5", + "port-version": 9 + }, { "git-tree": "ebcb81196a7e63b3b7c4b78f67ebc4e5f20c97c3", "version": "2.5", diff --git a/versions/c-/cctag.json b/versions/c-/cctag.json index fd2de346b08e94..d50eb95f094a10 100644 --- a/versions/c-/cctag.json +++ b/versions/c-/cctag.json @@ -1,5 +1,55 @@ { "versions": [ + { + "git-tree": "ce8749684cd638c95c3e2ff15ea713ae11cd991d", + "version-semver": "1.0.4", + "port-version": 0 + }, + { + "git-tree": "43157f8be9e5020e0e2ab708ec931f4cb3266b31", + "version-semver": "1.0.3", + "port-version": 0 + }, + { + "git-tree": "bc6878b6e5119f0b4b5f90b4b09e02bd50c9b213", + "version-semver": "1.0.2", + "port-version": 7 + }, + { + "git-tree": "56e88632d9e1fd1d826e9486e66533cb8baddef8", + "version-semver": "1.0.2", + "port-version": 6 + }, + { + "git-tree": "e4342449ae8be5c660e94cbb11588ea4649520cd", + "version-semver": "1.0.2", + "port-version": 5 + }, + { + "git-tree": "2827046cf8d7fe6c0d9003a927dcfc1f33d4469b", + "version-semver": "1.0.2", + "port-version": 4 + }, + { + "git-tree": "a54aac960d7c5e10bf85b66fb8e1cd9a7a384f64", + "version-semver": "1.0.2", + "port-version": 3 + }, + { + "git-tree": "e9166dee873ce930a3c5e12b544dc47583343221", + "version-semver": "1.0.2", + "port-version": 2 + }, + { + "git-tree": "979f28c0cc646b1a4c057ee810772a6b8964b65a", + "version-semver": "1.0.2", + "port-version": 1 + }, + { + "git-tree": "41cef2a0749658a793585a55c57cb701e0845427", + "version-semver": "1.0.2", + "port-version": 0 + }, { "git-tree": "ffcc7bde96142c2bc54827e3a2280accc592452e", "version-semver": "1.0.1", diff --git a/versions/c-/cctz.json b/versions/c-/cctz.json index d93ed179261034..50a975f6176ae4 100644 --- a/versions/c-/cctz.json +++ b/versions/c-/cctz.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "cd30239fce330035db98ca313f5cebaa4b76da8d", + "version": "2.4", + "port-version": 0 + }, + { + "git-tree": "527442456bc48c0fd960541f6489dd0ac2add02c", + "version": "2.3", + "port-version": 7 + }, + { + "git-tree": "02114f18edd1088204f039ab6bc662e23d2e4fcc", + "version": "2.3", + "port-version": 6 + }, + { + "git-tree": "4fb611037401f6c457c45f90d7a462fa13f6f1b1", + "version": "2.3", + "port-version": 5 + }, + { + "git-tree": "d9230440e30edf443d69ac13244f53b6191742ae", + "version-string": "2.3", + "port-version": 4 + }, { "git-tree": "b61e635e32027714e10e682235c9f3c5b8b1b1e9", "version-string": "2.3", diff --git a/versions/c-/cddlib.json b/versions/c-/cddlib.json new file mode 100644 index 00000000000000..051cf34eeb2714 --- /dev/null +++ b/versions/c-/cddlib.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "0bb4839476e2e904a3afcde5003ae2fe7237efd7", + "version-string": "0.94m", + "port-version": 0 + } + ] +} diff --git a/versions/c-/cdt.json b/versions/c-/cdt.json new file mode 100644 index 00000000000000..ba86fca486061e --- /dev/null +++ b/versions/c-/cdt.json @@ -0,0 +1,29 @@ +{ + "versions": [ + { + "git-tree": "b820cb55b211bb8993d3ac32147e6f431341e04b", + "version": "1.4.1", + "port-version": 0 + }, + { + "git-tree": "c36b649de1fc9f199628cbceb460d9304dd87a99", + "version": "1.4.0", + "port-version": 0 + }, + { + "git-tree": "2455f0f823d6e0f87540a29206f2779004aedce0", + "version": "1.3.0", + "port-version": 0 + }, + { + "git-tree": "ddc92ab3ef284f9643001138f8ed320a2417a80f", + "version": "1.2.0", + "port-version": 1 + }, + { + "git-tree": "d04985a703ae8b9201876879003d44c84f719a3a", + "version": "1.2.0", + "port-version": 0 + } + ] +} diff --git a/versions/c-/celero.json b/versions/c-/celero.json index ccc9cac516983c..94486f28fdb37b 100644 --- a/versions/c-/celero.json +++ b/versions/c-/celero.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "1b4a2230664d3439e53d60370aa383ec540f6362", + "version": "2.9.0", + "port-version": 0 + }, + { + "git-tree": "cf7909a1c7934793bb36ecf3d70a7dade2dcf983", + "version": "2.8.5", + "port-version": 0 + }, + { + "git-tree": "a9beee7ba313a9770888b114a8146bc1a983577e", + "version": "2.8.3", + "port-version": 0 + }, { "git-tree": "58fca5af8a14714f953c3d8a4653e90ac8d11e2f", "version-string": "2.8.2", diff --git a/versions/c-/cello.json b/versions/c-/cello.json index 1151051309026c..4ed1b958709f03 100644 --- a/versions/c-/cello.json +++ b/versions/c-/cello.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "77bec04318495925112bdf302bafc14956dde6c9", + "version-date": "2019-07-23", + "port-version": 4 + }, + { + "git-tree": "999cf1c190507b8494ddff1188f613bd4b6616ce", + "version-date": "2019-07-23", + "port-version": 3 + }, + { + "git-tree": "a281b67048d19f8136aaa8e0198b1db5dec5c4dd", + "version-date": "2019-07-23", + "port-version": 2 + }, { "git-tree": "45d476438561ae8c8e7a8eb7871faadb1379e874", "version-string": "2019-07-23", diff --git a/versions/c-/cereal.json b/versions/c-/cereal.json index e74d7fc264dcb0..9ceeed2ddaa46f 100644 --- a/versions/c-/cereal.json +++ b/versions/c-/cereal.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "075869fcf5302c6dd11d564286d0dfa1d2d4d7a1", + "version": "1.3.2", + "port-version": 1 + }, + { + "git-tree": "fdaabbb005403148dd7e53f5158199f6b1b297f2", + "version": "1.3.2", + "port-version": 0 + }, + { + "git-tree": "e292069bec2c118568ea23a3db965037a9e38790", + "version": "1.3.1", + "port-version": 0 + }, { "git-tree": "7229804bbf716bbefe8052d650fc94687b6dae42", "version-string": "1.3.0", diff --git a/versions/c-/ceres.json b/versions/c-/ceres.json index b2284cd17c9e0e..eefdfc508f37b3 100644 --- a/versions/c-/ceres.json +++ b/versions/c-/ceres.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "213619bf4451443bd69f784f9a7fa32fc2436e07", + "version": "2.1.0", + "port-version": 5 + }, + { + "git-tree": "b2ebeb85c8833b2631210c4b790204151e402981", + "version": "2.1.0", + "port-version": 4 + }, + { + "git-tree": "41580e5d78c0894588ee748ef09366ff9309aa0c", + "version": "2.1.0", + "port-version": 3 + }, + { + "git-tree": "4baf16216d2d50574964ba5795a501bb89193042", + "version": "2.1.0", + "port-version": 2 + }, + { + "git-tree": "85a5ff9f8727124ce91655f2d37b9a6c77f367e1", + "version": "2.1.0", + "port-version": 1 + }, + { + "git-tree": "d3ebf81bee31323b13ad3353b6dbf9944b03abe3", + "version": "2.1.0", + "port-version": 0 + }, + { + "git-tree": "af54888fc010404793ba51c862147575c09a988b", + "version-semver": "2.0.0", + "port-version": 6 + }, { "git-tree": "07f2aa6906e97637ae7a4ed6dcfce6867eb1a049", "version-semver": "2.0.0", diff --git a/versions/c-/cfitsio.json b/versions/c-/cfitsio.json index adf8116dd3323e..3a733a793dfc05 100644 --- a/versions/c-/cfitsio.json +++ b/versions/c-/cfitsio.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "377eefb3e3da6d29bef536b11ce301217129e34c", + "version": "3.49", + "port-version": 6 + }, + { + "git-tree": "373230dbd5e9968b5efd6b9d7227accc836b840f", + "version": "3.49", + "port-version": 5 + }, + { + "git-tree": "b2df854891a5beda50e8cf8004a7af0766c5c5bc", + "version": "3.49", + "port-version": 4 + }, + { + "git-tree": "b3f1a4860fc51b43140dc7139dd262f93e4a949d", + "version": "3.49", + "port-version": 3 + }, + { + "git-tree": "bc1418de4f14dd9c1a7e9c9ebc8d8015e1769935", + "version": "3.49", + "port-version": 2 + }, { "git-tree": "0ed894cb8efbfd277570991a78f29b70e4e931cd", "version": "3.49", diff --git a/versions/c-/cgal.json b/versions/c-/cgal.json index f434901701ed53..a438cbcf37251a 100644 --- a/versions/c-/cgal.json +++ b/versions/c-/cgal.json @@ -1,5 +1,95 @@ { "versions": [ + { + "git-tree": "72f95d74f101763f740375bfecc249c096e9ff58", + "version": "6.0.1", + "port-version": 0 + }, + { + "git-tree": "f1be286404a2a318493e10e1818b244e2772f2f0", + "version": "6.0", + "port-version": 0 + }, + { + "git-tree": "194089df2abf78f3701c7be7d51ddb25feaf108e", + "version": "5.6.1", + "port-version": 1 + }, + { + "git-tree": "b207625af76c42809d62b804390364ea872392b5", + "version": "5.6.1", + "port-version": 0 + }, + { + "git-tree": "daf7cc06ce0247101d1f713013a1a12416da5111", + "version": "5.6", + "port-version": 1 + }, + { + "git-tree": "313da2aa8d1221c449a211a4d04a0d5976ae8930", + "version": "5.6", + "port-version": 0 + }, + { + "git-tree": "2361640f4f9d33c828b66c32b900beda59a63036", + "version": "5.5.3", + "port-version": 0 + }, + { + "git-tree": "339e2b1de050beafb97938c210b823c04182e206", + "version": "5.5.2", + "port-version": 1 + }, + { + "git-tree": "ddfb9d5fd8c8cd1a799af276c972b376f35f1267", + "version": "5.5.2", + "port-version": 0 + }, + { + "git-tree": "c86a34d296e485658d16306521425545f3e625ab", + "version": "5.5.1", + "port-version": 0 + }, + { + "git-tree": "2ef909832bf3d0f379a471e143e8eb5c9aa938cd", + "version": "5.5", + "port-version": 1 + }, + { + "git-tree": "7cbf69841400a6d51bc3db55b35524a22efcafd1", + "version": "5.5", + "port-version": 0 + }, + { + "git-tree": "848c2d53e283533691f59e2d7faee6ffd9bbe2f2", + "version": "5.4.2", + "port-version": 0 + }, + { + "git-tree": "de8aef00f45ff890d5b4ce4aae56afbc559a5fea", + "version": "5.4.1", + "port-version": 1 + }, + { + "git-tree": "898c2a987fc0104e3c8ba17afde418672e3b0019", + "version": "5.4.1", + "port-version": 0 + }, + { + "git-tree": "9b768fd944908a816ec83a1ff7cb37249aea808e", + "version": "5.4", + "port-version": 1 + }, + { + "git-tree": "0acdd574cd028b7ca4acd762f01938492c6d4719", + "version": "5.4", + "port-version": 0 + }, + { + "git-tree": "da69aec4c03275e85108ebc2dc2d512057d6ac32", + "version": "5.3.1", + "port-version": 0 + }, { "git-tree": "9c46ed672d5f8a2791349c1af1b44ed7dfcb6dd6", "version": "5.3", diff --git a/versions/c-/cgicc.json b/versions/c-/cgicc.json index dadc9573594247..47fe8b35c8bb06 100644 --- a/versions/c-/cgicc.json +++ b/versions/c-/cgicc.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "d14a5cb5e4d6f0606e2071d1c94262916a45fd6b", + "version": "3.2.20", + "port-version": 1 + }, + { + "git-tree": "f9e35a8d1360fc1eb4f323ef22e461d0e5926a90", + "version": "3.2.20", + "port-version": 0 + }, + { + "git-tree": "60fd4672dd6d913e3af2560314dd31bed192a205", + "version": "3.2.19", + "port-version": 7 + }, + { + "git-tree": "e5359ace765633e6912eb2898e175f797c6b2d45", + "version-string": "3.2.19", + "port-version": 6 + }, { "git-tree": "a6113e1a5fcadb00943ea3775b6978950b387903", "version-string": "3.2.19", diff --git a/versions/c-/cglm.json b/versions/c-/cglm.json new file mode 100644 index 00000000000000..5dc3c80be7d051 --- /dev/null +++ b/versions/c-/cglm.json @@ -0,0 +1,34 @@ +{ + "versions": [ + { + "git-tree": "7b7c4261fc7112e959687b9e61f94f05348cdd9c", + "version-semver": "0.9.4", + "port-version": 0 + }, + { + "git-tree": "89b93a34ee7896b76bd78e8584deddbf96d203d9", + "version-semver": "0.9.2", + "port-version": 1 + }, + { + "git-tree": "307a5dca27758987b25ae8f1868c50f3c332d3d6", + "version-semver": "0.9.2", + "port-version": 0 + }, + { + "git-tree": "996a91ff669c42bc3976231465129ab0f706eb54", + "version-semver": "0.9.1", + "port-version": 1 + }, + { + "git-tree": "bd33408300b3151706176a80ff4ef80bf6e10284", + "version-semver": "0.9.1", + "port-version": 0 + }, + { + "git-tree": "557e5a80c4a0ef39aa20af00929e2234794b3c3d", + "version-semver": "0.8.8", + "port-version": 0 + } + ] +} diff --git a/versions/c-/cgltf.json b/versions/c-/cgltf.json index 2e9f77ff64b52d..9650b46363bd3a 100644 --- a/versions/c-/cgltf.json +++ b/versions/c-/cgltf.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "9e21f85900222031c3343b9f2c69b48e32a37782", + "version": "1.14", + "port-version": 0 + }, + { + "git-tree": "2baab070728dce2d5193a80e1deb7c41caa041f1", + "version": "1.13", + "port-version": 0 + }, { "git-tree": "2b793ed9e4345b733ec3897b1fbed4e152b5fc4a", "version": "1.11", diff --git a/versions/c-/cgns.json b/versions/c-/cgns.json index bc33d2bd991678..3965ff7278d783 100644 --- a/versions/c-/cgns.json +++ b/versions/c-/cgns.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "3888323fcc200e6d78c882a04c0604acd8281084", + "version-semver": "4.4.0", + "port-version": 0 + }, + { + "git-tree": "9d4b2d4f75c71bf4a4b66a6cb8bf79e119be4dd7", + "version-semver": "4.3.0", + "port-version": 5 + }, + { + "git-tree": "98f56fa77d5ab2c24d5d8a9932129626feb65df5", + "version-semver": "4.3.0", + "port-version": 4 + }, + { + "git-tree": "3a5778901a44a39370c08cf42ad0de44223090c0", + "version-semver": "4.3.0", + "port-version": 3 + }, + { + "git-tree": "42310ddda48bebfc2b1518c3cf99f4f8b21432e4", + "version-semver": "4.3.0", + "port-version": 2 + }, + { + "git-tree": "1733a3011caebf67ccbe1d48ea08c92e87d186e0", + "version-semver": "4.3.0", + "port-version": 1 + }, + { + "git-tree": "0d2c412303ae38864d8ff36777cc22bfc404b9b6", + "version-semver": "4.3.0", + "port-version": 0 + }, { "git-tree": "9d33908ce58fbfa6e823c937716e57d84d1cb2a5", "version-semver": "4.2.0", diff --git a/versions/c-/chaiscript.json b/versions/c-/chaiscript.json index 39bb67f16cae50..a61224cd62f974 100644 --- a/versions/c-/chaiscript.json +++ b/versions/c-/chaiscript.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "2745618f1726fd950c1f3aae35c8ceff2e11796e", + "version": "6.1.0", + "port-version": 3 + }, { "git-tree": "e661b450987c9f41f4cda3faed9067e54fe65f62", "version-string": "6.1.0", diff --git a/versions/c-/chakracore.json b/versions/c-/chakracore.json index 66253a2e8381ac..08a347c3462ca7 100644 --- a/versions/c-/chakracore.json +++ b/versions/c-/chakracore.json @@ -1,5 +1,65 @@ { "versions": [ + { + "git-tree": "04e8036ad8fd92b15cd9186794c4d1d68c4f6479", + "version-date": "2022-11-09", + "port-version": 7 + }, + { + "git-tree": "e1446838cc63899b04eee045e2744d7d59a42a14", + "version-date": "2024-04-20", + "port-version": 0 + }, + { + "git-tree": "0389158f1c3dfb6596f8bc991223e384ddeb6673", + "version-date": "2022-11-09", + "port-version": 6 + }, + { + "git-tree": "98c62c0fbb2d410646eec57ce65ec0b91ad19fcf", + "version-date": "2022-11-09", + "port-version": 5 + }, + { + "git-tree": "cc06634190b18bc8003202b9490c6af7919821a3", + "version-date": "2022-11-09", + "port-version": 4 + }, + { + "git-tree": "0e3461099e02572100a3a6731b04fa0c3d12b223", + "version-date": "2022-11-09", + "port-version": 3 + }, + { + "git-tree": "637e8045c68adfe4a6164f368027093dffb79ab6", + "version-date": "2022-11-09", + "port-version": 2 + }, + { + "git-tree": "5683685d0b153859c9547c04beafa4543b58bc26", + "version-date": "2022-11-09", + "port-version": 1 + }, + { + "git-tree": "ff01bf142bf069ad4d58ef77933eec4430be79aa", + "version-date": "2022-11-09", + "port-version": 0 + }, + { + "git-tree": "b1fb3c3a83f78bfa4191c376d026a7768257c9db", + "version-date": "2021-04-22", + "port-version": 3 + }, + { + "git-tree": "614248322cae7f18cd412cc90848a9f140ec9f60", + "version-date": "2021-04-22", + "port-version": 2 + }, + { + "git-tree": "8ce7ea484830cdf24c8af45ebad35ba10e76f61c", + "version-date": "2021-04-22", + "port-version": 1 + }, { "git-tree": "0aa775c085b114b0ec67ea23ee99ece252d9e498", "version-string": "2021-04-22", diff --git a/versions/c-/charls.json b/versions/c-/charls.json index e2f9510e0f455e..ae697074ce4d13 100644 --- a/versions/c-/charls.json +++ b/versions/c-/charls.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "f9909aaef0219e8727c8f7e22ab93cf3aabbc685", + "version": "2.4.2", + "port-version": 0 + }, + { + "git-tree": "5459a82cfd650a18a79539aa30a03fa751a8cfcb", + "version": "2.4.1", + "port-version": 0 + }, + { + "git-tree": "bb6273d01bce3793f42709b833ac47ff0afe71a6", + "version": "2.3.4", + "port-version": 0 + }, { "git-tree": "215d96df3e02eb0bfaae991586f4b64fd03c6cf2", "version-string": "2.2.0", diff --git a/versions/c-/chartdir.json b/versions/c-/chartdir.json index 13afedbde2ad4d..8df13628b1b08e 100644 --- a/versions/c-/chartdir.json +++ b/versions/c-/chartdir.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "4de62166c67f2104f1e7180f04f1d5954d8e464a", + "version": "7.0.0", + "port-version": 7 + }, + { + "git-tree": "fecdbc20f2f4e027680223768c9a312c13cf4a75", + "version": "7.0.0", + "port-version": 6 + }, + { + "git-tree": "004cfa7f9fabe534a808428ba7b6c6e3844153b9", + "version": "7.0.0", + "port-version": 5 + }, + { + "git-tree": "7f64b5801adec2ea3f13517ffa35bd96b6a8bb9f", + "version": "7.0.0", + "port-version": 4 + }, + { + "git-tree": "2b4bad1eb46439cbd63295d8120f03966c52d162", + "version": "7.0.0", + "port-version": 3 + }, + { + "git-tree": "fe0cf0c045f1092f18faa48f70b6b23d66e6298e", + "version": "7.0.0", + "port-version": 2 + }, { "git-tree": "fc56555cd56d261127f985f6208cb23258dcb262", "version": "7.0.0", diff --git a/versions/c-/check.json b/versions/c-/check.json index c8884ded5ddf3e..2be960805e8084 100644 --- a/versions/c-/check.json +++ b/versions/c-/check.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "c993fcbc415d3c12c9161215529c1d36ba7e5f96", + "version": "0.15.2", + "port-version": 5 + }, + { + "git-tree": "d3b96c10d08746796f0e7540f9cb896b263cd4a9", + "version": "0.15.2", + "port-version": 4 + }, + { + "git-tree": "f9804577939493b7f7934d98adc953624e0020c4", + "version": "0.15.2", + "port-version": 3 + }, { "git-tree": "f88273666d201fd843e12ba5d98d4ed8a10bd576", "version-string": "0.15.2", diff --git a/versions/c-/chipmunk.json b/versions/c-/chipmunk.json index f785d5eb8495bc..7df654f2de7c76 100644 --- a/versions/c-/chipmunk.json +++ b/versions/c-/chipmunk.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "860e99dc5300cd7f253d6f69ae01437cfed119a9", + "version": "7.0.3", + "port-version": 7 + }, + { + "git-tree": "daaeebb368f5c367d7005bb828913f8e158648c1", + "version": "7.0.3", + "port-version": 6 + }, + { + "git-tree": "949b207c326b9ded582e3360db0375bfbde8e136", + "version": "7.0.3", + "port-version": 5 + }, + { + "git-tree": "0e48ba1fd1de2d9df5d51fa83d6563777053a9e2", + "version": "7.0.3", + "port-version": 4 + }, + { + "git-tree": "2d56c98d1d491f822d5f74d312e45b51a0cfccfc", + "version-string": "7.0.3", + "port-version": 3 + }, { "git-tree": "d50838914429dd39c93a8d0974b4f786c53be83f", "version-string": "7.0.3", diff --git a/versions/c-/chmlib.json b/versions/c-/chmlib.json index 1986f3145af10e..4ed88d574e3043 100644 --- a/versions/c-/chmlib.json +++ b/versions/c-/chmlib.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "a737b2f42b3bcb4992f51baac9a1a9254691a835", + "version": "0.40", + "port-version": 8 + }, + { + "git-tree": "bfe4841377722e56ccb7817f6ad93fcf24eab13b", + "version": "0.40", + "port-version": 7 + }, + { + "git-tree": "eb8f888eae3c5747154d09844daadc5c117a8c38", + "version": "0.40", + "port-version": 6 + }, { "git-tree": "44371d51f30e27d0ccda47b2069b194c3c570ea4", "version-string": "0.40", diff --git a/versions/c-/chromaprint.json b/versions/c-/chromaprint.json index a97cedf9ced3e9..4d02a2d38b2961 100644 --- a/versions/c-/chromaprint.json +++ b/versions/c-/chromaprint.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "a33e3947df39a3ac4e7d434f7f3890d0bf80cf39", + "version": "1.5.1", + "port-version": 0 + }, + { + "git-tree": "2186fe85098c877929c5e1a8916ae9d23fc0a540", + "version": "1.5.0", + "port-version": 3 + }, + { + "git-tree": "d50d41c54f3aa2854ae05e64715100761517cb31", + "version": "1.5.0", + "port-version": 2 + }, { "git-tree": "d841d451ed68f08043a27b2ec0beb24d3a276c81", "version": "1.5.0", diff --git a/versions/c-/chromium-base.json b/versions/c-/chromium-base.json index d109033d439cfe..cb3c87223efa64 100644 --- a/versions/c-/chromium-base.json +++ b/versions/c-/chromium-base.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "7f3a0b54287d0d86a331bc8fdc004086b992ab05", + "version": "86.0.4199.1", + "port-version": 6 + }, + { + "git-tree": "08b399ae573db73407ae4095c79628553416a992", + "version": "86.0.4199.1", + "port-version": 5 + }, + { + "git-tree": "3dbf253ab140a0d754230e2cffa7b4f94686a9e9", + "version": "86.0.4199.1", + "port-version": 4 + }, + { + "git-tree": "36e6dbafdea0e90a8717907171efa375d2580d8b", + "version-string": "86.0.4199.1", + "port-version": 3 + }, { "git-tree": "e0ee4950d82a3613501a9647b688a451be6b187c", "version-string": "86.0.4199.1", diff --git a/versions/c-/chronoengine.json b/versions/c-/chronoengine.json new file mode 100644 index 00000000000000..942f1c0f74b00c --- /dev/null +++ b/versions/c-/chronoengine.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "07ebb1fbad61227d28d39339deaf8464abdc82b9", + "version": "8.0.0", + "port-version": 0 + } + ] +} diff --git a/versions/c-/cialloo-rcon.json b/versions/c-/cialloo-rcon.json new file mode 100644 index 00000000000000..d02323dbc0078c --- /dev/null +++ b/versions/c-/cialloo-rcon.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "15e453031d883d06102b67a48336af5c3930a1ae", + "version": "1.0.0", + "port-version": 0 + } + ] +} diff --git a/versions/c-/cimg.json b/versions/c-/cimg.json index 7f900ec6171836..ce188ada77d497 100644 --- a/versions/c-/cimg.json +++ b/versions/c-/cimg.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "cbdf83e75dfb6177ce460bbb289b5fa2b3aa410c", + "version": "3.4.1", + "port-version": 0 + }, + { + "git-tree": "1c08fdefb8bf0afdace2a7521533a3bd4fbd8f8d", + "version": "3.4.0", + "port-version": 0 + }, + { + "git-tree": "0b73bf0046233dd69f0dc7962a7e0c3f961be2bc", + "version": "3.3.2", + "port-version": 0 + }, { "git-tree": "2eac332b873f6a2b9108c3e71e59feec8efe5026", "version": "2.9.9", diff --git a/versions/c-/cista.json b/versions/c-/cista.json new file mode 100644 index 00000000000000..37f8bb28a21778 --- /dev/null +++ b/versions/c-/cista.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "41cd622182d0c97fda9f491fc064e17248809af5", + "version": "0.15", + "port-version": 0 + }, + { + "git-tree": "3fa4647485a95f3a0c72bf81938a4307ef0fa694", + "version": "0.14", + "port-version": 0 + }, + { + "git-tree": "3d9245928fb19ec93b7c1e98bd5acc2e8e56faa3", + "version": "0.11", + "port-version": 0 + } + ] +} diff --git a/versions/c-/cityhash.json b/versions/c-/cityhash.json index 8b55fa672a848b..8fb5a00903c701 100644 --- a/versions/c-/cityhash.json +++ b/versions/c-/cityhash.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "6ac425da00e37d679f49357b7871fff3f1c5f597", + "version-date": "2013-01-08", + "port-version": 3 + }, { "git-tree": "9c1b6eaaf15c06d436ce42331b84566abd931f53", "version-date": "2013-01-08", diff --git a/versions/c-/civetweb.json b/versions/c-/civetweb.json index 8c5b7c8e3068f7..1e1a69ef06c85a 100644 --- a/versions/c-/civetweb.json +++ b/versions/c-/civetweb.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "e4dd629e48dc2fc142165bf825c99512544b568c", + "version": "1.16", + "port-version": 2 + }, + { + "git-tree": "23fa18e460290d6b0629ca6487f69b56845cfbda", + "version": "1.16", + "port-version": 1 + }, + { + "git-tree": "46ba5309a5759827c0d729344e8f17cc5f3132b9", + "version": "1.16", + "port-version": 0 + }, + { + "git-tree": "10dad0fc40c4cb9fe210cabab019806d2b32230d", + "version": "1.15", + "port-version": 4 + }, + { + "git-tree": "a3847be52c382b4546939abf4ab3bf422bde1be3", + "version": "1.15", + "port-version": 3 + }, + { + "git-tree": "f5c4ed510288187d465737a301891b1101d6c373", + "version": "1.15", + "port-version": 2 + }, + { + "git-tree": "0e09fcaf964728e71394be1fc43d018fcde2e355", + "version": "1.15", + "port-version": 1 + }, { "git-tree": "536e2167b093981486715537c12a52d0696b3840", "version": "1.15", diff --git a/versions/c-/cjson.json b/versions/c-/cjson.json index d8f68b8d1d1e6a..fb9ba2fb0936d1 100644 --- a/versions/c-/cjson.json +++ b/versions/c-/cjson.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "dc5bbd0b7faf78acb68a65b06c0bc8bfdb0a7c2a", + "version": "1.7.18", + "port-version": 0 + }, + { + "git-tree": "3641d0d369b02515b4979956d884a2be91ac515b", + "version": "1.7.17", + "port-version": 0 + }, + { + "git-tree": "54c20c07a3f92d176d53cbe908313d717f746f6b", + "version": "1.7.16", + "port-version": 0 + }, + { + "git-tree": "025e76be26389108c3e0cf79e5ed1ea589c7b90e", + "version": "1.7.15", + "port-version": 2 + }, { "git-tree": "cb79fc0bdbc6754cf6c267d97e2825655929351b", "version": "1.7.15", diff --git a/versions/c-/clamav.json b/versions/c-/clamav.json index 6038414f131c12..a51d72a6974f51 100644 --- a/versions/c-/clamav.json +++ b/versions/c-/clamav.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "7a5d72a0592ed756c359a514d629900bdccd0e9a", + "version-semver": "0.103.11", + "port-version": 0 + }, + { + "git-tree": "e6af13bd82992b466df39229e4d4045895dbd023", + "version-semver": "0.103.0", + "port-version": 4 + }, + { + "git-tree": "36dda0d43469bb23e4d56b170e40261b810509f1", + "version-semver": "0.103.0", + "port-version": 3 + }, { "git-tree": "5580f5bf0e6812edc0e114f55b3377117b5aa6ff", "version-semver": "0.103.0", diff --git a/versions/c-/clap-cleveraudio.json b/versions/c-/clap-cleveraudio.json new file mode 100644 index 00000000000000..2a8a0cbd6a80e3 --- /dev/null +++ b/versions/c-/clap-cleveraudio.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "c4d72989ace30fdc1d4e4e706922d0de1d223b12", + "version-semver": "1.2.2", + "port-version": 0 + }, + { + "git-tree": "5ac28878d2cf7c0703073dda31120f634fb161a0", + "version-semver": "1.2.0", + "port-version": 0 + }, + { + "git-tree": "53d2e109c8c510419c0e2ecfc15beb707bb1215a", + "version-semver": "1.1.10", + "port-version": 0 + } + ] +} diff --git a/versions/c-/clapack.json b/versions/c-/clapack.json index f0700bc5a0ffa4..fe49646fda3247 100644 --- a/versions/c-/clapack.json +++ b/versions/c-/clapack.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "42a62cb53a007074bab56cc3086796b291428b4b", + "version": "3.2.1", + "port-version": 23 + }, + { + "git-tree": "0736bfcd19b6aaa7f1c75c10122433d4b4cc50a9", + "version": "3.2.1", + "port-version": 22 + }, + { + "git-tree": "f6f25a8699a34ca09b840a5e71b22ab8f6d01fda", + "version": "3.2.1", + "port-version": 21 + }, + { + "git-tree": "2fd47cedfcd13b7c3a339c7acf4b89c14caea8d5", + "version": "3.2.1", + "port-version": 20 + }, { "git-tree": "bedf61cf9cf765a2c823e1f2427a16af6d8a711e", "version-string": "3.2.1", diff --git a/versions/c-/clara.json b/versions/c-/clara.json index 9b9ce7df35e6a1..0661ae8791005b 100644 --- a/versions/c-/clara.json +++ b/versions/c-/clara.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "ea0e36e1acd8ce030d956c34f063cdce1bc53e83", + "version": "1.1.5", + "port-version": 2 + }, { "git-tree": "dd2473115d2b12883de5a00cdbb2aaa309702042", "version-string": "1.1.5", diff --git a/versions/c-/clblas.json b/versions/c-/clblas.json index edd860f87243b4..06a8377326ffe0 100644 --- a/versions/c-/clblas.json +++ b/versions/c-/clblas.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "68caca1b774b1896768237791456b8962aa28d54", + "version": "2.12", + "port-version": 7 + }, + { + "git-tree": "a94b503ed4a4a74fa316ac65c363968092a0b026", + "version": "2.12", + "port-version": 6 + }, { "git-tree": "0972ab18d9864a174d8c9acb7cf1add27c6a4ce2", "version-string": "2.12", diff --git a/versions/c-/clblast.json b/versions/c-/clblast.json index c73b728261a2eb..7023fc567ee3a2 100644 --- a/versions/c-/clblast.json +++ b/versions/c-/clblast.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "34f6549100b23ec106957a32157253eadfe10ca3", + "version": "1.6.3", + "port-version": 0 + }, + { + "git-tree": "2f514afe9163a9445befe8ddc91f8cd8f0105c9d", + "version": "1.6.1", + "port-version": 0 + }, + { + "git-tree": "5d3c066f06df46440c055d265aa2dee1c21a9971", + "version": "1.5.2", + "port-version": 3 + }, + { + "git-tree": "f3fc8c351cba8b45e06d835b27101617a5ba74b0", + "version": "1.5.2", + "port-version": 2 + }, + { + "git-tree": "e85773ea54da7675b468d6fd479871899667aa3a", + "version": "1.5.2", + "port-version": 1 + }, { "git-tree": "1908d2071402d3175fd77f272005be69ff02abbf", "version": "1.5.2", diff --git a/versions/c-/cld3.json b/versions/c-/cld3.json new file mode 100644 index 00000000000000..6a64aeac70f21d --- /dev/null +++ b/versions/c-/cld3.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "41fd2fe36358570f0bdbfaf689bf12132af99a6f", + "version": "3.0.14", + "port-version": 2 + }, + { + "git-tree": "a9553fd0c6e8053c54c83a51d8e93bdfab419c8e", + "version": "3.0.14", + "port-version": 1 + }, + { + "git-tree": "188a3b8fe8c84224f44d3d88b4e74ca34363cf9b", + "version": "3.0.14", + "port-version": 0 + } + ] +} diff --git a/versions/c-/clfft.json b/versions/c-/clfft.json index 95a6affc4cbc51..1e66c3d3090ab5 100644 --- a/versions/c-/clfft.json +++ b/versions/c-/clfft.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "d0b090c1d13a7faf8136d73853376fc1dee4cc68", + "version": "2.12.2", + "port-version": 7 + }, + { + "git-tree": "4acb8a5a455beee82cacccf5b72e6c6aa8d8c6a7", + "version": "2.12.2", + "port-version": 6 + }, + { + "git-tree": "b935ce5f9e186f9be8fe85d6d228043bede4cd04", + "version": "2.12.2", + "port-version": 5 + }, + { + "git-tree": "fdb3022cd3081e404b7c49ceaa5bd03ad0dc64f4", + "version": "2.12.2", + "port-version": 4 + }, { "git-tree": "14ad34cc8ef68a5583c4f5f0b54f3c9a57ee2bc0", "version-string": "2.12.2", diff --git a/versions/c-/cli.json b/versions/c-/cli.json index 4da89892f00631..a36ec91e7c1533 100644 --- a/versions/c-/cli.json +++ b/versions/c-/cli.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "f2a43c762900466174dc4a79a4d30ebba7126107", + "version": "2.2.0", + "port-version": 0 + }, + { + "git-tree": "8333092a454e35d835756f955c12622342964b05", + "version": "2.1.0", + "port-version": 0 + }, + { + "git-tree": "72fd89f268dc5d3318561366f54ee6aed341669f", + "version": "2.0.2", + "port-version": 0 + }, + { + "git-tree": "25a075116903bfd73e5a1e4f63638955c1a52732", + "version": "2.0.1", + "port-version": 0 + }, { "git-tree": "2c5da108b7e41bd3da82fe9b670a308d664b3a0e", "version-semver": "2.0.0", diff --git a/versions/c-/cli11.json b/versions/c-/cli11.json index 37e4f6597d5a10..2155f99f75b289 100644 --- a/versions/c-/cli11.json +++ b/versions/c-/cli11.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "7d62ebd97719d822cd957182d68c9079256144e1", + "version": "2.4.2", + "port-version": 1 + }, + { + "git-tree": "06ac9dc66d709da4eabe20f952b83b4bb7ae7dda", + "version": "2.4.2", + "port-version": 0 + }, + { + "git-tree": "05a104e144c6cfa16b0a896502ef96f3ccbbdddc", + "version": "2.4.1", + "port-version": 0 + }, + { + "git-tree": "396b497f39aff89e8cbfec62a6e2ed8bd5df73a0", + "version": "2.4.0", + "port-version": 0 + }, + { + "git-tree": "5f95180758a2703f23b8202b9e1c449551e11ea9", + "version": "2.3.2", + "port-version": 0 + }, + { + "git-tree": "47f8293bf52200e08a166ac4e22bee925d63f04a", + "version": "2.3.1", + "port-version": 0 + }, + { + "git-tree": "25d9ba9e7e80ff980fef1b9bf369d51f5b1cfc59", + "version": "2.2.0", + "port-version": 0 + }, { "git-tree": "a2fa0d3108042d872a50565d15c79d5611bdf0b6", "version": "2.1.2", diff --git a/versions/c-/clickhouse-cpp.json b/versions/c-/clickhouse-cpp.json index 12cd74ccb40cd0..7459b5e88f2f6a 100644 --- a/versions/c-/clickhouse-cpp.json +++ b/versions/c-/clickhouse-cpp.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "91e161642e06b5e3f6f86a16714a4b58453a36b5", + "version": "2.5.1", + "port-version": 0 + }, + { + "git-tree": "d665e3d36b571b68596140563d1934e8b416aa23", + "version": "2.4.0", + "port-version": 0 + }, + { + "git-tree": "10588d8080311cbc920f1805d3dd51e5b9c27ebe", + "version": "2.2.1", + "port-version": 0 + }, { "git-tree": "14c4074d1a59fbe8b01ebe934698519c63885b8b", "version": "1.5.0", diff --git a/versions/c-/clipboardxx.json b/versions/c-/clipboardxx.json new file mode 100644 index 00000000000000..56ebcd2ea89129 --- /dev/null +++ b/versions/c-/clipboardxx.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "081dccf5f7ac08990ef5814f6e2b99d1c2d9a385", + "version-date": "2022-02-04", + "port-version": 0 + } + ] +} diff --git a/versions/c-/clipp.json b/versions/c-/clipp.json index 77eafa0236bf38..38713f4e42f536 100644 --- a/versions/c-/clipp.json +++ b/versions/c-/clipp.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "465f1894b073fb06718c9a8110775399c279da17", + "version-date": "2019-04-30", + "port-version": 2 + }, { "git-tree": "d8bced062fa89719dbb806838b968639f1ffcaf6", "version-string": "2019-04-30", diff --git a/versions/c-/clipper2.json b/versions/c-/clipper2.json new file mode 100644 index 00000000000000..47f7e5ec356d7d --- /dev/null +++ b/versions/c-/clipper2.json @@ -0,0 +1,39 @@ +{ + "versions": [ + { + "git-tree": "5b7c4d5dff8e0b28ad089e870674d497d4be1adb", + "version": "1.4.0", + "port-version": 0 + }, + { + "git-tree": "666b9d81d31d70d3d691e2286d951168c5d9d970", + "version": "1.3.0", + "port-version": 1 + }, + { + "git-tree": "649bee1fd1497da0ee3120c985ab6f465f2ad3c2", + "version": "1.3.0", + "port-version": 0 + }, + { + "git-tree": "2a78eeaf159608c707e8191ce0ae9aed946c2e45", + "version": "1.2.2", + "port-version": 1 + }, + { + "git-tree": "59bb15f5ddaeb1198a06437295f808d03669373f", + "version": "1.2.2", + "port-version": 0 + }, + { + "git-tree": "bacf3c04856a20109d6eca303fc22432e3e77777", + "version": "1.1.1", + "port-version": 1 + }, + { + "git-tree": "3768ef634c9d40c4bb981380ed16756c16eab600", + "version": "1.1.1", + "port-version": 0 + } + ] +} diff --git a/versions/c-/clockutils.json b/versions/c-/clockutils.json index 0e658fecbe85aa..b36b30b5def239 100644 --- a/versions/c-/clockutils.json +++ b/versions/c-/clockutils.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "a5491981971509dc1260393cea620c731aa418b0", + "version": "1.1.1", + "port-version": 2 + }, + { + "git-tree": "08f337ddf39f1cda9dd6431374cdb0ee748745da", + "version": "1.1.1", + "port-version": 1 + }, { "git-tree": "1fb64c4ec3d5aced719df16f96e79be4bb64cee7", "version-string": "1.1.1-3651f232c27074c4ceead169e223edf5f00247c5", diff --git a/versions/c-/clrng.json b/versions/c-/clrng.json index df9003660e0029..8fc6655362fc10 100644 --- a/versions/c-/clrng.json +++ b/versions/c-/clrng.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "7cc0e3574395caa55371315638a94981a178f2bf", + "version-date": "2020-12-01", + "port-version": 3 + }, + { + "git-tree": "9e9072006facf085465f2bcc8291a3a90508c46a", + "version-date": "2020-12-01", + "port-version": 2 + }, { "git-tree": "1b8475c5bb62206bf9ebdd82ba3f04467aee6e95", "version-string": "2020-12-01", diff --git a/versions/c-/cmakerc.json b/versions/c-/cmakerc.json new file mode 100644 index 00000000000000..0d7e49eb313c7b --- /dev/null +++ b/versions/c-/cmakerc.json @@ -0,0 +1,24 @@ +{ + "versions": [ + { + "git-tree": "2f7f10a967ae634c2636fd361119065446923ace", + "version-date": "2023-07-24", + "port-version": 0 + }, + { + "git-tree": "d330c8e9d121cf84522ca97f3e0f92f01efb9bc7", + "version-date": "2022-09-08", + "port-version": 0 + }, + { + "git-tree": "d2fd3d5a7ba3648e56e111691ea6fa938cbc4ed9", + "version-date": "2021-08-27", + "port-version": 1 + }, + { + "git-tree": "740fd9bb83e79eba29ccd69546d2b3105d719d5d", + "version-date": "2021-08-27", + "port-version": 0 + } + ] +} diff --git a/versions/c-/cmark.json b/versions/c-/cmark.json index 2ae2ccef7e268a..8fffb7cffd8e14 100644 --- a/versions/c-/cmark.json +++ b/versions/c-/cmark.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "159e4cc034614fb2158e373eb2d992a4fa29a343", + "version-semver": "0.31.1", + "port-version": 0 + }, + { + "git-tree": "46de0e92eb13e52bb044f1d925a477483fe23c80", + "version-semver": "0.30.3", + "port-version": 0 + }, + { + "git-tree": "4225c9caf09938ef676f688bf246026bc26fef3f", + "version-semver": "0.30.1", + "port-version": 1 + }, { "git-tree": "63d8e9056589a885ec4a36ba739903199206fff1", "version-semver": "0.30.1", diff --git a/versions/c-/cmcstl2.json b/versions/c-/cmcstl2.json index 21a166007e1ed2..6ce17c987cf2d9 100644 --- a/versions/c-/cmcstl2.json +++ b/versions/c-/cmcstl2.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "3f2bfc5aadfc40719cf012a9b43d0a0037259738", + "version-date": "2019-07-20", + "port-version": 3 + }, + { + "git-tree": "71dc25003baa7f85cfb3924b553bf8642e7ea97e", + "version-string": "2019-07-20", + "port-version": 2 + }, { "git-tree": "b42b47d62175c38caf3f6b8f31256bb316284734", "version-string": "2019-07-20", diff --git a/versions/c-/cminpack.json b/versions/c-/cminpack.json index 5ea16de6da49ea..0c82eea0bb838d 100644 --- a/versions/c-/cminpack.json +++ b/versions/c-/cminpack.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "0401d2c926529b034913ab84852eef3fac28f6d4", + "version": "1.3.8", + "port-version": 4 + }, + { + "git-tree": "c2b1d33d31878445649cbc22e23d10a7b0e5d0b3", + "version": "1.3.8", + "port-version": 3 + }, + { + "git-tree": "141d26f7fd5eb7d8bebdabbbb05d4ca23fd8fbbf", + "version": "1.3.8", + "port-version": 2 + }, { "git-tree": "6e903be11f8d868d5fb74f597bc0d2890854eb95", "version": "1.3.8", diff --git a/versions/c-/cmocka.json b/versions/c-/cmocka.json index c1b208e9c499a1..86d30f61a433ee 100644 --- a/versions/c-/cmocka.json +++ b/versions/c-/cmocka.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "296011d6dba4e267659df3c55989319334655604", + "version-date": "2020-08-01", + "port-version": 3 + }, + { + "git-tree": "b9b3ab47324bb53d72b5868cd190fdae50a49d24", + "version-string": "2020-08-01", + "port-version": 2 + }, { "git-tree": "7b4b3515ae508de2f3eccb509948e8ed20eb877e", "version-string": "2020-08-01", diff --git a/versions/c-/cnats.json b/versions/c-/cnats.json new file mode 100644 index 00000000000000..75a6adbe56bd99 --- /dev/null +++ b/versions/c-/cnats.json @@ -0,0 +1,54 @@ +{ + "versions": [ + { + "git-tree": "a521d9641d065db79cce09b63daef612a0a34c41", + "version": "3.8.2", + "port-version": 0 + }, + { + "git-tree": "963d6b12fba8001c650cc6d56a21a1a5122cf845", + "version": "3.8.0", + "port-version": 0 + }, + { + "git-tree": "cce27b1efc5af15e4222a5fdc5502959f24e9d03", + "version": "3.7.0", + "port-version": 1 + }, + { + "git-tree": "438cfff2ee224f9d414bda9bcf796c13534443ba", + "version": "3.7.0", + "port-version": 0 + }, + { + "git-tree": "809d101d1791bc6cd3f51c8c9fa8e86dc923113b", + "version": "3.6.1", + "port-version": 0 + }, + { + "git-tree": "868bb4267af7b0b9ca3500a11656ea21f78fff4c", + "version": "3.6.0", + "port-version": 0 + }, + { + "git-tree": "b22911f520e4047d11cd9d81a22263775bf1d797", + "version": "3.5.0", + "port-version": 0 + }, + { + "git-tree": "d886b7595504b34bc08246edd99ceead043f083f", + "version": "3.4.1", + "port-version": 0 + }, + { + "git-tree": "e4045ec63d36d672939a5bd17e2733acaf759a14", + "version": "3.3.0", + "port-version": 0 + }, + { + "git-tree": "ab962ebd7a13f87db7aea528cd4d5725b4fde292", + "version": "3.2.0", + "port-version": 0 + } + ] +} diff --git a/versions/c-/cnl.json b/versions/c-/cnl.json index a7f667331c872e..9d4a51060fd010 100644 --- a/versions/c-/cnl.json +++ b/versions/c-/cnl.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "4acafdbd8f1d4eecb1130668df0503173add00c3", + "version": "1.1.7", + "port-version": 3 + }, + { + "git-tree": "f491a42c0680489de38159c7dd1486afc766c7fe", + "version-string": "1.1.7", + "port-version": 2 + }, { "git-tree": "3fe1aa7188d2e673265a0c1f20616bdf647c7390", "version-string": "1.1.7", diff --git a/versions/c-/co.json b/versions/c-/co.json index b11d5ac76b2f75..f5291d2e2abe18 100644 --- a/versions/c-/co.json +++ b/versions/c-/co.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "569af78fe06ff14cd71ec70f14915d06344ed62b", + "version-semver": "2.0.3", + "port-version": 1 + }, + { + "git-tree": "812bf72c24739504b6ddc3d3c4d941981ff3a032", + "version-semver": "2.0.3", + "port-version": 0 + }, { "git-tree": "b2b668ad241e0a4453f7a4f0a7c0b35e8c922e3b", "version-semver": "2.0.2", diff --git a/versions/c-/cocoyaxi.json b/versions/c-/cocoyaxi.json new file mode 100644 index 00000000000000..1813afb0267e02 --- /dev/null +++ b/versions/c-/cocoyaxi.json @@ -0,0 +1,29 @@ +{ + "versions": [ + { + "git-tree": "a21ea9fa7b024f5a3dcc77d9e8ffe49da2da7fbe", + "version": "3.0.0", + "port-version": 1 + }, + { + "git-tree": "dea448b91eb2baede3ffd0afe1b847eaf73ef83e", + "version": "3.0.0", + "port-version": 0 + }, + { + "git-tree": "a71b5c50ae0dfa1791b446e7af707cdb080f36d5", + "version-semver": "2.0.3", + "port-version": 3 + }, + { + "git-tree": "991d1f948e96ec46e60f5d6925a825d63599eb44", + "version-semver": "2.0.3", + "port-version": 2 + }, + { + "git-tree": "5d874995d9ab680be3c0bb8d18ceebfd9485f1bd", + "version-semver": "2.0.3", + "port-version": 1 + } + ] +} diff --git a/versions/c-/coin-or-buildtools.json b/versions/c-/coin-or-buildtools.json new file mode 100644 index 00000000000000..31566a047db5b9 --- /dev/null +++ b/versions/c-/coin-or-buildtools.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "b0d17057d8452f7e7fa4a3bfe6a2fab3520be6e9", + "version-date": "2023-02-02", + "port-version": 0 + } + ] +} diff --git a/versions/c-/coin-or-cbc.json b/versions/c-/coin-or-cbc.json new file mode 100644 index 00000000000000..6b3e7a6df2591a --- /dev/null +++ b/versions/c-/coin-or-cbc.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "090a59c4e81596de0b292188298fc5bbc3d75f84", + "version-date": "2024-06-04", + "port-version": 0 + }, + { + "git-tree": "0ed0ac8c729439ae3549b949ff6a02c803eabb34", + "version-date": "2023-02-01", + "port-version": 0 + } + ] +} diff --git a/versions/c-/coin-or-cgl.json b/versions/c-/coin-or-cgl.json new file mode 100644 index 00000000000000..536cd57c84ad21 --- /dev/null +++ b/versions/c-/coin-or-cgl.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "3272f90811fbc680b219072ed319082b025a4788", + "version-date": "2023-02-01", + "port-version": 0 + } + ] +} diff --git a/versions/c-/coin-or-clp.json b/versions/c-/coin-or-clp.json new file mode 100644 index 00000000000000..851173ecd988ca --- /dev/null +++ b/versions/c-/coin-or-clp.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "35592c499a237bd46e45a9016aaa82ac06f3d2b6", + "version-date": "2023-02-01", + "port-version": 0 + } + ] +} diff --git a/versions/c-/coin-or-ipopt.json b/versions/c-/coin-or-ipopt.json new file mode 100644 index 00000000000000..26593f828afbbc --- /dev/null +++ b/versions/c-/coin-or-ipopt.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "8f3393d37ff448cd73bb3bdf00b812a0a38e2a9c", + "version-date": "2023-02-01", + "port-version": 0 + } + ] +} diff --git a/versions/c-/coin-or-osi.json b/versions/c-/coin-or-osi.json new file mode 100644 index 00000000000000..05e0044626cf85 --- /dev/null +++ b/versions/c-/coin-or-osi.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "697c758cc9c54919a8e15682ec846a1a9cfe0b88", + "version-date": "2024-04-16", + "port-version": 0 + }, + { + "git-tree": "1f7058750dc53193abef4534059e3717cd310310", + "version-date": "2023-02-01", + "port-version": 0 + } + ] +} diff --git a/versions/c-/coin.json b/versions/c-/coin.json index 6a52852b545626..e7f3cc95101fe2 100644 --- a/versions/c-/coin.json +++ b/versions/c-/coin.json @@ -1,5 +1,50 @@ { "versions": [ + { + "git-tree": "e2e30210c211c4f2e33abcbb9962b8ee03c8711b", + "version": "4.0.3", + "port-version": 0 + }, + { + "git-tree": "9747cd35a942a8d806f44a70bdda8833823826e5", + "version": "4.0.2", + "port-version": 3 + }, + { + "git-tree": "31a9fad74627bcee6a866110f1377acaf8d81c04", + "version": "4.0.2", + "port-version": 2 + }, + { + "git-tree": "f679393fe0adfac4fbc6aa8235ce8a35e106cd7a", + "version": "4.0.2", + "port-version": 1 + }, + { + "git-tree": "1f151412ad103c9cafd511a97783d60b85aae246", + "version": "4.0.2", + "port-version": 0 + }, + { + "git-tree": "bb22aa623ff6abbc31ab908a584855f8ee278e67", + "version": "4.0.0", + "port-version": 8 + }, + { + "git-tree": "329db8f62c8f5a6f9774670833471ad4decb75cc", + "version": "4.0.0", + "port-version": 7 + }, + { + "git-tree": "6a7f1c48f1f508f4935fc44a83645305ac5d6da4", + "version-string": "4.0.0", + "port-version": 6 + }, + { + "git-tree": "e974f1b74758c3af03beefadef6f060437a2af69", + "version-string": "4.0.0", + "port-version": 5 + }, { "git-tree": "e5bf7296f7f3b3655c946280754bbbfbbbf9db2a", "version-string": "4.0.0", diff --git a/versions/c-/coinutils.json b/versions/c-/coinutils.json index 5bcc434cec3f52..2bda8f7e0351c7 100644 --- a/versions/c-/coinutils.json +++ b/versions/c-/coinutils.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "f5fe4624a0175bbe05b4a5c67db6c1e0df3e3666", + "version-date": "2024-04-08", + "port-version": 0 + }, + { + "git-tree": "5ab5035f6a4fc5601ecc3e644a107b1763426259", + "version-date": "2023-02-02", + "port-version": 1 + }, + { + "git-tree": "9f78d3e4a95d02a06ad5fe90773ca39a25cd93de", + "version-date": "2023-02-02", + "port-version": 0 + }, { "git-tree": "eee28965c61a5dae6407b3f93bbd945b7992537d", "version-string": "2.11.4", diff --git a/versions/c-/collada-dom.json b/versions/c-/collada-dom.json index 05ec0b2a77fdf9..bb5d2b17a35c3b 100644 --- a/versions/c-/collada-dom.json +++ b/versions/c-/collada-dom.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "99cd4042870c4d5b82be48450f0efd74fee84934", + "version": "2.5.0", + "port-version": 11 + }, + { + "git-tree": "9efe9cf28c36df64035b505810bf68f445be62a1", + "version": "2.5.0", + "port-version": 10 + }, + { + "git-tree": "d9c3011f64673cff7d61bac99def8048f4027f32", + "version": "2.5.0", + "port-version": 9 + }, + { + "git-tree": "52229b10acbed6e24eefd37ef20b30e24c6c7e71", + "version": "2.5.0", + "port-version": 8 + }, + { + "git-tree": "1e2fef9034d7819a290b57709aa115628cede76a", + "version": "2.5.0", + "port-version": 7 + }, { "git-tree": "c33581459a51d5ef7cc436a8aebb9d330224a6f3", "version-string": "2.5.0", diff --git a/versions/c-/colmap.json b/versions/c-/colmap.json index 026bb17632f2fd..384a2b8893c8c4 100644 --- a/versions/c-/colmap.json +++ b/versions/c-/colmap.json @@ -1,5 +1,60 @@ { "versions": [ + { + "git-tree": "29a181de8c80f9008a9a46657a16ed187530a59b", + "version": "3.10", + "port-version": 0 + }, + { + "git-tree": "baca06856960d0b705e668bc376b84ebf565e3ce", + "version": "3.9.1", + "port-version": 0 + }, + { + "git-tree": "085e4234e54332750bcde82ced25af0078000d2c", + "version-date": "2023-10-01", + "port-version": 1 + }, + { + "git-tree": "c3482baa430e8733afa927fae4d3951e300a5c67", + "version-date": "2023-10-01", + "port-version": 0 + }, + { + "git-tree": "be5a8b2aa2354b0d3aec03253dcd13358ba950da", + "version-date": "2023-03-12", + "port-version": 1 + }, + { + "git-tree": "31fb7f3106b019ceca3838a9461d372244125f63", + "version-date": "2023-03-12", + "port-version": 0 + }, + { + "git-tree": "4651c5d183a76d29f6b565efdd3443fca8809250", + "version-date": "2022-03-14", + "port-version": 2 + }, + { + "git-tree": "bc9f3b2c6df41f81ef8ad2b7657c87bfb1bb83f3", + "version-date": "2022-03-14", + "port-version": 1 + }, + { + "git-tree": "bf74fe8bdad103c3212e029ac7e736c759be2aa8", + "version-date": "2022-03-14", + "port-version": 0 + }, + { + "git-tree": "81329023ad5f9b2bd27554d2d8a97f8e63aef708", + "version-string": "3.7", + "port-version": 0 + }, + { + "git-tree": "7d3a2a8f71b464856f91f3b8b7e2362ec27d6487", + "version-string": "3.6", + "port-version": 2 + }, { "git-tree": "1f88c10f0bc3819bae7c197375bba335106726f1", "version-string": "3.6", diff --git a/versions/c-/color-console.json b/versions/c-/color-console.json new file mode 100644 index 00000000000000..cbeded048c67fc --- /dev/null +++ b/versions/c-/color-console.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "bdd7720df549670e50ef636219b7d093f7cc8bc6", + "version-date": "2022-03-20", + "port-version": 0 + } + ] +} diff --git a/versions/c-/comms-ublox.json b/versions/c-/comms-ublox.json index bde81cf2d42ed8..804defc12a3061 100644 --- a/versions/c-/comms-ublox.json +++ b/versions/c-/comms-ublox.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "a129592b8ecf08fed15abaeab8b8c229ef16d045", + "version-semver": "1.0.0", + "port-version": 0 + }, { "git-tree": "9d57cdb7ee417cb5e5ed0208d3d9470b79c80f2a", "version-semver": "0.20.2", diff --git a/versions/c-/comms.json b/versions/c-/comms.json index 5a0c6228f21f16..17b69422041eab 100644 --- a/versions/c-/comms.json +++ b/versions/c-/comms.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "3a9bdbc7d61f9494ad2853f702a19699dae74a70", + "version-semver": "4.0.0", + "port-version": 0 + }, + { + "git-tree": "377ae2ef208c319a5b1360f6dbce38ddae897466", + "version-semver": "3.4.0", + "port-version": 1 + }, { "git-tree": "05c5eff9612ccbb544cdcbc8f453e12394956ed8", "version-semver": "3.4.0", diff --git a/versions/c-/commsdsl.json b/versions/c-/commsdsl.json index 8096dfd07c351b..d0afcbf6a4ad65 100644 --- a/versions/c-/commsdsl.json +++ b/versions/c-/commsdsl.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "0a9abbda77e304e8b2e7304052d672211b66e87d", + "version-semver": "6.3.3", + "port-version": 0 + }, + { + "git-tree": "a363dfeed76ba38fa1d1b3007b06223c347e0063", + "version-semver": "4.0.0", + "port-version": 0 + }, + { + "git-tree": "6dc397dcd2267999f4c8d34fabd9a7e2dcf48ced", + "version-semver": "3.6.4", + "port-version": 1 + }, { "git-tree": "0e714012afcd0c56b2b55f6ab18b0092f6cd0066", "version-semver": "3.6.4", diff --git a/versions/c-/concurrencpp.json b/versions/c-/concurrencpp.json index 269d3c43f7bdd2..c494fa4ab9fded 100644 --- a/versions/c-/concurrencpp.json +++ b/versions/c-/concurrencpp.json @@ -1,5 +1,45 @@ { "versions": [ + { + "git-tree": "07b69be3721571f0f15bc80442fd735cf1f87b70", + "version": "0.1.7", + "port-version": 1 + }, + { + "git-tree": "5eb63527141d7d261b6e99945f81bf43e293cc8b", + "version": "0.1.7", + "port-version": 0 + }, + { + "git-tree": "80e475aa0cf6a50936090964cdd032108453eade", + "version": "0.1.6", + "port-version": 2 + }, + { + "git-tree": "692f9ce2162c5dd6ee54170400c4df33aaec6b5d", + "version": "0.1.6", + "port-version": 1 + }, + { + "git-tree": "d4d183249579167e00a7717a088721716d66635b", + "version": "0.1.6", + "port-version": 0 + }, + { + "git-tree": "b83d01e0edaa7fa36ca4e67542201b5fc7354b58", + "version": "0.1.5", + "port-version": 0 + }, + { + "git-tree": "ecae9e070ec807384d676e49c413118174487f6a", + "version": "0.1.4", + "port-version": 1 + }, + { + "git-tree": "180b2c3ae47ddd4832fd3d6f8359728a6eda1094", + "version": "0.1.4", + "port-version": 0 + }, { "git-tree": "a6aa7450d44761622be41ef803ef3b92c6388f23", "version-string": "0.1.3", diff --git a/versions/c-/concurrentqueue.json b/versions/c-/concurrentqueue.json index 444fe721b1b2f4..385cb5aacf2c31 100644 --- a/versions/c-/concurrentqueue.json +++ b/versions/c-/concurrentqueue.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "d9e893a30c08cf74ea4155c9110c47d605e1e534", + "version": "1.0.4", + "port-version": 0 + }, + { + "git-tree": "2a8223a8b75af74f94551fb342fd576e893c1ba7", + "version": "1.0.3", + "port-version": 1 + }, { "git-tree": "929e70702c63103c0ec48d7de8cfe3da02f699ba", "version": "1.0.3", diff --git a/versions/c-/configcat.json b/versions/c-/configcat.json new file mode 100644 index 00000000000000..6f7235e24601a1 --- /dev/null +++ b/versions/c-/configcat.json @@ -0,0 +1,59 @@ +{ + "versions": [ + { + "git-tree": "38e6f06047d549497488219bf384c3a7dfe7e121", + "version": "4.0.3", + "port-version": 0 + }, + { + "git-tree": "047e875774a1ac69a4323863f0e8f1912f0cb3d0", + "version": "4.0.1", + "port-version": 0 + }, + { + "git-tree": "258c8ef537a9b3d79574b82805d34e964fe71f56", + "version": "4.0.0", + "port-version": 0 + }, + { + "git-tree": "4f1f87e186100760a5a093476a921eb6396b46c7", + "version": "3.2.0", + "port-version": 0 + }, + { + "git-tree": "278ce6bc975733e7807d36490f0e6d5c5c786ebb", + "version": "3.1.1", + "port-version": 0 + }, + { + "git-tree": "8beddf56b4ad53f7c2bbd1e457c31858f1906e9c", + "version": "3.1.0", + "port-version": 0 + }, + { + "git-tree": "5a5b038429eeed3e978742cb13ea7c207ad57d33", + "version": "3.0.0", + "port-version": 0 + }, + { + "git-tree": "f17f0bf439de376567a91361e85e3602ac5acd74", + "version": "2.0.1", + "port-version": 0 + }, + { + "git-tree": "d85f2235f4300d30c64fc3a1b0c36c596cc130bf", + "version": "2.0.0", + "port-version": 0 + }, + { + "git-tree": "b8174af728666bc67db16f8bba6cd72f977fc6ce", + "version": "1.0.0", + "port-version": 0 + }, + { + "git-tree": "d163eba9cf1e8cdc7585806666d8f83330c50678", + "version": "0.1.0", + "port-version": 0 + } + ] +} diff --git a/versions/c-/conjure-enum.json b/versions/c-/conjure-enum.json new file mode 100644 index 00000000000000..06e932429a8de7 --- /dev/null +++ b/versions/c-/conjure-enum.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "cdcabd848476256a49a36322bc7e6c4fefc6abd0", + "version": "1.1.0", + "port-version": 0 + }, + { + "git-tree": "78574a0113c4bcf9bad05d2fcef406d0bc1d0891", + "version": "1.0.1", + "port-version": 0 + } + ] +} diff --git a/versions/c-/console-bridge.json b/versions/c-/console-bridge.json index ff15871ce43c55..92630d69135dff 100644 --- a/versions/c-/console-bridge.json +++ b/versions/c-/console-bridge.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "e5f1141775543ea0491358a281840ce2bcc100be", + "version-semver": "1.0.2", + "port-version": 0 + }, { "git-tree": "d73bd3ef8f9afac3c1f5957eda4ff760cea5b17c", "version-string": "1.0.1", diff --git a/versions/c-/constexpr-contracts.json b/versions/c-/constexpr-contracts.json index 7a711ef7c2ab40..3f1fa7a5c0836b 100644 --- a/versions/c-/constexpr-contracts.json +++ b/versions/c-/constexpr-contracts.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "ec1e4e87a25936620618f4807b63e2c03ca30f4d", + "version-date": "2020-08-09", + "port-version": 3 + }, + { + "git-tree": "57c829c4a74272397d4901cf6ed525b2200e1d93", + "version-string": "2020-08-09", + "port-version": 2 + }, { "git-tree": "0fcdc4b7a9e49416833b834a6be2c17254a7e9c7", "version-string": "2020-08-09", diff --git a/versions/c-/constexpr.json b/versions/c-/constexpr.json index 09ba13ef2e92c0..d5b38750f42924 100644 --- a/versions/c-/constexpr.json +++ b/versions/c-/constexpr.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "c3d2008ccf999119285610e0a76ed0c46c59632b", + "version": "1.0", + "port-version": 3 + }, { "git-tree": "26c459ddb2becb06ea5c1fcb7a55e282b2aae704", "version-string": "1.0", diff --git a/versions/c-/continuable.json b/versions/c-/continuable.json index 5fe257e77175c7..77cae9bf0ff202 100644 --- a/versions/c-/continuable.json +++ b/versions/c-/continuable.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "00cab767f56ad46e53d6b140ab675fecfa0fb427", + "version": "4.2.2", + "port-version": 0 + }, + { + "git-tree": "9cb413050363e8549bbc5a5f50a7882441241416", + "version": "4.2.0", + "port-version": 0 + }, { "git-tree": "d014250505dde9759c6e46aa6825115bfdd5a15c", "version-string": "4.1.0", diff --git a/versions/c-/convectionkernels.json b/versions/c-/convectionkernels.json new file mode 100644 index 00000000000000..3595b1b8028ac0 --- /dev/null +++ b/versions/c-/convectionkernels.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "cf21fe054d62c4602edd8566bb5d2f92b1bc1734", + "version-date": "2022-06-08", + "port-version": 0 + } + ] +} diff --git a/versions/c-/coolprop.json b/versions/c-/coolprop.json index 7c9baee71e5b3b..ef17f0ddd80cd4 100644 --- a/versions/c-/coolprop.json +++ b/versions/c-/coolprop.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "941407fb13d6b17cf04b6186a80db2e59d145a3f", + "version-semver": "6.4.3", + "port-version": 3 + }, + { + "git-tree": "5f114941efb93eadb6df38f9493de8bdab0b496a", + "version-semver": "6.4.3", + "port-version": 2 + }, + { + "git-tree": "b0bdc5514d6d96d6767c50a09840b164fbf86d93", + "version-semver": "6.4.3", + "port-version": 1 + }, + { + "git-tree": "ecf4aa81e29286ea194307b2379ef1fd0e3e311f", + "version-semver": "6.4.3", + "port-version": 0 + }, + { + "git-tree": "b66373d8ddd7b8b887779bfb7c132b4000fe4c87", + "version-semver": "6.4.1", + "port-version": 2 + }, { "git-tree": "61676b5a1e9b82c4b88fd3bf37b684f592f9103e", "version-semver": "6.4.1", diff --git a/versions/c-/copypp.json b/versions/c-/copypp.json new file mode 100644 index 00000000000000..8babb117829cb1 --- /dev/null +++ b/versions/c-/copypp.json @@ -0,0 +1,24 @@ +{ + "versions": [ + { + "git-tree": "5a681be8127821639bed4c4886a351b0640d5c04", + "version": "0.3.0", + "port-version": 0 + }, + { + "git-tree": "19d47125ad84c71c928f7ea266a6d7543b65ef23", + "version": "0.2.0", + "port-version": 0 + }, + { + "git-tree": "7be5573b44b0520d8f4cb7619bf8755184bb4019", + "version": "0.1.1", + "port-version": 0 + }, + { + "git-tree": "30342b837d13819393c9f898e82f5c2cf25bed32", + "version": "0.1.0", + "port-version": 0 + } + ] +} diff --git a/versions/c-/coroutine.json b/versions/c-/coroutine.json index 3bb9ab69b7c838..83ca5a81eef81e 100644 --- a/versions/c-/coroutine.json +++ b/versions/c-/coroutine.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "5cc8578b730599add7711992c556b5aefb835259", + "version": "1.5.0", + "port-version": 5 + }, + { + "git-tree": "c1ce0f42bbf3898d3421a3c7b6494f69853385f5", + "version": "1.5.0", + "port-version": 4 + }, + { + "git-tree": "d6cef429d17c011260cd718a2738ec7282098866", + "version": "1.5.0", + "port-version": 3 + }, { "git-tree": "14f8ad97489e980329f98d4c95146dafb32cedb9", "version-string": "1.5.0", diff --git a/versions/c-/corrade.json b/versions/c-/corrade.json index 6a1a88a1a19834..f3b881e1cf5a59 100644 --- a/versions/c-/corrade.json +++ b/versions/c-/corrade.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "a7c12fdbe3c15ad76eced6d157af6e09d49329e5", + "version-string": "2020.06", + "port-version": 8 + }, + { + "git-tree": "8630a6d00fec6c7462af2e03bd0e1946f6812069", + "version-string": "2020.06", + "port-version": 7 + }, + { + "git-tree": "1a278fdbd46715f454e366df7d06410ae2fc9747", + "version-string": "2020.06", + "port-version": 6 + }, + { + "git-tree": "fed547a7951672a5a7b1c430df8a9b179f674ac6", + "version-string": "2020.06", + "port-version": 5 + }, + { + "git-tree": "91ad9b127c41c0538051a0c81e2cb9206a2587dd", + "version-string": "2020.06", + "port-version": 4 + }, { "git-tree": "087770e2a196c44cb1b56473bd57797ed9b9bc87", "version-string": "2020.06", diff --git a/versions/c-/correlation-vector-cpp.json b/versions/c-/correlation-vector-cpp.json new file mode 100644 index 00000000000000..28205c47e6eee6 --- /dev/null +++ b/versions/c-/correlation-vector-cpp.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "004b3aeae78d35b82ed9672a0d94340a82bfdc06", + "version": "1.0", + "port-version": 0 + } + ] +} diff --git a/versions/c-/cpp-async.json b/versions/c-/cpp-async.json new file mode 100644 index 00000000000000..0bafe8c0228604 --- /dev/null +++ b/versions/c-/cpp-async.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "3f29e519d60913ea86ca5cee69d9129a1e04b337", + "version": "1.1.0", + "port-version": 0 + }, + { + "git-tree": "c9b2e9c3ddd004c4201a27963d4b1bedb2dc2b2c", + "version": "1.0.1", + "port-version": 0 + }, + { + "git-tree": "f1eaddcca26f72bb7be5a6227bffd3897798341c", + "version": "1.0.0", + "port-version": 0 + } + ] +} diff --git a/versions/c-/cpp-httplib.json b/versions/c-/cpp-httplib.json index 230748b4ad3b6b..9c28017086f0ea 100644 --- a/versions/c-/cpp-httplib.json +++ b/versions/c-/cpp-httplib.json @@ -1,5 +1,105 @@ { "versions": [ + { + "git-tree": "22ef6ccb262c5a3a835b39278d4800035a967a94", + "version": "0.18.0", + "port-version": 0 + }, + { + "git-tree": "f32a3404b27650358bc9de8aec265cc7538a865d", + "version": "0.17.0", + "port-version": 0 + }, + { + "git-tree": "ff97f2b2ebe3c9eacfa4adb8d9eabc65b7e7d0c8", + "version": "0.16.2", + "port-version": 0 + }, + { + "git-tree": "caa3be04dad9a8bb2fd223fcd97ab8b1a1597484", + "version": "0.16.0", + "port-version": 0 + }, + { + "git-tree": "8378b4e8bb46f2879c44465e1084a8eef0dd4318", + "version": "0.15.3", + "port-version": 0 + }, + { + "git-tree": "f8ebd2e6ba742af05a5fe992c267ae338f0999d5", + "version": "0.15.2", + "port-version": 0 + }, + { + "git-tree": "9d30a8829eb12f979aaeb5c4c5eebd76c0d150aa", + "version": "0.15.1", + "port-version": 1 + }, + { + "git-tree": "cf7ac80d06d049094fbf0742fcc99ecbd0c3396c", + "version": "0.15.1", + "port-version": 0 + }, + { + "git-tree": "6f65092ce5157b3cf987bf0daba4db53f5d10d37", + "version": "0.14.3", + "port-version": 0 + }, + { + "git-tree": "209025ac7de89c4a8292aeffd8a59259dfc433c5", + "version": "0.14.1", + "port-version": 0 + }, + { + "git-tree": "5ed5d9de6eeab399563ab93d52f73b7d4691d1cc", + "version": "0.14.0", + "port-version": 0 + }, + { + "git-tree": "e1a8cffe02efe8a9c92d1aa1e802f12a8d893aa8", + "version": "0.13.3", + "port-version": 0 + }, + { + "git-tree": "795e219c0d92adb47551a8a8a4a1e800d5fe70a9", + "version": "0.13.1", + "port-version": 0 + }, + { + "git-tree": "570d0fcd52fa9bb8048dfe84df6a31b2473949b5", + "version": "0.12.3", + "port-version": 0 + }, + { + "git-tree": "05e123da2bcd7b05fc8c31fd88e6d3d5aa06d520", + "version": "0.12.2", + "port-version": 0 + }, + { + "git-tree": "d5bea8aab6eaa201dfd01b054327e3c379ab0864", + "version": "0.11.3", + "port-version": 1 + }, + { + "git-tree": "dc844acd2ec9e3519c5fc73ee5cefc473e912820", + "version": "0.11.3", + "port-version": 0 + }, + { + "git-tree": "447d89cebbf0501f587daf989cd578de438617f2", + "version": "0.11.2", + "port-version": 0 + }, + { + "git-tree": "48c366ec15c570dbd1968b288649d2c33ce6ca08", + "version": "0.10.7", + "port-version": 0 + }, + { + "git-tree": "55de9c78120ee08fc96d9a6badab8e1d137ab36a", + "version": "0.10.3", + "port-version": 0 + }, { "git-tree": "bfee573e08d3e240e345491ca8e9df1d4f86b05c", "version": "0.9.7", diff --git a/versions/c-/cpp-ipc.json b/versions/c-/cpp-ipc.json index 97dce1abedddd6..70e444c14f8c75 100644 --- a/versions/c-/cpp-ipc.json +++ b/versions/c-/cpp-ipc.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "36fd22ee76a212829a835b36934e27d825b58183", + "version": "1.3.0", + "port-version": 0 + }, + { + "git-tree": "e86c1547d0be3d2acbe7cebdb799f24359c29e85", + "version": "1.2.0", + "port-version": 0 + }, + { + "git-tree": "86a57c4fce501c6a9bcde5728ea6787b7425176a", + "version": "1.0.1", + "port-version": 1 + }, { "git-tree": "28482723c3bf4c785828c44d7df79bb901404afd", "version": "1.0.1", diff --git a/versions/c-/cpp-jwt.json b/versions/c-/cpp-jwt.json index fa8158e8072b73..2e80af8cae9dba 100644 --- a/versions/c-/cpp-jwt.json +++ b/versions/c-/cpp-jwt.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "bcfe5246f268edb7df635d7225634bfd384f9891", + "version-date": "2022-08-27", + "port-version": 1 + }, + { + "git-tree": "acabe0dc0732f93b8145528dfc0dfd7382758d1b", + "version-date": "2022-08-27", + "port-version": 0 + }, { "git-tree": "f72451ac7e5d62f249b02f79f6e3c9ef8720fc6b", "version-date": "2021-10-18", diff --git a/versions/c-/cpp-kana.json b/versions/c-/cpp-kana.json new file mode 100644 index 00000000000000..da6700b6c21be7 --- /dev/null +++ b/versions/c-/cpp-kana.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "6eda2f3f76b28b4454d608f8407dda45a548c099", + "version": "1.0.0", + "port-version": 0 + } + ] +} diff --git a/versions/c-/cpp-netlib.json b/versions/c-/cpp-netlib.json index 56e9912661d79b..fae5f1a9c0c493 100644 --- a/versions/c-/cpp-netlib.json +++ b/versions/c-/cpp-netlib.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "f4a974a775695cdf6b1bcc82fc98c993f887b006", + "version": "0.13.0", + "port-version": 9 + }, + { + "git-tree": "ac3709aa4c5d5b70f38764f2fa7e0b8f8e891d96", + "version": "0.13.0", + "port-version": 8 + }, + { + "git-tree": "a71758ba258596edd94871670c3d8f7cec334e37", + "version-string": "0.13.0", + "port-version": 7 + }, + { + "git-tree": "49ff4ae830f2e1ae9141ea3155c6d962ca1c7946", + "version-string": "0.13.0", + "port-version": 6 + }, { "git-tree": "28abab182be22ac70207027a6a7e206416bd28b0", "version-string": "0.13.0", diff --git a/versions/c-/cpp-peglib.json b/versions/c-/cpp-peglib.json index a88f89b8a89dc5..527b7d7712be59 100644 --- a/versions/c-/cpp-peglib.json +++ b/versions/c-/cpp-peglib.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "ad61047a51713b6c2a3d1d6be1bf48e4b536bc26", + "version": "1.9.0", + "port-version": 0 + }, + { + "git-tree": "aab20faa46849572df0241317b6b5c309a77ac70", + "version": "1.8.6", + "port-version": 0 + }, + { + "git-tree": "1db90f789f11e0bcb31b569171d0fc3fda779dfc", + "version": "1.8.5", + "port-version": 0 + }, + { + "git-tree": "883e76f3473565fdd800411dfa980eae2e19a131", + "version": "1.3.10", + "port-version": 0 + }, { "git-tree": "4c276ee41b27be78ffa392f24e371e9893b43c93", "version-string": "0.1.0", diff --git a/versions/c-/cpp-pinyin.json b/versions/c-/cpp-pinyin.json new file mode 100644 index 00000000000000..592b2b3010e191 --- /dev/null +++ b/versions/c-/cpp-pinyin.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "f3a4b0cc31a8acaecebdee019de6f0a07b45037a", + "version": "1.0.0", + "port-version": 0 + } + ] +} diff --git a/versions/c-/cpp-redis.json b/versions/c-/cpp-redis.json index 866315dc8b6759..e280eaa7f4e2da 100644 --- a/versions/c-/cpp-redis.json +++ b/versions/c-/cpp-redis.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "9714d8cf0b5557d4362f54f0906295b10a154832", + "version": "4.3.1", + "port-version": 5 + }, { "git-tree": "5ba5958862c17ab2f3943b0134b2ad756ae73613", "version-string": "4.3.1", diff --git a/versions/c-/cpp-sort.json b/versions/c-/cpp-sort.json new file mode 100644 index 00000000000000..ab957c78bcd306 --- /dev/null +++ b/versions/c-/cpp-sort.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "151e8c8270d227fdb1f213daa5d17e87f5575f28", + "version": "1.16.0", + "port-version": 0 + }, + { + "git-tree": "b474d4009aeb5dd69f5024899bff6fbbb92a78f6", + "version": "1.15.0", + "port-version": 0 + } + ] +} diff --git a/versions/c-/cpp-taskflow.json b/versions/c-/cpp-taskflow.json index 9e6d783e0e9c63..0b4f9c982d9e15 100644 --- a/versions/c-/cpp-taskflow.json +++ b/versions/c-/cpp-taskflow.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "00114add33f7d8a7e8f4fb0d22f9206178181b8b", + "version": "2.6.0", + "port-version": 2 + }, { "git-tree": "edbd9a48db629e8b2c264cdd60fba4ca4e218f03", "version-string": "2.6.0", diff --git a/versions/c-/cpp-timsort.json b/versions/c-/cpp-timsort.json index 9dc9431e1302e2..e49881467cbecb 100644 --- a/versions/c-/cpp-timsort.json +++ b/versions/c-/cpp-timsort.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "f5a8b81f0e75aa7dfb3545271564bfd1ff8977c3", + "version": "3.0.0", + "port-version": 0 + }, { "git-tree": "f04e9f0c24e916697a6451b43cf16a2423019635", "version": "2.1.0", diff --git a/versions/c-/cppad.json b/versions/c-/cppad.json index 38aadae7bedb11..e6f06d9ba2cfd2 100644 --- a/versions/c-/cppad.json +++ b/versions/c-/cppad.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "d69e902bac2437d6ccb8828d183d1d00d5ff8a4b", + "version": "20240000.7", + "port-version": 0 + }, + { + "git-tree": "323a35cbd75bb978954048bdbae1f650a865ca7d", + "version": "20240000.6", + "port-version": 0 + }, + { + "git-tree": "6a571c72f89fb09b2d665cbb244a620e60a07f35", + "version": "20240000.2", + "port-version": 0 + }, + { + "git-tree": "198bea4d165c47868b56e47297c6f46f84dfd3af", + "version": "20230000.0", + "port-version": 0 + }, + { + "git-tree": "e05a071cbc00d0343c57c70c2b0b043d570f8627", + "version-string": "20210000.7", + "port-version": 3 + }, { "git-tree": "5ec54e982dd160ae43272613536a53de6884d6d4", "version-string": "20210000.7", diff --git a/versions/c-/cppcms.json b/versions/c-/cppcms.json index ade141096f52c2..24139f93ae6850 100644 --- a/versions/c-/cppcms.json +++ b/versions/c-/cppcms.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "44e220f750bca1f74095cf460adb1753a4deb423", + "version": "1.2.1", + "port-version": 7 + }, + { + "git-tree": "e2fff22eecee1fc50eee291ea49bed2717704031", + "version": "1.2.1", + "port-version": 6 + }, + { + "git-tree": "33ff6dbb307c2baceec0a21f05e098c0d15a8f88", + "version": "1.2.1", + "port-version": 5 + }, + { + "git-tree": "05ef150cab0e8f56bd4f06b41baa9125d94e3451", + "version-string": "1.2.1", + "port-version": 4 + }, { "git-tree": "9582485ed72df7ad43d20b3680e13eaeb76f76e7", "version-string": "1.2.1", diff --git a/versions/c-/cppcodec.json b/versions/c-/cppcodec.json index bfdbbaccc7159a..2243de5946b9cc 100644 --- a/versions/c-/cppcodec.json +++ b/versions/c-/cppcodec.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "c113d2ea70af2571436215a28fb1c880605a1c24", + "version": "0.2", + "port-version": 4 + }, + { + "git-tree": "c2b218c7d3aef05b777ea2537d59b6d1aa2bbf4e", + "version": "0.2", + "port-version": 3 + }, { "git-tree": "cb6b230ec592ba7bc54d85013007f501971f03fa", "version-string": "0.2", diff --git a/versions/c-/cppcoro.json b/versions/c-/cppcoro.json index daf5da05e52067..891a449daf942e 100644 --- a/versions/c-/cppcoro.json +++ b/versions/c-/cppcoro.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "c12bf37fe268e0d060a6092ac597f8f8560416fa", + "version-date": "2022-10-25", + "port-version": 0 + }, + { + "git-tree": "76350a224261bfe57c726e6f3a022d925cb26606", + "version-date": "2020-02-28", + "port-version": 3 + }, { "git-tree": "a9788359b921d309c2982f3f190ac9cb8583f28a", "version-string": "2020-2-28", diff --git a/versions/c-/cppdap.json b/versions/c-/cppdap.json new file mode 100644 index 00000000000000..73e4394edbb431 --- /dev/null +++ b/versions/c-/cppdap.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "ab1e5e1b50226ecd6d45d53b357dac35051a8a47", + "version-semver": "1.58.0-a", + "port-version": 0 + } + ] +} diff --git a/versions/c-/cppfs.json b/versions/c-/cppfs.json index f3ef26ddd8ec0a..4cf9035221890f 100644 --- a/versions/c-/cppfs.json +++ b/versions/c-/cppfs.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "e705e7775f54232e723bcf5bb8fefb55ed4e715f", + "version": "1.3.0", + "port-version": 4 + }, + { + "git-tree": "effae8e598d06cff2d1c7b0a084e6394ff1ee6ed", + "version": "1.3.0", + "port-version": 3 + }, + { + "git-tree": "d018bbc2767ee2fec0398bd1131e5ae70d1ad5cf", + "version": "1.3.0", + "port-version": 2 + }, { "git-tree": "3b904f053fa80033ffa454148ff60a3504f8c57f", "version-string": "1.3.0", diff --git a/versions/c-/cppgraphqlgen.json b/versions/c-/cppgraphqlgen.json index ecfb828ecd560f..fa8464a6ce07d2 100644 --- a/versions/c-/cppgraphqlgen.json +++ b/versions/c-/cppgraphqlgen.json @@ -1,5 +1,65 @@ { "versions": [ + { + "git-tree": "6fa915d7e50edceda898664f00c7860694433fab", + "version": "4.5.7", + "port-version": 1 + }, + { + "git-tree": "4e2c566d443a75be0bc2eba8eac9b3e4580d834f", + "version": "4.5.7", + "port-version": 0 + }, + { + "git-tree": "3e5e70f3ccff87b9b39412aaf1f2c0382a3d3274", + "version": "4.5.5", + "port-version": 0 + }, + { + "git-tree": "8d87ba9b4921a48271c8c6abbe7e9c3f96651b4f", + "version": "4.5.3", + "port-version": 0 + }, + { + "git-tree": "28aa180fcf127016dd1d8ceca4fd964228af191a", + "version": "4.5.1", + "port-version": 0 + }, + { + "git-tree": "301c3f2b22160ddfc752b69253cc3745ef4320f8", + "version": "4.5.0", + "port-version": 0 + }, + { + "git-tree": "52eaf92f61791cfb08e2a8848ccbf1c02748f064", + "version": "4.4.1", + "port-version": 0 + }, + { + "git-tree": "7c3acfd5254a4ae0680cc3f96eef630bcaab7b36", + "version": "4.3.1", + "port-version": 0 + }, + { + "git-tree": "c8d2246a2df1d89e380901d0027220ca7a91531d", + "version-semver": "4.2.0", + "port-version": 0 + }, + { + "git-tree": "95b14163e5e6caf3ae1795167c8ea9503c7a8153", + "version-semver": "4.1.1", + "port-version": 0 + }, + { + "git-tree": "23ec5f0002e33dd6c76bab436dec806cfde33235", + "version-semver": "4.1.0", + "port-version": 0 + }, + { + "git-tree": "6f5eb4a891a143e9d56a8e4791fb87da321a561c", + "version-semver": "4.0.0", + "port-version": 0 + }, { "git-tree": "0c1dadfa4133064be08120a65fd9e2ed3a339bb8", "version-semver": "3.6.0", diff --git a/versions/c-/cppitertools.json b/versions/c-/cppitertools.json index fe5a24f75c1005..afdf65cad2d970 100644 --- a/versions/c-/cppitertools.json +++ b/versions/c-/cppitertools.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "b982722ea8f4a1a9d6178b9b3eacd78a7fa96590", + "version": "2.1", + "port-version": 3 + }, { "git-tree": "8373c4fe2df5953309d3fc443ceed59553d35824", "version": "2.1", diff --git a/versions/c-/cppkafka.json b/versions/c-/cppkafka.json index c54ec8a4f9b5c2..14a93e0232ee46 100644 --- a/versions/c-/cppkafka.json +++ b/versions/c-/cppkafka.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "708cf007605104bc59394d47c9937b203c155b37", + "version": "0.4.0", + "port-version": 0 + }, + { + "git-tree": "a33f71df221cb16bb2f7b1ce5d9cd0043a525e00", + "version": "0.3.1", + "port-version": 5 + }, + { + "git-tree": "c06b1731643d212f178623c88e8319c4c40104dc", + "version-string": "0.3.1", + "port-version": 4 + }, { "git-tree": "749993fee4605134bbe7a5e9a451c959519f4dbf", "version-string": "0.3.1", diff --git a/versions/c-/cppmicroservices.json b/versions/c-/cppmicroservices.json index 0ab78b6200af7d..34f83579fdfc92 100644 --- a/versions/c-/cppmicroservices.json +++ b/versions/c-/cppmicroservices.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "b438280ccc1012bda6457141a3dea8071711ffb9", + "version": "3.7.6", + "port-version": 1 + }, + { + "git-tree": "3399e4ad64f4b4c0d32f4b5df723384a1bd98dbe", + "version": "3.7.6", + "port-version": 0 + }, + { + "git-tree": "4d97b6213a9f6a77e8f1062229ead80ffd4703a7", + "version": "3.6.0", + "port-version": 1 + }, { "git-tree": "df21454215c4d4d1106621ead01a95a199163b60", "version": "3.6.0", diff --git a/versions/c-/cppp-reiconv.json b/versions/c-/cppp-reiconv.json new file mode 100644 index 00000000000000..546e9979ca0cd9 --- /dev/null +++ b/versions/c-/cppp-reiconv.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "48b338ed3b71e8f573134ce0ddc26921c4f3ead7", + "version": "2.1.0", + "port-version": 0 + } + ] +} diff --git a/versions/c-/cpprealm.json b/versions/c-/cpprealm.json new file mode 100644 index 00000000000000..0cd8b5b7c10359 --- /dev/null +++ b/versions/c-/cpprealm.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "bbcfe69dfeb591c85bece17d0c46ff622a66f884", + "version": "2.2.0", + "port-version": 0 + }, + { + "git-tree": "58fb5ebe04ba047e583ef885dcb021cc0c3caf40", + "version": "2.1.0", + "port-version": 0 + } + ] +} diff --git a/versions/c-/cpprestsdk.json b/versions/c-/cpprestsdk.json index 5372196d40b07d..4543565258f829 100644 --- a/versions/c-/cpprestsdk.json +++ b/versions/c-/cpprestsdk.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "fe8937b292f7e41d1a5d64a89a0176537a0911c0", + "version": "2.10.19", + "port-version": 2 + }, + { + "git-tree": "a10a640d968ca2ac8f1d0df0836e3d23a7fb2199", + "version": "2.10.19", + "port-version": 1 + }, + { + "git-tree": "110c2c2a08e520877aa3fa9231ab69e0a76f388d", + "version": "2.10.19", + "port-version": 0 + }, + { + "git-tree": "e906f25fb64a3b11da4b1e551d63fe569fd300e3", + "version": "2.10.18", + "port-version": 4 + }, + { + "git-tree": "53f896a9d80f0fd51e2645ee7deccbc0c955859a", + "version": "2.10.18", + "port-version": 3 + }, + { + "git-tree": "e1fb46f5d043e3a354bfbc6f77df5df3b321f74b", + "version": "2.10.18", + "port-version": 2 + }, + { + "git-tree": "b37c56224faff461184f427b95f10dc320d74d50", + "version": "2.10.18", + "port-version": 1 + }, { "git-tree": "a4c5e50b9a83b6f9142256d1142b371da93db065", "version-string": "2.10.18", diff --git a/versions/c-/cppslippi.json b/versions/c-/cppslippi.json new file mode 100644 index 00000000000000..ecca0517df3032 --- /dev/null +++ b/versions/c-/cppslippi.json @@ -0,0 +1,29 @@ +{ + "versions": [ + { + "git-tree": "6e6b71494ea0da4bc14b4078698bec25a28630e0", + "version": "1.4.3.16", + "port-version": 0 + }, + { + "git-tree": "a7df05e339a6d25e29d35374e4f7ff1a4b78dbab", + "version": "1.3.3.14", + "port-version": 0 + }, + { + "git-tree": "bdb4a9aadefc971d10cb8c37bd13570e3c7fab0e", + "version": "1.2.3.14", + "port-version": 0 + }, + { + "git-tree": "0534d15dbe06459887eeddf859ebab443701c6d7", + "version": "1.1.3.14", + "port-version": 0 + }, + { + "git-tree": "3cb6381580bcf82551009114b87021b0b1bc9885", + "version": "1.0.3.14", + "port-version": 0 + } + ] +} diff --git a/versions/c-/cpptoml.json b/versions/c-/cpptoml.json index 9f1b4068775928..e42d19dcb4f499 100644 --- a/versions/c-/cpptoml.json +++ b/versions/c-/cpptoml.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "6993c08a35db3961ad0543456f236e3e5a2492c9", + "version": "0.1.1", + "port-version": 4 + }, + { + "git-tree": "fde8b7854f0796406eada5609cb2cc54728d73db", + "version": "0.1.1", + "port-version": 3 + }, + { + "git-tree": "56b510542b03ac901331cc1d074c140ff7aaaad1", + "version-string": "v0.1.1", + "port-version": 2 + }, { "git-tree": "f99a8c54489e45f171c05fa68d75f8cf5f6103cb", "version-string": "v0.1.1", diff --git a/versions/c-/cpptrace.json b/versions/c-/cpptrace.json new file mode 100644 index 00000000000000..d24b5536d41628 --- /dev/null +++ b/versions/c-/cpptrace.json @@ -0,0 +1,94 @@ +{ + "versions": [ + { + "git-tree": "1ca7b77365f1ebaa6b02fe8aa6bac200867303cb", + "version": "0.7.2", + "port-version": 0 + }, + { + "git-tree": "8ee02d28a1fa8868d0289df4ea94ac9d3f13e91f", + "version": "0.7.1", + "port-version": 0 + }, + { + "git-tree": "2f6836d8eb54c24e0e1cb8fb35a6d9aeba6f8723", + "version": "0.7.0", + "port-version": 0 + }, + { + "git-tree": "541c041732162108b17d32557a3d86062aede451", + "version": "0.6.3", + "port-version": 0 + }, + { + "git-tree": "ee2683e17b46c1e44147deeeed227595940fa652", + "version": "0.6.2", + "port-version": 0 + }, + { + "git-tree": "64f2b677dc99637be42a062d6c6a91c824230751", + "version": "0.6.1", + "port-version": 0 + }, + { + "git-tree": "089e867a1e7c29c5daf0cd95ac52c4c4547040d9", + "version": "0.6.0", + "port-version": 0 + }, + { + "git-tree": "892992a3b1c323fc9bd1434933956c64f0d6f54b", + "version": "0.5.4", + "port-version": 0 + }, + { + "git-tree": "5b2825a7e9368cf8cb4e49eb096bafc228d4ff37", + "version": "0.5.3", + "port-version": 0 + }, + { + "git-tree": "0a6d8ee3f2b6703cd13fc89da435f20ecca0759c", + "version": "0.5.2", + "port-version": 0 + }, + { + "git-tree": "f262cd71efd35dba535e0c2e3a447760f06f5593", + "version": "0.5.1", + "port-version": 0 + }, + { + "git-tree": "e9f72095acc3125b572269e30506eaf670cfd089", + "version": "0.5.0", + "port-version": 0 + }, + { + "git-tree": "366e041c6686ceaee1053bacaacc3343ac716fab", + "version": "0.4.1", + "port-version": 0 + }, + { + "git-tree": "714d5c3633b16c2b9b0fa45f224cbe2427f45f02", + "version": "0.4.0", + "port-version": 0 + }, + { + "git-tree": "a47f178584948b2b0b797d538c43fb41664ca96d", + "version": "0.3.1", + "port-version": 1 + }, + { + "git-tree": "a9dc1989a430b531df437790e61d09b411342ec3", + "version": "0.3.1", + "port-version": 0 + }, + { + "git-tree": "620e293efe2a80f6abdf9499855b09718cd8a051", + "version": "0.3.0", + "port-version": 0 + }, + { + "git-tree": "c91d65da151c8d10bd59b6980c5a98c797e68679", + "version": "0.2.1", + "port-version": 0 + } + ] +} diff --git a/versions/c-/cppunit.json b/versions/c-/cppunit.json index 181fce503f9a38..dcb6acca6429c9 100644 --- a/versions/c-/cppunit.json +++ b/versions/c-/cppunit.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "f41d796c28175989ae33707289645752d8b6c3f8", + "version": "1.15.1", + "port-version": 4 + }, + { + "git-tree": "671d125960c9cce11a92b65b8bdfba73f85b09b5", + "version": "1.15.1", + "port-version": 3 + }, + { + "git-tree": "5a65f009e556f249711d69ed679c2b570d9e79db", + "version": "1.15.1", + "port-version": 2 + }, { "git-tree": "1384ee0101801f599b23f167aee7cfc733536022", "version": "1.15.1", diff --git a/versions/c-/cpputest.json b/versions/c-/cpputest.json index 750270e37afc4d..dcc5957accbc5c 100644 --- a/versions/c-/cpputest.json +++ b/versions/c-/cpputest.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "9db5c5203e4af2efa89f513a14314e8bde14f24a", + "version": "2019-9-16", + "port-version": 3 + }, { "git-tree": "e476f5c4b948489a33c704cbfc42d8ca60ac29e3", "version-string": "2019-9-16", diff --git a/versions/c-/cppwinrt.json b/versions/c-/cppwinrt.json index da64d482478525..7383fb47b47feb 100644 --- a/versions/c-/cppwinrt.json +++ b/versions/c-/cppwinrt.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "ef233ec464cf3483066900c8be82bd2e77266d85", + "version": "2.0.240405.15", + "port-version": 0 + }, + { + "git-tree": "a2cf04c5162520cb5b3784e0cf09da9416929ab4", + "version": "2.0.240111.5", + "port-version": 0 + }, + { + "git-tree": "a3c57356ebb8b59a5f12468f180728751d16581b", + "version": "2.0.230207.1", + "port-version": 0 + }, + { + "git-tree": "1d3deb9b47938422fb8f885f19a677ff51a4b6bc", + "version": "2.0.221121.5", + "port-version": 0 + }, + { + "git-tree": "ba79ee15a44c311721836b535804423506cbcf5d", + "version": "2.0.220929.3", + "port-version": 0 + }, + { + "git-tree": "18d6860cc0a36639fe348d27ab4cb763dfc0e879", + "version": "2.0.220418.1", + "port-version": 0 + }, { "git-tree": "191643fbd9c127658cf1724216a3b393951bd68e", "version-string": "windows-sdk", diff --git a/versions/c-/cppxaml.json b/versions/c-/cppxaml.json new file mode 100644 index 00000000000000..efdb058666d7f6 --- /dev/null +++ b/versions/c-/cppxaml.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "85dcf687925f266a40cf039aa8696b729f7b084e", + "version": "0.0.16", + "port-version": 1 + }, + { + "git-tree": "57d825ac962df4a92481b82161ea7b7088929a82", + "version": "0.0.16", + "port-version": 0 + } + ] +} diff --git a/versions/c-/cppzmq.json b/versions/c-/cppzmq.json index 36d750c936d207..a5d44495192fc3 100644 --- a/versions/c-/cppzmq.json +++ b/versions/c-/cppzmq.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "8e7a8ca62f55304268afb4ddd9220cc39d6b4831", + "version": "4.10.0", + "port-version": 0 + }, + { + "git-tree": "f50d93799a1982bbbdd22e88c7a784f9a7e38368", + "version": "4.9.0", + "port-version": 1 + }, + { + "git-tree": "7f4360cc5fa484c4ecd286ef6c545bde4b01bc39", + "version": "4.9.0", + "port-version": 0 + }, + { + "git-tree": "f419d44bd1ecfd65a17218ff840cb6717efc94f3", + "version": "4.8.1", + "port-version": 1 + }, { "git-tree": "79921528ad838f11245ebfb6b3f2fe9dc4bdca26", "version": "4.8.1", diff --git a/versions/c-/cpr.json b/versions/c-/cpr.json index 62211198125bfc..021d6fc0688536 100644 --- a/versions/c-/cpr.json +++ b/versions/c-/cpr.json @@ -1,5 +1,70 @@ { "versions": [ + { + "git-tree": "fcd72abf1ed00a511386932feb884c2c3caa8cd7", + "version-semver": "1.11.0", + "port-version": 0 + }, + { + "git-tree": "25dbacaabb8b12e7032cbad5e03434c983732f2a", + "version-semver": "1.10.5", + "port-version": 2 + }, + { + "git-tree": "83379af62bd0d170537dd4ee3abba017d4a54659", + "version-semver": "1.10.5", + "port-version": 1 + }, + { + "git-tree": "b734e9b119682ee4c98e2b4a127a8e29fc750844", + "version-semver": "1.10.5", + "port-version": 0 + }, + { + "git-tree": "96f05ba23a7dc5ba102ba451210b2c367669c1ad", + "version-semver": "1.10.2+3", + "port-version": 0 + }, + { + "git-tree": "13181536fae6181da65a2d2522a814fffb61bb83", + "version-semver": "1.9.3", + "port-version": 0 + }, + { + "git-tree": "43794d1334bdf904800cc65ef0982ad4fc33d1e4", + "version-semver": "1.9.2", + "port-version": 0 + }, + { + "git-tree": "85bce5170656abc1bf594034c85f406d996776b1", + "version-semver": "1.9.0", + "port-version": 1 + }, + { + "git-tree": "8ad107acca744655eb0b5aa05c5e6fc1c5516347", + "version-semver": "1.9.0", + "port-version": 0 + }, + { + "git-tree": "0699dd50434f04eeccbcd30ed9a3973c3143052b", + "version-semver": "1.8.3", + "port-version": 0 + }, + { + "git-tree": "6a73ff58e720c30c96a1f7d12f98c9553a62a0d7", + "version-semver": "1.8.1", + "port-version": 0 + }, + { + "git-tree": "ada43417fa0d4613e92e3daafc717b83079d7959", + "version-semver": "1.7.2", + "port-version": 0 + }, + { + "git-tree": "5adb33b62335c55231d3cd37e302c3487721a1d8", + "version-semver": "1.7.0", + "port-version": 0 + }, { "git-tree": "bc224c4615958fa1105b29a9d973555fda345de8", "version-semver": "1.6.2", diff --git a/versions/c-/cpu-features.json b/versions/c-/cpu-features.json index 3d96d9efb6942d..a4c3236059218b 100644 --- a/versions/c-/cpu-features.json +++ b/versions/c-/cpu-features.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "dfa189c9350c179c90db6f7dfe4352ecddcd2b6a", + "version": "0.9.0", + "port-version": 0 + }, + { + "git-tree": "5e090d7020fbfe7ca8a7c2f70b6cc3f4520f2fea", + "version": "0.8.0", + "port-version": 1 + }, + { + "git-tree": "b7b519ccb7eebe02086e062e34a6d3d6b0f54cde", + "version": "0.8.0", + "port-version": 0 + }, + { + "git-tree": "389a30511ba8ab8c2891ee40ad9cc6ae89561739", + "version": "0.7.0", + "port-version": 0 + }, + { + "git-tree": "608368f9c6d85d0278ae92687024e8bd31aecbe4", + "version": "0.6.0", + "port-version": 2 + }, + { + "git-tree": "7df362e53cec246374da4f3d192bb1d4bb71b2b9", + "version": "0.6.0", + "port-version": 1 + }, { "git-tree": "1e64c7ac2673d19f18e8bc447b14e3ae7f842c81", "version": "0.6.0", diff --git a/versions/c-/cpuid.json b/versions/c-/cpuid.json index 658b88edbc9566..6d9f94e25d34f8 100644 --- a/versions/c-/cpuid.json +++ b/versions/c-/cpuid.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "fe355f57cd08fb6530cd893d7d3c130a15f2ce13", + "version": "0.6.4", + "port-version": 0 + }, + { + "git-tree": "38d8b8a97510236c2a41d0f903b609be0d3cf580", + "version": "0.6.2", + "port-version": 0 + }, + { + "git-tree": "ffa19cf0fffa902983c32201f6f7b9cd36222c23", + "version": "0.5.1", + "port-version": 4 + }, + { + "git-tree": "aa97f1bac97c79fa1595ed1a4b141c209fc375e8", + "version": "0.5.1", + "port-version": 3 + }, { "git-tree": "ad9738f7afc11f1fa0cea524f4d79dd6cc644e7c", "version": "0.5.1", diff --git a/versions/c-/cpuinfo.json b/versions/c-/cpuinfo.json index 7c3abd38ecb5c2..d2a0178a0737c6 100644 --- a/versions/c-/cpuinfo.json +++ b/versions/c-/cpuinfo.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "f1b7e10e1de1dcd09118adc19c5bc831417dcc8c", + "version-date": "2022-07-19", + "port-version": 3 + }, + { + "git-tree": "b48fc0cf93034d06bb34c5f83da8be921006b283", + "version-date": "2022-07-19", + "port-version": 2 + }, + { + "git-tree": "fd82cda8111eabcbc6317c215c4ad58b9778e7e0", + "version-date": "2022-07-19", + "port-version": 1 + }, + { + "git-tree": "5ee1eff9fe6cfa584b697e71ce7081a69ef2c51d", + "version-date": "2022-07-19", + "port-version": 0 + }, + { + "git-tree": "11ac581a5c1307b2039cf9db3933c2aeffb7a923", + "version-date": "2022-04-02", + "port-version": 1 + }, + { + "git-tree": "69febccb10ae5b789dd6c5af2b85740617fc34f4", + "version-date": "2022-04-02", + "port-version": 0 + }, { "git-tree": "28dbefcc9131ff8ce6fa939f7fcdb5cf0d4ee7fd", "version-date": "2021-04-04", diff --git a/versions/c-/cr.json b/versions/c-/cr.json index eec55d22ad7398..3cda19c5e23219 100644 --- a/versions/c-/cr.json +++ b/versions/c-/cr.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "992f08365509f46e7d51f252317ef8b6da7e11a9", + "version-date": "2020-04-26", + "port-version": 2 + }, { "git-tree": "67c46561394de15aee2a56d57590eeef1060019d", "version-string": "2020-04-26", diff --git a/versions/c-/crashpad.json b/versions/c-/crashpad.json index 8551c961a5a09d..3762bad410dd9b 100644 --- a/versions/c-/crashpad.json +++ b/versions/c-/crashpad.json @@ -1,5 +1,90 @@ { "versions": [ + { + "git-tree": "3e260774308b256e5831185d41b76510c7268782", + "version-date": "2024-04-11", + "port-version": 4 + }, + { + "git-tree": "3c65a9330a2d6d53ab6afad83ec165e708b1cc4e", + "version-date": "2024-04-11", + "port-version": 3 + }, + { + "git-tree": "a8c3dac7327cb12c8f1885797a7d63ed99b6963c", + "version-date": "2024-04-11", + "port-version": 2 + }, + { + "git-tree": "43c2573b9400b543b26e7c9fbb091bdfefa51b79", + "version-date": "2024-04-11", + "port-version": 1 + }, + { + "git-tree": "faece66eb2a9a6f95f5a11c7f4ebd3cefd70d54f", + "version-date": "2024-04-11", + "port-version": 0 + }, + { + "git-tree": "d3d6e9473bb3047d0ba5db163765218b013809c1", + "version-date": "2022-09-05", + "port-version": 6 + }, + { + "git-tree": "f7161b19eece4ad2643d6b2baafdb5fd6ec57572", + "version-date": "2022-09-05", + "port-version": 5 + }, + { + "git-tree": "63c757af964d6d69f6abdeb0a3849889ad3531a9", + "version-date": "2022-09-05", + "port-version": 4 + }, + { + "git-tree": "699f5caaac594c10928ddf73ba45e64ad764252f", + "version-date": "2022-09-05", + "port-version": 3 + }, + { + "git-tree": "37f155d62394f7faae4d48be6efcd81fce1587eb", + "version-date": "2022-09-05", + "port-version": 2 + }, + { + "git-tree": "f7ead3d493577856543add942c07776fe60ded9e", + "version-date": "2022-09-05", + "port-version": 1 + }, + { + "git-tree": "6d39be1cd402a6147c057802a84ffdc1715d6384", + "version-date": "2022-09-05", + "port-version": 0 + }, + { + "git-tree": "e1338388a039df55d6812726dd2e638684a19509", + "version-date": "2022-04-16", + "port-version": 3 + }, + { + "git-tree": "52ddbe860d52d69d2c0f80001528f9edf961e58b", + "version-date": "2022-04-16", + "port-version": 2 + }, + { + "git-tree": "aa3803e8f14e1a0467a2aa509403d9fc8c56e159", + "version-date": "2022-04-16", + "port-version": 1 + }, + { + "git-tree": "448abcac90e97d8b5ee03843775dd7fcba971979", + "version-date": "2022-04-16", + "port-version": 0 + }, + { + "git-tree": "88ee612aa949155b1e363bb710578811d3283033", + "version-date": "2020-03-18", + "port-version": 2 + }, { "git-tree": "1968933546b1d1a71dbe8869f68f13d014fcb943", "version-string": "2020-03-18", diff --git a/versions/c-/crashrpt.json b/versions/c-/crashrpt.json index 633efbaa4d5e66..7b198b0bce0b02 100644 --- a/versions/c-/crashrpt.json +++ b/versions/c-/crashrpt.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "bb5e94d69da827d776c42545cdda4ca0e5565629", + "version": "1.4.3", + "port-version": 3 + }, + { + "git-tree": "896d96ee0613edabd92048142803845fa11baa68", + "version": "1.4.3", + "port-version": 2 + }, { "git-tree": "ad55102e0d167bb457349e5b2b4cec75efc45a91", "version": "1.4.3", diff --git a/versions/c-/crc32c.json b/versions/c-/crc32c.json index 3b1f56ad4586f4..d275079e7bb0cc 100644 --- a/versions/c-/crc32c.json +++ b/versions/c-/crc32c.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "65cab652a6fffba3e3b25332d7935bf57aa3c4f0", + "version": "1.1.2", + "port-version": 2 + }, + { + "git-tree": "9704ed68003973bdffcd5224f720b97c424d1fa5", + "version": "1.1.2", + "port-version": 1 + }, { "git-tree": "dcfaa85ef9b67b94cf51378922832fff7cf43333", "version": "1.1.2", diff --git a/versions/c-/crfsuite.json b/versions/c-/crfsuite.json index 60419940740417..e70b02249742a9 100644 --- a/versions/c-/crfsuite.json +++ b/versions/c-/crfsuite.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "fadb490144cc26196613b2ca3c05f2ebff67026b", + "version-date": "2020-08-27", + "port-version": 1 + }, + { + "git-tree": "8f290a396def84e4a24ca49e29d17d7218b8e410", + "version-date": "2020-08-27", + "port-version": 0 + }, + { + "git-tree": "b74e8dd91be02cf5bbbd6f6387d66468fe579e8e", + "version-date": "2019-07-21", + "port-version": 3 + }, + { + "git-tree": "973286d78761d5a06d7188a21df0e15124dbf610", + "version-date": "2019-07-21", + "port-version": 2 + }, { "git-tree": "65bc9733064d028bb4f2960d824862263f74bfde", "version-date": "2019-07-21", diff --git a/versions/c-/croncpp.json b/versions/c-/croncpp.json index f1feb4ca48847a..1eea5b9ff49613 100644 --- a/versions/c-/croncpp.json +++ b/versions/c-/croncpp.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "13457e7a1989326119d3e30d7ce8c4d2809697c4", + "version-date": "2023-03-30", + "port-version": 0 + }, + { + "git-tree": "0fb4aefe39d2d695cb5cc89a4f3c92e4229605f5", + "version-date": "2020-09-04", + "port-version": 3 + }, { "git-tree": "79f67dcb192287955f663db8cc36f73455f78990", "version-string": "2020-09-04", diff --git a/versions/c-/crossguid.json b/versions/c-/crossguid.json index e516a9d08122ed..8a0904314f9ed1 100644 --- a/versions/c-/crossguid.json +++ b/versions/c-/crossguid.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "39a8ec44dcb709796a0ecdc4c170f67ad5ad1175", + "version-date": "2021-10-22", + "port-version": 3 + }, + { + "git-tree": "93714099ddf83b2f3437a080c8acc08ff74cbe37", + "version-date": "2021-10-22", + "port-version": 2 + }, + { + "git-tree": "4e53633ff35a2bcfb9076aee3e0d740406e788d3", + "version-date": "2021-10-22", + "port-version": 1 + }, { "git-tree": "5880c01322b2c2cd08e9b573b769260696b2365d", "version-date": "2021-10-22", diff --git a/versions/c-/crow.json b/versions/c-/crow.json index 2a3174ddd2a319..dce8170121f764 100644 --- a/versions/c-/crow.json +++ b/versions/c-/crow.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "a44a1c72d91d4799b509c35eaa5ee74aea4617fa", + "version": "1.2.0", + "port-version": 0 + }, + { + "git-tree": "da63a4872320e46bc7da9abdd06050fa8e02ca20", + "version": "1.1.0", + "port-version": 0 + }, + { + "git-tree": "e9dab5ab4d56d0174fbf2c661e2fab60a1d4e95c", + "version": "1.0-5", + "port-version": 0 + }, + { + "git-tree": "e21a4fb8fd849bfe3ee8d77dbdb3a4953dd08d55", + "version": "1.0-1", + "port-version": 0 + }, + { + "git-tree": "7e3e9d55fe174a7a7fc05c8afdac245eea49a654", + "version": "0.3.4", + "port-version": 0 + }, { "git-tree": "a843201119b89aaf74f30b1b74e1309b71ce0310", "version": "0.3.3", diff --git a/versions/c-/cryptopp.json b/versions/c-/cryptopp.json index 56bb041ddbb988..5e3444cf298bbd 100644 --- a/versions/c-/cryptopp.json +++ b/versions/c-/cryptopp.json @@ -1,5 +1,55 @@ { "versions": [ + { + "git-tree": "d0e6dbcd3cb14acffac5ce963dc8fcd1178101fc", + "version": "8.9.0", + "port-version": 1 + }, + { + "git-tree": "48788514ae1e84dea9055e603527c91f92c124fb", + "version": "8.9.0", + "port-version": 0 + }, + { + "git-tree": "ecb46c9c0fbce15e4238443a6d93275a052b3c9e", + "version": "8.8.0", + "port-version": 0 + }, + { + "git-tree": "21a45a2fb90fe76c026e8033c58c699d63cbf4e9", + "version": "8.7.0", + "port-version": 3 + }, + { + "git-tree": "20b463ab90fac219ea14ff22661b9afbff15b54a", + "version": "8.7.0", + "port-version": 2 + }, + { + "git-tree": "8b3216451005bcb10fe92fef34a00abead309247", + "version": "8.7.0", + "port-version": 1 + }, + { + "git-tree": "7e3fcbde366bc4af8cc2082053b671352963410d", + "version": "8.7.0", + "port-version": 0 + }, + { + "git-tree": "1aecd97d5b5c29bc51bab7892b15035a8e24002d", + "version": "8.6.0", + "port-version": 2 + }, + { + "git-tree": "9d23fcfb280c3508aabac1d7e0f83440dcb8627f", + "version": "8.6.0", + "port-version": 1 + }, + { + "git-tree": "0d47535ac1767600626347e025079450a909c6ba", + "version": "8.6.0", + "port-version": 0 + }, { "git-tree": "2092d648b56a683bcd8b3e72f4adc3a966956c17", "version-string": "8.5.0", diff --git a/versions/c-/cserialport.json b/versions/c-/cserialport.json new file mode 100644 index 00000000000000..8cc6540b91e145 --- /dev/null +++ b/versions/c-/cserialport.json @@ -0,0 +1,29 @@ +{ + "versions": [ + { + "git-tree": "147cf49ff6bcecc86c1644cd0db7e54517eec4fa", + "version": "4.3.1", + "port-version": 0 + }, + { + "git-tree": "842df8d9c0fac5c130724643392f828bb20a6f97", + "version": "4.3.0", + "port-version": 1 + }, + { + "git-tree": "28d4a472a2587c890738ebb66b79bfd3ab052ac9", + "version": "4.3.0", + "port-version": 0 + }, + { + "git-tree": "d77a5c24de68d33668252720bd2450ff86b1dc94", + "version": "4.2.1", + "port-version": 0 + }, + { + "git-tree": "40b712199f0d2fdacdb68dae7bbf03a0bcab7918", + "version": "4.1.1", + "port-version": 0 + } + ] +} diff --git a/versions/c-/cspice.json b/versions/c-/cspice.json index 6586f30ebfaf08..c8b587b7bed08f 100644 --- a/versions/c-/cspice.json +++ b/versions/c-/cspice.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "a87828fb249f8a2f9d6ded34e0c8e79f4349d842", + "version": "67", + "port-version": 3 + }, + { + "git-tree": "1da82692c98d788552288f73818983fc3b561b7b", + "version": "67", + "port-version": 2 + }, + { + "git-tree": "2ad682ffd7b5b7cb6316fd77dc99dda7e6100731", + "version": "67", + "port-version": 1 + }, + { + "git-tree": "1c8f251f7712ff12e7b94d059a56eff69915fb43", + "version-string": "67", + "port-version": 0 + }, { "git-tree": "2b03824386796440e0b529f4e29413686f0fc5d5", "version-string": "66", diff --git a/versions/c-/ctbench.json b/versions/c-/ctbench.json new file mode 100644 index 00000000000000..16cc7de3433dfd --- /dev/null +++ b/versions/c-/ctbench.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "86059d5165c609870e2ea47c287c60935fb3548c", + "version": "1.3.4", + "port-version": 1 + }, + { + "git-tree": "65af527a36df8e5a96b1f21cb62a1ac8c6b95518", + "version": "1.3.4", + "port-version": 0 + }, + { + "git-tree": "a53ddf49e4e46a3e876af7be40a08c6016ecc5b7", + "version": "1.3.3", + "port-version": 0 + } + ] +} diff --git a/versions/c-/ctbignum.json b/versions/c-/ctbignum.json index 676be5da86c34e..fea9a4f06609e9 100644 --- a/versions/c-/ctbignum.json +++ b/versions/c-/ctbignum.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "6906803a0f8c9dc9c86a05bf2cc726a5064208e5", + "version-date": "2019-08-02", + "port-version": 5 + }, + { + "git-tree": "e343f08ae948a498ea8aba148c3dacda6da0fb3f", + "version-date": "2019-08-02", + "port-version": 4 + }, + { + "git-tree": "b3b10f0256bff010503b6ebcbb966235308947f2", + "version-date": "2019-08-02", + "port-version": 3 + }, + { + "git-tree": "555cc4f7caade3a6d817fd65d15ff2274ed0f5eb", + "version-string": "2019-08-02", + "port-version": 2 + }, { "git-tree": "88ce498c3810046ebfe6500157691bf21a85eb07", "version-string": "2019-08-02", diff --git a/versions/c-/ctemplate.json b/versions/c-/ctemplate.json index d9e9f8ecb4b78a..b15943d9857bdb 100644 --- a/versions/c-/ctemplate.json +++ b/versions/c-/ctemplate.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "2819a29b40ae309a7f6355cdf1ca03b23ef8e4c9", + "version-date": "2020-09-14", + "port-version": 5 + }, + { + "git-tree": "b3f163cc201cb05bf66a1c4880428f9f7be4170b", + "version-date": "2020-09-14", + "port-version": 4 + }, + { + "git-tree": "d0cd0a34b622b661af41d0f829ad22e406cd6c7f", + "version-date": "2020-09-14", + "port-version": 3 + }, { "git-tree": "491ab782407b38835b9a555dc77e6d3af485fdae", "version-date": "2020-09-14", diff --git a/versions/c-/ctp.json b/versions/c-/ctp.json index 3382ae094b0941..f22b5c7f0f1d18 100644 --- a/versions/c-/ctp.json +++ b/versions/c-/ctp.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "711ec7abed5a21f5dbb07573e9895a9611fc6a11", + "version-string": "6.6.1_P1_20210406_se", + "port-version": 4 + }, + { + "git-tree": "11ff3d437cca5956d99f8690143f12a0ebd5e839", + "version-string": "6.6.1_P1_20210406_se", + "port-version": 3 + }, { "git-tree": "7160f9a456cfd057dee1cb0a92f92a4f16876fe8", "version-string": "6.6.1_P1_20210406_se", diff --git a/versions/c-/ctpg.json b/versions/c-/ctpg.json new file mode 100644 index 00000000000000..502749fbdd0252 --- /dev/null +++ b/versions/c-/ctpg.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "ce005721070c743c453fed6b2dcd3b2f2d351ba9", + "version": "1.3.7", + "port-version": 2 + }, + { + "git-tree": "3cbcbbd2011b26de3ddec2aca13ee915c838021a", + "version": "1.3.7", + "port-version": 1 + }, + { + "git-tree": "3a1f2a1050353e56b539e4bd98b40853ca6b59ed", + "version": "1.3.7", + "port-version": 0 + } + ] +} diff --git a/versions/c-/ctre.json b/versions/c-/ctre.json index a5f5f91604aee6..4b2b66af8e4fbc 100644 --- a/versions/c-/ctre.json +++ b/versions/c-/ctre.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "46132b3dc836ad3d4bd3be6a83ecef318800e844", + "version": "3.9.0", + "port-version": 0 + }, + { + "git-tree": "0de95344cb3e667b9514cc77fefe7597648e7729", + "version": "3.8.1", + "port-version": 0 + }, + { + "git-tree": "70b866377c945c0c024c7379e0f06b00b898fcfb", + "version": "3.8", + "port-version": 0 + }, + { + "git-tree": "f1277ac9132e7a6c91bdfd6cc355eccedbb28732", + "version-semver": "3.7.2", + "port-version": 0 + }, + { + "git-tree": "e58aea3dd5570f3a2024f9d0a407e0e27e525dae", + "version-semver": "3.7.1", + "port-version": 0 + }, + { + "git-tree": "7b8b42356b574541c92ad5509ced7b325361f8b8", + "version-semver": "3.6.0", + "port-version": 0 + }, { "git-tree": "fd57f6d1ec68aaa67e90f3382cce5668c5ecff5a", "version-semver": "3.4.1", diff --git a/versions/c-/ctstraffic.json b/versions/c-/ctstraffic.json new file mode 100644 index 00000000000000..70d462cf1cc475 --- /dev/null +++ b/versions/c-/ctstraffic.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "e97cd84703f8c6e44d38be51561113c564590876", + "version": "2.0.3.2", + "port-version": 0 + } + ] +} diff --git a/versions/c-/cub.json b/versions/c-/cub.json index 5478b52920ac1e..6538ac26f51d0e 100644 --- a/versions/c-/cub.json +++ b/versions/c-/cub.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "c7b6e0430fa6c7701a81090f35c8344c7889d790", + "version": "2.1.0", + "port-version": 0 + }, + { + "git-tree": "d6fe5c753cf67eeb18b536ea933864d15a88331d", + "version": "1.16.0", + "port-version": 0 + }, { "git-tree": "ec58db0c42a8978215a38d7e9ac938dd1b936c1f", "version": "1.12.0", diff --git a/versions/c-/cubeb.json b/versions/c-/cubeb.json new file mode 100644 index 00000000000000..575a01b830e710 --- /dev/null +++ b/versions/c-/cubeb.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "9eac0d45fa24887b010ffdd09284d936950d6b0e", + "version-date": "2023-09-26", + "port-version": 1 + }, + { + "git-tree": "734318573d1aab99ec902221d209cd01940b37e7", + "version-date": "2023-09-26", + "port-version": 0 + }, + { + "git-tree": "7d7979530500923609dae0ce99dc4a63fea13056", + "version-date": "2022-07-22", + "port-version": 0 + } + ] +} diff --git a/versions/c-/cuda-api-wrappers.json b/versions/c-/cuda-api-wrappers.json new file mode 100644 index 00000000000000..1af4971854f2d0 --- /dev/null +++ b/versions/c-/cuda-api-wrappers.json @@ -0,0 +1,24 @@ +{ + "versions": [ + { + "git-tree": "e1c89070ea5d1eb68494361a8e3c88fa4a15de77", + "version": "0.7.1", + "port-version": 0 + }, + { + "git-tree": "8841506763b79b5ff664faf93faf3919ffb5b06f", + "version": "0.6.9", + "port-version": 0 + }, + { + "git-tree": "7a504ca0e13729c26c4df96ba5b7a321069219be", + "version": "0.6.7", + "port-version": 0 + }, + { + "git-tree": "f31ca06768d00b72f8387dce98f3a8d2d867cfcb", + "version": "0.6.6", + "port-version": 0 + } + ] +} diff --git a/versions/c-/cuda.json b/versions/c-/cuda.json index 12a4ed37052bab..25c88a19c49f50 100644 --- a/versions/c-/cuda.json +++ b/versions/c-/cuda.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "d7709c275f8ce58e6d1b4c71b8d37fba4a9a0377", + "version": "10.1", + "port-version": 13 + }, + { + "git-tree": "85508d056c8d9e006b455ee71e29ab015abd8d63", + "version": "10.1", + "port-version": 12 + }, + { + "git-tree": "1d190177076c48287897d233ae2fa8c241f28f40", + "version": "10.1", + "port-version": 11 + }, + { + "git-tree": "4e8939c3547a570a73098c091da7b9e28f71015c", + "version": "10.1", + "port-version": 10 + }, + { + "git-tree": "7895738a8a164beddfb53c4c69352b202d8e13e9", + "version-string": "10.1", + "port-version": 9 + }, { "git-tree": "43b8008115ab934b4cf1b36c38bb02ed845712bd", "version-string": "10.1", @@ -10,11 +35,6 @@ "version-string": "10.1", "port-version": 7 }, - { - "git-tree": "cd48424964a6d19d032e14e84dbd41c5cdcb05ef", - "version-string": "10.1", - "port-version": 6 - }, { "git-tree": "0022275f9aa9e2d70f6a35d7e28fb27ab21fd13e", "version-string": "10.1", diff --git a/versions/c-/cudnn.json b/versions/c-/cudnn.json index 6e6a6fd9264477..e89beef74378f9 100644 --- a/versions/c-/cudnn.json +++ b/versions/c-/cudnn.json @@ -1,5 +1,55 @@ { "versions": [ + { + "git-tree": "8e17b3aaaea3a6da5858cb6202c3e2cd8e9f9a5e", + "version": "7.6.5", + "port-version": 14 + }, + { + "git-tree": "92d21a780ad42ae4fa7aaf9481d8a43a832d6e4c", + "version": "7.6.5", + "port-version": 13 + }, + { + "git-tree": "a8687f7d446d544d2111cac62f5aa36681c2b223", + "version": "7.6.5", + "port-version": 12 + }, + { + "git-tree": "78074072b367abf31b9f86ee6718309244ed1b50", + "version": "7.6.5", + "port-version": 11 + }, + { + "git-tree": "406576a41668942aa5f0be5ee12ea54239be2d84", + "version": "7.6.5", + "port-version": 10 + }, + { + "git-tree": "77f6c8d8f5669619fde9b2bc596a406d0fee2839", + "version": "7.6.5", + "port-version": 9 + }, + { + "git-tree": "b29eb71b5187d6f0991ede2a56e2fda57e6cb520", + "version": "7.6.5", + "port-version": 8 + }, + { + "git-tree": "cfd70db6f58e45dc96c44a61833d821d987c1588", + "version": "7.6.5", + "port-version": 7 + }, + { + "git-tree": "aa008ef1b1c958146532dbbdabd76b62f9558653", + "version": "7.6.5", + "port-version": 6 + }, + { + "git-tree": "62f2616b19fe2b3b7dbc8a81e190900819f2ba3e", + "version": "7.6.5", + "port-version": 5 + }, { "git-tree": "c23360a6cfba2b5c8962c0c106d165ca31224162", "version": "7.6.5", diff --git a/versions/c-/cunit.json b/versions/c-/cunit.json index 7b15a6d376928d..454a2cb400ca18 100644 --- a/versions/c-/cunit.json +++ b/versions/c-/cunit.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "7c467d95806ab2016c73520e249b5d82645fda3c", + "version": "2.1.3", + "port-version": 8 + }, { "git-tree": "b108b8daeb1695db997a7ebc1b341e27d4d84ce7", "version-string": "2.1.3", diff --git a/versions/c-/curl.json b/versions/c-/curl.json index ab5343e1f2c974..32e752294f2a5f 100644 --- a/versions/c-/curl.json +++ b/versions/c-/curl.json @@ -1,5 +1,250 @@ { "versions": [ + { + "git-tree": "6ef1763f3cbe570d6378632c9b5793479c37fb07", + "version": "8.11.0", + "port-version": 1 + }, + { + "git-tree": "c7272ca5021fc2b6a404911e1c0055fa08992463", + "version": "8.11.0", + "port-version": 0 + }, + { + "git-tree": "63bb9465fa415bb6f753d47b361a41b579cf2cd3", + "version": "8.10.1", + "port-version": 2 + }, + { + "git-tree": "31d4981751582248fd2983bcadc540584a906a9a", + "version": "8.10.1", + "port-version": 1 + }, + { + "git-tree": "9fa54a801b36fad7852cd4174d00fd3e5675abdb", + "version": "8.10.1", + "port-version": 0 + }, + { + "git-tree": "e1e11529e424b8297a0cc3238dd30c0e47bd9812", + "version": "8.10.0", + "port-version": 0 + }, + { + "git-tree": "147b1671029a6d73c043bb3df3bea32a7828158b", + "version": "8.9.1", + "port-version": 1 + }, + { + "git-tree": "f243fde8de72db4bb1d25a29e758d5b8973551e4", + "version": "8.9.1", + "port-version": 0 + }, + { + "git-tree": "58954b5f6ad96e9c390d6ae282b8a04c46a65ad3", + "version": "8.9.0", + "port-version": 0 + }, + { + "git-tree": "5d79bcc154132c187557e076a5bf5e0f5736dd6a", + "version": "8.8.0", + "port-version": 4 + }, + { + "git-tree": "2924ae75a54112be27209863ebe3d343da7541ba", + "version": "8.8.0", + "port-version": 3 + }, + { + "git-tree": "9b6ca5a9d3afa70bbfe734cbb4db575c24dcf304", + "version": "8.8.0", + "port-version": 2 + }, + { + "git-tree": "83d2bcc643fa6575f4cf536b69a2abb4cfa4f965", + "version": "8.8.0", + "port-version": 1 + }, + { + "git-tree": "b4644cbe68d83d9778be65efb28cee3a3e0e4f46", + "version": "8.8.0", + "port-version": 0 + }, + { + "git-tree": "e6772f7da4a8824fd967ec448a3c1f8ca3b8b53b", + "version": "8.7.1", + "port-version": 4 + }, + { + "git-tree": "32945fcb82088dc4055db602b3ebe95f67f04326", + "version": "8.7.1", + "port-version": 3 + }, + { + "git-tree": "b72d99e7315d0669d227580f056f7d4ea7303a58", + "version": "8.7.1", + "port-version": 2 + }, + { + "git-tree": "02d67d58e781c841960533d52713bb9fffb2c950", + "version": "8.7.1", + "port-version": 1 + }, + { + "git-tree": "4f3aa7f4fd142a1c5822e4f36e0a4c45c031134a", + "version": "8.7.1", + "port-version": 0 + }, + { + "git-tree": "1e5908adb574672dfc7a65baa8523ae184f5c0b7", + "version": "8.6.0", + "port-version": 1 + }, + { + "git-tree": "dba7665cff5bd6f1a31ad0aa864fd83049eac93e", + "version": "8.6.0", + "port-version": 0 + }, + { + "git-tree": "7b2bf8e8f4e0c7d000cb3b3311f4b9f185cb2d52", + "version": "8.5.0", + "port-version": 1 + }, + { + "git-tree": "b30c6697e314cdba601dee9bdef0ed01e1d09c8f", + "version": "8.5.0", + "port-version": 0 + }, + { + "git-tree": "8ad22809b9ba0e1e140a8ef45c4502bb2d669e1f", + "version": "8.4.0", + "port-version": 1 + }, + { + "git-tree": "6125c796d6e2913a89a2996d7082375ce16b02dd", + "version": "8.4.0", + "port-version": 0 + }, + { + "git-tree": "11ef099083754220ca800477b81e5ea6e51730ff", + "version": "8.3.0", + "port-version": 0 + }, + { + "git-tree": "1e4df4c9590fb15d2d73014c66dbbc151b624b9b", + "version": "8.2.1", + "port-version": 0 + }, + { + "git-tree": "c82d0a822ec7d4044a58c18f2e198df681822cf6", + "version": "8.2.0", + "port-version": 0 + }, + { + "git-tree": "c2681b59ec41e4ec760fe10a60385202ee4763bb", + "version": "8.1.2", + "port-version": 2 + }, + { + "git-tree": "7d8ee40552d5b1c103d52b2b28d9577cb45e2593", + "version": "8.1.2", + "port-version": 1 + }, + { + "git-tree": "b70ded19f70e4b198d8c3f844324c7884d3faa7d", + "version": "8.1.2", + "port-version": 0 + }, + { + "git-tree": "08eea1b0a159f6555603ac8d26a9f8ab4738d02f", + "version": "8.0.1", + "port-version": 0 + }, + { + "git-tree": "9be28a8022b91c14e868d88a74eedc0dd891e966", + "version": "7.88.1", + "port-version": 1 + }, + { + "git-tree": "2b76f0341314696395cfa982b5199c8336192757", + "version": "7.88.1", + "port-version": 0 + }, + { + "git-tree": "5ff0b614c9c181b954a5c3c9cf51df2f83a7f21f", + "version": "7.87.0", + "port-version": 1 + }, + { + "git-tree": "033fc823ccfc6d31034865b1175e45cffca29a3b", + "version": "7.87.0", + "port-version": 0 + }, + { + "git-tree": "912bfa857d5a02358eddacaaeaba8f8f06d77db0", + "version": "7.86.0", + "port-version": 2 + }, + { + "git-tree": "cbef59f527b7675f113f89aad00b16fde6910b86", + "version": "7.86.0", + "port-version": 1 + }, + { + "git-tree": "ac2042be9746b4b193f99398f32bed8057f5d267", + "version": "7.86.0", + "port-version": 0 + }, + { + "git-tree": "588fa4742c417db9d7c0f89e652b618296388d1e", + "version": "7.84.0", + "port-version": 2 + }, + { + "git-tree": "4d64a4ac7f080159be045ccbf0a7fa81ef859cfa", + "version": "7.84.0", + "port-version": 1 + }, + { + "git-tree": "984e0a92df662f6022989c2b5889e7d9f1c133d5", + "version": "7.84.0", + "port-version": 0 + }, + { + "git-tree": "09dee7c9ae276d954fc8017b6a81002e43f81bb0", + "version": "7.83.1", + "port-version": 2 + }, + { + "git-tree": "69e1aaae731455f5ed18b7eea4da75ee10bd073a", + "version": "7.83.1", + "port-version": 1 + }, + { + "git-tree": "6f536c70dc927199fe430fde4e93f8d66d53b6f6", + "version": "7.83.1", + "port-version": 0 + }, + { + "git-tree": "d72a11c8c3990818ba5987cc1ceee799046de9be", + "version": "7.83.0", + "port-version": 0 + }, + { + "git-tree": "203696f71dd43fa55a1b1104570135bebf869819", + "version": "7.82.0", + "port-version": 0 + }, + { + "git-tree": "30162d8bfeb7628fb397969fc95e379705a52509", + "version": "7.81.0", + "port-version": 0 + }, + { + "git-tree": "8e13da05c975cb6f5bed6cf3b8054a817a00b45d", + "version": "7.80.0", + "port-version": 0 + }, { "git-tree": "b2d22bb78a3e3d9d2775d98bf37580e8819ee8c3", "version": "7.79.1", diff --git a/versions/c-/curlcpp.json b/versions/c-/curlcpp.json new file mode 100644 index 00000000000000..fcd0721b560929 --- /dev/null +++ b/versions/c-/curlcpp.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "787657f32a9bdc4904cf867b88bd8634bce38ac5", + "version": "3.1", + "port-version": 1 + }, + { + "git-tree": "c5fc6feed65a45463099e6a395bbd977f07cf15a", + "version": "3.1", + "port-version": 0 + } + ] +} diff --git a/versions/c-/curlpp.json b/versions/c-/curlpp.json index 5c17f5665f4a5e..d37c54854102c5 100644 --- a/versions/c-/curlpp.json +++ b/versions/c-/curlpp.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "f0a72e60279d7929599cd47abf01c243d7ee0e69", + "version-date": "2018-06-15", + "port-version": 10 + }, + { + "git-tree": "5f1ce1e78bf1fca65c8f47bde61824589bd11e5c", + "version-date": "2018-06-15", + "port-version": 9 + }, + { + "git-tree": "bce2ac6d85261a2aca4b9ea5e974e5a7ee45be3a", + "version-date": "2018-06-15", + "port-version": 8 + }, + { + "git-tree": "ebde1c1d303f750ce06e530295a820787878e6cd", + "version-date": "2018-06-15", + "port-version": 7 + }, + { + "git-tree": "a4cea77cfb3429b1ea778167d06c39a691b97e13", + "version-date": "2018-06-15", + "port-version": 6 + }, { "git-tree": "c4802498d8b285cc5a3d3bcb574db0fe22267381", "version-string": "2018-06-15", diff --git a/versions/c-/cute-headers.json b/versions/c-/cute-headers.json index a0d7ca06e7e2f8..292674418befa4 100644 --- a/versions/c-/cute-headers.json +++ b/versions/c-/cute-headers.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "73671c8a457d848d2fdb535fc56b72c48c344dcc", + "version-date": "2019-09-20", + "port-version": 2 + }, { "git-tree": "d6eb7ff72e3cede19e1f8900fe715014b3fa6d81", "version-string": "2019-09-20", diff --git a/versions/c-/cutelyst2.json b/versions/c-/cutelyst2.json index 5fd0104ed44085..f8b3f1ef904ffa 100644 --- a/versions/c-/cutelyst2.json +++ b/versions/c-/cutelyst2.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "b172ddad5af65084452d225b55de761bcf4b8592", + "version": "2.12.0", + "port-version": 2 + }, { "git-tree": "1ad13c203a854aeb411f66b4f8e083882d7415cd", "version-string": "2.12.0", diff --git a/versions/c-/cwalk.json b/versions/c-/cwalk.json index d6992311104b8a..37ce4cd12f18ff 100644 --- a/versions/c-/cwalk.json +++ b/versions/c-/cwalk.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "b4ec2b9231b37caee854ffcb82093c79a7e03c71", + "version": "1.2.9", + "port-version": 0 + }, + { + "git-tree": "377300b55c1158f1eaa90ba492441adb12845fbb", + "version": "1.2.7", + "port-version": 0 + }, { "git-tree": "d538350d056fb42b77d28894f67a2bc9dbfe1403", "version": "1.2.6", diff --git a/versions/c-/cwapi3d.json b/versions/c-/cwapi3d.json new file mode 100644 index 00000000000000..f58b122343bffc --- /dev/null +++ b/versions/c-/cwapi3d.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "cfc66e207209b8ce5a3d6942d539449c14fc08bb", + "version": "30.475.1", + "port-version": 0 + }, + { + "git-tree": "5345b145ba7d08c63a1783750a8ca24a4886cd5f", + "version": "30.10.1", + "port-version": 0 + } + ] +} diff --git a/versions/c-/cxxgraph.json b/versions/c-/cxxgraph.json new file mode 100644 index 00000000000000..4a267d64c5082e --- /dev/null +++ b/versions/c-/cxxgraph.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "485a4ab0bee5661c3cffc9e288a9a431a9924c29", + "version": "4.1.0", + "port-version": 0 + }, + { + "git-tree": "84cc008947dc5a40193ec5bc5ce10d175b0cf893", + "version": "2.0.0", + "port-version": 0 + } + ] +} diff --git a/versions/c-/cxxopts.json b/versions/c-/cxxopts.json index 26e43e99077c92..31bdf0a9df509b 100644 --- a/versions/c-/cxxopts.json +++ b/versions/c-/cxxopts.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "1ad8547da18ed18a0bd77925eafad7507430f383", + "version-semver": "3.2.1", + "port-version": 0 + }, + { + "git-tree": "a6cbab0a92c5dc156b9de5e1613379fe220d6f68", + "version-semver": "3.2.0", + "port-version": 0 + }, + { + "git-tree": "2ba8ad462aef9c5cc6e4539c3c600bccfd110c6c", + "version-semver": "3.1.1", + "port-version": 0 + }, + { + "git-tree": "eb6aeb15747814f3c2b84f15582889d9052e0ae1", + "version-semver": "3.1.0", + "port-version": 0 + }, + { + "git-tree": "803dd21f8c06b5460353b53501f273b6c30aa9df", + "version-semver": "3.0.0", + "port-version": 0 + }, { "git-tree": "68001132d5d7e495c5890f3cadfed62aba7185dd", "version-string": "2.2.1", diff --git a/versions/c-/cyclonedds-cxx.json b/versions/c-/cyclonedds-cxx.json new file mode 100644 index 00000000000000..ab76ba0e10fb83 --- /dev/null +++ b/versions/c-/cyclonedds-cxx.json @@ -0,0 +1,24 @@ +{ + "versions": [ + { + "git-tree": "0231904aee6a7be877b8a526388a73919eb94083", + "version": "0.10.5", + "port-version": 0 + }, + { + "git-tree": "7bbab31be1c21a028381872309f99c05b5393daf", + "version": "0.10.4", + "port-version": 0 + }, + { + "git-tree": "4b29e2454be8abe4661edb20bde4cd35871202d4", + "version": "0.10.2", + "port-version": 1 + }, + { + "git-tree": "163e5b6e1b6e95281b7888cf31b6407c40981040", + "version": "0.10.2", + "port-version": 0 + } + ] +} diff --git a/versions/c-/cyclonedds.json b/versions/c-/cyclonedds.json new file mode 100644 index 00000000000000..822e03434bfff5 --- /dev/null +++ b/versions/c-/cyclonedds.json @@ -0,0 +1,34 @@ +{ + "versions": [ + { + "git-tree": "be8f9d37931b37ec0eca52a67c08e49f98129a5a", + "version-semver": "0.10.5", + "port-version": 0 + }, + { + "git-tree": "abbec0baa12c866bcb3446d55a87c936a62720d2", + "version-semver": "0.10.4", + "port-version": 0 + }, + { + "git-tree": "c255b603065059864d3a144db77cf44b15514222", + "version-semver": "0.10.3", + "port-version": 0 + }, + { + "git-tree": "88e7a85946eae33b8e9d686107d7e303afa2a59e", + "version-semver": "0.10.2", + "port-version": 2 + }, + { + "git-tree": "7be6ebe8452bb763bf4dd1374e981ff455b54aaa", + "version-semver": "0.10.2", + "port-version": 1 + }, + { + "git-tree": "8432327df58b39777e3debd3310817ec2752dd87", + "version-semver": "0.10.2", + "port-version": 0 + } + ] +} diff --git a/versions/c-/cyrus-sasl.json b/versions/c-/cyrus-sasl.json new file mode 100644 index 00000000000000..fdd635d318f95d --- /dev/null +++ b/versions/c-/cyrus-sasl.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "089fb04a97b4b253724956fe9cf7cfd4aa14f935", + "version": "2.1.28", + "port-version": 2 + }, + { + "git-tree": "f4f1c74c59daf2e8cc8826300628e887d0f1f51b", + "version": "2.1.28", + "port-version": 1 + }, + { + "git-tree": "1577585f5eff556f1f478ffb103713e066caf4dc", + "version": "2.1.28", + "port-version": 0 + } + ] +} diff --git a/versions/c-/czmq.json b/versions/c-/czmq.json index 45cace94635e22..e5f1d914fb8e97 100644 --- a/versions/c-/czmq.json +++ b/versions/c-/czmq.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "f2c4f3cb55eecf90232bdaabef1fd9b6d0426c7c", + "version-semver": "4.2.1", + "port-version": 4 + }, + { + "git-tree": "ec9f27596e7ff9e8b8aa401f27525075abec28ea", + "version-semver": "4.2.1", + "port-version": 3 + }, + { + "git-tree": "5bebd4e3a17c277fc4813a24cbdde5d2a06ccc01", + "version-semver": "4.2.1", + "port-version": 2 + }, + { + "git-tree": "fd4ccb9b894541d10e393139468aaac97419b0f2", + "version-semver": "4.2.1", + "port-version": 1 + }, { "git-tree": "e05dc72cf3b616b1fd6629ea3dc20d08ed8d8055", "version-semver": "4.2.1", diff --git a/versions/d-/d3d12-memory-allocator.json b/versions/d-/d3d12-memory-allocator.json index 0be166fc9ddeb8..b80ffa1a24b2ed 100644 --- a/versions/d-/d3d12-memory-allocator.json +++ b/versions/d-/d3d12-memory-allocator.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "b61a78756887ebcc5718bc7a32b8531fdc970d91", + "version": "2.0.1", + "port-version": 0 + }, + { + "git-tree": "7ada5dd1ad2d93ae0c4d56924dfaea88f8fc0e55", + "version-date": "2021-05-05", + "port-version": 1 + }, { "git-tree": "988836f8b901c1a30f4b667ac37f81f1ef3bcdd8", "version-date": "2021-05-05", diff --git a/versions/d-/d3dx12.json b/versions/d-/d3dx12.json index 9f5f24596c51a1..03f68f294e2318 100644 --- a/versions/d-/d3dx12.json +++ b/versions/d-/d3dx12.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "58c793e97434f798e4cb9f43c32f4653ecc5b8c7", + "version-string": "may2021", + "port-version": 1 + }, { "git-tree": "34415699a49eb16898e8190a101c6f6e026b1b3d", "version-string": "may2021", diff --git a/versions/d-/darknet.json b/versions/d-/darknet.json index 7db7849e0dee58..88434fed32ecd8 100644 --- a/versions/d-/darknet.json +++ b/versions/d-/darknet.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "41c6aaf3f81927973a736c75c287cd83434517e5", + "version-date": "2024-10-10", + "port-version": 0 + }, + { + "git-tree": "b61e4babb5696ae0a5b1d85f9d81540c69688675", + "version-date": "2022-03-06", + "port-version": 4 + }, + { + "git-tree": "0143bad2181e6280f1c59918b5c1767ff166ad31", + "version-date": "2022-03-06", + "port-version": 3 + }, + { + "git-tree": "979891799df34103a8312038f12bb6e6b73301d5", + "version-date": "2022-03-06", + "port-version": 2 + }, + { + "git-tree": "0e4e40d483fe8ff2bade4fe1b10996cf71f3089b", + "version-date": "2022-03-06", + "port-version": 1 + }, + { + "git-tree": "b9b918e6e0af651d83b284cd0f423b6b49951aef", + "version-date": "2022-03-06", + "port-version": 0 + }, { "git-tree": "cb0cb4dcba244d4b82cdd65fa0c993cfd4691992", "version-date": "2021-04-16", diff --git a/versions/d-/darts-clone.json b/versions/d-/darts-clone.json index 40a98fec164cf6..efb8aa1b1b7976 100644 --- a/versions/d-/darts-clone.json +++ b/versions/d-/darts-clone.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "5239abd7c41aedf5fe2f2e00e0f781824a442e75", + "version-string": "1767ab87cffe", + "port-version": 3 + }, { "git-tree": "1d75f114575faaf58492d7eca28e5caa3768811a", "version-string": "1767ab87cffe", diff --git a/versions/d-/dartsim.json b/versions/d-/dartsim.json index f8a560e40015e3..a9dbbddca54b6b 100644 --- a/versions/d-/dartsim.json +++ b/versions/d-/dartsim.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "4d586df3f633aafc829fd66b18ad22120a9bbed2", + "version": "6.12.2", + "port-version": 3 + }, + { + "git-tree": "af3970efb060832f60efe9ad00eef7bc0e824a90", + "version": "6.12.2", + "port-version": 2 + }, + { + "git-tree": "746ffa24744bf10e2ce9b04332c8dcde2222ba39", + "version": "6.12.2", + "port-version": 1 + }, + { + "git-tree": "887126d7800fe033a8e70bfa369e0b990434c921", + "version": "6.12.2", + "port-version": 0 + }, + { + "git-tree": "8b816d852610f6ef105eedc49bcbe6ae4881f759", + "version": "6.11.0", + "port-version": 3 + }, + { + "git-tree": "f7fc216f598684b22949d55f2d573137965a4d2d", + "version": "6.11.0", + "port-version": 2 + }, { "git-tree": "000785fa5fa81a597b18c374b887ff476182aa50", "version": "6.11.0", diff --git a/versions/d-/dataframe.json b/versions/d-/dataframe.json index 8babf362d4c5fd..4fe371e768b45d 100644 --- a/versions/d-/dataframe.json +++ b/versions/d-/dataframe.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "a962ca141fcfcab2e7d40a4c705283503cc1eb33", + "version": "3.3.0", + "port-version": 0 + }, + { + "git-tree": "1fcfb92efe87c15eaa2f1f94e0ea7e93d48cc07b", + "version": "3.2.0", + "port-version": 0 + }, + { + "git-tree": "40857d32d0402b8dd0a5defd76581aa7ac54b9a8", + "version": "3.1.0", + "port-version": 0 + }, + { + "git-tree": "8ca4466cc7b7f6e520341079abff4dd1476e362e", + "version": "3.0.0", + "port-version": 0 + }, + { + "git-tree": "2d385417bae605d78f4c7c9d7188b51649c69deb", + "version": "2.3.0", + "port-version": 0 + }, + { + "git-tree": "9e44b0c459e2d1d35a587de3b8126794d57c7f8c", + "version": "2.1.0", + "port-version": 0 + }, + { + "git-tree": "1dbcb0119d811c5e0ef7e36d5ee456396ac3c10a", + "version": "1.22.0", + "port-version": 0 + }, { "git-tree": "7f3b69090a3dce2e274e137efce5c2fb859d25ef", "version": "1.19.0", diff --git a/versions/d-/date.json b/versions/d-/date.json index c5d967f1b70046..4726a611b11762 100644 --- a/versions/d-/date.json +++ b/versions/d-/date.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "52f7b2f3a6398c0aa4a073a06c55c1a513b478bb", + "version-date": "2024-05-14", + "port-version": 0 + }, + { + "git-tree": "cf7d19c233055e8ffa12b200af6afb894ed76447", + "version": "3.0.1", + "port-version": 5 + }, + { + "git-tree": "4f6b5d17f3cf8ffb0330963bf0b6d8efa9175e13", + "version": "3.0.1", + "port-version": 4 + }, + { + "git-tree": "b3ca1bdc08676cd1bb802421bd94a18872305737", + "version": "3.0.1", + "port-version": 3 + }, + { + "git-tree": "14d5c6822908ad2fd1d700cca2067ae4b8ef4404", + "version": "3.0.1", + "port-version": 2 + }, + { + "git-tree": "e281c60aee492a2be56e78ce6a53cb5db927b1dc", + "version": "3.0.1", + "port-version": 1 + }, { "git-tree": "8d9a771765181237930138b7c4809babbd814cfb", "version": "3.0.1", diff --git a/versions/d-/datraw.json b/versions/d-/datraw.json new file mode 100644 index 00000000000000..f91e7ec0a09e39 --- /dev/null +++ b/versions/d-/datraw.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "b125e43a3f58c35a31755006e118216a94c72036", + "version": "1.0.9", + "port-version": 0 + } + ] +} diff --git a/versions/d-/dav1d.json b/versions/d-/dav1d.json index 0871da5a96258c..96798f2600dcd0 100644 --- a/versions/d-/dav1d.json +++ b/versions/d-/dav1d.json @@ -1,5 +1,70 @@ { "versions": [ + { + "git-tree": "0756d92a7a3a3a98295f8d22dd2f1e0ec6e76e4f", + "version": "1.4.3", + "port-version": 0 + }, + { + "git-tree": "c92b5d1be96a53ccc47eddb738e08111b537513f", + "version": "1.4.0", + "port-version": 1 + }, + { + "git-tree": "0349d1196602b2983b1171647b30b5a9379920c6", + "version": "1.4.0", + "port-version": 0 + }, + { + "git-tree": "68bf154a3ecc55fd1ad71ff6773ed3f0c418fbba", + "version": "1.3.0", + "port-version": 1 + }, + { + "git-tree": "99fc7f3cc963cb7a3e567d13f313e5f0dbf46c72", + "version": "1.3.0", + "port-version": 0 + }, + { + "git-tree": "e819aee6d5e62ecd2981c858897773239e66b496", + "version": "1.2.1", + "port-version": 0 + }, + { + "git-tree": "33290c0ea8117f5ba572eaee0a27c0213ec3fe30", + "version": "1.1.0", + "port-version": 1 + }, + { + "git-tree": "2533f95516074908ec446a13ea70f8f8346494e3", + "version": "1.1.0", + "port-version": 0 + }, + { + "git-tree": "3d5a7b193225074fb9ffe0f4ec2acec1086e13a9", + "version": "1.0.0", + "port-version": 1 + }, + { + "git-tree": "728ebed76cd4e2ed1d00fa0adeb04e3bd335ccb6", + "version": "1.0.0", + "port-version": 0 + }, + { + "git-tree": "0c06788e881e79f8c6a169f0f666baf2dc04faa6", + "version": "0.9.2", + "port-version": 0 + }, + { + "git-tree": "d92dfe48dbd557d90d9c216bc5a5a4b9435939c1", + "version-semver": "0.8.2", + "port-version": 3 + }, + { + "git-tree": "d0d3738c56710defd998cb619b649ddf6e43e017", + "version-semver": "0.8.2", + "port-version": 2 + }, { "git-tree": "d06178194bfa123b40c146ad161200d3e491f48b", "version-semver": "0.8.2", diff --git a/versions/d-/daw-header-libraries.json b/versions/d-/daw-header-libraries.json index 14d5e66afe73e3..65a800b19dc612 100644 --- a/versions/d-/daw-header-libraries.json +++ b/versions/d-/daw-header-libraries.json @@ -1,5 +1,75 @@ { "versions": [ + { + "git-tree": "a73653e896f735ebe2535c2e72c5944e49e98e06", + "version": "2.114.1", + "port-version": 0 + }, + { + "git-tree": "0897550720ddad1690f0e5663e90eef151f86936", + "version": "2.106.0", + "port-version": 0 + }, + { + "git-tree": "c9b093dd2739047c1c2eaf3a05421e8573ee0358", + "version": "2.101.0", + "port-version": 0 + }, + { + "git-tree": "30edee4980890f4dbdb9a1c982ddf0b845c1e9cc", + "version": "2.98.5", + "port-version": 0 + }, + { + "git-tree": "3646a7d51cdffec8d94d24bd71ea60ffeab50cbd", + "version": "2.97.0", + "port-version": 0 + }, + { + "git-tree": "6d22d6790c0b6ef8ae4ab570ff55882b410e52b4", + "version": "2.96.1", + "port-version": 0 + }, + { + "git-tree": "ff99cdb3f50ade01a8d2e56cf5bc3eb481e5c736", + "version": "2.93.1", + "port-version": 0 + }, + { + "git-tree": "4d509d523fd58793c43034e371dd65d499cec986", + "version": "2.88.0", + "port-version": 0 + }, + { + "git-tree": "604923901ffc292d9455d073d42e66bd5624690c", + "version": "2.76.2", + "port-version": 0 + }, + { + "git-tree": "c24a587eed5a14af2cdd2ea04bcbe1003de8d090", + "version": "2.75.0", + "port-version": 0 + }, + { + "git-tree": "a43fb1fbf9864d6ff4a5acf4319300ec1e3933ba", + "version": "2.72.1", + "port-version": 0 + }, + { + "git-tree": "c183461d315649b9c1fbbb8f2701767d68a38820", + "version": "2.68.1", + "port-version": 0 + }, + { + "git-tree": "14d1e3a6c6a143089ec1590f343144aa2c6790d9", + "version": "2.46.2", + "port-version": 0 + }, + { + "git-tree": "a57c2a8a8ba7fb8017df838e23547eb1933e26b9", + "version": "2.46.0", + "port-version": 0 + }, { "git-tree": "29ed87ad6aee595ac4a0972c09a1ddf34d13a857", "version-semver": "1.29.7", diff --git a/versions/d-/daw-json-link.json b/versions/d-/daw-json-link.json index fdf392f941a0f0..a4ac90fccab8c8 100644 --- a/versions/d-/daw-json-link.json +++ b/versions/d-/daw-json-link.json @@ -1,5 +1,80 @@ { "versions": [ + { + "git-tree": "ba6df4662691db29bccafde9d364d5b39cb520e9", + "version": "3.29.2", + "port-version": 0 + }, + { + "git-tree": "ba24e4cb2d3b922cf9f7879cb6936f355cba5204", + "version": "3.24.0", + "port-version": 0 + }, + { + "git-tree": "d959f64437877ff47611c6fac0a1e982d66a69e1", + "version": "3.23.2", + "port-version": 0 + }, + { + "git-tree": "4ada82d47074683e87c8e39629fca2619a4f47c9", + "version": "3.23.0", + "port-version": 0 + }, + { + "git-tree": "d54d49c20629be977b5a3f07934d7edeb9f01f67", + "version": "3.20.1", + "port-version": 0 + }, + { + "git-tree": "c16b653b1f1d195aece3261bf4d244f444e7dabf", + "version": "3.19.0", + "port-version": 0 + }, + { + "git-tree": "cf2815582532566a0526546e16b40d60127c8fdb", + "version": "3.17.2", + "port-version": 0 + }, + { + "git-tree": "2b4fd6d994392648fb87dec71c1f23e0d8fc6d85", + "version": "3.15.0", + "port-version": 0 + }, + { + "git-tree": "86e36aa9af8fa4ffb8d7a80bbf120a986fe7c796", + "version": "3.10.0", + "port-version": 0 + }, + { + "git-tree": "08c04604e935ddd5577b32d3a0425fc5e7c8d2e3", + "version": "3.7.2", + "port-version": 0 + }, + { + "git-tree": "2c1b548475bade32379cd29e042664bc18913593", + "version": "3.7.1", + "port-version": 0 + }, + { + "git-tree": "2020a01c366b2f953c0538a8f942e4682cbcaa54", + "version": "3.1.1", + "port-version": 0 + }, + { + "git-tree": "512359aae4c09860c5ec50624d01ba0d0f21d2a2", + "version": "3.0.4", + "port-version": 0 + }, + { + "git-tree": "8bcb9a264b390f98488474d1172379e2494f509b", + "version": "3.0.0", + "port-version": 0 + }, + { + "git-tree": "9020ee8ee80ac4543a61adb46a83b6b49f6562d4", + "version": "2.14.0", + "port-version": 0 + }, { "git-tree": "1c7cf1d126f7f7c1bb3759ff5bcf30c585b90d94", "version-semver": "2.10.2", diff --git a/versions/d-/daw-utf-range.json b/versions/d-/daw-utf-range.json index afebad6ee3380e..28b2b1f50d342b 100644 --- a/versions/d-/daw-utf-range.json +++ b/versions/d-/daw-utf-range.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "fb025061888502ec37f2b06ea99c5b7873a36e3d", + "version": "2.2.5", + "port-version": 0 + }, + { + "git-tree": "298a9459b41e78d234e1ef0cdb1d4f426014ec58", + "version": "2.2.4", + "port-version": 0 + }, + { + "git-tree": "07d29cf2ac643cf7895ced80bb77b081cb602501", + "version": "2.2.3", + "port-version": 0 + }, + { + "git-tree": "de67e1228f3effe508a68cf6080c6ba6e3343fb0", + "version": "2.2.2", + "port-version": 0 + }, { "git-tree": "aae578a84f804d65b63483335d1b74325906cb01", "version-semver": "2.2.0", diff --git a/versions/d-/daxa.json b/versions/d-/daxa.json new file mode 100644 index 00000000000000..7f9720ec3d0efe --- /dev/null +++ b/versions/d-/daxa.json @@ -0,0 +1,24 @@ +{ + "versions": [ + { + "git-tree": "320d4418d0cdcf84777100c9a53c170227c3b4dc", + "version": "3.0.2", + "port-version": 1 + }, + { + "git-tree": "11b337b86d5d7f3962cdc06942918607f7bd4489", + "version": "3.0.2", + "port-version": 0 + }, + { + "git-tree": "2f57bd48f2c32dfad7e8a7dc51e167c9e0832848", + "version": "2.0.0", + "port-version": 0 + }, + { + "git-tree": "25a96e0311836a1151731079225a381779fb3a4b", + "version": "1.0.0", + "port-version": 0 + } + ] +} diff --git a/versions/d-/dbg-macro.json b/versions/d-/dbg-macro.json index 9fa5bd8d38d8f4..ab1a3504c423a5 100644 --- a/versions/d-/dbg-macro.json +++ b/versions/d-/dbg-macro.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "ffd8edac6f123077ff3d8db1b712d7eb829305f5", + "version": "0.5.1", + "port-version": 1 + }, + { + "git-tree": "d2182df6402c97759e95b4b0f1f506e8df6e42fb", + "version": "0.5.1", + "port-version": 0 + }, + { + "git-tree": "7b6ca099516f914231ec442bea3e6c5f43a91e43", + "version": "0.5.0", + "port-version": 0 + }, { "git-tree": "69061b0a26aff6be4f73d8f5fb8e028e5460d34b", "version-date": "2021-11-02", diff --git a/versions/d-/dbghelp.json b/versions/d-/dbghelp.json index b279a5b45744c2..064c04c4af2aef 100644 --- a/versions/d-/dbghelp.json +++ b/versions/d-/dbghelp.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "c90a3ad39f6dc1e0558acf89de26f220d0fd0c1f", + "version": "0", + "port-version": 2 + }, { "git-tree": "70109bd0d38dce02dc4ee2258fc40a2df72559f8", "version-string": "0.0", diff --git a/versions/d-/dbow2.json b/versions/d-/dbow2.json index c37665c6b6bccf..089ebdf089daf1 100644 --- a/versions/d-/dbow2.json +++ b/versions/d-/dbow2.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "94bdc02d1c0ea384086f9d3756da1e19b1c133b4", + "version-date": "2019-08-05", + "port-version": 3 + }, + { + "git-tree": "3494ca270396d5b2f8b496b5fc7b3043a8796069", + "version-string": "2019-08-05", + "port-version": 2 + }, { "git-tree": "ef7b9edee49702a3735f18624888b98d249a80ef", "version-string": "2019-08-05", diff --git a/versions/d-/dbow3.json b/versions/d-/dbow3.json index 12758d201c156c..79c87547516365 100644 --- a/versions/d-/dbow3.json +++ b/versions/d-/dbow3.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "93b9dd598ac996f1dba459030964ba8fb79ae9dd", + "version": "1.0.0", + "port-version": 3 + }, + { + "git-tree": "0942151a7555bcac51e84d94474111ca96ff5974", + "version": "1.0.0", + "port-version": 2 + }, { "git-tree": "d0cbeaf64e4827fa69b0c07f21c6d0d689305559", "version-string": "1.0.0", diff --git a/versions/d-/dbus.json b/versions/d-/dbus.json new file mode 100644 index 00000000000000..b77bd1e4cf6280 --- /dev/null +++ b/versions/d-/dbus.json @@ -0,0 +1,59 @@ +{ + "versions": [ + { + "git-tree": "ce28359a2d828a06b421d8a7b3841f83d98f0ed4", + "version": "1.15.8", + "port-version": 5 + }, + { + "git-tree": "0d922ac71a87fc0b7ca31eb4820639b887cc2450", + "version": "1.15.8", + "port-version": 4 + }, + { + "git-tree": "86fbdb4cf82ddaf47ec2fd41bf040765b912c589", + "version": "1.15.8", + "port-version": 3 + }, + { + "git-tree": "d91a1718705f5d0d6ba7922cf832759a58469ff8", + "version": "1.15.8", + "port-version": 2 + }, + { + "git-tree": "9104cc6d890ace8c14067e7cbf29c39f7a93b937", + "version": "1.15.8", + "port-version": 1 + }, + { + "git-tree": "a49c03bc95822c2f376e3f3758ac3087a428ddec", + "version": "1.15.8", + "port-version": 0 + }, + { + "git-tree": "1805ee4cbe77b30b7e922f8854acbd7bd3733e83", + "version": "1.15.2", + "port-version": 0 + }, + { + "git-tree": "64987c1349d8190e762e5e7779a8cee15e92b1ef", + "version": "1.13.18", + "port-version": 3 + }, + { + "git-tree": "68f92ce062e5a0bfb408087a34e1c5b7d0a8315a", + "version": "1.13.18", + "port-version": 2 + }, + { + "git-tree": "18e1551271c49540ec2170dcd0d770395717c7c3", + "version": "1.13.18", + "port-version": 1 + }, + { + "git-tree": "dc3215916b8e610dcf6c0777b5ae7a04ed78873b", + "version": "1.13.18", + "port-version": 0 + } + ] +} diff --git a/versions/d-/dcmtk.json b/versions/d-/dcmtk.json index cf145878ee6b83..8b97e28585e920 100644 --- a/versions/d-/dcmtk.json +++ b/versions/d-/dcmtk.json @@ -1,5 +1,100 @@ { "versions": [ + { + "git-tree": "49f23c4ed5cbf8ff7b8dea4ef9fd66539b765c2a", + "version": "3.6.8", + "port-version": 9 + }, + { + "git-tree": "fa61ef50b6065815a6e5d6b123fef77f744307b9", + "version": "3.6.8", + "port-version": 8 + }, + { + "git-tree": "a92035c141126e94d949535ce0e65efbfa1189c3", + "version": "3.6.8", + "port-version": 7 + }, + { + "git-tree": "c323792536983876836432d8db557620fe33ac1b", + "version": "3.6.8", + "port-version": 6 + }, + { + "git-tree": "085a5cc95d3f6b1bb1e9612235c91decf41fd34f", + "version": "3.6.8", + "port-version": 5 + }, + { + "git-tree": "d095cd89e9ff603392d4dd996ed335d9d0172a86", + "version": "3.6.8", + "port-version": 4 + }, + { + "git-tree": "43cc4b7f4cafcf246412bd814cc0e3cd6f60db6f", + "version": "3.6.8", + "port-version": 3 + }, + { + "git-tree": "86607f6cdca69d2aca997eead93dfa2b767679a1", + "version": "3.6.8", + "port-version": 2 + }, + { + "git-tree": "bec215b4880ee37ff46a69fdbc6bd3888901c52a", + "version": "3.6.8", + "port-version": 1 + }, + { + "git-tree": "04c152f7113c88dcfb84b3f4963cadd60c254a74", + "version": "3.6.8", + "port-version": 0 + }, + { + "git-tree": "bea28d42632b9740c795d645252307fe02c273cc", + "version": "3.6.7", + "port-version": 6 + }, + { + "git-tree": "a66dd62879ace07389aae2f77cc909744f9d7458", + "version": "3.6.7", + "port-version": 5 + }, + { + "git-tree": "99287653b98406054ee56cb8447c38aff0528444", + "version": "3.6.7", + "port-version": 4 + }, + { + "git-tree": "39b7057f1236e5a218c8cda2f56c5409d067681a", + "version": "3.6.7", + "port-version": 3 + }, + { + "git-tree": "cbfc85b6b840eb68b947c8b9bd69988c938198d3", + "version": "3.6.7", + "port-version": 2 + }, + { + "git-tree": "c08360f31aa07d9514b52b3c98ca6c5ae6e17bb2", + "version": "3.6.7", + "port-version": 1 + }, + { + "git-tree": "df20e5c0215de121a9137a9047fabbde17bab8f7", + "version": "3.6.7", + "port-version": 0 + }, + { + "git-tree": "ce25087f7df7d83c796eee09b4457e7aa70848ad", + "version": "3.6.6", + "port-version": 3 + }, + { + "git-tree": "24716759e4aa3fb67b014163ae3be95ad88120b6", + "version-string": "3.6.6", + "port-version": 2 + }, { "git-tree": "6b830172b906fea2468685175d0ecca5f374217c", "version-string": "3.6.6", diff --git a/versions/d-/debug-assert.json b/versions/d-/debug-assert.json index 99356b87ce68e7..59e82d780f102b 100644 --- a/versions/d-/debug-assert.json +++ b/versions/d-/debug-assert.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "283495ddb705b1f8eadcc81aeadfd966ee6c8813", + "version": "1.3.4", + "port-version": 0 + }, + { + "git-tree": "ac34fbcc09f0613c2dc9dbe8a513d29db6d73f6f", + "version": "1.3.3", + "port-version": 2 + }, + { + "git-tree": "b41dd0f27f6eb99b63780eed36a9f3170acd60df", + "version-string": "1.3.3", + "port-version": 1 + }, { "git-tree": "06dae04f139744f1065ed1a6ed41631c6a431a5c", "version-string": "1.3.3", diff --git a/versions/d-/decimal-for-cpp.json b/versions/d-/decimal-for-cpp.json index 9bc9ed12fca49a..cae6e18258441e 100644 --- a/versions/d-/decimal-for-cpp.json +++ b/versions/d-/decimal-for-cpp.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "a78e582f830db392c8d551f3008a5977dad45692", + "version": "1.18", + "port-version": 1 + }, + { + "git-tree": "e6b418fe87e9affcbb4605d4aeb10e5e6883b239", + "version-string": "1.18", + "port-version": 0 + }, { "git-tree": "0279d4ae637ef0b7380ad1193282a5f76b4d27f3", "version-string": "1.16", diff --git a/versions/d-/delaunator-cpp.json b/versions/d-/delaunator-cpp.json new file mode 100644 index 00000000000000..5c89fdab3be058 --- /dev/null +++ b/versions/d-/delaunator-cpp.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "552dc211e01f1f3b890b08cbb802eb6aa167944a", + "version": "1.0.0", + "port-version": 0 + } + ] +} diff --git a/versions/d-/detours.json b/versions/d-/detours.json index d5b7471a31a528..da4885e0c94d7d 100644 --- a/versions/d-/detours.json +++ b/versions/d-/detours.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "42c4e92ed3e8e461427f2f3e971c0f936c34b285", + "version": "4.0.1", + "port-version": 8 + }, + { + "git-tree": "6a73bd010a9e693e683b647ce04855efca88f4d5", + "version": "4.0.1", + "port-version": 7 + }, + { + "git-tree": "7c418a44692bd9eb06163e66ea779dfd57b84e07", + "version": "4.0.1", + "port-version": 6 + }, + { + "git-tree": "9dc31719cf3c251f0530bf8ddb5c6131590386da", + "version": "4.0.1", + "port-version": 5 + }, { "git-tree": "5399f9185e9e7d815bf3c8380e745b5be77c2258", "version-string": "4.0.1", diff --git a/versions/d-/devicenameresolver.json b/versions/d-/devicenameresolver.json index f8eebb52fca416..3f28e102babcb0 100644 --- a/versions/d-/devicenameresolver.json +++ b/versions/d-/devicenameresolver.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "bb4e35f532b95841344719e4ab90027a2796d5d4", + "version-date": "2016-06-26", + "port-version": 4 + }, + { + "git-tree": "a87ff3bcc7e455cf7b73ca36ff4e7ac0c54faba1", + "version-string": "2016-06-26-0850d88fa6", + "port-version": 3 + }, { "git-tree": "1c24f08a86eef969a65c6acdd123edfe704c4c0c", "version-string": "2016-06-26-0850d88fa6", diff --git a/versions/d-/devil.json b/versions/d-/devil.json index 49de7f317c4a3b..4e880521efcd58 100644 --- a/versions/d-/devil.json +++ b/versions/d-/devil.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "91214d2b1967b13ee227dc84903a2178aae9714d", + "version": "1.8.0", + "port-version": 13 + }, + { + "git-tree": "1e22a47b75583772a690e6e361fcbb3739838282", + "version": "1.8.0", + "port-version": 12 + }, + { + "git-tree": "03010167ad1849c5f1a8e5bc044115b3c84478a3", + "version": "1.8.0", + "port-version": 11 + }, + { + "git-tree": "ed3ecd6484dfd9737eee0c415817fdddffcc03e2", + "version": "1.8.0", + "port-version": 10 + }, + { + "git-tree": "d964e038164d45273418c1a197e7bd7d08f2f860", + "version": "1.8.0", + "port-version": 9 + }, { "git-tree": "28588e0e08e57404b35e35ce1d2a69322a2ee6b8", "version": "1.8.0", diff --git a/versions/d-/dimcli.json b/versions/d-/dimcli.json index f6e8eab856ef3a..7f5b71ad3d1a46 100644 --- a/versions/d-/dimcli.json +++ b/versions/d-/dimcli.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "2aab3a6a4cf3d4b6e2c8e898311990546a6b0607", + "version-semver": "7.3.0", + "port-version": 0 + }, + { + "git-tree": "665897c6cbc03ae66b434b6584ea61a3445271d2", + "version-semver": "7.2.0", + "port-version": 0 + }, + { + "git-tree": "0ed989d414e631f12c2296afaf7e91f3a267c10c", + "version-semver": "7.1.0", + "port-version": 0 + }, + { + "git-tree": "5d3878991b69b5ed78b2d82c56c5d3a707e13eb0", + "version-semver": "5.0.2", + "port-version": 3 + }, { "git-tree": "9901ca1f1a121a702d4fb4c73ad6a482adff6c3f", "version-semver": "5.0.2", diff --git a/versions/d-/dingo.json b/versions/d-/dingo.json new file mode 100644 index 00000000000000..5851fa9c1007dc --- /dev/null +++ b/versions/d-/dingo.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "07c18ec5a00213c565eb07a4a7e80b3f6750d713", + "version": "0.1.0", + "port-version": 0 + } + ] +} diff --git a/versions/d-/directx-dxc.json b/versions/d-/directx-dxc.json new file mode 100644 index 00000000000000..bae7e2dfcdc7e0 --- /dev/null +++ b/versions/d-/directx-dxc.json @@ -0,0 +1,84 @@ +{ + "versions": [ + { + "git-tree": "31adbee92ae8d9b17303da6c5cb3e276c34a2b51", + "version-date": "2024-07-31", + "port-version": 2 + }, + { + "git-tree": "b338248d2d23bf37932394facc59075f4ad1d7a1", + "version-date": "2024-07-31", + "port-version": 1 + }, + { + "git-tree": "496868ff6ea29c1574cdde3889ece938b185762c", + "version-date": "2024-07-31", + "port-version": 0 + }, + { + "git-tree": "58cc9de22a56117b73df3e41f284efc7d0e78dc2", + "version-date": "2024-05-28", + "port-version": 0 + }, + { + "git-tree": "d250ca11acd097e948e7085316d0755889429ffd", + "version-date": "2024-03-29", + "port-version": 0 + }, + { + "git-tree": "24fb860c88062d3405c24b0a22101383f497f33b", + "version-date": "2024-03-22", + "port-version": 0 + }, + { + "git-tree": "bf2f80689d803678032f2a8d2b8c8deff4952bb9", + "version-date": "2024-03-07", + "port-version": 1 + }, + { + "git-tree": "353096a360b10503e2e749b99155ba4ed6751340", + "version-date": "2024-03-07", + "port-version": 0 + }, + { + "git-tree": "24aa8f49b169cce15400a6b90aec8f20b609ea24", + "version-date": "2023-08-14", + "port-version": 0 + }, + { + "git-tree": "bdf7371f02d10ea110ecef427916c0f3fd78cd4d", + "version-date": "2023-03-01", + "port-version": 2 + }, + { + "git-tree": "d9531dd561af13a58e38e173002e599c7ad1182f", + "version-date": "2023-03-01", + "port-version": 1 + }, + { + "git-tree": "77fecec712c29a857b7036d0ccc817488df868ea", + "version-date": "2023-03-01", + "port-version": 0 + }, + { + "git-tree": "20d76f8fd2bb7b07fa76370b7198e0ce8f7b316b", + "version-date": "2022-03-01", + "port-version": 0 + }, + { + "git-tree": "5d5118c4217f6ec298f348d694eb02b00558ef07", + "version-date": "2022-12-16", + "port-version": 0 + }, + { + "git-tree": "3a28201604813ea41d43456d40bdbea61af0db69", + "version-date": "2022-07-18", + "port-version": 0 + }, + { + "git-tree": "6f2dfd1c848d67e0f36d83b8a6e7078b96d82df1", + "version-date": "2021-12-08", + "port-version": 0 + } + ] +} diff --git a/versions/d-/directx-headers.json b/versions/d-/directx-headers.json index 6e1917dd919b66..9956e909da2e7c 100644 --- a/versions/d-/directx-headers.json +++ b/versions/d-/directx-headers.json @@ -1,5 +1,60 @@ { "versions": [ + { + "git-tree": "b8e051c6e1d0df73d128fe95a1975e2f371959f8", + "version": "1.614.1", + "port-version": 0 + }, + { + "git-tree": "09f05c019e84aa336ecd249eb7556b601de4751f", + "version": "1.614.0", + "port-version": 0 + }, + { + "git-tree": "6c085ed2008d4a006b606d30ce989efde86e145e", + "version": "1.613.0", + "port-version": 0 + }, + { + "git-tree": "fb40a4684c1b18daa80a09fc344d94622a275161", + "version": "1.611.0", + "port-version": 0 + }, + { + "git-tree": "36881ec4ee5f1623dc083ef7afcfe1133c3fbd32", + "version": "1.610.2", + "port-version": 0 + }, + { + "git-tree": "9e443c72abae6f6a090ba8eec8983b7d5a99c4e4", + "version": "1.608.2", + "port-version": 1 + }, + { + "git-tree": "8e739e5fb68db3d2e372c5434891f6a3322313ea", + "version": "1.608.2", + "port-version": 0 + }, + { + "git-tree": "164c2675281e6d570c824a1403e458628d087ec1", + "version": "1.606.4", + "port-version": 0 + }, + { + "git-tree": "561f4b44e30ab8806b2983ebdabeaeeebabb48e0", + "version": "1.606.3", + "port-version": 0 + }, + { + "git-tree": "f6271f7dc1af5888b39b0443ff7ecc9d01f1db94", + "version": "1.602.0", + "port-version": 0 + }, + { + "git-tree": "e9da93d00966da04931e1eab14be7bb4fc8998d5", + "version": "1.4.9", + "port-version": 1 + }, { "git-tree": "bf1d2dfc334ecb42998d443147a2acd5eb88e312", "version": "1.4.9", diff --git a/versions/d-/directx12-agility.json b/versions/d-/directx12-agility.json new file mode 100644 index 00000000000000..b33bf6c1773845 --- /dev/null +++ b/versions/d-/directx12-agility.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "640cc319351249fe3d6eb031c72abc87655b6d58", + "version": "1.614.1", + "port-version": 0 + }, + { + "git-tree": "a435eb1c37fae2f189768a78bf22315940da5657", + "version": "1.614.0", + "port-version": 0 + }, + { + "git-tree": "9ff3410dacd22191327748dd1949cfcaf8e337f4", + "version": "1.613.0", + "port-version": 0 + } + ] +} diff --git a/versions/d-/directxmath.json b/versions/d-/directxmath.json index 44477eae718b15..0252064b1c8ba0 100644 --- a/versions/d-/directxmath.json +++ b/versions/d-/directxmath.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "b842f51d9302c1c46491b4481947be89005c3936", + "version-date": "2024-10-15", + "port-version": 0 + }, + { + "git-tree": "785a609b10fad1343aea267a513e8bbd49334fb0", + "version-date": "2024-02-14", + "port-version": 1 + }, + { + "git-tree": "9a81c3f765820ce7b53f4ffbf4f0e4bfba0e4a29", + "version-date": "2024-02-14", + "port-version": 0 + }, + { + "git-tree": "a7b031efa3bb41535fde116ad3cec2674a2764cd", + "version-date": "2023-12-31", + "port-version": 0 + }, + { + "git-tree": "ecd21e108091a293a27869c9c093ad558ffcdc42", + "version-date": "2022-12-12", + "port-version": 0 + }, + { + "git-tree": "383135431007008f6d04e2cfbe55988b06054f15", + "version-date": "2022-05-18", + "port-version": 0 + }, + { + "git-tree": "ebf69755284c5ea16a26b4dbfa4534af962c96a0", + "version-date": "2022-01-18", + "port-version": 0 + }, { "git-tree": "d02145b6ed0cbe882bfb75291f832a11ab0582ce", "version-string": "jan2021", diff --git a/versions/d-/directxmesh.json b/versions/d-/directxmesh.json index fe24f5ddc0aaad..2daef5c8ebfb36 100644 --- a/versions/d-/directxmesh.json +++ b/versions/d-/directxmesh.json @@ -1,5 +1,95 @@ { "versions": [ + { + "git-tree": "bf34ce542e4e55ddd839cb50381cb0207c94b3d7", + "version-date": "2024-10-28", + "port-version": 0 + }, + { + "git-tree": "b78a6fc9cca45bce5e15011fc0022a140d480ac1", + "version-date": "2024-09-04", + "port-version": 0 + }, + { + "git-tree": "50c6663abb6f47af897610f0b1a647adbb8a618a", + "version-date": "2024-06-04", + "port-version": 0 + }, + { + "git-tree": "736ca564efb34393d78b8d3fcb4bff4bafbd738e", + "version-date": "2024-02-21", + "port-version": 0 + }, + { + "git-tree": "9e63a47ffc37c894672b093434b97137d86e599f", + "version-date": "2023-12-31", + "port-version": 0 + }, + { + "git-tree": "174e5777bf0c14a32b9182a55f29a4f6c23c2226", + "version-date": "2023-10-28", + "port-version": 0 + }, + { + "git-tree": "abb5d2c283eb23c36dc1e0f1330f4aa302d0de4d", + "version-date": "2023-06-13", + "port-version": 0 + }, + { + "git-tree": "4cf91137f48f28bc44cb34d28b3d03113f109e2d", + "version-date": "2023-04-28", + "port-version": 0 + }, + { + "git-tree": "ca0059f3e1281fd0e23c37327b2d7db6fb0a5c17", + "version-date": "2023-03-30", + "port-version": 0 + }, + { + "git-tree": "1611f6525922335db956702b8c81357c38b4d497", + "version-date": "2022-12-15", + "port-version": 1 + }, + { + "git-tree": "bd91052caa19a0a0a99a2918109b247efe659285", + "version-date": "2022-12-15", + "port-version": 0 + }, + { + "git-tree": "f2254f431933140ed94dc8aa57109322a212217c", + "version-date": "2022-10-17", + "port-version": 0 + }, + { + "git-tree": "8a526999086b61e5dc7c587245ae5982ec93c0e5", + "version-date": "2022-07-29", + "port-version": 0 + }, + { + "git-tree": "bf2c810ddbc4a551cb5fb561092bb6fe67ed986f", + "version-date": "2022-05-09", + "port-version": 0 + }, + { + "git-tree": "799bc935afc5a0b5d8d50037f28807512fc7c38e", + "version-date": "2022-03-24", + "port-version": 0 + }, + { + "git-tree": "aef77bf208f6e95c682fd8d41590c5b0516f1f0f", + "version-date": "2022-02-28", + "port-version": 0 + }, + { + "git-tree": "a8cbbe307c2ac5a241a6ec4b1e76e121a1ffb2db", + "version-date": "2021-11-08", + "port-version": 1 + }, + { + "git-tree": "3680e7acf9764cc28152bc39b02497d4a7c13797", + "version-date": "2021-11-08", + "port-version": 0 + }, { "git-tree": "66d8a04c67c2ceabf4b3a6fbca5a088bf68b2663", "version-string": "nov2021", diff --git a/versions/d-/directxsdk.json b/versions/d-/directxsdk.json index c40d1fad2adb82..5504311c40808c 100644 --- a/versions/d-/directxsdk.json +++ b/versions/d-/directxsdk.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "c82a75b02160ef435f13eb2fda1f2079013bca68", + "version-string": "jun10", + "port-version": 8 + }, + { + "git-tree": "10f6ac11c6480f52d70ff2725cf34fd39b942376", + "version-string": "jun10", + "port-version": 7 + }, + { + "git-tree": "d39d11be448d2aae6541b902b33dcf23282250f2", + "version-string": "jun10", + "port-version": 6 + }, + { + "git-tree": "8bed733174eb790455d8da61a3df3d89a631365d", + "version-string": "jun10", + "port-version": 5 + }, { "git-tree": "440a5b43febdcc709d9ae1d768371c0b184ca92e", "version-string": "jun10", @@ -20,11 +40,6 @@ "version-string": "jun10", "port-version": 1 }, - { - "git-tree": "b3a7a8a22c780726a74fb673c31454ef83e9ea79", - "version-string": "jun10b", - "port-version": 0 - }, { "git-tree": "dc3241d51d057a92ef8db501c80a749a46ed4461", "version-string": "jun10", diff --git a/versions/d-/directxtex.json b/versions/d-/directxtex.json index 186d179dd3800d..2c461354249f8e 100644 --- a/versions/d-/directxtex.json +++ b/versions/d-/directxtex.json @@ -1,5 +1,130 @@ { "versions": [ + { + "git-tree": "5ba303f8b50e8237cef6809bbf8a891adea2203d", + "version-date": "2024-10-28", + "port-version": 0 + }, + { + "git-tree": "bf509ba95b00e84e46e805c9b607f4e5b9cc8e01", + "version-date": "2024-09-04", + "port-version": 0 + }, + { + "git-tree": "2fa96376ca7abd8de7124b6a110bdf1afd695259", + "version-date": "2024-06-04", + "port-version": 0 + }, + { + "git-tree": "73c4c87bb25b805948428dfc2a9674ae0b7078fa", + "version-date": "2024-03-06", + "port-version": 0 + }, + { + "git-tree": "a2d746ba7bfd95fe762b07329b0cc6f05aea1808", + "version-date": "2024-02-21", + "port-version": 0 + }, + { + "git-tree": "badb59a9a275010d4edfa78e2f63d35a91341126", + "version-date": "2023-12-31", + "port-version": 0 + }, + { + "git-tree": "7721548fe4f3648dae608b765e757f69db31fe02", + "version-date": "2023-10-28", + "port-version": 0 + }, + { + "git-tree": "f6f049027d47e20e719f6a0f3f888509b63befad", + "version-date": "2023-09-01", + "port-version": 0 + }, + { + "git-tree": "6b99ef3202ed870bad345dddc5e1fba67ff70281", + "version-date": "2023-06-13", + "port-version": 1 + }, + { + "git-tree": "61211f80ff16adc6b3d278c7a35cf4c3579feaa3", + "version-date": "2023-06-13", + "port-version": 0 + }, + { + "git-tree": "6d6f4042f6d636d2e24281cd5d0c1e29a28207d9", + "version-date": "2023-04-28", + "port-version": 1 + }, + { + "git-tree": "14daf71a3dffda45222d771968e399ec56e1c0e1", + "version-date": "2023-03-30", + "port-version": 1 + }, + { + "git-tree": "49ac22c74d82cd2a67dc98755d3bd78d1ff3be45", + "version-date": "2023-03-30", + "port-version": 0 + }, + { + "git-tree": "ce86b52d28836d76d7d62265633440c76f5cc28a", + "version-date": "2023-01-31", + "port-version": 2 + }, + { + "git-tree": "b2a18dead4ee1fa01ceb63667d93bd1080822fb2", + "version-date": "2023-01-31", + "port-version": 1 + }, + { + "git-tree": "a9d1163d38bfe182db6e9011b0b52e682ae02501", + "version-date": "2023-01-31", + "port-version": 0 + }, + { + "git-tree": "79c75c423a2d930e31e207bfb8c2d4bfe5ea85d6", + "version-date": "2022-12-15", + "port-version": 0 + }, + { + "git-tree": "e6122779b24211d1cc9fe1a8c8ea36c81ceb4179", + "version-date": "2022-10-17", + "port-version": 0 + }, + { + "git-tree": "b72dbe4138eac6fea28e42828e2fc2a7ed99259b", + "version-date": "2022-07-29", + "port-version": 1 + }, + { + "git-tree": "e383685c947595287b5fbc51436378981c248793", + "version-date": "2022-07-29", + "port-version": 0 + }, + { + "git-tree": "269e245ad8428d3a09059bc195bae935613478af", + "version-date": "2022-05-09", + "port-version": 0 + }, + { + "git-tree": "15870041c7dc7d9db536c8770c6334f96af9f92c", + "version-date": "2022-03-24", + "port-version": 0 + }, + { + "git-tree": "424610ae5719fee5f738756146719d13d1483879", + "version-date": "2022-02-28", + "port-version": 0 + }, + { + "git-tree": "ec03f6fb3941d00726655dae315f09b6eb47d9ce", + "version-date": "2021-11-08", + "port-version": 1 + }, + { + "git-tree": "5c53206e385754a983e7f7c4ed208cc12f2cee44", + "version-date": "2021-11-08", + "port-version": 0 + }, { "git-tree": "0323aa2d24df2bb704905d709a72bd6f57571d19", "version-string": "nov2021", diff --git a/versions/d-/directxtk.json b/versions/d-/directxtk.json index 88d1cb26076e10..15c5c27f61dc93 100644 --- a/versions/d-/directxtk.json +++ b/versions/d-/directxtk.json @@ -1,5 +1,115 @@ { "versions": [ + { + "git-tree": "633c6ef2a57d96b7a5b0d206cd4d77db8e9d8d88", + "version-date": "2024-10-28", + "port-version": 0 + }, + { + "git-tree": "a7ecae1b4319528b67d6cc9aa66e5e2a58f21008", + "version-date": "2024-09-04", + "port-version": 0 + }, + { + "git-tree": "84c1b8fc7032a0cf2025e0b53f51be03b8e3393a", + "version-date": "2024-06-04", + "port-version": 0 + }, + { + "git-tree": "24e95ab84a5104d0554179573df839a45ee52b24", + "version-date": "2024-02-21", + "port-version": 0 + }, + { + "git-tree": "6c817d9e4e03e8e1b848d90681b3ae042dbf3f50", + "version-date": "2023-12-31", + "port-version": 0 + }, + { + "git-tree": "8f18ff4afb77acfd3b6383375fd2016746b192d2", + "version-date": "2023-10-28", + "port-version": 0 + }, + { + "git-tree": "67b1d9a329c9e9d8d067359c18bb997148f4e84e", + "version-date": "2023-09-01", + "port-version": 1 + }, + { + "git-tree": "bf6287265ca9c166405069e8ed3d54e79388cf14", + "version-date": "2023-09-01", + "port-version": 0 + }, + { + "git-tree": "aeeec09ca589bb93e5ec21960e5c0e84bd1b94e3", + "version-date": "2023-06-13", + "port-version": 0 + }, + { + "git-tree": "39f3ce588272b32b67881fb0e226c68e3255a0cb", + "version-date": "2023-04-28", + "port-version": 0 + }, + { + "git-tree": "87649cefdd3b789e8e29cd6da4396be1f18f7fd7", + "version-date": "2023-03-30", + "port-version": 0 + }, + { + "git-tree": "5bcf0651d2cc84914169b0c253588d6b247e1617", + "version-date": "2023-02-06", + "port-version": 1 + }, + { + "git-tree": "537a0f7f223101fa1be1efae3571d3ac23bc43c6", + "version-date": "2023-02-06", + "port-version": 0 + }, + { + "git-tree": "c562456d423e0821f50b8ad2ea94b1ecd7c52b8d", + "version-date": "2022-12-15", + "port-version": 0 + }, + { + "git-tree": "29b7fdf1ce9b66105a1bfa329e5309afe8505dc7", + "version-date": "2022-10-17", + "port-version": 0 + }, + { + "git-tree": "88703e36f97fb7bb6ea188832dc8b114a32e5a3f", + "version-date": "2022-07-29", + "port-version": 0 + }, + { + "git-tree": "3cdf135528218c71f3aaf4f2ca69d7bc57b160a4", + "version-date": "2022-06-15", + "port-version": 0 + }, + { + "git-tree": "e8707f957389d4329f61d4af69a47766fea2d6b9", + "version-date": "2022-05-09", + "port-version": 0 + }, + { + "git-tree": "d6e54dc5cc77469ecc88f949b6c149cb01f5a335", + "version-date": "2022-03-24", + "port-version": 0 + }, + { + "git-tree": "64937ca8d8ec8cc57bfdea9fea74bd39cd0ea507", + "version-date": "2022-02-28", + "port-version": 0 + }, + { + "git-tree": "34ecf07435420320f41c8aa7405926dc300359b2", + "version-date": "2021-11-08", + "port-version": 1 + }, + { + "git-tree": "57d691bc395a321a33bf9ed67cdafe438ab28a1f", + "version-date": "2021-11-08", + "port-version": 0 + }, { "git-tree": "b5087f78eea490106b9afd934e023a284a6b8b45", "version-string": "nov2021", diff --git a/versions/d-/directxtk12.json b/versions/d-/directxtk12.json index 949f18724bca3d..c3945f598345d6 100644 --- a/versions/d-/directxtk12.json +++ b/versions/d-/directxtk12.json @@ -1,5 +1,120 @@ { "versions": [ + { + "git-tree": "93f061b596529d6b084a068953bea28c9aae05a1", + "version-date": "2024-10-28", + "port-version": 0 + }, + { + "git-tree": "cdddbfa0d0b483bb76aafbc6f6d601d171770a17", + "version-date": "2024-09-04", + "port-version": 0 + }, + { + "git-tree": "d17dfb088b2fa80b1a6b73db2a58e7db20722775", + "version-date": "2024-06-04", + "port-version": 0 + }, + { + "git-tree": "5a6797140a11c38017ff878e7e10073d93d846c7", + "version-date": "2024-02-21", + "port-version": 0 + }, + { + "git-tree": "812ae3f8a37d56767d5bf058d1c02320a5b10183", + "version-date": "2023-12-31", + "port-version": 0 + }, + { + "git-tree": "753353fa24f0d2c86cb75b0c6a881b621835a572", + "version-date": "2023-10-28", + "port-version": 0 + }, + { + "git-tree": "981fd27befe2b9d8afaab87f1b66c1f8c6f31c18", + "version-date": "2023-09-01", + "port-version": 1 + }, + { + "git-tree": "5e74058955f67b88369b4cc3f600dc6a65be1035", + "version-date": "2023-09-01", + "port-version": 0 + }, + { + "git-tree": "1a18359efb872f674283fb30d838cb014f74063c", + "version-date": "2023-06-13", + "port-version": 0 + }, + { + "git-tree": "b77dc8e9667b0717ed8c44333327a948e9f98eaa", + "version-date": "2023-04-28", + "port-version": 0 + }, + { + "git-tree": "95f45e85acae1eb5e82d00b3e6f2f4bc48ba87f4", + "version-date": "2023-03-30", + "port-version": 0 + }, + { + "git-tree": "f546a33c817a7307dae695d1d83cca865ceec6d8", + "version-date": "2023-02-06", + "port-version": 1 + }, + { + "git-tree": "5e0967bd8b20e3ea4986bf4005fca2004eda4db1", + "version-date": "2023-02-06", + "port-version": 0 + }, + { + "git-tree": "7a61cc956783e1bf296de6516a6fc15e939ad657", + "version-date": "2022-12-15", + "port-version": 0 + }, + { + "git-tree": "ab664013d6d38eec729d66e97dc9c60490725186", + "version-date": "2022-10-17", + "port-version": 0 + }, + { + "git-tree": "0c42e95e0d216b600b858046a75d0bc80c0cb410", + "version-date": "2022-07-29", + "port-version": 0 + }, + { + "git-tree": "406076922dc0aec8b45b0024e00b0718fd6eb65f", + "version-date": "2022-07-19", + "port-version": 0 + }, + { + "git-tree": "12033a288a049744a73de4d48c55210ba7201310", + "version-date": "2022-06-15", + "port-version": 0 + }, + { + "git-tree": "e513b241157a3eada954cdb4c2d353ed4dac27e3", + "version-date": "2022-05-09", + "port-version": 0 + }, + { + "git-tree": "c89638b81272f98ae99cfb782c1269ad7b1836a5", + "version-date": "2022-03-24", + "port-version": 0 + }, + { + "git-tree": "e324f5499354e15e49fa1c591ab864b114518e74", + "version-date": "2022-02-28", + "port-version": 0 + }, + { + "git-tree": "2019efd91b858e5075651d1ebbfa45dc1961aa2d", + "version-date": "2021-11-08", + "port-version": 1 + }, + { + "git-tree": "538dfbadce1c413fae24e65d900ab30ca5ff6877", + "version-date": "2021-11-08", + "port-version": 0 + }, { "git-tree": "2edb55441546d26caa15d12504be4f1cbd87986d", "version-string": "nov2021", diff --git a/versions/d-/dirent.json b/versions/d-/dirent.json index 7bd05e8910d23a..c1af536dd5a7ec 100644 --- a/versions/d-/dirent.json +++ b/versions/d-/dirent.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "bcace8750d2b6080c63877eed432f8b862501012", + "version": "1.24", + "port-version": 0 + }, + { + "git-tree": "6df6238f6f97735c39e2e9b19d90f3895c4a636b", + "version": "1.23.2", + "port-version": 3 + }, + { + "git-tree": "9d27b241631b1f540dd16824cd8a2df735233733", + "version": "1.23.2", + "port-version": 2 + }, { "git-tree": "75a51df9f74a0b771b858caf42d3111a6386945c", "version-string": "1.23.2", diff --git a/versions/d-/discord-game-sdk.json b/versions/d-/discord-game-sdk.json index d1768f1706d256..c1b4197ba3dc9a 100644 --- a/versions/d-/discord-game-sdk.json +++ b/versions/d-/discord-game-sdk.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "b81659584b418c89a25dc9c6e68cb8d7d75fee5f", + "version": "3.2.1", + "port-version": 0 + }, + { + "git-tree": "87af266946b8e9b9f6ed5b439b3af5e185b84766", + "version": "2.5.6", + "port-version": 5 + }, + { + "git-tree": "792eac2fec1f5fbeff9cd819c73a08b8eefabb14", + "version": "2.5.6", + "port-version": 4 + }, { "git-tree": "4ddd26248ed26eb2676c96330e8ae5a0c3f82a3d", "version": "2.5.6", diff --git a/versions/d-/discord-rpc.json b/versions/d-/discord-rpc.json index 330ebf037652fa..1788702e76012b 100644 --- a/versions/d-/discord-rpc.json +++ b/versions/d-/discord-rpc.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "1ff8f211964141f0bc8ba459c88c1d8af8415c24", + "version": "3.4.0", + "port-version": 4 + }, + { + "git-tree": "929ff2e2379863aabc478dfb7773549404c3f74f", + "version": "3.4.0", + "port-version": 3 + }, + { + "git-tree": "5f69d097fd478421946aceaaca5b2fca43de4f20", + "version-string": "3.4.0", + "port-version": 2 + }, { "git-tree": "8b2b68ae08dffdf7b990d40a34b1ea53621aa856", "version-string": "3.4.0", diff --git a/versions/d-/discordcoreapi.json b/versions/d-/discordcoreapi.json new file mode 100644 index 00000000000000..1982660999d533 --- /dev/null +++ b/versions/d-/discordcoreapi.json @@ -0,0 +1,159 @@ +{ + "versions": [ + { + "git-tree": "b3a2a5137d39b32f98a88f4e454b885a6097929f", + "version": "2.0.7", + "port-version": 0 + }, + { + "git-tree": "cf7406d145c55d85306226b283a9d7b3224e62c2", + "version": "2.0.6", + "port-version": 0 + }, + { + "git-tree": "4cfa99c19a8811ae210dc76d37a27dae5c636aca", + "version": "2.0.5", + "port-version": 0 + }, + { + "git-tree": "9ee6373146d5c81a3e7bd75e4f32da5ec846299d", + "version": "2.0.4", + "port-version": 0 + }, + { + "git-tree": "a836f4645f8f1dd567ed87160f62c4026b8db784", + "version": "2.0.3", + "port-version": 0 + }, + { + "git-tree": "4105594f2f8aef84bb0aa20917d473727e0d9700", + "version": "2.0.2", + "port-version": 0 + }, + { + "git-tree": "3b4e38bd8dd9683ee4923d31a64426a01e8b3466", + "version": "2.0.1", + "port-version": 0 + }, + { + "git-tree": "374bc763a70ab0e9556a40bdea62ea9a9cf7d8bd", + "version": "2.0", + "port-version": 0 + }, + { + "git-tree": "0c13b373bc9e51c1e18062b280fe6edcbe104d5f", + "version": "1.90", + "port-version": 0 + }, + { + "git-tree": "789b50745e33c0e6eaa40302779200a613b44a08", + "version": "1.80", + "port-version": 0 + }, + { + "git-tree": "dfd9cf5247abe59fa2e2465e9768f4da42ae3508", + "version": "1.70", + "port-version": 0 + }, + { + "git-tree": "1ed32e38f0959575a32ad92111e6e2b157184cfd", + "version": "1.60", + "port-version": 0 + }, + { + "git-tree": "5470dc11ff71563bac3bd6d27b677561051a995f", + "version": "1.50", + "port-version": 0 + }, + { + "git-tree": "67dcb76ec4a6669264f61e9718533d9fd253a066", + "version": "1.40", + "port-version": 0 + }, + { + "git-tree": "c9c84716a494279e16d9f85834ecb7e130dfa561", + "version-date": "2023-05-30", + "port-version": 1 + }, + { + "git-tree": "d24e2b697098510aeb4799426a66c5749f9a3b97", + "version-date": "2023-05-30", + "port-version": 0 + }, + { + "git-tree": "90c3313d8c31b532ab7e876d0b2f962d29e757f7", + "version-date": "2023-01-02", + "port-version": 0 + }, + { + "git-tree": "d73e8f486425465e5ea3fe24db81e36cfaf4ac3b", + "version-date": "2022-12-04", + "port-version": 1 + }, + { + "git-tree": "0832ba20725a822358548dab0fd9c561bf4a78fa", + "version-date": "2022-12-04", + "port-version": 0 + }, + { + "git-tree": "40347fc9f322a9c091050d91abee54991d35d510", + "version-date": "2022-11-19", + "port-version": 0 + }, + { + "git-tree": "80a34e25b513a539fea375bfe9efb8591aa4a611", + "version-date": "2022-11-11", + "port-version": 0 + }, + { + "git-tree": "573bd645b87c76d3a911c9e789ab0e0bff73f9c8", + "version-date": "2022-10-30", + "port-version": 0 + }, + { + "git-tree": "176943241df65995c37a1a7b1f9033d2feb1bc45", + "version-date": "2022-10-12", + "port-version": 0 + }, + { + "git-tree": "0d2e0511274658095bc45584a95d7964017f0f9a", + "version-date": "2022-09-25", + "port-version": 0 + }, + { + "git-tree": "d3519d6dd1dc6918b16f9c9679c23a12ae673456", + "version-date": "2022-08-07", + "port-version": 0 + }, + { + "git-tree": "81b6a00219f65e2ccabcf1330b132f1c2fdbc361", + "version-date": "2022-07-05", + "port-version": 0 + }, + { + "git-tree": "3d2d47eba4f4f28696fbc652359684d4018fab53", + "version-date": "2022-06-18", + "port-version": 0 + }, + { + "git-tree": "c672bbd1eb0e22b11d0f3c20202a603c3a4634ed", + "version-date": "2022-05-05", + "port-version": 0 + }, + { + "git-tree": "dd790721f9b6d332bbcdae69e83a716720eedc1a", + "version-date": "2022-04-17", + "port-version": 0 + }, + { + "git-tree": "70c609a4d2bc6319e046e08e25842c4559bfc556", + "version-date": "2022-03-30", + "port-version": 1 + }, + { + "git-tree": "d7e58144cce6a1eeda7ae8cac47726a9edddfbec", + "version-date": "2022-03-30", + "port-version": 0 + } + ] +} diff --git a/versions/d-/discount.json b/versions/d-/discount.json index f58d95ef1bfc74..513bcbb23d918c 100644 --- a/versions/d-/discount.json +++ b/versions/d-/discount.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "2535603f8d96c4d723dc1a90425e6e4004a40115", + "version-string": "3.0.0d", + "port-version": 0 + }, + { + "git-tree": "0964d0b7e61494ef8a5c81def6fe5070b3d60d4f", + "version-string": "3.0.0a", + "port-version": 0 + }, + { + "git-tree": "4cd434c2eb8785c098c1bedc33764a78291fbf2b", + "version": "2.2.6", + "port-version": 3 + }, + { + "git-tree": "acdff2b22e0fc2351a96d099dedf2e4bbeb5ce9f", + "version-string": "2.2.6", + "port-version": 2 + }, { "git-tree": "28fe4ebbd4c5a94313b661b5ff5b0751ad186a69", "version-string": "2.2.6", diff --git a/versions/d-/discreture.json b/versions/d-/discreture.json index 42c62e2032d184..8abf0fb99d3297 100644 --- a/versions/d-/discreture.json +++ b/versions/d-/discreture.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "6ce6e0d3477245bce82e42445571ec25010be703", + "version-date": "2020-01-29", + "port-version": 3 + }, + { + "git-tree": "99f5fe641e52f034dc3fe62f2b5372d772a5ce42", + "version-string": "2020-01-29", + "port-version": 2 + }, { "git-tree": "ff9bb91c1f3a20a851b95e33cba5f682c2f95fd4", "version-string": "2020-01-29", diff --git a/versions/d-/dlfcn-win32.json b/versions/d-/dlfcn-win32.json index df182c5859b404..0ac064faabd748 100644 --- a/versions/d-/dlfcn-win32.json +++ b/versions/d-/dlfcn-win32.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "9eb1d5778fcb3bfa4d46ade382ae6b6e924d301f", + "version": "1.4.1", + "port-version": 0 + }, + { + "git-tree": "39fcef74b0e249a6e49b28eb8b4be8d1f6bc3d54", + "version": "1.3.1", + "port-version": 1 + }, + { + "git-tree": "eefd0e5c4b4d59e8bfb88842e9562115cb77d078", + "version": "1.3.1", + "port-version": 0 + }, + { + "git-tree": "6ae0dd5fc5f29e2299690404410ce7129ec5c035", + "version": "1.1.1", + "port-version": 6 + }, { "git-tree": "37cc87e9f214e146c81fff2a8aa5ae018622674d", "version-string": "1.1.1", diff --git a/versions/d-/dlib.json b/versions/d-/dlib.json index bc4a094ae6df12..610f244fd6060b 100644 --- a/versions/d-/dlib.json +++ b/versions/d-/dlib.json @@ -1,5 +1,45 @@ { "versions": [ + { + "git-tree": "5ec140618bd63da01f52b9904b02d03e8b6b1256", + "version": "19.24.6", + "port-version": 0 + }, + { + "git-tree": "f9c3d8205c42c8450e81864a313021ff76efec5f", + "version": "19.24", + "port-version": 4 + }, + { + "git-tree": "5a2fe0fe58b23b16ef1f94c5b68bbd560ac54649", + "version": "19.24", + "port-version": 3 + }, + { + "git-tree": "9eaa35254408c210c84c3bfebb8e8651bab075e0", + "version": "19.24", + "port-version": 2 + }, + { + "git-tree": "975dbde01f120a124488aae7930005b4b0409e58", + "version": "19.24", + "port-version": 1 + }, + { + "git-tree": "69c4335588e3785a09f580a40c128bf4d1bc5339", + "version": "19.24", + "port-version": 0 + }, + { + "git-tree": "825d6117ba43320dd5969535320b8be3144ea9de", + "version": "19.23", + "port-version": 0 + }, + { + "git-tree": "c92510c697bca717ad070d4462e44a4c26735b91", + "version": "19.22", + "port-version": 0 + }, { "git-tree": "971541b525e72e4ca19c0e20d7ddf7ce1cd2ee83", "version": "19.21", diff --git a/versions/d-/dlpack.json b/versions/d-/dlpack.json new file mode 100644 index 00000000000000..43d603298ad754 --- /dev/null +++ b/versions/d-/dlpack.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "935f86ccd4d13dfc3534e81cc898026736249c06", + "version": "0.8", + "port-version": 0 + } + ] +} diff --git a/versions/d-/dmlc.json b/versions/d-/dmlc.json index 97a0362d2bdb11..5c83422ee6ffe6 100644 --- a/versions/d-/dmlc.json +++ b/versions/d-/dmlc.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "23dbee1949340c7bc6377d1acb7007faf7ba2247", + "version-date": "2022-06-22", + "port-version": 0 + }, + { + "git-tree": "2d1ce501d0c9ed32e6de5f73290635b259f67364", + "version-date": "2019-08-12", + "port-version": 7 + }, { "git-tree": "47d5b971d74b762c6c52e676d5c1c082ee462c0e", "version-date": "2019-08-12", diff --git a/versions/d-/docopt.json b/versions/d-/docopt.json index 571cee5e28bbde..e4536636dfcd4a 100644 --- a/versions/d-/docopt.json +++ b/versions/d-/docopt.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "9b5aa0bd1e02e5c3a66e56b084c951069a591151", + "version-date": "2022-03-15", + "port-version": 1 + }, + { + "git-tree": "98cead1c88cad77bef9acf4571d6bd8a2a06cf3a", + "version-date": "2022-03-15", + "port-version": 0 + }, + { + "git-tree": "a18c91830f3f709c03b3d0e245f404e8cf7a99c3", + "version-date": "2018-11-01", + "port-version": 3 + }, + { + "git-tree": "9fe0c66a1eca6672184cb33b92ea744df0efc0b3", + "version-string": "2018-11-01", + "port-version": 2 + }, { "git-tree": "8af85233a92e8e8b249d61a56c50ef2c6704909b", "version-string": "2018-11-01", diff --git a/versions/d-/doctest.json b/versions/d-/doctest.json index d413559fa0a8ed..14375f1eb40794 100644 --- a/versions/d-/doctest.json +++ b/versions/d-/doctest.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "619b544477f70ef777fcc294e0b31650e2bd4c05", + "version": "2.4.11", + "port-version": 0 + }, + { + "git-tree": "6f1ded501cbcf08445218ca0c5bee9df28188df9", + "version": "2.4.9", + "port-version": 0 + }, + { + "git-tree": "74d6364092a4086dd36a0d54a3d16e3cc24fe478", + "version": "2.4.8", + "port-version": 0 + }, { "git-tree": "15aee759d06d6b4a61bc3fec3ecd1fbfac7c1d05", "version": "2.4.6", diff --git a/versions/d-/double-conversion.json b/versions/d-/double-conversion.json index c6d5973e87ae14..60ebfa7e22c01f 100644 --- a/versions/d-/double-conversion.json +++ b/versions/d-/double-conversion.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "63037e8b38231f15de1dddb0593eebfb0bf32496", + "version": "3.3.0", + "port-version": 0 + }, + { + "git-tree": "2c3184965fe6c2b602348a73c58752c2ef72bf9d", + "version": "3.2.1", + "port-version": 1 + }, + { + "git-tree": "16b23d889f831b492aaa819cfde4d5d263be5bed", + "version": "3.2.1", + "port-version": 0 + }, + { + "git-tree": "b85d7877f614063165639f251200a65e8d5c9ba5", + "version": "3.2.0", + "port-version": 0 + }, { "git-tree": "d28a31601897003105b70c847d82a82cd5b5355a", "version-string": "3.1.5", diff --git a/versions/d-/dp-thread-pool.json b/versions/d-/dp-thread-pool.json new file mode 100644 index 00000000000000..cff54f60ba0318 --- /dev/null +++ b/versions/d-/dp-thread-pool.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "b1d9e561e042312a0001dfbcb150bec1f4a40e98", + "version": "0.6.2", + "port-version": 1 + }, + { + "git-tree": "a8e355c1d995271f753fc560da82f65a3f5f8f02", + "version": "0.6.2", + "port-version": 0 + } + ] +} diff --git a/versions/d-/dpdk.json b/versions/d-/dpdk.json index 913bf29120469c..1514a0bef791dc 100644 --- a/versions/d-/dpdk.json +++ b/versions/d-/dpdk.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "a4d23173aedf2ba7b16305a9bb0b110bd8b05026", + "version-string": "24.07", + "port-version": 0 + }, + { + "git-tree": "7a813d878c38c9649c599c5b9d35572399655fbf", + "version-string": "22.07", + "port-version": 1 + }, + { + "git-tree": "f09ca3077d7bc3f4ceaf558cdb9518ab94cbbe18", + "version-string": "22.07", + "port-version": 0 + }, + { + "git-tree": "b097f29e77f314135bad880b342548826bb99108", + "version-string": "22.03", + "port-version": 3 + }, + { + "git-tree": "f6b3f2c2e194013731669b4b6996026bd5611c15", + "version-string": "22.03", + "port-version": 2 + }, + { + "git-tree": "215be1cdd87b890d105bc8c5cb3e2e5d9a054038", + "version-string": "22.03", + "port-version": 1 + }, + { + "git-tree": "17a389722a444ba5834d74a86717b6ee963be519", + "version-string": "22.03", + "port-version": 0 + }, { "git-tree": "c259e16015f4cedca26e9fa3cb1aaafa3b3e4955", "version-string": "19.02", diff --git a/versions/d-/dpp.json b/versions/d-/dpp.json new file mode 100644 index 00000000000000..b3ac892768553b --- /dev/null +++ b/versions/d-/dpp.json @@ -0,0 +1,104 @@ +{ + "versions": [ + { + "git-tree": "b4b2c4fed21642247a10ad2e582f5ddfd911df6b", + "version": "10.0.35", + "port-version": 0 + }, + { + "git-tree": "c3a19e35d50fccfb5a53042ad3b5cffda578a353", + "version": "10.0.34", + "port-version": 0 + }, + { + "git-tree": "58fffa3b78cf2a0c2e28b5abdd40931a4b0a5c40", + "version": "10.0.33", + "port-version": 0 + }, + { + "git-tree": "190a206eddf272472a4668d756e0293096341f97", + "version": "10.0.31", + "port-version": 0 + }, + { + "git-tree": "2224384b8c94dc8993bee072c9f506ef17e6eef4", + "version": "10.0.30", + "port-version": 0 + }, + { + "git-tree": "57e513b7c5b9b43418e0be4bdbb739359878baaa", + "version": "10.0.29", + "port-version": 0 + }, + { + "git-tree": "f9104c5be5bad205d3b5210b5ba79dfe577e51de", + "version": "10.0.28", + "port-version": 0 + }, + { + "git-tree": "c9ad04c95ab1097720e988a5879045b575d8eb18", + "version": "10.0.27", + "port-version": 0 + }, + { + "git-tree": "bb85393fcea63ff5e643c3bb0cf15bbdad6d8a2e", + "version": "10.0.26", + "port-version": 0 + }, + { + "git-tree": "20fb1fc7a015ebb43e9d01ddbdcb10e351feeeb7", + "version": "10.0.25", + "port-version": 0 + }, + { + "git-tree": "8c631e7b3f93d40c4aea0d65e722e1ff1ac028ac", + "version": "10.0.24", + "port-version": 0 + }, + { + "git-tree": "f5258ce203526b7be2ba77c9ab6deb7a197273af", + "version": "10.0.23", + "port-version": 1 + }, + { + "git-tree": "1701fdce3e1e8a3557382fcc806d87abf06fd452", + "version": "10.0.23", + "port-version": 0 + }, + { + "git-tree": "464ce638a24ff77d86e3c0649cffbf599d13a9b2", + "version": "10.0.21", + "port-version": 0 + }, + { + "git-tree": "5d961ae0b2739368c053459b3f6d53ecce397a6f", + "version": "10.0.20", + "port-version": 0 + }, + { + "git-tree": "d0f56da8e2b3026a15bbf3856d1c601a635065e6", + "version": "10.0.19", + "port-version": 0 + }, + { + "git-tree": "7e80b88acd9bc75ce2b9bcaeae729f758ca2fcde", + "version": "10.0.18", + "port-version": 0 + }, + { + "git-tree": "aee1785670d15751e08e0fee3426faf2d8559ee9", + "version": "10.0.17", + "port-version": 0 + }, + { + "git-tree": "bf6a0accfbdf7a2a5f639ed5c32247e2a81b7b48", + "version": "10.0.16", + "port-version": 0 + }, + { + "git-tree": "fe4fafd238e318a6ddf7d5c4db59da499328fdae", + "version": "10.0.15", + "port-version": 0 + } + ] +} diff --git a/versions/d-/draco.json b/versions/d-/draco.json index e3b1eb6d0dab15..76e5c03c635a6c 100644 --- a/versions/d-/draco.json +++ b/versions/d-/draco.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "06799add74da6e9e4634e4c7f27b82b1149a8bb6", + "version": "1.5.7", + "port-version": 0 + }, + { + "git-tree": "7766920ec32ef9da00121a0668edf41bf9d1d76b", + "version": "1.5.6", + "port-version": 1 + }, + { + "git-tree": "bed378402e689e540a924f99869f7134d74bbdfb", + "version": "1.5.6", + "port-version": 0 + }, + { + "git-tree": "b4f39e03fdf47c2c1e9a945b362ed52ec098a354", + "version": "1.5.3", + "port-version": 0 + }, + { + "git-tree": "39effb9dbafcf8540c1e99bacc9a2701ab9f94a1", + "version": "1.5.2", + "port-version": 0 + }, { "git-tree": "e7d67016c671b628353196ef4138cfd91feb2d33", "version": "1.4.3", diff --git a/versions/d-/drekar-launch-process-cpp.json b/versions/d-/drekar-launch-process-cpp.json new file mode 100644 index 00000000000000..3968d1bf70f945 --- /dev/null +++ b/versions/d-/drekar-launch-process-cpp.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "0859b5c16e42b3f918b8811fbd7929d27360e37b", + "version-semver": "0.1.0", + "port-version": 0 + } + ] +} diff --git a/versions/d-/drlibs.json b/versions/d-/drlibs.json index e579979206b50f..c03686ca5a9850 100644 --- a/versions/d-/drlibs.json +++ b/versions/d-/drlibs.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "54c4836e6d8403c42520823d58b89c4632201f61", + "version-date": "2023-08-16", + "port-version": 0 + }, + { + "git-tree": "2b4bfd32103ed7afb27e12281caf95c81930c955", + "version-date": "2022-09-26", + "port-version": 0 + }, + { + "git-tree": "4fbb06000e3d4c3699920debbc828cc279362d91", + "version-date": "2022-04-03", + "port-version": 0 + }, { "git-tree": "80b487d4ce97c60609cdba15430c0d8b34fb6235", "version-date": "2021-11-02", diff --git a/versions/d-/drogon.json b/versions/d-/drogon.json index a93a78ef7eb33b..b58316f2b79cae 100644 --- a/versions/d-/drogon.json +++ b/versions/d-/drogon.json @@ -1,5 +1,120 @@ { "versions": [ + { + "git-tree": "2e3d5294ff97e6915a9ac0ada868c260728fe781", + "version-semver": "1.9.7", + "port-version": 0 + }, + { + "git-tree": "ca6574efb8d720eb429eb5d3829936ec2a2342ee", + "version-semver": "1.9.6", + "port-version": 0 + }, + { + "git-tree": "e8f978a09d763c54a1149e6b8cb75301f274c3e7", + "version-semver": "1.9.5", + "port-version": 0 + }, + { + "git-tree": "74578b0091a10840e127b7b5da3e9d44a97c010f", + "version-semver": "1.9.4", + "port-version": 0 + }, + { + "git-tree": "963d27de10dfedc9f4980726aa5c8e4731c1bdb8", + "version-semver": "1.9.3", + "port-version": 0 + }, + { + "git-tree": "881a2d3fe8ed95836190c20c36471e47168954c5", + "version-semver": "1.9.2", + "port-version": 0 + }, + { + "git-tree": "2258c21d158a9c39a058f30d88d6a8a9e8172e5b", + "version-semver": "1.9.1", + "port-version": 1 + }, + { + "git-tree": "72953f06e1c7a3195daa8549c9d2b46d42125822", + "version-semver": "1.9.1", + "port-version": 0 + }, + { + "git-tree": "3dc8fd6d40ad624513353e295fbd39a0dd237c91", + "version": "1.8.7", + "port-version": 1 + }, + { + "git-tree": "01b8dcf586886018269bc888cc651751d074d4c6", + "version": "1.8.7", + "port-version": 0 + }, + { + "git-tree": "7f8d8eadd014bf7d28bfff57e3e11e211fa8c4ae", + "version": "1.8.4", + "port-version": 4 + }, + { + "git-tree": "dde2eb171931557ecf9c74459cceb6a7b1d7ce9a", + "version": "1.8.4", + "port-version": 3 + }, + { + "git-tree": "ddae8d79f08366e60ecaddf472fcf24a2c8c2ffd", + "version": "1.8.4", + "port-version": 2 + }, + { + "git-tree": "29376f140626e1d34d6ca573b5a00e6dd7006d2f", + "version": "1.8.4", + "port-version": 1 + }, + { + "git-tree": "92af14d325c1fce661625e6adef2cf633acb5a37", + "version": "1.8.4", + "port-version": 0 + }, + { + "git-tree": "670f02828b60f7a11c6b7a7feff0396d6cec4483", + "version": "1.8.2", + "port-version": 1 + }, + { + "git-tree": "387f253ff4ad8c0126733b10d8ffd3dc26a308e4", + "version": "1.8.2", + "port-version": 0 + }, + { + "git-tree": "9c87a9d24699da1d37f15e8c339df0be6e45cf65", + "version-semver": "1.8.1", + "port-version": 0 + }, + { + "git-tree": "27ee8227ae9871ffc307380b209f9dbe04de8801", + "version-semver": "1.8.0", + "port-version": 0 + }, + { + "git-tree": "a66c2bb4632ab86589f1cabed26607d510ae2eba", + "version-semver": "1.7.5", + "port-version": 0 + }, + { + "git-tree": "b7be1868461c479ff45609e892bc5de9adf42258", + "version-semver": "1.7.4", + "port-version": 2 + }, + { + "git-tree": "e5e1c950e966613f9b867570346f9458bff71826", + "version-semver": "1.7.4", + "port-version": 1 + }, + { + "git-tree": "275d55a78bb61a79f0d66cd4f71e6b5892566666", + "version-semver": "1.7.4", + "port-version": 0 + }, { "git-tree": "35877feed401993a073b537fbd89f8b55b5be6d1", "version-semver": "1.7.3", diff --git a/versions/d-/dstorage.json b/versions/d-/dstorage.json new file mode 100644 index 00000000000000..61613629332280 --- /dev/null +++ b/versions/d-/dstorage.json @@ -0,0 +1,54 @@ +{ + "versions": [ + { + "git-tree": "b5b86f56e2f801673a67e2971ca39d839dd83f6b", + "version": "1.2.3", + "port-version": 1 + }, + { + "git-tree": "53c80dd514155b13089dca50cc53d539af8503eb", + "version": "1.2.3", + "port-version": 0 + }, + { + "git-tree": "7577afa856f2cf3d3ce28d32f3272344987f2a71", + "version": "1.2.2", + "port-version": 0 + }, + { + "git-tree": "18440695231677ed659b391e4a31c0100996cdb6", + "version": "1.2.0", + "port-version": 0 + }, + { + "git-tree": "065715cb0fcd3b94934da5de3db5e2341cf1912c", + "version": "1.1.0", + "port-version": 2 + }, + { + "git-tree": "e85e5404767b7d1564fc9e6d3f8b47c3ecbc5218", + "version": "1.1.0", + "port-version": 1 + }, + { + "git-tree": "aba352546f75fec5058f075a5c7162c9865ef774", + "version": "1.1.0", + "port-version": 0 + }, + { + "git-tree": "6672c5472d42f2ba2e3fe0a0e8acf3d00879c129", + "version": "1.0.2", + "port-version": 0 + }, + { + "git-tree": "8b3e0c3eaf98dec92b8e97f19e10efac69c6a187", + "version": "1.0.0", + "port-version": 1 + }, + { + "git-tree": "b2494bc112c6d12ffbb8a8bc687a1ae2ad583221", + "version": "1.0.0", + "port-version": 0 + } + ] +} diff --git a/versions/d-/dtl.json b/versions/d-/dtl.json index ebed0a267a219c..a00d4d2866b129 100644 --- a/versions/d-/dtl.json +++ b/versions/d-/dtl.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "bc2a9bc914be91c0ec64e0666a95551b71422e4d", + "version": "1.21", + "port-version": 0 + }, + { + "git-tree": "26d9843aad03516522a267da5b086985a413eed5", + "version": "1.20", + "port-version": 0 + }, { "git-tree": "67d6f73d3a78adeb42c9eee4c75d55c17ce1ea18", "version-string": "1.19", diff --git a/versions/d-/duckx.json b/versions/d-/duckx.json index fdd584ea7b8df4..40f64272107072 100644 --- a/versions/d-/duckx.json +++ b/versions/d-/duckx.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "bed3914236def15bab45f3969a169005a25d3f1d", + "version": "1.2.2", + "port-version": 1 + }, + { + "git-tree": "6637b59789032a1ef84a1c6324bc7b672e346152", + "version": "1.2.2", + "port-version": 0 + }, { "git-tree": "2f862e06f527a656f8bbe1133a0ba212833f6951", "version-string": "1.0.0", diff --git a/versions/d-/duilib.json b/versions/d-/duilib.json index efe7ebaf06ba94..3b6ebdde120cbd 100644 --- a/versions/d-/duilib.json +++ b/versions/d-/duilib.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "36c7ba26c4af9fabce94dfb4a2ffe87b7b7467c0", + "version-date": "2019-04-28", + "port-version": 5 + }, { "git-tree": "c23619497c06f6d2e22dae79e731c2a7da51208c", "version-string": "2019-4-28", diff --git a/versions/d-/dukglue.json b/versions/d-/dukglue.json new file mode 100644 index 00000000000000..795016b4489bc6 --- /dev/null +++ b/versions/d-/dukglue.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "449645283a2e3de0824c9e448135059f26d7626c", + "version-date": "2022-11-08", + "port-version": 0 + } + ] +} diff --git a/versions/d-/duktape.json b/versions/d-/duktape.json index b1f2e3bb233837..66f0ab539791f2 100644 --- a/versions/d-/duktape.json +++ b/versions/d-/duktape.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "583ea3317f6101f2c8fd4114f1a24c750943285d", + "version": "2.7.0", + "port-version": 2 + }, + { + "git-tree": "7d6b443cbf02c4f5ceaffc02d83335a7aa1fc8be", + "version": "2.7.0", + "port-version": 1 + }, + { + "git-tree": "dddb2510d64d70d7c0cb632039123a1721857e72", + "version": "2.7.0", + "port-version": 0 + }, + { + "git-tree": "d5a2a59ce6d8477151b1bd30ad12e5a65ce86331", + "version": "2.5.0", + "port-version": 4 + }, + { + "git-tree": "ec86279e8f26e8d5d45b3292d7bdf6750da9439f", + "version-string": "2.5.0", + "port-version": 3 + }, { "git-tree": "1882f1d359d8c0463a3c7e9d41804a3a9df8f5f9", "version-string": "2.5.0", diff --git a/versions/d-/dumb.json b/versions/d-/dumb.json new file mode 100644 index 00000000000000..ad4a77513bd9f7 --- /dev/null +++ b/versions/d-/dumb.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "fb0e42347cd9ec43e40d2b123990e1705399dc02", + "version": "2.0.3", + "port-version": 0 + } + ] +} diff --git a/versions/d-/dv-processing.json b/versions/d-/dv-processing.json new file mode 100644 index 00000000000000..347f6a3339fcef --- /dev/null +++ b/versions/d-/dv-processing.json @@ -0,0 +1,54 @@ +{ + "versions": [ + { + "git-tree": "2ef0b75d6a6ec6e9472d1bb3c227d13d0e40a2db", + "version": "1.7.9", + "port-version": 2 + }, + { + "git-tree": "cd165ee3da5e52cb1a2a9bf22a87d04c2e100d4e", + "version": "1.7.9", + "port-version": 1 + }, + { + "git-tree": "70c0ee933303903d8a550f89a138bba0541222dc", + "version": "1.7.9", + "port-version": 0 + }, + { + "git-tree": "8b60bb354ea9ab03a96d4ab7c0c51bca9580cf72", + "version": "1.7.8", + "port-version": 1 + }, + { + "git-tree": "0ea0c583d83278f6190e7d0734425c65347555d8", + "version": "1.7.8", + "port-version": 0 + }, + { + "git-tree": "1d2e7b2c11eaa6b13ce5b08447411a885adc2036", + "version": "1.5.1", + "port-version": 1 + }, + { + "git-tree": "5fb27b7a8c1ee9bd01035958e7b3b3a487a89dd8", + "version": "1.5.1", + "port-version": 0 + }, + { + "git-tree": "e45cf567d2617df07999f47cff84636f513a0c1c", + "version": "1.5.0", + "port-version": 0 + }, + { + "git-tree": "d46e8c68fbd834385ac3fa859b35e72cb5bc8648", + "version": "1.4.0", + "port-version": 1 + }, + { + "git-tree": "757cc58887fefa1c48349b91bfaab2e3947b65d9", + "version": "1.4.0", + "port-version": 0 + } + ] +} diff --git a/versions/d-/dx.json b/versions/d-/dx.json index 96dffa0a87d687..26416ab1251741 100644 --- a/versions/d-/dx.json +++ b/versions/d-/dx.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "268d4fc68703cfcc25aa8cca04a67a80312dd2e9", + "version": "1.0.1", + "port-version": 3 + }, { "git-tree": "684efcf0d9ea4c1a8b7ec6d9440e0097ab38d586", "version-string": "1.0.1", diff --git a/versions/d-/dxsdk-d3dx.json b/versions/d-/dxsdk-d3dx.json index f6594d45f62cf9..6494cb3638d298 100644 --- a/versions/d-/dxsdk-d3dx.json +++ b/versions/d-/dxsdk-d3dx.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "e71fae4b2d12e35a21d5963aa8c59c8ebf5d6586", + "version": "9.29.952.8", + "port-version": 7 + }, + { + "git-tree": "bca406e04cfde4f63d430a5f2f10273701747f31", + "version": "9.29.952.8", + "port-version": 6 + }, + { + "git-tree": "b12c3d78e879e1cd9608e02851132ae683bb587e", + "version": "9.29.952.8", + "port-version": 5 + }, + { + "git-tree": "14db52bb5daba8ba8e0a93b0e41ffa676935923a", + "version": "9.29.952.8", + "port-version": 4 + }, + { + "git-tree": "4f9cac012452363e92e36d5978972cee3b9154e5", + "version": "9.29.952.8", + "port-version": 3 + }, + { + "git-tree": "3f16a0560a2beb7205ed033b5ac2e5d5d2223161", + "version": "9.29.952.8", + "port-version": 2 + }, { "git-tree": "81aeb21cd027336b00f758ece5371f0c4930be2e", "version": "9.29.952.8", diff --git a/versions/d-/dxut.json b/versions/d-/dxut.json index ef3b7c69c04849..ca1a2734124aac 100644 --- a/versions/d-/dxut.json +++ b/versions/d-/dxut.json @@ -1,5 +1,55 @@ { "versions": [ + { + "git-tree": "29cf0312b7785d2d104d51c34bd6dd7ca40a3d48", + "version": "11.32", + "port-version": 0 + }, + { + "git-tree": "0a23af22ce7047b4caba055c92bb2c7f31571321", + "version": "11.31", + "port-version": 3 + }, + { + "git-tree": "878ebc5ed10a20cb6d6c292e44b6eb7163296a0f", + "version": "11.31", + "port-version": 2 + }, + { + "git-tree": "6f6db537bddc74fb2d3c03d675f96af414d9aea9", + "version": "11.31", + "port-version": 1 + }, + { + "git-tree": "1a390de74f3bb95746d9e2fb6756209ed2a2248a", + "version": "11.30", + "port-version": 1 + }, + { + "git-tree": "b9e805917dad391fd3f6255215800fa2a6230b00", + "version": "11.30", + "port-version": 0 + }, + { + "git-tree": "3fa94b0dfe6b9fabe7953ee06880f764f461821a", + "version": "11.29", + "port-version": 0 + }, + { + "git-tree": "6b3dc36eb04da0286e4e2c5515a07cf7dbda4c03", + "version": "11.28", + "port-version": 0 + }, + { + "git-tree": "5b6c7ea3b64d6446296a16c7ad5f8ebdeb2e9915", + "version": "11.27", + "port-version": 0 + }, + { + "git-tree": "b8f2fd1c9674e75aee3d139934b3980a47b3d0eb", + "version": "11.26", + "port-version": 1 + }, { "git-tree": "098b30a228f1d71cfa5b0e21a4c9bf9ade3774e6", "version": "11.26", diff --git a/versions/d-/dylib.json b/versions/d-/dylib.json new file mode 100644 index 00000000000000..19054b4d3858f9 --- /dev/null +++ b/versions/d-/dylib.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "5fcb0f058217dc6352d308f18015ef37b3f5f23c", + "version-semver": "2.2.1", + "port-version": 0 + } + ] +} diff --git a/versions/d-/dyno.json b/versions/d-/dyno.json new file mode 100644 index 00000000000000..a305f30d7f0768 --- /dev/null +++ b/versions/d-/dyno.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "3af5237e2f59d877c47c333a5c006eae66f9d00c", + "version-date": "2019-11-13", + "port-version": 0 + } + ] +} diff --git a/versions/e-/eabase.json b/versions/e-/eabase.json index db64610917362b..67370d65eca41c 100644 --- a/versions/e-/eabase.json +++ b/versions/e-/eabase.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "71d9d1d988dad11e4eaa0cb39cc1a957a839308d", + "version-string": "2.09.12", + "port-version": 3 + }, { "git-tree": "40dfd9d387e788a7987db75e0d9fc22786b8e43b", "version-string": "2.09.12", diff --git a/versions/e-/earcut-hpp.json b/versions/e-/earcut-hpp.json new file mode 100644 index 00000000000000..1d39f74fbd96f2 --- /dev/null +++ b/versions/e-/earcut-hpp.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "f4f99272400624124150cb485899cdc3efb24313", + "version": "2.2.4", + "port-version": 0 + }, + { + "git-tree": "89c9c15fcd180f5e17b02290430dfe7019dc830c", + "version": "2.2.3", + "port-version": 0 + } + ] +} diff --git a/versions/e-/eastl.json b/versions/e-/eastl.json index 7a67948716fa29..87e144fbb657aa 100644 --- a/versions/e-/eastl.json +++ b/versions/e-/eastl.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "2c5cde8f3324d5cdc8ee405da863177ca8aa7c52", + "version": "3.21.12", + "port-version": 0 + }, + { + "git-tree": "1e7b533fac097c3aa75f7b46630ea62f10980f87", + "version-string": "3.18.00", + "port-version": 3 + }, + { + "git-tree": "aa2de2990c3b1e6e008e1cafea8ad82c765278fb", + "version-string": "3.18.00", + "port-version": 2 + }, { "git-tree": "41bc58f85c73fb0dec5374fc0c9b84ffc401555c", "version-string": "3.18.00", diff --git a/versions/e-/easycl.json b/versions/e-/easycl.json index 88f7e35dd53f6a..ceeebc47f42fde 100644 --- a/versions/e-/easycl.json +++ b/versions/e-/easycl.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "54235bb93553dde5363e98f4b8e24f74f4a57481", + "version": "0.3", + "port-version": 2 + }, { "git-tree": "f25251c36cd3423ca13cdf773e124ce01e7b08fe", "version-string": "0.3", diff --git a/versions/e-/easyexif.json b/versions/e-/easyexif.json new file mode 100644 index 00000000000000..f1d8acbe126f33 --- /dev/null +++ b/versions/e-/easyexif.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "56500b421a6b0129d43c562af4ebe0bccf8ca6de", + "version-date": "2022-10-07", + "port-version": 0 + } + ] +} diff --git a/versions/e-/easyhook.json b/versions/e-/easyhook.json index 8ac276162fa027..3a51c0dc03b2a5 100644 --- a/versions/e-/easyhook.json +++ b/versions/e-/easyhook.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "bcdbd62438d6d473f4b325a6f9b0ede4512d9dbf", + "version": "2.7.7097.0", + "port-version": 8 + }, + { + "git-tree": "311bf5152e8f8ba46dc9123c9bc4d66c0cabad24", + "version": "2.7.7097.0", + "port-version": 7 + }, + { + "git-tree": "8877642f19052e820932928a49049719516ebf9b", + "version": "2.7.7097.0", + "port-version": 6 + }, + { + "git-tree": "71b209c038081c700231ebc3be136c6976f22c4b", + "version": "2.7.7097.0", + "port-version": 5 + }, + { + "git-tree": "54eb13c17af41e5e869503410d13f67e6886c8ff", + "version": "2.7.7097.0", + "port-version": 4 + }, + { + "git-tree": "6fefce9309d25f4fdd8675a3168cbfd049f9b863", + "version": "2.7.7097.0", + "port-version": 3 + }, { "git-tree": "c217a47b595d2a002a72ff621846a7445329b42f", "version": "2.7.7097.0", diff --git a/versions/e-/easyloggingpp.json b/versions/e-/easyloggingpp.json index a6e90e0aa8ce5a..3548e378a2f8f1 100644 --- a/versions/e-/easyloggingpp.json +++ b/versions/e-/easyloggingpp.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "1be9186d989f3f743ee399926293e49afa6a6175", + "version": "9.97.1", + "port-version": 1 + }, + { + "git-tree": "38a4e115b196ff65465edaf05ce8a89a2640128a", + "version": "9.97.1", + "port-version": 0 + }, + { + "git-tree": "89605d63db69f67c4dfaf9a5b2cc33650967e065", + "version": "9.97.0", + "port-version": 4 + }, + { + "git-tree": "69f6b238899967e671f818a164f21de0219546bc", + "version": "9.97.0", + "port-version": 3 + }, { "git-tree": "40ca985ab8030ca0daf7c902e413423801d3e3d4", "version": "9.97.0", diff --git a/versions/e-/eathread.json b/versions/e-/eathread.json index b9ee874827df12..1a560b921be3ce 100644 --- a/versions/e-/eathread.json +++ b/versions/e-/eathread.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "34f9cb023b8968a396617b8ff04abc086b1c02d7", + "version-string": "1.32.09", + "port-version": 5 + }, + { + "git-tree": "88ecba1014ac560fb1083f5e8b74c10cddf8d6ea", + "version-string": "1.32.09", + "port-version": 4 + }, + { + "git-tree": "341734fa50c34beff0593368922f71829fb0ff19", + "version-string": "1.32.09", + "port-version": 3 + }, { "git-tree": "273dda3270d68ca1c465bb093cba07e71bd6a62f", "version-string": "1.32.09", diff --git a/versions/e-/ebml.json b/versions/e-/ebml.json index 3d935cba33adb8..3ccae644659e24 100644 --- a/versions/e-/ebml.json +++ b/versions/e-/ebml.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "211ad9219c349adeae527edf0bc1ae9c57028751", + "version": "1.4.5", + "port-version": 0 + }, + { + "git-tree": "4dd27fceafb402b6a634a2a934e7c3df0c1a64c0", + "version": "1.4.4", + "port-version": 1 + }, + { + "git-tree": "a4b2091951270259a38b2b900547a544bfad046f", + "version": "1.4.4", + "port-version": 0 + }, + { + "git-tree": "4fc7059101f067e639c84844996c77eaba7908e6", + "version": "1.4.2", + "port-version": 1 + }, { "git-tree": "ba8376ad269930aee17a0890ccbd267639122616", "version": "1.4.2", diff --git a/versions/e-/ecal.json b/versions/e-/ecal.json new file mode 100644 index 00000000000000..8bd96f0cd928a0 --- /dev/null +++ b/versions/e-/ecal.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "1753feade0a74f9779efc017cc2d29cd7005b15a", + "version-semver": "5.13.2", + "port-version": 0 + }, + { + "git-tree": "26c1e5fbf33ce903aa80a25fb031ce66f0921f1f", + "version-semver": "5.12.0", + "port-version": 1 + }, + { + "git-tree": "cfba9f382140cce351a69ed174cc1b93d0c97483", + "version-semver": "5.12.0", + "port-version": 0 + } + ] +} diff --git a/versions/e-/ecm.json b/versions/e-/ecm.json index 82859b55a4dbab..a94bc83deeb509 100644 --- a/versions/e-/ecm.json +++ b/versions/e-/ecm.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "5709bdab7668ace236f37659923062c27aae0988", + "version": "6.7.0", + "port-version": 0 + }, + { + "git-tree": "106274dc3cc918d9af50f69fd273e248c7fd352e", + "version": "6.4.0", + "port-version": 0 + }, + { + "git-tree": "b23a9acfc30e1fb1cd894d5fea25665a1f8fb145", + "version": "5.98.0", + "port-version": 0 + }, + { + "git-tree": "563a564f43f7e1c096cd7819531a6eece87ddcde", + "version": "5.89.0", + "port-version": 0 + }, + { + "git-tree": "4cd5223b0a590ec5f428aa83cd4e0d3f486ad273", + "version": "5.88.0", + "port-version": 0 + }, + { + "git-tree": "326da23f3132279545c12d753b9f7f22712fe95f", + "version": "5.87.0", + "port-version": 0 + }, + { + "git-tree": "edf27dcd688fc8cfd8a1c6dedddc3cfb0cb1556e", + "version": "5.84.0", + "port-version": 3 + }, { "git-tree": "e01bd7b91852c7fa2dffc588bad45167d8d45c6b", "version": "5.84.0", diff --git a/versions/e-/ecos.json b/versions/e-/ecos.json index 6f456c3f7d5b38..900f9608c3b1c2 100644 --- a/versions/e-/ecos.json +++ b/versions/e-/ecos.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "27839500a8e0bfa142a3486e32410ea3c5c1de42", + "version": "2.0.10", + "port-version": 0 + }, + { + "git-tree": "78694a162b97c80fc2b0017c3dc13c9c7e79f9c2", + "version": "2.0.8", + "port-version": 3 + }, + { + "git-tree": "7dff762b4bcf1a168140c6c69aa8180c579d8fd9", + "version": "2.0.8", + "port-version": 2 + }, { "git-tree": "10196c7185540fa8faccc2f3afcce7be58ab5a1f", "version-string": "2.0.8", diff --git a/versions/e-/ecsutil.json b/versions/e-/ecsutil.json index 65def84ff23eba..24461990b71f02 100644 --- a/versions/e-/ecsutil.json +++ b/versions/e-/ecsutil.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "6ca7f3b29a9f7263185ae0576f75a229f13afa94", + "version": "1.0.7.15", + "port-version": 5 + }, + { + "git-tree": "1758edf3915aba62cd6eaf2c70d1401acf663175", + "version": "1.0.7.15", + "port-version": 4 + }, + { + "git-tree": "9526f049f789b79ac68f8937a9af15da13de53b4", + "version": "1.0.7.15", + "port-version": 3 + }, + { + "git-tree": "93fbfca024b36b2424e521b4426efa8d40028291", + "version-string": "1.0.7.15", + "port-version": 2 + }, { "git-tree": "7fb65a14c061886745af3a158b7f2bc8b71184fc", "version-string": "1.0.7.15", diff --git a/versions/e-/ed25519.json b/versions/e-/ed25519.json new file mode 100644 index 00000000000000..9c5b0c4f4f9976 --- /dev/null +++ b/versions/e-/ed25519.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "ce2c9dc71e927201adc881b0cfb43341520161ae", + "version-date": "2017-02-10", + "port-version": 1 + }, + { + "git-tree": "c62f7e2a6268b66c80e20287872725e8bc273032", + "version-date": "2017-02-10", + "port-version": 0 + } + ] +} diff --git a/versions/e-/edflib.json b/versions/e-/edflib.json new file mode 100644 index 00000000000000..26e37b7e3c0162 --- /dev/null +++ b/versions/e-/edflib.json @@ -0,0 +1,29 @@ +{ + "versions": [ + { + "git-tree": "5711b3b19881a16a8dcdabe3bb85e1e15ad407ca", + "version": "1.27", + "port-version": 0 + }, + { + "git-tree": "4834f9bad801aac37c9128e100bf120373ab5f5b", + "version": "1.26", + "port-version": 0 + }, + { + "git-tree": "28eece0b454594cd00d8c878320908b7e39e4c9b", + "version": "1.25", + "port-version": 0 + }, + { + "git-tree": "1866b8a8e3db616811041a4f147a0dbed3db64cc", + "version": "1.24", + "port-version": 0 + }, + { + "git-tree": "161f6ffc0519e0944bce2573bbfb7ed800899690", + "version": "1.21", + "port-version": 0 + } + ] +} diff --git a/versions/e-/effects11.json b/versions/e-/effects11.json index 4850d41d5c1966..793d2681b480d3 100644 --- a/versions/e-/effects11.json +++ b/versions/e-/effects11.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "4d7d6262892fede7f8fee3fa410dac968e49ed99", + "version": "11.29", + "port-version": 3 + }, + { + "git-tree": "fe385ae61317ac6744d0587322237979de227284", + "version": "11.29", + "port-version": 2 + }, + { + "git-tree": "542cec9c6fdc2ace4d1d4a6ec4dfe4e70c1f6dcc", + "version": "11.29", + "port-version": 1 + }, + { + "git-tree": "8a8575ff2ed44f491a5a557a775b750db3df63e5", + "version": "11.29", + "port-version": 0 + }, + { + "git-tree": "d625012c718899dec9245d795413c2e86b52906d", + "version": "11.28", + "port-version": 0 + }, + { + "git-tree": "8a08f12302be72c15cea701a71122e62f4b7df5a", + "version": "11.27", + "port-version": 0 + }, + { + "git-tree": "c2c6305e1ca4352d853c035f29d1d7daa3e47444", + "version": "11.26", + "port-version": 2 + }, { "git-tree": "ed264ec7ce47f6c0ad48933d3ced950b4841726f", "version": "11.26", diff --git a/versions/e-/effolkronium-random.json b/versions/e-/effolkronium-random.json index c2d4671aea46e4..b907a839dac566 100644 --- a/versions/e-/effolkronium-random.json +++ b/versions/e-/effolkronium-random.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "92d5b3e1b94743447e68f6c774bbbc56b3556461", + "version": "1.5.0", + "port-version": 0 + }, + { + "git-tree": "2ffd6600668e6304e7e60f9ef447855efc89a0a0", + "version": "1.4.1", + "port-version": 0 + }, { "git-tree": "0083b3439b06f6c6e2b5fbd48260cd5b54692bad", "version": "1.4.0", diff --git a/versions/e-/efsw.json b/versions/e-/efsw.json index c58cd1f6db35ae..2d54d178547755 100644 --- a/versions/e-/efsw.json +++ b/versions/e-/efsw.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "adfa3eddacb589f59859318a4332754ba1478eb7", + "version": "1.4.0", + "port-version": 0 + }, + { + "git-tree": "cdbd9de7e4e09eca9f0937c5b90ca540a66f6409", + "version": "1.3.1", + "port-version": 0 + }, + { + "git-tree": "818d58dbad7e02e1fa150ef43c178fc47dd0efac", + "version-date": "2023-01-06", + "port-version": 0 + }, + { + "git-tree": "6ebed2c2027b2500f01aa9f755df88098810826e", + "version-date": "2020-06-08", + "port-version": 3 + }, { "git-tree": "67bb6e4495d7a98abb97ef8da9d7486508974042", "version-string": "2020-06-08", diff --git a/versions/e-/egl-registry.json b/versions/e-/egl-registry.json index 59de646f2aef69..124c80f52a3d85 100644 --- a/versions/e-/egl-registry.json +++ b/versions/e-/egl-registry.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "d883db43133dd223c4ffdbef4193943f6784d43a", + "version-date": "2024-01-25", + "port-version": 0 + }, + { + "git-tree": "e596b6c29ad16da764aab6f2fef830a3a884f14b", + "version-date": "2022-09-20", + "port-version": 0 + }, + { + "git-tree": "43e62391cc7413e33585df55584769bcb69bf563", + "version-date": "2021-11-23", + "port-version": 1 + }, + { + "git-tree": "ec272777ea9d0ceccf5cc8b0336f038853e5c911", + "version-date": "2021-11-23", + "port-version": 0 + }, { "git-tree": "33252a782754c5b8595212530c1729d41bb78c19", "version-string": "2020-02-20", diff --git a/versions/e-/egl.json b/versions/e-/egl.json new file mode 100644 index 00000000000000..ca2ce360d00ba9 --- /dev/null +++ b/versions/e-/egl.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "d743b37a251739b853acfb4a93bbfe5685fecd07", + "version-date": "2022-12-04", + "port-version": 0 + }, + { + "git-tree": "b1bc1e659623b2aa81e403d4812debfa1920030e", + "version-date": "2022-09-20", + "port-version": 0 + } + ] +} diff --git a/versions/e-/eigen3.json b/versions/e-/eigen3.json index 37649711cfff52..d0dde98160676d 100644 --- a/versions/e-/eigen3.json +++ b/versions/e-/eigen3.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "17249b310c689b0722c3ee825780a8e24c7d73a2", + "version": "3.4.0", + "port-version": 4 + }, + { + "git-tree": "38fc865a94dea7a84f8b1350936ed4fcc3e638cc", + "version": "3.4.0", + "port-version": 3 + }, + { + "git-tree": "250d10d414a5542aaf832350264498ba727c4c03", + "version": "3.4.0", + "port-version": 2 + }, + { + "git-tree": "4b40326590314e1f3a08c75e83a42d0738040b68", + "version": "3.4.0", + "port-version": 1 + }, + { + "git-tree": "0475ed327bda734cad0acd35978cde9379bc8619", + "version": "3.4.0", + "port-version": 0 + }, { "git-tree": "2b845a54aa220fa4099e97be4031cb63634665e3", "version-string": "3.3.9", diff --git a/versions/e-/elements.json b/versions/e-/elements.json new file mode 100644 index 00000000000000..4dfdfb5d9856bb --- /dev/null +++ b/versions/e-/elements.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "c0514f653f33627cfd7cec2f34186f9128a5c571", + "version-date": "2024-09-12", + "port-version": 0 + }, + { + "git-tree": "1ab41f4881c43e4119c9f80141820e016db62ebf", + "version-date": "2022-12-07", + "port-version": 1 + }, + { + "git-tree": "ada1c4c9df8d559673c40e083adcab5e94285fc3", + "version-date": "2022-12-07", + "port-version": 0 + } + ] +} diff --git a/versions/e-/elfio.json b/versions/e-/elfio.json index fb92088639bf54..c5a2e01444ca9e 100644 --- a/versions/e-/elfio.json +++ b/versions/e-/elfio.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "96b9160e3d2440526fac5a7630d4fec4d26c49e5", + "version": "3.12", + "port-version": 0 + }, + { + "git-tree": "d5bb36bfbec63a059c47cd839da14a84719ae768", + "version": "3.11", + "port-version": 0 + }, + { + "git-tree": "76c8087deffd555757001f6c2dcf33f59901290f", + "version": "3.10", + "port-version": 0 + }, { "git-tree": "4c3c450c25f313eba1565d93542dbe2caa17aec4", "version": "3.9", @@ -7,7 +22,7 @@ }, { "git-tree": "19659f0b36d05c1643f7ecb4b553341a942b1fd5", - "version": "3.8", + "version-string": "3.8", "port-version": 0 } ] diff --git a/versions/e-/elfutils.json b/versions/e-/elfutils.json index 6c9d614b27222a..f92a1176ab23eb 100644 --- a/versions/e-/elfutils.json +++ b/versions/e-/elfutils.json @@ -1,5 +1,45 @@ { "versions": [ + { + "git-tree": "773241ff69478469d2ae1bca47abdd22eafae484", + "version": "0.192", + "port-version": 0 + }, + { + "git-tree": "68e8ad67d63cbd8f4d0588a361bd498a675595cd", + "version": "0.191", + "port-version": 0 + }, + { + "git-tree": "6f16a19e22e33e89ff809c74983035b93a50038e", + "version": "0.186", + "port-version": 4 + }, + { + "git-tree": "8f78ad2c6d0fe406f09a163e5fb74a9b000c815c", + "version": "0.186", + "port-version": 3 + }, + { + "git-tree": "03e8299432623718bf6b58a61d19d408b6c8828c", + "version": "0.186", + "port-version": 2 + }, + { + "git-tree": "1e219cc99d3cfb41ba24f835240acf510a62bc3c", + "version-string": "0.186", + "port-version": 1 + }, + { + "git-tree": "18162722eb91e8a24f6ce1ba945a8a2e1af90896", + "version-string": "0.186", + "port-version": 0 + }, + { + "git-tree": "9aa4fefa61893cd4b37c0f1a2f16ab255ab0c4bf", + "version-string": "0.182", + "port-version": 2 + }, { "git-tree": "aa738c679581e92da4ec8a1662171ac5608e3744", "version-string": "0.182", diff --git a/versions/e-/embree2.json b/versions/e-/embree2.json index 668cfc9cc572c1..6b45901ef323ab 100644 --- a/versions/e-/embree2.json +++ b/versions/e-/embree2.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "59aae2cf542f2420880b312e4e5071c6afcd5aaa", + "version-semver": "2.17.7", + "port-version": 4 + }, { "git-tree": "b4048eb6da97d8a23b849a1b5fba7ba93f9c33bf", "version-semver": "2.17.7", diff --git a/versions/e-/embree3.json b/versions/e-/embree3.json index 88d98d2ecca3a2..ccd33fa0c52d51 100644 --- a/versions/e-/embree3.json +++ b/versions/e-/embree3.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "67707a39d2505eb22c7b9449a61e2d2d9d858d99", + "version": "3.13.5", + "port-version": 4 + }, + { + "git-tree": "ff35cda43407d9fd76af567f3284e9eb988307fe", + "version": "3.13.5", + "port-version": 3 + }, + { + "git-tree": "23414ba5fbc71fc0db19bbc4133762e552a3bbec", + "version": "3.13.5", + "port-version": 2 + }, + { + "git-tree": "dcd33aea68c2058b380f0617fe5524a3939c3ac7", + "version": "3.13.5", + "port-version": 1 + }, + { + "git-tree": "c4200bba761b3e04d73761b712080ade013f8763", + "version": "3.13.5", + "port-version": 0 + }, + { + "git-tree": "36abe72d0c102d1abb828db85701450b8bfab9e7", + "version-semver": "3.12.2", + "port-version": 3 + }, { "git-tree": "04c9ff8d31137bc08cd37662050a41dd5f1d8ecf", "version-semver": "3.12.2", diff --git a/versions/e-/enet.json b/versions/e-/enet.json index b2f8a6fee12635..96b612a6896796 100644 --- a/versions/e-/enet.json +++ b/versions/e-/enet.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "20760176898c0663e1a8c3245ec12c324a444525", + "version": "1.3.18", + "port-version": 0 + }, + { + "git-tree": "17a08430b1e76eae1ff5ea036084bee2d9a09775", + "version": "1.3.17", + "port-version": 2 + }, { "git-tree": "a31699670612c88cdf69dd80af975d44c10ac1f6", "version": "1.3.17", diff --git a/versions/e-/enkits.json b/versions/e-/enkits.json new file mode 100644 index 00000000000000..b3d0b47ff373f2 --- /dev/null +++ b/versions/e-/enkits.json @@ -0,0 +1,24 @@ +{ + "versions": [ + { + "git-tree": "7f702d4ff681f810a7100c4dea92ecc121923894", + "version": "1.11", + "port-version": 3 + }, + { + "git-tree": "8fc05799f3650a3e68dda59c7d6c813e5e49408e", + "version": "1.11", + "port-version": 2 + }, + { + "git-tree": "d83be5a37b104f4c67030a8184af78bfa248137c", + "version": "1.11", + "port-version": 1 + }, + { + "git-tree": "8fe0e538a1d8685844297f35b7e00f4984d4bb09", + "version": "1.11", + "port-version": 0 + } + ] +} diff --git a/versions/e-/ensmallen.json b/versions/e-/ensmallen.json index 0f5add203fe078..0ca23c6a7fdab4 100644 --- a/versions/e-/ensmallen.json +++ b/versions/e-/ensmallen.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "b3a65c226ad563c46413db6e1cde9d39f4684bf9", + "version-semver": "2.21.1", + "port-version": 0 + }, + { + "git-tree": "9cc70243efdfb4af7cc5e482a6e976d650487e86", + "version-semver": "2.19.1", + "port-version": 0 + }, + { + "git-tree": "00de3f8f709bd51bba23d6aa8f01636a1e99f298", + "version-semver": "2.19.0", + "port-version": 0 + }, + { + "git-tree": "ed0e9e790165bbba1a04b3a8fb6b89c67e1b64f8", + "version-semver": "2.18.1", + "port-version": 0 + }, { "git-tree": "98fdc863799d6cadd208a558f158894df03fdcaf", "version-semver": "2.17.0", diff --git a/versions/e-/entityx.json b/versions/e-/entityx.json index 2d7bb14ca30960..06710748df73c6 100644 --- a/versions/e-/entityx.json +++ b/versions/e-/entityx.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "76f0e44ee706058d53a79eed3b1ba7df92ef2f35", + "version": "1.3.0", + "port-version": 6 + }, + { + "git-tree": "ad5351451933af0b68354f8ff7f018017c48d5c5", + "version": "1.3.0", + "port-version": 5 + }, + { + "git-tree": "e642d746ab67cfffbde02f5a78c2f5ee7acf635e", + "version": "1.3.0", + "port-version": 4 + }, { "git-tree": "191e57655630e9862440dd860de69d4baa62b089", "version-string": "1.3.0", diff --git a/versions/e-/entt.json b/versions/e-/entt.json index 629e3aef7e83e4..718d40be973a9a 100644 --- a/versions/e-/entt.json +++ b/versions/e-/entt.json @@ -1,5 +1,65 @@ { "versions": [ + { + "git-tree": "2c9a2cb27bd1e5688b91c4ca0b4aedcc6f92e88f", + "version": "3.14.0", + "port-version": 0 + }, + { + "git-tree": "d4e3ef99bf60251f028b4d53e9312a8d0356b029", + "version": "3.13.2", + "port-version": 0 + }, + { + "git-tree": "7dbe8b313e49ea2a5be64c6e4da5676437637939", + "version": "3.13.1", + "port-version": 0 + }, + { + "git-tree": "e3643359b0f55263734639170eb29b481f86436a", + "version": "3.13.0", + "port-version": 0 + }, + { + "git-tree": "556ac85a20d7294c42222cb292a2753113953015", + "version": "3.12.2", + "port-version": 0 + }, + { + "git-tree": "715488654a998a72da8fff6596cbeedf1962fa56", + "version": "3.12.0", + "port-version": 0 + }, + { + "git-tree": "d9bf4ab0cc1354ea754f3038dee29ae00ded6331", + "version": "3.11.1", + "port-version": 0 + }, + { + "git-tree": "1bbb72320031821b14b973f3df4fe1555ac467dc", + "version": "3.11.0", + "port-version": 0 + }, + { + "git-tree": "ac258cd82d39f21b9a55ec179f02517f29802cdb", + "version": "3.10.1", + "port-version": 1 + }, + { + "git-tree": "f2c6e6ca727e3e843f0eb07544c81305175dc973", + "version": "3.10.1", + "port-version": 0 + }, + { + "git-tree": "a871a9d0c7187960052099119854369e854c3e50", + "version": "3.10.0", + "port-version": 0 + }, + { + "git-tree": "74ad1980650c2f8ecb6369b8b981711f96f7bd08", + "version": "3.9.0", + "port-version": 0 + }, { "git-tree": "c1b20a18637e66b31dcda3a46341bf10548b78e8", "version": "3.8.0", diff --git a/versions/e-/epsilon.json b/versions/e-/epsilon.json index ab89b1e6aa80d2..9642317235664e 100644 --- a/versions/e-/epsilon.json +++ b/versions/e-/epsilon.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "1c976014bade32edb4c7fc233fe92823ae6d5340", + "version": "0.9.2", + "port-version": 8 + }, + { + "git-tree": "800dbc074727df7eded3e5707b828be676bb5943", + "version": "0.9.2", + "port-version": 7 + }, { "git-tree": "ad0883f9e090b404fcef27b3e4304df44472bf90", "version-string": "0.9.2", diff --git a/versions/e-/ereignis.json b/versions/e-/ereignis.json new file mode 100644 index 00000000000000..a0ebb40c889b38 --- /dev/null +++ b/versions/e-/ereignis.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "53ba30ec67abd936ea33d4c4136ca83a3e9c145c", + "version": "2.3", + "port-version": 0 + }, + { + "git-tree": "9fae65f1e52927feaf919019a722da7f20982e4c", + "version": "1.1", + "port-version": 0 + } + ] +} diff --git a/versions/e-/etcd-cpp-apiv3.json b/versions/e-/etcd-cpp-apiv3.json new file mode 100644 index 00000000000000..62d1e8c93e509e --- /dev/null +++ b/versions/e-/etcd-cpp-apiv3.json @@ -0,0 +1,34 @@ +{ + "versions": [ + { + "git-tree": "aacdad15e8da4dc2ee4461860f30bc4c89d60aee", + "version": "0.15.4", + "port-version": 0 + }, + { + "git-tree": "6b581f1d83d15c382c94c2929838f928588285c9", + "version": "0.15.3", + "port-version": 0 + }, + { + "git-tree": "fcdd53892f918548cbe88add5b6224c19ed941f7", + "version": "0.14.2", + "port-version": 1 + }, + { + "git-tree": "dd97517ebe389d53e5b32703d9c6744f2031d389", + "version": "0.14.2", + "port-version": 0 + }, + { + "git-tree": "7e0ac1c92bcc806390c387a4dc9a099f4d564fb9", + "version": "0.2.12", + "port-version": 1 + }, + { + "git-tree": "86cc86be00d148aaf3c011e1c248ea16e7e6d2fc", + "version": "0.2.12", + "port-version": 0 + } + ] +} diff --git a/versions/e-/etl.json b/versions/e-/etl.json new file mode 100644 index 00000000000000..2fa523b5dddc54 --- /dev/null +++ b/versions/e-/etl.json @@ -0,0 +1,29 @@ +{ + "versions": [ + { + "git-tree": "bdac500ecc12b8d6b7a36c6fb32dc76b7ec5d2dd", + "version": "20.39.4", + "port-version": 0 + }, + { + "git-tree": "04525d7e18f604bc4b4a7e1317c919ef691907af", + "version": "20.38.10", + "port-version": 1 + }, + { + "git-tree": "079f0debc933d6e50b2a2e2cda340343f6bf6a6d", + "version": "20.38.10", + "port-version": 0 + }, + { + "git-tree": "c192d31b7a1db34a2a2de4cab11ed949c54f35da", + "version": "20.38.0", + "port-version": 0 + }, + { + "git-tree": "4c71341c1081f0135ba14fcc8e1f5007264cdf92", + "version": "20.35.4", + "port-version": 0 + } + ] +} diff --git a/versions/e-/eve.json b/versions/e-/eve.json new file mode 100644 index 00000000000000..3d85da7f6d8cdb --- /dev/null +++ b/versions/e-/eve.json @@ -0,0 +1,29 @@ +{ + "versions": [ + { + "git-tree": "f76e41a1a878a665a45ca3b3eef2c8ec8d406778", + "version": "2023.2.15", + "port-version": 0 + }, + { + "git-tree": "701ec863d463d1a8c570336d3c5bd672f540793c", + "version": "2022.9.1", + "port-version": 0 + }, + { + "git-tree": "3b6a47336d9cf0e99ea0dffc7c0c41bb04dfff5a", + "version-date": "2022-09-20", + "port-version": 0 + }, + { + "git-tree": "017b4485d7d6330770a47783a7e8f9fe7216c454", + "version-date": "2022-03-15", + "port-version": 0 + }, + { + "git-tree": "95251169868c628e8099f89d14671ef946fd918d", + "version-date": "2021-10-16", + "port-version": 0 + } + ] +} diff --git a/versions/e-/eventpp.json b/versions/e-/eventpp.json new file mode 100644 index 00000000000000..9a329e72f8776a --- /dev/null +++ b/versions/e-/eventpp.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "4c5fdcbe4047f79d958a4b62342ad444a04d2090", + "version-semver": "0.1.3", + "port-version": 1 + }, + { + "git-tree": "13f41aca93677fedad3baaf9ed698546434ae379", + "version-semver": "0.1.3", + "port-version": 0 + }, + { + "git-tree": "3f11cacc8b5a6f9f2951992d29cee39e52ef601f", + "version-semver": "0.1.2", + "port-version": 0 + } + ] +} diff --git a/versions/e-/evpp.json b/versions/e-/evpp.json index 7291e63111e520..98c5a83f556ac8 100644 --- a/versions/e-/evpp.json +++ b/versions/e-/evpp.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "1eda7115a751bcbf31efdbbbf0bdefb16e4b67e2", + "version": "0.7.0", + "port-version": 8 + }, + { + "git-tree": "419e928841663bb077cd215aa89bd022d850640c", + "version": "0.7.0", + "port-version": 7 + }, + { + "git-tree": "7bcbd80099c9f1551101e9abc91ba7ad4849dd05", + "version": "0.7.0", + "port-version": 6 + }, { "git-tree": "b312644fb2498483feb3114cef2c8afaa44f45ed", "version-string": "0.7.0", diff --git a/versions/e-/exiv2.json b/versions/e-/exiv2.json index b98e6e654c75c5..b71cc9fea2f844 100644 --- a/versions/e-/exiv2.json +++ b/versions/e-/exiv2.json @@ -1,5 +1,80 @@ { "versions": [ + { + "git-tree": "cb984642ef06d8cf0919e733b042b674c22cb3b4", + "version": "0.28.3", + "port-version": 2 + }, + { + "git-tree": "94c950d5e7bfffa984940dbbd278984f68181ab6", + "version": "0.28.3", + "port-version": 1 + }, + { + "git-tree": "de2ac0ef00a055d813578d9bc93e25f05decf5df", + "version": "0.28.3", + "port-version": 0 + }, + { + "git-tree": "c718e83fc18023db2be57de6fb8873555aabdccb", + "version": "0.28.1", + "port-version": 1 + }, + { + "git-tree": "0c1020def33eb27e28b1cb0bd2cfd53dfe5fbae5", + "version": "0.28.1", + "port-version": 0 + }, + { + "git-tree": "550a17385502e498859987df6696ffdccc55190d", + "version": "0.28.0", + "port-version": 1 + }, + { + "git-tree": "8d3de5f93cf2b1fa2e4a6c3b9ef5b6a30087bb22", + "version": "0.28.0", + "port-version": 0 + }, + { + "git-tree": "3966c9ebea089fea43d1730cc2b1b21bd5703d3e", + "version": "0.27.6", + "port-version": 3 + }, + { + "git-tree": "9616cd1c578515f6aa85ab9dc6e00cdbbda31371", + "version": "0.27.6", + "port-version": 2 + }, + { + "git-tree": "4e3ce02246c1ef4cdc28caed2afa2fe2b394476f", + "version": "0.27.6", + "port-version": 1 + }, + { + "git-tree": "19442ed87a9f3827ddb22debf6b446e4cdca2d4f", + "version": "0.27.6", + "port-version": 0 + }, + { + "git-tree": "13c2dda832a1eaa7093a44089a029adbd32f487e", + "version": "0.27.5", + "port-version": 3 + }, + { + "git-tree": "99378f0a1c25d699a1b56f337dbe1a4289dd20fa", + "version": "0.27.5", + "port-version": 2 + }, + { + "git-tree": "5e7341b739d7b05fbb40492158b01b8fa9fcdb74", + "version": "0.27.5", + "port-version": 1 + }, + { + "git-tree": "65e38e497c48c6e2fc463997ce9998e6af9f56b5", + "version": "0.27.5", + "port-version": 0 + }, { "git-tree": "4ce7841080b34ab8f91006430e9a40e0d9bfba96", "version": "0.27.4", diff --git a/versions/e-/expat.json b/versions/e-/expat.json index 6ebce1bf311bda..75fe9b2eaf2048 100644 --- a/versions/e-/expat.json +++ b/versions/e-/expat.json @@ -1,5 +1,70 @@ { "versions": [ + { + "git-tree": "9649f61e2f302f608dfb98d6f366e0a08e413487", + "version": "2.6.3", + "port-version": 0 + }, + { + "git-tree": "3dd04e00c4f8232792f1db1f47a07aaecc4ad061", + "version": "2.6.2", + "port-version": 1 + }, + { + "git-tree": "e75ed0e0697a3049343ccfb52fd11eea6cebc30a", + "version": "2.6.2", + "port-version": 0 + }, + { + "git-tree": "8deb84860eca4c337d83da3051340336d01dc57f", + "version": "2.6.1", + "port-version": 0 + }, + { + "git-tree": "324f8ee85bcf8dc7f2c8969d3d0f2af4d78be9a2", + "version": "2.6.0", + "port-version": 0 + }, + { + "git-tree": "9a1bc114edd74892d292c799e7b45b407f2a0b8b", + "version": "2.5.0", + "port-version": 3 + }, + { + "git-tree": "fcad5bc870991726ccb6cc02760d2a5422257bbd", + "version": "2.5.0", + "port-version": 2 + }, + { + "git-tree": "5da852ba8ea975e8f950bf766129724327232861", + "version": "2.5.0", + "port-version": 1 + }, + { + "git-tree": "59123c85dfc30e456d0bc5894befd6d461d35d7c", + "version": "2.5.0", + "port-version": 0 + }, + { + "git-tree": "755ce6df1ddbca1c1fcb0d2fe7cbd2b5bd074121", + "version": "2.4.9", + "port-version": 1 + }, + { + "git-tree": "e9bfabcd9e9f47060a34457ad5e28da5e100c027", + "version": "2.4.9", + "port-version": 0 + }, + { + "git-tree": "18754c99766e364a887a08bbf85c7fae06185f36", + "version": "2.4.8", + "port-version": 1 + }, + { + "git-tree": "35013cd612175defc1832114f6a841888a6f6aad", + "version": "2.4.8", + "port-version": 0 + }, { "git-tree": "d63d8c6684bc73856e3f684601761939e32feeb3", "version-semver": "2.4.1", diff --git a/versions/e-/expected-lite.json b/versions/e-/expected-lite.json index 2cd69539cbebf8..8365d65d19ee1e 100644 --- a/versions/e-/expected-lite.json +++ b/versions/e-/expected-lite.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "ffed518a0067b94d369307cc869b46263bbcd976", + "version": "0.8.0", + "port-version": 0 + }, + { + "git-tree": "f15c8963416782cdd215cf6b9a3f85ded0e4d2de", + "version": "0.6.3", + "port-version": 0 + }, + { + "git-tree": "9c8f107476fb8d2afc13ab7b743b31d1e07ea5cd", + "version": "0.6.2", + "port-version": 0 + }, + { + "git-tree": "2b0c1f8e0fb5c88c9e3a98018d767c0e99997d94", + "version": "0.6.0", + "port-version": 0 + }, { "git-tree": "a1e36e579144b5ebf1231aac06fbfc89c300351f", "version": "0.5.0", diff --git a/versions/e-/exprtk.json b/versions/e-/exprtk.json index 0dd368f44ef3a1..473d7ccab0a64b 100644 --- a/versions/e-/exprtk.json +++ b/versions/e-/exprtk.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "f643b034afeb28a7e39b6556eb78594aa49181a4", + "version-date": "2022-01-01", + "port-version": 2 + }, + { + "git-tree": "2cf53dbae59a6b96821ac0407d0bb9a87dd2561c", + "version-date": "2021-01-01", + "port-version": 2 + }, { "git-tree": "f43789e8da0899715ef1d0544880baa13ce38d64", "version-string": "2021-01-01", diff --git a/versions/e-/ezc3d.json b/versions/e-/ezc3d.json index 27adf4358083a5..50f55df00f8b3d 100644 --- a/versions/e-/ezc3d.json +++ b/versions/e-/ezc3d.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "e2ee306dd52280b69694135241fa41b4b491eb32", + "version": "1.5.11", + "port-version": 0 + }, + { + "git-tree": "1331eec1377ca1e720afdd9c3cf2660c49b58084", + "version": "1.5.7", + "port-version": 0 + }, + { + "git-tree": "f41d466838bd526b6e8717bf3c962b29a7bb47c5", + "version": "1.5.0", + "port-version": 0 + }, + { + "git-tree": "21ec5f8371f785c406c466171aadff744e2b34e2", + "version": "1.4.7", + "port-version": 0 + }, { "git-tree": "555219f96920ec01fc38ecd89e0a19188206be22", "version": "1.4.6", diff --git a/versions/e-/ezfoundation.json b/versions/e-/ezfoundation.json new file mode 100644 index 00000000000000..6c4c72ed8cb3b7 --- /dev/null +++ b/versions/e-/ezfoundation.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "9db831cf3166d08f581365fccce852ae9aeb8b69", + "version": "21.10", + "port-version": 0 + } + ] +} diff --git a/versions/f-/faad2.json b/versions/f-/faad2.json index 18db5fc847ec47..a018f92833cc2d 100644 --- a/versions/f-/faad2.json +++ b/versions/f-/faad2.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "60bebbccf8a5258a6cf7ff00ef78ca0e3450b9fb", + "version": "2.11.1", + "port-version": 0 + }, + { + "git-tree": "8109afd383b568e26f0d671384d067fa5fa7cc2e", + "version": "2.10.1", + "port-version": 0 + }, + { + "git-tree": "67b420585d5f99b7dec259912abd2d7edcfb9492", + "version": "2.9.1", + "port-version": 5 + }, { "git-tree": "a1ec8e5247412b2ba6584c63307f88fe91d12251", "version": "2.9.1", diff --git a/versions/f-/fadbad.json b/versions/f-/fadbad.json index 8c67fe49e2ed4b..3810de5f1b3e5d 100644 --- a/versions/f-/fadbad.json +++ b/versions/f-/fadbad.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "a607ac03a90c00969c67d2ec609924e9b80795bc", + "version": "2.1.0", + "port-version": 2 + }, { "git-tree": "508423e28f6d567501bcfe9e8733627dcb9df7ec", "version-string": "2.1.0", diff --git a/versions/f-/faiss.json b/versions/f-/faiss.json index 8e9e24bd9581b5..4a5879ff6ab93c 100644 --- a/versions/f-/faiss.json +++ b/versions/f-/faiss.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "e711ba8ab9d73c53bfe501023ae42a46b0de7f03", + "version": "1.8.0", + "port-version": 0 + }, + { + "git-tree": "bc836dd883cc277c5b11a98e8155f53503ef37f9", + "version": "1.7.4", + "port-version": 1 + }, + { + "git-tree": "e2f2e6695629b11c85f79e4fc8b962134396a953", + "version": "1.7.4", + "port-version": 0 + }, + { + "git-tree": "f346ac31428205c546269f8107390836185f0d72", + "version": "1.7.3", + "port-version": 0 + }, + { + "git-tree": "1f9afe2148c0cfa76354882e136af60bab695061", + "version-semver": "1.7.2", + "port-version": 0 + }, + { + "git-tree": "efbc0f9d771826b57c327d3a008ee4bff6bdbda1", + "version-semver": "1.7.1", + "port-version": 1 + }, { "git-tree": "7c8e333f76263e7ca027e52fdf1d14b025be234c", "version-semver": "1.7.1", diff --git a/versions/f-/fakeit.json b/versions/f-/fakeit.json index c849a4fd32abac..2a1e0456520aa4 100644 --- a/versions/f-/fakeit.json +++ b/versions/f-/fakeit.json @@ -1,5 +1,45 @@ { "versions": [ + { + "git-tree": "dee32d1fc08039620e6ba6e8b64e87d5da500200", + "version": "2.4.1", + "port-version": 0 + }, + { + "git-tree": "199349d27860bb252a22a7bad0eb76b9fb61acdc", + "version": "2.4.0", + "port-version": 3 + }, + { + "git-tree": "808389303a7bd3b6a4d3b9614c8b7e582f4dc6d5", + "version": "2.4.0", + "port-version": 2 + }, + { + "git-tree": "4975f837bbd496c621a2b6cd11fc6745357c61c5", + "version": "2.4.0", + "port-version": 1 + }, + { + "git-tree": "a226f1d679f9c3acf8c67d69d24086e236b67a29", + "version": "2.4.0", + "port-version": 0 + }, + { + "git-tree": "a167ae0c79d73a0c9802b41992c668a41209a390", + "version": "2.3.0", + "port-version": 0 + }, + { + "git-tree": "2af5c0e3dc6e0f5d2ae288b50f6f8167e830ff69", + "version": "2.1.1", + "port-version": 0 + }, + { + "git-tree": "e69fbaa4aed8ea6adf901929dd369ead884b9977", + "version": "2.1.0", + "port-version": 0 + }, { "git-tree": "c7be74886e3d0e180a2abc712c1f95f26f6f3c67", "version": "2.0.9", diff --git a/versions/f-/fameta-counter.json b/versions/f-/fameta-counter.json new file mode 100644 index 00000000000000..6a6a92b583aa2a --- /dev/null +++ b/versions/f-/fameta-counter.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "e830075f562957049cad7d3d3526e4707884ff0a", + "version-date": "2021-02-13", + "port-version": 0 + } + ] +} diff --git a/versions/f-/fann.json b/versions/f-/fann.json index f49c67fc995cf5..c99cc402c8fb8b 100644 --- a/versions/f-/fann.json +++ b/versions/f-/fann.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "94b730a699257765fce03efa37433036770904c4", + "version-date": "2023-01-26", + "port-version": 0 + }, + { + "git-tree": "05d4d344a7295f604f3cf541a9d92b9a680fd830", + "version": "2.2.0", + "port-version": 3 + }, { "git-tree": "9bff6da1b7043e1ab6e344c549a285b7101763e2", "version": "2.2.0", diff --git a/versions/f-/farmhash.json b/versions/f-/farmhash.json index 399d97dad86f21..6fe2af7a8e9e87 100644 --- a/versions/f-/farmhash.json +++ b/versions/f-/farmhash.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "1c4cd2b5f5afa61f7192b3e1b175749317189eb9", + "version": "1.1", + "port-version": 6 + }, + { + "git-tree": "860c81df38a838331a4a2d7895427248d594e5c5", + "version": "1.1", + "port-version": 5 + }, { "git-tree": "46e338897fcb9436d4ac7f7cba2efd12df98567b", "version-string": "1.1", diff --git a/versions/f-/fast-cpp-csv-parser.json b/versions/f-/fast-cpp-csv-parser.json index 22b6d28df67cf2..46bfbe52e3cc5b 100644 --- a/versions/f-/fast-cpp-csv-parser.json +++ b/versions/f-/fast-cpp-csv-parser.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "6457407a0c8107361d51a9f58fd39f26fbf54cc1", + "version-date": "2021-01-03", + "port-version": 2 + }, { "git-tree": "2518da1e8879b97a01d6053fb61a8800bdbe3996", "version-string": "2021-01-03", diff --git a/versions/f-/fast-double-parser.json b/versions/f-/fast-double-parser.json new file mode 100644 index 00000000000000..4a63f1dbf2903f --- /dev/null +++ b/versions/f-/fast-double-parser.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "da90362cd4e7c5200ac0dfa36f2709bfd76e0cbb", + "version": "0.8.0", + "port-version": 0 + }, + { + "git-tree": "fac99fe686dd7874d02be06d78f4df1a6ac7358d", + "version": "0.7.0", + "port-version": 0 + } + ] +} diff --git a/versions/f-/fast-float.json b/versions/f-/fast-float.json index 9bf69087adb979..91d496d68df416 100644 --- a/versions/f-/fast-float.json +++ b/versions/f-/fast-float.json @@ -1,5 +1,60 @@ { "versions": [ + { + "git-tree": "4cddff29906e83702cdabc3306b15350a25fc5f1", + "version": "6.1.6", + "port-version": 0 + }, + { + "git-tree": "686e450f5a7baebc5b17a03646410281bd6fe1af", + "version": "6.1.4", + "port-version": 0 + }, + { + "git-tree": "9d389e2d9f9d9e4649f6f6d687c1b3df8cf84f70", + "version": "6.1.1", + "port-version": 0 + }, + { + "git-tree": "d4497207f1849689b21f19a9eb3e9eca03c65d57", + "version": "6.1.0", + "port-version": 1 + }, + { + "git-tree": "2e8d7fb4197ee346ad2f53b3028759a60d13af46", + "version": "6.1.0", + "port-version": 0 + }, + { + "git-tree": "4f36d745c12126b63e7f6b1dc5f41f6c644e1367", + "version": "6.0.0", + "port-version": 0 + }, + { + "git-tree": "b78d9590504b99e64f96cdddac42bf67fed57feb", + "version": "5.2.0", + "port-version": 0 + }, + { + "git-tree": "4b3850e475298431083406c88bd1ced0a0c6e740", + "version": "4.0.0", + "port-version": 0 + }, + { + "git-tree": "90a05053bff1f356dc27f0227210840d8a26ef27", + "version": "3.11.0", + "port-version": 0 + }, + { + "git-tree": "166b1343d7e66bb8e6d29ba612620ae55f5a615e", + "version": "3.5.1", + "port-version": 0 + }, + { + "git-tree": "ff47650c46181763025a2149a7753a56c5c1c83c", + "version": "3.2.0", + "port-version": 0 + }, { "git-tree": "9f7f16bfca48a406b8682f54fe86a7ca9ad895b5", "version-string": "0.8.0", diff --git a/versions/f-/fastcdr.json b/versions/f-/fastcdr.json index 6a8cb5af314139..6c2fe3ee5a0bc6 100644 --- a/versions/f-/fastcdr.json +++ b/versions/f-/fastcdr.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "6e448463e1ee4b0724b5e6e6a0df3011ef255653", + "version-semver": "2.2.4", + "port-version": 0 + }, + { + "git-tree": "3d1487d4af6d136031c30effdcabb6c9e0a1738a", + "version-semver": "2.2.1", + "port-version": 0 + }, + { + "git-tree": "9f8b9c01af9c5166bc7666ca9aac688747ff7a03", + "version-semver": "1.1.0", + "port-version": 0 + }, + { + "git-tree": "8ac25a2de2fa721da695d61b5346f05e93a51bf7", + "version-semver": "1.0.26", + "port-version": 0 + }, + { + "git-tree": "770f5d0a255b922f7f1ef8c375ef4f13b0111252", + "version-semver": "1.0.25", + "port-version": 0 + }, { "git-tree": "d44198a7b4b57e8f66b4c3ce6b4877066a4a8bf2", "version-semver": "1.0.15", diff --git a/versions/f-/fastcgi.json b/versions/f-/fastcgi.json index 13622e826fa8a9..bd95595477aaa8 100644 --- a/versions/f-/fastcgi.json +++ b/versions/f-/fastcgi.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "7aebdd65d1551d946470d43413d5265d409df3e7", + "version-date": "2020-09-11", + "port-version": 5 + }, + { + "git-tree": "8a8f47edb8fc80608665c48ace9195e2334c3b6e", + "version-date": "2020-09-11", + "port-version": 4 + }, + { + "git-tree": "b3d35715764de0b692fb70742856d39b75bb625d", + "version-date": "2020-09-11", + "port-version": 3 + }, { "git-tree": "f99bded0b957390244bb1c1327dd84dbd5a43634", "version-date": "2020-09-11", diff --git a/versions/f-/fastdds.json b/versions/f-/fastdds.json new file mode 100644 index 00000000000000..b57bea478cfaf1 --- /dev/null +++ b/versions/f-/fastdds.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "7d63c40face8c3e65be51da586f4aaee1d79a138", + "version": "3.1.0", + "port-version": 0 + }, + { + "git-tree": "6ff9b97e272f2c114ff8da8e63e5a04426f49722", + "version": "3.0.1", + "port-version": 0 + } + ] +} diff --git a/versions/f-/fastfeat.json b/versions/f-/fastfeat.json index 7a85559db81658..3fe8b2057caedf 100644 --- a/versions/f-/fastfeat.json +++ b/versions/f-/fastfeat.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "358fa85ceb7b5e03878d6a14880e2ea990f19b70", + "version-string": "391d5e9", + "port-version": 4 + }, + { + "git-tree": "541afe72f533ebfd48289a605d3d6652245a7196", + "version-string": "391d5e9", + "port-version": 3 + }, { "git-tree": "c6df4d7e64a7c9cb69a300aa50f62e2fbb261138", "version-string": "391d5e9", diff --git a/versions/f-/fastgltf.json b/versions/f-/fastgltf.json new file mode 100644 index 00000000000000..967663afe451ba --- /dev/null +++ b/versions/f-/fastgltf.json @@ -0,0 +1,54 @@ +{ + "versions": [ + { + "git-tree": "004b3a844521c72dd3699e70c91ff1e095b96b45", + "version": "0.8.0", + "port-version": 0 + }, + { + "git-tree": "87adadcaa0d7637814be55f2afc752fea130e3ad", + "version": "0.7.2", + "port-version": 0 + }, + { + "git-tree": "bc1f059cd824fffed8b4af5390b1334cacb8c7f0", + "version": "0.7.1", + "port-version": 0 + }, + { + "git-tree": "bc30d82dec40ec1b942f51873baa54eaddfa19ca", + "version": "0.7.0", + "port-version": 1 + }, + { + "git-tree": "b098e0b272a75e2c12b898a54b6b83a49f981599", + "version": "0.6.1", + "port-version": 1 + }, + { + "git-tree": "28cc725ac91ea72117083d152661ba131f8bca94", + "version": "0.5.0", + "port-version": 1 + }, + { + "git-tree": "5fdd22bd96978abf4f7d8b8fef6406eb8d79ec3f", + "version": "0.5.0", + "port-version": 0 + }, + { + "git-tree": "b74244ec99460cdaf1e81a401e423fe6975ce252", + "version": "0.4.0", + "port-version": 0 + }, + { + "git-tree": "e761e2221600a90d65726d363b996818d60e0ad7", + "version": "0.2.0", + "port-version": 0 + }, + { + "git-tree": "6ecb2c76a348fd4ac4a650ee0ee8ad0a1d785fb5", + "version": "0.1.0", + "port-version": 0 + } + ] +} diff --git a/versions/f-/fastio.json b/versions/f-/fastio.json new file mode 100644 index 00000000000000..64ec40c01c3d2c --- /dev/null +++ b/versions/f-/fastio.json @@ -0,0 +1,24 @@ +{ + "versions": [ + { + "git-tree": "f3dc0fd52b1428bad809920801be9a216fd8e0e8", + "version-date": "2024-07-05", + "port-version": 0 + }, + { + "git-tree": "d5c900f8e88aaa9a8c41a16af374634ca5120289", + "version-date": "2023-11-06", + "port-version": 0 + }, + { + "git-tree": "3cfcdfee62b62a815b8ea72c22e41a40b6c24610", + "version-date": "2023-07-06", + "port-version": 0 + }, + { + "git-tree": "03ff13377e65b89408d2b0eba2b7ad1f34201641", + "version-date": "2022-11-14", + "port-version": 0 + } + ] +} diff --git a/versions/f-/fastlz.json b/versions/f-/fastlz.json index d8485dc2c2cfb4..f8929f48db4ea3 100644 --- a/versions/f-/fastlz.json +++ b/versions/f-/fastlz.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "5a8f1e974f444b848e63429a21677172189e1836", + "version-date": "2024-08-02", + "port-version": 0 + }, + { + "git-tree": "c0b4a47d599f386343ef30714e7ad2757c07e969", + "version-date": "2021-05-10", + "port-version": 2 + }, + { + "git-tree": "85820ff391f7eb605232c0ae7e8db844ff8a4f18", + "version-date": "2021-05-10", + "port-version": 1 + }, { "git-tree": "638b6220eb5ca72dae00fb3b8bdd19834cf6b938", "version-date": "2021-05-10", diff --git a/versions/f-/fastor.json b/versions/f-/fastor.json new file mode 100644 index 00000000000000..154ce1889e725a --- /dev/null +++ b/versions/f-/fastor.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "2ead9de02797b1c0330cc52b54ec8a5670a2020c", + "version": "0.6.4", + "port-version": 0 + }, + { + "git-tree": "8e3101dc9482791ede896790efa2116909642320", + "version-date": "2021-11-22", + "port-version": 1 + }, + { + "git-tree": "9db673c173f5c27fc113f35837767d9d815e2976", + "version-date": "2021-11-22", + "port-version": 0 + } + ] +} diff --git a/versions/f-/fastrtps.json b/versions/f-/fastrtps.json index c8285d3e1e1fad..cd3444cad3ed02 100644 --- a/versions/f-/fastrtps.json +++ b/versions/f-/fastrtps.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "3ca79d1102948e72e1383c2aac8b5069932c790d", + "version": "2.14.0", + "port-version": 0 + }, + { + "git-tree": "e60f3fa00c69cc283d5ba48b642abdd8464c49f8", + "version": "2.7.0", + "port-version": 5 + }, + { + "git-tree": "2b2c27c3a92da80b837e5f14641cd6ea2b5fc6f6", + "version": "2.7.0", + "port-version": 4 + }, + { + "git-tree": "75ba9fed16853532cfc26487e85e4309289b8dd2", + "version": "2.7.0", + "port-version": 3 + }, + { + "git-tree": "443f550810af037dae538dc5555d7e069f2896ec", + "version": "2.7.0", + "port-version": 2 + }, + { + "git-tree": "b2d64bc038a30ea7ad49dc5cb923c0e13618281c", + "version": "2.7.0", + "port-version": 1 + }, + { + "git-tree": "7a1b9df69d8a4219b390a65056d837dc6c0f385c", + "version": "2.7.0", + "port-version": 0 + }, { "git-tree": "54873b953029cdd41ffee26b13af0c661de41462", "version": "2.4.0", diff --git a/versions/f-/faudio.json b/versions/f-/faudio.json new file mode 100644 index 00000000000000..5e0664826d65dc --- /dev/null +++ b/versions/f-/faudio.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "4d83b0b0c608948eb8c4759723d63d2953fd4f6c", + "version-string": "24.09", + "port-version": 0 + }, + { + "git-tree": "fbd75414e302f62f1e25db2c219f186c35d21218", + "version-string": "24.06", + "port-version": 0 + }, + { + "git-tree": "214eea54c0348aa357a862b591d0872575e2ff0e", + "version-string": "24.03", + "port-version": 0 + } + ] +} diff --git a/versions/f-/fawdlstty-libfv.json b/versions/f-/fawdlstty-libfv.json new file mode 100644 index 00000000000000..9420ff483a52bf --- /dev/null +++ b/versions/f-/fawdlstty-libfv.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "d91c20aee1a33a221803e6e89147f751e3b78549", + "version": "0.0.8", + "port-version": 0 + }, + { + "git-tree": "f763fa0612d3a1416497c810a16cdcac36936822", + "version": "0.0.6", + "port-version": 0 + } + ] +} diff --git a/versions/f-/fbgemm.json b/versions/f-/fbgemm.json index 2308259e2dce2f..f306a70e6e197d 100644 --- a/versions/f-/fbgemm.json +++ b/versions/f-/fbgemm.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "27b4707b88bb2ed527d372438c406d1a97323229", + "version": "0.4.1", + "port-version": 1 + }, + { + "git-tree": "e19b797fb42fad6dae0f9aca0890ddc62535800f", + "version": "0.4.1", + "port-version": 0 + }, + { + "git-tree": "e3afaf099d4759d2d2a57caccb7d54ca2d5b2359", + "version-date": "2021-03-18", + "port-version": 4 + }, + { + "git-tree": "89489c3afc56789dd2a8344dc89455723ec0eec3", + "version-date": "2021-03-18", + "port-version": 3 + }, { "git-tree": "8707b988ad38aae04720ce3494ef09603bd67954", "version-date": "2021-03-18", diff --git a/versions/f-/fbthrift.json b/versions/f-/fbthrift.json index e6231a686d009c..9492560e166963 100644 --- a/versions/f-/fbthrift.json +++ b/versions/f-/fbthrift.json @@ -1,5 +1,215 @@ { "versions": [ + { + "git-tree": "ec4aa5deb09787160f763dd0199a7505c7eb68fb", + "version-string": "2024.11.04.00", + "port-version": 0 + }, + { + "git-tree": "cbc002e503ff2807591c74acbfda182aaca0bba3", + "version-string": "2024.10.28.00", + "port-version": 0 + }, + { + "git-tree": "428f79fc73318175bddf0772ee71ea053c96f8f4", + "version-string": "2024.10.21.00", + "port-version": 0 + }, + { + "git-tree": "e93b8851f4d130c0516f0d3f7ea7cd11645c5ea2", + "version-string": "2024.10.14.00", + "port-version": 0 + }, + { + "git-tree": "bc4c75751db768dfccfdf9dc0cd45b5f38e3ab18", + "version-string": "2024.10.07.00", + "port-version": 0 + }, + { + "git-tree": "6da859410d8da42d16572b238e77f3a03c7e41f3", + "version-string": "2024.09.30.00", + "port-version": 0 + }, + { + "git-tree": "324afed5a4c1c5a2a062a43d871e1181a1756539", + "version-string": "2024.09.23.00", + "port-version": 0 + }, + { + "git-tree": "7b3207df9ca03b1113a3417cb488e81aca8ebb29", + "version-string": "2024.09.16.00", + "port-version": 0 + }, + { + "git-tree": "2dd6a3dfab0e06b4887aaab2b1896fd5660d231d", + "version-string": "2024.09.09.00", + "port-version": 0 + }, + { + "git-tree": "fbab3b045b008e9db45462ed1cdfb45c097ed659", + "version-string": "2024.09.02.00", + "port-version": 0 + }, + { + "git-tree": "abd041da61c46ef62adef9782d95dcc6ab3c91fd", + "version-string": "2024.08.26.00", + "port-version": 0 + }, + { + "git-tree": "5e84bd684e7afa47716e6694df17e9a2ee1e94b6", + "version-string": "2024.08.19.00", + "port-version": 0 + }, + { + "git-tree": "12d1d69679fafa77c9e4446df7020a419c828c5a", + "version-string": "2024.08.05.00", + "port-version": 0 + }, + { + "git-tree": "d9b5cc90801fcb2ef5ac271ef1f09348b1ee9536", + "version-string": "2024.07.29.00", + "port-version": 1 + }, + { + "git-tree": "7a1f82b0ff072b3576c6d07fa49d320819495ebb", + "version-string": "2024.07.29.00", + "port-version": 0 + }, + { + "git-tree": "e89ea01fd1da2d864c1eeac5ad33500f554f862c", + "version-string": "2024.07.22.00", + "port-version": 0 + }, + { + "git-tree": "613b0890df6dfb44c454f4b59cc4d9c2aa18d854", + "version-string": "2024.07.15.00", + "port-version": 0 + }, + { + "git-tree": "e46c617876244a1f44a453035152ec97346375b8", + "version-string": "2024.07.08.00", + "port-version": 0 + }, + { + "git-tree": "faa0c50ca092c1babb25133e1062441599ab7e8a", + "version-string": "2024.07.01.00", + "port-version": 0 + }, + { + "git-tree": "e21dd53c89f5ec6062a031d8a9845c3b74c4887c", + "version-string": "2024.06.24.00", + "port-version": 0 + }, + { + "git-tree": "6b6ed41278c0c0fe9738ae6384e21ecf69c9834b", + "version-string": "2024.06.17.00", + "port-version": 1 + }, + { + "git-tree": "292e464f98d56637340218fa1a82d8e9d6c35f87", + "version-string": "2024.06.17.00", + "port-version": 0 + }, + { + "git-tree": "1eaaba65a7b5a585f55d8e014eb6e0cbe450be82", + "version-string": "2024.06.10.00", + "port-version": 0 + }, + { + "git-tree": "74b87cc60a4a8f635e79fd633e0117ce128ce281", + "version-string": "2024.06.03.00", + "port-version": 0 + }, + { + "git-tree": "4a738bffe821fd4664c2d888bbb0cbce4e4e76d8", + "version-string": "2024.05.27.00", + "port-version": 0 + }, + { + "git-tree": "e41b10d9d9a06452a253a634d222d7d0c31227d2", + "version-string": "2024.05.20.00", + "port-version": 0 + }, + { + "git-tree": "cb718abbe531b32aa3431d8bcda375acd985505c", + "version-string": "2024.05.06.00", + "port-version": 0 + }, + { + "git-tree": "049e1491398790f165f99efb799b090a890d1c3e", + "version-string": "2024.05.02.00", + "port-version": 0 + }, + { + "git-tree": "46d788eccf368c936450f592656ecde3a95a169e", + "version-string": "2024.04.22.00", + "port-version": 0 + }, + { + "git-tree": "76ddc229d7bc95ce42a7f218b76aa6316a6a8911", + "version-string": "2024.04.15.00", + "port-version": 0 + }, + { + "git-tree": "824b246c1bf15c6d96a4ca1126d3e9a279663585", + "version-string": "2024.01.01.00", + "port-version": 0 + }, + { + "git-tree": "80891c5a004015fd7a5c4334de145c92474f2cec", + "version-string": "2023.10.02.00", + "port-version": 0 + }, + { + "git-tree": "c2384982312ce0a1ee08ff0da69ff562e3690ffe", + "version-string": "2023.07.03.00", + "port-version": 0 + }, + { + "git-tree": "4ad62e4d34a61f43fee3a61b14aae377ed73249a", + "version-string": "2023.05.15.00", + "port-version": 0 + }, + { + "git-tree": "74805d5c9147b3255703cdce511d9082cdfee016", + "version-string": "2022.03.21.00", + "port-version": 3 + }, + { + "git-tree": "60135cc9f7a4bf698b67d275e1ad66a542d9acb4", + "version-string": "2022.03.21.00", + "port-version": 2 + }, + { + "git-tree": "ed9295b0cad6c25b409e6e400148bb91017f3678", + "version-string": "2022.03.21.00", + "port-version": 1 + }, + { + "git-tree": "0cd01b0f0f6c77c87eea5331b75b01c9e9a20e2c", + "version-string": "2022.03.21.00", + "port-version": 0 + }, + { + "git-tree": "228608a7708d80532948eec3a0987f2e85e4a43c", + "version-string": "2022.01.31.00", + "port-version": 2 + }, + { + "git-tree": "bf1148604c897c7727621feb13713eac7e782497", + "version-string": "2022.01.31.00", + "port-version": 1 + }, + { + "git-tree": "f92f736e3c525d5ac52b546eae1e0b9cf880b382", + "version-string": "2022.01.31.00", + "port-version": 0 + }, + { + "git-tree": "3b06c9c143910647d74c5688610fc294bc493849", + "version-string": "2021.06.14.00", + "port-version": 1 + }, { "git-tree": "f57f144d8d7fe3db4534798d827e2e217f6e9b35", "version-string": "2021.06.14.00", diff --git a/versions/f-/fdk-aac.json b/versions/f-/fdk-aac.json index 31c4b7a24ff37c..82451c13eb06e1 100644 --- a/versions/f-/fdk-aac.json +++ b/versions/f-/fdk-aac.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "83ef7219dea393b1777a14abff792d146e0f39fe", + "version-semver": "2.0.2", + "port-version": 4 + }, + { + "git-tree": "557cf019e07ef3e1c865204c7509bb7920301a89", + "version-semver": "2.0.2", + "port-version": 3 + }, + { + "git-tree": "85e6f9518580daf2454d9db89b0e813d0e9d4008", + "version-semver": "2.0.2", + "port-version": 2 + }, { "git-tree": "56f6b0699ef8d63059cd4ecb1bdc7613104d7cf8", "version-semver": "2.0.2", diff --git a/versions/f-/fdlibm.json b/versions/f-/fdlibm.json index 51bdc1f0d1187f..8b80e1e0c403ae 100644 --- a/versions/f-/fdlibm.json +++ b/versions/f-/fdlibm.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "b557ee44621e4f2935b37aee54d24addcbb418d2", + "version": "5.3", + "port-version": 7 + }, + { + "git-tree": "7b714eec8a6d6d491d3efa59688b7cc94bacf460", + "version": "5.3", + "port-version": 6 + }, { "git-tree": "7edc287bacd598a942ca6b29ed47329204b07faa", "version-string": "5.3", diff --git a/versions/f-/fenster.json b/versions/f-/fenster.json new file mode 100644 index 00000000000000..6ab0302a4ff26a --- /dev/null +++ b/versions/f-/fenster.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "3b11faff9bab03806b2b3ceee86570e628b3bc7f", + "version-date": "2024-08-19", + "port-version": 0 + } + ] +} diff --git a/versions/f-/ffmpeg.json b/versions/f-/ffmpeg.json index fa79715efb5b9f..9afce4e5e4578c 100644 --- a/versions/f-/ffmpeg.json +++ b/versions/f-/ffmpeg.json @@ -1,5 +1,360 @@ { "versions": [ + { + "git-tree": "8bf6bad9b522d47e259a13d9033a825a6abd41a9", + "version": "7.1", + "port-version": 1 + }, + { + "git-tree": "2f0b2eabf82953dfedabf9ed344318d5d411373f", + "version": "7.1", + "port-version": 0 + }, + { + "git-tree": "d6af07437c8b77783c3184f4d15a2b24d6b8f317", + "version": "7.0.2", + "port-version": 7 + }, + { + "git-tree": "a269e8f98d0aabee2671587388602275bd7af837", + "version": "7.0.2", + "port-version": 6 + }, + { + "git-tree": "d4bc112c6581274674b70429dacd87e5d0715ac4", + "version": "7.0.2", + "port-version": 5 + }, + { + "git-tree": "5acfbf7401c2c1e3b37db1b2c0cd11de7c3da29e", + "version": "7.0.2", + "port-version": 4 + }, + { + "git-tree": "3bd67b806413f3013f1b3f303f757a3dd47e9f11", + "version": "7.0.2", + "port-version": 3 + }, + { + "git-tree": "c79d0466ceabb1aad30e085d2c35ce73a89b289d", + "version": "7.0.2", + "port-version": 2 + }, + { + "git-tree": "35e04580b3c51724181a21fb38b75d55e53df9af", + "version": "7.0.2", + "port-version": 1 + }, + { + "git-tree": "06d65a365249176f8903a085753cace74541b48e", + "version": "7.0.2", + "port-version": 0 + }, + { + "git-tree": "6c14224b4a8c90efabd3640a98f76eaee8607f98", + "version": "7.0", + "port-version": 0 + }, + { + "git-tree": "15b90b33b76e69c2d9b876b32c4c9b47c97846ed", + "version": "6.1.1", + "port-version": 11 + }, + { + "git-tree": "d72e74de0c3755edace24452e7bc74e0f419d65e", + "version": "6.1.1", + "port-version": 10 + }, + { + "git-tree": "0040c226f856a9459758185879970417ad5244d6", + "version": "6.1.1", + "port-version": 9 + }, + { + "git-tree": "3217e79d02494d7441026d3e0a6757ea5ec5c3fd", + "version": "6.1.1", + "port-version": 8 + }, + { + "git-tree": "43a794215eb84acb9f6e49f2aee3a3ee1ac1af92", + "version": "6.1.1", + "port-version": 7 + }, + { + "git-tree": "bad8797d669a583736212969fbbf6298497880b2", + "version": "6.1.1", + "port-version": 6 + }, + { + "git-tree": "85d4d87ea35d942b4f5ed800f6c6c7c0a00c3e5d", + "version": "6.1.1", + "port-version": 5 + }, + { + "git-tree": "f5dac82c697daa8b59321a7e13596325efb8b278", + "version": "6.1.1", + "port-version": 4 + }, + { + "git-tree": "ae4cdc508093fc27af3254a179ec568e0f7f2add", + "version": "6.1.1", + "port-version": 3 + }, + { + "git-tree": "2b85222da88d04c67c9b83d24a278c5821f5f0b0", + "version": "6.1.1", + "port-version": 2 + }, + { + "git-tree": "830c58775efe5c5e501bad472af97b064b3446bc", + "version": "6.1.1", + "port-version": 1 + }, + { + "git-tree": "1bb35d5c0d560a56e6429ca412c7bc5f3e55e930", + "version": "6.1.1", + "port-version": 0 + }, + { + "git-tree": "e749968704c8ad09bb7d2d9cfda93777fe94b563", + "version": "6.1", + "port-version": 2 + }, + { + "git-tree": "aa26e2742d2c653f1f74843dce3120c753376f50", + "version": "6.1", + "port-version": 1 + }, + { + "git-tree": "e350faae831bb8d75c4ebcee81d9161484aecdba", + "version": "6.1", + "port-version": 0 + }, + { + "git-tree": "9f33fe16e3a4e278bc2eb92b24483d00b90e9f3a", + "version": "6.0", + "port-version": 2 + }, + { + "git-tree": "70c25989395c92bd79faf0b136fb4636e96d541c", + "version": "6.0", + "port-version": 1 + }, + { + "git-tree": "515f4b8df7a66e74ef6bcde4eae3841d3a96038f", + "version": "6.0", + "port-version": 0 + }, + { + "git-tree": "713c943d5cce36c51128eea921489e0770c28857", + "version": "5.1.2", + "port-version": 10 + }, + { + "git-tree": "dfcd8db452a85e6e6a0ad751dd4610ff1b0e1662", + "version": "5.1.2", + "port-version": 9 + }, + { + "git-tree": "3ee8d10aa504c74cfef80d47e1901afa3289a544", + "version": "5.1.2", + "port-version": 8 + }, + { + "git-tree": "1fcd248f6f655e6aecb94976680b1c537da6d918", + "version": "5.1.2", + "port-version": 7 + }, + { + "git-tree": "a7e0c378cd0a6564b28c28d6d970e3d633b4382e", + "version": "5.1.2", + "port-version": 6 + }, + { + "git-tree": "14577b12f56accfce4428caf17e4b47542f365ec", + "version": "5.1.2", + "port-version": 5 + }, + { + "git-tree": "d471234dd831fd9a35453db450572b52291ed6ca", + "version": "5.1.2", + "port-version": 4 + }, + { + "git-tree": "f1ed1f91335172c9056f83efaf0c0af9a5d86d09", + "version": "5.1.2", + "port-version": 3 + }, + { + "git-tree": "7fc49d75d6cee24655b879b09ee0cd48d8d1b805", + "version": "5.1.2", + "port-version": 2 + }, + { + "git-tree": "5b241f0d72b16fbf34178d215d17f21e33d356af", + "version": "5.1.2", + "port-version": 1 + }, + { + "git-tree": "b288cec1b63010d1cb92e18256bc49a48b4bca52", + "version": "5.1.2", + "port-version": 0 + }, + { + "git-tree": "d4da48cc8448d8b126b8558bf6ddf5f2a380bf51", + "version": "5.0.2", + "port-version": 3 + }, + { + "git-tree": "02b374be0e9ee8609f53d8247a74653805f82f98", + "version": "5.0.2", + "port-version": 2 + }, + { + "git-tree": "8caa5e4f23e22c213044d4d2322a1504076dea7a", + "version": "5.0.2", + "port-version": 1 + }, + { + "git-tree": "819ed2a6da9f2cbbd43eeb9c2b561424a9efb998", + "version": "5.0.2", + "port-version": 0 + }, + { + "git-tree": "f9ec761c4698e9009ab1b2fcf9f8a59ce5995bde", + "version": "5.0.0", + "port-version": 0 + }, + { + "git-tree": "19a5928f7d1d0fd72837a29a54413b9fa53eb7da", + "version": "4.4.3", + "port-version": 3 + }, + { + "git-tree": "0a71b1f5734a3ead9f3941a4fae62aeeede10681", + "version": "4.4.3", + "port-version": 2 + }, + { + "git-tree": "e0ba585cd7dea2dd84e0c2cf8ca462b7c1e58f1e", + "version": "4.4.3", + "port-version": 1 + }, + { + "git-tree": "7e5aad683e1959d2595ae4622e686cf35dbd9ea3", + "version": "4.4.3", + "port-version": 0 + }, + { + "git-tree": "1a56131c12116cc5ee8b86c329ee6e815ec2c17e", + "version": "4.4.1", + "port-version": 22 + }, + { + "git-tree": "8429893dd135ce02c91222b8280f2d5e224c2706", + "version": "4.4.1", + "port-version": 21 + }, + { + "git-tree": "a4a2ee724ee276834d3f5715bac6bf6ec179c31b", + "version": "4.4.1", + "port-version": 20 + }, + { + "git-tree": "42edfcee5ee9a8884b7c1733c6b560092cad9576", + "version": "4.4.1", + "port-version": 19 + }, + { + "git-tree": "65fe58cd3c36c19b6ad4b104b9ff57c506009e9a", + "version": "4.4.1", + "port-version": 18 + }, + { + "git-tree": "197609d70edc506c0257721d873b1eb3b93ba4b8", + "version": "4.4.1", + "port-version": 17 + }, + { + "git-tree": "0aee15f22c29078cc18d6324f3f622ef6e94deba", + "version": "4.4.1", + "port-version": 16 + }, + { + "git-tree": "d42747aed3213bf6d62a4a986fb915bdfd854a08", + "version": "4.4.1", + "port-version": 15 + }, + { + "git-tree": "bd232549fb2bcffed0dcfac1e7e6a54f5a91b5cc", + "version": "4.4.1", + "port-version": 14 + }, + { + "git-tree": "ad64f5ffe64b5fcd97e2e6d98273b70d498d6af0", + "version": "4.4.1", + "port-version": 13 + }, + { + "git-tree": "84064f1dfced06504fd3d76b60f8e21b37c22c2b", + "version": "4.4.1", + "port-version": 12 + }, + { + "git-tree": "4be11b342853200f575143c5bb5353b044621293", + "version": "4.4.1", + "port-version": 11 + }, + { + "git-tree": "d525f98e7146a1fd731febe7c472232142d62821", + "version": "4.4.1", + "port-version": 10 + }, + { + "git-tree": "558575c9b18b2ff734d48fe175e61f5a11c02ce4", + "version": "4.4.1", + "port-version": 9 + }, + { + "git-tree": "03b7a2329bc927de9637d45738c23e607e4f4387", + "version": "4.4.1", + "port-version": 8 + }, + { + "git-tree": "8b692478001452049ea19d32ec199f58c5de3a77", + "version": "4.4.1", + "port-version": 7 + }, + { + "git-tree": "f81278fe4661e442e3bd6ea274af6b397e4e3ff5", + "version": "4.4.1", + "port-version": 6 + }, + { + "git-tree": "9e9f11b54d40824604dc895ac7f9f0a39dc21486", + "version": "4.4.1", + "port-version": 5 + }, + { + "git-tree": "d7e12377ceb86caf3720807cb4be9f0f51c93798", + "version": "4.4.1", + "port-version": 4 + }, + { + "git-tree": "00480edd2a451f2a3a55452779f524709ee52585", + "version": "4.4.1", + "port-version": 3 + }, + { + "git-tree": "7576aa6e0cfa9b2e58abe51484cab6fd16337465", + "version": "4.4.1", + "port-version": 2 + }, + { + "git-tree": "c73820dc30c5ade90b5ae3da082420669b78d953", + "version": "4.4.1", + "port-version": 1 + }, { "git-tree": "e39b9e35530239498574713a75bd9160f23e1d20", "version": "4.4.1", diff --git a/versions/f-/ffnvcodec.json b/versions/f-/ffnvcodec.json index c249b192e93062..6dce36478205ba 100644 --- a/versions/f-/ffnvcodec.json +++ b/versions/f-/ffnvcodec.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "5cbb2a7f0ed07795c560971fddd1c6021c37fbfb", + "version": "12.2.72.0", + "port-version": 0 + }, + { + "git-tree": "95b6f37a43dab098bf4be5c84e15e47a86cf7960", + "version": "12.1.14.0", + "port-version": 0 + }, + { + "git-tree": "1e9c042e433dca081ec8f18d57d19851bc6182a3", + "version": "11.1.5.3", + "port-version": 0 + }, + { + "git-tree": "129a409f9a9a143a3964c7d6cdb5fef51c777cc4", + "version": "11.1.5.2", + "port-version": 0 + }, + { + "git-tree": "9f49e200522747c711e28db563004ce1f5a2f816", + "version": "11.1.5.0", + "port-version": 1 + }, { "git-tree": "b86f38b94c28605c5f3b2bc060b8e43e26e0ad42", "version": "11.1.5.0", diff --git a/versions/f-/fftw3.json b/versions/f-/fftw3.json index ecf57550990fb0..2e6592463e66fa 100644 --- a/versions/f-/fftw3.json +++ b/versions/f-/fftw3.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "d64246f2b42f53756787bd4f886488846a789030", + "version": "3.3.10", + "port-version": 9 + }, + { + "git-tree": "824a4cda47df1a63c0b13f2a603e7d0fb0dac900", + "version": "3.3.10", + "port-version": 8 + }, + { + "git-tree": "5b1eac37609e9187b1ddf4666cc564ce6e07e891", + "version": "3.3.10", + "port-version": 7 + }, + { + "git-tree": "a23ec27bf6a069ab7b60cc7c3b890a9224bf341c", + "version": "3.3.10", + "port-version": 6 + }, + { + "git-tree": "8dcd10c7fca8d58af1f601a45a74148942cff752", + "version": "3.3.10", + "port-version": 5 + }, + { + "git-tree": "1ab09732ff55a9c0ff0fadd66623f38773338649", + "version": "3.3.10", + "port-version": 4 + }, + { + "git-tree": "2bd307eb2dafcd4938d16fc484fbbb731228f4c3", + "version": "3.3.10", + "port-version": 3 + }, { "git-tree": "3cd11b90c63cec797697dc3235ae1e22e4a509fc", "version": "3.3.10", diff --git a/versions/f-/fftwpp.json b/versions/f-/fftwpp.json index 5427eaba1d2d48..696a59c994cb89 100644 --- a/versions/f-/fftwpp.json +++ b/versions/f-/fftwpp.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "e7eb11bd6344e0d4db5a9e510a980ec2fedfdf90", + "version-date": "2019-12-19", + "port-version": 2 + }, { "git-tree": "d9b689681032352f667f7335feed82d0260fe5bf", "version-string": "2019-12-19", diff --git a/versions/f-/field3d.json b/versions/f-/field3d.json index 380afc32399615..e26752a6bc1546 100644 --- a/versions/f-/field3d.json +++ b/versions/f-/field3d.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "272cb43e1adfe3c332af92658966a37ab59b8a53", + "version": "1.7.3", + "port-version": 3 + }, { "git-tree": "54a68f2c7d892d5876ff65ad373907bdcfc1b17e", "version-string": "1.7.3", diff --git a/versions/f-/fineftp.json b/versions/f-/fineftp.json new file mode 100644 index 00000000000000..44056b036ad197 --- /dev/null +++ b/versions/f-/fineftp.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "379dd5cfe0c3cad96197e14aa9782daf51daca3d", + "version": "1.3.4", + "port-version": 0 + } + ] +} diff --git a/versions/f-/fins.json b/versions/f-/fins.json new file mode 100644 index 00000000000000..09eb82bf856fd1 --- /dev/null +++ b/versions/f-/fins.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "116698010e51dae8ec84b81e8224e5f84a1a4d97", + "version-date": "2023-07-31", + "port-version": 0 + } + ] +} diff --git a/versions/f-/fixed-containers.json b/versions/f-/fixed-containers.json new file mode 100644 index 00000000000000..df4de26c66415d --- /dev/null +++ b/versions/f-/fixed-containers.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "df7eaca532d35f09faf63721a245c1fccafddc29", + "version-date": "2024-09-19", + "port-version": 0 + } + ] +} diff --git a/versions/f-/fixed-string.json b/versions/f-/fixed-string.json index 9cf1230d9cca5c..2ba86ed061ed8e 100644 --- a/versions/f-/fixed-string.json +++ b/versions/f-/fixed-string.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "dd3abbab052dee3c26babb29ed11725fbc82bcde", + "version": "0.1.1", + "port-version": 0 + }, { "git-tree": "e24d1c3d1692a06fa69dc12b65e4240a92db31bf", "version-string": "0.1.0", diff --git a/versions/f-/fizz.json b/versions/f-/fizz.json index 076a17f99ede8e..6780b4cff167ce 100644 --- a/versions/f-/fizz.json +++ b/versions/f-/fizz.json @@ -1,5 +1,200 @@ { "versions": [ + { + "git-tree": "5a57dd398152dbc084ca5fde05b108ee3dd75903", + "version-string": "2024.11.04.00", + "port-version": 0 + }, + { + "git-tree": "c4effe7fdf2e7f2b303ae14a09c9976715c99455", + "version-string": "2024.10.28.00", + "port-version": 0 + }, + { + "git-tree": "17c66843a7df86acd28ccb6a68ff81f2c3e0fe6d", + "version-string": "2024.10.21.00", + "port-version": 0 + }, + { + "git-tree": "a980fe04f8d156378c1e0cfe32427c1271a8798a", + "version-string": "2024.10.14.00", + "port-version": 0 + }, + { + "git-tree": "0f9b145acd04fdea428cd27b7fca22d37b2f1e80", + "version-string": "2024.10.07.00", + "port-version": 0 + }, + { + "git-tree": "9400166b4d4bb78fb5d4fa643b2ce5dde98f1ae9", + "version-string": "2024.09.30.00", + "port-version": 0 + }, + { + "git-tree": "94e28ef195727dd9e771c537fdc8ca45500748df", + "version-string": "2024.09.23.00", + "port-version": 0 + }, + { + "git-tree": "99bc5ceddd4c4b50c194ea05bc7fe84e90ff0b95", + "version-string": "2024.09.16.00", + "port-version": 0 + }, + { + "git-tree": "ec904b8256271917e3480f318c152a09ac55c8be", + "version-string": "2024.09.09.00", + "port-version": 0 + }, + { + "git-tree": "bab275f847642bc0057f4f176df9ac11b440ef91", + "version-string": "2024.09.02.00", + "port-version": 0 + }, + { + "git-tree": "e1f06cb87426fecaa4093e8be00025d456d59725", + "version-string": "2024.08.26.00", + "port-version": 0 + }, + { + "git-tree": "8c80a57ab6fc316f8ae556324579868170e0b6c3", + "version-string": "2024.08.19.00", + "port-version": 0 + }, + { + "git-tree": "d70e5cc1bb1d1bda39150c654e606b7db4d1cdcc", + "version-string": "2024.08.05.00", + "port-version": 0 + }, + { + "git-tree": "01091f7b48f4960e6e0a8763dbb3e7aee3e6e834", + "version-string": "2024.07.29.00", + "port-version": 1 + }, + { + "git-tree": "fad13c6c795653b7165a4f1cdefbe11c1270803d", + "version-string": "2024.07.29.00", + "port-version": 0 + }, + { + "git-tree": "f3bb08b7495be103e0bd588ef2003bb30a5cb4c0", + "version-string": "2024.07.22.00", + "port-version": 0 + }, + { + "git-tree": "e92daece56f17f3b31c7c88f79dd5d2d99b7badc", + "version-string": "2024.07.15.00", + "port-version": 0 + }, + { + "git-tree": "fb3438ce20119e412dcfb0a214345b397e78c8c7", + "version-string": "2024.07.08.00", + "port-version": 0 + }, + { + "git-tree": "f29188a411853ffd34395c1586a43050e4d5b837", + "version-string": "2024.07.01.00", + "port-version": 0 + }, + { + "git-tree": "717c499e36e42552beeb1acb31bb6e0e39a5b540", + "version-string": "2024.06.24.00", + "port-version": 0 + }, + { + "git-tree": "1f1440a06c206a82a9c12f6f0b734c0f4401275e", + "version-string": "2024.06.17.00", + "port-version": 0 + }, + { + "git-tree": "03bdd538dce630a47fa807434608713535b6c388", + "version-string": "2024.06.10.00", + "port-version": 0 + }, + { + "git-tree": "a717e0fe8f87b7d61e94a15da226948233a7218c", + "version-string": "2024.06.03.00", + "port-version": 0 + }, + { + "git-tree": "a7fe8b389fcfe181c895bada312083536fd29556", + "version-string": "2024.05.27.00", + "port-version": 0 + }, + { + "git-tree": "b014fa7dd0e31cda7f090ce6a3e709829349d2e3", + "version-string": "2024.05.20.00", + "port-version": 0 + }, + { + "git-tree": "2c9e978e5e5bd352b95f4373305778921dc2505d", + "version-string": "2024.05.06.00", + "port-version": 0 + }, + { + "git-tree": "2c6d5d808426b7aaad2b77a62d9938c88122a168", + "version-string": "2024.05.02.00", + "port-version": 0 + }, + { + "git-tree": "e97f6bbb5b231d75fc5918ec667d3b744696a29f", + "version-string": "2024.04.22.00", + "port-version": 0 + }, + { + "git-tree": "5a404f853e980e3898081e175fc198187746a021", + "version-string": "2024.04.15.00", + "port-version": 0 + }, + { + "git-tree": "b3a03c5a987e674153efbc6e8a9ab1ed9655b0b0", + "version-string": "2024.01.01.00", + "port-version": 0 + }, + { + "git-tree": "1d8026070e16e8f91275e5f97699bfd5452166d4", + "version-string": "2023.10.02.00", + "port-version": 0 + }, + { + "git-tree": "813216afa42f8549aac52519655ab62f8d552c64", + "version-string": "2023.07.03.00", + "port-version": 0 + }, + { + "git-tree": "81e1764f1bcde018ea8a73fc36c4f4d14b03e978", + "version-string": "2023.05.15.00", + "port-version": 0 + }, + { + "git-tree": "df45ebd305a5416215667058e31729d6f28f7b64", + "version-string": "2022.10.31.00", + "port-version": 1 + }, + { + "git-tree": "aa78418cc3a270fb236d03b946e1658feabd19dc", + "version-string": "2022.10.31.00", + "port-version": 0 + }, + { + "git-tree": "3a4e5784b588827080b88e75299923149b842c4d", + "version-string": "2022.03.21.00", + "port-version": 1 + }, + { + "git-tree": "57fdd6342f89ccc3569b1a3416be67cd8dd7b59d", + "version-string": "2022.01.31.00", + "port-version": 1 + }, + { + "git-tree": "14651559e385107d92830b5464007f7b49a1ce4c", + "version-string": "2022.01.31.00", + "port-version": 0 + }, + { + "git-tree": "8472de52ae8a7914ab4c87e23be8250ae497a0aa", + "version-string": "2021.06.14.00", + "port-version": 1 + }, { "git-tree": "522047f79c1dde2cfbc509a21b4f1faf910efb12", "version-string": "2021.06.14.00", diff --git a/versions/f-/flagpp.json b/versions/f-/flagpp.json new file mode 100644 index 00000000000000..325d9a9f0576b6 --- /dev/null +++ b/versions/f-/flagpp.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "faf42d8daa5b595fe7225a10072be86387a41947", + "version": "2.1", + "port-version": 0 + } + ] +} diff --git a/versions/f-/flann.json b/versions/f-/flann.json index 19f01d96b347cf..94e299066fe60b 100644 --- a/versions/f-/flann.json +++ b/versions/f-/flann.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "827bba7345ec924adeee28bacb5b0a79f705920d", + "version-date": "2019-04-07", + "port-version": 7 + }, + { + "git-tree": "300415ad416640a5b4a4f0895a3250b306726181", + "version-date": "2019-04-07", + "port-version": 6 + }, + { + "git-tree": "b31eace0fd51c64ee799affea9ef2127dab68a25", + "version-date": "2019-04-07", + "port-version": 5 + }, + { + "git-tree": "9ceb0dabb980c9cdfb5d9cf1a23e66ec90e75285", + "version-date": "2019-04-07", + "port-version": 4 + }, { "git-tree": "7677f18c73aa0d5216af138b2fba9bcea56e3f1b", "version-date": "2019-04-07", diff --git a/versions/f-/flash-runtime-extensions.json b/versions/f-/flash-runtime-extensions.json new file mode 100644 index 00000000000000..c2f0d09cc4d0d7 --- /dev/null +++ b/versions/f-/flash-runtime-extensions.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "ae5a85fa619355c266c5232762456120280d4046", + "version": "2.4", + "port-version": 1 + }, + { + "git-tree": "39452440462486913d797009f7e4676d95f1ad7b", + "version": "2.4", + "port-version": 0 + } + ] +} diff --git a/versions/f-/flashlight-cpu.json b/versions/f-/flashlight-cpu.json index af315e2b94a47c..8b648b3f5c662f 100644 --- a/versions/f-/flashlight-cpu.json +++ b/versions/f-/flashlight-cpu.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "fdd9cc7867f46f759c1376e35cd098e79a8adacd", + "version": "0.3", + "port-version": 5 + }, + { + "git-tree": "39bf5a47d9bf74db777caf107115e55fdedcf98e", + "version": "0.3", + "port-version": 4 + }, + { + "git-tree": "217b238dc2abf773a66a004f21d4c89dcc9324e3", + "version": "0.3", + "port-version": 3 + }, { "git-tree": "b37aa1e8b06ce24319b6969ed0fa87664e4ec308", "version": "0.3", diff --git a/versions/f-/flashlight-cuda.json b/versions/f-/flashlight-cuda.json index 0844f0264d8377..9b4d91f07631ac 100644 --- a/versions/f-/flashlight-cuda.json +++ b/versions/f-/flashlight-cuda.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "c6d4ea65707f91031fb354aaeb2c76897256d861", + "version": "0.3", + "port-version": 6 + }, + { + "git-tree": "97fa08fe5524aef7cbaa3d1b428d2b65245f2708", + "version": "0.3", + "port-version": 5 + }, + { + "git-tree": "0c59cec24c52379832bb5b227963c0b6681346a7", + "version": "0.3", + "port-version": 4 + }, { "git-tree": "afbc9bcce8e115033ecd9d1c64c2b4375c556e67", "version": "0.3", diff --git a/versions/f-/flashlight-sequence.json b/versions/f-/flashlight-sequence.json new file mode 100644 index 00000000000000..85310ded353d6f --- /dev/null +++ b/versions/f-/flashlight-sequence.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "0391c7bfa30bca396dadf39e7d9844cc7b43b38a", + "version": "0.0.1", + "port-version": 0 + } + ] +} diff --git a/versions/f-/flashlight-text.json b/versions/f-/flashlight-text.json new file mode 100644 index 00000000000000..b9db5df589cccd --- /dev/null +++ b/versions/f-/flashlight-text.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "fdf18ae36763962256b235eec31becbe02f2534d", + "version": "0.0.4", + "port-version": 0 + } + ] +} diff --git a/versions/f-/flat.json b/versions/f-/flat.json new file mode 100644 index 00000000000000..7c710f9a078aad --- /dev/null +++ b/versions/f-/flat.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "c433fd060ea2d62e51b5301cec47da8c1a922acb", + "version-date": "2022-08-30", + "port-version": 0 + }, + { + "git-tree": "0e7a31d2afadc58f808facb7381a039d5f72eb36", + "version-date": "2022-06-10", + "port-version": 0 + } + ] +} diff --git a/versions/f-/flatbuffers.json b/versions/f-/flatbuffers.json index f6805b6df702c0..3d6ca809b54924 100644 --- a/versions/f-/flatbuffers.json +++ b/versions/f-/flatbuffers.json @@ -1,5 +1,70 @@ { "versions": [ + { + "git-tree": "f8e85b45608b4005d8e8b4a96cfe11a5c2686e92", + "version": "24.3.25", + "port-version": 0 + }, + { + "git-tree": "2f827d9a5f37614af7cdb44c15075dbaac88d740", + "version": "23.5.26", + "port-version": 1 + }, + { + "git-tree": "5146d5516c8570263780a1cdf73df98d70936e07", + "version": "23.5.26", + "port-version": 0 + }, + { + "git-tree": "787f5c089a87c5896ef5f0f8b200de1d1081158c", + "version": "23.5.9", + "port-version": 0 + }, + { + "git-tree": "007f5be0ca9f1fb0e4cd747153edafe584f3e090", + "version": "23.3.3", + "port-version": 0 + }, + { + "git-tree": "8079babd92cd3c1a80b224beb8f034b1a912a8b6", + "version": "23.1.21", + "port-version": 2 + }, + { + "git-tree": "c8dd8a45a079d9ec27da5352d1d61eb24ff94f5d", + "version": "23.1.21", + "port-version": 1 + }, + { + "git-tree": "a982b9c31851fcc6ac96cfc1a05fc44144ef1512", + "version": "23.1.21", + "port-version": 0 + }, + { + "git-tree": "ea66df31df93dca4ac16469f5655ac91cdd8e024", + "version": "23.1.4", + "port-version": 0 + }, + { + "git-tree": "fe5da09bde98af97c3c3edf1d70f4d986629fdb9", + "version": "22.10.26", + "port-version": 1 + }, + { + "git-tree": "10986755c27e0640b243331ef23716d3dcbdcba9", + "version": "22.10.26", + "port-version": 0 + }, + { + "git-tree": "288dddf9e3a03a41f09b5f61547bf8d6b7b888c3", + "version": "2.0.6", + "port-version": 0 + }, + { + "git-tree": "8713fce3bc50837e44d958ddc745471619c511c4", + "version": "2.0.0", + "port-version": 3 + }, { "git-tree": "65234b189b0389dfa2f89f58f33e56037a03b519", "version-string": "2.0.0", diff --git a/versions/f-/flatbush.json b/versions/f-/flatbush.json new file mode 100644 index 00000000000000..9df84015281422 --- /dev/null +++ b/versions/f-/flatbush.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "64b18f219f0a4fb4f582364c6e3b0e636700cd86", + "version": "1.2.1", + "port-version": 0 + }, + { + "git-tree": "f9a8b3e1671e29e5a3ad36935f66f7d7bac0e0ab", + "version": "1.2.0", + "port-version": 0 + }, + { + "git-tree": "8c59357025e0ee6a44855c384d3defd0a9ee525d", + "version": "1.1.2", + "port-version": 0 + } + ] +} diff --git a/versions/f-/flecs.json b/versions/f-/flecs.json new file mode 100644 index 00000000000000..e717e66ef7e77d --- /dev/null +++ b/versions/f-/flecs.json @@ -0,0 +1,109 @@ +{ + "versions": [ + { + "git-tree": "3d11e64c0c51f661e4c748c536f95354d919dfa9", + "version": "4.0.3", + "port-version": 0 + }, + { + "git-tree": "db6c6ba0ca94df28206e66bc8a06938a691b66e5", + "version": "4.0.2", + "port-version": 0 + }, + { + "git-tree": "81eb57cc956e2c094e86b32d874e2ab3a003eb41", + "version": "4.0.1", + "port-version": 0 + }, + { + "git-tree": "5b5803a6b34ec2413e7b1fe48aa63a3f4f06331e", + "version": "4.0.0", + "port-version": 1 + }, + { + "git-tree": "24af229b956345525447a09037658c5c29a29a22", + "version": "4.0.0", + "port-version": 0 + }, + { + "git-tree": "e8e826a48481a9e32f0229f9763d1761e12c094a", + "version": "3.2.12", + "port-version": 0 + }, + { + "git-tree": "c3a3d918f17431929f8f58845c4e6a857449cf3a", + "version": "3.2.11", + "port-version": 0 + }, + { + "git-tree": "6771a5d63e42bb0cfe6c732ead2b0724352f3a59", + "version": "3.2.10", + "port-version": 0 + }, + { + "git-tree": "a3e457520cb62f9b06079dc826ef63666ceb132b", + "version": "3.2.9", + "port-version": 0 + }, + { + "git-tree": "524cb7cfd119c5f71730df87f81208d2dc1c28a2", + "version": "3.2.8", + "port-version": 0 + }, + { + "git-tree": "ac488e485debfb252900bb5e9b6129f19628032b", + "version": "3.2.7", + "port-version": 0 + }, + { + "git-tree": "df4249183060e697a375b85bc597932f93d47499", + "version": "3.2.4", + "port-version": 0 + }, + { + "git-tree": "a231eef7e805676077c2db021b773fbe143413b2", + "version": "3.2.3", + "port-version": 0 + }, + { + "git-tree": "2a59e268b884b19cbc93cb11f25d838af9c09f17", + "version": "3.2.2", + "port-version": 1 + }, + { + "git-tree": "912f444db03f6f652a404608a75df8fed734a701", + "version": "3.2.2", + "port-version": 0 + }, + { + "git-tree": "800db7e769bc8e59e56d9e7aeac0b5e48ab928f8", + "version": "3.2.1", + "port-version": 0 + }, + { + "git-tree": "e1672e3bbd728fbe2c7e652160e5fd0f714e40eb", + "version": "3.2.0", + "port-version": 0 + }, + { + "git-tree": "59a86921e460254df47f94bc331e348148406914", + "version": "3.1.5", + "port-version": 0 + }, + { + "git-tree": "b6de4331741a269d57d3844a78ed832d3c6fac07", + "version": "3.1.4", + "port-version": 0 + }, + { + "git-tree": "3b287c3496003f022bc0c1c2d55a775ac591d6e8", + "version": "3.1.0", + "port-version": 0 + }, + { + "git-tree": "c39673b97267a414e46e47f526b48ca9c6b3b246", + "version": "2.4.8", + "port-version": 0 + } + ] +} diff --git a/versions/f-/flint.json b/versions/f-/flint.json index 266b67e6534e45..8653d031e30077 100644 --- a/versions/f-/flint.json +++ b/versions/f-/flint.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "282413c373b7f2f2d2d38783fc9c9d8c4492de16", + "version-semver": "2.9.0", + "port-version": 0 + }, + { + "git-tree": "76d3f8bbb7b1b87a907a338070bfd83938c66986", + "version-semver": "2.8.0", + "port-version": 2 + }, + { + "git-tree": "26e57956bebf9fb602b989791e663db8cd4f686b", + "version-semver": "2.8.0", + "port-version": 1 + }, { "git-tree": "270de68a6011ec21e64b76b4db6c99e9fd76930a", "version-semver": "2.8.0", diff --git a/versions/f-/fltk.json b/versions/f-/fltk.json index 4786b8b8c35d27..d5af27e0cede91 100644 --- a/versions/f-/fltk.json +++ b/versions/f-/fltk.json @@ -1,5 +1,50 @@ { "versions": [ + { + "git-tree": "804b0353b1336322af99c478f62a824a0cabd456", + "version": "1.3.9", + "port-version": 1 + }, + { + "git-tree": "171647047716e78f2a85309b6d3b8cb7ca1309c9", + "version": "1.3.9", + "port-version": 0 + }, + { + "git-tree": "bb00fc235046a91ebcdb47e9bcb4474b82cb81d8", + "version": "1.3.8", + "port-version": 5 + }, + { + "git-tree": "20def1217e8d9ac6306e900f9bdc5662bf593d82", + "version": "1.3.8", + "port-version": 4 + }, + { + "git-tree": "f9c84b6995e5d327678ce90845e994854555e849", + "version": "1.3.8", + "port-version": 3 + }, + { + "git-tree": "67f9090df208862fcd949bfae2214dd5fb0a3157", + "version": "1.3.8", + "port-version": 2 + }, + { + "git-tree": "86da5d186aa27c3a6a9a9903eaa2806edde44bd8", + "version": "1.3.8", + "port-version": 1 + }, + { + "git-tree": "0a6f2dbd574e17da82e99414a644fca8f8efce52", + "version": "1.3.8", + "port-version": 0 + }, + { + "git-tree": "3acdb7ac34f79b7fdf7ac043ad12b5568de92309", + "version": "1.3.7", + "port-version": 1 + }, { "git-tree": "3fff1ed0fe94c6d45ad15d6cb6f575537880f1f6", "version": "1.3.7", diff --git a/versions/f-/fluidlite.json b/versions/f-/fluidlite.json index aa2fb6e81f577d..c171f4b2267ce3 100644 --- a/versions/f-/fluidlite.json +++ b/versions/f-/fluidlite.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "2cb547c733a48a1c7448c6db9e22432bca431ea6", + "version-date": "2023-04-18", + "port-version": 0 + }, + { + "git-tree": "280ded5f814d25cc6db5336f016ed4e26b704ffe", + "version-date": "2020-08-27", + "port-version": 3 + }, { "git-tree": "6b725769d2d4d23c2bdc4adcc9ca9d02a4421868", "version-string": "2020-08-27", diff --git a/versions/f-/fluidsynth.json b/versions/f-/fluidsynth.json index d129246ee45859..0b8da54ed8facb 100644 --- a/versions/f-/fluidsynth.json +++ b/versions/f-/fluidsynth.json @@ -1,5 +1,100 @@ { "versions": [ + { + "git-tree": "46142e635f474dcc2f3c47fa6df45885bbacccac", + "version": "2.4.0", + "port-version": 0 + }, + { + "git-tree": "9d1d73e0677d9043b340490e8d4aa34dd5d07ccc", + "version": "2.3.7", + "port-version": 0 + }, + { + "git-tree": "cf13356ad9581efb282fd17c61be1bdc43648155", + "version": "2.3.6", + "port-version": 0 + }, + { + "git-tree": "9015904f6d25bf55671ce9a04665b6a9afa3c909", + "version": "2.3.5", + "port-version": 0 + }, + { + "git-tree": "a3a06acfea8bc59c70ac08c3028f9afa40134852", + "version": "2.3.4", + "port-version": 0 + }, + { + "git-tree": "48d3e215031eef593ac67de67ad986d1cd094e9f", + "version": "2.3.3", + "port-version": 0 + }, + { + "git-tree": "89822d934c8cfc857147fb1aa1baed78694b0b51", + "version": "2.3.2", + "port-version": 3 + }, + { + "git-tree": "eb9b815d5af8da59d2cb5a42361a9c88e7d6a1f4", + "version": "2.3.2", + "port-version": 2 + }, + { + "git-tree": "0deaa03650b97bd28bcaa13d05fb3502f8651e48", + "version": "2.3.2", + "port-version": 1 + }, + { + "git-tree": "f52a32808a5cca54bfe78d97e3201abce4dc7c34", + "version": "2.3.2", + "port-version": 0 + }, + { + "git-tree": "f7f1e0961e62f96d41646e7eb07ac177e5b240e2", + "version": "2.3.1", + "port-version": 2 + }, + { + "git-tree": "d165bef87ad633962767f10a3036a2e69f38b7e3", + "version": "2.3.1", + "port-version": 1 + }, + { + "git-tree": "bb16308067c170bdc65b1a9e1a0db2fc124f2c6b", + "version": "2.3.1", + "port-version": 0 + }, + { + "git-tree": "c9629205f0ca376ee2139ec80c48229f5723eecf", + "version": "2.2.8", + "port-version": 0 + }, + { + "git-tree": "ad0fa73283950f13ecfff01deb0688c30a57c330", + "version": "2.2.6", + "port-version": 2 + }, + { + "git-tree": "e5c0f85546fe88c0e9aaf67734a929f2b717b1ef", + "version": "2.2.6", + "port-version": 1 + }, + { + "git-tree": "7740f8dfb97fa273a9f9ed740ade48f9953ff393", + "version": "2.2.6", + "port-version": 0 + }, + { + "git-tree": "5ffab5df62c9846a6daa5acbd13fd6966594ed77", + "version": "2.2.4", + "port-version": 1 + }, + { + "git-tree": "58a7811a7b66e82115753272bd70dda10075217b", + "version": "2.2.4", + "port-version": 0 + }, { "git-tree": "d9e09f93f0880db415faf7f65f4dd483a5b2882a", "version": "2.2.1", diff --git a/versions/f-/flux.json b/versions/f-/flux.json new file mode 100644 index 00000000000000..47af67b1ca9a2a --- /dev/null +++ b/versions/f-/flux.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "f116a561b078c42d622ad8bce61e4e33dc2b0121", + "version": "0.4.0", + "port-version": 0 + }, + { + "git-tree": "3be6cb846e140bc6b745f684bbd4141cae6c4dbd", + "version-date": "2023-08-25", + "port-version": 0 + } + ] +} diff --git a/versions/f-/fmem.json b/versions/f-/fmem.json index 7f4d3a6ae2e4bc..58781db39cb83c 100644 --- a/versions/f-/fmem.json +++ b/versions/f-/fmem.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "167b469ebdee2b6b9400980dba003882576bc803", + "version-string": "c-libs-2ccee3d2fb", + "port-version": 3 + }, + { + "git-tree": "c55d5bf565b64649e07fab3056d5f8cbc802f9ae", + "version-string": "c-libs-2ccee3d2fb", + "port-version": 2 + }, { "git-tree": "eedcb4d269e8f834eaeaceb6fd3b3f477c46b8b4", "version-string": "c-libs-2ccee3d2fb", diff --git a/versions/f-/fmilib.json b/versions/f-/fmilib.json index a2513cd660a11c..4d03231980f0ff 100644 --- a/versions/f-/fmilib.json +++ b/versions/f-/fmilib.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "e875efe56416de71aa671c57a77817c67290f0a9", + "version": "2.4.1", + "port-version": 2 + }, + { + "git-tree": "aa8b7d569a23fd953d1e4de558a034a6d9f95e33", + "version": "2.4.1", + "port-version": 1 + }, + { + "git-tree": "34b7f7cc468b8eecb267b5fd750cb1e602d36248", + "version": "2.4.1", + "port-version": 0 + }, + { + "git-tree": "c30d1f2f0827e03141bda90fe3ae2b462f93c116", + "version": "2.0.3", + "port-version": 5 + }, { "git-tree": "9bf58761098e936528140d847911dab3613f5983", "version-string": "2.0.3", diff --git a/versions/f-/fmt.json b/versions/f-/fmt.json index 563687b9ed0529..8037abb4cc3fa6 100644 --- a/versions/f-/fmt.json +++ b/versions/f-/fmt.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "07a73a7565e5de9eb42e90c16c133bdfdfebbcda", + "version": "11.0.2", + "port-version": 1 + }, + { + "git-tree": "65fe4dea09fc09a30e6ece9ac19edb7ad6a49601", + "version": "11.0.2", + "port-version": 0 + }, + { + "git-tree": "f6f4efa01a5e9ac627f0c6687af8b6b317fbbe42", + "version": "10.2.1", + "port-version": 2 + }, + { + "git-tree": "74cfe848ded3d9610b11e442aa6b2341cfa65b1b", + "version": "10.2.1", + "port-version": 1 + }, + { + "git-tree": "405156a2b01c91258bf66768ceb3ae75c1caba7f", + "version": "10.2.1", + "port-version": 0 + }, + { + "git-tree": "f91bb86075f45f6fad0c35ab9e87d8ea43c9d389", + "version": "10.2.0", + "port-version": 0 + }, + { + "git-tree": "dfe9aa860f5a8317f341a21d317be1cf44e89f18", + "version": "10.1.1", + "port-version": 0 + }, + { + "git-tree": "d8209382ca192426861c6aa91d217ea8512bda46", + "version": "10.1.0", + "port-version": 0 + }, + { + "git-tree": "eedb31bb1318118ec6a2d1bec60ab12e484092fd", + "version": "10.0.0", + "port-version": 0 + }, + { + "git-tree": "3f452404270b508daf355b72031ad3ee7d0d5751", + "version": "9.1.0", + "port-version": 1 + }, + { + "git-tree": "b098485b148fcd89fc3e872232dd4f2687a1bb1b", + "version": "9.1.0", + "port-version": 0 + }, + { + "git-tree": "9268e89cdadcbb0a54357f47b343004200970a02", + "version": "9.0.0", + "port-version": 0 + }, + { + "git-tree": "1f0a5cf3aa202e9833dcc5d3fa36688ecf295ca4", + "version": "8.1.1", + "port-version": 2 + }, + { + "git-tree": "602d9743b7957c9e82a06d0e81d58637c6df5222", + "version": "8.1.1", + "port-version": 1 + }, + { + "git-tree": "9748716da169977423d02b3c3f0de7b7f274e34e", + "version": "8.1.1", + "port-version": 0 + }, + { + "git-tree": "3aa440d7c335eb584170ae5fdf4eea6a17c900ee", + "version": "8.1.0", + "port-version": 0 + }, { "git-tree": "105214e3085a1404bca0fa89e7d80aa016e8cacb", "version-semver": "8.0.1", diff --git a/versions/f-/folly.json b/versions/f-/folly.json index 689c82a265ba9b..a8201d22471e49 100644 --- a/versions/f-/folly.json +++ b/versions/f-/folly.json @@ -1,5 +1,320 @@ { "versions": [ + { + "git-tree": "9ca09c920d702b4156f710daf3b17ebb439bc8ba", + "version-string": "2024.11.04.00", + "port-version": 1 + }, + { + "git-tree": "399b1bcab72dccdda31bd83e2873b9cc2cf292bf", + "version-string": "2024.11.04.00", + "port-version": 0 + }, + { + "git-tree": "9e610aa85d661f166a3cef3a74002f890fec4679", + "version-string": "2024.10.28.00", + "port-version": 0 + }, + { + "git-tree": "5b8ac8c1be29d2b5e99065da0a980e8771de3a92", + "version-string": "2024.10.21.00", + "port-version": 0 + }, + { + "git-tree": "2f7ed360ddd1e7bf4dd0c9b35aaa9a8bd7e3fc92", + "version-string": "2024.10.14.00", + "port-version": 1 + }, + { + "git-tree": "0cd7435de58f63add1ed638ac479505fbbc3a26d", + "version-string": "2024.10.14.00", + "port-version": 0 + }, + { + "git-tree": "c1728c51eda0e3195c97dfdb580113f5a29d267c", + "version-string": "2024.10.07.00", + "port-version": 0 + }, + { + "git-tree": "89e5d57a4e801e9f33fd775484532fca2fe50a23", + "version-string": "2024.09.30.00", + "port-version": 0 + }, + { + "git-tree": "4cc08ef956914a8805f99a52372d3aef51a6f67b", + "version-string": "2024.09.23.00", + "port-version": 1 + }, + { + "git-tree": "c1d8414e47563364104aa5a263b3fe7bfa0db784", + "version-string": "2024.09.23.00", + "port-version": 0 + }, + { + "git-tree": "1240ab18398982f4a1f4c4cd9bd7f1cdf63f6664", + "version-string": "2024.09.16.00", + "port-version": 1 + }, + { + "git-tree": "bdb6486a9cc0a710f19f521818547b7e0402e611", + "version-string": "2024.09.16.00", + "port-version": 0 + }, + { + "git-tree": "3ad6474b38bcc82fbe6308e6f9b1b3b7574c731a", + "version-string": "2024.09.09.00", + "port-version": 0 + }, + { + "git-tree": "fd1f6b565af8aa31c33469136f82beebe0e60dc5", + "version-string": "2024.09.02.00", + "port-version": 0 + }, + { + "git-tree": "3853e408c3b7432b3db7080a38252eb07cbe31d8", + "version-string": "2024.08.26.00", + "port-version": 1 + }, + { + "git-tree": "fc8cca13cb39a5e46abdeaedbd23156c5260ff47", + "version-string": "2024.08.26.00", + "port-version": 0 + }, + { + "git-tree": "5b62f12fba0a611b89e8b5ffcbb74b11d3fa3e9a", + "version-string": "2024.08.19.00", + "port-version": 0 + }, + { + "git-tree": "c7154490b97a5dd38fdd977ee601bae786a37c6e", + "version-string": "2024.08.12.00", + "port-version": 0 + }, + { + "git-tree": "e88e067a6f7efebd9599bcfd8ec9b8b2f7b23fba", + "version-string": "2024.08.05.00", + "port-version": 0 + }, + { + "git-tree": "145b025ac9e58f82128d1594a9a1d320c0e8f759", + "version-string": "2024.07.29.00", + "port-version": 1 + }, + { + "git-tree": "4ae71f31a0f70250d2cd0f9374d0b30d328ba48f", + "version-string": "2024.07.29.00", + "port-version": 0 + }, + { + "git-tree": "a9c06e032778c3115795b022c3dbd50167633f0d", + "version-string": "2024.07.22.00", + "port-version": 0 + }, + { + "git-tree": "748025cac899f51cbaa9a5fcd151e2bb7d43b85a", + "version-string": "2024.07.15.00", + "port-version": 0 + }, + { + "git-tree": "bf80eb8ce23617b9ed0623118c3d8c2347265767", + "version-string": "2024.07.08.00", + "port-version": 0 + }, + { + "git-tree": "4725741c3674a8bfcfeec571af44330f8f7c3779", + "version-string": "2024.07.01.00", + "port-version": 0 + }, + { + "git-tree": "bcb430e2d5fe8557c51952641a32f7275d03d59a", + "version-string": "2024.06.24.00", + "port-version": 1 + }, + { + "git-tree": "12071c37520ffcc065e785ebef788d96a81ffe8b", + "version-string": "2024.06.24.00", + "port-version": 0 + }, + { + "git-tree": "c7db0e33d618f37330fa3badd2c7ddd296694f1d", + "version-string": "2024.06.17.00", + "port-version": 0 + }, + { + "git-tree": "ec868ed98a722eef2e85bc0a2ad929388201d260", + "version-string": "2024.06.10.00", + "port-version": 0 + }, + { + "git-tree": "3ccc6f6ef258b3bd62073fd6b20bfa47f35cb477", + "version-string": "2024.06.03.00", + "port-version": 0 + }, + { + "git-tree": "c26818f54f53a1efeecc43fde0bb2943d4b8afdc", + "version-string": "2024.05.27.00", + "port-version": 0 + }, + { + "git-tree": "fd56eb7bf9f9edada5ed1bafb3b1cdf07985db9d", + "version-string": "2024.05.20.00", + "port-version": 0 + }, + { + "git-tree": "ec791d8ffeccaec543e734b44e58834d78b8cab0", + "version-string": "2024.05.06.00", + "port-version": 0 + }, + { + "git-tree": "36776c750b15069d4ce01782113d963e03a757d4", + "version-string": "2024.05.02.00", + "port-version": 0 + }, + { + "git-tree": "5e4f9bd31d69378c2859796aa2d63f003a97f3c7", + "version-string": "2024.04.22.00", + "port-version": 0 + }, + { + "git-tree": "3b803b0dc89af872933e2ac7b801c606b2400d3e", + "version-string": "2024.04.15.00", + "port-version": 0 + }, + { + "git-tree": "e99a9ae70e66a41fc8bd159f89eba510d8dc2bc8", + "version-string": "2024.01.01.00", + "port-version": 3 + }, + { + "git-tree": "6498cc8e72c9193c4aacedadf34ad4477de5c657", + "version-string": "2024.01.01.00", + "port-version": 2 + }, + { + "git-tree": "d9bc612fada471c0339350d455290614c57027ac", + "version-string": "2024.01.01.00", + "port-version": 1 + }, + { + "git-tree": "14d0ea48901f854308ce005f8de818b0a0bb06b2", + "version-string": "2024.01.01.00", + "port-version": 0 + }, + { + "git-tree": "5d4dff9c56b8324d2e6b7ca2ba6ad0b60845de56", + "version-string": "2023.10.02.00", + "port-version": 1 + }, + { + "git-tree": "a909b9222ac4ded463976431d65b6b24fa486bd3", + "version-string": "2023.10.02.00", + "port-version": 0 + }, + { + "git-tree": "16c4e4b0e25b9eb99d5a4b17de525a42a1ecdf48", + "version-string": "2023.07.03.00", + "port-version": 0 + }, + { + "git-tree": "e5c2e858383fffea763ce85c2672d1d2aeead9e6", + "version-string": "2023.05.22.00", + "port-version": 1 + }, + { + "git-tree": "4af22bbbe7fd8616fc5dfdeef6c2475f4fc3a4e5", + "version-string": "2023.05.22.00", + "port-version": 0 + }, + { + "git-tree": "691eb72c1ad244629c0993986a9f33240afa4710", + "version-string": "2023.05.15.00", + "port-version": 0 + }, + { + "git-tree": "003ae8b1bc9dc0a460b5c6f6cacda76fa5931cf8", + "version-string": "2022.10.31.00", + "port-version": 7 + }, + { + "git-tree": "204d88dbc53dc5ff37c58459c1af0c6f19f446db", + "version-string": "2022.10.31.00", + "port-version": 6 + }, + { + "git-tree": "2be8536b3faaf9f907284548e4db1f49b77054c1", + "version-string": "2022.10.31.00", + "port-version": 5 + }, + { + "git-tree": "9f031566a728d2a7adf76c1026324cfc993b02a6", + "version-string": "2022.10.31.00", + "port-version": 4 + }, + { + "git-tree": "134e8cf60a376c02580a13800bf83d345bf082f9", + "version-string": "2022.10.31.00", + "port-version": 3 + }, + { + "git-tree": "fe39202619449823918182d7eb34a7eab60e1f59", + "version-string": "2022.10.31.00", + "port-version": 2 + }, + { + "git-tree": "93e3787e5d3b5f22d58c029919d3654f9c6b1500", + "version-string": "2022.10.31.00", + "port-version": 1 + }, + { + "git-tree": "b1557f1102d3f63802e9a13ab16302e4097c81a7", + "version-string": "2022.10.31.00", + "port-version": 0 + }, + { + "git-tree": "968cb6f9f5300306d010ffabc297339c40ade808", + "version-string": "2022.08.15.00", + "port-version": 1 + }, + { + "git-tree": "f046523ca3488aa4e35d11656fcb15acb5b0f4f3", + "version-string": "2022.08.15.00", + "port-version": 0 + }, + { + "git-tree": "fcb721c422a09f612a5a83519d0c163c8cc83257", + "version-string": "2022.07.11.00", + "port-version": 0 + }, + { + "git-tree": "9d2f0850a514d305b6b3b56833185aaf7f6154e1", + "version-string": "2022.03.21.00", + "port-version": 2 + }, + { + "git-tree": "c1b11303819bf16b4cde18fdc8e6511b7bb34ed7", + "version-string": "2022.03.21.00", + "port-version": 1 + }, + { + "git-tree": "bb704ec83012c1ef40ba934b0d5f3ae45471e4bd", + "version-string": "2022.03.21.00", + "port-version": 0 + }, + { + "git-tree": "10d3306d94114d0916a4691c131e233c08dc9090", + "version-string": "2022.01.31.00", + "port-version": 1 + }, + { + "git-tree": "b6f74d739ff2aef400ac83919bd9753eb1cc647f", + "version-string": "2022.01.31.00", + "port-version": 0 + }, + { + "git-tree": "c31f74183da180ea71937f3c5b6ac0c8a3619b1b", + "version-string": "2021.06.14.00", + "port-version": 4 + }, { "git-tree": "8bba15fddadde6b40f2984f6928aa24a50aa2b47", "version-string": "2021.06.14.00", diff --git a/versions/f-/font-util.json b/versions/f-/font-util.json new file mode 100644 index 00000000000000..a46821bdedd402 --- /dev/null +++ b/versions/f-/font-util.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "13ebd42f06ed8e809382f48f36c729219e1182eb", + "version": "1.4.1", + "port-version": 0 + }, + { + "git-tree": "67faf30776c5600c8cfe00f9def5143b5e36eb08", + "version": "1.3.2", + "port-version": 1 + }, + { + "git-tree": "752c6b7df7c1181d4c27b64da1c20c03137ed3c6", + "version": "1.3.2", + "port-version": 0 + } + ] +} diff --git a/versions/f-/fontconfig.json b/versions/f-/fontconfig.json index f484792148f928..4a082f468947b7 100644 --- a/versions/f-/fontconfig.json +++ b/versions/f-/fontconfig.json @@ -1,5 +1,100 @@ { "versions": [ + { + "git-tree": "443f2cc8005cd715e8786521c1c2cd990a1320a8", + "version": "2.15.0", + "port-version": 1 + }, + { + "git-tree": "2a11e54fe49673d52f0c4d2df73870f36a228990", + "version": "2.15.0", + "port-version": 0 + }, + { + "git-tree": "9e6ee3f930f4426d8b2dd399318658614e296a85", + "version": "2.14.2", + "port-version": 2 + }, + { + "git-tree": "de73339d579963e68fed652ed2e206b307a0c03f", + "version": "2.14.2", + "port-version": 1 + }, + { + "git-tree": "26490bc4c9aa1377da98980ba6e1089525fdaa55", + "version": "2.14.2", + "port-version": 0 + }, + { + "git-tree": "b97a0d2144c26df38257732da8e15f133a084782", + "version": "2.14.1", + "port-version": 2 + }, + { + "git-tree": "8d149d92c9082b4aa83474ae25f2033574a9cd84", + "version": "2.14.1", + "port-version": 1 + }, + { + "git-tree": "6e8409679e92c3870efcfeed43890c7f7bd92f43", + "version": "2.14.1", + "port-version": 0 + }, + { + "git-tree": "51b89b5deffdfb0ca92218871623ab22738d2178", + "version": "2.14.0", + "port-version": 4 + }, + { + "git-tree": "edebefba0511e2f8ee4018707fe611d0035c4dd4", + "version": "2.14.0", + "port-version": 3 + }, + { + "git-tree": "5c02d2ba027c9f390729a7e0899e63c853450dfb", + "version": "2.14.0", + "port-version": 2 + }, + { + "git-tree": "b1b1de99dba230f78c88bb9d73329bed77227ad4", + "version": "2.14.0", + "port-version": 1 + }, + { + "git-tree": "49816baac2cb555355f7e0176c5d36b2701cfceb", + "version": "2.14.0", + "port-version": 0 + }, + { + "git-tree": "8f782f79dc3a2c6834a7e5de4a941b11822067dd", + "version": "2.13.94", + "port-version": 6 + }, + { + "git-tree": "2f32046747209c234e60dc297b48d5bdc7ee4494", + "version": "2.13.94", + "port-version": 5 + }, + { + "git-tree": "41142efe19b6591f0de47857a32fecdb8bbfc717", + "version": "2.13.94", + "port-version": 4 + }, + { + "git-tree": "6b0bf8a5aa81b6f10909b6d303be77553ca26011", + "version": "2.13.94", + "port-version": 3 + }, + { + "git-tree": "bc9133bf9d7f323757e7de9992ae6dbac0a92f00", + "version": "2.13.94", + "port-version": 2 + }, + { + "git-tree": "606b2d7ca0ba11e29552311100b66d8c5052faeb", + "version": "2.13.94", + "port-version": 1 + }, { "git-tree": "73929965b1d7992064fec1f69c6225a3d73a262b", "version": "2.13.94", diff --git a/versions/f-/foonathan-lexy.json b/versions/f-/foonathan-lexy.json new file mode 100644 index 00000000000000..1417fca2049f97 --- /dev/null +++ b/versions/f-/foonathan-lexy.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "00d2625658faa9dab932071575e5ba1e57e242ff", + "version": "2022.12.1", + "port-version": 0 + }, + { + "git-tree": "debd6cde2234c74696c061ffff653159f0d8ad2e", + "version": "2022.12.0", + "port-version": 0 + } + ] +} diff --git a/versions/f-/foonathan-memory.json b/versions/f-/foonathan-memory.json index 735e3eff8e2b7a..2e14b761c73adc 100644 --- a/versions/f-/foonathan-memory.json +++ b/versions/f-/foonathan-memory.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "62a9fbf293e4ef285b97f9bc5f39294ed2893a4c", + "version": "0.7.3", + "port-version": 2 + }, + { + "git-tree": "3b259607933426427c0e9cac415275c1738a6f34", + "version": "0.7.3", + "port-version": 1 + }, + { + "git-tree": "e5d8f014667fd2e794d0e4dab67adc193731b246", + "version": "0.7.3", + "port-version": 0 + }, + { + "git-tree": "815422e5bf77feefa4e1c277832d307b6bb47438", + "version-date": "2019-07-21", + "port-version": 4 + }, + { + "git-tree": "9741bb189e28cb460ce563613aa3857e19fb9d0d", + "version-date": "2019-07-21", + "port-version": 3 + }, { "git-tree": "6e97aca605e065b0df1adaed316adc03d63b6334", "version-string": "2019-07-21", diff --git a/versions/f-/forge.json b/versions/f-/forge.json index dc16eafae943d2..e0b71ea863a4aa 100644 --- a/versions/f-/forge.json +++ b/versions/f-/forge.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "020557ffe8bd7c66464eb1a19eb1a67b3151aa25", + "version-semver": "1.0.8", + "port-version": 3 + }, + { + "git-tree": "9d711924c7973e7f5fe16131a16b90b2317caf9e", + "version-semver": "1.0.8", + "port-version": 2 + }, + { + "git-tree": "780a8dc57ae2360af3705b400bc96b03914ef45a", + "version-semver": "1.0.8", + "port-version": 1 + }, { "git-tree": "d67247c4d974ea6d75d0918865db0c7842a5ec66", "version-semver": "1.0.8", diff --git a/versions/f-/foxi.json b/versions/f-/foxi.json new file mode 100644 index 00000000000000..f1c10f5bf3ddd6 --- /dev/null +++ b/versions/f-/foxi.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "b01a376dbabc364856cd79e1099cd703e9d46053", + "version-date": "2021-12-01", + "port-version": 0 + } + ] +} diff --git a/versions/f-/fp16.json b/versions/f-/fp16.json index 2785c93e5b7465..f84859f4423497 100644 --- a/versions/f-/fp16.json +++ b/versions/f-/fp16.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "387e9258cbd17b68a16e44b7fcd6bf20662aa7b1", + "version-date": "2021-02-21", + "port-version": 2 + }, + { + "git-tree": "99eb0d42bcecc27ff7831a478884bd84a5138563", + "version-date": "2021-02-21", + "port-version": 1 + }, { "git-tree": "849acf1f87e0194fda4cd5459e51c564874c60ed", "version-date": "2021-02-21", diff --git a/versions/f-/fplus.json b/versions/f-/fplus.json index fa44222356ebfe..3f29a310e23046 100644 --- a/versions/f-/fplus.json +++ b/versions/f-/fplus.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "402c97c95b5a67356eb96cfbf9cdb748cb8f497e", + "version": "0.2.23", + "port-version": 0 + }, + { + "git-tree": "754768124cbee8d04ff59b7401e071dec918a487", + "version": "0.2.22", + "port-version": 0 + }, + { + "git-tree": "32f77339885e4a1a1b398c0be917880b991c95dc", + "version": "0.2.20-p0", + "port-version": 0 + }, + { + "git-tree": "e982e423baaf3d7728a2122368494d1c57c8e55e", + "version": "0.2.18-p0", + "port-version": 0 + }, { "git-tree": "d76810dad7926ef832d9f75966f99a763ed40cfb", "version-semver": "0.2.14-p0", diff --git a/versions/f-/freealut.json b/versions/f-/freealut.json index 6bc300bb798ce0..e7597c86da4b36 100644 --- a/versions/f-/freealut.json +++ b/versions/f-/freealut.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "4f2e347e59d7834de007c46ea8eff150b9e55487", + "version": "1.1.0", + "port-version": 4 + }, + { + "git-tree": "969ad25e70aeab73962cb7bea1df1ea30644ad20", + "version": "1.1.0", + "port-version": 3 + }, + { + "git-tree": "bb6f48903b677ac0c8560a068e53f7a028b2a5d4", + "version": "1.1.0", + "port-version": 2 + }, { "git-tree": "ba650aae9b1cf7a21c83ad0303f1bc520a82740b", "version": "1.1.0", diff --git a/versions/f-/freeglut.json b/versions/f-/freeglut.json index c2006f58908b6f..5978c238dfdbd1 100644 --- a/versions/f-/freeglut.json +++ b/versions/f-/freeglut.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "b222b77ede99ed4a9cfa085f32609a746340ee9d", + "version": "3.4.0", + "port-version": 3 + }, + { + "git-tree": "4f94eb2ebe5a99dc25049de07201fbd5fc23ccbe", + "version": "3.4.0", + "port-version": 2 + }, + { + "git-tree": "f948f7bed9cac147c0687d4b170b99bc6b59f157", + "version": "3.4.0", + "port-version": 1 + }, + { + "git-tree": "51a55df4538f3ecdeeb6d9846afd156ec3255630", + "version": "3.4.0", + "port-version": 0 + }, + { + "git-tree": "f4eceb7b1ee13b64d859833d2dce4152233c99bc", + "version": "3.2.2", + "port-version": 0 + }, { "git-tree": "bf1c06d0a07b6bc80a63c3825a4d136f5307a2f4", "version-string": "3.2.1", diff --git a/versions/f-/freeimage.json b/versions/f-/freeimage.json index bc867ec11d2651..328c123e12783a 100644 --- a/versions/f-/freeimage.json +++ b/versions/f-/freeimage.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "d1255d729b57a487ed7e6be58bb9feb8b8b3fd44", + "version": "3.18.0", + "port-version": 27 + }, + { + "git-tree": "e7b2a65974c7375dc69526c2c5390f1c7932aa1b", + "version": "3.18.0", + "port-version": 26 + }, + { + "git-tree": "423daf86bc904882a1fa9c68d56d56d7c52ac35f", + "version": "3.18.0", + "port-version": 25 + }, + { + "git-tree": "b72eaa94f12facf42b2180bf49ff9121d9477eaa", + "version": "3.18.0", + "port-version": 24 + }, + { + "git-tree": "748b7f37d074522ba08e6c4d6e6cf3afb3107da6", + "version": "3.18.0", + "port-version": 23 + }, + { + "git-tree": "9bad6f331c05331144e8bad4a2ef63d4c594cd5a", + "version": "3.18.0", + "port-version": 22 + }, { "git-tree": "7d0f28dd10d54f1f11d09875fbfafd1579e948c4", "version": "3.18.0", diff --git a/versions/f-/freeopcua.json b/versions/f-/freeopcua.json index 1ee029185b51db..f30ef68baa8b04 100644 --- a/versions/f-/freeopcua.json +++ b/versions/f-/freeopcua.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "adfdfa8138aa47929d7e6f1e03809d00c6bf8aa2", + "version": "20190125", + "port-version": 7 + }, + { + "git-tree": "3a355dca9d180e973ffaf9ab282c03575d75aa86", + "version": "20190125", + "port-version": 6 + }, { "git-tree": "15fe1dbb4b4b3283072825b22ef29acdf5835950", "version-string": "20190125", diff --git a/versions/f-/freerdp.json b/versions/f-/freerdp.json index 738592d7be39cb..80c2330d52aa71 100644 --- a/versions/f-/freerdp.json +++ b/versions/f-/freerdp.json @@ -1,5 +1,100 @@ { "versions": [ + { + "git-tree": "29289f0bc351348dce1ddfff4630e85fd33cbb2e", + "version": "3.8.0", + "port-version": 0 + }, + { + "git-tree": "440881d33c525ec8f3d832776f021e847f677c17", + "version": "3.4.0", + "port-version": 3 + }, + { + "git-tree": "adae65a68573f62c50bfbd2a3df9a2f341ee7787", + "version": "3.4.0", + "port-version": 2 + }, + { + "git-tree": "f85a10d88842fb71133557fba557094a71ea94c7", + "version": "3.4.0", + "port-version": 1 + }, + { + "git-tree": "dfe269a54d8d6efd00e1e5fae29381084ba5f6d4", + "version": "3.4.0", + "port-version": 0 + }, + { + "git-tree": "f1fe757a2b2afeb57dc797fec8afe8b75b3af57d", + "version": "3.3.0", + "port-version": 0 + }, + { + "git-tree": "58d88811f61ec9063eb70b837f23c6ceeceb0198", + "version": "3.0.0", + "port-version": 1 + }, + { + "git-tree": "dfb634ed4a717897d4cb646a34dc9c663dcfceb8", + "version": "3.0.0", + "port-version": 0 + }, + { + "git-tree": "00aea4e71fcfa8fa2ea4c294996726290abe3243", + "version": "2.11.2", + "port-version": 2 + }, + { + "git-tree": "980f914c0856191ef155ede267bc4553ccc49ac2", + "version": "2.11.2", + "port-version": 1 + }, + { + "git-tree": "90f838d8fb3b7d8d45b9d64f951486cee618ab8e", + "version": "2.11.2", + "port-version": 0 + }, + { + "git-tree": "43135a7f0ecf1e2fa292ea7f1fbe69dc0d2ec09d", + "version": "2.11.1", + "port-version": 0 + }, + { + "git-tree": "576db0702d3a36fbca154e4ee18030d28d0e05d0", + "version": "2.10.0", + "port-version": 0 + }, + { + "git-tree": "e3b6d222459b1a4ff5d0e0b16d4330620d47715a", + "version": "2.9.0", + "port-version": 0 + }, + { + "git-tree": "df30f0361e815375e25a9ef7c8ee4e1d353a1d07", + "version": "2.7.0", + "port-version": 1 + }, + { + "git-tree": "585cf904d3a8fe43723d72d8c20175a780e17a64", + "version": "2.7.0", + "port-version": 0 + }, + { + "git-tree": "8f786583b737855616d84a5177491deaf7d367a0", + "version": "2.5.0", + "port-version": 0 + }, + { + "git-tree": "e2fdb84a883ddea3d2dd68e8cc1faea98e991e83", + "version": "2.4.0", + "port-version": 3 + }, + { + "git-tree": "ff0fd25e52b0e89c620968aa07fca66a086957c7", + "version": "2.4.0", + "port-version": 2 + }, { "git-tree": "501668a8e37d5fc800fbf2f82729507a0af386cd", "version": "2.4.0", diff --git a/versions/f-/freetds.json b/versions/f-/freetds.json index cb6828f879e92c..a3d5712084fa83 100644 --- a/versions/f-/freetds.json +++ b/versions/f-/freetds.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "5eded489fe66e5c21c2ad93db8d8f5b9fc5fe4d4", + "version": "1.3.10", + "port-version": 2 + }, + { + "git-tree": "7d2a8c09978586d81a52529c94a96dd2f1208ebe", + "version": "1.3.10", + "port-version": 1 + }, + { + "git-tree": "c388be84a1c4bb7156aaf173f1ee348d500db8ad", + "version": "1.3.10", + "port-version": 0 + }, + { + "git-tree": "d3cbd323de7835a0dc5239e8b51b20f783121bdb", + "version": "1.2.11", + "port-version": 2 + }, { "git-tree": "78236f0bd404616850bc174e84bb6736cc197d73", "version-string": "1.2.11", diff --git a/versions/f-/freetype-gl.json b/versions/f-/freetype-gl.json index 8031162af13b5d..56ff994fa9df61 100644 --- a/versions/f-/freetype-gl.json +++ b/versions/f-/freetype-gl.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "e61e27b5a7928879435242d50ac2470fe79cb3e3", + "version-date": "2022-01-17", + "port-version": 3 + }, + { + "git-tree": "a356f56c15dd0a66094c00cc35670791c545027e", + "version-date": "2022-01-17", + "port-version": 2 + }, + { + "git-tree": "c966935c663878c91381818cae1b87590be48191", + "version-date": "2022-01-17", + "port-version": 1 + }, + { + "git-tree": "4184aadfa1242cc37b6a3c77d9893bafd3d54d3f", + "version-date": "2022-01-17", + "port-version": 0 + }, { "git-tree": "e290ae7965dd6b7d333df5aa3a9a56df1bd8e24c", "version-string": "2020-09-14", diff --git a/versions/f-/freetype.json b/versions/f-/freetype.json index 55c9b9b2f703ec..62750e4bcea155 100644 --- a/versions/f-/freetype.json +++ b/versions/f-/freetype.json @@ -1,5 +1,60 @@ { "versions": [ + { + "git-tree": "8a2c633dcc14eaabdb31cf4637242f4e3c2f3fa2", + "version": "2.13.3", + "port-version": 0 + }, + { + "git-tree": "60a5a2596ec865db746a7ea741458322cf0cc2bc", + "version": "2.13.2", + "port-version": 1 + }, + { + "git-tree": "443f320ccf3139bc1818f0cc273944a56e960d6e", + "version": "2.13.2", + "port-version": 0 + }, + { + "git-tree": "e5480587e6a2faf047bc6d8520e48c12fc57604a", + "version": "2.12.1", + "port-version": 5 + }, + { + "git-tree": "4e52babe5d382c3f9cdb1b8037874d78eceb3512", + "version": "2.12.1", + "port-version": 4 + }, + { + "git-tree": "db92ea87ff12339808263710675221df6a06ac15", + "version": "2.12.1", + "port-version": 3 + }, + { + "git-tree": "f1d6772ea2cb8cd74146b263b5dab534a10dd641", + "version": "2.12.1", + "port-version": 2 + }, + { + "git-tree": "f62a602dce6f188e2e4324b46995b2c79a97759a", + "version": "2.12.1", + "port-version": 1 + }, + { + "git-tree": "bf7afc9d9fa4aba9747dfc7902c60ea7cfa09e72", + "version": "2.12.1", + "port-version": 0 + }, + { + "git-tree": "ab8f5879ab23ffa292c80169f750b7edd6c2b4f1", + "version-semver": "2.11.1", + "port-version": 1 + }, + { + "git-tree": "dadbf4b6e5f5670bf49489e26de326be6a72f962", + "version-semver": "2.11.1", + "port-version": 0 + }, { "git-tree": "9d21ff9f7071d83c1e04eca8cae21b99438400d8", "version-semver": "2.11.0", diff --git a/versions/f-/freexl.json b/versions/f-/freexl.json index 05ef3a3a09c5b7..610b6015fd479a 100644 --- a/versions/f-/freexl.json +++ b/versions/f-/freexl.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "d2f0c530b5cb259f17171cb8fc6b58e3642e9334", + "version": "2.0.0", + "port-version": 0 + }, + { + "git-tree": "7ffd19cd7345be08a7b93d1d4c806d27b98a83ef", + "version": "1.0.6", + "port-version": 2 + }, + { + "git-tree": "fa2b9775bc6c9594fc2f67ace1e80f54def8efe9", + "version": "1.0.6", + "port-version": 1 + }, { "git-tree": "d9635355d8831e1f9628ecbb8935a8e89813ff51", "version-string": "1.0.6", diff --git a/versions/f-/fribidi.json b/versions/f-/fribidi.json index 86abb9f8683bd8..4ccc7e1a3d8a2d 100644 --- a/versions/f-/fribidi.json +++ b/versions/f-/fribidi.json @@ -1,5 +1,45 @@ { "versions": [ + { + "git-tree": "78a1f18b18748b0e5dec7f2f8451605260f348af", + "version": "1.0.16", + "port-version": 0 + }, + { + "git-tree": "c5627e2719205c319648e2f4f58f7deb0e9eecb4", + "version": "1.0.15", + "port-version": 0 + }, + { + "git-tree": "a946b16fa88c02cd11e2e3011fe9ca61e31214b6", + "version": "1.0.13", + "port-version": 0 + }, + { + "git-tree": "b611119763d80fa18b07cf2e3c99c02069b0ec55", + "version": "1.0.12", + "port-version": 1 + }, + { + "git-tree": "43f84b32dcc2e675fac20a42c0cf0c7f801c1fbc", + "version": "1.0.12", + "port-version": 0 + }, + { + "git-tree": "038a02d8e9a403f61bd3d45ce0f6f626a67d72f3", + "version": "1.0.11", + "port-version": 3 + }, + { + "git-tree": "134c67f3f8db520442ed5bea02262f14d647f7ce", + "version": "1.0.11", + "port-version": 2 + }, + { + "git-tree": "1555ac8e52ae978d26277e842322241a3da9c8ae", + "version": "1.0.11", + "port-version": 1 + }, { "git-tree": "0e040a494c14a4fade7878bf200a0463abc21e96", "version": "1.0.11", diff --git a/versions/f-/frozen.json b/versions/f-/frozen.json index 8020b3ca359924..73823eccebb717 100644 --- a/versions/f-/frozen.json +++ b/versions/f-/frozen.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "200f16a8cbff9e108d429428aa751219742da564", + "version": "1.2.0", + "port-version": 0 + }, + { + "git-tree": "0a8050c893da6b0549af088c1045ad459f330275", + "version": "1.1.1", + "port-version": 0 + }, { "git-tree": "938d0ffeb689db9642ac49d16d7e7a22d3be93ab", "version-date": "2021-04-22", diff --git a/versions/f-/frugally-deep.json b/versions/f-/frugally-deep.json index 7f4eff05f4ff13..738bb9869d787b 100644 --- a/versions/f-/frugally-deep.json +++ b/versions/f-/frugally-deep.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "9398fafc1db06710030a5081a56baf466f1305bd", + "version-semver": "0.16.0", + "port-version": 0 + }, + { + "git-tree": "d924a5757d3a38c1e6583282ed57a9ac3ff51145", + "version-semver": "0.15.31", + "port-version": 1 + }, + { + "git-tree": "df2995d023174c6daf1fae111a4140ecdf151bce", + "version-semver": "0.15.31", + "port-version": 0 + }, + { + "git-tree": "29bccc24fe184c3f063bdfda3b41c333465652c8", + "version-semver": "0.15.30", + "port-version": 0 + }, + { + "git-tree": "d25ec18e137e21fcdd4e2770377e7a3e9c5434f1", + "version-semver": "0.15.24", + "port-version": 0 + }, + { + "git-tree": "c3100096175d535c2c9bc09e3d2195f5729203bc", + "version-semver": "0.15.19-p0", + "port-version": 0 + }, { "git-tree": "360c45aa18328060b37ba37ac541fef843d07e29", "version-semver": "0.15.10-p0", diff --git a/versions/f-/fruit.json b/versions/f-/fruit.json index 5c7fb90e9a3dd5..ea37c167813142 100644 --- a/versions/f-/fruit.json +++ b/versions/f-/fruit.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "f727757ffc9579175eb3e80ae6fee2bf176779b2", + "version": "3.7.1", + "port-version": 0 + }, + { + "git-tree": "3877043f08c074020d222a58e552523c15923b63", + "version": "3.7.0", + "port-version": 0 + }, { "git-tree": "630ff582ea6cdbf31ba5eef0656e84018f901f1e", "version-string": "3.6.0", diff --git a/versions/f-/ftgl.json b/versions/f-/ftgl.json index 3a4533b9c05a49..1fec69e06ff7b2 100644 --- a/versions/f-/ftgl.json +++ b/versions/f-/ftgl.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "6b9fee52a7db38c8ceab55d156abf5d6a90ff656", + "version": "2.4.0", + "port-version": 5 + }, + { + "git-tree": "42f6d4d37641856fc516bd9df7775c448434e94a", + "version-date": "2022-05-18", + "port-version": 1 + }, + { + "git-tree": "5f8871169a409d3eff23c83391564108912a6a97", + "version-date": "2022-05-18", + "port-version": 0 + }, { "git-tree": "5642730406fc248cae1eaefc9e739b9bf1c13fbf", "version-string": "2.4.0", diff --git a/versions/f-/ftxui.json b/versions/f-/ftxui.json index 329be420782cad..36e539f34c2838 100644 --- a/versions/f-/ftxui.json +++ b/versions/f-/ftxui.json @@ -1,5 +1,45 @@ { "versions": [ + { + "git-tree": "876ee1aa2ce39652ff1d759eead5a1552402b11d", + "version-semver": "5.0.0", + "port-version": 0 + }, + { + "git-tree": "e69be1052699ec7fee92c1aaf9b4c1e66f9d47ef", + "version-semver": "4.1.1", + "port-version": 0 + }, + { + "git-tree": "acaddb4b8448c853dac8d132d591fd8062692ae8", + "version-semver": "4.0.0", + "port-version": 0 + }, + { + "git-tree": "29dcc8c936cb0fb0e7703aef2ebfedadb47a738a", + "version-semver": "3.0.0", + "port-version": 1 + }, + { + "git-tree": "42d65bbb4e3ffbb459b80b05de4322fa10593e29", + "version-semver": "3.0.0", + "port-version": 0 + }, + { + "git-tree": "f84934653f0ae5ca32279726f41dae1b2f6a4fb5", + "version-semver": "2.0.0", + "port-version": 1 + }, + { + "git-tree": "92b9696ab8e0f19cca9e5bf161719700aecdb425", + "version-date": "2021-10-17", + "port-version": 1 + }, + { + "git-tree": "e98623fd181fa1ad4b0ec07053dc140066dfb66f", + "version-date": "2021-10-17", + "port-version": 0 + }, { "git-tree": "d7dd27584c015a37dd3266255530e889b16aebcf", "version-date": "2021-06-17", diff --git a/versions/f-/function2.json b/versions/f-/function2.json index 26943805c33ca9..27ac3aefc4384c 100644 --- a/versions/f-/function2.json +++ b/versions/f-/function2.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "c4404d6b58a606e08069dbba605b376f12c21d67", + "version-semver": "4.2.4", + "port-version": 0 + }, + { + "git-tree": "dabfb1835fc765d2091deaae8d556ff300aea4a4", + "version-semver": "4.2.3", + "port-version": 0 + }, + { + "git-tree": "afa334fcb26a441121e2426e39e879c6574db698", + "version-semver": "4.2.2", + "port-version": 0 + }, { "git-tree": "98e16b513e6457caf3edc8ac5dc1db7e62255797", "version-string": "4.2.0", diff --git a/versions/f-/functionalplus.json b/versions/f-/functionalplus.json new file mode 100644 index 00000000000000..e45b6edeeaf1b0 --- /dev/null +++ b/versions/f-/functionalplus.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "14a02937a2a23219808420c03a7f96241abd251a", + "version": "0.2.25", + "port-version": 0 + }, + { + "git-tree": "b7b848450c56319f9bb6eed3239126417ea3bbc8", + "version": "0.2.24", + "port-version": 0 + } + ] +} diff --git a/versions/f-/functions-framework-cpp.json b/versions/f-/functions-framework-cpp.json index b275187ef7ec8c..78c450664a0c6f 100644 --- a/versions/f-/functions-framework-cpp.json +++ b/versions/f-/functions-framework-cpp.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "bcad4c80171c219e3f7ad02be34f1de48cf88889", + "version": "1.2.0", + "port-version": 0 + }, + { + "git-tree": "e4ad257a93efebb34ffabde85fa4a548d5038706", + "version": "1.1.0", + "port-version": 4 + }, + { + "git-tree": "61df7f37f44d59355e0ded6bb1241924a44143c8", + "version": "1.1.0", + "port-version": 3 + }, + { + "git-tree": "c640d5d8ccd519f8217444cc50a2ab3426e5de95", + "version": "1.1.0", + "port-version": 2 + }, + { + "git-tree": "b768a3659402920019edfe8455e08e350743bd78", + "version": "1.1.0", + "port-version": 1 + }, + { + "git-tree": "a9e0ac94b09059d2a341c6f1614f8d9146732ed2", + "version": "1.1.0", + "port-version": 0 + }, { "git-tree": "45f93916767e8d79db63cc94b8274f98ee1bef1c", "version": "1.0.0", diff --git a/versions/f-/fuzzylite.json b/versions/f-/fuzzylite.json index 735d20e80735ed..704663aabbe824 100644 --- a/versions/f-/fuzzylite.json +++ b/versions/f-/fuzzylite.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "a82dbec4f8e74e116214cfe7120ec0aa4b5d41bf", + "version": "6.0", + "port-version": 6 + }, + { + "git-tree": "27926f33e6bab79f1eefa5c7999645f855c5fda3", + "version": "6.0", + "port-version": 5 + }, { "git-tree": "df47396ca528792e73f67bb8f297a064b46ef21b", "version-string": "6.0", diff --git a/versions/f-/fxdiv.json b/versions/f-/fxdiv.json index faae1bc5eb42cc..4c8b464b84c8b2 100644 --- a/versions/f-/fxdiv.json +++ b/versions/f-/fxdiv.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "409284eafee5c5712bbf7c9efa301a12824d094f", + "version-date": "2021-02-21", + "port-version": 2 + }, + { + "git-tree": "c00d510e636391fa33a1fcb52c1e767f00a7aecf", + "version-date": "2021-02-21", + "port-version": 1 + }, { "git-tree": "58ee7e759479e81a3218ff4d5efb8ada40c40d65", "version-string": "2021-02-21", diff --git a/versions/g-/g2o.json b/versions/g-/g2o.json index 34e9d0dfa836f5..ac8f6de43cf58d 100644 --- a/versions/g-/g2o.json +++ b/versions/g-/g2o.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "dcf90e398d2940de9be1685b435cc4314f348125", + "version-date": "2020-02-07", + "port-version": 6 + }, + { + "git-tree": "dd362c97bd5a71ae6c3abad13da61b6323e8746f", + "version-date": "2020-02-07", + "port-version": 5 + }, + { + "git-tree": "fb61dcf5596f2a9212644c4ac8736831b7448ba5", + "version-date": "2020-02-07", + "port-version": 4 + }, + { + "git-tree": "3c19fe8da1b3f679aa832330cd4ef565c0ee45dc", + "version-date": "2020-02-07", + "port-version": 3 + }, { "git-tree": "4fb8813de02bd243b25d9ed93065f9f9cba09e93", "version-string": "2020-02-07", diff --git a/versions/g-/g3log.json b/versions/g-/g3log.json index cf39075dc884fd..f3072c7a89c1f4 100644 --- a/versions/g-/g3log.json +++ b/versions/g-/g3log.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "5cee1161ef602cb402b3c902a4d084b04d6388ae", + "version": "2.4", + "port-version": 0 + }, + { + "git-tree": "09cefbb1c15c19b4d15983286f70f39a819703d3", + "version": "2.3", + "port-version": 1 + }, + { + "git-tree": "f1bbc871ee36db0c3ff9d17d0885a151866b4a56", + "version": "2.3", + "port-version": 0 + }, + { + "git-tree": "ce2eee87993ff26684fad107624adebc23e64737", + "version": "2.1", + "port-version": 0 + }, + { + "git-tree": "b97c6fdba216caec4a83323a693a871cb57968fd", + "version": "1.3.4", + "port-version": 2 + }, { "git-tree": "37d239e8b61380aeb3bc6bbeaa2a91649787b34a", "version": "1.3.4", diff --git a/versions/g-/gainput.json b/versions/g-/gainput.json index cbe403aa62a0f7..d23cb9d36d587b 100644 --- a/versions/g-/gainput.json +++ b/versions/g-/gainput.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "d7d03d82f8c42466bcd155b94e0dcefa79763931", + "version": "1.0.0", + "port-version": 6 + }, + { + "git-tree": "6edb146db254b1cec192c12f335bef0e54455770", + "version": "1.0.0", + "port-version": 5 + }, { "git-tree": "8751b5a093ee68d0273600efc1ecfcd23056aa47", "version-string": "1.0.0", diff --git a/versions/g-/gamedev-framework.json b/versions/g-/gamedev-framework.json index 624ae044402b47..249a31836846e5 100644 --- a/versions/g-/gamedev-framework.json +++ b/versions/g-/gamedev-framework.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "41406fe6c392ff7fa81d07d288e5e61ca0db8bd0", + "version-semver": "1.2.0", + "port-version": 0 + }, + { + "git-tree": "66a45568c161b8eb5ae64471a466545b96b15818", + "version-semver": "1.0.0", + "port-version": 0 + }, + { + "git-tree": "4dbeca9676a469cb84eb1cfc731ae9bbc9110447", + "version-semver": "0.20.0", + "port-version": 2 + }, { "git-tree": "a9771cd4f7093f5d34a78d3e2417707185444910", "version-semver": "0.20.0", diff --git a/versions/g-/gameinput.json b/versions/g-/gameinput.json new file mode 100644 index 00000000000000..17bf6d38c55051 --- /dev/null +++ b/versions/g-/gameinput.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "b71fb62174fb92b8fe4fa6a87311d202349bee72", + "version": "0.2303.22621.3038", + "port-version": 0 + } + ] +} diff --git a/versions/g-/gamenetworkingsockets.json b/versions/g-/gamenetworkingsockets.json index 3aeda7b8cb47c2..3a34c2c153d1d4 100644 --- a/versions/g-/gamenetworkingsockets.json +++ b/versions/g-/gamenetworkingsockets.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "75eaecf85e526c7de535e77ac6da7025c8e4020f", + "version": "1.4.1", + "port-version": 1 + }, + { + "git-tree": "94a9a726c8c2caf64acec0988bd9ad58f57ab5df", + "version-semver": "1.4.1", + "port-version": 0 + }, + { + "git-tree": "56c1a61c82400d285d3d37cf8e20a1f362a0d83f", + "version": "1.4.0", + "port-version": 0 + }, { "git-tree": "02453dad9eb5272c445ba8e22c3d1aa3383a1a11", "version": "1.3.0", diff --git a/versions/g-/games101-cgl.json b/versions/g-/games101-cgl.json new file mode 100644 index 00000000000000..ae210f8545a00a --- /dev/null +++ b/versions/g-/games101-cgl.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "976ee066a06bc29768e1fd575da2e7d622cf6465", + "version": "0.1.0", + "port-version": 0 + } + ] +} diff --git a/versions/g-/gamma.json b/versions/g-/gamma.json index 2c67cdc47146a9..0cdda4722217d1 100644 --- a/versions/g-/gamma.json +++ b/versions/g-/gamma.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "dfa73b7b224977c60e757cd9eaa286c6db2bd90d", + "version-string": "gamma-2018-01-27", + "port-version": 6 + }, + { + "git-tree": "c81bf8a72f815cb3feaf26e0f8e82032bdb62e88", + "version-string": "gamma-2018-01-27", + "port-version": 5 + }, + { + "git-tree": "335e66b704d42844b1fef58f31a05545aec2e328", + "version-string": "gamma-2018-01-27", + "port-version": 4 + }, { "git-tree": "69d699310fe2e651e63668d194c19dfae5fd9376", "version-string": "gamma-2018-01-27", diff --git a/versions/g-/gapp.json b/versions/g-/gapp.json new file mode 100644 index 00000000000000..6f25cf3e64cf06 --- /dev/null +++ b/versions/g-/gapp.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "31fc6c2ca0e58b6133db03eeaa3e31398810ccc2", + "version": "0.2.0", + "port-version": 0 + } + ] +} diff --git a/versions/g-/gasol.json b/versions/g-/gasol.json index 4318cd2e704666..d949a04b0b1408 100644 --- a/versions/g-/gasol.json +++ b/versions/g-/gasol.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "f6963a5230e144f34c86f0b846d028567859449f", + "version-date": "2018-01-04", + "port-version": 4 + }, + { + "git-tree": "70bdc4eeb2b24a5b03dcd34b2a2d507a96e23d7e", + "version-date": "2018-01-04", + "port-version": 3 + }, + { + "git-tree": "50bd4cd06666ebc284bb8d8157057c5a451bc11d", + "version-date": "2018-01-04", + "port-version": 2 + }, { "git-tree": "2425692b7bd94282d858e19c2a1360c274cb3e4c", "version-string": "2018-01-04", diff --git a/versions/g-/gaussianlib.json b/versions/g-/gaussianlib.json index 231aa36b0dd7f1..aebc510e63b519 100644 --- a/versions/g-/gaussianlib.json +++ b/versions/g-/gaussianlib.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "323865bad084941748ff0e99a25d7ef090d765f4", + "version-date": "2023-02-17", + "port-version": 0 + }, + { + "git-tree": "e3e4e44965a910829b7c5872bec340826e2c4559", + "version-date": "2019-08-04", + "port-version": 2 + }, { "git-tree": "9cce82b2b2013b0ccc2b2f3e827cd5911f9a473d", "version-string": "2019-08-04", diff --git a/versions/g-/gazebo.json b/versions/g-/gazebo.json new file mode 100644 index 00000000000000..003ebba8fb3a74 --- /dev/null +++ b/versions/g-/gazebo.json @@ -0,0 +1,34 @@ +{ + "versions": [ + { + "git-tree": "c5ff2241343daba9b2e89620fc5502104b459476", + "version-date": "2022-01-20", + "port-version": 5 + }, + { + "git-tree": "b1f5088e196340aad31ea3700aceae72df1407ae", + "version-date": "2022-01-20", + "port-version": 4 + }, + { + "git-tree": "094ba2b47c08f30d45b33081f8b2b3790b2ec070", + "version-date": "2022-01-20", + "port-version": 3 + }, + { + "git-tree": "324403bb31aad7705e0f444e9c49f2b11417b9b0", + "version-date": "2022-01-20", + "port-version": 2 + }, + { + "git-tree": "702a7de5c38ff156813a73a32eac6c7ca73248e4", + "version-date": "2022-01-20", + "port-version": 1 + }, + { + "git-tree": "983e90284c8c0073e0193750a412eb4df01accdc", + "version-date": "2022-01-20", + "port-version": 0 + } + ] +} diff --git a/versions/g-/gcem.json b/versions/g-/gcem.json index 7753c48bdb961e..ab6e04df19959f 100644 --- a/versions/g-/gcem.json +++ b/versions/g-/gcem.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "061d6e29d72905c39027e09ef277e84ce0a31f19", + "version": "1.18.0", + "port-version": 0 + }, + { + "git-tree": "789017cc9de9b4147df9ccdb2b6b156bf487df1a", + "version": "1.17.0", + "port-version": 0 + }, + { + "git-tree": "573f10694a3f7eb8fbc2ffdfbce1131a76253c3f", + "version": "1.16.0", + "port-version": 0 + }, + { + "git-tree": "01116231bfab30197748230d4125d18fd2652150", + "version": "1.14.1", + "port-version": 0 + }, { "git-tree": "b5ffa19fc8b11179434020c69f6c998dd58268ee", "version-string": "1.13.1", diff --git a/versions/g-/gdal.json b/versions/g-/gdal.json index 677ba947743fd6..eda8b7d1a3e674 100644 --- a/versions/g-/gdal.json +++ b/versions/g-/gdal.json @@ -1,5 +1,305 @@ { "versions": [ + { + "git-tree": "722436c5a55405d9c7f31c3044c3a66901638ed5", + "version-semver": "3.10.0", + "port-version": 0 + }, + { + "git-tree": "48387632dca0060dca76a899ebb693e2799d3d39", + "version-semver": "3.9.3", + "port-version": 1 + }, + { + "git-tree": "f5682e9626c47a26f37e7578c3df847ddc3fe11c", + "version-semver": "3.9.3", + "port-version": 0 + }, + { + "git-tree": "577a6058af6d99bdbea12c6988d7d7fc991a087b", + "version-semver": "3.9.2", + "port-version": 0 + }, + { + "git-tree": "65b271a32a93a9dfa4dfd3905fcd0b5388926f81", + "version-semver": "3.9.1", + "port-version": 0 + }, + { + "git-tree": "863d25d334cf98636ca4f4a18cd5c70ba1141eb5", + "version-semver": "3.9.0", + "port-version": 0 + }, + { + "git-tree": "ea4d3f8cb9ab32d885ac60b974421a604fdbcc87", + "version-semver": "3.8.5", + "port-version": 0 + }, + { + "git-tree": "34c6db13fc1b8cac27e25e62fc738983b89bd580", + "version-semver": "3.8.4", + "port-version": 0 + }, + { + "git-tree": "cf4439e847b66a9af7d5789d19f0752e8a634fb9", + "version-semver": "3.8.3", + "port-version": 0 + }, + { + "git-tree": "833ca497db5bfb3e95b313c6bfbf793d20548326", + "version-semver": "3.8.2", + "port-version": 1 + }, + { + "git-tree": "8c455ae6529676c606b6a031fa62d2c87e72ec86", + "version-semver": "3.8.2", + "port-version": 0 + }, + { + "git-tree": "33a60f073f77b16b9364659fea34df2cff9ea3ae", + "version-semver": "3.8.1", + "port-version": 0 + }, + { + "git-tree": "4eb6f65b6e278d02d05adff2de5e9fc0b068dd39", + "version-semver": "3.8.0", + "port-version": 0 + }, + { + "git-tree": "388e85b332e219ece9bdb669274ca04762500330", + "version-semver": "3.7.3", + "port-version": 0 + }, + { + "git-tree": "3931fc54de192cbee6b4683bc2261b2f3093130f", + "version-semver": "3.7.2", + "port-version": 1 + }, + { + "git-tree": "d01864aaa21a85e1e8f7bb6748d607e953c52e77", + "version-semver": "3.7.2", + "port-version": 0 + }, + { + "git-tree": "eb6b9c542c7c01651906fee737d73fab64482700", + "version-semver": "3.7.1", + "port-version": 4 + }, + { + "git-tree": "1bffcf8c8f2b02ed041a099723115cbbd0c39b2c", + "version-semver": "3.7.1", + "port-version": 3 + }, + { + "git-tree": "fe574600c39e044d7aa3f4a0e58c1de47f95a430", + "version-semver": "3.7.1", + "port-version": 2 + }, + { + "git-tree": "80d4c30d98e502446c16c8f7665713916934aca3", + "version-semver": "3.7.1", + "port-version": 1 + }, + { + "git-tree": "a532cd9881bfbd8e3665ff4244dccef8af62ffff", + "version-semver": "3.7.1", + "port-version": 0 + }, + { + "git-tree": "9e2de2263a527e2135c8532fcc9967e63378a552", + "version-semver": "3.7.0", + "port-version": 4 + }, + { + "git-tree": "35cbea48f44c5d0836cd0b6f171396eae2745177", + "version-semver": "3.7.0", + "port-version": 3 + }, + { + "git-tree": "f287b8dfcfba6e4f2d8ee8cdba0e63f0ae326fd7", + "version-semver": "3.7.0", + "port-version": 2 + }, + { + "git-tree": "119c87c321a3a925253f5503cfac1e6960d5923e", + "version-semver": "3.7.0", + "port-version": 1 + }, + { + "git-tree": "befcd2fe67a87498bfdaea5601b58f120e984038", + "version-semver": "3.7.0", + "port-version": 0 + }, + { + "git-tree": "f83039e70646a59b782781b3c805f276fb4c72be", + "version-semver": "3.6.4", + "port-version": 0 + }, + { + "git-tree": "fd3b78eb622e4b5f176e4c72cb9aa855f1e6d985", + "version-semver": "3.6.3", + "port-version": 1 + }, + { + "git-tree": "145b046001c2cbbddc6e987df1f24cde16c32c99", + "version-semver": "3.6.3", + "port-version": 0 + }, + { + "git-tree": "11923340f9057d7e444b83e7a06afbf50e67e0d1", + "version-semver": "3.6.2", + "port-version": 2 + }, + { + "git-tree": "3a5646f7afab7b9f78bd8b874df4e2b3355b4a1a", + "version-semver": "3.6.2", + "port-version": 1 + }, + { + "git-tree": "e44570d2fe7e8214f02f8fae73b1abf6715ef290", + "version-semver": "3.6.2", + "port-version": 0 + }, + { + "git-tree": "ecacffdfe1d7756bb1c63a3dca8ee6a2aca5d105", + "version-semver": "3.6.1", + "port-version": 0 + }, + { + "git-tree": "64f11fdb4722c85d1d68332326517f8ee23f8269", + "version-semver": "3.6.0", + "port-version": 0 + }, + { + "git-tree": "8523d8bd85ac0b7646be51eb0498ebd51f8e2804", + "version-semver": "3.5.3", + "port-version": 1 + }, + { + "git-tree": "7d27d35c37e48b554b8276dbba52b75646ae4748", + "version-semver": "3.5.3", + "port-version": 0 + }, + { + "git-tree": "e3314fa33861c06a566a2727e443b8fabeef022f", + "version-semver": "3.5.2", + "port-version": 1 + }, + { + "git-tree": "f88341b75df68d585c06df3ed7b7b0a5412ae986", + "version-semver": "3.5.2", + "port-version": 0 + }, + { + "git-tree": "548d8ee81b0b34493dc57b3610fb19db2403bb50", + "version-semver": "3.5.1", + "port-version": 6 + }, + { + "git-tree": "e875fbb6dc288ea2719e00a6b71b4834b8814640", + "version-semver": "3.5.1", + "port-version": 5 + }, + { + "git-tree": "419767a67a207c3b5401b817d8537acafe257e1b", + "version-semver": "3.5.1", + "port-version": 4 + }, + { + "git-tree": "a7d7e8b112055c7374cbf2e53172eb1832ddb73b", + "version-semver": "3.5.1", + "port-version": 3 + }, + { + "git-tree": "4d114225017db64685132cde062afde8ec8cbc9b", + "version-semver": "3.5.1", + "port-version": 2 + }, + { + "git-tree": "dd8ff4159201d96aecb0cc2de325b56a522ae0e1", + "version-semver": "3.5.1", + "port-version": 1 + }, + { + "git-tree": "f623db2a0771ad4df6c248b046cd8f369ecbdcca", + "version-semver": "3.5.1", + "port-version": 0 + }, + { + "git-tree": "cf1b59dd5a8518c4003a7d23d0db857315af0db9", + "version-semver": "3.4.3", + "port-version": 3 + }, + { + "git-tree": "509d3e54670e6552cce8d811a329d6c28589392e", + "version-semver": "3.4.3", + "port-version": 2 + }, + { + "git-tree": "8bdf8b8ff951c1ce8719c789e66ac3a166eed063", + "version-semver": "3.4.3", + "port-version": 1 + }, + { + "git-tree": "8277225a2c5da40e154062f73526126fb00c9125", + "version-semver": "3.4.3", + "port-version": 0 + }, + { + "git-tree": "7c26036e04d87f1f5c27bf4bffa589b2481f47d3", + "version-semver": "3.4.2", + "port-version": 0 + }, + { + "git-tree": "daeafe53684ed8335d3bf77deeffa3424b26120d", + "version-semver": "3.4.1", + "port-version": 4 + }, + { + "git-tree": "a8c88697265b7f88d7576c24c57456da86500b19", + "version-semver": "3.4.1", + "port-version": 3 + }, + { + "git-tree": "e90ac12366dec86dcacf5a66562e48f80254b3c5", + "version-semver": "3.4.1", + "port-version": 2 + }, + { + "git-tree": "b3bff053bc6f972c2c19f88047f2a5ae53f21746", + "version-semver": "3.4.1", + "port-version": 1 + }, + { + "git-tree": "a905d07fce3cebd0d1b52809cbdf1e37cce60cf3", + "version-semver": "3.4.1", + "port-version": 0 + }, + { + "git-tree": "db90242c9a7b428c65415a64e83c149965dd7ceb", + "version-semver": "3.4.0", + "port-version": 6 + }, + { + "git-tree": "519ec20e4d9e0fc541320ca88b51521180c570da", + "version-semver": "3.4.0", + "port-version": 5 + }, + { + "git-tree": "78bf53bfc83afb261c9eaa60cf2ef9487031b4b1", + "version-semver": "3.4.0", + "port-version": 4 + }, + { + "git-tree": "164700a47428c2ded10ee9dc8e28fb189fca0f94", + "version-semver": "3.4.0", + "port-version": 3 + }, + { + "git-tree": "f0f7e3cd7a86246d31f892678b2e06d01c455c5b", + "version-semver": "3.4.0", + "port-version": 2 + }, { "git-tree": "d5580a73ced0a55c4659874d1755239c76e9168c", "version-semver": "3.4.0", diff --git a/versions/g-/gdcm.json b/versions/g-/gdcm.json index 7fa0157cf5ec65..ef3a3d41317023 100644 --- a/versions/g-/gdcm.json +++ b/versions/g-/gdcm.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "a261e8eb0faf299319bdb0ecfc4ebf76a449bc19", + "version": "3.0.24", + "port-version": 0 + }, + { + "git-tree": "ddb9b48dc350a6e3a539a8d6e43e5416955d1de5", + "version": "3.0.23", + "port-version": 0 + }, + { + "git-tree": "4083ad5a17c338266c7e0b74adf6126c55112b0d", + "version": "3.0.22", + "port-version": 0 + }, + { + "git-tree": "cb3870f85a108727ba53c35d59633f9d6fdb4c4e", + "version": "3.0.12", + "port-version": 1 + }, + { + "git-tree": "d88a2229a173f1d38ae7beeb24d8169957968e74", + "version": "3.0.12", + "port-version": 0 + }, + { + "git-tree": "64bda232157a1119e4a16b3379294d13354e8971", + "version": "3.0.7", + "port-version": 4 + }, { "git-tree": "de7a48decccdda2df7f6878f4002fa661f7a6090", "version": "3.0.7", diff --git a/versions/g-/gdk-pixbuf.json b/versions/g-/gdk-pixbuf.json index efc409eaf5498e..fb3f3d3f76113b 100644 --- a/versions/g-/gdk-pixbuf.json +++ b/versions/g-/gdk-pixbuf.json @@ -1,5 +1,105 @@ { "versions": [ + { + "git-tree": "a3dd13dfa169e843726c8ac404a85d60aebdb981", + "version": "2.42.12", + "port-version": 1 + }, + { + "git-tree": "bbf12c7f576f4ecae98d0b4d8cdc0f5fc07f24fb", + "version": "2.42.12", + "port-version": 0 + }, + { + "git-tree": "20f10a57d8a363c929b92c881e25750db32f59fe", + "version": "2.42.10", + "port-version": 6 + }, + { + "git-tree": "42ac551a9c1a0035116dd3fa21f6d5e0c34085f3", + "version": "2.42.10", + "port-version": 5 + }, + { + "git-tree": "6483e54d3f776f24e4260ea759ad854b0dfddafb", + "version": "2.42.10", + "port-version": 4 + }, + { + "git-tree": "155d642e94235b73e42125201d552211161a4e65", + "version": "2.42.10", + "port-version": 3 + }, + { + "git-tree": "3dc0bb4b0113c8043f2ed716694303d1bdc08d88", + "version": "2.42.10", + "port-version": 2 + }, + { + "git-tree": "ca75f73ba67cdacfd245b67e6dca8c45fb97ee93", + "version": "2.42.10", + "port-version": 1 + }, + { + "git-tree": "39ca957973ae4f5cbeb0e658172c079e6ad0362c", + "version": "2.42.10", + "port-version": 0 + }, + { + "git-tree": "a2c86123a10143a8df7fe450b82a5f018a28058f", + "version": "2.42.9", + "port-version": 5 + }, + { + "git-tree": "830adc727c34a71a305d01d1cb77ae16d41e289a", + "version": "2.42.9", + "port-version": 4 + }, + { + "git-tree": "b1a623b67b4de018a0550b7d8cd60a21569972b0", + "version": "2.42.9", + "port-version": 3 + }, + { + "git-tree": "b42054b8e96faa6387ef8df5870276df1b0902e1", + "version": "2.42.9", + "port-version": 2 + }, + { + "git-tree": "ec4e9442f7771435547892134cde77081fd013d7", + "version": "2.42.9", + "port-version": 1 + }, + { + "git-tree": "c4d20ae662c74ed3f4bfec74bb57a68747564c96", + "version": "2.42.9", + "port-version": 0 + }, + { + "git-tree": "6662972ebf092397b1d94122ecfc754f0b81eeee", + "version": "2.42.8", + "port-version": 3 + }, + { + "git-tree": "2e82cf35eb436a674fdbdfa12cce69e629c83bf4", + "version": "2.42.8", + "port-version": 2 + }, + { + "git-tree": "d1c32f1df7acf96c17689e559b2e1edeb947de38", + "version": "2.42.8", + "port-version": 1 + }, + { + "git-tree": "ad94c8b8ea1bd1f66085e17b9763b22080d6bf6b", + "version": "2.42.8", + "port-version": 0 + }, + { + "git-tree": "c6274b79c119e29062eaaa6ad99271fe868f0288", + "version": "2.42.2", + "port-version": 2 + }, { "git-tree": "f90cd0dd11fd312fe803519706f422a9207336d0", "version": "2.42.2", diff --git a/versions/g-/genann.json b/versions/g-/genann.json index 84c36d720cc160..79146466e3fb9d 100644 --- a/versions/g-/genann.json +++ b/versions/g-/genann.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "06697b312b624b447c7f8c4ba48e82ce6528883c", + "version-date": "2019-07-10", + "port-version": 3 + }, + { + "git-tree": "0f58751b97524c749b52f3953abab3cb9e962edc", + "version-date": "2019-07-10", + "port-version": 2 + }, { "git-tree": "74f4d685e744a09163c7bfcf502e3facc2d9bf95", "version-string": "2019-07-10", diff --git a/versions/g-/geogram.json b/versions/g-/geogram.json index 0c7d105d61b8f2..f13d9b0a29a2a8 100644 --- a/versions/g-/geogram.json +++ b/versions/g-/geogram.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "7ecc3086e630018469ee01f4bc48d4dde9372ed8", + "version": "1.8.3", + "port-version": 3 + }, + { + "git-tree": "95a627c98a4a4202c46104fbb8a974573e198e18", + "version": "1.8.3", + "port-version": 2 + }, + { + "git-tree": "ee6286e71522b6c0bd498066597094e57ff505b4", + "version": "1.8.3", + "port-version": 1 + }, + { + "git-tree": "86346ad187bf9f8b54be1e50b3bb52dd4c69171d", + "version": "1.8.3", + "port-version": 0 + }, + { + "git-tree": "902027c917fa8e2047dd0655721a753305432010", + "version": "1.7.6", + "port-version": 4 + }, + { + "git-tree": "2be512adda374e08c638f617f81f86b3dc3099a0", + "version": "1.7.6", + "port-version": 3 + }, + { + "git-tree": "d68db6c8078b7598e5bed6550a911f791ae63ab3", + "version": "1.7.6", + "port-version": 2 + }, { "git-tree": "d6d9b9c3652ebbfd846a225ba06a1867e0a6ba25", "version": "1.7.6", diff --git a/versions/g-/geographiclib.json b/versions/g-/geographiclib.json index 120c03144d7ec0..296c2893aaa510 100644 --- a/versions/g-/geographiclib.json +++ b/versions/g-/geographiclib.json @@ -1,5 +1,50 @@ { "versions": [ + { + "git-tree": "0e8298595896b923a529fb3fefac902cfa1e2caa", + "version": "2.4", + "port-version": 0 + }, + { + "git-tree": "d81b3f7975338273ed42ce6544734e24b6c7915a", + "version": "2.3", + "port-version": 1 + }, + { + "git-tree": "f24840f27f1c858b85e449c3066cec7978c304c6", + "version": "2.3", + "port-version": 0 + }, + { + "git-tree": "1f367e37fa03f3909ab0817475ded728bbb3d9ec", + "version": "2.2", + "port-version": 0 + }, + { + "git-tree": "e365b65638505fa44d420b0199c5f876e7cbe1c9", + "version": "2.1.2", + "port-version": 0 + }, + { + "git-tree": "efe97af6f3b9584df1eb7ba4491af1f87e5e0053", + "version": "2.1.1", + "port-version": 0 + }, + { + "git-tree": "447b01efd62b08035684790b159926403cc5f7a1", + "version": "2.1", + "port-version": 0 + }, + { + "git-tree": "440bbb70d0e2bd4df26e6c4c8e80a9f1942f743e", + "version": "2.0", + "port-version": 0 + }, + { + "git-tree": "907cce8f399c32730fa20954780e16187bb28bd0", + "version": "1.52", + "port-version": 2 + }, { "git-tree": "7ffcb729874bc667cba2368b92d64dc04effb73c", "version": "1.52", diff --git a/versions/g-/geos.json b/versions/g-/geos.json index 42cd134f5c40d6..ffa38d2be9de03 100644 --- a/versions/g-/geos.json +++ b/versions/g-/geos.json @@ -1,5 +1,55 @@ { "versions": [ + { + "git-tree": "331bb2a4ee2ca09a1d85f801bf3eb52a0ebb2acf", + "version": "3.13.0", + "port-version": 1 + }, + { + "git-tree": "0d124c642d54c1764b3d750e6e8800c0f830c51a", + "version": "3.13.0", + "port-version": 0 + }, + { + "git-tree": "7673b6100f8c6f31fc80a93e5a9efa6bb9f044a4", + "version": "3.12.2", + "port-version": 0 + }, + { + "git-tree": "41bb89a641e2fd76a21cdf259893ef3ab187aeaf", + "version": "3.11.3", + "port-version": 1 + }, + { + "git-tree": "74ed7ac2ba209cbd984174705b2e3fc7fcf99e9a", + "version": "3.11.3", + "port-version": 0 + }, + { + "git-tree": "6e3173bfbaacdb8fee9ac698f0b6dc668136ed9b", + "version": "3.11.2", + "port-version": 0 + }, + { + "git-tree": "1f2b8b7ba62c8e0ca9e17f7ac5a2312c559eb547", + "version": "3.11.1", + "port-version": 0 + }, + { + "git-tree": "9bf5a546e53664298e8d1f843600013cd0d94ae5", + "version": "3.11.0", + "port-version": 1 + }, + { + "git-tree": "65d05922979febad3d20696832347333c24f1c16", + "version": "3.11.0", + "port-version": 0 + }, + { + "git-tree": "aa45b04832db59c6f6c4e92cf0f67b21afe41a48", + "version": "3.10.2", + "port-version": 0 + }, { "git-tree": "852bf7181cbec88161abfe3cf4db2887f80ab2d4", "version": "3.10.0", diff --git a/versions/g-/geotrans.json b/versions/g-/geotrans.json index f4cf084b0fff87..43fe4cc129ad71 100644 --- a/versions/g-/geotrans.json +++ b/versions/g-/geotrans.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "b392617570c01a75595f982080630925b27ba3bf", + "version": "3.9", + "port-version": 1 + }, + { + "git-tree": "2649a6e046a3e72681606d14a091512447aade75", + "version": "3.9", + "port-version": 0 + }, + { + "git-tree": "ed816520f117cff22add4e76969c0769f9655d43", + "version": "3.8", + "port-version": 2 + }, { "git-tree": "f9b1a18f0cadf69936ab62911f4d86fdb565c693", "version": "3.8", diff --git a/versions/g-/getdns.json b/versions/g-/getdns.json index 091ad9b1939a55..858c315f95c517 100644 --- a/versions/g-/getdns.json +++ b/versions/g-/getdns.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "bc99e968335624d1ff606befa894103b540fbde2", + "version": "1.7.3", + "port-version": 0 + }, + { + "git-tree": "b604fb24c9b81bf4bc5c30e7ca86e52750a86935", + "version": "1.7.0", + "port-version": 3 + }, + { + "git-tree": "877301bc39a398579f0f3f13725afcd4bcd797c4", + "version": "1.7.0", + "port-version": 2 + }, + { + "git-tree": "3fc05946f698399983a44d1c9a173df743c7bacf", + "version": "1.7.0", + "port-version": 1 + }, { "git-tree": "fd966770afa413f4502ba69f0c2e0a860b08f967", "version": "1.7.0", diff --git a/versions/g-/getopt-win32.json b/versions/g-/getopt-win32.json index 8906842077d45a..cc974aa83701ba 100644 --- a/versions/g-/getopt-win32.json +++ b/versions/g-/getopt-win32.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "d735f424134507a2d87a4ab6d5a8d768ca555dbc", + "version": "1.1.0.20220925", + "port-version": 0 + }, + { + "git-tree": "28d4331693c8c94a354365fff55df5f5762b7be6", + "version": "0.1", + "port-version": 7 + }, + { + "git-tree": "e2e91ce0684f0a2daa95adc45c9c32e61ae40a7e", + "version": "0.1", + "port-version": 6 + }, + { + "git-tree": "e20f1829d379f402502feedd978738b06b3f17ad", + "version": "0.1", + "port-version": 5 + }, + { + "git-tree": "a655b35c38424570406603859dcfbb70d25bc0b9", + "version": "0.1", + "port-version": 4 + }, + { + "git-tree": "97ccee735c01df1356a70d59bc114512f7ab77cc", + "version": "0.1", + "port-version": 3 + }, + { + "git-tree": "93d03f637c26f2efa154dfd7c3efb02074cf5eda", + "version-string": "0.1", + "port-version": 2 + }, { "git-tree": "d4b235f13a89dbec23f09caa05c7b71c176cfab8", "version-string": "0.1", diff --git a/versions/g-/getopt.json b/versions/g-/getopt.json index 24d9652d4446a5..aecd5566a19312 100644 --- a/versions/g-/getopt.json +++ b/versions/g-/getopt.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "ba541c1ce4012fae6dfdf34021b03d7253235b24", + "version": "0", + "port-version": 3 + }, + { + "git-tree": "be2552adc01c2ba30044325925f7348121de5c3d", + "version-string": "0", + "port-version": 2 + }, { "git-tree": "81815a8f433219e332659e07204f90df381a28a7", "version-string": "0", diff --git a/versions/g-/gettext-libintl.json b/versions/g-/gettext-libintl.json new file mode 100644 index 00000000000000..b2ed22bc71dcf9 --- /dev/null +++ b/versions/g-/gettext-libintl.json @@ -0,0 +1,39 @@ +{ + "versions": [ + { + "git-tree": "f41e983c85004eb6ee8d290ecb2465832fce8c00", + "version": "0.22.5", + "port-version": 2 + }, + { + "git-tree": "ac89519d5ec11430978a4e45619befb7a1c4a062", + "version": "0.22.5", + "port-version": 1 + }, + { + "git-tree": "8a3f80e31783a834e0fdc9d231136651cb2f08b4", + "version": "0.22.5", + "port-version": 0 + }, + { + "git-tree": "b81c3757a4f5b2eb78c45e29d51803e5a3418fdb", + "version": "0.22.4", + "port-version": 1 + }, + { + "git-tree": "003232270da6a899ac59d4e61d7fead638584deb", + "version": "0.22.4", + "port-version": 0 + }, + { + "git-tree": "25450f3473f6c62f28af9702a772d8b48a6170b7", + "version": "0.21.1", + "port-version": 1 + }, + { + "git-tree": "783d7b1a2ddaf29b0f1a2d785ccfbb4a05615667", + "version": "0.21.1", + "port-version": 0 + } + ] +} diff --git a/versions/g-/gettext.json b/versions/g-/gettext.json index b93c98ee93d27d..44b7020144a992 100644 --- a/versions/g-/gettext.json +++ b/versions/g-/gettext.json @@ -1,5 +1,60 @@ { "versions": [ + { + "git-tree": "1c1122632dae7ab9078655ee52e41c415ee4cfb4", + "version": "0.22.5", + "port-version": 1 + }, + { + "git-tree": "a9e016b098d97663485848b70db782306ecde601", + "version": "0.22.5", + "port-version": 0 + }, + { + "git-tree": "d9cc9b8256d9653fe2d484ecf268f7368666d942", + "version": "0.22.4", + "port-version": 2 + }, + { + "git-tree": "bd31edd407c0889c864c1e8854be92b602a4e29f", + "version": "0.22.4", + "port-version": 1 + }, + { + "git-tree": "e30ed5daac31351d72a221b74c1b8c4ecd06b694", + "version": "0.22.4", + "port-version": 0 + }, + { + "git-tree": "20e8e3535959bba6066d8887bb1c95e622d86f5a", + "version": "0.21.1", + "port-version": 3 + }, + { + "git-tree": "0915f060ea0fb91c5a2356f2171de0a714e79437", + "version": "0.21.1", + "port-version": 2 + }, + { + "git-tree": "6cc01d324fb1fc9a461212e5577ec9897d7da345", + "version": "0.21.1", + "port-version": 1 + }, + { + "git-tree": "4c583e9adc3ab9a044b241466cebedf162cdc410", + "version": "0.21.1", + "port-version": 0 + }, + { + "git-tree": "5bf45743516e2ae999eb14017370828e237ad533", + "version": "0.21", + "port-version": 9 + }, + { + "git-tree": "d1dc6ee2684911bfcb6f63c498413a118c235ba5", + "version": "0.21", + "port-version": 8 + }, { "git-tree": "f843c5eedf82612df5fef2bfadfe4df8426301a6", "version": "0.21", diff --git a/versions/g-/gettimeofday.json b/versions/g-/gettimeofday.json index 3dc3c259ef98ae..48ec6f483e00d8 100644 --- a/versions/g-/gettimeofday.json +++ b/versions/g-/gettimeofday.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "31b00a1043898e49c04087100294c10d37094e8d", + "version-date": "2017-10-14", + "port-version": 6 + }, + { + "git-tree": "2e68f17377612bdb5d084079d8d1376f696bb4a6", + "version-date": "2017-10-14", + "port-version": 5 + }, { "git-tree": "c39979379abaf1ecee42cbae6e83d68cfb201f13", "version-string": "2017-10-14", diff --git a/versions/g-/gflags.json b/versions/g-/gflags.json index e20ff41292fc09..ce83cff9e9e403 100644 --- a/versions/g-/gflags.json +++ b/versions/g-/gflags.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "a5da46db14e97a98ba1469ae46d14ce80308d5a8", + "version": "2.2.2", + "port-version": 9 + }, + { + "git-tree": "606a0a3ad49f6e6276672e230431e6797d56180e", + "version": "2.2.2", + "port-version": 8 + }, + { + "git-tree": "1c57a920065312afe80b1b8a3595f82005da61ee", + "version": "2.2.2", + "port-version": 7 + }, + { + "git-tree": "8231f09b610ad8610fbbdcbb53fc9bb32af807a7", + "version": "2.2.2", + "port-version": 6 + }, { "git-tree": "7c1fe35b0a7e9b5b9f58b16c6cc08caa108fb945", "version-string": "2.2.2", diff --git a/versions/g-/ghc-filesystem.json b/versions/g-/ghc-filesystem.json index 8c7d3dc339433a..6513b4580690ee 100644 --- a/versions/g-/ghc-filesystem.json +++ b/versions/g-/ghc-filesystem.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "f97ed716062394f0aefd66abc090cbdcc4dff1ae", + "version": "1.5.14", + "port-version": 0 + }, + { + "git-tree": "5b9f92d368901abd7af0b622f0c32f7e76e62093", + "version": "1.5.12", + "port-version": 0 + }, { "git-tree": "9d4afd633149f9feea72ebfc90f1ab86135fb5f2", "version": "1.5.10", diff --git a/versions/g-/gherkin-c.json b/versions/g-/gherkin-c.json index a274ee39da2469..71207c43204f93 100644 --- a/versions/g-/gherkin-c.json +++ b/versions/g-/gherkin-c.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "cb7cfa3a82651ab27840177189e5dc7938bf1241", + "version-date": "2019-10-07", + "port-version": 3 + }, { "git-tree": "e59a73d00ecbf68ae14b61beec141128d8f94612", "version-string": "2019-10-07", diff --git a/versions/g-/giflib.json b/versions/g-/giflib.json index 8c2fdd37c994c0..461dd5461ef805 100644 --- a/versions/g-/giflib.json +++ b/versions/g-/giflib.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "3763c06b1c8fce08fe96398c747b343707832d62", + "version": "5.2.2", + "port-version": 0 + }, + { + "git-tree": "8ba54b2de43f1fe619e5a7e554f108fc01a771da", + "version": "5.2.1", + "port-version": 3 + }, + { + "git-tree": "5b5833304ba0e1be5ff125f265d1f2e1098a93cb", + "version": "5.2.1", + "port-version": 2 + }, + { + "git-tree": "14178ec83d76a40e314adcf9bba75b63e99bc56d", + "version": "5.2.1", + "port-version": 1 + }, { "git-tree": "7cfc37d67d8662dd5fa5bf698a61ebbd657060cc", "version": "5.2.1", diff --git a/versions/g-/ginkgo.json b/versions/g-/ginkgo.json index d4eb05b73693a4..f7fcc7b63a10f2 100644 --- a/versions/g-/ginkgo.json +++ b/versions/g-/ginkgo.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "f40f0d719c04549720682c6481f5e4f8996aeae4", + "version-semver": "1.8.0", + "port-version": 0 + }, + { + "git-tree": "5bb942245eec037ad042ba29ec426573031513e7", + "version-semver": "1.7.0", + "port-version": 0 + }, + { + "git-tree": "09962781615d028b2b96be5aef56b0590fd7b54f", + "version-semver": "1.6.0", + "port-version": 0 + }, + { + "git-tree": "779490458d51f75bc22ed324afceffe0c3b0ee12", + "version-semver": "1.4.0", + "port-version": 2 + }, + { + "git-tree": "8b8d35300c7b2bd3efcd7e645579df0a9e67d86d", + "version-semver": "1.4.0", + "port-version": 1 + }, { "git-tree": "da56f7ca349bebb4061a04d4d3b3d9b8fde9a1c8", "version-semver": "1.4.0", diff --git a/versions/g-/gklib.json b/versions/g-/gklib.json new file mode 100644 index 00000000000000..9bcdbbbcaaec00 --- /dev/null +++ b/versions/g-/gklib.json @@ -0,0 +1,24 @@ +{ + "versions": [ + { + "git-tree": "ad20fb84d82834d6de1f5bdf45851eeadd1c01e6", + "version-date": "2023-03-27", + "port-version": 0 + }, + { + "git-tree": "7f9c6f0e711860da19899fbe78e027d0a5e8cfc1", + "version-date": "2022-07-27", + "port-version": 2 + }, + { + "git-tree": "be7b5aca0025910c7dbbc260564bf7d56ada1a3c", + "version-date": "2022-07-27", + "port-version": 1 + }, + { + "git-tree": "1f3a1ab0a9e1fe871e03b766ea7dbf8b10f54658", + "version-date": "2022-07-27", + "port-version": 0 + } + ] +} diff --git a/versions/g-/gl2ps.json b/versions/g-/gl2ps.json index 87cc00eaf6f538..c4ba380363e6a1 100644 --- a/versions/g-/gl2ps.json +++ b/versions/g-/gl2ps.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "1f0cdea5ea747e24f3a5fba076e645e1292a832f", + "version": "1.4.2", + "port-version": 4 + }, + { + "git-tree": "3607998f92ba0e61fbcae891aa6a8aa996e3bf0a", + "version": "1.4.2", + "port-version": 3 + }, + { + "git-tree": "65c00e3d59f426a74f7696bebc18ca8cf441c20d", + "version": "1.4.2", + "port-version": 2 + }, { "git-tree": "25f89a8ea4ae01f360444c1583dc6549d3857966", "version-string": "1.4.2", diff --git a/versions/g-/gl3w.json b/versions/g-/gl3w.json index a718bca62bd5d1..c2a8e61c210e51 100644 --- a/versions/g-/gl3w.json +++ b/versions/g-/gl3w.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "a79b7a69f540bf9cd71464cabdfdd5cd67e72072", + "version-date": "2018-05-31", + "port-version": 5 + }, + { + "git-tree": "618626b6f1118dc2c80fa7bd2aae497c0d83b7c1", + "version-date": "2018-05-31", + "port-version": 4 + }, { "git-tree": "bbd82479631534cfe954646d63d29734c3b7728f", "version-date": "2018-05-31", diff --git a/versions/g-/glad.json b/versions/g-/glad.json index 951f19b2764836..052be36f860953 100644 --- a/versions/g-/glad.json +++ b/versions/g-/glad.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "fa93b14c1581057e1d14650f5f15c9b0757dd548", + "version": "0.1.36", + "port-version": 0 + }, + { + "git-tree": "2ebf6ed85a860c74f8649571e168900426cbb944", + "version": "0.1.34", + "port-version": 3 + }, { "git-tree": "2bb03ac897eea39575c41edf7353df6a47af3f35", "version": "0.1.34", @@ -10,11 +20,6 @@ "version": "0.1.34", "port-version": 0 }, - { - "git-tree": "d222f56675de6eedfc3a25e5a4b93fee39747f49", - "version-string": "0.1.34", - "port-version": 2 - }, { "git-tree": "abaac8ade7697e7f6ae4a82c981aafa2cc6a5359", "version-string": "0.1.33-1", diff --git a/versions/g-/glaze.json b/versions/g-/glaze.json new file mode 100644 index 00000000000000..9f0d6ed5af1b8a --- /dev/null +++ b/versions/g-/glaze.json @@ -0,0 +1,209 @@ +{ + "versions": [ + { + "git-tree": "df55c310c67502aeb69438b8176bc8e772dbdc75", + "version": "3.6.1", + "port-version": 0 + }, + { + "git-tree": "a72e224ed050e70009e4b5f0b1e6415709a345e6", + "version": "3.4.1", + "port-version": 0 + }, + { + "git-tree": "1815ecb8bbd0dfa3d9c1af0d9dc77884fd919ee1", + "version": "3.4.0", + "port-version": 0 + }, + { + "git-tree": "6ac9ee2919ec616529ce0442f62f64e64d949bd4", + "version": "3.3.1", + "port-version": 0 + }, + { + "git-tree": "ed17d47a8a28717e1e8ea776e7c1091727bb40f8", + "version": "3.2.5", + "port-version": 0 + }, + { + "git-tree": "07fd2554e69c3af68015a718993df81afa508994", + "version": "2.9.2", + "port-version": 0 + }, + { + "git-tree": "e4c7bcd9cc4ef7d76f13f2406500af8e13bb25e2", + "version": "2.6.9", + "port-version": 0 + }, + { + "git-tree": "d180879d25498bad0dedec2ddc5f6fe275eb3c16", + "version": "2.6.4", + "port-version": 0 + }, + { + "git-tree": "912601121d9548848ad616e1ef81861f40dc85ad", + "version": "2.6.3", + "port-version": 0 + }, + { + "git-tree": "16deb95d39d20729890981b0e267af2fb8db05ae", + "version": "2.6.1", + "port-version": 0 + }, + { + "git-tree": "6f4e76d7b2f253f349d4684c68d298cbad0e4337", + "version": "2.4.5", + "port-version": 0 + }, + { + "git-tree": "df8c15eca4167eaa60377594f777b687172f1155", + "version": "2.1.7", + "port-version": 0 + }, + { + "git-tree": "35a57a6f33d918ac140c6c24f52af9a1e044f560", + "version": "2.1.4", + "port-version": 0 + }, + { + "git-tree": "60d599a5df16ae13d1519a08f4477b32c829c250", + "version": "2.0.9", + "port-version": 0 + }, + { + "git-tree": "b044bd9936e35c88fa4ea093f037ba9ecf42e0f9", + "version": "2.0.6", + "port-version": 0 + }, + { + "git-tree": "f0eec0f3dc54bd24ecb320dc13258b193992ce11", + "version": "2.0.0", + "port-version": 0 + }, + { + "git-tree": "292cb129d7afdb63c4cd1881b863581725fa1f29", + "version": "1.9.9", + "port-version": 0 + }, + { + "git-tree": "90e9524cec84329ef65d58ce265d64567ff861f5", + "version": "1.9.6", + "port-version": 0 + }, + { + "git-tree": "ddf42a4875b810fc720e4bf4ae95613e1d79e29b", + "version": "1.9.5", + "port-version": 0 + }, + { + "git-tree": "8f6415b681ece13c2834e83c9876a845ce718eb4", + "version": "1.9.3", + "port-version": 0 + }, + { + "git-tree": "dfb0ed37ac62c7704664274ee0219d7823fec9d1", + "version": "1.9.2", + "port-version": 0 + }, + { + "git-tree": "feacc21a5c09665421fdbf6bbfe8c5bf8553f4d9", + "version": "1.8.4", + "port-version": 0 + }, + { + "git-tree": "8bc431f655de61084866947ee92fcf59cba56e0e", + "version": "1.8.1", + "port-version": 0 + }, + { + "git-tree": "69ee3541bd226042e5dab58f37f9b89ade5be622", + "version": "1.8.0", + "port-version": 0 + }, + { + "git-tree": "62292c7ec8c2e2d5ad2b5b3197cbf1647cbee342", + "version": "1.6.1", + "port-version": 0 + }, + { + "git-tree": "55fc4a50001f9e0da4aecfa3ffb82fd988cde742", + "version": "1.6.0", + "port-version": 0 + }, + { + "git-tree": "50a00a801ec368382628caa2da7c8a0f09815456", + "version": "1.5.7", + "port-version": 0 + }, + { + "git-tree": "4146e402c56c4d3678ccf0fc30a303fe4a628bcb", + "version": "1.5.6", + "port-version": 0 + }, + { + "git-tree": "c4b6e2335f681c7d5183776b595718244791df78", + "version": "1.5.4", + "port-version": 0 + }, + { + "git-tree": "bfeb3e970fc4dd67fcf667cc5e50d3833a07561b", + "version": "1.5.1", + "port-version": 0 + }, + { + "git-tree": "0364df0e7dfc35c4b82b73583cc259bd51580a80", + "version": "1.4.3", + "port-version": 0 + }, + { + "git-tree": "88849c5a68d5bb707658928cb55d9b3fd24c6617", + "version": "1.4.1", + "port-version": 0 + }, + { + "git-tree": "2ab2277d5f2a066a86c9c67d394b8449d3257c66", + "version": "1.3.5", + "port-version": 0 + }, + { + "git-tree": "6df476658691fa765546e70d6cc9530d0901bd83", + "version": "1.3.3", + "port-version": 1 + }, + { + "git-tree": "b9542adda87119b7456e9c6f57d31c19cebcc880", + "version": "1.3.3", + "port-version": 0 + }, + { + "git-tree": "6669c8c2a94f932485ee5b2e708d95c672f13b8c", + "version": "1.3.2", + "port-version": 0 + }, + { + "git-tree": "f158620e34813dc071685d10ccc40c079f2b2ca9", + "version": "1.3.1", + "port-version": 0 + }, + { + "git-tree": "fe60168d31fea0898c1282a01d8fddead9af6bd7", + "version": "1.2.6", + "port-version": 0 + }, + { + "git-tree": "ccae5c60306415e7f7bd44e4ebb91b972b550c10", + "version": "1.2.3", + "port-version": 0 + }, + { + "git-tree": "16c37a75de3f8e60dca6acec5bb868b869cb7e76", + "version": "1.2.2", + "port-version": 0 + }, + { + "git-tree": "e4e6b08e9aa73b948606044ed5c5c95c471a8f1f", + "version": "1.2.1", + "port-version": 0 + } + ] +} diff --git a/versions/g-/glbinding.json b/versions/g-/glbinding.json index 657a17a96eef8c..d5e9c8711fdb69 100644 --- a/versions/g-/glbinding.json +++ b/versions/g-/glbinding.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "5932f5a201e721aa59a787380b9448e1018bb4b3", + "version": "3.1.0", + "port-version": 4 + }, { "git-tree": "6feb489ecd418b013262401ff4911eccf5c03deb", "version-string": "3.1.0", diff --git a/versions/g-/glew.json b/versions/g-/glew.json index 48da5827673c34..bccbda57424b7f 100644 --- a/versions/g-/glew.json +++ b/versions/g-/glew.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "bf42d73479dcd0f239b71dbed4d0d3af22efb294", + "version": "2.2.0", + "port-version": 4 + }, + { + "git-tree": "cfd894e57985fdb9c772bbf28a4aa261759bb6ac", + "version": "2.2.0", + "port-version": 3 + }, + { + "git-tree": "1fbf96a084cd511f49fa7f7009b56bd3d3361fb0", + "version": "2.2.0", + "port-version": 2 + }, + { + "git-tree": "90dfc684e6af42587e36df4e2167d7420424e829", + "version": "2.2.0", + "port-version": 1 + }, { "git-tree": "3211ed09c36542372ab3f1f690a42e2edbb072bc", "version-string": "2.2.0", diff --git a/versions/g-/glfw3.json b/versions/g-/glfw3.json index cd5908a984a0be..d010f0b1a73890 100644 --- a/versions/g-/glfw3.json +++ b/versions/g-/glfw3.json @@ -1,5 +1,50 @@ { "versions": [ + { + "git-tree": "d4bbd4f27c2ca619f57778985120cddcedadb1cc", + "version": "3.4", + "port-version": 1 + }, + { + "git-tree": "fcbaa3b4073da7a24e20e043164075512f027d2d", + "version": "3.4", + "port-version": 0 + }, + { + "git-tree": "347c2801030056251468ce87934b4e9b02c41741", + "version-semver": "3.3.9", + "port-version": 0 + }, + { + "git-tree": "c21a08a861a502b0e10c4a82de391a60bba6a4e6", + "version-semver": "3.3.8", + "port-version": 3 + }, + { + "git-tree": "308cd3ebdf6752e9d5eeb2933f33972c784aa8bd", + "version-semver": "3.3.8", + "port-version": 2 + }, + { + "git-tree": "7e79d23866b44b1f40d766b690baa6f1d9cca7fd", + "version-semver": "3.3.8", + "port-version": 1 + }, + { + "git-tree": "a2a1ebc7845c0e8e6c7d46c0b940f4457cf460d8", + "version-semver": "3.3.8", + "port-version": 0 + }, + { + "git-tree": "1da77592851c5a530a1c96c6d7d554c625b7f509", + "version-semver": "3.3.7", + "port-version": 0 + }, + { + "git-tree": "8a41aae4fb04023a3a94bf3aa66196b0aee2cc8e", + "version-semver": "3.3.6", + "port-version": 0 + }, { "git-tree": "90c6416669c2154f54d3f65e3a2afb8f75ab2aaa", "version-semver": "3.3.5", diff --git a/versions/g-/gli.json b/versions/g-/gli.json index bf68470d3fbaa8..e01c2e7624494e 100644 --- a/versions/g-/gli.json +++ b/versions/g-/gli.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "7505483cb3f7c8f2a8b1c1fccd460687cac6dbf3", + "version-date": "2021-07-06", + "port-version": 2 + }, + { + "git-tree": "773ce8321a978f3dcbdb0755a666715ad00f7b01", + "version-date": "2021-07-06", + "port-version": 1 + }, { "git-tree": "c8960dd5e56bd32e4cd09edacd38a7a311e05fcd", "version-date": "2021-07-06", diff --git a/versions/g-/glib-networking.json b/versions/g-/glib-networking.json new file mode 100644 index 00000000000000..2cfc78078d6dc4 --- /dev/null +++ b/versions/g-/glib-networking.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "e302a8e03221f3ee0c3b1da60be13327bd1e6ed9", + "version": "2.78.0", + "port-version": 0 + } + ] +} diff --git a/versions/g-/glib.json b/versions/g-/glib.json index 5b2f3b0012477c..97e17ffb23efbf 100644 --- a/versions/g-/glib.json +++ b/versions/g-/glib.json @@ -1,5 +1,180 @@ { "versions": [ + { + "git-tree": "3898752019d0ae61bd13a758b603325c152aec87", + "version": "2.80.0", + "port-version": 1 + }, + { + "git-tree": "98c1acbee23caa1307827ce7d8e4f6e38954e560", + "version": "2.80.0", + "port-version": 0 + }, + { + "git-tree": "ee1411dc98162edf7c0e77780050dc8ddc7b3aae", + "version": "2.78.4", + "port-version": 4 + }, + { + "git-tree": "ca77eedd8dca92c9e6c021316e81b9c7f648b58a", + "version": "2.78.4", + "port-version": 3 + }, + { + "git-tree": "cce839ba5ebec8b3a772b2fad1ab73f6bbd5b715", + "version": "2.78.4", + "port-version": 2 + }, + { + "git-tree": "d73077209c5fcb5a0340baf7d8ba76d128c1ab27", + "version": "2.78.4", + "port-version": 1 + }, + { + "git-tree": "d67b03e0a09ec580d051b79321b03182c0030c5f", + "version": "2.78.4", + "port-version": 0 + }, + { + "git-tree": "6c91a4d4382d4d271d13397214c536389fd4a122", + "version": "2.78.1", + "port-version": 0 + }, + { + "git-tree": "cd9adf35a5c743b40cedce00c43542980f338229", + "version": "2.78.0", + "port-version": 0 + }, + { + "git-tree": "4ae4475a91c8ec7f156e5904da9f0c3f02224cdc", + "version": "2.76.5", + "port-version": 0 + }, + { + "git-tree": "ac7af1a224e7dfe9c18e629bf8de7798a0cda932", + "version": "2.76.3", + "port-version": 3 + }, + { + "git-tree": "c4aa04cd3294219ddd4b43c2f02b95c100683156", + "version": "2.76.3", + "port-version": 2 + }, + { + "git-tree": "1d1c3788ae7982f573db3e59116dd1ca885b88a4", + "version": "2.76.3", + "port-version": 1 + }, + { + "git-tree": "32c3e0235a72e62db8c1b248e3096c1d51415ba7", + "version": "2.76.3", + "port-version": 0 + }, + { + "git-tree": "219fb684c85e933ff56764423c86055a7a23ee62", + "version": "2.76.2", + "port-version": 0 + }, + { + "git-tree": "82258d825872b8c0987fe62b759b7602edbed17b", + "version": "2.76.1", + "port-version": 1 + }, + { + "git-tree": "c44e4f3f2265fbdb713b8fecc8dd15418d99021e", + "version": "2.76.1", + "port-version": 0 + }, + { + "git-tree": "e08d2fbb65a5c4cb8a38c83726b35fe5f89dc785", + "version": "2.76.0", + "port-version": 1 + }, + { + "git-tree": "d0f2655ee0af323897720bb9aaf48bc08073b98c", + "version": "2.76.0", + "port-version": 0 + }, + { + "git-tree": "787197c9431b9d1f8a5436aeca0fd1155d26c83b", + "version": "2.75.3", + "port-version": 0 + }, + { + "git-tree": "8f7840ed02d20169b1610123b0f35463c81c523d", + "version": "2.75.1", + "port-version": 0 + }, + { + "git-tree": "d3b428570b820ec1fbedbb37a651c1e1ddcbb91f", + "version": "2.75.0", + "port-version": 0 + }, + { + "git-tree": "62e6236281de8dd6bd983d4d51721374e5559c7c", + "version": "2.74.1", + "port-version": 0 + }, + { + "git-tree": "97fc41e084d04073610421cbdf4bfae0e89fb99c", + "version": "2.74.0", + "port-version": 0 + }, + { + "git-tree": "c9fbf2ec21948d70e4b8d5e633e600344982069f", + "version": "2.72.3", + "port-version": 3 + }, + { + "git-tree": "aed4b2abc6c22c9b49d18ad5ab5d3f12cb330d22", + "version": "2.72.3", + "port-version": 2 + }, + { + "git-tree": "5d5171b8b2d18d7a24e54d5a062aa18b5effb3f4", + "version": "2.72.3", + "port-version": 1 + }, + { + "git-tree": "abff8e76676673462462f949844d3369d93be61d", + "version": "2.72.3", + "port-version": 0 + }, + { + "git-tree": "3fc7533aba85394460293d7ba61abc3170323f1d", + "version": "2.70.5", + "port-version": 2 + }, + { + "git-tree": "23fe84cc74f69a066a1e2a2629a527b9c8d058ad", + "version": "2.70.5", + "port-version": 1 + }, + { + "git-tree": "c9d76755634e72f74de67a04e2713ba0278e772a", + "version": "2.70.5", + "port-version": 0 + }, + { + "git-tree": "83e2d36acbf39c01a33df90c4e65fee0221008aa", + "version": "2.70.1", + "port-version": 2 + }, + { + "git-tree": "52cb59030261a49d5afb22e2f95e5f9d24548532", + "version": "2.70.1", + "port-version": 1 + }, + { + "git-tree": "21a2facd76ae194ca1880c497122f7785750f912", + "version": "2.70.1", + "port-version": 0 + }, + { + "git-tree": "c8d7eeabc89610c8b583c319b572b16e07f3f035", + "version": "2.66.4", + "port-version": 2 + }, { "git-tree": "6207d9439567fbbc29f4468c831ef7c1fa2e6181", "version": "2.66.4", diff --git a/versions/g-/glibmm.json b/versions/g-/glibmm.json index f6c30ddb9e4236..97a1ff42a80349 100644 --- a/versions/g-/glibmm.json +++ b/versions/g-/glibmm.json @@ -1,5 +1,45 @@ { "versions": [ + { + "git-tree": "05b0a2d69b2ddb67eef2f6922dfb06c47c3b33d1", + "version": "2.78.1", + "port-version": 0 + }, + { + "git-tree": "d8a2235a74e6c215246a3ade8ad3248b7e04e439", + "version": "2.76.0", + "port-version": 1 + }, + { + "git-tree": "16125400e378b3a45ff56a2f26573d9312ead0d1", + "version": "2.76.0", + "port-version": 0 + }, + { + "git-tree": "d633ca7a15a77e20cdf515ba74448d59f4e49021", + "version": "2.74.0", + "port-version": 0 + }, + { + "git-tree": "75f0e8e579c069e71bdb773c9e741fc7182e0379", + "version": "2.70.0", + "port-version": 1 + }, + { + "git-tree": "d485de58180f1755b67cb2b829c7c73e4dfae13a", + "version": "2.70.0", + "port-version": 0 + }, + { + "git-tree": "dd76481f04a2d3747dcd2c5eef0333ce5c6d61e5", + "version": "2.68.1", + "port-version": 2 + }, + { + "git-tree": "f0db0bb27bb35a57f5d72b56f5d080545dde76ba", + "version": "2.68.1", + "port-version": 1 + }, { "git-tree": "e43bb60b861fbd9469297581a968e3a647537b4d", "version": "2.68.1", diff --git a/versions/g-/glm.json b/versions/g-/glm.json index e7873160aee5dc..6857a8f664342d 100644 --- a/versions/g-/glm.json +++ b/versions/g-/glm.json @@ -1,5 +1,45 @@ { "versions": [ + { + "git-tree": "f8b09027afe97c717e95bd81d1d4f37c057d1c78", + "version": "1.0.1", + "port-version": 3 + }, + { + "git-tree": "9f323014ca30e742823ae0d6e1a47243000774c1", + "version": "1.0.1", + "port-version": 2 + }, + { + "git-tree": "99ce44c81afa595330ff215934019ac06ff34388", + "version": "1.0.1", + "port-version": 1 + }, + { + "git-tree": "d179945ad5a1fb2dd1772d57d0e99a7f1ff3f6bf", + "version": "1.0.1", + "port-version": 0 + }, + { + "git-tree": "1a0115a7d1f3c29d3ebfa85ed25914d077dbc6a3", + "version": "1.0.0", + "port-version": 1 + }, + { + "git-tree": "ed558e712eafccb124025c665c39f21998c71438", + "version": "1.0.0", + "port-version": 0 + }, + { + "git-tree": "6687c48e237aab1c30cf4c589d08f698f73cf178", + "version-date": "2023-06-08", + "port-version": 0 + }, + { + "git-tree": "b940020b1f2958fcc468c615becec6ca5ad3bff5", + "version": "0.9.9.8", + "port-version": 2 + }, { "git-tree": "4aafac80f39a72fadaf6a31afb961790678062de", "version-string": "0.9.9.8", diff --git a/versions/g-/globjects.json b/versions/g-/globjects.json index 75340cf939c43f..ad69ec0d2ce6f8 100644 --- a/versions/g-/globjects.json +++ b/versions/g-/globjects.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "8ec42a207e240c2fa9d6d2a2b9e794a39ff60784", + "version": "1.1.0", + "port-version": 6 + }, + { + "git-tree": "fb8535a1b4b8e4068db9e102a11c3931c4db22ed", + "version": "1.1.0", + "port-version": 5 + }, { "git-tree": "0d9e98af47d7eb383a98e39c5661e573b1197e8c", "version-string": "1.1.0", diff --git a/versions/g-/glog.json b/versions/g-/glog.json index 8a105b070e2cda..e8aea69225842d 100644 --- a/versions/g-/glog.json +++ b/versions/g-/glog.json @@ -1,5 +1,70 @@ { "versions": [ + { + "git-tree": "da85ebb84a5ed38130c760c9d5f9b2d598b39e2e", + "version": "0.7.1", + "port-version": 0 + }, + { + "git-tree": "4ee5ba62e54f65fa70bd4e1a75dc47e974ef668f", + "version": "0.7.0", + "port-version": 1 + }, + { + "git-tree": "156f77e07786151f8e405514ce79c0865ad13788", + "version": "0.7.0", + "port-version": 0 + }, + { + "git-tree": "3e4dcaa54d409ed758073ef4964cf41d57996e90", + "version": "0.6.0", + "port-version": 3 + }, + { + "git-tree": "cce45164ee522a505686c1794e7c228e44f52d76", + "version": "0.6.0", + "port-version": 2 + }, + { + "git-tree": "1fceaa6733361ea635af35ec1ce9b3caf47e0ffc", + "version": "0.6.0", + "port-version": 1 + }, + { + "git-tree": "b1be508a55f3c9cbd8d78b40ac3739365ff301b7", + "version": "0.6.0", + "port-version": 0 + }, + { + "git-tree": "b1c79ab6934cb1a24d37e2e7c0a73f486f3400c4", + "version": "0.5.0", + "port-version": 5 + }, + { + "git-tree": "bb5f54eba990cc0f03c64e1d09f343dd6cd7b22b", + "version": "0.5.0", + "port-version": 4 + }, + { + "git-tree": "ecb04a5ba4d046af782f62ae7c167bd05b0101a8", + "version": "0.5.0", + "port-version": 3 + }, + { + "git-tree": "10e0077ffa3485fa75178aa8e2a3f8ec0314573b", + "version": "0.5.0", + "port-version": 2 + }, + { + "git-tree": "c0809e03781b0f3f322236ad964b6caa464dfe21", + "version": "0.5.0", + "port-version": 1 + }, + { + "git-tree": "55b03c1cae45ba6b081c9072e6431d720467c82b", + "version": "0.5.0", + "port-version": 0 + }, { "git-tree": "27503732c21f2d6652d12d62b1e9c180c1d33c47", "version-string": "0.4.0", diff --git a/versions/g-/gloo.json b/versions/g-/gloo.json index ca6fac1e07ad98..adb756df6b356f 100644 --- a/versions/g-/gloo.json +++ b/versions/g-/gloo.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "ae23d02fbd7438a580058574bcbda144323a203e", + "version": "20240626", + "port-version": 0 + }, + { + "git-tree": "cc506cd5c27f23c9b2f3fb1d3cfe5774c05e0364", + "version": "20201203", + "port-version": 3 + }, + { + "git-tree": "a48ea12e9618f830268147a2c05fc65769182f0d", + "version": "20201203", + "port-version": 2 + }, + { + "git-tree": "bd6e28e31f8b5d76a887e8b284c63596b9ffd65b", + "version": "20201203", + "port-version": 1 + }, { "git-tree": "18761f45d66d3eae3a73891f39142bbae80460b8", "version-string": "20201203", diff --git a/versions/g-/glpk.json b/versions/g-/glpk.json new file mode 100644 index 00000000000000..4490c03ef49727 --- /dev/null +++ b/versions/g-/glpk.json @@ -0,0 +1,24 @@ +{ + "versions": [ + { + "git-tree": "00933f2c7f77149899b7c69c6d09410fca7f5b1d", + "version": "5.0", + "port-version": 3 + }, + { + "git-tree": "ebfbd1278a8d3e33d1cb52ed7806bf690642ffa6", + "version": "5.0", + "port-version": 2 + }, + { + "git-tree": "4ccc68be5d979b64412919b488ed88b798903ccf", + "version": "5.0", + "port-version": 1 + }, + { + "git-tree": "e1346a1f1cdf3d0b7aa46517ae0f8f0006ac6903", + "version": "5.0", + "port-version": 0 + } + ] +} diff --git a/versions/g-/glslang.json b/versions/g-/glslang.json index 312611485261a5..46dca341d689c9 100644 --- a/versions/g-/glslang.json +++ b/versions/g-/glslang.json @@ -1,5 +1,95 @@ { "versions": [ + { + "git-tree": "238083db89713c6762c7f785176b28183154deed", + "version": "15.0.0", + "port-version": 0 + }, + { + "git-tree": "e38873f484b047a06604fafc6175ae0d2285b042", + "version": "14.3.0", + "port-version": 0 + }, + { + "git-tree": "30ffabc3f5451d8cdd54ca141f9c231d64bb36ae", + "version": "14.2.0", + "port-version": 1 + }, + { + "git-tree": "0af162a02e91b107148e1462bde87b8c4a7f6863", + "version": "14.2.0", + "port-version": 0 + }, + { + "git-tree": "6a7eb16b6fd3f363d9d93118ca14534f5fdc64e8", + "version": "14.0.0", + "port-version": 0 + }, + { + "git-tree": "4a5fb278065c7505c6c2814d8dab0bba3642f194", + "version": "13.1.1", + "port-version": 1 + }, + { + "git-tree": "8296ce09ec51c8495a5bec8d65445b681df27b74", + "version": "13.1.1", + "port-version": 0 + }, + { + "git-tree": "488d78f12e3a376002a80d0058e3973ac75d4fe7", + "version": "13.0.0", + "port-version": 2 + }, + { + "git-tree": "c5c6c37e6477580e47bd5645a3760ff534c689f6", + "version": "13.0.0", + "port-version": 1 + }, + { + "git-tree": "07a60a91ac63383677c203954125ba981d08f53b", + "version": "13.0.0", + "port-version": 0 + }, + { + "git-tree": "796a20fde44858a311783328a0555813894631bb", + "version": "12.2.0", + "port-version": 1 + }, + { + "git-tree": "aaa917d7743ac6e466f2d4ecf20b5745cd44fe98", + "version": "12.2.0", + "port-version": 0 + }, + { + "git-tree": "a2bca93dc0c41e31d464bfed8b2057bdc155abcb", + "version": "12.1.0", + "port-version": 0 + }, + { + "git-tree": "293344780ca0d14b1c23c0b78db72fdf5a059ce0", + "version": "11.13.0", + "port-version": 0 + }, + { + "git-tree": "64952d0b82498ceb8357b5fdf80abf86ec477718", + "version": "11.12.0", + "port-version": 1 + }, + { + "git-tree": "b468ee3d588ae97ba2d03a4723751cac81c80443", + "version": "11.11.0", + "port-version": 1 + }, + { + "git-tree": "15f0fd6fda1d1a10fb5e605b3e38cb66ec7b5011", + "version": "11.11.0", + "port-version": 0 + }, + { + "git-tree": "4d7780995e9523d16a56714fcef0159f18ecfa52", + "version": "11.8.0", + "port-version": 0 + }, { "git-tree": "0e89013d81f909760cdc3ce9015f84ce74621eec", "version": "11.6.0", @@ -10,6 +100,11 @@ "version": "11.5.0", "port-version": 0 }, + { + "git-tree": "a7d9b6a3d936d273c6b1966eb3b8fe8cb1ba28d1", + "version-string": "2019-03-05", + "port-version": 3 + }, { "git-tree": "29f2d736c8273c412c4fcf0fd50da379d1ec9a0b", "version-string": "2019-03-05", diff --git a/versions/g-/glui.json b/versions/g-/glui.json index 00a7d98d6a4fbd..1a32a34bd895ea 100644 --- a/versions/g-/glui.json +++ b/versions/g-/glui.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "8c2b09ac7fb9d890c835c7580c3e0addb996752d", + "version-date": "2019-11-30", + "port-version": 4 + }, + { + "git-tree": "5fb1a005d3f676d62e974dbb3b96dba5c3c7369a", + "version-date": "2019-11-30", + "port-version": 3 + }, + { + "git-tree": "09f3f7fe385d4a84c2b987c3b233a3279837c05f", + "version-date": "2019-11-30", + "port-version": 2 + }, { "git-tree": "435b850a183a1fe599f56df300530e81c107cdfa", "version-string": "2019-11-30", diff --git a/versions/g-/gmime.json b/versions/g-/gmime.json index a2c2c75ccd52fb..4f6711334cb6aa 100644 --- a/versions/g-/gmime.json +++ b/versions/g-/gmime.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "93e8b6f02474e1edb7e99db85020d864ee071ce0", + "version": "3.2.6", + "port-version": 6 + }, + { + "git-tree": "6db1f443a21e7c2f4004f8039b562ca1506f966c", + "version": "3.2.6", + "port-version": 5 + }, + { + "git-tree": "05c799167bca25a0ed69cf87d63cfe087a5daa83", + "version": "3.2.6", + "port-version": 4 + }, + { + "git-tree": "84aa2f50c54bb6f9bff5623b67ec8b7c2e427cbd", + "version": "3.2.6", + "port-version": 3 + }, { "git-tree": "149f972ffe6870c4480e0700e8446f1d1dd358eb", "version": "3.2.6", diff --git a/versions/g-/gmmlib.json b/versions/g-/gmmlib.json index dac45e5eec1af1..16c6f6ea6aee0b 100644 --- a/versions/g-/gmmlib.json +++ b/versions/g-/gmmlib.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "22cc6e33aa67a6775a390d87f897e480b99e0a5f", + "version": "22.5.2", + "port-version": 0 + }, + { + "git-tree": "9fed467a77404a49cada7ca4c3435f6f2dba458e", + "version": "22.3.20", + "port-version": 0 + }, + { + "git-tree": "7f7e953649b6c9b189ade0aa39fb4ac5689322c3", + "version": "22.3.17", + "port-version": 0 + }, + { + "git-tree": "04bd253bdd2f2e7e02b69feb0d72854fd663d3fb", + "version": "22.3.12", + "port-version": 0 + }, + { + "git-tree": "d7dbf37aa324f038b12f99d697da82299d3ec9a0", + "version": "21.3.2", + "port-version": 1 + }, { "git-tree": "5b69783d8bdff160371ecc494af42d6ec8d8ffa0", "version": "21.3.2", diff --git a/versions/g-/gmp.json b/versions/g-/gmp.json index 52dbc389f06f3d..589c535fdf7bc9 100644 --- a/versions/g-/gmp.json +++ b/versions/g-/gmp.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "0634ea068717e4b97b9a9d767d70179b909657b6", + "version": "6.3.0", + "port-version": 1 + }, + { + "git-tree": "c28d96e8dd3ed941ba550f1e9d9f7bf1f2a83ac8", + "version": "6.3.0", + "port-version": 0 + }, + { + "git-tree": "726604ff590362102d805e16508ae20730583101", + "version": "6.2.1", + "port-version": 21 + }, + { + "git-tree": "5925ffa7bf1165b7ca3144e4253a19dcfc47a5ad", + "version": "6.2.1", + "port-version": 20 + }, + { + "git-tree": "e0f2cfc5cc1dea868ccad4363887bf9593b6c021", + "version": "6.2.1", + "port-version": 19 + }, + { + "git-tree": "efae5abe8271dc5c25bfa47b9cc146a29e02dc05", + "version": "6.2.1", + "port-version": 18 + }, + { + "git-tree": "82d0d40ea6ffa93a17c696a2c2fac9a436d67958", + "version": "6.2.1", + "port-version": 17 + }, + { + "git-tree": "dfe62625c288d20cd69758931e19feda98c7e3e8", + "version": "6.2.1", + "port-version": 16 + }, + { + "git-tree": "3c2b66f41d7f45ed83f7819067abe6bf2c6718b3", + "version": "6.2.1", + "port-version": 15 + }, + { + "git-tree": "78ec3d2e22e85904faa5c2e72b2f5b938f631b75", + "version": "6.2.1", + "port-version": 14 + }, + { + "git-tree": "28b5b46e27a69da50c1cd0a8be5d0a32cbca120b", + "version": "6.2.1", + "port-version": 13 + }, + { + "git-tree": "53a7476d7dc1a0a00be2ef9578ba87c3bc13f06f", + "version": "6.2.1", + "port-version": 12 + }, + { + "git-tree": "678326aeaf5a7fed7d24a2184cb0d483336cac74", + "version": "6.2.1", + "port-version": 11 + }, + { + "git-tree": "f4748213535c3fd004de44f6b1f15d123927cce6", + "version": "6.2.1", + "port-version": 10 + }, + { + "git-tree": "7b9a71843073bf4a86bb64ddf219c9900ebb3dbd", + "version": "6.2.1", + "port-version": 9 + }, + { + "git-tree": "8d09c9addf60d381cabe4c565cb59b27f5b2bdc7", + "version-string": "6.2.1", + "port-version": 8 + }, { "git-tree": "5d207c0d8a6481f96f2277fd3245f2a80456a706", "version-string": "6.2.1", diff --git a/versions/g-/gmsh.json b/versions/g-/gmsh.json new file mode 100644 index 00000000000000..a7514bdcaf547d --- /dev/null +++ b/versions/g-/gmsh.json @@ -0,0 +1,29 @@ +{ + "versions": [ + { + "git-tree": "331cdfb9f22e883d088bab70f556e6d424ca61b5", + "version": "4.13.1", + "port-version": 0 + }, + { + "git-tree": "b32cf3fd3185169073c2aa58a2758fa7fe153808", + "version": "4.12.2", + "port-version": 1 + }, + { + "git-tree": "d97f6df221dfe46e532d3f9d27c4dbd3bbdac0ea", + "version": "4.12.2", + "port-version": 0 + }, + { + "git-tree": "4b2ce12dd16815e31348c4dba93b40ec10e815f3", + "version": "4.11.1", + "port-version": 0 + }, + { + "git-tree": "d01377e2003c3ea5ef7a6b9fb215a086e5f75eed", + "version": "4.9.0", + "port-version": 0 + } + ] +} diff --git a/versions/g-/gobject-introspection.json b/versions/g-/gobject-introspection.json new file mode 100644 index 00000000000000..89c610a58f8025 --- /dev/null +++ b/versions/g-/gobject-introspection.json @@ -0,0 +1,59 @@ +{ + "versions": [ + { + "git-tree": "a79249743886d0325fa6ba7dea173c6d3a7b6d40", + "version": "1.72.0", + "port-version": 8 + }, + { + "git-tree": "9d0cfb4e7056136db4c9def1e64b88b7417dc0e8", + "version": "1.72.0", + "port-version": 7 + }, + { + "git-tree": "aa7163808411a8ff5641022957909a6d681cea69", + "version": "1.72.0", + "port-version": 6 + }, + { + "git-tree": "a697a0e2fa6d441dc5008a6d128a9a8f3e2440ab", + "version": "1.72.0", + "port-version": 5 + }, + { + "git-tree": "097d9982b8667ff8d67107e9de262d3900e59631", + "version": "1.72.0", + "port-version": 4 + }, + { + "git-tree": "47ab422de57e980b1294daf095a942d3ea36ae98", + "version": "1.72.0", + "port-version": 3 + }, + { + "git-tree": "1c57bf1b1ead704fc0899cb496732c42e5330cc4", + "version": "1.72.0", + "port-version": 2 + }, + { + "git-tree": "a74d57d679dac22f5b60c5b7da97cad7ecb3d0fb", + "version": "1.72.0", + "port-version": 1 + }, + { + "git-tree": "7af27cca9283357e5b7447e5a1c6583afc50c793", + "version": "1.72.0", + "port-version": 0 + }, + { + "git-tree": "a39c3bd1142fd69e6dba29cf3bd4c7e93b049406", + "version": "1.70.0", + "port-version": 1 + }, + { + "git-tree": "5f162cfae947901b4110ea23cb5163699a079cfe", + "version": "1.70.0", + "port-version": 0 + } + ] +} diff --git a/versions/g-/godot-cpp.json b/versions/g-/godot-cpp.json new file mode 100644 index 00000000000000..aab76c8abb0861 --- /dev/null +++ b/versions/g-/godot-cpp.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "561f56e438444e007a1b6abbcd77b33b6d64ff2c", + "version": "4.3", + "port-version": 0 + }, + { + "git-tree": "3125afbc0a8a200f3a3213b8a4be710ad3190890", + "version": "4.2.1", + "port-version": 0 + } + ] +} diff --git a/versions/g-/google-cloud-cpp.json b/versions/g-/google-cloud-cpp.json index 5e4e1739ad5f0a..279164c829b611 100644 --- a/versions/g-/google-cloud-cpp.json +++ b/versions/g-/google-cloud-cpp.json @@ -1,5 +1,325 @@ { "versions": [ + { + "git-tree": "b91c4361219e502e4629d0172e8200aaf69c2694", + "version": "2.31.0", + "port-version": 0 + }, + { + "git-tree": "50da62f4ab118b0cec820174bf07744014b03591", + "version": "2.30.0", + "port-version": 0 + }, + { + "git-tree": "13cd537faaf0b58a05831fd38ce7e1d9950709dc", + "version": "2.29.0", + "port-version": 0 + }, + { + "git-tree": "9b77ae60bffb897a84f15bcf11923eb3d1ef2f04", + "version": "2.28.0", + "port-version": 1 + }, + { + "git-tree": "b6a996f7fdaeca872d6c37ecbd0a2cfe2aa0ee16", + "version": "2.28.0", + "port-version": 0 + }, + { + "git-tree": "023c367ab27dc93883b8cc894428b6717eb7055b", + "version": "2.27.0", + "port-version": 0 + }, + { + "git-tree": "79809a3d4f368d9afe5eac6f10d892311b464e00", + "version": "2.26.0", + "port-version": 1 + }, + { + "git-tree": "6f92046f144ea5804abafe724ea2fec115dad148", + "version": "2.26.0", + "port-version": 0 + }, + { + "git-tree": "6761c461a752e56986cbd9887198f9daced30b0d", + "version": "2.25.0", + "port-version": 0 + }, + { + "git-tree": "339cf73b54f41dadee8c436b55791521612fcce9", + "version": "2.24.0", + "port-version": 0 + }, + { + "git-tree": "497d6d4bc7aecae76ea08934fab2ea655fc634ca", + "version": "2.23.0", + "port-version": 1 + }, + { + "git-tree": "bdd2c8a586337113246e4bb739b6d1d21e638b34", + "version": "2.23.0", + "port-version": 0 + }, + { + "git-tree": "671453ab8dafcf8bb0bbfa87a3649c26c6236942", + "version": "2.22.0", + "port-version": 1 + }, + { + "git-tree": "6a57a0d679af7122244a1d5180c8d43a96f297b7", + "version": "2.22.0", + "port-version": 0 + }, + { + "git-tree": "d8f3be8b308c4858ec0226b7aebe1e55a21298f4", + "version": "2.21.0", + "port-version": 0 + }, + { + "git-tree": "363eb6725f35aaefdbd1da17ab0a3d1bd93e90cd", + "version": "2.20.0", + "port-version": 1 + }, + { + "git-tree": "3b6b859d3c9db3328c9cb34949d5d618f4999090", + "version": "2.20.0", + "port-version": 0 + }, + { + "git-tree": "815f9e2c25c4aa47b16ec69ac6c41e2d52655d89", + "version": "2.19.0", + "port-version": 1 + }, + { + "git-tree": "cda5a5192b0d1310376b1370890e1d38755c076a", + "version": "2.19.0", + "port-version": 0 + }, + { + "git-tree": "21cf84757dd988f8b1ea4aa318002a4cc047b697", + "version": "2.18.0", + "port-version": 0 + }, + { + "git-tree": "2a52d32521f59da4d2ecfe7beffe13bab448ea64", + "version": "2.17.0", + "port-version": 2 + }, + { + "git-tree": "eb4b2fd7eea450ced2e6f33dcd9af1237f2de3c2", + "version": "2.17.0", + "port-version": 1 + }, + { + "git-tree": "cfe978bbc8c0f0e98f02aaaf2ab546f08107ce95", + "version": "2.17.0", + "port-version": 0 + }, + { + "git-tree": "76121e57d4d9f0ce925973295ee30a574d448e4f", + "version": "2.16.0", + "port-version": 0 + }, + { + "git-tree": "6b622eca80c311ef081e80432d56f13d9c8f0d72", + "version": "2.15.1", + "port-version": 0 + }, + { + "git-tree": "abe57efc591eb204c5e39b2a78c5c1d6832fc236", + "version": "2.15.0", + "port-version": 0 + }, + { + "git-tree": "d32a3fa190564c35057874f3912f61ebf07852b7", + "version": "2.14.0", + "port-version": 1 + }, + { + "git-tree": "696c1d17cd2174ffde1c0d53779b76e8d98d924a", + "version": "2.14.0", + "port-version": 0 + }, + { + "git-tree": "c067a236b62d38d1f56a658b086039bf22441c4a", + "version": "2.13.0", + "port-version": 0 + }, + { + "git-tree": "f7179212beeb134849f381dbe2c200580cc37c97", + "version": "2.12.0", + "port-version": 0 + }, + { + "git-tree": "0a4dc6845aca21d78853e4f6bc11e9bc5174b7b2", + "version": "2.11.0", + "port-version": 0 + }, + { + "git-tree": "c3c69ec65e243e929646ca08f0697849d2d78191", + "version": "2.10.0", + "port-version": 0 + }, + { + "git-tree": "4f9ab675a9cb385078d01716543e99db9a95135a", + "version": "2.9.0", + "port-version": 0 + }, + { + "git-tree": "cd39ca22d68218395284a484878ecf7774f1a23c", + "version": "2.8.0", + "port-version": 0 + }, + { + "git-tree": "9430285a9f961b1defe7394130aac23e6f65b97f", + "version": "2.7.0", + "port-version": 0 + }, + { + "git-tree": "3cf693b6f222dfea1458f2a576f6e4ff270efac2", + "version": "2.6.0", + "port-version": 0 + }, + { + "git-tree": "4c30065de0805a0b44a0f913541b4824286a053a", + "version": "2.5.0", + "port-version": 1 + }, + { + "git-tree": "ca9ad64f3cb29e1d51281a0e2679d0da3468f5c8", + "version": "2.5.0", + "port-version": 0 + }, + { + "git-tree": "f3ada0142b3cd88fbafd2cb8d2d9323c0da62dcb", + "version": "2.4.0", + "port-version": 0 + }, + { + "git-tree": "653d6d11f8a3dade7985f982ae09471dc34b9d7d", + "version": "2.3.0", + "port-version": 0 + }, + { + "git-tree": "1787308d659051c50c95298d855cd7ad5308d8b4", + "version": "2.2.0", + "port-version": 1 + }, + { + "git-tree": "47537b3b241e2f6a757553ad9475c44c7e13eb01", + "version": "2.2.0", + "port-version": 0 + }, + { + "git-tree": "8e675db53dae8b88be806ecd93411810ee8048d7", + "version": "2.1.0", + "port-version": 2 + }, + { + "git-tree": "a70cc631d25b110ce203a0f571689304fb0e8595", + "version": "2.1.0", + "port-version": 1 + }, + { + "git-tree": "a68fd18fa28b5bbe4807c7ed32ed45c0d4392dd1", + "version": "2.1.0", + "port-version": 0 + }, + { + "git-tree": "80997c40db6cb1d4e51f77875f75bf3a8046680f", + "version": "2.0.1", + "port-version": 0 + }, + { + "git-tree": "71a72e78da707ee567b96bc835cf25cd8e8eb975", + "version": "2.0.0", + "port-version": 0 + }, + { + "git-tree": "95315156a8c6fefdde56b6c4718062975ff7e0ce", + "version": "1.42.0", + "port-version": 0 + }, + { + "git-tree": "a6fac62fee7c3ad470f81ac87fcdf19d5a85f8b8", + "version": "1.41.0", + "port-version": 0 + }, + { + "git-tree": "506bdfbf9040c856f8f3a4a2c183da38f9030817", + "version": "1.40.1", + "port-version": 1 + }, + { + "git-tree": "2a18f7bea0f4811da422b3099c4331305cb1f617", + "version": "1.40.1", + "port-version": 0 + }, + { + "git-tree": "7f6839d85455e137c21bf5bf894e00e0327c3423", + "version": "1.39.0", + "port-version": 1 + }, + { + "git-tree": "ca8e8015d59f4f5e03b0a257d46506c2b0219a71", + "version": "1.39.0", + "port-version": 0 + }, + { + "git-tree": "a22f467e483356f9ce6b6d8502385d447c28912a", + "version": "1.38.0", + "port-version": 2 + }, + { + "git-tree": "284b1c6a7a7ac2d2d878aa68766b7db3c6775314", + "version": "1.38.0", + "port-version": 1 + }, + { + "git-tree": "f67a7068dcb56bb2a97b03a6960d522b71eb28f5", + "version": "1.38.0", + "port-version": 0 + }, + { + "git-tree": "b986c9bce793574d2a4936c1b23e705aa8b29abc", + "version": "1.37.0", + "port-version": 0 + }, + { + "git-tree": "15cf3b112010a1f5c8ec0948f135a5e1863a2246", + "version": "1.36.0", + "port-version": 1 + }, + { + "git-tree": "7b5a4cd75e98700c970afb3b0f6de808bc954ef3", + "version": "1.36.0", + "port-version": 0 + }, + { + "git-tree": "cb69d19a2e45c9dae1a8caa1ee5898b4344cb7f1", + "version": "1.35.0", + "port-version": 2 + }, + { + "git-tree": "5df9e36ebb6dd75abc2a5ff3aebdd61719739e8e", + "version": "1.35.0", + "port-version": 1 + }, + { + "git-tree": "171fbf69839919f9cbd18e7d1d3c4375920c4ae5", + "version": "1.35.0", + "port-version": 0 + }, + { + "git-tree": "3a3519f9f0fc9833e8f4dd815aea69b385ea6885", + "version": "1.34.1", + "port-version": 0 + }, + { + "git-tree": "d0975c563a68cf3d45c97c420e3e83af83620127", + "version": "1.34.0", + "port-version": 0 + }, { "git-tree": "3c272f2136618359a7e387fdc45a434e25e4ce85", "version": "1.33.0", diff --git a/versions/g-/googleapis.json b/versions/g-/googleapis.json index 31dd46db5a1988..434695b9b1f1e5 100644 --- a/versions/g-/googleapis.json +++ b/versions/g-/googleapis.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "cf8608be179792a9ed5de5aa7837778a75623889", + "version-string": "alias", + "port-version": 2 + }, { "git-tree": "1d1994c5a5daa97ce12d638f9be750ce2b63b5ef", "version-string": "alias", diff --git a/versions/g-/gperf.json b/versions/g-/gperf.json index 173f43225a742e..11fb42d0fc9f6a 100644 --- a/versions/g-/gperf.json +++ b/versions/g-/gperf.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "590e19515bff5b0abc6d9f73ba20a19a71555a32", + "version": "3.1", + "port-version": 6 + }, + { + "git-tree": "c1dc7145f2a0607798bfdaede7bf064b88e908ac", + "version": "3.1", + "port-version": 5 + }, + { + "git-tree": "2fd0763af6d1af5d123d81c77fe9062d33b3e918", + "version": "3.1", + "port-version": 4 + }, + { + "git-tree": "15455ef99f1ce92d079d047e90fc486c098c6b18", + "version": "3.1", + "port-version": 3 + }, { "git-tree": "b8854df263b141671e3463bb19ca258cf0c641d2", "version-string": "3.1", diff --git a/versions/g-/gperftools.json b/versions/g-/gperftools.json index 1f2a5a93258447..d375ba8c550dc4 100644 --- a/versions/g-/gperftools.json +++ b/versions/g-/gperftools.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "942debf1003954f938f11be718ad6582b3059c00", + "version": "2.16", + "port-version": 0 + }, + { + "git-tree": "9de2b6bb7a1d0a80fe402a8561161e3cac4ede19", + "version": "2.10", + "port-version": 2 + }, + { + "git-tree": "ebb8ef920067346d4633cc78ee176f7ed9bc89d4", + "version": "2.10", + "port-version": 1 + }, + { + "git-tree": "a3e7b08a6dcd261b62d0fee3d7f00de84c3b0094", + "version": "2.10", + "port-version": 0 + }, + { + "git-tree": "0840bfaf247735ffd902de5536b4ce2f411a77e3", + "version-date": "2019-09-02", + "port-version": 5 + }, + { + "git-tree": "f6296ad4ccaeca6a3f7747fc173c78cb8f21b095", + "version-date": "2019-09-02", + "port-version": 4 + }, + { + "git-tree": "cc4a899d2089a6a683a2cbc8fc5ab6dae3fc45de", + "version-date": "2019-09-02", + "port-version": 3 + }, { "git-tree": "7bf526ef5e6a6a1dfb5fa4cb6941e415b64b94b3", "version-date": "2019-09-02", diff --git a/versions/g-/gpgme.json b/versions/g-/gpgme.json index 1aa878cfc50528..6a53273cad65bc 100644 --- a/versions/g-/gpgme.json +++ b/versions/g-/gpgme.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "7f922d800f46fe46ea028b127ea5e6f77647cca1", + "version": "1.23.2", + "port-version": 0 + }, + { + "git-tree": "71d1688aa684def46e7303068d31cbac5a90c010", + "version": "1.22.0", + "port-version": 0 + }, + { + "git-tree": "ac2d5bcf5b538ac0c93f5af00fb210e1da266911", + "version": "1.18.0", + "port-version": 0 + }, + { + "git-tree": "f037926ddc1a092f0db7089609e65ff9f221fa77", + "version-string": "1.14.0", + "port-version": 2 + }, { "git-tree": "e31d219a153f314d3c6ceedb7765ae30a2113daa", "version-string": "1.14.0", diff --git a/versions/g-/gpgmm.json b/versions/g-/gpgmm.json new file mode 100644 index 00000000000000..7f27dd86b21d0d --- /dev/null +++ b/versions/g-/gpgmm.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "6ab52ff47ca0cad9ccb6fcb27ad15b72c8773aa0", + "version": "0.1.2", + "port-version": 1 + }, + { + "git-tree": "26588ebafae6c3d0ba1d0d8a76ea8d425ba33eaf", + "version": "0.1.2", + "port-version": 0 + }, + { + "git-tree": "588c2c48227d309001811deaab846ce36476c3c9", + "version": "0.0.4", + "port-version": 0 + } + ] +} diff --git a/versions/g-/gppanel.json b/versions/g-/gppanel.json index 5b4ec4c3bafff0..0695359daa1f0a 100644 --- a/versions/g-/gppanel.json +++ b/versions/g-/gppanel.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "275a8f2deb026e033572cc5ccea803dbe4bc45dd", + "version-date": "2020-05-20", + "port-version": 4 + }, + { + "git-tree": "ba97170231ed485d5ba3dfbfe2ed7a66c0260517", + "version-date": "2020-05-20", + "port-version": 3 + }, + { + "git-tree": "9e5dbacb2efcf80443e7d7c42bc2c98b3622a7c8", + "version-date": "2020-05-20", + "port-version": 2 + }, { "git-tree": "4cc181130888f98e2495b4a1f342b28a532f28b4", "version-date": "2020-05-20", diff --git a/versions/g-/grantlee.json b/versions/g-/grantlee.json new file mode 100644 index 00000000000000..5bca5c1bd9cdd3 --- /dev/null +++ b/versions/g-/grantlee.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "5c8ada7d8eca1a8b8926d25e9cbcd861f3e00f24", + "version": "5.3.1", + "port-version": 2 + }, + { + "git-tree": "5828abf42559b6f3db682f7827f502cf75c7ec32", + "version": "5.3.1", + "port-version": 1 + }, + { + "git-tree": "36162cae49c2b9664a73f0e2a1f74544e4447a7b", + "version": "5.3.1", + "port-version": 0 + } + ] +} diff --git a/versions/g-/graphene.json b/versions/g-/graphene.json index 2a1efbf32a4a3a..5c49f3ad329f51 100644 --- a/versions/g-/graphene.json +++ b/versions/g-/graphene.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "abffc31a5c8762671618bdca4bbcd620e171f6d1", + "version": "1.10.8", + "port-version": 2 + }, + { + "git-tree": "e8c7b10cc1bdcca2e09b0f42da6ad645699680a9", + "version": "1.10.8", + "port-version": 1 + }, + { + "git-tree": "79dd231d51d71f5e0d49fbea65d88e0c1a8eb6fc", + "version": "1.10.8", + "port-version": 0 + }, + { + "git-tree": "a55f155dd8a61f69cfd04bc85fcbb7bba5efcaed", + "version": "1.10.2", + "port-version": 3 + }, + { + "git-tree": "35d8f02c154c44312abd824ba408d52855dbf138", + "version": "1.10.2", + "port-version": 2 + }, { "git-tree": "1cd3ae48053d2f9b26c2ee6e2e01a413ea6bd0d2", "version": "1.10.2", diff --git a/versions/g-/graphicsmagick.json b/versions/g-/graphicsmagick.json index a370d7b85fa61d..0c10d0d551b84a 100644 --- a/versions/g-/graphicsmagick.json +++ b/versions/g-/graphicsmagick.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "b8e50a2c6bc2a616e6ecfa78362025e0a6df0a04", + "version": "1.3.41", + "port-version": 1 + }, + { + "git-tree": "6bbaf421dd38787bf4bd5b335bc97417041838bd", + "version": "1.3.41", + "port-version": 0 + }, + { + "git-tree": "a4995e38b85cfc409f1a61561fde3bada483c23a", + "version": "1.3.37", + "port-version": 3 + }, + { + "git-tree": "7f5570af30ba3e4d38341fc16ae5fa98b2145f03", + "version": "1.3.37", + "port-version": 2 + }, + { + "git-tree": "c6ed21bf630e77483e7df659e7fd65eeefc6b543", + "version": "1.3.37", + "port-version": 1 + }, + { + "git-tree": "4b45ceaa24dce170b8bf9ae142f628162a32e448", + "version": "1.3.37", + "port-version": 0 + }, { "git-tree": "a6c8562f7ec58b04278fb8985f9c7bbd5143158e", "version-string": "1.3.36", diff --git a/versions/g-/graphite2.json b/versions/g-/graphite2.json index 19e5978ba5e1ae..afaf3248b2a98f 100644 --- a/versions/g-/graphite2.json +++ b/versions/g-/graphite2.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "7d9a7404bf9dece906b2f6d8d8a70d7139d5e998", + "version": "1.3.14", + "port-version": 4 + }, { "git-tree": "247c12c09e9766df6a90a8a45dad08320f4e0493", "version": "1.3.14", diff --git a/versions/g-/graphqlparser.json b/versions/g-/graphqlparser.json index d08ff94d1b12b8..81deb0eebfcc8d 100644 --- a/versions/g-/graphqlparser.json +++ b/versions/g-/graphqlparser.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "26b07147ea9d8fe7621f9aacf863c9b7d64c8aed", + "version": "0.7.0", + "port-version": 5 + }, + { + "git-tree": "5c287b09bd2e45e2bb154962cc32510c95c06268", + "version": "0.7.0", + "port-version": 4 + }, { "git-tree": "654424cc8d0176569961a4c128fef87478375296", "version-string": "0.7.0", diff --git a/versions/g-/graphviz.json b/versions/g-/graphviz.json index 32fd45fe604ccc..70428e06fad77f 100644 --- a/versions/g-/graphviz.json +++ b/versions/g-/graphviz.json @@ -1,5 +1,65 @@ { "versions": [ + { + "git-tree": "955a22b12fa97eaa166e57071bc5455bf7a191fb", + "version-semver": "10.0.1", + "port-version": 2 + }, + { + "git-tree": "a91bdf5090ac2d8f9153475cf94e2df03a40c31b", + "version-semver": "10.0.1", + "port-version": 1 + }, + { + "git-tree": "efcf0cb433b9d901fd6aeb10a85f674352373e6f", + "version-semver": "10.0.1", + "port-version": 0 + }, + { + "git-tree": "83813d9389be10cbd741a2e6dbd32924972e6b82", + "version-semver": "9.0.0", + "port-version": 2 + }, + { + "git-tree": "ba712eb597e2f6b4cd9113689ccb72cb95025d6f", + "version-semver": "9.0.0", + "port-version": 1 + }, + { + "git-tree": "a1450baf722dffefe9e4e4c4b5939ed1933ba269", + "version-semver": "9.0.0", + "port-version": 0 + }, + { + "git-tree": "793ff2f4883ca15332814044876e57a9b0921c43", + "version-semver": "7.0.0", + "port-version": 2 + }, + { + "git-tree": "2a730e87b6af42e6fbf3af0fc7e5c4dc6785e9df", + "version-semver": "7.0.0", + "port-version": 1 + }, + { + "git-tree": "b726ae0118ef489c3588be36c8542274c1233a05", + "version-semver": "7.0.0", + "port-version": 0 + }, + { + "git-tree": "14f5333a2eb91b052b2691132f48aefced3bf1df", + "version-semver": "2.49.1", + "port-version": 4 + }, + { + "git-tree": "c1f20d0e1aaccb1035e3fe3eb95d005b4161a56e", + "version-semver": "2.49.1", + "port-version": 3 + }, + { + "git-tree": "912ac6a1578bd9cf23c20ed7f3bc85c25058c872", + "version-semver": "2.49.1", + "port-version": 2 + }, { "git-tree": "61316edc3deb64749cf84f70f5b0dbd669c06a9e", "version-semver": "2.49.1", diff --git a/versions/g-/grpc.json b/versions/g-/grpc.json index 4d776dcd42b805..eb3dbb3cfdfa26 100644 --- a/versions/g-/grpc.json +++ b/versions/g-/grpc.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "10af44d76c4c33d8229d128ca41520bd69420d34", + "version-semver": "1.65.5", + "port-version": 0 + }, + { + "git-tree": "a0e82a8a701c3b0397dae373e16c527d1cafaae5", + "version-semver": "1.60.0", + "port-version": 1 + }, + { + "git-tree": "0f654950a7b38b7023e12c8579a09cf854097331", + "version-semver": "1.60.0", + "port-version": 0 + }, + { + "git-tree": "a78d7b20a22ebe842a2e78624254d1462ca49415", + "version-semver": "1.51.1", + "port-version": 3 + }, + { + "git-tree": "d904c97eca4bce7c1a9a0293b9101b831d0bb03f", + "version-semver": "1.51.1", + "port-version": 2 + }, + { + "git-tree": "cb74de57b43021aafda930876608035b03eb80a8", + "version-semver": "1.51.1", + "port-version": 1 + }, + { + "git-tree": "7c026ebb0835a3e342a5aad8e0c2674d3ec77a67", + "version-semver": "1.51.1", + "port-version": 0 + }, + { + "git-tree": "13420572b45b2b5a5a3fb41eb383d0c62f1d7c51", + "version-semver": "1.50.1", + "port-version": 0 + }, + { + "git-tree": "28334108999e49da12dbde24bcfc183984ecef41", + "version-semver": "1.49.0", + "port-version": 0 + }, + { + "git-tree": "efed7f493dec5fdebaebdec83c521fc860b432a3", + "version-semver": "1.48.0", + "port-version": 2 + }, + { + "git-tree": "7b2206a9758481b4773a93435aa6cfe7de4bf9e5", + "version-semver": "1.48.0", + "port-version": 1 + }, + { + "git-tree": "ef80a11383e8ff6bd068d50e620ea681cea3a22e", + "version-semver": "1.48.0", + "port-version": 0 + }, + { + "git-tree": "7db8056216ec23b5d48a44eaab6581c3357c1389", + "version-semver": "1.46.3", + "port-version": 1 + }, + { + "git-tree": "dabbbee8a5b79662990efb664c6975e2ea548599", + "version-semver": "1.46.3", + "port-version": 0 + }, + { + "git-tree": "6b15dbb6b2a6f81d7ae885b5b8f273b729b8d0ba", + "version-semver": "1.44.0", + "port-version": 1 + }, + { + "git-tree": "489c160e47ae99de58a438f93714ecbb008df330", + "version-semver": "1.44.0", + "port-version": 0 + }, { "git-tree": "5e3795bf43afe5243e47e18ac66a28bc722207f5", "version-semver": "1.41.0", diff --git a/versions/g-/grppi.json b/versions/g-/grppi.json index 4b198a1769376e..fa94a3293794dc 100644 --- a/versions/g-/grppi.json +++ b/versions/g-/grppi.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "f4f8344f7b0d97a42dfe8e95fe94f3af6b1bbe06", + "version": "0.4.0", + "port-version": 2 + }, { "git-tree": "4149700fba5f680c7efae07383dc7d6cf6cfcef9", "version-string": "0.4.0", diff --git a/versions/g-/gsasl.json b/versions/g-/gsasl.json new file mode 100644 index 00000000000000..c76412084b4a0b --- /dev/null +++ b/versions/g-/gsasl.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "dcc32ace8afcb1566629880f303a56870c7e4e19", + "version": "2.2.1", + "port-version": 0 + } + ] +} diff --git a/versions/g-/gsl-lite.json b/versions/g-/gsl-lite.json index 8a386430a6930c..eaa588c4af33cf 100644 --- a/versions/g-/gsl-lite.json +++ b/versions/g-/gsl-lite.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "ac07f676c563a519da1342d50de8cd9db68ac09f", + "version": "0.41.0", + "port-version": 0 + }, { "git-tree": "8d3c1399fe44414aaf2c88d845b8c03bfdb66d46", "version": "0.40.0", diff --git a/versions/g-/gsl.json b/versions/g-/gsl.json index 864c4d49189015..ba5e3944866e70 100644 --- a/versions/g-/gsl.json +++ b/versions/g-/gsl.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "065963abda1b0c77fc000f1624636bc5aec7e876", + "version": "2.8", + "port-version": 0 + }, + { + "git-tree": "533b0147bfc479e315c3dc4c181675c302272ae4", + "version": "2.7.1", + "port-version": 3 + }, + { + "git-tree": "c9aa024bd4ce8327328a818b75cc6188de15ddd2", + "version": "2.7.1", + "port-version": 2 + }, + { + "git-tree": "0bf0e1015fe68141e3c5d0b6777c2d38c352b72d", + "version": "2.7.1", + "port-version": 1 + }, + { + "git-tree": "dc3b20f09d0d6131faaa2dc0448d60676af96672", + "version": "2.7.1", + "port-version": 0 + }, { "git-tree": "535ee015f7dee11404cf4a708a7f7f45e1b74383", "version": "2.7", diff --git a/versions/g-/gsoap.json b/versions/g-/gsoap.json index a81153c336d6b7..292dd993ec90a1 100644 --- a/versions/g-/gsoap.json +++ b/versions/g-/gsoap.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "86dc8a8487c3f3dd327cc36c94e19fe371fa4c4f", + "version": "2.8.112", + "port-version": 2 + }, + { + "git-tree": "1fa5f6d124e48e4c9c80949c5b8e9c6d40dc2e43", + "version": "2.8.112", + "port-version": 1 + }, { "git-tree": "3f3950a7c522535f3095358a298f7af276894a94", "version": "2.8.112", diff --git a/versions/g-/gst-rtsp-server.json b/versions/g-/gst-rtsp-server.json index e16a6ef93b8b40..1706f8bc6ac8a6 100644 --- a/versions/g-/gst-rtsp-server.json +++ b/versions/g-/gst-rtsp-server.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "74327fa3eac21619a868533135c685bcee046a24", + "version": "1.20.5", + "port-version": 2 + }, + { + "git-tree": "85ca43c538fdb1f41292003c458eb209a1478906", + "version": "1.20.5", + "port-version": 1 + }, + { + "git-tree": "6bde18badd06f4466ca4cb75b83aa98b1f24f3bd", + "version": "1.20.5", + "port-version": 0 + }, + { + "git-tree": "167d04773dc90f37d577ae302276e6b5a5f05911", + "version": "1.20.4", + "port-version": 0 + }, + { + "git-tree": "e6c0f43ea29f3c58c4ea82529d5a33aac49982d5", + "version": "1.19.2", + "port-version": 2 + }, + { + "git-tree": "d769d57cd8c5c732146992a174266c11e7ef52ec", + "version": "1.19.2", + "port-version": 1 + }, { "git-tree": "0c628b2e09422aa3c82fc3d06757cdef559e9ce4", "version": "1.19.2", diff --git a/versions/g-/gstreamer.json b/versions/g-/gstreamer.json index c4906802ae6d42..7001897cfd445f 100644 --- a/versions/g-/gstreamer.json +++ b/versions/g-/gstreamer.json @@ -1,5 +1,170 @@ { "versions": [ + { + "git-tree": "0fbc36e567269da127885e9eff36b6083ecd1561", + "version": "1.24.7", + "port-version": 0 + }, + { + "git-tree": "a4f5984869f07999b31721a248e129b3de531436", + "version": "1.22.5", + "port-version": 8 + }, + { + "git-tree": "563a58509d4f74fed0d8819ec9182a5da8700d02", + "version": "1.22.5", + "port-version": 7 + }, + { + "git-tree": "27425db97df2c329de0baf5d00c719982659c9c4", + "version": "1.22.5", + "port-version": 6 + }, + { + "git-tree": "c6339c24dbe60ed13ff8d6b5e646d11e192f4ec0", + "version": "1.22.5", + "port-version": 5 + }, + { + "git-tree": "b18eecdb79cdeb95b0c5e003cf14ababd9bca7c9", + "version": "1.22.5", + "port-version": 4 + }, + { + "git-tree": "5bcd4e4f541fb90ffef24a354db74f5555f2ba6d", + "version": "1.22.5", + "port-version": 3 + }, + { + "git-tree": "921fefd3f9b9ce85c031881f5861074957d1a7f1", + "version": "1.22.5", + "port-version": 2 + }, + { + "git-tree": "7f37f12f5a39fa6eea841721c51bb591039c3251", + "version": "1.22.5", + "port-version": 1 + }, + { + "git-tree": "76183f0a0e77acbf09ac1ae73b1b2a27f986fcf6", + "version": "1.22.5", + "port-version": 0 + }, + { + "git-tree": "9ad3c702668f673319b620729150bce73d2181eb", + "version": "1.20.5", + "port-version": 11 + }, + { + "git-tree": "24a88414ae4d8f37c01ffc726f3c7eb264edc478", + "version": "1.20.5", + "port-version": 10 + }, + { + "git-tree": "75810a0d259dd1294e994266d469dde9423dc209", + "version": "1.20.5", + "port-version": 9 + }, + { + "git-tree": "f4fa840c6345c1b7bf4c35e2977ed3f680d6584a", + "version": "1.20.5", + "port-version": 8 + }, + { + "git-tree": "877a4687de4ef7b958624b55a558f91b4b34c32b", + "version": "1.20.5", + "port-version": 7 + }, + { + "git-tree": "631b03d07848f5a632168da7e3f9e1bc753d4085", + "version": "1.20.5", + "port-version": 6 + }, + { + "git-tree": "86757cb6fd9f50813cadb3779f1096fe1377eef9", + "version": "1.20.5", + "port-version": 5 + }, + { + "git-tree": "084ea66aed42ba882e19b103de4042d676be1530", + "version": "1.20.5", + "port-version": 4 + }, + { + "git-tree": "e9724606bfcc594bbdde72fbcba7fbd019312ae6", + "version": "1.20.5", + "port-version": 3 + }, + { + "git-tree": "6289f1269af159388f8a9cfed08c52acd1a297da", + "version": "1.20.5", + "port-version": 2 + }, + { + "git-tree": "774edb57247607baee04b2ff5eb8f12f4824f965", + "version": "1.20.5", + "port-version": 1 + }, + { + "git-tree": "e790c6925b367f31a0d7311288aada1c8d045e56", + "version": "1.20.5", + "port-version": 0 + }, + { + "git-tree": "b7afb1aa90258b95521b94bd290a343502705f5c", + "version": "1.20.4", + "port-version": 0 + }, + { + "git-tree": "f54f9f904091fc4fd931e018b82af777defb455c", + "version": "1.19.2", + "port-version": 11 + }, + { + "git-tree": "889e1cc23dfa9161bf793ff4f22fd6bc8e7c137f", + "version": "1.19.2", + "port-version": 10 + }, + { + "git-tree": "50b3345068815cb82022b680689ddfee0395e6de", + "version": "1.19.2", + "port-version": 9 + }, + { + "git-tree": "34e4471f1313a9d9ce220e461dde37a331c5bf47", + "version": "1.19.2", + "port-version": 8 + }, + { + "git-tree": "88e3063c417fe72ab1532ad99494b71c8037d8b5", + "version": "1.19.2", + "port-version": 7 + }, + { + "git-tree": "245207bd8010181848ffaad5822f2492f2cb2b38", + "version": "1.19.2", + "port-version": 6 + }, + { + "git-tree": "0524a22dbda0c09201b9c677b6f72dbce870d6df", + "version": "1.19.2", + "port-version": 5 + }, + { + "git-tree": "78cacf62a38c4cfc4e399720463bef9312f115dc", + "version": "1.19.2", + "port-version": 4 + }, + { + "git-tree": "25482001e85b34b144a67fc9cc86127f9e8c89ea", + "version": "1.19.2", + "port-version": 3 + }, + { + "git-tree": "ec9fdf057bbec637e21db3a56297439e420106d4", + "version": "1.19.2", + "port-version": 2 + }, { "git-tree": "9e1e058b933a63ff71eeaa2a7a59fa713d0ba51b", "version": "1.19.2", diff --git a/versions/g-/gtest.json b/versions/g-/gtest.json index 9e36d3358c818e..b6b15eb1fdcaf4 100644 --- a/versions/g-/gtest.json +++ b/versions/g-/gtest.json @@ -1,5 +1,60 @@ { "versions": [ + { + "git-tree": "9ac644e3ba0475ca37d4b50913f93920bee7ee38", + "version-semver": "1.15.2", + "port-version": 0 + }, + { + "git-tree": "a66c1c9751049e5a44ce47a0101f146ae233d152", + "version-semver": "1.15.0", + "port-version": 0 + }, + { + "git-tree": "75ebdb53e37267a1d5f6283223367cd0aa1104ef", + "version-semver": "1.14.0", + "port-version": 1 + }, + { + "git-tree": "c6dde67781b31b556e0868cc9f45f3eec59dc2a8", + "version-semver": "1.14.0", + "port-version": 0 + }, + { + "git-tree": "3f70f42192aacc5f8242c14d959d02a802f7559c", + "version-semver": "1.13.0", + "port-version": 0 + }, + { + "git-tree": "ef23f1c9e2976fec20c4a4512935da901180dc17", + "version-semver": "1.12.1", + "port-version": 1 + }, + { + "git-tree": "8f4ae2732d1a648bdfe56b16ae5d68df63ecf344", + "version-semver": "1.12.1", + "port-version": 0 + }, + { + "git-tree": "da295db55242fd454a3b42486c3f9043356ca40f", + "version-semver": "1.12.0", + "port-version": 0 + }, + { + "git-tree": "9731f44f8b0ecbc67eafccd0440700357d2cdfc4", + "version-semver": "1.11.0", + "port-version": 5 + }, + { + "git-tree": "9b9432e429e940c2d86eeef6fcf03bc74418c4c5", + "version-semver": "1.11.0", + "port-version": 4 + }, + { + "git-tree": "bc195b45d4d766498fb51de96427835c7c4d5748", + "version-semver": "1.11.0", + "port-version": 3 + }, { "git-tree": "c87cf62264002bc0cf2cb772a5588b36576323a9", "version-semver": "1.11.0", diff --git a/versions/g-/gtk.json b/versions/g-/gtk.json index 328871369a008d..ad717eac089f77 100644 --- a/versions/g-/gtk.json +++ b/versions/g-/gtk.json @@ -1,5 +1,105 @@ { "versions": [ + { + "git-tree": "0a4e9da51abf1cb20ea97337705551e22d6f531f", + "version": "4.16.3", + "port-version": 0 + }, + { + "git-tree": "4a2c53b5715720e68051e3d26bfa56a83b6c8de0", + "version": "4.14.0", + "port-version": 1 + }, + { + "git-tree": "d5ba4a94cd8433f563ba1519395f202d29bd8790", + "version": "4.14.0", + "port-version": 0 + }, + { + "git-tree": "38a496538cd081a8d64d5b2733cb1f2b4fbae559", + "version": "4.10.5", + "port-version": 2 + }, + { + "git-tree": "814624705f6cc11a3468d9c3418bc20521b6b207", + "version": "4.10.5", + "port-version": 1 + }, + { + "git-tree": "1d2910bafafe5342d557621dfb784fab156ae169", + "version": "4.10.5", + "port-version": 0 + }, + { + "git-tree": "a0674344415ac7da9b123e4dedfe61160c4b6d6a", + "version": "4.10.4", + "port-version": 2 + }, + { + "git-tree": "a79d7945c3db191e81a4cc3367efb9972b8df29e", + "version": "4.10.4", + "port-version": 1 + }, + { + "git-tree": "d527905d8bda9bb0f59ab326013dcfc0154613a7", + "version": "4.10.4", + "port-version": 0 + }, + { + "git-tree": "f6542974036eeeb96bcfa2f343a58dc9a07c54b3", + "version": "4.10.3", + "port-version": 0 + }, + { + "git-tree": "416961a907f2f0412d4d59517a904d06b4985ffb", + "version": "4.10.1", + "port-version": 0 + }, + { + "git-tree": "52d572bf77d0fa30174893ca6fe1bf6c17935cb2", + "version": "4.6.8", + "port-version": 2 + }, + { + "git-tree": "cadf0f3efc6e75b1a1978f5c29126ffaf4a75c8c", + "version": "4.6.8", + "port-version": 1 + }, + { + "git-tree": "e9a57d5e92147cebc6e058c9d656b8eda3aa5ea9", + "version": "4.6.8", + "port-version": 0 + }, + { + "git-tree": "4c2e407dc3ecdc258c2f9c0243467c2e87c3529f", + "version": "4.6.2", + "port-version": 2 + }, + { + "git-tree": "d2d59edf9986797558b8abafbff9c913bf4f02ca", + "version": "4.6.2", + "port-version": 1 + }, + { + "git-tree": "00d7796e9bcff96a64e45b977a72129b1dc7be43", + "version": "4.6.2", + "port-version": 0 + }, + { + "git-tree": "ae837c3a08bb71e486641d8b4464c132dbf54464", + "version": "4.6.0", + "port-version": 0 + }, + { + "git-tree": "a7d9e7cccb1be0a50b7b9cfa961adc93bca948fa", + "version": "4.4.0", + "port-version": 1 + }, + { + "git-tree": "1248de2309515809a0a6d6f4a1cdb48f0aca304e", + "version": "4.4.0", + "port-version": 0 + }, { "git-tree": "2b9f746a54e5029cc327ecd7ffb1b6d042a478b6", "version": "4.3.0", diff --git a/versions/g-/gtk3.json b/versions/g-/gtk3.json new file mode 100644 index 00000000000000..f725fc7e2d21d3 --- /dev/null +++ b/versions/g-/gtk3.json @@ -0,0 +1,39 @@ +{ + "versions": [ + { + "git-tree": "1362bb3978886e043fd12c089f2c1337a4f1adf8", + "version": "3.24.38", + "port-version": 1 + }, + { + "git-tree": "63636acf7b77eead112fc9faa84680d1df97acd3", + "version": "3.24.38", + "port-version": 0 + }, + { + "git-tree": "f4e197166d448971a8856734debc428f05b456cb", + "version": "3.24.37", + "port-version": 0 + }, + { + "git-tree": "93a006967f4d1c6e3ce8409cd1a134f81c2b1288", + "version": "3.24.36", + "port-version": 0 + }, + { + "git-tree": "0c25a1f1fc2d3f166ea007a97b845fb85769588e", + "version": "3.24.34", + "port-version": 2 + }, + { + "git-tree": "dfc90d235f5a782299be10c4ce655ce95622b3a2", + "version": "3.24.34", + "port-version": 1 + }, + { + "git-tree": "91d648bc4cff36c2ac289cff836ece2875566e2b", + "version": "3.24.34", + "port-version": 0 + } + ] +} diff --git a/versions/g-/gtkmm.json b/versions/g-/gtkmm.json index d97dfd1612857c..6d503b221e4c1d 100644 --- a/versions/g-/gtkmm.json +++ b/versions/g-/gtkmm.json @@ -1,5 +1,50 @@ { "versions": [ + { + "git-tree": "89805ce5526aad3b7b6b1f1242204959c61b4ddb", + "version": "4.14.0", + "port-version": 0 + }, + { + "git-tree": "e9e63e49ac6c8ade89bf2df6bf73bb32f3b18f9b", + "version": "4.10.0", + "port-version": 1 + }, + { + "git-tree": "5bede7b8a7ab28981640b17d73708e710c5e8701", + "version": "4.10.0", + "port-version": 0 + }, + { + "git-tree": "c20c4893b7e0aada402db3895d38d840123ae8c5", + "version": "4.6.0", + "port-version": 2 + }, + { + "git-tree": "8adcadbba0b316ce33796f84c2fe878c9f2cfa94", + "version": "4.6.0", + "port-version": 1 + }, + { + "git-tree": "f39d8f061ae7242baf2b1b78b76253b2ee21c936", + "version": "4.6.0", + "port-version": 0 + }, + { + "git-tree": "8e30c6169ae3b7778ba17649312e6fc064fe1b43", + "version": "4.4.0", + "port-version": 1 + }, + { + "git-tree": "9d316a91086b6f8ccd32e422abc4dd5083eb22c2", + "version": "4.4.0", + "port-version": 0 + }, + { + "git-tree": "1c78f4d8d6a4375808cd69668375088c5b578e65", + "version": "4.0.1", + "port-version": 1 + }, { "git-tree": "14e153bf596fcdfa4376218e20d2a140f33bae8e", "version": "4.0.1", diff --git a/versions/g-/gtl.json b/versions/g-/gtl.json new file mode 100644 index 00000000000000..dc1958522b1888 --- /dev/null +++ b/versions/g-/gtl.json @@ -0,0 +1,29 @@ +{ + "versions": [ + { + "git-tree": "adf0008bd407b22ab2f5c90d2965cfa59d9b8292", + "version": "1.2.0", + "port-version": 0 + }, + { + "git-tree": "1da92945b6f2d37dbf8c5e8f2c7804d7f02080fb", + "version": "1.1.8", + "port-version": 0 + }, + { + "git-tree": "1e858eb1464aecbfd828e88515da6c75dc9277bd", + "version": "1.1.5", + "port-version": 0 + }, + { + "git-tree": "45ab838bcba517295403cbd3d619f7cedca27346", + "version": "1.1.2", + "port-version": 0 + }, + { + "git-tree": "52665bb6e7f0bbe30ffabc59521a937072ecc9e2", + "version": "1.0.0", + "port-version": 0 + } + ] +} diff --git a/versions/g-/gts.json b/versions/g-/gts.json index 3ac6eb676ddb94..bd49ea4c297444 100644 --- a/versions/g-/gts.json +++ b/versions/g-/gts.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "3daf9b46d06d7c989ebc0b0236d5eb8912d00bb0", + "version": "0.7.6", + "port-version": 9 + }, + { + "git-tree": "1c12aefc981ca389e3235cf1940883f881dddb4d", + "version": "0.7.6", + "port-version": 8 + }, + { + "git-tree": "1bce412085edcd46e3f358cca2c3bb1cffb25cfa", + "version": "0.7.6", + "port-version": 7 + }, + { + "git-tree": "fbe5bc5629f2ec46a083b4e861589cae5b559c5f", + "version": "0.7.6", + "port-version": 6 + }, + { + "git-tree": "90471122b5c6aa2ce7566b25b06d9f0b858c482e", + "version": "0.7.6", + "port-version": 5 + }, { "git-tree": "e2e045b3685112306e5fcbd493ea6f97fb35a501", "version": "0.7.6", diff --git a/versions/g-/gtsam.json b/versions/g-/gtsam.json new file mode 100644 index 00000000000000..9658c9eb122375 --- /dev/null +++ b/versions/g-/gtsam.json @@ -0,0 +1,24 @@ +{ + "versions": [ + { + "git-tree": "2a6bc1e174acef86e1f288d2be7ac6095ed02cbe", + "version": "4.2.0", + "port-version": 0 + }, + { + "git-tree": "9c2a1fefb94d0fe792cde3fe6519ce59e181685a", + "version-string": "4.2a9", + "port-version": 2 + }, + { + "git-tree": "e7b2023df7e13e479e6861ba1c6ace9ae9d2cfbf", + "version-string": "4.2a9", + "port-version": 1 + }, + { + "git-tree": "7eb7ebb6abd8256e41114fb25eea3be2b7c8a6a5", + "version-string": "4.2a9", + "port-version": 0 + } + ] +} diff --git a/versions/g-/guetzli.json b/versions/g-/guetzli.json index dd15734c63ce17..49eb0255c1446e 100644 --- a/versions/g-/guetzli.json +++ b/versions/g-/guetzli.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "a7da0a5fa0b5bdb568edcbde81b314c3f7089cb0", + "version-date": "2020-09-14", + "port-version": 2 + }, { "git-tree": "2adfb6dcd5eab92b258f45aaf4a494bed18eb687", "version-string": "2020-09-14", diff --git a/versions/g-/guile.json b/versions/g-/guile.json new file mode 100644 index 00000000000000..d9e2170190a480 --- /dev/null +++ b/versions/g-/guile.json @@ -0,0 +1,29 @@ +{ + "versions": [ + { + "git-tree": "4fe9e6fe1d7b38bb84a73f37e34d83e6abe526cb", + "version": "3.0.10", + "port-version": 0 + }, + { + "git-tree": "6fac811149df3f29073da85f782f1a65ac5fdb5a", + "version": "3.0.9", + "port-version": 1 + }, + { + "git-tree": "110d7a6bda8678341e931b4b8456e9926dc34e92", + "version": "3.0.9", + "port-version": 0 + }, + { + "git-tree": "ccaa1b9bc0ba4c7397a8f5a05cf99df4c47897d9", + "version": "3.0.8", + "port-version": 1 + }, + { + "git-tree": "1c74041cde8519afb26d9fa588b8d24877d35514", + "version": "3.0.8", + "port-version": 0 + } + ] +} diff --git a/versions/g-/guilite.json b/versions/g-/guilite.json index db73a1105b1d13..c0a80fd208c8f5 100644 --- a/versions/g-/guilite.json +++ b/versions/g-/guilite.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "43572106c3593ef39db61013f97d37d33c867542", + "version-date": "2022-05-05", + "port-version": 0 + }, { "git-tree": "c68992e6acdc51afc39edfdfe1342ecbd197bee6", "version-date": "2021-07-31", diff --git a/versions/g-/gul14.json b/versions/g-/gul14.json new file mode 100644 index 00000000000000..4027641b1ec6c6 --- /dev/null +++ b/versions/g-/gul14.json @@ -0,0 +1,49 @@ +{ + "versions": [ + { + "git-tree": "814a293c1a792653842cbb7e97c3fdbb8564c517", + "version": "2.11.2", + "port-version": 0 + }, + { + "git-tree": "9b664c010bec11a610ed3b751494527c7f9e9636", + "version": "2.11.0", + "port-version": 0 + }, + { + "git-tree": "4b96d6a06013e4d0d58af377c43728ca2e78e592", + "version": "2.10.0", + "port-version": 0 + }, + { + "git-tree": "83f62f0824bba51279ec18b9e4dedfa607bc2e3b", + "version": "2.9.2", + "port-version": 0 + }, + { + "git-tree": "0ef663cd26e5a6fea87578b1662e28cae9caf233", + "version": "2.9.1", + "port-version": 1 + }, + { + "git-tree": "cdf7849b2344332aa6cdcbee58c03452009ec4bc", + "version": "2.9.1", + "port-version": 0 + }, + { + "git-tree": "ff0bf240e106cb41da3f21fba4ab9c04aa14463f", + "version": "2.8.0", + "port-version": 0 + }, + { + "git-tree": "a9415538b1b84af12b84d45fe190af822d10b5bb", + "version": "2.7.1", + "port-version": 0 + }, + { + "git-tree": "7985ecf5f6874b9cf594d43d403820294529d0d3", + "version": "2.6", + "port-version": 0 + } + ] +} diff --git a/versions/g-/gumbo.json b/versions/g-/gumbo.json index 8c64b930010854..b358578d440f12 100644 --- a/versions/g-/gumbo.json +++ b/versions/g-/gumbo.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "b0b57c7286bdadcc64d0e4b2f5b5aca951bb1749", + "version": "0.10.1", + "port-version": 6 + }, + { + "git-tree": "33203d45b5dcbc9d4bb0175691909a4e9c930d81", + "version": "0.10.1", + "port-version": 5 + }, { "git-tree": "6c80a646e227f1181f474077dbf80f356555f452", "version-string": "0.10.1", diff --git a/versions/g-/gz-cmake3.json b/versions/g-/gz-cmake3.json new file mode 100644 index 00000000000000..bb94cf5d5dff18 --- /dev/null +++ b/versions/g-/gz-cmake3.json @@ -0,0 +1,44 @@ +{ + "versions": [ + { + "git-tree": "76e06938007614b4fe523e37e368d7e39a40a9bc", + "version": "3.4.1", + "port-version": 5 + }, + { + "git-tree": "0238546ece05d52d030eb6dd62373ae4b65d1503", + "version": "3.4.1", + "port-version": 4 + }, + { + "git-tree": "5ac0952f283b1e4a700a12c0d616066b36fdeff2", + "version": "3.4.1", + "port-version": 3 + }, + { + "git-tree": "f0b0d35ac8f99280de71a64494d8597f09986362", + "version": "3.4.1", + "port-version": 2 + }, + { + "git-tree": "8d7ac07eb757d7a69f1df27ad7a1ef71c26957d4", + "version": "3.4.1", + "port-version": 1 + }, + { + "git-tree": "c0061f3363187e8da74f252ff3c21c42e382e8c9", + "version": "3.4.1", + "port-version": 0 + }, + { + "git-tree": "04e105aecf5f7805dde15ac905cacb77ffcd3225", + "version": "3.4.0", + "port-version": 0 + }, + { + "git-tree": "a1a12dbb8647dbc12381aa63fe0c66c48e2b4b31", + "version": "3.0.1", + "port-version": 0 + } + ] +} diff --git a/versions/g-/gz-common5.json b/versions/g-/gz-common5.json new file mode 100644 index 00000000000000..e00a0b77ca5d19 --- /dev/null +++ b/versions/g-/gz-common5.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "379bf372ab20a993390aaf8c34be3292e43c2ec8", + "version": "5.4.1", + "port-version": 2 + }, + { + "git-tree": "15fd6996514765a386996566e63fd0fff58c3db4", + "version": "5.4.1", + "port-version": 1 + }, + { + "git-tree": "ecb88cbb8c52027d083348a8d28705ef7fe861ca", + "version": "5.4.1", + "port-version": 0 + } + ] +} diff --git a/versions/g-/gz-fuel-tools8.json b/versions/g-/gz-fuel-tools8.json new file mode 100644 index 00000000000000..acc0ad72a74900 --- /dev/null +++ b/versions/g-/gz-fuel-tools8.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "8d0ee2efa09bb7debd7475b8cc7f8745b3f712aa", + "version": "8.1.0", + "port-version": 0 + } + ] +} diff --git a/versions/g-/gz-gui7.json b/versions/g-/gz-gui7.json new file mode 100644 index 00000000000000..737ccb5c2c8633 --- /dev/null +++ b/versions/g-/gz-gui7.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "3fc2d2bd35c8d9c5dad86739f113b952cb65913a", + "version": "7.2.1", + "port-version": 0 + } + ] +} diff --git a/versions/g-/gz-math7.json b/versions/g-/gz-math7.json new file mode 100644 index 00000000000000..61f24bdb5a1259 --- /dev/null +++ b/versions/g-/gz-math7.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "788bff7f23bcb592cfbe23a0077ce5e338633515", + "version": "7.3.0", + "port-version": 0 + }, + { + "git-tree": "687462541825396052367baec48a08e4657d63d4", + "version": "7.0.2", + "port-version": 1 + }, + { + "git-tree": "13b399f38d70db748d1babf9296d2a4fc80dc302", + "version": "7.0.2", + "port-version": 0 + } + ] +} diff --git a/versions/g-/gz-msgs9.json b/versions/g-/gz-msgs9.json new file mode 100644 index 00000000000000..f9f78f24a1d9f2 --- /dev/null +++ b/versions/g-/gz-msgs9.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "1eb43a446ea3b27c5d7f54505f6588c76f3ad210", + "version": "9.5.0", + "port-version": 0 + } + ] +} diff --git a/versions/g-/gz-physics6.json b/versions/g-/gz-physics6.json new file mode 100644 index 00000000000000..4fc4b164441d86 --- /dev/null +++ b/versions/g-/gz-physics6.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "f21733a38332420967e218df27d7adfc125c6f07", + "version": "6.5.1", + "port-version": 1 + }, + { + "git-tree": "9e84a89c5e37806e67295d51b6bd1ec565ccaede", + "version": "6.5.1", + "port-version": 0 + } + ] +} diff --git a/versions/g-/gz-plugin2.json b/versions/g-/gz-plugin2.json new file mode 100644 index 00000000000000..2b46ff5d9b0315 --- /dev/null +++ b/versions/g-/gz-plugin2.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "aa376761e8fe39c9ff89a989e18e798a831bf273", + "version": "2.0.1", + "port-version": 0 + } + ] +} diff --git a/versions/g-/gz-rendering7.json b/versions/g-/gz-rendering7.json new file mode 100644 index 00000000000000..8a9c1bcd2c3813 --- /dev/null +++ b/versions/g-/gz-rendering7.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "29ca14723fbc8c73390ab5abe48b4e58cb0674b2", + "version": "7.4.1", + "port-version": 1 + }, + { + "git-tree": "5fa361453bcae9a0e8acee956057e9436f8d1377", + "version": "7.4.1", + "port-version": 0 + } + ] +} diff --git a/versions/g-/gz-sensors7.json b/versions/g-/gz-sensors7.json new file mode 100644 index 00000000000000..fe5d9eadbfcdda --- /dev/null +++ b/versions/g-/gz-sensors7.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "30989166a9bafd435a3344a388265a26f3aa9492", + "version": "7.3.0", + "port-version": 0 + } + ] +} diff --git a/versions/g-/gz-tools2.json b/versions/g-/gz-tools2.json new file mode 100644 index 00000000000000..0a73dc150980da --- /dev/null +++ b/versions/g-/gz-tools2.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "31343bbe7d8ae7e4bfaa5bf8e7a29dc653d98acc", + "version": "2.0.0", + "port-version": 1 + }, + { + "git-tree": "10058238d27070a39c55eeb9ec6a4e5246a9f853", + "version": "2.0.0", + "port-version": 0 + } + ] +} diff --git a/versions/g-/gz-transport12.json b/versions/g-/gz-transport12.json new file mode 100644 index 00000000000000..6fad3f1601a925 --- /dev/null +++ b/versions/g-/gz-transport12.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "9737ff0b7ff8d0b842f485bb01e6842c2e0ac077", + "version": "12.2.1", + "port-version": 0 + }, + { + "git-tree": "0cff2b97b9f6d2e46b5fea0158431fb2c3a92fba", + "version": "12.2.0", + "port-version": 0 + } + ] +} diff --git a/versions/g-/gz-utils2.json b/versions/g-/gz-utils2.json new file mode 100644 index 00000000000000..6b2613885f6b46 --- /dev/null +++ b/versions/g-/gz-utils2.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "427940c7d970bbcefb22b7930dd1196a90e42bc9", + "version": "2.0.0", + "port-version": 0 + } + ] +} diff --git a/versions/g-/gzip-hpp.json b/versions/g-/gzip-hpp.json index c9f7c1d17a232e..30c3c2fa027349 100644 --- a/versions/g-/gzip-hpp.json +++ b/versions/g-/gzip-hpp.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "384745bc1f743b41fc1973ac4efefa82fea5d46c", + "version": "0.1.0", + "port-version": 2 + }, { "git-tree": "fa20c97f9bdf61c0adf326307bfeda1b24babfb1", "version-string": "0.1.0", diff --git a/versions/h-/h3.json b/versions/h-/h3.json index f886f11668c797..03d7f75b696923 100644 --- a/versions/h-/h3.json +++ b/versions/h-/h3.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "b2f9a794393b62e7f09579ff4b6387f97b5806cd", + "version-semver": "4.1.0", + "port-version": 0 + }, + { + "git-tree": "582bd670eb802209ca1dddca0067252e0736ea03", + "version-semver": "3.7.2", + "port-version": 1 + }, { "git-tree": "6c441a2da3a894cd1f1ec177c4b73abf2686f5b2", "version-semver": "3.7.2", diff --git a/versions/h-/h5py-lzf.json b/versions/h-/h5py-lzf.json index 1339053f389e86..908b858c80ec1e 100644 --- a/versions/h-/h5py-lzf.json +++ b/versions/h-/h5py-lzf.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "a14add9b4baad4b1d1daa1bd5a289944f82ef939", + "version-date": "2022-05-24", + "port-version": 0 + }, + { + "git-tree": "bc038605ccbdc888df201ec6296f442e1b47c42a", + "version-date": "2019-12-04", + "port-version": 3 + }, + { + "git-tree": "e8323d8d5c2ced7273acaf951f5b62c87c112008", + "version-date": "2019-12-04", + "port-version": 2 + }, { "git-tree": "9852b593ea75baeff7131615d49a46d32af54dfb", "version-string": "2019-12-04", diff --git a/versions/h-/half.json b/versions/h-/half.json new file mode 100644 index 00000000000000..576a7610735cbb --- /dev/null +++ b/versions/h-/half.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "e3a5c15b1a3e75ee363b297822da89dcb6b3588b", + "version": "2.2.0", + "port-version": 0 + } + ] +} diff --git a/versions/h-/halide.json b/versions/h-/halide.json index 8a2628d869f258..5d0593ff1f38d0 100644 --- a/versions/h-/halide.json +++ b/versions/h-/halide.json @@ -1,5 +1,55 @@ { "versions": [ + { + "git-tree": "ef0d66c94e06585d576e942fbd63e7a32bfa7e54", + "version": "18.0.0", + "port-version": 0 + }, + { + "git-tree": "cdced195e1ecb05af078e7d0ba4ba58106397330", + "version": "17.0.1", + "port-version": 1 + }, + { + "git-tree": "b85a941fbb39b69cf6e9b508a826fc87a90ff722", + "version": "17.0.1", + "port-version": 0 + }, + { + "git-tree": "c12d736ad0a8329d09a23dc7ae3a094d4ce02df1", + "version": "16.0.0", + "port-version": 1 + }, + { + "git-tree": "be8971ecbab0879a1db7aedfec5095c0d1d942b3", + "version": "16.0.0", + "port-version": 0 + }, + { + "git-tree": "747567f07492ad16950a115456d31ba746a3bd10", + "version": "15.0.0", + "port-version": 1 + }, + { + "git-tree": "1d7e84604e36eb833964af361772ebcf5e3953c5", + "version": "15.0.0", + "port-version": 0 + }, + { + "git-tree": "958cd321f20007534db5859498f8153017271b2f", + "version": "14.0.0", + "port-version": 1 + }, + { + "git-tree": "8beaf9e4b505e3a59e286d220492de1af4381154", + "version": "14.0.0", + "port-version": 0 + }, + { + "git-tree": "92aa2ed7a51a38dfb53cdcb2f4b9c54f58030d52", + "version": "13.0.2", + "port-version": 0 + }, { "git-tree": "512cb4dd40ca40afbf0c6a35f7bdc595589a0b10", "version": "12.0.1", diff --git a/versions/h-/hareflow.json b/versions/h-/hareflow.json new file mode 100644 index 00000000000000..fd6f56ead92414 --- /dev/null +++ b/versions/h-/hareflow.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "f2d333d145ebb841f9b45902df7d2c6551f5b5f0", + "version-semver": "0.1.1", + "port-version": 0 + }, + { + "git-tree": "0bd1ffea6cb09dc32a66641bbe120501d1e9f9ac", + "version-semver": "0.1.0", + "port-version": 1 + }, + { + "git-tree": "80c6cc2de2019b438b3eb7caecc26277e5cc836c", + "version-semver": "0.1.0", + "port-version": 0 + } + ] +} diff --git a/versions/h-/harfbuzz.json b/versions/h-/harfbuzz.json index 84a3c02af7913b..f50d560482c97c 100644 --- a/versions/h-/harfbuzz.json +++ b/versions/h-/harfbuzz.json @@ -1,5 +1,205 @@ { "versions": [ + { + "git-tree": "0bf3419dd2362d61aa7b93eceba27acf0a7b826c", + "version": "10.1.0", + "port-version": 0 + }, + { + "git-tree": "816a8378a801aa2b0d2cdf2e601b9ee3cfe31dab", + "version": "10.0.1", + "port-version": 0 + }, + { + "git-tree": "c46893f9942b1516524920b9f82d8f7fcaa06cc9", + "version": "9.0.0", + "port-version": 0 + }, + { + "git-tree": "14cae658d3e86c06b7c572997e729376ef93c90f", + "version": "8.5.0", + "port-version": 1 + }, + { + "git-tree": "d5e91f387f0b4347918c04f3ac94a0643fc72423", + "version": "8.5.0", + "port-version": 0 + }, + { + "git-tree": "cf348ecae022fb9ccfd58be64fcd90008e1fb74d", + "version": "8.4.0", + "port-version": 1 + }, + { + "git-tree": "88ea94a9bb416c379a7df3049fca28f0d1fdc933", + "version": "8.4.0", + "port-version": 0 + }, + { + "git-tree": "1526ee7fd00ec5ec6eac90cc5c8b0c007d25f0f4", + "version": "8.3.1", + "port-version": 1 + }, + { + "git-tree": "872c170e285bef0254f027a2064b0b6e1151b939", + "version": "8.3.1", + "port-version": 0 + }, + { + "git-tree": "f22f35a345a42b356292d5c480208c6c395ed5a0", + "version": "8.3.0", + "port-version": 3 + }, + { + "git-tree": "ff776c837e28a47a91cad45946d7ab6b51dc3c67", + "version": "8.3.0", + "port-version": 2 + }, + { + "git-tree": "6e2d07391d009a33797b19b707bf5bc60cdb17e5", + "version": "8.3.0", + "port-version": 1 + }, + { + "git-tree": "43649e54cfda3d4673975cf61daf8e501edf63e6", + "version": "8.3.0", + "port-version": 0 + }, + { + "git-tree": "5baafcf92a1de9e3b94fba26f36f4287dad722fb", + "version": "8.2.1", + "port-version": 3 + }, + { + "git-tree": "d6359755bd398188b67a216f7627e9f297f47889", + "version": "8.2.1", + "port-version": 2 + }, + { + "git-tree": "1f39a3081e7055cbf5e8cc27b5f91fef2a274415", + "version": "8.2.1", + "port-version": 1 + }, + { + "git-tree": "6894af0b171aea403718ebb131b454a60b0c961a", + "version": "8.2.1", + "port-version": 0 + }, + { + "git-tree": "053b71e591f5599aa5e887fbf6531c7baa58b23d", + "version": "8.2.0", + "port-version": 1 + }, + { + "git-tree": "d804324af44593c0877fdf035cda178123d9c87f", + "version": "8.2.0", + "port-version": 0 + }, + { + "git-tree": "458a6aee4457133d8ea6b97f1a18724fead35551", + "version": "8.1.1", + "port-version": 0 + }, + { + "git-tree": "4f0320d0c3d8f57f1665f30b98bd64ff0181181d", + "version": "8.0.0", + "port-version": 0 + }, + { + "git-tree": "7b0e10a3d5e7e49990e7a19f29cdba04571725f4", + "version": "7.3.0", + "port-version": 0 + }, + { + "git-tree": "6715cbef7e30e10a6888a737e49a3f971b08f24c", + "version": "7.2.0", + "port-version": 0 + }, + { + "git-tree": "e5129b8eb8c89bcf3564adce7328ed5fd5548794", + "version": "7.1.0", + "port-version": 0 + }, + { + "git-tree": "74d44792360393e3c1fee924def05c9d21a5fe3d", + "version": "7.0.0", + "port-version": 0 + }, + { + "git-tree": "4ffde6e2f07e83bb2aff1abf962b8b21dffbdf83", + "version": "6.0.0", + "port-version": 1 + }, + { + "git-tree": "15421f25032e5e207a4edfcd457bd6cd5643070d", + "version": "6.0.0", + "port-version": 0 + }, + { + "git-tree": "49ecf8cf3003559031c4c0d4989ac00ac39af3f9", + "version": "5.3.1", + "port-version": 1 + }, + { + "git-tree": "5d634ff1c05837712e9816896ac554cdcc87322f", + "version": "5.3.1", + "port-version": 0 + }, + { + "git-tree": "b649285d2988a5388e2a4cb1b74f9348d005c8f0", + "version": "5.0.1", + "port-version": 3 + }, + { + "git-tree": "64cea6fad2515aeabcdb82768bbb9b4b30db7af6", + "version": "5.0.1", + "port-version": 2 + }, + { + "git-tree": "890fd1dc4836a76fac4de6ee409c762ac0afe587", + "version": "5.0.1", + "port-version": 1 + }, + { + "git-tree": "bfe57115dd9a78a72cbbaadf756e83bbbff449ed", + "version": "5.0.1", + "port-version": 0 + }, + { + "git-tree": "aa86b69179481aee3a47cb7452a7058a65e6da0c", + "version": "4.2.0", + "port-version": 1 + }, + { + "git-tree": "02ad2865be7815604bb2c0e6cbc368f3d23d93d6", + "version": "4.2.0", + "port-version": 0 + }, + { + "git-tree": "1c4a2589742ad6156667771b0cf38ecb46e8c797", + "version-semver": "3.2.0", + "port-version": 3 + }, + { + "git-tree": "fb0fcb23cc704f5a2bca6fc631622309876ab271", + "version-semver": "3.2.0", + "port-version": 2 + }, + { + "git-tree": "b2c918c04e1ecf5b6a591911cea03f7093ab6933", + "version-semver": "3.2.0", + "port-version": 1 + }, + { + "git-tree": "a504ad46b9acfebdf6cc5e32bd0057d045f39115", + "version-semver": "3.2.0", + "port-version": 0 + }, + { + "git-tree": "151b8dba4351ec70354a0cc1485e5eb720df5f75", + "version-semver": "3.0.0", + "port-version": 1 + }, { "git-tree": "ec7e9e00eba714984a7c4b22b5c51ce0fe1c4e08", "version-semver": "3.0.0", diff --git a/versions/h-/hash-library.json b/versions/h-/hash-library.json new file mode 100644 index 00000000000000..1697ca938c798a --- /dev/null +++ b/versions/h-/hash-library.json @@ -0,0 +1,24 @@ +{ + "versions": [ + { + "git-tree": "815f018f0a7ef2c32f828276ee7abb191b4b64db", + "version": "8", + "port-version": 3 + }, + { + "git-tree": "b3e49529dd25b60564de8ceed9485e17e8a7f8da", + "version": "8", + "port-version": 2 + }, + { + "git-tree": "fad55dc152114a3f71c5eafd33a3facd7e3a2286", + "version": "8", + "port-version": 1 + }, + { + "git-tree": "c7e4fae9255d5bdacac11e7a7dc550df777b8b37", + "version": "8", + "port-version": 0 + } + ] +} diff --git a/versions/h-/hashids.json b/versions/h-/hashids.json new file mode 100644 index 00000000000000..56c8ee35110ac4 --- /dev/null +++ b/versions/h-/hashids.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "4e10b5eca8fef8c7f6ca6e7f23a6a39fc179a5a6", + "version": "1.2.2", + "port-version": 0 + }, + { + "git-tree": "170dbea9b9e43fbefda63cd897b24e4e890c73ae", + "version": "1.2.1", + "port-version": 0 + } + ] +} diff --git a/versions/h-/hayai.json b/versions/h-/hayai.json index a5fa0b26bb053c..7bdb8a7eefcd0a 100644 --- a/versions/h-/hayai.json +++ b/versions/h-/hayai.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "7cb0759ff6a982e76ffdf4b210135a26061ce922", + "version-date": "2019-08-10", + "port-version": 4 + }, + { + "git-tree": "e016dbda8d2a5e66c6e9c50c6c819454fbebd341", + "version-date": "2019-08-10", + "port-version": 3 + }, + { + "git-tree": "068157b1c13d6e05c56cecb01eb18431402e69e2", + "version-date": "2019-08-10", + "port-version": 2 + }, { "git-tree": "fd5029e80c71cecda898075929dd64666be78885", "version-string": "2019-08-10", diff --git a/versions/h-/hazelcast-cpp-client.json b/versions/h-/hazelcast-cpp-client.json index f89a6c46734e00..9955f503a61813 100644 --- a/versions/h-/hazelcast-cpp-client.json +++ b/versions/h-/hazelcast-cpp-client.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "c85557c281b86c8aabb762d79c45775ccea9c0b9", + "version": "5.3.0", + "port-version": 1 + }, + { + "git-tree": "4940909398dd70e7610c314749ca143bb0c23918", + "version": "5.3.0", + "port-version": 0 + }, + { + "git-tree": "eda58413d2940bc24bef92485ff1fce31e2e583c", + "version": "5.2.0", + "port-version": 0 + }, + { + "git-tree": "25883c041e091cbbb7501788378bd542f6433be6", + "version-semver": "5.1.0", + "port-version": 0 + }, { "git-tree": "64ad522f07220b1765e13f37a8ef1a562c039562", "version-semver": "5.0.0", diff --git a/versions/h-/hdf5.json b/versions/h-/hdf5.json index 76be320bdbfd15..0a86c02acf1eb0 100644 --- a/versions/h-/hdf5.json +++ b/versions/h-/hdf5.json @@ -1,5 +1,90 @@ { "versions": [ + { + "git-tree": "f13d0c544b6c489babc70c6aa60414761566feda", + "version": "1.14.4.3", + "port-version": 2 + }, + { + "git-tree": "78bbbbd55003edb72788c0d49851f16f1b0effbe", + "version": "1.14.4.3", + "port-version": 1 + }, + { + "git-tree": "e70b5fbdb0a1de805cf467c4b7e5b7544f30008a", + "version": "1.14.4.3", + "port-version": 0 + }, + { + "git-tree": "24055818f16022ee4fe1feca4008df0a20d2cdb1", + "version": "1.14.2", + "port-version": 0 + }, + { + "git-tree": "1266e52ebeeb58e015af053d4e87e5356efe130e", + "version": "1.14.0", + "port-version": 1 + }, + { + "git-tree": "a4600f49dc4a0f8d522a408fb5486b77ce6ae7ed", + "version": "1.14.0", + "port-version": 0 + }, + { + "git-tree": "85fe6e7c6caeadc116edbb67dcee675f36801d7d", + "version": "1.12.2", + "port-version": 6 + }, + { + "git-tree": "71726aefa4830ee87043862a8541853861cd8333", + "version": "1.12.2", + "port-version": 5 + }, + { + "git-tree": "815c3b39b38a2cf57e33d010b6a8f9c84a178676", + "version": "1.12.2", + "port-version": 4 + }, + { + "git-tree": "49bd00fad1be159f72151186015b20bf095f4177", + "version": "1.12.2", + "port-version": 3 + }, + { + "git-tree": "e780ea29b8b6a24227612b42673bc7f1d7a81766", + "version": "1.12.2", + "port-version": 2 + }, + { + "git-tree": "f6647d7591d9b5a588d92e0fb4266d2028132ff9", + "version": "1.12.2", + "port-version": 1 + }, + { + "git-tree": "4abe78968a986c1793207ae653eb686926f3c141", + "version": "1.12.2", + "port-version": 0 + }, + { + "git-tree": "c6491dde27884b1326e6f74f3862c1ae63a122ca", + "version": "1.12.1", + "port-version": 5 + }, + { + "git-tree": "1000a70aefebfdd856715d265c3421c80157b773", + "version": "1.12.1", + "port-version": 4 + }, + { + "git-tree": "c12760535a18d9f3ac5497103dc76a961bac991e", + "version": "1.12.1", + "port-version": 3 + }, + { + "git-tree": "b3c8c63454b3e098a9e03ea654eef206769e31c1", + "version": "1.12.1", + "port-version": 1 + }, { "git-tree": "bf638074020559930d6e73c72bc9937bfef5ba57", "version": "1.12.1", diff --git a/versions/h-/hdr-histogram.json b/versions/h-/hdr-histogram.json new file mode 100644 index 00000000000000..c3c2af4ed6db35 --- /dev/null +++ b/versions/h-/hdr-histogram.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "e7c8179ec8d0d5a49010bea92f143f011de137da", + "version-semver": "0.11.8", + "port-version": 0 + } + ] +} diff --git a/versions/h-/healpix.json b/versions/h-/healpix.json index a85f5293c2107b..ee4220febe014a 100644 --- a/versions/h-/healpix.json +++ b/versions/h-/healpix.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "8785aa8b74708a7614b1bcdc71f9ce46d4dca27b", + "version": "1.12.10", + "port-version": 9 + }, { "git-tree": "38bd9d397f3ba4e227f09a36ecb0af034f5f0c98", "version-string": "1.12.10", diff --git a/versions/h-/hello-imgui.json b/versions/h-/hello-imgui.json new file mode 100644 index 00000000000000..eb9a64ae4f92a9 --- /dev/null +++ b/versions/h-/hello-imgui.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "965296e927e1e09280992d52cd0330ce2c966cc6", + "version": "1.5.2", + "port-version": 0 + }, + { + "git-tree": "e42f8dcf24a3ffee1376bd840df8d2774784c7b4", + "version": "1.4.2", + "port-version": 1 + }, + { + "git-tree": "5ecf61526918746249b229e66d820f4da98e0c5a", + "version": "1.4.2", + "port-version": 0 + } + ] +} diff --git a/versions/h-/hexl.json b/versions/h-/hexl.json index c1ade71589681f..1f0c88a4aa1507 100644 --- a/versions/h-/hexl.json +++ b/versions/h-/hexl.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "507c302772e728f454519b1c7eb2740414b11386", + "version": "1.2.5", + "port-version": 0 + }, + { + "git-tree": "4d048751f3f15d5536e3e26d096e5efe3d8713ac", + "version": "1.2.4", + "port-version": 0 + }, + { + "git-tree": "c345ad60bfec1af5f712c6076de5d58ec497d889", + "version": "1.2.3", + "port-version": 1 + }, { "git-tree": "b79e9b07e9389a78ab2d421cc45940e52948d956", "version": "1.2.3", diff --git a/versions/h-/hffix.json b/versions/h-/hffix.json index 0f10d1695d33b9..c3a2ee89341f44 100644 --- a/versions/h-/hffix.json +++ b/versions/h-/hffix.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "e5b00d20790e99706cd80550e290b61db9984e67", + "version": "1.4.1", + "port-version": 0 + }, + { + "git-tree": "3aab9fe5c85f6055d5df986ca8c6a8e67cd7014c", + "version": "1.3.0", + "port-version": 0 + }, + { + "git-tree": "ae376d1e63858194fc64a2c32221d273d0e2d953", + "version": "1.2.1", + "port-version": 0 + }, { "git-tree": "75af034fee768fa49b06ad4b37a65374782e1033", "version-string": "1.0.0", diff --git a/versions/h-/hidapi.json b/versions/h-/hidapi.json index 6bbe71ea2fc53b..10bbefae606b2a 100644 --- a/versions/h-/hidapi.json +++ b/versions/h-/hidapi.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "92cd0a67a5ca42dd33ec36fb8d9a41b24b5b1909", + "version-semver": "0.14.0", + "port-version": 1 + }, + { + "git-tree": "ef7fae56bd9bec8a3b50d4ab3f87ba7537ea330b", + "version-semver": "0.14.0", + "port-version": 0 + }, + { + "git-tree": "7deb8cf068244c5583ce565bf1d302b369ed622b", + "version-semver": "0.13.1", + "port-version": 0 + }, + { + "git-tree": "803a911247de97c28264c5dee2102b368137562d", + "version-semver": "0.12.0", + "port-version": 0 + }, + { + "git-tree": "145fcc6e2c3aa564666793d494a6b90c1323e0ac", + "version-semver": "0.11.2", + "port-version": 1 + }, + { + "git-tree": "afa485fda08f51ccd3fbf54327ba44aa11b8cb32", + "version-semver": "0.11.2", + "port-version": 0 + }, { "git-tree": "2540911a0c10b731ac15a04c6f9c5153003c19fd", "version-semver": "0.11.0", diff --git a/versions/h-/highfive.json b/versions/h-/highfive.json index 20b9367497c515..4afb633fd76c9e 100644 --- a/versions/h-/highfive.json +++ b/versions/h-/highfive.json @@ -1,5 +1,55 @@ { "versions": [ + { + "git-tree": "6261fb6deb8404206a958e758ccb591be2a97d61", + "version": "2.10.0", + "port-version": 0 + }, + { + "git-tree": "a51e538002dbc46c5fbe1f2fec622387acd3742b", + "version": "2.9.0", + "port-version": 0 + }, + { + "git-tree": "2eb72663fb8f48a01e0caaef98c56d8cf60ffdf7", + "version": "2.7.1", + "port-version": 1 + }, + { + "git-tree": "de97a368e21a37ade6556f064c16409a0a3132dd", + "version": "2.7.1", + "port-version": 0 + }, + { + "git-tree": "6139bdb8e7791f8cc8cf5a355dad303f277e2c6e", + "version": "2.6.2", + "port-version": 2 + }, + { + "git-tree": "053a5d7a36102b9cc8c57ef4853bd904765dbf33", + "version": "2.6.2", + "port-version": 1 + }, + { + "git-tree": "e95648f80ea06327d809655bc2ab6f5ffad3e52a", + "version": "2.6.2", + "port-version": 0 + }, + { + "git-tree": "8303489c627f763e4edfea72273d56ce30dcbc02", + "version": "2.3", + "port-version": 3 + }, + { + "git-tree": "b1ecca066cce62dd0fbdf760151ee0c3ccc70b81", + "version": "2.3", + "port-version": 2 + }, + { + "git-tree": "e2f9f257e00960a16a162c1f279406f48528db5a", + "version": "2.3", + "port-version": 1 + }, { "git-tree": "76c01340920e595af976269dec82132f192a4705", "version": "2.3", diff --git a/versions/h-/highs.json b/versions/h-/highs.json new file mode 100644 index 00000000000000..ed44cb2b24441a --- /dev/null +++ b/versions/h-/highs.json @@ -0,0 +1,24 @@ +{ + "versions": [ + { + "git-tree": "177abe2290aaf86774d62802557936f3a0fea958", + "version": "1.7.2", + "port-version": 0 + }, + { + "git-tree": "70dcabf84d768dffa37123812c300637dc9231a5", + "version": "1.6.0", + "port-version": 1 + }, + { + "git-tree": "bf3c23e1f9f53ae9d35cd62b49a064556bf9ec13", + "version": "1.6.0", + "port-version": 0 + }, + { + "git-tree": "0480e56032ae6758dd2e09528a02ab5bc175b537", + "version": "1.5.1", + "port-version": 0 + } + ] +} diff --git a/versions/h-/highway.json b/versions/h-/highway.json index b3efe0ceb9df13..b9853f9b087e92 100644 --- a/versions/h-/highway.json +++ b/versions/h-/highway.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "6084fa0969d208dd78997f44e8b4b406aa174345", + "version": "1.2.0", + "port-version": 0 + }, + { + "git-tree": "c5063ea7c7a83d9bb3d70a9ac0ea8e3fc96730c8", + "version": "1.1.0", + "port-version": 0 + }, + { + "git-tree": "38d663dc2875706f01a199516d1c3ddef59296e7", + "version": "1.0.7", + "port-version": 0 + }, + { + "git-tree": "221bc90fda5b814132f77cac6e28750dc7525323", + "version": "1.0.6", + "port-version": 0 + }, + { + "git-tree": "d516ee6b19d52dce62aae1d9ced2b7d9b18cb5cf", + "version": "1.0.4", + "port-version": 0 + }, + { + "git-tree": "c5445e6987068f7752475cf5f26c3402d3d8ef82", + "version-semver": "1.0.3", + "port-version": 0 + }, + { + "git-tree": "0062f27986b38db6f1e46e3118bef2cdfdd0450f", + "version-semver": "1.0.2", + "port-version": 0 + }, { "git-tree": "5167bd4fba072a5f09398d913d5e575241c67c5e", "version-semver": "0.14.2", diff --git a/versions/h-/hikogui.json b/versions/h-/hikogui.json new file mode 100644 index 00000000000000..6607857d1da5cd --- /dev/null +++ b/versions/h-/hikogui.json @@ -0,0 +1,24 @@ +{ + "versions": [ + { + "git-tree": "d007fc919e0734e139f89d285000d2d166315f73", + "version": "0.8.1", + "port-version": 2 + }, + { + "git-tree": "89a94b29c6cf63fb3e99c979281751279f02031e", + "version": "0.8.1", + "port-version": 1 + }, + { + "git-tree": "92a9a5aedbc104981ec2fe41b097e8f2c65896f7", + "version": "0.8.1", + "port-version": 0 + }, + { + "git-tree": "3ed99f330c9de6be97e6e2e25c3ff55080fbbcd5", + "version": "0.7.0", + "port-version": 0 + } + ] +} diff --git a/versions/h-/hiredis.json b/versions/h-/hiredis.json index fb3ee3693dbed9..d5f2e1b4bacd81 100644 --- a/versions/h-/hiredis.json +++ b/versions/h-/hiredis.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "4a9b927af18cb3f5df500b3ee1ea49ac734910cd", + "version": "1.2.0", + "port-version": 0 + }, + { + "git-tree": "863fe622cf3050ab1722a81950283e9a354da473", + "version": "1.1.0", + "port-version": 0 + }, + { + "git-tree": "413b1dbea0dd87e4a12a646ba12411d319e5bf38", + "version": "1.0.2", + "port-version": 5 + }, + { + "git-tree": "448374fa990c04aa7964508d32817a6d7868600b", + "version": "1.0.2", + "port-version": 4 + }, + { + "git-tree": "4eafe5d23a2d906153cc8821c14092f2a9d3ef8a", + "version": "1.0.2", + "port-version": 3 + }, + { + "git-tree": "b651b36e6488f1eaaafc33d15d73d94751919f03", + "version": "1.0.2", + "port-version": 2 + }, { "git-tree": "0c7e16c5c3a9f612e1b46f96be41389b8ba11e6a", "version": "1.0.2", diff --git a/versions/h-/hjson-cpp.json b/versions/h-/hjson-cpp.json new file mode 100644 index 00000000000000..5a38bdf57c744f --- /dev/null +++ b/versions/h-/hjson-cpp.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "fd0ae6a65d85cb782888aaf31fe4dcec0b47892d", + "version": "2.4.1", + "port-version": 0 + } + ] +} diff --git a/versions/h-/hlslpp.json b/versions/h-/hlslpp.json new file mode 100644 index 00000000000000..aae8303cf80ec8 --- /dev/null +++ b/versions/h-/hlslpp.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "1041701a7d349ee4b39152a0cb8f49d4c8c0594b", + "version": "3.5.3", + "port-version": 0 + }, + { + "git-tree": "441df83e907bfc42eedda5b2e502e627519b3a8a", + "version": "3.5", + "port-version": 0 + } + ] +} diff --git a/versions/h-/hnswlib.json b/versions/h-/hnswlib.json new file mode 100644 index 00000000000000..45b276ae1c1282 --- /dev/null +++ b/versions/h-/hnswlib.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "e476d41813814f2180e5a898c81ca394339c4cf3", + "version": "0.8.0", + "port-version": 0 + }, + { + "git-tree": "497030f03d37d63ff86c9e99d24d9e8f048ea067", + "version": "0.7.0", + "port-version": 1 + }, + { + "git-tree": "7053d263445d46410589894d921fa6c85fbf107c", + "version": "0.7.0", + "port-version": 0 + } + ] +} diff --git a/versions/h-/hps.json b/versions/h-/hps.json new file mode 100644 index 00000000000000..c969995e14528c --- /dev/null +++ b/versions/h-/hps.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "8a0ec99ea7523e63fdb09fcf0eeda02739160688", + "version-date": "2022-01-18", + "port-version": 0 + } + ] +} diff --git a/versions/h-/hpx.json b/versions/h-/hpx.json index e35502add12cf8..42e70d648f6c42 100644 --- a/versions/h-/hpx.json +++ b/versions/h-/hpx.json @@ -1,5 +1,65 @@ { "versions": [ + { + "git-tree": "422ed34b487e71a3939e6829f0346f1e323f33ab", + "version": "1.10.0", + "port-version": 1 + }, + { + "git-tree": "16c5c4ecb6757b7217dedd324cc1e86e9d5694e1", + "version": "1.10.0", + "port-version": 0 + }, + { + "git-tree": "f2a5820cd03a2049446ae18d5e98f99ae6eb7fa7", + "version": "1.9.1", + "port-version": 1 + }, + { + "git-tree": "94d5f165d483752d4b7996bd1414497c5299208f", + "version": "1.9.1", + "port-version": 0 + }, + { + "git-tree": "2d21a35d6723060eccbe376e9e694991cadb90b2", + "version": "1.8.1", + "port-version": 0 + }, + { + "git-tree": "65b93e6c2b9660897d82d6dd32c0edb6689aa6e6", + "version": "1.8.0", + "port-version": 2 + }, + { + "git-tree": "aaf58e8627662fd841d011ea7e71d23507573772", + "version": "1.8.0", + "port-version": 1 + }, + { + "git-tree": "2bd151915f73223a06d9470f38f56d253392a484", + "version": "1.8.0", + "port-version": 0 + }, + { + "git-tree": "48d153f2932b01257af5a799676268abdfb35fac", + "version-semver": "1.7.1", + "port-version": 5 + }, + { + "git-tree": "815641d6119376c546119a841f6c035e8f27b8da", + "version-semver": "1.7.1", + "port-version": 4 + }, + { + "git-tree": "ca0e813d228cd5ea6e5c05ae81e7e89e825783d0", + "version-semver": "1.7.1", + "port-version": 3 + }, + { + "git-tree": "e3376f2a4ca78e32a29511450453e154cdb08a2a", + "version-semver": "1.7.1", + "port-version": 2 + }, { "git-tree": "739c83940b3bc753e7b1ada7192dd0c36970c9f5", "version-semver": "1.7.1", diff --git a/versions/h-/htscodecs.json b/versions/h-/htscodecs.json new file mode 100644 index 00000000000000..9a582446e211fa --- /dev/null +++ b/versions/h-/htscodecs.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "a7eaba66bb4d3bf35e1a6b9b70e91edccaccf071", + "version": "1.6.1", + "port-version": 0 + }, + { + "git-tree": "9475b0327f2fedd60e7c2d71351fed598c9ba3f9", + "version": "1.6.0", + "port-version": 0 + } + ] +} diff --git a/versions/h-/htslib.json b/versions/h-/htslib.json new file mode 100644 index 00000000000000..aa463bde2fac59 --- /dev/null +++ b/versions/h-/htslib.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "76f12c76144128b5c812e8c80957daa446b8b29e", + "version": "1.21", + "port-version": 0 + }, + { + "git-tree": "94372bcc6471960499da89e7ca144bb90b43a235", + "version": "1.20", + "port-version": 0 + } + ] +} diff --git a/versions/h-/http-parser.json b/versions/h-/http-parser.json index 8ed21169510d93..890105c8f7d614 100644 --- a/versions/h-/http-parser.json +++ b/versions/h-/http-parser.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "8da57f708336be4ff2f58ab004147f01708a5cac", + "version": "2.9.4", + "port-version": 3 + }, + { + "git-tree": "efc0b81d99faca7a109c910d43816f8fc10470c9", + "version": "2.9.4", + "port-version": 2 + }, { "git-tree": "55d462cc4fb637891cc2d1dda24a9bd97c7d38f5", "version-string": "2.9.4", diff --git a/versions/h-/hungarian.json b/versions/h-/hungarian.json index 116c8e8594bfa3..ed272292fd7c2e 100644 --- a/versions/h-/hungarian.json +++ b/versions/h-/hungarian.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "b5060bc0e31ae7abd3c95888c24c9f31ba691885", + "version": "0.1.3", + "port-version": 3 + }, + { + "git-tree": "32186cf61ba587da9ed75c14d0a289fbd76080b6", + "version-string": "v0.1.3", + "port-version": 2 + }, { "git-tree": "4440d428d76082b3b8af21c5eda247a33794b4ef", "version-string": "v0.1.3", diff --git a/versions/h-/hunspell.json b/versions/h-/hunspell.json index af5756c9447935..a038a134697957 100644 --- a/versions/h-/hunspell.json +++ b/versions/h-/hunspell.json @@ -1,5 +1,55 @@ { "versions": [ + { + "git-tree": "1d470eb79853a55a2bcbf8fce3e41f0cf7c737a3", + "version": "1.7.2", + "port-version": 1 + }, + { + "git-tree": "adbb8a9460f3c540d3d5719c519c32b97b3f5844", + "version": "1.7.2", + "port-version": 0 + }, + { + "git-tree": "661af60066452aeb627f9cf0675303b7ac677a02", + "version": "1.7.1", + "port-version": 4 + }, + { + "git-tree": "798ac2e490d16afc2713b95740101c03fa555f84", + "version": "1.7.1", + "port-version": 3 + }, + { + "git-tree": "eb238e0094c8177b2b9ddfe8146c5e516ccbb7dc", + "version": "1.7.1", + "port-version": 2 + }, + { + "git-tree": "b41e3a543323f9a28cfa2fc9e93c8d3fc31a2597", + "version": "1.7.1", + "port-version": 1 + }, + { + "git-tree": "3adb7d5162395e281e90173a290f16303c977f3b", + "version": "1.7.1", + "port-version": 0 + }, + { + "git-tree": "9beac8cd192fb54839925b083fa72e611d7bcfee", + "version": "1.7.0", + "port-version": 8 + }, + { + "git-tree": "a7db92584496fe08ac10f8f32556ca89e14018aa", + "version": "1.7.0", + "port-version": 7 + }, + { + "git-tree": "459909cbf52806ce8df547bed3265d7d5c4abfc2", + "version": "1.7.0", + "port-version": 6 + }, { "git-tree": "2a0514dd8b3893b6d3a502fbf55156e9e971d6f7", "version": "1.7.0", diff --git a/versions/h-/hwloc.json b/versions/h-/hwloc.json index 4907125a4a4912..f2f5d7188d4264 100644 --- a/versions/h-/hwloc.json +++ b/versions/h-/hwloc.json @@ -1,5 +1,50 @@ { "versions": [ + { + "git-tree": "4b14fa65f32abe3d816a08d5d37aaf183372338c", + "version": "2.11.2", + "port-version": 0 + }, + { + "git-tree": "c4ef98fd8710fdbedc145a628206d7dbb72e8c22", + "version": "2.10.0", + "port-version": 1 + }, + { + "git-tree": "f21a1b350aea6164f80b41c45980189c6d561ffa", + "version": "2.10.0", + "port-version": 0 + }, + { + "git-tree": "8c536aed23026d6f8a30f1815e47f30652112c22", + "version": "2.9.3", + "port-version": 0 + }, + { + "git-tree": "a5178039005718c78a3a9a0386fb4e6113797576", + "version": "2.9.0", + "port-version": 0 + }, + { + "git-tree": "3ce0161512ee6cc0ef1f2e68a6c73db63422f0ee", + "version": "2.7.1", + "port-version": 0 + }, + { + "git-tree": "22d2c0f63d27b10b032eb6cb3bd07055300fc961", + "version": "2.7.0", + "port-version": 0 + }, + { + "git-tree": "fda6ebfe17a601d067ee6809571bedbedb590eef", + "version": "2.5.0", + "port-version": 3 + }, + { + "git-tree": "4d5dc3e908e5a9e750ea228042e013e6b8a6fd77", + "version": "2.5.0", + "port-version": 2 + }, { "git-tree": "bb188ce07f5e0b88685f5c6740c52c8f45636878", "version": "2.5.0", diff --git a/versions/h-/hyperscan.json b/versions/h-/hyperscan.json index 7003a010247b76..2dfb8c0b231afb 100644 --- a/versions/h-/hyperscan.json +++ b/versions/h-/hyperscan.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "174fd7953b696f08703b580901a840cc53157439", + "version": "5.4.2", + "port-version": 0 + }, + { + "git-tree": "72c36aba3fff7cd403bdf02ad8f691ced9da30a9", + "version": "5.4.0", + "port-version": 0 + }, { "git-tree": "14beb85ac3a741f5504afa923832eb651795f530", "version-string": "5.3.0", diff --git a/versions/h-/hypodermic.json b/versions/h-/hypodermic.json index ceb3ab656b8d80..6bca506a96c936 100644 --- a/versions/h-/hypodermic.json +++ b/versions/h-/hypodermic.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "c700e6e57d232e5f86beff9a491b8a458f5f0cd5", + "version-date": "2023-03-03", + "port-version": 0 + }, { "git-tree": "5b25c37438cbd5b8c8851c91413e1f671ebe1436", "version": "2.5.3", diff --git a/versions/h-/hypre.json b/versions/h-/hypre.json index 758633abb6cf97..67e936f1c0e97e 100644 --- a/versions/h-/hypre.json +++ b/versions/h-/hypre.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "c86dd4b42c27ebdfbfa8c276e3e1b1d8f9ca7333", + "version": "2.29.0", + "port-version": 1 + }, + { + "git-tree": "bb61b149787c812f654a86f6863a6e4b8cb011cb", + "version": "2.29.0", + "port-version": 0 + }, { "git-tree": "8e59caf45e83417ef29aec09ecb532d5e39ef6b5", "version": "2.23.0", diff --git a/versions/i-/iceoryx.json b/versions/i-/iceoryx.json new file mode 100644 index 00000000000000..5764f57576b9da --- /dev/null +++ b/versions/i-/iceoryx.json @@ -0,0 +1,29 @@ +{ + "versions": [ + { + "git-tree": "8018622ded2c8e174b5ef1da63008580b414ad93", + "version": "2.0.6", + "port-version": 0 + }, + { + "git-tree": "477aa79e85cf40785cfc5aee9dc0bf7203571793", + "version": "2.0.5", + "port-version": 0 + }, + { + "git-tree": "bb960b0f9f6f909467d87fa171e5909c318953dc", + "version": "2.0.3", + "port-version": 0 + }, + { + "git-tree": "01c97cf0c2e2ba63c406b8b0d2b51443dec98ee2", + "version": "2.0.2", + "port-version": 1 + }, + { + "git-tree": "77c813fcc56fee86559404c7c22c2396509cff1a", + "version": "2.0.2", + "port-version": 0 + } + ] +} diff --git a/versions/i-/icu.json b/versions/i-/icu.json index a3dce8c551f9c1..89761f81c1a49c 100644 --- a/versions/i-/icu.json +++ b/versions/i-/icu.json @@ -1,5 +1,105 @@ { "versions": [ + { + "git-tree": "291bbc492b8f73dea0dbd12051e9b12b21aef900", + "version": "74.2", + "port-version": 4 + }, + { + "git-tree": "fd268f9bb3ccbccf9bcd7eac2c2ff407625477dd", + "version": "74.2", + "port-version": 3 + }, + { + "git-tree": "a36199768fe1f9676b61d5d28ed9ac36c9f041c0", + "version": "74.2", + "port-version": 2 + }, + { + "git-tree": "dd30ff59dbfac290a1547dccc5ba44646fffa018", + "version": "74.2", + "port-version": 1 + }, + { + "git-tree": "8fda8f4d0ca5b0a97ac61432d85ad0449995a763", + "version": "74.1", + "port-version": 1 + }, + { + "git-tree": "0a6f5ea29d6445c8af30f19952c62cc5dd5e2a5b", + "version": "74.1", + "port-version": 0 + }, + { + "git-tree": "b6ac20c2420a4f7118d5db326c8c599e50b2c5a4", + "version": "73.1", + "port-version": 2 + }, + { + "git-tree": "deb5694d7965a264d6eb579df49aff4fe6362c24", + "version": "73.1", + "port-version": 1 + }, + { + "git-tree": "acc3cf9137af5fc8fdd3e8607377026cf88f144d", + "version": "73.1", + "port-version": 0 + }, + { + "git-tree": "c1735b83e7793135a9d1e3689f7d36475f6d5ff7", + "version": "72.1", + "port-version": 5 + }, + { + "git-tree": "1a0b575f86d37844108f940fd5f6a312a68d234c", + "version": "72.1", + "port-version": 4 + }, + { + "git-tree": "36a3246630c4794b3781e881e5a57db36092deea", + "version": "72.1", + "port-version": 3 + }, + { + "git-tree": "c06697d7c811e568d2e520db13e41fe656bb5468", + "version": "72.1", + "port-version": 2 + }, + { + "git-tree": "2a4109603660116f3cb7477c234d3f0275124738", + "version": "72.1", + "port-version": 1 + }, + { + "git-tree": "ca8792e25fbaf4f4d507eef05e2235b0449ed155", + "version": "72.1", + "port-version": 0 + }, + { + "git-tree": "13fe0c9056059654ea7e482cd06ff70c26f9e029", + "version": "71.1", + "port-version": 0 + }, + { + "git-tree": "2d082108b0899697c9b6253c260188728374e56b", + "version": "70.1", + "port-version": 0 + }, + { + "git-tree": "5d1bac4d5b2a05af577b0aa5bb8f600e5cf15427", + "version": "69.1", + "port-version": 19 + }, + { + "git-tree": "789755812260e6c4759e305d1591938513023c07", + "version": "69.1", + "port-version": 18 + }, + { + "git-tree": "0dc7426123d7307c353c40d63f74682f2faaabf1", + "version": "69.1", + "port-version": 17 + }, { "git-tree": "042eb68cba932ed45a95883c733406331cbaad6c", "version": "69.1", diff --git a/versions/i-/ideviceinstaller.json b/versions/i-/ideviceinstaller.json index 4ca28ad9092b04..b8f1d1fddb1369 100644 --- a/versions/i-/ideviceinstaller.json +++ b/versions/i-/ideviceinstaller.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "eff7fcd07b94280ed7c5517ac113b95b3b3bd6a3", + "version-date": "2023-07-21", + "port-version": 0 + }, + { + "git-tree": "7aba247c233ef7200fd22094b8a44c7c836a62d8", + "version": "1.1.2.23", + "port-version": 7 + }, + { + "git-tree": "7e90c045618ecd5001790b38c44567d47397801e", + "version": "1.1.2.23", + "port-version": 6 + }, + { + "git-tree": "3e54543ef504b74edb836a2c47abb3845b83b7c3", + "version": "1.1.2.23", + "port-version": 5 + }, + { + "git-tree": "82bc629affc514c34b77216d2a00cfbbcf1f2220", + "version": "1.1.2.23", + "port-version": 4 + }, + { + "git-tree": "38626b7d6489e6842528257d8a38b2dd31627720", + "version-string": "1.1.2.23", + "port-version": 3 + }, { "git-tree": "3f0f8f093c1597406cdf0695b26403a2ec969baa", "version-string": "1.1.2.23", diff --git a/versions/i-/idevicerestore.json b/versions/i-/idevicerestore.json index 6eb9e529366341..60f2555a6f9927 100644 --- a/versions/i-/idevicerestore.json +++ b/versions/i-/idevicerestore.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "b2bbff840af200a3f2b21b5d19f95f223aca4428", + "version-date": "2023-05-23", + "port-version": 0 + }, + { + "git-tree": "6d1dcd84f69fa4a5006fd26741e2dfd6fbf38a16", + "version": "1.0.12", + "port-version": 8 + }, + { + "git-tree": "0269d10da20f4f0b8d1317f21b71a7e8cac0ff16", + "version": "1.0.12", + "port-version": 7 + }, + { + "git-tree": "020019d72f9fa90089c2f406edb5938294f2dc3d", + "version-string": "1.0.12", + "port-version": 6 + }, { "git-tree": "4ba1b8951ed8c7f3ac7ba2b786c58e44ad322a86", "version-string": "1.0.12", diff --git a/versions/i-/idyntree.json b/versions/i-/idyntree.json new file mode 100644 index 00000000000000..37fcc24a9c2e4b --- /dev/null +++ b/versions/i-/idyntree.json @@ -0,0 +1,44 @@ +{ + "versions": [ + { + "git-tree": "c03e45e898b3de24c62572cb4ca915b2f974bdd6", + "version": "12.4.0", + "port-version": 0 + }, + { + "git-tree": "b6f4fd3224d19db8890f79d157ee1bf27bdb62f8", + "version": "12.3.1", + "port-version": 0 + }, + { + "git-tree": "0e37ffd4b1f13ea7145f264d95962ae2784f6ee0", + "version": "12.1.0", + "port-version": 0 + }, + { + "git-tree": "9e480d9ee555087269d114619188461e9b565194", + "version": "10.3.0", + "port-version": 0 + }, + { + "git-tree": "d1899c3e91178e266bedb71a79fcf173f009db6b", + "version": "10.0.0", + "port-version": 0 + }, + { + "git-tree": "50658eb0c1ccc3ada2d91638cddb51bec93dd2c5", + "version": "9.0.0", + "port-version": 1 + }, + { + "git-tree": "4c7bc2d8282bf918d6be1b0b63af3f4612e673ef", + "version": "9.0.0", + "port-version": 0 + }, + { + "git-tree": "65e8740ace938a59b21dc97e30ab531c005ce399", + "version": "8.1.0", + "port-version": 0 + } + ] +} diff --git a/versions/i-/if97.json b/versions/i-/if97.json index 77bf8ee1f27d1c..4b7c4a44ffb9af 100644 --- a/versions/i-/if97.json +++ b/versions/i-/if97.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "2177f39e3ea1add06da2e665c0e34d2f620ec9a5", + "version": "2.1.3", + "port-version": 1 + }, + { + "git-tree": "71c163c4d2b1ef30310ba2c87ce66fa6f616034c", + "version": "2.1.3", + "port-version": 0 + }, { "git-tree": "417735fbf8343a340507ae62b2775cb95269769b", "version-string": "2.1.2", diff --git a/versions/i-/igloo.json b/versions/i-/igloo.json index 928dbfd5ea1903..511acffc2761af 100644 --- a/versions/i-/igloo.json +++ b/versions/i-/igloo.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "92673b7970f94973bcdb16ac50a37555128353a0", + "version": "1.1.1", + "port-version": 2 + }, { "git-tree": "6ff1a6861322e6b0084c5f74a014a386a5e1040b", "version-string": "1.1.1", diff --git a/versions/i-/ignition-cmake0.json b/versions/i-/ignition-cmake0.json index b2bb0cf30ca5d7..b342325754f350 100644 --- a/versions/i-/ignition-cmake0.json +++ b/versions/i-/ignition-cmake0.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "dd21340a3227e51353676cc9147ba3d759fcaf6d", + "version": "0.6.2", + "port-version": 4 + }, { "git-tree": "de484d582fc076a89f57fde7db6944eb57c006df", "version-string": "0.6.2", diff --git a/versions/i-/ignition-cmake2.json b/versions/i-/ignition-cmake2.json index 42b3ed6132b782..5117c978154d59 100644 --- a/versions/i-/ignition-cmake2.json +++ b/versions/i-/ignition-cmake2.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "3eb2c4704cd676b655cee082afa275ba9a081c7d", + "version": "2.17.1", + "port-version": 0 + }, + { + "git-tree": "b27712039b4d79cf56407894ede3681292712649", + "version": "2.16.0", + "port-version": 2 + }, + { + "git-tree": "fefe057cb14c0f698b0ebb1a717b5bba189ab355", + "version": "2.16.0", + "port-version": 1 + }, + { + "git-tree": "1e94a4739cf0e6197a67fbd5770cbff1afcf5f51", + "version": "2.16.0", + "port-version": 0 + }, + { + "git-tree": "04ad74fe00ed7c2030aec3e27fc0beaaf2c90bf8", + "version": "2.5.0", + "port-version": 3 + }, + { + "git-tree": "d146d55be3a48e481af0a87660c44ce2a7b5cb11", + "version": "2.5.0", + "port-version": 2 + }, { "git-tree": "6c12bb698575d2b7cff16d177c2601ab195041fa", "version": "2.5.0", diff --git a/versions/i-/ignition-common1.json b/versions/i-/ignition-common1.json index 6dafbea52176df..0543274dcf43bf 100644 --- a/versions/i-/ignition-common1.json +++ b/versions/i-/ignition-common1.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "c41c38488af45c9721e56792886250ef144bc050", + "version": "1.1.1", + "port-version": 4 + }, + { + "git-tree": "7759642adcf3e61cc1ce5b55699db02d31a94591", + "version": "1.1.1", + "port-version": 3 + }, { "git-tree": "6e4a5f2f998f4730002bd95e92251b77e757d6b2", "version-string": "1.1.1", diff --git a/versions/i-/ignition-common3.json b/versions/i-/ignition-common3.json index f0c55442621f17..bdd40778deea42 100644 --- a/versions/i-/ignition-common3.json +++ b/versions/i-/ignition-common3.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "ae2e9feb5941cbe46f6aeaa757078c0074ed33fe", + "version": "3.16.0", + "port-version": 0 + }, + { + "git-tree": "f63b7872dccdd6f71e0a075ea4bbf677c679a9d8", + "version": "3.14.1", + "port-version": 0 + }, + { + "git-tree": "6dc33f01d43ba86ec811a09138434f76815a40c8", + "version": "3.9.0", + "port-version": 4 + }, + { + "git-tree": "929c84951a63b65c9dd48f73a4a7147ae5a1779b", + "version": "3.9.0", + "port-version": 3 + }, + { + "git-tree": "ee01029f1822c107fb6654c440aad50f5e5b97d3", + "version-string": "3.9.0", + "port-version": 2 + }, { "git-tree": "f576cb30e5369daf724e9465dd29ef496f327283", "version-string": "3.9.0", diff --git a/versions/i-/ignition-fuel-tools1.json b/versions/i-/ignition-fuel-tools1.json index 539d737ff33852..4aa3ad3e025a28 100644 --- a/versions/i-/ignition-fuel-tools1.json +++ b/versions/i-/ignition-fuel-tools1.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "2809092ee332d969d0c3d7953010b2a3aed0b801", + "version": "1.2.0", + "port-version": 4 + }, { "git-tree": "9c9a312b5c09cc860b8cbc810d68ba5a17bd7afb", "version-string": "1.2.0", diff --git a/versions/i-/ignition-fuel-tools4.json b/versions/i-/ignition-fuel-tools4.json index ecb8fd1c3ba043..4819f0c7eb6450 100644 --- a/versions/i-/ignition-fuel-tools4.json +++ b/versions/i-/ignition-fuel-tools4.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "168bd907379d81e0af580ea8f5cad0a9e448469e", + "version": "4.3.0", + "port-version": 2 + }, { "git-tree": "e6f7783701420adbe90b861a5a96130bd87f114e", "version-string": "4.3.0", diff --git a/versions/i-/ignition-math4.json b/versions/i-/ignition-math4.json index 0448bf757fe687..072a925ff234ad 100644 --- a/versions/i-/ignition-math4.json +++ b/versions/i-/ignition-math4.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "fb3de1aed28c6b2599a41fa1fe4ef45fd447f988", + "version": "4.0.0", + "port-version": 3 + }, { "git-tree": "0312d0e2b91d2e465a1464c83a17dfb5fbe57e4a", "version-string": "4.0.0", diff --git a/versions/i-/ignition-math6.json b/versions/i-/ignition-math6.json index f536515f87b524..4d790ebb072c60 100644 --- a/versions/i-/ignition-math6.json +++ b/versions/i-/ignition-math6.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "fc4451a5996b8de09041e1aac247380197feb780", + "version": "6.14.0", + "port-version": 0 + }, + { + "git-tree": "4c64259804945e426650515f5de69bb29107a167", + "version": "6.9.2", + "port-version": 1 + }, + { + "git-tree": "6ba12e1d6fbb4b7b72e209a4dad9b3bf0ec83879", + "version": "6.9.2", + "port-version": 0 + }, + { + "git-tree": "eb148027e8b1f6b1c6a47500140fa02467911e26", + "version": "6.6.0", + "port-version": 3 + }, + { + "git-tree": "7fda0a4d654c39cd30c400919981ea71675f696f", + "version-string": "6.6.0", + "port-version": 2 + }, { "git-tree": "20a34c6dd45c4cb0a5638ded5eb9b2dd8113a0ba", "version-string": "6.6.0", diff --git a/versions/i-/ignition-modularscripts.json b/versions/i-/ignition-modularscripts.json index 2ee4650be26509..f217614af800e7 100644 --- a/versions/i-/ignition-modularscripts.json +++ b/versions/i-/ignition-modularscripts.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "f770940cc2085c2f24a1673730fd8d642b49717f", + "version-date": "2023-05-05", + "port-version": 0 + }, + { + "git-tree": "bc5dc2fa00b5023e9f2fa1610a986e8d61874380", + "version-date": "2022-05-11", + "port-version": 2 + }, + { + "git-tree": "ae302700b77870b26543f2df7764304d848c198a", + "version-date": "2022-05-11", + "port-version": 1 + }, + { + "git-tree": "d834091edb40475a3e9f55455ff532f3ac629142", + "version-date": "2022-05-11", + "port-version": 0 + }, { "git-tree": "0b00233924c15f702784cb2342b469771125c3a5", "version-string": "2020-11-23", diff --git a/versions/i-/ignition-msgs1.json b/versions/i-/ignition-msgs1.json index d0a2b784451a65..b6e71688bf51f7 100644 --- a/versions/i-/ignition-msgs1.json +++ b/versions/i-/ignition-msgs1.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "5839a2117b54d52d370d0636281809b410067b5e", + "version": "1.0.0", + "port-version": 7 + }, + { + "git-tree": "61644519b91178792399cda9a6f03cb8d7651eaf", + "version": "1.0.0", + "port-version": 6 + }, + { + "git-tree": "b906441e45012934421ddd0ad823bb7324939dd8", + "version": "1.0.0", + "port-version": 5 + }, { "git-tree": "7155088669524bfd132aaab6af9f7257e8bfde54", "version-string": "1.0.0", diff --git a/versions/i-/ignition-msgs5.json b/versions/i-/ignition-msgs5.json index 4665750430b636..8719b7145ad408 100644 --- a/versions/i-/ignition-msgs5.json +++ b/versions/i-/ignition-msgs5.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "f72a4cea42ae227af5630276f9b58f5a2b5ed231", + "version": "5.3.0", + "port-version": 7 + }, + { + "git-tree": "a7de105c1d93f5c86e6ee624d65fe1bd8d9a2beb", + "version": "5.3.0", + "port-version": 6 + }, + { + "git-tree": "ca89a878842c0d94483430295c59f9c24eb607bb", + "version": "5.3.0", + "port-version": 5 + }, + { + "git-tree": "a77594480a911b7648ca1ad24a575b826ddc2a9a", + "version": "5.3.0", + "port-version": 4 + }, { "git-tree": "4a9266bfbd56f0c547a7c02e8a416315ae226bf3", "version-string": "5.3.0", diff --git a/versions/i-/ignition-msgs6.json b/versions/i-/ignition-msgs6.json index 2c500d46f6eee7..8e6c527ff0b89f 100644 --- a/versions/i-/ignition-msgs6.json +++ b/versions/i-/ignition-msgs6.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "b604b707d0bbf94878a17e1cd0d53c3e97f8e055", + "version": "6.0.0", + "port-version": 6 + }, + { + "git-tree": "809e114122aec8103638b9c376b883f59376b1a1", + "version": "6.0.0", + "port-version": 5 + }, + { + "git-tree": "a15e3cd08c8481cb639dc9b741ea55df597f6cf8", + "version": "6.0.0", + "port-version": 4 + }, + { + "git-tree": "99d4ba95339db124ba068ea2b7fe9cf53d648da3", + "version": "6.0.0", + "port-version": 3 + }, { "git-tree": "60d1f5a0cdcb7c9fcf7c5dc92f29d1d56a83fc67", "version-string": "6.0.0", diff --git a/versions/i-/ignition-plugin1.json b/versions/i-/ignition-plugin1.json index 5a8a0a6c15d00a..86ea4099161df3 100644 --- a/versions/i-/ignition-plugin1.json +++ b/versions/i-/ignition-plugin1.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "193fcc24d2558a5edd5b4907344048e8562bc669", + "version": "1.4.0", + "port-version": 0 + }, + { + "git-tree": "1f04ba4b936f3f2885c7a463d2a86a1359990931", + "version": "1.1.0", + "port-version": 2 + }, { "git-tree": "71166ea18bf5f4d4de750b96836b780cd7395c0e", "version-string": "1.1.0", diff --git a/versions/i-/ignition-tools.json b/versions/i-/ignition-tools.json new file mode 100644 index 00000000000000..8e3a024b41e539 --- /dev/null +++ b/versions/i-/ignition-tools.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "b47d5830dfaf7b6f136f5b26002b50adb0804bde", + "version": "1.5.0", + "port-version": 1 + }, + { + "git-tree": "5567f256c2183bacba71d78d26362a1b76021bcf", + "version": "1.5.0", + "port-version": 0 + } + ] +} diff --git a/versions/i-/ignition-transport4.json b/versions/i-/ignition-transport4.json index 0492b7b390d23a..4e8f8024c96313 100644 --- a/versions/i-/ignition-transport4.json +++ b/versions/i-/ignition-transport4.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "52ab4e86f4b09e0256c16de68f418f3aac2d89b8", + "version": "4.0.0", + "port-version": 7 + }, + { + "git-tree": "485717373dc99ab0f6f3a6b0ad8fec42bf8e9a9b", + "version": "4.0.0", + "port-version": 6 + }, + { + "git-tree": "17d4c446fb99c9510ee2324a03529b6fb1119a41", + "version": "4.0.0", + "port-version": 5 + }, + { + "git-tree": "24af2dccedbb77ff7f1d514871f291776fd7a86f", + "version-string": "4.0.0", + "port-version": 4 + }, { "git-tree": "1df4d0fec30b796611ef0840f4b74a7008d6c1fb", "version-string": "4.0.0", diff --git a/versions/i-/ignition-transport8.json b/versions/i-/ignition-transport8.json index 5f68e579d69dba..40d04a32995c34 100644 --- a/versions/i-/ignition-transport8.json +++ b/versions/i-/ignition-transport8.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "4582fd73daabc8fd7f5ce3344144bf5a6e08c042", + "version": "8.1.0", + "port-version": 5 + }, + { + "git-tree": "967c8839fce7bd85b58ed1d4a5506a2be278a8ef", + "version": "8.1.0", + "port-version": 4 + }, + { + "git-tree": "df4d904c15b18ca24200a42fdfc4e5930c91618a", + "version": "8.1.0", + "port-version": 3 + }, + { + "git-tree": "10fb9c7619753767ea31b84db43272712730f32c", + "version-string": "8.1.0", + "port-version": 2 + }, { "git-tree": "0841028ca6e8959f60f38c082d998b84dc273910", "version-string": "8.1.0", diff --git a/versions/i-/ignition-transport9.json b/versions/i-/ignition-transport9.json index ced65c2b3541b4..ce4f2a7033fe71 100644 --- a/versions/i-/ignition-transport9.json +++ b/versions/i-/ignition-transport9.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "aed3bea9851408f8b978260edd9e2af7eae24c68", + "version": "9.0.0", + "port-version": 5 + }, + { + "git-tree": "918e7d23ff4ca98405b40bbdf55f9302b6cb0ed0", + "version": "9.0.0", + "port-version": 4 + }, + { + "git-tree": "abbc50866e79bb1566460eb88135358ed740268d", + "version": "9.0.0", + "port-version": 3 + }, + { + "git-tree": "0829d67a63010fca7f587ca7370db716570aa969", + "version-string": "9.0.0", + "port-version": 2 + }, { "git-tree": "263d88cb08544cb6fc3ff459c24a12832c0fdcb0", "version-string": "9.0.0", diff --git a/versions/i-/ignition-utils1.json b/versions/i-/ignition-utils1.json new file mode 100644 index 00000000000000..439b5022e0fc9c --- /dev/null +++ b/versions/i-/ignition-utils1.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "e7d8c75978b3991ee12215ce61e06993e30634aa", + "version": "1.5.1", + "port-version": 0 + }, + { + "git-tree": "020c2c9b24d3d0a0d627a762e4c780ba1af2e154", + "version": "1.4.0", + "port-version": 0 + } + ] +} diff --git a/versions/i-/igraph.json b/versions/i-/igraph.json index 1bf767e4597da2..02297127a5d952 100644 --- a/versions/i-/igraph.json +++ b/versions/i-/igraph.json @@ -1,5 +1,120 @@ { "versions": [ + { + "git-tree": "d8d7f26d7f84453184d67529391c51effd999e85", + "version": "0.10.15", + "port-version": 0 + }, + { + "git-tree": "42ba83fca57e6096a63886deb6f68d6e1e96c2ff", + "version": "0.10.13", + "port-version": 0 + }, + { + "git-tree": "9f34378af626348aab135d8fee63ebc6a0f3041d", + "version": "0.10.12", + "port-version": 0 + }, + { + "git-tree": "d047d45baff6da74e9c9a42e21d8a16db9156861", + "version": "0.10.11", + "port-version": 0 + }, + { + "git-tree": "a89c9d25f46c8700dad239be0e7c6d899560a6bc", + "version": "0.10.10", + "port-version": 0 + }, + { + "git-tree": "ddeb7519cb4fd801586272d469754459764856d3", + "version": "0.10.9", + "port-version": 0 + }, + { + "git-tree": "252ff6ec89848e702d2d587d52ea161d317a7961", + "version": "0.10.8", + "port-version": 0 + }, + { + "git-tree": "ebbf67005ba6625597ef12c78cccf2d67854701d", + "version": "0.10.7", + "port-version": 0 + }, + { + "git-tree": "9af4a5b0f4764e59cb3c107a55646b9c26555aaf", + "version": "0.10.6", + "port-version": 0 + }, + { + "git-tree": "8c7854267587378a0a276b4cba6267d950042f77", + "version": "0.10.5", + "port-version": 0 + }, + { + "git-tree": "b366fc43d220a0243a9e16860dee50c62ea4cf35", + "version": "0.10.4", + "port-version": 1 + }, + { + "git-tree": "6821431944042e175acb75af3e2164949361f887", + "version": "0.10.4", + "port-version": 0 + }, + { + "git-tree": "466c1f770b98665acf2eabc1bbcb46473b443780", + "version": "0.10.3", + "port-version": 0 + }, + { + "git-tree": "dab7bf18e45ab8b619e64a7606502d293c784367", + "version": "0.10.2", + "port-version": 1 + }, + { + "git-tree": "1aa4483daf7b1606d6a0e2dcd8aadde7118ef1b4", + "version": "0.10.2", + "port-version": 0 + }, + { + "git-tree": "f2edea91149fdcafafff97f6b08988f440c4ef54", + "version": "0.10.1", + "port-version": 0 + }, + { + "git-tree": "9be9a85091b6cb99b14f88bfcbc205e175ead0f6", + "version": "0.9.10", + "port-version": 0 + }, + { + "git-tree": "c374fc0b09a493a6afbd4c009dd43763b2a9132f", + "version": "0.9.9", + "port-version": 0 + }, + { + "git-tree": "562fb321b0c46134d9b876fe95a3796fd4404b24", + "version": "0.9.8", + "port-version": 2 + }, + { + "git-tree": "635707a7146747b8b5a35ba35d5e94669e499d3b", + "version": "0.9.8", + "port-version": 1 + }, + { + "git-tree": "5af04d279a55817e0ca26a113a67cf48884f9aaf", + "version": "0.9.8", + "port-version": 0 + }, + { + "git-tree": "3ebbe45814d64c35e654ecb39cf5acf9401c793a", + "version": "0.9.7", + "port-version": 0 + }, + { + "git-tree": "75f0a463ec9ebb92fdc9f67f3da0a849cae3f4e2", + "version": "0.9.6", + "port-version": 0 + }, { "git-tree": "e1ad33d42918b67a81d068be60950b488829811f", "version": "0.9.5", diff --git a/versions/i-/iir1.json b/versions/i-/iir1.json index 0cb293f69f330f..6765a426b23742 100644 --- a/versions/i-/iir1.json +++ b/versions/i-/iir1.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "6badd4b5988c56b5188d865a2f31d5d225e38d9f", + "version": "1.9.5", + "port-version": 0 + }, + { + "git-tree": "a2d76abe2dc41ff907a66db3a54a510edc322d2d", + "version": "1.9.4", + "port-version": 0 + }, + { + "git-tree": "b684559e0b19d393deae83fdf6e2182937942a76", + "version": "1.9.1", + "port-version": 0 + }, + { + "git-tree": "393a498a50400c062dafdefbbbdbd3d1c3daef4a", + "version": "1.9.0", + "port-version": 1 + }, { "git-tree": "45098a249e45e71b1efa228efae07950b4499be4", "version": "1.9.0", diff --git a/versions/i-/ijg-libjpeg.json b/versions/i-/ijg-libjpeg.json index d6ce80d4420ac3..409a8618e06c8e 100644 --- a/versions/i-/ijg-libjpeg.json +++ b/versions/i-/ijg-libjpeg.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "4a22e20a63c3679dab4839e7a87566b411cf023c", + "version-string": "9e", + "port-version": 2 + }, + { + "git-tree": "e5d413cf2a1c70df27136df1328ba1c344eb935a", + "version-string": "9e", + "port-version": 1 + }, + { + "git-tree": "fb37d14790c59df2657d83e21009faa54643f19d", + "version-string": "9e", + "port-version": 0 + }, { "git-tree": "320dc4cbe69f8dea86bce50c1445f51f780de1a3", "version-string": "9d", diff --git a/versions/i-/ilmbase.json b/versions/i-/ilmbase.json index 8c7c55b5616e1b..97b9956ec3d5f2 100644 --- a/versions/i-/ilmbase.json +++ b/versions/i-/ilmbase.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "6926b258aab64f6946a04ba1f8f23592bfaf44ec", + "version": "3", + "port-version": 0 + }, { "git-tree": "7d1a248f37b30f491ebf4430ee294e1e9018ec44", "version-string": "2.3.0", diff --git a/versions/i-/im3d.json b/versions/i-/im3d.json new file mode 100644 index 00000000000000..414aa9e1e09e1e --- /dev/null +++ b/versions/i-/im3d.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "98557d4600a307373f8424d7d770bf4d64b04d10", + "version-date": "2022-10-11", + "port-version": 0 + } + ] +} diff --git a/versions/i-/imageinfo.json b/versions/i-/imageinfo.json new file mode 100644 index 00000000000000..480d0c8e1d3d0e --- /dev/null +++ b/versions/i-/imageinfo.json @@ -0,0 +1,34 @@ +{ + "versions": [ + { + "git-tree": "b798e4d9bc0316e2a3a267599b498be93e9ab935", + "version-date": "2024-08-05", + "port-version": 0 + }, + { + "git-tree": "c5516742aafb33e0195acb1a5debb4b3db5394c3", + "version-date": "2024-07-14", + "port-version": 0 + }, + { + "git-tree": "403bef5529245e8c0af645d98b657a1924fe0031", + "version-date": "2024-02-21", + "port-version": 0 + }, + { + "git-tree": "08efe02a552cf7bce5a61a088fa5768dd4b4d84d", + "version-date": "2024-01-19", + "port-version": 0 + }, + { + "git-tree": "0061c49ae5be9cb32e197fd56a0a71e793d49f42", + "version-date": "2023-12-25", + "port-version": 0 + }, + { + "git-tree": "66f45650934f8561d3779ca4a29d808b8d1cea98", + "version-date": "2023-01-31", + "port-version": 0 + } + ] +} diff --git a/versions/i-/imath.json b/versions/i-/imath.json index 0053f4defc1202..0172e2aeb09012 100644 --- a/versions/i-/imath.json +++ b/versions/i-/imath.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "7fcd959578cbd9463b50f72b5d0f553d359ffb47", + "version": "3.1.12", + "port-version": 0 + }, + { + "git-tree": "656b29a2ec31b311e86110926a1f33348a38d15d", + "version": "3.1.11", + "port-version": 0 + }, + { + "git-tree": "47c02f0c550c3639178d554a27475f376c2fdcbc", + "version": "3.1.9", + "port-version": 1 + }, + { + "git-tree": "1853273c56448fff5ec5e2c9133895922df682bd", + "version": "3.1.9", + "port-version": 0 + }, + { + "git-tree": "e72149f2fce9434300bbdd84562ad7a58aa4ac90", + "version": "3.1.5", + "port-version": 0 + }, { "git-tree": "f8d9cbaa52114f1030e4bc9ee0e075da76d7be5c", "version": "3.1.3", diff --git a/versions/i-/imcce-openfa.json b/versions/i-/imcce-openfa.json new file mode 100644 index 00000000000000..cff37e391a44ea --- /dev/null +++ b/versions/i-/imcce-openfa.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "5c9317bd279c211068a29e1b89f1df79b3d845d6", + "version": "20231011.0.3", + "port-version": 0 + } + ] +} diff --git a/versions/i-/imgui-node-editor.json b/versions/i-/imgui-node-editor.json new file mode 100644 index 00000000000000..efce2c9a67eb16 --- /dev/null +++ b/versions/i-/imgui-node-editor.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "895085c7cb1ad9ebfd27e9a114d222cf063367dd", + "version": "0.9.3", + "port-version": 1 + }, + { + "git-tree": "b660409ffe6d690ff6a3fae999b249e4521b5583", + "version": "0.9.3", + "port-version": 0 + }, + { + "git-tree": "26e2cf3260ea1e08e61912431635f49d24b6ea87", + "version": "0.9.2", + "port-version": 0 + } + ] +} diff --git a/versions/i-/imgui-sfml.json b/versions/i-/imgui-sfml.json index 22476de960bc8e..912d81d20fccd4 100644 --- a/versions/i-/imgui-sfml.json +++ b/versions/i-/imgui-sfml.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "534384362159db50f833348914cf01bd8c1fb648", + "version": "2.6", + "port-version": 0 + }, + { + "git-tree": "62fe2b504e6630d4d191ba92ffb288e109260835", + "version": "2.5", + "port-version": 4 + }, + { + "git-tree": "824afd9c0aaca961fb9346dff3a957b26ee5eb2c", + "version": "2.5", + "port-version": 3 + }, + { + "git-tree": "1b90cbdcb1abd33bf8f98b1816e6e3dd54ae519c", + "version": "2.5", + "port-version": 2 + }, + { + "git-tree": "998381d4b79034aba39b0fdb7bb6ef3a4187d1fb", + "version": "2.5", + "port-version": 1 + }, + { + "git-tree": "8ece0f7736052672d61d85745b1fb6a3b1362720", + "version": "2.5", + "port-version": 0 + }, + { + "git-tree": "5a40fbdee68d1f6157c8b5e0784fb701b290d0cc", + "version": "2.4", + "port-version": 1 + }, { "git-tree": "c81a9d0362c06279990e889cb56f9ebf71bde380", "version": "2.4", diff --git a/versions/i-/imgui.json b/versions/i-/imgui.json index 9f0a13f236f4b1..357b6ff7217bd1 100644 --- a/versions/i-/imgui.json +++ b/versions/i-/imgui.json @@ -1,5 +1,135 @@ { "versions": [ + { + "git-tree": "09b0e91307c74efecc2b8860b3a25f4e11aa96d3", + "version": "1.91.0", + "port-version": 0 + }, + { + "git-tree": "e0cb9392285fcdae5ce8ed2f320dcc08f469c542", + "version": "1.90.7", + "port-version": 1 + }, + { + "git-tree": "2010bff23a4b5a3c9e4c1f174460abcc659ef681", + "version": "1.90.7", + "port-version": 0 + }, + { + "git-tree": "af958fee35b0e48dd0397a6f807e28a3f7bb99ce", + "version": "1.90.6", + "port-version": 1 + }, + { + "git-tree": "3c5ccb0267846fbcf5153a375c6e05c65ad3c7ab", + "version": "1.90.6", + "port-version": 0 + }, + { + "git-tree": "d9be79046f87d6b17d50967e3b76f2460e0d1bf3", + "version": "1.90.2", + "port-version": 0 + }, + { + "git-tree": "0c0f46ea7e2a764b13e8dcf7348ce9c29923836c", + "version": "1.90", + "port-version": 4 + }, + { + "git-tree": "12ab98a00e6c2eda3393c25bda6458194d0cc42c", + "version": "1.90", + "port-version": 3 + }, + { + "git-tree": "a9fd7997ab3813f71b87171213ea8fbd4e70b863", + "version": "1.90", + "port-version": 2 + }, + { + "git-tree": "027b657658f9b4dd643fd35895496c685d300021", + "version": "1.90", + "port-version": 1 + }, + { + "git-tree": "f570e820b63f5f087134076b2343e390eb62daad", + "version": "1.90", + "port-version": 0 + }, + { + "git-tree": "37d78911bfdf98548568771acd72f7e6a88d1e58", + "version": "1.89.9", + "port-version": 0 + }, + { + "git-tree": "5be94cd09a52d92e1ad194fa7f29846619529be2", + "version": "1.89.7", + "port-version": 1 + }, + { + "git-tree": "9b44fd53ec5a9aa2f9b272bab4a9a5d97e0aa82f", + "version": "1.89.7", + "port-version": 0 + }, + { + "git-tree": "a6ac001e889c4162a36f628cbfd921aadcb1b602", + "version": "1.89.6", + "port-version": 1 + }, + { + "git-tree": "0250b6b7e1c8c70d405ba160e85ee153118fb23e", + "version": "1.89.6", + "port-version": 0 + }, + { + "git-tree": "68cf6847418f27dbd3ae70c557b1ef1357875fa1", + "version": "1.89.4", + "port-version": 1 + }, + { + "git-tree": "337ea84e098e85d4706ecdd807fe292933d9e6f8", + "version": "1.89.4", + "port-version": 0 + }, + { + "git-tree": "11f0d03a214f0dd91b63492cf1a4e5359671d2fb", + "version": "1.89.3", + "port-version": 0 + }, + { + "git-tree": "b1a7fdb074aed731c5c8ef09b369547e6371ac03", + "version": "1.89.2", + "port-version": 0 + }, + { + "git-tree": "a3afd02233dd300d1a7d3a3c47d32cfc97eff318", + "version": "1.89.1", + "port-version": 0 + }, + { + "git-tree": "2a4c55df4b895535fba9e3934ed64cef92bf4a4d", + "version": "1.88", + "port-version": 1 + }, + { + "git-tree": "c28ebbdbe22a87ce01c3b2b6c15bed036721c6a0", + "version": "1.88", + "port-version": 0 + }, + { + "git-tree": "647accc743e0af0547fbf8671c170038e202fd1e", + "version": "1.87", + "port-version": 1 + }, + { + "git-tree": "b9a40068f3905099cc5cb247f1b488d0e27dfd7f", + "version": "1.87", + "port-version": 0 + }, + { + "git-tree": "afdf40a53f1f7d77248d9cdeb3f629698d0a72c5", + "version": "1.86", + "port-version": 0 + }, { "git-tree": "9ae62261d966705924645bc3a057fe748c24d290", "version": "1.85", diff --git a/versions/i-/imguizmo.json b/versions/i-/imguizmo.json index 096f3964102449..f6a3914ceebcbf 100644 --- a/versions/i-/imguizmo.json +++ b/versions/i-/imguizmo.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "febc8a87c4fbc76155d002254572154b44b3d850", + "version-date": "2024-05-29", + "port-version": 1 + }, + { + "git-tree": "be2cf5fafba779840d87110933298add1dcb60f5", + "version-date": "2024-05-29", + "port-version": 0 + }, + { + "git-tree": "65d6fab1371929e15b7198e139462218eb179abf", + "version": "1.83", + "port-version": 1 + }, { "git-tree": "9611b5ef89fd20182ee8d6c84c505e986f3ea880", "version": "1.83", diff --git a/versions/i-/immer.json b/versions/i-/immer.json index 0ab115f21b67a5..4f5e56105d1885 100644 --- a/versions/i-/immer.json +++ b/versions/i-/immer.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "9495490d64d82334b0cf687ceb2ba810d14b7755", + "version": "0.8.1", + "port-version": 0 + }, + { + "git-tree": "e133c376f7ef7d4e7c8b78245b70231e8df5b601", + "version": "0.8.0", + "port-version": 1 + }, + { + "git-tree": "9e996304abce149829a2d0db1156bcf34c9e51c8", + "version": "0.8.0", + "port-version": 0 + }, + { + "git-tree": "37adfac25bfa3c7df3718c1cb0c9be295eb34cb3", + "version-date": "2022-02-12", + "port-version": 0 + }, { "git-tree": "0ee78459721140ead0ace0a031bbb9d28039b19e", "version-date": "2021-05-03", diff --git a/versions/i-/implot.json b/versions/i-/implot.json index a25aff5b1a7e12..61f00acd7d050c 100644 --- a/versions/i-/implot.json +++ b/versions/i-/implot.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "688b48b9fc371ad59a57d92b05d7fd3699c4a57e", + "version": "0.16", + "port-version": 0 + }, + { + "git-tree": "8cd7aca733072549426cfb1e309c4831340713b1", + "version": "0.15", + "port-version": 1 + }, + { + "git-tree": "67023cbc6fc4301549ef49fa263c70995d693cf5", + "version": "0.15", + "port-version": 0 + }, + { + "git-tree": "3ecadd10832f0628f406b27e5470c3d35db6824c", + "version": "0.14", + "port-version": 2 + }, + { + "git-tree": "d43f2b42e6c869ff277987364c11f7c1e6e01938", + "version": "0.14", + "port-version": 1 + }, + { + "git-tree": "ba255028c68d4a1e37f4dc1a360b892f067f9c45", + "version": "0.14", + "port-version": 0 + }, + { + "git-tree": "6166fdfe50da875e98426577b0fd64e8c26c924c", + "version": "0.13", + "port-version": 0 + }, { "git-tree": "ab3bc9b82bfc7fbd1808cc55559ed58b648ed964", "version": "0.12", diff --git a/versions/i-/indicators.json b/versions/i-/indicators.json index 014ea54588e4ce..349176c3459fbd 100644 --- a/versions/i-/indicators.json +++ b/versions/i-/indicators.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "8677c687ae2c0aebadf9db2535ac7af952b64661", + "version": "2.3", + "port-version": 0 + }, { "git-tree": "1f6f4a44b4af9900116de9bd567e78372d3f7278", "version": "2.2", diff --git a/versions/i-/indirect-value.json b/versions/i-/indirect-value.json new file mode 100644 index 00000000000000..6c311f592429d8 --- /dev/null +++ b/versions/i-/indirect-value.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "d62fd633114abe776446de54ddae3249cb4e7617", + "version-date": "2023-06-01", + "port-version": 0 + } + ] +} diff --git a/versions/i-/influxdb-cxx.json b/versions/i-/influxdb-cxx.json index d4e9ce4c0ed7c9..3d92a2b565079f 100644 --- a/versions/i-/influxdb-cxx.json +++ b/versions/i-/influxdb-cxx.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "1352a7a7701709dddd91bca356b81ecaf9450501", + "version": "0.7.2", + "port-version": 1 + }, + { + "git-tree": "1fd656270f4061beeca3b7aee1346ae242c041c0", + "version": "0.7.2", + "port-version": 0 + }, + { + "git-tree": "d2b48983d5264e3524e619757f16eac814337ecb", + "version": "0.7.1", + "port-version": 1 + }, + { + "git-tree": "d03720b58912770380a8101fdbb729a57598a904", + "version": "0.7.1", + "port-version": 0 + }, + { + "git-tree": "4eba82142d2afb448bc5295fe22e0849cd0f8ca7", + "version-date": "2022-09-02", + "port-version": 0 + }, + { + "git-tree": "9403a6547a2dbd42b86d686c2ecd7a3e7344f13a", + "version": "0.6.7", + "port-version": 1 + }, { "git-tree": "ddcc844c034b136efc1bd9946e37fb98617acd88", "version": "0.6.7", diff --git a/versions/i-/infoware.json b/versions/i-/infoware.json index 1f9a2257ea0dff..1adf69d0776b65 100644 --- a/versions/i-/infoware.json +++ b/versions/i-/infoware.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "10ceed518afc0c84b79aa36c1263a034b320511e", + "version-date": "2023-04-12", + "port-version": 0 + }, + { + "git-tree": "5501ab1b5d5391ca168856f073f6a46d5ea83268", + "version-date": "2021-06-16", + "port-version": 1 + }, { "git-tree": "9c278f55bb9b202c251c0414d877a4a238b57214", "version-date": "2021-06-16", diff --git a/versions/i-/inih.json b/versions/i-/inih.json index ef0781ca21a585..f22b8df01176ec 100644 --- a/versions/i-/inih.json +++ b/versions/i-/inih.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "f86a866280aff2071eb313ff85cc1c5c7cabaeff", + "version": "58", + "port-version": 0 + }, + { + "git-tree": "c5a05cc38f61274fdbef602c91505397b7cd43e8", + "version": "57", + "port-version": 0 + }, + { + "git-tree": "ccae9a4d18198ac2d9303cac12c4dbb1fbe0bf24", + "version": "56", + "port-version": 0 + }, { "git-tree": "de1d85a0ea62e95bd096ecff062115646742cf1e", "version-string": "51", diff --git a/versions/i-/iniparser.json b/versions/i-/iniparser.json index 4e334c1bfb4f72..5efd9a7e477e64 100644 --- a/versions/i-/iniparser.json +++ b/versions/i-/iniparser.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "1f0fd9b0b224858a2bba125fae9cbfaa899e954b", + "version-date": "2020-04-06", + "port-version": 5 + }, + { + "git-tree": "e9b64e1b73f6befd9a565c43f5bbe4757fdd0a75", + "version-date": "2020-04-06", + "port-version": 4 + }, + { + "git-tree": "b1a9b214d253fa9d677b4ed158bd5e0d0e4e8a31", + "version-date": "2020-04-06", + "port-version": 3 + }, { "git-tree": "4c89c4448c92e7d793775802d4d6cba832af7457", "version-string": "2020-04-06", diff --git a/versions/i-/inipp.json b/versions/i-/inipp.json new file mode 100644 index 00000000000000..bd028dbdd77110 --- /dev/null +++ b/versions/i-/inipp.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "fceb3c84ce5c4d1266a79a7880bd4eff8f2c5308", + "version": "1.0.12", + "port-version": 0 + } + ] +} diff --git a/versions/i-/inja.json b/versions/i-/inja.json index 451bc040565539..8013c995773d91 100644 --- a/versions/i-/inja.json +++ b/versions/i-/inja.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "6908207d768ade2728258fb70dd5cb2938e04a9e", + "version": "3.4.0", + "port-version": 0 + }, { "git-tree": "9435743a06369f745532f07b596e04481a4758a7", "version": "3.3.0", diff --git a/versions/i-/intel-ipsec.json b/versions/i-/intel-ipsec.json index 81e930bb57a082..87784442835754 100644 --- a/versions/i-/intel-ipsec.json +++ b/versions/i-/intel-ipsec.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "fd3b71153cb4510e0de7475975f85bbbe41e9747", + "version": "1.1", + "port-version": 0 + }, { "git-tree": "39c4caebc1d5e618dcc455c9b7accb7fb2693f39", "version-string": "0.52", diff --git a/versions/i-/intel-mkl.json b/versions/i-/intel-mkl.json index 1c5ffb0efe056e..ee320e2539ef1f 100644 --- a/versions/i-/intel-mkl.json +++ b/versions/i-/intel-mkl.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "ca06d4f88eaf67a10c1b988c5a2e3d8a74741d66", + "version": "2023.0.0", + "port-version": 4 + }, + { + "git-tree": "3dd3ebb16924351eed10c170704517f54a72f274", + "version": "2023.0.0", + "port-version": 3 + }, + { + "git-tree": "2d2adb8cb7c54dd3dc17a92c22db24204c638e72", + "version": "2023.0.0", + "port-version": 2 + }, + { + "git-tree": "285fa0de9d6f05022ce06e53f7c8c21048ff586f", + "version": "2023.0.0", + "port-version": 1 + }, + { + "git-tree": "e5a15d03509e3eaf676a2e3ec935acff7fbb9285", + "version": "2023.0.0", + "port-version": 0 + }, { "git-tree": "f2d5b828df130d8b1106aa0c076eb9cb79e50ea9", "version": "2020.0.0", diff --git a/versions/i-/intelrdfpmathlib.json b/versions/i-/intelrdfpmathlib.json index f1dd031cf43fe0..b8d448fc2bd7a2 100644 --- a/versions/i-/intelrdfpmathlib.json +++ b/versions/i-/intelrdfpmathlib.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "7cf5496b9f4fbf09ed05be9b87e063a0094ac331", + "version-string": "20U2", + "port-version": 6 + }, + { + "git-tree": "c829bd814e973cf55e135f1d9e50a36b9d73d551", + "version-string": "20U2", + "port-version": 5 + }, + { + "git-tree": "47e6c0bf433235a53c450a3c1c61388a10a643e0", + "version-string": "20U2", + "port-version": 4 + }, + { + "git-tree": "b105f0256b4fccc53e7653a732dc65459e1d8562", + "version-string": "20U2", + "port-version": 3 + }, { "git-tree": "089f42e2cae01699241dca4ebe6bbae95300d0f7", "version-string": "20U2", diff --git a/versions/i-/io2d.json b/versions/i-/io2d.json index 2d2a519c965d4f..1d5099ef8999da 100644 --- a/versions/i-/io2d.json +++ b/versions/i-/io2d.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "662e296b47ae6e51ee6e96470833c87d7728714d", + "version-date": "2020-09-14", + "port-version": 5 + }, + { + "git-tree": "3acb6249cb7bf330233e36df8cde602597abcac5", + "version-date": "2020-09-14", + "port-version": 4 + }, + { + "git-tree": "281370843416f78e7c715a85db1b5754253b38ed", + "version-date": "2020-09-14", + "port-version": 3 + }, { "git-tree": "b2307aa077fedc3960898d59e9512416be69d25f", "version-date": "2020-09-14", diff --git a/versions/i-/iowa-hills-dsp.json b/versions/i-/iowa-hills-dsp.json new file mode 100644 index 00000000000000..7471b38fe80372 --- /dev/null +++ b/versions/i-/iowa-hills-dsp.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "1b8ddb77c959a1c4a95f69e10f621873d233557f", + "version": "0.1.0", + "port-version": 0 + } + ] +} diff --git a/versions/i-/irrlicht.json b/versions/i-/irrlicht.json index c3173156908aba..f9d7634c454f8a 100644 --- a/versions/i-/irrlicht.json +++ b/versions/i-/irrlicht.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "708fa654ac49d99ff5c6a3146c806d576b1b94a3", + "version": "1.8.5", + "port-version": 0 + }, + { + "git-tree": "a66d1403393733885e625b5f95fc1b7d3ed03505", + "version": "1.8.4", + "port-version": 14 + }, + { + "git-tree": "a824dffa239fccbb9b780c9926c91f1a25d000df", + "version-string": "1.8.4", + "port-version": 13 + }, { "git-tree": "fd24be00084e5387a0ae764c42621977340ec74b", "version-string": "1.8.4", diff --git a/versions/i-/irrxml.json b/versions/i-/irrxml.json index a5d182df852eca..b9aa9cd8602c06 100644 --- a/versions/i-/irrxml.json +++ b/versions/i-/irrxml.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "85d4823526e4e7475669d2657e978382e23fddaa", + "version": "0", + "port-version": 1 + }, { "git-tree": "3bce4522729dab80e9a91571a9b772ac05970974", "version-string": "0", diff --git a/versions/i-/isal.json b/versions/i-/isal.json index bb1ef772d5813c..978fd2dc33223c 100644 --- a/versions/i-/isal.json +++ b/versions/i-/isal.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "182dacba1a91116c56c83ede14decd8879b86cf7", + "version": "2.30.0", + "port-version": 0 + }, + { + "git-tree": "7fa8499c557c19920d80318d9a1999922cd28663", + "version": "2.25.0", + "port-version": 3 + }, + { + "git-tree": "121b0c9241ea1f704bf6cb9ad5f010f6ae732dd0", + "version": "2.25.0", + "port-version": 2 + }, { "git-tree": "35b65a5fbb2ff6cd6468e1c02565a4b999d2a442", "version-string": "2.25.0", diff --git a/versions/i-/ismrmrd.json b/versions/i-/ismrmrd.json index d79debc56168b1..df34dbae6b42b4 100644 --- a/versions/i-/ismrmrd.json +++ b/versions/i-/ismrmrd.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "c903e7a9cc49e7395d37dc5e8587d6dd0196e65a", + "version": "1.14.1", + "port-version": 0 + }, + { + "git-tree": "2d06eae0d931f4c173562d89e9b4239f844910ab", + "version": "1.13.7", + "port-version": 0 + }, + { + "git-tree": "b378ab76b7b723dd6b9091f897c87b5a99fc11b7", + "version": "1.13.2", + "port-version": 1 + }, + { + "git-tree": "f8f4bb483f585631015c8991706874b535628dec", + "version": "1.13.2", + "port-version": 0 + }, + { + "git-tree": "c19bcebf0417091d459a15d14506b10905e5db8c", + "version": "1.13.0", + "port-version": 0 + }, { "git-tree": "1754617a629b83fa0cec28903f26187b62b0d4fd", "version": "1.5.0", diff --git a/versions/i-/itay-grudev-singleapplication.json b/versions/i-/itay-grudev-singleapplication.json new file mode 100644 index 00000000000000..7173a60c15102f --- /dev/null +++ b/versions/i-/itay-grudev-singleapplication.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "7b08f908fc4c8f97f323dc6ebbc1562483fded0e", + "version": "3.5.1", + "port-version": 0 + } + ] +} diff --git a/versions/i-/itk.json b/versions/i-/itk.json index aad8b36d01ecae..4e2c00b5fef0bc 100644 --- a/versions/i-/itk.json +++ b/versions/i-/itk.json @@ -1,5 +1,60 @@ { "versions": [ + { + "git-tree": "2028e1d0573208111668ee936bd89fbd0beb2ab1", + "version": "5.4.0", + "port-version": 0 + }, + { + "git-tree": "2ec3bd0c5abc15cb3a785a69fb4f68799182b3cb", + "version-string": "5.3rc02", + "port-version": 1 + }, + { + "git-tree": "b74bb68b58026e759112afb8155d44650cee24b4", + "version-string": "5.3rc02", + "port-version": 0 + }, + { + "git-tree": "9da4bc8949edd65bc3e0afa8e694480e330f5f40", + "version": "5.3-rc02", + "port-version": 6 + }, + { + "git-tree": "33def29a955f79fae7497d8be276decf175a9881", + "version": "5.2.1", + "port-version": 5 + }, + { + "git-tree": "b28c11dddebdeb5084e068f2ad88e87b777f5edb", + "version": "5.2.1", + "port-version": 4 + }, + { + "git-tree": "a3904d4a80201635e6687ff2b5ca5d677b559874", + "version": "5.2.1", + "port-version": 3 + }, + { + "git-tree": "e22b353e8f00bcdc12b78d414a712a3498a2d0d6", + "version": "5.2.1", + "port-version": 2 + }, + { + "git-tree": "21beac1c375ce633f869566345d7418849633c3e", + "version": "5.2.1", + "port-version": 1 + }, + { + "git-tree": "8d67caa9e2fb41246a3baebbfaccc8f0aff51223", + "version": "5.2.1", + "port-version": 0 + }, + { + "git-tree": "ce0e8cb19f661a4bb4aabde6b87b7bca5025be9e", + "version-semver": "5.1.0", + "port-version": 7 + }, { "git-tree": "250af7e974af49d5e1c1f64c5ca1c1e3a1fbc5f6", "version-semver": "5.1.0", diff --git a/versions/i-/itpp.json b/versions/i-/itpp.json index 9c7418be64bd05..993791ac59b2d4 100644 --- a/versions/i-/itpp.json +++ b/versions/i-/itpp.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "deb799807d61211af72ccc732eea3950b2d52b4c", + "version-semver": "4.3.1", + "port-version": 11 + }, + { + "git-tree": "bb2b4a2f0b7fed9c43bf3587695b1c8c99079e32", + "version-semver": "4.3.1", + "port-version": 10 + }, + { + "git-tree": "8ba9ee864fcdbf30998904724db69a1cb515ebc2", + "version-semver": "4.3.1", + "port-version": 9 + }, { "git-tree": "be87bf8b58b5f6b0fb3f19dfc14acf24114332d0", "version-semver": "4.3.1", diff --git a/versions/i-/itsy-bitsy.json b/versions/i-/itsy-bitsy.json new file mode 100644 index 00000000000000..63647594ceff8d --- /dev/null +++ b/versions/i-/itsy-bitsy.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "47a87b2c492f644c8d64be60e192e2511f725fb3", + "version-date": "2022-08-02", + "port-version": 0 + } + ] +} diff --git a/versions/i-/ixwebsocket.json b/versions/i-/ixwebsocket.json index fdc16164fda477..3ed9119778f400 100644 --- a/versions/i-/ixwebsocket.json +++ b/versions/i-/ixwebsocket.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "3ed140846f1bcff7c1abd98f10d8e28a7e458d1a", + "version-semver": "11.4.5", + "port-version": 0 + }, + { + "git-tree": "f0154088c4d12066bd00f7794ccb90feaa1f3d92", + "version-semver": "11.4.4", + "port-version": 2 + }, + { + "git-tree": "5b7a553c76d49514bc70203959be6b7bd4981090", + "version-semver": "11.4.4", + "port-version": 1 + }, + { + "git-tree": "8831fc46f1465a5630978a28255c9edab0fed860", + "version-semver": "11.4.4", + "port-version": 0 + }, + { + "git-tree": "c5abcb4348cb05507367eeaac8fb075c5cf8ed35", + "version-semver": "11.4.3", + "port-version": 0 + }, + { + "git-tree": "35c2086eecc92cd95482b875fd1ec843eb233f94", + "version-semver": "11.4.2", + "port-version": 0 + }, + { + "git-tree": "59a791c16bb7cf163c801d50013cafd8ae9b94a7", + "version-semver": "11.3.3", + "port-version": 0 + }, { "git-tree": "23fff75b15231882eb9461ff479a9f6edba3a450", "version-semver": "11.2.6", diff --git a/versions/j-/jack2.json b/versions/j-/jack2.json index 4d9d856947cd08..69c82d98959b99 100644 --- a/versions/j-/jack2.json +++ b/versions/j-/jack2.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "c91c996f53c11dc1e5d4b3602e78355042f54382", + "version-semver": "1.9.22", + "port-version": 0 + }, + { + "git-tree": "a0a0853f6b57a72e4a8d33eb0dd5dd29716224ea", + "version-semver": "1.9.21", + "port-version": 1 + }, + { + "git-tree": "84f683fbf07cae4c021f1d0d5fd5cab7b58d991e", + "version-semver": "1.9.21", + "port-version": 0 + }, + { + "git-tree": "f5494181c269f8b65a26fd702664bfde1a3f2e3f", + "version-semver": "1.9.19", + "port-version": 1 + }, { "git-tree": "408805b50757c6f3e5585ca5fddf17df005dfb58", "version-semver": "1.9.19", diff --git a/versions/j-/jaeger-client-cpp.json b/versions/j-/jaeger-client-cpp.json index ecd406ae536e39..168da230290cd9 100644 --- a/versions/j-/jaeger-client-cpp.json +++ b/versions/j-/jaeger-client-cpp.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "2b7d400f70aa02dce42d1fd95b74044b1bd413ee", + "version-semver": "0.7.0", + "port-version": 2 + }, + { + "git-tree": "8a329e81cae8c0e9f5dc9c0f9921c3a1e2db706d", + "version-semver": "0.7.0", + "port-version": 1 + }, { "git-tree": "7b0bbe0b96ee8a4f4bffc825ada7b9c713468307", "version-semver": "0.7.0", diff --git a/versions/j-/jansson.json b/versions/j-/jansson.json index 6ee4877460ec93..50a364af94dcba 100644 --- a/versions/j-/jansson.json +++ b/versions/j-/jansson.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "f284c9aba6b994cb6fe175b675976d34257b4c85", + "version": "2.14", + "port-version": 1 + }, + { + "git-tree": "1a5c55feab368e4bfb40be993b9ea5a39fc82f51", + "version": "2.14", + "port-version": 0 + }, { "git-tree": "f63fad0d7e1e2a98826543c3b1f671c34b104a72", "version-string": "2.13.1", diff --git a/versions/j-/jasper.json b/versions/j-/jasper.json index cb4bc78cf31da1..63782eb4ec370b 100644 --- a/versions/j-/jasper.json +++ b/versions/j-/jasper.json @@ -1,5 +1,75 @@ { "versions": [ + { + "git-tree": "c444456c1460b3d3272973ae701982f3cbd4c720", + "version": "4.2.4", + "port-version": 0 + }, + { + "git-tree": "4c3bc011eb133f1203cd2c41da885725e7cc99e0", + "version": "4.2.1", + "port-version": 0 + }, + { + "git-tree": "e7c4fac8db3b39fcce348be5b8d1140a753197ed", + "version": "4.2.0", + "port-version": 0 + }, + { + "git-tree": "3155b993a1ac52e0101edecb422a74513fc3a470", + "version": "4.1.0", + "port-version": 1 + }, + { + "git-tree": "bbbc1e3a2819d3e823e778a5a35045cc44946c23", + "version": "4.1.0", + "port-version": 0 + }, + { + "git-tree": "d7f51c26899ba9433a5a3ab92fc5b5887d5c764c", + "version": "4.0.0", + "port-version": 2 + }, + { + "git-tree": "1da5fa9a12bf207bf641f903856418e3aed7258d", + "version": "4.0.0", + "port-version": 1 + }, + { + "git-tree": "93774ef7923c7c1c73c30011afe0105530e71545", + "version": "4.0.0", + "port-version": 0 + }, + { + "git-tree": "fb8dca022aa130726431991cc9c70cc3162ea657", + "version": "2.0.33", + "port-version": 6 + }, + { + "git-tree": "e5220ea6a54e25d777f853a2c77196be67da02f3", + "version": "2.0.33", + "port-version": 5 + }, + { + "git-tree": "5cc65b3d32490a3fd1bd1768188b905a873af2ef", + "version": "2.0.33", + "port-version": 4 + }, + { + "git-tree": "caf8b5e479138be21f8a7782806e9ef5c1dcdb37", + "version": "2.0.33", + "port-version": 3 + }, + { + "git-tree": "59d44227795e2e5e31a0f3e327832e4013b1e255", + "version": "2.0.33", + "port-version": 2 + }, + { + "git-tree": "6fc7475e9c22dafb473c98e00136e89c03ad8f5b", + "version": "2.0.33", + "port-version": 1 + }, { "git-tree": "c00bfcf7f17b8ba6db6ee5e62ac379902bbba96f", "version": "2.0.33", diff --git a/versions/j-/jbig2dec.json b/versions/j-/jbig2dec.json index 7fbff5da5fc449..2f080b961409dc 100644 --- a/versions/j-/jbig2dec.json +++ b/versions/j-/jbig2dec.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "d34cf9e520c5866b3facce621e46e438eb1b31c5", + "version": "0.20", + "port-version": 0 + }, + { + "git-tree": "ff97df9b9703a6314f50e608b155efb780d6deb7", + "version": "0.19", + "port-version": 3 + }, + { + "git-tree": "4622bedc189a466db46f55ab78e895b2c2eb4fef", + "version": "0.19", + "port-version": 2 + }, { "git-tree": "e60aa2c30fefe1269d1d8a6fede748cfa5736aed", "version-string": "0.19", diff --git a/versions/j-/jbigkit.json b/versions/j-/jbigkit.json index 242ea13a09aeeb..d0f0572a045589 100644 --- a/versions/j-/jbigkit.json +++ b/versions/j-/jbigkit.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "b91151a54db723a66541029866bd3011e405ade9", + "version": "2.1", + "port-version": 7 + }, + { + "git-tree": "6d6f0004f10c5977c83106a38debd04554a4b4a7", + "version": "2.1", + "port-version": 6 + }, { "git-tree": "fa2f967c15904877cd541d3c9d59f0c2f20f3fb4", "version-string": "2.1", diff --git a/versions/j-/jemalloc.json b/versions/j-/jemalloc.json index a27e65c4c646a3..447406220f96f0 100644 --- a/versions/j-/jemalloc.json +++ b/versions/j-/jemalloc.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "96ec9736a357ac7af9b108bcc8e9d237cfb18a43", + "version": "5.3.0", + "port-version": 1 + }, + { + "git-tree": "6baf5d3d5e323c49a4f91a2e67f778421af4a4c5", + "version": "5.3.0", + "port-version": 0 + }, { "git-tree": "0ced62e7a268f8442b2e808df7b094afe8998c38", "version-string": "4.3.1", diff --git a/versions/j-/jhasse-poly2tri.json b/versions/j-/jhasse-poly2tri.json new file mode 100644 index 00000000000000..37b96f6787d4af --- /dev/null +++ b/versions/j-/jhasse-poly2tri.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "f66a3f7e61a71546a6aeb3dafddaa1bde7681468", + "version-date": "2023-12-27", + "port-version": 0 + } + ] +} diff --git a/versions/j-/jigson.json b/versions/j-/jigson.json new file mode 100644 index 00000000000000..bb06ca5f4f8458 --- /dev/null +++ b/versions/j-/jigson.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "bcbdf34218794fd80602ca38d639dd20f88f055b", + "version": "0.1.3", + "port-version": 0 + }, + { + "git-tree": "6c5106a8c6234b1ca9505150410f7c2d2dc1e79a", + "version": "0.1.2", + "port-version": 0 + } + ] +} diff --git a/versions/j-/jinja2cpplight.json b/versions/j-/jinja2cpplight.json index 8adffeb623be78..596f9a17333a30 100644 --- a/versions/j-/jinja2cpplight.json +++ b/versions/j-/jinja2cpplight.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "a57eb0a010f89aa5d43a4aba792c4d25dca5af8e", + "version-date": "2018-05-08", + "port-version": 3 + }, + { + "git-tree": "a0768865a046b0bd51d90af67d0059c7d158474d", + "version-date": "2018-05-08", + "port-version": 2 + }, { "git-tree": "14ce844353cb5d4b2dbca4d36daf84c248208de2", "version-string": "2018-05-08", diff --git a/versions/j-/jkqtplotter.json b/versions/j-/jkqtplotter.json new file mode 100644 index 00000000000000..0e2e354090264d --- /dev/null +++ b/versions/j-/jkqtplotter.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "c6818df9457df540c1c0fd88b1ff2da3c844c8fa", + "version-date": "2023-10-24", + "port-version": 1 + }, + { + "git-tree": "87ffb0cb05a71f4338bd068bc14a348770b7d4ff", + "version-date": "2023-10-24", + "port-version": 0 + } + ] +} diff --git a/versions/j-/joltphysics.json b/versions/j-/joltphysics.json new file mode 100644 index 00000000000000..6a7cf910f1fed5 --- /dev/null +++ b/versions/j-/joltphysics.json @@ -0,0 +1,59 @@ +{ + "versions": [ + { + "git-tree": "77fc93156891bade6362a38c0cc5619fce1b6b2b", + "version": "5.1.0", + "port-version": 2 + }, + { + "git-tree": "be4e60601ee3a8e15476ee5f583a1102e0d53f51", + "version": "5.1.0", + "port-version": 1 + }, + { + "git-tree": "24034d64692d94d1de1b33bf9ecf8f974d89f367", + "version": "5.1.0", + "port-version": 0 + }, + { + "git-tree": "f81fed7d87903aa8a4be3619dce4cc64596aad5d", + "version": "5.0.0", + "port-version": 1 + }, + { + "git-tree": "9f3c7087c8c79ef501b33872b730510d2a0a2b2b", + "version": "5.0.0", + "port-version": 0 + }, + { + "git-tree": "f7ea4a51e3f8cfa76e079f80d8ece87ef6695553", + "version": "4.0.0", + "port-version": 0 + }, + { + "git-tree": "f8fca568d1ae240c8d3ca23ae3b9a09f6fb518ba", + "version": "3.0.1", + "port-version": 1 + }, + { + "git-tree": "aa3834efa767ca95d2a0f7b367fe4f154101a35e", + "version": "3.0.1", + "port-version": 0 + }, + { + "git-tree": "845755ddfb9fa5d6f88c836cffdb1f497e69ad46", + "version": "2.0.1", + "port-version": 2 + }, + { + "git-tree": "5e739c5e65a72603e92f5ca31b07a8a78a918166", + "version": "2.0.1", + "port-version": 1 + }, + { + "git-tree": "32e717f2dbe21ad13619824ad3151ce46d686784", + "version": "2.0.1", + "port-version": 0 + } + ] +} diff --git a/versions/j-/josuttis-jthread.json b/versions/j-/josuttis-jthread.json index 34c83ced96a1b8..6d74e8af48c412 100644 --- a/versions/j-/josuttis-jthread.json +++ b/versions/j-/josuttis-jthread.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "9d514a02f7eb9cf97eaba9112de40bdf08608fc4", + "version-date": "2020-07-21", + "port-version": 3 + }, { "git-tree": "5f37dd21a591e8f7ae566f16a085a10dbfe1ccbc", "version-string": "2020-07-21", diff --git a/versions/j-/jsmn.json b/versions/j-/jsmn.json index 9f3ba75beae905..2634d6a9712379 100644 --- a/versions/j-/jsmn.json +++ b/versions/j-/jsmn.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "953e10924a7606aabb3181ae9bcfb68a6c808b2d", + "version-date": "2019-04-27", + "port-version": 2 + }, { "git-tree": "b05c2b522963eeacbcfcad169cf5ffc802bc7a42", "version-string": "2019-04-27", diff --git a/versions/j-/json-c.json b/versions/j-/json-c.json index 34a233e6d34b30..bc29eb13f545d0 100644 --- a/versions/j-/json-c.json +++ b/versions/j-/json-c.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "dcfc2cbe17b88101d8e40f6eb6141b77caff68e9", + "version-date": "2023-08-12", + "port-version": 0 + }, + { + "git-tree": "787ad6eeafc631bea9f68c3ad2047a031575bb0f", + "version-date": "2022-06-26", + "port-version": 3 + }, + { + "git-tree": "2090ebb6a6e0be1d0f6331c266bd0bc6eef1cd57", + "version-date": "2022-06-26", + "port-version": 2 + }, + { + "git-tree": "c24e9a9cbc53b10a7235087cc58e89924415b281", + "version-date": "2022-06-26", + "port-version": 1 + }, + { + "git-tree": "84aaadc268ad278e102cdd7e9526e5c5929c1cd6", + "version-date": "2022-06-26", + "port-version": 0 + }, { "git-tree": "5c8d00d59a40b54cc9400f045b62e439740c2909", "version-string": "2019-09-10", diff --git a/versions/j-/json-dto.json b/versions/j-/json-dto.json index 75e06e7fd046a2..57f049d0fcf4bf 100644 --- a/versions/j-/json-dto.json +++ b/versions/j-/json-dto.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "4cc297221e89ab4c8a8b6eb3bdf2afdf3623d5ef", + "version": "0.3.4", + "port-version": 0 + }, + { + "git-tree": "f087895b63b47221f3f3bca7c2b300c05817f0be", + "version": "0.3.3", + "port-version": 0 + }, + { + "git-tree": "217034e6dfd4139a952dea7e21091522367f8189", + "version": "0.3.2", + "port-version": 0 + }, + { + "git-tree": "39f955915ba68ad247df8963e6427bd3c0f3479a", + "version": "0.3.1", + "port-version": 0 + }, + { + "git-tree": "87cb384a3c0b77cf96d77ea95e22f1e9051cb19d", + "version": "0.3.0", + "port-version": 0 + }, { "git-tree": "83c0ba869841555aeff8eb4954efcc64ae25a755", "version": "0.2.15", diff --git a/versions/j-/json-rpc-cxx.json b/versions/j-/json-rpc-cxx.json new file mode 100644 index 00000000000000..93f7b7026315fd --- /dev/null +++ b/versions/j-/json-rpc-cxx.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "d1470b7bf2e3b95a53d6f8ec3aceadc30cab7f25", + "version": "0.3.2", + "port-version": 0 + }, + { + "git-tree": "e5c4ccb3e679891167fa7d4b6a14ac5dbae14c40", + "version": "0.3.1", + "port-version": 0 + } + ] +} diff --git a/versions/j-/json-schema-validator.json b/versions/j-/json-schema-validator.json index fa7552a061a5f4..759ac1fe5addfa 100644 --- a/versions/j-/json-schema-validator.json +++ b/versions/j-/json-schema-validator.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "8982b7778711884f44358d66f92ddb1f0ad4b99d", + "version": "2.3.0", + "port-version": 2 + }, + { + "git-tree": "31c71975b94068010a3985ac84deed50047c6820", + "version": "2.3.0", + "port-version": 1 + }, + { + "git-tree": "4466bee34b5544a3ecfaf5f480464b1f9d45e9b1", + "version": "2.3.0", + "port-version": 0 + }, + { + "git-tree": "968aee6b22bf2b1248b38ae25aed43a1760fec0d", + "version": "2.2.0", + "port-version": 0 + }, { "git-tree": "361dde90ee9e81d84ad0e87d75f16e4f9f662b88", "version-string": "2.1.0", diff --git a/versions/j-/json-spirit.json b/versions/j-/json-spirit.json index 8fb1586f21a1d2..d3b923eb4010ee 100644 --- a/versions/j-/json-spirit.json +++ b/versions/j-/json-spirit.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "f69acb769bed029a86d3c02e83e4a682018902da", + "version": "4.1.0", + "port-version": 5 + }, + { + "git-tree": "a03472c9bc3c75081ffdd05a8aaf9aa4e86b9d01", + "version": "4.1.0", + "port-version": 4 + }, + { + "git-tree": "eebfdfbc7a3e422c96bb8c7205f5696dac6d4457", + "version": "4.1.0", + "port-version": 3 + }, { "git-tree": "d219034cdee1f6237e4863a001aece539df2ce8c", "version-string": "4.1.0", diff --git a/versions/j-/json11.json b/versions/j-/json11.json index 688a24f272c3cf..34e38bb5146b30 100644 --- a/versions/j-/json11.json +++ b/versions/j-/json11.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "8b58dc7ee84c7424009066dd57f9b9f9a804f895", + "version-date": "2017-06-20", + "port-version": 6 + }, + { + "git-tree": "65ec4b34a9141b4f35e0870c383bbad03c7097b3", + "version-date": "2017-06-20", + "port-version": 5 + }, { "git-tree": "b99e54cd236396200e19e414a7375d0463d5ba5a", "version-string": "2017-06-20", diff --git a/versions/j-/json5-parser.json b/versions/j-/json5-parser.json index 4a67281942f827..52e9c385db9c38 100644 --- a/versions/j-/json5-parser.json +++ b/versions/j-/json5-parser.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "e917bf1a65657ed9fc7e16a223094d9849f4d92e", + "version": "1.0.0", + "port-version": 7 + }, + { + "git-tree": "e0cb35861057c4523a395d7d9e59f9447ac0b139", + "version": "1.0.0", + "port-version": 6 + }, + { + "git-tree": "931114b0187ebc307e231658525cacfef79345ac", + "version": "1.0.0", + "port-version": 5 + }, + { + "git-tree": "94f6125fdc5c6624c9ca969d62ea8514ab2ed8c0", + "version": "1.0.0", + "port-version": 4 + }, { "git-tree": "e874e19b4f9b56647b5be1537ed0792041e96c25", "version-string": "1.0.0", diff --git a/versions/j-/jsoncons.json b/versions/j-/jsoncons.json index b95f7df74f906b..85042e81df8d2b 100644 --- a/versions/j-/jsoncons.json +++ b/versions/j-/jsoncons.json @@ -1,5 +1,65 @@ { "versions": [ + { + "git-tree": "b7fcd14b062d2f5fcfa8234ea128f2658fc08b17", + "version": "0.177.0", + "port-version": 0 + }, + { + "git-tree": "fc843efd43ea58c605597378466150668d8b24f7", + "version": "0.176.0", + "port-version": 0 + }, + { + "git-tree": "3c7b37a88d7f78f444b26ed48d8720676a6ffc1e", + "version": "0.175.0", + "port-version": 0 + }, + { + "git-tree": "67af9fd33f09c21ff9f5a6de4e28a558542114a7", + "version": "0.173.4", + "port-version": 0 + }, + { + "git-tree": "067500e38e95bfc4ba3a02470871628b640b73c5", + "version": "0.173.2", + "port-version": 0 + }, + { + "git-tree": "9ac2b57ee5cadef41175e8b3e2a13b28751bfb2d", + "version": "0.171.0", + "port-version": 0 + }, + { + "git-tree": "281de10de972059292e2850f6f509eb6cb9b2c40", + "version": "0.170.2", + "port-version": 0 + }, + { + "git-tree": "a5e66f5d2ae477089e3f87c432bdfdb7a7929da9", + "version": "0.170.1", + "port-version": 0 + }, + { + "git-tree": "32422a6f4405b4c330cc992bc40fc11e4e274450", + "version": "0.170.0", + "port-version": 0 + }, + { + "git-tree": "5c236c3c1c6b78653fecadd6bf1dc2a808cf8a7d", + "version": "0.169.0", + "port-version": 0 + }, + { + "git-tree": "55d8c58c4275c63e12b3a23413421609cc35ba4e", + "version": "0.168.7", + "port-version": 0 + }, + { + "git-tree": "ee0a71fa7021ce4daf9c225529489e7e1da7f10a", + "version-string": "0.168.3", + "port-version": 1 + }, { "git-tree": "ace7d792691e3fadf81394f348f0dce587aa5293", "version-string": "0.165.0", diff --git a/versions/j-/jsoncpp.json b/versions/j-/jsoncpp.json index ca8db93235910b..94ca8e83ff6242 100644 --- a/versions/j-/jsoncpp.json +++ b/versions/j-/jsoncpp.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "dde49ad9d554fd5f062c0c1deea6e54b6fdb35b2", + "version": "1.9.6", + "port-version": 0 + }, + { + "git-tree": "176576512ab0d4bb4093ae4f404535a594a1a201", + "version": "1.9.5", + "port-version": 5 + }, + { + "git-tree": "4f722023370407388c3014d52fee17dbe8d65cc3", + "version": "1.9.5", + "port-version": 4 + }, + { + "git-tree": "7b5b553b7c2c140b4aae6ef80a37cad727f62461", + "version": "1.9.5", + "port-version": 3 + }, + { + "git-tree": "203c873c5425a71cb8a0d0ada6e5263a3bd13ff4", + "version": "1.9.5", + "port-version": 2 + }, + { + "git-tree": "0213314186f58bfac60d8dee9895c137291db35d", + "version": "1.9.5", + "port-version": 1 + }, { "git-tree": "ee92c743e235ebd2eda342c656704f20a329bda9", "version": "1.9.5", diff --git a/versions/j-/jsonifier.json b/versions/j-/jsonifier.json new file mode 100644 index 00000000000000..2e819d4c44a464 --- /dev/null +++ b/versions/j-/jsonifier.json @@ -0,0 +1,104 @@ +{ + "versions": [ + { + "git-tree": "dfff3ea4e35d5d5df9f66101829cfe766e5b6f66", + "version": "0.9.97", + "port-version": 0 + }, + { + "git-tree": "8f2f2b25b98924de736300a7cefc6ff2f3e07449", + "version": "0.9.96", + "port-version": 0 + }, + { + "git-tree": "23448e65953949d76b27798096a9b13d0d185e25", + "version": "0.9.95", + "port-version": 0 + }, + { + "git-tree": "b2a298ce7fae729f6d3e45e1ba669d33a77983d0", + "version": "0.9.94", + "port-version": 0 + }, + { + "git-tree": "250b98a91d7bf114d5616c193cfb8ed3f8ee7aa7", + "version": "0.9.93", + "port-version": 0 + }, + { + "git-tree": "58dc6092ed3ff864e9b96b10b265586bffac3eeb", + "version": "0.9.92", + "port-version": 0 + }, + { + "git-tree": "be9213f10f70e56d8f7fad547c9691558f9babc9", + "version": "0.9.91", + "port-version": 1 + }, + { + "git-tree": "b8901c8d3fee5951e101c1b8a3b64de58c6ebeed", + "version": "0.9.91", + "port-version": 0 + }, + { + "git-tree": "9e89f30157ff02233bb4ec6661f40356e6a94260", + "version": "0.9.9", + "port-version": 0 + }, + { + "git-tree": "3e076a2668e15aa6ad44ff29f45356467f745766", + "version": "0.9.8", + "port-version": 0 + }, + { + "git-tree": "3cd676f349ff8f3ee120d87428d06c8cf80560e9", + "version": "0.9.7", + "port-version": 0 + }, + { + "git-tree": "a7b70ee5b86b8dcecc7c0661491a4f1b84adc315", + "version": "0.9.6", + "port-version": 0 + }, + { + "git-tree": "fb8f713395cadfb17465e75f390763ae796b0a11", + "version": "0.9.5", + "port-version": 0 + }, + { + "git-tree": "81bce1af7b2990ff2664572b50e320b112044b78", + "version": "0.9.4", + "port-version": 0 + }, + { + "git-tree": "29c1237004abf2ca9bb395ab8f2d211f7ba563f3", + "version": "0.9.3", + "port-version": 0 + }, + { + "git-tree": "a8093800ff625535fd7bddaedc1394fb5412c80c", + "version": "0.9.2", + "port-version": 1 + }, + { + "git-tree": "46dce3bb23c3edd1ae77e46fa11543d678ae26e6", + "version": "0.9.2", + "port-version": 0 + }, + { + "git-tree": "990249b807aba05002ba2ac406e0bebc9af26a64", + "version": "0.9.1", + "port-version": 0 + }, + { + "git-tree": "61f861161144679903d44d5bf7de6aa29f159140", + "version": "0.9.0", + "port-version": 1 + }, + { + "git-tree": "53b9b35d88088e1f3177a25800fc2043a86e8289", + "version": "0.9.0", + "port-version": 0 + } + ] +} diff --git a/versions/j-/jsonnet.json b/versions/j-/jsonnet.json index f3dcfe0c21ac52..87af791d673392 100644 --- a/versions/j-/jsonnet.json +++ b/versions/j-/jsonnet.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "d58bf2d0d8b29fbcd87bfa9bcc4725aaec9283ad", + "version": "0.20.0", + "port-version": 0 + }, + { + "git-tree": "d44312d784436a66ae779d4b644aa29e3ebe23e8", + "version": "0.18.0", + "port-version": 1 + }, + { + "git-tree": "1ac55d2bf1f121bd14e748bbf55569a49a9015d9", + "version": "0.18.0", + "port-version": 0 + }, { "git-tree": "24a514c5bcece6b71ac13744ec40f92f285fc689", "version": "0.17.0", diff --git a/versions/j-/juce.json b/versions/j-/juce.json new file mode 100644 index 00000000000000..e910445a4144c8 --- /dev/null +++ b/versions/j-/juce.json @@ -0,0 +1,24 @@ +{ + "versions": [ + { + "git-tree": "39972276101fadf009d1c7274d38d1efa16cbfa4", + "version": "7.0.12", + "port-version": 0 + }, + { + "git-tree": "0b701d5c9d8e584f52b490b1cdbba86f95e062c4", + "version": "7.0.11", + "port-version": 0 + }, + { + "git-tree": "b41680278522df797f15ed072b079a26aeae6052", + "version": "7.0.10", + "port-version": 0 + }, + { + "git-tree": "884ac8253be9804c493b3dfc00a792570797716d", + "version": "7.0.9", + "port-version": 0 + } + ] +} diff --git a/versions/j-/jwt-cpp.json b/versions/j-/jwt-cpp.json index 5cab5fb688de91..8a47636b2e2c35 100644 --- a/versions/j-/jwt-cpp.json +++ b/versions/j-/jwt-cpp.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "b0890909dce2e5ce69df737f928c152dd432a6d8", + "version-semver": "0.7.0", + "port-version": 1 + }, + { + "git-tree": "5302b22e1086039ecf4c3a04a2e8be2218e40305", + "version-semver": "0.7.0", + "port-version": 0 + }, + { + "git-tree": "3d1a0be50079d7774b6807b914518a3028477096", + "version-semver": "0.6.0", + "port-version": 0 + }, { "git-tree": "fbec7fade6b949737e531b1e5f57133e592edf96", "version-semver": "0.5.1", diff --git a/versions/j-/jxrlib.json b/versions/j-/jxrlib.json index 4995aa67e2a8db..018440ddc2301d 100644 --- a/versions/j-/jxrlib.json +++ b/versions/j-/jxrlib.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "4d6cb4015844afea80f96aa9cd6c43fb2bdd1cc1", + "version": "2019.10.9", + "port-version": 7 + }, + { + "git-tree": "3a114c06061c6e5a6e1dcc40eaadb21cecb7ac99", + "version": "2019.10.9", + "port-version": 6 + }, + { + "git-tree": "5e303b910797ec21313839eac286cf6baaf31c5a", + "version": "2019.10.9", + "port-version": 5 + }, + { + "git-tree": "faadd72c2d406fce9c076c025285aa692995a8b5", + "version": "2019.10.9", + "port-version": 4 + }, { "git-tree": "2070ec06331c3cf93574ec82fa22791e3ba6172f", "version": "2019.10.9", diff --git a/versions/k-/kaitai-struct-cpp-stl-runtime.json b/versions/k-/kaitai-struct-cpp-stl-runtime.json new file mode 100644 index 00000000000000..96824966b152f6 --- /dev/null +++ b/versions/k-/kaitai-struct-cpp-stl-runtime.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "6955b0e08a1013a8e3fc43984ddd4a9455bec5ed", + "version": "0.10.1", + "port-version": 1 + }, + { + "git-tree": "5a70cdc32238d97c453f129e298c03bebdc2e7fd", + "version": "0.10.1", + "port-version": 0 + }, + { + "git-tree": "217ac9f83467405995c7d1356604661f0edf9970", + "version": "0.10", + "port-version": 0 + } + ] +} diff --git a/versions/k-/kangaru.json b/versions/k-/kangaru.json index e0cf6d2f76cdb7..9ebe92fbdc5f02 100644 --- a/versions/k-/kangaru.json +++ b/versions/k-/kangaru.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "6fd185b55e031697a00f15694ea7037ee97ff007", + "version": "4.3.2", + "port-version": 0 + }, + { + "git-tree": "194f665c94fecadc626ab9431003eec963a6820d", + "version": "4.3.1", + "port-version": 0 + }, + { + "git-tree": "b6015882a3de991781c67d93b4c470aafcdd3e2b", + "version": "4.3.0", + "port-version": 0 + }, { "git-tree": "e47bf7620670afbcbb349017d71275289fa9b6a9", "version-string": "4.2.4", diff --git a/versions/k-/kd-soap.json b/versions/k-/kd-soap.json index f621fc50c27277..a855dfa6b7f6be 100644 --- a/versions/k-/kd-soap.json +++ b/versions/k-/kd-soap.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "4965d8dc59b019e7a99cc0f3ebc705d4c1e18752", + "version": "2.1.1", + "port-version": 1 + }, + { + "git-tree": "25205691e2c5a4f621d6b4c7fbe78f56324a311f", + "version": "2.1.1", + "port-version": 0 + }, { "git-tree": "64e16ff8d17d3cadb5a951b5b20e15f99b6d82b1", "version-string": "1.9.0", diff --git a/versions/k-/kdalgorithms.json b/versions/k-/kdalgorithms.json new file mode 100644 index 00000000000000..cc21556bb74ac6 --- /dev/null +++ b/versions/k-/kdalgorithms.json @@ -0,0 +1,24 @@ +{ + "versions": [ + { + "git-tree": "d58145271930fe892998173ab6ccd10931272e64", + "version": "1.3", + "port-version": 0 + }, + { + "git-tree": "05bf1ff5e346918f8fa5e6ece05126d72a6409f4", + "version": "1.2", + "port-version": 0 + }, + { + "git-tree": "c1d9ec1859767d60adf003d94fe81eb7eaac668e", + "version-date": "2023-02-11", + "port-version": 0 + }, + { + "git-tree": "b8b744bbe193f6bbfbe4b02cd8215dc1d8e560a2", + "version-date": "2023-01-31", + "port-version": 0 + } + ] +} diff --git a/versions/k-/kdbindings.json b/versions/k-/kdbindings.json index fbcc9ef3c1ecfa..d8cb8a01e7ad3f 100644 --- a/versions/k-/kdbindings.json +++ b/versions/k-/kdbindings.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "d3d455128bf7e06fd1b30a961c62bd33dd56f8ad", + "version": "1.0.5", + "port-version": 0 + }, + { + "git-tree": "f0fb5ebfb45d90dd4a270978c49e490ffe5ea133", + "version": "1.0.3", + "port-version": 0 + }, { "git-tree": "5dc85351398a57c7b222ac7a57952849c327c18b", "version": "1.0.0", diff --git a/versions/k-/kddockwidgets.json b/versions/k-/kddockwidgets.json new file mode 100644 index 00000000000000..866e5b44e2ea42 --- /dev/null +++ b/versions/k-/kddockwidgets.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "d9644c9741f94c097fba186a4111f1dfcd68063e", + "version": "2.1.0", + "port-version": 0 + }, + { + "git-tree": "5dcce3389ff415798302c843980052dd03314ddc", + "version": "2.0.0", + "port-version": 0 + }, + { + "git-tree": "5b5e511f49b28d447aafde193422e3b7961a4e62", + "version": "1.5.0", + "port-version": 0 + } + ] +} diff --git a/versions/k-/kdsoap.json b/versions/k-/kdsoap.json new file mode 100644 index 00000000000000..49deb010961074 --- /dev/null +++ b/versions/k-/kdsoap.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "fb0537658cffb2606f6eed9d444a5d8f88cdf2a4", + "version": "2.2.0", + "port-version": 0 + } + ] +} diff --git a/versions/k-/kealib.json b/versions/k-/kealib.json index a4fe941e3ee5f1..76481aac791721 100644 --- a/versions/k-/kealib.json +++ b/versions/k-/kealib.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "56a7c2f40ce5bb8f1674cf676d80c20a32e32d14", + "version": "1.5.3", + "port-version": 0 + }, + { + "git-tree": "a32984c499e3b89d71c221916c41d59cf8cb1834", + "version": "1.5.2", + "port-version": 1 + }, + { + "git-tree": "e23b8bf23a4254e1028ca0c93f722a2691012852", + "version": "1.5.2", + "port-version": 0 + }, + { + "git-tree": "d6136ef42467c0204cd6a082a272c16ab955caa3", + "version": "1.4.14", + "port-version": 1 + }, { "git-tree": "11878c71d1418c0bdcc380e7ebf8e90f9e563260", "version": "1.4.14", diff --git a/versions/k-/keccak-tiny.json b/versions/k-/keccak-tiny.json new file mode 100644 index 00000000000000..7ca0388ba494b2 --- /dev/null +++ b/versions/k-/keccak-tiny.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "dd3f2c18bec05d2d3c2962d67bb3dc05d489aaae", + "version-date": "2014-09-08", + "port-version": 2 + }, + { + "git-tree": "bc08abcfa95ff215f36528c540d82bcbecab4ee1", + "version-date": "2014-09-08", + "port-version": 1 + }, + { + "git-tree": "068d9cedaf0a577eabe71f008037116929435931", + "version-date": "2014-09-08", + "port-version": 0 + } + ] +} diff --git a/versions/k-/kenlm.json b/versions/k-/kenlm.json index 0ad8159aedcb26..33d960b7b30680 100644 --- a/versions/k-/kenlm.json +++ b/versions/k-/kenlm.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "3473d89b5d9e5bfc847a3b3575a5843b729b71ee", + "version": "20230531", + "port-version": 1 + }, + { + "git-tree": "bb9e0ae36b74ecd5bfb6a8855e761138eeda9185", + "version": "20230531", + "port-version": 0 + }, + { + "git-tree": "6f1bed68940353855027de67f5f6d33c5dbe8617", + "version": "20200924", + "port-version": 4 + }, + { + "git-tree": "4947aeed6f0e7817a4be646bbb7685e4e5ebf62a", + "version": "20200924", + "port-version": 3 + }, + { + "git-tree": "8154d9ed8e6458688478aae1e09c2334362bc198", + "version": "20200924", + "port-version": 2 + }, { "git-tree": "5fd24bb27699940f72b94a9c3cf3e77a7d645a76", "version-string": "20200924", diff --git a/versions/k-/kerbal.json b/versions/k-/kerbal.json new file mode 100644 index 00000000000000..8a7cf325fb0859 --- /dev/null +++ b/versions/k-/kerbal.json @@ -0,0 +1,44 @@ +{ + "versions": [ + { + "git-tree": "9c85ede8bc681faec4435a4b0bcecf5468028c34", + "version": "2024.8.1", + "port-version": 0 + }, + { + "git-tree": "ecb5f91381b8fde292231f17e6783cea1e7f9ae3", + "version": "2024.7.1", + "port-version": 0 + }, + { + "git-tree": "c3059ef72ab70726859014bb658dba8e0d463e4d", + "version": "2024.6.1", + "port-version": 0 + }, + { + "git-tree": "5de9d0c7ccf591d54b34a2590a5168cb00bed6c0", + "version": "2024.5.1", + "port-version": 0 + }, + { + "git-tree": "cfb8465f5f690585caabbc481f752c51906bcaa1", + "version": "2024.4.1", + "port-version": 0 + }, + { + "git-tree": "96765fcef80616b82190c2eeb1163ee856f96486", + "version": "2024.2.1", + "port-version": 0 + }, + { + "git-tree": "423247974576c87249311509a8d255d1435308f1", + "version": "2024.1.1", + "port-version": 0 + }, + { + "git-tree": "b4d5ce6370b4c2a345ba96cbebbce8632667fac1", + "version": "2023.12.1", + "port-version": 0 + } + ] +} diff --git a/versions/k-/keystone.json b/versions/k-/keystone.json index 7f8c71f6fbf6e0..7ed0f91ddb92c8 100644 --- a/versions/k-/keystone.json +++ b/versions/k-/keystone.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "c08eb2c84899fd5de79744b811c859667c7cfc17", + "version-semver": "0.9.2", + "port-version": 3 + }, + { + "git-tree": "f0094b1730f5973d7c3661eec95eb009d1d272b9", + "version-semver": "0.9.2", + "port-version": 2 + }, { "git-tree": "34865a7cf3fbcf4f104e8b136862aa8acc1a7ca7", "version-semver": "0.9.2", diff --git a/versions/k-/kf5archive.json b/versions/k-/kf5archive.json index 3dd22de1ae9e1d..89394349321f25 100644 --- a/versions/k-/kf5archive.json +++ b/versions/k-/kf5archive.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "bc79165deff9b9e843f9078cd2b0f4190588929d", + "version": "5.98.0", + "port-version": 1 + }, + { + "git-tree": "2c232fe1786179a6c7c2e21f98336d6645fb5cae", + "version": "5.98.0", + "port-version": 0 + }, + { + "git-tree": "200f5a032c9615fb66ad30f53671cb39b776c270", + "version": "5.89.0", + "port-version": 2 + }, + { + "git-tree": "2eafcdc8cb04d2ec80f9beb89254ca4f74616a07", + "version": "5.89.0", + "port-version": 1 + }, + { + "git-tree": "55574a9d2677a48ae7f69740641f5fdbc5b0e068", + "version": "5.89.0", + "port-version": 0 + }, + { + "git-tree": "ac6edcd19fdca524303279786a9b5672a3a05c36", + "version": "5.88.0", + "port-version": 0 + }, + { + "git-tree": "c0df48850c0ede4ccb1d73dbe45f433b625120c8", + "version": "5.87.0", + "port-version": 0 + }, { "git-tree": "1476ac82c0b38d83211053e22afbac2091dab2e3", "version-semver": "5.84.0", diff --git a/versions/k-/kf5attica.json b/versions/k-/kf5attica.json index 51344eb3f24e85..00537ea1c0017f 100644 --- a/versions/k-/kf5attica.json +++ b/versions/k-/kf5attica.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "f0e2bfd9ba7f2543ea39e0c11100f3f3900ea043", + "version": "5.98.0", + "port-version": 0 + }, + { + "git-tree": "3b57c9ffcaa73c2b461946b692ec5b73cb6c4be9", + "version": "5.89.0", + "port-version": 2 + }, + { + "git-tree": "1ef9b989e525f13878a113dcd3ac801efe6d3b7b", + "version": "5.89.0", + "port-version": 1 + }, + { + "git-tree": "7d2b92c0e01ddccefac1907485d8d515a4e9a682", + "version": "5.89.0", + "port-version": 0 + }, + { + "git-tree": "503565f7fa61ae49645a58970967409963928a70", + "version": "5.88.0", + "port-version": 0 + }, + { + "git-tree": "dd65de5bb02fc6ad70fd3d2a9988d8b8aa2c69f3", + "version": "5.87.0", + "port-version": 0 + }, { "git-tree": "f0d1c8f2256f2e831a4ba82551de6a55ee4565a6", "version-semver": "5.84.0", diff --git a/versions/k-/kf5auth.json b/versions/k-/kf5auth.json index c3154d0264ad85..fd3949250538f7 100644 --- a/versions/k-/kf5auth.json +++ b/versions/k-/kf5auth.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "389705992ddf4b7f0bf8c0a7331d79d3e0f723f1", + "version": "5.98.0", + "port-version": 0 + }, + { + "git-tree": "2b48f53d5ccd018dedbc8489fecb94272c00a693", + "version": "5.89.0", + "port-version": 1 + }, + { + "git-tree": "e2f603c61a444935527c7c0a3e6f3871dc8de3df", + "version": "5.89.0", + "port-version": 0 + }, + { + "git-tree": "9703f64179e4ae9387400c5e5a003c796c4de920", + "version": "5.88.0", + "port-version": 0 + }, + { + "git-tree": "d7e4ebe7498963bfde116470731abb72cf9032df", + "version": "5.87.0", + "port-version": 0 + }, { "git-tree": "54c38c08e5c5af0745650a385a5cea5926748545", "version": "5.84.0", diff --git a/versions/k-/kf5bookmarks.json b/versions/k-/kf5bookmarks.json index b98605df0deb5e..8dd003525e20f9 100644 --- a/versions/k-/kf5bookmarks.json +++ b/versions/k-/kf5bookmarks.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "ee94632737dfb659ef7c31488ee98a859e576d5a", + "version": "5.98.0", + "port-version": 0 + }, + { + "git-tree": "2cd5cb169adf05127a9593b836443a7cf0caf7b9", + "version": "5.89.0", + "port-version": 1 + }, + { + "git-tree": "4d1a01a9c81b7126f63ac11f2729498f93d56903", + "version": "5.89.0", + "port-version": 0 + }, + { + "git-tree": "c37b551cf242aad93b0d8e335358df3caf51f2b3", + "version": "5.88.0", + "port-version": 0 + }, + { + "git-tree": "d7a2e1993eaad2402f76f743f224231d8fff7e57", + "version": "5.87.0", + "port-version": 0 + }, { "git-tree": "64191caa589d36090d34e4f699e7c90d836a6726", "version": "5.84.0", diff --git a/versions/k-/kf5codecs.json b/versions/k-/kf5codecs.json index 7731245b671281..ab36fc925737d2 100644 --- a/versions/k-/kf5codecs.json +++ b/versions/k-/kf5codecs.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "5771c7243aec3536ffe84a248d549ed776e5a2ff", + "version": "5.98.0", + "port-version": 0 + }, + { + "git-tree": "b6719ea6680496a4d022d37b8508a82929efa269", + "version": "5.89.0", + "port-version": 2 + }, + { + "git-tree": "3f089e2bf752a07b60871e0cbc1bcdf085b3e7fd", + "version": "5.89.0", + "port-version": 1 + }, + { + "git-tree": "689fa05db3db3ea404ccec181b0a8bba8e614562", + "version": "5.89.0", + "port-version": 0 + }, + { + "git-tree": "707f03a5be73f39f93010cf6c7445722555d3d85", + "version": "5.88.0", + "port-version": 0 + }, + { + "git-tree": "6b03af23a2842634523f2a2958d54b2a9aed8c7b", + "version": "5.87.0", + "port-version": 0 + }, { "git-tree": "54b65a5af21a97ee1a73591b5e83d26cc6898d12", "version": "5.84.0", diff --git a/versions/k-/kf5completion.json b/versions/k-/kf5completion.json index aea864f52f470d..b0cd077313f456 100644 --- a/versions/k-/kf5completion.json +++ b/versions/k-/kf5completion.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "e969d877d16c85bab0deba60e4ca215be4b5a0cd", + "version": "5.98.0", + "port-version": 0 + }, + { + "git-tree": "0056d39621f6e5c5835fb0c43f341c4c7814cb3c", + "version": "5.89.0", + "port-version": 1 + }, + { + "git-tree": "883845542162455b20188292bdf1cbcad36615ef", + "version": "5.89.0", + "port-version": 0 + }, + { + "git-tree": "36d73d2ef882b596ba4735efff2327e24c4192a0", + "version": "5.88.0", + "port-version": 0 + }, + { + "git-tree": "6c8a057cc04ac61bafd18e9d3ef44d08eb10e656", + "version": "5.87.0", + "port-version": 0 + }, { "git-tree": "a184552295179e5f414d3166d8f6f40ce9c66347", "version": "5.84.0", diff --git a/versions/k-/kf5config.json b/versions/k-/kf5config.json index 13e4c607d6a530..78876913f3d9a3 100644 --- a/versions/k-/kf5config.json +++ b/versions/k-/kf5config.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "387976b6e5d8785f9edac7b406c5d8baf2194810", + "version": "5.98.0", + "port-version": 0 + }, + { + "git-tree": "889c81ade9cc8884e33b26cf2a53a4438f36ac73", + "version": "5.89.0", + "port-version": 1 + }, + { + "git-tree": "b8cf3131bfc3810be865d269b9873e08b36ed0ca", + "version": "5.89.0", + "port-version": 0 + }, + { + "git-tree": "b61e44190301d0de14095a1c3022bd484680e315", + "version": "5.88.0", + "port-version": 0 + }, + { + "git-tree": "c856c763f07600a010fc88a2ba55ea041ad885e9", + "version": "5.87.0", + "port-version": 0 + }, { "git-tree": "f36f1f5a124bd2f3123e0dfd9f4d350f1f69e757", "version": "5.84.0", diff --git a/versions/k-/kf5configwidgets.json b/versions/k-/kf5configwidgets.json index db4391585d0aee..03efffde540932 100644 --- a/versions/k-/kf5configwidgets.json +++ b/versions/k-/kf5configwidgets.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "8fa0088a6eb4fa896b6fb3089e3bb50a5c0a89ce", + "version": "5.98.0", + "port-version": 0 + }, + { + "git-tree": "49a14e655f74489ffbb31381c530f5cfbae085f5", + "version": "5.89.0", + "port-version": 1 + }, + { + "git-tree": "321b0a6c4261d5a3bcf760d5010e388b6297e3d5", + "version": "5.89.0", + "port-version": 0 + }, + { + "git-tree": "6d32f1ae808824f97ae385668b430dbec9bbafcc", + "version": "5.88.0", + "port-version": 0 + }, + { + "git-tree": "3d64286e19596a3518c2afee2cc882e770dc3ffe", + "version": "5.87.0", + "port-version": 0 + }, { "git-tree": "9eca836d8da743409afa20dfc372145a7a7e68d6", "version-semver": "5.84.0", diff --git a/versions/k-/kf5coreaddons.json b/versions/k-/kf5coreaddons.json index 5783b0d9936a18..85c84d02266297 100644 --- a/versions/k-/kf5coreaddons.json +++ b/versions/k-/kf5coreaddons.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "6ce923654b749eae794d954c9c0a05a089a49cbb", + "version": "5.98.0", + "port-version": 0 + }, + { + "git-tree": "871ce017f9d68b32eae29502a4e235d4b56ffa5c", + "version": "5.89.0", + "port-version": 1 + }, + { + "git-tree": "6431d962993955c520f26f0c6d28f4cdaf5cfdea", + "version": "5.89.0", + "port-version": 0 + }, + { + "git-tree": "d1d07dcbee5c9b56c7109f5a7bfb66eea766570f", + "version": "5.88.0", + "port-version": 0 + }, + { + "git-tree": "6a08b92d70eb4ad61dc64f207618f1725f133d4b", + "version": "5.87.0", + "port-version": 0 + }, { "git-tree": "ca84b488ea7914b621bf49006f03f4ce8221052c", "version-semver": "5.84.0", diff --git a/versions/k-/kf5crash.json b/versions/k-/kf5crash.json index cf1ac87e2a6f89..299d6014251c8e 100644 --- a/versions/k-/kf5crash.json +++ b/versions/k-/kf5crash.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "7db7edcd4305608638ad3c3c6e7e7e23d68e6184", + "version": "5.98.0", + "port-version": 0 + }, + { + "git-tree": "5e580a5e3144b93a7d4b28aeb00ee6f3c4853158", + "version": "5.89.0", + "port-version": 1 + }, + { + "git-tree": "09f21ea5657354bd2e6a725f7c6b9e8e6b47af68", + "version": "5.89.0", + "port-version": 0 + }, + { + "git-tree": "1e7f3c7f919bd8f77fd51c51fef599019c784db3", + "version": "5.88.0", + "port-version": 0 + }, + { + "git-tree": "cc52d0bb515ffa68e8bcc9a209bc91da339639ac", + "version": "5.87.0", + "port-version": 0 + }, { "git-tree": "e30fa89728c784663526f9ff9332021507b9ee8e", "version-semver": "5.84.0", diff --git a/versions/k-/kf5dbusaddons.json b/versions/k-/kf5dbusaddons.json index f5cfeade985a9c..5ee2dd37b47449 100644 --- a/versions/k-/kf5dbusaddons.json +++ b/versions/k-/kf5dbusaddons.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "96c5f4d51c4d48bf883e6453a8b8b9217b2e7d5a", + "version": "5.98.0", + "port-version": 0 + }, + { + "git-tree": "aa7c4e3746bad3e33f18004fbc3e27f174565d5b", + "version": "5.89.0", + "port-version": 1 + }, + { + "git-tree": "86fe61a2bf5e56705d1c90e61f355a08328d2886", + "version": "5.89.0", + "port-version": 0 + }, + { + "git-tree": "59f07d9d616712ace1051e0b9bfb60429685932a", + "version": "5.88.0", + "port-version": 0 + }, + { + "git-tree": "0f61c24cff36aac302c3a9e98b5e10e66d87b405", + "version": "5.87.0", + "port-version": 0 + }, { "git-tree": "497be7e1959fac395884422632328485883fd433", "version": "5.84.0", diff --git a/versions/k-/kf5declarative.json b/versions/k-/kf5declarative.json index 9e53d6474338e0..e2616644fd4b7c 100644 --- a/versions/k-/kf5declarative.json +++ b/versions/k-/kf5declarative.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "eafce68b2956be69cf875ee748607bef47492173", + "version": "5.98.0", + "port-version": 0 + }, + { + "git-tree": "efd6146040b9f86326574988e82191cbf8a23590", + "version": "5.89.0", + "port-version": 1 + }, + { + "git-tree": "0e7f25daab01ec329e68aafcb705359e9c341bee", + "version": "5.89.0", + "port-version": 0 + }, + { + "git-tree": "ca1926847cdb48836c8ee9cbca02178d0df38384", + "version": "5.88.0", + "port-version": 0 + }, + { + "git-tree": "bd3486c169cd99bdc70fb5ee7e65ba3f76591e1f", + "version": "5.87.0", + "port-version": 0 + }, { "git-tree": "6532f8c66e8d9626315958f2f072c43bf6a117ac", "version": "5.84.0", diff --git a/versions/k-/kf5diagram.json b/versions/k-/kf5diagram.json index 1dbe7533665a35..349194e2f96ada 100644 --- a/versions/k-/kf5diagram.json +++ b/versions/k-/kf5diagram.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "50871666a977c4954a0bd35a068c7dcfb83a4fba", + "version": "2.8.0", + "port-version": 1 + }, { "git-tree": "934ea388abb43f4946b4473a2b74cba0bf6b1e5c", "version": "2.8.0", diff --git a/versions/k-/kf5globalaccel.json b/versions/k-/kf5globalaccel.json index da94a064dd0e1d..bf5ac2220ea172 100644 --- a/versions/k-/kf5globalaccel.json +++ b/versions/k-/kf5globalaccel.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "4a4b81c37d804391f425b791553d0df7b43d722f", + "version": "5.98.0", + "port-version": 0 + }, + { + "git-tree": "12a2d7458be3768c8fefca6986a678aad429b66e", + "version": "5.89.0", + "port-version": 3 + }, + { + "git-tree": "610034ef9764b5d45569588235e9a5838ae05757", + "version": "5.89.0", + "port-version": 2 + }, + { + "git-tree": "5a4dc9bc81874eec1192fa77b8a04ab67fb75239", + "version": "5.89.0", + "port-version": 1 + }, + { + "git-tree": "186e5eaf6182ee6c12a1543aad61a2d317dbe90b", + "version": "5.89.0", + "port-version": 0 + }, + { + "git-tree": "65f39c2fb121a2604a848e219bc50d8a0a11e4ee", + "version": "5.88.0", + "port-version": 0 + }, + { + "git-tree": "f6d75bafebb665646fc7b714e3f0bba8e968c90a", + "version": "5.87.0", + "port-version": 0 + }, { "git-tree": "541f3c0b90027dcb3837dec812f896dbc4786f46", "version-semver": "5.84.0", diff --git a/versions/k-/kf5guiaddons.json b/versions/k-/kf5guiaddons.json index c9d4b6fad6c659..b632bd3f6da4e2 100644 --- a/versions/k-/kf5guiaddons.json +++ b/versions/k-/kf5guiaddons.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "5408befc8a27d05686021d5913f7e33e88f8e8fa", + "version": "5.98.0", + "port-version": 0 + }, + { + "git-tree": "37f004eb6d5e6377d161abf76991be133c2ad2f1", + "version": "5.89.0", + "port-version": 1 + }, + { + "git-tree": "1d532e40b86e82f54d1cec8ea0752168dac149b0", + "version": "5.89.0", + "port-version": 0 + }, + { + "git-tree": "cac4485ad81812b3ecb5b73b2ded808e2b4d01f8", + "version": "5.88.0", + "port-version": 0 + }, + { + "git-tree": "e5051bdd704585046c184dcc90fd096ef082b82a", + "version": "5.87.0", + "port-version": 0 + }, { "git-tree": "1dfe4575612c8d7d2bff1d4b1ecf2d5601915060", "version-semver": "5.84.0", diff --git a/versions/k-/kf5holidays.json b/versions/k-/kf5holidays.json index d79071a556b961..122f6a8709cbc1 100644 --- a/versions/k-/kf5holidays.json +++ b/versions/k-/kf5holidays.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "8ad1246ca57dcf55bd261776dba9673ee2a069a4", + "version": "5.98.0", + "port-version": 0 + }, + { + "git-tree": "f1e843d6b36f5866cb578d7151ace6f4c42f67fb", + "version": "5.89.0", + "port-version": 1 + }, + { + "git-tree": "91ecdfa6bebbaf14e316af8763d3a355eb2d5108", + "version": "5.89.0", + "port-version": 0 + }, + { + "git-tree": "1de63f997d7e1f2a5986d980bde5f79b5dc9dfcc", + "version": "5.88.0", + "port-version": 0 + }, + { + "git-tree": "50c5f3ea401e44a4318747aefa0c299350be6508", + "version": "5.87.0", + "port-version": 0 + }, { "git-tree": "d8b6fefbcb219e7f1de19ffc4b30bc8fd199abc0", "version": "5.84.0", diff --git a/versions/k-/kf5i18n.json b/versions/k-/kf5i18n.json index 637789dffac6d0..d2e337d4d10a2c 100644 --- a/versions/k-/kf5i18n.json +++ b/versions/k-/kf5i18n.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "f2263f5dbba39bdf456b8f1606f29ab4dc6e66cb", + "version": "5.98.0", + "port-version": 1 + }, + { + "git-tree": "8ce72b628f7998df3f90bcf7f9d313d9242ad5d8", + "version": "5.98.0", + "port-version": 0 + }, + { + "git-tree": "1f5d368735b3d217ffc3353be0a8d85d5eaa8e85", + "version": "5.89.0", + "port-version": 1 + }, + { + "git-tree": "714138715b9030eceab63caba6085c4c9cd2e6d5", + "version": "5.89.0", + "port-version": 0 + }, + { + "git-tree": "e215c70cf4c900ca8510ae07c4f3cd65587f35e8", + "version": "5.88.0", + "port-version": 0 + }, + { + "git-tree": "7d6f42ae158c14ab6b17cd305ac42d6ea3e03af8", + "version": "5.87.0", + "port-version": 0 + }, { "git-tree": "c866e11343fd709f33dba23075f00f64b62813b5", "version": "5.84.0", diff --git a/versions/k-/kf5iconthemes.json b/versions/k-/kf5iconthemes.json index 6108d3d85e5f67..4ddddb801908c2 100644 --- a/versions/k-/kf5iconthemes.json +++ b/versions/k-/kf5iconthemes.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "e9a5e0ddf2b1b420c7af62f31d407b02812c76c9", + "version": "5.98.0", + "port-version": 0 + }, + { + "git-tree": "f24fa167b4438332ec95d1202d0bafa55e0047f6", + "version": "5.89.0", + "port-version": 1 + }, + { + "git-tree": "6ff2f989294b0c0487ff5049498efb10571334eb", + "version": "5.89.0", + "port-version": 0 + }, + { + "git-tree": "815937b5586d05475d7291f270b14359197f3e04", + "version": "5.88.0", + "port-version": 0 + }, + { + "git-tree": "de7e7e740b10c51da3916a4cbefde630941df428", + "version": "5.87.0", + "port-version": 0 + }, { "git-tree": "dff2467b2980412adb042e6a9e2474eb5efba9f4", "version": "5.84.0", diff --git a/versions/k-/kf5itemmodels.json b/versions/k-/kf5itemmodels.json index 129da014643f6d..e5afcb36791595 100644 --- a/versions/k-/kf5itemmodels.json +++ b/versions/k-/kf5itemmodels.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "b7c81a317c99dcd261bfc2106361e50354ec0e2e", + "version": "5.98.0", + "port-version": 0 + }, + { + "git-tree": "705a7782c204e337e6d9e1a8b6012d9666fa5f1c", + "version": "5.89.0", + "port-version": 1 + }, + { + "git-tree": "a97d6d3556bddd30d108f13e831789b8cc9c1de9", + "version": "5.89.0", + "port-version": 0 + }, + { + "git-tree": "4cdd3b6ba6e4699193512aeebb851dddcf0da092", + "version": "5.88.0", + "port-version": 0 + }, + { + "git-tree": "68d9be4e09a64f981bb76751ec94319548ad0dc4", + "version": "5.87.0", + "port-version": 0 + }, { "git-tree": "ccd18253fc31dab2afa493a6150711036138da63", "version": "5.84.0", diff --git a/versions/k-/kf5itemviews.json b/versions/k-/kf5itemviews.json index 00e2cb2031ad0e..e165955f069cd5 100644 --- a/versions/k-/kf5itemviews.json +++ b/versions/k-/kf5itemviews.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "bb9d485e06f56b12f904408526d1539668f77e49", + "version": "5.98.0", + "port-version": 0 + }, + { + "git-tree": "0b8749cec5799435ad29e1a21bd957f4b212789b", + "version": "5.89.0", + "port-version": 1 + }, + { + "git-tree": "8cdccbe27ce997559f69d74f6267c3cbfd294e1e", + "version": "5.89.0", + "port-version": 0 + }, + { + "git-tree": "f9f8bdd3d499bbec3575a898e162127c9ab32fba", + "version": "5.88.0", + "port-version": 0 + }, + { + "git-tree": "39e2e18585caf414701168720ab9dc72d58d6b73", + "version": "5.87.0", + "port-version": 0 + }, { "git-tree": "a89dde646ac62a41ece78c8757964cdd4ceaed60", "version": "5.84.0", diff --git a/versions/k-/kf5jobwidgets.json b/versions/k-/kf5jobwidgets.json index 55544975ea186f..b2940e2fd98093 100644 --- a/versions/k-/kf5jobwidgets.json +++ b/versions/k-/kf5jobwidgets.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "080fea57e09bdc51d703c39ab692b29b1f096c40", + "version": "5.98.0", + "port-version": 0 + }, + { + "git-tree": "a5eaddef9be54d6df981f7068082a2de2c03f50e", + "version": "5.89.0", + "port-version": 1 + }, + { + "git-tree": "f608e47e7f8135de9e7c172bc168e8a444801e66", + "version": "5.89.0", + "port-version": 0 + }, + { + "git-tree": "70eee0ea3cb787f5b956923a31002843c14b56aa", + "version": "5.88.0", + "port-version": 0 + }, + { + "git-tree": "46a78abf10e4dce004e27810c02da64f3a261489", + "version": "5.87.0", + "port-version": 0 + }, { "git-tree": "6772f49b473e205b1f3dadfe97705b178f8e0ef2", "version-semver": "5.84.0", diff --git a/versions/k-/kf5kcmutils.json b/versions/k-/kf5kcmutils.json index 98edb5c2b209d8..2f241a3de404b7 100644 --- a/versions/k-/kf5kcmutils.json +++ b/versions/k-/kf5kcmutils.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "c3cf53059eabe2e9acb71c57b371627597dc0604", + "version": "5.98.0", + "port-version": 0 + }, + { + "git-tree": "750360181cf0718e672e8fce8f47f252a6282c2b", + "version": "5.89.0", + "port-version": 1 + }, + { + "git-tree": "e57e3f3eda8ac0230b4f7e7bb31abd02c766398c", + "version": "5.89.0", + "port-version": 0 + }, + { + "git-tree": "25d48af54dcfad173913cb5c3d2032105b3ef915", + "version": "5.88.0", + "port-version": 0 + }, + { + "git-tree": "d29b1c0e6b679becc34e23677a223555053962de", + "version": "5.87.0", + "port-version": 0 + }, { "git-tree": "7faf8114473ed03a92c1d5537e4c07cbf31b0ef2", "version": "5.84.0", diff --git a/versions/k-/kf5kio.json b/versions/k-/kf5kio.json index b3e07774dfb2cf..42b839d19bda33 100644 --- a/versions/k-/kf5kio.json +++ b/versions/k-/kf5kio.json @@ -1,5 +1,45 @@ { "versions": [ + { + "git-tree": "10039455cb818f3b73101008804a8e23d07ccc5a", + "version": "5.98.0", + "port-version": 1 + }, + { + "git-tree": "955af4dc1289c12676bac762939a7367af07c216", + "version": "5.98.0", + "port-version": 0 + }, + { + "git-tree": "d3132359600eb520d63d54039b5b8f0e4ab5e252", + "version": "5.89.0", + "port-version": 2 + }, + { + "git-tree": "2ac545c09ad339684b43c2a6eb74b034f4ee1f25", + "version": "5.89.0", + "port-version": 1 + }, + { + "git-tree": "644d4ef87d5683404a3b034195c07a982fc45979", + "version": "5.89.0", + "port-version": 0 + }, + { + "git-tree": "20edff8d66b9094cb80eb228a29cef566aad3538", + "version": "5.88.0", + "port-version": 0 + }, + { + "git-tree": "6dc045a5011291de6e3aad07e60bca2a9699837c", + "version": "5.87.0", + "port-version": 0 + }, + { + "git-tree": "624eb17608cec7afe4c30bef29e16e18fe8d973e", + "version": "5.84.0", + "port-version": 1 + }, { "git-tree": "4a9411ad4abdf7acb9b7a7ef98dd9b966f8b58d5", "version": "5.84.0", diff --git a/versions/k-/kf5newstuff.json b/versions/k-/kf5newstuff.json index 52226138dffa1a..60b90d7c25659d 100644 --- a/versions/k-/kf5newstuff.json +++ b/versions/k-/kf5newstuff.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "cb18695367f1502b642e50d77992fd240cb79720", + "version": "5.98.0", + "port-version": 0 + }, + { + "git-tree": "3bc9c597ba5d97881249280f95c0e47256f11fec", + "version": "5.89.0", + "port-version": 1 + }, + { + "git-tree": "7295ad1e62fd07e6aa74fb1d4fe0562e4f6b5ecb", + "version": "5.89.0", + "port-version": 0 + }, + { + "git-tree": "a9b4c5ce1b701619de83591e564e2bbeec14e471", + "version": "5.88.0", + "port-version": 0 + }, + { + "git-tree": "b817dc1cfc5ca745cb053b7d17ce8569f818b215", + "version": "5.87.0", + "port-version": 0 + }, { "git-tree": "39c986b0766ffb962beb7022b74e1e1037bdc203", "version": "5.84.0", diff --git a/versions/k-/kf5notifications.json b/versions/k-/kf5notifications.json index b837ed00d08145..b7df329a339ab3 100644 --- a/versions/k-/kf5notifications.json +++ b/versions/k-/kf5notifications.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "475585373c172e68eacdcffe79737d885d83ed44", + "version": "5.98.0", + "port-version": 0 + }, + { + "git-tree": "8d1cf6886532e33f979d0ea01db8f00f855ffd85", + "version": "5.89.0", + "port-version": 1 + }, + { + "git-tree": "86baef519df4a14115be8d39ddac5b3c9df751cb", + "version": "5.89.0", + "port-version": 0 + }, + { + "git-tree": "fd7593fd4f8ad80faf6d2111ffffe16bf0dd76d1", + "version": "5.88.0", + "port-version": 0 + }, + { + "git-tree": "74334d5a13ce5263f6b60510a6193d0453136c93", + "version": "5.87.0", + "port-version": 0 + }, { "git-tree": "a565cfd79777b605b4e3fc57be5bd2957c498c7f", "version": "5.84.0", diff --git a/versions/k-/kf5package.json b/versions/k-/kf5package.json index 5ad9f60201bf85..884dc733de1d49 100644 --- a/versions/k-/kf5package.json +++ b/versions/k-/kf5package.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "5df633b57a6dea88cb96d30e150eb21d3a3c152c", + "version": "5.98.0", + "port-version": 0 + }, + { + "git-tree": "2a2ffee582428d57ac7ffcbc9b84b175fd4f7dd6", + "version": "5.89.0", + "port-version": 1 + }, + { + "git-tree": "0c7ba772f4a36a4bec3f1a573c124cc812cce788", + "version": "5.89.0", + "port-version": 0 + }, + { + "git-tree": "32c1d3baa7c7050b78d08f06abbca8791b048622", + "version": "5.88.0", + "port-version": 0 + }, + { + "git-tree": "06ff2bf277b3038d9b5cd77cefbba6dbb537424d", + "version": "5.87.0", + "port-version": 0 + }, { "git-tree": "41b59faf036cdcc4d430a8bee7b4f87c4fa4e42f", "version": "5.84.0", diff --git a/versions/k-/kf5parts.json b/versions/k-/kf5parts.json new file mode 100644 index 00000000000000..56b0526e4f3dce --- /dev/null +++ b/versions/k-/kf5parts.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "60bbc73ecd2ebcc910f7ea6c1553f79e33ccfb4f", + "version": "5.98.0", + "port-version": 1 + }, + { + "git-tree": "6d66ab25d03620f9df39a90fd00d00b0d6271620", + "version": "5.98.0", + "port-version": 0 + } + ] +} diff --git a/versions/k-/kf5plotting.json b/versions/k-/kf5plotting.json index 65073a0b340794..1d49856a9e53bc 100644 --- a/versions/k-/kf5plotting.json +++ b/versions/k-/kf5plotting.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "a242d0a106748fced7dacaf9e6c635bdafa9c289", + "version": "5.98.0", + "port-version": 0 + }, + { + "git-tree": "a310fc3ab59198518b01efdd979941b8d23866d5", + "version": "5.89.0", + "port-version": 1 + }, + { + "git-tree": "18344c8d460769664a1644a9c0bbca283766b2aa", + "version": "5.89.0", + "port-version": 0 + }, + { + "git-tree": "9cafd336220df951a4e0054d8b7f469a6408b161", + "version": "5.88.0", + "port-version": 0 + }, + { + "git-tree": "f16da3cc6b411acfff5935c7127ac2fe89cb4b0c", + "version": "5.87.0", + "port-version": 0 + }, { "git-tree": "866d1f84848c54a924a542fc101895588ff895b0", "version": "5.84.0", diff --git a/versions/k-/kf5service.json b/versions/k-/kf5service.json index eed2af76481143..89fc5b19d184fe 100644 --- a/versions/k-/kf5service.json +++ b/versions/k-/kf5service.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "1f72425338783888d31486fed4fddd847e915f38", + "version": "5.98.0", + "port-version": 1 + }, + { + "git-tree": "70f03de0d90a7592d61c95a44b83894dfedb1dc2", + "version": "5.98.0", + "port-version": 0 + }, + { + "git-tree": "b907d7007202c4bc425b82c4fde84702dae9dd8a", + "version": "5.89.0", + "port-version": 1 + }, + { + "git-tree": "8c834b6365035b2fcdd1996f3105456474f1b8a7", + "version": "5.89.0", + "port-version": 0 + }, + { + "git-tree": "ca748c2c5f5b929cd099c699342bfe887581386a", + "version": "5.88.0", + "port-version": 0 + }, + { + "git-tree": "674b9360b44ffc393f9e757443a68ce96c2ed006", + "version": "5.87.0", + "port-version": 0 + }, { "git-tree": "8f6fb4f263f0fff296515f569565550c9805e65d", "version": "5.84.0", diff --git a/versions/k-/kf5solid.json b/versions/k-/kf5solid.json index 0691de71027e47..46e632f2bf6706 100644 --- a/versions/k-/kf5solid.json +++ b/versions/k-/kf5solid.json @@ -1,5 +1,50 @@ { "versions": [ + { + "git-tree": "8c660cbdee5e0b076d034c774bdd4ac2e92d18eb", + "version": "5.98.0", + "port-version": 3 + }, + { + "git-tree": "3a95b547baf6f1c849928b20dfc319a2374f975f", + "version": "5.98.0", + "port-version": 2 + }, + { + "git-tree": "7b532dd98f6da51797e2f14681dfc859fb02d8de", + "version": "5.98.0", + "port-version": 1 + }, + { + "git-tree": "908096648c32dd9d82a9d2be78b63355f8c9361f", + "version": "5.98.0", + "port-version": 0 + }, + { + "git-tree": "bd69d4aaf53197f9f93af1378d98a01ee68c5ec1", + "version": "5.89.0", + "port-version": 1 + }, + { + "git-tree": "769197391a9b8b1f614405d61e05361915dffdc2", + "version": "5.89.0", + "port-version": 0 + }, + { + "git-tree": "7f02dd0891311813d9efad69bbdd2e9dc918a470", + "version": "5.88.0", + "port-version": 0 + }, + { + "git-tree": "db2ba98a0de225239023a9673c7faa4346fbdfd7", + "version": "5.87.0", + "port-version": 0 + }, + { + "git-tree": "8b7f9e0e31cd5fd3a2720a8e71b1aa52b123cf98", + "version": "5.84.0", + "port-version": 4 + }, { "git-tree": "77af969f1b19c937d7f41651b657a774cd3802c7", "version": "5.84.0", diff --git a/versions/k-/kf5sonnet.json b/versions/k-/kf5sonnet.json index 147aa3e8d61ac4..b30e9d7a54dd99 100644 --- a/versions/k-/kf5sonnet.json +++ b/versions/k-/kf5sonnet.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "db6dc20b0e64ba2710abba4eccee3edf65fb371f", + "version": "5.98.0", + "port-version": 0 + }, + { + "git-tree": "53b534ea7faff1d7803c333319a76fbd3c4245e3", + "version": "5.89.0", + "port-version": 1 + }, + { + "git-tree": "4befb84624256110ee9b61eef7b2a38bed809274", + "version": "5.89.0", + "port-version": 0 + }, + { + "git-tree": "460773f08b8524e7534b6f94a37a7488988e00a8", + "version": "5.88.0", + "port-version": 0 + }, + { + "git-tree": "54ce5e9ca8c725a2d8a40779ec92a5c35dc2ecf6", + "version": "5.87.0", + "port-version": 0 + }, { "git-tree": "dab7f45858de89e5cb13bd31875d2ba99bf94365", "version-semver": "5.84.0", diff --git a/versions/k-/kf5syntaxhighlighting.json b/versions/k-/kf5syntaxhighlighting.json index e72b1b31f3eeb4..4e029fa6506a07 100644 --- a/versions/k-/kf5syntaxhighlighting.json +++ b/versions/k-/kf5syntaxhighlighting.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "cb2145d5a6902e6b77d0fe33ea2db6b4425ae9e0", + "version": "5.98.0", + "port-version": 0 + }, + { + "git-tree": "f1a612321aa345449388a6479bd9ec591c74fcfe", + "version": "5.89.0", + "port-version": 1 + }, + { + "git-tree": "604681b0df59a2cc8cf1d69d8a355a9eecf59328", + "version": "5.89.0", + "port-version": 0 + }, + { + "git-tree": "2ca26437f934ea26968d1dc10871a31be10a460e", + "version": "5.88.0", + "port-version": 0 + }, + { + "git-tree": "2f3ed58701fe534cf44b9d777a64f7d146b882d6", + "version": "5.87.0", + "port-version": 0 + }, { "git-tree": "f86af1e17c47fb99ff1f4a662d2cf5c022408025", "version": "5.84.0", diff --git a/versions/k-/kf5texteditor.json b/versions/k-/kf5texteditor.json new file mode 100644 index 00000000000000..b6ebcddef1a16b --- /dev/null +++ b/versions/k-/kf5texteditor.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "184ee77705278a5194c32d6f6d38ea3bc19b4fd2", + "version": "5.98.0", + "port-version": 1 + }, + { + "git-tree": "65e3187a9352f45ef33cc466b1c809eff7bc2bc4", + "version": "5.98.0", + "port-version": 0 + } + ] +} diff --git a/versions/k-/kf5textwidgets.json b/versions/k-/kf5textwidgets.json index d5d356c9ad766c..43e5a65c8a3c06 100644 --- a/versions/k-/kf5textwidgets.json +++ b/versions/k-/kf5textwidgets.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "8542475bb75f2e58fd16147c055c80bf656c73f9", + "version": "5.98.0", + "port-version": 0 + }, + { + "git-tree": "386be7174ae0c7933126a345673f7627d23338ad", + "version": "5.89.0", + "port-version": 1 + }, + { + "git-tree": "5010e707b462a2d020694963f2e6d9affdea6db2", + "version": "5.89.0", + "port-version": 0 + }, + { + "git-tree": "3307e348e202593b08cd227f68d7ca7fd57ffcfa", + "version": "5.88.0", + "port-version": 0 + }, + { + "git-tree": "c37441cf5c99af758ae0d4b6a604bdc59ac5db5c", + "version": "5.87.0", + "port-version": 0 + }, { "git-tree": "b6c8dad63ee1e48b572b94623152569b1443c20c", "version": "5.84.0", diff --git a/versions/k-/kf5wallet.json b/versions/k-/kf5wallet.json index 6209cf6cfec59d..7778048f75a988 100644 --- a/versions/k-/kf5wallet.json +++ b/versions/k-/kf5wallet.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "5a22f587e96689931b0e0f069e494ebe1c776df5", + "version": "5.98.0", + "port-version": 0 + }, + { + "git-tree": "c999c1fac42e446c163683aff3b737a34ab86369", + "version": "5.89.0", + "port-version": 1 + }, + { + "git-tree": "7cdf30cbdbee449144de7e7f145e7e91ebd3aecb", + "version": "5.89.0", + "port-version": 0 + }, + { + "git-tree": "949ceec510758be184c8ed99a4409920e6b0aaa7", + "version": "5.88.0", + "port-version": 0 + }, + { + "git-tree": "30362e63081e49a908e3f9bd866e45813f8e86be", + "version": "5.87.0", + "port-version": 0 + }, { "git-tree": "8e8401b12a23caa46bffec87b7f583771a55170d", "version-semver": "5.84.0", diff --git a/versions/k-/kf5widgetsaddons.json b/versions/k-/kf5widgetsaddons.json index 589de92c8eb70c..29a497d5f4160b 100644 --- a/versions/k-/kf5widgetsaddons.json +++ b/versions/k-/kf5widgetsaddons.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "e949573086678577e83fdeac385ea89569a7e005", + "version": "5.98.0", + "port-version": 0 + }, + { + "git-tree": "8cd66a59a38a228b3344621b1c7e5077d0e189f8", + "version": "5.89.0", + "port-version": 1 + }, + { + "git-tree": "82e07e830a46ae869835ac36c61a1c4ea05542d3", + "version": "5.89.0", + "port-version": 0 + }, + { + "git-tree": "d7fb921418e65921e96e81147d9f7f830b471ab5", + "version": "5.88.0", + "port-version": 0 + }, + { + "git-tree": "f1fc662a11109567098e9cd2f50331c9b9809786", + "version": "5.87.0", + "port-version": 0 + }, { "git-tree": "b8ce78de33b2176f98f97f865494b520cdc37032", "version": "5.84.0", diff --git a/versions/k-/kf5windowsystem.json b/versions/k-/kf5windowsystem.json index 56fe8c32c24ffe..0d6cb9e8eb78ac 100644 --- a/versions/k-/kf5windowsystem.json +++ b/versions/k-/kf5windowsystem.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "fef7da287be796f52a5ee17a554ddbcb51c2eead", + "version": "5.98.0", + "port-version": 0 + }, + { + "git-tree": "ce5cc90a2d071246c1fbdb3240be60ae240d1566", + "version": "5.89.0", + "port-version": 2 + }, + { + "git-tree": "a15cfdf8b903d0aca25ec242187172a32f15d210", + "version": "5.89.0", + "port-version": 1 + }, + { + "git-tree": "7d201f83e6272c570a9662ac56ca67bffe2fe0e8", + "version": "5.89.0", + "port-version": 0 + }, + { + "git-tree": "9e617f8991e09cd526860b7a312330098cbcbb54", + "version": "5.88.0", + "port-version": 0 + }, + { + "git-tree": "b6387279ae7d002232405241fd46c46f8cf74fb0", + "version": "5.87.0", + "port-version": 0 + }, { "git-tree": "ce30fb964e57b95c0a6afe4cacff6a28447c7649", "version-semver": "5.84.0", diff --git a/versions/k-/kf5xmlgui.json b/versions/k-/kf5xmlgui.json index 2d454fa8395716..700d15d17a6de2 100644 --- a/versions/k-/kf5xmlgui.json +++ b/versions/k-/kf5xmlgui.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "ece36f576a52fb478f3a86cdf4e260ee0a7363a0", + "version": "5.98.0", + "port-version": 0 + }, + { + "git-tree": "f3805659c0182f6360c9a25ba03623268f48dbfe", + "version": "5.89.0", + "port-version": 1 + }, + { + "git-tree": "ef8256a376b36bf9971b1788e88f4332146a1558", + "version": "5.89.0", + "port-version": 0 + }, + { + "git-tree": "b6f435038615c416b7893e2e0524c1c486daccf5", + "version": "5.88.0", + "port-version": 0 + }, + { + "git-tree": "4d9dc85c5875657bed4598a47ade638dff13a5e0", + "version": "5.87.0", + "port-version": 0 + }, { "git-tree": "4fa462d8e9f3592a9ded89bb25ea21de65932112", "version": "5.84.0", diff --git a/versions/k-/kfr.json b/versions/k-/kfr.json index 00a6e7aa49fb14..f8c5d1661c5849 100644 --- a/versions/k-/kfr.json +++ b/versions/k-/kfr.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "d2a0f77d81e8be067f6fc0e97d768ed7cbcbb90a", + "version-semver": "6.0.2", + "port-version": 0 + }, + { + "git-tree": "b00300796a5d295a7e55dca654c19fffd3916242", + "version-semver": "5.0.1", + "port-version": 1 + }, + { + "git-tree": "98355b4aa76624a4542c63890145d9b6e19b919d", + "version-semver": "5.0.1", + "port-version": 0 + }, + { + "git-tree": "7465d297a8018bccb142249ed62bf26481608837", + "version-semver": "4.2.1", + "port-version": 2 + }, + { + "git-tree": "76c0a2397fec739067cac1a9970c113ed47341b1", + "version-semver": "4.2.1", + "port-version": 1 + }, { "git-tree": "3c67a5df3f480154a5f3472c58952566b55b688c", "version-semver": "4.2.1", diff --git a/versions/k-/kinectsdk1.json b/versions/k-/kinectsdk1.json index 6ddfc2b1251193..c0355d7cedda03 100644 --- a/versions/k-/kinectsdk1.json +++ b/versions/k-/kinectsdk1.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "13e4fb052326c67afb016cb1e4ad9de60dd15fe5", + "version": "1.8", + "port-version": 8 + }, + { + "git-tree": "95650640a3c97fff440182fb35e878cc0b3111de", + "version": "1.8", + "port-version": 7 + }, + { + "git-tree": "bc44fc3968647d5e6a43066a8d2b0cf6be3f4405", + "version": "1.8", + "port-version": 6 + }, + { + "git-tree": "688e49039e9c86fcb57c431b527a7f125a996857", + "version": "1.8", + "port-version": 5 + }, + { + "git-tree": "d49f0532a6e9776666ef3960a9b267f32ff3cfc4", + "version": "1.8", + "port-version": 4 + }, { "git-tree": "b48f4bf28923981e5a8ad549daa4dc8ee64dac83", "version-string": "1.8", diff --git a/versions/k-/kinectsdk2.json b/versions/k-/kinectsdk2.json index 0243bb1b496c7b..6e84e1c122ffba 100644 --- a/versions/k-/kinectsdk2.json +++ b/versions/k-/kinectsdk2.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "d794c2a74ee00c3ed932903f7d0587024fab247e", + "version": "2.0", + "port-version": 7 + }, + { + "git-tree": "e703f6797d85c9d99a150e4325c67bf7f3a7ea3f", + "version": "2.0", + "port-version": 6 + }, + { + "git-tree": "0de915e33cfe92b9972e0227eae6be31b6846fc5", + "version": "2.0", + "port-version": 5 + }, + { + "git-tree": "2fc9568898ab7f14edea8ffb65da87161c9c0b6c", + "version": "2.0", + "port-version": 4 + }, { "git-tree": "a0a13df11c972355370eef866bd266e2ae7c90d5", "version-string": "2.0", diff --git a/versions/k-/kissfft.json b/versions/k-/kissfft.json index 83643505536553..fc863e23cf52ab 100644 --- a/versions/k-/kissfft.json +++ b/versions/k-/kissfft.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "a0a9f47bf62471468dd9f73727f03e580fca14c4", + "version": "131.1.0", + "port-version": 0 + }, { "git-tree": "f55a890b3e3bf5068dfdcf921ceb36080a146d9d", "version-date": "2021-11-14", diff --git a/versions/k-/kissnet.json b/versions/k-/kissnet.json new file mode 100644 index 00000000000000..dfbe51d0557bf3 --- /dev/null +++ b/versions/k-/kissnet.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "5b6817dd2dbcae31aff112897806e515056c3481", + "version-date": "2024-01-20", + "port-version": 0 + }, + { + "git-tree": "8abd6a40d03e28a8c4f23c8eaaccff4e840ee800", + "version-date": "2023-02-04", + "port-version": 0 + }, + { + "git-tree": "a8b6b18919cd26da45a720b5fb0b22fcc0282180", + "version-date": "2022-10-18", + "port-version": 0 + } + ] +} diff --git a/versions/k-/knet.json b/versions/k-/knet.json index cb0f8496bc6c44..37388ca012e6e3 100644 --- a/versions/k-/knet.json +++ b/versions/k-/knet.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "76216c380a8db7e28debacd7faafce6be6c2d705", + "version": "1.1.0", + "port-version": 1 + }, { "git-tree": "6d45707ca4c853c0c0bcd076b98fab73c605d906", "version": "1.1.0", diff --git a/versions/k-/krabsetw.json b/versions/k-/krabsetw.json index 703e3ecf76d438..ebf9881b3cb7d6 100644 --- a/versions/k-/krabsetw.json +++ b/versions/k-/krabsetw.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "be73b46ea3a3a59a80d5c45870b495d6081a4ba5", + "version": "4.3.2", + "port-version": 0 + }, + { + "git-tree": "131b7ae7482a9c9eedcd0c819265d3ab39b0d4c5", + "version": "4.3.1", + "port-version": 0 + }, + { + "git-tree": "b1f3fa7092c3cb91e5891fcf8f0923dd1f604887", + "version": "4.1.18", + "port-version": 1 + }, { "git-tree": "eafa1dce01b80f2483c3dd6b74b17b4d5b8bb215", "version-string": "4.1.18", diff --git a/versions/k-/krb5.json b/versions/k-/krb5.json new file mode 100644 index 00000000000000..7845f469a4c77a --- /dev/null +++ b/versions/k-/krb5.json @@ -0,0 +1,39 @@ +{ + "versions": [ + { + "git-tree": "def378059ffb932bf5f4ff18235b2d136893090e", + "version": "1.21.3", + "port-version": 1 + }, + { + "git-tree": "657a5de48ad7f70915fb10cbfc93aec06a4b2018", + "version": "1.21.3", + "port-version": 0 + }, + { + "git-tree": "deb0f92c503d39f2c011c3d27ce58066ebea3ba9", + "version": "1.21.2", + "port-version": 4 + }, + { + "git-tree": "9a1fcab10fa739ff109f086e7e24b689294e3edc", + "version": "1.21.2", + "port-version": 3 + }, + { + "git-tree": "6ab073c854c5580092585186e6a7fef808c91e6b", + "version": "1.21.2", + "port-version": 2 + }, + { + "git-tree": "ea9bd42d5123185ac2cc46bf6eb1db73990de124", + "version": "1.21.2", + "port-version": 1 + }, + { + "git-tree": "287bac02bb53283b043688050edd9d02e0b039c7", + "version": "1.21.2", + "port-version": 0 + } + ] +} diff --git a/versions/k-/ktx.json b/versions/k-/ktx.json index 21db2789d2a52d..5c2bb0fc3f3fcf 100644 --- a/versions/k-/ktx.json +++ b/versions/k-/ktx.json @@ -1,5 +1,70 @@ { "versions": [ + { + "git-tree": "103dd394fe394d610ffa362a59933168d6cc0a2b", + "version-semver": "4.3.2", + "port-version": 0 + }, + { + "git-tree": "665cd07792ee19ad6c1c2582a75c996ac93639c2", + "version-semver": "4.3.1", + "port-version": 1 + }, + { + "git-tree": "61e81d296c64a64fb9c8d217d763fd61bd012b2a", + "version-semver": "4.3.1", + "port-version": 0 + }, + { + "git-tree": "7db3fff00913b362bd7ac3c0a3611209f5d038df", + "version-semver": "4.3.0-beta1", + "port-version": 1 + }, + { + "git-tree": "e5d9ea81aabca83f512d64a46fd545d353552034", + "version-semver": "4.3.0-beta1", + "port-version": 0 + }, + { + "git-tree": "47559725520a0015829f65dfda7f3b28a7a7d78f", + "version-semver": "4.3.0-alpha3", + "port-version": 0 + }, + { + "git-tree": "74b3fa8f53d6a1d173c09c2f87f865125717d894", + "version-semver": "4.1.0", + "port-version": 0 + }, + { + "git-tree": "b347df16db358ecb56e49c982c9a48f732f5da2f", + "version-semver": "4.1.0-rc3", + "port-version": 1 + }, + { + "git-tree": "832cadbd81cd45323fcfa4b877299fc738e83606", + "version-semver": "4.1.0-rc3", + "port-version": 0 + }, + { + "git-tree": "e8a49dcd008235323faeb7a266a0b04a8487a11c", + "version-semver": "4.1.0-rc2", + "port-version": 0 + }, + { + "git-tree": "70ff7e521be27f851d96a9d69016fe3c58abe74d", + "version-semver": "4.1.0-rc1", + "port-version": 0 + }, + { + "git-tree": "048534e1a90a5e15ebf065ccfc752c9c5fea77c5", + "version": "4.0.0", + "port-version": 2 + }, + { + "git-tree": "2d554178c6665e285b8a480dabe83fcf72aa5514", + "version": "4.0.0", + "port-version": 1 + }, { "git-tree": "bb7f4de2ff7141cda0da61c7a0419559fc30c53a", "version": "4.0.0", diff --git a/versions/k-/kubazip.json b/versions/k-/kubazip.json index 1286e2b6ffc6fb..4b72a03b592eab 100644 --- a/versions/k-/kubazip.json +++ b/versions/k-/kubazip.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "a53b15054c06a67cd7ba9f19e54476893cddad72", + "version": "0.2.6", + "port-version": 0 + }, + { + "git-tree": "14bf9d5b15ecf5769d10e5000e74167e97b0ade1", + "version": "0.2.4", + "port-version": 0 + }, { "git-tree": "131416be9d3de3fccb254751a17cd78e1252b464", "version-string": "0.1.19", diff --git a/versions/k-/kubernetes.json b/versions/k-/kubernetes.json index 8ef4fa381b03f4..f6a412b85cc145 100644 --- a/versions/k-/kubernetes.json +++ b/versions/k-/kubernetes.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "9abf392af62dfcfb3020d675dfc6b37110127185", + "version": "0.6.0", + "port-version": 1 + }, + { + "git-tree": "9ee11f4f5a8f752faf3cade9ef2e563ca98f3e4a", + "version": "0.6.0", + "port-version": 0 + }, + { + "git-tree": "c6f9cc3e4fcf2a43e2dc3c41b9aa103b7cc1a54c", + "version-date": "2022-11-09", + "port-version": 0 + }, + { + "git-tree": "81d419c292d699e92444e7629e01b1d1cf0ba762", + "version-date": "2022-01-19", + "port-version": 1 + }, + { + "git-tree": "0f41209b8d9dd8477bf2bb9ea91234c3680f1ee5", + "version-date": "2022-01-19", + "port-version": 0 + }, + { + "git-tree": "df271a1aba7a2a955fc65e213e3a7c61a81e61b5", + "version-date": "2021-11-24", + "port-version": 0 + }, + { + "git-tree": "58621c0fcfc7ea0c0ecc7808991c1c90c3a0d808", + "version-date": "2021-11-18", + "port-version": 0 + }, { "git-tree": "d52624c3f3a26d3ad801cca6af68e7bd8273b29b", "version": "0.0.1", diff --git a/versions/k-/kuku.json b/versions/k-/kuku.json index f12b159a3b303b..7257778ae18295 100644 --- a/versions/k-/kuku.json +++ b/versions/k-/kuku.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "55d5b6509ad53b413c0f4bd71a15f71ab79d8c8b", + "version": "2.1.0", + "port-version": 0 + }, + { + "git-tree": "1a78898dbb7cbacda021768b5468af708035474b", + "version": "2.1", + "port-version": 3 + }, + { + "git-tree": "8d894f573635f4ccfa90ef38fa9b12ce90c27a7d", + "version": "2.1", + "port-version": 2 + }, { "git-tree": "fa4e0b6cf1ce1e5f0cd13fa2dba7953ddcfc3d6f", "version-string": "2.1", diff --git a/versions/k-/kvasir-mpl.json b/versions/k-/kvasir-mpl.json index 042536ad3322cf..191b23b1c8eca0 100644 --- a/versions/k-/kvasir-mpl.json +++ b/versions/k-/kvasir-mpl.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "4a0535a96e146cdd0412da4db03afc7c414581a2", + "version-date": "2019-08-06", + "port-version": 3 + }, + { + "git-tree": "5ff2749ed8f663ea06f6e3422e11192ac083d8cc", + "version-date": "2019-08-06", + "port-version": 2 + }, { "git-tree": "0eed1d5cd20c82b4cd2031f0fb21c2a5655b13d1", "version-string": "2019-08-06", diff --git a/versions/k-/kwsys.json b/versions/k-/kwsys.json index fd3fb9fa7a6304..a1db6c21180ace 100644 --- a/versions/k-/kwsys.json +++ b/versions/k-/kwsys.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "6e898afb7fa1cdf9f1d72b64467a04fded7b2082", + "version-date": "2021-08-06", + "port-version": 1 + }, { "git-tree": "376ae3a199ad4fdaad235b6e01b92ed217388550", "version-date": "2021-08-06", diff --git a/versions/l-/lager.json b/versions/l-/lager.json index 1fd9e7d2fb652c..92e09d29fc000f 100644 --- a/versions/l-/lager.json +++ b/versions/l-/lager.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "a1669f03cca9f55a2952772a25942fcad3ca3a33", + "version-date": "2023-03-19", + "port-version": 0 + }, + { + "git-tree": "8dd0744209e866c731522176fdcdf056fcbb853f", + "version-date": "2022-02-21", + "port-version": 0 + }, { "git-tree": "c65b1f179b9d6fe4048cf44f3186de7a0332742f", "version-date": "2021-06-17", diff --git a/versions/l-/lapack-reference.json b/versions/l-/lapack-reference.json index 99d6f8a7cf3d92..eb2ce010904cf8 100644 --- a/versions/l-/lapack-reference.json +++ b/versions/l-/lapack-reference.json @@ -1,5 +1,50 @@ { "versions": [ + { + "git-tree": "c6447c2a6f70504bfbf20f2e649bcc17a6ce67de", + "version": "3.11.0", + "port-version": 6 + }, + { + "git-tree": "27fda0472d5bfb11fef0264ba62681f6d6b4b1d2", + "version": "3.11.0", + "port-version": 5 + }, + { + "git-tree": "0036813fc0d0004d8a47ec3743ab9c9c37beaac2", + "version": "3.11.0", + "port-version": 4 + }, + { + "git-tree": "415dc49800a66d2b211f2d16326d0bdfa1b2e665", + "version": "3.11.0", + "port-version": 3 + }, + { + "git-tree": "34ccaaa835e90fc739829db6ea9b72c58151960e", + "version": "3.11.0", + "port-version": 2 + }, + { + "git-tree": "d71a74d50d88f3cf337d7cefccadcb192e7d12ab", + "version": "3.11.0", + "port-version": 1 + }, + { + "git-tree": "17a29c388c22fa340ab6c87b4df6ba6bad201de4", + "version": "3.11.0", + "port-version": 0 + }, + { + "git-tree": "44ad48321efe7014cd1dc7ab7b46516309e6c395", + "version": "3.10.1", + "port-version": 0 + }, + { + "git-tree": "14b5e3ab7315ce36951f759c6254712ed41cc0af", + "version": "3.10.0", + "port-version": 0 + }, { "git-tree": "10799c7ec42f8369179ba7a8e927235596cb8bb7", "version-semver": "3.8.0", diff --git a/versions/l-/lapack.json b/versions/l-/lapack.json index a4c33261715d60..7d38a406b845cb 100644 --- a/versions/l-/lapack.json +++ b/versions/l-/lapack.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "629522c4a52d924f0eeda0974bcf74c7d8f024fb", + "version-date": "2023-06-10", + "port-version": 2 + }, + { + "git-tree": "6a41c325a45d83ce6d5ee28d55a15d792ac228fa", + "version-date": "2023-06-10", + "port-version": 1 + }, + { + "git-tree": "aa3ae151bb1436d57dff18e7503fc19d58b45f51", + "version-date": "2023-06-10", + "port-version": 0 + }, + { + "git-tree": "7c892b58c70ebc7d83444c4e727272cad40e28c2", + "version-date": "2022-02-22", + "port-version": 2 + }, + { + "git-tree": "5897ee099a5aa43bcb50c0d5a19cda3a9ed6a50c", + "version-date": "2022-02-22", + "port-version": 1 + }, + { + "git-tree": "3a9c5b51e3480db058719db223df981e0e679819", + "version-date": "2022-02-22", + "port-version": 0 + }, { "git-tree": "e52f9dc39357e3e7224273a21c0efaf275f15ae6", "version-string": "3", diff --git a/versions/l-/lastools.json b/versions/l-/lastools.json index e32dc9925c45f6..298abfb16626c0 100644 --- a/versions/l-/lastools.json +++ b/versions/l-/lastools.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "ef0c4018e358e6adb7835f43588e759537401811", + "version": "2.0.3", + "port-version": 0 + }, + { + "git-tree": "c8eec220c3958c88af0050876e69d8b7f5d3d945", + "version": "2.0.2+20230206", + "port-version": 1 + }, + { + "git-tree": "ba9574b3fd9117129064d6494b93c3587f2dcf3c", + "version": "2.0.2+20230206", + "port-version": 0 + }, { "git-tree": "6401b05621966caf0aaebc6a4dedb0c696c6c53f", "version-string": "2020-05-09", diff --git a/versions/l-/laszip.json b/versions/l-/laszip.json index 17df9cf1fbe019..f32ce753a9c325 100644 --- a/versions/l-/laszip.json +++ b/versions/l-/laszip.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "775e13e090dcbf53186bfce9ddaf3a9f62afdf66", + "version": "3.4.4", + "port-version": 0 + }, { "git-tree": "81b6a105440d08f2c29b044da3f0661e46ddb0a8", "version": "3.4.3", diff --git a/versions/l-/launch-darkly-server.json b/versions/l-/launch-darkly-server.json index df236e72947924..9eaad44e902abb 100644 --- a/versions/l-/launch-darkly-server.json +++ b/versions/l-/launch-darkly-server.json @@ -1,9 +1,28 @@ { "versions": [ + { + "git-tree": "f1cc29ee2a449604e38c80c1c864a3683b675e6c", + "version": "2.9.3" + }, + { + "git-tree": "cf4d27e890d7becddd87f89a3a0622199892ebd2", + "version": "2.8.6", + "port-version": 2 + }, + { + "git-tree": "d2e41e5748cc5b77167205b83be64003e979e637", + "version": "2.8.6", + "port-version": 1 + }, + { + "git-tree": "1d45ebf10971a96ca975c36630545acfbc37b64b", + "version": "2.8.6", + "port-version": 0 + }, { "git-tree": "79ea5536dae8c4031640373d54bdef7d0e746483", "version": "2.4.3", "port-version": 0 } ] -} \ No newline at end of file +} diff --git a/versions/l-/lazy-importer.json b/versions/l-/lazy-importer.json index 2885cce7a1e3be..bfb31e55115f53 100644 --- a/versions/l-/lazy-importer.json +++ b/versions/l-/lazy-importer.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "dc2b18f5f193267ac091e6495ea097e67d60d33b", + "version-date": "2023-08-03", + "port-version": 0 + }, + { + "git-tree": "ba952940f6531135428e3827d0610d3596b683cb", + "version-date": "2022-02-09", + "port-version": 0 + }, { "git-tree": "3dba7a5ee217d732847b9906ba01f8571733cc35", "version-date": "2021-10-23", diff --git a/versions/l-/lcm.json b/versions/l-/lcm.json index a0cb98da0626b5..7d1c87cb9b3f92 100644 --- a/versions/l-/lcm.json +++ b/versions/l-/lcm.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "b282016c7e5f1aacff821854e8fab52d64b4c970", + "version": "1.4.0", + "port-version": 6 + }, + { + "git-tree": "06163d8d06a5f6b22e76ed353743da7370d73602", + "version": "1.4.0", + "port-version": 5 + }, + { + "git-tree": "4277e71373ff869df31475afceb6b2e6881e4650", + "version": "1.4.0", + "port-version": 4 + }, + { + "git-tree": "0fda8029241e6ff01935878156cd1c9cd2f3fe68", + "version": "1.4.0", + "port-version": 3 + }, { "git-tree": "2094a87ea105e0b1d78db96519581cda97d527e2", "version": "1.4.0", diff --git a/versions/l-/lcms.json b/versions/l-/lcms.json index 02e5a2edae2bbd..53489bdfe89df6 100644 --- a/versions/l-/lcms.json +++ b/versions/l-/lcms.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "d5fb3c46f4b60d45e67444591a83d80c08100871", + "version": "2.14", + "port-version": 0 + }, + { + "git-tree": "220d2255b3f13ec7b0266393d65c674f5c060c2b", + "version": "2.12", + "port-version": 4 + }, + { + "git-tree": "5e1b890660ea5d2a869407a0714d4385e949b4d6", + "version": "2.12", + "port-version": 3 + }, { "git-tree": "27ea0f07f8132e37a1e265ee54216eb0abc185dd", "version": "2.12", diff --git a/versions/l-/leaf.json b/versions/l-/leaf.json index 13fd9940e56c2c..678f75d5486a43 100644 --- a/versions/l-/leaf.json +++ b/versions/l-/leaf.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "4fb10737acdbc570266b8e23e9b435869374a822", + "version": "0.2.2", + "port-version": 2 + }, { "git-tree": "276f8e1eb0a3ea4e0b0bd72dee0822660e6704f7", "version-string": "0.2.2", diff --git a/versions/l-/lemon-parser-generator.json b/versions/l-/lemon-parser-generator.json new file mode 100644 index 00000000000000..7b49ddd2def193 --- /dev/null +++ b/versions/l-/lemon-parser-generator.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "efe39fd9654d045490a62729cba3e44840b7dd6f", + "version": "3.39.3", + "port-version": 0 + } + ] +} diff --git a/versions/l-/lemon.json b/versions/l-/lemon.json index 04d37dbe20e4ad..5d4ca85d768f69 100644 --- a/versions/l-/lemon.json +++ b/versions/l-/lemon.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "23f3790faebba60c744722f27efd4c031eb7fe62", + "version": "0", + "port-version": 2 + }, { "git-tree": "20bb9fd243449f9c1376ae916567331839375a90", "version-string": "0", diff --git a/versions/l-/lensfun.json b/versions/l-/lensfun.json new file mode 100644 index 00000000000000..dc14f54dec39a3 --- /dev/null +++ b/versions/l-/lensfun.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "84eb6a4d2a0d8d670e0f54ec70bb4ad36cb004df", + "version": "0.3.4", + "port-version": 2 + }, + { + "git-tree": "a085269b70f184d8dbf07c595e37ce336bd79906", + "version": "0.3.4", + "port-version": 1 + }, + { + "git-tree": "1dd927cfac7033fe1aa1031d588ebe8295f7765c", + "version": "0.3.4", + "port-version": 0 + } + ] +} diff --git a/versions/l-/leptonica.json b/versions/l-/leptonica.json index 6e1143686b29a9..7f048bf1b6ca39 100644 --- a/versions/l-/leptonica.json +++ b/versions/l-/leptonica.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "99f96a421ac16fea60363be5488c10b19d6018d4", + "version": "1.84.1", + "port-version": 1 + }, + { + "git-tree": "a9c4f4bd6602bf8870169e982d345b686691ba58", + "version": "1.84.1", + "port-version": 0 + }, + { + "git-tree": "90d009f9febb130cbecc48c89cdc309563f85621", + "version": "1.83.1", + "port-version": 0 + }, + { + "git-tree": "d69fc1cdb4cfb42aa1b6e608418f313fbbb3f9ab", + "version": "1.82.0", + "port-version": 0 + }, + { + "git-tree": "677775654e1914afaf5791361e9de3fac4762edc", + "version": "1.81.1", + "port-version": 1 + }, { "git-tree": "215a8a32b41e1561998ac840c3c35404707186a2", "version": "1.81.1", diff --git a/versions/l-/lerc.json b/versions/l-/lerc.json index d414aab0e614f8..c7ea6f6938e60d 100644 --- a/versions/l-/lerc.json +++ b/versions/l-/lerc.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "6220867a42fbfbe091a676ac82582a9969788178", + "version": "4.0.4", + "port-version": 0 + }, + { + "git-tree": "dcd63e138165489f0c4c068cd98cd713c1174475", + "version": "4.0", + "port-version": 2 + }, + { + "git-tree": "b7391a7d4c1b31d4fcd7160f305c7b9de9621ff2", + "version": "4.0", + "port-version": 1 + }, + { + "git-tree": "9fce90d3d96f4afb8ffcf1b2e7484ee75aa78ed2", + "version": "4.0", + "port-version": 0 + }, + { + "git-tree": "3037b9fd610059bc84e89607a3e58aa13641cdd8", + "version": "3.0", + "port-version": 0 + }, { "git-tree": "81c91f19fa142f53370b1a7ecac53fd2ba10aaf6", "version-string": "2.2", diff --git a/versions/l-/lest.json b/versions/l-/lest.json index 1eddbca5a65d5f..dfea8f33a017b4 100644 --- a/versions/l-/lest.json +++ b/versions/l-/lest.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "41e070a00a651ee2e3fa4d8e3a9fd426e3a27a8b", + "version": "1.35.2", + "port-version": 0 + }, + { + "git-tree": "0e79639edebf73ebe6a4243c00d9ab6370c07f07", + "version": "1.35.1", + "port-version": 3 + }, { "git-tree": "94a9fb0d9b6b57287a652feea7268760986bb448", "version-string": "1.35.1", diff --git a/versions/l-/level-zero.json b/versions/l-/level-zero.json new file mode 100644 index 00000000000000..f1368e330f9791 --- /dev/null +++ b/versions/l-/level-zero.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "363f712b8a62c1c35924352077138bf3469fa796", + "version": "1.17.45", + "port-version": 0 + }, + { + "git-tree": "ce4627310deb48fe8c5e30d69862c69039c31a98", + "version": "1.17.28", + "port-version": 0 + } + ] +} diff --git a/versions/l-/leveldb.json b/versions/l-/leveldb.json index b119457f96a2a5..94917e8cff9005 100644 --- a/versions/l-/leveldb.json +++ b/versions/l-/leveldb.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "893680e6d71d61d7bcf7c132c8a2263c0fa4c72a", + "version": "1.23", + "port-version": 0 + }, + { + "git-tree": "9eff4d1f18a28c13709e987d759a116a36a6a14a", + "version": "1.22", + "port-version": 7 + }, + { + "git-tree": "c7a1016e970ae104981e8a8fcc5069593bf716b3", + "version": "1.22", + "port-version": 6 + }, + { + "git-tree": "2ca11f66c6efa417b28755759b6c67670524f532", + "version": "1.22", + "port-version": 5 + }, + { + "git-tree": "c41d96d2e0f6f6301e2370bc00fa7390cdd94330", + "version-string": "1.22", + "port-version": 4 + }, + { + "git-tree": "55e42f74e1f541143900887a64661c8c8e4ea713", + "version-string": "1.22", + "port-version": 3 + }, { "git-tree": "d94e4685c15581a8e5740ee6061d8b608645fd31", "version-string": "1.22", diff --git a/versions/l-/levmar.json b/versions/l-/levmar.json index 78c1e74387764b..923a8ea4996601 100644 --- a/versions/l-/levmar.json +++ b/versions/l-/levmar.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "cba09ff1cf1b17d901bd60ff2505b31e98bc862e", + "version": "2.6", + "port-version": 3 + }, + { + "git-tree": "dbdc4f754e8573fdad2ce75cb1b476d828dad76e", + "version": "2.6", + "port-version": 2 + }, + { + "git-tree": "a869430352021a5fcecdd780a25e5ee0a4d769f5", + "version": "2.6", + "port-version": 1 + }, { "git-tree": "cbd0d2a467f781175f1900ca6857ddff74ab1cc5", "version-string": "2.6", diff --git a/versions/l-/lexbor.json b/versions/l-/lexbor.json new file mode 100644 index 00000000000000..1d99be98202bec --- /dev/null +++ b/versions/l-/lexbor.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "ae940a82ff44ebbeea58d1022e28ae1d1f853213", + "version": "2.3.0", + "port-version": 0 + }, + { + "git-tree": "f5c7890c5fb34ec0622b01dfdff10f11e8dccdbd", + "version": "2.2.0", + "port-version": 0 + } + ] +} diff --git a/versions/l-/lfreist-hwinfo.json b/versions/l-/lfreist-hwinfo.json new file mode 100644 index 00000000000000..abc891ebfa625d --- /dev/null +++ b/versions/l-/lfreist-hwinfo.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "061ae43971a6743618069deab568a608edb75570", + "version-date": "2024-09-01", + "port-version": 0 + } + ] +} diff --git a/versions/l-/lib3mf.json b/versions/l-/lib3mf.json new file mode 100644 index 00000000000000..cded492ea8ee7d --- /dev/null +++ b/versions/l-/lib3mf.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "5e21531033faf6ea4bb51803d3281947a840d0ef", + "version": "2.3.2", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libaaplus.json b/versions/l-/libaaplus.json index 4e7d376fbfe399..cc3fae04ad79bb 100644 --- a/versions/l-/libaaplus.json +++ b/versions/l-/libaaplus.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "2254865f7618bb8f116d18156b41d307d32b0a6d", + "version": "2.36", + "port-version": 1 + }, { "git-tree": "196f02649779e1a3b06c9d0c32b41082205c69b5", "version": "2.36", diff --git a/versions/l-/libadlmidi.json b/versions/l-/libadlmidi.json new file mode 100644 index 00000000000000..7e12fd2aeefcb5 --- /dev/null +++ b/versions/l-/libadlmidi.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "5cbc0a9338616c735a4cf4d8ccc2b4c81ccc61c5", + "version": "1.5.1", + "port-version": 1 + }, + { + "git-tree": "81e5c1700a6eab87c9d855b0a206ad6dadaf6ff2", + "version": "1.5.1", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libadwaita.json b/versions/l-/libadwaita.json new file mode 100644 index 00000000000000..e84bf7e5dcd31c --- /dev/null +++ b/versions/l-/libadwaita.json @@ -0,0 +1,24 @@ +{ + "versions": [ + { + "git-tree": "96910a2e41ab111c5bc26611f533a44dd760be35", + "version": "1.3.2", + "port-version": 2 + }, + { + "git-tree": "ed0c59fcd97bfea68ea94baf161a1c9e6d5c673d", + "version": "1.3.2", + "port-version": 1 + }, + { + "git-tree": "3c273bec50ed1314ccfb55bd957905df22c9ed61", + "version": "1.3.2", + "port-version": 0 + }, + { + "git-tree": "259b1d8ef5c02605235b773df4382e86ef0df01a", + "version": "1.2.0", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libaes-siv.json b/versions/l-/libaes-siv.json new file mode 100644 index 00000000000000..253c87361515f4 --- /dev/null +++ b/versions/l-/libaes-siv.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "ecae087c343539db9225d7a31c076e245925d30b", + "version-date": "2020-10-15", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libaiff.json b/versions/l-/libaiff.json index 0204fed5b4a549..db18870e5c1fd4 100644 --- a/versions/l-/libaiff.json +++ b/versions/l-/libaiff.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "9d32c6814dfaaf072180ad43068025fdc60713a9", + "version": "5.0", + "port-version": 9 + }, + { + "git-tree": "bb6134943648934661d3e2f2b9b5bd561cfe8822", + "version": "5.0", + "port-version": 8 + }, { "git-tree": "1bd67ed6002176c79933b7e4c237e06604e16b1d", "version-string": "5.0", diff --git a/versions/l-/libaio.json b/versions/l-/libaio.json new file mode 100644 index 00000000000000..b5c7753eb524b9 --- /dev/null +++ b/versions/l-/libaio.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "3a9b7f0cfa52b87c2fb6a8d666f76495745fa46c", + "version": "0.3.113", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libalkimia.json b/versions/l-/libalkimia.json new file mode 100644 index 00000000000000..7466aaa8747786 --- /dev/null +++ b/versions/l-/libalkimia.json @@ -0,0 +1,24 @@ +{ + "versions": [ + { + "git-tree": "ce16d689569ac3f63e5c46e9384f7e54d203bfe1", + "version": "8.1.72", + "port-version": 0 + }, + { + "git-tree": "7f9b0ce11bf52ea4e33323b2587234a6b40f7d94", + "version": "8.1.70", + "port-version": 2 + }, + { + "git-tree": "09e0633aca7ce1433e7cd6542404a12f90bf1de1", + "version": "8.1.70", + "port-version": 1 + }, + { + "git-tree": "6cf107a0e18ea3b0238500ece6257e212a6ddd2b", + "version": "8.1.70", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libao.json b/versions/l-/libao.json new file mode 100644 index 00000000000000..db12138fa36c46 --- /dev/null +++ b/versions/l-/libao.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "6c128d640fa4cb28b96cb398411bba846febdb5f", + "version": "1.2.2", + "port-version": 5 + }, + { + "git-tree": "11240d91b73e6a968da37b8053a8a64a6d9ea55f", + "version": "1.2.2", + "port-version": 4 + }, + { + "git-tree": "931d3ed363323bdc4de00c91165f3a09e23fb6b1", + "version": "1.2.2", + "port-version": 3 + } + ] +} diff --git a/versions/l-/libarchive.json b/versions/l-/libarchive.json index cd9e96f7632457..af80633eb3950b 100644 --- a/versions/l-/libarchive.json +++ b/versions/l-/libarchive.json @@ -1,5 +1,75 @@ { "versions": [ + { + "git-tree": "273f56c8b692d2fb25364dd5b117f22449578ffe", + "version": "3.7.7", + "port-version": 2 + }, + { + "git-tree": "b77dc1277af32b25c44e58cc233a034fa6659110", + "version": "3.7.7", + "port-version": 1 + }, + { + "git-tree": "7d00f1e4f90cc54f34e5868664bf6e876146a13b", + "version": "3.7.7", + "port-version": 0 + }, + { + "git-tree": "a94a1fd179074afb51ffee84b6245b592adea223", + "version": "3.7.6", + "port-version": 0 + }, + { + "git-tree": "94e99ffe461fa4f9d3a9e4aa6b1a7d44d0ed2231", + "version": "3.7.5", + "port-version": 0 + }, + { + "git-tree": "36d34d79f7e2c0be777031c76b964d362ded6d4e", + "version": "3.7.4", + "port-version": 0 + }, + { + "git-tree": "72eaf4987dd61116706a4279e7789f2a386a05cf", + "version": "3.7.2", + "port-version": 0 + }, + { + "git-tree": "693a99004af1e09acaf76026eaf23218b00c6661", + "version": "3.6.2", + "port-version": 0 + }, + { + "git-tree": "04f7f98c06361ff6b2d608e0885eab9bc4354ec6", + "version": "3.6.1", + "port-version": 2 + }, + { + "git-tree": "5b833f83c0eee161ec6fc6624c0b713dcfb207be", + "version": "3.6.1", + "port-version": 1 + }, + { + "git-tree": "84b70980f3d82a88b9f8628261efeefd4869755e", + "version": "3.6.1", + "port-version": 0 + }, + { + "git-tree": "aeb6f06729d407abcf56fa92b2fcff01c031035b", + "version-semver": "3.5.2", + "port-version": 5 + }, + { + "git-tree": "96ba668589b8400bcc1164b98fc5dcecf3af923e", + "version-semver": "3.5.2", + "port-version": 4 + }, + { + "git-tree": "2408bfca781ee9e5add6e674043e5f8ccca73a1b", + "version-semver": "3.5.2", + "port-version": 3 + }, { "git-tree": "d79d7deb863644fb2bd6570d17cfa88386fc4156", "version-semver": "3.5.2", @@ -31,7 +101,7 @@ "port-version": 6 }, { - "git-tree": "fe188805a906d5d853bc330253242c12029ae0de", + "git-tree": "a8318f61dfe300b1b980b2ecaf295bd626572ad4", "version-semver": "3.4.3", "port-version": 5 }, diff --git a/versions/l-/libass.json b/versions/l-/libass.json index ba862065635b4a..eafaf999cfaed6 100644 --- a/versions/l-/libass.json +++ b/versions/l-/libass.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "60862646e01f3236ca17745f3160af1dfaf11d8f", + "version": "0.17.3", + "port-version": 0 + }, + { + "git-tree": "bcd9cf73615537b028980c3f3b084fc5e3b6095a", + "version": "0.17.2", + "port-version": 0 + }, + { + "git-tree": "c71ba164ee51e31be931c03973fbeb756de7631e", + "version": "0.17.1", + "port-version": 0 + }, + { + "git-tree": "b5dfc84a884c525317deec9d8e62df51d64a8e3d", + "version": "0.16.0", + "port-version": 0 + }, { "git-tree": "358f5ebe2b07d2c3043f1397a7caa51fcf7ebdce", "version": "0.15.2", diff --git a/versions/l-/libassert.json b/versions/l-/libassert.json new file mode 100644 index 00000000000000..f5fa5729a5b1f4 --- /dev/null +++ b/versions/l-/libassert.json @@ -0,0 +1,54 @@ +{ + "versions": [ + { + "git-tree": "2855ae9be09c3d630a3f83d3f825b76c78e5478f", + "version": "2.1.2", + "port-version": 0 + }, + { + "git-tree": "e9c861c266c7d3f9aaa55db711cc1af2edd70a13", + "version": "2.1.1", + "port-version": 0 + }, + { + "git-tree": "4b3122476326a45c083379026cba551e09b6f779", + "version": "2.1.0", + "port-version": 0 + }, + { + "git-tree": "f7ee8d8f26290227bfe908a10c0a5bf6e4376dee", + "version": "2.0.2", + "port-version": 0 + }, + { + "git-tree": "aea452e5687071021efa2261fad44a533ec86928", + "version": "2.0.1", + "port-version": 0 + }, + { + "git-tree": "13ac309aa7d3056f9e42c5298157f0c6a1f4c164", + "version": "2.0.0", + "port-version": 0 + }, + { + "git-tree": "9cdcc4bae068fc3645319ee08faba34d533dfec8", + "version": "1.2.2", + "port-version": 2 + }, + { + "git-tree": "dfa096c003c1f98dbcdac5a67d924643bc12f994", + "version": "1.2.2", + "port-version": 1 + }, + { + "git-tree": "b67ed1f09482482afcb344d882f99fa6fa53caf4", + "version": "1.2.2", + "port-version": 0 + }, + { + "git-tree": "4e767d8be1af178c0ed841aa70839076e025aca0", + "version": "1.2.1", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libassuan.json b/versions/l-/libassuan.json index 92a790255d4303..5e6354fc52e142 100644 --- a/versions/l-/libassuan.json +++ b/versions/l-/libassuan.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "9f619f927aa36d89e928f02b815690fe87164ff9", + "version": "2.5.7", + "port-version": 0 + }, + { + "git-tree": "5eb84b4591e790d4fe81a7a5cd37ebd6e567d40e", + "version": "2.5.6", + "port-version": 0 + }, + { + "git-tree": "0072ae5afdd0e25564266077bd7600faf20d2770", + "version": "2.5.5", + "port-version": 0 + }, + { + "git-tree": "2d7ffbae178c6701fbe84afaa3f4656a210ca37b", + "version": "2.5.3", + "port-version": 5 + }, + { + "git-tree": "cf0ffd2dfbb239d338524fc0ea59311a869144c0", + "version": "2.5.3", + "port-version": 4 + }, + { + "git-tree": "4ff2ab79b12dcb656fa6286fdbfdff01b11b5b15", + "version": "2.5.3", + "port-version": 3 + }, { "git-tree": "4e6442db3e13636cd43910e945c5ab03656422dd", "version-string": "2.5.3", diff --git a/versions/l-/libatomic-ops.json b/versions/l-/libatomic-ops.json index 9103181269c3f7..5c72cb4191155f 100644 --- a/versions/l-/libatomic-ops.json +++ b/versions/l-/libatomic-ops.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "46231da262a01373e326ad31eeb8ac03cecbbeb3", + "version": "7.8.2", + "port-version": 0 + }, + { + "git-tree": "c4a1f1354f550bce6ae190b82bf984c3827937a3", + "version": "7.8.0", + "port-version": 0 + }, + { + "git-tree": "a0165283f0349283e2d14bd752fc428fb9fffd6b", + "version": "7.7.0", + "port-version": 1 + }, { "git-tree": "6d7b45bb0c10342d8e43900fab12f2baab4eb6a1", "version": "7.7.0", diff --git a/versions/l-/libavif.json b/versions/l-/libavif.json index a9442d829b47c6..975aa578ab7baf 100644 --- a/versions/l-/libavif.json +++ b/versions/l-/libavif.json @@ -1,5 +1,60 @@ { "versions": [ + { + "git-tree": "ad9d36286110339f45b585a1bbb330273c04edad", + "version-semver": "1.1.1", + "port-version": 0 + }, + { + "git-tree": "30218a66d9e44d06cd55a1e7d29e501ceeba42da", + "version-semver": "1.0.4", + "port-version": 2 + }, + { + "git-tree": "5464a231b3a83e3d8a076b339d93c5247d04b36b", + "version-semver": "1.0.4", + "port-version": 1 + }, + { + "git-tree": "c605ded0da0ce19d14810f9d5f6d430965facbbb", + "version-semver": "1.0.4", + "port-version": 0 + }, + { + "git-tree": "4532b7082f91c3b906444106b2fed0023178fad1", + "version-semver": "1.0.3", + "port-version": 0 + }, + { + "git-tree": "204b6c51e6d23a77e275b5ec370e15e1c9fccaf1", + "version-semver": "1.0.1", + "port-version": 0 + }, + { + "git-tree": "864c480bb39144c9905eb74976a59efd74224429", + "version-semver": "0.11.1", + "port-version": 2 + }, + { + "git-tree": "775b04db12d2353cc6e69d54faef89b857dd32eb", + "version-semver": "0.11.1", + "port-version": 1 + }, + { + "git-tree": "11db2c9c2c399768d55d5b54f203e1f789d06936", + "version-semver": "0.11.1", + "port-version": 0 + }, + { + "git-tree": "f2789410c80d4668a070e8eba96873a221615f3b", + "version-semver": "0.10.1", + "port-version": 0 + }, + { + "git-tree": "a160f6cf67dc99a095c98a9a7260b7a5fd110b7b", + "version-semver": "0.9.2", + "port-version": 1 + }, { "git-tree": "7e78225af6d76356499d029ed6cb0d55fa20629a", "version-semver": "0.9.2", diff --git a/versions/l-/libb2.json b/versions/l-/libb2.json index 084a1ee4c8bbee..b26edd252d9648 100644 --- a/versions/l-/libb2.json +++ b/versions/l-/libb2.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "7c113e12089453e4e2cf2bbf67ad1f0b80a133a8", + "version": "0.98.1", + "port-version": 6 + }, { "git-tree": "0419d2f293a094dc4cdca1111daea2a6425a137b", "version": "0.98.1", diff --git a/versions/l-/libbacktrace.json b/versions/l-/libbacktrace.json index 252be58df8d087..c66b1cfbda920a 100644 --- a/versions/l-/libbacktrace.json +++ b/versions/l-/libbacktrace.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "b3758864f5b04051a1db75cd9842a05f4afcdcb5", + "version-date": "2023-11-30", + "port-version": 1 + }, + { + "git-tree": "273bcea92baf4dde93589d50f1e131e96002c358", + "version-date": "2023-11-30", + "port-version": 0 + }, + { + "git-tree": "a9544b83bfa32d57ce62d9193a427a246b71f685", + "version-date": "2021-03-14", + "port-version": 1 + }, { "git-tree": "8772967fbaa6b8840266c0d04a6daccc78b44c3d", "version-date": "2021-03-14", diff --git a/versions/l-/libbf.json b/versions/l-/libbf.json index d338b8248d5d60..708156bd096e55 100644 --- a/versions/l-/libbf.json +++ b/versions/l-/libbf.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "741e60d3785dedb5bcb187e5e049bf97494e3822", + "version": "1.0.0", + "port-version": 4 + }, + { + "git-tree": "3c699adb88cb4cf15b0fb52cb9e506bc91672bf2", + "version": "1.0.0", + "port-version": 3 + }, { "git-tree": "b44ae45673f953a9aa87a1df8bdc04c6a4201aef", "version-string": "1.0.0", diff --git a/versions/l-/libbson.json b/versions/l-/libbson.json index 34edeaa0f555d8..2766d302bdddd2 100644 --- a/versions/l-/libbson.json +++ b/versions/l-/libbson.json @@ -1,5 +1,105 @@ { "versions": [ + { + "git-tree": "26a9d88eae332f1e4fa42bc3f85d81997214459a", + "version": "1.29.0", + "port-version": 0 + }, + { + "git-tree": "faf528e27ca98d05419b5a1b2638533148d19eb2", + "version": "1.28.1", + "port-version": 0 + }, + { + "git-tree": "0b2983865b35e8bd35f928264d1adca885e798a6", + "version": "1.28.0", + "port-version": 0 + }, + { + "git-tree": "2db60ebe98c69f4366f9cee1ce2226eac18f1eb4", + "version": "1.27.6", + "port-version": 0 + }, + { + "git-tree": "cb37e57fa41119692b20369706249bec51f0756d", + "version": "1.27.5", + "port-version": 0 + }, + { + "git-tree": "327298df35164620f2b462f82d05dfda37a14998", + "version": "1.27.4", + "port-version": 0 + }, + { + "git-tree": "6cb66f69440c4d5780dff700c44c5de9fdea1f40", + "version": "1.27.3", + "port-version": 0 + }, + { + "git-tree": "fd83243e3eedf200a2b093c86fc4c3f9bb640555", + "version": "1.27.2", + "port-version": 0 + }, + { + "git-tree": "9183756e6de3ce01d1a0003e3be83d2a4e87ef5a", + "version": "1.27.1", + "port-version": 0 + }, + { + "git-tree": "b6eca9fe6dd2ea79b7465c253d081f75ed779e95", + "version": "1.27.0", + "port-version": 0 + }, + { + "git-tree": "eb512263f9f4c415f70c080d8d42d809939af4a4", + "version": "1.26.2", + "port-version": 0 + }, + { + "git-tree": "a5e9407add76bf33b2aa98eafc4d1bad7173f2ba", + "version": "1.26.1", + "port-version": 0 + }, + { + "git-tree": "c96a39671be9a7428731693d6640a4ea568b71e5", + "version": "1.26.0", + "port-version": 0 + }, + { + "git-tree": "d14fb7001fd70dd80e15562bbe90a30060adef40", + "version": "1.25.4", + "port-version": 0 + }, + { + "git-tree": "0c4c352f8b6c44b8cb678e906b8f8431b54d2d27", + "version": "1.25.2", + "port-version": 0 + }, + { + "git-tree": "cefffe3ffeb41cff3720044ea92a8734c42dc31c", + "version": "1.25.1", + "port-version": 2 + }, + { + "git-tree": "4e2365e51faaf5bea56b3466e7c94342cb43a9e4", + "version": "1.25.1", + "port-version": 1 + }, + { + "git-tree": "9cc5cb4ec6ee37e4a07e65f6e8aee04f83f535ec", + "version": "1.25.1", + "port-version": 0 + }, + { + "git-tree": "3a3f08e9e91a77ee7b6b56f88d1e0013349c34e1", + "version": "1.24.3", + "port-version": 0 + }, + { + "git-tree": "c50f1bbb02e6ac4f6b6f928f4c931922017997d9", + "version": "1.22.2", + "port-version": 0 + }, { "git-tree": "6ad46cf0f2a10843d03cfd2e0388527561f9e2f0", "version": "1.17.6", diff --git a/versions/l-/libcaer.json b/versions/l-/libcaer.json new file mode 100644 index 00000000000000..8740283ca97c45 --- /dev/null +++ b/versions/l-/libcaer.json @@ -0,0 +1,49 @@ +{ + "versions": [ + { + "git-tree": "45485054e1276ff51ad1ec68a8c31de0ecf9d795", + "version": "3.3.15", + "port-version": 1 + }, + { + "git-tree": "f90f31425f85b3bb2544a34fc0b9247491ecbf2b", + "version": "3.3.15", + "port-version": 0 + }, + { + "git-tree": "52791fbed0e817d00944e3ad1f9ab76759f543f8", + "version-date": "2022-07-25", + "port-version": 4 + }, + { + "git-tree": "131181ae3b3608e511cf7db3c3091612b8af0e03", + "version-date": "2022-07-25", + "port-version": 3 + }, + { + "git-tree": "ccbe6ec937f8f140cd99fb3a88b7afcb65ad3389", + "version-date": "2022-07-25", + "port-version": 2 + }, + { + "git-tree": "bd2fc3b1a8232d4d15ab248ce77f379e825296a3", + "version-date": "2022-07-25", + "port-version": 1 + }, + { + "git-tree": "7b5ee918213a05dc43d5e7f3eb33b2961609c430", + "version-date": "2022-07-25", + "port-version": 0 + }, + { + "git-tree": "275713cf9dbdd13533fe379ad7f8c81fcf9a895c", + "version": "3.3.14", + "port-version": 1 + }, + { + "git-tree": "4dffda61ffebd9440265c6edde057d1af909cf5c", + "version": "3.3.14", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libcanberra.json b/versions/l-/libcanberra.json index 6a3eb68e9469d8..650976e022b9e8 100644 --- a/versions/l-/libcanberra.json +++ b/versions/l-/libcanberra.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "22130c2bd67b576a35d31bf27113f3ab96c48d05", + "version": "0.30", + "port-version": 4 + }, + { + "git-tree": "3b2ba637761d93c1a71e356c0249c54933655b09", + "version": "0.30", + "port-version": 3 + }, + { + "git-tree": "30f433bae08d825ed5c8050194b7dd6a3009bf9a", + "version": "0.30", + "port-version": 2 + }, { "git-tree": "18398f54e696bb43cf68dc7efc3e32304487057e", "version": "0.30", diff --git a/versions/l-/libcap.json b/versions/l-/libcap.json new file mode 100644 index 00000000000000..fcaffbf2611613 --- /dev/null +++ b/versions/l-/libcap.json @@ -0,0 +1,44 @@ +{ + "versions": [ + { + "git-tree": "624965e04fa91928fc26f8a061527d30ed58bf98", + "version": "2.71", + "port-version": 0 + }, + { + "git-tree": "c7a0cc03982a375c59205880aea11305d37464c0", + "version": "2.70", + "port-version": 0 + }, + { + "git-tree": "3e58d4ec062b5e83ea7c7f6baf42ebd726af6bc1", + "version": "2.69", + "port-version": 5 + }, + { + "git-tree": "f81a07cf694095f60c759c9a18adc57e94296a5f", + "version": "2.69", + "port-version": 4 + }, + { + "git-tree": "23bb9f2743e684bacba57b8cc8a931756f0e7447", + "version": "2.69", + "port-version": 3 + }, + { + "git-tree": "d699cd38c2cf76ab59628fc3437c381ccabd2383", + "version": "2.69", + "port-version": 2 + }, + { + "git-tree": "3f8091b1a094e5a0ab51652478289c040e98e7ca", + "version": "2.69", + "port-version": 1 + }, + { + "git-tree": "78c061106eac6df0a86b27df684998c780c70008", + "version": "2.69", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libcbor.json b/versions/l-/libcbor.json index 105e60aae4cbe5..d5317be535a883 100644 --- a/versions/l-/libcbor.json +++ b/versions/l-/libcbor.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "174f4426df788de4be355adbc98f12a7f71914e8", + "version": "0.11.0", + "port-version": 0 + }, + { + "git-tree": "434c0fd1a103f04179d26deb7f092a99484c1aa4", + "version": "0.10.2", + "port-version": 0 + }, + { + "git-tree": "5e881ce93b52a9b16f4c03e4bed79c661def7631", + "version": "0.9.0", + "port-version": 0 + }, { "git-tree": "02d970a2dac8b0abb941a5b445f7e14afc9c1e49", "version": "0.8.0", diff --git a/versions/l-/libcds.json b/versions/l-/libcds.json index fcdaa2d5cdf4f9..216c8e3e562a2f 100644 --- a/versions/l-/libcds.json +++ b/versions/l-/libcds.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "2c2c64b70b3c99a15ddef75323dd98b8b4d066bc", + "version": "2.3.3", + "port-version": 4 + }, + { + "git-tree": "a9e46c27d63e8b303be787baa7349f1b1fe09e17", + "version": "2.3.3", + "port-version": 3 + }, + { + "git-tree": "2030ee3d0c39352e9617f28fb14ed17c20b96741", + "version": "2.3.3", + "port-version": 2 + }, { "git-tree": "9c4f193efcb3e703332e10483b443570e1af5ae7", "version-string": "2.3.3", diff --git a/versions/l-/libcerf.json b/versions/l-/libcerf.json index 7a35564988a5ec..04ade16710c9a0 100644 --- a/versions/l-/libcerf.json +++ b/versions/l-/libcerf.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "f2f77d2b2c3bc81887b4a6a3f398acc42e4e59d0", + "version": "2.4", + "port-version": 0 + }, + { + "git-tree": "7d9138bfd878a5de79822e201b0e83649715121c", + "version": "1.13", + "port-version": 4 + }, + { + "git-tree": "1aed61567fd3da5dc36a9a5290262b389ab79fa5", + "version": "1.13", + "port-version": 3 + }, { "git-tree": "e4bb4a4b841e96215ccc856fa1b8acc56270a1e4", "version-string": "1.13", diff --git a/versions/l-/libcgroup.json b/versions/l-/libcgroup.json new file mode 100644 index 00000000000000..7c2f768317d0b0 --- /dev/null +++ b/versions/l-/libcgroup.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "c729cc038b705fdf523ff0ee17ae6d3cc9f08805", + "version": "3.1.0", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libconfig.json b/versions/l-/libconfig.json index 9ec9af593e9ecc..c140962e037476 100644 --- a/versions/l-/libconfig.json +++ b/versions/l-/libconfig.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "bb011bd374885434cf90d445526e42aca185c1e7", + "version": "1.7.3", + "port-version": 5 + }, + { + "git-tree": "378d40ce036cf220dfaedf27f625a28d6e72d3e9", + "version": "1.7.3", + "port-version": 4 + }, + { + "git-tree": "9056cd67b1885ed4721a931467fb7fd1eb5b4bf3", + "version": "1.7.3", + "port-version": 3 + }, + { + "git-tree": "cf6ab494ef19e4fb5bf1effcd86246cb758000af", + "version": "1.7.3", + "port-version": 2 + }, { "git-tree": "c9149e9c9d7a08455647bcadb1f178b7ee6ff3d2", "version-string": "1.7.3", diff --git a/versions/l-/libconfuse.json b/versions/l-/libconfuse.json index 5d810f7bdbdd98..2ab8998f5d51c1 100644 --- a/versions/l-/libconfuse.json +++ b/versions/l-/libconfuse.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "f6e1479c9870ee0be6ad0e196345ea28ef0875de", + "version": "3.3", + "port-version": 0 + }, + { + "git-tree": "395e64637b555a051b308e0e2e69b1bfd152b381", + "version-date": "2019-07-14", + "port-version": 4 + }, + { + "git-tree": "3de4b13956cc303338de0b311a0c35a72c2d0a22", + "version-string": "2019-07-14", + "port-version": 3 + }, { "git-tree": "0af146d2f574294e6d2da2492203ebd1ddf5e2eb", "version-string": "2019-07-14", diff --git a/versions/l-/libcopp.json b/versions/l-/libcopp.json index cbdc1024a2b137..69e8642a86f374 100644 --- a/versions/l-/libcopp.json +++ b/versions/l-/libcopp.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "e0eacb882e582301599a4cd6e9d06b4e435a1561", + "version": "2.2.0", + "port-version": 1 + }, + { + "git-tree": "45c928d0a5c7281930ae8f7cd424a939da766f1a", + "version": "2.2.0", + "port-version": 0 + }, + { + "git-tree": "9a5300e82b2e96e71c1357f2dbb4b7c311a18022", + "version": "2.1.4", + "port-version": 0 + }, + { + "git-tree": "7c8f92b9a9feb08ffcb8212368c74a56efe6c1c8", + "version": "2.1.2", + "port-version": 0 + }, + { + "git-tree": "51ec2fdf59199a7fb42a553aa5368175a58128c6", + "version-semver": "1.4.1", + "port-version": 3 + }, + { + "git-tree": "d2f995866846ccb6dd7ae147312e095c66f912db", + "version-semver": "1.4.1", + "port-version": 2 + }, + { + "git-tree": "214d2cff167ae0646312fd5d5f2eecca62a91e19", + "version-semver": "1.4.1", + "port-version": 1 + }, { "git-tree": "88846bda722ae7f10ec578f41c08a9cacf2ba7ba", "version-semver": "1.4.1", diff --git a/versions/l-/libcoro.json b/versions/l-/libcoro.json new file mode 100644 index 00000000000000..a2abb659468a92 --- /dev/null +++ b/versions/l-/libcoro.json @@ -0,0 +1,24 @@ +{ + "versions": [ + { + "git-tree": "1a4ef9823190cdf96e4461c1c9eb14d0129306cb", + "version": "0.12.1", + "port-version": 0 + }, + { + "git-tree": "b518fbd7c395e04a3a720c1aba78a3a9a94930e9", + "version": "0.11.1", + "port-version": 0 + }, + { + "git-tree": "da37665bbdb4cdb391d48037308acb4db271aacf", + "version": "0.10", + "port-version": 0 + }, + { + "git-tree": "36f9c61aa64e8be9670199b9efad6cec4e83b805", + "version": "0.9", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libcorrect.json b/versions/l-/libcorrect.json new file mode 100644 index 00000000000000..6d40467d3716ec --- /dev/null +++ b/versions/l-/libcorrect.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "3f2ef3266828a1332359d747a80bb46da933c773", + "version-date": "2018-10-11", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libcpplocate.json b/versions/l-/libcpplocate.json new file mode 100644 index 00000000000000..ae128c72087af7 --- /dev/null +++ b/versions/l-/libcpplocate.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "5f15b69e558a8774ebbc5bde4f5ddf70da27611c", + "version-semver": "2.3.0", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libcrafter.json b/versions/l-/libcrafter.json index 54a6f19a85f313..098d07d841a542 100644 --- a/versions/l-/libcrafter.json +++ b/versions/l-/libcrafter.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "0ecb9324842496e1b30a3aec8dbda993e7881612", + "version": "1.0", + "port-version": 2 + }, + { + "git-tree": "f8fd06400911305144ebbecfd5f4ab627cf40743", + "version": "1.0", + "port-version": 1 + }, { "git-tree": "2d64cfcfa4f2d76c110499477112db136cca34ca", "version": "1.0", diff --git a/versions/l-/libcred.json b/versions/l-/libcred.json new file mode 100644 index 00000000000000..7cf82bcf9b041f --- /dev/null +++ b/versions/l-/libcred.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "fc969f90949113fa71a044b18b520590400ef352", + "version": "1.0.0", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libcroco.json b/versions/l-/libcroco.json index 8a70fca46f44ef..c7bb9762160677 100644 --- a/versions/l-/libcroco.json +++ b/versions/l-/libcroco.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "8ac93f8d5df2dbb6ea9743ce9bdc2b5e7b317057", + "version": "0.6.13", + "port-version": 7 + }, + { + "git-tree": "fb00cde342d5aad9f925f36c471d4e047a1dca23", + "version": "0.6.13", + "port-version": 6 + }, + { + "git-tree": "c6962c2f97aca37a74b56870cc7ff032605cfba2", + "version": "0.6.13", + "port-version": 5 + }, + { + "git-tree": "04dc173766f01e3ddad3bcd53c62ed56741ab3a8", + "version": "0.6.13", + "port-version": 4 + }, { "git-tree": "6235588ad9552c72690a152a0e4e108f0f7d1d64", "version": "0.6.13", diff --git a/versions/l-/libcsv.json b/versions/l-/libcsv.json new file mode 100644 index 00000000000000..a1d95cdbc7fbe6 --- /dev/null +++ b/versions/l-/libcsv.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "936ce0ff18976c35cec212d25fbcc143dafd7b6b", + "version": "3.0.3", + "port-version": 1 + }, + { + "git-tree": "05dbce143e6757c7df2df6813ac7d559b2d908a1", + "version": "3.0.3", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libcuckoo.json b/versions/l-/libcuckoo.json index 35c71d5b6f5b87..1983195ad9dece 100644 --- a/versions/l-/libcuckoo.json +++ b/versions/l-/libcuckoo.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "8c8390f186a348872f4f8caf773c6ce376cf4365", + "version": "0.3.1", + "port-version": 0 + }, { "git-tree": "47bda50b4e599d0dc81a015e175d1510de0ca62d", "version-string": "0.3", diff --git a/versions/l-/libcurl-simple-https.json b/versions/l-/libcurl-simple-https.json new file mode 100644 index 00000000000000..3c91befa83a63d --- /dev/null +++ b/versions/l-/libcurl-simple-https.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "6b22a1dafa22c05f8eed41236534a247a28c23d0", + "version-date": "2022-02-14", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libdatachannel.json b/versions/l-/libdatachannel.json index b5cd817fb9156d..7e27848a8f2baa 100644 --- a/versions/l-/libdatachannel.json +++ b/versions/l-/libdatachannel.json @@ -1,5 +1,120 @@ { "versions": [ + { + "git-tree": "df0663ab881ed7a331bf51b6bf652e80fc55dbf4", + "version-semver": "0.21.2", + "port-version": 1 + }, + { + "git-tree": "7ef5c0cdf31856f7b73f1498dd8055627608801c", + "version-semver": "0.21.2", + "port-version": 0 + }, + { + "git-tree": "f5218e93bae8971d509fd04910f9778004e58bce", + "version-semver": "0.21.1", + "port-version": 0 + }, + { + "git-tree": "5835077749c45fffa7e7c72c76586278d3a64241", + "version-semver": "0.20.3", + "port-version": 0 + }, + { + "git-tree": "74a0be59e4e852bb220e6e86cfa0dde836f0b449", + "version-semver": "0.20.1", + "port-version": 1 + }, + { + "git-tree": "b829fa3c4fbd6031bef6399df8747a9b51245cb6", + "version-semver": "0.20.1", + "port-version": 0 + }, + { + "git-tree": "73a4d8cba18306b14a98b1fb70d35bfa588ce386", + "version-semver": "0.19.5", + "port-version": 2 + }, + { + "git-tree": "2b2d69b30260c468757b11bea046e2dabcba0516", + "version-semver": "0.19.5", + "port-version": 1 + }, + { + "git-tree": "1a9fb42ed13d38aae4df0b774cde05e26dcea241", + "version-semver": "0.19.5", + "port-version": 0 + }, + { + "git-tree": "b3364c6dfb715277d483a8e0410a98fe84a65345", + "version-semver": "0.19.4", + "port-version": 1 + }, + { + "git-tree": "3e45715d7c64f9b22c87aff96594979f11e872a7", + "version-semver": "0.19.4", + "port-version": 0 + }, + { + "git-tree": "3552621ddd4919b86e0b0333bf6530cc1402ec6f", + "version-semver": "0.18.6", + "port-version": 2 + }, + { + "git-tree": "8b22ab8a6787704e52d3b715feb12e38522540ab", + "version-semver": "0.18.2", + "port-version": 2 + }, + { + "git-tree": "96f395b47c8ee56f6a268f3e1da86eb23a4ba0ea", + "version-semver": "0.18.2", + "port-version": 1 + }, + { + "git-tree": "9bbf4ea991fbad7ab746fc1ff8c0ce121260715f", + "version-semver": "0.18.2", + "port-version": 0 + }, + { + "git-tree": "02535851d5b9490ba71783812c78a20542762f0d", + "version-semver": "0.17.11", + "port-version": 0 + }, + { + "git-tree": "8a0b138705a4ef7e8b7117c8674d018bf281335f", + "version-semver": "0.17.10", + "port-version": 0 + }, + { + "git-tree": "91ca5987e29fac6963c6ee8d6c4f91ecb621dd81", + "version-semver": "0.17.9", + "port-version": 0 + }, + { + "git-tree": "0770e9b271c6d1eb630a403f754c2dd2ee93f1c6", + "version-semver": "0.17.8", + "port-version": 0 + }, + { + "git-tree": "9692159a4275af713e1525a9c81447fdd614869a", + "version-semver": "0.17.1", + "port-version": 0 + }, + { + "git-tree": "61f3e1e569991d144cb32b0f21c2b1e3baab78a2", + "version-semver": "0.16.4", + "port-version": 1 + }, + { + "git-tree": "a9f98aa660deca99a714ae3fc0e7a356c5d74cc8", + "version-semver": "0.16.4", + "port-version": 0 + }, + { + "git-tree": "d688c15b940166a1d8ecf701cafb7a060a7abd48", + "version-semver": "0.16.0", + "port-version": 0 + }, { "git-tree": "4ef71c270b3ea4205b878248ade5e50c03fd54b4", "version-semver": "0.15.1", diff --git a/versions/l-/libdatrie.json b/versions/l-/libdatrie.json index e67f74a58cc2d1..14fe14750843cd 100644 --- a/versions/l-/libdatrie.json +++ b/versions/l-/libdatrie.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "60d1568dadc94ddb1b894b33a8da7b20802a96e8", + "version": "0.2.13", + "port-version": 1 + }, + { + "git-tree": "f8e0374439550fd870ff280c0a3321c202b42929", + "version": "0.2.13", + "port-version": 0 + }, { "git-tree": "55aab3566cc2c82313f67f484a411b28f53da90b", "version-string": "0.2.10", diff --git a/versions/l-/libdc1394.json b/versions/l-/libdc1394.json new file mode 100644 index 00000000000000..da7dd26d680f79 --- /dev/null +++ b/versions/l-/libdc1394.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "00ec32891bdf597b09502d4f10187c5835898d45", + "version": "2.2.7", + "port-version": 0 + }, + { + "git-tree": "836d621852118c9ba8ce3e7ec8f3d8a2b9d9ea2b", + "version": "2.2.6", + "port-version": 1 + }, + { + "git-tree": "709fb395bf34f777acced25c12d6fd76d90f0100", + "version": "2.2.6", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libde265.json b/versions/l-/libde265.json index 0aa815cd351a09..3a969c6f27e134 100644 --- a/versions/l-/libde265.json +++ b/versions/l-/libde265.json @@ -1,5 +1,65 @@ { "versions": [ + { + "git-tree": "386663192fc988e45cc4c16378b3a5a0549a7366", + "version": "1.0.15", + "port-version": 0 + }, + { + "git-tree": "f66d0188266eee664296198145c0380a1557915d", + "version": "1.0.14", + "port-version": 0 + }, + { + "git-tree": "59b6113962afdbc8f5c2a06e21b1fdb59b4cf56f", + "version": "1.0.12", + "port-version": 0 + }, + { + "git-tree": "e24685d5b2c9686f77369463e32b307d03580059", + "version": "1.0.11", + "port-version": 2 + }, + { + "git-tree": "35f74e1100615e9ff16d6b05529baf8e7de774aa", + "version": "1.0.11", + "port-version": 1 + }, + { + "git-tree": "3c0c0eec97e9b7d9a46d6f1f5fb22c5b07aa5550", + "version": "1.0.11", + "port-version": 0 + }, + { + "git-tree": "bba9b6bf501c046f81f7335d1efff23ed0845ed4", + "version": "1.0.8", + "port-version": 7 + }, + { + "git-tree": "0f781eec5a444ba998fc1e8e3dd31172806005d3", + "version": "1.0.8", + "port-version": 6 + }, + { + "git-tree": "404108a20a6a0699d08f867b7da085ef3d91360b", + "version": "1.0.8", + "port-version": 5 + }, + { + "git-tree": "f69d985ecdaa897d5efd10422f739d450373e26d", + "version": "1.0.8", + "port-version": 4 + }, + { + "git-tree": "83f4bc2d067f213063ca93d6f1514d3f7278452c", + "version-string": "1.0.8", + "port-version": 3 + }, + { + "git-tree": "81ba07f30c6c2a068f8b9f017e437d0062920e4a", + "version-string": "1.0.8", + "port-version": 2 + }, { "git-tree": "e62a21fa7d1d31b6115cb99842ee2e0f54f2ff33", "version-string": "1.0.8", diff --git a/versions/l-/libdeflate.json b/versions/l-/libdeflate.json new file mode 100644 index 00000000000000..9d7adf5bc1d126 --- /dev/null +++ b/versions/l-/libdeflate.json @@ -0,0 +1,44 @@ +{ + "versions": [ + { + "git-tree": "db7abc03a06bc3b794ee65f4859a58bc6a441502", + "version": "1.22", + "port-version": 0 + }, + { + "git-tree": "f9ff3bada26cff48e11e2b2ffa89b948436f4b97", + "version": "1.21", + "port-version": 0 + }, + { + "git-tree": "3964afb8d5220a6fe2693f3cebdf85f83d3c0b1f", + "version": "1.20", + "port-version": 1 + }, + { + "git-tree": "021898704c19afd68d49fb56f26db8061e3c7957", + "version": "1.20", + "port-version": 0 + }, + { + "git-tree": "76f16e38faecc95d0dc0c1a4a2ac32a4983f4775", + "version": "1.19", + "port-version": 1 + }, + { + "git-tree": "60231c270c3eca938a64b43dfb0b66846787a464", + "version": "1.19", + "port-version": 0 + }, + { + "git-tree": "6a0df33e92ed3be5674c6c0a4fd63faff93dea9d", + "version": "1.18", + "port-version": 0 + }, + { + "git-tree": "023c8297e1d45d680194366783974818522294bd", + "version": "1.17", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libdisasm.json b/versions/l-/libdisasm.json index 5f2e114fde40ff..2aa1cb4499592d 100644 --- a/versions/l-/libdisasm.json +++ b/versions/l-/libdisasm.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "d98ead706d535c81198d0b4fd3a1744cd0e0a23e", + "version": "0.23", + "port-version": 11 + }, + { + "git-tree": "e6870682ac5d76671fbe396235d4667f5edf669b", + "version": "0.23", + "port-version": 10 + }, + { + "git-tree": "ab983230ac21cfc3d2849abfa70551755ffcb5f8", + "version-string": "0.23", + "port-version": 9 + }, { "git-tree": "a15a1eeb7daa3d47d553ba0b14a151462377c41f", "version-string": "0.23", diff --git a/versions/l-/libdivide.json b/versions/l-/libdivide.json index ac46b6fe3f5890..3723f7c7d38337 100644 --- a/versions/l-/libdivide.json +++ b/versions/l-/libdivide.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "ad57bd243a7411f834cb0dafae9f2b4ffa76c0a3", + "version": "5.1", + "port-version": 0 + }, + { + "git-tree": "c646f5a84a408b48ecdad13220a2186fa4b4e692", + "version": "5.0", + "port-version": 1 + }, { "git-tree": "b13f3b926e61d104e85e04bf192fabe29cd5f05e", "version": "5.0", diff --git a/versions/l-/libdjinterop.json b/versions/l-/libdjinterop.json index 324976efb84c43..6069afdd218d0b 100644 --- a/versions/l-/libdjinterop.json +++ b/versions/l-/libdjinterop.json @@ -1,5 +1,55 @@ { "versions": [ + { + "git-tree": "fda458a81fa4a8520df2baf8dcf5211f60669707", + "version": "0.22.1", + "port-version": 0 + }, + { + "git-tree": "c643a7969afe7b095d0c6e779adbe14b09ad39d0", + "version": "0.21.0", + "port-version": 0 + }, + { + "git-tree": "51bf8341270436bf73d01f98a72df0204ddbfeff", + "version": "0.20.3", + "port-version": 0 + }, + { + "git-tree": "252ec8543037090e737d713c9f101a2f70af3c9c", + "version": "0.20.2", + "port-version": 0 + }, + { + "git-tree": "2f886c676ab640fe3ab80c7caa4a1dce77d9400d", + "version": "0.20.1", + "port-version": 0 + }, + { + "git-tree": "33f7bc90315ef3a477504fcf9a9b42339bb963d5", + "version": "0.20.0", + "port-version": 0 + }, + { + "git-tree": "78aec7e730a45c7a576233e68ed1858d2e8a9cd7", + "version": "0.19.2", + "port-version": 0 + }, + { + "git-tree": "997b5a399c620329f5f77f2bff49ffc4413bc2c9", + "version": "0.19.1", + "port-version": 1 + }, + { + "git-tree": "ccc1b924f1e3c41f94f22f26ceec66c89f469f74", + "version": "0.19.1", + "port-version": 0 + }, + { + "git-tree": "07081634d12b7ede73b9921d461f55061410a6c7", + "version": "0.16.0", + "port-version": 1 + }, { "git-tree": "c1c63ff4c5483425a19992ddefa98a3c1e2fabf3", "version": "0.16.0", diff --git a/versions/l-/libdmx.json b/versions/l-/libdmx.json new file mode 100644 index 00000000000000..3d450a5a9f47c9 --- /dev/null +++ b/versions/l-/libdmx.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "b7ba8558e854fb3da477e6b2538b54931a5316ff", + "version": "1.1.5", + "port-version": 0 + }, + { + "git-tree": "732f7de5885d8a8897e9f8ad0c36c9f44479332c", + "version": "1.1.4", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libdshowcapture.json b/versions/l-/libdshowcapture.json index e7353417503445..7cb7815ef05413 100644 --- a/versions/l-/libdshowcapture.json +++ b/versions/l-/libdshowcapture.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "fc1b7753ef4b7e6fc6d6390bc86fe5186ca45a92", + "version": "0.6.0", + "port-version": 3 + }, { "git-tree": "3573e5e73ce2e61477815f452a5d2cd4a96ec0c7", "version-string": "0.6.0", diff --git a/versions/l-/libdvdcss.json b/versions/l-/libdvdcss.json new file mode 100644 index 00000000000000..3d6214cb12c926 --- /dev/null +++ b/versions/l-/libdvdcss.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "879280b3353aac493a996c9ed8da98699734d12d", + "version-semver": "1.4.3", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libdvdnav.json b/versions/l-/libdvdnav.json new file mode 100644 index 00000000000000..0db93b0daf932c --- /dev/null +++ b/versions/l-/libdvdnav.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "f485b361aac72478f3e46980db33aa01d2be99e4", + "version-semver": "6.1.1", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libdvdread.json b/versions/l-/libdvdread.json new file mode 100644 index 00000000000000..b1edaa26bc8655 --- /dev/null +++ b/versions/l-/libdvdread.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "6ffa5a51a9de24eab67fc6f620f05e03f5a21222", + "version-semver": "6.1.3", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libdwarf.json b/versions/l-/libdwarf.json new file mode 100644 index 00000000000000..a70f9a902dba23 --- /dev/null +++ b/versions/l-/libdwarf.json @@ -0,0 +1,29 @@ +{ + "versions": [ + { + "git-tree": "ff0cf59a7fe26e200483302657d4e878d2038d39", + "version": "0.11.0", + "port-version": 0 + }, + { + "git-tree": "3c240fc50426c022a9897c47f4ea3d3994aa8dde", + "version": "0.10.1", + "port-version": 0 + }, + { + "git-tree": "cf87101e4a1ebc4b0111154a856e7f28b1333189", + "version": "0.9.1", + "port-version": 1 + }, + { + "git-tree": "6159822bb45daaf469ba049ac34ab10bc78bc843", + "version": "0.9.1", + "port-version": 0 + }, + { + "git-tree": "8aa61f875f55fe903c05d51dc9ce4d0301e4ddbf", + "version": "0.8.0", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libe57.json b/versions/l-/libe57.json index e21d6930bf7c4d..4947e5a8b72a45 100644 --- a/versions/l-/libe57.json +++ b/versions/l-/libe57.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "d5a7a88a7e28608ff30f48533cec32ac07f6f7c2", + "version-semver": "1.1.332", + "port-version": 4 + }, + { + "git-tree": "ecdcbb16ecd99e8d8a25b7dde4b2b1f040c5c3ed", + "version-semver": "1.1.332", + "port-version": 3 + }, + { + "git-tree": "e53fb4c480d35feeeb67361182d4d630ac3834ca", + "version-semver": "1.1.332", + "port-version": 2 + }, + { + "git-tree": "e38a82bc97129e317606207d234101aefe7dcb17", + "version-semver": "1.1.332", + "port-version": 1 + }, { "git-tree": "ed9a20551a07f8dbcb637af8394653c326e95aac", "version-semver": "1.1.312", diff --git a/versions/l-/libe57format.json b/versions/l-/libe57format.json new file mode 100644 index 00000000000000..b537e07c7ae3c9 --- /dev/null +++ b/versions/l-/libe57format.json @@ -0,0 +1,39 @@ +{ + "versions": [ + { + "git-tree": "fb409510c8365dadc49053428c15e36163d204e2", + "version": "3.1.1", + "port-version": 0 + }, + { + "git-tree": "6fc957c8c7eef98a7d7ba0688057399fa8aa2537", + "version": "3.1.0", + "port-version": 0 + }, + { + "git-tree": "3974e65293fa5a2b211751a766336b7d9f916ace", + "version": "3.0.2", + "port-version": 0 + }, + { + "git-tree": "420f72aa03611d2e9c0418eaf2d442d2ae260cfd", + "version": "3.0.1", + "port-version": 0 + }, + { + "git-tree": "fc02f3676ee791122d4afca45f363564a293da8a", + "version": "3.0.0", + "port-version": 0 + }, + { + "git-tree": "f1c43acaa644678ab0a7023a4657235dd73b7860", + "version": "2.3.0", + "port-version": 0 + }, + { + "git-tree": "49edc5b7628b3ce80320347ed3284237b50ac162", + "version-string": "2.2.0", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libebur128.json b/versions/l-/libebur128.json index bc1c54e1e63e7a..b4af5e2806a41f 100644 --- a/versions/l-/libebur128.json +++ b/versions/l-/libebur128.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "97dd5a1812c03f1822d75e8fa10ade616c7d9f15", + "version": "1.2.6", + "port-version": 2 + }, + { + "git-tree": "640f92877a6bde91d968b0b0668767b714297f6c", + "version-string": "1.2.6", + "port-version": 1 + }, { "git-tree": "44bed370ef5fdac0e6ec38493f00bebcd7b4c63c", "version-string": "1.2.6", diff --git a/versions/l-/libedit.json b/versions/l-/libedit.json new file mode 100644 index 00000000000000..70448e3b27285c --- /dev/null +++ b/versions/l-/libedit.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "56b7b25793f17cac55a48c44958b26f6ca8440d5", + "version-date": "2024-08-08", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libenvpp.json b/versions/l-/libenvpp.json new file mode 100644 index 00000000000000..fc7e7d1b434edf --- /dev/null +++ b/versions/l-/libenvpp.json @@ -0,0 +1,24 @@ +{ + "versions": [ + { + "git-tree": "f075b99c80edc78c2715f09fd238188725c38871", + "version": "1.4.1", + "port-version": 0 + }, + { + "git-tree": "f962d07f14dc8c86cb927e566bb8dd58670f00c7", + "version": "1.4.0", + "port-version": 0 + }, + { + "git-tree": "5388e430f77d77307fe2d4358241e684886390bb", + "version": "1.3.0", + "port-version": 0 + }, + { + "git-tree": "8eb66698367b380452b1f693237d383381e2373e", + "version": "1.0.0", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libepoxy.json b/versions/l-/libepoxy.json index 7af49b945ea4cc..b004fce9a678e1 100644 --- a/versions/l-/libepoxy.json +++ b/versions/l-/libepoxy.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "df7389605ff392a312b77b633ca658167c14221a", + "version": "1.5.10", + "port-version": 2 + }, + { + "git-tree": "76a3ae8e21ad9736741ecc58522805647fdbb7b9", + "version": "1.5.10", + "port-version": 1 + }, + { + "git-tree": "85d5a7075e2450d79759e0a3ec618e9ebf07b0ea", + "version": "1.5.10", + "port-version": 0 + }, + { + "git-tree": "76fed10554d79f7163b7a0e6928fd03b37284989", + "version-semver": "1.5.9", + "port-version": 1 + }, { "git-tree": "6441c5ae7e331cdd952258f9806972ca7d173c8b", "version-semver": "1.5.9", diff --git a/versions/l-/liberasurecode.json b/versions/l-/liberasurecode.json new file mode 100644 index 00000000000000..e5f27b1de59ab3 --- /dev/null +++ b/versions/l-/liberasurecode.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "57e0bbc56526913edfab0fe3069feb8bb8715a72", + "version": "1.6.4", + "port-version": 0 + }, + { + "git-tree": "f5e09c1c29fa6e2cd2fc023031001372f27b635b", + "version": "1.6.3", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libev.json b/versions/l-/libev.json new file mode 100644 index 00000000000000..572361ea1c8e73 --- /dev/null +++ b/versions/l-/libev.json @@ -0,0 +1,24 @@ +{ + "versions": [ + { + "git-tree": "048b4e081061376e4e6fdcd18670669162f79c7a", + "version": "4.33", + "port-version": 3 + }, + { + "git-tree": "1287c21bdb7398762b3906c5daaab7b537bea188", + "version": "4.33", + "port-version": 2 + }, + { + "git-tree": "cfde981a39ab06f99274a246ccbb342b51efe55f", + "version": "4.33", + "port-version": 1 + }, + { + "git-tree": "8602cc86e0ede2c2f32fb03b1e2bfd0698331bf3", + "version": "4.33", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libevent.json b/versions/l-/libevent.json index 308325b018202a..47e1f822157a11 100644 --- a/versions/l-/libevent.json +++ b/versions/l-/libevent.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "fb70d948ca21973f4f8e403b0ec54053631a74e2", + "version": "2.1.12+20230128", + "port-version": 1 + }, + { + "git-tree": "2ac9c2c5c7aedb962fd3c546c601132a5dc32788", + "version": "2.1.12+20230128", + "port-version": 0 + }, + { + "git-tree": "49a66da074def8806e42235e6c64af567987498f", + "version": "2.1.12", + "port-version": 7 + }, + { + "git-tree": "c1fbaddea4a9b98b61cba0d785441115c161d24f", + "version": "2.1.12", + "port-version": 6 + }, + { + "git-tree": "4c3a73b8448f16fa69e497ef6f1df41a261a9b54", + "version": "2.1.12", + "port-version": 5 + }, { "git-tree": "0405b56180d4920314ae69183ed5184a6017f7a9", "version": "2.1.12", diff --git a/versions/l-/libeventheader-decode.json b/versions/l-/libeventheader-decode.json new file mode 100644 index 00000000000000..d615d9beef7e52 --- /dev/null +++ b/versions/l-/libeventheader-decode.json @@ -0,0 +1,34 @@ +{ + "versions": [ + { + "git-tree": "c09584c798815084e1889cb8d74627d4fc3d6e34", + "version": "1.4.0", + "port-version": 0 + }, + { + "git-tree": "30514fb5dce7aa046e1b71f658cc3cc10a0366ec", + "version": "1.3.3", + "port-version": 0 + }, + { + "git-tree": "857383da3bf1b1947838e23bb1a9066c31cb00da", + "version": "1.3.0", + "port-version": 0 + }, + { + "git-tree": "75e4da728961822b82de47fb036aeae025893fb6", + "version": "1.2.1", + "port-version": 0 + }, + { + "git-tree": "0e830f1815ed8de8c73a7e90841533854b54261c", + "version": "1.1.0", + "port-version": 0 + }, + { + "git-tree": "fd67531cc60d91c4d8b45da15cd7414b398b9cd7", + "version": "1.0.0", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libeventheader-tracepoint.json b/versions/l-/libeventheader-tracepoint.json new file mode 100644 index 00000000000000..b30d448b10c419 --- /dev/null +++ b/versions/l-/libeventheader-tracepoint.json @@ -0,0 +1,39 @@ +{ + "versions": [ + { + "git-tree": "573c10d322f63b1eca14f7f176b1f129b0375d0c", + "version": "1.4.0", + "port-version": 0 + }, + { + "git-tree": "d6fd027094b3930216990f5572f1de34531d4b05", + "version": "1.3.3", + "port-version": 0 + }, + { + "git-tree": "385d9d3fa27d1ff3d6f97b696d4463245ce630dc", + "version": "1.3.2", + "port-version": 0 + }, + { + "git-tree": "32f98983357ea758d5d4e9a7fd6ccd119fa5d598", + "version": "1.3.0", + "port-version": 0 + }, + { + "git-tree": "076106bc342a9e9253ced5bfd4e13ac16b360d20", + "version": "1.2.1", + "port-version": 0 + }, + { + "git-tree": "ba5030dde966e742b068efb77cab8f820f0ab7ea", + "version": "1.1.0", + "port-version": 0 + }, + { + "git-tree": "d8ba8b72bb5c6dde050b85f84e01efb6b36d535c", + "version": "1.0.0", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libevhtp.json b/versions/l-/libevhtp.json index a28699da2dccb8..384d6b72533d88 100644 --- a/versions/l-/libevhtp.json +++ b/versions/l-/libevhtp.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "21ee98ebfdc5d2b8992e13025b5d3ebdb8f91c0b", + "version": "1.2.18", + "port-version": 5 + }, + { + "git-tree": "9c59887d9051f4888af2a2ab5528e134ef9dce5a", + "version": "1.2.18", + "port-version": 4 + }, + { + "git-tree": "2180aafd93f4089a276e9a5de9fe2d28d8e0f88d", + "version": "1.2.18", + "port-version": 3 + }, { "git-tree": "c28b6abc864cbfff6270358471bf9e97fd063710", "version-string": "1.2.18", diff --git a/versions/l-/libexif.json b/versions/l-/libexif.json index 972e3bcf9889cc..95e2bf9ca5cc32 100644 --- a/versions/l-/libexif.json +++ b/versions/l-/libexif.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "f24b507dc606ff933aec00cf716c4ca27a48e13e", + "version": "0.6.24", + "port-version": 3 + }, + { + "git-tree": "de3b3a5ade33ccafbeb4a00cde07954717240eee", + "version": "0.6.24", + "port-version": 2 + }, + { + "git-tree": "40f7058e18a937bab35b7213595fc4eef5de7dec", + "version": "0.6.24", + "port-version": 1 + }, + { + "git-tree": "7194d724b7e14c0d3661153bc81f614a86276c6a", + "version": "0.6.24", + "port-version": 0 + }, + { + "git-tree": "cbe71aeb850791354309f2c953bf117ddc64f97a", + "version": "0.6.22", + "port-version": 2 + }, { "git-tree": "b068504fa067776d51b304e0c28e23532957c4b6", "version-string": "0.6.22", diff --git a/versions/l-/libfabric.json b/versions/l-/libfabric.json index dc53985c20459a..913c910632c407 100644 --- a/versions/l-/libfabric.json +++ b/versions/l-/libfabric.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "19c6e0eeaef3d31e6a2f722a99d418bc03275f1a", + "version-semver": "1.13.2", + "port-version": 2 + }, + { + "git-tree": "d0a766bd1f01a742dcc12e13bafd741b94d7a3c0", + "version-semver": "1.13.2", + "port-version": 1 + }, { "git-tree": "f2ab311b282b282a5b10a3b52938c08efcdd1fc2", "version-semver": "1.13.2", diff --git a/versions/l-/libffi.json b/versions/l-/libffi.json index 5454fe15be112d..625f03aad70a2c 100644 --- a/versions/l-/libffi.json +++ b/versions/l-/libffi.json @@ -1,5 +1,60 @@ { "versions": [ + { + "git-tree": "0ad381012102db5da196161ba7fc0a03a4dcb982", + "version": "3.4.6", + "port-version": 0 + }, + { + "git-tree": "982248d325407b09d26ad0d929f67fd0b873f984", + "version": "3.4.4", + "port-version": 6 + }, + { + "git-tree": "db85488447cfda7bcc5e08452d8581ac0295b4c9", + "version": "3.4.4", + "port-version": 5 + }, + { + "git-tree": "d189744d6e4f29ab0a2f88f3c75f01d0c3719618", + "version": "3.4.4", + "port-version": 4 + }, + { + "git-tree": "5229da2e57e35c0ab7d043b27c19a29355e0a2c2", + "version": "3.4.4", + "port-version": 3 + }, + { + "git-tree": "df29b345dbd3f713c6bad15ca3d5f19ec961d79f", + "version": "3.4.4", + "port-version": 2 + }, + { + "git-tree": "2422375e9ac93e01de0b511e1181000c340da613", + "version": "3.4.4", + "port-version": 1 + }, + { + "git-tree": "6552925531e923480b50d806c7d4538c1ff15481", + "version": "3.4.4", + "port-version": 0 + }, + { + "git-tree": "9d484f79a6c1e9cd25a8a4791af0c9a40fc26b51", + "version": "3.4.2", + "port-version": 6 + }, + { + "git-tree": "14f8b4d7dc645ea8f2ddfe77eeaaeef55f123cb5", + "version": "3.4.2", + "port-version": 5 + }, + { + "git-tree": "05f73f7c0bbd49045d312d90683a01405f5ffd83", + "version": "3.4.2", + "port-version": 4 + }, { "git-tree": "8fbd8bfde2d551ad1be625223a92997704469a8e", "version": "3.4.2", diff --git a/versions/l-/libfido2.json b/versions/l-/libfido2.json index df4a488ab372ad..bc85b522ad2a83 100644 --- a/versions/l-/libfido2.json +++ b/versions/l-/libfido2.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "e422fffa6ba8b16a5aff5176841f704048e5fbd1", + "version": "1.15.0", + "port-version": 0 + }, + { + "git-tree": "6cdf57908524a456c4736785582dc28f1484584b", + "version": "1.14.0", + "port-version": 0 + }, + { + "git-tree": "07a40273e987c2a14d48806018a61a06feb1f047", + "version": "1.13.0", + "port-version": 0 + }, + { + "git-tree": "ad26e81c6c119e160709c7e0ce7872d888ed5a57", + "version": "1.10.0", + "port-version": 1 + }, + { + "git-tree": "0d3dc297cbc4c116910b6cb793bc3b5a06834e00", + "version": "1.10.0", + "port-version": 0 + }, { "git-tree": "170a0bcbc2f58e140205858db504ecfe7ade1a9f", "version": "1.7.0", diff --git a/versions/l-/libflac.json b/versions/l-/libflac.json index 42a0867dc02cde..0a6a5e812834a6 100644 --- a/versions/l-/libflac.json +++ b/versions/l-/libflac.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "a92a3397dfb70e6eec94fab7b3665a1288d9f7bd", + "version": "1.4.3", + "port-version": 2 + }, + { + "git-tree": "8a05fdac2efaa1a739e13289a2bec7d6d32e84a3", + "version": "1.4.3", + "port-version": 1 + }, + { + "git-tree": "b03480bcc5f27cdc9a5f51fef012f880f1b0bf8d", + "version": "1.4.3", + "port-version": 0 + }, + { + "git-tree": "d5f68de2a2c015247322b369a6b94052135df51a", + "version": "1.4.2", + "port-version": 0 + }, + { + "git-tree": "6931704180602d16a54e15759cd6c04739d40699", + "version": "1.3.4", + "port-version": 1 + }, + { + "git-tree": "a3dff2074f8f7a8ac9d8e9c5e78d8cae8538f3ef", + "version": "1.3.4", + "port-version": 0 + }, + { + "git-tree": "040c261fb123656fc61f659e887a6db0fabc275e", + "version": "1.3.3", + "port-version": 7 + }, { "git-tree": "682527a63d829627895d16e12759a08c26687db7", "version-string": "1.3.3", diff --git a/versions/l-/libfontenc.json b/versions/l-/libfontenc.json new file mode 100644 index 00000000000000..a1bd50d67bf146 --- /dev/null +++ b/versions/l-/libfontenc.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "4201b994bdcfcf20458025d0fcfffe1f97d444dc", + "version": "1.1.4", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libfork.json b/versions/l-/libfork.json new file mode 100644 index 00000000000000..a70f93f036844d --- /dev/null +++ b/versions/l-/libfork.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "8c3e789dbb84c293f93d02356c7c889d7fc91a5e", + "version": "3.8.0", + "port-version": 0 + }, + { + "git-tree": "5217dcb7548a52356e0ead8c0c671fa4ee4efa41", + "version": "3.7.1", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libfreenect2.json b/versions/l-/libfreenect2.json index 51d96893507f44..5e459c46dd6779 100644 --- a/versions/l-/libfreenect2.json +++ b/versions/l-/libfreenect2.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "41b1ddb75208930631ff81c5a19a86c7f0308791", + "version": "0.2.1", + "port-version": 1 + }, + { + "git-tree": "bfa5e96443079122b324178a6ed421423067039a", + "version": "0.2.1", + "port-version": 0 + }, + { + "git-tree": "68766f591851bf3b1bf97eff04a69dcd894d712a", + "version": "0.2.0", + "port-version": 10 + }, + { + "git-tree": "33bfc70d84b528fa549f57401c884abda1073526", + "version": "0.2.0", + "port-version": 9 + }, + { + "git-tree": "ce8aefbc76e982371258202989111294d9a5221d", + "version": "0.2.0", + "port-version": 8 + }, { "git-tree": "cdedefe776984f442e8af70b0e0738d12d56fafa", "version-string": "0.2.0", diff --git a/versions/l-/libfs.json b/versions/l-/libfs.json new file mode 100644 index 00000000000000..fab726fd4501e4 --- /dev/null +++ b/versions/l-/libfs.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "a995cbd80fc7904508d36ccf3a46cdadc4f9ce38", + "version": "1.0.9", + "port-version": 0 + }, + { + "git-tree": "48390af67d3ade78652e3b646864aa96b7cde8c0", + "version": "1.0.8", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libftdi.json b/versions/l-/libftdi.json index e269393c734777..c22539bd17d82e 100644 --- a/versions/l-/libftdi.json +++ b/versions/l-/libftdi.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "add947883422e59d9fec0bbd2080ac8dc95b29d0", + "version": "0.20", + "port-version": 5 + }, + { + "git-tree": "8dbb6c205662e734acdf218146e78db6bd3795a1", + "version-string": "0.20", + "port-version": 4 + }, { "git-tree": "d9ba20048c2bbea3f1155e42faad0ab3b8a7e3f2", "version-string": "0.20", diff --git a/versions/l-/libftdi1.json b/versions/l-/libftdi1.json index 46c1a0bb5427e8..30471ede4d0ab8 100644 --- a/versions/l-/libftdi1.json +++ b/versions/l-/libftdi1.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "6142799716042c18d993c9624ca8675d32cf97df", + "version": "1.5", + "port-version": 5 + }, + { + "git-tree": "ef6feb3ad01d1d2483c5a369fd4e6bf3587ff52d", + "version": "1.5", + "port-version": 4 + }, + { + "git-tree": "bfed0e0f6e07e8ce7a94f47efbad9dde21f193c8", + "version": "1.5", + "port-version": 3 + }, { "git-tree": "412a93e6eef636e36b23774f3d132fe4df89d979", "version": "1.5", diff --git a/versions/l-/libfuse.json b/versions/l-/libfuse.json new file mode 100644 index 00000000000000..c3905c23649763 --- /dev/null +++ b/versions/l-/libfuse.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "587b231c6c0041d8dfb96e08c8b8686870d829e2", + "version": "3.16.2", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libgcrypt.json b/versions/l-/libgcrypt.json index 06e8a93b02863f..3e9265716b62e7 100644 --- a/versions/l-/libgcrypt.json +++ b/versions/l-/libgcrypt.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "fb85f5dab3e4cacb5da45cf352ca23a25d7c4d18", + "version": "1.10.2", + "port-version": 0 + }, + { + "git-tree": "47460b53b2ea4430d6b020f00d4a4557ef690427", + "version": "1.10.1", + "port-version": 1 + }, + { + "git-tree": "ba183f10b284405f9b4b50720d7583131a87d393", + "version": "1.10.1", + "port-version": 0 + }, + { + "git-tree": "8c0737adf68a0ada3ed976e4acf201b4cbeb9dfe", + "version": "1.9.4", + "port-version": 2 + }, + { + "git-tree": "e850fdb19fd41c8270ea52dfa3dbe346b23e25f5", + "version": "1.9.4", + "port-version": 1 + }, { "git-tree": "7b99b42dfc0f469a13d4e39d9802012b9a7e78d1", "version": "1.9.4", diff --git a/versions/l-/libgd.json b/versions/l-/libgd.json index 9b02569ba0327b..3698e86757f17f 100644 --- a/versions/l-/libgd.json +++ b/versions/l-/libgd.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "fe54d913be1ed8596c3ec94df2f5b66ce67a00a1", + "version-semver": "2.3.3", + "port-version": 3 + }, + { + "git-tree": "f08df1a1ddb937d5f782f9c84cdb375e6633dbdb", + "version-semver": "2.3.3", + "port-version": 2 + }, + { + "git-tree": "3198a57128bcffbbd79213ff2aa000c859483b68", + "version-semver": "2.3.3", + "port-version": 1 + }, + { + "git-tree": "2de4ed776a149cb13e64876f1f8d7e241e3291db", + "version-semver": "2.3.3", + "port-version": 0 + }, { "git-tree": "998c59c287a0d8a172944f46fbfce71c8967394f", "version-semver": "2.3.2", diff --git a/versions/l-/libgeotiff.json b/versions/l-/libgeotiff.json index a7ca72e9aa9a0c..53596695fc7c03 100644 --- a/versions/l-/libgeotiff.json +++ b/versions/l-/libgeotiff.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "160d4b272c93184c34fdb69402484ac856ad10f5", + "version": "1.7.3", + "port-version": 1 + }, + { + "git-tree": "81732afe3f1d4edfdcfc8c9163bdd7d23e3f8018", + "version": "1.7.3", + "port-version": 0 + }, + { + "git-tree": "f42371900964fce2757e37ad8d36ca2b7bd0dfd8", + "version": "1.7.1", + "port-version": 3 + }, + { + "git-tree": "2397fd7d09c89af1810821e9b4c47ec71e2748c5", + "version": "1.7.1", + "port-version": 2 + }, + { + "git-tree": "aa303b0481fcc35024bae8af620ab2271ca9b5b2", + "version": "1.7.1", + "port-version": 1 + }, + { + "git-tree": "5f9baab006dd2bd507b6b8f63d2226dc6ce97cd1", + "version": "1.7.1", + "port-version": 0 + }, + { + "git-tree": "91982f7018b13638993efc70c14bf0996105f0bc", + "version": "1.7.0", + "port-version": 1 + }, { "git-tree": "f68bbf7c0472548573a69d1e41801edb1179c028", "version": "1.7.0", diff --git a/versions/l-/libgig.json b/versions/l-/libgig.json new file mode 100644 index 00000000000000..2189053f1ddd0b --- /dev/null +++ b/versions/l-/libgig.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "0e6d75a1433a7c49812af830bee40c2cd54c71ee", + "version": "4.4.1", + "port-version": 0 + }, + { + "git-tree": "328bc5b2b64bc33badee7d282589b14d49aadb55", + "version": "4.3.0", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libgit2.json b/versions/l-/libgit2.json index a7276f58631281..915e045fffcacf 100644 --- a/versions/l-/libgit2.json +++ b/versions/l-/libgit2.json @@ -1,5 +1,45 @@ { "versions": [ + { + "git-tree": "83d6bb1f73f67956eebce5f63e024790b12c0f39", + "version-semver": "1.8.0", + "port-version": 0 + }, + { + "git-tree": "7a3e64338633f5a89dca3586094f3f156f5a0a42", + "version-semver": "1.6.4", + "port-version": 1 + }, + { + "git-tree": "e400f294d284f6a7ff3a19b2454c919873405f08", + "version-semver": "1.6.4", + "port-version": 0 + }, + { + "git-tree": "7c2173f86743e6e3c6759d5c781f236c08adbec4", + "version-semver": "1.4.2", + "port-version": 3 + }, + { + "git-tree": "d5c636f8eb77d7d68c2a4b41fcd7d68759fb9ad0", + "version-semver": "1.4.2", + "port-version": 2 + }, + { + "git-tree": "53a1a7485857995d3b4cc5a2b6eaa22d6c6b036c", + "version-semver": "1.4.2", + "port-version": 1 + }, + { + "git-tree": "e036ca61d2e12b110c920cadf92f0aa4f39cac9b", + "version-semver": "1.4.2", + "port-version": 0 + }, + { + "git-tree": "37f2b6e92b60481a4db74de9da17385706d7d2e9", + "version-semver": "1.3.0", + "port-version": 2 + }, { "git-tree": "608c02285dbac754d7b2a34e67f081879cdee38f", "version-semver": "1.3.0", diff --git a/versions/l-/libgme.json b/versions/l-/libgme.json new file mode 100644 index 00000000000000..3c2b9a2444113e --- /dev/null +++ b/versions/l-/libgme.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "2472a6f203e9ed53baddf37ab2c075a57254d68a", + "version": "0.6.3", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libgnutls.json b/versions/l-/libgnutls.json index fd09cc37043157..426577b8804e83 100644 --- a/versions/l-/libgnutls.json +++ b/versions/l-/libgnutls.json @@ -1,5 +1,50 @@ { "versions": [ + { + "git-tree": "ba7c9b755cc48b6ed880a9fc16a7c8d559a4894e", + "version": "3.8.7.1", + "port-version": 0 + }, + { + "git-tree": "d3b0c3c8e603b2cb67040ee657a859ac63dcce1a", + "version": "3.8.5", + "port-version": 1 + }, + { + "git-tree": "c3e31974234b23cde0cd18912c88c4bc9e05c2ef", + "version": "3.8.5", + "port-version": 0 + }, + { + "git-tree": "1f2317b82e7f26359ebabb66b377f064731ffe19", + "version": "3.8.3", + "port-version": 0 + }, + { + "git-tree": "cdcde91b6757c786647f9bfafef1e0f02591a859", + "version": "3.8.1", + "port-version": 1 + }, + { + "git-tree": "7818d88f0b76ec5775b8bc6269ebf22d9aea466d", + "version": "3.8.1", + "port-version": 0 + }, + { + "git-tree": "93d9f1a3a919257ac3d518297d3ef4d34b5f5e3e", + "version": "3.7.8", + "port-version": 0 + }, + { + "git-tree": "d91748a68628086b61f6da9afb2233a4d610dc4d", + "version": "3.6.16", + "port-version": 0 + }, + { + "git-tree": "f041c07b59c7ac2389ac1fd6d8a175466bb648b7", + "version": "3.6.15", + "port-version": 3 + }, { "git-tree": "c03a1c452fa39d1b6d884aa3ef12c0c98a11f0a3", "version": "3.6.15", diff --git a/versions/l-/libgo.json b/versions/l-/libgo.json index 0b0b0d40f2d1bb..7fa55e263630f3 100644 --- a/versions/l-/libgo.json +++ b/versions/l-/libgo.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "e7eea4022110bad013d460a23328cd2e82385bb1", + "version": "3.1", + "port-version": 5 + }, + { + "git-tree": "b50450a394cd5b4e882d353439c3dae6cc0564f2", + "version": "3.1", + "port-version": 4 + }, { "git-tree": "120510985335ea4bd1b8a91982d0f95842e43ba3", "version": "3.1", diff --git a/versions/l-/libgpg-error.json b/versions/l-/libgpg-error.json index 9d75dd02f4f995..e49bc861667fc0 100644 --- a/versions/l-/libgpg-error.json +++ b/versions/l-/libgpg-error.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "4375cd3cc867a96a2d8b5e99a425b9b3efb4f863", + "version": "1.47", + "port-version": 0 + }, + { + "git-tree": "29784b31b199a3d0c00583b6619f73b834e1b3ed", + "version": "1.46", + "port-version": 0 + }, + { + "git-tree": "728a8999d1083dc72eae0612669f0c34075a3f01", + "version": "1.42", + "port-version": 4 + }, + { + "git-tree": "1ced42ca6160e2283326366e1c1132fe50acfb97", + "version": "1.42", + "port-version": 3 + }, { "git-tree": "f6c78e927a70ff136576abd61f1125861824bfd2", "version": "1.42", diff --git a/versions/l-/libgpiod.json b/versions/l-/libgpiod.json new file mode 100644 index 00000000000000..9e345b3906568e --- /dev/null +++ b/versions/l-/libgpiod.json @@ -0,0 +1,49 @@ +{ + "versions": [ + { + "git-tree": "4bcd7f6d11b7fdc3d16390473c96ff8290049ac6", + "version": "2.1.3", + "port-version": 0 + }, + { + "git-tree": "995bfe35a0f8c636bd8e811a886d6802e91c3658", + "version": "2.1.2", + "port-version": 0 + }, + { + "git-tree": "713a85c4d9f0bd1ac4875689d6fde524ba416f33", + "version": "2.1", + "port-version": 0 + }, + { + "git-tree": "c470b2f0c5a31ebee904f7486e50b2adf0f8e8c2", + "version": "2.0.2", + "port-version": 1 + }, + { + "git-tree": "e78935fc408abcc2e62d8d1ca1831b0fd5510b7d", + "version": "2.0.2", + "port-version": 0 + }, + { + "git-tree": "d5fde793827568c4be74cb76793650e37e3e5354", + "version": "2.0.1", + "port-version": 0 + }, + { + "git-tree": "effc79de6dafb6ef6762bd2863a222c6090881e8", + "version": "1.6.3", + "port-version": 2 + }, + { + "git-tree": "014bb3350492c4259151f00b3419e2054f707401", + "version": "1.6.3", + "port-version": 1 + }, + { + "git-tree": "9a8b2a2d891f2435ff9ce3fbcea0bd870327bad0", + "version": "1.6.3", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libgpod.json b/versions/l-/libgpod.json index 09cdc08bd65a7f..04c205a2bb747e 100644 --- a/versions/l-/libgpod.json +++ b/versions/l-/libgpod.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "7006c4e3b96b2f99797857f8fee4496871940eff", + "version-date": "2019-08-29", + "port-version": 4 + }, { "git-tree": "5adfcf9af0bb6d32ba1d2f28df12216795406115", "version-date": "2019-08-29", diff --git a/versions/l-/libgta.json b/versions/l-/libgta.json index cf86d9ae5cae9e..7ce423a65b4f7c 100644 --- a/versions/l-/libgta.json +++ b/versions/l-/libgta.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "ad7c16c2d14fa0d5a68a29c2a1cf3708897578ca", + "version": "1.0.8", + "port-version": 5 + }, + { + "git-tree": "644750a061baad1274a079365e11001849aa901e", + "version-string": "1.0.8", + "port-version": 4 + }, { "git-tree": "18ddcdbec1183e609dbb8a76bddbadd4b3ee6d72", "version-string": "1.0.8", diff --git a/versions/l-/libguarded.json b/versions/l-/libguarded.json index 2e1bb5fe2b5edf..6d263f33591058 100644 --- a/versions/l-/libguarded.json +++ b/versions/l-/libguarded.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "626fd11ff4faf2724d17861ab93b4fa9bb002591", + "version": "1.4.1", + "port-version": 0 + }, + { + "git-tree": "139aa9fff34e4003d7dab0be9699501c91a6d8ad", + "version-date": "2019-08-27", + "port-version": 3 + }, { "git-tree": "f3bf2a0dfd157d2505e5e992ec7c1fdc6a301198", "version-string": "2019-08-27", diff --git a/versions/l-/libgwenhywfar.json b/versions/l-/libgwenhywfar.json index 1983969253d0ac..2bd0cd1d58c40e 100644 --- a/versions/l-/libgwenhywfar.json +++ b/versions/l-/libgwenhywfar.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "8b4376fdc006cc932f5bc581b32479ebd273b275", + "version-semver": "5.6.0", + "port-version": 5 + }, + { + "git-tree": "6402ae94301ce25a7f846286954d8847e1360871", + "version-semver": "5.6.0", + "port-version": 4 + }, + { + "git-tree": "82aafb480367645c4ef047b08b420a8926b1b24e", + "version-semver": "5.6.0", + "port-version": 3 + }, + { + "git-tree": "0aa4c84df4c2b05214574c2dbd524dfee2b694f8", + "version-semver": "5.6.0", + "port-version": 2 + }, + { + "git-tree": "279d1ba6d5ca2068bcd117050cb0f3c464b2cb8f", + "version-semver": "5.6.0", + "port-version": 1 + }, { "git-tree": "5be9e6060d67e8aad23d1de86effb0ce52605ec4", "version-semver": "5.6.0", diff --git a/versions/l-/libgxps.json b/versions/l-/libgxps.json index 05fc8f2dd22e3b..e960ea81775865 100644 --- a/versions/l-/libgxps.json +++ b/versions/l-/libgxps.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "0d7868dcc67d11cb79d70af08389d9e14506caa9", + "version": "0.3.2", + "port-version": 4 + }, + { + "git-tree": "4bd19a44fc8b5aeb7ab850a2ce231761cee0fc2e", + "version": "0.3.2", + "port-version": 3 + }, + { + "git-tree": "125d54e29f5fc30ff36b06a7aad569d5f6064289", + "version": "0.3.2", + "port-version": 2 + }, + { + "git-tree": "bc4e4576421dec679fb4a7c09497cbc13f99df00", + "version": "0.3.2", + "port-version": 1 + }, { "git-tree": "aa14ea859cee510d9c738fbdb5a1955531aabb87", "version": "0.3.2", diff --git a/versions/l-/libharu.json b/versions/l-/libharu.json index e08b48e1b6486b..337fb16b20c3a5 100644 --- a/versions/l-/libharu.json +++ b/versions/l-/libharu.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "b7b936e1377328e2f1421b8727762bebb302813f", + "version": "2.4.4", + "port-version": 1 + }, + { + "git-tree": "0acfe5296a4986caf51cea318361967f5d57e3ee", + "version": "2.4.4", + "port-version": 0 + }, + { + "git-tree": "0418db9cf0a5dac68fd54f5a6dfc384bbece1406", + "version": "2.4.3", + "port-version": 0 + }, + { + "git-tree": "7df48b846add8eaed23517704e6a130fe8dca2ec", + "version-semver": "2.4.2", + "port-version": 0 + }, + { + "git-tree": "7119cd9fe86c40e908ef4c65be267b35caf8d010", + "version-semver": "2.4.0-rc1", + "port-version": 0 + }, { "git-tree": "312f4b697d2f46818c218e270bd447cdeb76322c", "version-string": "2017-08-15", diff --git a/versions/l-/libhdfs3.json b/versions/l-/libhdfs3.json index 452e12406481f4..4c852c7b444a2e 100644 --- a/versions/l-/libhdfs3.json +++ b/versions/l-/libhdfs3.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "2a648636200d5c12c63989b73d7c19c79b4978b0", + "version-date": "2019-11-05", + "port-version": 6 + }, + { + "git-tree": "b7c6b5d79957e7f11f9cc7b0890275edd627606d", + "version-date": "2019-11-05", + "port-version": 5 + }, + { + "git-tree": "802dd2510f39b3d717606d2dfa047278e8772ff4", + "version-date": "2019-11-05", + "port-version": 4 + }, + { + "git-tree": "b672d2e93109f3909140f7315703ab2ea010d808", + "version-date": "2019-11-05", + "port-version": 3 + }, + { + "git-tree": "440244ba92f1f0b67d7246f707df2545f477f3f4", + "version-string": "2019-11-05", + "port-version": 2 + }, { "git-tree": "21db40c50744011ba13568f8e3a72dd97de84ea9", "version-string": "2019-11-05", diff --git a/versions/l-/libheif.json b/versions/l-/libheif.json index eb025a8a3d709e..fd97265f94d6b8 100644 --- a/versions/l-/libheif.json +++ b/versions/l-/libheif.json @@ -1,5 +1,105 @@ { "versions": [ + { + "git-tree": "71eb8d4a8f9e764ba9514dc621e05c361bcfbb59", + "version": "1.18.2", + "port-version": 0 + }, + { + "git-tree": "b359025d1bbdb502626c0b8c5918848ad0c901dc", + "version": "1.17.6", + "port-version": 2 + }, + { + "git-tree": "09b2045951b7521e2d597082009265a70427581d", + "version": "1.17.6", + "port-version": 1 + }, + { + "git-tree": "b5871a26f6e90560089b413fc136e7f0062885b8", + "version": "1.17.6", + "port-version": 0 + }, + { + "git-tree": "5eb0bdc7d44de9fae5e799b6f5a34121daf181f2", + "version": "1.17.5", + "port-version": 0 + }, + { + "git-tree": "c2055d6d66f9ba0a12257bc2fa852b3c9e234091", + "version": "1.17.3", + "port-version": 0 + }, + { + "git-tree": "32b640f029df01a4322b7d36d9405cf366c7811d", + "version": "1.17.1", + "port-version": 0 + }, + { + "git-tree": "bfddf765a3840434bd1306bc48193566642e9bef", + "version": "1.17.0", + "port-version": 0 + }, + { + "git-tree": "1874b1dd0f2756a3254c8eec416430b941af7b6e", + "version": "1.16.2", + "port-version": 0 + }, + { + "git-tree": "4ee9a2b84e8279ba555de6f0f5e3f93b93b98d5d", + "version": "1.16.1", + "port-version": 1 + }, + { + "git-tree": "30bfad0af10297606d1687eba9fabe7b5eda60e8", + "version": "1.16.1", + "port-version": 0 + }, + { + "git-tree": "e2b6e5599374567a1f1f61821adc8064fcfaaa0f", + "version": "1.15.1", + "port-version": 1 + }, + { + "git-tree": "b1cec44f5cafb35417b528d35cad601c3b1c6952", + "version": "1.15.1", + "port-version": 0 + }, + { + "git-tree": "fc12171b1b2824cdd6ea053a3057a7471a74657e", + "version": "1.14.2", + "port-version": 1 + }, + { + "git-tree": "8283de8e2ea762947ac56b69056ee48a620e78f1", + "version": "1.14.2", + "port-version": 0 + }, + { + "git-tree": "0876b38db237beed53c8edd6ebe83622a3771287", + "version": "1.13.0", + "port-version": 0 + }, + { + "git-tree": "f183481e325abb8be75988c2061260ebf60ad7d4", + "version": "1.12.0", + "port-version": 4 + }, + { + "git-tree": "9638a1f823a06ad68484b408f5640ac2204b5262", + "version": "1.12.0", + "port-version": 3 + }, + { + "git-tree": "73b2b4b29035aa22da5ccd0c4c46dbb6e5516424", + "version": "1.12.0", + "port-version": 2 + }, + { + "git-tree": "738b6fc8b77a7fa90cd5966358dc3be684a832c1", + "version": "1.12.0", + "port-version": 1 + }, { "git-tree": "7d62a94252d06f84e8011c02793458b43d9f5cd2", "version": "1.12.0", diff --git a/versions/l-/libhsplasma.json b/versions/l-/libhsplasma.json index 43e6b79a5bfedf..a652c41f88e5c6 100644 --- a/versions/l-/libhsplasma.json +++ b/versions/l-/libhsplasma.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "76d1885f3b8855729332ec228da966024994716c", + "version-date": "2024-03-07", + "port-version": 0 + }, + { + "git-tree": "445149c7279ad9aa32d1fb947b2d2c331de5fffa", + "version-date": "2023-05-08", + "port-version": 0 + }, + { + "git-tree": "23a51f404cad21bb38d5d663ff90af099ec63562", + "version-date": "2022-05-19", + "port-version": 1 + }, + { + "git-tree": "8b2f7f61711ccfb81d5d9a8b34e057494bd5f902", + "version-date": "2022-05-19", + "port-version": 0 + }, + { + "git-tree": "1e9aee8fff86881286f825d1efa9afd1d4f013c6", + "version-string": "2021.06.08", + "port-version": 1 + }, { "git-tree": "9ffbd25ec776fbae40999d98a50d927180b560b5", "version-string": "2021.06.08", diff --git a/versions/l-/libhv.json b/versions/l-/libhv.json index ad084ec2c57427..6a0b799457df84 100644 --- a/versions/l-/libhv.json +++ b/versions/l-/libhv.json @@ -1,5 +1,55 @@ { "versions": [ + { + "git-tree": "725b63240c4836c01f7e45f952b4e4b0dd0b3a62", + "version": "1.3.3", + "port-version": 0 + }, + { + "git-tree": "f76c5430e5899a88a85fa7366d046310882f9223", + "version": "1.3.2", + "port-version": 0 + }, + { + "git-tree": "3cccf7a4fde6f5c23138ac228d6d581dba11a76b", + "version": "1.3.1", + "port-version": 0 + }, + { + "git-tree": "13870ce60cbe4c1f12030a7d2319f9f08e860d03", + "version": "1.3.0", + "port-version": 1 + }, + { + "git-tree": "4a1197a59a8b7adec8ce11a66ece9d7f72cf0ee8", + "version": "1.3.0", + "port-version": 0 + }, + { + "git-tree": "e382c63e132653ac3e2062b4fa0d182242c4da3a", + "version": "1.2.6", + "port-version": 0 + }, + { + "git-tree": "3533f306ae38ad29c619656d006ae9536bfcdcb4", + "version": "1.2.4", + "port-version": 2 + }, + { + "git-tree": "b5953fb3634520fafd04507d0a7266e92c87a129", + "version": "1.2.4", + "port-version": 1 + }, + { + "git-tree": "9867c0ba3cb7de25db2dd22fdd5633de7faae440", + "version": "1.2.4", + "port-version": 0 + }, + { + "git-tree": "83c3744dfa329eb88671faee8c3839c1b5f3901e", + "version": "1.2.2", + "port-version": 1 + }, { "git-tree": "49dd8455e873417e8c6e336cdac63bc40cae8342", "version": "1.2.2", diff --git a/versions/l-/libhydrogen.json b/versions/l-/libhydrogen.json index 087518ac50b139..526ac477f2bf52 100644 --- a/versions/l-/libhydrogen.json +++ b/versions/l-/libhydrogen.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "08c53fcf5af4463927ee0880632e2e7e52c08f49", + "version-date": "2022-06-21", + "port-version": 0 + }, + { + "git-tree": "609fe75a9dbacc5dc5d3765cdaa1dd045eb89a13", + "version-date": "2021-12-02", + "port-version": 1 + }, + { + "git-tree": "d5de7dac51afd6d1575a5a74f6a562b2affc1717", + "version-date": "2021-12-02", + "port-version": 0 + }, { "git-tree": "9e4266b1fa81e86fcbf1968800e7df473b472fc1", "version-string": "2019-08-11", diff --git a/versions/l-/libical.json b/versions/l-/libical.json new file mode 100644 index 00000000000000..2b72d281cbda91 --- /dev/null +++ b/versions/l-/libical.json @@ -0,0 +1,39 @@ +{ + "versions": [ + { + "git-tree": "4ccfb365a99b0784a89dedeedc3d78d876606afe", + "version": "3.0.18", + "port-version": 0 + }, + { + "git-tree": "ef8cbea0185c5c9154f2ef0a38db78541f2e5769", + "version": "3.0.17", + "port-version": 0 + }, + { + "git-tree": "86f667b283c1e7d92dd68a3733d80d2e074db342", + "version": "3.0.16", + "port-version": 1 + }, + { + "git-tree": "1b43ddbc68adc33c4d442851a313d655840a7893", + "version": "3.0.16", + "port-version": 0 + }, + { + "git-tree": "ebb6d5999a0382ec8845da8fc473fa794a4f5aee", + "version": "3.0.15", + "port-version": 0 + }, + { + "git-tree": "409bb4044895d73c1af9720e1d77f8ef46eafb73", + "version": "3.0.11", + "port-version": 1 + }, + { + "git-tree": "f4ab3492c90b3d683702cacb90aaea839cfc3d8f", + "version": "3.0.11", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libice.json b/versions/l-/libice.json new file mode 100644 index 00000000000000..5f52050d4307c6 --- /dev/null +++ b/versions/l-/libice.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "6c69693bd283d8e6b8e9c1303f7cafbd0ecec572", + "version": "1.1.1", + "port-version": 0 + }, + { + "git-tree": "c19081b820dd8056dbb7bbb052ca0c3bcf628cd7", + "version": "1.0.10", + "port-version": 1 + }, + { + "git-tree": "95b91f0eb6ed362a133896484d1cc4fa5ee3b007", + "version": "1.0.10", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libiconv.json b/versions/l-/libiconv.json index 9423b2719d2fcf..fa1297f4221131 100644 --- a/versions/l-/libiconv.json +++ b/versions/l-/libiconv.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "6549f7452c383df31d471692b339f985d0000a88", + "version": "1.17", + "port-version": 4 + }, + { + "git-tree": "0d6e7ebdbfeca59f047e66f632d1d38c2659fc14", + "version": "1.17", + "port-version": 3 + }, + { + "git-tree": "6103c3aaaf279f20df4c758fd25d5954c8582cbd", + "version": "1.17", + "port-version": 2 + }, + { + "git-tree": "4226589d5d658f4d96df83f8539de54dc57a5996", + "version": "1.17", + "port-version": 1 + }, + { + "git-tree": "1f92b7d29ce3243d3d51e07686869eca63ece88a", + "version": "1.17", + "port-version": 0 + }, + { + "git-tree": "cc4f1edf5a444934d4a757420a6cd3fed596e1d5", + "version": "1.16", + "port-version": 13 + }, + { + "git-tree": "3942643a4d682982e61b60611394e4315dfc42a1", + "version": "1.16", + "port-version": 12 + }, { "git-tree": "f82980bff6c23bcccd043300679ebf8afa3e0a22", "version": "1.16", diff --git a/versions/l-/libics.json b/versions/l-/libics.json index dd0bcac49050ad..0c165c987a1081 100644 --- a/versions/l-/libics.json +++ b/versions/l-/libics.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "52843a6b1d983426e492b9046056e16df6f1f4bc", + "version": "1.6.8", + "port-version": 0 + }, + { + "git-tree": "dd79bb59a4716358360e475a7aaa3ec6a20c80e1", + "version": "1.6.6", + "port-version": 0 + }, { "git-tree": "aea77d2369ae831edee51b05bc8dcad585795990", "version": "1.6.5", diff --git a/versions/l-/libid3tag.json b/versions/l-/libid3tag.json new file mode 100644 index 00000000000000..ed1fec06e14acb --- /dev/null +++ b/versions/l-/libid3tag.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "a30c7af82d01be2c3bd973012681915cf394d464", + "version": "0.16.3", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libideviceactivation.json b/versions/l-/libideviceactivation.json index 8d33991d9cc59d..29d1637dd56e5d 100644 --- a/versions/l-/libideviceactivation.json +++ b/versions/l-/libideviceactivation.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "2926e108a78ecdd707c707720093af757292f800", + "version-date": "2023-05-01", + "port-version": 1 + }, + { + "git-tree": "5f8ea4177ba77bb2eb82284c8ee31504cb7dfbc7", + "version-date": "2023-05-01", + "port-version": 0 + }, { "git-tree": "5ff1d3dc1c70954efdb1b56ea38660c8e2817a68", "version": "1.3.17", diff --git a/versions/l-/libidn2.json b/versions/l-/libidn2.json index 47fb7c9c677a87..fa676786b80cf2 100644 --- a/versions/l-/libidn2.json +++ b/versions/l-/libidn2.json @@ -1,5 +1,45 @@ { "versions": [ + { + "git-tree": "a890ad8c5cfa0e4400e7227e85e7ee4e514f7e2b", + "version": "2.3.7", + "port-version": 1 + }, + { + "git-tree": "e259ea117cae1ad4f2cc28fe863cdafd6d812d40", + "version": "2.3.7", + "port-version": 0 + }, + { + "git-tree": "20e169744f242f67bc4b4dc310f5785d55dba58c", + "version": "2.3.4", + "port-version": 3 + }, + { + "git-tree": "4784d5f7f99d7ea1ebe6f1ef01943e402e7bfddf", + "version": "2.3.4", + "port-version": 2 + }, + { + "git-tree": "111b9ff4af9664333f73344385dfbbfa40d9bc20", + "version": "2.3.4", + "port-version": 1 + }, + { + "git-tree": "35fb9b986592d348551ac34f20353c8f3e4bd187", + "version": "2.3.4", + "port-version": 0 + }, + { + "git-tree": "639f3ae3abc9b7265de12b29bfefb49a683e0b53", + "version": "2.3.1", + "port-version": 0 + }, + { + "git-tree": "b1eb568bf3bdf3fdb6e04b69f62f0347f2dff2ed", + "version": "2.3.0", + "port-version": 5 + }, { "git-tree": "a73dca27190e239f6ff09db7124b885a23d732e4", "version": "2.3.0", diff --git a/versions/l-/libigl.json b/versions/l-/libigl.json index 6498ecd346afe4..fd2dd68279f7e3 100644 --- a/versions/l-/libigl.json +++ b/versions/l-/libigl.json @@ -1,5 +1,55 @@ { "versions": [ + { + "git-tree": "97c212824af2073c76a3437ffad728205eba3ce7", + "version": "2.5.0", + "port-version": 2 + }, + { + "git-tree": "ef3f6b72109e34fd02b28936fdc955e91044e089", + "version": "2.5.0", + "port-version": 1 + }, + { + "git-tree": "e9b48cd75312e9e77df2c2e7307b063d8737f4ba", + "version": "2.5.0", + "port-version": 0 + }, + { + "git-tree": "260c09078445cfce5ce800b1d3cfa47877f6f783", + "version": "2.4.0", + "port-version": 4 + }, + { + "git-tree": "4754633723fc5e93c13f54e405ce0b8662bb570b", + "version": "2.4.0", + "port-version": 3 + }, + { + "git-tree": "b1f7e5126f4bca6f7d6800bb8eb143d1640f8a80", + "version": "2.4.0", + "port-version": 2 + }, + { + "git-tree": "7a44d46fb03c0127710107883208300358ad960f", + "version": "2.4.0", + "port-version": 1 + }, + { + "git-tree": "f3426c36bc18bb524834ef9f4482964a3d980fb9", + "version": "2.4.0", + "port-version": 0 + }, + { + "git-tree": "3fbdb4cb097785d6b9814e4a4ec89f8530a51c1a", + "version": "2.3.0", + "port-version": 2 + }, + { + "git-tree": "b4de37a62b3d7349f427f26ad38b8fe1f386d09d", + "version": "2.3.0", + "port-version": 1 + }, { "git-tree": "6ddb181a509d6897a3e29b7a1a696af1db2e044f", "version": "2.3.0", diff --git a/versions/l-/libilbc.json b/versions/l-/libilbc.json index 03cd54d4b4242b..986350f449b9ab 100644 --- a/versions/l-/libilbc.json +++ b/versions/l-/libilbc.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "f12ae842a06b6f2d77a889d6279dc997bbd61d0b", + "version": "3.0.4", + "port-version": 0 + }, { "git-tree": "2c86ad893279ccf359e6ee1b22ff5e2e3a935a42", "version-string": "3.0.3", diff --git a/versions/l-/libimobiledevice-glue.json b/versions/l-/libimobiledevice-glue.json new file mode 100644 index 00000000000000..0002b1799f452c --- /dev/null +++ b/versions/l-/libimobiledevice-glue.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "8511a9380c2fc23a78609fd9aaf5a7dde1aef135", + "version-date": "2023-05-13", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libimobiledevice.json b/versions/l-/libimobiledevice.json index c249e19627911b..7704d200eb4561 100644 --- a/versions/l-/libimobiledevice.json +++ b/versions/l-/libimobiledevice.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "cdbf91c1b491bd8230042a4c90a3cb3a5baa2e2e", + "version-date": "2023-07-05", + "port-version": 1 + }, + { + "git-tree": "b7b8456460bdd58cd90cd74a468c6e16a2053f36", + "version-date": "2023-07-05", + "port-version": 0 + }, + { + "git-tree": "7b950fc1c05e12ac6349b88de19d2df84e9393a7", + "version": "1.3.17", + "port-version": 4 + }, + { + "git-tree": "c29103e4c8a3225f67bcfbc45b1eb128ab2c8939", + "version": "1.3.17", + "port-version": 3 + }, + { + "git-tree": "2945a66f7411d4b12ab5733be25abd5319a12718", + "version": "1.3.17", + "port-version": 2 + }, + { + "git-tree": "0f57daa63ba49e977a8e72eea7d3615cdda07648", + "version": "1.3.17", + "port-version": 1 + }, { "git-tree": "5bf3d6cdc93021dcc048d73d7153aebecd91c47e", "version": "1.3.17", diff --git a/versions/l-/libirecovery.json b/versions/l-/libirecovery.json index fae92d1fef979e..d831fbc0b4a0c7 100644 --- a/versions/l-/libirecovery.json +++ b/versions/l-/libirecovery.json @@ -1,5 +1,45 @@ { "versions": [ + { + "git-tree": "d47bd1d38f72799238f2d815b96b11bb11d9ea14", + "version-date": "2023-05-13", + "port-version": 2 + }, + { + "git-tree": "72b9637bc62e62eb478d09618545c419bf21ed48", + "version-date": "2023-05-13", + "port-version": 1 + }, + { + "git-tree": "0e9b8ce22a277344a7f29c62f38bf44458a129ba", + "version-date": "2023-05-13", + "port-version": 0 + }, + { + "git-tree": "d3d139450efc9411edc51dea49130dddf09a08d0", + "version": "1.0.25", + "port-version": 8 + }, + { + "git-tree": "bd02ed99ae380b71fb4bc55f98012c20e7d73bb8", + "version": "1.0.25", + "port-version": 7 + }, + { + "git-tree": "da471f398ce0264ef333dfbaaa521c79c51ab5f9", + "version": "1.0.25", + "port-version": 6 + }, + { + "git-tree": "586b5bd01468f7690094397c1b3f8fed0456d65e", + "version": "1.0.25", + "port-version": 5 + }, + { + "git-tree": "1396dbed8e08ee556ad00ce3a67ba0de7c7b6298", + "version-string": "1.0.25", + "port-version": 4 + }, { "git-tree": "8e5ca128c3c62e747f3cc4beaeb0f5d74b263403", "version-string": "1.0.25", diff --git a/versions/l-/libjpeg-turbo.json b/versions/l-/libjpeg-turbo.json index 5314666f427224..9a3e12a960fd96 100644 --- a/versions/l-/libjpeg-turbo.json +++ b/versions/l-/libjpeg-turbo.json @@ -1,5 +1,105 @@ { "versions": [ + { + "git-tree": "fbedc8ef954f9951c7d169c9bac3f9534b4b2c77", + "version": "3.0.4", + "port-version": 0 + }, + { + "git-tree": "191ba1685e900d722a9ddc0be6bdd939990f0984", + "version": "3.0.3", + "port-version": 1 + }, + { + "git-tree": "92dfeb0598eab9d20f4512111e795009a9bc7f00", + "version": "3.0.3", + "port-version": 0 + }, + { + "git-tree": "90819937ef59097a94e3a8dad79a2eb34b962827", + "version": "3.0.2", + "port-version": 1 + }, + { + "git-tree": "6d061c71a48ca2abff5cf471f77ef14d7222aa52", + "version": "3.0.2", + "port-version": 0 + }, + { + "git-tree": "481b08127d4002ba7441f144df259e03271e7592", + "version": "3.0.1", + "port-version": 0 + }, + { + "git-tree": "4510832adaa3f5f415a59d26f5520ca250a8ff77", + "version": "3.0.0", + "port-version": 2 + }, + { + "git-tree": "91d431c26902a8c0b21e7956caa136093b7d7d6b", + "version": "3.0.0", + "port-version": 1 + }, + { + "git-tree": "3cd08939c6dab1963ac5b309a4205b2f4534fb79", + "version": "3.0.0", + "port-version": 0 + }, + { + "git-tree": "a54bb2bec4dfc177249e2c10b31a665c249c660c", + "version": "2.1.5.1", + "port-version": 2 + }, + { + "git-tree": "2764640a1b2cc36636084470108de50f2b531085", + "version": "2.1.5.1", + "port-version": 1 + }, + { + "git-tree": "2b3b3fe0c258463586c0e421a2665ca1d2df9b4d", + "version": "2.1.5.1", + "port-version": 0 + }, + { + "git-tree": "8ddeeba46c059986db83de51ec72b4ff587f0dcc", + "version": "2.1.5", + "port-version": 0 + }, + { + "git-tree": "07c9848d16ee346b314e87e6c0d856bfb0745af9", + "version": "2.1.4", + "port-version": 0 + }, + { + "git-tree": "f3ab7c40b47aa03953467e7697d3eea7b60d624e", + "version": "2.1.3", + "port-version": 3 + }, + { + "git-tree": "dd9bb6eb0d4e28d2b3ef0d83b6b9ef736555621d", + "version": "2.1.3", + "port-version": 2 + }, + { + "git-tree": "7373af20f73237f0453fb02a1ba097e5f710d2f5", + "version": "2.1.3", + "port-version": 1 + }, + { + "git-tree": "987bbe2533672eff1aaf160f0f36c818a1f986ee", + "version": "2.1.3", + "port-version": 0 + }, + { + "git-tree": "b37f789a1bb562a1469e0c30cf195c641ab824a6", + "version": "2.1.2", + "port-version": 0 + }, + { + "git-tree": "1f10cf90b5807f4b4b98cc82786236002e85b9ac", + "version": "2.0.6", + "port-version": 3 + }, { "git-tree": "48423df98f8715a1f33c2abdfcfc0c0bf5cc5f92", "version": "2.0.6", diff --git a/versions/l-/libjuice.json b/versions/l-/libjuice.json index 78d57ea555b599..26f5f3d3761e49 100644 --- a/versions/l-/libjuice.json +++ b/versions/l-/libjuice.json @@ -1,5 +1,70 @@ { "versions": [ + { + "git-tree": "da160ff2e0cae0f099762e681e164969db091894", + "version": "1.5.4", + "port-version": 0 + }, + { + "git-tree": "af2772dfdd1fa67081aa49c250c0bbc9b7e94d3b", + "version": "1.5.2", + "port-version": 0 + }, + { + "git-tree": "ac2cd791b2bea7ccbe226e924b3c3e9493c784b5", + "version": "1.4.2", + "port-version": 0 + }, + { + "git-tree": "cec7d18be0750c35cd874ffa3a494a44f37e2aa9", + "version": "1.3.4", + "port-version": 1 + }, + { + "git-tree": "124bb0aff578c4ef748087f00e23f0b0e038c91d", + "version": "1.3.4", + "port-version": 0 + }, + { + "git-tree": "1ace25316c085db75ac26220e854bd83baa86294", + "version": "1.3.1", + "port-version": 0 + }, + { + "git-tree": "f93f38276ee4097f4b4e85f58b14aaa7e0cda3d4", + "version": "1.0.6", + "port-version": 0 + }, + { + "git-tree": "6e2a1fe37401f748f1437cee446e6b7e924de95d", + "version": "1.0.4", + "port-version": 0 + }, + { + "git-tree": "14dfa625a6a7c50182396dca9eae0ec9a38c01ab", + "version": "1.0.3", + "port-version": 0 + }, + { + "git-tree": "0d17a1b43666a1d6a177ed4a0d434f92e16ea791", + "version": "1.0.2", + "port-version": 0 + }, + { + "git-tree": "02ea9a1ae4e054d9474f801747e5edd17a3d8ad1", + "version": "1.0.0", + "port-version": 0 + }, + { + "git-tree": "62c215b49c59158589a9bc98d02b20243ef1bf0b", + "version": "0.9.8", + "port-version": 0 + }, + { + "git-tree": "f544d762be0d7f9016b47f865843d0e575535166", + "version": "0.9.6", + "port-version": 0 + }, { "git-tree": "564ac624cbbabb45356d592264c090a0e6f64669", "version": "0.9.1", diff --git a/versions/l-/libjxl.json b/versions/l-/libjxl.json index 33244587504bc4..73342e4a9294c5 100644 --- a/versions/l-/libjxl.json +++ b/versions/l-/libjxl.json @@ -1,5 +1,75 @@ { "versions": [ + { + "git-tree": "4b34b45d6f795bc96a17c6288365baa25bac6cfb", + "version-semver": "0.11.0", + "port-version": 0 + }, + { + "git-tree": "41e26aeaddac21391e72200277a3bcda04cd7072", + "version-semver": "0.10.2", + "port-version": 4 + }, + { + "git-tree": "d400085f5ae0a78f03ae828d6c51ea9882e80f76", + "version-semver": "0.10.2", + "port-version": 3 + }, + { + "git-tree": "3dc92cfa2158aa56d401920855db77bb200395bf", + "version-semver": "0.10.2", + "port-version": 2 + }, + { + "git-tree": "bbc18681ca0b5dafd7e10b4f8cda55d004b62e9a", + "version-semver": "0.10.2", + "port-version": 1 + }, + { + "git-tree": "4a0c70d1ff8967afd670855a24154ccb04321de1", + "version-semver": "0.10.2", + "port-version": 0 + }, + { + "git-tree": "dd6af6fdf8e082629d672d105607c51bc70b07c7", + "version-semver": "0.8.2", + "port-version": 2 + }, + { + "git-tree": "9e8bdc34b806242bb7ed7fbabdf75d4781b3f7b7", + "version-semver": "0.8.2", + "port-version": 1 + }, + { + "git-tree": "f97d35060ccfc751fc3729988cef203437c5a0dc", + "version-semver": "0.8.2", + "port-version": 0 + }, + { + "git-tree": "71f8a111c3c34f376f7b8031205dcec298ec0410", + "version-semver": "0.8.1", + "port-version": 0 + }, + { + "git-tree": "e2a279f3663c22d8d36ff1960729f8000535b063", + "version-semver": "0.8.0", + "port-version": 1 + }, + { + "git-tree": "ef11c9864441ebeee257d1baedf1d29d208087f5", + "version-semver": "0.8.0", + "port-version": 0 + }, + { + "git-tree": "1012fef90a25836b40b40275eb7e4ccde46d0521", + "version-semver": "0.7.0", + "port-version": 0 + }, + { + "git-tree": "ebfc043511f10c6dbe25a298b403b56ef9a57f87", + "version-semver": "0.6.1", + "port-version": 1 + }, { "git-tree": "4b89e4e9a92111a9733660afcecdfd59a6ee8d49", "version-semver": "0.6.1", diff --git a/versions/l-/libkeyfinder.json b/versions/l-/libkeyfinder.json index 04281ace1e201b..b92fbc2e52f3e0 100644 --- a/versions/l-/libkeyfinder.json +++ b/versions/l-/libkeyfinder.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "f79ab56bd1477c7d786ff89a242e0cc86d9e32c9", + "version": "2.2.8", + "port-version": 0 + }, + { + "git-tree": "fb2b9f8da5e789508d5ceb645907d8e4d73236ce", + "version": "2.2.6", + "port-version": 1 + }, + { + "git-tree": "567c6574c6e38d9a10b7e08951c4c3a0fc72e3cb", + "version": "2.2.6", + "port-version": 0 + }, { "git-tree": "f4b04b3607199759e373764303378ab76ef9c158", "version-string": "2.2.5", diff --git a/versions/l-/libkml.json b/versions/l-/libkml.json index 8b24a120d2d2bf..2819edd6067b06 100644 --- a/versions/l-/libkml.json +++ b/versions/l-/libkml.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "010ce552eaee999aaf220936eb3e46b5bb88a9fc", + "version": "1.3.0", + "port-version": 13 + }, + { + "git-tree": "84ea1bd884a5d5afee127b15e73ef5bb7ba638dc", + "version": "1.3.0", + "port-version": 12 + }, + { + "git-tree": "4969a3e81df3ef13b5e3f2f94e652311df8bbafe", + "version": "1.3.0", + "port-version": 11 + }, + { + "git-tree": "8e1c949e666db286674cb1af98edb4d23d7ec843", + "version": "1.3.0", + "port-version": 10 + }, + { + "git-tree": "9941e66029546372544fed13066e9a9756981dd3", + "version": "1.3.0", + "port-version": 9 + }, { "git-tree": "1ce9dd050baf9ae42da2bb0c6d0feae1241b6e01", "version-string": "1.3.0", diff --git a/versions/l-/liblas.json b/versions/l-/liblas.json index 547d1f6321b2c9..2b880b90d666e8 100644 --- a/versions/l-/liblas.json +++ b/versions/l-/liblas.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "8826214421f62064e90cedc20d62c70e338f9ba0", + "version": "1.8.1", + "port-version": 15 + }, + { + "git-tree": "96d1baf788089a2e886fc46cc5e10851df613374", + "version": "1.8.1", + "port-version": 14 + }, + { + "git-tree": "a72a32ce085b262e26bcadc55efd0159fdf00c4f", + "version": "1.8.1", + "port-version": 13 + }, + { + "git-tree": "c8f90c515041e9c2633daee8e536e8e5e9ce0170", + "version": "1.8.1", + "port-version": 12 + }, + { + "git-tree": "aff83be201bcfe7db23231cf8ab667541294c4a6", + "version": "1.8.1", + "port-version": 11 + }, + { + "git-tree": "59d85ba2350ba688af5aad5a538382fd7b2963e3", + "version": "1.8.1", + "port-version": 10 + }, { "git-tree": "9d89f6e4515fcd144d24a7e619ea2de26799a005", "version": "1.8.1", diff --git a/versions/l-/liblbfgs.json b/versions/l-/liblbfgs.json index e3c7174bb55b40..d562fe8f06f8ea 100644 --- a/versions/l-/liblbfgs.json +++ b/versions/l-/liblbfgs.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "cdf2ac29eb7e040dc4eefe6d623d5caa3b592de0", + "version": "1.10", + "port-version": 2 + }, { "git-tree": "f9251e490103e48e6ba9a01c6c61468381f0c8f1", "version-string": "1.10", diff --git a/versions/l-/libleidenalg.json b/versions/l-/libleidenalg.json new file mode 100644 index 00000000000000..ae5adadd55c410 --- /dev/null +++ b/versions/l-/libleidenalg.json @@ -0,0 +1,29 @@ +{ + "versions": [ + { + "git-tree": "823c09a7bf91a6c9da357016c0d4a919b519d625", + "version": "0.11.1", + "port-version": 0 + }, + { + "git-tree": "54e658de6b5148a82e4f7ef8e56e5d56db8deedb", + "version": "0.10.0", + "port-version": 1 + }, + { + "git-tree": "4c059e549496795874b93130451377bb09a78630", + "version": "0.10.0", + "port-version": 0 + }, + { + "git-tree": "9696d8a2ec996f80576288839bc059f5adf65eaa", + "version": "0.9.0", + "port-version": 1 + }, + { + "git-tree": "e3f8018154f86ae4ccf35801d996fc43ab445882", + "version": "0.9.0", + "port-version": 0 + } + ] +} diff --git a/versions/l-/liblemon.json b/versions/l-/liblemon.json index 054fcfe0c94ecd..55c66a4503c264 100644 --- a/versions/l-/liblemon.json +++ b/versions/l-/liblemon.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "2bf1f61e61e2ed7917a9ec102b564a6c68229d7b", + "version-date": "2019-06-13", + "port-version": 9 + }, + { + "git-tree": "6bdd7ed9804fee3e743082bb048916a213777a79", + "version-date": "2019-06-13", + "port-version": 8 + }, + { + "git-tree": "e7357874ce9b71f43cb1c298dbb1228ac9241a69", + "version-date": "2019-06-13", + "port-version": 7 + }, + { + "git-tree": "b51839207be0c83364a5fa07660067ea774cc814", + "version-date": "2019-06-13", + "port-version": 6 + }, + { + "git-tree": "bc35a6ae066974d006a1d3a50f2072acd6f4fcc5", + "version-date": "2019-06-13", + "port-version": 5 + }, + { + "git-tree": "49e74def611d3992ae671c2972eff648fe9437ed", + "version-string": "2019-06-13", + "port-version": 4 + }, { "git-tree": "b099f8cb08e44ae21fb5d019369cd4c598e305eb", "version-string": "2019-06-13", diff --git a/versions/l-/liblinear.json b/versions/l-/liblinear.json index bc5f622669df61..3c17116bb33f2a 100644 --- a/versions/l-/liblinear.json +++ b/versions/l-/liblinear.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "5b88b9d95a1e851e77dd3018ce305abdc529a5da", + "version": "243", + "port-version": 1 + }, { "git-tree": "1a1acaef662beb37406c20bf6293109025f8df1b", "version-string": "243", diff --git a/versions/l-/liblo.json b/versions/l-/liblo.json index 2088b8489c3550..2824c058618484 100644 --- a/versions/l-/liblo.json +++ b/versions/l-/liblo.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "3c3d7195f94c1afbd4a3be0b2360e1230b5cc301", + "version": "0.32", + "port-version": 0 + }, + { + "git-tree": "31c66c76504889c3dbcbea04424b8ea993e2c63a", + "version": "0.31", + "port-version": 4 + }, + { + "git-tree": "a70409d660234bfbc8c3cbeaff029d9e5f5b890c", + "version-string": "0.31", + "port-version": 3 + }, { "git-tree": "00837a43b20b0ccf863f3574b34714f8f7d3bd37", "version-string": "0.31", diff --git a/versions/l-/liblrc.json b/versions/l-/liblrc.json new file mode 100644 index 00000000000000..bca78ae4f702dd --- /dev/null +++ b/versions/l-/liblrc.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "e335abcee36904e503939a5636403e7f42affc25", + "version": "1.0.0", + "port-version": 0 + } + ] +} diff --git a/versions/l-/liblsl.json b/versions/l-/liblsl.json index d62780f239e024..4ad750d223dbf8 100644 --- a/versions/l-/liblsl.json +++ b/versions/l-/liblsl.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "bc1c3d9c2142ad970d88c0a79f680b31c8d674f9", + "version": "1.16.2", + "port-version": 0 + }, + { + "git-tree": "6849296814880dca06ffd923d7d5c8fc3e4f2a9c", + "version": "1.16.1", + "port-version": 1 + }, + { + "git-tree": "b0992324287a25dd60723ae90e8ff2e53d357cb6", + "version": "1.16.1", + "port-version": 0 + }, + { + "git-tree": "282fee909d2df5c818b0577a4c063c146376cef5", + "version": "1.16.0", + "port-version": 0 + }, { "git-tree": "451923eac66cd517eb01dbf297e207e0760c4414", "version-string": "1.14.0", diff --git a/versions/l-/liblsquic.json b/versions/l-/liblsquic.json new file mode 100644 index 00000000000000..3fe841a539100c --- /dev/null +++ b/versions/l-/liblsquic.json @@ -0,0 +1,29 @@ +{ + "versions": [ + { + "git-tree": "b53bed814e5b6c755b6b1a52fe4346e5d5fa6308", + "version": "3.3.2", + "port-version": 1 + }, + { + "git-tree": "0368e7d992fcf1272735695f405a56c9a7c35ff6", + "version": "3.3.2", + "port-version": 0 + }, + { + "git-tree": "9117a86afaed60857454ba0b5a5e684fc947ba56", + "version": "3.1.1", + "port-version": 2 + }, + { + "git-tree": "2a2383de53efd9458419db7bd82db49b342023da", + "version": "3.1.1", + "port-version": 1 + }, + { + "git-tree": "f6f4593aba81acc749f3223d0fd3987d5920b164", + "version": "3.1.1", + "port-version": 0 + } + ] +} diff --git a/versions/l-/liblzf.json b/versions/l-/liblzf.json new file mode 100644 index 00000000000000..ed3ddb891abe1d --- /dev/null +++ b/versions/l-/liblzf.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "0d228c25c072070365953245376aaed759a0ac95", + "version": "3.6", + "port-version": 1 + }, + { + "git-tree": "ae07234a575d7c2f86990091df5aa34b9405143a", + "version": "3.6", + "port-version": 0 + } + ] +} diff --git a/versions/l-/liblzma.json b/versions/l-/liblzma.json index aa67e4602e48fe..fc2db7b5fae1d9 100644 --- a/versions/l-/liblzma.json +++ b/versions/l-/liblzma.json @@ -1,5 +1,60 @@ { "versions": [ + { + "git-tree": "b5e5694620b41a4d668390e5d14fa2326e0afdc3", + "version": "5.6.3", + "port-version": 0 + }, + { + "git-tree": "5d13d80adafad99c23899a3f7b60b32c2dae1e43", + "version": "5.6.2", + "port-version": 0 + }, + { + "git-tree": "b362003b452b95b7fef8577175651a7e33940f7f", + "version": "5.6.0", + "port-version": 0 + }, + { + "git-tree": "f285b7c4ffa2cc065c7c6fec4b61006f7fa2714e", + "version": "5.4.4", + "port-version": 0 + }, + { + "git-tree": "3f97f6a0904a3add9c3273f8ab1993902d75d5ef", + "version": "5.4.3", + "port-version": 1 + }, + { + "git-tree": "ba357d6805e44b3df1ed4343801f1b61a5d63de0", + "version": "5.4.3", + "port-version": 0 + }, + { + "git-tree": "9a3ebbf75e1c3adb76d7e71717c1f03bb291036a", + "version-semver": "5.4.1", + "port-version": 1 + }, + { + "git-tree": "cb3a335e4a3b87257befc477154ee6901f3d7525", + "version-semver": "5.4.1", + "port-version": 0 + }, + { + "git-tree": "7f68b43357432668f87f545cf20d141f0ee2724b", + "version-semver": "5.4.0", + "port-version": 0 + }, + { + "git-tree": "96b6aac6211ad3fd3da29508a519c3cd5f09716d", + "version-semver": "5.2.5", + "port-version": 6 + }, + { + "git-tree": "18b7cbd0972b536a6bd4c0ef0f41dce9c3f047ac", + "version-semver": "5.2.5", + "port-version": 5 + }, { "git-tree": "273eaeff533f90bc42394cca9f1ea23ff6b49534", "version-semver": "5.2.5", diff --git a/versions/l-/libmad.json b/versions/l-/libmad.json index b05e2bd07a3c51..f604378424dbb3 100644 --- a/versions/l-/libmad.json +++ b/versions/l-/libmad.json @@ -1,5 +1,45 @@ { "versions": [ + { + "git-tree": "69c818a7eba6f5da1e09077064ee37a12887ecf0", + "version": "0.16.4", + "port-version": 3 + }, + { + "git-tree": "204aa1729bb363c40a79cbcdb3beab84fa4bd03e", + "version": "0.16.4", + "port-version": 2 + }, + { + "git-tree": "7016c2c6c5e65a6420a176aa97696897bb134c40", + "version": "0.16.4", + "port-version": 1 + }, + { + "git-tree": "ca6bd50225347461a9d72269c1b7d082a691f31d", + "version": "0.16.4", + "port-version": 0 + }, + { + "git-tree": "88e56333079029031e808b84c95ded6dd33a2bbd", + "version": "0.15.1", + "port-version": 13 + }, + { + "git-tree": "eaed142825775ca972204c5c2d7720043eef3c2b", + "version": "0.15.1", + "port-version": 12 + }, + { + "git-tree": "c4393712733ce1f3078a4ec0a042736e5862efa7", + "version": "0.15.1", + "port-version": 11 + }, + { + "git-tree": "ff3cd79e45546dc58e00a69696ae1f8b900e231a", + "version-string": "0.15.1", + "port-version": 10 + }, { "git-tree": "820bd670c6652cdb1b381f9c55390a261f11e842", "version-string": "0.15.1", diff --git a/versions/l-/libmagic.json b/versions/l-/libmagic.json index 9f7690d0dc4d42..83db3e469ae414 100644 --- a/versions/l-/libmagic.json +++ b/versions/l-/libmagic.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "167ff0a6360284c7c139765c23367ace49ce68b6", + "version": "5.45", + "port-version": 3 + }, + { + "git-tree": "c845ff89796041876594f8b6ef8691e8debb1c82", + "version": "5.45", + "port-version": 2 + }, + { + "git-tree": "65715ba20e3afecd46e0fb81326503257174585f", + "version": "5.45", + "port-version": 1 + }, + { + "git-tree": "30ebcd2ff5522b8c72ba5a5cadd840df34350382", + "version": "5.45", + "port-version": 0 + }, + { + "git-tree": "2bb05dd744d7eb83ad0a8d887ef589aaea37f6b3", + "version": "5.40", + "port-version": 3 + }, + { + "git-tree": "d70a57e09ed4060b2ade1cb1f80bcbdbd8a7a1ec", + "version": "5.40", + "port-version": 2 + }, { "git-tree": "7bc1a88e28473967fafa7be73db0304f127ae202", "version-string": "5.40", diff --git a/versions/l-/libmariadb.json b/versions/l-/libmariadb.json index 2a3c4716b4dcd0..b8f8f393e86407 100644 --- a/versions/l-/libmariadb.json +++ b/versions/l-/libmariadb.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "052df42a61bbe15831197f9adbafcf4da7f6fcc6", + "version-semver": "3.4.1", + "port-version": 0 + }, + { + "git-tree": "e0c869b45c183f7486a6da4785259a949bd18b25", + "version-semver": "3.3.1", + "port-version": 4 + }, + { + "git-tree": "c3d524a86a6280626f4955396e2dc21ad5f8be35", + "version-semver": "3.3.1", + "port-version": 3 + }, + { + "git-tree": "99cf48b4599872b087d938a2f4ccdbca34f61f1a", + "version-semver": "3.3.1", + "port-version": 2 + }, + { + "git-tree": "34106302d34bd62e9298357aa8b47b2c3aabf204", + "version-semver": "3.3.1", + "port-version": 1 + }, + { + "git-tree": "ab286c57741848d9bb9a806ad29f5366283af520", + "version-semver": "3.3.1", + "port-version": 0 + }, + { + "git-tree": "06122c8b00cc582d3ee36072fcbd03fa9385f238", + "version-semver": "3.1.15", + "port-version": 1 + }, { "git-tree": "c51d4e78081ee708c1cdebeaaa201aa0064079e3", "version-semver": "3.1.15", diff --git a/versions/l-/libmaxminddb.json b/versions/l-/libmaxminddb.json index b92f16aeca2159..2ec4999b9e6bc6 100644 --- a/versions/l-/libmaxminddb.json +++ b/versions/l-/libmaxminddb.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "9194860f792e7128e9d2058c0d3e897b57a67005", + "version": "1.11.0", + "port-version": 0 + }, + { + "git-tree": "446fd110747f3e6bc09f822e89d30f144eb52a9f", + "version": "1.9.1", + "port-version": 0 + }, + { + "git-tree": "a396718bfaa9c8e9e950cb3aaedb7bd562a157a7", + "version": "1.7.1", + "port-version": 0 + }, + { + "git-tree": "2bac54e78c424e4420145ae4a407e7b88229a387", + "version": "1.4.3", + "port-version": 3 + }, + { + "git-tree": "71bed10d6ad6ff2a80692e0b920e01e3c7509bf7", + "version-string": "1.4.3", + "port-version": 2 + }, { "git-tree": "7da47031497942277e14b01feab9e6d7d1491443", "version-string": "1.4.3", diff --git a/versions/l-/libmediainfo.json b/versions/l-/libmediainfo.json index 7b907d79c9b736..c9c4a0158c39d1 100644 --- a/versions/l-/libmediainfo.json +++ b/versions/l-/libmediainfo.json @@ -1,5 +1,45 @@ { "versions": [ + { + "git-tree": "294f2cfc21bf3881eeb3ce4c968998aa6db6adfb", + "version": "24.11", + "port-version": 0 + }, + { + "git-tree": "3f1131145a40572e714a0289ed63f6183863a31d", + "version": "24.6", + "port-version": 0 + }, + { + "git-tree": "f425fdbd6f76274f2db5470a3b0f7a5108130c71", + "version": "24.5", + "port-version": 0 + }, + { + "git-tree": "59336ca31008c1a60e78df67ad6e3074b5e8dba4", + "version": "24.3", + "port-version": 0 + }, + { + "git-tree": "0ee3e4970dcbdc7d4393177cc89797bacb9b6cc5", + "version": "24.1", + "port-version": 0 + }, + { + "git-tree": "e2bccca86faecebdacabafa1ff7b63e34168d342", + "version": "23.10", + "port-version": 0 + }, + { + "git-tree": "a5adf3a515c6144124fe9bb1825505de0f234b8c", + "version": "23.4", + "port-version": 0 + }, + { + "git-tree": "a6b640103a75b965e6527d10819d276c2193775d", + "version-string": "21.03", + "port-version": 2 + }, { "git-tree": "2cdc779b496da59aabfb9e1cc459d68c54cdb4d8", "version-string": "21.03", diff --git a/versions/l-/libmesh.json b/versions/l-/libmesh.json index a8ebbf98af0841..6aae1b7e5ae92b 100644 --- a/versions/l-/libmesh.json +++ b/versions/l-/libmesh.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "7c6d096079002a5a867cccb4f6204f871eeaf2e1", + "version": "1.5.0", + "port-version": 6 + }, + { + "git-tree": "73d90f24859b402b05ffe0e27eea3db3ab58a2ea", + "version": "1.5.0", + "port-version": 5 + }, + { + "git-tree": "347e56f7cd6e4bf1ca5621c564e4421a7f5a45cd", + "version": "1.5.0", + "port-version": 4 + }, + { + "git-tree": "8583d8a15a7b694bb7a8346580c5f8a3f7478f28", + "version-string": "1.5.0", + "port-version": 3 + }, { "git-tree": "99d2914d8591e790d8d9e16eeb572b2dfa6776d7", "version-string": "1.5.0", diff --git a/versions/l-/libmicrodns.json b/versions/l-/libmicrodns.json new file mode 100644 index 00000000000000..753246036cc435 --- /dev/null +++ b/versions/l-/libmicrodns.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "7476d4e62a4bec9d779d445ae3222c505aa4babe", + "version": "0.2.0", + "port-version": 2 + }, + { + "git-tree": "6ea7d0ad7b306f0c554fff32499486c6c4758105", + "version": "0.2.0", + "port-version": 1 + }, + { + "git-tree": "479151454954c9fe2e5ddce7f1b358f3c8688ce8", + "version": "0.2.0", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libmicrohttpd.json b/versions/l-/libmicrohttpd.json index 9ac94ed3aad03a..ddc281cf88003c 100644 --- a/versions/l-/libmicrohttpd.json +++ b/versions/l-/libmicrohttpd.json @@ -1,5 +1,45 @@ { "versions": [ + { + "git-tree": "6f9c7d4fbd5b0bf34b6d94ece1571170fdc50e17", + "version": "1.0.1", + "port-version": 1 + }, + { + "git-tree": "c764a262309da58e1c37962c061c5fa660caff38", + "version": "1.0.1", + "port-version": 0 + }, + { + "git-tree": "528d4043cc7a0784b2f1e1ba77455a8559498b2e", + "version": "0.9.77", + "port-version": 2 + }, + { + "git-tree": "0adb976e126f21ec1db080fe45b8b6e084bbbd5b", + "version": "0.9.77", + "port-version": 1 + }, + { + "git-tree": "99533d05bd2e457102ebabc8c74a065bc62eb900", + "version": "0.9.77", + "port-version": 0 + }, + { + "git-tree": "f1b42f3ba710ee2202398b46cc349adfa90cd3d9", + "version": "0.9.75", + "port-version": 1 + }, + { + "git-tree": "059bfe5715b9179cbd4d365ca571e6fade762700", + "version": "0.9.75", + "port-version": 0 + }, + { + "git-tree": "f6c2bc7d6fd2ee5441a6235f3c99067aad069b14", + "version": "0.9.63", + "port-version": 7 + }, { "git-tree": "c221d15de1cc1eedc33f912269d69d5ade11e3c1", "version": "0.9.63", diff --git a/versions/l-/libmidi2.json b/versions/l-/libmidi2.json new file mode 100644 index 00000000000000..f82da2d550565a --- /dev/null +++ b/versions/l-/libmidi2.json @@ -0,0 +1,34 @@ +{ + "versions": [ + { + "git-tree": "ae144ad6fddd3abc7c9d268fb2f046ddb24eecd0", + "version": "0.13", + "port-version": 0 + }, + { + "git-tree": "20dc9a588f1db52ab26be15c604e18107ad0fa7c", + "version": "0.12", + "port-version": 0 + }, + { + "git-tree": "9d219bec0af1a8ba6c018a3d27c12060001b8246", + "version": "0.11", + "port-version": 0 + }, + { + "git-tree": "3a8e774a8ec628d02f193004a97f2b6b3b331825", + "version": "0.10", + "port-version": 0 + }, + { + "git-tree": "af3eb2c134351aee18dfa6ac507cb409544e136b", + "version": "0.9", + "port-version": 0 + }, + { + "git-tree": "1a288e500ac20489d8b7033b879f2be655959855", + "version": "0.7", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libmikmod.json b/versions/l-/libmikmod.json index a1735fbbef8965..ff0c441238905f 100644 --- a/versions/l-/libmikmod.json +++ b/versions/l-/libmikmod.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "f76309c386e04e04888bb094d32b960d0c3cdc39", + "version": "3.3.11.1", + "port-version": 12 + }, + { + "git-tree": "688a0ecd6fe11127c1f75e04390beea8f582860f", + "version": "3.3.11.1", + "port-version": 11 + }, { "git-tree": "ed94a83a674fb90d5884515fc763840df2ec0375", "version-string": "3.3.11.1", diff --git a/versions/l-/libmodbus.json b/versions/l-/libmodbus.json index 86be284b35cf4e..8f80b0bcc688e9 100644 --- a/versions/l-/libmodbus.json +++ b/versions/l-/libmodbus.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "5af2a746eeb644d4c228d03f4bb7854cf4f5691b", + "version": "3.1.10", + "port-version": 0 + }, + { + "git-tree": "803427a42499df9013b9e6a4dc3501384fc69760", + "version": "3.1.6", + "port-version": 5 + }, + { + "git-tree": "6fedbd1a42b56a0b3325c6d4bf1e7682a99aafa4", + "version": "3.1.6", + "port-version": 4 + }, + { + "git-tree": "c6a0946db6d2956324bcaca62d6599adb3fbfea4", + "version": "3.1.6", + "port-version": 3 + }, + { + "git-tree": "654921557bd29a70ed05ce78374c52b43e6defad", + "version": "3.1.6", + "port-version": 2 + }, { "git-tree": "a4d3ea1104f095d0d92d4f81d595776ad6f6b21e", "version-string": "3.1.6", diff --git a/versions/l-/libmodman.json b/versions/l-/libmodman.json index 54709c67a13f31..44bc210a0c920e 100644 --- a/versions/l-/libmodman.json +++ b/versions/l-/libmodman.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "02bcbb8a675722c0d2c205b762074c35805e6bf9", + "version": "2.0.1", + "port-version": 5 + }, + { + "git-tree": "64d71ad6052dd0027325c7e9390ad4264dbef108", + "version-string": "2.0.1", + "port-version": 4 + }, { "git-tree": "202e2ccfbf309183f222f9c849f92452bd8f3b48", "version-string": "2.0.1", diff --git a/versions/l-/libmodplug.json b/versions/l-/libmodplug.json index a342cd4762cdf8..f7a76644bbfec1 100644 --- a/versions/l-/libmodplug.json +++ b/versions/l-/libmodplug.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "ff73830b584f9c52036cfa1d31b12cf936beabe8", + "version": "0.8.9.0", + "port-version": 14 + }, + { + "git-tree": "24e042bf1e6d517ef9bbb83229c541d3e1cdaf3c", + "version": "0.8.9.0", + "port-version": 13 + }, + { + "git-tree": "840fa5f79ab3d2f289308845958294759213d69e", + "version": "0.8.9.0", + "port-version": 12 + }, + { + "git-tree": "d9af89d39aa5f14bf7314ebc51bc74df26ff2a3b", + "version": "0.8.9.0", + "port-version": 11 + }, + { + "git-tree": "605d260810f9d1a489af7fb484d509581b39763d", + "version": "0.8.9.0", + "port-version": 10 + }, { "git-tree": "28b465d4794e5c5545cb486da31a9a7ce208654b", "version-string": "0.8.9.0", diff --git a/versions/l-/libmorton.json b/versions/l-/libmorton.json index c97e9f12f0029b..baafdd4f92eeec 100644 --- a/versions/l-/libmorton.json +++ b/versions/l-/libmorton.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "6f00ce462ab2d581aa3d0bb33c2ff37ff745377c", + "version": "0.2.12", + "port-version": 0 + }, + { + "git-tree": "01b61d968554cd38b6d3df05d11beda85750ff11", + "version": "0.2.11", + "port-version": 0 + }, { "git-tree": "1b25f31e6c58dbf7106777360374ea7f84182ddc", "version": "0.2.8", diff --git a/versions/l-/libmount.json b/versions/l-/libmount.json new file mode 100644 index 00000000000000..3466d681a89af4 --- /dev/null +++ b/versions/l-/libmount.json @@ -0,0 +1,34 @@ +{ + "versions": [ + { + "git-tree": "e78ea57cae347c42d9b7cdc4d65c521f229e0ed4", + "version": "2.40", + "port-version": 0 + }, + { + "git-tree": "5fbc2733330a3bac410e90c460db96f54e39e0a5", + "version": "2.39", + "port-version": 0 + }, + { + "git-tree": "747604a5c97736ced9e0ef3b2963c2c949bdc655", + "version": "2.38", + "port-version": 2 + }, + { + "git-tree": "a006357933a743ef48b94ce80a0565a1ce608769", + "version": "2.38", + "port-version": 1 + }, + { + "git-tree": "bf368ca79f716bd0b287bf1eeedd87c3529831cf", + "version": "2.38", + "port-version": 0 + }, + { + "git-tree": "0f746b3d702445fd2de54c25c08491cdaae45810", + "version": "2.37.2", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libmpeg2.json b/versions/l-/libmpeg2.json index e13c81d623ac32..bf5ed3f8533dd3 100644 --- a/versions/l-/libmpeg2.json +++ b/versions/l-/libmpeg2.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "549a0dcd10ec08c23e45edac9bd4987621b56115", + "version": "0.5.1", + "port-version": 3 + }, + { + "git-tree": "71e878d5483d51cab0d347f8e4e162b305216255", + "version": "0.5.1", + "port-version": 2 + }, { "git-tree": "f7325b83ac5b58747d2dc18859f771b641a0d76f", "version-string": "0.5.1", diff --git a/versions/l-/libmspack.json b/versions/l-/libmspack.json index 09d834c3dc5a8f..f0d460cb1cd7fe 100644 --- a/versions/l-/libmspack.json +++ b/versions/l-/libmspack.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "198f4c8a1eac2254110eaed939dc99744c78a58f", + "version": "0.11", + "port-version": 0 + }, + { + "git-tree": "b26826abcd6d912b526809624f838431cb470b3d", + "version": "0.10.1", + "port-version": 6 + }, + { + "git-tree": "4448cdf014a452f1da35c2dd48a2c8b9dca3e08b", + "version-string": "0.10.1", + "port-version": 5 + }, { "git-tree": "8faa2bfe071a7711a21a54139b84779c0d7f2cbe", "version-string": "0.10.1", diff --git a/versions/l-/libmt32emu.json b/versions/l-/libmt32emu.json index 5fd4ad5af52c40..3473b4c09f9b9f 100644 --- a/versions/l-/libmt32emu.json +++ b/versions/l-/libmt32emu.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "5e0ccfe803d0e3248671df0f3db4d1374a5a31c5", + "version": "2.7.1", + "port-version": 0 + }, + { + "git-tree": "bf84211f16b9b598e1ebd2cee0be2487d2e49fca", + "version": "2.7.0", + "port-version": 0 + }, + { + "git-tree": "de283dae22ced9be75cf6356a02732fec8b4eb11", + "version": "2.6.2", + "port-version": 0 + }, { "git-tree": "da8f12396b75ff5163acd190bf7f79a3d0b5098a", "version": "2.5.3", diff --git a/versions/l-/libmupdf.json b/versions/l-/libmupdf.json index a900d9f5f861a8..8a68fe0c78f4e1 100644 --- a/versions/l-/libmupdf.json +++ b/versions/l-/libmupdf.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "dc4b20674350d09f28dfe7af3c520f16fc06e25a", + "version": "1.24.10", + "port-version": 0 + }, + { + "git-tree": "ea6f82cee63a1056bfa2d88f5e7d0dbee3f64a5f", + "version": "1.23.11", + "port-version": 0 + }, + { + "git-tree": "06c0e6bccfaf2ab9f729bfc79318da68cb4897dc", + "version": "1.22.1", + "port-version": 1 + }, + { + "git-tree": "c1684ff15eed2c86ba792de4e92d21b2ea58c188", + "version": "1.22.1", + "port-version": 0 + }, + { + "git-tree": "9ca3ac09949f15d339ff747bb36f8593ff087959", + "version": "1.19.0-rc2", + "port-version": 1 + }, { "git-tree": "e91affc70edc5bab8dc75c274f14ba03b345c0bb", "version-string": "1.19.0-rc2", diff --git a/versions/l-/libmysofa.json b/versions/l-/libmysofa.json new file mode 100644 index 00000000000000..40580588a8b309 --- /dev/null +++ b/versions/l-/libmysofa.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "7af8df14c5cacf2ba9f4798281ec863159c387ec", + "version": "1.3.2", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libmysql.json b/versions/l-/libmysql.json index f4cade871656d5..f1390ff1067116 100644 --- a/versions/l-/libmysql.json +++ b/versions/l-/libmysql.json @@ -1,5 +1,100 @@ { "versions": [ + { + "git-tree": "1fcb166c50b683fcbda07bec1e7bfb7c37234525", + "version": "8.0.40", + "port-version": 0 + }, + { + "git-tree": "eb4f616fe98bc02a278669124285ef829bf8abb4", + "version": "8.0.39", + "port-version": 0 + }, + { + "git-tree": "d203c4fd8f6d845b6d0b744bade33dd78a83957f", + "version": "8.0.34", + "port-version": 2 + }, + { + "git-tree": "4fa6006119f50a9baff9cdf0966b065097113fd7", + "version": "8.0.34", + "port-version": 1 + }, + { + "git-tree": "91349aeb1e56c0b95d609361ae974a08abace26c", + "version": "8.0.34", + "port-version": 0 + }, + { + "git-tree": "5696eb818512a5f9375068dc057c3e074de4bc3d", + "version": "8.0.32", + "port-version": 6 + }, + { + "git-tree": "d32101a913ac66b95dff40eb0ce3e315438566ab", + "version": "8.0.32", + "port-version": 5 + }, + { + "git-tree": "95618ed8c0e55195ee395eaf7bb230cc61776b33", + "version": "8.0.32", + "port-version": 4 + }, + { + "git-tree": "79e48f5efa358526cd1cd290fd477f366863129e", + "version": "8.0.32", + "port-version": 3 + }, + { + "git-tree": "8c4f68caa6f20ecfc912028a0f94ef956c154410", + "version": "8.0.32", + "port-version": 2 + }, + { + "git-tree": "1c2161c6415adf63a68c648172ff414eef484d4e", + "version": "8.0.32", + "port-version": 1 + }, + { + "git-tree": "217137c054653de9a691dce47638979c0f667e2e", + "version": "8.0.32", + "port-version": 0 + }, + { + "git-tree": "099f0d084c8fdad082e86d8291fb2de18f9e73d4", + "version": "8.0.20", + "port-version": 10 + }, + { + "git-tree": "3ee63ba895261bab75a62db6f77937f6a3381c43", + "version": "8.0.20", + "port-version": 9 + }, + { + "git-tree": "b0337316bdcf6acfc791eb6fac2c490db774b24e", + "version": "8.0.20", + "port-version": 8 + }, + { + "git-tree": "bde440f72e606ffbfcfba3393813261aa91e5c05", + "version": "8.0.20", + "port-version": 7 + }, + { + "git-tree": "2bc452d4f5cd5392799424e1bb920175f979dd84", + "version": "8.0.20", + "port-version": 6 + }, + { + "git-tree": "d19f8e799e7eb9dc6c24968d1fa8c31debc38b62", + "version": "8.0.20", + "port-version": 5 + }, + { + "git-tree": "5279f421e4d9409a5d78b0f767d41374f2f7e168", + "version": "8.0.20", + "port-version": 4 + }, { "git-tree": "9fccf9613dee83d48f9ba68a356a8db324224948", "version": "8.0.20", diff --git a/versions/l-/libnice-gst.json b/versions/l-/libnice-gst.json new file mode 100644 index 00000000000000..7df86cbc80c5b2 --- /dev/null +++ b/versions/l-/libnice-gst.json @@ -0,0 +1,34 @@ +{ + "versions": [ + { + "git-tree": "040d334c5cb1a71a7ffb8059202fa84c86bce0f0", + "version": "0.1.22", + "port-version": 0 + }, + { + "git-tree": "3717f8377e0dbac46191136366973c45a623850f", + "version": "0.1.21", + "port-version": 4 + }, + { + "git-tree": "0454363efa550f5437e9bafac810b425ad2cef12", + "version": "0.1.21", + "port-version": 3 + }, + { + "git-tree": "e61d1c0b43c2f4feca65ea7a20ab901ff6e4c025", + "version": "0.1.21", + "port-version": 2 + }, + { + "git-tree": "9ea8f77a4a4f70cceb4d65650ee5de24e14e8190", + "version": "0.1.21", + "port-version": 1 + }, + { + "git-tree": "3d7072d7e0810ec844b7f4b3ecaa1e325e407be6", + "version": "0.1.21", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libnice.json b/versions/l-/libnice.json index a6b3d01b0e7383..04802f76a5ba3b 100644 --- a/versions/l-/libnice.json +++ b/versions/l-/libnice.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "3f073aeceab2d83e6e682795493eb97c042068f0", + "version": "0.1.22", + "port-version": 0 + }, + { + "git-tree": "e727ccac25d95c7a8e43a944407c80a1a071c581", + "version": "0.1.21", + "port-version": 2 + }, + { + "git-tree": "752ea02df5a3ae83ff67c4bfcfc34e9570cc27f9", + "version": "0.1.21", + "port-version": 1 + }, + { + "git-tree": "6efccae4d0017390516e28abce03705114131b16", + "version": "0.1.21", + "port-version": 0 + }, + { + "git-tree": "e15c3356146049f0dffd9aef46786677bb4b007e", + "version": "0.1.18", + "port-version": 1 + }, + { + "git-tree": "0317c7f34e075c4ebad894b0a6fffed8657f93e5", + "version": "0.1.18", + "port-version": 0 + }, { "git-tree": "5149e313236cfc0ae0e7352e6d151559564bd657", "version": "0.1.15", diff --git a/versions/l-/libnick.json b/versions/l-/libnick.json new file mode 100644 index 00000000000000..94a3ef76d07682 --- /dev/null +++ b/versions/l-/libnick.json @@ -0,0 +1,159 @@ +{ + "versions": [ + { + "git-tree": "0262401911d577088634f62e69b4771b5b63cd4f", + "version": "2024.10.0", + "port-version": 0 + }, + { + "git-tree": "fb991611c3568914d479f4b086445eee0b5d3fb1", + "version": "2024.9.2", + "port-version": 0 + }, + { + "git-tree": "0d12802b4c5fce87a98df1f0d9a0338ea97f32fd", + "version": "2024.9.1", + "port-version": 0 + }, + { + "git-tree": "7bcd184ced6e1ddc1b4bac4c37406aa83b4d7d97", + "version": "2024.8.3", + "port-version": 0 + }, + { + "git-tree": "c88be015c4e3fc7647c1755d36096b2ccf950ed6", + "version": "2024.8.2", + "port-version": 0 + }, + { + "git-tree": "e639bd17dcf851e53ffaf230104cd8829b55d7b3", + "version": "2024.8.1", + "port-version": 0 + }, + { + "git-tree": "c18843015c72967b949e67a40e5e79378994121b", + "version": "2024.7.3", + "port-version": 0 + }, + { + "git-tree": "dbc40efbe6dcfa5397b1844754cda55bc2df1a8d", + "version": "2024.7.2", + "port-version": 0 + }, + { + "git-tree": "bdebec67d8b2483585116d4b3332661cd6141599", + "version": "2024.7.0", + "port-version": 0 + }, + { + "git-tree": "b42c860d8e4d2b28bbfcd9c0dae7bcae5cdeb157", + "version": "2024.6.9", + "port-version": 0 + }, + { + "git-tree": "8017f4775566a3b456a5210a4bc71201125f6e75", + "version": "2024.6.8", + "port-version": 0 + }, + { + "git-tree": "7f85a93fa7a180a62bd01836030d178d8a308091", + "version": "2024.6.6", + "port-version": 0 + }, + { + "git-tree": "489e010b154a9cfafdf9e0663319e3b9a565589b", + "version": "2024.6.5", + "port-version": 0 + }, + { + "git-tree": "45c3195f25f198aa55ba73abaf140d8fe8020ecc", + "version": "2024.6.3", + "port-version": 0 + }, + { + "git-tree": "93c5e6ac4ea770dc4a67ead7367d0649c369b1d6", + "version": "2024.6.2", + "port-version": 0 + }, + { + "git-tree": "0070bd0d7d9bae8c6ec279b01d3a9ca5da6dd0e0", + "version": "2024.6.0", + "port-version": 0 + }, + { + "git-tree": "6d4ee60404e76ad1d0a0cfbd798f65808cb8be06", + "version": "2024.5.1", + "port-version": 0 + }, + { + "git-tree": "461c4e6cc23f7b0ecd873f4b8701de2d799caa53", + "version": "2024.3.1", + "port-version": 0 + }, + { + "git-tree": "819bac9da7f5626e041c0da4fd778da06eb88493", + "version": "2024.3.0", + "port-version": 0 + }, + { + "git-tree": "3c9fc499e78a210cfb1c07d9cebdb9e5b317010e", + "version": "2024.2.8", + "port-version": 0 + }, + { + "git-tree": "4ca18bf33fc9f723975c2d561f78e1e41283b1fc", + "version": "2024.2.7", + "port-version": 0 + }, + { + "git-tree": "751c145b824263d5714851a20eba3f7aa41bf715", + "version": "2024.2.5", + "port-version": 0 + }, + { + "git-tree": "ca7298dfb339c25743c5355cccd94a502ca88448", + "version": "2024.2.4", + "port-version": 0 + }, + { + "git-tree": "8b5421ff04134753e734fec703ca8d542d539380", + "version": "2024.2.3", + "port-version": 0 + }, + { + "git-tree": "dcdb05732b638141ea7f85cd945d125bf08ebd11", + "version": "2024.2.2", + "port-version": 0 + }, + { + "git-tree": "e6712e6417754f570920d80d6ea4be8e25474535", + "version": "2024.2.1", + "port-version": 0 + }, + { + "git-tree": "e57df1f6c0ed8e765854d4caf3f9b5d354f77d6f", + "version": "2024.2.0", + "port-version": 0 + }, + { + "git-tree": "e500915440f276fc2e525223ead70aea6ad40374", + "version": "2024.1.6", + "port-version": 0 + }, + { + "git-tree": "0da9e05ccca28d860df92a3f8b43b7e657de0540", + "version": "2024.1.5", + "port-version": 0 + }, + { + "git-tree": "38683a613ad0152233a04004b14707675c696189", + "version": "2024.1.4", + "port-version": 0 + }, + { + "git-tree": "35ec7d0edb38c8b621ca1a20bbe0eca5d0415ed2", + "version": "2024.1.3", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libnoise.json b/versions/l-/libnoise.json index 1300aa98054509..73a4991faf1f95 100644 --- a/versions/l-/libnoise.json +++ b/versions/l-/libnoise.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "24b694017cb633bae1e071413648afdf3623fc38", + "version": "1.0.0", + "port-version": 3 + }, { "git-tree": "d9a3fa0e4772f2c11fe3d177dea6ec8a23b06b07", "version-string": "1.0.0", diff --git a/versions/l-/libnop.json b/versions/l-/libnop.json index 2b8d1a131a7517..1e049f0fa7ef4e 100644 --- a/versions/l-/libnop.json +++ b/versions/l-/libnop.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "b3612fe75503c2bf24d2e6069f7cd8dfff289d90", + "version-date": "2021-11-03", + "port-version": 0 + }, { "git-tree": "97da98d4a3cd4e60972f53211892baa5b2f066df", "version-date": "2021-03-01", diff --git a/versions/l-/libobfuscate.json b/versions/l-/libobfuscate.json new file mode 100644 index 00000000000000..b5d5e8aab03407 --- /dev/null +++ b/versions/l-/libobfuscate.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "97f5fc6f17bcf8d98e561459b4cb64944c04089b", + "version-date": "2024-02-11", + "port-version": 0 + }, + { + "git-tree": "5751c998780a780e002a23faffc94d7d328d74c0", + "version-date": "2023-03-23", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libodb-boost.json b/versions/l-/libodb-boost.json index 268cc128ceb7fe..19e431262cb9cc 100644 --- a/versions/l-/libodb-boost.json +++ b/versions/l-/libodb-boost.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "e2ecfb7ccff63ea209a0b559e4acc342ff400e54", + "version": "2.4.0", + "port-version": 7 + }, + { + "git-tree": "86151d98ef2379eb1b3aaa89e3970e9301bd9318", + "version": "2.4.0", + "port-version": 6 + }, { "git-tree": "0aad9c51faa7aef72cf64a8c09fbdb08cf677dbd", "version-string": "2.4.0", diff --git a/versions/l-/libodb-mysql.json b/versions/l-/libodb-mysql.json index 4333d95364ec7f..2d3aee4fdd4e27 100644 --- a/versions/l-/libodb-mysql.json +++ b/versions/l-/libodb-mysql.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "e2a0c6a93301d619c25f0b01cb00a72be1256fa2", + "version": "2.4.0", + "port-version": 11 + }, + { + "git-tree": "c8969f77bfa4c1dd85950dc185f055f0b329aaec", + "version": "2.4.0", + "port-version": 10 + }, { "git-tree": "bf081744ced44cfa3da6d34d959a63fdaacaf69f", "version": "2.4.0", diff --git a/versions/l-/libodb-pgsql.json b/versions/l-/libodb-pgsql.json index 27b572aa843581..e1ce8216474600 100644 --- a/versions/l-/libodb-pgsql.json +++ b/versions/l-/libodb-pgsql.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "052d127643b92d10de1f4b1f5884787c4bafa92b", + "version": "2.4.0", + "port-version": 8 + }, + { + "git-tree": "793728785becb5235725430c432d1acfb9496cdb", + "version": "2.4.0", + "port-version": 7 + }, + { + "git-tree": "2026f9dfa22bc2a9b7c5d865268cd53d1f6870ee", + "version": "2.4.0", + "port-version": 6 + }, { "git-tree": "47c85efbe11253531c364b63debb914b44de579f", "version-string": "2.4.0", diff --git a/versions/l-/libodb-sqlite.json b/versions/l-/libodb-sqlite.json index 7c6162ad804cb3..d32c950ff302cb 100644 --- a/versions/l-/libodb-sqlite.json +++ b/versions/l-/libodb-sqlite.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "b431c261bdbe131a079813098c37b061acc0b805", + "version": "2.4.0", + "port-version": 13 + }, + { + "git-tree": "02dc624090eb462a27ba05eb1f0851911c724d95", + "version": "2.4.0", + "port-version": 12 + }, + { + "git-tree": "99e10de8845c5171477dc00ef7b2afab6d0a40f7", + "version": "2.4.0", + "port-version": 11 + }, + { + "git-tree": "effa726b187029b9af2856f55a9674bdd5232eb7", + "version": "2.4.0", + "port-version": 10 + }, { "git-tree": "4923ceb767ecc4c6f5efb7bcc80fafef19718bd2", "version-string": "2.4.0", diff --git a/versions/l-/libodb.json b/versions/l-/libodb.json index 4bd5b20282bbc0..aab684b6d6779d 100644 --- a/versions/l-/libodb.json +++ b/versions/l-/libodb.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "72eba153a6a64136e4d3acc4145f6a0c27b333f7", + "version": "2.4.0", + "port-version": 12 + }, + { + "git-tree": "daca6d80b91b4d1c0d94a3b8a5553e6c2e9aa64f", + "version": "2.4.0", + "port-version": 11 + }, + { + "git-tree": "e7f1f5aa4bec08ddcadab7f1f7512234b8c44155", + "version": "2.4.0", + "port-version": 10 + }, + { + "git-tree": "47f3bba38809da85d3a11f1a57cf1dce92a0ab54", + "version": "2.4.0", + "port-version": 9 + }, { "git-tree": "8296035980f67a96a49e7277dc91149172555750", "version": "2.4.0", diff --git a/versions/l-/libofx.json b/versions/l-/libofx.json new file mode 100644 index 00000000000000..65f39f4e23b373 --- /dev/null +++ b/versions/l-/libofx.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "2b01272b9801e2885f990f376956f8058851b9fe", + "version": "0.10.9", + "port-version": 1 + }, + { + "git-tree": "3f68c536d0f30c47c36d02d0bf6e7eda76ea7e08", + "version": "0.10.9", + "port-version": 0 + }, + { + "git-tree": "359386dc0b18eea302535a62b8d429325c457ebc", + "version": "0.10.8", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libogg.json b/versions/l-/libogg.json index 0eab3563d53674..164c84e05964a2 100644 --- a/versions/l-/libogg.json +++ b/versions/l-/libogg.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "98e27727c32704393494d32615c25b7b16eb3067", + "version": "1.3.5", + "port-version": 1 + }, { "git-tree": "70cb700f89c98b87d678a3aa7a14461eff4b99e4", "version": "1.3.5", diff --git a/versions/l-/libopenmpt.json b/versions/l-/libopenmpt.json index 73690c864657a8..5f6f1b5378e781 100644 --- a/versions/l-/libopenmpt.json +++ b/versions/l-/libopenmpt.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "b4730c8e9deadfe40b573c5c1ca7a00a9d40736c", + "version": "0.7.10", + "port-version": 0 + }, + { + "git-tree": "42b5aedfd10f2b5c2882e3a7936912d2991a4e3b", + "version": "0.7.4", + "port-version": 1 + }, + { + "git-tree": "79775a42db4e2fc9059cd96568f2dda292ee46d0", + "version": "0.7.4", + "port-version": 0 + }, + { + "git-tree": "f46d9666ff500c3694970f2031cdf0583d3be2e4", + "version": "0.6.12", + "port-version": 0 + }, + { + "git-tree": "5d66142c7858d9ac23b31a1ab5d596e2370ef7c2", + "version": "0.6.7", + "port-version": 0 + }, + { + "git-tree": "77855e30f0796a3254ce7c87449c8098854f85a5", + "version": "0.5.12", + "port-version": 1 + }, { "git-tree": "8cb8a2342ad5552d311c9f38d399b2ca55726f8a", "version": "0.5.12", diff --git a/versions/l-/libopensp.json b/versions/l-/libopensp.json index 168ab8b2513a97..4e9e79dfe6efa1 100644 --- a/versions/l-/libopensp.json +++ b/versions/l-/libopensp.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "a3322b1400f902d5b02c9bebb18dbde53f88c4ce", + "version": "1.5.2", + "port-version": 3 + }, + { + "git-tree": "88324b68d25d7301351327cd25493d4f13658cf1", + "version": "1.5.2", + "port-version": 2 + }, + { + "git-tree": "1c38530c26ffb1fc7fb2e0bd40f76ca8fa2bfb57", + "version": "1.5.2", + "port-version": 1 + }, { "git-tree": "c52391221569480b2e639b0e07a9e809e7711320", "version": "1.5.2", diff --git a/versions/l-/libopnmidi.json b/versions/l-/libopnmidi.json new file mode 100644 index 00000000000000..c12412d938fdb7 --- /dev/null +++ b/versions/l-/libopnmidi.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "3b11c2e9b745c94c0ed9eb46044a21704dd2e94a", + "version": "1.5.1", + "port-version": 2 + }, + { + "git-tree": "2451642c9d81eff6810839a5174ca60053330780", + "version": "1.5.1", + "port-version": 1 + }, + { + "git-tree": "552bea42a6f0f15bb5564602b51d9cda0a09dfd7", + "version": "1.5.1", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libopusenc.json b/versions/l-/libopusenc.json index e40c0de5b05e37..5dc3b04cb3f890 100644 --- a/versions/l-/libopusenc.json +++ b/versions/l-/libopusenc.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "4ddd48b3ea7d3363285602a3442c0e160316850a", + "version": "0.2.1", + "port-version": 3 + }, + { + "git-tree": "221b251f3848c9121ec517dc0c7d97cb19ea2297", + "version-string": "0.2.1", + "port-version": 2 + }, { "git-tree": "132909a5cb3c33e038cf9728427910fce455591d", "version-string": "0.2.1", diff --git a/versions/l-/liborigin.json b/versions/l-/liborigin.json new file mode 100644 index 00000000000000..5607930fdc622d --- /dev/null +++ b/versions/l-/liborigin.json @@ -0,0 +1,24 @@ +{ + "versions": [ + { + "git-tree": "92e85debf95656205186d96dfae6d44a9d6059ba", + "version": "3.0.3", + "port-version": 0 + }, + { + "git-tree": "dfd4df45866d1fbcaeaf73592a12ce6564dfb6f9", + "version": "3.0.2", + "port-version": 2 + }, + { + "git-tree": "1af8619df06f9a9519e035cd59b7bfe89f25b59d", + "version": "3.0.2", + "port-version": 1 + }, + { + "git-tree": "4ad9ef1e0eddb7bc93dbf08548d7daead3c5d73d", + "version": "3.0.2", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libosdp.json b/versions/l-/libosdp.json new file mode 100644 index 00000000000000..a59360af4250dd --- /dev/null +++ b/versions/l-/libosdp.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "fbbc5d6f19e023ef42737fc939fcb9bd186ecc4c", + "version": "3.0.5", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libosip2.json b/versions/l-/libosip2.json index b3dd2aa3420762..947dfe3b531d08 100644 --- a/versions/l-/libosip2.json +++ b/versions/l-/libosip2.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "21f43364595f76ad0ef3d516ac68f7473fa30c24", + "version": "5.3.1", + "port-version": 1 + }, + { + "git-tree": "cb02960c7156b49272969e224ccb0903c0a42a24", + "version": "5.3.1", + "port-version": 0 + }, + { + "git-tree": "e2811fe1a0d4cb7faabaebfa4cf47e1296bcddd2", + "version": "5.2.0", + "port-version": 5 + }, + { + "git-tree": "9b3b93c2039a5369ddd07c5dfb482644ce18c961", + "version": "5.2.0", + "port-version": 4 + }, + { + "git-tree": "564b7ffdb88b7d1b1823d7ec1166325337ae3ec5", + "version": "5.2.0", + "port-version": 3 + }, + { + "git-tree": "711e04603ccba9622918413848035af14335ef63", + "version": "5.2.0", + "port-version": 2 + }, { "git-tree": "918421395ccee5a5d894f2720b4a779369eb0f97", "version": "5.2.0", diff --git a/versions/l-/libosmium.json b/versions/l-/libosmium.json index acf60f09b41e6f..702721ca4eb75a 100644 --- a/versions/l-/libosmium.json +++ b/versions/l-/libosmium.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "4e43abda3d2ab79b2d813717eef1b330b390557f", + "version-semver": "2.20.0", + "port-version": 1 + }, + { + "git-tree": "b77d6ee3568b3a3fedb7b00984ae085253e46506", + "version-semver": "2.20.0", + "port-version": 0 + }, + { + "git-tree": "e6b30515f2657f3623fa5f0f006a28d9891046ac", + "version-semver": "2.19.0", + "port-version": 0 + }, + { + "git-tree": "d4f1daf8d87c98ec46d720ff10449e520614b677", + "version-semver": "2.18.0", + "port-version": 1 + }, + { + "git-tree": "2336c0db38fce27c033ff77a649645a1eb508e33", + "version-semver": "2.18.0", + "port-version": 0 + }, + { + "git-tree": "9e9ae3d97e11dfebbba6d839add7886b4bede3b1", + "version-semver": "2.17.1", + "port-version": 1 + }, { "git-tree": "862e140771bed4c7e9b7bc8ffc798edbbd3daa1c", "version-semver": "2.17.1", diff --git a/versions/l-/libosmscout.json b/versions/l-/libosmscout.json index bfa3103f4c9140..f1e72ae2432f2d 100644 --- a/versions/l-/libosmscout.json +++ b/versions/l-/libosmscout.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "3289b39536694fa953bbc20bf4a25653e39fab9b", + "version": "1.1.1", + "port-version": 5 + }, + { + "git-tree": "55b989b709d0c12649e6b2a522249bbf3d0788c7", + "version": "1.1.1", + "port-version": 4 + }, + { + "git-tree": "6a036a2f5b16cbc586266834abfe3c7a3f712c7e", + "version": "1.1.1", + "port-version": 3 + }, + { + "git-tree": "4a9ab34b9b12105e070411d8be66aeb3a1baf246", + "version": "1.1.1", + "port-version": 2 + }, + { + "git-tree": "ebb31600572c819a33a2c7b5e013e2cd2bc85b85", + "version-string": "1.1.1", + "port-version": 1 + }, { "git-tree": "18f4ae0fd674282e4c45af88d054090e8ba9a80d", "version-string": "1.1.1", diff --git a/versions/l-/libp7client.json b/versions/l-/libp7client.json index c8f285bd06be8c..cad6aca4a47431 100644 --- a/versions/l-/libp7client.json +++ b/versions/l-/libp7client.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "17e5bb124013cf1044fcfdf32566c791cf323fa9", + "version": "5.6", + "port-version": 5 + }, + { + "git-tree": "e0cf3d22ea3a838a2190f5d0ed1c804c42364268", + "version": "5.6", + "port-version": 4 + }, + { + "git-tree": "ff87a34ba0c530746a255fc3ee2ce3762781b50c", + "version-string": "5.6", + "port-version": 3 + }, + { + "git-tree": "dcf6b61cbaf4a0d50c256e830142176b49eabad6", + "version-string": "5.6", + "port-version": 2 + }, { "git-tree": "dcb9500d0ef29115ec13c39c943ce85d2030ac56", "version-string": "5.6", diff --git a/versions/l-/libpcap.json b/versions/l-/libpcap.json index 4d97a3741392d0..ef252842b1f9a2 100644 --- a/versions/l-/libpcap.json +++ b/versions/l-/libpcap.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "bb54ee6890b51e54614371d548053020585027ea", + "version-semver": "1.10.5", + "port-version": 0 + }, + { + "git-tree": "7bfda50e586151e14fb6704ed154e8747bc64ea9", + "version-semver": "1.10.4", + "port-version": 1 + }, + { + "git-tree": "3af367bec0a2e0049f723ffb3654d262e775ac45", + "version-semver": "1.10.4", + "port-version": 0 + }, + { + "git-tree": "6cf3667c0320e2ff5d92d45e91b07fb3bf2fe05e", + "version-semver": "1.10.1", + "port-version": 3 + }, + { + "git-tree": "b21dafcbcbd4a428b3800a6a686a473db8625ca6", + "version-semver": "1.10.1", + "port-version": 2 + }, + { + "git-tree": "4a0a395c4b517e9a54e1b96327b1ac90e317c225", + "version-semver": "1.10.1", + "port-version": 1 + }, { "git-tree": "5fb18d1935c9d7db3a7ff158e2aba95d5a9c6cd2", "version-semver": "1.10.1", diff --git a/versions/l-/libpff.json b/versions/l-/libpff.json index ddaf67af575652..6aeb1f384cec56 100644 --- a/versions/l-/libpff.json +++ b/versions/l-/libpff.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "6000969a75ea417329af263110993a00910d1b1b", + "version-date": "2021-11-14", + "port-version": 2 + }, + { + "git-tree": "5358a29d95b177de74fe31072cfa21a7adf4254b", + "version-date": "2021-11-14", + "port-version": 1 + }, + { + "git-tree": "a47e314b091400914616ff8c5e017110f2493018", + "version-date": "2021-11-14", + "port-version": 0 + }, + { + "git-tree": "24cc99a6c6ead368c4711dc67e8e7a7ae4444f09", + "version-date": "2018-07-14", + "port-version": 3 + }, { "git-tree": "fc83ea1c4fe9bd9731134772ff7df1c1f3ff6ab9", "version-string": "2018-07-14", diff --git a/versions/l-/libphonenumber.json b/versions/l-/libphonenumber.json new file mode 100644 index 00000000000000..323e66bccbcfa8 --- /dev/null +++ b/versions/l-/libphonenumber.json @@ -0,0 +1,64 @@ +{ + "versions": [ + { + "git-tree": "319c0fd8771d82e7ba94a8586519ceeac2316024", + "version": "8.13.45", + "port-version": 0 + }, + { + "git-tree": "250dbf2c09c367bd57e7f941ed914c289949b02b", + "version": "8.13.31", + "port-version": 0 + }, + { + "git-tree": "c6968832284b2011625dfc11d47cd2cf0c92d2a1", + "version": "8.13.29", + "port-version": 0 + }, + { + "git-tree": "9df18bd6b1bab30de04c91942cf6724b6ff26f0c", + "version": "8.13.23", + "port-version": 0 + }, + { + "git-tree": "8c0eab944c22034092f0200dcbdd5a422eddc7f9", + "version": "8.13.17", + "port-version": 0 + }, + { + "git-tree": "5942baf68c6c369476c955e28dea2dd4fda11d1b", + "version": "8.13.13", + "port-version": 1 + }, + { + "git-tree": "2289b15c4eee8082041820c9eb1bfc2cb3982cd9", + "version": "8.13.13", + "port-version": 0 + }, + { + "git-tree": "8f6bcac3d621a03907f69278cb2a1e303fa414f1", + "version": "8.13.11", + "port-version": 0 + }, + { + "git-tree": "c67ed43ff7bcb68e7d676e1a3be1139e7f5bdc2f", + "version": "8.13.9", + "port-version": 0 + }, + { + "git-tree": "8384c5dbad4f7fc159e2e01ebcc1d3202157d963", + "version": "8.13.7", + "port-version": 0 + }, + { + "git-tree": "1576e79acd6565aa0213fdd3d4839a7575fd16a8", + "version": "8.13.1", + "port-version": 1 + }, + { + "git-tree": "47877baf472150729025e7198ad6aa6e6574ff5a", + "version": "8.13.1", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libplist.json b/versions/l-/libplist.json index 7cc06986502d29..d502fdd3737d73 100644 --- a/versions/l-/libplist.json +++ b/versions/l-/libplist.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "c0550bd82aaa3f3ae23f9b481285c6cb9f92b44c", + "version-date": "2023-06-15", + "port-version": 1 + }, + { + "git-tree": "8a79aaf94792ae73eea5094eebac773fe6705b54", + "version-date": "2023-06-15", + "port-version": 0 + }, + { + "git-tree": "e18bc499ccc42a248f2d88c1f5614d4f4314f4eb", + "version": "1.3.6", + "port-version": 2 + }, { "git-tree": "75eb83284f3361bf04af84e67e0ed0439432c3f5", "version": "1.3.6", diff --git a/versions/l-/libpmemobj-cpp.json b/versions/l-/libpmemobj-cpp.json index 158beef8f08ed3..64b54f9d7d198d 100644 --- a/versions/l-/libpmemobj-cpp.json +++ b/versions/l-/libpmemobj-cpp.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "5d19201729977e87b6a75a47ac5f1dac6186caae", + "version-semver": "1.13.0", + "port-version": 1 + }, { "git-tree": "75d4c464f3bc9823857cab2f378bf7dc53cd7e2b", "version-semver": "1.13.0", diff --git a/versions/l-/libpng.json b/versions/l-/libpng.json index a9380b8c1f74c9..26a79377e51549 100644 --- a/versions/l-/libpng.json +++ b/versions/l-/libpng.json @@ -1,5 +1,75 @@ { "versions": [ + { + "git-tree": "bda480fe3c3cef1113fe8bfdecda127a5b3b2a77", + "version": "1.6.44", + "port-version": 0 + }, + { + "git-tree": "9c7fd06f1cdd1dfc08b35ca9d6b0ba470cdd2470", + "version": "1.6.43", + "port-version": 3 + }, + { + "git-tree": "915cc8e8e0adbfb2708a310635217811a849d709", + "version": "1.6.43", + "port-version": 2 + }, + { + "git-tree": "1b0781214ef5a3497d0e7db2c0ed7f7fae74248b", + "version": "1.6.43", + "port-version": 1 + }, + { + "git-tree": "8673cfd41804628ce52c499b8d23c5696104ec47", + "version": "1.6.43", + "port-version": 0 + }, + { + "git-tree": "8b6d2c1150541a94c0ca5b2f060eb21eed4a40b2", + "version": "1.6.40", + "port-version": 1 + }, + { + "git-tree": "1a2a7f489e57c9e55e049b7c5f0a28c8ff4464ed", + "version": "1.6.40", + "port-version": 0 + }, + { + "git-tree": "af144fe56e6e4c08cd8089d2e1dd46bae60a5062", + "version": "1.6.39", + "port-version": 1 + }, + { + "git-tree": "5418b205ed842ffdcd4d65c07f43087e0afcf3f3", + "version": "1.6.39", + "port-version": 0 + }, + { + "git-tree": "f53e65c25d240846146641165cff9d572f9a7992", + "version": "1.6.38", + "port-version": 1 + }, + { + "git-tree": "923c99cca2e5f79dfc04e9432ac1146ee6da5b11", + "version": "1.6.38", + "port-version": 0 + }, + { + "git-tree": "85dc7678690f09c78cc366b1f13498c41be51aff", + "version": "1.6.37", + "port-version": 19 + }, + { + "git-tree": "5e3ec787e7c6f09dd162648b700aeb712af0ffd2", + "version": "1.6.37", + "port-version": 18 + }, + { + "git-tree": "ffe71783883ccf1c6e6a306daa686868bfb62191", + "version": "1.6.37", + "port-version": 17 + }, { "git-tree": "b082585ac20aefc27150af5386b6a8a15473e93a", "version": "1.6.37", diff --git a/versions/l-/libpopt.json b/versions/l-/libpopt.json index 0e8704d40b5307..03874d3c35a67a 100644 --- a/versions/l-/libpopt.json +++ b/versions/l-/libpopt.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "2f73cf4ebdadeac639e83a83e2acc8766ed597c3", + "version": "1.16", + "port-version": 17 + }, + { + "git-tree": "0610bc947719ba9009a8e99444332fd27d315033", + "version": "1.16", + "port-version": 16 + }, + { + "git-tree": "ba5769f936a4234dc9803bee2476b757d0a0f0f9", + "version-string": "1.16", + "port-version": 15 + }, { "git-tree": "8f86d53b62561f37ac20b8c66232b9d87e4a6750", "version-string": "1.16", diff --git a/versions/l-/libpq.json b/versions/l-/libpq.json index af14f925114503..72e2dc2919d5c0 100644 --- a/versions/l-/libpq.json +++ b/versions/l-/libpq.json @@ -1,5 +1,115 @@ { "versions": [ + { + "git-tree": "dcaa1ec8552b8ef987d6d80f708b8828bcd795eb", + "version": "16.4", + "port-version": 0 + }, + { + "git-tree": "e5b88c49c78feaa118b52ae4279e372aa52dbe9b", + "version": "16.3", + "port-version": 0 + }, + { + "git-tree": "aac67118e4bd1ee29001f206697fb8461e47a590", + "version": "16.2", + "port-version": 1 + }, + { + "git-tree": "97c817b2d307e12dfec28d56e87ae08faff70a1b", + "version": "16.2", + "port-version": 0 + }, + { + "git-tree": "308af7b81ee1abf1d533d93f28eb3a423dd2ea3d", + "version": "16.0", + "port-version": 2 + }, + { + "git-tree": "1f0007ec87e337d4f484164ecf589395b174d044", + "version": "16.0", + "port-version": 1 + }, + { + "git-tree": "cbd6314cbfd04132985a7a6412184d368c3cd0b6", + "version": "16.0", + "port-version": 0 + }, + { + "git-tree": "859b43f8db33293c411c365d945ecd4ae2cc056b", + "version": "15.3", + "port-version": 2 + }, + { + "git-tree": "a62f65ad38aa981b6ff7474e16f739a3ffbc622b", + "version": "15.3", + "port-version": 1 + }, + { + "git-tree": "d5388715a119316e407f15a6612bf05d2292d73d", + "version": "15.3", + "port-version": 0 + }, + { + "git-tree": "74cc57fa79744500aef02f0b66be5f46b8005af3", + "version": "15.2", + "port-version": 3 + }, + { + "git-tree": "29b49eb009f412e692853ca40d353f31711829ea", + "version": "15.2", + "port-version": 2 + }, + { + "git-tree": "215b5533383016a897deb00d90b9ca5ebefc0469", + "version": "15.2", + "port-version": 1 + }, + { + "git-tree": "afe52a0d413f6e4dce23ba247692413dd9ff1cce", + "version": "15.2", + "port-version": 0 + }, + { + "git-tree": "9f0ed34d496ccb005282bd747bafe12a2734a4f7", + "version": "14.4", + "port-version": 3 + }, + { + "git-tree": "d452cd83bf4c62032f2ecbf66b23d75261f6ed88", + "version": "14.4", + "port-version": 2 + }, + { + "git-tree": "bdf23f137f7f72e57555542fc392a8ec8e0ebd28", + "version": "14.4", + "port-version": 1 + }, + { + "git-tree": "2b3456bfb8b04525c44007f3c8a04b7e208d639d", + "version": "14.4", + "port-version": 0 + }, + { + "git-tree": "2b437be1592b794cb09437beba153937991a189a", + "version": "14.1", + "port-version": 2 + }, + { + "git-tree": "0f614944d19861d7751cd9c880c6b61d87f36a3d", + "version": "14.1", + "port-version": 1 + }, + { + "git-tree": "f33ace97e90816fb5aa827168d87aec2f1f95705", + "version": "14.1", + "port-version": 0 + }, + { + "git-tree": "099cade84111279ffa4a909061cb8f4f36137842", + "version": "12.9", + "port-version": 1 + }, { "git-tree": "bd369bc003e7ebebb688ee536065a356f1658260", "version": "12.2", diff --git a/versions/l-/libpqxx.json b/versions/l-/libpqxx.json index 8166fc426ec7f3..1b1e074b919f63 100644 --- a/versions/l-/libpqxx.json +++ b/versions/l-/libpqxx.json @@ -1,5 +1,45 @@ { "versions": [ + { + "git-tree": "e7a918510cbcca1b6cd6f4cf72611ff796bc20af", + "version": "7.9.2", + "port-version": 0 + }, + { + "git-tree": "36fb80efda7137194f2bf679b9e685e9dab60bb5", + "version": "7.9.0", + "port-version": 1 + }, + { + "git-tree": "c8078815fcddf1da8e7d8fba66100befaa779ec0", + "version": "7.9.0", + "port-version": 0 + }, + { + "git-tree": "8083e94ed4ded4546cbad5263a7efb4b9b154b73", + "version": "7.8.1", + "port-version": 0 + }, + { + "git-tree": "7ddefb009a457fb899a8661e46ba79544da6b2df", + "version": "7.7.4", + "port-version": 0 + }, + { + "git-tree": "80df17c2607ce1c8e29014ae165b64c495be1f5c", + "version": "7.7.3", + "port-version": 1 + }, + { + "git-tree": "da2e393b9844105fa00c800afb44bc93541dcb00", + "version": "7.7.3", + "port-version": 0 + }, + { + "git-tree": "6dd0107ca668c589cf18a57a884dd3ef276730cf", + "version-semver": "7.6.0", + "port-version": 3 + }, { "git-tree": "5c4df2807e229629d04aecc0a66f11219d4dcbcd", "version-semver": "7.6.0", diff --git a/versions/l-/libprotobuf-mutator.json b/versions/l-/libprotobuf-mutator.json index 38317dc4a5561c..ef9097ca14acd3 100644 --- a/versions/l-/libprotobuf-mutator.json +++ b/versions/l-/libprotobuf-mutator.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "65fd72758c5a494660dc7633ecc5c69ead65cb04", + "version": "1.3", + "port-version": 0 + }, + { + "git-tree": "711a63d6cbb8a9556e4d5df54aa17383780a46b1", + "version": "1.1", + "port-version": 0 + }, + { + "git-tree": "df52e818f4a57b22720260014d5adf089281af3c", + "version": "1.0", + "port-version": 2 + }, + { + "git-tree": "f0ca8762869223e88b2fa7aad7e1dc89c1dc0568", + "version-string": "1.0", + "port-version": 1 + }, { "git-tree": "17b7f9e9cf92d23ffee15bd262f8dccb9dca3da0", "version-string": "1.0", diff --git a/versions/l-/libproxy.json b/versions/l-/libproxy.json index 034b48d44842b5..25ae342370df25 100644 --- a/versions/l-/libproxy.json +++ b/versions/l-/libproxy.json @@ -1,5 +1,45 @@ { "versions": [ + { + "git-tree": "b7f8bc39ce8dc00ea1dfca802a8a1c58cdf257c1", + "version": "0.4.18", + "port-version": 3 + }, + { + "git-tree": "190bb3f2c7dcb0e36636bbed1e4619f1072c86f2", + "version": "0.4.18", + "port-version": 2 + }, + { + "git-tree": "74ecff4623774abaa9333489e644bdbc881e268f", + "version": "0.4.18", + "port-version": 1 + }, + { + "git-tree": "1e70cf451a9b90297ce32751eb17760a31c0b394", + "version": "0.4.18", + "port-version": 0 + }, + { + "git-tree": "657915bf898e4e4ccf08b6274665b541efa15876", + "version": "0.4.17", + "port-version": 5 + }, + { + "git-tree": "7aa3e3fbb2539fe4adaaff6056effdc2a97ff14b", + "version": "0.4.17", + "port-version": 4 + }, + { + "git-tree": "ff241fdc3665ad4d1dce051fcdd8ee8dc8617c86", + "version": "0.4.17", + "port-version": 3 + }, + { + "git-tree": "a44c6a0f0d04d6ea82c7a29c879dfd13cadb38ca", + "version": "0.4.17", + "port-version": 2 + }, { "git-tree": "159dadd3ff9a4ba3ce1fec74a933980aa895ee02", "version": "0.4.17", diff --git a/versions/l-/libpsl.json b/versions/l-/libpsl.json new file mode 100644 index 00000000000000..9de69a9148371f --- /dev/null +++ b/versions/l-/libpsl.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "1f1ba362bcb9a330a5882ff668eb7fc3a2c2b6c3", + "version": "0.21.5", + "port-version": 1 + }, + { + "git-tree": "6f4047fee938b55c21791aebff41556f270b510a", + "version": "0.21.5", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libqcow.json b/versions/l-/libqcow.json index 2d4ce7f324f61e..2b2d391610b77d 100644 --- a/versions/l-/libqcow.json +++ b/versions/l-/libqcow.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "4b1e94b2b7373b63353193be9ff260cf543b8460", + "version": "20221124", + "port-version": 1 + }, + { + "git-tree": "70abb044b3b25aff006a6858812325ad2a923e7f", + "version": "20221124", + "port-version": 0 + }, + { + "git-tree": "03d185bd85372ecd790739994ef2eb487a9595bc", + "version-string": "20210419", + "port-version": 2 + }, { "git-tree": "1d32eac160d01f07c4918816493353b53375f7de", "version-string": "20210419", diff --git a/versions/l-/libqglviewer.json b/versions/l-/libqglviewer.json index 3d2e599516b2d8..226bf5051ba9c8 100644 --- a/versions/l-/libqglviewer.json +++ b/versions/l-/libqglviewer.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "e394ba82a89f2e5faa8207b21df07c9cba84645a", + "version": "2.9.1", + "port-version": 3 + }, + { + "git-tree": "bfaae9deb95ec0d71a5d9ba8342fd3c83c8871fa", + "version": "2.9.1", + "port-version": 2 + }, + { + "git-tree": "fb8cb610ce82055671ffb7e84836da4a02cc3127", + "version": "2.9.1", + "port-version": 1 + }, + { + "git-tree": "ad6a8d25fcd68d39367a45811a58379f3cea0d01", + "version": "2.9.1", + "port-version": 0 + }, { "git-tree": "af8c797ea264a95603d8d825a75d73d5cc408d4d", "version-string": "2.7.2", diff --git a/versions/l-/libqrencode.json b/versions/l-/libqrencode.json index 1bcd7daf6467e1..c4e0dba011d18f 100644 --- a/versions/l-/libqrencode.json +++ b/versions/l-/libqrencode.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "95a96c8314e54441e3ee64dd92d3c7b9d9f409f1", + "version-semver": "4.1.1", + "port-version": 2 + }, { "git-tree": "52b904615b0dcea800292c9eaf2f06da32f2160d", "version-semver": "4.1.1", diff --git a/versions/l-/libqtrest.json b/versions/l-/libqtrest.json new file mode 100644 index 00000000000000..76765128975b10 --- /dev/null +++ b/versions/l-/libqtrest.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "efcb288a743d19fa7e795479221b17644864890e", + "version": "0.4.0", + "port-version": 0 + } + ] +} diff --git a/versions/l-/librabbitmq.json b/versions/l-/librabbitmq.json index 7b0b761a4a33c1..524d1a4640e94e 100644 --- a/versions/l-/librabbitmq.json +++ b/versions/l-/librabbitmq.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "02f81a2c57c6f0c36f4f504c85fa23897c566f8e", + "version": "0.14.0", + "port-version": 0 + }, + { + "git-tree": "eaa23b49b84d0ec45e28645d78adc6c0b2f8faed", + "version": "0.11.0", + "port-version": 2 + }, + { + "git-tree": "3131805ba3b7940db19df08d930a13d2fc1c707c", + "version": "0.11.0", + "port-version": 1 + }, + { + "git-tree": "cfed3947ffb960b8b8bd399093aa21f5981464b7", + "version": "0.11.0", + "port-version": 0 + }, { "git-tree": "002128f2677cfaa53843e36849ebcfef1f2c540e", "version-string": "2020-06-03", diff --git a/versions/l-/libraqm.json b/versions/l-/libraqm.json index 12ac74fd869cbb..8d09e24c8af5b9 100644 --- a/versions/l-/libraqm.json +++ b/versions/l-/libraqm.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "b1f38a9f24bfe33fdd03e821727f1e6629be173f", + "version": "0.10.2", + "port-version": 0 + }, + { + "git-tree": "65a919304f99dbe9ed1c5f2777785cd89ed97ad2", + "version": "0.10.1", + "port-version": 0 + }, + { + "git-tree": "aae562aa1a91357654efbd688ca511ae34d1afed", + "version": "0.9.0", + "port-version": 1 + }, + { + "git-tree": "e5cdb799bec1a56eba248db499ac2e64d8a3b059", + "version-string": "0.9.0", + "port-version": 0 + }, { "git-tree": "7c83ce59ebe48d25178c998704ba4559807288ba", "version-string": "0.7.0", diff --git a/versions/l-/libraw.json b/versions/l-/libraw.json index 9e4216a52f3fcd..5ef17105cb2603 100644 --- a/versions/l-/libraw.json +++ b/versions/l-/libraw.json @@ -1,5 +1,60 @@ { "versions": [ + { + "git-tree": "8d9f30abb0e54dea057eb43a735efd2779007f49", + "version": "0.21.3", + "port-version": 0 + }, + { + "git-tree": "02d6abd8ed64b06dde0b3b029c39f30819eea276", + "version": "0.21.2", + "port-version": 0 + }, + { + "git-tree": "3a10e9f3c0a023e53a82eb8408365f50e6825e80", + "version": "0.21.1", + "port-version": 3 + }, + { + "git-tree": "ca8608b21d32cbd238b21eafc1ceb19ab91729b5", + "version": "0.21.1", + "port-version": 2 + }, + { + "git-tree": "1b27d2a7401506c017a98e896c3dee2db0a01bfa", + "version": "0.21.1", + "port-version": 1 + }, + { + "git-tree": "fda25697452394dfb723fa576576a76b67b32468", + "version": "0.21.1", + "port-version": 0 + }, + { + "git-tree": "906477f849ef0c2b348f8ff9f526d2c5a2e19b22", + "version-string": "201903", + "port-version": 10 + }, + { + "git-tree": "13ab93771f3879d0f68e0418b028df14cb260dd3", + "version-string": "201903", + "port-version": 9 + }, + { + "git-tree": "e07b6b8ed70ad198a64027d0e44eab43d116039d", + "version-string": "201903", + "port-version": 8 + }, + { + "git-tree": "aeb0a198c349fb336ad7cd710aeaf0b1017679a1", + "version-string": "201903", + "port-version": 7 + }, + { + "git-tree": "e05fbd81dbe6b44b09c9aae106f4dc7df708ce49", + "version-string": "201903", + "port-version": 6 + }, { "git-tree": "fa490349ec4e8e8d8854c18725068a8a8474b3ac", "version-string": "201903", diff --git a/versions/l-/librdkafka.json b/versions/l-/librdkafka.json index 4d4df5405918d2..396f2068f26eb2 100644 --- a/versions/l-/librdkafka.json +++ b/versions/l-/librdkafka.json @@ -1,5 +1,90 @@ { "versions": [ + { + "git-tree": "7e2181d57ca0ea7f98a547db9c609738742604f9", + "version": "2.6.0", + "port-version": 0 + }, + { + "git-tree": "add772966663fa14ea6d7a10571abfa653493b50", + "version": "2.5.3", + "port-version": 0 + }, + { + "git-tree": "cbdf7001549e463198efc7dc8d157a15aadb8f7d", + "version": "2.3.0", + "port-version": 5 + }, + { + "git-tree": "fbdd447367d1830499368d2c005ce991e7a52fa4", + "version": "2.3.0", + "port-version": 4 + }, + { + "git-tree": "43fbb6abd2228252734e70f03890aba159c4d45c", + "version": "2.3.0", + "port-version": 3 + }, + { + "git-tree": "6aa42a9dc181a15946be77986a9eaa45e0534f3c", + "version": "2.3.0", + "port-version": 2 + }, + { + "git-tree": "420acc8b75e00d2fec12c4b991f63d909b69e022", + "version": "2.3.0", + "port-version": 1 + }, + { + "git-tree": "a84ea0202e606993c8377b34bdbea3c84e08d792", + "version": "2.3.0", + "port-version": 0 + }, + { + "git-tree": "a9d47253bd654c0affeb4ec5798cfc390fe28d22", + "version": "2.2.0", + "port-version": 0 + }, + { + "git-tree": "65bfe7c79910979e418a3c20b1cc615a64997e82", + "version": "2.1.1", + "port-version": 0 + }, + { + "git-tree": "e524f201bfa539b35c11c270d3e25a9c48eeff14", + "version": "2.1.0", + "port-version": 0 + }, + { + "git-tree": "d5396e9968358ea9b99e1204b37dd8cba68fef6b", + "version": "2.0.2", + "port-version": 0 + }, + { + "git-tree": "ec1e8bdb3b0474f51cb416593474395c97ace7e2", + "version": "1.9.2", + "port-version": 0 + }, + { + "git-tree": "2b06cb5f9952eb1e853ea372a57551fc1b40e009", + "version": "1.9.0", + "port-version": 1 + }, + { + "git-tree": "f8d629ff07daf495ff89cf9c3632fce7273a80c0", + "version": "1.9.0", + "port-version": 0 + }, + { + "git-tree": "0583e5dcb6a79a29685250e2b43ca1cd2a798d96", + "version": "1.8.2", + "port-version": 2 + }, + { + "git-tree": "2f7a6da2edf664e544914466d1cc8994d1ea475a", + "version": "1.8.2", + "port-version": 1 + }, { "git-tree": "dc5076b17ce1f54f6e61560036325ca9f24cda64", "version": "1.8.2", diff --git a/versions/l-/libredwg.json b/versions/l-/libredwg.json new file mode 100644 index 00000000000000..1b444239f9de00 --- /dev/null +++ b/versions/l-/libredwg.json @@ -0,0 +1,34 @@ +{ + "versions": [ + { + "git-tree": "e2990b43865e767fb74700ef4cf26b48934b47d8", + "version": "0.13.3", + "port-version": 1 + }, + { + "git-tree": "98054aab0c4648b6c88a29711decbd2586f4d462", + "version": "0.13.3", + "port-version": 0 + }, + { + "git-tree": "5b81de86b90979544e2a5cd3f958556cd5d9917a", + "version": "0.13.2", + "port-version": 1 + }, + { + "git-tree": "7e772e358eee3f6d61854c67c7a4a8afa0a952b8", + "version": "0.13.2", + "port-version": 0 + }, + { + "git-tree": "17dd1242cc7c640c0b51f493eef55d3c12ad6e52", + "version": "0.12.5.5178", + "port-version": 1 + }, + { + "git-tree": "aa161067eef7398933b726e81cd4824733a9c9a6", + "version": "0.12.5.5178", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libremidi.json b/versions/l-/libremidi.json new file mode 100644 index 00000000000000..b3abfd4f3826e7 --- /dev/null +++ b/versions/l-/libremidi.json @@ -0,0 +1,39 @@ +{ + "versions": [ + { + "git-tree": "355e1ad8bb5377cfbc28e346d2666d94adf0eb4b", + "version": "4.5.0", + "port-version": 0 + }, + { + "git-tree": "1692e19d688d509754fe2ec125a37ac8818b56ad", + "version": "4.3.0", + "port-version": 0 + }, + { + "git-tree": "f84b9c0ea6498dad5b9e184bc21f95c614a15625", + "version": "4.2.4", + "port-version": 0 + }, + { + "git-tree": "4269a93684ffd5145f2b5a79421824b6efd87372", + "version": "4.2.3", + "port-version": 2 + }, + { + "git-tree": "4427d9259242a0dbc53753710b42b6531276f392", + "version": "4.2.3", + "port-version": 1 + }, + { + "git-tree": "0a6cac97560ba37eae699bdb65f6561a8415d362", + "version": "4.1.0", + "port-version": 1 + }, + { + "git-tree": "4c1473e864943f0e6189d315c1eb09a77ce3a3f0", + "version": "4.1.0", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libressl.json b/versions/l-/libressl.json index 0ba04b1e1c91c2..2e4e1ec4580e8c 100644 --- a/versions/l-/libressl.json +++ b/versions/l-/libressl.json @@ -1,5 +1,50 @@ { "versions": [ + { + "git-tree": "a4db7a421fd0fe40d7c56014e8b6cf4e5a9c2525", + "version": "3.9.2", + "port-version": 2 + }, + { + "git-tree": "f9e56b0af8f93ed5c5adc5e2ba1696e5c16420be", + "version": "3.9.2", + "port-version": 1 + }, + { + "git-tree": "212859e945d993b860716eaa47b8f83ef52efbb2", + "version": "3.9.2", + "port-version": 0 + }, + { + "git-tree": "e0c1bbd2daed29ca5fcc86c53b276db8df36e6be", + "version": "3.8.2", + "port-version": 0 + }, + { + "git-tree": "213551b173db269dfd275c34a776ab7d093c5012", + "version": "3.6.2", + "port-version": 2 + }, + { + "git-tree": "ad22d9c62107c65630cd57d97749920a02016095", + "version": "3.6.2", + "port-version": 1 + }, + { + "git-tree": "dbc5385ec4d693da812158dc9e2c1eaaaf9c6908", + "version": "3.6.2", + "port-version": 0 + }, + { + "git-tree": "09613175bb9f051a273b68c0520ad4017d8fabd9", + "version": "3.4.2", + "port-version": 0 + }, + { + "git-tree": "1541c15439fdf9199c6796b51cd59fa644b7d9e4", + "version": "3.3.4", + "port-version": 1 + }, { "git-tree": "2dcc81c2e764c5f32d9c35280ab9ae06fda622c3", "version": "3.3.4", diff --git a/versions/l-/librsvg.json b/versions/l-/librsvg.json index 735241c8a43dd6..bdea138195b532 100644 --- a/versions/l-/librsvg.json +++ b/versions/l-/librsvg.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "c1f96a053c524889c293f4db10c0e43ec0951ca8", + "version": "2.40.20", + "port-version": 11 + }, + { + "git-tree": "ba6e6aad1557505c8ede7b320d554bd2cab6bb7d", + "version": "2.40.20", + "port-version": 10 + }, + { + "git-tree": "c75d4ca281d1bba78571abdb035e025ded217c00", + "version": "2.40.20", + "port-version": 9 + }, + { + "git-tree": "d72d62fa58fa959323e0bda46bcf26991e460289", + "version": "2.40.20", + "port-version": 8 + }, + { + "git-tree": "7896420ce5b25f27747238c63c89bd09d551d817", + "version": "2.40.20", + "port-version": 7 + }, + { + "git-tree": "3e077a8a58a07c8c3d869ff6b875cc2dd7325025", + "version": "2.40.20", + "port-version": 6 + }, { "git-tree": "f1c471322f23a090a973337e83f0d9743adc549d", "version": "2.40.20", diff --git a/versions/l-/librsync.json b/versions/l-/librsync.json index 1233b9154e4736..5fde3f12aed3d4 100644 --- a/versions/l-/librsync.json +++ b/versions/l-/librsync.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "28eb3afb0d9fb4a4e84c59fb829f206f3e409152", + "version-semver": "2.3.4", + "port-version": 0 + }, + { + "git-tree": "1d252092a8f0d2ecbf57a4113324b363d4c43db1", + "version-semver": "2.3.2", + "port-version": 1 + }, { "git-tree": "e6fbc4e5fec56fbef5ac08d642e8b550a1c47490", "version-semver": "2.3.2", diff --git a/versions/l-/librtmp.json b/versions/l-/librtmp.json index 72021cfddbcffd..37256ae5728698 100644 --- a/versions/l-/librtmp.json +++ b/versions/l-/librtmp.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "dffe604262f6902df5c0beeb5e67650804ae2479", + "version-date": "2019-11-11", + "port-version": 4 + }, + { + "git-tree": "337fb3f8ed2cb44c9ed06d7dc8b00356e077aa40", + "version-date": "2019-11-11", + "port-version": 3 + }, { "git-tree": "f3b156fff5f461b63a2665c4ec4a9a805e5a5447", "version-date": "2019-11-11", diff --git a/versions/l-/librtpi.json b/versions/l-/librtpi.json new file mode 100644 index 00000000000000..13207a1c84d093 --- /dev/null +++ b/versions/l-/librtpi.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "6920412f6e855f637141ada5747c51c6e799c2e0", + "version": "1.0.1", + "port-version": 0 + }, + { + "git-tree": "a224c4751a43ecde77210db70bc9f0b233a1b9c0", + "version": "1.0.0", + "port-version": 1 + }, + { + "git-tree": "ccd041402709075b83bb6a23ff2c85ce6c8358ac", + "version": "1.0.0", + "port-version": 0 + } + ] +} diff --git a/versions/l-/librttopo.json b/versions/l-/librttopo.json index 5c3773f059b578..8da0fffffdf018 100644 --- a/versions/l-/librttopo.json +++ b/versions/l-/librttopo.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "adc1d3db75fdf633bfcf3ffd908a45005a576163", + "version": "1.1.0", + "port-version": 8 + }, + { + "git-tree": "d7e9514837d372d0a952762f6e7ea600c8a625f9", + "version": "1.1.0", + "port-version": 7 + }, + { + "git-tree": "83f4858afee7a92ece5923344f556b3900894eaf", + "version": "1.1.0", + "port-version": 6 + }, { "git-tree": "d747c88d429ff781b11627623d0958967f912a41", "version": "1.1.0", diff --git a/versions/l-/libsamplerate.json b/versions/l-/libsamplerate.json index 9917373de64f49..4e79b334c71031 100644 --- a/versions/l-/libsamplerate.json +++ b/versions/l-/libsamplerate.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "f21f2fca566e762cdc4fb4b808b075f3c5d3b444", + "version": "0.2.2", + "port-version": 1 + }, { "git-tree": "bb3644f62b521a50eebc5ede8718fc0669b1f6b5", "version-string": "0.2.2", diff --git a/versions/l-/libsass.json b/versions/l-/libsass.json index 1e5b38e6cef095..b7a8ec5f9715dc 100644 --- a/versions/l-/libsass.json +++ b/versions/l-/libsass.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "2bf8ed94dbbf360cd9cab9814995b73fa2f554ad", + "version": "3.6.6", + "port-version": 0 + }, + { + "git-tree": "9f688f8a8026f1078f224e7bcc4eef8fc21561a2", + "version": "3.6.5", + "port-version": 1 + }, { "git-tree": "f6568e763bc2718b27a5dc2d3d1db4d3cf651572", "version": "3.6.5", diff --git a/versions/l-/libsbml.json b/versions/l-/libsbml.json index 9dd6c3d51314de..e00d74be3f6402 100644 --- a/versions/l-/libsbml.json +++ b/versions/l-/libsbml.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "5610c6abee862e6ef538a8c62fde2c6ff62325e0", + "version": "5.20.2", + "port-version": 0 + }, + { + "git-tree": "9d718a41ed85525971eb0cc46dbb31e91673c576", + "version": "5.20.0", + "port-version": 1 + }, + { + "git-tree": "6b592087185a6576e30cc29e129bec77d12c4aeb", + "version": "5.20.0", + "port-version": 0 + }, + { + "git-tree": "9793402aaa4679187a9a703f189239544e3daf77", + "version": "5.19.0", + "port-version": 2 + }, { "git-tree": "12ec3d5ff69d3e8b960c03b9b0ae8127663227f5", "version": "5.19.0", diff --git a/versions/l-/libsecret.json b/versions/l-/libsecret.json index bdfe26d0a1a0c0..a6b0fc25ae3a5a 100644 --- a/versions/l-/libsecret.json +++ b/versions/l-/libsecret.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "fe57a1ceea0f28f2945dab68cca4e29358ca5e71", + "version": "0.21.4", + "port-version": 0 + }, + { + "git-tree": "56f3e1a575e955fb58859b9a50695c700f527325", + "version": "0.20.4", + "port-version": 2 + }, + { + "git-tree": "a5e91b4b0043a5deb14f9ab62710b3410e969d54", + "version": "0.20.4", + "port-version": 1 + }, { "git-tree": "28e3a8bccc8c6ba0b40bf89f178e293dd282959b", "version": "0.20.4", diff --git a/versions/l-/libsercomm.json b/versions/l-/libsercomm.json index 75c02eec9381af..40850b39f032d6 100644 --- a/versions/l-/libsercomm.json +++ b/versions/l-/libsercomm.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "69ddaa927709d1ff6f0e28ad74049da2fcd4ac6a", + "version": "1.3.2", + "port-version": 1 + }, { "git-tree": "85fa53c8aa1927afa7844c01b646a86de8803c30", "version": "1.3.2", diff --git a/versions/l-/libsersi.json b/versions/l-/libsersi.json new file mode 100644 index 00000000000000..293f70f18dc5cf --- /dev/null +++ b/versions/l-/libsersi.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "bfdfe9c36a1ab63c2f390eec51c01e665ebd23dd", + "version": "0.1.0", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libsigcpp.json b/versions/l-/libsigcpp.json index 4191440741216b..50cd59ba072cdf 100644 --- a/versions/l-/libsigcpp.json +++ b/versions/l-/libsigcpp.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "7acf22cbf38c907f3309b3478dd61dd9ed7a78f0", + "version": "3.6.0", + "port-version": 1 + }, + { + "git-tree": "1175893c04f864b29d4fd2052ab0daf7d83a3f7f", + "version": "3.6.0", + "port-version": 0 + }, + { + "git-tree": "4aba60e7d2936fd4a786b50f14cbdd99dbf21805", + "version": "3.4.0", + "port-version": 0 + }, + { + "git-tree": "7631555eb4ab142a7f643a266f79a87bc8aeca12", + "version": "3.2.0", + "port-version": 0 + }, { "git-tree": "bdb51863c5589b8e47c717b7c96a1ead39d4dd27", "version": "3.0.7", diff --git a/versions/l-/libslirp.json b/versions/l-/libslirp.json new file mode 100644 index 00000000000000..b32d5b7757afa5 --- /dev/null +++ b/versions/l-/libslirp.json @@ -0,0 +1,24 @@ +{ + "versions": [ + { + "git-tree": "bef9b504fbf03a1210018f21a7cf76413a27e08d", + "version-semver": "4.8.0", + "port-version": 0 + }, + { + "git-tree": "6946f40e08a89013e998d3bf397613bdf08cb581", + "version-semver": "4.7.0", + "port-version": 0 + }, + { + "git-tree": "3230fcf2c1b8018c5eac033b618f2cb35217772f", + "version-semver": "4.6.1", + "port-version": 1 + }, + { + "git-tree": "5a7b734c0850f035d3eb2abc2d3dbf6389124be5", + "version-semver": "4.6.1", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libsm.json b/versions/l-/libsm.json new file mode 100644 index 00000000000000..d479d742db62f8 --- /dev/null +++ b/versions/l-/libsm.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "c6104db124805dd5c763dc15cbaed0e42254241c", + "version": "1.2.3", + "port-version": 1 + }, + { + "git-tree": "5e2f29263e1b4b7198b9b564a2400b902f87ae51", + "version": "1.2.3", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libsmacker.json b/versions/l-/libsmacker.json new file mode 100644 index 00000000000000..23daa46b5ae2f7 --- /dev/null +++ b/versions/l-/libsmacker.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "5f1215439019175174db527493e0372d6f521eb7", + "version": "1.2.0", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libsmb2.json b/versions/l-/libsmb2.json index 3e27f55b66a2ee..b6fee31f2b3939 100644 --- a/versions/l-/libsmb2.json +++ b/versions/l-/libsmb2.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "e925ba41cc6441c6f2491462a26bea64d0cdeb16", + "version-date": "2023-08-11", + "port-version": 0 + }, + { + "git-tree": "a70cca2c9bcfe6b7848efbf21a9b2779b4e47055", + "version-date": "2021-04-29", + "port-version": 2 + }, + { + "git-tree": "2793ccd966a8c7b7cbe925000471c3ba3ef7d77b", + "version-date": "2021-04-29", + "port-version": 1 + }, { "git-tree": "033110ed64eb6d73a85ab8439c13b84b5ee02891", "version-date": "2021-04-29", diff --git a/versions/l-/libsndfile.json b/versions/l-/libsndfile.json index d0206cf84a9e2e..416229efccade2 100644 --- a/versions/l-/libsndfile.json +++ b/versions/l-/libsndfile.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "c973dc3a659457ad4bd00a68da7903b674720f69", + "version-semver": "1.2.2", + "port-version": 0 + }, + { + "git-tree": "f78736afe548520c2bd5675eec91a9c15112a0fb", + "version-semver": "1.2.0", + "port-version": 2 + }, + { + "git-tree": "6f4a276bfb9911abd9901cb6c977d7a132eff35d", + "version-semver": "1.2.0", + "port-version": 1 + }, + { + "git-tree": "50c34624e4951e4b4919717f63b8f4fcbdacf088", + "version-semver": "1.2.0", + "port-version": 0 + }, + { + "git-tree": "ee6720c9ecc42994e16325893fcc740b28210533", + "version-semver": "1.1.0", + "port-version": 1 + }, + { + "git-tree": "1ec8249a4721dda26735a12603defe2aa680c264", + "version-semver": "1.1.0", + "port-version": 0 + }, { "git-tree": "587283d6fa07092beece87351d1361506293ff59", "version-string": "1.0.31", diff --git a/versions/l-/libsnoretoast.json b/versions/l-/libsnoretoast.json index 513047f33c5864..026d6eaac4c0d1 100644 --- a/versions/l-/libsnoretoast.json +++ b/versions/l-/libsnoretoast.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "9931c3af48647454daf01f77ea23c63fc9aeb732", + "version": "0.8.0", + "port-version": 2 + }, { "git-tree": "66d0c5615dc55a5a5201e6de21d5a7acbaa4bd9b", "version": "0.8.0", diff --git a/versions/l-/libsodium.json b/versions/l-/libsodium.json index 248e4f7237aec1..5bffc1459aa4c1 100644 --- a/versions/l-/libsodium.json +++ b/versions/l-/libsodium.json @@ -1,5 +1,60 @@ { "versions": [ + { + "git-tree": "6dcb750702485c4dafac0b605b910b81e2c48831", + "version": "1.0.20", + "port-version": 3 + }, + { + "git-tree": "1b7b00b7cccd397e07fa2b1b3ce3725d3ebead29", + "version": "1.0.20", + "port-version": 2 + }, + { + "git-tree": "ab6a37dc1d297573d444a9ac29e2cbd496ff51c0", + "version": "1.0.20", + "port-version": 1 + }, + { + "git-tree": "5ac7f4518f3cf6bd123fd625b19e32b98beb3e41", + "version": "1.0.20", + "port-version": 0 + }, + { + "git-tree": "24563a7817fe403090f82593e4be4c3bc8219510", + "version": "1.0.19", + "port-version": 2 + }, + { + "git-tree": "38de4073e90ae48d9d7bc68db71b850b5645f5ab", + "version": "1.0.19", + "port-version": 1 + }, + { + "git-tree": "a8fa2db17dd4845eaa7b2ffd3c165a9d1fa31cce", + "version": "1.0.19", + "port-version": 0 + }, + { + "git-tree": "6c75abf2ec95a8c9b498d2e18e9f854d75941048", + "version": "1.0.18", + "port-version": 9 + }, + { + "git-tree": "72748d8d6030aac034e5b74229898016f833b33a", + "version": "1.0.18", + "port-version": 8 + }, + { + "git-tree": "9ffdf9b217021918c33311af9faa9b4a3086d004", + "version": "1.0.18", + "port-version": 7 + }, + { + "git-tree": "06e21819c9b176b52aa0b9226c3e2bc07ec20a23", + "version": "1.0.18", + "port-version": 6 + }, { "git-tree": "8b1c2632e8f7c23408a655d6c97b6d51ad354a19", "version": "1.0.18", diff --git a/versions/l-/libsonic.json b/versions/l-/libsonic.json new file mode 100644 index 00000000000000..e0c8976a623d8e --- /dev/null +++ b/versions/l-/libsonic.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "b81fb841c7bcf7ce50cedfbdec8ff83b627a2d7a", + "version": "0.2.0", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libsoundio.json b/versions/l-/libsoundio.json index 083e8b901d8e7e..ec01534aef60a3 100644 --- a/versions/l-/libsoundio.json +++ b/versions/l-/libsoundio.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "895bbc3021b113976442836aa6da51c3647fb3c7", + "version": "2.0.0", + "port-version": 7 + }, + { + "git-tree": "ff8356daa64c082441be7beb2d51c5360a54a6cd", + "version": "2.0.0", + "port-version": 6 + }, + { + "git-tree": "ea8a154b722a142045906b20d2df00a38d330d6b", + "version": "2.0.0", + "port-version": 5 + }, { "git-tree": "96de946826ca6aafdc9409f9d75f02a6d082cffb", "version": "2.0.0", diff --git a/versions/l-/libsoup.json b/versions/l-/libsoup.json new file mode 100644 index 00000000000000..76b85beab606f8 --- /dev/null +++ b/versions/l-/libsoup.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "5c5e6f3ab91b0e3509fa4938cabc5b02ce2c8b90", + "version": "3.6.0", + "port-version": 0 + }, + { + "git-tree": "cbe5884e8d78060a81c7d6b52ff1f69f059550d2", + "version": "3.4.4", + "port-version": 1 + }, + { + "git-tree": "967e4400de0619b73df7b3a48e392b36fa4cf6ba", + "version": "3.4.4", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libspatialindex.json b/versions/l-/libspatialindex.json index 9f034e9d08a700..60e6b15fdedf41 100644 --- a/versions/l-/libspatialindex.json +++ b/versions/l-/libspatialindex.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "add2a4242b540d512b39c2f69746304f29ee8bdc", + "version": "2.0.0", + "port-version": 0 + }, + { + "git-tree": "97b36055483a86131a19e83cde29ec1fbd0e87c3", + "version": "1.9.3", + "port-version": 3 + }, + { + "git-tree": "48179f2e21bb0918129f0f2d02cacb39f88ab347", + "version": "1.9.3", + "port-version": 1 + }, { "git-tree": "2e1fceafc0be5ea8fd1b2961104f46a5e29c9a6c", "version": "1.9.3", diff --git a/versions/l-/libspatialite.json b/versions/l-/libspatialite.json index 1e8dd8dd84c1ec..a38e3bd29c2fb6 100644 --- a/versions/l-/libspatialite.json +++ b/versions/l-/libspatialite.json @@ -1,5 +1,80 @@ { "versions": [ + { + "git-tree": "f8438c112988c7e7584e53cef7ada05875b78d57", + "version": "5.1.0", + "port-version": 2 + }, + { + "git-tree": "583ff9e938f0ca09b16f01fc5fb228b42dc13c7a", + "version": "5.1.0", + "port-version": 1 + }, + { + "git-tree": "6c988a575680cb06fded62a1f63d43426d683dfd", + "version": "5.1.0", + "port-version": 0 + }, + { + "git-tree": "ea959bb978266565d868fff1aed8641b56493131", + "version": "5.0.1", + "port-version": 12 + }, + { + "git-tree": "08ee2fddd99e37491e2ea37872716b5ff70f1d81", + "version": "5.0.1", + "port-version": 11 + }, + { + "git-tree": "da8932bd2fee04aa815f758bb119f072d39051d6", + "version": "5.0.1", + "port-version": 10 + }, + { + "git-tree": "b68031f4e06a096cf94f5b1c685f97b642667818", + "version": "5.0.1", + "port-version": 9 + }, + { + "git-tree": "f13da82a42aca5aa182c22cf8d582cc9019e91fc", + "version": "5.0.1", + "port-version": 8 + }, + { + "git-tree": "e92008bb08f680c156f894b77774f76b5ff89f21", + "version": "5.0.1", + "port-version": 7 + }, + { + "git-tree": "17b2434a466cabf41bd653845871d5b4ec6bfdeb", + "version": "5.0.1", + "port-version": 6 + }, + { + "git-tree": "27ff74dc3c1f0d6c5e11dbcc110f34e46dae862a", + "version": "5.0.1", + "port-version": 5 + }, + { + "git-tree": "4d7f5aa6151c1285c1b6cd5b6c03ee34db4c0c98", + "version": "5.0.1", + "port-version": 4 + }, + { + "git-tree": "ad90cccc74f447ccc40309956f67092c845fe40b", + "version": "5.0.1", + "port-version": 3 + }, + { + "git-tree": "35cc452ea0fc43d38cfca4d340e47f13c9fd740f", + "version": "5.0.1", + "port-version": 2 + }, + { + "git-tree": "9a0fe08cf3273de9def88a4fd388a1ade854cfac", + "version": "5.0.1", + "port-version": 1 + }, { "git-tree": "22ad27813f5f3bc3382718115ce3eb5a45174afd", "version": "5.0.1", diff --git a/versions/l-/libspnav.json b/versions/l-/libspnav.json index 33081a8b7df85d..353ca850d32046 100644 --- a/versions/l-/libspnav.json +++ b/versions/l-/libspnav.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "6c31fef991e0961c3194b1f9847469e98a1bdb03", + "version": "0.2.3", + "port-version": 2 + }, { "git-tree": "c34294f2e748d1600ca87ed7086a0ddcedb1a7b9", "version-string": "0.2.3", diff --git a/versions/l-/libspng.json b/versions/l-/libspng.json new file mode 100644 index 00000000000000..5c77ab884fea96 --- /dev/null +++ b/versions/l-/libspng.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "ed674df56d8b39d76443c7db3ae893c08394bf9c", + "version": "0.7.4", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libsquish.json b/versions/l-/libsquish.json index 4c70c7dece1950..16e4446df363f2 100644 --- a/versions/l-/libsquish.json +++ b/versions/l-/libsquish.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "eb13fe850ce51bd142d19b0662ba0d990efb5d77", + "version": "1.15", + "port-version": 14 + }, + { + "git-tree": "b6a8a3e697c1cfcd378bfe725d5994ac9e9dc6d3", + "version": "1.15", + "port-version": 13 + }, + { + "git-tree": "6a7a36071f8261b00c8720cbf8024df31c15650f", + "version": "1.15", + "port-version": 12 + }, + { + "git-tree": "3c259e069413fc51d82423f6c9842ad285e210e9", + "version": "1.15", + "port-version": 11 + }, + { + "git-tree": "9a7ae325bacc78d07dc92de654a877584cff0cca", + "version": "1.15", + "port-version": 10 + }, { "git-tree": "97da7fd0b127d2b07821950e5aee7acadbcd9d17", "version-string": "1.15", diff --git a/versions/l-/libsrt.json b/versions/l-/libsrt.json index aa407873239134..6518529953c7ca 100644 --- a/versions/l-/libsrt.json +++ b/versions/l-/libsrt.json @@ -1,5 +1,50 @@ { "versions": [ + { + "git-tree": "d9f3ed628ea5aed328a62750b1af9c4d9685225d", + "version": "1.5.3", + "port-version": 3 + }, + { + "git-tree": "578c7b45771245ff525647973280f997fef43d9b", + "version": "1.5.3", + "port-version": 2 + }, + { + "git-tree": "0ef5c07af28fb2b9c3ea49b40716593f14c48b8b", + "version": "1.5.3", + "port-version": 1 + }, + { + "git-tree": "6e18c5142063f271c53bf008d8421192743f968e", + "version": "1.5.3", + "port-version": 0 + }, + { + "git-tree": "96864197a0d35ea5a746ac1076b625c0372c37ae", + "version": "1.5.0", + "port-version": 3 + }, + { + "git-tree": "08022cd3b0ae3348a7af42013e5245fb5929d037", + "version": "1.5.0", + "port-version": 2 + }, + { + "git-tree": "67081a32f9ebb0639c8cdf50daf0da4db33dfd37", + "version": "1.5.0", + "port-version": 1 + }, + { + "git-tree": "eb7fad3230d33ce43f4e008d3ec92cb286fe01e5", + "version": "1.5.0", + "port-version": 0 + }, + { + "git-tree": "bec354df76b0c680977252a11a9e88b1ae6818b9", + "version": "1.4.4", + "port-version": 2 + }, { "git-tree": "8181eb237eec2ba795164edfbd47f69d6b8466d8", "version": "1.4.4", diff --git a/versions/l-/libsrtp.json b/versions/l-/libsrtp.json index eafc5bb2b67f59..b1a0349b21fa0c 100644 --- a/versions/l-/libsrtp.json +++ b/versions/l-/libsrtp.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "15577c99d2d078770d2e07d2bc8cce770797adb8", + "version": "2.5.0", + "port-version": 1 + }, + { + "git-tree": "27c325c9851b5c07e172e74e312e8070af7b9d0b", + "version": "2.5.0", + "port-version": 0 + }, + { + "git-tree": "d66d808ef040f2802ffa00ec6c4728d5603e76f9", + "version": "2.4.2", + "port-version": 3 + }, + { + "git-tree": "7c935c9b1559cab3460f928c2a6abb25271cfb65", + "version": "2.4.2", + "port-version": 2 + }, + { + "git-tree": "a7e8bce682acd4a29f666961a69127864cd93374", + "version": "2.4.2", + "port-version": 1 + }, { "git-tree": "20d89602c93b0aa1df176a8610b514b014375c8c", "version": "2.4.2", diff --git a/versions/l-/libssh.json b/versions/l-/libssh.json index e9fb5170c12953..1728c9d7477ad9 100644 --- a/versions/l-/libssh.json +++ b/versions/l-/libssh.json @@ -1,5 +1,65 @@ { "versions": [ + { + "git-tree": "0e899f7f2836ea17c95413604158205e5afb8378", + "version": "0.10.6", + "port-version": 0 + }, + { + "git-tree": "ceea3a79b4ab71a4cb342b33b1c9f95137b87a1b", + "version": "0.10.5", + "port-version": 2 + }, + { + "git-tree": "000173abb6b45433339e0c85179bd3b4e4a36684", + "version": "0.10.5", + "port-version": 1 + }, + { + "git-tree": "d6af07ebaeb4ab52ff509bc7637ad1d278d3d16b", + "version": "0.10.5", + "port-version": 0 + }, + { + "git-tree": "d2f4d398d1b82025b8aec8dba4e844f867286d38", + "version": "0.10.4+20221123", + "port-version": 4 + }, + { + "git-tree": "e15d10eb435fbd46abba95b50c8d47d2ff166603", + "version": "0.10.4+20221123", + "port-version": 3 + }, + { + "git-tree": "4c7fcb482d4861f5656bfbedcfdab39b67a7813f", + "version": "0.10.4+20221123", + "port-version": 2 + }, + { + "git-tree": "baa8d88a9e8de14901a3d6d59bab61220774854d", + "version": "0.10.4+20221123", + "port-version": 1 + }, + { + "git-tree": "fc1f60a58c33279b187a474890dd1a54cdc17062", + "version": "0.10.4+20221123", + "port-version": 0 + }, + { + "git-tree": "6de85714bb1e12c5e87284700f832fd08523e10d", + "version": "0.10.4", + "port-version": 0 + }, + { + "git-tree": "7023d2f926234da8e19b11cb3a6d1d37dfbb008c", + "version": "0.9.6", + "port-version": 2 + }, + { + "git-tree": "9e1cde44baefed40b0e994bfe088a7788f1efacf", + "version": "0.9.6", + "port-version": 1 + }, { "git-tree": "02a95a0ab1a26e3395173bc59e9f041f23b7f5c9", "version": "0.9.6", diff --git a/versions/l-/libssh2.json b/versions/l-/libssh2.json index 0d3fbfbeb86152..db8fcd8a4218c4 100644 --- a/versions/l-/libssh2.json +++ b/versions/l-/libssh2.json @@ -1,5 +1,45 @@ { "versions": [ + { + "git-tree": "0711b8dc1f6946f612076f4b60a60fa022e8e8e7", + "version": "1.11.1", + "port-version": 0 + }, + { + "git-tree": "6963d92a0f19203e7f8d4369b089cc4d1b613782", + "version": "1.11.0", + "port-version": 2 + }, + { + "git-tree": "a17fdd9cf1d6c1f7af5967ee961a41c6dcc40788", + "version": "1.11.0", + "port-version": 1 + }, + { + "git-tree": "e57c6157ce67a01ce0b98152d9ccfd544e32b381", + "version": "1.11.0", + "port-version": 0 + }, + { + "git-tree": "5d6f965bcf911a4750731aad9785a4b40686a2b3", + "version": "1.10.0", + "port-version": 4 + }, + { + "git-tree": "d1a340be6b7c2a25f42cf4de44c836a577477bfc", + "version": "1.10.0", + "port-version": 3 + }, + { + "git-tree": "944feb4094c60226c2526be764fed688bb8b334f", + "version": "1.10.0", + "port-version": 2 + }, + { + "git-tree": "3c6dd977de517dc2091377a58c55b7d23f2bc3a0", + "version": "1.10.0", + "port-version": 1 + }, { "git-tree": "996df01b95684f41e8870b9154aeea3bffc63840", "version": "1.10.0", diff --git a/versions/l-/libstemmer.json b/versions/l-/libstemmer.json index 1c1e6f3d89b42f..de7dc469489810 100644 --- a/versions/l-/libstemmer.json +++ b/versions/l-/libstemmer.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "121970e398a11c25667cd1393158fb76a105ba9b", + "version": "2021.2.2.0", + "port-version": 0 + }, + { + "git-tree": "df38970bafcdd4475d3d15732a891ad2f897bede", + "version": "2017-9", + "port-version": 8 + }, + { + "git-tree": "576c66a3306ca3023e63dcaf12edad79a3784f32", + "version-string": "2017-9", + "port-version": 7 + }, { "git-tree": "cf316e67e451a6b08bb44ff11854f613f32c7484", "version-string": "2017-9", diff --git a/versions/l-/libstk.json b/versions/l-/libstk.json index ab2aaf6107cdc2..860d4d0293744e 100644 --- a/versions/l-/libstk.json +++ b/versions/l-/libstk.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "799334749f6ca3302c25b1db53dd27d03f7b9f2b", + "version": "4.6.1", + "port-version": 3 + }, + { + "git-tree": "237ff5e1bfd88a6a20172fd888ac539749052486", + "version-string": "4.6.1", + "port-version": 2 + }, { "git-tree": "baa7a90e090c3793097d8368715e1e8f3b30a8ee", "version-string": "4.6.1", diff --git a/versions/l-/libsvm.json b/versions/l-/libsvm.json index aba9aa6c2e58d0..d0ff3dde95c477 100644 --- a/versions/l-/libsvm.json +++ b/versions/l-/libsvm.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "7b115a3d0c7ca2b5a5ad8b610b5488d7f46b30ee", + "version": "3.35", + "port-version": 0 + }, + { + "git-tree": "d4da9c9b61dde9237ef3eed114e812e46a923e1a", + "version": "3.32", + "port-version": 1 + }, + { + "git-tree": "322988838e09b1a1ce9766a803eab0e9867e0e1d", + "version": "3.32", + "port-version": 0 + }, + { + "git-tree": "6ee5de615b1449a216f61cb83ec2704e93a34495", + "version": "3.25", + "port-version": 1 + }, { "git-tree": "a5bcb4cdaf7906a6e12948dcb5b170f79fba900e", "version": "3.25", diff --git a/versions/l-/libsystemd.json b/versions/l-/libsystemd.json new file mode 100644 index 00000000000000..e2ff7b5fe2bb18 --- /dev/null +++ b/versions/l-/libsystemd.json @@ -0,0 +1,44 @@ +{ + "versions": [ + { + "git-tree": "03b20e5c1a908db5d38dd3fad3fa074c10e6b04b", + "version": "256.4", + "port-version": 0 + }, + { + "git-tree": "9b6ef432aa434e0b1f188e23e6d1309a9050ab0b", + "version": "256.2", + "port-version": 0 + }, + { + "git-tree": "4c173e2a6eaa6e20dae0122c0aee9ab9cfab82df", + "version": "255", + "port-version": 2 + }, + { + "git-tree": "a69dc63dcb8666fd4fb3885193dc67889fe65c72", + "version": "255", + "port-version": 1 + }, + { + "git-tree": "734f27b7651d9fcac8e1b30d9324075c65194094", + "version": "255", + "port-version": 0 + }, + { + "git-tree": "5213227454790bf5e953a66d807e04059742381e", + "version": "254", + "port-version": 2 + }, + { + "git-tree": "2ac525bd287e8a58992f263adce78483b0513cb0", + "version": "254", + "port-version": 1 + }, + { + "git-tree": "bc87d660ee35fa2665c12cbd8cb80896f21f99af", + "version": "254", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libtar.json b/versions/l-/libtar.json new file mode 100644 index 00000000000000..f78a73baa76d27 --- /dev/null +++ b/versions/l-/libtar.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "88cec24f0726abad060a2741dcd064b2698a886a", + "version": "1.2.20", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libtasn1.json b/versions/l-/libtasn1.json index ad952fc1aa5b62..2c27d015e4b05c 100644 --- a/versions/l-/libtasn1.json +++ b/versions/l-/libtasn1.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "d8d108b8c34710e58f52569772f13a406893c6ee", + "version": "4.19.0", + "port-version": 1 + }, + { + "git-tree": "a1922bb6cb0484a7aff7e4907285fc7f6d98fe4e", + "version": "4.19.0", + "port-version": 0 + }, { "git-tree": "c387ff2824b319ecd287ea3e5a507a8263dce95e", "version": "4.17.0", diff --git a/versions/l-/libtcod.json b/versions/l-/libtcod.json index eb40f06b1eb734..12ccd5c0d8d1ed 100644 --- a/versions/l-/libtcod.json +++ b/versions/l-/libtcod.json @@ -1,38 +1,68 @@ { "versions": [ { - "git-tree": "6ab01712cf4356c3364d01b0e2c2c8cbbad760a3", - "version-semver": "1.19.0", + "git-tree": "ae0678aa4f8c3675932de4d2e8986f4a5ca7d30e", + "version": "1.24.0", "port-version": 0 }, { - "git-tree": "e136d01e9084bb2c6bdc0494a6b6374adb29dbfa", - "version-semver": "1.18.0", + "git-tree": "09fe9037f9dc927b39eac5ed74cbce37dbb62f12", + "version": "1.23.1", "port-version": 0 }, { - "git-tree": "1d7bdb2a149f1fa7d4daa37fd02e9655273f503f", - "version-semver": "1.16.7", - "port-version": 2 + "git-tree": "43c6a88dc753dd9d7e106f8ee9c7bc26d4ed39b6", + "version": "1.23.0", + "port-version": 0 }, { - "git-tree": "40587cd0b117a21791c1da332c89c6e1a820e2a9", - "version-semver": "1.16.7", + "git-tree": "98a04c69b32d8e84d25d2913a2f0ad7ec7b4b833", + "version": "1.22.3", + "port-version": 0 + }, + { + "git-tree": "b8a26dfda1df684c3d88697b774c3e0a9c91f9b9", + "version": "1.22.2", + "port-version": 0 + }, + { + "git-tree": "08ac6efab8aa18d3c8e4bde44914495640e451a9", + "version": "1.22.1", + "port-version": 0 + }, + { + "git-tree": "598c5c5eb9ba1628257089e6397b7bbdd6723ee0", + "version": "1.21.0", + "port-version": 0 + }, + { + "git-tree": "34c13b63430589533e25be1fdec7afc8fbe68f6c", + "version": "1.20.1", "port-version": 1 }, { - "git-tree": "c8498087d7b87609436a7c5fb85c391592add740", - "version-string": "1.16.7", + "git-tree": "ec66d469b71cab685daede349e5193d15ab866c7", + "version": "1.20.1", "port-version": 0 }, { - "git-tree": "e2de0a47f3776252b6e04681c92d67b0730587ef", - "version-string": "1.16.6", + "git-tree": "6ab01712cf4356c3364d01b0e2c2c8cbbad760a3", + "version-semver": "1.19.0", + "port-version": 0 + }, + { + "git-tree": "e136d01e9084bb2c6bdc0494a6b6374adb29dbfa", + "version-semver": "1.18.0", "port-version": 0 }, { - "git-tree": "b4899dcf1740634e91d040b66259568ecafaa1b6", - "version-string": "1.16.4", + "git-tree": "1d7bdb2a149f1fa7d4daa37fd02e9655273f503f", + "version-semver": "1.16.7", + "port-version": 2 + }, + { + "git-tree": "e2de0a47f3776252b6e04681c92d67b0730587ef", + "version-string": "1.16.6", "port-version": 0 } ] diff --git a/versions/l-/libtess2.json b/versions/l-/libtess2.json new file mode 100644 index 00000000000000..d66629b3a162a7 --- /dev/null +++ b/versions/l-/libtess2.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "11b6d724d5897d2e856817ae213fec649c74530e", + "version-date": "2021-12-27", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libtheora.json b/versions/l-/libtheora.json index 3aa9a91bb98bf9..2829cd15d57652 100644 --- a/versions/l-/libtheora.json +++ b/versions/l-/libtheora.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "f6cc1235f841d9f9a7b7d1a278dc63b788c63659", + "version-string": "1.2.0alpha1-20170719", + "port-version": 7 + }, + { + "git-tree": "66646fe9dde7ac30894403ba659941879387904e", + "version-string": "1.2.0alpha1-20170719", + "port-version": 6 + }, + { + "git-tree": "ee3ae063e330da252b75c91b2b8a4a9392fc8a46", + "version-string": "1.2.0alpha1-20170719", + "port-version": 5 + }, + { + "git-tree": "77e6aad4fc7e821831290f3e17d368ea17609117", + "version-string": "1.2.0alpha1-20170719", + "port-version": 4 + }, { "git-tree": "f54e2dbc66d96847b2b075baa7ae3a4cc032328d", "version-string": "1.2.0alpha1-20170719", diff --git a/versions/l-/libtins.json b/versions/l-/libtins.json index 4089a88cfc5e47..f616561cdb74e2 100644 --- a/versions/l-/libtins.json +++ b/versions/l-/libtins.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "2aca4b43d1b64057b5316e609514d41ee7013c4b", + "version": "4.5", + "port-version": 0 + }, + { + "git-tree": "30fbfd14d90e9aedac77f8272135a7e51444b01f", + "version": "4.3", + "port-version": 7 + }, + { + "git-tree": "4a1470befea5c6b5c7418f9b85f37d6f8733d7d5", + "version": "4.3", + "port-version": 6 + }, + { + "git-tree": "9abc8b1a535ffaf99a680412cfd8f0c743c3fc6d", + "version": "4.3", + "port-version": 5 + }, + { + "git-tree": "de1a1dc51c90ca57412fe5f8d57eeef42a41ec74", + "version": "4.3", + "port-version": 4 + }, + { + "git-tree": "909dcc117f47579bc754369cd0a7a9d5a66b23bc", + "version-string": "4.3", + "port-version": 3 + }, { "git-tree": "b853d9ee6a83bba8f0d0b6e568b664b9729aadea", "version-string": "4.3", diff --git a/versions/l-/libtomcrypt.json b/versions/l-/libtomcrypt.json index 11775d9b224372..7bf9486a157c33 100644 --- a/versions/l-/libtomcrypt.json +++ b/versions/l-/libtomcrypt.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "ef279d3115e2f464337bed057d24e9072a3918e7", + "version": "1.18.2", + "port-version": 3 + }, { "git-tree": "b339006b76f8211aa40e6d88fc6adc843d1048fa", "version-string": "1.18.2", diff --git a/versions/l-/libtommath.json b/versions/l-/libtommath.json index f1a832ad50cde8..a723931d395787 100644 --- a/versions/l-/libtommath.json +++ b/versions/l-/libtommath.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "2fd65dd0d956f575d8333a0b35ef08c3bc9bcbcd", + "version": "1.3.0", + "port-version": 0 + }, + { + "git-tree": "cc02d14942e13f536bc7d8d08d9af160f8bbd387", + "version": "1.2.1", + "port-version": 0 + }, + { + "git-tree": "70acf033d012ad744340243d73cdd40b07501f0e", + "version": "1.2.0", + "port-version": 3 + }, { "git-tree": "745f0ffe9bd56bb065e987124a7d0afebc445dc2", "version-string": "1.2.0", diff --git a/versions/l-/libtorch.json b/versions/l-/libtorch.json new file mode 100644 index 00000000000000..a2385e25f38450 --- /dev/null +++ b/versions/l-/libtorch.json @@ -0,0 +1,74 @@ +{ + "versions": [ + { + "git-tree": "e738e2da09a82affc4bf4090d8c672579364231b", + "version": "2.1.2", + "port-version": 7 + }, + { + "git-tree": "12485495c895b105a0b0a35558edce15579a5a98", + "version": "2.1.2", + "port-version": 6 + }, + { + "git-tree": "6d1fe8207d6f9680a243fe20ed6a222f1174d708", + "version": "2.1.2", + "port-version": 5 + }, + { + "git-tree": "669a1f2317ab243ad046d2a48b96ed72e82976d8", + "version": "2.1.2", + "port-version": 4 + }, + { + "git-tree": "cfd452fa297b8737790b9dae9db4bd027e47955e", + "version": "2.1.2", + "port-version": 3 + }, + { + "git-tree": "dc47289cdf640ce30bdd1039a49264c8381c2b19", + "version": "2.1.2", + "port-version": 2 + }, + { + "git-tree": "19855d043442630ea2d8060e49c66cc50c0c9d7a", + "version": "2.1.2", + "port-version": 1 + }, + { + "git-tree": "418db4a2514c9530b67097fca0ce7cafde5a2a15", + "version": "2.1.2", + "port-version": 0 + }, + { + "git-tree": "20a2f323fb33dab29315fd18217e263ade2a9bd6", + "version": "1.12.1", + "port-version": 5 + }, + { + "git-tree": "de2d4bfd4a26268b29c3be02790c16d23ecd3d5e", + "version": "1.12.1", + "port-version": 4 + }, + { + "git-tree": "7f8ee520ffcef31a008c2c73b1155b38151ebae4", + "version": "1.12.1", + "port-version": 3 + }, + { + "git-tree": "1fb6e115393430795e4173a45155e80c5462cd00", + "version": "1.12.1", + "port-version": 2 + }, + { + "git-tree": "99e1c00f462716fc1899f7c0f5773e5dccbe8ee8", + "version": "1.12.1", + "port-version": 1 + }, + { + "git-tree": "c9504da41dc33e2294aeda9e3c215c505f1627d0", + "version": "1.12.1", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libtorrent.json b/versions/l-/libtorrent.json index 919372b2ee67ac..2427821cd91afc 100644 --- a/versions/l-/libtorrent.json +++ b/versions/l-/libtorrent.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "53949de9ace82d74179d388d9cd26f164a823657", + "version": "2.0.10", + "port-version": 0 + }, + { + "git-tree": "659f86cfa8b1e0f62ba1d7c6376ec5d7f292fb7c", + "version": "2.0.9", + "port-version": 0 + }, + { + "git-tree": "884acf58813237198df4d1265661ad93b6b57955", + "version": "2.0.8", + "port-version": 0 + }, + { + "git-tree": "d1c101af3351c28c84e89394e1fb6826352bec76", + "version": "2.0.7", + "port-version": 0 + }, + { + "git-tree": "1ca0a5e5498fe7a999d78650e6ae935cebf1d764", + "version": "2.0.6", + "port-version": 0 + }, + { + "git-tree": "e27617cd7ff2be85ee0c2d4a60be16cee95f1302", + "version": "2.0.5", + "port-version": 0 + }, + { + "git-tree": "eec22cb36f26cc1cd10714a8bdd974b451ba9832", + "version": "1.2.14", + "port-version": 2 + }, { "git-tree": "8ee811432c2056d11d9f2d346142c2c1be44a328", "version": "1.2.14", diff --git a/versions/l-/libtracepoint-control.json b/versions/l-/libtracepoint-control.json new file mode 100644 index 00000000000000..90b5d64e1a8765 --- /dev/null +++ b/versions/l-/libtracepoint-control.json @@ -0,0 +1,39 @@ +{ + "versions": [ + { + "git-tree": "77d1f20773ba8b6d4cb0bd56c508a11521bb6577", + "version": "1.4.0", + "port-version": 0 + }, + { + "git-tree": "b43d20ba774f4d86540350bd84f420e1bcaa386b", + "version": "1.3.3", + "port-version": 1 + }, + { + "git-tree": "a7ecad1d1d9fe9cebd7c2fa230a505d2de1b9087", + "version": "1.3.3", + "port-version": 0 + }, + { + "git-tree": "4b05ff61de046e0087a9afc28e4c1dad8cdab354", + "version": "1.3.2", + "port-version": 0 + }, + { + "git-tree": "26f974a4e3a3dbbdea53a0111f0e854875df4f62", + "version": "1.3.0", + "port-version": 0 + }, + { + "git-tree": "410f33d930822507551474d486031021c4fea1dd", + "version": "1.2.1", + "port-version": 0 + }, + { + "git-tree": "46fe85ffc8eb1f431685a49dace1cf330d54d6c9", + "version": "1.1.0", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libtracepoint-decode.json b/versions/l-/libtracepoint-decode.json new file mode 100644 index 00000000000000..5ac15adddba908 --- /dev/null +++ b/versions/l-/libtracepoint-decode.json @@ -0,0 +1,34 @@ +{ + "versions": [ + { + "git-tree": "27e3b141818c89cc05ff4d66ee23f0b945ef8e2f", + "version": "1.4.0", + "port-version": 0 + }, + { + "git-tree": "1e04ce7805f13762e06cd0bb01069e1b27f283f2", + "version": "1.3.3", + "port-version": 0 + }, + { + "git-tree": "a0783b839d7fd6457a9f26ec6c51d85e51aa7104", + "version": "1.3.0", + "port-version": 0 + }, + { + "git-tree": "51ab3448c97daa75b873c3e4b70f2894908fc2f4", + "version": "1.2.1", + "port-version": 0 + }, + { + "git-tree": "3559772cf7c926b54b92bdc0e72ecaa9e06534d6", + "version": "1.1.0", + "port-version": 0 + }, + { + "git-tree": "6bd99da97aa18ca05fd3a67eb77f6df1ea210d2e", + "version": "1.0.0", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libtracepoint.json b/versions/l-/libtracepoint.json new file mode 100644 index 00000000000000..58080c3407fe4c --- /dev/null +++ b/versions/l-/libtracepoint.json @@ -0,0 +1,44 @@ +{ + "versions": [ + { + "git-tree": "914ce95e52f114854f76063fda0789ba1590f897", + "version": "1.4.0", + "port-version": 0 + }, + { + "git-tree": "4f06adb290d6c05a65c1c62c8e37edc43f33eeac", + "version": "1.3.3", + "port-version": 1 + }, + { + "git-tree": "48afed6e8645bb1e96e453d14f730f984b41ba6c", + "version": "1.3.3", + "port-version": 0 + }, + { + "git-tree": "f0d01d006dcaa8c61e29447694069bf652141d11", + "version": "1.3.2", + "port-version": 0 + }, + { + "git-tree": "701e69ab507fc9cd97aaf936d5b82dfebe17c046", + "version": "1.3.0", + "port-version": 0 + }, + { + "git-tree": "9f85708521c851b4c64ad10c04ad0261343fef25", + "version": "1.2.1", + "port-version": 0 + }, + { + "git-tree": "0106479d49132d017d8c89f4189bce8cb4251479", + "version": "1.1.0", + "port-version": 0 + }, + { + "git-tree": "f60f9a909a55a04c9bc87b6a3e10df5f0faec1a4", + "version": "1.0.0", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libu2f-server.json b/versions/l-/libu2f-server.json index cb3a974df37f3e..19f2e136dd81d3 100644 --- a/versions/l-/libu2f-server.json +++ b/versions/l-/libu2f-server.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "5d1eea42e71fe87d9270b391a2297326e698fdef", + "version": "1.1.0", + "port-version": 5 + }, + { + "git-tree": "cb5d1d70d0e3baab221910b12b33e9e34fd383f2", + "version": "1.1.0", + "port-version": 4 + }, { "git-tree": "1939b985161f406db50f8e455a5b7c4ada800596", "version-string": "1.1.0", diff --git a/versions/l-/libudis86.json b/versions/l-/libudis86.json index 0e098416d243c0..d0862ebdd85fda 100644 --- a/versions/l-/libudis86.json +++ b/versions/l-/libudis86.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "8c8ceebe8069429a1f3df2c57e36ce032b73bb53", + "version-date": "2018-01-28", + "port-version": 4 + }, + { + "git-tree": "db5757ef908acdfdb58b06da531d1a10aba11f69", + "version-date": "2018-01-28", + "port-version": 3 + }, + { + "git-tree": "22693ee63d17429c0430a2888b515a047cbb4c7d", + "version-string": "2018-01-28-56ff6c87", + "port-version": 2 + }, { "git-tree": "e8ab6af2cfbbb52901433f92f0c028bc766ce3ae", "version-string": "2018-01-28-56ff6c87", diff --git a/versions/l-/libudns.json b/versions/l-/libudns.json index f1851a16901814..d8768005bb461f 100644 --- a/versions/l-/libudns.json +++ b/versions/l-/libudns.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "3fbf0256b3d800d6d8ad4b905a05c4533ba82d8a", + "version": "0.4", + "port-version": 6 + }, + { + "git-tree": "b5b2efa89aac8ab7f97487cf72ed8aa489b2c6af", + "version": "0.4", + "port-version": 5 + }, { "git-tree": "277ba57e6f9840670698c62196ea9b30c74485e0", "version-string": "0.4", diff --git a/versions/l-/libui.json b/versions/l-/libui.json index 2c5c16298a5f3e..15e4599ca71a8e 100644 --- a/versions/l-/libui.json +++ b/versions/l-/libui.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "2eac6098c733ccc84e2c69092ac8cfd6499af3be", + "version-date": "2018-11-03", + "port-version": 3 + }, { "git-tree": "941bfc035a8cfa6020be3475769732b027249a1d", "version-date": "2018-11-03", diff --git a/versions/l-/libunibreak.json b/versions/l-/libunibreak.json index ebb9099296bdc9..f421be5d020950 100644 --- a/versions/l-/libunibreak.json +++ b/versions/l-/libunibreak.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "4970494282744de3fbdc2e964fa9d96ad3ddc27e", + "version": "6.1", + "port-version": 1 + }, + { + "git-tree": "cf6623da9e4002c21327a8ea1451fccc0f54a5ce", + "version": "6.1", + "port-version": 0 + }, + { + "git-tree": "82fb16a307e33e75cbdbd3726f4b7bbcea42eb23", + "version": "5.1", + "port-version": 0 + }, + { + "git-tree": "724f588851a5f81f6ddd8eb1fc01a45bedfa5517", + "version": "5.0", + "port-version": 1 + }, + { + "git-tree": "ab89a270477d6d97e3d70c4503ee573f1ca8e539", + "version": "5.0", + "port-version": 0 + }, { "git-tree": "f1fb2965625f4dc28c5ab3c4e0a8a128901a0f0e", "version-string": "4.3", diff --git a/versions/l-/libunifex.json b/versions/l-/libunifex.json index 2eb60baac970a1..c41999680115b6 100644 --- a/versions/l-/libunifex.json +++ b/versions/l-/libunifex.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "e7524481edfefbd5145b3a1d5a4caad55601e714", + "version": "0.4.0", + "port-version": 0 + }, + { + "git-tree": "c60e3416d322f4e80f25e565190f679c99967931", + "version": "0.3.0", + "port-version": 0 + }, + { + "git-tree": "4cc9469cbd38b11cc3966599bcb60c29d4dc34bc", + "version-date": "2023-01-25", + "port-version": 2 + }, + { + "git-tree": "f3613daa6d59dd1ebb7077c181171b9f60f21ced", + "version-date": "2023-01-25", + "port-version": 1 + }, + { + "git-tree": "b199e662b7eadaba2830a26892c2174b7f4ba3b3", + "version-date": "2023-01-25", + "port-version": 0 + }, + { + "git-tree": "3d86e12f11e6d8e0528f4dfc62ccd33df1185673", + "version-date": "2021-12-07", + "port-version": 1 + }, + { + "git-tree": "713acea62d9dab0d2dd99d0790b9f716f9b9e971", + "version-date": "2021-12-07", + "port-version": 0 + }, { "git-tree": "7c98590771b98cb8c31e49867e78983853307a1f", "version-date": "2021-08-01", diff --git a/versions/l-/libunistring.json b/versions/l-/libunistring.json index 3651b41cfc3cb9..d7d02e4e4e8bd2 100644 --- a/versions/l-/libunistring.json +++ b/versions/l-/libunistring.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "e8074c00d32a1844c5ce8edbe3a9cad3a2e4f5ae", + "version": "1.2", + "port-version": 0 + }, + { + "git-tree": "2ba0cbad49845cff90c4368b3e2459a9fdd18c00", + "version": "1.1", + "port-version": 3 + }, + { + "git-tree": "8bcb2f939ea16732abab03352b951cf12713bc54", + "version": "1.1", + "port-version": 2 + }, + { + "git-tree": "a5511958230904a505b18af4043c5b51512d8684", + "version": "1.1", + "port-version": 1 + }, + { + "git-tree": "6ebb68b893ecddce91b3370a72e5575b8895a7df", + "version": "1.1", + "port-version": 0 + }, + { + "git-tree": "2ae1c5ae3927f718073792b5cb86fa434b5c8c49", + "version": "0.9.10", + "port-version": 3 + }, + { + "git-tree": "1d6ff819975c70dc53d9aefa5d9046a0a21617b4", + "version": "0.9.10", + "port-version": 2 + }, { "git-tree": "7e74b9d781041b3a5c09b72f77b8e79ea6add168", "version": "0.9.10", diff --git a/versions/l-/libunwind.json b/versions/l-/libunwind.json new file mode 100644 index 00000000000000..cac51eb2a9c3ed --- /dev/null +++ b/versions/l-/libunwind.json @@ -0,0 +1,34 @@ +{ + "versions": [ + { + "git-tree": "535c5df0f63ffbfd8bb48e564758d20e2bad192c", + "version": "1.8.1", + "port-version": 3 + }, + { + "git-tree": "d9bd4526e93e77c007518879e00a2cc163a87d20", + "version": "1.8.1", + "port-version": 2 + }, + { + "git-tree": "e96e575a728361e6c29a57287a0050ad325e88fb", + "version": "1.8.1", + "port-version": 1 + }, + { + "git-tree": "5fa5d5fa4e60c42c059eb26e5b34650b8bdf6b0e", + "version": "1.8.1", + "port-version": 0 + }, + { + "git-tree": "3e1ae4e9ac079e529efa51416aef23cb20246e3d", + "version": "1.8.0", + "port-version": 0 + }, + { + "git-tree": "294a42641c25a25372ce73673ad0ec151ed50fac", + "version": "1.7.2", + "port-version": 0 + } + ] +} diff --git a/versions/l-/liburing.json b/versions/l-/liburing.json index 0ec46a4a754a02..486654d28186d8 100644 --- a/versions/l-/liburing.json +++ b/versions/l-/liburing.json @@ -1,5 +1,80 @@ { "versions": [ + { + "git-tree": "aadbba17ecb5910ff9da4e903f822e700aa29f8d", + "version": "2.7", + "port-version": 1 + }, + { + "git-tree": "ad61eac7577882455b11c4347d77ece27a42256b", + "version": "2.7", + "port-version": 0 + }, + { + "git-tree": "1eb251967045d5abea90234fe6d22e11516db11c", + "version": "2.6", + "port-version": 1 + }, + { + "git-tree": "cc1fc9dc65b195c71976c1777a27c4de2b6a7b1e", + "version": "2.6", + "port-version": 0 + }, + { + "git-tree": "b66acf8da313f79a9cdcc12ee6daf8f621e7bcce", + "version": "2.5", + "port-version": 0 + }, + { + "git-tree": "317cfa2c23f9e0e285b1c36140cdb54739ebf328", + "version": "2.4", + "port-version": 0 + }, + { + "git-tree": "c51f4ef4488799a1c1389216ea8f7cec8be14b62", + "version": "2.3", + "port-version": 1 + }, + { + "git-tree": "0c8b60f54ff0c4e9a0ae2a1a2cbcf72e2cfeaf04", + "version": "2.3", + "port-version": 0 + }, + { + "git-tree": "92a2fd81331f9b6ad3119a166ed18159499fa403", + "version": "2.2", + "port-version": 2 + }, + { + "git-tree": "e41ee56c7ceb8925a59b8d427a63990f581c0328", + "version": "2.2", + "port-version": 1 + }, + { + "git-tree": "8d783b3db24821bcd85fcdbb5673b03613653e01", + "version": "2.2", + "port-version": 0 + }, + { + "git-tree": "2abcbd2b104e5dbd5406cac8f3f9a3ae7fc47647", + "version": "2.1", + "port-version": 0 + }, + { + "git-tree": "10bf5144950610a1f587342c5107bf4fdfb52658", + "version": "2.0", + "port-version": 3 + }, + { + "git-tree": "65bbf5b3f642b9e76a659d78a9077d207c827b76", + "version": "2.0", + "port-version": 2 + }, + { + "git-tree": "e193d537e05887e8efeae8ab1328dc7e33499e01", + "version": "2.0", + "port-version": 1 + }, { "git-tree": "b4d90242721d15d6dc5287690c3b8d42c2e8d0f0", "version": "2.0", diff --git a/versions/l-/libusb-win32.json b/versions/l-/libusb-win32.json index df798ee16f055d..a1d4034cb027a3 100644 --- a/versions/l-/libusb-win32.json +++ b/versions/l-/libusb-win32.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "af8b466e97e4d465147eb08289328d9cdf6f077d", + "version": "1.2.6.0", + "port-version": 10 + }, + { + "git-tree": "33a59191d5fa27f6d37b37e39dd1f100d4faed0f", + "version": "1.2.6.0", + "port-version": 9 + }, + { + "git-tree": "fd3ac7f3d9331b546a957f651f9f911d69d7ef4f", + "version-string": "1.2.6.0", + "port-version": 8 + }, { "git-tree": "a75f1e3bedf1a31e8c812d07c24eb867fdd74a29", "version-string": "1.2.6.0", diff --git a/versions/l-/libusb.json b/versions/l-/libusb.json index bc378e31b37455..6f2289400924ca 100644 --- a/versions/l-/libusb.json +++ b/versions/l-/libusb.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "0f2e2537b1adc23e54eb130e497433f0c377d7b4", + "version": "1.0.27", + "port-version": 2 + }, + { + "git-tree": "da092fa023f47e3307d55a85bafb31a9c801b715", + "version": "1.0.27", + "port-version": 1 + }, + { + "git-tree": "b46d634782590b2e45f3a1202144c4e4235a2a43", + "version": "1.0.27", + "port-version": 0 + }, + { + "git-tree": "ae02e3ed7014fe0c328b2c3ec6ed60cff9c0b956", + "version": "1.0.26.11791", + "port-version": 7 + }, + { + "git-tree": "53ad48778a3278668b2ede66ac49fa20a9d03414", + "version": "1.0.26.11791", + "port-version": 6 + }, + { + "git-tree": "f4d325ede3cd1de2acd9a2d8f2708ec1e758cf0a", + "version": "1.0.26.11791", + "port-version": 5 + }, + { + "git-tree": "1e6400f24988b86ad461447df4eef8efc56a919f", + "version": "1.0.26.11791", + "port-version": 4 + }, + { + "git-tree": "d286a5e0a74eda464b96375fe35cba969dfc2545", + "version": "1.0.26.11791", + "port-version": 3 + }, + { + "git-tree": "87cd196b403364febf719d64fe6f08ab0bf6b285", + "version": "1.0.26.11791", + "port-version": 2 + }, + { + "git-tree": "653d47743e90abaa28a3d17b49fe479a0096f8ef", + "version": "1.0.26.11791", + "port-version": 1 + }, + { + "git-tree": "230bacd99c77786d65d0cfe9ba51ec472521c382", + "version": "1.0.26.11791", + "port-version": 0 + }, + { + "git-tree": "540652cc1251aa3894206c20296f6119da1ccea4", + "version": "1.0.26", + "port-version": 3 + }, + { + "git-tree": "0fde9742f99465a4029efa4b552f3c2ed276ec6a", + "version": "1.0.26", + "port-version": 2 + }, + { + "git-tree": "bd3501fc0abc3d7ce598175f8f7f593f642a4973", + "version": "1.0.26", + "port-version": 1 + }, + { + "git-tree": "67fc457e16066e047803888e45b8ea3aaf713501", + "version": "1.0.26", + "port-version": 0 + }, + { + "git-tree": "337aac12b9bf6aab68dd1375c3592f1575efbda9", + "version": "1.0.24", + "port-version": 7 + }, { "git-tree": "489d07fb5a6ada487532ea3cc5390a50e7feef02", "version": "1.0.24", diff --git a/versions/l-/libusbmuxd.json b/versions/l-/libusbmuxd.json index c378816e63a7b2..f040decbac8f81 100644 --- a/versions/l-/libusbmuxd.json +++ b/versions/l-/libusbmuxd.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "ba5bfe9a2e679d22d3b3b520e432c493df3919e9", + "version-date": "2023-06-21", + "port-version": 1 + }, + { + "git-tree": "7a9145917e1df41e8820d26c2e167f3839d7a947", + "version-date": "2023-06-21", + "port-version": 0 + }, + { + "git-tree": "82278a08f20aabe20c5ba0981de631ad6f9df469", + "version": "1.2.219", + "port-version": 3 + }, + { + "git-tree": "2d6ac12d94326fae11d86e39030433003251aa62", + "version": "1.2.219", + "port-version": 2 + }, { "git-tree": "a50e755ad62ff56d5012dd84e0ccd196175a807c", "version-string": "1.2.219", diff --git a/versions/l-/libusbp.json b/versions/l-/libusbp.json new file mode 100644 index 00000000000000..3d112db53812dd --- /dev/null +++ b/versions/l-/libusbp.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "daf8ebcc9f66cd78734a4cc0f7cc9234f925d3f3", + "version": "1.3.1", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libuuid.json b/versions/l-/libuuid.json index a927d01b3e0e65..95e9210f42eb84 100644 --- a/versions/l-/libuuid.json +++ b/versions/l-/libuuid.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "09be6774f518692bc418aa03623cc9dbc19e6516", + "version": "1.0.3", + "port-version": 14 + }, + { + "git-tree": "356948d66a6dd59bd830d26c78d1df673de20ea1", + "version": "1.0.3", + "port-version": 13 + }, + { + "git-tree": "70aca4a70f3235201b05de87aa7ee6258d7c0231", + "version": "1.0.3", + "port-version": 12 + }, + { + "git-tree": "4d0fcae0591fc7776a9cf39996796326222e72ad", + "version": "1.0.3", + "port-version": 11 + }, + { + "git-tree": "47283ef4bb45ef38cfd61160bc1cec2d69e572b4", + "version": "1.0.3", + "port-version": 10 + }, + { + "git-tree": "a545c6c9bf405bd60cb97d6e2086f1273f5a3321", + "version": "1.0.3", + "port-version": 9 + }, { "git-tree": "4058a76786f399c80e1973a4101e8291032b3e9b", "version": "1.0.3", diff --git a/versions/l-/libuv.json b/versions/l-/libuv.json index 56c9a2b88873a1..0e0fed6c411735 100644 --- a/versions/l-/libuv.json +++ b/versions/l-/libuv.json @@ -1,5 +1,60 @@ { "versions": [ + { + "git-tree": "e894cf3c8d353e40f1822b8fe302b720a705f6d8", + "version-semver": "1.49.2", + "port-version": 0 + }, + { + "git-tree": "81bdbea50fcae6cbb7589016444ef5d7eb0cd00b", + "version-semver": "1.49.1", + "port-version": 0 + }, + { + "git-tree": "d8421eb2714bd3fecadc7daf7d517212e4ae1aff", + "version-semver": "1.49.0", + "port-version": 0 + }, + { + "git-tree": "9acba527010351e148700213675f5ed81fd2300e", + "version-semver": "1.48.0", + "port-version": 1 + }, + { + "git-tree": "eb297582074da541775cf29ad02a7dfe8a5a57e1", + "version-semver": "1.48.0", + "port-version": 0 + }, + { + "git-tree": "2267bb7c14ae2201b02e2d708631e4a228355543", + "version-semver": "1.46.0", + "port-version": 1 + }, + { + "git-tree": "0cd421b9c0bc8a89bf76892f99c87560cbde8d93", + "version-semver": "1.46.0", + "port-version": 0 + }, + { + "git-tree": "c99175c380930fd7a51719f7247618cceaa51529", + "version-semver": "1.45.0", + "port-version": 0 + }, + { + "git-tree": "dad61360b9c0fb825e23a4ccc01dcd9658e2f253", + "version-semver": "1.44.2", + "port-version": 0 + }, + { + "git-tree": "4560e3046488c518b6573a14d7ad063a02f52db9", + "version-semver": "1.44.1", + "port-version": 0 + }, + { + "git-tree": "fa2d73ef2b9197ea47572bc783826b650ed04f0f", + "version-semver": "1.43.0", + "port-version": 0 + }, { "git-tree": "2cb9ed135277e1b121fbf0a391be6a8d5cb2ddcf", "version-semver": "1.42.0", diff --git a/versions/l-/libuvc.json b/versions/l-/libuvc.json index 5aa43cece35808..6450430122084f 100644 --- a/versions/l-/libuvc.json +++ b/versions/l-/libuvc.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "7cf3400169bca9ff80a66ef8489038932eeed047", + "version": "0.0.7", + "port-version": 1 + }, + { + "git-tree": "930185d807e87c0ebec6aefd21e2ca336ee0cc3c", + "version": "0.0.7", + "port-version": 0 + }, + { + "git-tree": "578c4d06e3d518e46edee324e3c8048826c503ec", + "version-date": "2020-11-24", + "port-version": 4 + }, + { + "git-tree": "b254a9fb5aa3fc5d709a3f708d9c3dbb5d0a26bd", + "version-date": "2020-11-24", + "port-version": 3 + }, { "git-tree": "79ca2fc9bcce260bf39d630dcac5a2cc2cb7f486", "version-date": "2020-11-24", diff --git a/versions/l-/libvault.json b/versions/l-/libvault.json new file mode 100644 index 00000000000000..50fb2705bcfcfe --- /dev/null +++ b/versions/l-/libvault.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "dcdc4c8aa3972fd6419a4203105ac1d57444b30f", + "version": "0.61.0", + "port-version": 0 + }, + { + "git-tree": "3ab55180dfc75f58d833bae81f6e303416c992e6", + "version": "0.56.0", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libvhdi.json b/versions/l-/libvhdi.json new file mode 100644 index 00000000000000..0d9e6aae72a745 --- /dev/null +++ b/versions/l-/libvhdi.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "60ba1f9b6d3e8d3a5543c8f7b85cd42939bb1960", + "version": "20231127", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libvmaf.json b/versions/l-/libvmaf.json new file mode 100644 index 00000000000000..92fdcfe39f7572 --- /dev/null +++ b/versions/l-/libvmaf.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "01baad74661c761572624fd0eed900ee6fc7b2eb", + "version": "3.0.0", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libvmdk.json b/versions/l-/libvmdk.json index d2569ca29137b2..6efd612a10eaa0 100644 --- a/versions/l-/libvmdk.json +++ b/versions/l-/libvmdk.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "83b05d9f7856924b78b137ce5f048c74e995e36d", + "version": "20221124", + "port-version": 1 + }, + { + "git-tree": "2065c045d5787d9fff6469d31fe6bbe2f925d367", + "version": "20221124", + "port-version": 0 + }, + { + "git-tree": "1e57cc839896d460f87ccf1a48562dcb876f7f6b", + "version": "20200926", + "port-version": 4 + }, + { + "git-tree": "f7144e40ca7cfd22875c2aa308e4e9b023ef3033", + "version-string": "20200926", + "port-version": 3 + }, + { + "git-tree": "f1d35304c7ab4940f834735c091eca7a2ee43305", + "version-string": "20200926", + "port-version": 2 + }, { "git-tree": "8efc63f616daad6af987a274eb292d2605bd8f4b", "version-string": "20200926", diff --git a/versions/l-/libvorbis.json b/versions/l-/libvorbis.json index 03309caf18c533..194aabd330af46 100644 --- a/versions/l-/libvorbis.json +++ b/versions/l-/libvorbis.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "23d11198ff2df7a3af54f1c4645ef71a141f2a85", + "version": "1.3.7", + "port-version": 3 + }, + { + "git-tree": "c4c646a26ce3e6ad63992d3e4a55cb185159b23c", + "version": "1.3.7", + "port-version": 2 + }, { "git-tree": "54dcb5ab354422e9518a905d501ccc22dcb69098", "version-string": "1.3.7", diff --git a/versions/l-/libvpx.json b/versions/l-/libvpx.json index 68e6537962276b..488eb44d773e30 100644 --- a/versions/l-/libvpx.json +++ b/versions/l-/libvpx.json @@ -1,5 +1,55 @@ { "versions": [ + { + "git-tree": "51aa3269c3e4839a7c789ba5e7f25e653ef65b27", + "version": "1.13.1", + "port-version": 4 + }, + { + "git-tree": "113a0b3aef3819546a0d8fe587aa37146a7e8f30", + "version": "1.13.1", + "port-version": 3 + }, + { + "git-tree": "66ea767e9ce55da152694d49a74ad2125ca4d937", + "version": "1.13.1", + "port-version": 2 + }, + { + "git-tree": "88491a53de6cdc69ec82882d44aab8cf3b315577", + "version": "1.13.1", + "port-version": 1 + }, + { + "git-tree": "1484fb529e99fdedd95f2b46f65738a9e95fcaa1", + "version": "1.13.1", + "port-version": 0 + }, + { + "git-tree": "255c8c5ca6526bd7a0ac6f3a6a7838c77ee97e5e", + "version": "1.12.0", + "port-version": 2 + }, + { + "git-tree": "7b346f9dc851b8598c461ae9b856c11d222848ec", + "version": "1.12.0", + "port-version": 1 + }, + { + "git-tree": "5bad78764d9138da1f5f2b1c49ec291377166a30", + "version": "1.12.0", + "port-version": 0 + }, + { + "git-tree": "5d03c5487a2e01ccc310c1d3e5b0b2c78232cf2b", + "version": "1.11.0", + "port-version": 1 + }, + { + "git-tree": "3ec8aec9ecbcb2e3b5a0af7cea8045359d9aec94", + "version": "1.11.0", + "port-version": 0 + }, { "git-tree": "79a7e2cf4e6df063990dc59d1aa221150eb0ce0e", "version-semver": "1.10.0", diff --git a/versions/l-/libwandio.json b/versions/l-/libwandio.json index 754697db3b589a..53798c59befe06 100644 --- a/versions/l-/libwandio.json +++ b/versions/l-/libwandio.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "eb4e485cc1313349e0fbb65d4997d5968245877a", + "version": "4.2.1", + "port-version": 6 + }, + { + "git-tree": "8340fce2f7c5dd26c578bb7c59f8d3f8d982c105", + "version-string": "4.2.1", + "port-version": 5 + }, { "git-tree": "ffa2cfbc601c2a9a2fdcbc20f44b312597952ec6", "version-string": "4.2.1", diff --git a/versions/l-/libwebm.json b/versions/l-/libwebm.json index 3834ffdda21955..203ce71b783961 100644 --- a/versions/l-/libwebm.json +++ b/versions/l-/libwebm.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "a1c52d996474cadfc08a913ec80155b1693c7af5", + "version": "1.0.0.31", + "port-version": 0 + }, + { + "git-tree": "7f210a205882bf4151ab8bec8c9b3a3fc328a280", + "version": "1.0.0.28", + "port-version": 1 + }, { "git-tree": "06a8f301505eb69082e8654f0c01d724b2e403e0", "version": "1.0.0.28", diff --git a/versions/l-/libwebp.json b/versions/l-/libwebp.json index 935958cc6a3e70..1fc57f6f284d5d 100644 --- a/versions/l-/libwebp.json +++ b/versions/l-/libwebp.json @@ -1,5 +1,65 @@ { "versions": [ + { + "git-tree": "9d0c00119dd6ec04488b4e0c926aa3ae73b95847", + "version": "1.4.0", + "port-version": 1 + }, + { + "git-tree": "1423eee644e6b8ba75d0f936115d8709980a3c52", + "version": "1.4.0", + "port-version": 0 + }, + { + "git-tree": "0b981028589375097039d5e39e7d87659cdfa824", + "version": "1.3.2", + "port-version": 0 + }, + { + "git-tree": "ce9a702064516d77e0b1239edc29efd603ee323e", + "version": "1.3.1", + "port-version": 2 + }, + { + "git-tree": "42095edcaa6f9fb7a29822896d45b772f694a9cf", + "version": "1.3.1", + "port-version": 1 + }, + { + "git-tree": "3a14f8bd920b63d510d85da200f0b6f1847e270a", + "version": "1.3.1", + "port-version": 0 + }, + { + "git-tree": "519daa6213a5995a860ed724c465adf9ff83b52a", + "version": "1.3.0", + "port-version": 1 + }, + { + "git-tree": "d11b6a22e2acdba95c761dd4045cd8d66095f42d", + "version": "1.3.0", + "port-version": 0 + }, + { + "git-tree": "4b045db27d934d57c56d09c3721b05c46043cbb7", + "version": "1.2.4", + "port-version": 1 + }, + { + "git-tree": "6bce9ad4c595a817fb1f227661c5bc955b177754", + "version": "1.2.4", + "port-version": 0 + }, + { + "git-tree": "e2b9421b3093512c54494cf01a3fd6edb7424e02", + "version": "1.2.3", + "port-version": 0 + }, + { + "git-tree": "bf8ec989a234ddde96494e4e07d0ffd93df82151", + "version": "1.2.2", + "port-version": 0 + }, { "git-tree": "ca5a8b2ed264617e8a35d22e1e6ac18ebe99900f", "version": "1.2.1", @@ -25,21 +85,6 @@ "version-string": "1.1.0", "port-version": 1 }, - { - "git-tree": "a05e0de81085231df86f6902aba1e0a364e2ca7b", - "version-string": "1.1.0", - "port-version": 0 - }, - { - "git-tree": "5066566c98bc1913b678347c4cbae0a6aff4cf2d", - "version-string": "1.0.3-1", - "port-version": 0 - }, - { - "git-tree": "6ff3a23b154fad821db2d8236bf9d0382f0229cf", - "version-string": "1.0.3", - "port-version": 0 - }, { "git-tree": "256b8e8b5d64cb6f66da47f1a361e5538d341023", "version-string": "1.0.2-8", diff --git a/versions/l-/libwebsockets.json b/versions/l-/libwebsockets.json index 5cd154212366ed..1c5c8c668b13ae 100644 --- a/versions/l-/libwebsockets.json +++ b/versions/l-/libwebsockets.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "68b66d2cf7613db48230bbfe150b1702e9a52397", + "version-semver": "4.3.3", + "port-version": 1 + }, + { + "git-tree": "7df1a4ed19820c5790ae0c231213fb568bf3fb62", + "version-semver": "4.3.3", + "port-version": 0 + }, + { + "git-tree": "c8e1982ef72a330a813aafd1734c728a662701b1", + "version-semver": "4.3.2", + "port-version": 0 + }, + { + "git-tree": "52c31e301f0eaa969b7850c20be357ec3f845994", + "version-semver": "4.3.0", + "port-version": 3 + }, + { + "git-tree": "d8b0df2d428b6902450b58a8dc5e0743549d16b0", + "version-semver": "4.3.0", + "port-version": 2 + }, + { + "git-tree": "b4ef6833cbf3bb5c97e3150bbdb61bccb8db21cd", + "version-semver": "4.3.0", + "port-version": 1 + }, + { + "git-tree": "c3a1ad34c2592c162c5a3b0935fe8adb2d15a08a", + "version-semver": "4.3.0", + "port-version": 0 + }, { "git-tree": "530aaf17892ddf6481557a04040a372281150ec6", "version-semver": "4.2.2", diff --git a/versions/l-/libx11.json b/versions/l-/libx11.json new file mode 100644 index 00000000000000..f7500ed52e1adb --- /dev/null +++ b/versions/l-/libx11.json @@ -0,0 +1,29 @@ +{ + "versions": [ + { + "git-tree": "4fda1cb1b842b106895d2ab377ec91cc9c39e932", + "version": "1.8.1", + "port-version": 2 + }, + { + "git-tree": "990f02cb9422412f2c71e9f3b4616a7331d65fe6", + "version": "1.8.1", + "port-version": 1 + }, + { + "git-tree": "c316078022f4159f578146cf4871c359d5af8321", + "version": "1.8.1", + "port-version": 0 + }, + { + "git-tree": "e69bacce69d31cc63b4c1f6c5637ba204289a496", + "version": "1.7.3.1", + "port-version": 1 + }, + { + "git-tree": "1347521fb39c2ccfd11521a3e641854537799ca4", + "version": "1.7.3.1", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libxau.json b/versions/l-/libxau.json new file mode 100644 index 00000000000000..85719192bd6fa1 --- /dev/null +++ b/versions/l-/libxau.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "d82d4195d09a023e7a7fbc1c3a726a2f9f917a33", + "version": "1.0.9", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libxaw.json b/versions/l-/libxaw.json new file mode 100644 index 00000000000000..79816acce2bf98 --- /dev/null +++ b/versions/l-/libxaw.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "71b085f0a3771532f541cab3ca0d8e4222526949", + "version": "1.0.13", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libxcomposite.json b/versions/l-/libxcomposite.json new file mode 100644 index 00000000000000..704259b57d2996 --- /dev/null +++ b/versions/l-/libxcomposite.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "e9a4eefe61eb6275bb2c6d3a3f222a241fa5d2a8", + "version": "0.4.5", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libxcrypt.json b/versions/l-/libxcrypt.json new file mode 100644 index 00000000000000..a2c6525ceaea5a --- /dev/null +++ b/versions/l-/libxcrypt.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "89d7de97e87cb0eb10479d47ec43e1cc732b2734", + "version": "4.4.36", + "port-version": 1 + }, + { + "git-tree": "85a0274aca1b0c7bf756cb41f77d9dbfc2b6fb78", + "version": "4.4.36", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libxcvt.json b/versions/l-/libxcvt.json new file mode 100644 index 00000000000000..6e6cc25dc8b302 --- /dev/null +++ b/versions/l-/libxcvt.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "2d0f2580b3ae5c31631891387f581c241da5410d", + "version": "0.1.2", + "port-version": 1 + }, + { + "git-tree": "b0c69bbf0c5c3c7ccecaac73ae1f8e828133c72b", + "version": "0.1.2", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libxdamage.json b/versions/l-/libxdamage.json new file mode 100644 index 00000000000000..2c9916b6e75ba0 --- /dev/null +++ b/versions/l-/libxdamage.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "87138386fc68780b661be1216e8bb2e334071702", + "version": "1.1.5", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libxdf.json b/versions/l-/libxdf.json new file mode 100644 index 00000000000000..dbfffcfc3482b6 --- /dev/null +++ b/versions/l-/libxdf.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "c1a0ecbb62eb5c0d6411498644c94fe08120f3b5", + "version": "0.99.8", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libxdiff.json b/versions/l-/libxdiff.json index e475c8b978391e..2d640a34ae0b1d 100644 --- a/versions/l-/libxdiff.json +++ b/versions/l-/libxdiff.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "3c416f4eaabd3ca0697fcf4e004e99975d23bd00", + "version": "0.23", + "port-version": 4 + }, + { + "git-tree": "ce9f54a13c2317e8249e154d852fa5d7ee0940c3", + "version": "0.23", + "port-version": 3 + }, + { + "git-tree": "88e90a302307649ee4266069f5f85a06941530ff", + "version": "0.23", + "port-version": 2 + }, { "git-tree": "dfe80df2ce315833069e20c710acf1349b901e60", "version-string": "0.23", diff --git a/versions/l-/libxdmcp.json b/versions/l-/libxdmcp.json new file mode 100644 index 00000000000000..2121b322ba7522 --- /dev/null +++ b/versions/l-/libxdmcp.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "eddca1f6d162a3947f167d35c21ca40de9904307", + "version": "1.1.3", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libxext.json b/versions/l-/libxext.json new file mode 100644 index 00000000000000..5ffa055aed3e06 --- /dev/null +++ b/versions/l-/libxext.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "e67774822086eb3d56334159f5aad5579643b5d3", + "version": "1.3.4", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libxfixes.json b/versions/l-/libxfixes.json new file mode 100644 index 00000000000000..538847ac65febc --- /dev/null +++ b/versions/l-/libxfixes.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "1f0262e8d5145c540a26a4740b62c84794244586", + "version": "6.0.0", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libxfont.json b/versions/l-/libxfont.json new file mode 100644 index 00000000000000..850cbd8ffd7476 --- /dev/null +++ b/versions/l-/libxfont.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "f78821d4b3573bc0b927dc76f10660665f0b2893", + "version": "2.0.5", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libxft.json b/versions/l-/libxft.json new file mode 100644 index 00000000000000..9babd9a848ab96 --- /dev/null +++ b/versions/l-/libxft.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "e6c217fdda22942096cbb15be4b58b66c854e26e", + "version": "2.3.4", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libxi.json b/versions/l-/libxi.json new file mode 100644 index 00000000000000..4c3bd3155ab9f1 --- /dev/null +++ b/versions/l-/libxi.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "af8e343976780e89ba9aca93f5dafcf3e0dcfecf", + "version": "1.8", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libxinerama.json b/versions/l-/libxinerama.json new file mode 100644 index 00000000000000..835647b0049485 --- /dev/null +++ b/versions/l-/libxinerama.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "74d2b10e157a97b5358f4bcb17806e6242216395", + "version": "1.1.4", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libxkbcommon.json b/versions/l-/libxkbcommon.json new file mode 100644 index 00000000000000..8242acf7fe1a03 --- /dev/null +++ b/versions/l-/libxkbcommon.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "ee2872eae95b010c793020412c24e55036421d7b", + "version": "1.7.0", + "port-version": 0 + }, + { + "git-tree": "b5024c3a86021f781de98ec7351ae6c6f48df704", + "version": "1.4.1", + "port-version": 1 + }, + { + "git-tree": "41ae34eb1eb104faea75a726f115e0e774c17d65", + "version": "1.4.1", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libxkbfile.json b/versions/l-/libxkbfile.json new file mode 100644 index 00000000000000..849a5f8ccd1660 --- /dev/null +++ b/versions/l-/libxkbfile.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "4b6df8dfd8284d03ff745d341c1269c191027811", + "version": "1.1.0", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libxlsxwriter.json b/versions/l-/libxlsxwriter.json index 53b304b03b5143..7d5a534fe4f3dc 100644 --- a/versions/l-/libxlsxwriter.json +++ b/versions/l-/libxlsxwriter.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "42b31d240d66d5886a4d28123cda5ea9c6f30511", + "version": "1.1.8", + "port-version": 1 + }, + { + "git-tree": "6dbc8a18660a49f799a857cfb2390cc084a22ebf", + "version": "1.1.8", + "port-version": 0 + }, + { + "git-tree": "a877e6dd9e9652cedcb94daa467c8fd7580bf5fb", + "version": "1.1.5", + "port-version": 2 + }, + { + "git-tree": "2769eadc216de088f724efd09edce1c73f9e8b4b", + "version": "1.1.5", + "port-version": 1 + }, + { + "git-tree": "1fec6d7beb6dff8486fb16b04849725ac466d409", + "version": "1.1.5", + "port-version": 0 + }, { "git-tree": "9e7e4072f13a2839135caf76e0b0ef31ee13bc48", "version-semver": "1.1.4", diff --git a/versions/l-/libxml2.json b/versions/l-/libxml2.json index 5645cd5645cac3..3c77ba43418ebd 100644 --- a/versions/l-/libxml2.json +++ b/versions/l-/libxml2.json @@ -1,5 +1,70 @@ { "versions": [ + { + "git-tree": "9adc435281d53b3906a7cc7394dfe340edeb1c51", + "version": "2.11.9", + "port-version": 0 + }, + { + "git-tree": "acdc173889c739d439e9ded5ee2111cdac6af270", + "version": "2.11.8", + "port-version": 0 + }, + { + "git-tree": "caa5f663ba4c26ac2402c6aaa56781bd262fc05e", + "version": "2.11.7", + "port-version": 0 + }, + { + "git-tree": "b2fd11805c5e6714215c5dd9630400c4ad32e833", + "version": "2.11.6", + "port-version": 1 + }, + { + "git-tree": "a347ee0ddfd928d4f61ec12b3b95c1c7740d46df", + "version": "2.11.6", + "port-version": 0 + }, + { + "git-tree": "5ce0144d5c48f5140af55d0fbb58396b955d87a3", + "version": "2.11.5", + "port-version": 1 + }, + { + "git-tree": "a8c20b561ed09ee9bd274071751dafbf8c0825ed", + "version": "2.11.5", + "port-version": 0 + }, + { + "git-tree": "fd1e750ce7851d72bf39c0b6d30a4a8d1d717c45", + "version": "2.10.3", + "port-version": 1 + }, + { + "git-tree": "aa09deda9fa69a3d56a39504e85e72affb3139d9", + "version": "2.10.3", + "port-version": 0 + }, + { + "git-tree": "e1262b96218e08ee3cc877999c759e658cca8273", + "version": "2.9.14", + "port-version": 1 + }, + { + "git-tree": "454c94726c33c2893c30afbe34243d69dc4d91e0", + "version": "2.9.14", + "port-version": 0 + }, + { + "git-tree": "0da62e928cc294ad51a384594db59d6ff2dc49d4", + "version-semver": "2.9.13", + "port-version": 0 + }, + { + "git-tree": "582189632eff9dc4ba2ef262a853c339d2838bd9", + "version-semver": "2.9.12", + "port-version": 5 + }, { "git-tree": "5cb8ed61786fdd081204880cd02d9376b17130eb", "version-semver": "2.9.12", diff --git a/versions/l-/libxmlmm.json b/versions/l-/libxmlmm.json index 184f88ba9a9830..12b30202c2e1fc 100644 --- a/versions/l-/libxmlmm.json +++ b/versions/l-/libxmlmm.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "b0aafeafa03267c54dcf9ec20c4f03ada74e13e6", + "version": "0.6.0", + "port-version": 4 + }, + { + "git-tree": "5f54a7f6dadcf5781a5d48d22a113f5f37af0956", + "version": "0.6.0", + "port-version": 3 + }, + { + "git-tree": "869d2ab96342804f872b8d56ad8ccd5e80b274b6", + "version": "0.6.0", + "port-version": 2 + }, { "git-tree": "4f34eb9988a27e6184d3271ca0e346793b30d836", "version-string": "0.6.0", diff --git a/versions/l-/libxmlpp.json b/versions/l-/libxmlpp.json index 9db123f9e0e9f7..ef79a6fada5336 100644 --- a/versions/l-/libxmlpp.json +++ b/versions/l-/libxmlpp.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "2d40381a24a7875d4cdd254d277963cb9ccbecbd", + "version": "5.4.0", + "port-version": 0 + }, + { + "git-tree": "361ec896634a0f947949dcf71e2dbf991c066d44", + "version": "5.0.0", + "port-version": 3 + }, + { + "git-tree": "a603edc93c74d92bdbcef0bd8c38bbe331d1aa9d", + "version": "5.0.0", + "port-version": 2 + }, { "git-tree": "d3b0562bb045d23c33e6c01ed6d418c8f20f2358", "version": "5.0.0", diff --git a/versions/l-/libxmp-lite.json b/versions/l-/libxmp-lite.json index 2b2ca107544606..7fde53fb3524ef 100644 --- a/versions/l-/libxmp-lite.json +++ b/versions/l-/libxmp-lite.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "bb6da404365a98bffa1f8622b652c15929c81811", + "version": "4.4.1", + "port-version": 8 + }, { "git-tree": "dda1a742b2612d9d926fef9c804d5e5efd041777", "version-string": "4.4.1", diff --git a/versions/l-/libxmp.json b/versions/l-/libxmp.json new file mode 100644 index 00000000000000..49323a21482b7a --- /dev/null +++ b/versions/l-/libxmp.json @@ -0,0 +1,24 @@ +{ + "versions": [ + { + "git-tree": "cd5e84c88c79658a97f5f370b148ea59a1abd344", + "version": "4.6.0", + "port-version": 1 + }, + { + "git-tree": "9822e97892e95d5804274ce1076e1abbbed706ce", + "version": "4.6.0", + "port-version": 0 + }, + { + "git-tree": "a5c05ac5a1e4a0ff9580fc5bba923b39a48b033e", + "version-date": "2023-04-13", + "port-version": 1 + }, + { + "git-tree": "2773b355a7b3a41ab6739548277b9b828d163242", + "version-date": "2023-04-13", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libxmu.json b/versions/l-/libxmu.json new file mode 100644 index 00000000000000..03b28903769ea4 --- /dev/null +++ b/versions/l-/libxmu.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "3d3fe5c3318403e642b6b1ea9e2c6d4a53547dce", + "version": "1.1.3", + "port-version": 1 + }, + { + "git-tree": "59f551a642f1c8b1c6dd02ad3f13d32231e48d4b", + "version": "1.1.3", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libxpm.json b/versions/l-/libxpm.json new file mode 100644 index 00000000000000..041edfd74ae310 --- /dev/null +++ b/versions/l-/libxpm.json @@ -0,0 +1,39 @@ +{ + "versions": [ + { + "git-tree": "6fc4a6c29ce84daa8d65a1bacca9350793a816a8", + "version": "3.5.17", + "port-version": 0 + }, + { + "git-tree": "3c8857f61f5ee49bd9b25deac150fc95a47eaf87", + "version": "3.5.16", + "port-version": 1 + }, + { + "git-tree": "ab78e7ef1aa0fd25dfc94278d05e4c1f983aa71a", + "version": "3.5.16", + "port-version": 0 + }, + { + "git-tree": "6fb796fec0f4bcbf52d4da236bce4e3394c619e9", + "version": "3.5.14", + "port-version": 0 + }, + { + "git-tree": "3efa6a545aff99a8e1a6055284149e7717043f47", + "version": "3.5.11", + "port-version": 2 + }, + { + "git-tree": "04f6484a58c91b33e62feae8a44caa25ab667aaf", + "version": "3.5.11", + "port-version": 1 + }, + { + "git-tree": "d72a962542b4175f99f5127b477866f2a5eba510", + "version": "3.5.11", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libxpresent.json b/versions/l-/libxpresent.json new file mode 100644 index 00000000000000..e8dcdd0c3c48d8 --- /dev/null +++ b/versions/l-/libxpresent.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "7008422cbeacd24d14f6e80446bdc734acdf855b", + "version": "1.0.0", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libxrandr.json b/versions/l-/libxrandr.json new file mode 100644 index 00000000000000..e621e9f4b27c61 --- /dev/null +++ b/versions/l-/libxrandr.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "a2319ebdf2506031a67829f725660eba807869cc", + "version": "1.5.2", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libxrender.json b/versions/l-/libxrender.json new file mode 100644 index 00000000000000..a2e03f0a6b2059 --- /dev/null +++ b/versions/l-/libxrender.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "f0ef5b766bea2ae48efec7303a59faefdbb0bb96", + "version": "0.9.10", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libxres.json b/versions/l-/libxres.json new file mode 100644 index 00000000000000..d2366d8fcda2b6 --- /dev/null +++ b/versions/l-/libxres.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "a045d82350a03dfa05a612ae66ec5698c21bf195", + "version": "1.2.1", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libxscrnsaver.json b/versions/l-/libxscrnsaver.json new file mode 100644 index 00000000000000..06b2eafb4892ae --- /dev/null +++ b/versions/l-/libxscrnsaver.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "534142ab44347318ba7f1f39f4000aa2645beecd", + "version": "1.2.3", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libxslt.json b/versions/l-/libxslt.json index 00300beaa376a9..5e33c379862273 100644 --- a/versions/l-/libxslt.json +++ b/versions/l-/libxslt.json @@ -1,5 +1,55 @@ { "versions": [ + { + "git-tree": "75b0e06db8a91635c6383e8d7be0f96222aa3cbd", + "version": "1.1.37", + "port-version": 4 + }, + { + "git-tree": "8c34fe62d32f65f3a4b188a327eda7a4f134fea2", + "version": "1.1.37", + "port-version": 3 + }, + { + "git-tree": "b5013956f82220811954d9ed3b68e122c11e88a0", + "version": "1.1.37", + "port-version": 2 + }, + { + "git-tree": "1e2ad3abc4c5d53f33c43f0a1b7aa09ca7e06dc1", + "version": "1.1.37", + "port-version": 1 + }, + { + "git-tree": "9aebd365040f19a4060880bbf942aeda189e94ed", + "version": "1.1.37", + "port-version": 0 + }, + { + "git-tree": "fb07abefc8894accd9967f41c8db983dcc031189", + "version": "1.1.35", + "port-version": 2 + }, + { + "git-tree": "3febc2931430356214f9a15ec06f7863ad4825d9", + "version": "1.1.35", + "port-version": 1 + }, + { + "git-tree": "d6fe77f9ea62ee9e22769ffd1ae0f28229df2a50", + "version": "1.1.35", + "port-version": 0 + }, + { + "git-tree": "063e2e6a6b9ef700f0c2587d2def57eb0e2285e6", + "version": "1.1.34", + "port-version": 5 + }, + { + "git-tree": "034ea26a2cde47c4d19df6eb35bc124a79ad37a3", + "version": "1.1.34", + "port-version": 4 + }, { "git-tree": "f139a7054e2347bc0f48ba6cabe14a74e7d1db36", "version": "1.1.34", diff --git a/versions/l-/libxt.json b/versions/l-/libxt.json new file mode 100644 index 00000000000000..876e57b15d753b --- /dev/null +++ b/versions/l-/libxt.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "0bb02545da1d28c209ba8d237070b61239f3a6cb", + "version": "1.3.0", + "port-version": 0 + }, + { + "git-tree": "f31aa9aa9e1f86b0f2ca59be16b76ceb156696e1", + "version": "1.2.1", + "port-version": 1 + }, + { + "git-tree": "ec0636529740c0931c0c31006dc22d5d599f080d", + "version": "1.2.1", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libxtst.json b/versions/l-/libxtst.json new file mode 100644 index 00000000000000..42a4516bf8cf4e --- /dev/null +++ b/versions/l-/libxtst.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "8b2a80b040031d2b2c9952e885bc68884f13c099", + "version": "1.2.4", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libxv.json b/versions/l-/libxv.json new file mode 100644 index 00000000000000..3113c1da6cff50 --- /dev/null +++ b/versions/l-/libxv.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "4a73c70d6f2f7092d8ddbba6c9a6ada0a8806080", + "version": "1.0.11", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libxxf86vm.json b/versions/l-/libxxf86vm.json new file mode 100644 index 00000000000000..538c4c7e108dfb --- /dev/null +++ b/versions/l-/libxxf86vm.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "a4dfb11cf5012b77357e097116359740ee7ade1f", + "version": "1.1.5", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libyaml.json b/versions/l-/libyaml.json index 4172a231a91549..eb1a922782f390 100644 --- a/versions/l-/libyaml.json +++ b/versions/l-/libyaml.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "3dd5d077b6d9d1015f1b1080bce5b6f22ca0763f", + "version": "0.2.5", + "port-version": 5 + }, + { + "git-tree": "ae6fcd42cb9d1448913be2c7eb536df813601230", + "version": "0.2.5", + "port-version": 4 + }, + { + "git-tree": "0a7af4d5e003c4971aa031bf5533ac14f35e91d7", + "version-string": "0.2.5", + "port-version": 3 + }, + { + "git-tree": "888d62d1f7440f3c9c5ff403e85175372903c0ef", + "version-string": "0.2.5", + "port-version": 2 + }, { "git-tree": "05217bc30337071036997a4d6152165823db9531", "version-string": "0.2.5", diff --git a/versions/l-/libyuv.json b/versions/l-/libyuv.json index e7439d7af98c32..5dd190655da1ad 100644 --- a/versions/l-/libyuv.json +++ b/versions/l-/libyuv.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "cb6412fd44057b52849ebf8807a0c339cb525104", + "version": "1896", + "port-version": 1 + }, + { + "git-tree": "9a0250bfbce25cfd98ed744db8528d4214fe3d56", + "version": "1895", + "port-version": 1 + }, + { + "git-tree": "8248e631c414a1497fe1c8100a658b6f9f180a4d", + "version": "1895", + "port-version": 0 + }, + { + "git-tree": "a814249d5f2638de96bece573dfddddadec7527c", + "version": "1857", + "port-version": 1 + }, + { + "git-tree": "ee4cbd8592c2d5f3fd77c1478b679bc00671b316", + "version": "1857", + "port-version": 0 + }, + { + "git-tree": "ca463baa9f197bedced2b6ad24977d4ba928c0f2", + "version-date": "2021-04-15", + "port-version": 1 + }, { "git-tree": "d3e4d6adb28f13cb3aa4978cd0d6e319b87416cb", "version-date": "2021-04-15", diff --git a/versions/l-/libzen.json b/versions/l-/libzen.json index e319313e040bbe..5af1c768cf40ec 100644 --- a/versions/l-/libzen.json +++ b/versions/l-/libzen.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "ab92638577d4a71ffc7acd3bee65dc7d8c0e7bca", + "version": "0.4.41", + "port-version": 0 + }, + { + "git-tree": "e3635609bd53140cc191a65b168d1a131f84366a", + "version": "0.4.40", + "port-version": 0 + }, + { + "git-tree": "37c7d9f6e950b43bc62ed633bc8fc1964bb2ada3", + "version": "0.4.39", + "port-version": 1 + }, + { + "git-tree": "613111ba5e30b7f36fab5f147a4ae10180d8bebf", + "version": "0.4.39", + "port-version": 0 + }, { "git-tree": "f1c1cb55badf91c09b70e7480ff5c763518f1f51", "version-string": "0.4.38", diff --git a/versions/l-/libzim.json b/versions/l-/libzim.json new file mode 100644 index 00000000000000..5aa24ca124ec3c --- /dev/null +++ b/versions/l-/libzim.json @@ -0,0 +1,24 @@ +{ + "versions": [ + { + "git-tree": "1b50ef00c5ff7e2ba8f3b064c8ffe6eb14a74f28", + "version": "9.0.0", + "port-version": 0 + }, + { + "git-tree": "96c23c527ace6213975b81955373f37d96977063", + "version": "8.2.0", + "port-version": 2 + }, + { + "git-tree": "1488a183ad98b3610343e68c207554492b1e8c8e", + "version": "8.2.0", + "port-version": 1 + }, + { + "git-tree": "93b2790850e120148daf03563e24e6ed3ee9e02e", + "version": "8.2.0", + "port-version": 0 + } + ] +} diff --git a/versions/l-/libzip.json b/versions/l-/libzip.json index e14cc3658efab4..4e233d6ef19fa4 100644 --- a/versions/l-/libzip.json +++ b/versions/l-/libzip.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "7f4b7231355f6774a5b6915dace3826173b76cee", + "version": "1.10.1", + "port-version": 0 + }, + { + "git-tree": "59242c6974f6245813fa69d09f9c6df6c501b895", + "version": "1.9.2", + "port-version": 2 + }, + { + "git-tree": "42ad3093c3b335f0ae0bf54179faa30bd751d00c", + "version": "1.9.2", + "port-version": 1 + }, + { + "git-tree": "ec8e48c035f43c65ce9f0f5b455affaa92aa477e", + "version": "1.9.2", + "port-version": 0 + }, + { + "git-tree": "c09a3e4837603b5b74bd434802fdbf8c2367e494", + "version-semver": "1.9.0", + "port-version": 0 + }, { "git-tree": "aac0a6e50e8ada73d9bfeb5a5ce5e631fd37fce8", "version-semver": "1.8.0", diff --git a/versions/l-/libzippp.json b/versions/l-/libzippp.json index 2d17503c7c596e..45ae204f6abc20 100644 --- a/versions/l-/libzippp.json +++ b/versions/l-/libzippp.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "f0cd65c66dead0409f12696e117463fc2cc588fe", + "version": "7.1-1.10.1", + "port-version": 0 + }, + { + "git-tree": "8bde37380220a7418e4f0e461ebb02bfba83858d", + "version": "7.0-1.10.1", + "port-version": 0 + }, + { + "git-tree": "c15b10fa38a22c6ff395d7a87c3a4f02c5586add", + "version": "6.1-1.9.2", + "port-version": 0 + }, + { + "git-tree": "9b0548bad2ec87607ee6dec3e94ee4d3140ff726", + "version": "6.0-1.9.2", + "port-version": 0 + }, + { + "git-tree": "0e5a10e0beabc7b9a1f9f313e62a1c73833e1c4f", + "version": "5.1-1.8.0", + "port-version": 0 + }, { "git-tree": "40f7e8d02ea29cb28b5c0c19257aebf97def3f8e", "version-string": "5.0-1.8.0", diff --git a/versions/l-/licensepp.json b/versions/l-/licensepp.json index 20cd42e9e99034..2ffc57fa4cce50 100644 --- a/versions/l-/licensepp.json +++ b/versions/l-/licensepp.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "00707f2d2df73ed1303b493178c791ef41996505", + "version-date": "2020-11-24", + "port-version": 0 + }, + { + "git-tree": "242d2988823856d4bec19a6a8844fb0d6a30eb33", + "version-date": "2020-05-19", + "port-version": 4 + }, + { + "git-tree": "5bbecce6621b387f3522f31745fa839c6401f09d", + "version-date": "2020-05-19", + "port-version": 3 + }, { "git-tree": "f7115621dbc8deb47ebd3a8ff8dc7eeaf26c80fd", "version-string": "2020-05-19", diff --git a/versions/l-/lightgbm.json b/versions/l-/lightgbm.json new file mode 100644 index 00000000000000..907db42cae38ab --- /dev/null +++ b/versions/l-/lightgbm.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "f6845e55f8cccc71bf888d418dc6cf41403f55ed", + "version": "4.5.0", + "port-version": 0 + }, + { + "git-tree": "a28e05a3ffd7cd7b8384476fc6a28e23c96580cf", + "version": "4.4.0", + "port-version": 1 + }, + { + "git-tree": "e8a4ff8e712c8794cc650c722dfd9d65581c68bb", + "version": "4.4.0", + "port-version": 0 + } + ] +} diff --git a/versions/l-/lightningscanner.json b/versions/l-/lightningscanner.json new file mode 100644 index 00000000000000..dd77c50da5c3b0 --- /dev/null +++ b/versions/l-/lightningscanner.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "a9096d7c2c2c14b7e438e48f6aecd194c2356172", + "version": "1.0.1", + "port-version": 0 + }, + { + "git-tree": "25cfcf5944e73bfe349e264a37f98ea36558da18", + "version": "1.0.0", + "port-version": 0 + } + ] +} diff --git a/versions/l-/lilv.json b/versions/l-/lilv.json index 3964c793f1a41b..550e8478a6c6d7 100644 --- a/versions/l-/lilv.json +++ b/versions/l-/lilv.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "6a016d4a605d325266dcc5eb9cedc40532d10cce", + "version": "0.24.10", + "port-version": 2 + }, + { + "git-tree": "a4dc357aa0d6533993a18ec3a9358a39d9ed3a54", + "version": "0.24.10", + "port-version": 1 + }, { "git-tree": "7cf6faadffa3ad04da656c4fbbdcee367b302fdb", "version-string": "0.24.10", diff --git a/versions/l-/linalg.json b/versions/l-/linalg.json index 10c2b9324b6872..600cdcb55ead75 100644 --- a/versions/l-/linalg.json +++ b/versions/l-/linalg.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "b8287026554baea7ac2fbbf2ec7c54d3ebe181b7", + "version": "2.2", + "port-version": 0 + }, + { + "git-tree": "dec66a04dc695329609da7aad70ecfde3e36aa4b", + "version": "2.1", + "port-version": 2 + }, { "git-tree": "19b7c7f697dab441e8d16c883a66682f090fb0cf", "version-string": "2.1", diff --git a/versions/l-/linenoise-ng.json b/versions/l-/linenoise-ng.json index e89496f6cc524b..ade6ebf0101486 100644 --- a/versions/l-/linenoise-ng.json +++ b/versions/l-/linenoise-ng.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "67d888e1b51167b10e18076f98f8021f69a59419", + "version-string": "4754bee2d8eb3", + "port-version": 3 + }, { "git-tree": "5e6ff5a6494c1913a8bd1ced80cf7037af500d26", "version-string": "4754bee2d8eb3", diff --git a/versions/l-/linmath.json b/versions/l-/linmath.json new file mode 100644 index 00000000000000..4c8bbaa50c900e --- /dev/null +++ b/versions/l-/linmath.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "0ecd0a63de52eff819e837a8fe44856b07228376", + "version-date": "2022-07-30", + "port-version": 0 + } + ] +} diff --git a/versions/l-/lionkor-commandline.json b/versions/l-/lionkor-commandline.json new file mode 100644 index 00000000000000..b10eb4f4245e60 --- /dev/null +++ b/versions/l-/lionkor-commandline.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "5588648e1995f79458647db04b18ddf68c6ddcd6", + "version-semver": "2.2.0", + "port-version": 0 + }, + { + "git-tree": "bb56d3f901805ac69ea5d7bd27a07b789f3232e5", + "version-semver": "2.0.0", + "port-version": 0 + }, + { + "git-tree": "857618e8e62e8395973a0c48c61c837877b65fac", + "version-semver": "1.0.0", + "port-version": 0 + } + ] +} diff --git a/versions/l-/litehtml.json b/versions/l-/litehtml.json new file mode 100644 index 00000000000000..781195bb198482 --- /dev/null +++ b/versions/l-/litehtml.json @@ -0,0 +1,24 @@ +{ + "versions": [ + { + "git-tree": "435f32b554a57ebd07186814b3d3cbb59106f6b3", + "version": "0.9.0", + "port-version": 0 + }, + { + "git-tree": "fbbd4d593d570ec75f5a02fea10a236aecc810d4", + "version": "0.6.0", + "port-version": 2 + }, + { + "git-tree": "2f2981f2edef7c5f69ba42716c007822f74e99ae", + "version": "0.6.0", + "port-version": 1 + }, + { + "git-tree": "64b99f7658dac91ee9c3ed9749b0fd3718f3a4a9", + "version": "0.6.0", + "port-version": 0 + } + ] +} diff --git a/versions/l-/live555.json b/versions/l-/live555.json index 76a502690a2a43..e75e9dc4237cd2 100644 --- a/versions/l-/live555.json +++ b/versions/l-/live555.json @@ -1,5 +1,110 @@ { "versions": [ + { + "git-tree": "010c8abd8ac5913e985fece590dafc25ec881ab5", + "version-date": "2024-10-24", + "port-version": 1 + }, + { + "git-tree": "96a8593eb30850e7fa7aad8412e0206620ce3c3b", + "version-date": "2024-10-24", + "port-version": 0 + }, + { + "git-tree": "0d484d25a359fcfc9d02375aad4ad97ece05bfcd", + "version-date": "2024-09-29", + "port-version": 0 + }, + { + "git-tree": "82d646c91df429a3a9825eb99822a4e475a8ff33", + "version-date": "2024-09-20", + "port-version": 0 + }, + { + "git-tree": "3d2da6e5375448975a15bc611704a5d4f3614905", + "version-date": "2024-06-26", + "port-version": 0 + }, + { + "git-tree": "9baf943b0dd1ba24e23bfad43690e9ba3234518d", + "version-date": "2024-05-15", + "port-version": 0 + }, + { + "git-tree": "2402cdcc3405afe25f02e4a6d3c44ec1b1c68aaf", + "version-date": "2023-11-30", + "port-version": 1 + }, + { + "git-tree": "80eb597529bc497ceb274509b6224bf0524930c1", + "version-date": "2023-11-30", + "port-version": 0 + }, + { + "git-tree": "302e545ae4e1386eb3048b429fff813c336ff0c7", + "version-date": "2023-11-08", + "port-version": 0 + }, + { + "git-tree": "9e83e021123610806240ac1742b68f25bcbc3ff7", + "version-date": "2023-07-24", + "port-version": 0 + }, + { + "git-tree": "3145196c0ec759988b77ab9ef787f426b0efc02d", + "version-date": "2023-06-20", + "port-version": 0 + }, + { + "git-tree": "e7944bec69900cba45393bcacfb4d903a3569300", + "version-date": "2023-06-10", + "port-version": 1 + }, + { + "git-tree": "087f65196bb8a0fe3a7e8012e3e2970106e085fd", + "version-date": "2023-06-10", + "port-version": 0 + }, + { + "git-tree": "4042dde466ab9adcd96e5271751a65a8b67270f7", + "version-date": "2023-05-10", + "port-version": 0 + }, + { + "git-tree": "0a8b18570460ba3155d5c6cba9f5c05c95d876e2", + "version-date": "2023-03-30", + "port-version": 0 + }, + { + "git-tree": "43dd99ed461fd0fef750ceb08527b761fd8ba384", + "version-date": "2023-01-19", + "port-version": 0 + }, + { + "git-tree": "7b23b8c3552b5dc56bbeda0e8f634bfaf2d021b6", + "version-date": "2022-12-01", + "port-version": 1 + }, + { + "git-tree": "7c55bad3936e67fe4e56228533acc22e6bae2572", + "version-date": "2022-12-01", + "port-version": 0 + }, + { + "git-tree": "6f99761c9c260c5b654cd1028610b2edaa3036e0", + "version-date": "2022-07-14", + "port-version": 0 + }, + { + "git-tree": "7dd605bbfb6b2532b7c127eac435600750b3c601", + "version-date": "2022-05-05", + "port-version": 0 + }, + { + "git-tree": "d2d9c96e8a0fa3a6af648952b384dc53504bf738", + "version-date": "2021-12-18", + "port-version": 0 + }, { "git-tree": "7d349d264f7be8a8802b521fddaa5ad047b48720", "version-string": "latest", diff --git a/versions/l-/llfio.json b/versions/l-/llfio.json index fa6953fb264016..fe848d6795f6c9 100644 --- a/versions/l-/llfio.json +++ b/versions/l-/llfio.json @@ -1,5 +1,65 @@ { "versions": [ + { + "git-tree": "3060aa294d21b2d01efa79cc1c79fd416e6922c3", + "version-date": "2024-09-05", + "port-version": 0 + }, + { + "git-tree": "dc1f2c9ef08627e6330c223e15dbe9f798545f0a", + "version-date": "2023-11-06", + "port-version": 0 + }, + { + "git-tree": "45b00c3d0af2dfae0043832ca9b6f86393a9b432", + "version-date": "2023-03-13", + "port-version": 1 + }, + { + "git-tree": "4ae041470104c6e6b6cb17491492ff1189bc83d2", + "version-date": "2023-03-13", + "port-version": 0 + }, + { + "git-tree": "645b6439c635b535bc3e2bcc18c709c10214f493", + "version-date": "2023-01-27", + "port-version": 0 + }, + { + "git-tree": "75a5c6e3170c65d747e5103b292f5da55ec2aa0a", + "version-date": "2022-09-18", + "port-version": 0 + }, + { + "git-tree": "7974159a11b2a1a1f5aed7b6c500eae3fa54481f", + "version-date": "2022-09-08", + "port-version": 0 + }, + { + "git-tree": "b6959e579906ce5c4ea9aa59f467499dce49a3b6", + "version": "2.0-20220112", + "port-version": 3 + }, + { + "git-tree": "c3d2d8d9dfddbbf74af7e1f603ac18e4aee2fe7a", + "version": "2.0-20220112", + "port-version": 2 + }, + { + "git-tree": "bc96b88ab308808ce26135e75038c4b316d5533c", + "version": "2.0-20220112", + "port-version": 1 + }, + { + "git-tree": "aaacb49264f3175de57367f28c90bd3904d7209f", + "version-string": "2.0-20220112", + "port-version": 0 + }, + { + "git-tree": "105f6228f09ad995de4826cf860811d3e7eab7f2", + "version-string": "2.0-20211208", + "port-version": 0 + }, { "git-tree": "208ec7684366cb893eeeeb9f86b4b6c92fab7e28", "version-string": "2.0-20210922", diff --git a/versions/l-/llgi.json b/versions/l-/llgi.json new file mode 100644 index 00000000000000..6c69b259818068 --- /dev/null +++ b/versions/l-/llgi.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "70bc60ef323833846200e1ffe0937de2cfaaf77e", + "version-date": "2023-12-19", + "port-version": 0 + }, + { + "git-tree": "a0f885d3531458ac1a7748ce8af641b30a80a166", + "version-date": "2023-11-04", + "port-version": 0 + } + ] +} diff --git a/versions/l-/llgl.json b/versions/l-/llgl.json index ab5066e49cc8d0..7c23776b2174be 100644 --- a/versions/l-/llgl.json +++ b/versions/l-/llgl.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "fb900b4d6f95560eda75b56df1d0dd5b072c63bc", + "version-date": "2023-03-05", + "port-version": 0 + }, + { + "git-tree": "9082946cd9da5bc58319a8280b80c20be4cc0023", + "version-string": "2019-08-15", + "port-version": 3 + }, { "git-tree": "24edfe12a80c340467e19d18b731ca53ce9f3ac7", "version-string": "2019-08-15", diff --git a/versions/l-/llhttp.json b/versions/l-/llhttp.json new file mode 100644 index 00000000000000..167dc603eb1918 --- /dev/null +++ b/versions/l-/llhttp.json @@ -0,0 +1,39 @@ +{ + "versions": [ + { + "git-tree": "d59b0801cd7dd4850fee67f24ae329c72db84458", + "version": "9.2.1", + "port-version": 0 + }, + { + "git-tree": "563107afde7d8885774875d0adcbdaaf06798f7e", + "version": "9.2.0", + "port-version": 0 + }, + { + "git-tree": "3422384dc0ec7e58827c138826bb666efe850eaa", + "version": "9.1.3", + "port-version": 0 + }, + { + "git-tree": "3a46d3c8233039a700b07997705cc2a49d832e15", + "version": "9.1.2", + "port-version": 0 + }, + { + "git-tree": "02d4bf2e1a15712c39a825aa81791f032b06fd10", + "version": "8.1.0", + "port-version": 2 + }, + { + "git-tree": "655fdc5f25da19400df907e4d82fc0b148f02e9d", + "version": "8.1.0", + "port-version": 1 + }, + { + "git-tree": "39acd6919332902cf5fc9a9eb83e57f8eb548139", + "version": "8.1.0", + "port-version": 0 + } + ] +} diff --git a/versions/l-/llnl-units.json b/versions/l-/llnl-units.json new file mode 100644 index 00000000000000..12d2b1bad978d8 --- /dev/null +++ b/versions/l-/llnl-units.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "b74d9e624d6529738d4d2bb97541dfb2b4097033", + "version": "0.9.1", + "port-version": 0 + } + ] +} diff --git a/versions/l-/llvm.json b/versions/l-/llvm.json index 6874e9e106f292..29adab0513befb 100644 --- a/versions/l-/llvm.json +++ b/versions/l-/llvm.json @@ -1,5 +1,135 @@ { "versions": [ + { + "git-tree": "b175bc95eb833fee3777f727ea0d5e0519b0f1a1", + "version": "18.1.6", + "port-version": 1 + }, + { + "git-tree": "895e2d7c7c902213125eeed97cc5cf7eebc99b9d", + "version": "18.1.6", + "port-version": 0 + }, + { + "git-tree": "3782c35ec8e69e728302f4adeb98dd21d7452fce", + "version": "17.0.2", + "port-version": 5 + }, + { + "git-tree": "9b38326a02fb44545071f8a4ee72ca3e2bc9bd8e", + "version": "17.0.2", + "port-version": 4 + }, + { + "git-tree": "ce44a7977e6376d53613ed81224eb992a0b82a98", + "version": "17.0.2", + "port-version": 3 + }, + { + "git-tree": "af2e23c1205568f576321133141a51439ef1059f", + "version": "17.0.2", + "port-version": 2 + }, + { + "git-tree": "3d195e85c468428553d0aed0eeb76e3714231e3a", + "version": "17.0.2", + "port-version": 1 + }, + { + "git-tree": "7bbd8fe3bd9dd7f507ec0b0713c5de3109d312b5", + "version": "17.0.2", + "port-version": 0 + }, + { + "git-tree": "484d2a5abb5ffc10d18e18603adb20bd01854012", + "version": "15.0.7", + "port-version": 6 + }, + { + "git-tree": "ce05511c7bf08ffecc627b73ae566e1a1e7e6b20", + "version": "15.0.7", + "port-version": 5 + }, + { + "git-tree": "bd0b5a20abf736cc78645980e56569eae2e076ba", + "version": "15.0.7", + "port-version": 4 + }, + { + "git-tree": "1ba26e4d72f4d6112c483a09d9a2dd0aa42067f3", + "version": "15.0.7", + "port-version": 3 + }, + { + "git-tree": "9c069ac90689417940c7a8e5a972afac79042619", + "version": "15.0.7", + "port-version": 2 + }, + { + "git-tree": "da5caa3f08a5e52f4d46559e0f5be3a73958dd2c", + "version": "15.0.7", + "port-version": 1 + }, + { + "git-tree": "cb3f603740884034c2a28562e35c47f3c8e45ad6", + "version": "15.0.7", + "port-version": 0 + }, + { + "git-tree": "321559ad78e1741e396fc25d5f51d4f99d1f40fc", + "version": "14.0.6", + "port-version": 1 + }, + { + "git-tree": "a5e218fee4a3c429f4e2c9586de5083c1b13c7da", + "version": "14.0.6", + "port-version": 0 + }, + { + "git-tree": "46a57bf1e0623c640378b9b36020d8bcaf18793f", + "version": "14.0.4", + "port-version": 1 + }, + { + "git-tree": "7f97dd1dc56be6b5637b8406bd01ac0c245eb0dc", + "version": "14.0.4", + "port-version": 0 + }, + { + "git-tree": "741b89d3872cb0152d5c295ce075b8d751381f51", + "version": "14.0.3", + "port-version": 1 + }, + { + "git-tree": "751084451d4807176af868b2edab17131c2e4a09", + "version": "14.0.3", + "port-version": 0 + }, + { + "git-tree": "1c835fcc79ad542a73ac25fd939556039ff75cd1", + "version": "13.0.0", + "port-version": 5 + }, + { + "git-tree": "15418b7e938058677963d920b616403240eca37f", + "version": "13.0.0", + "port-version": 3 + }, + { + "git-tree": "2c86dc65e952d8abe6140578df4db2c742180358", + "version": "13.0.0", + "port-version": 2 + }, + { + "git-tree": "b3ebd32f2ff4394d72edeb0f4b804d914a2e3f94", + "version": "13.0.0", + "port-version": 1 + }, + { + "git-tree": "fe86b4985609d9beb13e17327c52af54fb4869d4", + "version": "13.0.0", + "port-version": 0 + }, { "git-tree": "3726ade4edd3bd8e47f0cddbfac1e67803e7adea", "version-string": "12.0.1", diff --git a/versions/l-/lmdb.json b/versions/l-/lmdb.json index e33bdad9827c25..11f522955e6eb6 100644 --- a/versions/l-/lmdb.json +++ b/versions/l-/lmdb.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "31e21b61b53be44a1b5866b69a90165fc04640dc", + "version": "0.9.33", + "port-version": 0 + }, + { + "git-tree": "3a13501d369f479e4b9a5e14c3f75022c07a18dd", + "version": "0.9.31", + "port-version": 0 + }, + { + "git-tree": "1c94e6b90d91bc39a4307502116b20d7b38de413", + "version": "0.9.29", + "port-version": 2 + }, + { + "git-tree": "02d32452e2c5a3284fcdd1f448ab513dbb18a085", + "version": "0.9.29", + "port-version": 1 + }, + { + "git-tree": "980e2c4a26c75996e3940a9b46032356643e592b", + "version": "0.9.29", + "port-version": 0 + }, + { + "git-tree": "022fa44ff8c5ef9ea4b308468259c0775d4a72c1", + "version": "0.9.24", + "port-version": 2 + }, { "git-tree": "f3599ec6a6285945a3eeeac1f9b0db810855ec5a", "version-string": "0.9.24", diff --git a/versions/l-/lockpp.json b/versions/l-/lockpp.json new file mode 100644 index 00000000000000..47af2bd2d58dbc --- /dev/null +++ b/versions/l-/lockpp.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "66aa63ec313f43f472bf4be16879e3aba7a6820b", + "version": "3.0", + "port-version": 0 + }, + { + "git-tree": "fe1a86b6361bc55051cd31928d876ba7f0f6a8ab", + "version": "2.6", + "port-version": 0 + }, + { + "git-tree": "a186ea76115669b87e581cdc125423e950322d70", + "version": "1.0.2", + "port-version": 0 + } + ] +} diff --git a/versions/l-/lodepng-c.json b/versions/l-/lodepng-c.json index 2ee245fce71d6a..e1bd8ccecd89dd 100644 --- a/versions/l-/lodepng-c.json +++ b/versions/l-/lodepng-c.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "c25297e81ddc744ed59e77f15209cfbd726bdcdb", + "version-string": "deprecated", + "port-version": 0 + }, { "git-tree": "df7ad4d806d2308089bd2131fec061ac36ab72f9", "version-date": "2021-03-01", diff --git a/versions/l-/lodepng.json b/versions/l-/lodepng.json index 842901158fd6b7..897a5f3be4adf1 100644 --- a/versions/l-/lodepng.json +++ b/versions/l-/lodepng.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "744376b1eace2fdab47d24858d7d1e79f32eefa3", + "version-date": "2021-12-04", + "port-version": 1 + }, + { + "git-tree": "454b1276a4855fba7699cbb07ca783d32d1baf7c", + "version-date": "2021-12-04", + "port-version": 0 + }, { "git-tree": "c80237ed99bb9821134df9802930c54fd8c8ee90", "version-string": "2020-03-15", diff --git a/versions/l-/log4cplus.json b/versions/l-/log4cplus.json index 474c940f56b699..b9feeb216e8b04 100644 --- a/versions/l-/log4cplus.json +++ b/versions/l-/log4cplus.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "450db8aa0bcccc8479b3f3d2d1c63b71510c5dd4", + "version": "2.1.1", + "port-version": 0 + }, + { + "git-tree": "c0a2d8577299ff33c61cbb08d3eb4d4616e4e392", + "version": "2.1.0", + "port-version": 0 + }, + { + "git-tree": "7eb39878c5311e28d66f4a25e0c1583c1c99ff82", + "version": "2.0.7", + "port-version": 1 + }, { "git-tree": "765ee7e801e35c4c77e890bb4af363042e9384ae", "version": "2.0.7", diff --git a/versions/l-/log4cpp-log4cpp.json b/versions/l-/log4cpp-log4cpp.json new file mode 100644 index 00000000000000..3b25e0790a0f19 --- /dev/null +++ b/versions/l-/log4cpp-log4cpp.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "3ac5e6e898eeac3db01d2f9c70bc4df663e035f2", + "version": "1.1.4", + "port-version": 0 + } + ] +} diff --git a/versions/l-/log4cpp.json b/versions/l-/log4cpp.json index 44f7d5172941fa..e32da3f9c57635 100644 --- a/versions/l-/log4cpp.json +++ b/versions/l-/log4cpp.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "c1ac1b2a3b0b4e7e19ad2b2d0d57ce3f7dc9a606", + "version": "2.9.1", + "port-version": 8 + }, + { + "git-tree": "ed51c9c96387b0e97754a2ede544d589ae3b5af2", + "version": "2.9.1", + "port-version": 7 + }, { "git-tree": "c68e17d674484b6ec48269fb47eb711f0e2fcbab", "version-string": "2.9.1", diff --git a/versions/l-/log4cxx.json b/versions/l-/log4cxx.json index dcc83c47125ca3..ec7ccee18bb4dc 100644 --- a/versions/l-/log4cxx.json +++ b/versions/l-/log4cxx.json @@ -1,5 +1,45 @@ { "versions": [ + { + "git-tree": "fb973202e7b0a9c6060e23b92fee4b33df52204a", + "version": "1.3.0", + "port-version": 0 + }, + { + "git-tree": "69b1cd84fe4dce29fda6b300bf18ebc8de1aa0de", + "version": "1.2.0", + "port-version": 1 + }, + { + "git-tree": "d24b9474cf8ec8bca0ec3dce1f0d9e4a030836bd", + "version": "1.2.0", + "port-version": 0 + }, + { + "git-tree": "c030a796829f4525b2369a135d7bdc615b6fb14b", + "version": "1.1.0", + "port-version": 1 + }, + { + "git-tree": "eca29ecb5127d26bd46aad143468b069a045d104", + "version": "1.1.0", + "port-version": 0 + }, + { + "git-tree": "3f8391924df847ec08d25424cb7482be557c3d49", + "version": "1.0.0", + "port-version": 0 + }, + { + "git-tree": "65dd3e2c021462bc3445c9f215ace6936a177bb6", + "version": "0.13.0.1", + "port-version": 0 + }, + { + "git-tree": "b85ee3fd18c7e2f12f928ef132e5707059ad32c0", + "version": "0.12.1", + "port-version": 0 + }, { "git-tree": "3a0d34c9d2f6f0d0811bdb43d1a233e025963185", "version-string": "0.12.0", diff --git a/versions/l-/loguru.json b/versions/l-/loguru.json index 9eef71fbae71a9..132cd1f0fa7876 100644 --- a/versions/l-/loguru.json +++ b/versions/l-/loguru.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "fb3e7c33bf919ef01ff262f2b3b40ab89270a12b", + "version": "2.1.0", + "port-version": 4 + }, + { + "git-tree": "827f85e170a1d4548088fa36cf46817e146184d0", + "version": "2.1.0", + "port-version": 3 + }, { "git-tree": "c429f674d828c20881f410892d633b483e9d30dd", "version-string": "2.1.0", diff --git a/versions/l-/lpeg.json b/versions/l-/lpeg.json index d12e83dcc0797d..495f9b4d71e770 100644 --- a/versions/l-/lpeg.json +++ b/versions/l-/lpeg.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "933131ff56540fca7bbfb7a4ccd5fbf2612d4b0c", + "version": "1.1.0", + "port-version": 1 + }, + { + "git-tree": "a1832dfc0fc6e11738a1653cdf7a65ccde8903ba", + "version": "1.1.0", + "port-version": 0 + }, + { + "git-tree": "e364c24f0029fc6589aae6051eec09af14cc02d2", + "version": "1.0.2", + "port-version": 4 + }, + { + "git-tree": "d8bf7969434ee53a126d419ba7387322658967bb", + "version-string": "1.0.2", + "port-version": 3 + }, { "git-tree": "582d8581a1bfef351571e1ba8ea8910bdc8291fc", "version-string": "1.0.2", diff --git a/versions/l-/ls-qpack.json b/versions/l-/ls-qpack.json new file mode 100644 index 00000000000000..2dbc37057696a3 --- /dev/null +++ b/versions/l-/ls-qpack.json @@ -0,0 +1,29 @@ +{ + "versions": [ + { + "git-tree": "73e7312699ae28db63ff0171b70283b694c46bd7", + "version": "2.5.5", + "port-version": 0 + }, + { + "git-tree": "c8b9ac167ce7e831b1434cff6f3da33cdcee974d", + "version": "2.5.4", + "port-version": 3 + }, + { + "git-tree": "1d9eb013f6b98de2b479869b6571ac7d0c929b0e", + "version": "2.5.4", + "port-version": 2 + }, + { + "git-tree": "1740a9928aea7bdf09afeb0abf677ecb83151309", + "version": "2.5.4", + "port-version": 1 + }, + { + "git-tree": "6b05f64e6b3116005c25b7b9b585e8770abcdae7", + "version": "2.5.4", + "port-version": 0 + } + ] +} diff --git a/versions/l-/ltla-aarand.json b/versions/l-/ltla-aarand.json new file mode 100644 index 00000000000000..9a6bf9a8e61c70 --- /dev/null +++ b/versions/l-/ltla-aarand.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "78cd0fcfb69b096fb2f4261e02c0b0dbaa85b89a", + "version-date": "2023-03-19", + "port-version": 0 + } + ] +} diff --git a/versions/l-/ltla-cppirlba.json b/versions/l-/ltla-cppirlba.json new file mode 100644 index 00000000000000..24d3483a70b002 --- /dev/null +++ b/versions/l-/ltla-cppirlba.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "6edf2cf4964bd6d76488af4320eea69e6604b226", + "version-date": "2023-09-20", + "port-version": 0 + }, + { + "git-tree": "a1a4fe3742a5fecbadcb34155df9230a279a3e1c", + "version-date": "2023-04-07", + "port-version": 0 + } + ] +} diff --git a/versions/l-/ltla-cppkmeans.json b/versions/l-/ltla-cppkmeans.json new file mode 100644 index 00000000000000..2342a0fd71f9d1 --- /dev/null +++ b/versions/l-/ltla-cppkmeans.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "98167fd1d30ddefc1bbb44a321af164cf59aee31", + "version-date": "2023-03-20", + "port-version": 0 + } + ] +} diff --git a/versions/l-/ltla-knncolle.json b/versions/l-/ltla-knncolle.json new file mode 100644 index 00000000000000..844029f746e009 --- /dev/null +++ b/versions/l-/ltla-knncolle.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "543f312cf96c53b41e8501bf473e5e8a336d8b12", + "version-date": "2023-05-09", + "port-version": 0 + } + ] +} diff --git a/versions/l-/ltla-powerit.json b/versions/l-/ltla-powerit.json new file mode 100644 index 00000000000000..af8b6d92f1ffe8 --- /dev/null +++ b/versions/l-/ltla-powerit.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "522b483967df42ac83d0876893d81becf3e88ab6", + "version-date": "2023-03-19", + "port-version": 0 + } + ] +} diff --git a/versions/l-/ltla-umappp.json b/versions/l-/ltla-umappp.json new file mode 100644 index 00000000000000..db0c44c68671a7 --- /dev/null +++ b/versions/l-/ltla-umappp.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "b96e4bc54041c787e0c15d884c0968aade97cfae", + "version-date": "2023-05-11", + "port-version": 0 + } + ] +} diff --git a/versions/l-/lua-compat53.json b/versions/l-/lua-compat53.json new file mode 100644 index 00000000000000..abf9b471a26707 --- /dev/null +++ b/versions/l-/lua-compat53.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "3f65429d091c8db2d5dadacce8e6c04ca8939394", + "version": "0.10", + "port-version": 0 + } + ] +} diff --git a/versions/l-/lua.json b/versions/l-/lua.json index b5478630869b88..a8ce45318a371e 100644 --- a/versions/l-/lua.json +++ b/versions/l-/lua.json @@ -1,5 +1,55 @@ { "versions": [ + { + "git-tree": "97783a4c337df419c0a6a75e9599545c54259d86", + "version": "5.4.7", + "port-version": 0 + }, + { + "git-tree": "a25521a101ee330fd29139a6d4f377be3d814326", + "version": "5.4.6", + "port-version": 0 + }, + { + "git-tree": "804a148ba3bbecf8f998d38c682eaee628725fbb", + "version": "5.4.4", + "port-version": 7 + }, + { + "git-tree": "d250107f0ea435eb8145cd8b0db97aebee05f0b6", + "version": "5.4.4", + "port-version": 6 + }, + { + "git-tree": "0a579d274fbb147e35fc45578cc446cad2c76079", + "version": "5.4.4", + "port-version": 5 + }, + { + "git-tree": "8c9fa7041bab78ab01bc8774e6f7dcc46439a978", + "version": "5.4.4", + "port-version": 4 + }, + { + "git-tree": "5c1b2c77ce5486e3efd8d57f9fc1dbad9266df1d", + "version": "5.4.4", + "port-version": 3 + }, + { + "git-tree": "1443185b76c2f6e0e74c425ed0b3176e98a5fb01", + "version": "5.4.4", + "port-version": 2 + }, + { + "git-tree": "26701e6e610ff6eaee198ca1aaa0b9125e4b2d6f", + "version": "5.4.4", + "port-version": 1 + }, + { + "git-tree": "811a56cbdf5cfd0f8e57c2b3cff2a03e5c709723", + "version": "5.4.4", + "port-version": 0 + }, { "git-tree": "6a9a787a9369019f1dd867cc1c1d6c10296441d9", "version-semver": "5.4.3", diff --git a/versions/l-/luabridge.json b/versions/l-/luabridge.json index 448484500f22f3..c0fabe6564c666 100644 --- a/versions/l-/luabridge.json +++ b/versions/l-/luabridge.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "eb6d1e16d9f7d5fd7f46ac80f4334229b72940d2", + "version": "2.8", + "port-version": 0 + }, { "git-tree": "5f3cd5355fe6097867cfc2aa6037d6089f26b0b6", "version-string": "2.6", diff --git a/versions/l-/luabridge3.json b/versions/l-/luabridge3.json new file mode 100644 index 00000000000000..c9ecd49080eae3 --- /dev/null +++ b/versions/l-/luabridge3.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "8dffa17cfaea6d146adf781428a24f78347386e6", + "version": "3.0-rc3", + "port-version": 0 + }, + { + "git-tree": "832dcdfc1e99b85241865abda8434a33424a3f4b", + "version": "3.0-beta4", + "port-version": 0 + } + ] +} diff --git a/versions/l-/luafilesystem.json b/versions/l-/luafilesystem.json index 2625adb28797c4..97566514fca1dd 100644 --- a/versions/l-/luafilesystem.json +++ b/versions/l-/luafilesystem.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "00b7638338af5a3a2d95c3c9b1ed870ed0cfb9fc", + "version": "1.8.0", + "port-version": 7 + }, + { + "git-tree": "4b474bdcc3f49eef949ba79ad3294556e39af778", + "version": "1.8.0", + "port-version": 6 + }, + { + "git-tree": "7a2e981db39265f79730f1c73502dfa362db30b5", + "version": "1.8.0", + "port-version": 5 + }, + { + "git-tree": "d399198385c222305569f32166f965843da16cdf", + "version": "1.8.0", + "port-version": 4 + }, + { + "git-tree": "b823db113deca954d5354f3e9f0cda24adcf9a7e", + "version-string": "1.8.0", + "port-version": 3 + }, { "git-tree": "e23447662c7ca83b4d681a5a0d4a451a683ce923", "version-string": "1.8.0", diff --git a/versions/l-/luajit.json b/versions/l-/luajit.json index 9f519d788c1533..aec86ddbc8e92f 100644 --- a/versions/l-/luajit.json +++ b/versions/l-/luajit.json @@ -1,5 +1,75 @@ { "versions": [ + { + "git-tree": "ca00ef84f25e0b841d36d6aa5403c525ea476b9c", + "version-date": "2023-01-04", + "port-version": 5 + }, + { + "git-tree": "53de073fe6d5962408626e251fce79e2d5bb49bf", + "version-date": "2023-01-04", + "port-version": 4 + }, + { + "git-tree": "450f447cc860d3cc59b93304c13ad92637c6b63d", + "version-date": "2023-01-04", + "port-version": 3 + }, + { + "git-tree": "9b724aa5af80b253739609f1173da343d55251cd", + "version-date": "2023-01-04", + "port-version": 2 + }, + { + "git-tree": "5a564decc9569af8e940353cab9623b6f93f3a4b", + "version-date": "2023-01-04", + "port-version": 1 + }, + { + "git-tree": "3c7f639efd41b49e93c61ae54fd99bb332d80bf9", + "version-date": "2023-01-04", + "port-version": 0 + }, + { + "git-tree": "6008fc1c5042466dab836694887b8795471b64fb", + "version-date": "2022-11-22", + "port-version": 0 + }, + { + "git-tree": "572eb21690be2a997b4bc4f1a49f93a77dc4a92b", + "version-date": "2022-08-11", + "port-version": 2 + }, + { + "git-tree": "bacc33ec723d7fc2b895a1351a2042c5c6fb6971", + "version-date": "2022-08-11", + "port-version": 1 + }, + { + "git-tree": "4c2d21d9bf0e5cedc0f7540a7e473c2e86f2c5ef", + "version-date": "2022-08-11", + "port-version": 0 + }, + { + "git-tree": "9b560fe2d3810733d0b0f69b2a91093b02ac49b6", + "version": "2.0.5", + "port-version": 8 + }, + { + "git-tree": "daf2e19a72e3bf1d8a6c47a38489c9d1bd016d33", + "version": "2.0.5", + "port-version": 7 + }, + { + "git-tree": "d8d4e2ca9656ec3a26a0ade9f0421e17b11206c7", + "version": "2.0.5", + "port-version": 6 + }, + { + "git-tree": "3748aef9d3bd9d941f6af4d9c049cc55194cb7f5", + "version": "2.0.5", + "port-version": 5 + }, { "git-tree": "10777e8d3827f33dd042ae2cee5d309f48a108c0", "version-string": "2.0.5", diff --git a/versions/l-/luasec.json b/versions/l-/luasec.json index 7e85956506adf4..d6a8986e6bc7b1 100644 --- a/versions/l-/luasec.json +++ b/versions/l-/luasec.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "7274433449f340b73ab11cf6339bc54e3e96b1be", + "version": "1.3.2", + "port-version": 2 + }, + { + "git-tree": "f2a73d4b729a49aede6db4b11d904bb12224fad6", + "version": "1.3.2", + "port-version": 1 + }, + { + "git-tree": "efd0c61de23985278c5d652a4e6273c15d91c58d", + "version": "1.3.2", + "port-version": 0 + }, + { + "git-tree": "d4f635627a073d4fbf97a5e54a974fadc788f7ac", + "version": "1.3.1", + "port-version": 0 + }, + { + "git-tree": "9c562198b62737a1b5c47ef51bb4a5a7b46fd3ce", + "version": "1.1.0", + "port-version": 0 + }, + { + "git-tree": "ac5ef37f939164b6bc4a63bf7eeec24e8e8c5a79", + "version": "1.0.1", + "port-version": 1 + }, { "git-tree": "2529ee34af0b23fb576f0e8ed672ceba83c4c305", "version": "1.0.1", diff --git a/versions/l-/luasocket.json b/versions/l-/luasocket.json index 40d0976fbc78d8..4162c0089d3950 100644 --- a/versions/l-/luasocket.json +++ b/versions/l-/luasocket.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "7f28657f71683263f3eff43ee33ee55d8570737d", + "version": "3.1.0", + "port-version": 1 + }, + { + "git-tree": "faad47eddfeeb72b135a34c713c20f821ab0261b", + "version": "3.1.0", + "port-version": 0 + }, + { + "git-tree": "b4e4099cfa80585c7df33b66e37580cea982e83d", + "version": "3.0.0", + "port-version": 1 + }, + { + "git-tree": "2f809809d4b061b2579f41521b20a7c4a0992558", + "version": "3.0.0", + "port-version": 0 + }, + { + "git-tree": "94ee0f78bf41cf8d10f7bc25b2305a9a0a33cb36", + "version-date": "2020-09-14", + "port-version": 2 + }, { "git-tree": "9eefd1250090f0a85e48d86a1d25f226e1a978d3", "version-string": "2020-09-14", diff --git a/versions/l-/luau.json b/versions/l-/luau.json new file mode 100644 index 00000000000000..cf06853b4d883c --- /dev/null +++ b/versions/l-/luau.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "version": "0.651", + "port-version": 0, + "git-tree": "b24888fd538d5e53526c0a7b6f37646f9aec0556" + } + ] +} \ No newline at end of file diff --git a/versions/l-/luminoengine.json b/versions/l-/luminoengine.json new file mode 100644 index 00000000000000..d123e1df5b846d --- /dev/null +++ b/versions/l-/luminoengine.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "f1c9d587cda9c08d9a07a874769567354c84b003", + "version": "0.10.1", + "port-version": 1 + }, + { + "git-tree": "e82d1c7a586546412c2ab3d121e72aaf54df7bb1", + "version": "0.10.1", + "port-version": 0 + } + ] +} diff --git a/versions/l-/lunarg-vulkantools.json b/versions/l-/lunarg-vulkantools.json new file mode 100644 index 00000000000000..5bf191edff4a5f --- /dev/null +++ b/versions/l-/lunarg-vulkantools.json @@ -0,0 +1,29 @@ +{ + "versions": [ + { + "git-tree": "97ada8faec728f24d5eb3ed8453a92c924d7ab0b", + "version": "1.3.296.0", + "port-version": 0 + }, + { + "git-tree": "240a486e9ff90eb839c20595efb197234f2cee57", + "version": "1.3.290.0", + "port-version": 0 + }, + { + "git-tree": "6873dfa224b8f91dd090b0af611d24a43a22beb8", + "version": "1.3.280.0", + "port-version": 0 + }, + { + "git-tree": "ea54ec6c488d1f5ba33497de042aade3d49c29fb", + "version": "1.3.275.0", + "port-version": 0 + }, + { + "git-tree": "f6b2a11e7bfefb0423ba878f8bbf6030c27f5c77", + "version": "1.3.268.0", + "port-version": 0 + } + ] +} diff --git a/versions/l-/lunasvg.json b/versions/l-/lunasvg.json new file mode 100644 index 00000000000000..96a51f1689c318 --- /dev/null +++ b/versions/l-/lunasvg.json @@ -0,0 +1,34 @@ +{ + "versions": [ + { + "git-tree": "666a55527b76f4e912f24bf671c4f81893f197fc", + "version": "2.4.1", + "port-version": 0 + }, + { + "git-tree": "e51e231d81dd1109cd6862f2541c62510f7e76a3", + "version": "2.4.0", + "port-version": 0 + }, + { + "git-tree": "4366912e559388c6d2d862fe3b0b6e1132dd433b", + "version": "2.3.9", + "port-version": 0 + }, + { + "git-tree": "27a82fac0168f7e17be4e9b8981833ed381197dc", + "version": "2.3.8", + "port-version": 1 + }, + { + "git-tree": "064296e0fbadcd3113e5ee2a65202614c9125acc", + "version": "2.3.8", + "port-version": 0 + }, + { + "git-tree": "bf20380ca537151f7d1e02a6ca5b19c302db18c7", + "version": "2.3.1", + "port-version": 0 + } + ] +} diff --git a/versions/l-/luv.json b/versions/l-/luv.json new file mode 100644 index 00000000000000..4bdcced043e20f --- /dev/null +++ b/versions/l-/luv.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "d18a8a0efcd76a0b4615d85c8bda26dd4ba1b7ad", + "version-semver": "1.44.2", + "port-version": 1 + }, + { + "git-tree": "dfb9cba0c0da80351b575c758df8f2b03048315f", + "version-semver": "1.44.2", + "port-version": 0 + } + ] +} diff --git a/versions/l-/lz4.json b/versions/l-/lz4.json index bfb6a07c4989f5..ffde4cf707b5be 100644 --- a/versions/l-/lz4.json +++ b/versions/l-/lz4.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "4f01eec10f515a428e914107c5188366380f8dd9", + "version": "1.10.0", + "port-version": 0 + }, + { + "git-tree": "1517cb497fc9cac35e932097022365a553732c8c", + "version": "1.9.4", + "port-version": 2 + }, + { + "git-tree": "d7704e3869f579ffdf927b5419579473e9d702d4", + "version": "1.9.4", + "port-version": 1 + }, + { + "git-tree": "93e8c0e6177da62db34480c9f8b40d72b3561849", + "version": "1.9.4", + "port-version": 0 + }, + { + "git-tree": "f3b3f8d7799086d118dd166c346665ad71b66c19", + "version": "1.9.3", + "port-version": 4 + }, { "git-tree": "43957fa49e865966b52c6729db11aa067f790d49", "version": "1.9.3", diff --git a/versions/l-/lzav.json b/versions/l-/lzav.json new file mode 100644 index 00000000000000..d14eae967bdb08 --- /dev/null +++ b/versions/l-/lzav.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "692b77f4637b32fce86d49215940373c3276acfa", + "version": "4.0", + "port-version": 0 + }, + { + "git-tree": "1a5770f80546cae8b85c0a259b019a35abf00a4c", + "version": "3.13", + "port-version": 0 + }, + { + "git-tree": "f3486855e1c408ebcb28fb6eaf519d0cd31f460d", + "version": "3.10", + "port-version": 0 + } + ] +} diff --git a/versions/l-/lzfse.json b/versions/l-/lzfse.json index f49ffa2bfd2aed..35bf544a8a6d24 100644 --- a/versions/l-/lzfse.json +++ b/versions/l-/lzfse.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "b47ba3c21e10b55e1fa8761b8ddaf062ac0bb792", + "version": "1.0", + "port-version": 5 + }, + { + "git-tree": "c42d879181140bf395967f7c28e439056effc193", + "version-string": "1.0", + "port-version": 4 + }, { "git-tree": "cfd69474709e71cfd7aef5b4c7ee6a635435c51c", "version-string": "1.0", diff --git a/versions/l-/lzo.json b/versions/l-/lzo.json index b93eed6c075179..2d5d3ecbb036e3 100644 --- a/versions/l-/lzo.json +++ b/versions/l-/lzo.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "fcd8844a4e80d418bf894cf93a0453f067e404de", + "version": "2.10", + "port-version": 9 + }, + { + "git-tree": "1a8143f905204b72c9753894bb397aa96a415216", + "version-string": "2.10", + "port-version": 8 + }, { "git-tree": "53ad9cb3534a54fd11bd559932edb1b5c67cd8d0", "version-string": "2.10", diff --git a/versions/l-/lzokay.json b/versions/l-/lzokay.json index 8e5bd897c8d7cf..a1238b0a3dfd5b 100644 --- a/versions/l-/lzokay.json +++ b/versions/l-/lzokay.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "2a04a58317804702e2dc099904e39a58fb148d25", + "version-date": "2020-07-30", + "port-version": 2 + }, + { + "git-tree": "909885572ad121a7c7504af41fd2571ca01870ec", + "version-string": "2020-07-30", + "port-version": 1 + }, { "git-tree": "81f62a460d83d622c05245700f599c3418eed715", "version-string": "2020-07-30", diff --git a/versions/m-/maddy.json b/versions/m-/maddy.json new file mode 100644 index 00000000000000..6a4236c56031a2 --- /dev/null +++ b/versions/m-/maddy.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "b0cc952f85939e4547be6e9c020903940e282fa1", + "version": "1.3.0", + "port-version": 0 + }, + { + "git-tree": "a66b84dc2bc83f2e84ff78021584ca8d7291c258", + "version": "1.2.0", + "port-version": 0 + }, + { + "git-tree": "469c585ac08f057d3716d962b9d048fe0b851e83", + "version": "1.1.2+20210419", + "port-version": 0 + } + ] +} diff --git a/versions/m-/magic-enum.json b/versions/m-/magic-enum.json index 26748e3dd32d83..df808d9fd615b4 100644 --- a/versions/m-/magic-enum.json +++ b/versions/m-/magic-enum.json @@ -1,5 +1,55 @@ { "versions": [ + { + "git-tree": "165d7cfe56b22819f778749bbd7d5b0060bbb90e", + "version": "0.9.6", + "port-version": 1 + }, + { + "git-tree": "fe937a79aa8b2eb99d8877aa47ffcf8ad796eef5", + "version": "0.9.6", + "port-version": 0 + }, + { + "git-tree": "331117fc7825903e23c611f793c21251148c4458", + "version": "0.9.5", + "port-version": 0 + }, + { + "git-tree": "3900ab3a53f394e82cc65e071fb7ffc3641024c1", + "version": "0.9.4", + "port-version": 0 + }, + { + "git-tree": "f2261a86b9d2e1ff3f42c80919f58d59e4e4335c", + "version": "0.9.3", + "port-version": 0 + }, + { + "git-tree": "52780f8b8e0c2f55c3841e133c813f2bc739abcc", + "version": "0.9.2", + "port-version": 0 + }, + { + "git-tree": "d423a24705ddc48956d0c7683f3f8e418ae44b0d", + "version": "0.9.1", + "port-version": 0 + }, + { + "git-tree": "579c97b898c772c488b1de1fef924cb8c767c511", + "version": "0.8.2", + "port-version": 0 + }, + { + "git-tree": "c67da42e72855b5d2d5d72d570fafb3a1149fa01", + "version": "0.8.1", + "port-version": 0 + }, + { + "git-tree": "2b170feb45c6c04a727f51a40d65fd01b5f0afdc", + "version": "0.8.0", + "port-version": 0 + }, { "git-tree": "1962d2e544199e80b56432fb1bd1e28c12cca3ad", "version-string": "0.7.3", diff --git a/versions/m-/magic-get.json b/versions/m-/magic-get.json index 6fcd5f61dfe80f..2d2900420747ec 100644 --- a/versions/m-/magic-get.json +++ b/versions/m-/magic-get.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "210c8bce711a4602b27ade5743bdb4126caa79ee", + "version-date": "2019-09-02", + "port-version": 3 + }, { "git-tree": "c74c7f4f5516bdfeffc916c0e72a650d65fe61fb", "version-string": "2019-09-02", diff --git a/versions/m-/magma.json b/versions/m-/magma.json new file mode 100644 index 00000000000000..cc021d51dc4771 --- /dev/null +++ b/versions/m-/magma.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "1f027fdb55e2bea18637a7cbe85c2ea544ee2f6d", + "version": "2.8.0", + "port-version": 1 + }, + { + "git-tree": "07a55182c9e5bace6cbaff6e08c77a54fdcdcdbc", + "version": "2.8.0", + "port-version": 0 + }, + { + "git-tree": "44b519ef789c70ffb247ac2fc1686038b0616515", + "version": "2.7.2", + "port-version": 0 + } + ] +} diff --git a/versions/m-/magnum-extras.json b/versions/m-/magnum-extras.json index 5dd98a61650766..1a45d82e1ecdf4 100644 --- a/versions/m-/magnum-extras.json +++ b/versions/m-/magnum-extras.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "05decdaae4fd0f159cba8775d1b111addebc9c3e", + "version-string": "2020.06", + "port-version": 2 + }, { "git-tree": "9c71b90dfcd2a568ce69a0692c2cbb2bc3a6de80", "version-string": "2020.06", diff --git a/versions/m-/magnum-integration.json b/versions/m-/magnum-integration.json index 7ccab489ad199d..8e21a14de19e80 100644 --- a/versions/m-/magnum-integration.json +++ b/versions/m-/magnum-integration.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "191049e602f776d41b02b21f74df5c36393f8de0", + "version-string": "2020.06", + "port-version": 3 + }, + { + "git-tree": "7485cdf34b865de5cca00d40ee315a0504e226f1", + "version-string": "2020.06", + "port-version": 2 + }, { "git-tree": "46daa4efd5932336efa902d59660690d139eaf86", "version-string": "2020.06", diff --git a/versions/m-/magnum-plugins.json b/versions/m-/magnum-plugins.json index 87c471d0ccde04..83253d0e86ca16 100644 --- a/versions/m-/magnum-plugins.json +++ b/versions/m-/magnum-plugins.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "e5200e6d2170dfc3221afb5ead09a32c2e92e51e", + "version-string": "2020.06", + "port-version": 13 + }, + { + "git-tree": "d1a7c4da316314fb8973e23a20c65fa926a96d44", + "version-string": "2020.06", + "port-version": 12 + }, + { + "git-tree": "73324e7e695dd281c2813fc17b709af7cc2eed58", + "version-string": "2020.06", + "port-version": 11 + }, + { + "git-tree": "3f087961f6f29a588e562a66946d7738eb752129", + "version-string": "2020.06", + "port-version": 10 + }, + { + "git-tree": "ae3a76715d2ec3df78dcf40450ac381b607b7738", + "version-string": "2020.06", + "port-version": 9 + }, + { + "git-tree": "5a4d77bfcdfaad1b288a26ad6ac7fe086e356f71", + "version-string": "2020.06", + "port-version": 8 + }, { "git-tree": "241189f2a82d541c88b682f409518b5802dcb39e", "version-string": "2020.06", diff --git a/versions/m-/magnum.json b/versions/m-/magnum.json index 813d71305e9a6e..b3d155244752e6 100644 --- a/versions/m-/magnum.json +++ b/versions/m-/magnum.json @@ -1,5 +1,65 @@ { "versions": [ + { + "git-tree": "d8cf9aa78a3ffe42bb01a1ce95564717d2ebd6c8", + "version-string": "2020.06", + "port-version": 19 + }, + { + "git-tree": "87613165fa337f84fae12a9a2ed1e1ee93ec8fb9", + "version-string": "2020.06", + "port-version": 18 + }, + { + "git-tree": "fa47736590b34d1ce7158f0ebf783c2b54dcb004", + "version-string": "2020.06", + "port-version": 17 + }, + { + "git-tree": "d923e5792a77042485ffd4b32afecca23f18c7d9", + "version-string": "2020.06", + "port-version": 16 + }, + { + "git-tree": "b1b8f84dd450902aec2b555eb577dfd2a0129592", + "version-string": "2020.06", + "port-version": 15 + }, + { + "git-tree": "9153bafdfb1c8f5ef113947611b1c916a3e472c3", + "version-string": "2020.06", + "port-version": 14 + }, + { + "git-tree": "d0adac5f186692119e9a2b9826ac5ed7357ed8a1", + "version-string": "2020.06", + "port-version": 13 + }, + { + "git-tree": "8ea35ff59474f3e0eaf9c13c2d5b4bae6519d651", + "version-string": "2020.06", + "port-version": 12 + }, + { + "git-tree": "e6431ca1de3d870f6489764786af14b7230fa29f", + "version-string": "2020.06", + "port-version": 11 + }, + { + "git-tree": "13edb110eb5bc10f3591616c0fb64e7bc4b2ce9f", + "version-string": "2020.06", + "port-version": 10 + }, + { + "git-tree": "bb2fc062b29313fd1d23a656464fb3dd2b983370", + "version-string": "2020.06", + "port-version": 9 + }, + { + "git-tree": "f68058291469a1b9d3c62e766279c8f00cd479ec", + "version-string": "2020.06", + "port-version": 8 + }, { "git-tree": "02916da34e2db9343355653309cbab7d8ff85f21", "version-string": "2020.06", diff --git a/versions/m-/mailio.json b/versions/m-/mailio.json index b46de83b8cc71c..6f3b93064c32da 100644 --- a/versions/m-/mailio.json +++ b/versions/m-/mailio.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "33d20bc50f33f690863c4b8cce28d16123762ab7", + "version": "0.23.0", + "port-version": 0 + }, + { + "git-tree": "a9f20b309b2d9f68c5e10eb193ef19c3c51a3faa", + "version": "0.21.0", + "port-version": 2 + }, + { + "git-tree": "80186942edc09cad3c911ebbc6dd77d30af68502", + "version": "0.21.0", + "port-version": 1 + }, + { + "git-tree": "cd8eea3c3ba5b6d465f5c799861571294c795d50", + "version": "0.21.0", + "port-version": 0 + }, + { + "git-tree": "452f51edc1d79104f3cf968477176d155666cb46", + "version": "0.20.0", + "port-version": 2 + }, { "git-tree": "819040f9644957f597a2429bb3365cbf4f58e35d", "version": "0.20.0", diff --git a/versions/m-/makeid.json b/versions/m-/makeid.json new file mode 100644 index 00000000000000..72598a80f2046e --- /dev/null +++ b/versions/m-/makeid.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "d1e67fd4892325f13527874899102c734da3333d", + "version": "1.0.3", + "port-version": 0 + }, + { + "git-tree": "08114cbf3e65a21af7fa59508fc838fb4cac067c", + "version": "1.0.2", + "port-version": 0 + } + ] +} diff --git a/versions/m-/manif.json b/versions/m-/manif.json new file mode 100644 index 00000000000000..4a7c957b76c528 --- /dev/null +++ b/versions/m-/manif.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "85cbc740d2b88302059e858e4f0fe74cf59c5a08", + "version-date": "2023-07-17", + "port-version": 0 + } + ] +} diff --git a/versions/m-/mapbox-polylabel.json b/versions/m-/mapbox-polylabel.json index 73bded4c3e0a03..8789ab52f952d4 100644 --- a/versions/m-/mapbox-polylabel.json +++ b/versions/m-/mapbox-polylabel.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "30aabfde477fb58bc66d51f63f397df6bfdbe779", + "version-semver": "2.0.1", + "port-version": 0 + }, + { + "git-tree": "a86cf026fe463d091c7652931b4d521395baac59", + "version-semver": "1.1.0", + "port-version": 0 + }, { "git-tree": "964316686ad04d8fca92d15be807161886935979", "version-semver": "1.0.4", diff --git a/versions/m-/mapbox-variant.json b/versions/m-/mapbox-variant.json index 99c66d7627d132..307b09bf164aa3 100644 --- a/versions/m-/mapbox-variant.json +++ b/versions/m-/mapbox-variant.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "2bbebe72c660725c3540133f722ad9cac7dc2c5c", + "version": "1.2.0", + "port-version": 2 + }, { "git-tree": "33967b083c32aab183281126cde3fdab878e71be", "version-string": "1.2.0", diff --git a/versions/m-/mapnik.json b/versions/m-/mapnik.json index 6031bfaea3a05d..e184bbbe0c53dd 100644 --- a/versions/m-/mapnik.json +++ b/versions/m-/mapnik.json @@ -1,5 +1,70 @@ { "versions": [ + { + "git-tree": "572a19b54ced9fbaf15b4b7ef7de34de4322f37d", + "version-date": "2024-04-18", + "port-version": 0 + }, + { + "git-tree": "d8915c1366bfeff48042954ef522e5aec82b3058", + "version-date": "2023-06-12", + "port-version": 4 + }, + { + "git-tree": "0d63e2e713a5c02f6699c71b65f7bbe529f040c7", + "version-date": "2023-06-12", + "port-version": 3 + }, + { + "git-tree": "cdb516de71b06cb77bb51196e59709278606e32a", + "version-date": "2023-06-12", + "port-version": 2 + }, + { + "git-tree": "64501290af397067ec972c69113abd28139efdcc", + "version-date": "2023-06-12", + "port-version": 1 + }, + { + "git-tree": "55a1af72282030a832c73b5fe9bedb2089b1b08c", + "version-date": "2023-06-12", + "port-version": 0 + }, + { + "git-tree": "5d63cf0864443e19122d1901bc944a89274aba0c", + "version-date": "2023-01-17", + "port-version": 1 + }, + { + "git-tree": "6fc189206b9c2055b544278ede1ce5be2e0f48ff", + "version-date": "2023-01-17", + "port-version": 0 + }, + { + "git-tree": "dd7ab22238efd828be89e8e17677aa5b395ac07b", + "version-date": "2022-01-28", + "port-version": 2 + }, + { + "git-tree": "ab089220fb5ecc215804a68c2122d3e0d3ed58bc", + "version-date": "2022-01-28", + "port-version": 1 + }, + { + "git-tree": "f352e6316057a4b1751482bd75dd9793aa92771a", + "version-date": "2022-01-28", + "port-version": 0 + }, + { + "git-tree": "e067081de907e0344717281f8d689421621d1798", + "version-date": "2021-12-14", + "port-version": 0 + }, + { + "git-tree": "3f8eb08ffc7a02dd08de30c0851587d9537fc72e", + "version-date": "2021-11-15", + "port-version": 1 + }, { "git-tree": "d1ae6b45aea26d1bbed2716beaaaeaf3719fbefa", "version-date": "2021-11-15", diff --git a/versions/m-/marble.json b/versions/m-/marble.json index d7fb3c8c1a9839..91cfb5f09329a6 100644 --- a/versions/m-/marble.json +++ b/versions/m-/marble.json @@ -1,5 +1,45 @@ { "versions": [ + { + "git-tree": "fa2998b746870d8d3f794a20096d77852e339550", + "version-string": "24.08.2", + "port-version": 0 + }, + { + "git-tree": "1ef790a4b08b152b7abab997dcad42a464f02b27", + "version-string": "24.07.90", + "port-version": 0 + }, + { + "git-tree": "582ef4bc67baebe0e34ce75cbbe5ba3cc1e8b953", + "version-string": "24.02.0", + "port-version": 1 + }, + { + "git-tree": "a8ee922e29c82515ad220efa52068a80b45978d0", + "version-string": "24.02.0", + "port-version": 0 + }, + { + "git-tree": "b5f88df6aa916d5bfcfbf3396df344d90de36778", + "version-string": "22.04.0", + "port-version": 2 + }, + { + "git-tree": "c1e722f12de290f18b92e662040c499a51d57249", + "version-string": "22.04.0", + "port-version": 1 + }, + { + "git-tree": "7a6e4d655adaa7043e8b347841b11472c9b36a6a", + "version-string": "22.04.0", + "port-version": 0 + }, + { + "git-tree": "eb15f05858eaff46b5d7b142d3c874f889d26557", + "version-string": "19.08.2", + "port-version": 3 + }, { "git-tree": "882d37f618c122d3484dcb02cb4f35ead8580768", "version-string": "19.08.2", diff --git a/versions/m-/mariadb-connector-cpp.json b/versions/m-/mariadb-connector-cpp.json new file mode 100644 index 00000000000000..6b8bb4a69e57c5 --- /dev/null +++ b/versions/m-/mariadb-connector-cpp.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "1983f1fab25432ab561ae4bee2e81243a1af9993", + "version": "1.1.5", + "port-version": 0 + }, + { + "git-tree": "8cc12b00f195b480d285ebd6e549539db76ed36a", + "version": "1.1.4", + "port-version": 0 + } + ] +} diff --git a/versions/m-/marisa-trie.json b/versions/m-/marisa-trie.json new file mode 100644 index 00000000000000..7ea3a8bdb87cd0 --- /dev/null +++ b/versions/m-/marisa-trie.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "feefc2975f0e3c3aa1b468bdffccb21e9ef4dd54", + "version": "0.2.6+20200926", + "port-version": 2 + }, + { + "git-tree": "35722f742acbc4cb5e0ce48eccf06830ca2cf2ba", + "version": "0.2.6+20200926", + "port-version": 1 + }, + { + "git-tree": "aec2055269a2ed80494b6cc8876c48787b65d265", + "version": "0.2.6+20200926", + "port-version": 0 + } + ] +} diff --git a/versions/m-/marl.json b/versions/m-/marl.json index 0b62afa36d7566..9246a34682164a 100644 --- a/versions/m-/marl.json +++ b/versions/m-/marl.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "5a91c2cc68fc789dfe15333d97f138dc5e900ee3", + "version-date": "2023-06-28", + "port-version": 0 + }, + { + "git-tree": "b6430e8be3b742d1466c45570a5d4946c427dd25", + "version-date": "2022-03-02", + "port-version": 0 + }, + { + "git-tree": "fd57df5a81ab5870018fd3d288922a14a235fcc4", + "version-date": "2021-04-25", + "port-version": 1 + }, { "git-tree": "455a779684efcee90811a7a1d2a86ba1b29a8996", "version-date": "2021-04-25", diff --git a/versions/m-/matchit.json b/versions/m-/matchit.json new file mode 100644 index 00000000000000..1bcabadf65b59f --- /dev/null +++ b/versions/m-/matchit.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "1076ccb795a41c9ac08c17b06a295043695ed6ab", + "version": "1.0.1", + "port-version": 0 + } + ] +} diff --git a/versions/m-/materialx.json b/versions/m-/materialx.json new file mode 100644 index 00000000000000..2d5a8394bc8d58 --- /dev/null +++ b/versions/m-/materialx.json @@ -0,0 +1,34 @@ +{ + "versions": [ + { + "git-tree": "b003eaaf8c723849203b9ccfb642a332759f68f6", + "version": "1.39.1", + "port-version": 1 + }, + { + "git-tree": "43f4bdc0c36c5c07302761341423d663f9fbea47", + "version": "1.39.1", + "port-version": 0 + }, + { + "git-tree": "d2a74dccc02854ec1ef84d3ef6b4defcfeb2b0ea", + "version": "1.38.9", + "port-version": 0 + }, + { + "git-tree": "51acf72a500446d2a9d101be11fb24b86a1a18ad", + "version": "1.38.8", + "port-version": 1 + }, + { + "git-tree": "b8895aa1059cf4106a82265c242871ae6db5b815", + "version": "1.38.8", + "port-version": 0 + }, + { + "git-tree": "f0dc3a4ac664a5b4fe18a946a35965b519c148e7", + "version": "1.38.4", + "port-version": 0 + } + ] +} diff --git a/versions/m-/mathc.json b/versions/m-/mathc.json index 1637430f0d4563..875de4c3470e9d 100644 --- a/versions/m-/mathc.json +++ b/versions/m-/mathc.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "a622f49155eedd08e32999ae7642251a1f1e30b4", + "version-date": "2019-09-29", + "port-version": 3 + }, + { + "git-tree": "1bf40ce6eb363cb8981612f34fb96c41be4c804a", + "version-string": "2019-09-29", + "port-version": 2 + }, { "git-tree": "48feea0350aedda2b2e7470bdb52e3c6b215688a", "version-string": "2019-09-29", diff --git a/versions/m-/mathgl.json b/versions/m-/mathgl.json index 0b819735941e2a..ee006157a03e64 100644 --- a/versions/m-/mathgl.json +++ b/versions/m-/mathgl.json @@ -1,5 +1,65 @@ { "versions": [ + { + "git-tree": "011366189a48953b00cd102fd5267a8dc13392e0", + "version": "8.0.1", + "port-version": 7 + }, + { + "git-tree": "fd038b25552f855f87b2456b8621eb789e7757d2", + "version": "8.0.1", + "port-version": 6 + }, + { + "git-tree": "21cc2f6ab97eed24ec95774335e364a7737c83d2", + "version": "8.0.1", + "port-version": 5 + }, + { + "git-tree": "629d09b4394436b3821f1871eaa6caa27bf04be0", + "version": "8.0.1", + "port-version": 4 + }, + { + "git-tree": "2c1da85e695d3767410b3acf59567da2faf32ea2", + "version": "8.0.1", + "port-version": 3 + }, + { + "git-tree": "34ffe72f88b0fa47c8bf8ad235ed3cf109560f65", + "version": "8.0.1", + "port-version": 2 + }, + { + "git-tree": "edd98363d2569c9ef358506313ce110045708f6a", + "version": "8.0.1", + "port-version": 1 + }, + { + "git-tree": "8fd2208b95f6ebc6f17a30cc79c3b57b1a8bcfb7", + "version": "8.0.1", + "port-version": 0 + }, + { + "git-tree": "e86f7ba9325f53bd43f5713e38d78fba18e7bc1d", + "version": "2.5", + "port-version": 2 + }, + { + "git-tree": "2601a536d9214365148c954f41a6597939a89d7d", + "version": "2.5", + "port-version": 1 + }, + { + "git-tree": "d75f46bbb8d518f326f688d355d5e9d241f44dc6", + "version": "2.5", + "port-version": 0 + }, + { + "git-tree": "27b4e9bc3b747e8c53489a5ef16b85a3f6035504", + "version": "2.4.3", + "port-version": 8 + }, { "git-tree": "4af49c54047fc9b315b888d5f51aef8748aba132", "version-string": "2.4.3", diff --git a/versions/m-/mathter.json b/versions/m-/mathter.json new file mode 100644 index 00000000000000..9b94386568f044 --- /dev/null +++ b/versions/m-/mathter.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "ea710398d1dcd53aeaf4f3ffba029288f26cdce4", + "version": "2.0.0", + "port-version": 0 + }, + { + "git-tree": "5e1449528fdbe7f9021358d70623a42ca229fdce", + "version": "1.1.2", + "port-version": 0 + } + ] +} diff --git a/versions/m-/matio.json b/versions/m-/matio.json index 74bf34be5db111..142c9fb2dbe486 100644 --- a/versions/m-/matio.json +++ b/versions/m-/matio.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "d841cddf1c82ca09a7f7b465219e6d5fd32b9db4", + "version": "1.5.27", + "port-version": 0 + }, + { + "git-tree": "9fd8ec3eacecc04384ff5a048c0962f852cdb793", + "version": "1.5.26", + "port-version": 0 + }, + { + "git-tree": "08eada66141696ad861d881ac1639d41682916e1", + "version": "1.5.24", + "port-version": 0 + }, + { + "git-tree": "42d087530e333855d74225712aab7755d2eb6be2", + "version": "1.5.23", + "port-version": 3 + }, + { + "git-tree": "28df0a44f618c5fd412fafda91507f3bad6ac4b1", + "version": "1.5.23", + "port-version": 2 + }, + { + "git-tree": "ee4fd8ab9268b332bd49e3b506033487a39afe26", + "version": "1.5.23", + "port-version": 1 + }, + { + "git-tree": "e018403a4c2e749f8983b6a64f60dac577342853", + "version-semver": "1.5.23", + "port-version": 0 + }, { "git-tree": "c11c8ba1ca5c7f0286165d497088779ec0df756a", "version-semver": "1.5.19", diff --git a/versions/m-/matplotlib-cpp.json b/versions/m-/matplotlib-cpp.json index f237470b3ecae7..77b7e60543d9c7 100644 --- a/versions/m-/matplotlib-cpp.json +++ b/versions/m-/matplotlib-cpp.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "e6daa977bec3896a8b102b44aaf1918778412e8a", + "version-date": "2020-08-27", + "port-version": 2 + }, { "git-tree": "baade687391a8a12d426361c378e7c1ee31d1182", "version-string": "2020-08-27", diff --git a/versions/m-/matplotplusplus.json b/versions/m-/matplotplusplus.json index 6d730f39d3ef62..5f6408d7a9bae5 100644 --- a/versions/m-/matplotplusplus.json +++ b/versions/m-/matplotplusplus.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "51c46b79b51c246c051a496bbdfa057aec3860ca", + "version": "1.2.1", + "port-version": 0 + }, + { + "git-tree": "99828f36e20657952b4574a84c4281f684a0afeb", + "version": "1.2.0", + "port-version": 1 + }, + { + "git-tree": "4e65bffccaa1a5061002c38b7bdf6a0e464caf39", + "version": "1.2.0", + "port-version": 0 + }, + { + "git-tree": "8554ae7ec807245bdcd27b44ddebd39608edfe53", + "version-date": "2021-04-11", + "port-version": 6 + }, { "git-tree": "e0496a49614d3fc1f77f20f230b3168720140c3b", "version-date": "2021-04-11", diff --git a/versions/m-/matroska.json b/versions/m-/matroska.json index 8bf36eb8f64a2c..302eb64db6d6cf 100644 --- a/versions/m-/matroska.json +++ b/versions/m-/matroska.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "3d414c27a074d4262517bf3fe72571e8f16ccab0", + "version": "1.7.1", + "port-version": 2 + }, + { + "git-tree": "12137590eb6e5ec4e644e61b664d83a4ed6c8022", + "version": "1.7.1", + "port-version": 1 + }, + { + "git-tree": "041bae8554d02be4ce2909d9a01a8fd2bced588b", + "version": "1.7.1", + "port-version": 0 + }, { "git-tree": "4f42c70e6e7b730f43e59e3dd7e0b4b8e7e7abd8", "version": "1.6.3", diff --git a/versions/m-/mbedtls.json b/versions/m-/mbedtls.json index d9fdc8f6b618c2..8247047babeaf3 100644 --- a/versions/m-/mbedtls.json +++ b/versions/m-/mbedtls.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "0c5c07caa2aa3d35d64a07428dfc049a13ea6aad", + "version": "3.6.1", + "port-version": 0 + }, + { + "git-tree": "1e5355b5449b7ca3e1de902bd6c264e27e8eae6d", + "version": "2.28.8", + "port-version": 0 + }, + { + "git-tree": "b8ca11fc0285875347dc1203913af7f84f9c7cad", + "version": "2.28.7", + "port-version": 0 + }, + { + "git-tree": "909516904f06e3379f7ac434b967cb165d8020c2", + "version": "2.28.5", + "port-version": 0 + }, + { + "git-tree": "f6fd876a24f60e3034438c6793627be091ab6426", + "version": "2.28.1", + "port-version": 0 + }, + { + "git-tree": "50e6870207f6a1f0b1e2197978b4403de775eac2", + "version": "2.28.0", + "port-version": 0 + }, + { + "git-tree": "676b36c2f6fc72a2fbbbe521ae46fdefe5db67ca", + "version": "2.24.0", + "port-version": 4 + }, { "git-tree": "a68475211755b3999de8cb2ec1d2fdfe9bb8ab10", "version-string": "2.24.0", diff --git a/versions/m-/mchehab-zbar.json b/versions/m-/mchehab-zbar.json new file mode 100644 index 00000000000000..a09be3be3278f6 --- /dev/null +++ b/versions/m-/mchehab-zbar.json @@ -0,0 +1,34 @@ +{ + "versions": [ + { + "git-tree": "368a491e8bad201ee1b88e88314b77c540dcea2b", + "version": "0.23.90", + "port-version": 5 + }, + { + "git-tree": "34932d2a4b1c53aefeed99ef9133f8a307ad9958", + "version": "0.23.90", + "port-version": 4 + }, + { + "git-tree": "09371ba90d3c31d038bffd54a90203b5b4f7fdc8", + "version": "0.23.90", + "port-version": 3 + }, + { + "git-tree": "af1f66aef9076cd2e27c941851d1549d1cbffe00", + "version": "0.23.90", + "port-version": 2 + }, + { + "git-tree": "545ecda77fa95f46216d944ca8ab1f7e12378930", + "version": "0.23.90", + "port-version": 1 + }, + { + "git-tree": "7c066057a5c24bbea65e26e9e7519db938a2932e", + "version": "0.23.90", + "port-version": 0 + } + ] +} diff --git a/versions/m-/mcpp.json b/versions/m-/mcpp.json index 695c914c78bf2e..413d75f9ab316b 100644 --- a/versions/m-/mcpp.json +++ b/versions/m-/mcpp.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "7041df1b28901785cee16019a1fb8a0cef7c6bb1", + "version": "2.7.2.14", + "port-version": 5 + }, + { + "git-tree": "c8e9fb1b912244a0d844e2748210a805ae2a7a93", + "version-string": "2.7.2.14", + "port-version": 4 + }, { "git-tree": "beca539b781c4a50d092a4b02e9b2af455f14b40", "version-string": "2.7.2.14", diff --git a/versions/m-/md4c.json b/versions/m-/md4c.json new file mode 100644 index 00000000000000..c79134b4c57e22 --- /dev/null +++ b/versions/m-/md4c.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "3d6a0dd2cd6d89e4c83bebf016a978b82c0733c5", + "version": "0.5.2", + "port-version": 0 + } + ] +} diff --git a/versions/m-/mdl-sdk.json b/versions/m-/mdl-sdk.json new file mode 100644 index 00000000000000..ad9dcc8b71b252 --- /dev/null +++ b/versions/m-/mdl-sdk.json @@ -0,0 +1,39 @@ +{ + "versions": [ + { + "git-tree": "089fc6e3fd51fbe06084eb0e59cbecb3b68387a3", + "version": "2024.0.4", + "port-version": 0 + }, + { + "git-tree": "a766439c586bae690dfd211fe3acebe13ee70c02", + "version": "2021.1.2", + "port-version": 5 + }, + { + "git-tree": "7c4084ba04dcadc57086603e341b7d74e6926f00", + "version": "2021.1.2", + "port-version": 4 + }, + { + "git-tree": "a8fcd0cdebe6b073993485aba6fa0dd24445f9f5", + "version": "2021.1.2", + "port-version": 3 + }, + { + "git-tree": "04186cc5442b20b27d3a47f901dfd4c7eef16353", + "version": "2021.1.2", + "port-version": 2 + }, + { + "git-tree": "7b540090b50df32e1bdcab5953994590e0fb37bd", + "version": "2021.1.2", + "port-version": 1 + }, + { + "git-tree": "1ea6f971b1824f51c7beed4983f54733b24f1bed", + "version": "2021.1.2", + "port-version": 0 + } + ] +} diff --git a/versions/m-/mdns.json b/versions/m-/mdns.json index b902fa0fd6050b..a53d9320ffdc6b 100644 --- a/versions/m-/mdns.json +++ b/versions/m-/mdns.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "67bfd722fb49f35c6a08ca9c1e4e1dea2a53d5df", + "version": "1.4.3", + "port-version": 0 + }, + { + "git-tree": "56cbde1a40c13e9584e62d15f69c2579f6bcd476", + "version": "1.4.2", + "port-version": 0 + }, { "git-tree": "4983c367da3c0798e1e0a7b9d8844eeba57c5b97", "version": "1.4.1", diff --git a/versions/m-/mdnsresponder.json b/versions/m-/mdnsresponder.json index 1503ea66832e5f..3629c6dc2ed0b5 100644 --- a/versions/m-/mdnsresponder.json +++ b/versions/m-/mdnsresponder.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "2c54f504ea29603c2a46be74893d406db0956336", + "version": "1557.140.5.0.1", + "port-version": 1 + }, + { + "git-tree": "da77ffdd863076ef906fa3d5b50e8190f1241a57", + "version": "1557.140.5.0.1", + "port-version": 0 + }, + { + "git-tree": "682a242458b4279dc56aa5111c5c94dc09038c23", + "version": "878.270.2", + "port-version": 2 + }, + { + "git-tree": "3a57c5a00a432c5f54ca26ddf0a1ea7298364e55", + "version": "878.270.2", + "port-version": 1 + }, { "git-tree": "0feece31cd1ade61b7f16a0a23880d3b29ad3eb4", "version": "878.270.2", diff --git a/versions/m-/mdspan.json b/versions/m-/mdspan.json index 3eb709742de2cf..fc243a51679952 100644 --- a/versions/m-/mdspan.json +++ b/versions/m-/mdspan.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "f0a8dad5240bcaa137ad2b68ff3097a8d5e37109", + "version": "0.6.0", + "port-version": 0 + }, + { + "git-tree": "4532b6ddb077c99218420a09a482a978903e162b", + "version": "0.5.0", + "port-version": 0 + }, + { + "git-tree": "ea06cdb7d1943dac6ada2f2fd419bb68d7bc196a", + "version": "0.4.0", + "port-version": 0 + }, { "git-tree": "3e312b5c0220a832b0deebd7478f044481ebe79c", "version-date": "2021-11-03", diff --git a/versions/m-/mecab.json b/versions/m-/mecab.json index aabc6ec2c06356..363fcb2596feb4 100644 --- a/versions/m-/mecab.json +++ b/versions/m-/mecab.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "60fff785f597952c284a1538d04b9b1ce4f3a906", + "version-date": "2019-09-25", + "port-version": 6 + }, + { + "git-tree": "66081fbeecacd152e3964b0f64f25e0f0b10d461", + "version-date": "2019-09-25", + "port-version": 5 + }, + { + "git-tree": "d5f64d85fddc71ff872f675cda3ed8ee767193f1", + "version-date": "2019-09-25", + "port-version": 4 + }, + { + "git-tree": "0728379df6bdd38f71f90bff5b1d75dcd3f0b6d0", + "version-string": "2019-09-25", + "port-version": 3 + }, { "git-tree": "b5a2f4cbcaaa4aac05dc3c6ab814cf8db0047aab", "version-string": "2019-09-25", diff --git a/versions/m-/memorymodule.json b/versions/m-/memorymodule.json index 990365470d08f9..f309495fed6e74 100644 --- a/versions/m-/memorymodule.json +++ b/versions/m-/memorymodule.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "ffb374d5bca41e19f8bdc69582814e3fc65a93aa", + "version-date": "2019-12-31", + "port-version": 3 + }, { "git-tree": "f7818f51e182a651a0b090ea0d315c32b928d7c3", "version-string": "2019-12-31", diff --git a/versions/m-/mesa.json b/versions/m-/mesa.json index 7d643482e5d3ee..73a8d090ad0a42 100644 --- a/versions/m-/mesa.json +++ b/versions/m-/mesa.json @@ -1,5 +1,90 @@ { "versions": [ + { + "git-tree": "ea151768a6cf43fcfc6f579113e3f81b03b355bd", + "version": "24.0.7", + "port-version": 2 + }, + { + "git-tree": "04738625c7b81104ce8e66f296fd807c9dc05bce", + "version": "24.0.7", + "port-version": 1 + }, + { + "git-tree": "24210567cde1f9242bca62ba46ef468467281c80", + "version": "24.0.7", + "port-version": 0 + }, + { + "git-tree": "cf4f628acb3c66d2c99544f1acd2a76f576f3f4b", + "version": "23.2.1", + "port-version": 1 + }, + { + "git-tree": "3f318339b0c26814bbd53fce78471f1a95fdfe0d", + "version": "23.2.1", + "port-version": 0 + }, + { + "git-tree": "cdf9e52bbaf36ffdf540342ea090d8535ad7a883", + "version": "23.0.1", + "port-version": 2 + }, + { + "git-tree": "d76e69afa98f38f1b3102572a8a5516ce088b9ca", + "version": "23.0.1", + "port-version": 1 + }, + { + "git-tree": "87fb0741a264517b99f37f4ff2ba43264cdfe0f9", + "version": "23.0.1", + "port-version": 0 + }, + { + "git-tree": "ff0e8b2a943a94c7f1c3d13fbacbddd6d0c2aa3e", + "version": "22.1.7", + "port-version": 1 + }, + { + "git-tree": "7febde5a35ffc0cc975e25219121f5dc7048e0ef", + "version": "22.1.7", + "port-version": 0 + }, + { + "git-tree": "7df282d97d0ef5ec5a19b770dced8cd773e570c0", + "version": "22.0.2", + "port-version": 0 + }, + { + "git-tree": "32925250dd7d2e060ca2cfe9fbda1d3f4312f29a", + "version": "21.2.5", + "port-version": 4 + }, + { + "git-tree": "aa75375f1cc9c3c4697c8fa8df4e647fb60f0125", + "version": "21.2.5", + "port-version": 3 + }, + { + "git-tree": "60ae9e5d7081930a0e736be1742db18b01a0114b", + "version": "21.2.5", + "port-version": 2 + }, + { + "git-tree": "9318298d8532439ec65868f7b1997f2b8d49fec5", + "version": "21.2.5", + "port-version": 1 + }, + { + "git-tree": "55d54a8cf6adc14ea9d2ac84621f75295a367a07", + "version": "21.2.5", + "port-version": 0 + }, + { + "git-tree": "5308d779b4070c295771c630e4b2251582e16d0c", + "version": "21.2.0", + "port-version": 1 + }, { "git-tree": "931291396b7abd6c8fcdf7d6e995782dfa64bb80", "version": "21.2.0", diff --git a/versions/m-/meschach.json b/versions/m-/meschach.json index ed69f8e81746d0..e3a295a01fe016 100644 --- a/versions/m-/meschach.json +++ b/versions/m-/meschach.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "959f30c07d83546ddf30dd03220bd52a6a5eb5b4", + "version-string": "1.2b", + "port-version": 6 + }, + { + "git-tree": "e475a3306653b4ab8f50dc691dff3f7fda152b83", + "version-string": "1.2b", + "port-version": 5 + }, { "git-tree": "11c21ca45a95bf05d74344c2518e3a9d107da566", "version-string": "1.2b", diff --git a/versions/m-/meshoptimizer.json b/versions/m-/meshoptimizer.json index 57964ad9deb119..482fdc6e3c41d2 100644 --- a/versions/m-/meshoptimizer.json +++ b/versions/m-/meshoptimizer.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "9ff504432cfa14706fac154ca9c490a3df9922f8", + "version": "0.21", + "port-version": 0 + }, + { + "git-tree": "3ed757afdbfbbe133e9c4ae31e8288ea80f66860", + "version": "0.20", + "port-version": 0 + }, + { + "git-tree": "4443e075e83187322a4323485d302fb52746a9e4", + "version": "0.19", + "port-version": 1 + }, + { + "git-tree": "c13ff2acc01518548a4d669e3d2976235c55780f", + "version": "0.19", + "port-version": 0 + }, + { + "git-tree": "82831888ef7242fd8d00cc2b9710d33d895d76f1", + "version": "0.18", + "port-version": 1 + }, + { + "git-tree": "bc06ee0eb1b2510c67f2bf0d6940fd10395990a4", + "version": "0.18", + "port-version": 0 + }, { "git-tree": "a1693991d70ae383ea21f4f634f8d0f136e15bd7", "version": "0.16", diff --git a/versions/m-/metis.json b/versions/m-/metis.json index 82f7ccab1707db..2842a70cfcdf6c 100644 --- a/versions/m-/metis.json +++ b/versions/m-/metis.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "1a8b82dc534499155aca4057cb5ee998da7cdbc4", + "version-date": "2022-07-27", + "port-version": 0 + }, { "git-tree": "f3670208e9dc0b726c3c009e37f2398b7f2acca3", "version-string": "5.1.0", diff --git a/versions/m-/metrohash.json b/versions/m-/metrohash.json index 56847f9fbc4e2d..8c3080320ee97d 100644 --- a/versions/m-/metrohash.json +++ b/versions/m-/metrohash.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "0a4c1767a943972ca5cab7773ff6f120a799fd77", + "version": "1.1.3", + "port-version": 5 + }, { "git-tree": "777a0ee61fdc53dcad0971184232d29b58e52f63", "version": "1.1.3", diff --git a/versions/m-/mfl.json b/versions/m-/mfl.json index 37f9797621be83..128fe9d112fbc2 100644 --- a/versions/m-/mfl.json +++ b/versions/m-/mfl.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "e78930d433356d545a61de55d6a23a6debb704b0", + "version": "0.0.1", + "port-version": 3 + }, + { + "git-tree": "a987e0da7b7b8bee335c9764cf2b8abcc6b68d2a", + "version": "0.0.1", + "port-version": 2 + }, + { + "git-tree": "5ad7af919e311136c6d46434a2a71b5e064a2d67", + "version": "0.0.1", + "port-version": 1 + }, { "git-tree": "a01a0e6d38ab404c3ae58d21d734969a089ef82c", "version": "0.0.1", diff --git a/versions/m-/mfx-dispatch.json b/versions/m-/mfx-dispatch.json new file mode 100644 index 00000000000000..d1481f3501075e --- /dev/null +++ b/versions/m-/mfx-dispatch.json @@ -0,0 +1,29 @@ +{ + "versions": [ + { + "git-tree": "0e2d18fc6010dd23044bade1a855669f8e9c9c86", + "version": "1.35.1", + "port-version": 4 + }, + { + "git-tree": "4372c27465a70b6b113adc8fb69ea86da3c21a3f", + "version": "1.35.1", + "port-version": 3 + }, + { + "git-tree": "07eb6cc5ee276c7e965868d1cb6de113d41e0e41", + "version": "1.35.1", + "port-version": 2 + }, + { + "git-tree": "5d0fd959ef687e9180ea230b8eea4d2f944423a4", + "version": "1.35.1", + "port-version": 1 + }, + { + "git-tree": "5d909c04d7a865922f20c862587019f005a98e21", + "version": "1.35.1", + "port-version": 0 + } + ] +} diff --git a/versions/m-/mgnlibs.json b/versions/m-/mgnlibs.json index ae2cc30baaeb54..d8807add7219d0 100644 --- a/versions/m-/mgnlibs.json +++ b/versions/m-/mgnlibs.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "1713a84947406acff6800ccc47f68951394b424d", + "version-date": "2019-09-29", + "port-version": 2 + }, { "git-tree": "4a611255e7ec6133fd9167e7db71227a7da8dd22", "version-string": "2019-09-29", diff --git a/versions/m-/mhook.json b/versions/m-/mhook.json index f2e9587c398166..40c74d9b36e159 100644 --- a/versions/m-/mhook.json +++ b/versions/m-/mhook.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "5f4f5f56588f1c2b391e6c8766a4fa4dd713514d", + "version": "2.5.1", + "port-version": 3 + }, { "git-tree": "63acd5f7a94d6b86d9fb2b3642e0fbd253f21e47", "version-string": "2.5.1", diff --git a/versions/m-/michaelmiller-sec21.json b/versions/m-/michaelmiller-sec21.json new file mode 100644 index 00000000000000..e0e7177f0621df --- /dev/null +++ b/versions/m-/michaelmiller-sec21.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "4102acd31187637aed2917a2b8e7a830fc17a645", + "version": "1.0.1", + "port-version": 0 + } + ] +} diff --git a/versions/m-/micro-gl.json b/versions/m-/micro-gl.json new file mode 100644 index 00000000000000..5939d24ff5ab04 --- /dev/null +++ b/versions/m-/micro-gl.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "f9888333a0c74adb95e624e769af095d29a5e18c", + "version-date": "2024-06-18", + "port-version": 0 + } + ] +} diff --git a/versions/m-/microsoft-signalr.json b/versions/m-/microsoft-signalr.json index 3a7cdf9a9e1e8a..7a0831f88a9e4c 100644 --- a/versions/m-/microsoft-signalr.json +++ b/versions/m-/microsoft-signalr.json @@ -1,5 +1,65 @@ { "versions": [ + { + "git-tree": "fbeec8cc91b3ef1fd17afc17a0cb7361138ab1a6", + "version": "0.1.0-alpha4", + "port-version": 12 + }, + { + "git-tree": "2b29ee52721e3f9ba79a0348a731d9f8a26ef89a", + "version": "0.1.0-alpha4", + "port-version": 11 + }, + { + "git-tree": "dbcb170bce41778a732fcc2655b82d4d3cb7b06c", + "version": "0.1.0-alpha4", + "port-version": 10 + }, + { + "git-tree": "25d06a130b123e7bd4dd76bdf2ddcf3af250b86d", + "version": "0.1.0-alpha4", + "port-version": 9 + }, + { + "git-tree": "31b63c815c4f6877e688b163a083df208d8ca133", + "version": "0.1.0-alpha4", + "port-version": 8 + }, + { + "git-tree": "777629bd31d9a4885b696623304b030c29b552c4", + "version": "0.1.0-alpha4", + "port-version": 7 + }, + { + "git-tree": "9a366b0a8f7b8177b0c91de00d652dfac38ed927", + "version": "0.1.0-alpha4", + "port-version": 6 + }, + { + "git-tree": "4d404283aa7fbee588db56cbe0a470d82c1f9258", + "version": "0.1.0-alpha4", + "port-version": 5 + }, + { + "git-tree": "1ea9d11c361ff46b14b9872df5b71b634ff1d709", + "version": "0.1.0-alpha4", + "port-version": 4 + }, + { + "git-tree": "756cbce0122778f80b0029e5efbec95f76e04457", + "version": "0.1.0-alpha4", + "port-version": 3 + }, + { + "git-tree": "3941fa934e8ae400f7cd47d0311f4e4f945dbacd", + "version": "0.1.0-alpha4", + "port-version": 2 + }, + { + "git-tree": "bfae1e03d5239a637b313baa81f03e6fa025c45a", + "version": "0.1.0-alpha4", + "port-version": 1 + }, { "git-tree": "f95ed360cce7fb3a2acd3684ba74619ebc1d75a3", "version-string": "0.1.0-alpha3", diff --git a/versions/m-/mikktspace.json b/versions/m-/mikktspace.json index 7e703855426691..ee346c8cbae809 100644 --- a/versions/m-/mikktspace.json +++ b/versions/m-/mikktspace.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "d17da931820ec6b21851d8ad62927e33c8afd119", + "version-date": "2020-10-06", + "port-version": 3 + }, + { + "git-tree": "d568c517b4a55fcc8031ae6b7b1d9ccff6682185", + "version-string": "2020-10-06", + "port-version": 2 + }, { "git-tree": "28fd852185e2def3476be4d85d4643e1a90204ee", "version-string": "2020-10-06", diff --git a/versions/m-/milerius-sfml-imgui.json b/versions/m-/milerius-sfml-imgui.json index 581b42fad13f99..4641a421da2067 100644 --- a/versions/m-/milerius-sfml-imgui.json +++ b/versions/m-/milerius-sfml-imgui.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "96e8f763f41b331a6a7e8706925d8a49931627f1", + "version": "1.1", + "port-version": 6 + }, + { + "git-tree": "959aac1b74b20fe931081e70cedd5e82533669fc", + "version": "1.1", + "port-version": 5 + }, + { + "git-tree": "4bfc198df4803019e174c0489fcc91e178f66930", + "version": "1.1", + "port-version": 4 + }, { "git-tree": "ecf4d9fd039390613094ab42564601f32f9982c3", "version-string": "1.1", diff --git a/versions/m-/mimalloc.json b/versions/m-/mimalloc.json index caf7f5c8d006a4..164863a418c330 100644 --- a/versions/m-/mimalloc.json +++ b/versions/m-/mimalloc.json @@ -1,5 +1,90 @@ { "versions": [ + { + "git-tree": "7c5bd4a682e8abd9ad95f184c32040d4fed94dfb", + "version": "2.1.7", + "port-version": 1 + }, + { + "git-tree": "36add89e108365f4632d31d0ff7cc877101a9fad", + "version": "2.1.7", + "port-version": 0 + }, + { + "git-tree": "ff95c94a32304ad50d90692debd0c64efb10c1fa", + "version": "2.1.2", + "port-version": 3 + }, + { + "git-tree": "d4b6f2a9a4e1e46eb83fe8ce48b36baa58af4977", + "version": "2.1.2", + "port-version": 2 + }, + { + "git-tree": "db19c496e6855e8aeb3a8666ffae862910b403c4", + "version": "2.1.2", + "port-version": 1 + }, + { + "git-tree": "bffb93e0abd806e613f2d6dbe35db0768368cae2", + "version": "2.1.2", + "port-version": 0 + }, + { + "git-tree": "f6055b5cb8a3a2d744cac4781fed65cf1da1064f", + "version": "2.1.1", + "port-version": 0 + }, + { + "git-tree": "aaa17dfe033cf63a5884ab214e39a790181ae8a3", + "version": "2.0.9", + "port-version": 0 + }, + { + "git-tree": "4b1df1eee29a7f8eadecb3bda74dff7870cc7ee4", + "version": "2.0.7", + "port-version": 1 + }, + { + "git-tree": "55adc4a153f844b7ce48f19dfc9648f939215eb9", + "version": "2.0.7", + "port-version": 0 + }, + { + "git-tree": "057ac5484ad7a120ffa465073655fe6e10684d4a", + "version": "2.0.6", + "port-version": 1 + }, + { + "git-tree": "e5d0b88ffbb864754eb8b01ac111f84adb8a36a8", + "version": "2.0.6", + "port-version": 0 + }, + { + "git-tree": "e4dc5fc89e8c1f860b9f07b3d449a5d67f56cfd4", + "version": "2.0.5", + "port-version": 1 + }, + { + "git-tree": "370692d9dc2cb2bc9f013041003e069e47febb67", + "version": "2.0.5", + "port-version": 0 + }, + { + "git-tree": "e68a15fa535a3dcf4a1dba0f277eb239cc27b863", + "version": "2.0.3", + "port-version": 2 + }, + { + "git-tree": "0b8064b8481fdeb88e2b4933c485ea0f6b99d779", + "version": "2.0.3", + "port-version": 1 + }, + { + "git-tree": "6e1b6fbd3bff2cae13325183c95aa07ed470b6ad", + "version": "2.0.3", + "port-version": 0 + }, { "git-tree": "dab9a2e508bca4575fc8f26df59f3f01735a3dbb", "version": "2.0.2", diff --git a/versions/m-/mimicpp.json b/versions/m-/mimicpp.json new file mode 100644 index 00000000000000..2fa6c3f7acf3b8 --- /dev/null +++ b/versions/m-/mimicpp.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "5f1b8b175bd484148b8c96e9b21b817381a8b964", + "version": "4", + "port-version": 0 + }, + { + "git-tree": "ef648806009c754d8077dad2e1fd9e434616f427", + "version": "3", + "port-version": 0 + } + ] +} diff --git a/versions/m-/minc.json b/versions/m-/minc.json index 875fca8fe5a18a..bb707d820bf60f 100644 --- a/versions/m-/minc.json +++ b/versions/m-/minc.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "7cadb35b3498a07bf7e64fafd1a2cfc04ef96a52", + "version-string": "2.4.03", + "port-version": 3 + }, { "git-tree": "c1f17dd915374b25e123d358f01990425f3e0e97", "version-string": "2.4.03", diff --git a/versions/m-/minhook.json b/versions/m-/minhook.json index 8e90429e48504d..882ad36d165016 100644 --- a/versions/m-/minhook.json +++ b/versions/m-/minhook.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "c9751daba9242a47e7beb2e21a4211226aee316f", + "version": "1.3.3", + "port-version": 4 + }, + { + "git-tree": "fea414bee13115e201fe93699ba5b55c7ae031b8", + "version": "1.3.3", + "port-version": 3 + }, { "git-tree": "8dbdd0ae999b8929af5e9df0cbae321bb0d71cea", "version-string": "1.3.3", diff --git a/versions/m-/miniaudio.json b/versions/m-/miniaudio.json new file mode 100644 index 00000000000000..14b3839e598dd6 --- /dev/null +++ b/versions/m-/miniaudio.json @@ -0,0 +1,24 @@ +{ + "versions": [ + { + "git-tree": "980dc0e20ab6855dfe916b881f580cd9f371f991", + "version": "0.11.21", + "port-version": 0 + }, + { + "git-tree": "62c26f2cd7ae5eb016e30a1555ff384f045047d5", + "version": "0.11.19", + "port-version": 0 + }, + { + "git-tree": "3e5f5e31bc86e07e943aa7d88ec8af21cd8f7013", + "version": "0.11.14", + "port-version": 0 + }, + { + "git-tree": "8a7494389f8cefc6d039938d2416fa56d94ee72d", + "version": "0.11.11", + "port-version": 0 + } + ] +} diff --git a/versions/m-/minifb.json b/versions/m-/minifb.json index c0f7d85514fa20..e40af52e69b0eb 100644 --- a/versions/m-/minifb.json +++ b/versions/m-/minifb.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "745289bcc43c14f1f4c5b1f9f2d319d42fe1d299", + "version-date": "2023-09-21", + "port-version": 0 + }, + { + "git-tree": "071e8c4877c43b767d0afce0ad085255b6f68622", + "version-date": "2023-02-03", + "port-version": 0 + }, { "git-tree": "c290d7a60106f75b013b4efa6b4287aa91385aab", "version-string": "2019-08-20", diff --git a/versions/m-/minimp3.json b/versions/m-/minimp3.json index 415f3d8c8be1da..73663162f7ce6e 100644 --- a/versions/m-/minimp3.json +++ b/versions/m-/minimp3.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "2997f9c06f0831c803fca134a599171dc2399bc4", + "version-date": "2021-11-30", + "port-version": 0 + }, { "git-tree": "4ed9d5474095c5aaecd2fc4ccab507523dd98241", "version-string": "2020-12-25", diff --git a/versions/m-/minio-cpp.json b/versions/m-/minio-cpp.json new file mode 100644 index 00000000000000..6f04434a29789e --- /dev/null +++ b/versions/m-/minio-cpp.json @@ -0,0 +1,34 @@ +{ + "versions": [ + { + "git-tree": "5e77c0a5539cf25197ff13cb1eb5ad200c1c05ae", + "version": "0.3.0", + "port-version": 0 + }, + { + "git-tree": "d4f8bdf76e76a43924ef2ffeeef1fc76ffc59035", + "version": "0.2.0", + "port-version": 0 + }, + { + "git-tree": "0c6bcc87e2a8548708c11f3e7c3148f1004d3146", + "version": "0.1.1", + "port-version": 1 + }, + { + "git-tree": "8442cf19a35307cd48476abbf05e85194509c7a2", + "version": "0.1.1", + "port-version": 0 + }, + { + "git-tree": "e406e5f0c1d14b66ad6e58c91d122ca0d01df04c", + "version": "0.1.0", + "port-version": 0 + }, + { + "git-tree": "0b0fe1b9353fd016b3f2e3212ae30a7a82b71ceb", + "version-date": "2022-01-03", + "port-version": 0 + } + ] +} diff --git a/versions/m-/miniply.json b/versions/m-/miniply.json new file mode 100644 index 00000000000000..79d77fad10bbf4 --- /dev/null +++ b/versions/m-/miniply.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "20ddfb09455e95fa20fcebc8d9e0d99409526a35", + "version-date": "2022-09-15", + "port-version": 1 + }, + { + "git-tree": "648516b62e07a6e5c6387f110f9f4bce0d6c67e9", + "version-date": "2022-09-15", + "port-version": 0 + } + ] +} diff --git a/versions/m-/minisat-master-keying.json b/versions/m-/minisat-master-keying.json index 9012522e499cb9..34bcb247cfbe4c 100644 --- a/versions/m-/minisat-master-keying.json +++ b/versions/m-/minisat-master-keying.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "96e49304f51f7f37b5813ccb64cb6469a3301425", + "version": "2.3.6", + "port-version": 1 + }, { "git-tree": "e7f174538407ae3f279ab4c7d2025a8545d220c9", "version": "2.3.6", diff --git a/versions/m-/minitrace.json b/versions/m-/minitrace.json index 42a7e6e1cd7d4c..ffee09093e862f 100644 --- a/versions/m-/minitrace.json +++ b/versions/m-/minitrace.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "e6bb405d13f5270e92c492306f317cb01dc4ab30", + "version-date": "2023-04-23", + "port-version": 0 + }, { "git-tree": "a108afe478661d93adbf6ca758501a543d89f2b1", "version-string": "2019.02.06", diff --git a/versions/m-/miniupnpc.json b/versions/m-/miniupnpc.json index e32fe58e984e26..7c7f707f389d36 100644 --- a/versions/m-/miniupnpc.json +++ b/versions/m-/miniupnpc.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "7cd06d47cb0cbaf659be8195bf06f2aef1980746", + "version": "2.3.7", + "port-version": 0 + }, + { + "git-tree": "9aee8de3ea87943bfaeff5368a5ae5194bf6b7fc", + "version": "2.2.6", + "port-version": 0 + }, + { + "git-tree": "4178b65263cd78046a728561065f5957d5f2f6ca", + "version": "2.2.5", + "port-version": 0 + }, + { + "git-tree": "7cf1368b7969b30d49c1666b690b8e18ab265ebc", + "version": "2.1", + "port-version": 5 + }, + { + "git-tree": "d63b7b18c08e0d968612093f1ada8f872c955688", + "version": "2.1", + "port-version": 4 + }, + { + "git-tree": "0c33ab6d1ebb5bc580617eaf6fd34930ec0d8233", + "version-string": "2.1", + "port-version": 3 + }, { "git-tree": "4f623d60c7ff375be1f55daa12fb1fcf119bb5a6", "version-string": "2.1", diff --git a/versions/m-/miniz.json b/versions/m-/miniz.json index ef0f29f0917cd6..c7b65462949770 100644 --- a/versions/m-/miniz.json +++ b/versions/m-/miniz.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "91b28cb3c5b2606dc0706969eeacbf6966e9b50c", + "version": "3.0.2", + "port-version": 1 + }, + { + "git-tree": "3bc5e6266f184934f9701339f472db510bb7a1e4", + "version": "3.0.2", + "port-version": 0 + }, { "git-tree": "49751d73421ae465b278aea471d6c8903837697c", "version": "2.2.0", diff --git a/versions/m-/minizip-ng.json b/versions/m-/minizip-ng.json index e71ee7e3321b64..e03faf9b7e00c8 100644 --- a/versions/m-/minizip-ng.json +++ b/versions/m-/minizip-ng.json @@ -1,5 +1,65 @@ { "versions": [ + { + "git-tree": "eeefed8ea3d0bded7e8333a05870153f5e4899a0", + "version": "4.0.7", + "port-version": 0 + }, + { + "git-tree": "3ca6fa97c975c5c3ccac257be25a5b41232f2bc2", + "version": "4.0.5", + "port-version": 0 + }, + { + "git-tree": "cfab4e259bccd7d7f1a0470b32c7b7bf912609f4", + "version": "4.0.4", + "port-version": 0 + }, + { + "git-tree": "33b696b13c4de3a5319c042daab76baa51945f8f", + "version": "4.0.2", + "port-version": 0 + }, + { + "git-tree": "d77f713bae64d416bf60adb3395a3b295feccc9b", + "version": "4.0.1", + "port-version": 0 + }, + { + "git-tree": "fb59eb8b735f74193a79326e33fb6f9abc66846a", + "version": "4.0.0", + "port-version": 4 + }, + { + "git-tree": "1483ef1293bbd3eea5edd9b5051bb4457eebfa2e", + "version": "4.0.0", + "port-version": 3 + }, + { + "git-tree": "89c9968274d731d513a3eadc259c73c95cfe058c", + "version": "4.0.0", + "port-version": 2 + }, + { + "git-tree": "1e55bf50acfd71d5f37f98bee270ff687f65219f", + "version": "4.0.0", + "port-version": 1 + }, + { + "git-tree": "f9a2226720f5e72647d6b0399f9c0bd5baf8f9b9", + "version": "4.0.0", + "port-version": 0 + }, + { + "git-tree": "e97e41aa57defe3c82bebab5941a4e4320f5a704", + "version": "3.0.7", + "port-version": 0 + }, + { + "git-tree": "36ef459c57047fcfc0ddbfc97d7360d7307acb24", + "version": "3.0.5", + "port-version": 0 + }, { "git-tree": "4a8de7f8609b758c48eea13b67d47c22efc832a3", "version": "3.0.2", diff --git a/versions/m-/minizip.json b/versions/m-/minizip.json index acbf121370f2ab..2f027dae011f8a 100644 --- a/versions/m-/minizip.json +++ b/versions/m-/minizip.json @@ -1,5 +1,55 @@ { "versions": [ + { + "git-tree": "bb8016593efa5220d1b877c27cd8612862c13d81", + "version": "1.3.1", + "port-version": 1 + }, + { + "git-tree": "8a421d5b61058bace21296039e5f5bcbe9c9010a", + "version": "1.3.1", + "port-version": 0 + }, + { + "git-tree": "91fe1aaa8a5d696bda657a3d2b687fecfa92a7c3", + "version": "1.3", + "port-version": 1 + }, + { + "git-tree": "2295a5b26e2cbbbf59706f08dc1c5717da951bd1", + "version": "1.3", + "port-version": 0 + }, + { + "git-tree": "68d2e759e03b54cd9970328b1cede845ebccf7c2", + "version-semver": "1.2.13", + "port-version": 3 + }, + { + "git-tree": "48d519ab0025623c54756c482453f8405d2646bd", + "version-semver": "1.2.13", + "port-version": 2 + }, + { + "git-tree": "c8831fffa825d9fafc38f1e3587046c49051ecba", + "version-semver": "1.2.13", + "port-version": 1 + }, + { + "git-tree": "c0843dcfad42a538a772797a3f50627b5c8d411a", + "version-semver": "1.2.13", + "port-version": 0 + }, + { + "git-tree": "528703ed8d2b78aeaa55695765535efafa24540b", + "version-semver": "1.2.11", + "port-version": 11 + }, + { + "git-tree": "c3bec48dc73b936a25a26a9ec1941aac9e39fcf1", + "version-semver": "1.2.11", + "port-version": 10 + }, { "git-tree": "fc89de0b8a1105f6bee9625bba4031b138862a39", "version-semver": "1.2.11", diff --git a/versions/m-/mio.json b/versions/m-/mio.json index 805b6ca4b54d81..5c452f7d3458d1 100644 --- a/versions/m-/mio.json +++ b/versions/m-/mio.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "32e1d9bb77df214fec0e6ea240671114e3d3df30", + "version-date": "2023-03-03", + "port-version": 0 + }, + { + "git-tree": "a71deb82d263c979ed9077747778cc2295baee36", + "version-date": "2023-01-25", + "port-version": 0 + }, { "git-tree": "96f1f36bdbe5fe85f143d83f1018a21ddb420180", "version-string": "2019-02-10", diff --git a/versions/m-/mlpack.json b/versions/m-/mlpack.json index cb0e68931db259..3a52c976c37d2a 100644 --- a/versions/m-/mlpack.json +++ b/versions/m-/mlpack.json @@ -1,5 +1,55 @@ { "versions": [ + { + "git-tree": "8467e71cd0c010cc0e0831c2111cef62124e592a", + "version": "4.5.0", + "port-version": 0 + }, + { + "git-tree": "855456d472a81eca48e1c5de4918d5b94023d7ed", + "version": "4.4.0", + "port-version": 0 + }, + { + "git-tree": "f3c84cbe875f9fb8e012180e81ef11b5d3c012b2", + "version": "4.3.0", + "port-version": 1 + }, + { + "git-tree": "7439b5dbdc37394f6bb291343d634642d919f9d1", + "version": "4.3.0", + "port-version": 0 + }, + { + "git-tree": "e749963ad973dd29c0c573e0307fd4eaecea29d6", + "version": "4.2.0", + "port-version": 0 + }, + { + "git-tree": "274dd7a42860f7c70f7b94d5f8e3ad9083fa6e0d", + "version": "4.0.1", + "port-version": 0 + }, + { + "git-tree": "715657feab96cbc78eaae9c0279d85e3269eedee", + "version": "4.0.0", + "port-version": 0 + }, + { + "git-tree": "1ba342c0a0a5e88c4424207c3296b8db8c7062fc", + "version": "3.4.1", + "port-version": 5 + }, + { + "git-tree": "eb3aaa9dbc3991962b70c2c819d66e5c018ad41a", + "version": "3.4.1", + "port-version": 4 + }, + { + "git-tree": "aa79e1e52ba4e3112b84d77bc321580988b945f0", + "version": "3.4.1", + "port-version": 3 + }, { "git-tree": "587ee2575ef7543ff9a0ed30e645154db26f0001", "version": "3.4.1", diff --git a/versions/m-/mman.json b/versions/m-/mman.json index bf224236114eae..226b2e7d9a3951 100644 --- a/versions/m-/mman.json +++ b/versions/m-/mman.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "fff4dfa412b18aa027005a5ea952932cbf10cd74", + "version-string": "git-f5ff813", + "port-version": 5 + }, { "git-tree": "30ad8930ff3b29bd994587b1ff58e5205deb32bc", "version-string": "git-f5ff813", diff --git a/versions/m-/mmloader.json b/versions/m-/mmloader.json index ff952b9d88d27e..0a10695a62e834 100644 --- a/versions/m-/mmloader.json +++ b/versions/m-/mmloader.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "8f73c54685c38e7d210174f134723badde70879d", + "version": "1.0.1", + "port-version": 3 + }, + { + "git-tree": "4b102ccdbd92919d2f3f62fff55b2a51839199ad", + "version": "1.0.1", + "port-version": 2 + }, + { + "git-tree": "104d16ae01f6ae753fde8406f75a01b9353aa1f2", + "version-date": "2021-12-13", + "port-version": 1 + }, + { + "git-tree": "030c251ff729f1063950f5473cf393125f888ca2", + "version-date": "2021-12-13", + "port-version": 0 + }, { "git-tree": "e1825273819a6439f75ba1439385944a1331101c", "version-string": "2020-05-15", diff --git a/versions/m-/mmx.json b/versions/m-/mmx.json index b504b1fa96e557..3daa8cf8efae95 100644 --- a/versions/m-/mmx.json +++ b/versions/m-/mmx.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "6d23578a42c45320294872b23c612b577a245c98", + "version-date": "2022-03-27", + "port-version": 0 + }, { "git-tree": "1a84c6441a555fa4b0afa0bbe61488b1bc692138", "version-string": "2019-09-29", diff --git a/versions/m-/mnn.json b/versions/m-/mnn.json index fd88fd1d559b0b..21729a94cb3b5b 100644 --- a/versions/m-/mnn.json +++ b/versions/m-/mnn.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "af18b8b69d85424bc490584793f69b7abb368947", + "version": "1.1.0", + "port-version": 6 + }, + { + "git-tree": "4f755e0b91f277b483ce9b157d7e10fb99b49878", + "version": "1.1.0", + "port-version": 5 + }, + { + "git-tree": "e0bd733035bf0f532457f0d03b2aed538afe5cc1", + "version": "1.1.0", + "port-version": 4 + }, + { + "git-tree": "7f76a851632ab292ad4fbabcf5b6e94c0c6d957b", + "version": "1.1.0", + "port-version": 3 + }, + { + "git-tree": "e77125ae365a54bdcbbdb5bb2d77d32834a4487b", + "version": "1.1.0", + "port-version": 2 + }, { "git-tree": "10351b13b0daa0e66de483597da63e0d60e9777a", "version": "1.1.0", diff --git a/versions/m-/modern-cpp-kafka.json b/versions/m-/modern-cpp-kafka.json new file mode 100644 index 00000000000000..404018377645fb --- /dev/null +++ b/versions/m-/modern-cpp-kafka.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "5e842bd7d2edef40a83e26606ea4b75784c1c7bb", + "version-string": "2024.07.03", + "port-version": 0 + }, + { + "git-tree": "2da384edebac3371ee02b0a1d06606e93add35d5", + "version-string": "2023.03.07", + "port-version": 0 + } + ] +} diff --git a/versions/m-/modp-base64.json b/versions/m-/modp-base64.json index 0ec134f0162a6f..c88a7f0c06afb2 100644 --- a/versions/m-/modp-base64.json +++ b/versions/m-/modp-base64.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "85f2a557b0fdca31efb6e9e6c769309d583ea2a3", + "version-date": "2020-09-26", + "port-version": 2 + }, { "git-tree": "8e39629dc5108d0e7dac7c91bea6e7fbdeaeee14", "version-string": "2020-09-26", diff --git a/versions/m-/mongo-c-driver.json b/versions/m-/mongo-c-driver.json index b7ced9eb8b2674..9a8f3a55de9c71 100644 --- a/versions/m-/mongo-c-driver.json +++ b/versions/m-/mongo-c-driver.json @@ -1,5 +1,115 @@ { "versions": [ + { + "git-tree": "efed020d2a1dbbfaaba8550ba154d30c79b58d33", + "version": "1.29.0", + "port-version": 0 + }, + { + "git-tree": "79cc46a3281584b2c34acf830aa2d1935481d381", + "version": "1.28.1", + "port-version": 0 + }, + { + "git-tree": "d281cdc4d8d7bea3b30c0397b410ab0eac9cbf98", + "version": "1.28.0", + "port-version": 0 + }, + { + "git-tree": "ee64d4ea47486cf262d92227b887f7cd5b881d46", + "version": "1.27.6", + "port-version": 0 + }, + { + "git-tree": "78a63da59232ee6855e1979e3168794a65eebaba", + "version": "1.27.5", + "port-version": 0 + }, + { + "git-tree": "5feb5bb8f584c01633e780733ffa72f03066a45e", + "version": "1.27.4", + "port-version": 2 + }, + { + "git-tree": "e0d49789eb2474ec5c4a4bf3b1d54f16805e997d", + "version": "1.27.4", + "port-version": 1 + }, + { + "git-tree": "1f9e2f7d1753f1a119b6af302f8836b75e2eb420", + "version": "1.27.4", + "port-version": 0 + }, + { + "git-tree": "d46e1ebb4f01c99e5f6740c5d5745f6eb4a9cb3b", + "version": "1.27.3", + "port-version": 0 + }, + { + "git-tree": "81b20b1c902841a17a9b454861c2f58dee3aed3d", + "version": "1.27.2", + "port-version": 0 + }, + { + "git-tree": "b7f4dd21cdf50ca64c63af7067db1a8c3ef708b3", + "version": "1.27.1", + "port-version": 0 + }, + { + "git-tree": "2bd06209a79a00729f7c3635e87b77a4bf36faa6", + "version": "1.27.0", + "port-version": 0 + }, + { + "git-tree": "863c473a941f5db2ce3878b7290854c96bd561a9", + "version": "1.26.2", + "port-version": 0 + }, + { + "git-tree": "692416ecf8db8f3b20661a2a23a3cc37e848fe84", + "version": "1.26.1", + "port-version": 0 + }, + { + "git-tree": "e1723d95a3ecde5ac6caa99c1cb33aacc760c1c8", + "version": "1.26.0", + "port-version": 0 + }, + { + "git-tree": "7a6dfbb8124275c3987495969f7f79e5a7023b74", + "version": "1.25.4", + "port-version": 1 + }, + { + "git-tree": "219d51be972af0596a2c538b530fc379d136fcb2", + "version": "1.25.4", + "port-version": 0 + }, + { + "git-tree": "654476156359ba012d49880fbf0acf549c6eaa35", + "version": "1.25.2", + "port-version": 0 + }, + { + "git-tree": "988570f6f3cad6a77c519990851d9d2208d5970d", + "version": "1.25.1", + "port-version": 1 + }, + { + "git-tree": "7bc0eb795e698bac0f4d77bed4b6ecbde0f57857", + "version": "1.25.1", + "port-version": 0 + }, + { + "git-tree": "c9ddb78bc06cb779848d6afffa88938870ae8a7b", + "version": "1.24.3", + "port-version": 0 + }, + { + "git-tree": "b840350590e947daec430cfea1445d958ae6f5fa", + "version": "1.22.2", + "port-version": 0 + }, { "git-tree": "0579545ecddc3bef7941e3caa19bda27c80323bc", "version": "1.17.6", diff --git a/versions/m-/mongo-cxx-driver.json b/versions/m-/mongo-cxx-driver.json index 696d1d869291e6..759ad36b651e4c 100644 --- a/versions/m-/mongo-cxx-driver.json +++ b/versions/m-/mongo-cxx-driver.json @@ -1,5 +1,55 @@ { "versions": [ + { + "git-tree": "7fb58e0dc8d80bb5e013c724129133d335d9ea8a", + "version": "3.11.0", + "port-version": 0 + }, + { + "git-tree": "5bb1f83d08ff4f9441ac8273fabab84d16dc56fe", + "version": "3.10.2", + "port-version": 1 + }, + { + "git-tree": "e246a2d1a2ff8883db714ee2ca91b0522f40d532", + "version": "3.10.2", + "port-version": 0 + }, + { + "git-tree": "1cb201479398cab55eb19e2010472c4f35b1fa50", + "version": "3.10.1", + "port-version": 0 + }, + { + "git-tree": "9682855a28fdd67511a8b454e361f4a7841584a8", + "version": "3.9.0", + "port-version": 0 + }, + { + "git-tree": "d8fc862744aad29acd0e6a0d947fc5b561d3f5f7", + "version": "3.8.0", + "port-version": 0 + }, + { + "git-tree": "00588be07af8844394ca81106324a42f5d29d684", + "version": "3.7.2", + "port-version": 0 + }, + { + "git-tree": "b1003de5a9787e8f819b67f4ca0fdf709af706e5", + "version": "3.7.0", + "port-version": 0 + }, + { + "git-tree": "732830e44f7d4c9c31025d6c77e7d40220abef38", + "version": "3.6.5", + "port-version": 3 + }, + { + "git-tree": "2c9183634ff53b6e76b201ad39abf63b5d26bc8a", + "version": "3.6.5", + "port-version": 2 + }, { "git-tree": "2fd38965003b9bc7a653ab8aaabb8172a043d9d0", "version": "3.6.5", diff --git a/versions/m-/mongoose.json b/versions/m-/mongoose.json index fae1081ea31f2e..883bad03860f11 100644 --- a/versions/m-/mongoose.json +++ b/versions/m-/mongoose.json @@ -1,5 +1,55 @@ { "versions": [ + { + "git-tree": "84bc9066626fecafb55c4a9fe6f961f46abd6685", + "version": "7.15", + "port-version": 0 + }, + { + "git-tree": "4635ed1eaccef7398b0d7d2eb304d864ce3b46c2", + "version": "7.14", + "port-version": 0 + }, + { + "git-tree": "ed69e3dd21a9801626d7f54cac6291da4f9041c6", + "version": "7.13", + "port-version": 0 + }, + { + "git-tree": "bfea1ea4e50f4361b3381a638ac89d023d91c51a", + "version": "7.12", + "port-version": 0 + }, + { + "git-tree": "1da80484966f8ca2b0840d8bb37c523bd0ddbc87", + "version": "7.11", + "port-version": 0 + }, + { + "git-tree": "322dc89811cd8590e93dce9f3bfc48b41f2c61b9", + "version": "7.9", + "port-version": 0 + }, + { + "git-tree": "5b5b498db39c7ea2220e34362413657171ebad34", + "version": "7.8", + "port-version": 0 + }, + { + "git-tree": "cbba0161f41a1ea996f1e64afecc998e01e59661", + "version": "7.6", + "port-version": 0 + }, + { + "git-tree": "504d873811dc91402f21952ea4c9fd08602cc822", + "version": "7.5", + "port-version": 1 + }, + { + "git-tree": "e48192c7d0e653962481e1c2be9e7663ead35e74", + "version": "7.5", + "port-version": 0 + }, { "git-tree": "a706659c49d7ac73bfa869a3497ffeec2c57af71", "version": "7.1", diff --git a/versions/m-/monkeys-audio.json b/versions/m-/monkeys-audio.json index b1effe8c7b997b..92e17059861907 100644 --- a/versions/m-/monkeys-audio.json +++ b/versions/m-/monkeys-audio.json @@ -1,5 +1,55 @@ { "versions": [ + { + "git-tree": "9789faef25ad05708ca95d35d500b4713716ab2f", + "version-string": "10.08", + "port-version": 2 + }, + { + "git-tree": "9334281a45f4a9a85f9a3fac1fac959b00201bab", + "version-string": "10.08", + "port-version": 1 + }, + { + "git-tree": "55e5b52ffc64a4b2604fa01522d8ebbe53accf56", + "version-string": "10.08", + "port-version": 0 + }, + { + "git-tree": "19c0d2d18d6517fe98d5619755acfa8737021cc5", + "version-string": "9.04", + "port-version": 4 + }, + { + "git-tree": "685bfd76259b1551722367cd860808e36c796991", + "version-string": "9.04", + "port-version": 3 + }, + { + "git-tree": "fdafc906d1ff5d300e27dc2e60e807fc7fca0d39", + "version-string": "9.04", + "port-version": 2 + }, + { + "git-tree": "65d1eadb4f2e5961fec2975b2450513b6c7b6d6a", + "version-string": "9.04", + "port-version": 1 + }, + { + "git-tree": "ae5b8fee2db96b691e609427278a6974180e68d4", + "version-string": "9.04", + "port-version": 0 + }, + { + "git-tree": "029d9c14ce64feb48e15e8cd11b1a3123d016c62", + "version": "5.70", + "port-version": 3 + }, + { + "git-tree": "6dbdeec6bf1752114f81a6ad09c85d046dc2ca3b", + "version": "5.70", + "port-version": 2 + }, { "git-tree": "e7058d11b081c99f9be409c3770e9d41b6487505", "version-string": "5.70", diff --git a/versions/m-/moos-core.json b/versions/m-/moos-core.json index 16f32ea8643588..b46a0b76e52ca3 100644 --- a/versions/m-/moos-core.json +++ b/versions/m-/moos-core.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "21e3020509ccf12a2ef1f855a2761e6a17abc86a", + "version": "10.4.0", + "port-version": 10 + }, + { + "git-tree": "a409b13d5b8375d40c505f08f7c1d1e43ac54975", + "version": "10.4.0", + "port-version": 9 + }, + { + "git-tree": "9f2f00b654a7a9a9a810ae8d84099c9567f847cf", + "version": "10.4.0", + "port-version": 8 + }, + { + "git-tree": "2081cab97d387c22addea1cec2a244f45a1a6b09", + "version": "10.4.0", + "port-version": 7 + }, { "git-tree": "bbdd0d3fb08ac68bdd5d73aedb783d5edf912845", "version-string": "10.4.0", diff --git a/versions/m-/moos-essential.json b/versions/m-/moos-essential.json index 0cd9326520bbd2..08ff17bef3cff1 100644 --- a/versions/m-/moos-essential.json +++ b/versions/m-/moos-essential.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "6ffee2f0ff0958105ea47afa647a7903843f7163", + "version": "10.0.1", + "port-version": 5 + }, + { + "git-tree": "92e1bf2cd4c25ce4d4cf529f9b1848973199d3e4", + "version-string": "10.0.1", + "port-version": 4 + }, { "git-tree": "11b1cc83a6dfc1cafed531cc20618bb6e8c13f97", "version-string": "10.0.1", diff --git a/versions/m-/moos-ui.json b/versions/m-/moos-ui.json index 9dae922ad74f2e..baf50fe01119b4 100644 --- a/versions/m-/moos-ui.json +++ b/versions/m-/moos-ui.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "b3a4cd845b217a94361bc21770a315dfcdec91b3", + "version": "10.0.1", + "port-version": 5 + }, + { + "git-tree": "41137f783f7948b1623b67b9fd96005fe2582e5a", + "version-string": "10.0.1", + "port-version": 4 + }, { "git-tree": "c1f77392ef5dd2171f4125afd48a6bf9a69e4983", "version-string": "10.0.1", diff --git a/versions/m-/morton-nd.json b/versions/m-/morton-nd.json index 2eb016e7b778cb..9e1fb3f04ef417 100644 --- a/versions/m-/morton-nd.json +++ b/versions/m-/morton-nd.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "5fa044c2e3de0da061e78acd5ebbdd9abaa11881", + "version": "4.0.0", + "port-version": 3 + }, + { + "git-tree": "c77c3725f93cfc65ae3882b9f7293ef85e89931b", + "version-string": "4.0.0", + "port-version": 2 + }, { "git-tree": "753c7a016925df0630d4d9014ae98cfe34c87c35", "version-string": "4.0.0", diff --git a/versions/m-/mosquitto.json b/versions/m-/mosquitto.json index 597552f8cd7ad5..20220eac430be9 100644 --- a/versions/m-/mosquitto.json +++ b/versions/m-/mosquitto.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "6fbbe753533949d40d9ff4307bab2bb61432a117", + "version": "2.0.18", + "port-version": 0 + }, + { + "git-tree": "c8f2f0732c56a4cc622139bba1b7cb110dea985d", + "version": "2.0.14", + "port-version": 0 + }, { "git-tree": "f57ff6e27ac8e72ba497868198a9c9ae3d0bd281", "version": "2.0.12", diff --git a/versions/m-/mozjpeg.json b/versions/m-/mozjpeg.json index cd92e4264cd9a2..e6e47a59f08af8 100644 --- a/versions/m-/mozjpeg.json +++ b/versions/m-/mozjpeg.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "1d4da761babeb3bdc96cbc5f6261ee8e49840b12", + "version": "4.1.5", + "port-version": 1 + }, + { + "git-tree": "6d5cda3e9c9c8f0ed895897d457afaf8d9604363", + "version": "4.1.5", + "port-version": 0 + }, + { + "git-tree": "0eb278a28c1706df4c9ce1413968d9e2a40edda8", + "version": "4.1.1", + "port-version": 0 + }, { "git-tree": "7713d74fddfa5b02228fdc489661c9ba15686cb6", "version-date": "2021-09-27", diff --git a/versions/m-/mp-units.json b/versions/m-/mp-units.json index a8e54c22c1564d..a3902315a41462 100644 --- a/versions/m-/mp-units.json +++ b/versions/m-/mp-units.json @@ -1,5 +1,55 @@ { "versions": [ + { + "git-tree": "9aa4f0f45b84c4c3a857591a4db1e18a765e7e1b", + "version": "2.4.0", + "port-version": 1 + }, + { + "git-tree": "ed700870ad652bca5a8845bd0bafed4e18e11ff2", + "version": "2.4.0", + "port-version": 0 + }, + { + "git-tree": "0b3975aee25f0899c4e68f59be4d24c67c89838d", + "version": "2.3.0", + "port-version": 0 + }, + { + "git-tree": "bdc98457b93451bd4e80152a65ce8ec971aaddf0", + "version": "2.2.1", + "port-version": 0 + }, + { + "git-tree": "32d38ebf2cf91ab717ba623e298ec889635ac4a6", + "version": "2.2.0", + "port-version": 0 + }, + { + "git-tree": "cd01504fde793a9f37f3dcd16963ede0d1acae99", + "version": "2.1.1", + "port-version": 0 + }, + { + "git-tree": "8ecbe0c671bd440c941d9c88fb326743a5584f00", + "version": "2.1.0", + "port-version": 0 + }, + { + "git-tree": "f410b971351069e2e9f1b140104a8e836b76c1b8", + "version": "2.0.0", + "port-version": 0 + }, + { + "git-tree": "f26957340de86e12abc971d4db95b5a2a2cd7d37", + "version": "0.8.0", + "port-version": 0 + }, + { + "git-tree": "b4bce95b7e67f66db9d613e7e3601c2b90cec665", + "version-semver": "0.7.0", + "port-version": 1 + }, { "git-tree": "ed05b65c897d6508b0b5f88f8a97373cf8fd8715", "version-semver": "0.7.0", diff --git a/versions/m-/mp3lame.json b/versions/m-/mp3lame.json index bcabc3520c1a28..b9266a29534af1 100644 --- a/versions/m-/mp3lame.json +++ b/versions/m-/mp3lame.json @@ -1,5 +1,45 @@ { "versions": [ + { + "git-tree": "d69dbcc93a03d6792d239a4f1f11e43618c45a16", + "version": "3.100", + "port-version": 15 + }, + { + "git-tree": "70565b18777c4bd7ebb7724be82f9957a5a17475", + "version": "3.100", + "port-version": 14 + }, + { + "git-tree": "c8eb821fa81b048621273034a62460902331551d", + "version": "3.100", + "port-version": 13 + }, + { + "git-tree": "af04a48e3995bd88563c0dab302c5c7793e09173", + "version": "3.100", + "port-version": 12 + }, + { + "git-tree": "59014e1d1c1232612124cd30de2e73688713c295", + "version": "3.100", + "port-version": 11 + }, + { + "git-tree": "86d297de90265851ff47145e3aeb48738139a4d9", + "version": "3.100", + "port-version": 10 + }, + { + "git-tree": "e24c300cc7a378ed1355ca4edba742a11d0d7a7a", + "version": "3.100", + "port-version": 9 + }, + { + "git-tree": "bd7f2793ec89d5ce9c00b4b9848a80905eb7ab67", + "version": "3.100", + "port-version": 8 + }, { "git-tree": "ead40ed860e86cd8c3c5492b9bb3fcc7c8a2770e", "version-string": "3.100", diff --git a/versions/m-/mpark-patterns.json b/versions/m-/mpark-patterns.json new file mode 100644 index 00000000000000..0c522ba9ec0e25 --- /dev/null +++ b/versions/m-/mpark-patterns.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "f8b22778a3c1393308468021303beb56ff392a03", + "version-date": "2019-10-03", + "port-version": 0 + } + ] +} diff --git a/versions/m-/mpark-variant.json b/versions/m-/mpark-variant.json index 16039c5cb94517..31dbc014e183e6 100644 --- a/versions/m-/mpark-variant.json +++ b/versions/m-/mpark-variant.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "85fff47d4ae330fa186b8244975e2a211b12f4da", + "version": "1.4.0", + "port-version": 3 + }, + { + "git-tree": "01299a260338dce6a94d3b82eb8b478859a403b7", + "version-string": "1.4.0", + "port-version": 2 + }, { "git-tree": "baf25f3166e04b5ccadd946c9b8d5c93da74b8f0", "version-string": "1.4.0", diff --git a/versions/m-/mpc.json b/versions/m-/mpc.json index 209ac786cb76a8..dce036dacbe434 100644 --- a/versions/m-/mpc.json +++ b/versions/m-/mpc.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "741646f873002e3a712397c3f91b8e4f5b99ded4", + "version": "1.3.1", + "port-version": 0 + }, + { + "git-tree": "ac9e33d7db3d83459eeadc2c47a6dea8d3358dc0", + "version": "1.2.0", + "port-version": 3 + }, + { + "git-tree": "c38230459b115da37fe9fe0161c7462de85549d5", + "version": "1.2.0", + "port-version": 2 + }, { "git-tree": "8ef4f1423bd95ed6bbe514de46fc9f4c8884ae5e", "version-string": "1.2.0", diff --git a/versions/m-/mpfr.json b/versions/m-/mpfr.json index 3db92fe86e01ee..302ac9a54968f1 100644 --- a/versions/m-/mpfr.json +++ b/versions/m-/mpfr.json @@ -1,5 +1,55 @@ { "versions": [ + { + "git-tree": "d612486f81111c3f56a2ac56727dde81fda96f8e", + "version": "4.2.1", + "port-version": 0 + }, + { + "git-tree": "a2163475ac427c02bc7a7c24142b45662d5993cc", + "version": "4.2.0", + "port-version": 1 + }, + { + "git-tree": "843923d6f0b86ada254232a971968923c83bc1b5", + "version": "4.2.0", + "port-version": 0 + }, + { + "git-tree": "e03248f0a54aa99977a77f1a3d7e4be91c1048ec", + "version": "4.1.1", + "port-version": 0 + }, + { + "git-tree": "23e0ddc3c974f7b5b6e70c6be1389ed3d6182e81", + "version": "4.1.0", + "port-version": 7 + }, + { + "git-tree": "0d41295a2963c8db8171724b2456dfaa2ec1a866", + "version": "4.1.0", + "port-version": 6 + }, + { + "git-tree": "39b251ed109ce7a5787fe0e7235f9fe0ce436a09", + "version": "4.1.0", + "port-version": 5 + }, + { + "git-tree": "af50e086428e7b7b1e1e5969a296a770a32ff88d", + "version": "4.1.0", + "port-version": 4 + }, + { + "git-tree": "9f38beb4c3179d0b08008af901d05c2a70afaa1b", + "version-string": "4.1.0", + "port-version": 3 + }, + { + "git-tree": "655c136cd8328e30476ae39a3fd5ff99c915907c", + "version-string": "4.1.0", + "port-version": 2 + }, { "git-tree": "54544af431b7f178bc7bbe6604f103c40b7aa93b", "version-string": "4.1.0", diff --git a/versions/m-/mpg123.json b/versions/m-/mpg123.json index bc7bc7d9df166a..a2cc430957285c 100644 --- a/versions/m-/mpg123.json +++ b/versions/m-/mpg123.json @@ -1,5 +1,65 @@ { "versions": [ + { + "git-tree": "c4b6f23176f2808874961920b3cbec5016e4c963", + "version": "1.32.7", + "port-version": 0 + }, + { + "git-tree": "37566a41dbc98698c2fb1236e378f181a965b0d3", + "version": "1.31.3", + "port-version": 4 + }, + { + "git-tree": "6e990602e7caa6965db94c4ef01e3f1b44fb4f67", + "version": "1.31.3", + "port-version": 3 + }, + { + "git-tree": "58fbb0bf0ec6307689125ef1ba71112b670a42a9", + "version": "1.31.3", + "port-version": 2 + }, + { + "git-tree": "73f380749ae40814a07c7a0952e94db2970a9b85", + "version": "1.31.3", + "port-version": 1 + }, + { + "git-tree": "a328d4e2a48af20df2ff33217be9c27343a56d4b", + "version": "1.31.3", + "port-version": 0 + }, + { + "git-tree": "635b5b51532f7cec33d16ada405e517be936c014", + "version": "1.31.2", + "port-version": 0 + }, + { + "git-tree": "2b99f7a71d1996dc6a61c81a11a9a98805eba1c4", + "version": "1.29.3", + "port-version": 0 + }, + { + "git-tree": "d3b079fc036d9384ae34ead0db7c689499937039", + "version": "1.29.2", + "port-version": 3 + }, + { + "git-tree": "f03fbe2d20adf858700d4c90204ff808d00c34b2", + "version": "1.29.2", + "port-version": 2 + }, + { + "git-tree": "d7d73f2de9ed526b2cc13e39a4bdc100fcd6ab4e", + "version": "1.29.2", + "port-version": 1 + }, + { + "git-tree": "a0b39904e9eec57506653dc7252ea7e808914b8c", + "version": "1.29.2", + "port-version": 0 + }, { "git-tree": "fe2d74c3ff7d3dc66eaaf61d64a950c566798dcd", "version": "1.28.0", diff --git a/versions/m-/mpi.json b/versions/m-/mpi.json index 599d1b627a8f3b..5ab104a083667a 100644 --- a/versions/m-/mpi.json +++ b/versions/m-/mpi.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "7ae77ae0460cf7e6cfe308614e74e1d94b1ca641", + "version": "1", + "port-version": 4 + }, + { + "git-tree": "2eacb3d18a3407d1ceb6211ee7cad0b157249d22", + "version-string": "1", + "port-version": 3 + }, { "git-tree": "783aea281dc7cdf59ec0636bd60c2feaef6595b4", "version-string": "1", diff --git a/versions/m-/mpir.json b/versions/m-/mpir.json index 0dd5bbbdcbafc7..5b4626a44d3e31 100644 --- a/versions/m-/mpir.json +++ b/versions/m-/mpir.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "66630c57080280e1089146536f7d5d21c7504600", + "version-date": "2022-03-02", + "port-version": 3 + }, + { + "git-tree": "de9b5962358546e5cc0d7ac9b6dd9bfba95e1763", + "version-date": "2022-03-02", + "port-version": 2 + }, + { + "git-tree": "9191f07cfaade82121abb4d37cb652182c0e55f6", + "version-date": "2022-03-02", + "port-version": 1 + }, + { + "git-tree": "5358d4a724061eab499969ae3b56f8abbdea3347", + "version-date": "2022-03-02", + "port-version": 0 + }, + { + "git-tree": "8aabcec72d2006d0a338159fac489aae1da57220", + "version": "3.0.0", + "port-version": 11 + }, { "git-tree": "6d62b01b328d3537a808a6b68cdecaa44ea0d0d7", "version-string": "3.0.0", diff --git a/versions/m-/mpmcqueue.json b/versions/m-/mpmcqueue.json index 7e226ceda34aa9..2234a129fcc002 100644 --- a/versions/m-/mpmcqueue.json +++ b/versions/m-/mpmcqueue.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "7986416e7dd33174b060331018a3b8aeee3018f0", + "version-date": "2021-12-01", + "port-version": 0 + }, { "git-tree": "1953040343e61f40deb621b5ca28aed36ebc2008", "version-string": "2019-07-26", diff --git a/versions/m-/mqtt-cpp.json b/versions/m-/mqtt-cpp.json index 482ba03f61862e..3dbca25668ed1f 100644 --- a/versions/m-/mqtt-cpp.json +++ b/versions/m-/mqtt-cpp.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "b8d3a5621c52680097b6b22266034c6999b43100", + "version-semver": "13.2.1", + "port-version": 0 + }, + { + "git-tree": "ad3936ccb89401e0752c0325604b80c2dc63ace8", + "version-semver": "13.1.0", + "port-version": 0 + }, + { + "git-tree": "185adb92fcfed90301dfc5aec8390b687cd35403", + "version-semver": "13.0.0", + "port-version": 0 + }, { "git-tree": "869a51ca4a2e5b126e9de0af838a24fb9e7c3ab1", "version-semver": "12.0.0", diff --git a/versions/m-/ms-gdkx.json b/versions/m-/ms-gdkx.json new file mode 100644 index 00000000000000..eb522c0250ebe2 --- /dev/null +++ b/versions/m-/ms-gdkx.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "88dfc0932dd418a9099759f87a60dab8a0df8d6e", + "version": "1.0.0", + "port-version": 1 + }, + { + "git-tree": "db060bcb7476b1f3f593027c28f4ff5e8589da7b", + "version": "1.0.0", + "port-version": 0 + } + ] +} diff --git a/versions/m-/ms-gltf.json b/versions/m-/ms-gltf.json index ccc4e4b3d17b5b..192e4f6d1d3753 100644 --- a/versions/m-/ms-gltf.json +++ b/versions/m-/ms-gltf.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "5fb5ea5c5659fa04f4038a9df76b469f39c4e8f0", + "version-date": "2022-06-28", + "port-version": 2 + }, + { + "git-tree": "b189e4d23ebe85437573b386d94b06b3f9fb6238", + "version-date": "2022-06-28", + "port-version": 1 + }, + { + "git-tree": "a9a91635168ea77faa39adb73b27483797fa8967", + "version-date": "2022-06-28", + "port-version": 0 + }, + { + "git-tree": "b287c12480725603087cb1ebd5044a6a4bd6b2cb", + "version-string": "r1.9.5.4", + "port-version": 1 + }, { "git-tree": "aeeeac2de78af647be1312f6e9ab687c18369e99", "version-string": "r1.9.5.4", diff --git a/versions/m-/ms-gsl.json b/versions/m-/ms-gsl.json index a33d7ae4881c16..5aed86813796ea 100644 --- a/versions/m-/ms-gsl.json +++ b/versions/m-/ms-gsl.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "d71696a526519c3f680b1b77e87d39f8eb94e650", + "version": "4.1.0", + "port-version": 0 + }, + { + "git-tree": "7d8da50e7ffaa4a1460036950f527b0a5e64c02a", + "version": "4.0.0", + "port-version": 1 + }, + { + "git-tree": "9d8d320f8c5db1a6b0c7517d110b854bc4b551e5", + "version": "4.0.0", + "port-version": 0 + }, { "git-tree": "d51947d40835a72b1728c68ca8587e04e3f8e1e2", "version-string": "3.1.0", diff --git a/versions/m-/ms-ifc-sdk.json b/versions/m-/ms-ifc-sdk.json new file mode 100644 index 00000000000000..1d6b0c7761b956 --- /dev/null +++ b/versions/m-/ms-ifc-sdk.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "1c24ff4ae05b7f1b10e071e516d4fb07cedfee16", + "version": "0.43.1", + "port-version": 0 + } + ] +} diff --git a/versions/m-/ms-quic.json b/versions/m-/ms-quic.json index cc440ecc45b479..2c4312e75f5a0d 100644 --- a/versions/m-/ms-quic.json +++ b/versions/m-/ms-quic.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "a43543429fb53d28aabfdccfefe70a93744d8971", + "version": "2.3.5", + "port-version": 1 + }, + { + "git-tree": "5b057833638702cb3bbdb72a8cb131cce473c46e", + "version": "2.3.5", + "port-version": 0 + }, { "git-tree": "3188e024233a7d1772922bc11d29d912c6427e25", "version": "1.2.0", diff --git a/versions/m-/msdfgen.json b/versions/m-/msdfgen.json index 333d04e5c842cd..b86f18d4829e07 100644 --- a/versions/m-/msdfgen.json +++ b/versions/m-/msdfgen.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "6850c0a8ac8fd879ec675c1a667a87efb869759c", + "version": "1.12", + "port-version": 0 + }, + { + "git-tree": "eb66c5ad525b3152e1f73a029dfd0a2caa4a7f5c", + "version": "1.11.0", + "port-version": 0 + }, + { + "git-tree": "22eb77c9256846ad9c1e01e6ffff25b02b5edbd5", + "version": "1.10.0", + "port-version": 1 + }, + { + "git-tree": "f03e46126dcb57f2ff08f5834eb6e84f84e14e2b", + "version": "1.10.0", + "port-version": 0 + }, + { + "git-tree": "d49eb065f4ec389be55189e28ab310178281bfe7", + "version": "1.9.2", + "port-version": 0 + }, { "git-tree": "eade2edd986173003ec960fa30d29226a35ddb68", "version": "1.9.1", diff --git a/versions/m-/msgpack-c.json b/versions/m-/msgpack-c.json new file mode 100644 index 00000000000000..b7ec2910ebd5f8 --- /dev/null +++ b/versions/m-/msgpack-c.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "5c8acb24165351f4d83c4d56af97277d0be4f77a", + "version": "6.1.0", + "port-version": 0 + }, + { + "git-tree": "eb07de381e11c13f6d4aa2e2b151efb2d405b85e", + "version": "6.0.0", + "port-version": 0 + } + ] +} diff --git a/versions/m-/msgpack.json b/versions/m-/msgpack.json index 4c220e85a79dbb..01372150d4bf51 100644 --- a/versions/m-/msgpack.json +++ b/versions/m-/msgpack.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "cdac05cd3f088144383ba271b77f2cc6dcf12ee6", + "version": "7.0.0", + "port-version": 0 + }, + { + "git-tree": "e3a5d5d08813fda8a223cc1a04d7efcb0ff204ec", + "version": "6.1.1", + "port-version": 0 + }, + { + "git-tree": "f9f798edc049a449e0fe3dffb9401659339b371a", + "version": "6.0.0", + "port-version": 1 + }, + { + "git-tree": "fc124bda56c5eca176379c3e17f9c2f2d63bbdd9", + "version": "6.0.0", + "port-version": 0 + }, + { + "git-tree": "006d17cf08d5bb92fdb2f4bf33ba97d18cbcc090", + "version": "4.1.3", + "port-version": 0 + }, + { + "git-tree": "bb5c0f8535c60c90ea150ac38ed5eccbb77845ef", + "version": "3.3.0", + "port-version": 4 + }, + { + "git-tree": "fa4345fa5aa3c4a178c7bf354ed0d108cd862ccf", + "version": "3.3.0", + "port-version": 3 + }, { "git-tree": "33927863a8eae2ea7c816389e7ef3dbdcc00382a", "version-string": "3.3.0", diff --git a/versions/m-/msgpack11.json b/versions/m-/msgpack11.json index d7390a5071c070..70ed52f0184f7c 100644 --- a/versions/m-/msgpack11.json +++ b/versions/m-/msgpack11.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "c00fa734d26a18900cd88aab77795ab987a284a2", + "version": "0.0.10", + "port-version": 4 + }, { "git-tree": "628d7986a87b3b326796bcacd492aabe846c4ea9", "version": "0.0.10", diff --git a/versions/m-/msh3.json b/versions/m-/msh3.json new file mode 100644 index 00000000000000..0516d453196926 --- /dev/null +++ b/versions/m-/msh3.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "6c26630aa357e123fe98a2dd4359b52681333a81", + "version": "0.6.0", + "port-version": 1 + }, + { + "git-tree": "1621424c690e4de0daaac921e92fc0c06ace9677", + "version": "0.6.0", + "port-version": 0 + } + ] +} diff --git a/versions/m-/msinttypes.json b/versions/m-/msinttypes.json index f59de2c3b00f95..3f0b64b96d3a99 100644 --- a/versions/m-/msinttypes.json +++ b/versions/m-/msinttypes.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "34e86ded5171b1516fe2e5b51c5122ccd078f8ae", + "version-date": "2018-02-25", + "port-version": 2 + }, { "git-tree": "e912f42451c0d3a2563a68db50d96318bd277e40", "version-string": "2018-02-25", diff --git a/versions/m-/msix.json b/versions/m-/msix.json index f76cdce2f4a33a..a88ab94669fb3f 100644 --- a/versions/m-/msix.json +++ b/versions/m-/msix.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "f002dbe899c3b25cfc75290b2aba21b36ee326e8", + "version": "1.7", + "port-version": 5 + }, + { + "git-tree": "13d1f847b9d20c6ff27d6bed27728fb145aedd50", + "version": "1.7", + "port-version": 4 + }, { "git-tree": "e544825ca69bfca4e3f54141bf62cacb1cd878ea", "version": "1.7", diff --git a/versions/m-/msmpi.json b/versions/m-/msmpi.json index 7890abdddcd664..1cca454f3945f6 100644 --- a/versions/m-/msmpi.json +++ b/versions/m-/msmpi.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "d3ccfae00ebdaac2c41fa2acfa59b862171be3ae", + "version": "10.1.12498", + "port-version": 4 + }, + { + "git-tree": "92f5e217faeaf4ec7e205a56bfff3a13b75e0393", + "version": "10.1.12498", + "port-version": 3 + }, { "git-tree": "a93f4540161febeb02c42e92a6bfff770c4729dc", "version": "10.1.12498", diff --git a/versions/m-/msquic.json b/versions/m-/msquic.json new file mode 100644 index 00000000000000..ef95549f4c9594 --- /dev/null +++ b/versions/m-/msquic.json @@ -0,0 +1,49 @@ +{ + "versions": [ + { + "git-tree": "7e20d48f6fdc1052f7339eeff9ea9ab1074a726c", + "version": "2.4.5", + "port-version": 1 + }, + { + "git-tree": "a037eeff81951b04f28f6ed7c0988618d801afb0", + "version": "2.4.5", + "port-version": 0 + }, + { + "git-tree": "519570ca834d486ddb5fc0fd43094079ef27b568", + "version": "2.4.4", + "port-version": 0 + }, + { + "git-tree": "1b260265332dca46324f6782ce58f8f74b0887a5", + "version": "2.3.6", + "port-version": 2 + }, + { + "git-tree": "ba908ead14078300c7e5babd3d725dc58746b3c3", + "version": "2.3.6", + "port-version": 1 + }, + { + "git-tree": "03c8b1fae017fc4b512f48444ae5c0d07f5233dd", + "version": "2.3.6", + "port-version": 0 + }, + { + "git-tree": "637f7184ab6b84691b2ac5ff61186b53b13a9660", + "version": "2.3.5", + "port-version": 2 + }, + { + "git-tree": "85ab1ddebbe0f051950212c6dc07ea3ad96cb271", + "version": "2.3.5", + "port-version": 1 + }, + { + "git-tree": "20a3ca5768fb1bb7781563159dc5400b0b2bb978", + "version": "2.3.5", + "port-version": 0 + } + ] +} diff --git a/versions/m-/mstch.json b/versions/m-/mstch.json index 52ebb16974b720..a6c72c92b4a80f 100644 --- a/versions/m-/mstch.json +++ b/versions/m-/mstch.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "105e9bad13386dd0b785eb38884c375834f6a7bb", + "version": "1.0.2", + "port-version": 5 + }, + { + "git-tree": "8fe89ac9440d83aa39cda5e17f0787c90673dced", + "version-string": "1.0.2", + "port-version": 4 + }, { "git-tree": "cc5a6f09703a12b736263285c46ce9056b853dcb", "version-string": "1.0.2", diff --git a/versions/m-/mtlt.json b/versions/m-/mtlt.json new file mode 100644 index 00000000000000..dce0e7a53f6708 --- /dev/null +++ b/versions/m-/mtlt.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "8f0c1e8f63efeb1e1cd7c6484837539caa0dc1d1", + "version": "1.0.0", + "port-version": 0 + } + ] +} diff --git a/versions/m-/mujoco.json b/versions/m-/mujoco.json new file mode 100644 index 00000000000000..6a226880519427 --- /dev/null +++ b/versions/m-/mujoco.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "c70b9104b75fe8947ddac6e9450207cadb59cb0b", + "version": "2.3.2", + "port-version": 1 + }, + { + "git-tree": "086053d3e52e0d7565733cf06db736f2e1617a63", + "version": "2.3.2", + "port-version": 0 + } + ] +} diff --git a/versions/m-/mujs.json b/versions/m-/mujs.json index a500b6acf38dac..57f7d98b58cf52 100644 --- a/versions/m-/mujs.json +++ b/versions/m-/mujs.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "2d748fcfc280df74e27192ebcc5e48dc7205196b", + "version": "1.3.5", + "port-version": 0 + }, + { + "git-tree": "53b186c7b1e38b01d6b6aa138d30c9d12358013a", + "version": "1.3.4", + "port-version": 0 + }, + { + "git-tree": "3a32c06c1b96616c36a255e3a0883b406281be3a", + "version": "1.3.2", + "port-version": 1 + }, + { + "git-tree": "9c67a4a21c48b6ad43918a526e539cf90d822e1a", + "version": "1.3.2", + "port-version": 0 + }, { "git-tree": "b08453227e8770baadeb826bb3cd711815e6a865", "version-string": "2018-07-30", diff --git a/versions/m-/munit.json b/versions/m-/munit.json index 36ea7690b0310b..a0f4d170796fe4 100644 --- a/versions/m-/munit.json +++ b/versions/m-/munit.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "d905b3126db7f555eba6a3a02598e0b3b6a97492", + "version-date": "2019-04-06", + "port-version": 5 + }, + { + "git-tree": "37416e6f9f63789221184c07fd4e040d4d8646a2", + "version-string": "2019-04-06", + "port-version": 4 + }, { "git-tree": "f6489068c02b6a87d45ab01592ef733e22904bd7", "version-string": "2019-04-06", diff --git a/versions/m-/muparser.json b/versions/m-/muparser.json index 481fd9ef30f80e..8a36ed516eb502 100644 --- a/versions/m-/muparser.json +++ b/versions/m-/muparser.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "7a10458552dd11fbd4d72ff5e978f5f55a82e2f3", + "version": "2.3.4", + "port-version": 0 + }, + { + "git-tree": "6987fcdb2ed52f7891489a2c97bdc92b64c46a6f", + "version": "2.3.3", + "port-version": 2 + }, + { + "git-tree": "6b93a7e6250aaa93e20c752426eb4fb1bcb08411", + "version": "2.3.3", + "port-version": 1 + }, + { + "git-tree": "e2e6e7754f6e242c497aca1dd784be15acc5c11f", + "version": "2.3.3-1", + "port-version": 0 + }, { "git-tree": "ffef8786866359a02e3e50d62bcda523967fddce", "version-string": "2.3.2", diff --git a/versions/m-/murmur3.json b/versions/m-/murmur3.json new file mode 100644 index 00000000000000..44d1791a47aea1 --- /dev/null +++ b/versions/m-/murmur3.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "5f4ab89578aaab8f3e4edf66398db2a693753abb", + "version-date": "2015-05-02", + "port-version": 0 + } + ] +} diff --git a/versions/m-/murmurhash.json b/versions/m-/murmurhash.json index a34122123adda8..6147fe0dcf8325 100644 --- a/versions/m-/murmurhash.json +++ b/versions/m-/murmurhash.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "53f2656ff91aeec6d11585b61c650390b23e6340", + "version-date": "2016-01-09", + "port-version": 7 + }, + { + "git-tree": "e5ec901e9cab9845f18d18276ddea5e4ad5d4538", + "version-date": "2016-01-09", + "port-version": 6 + }, + { + "git-tree": "bbaeb761deb522f06cde0e3efb0610ac3e6afa4d", + "version-date": "2016-01-09", + "port-version": 5 + }, { "git-tree": "5c0ccc0561113eac6ab8881d62a94f31a4ab8d70", "version-string": "2016-01-09", diff --git a/versions/m-/mvfst.json b/versions/m-/mvfst.json new file mode 100644 index 00000000000000..9820592e49634a --- /dev/null +++ b/versions/m-/mvfst.json @@ -0,0 +1,194 @@ +{ + "versions": [ + { + "git-tree": "26e88902a283c48ded934d1a2a986e1c65c4b73d", + "version-string": "2024.11.04.00", + "port-version": 0 + }, + { + "git-tree": "37b51e3cae87b4e88d5a03d511a8fb04a476e97a", + "version-string": "2024.10.28.00", + "port-version": 0 + }, + { + "git-tree": "22702462f9320eb5d2798de5dc15ab278f3bbf59", + "version-string": "2024.10.21.00", + "port-version": 0 + }, + { + "git-tree": "4d08f8641593a028f20af63bfe7cacfe0ac10dfa", + "version-string": "2024.10.14.00", + "port-version": 0 + }, + { + "git-tree": "884696ea9ad9078cb5235e9bae639fc789ce7a1c", + "version-string": "2024.10.07.00", + "port-version": 0 + }, + { + "git-tree": "324132fd5e76f2c4eebe3aecf33ffadc12c1e368", + "version-string": "2024.09.30.00", + "port-version": 0 + }, + { + "git-tree": "821c48bcc34b47b6803068f3099168a72580843b", + "version-string": "2024.09.23.00", + "port-version": 0 + }, + { + "git-tree": "f15502db02cdf31171aa1b8532e649708abefa64", + "version-string": "2024.09.16.00", + "port-version": 0 + }, + { + "git-tree": "f34fdaf5e85ffcccb3a94f386a54939467246d14", + "version-string": "2024.09.09.00", + "port-version": 0 + }, + { + "git-tree": "1a3749554e863acb8b58a27c5528f9ceb08fe059", + "version-string": "2024.09.02.00", + "port-version": 0 + }, + { + "git-tree": "d5f5105e2b00e2568cf79c75a6d4639109f5cf2a", + "version-string": "2024.08.26.00", + "port-version": 0 + }, + { + "git-tree": "2780ce3e9a7d00f93b698dd5305e55ab916d2bf8", + "version-string": "2024.08.19.00", + "port-version": 0 + }, + { + "git-tree": "868196c1251f53fb06cb6cc8d7391ff18820c7d9", + "version-string": "2024.08.05.00", + "port-version": 0 + }, + { + "git-tree": "385ba473f8f7d07ce8414e6cfe126dcb126b1ad0", + "version-string": "2024.07.29.00", + "port-version": 0 + }, + { + "git-tree": "6c2a43d2e8314704625a086fbaee2948408be2d0", + "version-string": "2024.07.22.00", + "port-version": 0 + }, + { + "git-tree": "6791d07ae9fe8265688bad7e7fd0dfa9755a2285", + "version-string": "2024.07.15.00", + "port-version": 0 + }, + { + "git-tree": "240986dc80a7741fc3bedcd20ab57e8475bdfd0e", + "version-string": "2024.07.08.00", + "port-version": 0 + }, + { + "git-tree": "3da6a3eb2d381a5978a4b75fb6d97cbbe28e63bc", + "version-string": "2024.07.01.00", + "port-version": 0 + }, + { + "git-tree": "79be938668054ff02c7908e028778d348897661d", + "version-string": "2024.06.24.00", + "port-version": 0 + }, + { + "git-tree": "2d374534795f05e1ddc1eb4864d0850b7e32cf78", + "version-string": "2024.06.17.00", + "port-version": 0 + }, + { + "git-tree": "a36b6f421f71ca50426d4b5f249c16df2034b235", + "version-string": "2024.06.10.00", + "port-version": 0 + }, + { + "git-tree": "67f3ff55c31fec0388d6d01895010b2869041761", + "version-string": "2024.06.03.00", + "port-version": 0 + }, + { + "git-tree": "48d65c71f646bd93e62e4e90afe8fcb82f4f63f0", + "version-string": "2024.05.27.00", + "port-version": 0 + }, + { + "git-tree": "41f9b5d23fb34a90267c156bd583d176e38b3750", + "version-string": "2024.05.20.00", + "port-version": 0 + }, + { + "git-tree": "48f5fb37da14c150b05afeba4c41f8302e2a93dd", + "version-string": "2024.05.06.00", + "port-version": 0 + }, + { + "git-tree": "9ed4f94e9cbb5def1b928d8ca95ec66ff433872a", + "version-string": "2024.05.02.00", + "port-version": 0 + }, + { + "git-tree": "78a580b4f5ac9e8b652046330df2d03dd4c2692a", + "version-string": "2024.04.22.00", + "port-version": 1 + }, + { + "git-tree": "4bb8fa5be07d30ff4e4035c5c919a554dc9e8eec", + "version-string": "2024.04.22.00", + "port-version": 0 + }, + { + "git-tree": "f33e273595f6c55018aca87d97f12eb3a83bfcd9", + "version-string": "2024.04.15.00", + "port-version": 0 + }, + { + "git-tree": "c0b5b25444aee23d293543cb07f671e422d131a1", + "version-string": "2024.01.01.00", + "port-version": 0 + }, + { + "git-tree": "082167d3253fd7af5973a5e970a407c117702841", + "version-string": "2023.10.02.00", + "port-version": 0 + }, + { + "git-tree": "345723d54eef6854daed66dedae0b9d4ead2f9a4", + "version-date": "2023-05-18", + "port-version": 0 + }, + { + "git-tree": "6187a6048afe0846ffb243d00981f0da0666aa38", + "version-date": "2022-11-03", + "port-version": 0 + }, + { + "git-tree": "b054de2d05773c286f25528132a496dd075d3914", + "version-date": "2022-03-27", + "port-version": 0 + }, + { + "git-tree": "042a5236f46c787daf8334a8ca9c0cd3f71ab1b4", + "version": "0.2", + "port-version": 1 + }, + { + "git-tree": "72ff9157858363c60db8f1e0bd8de03546f7d0e4", + "version": "0.2", + "port-version": 0 + }, + { + "git-tree": "c73381f28aba19d8c008096270feca19a798fa92", + "version": "0.1", + "port-version": 1 + }, + { + "git-tree": "9af76c6cd8bea86bff84e5ccddc9f9e39290391e", + "version": "0.1", + "port-version": 0 + } + ] +} diff --git a/versions/m-/mygui.json b/versions/m-/mygui.json index 581c0b1ff438db..efa4cdfd96d65a 100644 --- a/versions/m-/mygui.json +++ b/versions/m-/mygui.json @@ -1,5 +1,60 @@ { "versions": [ + { + "git-tree": "d6dd68e15957cce25c9ef64b626d8db2ddc838f2", + "version": "3.4.3", + "port-version": 3 + }, + { + "git-tree": "7efdf991088c6e26ca97c11bb8ef00c94d690a9b", + "version": "3.4.3", + "port-version": 2 + }, + { + "git-tree": "30a391b5c1365596bafe3acb6739c67ce18c6632", + "version": "3.4.3", + "port-version": 1 + }, + { + "git-tree": "99d1cea52873da58281082ab47f35ba73bd13a18", + "version": "3.4.3", + "port-version": 0 + }, + { + "git-tree": "bc0449cfc21fca4e1ee5afda7c0919fffb9cd864", + "version": "3.4.2", + "port-version": 0 + }, + { + "git-tree": "4b68ea2f9e7d24c34d86ea4d45050adc7ac29663", + "version": "3.4.1", + "port-version": 5 + }, + { + "git-tree": "006d47cf87a29b68cbf5f7d1fbbc7e12a38e3cb7", + "version": "3.4.1", + "port-version": 4 + }, + { + "git-tree": "5a7598c7df27293baca5e55e28c20aec14bf5672", + "version": "3.4.1", + "port-version": 3 + }, + { + "git-tree": "425cd3df40c8941ec9b3755bc0b3effdd91dc162", + "version": "3.4.1", + "port-version": 2 + }, + { + "git-tree": "d06b2f348d834355086a927f9aabdd47d271819b", + "version": "3.4.1", + "port-version": 1 + }, + { + "git-tree": "6e9074e901ba523a48254a18b5d8e7f3807619be", + "version": "3.4.1", + "port-version": 0 + }, { "git-tree": "9d8226795430e83c733e936821400cf792265656", "version-string": "2020-06-17", diff --git a/versions/m-/mysql-connector-cpp.json b/versions/m-/mysql-connector-cpp.json new file mode 100644 index 00000000000000..0ea94f557fb522 --- /dev/null +++ b/versions/m-/mysql-connector-cpp.json @@ -0,0 +1,34 @@ +{ + "versions": [ + { + "git-tree": "ce8505dc2ea60882163204b35ccb2e37ce204c5c", + "version": "8.0.32", + "port-version": 2 + }, + { + "git-tree": "89b1c4d68211753ab836de3dde9664a3d611b78e", + "version": "8.0.32", + "port-version": 1 + }, + { + "git-tree": "b78f858b560a7a1fb4d13646a7652f86465885fd", + "version": "8.0.32", + "port-version": 0 + }, + { + "git-tree": "0cb6021de557d4669a9483690da1500b2b83ba26", + "version": "8.0.30", + "port-version": 1 + }, + { + "git-tree": "f9da49dfd9685485198c029c16da9f37b2336e93", + "version": "8.0.30", + "port-version": 0 + }, + { + "git-tree": "9189c43b6dc73ec3c3765d025e12297fd5a79d37", + "version": "1.1.13", + "port-version": 0 + } + ] +} diff --git a/versions/n-/nameof.json b/versions/n-/nameof.json index 2bce04d6369903..0981dc76d4a608 100644 --- a/versions/n-/nameof.json +++ b/versions/n-/nameof.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "60e906146f2d83899688b0f478dcabaad9aaeace", + "version": "0.10.4", + "port-version": 0 + }, + { + "git-tree": "f82961138b18791ffba3efef021f008c467988fb", + "version": "0.10.3", + "port-version": 0 + }, + { + "git-tree": "c6e74d9d06b8f8982ecfbad4b07e5215c8ea054b", + "version": "0.10.2", + "port-version": 0 + }, { "git-tree": "73b076af7e5bb74d8531885c3172ccdea74bce80", "version-string": "0.10.1", diff --git a/versions/n-/nana.json b/versions/n-/nana.json index 0d3a44b77632fa..235058fa311415 100644 --- a/versions/n-/nana.json +++ b/versions/n-/nana.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "1d8a6bacbbb014166cfcb552726c9d13f472811a", + "version": "1.7.4", + "port-version": 5 + }, + { + "git-tree": "9a9b07b69a2b4c5adec89f6de54c4ad45df86b88", + "version": "1.7.4", + "port-version": 4 + }, + { + "git-tree": "e18604f3c78c739c1e1e127c0c0ab3e41345db5d", + "version-string": "1.7.4", + "port-version": 3 + }, { "git-tree": "51aa210032909eec832d81aaf347917e2fe1a70a", "version-string": "1.7.4", diff --git a/versions/n-/nano-signal-slot.json b/versions/n-/nano-signal-slot.json index c5ca118d7c8109..f100e79df9ff07 100644 --- a/versions/n-/nano-signal-slot.json +++ b/versions/n-/nano-signal-slot.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "b8fe131fc48fcc5a0935df8458dd39dccfbac755", + "version": "2.0.1", + "port-version": 2 + }, { "git-tree": "b46cf4c106c7a062c72ff464ad172d52f9f2a642", "version-string": "2.0.1", diff --git a/versions/n-/nanobench.json b/versions/n-/nanobench.json index de8cc9db734318..5541e86bb6d387 100644 --- a/versions/n-/nanobench.json +++ b/versions/n-/nanobench.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "811f5b66a36111a71c33f7b7ed5924f04caba4d8", + "version": "4.3.11", + "port-version": 0 + }, + { + "git-tree": "90dbaf4276576bc0ae73f4af33109639f01d698a", + "version": "4.3.10", + "port-version": 1 + }, + { + "git-tree": "36edb6691f30882941ba28ae9fce39e251398466", + "version": "4.3.10", + "port-version": 0 + }, + { + "git-tree": "9c21c0e4b95602fd614f1ab27de25b1f3068472a", + "version": "4.3.9", + "port-version": 0 + }, + { + "git-tree": "6353026a82baa4c84cc43554b4f518b8dbf79794", + "version": "4.3.7", + "port-version": 0 + }, + { + "git-tree": "b2078ee30dd4414efb21ecb3fe7c54efa854bc95", + "version": "4.3.6", + "port-version": 0 + }, { "git-tree": "d7dea56e415792e4f5c3a2b80ba3731a2955fbf2", "version-string": "4.3.0", diff --git a/versions/n-/nanobind.json b/versions/n-/nanobind.json new file mode 100644 index 00000000000000..ab2031d7b62a9d --- /dev/null +++ b/versions/n-/nanobind.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "88c0b600287009e3c5c0644c61a8a50cdd2c2740", + "version-semver": "2.2.0", + "port-version": 0 + }, + { + "git-tree": "14a09776a3248629b8efbf096dcb787c01abcfe9", + "version-semver": "1.9.2", + "port-version": 0 + } + ] +} diff --git a/versions/n-/nanodbc.json b/versions/n-/nanodbc.json index ef870e92744836..834645fbcd8923 100644 --- a/versions/n-/nanodbc.json +++ b/versions/n-/nanodbc.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "47782a521b53acaa6ee44a2956a2e98d17a20e50", + "version": "2.13.0", + "port-version": 8 + }, + { + "git-tree": "b57473b86bc71733209e195206d253f1dd3658b2", + "version": "2.13.0", + "port-version": 7 + }, { "git-tree": "7de6296fc337f181517f8ed4c2e6ed35d749e414", "version": "2.13.0", diff --git a/versions/n-/nanoflann.json b/versions/n-/nanoflann.json index cda02d8a58aaaa..a27f3aede8bffb 100644 --- a/versions/n-/nanoflann.json +++ b/versions/n-/nanoflann.json @@ -1,5 +1,45 @@ { "versions": [ + { + "git-tree": "4507bff853611eae4a7b92bf22cb4b8e790299c0", + "version": "1.6.2", + "port-version": 0 + }, + { + "git-tree": "f36048fc06dedbe1c1999c026b0ff8ceef57be72", + "version": "1.6.1", + "port-version": 0 + }, + { + "git-tree": "8bba1423bcf5058d9e90a49fc40b6d67898399de", + "version": "1.6.0", + "port-version": 0 + }, + { + "git-tree": "3cc3051c80e35e5bcc7f55c34217865afcd5cfee", + "version": "1.5.5", + "port-version": 0 + }, + { + "git-tree": "a2d0d87e714fc8a7ec923469a4bf2ae0ceb405c3", + "version": "1.5.1", + "port-version": 0 + }, + { + "git-tree": "23c05262f235796a1f01174f1dedc48c346e96af", + "version": "1.5.0", + "port-version": 0 + }, + { + "git-tree": "91e87dd11fdfc2cb98925ded3aab041f5f507715", + "version": "1.4.3", + "port-version": 0 + }, + { + "git-tree": "59c3e1998e35dcf6648c1775b19e40c5017b2c84", + "version": "1.4.2", + "port-version": 0 + }, { "git-tree": "481ec544fb82ec73f6f0e01d1333f412d3e82d2d", "version": "1.3.2", diff --git a/versions/n-/nanogui.json b/versions/n-/nanogui.json index 96ea5ef6b79057..a7117eac6b81f8 100644 --- a/versions/n-/nanogui.json +++ b/versions/n-/nanogui.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "ba52e521c1d71e2e1c855913e9a1b437920a9fc9", + "version-date": "2019-09-23", + "port-version": 5 + }, + { + "git-tree": "7b0c7f8295a21f967bfd880956f6d51b98d26874", + "version-date": "2019-09-23", + "port-version": 4 + }, + { + "git-tree": "55a7f3e088fe04ac01f7693c0685770ba865e6ae", + "version-date": "2019-09-23", + "port-version": 3 + }, { "git-tree": "bb3bc286985c1be4bb92ab92e45617410726de3c", "version-string": "2019-09-23", diff --git a/versions/n-/nanojsonc.json b/versions/n-/nanojsonc.json new file mode 100644 index 00000000000000..3a8ad2e97a6420 --- /dev/null +++ b/versions/n-/nanojsonc.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "7680709fd527db1cc26d47f8897c0669cacbfb0f", + "version": "1.0.0", + "port-version": 0 + } + ] +} diff --git a/versions/n-/nanomsg.json b/versions/n-/nanomsg.json index efb1e3ff83f606..2adeaeebc25999 100644 --- a/versions/n-/nanomsg.json +++ b/versions/n-/nanomsg.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "b6be4b2fe5f06d844314be36fc6c7f4552c252a3", + "version-semver": "1.2.1", + "port-version": 2 + }, + { + "git-tree": "af9d00f361245784a9b5f81fc7a87d1598173dd5", + "version-semver": "1.2.1", + "port-version": 1 + }, + { + "git-tree": "f153ee28346c2ba03410c8845959d1d549322ecb", + "version-semver": "1.2.1", + "port-version": 0 + }, + { + "git-tree": "776c37386c83ec3b242fb17bf418f4a22e5cc300", + "version-semver": "1.2.0", + "port-version": 1 + }, + { + "git-tree": "9c6dee5730547fccf7eae09ec55d2cea5fb593d1", + "version-semver": "1.2.0", + "port-version": 0 + }, { "git-tree": "ffe814aa129dfc6a1cdfc5d38e7a441d2b2fc47b", "version-string": "1.1.5", diff --git a/versions/n-/nanopb.json b/versions/n-/nanopb.json index ecc09b1a387fe5..e5ecd9292ed828 100644 --- a/versions/n-/nanopb.json +++ b/versions/n-/nanopb.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "1f5737c00d41a894367cab2acb6ef934043fcd8e", + "version-semver": "0.4.9", + "port-version": 0 + }, + { + "git-tree": "08dcb204cd192ab2022b8d2f1f84cf480db0fb44", + "version-semver": "0.4.8", + "port-version": 1 + }, + { + "git-tree": "4081435b822c87880779d5b6e9a763ee0389aa79", + "version-semver": "0.4.8", + "port-version": 0 + }, + { + "git-tree": "b27e85ab51605be4fee299a1dcb14f4fe0ac2429", + "version-semver": "0.4.7", + "port-version": 2 + }, + { + "git-tree": "4d78bf2dbff06f0540e971677c39641b9057dc57", + "version-semver": "0.4.7", + "port-version": 1 + }, + { + "git-tree": "230c55c9370ee3756674be33a6d5740ff04fccda", + "version-semver": "0.4.7", + "port-version": 0 + }, { "git-tree": "855b599338a79c3a7d61c1171110e4dd49c3f164", "version-semver": "0.4.5", diff --git a/versions/n-/nanoprintf.json b/versions/n-/nanoprintf.json index 44d94b76f673c1..c9ac5b4f71f011 100644 --- a/versions/n-/nanoprintf.json +++ b/versions/n-/nanoprintf.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "88e688e729a34f99b0ec4185786fb67fb9fda107", + "version": "0.3.4", + "port-version": 0 + }, + { + "git-tree": "4dc3b1f718f303cda846f07207bc62a4acc6274b", + "version-date": "2020-05-27", + "port-version": 2 + }, { "git-tree": "eb37eca3c4891582693eb5a769cf307c60b059ac", "version-string": "2020-05-27", diff --git a/versions/n-/nanorange.json b/versions/n-/nanorange.json index 308349280b8b95..8316508a11260c 100644 --- a/versions/n-/nanorange.json +++ b/versions/n-/nanorange.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "66af15410d36dcfe707cfa3ed693e2ad4b8c0a6b", + "version-date": "2020-07-06", + "port-version": 0 + }, { "git-tree": "a9d8e3712ada3496381d4a9ec4d8b6eb638f65e8", "version-string": "0.0.0", diff --git a/versions/n-/nanort.json b/versions/n-/nanort.json index 54e855482ed27b..c2ac3826ddaa43 100644 --- a/versions/n-/nanort.json +++ b/versions/n-/nanort.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "f299ee1037140bda3d4cd6ef09b2d877cc61db07", + "version-date": "2019-08-20", + "port-version": 3 + }, { "git-tree": "9fab3a6181cbaace8875990f9aab595cdad59956", "version-string": "2019-08-20", diff --git a/versions/n-/nanosvg.json b/versions/n-/nanosvg.json new file mode 100644 index 00000000000000..ff9b57057e83bb --- /dev/null +++ b/versions/n-/nanosvg.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "6fbdab7bdd32d0755336f499d49f9a0f31e8fb36", + "version-date": "2023-12-29", + "port-version": 0 + }, + { + "git-tree": "f7dcf8d5f33ca5e4b44960f697c7b1196a658b89", + "version-date": "2022-12-04", + "port-version": 0 + }, + { + "git-tree": "827223ed18553b608489e328101549261d0c9d5a", + "version-date": "2022-04-29", + "port-version": 0 + } + ] +} diff --git a/versions/n-/nanovg.json b/versions/n-/nanovg.json index 3393bb25fd23aa..a5f3ef3200943a 100644 --- a/versions/n-/nanovg.json +++ b/versions/n-/nanovg.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "be98decc778a823aedeec9c8c74ff6a3398f7642", + "version-date": "2019-08-30", + "port-version": 6 + }, + { + "git-tree": "6ea125c3f4f9b665a744cd0738c8a11837106f05", + "version-date": "2019-08-30", + "port-version": 5 + }, { "git-tree": "016ef1232ccb3f452530283711be418b33c28e17", "version-string": "2019-8-30", diff --git a/versions/n-/nativefiledialog-extended.json b/versions/n-/nativefiledialog-extended.json new file mode 100644 index 00000000000000..c74aba4ae56c63 --- /dev/null +++ b/versions/n-/nativefiledialog-extended.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "de840713bb625f3d94a683f1369105b245d23982", + "version": "1.2.1", + "port-version": 0 + }, + { + "git-tree": "a175764bfff482d337cc05c90edf7b64a17781ad", + "version": "1.2.0", + "port-version": 0 + }, + { + "git-tree": "2c4f9cdf660750cd8308d2de7b83ccf3a18e82b8", + "version": "1.1.1", + "port-version": 0 + } + ] +} diff --git a/versions/n-/nativefiledialog.json b/versions/n-/nativefiledialog.json index 29df598c132248..831ee32e4dae8a 100644 --- a/versions/n-/nativefiledialog.json +++ b/versions/n-/nativefiledialog.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "a74fcf99cb59fc1094b1b40622cead632c0df81a", + "version-date": "2022-01-20", + "port-version": 0 + }, { "git-tree": "d765a8f84ba49c18701f68b7471f1b93b7313ddc", "version-date": "2019-08-28", diff --git a/versions/n-/nayuki-qr-code-generator.json b/versions/n-/nayuki-qr-code-generator.json new file mode 100644 index 00000000000000..87812009322df7 --- /dev/null +++ b/versions/n-/nayuki-qr-code-generator.json @@ -0,0 +1,24 @@ +{ + "versions": [ + { + "git-tree": "6f3345b4889287461620da1c6c3220666d8bb8f3", + "version": "1.8.0", + "port-version": 1 + }, + { + "git-tree": "376b1b6483e138ceda93ab3b1aab6f3e51be74ad", + "version": "1.8.0", + "port-version": 0 + }, + { + "git-tree": "a53df304990ba731189df6b4391c5eede88bd90c", + "version": "1.7.0", + "port-version": 1 + }, + { + "git-tree": "9131848b9c36878cb0944b3e8058fa0d25b0d335", + "version": "1.7.0", + "port-version": 0 + } + ] +} diff --git a/versions/n-/nccl.json b/versions/n-/nccl.json index 67df8223421ad2..5739121ed520d0 100644 --- a/versions/n-/nccl.json +++ b/versions/n-/nccl.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "6f07fdf26f53fd4974ad4cb6d6df430dc28e52aa", + "version": "2.4.6", + "port-version": 2 + }, { "git-tree": "c9b172ef032bf322539dab71b19f5dc27b679fd0", "version-string": "2.4.6", diff --git a/versions/n-/ncnn.json b/versions/n-/ncnn.json new file mode 100644 index 00000000000000..3bff868a6d87aa --- /dev/null +++ b/versions/n-/ncnn.json @@ -0,0 +1,29 @@ +{ + "versions": [ + { + "git-tree": "4d52e0be36ae3ae67d9d1b2dac78ec753e50fb66", + "version": "20240102", + "port-version": 1 + }, + { + "git-tree": "322a0f4cfc94f9d73060a9636854a8e1260796fd", + "version": "20240102", + "port-version": 0 + }, + { + "git-tree": "2a6a2a9cc4c71cac799469f587478b987a63e0ed", + "version": "20231027", + "port-version": 0 + }, + { + "git-tree": "792660456e6b0e405ad0c67b0474ae80fea47878", + "version": "20221128", + "port-version": 0 + }, + { + "git-tree": "e87afd4b85016896dc6903f9e65e1d239e614b0b", + "version": "20220729", + "port-version": 0 + } + ] +} diff --git a/versions/n-/ncurses.json b/versions/n-/ncurses.json index 135f3c3b5ec239..e3351c006c0a94 100644 --- a/versions/n-/ncurses.json +++ b/versions/n-/ncurses.json @@ -1,5 +1,45 @@ { "versions": [ + { + "git-tree": "b32f25c6bd504d55b4d388c44e88a51a0870e7e9", + "version": "6.4", + "port-version": 2 + }, + { + "git-tree": "faaf5fff20ee04db0b33a595cd37f41b89c840d6", + "version": "6.4", + "port-version": 1 + }, + { + "git-tree": "c557b7daa2f3a87a54e037e7b984ad8a661c5903", + "version": "6.4", + "port-version": 0 + }, + { + "git-tree": "83eac97c40a368314b01639191657529194d8bdc", + "version": "6.3", + "port-version": 4 + }, + { + "git-tree": "3c178c66e9a39b757a4fd10782bbd32165ef2b0e", + "version": "6.3", + "port-version": 3 + }, + { + "git-tree": "f61c866b4032d902b9c31cec60a4418615ae921b", + "version": "6.3", + "port-version": 2 + }, + { + "git-tree": "ea7aecbf38cef7f64f929c679d55812e679ca496", + "version": "6.3", + "port-version": 1 + }, + { + "git-tree": "68d49e9492a5a00c0b04cfbe2985ed99fc33973a", + "version-string": "6.3", + "port-version": 0 + }, { "git-tree": "f196044f9f7779e0bdb54015dbd3be84aaa00820", "version-string": "6.2", diff --git a/versions/n-/ndis-driver-library.json b/versions/n-/ndis-driver-library.json new file mode 100644 index 00000000000000..b03abd5fa2099c --- /dev/null +++ b/versions/n-/ndis-driver-library.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "b86a9cee58f4826c91b9126e10edb311b3149dfe", + "version": "1.2.0", + "port-version": 0 + } + ] +} diff --git a/versions/n-/neargye-semver.json b/versions/n-/neargye-semver.json index bae0ce501e5e65..051a62d58155b9 100644 --- a/versions/n-/neargye-semver.json +++ b/versions/n-/neargye-semver.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "428a2c943e4edc7e3689d1975a9bf80689ceb0dc", + "version": "0.3.1", + "port-version": 0 + }, + { + "git-tree": "8a0361995070a733294c3533d5401a074be6f366", + "version": "0.3.0", + "port-version": 2 + }, + { + "git-tree": "f3d1444f15582cd16f398589648054bfa9b03ba7", + "version": "0.3.0", + "port-version": 1 + }, { "git-tree": "00131d8f7cbb5461d1cb707d853857082129777a", "version": "0.3.0", diff --git a/versions/n-/ned14-internal-quickcpplib.json b/versions/n-/ned14-internal-quickcpplib.json index 2c4ad5ca6881a0..de227f0f439e06 100644 --- a/versions/n-/ned14-internal-quickcpplib.json +++ b/versions/n-/ned14-internal-quickcpplib.json @@ -1,5 +1,60 @@ { "versions": [ + { + "git-tree": "fd29cd78a6d8aa5689620b077e062c8844d27871", + "version-date": "2023-11-22", + "port-version": 0 + }, + { + "git-tree": "7be7cf3170221b9393f84ec28a2b940956cabb9f", + "version-date": "2023-11-06", + "port-version": 0 + }, + { + "git-tree": "59fa084ab6de6874b5dc5e56665312104d0f454a", + "version-date": "2023-03-13", + "port-version": 0 + }, + { + "git-tree": "8af495e842a0c358990dca7ed7a463673ff9c768", + "version-date": "2023-01-27", + "port-version": 0 + }, + { + "git-tree": "e9c41d87d7d3dc77a9d7dfaddef8571574721f0d", + "version-date": "2022-09-08", + "port-version": 1 + }, + { + "git-tree": "89d5a8630a97d2e3a7cae1a56253de75014a0738", + "version-date": "2022-09-08", + "port-version": 0 + }, + { + "git-tree": "081192c8586e086ef1fe8beb576255f86dc9458e", + "version-date": "2022-07-04", + "port-version": 0 + }, + { + "git-tree": "3ab059ed3893e5635482409f22bd73cdbcec2166", + "version-date": "2022-06-17", + "port-version": 0 + }, + { + "git-tree": "be7fa7b222ea2c080583b12ad2f203d63c7ed55c", + "version": "0.0.0-cad832c8", + "port-version": 1 + }, + { + "git-tree": "af77893b0d87106812194f8bc866ecfbc6ade24a", + "version-string": "0.0.0-cad832c8", + "port-version": 0 + }, + { + "git-tree": "e27f2efe92a17e1c67c5115c9ef15e7e63b1f3e8", + "version-string": "0.0.0-8089a948", + "port-version": 0 + }, { "git-tree": "801be68901e5e7e84e4069015346fc457e72953c", "version-string": "0.0.0-e691a6dc", diff --git a/versions/n-/netcdf-c.json b/versions/n-/netcdf-c.json index 4b1157b9a26e00..639de55d3d72a5 100644 --- a/versions/n-/netcdf-c.json +++ b/versions/n-/netcdf-c.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "e93ab8e5b418fbc359d4e1dcb888e2e050c83f49", + "version": "4.8.1", + "port-version": 5 + }, + { + "git-tree": "12002458bc69dbcd92c6792a3edd1f5e3931ae95", + "version": "4.8.1", + "port-version": 4 + }, + { + "git-tree": "2d17052df3479de37b4c756f4e90661c9fa85e7d", + "version": "4.8.1", + "port-version": 3 + }, + { + "git-tree": "f4d487e2f7e093b2406887023bb3a0856735bad5", + "version": "4.8.1", + "port-version": 2 + }, + { + "git-tree": "9d8a0a97fd75563172e3f1947608db3802c3b84a", + "version": "4.8.1", + "port-version": 1 + }, + { + "git-tree": "7e6529a5673ac8494b62443a9fab590ce6810826", + "version": "4.8.1", + "port-version": 0 + }, { "git-tree": "6af71c6bbdb51d1cbbade70010ccf9c628938ac2", "version": "4.7.4", diff --git a/versions/n-/netcdf-cxx4.json b/versions/n-/netcdf-cxx4.json index a98d4e510d1808..f494867f1e3a88 100644 --- a/versions/n-/netcdf-cxx4.json +++ b/versions/n-/netcdf-cxx4.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "e923110ddc48818ad472b7b577823caabfb203ab", + "version": "4.3.1", + "port-version": 5 + }, + { + "git-tree": "58540066d5e44f206328ac7cc9744153dbd39a68", + "version-string": "4.3.1", + "port-version": 4 + }, { "git-tree": "e973009e3eb7bc949e546204441002d914aa8886", "version-string": "4.3.1", diff --git a/versions/n-/netcpp.json b/versions/n-/netcpp.json new file mode 100644 index 00000000000000..0042f6cbd48e50 --- /dev/null +++ b/versions/n-/netcpp.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "a6b9de73a8c7899d0e814723cebae0e0d49209a6", + "version": "0.5.0", + "port-version": 0 + }, + { + "git-tree": "31b03887dbbc3cd3e44aebfd261ff1bda934c9a3", + "version": "0.4.1", + "port-version": 0 + }, + { + "git-tree": "367142eff1e20648f9eda61fb0544233e255c806", + "version": "0.3.4", + "port-version": 0 + } + ] +} diff --git a/versions/n-/netgen.json b/versions/n-/netgen.json new file mode 100644 index 00000000000000..08be3a52fa53e1 --- /dev/null +++ b/versions/n-/netgen.json @@ -0,0 +1,29 @@ +{ + "versions": [ + { + "git-tree": "63e8a8e2e8c3eaa03617cb6e42e6fc82fae9dc94", + "version": "6.2.2401", + "port-version": 2 + }, + { + "git-tree": "5f32bd93d58e5c5057f30d3564fa0a9b808498d6", + "version": "6.2.2401", + "port-version": 1 + }, + { + "git-tree": "289792b9ef5239988ae4c6a418fadfb59fadda5f", + "version": "6.2.2401", + "port-version": 0 + }, + { + "git-tree": "9d4a861ae09a1f970a8a0e100f63ab46bc601d93", + "version": "6.2.2307", + "port-version": 1 + }, + { + "git-tree": "9326bf9f2364487f83d80a4b594e469db805a511", + "version": "6.2.2307", + "port-version": 0 + } + ] +} diff --git a/versions/n-/nethost.json b/versions/n-/nethost.json index c430d8a410950e..741717d67a52e2 100644 --- a/versions/n-/nethost.json +++ b/versions/n-/nethost.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "e43102899f719e3a4b81ad428f4ba0273b710147", + "version": "8.0.3", + "port-version": 0 + }, + { + "git-tree": "4e306025f6213b286479afaf20f15ab10c5a9d51", + "version": "8.0.0", + "port-version": 0 + }, + { + "git-tree": "d0dbe0f8de11978aea0148c9474377cdc8e88aaf", + "version": "7.0.0", + "port-version": 0 + }, + { + "git-tree": "267a7f140709e65c5d692a7f3add885021764c25", + "version": "6.0.5", + "port-version": 0 + }, + { + "git-tree": "5b1a7d98ce2c1520bbb370dfc2fcb8c3d704c300", + "version-date": "2019-12-21", + "port-version": 2 + }, { "git-tree": "15d7240f68194b95c97bdac0658a1ffce7015f34", "version-string": "2019-12-21", diff --git a/versions/n-/nettle.json b/versions/n-/nettle.json index 00096cd8d2ec10..e066ad1a77fb61 100644 --- a/versions/n-/nettle.json +++ b/versions/n-/nettle.json @@ -1,5 +1,45 @@ { "versions": [ + { + "git-tree": "8e33e188623d99135e4d6db52d98840da86ffc0d", + "version": "3.10", + "port-version": 1 + }, + { + "git-tree": "9326fbe0ac4d6a3e70d622443d40b29d9538a9ff", + "version": "3.10", + "port-version": 0 + }, + { + "git-tree": "1b3f0bbb2ea2c2fb1bbb016d80d7c5e867b0f1a7", + "version": "3.9.1", + "port-version": 0 + }, + { + "git-tree": "7734b67cb656bf12488ea137779b56d8865bbb02", + "version": "3.8.1", + "port-version": 1 + }, + { + "git-tree": "1ca3c1210bb511a4d94b53684fcb557e92678d7b", + "version": "3.8.1", + "port-version": 0 + }, + { + "git-tree": "a8247971cc43c88dabb2b1bc2b6e34adafc451f5", + "version": "3.7.3", + "port-version": 1 + }, + { + "git-tree": "17fa323aae2ecee658549bd9a8951a2ce6c9880a", + "version": "3.7.3", + "port-version": 0 + }, + { + "git-tree": "2d7735edc12e985fbe6bae0489a8c01ff18413cd", + "version": "3.6", + "port-version": 2 + }, { "git-tree": "87e3211d256198eb00d854b24b2043efb0fe892d", "version-string": "3.6", diff --git a/versions/n-/networkdirect-sdk.json b/versions/n-/networkdirect-sdk.json index 9032a3a6fc8905..0537e8a0139cee 100644 --- a/versions/n-/networkdirect-sdk.json +++ b/versions/n-/networkdirect-sdk.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "a772a084c23789a5e43d7a8880cb7e980a6314b6", + "version": "2.0.1", + "port-version": 4 + }, + { + "git-tree": "4ae7e238a2a00496c78d2d2bb2101f9e054975e9", + "version": "2.0.1", + "port-version": 3 + }, { "git-tree": "38faf77539eb45a0336501ea8af5d63b9ca11c83", "version-string": "2.0.1", diff --git a/versions/n-/nghttp2-asio.json b/versions/n-/nghttp2-asio.json new file mode 100644 index 00000000000000..7d4bc7362616b5 --- /dev/null +++ b/versions/n-/nghttp2-asio.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "ad42ffe88b18eda0e2807ada97bc51b76239e953", + "version-date": "2022-08-11", + "port-version": 1 + }, + { + "git-tree": "a2ef24d2428ea9d1a4cb733d3e4ce00e3f6f5c8d", + "version-date": "2022-08-11", + "port-version": 0 + } + ] +} diff --git a/versions/n-/nghttp2.json b/versions/n-/nghttp2.json index fe89531acd03d9..6165c89042b684 100644 --- a/versions/n-/nghttp2.json +++ b/versions/n-/nghttp2.json @@ -1,5 +1,95 @@ { "versions": [ + { + "git-tree": "773b09ca4f753ae883a290619f54897c8e0ce38a", + "version": "1.64.0", + "port-version": 0 + }, + { + "git-tree": "7d9278b741469a7eaf10d708393e589cc7edd386", + "version": "1.63.0", + "port-version": 0 + }, + { + "git-tree": "c7fd11835e7bcb267322ba09d92db75819881dd7", + "version": "1.62.1", + "port-version": 0 + }, + { + "git-tree": "d5ff35ea994ae111b18296f322006f056528f52a", + "version": "1.62.0", + "port-version": 0 + }, + { + "git-tree": "c729d32482e08364174b704deb8a5f91af6bb4f4", + "version": "1.61.0", + "port-version": 0 + }, + { + "git-tree": "31de6aa7aa2d2e068717f30e8949570bdfd53bf6", + "version": "1.60.0", + "port-version": 0 + }, + { + "git-tree": "3b5a94a4eb9a90dcd3b34534bd14768d94e7e538", + "version": "1.59.0", + "port-version": 0 + }, + { + "git-tree": "8beb4b8f6dab88296ee6ef57f5eb0f60c9fff72d", + "version": "1.58.0", + "port-version": 0 + }, + { + "git-tree": "0a369a1a84bf659607d06fcfdcf2b38996c0f935", + "version": "1.57.0", + "port-version": 0 + }, + { + "git-tree": "fbaeb01777a225a56a3f29ea40db69711f06256f", + "version": "1.56.0", + "port-version": 0 + }, + { + "git-tree": "772366dba6fcdf37e0ca244d4539b2fd73faca2f", + "version": "1.55.1", + "port-version": 0 + }, + { + "git-tree": "b79d36373533804ca437bc13144b9614c0612f1a", + "version": "1.55.0", + "port-version": 0 + }, + { + "git-tree": "4bc602a9f1721052cae35a9c91b829df65398f86", + "version": "1.54.0", + "port-version": 0 + }, + { + "git-tree": "0eb9ce7e6486785e3b3581274097e4d0e34ad828", + "version": "1.53.0", + "port-version": 0 + }, + { + "git-tree": "74c421607d322d652065b5414ddd4d7f0989c0bf", + "version": "1.51.0", + "port-version": 1 + }, + { + "git-tree": "dfbceae206a466a8c890e0eae9cd84e8ca2100f3", + "version": "1.51.0", + "port-version": 0 + }, + { + "git-tree": "deefe549bf6d275db038cc24547637f711f0ff6b", + "version": "1.50.0", + "port-version": 0 + }, + { + "git-tree": "f2c6faba492d188ec0f72078720084f6a4dc00c3", + "version": "1.49.0", + "port-version": 0 + }, { "git-tree": "b7477580246c8547d75abc176295b832544cb132", "version": "1.46.0", diff --git a/versions/n-/nghttp3.json b/versions/n-/nghttp3.json new file mode 100644 index 00000000000000..898091dc5f910f --- /dev/null +++ b/versions/n-/nghttp3.json @@ -0,0 +1,89 @@ +{ + "versions": [ + { + "git-tree": "0a9f36eb052356da25b2705b310fa13e4da7c121", + "version": "1.6.0", + "port-version": 0 + }, + { + "git-tree": "266af41d2ae35c2d64ccee22c99a4fcc57f4fb3f", + "version": "1.5.0", + "port-version": 1 + }, + { + "git-tree": "35b52ed7827b7da3b3dd1aa78a41aad9c3c13d59", + "version": "1.5.0", + "port-version": 0 + }, + { + "git-tree": "a503d4283d1d25411c53bce53ff5bc0a8c66592c", + "version": "1.3.0", + "port-version": 0 + }, + { + "git-tree": "e17655971ccd459fb7886958988cf1334bc5572c", + "version": "1.1.0", + "port-version": 0 + }, + { + "git-tree": "9552b83f2dfc8fc3211ce4e18708570193d9625f", + "version": "1.0.0", + "port-version": 0 + }, + { + "git-tree": "dc20ed3b2fc048cdcebb7f936b2614b42e66c286", + "version": "0.15.0", + "port-version": 0 + }, + { + "git-tree": "c3db373f95298070305be9546fa5b5676e0d717d", + "version": "0.14.0", + "port-version": 0 + }, + { + "git-tree": "6bd84b01197cd87cc5ca7cb73d458da9a504caa5", + "version": "0.13.0", + "port-version": 0 + }, + { + "git-tree": "868b3e41f403af9da33191e05418e37f71a46c30", + "version": "0.12.0", + "port-version": 0 + }, + { + "git-tree": "8139cb08a1dea31b13af01d3027129cf7874acab", + "version": "0.11.0", + "port-version": 0 + }, + { + "git-tree": "b490beccb519c1faa3bfbfae0bb6e8e873aed843", + "version": "0.10.0", + "port-version": 0 + }, + { + "git-tree": "bb3cac335e3b52e2a03a49a48173b085541c4341", + "version": "0.9.0", + "port-version": 0 + }, + { + "git-tree": "93b4b1578b77aedd89226d88b25641f85609aebc", + "version": "0.8.0", + "port-version": 0 + }, + { + "git-tree": "4bffdd88b1fceb27e8af54b018033162eb42ff8f", + "version": "0.7.1", + "port-version": 0 + }, + { + "git-tree": "cf61122128fd277764b9319577d2ed3636c1d0d0", + "version": "0.7.0", + "port-version": 1 + }, + { + "git-tree": "f71e5ffcb5802adeb997b151ea1277662ff9b03f", + "version": "0.7.0", + "port-version": 0 + } + ] +} diff --git a/versions/n-/ngspice.json b/versions/n-/ngspice.json index e5ae9654dde19e..24e9fd26af5fda 100644 --- a/versions/n-/ngspice.json +++ b/versions/n-/ngspice.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "ae82af35f1dfb0ac52968de34d29a7de809cf575", + "version": "41", + "port-version": 0 + }, + { + "git-tree": "2810bbc81dca4d7c2cc27859dc4403b347e6e40d", + "version": "39", + "port-version": 1 + }, + { + "git-tree": "a0b81daaa09f8f109edf6870909050067ad5bd90", + "version": "39", + "port-version": 0 + }, + { + "git-tree": "7a20625f4656372060074ee98cf95ef002b16178", + "version": "37", + "port-version": 0 + }, + { + "git-tree": "ec514c4b9a568123369d7d081d004a2d92f6d592", + "version": "35", + "port-version": 2 + }, + { + "git-tree": "f9060da8afaaccceef8b5265f7758f20bc23e289", + "version": "35", + "port-version": 1 + }, { "git-tree": "cce657d55082d7a23496c44cb311e208ea31cab4", "version-string": "35", diff --git a/versions/n-/ngtcp2.json b/versions/n-/ngtcp2.json new file mode 100644 index 00000000000000..ed521b3072f5ee --- /dev/null +++ b/versions/n-/ngtcp2.json @@ -0,0 +1,109 @@ +{ + "versions": [ + { + "git-tree": "3a0befe8767508d567f8f3eca44020eaca5a450f", + "version": "1.8.1", + "port-version": 0 + }, + { + "git-tree": "b0694dae4b89a7212beb478571821e45c3715335", + "version": "1.7.0", + "port-version": 1 + }, + { + "git-tree": "909f14f6bf7e0e65f72114fed6c3deb990755ba6", + "version": "1.7.0", + "port-version": 0 + }, + { + "git-tree": "192385868c5b3a7048f4496493e6fc55a564dbc8", + "version": "1.6.0", + "port-version": 3 + }, + { + "git-tree": "ddfa61f547e616e5d2ae460b5f759a702e8c067d", + "version": "1.6.0", + "port-version": 2 + }, + { + "git-tree": "227654175c4fb36c68d385ee7414e057b534f644", + "version": "1.6.0", + "port-version": 1 + }, + { + "git-tree": "f7c18d82e3bac5d715689349cf8c28fa0596c6e2", + "version": "1.6.0", + "port-version": 0 + }, + { + "git-tree": "e84533ed07e21e33b38553c3b75abd9a65536e76", + "version": "1.5.0", + "port-version": 0 + }, + { + "git-tree": "afc1585394c775f2989331db3baaa1b2c7449516", + "version": "1.2.0", + "port-version": 0 + }, + { + "git-tree": "c373297464e5a9b8bc18bd89703571e3ebf2417d", + "version": "1.1.0", + "port-version": 0 + }, + { + "git-tree": "b2b2e40609c45b92b199a998590bb1074f1226d4", + "version": "1.0.1", + "port-version": 0 + }, + { + "git-tree": "40104b5c6052054c49211e1a9098f833dba4a63d", + "version": "1.0.0", + "port-version": 0 + }, + { + "git-tree": "05c0bba60ffa39b1368709bb4ef25102b4b74c7a", + "version": "0.19.1", + "port-version": 0 + }, + { + "git-tree": "4daeb8ad745feeafd60b7fcf856907745ed6e4d8", + "version": "0.18.0", + "port-version": 0 + }, + { + "git-tree": "d0d7665d44dfadb8bd4ac73c842d33f54b888802", + "version": "0.17.0", + "port-version": 0 + }, + { + "git-tree": "5c23d20c06e58c61401f02c07a05bce9cf6a3eb4", + "version": "0.16.0", + "port-version": 0 + }, + { + "git-tree": "ae54f702f177016f67025862105af12921ccb325", + "version": "0.14.1", + "port-version": 0 + }, + { + "git-tree": "2ed43a821081be8b08e5e93265f04def890da42f", + "version": "0.14.0", + "port-version": 0 + }, + { + "git-tree": "650ddd9f22d59c17ff9adbb88b23c99c4cd2a742", + "version": "0.13.1", + "port-version": 1 + }, + { + "git-tree": "1387b33cfba7ba284c8862a97cf5d6fa9dfc8a9a", + "version": "0.13.1", + "port-version": 0 + }, + { + "git-tree": "84ab1e937c8536276a0dbd41ef161818f3227a27", + "version": "0.11.0", + "port-version": 0 + } + ] +} diff --git a/versions/n-/nifly.json b/versions/n-/nifly.json new file mode 100644 index 00000000000000..d99c8f08790fbd --- /dev/null +++ b/versions/n-/nifly.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "65dfaaae3bb9e8549f5b0f0a8b802cc4fae50164", + "version": "1.0.0", + "port-version": 1 + }, + { + "git-tree": "208094a8ee378aaa7a4de63e4d7e59401fecdb9b", + "version": "1.0.0", + "port-version": 0 + } + ] +} diff --git a/versions/n-/nifticlib.json b/versions/n-/nifticlib.json index b3f2e4843c370d..5be5f702c49be3 100644 --- a/versions/n-/nifticlib.json +++ b/versions/n-/nifticlib.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "04096233d605e377c31588273d928c15538713ac", + "version-date": "2022-07-04", + "port-version": 0 + }, + { + "git-tree": "d889870db5d6d2e5afc8e738c6f6451c7d237a4c", + "version-date": "2020-04-30", + "port-version": 4 + }, + { + "git-tree": "3c571b3db6efc2e8065ba99424995e6d720a444f", + "version-date": "2020-04-30", + "port-version": 3 + }, + { + "git-tree": "bee84e9bdd74b5b80c68eb3c8933a86a51b37915", + "version-date": "2020-04-30", + "port-version": 2 + }, { "git-tree": "e27d9a2c6e8d4b8b00fc3d1adb0f54f06fa5adee", "version-string": "2020-04-30", diff --git a/versions/n-/nlohmann-fifo-map.json b/versions/n-/nlohmann-fifo-map.json index 86d45ffcc9f325..20185fbf1f574e 100644 --- a/versions/n-/nlohmann-fifo-map.json +++ b/versions/n-/nlohmann-fifo-map.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "c6861ed0961fec6474085c07b5db71de3fdfa869", + "version-string": "2018.05.07", + "port-version": 3 + }, { "git-tree": "de935008898a0cfdb6326baedb7781bcbd5df4e7", "version-string": "2018.05.07", diff --git a/versions/n-/nlohmann-json.json b/versions/n-/nlohmann-json.json index 29cfd19384c4c7..eba7edfeac832e 100644 --- a/versions/n-/nlohmann-json.json +++ b/versions/n-/nlohmann-json.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "324d32ddba70bc49650d1a067ddcf3d0bfc6c9b6", + "version-semver": "3.11.3", + "port-version": 1 + }, + { + "git-tree": "a728b86fa36d4885a4c57c79432660950644d6d4", + "version-semver": "3.11.3", + "port-version": 0 + }, + { + "git-tree": "caa64b8c731ac2457575ea3c5f1827bc82ecac84", + "version-semver": "3.11.2", + "port-version": 0 + }, + { + "git-tree": "91f188e19b106e7d316de593e98f3319f8f5ec25", + "version-semver": "3.10.5", + "port-version": 3 + }, + { + "git-tree": "becf6a86f7e28342840fc807840c68b133c6fad8", + "version-semver": "3.10.5", + "port-version": 2 + }, + { + "git-tree": "fa0a087d0444a7f2c79a44bce91c51550d5f2e47", + "version-semver": "3.10.5", + "port-version": 1 + }, + { + "git-tree": "d1fe747457714c4c43b12502de05b2d006b440d4", + "version-semver": "3.10.5", + "port-version": 0 + }, { "git-tree": "f948131b4bc6e2e9ae67cb7d40f5e930991fba21", "version-semver": "3.10.4", diff --git a/versions/n-/nlopt.json b/versions/n-/nlopt.json index e4eed6a6b5c235..59c5e5ca1920ad 100644 --- a/versions/n-/nlopt.json +++ b/versions/n-/nlopt.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "0dbd73eab52939902cb59e522ba571bc724bc7fb", + "version": "2.8.0", + "port-version": 0 + }, + { + "git-tree": "a83b7384132bb8eb542186bfe52258577f62897b", + "version": "2.7.1", + "port-version": 1 + }, + { + "git-tree": "b98ca95cd180e8c31c718f78ef39b5d733f0399f", + "version": "2.7.1", + "port-version": 0 + }, { "git-tree": "8307558e59725a365e7139c8e5fd371e5d3481e4", "version-string": "2.7.0", diff --git a/versions/n-/nmap.json b/versions/n-/nmap.json index 16b6862f6cbbab..a2ec0ae52359ac 100644 --- a/versions/n-/nmap.json +++ b/versions/n-/nmap.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "b4b897cddcd9c1849f9181b400599aa7b93be5bd", + "version": "7.70", + "port-version": 12 + }, + { + "git-tree": "d96fe27573cd4c06549f6a711e54f0f26a1c4485", + "version": "7.70", + "port-version": 11 + }, + { + "git-tree": "fd1dcfaf73ff23b171247d76abdca50cd7f10f33", + "version": "7.70", + "port-version": 10 + }, + { + "git-tree": "6822fee19cc3071389e5a218c77e4ffadb963327", + "version": "7.70", + "port-version": 9 + }, + { + "git-tree": "429c00ca8882e0c2046de753bc8699603aa77343", + "version": "7.70", + "port-version": 8 + }, + { + "git-tree": "ce091d3154815b15982f0ec59e48d7d9a322f79b", + "version": "7.70", + "port-version": 7 + }, + { + "git-tree": "6d9e2e59a91c2ef33e59bb886accd8af1ac39b54", + "version": "7.70", + "port-version": 6 + }, { "git-tree": "b435c01d439c57ba46d2de58b81fd1da81555776", "version": "7.70", diff --git a/versions/n-/nmslib.json b/versions/n-/nmslib.json index 83c6d4e864f932..733d5e4578e082 100644 --- a/versions/n-/nmslib.json +++ b/versions/n-/nmslib.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "98fea3cd9111ced5710357dee8212e576efd514b", + "version": "2.1.1", + "port-version": 1 + }, { "git-tree": "b0256cb272ca0fe86ee427cdd64ad08f41c656b8", "version": "2.1.1", diff --git a/versions/n-/nng.json b/versions/n-/nng.json index a63b840915b9dc..2ee8dec2b3e101 100644 --- a/versions/n-/nng.json +++ b/versions/n-/nng.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "ae629b17cceaf01bcfdcfc8a991b4631744167cc", + "version-semver": "1.9.0", + "port-version": 0 + }, + { + "git-tree": "0822221e7576d24ddb89eab2cf2b1be85dd6e1c6", + "version-semver": "1.8.0", + "port-version": 0 + }, + { + "git-tree": "e16d5e3147918e3e74bb93299e3c8d5fe9304722", + "version-semver": "1.7.3", + "port-version": 0 + }, + { + "git-tree": "4ac0d0be55aed606e5db8e253d9bf5cc8586e7c2", + "version-semver": "1.6.0", + "port-version": 0 + }, + { + "git-tree": "83ce54077bc3c44805db7725549b28e7bc90d536", + "version-semver": "1.5.2", + "port-version": 1 + }, + { + "git-tree": "8e400d4ac38af1eafba51433102b0963d06053b2", + "version-semver": "1.5.2", + "port-version": 0 + }, { "git-tree": "ec4958fd8785c45084ce752f527ab7ef7acd69a7", "version-semver": "1.5.1", diff --git a/versions/n-/nngpp.json b/versions/n-/nngpp.json index d25213f47f2669..880e59c1fc0cc5 100644 --- a/versions/n-/nngpp.json +++ b/versions/n-/nngpp.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "e61e4c2585eb86f360f925d8c522c5d6764fc6a6", + "version": "1.3.0", + "port-version": 3 + }, + { + "git-tree": "753d69bc50dbc03626d362d132de28e4f8079b19", + "version-string": "1.3.0", + "port-version": 2 + }, { "git-tree": "810ec96450510773b75e29d42eb11792651b3e44", "version-string": "1.3.0", diff --git a/versions/n-/nnpack.json b/versions/n-/nnpack.json index 00fe3761110442..853644ff305263 100644 --- a/versions/n-/nnpack.json +++ b/versions/n-/nnpack.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "7d9e236a8f7e71e46c901da4f8a250c47221bd91", + "version-date": "2021-02-21", + "port-version": 3 + }, + { + "git-tree": "2479c1088fd75df5e9f06e85086c748aefae9e11", + "version-date": "2021-02-21", + "port-version": 2 + }, { "git-tree": "42cc5d6dad2376e9322d715341bb0c8e2d1297b8", "version-date": "2021-02-21", diff --git a/versions/n-/node-addon-api.json b/versions/n-/node-addon-api.json new file mode 100644 index 00000000000000..079963974847a9 --- /dev/null +++ b/versions/n-/node-addon-api.json @@ -0,0 +1,29 @@ +{ + "versions": [ + { + "git-tree": "81fa7773a3a022325f43fa266ce809c1bb3ceffd", + "version": "7.0.0", + "port-version": 0 + }, + { + "git-tree": "33617d9929f3a05c2f3a98781dd6508a1b2ba1cd", + "version": "6.1.0", + "port-version": 0 + }, + { + "git-tree": "cfdebff816f735bc5922266b54623e0a70b667cf", + "version": "6.0.0", + "port-version": 1 + }, + { + "git-tree": "45cf82eea2cea9f8fa60b8a476f6484f75f81ca5", + "version": "6.0.0", + "port-version": 0 + }, + { + "git-tree": "b1c42d68e9b5e63b2d63cac93212af32d9e553dc", + "version": "5.0.0", + "port-version": 0 + } + ] +} diff --git a/versions/n-/node-api-headers.json b/versions/n-/node-api-headers.json new file mode 100644 index 00000000000000..2fc654d28796b5 --- /dev/null +++ b/versions/n-/node-api-headers.json @@ -0,0 +1,29 @@ +{ + "versions": [ + { + "git-tree": "913a99892edcb72bcc2a479471caf0f9edb35311", + "version": "1.1.0", + "port-version": 0 + }, + { + "git-tree": "273191974015356594e8288781f46c01fd882d43", + "version": "1.0.0", + "port-version": 1 + }, + { + "git-tree": "a38314df5ed9495e8e15abc596a5cd75e0116824", + "version": "1.0.0", + "port-version": 0 + }, + { + "git-tree": "1a4d676ae2409acc29b77934186b1232e3a80408", + "version": "0.0.5", + "port-version": 1 + }, + { + "git-tree": "d8703d51a9b88c204782885707fc580ab490e9f4", + "version": "0.0.5", + "port-version": 0 + } + ] +} diff --git a/versions/n-/node-api.json b/versions/n-/node-api.json new file mode 100644 index 00000000000000..0dd5dae0010859 --- /dev/null +++ b/versions/n-/node-api.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "d127d3b83f2702e56542e7c90807893464f3de79", + "version-semver": "18.12.1", + "port-version": 2 + }, + { + "git-tree": "1b12126f91686d77b2ea46cd9c7e311f000f7bb9", + "version-semver": "18.12.1", + "port-version": 1 + }, + { + "git-tree": "174e2ac98335fd5510219bd9e0b550b51ce14ee3", + "version-semver": "18.12.1", + "port-version": 0 + } + ] +} diff --git a/versions/n-/nodesoup.json b/versions/n-/nodesoup.json new file mode 100644 index 00000000000000..9b2e2fabf40687 --- /dev/null +++ b/versions/n-/nodesoup.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "43d30f8e5e0cd4b45a590027d0c9ea5036f0ba40", + "version-date": "2023-06-12", + "port-version": 0 + } + ] +} diff --git a/versions/n-/nonius.json b/versions/n-/nonius.json index b9755e5eb52a2a..f2b983187188a9 100644 --- a/versions/n-/nonius.json +++ b/versions/n-/nonius.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "4b44b6979dba8939009d769f36a90196e93afe9f", + "version-date": "2019-04-20", + "port-version": 4 + }, + { + "git-tree": "9c9da5344edbd70d4941eec3b1b1ef7ce90a3c1a", + "version-string": "2019-04-20", + "port-version": 3 + }, { "git-tree": "35083b1d3db802ef074b75da839d035ac965a420", "version-string": "2019-04-20", diff --git a/versions/n-/nowide.json b/versions/n-/nowide.json index 46c9cad9ee11c5..ba5bcdea165179 100644 --- a/versions/n-/nowide.json +++ b/versions/n-/nowide.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "8d782a748c6b9013ca434f77a3c2b1838fce734d", + "version": "11.3.0", + "port-version": 0 + }, + { + "git-tree": "d91d4dcfdca6cb36e7c2235e9a14ccc131ed165e", + "version": "11.2.0", + "port-version": 1 + }, + { + "git-tree": "dc71e4553a59625e8daaf2c3e1d54af1f19a0279", + "version": "11.2.0", + "port-version": 0 + }, + { + "git-tree": "2243fbc97eb5f4ef81fe44e85e449227464cc185", + "version": "11.1.3", + "port-version": 0 + }, { "git-tree": "21c416b6bc370248b98485d54aa32960158012ea", "version": "11.1.2", diff --git a/versions/n-/nrf-ble-driver.json b/versions/n-/nrf-ble-driver.json index e01064548fe8a9..5edfed930d2c72 100644 --- a/versions/n-/nrf-ble-driver.json +++ b/versions/n-/nrf-ble-driver.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "4eaac577bc7f0f8d3bf2cc6281f96d848937ccaa", + "version": "4.1.4", + "port-version": 1 + }, + { + "git-tree": "f7eb0b4a2be63dfe15611d96725869023f7b438c", + "version": "4.1.4", + "port-version": 0 + }, + { + "git-tree": "82619c9f6f7860cb053b79c1091a39e0483b7d85", + "version": "4.1.2", + "port-version": 2 + }, { "git-tree": "f0f55511374a869316d374399923f94dc25c4150", "version-string": "4.1.2", diff --git a/versions/n-/nspr.json b/versions/n-/nspr.json new file mode 100644 index 00000000000000..a2cf6687331270 --- /dev/null +++ b/versions/n-/nspr.json @@ -0,0 +1,34 @@ +{ + "versions": [ + { + "git-tree": "2ac026e89f8d32d1b421bdc000ca17f0c7d3e3c7", + "version": "4.35", + "port-version": 4 + }, + { + "git-tree": "f6ae665af0bc5a8b98f846bf8e8468e823f09509", + "version": "4.35", + "port-version": 3 + }, + { + "git-tree": "26de592ee740014b5e1a5d038e5f2132671312b5", + "version": "4.35", + "port-version": 2 + }, + { + "git-tree": "a07f5ffc6f4bd4a9154a599898fbac38115c8124", + "version": "4.33", + "port-version": 2 + }, + { + "git-tree": "efd7b94673495b09ee48d1c2a4453f70c5e0bb7c", + "version": "4.33", + "port-version": 1 + }, + { + "git-tree": "ec6fe24b3b4db98f624391627f113a7bd93397eb", + "version": "4.33", + "port-version": 0 + } + ] +} diff --git a/versions/n-/nss.json b/versions/n-/nss.json new file mode 100644 index 00000000000000..fe538944783dac --- /dev/null +++ b/versions/n-/nss.json @@ -0,0 +1,64 @@ +{ + "versions": [ + { + "git-tree": "93c8abd74523ba189511a0846810848b9a0ed9b5", + "version": "3.99", + "port-version": 1 + }, + { + "git-tree": "ea00c7a5c7a405e00c94f4bf162bb5a616c2956c", + "version": "3.99", + "port-version": 0 + }, + { + "git-tree": "4ce5ce6e94d2b9179b2f316bce89214afc31e303", + "version": "3.98", + "port-version": 1 + }, + { + "git-tree": "92c9d14f27941f9b37f719a0a16f571e69dd5c88", + "version": "3.98", + "port-version": 0 + }, + { + "git-tree": "761d0ded1579714c014fed176818feb0b07b953f", + "version": "3.87", + "port-version": 2 + }, + { + "git-tree": "3ee50028600372dc454e15907e4f3168463c5570", + "version": "3.87", + "port-version": 1 + }, + { + "git-tree": "dde235e6a76604d088e7fc8701354fea880c1065", + "version": "3.87", + "port-version": 0 + }, + { + "git-tree": "6256143502011312dc467a9c57f0955617fee6d3", + "version": "3.78", + "port-version": 0 + }, + { + "git-tree": "06e7680df336bb6be816c75e42c6304d11566a3d", + "version": "3.77", + "port-version": 0 + }, + { + "git-tree": "a5eabb67b345be280f94a3615aa3e08886ad4ec7", + "version": "3.76.1", + "port-version": 0 + }, + { + "git-tree": "ffcb42dbcb29e96a2e367dbbe473f447d67f54ce", + "version": "3.76", + "port-version": 0 + }, + { + "git-tree": "96cd78f1c74951c2e623deff9549d776bf4968b5", + "version": "3.75", + "port-version": 0 + } + ] +} diff --git a/versions/n-/nsync.json b/versions/n-/nsync.json index 44af83133ddb9f..5d05ee1615b1d2 100644 --- a/versions/n-/nsync.json +++ b/versions/n-/nsync.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "04b2d31e465f427424f48323cec0c1f2aa51cbc8", + "version": "1.29.2", + "port-version": 0 + }, + { + "git-tree": "2861341c0435829734827dc84d7166d95d8e8bee", + "version": "1.26.0", + "port-version": 0 + }, + { + "git-tree": "f2333cb932309608aa164aadaacb8d4592c71068", + "version": "1.24.0", + "port-version": 1 + }, { "git-tree": "65f07dbc95a609c95de7befffbf37da598652cee", "version": "1.24.0", diff --git a/versions/n-/nt-wrapper.json b/versions/n-/nt-wrapper.json index fcac3ced0f6597..e823b9be1401bc 100644 --- a/versions/n-/nt-wrapper.json +++ b/versions/n-/nt-wrapper.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "dca74052bdbd3af026eb8b37e3222beed0a43276", + "version-date": "2019-08-10", + "port-version": 3 + }, + { + "git-tree": "57d9be46d1ad11b6438efd40a0392c78ddbcfd9a", + "version-string": "2019-08-10", + "port-version": 2 + }, { "git-tree": "60826cea5f3d16ff79fff864e3ad13239d78a193", "version-string": "2019-08-10", diff --git a/versions/n-/ntf-core.json b/versions/n-/ntf-core.json new file mode 100644 index 00000000000000..ce960fee531dcd --- /dev/null +++ b/versions/n-/ntf-core.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "version": "2.1.0", + "port-version": 1, + "git-tree": "1e517e2393650769e701f62317e905a3f1776367" + }, + { + "version": "2.1.0", + "port-version": 0, + "git-tree": "eabeb2b30205bef45e72e4a069f21d71797f3f5d" + } + ] +} diff --git a/versions/n-/nu-book-zxing-cpp.json b/versions/n-/nu-book-zxing-cpp.json new file mode 100644 index 00000000000000..40efde7cb690db --- /dev/null +++ b/versions/n-/nu-book-zxing-cpp.json @@ -0,0 +1,39 @@ +{ + "versions": [ + { + "git-tree": "1db237096a98d1fb8766a540eee3eb5476d62b93", + "version": "2.2.1", + "port-version": 0 + }, + { + "git-tree": "032cebebe24ebafeffe077cd64808235cbcbe453", + "version": "2.1.0", + "port-version": 0 + }, + { + "git-tree": "d4cd1e936d33ae825fc57284f37bd29b1b0b08c5", + "version": "2.0.0", + "port-version": 1 + }, + { + "git-tree": "78c8636186395a676c941dc214b01d4576d643b6", + "version": "2.0.0", + "port-version": 0 + }, + { + "git-tree": "726a38ae57ae90e631ad0b0983132ec249e7c497", + "version": "1.4.0", + "port-version": 0 + }, + { + "git-tree": "316c6275dffcc126f298440ee209121c98996f5c", + "version": "1.3.0", + "port-version": 0 + }, + { + "git-tree": "b807d508317d0b4bfc5a368fae07f81770851c0b", + "version": "1.2.0", + "port-version": 0 + } + ] +} diff --git a/versions/n-/nuklear.json b/versions/n-/nuklear.json index 195260366136e2..c86d86b83cc42d 100644 --- a/versions/n-/nuklear.json +++ b/versions/n-/nuklear.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "c7a06d2b4b1e882bff894a676e9c89d25898d7c4", + "version-date": "2022-05-12", + "port-version": 0 + }, { "git-tree": "9c243e51fbb0d9fa4562a3e4a8eba9a7fb2e0cdd", "version-date": "2021-03-18", diff --git a/versions/n-/numactl.json b/versions/n-/numactl.json index f80d95f6e941ef..2a0067a71c2ff5 100644 --- a/versions/n-/numactl.json +++ b/versions/n-/numactl.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "87e65b2becdf4301dc9cdb175f893fa0f2215f14", + "version": "2.0.18", + "port-version": 0 + }, + { + "git-tree": "b849a1a9049852792f8441dece9ee35964dec1de", + "version": "2.0.17", + "port-version": 0 + }, + { + "git-tree": "2a43cd7692e36347f0bef1c92c982253051f9027", + "version": "2.0.16", + "port-version": 0 + }, + { + "git-tree": "38b7d6feca43ff05b6a059aae8ce218fa382853e", + "version": "2.0.14", + "port-version": 1 + }, { "git-tree": "58815aa974d9ab14d768576ade86c2e3b43d20a3", "version": "2.0.14", diff --git a/versions/n-/numcpp.json b/versions/n-/numcpp.json index 6d168e28a70f67..755a90cb41d7f4 100644 --- a/versions/n-/numcpp.json +++ b/versions/n-/numcpp.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "e82e792de63955399c5b96c8ceaef6e66eb6230a", + "version": "2.12.1", + "port-version": 2 + }, + { + "git-tree": "300dfe4a76995143213ee1c14076a13c597f3bea", + "version": "2.12.1", + "port-version": 1 + }, + { + "git-tree": "7a6e04f1febb3a78dbb37c375e8e0b322802c244", + "version": "2.12.1", + "port-version": 0 + }, + { + "git-tree": "aa42201ab3a189b38031fe0d912e3d62e9a44b8f", + "version": "2.11.0", + "port-version": 0 + }, + { + "git-tree": "99f0dc5efa2ee18b46af92901b34426516cf3390", + "version": "2.10.1", + "port-version": 0 + }, { "git-tree": "648047125e8e78a10fec23ab02b10037197206a6", "version": "2.6.0", diff --git a/versions/n-/nuspell.json b/versions/n-/nuspell.json index a6bb2cf2931856..46ca68fbc20816 100644 --- a/versions/n-/nuspell.json +++ b/versions/n-/nuspell.json @@ -1,5 +1,45 @@ { "versions": [ + { + "git-tree": "084292185f523b5b0a10bd7e57f3e60fee29866e", + "version-semver": "5.1.6", + "port-version": 0 + }, + { + "git-tree": "060ff508c132af5317809061a91139e6e99f3fda", + "version-semver": "5.1.4", + "port-version": 0 + }, + { + "git-tree": "a9dfb4c97779fd3bd294df93a76aa309578949c9", + "version-semver": "5.1.2", + "port-version": 1 + }, + { + "git-tree": "6175a848b3c05c1adf0816f1b3b4dd056c12ed40", + "version-semver": "5.1.2", + "port-version": 0 + }, + { + "git-tree": "0daf4a7623ab68c7f706b815dbe29e8f4627668e", + "version-semver": "5.1.1", + "port-version": 0 + }, + { + "git-tree": "5719acdfd3465a7bb3dfac85ce2821c56d7c652a", + "version-semver": "5.1.0", + "port-version": 2 + }, + { + "git-tree": "02475776fc8cc0332efe7e0ea8851872c911de32", + "version-semver": "5.1.0", + "port-version": 1 + }, + { + "git-tree": "53fb93bbc0d441813026ef171e32d7479ab839f3", + "version-semver": "5.1.0", + "port-version": 0 + }, { "git-tree": "80e078d3797fd83a92fd3a6d0f59a373e43beadb", "version-semver": "5.0.0", diff --git a/versions/n-/nvidia-cutlass.json b/versions/n-/nvidia-cutlass.json new file mode 100644 index 00000000000000..b3a5e8230553b5 --- /dev/null +++ b/versions/n-/nvidia-cutlass.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "b84f2cac28c9a5f421b287af682f6a101146f3a8", + "version": "3.3.0", + "port-version": 0 + } + ] +} diff --git a/versions/n-/nvtt.json b/versions/n-/nvtt.json index 6941d034b59355..ef1e73038d4713 100644 --- a/versions/n-/nvtt.json +++ b/versions/n-/nvtt.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "3da8e5721ec0b2c3a408e5708802209258ae8945", + "version": "2.1.2", + "port-version": 8 + }, + { + "git-tree": "9ae29094563f3fa57d20b378d8b3e1fa7fe7e168", + "version": "2.1.2", + "port-version": 7 + }, + { + "git-tree": "9dab908526770ce18285ce3713359ca5bdaf0999", + "version": "2.1.2", + "port-version": 6 + }, + { + "git-tree": "b1a685fa7402dce13182820ddd1dce2c6126b69f", + "version": "2.1.2", + "port-version": 5 + }, + { + "git-tree": "5889b2b68d1c3b13bf681c75e0b8347fff3d72fc", + "version": "2.1.2", + "port-version": 4 + }, + { + "git-tree": "e2db690561d6b3d44308bd53e0da9d3dc5794ea1", + "version": "2.1.2", + "port-version": 3 + }, { "git-tree": "80005bae9d45f506abd7b21dd09b246703381174", "version-string": "2.1.2", diff --git a/versions/n-/nyan-lang.json b/versions/n-/nyan-lang.json new file mode 100644 index 00000000000000..d686edb3f1c10c --- /dev/null +++ b/versions/n-/nyan-lang.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "63356577d6522c8d99dd8bb9214d9808f7f115b6", + "version": "0.3", + "port-version": 0 + } + ] +} diff --git a/versions/o-/oatpp-consul.json b/versions/o-/oatpp-consul.json index bb5c050900cd9d..917b44540afd96 100644 --- a/versions/o-/oatpp-consul.json +++ b/versions/o-/oatpp-consul.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "cbf60e5cb055ff29081126e61debb330651a24fd", + "version": "1.3.0", + "port-version": 1 + }, + { + "git-tree": "a7dbba8dd8a15ee5a573d8893af3755c2c61e082", + "version": "1.3.0", + "port-version": 0 + }, { "git-tree": "595495963d23d1c6b4c6c17d00ecd7c77482d3a2", "version": "1.2.5", diff --git a/versions/o-/oatpp-curl.json b/versions/o-/oatpp-curl.json index e74632da63c6a3..641eaf22ea4dc5 100644 --- a/versions/o-/oatpp-curl.json +++ b/versions/o-/oatpp-curl.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "ca3da373f9eca04129ab53c726e00678b7727a6e", + "version": "1.3.0", + "port-version": 1 + }, + { + "git-tree": "ae678502914406793d56adb1bffbede8febdfb77", + "version": "1.3.0", + "port-version": 0 + }, { "git-tree": "347efe19ad9ba33369ad147e83ac1c634cc63ca6", "version": "1.2.5", diff --git a/versions/o-/oatpp-libressl.json b/versions/o-/oatpp-libressl.json index 00953cf306ff76..b565bf764950e7 100644 --- a/versions/o-/oatpp-libressl.json +++ b/versions/o-/oatpp-libressl.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "c52fe5660b4e58aa5782ccd3a43e5298f4225fe1", + "version": "1.3.0", + "port-version": 1 + }, + { + "git-tree": "9a94780d515079c88f644ac92b35f935fff138b5", + "version": "1.3.0", + "port-version": 0 + }, { "git-tree": "e8b1d151bbd0338da87480893b466829b55ecc7a", "version": "1.2.5", diff --git a/versions/o-/oatpp-mbedtls.json b/versions/o-/oatpp-mbedtls.json index b438b0e99fd0ea..a44ac127f173ff 100644 --- a/versions/o-/oatpp-mbedtls.json +++ b/versions/o-/oatpp-mbedtls.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "6ca866a4d90106fc7608a2f0a67806263188b126", + "version": "1.3.0", + "port-version": 1 + }, + { + "git-tree": "f3ed8d7f9afd6d6e5010b136ac0a8b516532b41f", + "version": "1.3.0", + "port-version": 0 + }, { "git-tree": "9d453e8fdce152be19d4f0bda197adfdaeebb118", "version": "1.2.5", diff --git a/versions/o-/oatpp-mongo.json b/versions/o-/oatpp-mongo.json index 9888322aa55c0d..f649096047ba2c 100644 --- a/versions/o-/oatpp-mongo.json +++ b/versions/o-/oatpp-mongo.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "0e9c046ae1943591d58c8e48aee697a0e7718f8d", + "version": "1.3.0", + "port-version": 1 + }, + { + "git-tree": "bb2cca9b0d5255e9c250210b6da94b8383673530", + "version": "1.3.0", + "port-version": 0 + }, { "git-tree": "e6adcb5eb014357414879a0677983d6a7b4bc9db", "version": "1.2.5", diff --git a/versions/o-/oatpp-openssl.json b/versions/o-/oatpp-openssl.json index 80b4c28e447c60..b2c506111c0aef 100644 --- a/versions/o-/oatpp-openssl.json +++ b/versions/o-/oatpp-openssl.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "30adf601290c4dc9d8fd834701df6c3d84db7764", + "version-semver": "1.3.0", + "port-version": 0 + }, { "git-tree": "d127d675e359a2f4a430f49f9dab815dd7991bfb", "version-semver": "1.2.5", diff --git a/versions/o-/oatpp-postgresql.json b/versions/o-/oatpp-postgresql.json index b8b581480e76c6..bbf50cea9f88f3 100644 --- a/versions/o-/oatpp-postgresql.json +++ b/versions/o-/oatpp-postgresql.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "8d182a4a2fa22b5a9da9b16eca3a37d7bdb74b44", + "version": "1.3.0", + "port-version": 1 + }, + { + "git-tree": "f5475ec4475805e185290f9b6676cb0b3471d469", + "version": "1.3.0", + "port-version": 0 + }, { "git-tree": "f2cbdc4de3f10789d3b258636819bdec76f55850", "version": "1.2.5", diff --git a/versions/o-/oatpp-sqlite.json b/versions/o-/oatpp-sqlite.json index 3351a6163e37f0..cb55ebcdbc1e9e 100644 --- a/versions/o-/oatpp-sqlite.json +++ b/versions/o-/oatpp-sqlite.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "9bde9ba480ed1c17d74a09b924c849595f795b9c", + "version": "1.3.0", + "port-version": 2 + }, + { + "git-tree": "b28e241610e463b41e9c3e3f16f5805b19fb5fa5", + "version": "1.3.0", + "port-version": 1 + }, + { + "git-tree": "83864d8dac636388be925bc5228fb6067ff0c634", + "version": "1.3.0", + "port-version": 0 + }, { "git-tree": "998bc24ce7db8343441a34779f38d500edd5a2c8", "version": "1.2.5", diff --git a/versions/o-/oatpp-ssdp.json b/versions/o-/oatpp-ssdp.json new file mode 100644 index 00000000000000..342f0818c13509 --- /dev/null +++ b/versions/o-/oatpp-ssdp.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "7f3fb7a485473cfc812dbd4fbc93c291db75aeea", + "version": "1.3.0", + "port-version": 1 + }, + { + "git-tree": "37d034f06503445f5a4ac52a960f4360cb68ce58", + "version": "1.3.0", + "port-version": 0 + } + ] +} diff --git a/versions/o-/oatpp-swagger.json b/versions/o-/oatpp-swagger.json index 21161946e2e69d..32934ddf71e35f 100644 --- a/versions/o-/oatpp-swagger.json +++ b/versions/o-/oatpp-swagger.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "b8935367b57b4203e0eba828a6b8f9cc5ebb659c", + "version": "1.3.0", + "port-version": 1 + }, + { + "git-tree": "4f0bc8c1d3f156e6d2a7cee4691154c0973b12bd", + "version": "1.3.0", + "port-version": 0 + }, { "git-tree": "b1859f1a4fa6e90da2ed150098a07aa86189d681", "version": "1.2.5", diff --git a/versions/o-/oatpp-websocket.json b/versions/o-/oatpp-websocket.json index 69275f15b559db..53c7f919465b7a 100644 --- a/versions/o-/oatpp-websocket.json +++ b/versions/o-/oatpp-websocket.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "2bfe9a22be4776d9da6022b006d0adca20da7222", + "version": "1.3.0", + "port-version": 0 + }, { "git-tree": "e492744484bc660010ae5e038aaa5703abce53f5", "version": "1.2.5", diff --git a/versions/o-/oatpp-zlib.json b/versions/o-/oatpp-zlib.json index eb9d7b12633e4c..cf9a15841ee053 100644 --- a/versions/o-/oatpp-zlib.json +++ b/versions/o-/oatpp-zlib.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "d73da3c88835636ace280c7a29fa13fbcde0b2d8", + "version": "1.3.0", + "port-version": 2 + }, + { + "git-tree": "0f40812d2446d50d41add9deba46e0baa042ac53", + "version": "1.3.0", + "port-version": 1 + }, + { + "git-tree": "74e51d02fac6e71c8bad4856fc97767f8d3041ea", + "version": "1.3.0", + "port-version": 0 + }, { "git-tree": "9cbd1b70447175716f4415c18d4e66696c78ad80", "version": "1.2.5", diff --git a/versions/o-/oatpp.json b/versions/o-/oatpp.json index de4c162da955d9..ec85c0c1eac6f7 100644 --- a/versions/o-/oatpp.json +++ b/versions/o-/oatpp.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "36f425ca9c764945b824bfe5ff506fe09a5361d8", + "version": "1.3.0", + "port-version": 2 + }, + { + "git-tree": "f3700f7d93bbb8922878c25705d0e00cd7049066", + "version": "1.3.0", + "port-version": 1 + }, + { + "git-tree": "85f50043f867de15e428b3d0f8749a5aabc34e86", + "version": "1.3.0", + "port-version": 0 + }, { "git-tree": "f6f5d0cb4da86c170670f9d3947b5704ed213a5c", "version": "1.2.5", diff --git a/versions/o-/oboe.json b/versions/o-/oboe.json new file mode 100644 index 00000000000000..90d27946745bb2 --- /dev/null +++ b/versions/o-/oboe.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "844ba873a3df24fb50fcb6fc5deef22642dfccb1", + "version": "1.8.0", + "port-version": 0 + } + ] +} diff --git a/versions/o-/observer-ptr-lite.json b/versions/o-/observer-ptr-lite.json index 49d16f73d3390b..798e6706c80caa 100644 --- a/versions/o-/observer-ptr-lite.json +++ b/versions/o-/observer-ptr-lite.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "444c3b0a5c01cee300caac2c33b3cc738a2dc988", + "version": "0.4.0", + "port-version": 3 + }, + { + "git-tree": "c85545f2cf9bab22c6e35c60723c3cc594a6bd49", + "version-string": "0.4.0", + "port-version": 2 + }, { "git-tree": "b83218c276fe75db652651f2216faecc7aeb062e", "version-string": "0.4.0", diff --git a/versions/o-/ocilib.json b/versions/o-/ocilib.json index a5249e866d173b..5538b2cfb4a3fb 100644 --- a/versions/o-/ocilib.json +++ b/versions/o-/ocilib.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "8b2fb9dbc546b1b9853f48e5bd9ed971d791c730", + "version": "4.7.6", + "port-version": 0 + }, + { + "git-tree": "1e3f69c5100f621f5d80f87ae669626be2f88e59", + "version": "4.7.5", + "port-version": 3 + }, + { + "git-tree": "2e11027c9b427b4c46e47227da9ce270119f6ea1", + "version": "4.7.5", + "port-version": 2 + }, + { + "git-tree": "9a48c5a6650bc58fdea2fe06d75c3347d89e483a", + "version": "4.7.5", + "port-version": 1 + }, + { + "git-tree": "e77dfc3008f996ea2defcaf771f46d33d81a4470", + "version": "4.7.5", + "port-version": 0 + }, + { + "git-tree": "04a952ec38bbc46e3cfa6d5ee6ced8a5e9989e31", + "version": "4.7.3", + "port-version": 2 + }, + { + "git-tree": "76e672a75b678329bb9646c61e9f4bdba02aeedd", + "version": "4.7.3", + "port-version": 1 + }, { "git-tree": "cc328210424ed585e62cd1ec47b1a48b3a2174c2", "version": "4.7.3", diff --git a/versions/o-/octave.json b/versions/o-/octave.json new file mode 100644 index 00000000000000..e8f9f3ca031142 --- /dev/null +++ b/versions/o-/octave.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "50aea0f8c6c48fa888e1b8ef0bdd611ca14a375d", + "version": "9.2.0", + "port-version": 1 + }, + { + "git-tree": "6bb24fb39b584c5298f49de82807d011368c9eeb", + "version": "9.2.0", + "port-version": 0 + } + ] +} diff --git a/versions/o-/octomap.json b/versions/o-/octomap.json index 59c664cca449b2..9965fa87bf779d 100644 --- a/versions/o-/octomap.json +++ b/versions/o-/octomap.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "ff492e256718daa9fb2245c135959d6a812f938d", + "version": "1.10.0", + "port-version": 0 + }, + { + "git-tree": "18c703e99a9e7da9184b9ebcee3ddfa80d66502e", + "version": "1.9.8", + "port-version": 1 + }, + { + "git-tree": "d24dd4ca217fd0e4b7fcb86301556f96d8f8d0c7", + "version": "1.9.8", + "port-version": 0 + }, + { + "git-tree": "b778b0aef20fee697a18865995fff021501e8509", + "version": "1.9.6", + "port-version": 1 + }, + { + "git-tree": "b6146ecee8dcf9ba6573d11f26c1574e89c546d8", + "version": "1.9.6", + "port-version": 0 + }, { "git-tree": "7b192c5e8bc138bffe383afcadf8bc91a0130d58", "version-string": "1.9.5", diff --git a/versions/o-/ode.json b/versions/o-/ode.json index 696381184d9de7..9bed3f5b2236ed 100644 --- a/versions/o-/ode.json +++ b/versions/o-/ode.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "b60cdae64a19556bcadb82fbd1c15b99fd3b572b", + "version": "0.16.5", + "port-version": 0 + }, + { + "git-tree": "33843f7332287ffa6dab9f56ad9967f0a5afd061", + "version": "0.16.4", + "port-version": 1 + }, + { + "git-tree": "46b8d731d701f329ee4dd983ea196bddf1e32545", + "version": "0.16.4", + "port-version": 0 + }, + { + "git-tree": "a60eef1df499ade4a7442bd3caa8a7e684aedb72", + "version": "0.16.3", + "port-version": 1 + }, + { + "git-tree": "254c6b22b73ff9ce79f38f282f61cd85ca590128", + "version": "0.16.3", + "port-version": 0 + }, + { + "git-tree": "205b8fbadd2afe4fb17b6f161ead18ec7dd0e735", + "version": "0.16.1", + "port-version": 4 + }, + { + "git-tree": "8bc51447289df2b0693e433dace17ac0facbeba9", + "version": "0.16.1", + "port-version": 3 + }, { "git-tree": "6a0ed0d341666ec960fd7596bb2ac66737604cd3", "version-string": "0.16.1", diff --git a/versions/o-/ogdf.json b/versions/o-/ogdf.json index d7d605da07f9c5..5057eb79ac69f2 100644 --- a/versions/o-/ogdf.json +++ b/versions/o-/ogdf.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "59450d8dd4543482cace9a1a59ca8f46883e85b2", + "version-date": "2022-06-30", + "port-version": 0 + }, { "git-tree": "1a3d7f1e718f35843520add2d7e102b12586e401", "version-string": "2019-08-23", diff --git a/versions/o-/ogre-next.json b/versions/o-/ogre-next.json index 88181a1f30e37c..efc529f4a2a61f 100644 --- a/versions/o-/ogre-next.json +++ b/versions/o-/ogre-next.json @@ -1,5 +1,60 @@ { "versions": [ + { + "git-tree": "047ac9285440f0328e3bfc6e40946af616c585cd", + "version": "2.3.3", + "port-version": 3 + }, + { + "git-tree": "1563ee76136a49e438bd5229b68635ce8fdc347a", + "version": "2.3.3", + "port-version": 2 + }, + { + "git-tree": "92372bf7078f6e5f955072f35696788f09849b71", + "version": "2.3.3", + "port-version": 1 + }, + { + "git-tree": "ecf4c650a53fe5d7427f5fcb1e28302d42aad2c7", + "version": "2.3.3", + "port-version": 0 + }, + { + "git-tree": "e79346cd0f83209b8d6b14b8d486971918013ce9", + "version": "2.3.2", + "port-version": 0 + }, + { + "git-tree": "9005bf2b8f0d060493c44cd2c2f49d411faa2141", + "version": "2.3.1", + "port-version": 4 + }, + { + "git-tree": "c93cd3ebf7b2a50082e97f5f7a6f4ed1cf1f5c94", + "version": "2.3.1", + "port-version": 3 + }, + { + "git-tree": "0089cd2cc3d48d19a5b465f43454dfb0124f9723", + "version": "2.3.1", + "port-version": 2 + }, + { + "git-tree": "6af271c0d09d27f6cea912e0b3f81a310d3992be", + "version": "2.3.1", + "port-version": 1 + }, + { + "git-tree": "41790e82daaddc561ebaf5ea9f589bd2e148e31a", + "version": "2.3.1", + "port-version": 0 + }, + { + "git-tree": "0b1cca4f491d535e198fc79195bf357811b4122a", + "version": "2.3.0", + "port-version": 0 + }, { "git-tree": "8d2e2e06d0b21779df8bd6579387805dc06ca6ff", "version-string": "2019-10-20", diff --git a/versions/o-/ogre.json b/versions/o-/ogre.json index 5dd8f1b76d14f4..0bbdc61009cda8 100644 --- a/versions/o-/ogre.json +++ b/versions/o-/ogre.json @@ -1,5 +1,105 @@ { "versions": [ + { + "git-tree": "b2989c98ed5f7ed663d9c02094370304444d2492", + "version": "14.3.1", + "port-version": 0 + }, + { + "git-tree": "87e41445686dcd92906acdfdac00de49ef3dbfd0", + "version": "14.2.2", + "port-version": 1 + }, + { + "git-tree": "2b511cd10a4794ac25d7d8ca997697d25427e483", + "version": "14.2.2", + "port-version": 0 + }, + { + "git-tree": "a445b3c7be57d018422e139945ff622292cd5cff", + "version": "14.0.1", + "port-version": 2 + }, + { + "git-tree": "ba65238d3998c84df40961d63f7c254fbac7639d", + "version": "14.0.1", + "port-version": 1 + }, + { + "git-tree": "d244c75813c1f05a64a4a763166fa4f8e3e63eb0", + "version": "14.0.1", + "port-version": 0 + }, + { + "git-tree": "c8e30fd12c47569a6d5eb430db1393a1a5143686", + "version": "13.6.2", + "port-version": 3 + }, + { + "git-tree": "9a0701fa116eca04bd8a2446f6e44c732084857b", + "version": "13.6.2", + "port-version": 2 + }, + { + "git-tree": "b7ec525c0cd854d1da91a5a11cd05109693b9333", + "version": "13.6.2", + "port-version": 1 + }, + { + "git-tree": "dda1cee749cebb6fc251073a702e6a698fd4521e", + "version": "13.6.2", + "port-version": 0 + }, + { + "git-tree": "4bed97ab95dd048ac617ec0e0997e197b5de045d", + "version": "13.4.4", + "port-version": 4 + }, + { + "git-tree": "cb7b73eee4cc89ec59600a28f9418e406787b1a2", + "version": "13.4.4", + "port-version": 3 + }, + { + "git-tree": "2509b1b1c006fa19a60b9d4ec4dd2471af104f8d", + "version": "13.4.4", + "port-version": 2 + }, + { + "git-tree": "065b62dee8ef6dd907c606decc1afe0953c4ad15", + "version": "13.4.4", + "port-version": 1 + }, + { + "git-tree": "558eff8cc61b6d9a5638bf10e6e4ade7ad178ee7", + "version": "13.4.4", + "port-version": 0 + }, + { + "git-tree": "ea03f2d3fd45123a688cd9fb177bcb9bab30a795", + "version": "1.12.9", + "port-version": 10 + }, + { + "git-tree": "24ad8730cbc30e48c816ce6bca6abfb6cf1851fc", + "version": "1.12.9", + "port-version": 9 + }, + { + "git-tree": "6401a93991e8fe6fe517b43a084120ac94efccb9", + "version": "1.12.9", + "port-version": 8 + }, + { + "git-tree": "fd55a098294ab4f2f8b46bc67172e6a8be3c1df0", + "version": "1.12.9", + "port-version": 7 + }, + { + "git-tree": "64cee22caf52cb15e120895e0689281e8664f42a", + "version": "1.12.9", + "port-version": 6 + }, { "git-tree": "322b9a5290ce1656aa66b684b07d1e327b18eeeb", "version-string": "1.12.9", diff --git a/versions/o-/ois.json b/versions/o-/ois.json index d273f8c520a8f3..39d8df3b2b7240 100644 --- a/versions/o-/ois.json +++ b/versions/o-/ois.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "79d79b0c5901492572044ad873cdf4df864accea", + "version": "1.5.1", + "port-version": 1 + }, { "git-tree": "05dc4bcc0372eaa7b8a86f89a268c5ef0c69c5bf", "version": "1.5.1", diff --git a/versions/o-/omniorb.json b/versions/o-/omniorb.json new file mode 100644 index 00000000000000..73336039aecf16 --- /dev/null +++ b/versions/o-/omniorb.json @@ -0,0 +1,24 @@ +{ + "versions": [ + { + "git-tree": "37b1efea82d28e65a44105b54a592fafede78b94", + "version": "4.3.0", + "port-version": 3 + }, + { + "git-tree": "cca89d0b204e2a74c3e822ef7f8b4878886239d4", + "version": "4.3.0", + "port-version": 2 + }, + { + "git-tree": "a03b9df1f3ad5b4d5de0b3bc278af0ff52d06703", + "version": "4.3.0", + "port-version": 1 + }, + { + "git-tree": "51fa63a0e4615dd806fd5ac4cd532f81123ddd4d", + "version": "4.3.0", + "port-version": 0 + } + ] +} diff --git a/versions/o-/omniverse-physx-sdk.json b/versions/o-/omniverse-physx-sdk.json new file mode 100644 index 00000000000000..d2a2627269cb40 --- /dev/null +++ b/versions/o-/omniverse-physx-sdk.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "58beb4786b3ae288d6412d1ca9140c33ef1b2cb7", + "version": "5.2.1", + "port-version": 0 + }, + { + "git-tree": "b52f26ab4b10a8ff473da92959ba29ce9d297711", + "version": "5.1.3", + "port-version": 0 + } + ] +} diff --git a/versions/o-/ompl.json b/versions/o-/ompl.json index ac0df1cbe5e421..7f6683f142d2c1 100644 --- a/versions/o-/ompl.json +++ b/versions/o-/ompl.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "af59be72a074fcdfbfaf6500afca3442e0a2648b", + "version": "1.6.0", + "port-version": 2 + }, + { + "git-tree": "052eff04bde8b7a8eee0d49d4e017679a2d1aff2", + "version": "1.6.0", + "port-version": 1 + }, + { + "git-tree": "966ff2b855ecec90ee992450afab5d4ea6b2dd5d", + "version": "1.6.0", + "port-version": 0 + }, + { + "git-tree": "262729470ab00b469cfb9d63e196ebf4006d35cd", + "version": "1.5.1", + "port-version": 5 + }, + { + "git-tree": "cde8f8a96e5fc3c5764ca85632efa1b828868e26", + "version": "1.5.1", + "port-version": 4 + }, { "git-tree": "4385de7645c202d99bb25420d049f15cb54d9ed7", "version-string": "1.5.1", diff --git a/versions/o-/omplapp.json b/versions/o-/omplapp.json index 4b8de5c30ea046..4db9bce6067266 100644 --- a/versions/o-/omplapp.json +++ b/versions/o-/omplapp.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "8c7e3d29552841ecf363e9f222c6bc554be4b91e", + "version": "1.5.1", + "port-version": 5 + }, + { + "git-tree": "f3fba6a92711a359d5418b5568c973b69ff7fdda", + "version": "1.5.1", + "port-version": 4 + }, + { + "git-tree": "3f243c859f1597f18da61a472684c113e2ed150d", + "version": "1.5.1", + "port-version": 3 + }, + { + "git-tree": "f048abe6cf0219fa09fd9024188c54a3b5c289c3", + "version": "1.5.1", + "port-version": 2 + }, + { + "git-tree": "8860b6976a0c226039034eb0b59146708d27a635", + "version": "1.5.1", + "port-version": 1 + }, { "git-tree": "590eb9956381e7ef47b780fbd9aee2c6e8da323c", "version-string": "1.5.1", diff --git a/versions/o-/onednn.json b/versions/o-/onednn.json index 9a62af9fd4aee4..6c664f922b1513 100644 --- a/versions/o-/onednn.json +++ b/versions/o-/onednn.json @@ -1,5 +1,45 @@ { "versions": [ + { + "git-tree": "3f7e47f97bc658f31fef1558c67f80993cc41269", + "version": "3.5.3", + "port-version": 1 + }, + { + "git-tree": "95af2680791b8c27b837d21867822c2904dd3b7f", + "version": "3.5.3", + "port-version": 0 + }, + { + "git-tree": "91e1a442a3c942f03f91b3da19c07720a3d81b62", + "version": "3.4", + "port-version": 0 + }, + { + "git-tree": "77f9320fe4e3c1452838c1fd098239b0a4c8e4b4", + "version": "3.3", + "port-version": 0 + }, + { + "git-tree": "151a4ce15e279a44a305bc438e5beed45c7054b9", + "version": "3.1.1", + "port-version": 0 + }, + { + "git-tree": "8d9dad8bf4f6fa7eae90870c5c3aac1ec4346f40", + "version": "3.0.0", + "port-version": 0 + }, + { + "git-tree": "bfdcc802e353e844674f70e5a5d6c0726524d5c7", + "version-semver": "2.6.1", + "port-version": 0 + }, + { + "git-tree": "0ac578f6078a2120900435434f0df8c96d4a7a54", + "version-semver": "2.4.3", + "port-version": 1 + }, { "git-tree": "d2c75b6924fc7301f68d484674419fad3f076ca5", "version-semver": "2.4.3", diff --git a/versions/o-/oniguruma.json b/versions/o-/oniguruma.json index 32d80a4245e00e..d9c70cdeda044c 100644 --- a/versions/o-/oniguruma.json +++ b/versions/o-/oniguruma.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "40c77d00a3c02948a2c252bcb75fed36bcd1a0c5", + "version": "6.9.9", + "port-version": 0 + }, { "git-tree": "107a3e6619a149a76b52ef9c9f4dbb1b7343a456", "version": "6.9.7.1", diff --git a/versions/o-/onnx-optimizer.json b/versions/o-/onnx-optimizer.json index 3a6bc01dcb3945..21ff564b1714cc 100644 --- a/versions/o-/onnx-optimizer.json +++ b/versions/o-/onnx-optimizer.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "126bfc519dc0c50fc52ed0b19a0bd88663bae87f", + "version-semver": "0.3.19", + "port-version": 0 + }, + { + "git-tree": "e574f424edd5d2fd9ca36c5058f96163d9018725", + "version-semver": "0.3.18", + "port-version": 0 + }, + { + "git-tree": "0bc5be29ebb8c6a63883d7e76fab6c2613273384", + "version-semver": "0.3.17", + "port-version": 0 + }, { "git-tree": "e98d775d36ccb84c9ffa20e2cf6f8ef1b7ab0461", "version-semver": "0.2.6", diff --git a/versions/o-/onnx.json b/versions/o-/onnx.json index de8a62fc6f5682..5914427a3a7b4b 100644 --- a/versions/o-/onnx.json +++ b/versions/o-/onnx.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "57d8f77c2964232239ba10b3f2ebf16698486d9a", + "version-semver": "1.16.2", + "port-version": 0 + }, + { + "git-tree": "69ad297b15bb801f74d50be6e5d290eab7573be4", + "version-semver": "1.15.0", + "port-version": 1 + }, + { + "git-tree": "c143b899cbe396d82182568746203a3375fc23df", + "version-semver": "1.15.0", + "port-version": 0 + }, + { + "git-tree": "1937b77767085a7447df95efbe366e1d098a9b53", + "version-semver": "1.14.0", + "port-version": 0 + }, + { + "git-tree": "9b31a613878d713e6573b82752f4aa6b78e71820", + "version-semver": "1.13.1", + "port-version": 0 + }, + { + "git-tree": "62ee0b78332273115540d669065a467314aace3a", + "version-semver": "1.10.2", + "port-version": 1 + }, { "git-tree": "a83605bd84787898f92ada1bf1874e162a441c10", "version-semver": "1.10.2", diff --git a/versions/o-/onnxruntime-gpu.json b/versions/o-/onnxruntime-gpu.json index 2b98c4448a0480..25ff2e6d6e0543 100644 --- a/versions/o-/onnxruntime-gpu.json +++ b/versions/o-/onnxruntime-gpu.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "e9ce6c51894e80beece7446b501ef2263578ad29", + "version": "1.19.2", + "port-version": 0 + }, + { + "git-tree": "77632d67293cb70293c7fd22a3897e48c6efabe4", + "version": "1.16.3", + "port-version": 0 + }, + { + "git-tree": "3836c30f0e39aa6c9f9a9dbfa8f146e3ae5e97cf", + "version": "1.15.1", + "port-version": 0 + }, + { + "git-tree": "7b91d7cf9e629be0d5581c85e8520a1850d0bf2a", + "version": "1.14.1", + "port-version": 1 + }, + { + "git-tree": "74bcaaeb54e99b6aee5e6c7560e6fa9935bcbf28", + "version": "1.14.1", + "port-version": 0 + }, + { + "git-tree": "c5e4f24f9b3441c5860d6c891e95251ba69193d1", + "version": "1.12.1", + "port-version": 0 + }, + { + "git-tree": "9741bef63d2b0c74277568da67ab7aa1ab50c51b", + "version": "1.5.1", + "port-version": 1 + }, { "git-tree": "36273dd148753f754c51a4835aeb29bf5aa1556e", "version-string": "1.5.1", diff --git a/versions/o-/oof.json b/versions/o-/oof.json new file mode 100644 index 00000000000000..26e8c09a03c3fc --- /dev/null +++ b/versions/o-/oof.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "6d9ef9753008d97f5a6db6aec4ca935787baf344", + "version-date": "2021-11-23", + "port-version": 0 + } + ] +} diff --git a/versions/o-/open-dis-cpp.json b/versions/o-/open-dis-cpp.json new file mode 100644 index 00000000000000..5b06df9c2c1af7 --- /dev/null +++ b/versions/o-/open-dis-cpp.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "044f953e62d00086021c231face998ce58ad2b05", + "version": "1.0.1", + "port-version": 0 + } + ] +} diff --git a/versions/o-/open62541.json b/versions/o-/open62541.json index 1edf75bb727c5e..8e38861291749f 100644 --- a/versions/o-/open62541.json +++ b/versions/o-/open62541.json @@ -1,5 +1,70 @@ { "versions": [ + { + "git-tree": "59654f8355cc95fcb5bbce553890c918356495ab", + "version": "1.3.14", + "port-version": 1 + }, + { + "git-tree": "d4ec58974dd7eff8520638db5919283992c43cbe", + "version": "1.3.14", + "port-version": 0 + }, + { + "git-tree": "137d010e9b441e0297332a9673d1a76b58a862b2", + "version": "1.3.12", + "port-version": 0 + }, + { + "git-tree": "bedb658fa6b1d3391dd610294780fb65176be639", + "version": "1.3.10", + "port-version": 0 + }, + { + "git-tree": "2cab251773b17791187e59d83a27ec09d344a49c", + "version": "1.3.9", + "port-version": 0 + }, + { + "git-tree": "6bfbedbf2007596294583ab894f5481d754991f2", + "version": "1.3.8", + "port-version": 2 + }, + { + "git-tree": "66034a6a77c3169eba0a175a4b67fe2ad3eab48b", + "version": "1.3.8", + "port-version": 1 + }, + { + "git-tree": "a50cf77d055c6249b2568880f61fb72b8f916d62", + "version": "1.3.8", + "port-version": 0 + }, + { + "git-tree": "3f1e010d847419f3f68439f1ad1d76df9b118f26", + "version": "1.3.5", + "port-version": 1 + }, + { + "git-tree": "e7412d5c63f5b77eb06f485b7fb89bb718b2f712", + "version": "1.3.5", + "port-version": 0 + }, + { + "git-tree": "78181e46126a93ba6bbea749a985ba675fb53c03", + "version": "1.2.3", + "port-version": 1 + }, + { + "git-tree": "7a42ce1cf8d2a5f4380a4dcc2807a0d86962d49d", + "version": "1.2.3", + "port-version": 0 + }, + { + "git-tree": "62aab840d7f987d8ca2ad5b9d81111a0b6f93dfd", + "version": "1.2.2", + "port-version": 1 + }, { "git-tree": "e9f30c2699c8919f074676b99f79358ef1f0a059", "version": "1.2.2", diff --git a/versions/o-/open62541pp.json b/versions/o-/open62541pp.json new file mode 100644 index 00000000000000..fe0edc474c5e6b --- /dev/null +++ b/versions/o-/open62541pp.json @@ -0,0 +1,29 @@ +{ + "versions": [ + { + "git-tree": "26d25efab98d36cdd9a4ea57b354093afd9c0d49", + "version": "0.15.0", + "port-version": 0 + }, + { + "git-tree": "3bf73b7f5ee15972b21e10adcea7c97e9544827c", + "version": "0.14.0", + "port-version": 0 + }, + { + "git-tree": "ec958a6215e6f08519e24ece87789a9e5ff5e276", + "version": "0.13.0", + "port-version": 0 + }, + { + "git-tree": "2923db9f93aa0d81cb6c2f9bc11f1f8dee713e4f", + "version": "0.12.0", + "port-version": 0 + }, + { + "git-tree": "28d7aa666af8c2b3db214bb936678fc5bd1798cf", + "version": "0.11.0", + "port-version": 0 + } + ] +} diff --git a/versions/o-/openal-soft.json b/versions/o-/openal-soft.json index fe1afc014d0049..73f83e569eb855 100644 --- a/versions/o-/openal-soft.json +++ b/versions/o-/openal-soft.json @@ -1,5 +1,80 @@ { "versions": [ + { + "git-tree": "f6ba0a57ee95816ceac7fc3b882bdcc6029591cb", + "version": "1.23.1", + "port-version": 2 + }, + { + "git-tree": "8000875d5dc94ae2b77e940befb113655efd55c1", + "version": "1.23.1", + "port-version": 1 + }, + { + "git-tree": "d23d6573247830bd439e418fe0e31321de778d85", + "version": "1.23.1", + "port-version": 0 + }, + { + "git-tree": "98c0f637759df2df98bf090cb115ad19cc2fdc06", + "version": "1.23.0", + "port-version": 2 + }, + { + "git-tree": "2179403cae57a853e75e3d30363750c39e370bc6", + "version": "1.23.0", + "port-version": 1 + }, + { + "git-tree": "3c25d8ead902160593b570f4696cf2eba2d86511", + "version": "1.23.0", + "port-version": 0 + }, + { + "git-tree": "971382f7c68a055694a35b455deab6384e8cfb25", + "version-semver": "1.22.2", + "port-version": 5 + }, + { + "git-tree": "8f028dc8de3d983f0844c0b586c1b6ddfad5d899", + "version-semver": "1.22.2", + "port-version": 4 + }, + { + "git-tree": "a0e8008cd2061bcaeaf0ed725438edae4386aac1", + "version-semver": "1.22.2", + "port-version": 3 + }, + { + "git-tree": "a964545a6c1ea12eb653de3d4739431ddf1cce85", + "version-semver": "1.22.2", + "port-version": 2 + }, + { + "git-tree": "2a5b37e3c3d9cd16ebbcdaddcce6cb7249aa21ec", + "version-semver": "1.22.2", + "port-version": 1 + }, + { + "git-tree": "49395645807a6b8d7948d03474fbfa6c467be314", + "version-semver": "1.22.2", + "port-version": 0 + }, + { + "git-tree": "c3fd33b48248cdb7d2139e14d5ad324d122db4b3", + "version-semver": "1.22.0", + "port-version": 0 + }, + { + "git-tree": "cff63a457841bcacd168775e25794f8245d06cf0", + "version-semver": "1.21.1", + "port-version": 5 + }, + { + "git-tree": "a1dee3171a9184c0a13631fda79f6aa58d2b80b6", + "version-semver": "1.21.1", + "port-version": 4 + }, { "git-tree": "b6672158f9eda4512b07d89ba193c51ef2802641", "version-semver": "1.21.1", diff --git a/versions/o-/openblas.json b/versions/o-/openblas.json index b7a541443a7f5e..4baac016623924 100644 --- a/versions/o-/openblas.json +++ b/versions/o-/openblas.json @@ -1,5 +1,95 @@ { "versions": [ + { + "git-tree": "0ea117557042e4d6a0ee7659828c44938e322ee3", + "version": "0.3.28", + "port-version": 0 + }, + { + "git-tree": "a11cdf69c9d9071c73f8d88458aa8b09c597d695", + "version": "0.3.27", + "port-version": 1 + }, + { + "git-tree": "653ab9ede4c3c8b556b5d1b8b7d98d6abab8ef9d", + "version": "0.3.27", + "port-version": 0 + }, + { + "git-tree": "f97eabf45b244d0c7cc374e23b818627fc82ffae", + "version": "0.3.26", + "port-version": 3 + }, + { + "git-tree": "e4543de7cb4becef05c5da248b647730031bd0c1", + "version": "0.3.26", + "port-version": 2 + }, + { + "git-tree": "162536c889250c48f1c0aaa8c7cae66806f467b3", + "version": "0.3.26", + "port-version": 1 + }, + { + "git-tree": "3fde0f066aa319941b8f352596f28a92f099b2f5", + "version": "0.3.26", + "port-version": 0 + }, + { + "git-tree": "4c2a355bc21475a2a4a69f6a3c227f54efc5c425", + "version": "0.3.25", + "port-version": 0 + }, + { + "git-tree": "c876665c0fa5b8d427ee9cadd4185a1a08d008da", + "version": "0.3.24", + "port-version": 0 + }, + { + "git-tree": "d701021ccf4a0729f77788b2d90da377bfdd1486", + "version": "0.3.23", + "port-version": 1 + }, + { + "git-tree": "716c00140c032ec22773130b006af542e011f00e", + "version": "0.3.23", + "port-version": 0 + }, + { + "git-tree": "ad5694adc46ca2974329e57896d0097e80d65c7d", + "version": "0.3.21", + "port-version": 2 + }, + { + "git-tree": "86949dd1db1c79ae88f2354225c4363e7200ad66", + "version": "0.3.21", + "port-version": 1 + }, + { + "git-tree": "17b5c709377ee3e375a3b6b165ac9acb9752c3f6", + "version": "0.3.21", + "port-version": 0 + }, + { + "git-tree": "abd8d8b0d0286d963399d79e3e8b6f7f8e12117b", + "version": "0.3.20", + "port-version": 0 + }, + { + "git-tree": "90e2cde7fda025b587d6c41e699c98c263cf41eb", + "version": "0.3.19", + "port-version": 1 + }, + { + "git-tree": "631541b0dcf2ea300f96829885d9bc0282d38a65", + "version": "0.3.19", + "port-version": 0 + }, + { + "git-tree": "048ae3833af8e5633ce86c3174e20c2794fe573d", + "version": "0.3.15", + "port-version": 1 + }, { "git-tree": "2a214e1bac47c70d932caef7d74771c8658b1f7a", "version": "0.3.15", diff --git a/versions/o-/opencascade.json b/versions/o-/opencascade.json index 4c4df69f2ad2e3..d9aeccc8142d18 100644 --- a/versions/o-/opencascade.json +++ b/versions/o-/opencascade.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "9395dfd0da8336f969336e3b21d46088867ab1d0", + "version": "7.8.1", + "port-version": 1 + }, + { + "git-tree": "3788e11facf70c485e7f3efa240a082c99b3c1b1", + "version": "7.8.1", + "port-version": 0 + }, + { + "git-tree": "b53f4c5f2a5e1b878488d7076761faf6284bfc32", + "version": "7.8.0", + "port-version": 0 + }, + { + "git-tree": "cff97ecb51449af3dc81c849ba7ceb36eedd4917", + "version": "7.7.2", + "port-version": 3 + }, + { + "git-tree": "2b1d21c510a4aa414a64ac5e2e46fa0767ff76b1", + "version": "7.7.2", + "port-version": 2 + }, + { + "git-tree": "8e9c9fb982bef129111ea811c3948ffd570a16dc", + "version": "7.7.2", + "port-version": 1 + }, + { + "git-tree": "5eb5e2e8cacf7653315ee887ad2d19e0e5ab5d7f", + "version": "7.7.2", + "port-version": 0 + }, + { + "git-tree": "23b7ba4d766b45ff9e93dae282a3f8e461a57dcc", + "version": "7.6.2", + "port-version": 7 + }, + { + "git-tree": "3a62400394101d54a0bea8a45ac0c1f68cf27b68", + "version": "7.6.2", + "port-version": 6 + }, + { + "git-tree": "c368cdc0775dea309e247518b3931795487cb5f0", + "version": "7.6.2", + "port-version": 5 + }, + { + "git-tree": "935cc481bbce6ae22ed3257376f0a3edb198d3e2", + "version": "7.6.2", + "port-version": 4 + }, + { + "git-tree": "3bf7c68565ee022f685f20eb18bb2e38cfdffb17", + "version": "7.6.2", + "port-version": 3 + }, + { + "git-tree": "58939d51b0f33a014e48f1d7100ab8888d068c2d", + "version": "7.6.2", + "port-version": 2 + }, + { + "git-tree": "137097588b2328c3d7f66c4f0e46e6e4fe1559cf", + "version": "7.6.2", + "port-version": 1 + }, + { + "git-tree": "6dd7a80ecf7e8183ebfd1e25fc64351e47f9eed0", + "version": "7.6.2", + "port-version": 0 + }, + { + "git-tree": "0b043af5fd55a990d23a36523c82b005422ba75c", + "version": "7.6.0", + "port-version": 1 + }, { "git-tree": "a1f9f32c2e0778573a20d4b59fda9be37cf6134d", "version": "7.6.0", diff --git a/versions/o-/opencc.json b/versions/o-/opencc.json index f4b6768bfa4a18..f87b1ead862791 100644 --- a/versions/o-/opencc.json +++ b/versions/o-/opencc.json @@ -1,5 +1,45 @@ { "versions": [ + { + "git-tree": "e6bdb1f36889a641312f0f0dc91e8be0d800dcd5", + "version": "1.1.9", + "port-version": 0 + }, + { + "git-tree": "85a9b30209f5cd7460d2be2c8e1cc206fab66aaa", + "version": "1.1.6", + "port-version": 1 + }, + { + "git-tree": "246c0e831df06a5235e750d5af71b7cd9b2cc904", + "version": "1.1.6", + "port-version": 0 + }, + { + "git-tree": "463a25b4f9bfe6a259042a54cdd813ae7f96f4c9", + "version": "1.1.4", + "port-version": 3 + }, + { + "git-tree": "2339a48f2758995166b42d82c9eb22c880190ac3", + "version": "1.1.4", + "port-version": 2 + }, + { + "git-tree": "bfa36e95a55659eb27edc3ba561b3c06b202ff76", + "version": "1.1.4", + "port-version": 1 + }, + { + "git-tree": "9c886059bbc8c7c14a7d7290b22e2036c3ff8fe6", + "version": "1.1.4", + "port-version": 0 + }, + { + "git-tree": "10bc4f21926d1c116227ba57e954c4f8a6c9e999", + "version-date": "2020-04-26", + "port-version": 10 + }, { "git-tree": "b7f1756b470f31ae2da4a2d65eb5c409d4798b8e", "version-string": "2020-04-26", diff --git a/versions/o-/opencensus-cpp.json b/versions/o-/opencensus-cpp.json index 5954c8bfee1795..f36008d7a25f30 100644 --- a/versions/o-/opencensus-cpp.json +++ b/versions/o-/opencensus-cpp.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "12e85bfcbf3ecda837c873e30ca6e872e3a5fa89", + "version-date": "2021-08-26", + "port-version": 2 + }, + { + "git-tree": "043d8a451b507daa585a8a716cf297421912d3d4", + "version-date": "2021-08-26", + "port-version": 1 + }, + { + "git-tree": "1e0e908de8a31c22d295c1ad069e87ab2eb964b7", + "version-date": "2021-08-26", + "port-version": 0 + }, { "git-tree": "cd8e1133cda88028a939ad52bd047894959fc9fd", "version-string": "0.4.0", diff --git a/versions/o-/opencl.json b/versions/o-/opencl.json index 51e3609b1e3958..813233162c963c 100644 --- a/versions/o-/opencl.json +++ b/versions/o-/opencl.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "37ee1974a90da69c3cf4536bab58bf7b5a208a47", + "version-string": "v2024.05.08", + "port-version": 0 + }, + { + "git-tree": "4e224177099db3e6f391e33fc250d7a8699d60b9", + "version-string": "v2023.02.06", + "port-version": 3 + }, + { + "git-tree": "c55e82e4ec70906ec28b692d2625584025de4725", + "version-string": "v2023.02.06", + "port-version": 2 + }, + { + "git-tree": "d206a1716a411eb9862c98d65ab3552def0c6492", + "version-string": "v2023.02.06", + "port-version": 1 + }, + { + "git-tree": "2bdf9379777f48897786b5a69d395325c0eb4aec", + "version-string": "v2023.02.06", + "port-version": 0 + }, + { + "git-tree": "6deb90df8f43de66c9ff5f5c71f2aa0fdc0c015c", + "version-string": "v2022.09.30", + "port-version": 0 + }, { "git-tree": "f0d58793b575b614e5832f803d5e679b64e991a9", "version-string": "2.2", diff --git a/versions/o-/opencolorio.json b/versions/o-/opencolorio.json index 36c009a1b21dc2..390f7b4e8ee7a0 100644 --- a/versions/o-/opencolorio.json +++ b/versions/o-/opencolorio.json @@ -1,5 +1,50 @@ { "versions": [ + { + "git-tree": "a0aa2a7240cc442c0e7b7144a8c253bac21330e5", + "version-semver": "2.2.1", + "port-version": 3 + }, + { + "git-tree": "07ef1b1be3450c82b92fa80f767cc04555fe88b4", + "version-semver": "2.2.1", + "port-version": 2 + }, + { + "git-tree": "661b43b1d2c452e40476bbb64bb6e68dfc437c7b", + "version-semver": "2.2.1", + "port-version": 1 + }, + { + "git-tree": "d5c69dc2c181e658e67ba57e3836a548c469477a", + "version-semver": "2.2.1", + "port-version": 0 + }, + { + "git-tree": "80e8a46f8c1c2cd748834cd225edbe127a489d5a", + "version-semver": "2.1.1", + "port-version": 2 + }, + { + "git-tree": "c68079d3d055b028af29997748784c7fa8457f7c", + "version-semver": "2.1.1", + "port-version": 1 + }, + { + "git-tree": "5027649e2b69070030097c754018913b6ae0d8b0", + "version-semver": "2.1.1", + "port-version": 0 + }, + { + "git-tree": "5b4c12d0a01185796534d2925a87fe3b874f1b91", + "version-semver": "2.1.0", + "port-version": 2 + }, + { + "git-tree": "512f32dd15d09dbb73d83b778898c99bf0697aa2", + "version-semver": "2.1.0", + "port-version": 1 + }, { "git-tree": "9781e9cd638610cdb11ed9968c7c1ccb1d198e79", "version-semver": "2.1.0", diff --git a/versions/o-/opencsg.json b/versions/o-/opencsg.json index def1e3736bc638..2880a8bf323537 100644 --- a/versions/o-/opencsg.json +++ b/versions/o-/opencsg.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "6979934362ae4a808ccef45ee20545d7422c8e0f", + "version": "1.6.0", + "port-version": 0 + }, + { + "git-tree": "48c6aea4f747325a26bec13cf9a93f94c21f4fd2", + "version": "1.4.2", + "port-version": 4 + }, + { + "git-tree": "05f30c495ec6a79342b90446b3ecfe63c5f0edde", + "version-string": "1.4.2", + "port-version": 3 + }, { "git-tree": "fd3c126ac4b2377c60b3c005cd873825ca28f062", "version-string": "1.4.2", diff --git a/versions/o-/openctm.json b/versions/o-/openctm.json new file mode 100644 index 00000000000000..22d7ae8211ed2a --- /dev/null +++ b/versions/o-/openctm.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "ea30144a8ad57cb95b0603de14e4dc8e9f7b2ea2", + "version": "1.0.3", + "port-version": 0 + } + ] +} diff --git a/versions/o-/opencv.json b/versions/o-/opencv.json index c648300620d9ec..8c04bfe368bffa 100644 --- a/versions/o-/opencv.json +++ b/versions/o-/opencv.json @@ -1,5 +1,60 @@ { "versions": [ + { + "git-tree": "9d9cbb0bf2f2f7c07006342621932ce4928cb8e6", + "version": "4.10.0", + "port-version": 0 + }, + { + "git-tree": "be681746481dc0fb9c03863f988388ba6dc4a642", + "version": "4.9.0", + "port-version": 0 + }, + { + "git-tree": "bc3a2d25b8cca6c318cdd710381ca152b18ae3cd", + "version": "4.8.0", + "port-version": 1 + }, + { + "git-tree": "50df5c317df5af01b65a405e31a86e9a7ceead1c", + "version": "4.8.0", + "port-version": 0 + }, + { + "git-tree": "7c13270745cf85fc4146cd4f21ee4f71eb2ca7e1", + "version": "4.7.0", + "port-version": 1 + }, + { + "git-tree": "562bbf3bc1027e73456d71a10020ba984eec0eb1", + "version": "4.7.0", + "port-version": 0 + }, + { + "git-tree": "135db832c720c800e2ac222994aa216df7575d17", + "version": "4.6.0", + "port-version": 0 + }, + { + "git-tree": "1ed18903421ae513e731348b2e5afb13c8c38d24", + "version": "4.5.5", + "port-version": 1 + }, + { + "git-tree": "afe6b1b5c7be14be0656724754f95e537416c763", + "version": "4.5.5", + "port-version": 0 + }, + { + "git-tree": "c120b015f37bc79900712d64e8ca612d71be22cc", + "version": "4.5.4", + "port-version": 1 + }, + { + "git-tree": "7aaa340439ab4742d8e328a1069cd0923eba1072", + "version": "4.5.4", + "port-version": 0 + }, { "git-tree": "5b13218917e1efe74e37b28a13cfc8cc7572241e", "version": "4.5.3", diff --git a/versions/o-/opencv2.json b/versions/o-/opencv2.json index 4edfbc549a7903..7561d5ea762971 100644 --- a/versions/o-/opencv2.json +++ b/versions/o-/opencv2.json @@ -1,5 +1,80 @@ { "versions": [ + { + "git-tree": "185c7b075159f3fae48b84163c487c6bfcd56c5a", + "version": "2.4.13.7", + "port-version": 22 + }, + { + "git-tree": "5e1c99f5f3fe591f1d87befd960c994dab246dcc", + "version": "2.4.13.7", + "port-version": 21 + }, + { + "git-tree": "eeae7529ebecd4243c28c1d18f4c926f928687c5", + "version": "2.4.13.7", + "port-version": 20 + }, + { + "git-tree": "7a4e55d470b2cff8fddb4f6f44ab15b4b5c0f603", + "version": "2.4.13.7", + "port-version": 19 + }, + { + "git-tree": "246c2e39fa6e117cbea4548446b7f66909de3329", + "version": "2.4.13.7", + "port-version": 18 + }, + { + "git-tree": "0a9a6ab1907e36f372e3b379dcd1ddc7cfd96980", + "version": "2.4.13.7", + "port-version": 17 + }, + { + "git-tree": "27ef38b20b5788492a6a27370160f435b7d71502", + "version": "2.4.13.7", + "port-version": 16 + }, + { + "git-tree": "2c74bb03ea3451c670c4ec82b3a1acda11baeaf6", + "version": "2.4.13.7", + "port-version": 15 + }, + { + "git-tree": "5161f9b494cb04f39503980cdca10bdac6e7ee53", + "version": "2.4.13.7", + "port-version": 14 + }, + { + "git-tree": "5dad4c606f120b7d208ec193036596bd82074e81", + "version": "2.4.13.7", + "port-version": 13 + }, + { + "git-tree": "65f3aff976c42b2759e70867fa006287ff1be835", + "version": "2.4.13.7", + "port-version": 12 + }, + { + "git-tree": "d90ae2125e2fa18011bd9defe7a651d110113b76", + "version": "2.4.13.7", + "port-version": 11 + }, + { + "git-tree": "04d0949582f825d8a93c13fe0be0acbe8183073b", + "version": "2.4.13.7", + "port-version": 10 + }, + { + "git-tree": "e02e468ae088086be3b3579366e0bc4c3c8be6cc", + "version": "2.4.13.7", + "port-version": 9 + }, + { + "git-tree": "e2c00be603dbf06283820dc2b2f6c04a77728a5f", + "version": "2.4.13.7", + "port-version": 8 + }, { "git-tree": "d6ccb4fb79829bcf58dd79950529d7086d6b277c", "version": "2.4.13.7", diff --git a/versions/o-/opencv3.json b/versions/o-/opencv3.json index 835620406cd5b5..d69536d196889c 100644 --- a/versions/o-/opencv3.json +++ b/versions/o-/opencv3.json @@ -1,5 +1,145 @@ { "versions": [ + { + "git-tree": "765074f2c99fa397d0192c539c0b087b1bef717d", + "version": "3.4.18", + "port-version": 17 + }, + { + "git-tree": "77a77ff352a1fa7d9271ea206e706929bfd2faff", + "version": "3.4.18", + "port-version": 16 + }, + { + "git-tree": "5d13125fc5a48e77592a3d66b8716012d79425ca", + "version": "3.4.18", + "port-version": 15 + }, + { + "git-tree": "428eb72814a9f6a7e14f067829e1b35a189012f0", + "version": "3.4.18", + "port-version": 14 + }, + { + "git-tree": "577dd8933e58290664f4290476069978692ed4f2", + "version": "3.4.18", + "port-version": 13 + }, + { + "git-tree": "f5ee69ffa1b6c98a28fc805afffaeb799b4d22a8", + "version": "3.4.18", + "port-version": 12 + }, + { + "git-tree": "8eca838beb277535a53756ceb5da17aa8b5050a8", + "version": "3.4.18", + "port-version": 11 + }, + { + "git-tree": "b66d5bf3d61ae3bd5e71952b7642658d8562ae5d", + "version": "3.4.18", + "port-version": 10 + }, + { + "git-tree": "402e9aac0f32db08e2d69f70ba6384f8c7bf4733", + "version": "3.4.18", + "port-version": 9 + }, + { + "git-tree": "e026bd638aec52f279cbf10d7e75a0f6ca03feb6", + "version": "3.4.18", + "port-version": 8 + }, + { + "git-tree": "e28602bbfb118017bb2bf45795e0bfd9900af4dc", + "version": "3.4.18", + "port-version": 7 + }, + { + "git-tree": "2b9cff1ffb1822e359c63e291e1377af4b831c09", + "version": "3.4.18", + "port-version": 6 + }, + { + "git-tree": "876eb437a419de1c4b052aa706aff9c4fea5210c", + "version": "3.4.18", + "port-version": 5 + }, + { + "git-tree": "9ba33f70606fe9df685c72eae8884204f582d9af", + "version": "3.4.18", + "port-version": 4 + }, + { + "git-tree": "ab8ee26d1e4a0a937e516efdc21d4e2cf784f278", + "version": "3.4.18", + "port-version": 3 + }, + { + "git-tree": "ab004823dbf456854654e2e0851be69ee4e5c5c5", + "version": "3.4.18", + "port-version": 2 + }, + { + "git-tree": "6f45f46b8a492b795cce92786a3d2048ef24ef38", + "version": "3.4.18", + "port-version": 1 + }, + { + "git-tree": "15c9083efa4c00674bef4fbca443a662fe6dd5cd", + "version": "3.4.18", + "port-version": 0 + }, + { + "git-tree": "8d02d89d9531e2243b81f37f97a9be943fd6b0a0", + "version": "3.4.16", + "port-version": 9 + }, + { + "git-tree": "d8a8b60a98ada175921aadcd09ed66509c9be2a4", + "version": "3.4.16", + "port-version": 8 + }, + { + "git-tree": "d3c28cb4da2e7da9d31cc72415aff26f0b4d8442", + "version": "3.4.16", + "port-version": 7 + }, + { + "git-tree": "65bade77414d264741d23ce93401c1bc08718e86", + "version": "3.4.16", + "port-version": 6 + }, + { + "git-tree": "55064c574fa80aef66dd85a330f669ba7ad402e9", + "version": "3.4.16", + "port-version": 5 + }, + { + "git-tree": "7060d481bf3045fdd24aa8ef0d83cf2db3b13a50", + "version": "3.4.16", + "port-version": 4 + }, + { + "git-tree": "76d605b750c5535590489574dc24fa30ffe249f8", + "version": "3.4.16", + "port-version": 3 + }, + { + "git-tree": "a11dd583ecb7212732fedb0ab3e3308ea84f10d9", + "version": "3.4.16", + "port-version": 2 + }, + { + "git-tree": "0bf28e1704eae1d6f24b98fe884b27c71db798a7", + "version": "3.4.16", + "port-version": 1 + }, + { + "git-tree": "e55e479a0240978c0d0dee3cb79619e93b3825a3", + "version": "3.4.16", + "port-version": 0 + }, { "git-tree": "dee8e4cb055e92ed1708903f73dcca96b0793fe5", "version": "3.4.15", @@ -41,7 +181,7 @@ "port-version": 0 }, { - "git-tree": "859d6618f0ff394cc940ede79ada4bff1b7655dc", + "git-tree": "ffd8270ed4798f25f3bd882a6089c72e86803466", "version": "3.4.12", "port-version": 1 }, diff --git a/versions/o-/opencv4.json b/versions/o-/opencv4.json index 8c909b6e4ab342..16e5c8c791dbd7 100644 --- a/versions/o-/opencv4.json +++ b/versions/o-/opencv4.json @@ -1,5 +1,290 @@ { "versions": [ + { + "git-tree": "89c7baedc6a4590a76c9a04cfe65b5a23c53800c", + "version": "4.10.0", + "port-version": 0 + }, + { + "git-tree": "c02907180d6ea45984d37d41a6850ac5f76a34d6", + "version": "4.9.0", + "port-version": 1 + }, + { + "git-tree": "a0a4d7ac5a52dae02f263a00b3ad2d9da536c2e1", + "version": "4.9.0", + "port-version": 0 + }, + { + "git-tree": "f1c14acfbb673af2479af39dd8424c8f151752ad", + "version": "4.8.0", + "port-version": 22 + }, + { + "git-tree": "946d30019e6bcb9e6043c4b18a9dbe1b719694af", + "version": "4.8.0", + "port-version": 21 + }, + { + "git-tree": "8dd122a2581222cac0021f986a37159ad5db5949", + "version": "4.8.0", + "port-version": 20 + }, + { + "git-tree": "85685a5e45ef916a21769da98c8346462ef179d0", + "version": "4.8.0", + "port-version": 19 + }, + { + "git-tree": "b69ea5e7ef839490d21d1ef5aed614d19d54e203", + "version": "4.8.0", + "port-version": 18 + }, + { + "git-tree": "d68d1ecd932982ed7ee0cb98d557ef1d52ee9016", + "version": "4.8.0", + "port-version": 17 + }, + { + "git-tree": "1818e44260c19a5524d75c66fd51af9d5857df6d", + "version": "4.8.0", + "port-version": 16 + }, + { + "git-tree": "ec4e040d476cee60b2fc21a1f847d30905ac9726", + "version": "4.8.0", + "port-version": 15 + }, + { + "git-tree": "852583d8f7a5bb15998efad9c0305a8ce686e59b", + "version": "4.8.0", + "port-version": 14 + }, + { + "git-tree": "757561dc37010d966ad90a8a1f7d2942e9286154", + "version": "4.8.0", + "port-version": 13 + }, + { + "git-tree": "c3d46b66df37511cf7b49ceffe96f5ff62acf6ea", + "version": "4.8.0", + "port-version": 12 + }, + { + "git-tree": "9d3433d44aaf404378dff91625448de76738a95f", + "version": "4.8.0", + "port-version": 11 + }, + { + "git-tree": "83f4fcf20bc429d1a01edb9fdf423ef78d18c9b6", + "version": "4.8.0", + "port-version": 10 + }, + { + "git-tree": "7ed8c48a9b2be5df262ccbcfa876f5314f429c10", + "version": "4.8.0", + "port-version": 9 + }, + { + "git-tree": "48c97b54fceaef9a96d374693f47e3ea91383f3c", + "version": "4.8.0", + "port-version": 8 + }, + { + "git-tree": "ef78c1958b122045e9d1e353150049431b3162fa", + "version": "4.8.0", + "port-version": 7 + }, + { + "git-tree": "6a1280a0a3854032ba4ae9172b509ce46f81795f", + "version": "4.8.0", + "port-version": 6 + }, + { + "git-tree": "6deec5bdb97d4d3a667aa10e31698ce54abdc9a7", + "version": "4.8.0", + "port-version": 5 + }, + { + "git-tree": "0d0ef2f6aa4911ca1cf367093c0b6a89cea97fe3", + "version": "4.8.0", + "port-version": 4 + }, + { + "git-tree": "d22421d8b63a7e2221f91520e9dcfcce1ca7bb48", + "version": "4.8.0", + "port-version": 3 + }, + { + "git-tree": "89d6da3b45b7e1667bdc3083f9641e57ad4930a9", + "version": "4.8.0", + "port-version": 2 + }, + { + "git-tree": "78f4556a682ebb41e2ff3f26090ef51cafe5a66c", + "version": "4.8.0", + "port-version": 1 + }, + { + "git-tree": "0bae188d52a71f441df28b25278e5506502dfd03", + "version": "4.8.0", + "port-version": 0 + }, + { + "git-tree": "d435a87c7a3f4dd38d623503d5200abe65c249d1", + "version": "4.7.0", + "port-version": 6 + }, + { + "git-tree": "0c3c175e672cc3a6f0d1465adba8a40a042ff717", + "version": "4.7.0", + "port-version": 5 + }, + { + "git-tree": "99e88adacfd87e496dddba403025e0fdd3b336b7", + "version": "4.7.0", + "port-version": 4 + }, + { + "git-tree": "ca4b616630bef409960661592549086539a7e28e", + "version": "4.7.0", + "port-version": 3 + }, + { + "git-tree": "6a62c7557d02936ea929e86836f324d09c787de5", + "version": "4.7.0", + "port-version": 2 + }, + { + "git-tree": "677670190cbd9471967b6670cfeffa3507fb158c", + "version": "4.7.0", + "port-version": 1 + }, + { + "git-tree": "59d3985dfc44ac8279bb474e81f314aa29faf9b6", + "version": "4.7.0", + "port-version": 0 + }, + { + "git-tree": "4ddfc66a3d38c96fbe831242cdd1148d54cbca87", + "version": "4.6.0", + "port-version": 10 + }, + { + "git-tree": "3fcb51fbbc3605e41bcdbd0ea0acd6233127b49b", + "version": "4.6.0", + "port-version": 9 + }, + { + "git-tree": "3ba183524c95cc3abfd86ecfaa1892dab4b89326", + "version": "4.6.0", + "port-version": 8 + }, + { + "git-tree": "f8f6d4451f824e2247a7e33c3f092cd836eb336b", + "version": "4.6.0", + "port-version": 7 + }, + { + "git-tree": "9961bbcc88c934054f6137f3417bbd9cccf478d4", + "version": "4.6.0", + "port-version": 6 + }, + { + "git-tree": "fdfecadf1577e25595f58dbe2d6c26bd2cb99296", + "version": "4.6.0", + "port-version": 5 + }, + { + "git-tree": "970c048b2d380fe84e110c02a99dc099f8b877d0", + "version": "4.6.0", + "port-version": 4 + }, + { + "git-tree": "18c563d48f8245b3d1e0879ecdc6c37097a89b3c", + "version": "4.6.0", + "port-version": 3 + }, + { + "git-tree": "57554ec83d4e4667344f005a1f61be8164cbf58a", + "version": "4.6.0", + "port-version": 2 + }, + { + "git-tree": "a6c9bded8fc4ad22bea6869caecf2881c8da2d41", + "version": "4.6.0", + "port-version": 1 + }, + { + "git-tree": "1ff543272c91a32d242ad5320e9ca63b29b34ed2", + "version": "4.6.0", + "port-version": 0 + }, + { + "git-tree": "8e165720af85f0da853cf0a4ac9eb5cb20804d13", + "version": "4.5.5", + "port-version": 7 + }, + { + "git-tree": "c929f4a1c447240d07e17d0f105b4a36e3d6b5ce", + "version": "4.5.5", + "port-version": 6 + }, + { + "git-tree": "26f2ba4a582c93442e82167dece932c3833a2124", + "version": "4.5.5", + "port-version": 5 + }, + { + "git-tree": "86073388865f7730e42d02768f8963156f2be82f", + "version": "4.5.5", + "port-version": 4 + }, + { + "git-tree": "0771f6243ddde63a9b212efeb5ad51a74b640a62", + "version": "4.5.5", + "port-version": 3 + }, + { + "git-tree": "90f4418431aa3ddcdbd34c33d5e654cda5cda26a", + "version": "4.5.5", + "port-version": 2 + }, + { + "git-tree": "dcdd746ffc69d5f3234b67ee17fdd54966c8f5cb", + "version": "4.5.5", + "port-version": 1 + }, + { + "git-tree": "afed148d21295bf99e8ac657fdb808ed82467871", + "version": "4.5.5", + "port-version": 0 + }, + { + "git-tree": "ce474a40e6572ced8dd1229f22f6cbed9cc74212", + "version": "4.5.4", + "port-version": 4 + }, + { + "git-tree": "b170a087d34521462cd247a24f230627a272975e", + "version": "4.5.4", + "port-version": 3 + }, + { + "git-tree": "537abba5a070d173cf42510f86ff4ffe057dd77f", + "version": "4.5.4", + "port-version": 2 + }, + { + "git-tree": "6a5d8c17cfd9a4e3caa7acf4625876fec8880fe2", + "version": "4.5.4", + "port-version": 1 + }, + { + "git-tree": "35b4405de16e9116ce1e698827c2254a0b02b963", + "version": "4.5.4", + "port-version": 0 + }, { "git-tree": "d48f3aabd1d417854360efb92874f3b533f83966", "version": "4.5.3", @@ -41,7 +326,7 @@ "port-version": 0 }, { - "git-tree": "ba164060f8a9e69ccc4c484a24b5e8085d20b3bd", + "git-tree": "a0522dbbb44877b9d4618bfe31a376e07e49bc72", "version": "4.5.0", "port-version": 1 }, diff --git a/versions/o-/opendnp3.json b/versions/o-/opendnp3.json index 58a6e13589bea1..4eac48822822ef 100644 --- a/versions/o-/opendnp3.json +++ b/versions/o-/opendnp3.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "e9315f4a8ad7564c1fc8b81c4a9f4c7b0305c0b3", + "version": "3.1.1", + "port-version": 1 + }, + { + "git-tree": "bf6ee46efb76af8f7f317fabfb24358fd82312de", + "version": "3.1.1", + "port-version": 0 + }, { "git-tree": "3659f9f4ee54aa9d6d51ef3cd42f256c28c7c73e", "version-string": "3.1.0", diff --git a/versions/o-/openexr.json b/versions/o-/openexr.json index 06c0f7620ddc41..802f5a24c50ca9 100644 --- a/versions/o-/openexr.json +++ b/versions/o-/openexr.json @@ -1,5 +1,65 @@ { "versions": [ + { + "git-tree": "9ab34082f7f52c635b1b003367190f0e3c58966f", + "version": "3.3.1", + "port-version": 0 + }, + { + "git-tree": "e923ca0019af5626449e2712f054c608a3198ecc", + "version": "3.2.4", + "port-version": 0 + }, + { + "git-tree": "99e1e8599b1c2601a39f94b511b623ac51878793", + "version": "3.2.3", + "port-version": 1 + }, + { + "git-tree": "ccd582f25f0177e879cd408487d541865569dd3a", + "version": "3.2.3", + "port-version": 0 + }, + { + "git-tree": "c3823a9121b31308e654b79c1be1dd2d3f195f4c", + "version": "3.1.8", + "port-version": 1 + }, + { + "git-tree": "36064f5fe46f2399a9a532fdb6d7542dae7faede", + "version": "3.1.8", + "port-version": 0 + }, + { + "git-tree": "5bf66027763e861e804aee6113c5afc8bb0e1e7e", + "version": "3.1.7", + "port-version": 0 + }, + { + "git-tree": "1bdfd5d68efb96110d15fb1244b7413f1a5edcfe", + "version": "3.1.5", + "port-version": 1 + }, + { + "git-tree": "1426fa9af15b03db5bacc50dcdd4569da1c18bde", + "version": "3.1.5", + "port-version": 0 + }, + { + "git-tree": "447c9eae823d9570dfc549995efba4f623ddaae2", + "version": "2.5.8", + "port-version": 1 + }, + { + "git-tree": "1c4594196b46cfaa3d93cd5aff01060acab0ba9f", + "version": "2.5.8", + "port-version": 0 + }, + { + "git-tree": "40df682add8b267e718dac8ea78a2bcb47006048", + "version-string": "2.5.0", + "port-version": 4 + }, { "git-tree": "7589d3f1641e6e63450303e424d966221375109f", "version-string": "2.5.0", diff --git a/versions/o-/openfbx.json b/versions/o-/openfbx.json new file mode 100644 index 00000000000000..f7d6d395529574 --- /dev/null +++ b/versions/o-/openfbx.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "2ef566bee77c87c4efa26b8c9905e1fb26117f95", + "version-date": "2022-07-18", + "port-version": 0 + } + ] +} diff --git a/versions/o-/openfx.json b/versions/o-/openfx.json new file mode 100644 index 00000000000000..87d2c95a2817cc --- /dev/null +++ b/versions/o-/openfx.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "9bfae0126edf500cbdcb8592715c9bd176b79bfb", + "version": "1.4", + "port-version": 0 + } + ] +} diff --git a/versions/o-/opengl-registry.json b/versions/o-/opengl-registry.json index 8ce7ce57fcd99d..7a16418c541a51 100644 --- a/versions/o-/opengl-registry.json +++ b/versions/o-/opengl-registry.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "22f7aa58ee78c9f0db904b6251e9265f2be26f9d", + "version-date": "2024-02-10", + "port-version": 1 + }, + { + "git-tree": "367e1502c966f1df0656bdea115989650d01a781", + "version-date": "2022-09-29", + "port-version": 1 + }, + { + "git-tree": "3456b7358048ad983b423973eca86e19d7939bd4", + "version-date": "2022-09-29", + "port-version": 0 + }, + { + "git-tree": "7f4a1e05a6cfbd923a2eaf9d32da22bde0742a15", + "version-date": "2021-11-17", + "port-version": 0 + }, { "git-tree": "d14f0786a99a87d5d429ba257674fb55e93ccae6", "version-string": "2020-03-25", diff --git a/versions/o-/opengl.json b/versions/o-/opengl.json index 687d48943c8cf0..27cf08751b3945 100644 --- a/versions/o-/opengl.json +++ b/versions/o-/opengl.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "c3ae71738f88449ebcd781cef60d9a253fa091d4", + "version-date": "2022-12-04", + "port-version": 3 + }, + { + "git-tree": "23351e9e47639fa099352a258530b4c70dbc3ad5", + "version-date": "2022-12-04", + "port-version": 2 + }, + { + "git-tree": "33c32aa5adc82e67aa6c03d9302010b706a1f872", + "version-date": "2022-12-04", + "port-version": 1 + }, + { + "git-tree": "653ce2ed9ecbcce0b51a78f4663031ee78332beb", + "version-date": "2022-12-04", + "port-version": 0 + }, + { + "git-tree": "ea1726ace2d45bcfda85af4b7ef80c579bbbccca", + "version-date": "2022-10-08", + "port-version": 0 + }, + { + "git-tree": "1c402a05f67513fe35a8991b8865db4db6181ec7", + "version-date": "2022-03-14", + "port-version": 1 + }, + { + "git-tree": "6778094e7a9e5027545a46af473d27ce28890c53", + "version-date": "2022-03-14", + "port-version": 0 + }, { "git-tree": "9fa8ed2a1fb625613a32ee95d2413dbc921860f7", "version-string": "0.0", diff --git a/versions/o-/openh264.json b/versions/o-/openh264.json index 301ffd6c562b56..3c3176dfecffe7 100644 --- a/versions/o-/openh264.json +++ b/versions/o-/openh264.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "34faf5afdf562b2dff8472e4101d3a01f51d3372", + "version-date": "2021-03-16", + "port-version": 4 + }, + { + "git-tree": "de70ba65ce87de6c9e2c53797d560e42bf6771ea", + "version-date": "2021-03-16", + "port-version": 3 + }, { "git-tree": "dd110373e4afc53e6ea5b43b9f940fda9204c72c", "version-date": "2021-03-16", diff --git a/versions/o-/openigtlink.json b/versions/o-/openigtlink.json index cc11c722782799..313fab899cbf4b 100644 --- a/versions/o-/openigtlink.json +++ b/versions/o-/openigtlink.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "519e18eaedd0beb68be3be8cd58f0877e3c40107", + "version": "3.0", + "port-version": 4 + }, + { + "git-tree": "b6ceb757ce8cc6ee189d7d2adb5df6b3cc0da87d", + "version-string": "3.0", + "port-version": 3 + }, { "git-tree": "9f384eebd3c8103ad8b23aed6cda655217f091fd", "version-string": "3.0", diff --git a/versions/o-/openimageio.json b/versions/o-/openimageio.json index bfe2c174b14e2f..7a908fde5e40b1 100644 --- a/versions/o-/openimageio.json +++ b/versions/o-/openimageio.json @@ -1,5 +1,170 @@ { "versions": [ + { + "git-tree": "d9bbe547fec5d39df8a0ac27a2e66b4ba4f2f598", + "version": "2.5.16.0", + "port-version": 1 + }, + { + "git-tree": "80b1b56e35349c234510ff58abf197eb9cad7a3c", + "version": "2.5.16.0", + "port-version": 0 + }, + { + "git-tree": "59dd4d494969cad63902ddaeca3dad341b918fd0", + "version": "2.5.14.0", + "port-version": 1 + }, + { + "git-tree": "7ffa8987ec86923ad9e385a26b22730ad020f79d", + "version": "2.5.14.0", + "port-version": 0 + }, + { + "git-tree": "e0caa7c7cee2cc24b441cc7dba90b8b183a757b0", + "version": "2.5.12.0", + "port-version": 2 + }, + { + "git-tree": "ce78ee5a41eda148167cad88a553e111b40d4840", + "version": "2.5.12.0", + "port-version": 1 + }, + { + "git-tree": "8722c349a4a0df02d8003750f58868305250eddb", + "version": "2.5.12.0", + "port-version": 0 + }, + { + "git-tree": "b54572017873ad251d97b8dcf08e4aca246e0878", + "version": "2.5.8.0", + "port-version": 3 + }, + { + "git-tree": "574b313e28f87f2312a4cee4ab5f71e03bdf781f", + "version": "2.5.8.0", + "port-version": 2 + }, + { + "git-tree": "16578d434e24f9e9bc2e4f47eb81314b503777c9", + "version": "2.5.8.0", + "port-version": 1 + }, + { + "git-tree": "c5dd8fe433ee655c7368c063d01eac043f9d0553", + "version": "2.5.8.0", + "port-version": 0 + }, + { + "git-tree": "76cadb5ec79b57f840f2dae9dc39501b027f6a9f", + "version": "2.4.14.0", + "port-version": 3 + }, + { + "git-tree": "fed3a9ba9a7731e30376ded1d6bdaba3e41b1ec6", + "version": "2.4.14.0", + "port-version": 2 + }, + { + "git-tree": "c74249169c46dbedf60590f672fb709294ffc7c6", + "version": "2.4.14.0", + "port-version": 1 + }, + { + "git-tree": "965f6cf8bde18cb53a219f9b61b5099105b7fd2f", + "version": "2.4.14.0", + "port-version": 0 + }, + { + "git-tree": "1d6d564f1848ae68ece423fa0597c8a5fe6c9d5d", + "version": "2.4.13.0", + "port-version": 0 + }, + { + "git-tree": "7c06030b088b87143ff7a85c23af606bbd967496", + "version": "2.4.11.1", + "port-version": 0 + }, + { + "git-tree": "34493d776df3b1fee4ba5e01c882d1237a135362", + "version": "2.4.9.0", + "port-version": 1 + }, + { + "git-tree": "82fe27ff1713dd3f0fbaaa7399257fc4d56cf1b0", + "version": "2.4.9.0", + "port-version": 0 + }, + { + "git-tree": "44d1afa89f2a7914db623aec8f29f6eb27d676f3", + "version": "2.4.5.0", + "port-version": 6 + }, + { + "git-tree": "18125d8c18cd384804b12c5839331a6312c3ba6f", + "version": "2.4.5.0", + "port-version": 5 + }, + { + "git-tree": "3c8df049a8e7b1c3e48006e78c4f5a9d451860a0", + "version": "2.4.5.0", + "port-version": 4 + }, + { + "git-tree": "d89c769d1b813eadd08173e4e9d18049ac8c1d23", + "version": "2.4.5.0", + "port-version": 3 + }, + { + "git-tree": "f9959dd6e10f7f11261c50108d4399f29d21883a", + "version": "2.4.5.0", + "port-version": 2 + }, + { + "git-tree": "ecd81b1df58bf0fb628ad86bfde7522e36a602e4", + "version": "2.4.5.0", + "port-version": 1 + }, + { + "git-tree": "74ab484049a78fea2929dc9afc4ae5a6b9b2dd45", + "version": "2.4.5.0", + "port-version": 0 + }, + { + "git-tree": "4317b62fd8bf1e11d9da42132ecfdf1ccb03a8af", + "version": "2.3.17.0", + "port-version": 4 + }, + { + "git-tree": "4c60e9a4adf07bdd6ff8bf766f295af17d8a0818", + "version": "2.3.10.1", + "port-version": 4 + }, + { + "git-tree": "2fa8debd832d46f5ad96798be8a335b8a251c2ca", + "version": "2.3.10.1", + "port-version": 3 + }, + { + "git-tree": "a52afa5ed0495b47dd1c123d975746fdfa0b3459", + "version": "2.3.10.1", + "port-version": 2 + }, + { + "git-tree": "00b94623cc9528075483e57034da95bb356c6848", + "version": "2.3.10.1", + "port-version": 1 + }, + { + "git-tree": "f5a6955a1595a5d3ea429059d9be4ddedc8e7cab", + "version": "2.3.10.1", + "port-version": 0 + }, + { + "git-tree": "f9b44bac4dcc0735f5efc3e8f0d439790b7efbd0", + "version": "2.3.7.2", + "port-version": 5 + }, { "git-tree": "8b1ce552e00d88857ad35695435b353caf9ad4c2", "version": "2.3.7.2", diff --git a/versions/o-/openjpeg.json b/versions/o-/openjpeg.json index d85518d381dfcc..2eac2e8e02f521 100644 --- a/versions/o-/openjpeg.json +++ b/versions/o-/openjpeg.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "1b99f9bb2f9f35e4bb3c6c83ff08e06a930ce72a", + "version": "2.5.2", + "port-version": 1 + }, + { + "git-tree": "68d405b7aadd66ab3c955bcb8832dae786d3ccee", + "version": "2.5.2", + "port-version": 0 + }, + { + "git-tree": "608f895171abcfb72dd690a0f7121d265d0904b5", + "version": "2.5.0", + "port-version": 1 + }, + { + "git-tree": "3451436f9bb5f5ad8946b45868929488fe2c39dd", + "version": "2.5.0", + "port-version": 0 + }, { "git-tree": "ffb3c981c0026662feded28db73c177a739773d2", "version-semver": "2.4.0", diff --git a/versions/o-/openldap.json b/versions/o-/openldap.json new file mode 100644 index 00000000000000..aadeca1c2d22bd --- /dev/null +++ b/versions/o-/openldap.json @@ -0,0 +1,29 @@ +{ + "versions": [ + { + "git-tree": "9863e8742d129ddc3f95382d56eae14c5bd5e551", + "version": "2.5.18", + "port-version": 0 + }, + { + "git-tree": "80cca47d69b1cae28a2e63250b07e6d0db126917", + "version": "2.5.17", + "port-version": 1 + }, + { + "git-tree": "feb109108e4779365dfc208d784f7fabe09f1f04", + "version": "2.5.17", + "port-version": 0 + }, + { + "git-tree": "0e20086782fc80cf2c6571a54237e86d0cadf84e", + "version": "2.5.13", + "port-version": 1 + }, + { + "git-tree": "63f4c67d336142daba83711983e54a8954794331", + "version": "2.5.13", + "port-version": 0 + } + ] +} diff --git a/versions/o-/openmama.json b/versions/o-/openmama.json index e34e2add3a2a8a..dd9543a4e048d5 100644 --- a/versions/o-/openmama.json +++ b/versions/o-/openmama.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "f6db41ddb8cabc06e9df68962e43d64b7e1ab7b7", + "version-semver": "6.3.2", + "port-version": 3 + }, + { + "git-tree": "e1a0265c65af044c234b3724715e089272679d40", + "version-semver": "6.3.2", + "port-version": 2 + }, + { + "git-tree": "0a928ad97fe18f50da889c2e468f5070d1c4e4b6", + "version-semver": "6.3.2", + "port-version": 1 + }, + { + "git-tree": "a385a51389791fdee1a47efdcfec5fffa7c4cbd3", + "version-semver": "6.3.2", + "port-version": 0 + }, + { + "git-tree": "e5f4f2e62bf5825132077e6abf19b99014a91755", + "version-semver": "6.3.1", + "port-version": 2 + }, { "git-tree": "74e126369c9ba45cf7105e1b72871738acd24de5", "version-semver": "6.3.1", diff --git a/versions/o-/openmesh.json b/versions/o-/openmesh.json index 065503d588615d..ebb2825e3df700 100644 --- a/versions/o-/openmesh.json +++ b/versions/o-/openmesh.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "bea5d6796009e8156570bbfae1c9fb60d86d7286", + "version": "10.0", + "port-version": 0 + }, + { + "git-tree": "8228f40bfdd38a2049f284b9a1d0b6e58ce86c57", + "version": "9.0", + "port-version": 2 + }, + { + "git-tree": "8df48dff71b98687732978a2fa7a44083d6c9cd3", + "version": "9.0", + "port-version": 1 + }, + { + "git-tree": "9f2b60dff004d2b426dc0872066f651f2db6f55e", + "version": "9.0", + "port-version": 0 + }, { "git-tree": "27929cc382c7b9cba46891aeed71e44fc5e2c31a", "version-string": "8.1", diff --git a/versions/o-/openmpi.json b/versions/o-/openmpi.json index e98a3395b42593..62d6743008619e 100644 --- a/versions/o-/openmpi.json +++ b/versions/o-/openmpi.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "a63c7aeb8e42d6ebdac726767ec7a0ba46ddf86f", + "version": "4.1.6", + "port-version": 1 + }, + { + "git-tree": "a35bc145d32795f1a71cbe596de040805c3af780", + "version": "4.1.6", + "port-version": 0 + }, + { + "git-tree": "0958d31a6843d3961c39fb6d459543d9be852bad", + "version": "4.1.3", + "port-version": 2 + }, + { + "git-tree": "c24d22620b08b5839cf13480633e6a736fb5a038", + "version": "4.1.3", + "port-version": 1 + }, + { + "git-tree": "bcbf51e64ac3e140af58a4279f34fb0e096b27e7", + "version": "4.1.3", + "port-version": 0 + }, + { + "git-tree": "96a3a8cd636443eaf50648e749ff144cb65ad851", + "version": "4.1.0", + "port-version": 4 + }, { "git-tree": "5d701c1350d6cb8e4380f829460e8287b0e2f6cc", "version": "4.1.0", diff --git a/versions/o-/openmvg.json b/versions/o-/openmvg.json index 1731c064e518f9..cc9941057f932b 100644 --- a/versions/o-/openmvg.json +++ b/versions/o-/openmvg.json @@ -1,5 +1,65 @@ { "versions": [ + { + "git-tree": "e08aec4337f9a281817b2c84d04fee5a079551d8", + "version": "2.0", + "port-version": 11 + }, + { + "git-tree": "55f106dfa39d38867f5cf8ce976cc2079ab65454", + "version": "2.0", + "port-version": 10 + }, + { + "git-tree": "6ddaa3bedcc57eb498c9e180bb8546a2726a1ddc", + "version": "2.0", + "port-version": 9 + }, + { + "git-tree": "3712d684593f777107e58a37bf601083a6351738", + "version": "2.0", + "port-version": 8 + }, + { + "git-tree": "58d0c2b4b7785f8ace8ff861d5e45ef40619dcc6", + "version": "2.0", + "port-version": 7 + }, + { + "git-tree": "5c54c4aa02d2a668bd3d97a1b2a9d412efe284d3", + "version": "2.0", + "port-version": 6 + }, + { + "git-tree": "884daf253c53c86a780f1a75907d0c0f28e352de", + "version": "2.0", + "port-version": 5 + }, + { + "git-tree": "7a97e175386e994ff24a45911a373450d17fe516", + "version": "2.0", + "port-version": 4 + }, + { + "git-tree": "f32be4f15d0babca5ba5a6e02b78f4610ab6d2f4", + "version": "2.0", + "port-version": 3 + }, + { + "git-tree": "894793611702efbc0abc44768002cdd12f73557a", + "version": "2.0", + "port-version": 2 + }, + { + "git-tree": "eea9187e35c87676d442453e6942a47417d7c2dd", + "version": "2.0", + "port-version": 1 + }, + { + "git-tree": "08113de9c7bc1b9201be4c3a01c1c3e5a1cf5acd", + "version": "2.0", + "port-version": 0 + }, { "git-tree": "6f3087d8d002d7f226e77427ce363e2b20371485", "version": "1.6", diff --git a/versions/o-/openmvs.json b/versions/o-/openmvs.json index 228825212966c4..7562e06260a7e5 100644 --- a/versions/o-/openmvs.json +++ b/versions/o-/openmvs.json @@ -1,5 +1,50 @@ { "versions": [ + { + "git-tree": "369a7d4c69c78fa832f60105f1a132860eff111a", + "version": "2.1.0", + "port-version": 6 + }, + { + "git-tree": "43075275b943fe5d74faef9ae858c8e8ed5a5735", + "version": "2.1.0", + "port-version": 5 + }, + { + "git-tree": "e6f7599f84f4b26667f18c785883c8c341886e18", + "version": "2.1.0", + "port-version": 4 + }, + { + "git-tree": "14cc4ac41f5710b5281e06697ac6e6cd7800377f", + "version": "2.1.0", + "port-version": 3 + }, + { + "git-tree": "8779bcf1acd942b029c79791b2335b252e151f20", + "version": "2.1.0", + "port-version": 2 + }, + { + "git-tree": "93c2bb0fd968757d60afa8ce2de0d456a3ae5cc0", + "version": "2.1.0", + "port-version": 1 + }, + { + "git-tree": "fbeb86b69f146df9049966d4e58117f38e166257", + "version": "2.1.0", + "port-version": 0 + }, + { + "git-tree": "bf082c0deb661743df2e3c5f658224ccd6375919", + "version": "2.0.1", + "port-version": 0 + }, + { + "git-tree": "b6123f8755c140325b2800c51c6c68e3fb51c668", + "version": "1.1.1", + "port-version": 3 + }, { "git-tree": "a66ad18d59e5ffdd21f5bc1cae0b195ba35aba18", "version": "1.1.1", diff --git a/versions/o-/openni2.json b/versions/o-/openni2.json index 45f539ce40cf66..60ca5f01a8cb4d 100644 --- a/versions/o-/openni2.json +++ b/versions/o-/openni2.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "5713db6efa79dd4b37af0ac38ed516f807d30db0", + "version": "2.2.0.33", + "port-version": 15 + }, + { + "git-tree": "31c61be8515cff93cca9a905969a8292023f0b4e", + "version": "2.2.0.33", + "port-version": 14 + }, { "git-tree": "b99fb68dafe4b930248e5ba4d39a7a2c4a4fc9ea", "version-string": "2.2.0.33", diff --git a/versions/o-/openscap.json b/versions/o-/openscap.json index 7a5ee2f30ed460..eca964c1379058 100644 --- a/versions/o-/openscap.json +++ b/versions/o-/openscap.json @@ -1,5 +1,50 @@ { "versions": [ + { + "git-tree": "fdb8954725485a8b874a7947b02a4af8a4eed468", + "version": "1.4.0", + "port-version": 1 + }, + { + "git-tree": "854ccfd3c08afae1dbf963c9c18b5cea7c5f4ae5", + "version": "1.4.0", + "port-version": 0 + }, + { + "git-tree": "82c5fa2487fc5377950c5ad49bf9a3902cea36fd", + "version": "1.3.7", + "port-version": 3 + }, + { + "git-tree": "5317006070f414abe07df69cea20ee7a7ebfc1d4", + "version": "1.3.7", + "port-version": 2 + }, + { + "git-tree": "da537eeaaeb13c275a44fac02d7262875e5c29f4", + "version": "1.3.7", + "port-version": 1 + }, + { + "git-tree": "453f57565bf1882caf7355c14c079725153cd844", + "version": "1.3.7", + "port-version": 0 + }, + { + "git-tree": "e19b3163cda0978696c4a2b6fc6db92800051398", + "version": "1.3.1", + "port-version": 4 + }, + { + "git-tree": "6f96365cae0ee049b58b5863a0d59ca32782a9fa", + "version": "1.3.1", + "port-version": 3 + }, + { + "git-tree": "cbc6ed45cdfd68efd53ee939bed2440e2971730f", + "version": "1.3.1", + "port-version": 2 + }, { "git-tree": "ecbc2e72085ae6324948b52314de3b7e701376a5", "version-string": "1.3.1", diff --git a/versions/o-/openslide.json b/versions/o-/openslide.json new file mode 100644 index 00000000000000..4e606e65718e7e --- /dev/null +++ b/versions/o-/openslide.json @@ -0,0 +1,29 @@ +{ + "versions": [ + { + "git-tree": "9c57142b6c317efaaf3a4adf36e5f608f342585e", + "version": "3.4.1", + "port-version": 4 + }, + { + "git-tree": "3693e3b54096deebd97f8a71e91636d88941637a", + "version": "3.4.1", + "port-version": 3 + }, + { + "git-tree": "dafb9bb4d2ad8dc07570e45c4f5a4794ca016778", + "version": "3.4.1", + "port-version": 2 + }, + { + "git-tree": "ff177e74dacffe2a12dec525304bac97b7f67a9f", + "version": "3.4.1", + "port-version": 1 + }, + { + "git-tree": "e709084d5ff53f55afd332eac4b43ed9bf79e199", + "version": "3.4.1", + "port-version": 0 + } + ] +} diff --git a/versions/o-/openssl-unix.json b/versions/o-/openssl-unix.json index 069de9f8e6da30..dd56a17e72d606 100644 --- a/versions/o-/openssl-unix.json +++ b/versions/o-/openssl-unix.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "a974b962f0ceb2af70639e1a9dcf08ff690d49f8", + "version-string": "deprecated", + "port-version": 0 + }, { "git-tree": "6084ac3842ee1641284254bffc3f01706a372eac", "version-string": "1.1.1h", diff --git a/versions/o-/openssl-uwp.json b/versions/o-/openssl-uwp.json index 787aa974c749a8..ca65c0cde616e6 100644 --- a/versions/o-/openssl-uwp.json +++ b/versions/o-/openssl-uwp.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "312a6b6d7401200193aaeb960a678b85085c777d", + "version-string": "deprecated", + "port-version": 0 + }, { "git-tree": "1a51fbd29a373e9c57ed233d581112359109a234", "version-string": "1.1.1h", diff --git a/versions/o-/openssl-windows.json b/versions/o-/openssl-windows.json index f2f14a2201fca3..67022fa7cde55f 100644 --- a/versions/o-/openssl-windows.json +++ b/versions/o-/openssl-windows.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "dc90f49befe5f19295f8004024d3830a5f571195", + "version-string": "deprecated", + "port-version": 0 + }, { "git-tree": "8a169239b58831cf291de837dc26a357585136d9", "version-string": "1.1.1h", diff --git a/versions/o-/openssl.json b/versions/o-/openssl.json index 2fb7de83e05a32..bc69fea55830d1 100644 --- a/versions/o-/openssl.json +++ b/versions/o-/openssl.json @@ -1,5 +1,270 @@ { "versions": [ + { + "git-tree": "ce504a83eb9627d54f1cffdb497a6bf5bd970d18", + "version": "3.4.0", + "port-version": 0 + }, + { + "git-tree": "2c0920b57254210866a89aa705291b452a31df48", + "version": "3.3.2", + "port-version": 1 + }, + { + "git-tree": "c80018162ae742240d1e914c46f0a9eaee583daa", + "version": "3.3.2", + "port-version": 0 + }, + { + "git-tree": "038ce0eca1d7e3f285a8de86c75bb8b89255994d", + "version": "3.3.1", + "port-version": 1 + }, + { + "git-tree": "e117c9b91839ae0538b4e9a8d6809aecfa49948a", + "version": "3.3.1", + "port-version": 0 + }, + { + "git-tree": "7407c8c4bb89f961d5e57afb101329454b4771ab", + "version": "3.3.0", + "port-version": 1 + }, + { + "git-tree": "033278114ce1aff68a03a777df0689c846760006", + "version": "3.3.0", + "port-version": 0 + }, + { + "git-tree": "4d41de10fe318363c031b97457b7b6d473020a18", + "version": "3.2.1", + "port-version": 2 + }, + { + "git-tree": "3dc6df970a3aff9c977032299e481fd9872e0970", + "version": "3.2.1", + "port-version": 1 + }, + { + "git-tree": "53fb72a19981a3439cd569f58b722ca6cd26e23d", + "version": "3.2.1", + "port-version": 0 + }, + { + "git-tree": "8865e51e2cd2c891df13f80e1a2585d8b69eab9c", + "version": "3.2.0", + "port-version": 2 + }, + { + "git-tree": "dd76b04663283d999c149033c3fac211d08f0324", + "version": "3.2.0", + "port-version": 1 + }, + { + "git-tree": "b9b4587c2e00e793e735d8ac5094f64dbfcf44e1", + "version": "3.2.0", + "port-version": 0 + }, + { + "git-tree": "5ee74387a1dd212dc9754c614809ff86bd0638fa", + "version": "3.1.4", + "port-version": 1 + }, + { + "git-tree": "3dc34c6428cc5a086a56695e0e0e8c2363e029b5", + "version": "3.1.4", + "port-version": 0 + }, + { + "git-tree": "e57c0f392fd8486892a91ca82b7bf2e34c59e374", + "version": "3.1.3", + "port-version": 0 + }, + { + "git-tree": "11cbc05950decb26474353fb9c0bfed3be3008c4", + "version": "3.1.2", + "port-version": 3 + }, + { + "git-tree": "4e8e2c30ede50b2df35ecf5a0ee574076cfbe06f", + "version": "3.1.2", + "port-version": 2 + }, + { + "git-tree": "5a99562f8ac47a68a58efba5f0d40259fedeecc5", + "version": "3.1.2", + "port-version": 1 + }, + { + "git-tree": "db4486fff3146088dd150f067ebf940c649ffe42", + "version": "3.1.2", + "port-version": 0 + }, + { + "git-tree": "da3981b5b899f4e74db269ca4854f4bf05d9d387", + "version": "3.1.1", + "port-version": 1 + }, + { + "git-tree": "dc8edd2b6e1e1552688c29dc46d5cd5c9183804b", + "version": "3.1.1", + "port-version": 0 + }, + { + "git-tree": "68137d1e48b5f9424e9de3d038a9e2c92f1baf39", + "version": "3.1.0", + "port-version": 4 + }, + { + "git-tree": "b99152f5be63f45b2f3be6eb1624d96d70b21b49", + "version": "3.1.0", + "port-version": 3 + }, + { + "git-tree": "64fc47730d346ecacc9f948c2c3138363ed8f702", + "version": "3.1.0", + "port-version": 2 + }, + { + "git-tree": "b123beef6759b490ff8679b5cd4db0f721a2808a", + "version": "3.1.0", + "port-version": 1 + }, + { + "git-tree": "179a1ad3f5a5bbcb77f2e00688e4c467f03d4311", + "version": "3.1.0", + "port-version": 0 + }, + { + "git-tree": "3fbd85566107cc3a76ed800844569f1a7503f9d6", + "version": "3.0.8", + "port-version": 2 + }, + { + "git-tree": "17ce011827417025d6a29924ace0a474f1689c65", + "version": "3.0.8", + "port-version": 1 + }, + { + "git-tree": "9cd36489fc65db87c4cd94ac606abd05c1db8f2d", + "version": "3.0.8", + "port-version": 0 + }, + { + "git-tree": "71beae5ba81d9198d1ca12024325630b6ad81446", + "version": "3.0.7", + "port-version": 2 + }, + { + "git-tree": "a2607b45f60f01df2d549c97a51f5aa558ce97e9", + "version": "3.0.7", + "port-version": 1 + }, + { + "git-tree": "09701bf7506bd0d161bf671eff1c7f5b3d73e3a9", + "version": "3.0.7", + "port-version": 0 + }, + { + "git-tree": "067a790dfd1559e77d5a199ccbe982322882d667", + "version": "3.0.5", + "port-version": 5 + }, + { + "git-tree": "557ff31f9a64f01cd0d98dd44793ce3c7fd32893", + "version": "3.0.5", + "port-version": 4 + }, + { + "git-tree": "d4fd408544a2a6635ce994badc226aa945c8f78a", + "version": "3.0.5", + "port-version": 3 + }, + { + "git-tree": "1172be56343ba751b0fe10a0fbb6acedc7871e65", + "version": "3.0.5", + "port-version": 2 + }, + { + "git-tree": "3b7cc4dec346a7593959636aa8cc266240d92b7f", + "version": "3.0.5", + "port-version": 1 + }, + { + "git-tree": "6f3d4db3ea7bcbac9c79e8beb24c0a33c4da3e96", + "version": "3.0.5", + "port-version": 0 + }, + { + "git-tree": "b300461cf187df328c5d2269448840306f64a4e1", + "version": "3.0.4", + "port-version": 0 + }, + { + "git-tree": "cdd8b7c5c9ebba05598bc90a58f224f13cf0b611", + "version": "3.0.3", + "port-version": 2 + }, + { + "git-tree": "1ac5c972c2c6c9af050334b2f7a41de1253c6a5e", + "version": "3.0.3", + "port-version": 1 + }, + { + "git-tree": "973408910bc03c5a350f502080548a0d1ac68352", + "version": "3.0.3", + "port-version": 0 + }, + { + "git-tree": "f521f59b704e7bebbddd28929f61f3911b8c7cb4", + "version": "3.0.2", + "port-version": 3 + }, + { + "git-tree": "66e7ff434d21a4fc00cab9bbe6167db295ffefd3", + "version": "3.0.2", + "port-version": 2 + }, + { + "git-tree": "3505d3717ae864160fdb273eb2ec9d614eb6711e", + "version": "3.0.2", + "port-version": 1 + }, + { + "git-tree": "2ba2e59ee4f32c11e30aeccc0ecabc09b69c5d22", + "version": "3.0.2", + "port-version": 0 + }, + { + "git-tree": "06b9e0464af9c7c73227ba9f0fa93c77ef62496e", + "version-string": "1.1.1n", + "port-version": 1 + }, + { + "git-tree": "7e4d802e3bde4154c227c0dd1da75c719be9f07a", + "version-string": "1.1.1n", + "port-version": 0 + }, + { + "git-tree": "29c9d32a703896143a51c55f0b7ae4298684afd6", + "version-string": "1.1.1m", + "port-version": 2 + }, + { + "git-tree": "9b8e2ac096b1cd8782137a853c5fc76e07c2af9a", + "version-string": "1.1.1m", + "port-version": 1 + }, + { + "git-tree": "1dbcaacad14ed0761323aa12c13e917270153594", + "version-string": "1.1.1m", + "port-version": 0 + }, + { + "git-tree": "d25384246619019a1e44f018546cdfcaf1800174", + "version-string": "1.1.1l", + "port-version": 4 + }, { "git-tree": "83369bdefab234d8570ac2c0f3b616b0c4ab6cdf", "version-string": "1.1.1l", diff --git a/versions/o-/opensubdiv.json b/versions/o-/opensubdiv.json index be8519959c357f..063fb4a781536b 100644 --- a/versions/o-/opensubdiv.json +++ b/versions/o-/opensubdiv.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "8d12fbded4ab0667d082362ae4b6f57506926c9b", + "version-semver": "3.5.0", + "port-version": 2 + }, + { + "git-tree": "8cc627798709caed394f31456098644f359f0936", + "version-semver": "3.5.0", + "port-version": 1 + }, + { + "git-tree": "38f4d0720a8f9f0610f327382977951421d3ce98", + "version-semver": "3.5.0", + "port-version": 0 + }, + { + "git-tree": "a2aebb443eae8d15fc85fbeb0ffdb3774b1b09c8", + "version-semver": "3.4.3", + "port-version": 5 + }, + { + "git-tree": "91fabcb273d865674e59979585b5f9a6739ad6c5", + "version-semver": "3.4.3", + "port-version": 4 + }, { "git-tree": "786a994b5a4637b9cd43eaf2b790d913bce9cdce", "version-semver": "3.4.3", diff --git a/versions/o-/opentelemetry-cpp-contrib-version.json b/versions/o-/opentelemetry-cpp-contrib-version.json new file mode 100644 index 00000000000000..96796521701993 --- /dev/null +++ b/versions/o-/opentelemetry-cpp-contrib-version.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "5206130235588a761f3f16867efff91e9ba63950", + "version-date": "2024-06-17", + "port-version": 0 + } + ] +} diff --git a/versions/o-/opentelemetry-cpp.json b/versions/o-/opentelemetry-cpp.json index 6b00edcbdda8a1..f67c20d8b81bd5 100644 --- a/versions/o-/opentelemetry-cpp.json +++ b/versions/o-/opentelemetry-cpp.json @@ -1,5 +1,200 @@ { "versions": [ + { + "git-tree": "676c68ab244c1b790041e5ae63dd72f794deb5d9", + "version-semver": "1.17.0", + "port-version": 1 + }, + { + "git-tree": "f1c52bb415c2c2e19b33e37dc85a2747720ae033", + "version-semver": "1.17.0", + "port-version": 0 + }, + { + "git-tree": "2372bb066c690f99d9e18fd3655dff92c010fecc", + "version-semver": "1.16.1", + "port-version": 0 + }, + { + "git-tree": "799204d8df71719e37312c777904fec2ed63152e", + "version-semver": "1.16.0", + "port-version": 2 + }, + { + "git-tree": "24f0a022ab07e290283011657cac26e32a6dd648", + "version-semver": "1.16.0", + "port-version": 1 + }, + { + "git-tree": "463e6bcd28686e4433ddd353b8f0cfd82e7c577b", + "version-semver": "1.16.0", + "port-version": 0 + }, + { + "git-tree": "d0308ac6577bc65485185f45cd1f6c9f9cb14ef8", + "version-semver": "1.14.2", + "port-version": 2 + }, + { + "git-tree": "b360f8315ba329cc832aa163130958843e6b0d07", + "version-semver": "1.14.2", + "port-version": 1 + }, + { + "git-tree": "6f00f6d33fda736b79735a241864efb13c9c030d", + "version-semver": "1.14.2", + "port-version": 0 + }, + { + "git-tree": "0615b7500e8e0997acc13d53b8a0f8ebf370dd3b", + "version-semver": "1.14.0", + "port-version": 2 + }, + { + "git-tree": "f3b824a861450db24c3cd2ed97564917eeb6acdc", + "version-semver": "1.14.0", + "port-version": 1 + }, + { + "git-tree": "7ccef9777cd5eb8b6a8a68074eb9fc2d2a00fd18", + "version-semver": "1.14.0", + "port-version": 0 + }, + { + "git-tree": "03054c83c227b0d62db194cb111cb9885f787abe", + "version-semver": "1.13.0", + "port-version": 4 + }, + { + "git-tree": "f732f422f031bbc6b126743a388bcf50280acb0e", + "version-semver": "1.13.0", + "port-version": 3 + }, + { + "git-tree": "34b7683811362c31ff5e3742dd47ee8a721817f0", + "version-semver": "1.13.0", + "port-version": 2 + }, + { + "git-tree": "6df7abbc5ea5cb1da3d33640ccfa7d0f086319c0", + "version-semver": "1.13.0", + "port-version": 1 + }, + { + "git-tree": "fe04f9f3867c1225a0636a9f410871b30dce6670", + "version-semver": "1.13.0", + "port-version": 0 + }, + { + "git-tree": "71dd31a63ee43f477bad710ccce04ffac2be5238", + "version-semver": "1.12.0", + "port-version": 1 + }, + { + "git-tree": "5fd8cacd9fd3aaa30b0ad133f2de052ba3ff869f", + "version-semver": "1.12.0", + "port-version": 0 + }, + { + "git-tree": "3ad2a8625bd852a203f6156970c0eada6f90c192", + "version-semver": "1.9.1", + "port-version": 1 + }, + { + "git-tree": "47c5c172ee9a7c663746a3c1cbabb359a1cbaf56", + "version-semver": "1.9.1", + "port-version": 0 + }, + { + "git-tree": "dfd999f93f24e916631d57bf73c0bf02f8c2da0a", + "version-semver": "1.8.3", + "port-version": 6 + }, + { + "git-tree": "d01c3006eaa3db92a643c8b6e275e5275561d443", + "version-semver": "1.8.3", + "port-version": 5 + }, + { + "git-tree": "a2aaa1296022784fb28719885a59fe905dd80e06", + "version-semver": "1.8.3", + "port-version": 4 + }, + { + "git-tree": "ce4bc10a4f0ebad5cafd14de836017b281cba1f9", + "version-semver": "1.8.3", + "port-version": 3 + }, + { + "git-tree": "152ee0a0f79c1fc26d81291c9d1eb0417f9deeeb", + "version-semver": "1.8.3", + "port-version": 2 + }, + { + "git-tree": "3777014ad8e4997a8c0afbbc7f37ff949497059c", + "version-semver": "1.8.3", + "port-version": 1 + }, + { + "git-tree": "7b038c874943ff65c4753c535698f6f409391dab", + "version-semver": "1.8.3", + "port-version": 0 + }, + { + "git-tree": "b95448067d27169b9b65ed0a60e1caf832fd7e4b", + "version-semver": "1.8.2", + "port-version": 0 + }, + { + "git-tree": "a2a7c47fdf502e1345d3ba742ded612ba0506764", + "version-semver": "1.8.1", + "port-version": 1 + }, + { + "git-tree": "e843a5826f9147538a9f50194eebfcb5002a8f7b", + "version-semver": "1.8.1", + "port-version": 0 + }, + { + "git-tree": "454e8d6c9d7b195d7e923e8f29486ecb08966e41", + "version-semver": "1.7.0", + "port-version": 0 + }, + { + "git-tree": "b85f6215a2936a5a21c752b11e16fc7250a102b2", + "version-semver": "1.6.0", + "port-version": 0 + }, + { + "git-tree": "49b229180a92d7c0148fd1c28a691a76c59aea51", + "version-semver": "1.5.0", + "port-version": 1 + }, + { + "git-tree": "6ec3fad654735c88e146be395fd84629c209de6e", + "version-semver": "1.5.0", + "port-version": 0 + }, + { + "git-tree": "614e2f4d01b0a003fe4c6df695eb669b41627736", + "version-semver": "1.4.1", + "port-version": 0 + }, + { + "git-tree": "0ab7ef25acedde2552479fda46f92716afa53c98", + "version-semver": "1.3.0", + "port-version": 0 + }, + { + "git-tree": "c8c4bd4f115feaa3faed25dc74c695c1627d4f0d", + "version-semver": "1.2.0", + "port-version": 0 + }, + { + "git-tree": "c6f08af646f830d343e50f00d01775f6ce8fc7d8", + "version-semver": "1.1.1", + "port-version": 0 + }, { "git-tree": "054971acff976718841101e8bad641169cf11a5d", "version-semver": "1.0.1", diff --git a/versions/o-/opentelemetry-fluentd.json b/versions/o-/opentelemetry-fluentd.json new file mode 100644 index 00000000000000..6b3bb31c2597b2 --- /dev/null +++ b/versions/o-/opentelemetry-fluentd.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "8fbaf952420269223ba6185ec91ffedb87882aa3", + "version-semver": "2.0.0", + "port-version": 2 + }, + { + "git-tree": "e9ffc101ca11ffd64b1a2bd73ae7e11bf7f28cfc", + "version-semver": "2.0.0", + "port-version": 1 + }, + { + "git-tree": "4c8cdb3314a3a35268d4ce9b786c6632c79e0f97", + "version-semver": "2.0.0", + "port-version": 0 + } + ] +} diff --git a/versions/o-/opentracing.json b/versions/o-/opentracing.json index 616b682881ca5f..a46453cba7c1b4 100644 --- a/versions/o-/opentracing.json +++ b/versions/o-/opentracing.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "da5f3807941796fb6504010b9be2a12d872a79a4", + "version": "1.6.0", + "port-version": 4 + }, + { + "git-tree": "eae79381338436b815e727eb25885e6c8631eb5f", + "version": "1.6.0", + "port-version": 3 + }, + { + "git-tree": "6bd6797b313b265c51c85ea2838efcdaa70f87f7", + "version": "1.6.0", + "port-version": 2 + }, { "git-tree": "001eac5d529c5b20dd9dbfc85879568e07d9b55d", "version-string": "1.6.0", diff --git a/versions/o-/openturns.json b/versions/o-/openturns.json new file mode 100644 index 00000000000000..8c67d882eec864 --- /dev/null +++ b/versions/o-/openturns.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "55e0a233063acabd3fe365687fda3f99d6e79f4c", + "version": "1.20", + "port-version": 2 + }, + { + "git-tree": "1533ede792f48bee5c53f35de06c493e6ed0ab0a", + "version": "1.20", + "port-version": 1 + }, + { + "git-tree": "7df4639f8285df19714604b6df8f55f170c938f4", + "version": "1.20", + "port-version": 0 + } + ] +} diff --git a/versions/o-/openvdb.json b/versions/o-/openvdb.json index f26e57bb9fcd37..f3113ddbd761b6 100644 --- a/versions/o-/openvdb.json +++ b/versions/o-/openvdb.json @@ -1,5 +1,65 @@ { "versions": [ + { + "git-tree": "bb88224f64822d690b692169cbcdb87ffdb9d597", + "version": "12.0.0", + "port-version": 0 + }, + { + "git-tree": "6997652c81d0f91033cb3cce2bf6e55674725400", + "version": "11.0.0", + "port-version": 0 + }, + { + "git-tree": "8565eefd07d9a9d108cec2545039261b53d2e3b1", + "version": "10.0.0", + "port-version": 6 + }, + { + "git-tree": "6200720b464b3cc005edd767613f3978f614a32f", + "version": "10.0.0", + "port-version": 5 + }, + { + "git-tree": "34b77a62946c569224d4aacc863e8ba9d7aea31f", + "version": "10.0.0", + "port-version": 4 + }, + { + "git-tree": "dc6551f1e86bf8c86ce9fd0133e6e979f3729faa", + "version": "10.0.0", + "port-version": 3 + }, + { + "git-tree": "65264bf4e9ac9e13e48374147f7b4454b8e45b97", + "version": "10.0.0", + "port-version": 2 + }, + { + "git-tree": "3b23307372371effd658ce072409367db12ed688", + "version": "10.0.0", + "port-version": 1 + }, + { + "git-tree": "da455f3dd793dc3d235db1a2fd3cbe68ab71ae04", + "version": "10.0.0", + "port-version": 0 + }, + { + "git-tree": "fd83349668c7c8ec38e4850437ec678b44e038f5", + "version": "9.0.0", + "port-version": 1 + }, + { + "git-tree": "a026562abe75e40d4b60d97108ef057b2e28629a", + "version": "9.0.0", + "port-version": 0 + }, + { + "git-tree": "8546c4c4d392f4b0bb9a604e8bb6a831d39b99e8", + "version": "8.2.0", + "port-version": 0 + }, { "git-tree": "ecd4c1d0e5c1e497615d75cb0748c97fa1d70384", "version": "8.1.0", diff --git a/versions/o-/openvino.json b/versions/o-/openvino.json new file mode 100644 index 00000000000000..6477a9bcf7fce1 --- /dev/null +++ b/versions/o-/openvino.json @@ -0,0 +1,124 @@ +{ + "versions": [ + { + "git-tree": "bc53df5155c98997642b3213a096fb8c664be49c", + "version": "2024.4.0", + "port-version": 3 + }, + { + "git-tree": "fb92b66ef3fe4339f2708bc985437c422d1202c1", + "version": "2024.4.0", + "port-version": 2 + }, + { + "git-tree": "668983aa79f507592885fa2ef91fb0dbd1e4a495", + "version": "2024.4.0", + "port-version": 1 + }, + { + "git-tree": "e65d1d305cc744e9ff5d96358695cbfe22deb8c3", + "version": "2024.4.0", + "port-version": 0 + }, + { + "git-tree": "6cef527510309fcb267a5c81c12e106fa4ae5064", + "version": "2024.3.0", + "port-version": 0 + }, + { + "git-tree": "b102766e5924f3b8699f6c17d8594330d486bf24", + "version": "2024.2.0", + "port-version": 1 + }, + { + "git-tree": "45d124d7a01390f13b5f50d4f7aa573fc181f27c", + "version": "2024.2.0", + "port-version": 0 + }, + { + "git-tree": "1ad4eb1cd31eeb9c9770b145f55922136f874fe5", + "version": "2024.1.0", + "port-version": 0 + }, + { + "git-tree": "0be18ab11cbaa055a9c4b84dfb11de163b3a30ea", + "version": "2024.0.0", + "port-version": 0 + }, + { + "git-tree": "4ec7482b6e2fd81185058d82806cccb53e62270c", + "version": "2023.3.0", + "port-version": 1 + }, + { + "git-tree": "141f51cbc33785e0e327a425d7aadb59ec9d148d", + "version": "2023.3.0", + "port-version": 0 + }, + { + "git-tree": "008bb3450506fc167c8928022a1f8782cddff866", + "version": "2023.2.0", + "port-version": 0 + }, + { + "git-tree": "e33c2a6c920269c1564d88ac95d0933771763ca3", + "version": "2023.1.0", + "port-version": 4 + }, + { + "git-tree": "185f20b166701fdc9c255e0ca7e574a88c1a34d9", + "version": "2023.1.0", + "port-version": 3 + }, + { + "git-tree": "142339d6db532cdecd3d59ccdb43411769bed1ca", + "version": "2023.1.0", + "port-version": 2 + }, + { + "git-tree": "b038a324f094f69ef18efe7cd9b4c3e7c71d7c9b", + "version": "2023.1.0", + "port-version": 1 + }, + { + "git-tree": "717114b7751c8866fc2f475267dea3c04a5cedcc", + "version": "2023.1.0", + "port-version": 0 + }, + { + "git-tree": "ad00a0dadb3ecf1eff66f9de71017808ade00d0f", + "version-date": "2023-06-11", + "port-version": 6 + }, + { + "git-tree": "7737d9d905aa9a31e47e32abf5ef420bd1446def", + "version-date": "2023-06-11", + "port-version": 5 + }, + { + "git-tree": "a27f3d63ace7db21e84b4e42eef2ab776a6dcb69", + "version-date": "2023-06-11", + "port-version": 4 + }, + { + "git-tree": "be798c823b9abdb477acbbe2541368067263f268", + "version-date": "2023-06-11", + "port-version": 3 + }, + { + "git-tree": "42a42b174342b956f51bfd641761787fc3ced98a", + "version-date": "2023-06-11", + "port-version": 2 + }, + { + "git-tree": "b845ea9bb49b0f44f2423d210e950003b67bfac4", + "version-date": "2023-06-11", + "port-version": 1 + }, + { + "git-tree": "85c70516c12c1c3544e7a2996e6f83e35aa6a88f", + "version-date": "2023-06-11", + "port-version": 0 + } + ] +} diff --git a/versions/o-/openvpn3.json b/versions/o-/openvpn3.json index 26f6e68e090304..7aad5f2bcbb826 100644 --- a/versions/o-/openvpn3.json +++ b/versions/o-/openvpn3.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "33c2d9bf4e949b0ddd3779a93c4339a3eab65e67", + "version": "3.10", + "port-version": 1 + }, + { + "git-tree": "f24948a1abcd067f9d1063088f83afa5e2b4270f", + "version": "3.10", + "port-version": 0 + }, + { + "git-tree": "97a26dd437bb027004b075333db96473652ca1fd", + "version": "3.7.0", + "port-version": 2 + }, + { + "git-tree": "352f972ff2ff0cfb7305f779253f322ba72e14f5", + "version": "3.7.0", + "port-version": 1 + }, + { + "git-tree": "901a710e937496a572cdb5b64d2401c18919ffde", + "version": "3.7.0", + "port-version": 0 + }, { "git-tree": "bf20f11ad1fb64e74ebcfda5a3b3c19b8e4770ae", "version-string": "3.4.1", diff --git a/versions/o-/openvr.json b/versions/o-/openvr.json index d26235515817ec..575404a370b431 100644 --- a/versions/o-/openvr.json +++ b/versions/o-/openvr.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "7aa7b3754d9fec9dcdb5b91142d1b84af31a43ce", + "version": "2.5.1", + "port-version": 0 + }, + { + "git-tree": "97dd61e39d83bb4dfb8456227f147c9137aafc65", + "version": "1.23.7", + "port-version": 0 + }, + { + "git-tree": "29e327e41442a81d5bc3040244132649f032edb6", + "version": "1.16.8", + "port-version": 2 + }, { "git-tree": "cd3839d56ad4263ecc52a94440b22333ab1d7bfe", "version-string": "1.16.8", diff --git a/versions/o-/openxr-loader.json b/versions/o-/openxr-loader.json index 217c909c3aedbf..81c538268fef57 100644 --- a/versions/o-/openxr-loader.json +++ b/versions/o-/openxr-loader.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "a8275bf000597b3d7cd12109347f21552bcd39cc", + "version": "1.0.31", + "port-version": 0 + }, + { + "git-tree": "e26b91f539cbbba23cc6ccd2eb9106322ba1c81c", + "version": "1.0.22", + "port-version": 3 + }, + { + "git-tree": "27baef30397d0db0e6cc01d6f60a86e2ff4df238", + "version": "1.0.22", + "port-version": 2 + }, + { + "git-tree": "9d673fe500c4b38f0806bd4b3c23a82bba897967", + "version": "1.0.22", + "port-version": 1 + }, + { + "git-tree": "445bbc9debe9866fad35544bd948d54fda4e72c4", + "version": "1.0.22", + "port-version": 0 + }, + { + "git-tree": "435893c175c6462b476e03f95d30717c9653eac3", + "version": "1.0.20", + "port-version": 1 + }, + { + "git-tree": "84f63fe87decf331d7cc6a4f07046d2528b3c313", + "version": "1.0.20", + "port-version": 0 + }, { "git-tree": "7d72d589a9281315c0e7ee4b9dd697b7147c0258", "version-string": "1.0.18", diff --git a/versions/o-/optimus-cpp.json b/versions/o-/optimus-cpp.json new file mode 100644 index 00000000000000..d3458510a705a5 --- /dev/null +++ b/versions/o-/optimus-cpp.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "e180e598e04576e8a6f2e391c72031c360b5a3a2", + "version": "0.3.0", + "port-version": 0 + } + ] +} diff --git a/versions/o-/optional-bare.json b/versions/o-/optional-bare.json index 2069cbf6df4e02..9b91305a9d0da3 100644 --- a/versions/o-/optional-bare.json +++ b/versions/o-/optional-bare.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "a8ed63e195d0f747d80e48d9c36d37fa388eb65a", + "version": "1.1.0", + "port-version": 3 + }, + { + "git-tree": "4174971e91de4c7fd5eb1e487ec73976579e7995", + "version-string": "1.1.0", + "port-version": 2 + }, { "git-tree": "cf4fb4b8c0afe5a0b8e475610a426221698f2513", "version-string": "1.1.0", diff --git a/versions/o-/optional-lite.json b/versions/o-/optional-lite.json index 99c0906a40ce9e..4039810ff57d07 100644 --- a/versions/o-/optional-lite.json +++ b/versions/o-/optional-lite.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "15df59b4622c57d3191829231ed161faa74e94db", + "version": "3.6.0", + "port-version": 0 + }, { "git-tree": "224a4268fcaf8ff0756fce0de1818939e95cbbc4", "version": "3.5.0", diff --git a/versions/o-/opus.json b/versions/o-/opus.json index bdd667ec3e30a0..819fc753de7074 100644 --- a/versions/o-/opus.json +++ b/versions/o-/opus.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "368f8193c8c240a844cd342a3a485a0fa62e5774", + "version": "1.5.2", + "port-version": 0 + }, + { + "git-tree": "0f51fa10fe5bff98d91195334aa9b6456bb43422", + "version": "1.5.1", + "port-version": 0 + }, + { + "git-tree": "b1bf537b6144eb7899c56f1a9bda5de3fd4e2025", + "version": "1.4", + "port-version": 0 + }, + { + "git-tree": "969377a42b9e5887f42419aff6182d9c111f65c2", + "version": "1.3.1", + "port-version": 9 + }, + { + "git-tree": "f69aedcd28796dfac85514ee0934e7f91ab05e06", + "version": "1.3.1", + "port-version": 8 + }, + { + "git-tree": "ad2b9149564516603dab6b996af3d4bc7ba29017", + "version": "1.3.1", + "port-version": 7 + }, { "git-tree": "e718de4be5f3dcb0e0c7922a9ef7ef13bf5148b3", "version-string": "1.3.1", diff --git a/versions/o-/opusfile.json b/versions/o-/opusfile.json index 3555d2b863264e..0f439c53959569 100644 --- a/versions/o-/opusfile.json +++ b/versions/o-/opusfile.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "6b39a2d4ff309c4e2bedf74adeb1cd18f7ab16c9", + "version": "0.12+20221121", + "port-version": 1 + }, + { + "git-tree": "7694ad3ef2bc0532b9c18a69dc120f2382cf06b2", + "version": "0.12+20221121", + "port-version": 0 + }, + { + "git-tree": "ca2f93c4f73549bcf6e7f904bd7b2dae182091a7", + "version": "0.12", + "port-version": 2 + }, { "git-tree": "9192001e60ba1f9d34e8f45ecde1139c5d40d474", "version-string": "0.12", diff --git a/versions/o-/orc.json b/versions/o-/orc.json index 23e58df0a4be31..7ef5ac32dff094 100644 --- a/versions/o-/orc.json +++ b/versions/o-/orc.json @@ -1,5 +1,45 @@ { "versions": [ + { + "git-tree": "e6a438a44734395e1e86c551a4507780209bbee0", + "version": "2.0.0", + "port-version": 0 + }, + { + "git-tree": "f98c97a0c642bec9feb965f59d1023dc8e49f812", + "version": "1.9.3", + "port-version": 0 + }, + { + "git-tree": "181bf753a7e9da2d5c98907c58270f9ccb64e4db", + "version": "1.9.2", + "port-version": 0 + }, + { + "git-tree": "1d045d211a7c1a657c3c6d1f2df0df8faf69c459", + "version": "1.9.1", + "port-version": 0 + }, + { + "git-tree": "101fdb5683877574e2730084978b77dfdf91d8ad", + "version": "1.9.0", + "port-version": 0 + }, + { + "git-tree": "8db2855196eeddb1ac131df74e028367480613d5", + "version": "1.7.6", + "port-version": 0 + }, + { + "git-tree": "8c8bc9de897f95a0499e5dc4a49545cda6e496b2", + "version": "1.6.4", + "port-version": 4 + }, + { + "git-tree": "543e83b37120267db3f81b5fdb3d349717b20135", + "version": "1.6.4", + "port-version": 3 + }, { "git-tree": "8cd78baa4d8b7df9077f76b8f5d600aac6e09716", "version-string": "1.6.4", diff --git a/versions/o-/orocos-kdl.json b/versions/o-/orocos-kdl.json index 7510517179491c..2ba686831c6ae6 100644 --- a/versions/o-/orocos-kdl.json +++ b/versions/o-/orocos-kdl.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "e9fdf57afeb547c9e5fdad47dff693fe8f96f4b5", + "version": "1.5.1", + "port-version": 0 + }, + { + "git-tree": "4c2ee586866fcf7a9f3c3930bd1af16763047aa4", + "version": "1.4", + "port-version": 6 + }, { "git-tree": "265346d96786cba36fc5ddc4e2a734dfa755746d", "version": "1.4", diff --git a/versions/o-/osg.json b/versions/o-/osg.json index 6ca076e4782efa..c4f6dc793f5c47 100644 --- a/versions/o-/osg.json +++ b/versions/o-/osg.json @@ -1,5 +1,80 @@ { "versions": [ + { + "git-tree": "c4fe8448842ded8e44e53c90f6a02b08a1582266", + "version": "3.6.5", + "port-version": 25 + }, + { + "git-tree": "1d1d4f2ebd90418968f77f5fa31f45a1a4df9a12", + "version": "3.6.5", + "port-version": 24 + }, + { + "git-tree": "63d5d70476050457412d48f466d6215430c8ba64", + "version": "3.6.5", + "port-version": 23 + }, + { + "git-tree": "27f28ccf9745bc2ca1757d5fa32b92373c176e2a", + "version": "3.6.5", + "port-version": 22 + }, + { + "git-tree": "6e9d4d04aae606c5ac02c497b17774d37e74de7a", + "version": "3.6.5", + "port-version": 21 + }, + { + "git-tree": "87727f247e97af37e53f77acadff05d6d06559d0", + "version": "3.6.5", + "port-version": 20 + }, + { + "git-tree": "50d656eed69f1bb2d38d5ead688d555f4faf8224", + "version": "3.6.5", + "port-version": 19 + }, + { + "git-tree": "cb957f4950031c9c7fedfbcfe1ba698cc435dedd", + "version": "3.6.5", + "port-version": 18 + }, + { + "git-tree": "e29f8e57a49cb782817b890b77b3f0ec06afe3c0", + "version": "3.6.5", + "port-version": 17 + }, + { + "git-tree": "9b4ddf02fe84124b58b1ea60dcc9a4f553f32704", + "version": "3.6.5", + "port-version": 16 + }, + { + "git-tree": "219045e2b75fc651860c70dbf97557d543269842", + "version": "3.6.5", + "port-version": 15 + }, + { + "git-tree": "0a38fb280615f72738ab9ec48d92d8bee28017c9", + "version": "3.6.5", + "port-version": 14 + }, + { + "git-tree": "fa03ab64f6d05d837a9ce14419d03b36cc8796ea", + "version": "3.6.5", + "port-version": 13 + }, + { + "git-tree": "f438ec006b58ffd222b0f3bdce8d05b21611204e", + "version": "3.6.5", + "port-version": 12 + }, + { + "git-tree": "456c4454eee9f4a24916992b0870067f703ef374", + "version-string": "3.6.5", + "port-version": 11 + }, { "git-tree": "233201eee3ebfaaac75ba9696d12209e9a1fbc32", "version-string": "3.6.5", diff --git a/versions/o-/osgearth.json b/versions/o-/osgearth.json index 60da91a0b332b0..57d55c103e0d42 100644 --- a/versions/o-/osgearth.json +++ b/versions/o-/osgearth.json @@ -1,5 +1,95 @@ { "versions": [ + { + "git-tree": "1e1ce5962bfd4e49b5609952197378fcf89e1ab3", + "version": "3.7", + "port-version": 0 + }, + { + "git-tree": "3429fc472870b99752ea2dc1fe8b7df7f4ebedaf", + "version": "3.4", + "port-version": 3 + }, + { + "git-tree": "3412700e8699006bff1c2d4947500da9b180a0c5", + "version": "3.4", + "port-version": 2 + }, + { + "git-tree": "4c7eac5ebac0fb2f82b730a863d50278a83955a9", + "version": "3.4", + "port-version": 1 + }, + { + "git-tree": "765cddcfc821c355b20c1fed7a43f181f8eb0817", + "version": "3.4", + "port-version": 0 + }, + { + "git-tree": "c39e21352cff6e65fe8f6315ee9b7828143e0eb8", + "version": "3.3", + "port-version": 7 + }, + { + "git-tree": "93f980541af3527f2940eede908836a7cfc63166", + "version": "3.3", + "port-version": 6 + }, + { + "git-tree": "606bbaf1456dc9d5a6f5ef879a54b894c4ace5b3", + "version": "3.3", + "port-version": 5 + }, + { + "git-tree": "208b0c23a8e79910067bb0b8a6dc589da7307de5", + "version": "3.3", + "port-version": 4 + }, + { + "git-tree": "6c024ede3cf289475ceeeccc91045868db965c02", + "version": "3.3", + "port-version": 3 + }, + { + "git-tree": "5a9e3fa28dc78e768ff9ef2ca4ff09b51b774cbb", + "version": "3.3", + "port-version": 2 + }, + { + "git-tree": "1091743df235c6472d30b157723f82e6d3473cc9", + "version": "3.3", + "port-version": 1 + }, + { + "git-tree": "6e95d7000b08e777779b6b0c6d2dbf35686b87a4", + "version": "3.3", + "port-version": 0 + }, + { + "git-tree": "8445895488485c8931b96483e6da43969260855a", + "version": "3.2", + "port-version": 6 + }, + { + "git-tree": "80311fbaa014b84f8cdb3faa8abbdc16e01837d5", + "version": "3.2", + "port-version": 5 + }, + { + "git-tree": "99b20c5ff2821870694fdc973b7f44d4b54db2ba", + "version": "3.2", + "port-version": 4 + }, + { + "git-tree": "2e3d8cf49728cdb23060f31152768a2292c24ab8", + "version": "3.2", + "port-version": 3 + }, + { + "git-tree": "106a6da206a787832252687e41ad5ba3b102d062", + "version": "3.2", + "port-version": 2 + }, { "git-tree": "f3ac1cffb36f0b0b2b531af29145de695cee2291", "version": "3.2", diff --git a/versions/o-/osmanip.json b/versions/o-/osmanip.json new file mode 100644 index 00000000000000..df8266e228a9fe --- /dev/null +++ b/versions/o-/osmanip.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "964b4a1ed36e246a65052a658361835dacafa823", + "version": "4.6.1", + "port-version": 0 + } + ] +} diff --git a/versions/o-/otl.json b/versions/o-/otl.json index a1808f8167f8c8..9c8f25b819df87 100644 --- a/versions/o-/otl.json +++ b/versions/o-/otl.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "62f8921579ec50d2d505df1f6141c7704d54cb39", + "version": "4.0.478", + "port-version": 0 + }, + { + "git-tree": "d6e971fcfc7eff67d88d2db91b2a949045107ddd", + "version": "4.0.476", + "port-version": 1 + }, + { + "git-tree": "065115c4c16167e62e04d0e3aad6b7d0e66b8a65", + "version": "4.0.476", + "port-version": 0 + }, + { + "git-tree": "cf3d50a329ecf8149400c6db244ae5793ea1a097", + "version": "4.0.463", + "port-version": 2 + }, + { + "git-tree": "02a8c353e8a348eb320fdfaf7dfd7d4a40d3d2e1", + "version": "4.0.463", + "port-version": 1 + }, { "git-tree": "bce79d0a6767b5593182564f94f3db98eea61be7", "version": "4.0.463", diff --git a/versions/o-/outcome.json b/versions/o-/outcome.json index 6c50899e89db1e..292e4f5ff40a1f 100644 --- a/versions/o-/outcome.json +++ b/versions/o-/outcome.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "327083ea56e25eaae20a58af3e6d4d86afa743ec", + "version": "2.2.9", + "port-version": 0 + }, + { + "git-tree": "5cc1c42701709adcc36c8fd94cd3f7a5bfaa779d", + "version": "2.2.8", + "port-version": 0 + }, + { + "git-tree": "47944a9cbc611b2c0b1d0a3acb1d0a38881dbc87", + "version": "2.2.7", + "port-version": 0 + }, + { + "git-tree": "504177d3c3f3d1a063db2ce6d12292141e874d37", + "version": "2.2.4", + "port-version": 1 + }, + { + "git-tree": "9e3ec2f8aff33b12210dc924ff285b3cf23abb2a", + "version": "2.2.4", + "port-version": 0 + }, + { + "git-tree": "527591e7e0e55bc20c74cdc5553c08635b350999", + "version": "2.2.3", + "port-version": 0 + }, + { + "git-tree": "2abc0cf7913b6db02a17f3b01f6e5744bd43a9ae", + "version-string": "2.2.2-20211208", + "port-version": 0 + }, { "git-tree": "31aada521fafc8169a891338a3af04fa4f658327", "version-string": "2.2.2-20210922", diff --git a/versions/p-/p-ranav-csv.json b/versions/p-/p-ranav-csv.json index acfb507274188d..0d9f1734af8270 100644 --- a/versions/p-/p-ranav-csv.json +++ b/versions/p-/p-ranav-csv.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "1b8c39e843a84b3c24987d688412eb5346cd6b5d", + "version-date": "2019-07-11", + "port-version": 3 + }, + { + "git-tree": "47066c91320e9526c1eefebfcaf4862420f90794", + "version-string": "2019-07-11", + "port-version": 2 + }, { "git-tree": "77830f6c8500a71c59804029586c3a60c3335788", "version-string": "2019-07-11", diff --git a/versions/p-/p-ranav-csv2.json b/versions/p-/p-ranav-csv2.json index 722000a3731ecf..f3e13c759bea37 100644 --- a/versions/p-/p-ranav-csv2.json +++ b/versions/p-/p-ranav-csv2.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "9fed336f391db2faf9b7c96b7b32d5838bd6c5e7", + "version-date": "2020-12-14", + "port-version": 4 + }, + { + "git-tree": "3562046ef991d88c67599b6e736b3e00d0409327", + "version-string": "2020-12-14", + "port-version": 3 + }, { "git-tree": "0f944640e81f4ed10db72f2708212b475c3e83b2", "version-string": "2020-12-14", diff --git a/versions/p-/pagmo2.json b/versions/p-/pagmo2.json index c149fd0f0b4199..ea6729174adbab 100644 --- a/versions/p-/pagmo2.json +++ b/versions/p-/pagmo2.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "299fff9dc6a18da12c34fe585137b7787b4c90f2", + "version": "2.19.1", + "port-version": 0 + }, + { + "git-tree": "ebff91665e8cced80124a56db196cd800cd02f79", + "version": "2.19.0", + "port-version": 2 + }, + { + "git-tree": "77f146b96ad3179551dca78c832542683cf3801e", + "version": "2.19.0", + "port-version": 0 + }, + { + "git-tree": "fa28deef736ea34bcc41143a960e8be97653ba1d", + "version": "2.18.0", + "port-version": 0 + }, { "git-tree": "ea29ee58051fba73e950597ca2b0109dd6df0dec", "version": "2.16.1", diff --git a/versions/p-/paho-mqtt.json b/versions/p-/paho-mqtt.json index 91f6400606605e..c708abf973bdf6 100644 --- a/versions/p-/paho-mqtt.json +++ b/versions/p-/paho-mqtt.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "7ea6a82c6e59b0300a88ba3ce22c81cc0346af9f", + "version": "1.3.13", + "port-version": 1 + }, + { + "git-tree": "afbbb351ea649d52651cd70c71bd133d6527215f", + "version": "1.3.13", + "port-version": 0 + }, + { + "git-tree": "3e686950d2f0329bc5076bec1d8432e83aaf45fd", + "version": "1.3.12", + "port-version": 1 + }, + { + "git-tree": "db58caf818518c074d1ab00297ce3a2fc784bc0a", + "version": "1.3.12", + "port-version": 0 + }, + { + "git-tree": "9edde45ee5a278ee52bbb1891e9a30cab33669f8", + "version-semver": "1.3.10", + "port-version": 0 + }, { "git-tree": "b35399fddec4f6e4eb68e16308d2b1d86b0e5427", "version-semver": "1.3.9", diff --git a/versions/p-/paho-mqttpp3.json b/versions/p-/paho-mqttpp3.json index 9312ab4a247514..775a42f9f19e28 100644 --- a/versions/p-/paho-mqttpp3.json +++ b/versions/p-/paho-mqttpp3.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "c617983064fd61825e4fee55377bfc30d2442649", + "version": "1.4.1", + "port-version": 1 + }, + { + "git-tree": "f8623e2eb93ba34257f2dde7e2add778b4937029", + "version": "1.4.1", + "port-version": 0 + }, + { + "git-tree": "eaf93e3c80805f50d436446e913e3f1bb6668054", + "version": "1.3.2", + "port-version": 0 + }, + { + "git-tree": "4e5982f9707bb0222b6694cee8d4a0d23698e20f", + "version": "1.2.0", + "port-version": 1 + }, { "git-tree": "850cb4a6ccac89062c16dd783ad0631215c1a94b", "version": "1.2.0", diff --git a/versions/p-/palsigslot.json b/versions/p-/palsigslot.json index 0339cee7a880ae..99ba0d70087541 100644 --- a/versions/p-/palsigslot.json +++ b/versions/p-/palsigslot.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "db0f38f4ec93dc19183222e89759d4355733e75f", + "version": "1.2.2", + "port-version": 0 + }, { "git-tree": "dd7ff9df2ee3a39656ab22a6fc6f210afa843513", "version": "1.2.1", diff --git a/versions/p-/pango.json b/versions/p-/pango.json index 0f14a351ccfc9f..3b7a731268df73 100644 --- a/versions/p-/pango.json +++ b/versions/p-/pango.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "ac54330a51296954a9479f950666df455bffb07a", + "version": "1.54.0", + "port-version": 0 + }, + { + "git-tree": "e2a88ce998fab5ed3f3a2edf817f32734c78187b", + "version": "1.50.14", + "port-version": 4 + }, + { + "git-tree": "4c3bbb58011a3e259be06531c08854dfd7bbabee", + "version": "1.50.14", + "port-version": 3 + }, + { + "git-tree": "d4a19a3119134de662a854a19436609b484d60ce", + "version": "1.50.14", + "port-version": 2 + }, + { + "git-tree": "ae2c0487d81de23e5f928edd4905c379be0bac54", + "version": "1.50.14", + "port-version": 1 + }, + { + "git-tree": "3985e71b9e3446f57995321a290a75a7bf5101dc", + "version": "1.50.14", + "port-version": 0 + }, + { + "git-tree": "5f1f5e6f18ba1451a6fd4dadf82463a2ac3f9326", + "version": "1.50.12", + "port-version": 2 + }, + { + "git-tree": "c6e7634fcf1696b43f8a6ec38db946b5dd279b7c", + "version": "1.50.12", + "port-version": 1 + }, + { + "git-tree": "db89d2912edfafb5bb63fd34e5a774ae8f526630", + "version": "1.50.12", + "port-version": 0 + }, + { + "git-tree": "603dfcd1767e9e61cff29bf3552cda854a225329", + "version": "1.50.11", + "port-version": 0 + }, + { + "git-tree": "f5c70fae168a14f944757f55afaeb847f1a0d026", + "version": "1.50.9", + "port-version": 0 + }, + { + "git-tree": "5275b5581f4cfc5ccb547a556f3affc4c92e05cd", + "version": "1.50.7", + "port-version": 0 + }, + { + "git-tree": "db85fd904e40578950bcc478e2bfad06c70e787a", + "version": "1.50.6", + "port-version": 0 + }, + { + "git-tree": "024f716f80c8454769393287ef14a75de4785f32", + "version": "1.50.3", + "port-version": 0 + }, + { + "git-tree": "a9cc75941c3ff73920fb3900615d84bc6f1b423e", + "version": "1.48.10", + "port-version": 1 + }, + { + "git-tree": "a411f99ebac4507806d3824364cc766f578850e5", + "version": "1.48.10", + "port-version": 0 + }, { "git-tree": "a130f1c74d2e337d2f9405fbb57f3b1fe46f173a", "version": "1.48.4", diff --git a/versions/p-/pangolin.json b/versions/p-/pangolin.json index 2775d5adca244d..95540496275374 100644 --- a/versions/p-/pangolin.json +++ b/versions/p-/pangolin.json @@ -1,5 +1,45 @@ { "versions": [ + { + "git-tree": "71d44252a59ed3737ec204b4789bcd2d30d5e621", + "version": "0.9.2", + "port-version": 0 + }, + { + "git-tree": "92ce228116d887cc4f381fadcc85ac3fccdea5ef", + "version": "0.8", + "port-version": 3 + }, + { + "git-tree": "669c1d887b36a039f058ad82615e0ef22d721f1d", + "version": "0.8", + "port-version": 2 + }, + { + "git-tree": "b6465120255800b1cb8df8fb0a47eff4970a2b47", + "version": "0.8", + "port-version": 1 + }, + { + "git-tree": "94c1e44cce955d8e29658ed7f1db982a3a695cc3", + "version": "0.8", + "port-version": 0 + }, + { + "git-tree": "d62a6b76d4bd5718163b90e1f54c154770df76fa", + "version": "0.6", + "port-version": 4 + }, + { + "git-tree": "d47198a68cd0a92fd6e74d50262dd657d027e217", + "version": "0.6", + "port-version": 3 + }, + { + "git-tree": "1515f75cbc480addcd0ca12c49c0435a0c9e158c", + "version": "0.6", + "port-version": 2 + }, { "git-tree": "f6f7eff13d603463a77a637879929275ecff776e", "version": "0.6", diff --git a/versions/p-/pangomm.json b/versions/p-/pangomm.json index 2634add9c57646..acd02fcced7f66 100644 --- a/versions/p-/pangomm.json +++ b/versions/p-/pangomm.json @@ -1,5 +1,45 @@ { "versions": [ + { + "git-tree": "934da9592c2710373598b3f3d3a53103bad2b1e4", + "version": "2.50.1", + "port-version": 3 + }, + { + "git-tree": "359b0fe0cdacbc56edd56143da7d545633e50960", + "version": "2.50.1", + "port-version": 2 + }, + { + "git-tree": "34b3f456c3c28463b38376b91dddb715ec4a6b7c", + "version": "2.50.1", + "port-version": 1 + }, + { + "git-tree": "10147b103c8e2678a9a45161a861a239c73d7d17", + "version": "2.50.1", + "port-version": 0 + }, + { + "git-tree": "34d3ec912d605fecbc17c5eee6257db6574c5318", + "version": "2.50.0", + "port-version": 2 + }, + { + "git-tree": "5aebede0dd324cd7e5db1460e1d9be26d18685ba", + "version": "2.50.0", + "port-version": 1 + }, + { + "git-tree": "72d0e19b3eb2fdb5d8c60c1ae78bafc51866325d", + "version": "2.50.0", + "port-version": 0 + }, + { + "git-tree": "c01e75e9dc192ca4e6e7161f3362d6866a952e7c", + "version": "2.48.1", + "port-version": 1 + }, { "git-tree": "1ff0b71c742896ffb9da84638f7e20b2960aff80", "version": "2.48.1", diff --git a/versions/p-/parallel-hashmap.json b/versions/p-/parallel-hashmap.json index eb98c22e2cadb4..e66fe3f1e8326b 100644 --- a/versions/p-/parallel-hashmap.json +++ b/versions/p-/parallel-hashmap.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "0eb5e48df41dae1c8f94c69ffd96d38fa96b28c1", + "version": "1.4.0", + "port-version": 0 + }, + { + "git-tree": "e4e2fc2791da985acdc7214048c247a151d5b492", + "version": "1.3.12", + "port-version": 0 + }, + { + "git-tree": "48536bee28b7473d0e838f70946ddfe8afdba2e2", + "version": "1.3.11", + "port-version": 0 + }, + { + "git-tree": "65be62557bbdb29d6d0ee383b70a6f84ef401b2f", + "version": "1.3.8", + "port-version": 0 + }, + { + "git-tree": "80dc90f1c5acfd71797d79ecc2e976e0d1185afc", + "version": "1.36", + "port-version": 0 + }, + { + "git-tree": "f72efb2dae42b2f746be8e239b00b707b3a61449", + "version": "1.34", + "port-version": 0 + }, { "git-tree": "4c8c5305bf3135855a29acfde1effc1f9897ea4d", "version-string": "1.33", diff --git a/versions/p-/parallelstl.json b/versions/p-/parallelstl.json index 03fd3de02ee3e2..0aa4dcbc0db495 100644 --- a/versions/p-/parallelstl.json +++ b/versions/p-/parallelstl.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "ebb3771df9c41c1ce97f00d55a3a303390a53cfd", + "version": "20200330", + "port-version": 3 + }, + { + "git-tree": "c346357a00664a95f183ba0d0565b7badac24635", + "version-string": "20200330", + "port-version": 2 + }, { "git-tree": "9cfc36b104fb78856a7a5f6ec585f263a8c07924", "version-string": "20200330", diff --git a/versions/p-/paraview.json b/versions/p-/paraview.json index c90ffe0d8995c4..cbcc7a8a4cf39a 100644 --- a/versions/p-/paraview.json +++ b/versions/p-/paraview.json @@ -1,5 +1,65 @@ { "versions": [ + { + "git-tree": "44f6c15c7d9d433dd86de5546560c598e7922ec8", + "version": "5.12.1", + "port-version": 2 + }, + { + "git-tree": "1995d873358ccb876209e5ece80dc8d8dba04f2c", + "version": "5.12.1", + "port-version": 1 + }, + { + "git-tree": "8786e13e09e9f44ff0cc01f994d8e808f9d54532", + "version": "5.12.1", + "port-version": 0 + }, + { + "git-tree": "2a5437265d59f394fd71329e0ea2e16fef5cd516", + "version": "5.12.0", + "port-version": 0 + }, + { + "git-tree": "2dbdde07d29c13b69e83fb0a022568b3c20c4b4c", + "version": "5.11.0", + "port-version": 5 + }, + { + "git-tree": "2aa3d8185a319a76c7961608ecce8b2f03c08cd7", + "version": "5.11.0", + "port-version": 4 + }, + { + "git-tree": "ef783841125e47d511ecc6d0108e7b1ecaef1469", + "version": "5.11.0", + "port-version": 3 + }, + { + "git-tree": "1b93a58c420dc6478318aba2958a0334a7759b36", + "version": "5.11.0", + "port-version": 2 + }, + { + "git-tree": "7076e5d1dc86dc41ca0f3ad6567ffbe06b86166c", + "version": "5.11.0", + "port-version": 1 + }, + { + "git-tree": "2d9618d727ccb99ba7067dc82a21fca3afe402d3", + "version": "5.11.0", + "port-version": 0 + }, + { + "git-tree": "8f5d22c6754f293f54a360472f78e760f06aae80", + "version": "5.9.1", + "port-version": 2 + }, + { + "git-tree": "7011d869273b8aa610ef7b302587c614137c73e5", + "version-semver": "5.9.1", + "port-version": 1 + }, { "git-tree": "a43b7d1bc53e7bdafcb4b73c3e9d84b9f80ecc22", "version-semver": "5.9.1", diff --git a/versions/p-/parmetis.json b/versions/p-/parmetis.json index f47f478b85b5cf..48b9b25f40021f 100644 --- a/versions/p-/parmetis.json +++ b/versions/p-/parmetis.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "e16a0bdc9bfe506f67b8204e5f725faa6a026c4c", + "version-date": "2022-07-27", + "port-version": 0 + }, { "git-tree": "28d903df01ef4780a7b02c8a8437ec37be859aba", "version-string": "4.0.3", diff --git a/versions/p-/parquet.json b/versions/p-/parquet.json index 91b6e1e7f85c75..fbee3b5f7cd030 100644 --- a/versions/p-/parquet.json +++ b/versions/p-/parquet.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "bf699327dbf4ef8d8f7f94eb1c21305c7b71579f", + "version": "0", + "port-version": 2 + }, { "git-tree": "35d3995589a5c775f1f64cb1f3f331fd38362fb9", "version-string": "0", diff --git a/versions/p-/parsi.json b/versions/p-/parsi.json new file mode 100644 index 00000000000000..848d1de8df39fe --- /dev/null +++ b/versions/p-/parsi.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "a9a39be660329c96c3a59d7b87a62323d2dee934", + "version": "0.1.0", + "port-version": 0 + } + ] +} diff --git a/versions/p-/parson.json b/versions/p-/parson.json index 1ef1231962cd10..b6c1212e5de108 100644 --- a/versions/p-/parson.json +++ b/versions/p-/parson.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "bdf972c3f23e82b339cf0f57ab65d2a8cd6306e8", + "version-date": "2023-10-31", + "port-version": 0 + }, + { + "git-tree": "a154132abe66de11955af5aaca44575373120acd", + "version-date": "2022-11-13", + "port-version": 0 + }, { "git-tree": "40671b05e30f32cdc83003036e882ed4b1f7b44d", "version-string": "2020-09-14", diff --git a/versions/p-/pbc.json b/versions/p-/pbc.json index 8231fad8f66870..3b0353201e6fe9 100644 --- a/versions/p-/pbc.json +++ b/versions/p-/pbc.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "6789ed942578afe4baac765d5e7549d421c25c76", + "version": "0.5.14", + "port-version": 9 + }, + { + "git-tree": "096b1e1d4077f9fbe44e8b0a6fa306e83270c632", + "version": "0.5.14", + "port-version": 8 + }, + { + "git-tree": "23f4f1804aaa515560fdd3efa19485c9714d2a20", + "version": "0.5.14", + "port-version": 7 + }, + { + "git-tree": "23742abe8879e71a911c56845977ad2387e9bfa6", + "version": "0.5.14", + "port-version": 6 + }, { "git-tree": "de531bdf83ba5c3a005655bde246d58074a28937", "version-string": "0.5.14", diff --git a/versions/p-/pcapplusplus.json b/versions/p-/pcapplusplus.json index 7c5b4840c76e73..bed5d10fb71ce2 100644 --- a/versions/p-/pcapplusplus.json +++ b/versions/p-/pcapplusplus.json @@ -1,5 +1,50 @@ { "versions": [ + { + "git-tree": "b165fe065b7d33ca9731cc4af4acee2f81bd2cf2", + "version": "24.9", + "port-version": 0 + }, + { + "git-tree": "5f7f815b341f0f5a5d1456894d8b30786ae24abf", + "version": "23.9", + "port-version": 2 + }, + { + "git-tree": "51f8425ebc003224002c45c5f7454ebf2fb79a82", + "version": "23.9", + "port-version": 1 + }, + { + "git-tree": "3dc217621a6ef6ef4f4bd353a1e5088b15960428", + "version": "22.11", + "port-version": 1 + }, + { + "git-tree": "0959bc0d3b12e4e90af3ce1d6983566957af555b", + "version-string": "22.11", + "port-version": 0 + }, + { + "git-tree": "8e13cef16f2b535aabf5672b3617ff0559772f61", + "version-string": "22.05", + "port-version": 2 + }, + { + "git-tree": "fc809c85d5fb8f4c3132cac73cd48df0704dd170", + "version-string": "22.05", + "port-version": 1 + }, + { + "git-tree": "1bcf1e7a1ad1f7899adc1c423c248fea6b86553e", + "version-string": "22.05", + "port-version": 0 + }, + { + "git-tree": "f1f63c9365f0cb128761835ebceeafb6b162c815", + "version": "21.11", + "port-version": 1 + }, { "git-tree": "e0480fc24edf7b699eb027d24c3737026dd1128c", "version-string": "21.11", diff --git a/versions/p-/pcg.json b/versions/p-/pcg.json index 52b5f3c7c34f84..e8ecf30f7b4dcc 100644 --- a/versions/p-/pcg.json +++ b/versions/p-/pcg.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "e99f9b5bed0586fa85e5410bb27917496450481b", + "version-date": "2021-04-06", + "port-version": 2 + }, { "git-tree": "dfdbf3fad0c295b94b400509530d3642d5a6abcc", "version-string": "2021-04-06", diff --git a/versions/p-/pciids.json b/versions/p-/pciids.json new file mode 100644 index 00000000000000..970dd93e6a342d --- /dev/null +++ b/versions/p-/pciids.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "ffc7c82fb249347c25b294b6c8131e1f3b2156c2", + "version-date": "2023-04-11", + "port-version": 0 + } + ] +} diff --git a/versions/p-/pcl.json b/versions/p-/pcl.json index bd9ea8b055d0fb..affe46029eea67 100644 --- a/versions/p-/pcl.json +++ b/versions/p-/pcl.json @@ -1,5 +1,115 @@ { "versions": [ + { + "git-tree": "57795e21c0c37576db6bfb1df3b134de461d10e0", + "version": "1.14.1", + "port-version": 3 + }, + { + "git-tree": "00b339d9b6b61b9f0742cfea4c482e70e9ac5ad8", + "version": "1.14.1", + "port-version": 2 + }, + { + "git-tree": "e55506ffdfffe9bc2104eadddea53dde27686a8d", + "version": "1.14.1", + "port-version": 1 + }, + { + "git-tree": "d21fc9ad60ee928ee8d65084b278b7254ea02cab", + "version": "1.14.1", + "port-version": 0 + }, + { + "git-tree": "9776a87fc76d599003ab1341bfb8f9a84bbb9f84", + "version": "1.14.0", + "port-version": 3 + }, + { + "git-tree": "21bdd0f28179266f7d337a3503457bba19a7546f", + "version": "1.14.0", + "port-version": 2 + }, + { + "git-tree": "e4a3a2d2b7ad47ad0f55b10f1ba7401e65343610", + "version": "1.14.0", + "port-version": 1 + }, + { + "git-tree": "547556098f29483403ca91d1b4ece9b7dc73d104", + "version": "1.14.0", + "port-version": 0 + }, + { + "git-tree": "55fa760d44b858555a5c350ec8b2a1f26e97e84e", + "version": "1.13.1", + "port-version": 2 + }, + { + "git-tree": "8f4bb7a9a1e628b9444dad7f5a36a2163df572ac", + "version": "1.13.1", + "port-version": 1 + }, + { + "git-tree": "83f84dc2de83d25e4eb58d69fcf09086ee8b65b5", + "version": "1.13.1", + "port-version": 0 + }, + { + "git-tree": "c780fc254eb97b60360f60c43034a625667c6530", + "version": "1.13.0", + "port-version": 3 + }, + { + "git-tree": "0c53a841b49d311f52e047bc61455479475c446e", + "version": "1.13.0", + "port-version": 2 + }, + { + "git-tree": "b992407a0319c7dc434236acb567e629367d8eff", + "version": "1.13.0", + "port-version": 1 + }, + { + "git-tree": "f295f2d1ea57514c89835cd797fa8cca1d0b5fdf", + "version": "1.13.0", + "port-version": 0 + }, + { + "git-tree": "aec81fe0832359b4fea5929da4e34af33f116baa", + "version": "1.12.0", + "port-version": 7 + }, + { + "git-tree": "af82798f0369372866e38d58f1e38a1165801c1d", + "version": "1.12.0", + "port-version": 6 + }, + { + "git-tree": "5e5ebb57bf0a08e7eab28fe3571ebaa55c3d4ba8", + "version": "1.12.0", + "port-version": 5 + }, + { + "git-tree": "7e54ab86574dfc901275996e282f8db5c6c9c3fb", + "version": "1.12.0", + "port-version": 4 + }, + { + "git-tree": "0f0c24ef83692fbcc9434ec9622592ba9b16e0d5", + "version": "1.12.0", + "port-version": 3 + }, + { + "git-tree": "5d02740fc9422f1b520ae322cda71e8e6e5323cf", + "version": "1.12.0", + "port-version": 2 + }, + { + "git-tree": "a2eb47fa4d7f959d9c8712f0d0925c2af94bcc80", + "version": "1.12.0", + "port-version": 1 + }, { "git-tree": "6a65773e049bbdfef835781a6a61ee6a3a94dd27", "version": "1.12.0", diff --git a/versions/p-/pcre.json b/versions/p-/pcre.json index 22f1e01a977382..556d401cca245a 100644 --- a/versions/p-/pcre.json +++ b/versions/p-/pcre.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "50cd82cb1c716b4c31687b01c009a751f4259c8e", + "version": "8.45", + "port-version": 6 + }, + { + "git-tree": "7c8089ce40f585844a2ae5b9c80ba095b172d53d", + "version": "8.45", + "port-version": 5 + }, + { + "git-tree": "50ec11ace2145fac2b0b01dae365a6764f716c6e", + "version": "8.45", + "port-version": 4 + }, + { + "git-tree": "e8f61fdc5d1286667a8e14eb9521500b882394ad", + "version": "8.45", + "port-version": 3 + }, + { + "git-tree": "693b4da6141be8041f8db0caa1b60ce246b47dcb", + "version": "8.45", + "port-version": 2 + }, { "git-tree": "b1eb815e0c923baec32da26918e951b288adbaa5", "version": "8.45", diff --git a/versions/p-/pcre2.json b/versions/p-/pcre2.json index 664e5218fd31e7..a28292741c0e78 100644 --- a/versions/p-/pcre2.json +++ b/versions/p-/pcre2.json @@ -1,5 +1,55 @@ { "versions": [ + { + "git-tree": "eeb6bcd249a7a2fd9be3f305c694279227fdf6cc", + "version": "10.43", + "port-version": 0 + }, + { + "git-tree": "b7b4e761a5ad4ca25851cfa01dcb62f358a5378e", + "version": "10.42", + "port-version": 3 + }, + { + "git-tree": "20b801575053f62e43a5ab22a8812e3f01302e88", + "version": "10.42", + "port-version": 2 + }, + { + "git-tree": "678c2336c4102c5a8868570c60140fdc2a8d1dcf", + "version": "10.42", + "port-version": 1 + }, + { + "git-tree": "148d5898b3c1925fd8e82663589917255172d5c9", + "version": "10.42", + "port-version": 0 + }, + { + "git-tree": "533fc8ada3da33f695eb499fe8190a5e9b24a5c8", + "version": "10.40", + "port-version": 2 + }, + { + "git-tree": "941f187c16a9385815fd353a9b79abf55bd2a7ec", + "version": "10.40", + "port-version": 1 + }, + { + "git-tree": "725d8f25eea7d10b24944f314db69aa8b29d4932", + "version": "10.40", + "port-version": 0 + }, + { + "git-tree": "9a15903858198c8a3b890972b5e8c0d2aa3f89f8", + "version": "10.39", + "port-version": 2 + }, + { + "git-tree": "b25437749e0bcdd96807c66a8fc8764382c55203", + "version": "10.39", + "port-version": 1 + }, { "git-tree": "a7adfd692604527d08dfc188301fb73bae107550", "version": "10.39", diff --git a/versions/p-/pdal-c.json b/versions/p-/pdal-c.json index b989fb33fdff02..99ecbc9777cee2 100644 --- a/versions/p-/pdal-c.json +++ b/versions/p-/pdal-c.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "d7916bf5653f1e62814a0a975e2af90d6862c881", + "version": "2.2.0", + "port-version": 0 + }, + { + "git-tree": "e84b5eb190d2b4885ff56ec4168b1c6ba5569fb9", + "version": "2.1", + "port-version": 1 + }, + { + "git-tree": "c19bcf077b95f0d81ef14bfdf9774795521d6013", + "version-string": "2.1", + "port-version": 0 + }, { "git-tree": "9319bb871924d143523c4e79ecc45bc9260360b5", "version-string": "1.8", diff --git a/versions/p-/pdal-dimbuilder.json b/versions/p-/pdal-dimbuilder.json new file mode 100644 index 00000000000000..712a9e5b4dcebb --- /dev/null +++ b/versions/p-/pdal-dimbuilder.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "585539caac69de6a9c8b9e13c69f614126bac008", + "version": "2.8.1", + "port-version": 0 + } + ] +} diff --git a/versions/p-/pdal.json b/versions/p-/pdal.json index 65cfa4505309ab..289afa30ee8c00 100644 --- a/versions/p-/pdal.json +++ b/versions/p-/pdal.json @@ -1,5 +1,65 @@ { "versions": [ + { + "git-tree": "d05e42385481a0708b329e583cc70f8ee102305f", + "version": "2.8.1", + "port-version": 0 + }, + { + "git-tree": "91391b35fb1af3810e79110564bcf6e668dd9194", + "version": "2.5.3", + "port-version": 3 + }, + { + "git-tree": "59463f5cf4dccd2c2167abad2e290413cdc91d22", + "version": "2.5.3", + "port-version": 2 + }, + { + "git-tree": "a8618eb3877634f95eb6edbbba64f3e4cccb1d58", + "version": "2.5.3", + "port-version": 1 + }, + { + "git-tree": "36cec2be04df8ba1771c374ccc8ae3c8a0cc96f3", + "version": "2.5.3", + "port-version": 0 + }, + { + "git-tree": "e0e82c8480da2e69cc7532911895844095466aad", + "version": "2.4.3", + "port-version": 3 + }, + { + "git-tree": "ecc35d5b8ff83ebb84e0f2edfa7c5fef7630467f", + "version": "2.4.3", + "port-version": 2 + }, + { + "git-tree": "be0fc52801df7c7409e934914c7cca650f507f8e", + "version": "2.4.3", + "port-version": 1 + }, + { + "git-tree": "8b72a995f43fed0287dca94b7f45bc1855b8fa43", + "version": "2.4.3", + "port-version": 0 + }, + { + "git-tree": "0c5321217b19b80c58854e9cd2141633e00c0fc7", + "version": "2.4.0", + "port-version": 1 + }, + { + "git-tree": "674fea8cc4044272fef94a061252c4aeb4e6373c", + "version": "2.4.0", + "port-version": 0 + }, + { + "git-tree": "408d14a540c0a1e217efec2deea453594d9d1bde", + "version": "2.3.0", + "port-version": 0 + }, { "git-tree": "11280c0564220eb3e82eae1c596843daf5b79294", "version": "1.7.1", diff --git a/versions/p-/pdcurses.json b/versions/p-/pdcurses.json index 28588339065bf0..7760ad05787b4f 100644 --- a/versions/p-/pdcurses.json +++ b/versions/p-/pdcurses.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "61d47c082b38bc7c50c5b81d730c698dd4cea04f", + "version": "3.9", + "port-version": 6 + }, + { + "git-tree": "a74893fbd7290450958bf2beddbb59486bb8c04f", + "version": "3.9", + "port-version": 5 + }, + { + "git-tree": "cb1edd90103d19fa2ecf7e6343416a35714ffe43", + "version": "3.9", + "port-version": 4 + }, + { + "git-tree": "e09ec910aff6b25bd1e1554b15dce08656b3f3d5", + "version-string": "3.9", + "port-version": 3 + }, { "git-tree": "190eafb5554bf1f484edff1aa94598bac3ff9830", "version-string": "3.9", diff --git a/versions/p-/pdqsort.json b/versions/p-/pdqsort.json index cda3f3dc435fc0..6f112c9269ff92 100644 --- a/versions/p-/pdqsort.json +++ b/versions/p-/pdqsort.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "5b8febcdb827ff644e65b87287e69a322e90d959", + "version-date": "2019-07-30", + "port-version": 2 + }, { "git-tree": "70783c2d8d848d78dd2d725fd1cf16d669b7c356", "version-string": "2019-07-30", diff --git a/versions/p-/pe-parse.json b/versions/p-/pe-parse.json index 82b2b23396582b..495af662ad6418 100644 --- a/versions/p-/pe-parse.json +++ b/versions/p-/pe-parse.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "20bff5e992991e9824bfbcd42ea6a52313cb5446", + "version": "2.1.1", + "port-version": 0 + }, + { + "git-tree": "d3e0e5dcb11738632d8eba03e22e4f0530ae5445", + "version": "2.1.0", + "port-version": 1 + }, + { + "git-tree": "94a994b08f738c94aa751def532be843595ebf62", + "version": "2.1.0", + "port-version": 0 + }, { "git-tree": "46ac74f817dcb2fed549ac83eca39761bae2c4ae", "version": "1.3.0", diff --git a/versions/p-/pegtl-2.json b/versions/p-/pegtl-2.json index c9c69fc5c27245..fc0015e9d25c4b 100644 --- a/versions/p-/pegtl-2.json +++ b/versions/p-/pegtl-2.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "a2d2306e1021faeb0c473f1e67896a48f039de17", + "version": "2.8.3", + "port-version": 3 + }, + { + "git-tree": "7f33030e3ca062aaa5b8c5cd1c17b5062a1d077f", + "version-string": "2.8.3", + "port-version": 2 + }, { "git-tree": "9c7c1cd5779e8bf0ae828b94485817dce0710dba", "version-string": "2.8.3", diff --git a/versions/p-/pegtl.json b/versions/p-/pegtl.json index 8e6ca64f091608..26f8901e651cc8 100644 --- a/versions/p-/pegtl.json +++ b/versions/p-/pegtl.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "a26e3e871ca672ff3c3b6add5f23d485612bfd73", + "version-semver": "3.2.8", + "port-version": 0 + }, + { + "git-tree": "ee1dbb5f06f7dee38ef4a535efcbe4488556d349", + "version-semver": "3.2.7", + "port-version": 0 + }, + { + "git-tree": "ed96fd80f2820b9e5ad6f38a9ea24d7aebfb64be", + "version-semver": "3.2.6", + "port-version": 0 + }, + { + "git-tree": "43adc8ee136a8dd0ea88b54a6a7fdc7325cf7327", + "version-semver": "3.2.5", + "port-version": 0 + }, { "git-tree": "9e9bdd7c1860ebc540ca2df7ab8451e596dfff3a", "version-semver": "3.2.2", diff --git a/versions/p-/perfetto.json b/versions/p-/perfetto.json new file mode 100644 index 00000000000000..960ae2a02cec63 --- /dev/null +++ b/versions/p-/perfetto.json @@ -0,0 +1,34 @@ +{ + "versions": [ + { + "git-tree": "8151fa8ee7a8dce0abcb638986d56165b61d72a5", + "version": "48.1", + "port-version": 0 + }, + { + "git-tree": "a21f08b9f5fbf6b716698ed7a1499f61eadca1f3", + "version": "47.0", + "port-version": 0 + }, + { + "git-tree": "87c775f6546ba2a72c09d2c7b0e439ab5ca8dc33", + "version": "46.0", + "port-version": 0 + }, + { + "git-tree": "563167ada317e91ada564ab0da3031b4fe2224e2", + "version": "45.0", + "port-version": 0 + }, + { + "git-tree": "1b0c3aa6b6a74c0bcb55f1475f5874d0ae9a05fb", + "version": "44.0", + "port-version": 0 + }, + { + "git-tree": "db7cf7be562a134411d6aadaeef44df6e9758e6f", + "version": "43.1", + "port-version": 0 + } + ] +} diff --git a/versions/p-/pffft.json b/versions/p-/pffft.json index 9defc01344321a..90b53b67189b6e 100644 --- a/versions/p-/pffft.json +++ b/versions/p-/pffft.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "525bc1ec4fd9aa77feeaba44fc6f0cf717716ae1", + "version-date": "2021-10-09", + "port-version": 1 + }, { "git-tree": "c425b1091069b34450a9b7e524f1cad202e4e709", "version-date": "2021-10-09", diff --git a/versions/p-/pfring.json b/versions/p-/pfring.json index a38584c0bad58e..089731ba8528d0 100644 --- a/versions/p-/pfring.json +++ b/versions/p-/pfring.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "3bb6f251467f6c02a873020247ec2982935dc9f3", + "version": "8.4.0", + "port-version": 0 + }, + { + "git-tree": "ed3dbffb4364b80331f2b986435bad956f39ad09", + "version-date": "2019-10-17", + "port-version": 4 + }, { "git-tree": "cc03f1b404adc6a550e8d7b9d5d36795fac6b4b7", "version-string": "2019-10-17", diff --git a/versions/p-/pfultz2-linq.json b/versions/p-/pfultz2-linq.json index 8bbbcc15fa16ee..8164ebc79747cb 100644 --- a/versions/p-/pfultz2-linq.json +++ b/versions/p-/pfultz2-linq.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "f2ad1ee9e58e3e6afcc6bf0872583a3871a65bcf", + "version-date": "2019-05-14", + "port-version": 3 + }, + { + "git-tree": "debf87753624003ec29fcf03e8ae9d53fd8660b4", + "version-string": "2019-05-14", + "port-version": 2 + }, { "git-tree": "8e242ac1b54aad9121c9f869c1c5db61910a7150", "version-string": "2019-05-14", diff --git a/versions/p-/phnt.json b/versions/p-/phnt.json index b5239bae979756..6d9782c60ecb9b 100644 --- a/versions/p-/phnt.json +++ b/versions/p-/phnt.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "3bd14202437bd8676103fbcdaeb9d198fd39a4a9", + "version-date": "2024-05-22", + "port-version": 0 + }, { "git-tree": "93f6534bed52cf8dfda970f4ddc5b51352eac5bd", "version-date": "2020-12-21", diff --git a/versions/p-/physac.json b/versions/p-/physac.json new file mode 100644 index 00000000000000..56caa120dd51bf --- /dev/null +++ b/versions/p-/physac.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "9223c960b5280c6fed8fb4289523a3433b50349e", + "version": "1.1", + "port-version": 0 + } + ] +} diff --git a/versions/p-/physfs.json b/versions/p-/physfs.json index 7e719741c5465f..791f440acf7606 100644 --- a/versions/p-/physfs.json +++ b/versions/p-/physfs.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "09bfe04124fab72544d0a7c27efcccb4005dc784", + "version-semver": "3.2.0", + "port-version": 1 + }, + { + "git-tree": "7d594baf908325d64c1223954daf61842e7be1db", + "version-semver": "3.2.0", + "port-version": 0 + }, + { + "git-tree": "0acbb8771db07ce3e4641f015189fb48e732bdd5", + "version-semver": "3.0.2", + "port-version": 7 + }, { "git-tree": "17d9ad3560e379cc51921a51982f4d31d106f1ed", "version-semver": "3.0.2", diff --git a/versions/p-/physx.json b/versions/p-/physx.json index 4d5ac929d2f13e..ef29a8f6945e7f 100644 --- a/versions/p-/physx.json +++ b/versions/p-/physx.json @@ -1,5 +1,45 @@ { "versions": [ + { + "git-tree": "890453e6b337c77f35dbb33620ac0ab32113f22f", + "version": "5.3.0", + "port-version": 0 + }, + { + "git-tree": "9663323fd4b0d5ff6623bad944b8f60ea2455821", + "version": "5.2.1", + "port-version": 0 + }, + { + "git-tree": "038801f9419a356c7082b1501620bdef60da6d66", + "version": "4.1.2", + "port-version": 6 + }, + { + "git-tree": "b081926dc46f3fadf1696719e4b708f4cd136f25", + "version": "4.1.2", + "port-version": 5 + }, + { + "git-tree": "ebfd4955bdff06becb259bc91575143bc9866dcc", + "version": "4.1.2", + "port-version": 4 + }, + { + "git-tree": "304769b6a45107c9a8abf12fad9b9d82bac22c3b", + "version": "4.1.2", + "port-version": 3 + }, + { + "git-tree": "8e20a94664b966271a5e7684e73b2efab2461ba8", + "version-semver": "4.1.2", + "port-version": 2 + }, + { + "git-tree": "3efd7a1c7727eec4a15ba3ac6f8f013550750760", + "version-semver": "4.1.2", + "port-version": 1 + }, { "git-tree": "c2731461cec1f38b720c3db1038e3096957244a4", "version-semver": "4.1.2", @@ -46,4 +86,4 @@ "port-version": 0 } ] -} +} \ No newline at end of file diff --git a/versions/p-/picojson.json b/versions/p-/picojson.json index 05665cd4d0b2ed..e4168b75c7861a 100644 --- a/versions/p-/picojson.json +++ b/versions/p-/picojson.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "38eb00e2d3f94c17ae204744d95228441bbc51e3", + "version": "1.3.0", + "port-version": 3 + }, { "git-tree": "2d186166bf75e9e77fce5e6a93440d5aa21fc830", "version-string": "1.3.0", diff --git a/versions/p-/picosha2.json b/versions/p-/picosha2.json index 57e22ab28a0c32..160e50f92ed728 100644 --- a/versions/p-/picosha2.json +++ b/versions/p-/picosha2.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "c873a8748f3e35ae1be390b0de9cc3754191c987", + "version-date": "2018-07-30", + "port-version": 2 + }, { "git-tree": "8192d1108b62d31bcb879332175c994fa62878dc", "version-string": "2018-07-30", diff --git a/versions/p-/piex.json b/versions/p-/piex.json index fcca063f2cdac4..dd5cd37456d387 100644 --- a/versions/p-/piex.json +++ b/versions/p-/piex.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "f9f7ad5427c18be18708d00150fe9ca33dc30a8a", + "version-date": "2019-07-11", + "port-version": 2 + }, { "git-tree": "08ede8e9e8ed0d849edd62a316b407041cc8d4aa", "version-string": "2019-07-11", diff --git a/versions/p-/pipewire.json b/versions/p-/pipewire.json new file mode 100644 index 00000000000000..efb284de741655 --- /dev/null +++ b/versions/p-/pipewire.json @@ -0,0 +1,69 @@ +{ + "versions": [ + { + "git-tree": "9cd946c560c5fb45927e429d3e879aab1868335f", + "version": "1.2.6", + "port-version": 0 + }, + { + "git-tree": "76b5ab518b516d973957b81e57aecd436ff31e08", + "version": "1.2.5", + "port-version": 0 + }, + { + "git-tree": "1538246b12f82dde1b814eeaf3c4e94f5b1171bd", + "version": "1.0.4", + "port-version": 3 + }, + { + "git-tree": "ab306b1419e587cc0025b4cb9bec1194e6c2b496", + "version": "1.0.4", + "port-version": 2 + }, + { + "git-tree": "156fac228a2b2cdbc747c95719e211bbebc2124b", + "version": "1.0.4", + "port-version": 1 + }, + { + "git-tree": "7bb52f74312866063db30d304e9991779e574e61", + "version": "1.0.4", + "port-version": 0 + }, + { + "git-tree": "7bc7a0a813fb6a8e867d028bfdaf12d3f56a3893", + "version": "1.0.3", + "port-version": 0 + }, + { + "git-tree": "f70021c500177982cf69785bf73ee0a02fe321ca", + "version": "1.0.2", + "port-version": 0 + }, + { + "git-tree": "482bffaec768a8c253cd14b8dec373db14a49338", + "version": "0.3.83", + "port-version": 0 + }, + { + "git-tree": "a013a40facd5bdfc94419f5ce591b2c776922462", + "version": "0.3.62", + "port-version": 0 + }, + { + "git-tree": "df4f2f936dc0a3f497e817b38e31209a399744e8", + "version": "0.3.60", + "port-version": 0 + }, + { + "git-tree": "c3fc407ec59160e15daff40a26eb60515840763e", + "version": "0.3.52", + "port-version": 1 + }, + { + "git-tree": "4ec746fd8458f073339bf953335742b2abb0ac53", + "version": "0.3.52", + "port-version": 0 + } + ] +} diff --git a/versions/p-/pistache.json b/versions/p-/pistache.json index e7538a69397a27..9c84e2e39a0808 100644 --- a/versions/p-/pistache.json +++ b/versions/p-/pistache.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "270e04cb56d330fc6cd8482697341ed0d3bf1320", + "version-date": "2021-03-31", + "port-version": 3 + }, { "git-tree": "e8c089b0eec0784be71fb4347dbd583c4aaeb0d8", "version-date": "2021-03-31", diff --git a/versions/p-/pixel.json b/versions/p-/pixel.json index d10f82cfa36d0a..3e2ca86e6a320c 100644 --- a/versions/p-/pixel.json +++ b/versions/p-/pixel.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "54bad3e5b7d0455972d0cc84fa90e5d6549b6203", + "version-date": "2022-03-15", + "port-version": 1 + }, + { + "git-tree": "dbf76415a78802e7dc2717280e2a44123a04df69", + "version-date": "2022-03-15", + "port-version": 0 + }, + { + "git-tree": "346ea5fe92b2cfe055a1cd242868605e56d94318", + "version": "0.3", + "port-version": 4 + }, { "git-tree": "57198090e451e125ad231a0a1068643cbd06cb61", "version-string": "0.3", diff --git a/versions/p-/pixman.json b/versions/p-/pixman.json index 9d4faf2fd5ada0..ad9d3c9babfca4 100644 --- a/versions/p-/pixman.json +++ b/versions/p-/pixman.json @@ -1,5 +1,60 @@ { "versions": [ + { + "git-tree": "6b62aac8f96d7fe4e407759601cfdbc350afa9ae", + "version": "0.43.4", + "port-version": 1 + }, + { + "git-tree": "f7e1a97a6af1ad657489f901a6ca14db24652eff", + "version": "0.43.4", + "port-version": 0 + }, + { + "git-tree": "2818a78546de0d60e38b89011073ff7ae398796e", + "version": "0.43.2", + "port-version": 0 + }, + { + "git-tree": "a51c895edc5dd8067f51b600d631a5e8b32a65e8", + "version": "0.42.2", + "port-version": 2 + }, + { + "git-tree": "f32a4f787dec8e87ac46200c3be33fc616493d98", + "version": "0.42.2", + "port-version": 1 + }, + { + "git-tree": "a6bc25e07965cb8f3fb609900729d58c1f222457", + "version": "0.42.2", + "port-version": 0 + }, + { + "git-tree": "f26230558cb33582de396b799e90a9046672b151", + "version": "0.40.0", + "port-version": 5 + }, + { + "git-tree": "d0209cb23d5ca18cd74fa4a67e7ca80f7e81c0cd", + "version": "0.40.0", + "port-version": 4 + }, + { + "git-tree": "f6930f7300af86c20679b38f53bbdbc1a1310eed", + "version": "0.40.0", + "port-version": 3 + }, + { + "git-tree": "85d5aa0bbd91cff8853d0767bc9dc73e97156291", + "version": "0.40.0", + "port-version": 2 + }, + { + "git-tree": "c2dd7fec404954b43ad0da4ee86c29a4cfdd8fc1", + "version": "0.40.0", + "port-version": 1 + }, { "git-tree": "9fa31a3aa7682c205028903d0b2d2df269a95db5", "version": "0.40.0", diff --git a/versions/p-/pkgconf.json b/versions/p-/pkgconf.json index 44a48125a8f1b4..f9a51fb1a4b1c6 100644 --- a/versions/p-/pkgconf.json +++ b/versions/p-/pkgconf.json @@ -1,5 +1,45 @@ { "versions": [ + { + "git-tree": "ae3886d8a627ec99dd18890389b6d5d331e29799", + "version": "2.3.0", + "port-version": 0 + }, + { + "git-tree": "cacd18e2bc70298fcf4665ff6f14238b6071013e", + "version": "2.2.0", + "port-version": 0 + }, + { + "git-tree": "ea46d2e90c7d74f952d99b6640a88cb9bef6438f", + "version": "2.1.0", + "port-version": 0 + }, + { + "git-tree": "8848e56b32837456dfb872f6ca3cc9953558d453", + "version": "1.8.0", + "port-version": 5 + }, + { + "git-tree": "1b19a4f679f330a422d353f54a9148fa3672c2c1", + "version": "1.8.0", + "port-version": 4 + }, + { + "git-tree": "a0408f161d8a23907635840add678d5946024d09", + "version": "1.8.0", + "port-version": 3 + }, + { + "git-tree": "5b599bd7dbbbc7837f7dbcf1b111478da076e2a4", + "version": "1.8.0", + "port-version": 2 + }, + { + "git-tree": "cbcb5f984f7713a636caa075f06b755d37493dbd", + "version": "1.8.0", + "port-version": 1 + }, { "git-tree": "a56de4007c52482253b4e052bc5551655711034c", "version": "1.8.0", diff --git a/versions/p-/plasma-wayland-protocols.json b/versions/p-/plasma-wayland-protocols.json new file mode 100644 index 00000000000000..5c8795e8bfbb12 --- /dev/null +++ b/versions/p-/plasma-wayland-protocols.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "d5de80e9722055b7a9df78a6986f82ed6b5e0a44", + "version": "1.14.0", + "port-version": 0 + }, + { + "git-tree": "3a8a656179e4f748a1249ea2b242ea9798ec9501", + "version": "1.8.0", + "port-version": 0 + } + ] +} diff --git a/versions/p-/platform-folders.json b/versions/p-/platform-folders.json index d2de2cafd226b0..80c0445cfa63e3 100644 --- a/versions/p-/platform-folders.json +++ b/versions/p-/platform-folders.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "cf5e8d5b3192a857b2e85276a2ff8c6f76e28d82", + "version": "4.2.0", + "port-version": 1 + }, + { + "git-tree": "8448d41ddd7f2f2302c9a6a80dde44bb8494b096", + "version": "4.2.0", + "port-version": 0 + }, { "git-tree": "8bb2bb2c54727cd2fa9b97a09313b1589e8f4e03", "version": "4.1.0", diff --git a/versions/p-/plf-colony.json b/versions/p-/plf-colony.json index 88bbddd62111e9..8833814de2f448 100644 --- a/versions/p-/plf-colony.json +++ b/versions/p-/plf-colony.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "5ee670387acdc49f20ccdddd328b38182515cbd5", + "version": "7.41", + "port-version": 0 + }, + { + "git-tree": "b4c1ef0be7895ecc0e4deb82cb3a4fad3b29c03f", + "version": "7.3.1", + "port-version": 0 + }, + { + "git-tree": "7e90bb5fdf6e933b8d5c14e07d85c920e7a7afea", + "version": "6.33", + "port-version": 0 + }, { "git-tree": "39c9b9a09ea0d7f88ac7a9cd90addb057e259f20", "version": "6.28", diff --git a/versions/p-/plf-hive.json b/versions/p-/plf-hive.json new file mode 100644 index 00000000000000..7b8317a6582996 --- /dev/null +++ b/versions/p-/plf-hive.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "8e5c8a3892eb3ca1cade64672eaa76d3a9c74990", + "version-date": "2021-12-11", + "port-version": 0 + } + ] +} diff --git a/versions/p-/plf-list.json b/versions/p-/plf-list.json index 27493b78790d66..2f3e7ddf892c0f 100644 --- a/versions/p-/plf-list.json +++ b/versions/p-/plf-list.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "942af5dfaf5c57871605ea4a07e74748cdd3cb71", + "version-date": "2019-08-10", + "port-version": 2 + }, { "git-tree": "91600934f8054e05c6716dbcb08f287c2ae22c44", "version-string": "2019-08-10", diff --git a/versions/p-/plf-nanotimer.json b/versions/p-/plf-nanotimer.json index c114c1a8a362fe..3d2c5961fbc0cd 100644 --- a/versions/p-/plf-nanotimer.json +++ b/versions/p-/plf-nanotimer.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "13a0687d35296ff50a7db2cea6f3d1f13616036c", + "version-date": "2019-08-10", + "port-version": 2 + }, { "git-tree": "f669e0df9a7af5bae94971f1b625143893f3ee72", "version-string": "2019-08-10", diff --git a/versions/p-/plf-queue.json b/versions/p-/plf-queue.json new file mode 100644 index 00000000000000..81c4a117aa1674 --- /dev/null +++ b/versions/p-/plf-queue.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "b0c79130ac83677dbf3cab43a5a8f17b0e5b1307", + "version": "2.2", + "port-version": 0 + } + ] +} diff --git a/versions/p-/plf-stack.json b/versions/p-/plf-stack.json index a047b9dfd075af..b060ffa3af9fe5 100644 --- a/versions/p-/plf-stack.json +++ b/versions/p-/plf-stack.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "c49e48114d693f6ef74eddadd15ceafffb125ac8", + "version-date": "2019-08-10", + "port-version": 2 + }, { "git-tree": "a4212c7276e8c1881b76e58ae6d20dafaec3628d", "version-string": "2019-08-10", diff --git a/versions/p-/plib.json b/versions/p-/plib.json index 03df101ad2ec54..018736342817d6 100644 --- a/versions/p-/plib.json +++ b/versions/p-/plib.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "31a68c9911b826a760e8be17864b7d6dc1830e88", + "version": "1.8.5", + "port-version": 8 + }, + { + "git-tree": "fe0ee99ffd2bcad6cc3709d85477c174fb9773f7", + "version": "1.8.5", + "port-version": 7 + }, + { + "git-tree": "df2cccd607d973a945593bfec6ef15bd7549e6c0", + "version": "1.8.5", + "port-version": 6 + }, { "git-tree": "7b00da126126e5e721ab3f6b1f931f7ec4df77f8", "version-string": "1.8.5", diff --git a/versions/p-/plibsys.json b/versions/p-/plibsys.json index 4f2ce556b13c5f..36dfb0e85badf0 100644 --- a/versions/p-/plibsys.json +++ b/versions/p-/plibsys.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "9640c4c329d7aa6e7cf09a193f621750ea2d02bd", + "version": "0.0.4", + "port-version": 7 + }, + { + "git-tree": "6691b7f463d3a1bf27ebafa6e317cdc41735665c", + "version": "0.0.4", + "port-version": 6 + }, { "git-tree": "1af02f154f0a23e71a9547cf67f4dc7b0cab732d", "version-string": "0.0.4", diff --git a/versions/p-/plog.json b/versions/p-/plog.json index 640358487ecc56..fede13af8413d6 100644 --- a/versions/p-/plog.json +++ b/versions/p-/plog.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "773c53426d316bfe1e35ae7cf9a5afe5c41b8a70", + "version": "1.1.10", + "port-version": 0 + }, + { + "git-tree": "8123d0f93ad451c1bbf9cb25b57ea290f4124030", + "version": "1.1.9", + "port-version": 0 + }, + { + "git-tree": "b16507d8b9cbf419b2923d55de7ddfdf013f0267", + "version": "1.1.8", + "port-version": 0 + }, + { + "git-tree": "aaca8cb03c90bca09c7bf83b393521dce2719686", + "version": "1.1.6", + "port-version": 0 + }, { "git-tree": "7cbf2ab91e484ee21e8c62316558e11b3a49f288", "version-string": "1.1.5", diff --git a/versions/p-/plplot.json b/versions/p-/plplot.json index ca58d2291f3270..de2860c2d3f801 100644 --- a/versions/p-/plplot.json +++ b/versions/p-/plplot.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "650f7b8973b4a28f84fc0e8ab1711e468417f564", + "version-semver": "5.15.0", + "port-version": 2 + }, + { + "git-tree": "3fb1fa2f2f5f9c3ea3543f5ba3074138be2d2320", + "version-semver": "5.15.0", + "port-version": 1 + }, + { + "git-tree": "64ccc268bbc73be54e54d41880327163e2c96d54", + "version-semver": "5.15.0", + "port-version": 0 + }, + { + "git-tree": "2bdc5ce1d9ab4085f8d1753de526830bee4bc92a", + "version-semver": "5.13.0", + "port-version": 15 + }, + { + "git-tree": "9e9bda9b45cefac69d08bbb2f3e947deab8cac14", + "version-semver": "5.13.0", + "port-version": 14 + }, + { + "git-tree": "d3cf98f0e002ea3b2f196af0c43a8a4cc885255c", + "version-semver": "5.13.0", + "port-version": 13 + }, { "git-tree": "81172e3761f2638245de863b13d8e13cbf08188d", "version-semver": "5.13.0", diff --git a/versions/p-/plustache.json b/versions/p-/plustache.json index 3149909b713ebc..c54754fb06b49e 100644 --- a/versions/p-/plustache.json +++ b/versions/p-/plustache.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "ed120794f8dee3abcddbf4aafcf13cb76d73dcb4", + "version": "0.4.0", + "port-version": 4 + }, + { + "git-tree": "a3906d7df26b970381ac0f802678c10cab6cd857", + "version-string": "0.4.0", + "port-version": 3 + }, { "git-tree": "ba5590c5878b8241436ef45af401b5c3c8db5f9a", "version-string": "0.4.0", diff --git a/versions/p-/pmdk.json b/versions/p-/pmdk.json index e8e653c481c8de..ed5c59c15da724 100644 --- a/versions/p-/pmdk.json +++ b/versions/p-/pmdk.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "b208389a2bc32898f0f4d13c5f222015ce9bd072", + "version": "1.12.0", + "port-version": 2 + }, + { + "git-tree": "5dc7f0e5a4d6348ac49617010105730775580f78", + "version": "1.12.0", + "port-version": 1 + }, + { + "git-tree": "a5b1d48503eab5f709ccc7cb62630817275f93e5", + "version": "1.12.0", + "port-version": 0 + }, + { + "git-tree": "a6a893e78e485b907148252308a5ea11befde1d9", + "version": "1.11.0", + "port-version": 1 + }, { "git-tree": "a2083c3fd577af1074c046235d2d0c73ad77d011", "version": "1.11.0", diff --git a/versions/p-/pmp-library.json b/versions/p-/pmp-library.json new file mode 100644 index 00000000000000..6195479b42d6e4 --- /dev/null +++ b/versions/p-/pmp-library.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "33881ff54702d1e4d2d35ba545953a4044294b22", + "version": "3.0.0", + "port-version": 0 + } + ] +} diff --git a/versions/p-/pngpp.json b/versions/p-/pngpp.json index e10941e2f054cc..ac502247c3baee 100644 --- a/versions/p-/pngpp.json +++ b/versions/p-/pngpp.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "944223fc9e521ccae17b526845278a3b71ed9bba", + "version": "0.2.10", + "port-version": 2 + }, + { + "git-tree": "088d8489ba3b0778d1612d59682ea0b6b3c2eb88", + "version": "0.2.10", + "port-version": 1 + }, { "git-tree": "4c162ef0d91f9415a77e44bd02f9bd3abf3684e1", "version-string": "0.2.10", diff --git a/versions/p-/pngwriter.json b/versions/p-/pngwriter.json index d0aa8635bd2e66..c3054759b1904f 100644 --- a/versions/p-/pngwriter.json +++ b/versions/p-/pngwriter.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "64ea498d769bb149dfa99fd0e37a5b5e21ff1cf7", + "version": "0.7.0", + "port-version": 5 + }, + { + "git-tree": "4aca96434bc9128c143f8924560e76010cc39b87", + "version-string": "0.7.0", + "port-version": 4 + }, { "git-tree": "674b0ba608ae93553e633c598a6b04da5d5b7367", "version-string": "0.7.0", diff --git a/versions/p-/pocketfft.json b/versions/p-/pocketfft.json new file mode 100644 index 00000000000000..94cc10276c2637 --- /dev/null +++ b/versions/p-/pocketfft.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "46ffdbd8c95362eee33d5cdf0dce36c77f332a7f", + "version-date": "2023-09-25", + "port-version": 0 + } + ] +} diff --git a/versions/p-/pocketpy.json b/versions/p-/pocketpy.json new file mode 100644 index 00000000000000..39d9b909832396 --- /dev/null +++ b/versions/p-/pocketpy.json @@ -0,0 +1,29 @@ +{ + "versions": [ + { + "git-tree": "822ad9d667f6fbfd6b8db0ce4995f1228cfdb53f", + "version": "1.4.6", + "port-version": 1 + }, + { + "git-tree": "ddb905f0cbb265ebd49458d25e24c666f911fe22", + "version": "1.4.6", + "port-version": 0 + }, + { + "git-tree": "49a3114662f030acfda6162c385c04725e93a733", + "version": "1.4.5", + "port-version": 0 + }, + { + "git-tree": "e6201adac8d1d96a89ff044aedea7a76f1c324fd", + "version": "1.4.3", + "port-version": 0 + }, + { + "git-tree": "88488b1ef4b08c21131fda6ab424947992657b7b", + "version": "1.4.2", + "port-version": 0 + } + ] +} diff --git a/versions/p-/poco.json b/versions/p-/poco.json index 69062dd6e92abc..b20eb421f7837f 100644 --- a/versions/p-/poco.json +++ b/versions/p-/poco.json @@ -1,5 +1,70 @@ { "versions": [ + { + "git-tree": "161e940e8c25d09dd731462771d84cbe78743643", + "version": "1.13.3", + "port-version": 0 + }, + { + "git-tree": "16034dbe3ca8ceae1aed4b5f0a97b07c32942cd9", + "version": "1.13.2", + "port-version": 0 + }, + { + "git-tree": "659229d449f9bbbdf29ab52068c22fcfc5990bc7", + "version": "1.13.0", + "port-version": 0 + }, + { + "git-tree": "d77c1da4e506a178da0c3d87acde20b8cb0dd550", + "version": "1.12.5.1", + "port-version": 0 + }, + { + "git-tree": "baaee315b717f3b0a819aed2f78b8a2059cb1726", + "version": "1.12.5", + "port-version": 0 + }, + { + "git-tree": "5fb22214a00901cbf3697a76442f5f360cbc74ef", + "version": "1.12.4", + "port-version": 4 + }, + { + "git-tree": "6d2166180316a03fcbef817dc1bb6c1573fb9f32", + "version": "1.12.4", + "port-version": 3 + }, + { + "git-tree": "97204cd392ddc9b7c7b415e7cb18667c71e12869", + "version": "1.12.4", + "port-version": 2 + }, + { + "git-tree": "530bf970e7d60959321669e6cd9e6bd4c6049313", + "version": "1.12.4", + "port-version": 1 + }, + { + "git-tree": "7f1f1e3470aab1d1f823d15ad50bd439af4125d8", + "version": "1.12.4", + "port-version": 0 + }, + { + "git-tree": "de13e6b66833cb816a0f85528697c7ee63be89ae", + "version": "1.11.2", + "port-version": 0 + }, + { + "git-tree": "ae7e310067c34beca24a055b9b25e24fe1b42190", + "version": "1.11.1", + "port-version": 0 + }, + { + "git-tree": "6dec8737e7e8e89f212ae2ab75c55c6e977d8ab8", + "version-semver": "1.11.0", + "port-version": 2 + }, { "git-tree": "83279266114bf6eab34a86e6009313e10f3aa11e", "version-semver": "1.11.0", diff --git a/versions/p-/podofo.json b/versions/p-/podofo.json index 58c25a330d288d..f2b25562b9e407 100644 --- a/versions/p-/podofo.json +++ b/versions/p-/podofo.json @@ -1,5 +1,55 @@ { "versions": [ + { + "git-tree": "995e105bc9f91fe7bd50e386c798eaeb006b1112", + "version": "0.10.4", + "port-version": 0 + }, + { + "git-tree": "f4d60835f5584606317c7c3ea4fbc5187d5d4b00", + "version": "0.10.3", + "port-version": 0 + }, + { + "git-tree": "0323e740780ecead10bd47ca5bfb89ca6140c3b7", + "version": "0.10.2", + "port-version": 0 + }, + { + "git-tree": "75683a46d35cfff92866f9c559833c7d1962cc55", + "version": "0.10.1", + "port-version": 0 + }, + { + "git-tree": "2b550a1cf9eabeb17534710cb767f971c57184c1", + "version": "0.10.0", + "port-version": 2 + }, + { + "git-tree": "8282e8f30863ef7d8a84928ef5dbe0625b09fa2a", + "version": "0.10.0", + "port-version": 1 + }, + { + "git-tree": "179964b988c6b05e259e8e631b2a3db4539589a1", + "version": "0.10.0", + "port-version": 0 + }, + { + "git-tree": "e302c730989d9f85b236c00b51e44dd067af7e6d", + "version": "0.9.8", + "port-version": 0 + }, + { + "git-tree": "f7f44c3594a2850412f1cb33ef1feaa78d35b7f9", + "version": "0.9.7", + "port-version": 2 + }, + { + "git-tree": "494b98ef9f42c9e4bafe58feff7d5738bb20f44e", + "version": "0.9.7", + "port-version": 1 + }, { "git-tree": "5dd647995b24991182eb684029b8629eb6d66e43", "version": "0.9.7", diff --git a/versions/p-/poly2tri.json b/versions/p-/poly2tri.json index 520fe53a029b7b..7c41e7f05af3b7 100644 --- a/versions/p-/poly2tri.json +++ b/versions/p-/poly2tri.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "6f490bcfed9bb8b55036006a4389bfa7e94c73ff", + "version-date": "2020-07-21", + "port-version": 3 + }, + { + "git-tree": "03cdd793a8f279b18df99f74bf4eef1e24ad5809", + "version-string": "2020-07-21", + "port-version": 2 + }, { "git-tree": "5202b2e184ce5e7fff3bd268797addd62e9a23c6", "version-string": "2020-07-21", diff --git a/versions/p-/polyclipping.json b/versions/p-/polyclipping.json index df88ddb4c22759..3675ad3b58b0c4 100644 --- a/versions/p-/polyclipping.json +++ b/versions/p-/polyclipping.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "7de01c0a001bc72c4d934184b3bd4ae97f860c01", + "version": "6.4.2", + "port-version": 12 + }, + { + "git-tree": "bb17ed7201d587053828c88e1bf1f1ed1fc0025a", + "version-string": "6.4.2", + "port-version": 11 + }, { "git-tree": "9e4c4bb3964361c1db87e2bdc368e5e32d0bb213", "version-string": "6.4.2", diff --git a/versions/p-/polyhook2.json b/versions/p-/polyhook2.json index a86411d5f9d74e..e5ce821e5cd54b 100644 --- a/versions/p-/polyhook2.json +++ b/versions/p-/polyhook2.json @@ -1,5 +1,65 @@ { "versions": [ + { + "git-tree": "6039d71effaafe4610f614a64d90c84f386fa23b", + "version-date": "2024-06-03", + "port-version": 0 + }, + { + "git-tree": "2380bd82c3b07238558d4cfb7a2a38011b75faf5", + "version-date": "2024-02-08", + "port-version": 0 + }, + { + "git-tree": "00a3d485f743b08f8c407139e5e8210468f44573", + "version-date": "2023-08-11", + "port-version": 0 + }, + { + "git-tree": "def3f21d5fdcf75184eff747c70e7dcf5be18517", + "version-date": "2023-05-16", + "port-version": 2 + }, + { + "git-tree": "4d6b2480d856d0e6009923d176fb68392e201ac8", + "version-date": "2023-05-16", + "port-version": 1 + }, + { + "git-tree": "3e46e50c70de16dfea86f4a7a8ceea6d19b3c46b", + "version-date": "2023-05-16", + "port-version": 0 + }, + { + "git-tree": "61f26f962dfbb071aeb0f22c4cfe15e100c0524c", + "version-date": "2023-02-24", + "port-version": 0 + }, + { + "git-tree": "bd2324e09d967fab5a098f0c2d42682abf5b4113", + "version-date": "2022-03-01", + "port-version": 0 + }, + { + "git-tree": "106988bbbfbb0402ee0263e7d71753b4df830a5d", + "version-date": "2022-02-21", + "port-version": 0 + }, + { + "git-tree": "8ad15683e3f77fd7301903e9dab7aa57302f4e80", + "version-date": "2022-02-06", + "port-version": 0 + }, + { + "git-tree": "519f086961afed4ccad13eb8d56ac009221f1714", + "version-date": "2022-02-02", + "port-version": 0 + }, + { + "git-tree": "bae35bd5e732a2468beb53b4407668d515204514", + "version-date": "2021-05-09", + "port-version": 2 + }, { "git-tree": "9b4af767d959bb37711e474327acba689127749c", "version-string": "2021-05-09", diff --git a/versions/p-/polymorphic-value.json b/versions/p-/polymorphic-value.json index aa4f3ba72a9680..0def53380eea6e 100644 --- a/versions/p-/polymorphic-value.json +++ b/versions/p-/polymorphic-value.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "439fca88a0bc0bf3bb8639dafe418eed9b21214b", + "version": "1.3.0", + "port-version": 3 + }, { "git-tree": "5eeefe34f5fbc12cbf9c7b1a6cd231bf0c455d6e", "version-string": "1.3.0", diff --git a/versions/p-/ponder.json b/versions/p-/ponder.json index 0ba234e3eb9249..a89681c44edde3 100644 --- a/versions/p-/ponder.json +++ b/versions/p-/ponder.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "e88e9908caf5e81e073a7b0fa0e082a6a917df04", + "version": "3.0.0", + "port-version": 5 + }, { "git-tree": "82147bc05cb5c080baabe1085f8ab690f71ba6e2", "version-string": "3.0.0", diff --git a/versions/p-/poolstl.json b/versions/p-/poolstl.json new file mode 100644 index 00000000000000..fc2a0683e38fee --- /dev/null +++ b/versions/p-/poolstl.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "cd389d672b95840dece30b7eda8aafc1c2b2c59a", + "version": "0.3.5", + "port-version": 0 + } + ] +} diff --git a/versions/p-/poppler.json b/versions/p-/poppler.json index 0b609a36c975af..8969babb3342ff 100644 --- a/versions/p-/poppler.json +++ b/versions/p-/poppler.json @@ -1,5 +1,80 @@ { "versions": [ + { + "git-tree": "d8f0468c167067f0f507168916e16f8c28dcfdae", + "version": "24.3.0", + "port-version": 1 + }, + { + "git-tree": "232b46d139c62a87eea2e8d147f52cde5162075f", + "version": "24.3.0", + "port-version": 0 + }, + { + "git-tree": "eac143745483dbf2b73b22a965413aa7dd2aa7ec", + "version": "24.2.0", + "port-version": 1 + }, + { + "git-tree": "4035b8dd08a68fca8ad6cfbcc4c4a4ec0eb4e04f", + "version": "24.2.0", + "port-version": 0 + }, + { + "git-tree": "59fe9d32b68bf9d4bc186eea35c45ceaddac1848", + "version": "23.11.0", + "port-version": 0 + }, + { + "git-tree": "0c07d1b54b7ce6cd8a4ce8ba9da7cf9f3ae2af70", + "version": "23.1.0", + "port-version": 4 + }, + { + "git-tree": "7b2c553e564102940f72ca3c649d651dc8807848", + "version": "23.1.0", + "port-version": 3 + }, + { + "git-tree": "57de7768cd6196be9140b0d59d19444586b5dfc3", + "version": "23.1.0", + "port-version": 2 + }, + { + "git-tree": "36ae1286d7d6fc93526f0a8af36f77834922f1f7", + "version": "23.1.0", + "port-version": 1 + }, + { + "git-tree": "a901a18c0bb360c8c8707f157202b00620c126e2", + "version": "23.1.0", + "port-version": 0 + }, + { + "git-tree": "e271252b274bf5737f4e09fd1cf39c75fbdc798d", + "version": "22.8.0", + "port-version": 1 + }, + { + "git-tree": "8551fcec6635c82fba6fc51d817e788dfae0a387", + "version": "22.8.0", + "port-version": 0 + }, + { + "git-tree": "2d14bc508abd0861bda1a16290ad65b061a82b7c", + "version": "22.3.0", + "port-version": 1 + }, + { + "git-tree": "9928fbfbe44a32d0a4ff7efed4de2a7797958322", + "version": "22.3.0", + "port-version": 0 + }, + { + "git-tree": "139058e4ec62f875c5538cbd1577c95938183364", + "version": "22.2.0", + "port-version": 0 + }, { "git-tree": "3f15f5c09cc977692e0c081d39e7e85f2229efe1", "version": "20.12.1", diff --git a/versions/p-/popsift.json b/versions/p-/popsift.json index f2f024bbb79ae7..c14d496c967c8b 100644 --- a/versions/p-/popsift.json +++ b/versions/p-/popsift.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "df628dcfa7ee8110e38f7a449b599e3b014645eb", + "version": "0.9", + "port-version": 5 + }, + { + "git-tree": "dd6ddbcf346fed7a105bbbf9db0d8923313e730f", + "version": "0.9", + "port-version": 4 + }, + { + "git-tree": "b3c9c601da86fd7d73cf3cb8b00c08ddb390acdd", + "version": "0.9", + "port-version": 3 + }, { "git-tree": "c4901cdc3f98676dba684b75fd292b6570a46d35", "version-string": "0.9", diff --git a/versions/p-/portable-file-dialogs.json b/versions/p-/portable-file-dialogs.json new file mode 100644 index 00000000000000..961a58fc144306 --- /dev/null +++ b/versions/p-/portable-file-dialogs.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "c205f3002701aeb61986151fb84016f820f04103", + "version": "0.1.0", + "port-version": 0 + } + ] +} diff --git a/versions/p-/portable-snippets.json b/versions/p-/portable-snippets.json index 18be8b9f5bd042..090d30c437f96a 100644 --- a/versions/p-/portable-snippets.json +++ b/versions/p-/portable-snippets.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "e84e5d30ffa9c566c1a27ff12416163694c8ff26", + "version-date": "2019-09-20", + "port-version": 4 + }, + { + "git-tree": "cb5584d76235e5a975e7c201d244c385cfd1dae7", + "version-date": "2019-09-20", + "port-version": 3 + }, + { + "git-tree": "c955bc2bba510d1fd09122a7b16f8eff1284d922", + "version-date": "2019-09-20", + "port-version": 2 + }, { "git-tree": "7a24a15b684910521e29c4b5e2c6660329f306c9", "version-string": "2019-09-20", diff --git a/versions/p-/portaudio.json b/versions/p-/portaudio.json index a44336cb8ba62e..557e48435d69c4 100644 --- a/versions/p-/portaudio.json +++ b/versions/p-/portaudio.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "34d770f3357878c7b7668acf63e7a3095f1b5afc", + "version": "19.7", + "port-version": 5 + }, + { + "git-tree": "25fb6802e88b978f349df2e6af0ecfadb85e9e9b", + "version": "19.7", + "port-version": 4 + }, + { + "git-tree": "ecfe7da0a3a51b33e76443799786bbcce7646f27", + "version": "19.7", + "port-version": 3 + }, { "git-tree": "b090c514cbfce25b342a884efc937ede432df55a", "version": "19.7", diff --git a/versions/p-/portmidi.json b/versions/p-/portmidi.json index 1cb7102a414a63..5400745b8b69d6 100644 --- a/versions/p-/portmidi.json +++ b/versions/p-/portmidi.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "2e836f32941f2eb402cecca7bff1e0ec566c4287", + "version": "2.0.4", + "port-version": 3 + }, + { + "git-tree": "73cae77fb0424c85894d1165fd2cc162bd4cd98a", + "version": "2.0.4", + "port-version": 2 + }, + { + "git-tree": "b8607f833773d8d45e83a3390c2096d28226c1d2", + "version": "2.0.4", + "port-version": 1 + }, + { + "git-tree": "80e9d16ce38c591b483a1d5b84eeb96a00a4d4ff", + "version": "2.0.4", + "port-version": 0 + }, + { + "git-tree": "9aba0f6770f874c56c8e8bebf2a6a9b3edbe899a", + "version": "2.0.2", + "port-version": 1 + }, + { + "git-tree": "a32d3d5e0e58e38089378c3f723f2b4862714a4c", + "version": "2.0.2", + "port-version": 0 + }, + { + "git-tree": "4d58125fb4cf188de9f9485bc5064ae2eaf982c4", + "version": "2.0.1", + "port-version": 0 + }, { "git-tree": "e4d17cd16212900720faf6d5895734341e5b269d", "version": "0.234", diff --git a/versions/p-/portsmf.json b/versions/p-/portsmf.json index c5124438cea45c..0c84961b80d021 100644 --- a/versions/p-/portsmf.json +++ b/versions/p-/portsmf.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "3fb3e1fa8a02794b84b7a9d15171886845c91474", + "version": "239", + "port-version": 0 + }, + { + "git-tree": "60b00990b46bbac28e91a94533d212be1af49ffb", + "version": "0.238", + "port-version": 1 + }, { "git-tree": "6edc5e2a3d90cd44a65b5d0f28207b5eb3c2dec5", "version": "0.238", diff --git a/versions/p-/poselib.json b/versions/p-/poselib.json new file mode 100644 index 00000000000000..20360d38c4fdef --- /dev/null +++ b/versions/p-/poselib.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "adf31292beb503a1ff13f6ecffd2697c0f56bbe2", + "version": "2.0.4", + "port-version": 0 + } + ] +} diff --git a/versions/p-/ppconsul.json b/versions/p-/ppconsul.json index a9592c3a53cf68..7ca915d35fcade 100644 --- a/versions/p-/ppconsul.json +++ b/versions/p-/ppconsul.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "15a4740ba0476c6490c353b004eb8acbbdbb8a32", + "version": "0.5", + "port-version": 5 + }, + { + "git-tree": "1de0499185f0f0915b69dbd0d932f2781aa62ecc", + "version-string": "0.5", + "port-version": 4 + }, { "git-tree": "5f08036342cef58a0f47fc01fe02bdf5c8e5d09c", "version-string": "0.5", diff --git a/versions/p-/ppmagic.json b/versions/p-/ppmagic.json index e631a882675443..ba91d765bb737e 100644 --- a/versions/p-/ppmagic.json +++ b/versions/p-/ppmagic.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "97538f3bb1177f8239ef9fa0a0f26d4a53100183", + "version-date": "2020-07-03", + "port-version": 2 + }, { "git-tree": "7b985dc0f03d5df0b9fb71e88c3a3a4ab0b05d56", "version-string": "2020-07-03", diff --git a/versions/p-/pprint.json b/versions/p-/pprint.json index 68a353f4dedb9f..b1ca7b01681f3d 100644 --- a/versions/p-/pprint.json +++ b/versions/p-/pprint.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "f0d7e1794f816538df660aaee158c0d9674b6d46", + "version-date": "2019-07-19", + "port-version": 3 + }, + { + "git-tree": "b2697245181487e6cd80664355c1eaea7aa8f7bf", + "version-string": "2019-07-19", + "port-version": 2 + }, { "git-tree": "6effdf4255c5de8d438a59353b24ec85eaa5999b", "version-string": "2019-07-19", diff --git a/versions/p-/pqp.json b/versions/p-/pqp.json index c3573cdb7a9c8a..d8dff8bb3332cd 100644 --- a/versions/p-/pqp.json +++ b/versions/p-/pqp.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "fd068435ebeeb2238fab7fcac21ce337344a30a7", + "version": "1.3", + "port-version": 8 + }, + { + "git-tree": "4260f6ff5614f3a8e85aeb773224362635b47337", + "version": "1.3", + "port-version": 7 + }, + { + "git-tree": "1fa6daf5d0017a40b45a47d4827eff295569b4b7", + "version-string": "1.3", + "port-version": 6 + }, { "git-tree": "a22b046882068cde7e310e6fcfdf73bbc1b154d5", "version-string": "1.3", diff --git a/versions/p-/pravila00-enum-string.json b/versions/p-/pravila00-enum-string.json new file mode 100644 index 00000000000000..0a3a67d0405731 --- /dev/null +++ b/versions/p-/pravila00-enum-string.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "a5172f6fa4786d4b0d4f41d843e24c04799a2d85", + "version-date": "2023-10-16", + "port-version": 0 + } + ] +} diff --git a/versions/p-/pravila00-enumflag.json b/versions/p-/pravila00-enumflag.json new file mode 100644 index 00000000000000..ef5a5be9ada08c --- /dev/null +++ b/versions/p-/pravila00-enumflag.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "b60ef160a399e688efc5c78227f58ae97e31f452", + "version-date": "2024-04-12", + "port-version": 0 + } + ] +} diff --git a/versions/p-/pravila00-make-vector.json b/versions/p-/pravila00-make-vector.json new file mode 100644 index 00000000000000..3b694dd47e2800 --- /dev/null +++ b/versions/p-/pravila00-make-vector.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "b4a9f4a88cb5645d9a5f6827293bc3732a57e043", + "version-date": "2023-04-10", + "port-version": 0 + } + ] +} diff --git a/versions/p-/presentmon.json b/versions/p-/presentmon.json index 5c83b268f77025..8a19aa2ab245e2 100644 --- a/versions/p-/presentmon.json +++ b/versions/p-/presentmon.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "320eb831b4a4a59b6ed3825c1caefcf9a860bd8a", + "version-semver": "2.1.1", + "port-version": 0 + }, + { + "git-tree": "b00ceac5f8c1c2abf8f819f27b1582ea9427cb70", + "version-semver": "1.10.0", + "port-version": 1 + }, + { + "git-tree": "417fbf81c84e94583e4e8b852412d15e799cfd99", + "version-semver": "1.10.0", + "port-version": 0 + }, + { + "git-tree": "a0ec5e22d9a5d03756ac641d8ff2430beae43080", + "version-semver": "1.7.0", + "port-version": 2 + }, + { + "git-tree": "daf02980cb0bef9bd56209e550d134f2bc06c699", + "version-semver": "1.7.0", + "port-version": 1 + }, { "git-tree": "0d57616105f23dbcceb4477bb30354e0d3e4a5b6", "version-semver": "1.7.0", diff --git a/versions/p-/proj.json b/versions/p-/proj.json index b4186059715e2f..4169024a2c91d7 100644 --- a/versions/p-/proj.json +++ b/versions/p-/proj.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "5ad030b3ef1738638e18ee8a23d4aeb2afbf8cc8", + "version": "9.5.0", + "port-version": 0 + }, + { + "git-tree": "50f38dc99103f1c718d8fe295888d1f675548e87", + "version": "9.4.1", + "port-version": 2 + }, + { + "git-tree": "3ea3cfc72b4b1d43a359755953f4792daadef34a", + "version": "9.4.1", + "port-version": 1 + }, + { + "git-tree": "dafa38417689eb52c17a425ace8e1f3ecfb74045", + "version": "9.4.1", + "port-version": 0 + }, + { + "git-tree": "62e9ace469641b907291184ebc7e76d96f629881", + "version": "9.4.0", + "port-version": 0 + }, + { + "git-tree": "fa1294c10c33d46c0294b3c1952d1c7aa57439a5", + "version": "9.3.1", + "port-version": 0 + }, + { + "git-tree": "6e31164b906c96903b8352e6a9211ae019672ac4", + "version": "9.3.0", + "port-version": 1 + }, + { + "git-tree": "d3932aae445fce753fd58b103e1dcb0acfff0a39", + "version": "9.3.0", + "port-version": 0 + }, + { + "git-tree": "b3f5ec4ce13a932cb9f05f074e48b386fd5e4130", + "version": "9.2.1", + "port-version": 1 + }, + { + "git-tree": "e7dc980fc3b1ca19e8ca6aa5b1ad625949229b2e", + "version": "9.2.1", + "port-version": 0 + }, + { + "git-tree": "24665244df24460f20293fc879787852554b16c7", + "version": "9.2.0", + "port-version": 0 + }, + { + "git-tree": "5ae85e19024d23a2ae8c22c16bab44f2fc236a4a", + "version": "9.1.1", + "port-version": 0 + }, + { + "git-tree": "7c8c2418c56d4f5b5dfd6e1d8e95b008f03ea63f", + "version": "9.1.0", + "port-version": 0 + }, + { + "git-tree": "d533a2d58a17e3074d52ec045604b32ed049eacb", + "version": "9.0.1", + "port-version": 1 + }, + { + "git-tree": "55c13547b4c812fc8bbb32a09260b3e54bc0a352", + "version": "9.0.1", + "port-version": 0 + }, + { + "git-tree": "1566fbbbd7d8abba35cebac6c8821339d1da1d16", + "version": "9.0.0", + "port-version": 0 + }, { "git-tree": "a90853a886ef1a9425ad477bc996b99c0824ff33", "version-string": "0", diff --git a/versions/p-/proj4.json b/versions/p-/proj4.json index da6bb80887ba84..6644539313cb80 100644 --- a/versions/p-/proj4.json +++ b/versions/p-/proj4.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "284d584afb127d11beb4126bf1ee7eccef413229", + "version-semver": "8.9.9", + "port-version": 1 + }, + { + "git-tree": "4ccf46b756dabd4cd841b866dcd5491d84a946e1", + "version-semver": "8.9.9", + "port-version": 0 + }, + { + "git-tree": "de72240f9bceda0263f58b734ab6de4f97632dbe", + "version-semver": "8.2.1", + "port-version": 1 + }, + { + "git-tree": "97a7f5c2cabaf598c15dc357d0e53d5c44e10225", + "version-semver": "8.2.1", + "port-version": 0 + }, + { + "git-tree": "d40a44623b794f07f5362653b6efd7efc16cc832", + "version-semver": "8.1.1", + "port-version": 0 + }, + { + "git-tree": "f1939ed4483f6f1d75f6ddacb6a741090144bcfb", + "version-semver": "8.0.0", + "port-version": 0 + }, { "git-tree": "991dc069b2b9acb50da346e27f48100d5d8f8186", "version-semver": "7.2.1", diff --git a/versions/p-/projectm-eval.json b/versions/p-/projectm-eval.json new file mode 100644 index 00000000000000..75b2ed2c500f4a --- /dev/null +++ b/versions/p-/projectm-eval.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "c21e929bb3f98383e81a4821e0aa8b2cb1413f88", + "version": "1.0.0", + "port-version": 1 + }, + { + "git-tree": "3c32881926b002ddd0fa05b351774ebe69f81fa1", + "version": "1.0.0", + "port-version": 0 + } + ] +} diff --git a/versions/p-/prometheus-cpp.json b/versions/p-/prometheus-cpp.json index 5b58285a32b923..9d2820a96260bd 100644 --- a/versions/p-/prometheus-cpp.json +++ b/versions/p-/prometheus-cpp.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "7e9110fe6fedb8304d064ed962e5274b0593f3e4", + "version-semver": "1.2.4", + "port-version": 0 + }, + { + "git-tree": "a43752e0a1850f1a069d5d1808e4850dc4be2826", + "version-semver": "1.1.0", + "port-version": 0 + }, + { + "git-tree": "99e611dca8f7a6f529e867a6c6f6f88bae8705a6", + "version-semver": "1.0.1", + "port-version": 0 + }, + { + "git-tree": "8f679ed963f525e155342a6be082d02e03c96856", + "version-semver": "1.0.0", + "port-version": 0 + }, { "git-tree": "ae46bbdb51c6ff3e330c607e46b911b79e0ce7e3", "version-semver": "0.13.0", diff --git a/versions/p-/protobuf-c.json b/versions/p-/protobuf-c.json index 7d592e5993b3ab..64f153172c522e 100644 --- a/versions/p-/protobuf-c.json +++ b/versions/p-/protobuf-c.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "c01ef23feaae3b86482f38e6da87a147b4f2dd11", + "version-semver": "1.5.0", + "port-version": 0 + }, + { + "git-tree": "32d120b5b3a9225b973b135f632ee82be3e7860b", + "version-semver": "1.4.1", + "port-version": 1 + }, + { + "git-tree": "f1adcf184e617f9f77bd727e6f5085665e471826", + "version-semver": "1.4.1", + "port-version": 0 + }, + { + "git-tree": "0ff60f2fb0722cbd851e37aebf489207c3743e18", + "version-semver": "1.4.0", + "port-version": 2 + }, + { + "git-tree": "1a27a8a88ed94500d821ed31360a62d13e553c87", + "version-semver": "1.4.0", + "port-version": 1 + }, { "git-tree": "649c1df0b6207662ec75fed4bbd999a7a42afb4b", "version-semver": "1.4.0", diff --git a/versions/p-/protobuf.json b/versions/p-/protobuf.json index a91d6210ae5768..736eb7885f020f 100644 --- a/versions/p-/protobuf.json +++ b/versions/p-/protobuf.json @@ -1,5 +1,90 @@ { "versions": [ + { + "git-tree": "f518549cd75b0c7c421b855f73f425fa13ba606a", + "version": "5.26.1", + "port-version": 0 + }, + { + "git-tree": "5479e9c75e5ed6401d10163a0fa8f281dcf33f0f", + "version": "4.25.1", + "port-version": 1 + }, + { + "git-tree": "278ba5370a8c59bbb60650d6ad91ae1eab0fadad", + "version": "4.25.1", + "port-version": 0 + }, + { + "git-tree": "7a874adf6e222ee14c665bd62a2b04a0d65ea1b1", + "version": "3.21.12", + "port-version": 4 + }, + { + "git-tree": "528c56d9b29635d840b284f3e2109a370556bd89", + "version": "3.21.12", + "port-version": 3 + }, + { + "git-tree": "e189106689c1983cd5e19363fa48f35d3d3f419b", + "version": "3.21.12", + "port-version": 2 + }, + { + "git-tree": "8d742753b6c35666168a4178f0aae986740ae42c", + "version": "3.21.12", + "port-version": 1 + }, + { + "git-tree": "3b145508ba614fe26989b23f6317f15bf6467be4", + "version": "3.21.12", + "port-version": 0 + }, + { + "git-tree": "9207a92857403f8749919a7d93c36b91466bef97", + "version": "3.21.8", + "port-version": 0 + }, + { + "git-tree": "76da95f37a73965df86c5cfc317a2dfb677e0add", + "version": "3.21.6", + "port-version": 1 + }, + { + "git-tree": "1d2c32252e568decb813b1109f1d86e6023af6dd", + "version": "3.21.6", + "port-version": 0 + }, + { + "git-tree": "b66573195da9e32b3396e253b520ad498617405b", + "version": "3.21.4", + "port-version": 0 + }, + { + "git-tree": "3ed82c1c5eef7b766d472f71c5ccebcff30cb7bd", + "version": "3.21.3", + "port-version": 0 + }, + { + "git-tree": "57fe8d3a4fa3bc97f942ce38f103b324f4665685", + "version-semver": "3.21.2", + "port-version": 1 + }, + { + "git-tree": "8ae2a5d57f7d3bf934e4d773406cd0a323600031", + "version-semver": "3.21.2", + "port-version": 0 + }, + { + "git-tree": "984039810172eb397ca0ec6d426d60764d6dfe46", + "version-semver": "3.19.4", + "port-version": 0 + }, + { + "git-tree": "5f6aa04d94e184b89c1887946fb4684bc51c4611", + "version-semver": "3.18.0", + "port-version": 1 + }, { "git-tree": "19c2bf45c235e6126161bae36aa7ff7e1fcda479", "version-semver": "3.18.0", diff --git a/versions/p-/protopuf.json b/versions/p-/protopuf.json index 05a2ede0195765..ccb9ecc4a7a11d 100644 --- a/versions/p-/protopuf.json +++ b/versions/p-/protopuf.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "fce43fe70999efa77083824e66e61251e0df3219", + "version": "2.2.1", + "port-version": 0 + }, + { + "git-tree": "1e9aca8dbbf9df6ab5034e57ca3d8e983f55ba05", + "version": "2.2.0", + "port-version": 0 + }, { "git-tree": "57399a25b20d4f3a437118a4bc2fe9a639972bb4", "version-semver": "2.1.0", diff --git a/versions/p-/protozero.json b/versions/p-/protozero.json index d05d0ecf2306ca..867cda73c80f50 100644 --- a/versions/p-/protozero.json +++ b/versions/p-/protozero.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "f6fa6a99279f9efb98bafc45707a1bcf9ef690e4", + "version-semver": "1.7.1", + "port-version": 0 + }, + { + "git-tree": "e617bcd5ceeebd89da7229c7daeecacf7581d767", + "version-semver": "1.7.0", + "port-version": 1 + }, { "git-tree": "23f6ec11be6bbf623dc7590b128027ccb7f69727", "version-semver": "1.7.0", diff --git a/versions/p-/proxsuite.json b/versions/p-/proxsuite.json new file mode 100644 index 00000000000000..1fa3c6b7777210 --- /dev/null +++ b/versions/p-/proxsuite.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "d1a904f718cf4c414030938a8bb8c1b598189b19", + "version": "0.6.4", + "port-version": 0 + }, + { + "git-tree": "d43b63f01c1240a12c85794fdde566064996b845", + "version": "0.5.0", + "port-version": 0 + } + ] +} diff --git a/versions/p-/proxy.json b/versions/p-/proxy.json new file mode 100644 index 00000000000000..547a6707254af5 --- /dev/null +++ b/versions/p-/proxy.json @@ -0,0 +1,59 @@ +{ + "versions": [ + { + "git-tree": "480a5fe13152aed1919f82514517418212860b1e", + "version": "3.0.0", + "port-version": 0 + }, + { + "git-tree": "e5c55d694a8ae657595ee0b1574bf8dfb226ca01", + "version": "2.4.0", + "port-version": 0 + }, + { + "git-tree": "c67738fd8722245a18d3aad7c920ecc17a53931e", + "version": "2.3.2", + "port-version": 0 + }, + { + "git-tree": "67212b0fef71513b6a095120565502fa28eb1038", + "version": "2.3.0", + "port-version": 0 + }, + { + "git-tree": "9610b4e09c0a66780511553bae8904777e4c1a7e", + "version": "2.2.1", + "port-version": 0 + }, + { + "git-tree": "17cc5c3bc87d03e18204c31f54cf6edaba6329fc", + "version": "2.2.0", + "port-version": 0 + }, + { + "git-tree": "5a1c9b5683c080a7ef0e35f968bc912e0fac88d4", + "version": "2.1.2", + "port-version": 0 + }, + { + "git-tree": "6d6ef205bfb7dac5655566fafba65ebc4df5d961", + "version": "2.1.0", + "port-version": 0 + }, + { + "git-tree": "02fdcb0499f6f91a041a8e444f33256f4284e808", + "version": "2.0.0", + "port-version": 0 + }, + { + "git-tree": "259a1e2615c5bd167974fcd5d8148434a1040319", + "version": "1.1.1", + "port-version": 0 + }, + { + "git-tree": "f0e6617956cb7c1b38369086d9615ccaad354729", + "version": "1.0.1", + "port-version": 0 + } + ] +} diff --git a/versions/p-/proxygen.json b/versions/p-/proxygen.json index 24859be6070a5e..6a27bf9fe74b0e 100644 --- a/versions/p-/proxygen.json +++ b/versions/p-/proxygen.json @@ -1,5 +1,205 @@ { "versions": [ + { + "git-tree": "59b10462cfa7dd7a7c0acbd539f620c39a66733e", + "version-string": "2024.11.04.00", + "port-version": 0 + }, + { + "git-tree": "7c032a7339f3a41ca83b66ee8a4673c5141ea781", + "version-string": "2024.10.28.00", + "port-version": 0 + }, + { + "git-tree": "e098db1ae3f3cdbca4943cb4006886ad9d337fa6", + "version-string": "2024.10.21.00", + "port-version": 0 + }, + { + "git-tree": "119f91bb8ac023671e37d0e47c5fed7c961b0ff2", + "version-string": "2024.10.14.00", + "port-version": 0 + }, + { + "git-tree": "bf5f1d578553c2ec1665a45b4e34bcf3229c3e6f", + "version-string": "2024.10.07.00", + "port-version": 0 + }, + { + "git-tree": "7a85641a8010a78d432738f559b0b88ac77223b6", + "version-string": "2024.09.30.00", + "port-version": 0 + }, + { + "git-tree": "4e81117b1daf5d15c02c132da1b324656014fc00", + "version-string": "2024.09.23.00", + "port-version": 0 + }, + { + "git-tree": "39f61917bb4ab8515651270d7c62fb2c4ebe1cf2", + "version-string": "2024.09.16.00", + "port-version": 0 + }, + { + "git-tree": "939dbe5a70e09d4b57806d3c1362cf459a3ee1ae", + "version-string": "2024.09.09.00", + "port-version": 0 + }, + { + "git-tree": "fe9fba5e78442c50e32bf3c65f07b712b8e94a7f", + "version-string": "2024.09.02.00", + "port-version": 0 + }, + { + "git-tree": "7e094f8674547f0d9c35ef187dcb919a0e5074f9", + "version-string": "2024.08.26.00", + "port-version": 0 + }, + { + "git-tree": "aa9c26451502226920951aea6d240fbffa92d7bc", + "version-string": "2024.08.19.00", + "port-version": 0 + }, + { + "git-tree": "fa926c98e20d85f29e4018e77f2dd22a91672fa6", + "version-string": "2024.08.05.00", + "port-version": 0 + }, + { + "git-tree": "c42cd7624343823fb1430f20485467fa7aca1b5f", + "version-string": "2024.07.29.00", + "port-version": 0 + }, + { + "git-tree": "f959648e0ca63d0022ee18daf8527147e6fc7d7a", + "version-string": "2024.07.22.00", + "port-version": 0 + }, + { + "git-tree": "f86a0a0930d286d5ed237af5c5e805e17929d392", + "version-string": "2024.07.15.00", + "port-version": 0 + }, + { + "git-tree": "7fcfc0c9a00907a2c3428cf661656361aae92be1", + "version-string": "2024.07.08.00", + "port-version": 0 + }, + { + "git-tree": "8139561ddb5142ea1353d61aec9cddaca60d1bdd", + "version-string": "2024.07.01.00", + "port-version": 0 + }, + { + "git-tree": "437a24e8691eb016ae6b99957368d22e7642de24", + "version-string": "2024.06.24.00", + "port-version": 0 + }, + { + "git-tree": "b29d89320791120f71217da82767c3ca8c2ff659", + "version-string": "2024.06.17.00", + "port-version": 0 + }, + { + "git-tree": "a383988c89fc165855d24fe09933c26a78fba597", + "version-string": "2024.06.10.00", + "port-version": 0 + }, + { + "git-tree": "c908c384218b54f0b237db87f8a332d13efd3157", + "version-string": "2024.06.03.00", + "port-version": 0 + }, + { + "git-tree": "949297df61cd4f3982f8dec1595803557b846b5c", + "version-string": "2024.05.27.00", + "port-version": 0 + }, + { + "git-tree": "7a2c1406a1bdbf4fec06d01d2380049a1252186b", + "version-string": "2024.05.20.00", + "port-version": 0 + }, + { + "git-tree": "083404f37b66ada6057404f727c559366c2b9506", + "version-string": "2024.05.06.00", + "port-version": 0 + }, + { + "git-tree": "83168bd5e18b46602077eb0b46d35c7d21e4dc71", + "version-string": "2024.05.02.00", + "port-version": 0 + }, + { + "git-tree": "21eda2f084823674a66c17e77f6520a9f238d485", + "version-string": "2024.04.22.00", + "port-version": 0 + }, + { + "git-tree": "4b72c30c87e3f16a813b51cd445c74643b5891c5", + "version-string": "2024.04.15.00", + "port-version": 0 + }, + { + "git-tree": "6017c60f2d9723fcd99c0d28e1919d5c7d8973c5", + "version-string": "2024.01.01.00", + "port-version": 1 + }, + { + "git-tree": "dd720dffa16fc78103cb6e6fc9aae13e94d33fb3", + "version-string": "2024.01.01.00", + "port-version": 0 + }, + { + "git-tree": "193a933153e2cfab49dd265a48ebeb650a9107e4", + "version-string": "2023.10.02.00", + "port-version": 0 + }, + { + "git-tree": "9c24a9089256797b853fdf56833eafa213a51f2d", + "version-string": "2023.07.03.00", + "port-version": 0 + }, + { + "git-tree": "8b7e41b105fbb8e30443037e04098621d31a4fb2", + "version-string": "2023.05.15.00", + "port-version": 0 + }, + { + "git-tree": "e66bcd352675efbaf2ff458ae1709c165ed26696", + "version-string": "2022.07.11.00", + "port-version": 1 + }, + { + "git-tree": "7f8e28d0d1ec8591df5cdfa602d60e0efaa8ee7a", + "version-string": "2022.07.11.00", + "port-version": 0 + }, + { + "git-tree": "27f0950fcf11ac8f561591363715ddf581146325", + "version-string": "2022.03.21.00", + "port-version": 2 + }, + { + "git-tree": "fb9493259e80636642c06b40479c36b6b4c9cba2", + "version-string": "2022.03.21.00", + "port-version": 1 + }, + { + "git-tree": "3d4554283cc0401f123164636046763fa9808475", + "version-string": "2022.03.21.00", + "port-version": 0 + }, + { + "git-tree": "d17fc3eb415126e6e9d5d77eb2de69ffd3c30869", + "version-string": "2022.01.31.00", + "port-version": 0 + }, + { + "git-tree": "8dd3b93e98f28386e8c44f50df2efb4c2bb30ce1", + "version-string": "2021.06.14.00", + "port-version": 1 + }, { "git-tree": "a4a04ef230bcd866c6c1a078ac3e11d926333b21", "version-string": "2021.06.14.00", diff --git a/versions/p-/psimd.json b/versions/p-/psimd.json index 61f3e7034fbbec..266ff367555e4d 100644 --- a/versions/p-/psimd.json +++ b/versions/p-/psimd.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "c2958518cdbe3f8902fe0b056cf37bf1eec26137", + "version-date": "2021-02-21", + "port-version": 2 + }, + { + "git-tree": "b67508201a4c33896694e1e5b3ed732bf1bbf0c3", + "version-string": "2021-02-21", + "port-version": 1 + }, { "git-tree": "d96e70295af788d6abe87bdad2a48d80f24ecfb5", "version-string": "2021-02-21", diff --git a/versions/p-/ptc-print.json b/versions/p-/ptc-print.json new file mode 100644 index 00000000000000..bce5460216a4eb --- /dev/null +++ b/versions/p-/ptc-print.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "b5a6a899a1a03b040d2bfd0e2cb9ef5b2e6dcde1", + "version": "1.4.1", + "port-version": 1 + }, + { + "git-tree": "03f588ecdd3b7638a92dd2c61ea3ca0adaa28eb6", + "version": "1.4.0", + "port-version": 1 + }, + { + "git-tree": "f397412b082c666b7b130ca2f808b0e7badcdf0e", + "version": "1.4.0", + "port-version": 0 + } + ] +} diff --git a/versions/p-/ptex.json b/versions/p-/ptex.json index 47f9c2dcaba574..a880fe8611ef47 100644 --- a/versions/p-/ptex.json +++ b/versions/p-/ptex.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "8a98c639f2e68c4638eee485c6398a81ab52e3f1", + "version": "2.4.3", + "port-version": 0 + }, + { + "git-tree": "64ba10b1e0174e06bcb2821e395d411641d1611e", + "version": "2.4.2", + "port-version": 0 + }, + { + "git-tree": "3f04f712745e5fb558f79324199b3fe8c1a00b84", + "version": "2.3.2", + "port-version": 4 + }, { "git-tree": "c524a2ab1940315d3481e9fbf745425caf5b7c15", "version": "2.3.2", diff --git a/versions/p-/pthread-stubs.json b/versions/p-/pthread-stubs.json new file mode 100644 index 00000000000000..27fd946c757b45 --- /dev/null +++ b/versions/p-/pthread-stubs.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "45c2f7d3d4c4372f9533bbaab04e8f5aefb61bc1", + "version": "0.4", + "port-version": 1 + }, + { + "git-tree": "4d74216d737ed231dafb8c53f2617ce7836d96fa", + "version": "0.4", + "port-version": 0 + } + ] +} diff --git a/versions/p-/pthread.json b/versions/p-/pthread.json index eacfe2e530735c..2a050c6869ec51 100644 --- a/versions/p-/pthread.json +++ b/versions/p-/pthread.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "e32a8cb12153277234e7c7e04322bdf90580659a", + "version": "3.0.0", + "port-version": 2 + }, { "git-tree": "22a35f55dc3993fb589e44781ae36dbdf1c625fa", "version-string": "3.0.0", diff --git a/versions/p-/pthreadpool.json b/versions/p-/pthreadpool.json index 8e89e584df016c..9adfae66ecbc8f 100644 --- a/versions/p-/pthreadpool.json +++ b/versions/p-/pthreadpool.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "e94ea81d9b3d3603132014397b58c039ae6b98f5", + "version-date": "2020-04-10", + "port-version": 3 + }, + { + "git-tree": "cb803332761faba74d3a5d83ca25b73d3285d397", + "version-date": "2020-04-10", + "port-version": 2 + }, { "git-tree": "37e004fa65e21e9ffb647d6ff92cd834a46777cf", "version-date": "2020-04-10", diff --git a/versions/p-/pthreads.json b/versions/p-/pthreads.json index 78edfdfedfaacc..044b0af613114b 100644 --- a/versions/p-/pthreads.json +++ b/versions/p-/pthreads.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "2e0a6df2800d3677b941dc6504f083965b7886d9", + "version": "3.0.0", + "port-version": 14 + }, + { + "git-tree": "f4037e12c8075b814cab20c65509b49bd7f59257", + "version": "3.0.0", + "port-version": 13 + }, + { + "git-tree": "e000e1dfe6cc2725080cd0e41e04e363cc450bd4", + "version": "3.0.0", + "port-version": 12 + }, + { + "git-tree": "05aad80a1b8fa9b224b736efb6f5f06baddfb0ec", + "version": "3.0.0", + "port-version": 11 + }, { "git-tree": "ab9d25f08115355ea2d4e4c6eae94626fa86fded", "version": "3.0.0", diff --git a/versions/p-/ptyqt.json b/versions/p-/ptyqt.json new file mode 100644 index 00000000000000..c25d7a994e0118 --- /dev/null +++ b/versions/p-/ptyqt.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "8271563b59832be59aa5c34d89b38875c60bc1e5", + "version": "0.6.5", + "port-version": 0 + }, + { + "git-tree": "f1290a650fa42cb4cb9caf9fe04d47d2b3506248", + "version": "0.6.3", + "port-version": 0 + } + ] +} diff --git a/versions/p-/pugixml.json b/versions/p-/pugixml.json index a9e37f4b16b2d5..dccc7cd1c1bfb9 100644 --- a/versions/p-/pugixml.json +++ b/versions/p-/pugixml.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "6e38344aea6e7529afde3895e0885ed5cb0c0542", + "version": "1.14", + "port-version": 0 + }, + { + "git-tree": "4547c4ff9371f06f34f087f2989f884ab3ef7b71", + "version": "1.13.0", + "port-version": 0 + }, + { + "git-tree": "0af6c22cb58a218893ca193a5f5d29d7d1753355", + "version": "1.12.1", + "port-version": 1 + }, + { + "git-tree": "ffaef9b7ddc94c06bf1293ff4f04906960f0de4c", + "version": "1.12.1", + "port-version": 0 + }, { "git-tree": "2af3faa6e86d241d2d6845f27c21afa51741f391", "version-string": "1.11.4", diff --git a/versions/p-/pulsar-client-cpp.json b/versions/p-/pulsar-client-cpp.json new file mode 100644 index 00000000000000..c6c275b90548f2 --- /dev/null +++ b/versions/p-/pulsar-client-cpp.json @@ -0,0 +1,29 @@ +{ + "versions": [ + { + "git-tree": "632560bc0bda253fffea18938af7bfc141c892e1", + "version": "3.5.1", + "port-version": 1 + }, + { + "git-tree": "ca72d75215e3ffcdf2f19b130f190dea2dcf55b5", + "version": "3.5.1", + "port-version": 0 + }, + { + "git-tree": "f379abbe0e7bc96c4ff51290a2972b6a3a4fc094", + "version": "3.4.2", + "port-version": 2 + }, + { + "git-tree": "4dc7014a2c8493a0124f08335cb9056c359604e4", + "version": "3.4.2", + "port-version": 1 + }, + { + "git-tree": "f022e5dacbf10b0a6cead0f065ce6ab885b4c9af", + "version": "3.4.2", + "port-version": 0 + } + ] +} diff --git a/versions/p-/pulseaudio.json b/versions/p-/pulseaudio.json new file mode 100644 index 00000000000000..a5c2a4918e23d3 --- /dev/null +++ b/versions/p-/pulseaudio.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "498d6911a860d3f86ec25caabd0f63f5180782a2", + "version": "17.0", + "port-version": 2 + }, + { + "git-tree": "cb9160ce88d38cfeb2a6b49a91620a3e53b368f8", + "version": "17.0", + "port-version": 1 + }, + { + "git-tree": "26c834504f848ba81304aacc552a16bac2c4dece", + "version": "17.0", + "port-version": 0 + } + ] +} diff --git a/versions/p-/pulzed-mini.json b/versions/p-/pulzed-mini.json new file mode 100644 index 00000000000000..c56daefdac44c2 --- /dev/null +++ b/versions/p-/pulzed-mini.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "784f59f1926b4dc6b103c5fdb9142ed0767bdae7", + "version": "0.9.14", + "port-version": 0 + } + ] +} diff --git a/versions/p-/pybind11.json b/versions/p-/pybind11.json index ee5ae11d7d9bb9..dccfa38b1ade3a 100644 --- a/versions/p-/pybind11.json +++ b/versions/p-/pybind11.json @@ -1,5 +1,110 @@ { "versions": [ + { + "git-tree": "61bb90b38540cad23b050fb28bbc5cfb83845e95", + "version": "2.13.6", + "port-version": 0 + }, + { + "git-tree": "f02c4e33cba72e478d122bc1e76fb027466579e5", + "version": "2.13.5", + "port-version": 0 + }, + { + "git-tree": "39d5ae8e1c5dd495d0c2f6c312694ab36ea8ce59", + "version": "2.13.4", + "port-version": 0 + }, + { + "git-tree": "9363778fdebae781bbd12e1cc09e4bca0b72fcfa", + "version": "2.13.1", + "port-version": 0 + }, + { + "git-tree": "852607347e3b98677dab358767c5ca70758f9143", + "version": "2.13.0", + "port-version": 0 + }, + { + "git-tree": "4eaa1bf96bcc566f9c14e249c51eb6bf6f6da98a", + "version": "2.12.0", + "port-version": 1 + }, + { + "git-tree": "fdb8e4d4c69b8a217e5cfc387ec750d4143738cc", + "version": "2.12.0", + "port-version": 0 + }, + { + "git-tree": "7001887fb9e72bb5590da8407998dedbb4aa2719", + "version": "2.11.1", + "port-version": 0 + }, + { + "git-tree": "3aeca2d8bc4821ab8e508e9097386fdaa6f12eef", + "version": "2.11.0", + "port-version": 1 + }, + { + "git-tree": "14db30027dba1e9d7ba976dd0645dac59ec553a8", + "version": "2.10.4", + "port-version": 1 + }, + { + "git-tree": "ed50c1b3263ecefd48d008f522bf966c9e4347d1", + "version": "2.10.4", + "port-version": 0 + }, + { + "git-tree": "a3b13210bfd5f8dcbab60336dd54f0ed7230c5c3", + "version": "2.10.3", + "port-version": 0 + }, + { + "git-tree": "af5e32ffd90fcd1583c27138cce6faba792d779f", + "version": "2.10.2", + "port-version": 0 + }, + { + "git-tree": "3d37cf3a4dcdb06b0ea273724079574dc4be12e3", + "version": "2.10.1", + "port-version": 0 + }, + { + "git-tree": "4c6350f32b68fc7216251526449e5d6b5342b2a9", + "version": "2.10.0", + "port-version": 1 + }, + { + "git-tree": "84251d247cc46bde6696ad9043326981370e1a79", + "version": "2.10.0", + "port-version": 0 + }, + { + "git-tree": "0723f5ac350935e5d68d8087c82883dffa706812", + "version": "2.9.2", + "port-version": 0 + }, + { + "git-tree": "b1eb3bb762f1ba08ffd2ffb216df9504ed9fda3c", + "version": "2.9.1", + "port-version": 1 + }, + { + "git-tree": "24ea84c002f9cc529a54996dbbf2e9b2cce9cadf", + "version-semver": "2.9.1", + "port-version": 0 + }, + { + "git-tree": "66591866c63bfff5fea690e23a05aa14cad10967", + "version-semver": "2.9.0", + "port-version": 0 + }, + { + "git-tree": "16618fe9543461ee68ba815f511afacbbcfd8330", + "version-semver": "2.8.1", + "port-version": 1 + }, { "git-tree": "893da2421e31681611515d8416a8f1a3b4496b5e", "version-semver": "2.8.1", diff --git a/versions/p-/pystring.json b/versions/p-/pystring.json index 7fef6450f65e29..1559ddb089c2d7 100644 --- a/versions/p-/pystring.json +++ b/versions/p-/pystring.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "09efd652931d6b9129dafea6f06386f0be44e8d7", + "version": "1.1.4", + "port-version": 0 + }, + { + "git-tree": "b0b08ff66f53aeb63ab3797212c667a822c88a3e", + "version-semver": "1.1.3", + "port-version": 5 + }, { "git-tree": "ed5bf60bd6e1720457de5eaa39f01f5b3a414f01", "version-semver": "1.1.3", diff --git a/versions/p-/python2.json b/versions/p-/python2.json index 95fa120883919c..7dd282fbf1f88e 100644 --- a/versions/p-/python2.json +++ b/versions/p-/python2.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "7da4d853b4fdc4a0b1c183b327ef04d1af33c68b", + "version": "2.7.18", + "port-version": 7 + }, + { + "git-tree": "c2e0390fa02b868d438156ccfc47bbc85ea98660", + "version": "2.7.18", + "port-version": 6 + }, + { + "git-tree": "33912f36bba22e343da793d7de1a2dde41ab9da0", + "version": "2.7.18", + "port-version": 5 + }, + { + "git-tree": "355e949adaecb1603d0cdc3d690101e49ad9fb13", + "version": "2.7.18", + "port-version": 4 + }, + { + "git-tree": "2a9fb7f96d762e213e9901452492aee00f6fe049", + "version": "2.7.18", + "port-version": 3 + }, + { + "git-tree": "fc1f7aaa8a2312a56ce7dc1324c2eaf608a7a331", + "version": "2.7.18", + "port-version": 2 + }, { "git-tree": "052ef22af59535134ca2944cfd8e7e7d3ea24d67", "version": "2.7.18", diff --git a/versions/p-/python3.json b/versions/p-/python3.json index c90ee6f467c378..9455c9434ca12c 100644 --- a/versions/p-/python3.json +++ b/versions/p-/python3.json @@ -1,5 +1,230 @@ { "versions": [ + { + "git-tree": "62c1ff180dae6af1ba4aff966bd87f9683c6d8f1", + "version": "3.11.10", + "port-version": 0 + }, + { + "git-tree": "cd869d19271e7b865248145bb3e14093faa1b687", + "version": "3.11.8", + "port-version": 5 + }, + { + "git-tree": "42da794facada8d85273d1efcc53f1af7e8cb243", + "version": "3.11.8", + "port-version": 4 + }, + { + "git-tree": "bd79c290d4768a376a9bb0de77cefb2e608e9bc7", + "version": "3.11.8", + "port-version": 3 + }, + { + "git-tree": "24bb8d2b3db0a12a7ca7f04061f632f0e94abcc2", + "version": "3.11.8", + "port-version": 2 + }, + { + "git-tree": "fe70d9080f1c1254ec0495eb74f1d0a5c4b747f7", + "version": "3.11.8", + "port-version": 1 + }, + { + "git-tree": "ce86a5562b977fb3e02bd15d96d2de7c771aed41", + "version": "3.11.8", + "port-version": 0 + }, + { + "git-tree": "262bbdcf3e67802bfdcb9efe22a34e81defc3fb1", + "version": "3.11.5", + "port-version": 5 + }, + { + "git-tree": "196d8baf56879fd416fbcfb05a7033ea61febf24", + "version": "3.11.5", + "port-version": 4 + }, + { + "git-tree": "e6acf202b9752a04a0b9557d1ea9e4fa2f427e8d", + "version": "3.11.5", + "port-version": 3 + }, + { + "git-tree": "f51d67945e156a17ca72a743f04455a368e73272", + "version": "3.11.5", + "port-version": 2 + }, + { + "git-tree": "a428056a4e0e86adce9344f051e4678e50e6cb35", + "version": "3.11.5", + "port-version": 1 + }, + { + "git-tree": "52f5c3a91d997108f5acebea1748176156dbefc9", + "version": "3.11.5", + "port-version": 0 + }, + { + "git-tree": "905c4ed6b6bb377fc9f7ed367f9ed39259083ba1", + "version": "3.11.4", + "port-version": 4 + }, + { + "git-tree": "f4df0070e757f97d325679377298c7de091e75f7", + "version": "3.11.4", + "port-version": 3 + }, + { + "git-tree": "4f49a2d2249cb9f81e3a5c83329f383de36faf16", + "version": "3.11.4", + "port-version": 2 + }, + { + "git-tree": "531061b4485adebb80364473d227b0edf4ee8ed9", + "version": "3.11.4", + "port-version": 1 + }, + { + "git-tree": "1ed9aa74ea44d2e4457410ad732d165317c6f8aa", + "version": "3.11.4", + "port-version": 0 + }, + { + "git-tree": "a0f1ead9323b9521f3c3016469f028be712c0252", + "version": "3.10.7", + "port-version": 7 + }, + { + "git-tree": "d3a8a2c668d77aaf0fa1862c6b3eff5018519e19", + "version": "3.10.7", + "port-version": 6 + }, + { + "git-tree": "43e3e2453968d19d674b96aea99718541c96d852", + "version": "3.10.7", + "port-version": 5 + }, + { + "git-tree": "13185f7c713eeb0ec50990488e9ea2eef9a9a276", + "version": "3.10.7", + "port-version": 4 + }, + { + "git-tree": "34d2d172a62b2d8da14493b4c6ad9495cf2a28cb", + "version": "3.10.7", + "port-version": 3 + }, + { + "git-tree": "84623885a79a6bbf45a2bc65ab3328005af389ea", + "version": "3.10.7", + "port-version": 2 + }, + { + "git-tree": "cd1c4998e317f9fcfed85a04c1e276dff9ddde84", + "version": "3.10.7", + "port-version": 1 + }, + { + "git-tree": "047f7eca7d1000287f2389302d5c292251d023f2", + "version": "3.10.7", + "port-version": 0 + }, + { + "git-tree": "a6bf44809eee3bfbce1b176e55d41beb54cac6f2", + "version": "3.10.5", + "port-version": 4 + }, + { + "git-tree": "03352a9860cce420c7bc069e1f62f5b1a19226ef", + "version": "3.10.5", + "port-version": 3 + }, + { + "git-tree": "6e7ddcd01a8341a906d5dde6b3d221c955571684", + "version": "3.10.5", + "port-version": 2 + }, + { + "git-tree": "c345c4a8ad91847522188517c68e8f83637f4440", + "version": "3.10.5", + "port-version": 1 + }, + { + "git-tree": "d7c43b7217707bb35a86859d9285496fc2bce8e2", + "version": "3.10.5", + "port-version": 0 + }, + { + "git-tree": "30321893b72abb4b682e3b66f75c54c1df3051c9", + "version": "3.10.2", + "port-version": 2 + }, + { + "git-tree": "4e348bd50d8c4252bda83903ce22f1e60d34be88", + "version": "3.10.2", + "port-version": 1 + }, + { + "git-tree": "0cf2e0bbf8fd712f82ed1997be82b136f1c13108", + "version-semver": "3.10.2", + "port-version": 0 + }, + { + "git-tree": "ce4fddbb41412be06577c61632e8e9ef0a67901c", + "version-semver": "3.10.1", + "port-version": 8 + }, + { + "git-tree": "31155fa7fa6cfa0fd2554e89584c92a2135bce19", + "version-semver": "3.10.1", + "port-version": 7 + }, + { + "git-tree": "a7ef4a1d73a9e486cd23edd98f12a2f4d4216920", + "version-semver": "3.10.1", + "port-version": 6 + }, + { + "git-tree": "c9b705608afc0485c03effb5aaa439f027b20af4", + "version-semver": "3.10.1", + "port-version": 5 + }, + { + "git-tree": "75172bc36c45d15ee298de1803625af1770cb805", + "version-semver": "3.10.1", + "port-version": 4 + }, + { + "git-tree": "35f071d147af8c4d8dfac5eaa95ad41e395448a5", + "version-semver": "3.10.1", + "port-version": 3 + }, + { + "git-tree": "198663bdc6b156d4423eb6ebf085c803f83babf8", + "version-semver": "3.10.1", + "port-version": 2 + }, + { + "git-tree": "5fe3685d04e62103465074dbe416e3158a6017a8", + "version-semver": "3.10.1", + "port-version": 1 + }, + { + "git-tree": "a5808a65bfe083729207ce88e66204198e3d939c", + "version-semver": "3.10.1", + "port-version": 0 + }, + { + "git-tree": "4fc95c5f7429e4fa04ba978f79ae6530f5280749", + "version-semver": "3.10.0", + "port-version": 4 + }, + { + "git-tree": "f2b8029e8ffdc1cbbff8a40346ef5fa82c811616", + "version-semver": "3.10.0", + "port-version": 3 + }, { "git-tree": "c8c0f995b8f1831fc7f345329c2ce0a80d717551", "version-semver": "3.10.0", diff --git a/versions/q-/qca.json b/versions/q-/qca.json index de9cc43aa0c0a5..14b457a0b86117 100644 --- a/versions/q-/qca.json +++ b/versions/q-/qca.json @@ -1,5 +1,55 @@ { "versions": [ + { + "git-tree": "ed1a64051112c5fb71752955396dbe9a74a97cb7", + "version": "2.3.7", + "port-version": 2 + }, + { + "git-tree": "aaecacb5189f66099801d583df1cd73e97d74034", + "version": "2.3.7", + "port-version": 1 + }, + { + "git-tree": "f4a6f18e51fa29570a8e35e20668aa86e60f6ff7", + "version": "2.3.7", + "port-version": 0 + }, + { + "git-tree": "32321bfdc0e4563ed40687585b48038d551f6149", + "version": "2.3.5", + "port-version": 2 + }, + { + "git-tree": "a5af940aef31f91feea8cb12daddb268a7cf4608", + "version": "2.3.5", + "port-version": 1 + }, + { + "git-tree": "8d7c38d61627baf7ae04a7f069fad8f506e5f82d", + "version": "2.3.5", + "port-version": 0 + }, + { + "git-tree": "f719790dc5863b3724d0fed5a7179cb1ca41c871", + "version": "2.3.4", + "port-version": 3 + }, + { + "git-tree": "41239863ffd0059d8688502f6d6284785c6c8633", + "version": "2.3.4", + "port-version": 2 + }, + { + "git-tree": "d61c0d118f3d64f69c85f2442b28d4c2eed0a070", + "version": "2.3.4", + "port-version": 1 + }, + { + "git-tree": "8fd8829b933de5ae6fffecd509403987ca084634", + "version": "2.3.4", + "port-version": 0 + }, { "git-tree": "842dcdd87f56ec4318a5049e95b1eb9807dd2193", "version": "2.3.1", diff --git a/versions/q-/qcoro.json b/versions/q-/qcoro.json new file mode 100644 index 00000000000000..835d3afc08310b --- /dev/null +++ b/versions/q-/qcoro.json @@ -0,0 +1,24 @@ +{ + "versions": [ + { + "git-tree": "695f5bd5f508640b1a276823ae5d6dc11f04b1fc", + "version": "0.11.0", + "port-version": 0 + }, + { + "git-tree": "f8b9f743a339335725fe9fe3475f584cc9654b69", + "version": "0.10.0", + "port-version": 1 + }, + { + "git-tree": "98bf3c0f6c546401e5976e2d474765d838050fd3", + "version": "0.10.0", + "port-version": 0 + }, + { + "git-tree": "0b82c30bd542212b17946094149433dda747515f", + "version": "0.9.0", + "port-version": 0 + } + ] +} diff --git a/versions/q-/qcustomplot.json b/versions/q-/qcustomplot.json index f22ce4aebaf6cb..f8b3bc04df5c06 100644 --- a/versions/q-/qcustomplot.json +++ b/versions/q-/qcustomplot.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "9777b7a98f80b51511f9a266053ff1373c5aee72", + "version": "2.1.1", + "port-version": 1 + }, + { + "git-tree": "5fa5ea943fa7d0b35422a11a04d01491745bf990", + "version": "2.1.1", + "port-version": 0 + }, { "git-tree": "7fcc18d2987ed5b3af803d5e0ac5c9afd026fc37", "version": "2.0.1", diff --git a/versions/q-/qhttpengine.json b/versions/q-/qhttpengine.json new file mode 100644 index 00000000000000..16d3df94ee19ce --- /dev/null +++ b/versions/q-/qhttpengine.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "df41e64df52df962bbd8836762d3946358819690", + "version": "1.0.2", + "port-version": 1 + }, + { + "git-tree": "7981cbfcf13bef7cfede8cf40a9d69967cc63dfb", + "version": "1.0.2", + "port-version": 0 + } + ] +} diff --git a/versions/q-/qhull.json b/versions/q-/qhull.json index 52eb5af94685cc..bdf4ca2ecf8d8c 100644 --- a/versions/q-/qhull.json +++ b/versions/q-/qhull.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "0c30770c608574944db1c98437d356af3e64fe5b", + "version": "8.0.2", + "port-version": 5 + }, + { + "git-tree": "1cfdbe28c32936c2ac6c9fb8d269f81c2a96415f", + "version": "8.0.2", + "port-version": 4 + }, + { + "git-tree": "afe7d7f235d72db1da52a99ebe085cafd21577b3", + "version": "8.0.2", + "port-version": 3 + }, { "git-tree": "574301a0f60d743f5ea7165dda5e45bd0f1082ba", "version-string": "8.0.2", diff --git a/versions/q-/qmex.json b/versions/q-/qmex.json new file mode 100644 index 00000000000000..8de5a235e380bf --- /dev/null +++ b/versions/q-/qmex.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "b5fa4eb05382aad62fad36c2c6ae5e961cc0a6c6", + "version-date": "2024-10-31", + "port-version": 0 + } + ] +} diff --git a/versions/q-/qnnpack.json b/versions/q-/qnnpack.json index b9f21aaa7e7d02..e5789c3c289a29 100644 --- a/versions/q-/qnnpack.json +++ b/versions/q-/qnnpack.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "cee68bf91e46cc783fe3f03d4525e02c0793389c", + "version-date": "2021-02-26", + "port-version": 3 + }, + { + "git-tree": "907c113d0c35b674976b5c3b7dc96b2c71084061", + "version-date": "2021-02-26", + "port-version": 2 + }, + { + "git-tree": "8dbc0dd7bdcf36b48124351fbc2ecc44d0b2e961", + "version-date": "2021-02-26", + "port-version": 1 + }, { "git-tree": "b433ea1861106777f4f358ba433eeea488e91c3a", "version-date": "2021-02-26", diff --git a/versions/q-/qoi.json b/versions/q-/qoi.json new file mode 100644 index 00000000000000..770c27d48148bd --- /dev/null +++ b/versions/q-/qoi.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "2501f06dad0450b48676652e4f8b053071f874fb", + "version-date": "2023-08-10", + "port-version": 0 + } + ] +} diff --git a/versions/q-/qoixx.json b/versions/q-/qoixx.json new file mode 100644 index 00000000000000..acf5e03766d489 --- /dev/null +++ b/versions/q-/qoixx.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "6f87694d4959ad4f4cd207b7225b73c113157855", + "version-date": "2022-12-07", + "port-version": 0 + } + ] +} diff --git a/versions/q-/qpid-proton.json b/versions/q-/qpid-proton.json index 82017e48c4be54..8d613e7dab70f3 100644 --- a/versions/q-/qpid-proton.json +++ b/versions/q-/qpid-proton.json @@ -1,5 +1,55 @@ { "versions": [ + { + "git-tree": "2cf3ce91a7b7d428dece244d6626ebb67d03a37d", + "version": "0.38.0", + "port-version": 2 + }, + { + "git-tree": "0a69d30375c0d5848b12cbdcaab4820b9d639223", + "version": "0.38.0", + "port-version": 1 + }, + { + "git-tree": "848bfbdf75b68fadddcddd6c501d095a8f21f63d", + "version": "0.38.0", + "port-version": 0 + }, + { + "git-tree": "32527f3a05b41a04ad42ab2e0827dfee69b18ec0", + "version": "0.37.0", + "port-version": 3 + }, + { + "git-tree": "e019a7a0cb758104296c13689ca86f44db64cfb6", + "version": "0.37.0", + "port-version": 2 + }, + { + "git-tree": "543baa82530f5eb5ed9b3d6348a14b5e24ccda64", + "version": "0.37.0", + "port-version": 1 + }, + { + "git-tree": "720cc65a7b408878662ce7c749211fa7edaf25fd", + "version": "0.37.0", + "port-version": 0 + }, + { + "git-tree": "bc437ca04548b4ca544af845a2e2327010aa3281", + "version": "0.32.0", + "port-version": 5 + }, + { + "git-tree": "be327f08d64834a36d80a140832abbbc66e67207", + "version": "0.32.0", + "port-version": 4 + }, + { + "git-tree": "109a9bb4fac5d5c5a52cd620d7ddb22da6fe47f7", + "version": "0.32.0", + "port-version": 3 + }, { "git-tree": "c6ab0bd896fa44681e2c3d4b325915ddacb38a1a", "version": "0.32.0", diff --git a/versions/q-/qscintilla.json b/versions/q-/qscintilla.json index 936299c8b7117d..3c09a002c6266a 100644 --- a/versions/q-/qscintilla.json +++ b/versions/q-/qscintilla.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "dc5fd8d8484f29c7fd10d360f74d6b1bff6bd884", + "version": "2.14.1", + "port-version": 1 + }, + { + "git-tree": "3280645a840ece797868b44065cbbe3b609b4099", + "version": "2.14.1", + "port-version": 0 + }, + { + "git-tree": "9b86f317966ccab4dcfecbff35fd2496ac29541e", + "version": "2.13.4", + "port-version": 2 + }, + { + "git-tree": "4920a3d743be78d0d5be05132786873977677665", + "version": "2.13.4", + "port-version": 1 + }, { "git-tree": "63f2d1f0287a6d61b5c85b428920b0fbe102adec", "version": "2.12.0", diff --git a/versions/q-/qt-advanced-docking-system.json b/versions/q-/qt-advanced-docking-system.json index 88a22840db1777..5f9f7ba7dada94 100644 --- a/versions/q-/qt-advanced-docking-system.json +++ b/versions/q-/qt-advanced-docking-system.json @@ -1,5 +1,60 @@ { "versions": [ + { + "git-tree": "421d2654780d642434d6778897edc9562416a878", + "version": "4.3.1", + "port-version": 0 + }, + { + "git-tree": "324c0ad43c0ab27845205f4539e925e627ce321a", + "version": "4.3.0", + "port-version": 0 + }, + { + "git-tree": "628b6d9fc6b20da81f18c74bb9673c083b5206b9", + "version": "4.2.1", + "port-version": 0 + }, + { + "git-tree": "ce9908d6903a343d5b5d22750c4c29fe097ff418", + "version": "4.2.0", + "port-version": 0 + }, + { + "git-tree": "98c020f1eda45cfc5d1eee6369bbdb5c1a52825a", + "version": "4.0.3", + "port-version": 1 + }, + { + "git-tree": "152f31d925c8f0d75f41ad9f656abbe8f30c1b44", + "version": "4.0.3", + "port-version": 0 + }, + { + "git-tree": "0e2298c569112e322898697b9680723c35a55cd5", + "version": "3.8.2", + "port-version": 2 + }, + { + "git-tree": "cdafc879bca2bc737f24557664c1384982bb1fe3", + "version": "3.8.2", + "port-version": 1 + }, + { + "git-tree": "faedc79b62016f2cfc3c47ecc16db714448daa48", + "version": "3.8.2", + "port-version": 0 + }, + { + "git-tree": "427efb4851b6f81f6301f6418d0e8d04bebbf557", + "version": "3.8.0", + "port-version": 0 + }, + { + "git-tree": "0b7978e662c15be190cef924f1cdc93d3a8492f9", + "version": "3.7.2", + "port-version": 0 + }, { "git-tree": "1f19c23c1d05692cdf45c9876efc195412945dae", "version-string": "3.6.3", diff --git a/versions/q-/qt.json b/versions/q-/qt.json index 222b019eb75560..4fc07c3ec6215f 100644 --- a/versions/q-/qt.json +++ b/versions/q-/qt.json @@ -1,5 +1,130 @@ { "versions": [ + { + "git-tree": "6d43689d4a62bc9cff176447e5a2bf7876b46387", + "version": "6.7.3", + "port-version": 0 + }, + { + "git-tree": "8d1fad8f756215f70bab256b27afd5856292c3a9", + "version": "6.7.2", + "port-version": 0 + }, + { + "git-tree": "0a1a179ef9a3c965d3dc4cba9b35a5f78fccdfe9", + "version": "6.7.1", + "port-version": 0 + }, + { + "git-tree": "b43b9441f148fedaf603d7f8a7b76912b94e098e", + "version": "6.7.0", + "port-version": 0 + }, + { + "git-tree": "d64908d47d87b22739a8b4c144afdda8867013d9", + "version": "6.6.3", + "port-version": 0 + }, + { + "git-tree": "bb6dde32780fc4b189c12148057083b4c01dd936", + "version": "6.6.1", + "port-version": 1 + }, + { + "git-tree": "cd6a0c4b4f56e81db4ba5fedc5e07b8b2b896780", + "version": "6.6.1", + "port-version": 0 + }, + { + "git-tree": "766ab007c0d703f29b892b6496af3ae458aab9c0", + "version": "6.6.0", + "port-version": 0 + }, + { + "git-tree": "9f70e09569f7a3dc11f7efe9acb2fe646e0354c9", + "version": "6.5.3", + "port-version": 0 + }, + { + "git-tree": "8c51d3d09aed70fbbe41960be34875dbe211a88d", + "version": "6.5.2", + "port-version": 0 + }, + { + "git-tree": "da935525e462432e2d89412513704c8c4d04b7cd", + "version": "6.5.1", + "port-version": 0 + }, + { + "git-tree": "ecd656220f58ebf6651801b9fc439ba5d8f6b62b", + "version": "6.5.0", + "port-version": 0 + }, + { + "git-tree": "6e93109d6a3a6a6ef65470ce467a01a931a723b9", + "version": "6.4.3", + "port-version": 1 + }, + { + "git-tree": "01393fc66b4bf4414a40b6dfe895e025c1778fe6", + "version": "6.4.3", + "port-version": 0 + }, + { + "git-tree": "e87868b5849c0749149e7704d9ea811968bdfef5", + "version": "6.4.2", + "port-version": 1 + }, + { + "git-tree": "15b58195684518c458f733607909afcbec4d7cd9", + "version": "6.4.2", + "port-version": 0 + }, + { + "git-tree": "e7da3f03ca019f38f622fbfe9edb1aa2f00d7269", + "version": "6.4.1", + "port-version": 0 + }, + { + "git-tree": "d75a733a2c3757b28d6fe110144870ebe98bd130", + "version": "6.4.0", + "port-version": 0 + }, + { + "git-tree": "3d1f292c90218f1cf71b84cfba2ec4b8a741b90b", + "version": "6.3.2", + "port-version": 1 + }, + { + "git-tree": "17bba488ae744a514ee214f30d0bdb1bd6da6831", + "version": "6.3.2", + "port-version": 0 + }, + { + "git-tree": "0a008830e0a624fce731b50046e8f3b89c46c340", + "version": "6.3.1", + "port-version": 0 + }, + { + "git-tree": "8b4a7a1d86d93bd16d897b76cdf85abeac8e67d3", + "version": "6.3.0", + "port-version": 0 + }, + { + "git-tree": "38c269c72f98a9fd49b28d428ad29cc5f1079fac", + "version": "6.2.4", + "port-version": 0 + }, + { + "git-tree": "174cc984a142087680da0f0f42e659b835bb17b8", + "version": "6.2.3", + "port-version": 0 + }, + { + "git-tree": "0270bf15601be63bc4e72bee1edc44e1241cbbfc", + "version-semver": "6.2.2", + "port-version": 0 + }, { "git-tree": "21c442fd3e940a2ee9a83377da9a8e902539b51b", "version-semver": "6.2.1", diff --git a/versions/q-/qt3d.json b/versions/q-/qt3d.json new file mode 100644 index 00000000000000..8031a793f97589 --- /dev/null +++ b/versions/q-/qt3d.json @@ -0,0 +1,84 @@ +{ + "versions": [ + { + "git-tree": "f14571786a31c8dd14aab6f24afc108f907a6486", + "version": "6.7.3", + "port-version": 0 + }, + { + "git-tree": "569eb976a804657e8f4e0f7627a51ba3609f3e34", + "version": "6.7.2", + "port-version": 0 + }, + { + "git-tree": "b707341831e608aed69bad4e43f4c4b266fdd927", + "version": "6.7.1", + "port-version": 0 + }, + { + "git-tree": "7c8531931f5eec48995ff96ddfc254c327ea2432", + "version": "6.7.0", + "port-version": 0 + }, + { + "git-tree": "f5cc10c2c4accb751941096cd256f8141949e092", + "version": "6.6.3", + "port-version": 0 + }, + { + "git-tree": "f14756a5feca4f0d8dcf6161ef129c1144b25af6", + "version": "6.6.1", + "port-version": 0 + }, + { + "git-tree": "d3c2532ea0b16b01aeb17c7e1bcdb0e4c1d3ff0a", + "version": "6.6.0", + "port-version": 0 + }, + { + "git-tree": "02baf17bff3c96ec6e5e2f79576528b095b6f6b8", + "version": "6.5.3", + "port-version": 0 + }, + { + "git-tree": "6363a118373460520fc6cfe3f2bc70625d76ea7e", + "version": "6.5.2", + "port-version": 0 + }, + { + "git-tree": "c367d3e4afaa2271628a5608d9144f912c830236", + "version": "6.5.1", + "port-version": 0 + }, + { + "git-tree": "56a3a7a27a022640d0f965aeb1d56ece4c63006d", + "version": "6.5.0", + "port-version": 0 + }, + { + "git-tree": "c3c0d24660bf42af84e27538b011b36e831ba942", + "version": "6.4.3", + "port-version": 0 + }, + { + "git-tree": "e28b94594bee003f765bddc677ac078ce483eb05", + "version": "6.4.2", + "port-version": 0 + }, + { + "git-tree": "4f2e4944f1e8bec1d362631659af67ec331f843b", + "version": "6.4.1", + "port-version": 0 + }, + { + "git-tree": "af75766b005ecc88ec170a30939d2c31ee87e81b", + "version": "6.4.0", + "port-version": 0 + }, + { + "git-tree": "8d2cabd2615053a8dcf800f29065e0cf9769a241", + "version": "6.3.2", + "port-version": 0 + } + ] +} diff --git a/versions/q-/qt5-3d.json b/versions/q-/qt5-3d.json index 714056ab054bf1..f0c6ff3922502f 100644 --- a/versions/q-/qt5-3d.json +++ b/versions/q-/qt5-3d.json @@ -1,5 +1,90 @@ { "versions": [ + { + "git-tree": "24ea39b5002568463c4999ef84b7fbcad5d215e3", + "version": "5.15.15", + "port-version": 0 + }, + { + "git-tree": "2f2239787354a37f67fde266bda1905c5b939f6c", + "version": "5.15.14", + "port-version": 0 + }, + { + "git-tree": "40f41c50f42a8c28161eafd2d71221d022e2b4a0", + "version": "5.15.13", + "port-version": 1 + }, + { + "git-tree": "920720dacbd54815ea9eba023787665002d80269", + "version": "5.15.13", + "port-version": 0 + }, + { + "git-tree": "a0f73e9f36b58bb194c21d495bb0a4e8fc9a4d41", + "version": "5.15.12", + "port-version": 0 + }, + { + "git-tree": "fd3a019873d77d8951d137f3f5a4bd3ae8fc147a", + "version": "5.15.11", + "port-version": 0 + }, + { + "git-tree": "be8daf4a45d4f87e7867bd9110ba974c3db3aa00", + "version": "5.15.10", + "port-version": 1 + }, + { + "git-tree": "3476fd00f9a99f7993cb70835c78fc9d998f1974", + "version": "5.15.10", + "port-version": 0 + }, + { + "git-tree": "f4cd3a7a30f7ffa9d3bd66371293a0427f3d2fa9", + "version": "5.15.9", + "port-version": 0 + }, + { + "git-tree": "57e1c6c944b35af1de16f24d8871c42c44e90b23", + "version": "5.15.8", + "port-version": 0 + }, + { + "git-tree": "e3c6acdf993ac0e055c19f61b71b2399b92947eb", + "version": "5.15.7", + "port-version": 0 + }, + { + "git-tree": "a085f6772db0df5dfe00fb16194b857a9f6bdba3", + "version": "5.15.6", + "port-version": 0 + }, + { + "git-tree": "47a71a5fc9720cda647f0d1693f95024b434b5d3", + "version": "5.15.5", + "port-version": 1 + }, + { + "git-tree": "bdd0dea463c7b380c2747fcd45336712c4a381a5", + "version": "5.15.5", + "port-version": 0 + }, + { + "git-tree": "ad54e2c1049e5ec47c24815f9b1a1039588c4017", + "version": "5.15.4", + "port-version": 0 + }, + { + "git-tree": "5538f55e5cb938c965447c3a5ce67b243f5d97f1", + "version": "5.15.3", + "port-version": 0 + }, + { + "git-tree": "4c43f4aec27c0ac682f88d1edfcce7c28e4a9458", + "version-string": "5.15.2", + "port-version": 3 + }, { "git-tree": "f46ab15ed74e4680e16b61851b9eb41523a626f6", "version-string": "5.15.2", diff --git a/versions/q-/qt5-activeqt.json b/versions/q-/qt5-activeqt.json index 83332ee66ed0ee..4ddce3ebe4d26d 100644 --- a/versions/q-/qt5-activeqt.json +++ b/versions/q-/qt5-activeqt.json @@ -1,5 +1,75 @@ { "versions": [ + { + "git-tree": "ad09a82988d1e3267f36c1803de6d6ca7451cc4d", + "version": "5.15.15", + "port-version": 0 + }, + { + "git-tree": "68954bbbd80d173831862ad6a8fe782247202a98", + "version": "5.15.14", + "port-version": 0 + }, + { + "git-tree": "8a130d6cfe8f5c8bc2c50c9c57b40a3d5e7b28e4", + "version": "5.15.13", + "port-version": 1 + }, + { + "git-tree": "0c82721fd67fa6bd970284211188c2861c4313f6", + "version": "5.15.13", + "port-version": 0 + }, + { + "git-tree": "c5105fba54b83485f15754fe858dd8b8318a88eb", + "version": "5.15.12", + "port-version": 0 + }, + { + "git-tree": "45de7184a24f527bbccf33013f1c6667d5e6f668", + "version": "5.15.11", + "port-version": 0 + }, + { + "git-tree": "7862807b3cdd0a4647ba2f9db4eb3c1338536e9e", + "version": "5.15.10", + "port-version": 0 + }, + { + "git-tree": "76aaf6a6e40ee58a40a88ae725c230623cfd0762", + "version": "5.15.9", + "port-version": 0 + }, + { + "git-tree": "a65cfaf1d3657b487df5a7d18e886b4c638ec182", + "version": "5.15.8", + "port-version": 0 + }, + { + "git-tree": "db3ab0ee7d95b99b7f1567517e5d67ef8fe016ed", + "version": "5.15.7", + "port-version": 0 + }, + { + "git-tree": "3229267d9f245462b0cae0632505cc2d3ceefc69", + "version": "5.15.6", + "port-version": 0 + }, + { + "git-tree": "dac80735405e39d0a83de3d46e9462045062da11", + "version": "5.15.5", + "port-version": 0 + }, + { + "git-tree": "d849c962c3692fa2177966c6ac225eefe7306001", + "version": "5.15.4", + "port-version": 0 + }, + { + "git-tree": "ebae9d515816c48a9bbb2550acd02d02bfcfddc7", + "version": "5.15.3", + "port-version": 0 + }, { "git-tree": "8bf9b51fd87d81531f301ee9060b76c829221afb", "version-string": "5.15.2", diff --git a/versions/q-/qt5-androidextras.json b/versions/q-/qt5-androidextras.json index a8f18ffd40df70..dafc744465b746 100644 --- a/versions/q-/qt5-androidextras.json +++ b/versions/q-/qt5-androidextras.json @@ -1,5 +1,75 @@ { "versions": [ + { + "git-tree": "b37f59e3909e093b8e04ec07f88db3719bca70c9", + "version": "5.15.15", + "port-version": 0 + }, + { + "git-tree": "b5701bed9e0e92a1e5be10d2c2bff6b005ac8d3f", + "version": "5.15.14", + "port-version": 0 + }, + { + "git-tree": "375d6f1120fa00a552ebd11e93c94d95238bb39a", + "version": "5.15.13", + "port-version": 1 + }, + { + "git-tree": "28b06b7abffcddf201952919aae9397213a4345c", + "version": "5.15.13", + "port-version": 0 + }, + { + "git-tree": "bb3e1de9127ad2c1bda4ebf21f441adfa5facf63", + "version": "5.15.12", + "port-version": 0 + }, + { + "git-tree": "382ab13532eab56c75a3a4150a8bdb2cf9464200", + "version": "5.15.11", + "port-version": 0 + }, + { + "git-tree": "11a9fee7235b0de6c54f4b1ee65e103bc94a6075", + "version": "5.15.10", + "port-version": 0 + }, + { + "git-tree": "e877be0fe4f6fbb37edc7f97f90fcddb32dc7913", + "version": "5.15.9", + "port-version": 0 + }, + { + "git-tree": "f0dd22632c0c5ceef5194777566b4a18a5222504", + "version": "5.15.8", + "port-version": 0 + }, + { + "git-tree": "4fd3d5f46490361871f54113db6ee5fa463d4962", + "version": "5.15.7", + "port-version": 0 + }, + { + "git-tree": "368c21ed42b41f6fcde054661465a3152e67cdff", + "version": "5.15.6", + "port-version": 0 + }, + { + "git-tree": "2695f2680a28a32235de0bf07cfd8a4230b2b2ac", + "version": "5.15.5", + "port-version": 0 + }, + { + "git-tree": "c014160f25591285ae1b0274e7d4453a152e9fed", + "version": "5.15.4", + "port-version": 0 + }, + { + "git-tree": "b0e32e6213649f8645b05c868b81dc3c982bfb30", + "version": "5.15.3", + "port-version": 0 + }, { "git-tree": "b8ff6ba90c3b7046e2728056998ff79665353503", "version-string": "5.15.2", diff --git a/versions/q-/qt5-base.json b/versions/q-/qt5-base.json index 88c2f42f1b28cb..1a8ba0fc744df5 100644 --- a/versions/q-/qt5-base.json +++ b/versions/q-/qt5-base.json @@ -1,5 +1,275 @@ { "versions": [ + { + "git-tree": "6ae808ff9831e8fc3c9f31e0ec0ac71b2e9d3a4e", + "version": "5.15.15", + "port-version": 1 + }, + { + "git-tree": "99dfc2c88d6a863afc5eef00463166c50e5e12d2", + "version": "5.15.15", + "port-version": 0 + }, + { + "git-tree": "70b9f2253a8552920bde3808c812936bcf4d66cd", + "version": "5.15.14", + "port-version": 2 + }, + { + "git-tree": "317554d7e9c175899b3595ef4eb6d54839348e38", + "version": "5.15.14", + "port-version": 1 + }, + { + "git-tree": "75b18652c1bffc159027d9074d46c580458d36be", + "version": "5.15.14", + "port-version": 0 + }, + { + "git-tree": "c0f8f147b639b6c633f50bf2e03f161dd21db633", + "version": "5.15.13", + "port-version": 3 + }, + { + "git-tree": "89570374cb1b5f83ecad6775121eb06e68b02495", + "version": "5.15.13", + "port-version": 2 + }, + { + "git-tree": "0a70734eb07533aeba97b75a928fdf8a47d1e1d3", + "version": "5.15.13", + "port-version": 1 + }, + { + "git-tree": "ad1dffea8d188fbaf56e7d2564455b96bbce57bb", + "version": "5.15.13", + "port-version": 0 + }, + { + "git-tree": "1ff980ad44dfab95d50dfe163ff3ef2de05d41d7", + "version": "5.15.12", + "port-version": 2 + }, + { + "git-tree": "2932bd39b46da13edde2cf5715b0308c53b1d426", + "version": "5.15.12", + "port-version": 1 + }, + { + "git-tree": "e2a320e35b03c115bc674b6006f7a8a9907835b0", + "version": "5.15.12", + "port-version": 0 + }, + { + "git-tree": "c09b409166a1cb3e4881ee5b0081069227a7ae45", + "version": "5.15.11", + "port-version": 1 + }, + { + "git-tree": "d26db1adfbe17c91d6c2858d38290ce2277cd8a3", + "version": "5.15.11", + "port-version": 0 + }, + { + "git-tree": "0ee4e266c41088bae8b961529841eebc5696a749", + "version": "5.15.10", + "port-version": 7 + }, + { + "git-tree": "3910010e49edbdf2f8a7bf917ee51f5ab888769e", + "version": "5.15.10", + "port-version": 6 + }, + { + "git-tree": "36129e539ff3df7757bf3074b977dd32d6e85926", + "version": "5.15.10", + "port-version": 5 + }, + { + "git-tree": "bd1318b6c207ed69b8a5c5ab75f143263b6bc522", + "version": "5.15.10", + "port-version": 4 + }, + { + "git-tree": "527c937f1bc15252b1397447900bc93c13f16b5e", + "version": "5.15.10", + "port-version": 3 + }, + { + "git-tree": "47eb2c538dd9220fcf44ca6a72f1aa64e4fb8d26", + "version": "5.15.10", + "port-version": 2 + }, + { + "git-tree": "3088e8df941cddfdc7dd5a5b6efae7386cb3d388", + "version": "5.15.10", + "port-version": 1 + }, + { + "git-tree": "a90de4f154709723b9a837d25b1572ca33f2a8b4", + "version": "5.15.10", + "port-version": 0 + }, + { + "git-tree": "9107483664812c119937623d402bea6395c24cd3", + "version": "5.15.9", + "port-version": 3 + }, + { + "git-tree": "1137d1509e996fa4bde14ec310c6955b50408c8a", + "version": "5.15.9", + "port-version": 2 + }, + { + "git-tree": "11985a25ce0eb80b4a66246fc5962140f454225f", + "version": "5.15.9", + "port-version": 1 + }, + { + "git-tree": "0dbe8668bfb03c43ce4fec9edf98da248e581774", + "version": "5.15.9", + "port-version": 0 + }, + { + "git-tree": "51c0d7f3e15a664dba88e8c9891d4a045661f4ec", + "version": "5.15.8", + "port-version": 5 + }, + { + "git-tree": "1528baab40fce203129dc361128135b453e1ecb1", + "version": "5.15.8", + "port-version": 4 + }, + { + "git-tree": "6784bfaa6ca1ddf15b673165041defe84f289a9c", + "version": "5.15.8", + "port-version": 3 + }, + { + "git-tree": "c2fc93e40435da3abae5ab36864d1c2d4aaafb91", + "version": "5.15.8", + "port-version": 2 + }, + { + "git-tree": "3ca5efe99e5f582864670520199ec5da387ceb80", + "version": "5.15.8", + "port-version": 1 + }, + { + "git-tree": "9bc09074d246485cea02dc5ba92ffcbae8f28cad", + "version": "5.15.8", + "port-version": 0 + }, + { + "git-tree": "af00427603715db6c7841bcc951fd71c076ffcdf", + "version": "5.15.7", + "port-version": 5 + }, + { + "git-tree": "c8d7ff2134c21300e90082d9eb7dbf5c70689856", + "version": "5.15.7", + "port-version": 4 + }, + { + "git-tree": "81ce731dc0595354a8eb77ea9557f4b7a6ca44d3", + "version": "5.15.7", + "port-version": 3 + }, + { + "git-tree": "5464e5c86a4d0f0e55e9962a0a4476669411fdaf", + "version": "5.15.7", + "port-version": 2 + }, + { + "git-tree": "03b57b46f1e3be1f7aa32cfe41ef54ace61cb87f", + "version": "5.15.7", + "port-version": 1 + }, + { + "git-tree": "e2cd525c7989b5b2a96b9ad5ebaf145c1a549218", + "version": "5.15.7", + "port-version": 0 + }, + { + "git-tree": "33f9683e8ac31a95c1fa310e47990191b8c6387f", + "version": "5.15.6", + "port-version": 2 + }, + { + "git-tree": "7881b89de5ec007d8ea1cd868fd76dd74a2f08ad", + "version": "5.15.6", + "port-version": 1 + }, + { + "git-tree": "432a70f67a01e3348d79cd158563b033a0304452", + "version": "5.15.6", + "port-version": 0 + }, + { + "git-tree": "21a6678f36c765307bd8d36052790ab2d59a494d", + "version": "5.15.5", + "port-version": 1 + }, + { + "git-tree": "27c23b887623e05b6a536e0f5d587c8c98f70278", + "version": "5.15.5", + "port-version": 0 + }, + { + "git-tree": "64b643c8e9f807cdfdba86d59f39e1b19e747d62", + "version": "5.15.4", + "port-version": 0 + }, + { + "git-tree": "7518c5eeb84d3bbfaaa88cb19795b693fd0923f7", + "version": "5.15.3", + "port-version": 3 + }, + { + "git-tree": "abaaa592badf33576f197d915ed1f4ddd91d0931", + "version": "5.15.3", + "port-version": 2 + }, + { + "git-tree": "0b581b90072df50364b8c863110b2034a6b9f28e", + "version": "5.15.3", + "port-version": 1 + }, + { + "git-tree": "8c2fa92b6281b496e3aead1b02238ab7668c204a", + "version": "5.15.3", + "port-version": 0 + }, + { + "git-tree": "f21ebf7bf6644292d70d9c564c1408a224f26c77", + "version-semver": "5.15.2", + "port-version": 20 + }, + { + "git-tree": "5a9c2b85fd5f62bb1b52f18c4628b0e08d765dd4", + "version-semver": "5.15.2", + "port-version": 19 + }, + { + "git-tree": "5793fff5370499ba464430142f86b971a23dff25", + "version-semver": "5.15.2", + "port-version": 18 + }, + { + "git-tree": "f8fbecca6183036771dc794859432a2a84435abb", + "version-semver": "5.15.2", + "port-version": 17 + }, + { + "git-tree": "5f510633de982d6e75e3d1170af23feedf208166", + "version-semver": "5.15.2", + "port-version": 16 + }, + { + "git-tree": "3f339b7160586f33649b2bee10a48b4629d6d1f2", + "version-semver": "5.15.2", + "port-version": 15 + }, { "git-tree": "1e5756de068474651dc8ee50fb14be3d4c236b05", "version-semver": "5.15.2", diff --git a/versions/q-/qt5-canvas3d.json b/versions/q-/qt5-canvas3d.json index c7ed4c73706e0f..b6e1b63b0342a6 100644 --- a/versions/q-/qt5-canvas3d.json +++ b/versions/q-/qt5-canvas3d.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "6eabe120e34d802212e8de6796e94394cdbed7ee", + "version": "0", + "port-version": 3 + }, + { + "git-tree": "335184e95b862a3548cd14e4336e870082fde3d1", + "version": "0", + "port-version": 2 + }, { "git-tree": "7c880f36024ca1fe697ebfa6bfe4b9ae47c9b33a", "version-string": "0", diff --git a/versions/q-/qt5-charts.json b/versions/q-/qt5-charts.json index 7e8eac197dc5fe..4a3316a740fa93 100644 --- a/versions/q-/qt5-charts.json +++ b/versions/q-/qt5-charts.json @@ -1,5 +1,75 @@ { "versions": [ + { + "git-tree": "22d5d38889b54d158619cb0a072b2a0be705b495", + "version": "5.15.15", + "port-version": 0 + }, + { + "git-tree": "617e5f04a89dd5f5a16b486666c365b7995c7bf0", + "version": "5.15.14", + "port-version": 0 + }, + { + "git-tree": "65e3230f587989f947f60f62b71864c81d6bd30a", + "version": "5.15.13", + "port-version": 1 + }, + { + "git-tree": "24b198d23e7dcbb9a1916ebcfd5b81bcdbef5875", + "version": "5.15.13", + "port-version": 0 + }, + { + "git-tree": "4a21040c82b8746bd1feb8d7830defa42f9cff7a", + "version": "5.15.12", + "port-version": 0 + }, + { + "git-tree": "917d2b5a9ee716031be8a168076d174ec6712788", + "version": "5.15.11", + "port-version": 0 + }, + { + "git-tree": "21cff64c27a49de9aeebf975fa890c7de64b2ede", + "version": "5.15.10", + "port-version": 0 + }, + { + "git-tree": "98ec3df0bc18cf346f84be63fe575377f87ab053", + "version": "5.15.9", + "port-version": 0 + }, + { + "git-tree": "db1bc883831fe3210e65d31c3b20e16c75537ed8", + "version": "5.15.8", + "port-version": 0 + }, + { + "git-tree": "b6dd535a97551574c000d863962e0235c3694199", + "version": "5.15.7", + "port-version": 0 + }, + { + "git-tree": "5f3a916cb0dfbd6e0ea62d8b62466cb89fd6ae3e", + "version": "5.15.6", + "port-version": 0 + }, + { + "git-tree": "588bdf1227f8682fc19986b88b0b3e68190c2e00", + "version": "5.15.5", + "port-version": 0 + }, + { + "git-tree": "7ab20682c7d2ce50527abe1e4a41830a57635f65", + "version": "5.15.4", + "port-version": 0 + }, + { + "git-tree": "a4fa404a600c749529faae7807d2f24f5a6f8673", + "version": "5.15.3", + "port-version": 0 + }, { "git-tree": "d51381395f58fbcf7b9488c2e49708522d968ffb", "version-string": "5.15.2", diff --git a/versions/q-/qt5-connectivity.json b/versions/q-/qt5-connectivity.json index 58a0903bbf4586..8de244c83dbfa7 100644 --- a/versions/q-/qt5-connectivity.json +++ b/versions/q-/qt5-connectivity.json @@ -1,5 +1,75 @@ { "versions": [ + { + "git-tree": "67afa17d2cf24f95a1296dfd1f8ff8805be17d7e", + "version": "5.15.15", + "port-version": 0 + }, + { + "git-tree": "96790dd0d12ad1a3db8f8e4aa5457eef33d4dd5a", + "version": "5.15.14", + "port-version": 0 + }, + { + "git-tree": "19bb2b3181001464cf27869c3831dacc816e876d", + "version": "5.15.13", + "port-version": 1 + }, + { + "git-tree": "bc90db932309d5ebd204c1a30bf0472c2fe3be9e", + "version": "5.15.13", + "port-version": 0 + }, + { + "git-tree": "4de0c9f255cb601469ad4e7d42e55f14e27dba11", + "version": "5.15.12", + "port-version": 0 + }, + { + "git-tree": "b623eee1a6ff0e483580654a60d9e6eb4787be92", + "version": "5.15.11", + "port-version": 0 + }, + { + "git-tree": "8b9f8ae492cb7fb0ad32863279bfd1796779a043", + "version": "5.15.10", + "port-version": 0 + }, + { + "git-tree": "b92dc1593710e8d95fd2c43788bb9d5788bc0d83", + "version": "5.15.9", + "port-version": 0 + }, + { + "git-tree": "af4a5faaf3806fbd80687094df924674b6b6a125", + "version": "5.15.8", + "port-version": 0 + }, + { + "git-tree": "5cda96921f6097627871a5131978bd6ba26e096e", + "version": "5.15.7", + "port-version": 0 + }, + { + "git-tree": "b31cd7440b3016f1bfd883394622da941f0d791d", + "version": "5.15.6", + "port-version": 0 + }, + { + "git-tree": "25e38041d8b557befa01eb6d3eaa9e62fba0ab58", + "version": "5.15.5", + "port-version": 0 + }, + { + "git-tree": "1388a9a144fb9766f4f8a6a0e6bc5a0224b1487e", + "version": "5.15.4", + "port-version": 0 + }, + { + "git-tree": "8929178e2d3f0d544b21ed4bd1ad635e81fdefc5", + "version": "5.15.3", + "port-version": 0 + }, { "git-tree": "4f34765d100d517dc137a96aabc37ab5cb95ea13", "version-string": "5.15.2", diff --git a/versions/q-/qt5-datavis3d.json b/versions/q-/qt5-datavis3d.json index 1bc9e97643bf10..c9250099d1f704 100644 --- a/versions/q-/qt5-datavis3d.json +++ b/versions/q-/qt5-datavis3d.json @@ -1,5 +1,75 @@ { "versions": [ + { + "git-tree": "87229921890204be93a49bb4cd239d8ffbea157e", + "version": "5.15.15", + "port-version": 0 + }, + { + "git-tree": "9720ef8b7fe53731a6464067ec9204694670108d", + "version": "5.15.14", + "port-version": 0 + }, + { + "git-tree": "8cfa9580cf5f5d29ccd61c28bb9953affc9456ec", + "version": "5.15.13", + "port-version": 1 + }, + { + "git-tree": "3eba515f1c990d7fd69cbd6397059d56ed9e3a18", + "version": "5.15.13", + "port-version": 0 + }, + { + "git-tree": "d4af2cbfb2191d9525a25bfcf9b7633cfa62890b", + "version": "5.15.12", + "port-version": 0 + }, + { + "git-tree": "80f8d82fe81bf098c225ca52b7ea49478512be67", + "version": "5.15.11", + "port-version": 0 + }, + { + "git-tree": "734a01140c22505395e27032cdbadebbdb0d1cdc", + "version": "5.15.10", + "port-version": 0 + }, + { + "git-tree": "d35ff571bdff05dbbb479eee33741e289137abdd", + "version": "5.15.9", + "port-version": 0 + }, + { + "git-tree": "6a0e0d0e81419e2844de1d518444fd79400f965a", + "version": "5.15.8", + "port-version": 0 + }, + { + "git-tree": "671995ab39470d976fb8ee4b1953a3fcfd68450e", + "version": "5.15.7", + "port-version": 0 + }, + { + "git-tree": "8b43afc9dd3b040a70a4410d0b12958302b23168", + "version": "5.15.6", + "port-version": 0 + }, + { + "git-tree": "1f678398846a4542168355a9b857168edf7ce36f", + "version": "5.15.5", + "port-version": 0 + }, + { + "git-tree": "e87b00cc75098f24a1b23bbb567996d0bc2ac4ae", + "version": "5.15.4", + "port-version": 0 + }, + { + "git-tree": "8300805371f9fb2d98a2a2ace37e9e93149483e7", + "version": "5.15.3", + "port-version": 0 + }, { "git-tree": "8a675679d46b85666ef053efb36a2bb70b40b8ee", "version-string": "5.15.2", diff --git a/versions/q-/qt5-declarative.json b/versions/q-/qt5-declarative.json index 8877e0bae93d61..955efaf32df866 100644 --- a/versions/q-/qt5-declarative.json +++ b/versions/q-/qt5-declarative.json @@ -1,5 +1,90 @@ { "versions": [ + { + "git-tree": "0c3955c17df5c3af891092d66097102f0a1e8a14", + "version": "5.15.15", + "port-version": 0 + }, + { + "git-tree": "51104b45f8a66c7cc5eb8e9626c8d0e539a7ec72", + "version": "5.15.14", + "port-version": 0 + }, + { + "git-tree": "4c8f405906dcc3851dc4f0e7adeefada55f409cc", + "version": "5.15.13", + "port-version": 1 + }, + { + "git-tree": "3bdbddea018d175d898cc81dd37f1a4f8d61175c", + "version": "5.15.13", + "port-version": 0 + }, + { + "git-tree": "859e5b2f20ce9e1d782b9a2190b273249f5fb44e", + "version": "5.15.12", + "port-version": 0 + }, + { + "git-tree": "880d2e0ae6f6042a0cb4baae85bc7bc7c950b746", + "version": "5.15.11", + "port-version": 0 + }, + { + "git-tree": "c7cc59aec9e75dc548a741b01b94b13438904e99", + "version": "5.15.10", + "port-version": 1 + }, + { + "git-tree": "141dbdc4e7d234f55b336444a9e0a7f5add2e32b", + "version": "5.15.10", + "port-version": 0 + }, + { + "git-tree": "d3485a7652a098831fc278dd06952308704ed906", + "version": "5.15.9", + "port-version": 1 + }, + { + "git-tree": "c1e284599a1003dcb722972309215a0e13155f7b", + "version": "5.15.9", + "port-version": 0 + }, + { + "git-tree": "cacc1062f632a0f2984356abcbeb690c18eecfa4", + "version": "5.15.8", + "port-version": 0 + }, + { + "git-tree": "67a157b6111ccfc3ed401efd1cc403a2824d5acf", + "version": "5.15.7", + "port-version": 0 + }, + { + "git-tree": "9e8f967f4192fc2902d88bdda402d70253d7c4cb", + "version": "5.15.6", + "port-version": 0 + }, + { + "git-tree": "713673abbea4c2f934d48fc95833758fc595f88f", + "version": "5.15.5", + "port-version": 0 + }, + { + "git-tree": "0afa58af62ea8090c207a56f417280b856aced78", + "version": "5.15.4", + "port-version": 0 + }, + { + "git-tree": "51388bc681cd6616f0d2ecb29b1f3901b2e66613", + "version": "5.15.3", + "port-version": 0 + }, + { + "git-tree": "670f3d6bfa437ca047f1d1644743e2f2012524c8", + "version": "5.15.2", + "port-version": 3 + }, { "git-tree": "0cef09afb36f9debf22319dc4adccf478c611885", "version-string": "5.15.2", diff --git a/versions/q-/qt5-doc.json b/versions/q-/qt5-doc.json index 7ccfe2d85ff214..7fe641570b2687 100644 --- a/versions/q-/qt5-doc.json +++ b/versions/q-/qt5-doc.json @@ -1,5 +1,80 @@ { "versions": [ + { + "git-tree": "64381c648cd89178e444f4ebfd9bcafaadc8b2ca", + "version": "5.15.15", + "port-version": 0 + }, + { + "git-tree": "82b3e331022238938d3f9b1938fb99533e2cc11b", + "version": "5.15.14", + "port-version": 0 + }, + { + "git-tree": "26dc5844ad0b435a4775256c29a6ebca226c97f4", + "version": "5.15.13", + "port-version": 2 + }, + { + "git-tree": "7747518fca79a6ab60ee215c73e5e4d3850b0694", + "version": "5.15.13", + "port-version": 1 + }, + { + "git-tree": "1877940a1e172665b2287d83216c6ced80476bfe", + "version": "5.15.13", + "port-version": 0 + }, + { + "git-tree": "b67cd829b2cdff91e51d2da5651a98d4d02cc6e2", + "version": "5.15.12", + "port-version": 0 + }, + { + "git-tree": "8e2640c2eff33d0d16d7a3168aeb75bccb8fbc37", + "version": "5.15.11", + "port-version": 0 + }, + { + "git-tree": "260c42f72e3b608905415b0570f98a354264d9e0", + "version": "5.15.10", + "port-version": 0 + }, + { + "git-tree": "c3f3b6a93468d062c26ccfb117d42bc988fb20a0", + "version": "5.15.9", + "port-version": 0 + }, + { + "git-tree": "ce002bfdb26ee7bd9a4fe8c953a899ce0afa74f1", + "version": "5.15.8", + "port-version": 0 + }, + { + "git-tree": "58f41d715e5049a37e651de1920ebbcadde79bd3", + "version": "5.15.7", + "port-version": 0 + }, + { + "git-tree": "4f23a84b9637b652b2109fee8a47f0e0d1f7315c", + "version": "5.15.6", + "port-version": 0 + }, + { + "git-tree": "9281cb973df81d6e58551695de177c309d2bc7e8", + "version": "5.15.5", + "port-version": 0 + }, + { + "git-tree": "9b3cf5737faae5d92d5fd379da81a63257ca13ab", + "version": "5.15.4", + "port-version": 0 + }, + { + "git-tree": "5cecc56a1a87cf86f87dcde5bc650f8de1e53b60", + "version": "5.15.3", + "port-version": 0 + }, { "git-tree": "4cb09a0ee4bcb79b460c69a4e924cbe19538a2d1", "version-string": "5.15.2", diff --git a/versions/q-/qt5-gamepad.json b/versions/q-/qt5-gamepad.json index 5a9c6b8470fdf6..ece522f2af97d0 100644 --- a/versions/q-/qt5-gamepad.json +++ b/versions/q-/qt5-gamepad.json @@ -1,5 +1,75 @@ { "versions": [ + { + "git-tree": "e951bd00bff8370f027727a031830f351afb2d25", + "version": "5.15.15", + "port-version": 0 + }, + { + "git-tree": "0340d2963d846673c5e8d81a7fcb268e5c6abebd", + "version": "5.15.14", + "port-version": 0 + }, + { + "git-tree": "12953a0ff2b94f56e649d6e21de059cd43d186a7", + "version": "5.15.13", + "port-version": 1 + }, + { + "git-tree": "f50823e53543d711efe3b2a33f8bdbb690d0791d", + "version": "5.15.13", + "port-version": 0 + }, + { + "git-tree": "7aa1ca558402bd1cedda0c2c466a51bc1272f8ff", + "version": "5.15.12", + "port-version": 0 + }, + { + "git-tree": "9a02c1cd4d355720fc3b2af9d0ddad446279a731", + "version": "5.15.11", + "port-version": 0 + }, + { + "git-tree": "556adf6709fe319be9960166e72a30c03372d370", + "version": "5.15.10", + "port-version": 0 + }, + { + "git-tree": "f26357a04aa8c322ef4eb762501e153c6aaf2fa3", + "version": "5.15.9", + "port-version": 0 + }, + { + "git-tree": "f5c4a80b19479a187dba37aeaaab4a0b4eabc02c", + "version": "5.15.8", + "port-version": 0 + }, + { + "git-tree": "c3c8ca8e6fa69af8ac805cd42b2d3bc2f604f18e", + "version": "5.15.7", + "port-version": 0 + }, + { + "git-tree": "aca12953a747c1746052786f5bfc5a61914d8221", + "version": "5.15.6", + "port-version": 0 + }, + { + "git-tree": "1570d7b61ed6170ff2e844a1cd575f1d671832ce", + "version": "5.15.5", + "port-version": 0 + }, + { + "git-tree": "95df0183bac4852f40548ff3b973ad15535f184f", + "version": "5.15.4", + "port-version": 0 + }, + { + "git-tree": "53e4e7090cc36a827b518f376c485aacade15d37", + "version": "5.15.3", + "port-version": 0 + }, { "git-tree": "d74a2774e03103111a4e73c990eb65e78416e784", "version-string": "5.15.2", diff --git a/versions/q-/qt5-graphicaleffects.json b/versions/q-/qt5-graphicaleffects.json index 4f9f479b24006c..36794f9fcc8f70 100644 --- a/versions/q-/qt5-graphicaleffects.json +++ b/versions/q-/qt5-graphicaleffects.json @@ -1,5 +1,75 @@ { "versions": [ + { + "git-tree": "837709f0c2958b0e503227dc473cacd2de21a52d", + "version": "5.15.15", + "port-version": 0 + }, + { + "git-tree": "c1f2f135ffff583e0cad4c6877a4f547792343d7", + "version": "5.15.14", + "port-version": 0 + }, + { + "git-tree": "c5e7474e7d7ad22084bbeb7088ab7113c28ba274", + "version": "5.15.13", + "port-version": 1 + }, + { + "git-tree": "886bdb135e50dc31ce6234f0631af2f33be99921", + "version": "5.15.13", + "port-version": 0 + }, + { + "git-tree": "27e65ecf7fdd5ff87e1409d76edbfcec7da55415", + "version": "5.15.12", + "port-version": 0 + }, + { + "git-tree": "209e1c20fbc69e0bd69bf50aad1a5b049f7cf5fd", + "version": "5.15.11", + "port-version": 0 + }, + { + "git-tree": "53cf70df24a80e1b6c72b85f9d6ff8c4765b7af2", + "version": "5.15.10", + "port-version": 0 + }, + { + "git-tree": "cc31ed992b42598677d387fc1d8736b312c957e5", + "version": "5.15.9", + "port-version": 0 + }, + { + "git-tree": "12b13611d9c467a5502523a796e71238bebb3eb6", + "version": "5.15.8", + "port-version": 0 + }, + { + "git-tree": "8e332e5bfd398bb40f1e528d3afdf2f4f472aca7", + "version": "5.15.7", + "port-version": 0 + }, + { + "git-tree": "a60d1b4c3416cd44b1f6f0082e748e984f5677f8", + "version": "5.15.6", + "port-version": 0 + }, + { + "git-tree": "2a98bf1e90586c3f0b8f75f40c3a048bfbe5a0e7", + "version": "5.15.5", + "port-version": 0 + }, + { + "git-tree": "ac4547abb371e952a7f87e72a4c8db590ec08345", + "version": "5.15.4", + "port-version": 0 + }, + { + "git-tree": "9bb49ed2d96c2ad0d18a0508f2c170a0ef0a51cf", + "version": "5.15.3", + "port-version": 0 + }, { "git-tree": "7548a80471fd031625a4395776ea298e2737c280", "version-string": "5.15.2", diff --git a/versions/q-/qt5-imageformats.json b/versions/q-/qt5-imageformats.json index 4b13e404f9cac7..0c2b7c029df295 100644 --- a/versions/q-/qt5-imageformats.json +++ b/versions/q-/qt5-imageformats.json @@ -1,5 +1,110 @@ { "versions": [ + { + "git-tree": "4c3d360158ff3a553a721f981af0ac80f82581f9", + "version": "5.15.15", + "port-version": 0 + }, + { + "git-tree": "7b5ed4f41b91eb19f218b840bd00430bb44e00c7", + "version": "5.15.14", + "port-version": 0 + }, + { + "git-tree": "0d9578ca4836355aca8058848930846f5a224694", + "version": "5.15.13", + "port-version": 2 + }, + { + "git-tree": "a0550d47da0ca6e1944634ea33d3cfd1c0fcc644", + "version": "5.15.13", + "port-version": 1 + }, + { + "git-tree": "524ec23c474d0de593698dc3f63281eb2cc8bfc5", + "version": "5.15.13", + "port-version": 0 + }, + { + "git-tree": "22923758113a31c2d0570b192358fecb3e3a4c2f", + "version": "5.15.12", + "port-version": 0 + }, + { + "git-tree": "ea581d5a2583209a4b276fd9a20f8c04194e29c0", + "version": "5.15.11", + "port-version": 0 + }, + { + "git-tree": "39d5acff58afd279f8249487ea29263910b24220", + "version": "5.15.10", + "port-version": 0 + }, + { + "git-tree": "2f076f78b7733120039477509c1472f270ad3e88", + "version": "5.15.9", + "port-version": 1 + }, + { + "git-tree": "889e130592f375153e49fc8d334204ccdaf6010d", + "version": "5.15.9", + "port-version": 0 + }, + { + "git-tree": "51299732d963e9fa181b759715ecf78b4ee01698", + "version": "5.15.8", + "port-version": 1 + }, + { + "git-tree": "33bc274f73bfd44b51a44b04fd9298b4f22fa2bc", + "version": "5.15.8", + "port-version": 0 + }, + { + "git-tree": "d1d145a3a466d0ace1fc3d79c9c255b239d0ca6e", + "version": "5.15.7", + "port-version": 1 + }, + { + "git-tree": "019d2b693d40b53785d13277801a8e71322509e4", + "version": "5.15.7", + "port-version": 0 + }, + { + "git-tree": "46f87c0dc7ec464b65997a361d2f7df19f81c11e", + "version": "5.15.6", + "port-version": 0 + }, + { + "git-tree": "a82ad93d08d83fcf90c4803f142585ac1f27c0da", + "version": "5.15.5", + "port-version": 1 + }, + { + "git-tree": "40ed4f94629b611c253af93bdd3fe7cad0245717", + "version": "5.15.5", + "port-version": 0 + }, + { + "git-tree": "4e0f8ff607322745113d3b7de494b81a54173320", + "version": "5.15.4", + "port-version": 0 + }, + { + "git-tree": "6035880bd5e6bd0954d738de1bb2e2b79f66953c", + "version": "5.15.3", + "port-version": 1 + }, + { + "git-tree": "bdb4dae2e952e636c45967063bcb7c5dbb9cea65", + "version": "5.15.3", + "port-version": 0 + }, + { + "git-tree": "5bf32f350b7d08389629bc565c66aeb5f84e93b0", + "version": "5.15.2", + "port-version": 2 + }, { "git-tree": "6f6ca0b9e789dbfafa84ca02eec3da94f2728494", "version-string": "5.15.2", diff --git a/versions/q-/qt5-location.json b/versions/q-/qt5-location.json index cffd62afadc744..7d656821e1be02 100644 --- a/versions/q-/qt5-location.json +++ b/versions/q-/qt5-location.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "1c8e76a3559b61499f5543bad499cc7580c3502e", + "version": "5.15.15", + "port-version": 0 + }, + { + "git-tree": "e8a87780b543e7e9d72d23b684ad6d389fb7d963", + "version": "5.15.14", + "port-version": 1 + }, + { + "git-tree": "cf7751c0c413f0043501d81098f930f36129e91c", + "version": "5.15.14", + "port-version": 0 + }, + { + "git-tree": "79da70b83292374a09bc6ea61323ae0cf2c32c4c", + "version": "5.15.13", + "port-version": 1 + }, + { + "git-tree": "2c1137ae40b2917b10223eaa2600a547bc313a97", + "version": "5.15.13", + "port-version": 0 + }, + { + "git-tree": "c27c0c3d8bf68ec89a3b0a7e75192d2b5a6eb970", + "version": "5.15.12", + "port-version": 0 + }, + { + "git-tree": "55991602e3deb4103599fc04c287a4959c847016", + "version": "5.15.11", + "port-version": 0 + }, + { + "git-tree": "fc2aca1d6bd39aba9d6e45651d8f2908e3a555c8", + "version": "5.15.10", + "port-version": 0 + }, + { + "git-tree": "dcf89830b5916153b3bb982f389b3d034ed3e0fd", + "version": "5.15.9", + "port-version": 1 + }, + { + "git-tree": "b5380b9e781af61e3e32a65248aa7eae321214ae", + "version": "5.15.9", + "port-version": 0 + }, + { + "git-tree": "a435ee12c98f4b76b372e29f7c562adea269d0e1", + "version": "5.15.8", + "port-version": 0 + }, + { + "git-tree": "0ba4058d6e430b58eaaa8996a7d396d9fb8a1d27", + "version": "5.15.7", + "port-version": 0 + }, + { + "git-tree": "428ea508b4b239cbc827fcc2066cc5c71a481ba2", + "version": "5.15.6", + "port-version": 0 + }, + { + "git-tree": "1359ca0e6b8f97eccbd81ff9732be896b0572096", + "version": "5.15.5", + "port-version": 0 + }, + { + "git-tree": "50e02b320624cc5b4be62d2b209d4d0abe1e05fb", + "version": "5.15.4", + "port-version": 0 + }, + { + "git-tree": "374ad16cce9ae4eee7c91f701a72c21ede178794", + "version": "5.15.3", + "port-version": 0 + }, { "git-tree": "7fb1b17892d53638ec4ada0a73b19ecef4062ec8", "version-string": "5.15.2", diff --git a/versions/q-/qt5-macextras.json b/versions/q-/qt5-macextras.json index fcd9001920232e..df323f40c4f15d 100644 --- a/versions/q-/qt5-macextras.json +++ b/versions/q-/qt5-macextras.json @@ -1,5 +1,75 @@ { "versions": [ + { + "git-tree": "e18c6a0c3e4a001fe2c34cd70e24a673c96f353d", + "version": "5.15.15", + "port-version": 0 + }, + { + "git-tree": "efa382cb68fc399537647af6176e48ffb26cd22c", + "version": "5.15.14", + "port-version": 0 + }, + { + "git-tree": "4c2e4efcd96bfb18b4d3cdae9a6011dbd21a7f9d", + "version": "5.15.13", + "port-version": 1 + }, + { + "git-tree": "2e48fad784046b957d98272b803c255c22208e48", + "version": "5.15.13", + "port-version": 0 + }, + { + "git-tree": "480132dc9a67d2dfcbb94be62c8d35f31a901a86", + "version": "5.15.12", + "port-version": 0 + }, + { + "git-tree": "a50e9a0fc524758440c3715855627b8b8bd531f0", + "version": "5.15.11", + "port-version": 0 + }, + { + "git-tree": "12b1fde22a5acf67e0ac9e5066ff280363131c14", + "version": "5.15.10", + "port-version": 0 + }, + { + "git-tree": "055e2050aaf199ae2b8ada774ae2ec5c76dc1141", + "version": "5.15.9", + "port-version": 0 + }, + { + "git-tree": "0f09f1569ac92f2a01e9f00b9b3e912de8d1ec03", + "version": "5.15.8", + "port-version": 0 + }, + { + "git-tree": "4fe1ddacf7034a2497b1abe60018176f9c2a2322", + "version": "5.15.7", + "port-version": 0 + }, + { + "git-tree": "35e6445fde079f5a65e3375e58ee1ab096ae797c", + "version": "5.15.6", + "port-version": 0 + }, + { + "git-tree": "a32dfee89a54742bd6002b64d1274ff250598179", + "version": "5.15.5", + "port-version": 0 + }, + { + "git-tree": "7e6ba9a1b53eb509b3ffc5ae091b51464e94aa94", + "version": "5.15.4", + "port-version": 0 + }, + { + "git-tree": "35696a5675057de9b50f3bbb2215b3f0879d3261", + "version": "5.15.3", + "port-version": 0 + }, { "git-tree": "fb1f68ce5b03012e9fa7ed0924bc2036c4d97edd", "version-string": "5.15.2", diff --git a/versions/q-/qt5-mqtt.json b/versions/q-/qt5-mqtt.json index 36e684e44ada85..06f6dab3050dcb 100644 --- a/versions/q-/qt5-mqtt.json +++ b/versions/q-/qt5-mqtt.json @@ -1,5 +1,75 @@ { "versions": [ + { + "git-tree": "8b0caaea5133e7f444a2320b39c039c380781e9d", + "version": "5.15.15", + "port-version": 0 + }, + { + "git-tree": "3af1b17c18c2b011e016a5802eab1a9a08646414", + "version": "5.15.14", + "port-version": 0 + }, + { + "git-tree": "c6bc46f3ea62b6bd94d34c2f7272b0fe57d660ee", + "version": "5.15.13", + "port-version": 1 + }, + { + "git-tree": "a8c3a2f3d282ccc596c339d8a5c5fe543215e801", + "version": "5.15.13", + "port-version": 0 + }, + { + "git-tree": "380e4063bfa14b26f098b4ae1244c1a09f1ca5f8", + "version": "5.15.12", + "port-version": 0 + }, + { + "git-tree": "e0fc4bdfce63f3f7410762189b98448182f9b3ab", + "version": "5.15.11", + "port-version": 0 + }, + { + "git-tree": "398e7c0eab3505667a21ba09a66acbaf434f2469", + "version": "5.15.10", + "port-version": 0 + }, + { + "git-tree": "bada513b94e08f849d485063acaf985344960091", + "version": "5.15.9", + "port-version": 0 + }, + { + "git-tree": "a4db323b888193bbda28b58b39652a26d4749f18", + "version": "5.15.8", + "port-version": 0 + }, + { + "git-tree": "8adbab270dbcbc448d3bc1ea08d46c1caf2e0e01", + "version": "5.15.7", + "port-version": 0 + }, + { + "git-tree": "6be2f9cb73c5adff57d996453797bf1a7c5b029c", + "version": "5.15.6", + "port-version": 0 + }, + { + "git-tree": "44ae7444966ab5f243fd2cd0028b403fdcb286d7", + "version": "5.15.5", + "port-version": 0 + }, + { + "git-tree": "f29a8cf672c3aad83d34ee1dd6c9e659cfd4f588", + "version": "5.15.4", + "port-version": 0 + }, + { + "git-tree": "c8622cf28b900e34394e7c67ee272a0f0ae1a945", + "version": "5.15.3", + "port-version": 0 + }, { "git-tree": "9a02099176012e710ae215855f4e72fe6f5b704a", "version": "5.15.2", diff --git a/versions/q-/qt5-multimedia.json b/versions/q-/qt5-multimedia.json index 9f8782b6db6406..47a603ede1b13d 100644 --- a/versions/q-/qt5-multimedia.json +++ b/versions/q-/qt5-multimedia.json @@ -1,5 +1,80 @@ { "versions": [ + { + "git-tree": "4ed714b52d718c1970016cac9b6f685275fae53d", + "version": "5.15.15", + "port-version": 0 + }, + { + "git-tree": "84260450a36ccfc3cd60349e52f777de578d6fc3", + "version": "5.15.14", + "port-version": 0 + }, + { + "git-tree": "b86c9499d398deb129644bc82d467850135be8ad", + "version": "5.15.13", + "port-version": 1 + }, + { + "git-tree": "ffe874b0b45c9f257b487b960e17fd21e3fa2ee3", + "version": "5.15.13", + "port-version": 0 + }, + { + "git-tree": "f9b0f60b7c990d5f202833234f553ba4424c471d", + "version": "5.15.12", + "port-version": 0 + }, + { + "git-tree": "e4c6f73398cdab1711339020a1dfe0630e0f89c4", + "version": "5.15.11", + "port-version": 1 + }, + { + "git-tree": "3c3d01a70310ae2d017d0e08428b1902c45b872f", + "version": "5.15.11", + "port-version": 0 + }, + { + "git-tree": "a6c4649e892aeb5e8c154336702ee48f0dfcfcf9", + "version": "5.15.10", + "port-version": 0 + }, + { + "git-tree": "79586b3e3936c0f3f7e4ec1ed42cadb7fb464050", + "version": "5.15.9", + "port-version": 0 + }, + { + "git-tree": "a380134b399bd02c84d5240f3e6381c9605613a2", + "version": "5.15.8", + "port-version": 0 + }, + { + "git-tree": "236a24977c1a7e1758713cfc91462817c2aea15c", + "version": "5.15.7", + "port-version": 0 + }, + { + "git-tree": "11a822009048b4b827650ef003c229b2c3baf241", + "version": "5.15.6", + "port-version": 0 + }, + { + "git-tree": "a607da4681ec2a2e5c8916bcc588bcf656192583", + "version": "5.15.5", + "port-version": 0 + }, + { + "git-tree": "fa127acc620f472f3ba8726783ccfb44d93d95af", + "version": "5.15.4", + "port-version": 0 + }, + { + "git-tree": "8336d9a40e956b24f846b25c7b017cfac417f1d8", + "version": "5.15.3", + "port-version": 0 + }, { "git-tree": "b909b49f99e6080fdd74b20419ac9f1059d993f6", "version-string": "5.15.2", diff --git a/versions/q-/qt5-networkauth.json b/versions/q-/qt5-networkauth.json index dd41498330ac99..cd4ab2f2085cdc 100644 --- a/versions/q-/qt5-networkauth.json +++ b/versions/q-/qt5-networkauth.json @@ -1,5 +1,75 @@ { "versions": [ + { + "git-tree": "e87f2905d6391a45f9c6f8e85c530392a21ccd75", + "version": "5.15.15", + "port-version": 0 + }, + { + "git-tree": "1becb066422d37bb022147618c963e271cf937bd", + "version": "5.15.14", + "port-version": 0 + }, + { + "git-tree": "f2516c53ca2fd773a8995dc6f14599515336ee08", + "version": "5.15.13", + "port-version": 1 + }, + { + "git-tree": "b9f58d29ce83acfb07a3a932d5b01d0385dfd07d", + "version": "5.15.13", + "port-version": 0 + }, + { + "git-tree": "3ebb64c3ef7457b6050874adc7fa69e1797613c1", + "version": "5.15.12", + "port-version": 0 + }, + { + "git-tree": "2245d4d7c2e1064fd19a893f34ee247bdb07322b", + "version": "5.15.11", + "port-version": 0 + }, + { + "git-tree": "dae7f812fc32b8659a16029d431fe0fe0156681e", + "version": "5.15.10", + "port-version": 0 + }, + { + "git-tree": "bd367c42034978d2fe8e73265e9dbd18eb18cbdd", + "version": "5.15.9", + "port-version": 0 + }, + { + "git-tree": "37b1dbc52bd3008a7ca6f224b2c477be5b590c73", + "version": "5.15.8", + "port-version": 0 + }, + { + "git-tree": "7e4a60e292b0836d6b98fcec831f2875b8121fc6", + "version": "5.15.7", + "port-version": 0 + }, + { + "git-tree": "c549ddc8096118245602526ac247deb1c2092e5c", + "version": "5.15.6", + "port-version": 0 + }, + { + "git-tree": "ebb8a14f6282f9fc7b576b36133210b9027fd8a0", + "version": "5.15.5", + "port-version": 0 + }, + { + "git-tree": "b50130d7dcfb78270c759b6ad397ccdb4eb42f4c", + "version": "5.15.4", + "port-version": 0 + }, + { + "git-tree": "fed32ceb703389b16ddbf6843597358c92ff27e2", + "version": "5.15.3", + "port-version": 0 + }, { "git-tree": "f6fcb48f7415ecf2a5f2f3966c48a08abd9b0355", "version-string": "5.15.2", diff --git a/versions/q-/qt5-purchasing.json b/versions/q-/qt5-purchasing.json index b3a1c08491108c..0ef63167df9198 100644 --- a/versions/q-/qt5-purchasing.json +++ b/versions/q-/qt5-purchasing.json @@ -1,5 +1,75 @@ { "versions": [ + { + "git-tree": "3e3a79b1d8d89350ba3091212d0d658d2d2c7624", + "version": "5.15.15", + "port-version": 0 + }, + { + "git-tree": "e3dccbaa13d1f1d20b116f3f10fc4ad990744be5", + "version": "5.15.14", + "port-version": 0 + }, + { + "git-tree": "cddbc37874945361670fc45fbd2811d5eb2d28f5", + "version": "5.15.13", + "port-version": 1 + }, + { + "git-tree": "4371bc4cf906924ed77c0e651fd2e9b5a1c96aee", + "version": "5.15.13", + "port-version": 0 + }, + { + "git-tree": "ede9ad9a147c9f953d0b1ea54f7a6ed1f3c37cbe", + "version": "5.15.12", + "port-version": 0 + }, + { + "git-tree": "714b9adc89ab6a09174e73be5497e982e4e830fa", + "version": "5.15.11", + "port-version": 0 + }, + { + "git-tree": "9769b05f79a109d7fcd2ace8c3500638504f586b", + "version": "5.15.10", + "port-version": 0 + }, + { + "git-tree": "50f67d52fdd3dd85f8d02b7b14074a7dcf573ead", + "version": "5.15.9", + "port-version": 0 + }, + { + "git-tree": "fac98903a6cab2776756d60696bbfc63509cb4b7", + "version": "5.15.8", + "port-version": 0 + }, + { + "git-tree": "f9ef270fb279e3d3623ee41cec7928378ded6ab8", + "version": "5.15.7", + "port-version": 0 + }, + { + "git-tree": "f44ac5872f60dba0fbb31d07944a32b87d788a49", + "version": "5.15.6", + "port-version": 0 + }, + { + "git-tree": "a65c16c77f8df1595cdd0045263f15499b46ecd5", + "version": "5.15.5", + "port-version": 0 + }, + { + "git-tree": "86878fc58b27e1f6f2e8cad31f27aadf3bf77fb2", + "version": "5.15.4", + "port-version": 0 + }, + { + "git-tree": "c1507aeba5c46c35cccbf662602be9bcfe6d4bc1", + "version": "5.15.3", + "port-version": 0 + }, { "git-tree": "0e0745a65f393550ec04750071456604a5db72ba", "version-string": "5.15.2", diff --git a/versions/q-/qt5-quickcontrols.json b/versions/q-/qt5-quickcontrols.json index ab5305153af009..278bd9310ac88b 100644 --- a/versions/q-/qt5-quickcontrols.json +++ b/versions/q-/qt5-quickcontrols.json @@ -1,5 +1,75 @@ { "versions": [ + { + "git-tree": "dc4aab10b2454a206d30e5bbd034f0094d913013", + "version": "5.15.15", + "port-version": 0 + }, + { + "git-tree": "dbfe2aab6a84f092177e276c8947096bfa1de8ce", + "version": "5.15.14", + "port-version": 0 + }, + { + "git-tree": "b447abbe0f7bb140e91e562de4b26bd36b09aeb1", + "version": "5.15.13", + "port-version": 1 + }, + { + "git-tree": "c1b99bdf7e6457509e5d334d3d5c50d8a15447ac", + "version": "5.15.13", + "port-version": 0 + }, + { + "git-tree": "fbb429884146fe7493bf515aa1762c495de51c9b", + "version": "5.15.12", + "port-version": 0 + }, + { + "git-tree": "9e63a158c8c9551554c2986dab6d771efabd38c7", + "version": "5.15.11", + "port-version": 0 + }, + { + "git-tree": "342b8c5a23f4f9690bedb464a32e171dbb5ef2e4", + "version": "5.15.10", + "port-version": 0 + }, + { + "git-tree": "e50966048714ac6d7e309ff3f7b07f848d6c4cbe", + "version": "5.15.9", + "port-version": 0 + }, + { + "git-tree": "216c7c7cbdce99d9243b50236cb14ab65720c724", + "version": "5.15.8", + "port-version": 0 + }, + { + "git-tree": "c29e130635d3758fe562d1c6013aed35cffbafa1", + "version": "5.15.7", + "port-version": 0 + }, + { + "git-tree": "2c660d5cf5bc79f926233b3a11f9e8413d0e3135", + "version": "5.15.6", + "port-version": 0 + }, + { + "git-tree": "2692aa4bc8d7c32494df72815bf952c403afe2af", + "version": "5.15.5", + "port-version": 0 + }, + { + "git-tree": "5c24b1552fada859bf5061ab7c004ea12edca056", + "version": "5.15.4", + "port-version": 0 + }, + { + "git-tree": "0023d4eae57568295996c372c262c746fce54cd1", + "version": "5.15.3", + "port-version": 0 + }, { "git-tree": "49313a150ff19dacc9614849648f29c90e424cd3", "version-string": "5.15.2", diff --git a/versions/q-/qt5-quickcontrols2.json b/versions/q-/qt5-quickcontrols2.json index cea41fe2314540..e042a65e8c489c 100644 --- a/versions/q-/qt5-quickcontrols2.json +++ b/versions/q-/qt5-quickcontrols2.json @@ -1,5 +1,75 @@ { "versions": [ + { + "git-tree": "44e3863dd5521d8b95e6d1f6ba475d164ea81d02", + "version": "5.15.15", + "port-version": 0 + }, + { + "git-tree": "d62a3faad47d36883818acc3f53533371f09ab2d", + "version": "5.15.14", + "port-version": 0 + }, + { + "git-tree": "2498ccd771f2a709abfc72099db0928d20e178ca", + "version": "5.15.13", + "port-version": 1 + }, + { + "git-tree": "c03c44f1db5faa1c16ac3b9a603790c901c0a499", + "version": "5.15.13", + "port-version": 0 + }, + { + "git-tree": "8ed4347c3fe7f8e2d57a5aa06b03d5b6a1c37e93", + "version": "5.15.12", + "port-version": 0 + }, + { + "git-tree": "e1d335409f6c5c9af37eb6721b5d68d78a8dbdb1", + "version": "5.15.11", + "port-version": 0 + }, + { + "git-tree": "e22bfd152605c0559014192e82b46e465e16dac6", + "version": "5.15.10", + "port-version": 0 + }, + { + "git-tree": "bc05632d8e9b8d4914b3787433fe508dade58f55", + "version": "5.15.9", + "port-version": 0 + }, + { + "git-tree": "ce95955e6e1dadc2b37464200d62f7f8421adc13", + "version": "5.15.8", + "port-version": 0 + }, + { + "git-tree": "e5f37da41e1b446de989d69c42ae41453b866c34", + "version": "5.15.7", + "port-version": 0 + }, + { + "git-tree": "7ee332712ba27d51d95908475b239279079d8140", + "version": "5.15.6", + "port-version": 0 + }, + { + "git-tree": "16b3a5092e0e2f5db01b402b6d31d6713b70fa61", + "version": "5.15.5", + "port-version": 0 + }, + { + "git-tree": "0e491e24d5c90d6de8efed680903b4f37445ddc0", + "version": "5.15.4", + "port-version": 0 + }, + { + "git-tree": "da9577fcd83a97070fbb31e9723645e1a353e780", + "version": "5.15.3", + "port-version": 0 + }, { "git-tree": "c0f3cb1b07b4ac8c05297fd8c438ba7e1ba97ed8", "version-string": "5.15.2", diff --git a/versions/q-/qt5-remoteobjects.json b/versions/q-/qt5-remoteobjects.json index f148c990dba0cd..83d159a3117b15 100644 --- a/versions/q-/qt5-remoteobjects.json +++ b/versions/q-/qt5-remoteobjects.json @@ -1,5 +1,75 @@ { "versions": [ + { + "git-tree": "3e233b54911e2da5a259199154350a3a47fe1771", + "version": "5.15.15", + "port-version": 0 + }, + { + "git-tree": "1a55468e0abae43f77239363f49ca6582fd9f503", + "version": "5.15.14", + "port-version": 0 + }, + { + "git-tree": "3ef451e0c39e315bd0e4e27a068587119e7a972a", + "version": "5.15.13", + "port-version": 1 + }, + { + "git-tree": "621f7d70212c06f6c9af11a509856362f81f8569", + "version": "5.15.13", + "port-version": 0 + }, + { + "git-tree": "c46f7b7f674a1ac79a7c8edc63c1e4e16c23c6d6", + "version": "5.15.12", + "port-version": 0 + }, + { + "git-tree": "83e7e782900b0f016a0f7b659e6cb235f7677cf7", + "version": "5.15.11", + "port-version": 0 + }, + { + "git-tree": "6f93d74b2bcca02aee5e9e4e7e0126f5c445aeaa", + "version": "5.15.10", + "port-version": 0 + }, + { + "git-tree": "2a24133acd1d8a33e3cbdca79de311b291d18b0a", + "version": "5.15.9", + "port-version": 0 + }, + { + "git-tree": "7dc7b7c919bafb726a7be0c919f14c96d239d095", + "version": "5.15.8", + "port-version": 0 + }, + { + "git-tree": "f57f978f2538eb04695a58977a2b46423cb0e12f", + "version": "5.15.7", + "port-version": 0 + }, + { + "git-tree": "ae646bdc592795629b986e08b765c6b450a44079", + "version": "5.15.6", + "port-version": 0 + }, + { + "git-tree": "d9bb1305dbf952aeb74dfb504105c73699df16e1", + "version": "5.15.5", + "port-version": 0 + }, + { + "git-tree": "1d41a95abf4f754152c887c40057c54c4ffcacc1", + "version": "5.15.4", + "port-version": 0 + }, + { + "git-tree": "cc4b1cc8e132e4c53c32401e8eaea14140f39906", + "version": "5.15.3", + "port-version": 0 + }, { "git-tree": "73a19321158fe546f1469f290a83050fa6af14f1", "version-string": "5.15.2", diff --git a/versions/q-/qt5-script.json b/versions/q-/qt5-script.json index 842001bcc98163..0b091d10a952d2 100644 --- a/versions/q-/qt5-script.json +++ b/versions/q-/qt5-script.json @@ -1,5 +1,75 @@ { "versions": [ + { + "git-tree": "b3c3724c57f9f19d79b15f8f7d62f79fbb5c4d1d", + "version": "5.15.15", + "port-version": 0 + }, + { + "git-tree": "6fd49d3d791cd9b1788f9da0f2f974e884b15b13", + "version": "5.15.14", + "port-version": 0 + }, + { + "git-tree": "e68a59e08e0a2da169c8b6b72fe52ce980d0d471", + "version": "5.15.13", + "port-version": 1 + }, + { + "git-tree": "2d874a5459cfc43e0b64f4977682df651d36ca2c", + "version": "5.15.13", + "port-version": 0 + }, + { + "git-tree": "ac33071fd5ddde84d056539669c67071e85f3691", + "version": "5.15.12", + "port-version": 0 + }, + { + "git-tree": "d4c21b90523ce92847d4b1f675a84ba4f34a9710", + "version": "5.15.11", + "port-version": 0 + }, + { + "git-tree": "bf51477b296f65a9b1548f1f895fb123aba0c792", + "version": "5.15.10", + "port-version": 0 + }, + { + "git-tree": "d15191c2760ad90868e2f1f9b430a378f3b049f8", + "version": "5.15.9", + "port-version": 0 + }, + { + "git-tree": "a41ea5542a7f045fbf76026f81b2ce2f143cff9a", + "version": "5.15.8", + "port-version": 0 + }, + { + "git-tree": "d2ff6283eef58d6574a29aa0b715328cd717ecbb", + "version": "5.15.7", + "port-version": 0 + }, + { + "git-tree": "7bd82b3745af7ac2eea950abdc919794516de10a", + "version": "5.15.6", + "port-version": 0 + }, + { + "git-tree": "6ea49f33c3a82afeff14d62385b01be448590f2f", + "version": "5.15.5", + "port-version": 0 + }, + { + "git-tree": "9bccc52e9aa61f98d1d15e818dd67652012275a9", + "version": "5.15.4", + "port-version": 0 + }, + { + "git-tree": "450d4c10bbd324c74ddca59e7d16c6cb215aa077", + "version": "5.15.3", + "port-version": 0 + }, { "git-tree": "d412fb9a21bbf733e6e2e00c2015787a7c262c6a", "version-string": "5.15.2", diff --git a/versions/q-/qt5-scxml.json b/versions/q-/qt5-scxml.json index 70cfc0bb7cd7ec..33f5ad8ef68946 100644 --- a/versions/q-/qt5-scxml.json +++ b/versions/q-/qt5-scxml.json @@ -1,5 +1,75 @@ { "versions": [ + { + "git-tree": "a161681b5493bb83b4eb296a3b5c8f3d750a32ad", + "version": "5.15.15", + "port-version": 0 + }, + { + "git-tree": "00c0e0c150442d04fde5be60ee495efeb3570c06", + "version": "5.15.14", + "port-version": 0 + }, + { + "git-tree": "d7af091bc3daa565fdc46a0a8dbda3fdf58fba6a", + "version": "5.15.13", + "port-version": 1 + }, + { + "git-tree": "86c8999645ca845a082741917d719497e7350475", + "version": "5.15.13", + "port-version": 0 + }, + { + "git-tree": "cc9e39cd307b641892aec0e5a2972c781ac68f20", + "version": "5.15.12", + "port-version": 0 + }, + { + "git-tree": "6eb406a4e80cd474efe6f42e896438b7b90ee96c", + "version": "5.15.11", + "port-version": 0 + }, + { + "git-tree": "26f667cea870335a6f46ca414baa020c8f6aba35", + "version": "5.15.10", + "port-version": 0 + }, + { + "git-tree": "85edf08e60bcd7025af68908b62fd39dccc22b4e", + "version": "5.15.9", + "port-version": 0 + }, + { + "git-tree": "9e4132deecb0af1b0a0351d2e28cf45ce9a40621", + "version": "5.15.8", + "port-version": 0 + }, + { + "git-tree": "f7629483277b82d8c43fd1117bbee8c0f13fd284", + "version": "5.15.7", + "port-version": 0 + }, + { + "git-tree": "2f3d66073c10915d5900e5cd86cc60b53c619028", + "version": "5.15.6", + "port-version": 0 + }, + { + "git-tree": "9e68f9a7ae89d042c84bb3ec32f330914291c009", + "version": "5.15.5", + "port-version": 0 + }, + { + "git-tree": "079580ac857fbceeecbcdab6677ff32cb7f78858", + "version": "5.15.4", + "port-version": 0 + }, + { + "git-tree": "894ab2a120cd88e276b795234c66715ac787e4ab", + "version": "5.15.3", + "port-version": 0 + }, { "git-tree": "657fa8e20641b75338667e14b696127b252fcfd5", "version-string": "5.15.2", diff --git a/versions/q-/qt5-sensors.json b/versions/q-/qt5-sensors.json index 87c3645756f1d4..539b4dd2cb16d0 100644 --- a/versions/q-/qt5-sensors.json +++ b/versions/q-/qt5-sensors.json @@ -1,5 +1,75 @@ { "versions": [ + { + "git-tree": "66509571b96c882b2a3a3dd0996afafed796e800", + "version": "5.15.15", + "port-version": 0 + }, + { + "git-tree": "2cc9901693afd47513d41d1c6b69d7c25dc345c5", + "version": "5.15.14", + "port-version": 0 + }, + { + "git-tree": "58affe223cf8fa973829b45110e731c021ad0339", + "version": "5.15.13", + "port-version": 1 + }, + { + "git-tree": "7c300f7d2ae5260e4e7e858be6863f1dc2f0dfa7", + "version": "5.15.13", + "port-version": 0 + }, + { + "git-tree": "b437048a241025e9baaf71a07587958d11e7dfd2", + "version": "5.15.12", + "port-version": 0 + }, + { + "git-tree": "5883a76574d6f2b6077898a5fd3ca52d1788dd88", + "version": "5.15.11", + "port-version": 0 + }, + { + "git-tree": "dbca7fa67ff94eee8d6e3de297d737170190ff6f", + "version": "5.15.10", + "port-version": 0 + }, + { + "git-tree": "36b4ecf4a66c6c8152157e94c91626d559d17fee", + "version": "5.15.9", + "port-version": 0 + }, + { + "git-tree": "37f42a4f1235e29d71cd14af250e3ee5a15de97b", + "version": "5.15.8", + "port-version": 0 + }, + { + "git-tree": "b09d527ab1565265d374ed6e110060e9445d0d7a", + "version": "5.15.7", + "port-version": 0 + }, + { + "git-tree": "5cdf3d0d022434bec187e052a21525573119e2d8", + "version": "5.15.6", + "port-version": 0 + }, + { + "git-tree": "12a80269ffe2959c8c32a3a45322b319e1ea4e42", + "version": "5.15.5", + "port-version": 0 + }, + { + "git-tree": "7b395d40c215c61a382c9dd411675bb6b1eb5bc1", + "version": "5.15.4", + "port-version": 0 + }, + { + "git-tree": "d7faff943ee0ed0c4be86730ded240b322d2b829", + "version": "5.15.3", + "port-version": 0 + }, { "git-tree": "5ab7355283e60f00090972eafddf269519155344", "version-string": "5.15.2", diff --git a/versions/q-/qt5-serialbus.json b/versions/q-/qt5-serialbus.json index eefb33d0c43479..270e3af913caf0 100644 --- a/versions/q-/qt5-serialbus.json +++ b/versions/q-/qt5-serialbus.json @@ -1,5 +1,75 @@ { "versions": [ + { + "git-tree": "779fc63975cd6a8584c27efc21ab30546735f573", + "version": "5.15.15", + "port-version": 0 + }, + { + "git-tree": "33600a10a871bc1423353f5e14d70bde496750c0", + "version": "5.15.14", + "port-version": 0 + }, + { + "git-tree": "e20e90150a61429cb4c0aba17da3382cf431c025", + "version": "5.15.13", + "port-version": 1 + }, + { + "git-tree": "cd325f2c71cd8a32d292c9bd3b7cc5f04f96c5dc", + "version": "5.15.13", + "port-version": 0 + }, + { + "git-tree": "4c22dac467d42914d078721e71c047eba6738518", + "version": "5.15.12", + "port-version": 0 + }, + { + "git-tree": "a1259ec9f3eea78cad8e057fbc7d765a47929154", + "version": "5.15.11", + "port-version": 0 + }, + { + "git-tree": "66becab038e0bc1ebd91613c96f32203edfd2933", + "version": "5.15.10", + "port-version": 0 + }, + { + "git-tree": "5cadf58b50b49925073fafb754be7da26b893630", + "version": "5.15.9", + "port-version": 0 + }, + { + "git-tree": "37153882132a0701ac327cd5051af0b8e49b7bc6", + "version": "5.15.8", + "port-version": 0 + }, + { + "git-tree": "7e3b43f1da9d7df68c72630657fb4493fca8cb7b", + "version": "5.15.7", + "port-version": 0 + }, + { + "git-tree": "96cae052cc1dadf32a238d0e6764f0c529ac288d", + "version": "5.15.6", + "port-version": 0 + }, + { + "git-tree": "ba84a7f42c2b9d8d68172d5a78680ccfcf1d83d7", + "version": "5.15.5", + "port-version": 0 + }, + { + "git-tree": "8a6f465b80e92aa05547bf139fa964e8488ab154", + "version": "5.15.4", + "port-version": 0 + }, + { + "git-tree": "e16c9b0f5f3bb86c3fe988f049069901ae578d0e", + "version": "5.15.3", + "port-version": 0 + }, { "git-tree": "23c4f38498a3eeaef1a0428cc0f9facb77c50bb5", "version-string": "5.15.2", diff --git a/versions/q-/qt5-serialport.json b/versions/q-/qt5-serialport.json index 17d9dae6dab929..c8748d57746fc0 100644 --- a/versions/q-/qt5-serialport.json +++ b/versions/q-/qt5-serialport.json @@ -1,5 +1,70 @@ { "versions": [ + { + "git-tree": "2332f39e0bdce11214c7974c83df14b49672d780", + "version": "5.15.15", + "port-version": 0 + }, + { + "git-tree": "da9203dc22c027daa7a613c469de5df34e4cba0f", + "version": "5.15.14", + "port-version": 0 + }, + { + "git-tree": "f15598a75f95ca7a22968fc9336959c919e705f0", + "version": "5.15.13", + "port-version": 0 + }, + { + "git-tree": "8339392414afac8b6d179b19ad01db6460d77318", + "version": "5.15.12", + "port-version": 0 + }, + { + "git-tree": "081a6b53bdb5d7dd70f8e8315deaa8e71a160714", + "version": "5.15.11", + "port-version": 0 + }, + { + "git-tree": "051b6d588faeba97c3ee9e53e96c5a619ac38352", + "version": "5.15.10", + "port-version": 0 + }, + { + "git-tree": "3db00ae0c957077673d439f3c84d58680dd76090", + "version": "5.15.9", + "port-version": 0 + }, + { + "git-tree": "aaeca01bff54a12e6796d5d2208910e2e4b953c5", + "version": "5.15.8", + "port-version": 0 + }, + { + "git-tree": "43c98382a96e1afdc26c93d11a7caa8533f7fdbf", + "version": "5.15.7", + "port-version": 0 + }, + { + "git-tree": "b7d397d9c51a80f70d242913c67dfa671f82634a", + "version": "5.15.6", + "port-version": 0 + }, + { + "git-tree": "82f215875bee2312091ab88c2136adc5bf6aac89", + "version": "5.15.5", + "port-version": 0 + }, + { + "git-tree": "8b93f29b611b30ac02780e3136af4f4699074446", + "version": "5.15.4", + "port-version": 0 + }, + { + "git-tree": "cc7ba67e09a801eca90691b7c7db4baf43369a09", + "version": "5.15.3", + "port-version": 0 + }, { "git-tree": "b6e0403e0e46d6b3aa07ea90da894a33589c3dde", "version-string": "5.15.2", diff --git a/versions/q-/qt5-speech.json b/versions/q-/qt5-speech.json index 86bfb420785bf9..617f16a9a9305e 100644 --- a/versions/q-/qt5-speech.json +++ b/versions/q-/qt5-speech.json @@ -1,5 +1,75 @@ { "versions": [ + { + "git-tree": "a0bf98b8eaa905324c531724265c39a50c905e25", + "version": "5.15.15", + "port-version": 0 + }, + { + "git-tree": "e6ce03e938c8f321a40a1fadaeb9edfce9bc00b9", + "version": "5.15.14", + "port-version": 0 + }, + { + "git-tree": "e8e9da74ac1e561758ff70d80a4e0b8514365f4d", + "version": "5.15.13", + "port-version": 1 + }, + { + "git-tree": "72dcb5db8787e879e6d1964091806e5401f63e55", + "version": "5.15.13", + "port-version": 0 + }, + { + "git-tree": "213220011e61695380694601622b75e4bd781a8f", + "version": "5.15.12", + "port-version": 0 + }, + { + "git-tree": "bf9d4d8eab1658f34274dcdf5e83c2624e7727bb", + "version": "5.15.11", + "port-version": 0 + }, + { + "git-tree": "3530341f63252d313281374bb000e761889a0de6", + "version": "5.15.10", + "port-version": 0 + }, + { + "git-tree": "0a8a7c0b36409296d3d03d3b346ee684f9342e77", + "version": "5.15.9", + "port-version": 0 + }, + { + "git-tree": "3e77ae03d7a86138f8b9995ce0760310f6477632", + "version": "5.15.8", + "port-version": 0 + }, + { + "git-tree": "fd450a98d8b9e705bcc1e9a16bc57740f17b8910", + "version": "5.15.7", + "port-version": 0 + }, + { + "git-tree": "249a91927a349fac1d1568ac1e8c633327d82697", + "version": "5.15.6", + "port-version": 0 + }, + { + "git-tree": "92c9d91bc48823b05c940313c18fa5fbce6ce4de", + "version": "5.15.5", + "port-version": 0 + }, + { + "git-tree": "c9b3f529af35b50682be46af4b5937b1425f60da", + "version": "5.15.4", + "port-version": 0 + }, + { + "git-tree": "bf21b1bb4dc124cba22d170e77ceb78315ab7de2", + "version": "5.15.3", + "port-version": 0 + }, { "git-tree": "12c00b4bbf2206f8bb68ad44e8b44dbfd65fa6e4", "version-string": "5.15.2", diff --git a/versions/q-/qt5-svg.json b/versions/q-/qt5-svg.json index 9954a1f1f996a1..f54fd8716da692 100644 --- a/versions/q-/qt5-svg.json +++ b/versions/q-/qt5-svg.json @@ -1,5 +1,80 @@ { "versions": [ + { + "git-tree": "e052ae98b8fa07175f593dac7f7454308704cfc1", + "version": "5.15.15", + "port-version": 0 + }, + { + "git-tree": "57e9f57b728b905216e887427be54c8e9972d3b2", + "version": "5.15.14", + "port-version": 0 + }, + { + "git-tree": "546a13d568e272c2d2d953c36ddbaccdc55405dc", + "version": "5.15.13", + "port-version": 1 + }, + { + "git-tree": "f97c1715e4239f661c3c8ddd296f09757efc1cac", + "version": "5.15.13", + "port-version": 0 + }, + { + "git-tree": "f47fe4971f6a0d3fc7991fc6dfa76f4dab3ef6c3", + "version": "5.15.12", + "port-version": 0 + }, + { + "git-tree": "c938a0870f30cebe24c31abefa8ac8a8dc60722a", + "version": "5.15.11", + "port-version": 0 + }, + { + "git-tree": "632ca34b395881412e1694d350f605a2dd6d54f0", + "version": "5.15.10", + "port-version": 0 + }, + { + "git-tree": "a16175a9771d1e7556bcfb785956f0ce5afc26fb", + "version": "5.15.9", + "port-version": 1 + }, + { + "git-tree": "2182d0b3d29d1e3c4cf58c5a93e896f304d86805", + "version": "5.15.9", + "port-version": 0 + }, + { + "git-tree": "2e2b2b3fc8842ad5afe280847ebf39954a72de64", + "version": "5.15.8", + "port-version": 0 + }, + { + "git-tree": "179679edb737374596bc76c5f7aa8f9493190515", + "version": "5.15.7", + "port-version": 0 + }, + { + "git-tree": "4447da6172d30437f1577d746cb4b8e02cf1bc95", + "version": "5.15.6", + "port-version": 0 + }, + { + "git-tree": "97b04510d3c94d68e1a46e891ae27ce98e112ad0", + "version": "5.15.5", + "port-version": 0 + }, + { + "git-tree": "3052785787495ab14b0fc4b25aa480d18a906bb4", + "version": "5.15.4", + "port-version": 0 + }, + { + "git-tree": "6a43bcf48e884abdd82502f747342962e2a2c4b8", + "version": "5.15.3", + "port-version": 0 + }, { "git-tree": "75e1a170720117fcc34369aae8ab7ee4816974a3", "version-string": "5.15.2", diff --git a/versions/q-/qt5-tools.json b/versions/q-/qt5-tools.json index f4df8a3489020c..53c167c32b7673 100644 --- a/versions/q-/qt5-tools.json +++ b/versions/q-/qt5-tools.json @@ -1,5 +1,90 @@ { "versions": [ + { + "git-tree": "cb208d6c3109d2bf0c29a72a81eb291c82ee5f1e", + "version": "5.15.15", + "port-version": 0 + }, + { + "git-tree": "5bc30d72aa07bdececbf78dfd8d14fb110759d18", + "version": "5.15.14", + "port-version": 0 + }, + { + "git-tree": "cb06c416339487e5b5c2b2a51fac7fca26be17f5", + "version": "5.15.13", + "port-version": 2 + }, + { + "git-tree": "166f2eb6325bf183cd42449b1ac97dc47d8528b5", + "version": "5.15.13", + "port-version": 1 + }, + { + "git-tree": "f8920d20da6df3f53f7d1aa625a8c5100eebe2e8", + "version": "5.15.13", + "port-version": 0 + }, + { + "git-tree": "350c9197bc751e17c5e0ea532322f1483a6bf1e4", + "version": "5.15.12", + "port-version": 0 + }, + { + "git-tree": "5b41d2e4f17b9cbcb85f1fe67b9e1adfaa70a0cb", + "version": "5.15.11", + "port-version": 0 + }, + { + "git-tree": "c3e934f75a0e506d6c3329e0fa0b2a56d6f71324", + "version": "5.15.10", + "port-version": 1 + }, + { + "git-tree": "994691ced838ba1d2eab1f5531e9ebfc4bd046f1", + "version": "5.15.10", + "port-version": 0 + }, + { + "git-tree": "504602318bcd6faffa35b309bbf083860792bab6", + "version": "5.15.9", + "port-version": 0 + }, + { + "git-tree": "4a12956237942365c39cf8d98a51874bb6329c72", + "version": "5.15.8", + "port-version": 0 + }, + { + "git-tree": "64d67d5b5c32111d980b50cf465149ada151aa54", + "version": "5.15.7", + "port-version": 0 + }, + { + "git-tree": "b0037e21d33817b94a17874a9fbaafd0b9d9228b", + "version": "5.15.6", + "port-version": 0 + }, + { + "git-tree": "40aebcfa61ced5500429ccc3533c7f294510ab0e", + "version": "5.15.5", + "port-version": 0 + }, + { + "git-tree": "6025c1997ce5b8bf0ebb131b0628641e8e550d6d", + "version": "5.15.4", + "port-version": 1 + }, + { + "git-tree": "b8a761a89f1f3aabb2c3e990b40cc69d0b7ea543", + "version": "5.15.4", + "port-version": 0 + }, + { + "git-tree": "0f3066692eacc724dde9d8f17d4cb67f019ecc75", + "version": "5.15.3", + "port-version": 0 + }, { "git-tree": "b28b98fb7bd66abe2c108d66c3a89c0e388d638f", "version-string": "5.15.2", diff --git a/versions/q-/qt5-translations.json b/versions/q-/qt5-translations.json index 687f16bb80c0b0..3af1c98f5eacc7 100644 --- a/versions/q-/qt5-translations.json +++ b/versions/q-/qt5-translations.json @@ -1,5 +1,75 @@ { "versions": [ + { + "git-tree": "d0aad797572cfe6289ebc863aa09819966ce6829", + "version": "5.15.15", + "port-version": 0 + }, + { + "git-tree": "08801f65cf92611896f37da27d9416586811329b", + "version": "5.15.14", + "port-version": 0 + }, + { + "git-tree": "2a1274dd5db76e90f790450ddb12fdd278f24274", + "version": "5.15.13", + "port-version": 1 + }, + { + "git-tree": "43e74504e1043a3ffc451dd97de5b62fecc40ad1", + "version": "5.15.13", + "port-version": 0 + }, + { + "git-tree": "87a765320bb699ab1b716b5a4bcc1cc70efc8239", + "version": "5.15.12", + "port-version": 0 + }, + { + "git-tree": "0d49653566c4a0eae04e6b56cb9b3904b7c826af", + "version": "5.15.11", + "port-version": 0 + }, + { + "git-tree": "7a8ae0c894141bd285fa02a23a9d4eb6f40604aa", + "version": "5.15.10", + "port-version": 0 + }, + { + "git-tree": "d7cbb16a11e55adb2e957a5ed4828e7b2d1037b9", + "version": "5.15.9", + "port-version": 0 + }, + { + "git-tree": "bc4bd1d81b2929a66be97b04a78c1ad901438ede", + "version": "5.15.8", + "port-version": 0 + }, + { + "git-tree": "b1f0721dcc39a79bfb41135458461d6d44ec223e", + "version": "5.15.7", + "port-version": 0 + }, + { + "git-tree": "b06e77b9da2dd117f4a948e66d9e0253f7b3f019", + "version": "5.15.6", + "port-version": 0 + }, + { + "git-tree": "726f0e5f2b92624ad638686cdf6c3c76a0a60c84", + "version": "5.15.5", + "port-version": 0 + }, + { + "git-tree": "19e19e3a353b093bfbc1ffb94beeea19f94c6a00", + "version": "5.15.4", + "port-version": 0 + }, + { + "git-tree": "4a0df59e14f9c24d2584e7f0424424f50eb4c9f7", + "version": "5.15.3", + "port-version": 0 + }, { "git-tree": "195b59491201660e5c6299f6f3f78c446827e8d7", "version-string": "5.15.2", diff --git a/versions/q-/qt5-virtualkeyboard.json b/versions/q-/qt5-virtualkeyboard.json index 1cabc7e949091e..7f53bd22efa755 100644 --- a/versions/q-/qt5-virtualkeyboard.json +++ b/versions/q-/qt5-virtualkeyboard.json @@ -1,5 +1,80 @@ { "versions": [ + { + "git-tree": "8ac50bea0b2c4a920838bc9cc5d7dee78b868595", + "version": "5.15.15", + "port-version": 0 + }, + { + "git-tree": "a5263ebbe578fe2207e4dcffee326343717dd8ef", + "version": "5.15.14", + "port-version": 0 + }, + { + "git-tree": "d686082b7f012670dcb7495b48a42313850a0feb", + "version": "5.15.13", + "port-version": 1 + }, + { + "git-tree": "a196bda4c5a9871354ad65207fe7d0568baeabbb", + "version": "5.15.13", + "port-version": 0 + }, + { + "git-tree": "d0a93247e4efaad743aa47711f947efa6a4424ea", + "version": "5.15.12", + "port-version": 0 + }, + { + "git-tree": "144f57127630eec25443579a16d72fd4eb2c0378", + "version": "5.15.11", + "port-version": 0 + }, + { + "git-tree": "eca137a635e6a4aa62a40609dc1a09029ca02733", + "version": "5.15.10", + "port-version": 0 + }, + { + "git-tree": "5653adcb47c0b00c694d7a311c893da13fc3a2a2", + "version": "5.15.9", + "port-version": 1 + }, + { + "git-tree": "97391cc291fbe059b044e26c3718b1e6f2fb831c", + "version": "5.15.9", + "port-version": 0 + }, + { + "git-tree": "6aac3d5b8af9387d6b487283a4105056626872f3", + "version": "5.15.8", + "port-version": 0 + }, + { + "git-tree": "c9db5984d9ae3a8f263cbe74bf96737ef30daa7d", + "version": "5.15.7", + "port-version": 0 + }, + { + "git-tree": "dec6f196b45dbf68cd4b9f987c551ed95e3750c7", + "version": "5.15.6", + "port-version": 0 + }, + { + "git-tree": "4ff73811f0c4030472b036babb8f5d1fd0425cd8", + "version": "5.15.5", + "port-version": 0 + }, + { + "git-tree": "96468c13c2c783e1a63d16877de3c88228ca3f36", + "version": "5.15.4", + "port-version": 0 + }, + { + "git-tree": "8c8514424cbc1c746ec7149ec383fbdd5174a0e4", + "version": "5.15.3", + "port-version": 0 + }, { "git-tree": "45281062a0b509d6c5f2cfce1f26e77e90fa6192", "version-string": "5.15.2", diff --git a/versions/q-/qt5-wayland.json b/versions/q-/qt5-wayland.json index 5960d4316a8e43..b2cd8a9af7565f 100644 --- a/versions/q-/qt5-wayland.json +++ b/versions/q-/qt5-wayland.json @@ -1,5 +1,75 @@ { "versions": [ + { + "git-tree": "0573cbd28f1fe16d109354aa1d658d34a3981d75", + "version": "5.15.15", + "port-version": 0 + }, + { + "git-tree": "343a94ea2e1ee1ca8e70f59892dc7e3b5fc312e3", + "version": "5.15.14", + "port-version": 0 + }, + { + "git-tree": "166158a3a6c2673b41805de95d2bc8e3a43c47e7", + "version": "5.15.13", + "port-version": 1 + }, + { + "git-tree": "0a52aff690b9816afe0790ba18047f3d2e6b115a", + "version": "5.15.13", + "port-version": 0 + }, + { + "git-tree": "44d19f3afd9be463c0cce1fa189dcb08d7ad9c82", + "version": "5.15.12", + "port-version": 0 + }, + { + "git-tree": "1fe250be41e03ec6404fb5b38d8db2d52e68ef78", + "version": "5.15.11", + "port-version": 0 + }, + { + "git-tree": "f45281462dfeef2426bd9e6cc4d15d87fdd5f888", + "version": "5.15.10", + "port-version": 0 + }, + { + "git-tree": "955af6470f524a9537ae0d2d72e7857497c46a9c", + "version": "5.15.9", + "port-version": 0 + }, + { + "git-tree": "b64c3f347e804369e84b3bf03bd2a233cca38d3e", + "version": "5.15.8", + "port-version": 0 + }, + { + "git-tree": "72395a797ab900fa7adafe4822f14cc43543b5d2", + "version": "5.15.7", + "port-version": 0 + }, + { + "git-tree": "6aa87ec473aec6885891eb84d84c506c019b3b3d", + "version": "5.15.6", + "port-version": 0 + }, + { + "git-tree": "31180bab6e373741da2e2527e60a9515908754b8", + "version": "5.15.5", + "port-version": 0 + }, + { + "git-tree": "6b9afbc817fbb9ea46c53398b1db93331792913f", + "version": "5.15.4", + "port-version": 0 + }, + { + "git-tree": "4e8f0ffa97c7f3d1dfe627808bcafc4d4a77d3e2", + "version": "5.15.3", + "port-version": 0 + }, { "git-tree": "10dc10d68dd34e3db201364ec60567459c6857dc", "version-string": "5.15.2", diff --git a/versions/q-/qt5-webchannel.json b/versions/q-/qt5-webchannel.json index 361bfbd96ba0d4..17c8710e255b34 100644 --- a/versions/q-/qt5-webchannel.json +++ b/versions/q-/qt5-webchannel.json @@ -1,5 +1,75 @@ { "versions": [ + { + "git-tree": "7d514be154e444509227c208123305bd098b5aff", + "version": "5.15.15", + "port-version": 0 + }, + { + "git-tree": "17d221761f10219246887a928d2f4cf61d9cb864", + "version": "5.15.14", + "port-version": 0 + }, + { + "git-tree": "4910b1e32c56d7e0e334017d6be340737f694e95", + "version": "5.15.13", + "port-version": 1 + }, + { + "git-tree": "fdc6cc42c7c04faaf48faffbdd865f2761966512", + "version": "5.15.13", + "port-version": 0 + }, + { + "git-tree": "c21a5e697bcf761c902064dec1325d34e016e9fc", + "version": "5.15.12", + "port-version": 0 + }, + { + "git-tree": "834b6ab045a2739e6fa6d85f3687423e66417d7a", + "version": "5.15.11", + "port-version": 0 + }, + { + "git-tree": "688b1af87eb544cc7828bfa75df01c0dc2efe4d8", + "version": "5.15.10", + "port-version": 0 + }, + { + "git-tree": "7f5d72f36efa8cdd8b1d248b124f99f4a0e58fb0", + "version": "5.15.9", + "port-version": 0 + }, + { + "git-tree": "18c9307e7a141b9a2c34f64978ac1cb79fd2ecf4", + "version": "5.15.8", + "port-version": 0 + }, + { + "git-tree": "b866b226cbd8e92df3a51fc7a5b31c63799a7a25", + "version": "5.15.7", + "port-version": 0 + }, + { + "git-tree": "211eb036ef0264f4f1baa61feac460def0954a61", + "version": "5.15.6", + "port-version": 0 + }, + { + "git-tree": "0c3272e390c783bcdd740392077b124b4786d49a", + "version": "5.15.5", + "port-version": 0 + }, + { + "git-tree": "214b6e50c9919b3aca6b9d7b18a49707a6f78cc8", + "version": "5.15.4", + "port-version": 0 + }, + { + "git-tree": "cd0f8bbb8bb85bc208907a24c82fe9db0b902922", + "version": "5.15.3", + "port-version": 0 + }, { "git-tree": "39e51839b2f67b03e0f72bf862dc44ad72bcc804", "version-string": "5.15.2", diff --git a/versions/q-/qt5-webengine.json b/versions/q-/qt5-webengine.json index a3228a8ba3b47b..44eb4d783db586 100644 --- a/versions/q-/qt5-webengine.json +++ b/versions/q-/qt5-webengine.json @@ -1,5 +1,140 @@ { "versions": [ + { + "git-tree": "eeece45f507ad36455883b753c5914ef7e266c26", + "version": "5.15.15", + "port-version": 0 + }, + { + "git-tree": "3a7ec5e30688651f573aff75217a83180298a520", + "version": "5.15.14", + "port-version": 1 + }, + { + "git-tree": "d09061cfbd0d6b0d29cb8aae7267c734ce74c883", + "version": "5.15.14", + "port-version": 0 + }, + { + "git-tree": "58ef6b79a9cfe23e3a196d3a38970c5c48b1a15b", + "version": "5.15.13", + "port-version": 3 + }, + { + "git-tree": "91b4cbf2c91549380aa26377330c142a6e408414", + "version": "5.15.13", + "port-version": 2 + }, + { + "git-tree": "0214bdc43ab8f108c976e57f4ae394032671d123", + "version": "5.15.13", + "port-version": 1 + }, + { + "git-tree": "ed4c5992bb51331d2a5c27612b74bd3894682220", + "version": "5.15.13", + "port-version": 0 + }, + { + "git-tree": "1dbb523d79f59b6fc3f6136650ab1a9973efcfb6", + "version": "5.15.12", + "port-version": 2 + }, + { + "git-tree": "18cd1806979e5cdbcd9ea3fabf6722ad57f16d66", + "version": "5.15.12", + "port-version": 1 + }, + { + "git-tree": "0bebbe2367c700cb1c309eb1d1f0b22b1463c61a", + "version": "5.15.12", + "port-version": 0 + }, + { + "git-tree": "f4609e43287d1db55e04e0553d85039adebffacd", + "version": "5.15.11", + "port-version": 0 + }, + { + "git-tree": "cf5ac17e7409f445cbfc1cffc1d8a138a24582a0", + "version": "5.15.10", + "port-version": 1 + }, + { + "git-tree": "f088e5761d91d1539ecb60aed67afcdb197dccef", + "version": "5.15.10", + "port-version": 0 + }, + { + "git-tree": "47b6255a30e17081a1a9c0201c243ce6d908cca9", + "version": "5.15.9", + "port-version": 0 + }, + { + "git-tree": "0bc99174795ada551c8bfbae6d829a2a8fd208a8", + "version": "5.15.8", + "port-version": 3 + }, + { + "git-tree": "c4972fb3229687755800c282621e1ef1939f3e66", + "version": "5.15.8", + "port-version": 2 + }, + { + "git-tree": "4cb036e21b5fa8db1033739c264a6bf2936960db", + "version": "5.15.8", + "port-version": 1 + }, + { + "git-tree": "7c7e6f9fad061be671094152174725a4dc68ae0b", + "version": "5.15.8", + "port-version": 0 + }, + { + "git-tree": "fa640a78f90dd39b58b8aa477eb8fa28354d5883", + "version": "5.15.7", + "port-version": 0 + }, + { + "git-tree": "cc917e5d2d2394fea8b0617ed4cf6f6bb1adad23", + "version": "5.15.6", + "port-version": 1 + }, + { + "git-tree": "271be6655c1ca2a56c800353ee0db4c906ec04e4", + "version": "5.15.6", + "port-version": 0 + }, + { + "git-tree": "afcb720c703b3ae92374d971e8a4047f589430c0", + "version": "5.15.5", + "port-version": 0 + }, + { + "git-tree": "71d241727d07ed646d0f34c1d29d4173c1087233", + "version": "5.15.4", + "port-version": 2 + }, + { + "git-tree": "ac21a058fe59c5b0272cdfc2cc1791b9b9901a79", + "version": "5.15.4", + "port-version": 1 + }, + { + "git-tree": "f210713d4af04f690a79188949467c8ba9b2597e", + "version": "5.15.4", + "port-version": 0 + }, + { + "git-tree": "533cd8995acbdf2a8cc24a96da7515777dfe7c38", + "version": "5.15.3", + "port-version": 1 + }, + { + "git-tree": "4b097155aca1faecdaa639daec2395e9a8c0cdad", + "version": "5.15.3", + "port-version": 0 + }, { "git-tree": "365537bee64190f604e1be03f0473ffe41067a82", "version-string": "5.15.2", diff --git a/versions/q-/qt5-webglplugin.json b/versions/q-/qt5-webglplugin.json index 94398229114124..29f3b0e7f8360e 100644 --- a/versions/q-/qt5-webglplugin.json +++ b/versions/q-/qt5-webglplugin.json @@ -1,5 +1,80 @@ { "versions": [ + { + "git-tree": "5d45c7dca5dd0562a2d0042968c3f95f0b1050b1", + "version": "5.15.15", + "port-version": 0 + }, + { + "git-tree": "cded906204530ee472dbe2823a4148e5e465c885", + "version": "5.15.14", + "port-version": 0 + }, + { + "git-tree": "467935b4645825b1aa486f5f29cb3771a109ee5f", + "version": "5.15.13", + "port-version": 1 + }, + { + "git-tree": "7e89c0ef3ec287561568f4ffa7a82ed8c50e6c86", + "version": "5.15.13", + "port-version": 0 + }, + { + "git-tree": "6a7a0fbea2f47aa24e61928cbe4836164d66a8f9", + "version": "5.15.12", + "port-version": 0 + }, + { + "git-tree": "0b2a0472f4b91117a702ed605c443c71d3393862", + "version": "5.15.11", + "port-version": 0 + }, + { + "git-tree": "d056d88bfc82130467bf524e8c7285850b71c594", + "version": "5.15.10", + "port-version": 0 + }, + { + "git-tree": "75f0da5f93d565350bc869ac119786e63354a520", + "version": "5.15.9", + "port-version": 0 + }, + { + "git-tree": "977263a84371c116e22d1a717ea32ffc6e756777", + "version": "5.15.8", + "port-version": 0 + }, + { + "git-tree": "20c68afa15554da137137b3fb5e8d71bd7b824f0", + "version": "5.15.7", + "port-version": 1 + }, + { + "git-tree": "7907edc6fe8f0b81dd60b6da33638ca6c2a80672", + "version": "5.15.7", + "port-version": 0 + }, + { + "git-tree": "e4ba6a5b78ae3319296f29a0d21b70add16960f5", + "version": "5.15.6", + "port-version": 0 + }, + { + "git-tree": "a58546017a29746294932e5f21d1b1077407f53e", + "version": "5.15.5", + "port-version": 0 + }, + { + "git-tree": "618744f2944d1d1d8acfc4bf018a11306f515316", + "version": "5.15.4", + "port-version": 0 + }, + { + "git-tree": "3d081435832cdf86757d280e7fbf1bf2b5780199", + "version": "5.15.3", + "port-version": 0 + }, { "git-tree": "44c3faa9de1a6f18a9f496e828c4ee64f0fcc315", "version-string": "5.15.2", diff --git a/versions/q-/qt5-websockets.json b/versions/q-/qt5-websockets.json index 671a9ca61d7a8d..d64973da374af8 100644 --- a/versions/q-/qt5-websockets.json +++ b/versions/q-/qt5-websockets.json @@ -1,5 +1,75 @@ { "versions": [ + { + "git-tree": "06ee7adf56b994d4463c49966798f9f070821386", + "version": "5.15.15", + "port-version": 0 + }, + { + "git-tree": "3ffb36d0a2683ed1d41921492c19ee700f412de0", + "version": "5.15.14", + "port-version": 0 + }, + { + "git-tree": "6faa38f9a8564149884c1695ff49decc57df534e", + "version": "5.15.13", + "port-version": 1 + }, + { + "git-tree": "036b9318534e9f37e31ef44a86500cf9807a0a73", + "version": "5.15.13", + "port-version": 0 + }, + { + "git-tree": "478c0eea8a9b638f8e79083d16c3ad3ba378f60f", + "version": "5.15.12", + "port-version": 0 + }, + { + "git-tree": "b8589b41f61533965537f8a6701d2f8ea015f1f2", + "version": "5.15.11", + "port-version": 0 + }, + { + "git-tree": "13d815c2479b4a47f6b617ff2e1de3379d0a44b7", + "version": "5.15.10", + "port-version": 0 + }, + { + "git-tree": "b3c4b86102dc85ea933fb02679306d4a514174c7", + "version": "5.15.9", + "port-version": 0 + }, + { + "git-tree": "ed5892e08e10ad7b2fd2182b8c7abd99f1dce3ed", + "version": "5.15.8", + "port-version": 0 + }, + { + "git-tree": "8301308dcdf46c8ebccca1ecc99a7150b725a23b", + "version": "5.15.7", + "port-version": 0 + }, + { + "git-tree": "47083d05c3a15c58ed56b058e206d8f772cbb13d", + "version": "5.15.6", + "port-version": 0 + }, + { + "git-tree": "0ca101ba6c7820798fce809358f6a5a6daad3146", + "version": "5.15.5", + "port-version": 0 + }, + { + "git-tree": "6c2886a76834ca95953a47fcf460fd14970c10a4", + "version": "5.15.4", + "port-version": 0 + }, + { + "git-tree": "c0380195d2431d25311a4fa542d3437d05f339da", + "version": "5.15.3", + "port-version": 0 + }, { "git-tree": "0ca77dc0c75bd411f1d1e51257c761e775ca341d", "version-string": "5.15.2", diff --git a/versions/q-/qt5-webview.json b/versions/q-/qt5-webview.json index f4e2014f7ea278..0841a7dc0f4e80 100644 --- a/versions/q-/qt5-webview.json +++ b/versions/q-/qt5-webview.json @@ -1,5 +1,75 @@ { "versions": [ + { + "git-tree": "47bd08d247597b6c393cd87bd06575fff70608c0", + "version": "5.15.15", + "port-version": 0 + }, + { + "git-tree": "7588d155e2c75b173ecfdb2560aa3b948388155f", + "version": "5.15.14", + "port-version": 0 + }, + { + "git-tree": "8d20b00e191cfefb9d9dea3cdbe0d18afe346139", + "version": "5.15.13", + "port-version": 1 + }, + { + "git-tree": "7263c6930cff830c14124e00b5709b1bb422fe6e", + "version": "5.15.13", + "port-version": 0 + }, + { + "git-tree": "359fb6a2340821f4e375568af9f3736c9f8d5989", + "version": "5.15.12", + "port-version": 0 + }, + { + "git-tree": "bf926864a58a4777c63c25c856ea5f4c544b1fd2", + "version": "5.15.11", + "port-version": 0 + }, + { + "git-tree": "d70201641dafec375d2ac778fce87a73c5f451b3", + "version": "5.15.10", + "port-version": 0 + }, + { + "git-tree": "2e9fa2103c4b8f738ba8786e9c2a5bacb4bd935c", + "version": "5.15.9", + "port-version": 0 + }, + { + "git-tree": "e4f6c2e023e8e7f69fdaa6537f1313d204985fef", + "version": "5.15.8", + "port-version": 0 + }, + { + "git-tree": "238b13e8da65a08292fc426daa54f12d2c99d6bc", + "version": "5.15.7", + "port-version": 0 + }, + { + "git-tree": "735f17c73004fe1415cd47fcb5d71d95eb20b9ee", + "version": "5.15.6", + "port-version": 0 + }, + { + "git-tree": "db57029476ead2ed6bada3ee98efdc9933685d5c", + "version": "5.15.5", + "port-version": 0 + }, + { + "git-tree": "e6f90b47550c95897af8ca9a2508d54d918bad6e", + "version": "5.15.4", + "port-version": 0 + }, + { + "git-tree": "bb6129ae1fa4b8945885ca352eca1bde34e1a345", + "version": "5.15.3", + "port-version": 0 + }, { "git-tree": "8c8a8916c8fda707b4c8096388ea7156bada9a4c", "version-string": "5.15.2", diff --git a/versions/q-/qt5-winextras.json b/versions/q-/qt5-winextras.json index 1d4926a14ace17..bac1d1f8610e8b 100644 --- a/versions/q-/qt5-winextras.json +++ b/versions/q-/qt5-winextras.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "4d5dc088639d7c38aca26eb84da5ff40482f8575", + "version": "5.15.15", + "port-version": 0 + }, + { + "git-tree": "869da2d4e97b7b89bc39ecc236f7df90d8d9e032", + "version": "5.15.14", + "port-version": 0 + }, + { + "git-tree": "7347f61561ca613a6d11b03e4434f76da1a3b734", + "version": "5.15.13", + "port-version": 2 + }, + { + "git-tree": "14982aa9dad227454c1c989bb1349e38fd6bf781", + "version": "5.15.13", + "port-version": 1 + }, + { + "git-tree": "c88ea2c4ef0a7d9643831c4f4a62a3aa072f4b85", + "version": "5.15.13", + "port-version": 0 + }, + { + "git-tree": "3094cfb44b2edc3284f22378ac0a9d2f847d9d85", + "version": "5.15.12", + "port-version": 0 + }, + { + "git-tree": "913946992a50661e33d59f4452c3d322d5341400", + "version": "5.15.11", + "port-version": 0 + }, + { + "git-tree": "9e40a0af7bdebc43925450f1e51e2c2f8b49a067", + "version": "5.15.10", + "port-version": 0 + }, + { + "git-tree": "ea585f612f4470a52c850b68664f95fea52c766e", + "version": "5.15.9", + "port-version": 0 + }, + { + "git-tree": "a4eb0168059ec5bd56cb782a005b91262ebd421f", + "version": "5.15.8", + "port-version": 0 + }, + { + "git-tree": "78100dea54c1fe634d1ab71d8bdcfaf44adbfd5f", + "version": "5.15.7", + "port-version": 0 + }, + { + "git-tree": "80498973e03d07a6bb603913a8e5ed43e93a8289", + "version": "5.15.6", + "port-version": 0 + }, + { + "git-tree": "ffc879425da05407e5079b8e86870dd1bc6d64e4", + "version": "5.15.5", + "port-version": 0 + }, + { + "git-tree": "030018d2b9c2466e483af9dd86fea69ae46f72ee", + "version": "5.15.4", + "port-version": 0 + }, + { + "git-tree": "5a7881475902048fa453bff04c347caa7e9a615b", + "version": "5.15.3", + "port-version": 1 + }, + { + "git-tree": "89250816793ceacdf74730157af6f287070b8bf1", + "version": "5.15.3", + "port-version": 0 + }, { "git-tree": "85a345a5fdc5a15584e6b2add00f1669e4099dbc", "version-string": "5.15.2", diff --git a/versions/q-/qt5-x11extras.json b/versions/q-/qt5-x11extras.json index 1042604afb7acb..5aab31866e091b 100644 --- a/versions/q-/qt5-x11extras.json +++ b/versions/q-/qt5-x11extras.json @@ -1,5 +1,80 @@ { "versions": [ + { + "git-tree": "8b8c1e12c49745ca5962d3330784b8ea0535ec0d", + "version": "5.15.15", + "port-version": 0 + }, + { + "git-tree": "4999fada23fd639dbafaf9e4dfb846613ea7ebdc", + "version": "5.15.14", + "port-version": 0 + }, + { + "git-tree": "f3e8637f570dc0c2a5e5085b118e72bc1eaa1d95", + "version": "5.15.13", + "port-version": 1 + }, + { + "git-tree": "ecd842a58462f72e689d6dfa6f47b4d3d713b9f2", + "version": "5.15.13", + "port-version": 0 + }, + { + "git-tree": "467b63b17863b78a47afe3675bf35de910c09871", + "version": "5.15.12", + "port-version": 0 + }, + { + "git-tree": "08d312b3a2e6e0016aa0b6d2bdac1d3d3d864d23", + "version": "5.15.11", + "port-version": 0 + }, + { + "git-tree": "e2042c06d5c6007ed72d9df7f8dae8d1148eb1cc", + "version": "5.15.10", + "port-version": 0 + }, + { + "git-tree": "ac580d5217fcefbe07addb7cf42bc7fb03eba7eb", + "version": "5.15.9", + "port-version": 0 + }, + { + "git-tree": "c2128b2d148d58eabb6106cbc093713c62a20c5f", + "version": "5.15.8", + "port-version": 1 + }, + { + "git-tree": "f0ad030d8da770b8629b3eaf409f4efa97bb3b90", + "version": "5.15.8", + "port-version": 0 + }, + { + "git-tree": "d32cf79e7d0488ac5b30baf6fcf953ba4e31efe7", + "version": "5.15.7", + "port-version": 0 + }, + { + "git-tree": "d143a32da0dc634058405b2553d48337a1014175", + "version": "5.15.6", + "port-version": 0 + }, + { + "git-tree": "56678d6bfe2f27b14f7790464721400c1b05c1ff", + "version": "5.15.5", + "port-version": 0 + }, + { + "git-tree": "446335809ddbe1ca22e25789061b4fbe7c931583", + "version": "5.15.4", + "port-version": 0 + }, + { + "git-tree": "5321c86715348b879cee60dc4323c2e1d8fc9fe9", + "version": "5.15.3", + "port-version": 0 + }, { "git-tree": "ce0ca52833bf80d8bc958cd4428acd10ab397911", "version-string": "5.15.2", diff --git a/versions/q-/qt5-xmlpatterns.json b/versions/q-/qt5-xmlpatterns.json index 3777966f9887ee..6a417875abf334 100644 --- a/versions/q-/qt5-xmlpatterns.json +++ b/versions/q-/qt5-xmlpatterns.json @@ -1,5 +1,75 @@ { "versions": [ + { + "git-tree": "8db01c570ec7532552fe918c4205e553d96ac18a", + "version": "5.15.15", + "port-version": 0 + }, + { + "git-tree": "bd4228b23790b204a9f10ad7d20c81e7a269c0c4", + "version": "5.15.14", + "port-version": 0 + }, + { + "git-tree": "786fa91be5c33fbfae7705d4ad23714b384c8bb9", + "version": "5.15.13", + "port-version": 1 + }, + { + "git-tree": "3735031c6e2d227ccfb265442feb1f7e9c2c3f0f", + "version": "5.15.13", + "port-version": 0 + }, + { + "git-tree": "7d7d728be5f21d29d82251a43f4600bde5b5c404", + "version": "5.15.12", + "port-version": 0 + }, + { + "git-tree": "8d366bc9e9536eb8db2be796afdd35eb0ad05c8b", + "version": "5.15.11", + "port-version": 0 + }, + { + "git-tree": "510fff85661604ebc087feee170a857bc08d31d9", + "version": "5.15.10", + "port-version": 0 + }, + { + "git-tree": "a4a3d14b71ff33f5aef8316c46fc2b0c79f7ea60", + "version": "5.15.9", + "port-version": 0 + }, + { + "git-tree": "1a97f09b82d545dceecdfb2b2320fa88535ea595", + "version": "5.15.8", + "port-version": 0 + }, + { + "git-tree": "d7294643794c339196f9f45cc4e26809a0c3dd37", + "version": "5.15.7", + "port-version": 0 + }, + { + "git-tree": "0684fc4d4cdfd2f6019e4657fb9d9ca9c8f3a704", + "version": "5.15.6", + "port-version": 0 + }, + { + "git-tree": "41265adfd2c35f7d5c56be696ae57e2d63dd4634", + "version": "5.15.5", + "port-version": 0 + }, + { + "git-tree": "1452531e0230ac6fc5e7a16f4f7c43fc167c747b", + "version": "5.15.4", + "port-version": 0 + }, + { + "git-tree": "b87833daca4ff1492a4890d0f73bcbb416dfc615", + "version": "5.15.3", + "port-version": 0 + }, { "git-tree": "d4531f24cddd2692989fac9e84a9eb09301ee180", "version-string": "5.15.2", diff --git a/versions/q-/qt5.json b/versions/q-/qt5.json index 39ad388946c300..0bb9d27f867efa 100644 --- a/versions/q-/qt5.json +++ b/versions/q-/qt5.json @@ -1,5 +1,95 @@ { "versions": [ + { + "git-tree": "e50cf12eba43b94575a5d79394938e3b08728b55", + "version": "5.15.15", + "port-version": 0 + }, + { + "git-tree": "00841a503c2d50d0133e412e52e3a81e8091818e", + "version": "5.15.14", + "port-version": 0 + }, + { + "git-tree": "5f508ce98f6759bbd61c29ea9825f2671b557998", + "version": "5.15.13", + "port-version": 2 + }, + { + "git-tree": "d7256778e43dd4f8b09a2192ce5ca10b9d1050ed", + "version": "5.15.13", + "port-version": 1 + }, + { + "git-tree": "3d2166fa5cbb5cee46f8726e103c82d7a61ff9dd", + "version": "5.15.13", + "port-version": 0 + }, + { + "git-tree": "1af37c43da6f3720cf0d805fb13333a42a07fce9", + "version": "5.15.12", + "port-version": 0 + }, + { + "git-tree": "83c7937d7b60d45f3f9e5006fa6cbcdead8b62e0", + "version": "5.15.11", + "port-version": 0 + }, + { + "git-tree": "50fe0254b5caf977970fd69dfed756799a54120c", + "version": "5.15.10", + "port-version": 0 + }, + { + "git-tree": "1b194230fb11eb7bf37092591a917b024ac96a9b", + "version": "5.15.9", + "port-version": 0 + }, + { + "git-tree": "f770e40ee8bc91d18f208ceee737d2c8abfaf8d0", + "version": "5.15.8", + "port-version": 1 + }, + { + "git-tree": "88647dde8c3f8eee01f4b02b3f5a211046e5e5bd", + "version": "5.15.8", + "port-version": 0 + }, + { + "git-tree": "ae86831b5413a334195f8751e78e2ad9fcbd4349", + "version": "5.15.7", + "port-version": 1 + }, + { + "git-tree": "6d75a3344bc8561e1764372d80f28fcc3bfd5ba7", + "version": "5.15.7", + "port-version": 0 + }, + { + "git-tree": "1be1c7149cfbdf1af817b70e2d32d2648d34af78", + "version": "5.15.6", + "port-version": 0 + }, + { + "git-tree": "5a71d754b8b0e033e9588dfc5d84b0b1d81a8c45", + "version": "5.15.5", + "port-version": 0 + }, + { + "git-tree": "15bce9bdfce0d88dafafa166be4f56c2c4883877", + "version": "5.15.4", + "port-version": 0 + }, + { + "git-tree": "979ef9acc281793cef4f43f1e1eaed177ed9b408", + "version": "5.15.3", + "port-version": 1 + }, + { + "git-tree": "428cdd43abdc1200e889c66b9c388b421d16bf58", + "version": "5.15.3", + "port-version": 0 + }, { "git-tree": "9810d811337a74ca11e032b94b52f4e4bed5d1b1", "version-string": "5.15.2", diff --git a/versions/q-/qt5compat.json b/versions/q-/qt5compat.json index 4127070ebeef79..00415252cacc92 100644 --- a/versions/q-/qt5compat.json +++ b/versions/q-/qt5compat.json @@ -1,5 +1,120 @@ { "versions": [ + { + "git-tree": "4392000e3e518dfe64546a07e2be0865a8842fc0", + "version": "6.7.3", + "port-version": 0 + }, + { + "git-tree": "565868ea17f769b430d180f442ab58af7fa14b65", + "version": "6.7.2", + "port-version": 0 + }, + { + "git-tree": "9b86c1f829a2e747ec67dc709e56ac1ed34199ee", + "version": "6.7.1", + "port-version": 0 + }, + { + "git-tree": "d44957feee30c5249b904fd1d0c03477be1ba2e9", + "version": "6.7.0", + "port-version": 0 + }, + { + "git-tree": "d47a6e9e32f6ebbeb50ea3f696555cbcd1e9df62", + "version": "6.6.3", + "port-version": 0 + }, + { + "git-tree": "b51b1cb0195c77f67d21740b2accd483a13612bc", + "version": "6.6.1", + "port-version": 1 + }, + { + "git-tree": "31c729a2bff1118d75ed9a363b40ac1aac61fe54", + "version": "6.6.1", + "port-version": 0 + }, + { + "git-tree": "e1188f496b30f0e4a2ed309dca03300c2f02c983", + "version": "6.6.0", + "port-version": 0 + }, + { + "git-tree": "796db01f88dcd7b21cc357eba90ed6b1ce6c1669", + "version": "6.5.3", + "port-version": 0 + }, + { + "git-tree": "8153e0282226733d322d2e2c42c1d488a913875a", + "version": "6.5.2", + "port-version": 0 + }, + { + "git-tree": "8c953278f6f3c74a1976bc64198fea68cdb8cf33", + "version": "6.5.1", + "port-version": 0 + }, + { + "git-tree": "b4a3c116018e4b6f97e056193c82af718bda10b3", + "version": "6.5.0", + "port-version": 0 + }, + { + "git-tree": "0a79c6cfb2113f764e603ee13a4c12493f16b6d5", + "version": "6.4.3", + "port-version": 1 + }, + { + "git-tree": "df64fa51cb5aaaf59cbe76b91476db4b5c272152", + "version": "6.4.3", + "port-version": 0 + }, + { + "git-tree": "b719265655043408dcf6a5177306dbdfc7658dcc", + "version": "6.4.2", + "port-version": 0 + }, + { + "git-tree": "9a4334b4c95b64c1b66500b87600f85e3e052a00", + "version": "6.4.1", + "port-version": 0 + }, + { + "git-tree": "a78145140138d7712b29f2ef8526f93cc1bb1df9", + "version": "6.4.0", + "port-version": 0 + }, + { + "git-tree": "489933bcd5868bf6310ed40d5044c9bba7ab6010", + "version": "6.3.2", + "port-version": 0 + }, + { + "git-tree": "7272e6150222d29108fa00089066f55ceab215ea", + "version": "6.3.1", + "port-version": 0 + }, + { + "git-tree": "0de65b9a2c56a557ec23d71c0f9eb83d1814d01f", + "version": "6.3.0", + "port-version": 0 + }, + { + "git-tree": "e9ffdd0f5186b67741f04c15121449eb62f21f45", + "version": "6.2.4", + "port-version": 0 + }, + { + "git-tree": "d650b3405a677deca9110c6ea6861bfaa24645f2", + "version": "6.2.3", + "port-version": 0 + }, + { + "git-tree": "766a30524747e5382462c57836e5a8a6a67a1b86", + "version-semver": "6.2.2", + "port-version": 0 + }, { "git-tree": "aab367de0f2bfab12d47c09e3a5baf3a04be6d1b", "version-semver": "6.2.1", diff --git a/versions/q-/qtactiveqt.json b/versions/q-/qtactiveqt.json index c2a537cd25cd34..67a38f2a1ce653 100644 --- a/versions/q-/qtactiveqt.json +++ b/versions/q-/qtactiveqt.json @@ -1,5 +1,110 @@ { "versions": [ + { + "git-tree": "d07740c4fe6c1969e4033188de041d60d20253bf", + "version": "6.7.3", + "port-version": 0 + }, + { + "git-tree": "a29922282404e54907a8250243081bce8e86cffd", + "version": "6.7.2", + "port-version": 0 + }, + { + "git-tree": "28cc755f7f9b043a4215118b37b54bd0fe3f6c7f", + "version": "6.7.1", + "port-version": 0 + }, + { + "git-tree": "06b8bf07f2430bcd6c5048eced238bac26b5d010", + "version": "6.7.0", + "port-version": 0 + }, + { + "git-tree": "87a03a34a460fee87902a1d4f6b916028ff9dc2b", + "version": "6.6.3", + "port-version": 0 + }, + { + "git-tree": "c3d7834925f1e86b2a662b94aeefb9a7faa835a6", + "version": "6.6.1", + "port-version": 0 + }, + { + "git-tree": "b4e05b3e0a3ce481228324c480ac8106295a6cec", + "version": "6.6.0", + "port-version": 0 + }, + { + "git-tree": "fb16d16a9320a29c3186de89a48d7407bcf00766", + "version": "6.5.3", + "port-version": 0 + }, + { + "git-tree": "e4e77288d2aeeb9e4d69bb5bf56833ddb0b2414a", + "version": "6.5.2", + "port-version": 0 + }, + { + "git-tree": "ac50dbe92da8d65ed1109b1d5aa29ee11a3c8484", + "version": "6.5.1", + "port-version": 0 + }, + { + "git-tree": "906e0b257af28f5690907f94ad79bc95f3a34f5c", + "version": "6.5.0", + "port-version": 0 + }, + { + "git-tree": "f2ba14310d63294366c151fc33bc22807ddc4381", + "version": "6.4.3", + "port-version": 0 + }, + { + "git-tree": "c9112382e2464f8a54c794b29131a37f82a8d56f", + "version": "6.4.2", + "port-version": 0 + }, + { + "git-tree": "fa33d0544be90d2f58ae5520e221b06f1dfef09d", + "version": "6.4.1", + "port-version": 0 + }, + { + "git-tree": "9211a265ccfab56872d58ce9c6fbda31b8dee0a1", + "version": "6.4.0", + "port-version": 0 + }, + { + "git-tree": "465d2e5e0439ba13fb1f7e86d76be47aa146ab28", + "version": "6.3.2", + "port-version": 0 + }, + { + "git-tree": "9c415044d8f956b7f08dd627bbe1afb172ea83bb", + "version": "6.3.1", + "port-version": 0 + }, + { + "git-tree": "774c1e6820a5c0271d4f228f7f680664e3407641", + "version": "6.3.0", + "port-version": 0 + }, + { + "git-tree": "f58617e4fa4a6e358daffccd8d286cd9dab162ee", + "version": "6.2.4", + "port-version": 0 + }, + { + "git-tree": "bc03ec029e90f445ee878ad27b476b60da06ee3e", + "version": "6.2.3", + "port-version": 0 + }, + { + "git-tree": "adbc35d451c9ac13adbd23980b1609bce61e3dd9", + "version-semver": "6.2.2", + "port-version": 0 + }, { "git-tree": "9b4f9c648d93abf2dc5547a0c966f268809eeb58", "version-semver": "6.2.1", diff --git a/versions/q-/qtapplicationmanager.json b/versions/q-/qtapplicationmanager.json new file mode 100644 index 00000000000000..18b9bbd046c6c2 --- /dev/null +++ b/versions/q-/qtapplicationmanager.json @@ -0,0 +1,129 @@ +{ + "versions": [ + { + "git-tree": "e6a64f811c1ea17eb3ab149436a63f9549859eba", + "version": "6.7.3", + "port-version": 0 + }, + { + "git-tree": "eb42b1710746be1fd37abd6a41d18d88d9d260a3", + "version": "6.7.2", + "port-version": 0 + }, + { + "git-tree": "b0f9d99b7d22a915833c0d4bfdffdf779ac71251", + "version": "6.7.1", + "port-version": 1 + }, + { + "git-tree": "2367bc874c8d7df283522a5d4dff03cc41f06c99", + "version": "6.7.1", + "port-version": 0 + }, + { + "git-tree": "1fcf4c410373cf2d043515dc8a5163b7f5e56efa", + "version": "6.7.0", + "port-version": 0 + }, + { + "git-tree": "988980caa40ca9abe564790f8e3b8a0e0098b35c", + "version": "6.6.3", + "port-version": 0 + }, + { + "git-tree": "6d94e40cc436fab8410d8d104453a39c77ea39c3", + "version": "6.6.1", + "port-version": 0 + }, + { + "git-tree": "1baea015b866f295c1724220bf214796a8013d8a", + "version": "6.6.0", + "port-version": 0 + }, + { + "git-tree": "df9800b840b0972676b0d95ef8b7e86986e5a24b", + "version": "6.5.3", + "port-version": 0 + }, + { + "git-tree": "46708d0e771040647dcd94e89eb2b7be73f4008b", + "version": "6.5.2", + "port-version": 0 + }, + { + "git-tree": "176431e9f906352e8c2d98e040ae240f5e1af12b", + "version": "6.5.1", + "port-version": 0 + }, + { + "git-tree": "02767f9ffe5a4a96fa2555440e17e92d1795548d", + "version": "6.5.0", + "port-version": 0 + }, + { + "git-tree": "abe5601cca736c754b78f7451584d76fa06387f7", + "version": "6.4.3", + "port-version": 0 + }, + { + "git-tree": "5c2beb76ad527e9196de7efa7106207cd08122ca", + "version": "6.4.2", + "port-version": 0 + }, + { + "git-tree": "84509ce261b5f9f001a093a522a60dc7379f28e0", + "version": "6.4.1", + "port-version": 0 + }, + { + "git-tree": "e19d7c213f846257a30bb3b21c9683295258651d", + "version": "6.4.0", + "port-version": 0 + }, + { + "git-tree": "6be65136ec1e0356c284a37a5908f6bcf78215d9", + "version": "6.3.2", + "port-version": 0 + }, + { + "git-tree": "154acc25a743ab1e454fc9c2a801f6eb2d28c8e1", + "version": "6.3.1", + "port-version": 0 + }, + { + "git-tree": "0a0462497e72897f08a1220703103e874822af44", + "version": "6.3.0", + "port-version": 1 + }, + { + "git-tree": "31b3d7a098e8f98ad1ee4d897c164236bfef040c", + "version": "6.3.0", + "port-version": 0 + }, + { + "git-tree": "d51f980344bfb14ace79b30fbf510e92b4924da8", + "version": "6.2.4", + "port-version": 0 + }, + { + "git-tree": "3c971f01c7b3ee85236a451ad93fd00fe4cc17e6", + "version": "6.2.3", + "port-version": 1 + }, + { + "git-tree": "9597e662be8fbe3317e0fd88058071db708da977", + "version": "6.2.3", + "port-version": 0 + }, + { + "git-tree": "79db0a47002752179eb5aacedca44c0bc670030c", + "version-semver": "6.2.2", + "port-version": 1 + }, + { + "git-tree": "ca033ed7578b002c1ce195d879c622333231d159", + "version-semver": "6.2.2", + "port-version": 0 + } + ] +} diff --git a/versions/q-/qtbase.json b/versions/q-/qtbase.json index bdef4075f17e76..7614433c226f3f 100644 --- a/versions/q-/qtbase.json +++ b/versions/q-/qtbase.json @@ -1,5 +1,340 @@ { "versions": [ + { + "git-tree": "f176facc532ba6e294f1627343e8f7c3ee686676", + "version": "6.7.3", + "port-version": 1 + }, + { + "git-tree": "175c7c5f08049a07e1b18f39e622e82a60a16147", + "version": "6.7.3", + "port-version": 0 + }, + { + "git-tree": "d62407bf4bef59b09c5acae06129b30eb4a1d45f", + "version": "6.7.2", + "port-version": 3 + }, + { + "git-tree": "4ab85d9411b4c85c89976e768f158dd0631b442d", + "version": "6.7.2", + "port-version": 2 + }, + { + "git-tree": "b8c493a18ed293e1418f464515c9f9ddf3dc1bfe", + "version": "6.7.2", + "port-version": 1 + }, + { + "git-tree": "f8600119a4cecb137dd044bf72ab5a3c8b67ae02", + "version": "6.7.2", + "port-version": 0 + }, + { + "git-tree": "0c196b9ba9705d0e32db22f56cb4a61d877fb0c5", + "version": "6.7.1", + "port-version": 1 + }, + { + "git-tree": "1c4173d87756f530eaa8138badc9bb0ac843a352", + "version": "6.7.1", + "port-version": 0 + }, + { + "git-tree": "f03fb5aade729d1dd879cdff4679c06c57841043", + "version": "6.7.0", + "port-version": 2 + }, + { + "git-tree": "ff2963c7602e8c8448e68a60739965a26cce7711", + "version": "6.7.0", + "port-version": 1 + }, + { + "git-tree": "2143fc719b61ad45e2f017348969a393b243e1d7", + "version": "6.7.0", + "port-version": 0 + }, + { + "git-tree": "7bf27086b12127afb7d280a92caa347ccb8267d2", + "version": "6.6.3", + "port-version": 0 + }, + { + "git-tree": "25f62a554ceec4eb297697d178df6ac0d231a5ea", + "version": "6.6.1", + "port-version": 12 + }, + { + "git-tree": "e811ae376e4bc28336b62caaad1d59c277db3b98", + "version": "6.6.1", + "port-version": 11 + }, + { + "git-tree": "697f89ff528ad2e1e71821f9c549855dd62a2531", + "version": "6.6.1", + "port-version": 10 + }, + { + "git-tree": "99b63c90d57e03fb23c3750b28f70e810c981474", + "version": "6.6.1", + "port-version": 9 + }, + { + "git-tree": "5e2e2b00fd42bc15c333b7dded4e7db4109ca11f", + "version": "6.6.1", + "port-version": 8 + }, + { + "git-tree": "f21d3613038a80d31b8b1aaec2c16a55f45da52e", + "version": "6.6.1", + "port-version": 7 + }, + { + "git-tree": "755a330be8ae94a58fc0030d666abd8355ba44f2", + "version": "6.6.1", + "port-version": 6 + }, + { + "git-tree": "1b947014e92b75d7bf37427fc4a9ce3fd463af2c", + "version": "6.6.1", + "port-version": 5 + }, + { + "git-tree": "7e1dba7994d7d228fee34f8f5b646e7d9aff62ac", + "version": "6.6.1", + "port-version": 4 + }, + { + "git-tree": "b85d2c16c027edb173f51037d9c5a3e05746efa0", + "version": "6.6.1", + "port-version": 3 + }, + { + "git-tree": "43986c6051eb870340850c13b94ea6cb9a28925c", + "version": "6.6.1", + "port-version": 2 + }, + { + "git-tree": "1a05b4f8f0ecf48816dfe2dd648bf0b1202d771e", + "version": "6.6.1", + "port-version": 1 + }, + { + "git-tree": "4e2fc7540c9a576e44a03dcdb011864e6ecdff8a", + "version": "6.6.1", + "port-version": 0 + }, + { + "git-tree": "11861d085aeee91737a5dede66bb78845d99b0e7", + "version": "6.6.0", + "port-version": 1 + }, + { + "git-tree": "eb1e1a00df34c350c817ee3d9ab90d2c52ced194", + "version": "6.6.0", + "port-version": 0 + }, + { + "git-tree": "348dbf9cdcda0559adb72c98c249e06f8a2e50e8", + "version": "6.5.3", + "port-version": 1 + }, + { + "git-tree": "8ff10ec91d1eda17f49dd867924e6e034a0abd5c", + "version": "6.5.3", + "port-version": 0 + }, + { + "git-tree": "d3e2f2eea0533fae78469704453203038e8e838a", + "version": "6.5.2", + "port-version": 1 + }, + { + "git-tree": "cb0ae3e8e3b92dc1272047ea709b83b93e0e880d", + "version": "6.5.2", + "port-version": 0 + }, + { + "git-tree": "198ba2cfff57e3ccc7a2f6f40002127d8d0abb6e", + "version": "6.5.1", + "port-version": 3 + }, + { + "git-tree": "384ddcfe175f58d6f498c91f6b8e790bb6ad70ac", + "version": "6.5.1", + "port-version": 2 + }, + { + "git-tree": "f5e0f416352dc6207bf48ac656e3747140232a31", + "version": "6.5.1", + "port-version": 1 + }, + { + "git-tree": "ce56d3e7af720645f1c4be18d11e659c1d3e48bf", + "version": "6.5.1", + "port-version": 0 + }, + { + "git-tree": "8a00cef259fdf1a9198f95e0618c98b7f1b21527", + "version": "6.5.0", + "port-version": 2 + }, + { + "git-tree": "a66d81c3d9432499f24c76df346a4daf5725f90b", + "version": "6.5.0", + "port-version": 1 + }, + { + "git-tree": "501903e9d1d55ca5dbeee2ff61c8c846e77fe7b3", + "version": "6.5.0", + "port-version": 0 + }, + { + "git-tree": "cc1cc5c1a5d6a7c4c10feebe8d43a069d3a375a7", + "version": "6.4.3", + "port-version": 3 + }, + { + "git-tree": "b694b6e51c89c8610540165e6e8b3a236acb4301", + "version": "6.4.3", + "port-version": 2 + }, + { + "git-tree": "425f6dcfce1eadab0723c4ec5e9085da0272ab6d", + "version": "6.4.3", + "port-version": 1 + }, + { + "git-tree": "89edfb1ac3a234d7bdaefcaf2f9d77981bafd9db", + "version": "6.4.3", + "port-version": 0 + }, + { + "git-tree": "a4c5fd7ea860b1c35266670b5efe76b65d5ba8f6", + "version": "6.4.2", + "port-version": 0 + }, + { + "git-tree": "5bcda79d5be8f8db8f98b57bceb408c6827cc754", + "version": "6.4.1", + "port-version": 5 + }, + { + "git-tree": "8898a901b80fa6e70c8942349fef53932e90ba54", + "version": "6.4.1", + "port-version": 4 + }, + { + "git-tree": "f718070277a5feb4b54410d860556c980c5c6d82", + "version": "6.4.1", + "port-version": 3 + }, + { + "git-tree": "7fa87eeff71c2069b1d7e042ddcb7cec126050e8", + "version": "6.4.1", + "port-version": 2 + }, + { + "git-tree": "b00638e59f08a7f585f126cdad6f356f59268c63", + "version": "6.4.1", + "port-version": 1 + }, + { + "git-tree": "588827e1615a278c43ff1d9655070f7343f4cb94", + "version": "6.4.1", + "port-version": 0 + }, + { + "git-tree": "e6228295c86670a28e170daab903f9b1a4026068", + "version": "6.4.0", + "port-version": 0 + }, + { + "git-tree": "e279c6fed17e9d572a061c482ee73906ffd3e54e", + "version": "6.3.2", + "port-version": 3 + }, + { + "git-tree": "fdd5dc4e0a94cae2b27acd08ea0c4a7453a6519d", + "version": "6.3.2", + "port-version": 2 + }, + { + "git-tree": "02656542bbdef8469f5a461b1523c4111f0841b3", + "version": "6.3.2", + "port-version": 1 + }, + { + "git-tree": "0b34c02c8bbcd997c6f65d11a4d01012f0441de1", + "version": "6.3.2", + "port-version": 0 + }, + { + "git-tree": "3fa8531e9f444076cc6e73b979bcaaa3e665a7a5", + "version": "6.3.1", + "port-version": 2 + }, + { + "git-tree": "53f9f138ffa51742c27c5e44606f86b6b70b2734", + "version": "6.3.1", + "port-version": 1 + }, + { + "git-tree": "436e3f3fbaac28eabd4199c4ac97407bb701e929", + "version": "6.3.1", + "port-version": 0 + }, + { + "git-tree": "bad99835f1e2cf63bc1ddcd9d5871e3081964bbc", + "version": "6.3.0", + "port-version": 2 + }, + { + "git-tree": "32ffa659c93542477ed0f0ee90f3a7f99c0035f0", + "version": "6.3.0", + "port-version": 1 + }, + { + "git-tree": "8a107123c1e35b7e5fc0df157026d7fde8a42632", + "version": "6.3.0", + "port-version": 0 + }, + { + "git-tree": "35e9386f344f01e0e37df7b2d2ae991db6bbb1cc", + "version": "6.2.4", + "port-version": 0 + }, + { + "git-tree": "bfac5075bd2dcb338153b016e27ff8789b05688b", + "version": "6.2.3", + "port-version": 0 + }, + { + "git-tree": "2362188815f81dd666df3eaee1d96a208c1a0838", + "version-semver": "6.2.2", + "port-version": 4 + }, + { + "git-tree": "e9fa18e04e930f9ada49aac4dca2e9fe4958b89a", + "version-semver": "6.2.2", + "port-version": 3 + }, + { + "git-tree": "bb6485a4e65e52d1a157f6e0c478a47bdc884726", + "version-semver": "6.2.2", + "port-version": 2 + }, + { + "git-tree": "8c343c019fd735cbe38bd56b00460539e94eaa9a", + "version-semver": "6.2.2", + "port-version": 1 + }, + { + "git-tree": "c314a6af00c3a57bbd887c834cc0b5f80bfd65fc", + "version-semver": "6.2.2", + "port-version": 0 + }, { "git-tree": "700e8c2e47b2d044d1623ea5062e15ac6cc9a970", "version-semver": "6.2.1", diff --git a/versions/q-/qtcharts.json b/versions/q-/qtcharts.json index f04891f67050b2..dda5335180741e 100644 --- a/versions/q-/qtcharts.json +++ b/versions/q-/qtcharts.json @@ -1,5 +1,115 @@ { "versions": [ + { + "git-tree": "ab0834ec2fc5274d8fda76ccd5a63e9d2cb6b2fd", + "version": "6.7.3", + "port-version": 0 + }, + { + "git-tree": "42347fab9e95a2e372cf8314d27ca8a0705d74e9", + "version": "6.7.2", + "port-version": 0 + }, + { + "git-tree": "df947742c3821f3ba5fa036f8727df8b097f2820", + "version": "6.7.1", + "port-version": 0 + }, + { + "git-tree": "fbef96eaf13bdfbb0c4b787b6a76f9da2014385e", + "version": "6.7.0", + "port-version": 0 + }, + { + "git-tree": "c9960d35216fb5615f1adb2dd6651e5f995eeaaa", + "version": "6.6.3", + "port-version": 0 + }, + { + "git-tree": "eb28c3d2743cec145f3de4828b968dfe68e4c023", + "version": "6.6.1", + "port-version": 1 + }, + { + "git-tree": "95a1151d8a815110f6641a373411d5b2783fe89b", + "version": "6.6.1", + "port-version": 0 + }, + { + "git-tree": "da08464343df644146582857a4f560da79b76f06", + "version": "6.6.0", + "port-version": 0 + }, + { + "git-tree": "84c40bfb820f201f6e431fff8298e82acd0e7951", + "version": "6.5.3", + "port-version": 0 + }, + { + "git-tree": "489227e7e214d04f752a3838e9d802b0d0fab4f9", + "version": "6.5.2", + "port-version": 0 + }, + { + "git-tree": "b89cbc106466e35706c76769266b48a6f6c4a7dc", + "version": "6.5.1", + "port-version": 0 + }, + { + "git-tree": "a9cb7b445154fb5957aec5455428d0bde929fcda", + "version": "6.5.0", + "port-version": 0 + }, + { + "git-tree": "2cf33ba2051247bb8a97afec744df43f608f995f", + "version": "6.4.3", + "port-version": 0 + }, + { + "git-tree": "453fbd91a8d2c3824ea7dc2a568005e2b762e251", + "version": "6.4.2", + "port-version": 0 + }, + { + "git-tree": "7e77f95d3ca56592b40e436583e7867841e0dc3c", + "version": "6.4.1", + "port-version": 0 + }, + { + "git-tree": "d69d84b7c9b3c446e3c1b71c18d74af542c7f5c5", + "version": "6.4.0", + "port-version": 0 + }, + { + "git-tree": "748f1d3bee95e095d18eb8cf86840bcdab5b1f0e", + "version": "6.3.2", + "port-version": 0 + }, + { + "git-tree": "a15b7d019195f7598c982e0e04c3af1854c9f2e1", + "version": "6.3.1", + "port-version": 0 + }, + { + "git-tree": "5a6b0d90d87f22b85e513ae3aec86a31da8ba345", + "version": "6.3.0", + "port-version": 0 + }, + { + "git-tree": "d5e059fea3a95f9b719d3b3069f09be05413ef99", + "version": "6.2.4", + "port-version": 0 + }, + { + "git-tree": "f4676a2659098089318793815dcbff8cdb55ea9f", + "version": "6.2.3", + "port-version": 0 + }, + { + "git-tree": "5fd0c04f1b0758cb38a161d2ec6a9b8757bb243c", + "version-semver": "6.2.2", + "port-version": 0 + }, { "git-tree": "68535daef3629a70ff0e5a347580f747aa075070", "version-semver": "6.2.1", diff --git a/versions/q-/qtcoap.json b/versions/q-/qtcoap.json index 19dc1a4e84139c..6c91d541b4fe53 100644 --- a/versions/q-/qtcoap.json +++ b/versions/q-/qtcoap.json @@ -1,5 +1,115 @@ { "versions": [ + { + "git-tree": "4f3dd51073b52944256dfceb0bf26a0264352eae", + "version": "6.7.3", + "port-version": 0 + }, + { + "git-tree": "c628098fa3e65d70400a5cebd50f28f22a4b1e59", + "version": "6.7.2", + "port-version": 0 + }, + { + "git-tree": "555c2e866dcbea7a57f0ec1c6578bdd79b937d52", + "version": "6.7.1", + "port-version": 0 + }, + { + "git-tree": "5534a6aeb5a5fd0cb5c84657546400a9c2a72fb2", + "version": "6.7.0", + "port-version": 0 + }, + { + "git-tree": "96ab547ee8876c2cd2580199cb13480f81d4905f", + "version": "6.6.3", + "port-version": 0 + }, + { + "git-tree": "2bfd17e64447b838615c8040de79dd4da35e3912", + "version": "6.6.1", + "port-version": 1 + }, + { + "git-tree": "0a696a475ba2d214cb228b5b83ae06a875a342b9", + "version": "6.6.1", + "port-version": 0 + }, + { + "git-tree": "7d18fea1869e4a37cde80de8e31294da8aa38fe1", + "version": "6.6.0", + "port-version": 0 + }, + { + "git-tree": "3c16003284dc1a246e17025e2831ec61e26ebde7", + "version": "6.5.3", + "port-version": 0 + }, + { + "git-tree": "447a2ef6ef1109d9022f37eefd18e87db30b983a", + "version": "6.5.2", + "port-version": 0 + }, + { + "git-tree": "8611534889e66c2c8754af713351c1638a481fd5", + "version": "6.5.1", + "port-version": 0 + }, + { + "git-tree": "f5c864cedd1698478c95617d82ba56b1dd240ab2", + "version": "6.5.0", + "port-version": 0 + }, + { + "git-tree": "0ec02fcfbcdf7429b89d559491dce4912d93533a", + "version": "6.4.3", + "port-version": 0 + }, + { + "git-tree": "0df999ae9fd032c7f5fa193a319e112fa74e046c", + "version": "6.4.2", + "port-version": 0 + }, + { + "git-tree": "1a1d9d069a80830adb3910516e9b1807de2b90a7", + "version": "6.4.1", + "port-version": 0 + }, + { + "git-tree": "d16e79f03752b6d2d7a039799b180aa42359d328", + "version": "6.4.0", + "port-version": 0 + }, + { + "git-tree": "c4d1e5ebb1598edbb9861dce84997b10e66fc769", + "version": "6.3.2", + "port-version": 0 + }, + { + "git-tree": "ffcdc27a6814e5a08af5c618b230c2c144a49c7e", + "version": "6.3.1", + "port-version": 0 + }, + { + "git-tree": "9d43d6c903f6d72b54187e9f6657a346929ab515", + "version": "6.3.0", + "port-version": 0 + }, + { + "git-tree": "7f05c6aaeb825647d3c802feeb1b06a0d14a83c0", + "version": "6.2.4", + "port-version": 0 + }, + { + "git-tree": "948308d4ae9a45ee3c438fb512b2fe25c3661773", + "version": "6.2.3", + "port-version": 0 + }, + { + "git-tree": "0fdd3a57eee65ddaa5bd2c83ece98efcc0a6e7e5", + "version-semver": "6.2.2", + "port-version": 0 + }, { "git-tree": "1397bf94a76801daaec069dbbc790dc45957ccaa", "version-semver": "6.2.1", diff --git a/versions/q-/qtconnectivity.json b/versions/q-/qtconnectivity.json index 495095c425c007..a5abeadaeb754b 100644 --- a/versions/q-/qtconnectivity.json +++ b/versions/q-/qtconnectivity.json @@ -1,5 +1,120 @@ { "versions": [ + { + "git-tree": "10db799b4117aed906ea376d643458f54d13cf21", + "version": "6.7.3", + "port-version": 0 + }, + { + "git-tree": "e29a9fda18148ad48a6da12bf66416045cc59704", + "version": "6.7.2", + "port-version": 1 + }, + { + "git-tree": "821b00228f3a81b83def29d6247cfed22af846a1", + "version": "6.7.2", + "port-version": 0 + }, + { + "git-tree": "0fa89c65dbef2ef3301c6f80aa00864cb473be3f", + "version": "6.7.1", + "port-version": 0 + }, + { + "git-tree": "6a758c0ed77b654e3803dbafa3abb4597642addf", + "version": "6.7.0", + "port-version": 0 + }, + { + "git-tree": "cc690a31803ffc300177918ac5e44450f4902f03", + "version": "6.6.3", + "port-version": 0 + }, + { + "git-tree": "c49aab0054c4071531e96e1631482922ecb02103", + "version": "6.6.1", + "port-version": 1 + }, + { + "git-tree": "83b610993d47952dc7cf1a117899d35d1232eaf0", + "version": "6.6.1", + "port-version": 0 + }, + { + "git-tree": "b130a6686447df20bc5ae96bd6153cbac5aa1977", + "version": "6.6.0", + "port-version": 0 + }, + { + "git-tree": "09ef297e42457aa0c3bded1d834760d3fefb402a", + "version": "6.5.3", + "port-version": 0 + }, + { + "git-tree": "1a77d33e54322275fc5e903d49eb732afbfd3486", + "version": "6.5.2", + "port-version": 0 + }, + { + "git-tree": "e2f10a4251e58ed95aed33cb1fa65be236b9aa93", + "version": "6.5.1", + "port-version": 0 + }, + { + "git-tree": "4e87723595352e8637721bea77ffc9c1ad73c031", + "version": "6.5.0", + "port-version": 0 + }, + { + "git-tree": "3c207cf03cd774a0540d8199ca4c3e5d1279949b", + "version": "6.4.3", + "port-version": 0 + }, + { + "git-tree": "b4daef9df488c4beadf312ed909055a67f0c54eb", + "version": "6.4.2", + "port-version": 0 + }, + { + "git-tree": "57519ba9aa89a4939111ad42442cd4f0b3f3a501", + "version": "6.4.1", + "port-version": 0 + }, + { + "git-tree": "23cc7cf6910939ecce51eb8b746421fb17d0579f", + "version": "6.4.0", + "port-version": 0 + }, + { + "git-tree": "df953810cdfbfa1516ad5f7a03d0577f97de03e6", + "version": "6.3.2", + "port-version": 0 + }, + { + "git-tree": "84a17dffda30f3239e065b5776ff972098613dd7", + "version": "6.3.1", + "port-version": 0 + }, + { + "git-tree": "6c7069034cb39a6450178d52a58a0ddffda07b5d", + "version": "6.3.0", + "port-version": 0 + }, + { + "git-tree": "db0fc2cda2cc383043f8e1fc4b48849183f038b8", + "version": "6.2.4", + "port-version": 0 + }, + { + "git-tree": "fbe8db54ab4377615f8328227d21c8bf470551d6", + "version": "6.2.3", + "port-version": 0 + }, + { + "git-tree": "9f62102338302645f71d4b060100dee977a5c744", + "version-semver": "6.2.2", + "port-version": 0 + }, { "git-tree": "0ed1e678661df3b938f67e6d9f8d68e62f8f75b6", "version-semver": "6.2.1", diff --git a/versions/q-/qtdatavis3d.json b/versions/q-/qtdatavis3d.json index 84326f72687404..a741c3924255ee 100644 --- a/versions/q-/qtdatavis3d.json +++ b/versions/q-/qtdatavis3d.json @@ -1,5 +1,115 @@ { "versions": [ + { + "git-tree": "ec47a4a5acdec592601626a2094e8611545a77ea", + "version": "6.7.3", + "port-version": 0 + }, + { + "git-tree": "d6ae5e14923c944fe9ecb57ce411bcb2c7e91b7c", + "version": "6.7.2", + "port-version": 0 + }, + { + "git-tree": "84293590f5a9b2ccb1333cdbe6e14185033d0b23", + "version": "6.7.1", + "port-version": 0 + }, + { + "git-tree": "e05eefa831261dd71a45ef0cea2c2d3ab19d02fe", + "version": "6.7.0", + "port-version": 0 + }, + { + "git-tree": "dc468c66aa7da560f6bdfe93afa3e6accee3a2a4", + "version": "6.6.3", + "port-version": 0 + }, + { + "git-tree": "f6c2195cbcebc43f3b1a8a2fcf825dcf9a5b9795", + "version": "6.6.1", + "port-version": 1 + }, + { + "git-tree": "22f5db80fc03af7c934a4f48d79e9df63514383f", + "version": "6.6.1", + "port-version": 0 + }, + { + "git-tree": "256b706e812d3da7b4eb279e79b04095dcadde98", + "version": "6.6.0", + "port-version": 0 + }, + { + "git-tree": "18cd1d93b0a6560a076444c03d76e5339d17abee", + "version": "6.5.3", + "port-version": 0 + }, + { + "git-tree": "9542502f4e10861691b7da5df3802959120eaa8a", + "version": "6.5.2", + "port-version": 0 + }, + { + "git-tree": "72b95739835b676e075323ca63ef5aaff5b08599", + "version": "6.5.1", + "port-version": 0 + }, + { + "git-tree": "55f14b0a4149603a1d171ebf4cc99d8dfb2739c3", + "version": "6.5.0", + "port-version": 0 + }, + { + "git-tree": "b240e1a2bf68f450855c7a93d6ff755e9e519afb", + "version": "6.4.3", + "port-version": 0 + }, + { + "git-tree": "db2542355d2cad6f69628138dc20f6705935b733", + "version": "6.4.2", + "port-version": 0 + }, + { + "git-tree": "01a383d4dc9ff51f2519e4c945e0e38a7a1d7210", + "version": "6.4.1", + "port-version": 0 + }, + { + "git-tree": "788640e0e41f175b6cd2c38e4ae995b2190998db", + "version": "6.4.0", + "port-version": 0 + }, + { + "git-tree": "88f09be59dad78b84bd41c01520f9fcfb5052b46", + "version": "6.3.2", + "port-version": 0 + }, + { + "git-tree": "e7aa59175c94525ec18c988c866356882c730cb5", + "version": "6.3.1", + "port-version": 0 + }, + { + "git-tree": "a1fd864c050d29e79b16f84029402fcb3840d1a9", + "version": "6.3.0", + "port-version": 0 + }, + { + "git-tree": "c35b1ffb8bc3d76b8537e2d5d59176545f4a02bc", + "version": "6.2.4", + "port-version": 0 + }, + { + "git-tree": "014813f75ac07a1207692d81609b4cc6e28e5737", + "version": "6.2.3", + "port-version": 0 + }, + { + "git-tree": "be38aa1f2d19491f9195779ab9bc5cf9469e2d46", + "version-semver": "6.2.2", + "port-version": 0 + }, { "git-tree": "64b4f2709811c4ab542a8534645e0ffdb1ffffe7", "version-semver": "6.2.1", diff --git a/versions/q-/qtdeclarative.json b/versions/q-/qtdeclarative.json index 7c01db2c48c004..6c86fd2185f36b 100644 --- a/versions/q-/qtdeclarative.json +++ b/versions/q-/qtdeclarative.json @@ -1,5 +1,135 @@ { "versions": [ + { + "git-tree": "f13fda1e78b00cdd54a1d59869f90d054cb3d73e", + "version": "6.7.3", + "port-version": 0 + }, + { + "git-tree": "d18ad15012eece55713ca8368a507e8b23aca23a", + "version": "6.7.2", + "port-version": 0 + }, + { + "git-tree": "83a98143a9552c8209c80a7a81b2b3c1f4ec5493", + "version": "6.7.1", + "port-version": 0 + }, + { + "git-tree": "8e424ab10dbe84d19523259d630a09d23ab0c623", + "version": "6.7.0", + "port-version": 1 + }, + { + "git-tree": "c7735c31022b2d41f5e0af9e727fc73cd4146a52", + "version": "6.7.0", + "port-version": 0 + }, + { + "git-tree": "92eee91274967994c7fae0b2373d75000fa724aa", + "version": "6.6.3", + "port-version": 0 + }, + { + "git-tree": "9f3e05d9f7a05f314c0c38c07b7ceb91b257f8cf", + "version": "6.6.1", + "port-version": 0 + }, + { + "git-tree": "7fcbb7948afc44ea3d2d5ebff7cf9fd9c576010c", + "version": "6.6.0", + "port-version": 1 + }, + { + "git-tree": "a1b753b4c94c95edf6c8ab7bac9c4577f060b9a4", + "version": "6.6.0", + "port-version": 0 + }, + { + "git-tree": "8d65969f28fb847dbfcd93ae76a2bc3019c6ab81", + "version": "6.5.3", + "port-version": 0 + }, + { + "git-tree": "dba82b0a0cafa163aa6742efe438a6a5756efe87", + "version": "6.5.2", + "port-version": 0 + }, + { + "git-tree": "b2c7cddc945b4f3d00f6cda3b2fc99406a2b8aab", + "version": "6.5.1", + "port-version": 0 + }, + { + "git-tree": "c0d4c48a9b7ef8047bb2068271fb433deddd3ffb", + "version": "6.5.0", + "port-version": 0 + }, + { + "git-tree": "d95042b70d48866fce13c9474b4bedd62ac9be7f", + "version": "6.4.3", + "port-version": 0 + }, + { + "git-tree": "8c82d03c38977a78521811ef6f91197b7f75f03e", + "version": "6.4.2", + "port-version": 2 + }, + { + "git-tree": "70badba61897e63a26540f70ff53e0df92ff01bb", + "version": "6.4.2", + "port-version": 1 + }, + { + "git-tree": "005e51361039c1a03018a94d3f2da31bea63ab59", + "version": "6.4.2", + "port-version": 0 + }, + { + "git-tree": "5cba56149302895d76b830c63384e1d0d590a018", + "version": "6.4.1", + "port-version": 0 + }, + { + "git-tree": "44e74372f9beed1d7972dee205b8bf748e5ab9d7", + "version": "6.4.0", + "port-version": 0 + }, + { + "git-tree": "0f10c6273faf539ccacefdd271f80f71d37426ff", + "version": "6.3.2", + "port-version": 0 + }, + { + "git-tree": "f07ed79d7c1a7c616539e8243126143cf202b706", + "version": "6.3.1", + "port-version": 0 + }, + { + "git-tree": "551991d8ec2c004a196cc0c3e6acc8babe34546f", + "version": "6.3.0", + "port-version": 0 + }, + { + "git-tree": "ea64315431fd028d453a27e999d7e696f48923d4", + "version": "6.2.4", + "port-version": 0 + }, + { + "git-tree": "ede6e28a20ddf3b6d4cc7b1e7ac7dc41f80e64a8", + "version": "6.2.3", + "port-version": 0 + }, + { + "git-tree": "986c605c0c11adc3c756743307730e41d1c16b5f", + "version-semver": "6.2.2", + "port-version": 1 + }, + { + "git-tree": "d4f31e8cfbb1e6c504ad8089e92e234b03a96679", + "version-semver": "6.2.2", + "port-version": 0 + }, { "git-tree": "3abe1c5e7e0fee7e89e99635bb1c7b4136854c2e", "version-semver": "6.2.1", diff --git a/versions/q-/qtdeviceutilities.json b/versions/q-/qtdeviceutilities.json new file mode 100644 index 00000000000000..fb89b603a5fc9a --- /dev/null +++ b/versions/q-/qtdeviceutilities.json @@ -0,0 +1,114 @@ +{ + "versions": [ + { + "git-tree": "c9f2146581ffc3e46ac6a07b17687bd8733dd606", + "version": "6.7.3", + "port-version": 0 + }, + { + "git-tree": "583314a433a2c189fa0f481d27d4403bd7d4f931", + "version": "6.7.2", + "port-version": 0 + }, + { + "git-tree": "85c34a559f90bdd26cf0403a93d339776f73151a", + "version": "6.7.1", + "port-version": 0 + }, + { + "git-tree": "066ff3fa9d072a8471de75a9c7711746f86f38f8", + "version": "6.7.0", + "port-version": 0 + }, + { + "git-tree": "e685cfa8114d0d04881b563395f9b1f8752d1419", + "version": "6.6.3", + "port-version": 0 + }, + { + "git-tree": "b48df79f10863863c9644dc3a5d48261e1741399", + "version": "6.6.1", + "port-version": 1 + }, + { + "git-tree": "4d4936a7676dacfd1954ccab4ab56cf66fc29d12", + "version": "6.6.1", + "port-version": 0 + }, + { + "git-tree": "49d4c0efba0c96742ba85c1699c5c0a39ac0937d", + "version": "6.6.0", + "port-version": 0 + }, + { + "git-tree": "766f2aba652da721ddec6c476ecd2f1481ad030b", + "version": "6.5.3", + "port-version": 0 + }, + { + "git-tree": "b77242456ce4629252f57093f5039be85c38b376", + "version": "6.5.2", + "port-version": 0 + }, + { + "git-tree": "5ea28da9eb4c9533b02f9033b1e15e2dab30a411", + "version": "6.5.1", + "port-version": 0 + }, + { + "git-tree": "21885adf14cf548990d1a47fb4baf3c75bc00859", + "version": "6.5.0", + "port-version": 0 + }, + { + "git-tree": "30f0d972b16884ce41d64dea7550976b4bb102d5", + "version": "6.4.3", + "port-version": 0 + }, + { + "git-tree": "edfe9f8a201f55b7940441a9fd9589f26b735cd5", + "version": "6.4.2", + "port-version": 0 + }, + { + "git-tree": "7ccadb9f3a0f2ea7aa3422238b8beaa28723402b", + "version": "6.4.1", + "port-version": 0 + }, + { + "git-tree": "7598efa19aebd639f97f24d802fa7b4d524185b8", + "version": "6.4.0", + "port-version": 0 + }, + { + "git-tree": "a1651713cf1f37a37a03d0d9a49c589dc0328363", + "version": "6.3.2", + "port-version": 0 + }, + { + "git-tree": "02a1198b628b04d7969fbf1f8214428da635555e", + "version": "6.3.1", + "port-version": 0 + }, + { + "git-tree": "4945df086d916c7aa24e9ed44ac983b1ef65c84b", + "version": "6.3.0", + "port-version": 0 + }, + { + "git-tree": "a688914d635b3b8f3295bfa76e3581b2db6d3d44", + "version": "6.2.4", + "port-version": 0 + }, + { + "git-tree": "91bd6966a66abed85eab29725a1fa838b7416c9f", + "version": "6.2.3", + "port-version": 0 + }, + { + "git-tree": "f6122e9d022e0d407e75f0af4b1faafa926f40cf", + "version-semver": "6.2.2", + "port-version": 0 + } + ] +} diff --git a/versions/q-/qtdoc.json b/versions/q-/qtdoc.json index d59e821311be94..f3217905a1c838 100644 --- a/versions/q-/qtdoc.json +++ b/versions/q-/qtdoc.json @@ -1,5 +1,115 @@ { "versions": [ + { + "git-tree": "903a55b2aee1d8dd9818e971c84a1214efc3bc5d", + "version": "6.7.3", + "port-version": 0 + }, + { + "git-tree": "70f9dbf7f3af2ec10e2215bc2fed0ef3e72753ea", + "version": "6.7.2", + "port-version": 0 + }, + { + "git-tree": "04bd3c7f4166c8456b478cbe3af30244e15fb7ab", + "version": "6.7.1", + "port-version": 0 + }, + { + "git-tree": "a6347a56a9c0e1fb4544e47f2a288441f1662f59", + "version": "6.7.0", + "port-version": 0 + }, + { + "git-tree": "b5df73db4bf154ef6617aaebcd0124cb2b6587b5", + "version": "6.6.3", + "port-version": 0 + }, + { + "git-tree": "fe32740c67fae0c711b7a08cc21dcad8ba78a1c7", + "version": "6.6.1", + "port-version": 1 + }, + { + "git-tree": "5c1caa1eb1ce53c8e7096dc477c0878a885157b6", + "version": "6.6.1", + "port-version": 0 + }, + { + "git-tree": "ed7bf70cb4a5e21fb76e7f7cc89d234fffd3201e", + "version": "6.6.0", + "port-version": 0 + }, + { + "git-tree": "de18f463e0a97321b9eb039e9ddb1674600b993f", + "version": "6.5.3", + "port-version": 0 + }, + { + "git-tree": "e80b76bc95256a794532cba53f7d72fa4eea8700", + "version": "6.5.2", + "port-version": 0 + }, + { + "git-tree": "f443139e15746d7e481577bc491bf6aa6bcbe21a", + "version": "6.5.1", + "port-version": 0 + }, + { + "git-tree": "54a7e5b497830856aad12dec08b7bb01c37b4999", + "version": "6.5.0", + "port-version": 0 + }, + { + "git-tree": "6b0bc07f88766c3534b163684451151b4f7346ef", + "version": "6.4.3", + "port-version": 0 + }, + { + "git-tree": "d557d44dae24f7229691c339956a78ef583026c6", + "version": "6.4.2", + "port-version": 0 + }, + { + "git-tree": "aabd61fc7d8c073fab3c982753513e3684c60b51", + "version": "6.4.1", + "port-version": 0 + }, + { + "git-tree": "c471262a8121335b3b73f26b86efc9c5ff2446d4", + "version": "6.4.0", + "port-version": 0 + }, + { + "git-tree": "7bb265a825524a2184d6f0d9ee81bc258a5dd7f4", + "version": "6.3.2", + "port-version": 0 + }, + { + "git-tree": "78caa376b251d8d5cdd40c5128a2a657308c6d10", + "version": "6.3.1", + "port-version": 0 + }, + { + "git-tree": "cb9dbafdcf670a693bbdfb8c9d9f3a6282e8a455", + "version": "6.3.0", + "port-version": 0 + }, + { + "git-tree": "5e04878cf2a70ff87ae027aaefc5d40c328cffba", + "version": "6.2.4", + "port-version": 0 + }, + { + "git-tree": "86089f5d381b17bdd89c9fd7953db2ff38dcec38", + "version": "6.2.3", + "port-version": 0 + }, + { + "git-tree": "585382ff1e60120a0cf35e8b22e1b8152b83fa1d", + "version-semver": "6.2.2", + "port-version": 0 + }, { "git-tree": "d2640b87a1d668eeb0021bb55e7957f3d0d507e0", "version-semver": "6.2.1", diff --git a/versions/q-/qtgraphs.json b/versions/q-/qtgraphs.json new file mode 100644 index 00000000000000..cab5317a50a402 --- /dev/null +++ b/versions/q-/qtgraphs.json @@ -0,0 +1,39 @@ +{ + "versions": [ + { + "git-tree": "1ac4dee1c80ed12e4b3e6167629f4dbd2959e9ca", + "version": "6.7.3", + "port-version": 0 + }, + { + "git-tree": "9c1d96edf8c34d5890b75a63ea135907a2d4e9c0", + "version": "6.7.2", + "port-version": 0 + }, + { + "git-tree": "0404d0609c1e00a4059dac601e18a93d767a099b", + "version": "6.7.1", + "port-version": 0 + }, + { + "git-tree": "4ba6a7e04f99787dc5b9d5103042660cb315df9b", + "version": "6.7.0", + "port-version": 0 + }, + { + "git-tree": "f8d214ef5b933177b004415b57665d1cbfdfd436", + "version": "6.6.3", + "port-version": 0 + }, + { + "git-tree": "392fc5d8111b46250ba14fabae8b4e1cc56ca452", + "version": "6.6.1", + "port-version": 1 + }, + { + "git-tree": "ae9bcc804f472bd60275ad1f73a8cf12574390ea", + "version": "6.6.1", + "port-version": 0 + } + ] +} diff --git a/versions/q-/qtgrpc.json b/versions/q-/qtgrpc.json new file mode 100644 index 00000000000000..ebbe7b8a20239a --- /dev/null +++ b/versions/q-/qtgrpc.json @@ -0,0 +1,64 @@ +{ + "versions": [ + { + "git-tree": "9a14e2e45899927afadb2680f9c63aff561813cd", + "version": "6.7.3", + "port-version": 0 + }, + { + "git-tree": "6ab43f8bf914e94e76494d3a6c0e16f4171906d5", + "version": "6.7.2", + "port-version": 0 + }, + { + "git-tree": "8e50e77935eb97be2139f374053c267d953383b0", + "version": "6.7.1", + "port-version": 0 + }, + { + "git-tree": "bf3f735ecbdb3d211b1a52d67878a520c94d0403", + "version": "6.7.0", + "port-version": 0 + }, + { + "git-tree": "2e78f6a950d9e7fd3f77b05e5e9c217a1d57a1c0", + "version": "6.6.3", + "port-version": 0 + }, + { + "git-tree": "440431e6c48d25cb7b488459e1ca7427ead655a0", + "version": "6.6.1", + "port-version": 1 + }, + { + "git-tree": "4abad64b5fbebe9eff491e26fe91212b0c55e094", + "version": "6.6.1", + "port-version": 0 + }, + { + "git-tree": "65fd752fc052bc1cbf13d66417e9c6c1aedc238a", + "version": "6.6.0", + "port-version": 0 + }, + { + "git-tree": "a7dc614f31a77ea86fc407ecdd994ae597ac9e94", + "version": "6.5.3", + "port-version": 0 + }, + { + "git-tree": "1763921c7316e6a3aba9414e94f56bb7261df4de", + "version": "6.5.2", + "port-version": 0 + }, + { + "git-tree": "ee1ca6322fefa8ed2e2b6ac36cd884017773eb3e", + "version": "6.5.1", + "port-version": 0 + }, + { + "git-tree": "8fb784c858ca56e7ed43e80c0d5937962a2f72b2", + "version": "6.5.0", + "port-version": 0 + } + ] +} diff --git a/versions/q-/qthttpserver.json b/versions/q-/qthttpserver.json new file mode 100644 index 00000000000000..5b62ab80a01995 --- /dev/null +++ b/versions/q-/qthttpserver.json @@ -0,0 +1,84 @@ +{ + "versions": [ + { + "git-tree": "aaead2efbaa8c2468942eda9df6a33e723770f21", + "version": "6.7.3", + "port-version": 0 + }, + { + "git-tree": "ab6f99f705603ef518849aaf3867852f2082a635", + "version": "6.7.2", + "port-version": 0 + }, + { + "git-tree": "2b952770c0d3801c26de385ed5e616ce61254eb0", + "version": "6.7.1", + "port-version": 0 + }, + { + "git-tree": "c87d262931a261de01ff88aa103a1e043bdf5a70", + "version": "6.7.0", + "port-version": 0 + }, + { + "git-tree": "43aec59b916d6d6413b9dd518ccbbc14b2f739e4", + "version": "6.6.3", + "port-version": 0 + }, + { + "git-tree": "da6cdbb80bdb3a2d5090ebab4073ad48b76c99c7", + "version": "6.6.1", + "port-version": 1 + }, + { + "git-tree": "5f14429d07fb8ad95b822c2a330f11cb3423e67d", + "version": "6.6.1", + "port-version": 0 + }, + { + "git-tree": "06ae6f390b9ea2025c189ecdadbeddde662b4f6e", + "version": "6.6.0", + "port-version": 0 + }, + { + "git-tree": "a1bef888af2bc8f653336ee8c817e1e3ea9b514a", + "version": "6.5.3", + "port-version": 0 + }, + { + "git-tree": "f5824d09b2d937061ee4a7e86a558f63b4a7b1d1", + "version": "6.5.2", + "port-version": 0 + }, + { + "git-tree": "f1706eb781c19e5462e3571cece087413afb5f9d", + "version": "6.5.1", + "port-version": 0 + }, + { + "git-tree": "9467160ab402bfd2f04461aee718cb9043d3a094", + "version": "6.5.0", + "port-version": 0 + }, + { + "git-tree": "0725482920b4594c7f9345ef21124041aa648075", + "version": "6.4.3", + "port-version": 0 + }, + { + "git-tree": "a3ee294006eaf1c24586113a75836312e45a90d4", + "version": "6.4.2", + "port-version": 0 + }, + { + "git-tree": "8d82a52d24693b7d79b36c4dd77bed1d0560f270", + "version": "6.4.1", + "port-version": 0 + }, + { + "git-tree": "ac4d04c2f3bd5830b342635865fbb74f85c31988", + "version": "6.4.0", + "port-version": 0 + } + ] +} diff --git a/versions/q-/qtimageformats.json b/versions/q-/qtimageformats.json index 53b64a4d1e8222..6af364f10ebcc1 100644 --- a/versions/q-/qtimageformats.json +++ b/versions/q-/qtimageformats.json @@ -1,5 +1,125 @@ { "versions": [ + { + "git-tree": "018a953cbfee0f9cf143c07272ce51db90b3923b", + "version": "6.7.3", + "port-version": 0 + }, + { + "git-tree": "5fe841029f03cc3c2add060c29c47ee43a3de628", + "version": "6.7.2", + "port-version": 0 + }, + { + "git-tree": "0fc15be6768342fa2739a30356ff0d65311d7ba2", + "version": "6.7.1", + "port-version": 0 + }, + { + "git-tree": "9abe1d0a6b86b45eb8c0732fc62b78b8973b9b51", + "version": "6.7.0", + "port-version": 0 + }, + { + "git-tree": "dcb85f48b2b168f16018e98351c0b60b785c63a7", + "version": "6.6.3", + "port-version": 1 + }, + { + "git-tree": "1a03e12c7d629d207612d6214f6b15b786dac224", + "version": "6.6.3", + "port-version": 0 + }, + { + "git-tree": "0956fc6353f26780b3a6acfee4e971ac47e50841", + "version": "6.6.1", + "port-version": 1 + }, + { + "git-tree": "7fc433dbdd7a4f8151de5219b08d18f9a3296f8a", + "version": "6.6.1", + "port-version": 0 + }, + { + "git-tree": "bf58f188746291ad38bafa413affa145fe792ee7", + "version": "6.6.0", + "port-version": 0 + }, + { + "git-tree": "102ca43cd0aa09e7c5ad522d983179e77bdb563e", + "version": "6.5.3", + "port-version": 0 + }, + { + "git-tree": "741e655e5197d49f078cc20e745dfe5bca2cd4d4", + "version": "6.5.2", + "port-version": 0 + }, + { + "git-tree": "5f034441ea62f407b1950448250507277defe3d1", + "version": "6.5.1", + "port-version": 0 + }, + { + "git-tree": "6a6f759bf37a0bbc86ccdac3eccbfa40816cbd79", + "version": "6.5.0", + "port-version": 0 + }, + { + "git-tree": "bf254edd44146eaac43755ff680855122d2a8705", + "version": "6.4.3", + "port-version": 0 + }, + { + "git-tree": "03bd6bcabc5d9740dcf086b6928bb1b393970591", + "version": "6.4.2", + "port-version": 0 + }, + { + "git-tree": "a1c2ace68dcaa899f934673aab72d54fe3924f12", + "version": "6.4.1", + "port-version": 1 + }, + { + "git-tree": "a2c32b799e5b3ef2d6f7d43c0d8101aec38d1784", + "version": "6.4.1", + "port-version": 0 + }, + { + "git-tree": "a03e734c78d46ccba5469388c681ffa8b3015724", + "version": "6.4.0", + "port-version": 0 + }, + { + "git-tree": "b124b9d71de95557c5024f6ba1d3328b553ce35f", + "version": "6.3.2", + "port-version": 0 + }, + { + "git-tree": "fc60f798c304673e062010dcf4b1c3b27bc5d46b", + "version": "6.3.1", + "port-version": 0 + }, + { + "git-tree": "8be93de3e45f5a409cb6606b1f9e240468513506", + "version": "6.3.0", + "port-version": 0 + }, + { + "git-tree": "721c778bc9a6bd4e04a2e1cfb5437ffb7e59abc0", + "version": "6.2.4", + "port-version": 0 + }, + { + "git-tree": "fff7150f31fcb2531adcb2f8fa42b6106c2893d1", + "version": "6.2.3", + "port-version": 0 + }, + { + "git-tree": "038c5575e3e47c1512381b63138896df5fd713b6", + "version-semver": "6.2.2", + "port-version": 0 + }, { "git-tree": "e500b15fc978066e6c781d3d7f54867b31c8a77c", "version-semver": "6.2.1", diff --git a/versions/q-/qtinterfaceframework.json b/versions/q-/qtinterfaceframework.json new file mode 100644 index 00000000000000..ac086fa9641493 --- /dev/null +++ b/versions/q-/qtinterfaceframework.json @@ -0,0 +1,154 @@ +{ + "versions": [ + { + "git-tree": "c881371d954fd08efd4677dbc2c4c5580a4c4ae3", + "version": "6.7.3", + "port-version": 0 + }, + { + "git-tree": "9577adb3dbead7a3c53049c6c0b2b3c24fe785e3", + "version": "6.7.2", + "port-version": 0 + }, + { + "git-tree": "92bf38976c3ad0e31a4bfe0db60a491c0596c61d", + "version": "6.7.1", + "port-version": 1 + }, + { + "git-tree": "b69553a1cbc401f5fd026153aaa94139d8c60c76", + "version": "6.7.1", + "port-version": 0 + }, + { + "git-tree": "9a24b3891ebf5c1875ed5be91218025de48029b8", + "version": "6.7.0", + "port-version": 1 + }, + { + "git-tree": "f42b78256d78f322fb0a0a053c7704b9cd9702ab", + "version": "6.7.0", + "port-version": 0 + }, + { + "git-tree": "905edd3e5b8e6003f183657e07b0c54e067d0dfc", + "version": "6.6.3", + "port-version": 0 + }, + { + "git-tree": "286528d88ab9726631948dc257a9c2e4b0634cdf", + "version": "6.6.1", + "port-version": 1 + }, + { + "git-tree": "1bcb4f2fd5111908f77a8b70692b935ec23c2d27", + "version": "6.6.1", + "port-version": 0 + }, + { + "git-tree": "aef598c3223519da2bbb08353d365661f8959856", + "version": "6.6.0", + "port-version": 0 + }, + { + "git-tree": "a9ea8f81cfcb1c6b58edb0ac0fc9301bb28500b8", + "version": "6.5.3", + "port-version": 0 + }, + { + "git-tree": "691ae1fd4a36582c8017a79459fd96655784b2ee", + "version": "6.5.2", + "port-version": 0 + }, + { + "git-tree": "4605314d419179ae92fc2e96a364e75b43a6615e", + "version": "6.5.1", + "port-version": 1 + }, + { + "git-tree": "f68eabb8f185b700ff927d6bbf92a9442d7997c9", + "version": "6.5.1", + "port-version": 0 + }, + { + "git-tree": "3c0fac0141ef882b26d1904189a1aafd4dc4540f", + "version": "6.5.0", + "port-version": 0 + }, + { + "git-tree": "0bb5fdc2bde29cd083a90c67dc1892d68772dadc", + "version": "6.4.3", + "port-version": 0 + }, + { + "git-tree": "6cd4a417d6de231f14a323a9312986e526535c68", + "version": "6.4.2", + "port-version": 0 + }, + { + "git-tree": "3fca785bc8f27cbf52b21d41e802992b68883b8c", + "version": "6.4.1", + "port-version": 0 + }, + { + "git-tree": "4a7bd6ad1e0a93754ff96e78d37d5839919ff7f7", + "version": "6.4.0", + "port-version": 0 + }, + { + "git-tree": "887770433b2654dd335178a68b7f0910e28198cc", + "version": "6.3.2", + "port-version": 1 + }, + { + "git-tree": "06bd4310e48e978c281804ba2bce2fc37d1b4fa1", + "version": "6.3.2", + "port-version": 0 + }, + { + "git-tree": "5ddae3f893d3147528593a2b05ad2012416a6a26", + "version": "6.3.1", + "port-version": 0 + }, + { + "git-tree": "fdc3b41d77a6ee6160cfc442ddacf03aa91d0481", + "version": "6.3.0", + "port-version": 0 + }, + { + "git-tree": "b54a54283fd7e3a5929b1d67721675ee1c8d5234", + "version": "6.2.4", + "port-version": 2 + }, + { + "git-tree": "e4969db9a78db8b04d4d803e4494a9f98007396a", + "version": "6.2.4", + "port-version": 1 + }, + { + "git-tree": "e36f5d74c2e94aa38c74b0fdfec8778fb7851523", + "version": "6.2.4", + "port-version": 0 + }, + { + "git-tree": "42968cd54d91bbbf94a3c5aaaf6f1de876b0efac", + "version": "6.2.3", + "port-version": 2 + }, + { + "git-tree": "26fa7610125a5a6b54ced0cda87ab6621a42a1d9", + "version": "6.2.3", + "port-version": 1 + }, + { + "git-tree": "bdbc69bff861cdbd2dad8178d022b10d4f6abfe2", + "version": "6.2.3", + "port-version": 0 + }, + { + "git-tree": "cf3fdd99f01775fe030233d5526e5e3069e3e813", + "version-semver": "6.2.2", + "port-version": 0 + } + ] +} diff --git a/versions/q-/qtkeychain-qt6.json b/versions/q-/qtkeychain-qt6.json index b0ba63b9ffadce..3390f493227256 100644 --- a/versions/q-/qtkeychain-qt6.json +++ b/versions/q-/qtkeychain-qt6.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "0f1eccb793a59b60f7fea5541a3aea7461a85233", + "version": "0.14.3", + "port-version": 0 + }, + { + "git-tree": "43422edc152951a565a24a097c3c52a1b1ac1e4f", + "version": "0.14.1", + "port-version": 1 + }, + { + "git-tree": "dcb9fb0fa722410c03a4d6fbfdb3608af68de9d5", + "version": "0.14.1", + "port-version": 0 + }, + { + "git-tree": "3733fba48696a40e64b18c2d52d4adc04e6eb22d", + "version": "0.13.2", + "port-version": 1 + }, + { + "git-tree": "b3df36df3c274f528e53cd1f8366811231b15151", + "version": "0.13.2", + "port-version": 0 + }, { "git-tree": "29acc8309b4310f9b05f7c11cd81b0fd06dcbfff", "version": "0.13.1", diff --git a/versions/q-/qtkeychain.json b/versions/q-/qtkeychain.json index 9f813064c00f10..5f5e4a884ccf74 100644 --- a/versions/q-/qtkeychain.json +++ b/versions/q-/qtkeychain.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "4ae7e39857c4652e28924bae5146cd5362936c2f", + "version": "0.14.3", + "port-version": 0 + }, + { + "git-tree": "a1cf630fddc142e2a81d7f198eb8c93b40c64a34", + "version": "0.14.1", + "port-version": 0 + }, + { + "git-tree": "516e24d31a7d28d7b5df372f99cf2780a3a7edbc", + "version": "0.13.2", + "port-version": 4 + }, + { + "git-tree": "eda48d2b83676b8209a40d68b286c570aeed785e", + "version": "0.13.2", + "port-version": 3 + }, + { + "git-tree": "6311d9dd13b97c8a01a980d7b42ea6cfecc4f765", + "version": "0.13.2", + "port-version": 2 + }, + { + "git-tree": "ef01f1d6401814e50c0438d3a8a7770568ac93ca", + "version": "0.13.2", + "port-version": 1 + }, + { + "git-tree": "2dda8930cc8e73b1741effda2750a980c0209e24", + "version": "0.13.2", + "port-version": 0 + }, { "git-tree": "ff34038b321dbfe954208b0ec4844c1066dde839", "version": "0.13.1", diff --git a/versions/q-/qtlanguageserver.json b/versions/q-/qtlanguageserver.json new file mode 100644 index 00000000000000..ea858643ab186e --- /dev/null +++ b/versions/q-/qtlanguageserver.json @@ -0,0 +1,74 @@ +{ + "versions": [ + { + "git-tree": "85bbd18f495ebf6b13d44266540b10a3a5e61191", + "version": "6.7.3", + "port-version": 0 + }, + { + "git-tree": "73d80827ea2556ac83097f97ace0d10a35281ca8", + "version": "6.7.2", + "port-version": 0 + }, + { + "git-tree": "17d1b16b89411e4cc8bbe5b5fe9fdfc12b9fd2e6", + "version": "6.7.1", + "port-version": 0 + }, + { + "git-tree": "005e513608d94c53c277371e5603573ad5ac761f", + "version": "6.7.0", + "port-version": 0 + }, + { + "git-tree": "481338250ac514847b73d501c1f6976f063909ba", + "version": "6.6.3", + "port-version": 0 + }, + { + "git-tree": "48a26193906717732192fe55d75108fab2bd05f7", + "version": "6.6.1", + "port-version": 1 + }, + { + "git-tree": "6f636ad4c9bb289cd9ea0eaa1e876a7189670736", + "version": "6.6.1", + "port-version": 0 + }, + { + "git-tree": "c8ae2fe1a207df127db279e437784cf63a1a2b7d", + "version": "6.6.0", + "port-version": 0 + }, + { + "git-tree": "83bd9154b17ba720fb96ffa099ab841809f676ec", + "version": "6.5.3", + "port-version": 0 + }, + { + "git-tree": "fea12c05097db9136b8963271b4a5a5acbe70cb7", + "version": "6.5.2", + "port-version": 0 + }, + { + "git-tree": "e7f571ef4fa6f184badc8c18c602f8c16e6a6241", + "version": "6.5.1", + "port-version": 0 + }, + { + "git-tree": "248be805b9a3c9d95efa723392d374a9c94a5c27", + "version": "6.5.0", + "port-version": 0 + }, + { + "git-tree": "9e626f373f4ca8f18e9bde990f75c34aef89baa2", + "version": "6.4.3", + "port-version": 0 + }, + { + "git-tree": "98025e3c37e3ee43a0955ba33b3724e9658c9282", + "version": "6.4.2", + "port-version": 0 + } + ] +} diff --git a/versions/q-/qtlocation.json b/versions/q-/qtlocation.json index d47c7da968359c..9682e1889ed7c1 100644 --- a/versions/q-/qtlocation.json +++ b/versions/q-/qtlocation.json @@ -1,5 +1,110 @@ { "versions": [ + { + "git-tree": "5d0adef11df081a56c96ac86940b5a823c132a2c", + "version": "6.7.3", + "port-version": 0 + }, + { + "git-tree": "69a23d56d9a5d9867d40cf40c90c84e34e3765b4", + "version": "6.7.2", + "port-version": 0 + }, + { + "git-tree": "7a38259970ec67d03888e47a557c8e7520128401", + "version": "6.7.1", + "port-version": 0 + }, + { + "git-tree": "e6a04402f28300dd168bcbe060c36ee9f8c3b809", + "version": "6.7.0", + "port-version": 0 + }, + { + "git-tree": "c4e965f1a56f4eda3aa70bf6aeef009bec3d58bf", + "version": "6.6.3", + "port-version": 0 + }, + { + "git-tree": "75ec4c5f6560016efb9a889f0de1b94c3c64ac56", + "version": "6.6.1", + "port-version": 1 + }, + { + "git-tree": "b7cf327c103531729a525c4260e10f49ee99cbb6", + "version": "6.6.1", + "port-version": 0 + }, + { + "git-tree": "f58c7ebb91f69f42a31504da406ece6d5d120593", + "version": "6.6.0", + "port-version": 0 + }, + { + "git-tree": "a84cfd1e4542f3a6f61d7b9f21090bc15c2e3ee5", + "version": "6.5.3", + "port-version": 0 + }, + { + "git-tree": "188fe7e059ff53af461d6ed7c84417e8fe3ce464", + "version": "6.5.2", + "port-version": 0 + }, + { + "git-tree": "6e02cff0ad1cc428f9cb4b1a3913c2a8e94b5269", + "version": "6.5.1", + "port-version": 0 + }, + { + "git-tree": "d015b0691674d099f1a1ab1c6b812a914f3bad80", + "version": "6.5.0", + "port-version": 0 + }, + { + "git-tree": "9ff1609af9be7a187f0edcc495b0d646dc36a976", + "version": "6.4.3", + "port-version": 0 + }, + { + "git-tree": "7abb4bc072affe6236f2959050766379f973072a", + "version": "6.4.2", + "port-version": 0 + }, + { + "git-tree": "b55744435ad2688c3105a0f077714fc8f722e725", + "version": "6.4.1", + "port-version": 0 + }, + { + "git-tree": "863fd0c60bfecb0cfcdd2dfc099caf429f8821a6", + "version": "6.4.0", + "port-version": 0 + }, + { + "git-tree": "66543e50c8d248760af29f9d0389b317718cf77d", + "version": "6.3.2", + "port-version": 0 + }, + { + "git-tree": "a05ac67b49b7e904ecfbe1f717de1d958f534732", + "version": "6.3.0", + "port-version": 0 + }, + { + "git-tree": "ef7c3db0a80c38d01ff341d090a291f4f1a098aa", + "version": "6.2.4", + "port-version": 0 + }, + { + "git-tree": "589d851aebfb0c2dd786a5b0a8d7c33e56083223", + "version": "6.2.3", + "port-version": 0 + }, + { + "git-tree": "d931a7ce122989a7d7740e0c196e736fa8caa3c3", + "version-semver": "6.2.2", + "port-version": 0 + }, { "git-tree": "7aeba7169d9ebb502e2fb276d36eaf0b562cefd7", "version-semver": "6.2.1", diff --git a/versions/q-/qtlottie.json b/versions/q-/qtlottie.json index 3cfd7661848c4a..0618b5d3ab5fad 100644 --- a/versions/q-/qtlottie.json +++ b/versions/q-/qtlottie.json @@ -1,5 +1,110 @@ { "versions": [ + { + "git-tree": "f9f2943f619885d7ad200c1c767ac1c1f85bd2d9", + "version": "6.7.3", + "port-version": 0 + }, + { + "git-tree": "aa5bd384d904eef4cde25ccb756e0653216eb575", + "version": "6.7.2", + "port-version": 0 + }, + { + "git-tree": "d2c02291b41debbe2b15016c7fea7047660cdb5c", + "version": "6.7.1", + "port-version": 0 + }, + { + "git-tree": "d7fae04dfb5b4dbd6515059e5cb4d3c49e68ce03", + "version": "6.7.0", + "port-version": 0 + }, + { + "git-tree": "55406afa21292d11c495e44b498f44b8a11752f4", + "version": "6.6.3", + "port-version": 0 + }, + { + "git-tree": "d71d7d1f4430a6830526ff437908abac994479aa", + "version": "6.6.1", + "port-version": 0 + }, + { + "git-tree": "0c6ada64395147597928ad9d5af7e4fd5e7b4f0e", + "version": "6.6.0", + "port-version": 0 + }, + { + "git-tree": "3ac387660fd91aebf9fdbeb678d45fb7fc7fb68f", + "version": "6.5.3", + "port-version": 0 + }, + { + "git-tree": "f23d066ab0193faaa9310eb9c153be241eff7d15", + "version": "6.5.2", + "port-version": 0 + }, + { + "git-tree": "6520cf06147823c43100bdb90f5028c362f32241", + "version": "6.5.1", + "port-version": 0 + }, + { + "git-tree": "5c8d01536a9c595ddc58327caac428c86ffe2262", + "version": "6.5.0", + "port-version": 0 + }, + { + "git-tree": "d8887bee44785f3c285c103d31d6c1436908ea8f", + "version": "6.4.3", + "port-version": 0 + }, + { + "git-tree": "8f1212b697e2ce03b92412acc766ec37a76c6a0d", + "version": "6.4.2", + "port-version": 0 + }, + { + "git-tree": "90130f5117d0eb5b40606ff3431ef25339193848", + "version": "6.4.1", + "port-version": 0 + }, + { + "git-tree": "58709735d7c6b84bc3904587f2f6b3be65749918", + "version": "6.4.0", + "port-version": 0 + }, + { + "git-tree": "c4cec2002c75d7f5ccee8a209145070ec41d4683", + "version": "6.3.2", + "port-version": 0 + }, + { + "git-tree": "b817b1b9d2907f2eff4b3720adaf5e57d3ba58d8", + "version": "6.3.1", + "port-version": 0 + }, + { + "git-tree": "ea1df3762dec91c8fb7709297007be459484e89c", + "version": "6.3.0", + "port-version": 0 + }, + { + "git-tree": "57035eea5acd484e3a6a51f5da16046283c58f50", + "version": "6.2.4", + "port-version": 0 + }, + { + "git-tree": "ab8ffeb4492e7cabd51fa8c5ead514e4764f67e5", + "version": "6.2.3", + "port-version": 0 + }, + { + "git-tree": "1f23eead56f7491312b8b16fe1729aa1e808598d", + "version-semver": "6.2.2", + "port-version": 0 + }, { "git-tree": "73dbf3d8520fa5aba164701b37217ec55dbfc16d", "version-semver": "6.2.1", diff --git a/versions/q-/qtmqtt.json b/versions/q-/qtmqtt.json index 2d5529578339b1..fff74beb0dbf79 100644 --- a/versions/q-/qtmqtt.json +++ b/versions/q-/qtmqtt.json @@ -1,5 +1,115 @@ { "versions": [ + { + "git-tree": "55107562f80a875e4c75dc6f997d49332bbffca6", + "version": "6.7.3", + "port-version": 0 + }, + { + "git-tree": "2e1e79eb825a6a78d3e8bd3bd4df11533737c77b", + "version": "6.7.2", + "port-version": 0 + }, + { + "git-tree": "6d196f7a051a605553dcf698104ed4b5439caa04", + "version": "6.7.1", + "port-version": 0 + }, + { + "git-tree": "2da6398d1756c14c3469d088434168a2117a99d4", + "version": "6.7.0", + "port-version": 0 + }, + { + "git-tree": "7b93336243e5c877a78d038bfb3abc78442f1937", + "version": "6.6.3", + "port-version": 0 + }, + { + "git-tree": "e9443cb1765eedb89f4b857e8ff2ecd46b66b524", + "version": "6.6.1", + "port-version": 1 + }, + { + "git-tree": "c2551a8b3a525cabea535ca067c247df902082fb", + "version": "6.6.1", + "port-version": 0 + }, + { + "git-tree": "7cb4cc198bfe6cec44ec059a9f2f516032edee04", + "version": "6.6.0", + "port-version": 0 + }, + { + "git-tree": "400ebbcd072b0b19822683e9060078196e7fafc6", + "version": "6.5.3", + "port-version": 0 + }, + { + "git-tree": "db62f07a65602a4590c626e7e85f97c37167c873", + "version": "6.5.2", + "port-version": 0 + }, + { + "git-tree": "571de902d0fb9afca17431fa67b9538e9d044435", + "version": "6.5.1", + "port-version": 0 + }, + { + "git-tree": "3129ca4a0ba4f6e94550a56d32228560cb3483f9", + "version": "6.5.0", + "port-version": 0 + }, + { + "git-tree": "67ca11347716f0408dd58bec49c52b8bc3c04da5", + "version": "6.4.3", + "port-version": 0 + }, + { + "git-tree": "e0f2d54199700db89798c07044253bed49bdf4ba", + "version": "6.4.2", + "port-version": 0 + }, + { + "git-tree": "379591328f3b3203abc90b7450a21daa8fcae676", + "version": "6.4.1", + "port-version": 0 + }, + { + "git-tree": "91e11dc38cd0f3af2a32f5a98403d8087e9a36a2", + "version": "6.4.0", + "port-version": 0 + }, + { + "git-tree": "32ec622f0241df9bb4fd5aaf31525fb3a1046167", + "version": "6.3.2", + "port-version": 0 + }, + { + "git-tree": "dac98dff234119fbebcd0ad9fa5aba66f331fa67", + "version": "6.3.1", + "port-version": 0 + }, + { + "git-tree": "0f29ef7a81aacf9d33e6741138f80be59f69a8a2", + "version": "6.3.0", + "port-version": 0 + }, + { + "git-tree": "0b09100a4e32240e79258ab69386b77370d916a0", + "version": "6.2.4", + "port-version": 0 + }, + { + "git-tree": "adfab6c76e26f420db304e6d131cab246da43200", + "version": "6.2.3", + "port-version": 0 + }, + { + "git-tree": "ab25c644271573b1106cea249b17740ff645a0dd", + "version-semver": "6.2.2", + "port-version": 0 + }, { "git-tree": "07e0bf2df2183ec6fb51a6f8d11a1ec3fb27a499", "version-semver": "6.2.1", diff --git a/versions/q-/qtmultimedia.json b/versions/q-/qtmultimedia.json index 1b1b88ae1bb1c6..5d4e90859305cb 100644 --- a/versions/q-/qtmultimedia.json +++ b/versions/q-/qtmultimedia.json @@ -1,5 +1,145 @@ { "versions": [ + { + "git-tree": "e256113a21a24c0ecc111662db61d269fb68eb2d", + "version": "6.7.3", + "port-version": 0 + }, + { + "git-tree": "cdadc2f448299fc3e1ff0090a95aa668483ab020", + "version": "6.7.2", + "port-version": 0 + }, + { + "git-tree": "52ed8d4506767d8ca4402a1daaef021dc67d1195", + "version": "6.7.1", + "port-version": 1 + }, + { + "git-tree": "7268d95b3fa8a7c65f2bb4bd2e3b9b4ba865d00b", + "version": "6.7.1", + "port-version": 0 + }, + { + "git-tree": "36765211a0ab3857e4d483a72a0d8a19027286cf", + "version": "6.7.0", + "port-version": 0 + }, + { + "git-tree": "ea0cf05f959059e2b7a88758b8c45a532b640816", + "version": "6.6.3", + "port-version": 0 + }, + { + "git-tree": "8d5afb73f54a208a59182700309c9fbe8078f22d", + "version": "6.6.1", + "port-version": 2 + }, + { + "git-tree": "52e73bfd242a271f6147df96f811412a325e2bb7", + "version": "6.6.1", + "port-version": 1 + }, + { + "git-tree": "04543c19ec8a0f02404b1d58fc84396c3ff50357", + "version": "6.6.1", + "port-version": 0 + }, + { + "git-tree": "d9c5671dd094e509c890955ee1f267b160bffa2c", + "version": "6.6.0", + "port-version": 0 + }, + { + "git-tree": "620531e56bfde6f0c2f158222e6d3fe174e94e7d", + "version": "6.5.3", + "port-version": 0 + }, + { + "git-tree": "40dc02a348397ddcb72826b43ac92f904f792003", + "version": "6.5.2", + "port-version": 0 + }, + { + "git-tree": "d52c87cf46872d7383c2ce8e1ea8fc733278d801", + "version": "6.5.1", + "port-version": 0 + }, + { + "git-tree": "a10258ebedf8a3f71b8d761b58933e40bf70fac3", + "version": "6.5.0", + "port-version": 0 + }, + { + "git-tree": "833b2e1397868c7a5ba8f195dca85ac73ddd93bc", + "version": "6.4.3", + "port-version": 1 + }, + { + "git-tree": "2a9eedae47a3b44c519f165c7fbceec2f1deb331", + "version": "6.4.3", + "port-version": 0 + }, + { + "git-tree": "055aaf5872a295beef0f4180d6d6c8494921676e", + "version": "6.4.2", + "port-version": 0 + }, + { + "git-tree": "def667261d0e10e6eca9012704aacdda625d347c", + "version": "6.4.1", + "port-version": 1 + }, + { + "git-tree": "b88d33b83055caf50301918b6ebcbe2e7f3d9bb4", + "version": "6.4.1", + "port-version": 0 + }, + { + "git-tree": "2a4ea2c483963a30577be41058658dc9226cc51b", + "version": "6.4.0", + "port-version": 0 + }, + { + "git-tree": "953f717e1c02b90674da0910b204ce4f556a8673", + "version": "6.3.2", + "port-version": 1 + }, + { + "git-tree": "f538a967236f91129b70c8cf335746242e0cacbd", + "version": "6.3.2", + "port-version": 0 + }, + { + "git-tree": "e820875b5bc53163ca6af245c6874ce366dac52a", + "version": "6.3.1", + "port-version": 1 + }, + { + "git-tree": "aa389d9b2b938058dda0c787072eb791a7c6032e", + "version": "6.3.1", + "port-version": 0 + }, + { + "git-tree": "21bab604cd34ebe659fdc7b12249d1e69359d939", + "version": "6.3.0", + "port-version": 0 + }, + { + "git-tree": "d0e46329a8e66cf3f95eca5d4018c955a8b54a15", + "version": "6.2.4", + "port-version": 0 + }, + { + "git-tree": "3a6cdbf95fd19f196f2e0d7c9ed149e621690a7a", + "version": "6.2.3", + "port-version": 0 + }, + { + "git-tree": "ddf67ffb4169c0c1d2a8e3b0cc317101fd2dfd95", + "version-semver": "6.2.2", + "port-version": 0 + }, { "git-tree": "e5a5554e1e9e997f82d4a90933b6a2edd2d0a2b0", "version-semver": "6.2.1", diff --git a/versions/q-/qtnetworkauth.json b/versions/q-/qtnetworkauth.json index 1597acf14c2556..8e3cf1f8ada57c 100644 --- a/versions/q-/qtnetworkauth.json +++ b/versions/q-/qtnetworkauth.json @@ -1,5 +1,120 @@ { "versions": [ + { + "git-tree": "7fbbd215393f3b1397cfcce06ff3b8e1c97ea612", + "version": "6.7.3", + "port-version": 0 + }, + { + "git-tree": "21d2a50f4fb98b655287c4f765e18ce9297fea7b", + "version": "6.7.2", + "port-version": 0 + }, + { + "git-tree": "ac048039490c21c4e2ece5dd99a614fb5c41a04e", + "version": "6.7.1", + "port-version": 0 + }, + { + "git-tree": "1dd3e35ef8221a6e7fa7bafeab299e5fe70beed0", + "version": "6.7.0", + "port-version": 1 + }, + { + "git-tree": "d236629382d95c0e6916d99d736676624b7590fa", + "version": "6.7.0", + "port-version": 0 + }, + { + "git-tree": "ab5674a39287b919b82d8170d2eda61eb57b7258", + "version": "6.6.3", + "port-version": 0 + }, + { + "git-tree": "348245444fca45b4bc4f7682c5ff0fd158bbdde7", + "version": "6.6.1", + "port-version": 1 + }, + { + "git-tree": "89ef84d21ebae8cf3d9270e70ec6cc31ce053df7", + "version": "6.6.1", + "port-version": 0 + }, + { + "git-tree": "ca177a05c921704e599d85961e52d6ee25d6b862", + "version": "6.6.0", + "port-version": 0 + }, + { + "git-tree": "843c419d80c9d87f46e8b9233ce9d4b8813ec173", + "version": "6.5.3", + "port-version": 0 + }, + { + "git-tree": "4c19109158d36523cce9666a8aecde0339bdb50c", + "version": "6.5.2", + "port-version": 0 + }, + { + "git-tree": "fd5935ec38e0763e16b5114b3cfd11a8637356e6", + "version": "6.5.1", + "port-version": 0 + }, + { + "git-tree": "767609a9d9713dae6a4c0fd2696a1ec994e28e21", + "version": "6.5.0", + "port-version": 0 + }, + { + "git-tree": "e521ca0bc29e9c96290d6765997d4c7df3712599", + "version": "6.4.3", + "port-version": 0 + }, + { + "git-tree": "80442ef41751687d8327a68cccdd4c53dc1eab90", + "version": "6.4.2", + "port-version": 0 + }, + { + "git-tree": "9750f9d6ace09c564b79ebdcfa731de5ef93b466", + "version": "6.4.1", + "port-version": 0 + }, + { + "git-tree": "01650c3adb46bd155bcf35fdbbc08d7300f189fc", + "version": "6.4.0", + "port-version": 0 + }, + { + "git-tree": "dfe2f0d819c3e2f405710056f692d2a72675a26a", + "version": "6.3.2", + "port-version": 0 + }, + { + "git-tree": "73fb3aef5bcda38a39d0e75b6a64193beea261ce", + "version": "6.3.1", + "port-version": 0 + }, + { + "git-tree": "2449ff55a2b817d0f651aa00b2cadc914c0b68ae", + "version": "6.3.0", + "port-version": 0 + }, + { + "git-tree": "edc058f97084276593fa00ebc1ad1dbf865abb57", + "version": "6.2.4", + "port-version": 0 + }, + { + "git-tree": "205649afe146022c19e1246083c83c4ca1573959", + "version": "6.2.3", + "port-version": 0 + }, + { + "git-tree": "e6a02544f81615f1628e9f75af57af10697d51b0", + "version-semver": "6.2.2", + "port-version": 0 + }, { "git-tree": "5aa75624c0e5b7b13380a7c7b6f0a8cc4deec8d8", "version-semver": "6.2.1", diff --git a/versions/q-/qtopcua.json b/versions/q-/qtopcua.json index bfd34c00c5bdd3..26e2b86bb943dd 100644 --- a/versions/q-/qtopcua.json +++ b/versions/q-/qtopcua.json @@ -1,5 +1,135 @@ { "versions": [ + { + "git-tree": "597234b6c4bd8abb03cfea7dba75ce399d6fa46d", + "version": "6.7.3", + "port-version": 0 + }, + { + "git-tree": "95c2b294cbd1eda1934a0be37e2f0467104bcea2", + "version": "6.7.2", + "port-version": 0 + }, + { + "git-tree": "f50a183e457b562945655d02e49798351d6d1b71", + "version": "6.7.1", + "port-version": 0 + }, + { + "git-tree": "6ccc54814fa0de5f91425e29f2258c96e42e48cb", + "version": "6.7.0", + "port-version": 0 + }, + { + "git-tree": "40a769271c4ab9a812546083a73bfc752361474e", + "version": "6.6.3", + "port-version": 0 + }, + { + "git-tree": "c54446992c9eaa1ba5d8ddfa6c825fdf96664119", + "version": "6.6.1", + "port-version": 2 + }, + { + "git-tree": "158f8110a6d3d504c64bf24e2ec68552b8e34097", + "version": "6.6.1", + "port-version": 1 + }, + { + "git-tree": "bbd569723a9e84b190ba938c4f040d0cc83af21d", + "version": "6.6.1", + "port-version": 0 + }, + { + "git-tree": "8ce50eb99dc427d5b17a01f839f70a3cc2d0cfea", + "version": "6.6.0", + "port-version": 0 + }, + { + "git-tree": "87ddfbf3e66eebc33fb874c57a8a98644546f9c4", + "version": "6.5.3", + "port-version": 0 + }, + { + "git-tree": "9b9a0c669614dfa4a16bfb33f8e0179f88ad267e", + "version": "6.5.2", + "port-version": 0 + }, + { + "git-tree": "efd0da43f5e4b4f2b82e450c4221447a911ceec5", + "version": "6.5.1", + "port-version": 0 + }, + { + "git-tree": "efe3fbd8d37c121fbb7758de82fac9bd4b315a77", + "version": "6.5.0", + "port-version": 1 + }, + { + "git-tree": "4e08f45ca76dba44e3de1c48d6210e1d987f44b3", + "version": "6.5.0", + "port-version": 0 + }, + { + "git-tree": "4c9519c0e8f61a9f9cddd4711fb8d8a6139baef9", + "version": "6.4.3", + "port-version": 2 + }, + { + "git-tree": "9adaecfcef9783e8df0e92acbd817a4051b11ffb", + "version": "6.4.3", + "port-version": 1 + }, + { + "git-tree": "2271b5bd852c0d9afdcee54b6f335667e7883501", + "version": "6.4.3", + "port-version": 0 + }, + { + "git-tree": "5bf4984bf91f5031a6e7abc80a028f1b9f8e8b23", + "version": "6.4.2", + "port-version": 0 + }, + { + "git-tree": "0f1959dc66f9912678efa248ea6d9387482e4a85", + "version": "6.4.1", + "port-version": 0 + }, + { + "git-tree": "067c20b6e43964f296253504d1aa044b7ccf570a", + "version": "6.4.0", + "port-version": 0 + }, + { + "git-tree": "83f22dc97ea1097dc2aab93b0b468de4cd5927a4", + "version": "6.3.2", + "port-version": 0 + }, + { + "git-tree": "fb153569181c4723a0c2c2811e1d9e74e13c75e1", + "version": "6.3.1", + "port-version": 0 + }, + { + "git-tree": "8083780556aa4e951599cc798aa4a64a3ccf7341", + "version": "6.3.0", + "port-version": 0 + }, + { + "git-tree": "7a9e72b88e14594db1752854941cb95174565be6", + "version": "6.2.4", + "port-version": 0 + }, + { + "git-tree": "3fef74b1cf459126f776aa964fa6900e7be903fb", + "version": "6.2.3", + "port-version": 0 + }, + { + "git-tree": "45d2bb4f558ea5cd5d321d92bd9d361cb53acb49", + "version-semver": "6.2.2", + "port-version": 0 + }, { "git-tree": "e9e3856e0b345b9b27921eadc6d45115fe70fa26", "version-semver": "6.2.1", diff --git a/versions/q-/qtpositioning.json b/versions/q-/qtpositioning.json new file mode 100644 index 00000000000000..4d38be1501b3a4 --- /dev/null +++ b/versions/q-/qtpositioning.json @@ -0,0 +1,129 @@ +{ + "versions": [ + { + "git-tree": "5acab4269350dd335cfce1669c9fb9f91a69f9aa", + "version": "6.7.3", + "port-version": 0 + }, + { + "git-tree": "ecdd2d81fbe908687b70d280f42632ad013fcabb", + "version": "6.7.2", + "port-version": 0 + }, + { + "git-tree": "7320c997354ab5bdaa233c7fd1afeb7e957a0d06", + "version": "6.7.1", + "port-version": 0 + }, + { + "git-tree": "51005f6846a15b618957bd166832cbb7136ea966", + "version": "6.7.0", + "port-version": 0 + }, + { + "git-tree": "bab54dd1f7a3a62a3301c014fdb429f2a74ca962", + "version": "6.6.3", + "port-version": 0 + }, + { + "git-tree": "39f7f1e1b515138796da0d1a653cb3aff5b999b7", + "version": "6.6.1", + "port-version": 3 + }, + { + "git-tree": "40a0c9a9db2b270e73edaae7f96073f764ad2078", + "version": "6.6.1", + "port-version": 2 + }, + { + "git-tree": "61988bd841be21af4ae3bf2748ac8f6ec071e56c", + "version": "6.6.1", + "port-version": 1 + }, + { + "git-tree": "8c0c21c983c3f010540a7b11c3896af2388a0531", + "version": "6.6.1", + "port-version": 0 + }, + { + "git-tree": "80617e2f8e7186192365523150d3169d9b5a9061", + "version": "6.6.0", + "port-version": 0 + }, + { + "git-tree": "59b3203201b5711114749a093647e1deb8f433d3", + "version": "6.5.3", + "port-version": 0 + }, + { + "git-tree": "2b677b0d3285e9f762ecf7f5c04a139b9bc8b207", + "version": "6.5.2", + "port-version": 0 + }, + { + "git-tree": "584655742d0c13b02e93e6ee399db6b815240ae9", + "version": "6.5.1", + "port-version": 0 + }, + { + "git-tree": "440f18e3ab2e18be1de9550ed16ddb7164c5b826", + "version": "6.5.0", + "port-version": 1 + }, + { + "git-tree": "0da142e2b032f345e88aed41ef444684523be056", + "version": "6.5.0", + "port-version": 0 + }, + { + "git-tree": "e6e37d5325bba76a2c912dcc537c36f5214e45d7", + "version": "6.4.3", + "port-version": 0 + }, + { + "git-tree": "9e19c5053bdc357a4c238112ba0198ee07a47ab8", + "version": "6.4.2", + "port-version": 0 + }, + { + "git-tree": "13d31e89586e0084e08bd5a402e129e930a2200b", + "version": "6.4.1", + "port-version": 0 + }, + { + "git-tree": "3d6b0362e3f037c3496991a4372d65d82476ec50", + "version": "6.4.0", + "port-version": 0 + }, + { + "git-tree": "917a949915180a1c09998f917a44a3026f721889", + "version": "6.3.2", + "port-version": 0 + }, + { + "git-tree": "05f02aa08ead77446d353e181062fd78b2253b7b", + "version": "6.3.1", + "port-version": 0 + }, + { + "git-tree": "47fd199ee3c949ade116a3c070f2aaaedd2aa91f", + "version": "6.3.0", + "port-version": 0 + }, + { + "git-tree": "26bbae5f5512a6ca58eada26e54c94666174ec71", + "version": "6.2.4", + "port-version": 0 + }, + { + "git-tree": "1c16604affb63067fcad166931565e516250434f", + "version": "6.2.3", + "port-version": 0 + }, + { + "git-tree": "9e9bfb4dd17aa86cfcd5c80f0725c585ec140670", + "version-semver": "6.2.2", + "port-version": 0 + } + ] +} diff --git a/versions/q-/qtquick3d.json b/versions/q-/qtquick3d.json index 37d7349628d563..02919ebfb44bb6 100644 --- a/versions/q-/qtquick3d.json +++ b/versions/q-/qtquick3d.json @@ -1,5 +1,125 @@ { "versions": [ + { + "git-tree": "235b463bfefa385dda2507b81246c9912b8b20a2", + "version": "6.7.3", + "port-version": 0 + }, + { + "git-tree": "47f36ed7cebffe308ad8d6fa4d599d36891dde48", + "version": "6.7.2", + "port-version": 0 + }, + { + "git-tree": "3cc3f4961e2861b2000e028d47427401ad09f7e9", + "version": "6.7.1", + "port-version": 0 + }, + { + "git-tree": "147c5f1ed97c1e49e4613896c87cbaa46ee072dd", + "version": "6.7.0", + "port-version": 0 + }, + { + "git-tree": "d632771b2f8dba669e9387e000ac6f04b6c48ba6", + "version": "6.6.3", + "port-version": 0 + }, + { + "git-tree": "1ed7f8cc1d148f88c13248aafa35a41c3ee47b75", + "version": "6.6.1", + "port-version": 1 + }, + { + "git-tree": "1fa6e34d1ad27b721739dd6c25b6bc7af7280ba4", + "version": "6.6.1", + "port-version": 0 + }, + { + "git-tree": "c54c8417690bd1ebe375cd71a48388c6bf1d5782", + "version": "6.6.0", + "port-version": 0 + }, + { + "git-tree": "b91395b12a8c64d6622a18a54c1f92203c70d591", + "version": "6.5.3", + "port-version": 0 + }, + { + "git-tree": "60c7d74e37ffb1ecb1ec573e139995b2ad499bed", + "version": "6.5.2", + "port-version": 0 + }, + { + "git-tree": "fbcfad3bdbfc6ce6b91af6022fc4356cb9d7d121", + "version": "6.5.1", + "port-version": 0 + }, + { + "git-tree": "ab3f7bbf20de8d370d5ac8711f2190d96db87f7e", + "version": "6.5.0", + "port-version": 0 + }, + { + "git-tree": "a927a30de733a8bb6f1149dd4a5a37aeeca8f521", + "version": "6.4.3", + "port-version": 1 + }, + { + "git-tree": "4fcbc24a4f09f2e43f69d771ed87ac6cc187a629", + "version": "6.4.3", + "port-version": 0 + }, + { + "git-tree": "df597e1d1ad6d4d0790dc3518c467d2da4a1b8aa", + "version": "6.4.2", + "port-version": 0 + }, + { + "git-tree": "a07f05595ee7712824761da2ae766ce9f6d16453", + "version": "6.4.1", + "port-version": 0 + }, + { + "git-tree": "929becc24f15df87b5e541f0101952697721a4de", + "version": "6.4.0", + "port-version": 0 + }, + { + "git-tree": "250c2b1d8bb5d0dbecc4ecceb6269f2c50a6b0f5", + "version": "6.3.2", + "port-version": 0 + }, + { + "git-tree": "cd80e49b7976333f599d55bd5b186b2605f17700", + "version": "6.3.1", + "port-version": 1 + }, + { + "git-tree": "c3b68a69ca91b7485ada2416293d0a9447d0ba95", + "version": "6.3.1", + "port-version": 0 + }, + { + "git-tree": "d5c67539ad28c84e99778aa173cda5950873a6ee", + "version": "6.3.0", + "port-version": 0 + }, + { + "git-tree": "0782a581d66c7895e5fe12eb225bbd63ff6d0799", + "version": "6.2.4", + "port-version": 0 + }, + { + "git-tree": "822ca9b71fbf3eb7ae119c25e87dc8e00f70b0a5", + "version": "6.2.3", + "port-version": 0 + }, + { + "git-tree": "81a5365f84b789b91715504392ce6e8b09b8702b", + "version-semver": "6.2.2", + "port-version": 0 + }, { "git-tree": "4431f13552a344e856d7c1486d1cd0b51649b372", "version-semver": "6.2.1", diff --git a/versions/q-/qtquick3dphysics.json b/versions/q-/qtquick3dphysics.json new file mode 100644 index 00000000000000..4c117421a30f20 --- /dev/null +++ b/versions/q-/qtquick3dphysics.json @@ -0,0 +1,84 @@ +{ + "versions": [ + { + "git-tree": "f744fd9dfb8b0884752a822f8392086099942d5e", + "version": "6.7.3", + "port-version": 0 + }, + { + "git-tree": "dc414b3310a007a3570245aeb370a914506b8478", + "version": "6.7.2", + "port-version": 0 + }, + { + "git-tree": "6b0ca3869c00ad06890614f6a2cb658ff6358140", + "version": "6.7.1", + "port-version": 0 + }, + { + "git-tree": "0dac3440b94cd294030abe5ed8bad54d3424e282", + "version": "6.7.0", + "port-version": 0 + }, + { + "git-tree": "4a72ed3f8b0f600afc2c30a5f0e94b03150a3ea5", + "version": "6.6.3", + "port-version": 0 + }, + { + "git-tree": "7d5b862d7570339bf38b27f2566d3180b14d6941", + "version": "6.6.1", + "port-version": 1 + }, + { + "git-tree": "975bb448a0623c02d5fd2334d5febe0dfa7603e3", + "version": "6.6.1", + "port-version": 0 + }, + { + "git-tree": "bcb4cf2b1a80ff497ce7fafc885882aac775a6de", + "version": "6.6.0", + "port-version": 0 + }, + { + "git-tree": "0cfacf9011d6a0ac51afade0fb3f560d8738c877", + "version": "6.5.3", + "port-version": 0 + }, + { + "git-tree": "95a602581be8db01b45f5d82ac888e8b53118bca", + "version": "6.5.2", + "port-version": 0 + }, + { + "git-tree": "8adad221bc2099c9d260511d3089c8ed2095e08d", + "version": "6.5.1", + "port-version": 0 + }, + { + "git-tree": "dc5e1726976f64617ee280062596560c791d4b38", + "version": "6.5.0", + "port-version": 0 + }, + { + "git-tree": "2fe5d74e187c7131e0b799d59a9bdf056a921396", + "version": "6.4.3", + "port-version": 0 + }, + { + "git-tree": "b4cb0223a1cc6a26e0bc0f662914c5eebcdea37f", + "version": "6.4.2", + "port-version": 0 + }, + { + "git-tree": "9bf4ae69ae9b6f43d74f507f4c02b8ef3cc3a187", + "version": "6.4.1", + "port-version": 0 + }, + { + "git-tree": "14fbb983e686e619664b6a402ee743a14ae92055", + "version": "6.4.0", + "port-version": 0 + } + ] +} diff --git a/versions/q-/qtquickcontrols2.json b/versions/q-/qtquickcontrols2.json index babcf6e316acdb..e457909c85ad4a 100644 --- a/versions/q-/qtquickcontrols2.json +++ b/versions/q-/qtquickcontrols2.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "ae7b20296147550e9f140a1ee26dbfc6a75cb0a1", + "version-string": "deprecated", + "port-version": 1 + }, + { + "git-tree": "8f018726e72742c98506b024d91adef2e4b95c6e", + "version-string": "deprecated", + "port-version": 0 + }, { "git-tree": "cc6552504db6a9b651a65d98fbeb232152b7a8fe", "version-semver": "6.2.0", diff --git a/versions/q-/qtquickeffectmaker.json b/versions/q-/qtquickeffectmaker.json new file mode 100644 index 00000000000000..7796002ec01cfb --- /dev/null +++ b/versions/q-/qtquickeffectmaker.json @@ -0,0 +1,64 @@ +{ + "versions": [ + { + "git-tree": "01b2aab63ffab405c7b84035182081e9edd9c69a", + "version": "6.7.3", + "port-version": 0 + }, + { + "git-tree": "77004c8d99a00f3ca5c2d4c7b3c02ba30fa4f302", + "version": "6.7.2", + "port-version": 0 + }, + { + "git-tree": "ebc974d216d602765aecc900ae2ed2feceede92f", + "version": "6.7.1", + "port-version": 0 + }, + { + "git-tree": "baf37c060ae3957c4341cf27cf89fce5f99770a2", + "version": "6.7.0", + "port-version": 0 + }, + { + "git-tree": "d9fe3a80ad4ed31bf0e40b10c243182d5dd1378d", + "version": "6.6.3", + "port-version": 0 + }, + { + "git-tree": "a46d4169bde5a8e080944b869213abea6e620439", + "version": "6.6.1", + "port-version": 1 + }, + { + "git-tree": "1862d1d3e018b1e69bf86a2f404e7f94a4ab5213", + "version": "6.6.1", + "port-version": 0 + }, + { + "git-tree": "4325f77bda6cdda94f1dea48423dbbff111c97ae", + "version": "6.6.0", + "port-version": 0 + }, + { + "git-tree": "a35495b91cd073de54bb5429d96c5e2f13bcef76", + "version": "6.5.3", + "port-version": 0 + }, + { + "git-tree": "ca186afca8453a7d146b627732c60522cc1c33e1", + "version": "6.5.2", + "port-version": 0 + }, + { + "git-tree": "b1281941d8283e90e488de0850976dc7c931f90b", + "version": "6.5.1", + "port-version": 0 + }, + { + "git-tree": "fafa1b506a25f0b343afc09ee5708e885ac56076", + "version": "6.5.0", + "port-version": 0 + } + ] +} diff --git a/versions/q-/qtquicktimeline.json b/versions/q-/qtquicktimeline.json index 6641925220d3b6..3e0b453d1f57f6 100644 --- a/versions/q-/qtquicktimeline.json +++ b/versions/q-/qtquicktimeline.json @@ -1,5 +1,115 @@ { "versions": [ + { + "git-tree": "7500afd29b4dd9de9b6aeec77b8da36fc265f846", + "version": "6.7.3", + "port-version": 0 + }, + { + "git-tree": "847a4c831686617ab249d76ba64454e2bba0fdb2", + "version": "6.7.2", + "port-version": 0 + }, + { + "git-tree": "e1ebbb8459382c1bc220fdf0fe26411c0a93675c", + "version": "6.7.1", + "port-version": 0 + }, + { + "git-tree": "71e2abff296b873154d58545db18f2a0de441a8f", + "version": "6.7.0", + "port-version": 0 + }, + { + "git-tree": "9f6b2ca815ddfd294d71477615935a4d59cb24af", + "version": "6.6.3", + "port-version": 0 + }, + { + "git-tree": "24944c4ccccfe09fa7d3041261c22066601282f4", + "version": "6.6.1", + "port-version": 1 + }, + { + "git-tree": "4efff9158d154e6277cbab103862ac4ba8d0ffb2", + "version": "6.6.1", + "port-version": 0 + }, + { + "git-tree": "8c089d10397f5bb8155b9e96fbbc1f7c1392b53f", + "version": "6.6.0", + "port-version": 0 + }, + { + "git-tree": "45b571612589ee8327ee557fb23ebe6196de724a", + "version": "6.5.3", + "port-version": 0 + }, + { + "git-tree": "af56a3ad90062d14975145eba080f6feb24ce572", + "version": "6.5.2", + "port-version": 0 + }, + { + "git-tree": "ee7485463ea5cecaf0588e3981f92f5383b5de23", + "version": "6.5.1", + "port-version": 0 + }, + { + "git-tree": "3f9caf40f1987be65ca3ce699cd176c4453bea14", + "version": "6.5.0", + "port-version": 0 + }, + { + "git-tree": "8272dedda604707ed4bdd252fb855ca828b41719", + "version": "6.4.3", + "port-version": 0 + }, + { + "git-tree": "1ba7a803bf015dc86bf94c55234d8b3b2e2c017f", + "version": "6.4.2", + "port-version": 0 + }, + { + "git-tree": "14b544c96d67a7b2edab631dfb83f9d33ddb558a", + "version": "6.4.1", + "port-version": 0 + }, + { + "git-tree": "99dd16135ecad104a55488f860101cf96c59aa23", + "version": "6.4.0", + "port-version": 0 + }, + { + "git-tree": "33432efb529b2a9452488d400e63bd15785a1382", + "version": "6.3.2", + "port-version": 0 + }, + { + "git-tree": "d92d8af81e01f106e680d66ad1d1a698f40c01d9", + "version": "6.3.1", + "port-version": 0 + }, + { + "git-tree": "28a8faa45cb13b376cd881be9494826bb9556009", + "version": "6.3.0", + "port-version": 0 + }, + { + "git-tree": "7797c7b3d33d915ba656bfc26717623fcd187109", + "version": "6.2.4", + "port-version": 0 + }, + { + "git-tree": "d213e9348a705383181332c7448c14b94235f89e", + "version": "6.2.3", + "port-version": 0 + }, + { + "git-tree": "43a873627defa053a83b64a73f4deb978a55cdcb", + "version-semver": "6.2.2", + "port-version": 0 + }, { "git-tree": "8721d7b3901d80a38f30a05a27a9f111356611b5", "version-semver": "6.2.1", diff --git a/versions/q-/qtremoteobjects.json b/versions/q-/qtremoteobjects.json index 693022765967aa..4e1280eb25ab55 100644 --- a/versions/q-/qtremoteobjects.json +++ b/versions/q-/qtremoteobjects.json @@ -1,5 +1,115 @@ { "versions": [ + { + "git-tree": "837930cc72e73703311f5893da09875578cf72ad", + "version": "6.7.3", + "port-version": 0 + }, + { + "git-tree": "7424108b2dee17d6ea938bec5d2b9f7c1abfee3d", + "version": "6.7.2", + "port-version": 0 + }, + { + "git-tree": "a906f001a57cb11fba74fc0fc924eafc961f6ee6", + "version": "6.7.1", + "port-version": 0 + }, + { + "git-tree": "57ccb94acf0107e957028aeee1050b58f0d4f590", + "version": "6.7.0", + "port-version": 0 + }, + { + "git-tree": "702763deba82ce4e079b30ab3d5b0114f24d73ee", + "version": "6.6.3", + "port-version": 0 + }, + { + "git-tree": "9315ff28f5558aeb5b7c4dbc07107df65c41c02b", + "version": "6.6.1", + "port-version": 1 + }, + { + "git-tree": "c76d00e0a4811d4854281c90e35c122470fc179d", + "version": "6.6.1", + "port-version": 0 + }, + { + "git-tree": "ad083b7bdf871b65fa3f68cda2823f51e8cfe797", + "version": "6.6.0", + "port-version": 0 + }, + { + "git-tree": "0326668fb829b020e66b53d8595e29fc2ac9d10d", + "version": "6.5.3", + "port-version": 0 + }, + { + "git-tree": "82a9a1e72cf8a0111510d408ce6422aee6fe622a", + "version": "6.5.2", + "port-version": 0 + }, + { + "git-tree": "31dc41d8cdd92f1338d68c02d92c6d82131d893c", + "version": "6.5.1", + "port-version": 0 + }, + { + "git-tree": "cce29bbf6dbad6125ffd59ca29bbc0fd8f9d1108", + "version": "6.5.0", + "port-version": 0 + }, + { + "git-tree": "bcb4cf681ccbf7b720b26eb93cf4d656a107652f", + "version": "6.4.3", + "port-version": 0 + }, + { + "git-tree": "b078787a02949290affc1df7178cadf7f6992b69", + "version": "6.4.2", + "port-version": 0 + }, + { + "git-tree": "b3551d26c20b84d15c88b8233311782e99354f89", + "version": "6.4.1", + "port-version": 0 + }, + { + "git-tree": "b6aab466bc31f3e17accfe4762165cb952281eb8", + "version": "6.4.0", + "port-version": 0 + }, + { + "git-tree": "8d720b92e53f722ebf9f0624f5c4ba8a8ba465cf", + "version": "6.3.2", + "port-version": 0 + }, + { + "git-tree": "f9ab5c76eacdd4f7352ff1be88c221335057c91a", + "version": "6.3.1", + "port-version": 0 + }, + { + "git-tree": "ce8e5b5c4570cf489ea6dd4e19c454e2e3ab54bb", + "version": "6.3.0", + "port-version": 0 + }, + { + "git-tree": "c9f576479ffa0be9262702030362c0b030b1497b", + "version": "6.2.4", + "port-version": 0 + }, + { + "git-tree": "a7a71c783e081189c9edb6a9e59707472863738f", + "version": "6.2.3", + "port-version": 0 + }, + { + "git-tree": "caa274f1cb2a4e59d44aa9a22f039c040cf8823d", + "version-semver": "6.2.2", + "port-version": 0 + }, { "git-tree": "68c5454488b9c71989413817c7be02e3f758b11d", "version-semver": "6.2.1", diff --git a/versions/q-/qtscxml.json b/versions/q-/qtscxml.json index d3d192acfb2a9b..07119bbdb5e9d4 100644 --- a/versions/q-/qtscxml.json +++ b/versions/q-/qtscxml.json @@ -1,5 +1,115 @@ { "versions": [ + { + "git-tree": "ed5ee3b4458ed9416d95c112028f2f4fcfe06175", + "version": "6.7.3", + "port-version": 0 + }, + { + "git-tree": "e7d9358ad773afcaf01afed8252624c6841a1495", + "version": "6.7.2", + "port-version": 0 + }, + { + "git-tree": "97cd823455654b2d6470785862adc00561423ac1", + "version": "6.7.1", + "port-version": 0 + }, + { + "git-tree": "02bc794d25e33f277c7593addc1523f216630491", + "version": "6.7.0", + "port-version": 0 + }, + { + "git-tree": "7dc2d939fb9a7b606646b4d8d17fee763be5e7dc", + "version": "6.6.3", + "port-version": 0 + }, + { + "git-tree": "cd5932be8eab58855045ed91779259b9723ab7fb", + "version": "6.6.1", + "port-version": 1 + }, + { + "git-tree": "02277a0edef829aa3f48719ea0fc080230eeb7d3", + "version": "6.6.1", + "port-version": 0 + }, + { + "git-tree": "25674eaa881bd361a4a333903f72a16656ee8ce6", + "version": "6.6.0", + "port-version": 0 + }, + { + "git-tree": "38f9e0bb70c3b510e0496dd9678ae8051b7086ef", + "version": "6.5.3", + "port-version": 0 + }, + { + "git-tree": "8d194a3a3cb4fea142a05be1674fed18ac2475d6", + "version": "6.5.2", + "port-version": 0 + }, + { + "git-tree": "aa85f82d720805365a3aee69c035d6a36f458852", + "version": "6.5.1", + "port-version": 0 + }, + { + "git-tree": "a900efa4d344d886cba9d538ecee24346957a76f", + "version": "6.5.0", + "port-version": 0 + }, + { + "git-tree": "60116e86139859df7acad954b48f839240e78272", + "version": "6.4.3", + "port-version": 0 + }, + { + "git-tree": "6558085bbbfcb3b8eae81e8f85ee4a0b1dbdafe4", + "version": "6.4.2", + "port-version": 0 + }, + { + "git-tree": "3a3e1d4d63edee4017abdb4c55b97ccb53b8db3c", + "version": "6.4.1", + "port-version": 0 + }, + { + "git-tree": "956489e37b3c31150cd96c42f91cdd5b691ed11c", + "version": "6.4.0", + "port-version": 0 + }, + { + "git-tree": "f694bf4523736b0a8871468d2f890c0170eadf0d", + "version": "6.3.2", + "port-version": 0 + }, + { + "git-tree": "dad48d019ccaba8f0a7579d903cd99c901c74fc5", + "version": "6.3.1", + "port-version": 0 + }, + { + "git-tree": "3b64cdc43d7e83cb693720f28c13408a39ad0afa", + "version": "6.3.0", + "port-version": 0 + }, + { + "git-tree": "82cfc4f68723b511524573f7492e44c0326378f7", + "version": "6.2.4", + "port-version": 0 + }, + { + "git-tree": "e7c00e022f07f448e2c6d2509bc6986f5b75d3b8", + "version": "6.2.3", + "port-version": 0 + }, + { + "git-tree": "011114ad3a3f710f7229eef99eb75cb0a061fbe1", + "version-semver": "6.2.2", + "port-version": 0 + }, { "git-tree": "f614e8155cd17d2720c1d8ad027b6655fbd5a744", "version-semver": "6.2.1", diff --git a/versions/q-/qtsensors.json b/versions/q-/qtsensors.json index 1976e9a50d83ad..ba10615af56549 100644 --- a/versions/q-/qtsensors.json +++ b/versions/q-/qtsensors.json @@ -1,5 +1,120 @@ { "versions": [ + { + "git-tree": "31a5292e1fe88d8c1d974f3632bf873cbe858bb4", + "version": "6.7.3", + "port-version": 0 + }, + { + "git-tree": "0fe4dfe56c75438cb1b385d63ab6ca197b7c1482", + "version": "6.7.2", + "port-version": 1 + }, + { + "git-tree": "1d1dbeb9ae710c360b48b8f0de16fc84fbe4279e", + "version": "6.7.2", + "port-version": 0 + }, + { + "git-tree": "e02be8a0b50a428d6cb5a5ee552518b3e434d504", + "version": "6.7.1", + "port-version": 0 + }, + { + "git-tree": "c5e35b91c7054b6432bd37137e4b2a05dba1ca13", + "version": "6.7.0", + "port-version": 0 + }, + { + "git-tree": "dc0bf9f0f3db4e86a81fc0cbf52deae4857796ef", + "version": "6.6.3", + "port-version": 0 + }, + { + "git-tree": "f2631b05732a594e197be6a8d4962f799819330e", + "version": "6.6.1", + "port-version": 1 + }, + { + "git-tree": "4b3f793528f4f59df67bcd9598c4d5878402ac6b", + "version": "6.6.1", + "port-version": 0 + }, + { + "git-tree": "12ee32f418c15549486f21fd1fda55c629b01124", + "version": "6.6.0", + "port-version": 0 + }, + { + "git-tree": "a68065c7c255aa4e07c10f140cf539ddf9481ca9", + "version": "6.5.3", + "port-version": 0 + }, + { + "git-tree": "e2212f2468cacf17837a95da5a5d431ea2171a9b", + "version": "6.5.2", + "port-version": 0 + }, + { + "git-tree": "6563eec17634cc4113685b766af209e123d0403d", + "version": "6.5.1", + "port-version": 0 + }, + { + "git-tree": "2520f438dda2ec0a8b244be6e1b0fc839e26948d", + "version": "6.5.0", + "port-version": 0 + }, + { + "git-tree": "21c5259e771214cb14555b2b0310a4ef4c068294", + "version": "6.4.3", + "port-version": 0 + }, + { + "git-tree": "e84db843dcc2e3bb8c75bd23a6221ff804f7851b", + "version": "6.4.2", + "port-version": 0 + }, + { + "git-tree": "9c42337423aead58d8abfd998d319b6943f94b23", + "version": "6.4.1", + "port-version": 0 + }, + { + "git-tree": "f28cbeef917fe03900eb25f1c046f8bfd1bacd50", + "version": "6.4.0", + "port-version": 0 + }, + { + "git-tree": "2005a1cbf056aab0a5919d2c0b184ff25a289fe4", + "version": "6.3.2", + "port-version": 0 + }, + { + "git-tree": "10b934af8bbfa5f960391ab2bd121194c9aee494", + "version": "6.3.1", + "port-version": 0 + }, + { + "git-tree": "8eefc49c6f1c874ba871cbb811e13b54a0fdf7ff", + "version": "6.3.0", + "port-version": 0 + }, + { + "git-tree": "b52c1c71cc2c185f936b5e1e278ed4758bae6d6e", + "version": "6.2.4", + "port-version": 0 + }, + { + "git-tree": "5515c06070b3f4b8ae13497824653e91d09476d7", + "version": "6.2.3", + "port-version": 0 + }, + { + "git-tree": "d712603b6a1fd9781f0ecd55bed2a905256a1c14", + "version-semver": "6.2.2", + "port-version": 0 + }, { "git-tree": "1aa5854f556f4f448a406daf6fe368a91a5a0b15", "version-semver": "6.2.1", diff --git a/versions/q-/qtserialbus.json b/versions/q-/qtserialbus.json index d2358241227e37..2c68155c574184 100644 --- a/versions/q-/qtserialbus.json +++ b/versions/q-/qtserialbus.json @@ -1,5 +1,115 @@ { "versions": [ + { + "git-tree": "5cdb383e05ffe42a713180cc69f957e48d6ac7dc", + "version": "6.7.3", + "port-version": 0 + }, + { + "git-tree": "c25f4921fb6f113cb16cb313880c54acd086acf7", + "version": "6.7.2", + "port-version": 0 + }, + { + "git-tree": "d73f1b9ade667f8aba0b99cf5480783bd28cfd26", + "version": "6.7.1", + "port-version": 0 + }, + { + "git-tree": "cc7a8d6eb48940b5165aac93bf981c2971370ee5", + "version": "6.7.0", + "port-version": 0 + }, + { + "git-tree": "98fdac4e26d4a958aaad0dc7454a78f491769a60", + "version": "6.6.3", + "port-version": 0 + }, + { + "git-tree": "877011d7cd0542605b81ed883848f5b76ef1ebef", + "version": "6.6.1", + "port-version": 1 + }, + { + "git-tree": "2eaae9870e669397b0ae6da75224f99fb23b6005", + "version": "6.6.1", + "port-version": 0 + }, + { + "git-tree": "d32539a07f99298f75e4006ff7c966a7d9e9f3ef", + "version": "6.6.0", + "port-version": 0 + }, + { + "git-tree": "894d8e4754494932a42bc1e5be1fe3094af6e299", + "version": "6.5.3", + "port-version": 0 + }, + { + "git-tree": "f19591f70cbb86be89c7c669786a55cda7c26b6b", + "version": "6.5.2", + "port-version": 0 + }, + { + "git-tree": "2bd32a069bea0cd0bc541e079d5ec54cc00067e1", + "version": "6.5.1", + "port-version": 0 + }, + { + "git-tree": "8a3dea63a3bfc75f36c32fffd27ff7e300febc8f", + "version": "6.5.0", + "port-version": 0 + }, + { + "git-tree": "3dba771f89dc1c260819b83479a1daba0a822936", + "version": "6.4.3", + "port-version": 0 + }, + { + "git-tree": "e3a1381d304b9fb5860108ef98ff77375dc82c4b", + "version": "6.4.2", + "port-version": 0 + }, + { + "git-tree": "76f31420519b41e4fd4d9b505b0689409a46b9af", + "version": "6.4.1", + "port-version": 0 + }, + { + "git-tree": "0632263dc036f0760e3ac2451acd43d0b9a7c692", + "version": "6.4.0", + "port-version": 0 + }, + { + "git-tree": "d08e9a633ec502000dcd1c0a31b31b5fd85cdab7", + "version": "6.3.2", + "port-version": 0 + }, + { + "git-tree": "ac0f2168badd930acb29ef160c7bc408cf0e062c", + "version": "6.3.1", + "port-version": 0 + }, + { + "git-tree": "8df6a16221d7abc2af7d76a7c809901e5ae45484", + "version": "6.3.0", + "port-version": 0 + }, + { + "git-tree": "97a896e4a1812c908a3db8b73676fbda9280569b", + "version": "6.2.4", + "port-version": 0 + }, + { + "git-tree": "413e942ee8da80bd4f4f64b4eb4de978740a9d65", + "version": "6.2.3", + "port-version": 0 + }, + { + "git-tree": "8f038e84c8f9b127bc7998328e546ca7fb4e7553", + "version-semver": "6.2.2", + "port-version": 0 + }, { "git-tree": "ce2504f7bda386450268832846376a48529bce73", "version-semver": "6.2.1", diff --git a/versions/q-/qtserialport.json b/versions/q-/qtserialport.json index 2e2d6c06cb3069..2ad3655884860e 100644 --- a/versions/q-/qtserialport.json +++ b/versions/q-/qtserialport.json @@ -1,5 +1,120 @@ { "versions": [ + { + "git-tree": "8ae2607bd2f60cac281dc4fdd80817b80eb2a7e9", + "version": "6.7.3", + "port-version": 0 + }, + { + "git-tree": "31f53d1fdbf58196bf4269073f9ac3c522af3f30", + "version": "6.7.2", + "port-version": 0 + }, + { + "git-tree": "ceed621a49004a750fc32a9c96ee8e312f991488", + "version": "6.7.1", + "port-version": 0 + }, + { + "git-tree": "96a632c2073454232bdc68f415d8a8d0145af9ff", + "version": "6.7.0", + "port-version": 0 + }, + { + "git-tree": "0529003d90927ba4744788bf374dd7e67f48d0b8", + "version": "6.6.3", + "port-version": 0 + }, + { + "git-tree": "b9ef0814224312e9d2a244a44bb4152bd70de926", + "version": "6.6.1", + "port-version": 2 + }, + { + "git-tree": "5bfa96397e62f539b329016ceeb31a4c7fa1b9ed", + "version": "6.6.1", + "port-version": 1 + }, + { + "git-tree": "b0fe6127a189519fdb6c51b00d1fd14759459f96", + "version": "6.6.1", + "port-version": 0 + }, + { + "git-tree": "a3224730e30748c1b7c57f6210cd375cd2a45f81", + "version": "6.6.0", + "port-version": 0 + }, + { + "git-tree": "74930da655fbc25f2ca02eb8e069732f566dc1d9", + "version": "6.5.3", + "port-version": 0 + }, + { + "git-tree": "3003ea5237749657ca07cac13518a9b875fdff9b", + "version": "6.5.2", + "port-version": 0 + }, + { + "git-tree": "6b47a09c1a8be3ad3663701e234582b96c44b919", + "version": "6.5.1", + "port-version": 0 + }, + { + "git-tree": "e16e52bb2baeb3a3af3d096cf6357e2494b325d6", + "version": "6.5.0", + "port-version": 0 + }, + { + "git-tree": "32ebc82d527f3da5977dcfae337c4eab9e6f228f", + "version": "6.4.3", + "port-version": 0 + }, + { + "git-tree": "18c86bd401c1c428adeef24bb019d41cf08c40d9", + "version": "6.4.2", + "port-version": 0 + }, + { + "git-tree": "8c731326ecccb829007979c880f3b21a4cdbe4b5", + "version": "6.4.1", + "port-version": 0 + }, + { + "git-tree": "cbbdef8b6fef511e4606e6671a3c418845638509", + "version": "6.4.0", + "port-version": 0 + }, + { + "git-tree": "b7442cfd0d14aa6ef8e7614aa28a340c509848d1", + "version": "6.3.2", + "port-version": 0 + }, + { + "git-tree": "7974343d211dd12cb91e9cca217e8f9b04783182", + "version": "6.3.1", + "port-version": 0 + }, + { + "git-tree": "c74684c9a5e6b20ae4066a5f1b7af2decec2ced7", + "version": "6.3.0", + "port-version": 0 + }, + { + "git-tree": "3a4f36aca9457e6a78f5b6c1f65b1d36f7666fd7", + "version": "6.2.4", + "port-version": 0 + }, + { + "git-tree": "e500faa24ed6ecba0cfe64ce061763c47612c767", + "version": "6.2.3", + "port-version": 0 + }, + { + "git-tree": "791608d6a9d95afa77b8db4a13a8f75928626926", + "version-semver": "6.2.2", + "port-version": 0 + }, { "git-tree": "ce4ab156356f3dcfe3fabbaf3f447ebbcd83972a", "version-semver": "6.2.1", diff --git a/versions/q-/qtshadertools.json b/versions/q-/qtshadertools.json index 686e1e19eaaac6..355d11e26f7289 100644 --- a/versions/q-/qtshadertools.json +++ b/versions/q-/qtshadertools.json @@ -1,5 +1,115 @@ { "versions": [ + { + "git-tree": "383ae68d8dbaa86951dd9cfb79554eafc412cc66", + "version": "6.7.3", + "port-version": 0 + }, + { + "git-tree": "c058f515defa5ab7c5e80973b38573e52d855d81", + "version": "6.7.2", + "port-version": 0 + }, + { + "git-tree": "5d8c35e21d33a25bd58fe5c20b8c1958839118c0", + "version": "6.7.1", + "port-version": 0 + }, + { + "git-tree": "e24ecbe5c79d5146cf9c87fb444e6e16fdf435c8", + "version": "6.7.0", + "port-version": 0 + }, + { + "git-tree": "1a011695b22cea90365b2699610b37da653c284c", + "version": "6.6.3", + "port-version": 0 + }, + { + "git-tree": "e8264a57d51022b91d8e0770b71e385f3de696b4", + "version": "6.6.1", + "port-version": 1 + }, + { + "git-tree": "bf2116fb4c0cdd945db89589094443e4304e043f", + "version": "6.6.1", + "port-version": 0 + }, + { + "git-tree": "f84dd4728eb9792df16ff1b956ffdb806b04c016", + "version": "6.6.0", + "port-version": 0 + }, + { + "git-tree": "0c3ce884f17ccc857975e2d0247c13d7f07e733c", + "version": "6.5.3", + "port-version": 0 + }, + { + "git-tree": "8023bcbf7bd359f9deabd2e7085a856ba279ec75", + "version": "6.5.2", + "port-version": 0 + }, + { + "git-tree": "98f9ec2c71036ec90f472a4dd927a8ba3ca58e4c", + "version": "6.5.1", + "port-version": 0 + }, + { + "git-tree": "664a5427ec4a5d715d4e09f9bbe1222810ddb898", + "version": "6.5.0", + "port-version": 0 + }, + { + "git-tree": "c935fae16c7d0dba049dae8b7cc5709c2cc237cf", + "version": "6.4.3", + "port-version": 0 + }, + { + "git-tree": "274f6fab2ad3060ab95f85544d272ca8012be80d", + "version": "6.4.2", + "port-version": 0 + }, + { + "git-tree": "d0dc7cb9dc38adc8b0cfd395570667fd5e3ac417", + "version": "6.4.1", + "port-version": 0 + }, + { + "git-tree": "7468457146a0c525d6b8d44bf5eabf3965d9df59", + "version": "6.4.0", + "port-version": 0 + }, + { + "git-tree": "7358894ceda32f4d35603e4d525e1fbd805fbc60", + "version": "6.3.2", + "port-version": 0 + }, + { + "git-tree": "f1ee6d4dc6fe612733391a78b4149393ab82c78b", + "version": "6.3.1", + "port-version": 0 + }, + { + "git-tree": "75ac0d075ab14c918db6e38e398fca4bc877c146", + "version": "6.3.0", + "port-version": 0 + }, + { + "git-tree": "7d8e8be656c7dc865d98021272c0f716c14866ed", + "version": "6.2.4", + "port-version": 0 + }, + { + "git-tree": "cd4279442737df6c5e8ba533f8ce52b0a03cdc08", + "version": "6.2.3", + "port-version": 0 + }, + { + "git-tree": "70e894d24707b42dd208c14f491cf3164caf22f9", + "version-semver": "6.2.2", + "port-version": 0 + }, { "git-tree": "e5831c09c8eaf4936eaef1c9a52079fc4e9ffa0f", "version-semver": "6.2.1", diff --git a/versions/q-/qtspeech.json b/versions/q-/qtspeech.json new file mode 100644 index 00000000000000..54c5c47a835bbd --- /dev/null +++ b/versions/q-/qtspeech.json @@ -0,0 +1,79 @@ +{ + "versions": [ + { + "git-tree": "180a58388b611033bf56af83e1eed2d4fbf9a340", + "version": "6.7.3", + "port-version": 0 + }, + { + "git-tree": "78ff19fab402dd95c437cea757f532928e6b6e5f", + "version": "6.7.2", + "port-version": 0 + }, + { + "git-tree": "a94a1192fe17765161cc7f02feb7808b73e01716", + "version": "6.7.1", + "port-version": 0 + }, + { + "git-tree": "ec196949a1f05c2fc567426a298954e26543ef3b", + "version": "6.7.0", + "port-version": 0 + }, + { + "git-tree": "fc48952cf4ad0b5f6ae4bd0855c76a7cd57e73e8", + "version": "6.6.3", + "port-version": 0 + }, + { + "git-tree": "79aadd005de023714474d850e447f069a007c17f", + "version": "6.6.1", + "port-version": 1 + }, + { + "git-tree": "3be7b2606212665cabee66d33b125a452ab18b26", + "version": "6.6.1", + "port-version": 0 + }, + { + "git-tree": "328df565e4640e536a8f6dde383feed0105fffc8", + "version": "6.6.0", + "port-version": 0 + }, + { + "git-tree": "a6bb68e8f537cc9f201e30c56122b615fac0da48", + "version": "6.5.3", + "port-version": 0 + }, + { + "git-tree": "59c3a9ed2002e2e7123a3bcc2651df6ceff63d53", + "version": "6.5.2", + "port-version": 0 + }, + { + "git-tree": "8ce40cf354db1eac0e6b54e428113a9cf693af33", + "version": "6.5.1", + "port-version": 0 + }, + { + "git-tree": "6407a70cfbb2ced50ed116bd1e51b8f3a7e54c8a", + "version": "6.5.0", + "port-version": 0 + }, + { + "git-tree": "3e3478f6de5a8d655c7d97e40b158bc7dfdfa39c", + "version": "6.4.3", + "port-version": 1 + }, + { + "git-tree": "93a6cd65b0db0994bbedef360adbe246b5df6d91", + "version": "6.4.3", + "port-version": 0 + }, + { + "git-tree": "a36d34d7b8047ad0e02a2f794742a2002c05811f", + "version": "6.4.2", + "port-version": 0 + } + ] +} diff --git a/versions/q-/qtsvg.json b/versions/q-/qtsvg.json index e6678ab5b7b7d2..942ee640974988 100644 --- a/versions/q-/qtsvg.json +++ b/versions/q-/qtsvg.json @@ -1,5 +1,115 @@ { "versions": [ + { + "git-tree": "f348ea4a43aaf6aebde146fb7723aba46ff2452e", + "version": "6.7.3", + "port-version": 0 + }, + { + "git-tree": "9b25930a5f904d3dbb1fa4cbdb339c1be3641c51", + "version": "6.7.2", + "port-version": 0 + }, + { + "git-tree": "11416f07e645a5533b0b20f5dbf83ec446f6eaf1", + "version": "6.7.1", + "port-version": 0 + }, + { + "git-tree": "3e700d8443cc4dff407ac2d39c9f0a8b9ad1a73d", + "version": "6.7.0", + "port-version": 0 + }, + { + "git-tree": "369512ededdab226c2f1011bf92282c6749b86d8", + "version": "6.6.3", + "port-version": 0 + }, + { + "git-tree": "dc657fa717eb7a0f3b91bc9a224a61f2690c1e3e", + "version": "6.6.1", + "port-version": 1 + }, + { + "git-tree": "654797512930b598c214eea4834db531b1bba48c", + "version": "6.6.1", + "port-version": 0 + }, + { + "git-tree": "d1fcfd06b00e6e9f71dbe6e83bb796e89d774228", + "version": "6.6.0", + "port-version": 0 + }, + { + "git-tree": "5c69ed714c8ae47743eb654424d1bdac65b1ac07", + "version": "6.5.3", + "port-version": 0 + }, + { + "git-tree": "f71487ce49dbff9ada7e7774ae100114fbe91ad0", + "version": "6.5.2", + "port-version": 0 + }, + { + "git-tree": "e0cbdb8adac05f3e67bcf95b7c03e8ecb7ae7bc6", + "version": "6.5.1", + "port-version": 0 + }, + { + "git-tree": "816b0eb532cf6901c8448ccba8363cfe9938ef5b", + "version": "6.5.0", + "port-version": 0 + }, + { + "git-tree": "864d53d5bedd0946c9790551a06258580647478f", + "version": "6.4.3", + "port-version": 0 + }, + { + "git-tree": "f4a390fc6dc8e77c7d5fed74f1f8d31916cabbc5", + "version": "6.4.2", + "port-version": 0 + }, + { + "git-tree": "d8ceac2647ec3bb2869d8ab9ce70c60afccc2798", + "version": "6.4.1", + "port-version": 0 + }, + { + "git-tree": "0875c12bcc029cd61d31964d36dae1682103e772", + "version": "6.4.0", + "port-version": 0 + }, + { + "git-tree": "8a331df9dc56e835f16c8266d9b6eabb94ac2c86", + "version": "6.3.2", + "port-version": 0 + }, + { + "git-tree": "cc44ba493ec11d3b32c272c115add826353cb707", + "version": "6.3.1", + "port-version": 0 + }, + { + "git-tree": "3bc8989c9c61cc741186f5dc7fc4eda94f20f6a4", + "version": "6.3.0", + "port-version": 0 + }, + { + "git-tree": "df716d6718c7fad4a45e9eecc493c6c4cc752744", + "version": "6.2.4", + "port-version": 0 + }, + { + "git-tree": "37349a1661b8bfda73318abcb5db080fb6fc71d6", + "version": "6.2.3", + "port-version": 0 + }, + { + "git-tree": "d6c1c34779691c0150e573246351f00b6fe1126f", + "version-semver": "6.2.2", + "port-version": 0 + }, { "git-tree": "aa7f5015760b1bc7f653f30b170c1201a437cd86", "version-semver": "6.2.1", diff --git a/versions/q-/qttools.json b/versions/q-/qttools.json index abdb043533e369..12c73fdaf5290f 100644 --- a/versions/q-/qttools.json +++ b/versions/q-/qttools.json @@ -1,5 +1,155 @@ { "versions": [ + { + "git-tree": "9ff61729b8e04e639058cb85e0cc667cdc5d7430", + "version": "6.7.3", + "port-version": 0 + }, + { + "git-tree": "209497e8af3e179204308133d23a5f55479255b7", + "version": "6.7.2", + "port-version": 1 + }, + { + "git-tree": "e754a866e4ccd75c7bddfe002ef2514d85a4f0f0", + "version": "6.7.2", + "port-version": 0 + }, + { + "git-tree": "f1405a177b8778eebd508a8124fdb21d10df8838", + "version": "6.7.1", + "port-version": 0 + }, + { + "git-tree": "cadaced31348f820f58f783d06111ab2ce7a4ba6", + "version": "6.7.0", + "port-version": 1 + }, + { + "git-tree": "db60b03c6a66d957671dbf1ca32f996ccf80633d", + "version": "6.7.0", + "port-version": 0 + }, + { + "git-tree": "10ad98aeb63f7e702be20eada46f84ee357759ef", + "version": "6.6.3", + "port-version": 0 + }, + { + "git-tree": "af1e484abd3241d296109271920c5a805938bbdc", + "version": "6.6.1", + "port-version": 2 + }, + { + "git-tree": "2af13e635fe64a3289630e5e1415b36ea1aa88ec", + "version": "6.6.1", + "port-version": 1 + }, + { + "git-tree": "727534f61f2786b70ed0ba51c56fc9dcf2191fb4", + "version": "6.6.1", + "port-version": 0 + }, + { + "git-tree": "fabca872bf0e61547c64af674e33d557915d70c7", + "version": "6.6.0", + "port-version": 0 + }, + { + "git-tree": "5481b3959bc7fbfc044326799d1c32f8ac42fc87", + "version": "6.5.3", + "port-version": 0 + }, + { + "git-tree": "d8e1794649af0680e60316087e9892502ded7e1b", + "version": "6.5.2", + "port-version": 0 + }, + { + "git-tree": "5c5bb58bb17966dd13c0ca571efb413a60633c5a", + "version": "6.5.1", + "port-version": 0 + }, + { + "git-tree": "98c6a3ef4410b89a77895592986355c43674a881", + "version": "6.5.0", + "port-version": 1 + }, + { + "git-tree": "1e559212d2b8a05e7e59a21a6fd035e7f0e05347", + "version": "6.5.0", + "port-version": 0 + }, + { + "git-tree": "f3e02443f5bc251e7fdaffdfe1079ac2d1492a42", + "version": "6.4.3", + "port-version": 1 + }, + { + "git-tree": "5cd027bf0913c633be6757fac34fb5cb0ebea6ac", + "version": "6.4.3", + "port-version": 0 + }, + { + "git-tree": "d2a6fdf1740e0d3f494a03b12ad0110fcd32b8d0", + "version": "6.4.2", + "port-version": 2 + }, + { + "git-tree": "0dc19ef06a3e54a475cedeacd80987aea5ac4477", + "version": "6.4.2", + "port-version": 1 + }, + { + "git-tree": "3a84f9dabc349f703b9e4c2d8e673971fb07a426", + "version": "6.4.2", + "port-version": 0 + }, + { + "git-tree": "2407f25de8160bf70144cab0d69cf49fcc61bccd", + "version": "6.4.1", + "port-version": 0 + }, + { + "git-tree": "eceebf276520a58384f7622cace1b41cedc1d2c9", + "version": "6.4.0", + "port-version": 0 + }, + { + "git-tree": "6ca68dc3285690ce0de5a23ce4d9d664310d1626", + "version": "6.3.2", + "port-version": 0 + }, + { + "git-tree": "f7fb1deea8bfdc96c67528333b47b1ffc9c4ad60", + "version": "6.3.1", + "port-version": 0 + }, + { + "git-tree": "4bef4075be6e9e33ada53f0e2b3a37329187fa5a", + "version": "6.3.0", + "port-version": 1 + }, + { + "git-tree": "002b7b9432d4c1f49de7a486f70a673285cd98a8", + "version": "6.3.0", + "port-version": 0 + }, + { + "git-tree": "a00f4470b9264ccffc7dfb230684126e61fb0f2c", + "version": "6.2.4", + "port-version": 0 + }, + { + "git-tree": "79247ffe31fa15579c9069634c3d8778672928ca", + "version": "6.2.3", + "port-version": 0 + }, + { + "git-tree": "655cd4b3e9d57ebee9768c2ab0d1d4936b409c02", + "version-semver": "6.2.2", + "port-version": 0 + }, { "git-tree": "eb472063be2d7b507cb027c217564f9288b24482", "version-semver": "6.2.1", diff --git a/versions/q-/qttranslations.json b/versions/q-/qttranslations.json index be4b26011c338a..a58f19bb0b13c7 100644 --- a/versions/q-/qttranslations.json +++ b/versions/q-/qttranslations.json @@ -1,5 +1,115 @@ { "versions": [ + { + "git-tree": "a2df14c54a59a48ae0a7eb60053172912657ff4b", + "version": "6.7.3", + "port-version": 0 + }, + { + "git-tree": "b42ee37cda74756d7a69a874573014ca40d1a662", + "version": "6.7.2", + "port-version": 0 + }, + { + "git-tree": "54987095adadb1cbe6bc21717b67c2afdee25c26", + "version": "6.7.1", + "port-version": 0 + }, + { + "git-tree": "7cbc96fb9f79ad3be6a1e072daf10eb1670791a6", + "version": "6.7.0", + "port-version": 0 + }, + { + "git-tree": "513a9a9d2261ab27983847d17c342a878f5ee3d2", + "version": "6.6.3", + "port-version": 0 + }, + { + "git-tree": "8133254a0073834da07baa3f633c6001d0da7ea9", + "version": "6.6.1", + "port-version": 1 + }, + { + "git-tree": "c6e6d58f96b90b6fca92cabacdd98fbb9d79585b", + "version": "6.6.1", + "port-version": 0 + }, + { + "git-tree": "74986f47f213bebd33f07dbcc8a01c68719ac223", + "version": "6.6.0", + "port-version": 0 + }, + { + "git-tree": "32afed31d843b9020943e27ce3ee3357d9f78ae5", + "version": "6.5.3", + "port-version": 0 + }, + { + "git-tree": "6d17a7c50cfa57c7bc599b7fc4cedcf2d7b8aa95", + "version": "6.5.2", + "port-version": 0 + }, + { + "git-tree": "93a8ee0c9d08e15552ec7fe153a7ba70ece3024b", + "version": "6.5.1", + "port-version": 0 + }, + { + "git-tree": "b75cda024ccc8c8ba3f9a196a9a6149309d93425", + "version": "6.5.0", + "port-version": 0 + }, + { + "git-tree": "48b6fd21acccdffacd9390b9b860a5b2e3ba554a", + "version": "6.4.3", + "port-version": 0 + }, + { + "git-tree": "0c3328c8552e970a6a7b8d2bf5ad1685c6ef9720", + "version": "6.4.2", + "port-version": 0 + }, + { + "git-tree": "9f4c08aaf6a37457ec4e1fa3ceaf0fc2f9e79ab6", + "version": "6.4.1", + "port-version": 0 + }, + { + "git-tree": "e3d14a05bc340edf5890b7a6f1c6b057b872d42c", + "version": "6.4.0", + "port-version": 0 + }, + { + "git-tree": "34380b3429538f411c5742822674328365697ef3", + "version": "6.3.2", + "port-version": 0 + }, + { + "git-tree": "4a11055fa2395cf5885d2f064ae5bead129cd815", + "version": "6.3.1", + "port-version": 0 + }, + { + "git-tree": "09befbf6b2bd7001465003cbdd49ae138b754316", + "version": "6.3.0", + "port-version": 0 + }, + { + "git-tree": "d16f4613ad42d01be87aa75bf23013dc7da1845a", + "version": "6.2.4", + "port-version": 0 + }, + { + "git-tree": "3df8c89676608f1a4a58aeef4cb6e9edfe5666fb", + "version": "6.2.3", + "port-version": 0 + }, + { + "git-tree": "51a188d5a80a0a9a3b5ec6319bfd0710e82d1769", + "version-semver": "6.2.2", + "port-version": 0 + }, { "git-tree": "9bf7f8aa0d90f72017d2e47f1a5628a93265b824", "version-semver": "6.2.1", diff --git a/versions/q-/qtvirtualkeyboard.json b/versions/q-/qtvirtualkeyboard.json index c3dfc66c4edcb6..0e095b0383f6e7 100644 --- a/versions/q-/qtvirtualkeyboard.json +++ b/versions/q-/qtvirtualkeyboard.json @@ -1,5 +1,115 @@ { "versions": [ + { + "git-tree": "966a8c6214cadc58cce7d504f026a355b5a94bbf", + "version": "6.7.3", + "port-version": 0 + }, + { + "git-tree": "18f563f53ec2c3f674a9cd50fa1271d146fe68cd", + "version": "6.7.2", + "port-version": 0 + }, + { + "git-tree": "34ce80c6805e1af3447c652ee48d4d274623d5b9", + "version": "6.7.1", + "port-version": 0 + }, + { + "git-tree": "587f852a33aae5bc30d1f0add8b74671469d36a5", + "version": "6.7.0", + "port-version": 0 + }, + { + "git-tree": "80193312ec25a6d60fcec32e030db473f8408a02", + "version": "6.6.3", + "port-version": 0 + }, + { + "git-tree": "f9d3720c2252c8c75dc80cc6e48b3bfe7e6d4546", + "version": "6.6.1", + "port-version": 0 + }, + { + "git-tree": "1c8dffb036b8e24cbfab8dc4fa4c49cdd02b4221", + "version": "6.6.0", + "port-version": 0 + }, + { + "git-tree": "5be43c5f5cfe34aafe055afb69d844eedfcaf9e6", + "version": "6.5.3", + "port-version": 0 + }, + { + "git-tree": "8b5060f737cdf43c76dee17eb62ec5992d5ed6c3", + "version": "6.5.2", + "port-version": 1 + }, + { + "git-tree": "56528dbb98540dc6267def8ffa5ea971982870bb", + "version": "6.5.2", + "port-version": 0 + }, + { + "git-tree": "dd796171aaa99042b420d9e8bbaf78f68b67ee8c", + "version": "6.5.1", + "port-version": 0 + }, + { + "git-tree": "2591b11ad8fe48bb353ece5a06c8c27492cb1c1d", + "version": "6.5.0", + "port-version": 0 + }, + { + "git-tree": "6cbb11db41affe7798e62dbec8ebb5aa8e728b5d", + "version": "6.4.3", + "port-version": 0 + }, + { + "git-tree": "a669f836942b8b7d5b3115cff2a95cee389ea21e", + "version": "6.4.2", + "port-version": 0 + }, + { + "git-tree": "a5949da4753ff7870fa88cdfcd92d03b24a98e54", + "version": "6.4.1", + "port-version": 0 + }, + { + "git-tree": "ae9c8eb401331cdb05120629714065880152b1b3", + "version": "6.4.0", + "port-version": 0 + }, + { + "git-tree": "8fbd6f4e78576ea2a3bf3389d36a400ebf8fff1f", + "version": "6.3.2", + "port-version": 0 + }, + { + "git-tree": "dd49b655ecb0526706a5aaa81ffdaa05ef74c031", + "version": "6.3.1", + "port-version": 0 + }, + { + "git-tree": "5804d29790d75c7a40c1fe9c4f54c3cfd03a5eaa", + "version": "6.3.0", + "port-version": 0 + }, + { + "git-tree": "fcfb5975545e28e64e2f5c71c5f5a2cbc0b22c70", + "version": "6.2.4", + "port-version": 0 + }, + { + "git-tree": "7ec572e9663958105a8c2b89c24a93d4280f002c", + "version": "6.2.3", + "port-version": 0 + }, + { + "git-tree": "9bc69668572f2a83bf742b8b10ec3085f159d513", + "version-semver": "6.2.2", + "port-version": 0 + }, { "git-tree": "8b26db2df575c2b7a0341c7aaea9b88ee4e017b2", "version-semver": "6.2.1", diff --git a/versions/q-/qtwayland.json b/versions/q-/qtwayland.json index 04bc447168b401..ca52358586b32b 100644 --- a/versions/q-/qtwayland.json +++ b/versions/q-/qtwayland.json @@ -1,5 +1,110 @@ { "versions": [ + { + "git-tree": "241d864a6bf5c4844595bf09a232fa5f98efd41b", + "version": "6.7.3", + "port-version": 0 + }, + { + "git-tree": "ff44990ce82747247f4632f96642d723fd26b2a5", + "version": "6.7.2", + "port-version": 0 + }, + { + "git-tree": "5685203d384a3e5605a06fd72c8135bd9f569cf3", + "version": "6.7.1", + "port-version": 0 + }, + { + "git-tree": "bd707e68a11ac8c4dbfa7b154e665cdc5dea69b9", + "version": "6.7.0", + "port-version": 0 + }, + { + "git-tree": "80da6ef128756631519d2d40895ee6b124bf0964", + "version": "6.6.3", + "port-version": 0 + }, + { + "git-tree": "a7d47223e41c55acc88b5a851730e253e244a79b", + "version": "6.6.1", + "port-version": 0 + }, + { + "git-tree": "0bfb4cdda4d01946240acd3f5c2a16a4971f4f4d", + "version": "6.6.0", + "port-version": 0 + }, + { + "git-tree": "568cb23f986ab02df124f82d9b9db980092f05fd", + "version": "6.5.3", + "port-version": 0 + }, + { + "git-tree": "6a7bfa9db606a9849407ef81e575c95a76bb404b", + "version": "6.5.2", + "port-version": 0 + }, + { + "git-tree": "8f02347f31fc483b355d5cf812a28a278ce27413", + "version": "6.5.1", + "port-version": 0 + }, + { + "git-tree": "860b82f5d06b7f0eed9ed449507a47d156cfb4ca", + "version": "6.5.0", + "port-version": 0 + }, + { + "git-tree": "f40d9bfc0c57c9facd1b4db9da9eaa7ba565692c", + "version": "6.4.3", + "port-version": 0 + }, + { + "git-tree": "65978edc299320d5d50e7a857a7789000b1ac642", + "version": "6.4.2", + "port-version": 0 + }, + { + "git-tree": "83497624243e081c948b5ab451e99479de13be30", + "version": "6.4.1", + "port-version": 0 + }, + { + "git-tree": "335e0f0435f6e751c156fbb7596886bd00d99c6b", + "version": "6.4.0", + "port-version": 0 + }, + { + "git-tree": "8618a325913a4e94ea4d9ae25aae993211a049a3", + "version": "6.3.2", + "port-version": 0 + }, + { + "git-tree": "bbcba20baf4e7189691d19cea523b0c23b837749", + "version": "6.3.1", + "port-version": 0 + }, + { + "git-tree": "9e7c6ecb71e8b4c3b8277f97f461d6f8b017ef1c", + "version": "6.3.0", + "port-version": 0 + }, + { + "git-tree": "9930653065c44653bdf5f7285799d1a9ebb44d83", + "version": "6.2.4", + "port-version": 0 + }, + { + "git-tree": "6eaf26953606c37b93a2e03d2162f80e4d2d4d6a", + "version": "6.2.3", + "port-version": 0 + }, + { + "git-tree": "7df54bd36afd381966e0b082e49154b1eb818bf0", + "version-semver": "6.2.2", + "port-version": 0 + }, { "git-tree": "5801a51524f383c98f98da3d085cad1ecc338ca6", "version-semver": "6.2.1", diff --git a/versions/q-/qtwebchannel.json b/versions/q-/qtwebchannel.json index 295bc65590faa1..c09145de003b22 100644 --- a/versions/q-/qtwebchannel.json +++ b/versions/q-/qtwebchannel.json @@ -1,5 +1,120 @@ { "versions": [ + { + "git-tree": "e7ff392d934f7358f944a6ee2df299ba8a0c54ae", + "version": "6.7.3", + "port-version": 0 + }, + { + "git-tree": "231069d8c523d97debb2dcbe5b2d448407634c35", + "version": "6.7.2", + "port-version": 1 + }, + { + "git-tree": "fea23356981b7538404464245501f15df5aaaefe", + "version": "6.7.2", + "port-version": 0 + }, + { + "git-tree": "246f9e9f09778519bcd7197d09bb60058369597d", + "version": "6.7.1", + "port-version": 0 + }, + { + "git-tree": "5ef675d7bb6f920135408059a4410d1eef62d911", + "version": "6.7.0", + "port-version": 0 + }, + { + "git-tree": "9da1b60d118f8edd8f269b97975c8149844cd79c", + "version": "6.6.3", + "port-version": 0 + }, + { + "git-tree": "80ab9f441d73bb81000237272aae0a1bf3a4e0c0", + "version": "6.6.1", + "port-version": 1 + }, + { + "git-tree": "0ee9cba56e75f0dab9bc3118345e48ae39beef3c", + "version": "6.6.1", + "port-version": 0 + }, + { + "git-tree": "d0c717f680978ecdd279354833ccc0ee99558f77", + "version": "6.6.0", + "port-version": 0 + }, + { + "git-tree": "a7793967dcf8f178741f048ff03687f79ffbc894", + "version": "6.5.3", + "port-version": 0 + }, + { + "git-tree": "eb71691fb50da5650494a971b17d1939a125c6bf", + "version": "6.5.2", + "port-version": 0 + }, + { + "git-tree": "a0fcf659cccb63f7924f92e042a08b13bb1a82c7", + "version": "6.5.1", + "port-version": 0 + }, + { + "git-tree": "40d6a94591187d5fdfb57beebbbad45aa26a1859", + "version": "6.5.0", + "port-version": 0 + }, + { + "git-tree": "27b0c979401491880b2dad92b728e14fb5b7e37b", + "version": "6.4.3", + "port-version": 0 + }, + { + "git-tree": "a21d2dd13dae06dd8fa8482659c6af8b188cdaef", + "version": "6.4.2", + "port-version": 0 + }, + { + "git-tree": "9955fbeb9bfdfc7ef3d6b1750866cb50f0c2e2ab", + "version": "6.4.1", + "port-version": 0 + }, + { + "git-tree": "f8b79fc26b0a39b1da1a679ddfa1b64a7ebec2e4", + "version": "6.4.0", + "port-version": 0 + }, + { + "git-tree": "530a2818778c7e6a7a89aa960f725d024983f85a", + "version": "6.3.2", + "port-version": 0 + }, + { + "git-tree": "9f8c92c126be424363d4de120e17dae54ada0b6b", + "version": "6.3.1", + "port-version": 0 + }, + { + "git-tree": "b8c14bb3f3297e816d3f0df2bc0377fce7963c55", + "version": "6.3.0", + "port-version": 0 + }, + { + "git-tree": "7bc22dab6b47734c9163edde8bef8e9088a04301", + "version": "6.2.4", + "port-version": 0 + }, + { + "git-tree": "0f4fee2471dba6631d06fcac6a9f99c38fe14649", + "version": "6.2.3", + "port-version": 0 + }, + { + "git-tree": "d3f7068b76b91006bd426b173fe5e723ca6364c4", + "version-semver": "6.2.2", + "port-version": 0 + }, { "git-tree": "963ccd119990c7c3ae09e323da25a38b4893df78", "version-semver": "6.2.1", diff --git a/versions/q-/qtwebengine.json b/versions/q-/qtwebengine.json index 6d86411f0c3572..28e11374b5d5c6 100644 --- a/versions/q-/qtwebengine.json +++ b/versions/q-/qtwebengine.json @@ -1,5 +1,185 @@ { "versions": [ + { + "git-tree": "f7774786b1fca530121200029f7fdbd53d666dfc", + "version": "6.7.3", + "port-version": 0 + }, + { + "git-tree": "086305f3c3d6f62960a8b626f43424e8a060cddb", + "version": "6.7.2", + "port-version": 0 + }, + { + "git-tree": "010b4a50e38458ad6793f054876379f16011917b", + "version": "6.7.1", + "port-version": 0 + }, + { + "git-tree": "b3e417987ee06530dae786426a2bdaada645d6bb", + "version": "6.7.0", + "port-version": 4 + }, + { + "git-tree": "60030ab0ec25c556ddde211877164346d453a6f9", + "version": "6.7.0", + "port-version": 3 + }, + { + "git-tree": "99bc7a32df1475460b84b8d04028c70c2a1b1d4d", + "version": "6.7.0", + "port-version": 2 + }, + { + "git-tree": "e12b173a87772bc006536e461d503caea8177b69", + "version": "6.7.0", + "port-version": 1 + }, + { + "git-tree": "100603c883257132007e43ace417903c75e99d94", + "version": "6.7.0", + "port-version": 0 + }, + { + "git-tree": "7955fe453030ad4695afab8a16453942d3eaefd1", + "version": "6.6.3", + "port-version": 0 + }, + { + "git-tree": "c325459007c4b0eaa7e7300fb21f1eca88b01348", + "version": "6.6.1", + "port-version": 5 + }, + { + "git-tree": "3b32543bf2cc03efefb300a8df2c3a43b3b46928", + "version": "6.6.1", + "port-version": 4 + }, + { + "git-tree": "d2585496a5eec4f9f08df3a69483157640acb3cf", + "version": "6.6.1", + "port-version": 3 + }, + { + "git-tree": "0da0e5d03340ccc05f77e90cb898e62237746107", + "version": "6.6.1", + "port-version": 2 + }, + { + "git-tree": "f84af713f1090d7294c2707dc722373c06857114", + "version": "6.6.1", + "port-version": 1 + }, + { + "git-tree": "60b5738d6361d11f4dea17e82df45014ffddd6be", + "version": "6.6.1", + "port-version": 0 + }, + { + "git-tree": "4df86b328fb276cf0cc5e9803390da032bb79f8a", + "version": "6.6.0", + "port-version": 0 + }, + { + "git-tree": "0b0b645beae52a3390e57bb7c51c0795dd46ab15", + "version": "6.5.3", + "port-version": 0 + }, + { + "git-tree": "da376af9fa349263e8bce84856b15f107c4cc57f", + "version": "6.5.2", + "port-version": 0 + }, + { + "git-tree": "6ed2eac3d05493db52c3bf31dd9b25893cdc287c", + "version": "6.5.1", + "port-version": 0 + }, + { + "git-tree": "2d44e1b4b4683a771c3457652baef60f290f1776", + "version": "6.5.0", + "port-version": 0 + }, + { + "git-tree": "7a5dda5f36b2686d421d061f93a73da169815174", + "version": "6.4.3", + "port-version": 0 + }, + { + "git-tree": "fcffeb632b2e30b7be572c5f50e5b40ee75e3bee", + "version": "6.4.2", + "port-version": 0 + }, + { + "git-tree": "56c8290990699a0947a4583d9365feeeb3acad10", + "version": "6.4.1", + "port-version": 1 + }, + { + "git-tree": "d42fac47feb315e847b30c86520ddaf3a309e76e", + "version": "6.4.1", + "port-version": 0 + }, + { + "git-tree": "06385099cee48df733743655a3a7be54360042d3", + "version": "6.4.0", + "port-version": 0 + }, + { + "git-tree": "6a9606ce3a5531467f484accb11a2fe6e69f09a3", + "version": "6.3.2", + "port-version": 1 + }, + { + "git-tree": "ec3282a08fee4cdadb156aa5389d33d39d507ebc", + "version": "6.3.2", + "port-version": 0 + }, + { + "git-tree": "a44c1faf17e5e071b28369731c24b766656a8a8e", + "version": "6.3.1", + "port-version": 0 + }, + { + "git-tree": "29b6cc23c91540debb74a38874cdd5985e7dbf59", + "version": "6.3.0", + "port-version": 3 + }, + { + "git-tree": "fb2bc02591f25285ed7e085bce22001d42ec5d87", + "version": "6.3.0", + "port-version": 2 + }, + { + "git-tree": "6562d0a0294290afd20da039ff60602c1f3f4701", + "version": "6.3.0", + "port-version": 1 + }, + { + "git-tree": "47cd0b321b5eda832afbb46e58159ca3adb65ce9", + "version": "6.3.0", + "port-version": 0 + }, + { + "git-tree": "7972a7fa77f29d83f91787c942f4f85d50651c05", + "version": "6.2.4", + "port-version": 0 + }, + { + "git-tree": "c09764532fe7b4367f6438db92b59f41cb3d4e52", + "version": "6.2.3", + "port-version": 1 + }, + { + "git-tree": "97ae42eec1de17a95e9d48132ee94dd80ab4a239", + "version": "6.2.3", + "port-version": 0 + }, + { + "git-tree": "9a3f041f2f3f5fdb5e1304efbae7ae0e9abbef79", + "version-semver": "6.2.2", + "port-version": 0 + }, { "git-tree": "4c69c49d9fe8599dd22538d9cef12e09cb29778e", "version-semver": "6.2.1", diff --git a/versions/q-/qtwebsockets.json b/versions/q-/qtwebsockets.json index 912080de8a6622..604610495afdac 100644 --- a/versions/q-/qtwebsockets.json +++ b/versions/q-/qtwebsockets.json @@ -1,5 +1,115 @@ { "versions": [ + { + "git-tree": "8dabc0eb75a28f3619030f089656f4f248c40e31", + "version": "6.7.3", + "port-version": 0 + }, + { + "git-tree": "a5b873af06b2b069938aa00771ccb3b3d5249086", + "version": "6.7.2", + "port-version": 0 + }, + { + "git-tree": "e10cb7baa5fc9486955624e4911824d07be18c55", + "version": "6.7.1", + "port-version": 0 + }, + { + "git-tree": "09b4dcf0f7ca43aa0d204d1d01fd714bf4faf12d", + "version": "6.7.0", + "port-version": 0 + }, + { + "git-tree": "5b113382b41894bc2e7cbbb1a70cd3435f8cfea7", + "version": "6.6.3", + "port-version": 0 + }, + { + "git-tree": "8819ac46bcd0b16223ff27ef1702f5431b16b55d", + "version": "6.6.1", + "port-version": 1 + }, + { + "git-tree": "381d32890ac07fd2b095bcd55d9954e962c6b3b6", + "version": "6.6.1", + "port-version": 0 + }, + { + "git-tree": "94038f6ef3143b15b2143e2521897b71d33c9750", + "version": "6.6.0", + "port-version": 0 + }, + { + "git-tree": "864d67ee1194e13ff845a6ff17efc165c198fd55", + "version": "6.5.3", + "port-version": 0 + }, + { + "git-tree": "b004232cc580fa7bdee24662b1596e65388933ca", + "version": "6.5.2", + "port-version": 0 + }, + { + "git-tree": "389d6233f9bca6f05e244de47e42add02f15f52e", + "version": "6.5.1", + "port-version": 0 + }, + { + "git-tree": "c325d5163eea00256739eb59ac084c0c386c2b0d", + "version": "6.5.0", + "port-version": 0 + }, + { + "git-tree": "89352bf06b1d966295a7b5e919836e9994eef0a9", + "version": "6.4.3", + "port-version": 0 + }, + { + "git-tree": "bb1c20fd6158e965f29b382604370d4022c3eed9", + "version": "6.4.2", + "port-version": 0 + }, + { + "git-tree": "ac7b446aa640642c98b4f48aab3c66586824b424", + "version": "6.4.1", + "port-version": 0 + }, + { + "git-tree": "7bdd83c004ad6c8d80d4493741cd8dfe208ce473", + "version": "6.4.0", + "port-version": 0 + }, + { + "git-tree": "e5294e25b8339515231c57b5e4bf7b429a6d21e1", + "version": "6.3.2", + "port-version": 0 + }, + { + "git-tree": "da354bd4fff935834b6b2b68e7956f9087b5f64d", + "version": "6.3.1", + "port-version": 0 + }, + { + "git-tree": "615c601a62d67874adfb14ae7f1d9859f87a6719", + "version": "6.3.0", + "port-version": 0 + }, + { + "git-tree": "78911113c7407ff6403479ace90d0f4b2656e517", + "version": "6.2.4", + "port-version": 0 + }, + { + "git-tree": "cc3e9ce12b12aecdb4372cee226fcb0ddc4b0f34", + "version": "6.2.3", + "port-version": 0 + }, + { + "git-tree": "e051a024f04ac4bbb3700a022df3dfb85c35267d", + "version-semver": "6.2.2", + "port-version": 0 + }, { "git-tree": "1c23c3b938eaf83f287a460d95695732a4b784d3", "version-semver": "6.2.1", diff --git a/versions/q-/qtwebview.json b/versions/q-/qtwebview.json index fbb56bc088125f..ec8339abba4e96 100644 --- a/versions/q-/qtwebview.json +++ b/versions/q-/qtwebview.json @@ -1,5 +1,120 @@ { "versions": [ + { + "git-tree": "f62c3a845f92c33481c618ad98dd807fe7c6f43d", + "version": "6.7.3", + "port-version": 0 + }, + { + "git-tree": "fc33b80bc283622bb1d8034ee9adaf130eb63f0a", + "version": "6.7.2", + "port-version": 0 + }, + { + "git-tree": "5ac76960f5a9bcc07a18aaf3d152ed74140b9fcd", + "version": "6.7.1", + "port-version": 0 + }, + { + "git-tree": "744b3381bfe8505c8a61b91fc54fb77fcdc77ba6", + "version": "6.7.0", + "port-version": 0 + }, + { + "git-tree": "f794aa180866f54f516edf5845049c47db72a436", + "version": "6.6.3", + "port-version": 0 + }, + { + "git-tree": "1a9fb29b722202dd1dbf6e3da5bc3b54e8dc6f65", + "version": "6.6.1", + "port-version": 1 + }, + { + "git-tree": "6d46010ea6deab96d673fa42dfa126641472a808", + "version": "6.6.1", + "port-version": 0 + }, + { + "git-tree": "7bcd4ac467a6c0707c315f722457bd691adfcf83", + "version": "6.6.0", + "port-version": 0 + }, + { + "git-tree": "e442e9a131ddc682ac5adae8a16cafa801100583", + "version": "6.5.3", + "port-version": 0 + }, + { + "git-tree": "0d831987d781f596f45dbadc4619260f44969ba1", + "version": "6.5.2", + "port-version": 0 + }, + { + "git-tree": "b9854803006b93e0c755bad2e044a79973818db1", + "version": "6.5.1", + "port-version": 0 + }, + { + "git-tree": "250bcb4eb32ec73ee4376ec7af6a365c8f8f61f1", + "version": "6.5.0", + "port-version": 0 + }, + { + "git-tree": "cef8861fee214027a5ade446692eafb6490fb7ea", + "version": "6.4.3", + "port-version": 1 + }, + { + "git-tree": "9b5466522d3ff72530716724384c7122f4ffe8c1", + "version": "6.4.3", + "port-version": 0 + }, + { + "git-tree": "93dd16659d96b8d0911642034a58258ea7a2f171", + "version": "6.4.2", + "port-version": 0 + }, + { + "git-tree": "03a0af9e99d6ed7ad1e3f7004224379166d8cac4", + "version": "6.4.1", + "port-version": 0 + }, + { + "git-tree": "00e0ddf20dd73813cfa1f4f61e5f97fa9b890678", + "version": "6.4.0", + "port-version": 0 + }, + { + "git-tree": "8e93248b1057ff1e417b25871fe37775a3714f25", + "version": "6.3.2", + "port-version": 0 + }, + { + "git-tree": "66528f9f10385e04a300e217aa15aa8fd8a82677", + "version": "6.3.1", + "port-version": 0 + }, + { + "git-tree": "248b7ff0cd48d36410f9fde1119d2624260a4c6a", + "version": "6.3.0", + "port-version": 0 + }, + { + "git-tree": "8a8cb6fb5af80519ad2f3d0e9f80a027f1d16165", + "version": "6.2.4", + "port-version": 0 + }, + { + "git-tree": "36832dd9f2bf65b94b7b51bf37db50eaf266baf8", + "version": "6.2.3", + "port-version": 0 + }, + { + "git-tree": "ef310559b2cef5f8dd1e2eee6c2f52c3942d0f26", + "version-semver": "6.2.2", + "port-version": 0 + }, { "git-tree": "04d26846445cac21376cf3b80264394fb6a83778", "version-semver": "6.2.1", diff --git a/versions/q-/quadtree.json b/versions/q-/quadtree.json index 683efa19d6cbd0..876fe6fbd1dba6 100644 --- a/versions/q-/quadtree.json +++ b/versions/q-/quadtree.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "b1beabac970fd0cbcf8b01f5a7cdf649c2a04ee0", + "version-date": "2022-04-24", + "port-version": 0 + }, { "git-tree": "9c4c1d118e5fc939670bd38e92453cfd3f92e3c5", "version-string": "2020-04-13", diff --git a/versions/q-/quantlib.json b/versions/q-/quantlib.json index 3277be8627ec43..00281a94d60458 100644 --- a/versions/q-/quantlib.json +++ b/versions/q-/quantlib.json @@ -1,5 +1,75 @@ { "versions": [ + { + "git-tree": "23781cb492d79ad899f97d89b7479e978c52b71d", + "version": "1.36", + "port-version": 0 + }, + { + "git-tree": "b0dfe33379e9412c9ef411bdd5505d76728b8a61", + "version": "1.35", + "port-version": 0 + }, + { + "git-tree": "fba242bf1761f859aaa2d0768f555b71f06fe587", + "version": "1.34", + "port-version": 0 + }, + { + "git-tree": "3180c49a9f9f6091aafc085dc5fc132c9ec67f9c", + "version": "1.33", + "port-version": 0 + }, + { + "git-tree": "8c1dde04a75974f93af79e0ee812e43f1260ab4b", + "version": "1.32", + "port-version": 0 + }, + { + "git-tree": "eb8bae6053207228b42d957b8a2e0d187f4173e7", + "version": "1.31.1", + "port-version": 0 + }, + { + "git-tree": "8ac6c8c86ff5e72374f06da30e08bea335041ee6", + "version": "1.31", + "port-version": 0 + }, + { + "git-tree": "8a4c25e9a7ca2099d8a528f7477a43fd60a271bb", + "version": "1.30", + "port-version": 0 + }, + { + "git-tree": "0b303bae8ef48f28c1cf4cf88b717756c1a20a1b", + "version": "1.29", + "port-version": 0 + }, + { + "git-tree": "9507c0b648cda5733adf67cabafd6cadb849eff5", + "version": "1.28", + "port-version": 0 + }, + { + "git-tree": "1b757843f94ec0950f693324ea419498a12e415f", + "version": "1.27", + "port-version": 0 + }, + { + "git-tree": "f5eb0f25fa5fdff2d0fd4b5cc1f1bb2e98033b59", + "version": "1.26", + "port-version": 1 + }, + { + "git-tree": "3af9ced73240dfb4e1ec776c5f9a16ac277d1c27", + "version": "1.26", + "port-version": 0 + }, + { + "git-tree": "4d702f6d14c1a91b83a4950dd05e3b200700cfd8", + "version": "1.25", + "port-version": 0 + }, { "git-tree": "d8519a43e706ff22152e65942f48e5abd75bb76f", "version": "1.24", diff --git a/versions/q-/quaternions.json b/versions/q-/quaternions.json index 045481f0561c4e..7dc8557d76f338 100644 --- a/versions/q-/quaternions.json +++ b/versions/q-/quaternions.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "4d4dbad40b4bc58a73f0c49490f43204130b8bd8", + "version": "1.0.0", + "port-version": 2 + }, { "git-tree": "99b78fe0eae2a9ccdad34ba39bc165eccc547c3b", "version-string": "1.0.0", diff --git a/versions/q-/quazip.json b/versions/q-/quazip.json index c1aac224fd751d..eb15a68e45fb94 100644 --- a/versions/q-/quazip.json +++ b/versions/q-/quazip.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "0e981c8d145807aac756fc5e289f7190cf106c91", + "version": "1.4", + "port-version": 1 + }, + { + "git-tree": "20b5c279bf0a7075a9d6cddb9c1de0e4e4adc0ec", + "version": "1.4", + "port-version": 0 + }, + { + "git-tree": "54222787c577b97f8051aa2e69fa89956be6e4b6", + "version": "1.3", + "port-version": 2 + }, + { + "git-tree": "41bc9e2c011d91275f6b44d638257f88ee6223c8", + "version": "1.3", + "port-version": 1 + }, + { + "git-tree": "92000bba1473465da5e5de8864acc0e49250b2f2", + "version": "1.3", + "port-version": 0 + }, + { + "git-tree": "7e1b1da3a71a9e98c52bad16aef6c0666d993b56", + "version": "1.1", + "port-version": 1 + }, { "git-tree": "2fcb780cdf45dcb2a99c42837d9be27f5d07615e", "version": "1.1", diff --git a/versions/q-/quickfast.json b/versions/q-/quickfast.json index a446f3445f0b7a..a784ef56496191 100644 --- a/versions/q-/quickfast.json +++ b/versions/q-/quickfast.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "a91e7769068c7d5d6bb16dbdff559d85027a0dff", + "version": "1.5", + "port-version": 4 + }, + { + "git-tree": "77f7681738424a915e7c12e3b9ea0576c5549032", + "version": "1.5", + "port-version": 3 + }, + { + "git-tree": "0fccc4f826e7b7002dca145c70c29dd1c062d6d6", + "version-string": "1.5", + "port-version": 2 + }, { "git-tree": "69093dff874378ce87be6b821000e058e5ab3452", "version-string": "1.5", diff --git a/versions/q-/quickfix.json b/versions/q-/quickfix.json index 45666d9a0f4d95..969cfa66d88d59 100644 --- a/versions/q-/quickfix.json +++ b/versions/q-/quickfix.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "08f8b2eb6b5493a1faae9707021fe1d287ed6fa5", + "version": "1.15.1", + "port-version": 9 + }, + { + "git-tree": "a8cdc0c05fb161bb28059f93d8dc05ea60d4c118", + "version": "1.15.1", + "port-version": 8 + }, + { + "git-tree": "73e9e7e7bcc08f6f0f491d68cd2ff93f5571353f", + "version": "1.15.1", + "port-version": 7 + }, + { + "git-tree": "a9ec8c3d5dfd310a3f5d5c54bebc6030b4cad0c6", + "version": "1.15.1", + "port-version": 6 + }, { "git-tree": "d374a1da06a6765ceeb510d6b65afd8ee97194ad", "version-string": "1.15.1", diff --git a/versions/q-/quill.json b/versions/q-/quill.json index da355a2fc5bc1e..cd4d5a679561c9 100644 --- a/versions/q-/quill.json +++ b/versions/q-/quill.json @@ -1,5 +1,215 @@ { "versions": [ + { + "git-tree": "4ebfc3eb058877de15f2f11a1b882f5a245ddc69", + "version": "7.5.0", + "port-version": 0 + }, + { + "git-tree": "7aeea8da61572a72a505293f4ece86842d7075bf", + "version": "7.4.0", + "port-version": 0 + }, + { + "git-tree": "b8aab28e69e8c787ce6fa70fd3f984978ac93ccf", + "version": "7.3.0", + "port-version": 0 + }, + { + "git-tree": "ee3c2134358b12e94978f8cd3885b9ef698cc996", + "version": "7.1.0", + "port-version": 0 + }, + { + "git-tree": "ba1b3f6495dfbb58241ff298964c855e31f2b074", + "version": "6.1.2", + "port-version": 0 + }, + { + "git-tree": "0bc9b3f56fe36a0a10ae3550c711e98f01d8321b", + "version": "5.0.0", + "port-version": 0 + }, + { + "git-tree": "eee411380f028040f3ef96cf66d32f2692db29a8", + "version": "4.5.0", + "port-version": 0 + }, + { + "git-tree": "bd3a32da571b34118598f0d412b6de3ec8cf0644", + "version": "4.4.1", + "port-version": 0 + }, + { + "git-tree": "2b4f74cb7d015a962820f430d713a78211d7a4a1", + "version": "4.4.0", + "port-version": 0 + }, + { + "git-tree": "dc24037b23dee5d077217b27da6e1e55d0f3773a", + "version": "4.3.0", + "port-version": 0 + }, + { + "git-tree": "917d334c1a784bef09f68036b78d415761f4dbbb", + "version": "4.1.0", + "port-version": 0 + }, + { + "git-tree": "37bdd037d3be8510199f4b6cf39287542a65aff2", + "version": "3.9.0", + "port-version": 0 + }, + { + "git-tree": "1baadc387cdf462b4cb8d5982f15127cf8ee5ed1", + "version": "3.8.0", + "port-version": 0 + }, + { + "git-tree": "81e17cd69f71a64d4847ab108ed917613cc53d2b", + "version": "3.7.0", + "port-version": 0 + }, + { + "git-tree": "b89cd42d5b7c6ea3fb7ca7daa2469d661b9f4b94", + "version": "3.6.0", + "port-version": 0 + }, + { + "git-tree": "9d6c9021a753a5c95afe327c1e6262c3a7312506", + "version": "3.5.1", + "port-version": 0 + }, + { + "git-tree": "9a01ed0ad565d67bf90a71b996c45b767e4f88ba", + "version": "3.5.0", + "port-version": 0 + }, + { + "git-tree": "8c2da56c7367f81e726a9a9e346b0c718447671b", + "version": "3.4.1", + "port-version": 0 + }, + { + "git-tree": "97fc8d7f2a2d08df4f1f8b9d69a9e1d28e66aecc", + "version": "3.4.0", + "port-version": 0 + }, + { + "git-tree": "06ce851a1057845ec0b0eb879eb49e208a2c319e", + "version": "3.3.1", + "port-version": 0 + }, + { + "git-tree": "01864ad09e447d83801734e67bb68681323d050f", + "version": "3.3.0", + "port-version": 0 + }, + { + "git-tree": "d6a0bc935a79b82c346bdd0ea001ed7b051ed571", + "version": "3.2.0", + "port-version": 0 + }, + { + "git-tree": "115bc3d12264c44fbbe7fbe6469044e7b873aa9a", + "version": "3.1.0", + "port-version": 0 + }, + { + "git-tree": "9b47e691385beaa29c7906dad0b911602c601ccd", + "version": "3.0.2", + "port-version": 0 + }, + { + "git-tree": "e99204ad49b5de261987492e81a290fa15d66626", + "version": "3.0.1", + "port-version": 0 + }, + { + "git-tree": "7d0b893d24e4034db0e663e68c95188a26523d29", + "version": "2.9.1", + "port-version": 0 + }, + { + "git-tree": "134b2fe4a72269e7e9be72b882fcf21f37ed1809", + "version": "2.9.0", + "port-version": 0 + }, + { + "git-tree": "bbf59f883b4fd8de5efdb3401847fa1f8e486a95", + "version": "2.8.0", + "port-version": 0 + }, + { + "git-tree": "4e295cb41ae38fae9cc3330af5ef0c000f515959", + "version": "2.7.0", + "port-version": 0 + }, + { + "git-tree": "91d7f282e0b3378fafecb5b60e5297cb1bccb718", + "version": "2.6.0", + "port-version": 0 + }, + { + "git-tree": "fc18d76e282bb5aeebb87a3c51edee6ce56e2d6a", + "version": "2.5.1", + "port-version": 0 + }, + { + "git-tree": "7fe7b94a1b021a83770a3ff6d4b2939804bb4bf9", + "version": "2.4.2", + "port-version": 0 + }, + { + "git-tree": "8b2ab7a8f72bd483d07a6fbafc08a4be9948e975", + "version": "2.3.3", + "port-version": 0 + }, + { + "git-tree": "384141a2266ca5073f31307b4c1103cb532b5b65", + "version": "2.3.2", + "port-version": 0 + }, + { + "git-tree": "970b5bf8d060f0cd51048c922226b755c21ac4b8", + "version": "2.3.0", + "port-version": 0 + }, + { + "git-tree": "a49ab25dd1b0c7287b11f8ca4c0ba4a0117658cc", + "version": "2.2.0", + "port-version": 0 + }, + { + "git-tree": "cf93531e147436f75761409a5148fbd6cc1969f8", + "version": "2.1.0", + "port-version": 0 + }, + { + "git-tree": "fb911c05f1ad501f9b87ea3918d4badef41d16e4", + "version": "2.0.0", + "port-version": 0 + }, + { + "git-tree": "d663be1266a5e973411f7bf422d3b901609098e8", + "version": "1.7.2", + "port-version": 0 + }, + { + "git-tree": "bfe7d0bbdf62856534c0d3783135b2bca1fea312", + "version": "1.7.1", + "port-version": 0 + }, + { + "git-tree": "a267f26f50e991400ca01b2dd40dec6a71cefee3", + "version": "1.7.0", + "port-version": 0 + }, + { + "git-tree": "19f0208595bbec6d64a4e34e351b530d091212bd", + "version-semver": "1.6.3", + "port-version": 4 + }, { "git-tree": "037a819f5cf482d84083318e120e076c711a2760", "version-semver": "1.6.3", diff --git a/versions/q-/quirc.json b/versions/q-/quirc.json index dc70374be3516f..1bef63dc83cd1f 100644 --- a/versions/q-/quirc.json +++ b/versions/q-/quirc.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "f586c894573b92fc601590eb0e38b3e54e0c7f5c", + "version": "1.2", + "port-version": 0 + }, + { + "git-tree": "85b17d675bbbb05448d16af79d434bc5fca51f7b", + "version": "1.1", + "port-version": 3 + }, { "git-tree": "15bad29ef4d2466b236311ce7af075dbb9507ed9", "version": "1.1", diff --git a/versions/q-/qwt-qt6.json b/versions/q-/qwt-qt6.json new file mode 100644 index 00000000000000..6d1454bf817890 --- /dev/null +++ b/versions/q-/qwt-qt6.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "96c2132cd5810b4a9950650768fb759738d3b929", + "version-semver": "6.2.0", + "port-version": 0 + } + ] +} diff --git a/versions/q-/qwt.json b/versions/q-/qwt.json index 21451b536427ff..4170dd1dcab5a8 100644 --- a/versions/q-/qwt.json +++ b/versions/q-/qwt.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "0790b160a3437533b20a9f7eca6b41868f236b5e", + "version": "6.3.0", + "port-version": 0 + }, + { + "git-tree": "a1e2a09246f114b613350042641546934ea0ff27", + "version-date": "2023-05-12", + "port-version": 0 + }, + { + "git-tree": "1b200939b471ac5ff1f02f62ed38715d4efc6df8", + "version": "6.2.0+20220616", + "port-version": 1 + }, + { + "git-tree": "a1b3566c4c60065d5ace2db38b6ce97543534e6f", + "version": "6.2.0+20220616", + "port-version": 0 + }, + { + "git-tree": "c1e9f6474ec00dce373a287dcb04cca0a7398fa2", + "version-semver": "6.2.0", + "port-version": 2 + }, + { + "git-tree": "10d24bfb82979ffa078d34a17f976d2646e1cf5f", + "version-semver": "6.2.0", + "port-version": 1 + }, { "git-tree": "e7204097fda082c43e704e356702fd77aa3c9a52", "version-semver": "6.2.0", diff --git a/versions/q-/qwtw.json b/versions/q-/qwtw.json index 81d0fd2cca70a1..8a89b4e08b89cd 100644 --- a/versions/q-/qwtw.json +++ b/versions/q-/qwtw.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "48138fbfb30a40a3a78cd2ecd61ed0d3fc9e24ea", + "version": "3.1.0", + "port-version": 3 + }, + { + "git-tree": "b5e27a5ec415b3edbce8dd6ea8d09bf2022b75f1", + "version": "3.1.0", + "port-version": 2 + }, { "git-tree": "debc8598b11213981d8489a27ca97894a72621c6", "version-string": "3.1.0", diff --git a/versions/r-/rabit.json b/versions/r-/rabit.json index 8a176c7dbcdc68..453f4e180dd0db 100644 --- a/versions/r-/rabit.json +++ b/versions/r-/rabit.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "35485a2d9060abcad1c7bd21647986b7e88d9bc0", + "version": "0.1", + "port-version": 5 + }, + { + "git-tree": "50ee4512e6e59245f356eceed9c60d036d5983ab", + "version-string": "0.1", + "port-version": 4 + }, { "git-tree": "9f9eebc8facd648396bcb224fbcad95893cdf5ce", "version-string": "0.1", diff --git a/versions/r-/ragel.json b/versions/r-/ragel.json index 92947bb2b8f31f..657359e7c58047 100644 --- a/versions/r-/ragel.json +++ b/versions/r-/ragel.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "efacd9dde74b0cd221344329fd3f950f60ba39ca", + "version": "6.10", + "port-version": 6 + }, + { + "git-tree": "a3d1aa86cc062c7e0e6b1233388150f57da301dd", + "version-string": "6.10", + "port-version": 5 + }, { "git-tree": "364b93a4fe696a4002011aec3acf202aafb74a30", "version-string": "6.10", diff --git a/versions/r-/random123.json b/versions/r-/random123.json new file mode 100644 index 00000000000000..37fb262d5a8fa0 --- /dev/null +++ b/versions/r-/random123.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "c4e7e093d8eabdc89b0634e4a361e4a982c7cbe5", + "version": "1.14.0", + "port-version": 0 + } + ] +} diff --git a/versions/r-/randomstr.json b/versions/r-/randomstr.json new file mode 100644 index 00000000000000..d0edba7c462664 --- /dev/null +++ b/versions/r-/randomstr.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "231d69b973b9219271281ebe6d125c4c31380b87", + "version-date": "2022-02-03", + "port-version": 0 + } + ] +} diff --git a/versions/r-/range-v3-vs2015.json b/versions/r-/range-v3-vs2015.json index 49e74ab86c3f7b..7e99d8155e31e8 100644 --- a/versions/r-/range-v3-vs2015.json +++ b/versions/r-/range-v3-vs2015.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "ad11ff1674f1db018ff9b5001fea3c95ef62cc16", + "version": "20151130-vcpkg5", + "port-version": 3 + }, + { + "git-tree": "0f067993520ed7aa3241b7af46d6e3b9120b9950", + "version": "20151130-vcpkg5", + "port-version": 2 + }, { "git-tree": "7323da8a61ce8b5fc2e0cb3a59cff779c484e4e0", "version-string": "20151130-vcpkg5", diff --git a/versions/r-/range-v3.json b/versions/r-/range-v3.json index 4b82362f3aca76..be52a3d3e7c2be 100644 --- a/versions/r-/range-v3.json +++ b/versions/r-/range-v3.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "909bba8e9818ca395699107ce92bdb73c221ace2", + "version": "0.12.0", + "port-version": 4 + }, + { + "git-tree": "6c5cc9ec0604083c62d9f92276a0751076f28c0d", + "version": "0.12.0", + "port-version": 3 + }, + { + "git-tree": "7e6294e4a64a35e87443969f304bab2a7542f25e", + "version": "0.12.0", + "port-version": 2 + }, + { + "git-tree": "864506aee2d18e1ff840f863bac8bb7600308ec4", + "version": "0.12.0", + "port-version": 1 + }, + { + "git-tree": "1f7f986d35e34cf810a966f9695ad094736de9de", + "version": "0.12.0", + "port-version": 0 + }, + { + "git-tree": "78edaab693f001b38b155c3ef35a85036fd938ae", + "version-date": "2021-11-02", + "port-version": 0 + }, { "git-tree": "fa8057ea7b4f44f684ce2e6178914dac0cafbe53", "version-string": "0.11.0", diff --git a/versions/r-/rapidcheck.json b/versions/r-/rapidcheck.json index d20603ebb17034..5b1ebb5301bcc7 100644 --- a/versions/r-/rapidcheck.json +++ b/versions/r-/rapidcheck.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "ae0c6ab09dc7d61410a0e349cad8e93eb5df7cd8", + "version-date": "2023-12-14", + "port-version": 0 + }, + { + "git-tree": "877f68258111c56c800195acac48c034458933d4", + "version-date": "2023-01-13", + "port-version": 0 + }, + { + "git-tree": "137241bc40d8475b70a28ce182e41cb6036f49d9", + "version-date": "2021-12-20", + "port-version": 0 + }, + { + "git-tree": "3cdc87364b35dbbcb96376a19da063b6d6d008ec", + "version-date": "2021-10-10", + "port-version": 0 + }, { "git-tree": "f583dcd38987b483ebe1f1b954cc7fb21cd08144", "version-string": "2020-08-25", diff --git a/versions/r-/rapidcsv.json b/versions/r-/rapidcsv.json index 4785f328cec6fc..6080a585ddb009 100644 --- a/versions/r-/rapidcsv.json +++ b/versions/r-/rapidcsv.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "62b6074da263ca7864da9eb1e26d0ed4b9e00412", + "version": "8.84", + "port-version": 0 + }, + { + "git-tree": "478468828d67563a15d2f68d5999a28064538e46", + "version": "8.83", + "port-version": 0 + }, + { + "git-tree": "970f398017a383c61f6c8e46116443235f001d6d", + "version": "8.82", + "port-version": 0 + }, + { + "git-tree": "4b8c616fc3d8226d7c5f69e2bb24543483a1dac0", + "version": "8.80", + "port-version": 0 + }, + { + "git-tree": "1842f5ea6077feea4ef5d07bb43e2fd648763718", + "version": "8.64", + "port-version": 0 + }, { "git-tree": "712023c784b983f8f85088dedc94c0d6fa53907e", "version": "8.53", diff --git a/versions/r-/rapidfuzz.json b/versions/r-/rapidfuzz.json new file mode 100644 index 00000000000000..8c1a40b532bdc6 --- /dev/null +++ b/versions/r-/rapidfuzz.json @@ -0,0 +1,29 @@ +{ + "versions": [ + { + "git-tree": "77721c6b7e406690a3f73db1cf0b96f4dc72b1b6", + "version": "3.0.5", + "port-version": 0 + }, + { + "git-tree": "35d0d77a550717759a49511c62cc1d8558560934", + "version": "3.0.4", + "port-version": 0 + }, + { + "git-tree": "b67c1176c228ba451337c217c45c0c7ef2bca6c4", + "version": "3.0.2", + "port-version": 0 + }, + { + "git-tree": "5adbaf988800a6554ee8fcada97f56a62d89e722", + "version": "2.0.0", + "port-version": 0 + }, + { + "git-tree": "e4ccc785af13a54ced4b4333612323f98a85b68b", + "version": "1.8.0", + "port-version": 0 + } + ] +} diff --git a/versions/r-/rapidhash.json b/versions/r-/rapidhash.json new file mode 100644 index 00000000000000..eaea37e7105c28 --- /dev/null +++ b/versions/r-/rapidhash.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "97d04719fec2967e72b307dd23a4439de952c07d", + "version-date": "2024-06-08", + "port-version": 0 + } + ] +} diff --git a/versions/r-/rapidjson.json b/versions/r-/rapidjson.json index ba72dc4b650ee0..c0a5a6df2ace1d 100644 --- a/versions/r-/rapidjson.json +++ b/versions/r-/rapidjson.json @@ -1,5 +1,45 @@ { "versions": [ + { + "git-tree": "a3dfe7dca3a1a27564b1fc5a9aea657cd9dae01c", + "version-date": "2023-07-17", + "port-version": 1 + }, + { + "git-tree": "9da8fa409b1afef5674fe412237db0504cf6156e", + "version-date": "2023-07-17", + "port-version": 0 + }, + { + "git-tree": "ea1032a866631acc7d63b4804be4ece09baeb47f", + "version-date": "2023-04-27", + "port-version": 0 + }, + { + "git-tree": "b33122751fc9d722f05cc50538aa9b6d08e2d105", + "version-date": "2022-06-28", + "port-version": 3 + }, + { + "git-tree": "f3770e13ddf21ddf223c84dab78f3d04d4f25750", + "version-date": "2022-06-28", + "port-version": 2 + }, + { + "git-tree": "bf72eff187a248a24485011d16b0a8259e40ed59", + "version-date": "2022-06-28", + "port-version": 1 + }, + { + "git-tree": "36ea3aaadfb5ae8186ef4ab68c231203743e9c3f", + "version-date": "2022-06-28", + "port-version": 0 + }, + { + "git-tree": "14f78d728ea7cd8b0872521a88e71162325a103f", + "version-date": "2020-09-14", + "port-version": 2 + }, { "git-tree": "6d70aec68e6db30b2fb6b659bc6f1453fe8c80a3", "version-date": "2020-09-14", diff --git a/versions/r-/rapidxml-ns.json b/versions/r-/rapidxml-ns.json index ea933065d6f296..7349eb2cb19fbe 100644 --- a/versions/r-/rapidxml-ns.json +++ b/versions/r-/rapidxml-ns.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "1549988737e5a9e2215e8bf782e66db4cf03c373", + "version": "1.13.2", + "port-version": 2 + }, { "git-tree": "073f99111cb3bba2632117601ccc024e3f98b508", "version-string": "1.13.2", diff --git a/versions/r-/rapidxml.json b/versions/r-/rapidxml.json index af020f2d70531a..feeda9e74c0b94 100644 --- a/versions/r-/rapidxml.json +++ b/versions/r-/rapidxml.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "a460282de022af98f967771cdecab3efee97bc5d", + "version": "1.13", + "port-version": 6 + }, { "git-tree": "160f717432a1eed69af62a9eb7c724031609994a", "version-string": "1.13", diff --git a/versions/r-/rappture.json b/versions/r-/rappture.json index ae1cfa5a6216f4..ffb1871bafb29b 100644 --- a/versions/r-/rappture.json +++ b/versions/r-/rappture.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "31376dbc3c6b3f397f76819c46c05a653c47e1ce", + "version": "1.9", + "port-version": 4 + }, + { + "git-tree": "fabc9ec282c2f7ec7f5d5e2ae48fbaacb9227876", + "version": "1.9", + "port-version": 3 + }, + { + "git-tree": "8a477ff69e89f147d8d51545dce1eaf309401bc2", + "version": "1.9", + "port-version": 2 + }, { "git-tree": "46511874b74e433c10e518d592ae43a475bb7aaf", "version": "1.9", diff --git a/versions/r-/raygui.json b/versions/r-/raygui.json new file mode 100644 index 00000000000000..541e3deba263f5 --- /dev/null +++ b/versions/r-/raygui.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "d9b03e4c1effd2eabeac64b8475b55aedea84511", + "version": "4.0", + "port-version": 0 + }, + { + "git-tree": "9de0bb8aebc0b8a41b4c973b5820ace3c0015ad3", + "version": "3.6", + "port-version": 0 + }, + { + "git-tree": "96eade6012fdd28a62fd21748edfd06d63674317", + "version": "3.2", + "port-version": 0 + } + ] +} diff --git a/versions/r-/raylib.json b/versions/r-/raylib.json index 27e111f9adfd63..79e6f99314998c 100644 --- a/versions/r-/raylib.json +++ b/versions/r-/raylib.json @@ -1,5 +1,60 @@ { "versions": [ + { + "git-tree": "e16299f8e3d6b40674ce53b106b764bd7459ad63", + "version": "5.0", + "port-version": 2 + }, + { + "git-tree": "6ef397a5c5afb217736842e45d9610d084a1fb2d", + "version": "5.0", + "port-version": 1 + }, + { + "git-tree": "7cf5ce249c066d11ea5afe9ed15972663992c0f2", + "version": "5.0", + "port-version": 0 + }, + { + "git-tree": "8481bb808a6e0cdd0862e22df7b59cc0e13542cc", + "version-semver": "4.5.0", + "port-version": 2 + }, + { + "git-tree": "1ae048ec33152df88804d243fd6e89691d5712d2", + "version-semver": "4.5.0", + "port-version": 1 + }, + { + "git-tree": "f8a98453d76631d6a8f4f8d762646808cc3e9e1a", + "version-semver": "4.5.0", + "port-version": 0 + }, + { + "git-tree": "f3416dbe0e282bf0df99b8147aa78b0c4c3c0263", + "version-semver": "4.2.0", + "port-version": 1 + }, + { + "git-tree": "84270f09d9ecfed2207ea866910905fdfcf8b229", + "version-semver": "4.2.0", + "port-version": 0 + }, + { + "git-tree": "0b15021a8c0247cf83d5e4ca352b7e53b510b743", + "version-semver": "4.0.0", + "port-version": 3 + }, + { + "git-tree": "94a36f9f2d45dcba0e7ee689b5d58ad11bc4a4b9", + "version-semver": "4.0.0", + "port-version": 2 + }, + { + "git-tree": "4ab1c8406a740fce2da5e0844b10aea89850d044", + "version-semver": "4.0.0", + "port-version": 1 + }, { "git-tree": "394d0afab6e94ac36b289e350cdf2b8886560bb4", "version-semver": "4.0.0", diff --git a/versions/r-/rbdl-orb.json b/versions/r-/rbdl-orb.json index b9a6133f8c879a..7efcfecd998086 100644 --- a/versions/r-/rbdl-orb.json +++ b/versions/r-/rbdl-orb.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "43ffd107db5a63e5c663a98259e3bdcb932fca10", + "version": "3.2.0", + "port-version": 2 + }, + { + "git-tree": "8471512e28002dc4d68bac4b43769172c22db5dd", + "version": "3.1.2", + "port-version": 1 + }, { "git-tree": "c6cec01f39c02f0ac2164e31e4615e21a80f4515", "version": "3.1.2", diff --git a/versions/r-/rbdl.json b/versions/r-/rbdl.json index cc9bc2e16bce36..3394686a2f9c74 100644 --- a/versions/r-/rbdl.json +++ b/versions/r-/rbdl.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "1dc8279017fb2aa827bcaf37fcf9e6af6b8bb751", + "version": "3.3.0", + "port-version": 7 + }, + { + "git-tree": "c6a8a964a403cf9fe31d6c21173f309af1cd8474", + "version": "3.3.0", + "port-version": 6 + }, + { + "git-tree": "9a6d8dcfc91836032a5365ce4cd5a31aca1338a3", + "version": "3.3.0", + "port-version": 5 + }, + { + "git-tree": "70c51c8d79d0dab6a483d160024c6bc68a8169c3", + "version": "3.2.0", + "port-version": 4 + }, + { + "git-tree": "9d0f94e12844bb594f54986246e876569cfca0c1", + "version": "2.6.0", + "port-version": 3 + }, { "git-tree": "48b44c8cf3286f0ce9c87b95e126634997d03137", "version": "2.6.0", diff --git a/versions/r-/re2.json b/versions/r-/re2.json index 5b1f86ba8e53bc..38d893f07404f8 100644 --- a/versions/r-/re2.json +++ b/versions/r-/re2.json @@ -1,5 +1,50 @@ { "versions": [ + { + "git-tree": "d35be5fcf5b689f48cd7f7b71c1dbd783283427a", + "version-date": "2024-07-02", + "port-version": 0 + }, + { + "git-tree": "f583b8b9d194d943c7409dce77b31e9d2fd17c4d", + "version-date": "2024-06-01", + "port-version": 0 + }, + { + "git-tree": "c0f4eacf4c6b1c048bb3fc11fd0abf9e4981aa64", + "version-date": "2024-04-01", + "port-version": 2 + }, + { + "git-tree": "19e35429ba172da1f08743ff317d504fa21bebf3", + "version-date": "2024-04-01", + "port-version": 1 + }, + { + "git-tree": "aa0f6c4f73231f8b623c799eb8d88e67c6a65481", + "version-date": "2024-04-01", + "port-version": 0 + }, + { + "git-tree": "b37a5ff97ad79996c84fcdf0984a57ea03a0aaf8", + "version-date": "2023-07-01", + "port-version": 0 + }, + { + "git-tree": "14eb0d3352692934f5fe5300aaec9139b4962b58", + "version-date": "2023-02-01", + "port-version": 0 + }, + { + "git-tree": "622b48ad1927f6fc98b265e22941f82149fa1795", + "version-date": "2022-12-01", + "port-version": 0 + }, + { + "git-tree": "6034cf8c8e47962b3fb9c85c99e8fffee9844bc3", + "version-date": "2021-11-01", + "port-version": 1 + }, { "git-tree": "484badfb46eb8db12106ed1017ddf4029e37d575", "version-date": "2021-11-01", diff --git a/versions/r-/reactiveplusplus.json b/versions/r-/reactiveplusplus.json new file mode 100644 index 00000000000000..6a61d72b460fc3 --- /dev/null +++ b/versions/r-/reactiveplusplus.json @@ -0,0 +1,24 @@ +{ + "versions": [ + { + "git-tree": "1407c20d8866c628e6e3b6b3723b349e7804403b", + "version": "2.1.1", + "port-version": 0 + }, + { + "git-tree": "774134fb825ed931da1baa9285611c9a6c606fb5", + "version": "2.0.0", + "port-version": 0 + }, + { + "git-tree": "5c5e055740d26b07149cc34e3dc41ef0674844b2", + "version": "0.2.3", + "port-version": 0 + }, + { + "git-tree": "352a13ae0dacf015a5c79bbfcaceea5d0a5877cf", + "version": "0.2.2", + "port-version": 0 + } + ] +} diff --git a/versions/r-/readerwriterqueue.json b/versions/r-/readerwriterqueue.json index 6b29e95fa40795..81d967a64720e4 100644 --- a/versions/r-/readerwriterqueue.json +++ b/versions/r-/readerwriterqueue.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "ae76a96e8113f07bd43b2d2239d06d542bb8b681", + "version-semver": "1.0.6", + "port-version": 0 + }, { "git-tree": "fbbab7a7ad42a964d56b72742980ce41d111e2e4", "version-semver": "1.0.5", diff --git a/versions/r-/readline-osx.json b/versions/r-/readline-osx.json new file mode 100644 index 00000000000000..ebc10167346e30 --- /dev/null +++ b/versions/r-/readline-osx.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "30d9d12e0486393aaf6929c5786829e5ca2cff5f", + "version-date": "2020-01-04", + "port-version": 0 + }, + { + "git-tree": "5b4b6fabb77d9f67ee0a4dcc7981040d9177caed", + "version": "8.1", + "port-version": 0 + } + ] +} diff --git a/versions/r-/readline-unix.json b/versions/r-/readline-unix.json new file mode 100644 index 00000000000000..5c2834dce9b3cd --- /dev/null +++ b/versions/r-/readline-unix.json @@ -0,0 +1,29 @@ +{ + "versions": [ + { + "git-tree": "4ad0f063e0bf86f7bfbf455e7a1f7f16883528f0", + "version": "8.2", + "port-version": 1 + }, + { + "git-tree": "19fcd2b764ea6d261dfbd80961833e807cf93ea0", + "version": "8.2", + "port-version": 0 + }, + { + "git-tree": "e81a9fe4baa7c437b6e6d9636ae7c291e2ed81e9", + "version": "8.1", + "port-version": 2 + }, + { + "git-tree": "cc7ba8176a2492af17dc561bcb82c36f7c89e540", + "version": "8.1", + "port-version": 1 + }, + { + "git-tree": "e2ef4d4f472d6fe4f36009032dfdd3279a50c754", + "version": "8.1", + "port-version": 0 + } + ] +} diff --git a/versions/r-/readline-win32.json b/versions/r-/readline-win32.json index b2d5f3ac5c0e04..da1428f0335e4b 100644 --- a/versions/r-/readline-win32.json +++ b/versions/r-/readline-win32.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "17ef6e54653697cb7e9c90a807bbcf2c271c7020", + "version": "5.0", + "port-version": 9 + }, + { + "git-tree": "9c7dd189ed4434c993da75506f0b6d4e94b7f952", + "version": "5.0", + "port-version": 8 + }, + { + "git-tree": "932081e9a1f922cd1f3e710fd9fd426f882360aa", + "version": "5.0", + "port-version": 7 + }, + { + "git-tree": "c54e93659340794a88b8122fde8123941f0be228", + "version": "5.0", + "port-version": 6 + }, + { + "git-tree": "19f9684f55a9aa01b5612a5ebec47960f51bacdd", + "version": "5.0", + "port-version": 5 + }, + { + "git-tree": "b1ed33b8ec37a1cf44926c9954b6943bce302b70", + "version": "5.0", + "port-version": 4 + }, { "git-tree": "5d2ea2655a570f6c0fd17689715d542336d531ea", "version-string": "5.0", diff --git a/versions/r-/readline.json b/versions/r-/readline.json index 672cc6f0c6b34a..26acc5d439c703 100644 --- a/versions/r-/readline.json +++ b/versions/r-/readline.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "f4d85b7efb4b5a01e60852a81a351971c8c5dd78", + "version": "0", + "port-version": 5 + }, + { + "git-tree": "24b7f806888a5db397f8d737e361e2c9e5025c1f", + "version": "0", + "port-version": 4 + }, + { + "git-tree": "87822d2ce5b0936d374d94185da700e8a1cf4619", + "version-string": "0", + "port-version": 3 + }, + { + "git-tree": "b5c6800bc0cf924ec6bdbe627c9460839774f998", + "version-string": "0", + "port-version": 2 + }, { "git-tree": "1e0a62b3927f5b41e7861093dba7d2e2aa4de0b2", "version-string": "0", diff --git a/versions/r-/readosm.json b/versions/r-/readosm.json index 57b34a2f5099a0..47f0a7a69f4018 100644 --- a/versions/r-/readosm.json +++ b/versions/r-/readosm.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "e91f30f55adfa57ccb0b2787e57991e5f3039921", + "version-string": "1.1.0a", + "port-version": 4 + }, + { + "git-tree": "e04328cccd78bf8d4ec57d70059d49501b361292", + "version-string": "1.1.0a", + "port-version": 3 + }, + { + "git-tree": "4a5f7efaec651bab56e95ba4db4e8d9316050b9c", + "version-string": "1.1.0a", + "port-version": 2 + }, { "git-tree": "32ab4a5c33cd4854b932547e791af28e39e4586e", "version-string": "1.1.0a", diff --git a/versions/r-/realm-core.json b/versions/r-/realm-core.json new file mode 100644 index 00000000000000..6d3777ade6d024 --- /dev/null +++ b/versions/r-/realm-core.json @@ -0,0 +1,24 @@ +{ + "versions": [ + { + "git-tree": "9b7b1feb241e6c92f5b300f0446f37d12aab3466", + "version": "14.10.4", + "port-version": 0 + }, + { + "git-tree": "c64fef7ec55844040ed78d90996fdb063556477a", + "version": "14.8.0", + "port-version": 0 + }, + { + "git-tree": "102a758566531c3cc61b8803972dc950baacf946", + "version": "14.6.2", + "port-version": 1 + }, + { + "git-tree": "6c9e380d9d5239dcd4652be4a9794aaff74bd6e6", + "version": "14.6.2", + "port-version": 0 + } + ] +} diff --git a/versions/r-/realsense2.json b/versions/r-/realsense2.json index e8a75384e86625..9ef6862a2af980 100644 --- a/versions/r-/realsense2.json +++ b/versions/r-/realsense2.json @@ -1,5 +1,65 @@ { "versions": [ + { + "git-tree": "6206dc9c187261a734853fb0983ac24302fc07ae", + "version": "2.54.2", + "port-version": 3 + }, + { + "git-tree": "b15354f0a205d2288e63564e2789e317442bd999", + "version": "2.54.2", + "port-version": 2 + }, + { + "git-tree": "17434b2bd3e05364a70afea06d2d7ccb9db544c6", + "version": "2.54.2", + "port-version": 1 + }, + { + "git-tree": "c860a042c288cc1618ea5e728e8eb715b233ff44", + "version": "2.54.2", + "port-version": 0 + }, + { + "git-tree": "29719e1172d7bb950bc88a29ba009e4c4c2d5f27", + "version": "2.54.1", + "port-version": 1 + }, + { + "git-tree": "ba09c586ba854502c24f6abf1b3307e964c8ae16", + "version": "2.54.1", + "port-version": 0 + }, + { + "git-tree": "90cd2f16e28c916f46da66fea9e6de742a26b0c2", + "version": "2.53.1", + "port-version": 0 + }, + { + "git-tree": "fdb245079161fee11eba3127b11c27e539c8a13d", + "version": "2.51.1", + "port-version": 0 + }, + { + "git-tree": "1b967b8979ae93b95b16a7021348e04f534f28c0", + "version": "2.50.0", + "port-version": 1 + }, + { + "git-tree": "310025edf50886cce00c7864f6f21d1eda53b51b", + "version": "2.50.0", + "port-version": 0 + }, + { + "git-tree": "23387c9d073a3e686615bd5c9da9dbf81ae6406d", + "version": "2.49.0", + "port-version": 3 + }, + { + "git-tree": "25c2059547ebbf80994d111edbfc05686696f108", + "version": "2.49.0", + "port-version": 2 + }, { "git-tree": "b7c65d664a018a4d4922c844e8cbcbb05ba597eb", "version": "2.49.0", diff --git a/versions/r-/recast.json b/versions/r-/recast.json index 82f778cd71bafd..b9f2a59db8dee0 100644 --- a/versions/r-/recast.json +++ b/versions/r-/recast.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "08f63ca8f875d78682decac6a5084cf72589ce1f", + "version-string": "deprecated", + "port-version": 0 + }, + { + "git-tree": "f6f99b923ad8fbbee1aafd0deb361f8cf7eb7bd6", + "version": "1.5.1", + "port-version": 6 + }, + { + "git-tree": "fe2b42ef737e0b51a58bb9f56340e324ab8f82c3", + "version": "1.5.1", + "port-version": 5 + }, { "git-tree": "2f34af0b398b4c37f0cdf3fcd8dc9db965e4dd5e", "version": "1.5.1", diff --git a/versions/r-/recastnavigation.json b/versions/r-/recastnavigation.json new file mode 100644 index 00000000000000..38cf40fa95ae8c --- /dev/null +++ b/versions/r-/recastnavigation.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "806d9850ce88d7190649eb90863455084516d519", + "version": "1.6.0", + "port-version": 1 + }, + { + "git-tree": "d08244dcfe4974f58b9dd481f1e3e34414a46207", + "version": "1.6.0", + "port-version": 0 + } + ] +} diff --git a/versions/r-/recycle.json b/versions/r-/recycle.json new file mode 100644 index 00000000000000..719ab3649e32ee --- /dev/null +++ b/versions/r-/recycle.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "0fe3fb2e4ec2870ca2a01029cc4e40c3992572cb", + "version": "6.0.0", + "port-version": 0 + } + ] +} diff --git a/versions/r-/redis-plus-plus.json b/versions/r-/redis-plus-plus.json index 76887d28a2ad0d..501780e876d9f2 100644 --- a/versions/r-/redis-plus-plus.json +++ b/versions/r-/redis-plus-plus.json @@ -1,5 +1,60 @@ { "versions": [ + { + "git-tree": "91fb6d6b9e220a2a75c0df8572ef980fc2313dab", + "version-semver": "1.3.13", + "port-version": 0 + }, + { + "git-tree": "730950cc05d074e23016ee21482de47864501437", + "version-semver": "1.3.12", + "port-version": 0 + }, + { + "git-tree": "0304c085aa643a482f93ed391ba61bed356577f9", + "version-semver": "1.3.10", + "port-version": 0 + }, + { + "git-tree": "8c31ae593f450352915471514d517a772cd5099b", + "version-semver": "1.3.9", + "port-version": 1 + }, + { + "git-tree": "ce8c8a22b5a791c7a3a96d72d5e2ce47881db17c", + "version-semver": "1.3.9", + "port-version": 0 + }, + { + "git-tree": "6be6c4d075dc736952132603d31f0ca568a0edde", + "version-semver": "1.3.8", + "port-version": 1 + }, + { + "git-tree": "c359e3bd938ceb9f3f5cde1b8aa4e435c9123534", + "version-semver": "1.3.8", + "port-version": 0 + }, + { + "git-tree": "6a48ccb1b618d7dedeeb50bde2ecc413b63c3742", + "version-semver": "1.3.7", + "port-version": 0 + }, + { + "git-tree": "ff28095e328281a0f0bba9ad251fb0881f08f5a2", + "version-semver": "1.3.6", + "port-version": 0 + }, + { + "git-tree": "bfb560234e651a06204f44976997b21466ba6a9d", + "version-semver": "1.3.2", + "port-version": 1 + }, + { + "git-tree": "a58c88604be6da2e638127442cc413c0504e2f51", + "version-semver": "1.3.2", + "port-version": 0 + }, { "git-tree": "4da3b8dd26c05426ae7d2a844f854423e9d0624d", "version-semver": "1.3.1", diff --git a/versions/r-/refl-cpp.json b/versions/r-/refl-cpp.json index cdd68689d9e586..8f2ae2b1dbe3d8 100644 --- a/versions/r-/refl-cpp.json +++ b/versions/r-/refl-cpp.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "765482ded64bcc076b2e2140ebff7128643d4811", + "version": "0.12.4", + "port-version": 0 + }, + { + "git-tree": "cb8d6fa4720dd349ab60b95ad01380b55d0d4e1c", + "version": "0.12.3", + "port-version": 1 + }, + { + "git-tree": "7018b2c10e3c2e2be8dd774fb43d2f04fa520a02", + "version": "0.12.3", + "port-version": 0 + }, + { + "git-tree": "f5aea911f8cfd7c6eecadb50142f00205a2e7f57", + "version": "0.12.2", + "port-version": 0 + }, { "git-tree": "109d4729d1755ca3cc45a9b9e54b8e62e2ad20cd", "version": "0.12.1", diff --git a/versions/r-/refprop-headers.json b/versions/r-/refprop-headers.json index a1f65398596b57..bdb95e6473a9f6 100644 --- a/versions/r-/refprop-headers.json +++ b/versions/r-/refprop-headers.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "cd807170148b9b1e7ae93fe6073004fe5438193f", + "version-date": "2022-12-07", + "port-version": 0 + }, + { + "git-tree": "d7ea98d3dfab53c440e5b2da61a3c347b4d00beb", + "version-date": "2019-04-14", + "port-version": 2 + }, { "git-tree": "d8224d6d1e5b4d151c557a1055307624848ce8db", "version-string": "2019-04-14", diff --git a/versions/r-/rendergraph.json b/versions/r-/rendergraph.json new file mode 100644 index 00000000000000..fd5d5683c1e08a --- /dev/null +++ b/versions/r-/rendergraph.json @@ -0,0 +1,34 @@ +{ + "versions": [ + { + "git-tree": "35010e69db9a1234d7931730b83ea42237e115fc", + "version": "1.4.1", + "port-version": 0 + }, + { + "git-tree": "21b4a86663cc8e58b90c3298520db171f349ffbc", + "version": "1.4.0", + "port-version": 0 + }, + { + "git-tree": "189085fb654a90d03e8e1b15971e0b9d6f575270", + "version": "1.3.0", + "port-version": 0 + }, + { + "git-tree": "21270b3d8f507068a293df066628704e1de96d82", + "version": "1.2.0", + "port-version": 0 + }, + { + "git-tree": "d76c6d57a40e1c6e5035e7bef12f6777523de738", + "version": "1.1.0", + "port-version": 0 + }, + { + "git-tree": "d9a3f94947632fcba47a0110eecbbc8a72f5f908", + "version": "1.0.0", + "port-version": 0 + } + ] +} diff --git a/versions/r-/replxx.json b/versions/r-/replxx.json index 1481e75958a087..9e09a73bc70d83 100644 --- a/versions/r-/replxx.json +++ b/versions/r-/replxx.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "5f699bd3a8850016bfd6ff8a8eb03d82fe83bdb9", + "version": "0.0.4", + "port-version": 1 + }, { "git-tree": "d4ea343882654077d63b8e2781b380a545331935", "version": "0.0.4", diff --git a/versions/r-/reproc.json b/versions/r-/reproc.json index ed13fab3fe3cdf..a20bb3176ddc5e 100644 --- a/versions/r-/reproc.json +++ b/versions/r-/reproc.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "b844bd7e62dcad31cd5a38a38416f1d03a017e08", + "version": "14.2.5", + "port-version": 0 + }, + { + "git-tree": "6fc63b3c029742441d22a288db9f37f5e016abbe", + "version": "14.2.4", + "port-version": 2 + }, + { + "git-tree": "eeac14685480439ee52ac05ec68faebb2cbaffad", + "version": "14.2.4", + "port-version": 1 + }, { "git-tree": "7fd87804e3a4b51c657b56c1be69d11e29168b89", "version": "14.2.4", diff --git a/versions/r-/rest-rpc.json b/versions/r-/rest-rpc.json index 8c2be0be3e808e..030c312f9ad7eb 100644 --- a/versions/r-/rest-rpc.json +++ b/versions/r-/rest-rpc.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "e119fcd580545a243afd65efb7160242a2b02b73", + "version": "0.12", + "port-version": 1 + }, + { + "git-tree": "0ae642ae2a86dcfcf77e4c027ab0c4267987020e", + "version": "0.12", + "port-version": 0 + }, { "git-tree": "05fad9e9e4a1d76707fbcb7da2d06338eb9ff8ce", "version-string": "0.07", diff --git a/versions/r-/restbed.json b/versions/r-/restbed.json index 846c82f734e1b0..4eaea4fb6ac4df 100644 --- a/versions/r-/restbed.json +++ b/versions/r-/restbed.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "1d606ecb46ac21637b8d40e1dc3fe175e721e987", + "version": "4.8", + "port-version": 3 + }, + { + "git-tree": "c41ea5f5396b24a4566efaea78d996fcbc2c4ec2", + "version": "4.8", + "port-version": 2 + }, + { + "git-tree": "17ada73eb1e860f2e1ac3b1dd9769ba3115dea29", + "version": "4.8", + "port-version": 1 + }, + { + "git-tree": "3b134a281ce09ee7258a281808cca0e40ff2f7d1", + "version": "4.8", + "port-version": 0 + }, { "git-tree": "deab0777d5581a96752beb7528254f02380daf46", "version-string": "4.7", diff --git a/versions/r-/restc-cpp.json b/versions/r-/restc-cpp.json index bf4a8ac5a3626d..d57eca451e4ea3 100644 --- a/versions/r-/restc-cpp.json +++ b/versions/r-/restc-cpp.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "a235e9d1d43ab7da08a5e411ab04db28877e6108", + "version-semver": "0.10.0", + "port-version": 4 + }, + { + "git-tree": "d19c339247ae8eab33e5141cfe985b86c440dcde", + "version-semver": "0.10.0", + "port-version": 3 + }, + { + "git-tree": "2e57eacc4df802951e1ae319194becc2bc3e0fb4", + "version-semver": "0.10.0", + "port-version": 2 + }, { "git-tree": "98f2e4aed1e4c9a84df72116c4036a59a3d59436", "version-semver": "0.10.0", diff --git a/versions/r-/restclient-cpp.json b/versions/r-/restclient-cpp.json index 398b5ed52dfffb..06de994004adbc 100644 --- a/versions/r-/restclient-cpp.json +++ b/versions/r-/restclient-cpp.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "7eeae27247c8a1e6f5dab2356cb94370aaabb7fc", + "version-date": "2022-02-09", + "port-version": 0 + }, { "git-tree": "ab5e52242e8403aa8b9b26a60baead129e2a1798", "version-string": "0.5.2", diff --git a/versions/r-/restinio.json b/versions/r-/restinio.json index 955e2e8b28ba96..0626a3a00577e7 100644 --- a/versions/r-/restinio.json +++ b/versions/r-/restinio.json @@ -1,5 +1,55 @@ { "versions": [ + { + "git-tree": "aa093f294381710788902b37a1d8e4625d730990", + "version": "0.7.2", + "port-version": 0 + }, + { + "git-tree": "b59b3fc1e00b5abdfbbedaeb495e2816aeee1b44", + "version": "0.7.1", + "port-version": 0 + }, + { + "git-tree": "06ab98765576c8b3d11f5a9a1d4125e0176c482a", + "version": "0.7.0", + "port-version": 0 + }, + { + "git-tree": "fa95495106621bad74854c9f376a2c5e1b936f05", + "version": "0.6.19", + "port-version": 0 + }, + { + "git-tree": "f749e69b703a537f74f52fcef9327950e7d56ea9", + "version": "0.6.18", + "port-version": 0 + }, + { + "git-tree": "7b285cfa0e43e1964ca4a91d2375516aa8121d79", + "version": "0.6.17", + "port-version": 0 + }, + { + "git-tree": "d203c65a6c07e890c752ab69d981546bc208763e", + "version": "0.6.16", + "port-version": 0 + }, + { + "git-tree": "07fadf731052fa7900593db32c0515cba8c45138", + "version": "0.6.15", + "port-version": 0 + }, + { + "git-tree": "ea4d99d764e913dd233ac8d1df27c6720f5ccbd9", + "version": "0.6.14", + "port-version": 1 + }, + { + "git-tree": "65493f16b394fd5a61f908afc058dae965a60989", + "version": "0.6.14", + "port-version": 0 + }, { "git-tree": "2e3eb39da32552d1e5682e5d450e29046c1990ad", "version-string": "0.6.13", diff --git a/versions/r-/rhash.json b/versions/r-/rhash.json index 32c38505f3e938..89ebba44326d50 100644 --- a/versions/r-/rhash.json +++ b/versions/r-/rhash.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "2b7adcfa5ff805a8b180650cf8ded7ad2db5e527", + "version": "1.4.5", + "port-version": 0 + }, + { + "git-tree": "a3e224c21215bd63a0404550b6b396254a60635e", + "version": "1.4.4", + "port-version": 1 + }, + { + "git-tree": "cb7e94fe8d5d109574fd0e304e246c780f0b43c5", + "version": "1.4.4", + "port-version": 0 + }, + { + "git-tree": "85de223344c08a1efc2f9f6ec6bcb69529851199", + "version": "1.4.2", + "port-version": 1 + }, + { + "git-tree": "385025c1a8f84dfaf6035c2d730fb4ae0d8b16fd", + "version": "1.4.2", + "port-version": 0 + }, + { + "git-tree": "db6e2fc777b1ffb5257989484d303fc52e9b39f5", + "version": "1.4.0", + "port-version": 2 + }, { "git-tree": "ade1e1726434d28ad58715f9b6a3c005a1f243bb", "version-string": "1.4.0", diff --git a/versions/r-/rhasheq.json b/versions/r-/rhasheq.json new file mode 100644 index 00000000000000..00f0060c86c79c --- /dev/null +++ b/versions/r-/rhasheq.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "ba4955f3d43cf99dfa0d770482ba6cf62d97ab4e", + "version-date": "2023-06-17", + "port-version": 0 + }, + { + "git-tree": "1f26547ad3e879dcf8083e3db488bdb1cda587f4", + "version": "0.0.1", + "port-version": 0 + } + ] +} diff --git a/versions/r-/riffcpp.json b/versions/r-/riffcpp.json index c80ef8a96ab732..cc84e5acd810aa 100644 --- a/versions/r-/riffcpp.json +++ b/versions/r-/riffcpp.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "2726a0276bb4fb9f93c818173ec5d46d84d40f08", + "version": "2.2.4", + "port-version": 3 + }, + { + "git-tree": "2709604490dce2c3a52b6818542cd4ce71d8712d", + "version-string": "2.2.4", + "port-version": 2 + }, { "git-tree": "cdebe05ce8fe9f40915d3a17abfcd79cac90c21f", "version-string": "2.2.4", diff --git a/versions/r-/ring-span-lite.json b/versions/r-/ring-span-lite.json index 8da793052c543e..fb6f93bd1c9452 100644 --- a/versions/r-/ring-span-lite.json +++ b/versions/r-/ring-span-lite.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "62eb02fed10bee7fd6da67269e091e41c0c7fae1", + "version": "0.7.0", + "port-version": 0 + }, + { + "git-tree": "f7d5dcb8d6378a7e127de36f38fe041118d268d0", + "version": "0.6.0", + "port-version": 1 + }, { "git-tree": "1357f573addef91177f5912c9855cf3cfbc2b265", "version": "0.6.0", diff --git a/versions/r-/rioki-glow.json b/versions/r-/rioki-glow.json new file mode 100644 index 00000000000000..73625406e7881f --- /dev/null +++ b/versions/r-/rioki-glow.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "626e258c92e0d41283d63d2c264dfbe78239d2d5", + "version-semver": "0.2.1", + "port-version": 0 + }, + { + "git-tree": "c7d83181fde1e5535022c2dc3fccfaa38c37c3ab", + "version-semver": "0.2.0", + "port-version": 0 + } + ] +} diff --git a/versions/r-/rivers.json b/versions/r-/rivers.json new file mode 100644 index 00000000000000..aa284ec96bfbac --- /dev/null +++ b/versions/r-/rivers.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "9a0a33765347e8652eecf77097b57cfdbc7e4184", + "version-date": "2022-05-16", + "port-version": 0 + } + ] +} diff --git a/versions/r-/rkcommon.json b/versions/r-/rkcommon.json new file mode 100644 index 00000000000000..783153d5f9857a --- /dev/null +++ b/versions/r-/rkcommon.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "8cb7b4f4e7f1977f1596d7fd84fc52c3cf1349b7", + "version": "1.14.2", + "port-version": 0 + }, + { + "git-tree": "49683a2cd8b631ffd2d2f47bc8affc258a5f836e", + "version": "1.10.0", + "port-version": 0 + } + ] +} diff --git a/versions/r-/rlottie.json b/versions/r-/rlottie.json new file mode 100644 index 00000000000000..ff95b3f857c92d --- /dev/null +++ b/versions/r-/rlottie.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "df335ab1c8bf80f06eecb4df7b3a6d57f1a5d8b3", + "version-date": "2024-08-26", + "port-version": 0 + } + ] +} diff --git a/versions/r-/rmlui.json b/versions/r-/rmlui.json index 73fad0f96b7704..7a1a9a39b1d7e1 100644 --- a/versions/r-/rmlui.json +++ b/versions/r-/rmlui.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "fdd8836a66e7c33d1454a1a1376ad32bf78da5f1", + "version": "6.0", + "port-version": 1 + }, + { + "git-tree": "845eceb8c79319709a6bee36adacb6b58ab81a05", + "version": "6.0", + "port-version": 0 + }, + { + "git-tree": "cef931b140aa6e09bed6aa57445d5f726ba2bd8b", + "version": "5.1", + "port-version": 1 + }, + { + "git-tree": "eef365a991fcf66a1848ed65bb9af75e767ffce6", + "version": "5.1", + "port-version": 0 + }, + { + "git-tree": "7938b94aadfdba5af77643ebec4d36a7e6037e29", + "version": "5.0", + "port-version": 0 + }, + { + "git-tree": "d98cdd5cd06d9640e908e0b08f81c35a07e36b18", + "version": "4.4", + "port-version": 0 + }, + { + "git-tree": "aaaaf8e01725428c22bcd3f6dcfef56568433dec", + "version": "4.3", + "port-version": 0 + }, { "git-tree": "67865d8852b0c90297adca30ee2640e469eb91d7", "version": "4.2", diff --git a/versions/r-/rmqcpp.json b/versions/r-/rmqcpp.json new file mode 100644 index 00000000000000..326fee419f2b08 --- /dev/null +++ b/versions/r-/rmqcpp.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "5671a6b2d1b566222dbe12642e6e4fd86c9cc7f5", + "version": "1.0.0", + "port-version": 1 + }, + { + "git-tree": "3ad0bdbdcfd0050a646feb6586d8c13931f8e602", + "version": "1.0.0", + "port-version": 0 + } + ] +} diff --git a/versions/r-/roaring.json b/versions/r-/roaring.json index 4ec4c761658d62..21be1a75488dbe 100644 --- a/versions/r-/roaring.json +++ b/versions/r-/roaring.json @@ -1,5 +1,60 @@ { "versions": [ + { + "git-tree": "4f909ea11609b7ecc39adb23a0397a33b30ec669", + "version": "4.2.1", + "port-version": 0 + }, + { + "git-tree": "3d86b5e35bc1f6655fe75db03d7ed895f1050831", + "version": "4.1.3", + "port-version": 0 + }, + { + "git-tree": "8e8e8dad98996839e8fbab2a942466556deb3335", + "version": "4.1.2", + "port-version": 0 + }, + { + "git-tree": "c036b926559c1f8bcb09d09a714c6750dcc1ffa6", + "version": "4.1.1", + "port-version": 0 + }, + { + "git-tree": "0b75f1e0ab32aa84c8680cc6d70bc3784b56c5ee", + "version": "4.0.0", + "port-version": 0 + }, + { + "git-tree": "3802168890217c493a9010f4cc1f9eeb5f3e729d", + "version": "3.0.1", + "port-version": 0 + }, + { + "git-tree": "16e32a026e04f3343d6a94721c5dd643f3bf75eb", + "version": "3.0.0", + "port-version": 0 + }, + { + "git-tree": "0179f926fd785b55019104fb010fb99ebcfa5e06", + "version": "2.0.4", + "port-version": 0 + }, + { + "git-tree": "d1f8636ba82d39c12bea0f5a09409a5a5321432a", + "version": "0.9.6", + "port-version": 0 + }, + { + "git-tree": "98f7eb1a2902435670c2f7eb019a47d4cbe4451a", + "version": "0.7.1", + "port-version": 1 + }, + { + "git-tree": "53f447b8e40bdaef2d1e693942505f95357e7279", + "version": "0.7.1", + "port-version": 0 + }, { "git-tree": "bd4d38440852b0d89e5bb4f1248f4090dcca5b8e", "version-string": "2019-03-05", diff --git a/versions/r-/robin-hood-hashing.json b/versions/r-/robin-hood-hashing.json index 85b708e7733f30..071d8847183462 100644 --- a/versions/r-/robin-hood-hashing.json +++ b/versions/r-/robin-hood-hashing.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "79b90adbe2f012facdd920fdb6454bc21c84399e", + "version": "3.11.5", + "port-version": 0 + }, + { + "git-tree": "6f9ac2b49724c52f213148e36f09e886e346f1f8", + "version": "3.11.4", + "port-version": 0 + }, { "git-tree": "312efe5364281f04a0401cf9e7752041972f6e10", "version": "3.11.3", diff --git a/versions/r-/robin-map.json b/versions/r-/robin-map.json index 94e2dbd7e18462..59e45aa8d6c507 100644 --- a/versions/r-/robin-map.json +++ b/versions/r-/robin-map.json @@ -1,13 +1,38 @@ { "versions": [ + { + "git-tree": "871309930022b0d1aad42fe05bc257ed5443baed", + "version-semver": "1.3.0", + "port-version": 0 + }, + { + "git-tree": "061efd5e82a37c4e5a2d196c9e8370b2c3893f73", + "version-semver": "1.2.2", + "port-version": 0 + }, + { + "git-tree": "1f0de8df8eb08609cbc9eeb91cca774b0664b588", + "version-semver": "1.2.1", + "port-version": 0 + }, + { + "git-tree": "c9028bfe2eb66beaa1a44bf4816223fed81d6657", + "version-semver": "1.0.1", + "port-version": 1 + }, + { + "git-tree": "3d169ebe25cc931f31bc343d6b21e734070902ed", + "version-semver": "1.0.1", + "port-version": 0 + }, { "git-tree": "95d49e16c7a8ef523608ef8e7d8fb019085789b8", "version-semver": "0.6.3", "port-version": 1 }, { - "git-tree": "3a6eb0ea067edf2d06baa7706281caf96df4216a", - "version-semver": "0.6.3", + "git-tree": "84f1433234bb4813feee71e4042174ec9e8d5a7a", + "version-string": "0.6.3", "port-version": 0 }, { diff --git a/versions/r-/robotraconteur-companion.json b/versions/r-/robotraconteur-companion.json new file mode 100644 index 00000000000000..e7b194cad4ba22 --- /dev/null +++ b/versions/r-/robotraconteur-companion.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "c1df5476994d65c9237315095c5be35461769979", + "version-semver": "0.4.1", + "port-version": 0 + }, + { + "git-tree": "ea627026fece9dea23b555957a5298e894c665b5", + "version-semver": "0.3.1", + "port-version": 0 + } + ] +} diff --git a/versions/r-/robotraconteur.json b/versions/r-/robotraconteur.json new file mode 100644 index 00000000000000..50177bbca29b85 --- /dev/null +++ b/versions/r-/robotraconteur.json @@ -0,0 +1,44 @@ +{ + "versions": [ + { + "git-tree": "e06d696abd877a6b37474ae0ab6dc28aed9fba6e", + "version-semver": "1.2.4", + "port-version": 0 + }, + { + "git-tree": "bdd3cf35dc9e8f88733b8a34b6cbde70965a2d96", + "version-semver": "1.2.3", + "port-version": 0 + }, + { + "git-tree": "6fb1b853df0bf5c82e2f41d71e859c180aab3908", + "version-semver": "1.2.2", + "port-version": 0 + }, + { + "git-tree": "0e34e3482a83197c388357b0ad61179cf03f1967", + "version-semver": "1.2.1", + "port-version": 0 + }, + { + "git-tree": "1d871d5b5f391925c534c6a801ecd7e644ffaa30", + "version-semver": "1.2.0", + "port-version": 1 + }, + { + "git-tree": "5607a942906a086cd399770048006177c2371081", + "version-semver": "1.2.0", + "port-version": 0 + }, + { + "git-tree": "da6a4cf1a0949a70ff94feb0df9241b73c88a249", + "version-semver": "1.1.1", + "port-version": 0 + }, + { + "git-tree": "3c14da3e3dcf13b70904a04d988437c786032398", + "version-semver": "1.0.0", + "port-version": 0 + } + ] +} diff --git a/versions/r-/rocksdb.json b/versions/r-/rocksdb.json index b04903afad7e60..69ba054579dff3 100644 --- a/versions/r-/rocksdb.json +++ b/versions/r-/rocksdb.json @@ -1,5 +1,95 @@ { "versions": [ + { + "git-tree": "8ce8b6f1ccbf6bad527b66d963d04f24c7ebfded", + "version": "9.7.2", + "port-version": 0 + }, + { + "git-tree": "32a9555ab053c2799730d8bd8ebc92a199a7447f", + "version": "9.6.1", + "port-version": 0 + }, + { + "git-tree": "bcb8943fbea96acf609beedb6a193ffb10978cc8", + "version": "9.2.1", + "port-version": 0 + }, + { + "git-tree": "1460212626dfc8413dd4452c20f1c068acaacb29", + "version": "9.1.0", + "port-version": 0 + }, + { + "git-tree": "4cb8ef91306fda868ede38beecc64af96d804923", + "version": "9.0.0", + "port-version": 0 + }, + { + "git-tree": "83270ff433858db27ac486fe2cf6f9c1e96b5576", + "version": "8.11.3", + "port-version": 0 + }, + { + "git-tree": "00b3130e81114b517e3a4324c9a0408e1b9ac3d7", + "version": "8.10.0", + "port-version": 0 + }, + { + "git-tree": "0262aa76211da9eacdd5e70f88bf172eaef286bd", + "version": "8.9.1", + "port-version": 0 + }, + { + "git-tree": "caf00463e9aa52209110783d90fa39066eaa4249", + "version": "8.5.3", + "port-version": 0 + }, + { + "git-tree": "3d5c9033fedfbf0a9e993125f5511616b894f493", + "version": "8.3.2", + "port-version": 0 + }, + { + "git-tree": "284f182a8687ee7818ab84d5e7ada9bd5612cfcb", + "version": "8.0.0", + "port-version": 0 + }, + { + "git-tree": "b09fc2a59392bb41e23e2eb0120eac2a77faca97", + "version": "7.10.2", + "port-version": 0 + }, + { + "git-tree": "9ab4b0ca16f88be2bcddaab354944e2650a33b77", + "version": "7.9.2", + "port-version": 0 + }, + { + "git-tree": "216ddcf58e82ef42dd259ee9f60a63c6e2c38324", + "version": "7.8.3", + "port-version": 0 + }, + { + "git-tree": "75a06574e71a8183f4ebce319c7cc23708cda756", + "version": "7.7.3", + "port-version": 1 + }, + { + "git-tree": "1b0ad6702e484372e6608e77d244a1f1d5cf9d1e", + "version": "7.7.3", + "port-version": 0 + }, + { + "git-tree": "609a9d8753d7bb5e410ac6adbe53f097abdd0a76", + "version": "6.27.3", + "port-version": 0 + }, + { + "git-tree": "c65e598bc60aa73009c1c09f9644622dcfcbca50", + "version": "6.26.1", + "port-version": 0 + }, { "git-tree": "0d44549994de82c2029c4972e60c90e145bb9d40", "version-string": "6.14.6", diff --git a/versions/r-/rpclib.json b/versions/r-/rpclib.json index 6bf33a47b202d3..a675c04fb55314 100644 --- a/versions/r-/rpclib.json +++ b/versions/r-/rpclib.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "0bf42157905ee1aa4686ab978e6a17f650f78434", + "version-semver": "2.3.0", + "port-version": 2 + }, { "git-tree": "b19a21c8e68b3e689495b961664f63450ffdd35d", "version-semver": "2.3.0", diff --git a/versions/r-/rply.json b/versions/r-/rply.json index 95424c74174718..ea9ea85331a428 100644 --- a/versions/r-/rply.json +++ b/versions/r-/rply.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "7adc1bc3b350c2a61baf3d54bf4cdfdc02e11392", + "version": "1.1.4", + "port-version": 4 + }, + { + "git-tree": "824058a46ec01bf8d290a56e3b42f1b01ef4ce68", + "version": "1.1.4", + "port-version": 3 + }, + { + "git-tree": "bd6882d9bea26ba3fafbebd6327e2ca075af5a32", + "version-string": "1.1.4", + "port-version": 2 + }, { "git-tree": "c983b6df94d2d53f422e44c1b00ad033b5367781", "version-string": "1.1.4", diff --git a/versions/r-/rsasynccpp.json b/versions/r-/rsasynccpp.json index 398e8cc0f510ab..27731d034dc988 100644 --- a/versions/r-/rsasynccpp.json +++ b/versions/r-/rsasynccpp.json @@ -1,9 +1,24 @@ { "versions": [ + { + "git-tree": "7f6d24a0e92e32d4bfdba144d4c449d672313c89", + "version": "0.0.7", + "port-version": 3 + }, + { + "git-tree": "44c0663e6c7ee48730c4db3336c455e1e45c473a", + "version": "0.0.7", + "port-version": 2 + }, + { + "git-tree": "7fc33d5002210774c5e4d7450a0cd88c3be82ca8", + "version": "0.0.7", + "port-version": 1 + }, { "git-tree": "80995d80f9e7e551f8305ce2cecb0a91bc9c457a", "version": "0.0.7", "port-version": 0 - } + } ] } diff --git a/versions/r-/rsig.json b/versions/r-/rsig.json new file mode 100644 index 00000000000000..53e6037760b013 --- /dev/null +++ b/versions/r-/rsig.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "525def3216ac409d83ec19c46ac670dc3f74bb8a", + "version-semver": "0.1.1", + "port-version": 0 + }, + { + "git-tree": "ead8c39f676072093b0b65df27d2f34414ef056a", + "version-semver": "0.1.0", + "port-version": 0 + } + ] +} diff --git a/versions/r-/rsm-binary-io.json b/versions/r-/rsm-binary-io.json index 168955fe12c314..f935cd2e66a8fb 100644 --- a/versions/r-/rsm-binary-io.json +++ b/versions/r-/rsm-binary-io.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "f89c1962171e765068e679e0e89c4607f97ce8cb", + "version-semver": "2.0.6", + "port-version": 0 + }, + { + "git-tree": "a170dd2013d45c86b272169552cf4ac52a5d1c79", + "version-semver": "2.0.5", + "port-version": 0 + }, + { + "git-tree": "954debdfb4b8f785728e7c263ea3ea3ee7093253", + "version-semver": "2.0.4", + "port-version": 1 + }, { "git-tree": "36b0aaf84f89c1ba6e63fe0da7ab72b6c1ccf535", "version-semver": "2.0.4", diff --git a/versions/r-/rsm-bsa.json b/versions/r-/rsm-bsa.json index 2623b9cb98dedb..c3b9695671281c 100644 --- a/versions/r-/rsm-bsa.json +++ b/versions/r-/rsm-bsa.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "1cd731f50095336045c52135640ccab426741366", + "version-semver": "4.1.0", + "port-version": 1 + }, + { + "git-tree": "56763c1c1befe44030f14704e1be0c05424f039e", + "version-semver": "4.1.0", + "port-version": 0 + }, + { + "git-tree": "f91c3a5ffa0abe0eb4b3dc47421fb302dd258b05", + "version-semver": "4.0.3", + "port-version": 0 + }, + { + "git-tree": "c1791d77c435bd1a78a330e3c0bab2da49b8f183", + "version-semver": "4.0.2", + "port-version": 0 + }, + { + "git-tree": "ab00b90abe4a8c06ede41183ef67b2208ae42297", + "version-semver": "4.0.0", + "port-version": 1 + }, { "git-tree": "a41057388bf027523e46eed7031efc1fb3920c17", "version-semver": "4.0.0", diff --git a/versions/r-/rsm-mmio.json b/versions/r-/rsm-mmio.json index ac662f9756a3d9..7f14bad7728fd9 100644 --- a/versions/r-/rsm-mmio.json +++ b/versions/r-/rsm-mmio.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "9e1a7d844e1e48dab00aab46943a739a4fe2f3e4", + "version-semver": "2.0.0", + "port-version": 0 + }, + { + "git-tree": "b64c5538a5de9cc3e4e516ba97f437480b94c6f0", + "version-semver": "1.1.0", + "port-version": 2 + }, { "git-tree": "634597e88010f239748fafb52c6e8f431242b53a", "version-semver": "1.1.0", diff --git a/versions/r-/rsocket.json b/versions/r-/rsocket.json index bccb827b42405f..f15b3753b192ad 100644 --- a/versions/r-/rsocket.json +++ b/versions/r-/rsocket.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "c0da11bfe773e995165d1a052406e5b95374cf0d", + "version-string": "2021.08.30.00", + "port-version": 5 + }, + { + "git-tree": "50711928560987beb101dcf47148369fb993ba89", + "version-string": "2021.08.30.00", + "port-version": 4 + }, + { + "git-tree": "52b82b815b431e296ffea53c1ce955c7df267d82", + "version-string": "2021.08.30.00", + "port-version": 3 + }, + { + "git-tree": "b1d02b39aaa70e97e3ec2551d1cfc6ae1a163199", + "version-string": "2021.08.30.00", + "port-version": 2 + }, + { + "git-tree": "073c3faa3992179768ce7e76cc7d39b654db9e8c", + "version-string": "2021.08.30.00", + "port-version": 1 + }, + { + "git-tree": "9dbf0f51130cc7c6e2c23a2ca3a104e22384f4e7", + "version-string": "2021.08.30.00", + "port-version": 0 + }, + { + "git-tree": "79beeb5c846c3ecdb386e7b3445adf1ac42314df", + "version-string": "2020.05.04.00", + "port-version": 3 + }, { "git-tree": "c7ad735194f400692ba373c493c23778cbfe2c79", "version-string": "2020.05.04.00", diff --git a/versions/r-/rtabmap-res-tool.json b/versions/r-/rtabmap-res-tool.json new file mode 100644 index 00000000000000..96967bac015a15 --- /dev/null +++ b/versions/r-/rtabmap-res-tool.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "459047a0d2fb7d01cdfd1758985d74dbce0b0f53", + "version": "0.21.4.1", + "port-version": 0 + } + ] +} diff --git a/versions/r-/rtabmap.json b/versions/r-/rtabmap.json index d9d7bb4fb870ed..76323019173994 100644 --- a/versions/r-/rtabmap.json +++ b/versions/r-/rtabmap.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "1161d6eb7dacc4aa2cff53381126c89c87f30fe0", + "version": "0.21.4.1", + "port-version": 2 + }, + { + "git-tree": "cfca9d505617acdca97ff519d414ae7e4a05ffa3", + "version": "0.21.4.1", + "port-version": 1 + }, + { + "git-tree": "ce0d77ecd72de4931d1230d3d0383a7f2e7295b7", + "version": "0.21.4.1", + "port-version": 0 + }, + { + "git-tree": "b50a72e16aaa8ba99447348c26463d8b47cb34f5", + "version": "0.21.4", + "port-version": 1 + }, + { + "git-tree": "67e8fc47e9b1181a3a00d2d5c08f2be32728c48e", + "version": "0.21.4", + "port-version": 0 + }, + { + "git-tree": "9764edeececed7fb37c356a6e00cb3f983dbf1fb", + "version": "0.21.0", + "port-version": 3 + }, + { + "git-tree": "63d580588bb49ec2767eed209af0c854cc2d5da2", + "version": "0.21.0", + "port-version": 2 + }, + { + "git-tree": "6a0ba7b4b9ea0239aa474d40263d96919a81958c", + "version": "0.21.0", + "port-version": 1 + }, + { + "git-tree": "557a37dc751f64ec6040505e57074251f2441822", + "version": "0.21.0", + "port-version": 0 + }, + { + "git-tree": "f820f54d02aada9453b8d26fb72d03dc30e04bf9", + "version": "0.20.23", + "port-version": 2 + }, + { + "git-tree": "f9f15f5c198b5b94b443fdcf6dfc69edebcc4d0b", + "version": "0.20.23", + "port-version": 1 + }, + { + "git-tree": "cd9a851bb263675d109cd74a896d766a08a2342a", + "version": "0.20.23", + "port-version": 0 + }, + { + "git-tree": "03425e1733ea172a21e79235cef0a05b9791eb10", + "version": "0.20.16", + "port-version": 0 + }, + { + "git-tree": "b51506f789882022d1af0556521079694ce5cf62", + "version": "0.20.13", + "port-version": 4 + }, + { + "git-tree": "cf41f524585ec0c2dd5b8c7d8b455a79265b62ea", + "version": "0.20.13", + "port-version": 3 + }, + { + "git-tree": "3dc228c0e837f979396a930bc24e8cf92f6190e3", + "version": "0.20.13", + "port-version": 2 + }, { "git-tree": "93a792dbedcec5e900509396ebbe4461cde51320", "version-string": "0.20.13", diff --git a/versions/r-/rtaudio.json b/versions/r-/rtaudio.json index 41ce62151682ba..dbf98c2af146be 100644 --- a/versions/r-/rtaudio.json +++ b/versions/r-/rtaudio.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "07842f7b2096168243d97720d33ec5436b0d6365", + "version": "6.0.1", + "port-version": 1 + }, + { + "git-tree": "b97a9859776e7d23b21a9660e9b31e69fdb84185", + "version": "6.0.1", + "port-version": 0 + }, + { + "git-tree": "989c7dceafbd4ea849445d86bdc1b4bbf7133960", + "version-date": "2021-11-16", + "port-version": 2 + }, + { + "git-tree": "f1adbba529fbfd9b66a7951556a088e0834baa09", + "version-date": "2021-11-16", + "port-version": 1 + }, + { + "git-tree": "21e8b0bced3d3323d342ac96a2b779415fdd11ac", + "version-date": "2021-11-16", + "port-version": 0 + }, + { + "git-tree": "603a92374a5c37c3efb3bc48aaee17b64046f7be", + "version-date": "2021-08-15", + "port-version": 2 + }, { "git-tree": "89b766b5d1b97a4e306dd358db18a2a5d0505824", "version-date": "2021-08-15", diff --git a/versions/r-/rtlsdr.json b/versions/r-/rtlsdr.json index 491572e70d4633..53d1401eaa3ea4 100644 --- a/versions/r-/rtlsdr.json +++ b/versions/r-/rtlsdr.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "34080655f9f5ad3c03d665ded67df7469407a78c", + "version-date": "2020-04-16", + "port-version": 4 + }, + { + "git-tree": "62e4eb78a7e4f9cbbd24db08dd3f59ed284222e1", + "version-date": "2020-04-16", + "port-version": 3 + }, { "git-tree": "5ba19a6253c583cb9d97ea7ad3570c49284fadb1", "version-string": "2020-04-16", diff --git a/versions/r-/rtmfp-cpp.json b/versions/r-/rtmfp-cpp.json new file mode 100644 index 00000000000000..c30393cbe2bb38 --- /dev/null +++ b/versions/r-/rtmfp-cpp.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "1636dde21e228a5529dc9195b72b138e7fe1eca0", + "version": "1.5.1", + "port-version": 0 + }, + { + "git-tree": "f79ae1d45117b5405db38e63128165d5c4a5114a", + "version": "1.4.0-20230213.18168ec", + "port-version": 0 + } + ] +} diff --git a/versions/r-/rtmidi.json b/versions/r-/rtmidi.json index 07e63c77adaeff..34ca056589a068 100644 --- a/versions/r-/rtmidi.json +++ b/versions/r-/rtmidi.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "cd6d5a044a924c8ba7f3a1243ab28ca22c224f28", + "version": "6.0.0", + "port-version": 0 + }, + { + "git-tree": "83f2bd1bc41359997ee59a894bbfe5aab7e5a5df", + "version": "5.0.0", + "port-version": 3 + }, + { + "git-tree": "70873823ce910dcf80078a94f12191371523d84c", + "version": "5.0.0", + "port-version": 2 + }, + { + "git-tree": "30614a92baff91c2d2790029179dbb37122ca331", + "version": "5.0.0", + "port-version": 1 + }, + { + "git-tree": "4eb19141251ff7759838e0ab10f35876583d367b", + "version-semver": "5.0.0", + "port-version": 0 + }, + { + "git-tree": "1d922425c684e2dd87ea1691b2ac8f1c0fd808e4", + "version-semver": "4.0.0", + "port-version": 5 + }, + { + "git-tree": "9d72ff2345f2c1b08f4808cedaa0caf87156d295", + "version-semver": "4.0.0", + "port-version": 4 + }, { "git-tree": "4c13583da321fa3efa7a075032d0ed880dd15e48", "version-semver": "4.0.0", diff --git a/versions/r-/rttr.json b/versions/r-/rttr.json index ca08fdf0bc6108..6c0bdeb3fd5a2e 100644 --- a/versions/r-/rttr.json +++ b/versions/r-/rttr.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "942efa7d91154b3d9841608a015b1c216ca0f251", + "version": "0.9.6+20210811", + "port-version": 1 + }, + { + "git-tree": "efee986c87a05c8b3257d2aa4d793441af9e970f", + "version": "0.9.6+20210811", + "port-version": 0 + }, + { + "git-tree": "2a535fc9ac44aea50a9e4f41a4698b86b1a2e747", + "version": "0.9.6", + "port-version": 5 + }, + { + "git-tree": "14ae0cb613a9536333e7463b862276ad0e2e89ee", + "version": "0.9.6", + "port-version": 4 + }, { "git-tree": "ce9e17ebafad158458c38697b246601e00b61ae8", "version-string": "0.9.6", diff --git a/versions/r-/rubberband.json b/versions/r-/rubberband.json new file mode 100644 index 00000000000000..886ea98720afc6 --- /dev/null +++ b/versions/r-/rubberband.json @@ -0,0 +1,44 @@ +{ + "versions": [ + { + "git-tree": "6809f417332532735fe4b2b92ec5c5902077017c", + "version": "4.0.0", + "port-version": 0 + }, + { + "git-tree": "478bcca88451fbdd2fa88816f21449c1b8675e9d", + "version": "3.3.0", + "port-version": 1 + }, + { + "git-tree": "f3a5ed426944950b92d114499028a3c4c5ed3219", + "version": "3.3.0", + "port-version": 0 + }, + { + "git-tree": "e89e7b8691ae1ce66b0e82d00ec50061b23b593a", + "version": "3.2.1", + "port-version": 1 + }, + { + "git-tree": "66dc21d5c29b7406cf1408081b8d99d6df217d4b", + "version": "3.2.1", + "port-version": 0 + }, + { + "git-tree": "2cdedb774d373326dd7b2f2d138280653f97c89b", + "version": "3.2.0", + "port-version": 0 + }, + { + "git-tree": "ce88046ebe45fa738789a3bf6dd843392bcb6fd2", + "version": "3.1.1", + "port-version": 0 + }, + { + "git-tree": "75aeab834246d0e2ba7de5f07901e5d7131397f7", + "version": "2.0.2", + "port-version": 0 + } + ] +} diff --git a/versions/r-/ruckig.json b/versions/r-/ruckig.json new file mode 100644 index 00000000000000..1f8816200782a8 --- /dev/null +++ b/versions/r-/ruckig.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "830d50b509f03638a9066a73d0979eddac5acc68", + "version": "0.14.0", + "port-version": 0 + } + ] +} diff --git a/versions/r-/rxcpp.json b/versions/r-/rxcpp.json index d545b8340d2466..3de7765ca592a0 100644 --- a/versions/r-/rxcpp.json +++ b/versions/r-/rxcpp.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "5f127fb83dfe052e029bd2febf1d9e3eac7ab134", + "version": "4.1.1", + "port-version": 1 + }, + { + "git-tree": "92ae6c5ff3c5a9f81dda630c0b6cc4e69766ee61", + "version": "4.1.1", + "port-version": 0 + }, { "git-tree": "69044b3fc33b35dab3f62471daf96a2a2b27dc0a", "version-string": "4.1.0", diff --git a/versions/r-/rxqt.json b/versions/r-/rxqt.json index 5b12e817352039..d0b8e1c2c77b7c 100644 --- a/versions/r-/rxqt.json +++ b/versions/r-/rxqt.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "1be3aced429fe857b8f1626c3f0bd7399671d8e0", + "version-string": "d0b1535", + "port-version": 1 + }, { "git-tree": "dbea95b878f09cb9bca928af2be2d812b6dffc84", "version-string": "bb2138c", diff --git a/versions/r-/rxspencer.json b/versions/r-/rxspencer.json index 9a23c4747d5635..66d8180da99c47 100644 --- a/versions/r-/rxspencer.json +++ b/versions/r-/rxspencer.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "423d711ba8013c78f3ca4931bf2d6c8a5ecc8ba0", + "version": "3.9.0", + "port-version": 2 + }, + { + "git-tree": "d0db813c47fd33b7e6f5ffb95790b66aafcaa53e", + "version": "3.9.0", + "port-version": 1 + }, { "git-tree": "c3b5bac6d89f6ae425bfe95a4309e72146f944dd", "version": "3.9.0", diff --git a/versions/r-/ryml.json b/versions/r-/ryml.json index 13c188a17fdcaf..c03f811745ad61 100644 --- a/versions/r-/ryml.json +++ b/versions/r-/ryml.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "c8ceae82ba08f1a242ec0b15f80424db37e4847c", + "version": "0.5.0", + "port-version": 1 + }, + { + "git-tree": "f101836eaf27b0d6668be9ab391f6756c3743411", + "version": "0.5.0", + "port-version": 0 + }, + { + "git-tree": "0d8fb44c056a4bea4e4ba19d34cf26a320eb2599", + "version": "0.4.1", + "port-version": 0 + }, { "git-tree": "599ab36a18b1a0c439fdc6dc740bf0575a06641e", "version-date": "2021-07-24", diff --git a/versions/r-/ryu.json b/versions/r-/ryu.json index 5bad84baa79e8e..d4e4ddb62f558d 100644 --- a/versions/r-/ryu.json +++ b/versions/r-/ryu.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "c19f7f75e6695396873fa98b4d39512899a34fb5", + "version": "2.0", + "port-version": 9 + }, + { + "git-tree": "660ffa1a7a15e75dbcff064ac704f53b8a2da880", + "version": "2.0", + "port-version": 8 + }, + { + "git-tree": "9eef3ab0a0bafea6db1a02920f60b756c3eeabfc", + "version": "2.0", + "port-version": 7 + }, + { + "git-tree": "b500b4b86daab326db966564fcd439215eae86ee", + "version": "2.0", + "port-version": 6 + }, { "git-tree": "e620954b8262664cd847436d34b412bc89292854", "version-string": "2.0", diff --git a/versions/s-/s2geometry.json b/versions/s-/s2geometry.json new file mode 100644 index 00000000000000..a0760cc9dc11e1 --- /dev/null +++ b/versions/s-/s2geometry.json @@ -0,0 +1,29 @@ +{ + "versions": [ + { + "git-tree": "3fd94490409a17aef62732c674d5e12b4804fdd8", + "version": "0.11.1", + "port-version": 0 + }, + { + "git-tree": "457e437a209e83c66216a6cd3213d1d2e8791e7e", + "version": "0.11.0", + "port-version": 0 + }, + { + "git-tree": "a42a3249df4efb18f66fccab283c69973e1a535b", + "version": "0.10.0", + "port-version": 0 + }, + { + "git-tree": "e72b94e77bff8c357c4cd2430094c4dadf21c174", + "version": "0.9.0", + "port-version": 1 + }, + { + "git-tree": "3cfb53e7df6cf6c9602e63606daa377568c52cd8", + "version": "0.9.0", + "port-version": 0 + } + ] +} diff --git a/versions/s-/s2n.json b/versions/s-/s2n.json index c974721885c153..bcc291f0e0b7c0 100644 --- a/versions/s-/s2n.json +++ b/versions/s-/s2n.json @@ -1,5 +1,45 @@ { "versions": [ + { + "git-tree": "eb07be3d0d2f927badd5e4add1727a7104811c9b", + "version": "1.5.5", + "port-version": 0 + }, + { + "git-tree": "cf330f1b71f9308d5af43845a67b5105b5cee213", + "version": "1.4.16", + "port-version": 0 + }, + { + "git-tree": "4249ebdeba4e52237f5098d11a0664ffe6884a93", + "version": "1.4.8", + "port-version": 0 + }, + { + "git-tree": "1a5705f86914ceeaa101adb9b7aca73c785aa584", + "version": "1.3.56", + "port-version": 0 + }, + { + "git-tree": "2928707380a76632c3953b843ce34019fbf2c90c", + "version": "1.3.34", + "port-version": 0 + }, + { + "git-tree": "6eed0d44ebcda6eea8c4a79b37ee119b9125060a", + "version": "1.3.5", + "port-version": 0 + }, + { + "git-tree": "7cb2325defd326de178cf524bd5db039ff1dc112", + "version": "1.3.0", + "port-version": 1 + }, + { + "git-tree": "a8252a918117164e1f6472663244fda74690f849", + "version": "1.3.0", + "port-version": 0 + }, { "git-tree": "b1f3fbca47339363713845a0e8e06c52c1198a2a", "version": "1.1.1", diff --git a/versions/s-/safeint.json b/versions/s-/safeint.json index 49f9530c9eff10..53c70ca5aa7aea 100644 --- a/versions/s-/safeint.json +++ b/versions/s-/safeint.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "b9378ba8e5d646bc02646ac3e53233e81c482b23", + "version": "3.0.28", + "port-version": 0 + }, { "git-tree": "58748cf68cd1ee3e6ca45e53bb9059f9ae787349", "version": "3.0.26", diff --git a/versions/s-/sail.json b/versions/s-/sail.json index f9326142ab419e..e216f5230c50df 100644 --- a/versions/s-/sail.json +++ b/versions/s-/sail.json @@ -1,5 +1,95 @@ { "versions": [ + { + "git-tree": "abb07777f295e65107e9238e55b913e577e6a7b0", + "version-semver": "0.9.6", + "port-version": 0 + }, + { + "git-tree": "a392dad5e96d94ccab10fa8ce41e5c36fdd47fd2", + "version-semver": "0.9.5", + "port-version": 1 + }, + { + "git-tree": "619ce5de34c2eafec5affc5f507a1617d843169e", + "version-semver": "0.9.5", + "port-version": 0 + }, + { + "git-tree": "d991b4f6cb2b948a9d483dd0c32d8b90dce0fae1", + "version-semver": "0.9.4", + "port-version": 1 + }, + { + "git-tree": "b94b1a44c9796140c96d60203de76f54dd662d7c", + "version-semver": "0.9.4", + "port-version": 0 + }, + { + "git-tree": "b5fe68901010efcf15a6025a105333d15bb284bf", + "version-semver": "0.9.1", + "port-version": 1 + }, + { + "git-tree": "6e673bf75a449ebb5474953cb8eaa69333fc08b4", + "version-semver": "0.9.1", + "port-version": 0 + }, + { + "git-tree": "63143e644f5e386b1b8aae22194e8b157bcdca5e", + "version-semver": "0.9.0", + "port-version": 0 + }, + { + "git-tree": "0c604af0721281506a77f887d07abca30fe350c3", + "version-semver": "0.9.0-rc3", + "port-version": 2 + }, + { + "git-tree": "66576c788934d4684f862ba663b49f1bb80c4d4d", + "version-semver": "0.9.0-rc3", + "port-version": 1 + }, + { + "git-tree": "3ead16b38ab4954a49a3c353b5f7b6fdaf5b7b42", + "version-semver": "0.9.0-rc3", + "port-version": 0 + }, + { + "git-tree": "8d0900008abda4b33dfa2016ed892fd90e096d09", + "version-semver": "0.9.0-rc2", + "port-version": 0 + }, + { + "git-tree": "796491a7ff11bd4426bac390a26d740ad85e88dd", + "version-semver": "0.9.0-rc1", + "port-version": 1 + }, + { + "git-tree": "5a3beda67ffe57e68f882d59f7f5c33bf726f2c8", + "version-semver": "0.9.0-rc1", + "port-version": 0 + }, + { + "git-tree": "5604acc45bd6e7fc2123a52f3742ffa674a0c2f7", + "version-semver": "0.9.0-pre21", + "port-version": 0 + }, + { + "git-tree": "a5a0265e855d48cc304d1e811a62e8b6f9603134", + "version-semver": "0.9.0-pre20", + "port-version": 0 + }, + { + "git-tree": "096fcf183ab11a1dd35b0fc3039e7cbee1826a82", + "version-semver": "0.9.0-pre19", + "port-version": 1 + }, + { + "git-tree": "197eaa8737cd3303cddf490693bef67a2e9eba41", + "version-semver": "0.9.0-pre19", + "port-version": 0 + }, { "git-tree": "33ba821b47bf709df78c48f302640cbdfac9860b", "version-semver": "0.9.0-pre18", diff --git a/versions/s-/sais.json b/versions/s-/sais.json index 36b41e722fcc12..01802a73e1f7ba 100644 --- a/versions/s-/sais.json +++ b/versions/s-/sais.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "e417443d4480212c41ff38d6356e7ed0ba349116", + "version": "2.4.1", + "port-version": 5 + }, + { + "git-tree": "557f4ba1ab3603ba23d82024f83fb41ab4a6e288", + "version-string": "2.4.1", + "port-version": 4 + }, { "git-tree": "b4fb1d4e7743c5f80f03e1b8fe4f1863b9a12e7d", "version-string": "2.4.1", diff --git a/versions/s-/sajson.json b/versions/s-/sajson.json index e454c8364a5e1a..24d7e5ca5d491c 100644 --- a/versions/s-/sajson.json +++ b/versions/s-/sajson.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "a0e624249788d999ef739af061ce797c49cbe7b6", + "version-date": "2018-09-21", + "port-version": 3 + }, + { + "git-tree": "7401d8ffce21268a90491dcf853727b9c8ec569c", + "version-string": "2018-09-21", + "port-version": 2 + }, { "git-tree": "38334cbff736462ac7a903cf68c94002d26c2ab4", "version-string": "2018-09-21", diff --git a/versions/s-/salome-configuration.json b/versions/s-/salome-configuration.json new file mode 100644 index 00000000000000..b3bb0594a3a0c4 --- /dev/null +++ b/versions/s-/salome-configuration.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "2cbf34b9ab5a63d3b341c3a8c3e1b0cf48c1c6d9", + "version": "9.10.0", + "port-version": 0 + } + ] +} diff --git a/versions/s-/salome-med-fichier.json b/versions/s-/salome-med-fichier.json new file mode 100644 index 00000000000000..3a69fdf059688a --- /dev/null +++ b/versions/s-/salome-med-fichier.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "26a3c208d3498e3c40c3f423f2493d1df53d49db", + "version": "4.1.1", + "port-version": 1 + }, + { + "git-tree": "20cd7a3c38b2cef44fa45511e39c82488bb3aa0b", + "version": "4.1.1", + "port-version": 0 + } + ] +} diff --git a/versions/s-/salome-medcoupling.json b/versions/s-/salome-medcoupling.json new file mode 100644 index 00000000000000..45123a6a95c91c --- /dev/null +++ b/versions/s-/salome-medcoupling.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "5b007fe28cfb58ed83464e901ce70e8a1ef4bfa5", + "version": "9.10.0", + "port-version": 0 + } + ] +} diff --git a/versions/s-/sassc.json b/versions/s-/sassc.json index b72f7981a8d15e..68e0e2d62378b7 100644 --- a/versions/s-/sassc.json +++ b/versions/s-/sassc.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "937f959ed298caa217edd7352d5743b073ff27f7", + "version": "3.6.2", + "port-version": 1 + }, { "git-tree": "ac068d38115fa4710289d76d3a02a1b6c2650785", "version": "3.6.2", diff --git a/versions/s-/saucer.json b/versions/s-/saucer.json new file mode 100644 index 00000000000000..9792e3063872c4 --- /dev/null +++ b/versions/s-/saucer.json @@ -0,0 +1,44 @@ +{ + "versions": [ + { + "git-tree": "ab050dd2d11b33fbb575dcd4a48fffe0daf099d8", + "version": "2.3.0", + "port-version": 1 + }, + { + "git-tree": "65f56fc183c1735f4c6c239f660b5dfc35ba3281", + "version": "2.3.0", + "port-version": 0 + }, + { + "git-tree": "0ad0dc8844c60450afe70ba393b6d31a517b553d", + "version": "2.1.0", + "port-version": 0 + }, + { + "git-tree": "15c87104efda5c84346ed7a7302713283e82eaaa", + "version": "1.0.1", + "port-version": 3 + }, + { + "git-tree": "ce7e88eac61c5e370dbf6d5dc7ad56dbdded879d", + "version": "1.0.1", + "port-version": 2 + }, + { + "git-tree": "3738770dd615f4e229cc0bf1e6704d3c0e9e001a", + "version": "1.0.1", + "port-version": 1 + }, + { + "git-tree": "66e466405fa3632e2b1539329a3ce71a65db5598", + "version": "1.0.1", + "port-version": 0 + }, + { + "git-tree": "3c2191312af1f74d46d991b955b6c7071dba82d2", + "version": "1.0.0", + "port-version": 0 + } + ] +} diff --git a/versions/s-/sbp.json b/versions/s-/sbp.json index cd9ea4056dec52..1a8b87acacef39 100644 --- a/versions/s-/sbp.json +++ b/versions/s-/sbp.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "ef46c718c23128379c5050d907d0a90d335206b3", + "version-semver": "3.4.10", + "port-version": 1 + }, { "git-tree": "d3d3511804be8ef1277c4bce734379748ee615f4", "version-semver": "3.4.10", diff --git a/versions/s-/scenepic.json b/versions/s-/scenepic.json new file mode 100644 index 00000000000000..b7b81446477203 --- /dev/null +++ b/versions/s-/scenepic.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "70b1207796dcdf599a5ede346b4a1748106d2c02", + "version": "1.1.0", + "port-version": 1 + }, + { + "git-tree": "57d4ac99e32e53ed59ea56871fefb332a01e7481", + "version": "1.0.16", + "port-version": 1 + }, + { + "git-tree": "6189e56611fc03461ca02be717dc2d430aaccd6e", + "version": "1.0.16", + "port-version": 0 + } + ] +} diff --git a/versions/s-/scintilla.json b/versions/s-/scintilla.json index 95e2051826303a..0b0f07caa2d36d 100644 --- a/versions/s-/scintilla.json +++ b/versions/s-/scintilla.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "9879865509d99cf64894e8573f8dcbc4e4dde77d", + "version": "5.5.1", + "port-version": 0 + }, + { + "git-tree": "9d311c9adf5b021fbc6b5e3b3bcf99e036472f44", + "version": "5.5.0", + "port-version": 0 + }, + { + "git-tree": "8851877b637605265f10c086366f022205fcc1f7", + "version": "4.4.6", + "port-version": 3 + }, + { + "git-tree": "f6d2625e3fbec10fec4c9ee4de19143df3656213", + "version": "4.4.6", + "port-version": 2 + }, + { + "git-tree": "65fa530f4695dbecf4c90bc60d89d59abc6eab2f", + "version": "4.4.6", + "port-version": 1 + }, { "git-tree": "725d3e47a1e30713a272b1ef12251b65696f8a3e", "version": "4.4.6", diff --git a/versions/s-/sciplot.json b/versions/s-/sciplot.json index ff250aea145d12..68f4f46e26811f 100644 --- a/versions/s-/sciplot.json +++ b/versions/s-/sciplot.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "4069ab412d4fc194df6d704213a41b1faa310ab7", + "version": "0.3.1", + "port-version": 1 + }, + { + "git-tree": "aac1c6064d43d5166bfe8bb2f65864fb9261c417", + "version": "0.3.1", + "port-version": 0 + }, + { + "git-tree": "e28065774395839bda6f9bc898b6214141fcb746", + "version": "0.2.2", + "port-version": 1 + }, { "git-tree": "6d01187d3c940b9bf5b3f35902469959fe640a6c", "version": "0.2.2", diff --git a/versions/s-/sciter-js.json b/versions/s-/sciter-js.json index 7f0cd51fd30dce..89849186849d3c 100644 --- a/versions/s-/sciter-js.json +++ b/versions/s-/sciter-js.json @@ -1,9 +1,29 @@ -{ - "versions": [ - { - "git-tree": "d8b949852b38b18eac5c4fa0c25282d531c596fd", - "version-string": "4.4.8.16", - "port-version": 0 - } - ] -} +{ + "versions": [ + { + "git-tree": "33eba8d3f1c08a91efae00fbd7a9944482209783", + "version": "5.0.3.14", + "port-version": 0 + }, + { + "git-tree": "ae9c6653c9c58a2fa2a2e8023206029bf0d90805", + "version": "5.0.3.0", + "port-version": 0 + }, + { + "git-tree": "ba302b640aa47ee3768bae1daa0ac5477081e52a", + "version": "5.0.2.17", + "port-version": 0 + }, + { + "git-tree": "01c76a267b6924a5f1f03349738e479e8bbe2c0b", + "version": "4.4.8.31", + "port-version": 0 + }, + { + "git-tree": "d8b949852b38b18eac5c4fa0c25282d531c596fd", + "version-string": "4.4.8.16", + "port-version": 0 + } + ] +} diff --git a/versions/s-/sciter.json b/versions/s-/sciter.json index 2acb342cc50b27..4ace0cff55e007 100644 --- a/versions/s-/sciter.json +++ b/versions/s-/sciter.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "4fac1265134a68da104d27106ec6b409b23ba377", + "version": "0", + "port-version": 1 + }, { "git-tree": "1ff6683a2d398db76e1791b994dc157ffb21e88c", "version-string": "deprecated", diff --git a/versions/s-/scnlib.json b/versions/s-/scnlib.json index abda95cf95d5e3..981f68aae8b4e8 100644 --- a/versions/s-/scnlib.json +++ b/versions/s-/scnlib.json @@ -1,5 +1,50 @@ { "versions": [ + { + "git-tree": "c4f32fa5eff83c4abe03aa721dcc57c3fd3f0a02", + "version": "4.0.1", + "port-version": 0 + }, + { + "git-tree": "cbbd6d359bd0838808caa2ffd0982f87c8587fab", + "version": "3.0.1", + "port-version": 0 + }, + { + "git-tree": "14d61103894e6ff0c14d3b2db7727c18d725982a", + "version": "2.0.2", + "port-version": 3 + }, + { + "git-tree": "17567901d2d2e06776b74ce27ab8c612901cb9af", + "version": "2.0.2", + "port-version": 2 + }, + { + "git-tree": "2ab6b65ae15e7ce03c1d57ad16ee80f6186dfee5", + "version": "2.0.2", + "port-version": 1 + }, + { + "git-tree": "dec19b7a48e73d0f9422945a9ca65e7322c57618", + "version": "2.0.2", + "port-version": 0 + }, + { + "git-tree": "9d2d619116db10c60c0553f9ca6e155f16e05bdd", + "version": "1.1.2", + "port-version": 0 + }, + { + "git-tree": "2d7e548589e4fb172fd5fbb61bbd9a816d971b92", + "version": "1.0", + "port-version": 1 + }, + { + "git-tree": "81ca9aa67e4f00245a233d075c9ae95726a2d4e3", + "version": "1.0", + "port-version": 0 + }, { "git-tree": "d3ec8f415e27c9ca79bcaf3580692d28c6cf3a14", "version-string": "0.4", diff --git a/versions/s-/scope-guard.json b/versions/s-/scope-guard.json new file mode 100644 index 00000000000000..e4f2cd70703a3a --- /dev/null +++ b/versions/s-/scope-guard.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "d68289d850205603d955aeb810b575a71aa57f28", + "version-semver": "1.1.0", + "port-version": 0 + }, + { + "git-tree": "84d4275d14e561b098485b74025ec3f57a2efb84", + "version-semver": "1.0.0", + "port-version": 0 + } + ] +} diff --git a/versions/s-/scotch.json b/versions/s-/scotch.json new file mode 100644 index 00000000000000..78c0a493047e71 --- /dev/null +++ b/versions/s-/scotch.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "6894afdfdbdbe1e142bb42d4d0894ecc37bca0ab", + "version": "7.0.5", + "port-version": 0 + }, + { + "git-tree": "6038e864e74954b29c48485287ba15b015cc3901", + "version": "7.0.3", + "port-version": 0 + } + ] +} diff --git a/versions/s-/scylla-wrapper.json b/versions/s-/scylla-wrapper.json index 0093f06b340a17..bd439e14e08e39 100644 --- a/versions/s-/scylla-wrapper.json +++ b/versions/s-/scylla-wrapper.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "22f98506f8fe59a6d4a1b2a052a96d46aeb2d20e", + "version": "2018-08-26-16e6f435", + "port-version": 3 + }, + { + "git-tree": "c1633de82a41a7dac94c972377145d3bf67b80a4", + "version-string": "2018-08-26-16e6f435", + "port-version": 2 + }, { "git-tree": "358f082e98f164d3b0fdd5ef1a88dc2ec627610e", "version-string": "2018-08-26-16e6f435", diff --git a/versions/s-/sdbus-cpp.json b/versions/s-/sdbus-cpp.json new file mode 100644 index 00000000000000..4b20f35dd66c9e --- /dev/null +++ b/versions/s-/sdbus-cpp.json @@ -0,0 +1,24 @@ +{ + "versions": [ + { + "git-tree": "ad6661523f300de594ff3c23bb02922adce8454a", + "version": "2.0.0", + "port-version": 0 + }, + { + "git-tree": "8c914d7e0e5a7ffa13a5059721bdd9bbb95be9e8", + "version": "1.5.0", + "port-version": 0 + }, + { + "git-tree": "31c0a3bedc3ced9d4ffdeb92b241546f13b9a1fc", + "version": "1.3.0", + "port-version": 1 + }, + { + "git-tree": "cae6cd5686aeefb86b4b97cda6d258d80a9eb5b6", + "version": "1.3.0", + "port-version": 0 + } + ] +} diff --git a/versions/s-/sdformat10.json b/versions/s-/sdformat10.json index 20eadc1011dc6c..b953e27f04159b 100644 --- a/versions/s-/sdformat10.json +++ b/versions/s-/sdformat10.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "ddcb4054c028e7f0c7e720afbd34aac10f542873", + "version": "10.0.0", + "port-version": 5 + }, + { + "git-tree": "1784f42c65cd5b0919a9d6c338bf1ab4f6022a9b", + "version": "10.0.0", + "port-version": 4 + }, + { + "git-tree": "872ca568e5e49581fe0404d3422230d60b3d9710", + "version": "10.0.0", + "port-version": 3 + }, + { + "git-tree": "abf1fc376b102a9ef833522a615261e5d3e155b8", + "version": "10.0.0", + "port-version": 2 + }, { "git-tree": "13fbbc3bb6bf9c38cb97d4e14af7c3a46ecba6e6", "version-string": "10.0.0", diff --git a/versions/s-/sdformat13.json b/versions/s-/sdformat13.json new file mode 100644 index 00000000000000..e727b12bb09ac7 --- /dev/null +++ b/versions/s-/sdformat13.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "9fd5b67f5e6c73b950fcb1b9e3bb6d9fd369dee4", + "version": "13.6.0", + "port-version": 0 + }, + { + "git-tree": "88424090fdd3b2122094e75be5c68b3f2f58cda5", + "version": "13.5.0", + "port-version": 1 + }, + { + "git-tree": "b8f7d3bdbefa0795808f6c9a42764584d6e96f2c", + "version": "13.5.0", + "port-version": 0 + } + ] +} diff --git a/versions/s-/sdformat6.json b/versions/s-/sdformat6.json index 2429b11d27f2cd..b7cf475ecd08c6 100644 --- a/versions/s-/sdformat6.json +++ b/versions/s-/sdformat6.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "4ca1784b4c13148926ae2319b2abe62a5a2a6588", + "version": "6.2.0", + "port-version": 8 + }, + { + "git-tree": "e05708a69e80e295caedf2c503461686cabb5d3b", + "version": "6.2.0", + "port-version": 7 + }, + { + "git-tree": "bdc0f927266aa4195c3795075c9e07c426c4556c", + "version": "6.2.0", + "port-version": 6 + }, + { + "git-tree": "f3ec7ce50f9e64316ed940878271ade6cea1c0e3", + "version": "6.2.0", + "port-version": 5 + }, { "git-tree": "dc94f6d1e0351bb777ccd1823470fe22ad896c34", "version": "6.2.0", diff --git a/versions/s-/sdformat9.json b/versions/s-/sdformat9.json index adaa94b54ac14d..7e22039082ee23 100644 --- a/versions/s-/sdformat9.json +++ b/versions/s-/sdformat9.json @@ -1,5 +1,50 @@ { "versions": [ + { + "git-tree": "503f117d4d158da0e32f0d9563260430e826648d", + "version": "9.8.0", + "port-version": 3 + }, + { + "git-tree": "faa40ee4c041f6c5d34acbc85008b8f939befc62", + "version": "9.8.0", + "port-version": 2 + }, + { + "git-tree": "693fd5dc7bdb0dfe766275719f0b3f85477994aa", + "version": "9.8.0", + "port-version": 1 + }, + { + "git-tree": "32a06104ef8500390db26865dbc6f887de83f1ee", + "version": "9.8.0", + "port-version": 0 + }, + { + "git-tree": "0a599309f16afe5d3163ec1eb131eed575880ae4", + "version": "9.4.0", + "port-version": 6 + }, + { + "git-tree": "d050d624faf72f8dcb62fdb7a5378ae5d8e8b5d8", + "version": "9.4.0", + "port-version": 5 + }, + { + "git-tree": "2b064abf9a6849ed5234b03bf5604ccd0169db4a", + "version": "9.4.0", + "port-version": 4 + }, + { + "git-tree": "5f47672c7e4349da14189c38db3a15dcdad5a196", + "version": "9.4.0", + "port-version": 3 + }, + { + "git-tree": "0ae3b0b53c638614e4a03164b1a5d1b70796e55e", + "version-string": "9.4.0", + "port-version": 2 + }, { "git-tree": "d8e35870677a08dcb88753aa2ef446b75a9646f2", "version-string": "9.4.0", diff --git a/versions/s-/sdl1-mixer.json b/versions/s-/sdl1-mixer.json new file mode 100644 index 00000000000000..aae68871ffd5cb --- /dev/null +++ b/versions/s-/sdl1-mixer.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "d9948f6d30a19d1be8d0de5406f7874c5991aec1", + "version-date": "2023-03-25", + "port-version": 2 + }, + { + "git-tree": "2e208f00e12332057ca6986afe060ff5fc1ef7cc", + "version-date": "2023-03-25", + "port-version": 1 + } + ] +} diff --git a/versions/s-/sdl1-net.json b/versions/s-/sdl1-net.json index efa05962d2721c..cc499e489758e3 100644 --- a/versions/s-/sdl1-net.json +++ b/versions/s-/sdl1-net.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "2824fc580a2bee556194640f973257f342e31b79", + "version": "1.2.8", + "port-version": 6 + }, + { + "git-tree": "8fcf264bba028ea84bf1a7ed6c0bd63c749bd082", + "version-string": "1.2.8", + "port-version": 5 + }, { "git-tree": "a90f68f29394a4b396760e605d8eb6128af811dc", "version-string": "1.2.8", diff --git a/versions/s-/sdl1.json b/versions/s-/sdl1.json index 16a3f5827fba3b..b3da8268233084 100644 --- a/versions/s-/sdl1.json +++ b/versions/s-/sdl1.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "43661d95f373c57cac7a2d85c00dbc7e077edf67", + "version": "1.2.15", + "port-version": 20 + }, + { + "git-tree": "201b5219b28e0c1299f7ebda041cbc85115983ba", + "version": "1.2.15", + "port-version": 19 + }, + { + "git-tree": "5463be881042b7d98bf14377bb790a2a83c3a39e", + "version": "1.2.15", + "port-version": 18 + }, + { + "git-tree": "45b686784ad1b01e7cfa7988bc3f95bf9aff6b6a", + "version": "1.2.15", + "port-version": 17 + }, + { + "git-tree": "5ffe0bac6645cd0fe0c98a0c33cf86a6bc2ddcfc", + "version": "1.2.15", + "port-version": 16 + }, + { + "git-tree": "4a3aba1bba75ee6d613144dbd6b2c64cbe6a090c", + "version": "1.2.15", + "port-version": 15 + }, { "git-tree": "dd8e1026af78ffd7bb4e9d6fa1455579367206e1", "version-string": "1.2.15", diff --git a/versions/s-/sdl2-gfx.json b/versions/s-/sdl2-gfx.json index e07af1bbdd04f7..db923c68b7af3d 100644 --- a/versions/s-/sdl2-gfx.json +++ b/versions/s-/sdl2-gfx.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "47c97b80725181cf21b62229de6194b92d74f0fa", + "version": "1.0.4", + "port-version": 11 + }, + { + "git-tree": "6799c7e90f7c606835a0544db0852f31dbf99cbb", + "version": "1.0.4", + "port-version": 10 + }, + { + "git-tree": "bbbde3e3c97c7bca48c0509f20ff3858b6522abc", + "version-string": "1.0.4", + "port-version": 9 + }, { "git-tree": "7654d7969a75b5402533dfbf7bec763dadbe949e", "version-string": "1.0.4", diff --git a/versions/s-/sdl2-image.json b/versions/s-/sdl2-image.json index 9ee7bc418c95c3..7bb8c6a94430cb 100644 --- a/versions/s-/sdl2-image.json +++ b/versions/s-/sdl2-image.json @@ -1,5 +1,65 @@ { "versions": [ + { + "git-tree": "61b91c7aa89e01e237616121222f98e505a6d44b", + "version": "2.8.2", + "port-version": 2 + }, + { + "git-tree": "3635f81751369912771ffb2bcafe46edec201fa5", + "version": "2.8.2", + "port-version": 1 + }, + { + "git-tree": "849a6f697c249f583d942ce2ce08ba3e4a9c195c", + "version": "2.8.2", + "port-version": 0 + }, + { + "git-tree": "641c3eeecdd7f109ac777e1a2792dd2b755f07fc", + "version": "2.6.3", + "port-version": 1 + }, + { + "git-tree": "cea786776b9bf5d0af613153194d58fa74aaf011", + "version": "2.6.3", + "port-version": 0 + }, + { + "git-tree": "a4a1c7cb5a7a8f391ad42e354dc4e578bcf2f590", + "version": "2.6.2", + "port-version": 1 + }, + { + "git-tree": "b5bbf1d2cbb382ec8adb25ca10cb3fa4913829f9", + "version": "2.6.2", + "port-version": 0 + }, + { + "git-tree": "4890f12d4639bf57d7eac19097b5903c06574184", + "version": "2.0.5", + "port-version": 7 + }, + { + "git-tree": "e1ed993b97bc76d5a8abdf4e9e8e148903078a70", + "version": "2.0.5", + "port-version": 6 + }, + { + "git-tree": "623548e8c929f2160320bf9644e2cd5a75d4a608", + "version": "2.0.5", + "port-version": 5 + }, + { + "git-tree": "9042c449fc4c728c5b428332e09bc6d21a2acf34", + "version-string": "2.0.5", + "port-version": 4 + }, + { + "git-tree": "7cd6ce4e9108671f3f4bad86c37ee2586acbf440", + "version-string": "2.0.5", + "port-version": 3 + }, { "git-tree": "8b1c139f382edc4b0e9e1e3ba7ecd25667583f36", "version-string": "2.0.5", diff --git a/versions/s-/sdl2-mixer-ext.json b/versions/s-/sdl2-mixer-ext.json new file mode 100644 index 00000000000000..4d116f1f56cbc4 --- /dev/null +++ b/versions/s-/sdl2-mixer-ext.json @@ -0,0 +1,24 @@ +{ + "versions": [ + { + "git-tree": "84e15f8ee51675059344358a920f2c9f4d3caa36", + "version": "2.6.0", + "port-version": 1 + }, + { + "git-tree": "4585bc468e6fbd0b8315dfa4dddbc2501945fbf8", + "version": "2.6.0", + "port-version": 0 + }, + { + "git-tree": "72599d1d3f046b10ba695a83a5de68a98bf86ec8", + "version-date": "2023-05-04", + "port-version": 1 + }, + { + "git-tree": "04312072ef4ea392cb39c240e579f06b4d62b955", + "version-date": "2023-05-04", + "port-version": 0 + } + ] +} diff --git a/versions/s-/sdl2-mixer.json b/versions/s-/sdl2-mixer.json index 61bf611548c538..46d62ab1db76b9 100644 --- a/versions/s-/sdl2-mixer.json +++ b/versions/s-/sdl2-mixer.json @@ -1,5 +1,70 @@ { "versions": [ + { + "git-tree": "dd4194d58e9c97835f6d38257f1af245e659e2de", + "version": "2.8.0", + "port-version": 3 + }, + { + "git-tree": "6c3753de43f2caf437f28a171665f37abe890109", + "version": "2.8.0", + "port-version": 2 + }, + { + "git-tree": "b28cae64adf73bec946de9f037724763eb2ef1b2", + "version": "2.8.0", + "port-version": 1 + }, + { + "git-tree": "21406093a22cbd3a55befe2ff61f81011d055036", + "version": "2.8.0", + "port-version": 0 + }, + { + "git-tree": "bf530acd7b5169aaea8a4a7ec8c8d9a1987f7164", + "version": "2.6.3", + "port-version": 2 + }, + { + "git-tree": "4c169dd178363fec7d46194a45dc250b604b1f2e", + "version": "2.6.3", + "port-version": 1 + }, + { + "git-tree": "dfa1721f4df6e01b9d30886c569c88128d7243f0", + "version": "2.6.3", + "port-version": 0 + }, + { + "git-tree": "6994c429d80fd95894a448a6bb55260563cc3946", + "version": "2.6.1", + "port-version": 2 + }, + { + "git-tree": "c06711b92dfd4c048f6a56c0236697012094a6e5", + "version": "2.6.1", + "port-version": 1 + }, + { + "git-tree": "7e802cb751276e60dc8046e2b6219dd9dae4c13a", + "version": "2.6.1", + "port-version": 0 + }, + { + "git-tree": "23eb6562f5153eb39a84eb2673d5dc9bd2ce78aa", + "version": "2.0.4", + "port-version": 16 + }, + { + "git-tree": "981b981d938287223eb7ebbe365cfbb371ba71ef", + "version": "2.0.4", + "port-version": 15 + }, + { + "git-tree": "960ae8e64dfba885f0fa2274277e2b929aaf0ded", + "version": "2.0.4", + "port-version": 14 + }, { "git-tree": "6338ed4f079dda0759ac18a4dcc5f04448e56cc3", "version": "2.0.4", diff --git a/versions/s-/sdl2-net.json b/versions/s-/sdl2-net.json index 822436b19c1146..1a4e1c3c1ee328 100644 --- a/versions/s-/sdl2-net.json +++ b/versions/s-/sdl2-net.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "f735d9ac81c56778c5a317db55d1c1f2cce78e87", + "version": "2.2.0", + "port-version": 3 + }, + { + "git-tree": "755d96f16afae7c5b7cae15eb97fe5da85951a72", + "version": "2.2.0", + "port-version": 2 + }, + { + "git-tree": "b34dc64f26f414003d909391145491128bdcf636", + "version": "2.2.0", + "port-version": 1 + }, + { + "git-tree": "42bbc8fde95dbe42390656e720cf852e08b31b77", + "version": "2.2.0", + "port-version": 0 + }, { "git-tree": "fcebb3e918a41e08cc320cede3d15872c53ad204", "version-string": "2.0.1", diff --git a/versions/s-/sdl2-ttf.json b/versions/s-/sdl2-ttf.json index fb169118b2cdba..b072d1a7fde2b6 100644 --- a/versions/s-/sdl2-ttf.json +++ b/versions/s-/sdl2-ttf.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "f37d3fd61ea556591921d6faca01c9e309e4a091", + "version": "2.22.0", + "port-version": 1 + }, + { + "git-tree": "51a85aefcfb3e578904f1cbd72a9f49ff836b928", + "version": "2.22.0", + "port-version": 0 + }, + { + "git-tree": "5727e1037aeb6698eda35ad791157d78d22b1a93", + "version": "2.20.2", + "port-version": 1 + }, + { + "git-tree": "8ea231424114356e940ea3ac40fdc7da27ea95ad", + "version": "2.20.2", + "port-version": 0 + }, + { + "git-tree": "85feef1fd925955c314616f7dbb934a401b4a9d1", + "version": "2.20.0", + "port-version": 0 + }, + { + "git-tree": "cefc95479a9fa2c8a8c4f5539952978f77e3de99", + "version-string": "2.0.15", + "port-version": 5 + }, { "git-tree": "888938a2d639aaa04b3e79d2ea451a87b616541c", "version-string": "2.0.15", diff --git a/versions/s-/sdl2.json b/versions/s-/sdl2.json index 2c1bd7f77e1420..58140022724dcf 100644 --- a/versions/s-/sdl2.json +++ b/versions/s-/sdl2.json @@ -1,5 +1,205 @@ { "versions": [ + { + "git-tree": "2cf4933ce414154c0c5adc2b11b0749f35e3c785", + "version": "2.30.9", + "port-version": 0 + }, + { + "git-tree": "1be978b7adf6e28f12242cc88e57ce84b0e3f34e", + "version": "2.30.8", + "port-version": 0 + }, + { + "git-tree": "bb45dd91a3494bfe75458c6ad2233e501367791e", + "version": "2.30.7", + "port-version": 0 + }, + { + "git-tree": "5d52d326d6f43ce1c7481188402e8c2828bbb369", + "version": "2.30.6", + "port-version": 2 + }, + { + "git-tree": "35851962eb04c90f32822e7574ae69265113d88b", + "version": "2.30.6", + "port-version": 1 + }, + { + "git-tree": "0ddd2439efece30735786a3530fced0bb645c0af", + "version": "2.30.6", + "port-version": 0 + }, + { + "git-tree": "e28edc448b13fae33fc8956adc9017e691a9a735", + "version": "2.30.5", + "port-version": 1 + }, + { + "git-tree": "ba79a866e3193439c7d9e2ec3ac1ceea368088d9", + "version": "2.30.5", + "port-version": 0 + }, + { + "git-tree": "c85881901055bd799fb681fa24054a79f28f3d60", + "version": "2.30.3", + "port-version": 1 + }, + { + "git-tree": "016040fbf13b72364c405d2dfeb733273efbae75", + "version": "2.30.3", + "port-version": 0 + }, + { + "git-tree": "71b609d356d21c9479ddeb27f4737ab70982f4a5", + "version": "2.30.1", + "port-version": 0 + }, + { + "git-tree": "4ab64007873e4e383360819f5227ad0747c649d1", + "version": "2.30.0", + "port-version": 0 + }, + { + "git-tree": "46ab8ddbed64fe98dab84eb0d95b8bb6e6d2d531", + "version": "2.28.5", + "port-version": 1 + }, + { + "git-tree": "06cf4722fa0f5f8467136faebe34cef0e85e1a4c", + "version": "2.28.5", + "port-version": 0 + }, + { + "git-tree": "3d625914314454b36d303ce86753840f6193f2bd", + "version": "2.28.4", + "port-version": 1 + }, + { + "git-tree": "289db88c23499b30e20bf972b2e1e68c093e5dea", + "version": "2.28.4", + "port-version": 0 + }, + { + "git-tree": "6b6220c48794ae1238dd8a6b491059446a8d3ebb", + "version": "2.28.3", + "port-version": 1 + }, + { + "git-tree": "cd85a856abc649e2717e838cf498052704226ed9", + "version": "2.28.3", + "port-version": 0 + }, + { + "git-tree": "e2235ea94a5142fe57d9c27f6d2c3307177df933", + "version": "2.28.2", + "port-version": 0 + }, + { + "git-tree": "778bb1c06d96198619bbd75704bbd4592e5f4f3a", + "version": "2.26.5", + "port-version": 0 + }, + { + "git-tree": "b63b10452df400319db87cadc9a3e1d9d1b752a5", + "version": "2.26.4", + "port-version": 0 + }, + { + "git-tree": "fca6245cea40954b09d7091b4a0ab02b16b3907c", + "version": "2.26.3", + "port-version": 1 + }, + { + "git-tree": "693dd875c592f310f23cf34ee7fbfb7e1be0dff8", + "version": "2.26.3", + "port-version": 0 + }, + { + "git-tree": "fab219425b8b20d5f9f2b99849d3578cb6f0705b", + "version": "2.26.2", + "port-version": 0 + }, + { + "git-tree": "ee20c1d23fa6dc2fa0b288abc4f4d124ed14f066", + "version": "2.26.1", + "port-version": 2 + }, + { + "git-tree": "61ecd58c79e5522e8a23f842936e24b2b6f08c75", + "version": "2.26.1", + "port-version": 1 + }, + { + "git-tree": "323de63997d074a6076426bcc5f90fb2a183d534", + "version": "2.26.1", + "port-version": 0 + }, + { + "git-tree": "522729509f8704c8e4dfe59434b0b02071b34315", + "version": "2.26.0", + "port-version": 0 + }, + { + "git-tree": "e44330d071add4e1c92af34650cfc3b20642640f", + "version": "2.24.2", + "port-version": 0 + }, + { + "git-tree": "565601c4ca1fdc5656fa7c474f0a50af24073a0c", + "version": "2.24.1", + "port-version": 0 + }, + { + "git-tree": "dbd3f6b2c738602adc3b3aa7c314212bff79b620", + "version": "2.24.0", + "port-version": 0 + }, + { + "git-tree": "69c64474577715f87366d9374b0483256f305f1e", + "version": "2.0.22", + "port-version": 3 + }, + { + "git-tree": "c14a0021322c01cb256a4a54ea48a9ddf8023622", + "version": "2.0.22", + "port-version": 2 + }, + { + "git-tree": "879012d1bbd3ae67fc697109eedbe6ff713c2c34", + "version": "2.0.22", + "port-version": 1 + }, + { + "git-tree": "6d875fe2feac0480f61fcf890136e045c12429f1", + "version": "2.0.22", + "port-version": 0 + }, + { + "git-tree": "24fc8b7ae34a3a363c76820d4ca50f715648a0b2", + "version": "2.0.20", + "port-version": 3 + }, + { + "git-tree": "abf71c19917402dddef261e80d55c8ec04e9bf54", + "version": "2.0.20", + "port-version": 2 + }, + { + "git-tree": "9900463f2847ed86e25bac1688c527ae3486a024", + "version": "2.0.20", + "port-version": 1 + }, + { + "git-tree": "d5865b5fb9c52f255629f4c015f37df9ca788a33", + "version": "2.0.20", + "port-version": 0 + }, + { + "git-tree": "4d0926c154515596d8f178d7350c37433b05957b", + "version": "2.0.16", + "port-version": 3 + }, { "git-tree": "120b4a3f60f1b2bfc0f20a7c20b5494fff8ea519", "version": "2.0.16", diff --git a/versions/s-/sdl2pp.json b/versions/s-/sdl2pp.json index 9c0e00151fa529..5d05bf7234494f 100644 --- a/versions/s-/sdl2pp.json +++ b/versions/s-/sdl2pp.json @@ -1,5 +1,55 @@ { "versions": [ + { + "git-tree": "52a51ba0c6e4248bf4597ca6d6f839111be2fa18", + "version": "0.16.1", + "port-version": 11 + }, + { + "git-tree": "9c13583635bc0fc65f50cf02ff22c06ccb6ccaed", + "version": "0.16.1", + "port-version": 10 + }, + { + "git-tree": "16f7b3b1b4e13c6a5d9320dae876c1119a9b10c6", + "version": "0.16.1", + "port-version": 9 + }, + { + "git-tree": "77e56d86771c6c97f8d9c7d8fa121dc2312ef509", + "version": "0.16.1", + "port-version": 8 + }, + { + "git-tree": "bad32a45cda4bfc70197d99e62b840794bd0b747", + "version": "0.16.1", + "port-version": 7 + }, + { + "git-tree": "064e16bf7d04b929d0175c6c0aff6486032370db", + "version": "0.16.1", + "port-version": 6 + }, + { + "git-tree": "89665ed749a05bebacf76088e7781d0f1ef4c06a", + "version": "0.16.1", + "port-version": 5 + }, + { + "git-tree": "0d0efed99dd39ca3bbf35b1b601b7aec4a82b55b", + "version": "0.16.1", + "port-version": 4 + }, + { + "git-tree": "d5730ae91038160f97ba206548f86d3fbda63d7c", + "version": "0.16.1", + "port-version": 3 + }, + { + "git-tree": "99074ba7a6f080e0b9c74dde8254875c95c7d9ea", + "version": "0.16.1", + "port-version": 2 + }, { "git-tree": "f63085c248f23dcc4acdf7d77c8ecab83387f45d", "version-string": "0.16.1", diff --git a/versions/s-/sdl3.json b/versions/s-/sdl3.json new file mode 100644 index 00000000000000..3d51ed3a574ddf --- /dev/null +++ b/versions/s-/sdl3.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "fc1dd65862da2cf2770e2540136da1f89b493cda", + "version": "3.1.6-preview", + "port-version": 1 + }, + { + "git-tree": "13a8f95b66218cead5be81f83a049a7d4cc266f8", + "version": "3.1.6-preview", + "port-version": 0 + } + ] +} diff --git a/versions/s-/seacas.json b/versions/s-/seacas.json new file mode 100644 index 00000000000000..22abaa2b33a163 --- /dev/null +++ b/versions/s-/seacas.json @@ -0,0 +1,44 @@ +{ + "versions": [ + { + "git-tree": "405532a89129aa97af0759ecf8e4da3ee4d8a543", + "version-date": "2022-11-22", + "port-version": 7 + }, + { + "git-tree": "bebbef6d1a82c6848bbb8d619a5e379f9b29b3f9", + "version-date": "2022-11-22", + "port-version": 6 + }, + { + "git-tree": "0107d3359b2fa880981554b822946ccb2109baea", + "version-date": "2022-11-22", + "port-version": 5 + }, + { + "git-tree": "709e85621b7fe043156154d04e5d9c174e47fab9", + "version-date": "2022-11-22", + "port-version": 4 + }, + { + "git-tree": "f49bca0bdf21c4b79c80ecefe3d3aa9a75ba49e7", + "version-date": "2022-11-22", + "port-version": 3 + }, + { + "git-tree": "00566c22630c8b3dff31a47c3be03389e4d33b3d", + "version-date": "2022-11-22", + "port-version": 2 + }, + { + "git-tree": "bafa7bc405fca4be4118663c533a48d7fb2725ec", + "version-date": "2022-11-22", + "port-version": 1 + }, + { + "git-tree": "5462d578f0230f960e645ea8e053c0717bc7c376", + "version-date": "2022-11-22", + "port-version": 0 + } + ] +} diff --git a/versions/s-/seal.json b/versions/s-/seal.json index f8d84e29d260e7..3ac4ee5f4a32fd 100644 --- a/versions/s-/seal.json +++ b/versions/s-/seal.json @@ -1,5 +1,45 @@ { "versions": [ + { + "git-tree": "f2c942b5c692afade6ad12b49183c262fde7b79c", + "version": "4.1.2", + "port-version": 0 + }, + { + "git-tree": "90ddcfb2adf93a2bf7cbad776f62cb84f6145114", + "version": "4.1.1", + "port-version": 2 + }, + { + "git-tree": "b40b9aa4145e13facd191ec957a4cefa586d6f7f", + "version": "4.1.1", + "port-version": 1 + }, + { + "git-tree": "7a0927f22f4552984e2f651ea11c7c14f030d879", + "version": "4.1.1", + "port-version": 0 + }, + { + "git-tree": "ca4941679f80617e492ff747df3ca704af624583", + "version": "4.0.0", + "port-version": 0 + }, + { + "git-tree": "323502a09f055a964f6b501aed82701570b96cba", + "version-semver": "3.7.2", + "port-version": 3 + }, + { + "git-tree": "c3499eaa1c19049bc521c3d2799d8d7d6d032a8a", + "version-semver": "3.7.2", + "port-version": 2 + }, + { + "git-tree": "11dc6c4e8b720416ff6ce195e48287982a6131ec", + "version-semver": "3.7.2", + "port-version": 1 + }, { "git-tree": "f60c9b8a5bafea149666d032b375f1b3980dd3ca", "version-semver": "3.7.2", diff --git a/versions/s-/seasocks.json b/versions/s-/seasocks.json new file mode 100644 index 00000000000000..29f4c153358f55 --- /dev/null +++ b/versions/s-/seasocks.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "03e48020c7de7692366f75676b4f8567d96e22f0", + "version": "1.4.6", + "port-version": 0 + }, + { + "git-tree": "2477e55b543e20d96c95546ff5a362d8a1a72044", + "version": "1.4.5", + "port-version": 0 + } + ] +} diff --git a/versions/s-/secp256k1.json b/versions/s-/secp256k1.json index f6b28c37d4afa0..0d095d4f519211 100644 --- a/versions/s-/secp256k1.json +++ b/versions/s-/secp256k1.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "deb0a4b2cf9d3e5a0d4c3c8475a6851b7345d39d", + "version-date": "2022-07-11", + "port-version": 1 + }, + { + "git-tree": "31de2b5d2286595ff7771a30dee3c68d04e78082", + "version-date": "2022-07-11", + "port-version": 0 + }, { "git-tree": "a0ba39af9284d60d41166c4f546975e9f2b2d9df", "version-string": "2017-19-10", diff --git a/versions/s-/selene.json b/versions/s-/selene.json index c1635f9df68277..8b6e7d26d5c2c6 100644 --- a/versions/s-/selene.json +++ b/versions/s-/selene.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "39599ec4b29856e7ed1db2c4aeb11ad491edf0a3", + "version": "0.3.1", + "port-version": 7 + }, + { + "git-tree": "3bb766dcf3564bc3f0c852d3e7cd7910413b0ac5", + "version": "0.3.1", + "port-version": 6 + }, { "git-tree": "a7e77d03f1d4e5a4d24e10c3ffc1ac326df1791e", "version": "0.3.1", diff --git a/versions/s-/sentencepiece.json b/versions/s-/sentencepiece.json index 311ecd37394d4d..3e41982ac470c6 100644 --- a/versions/s-/sentencepiece.json +++ b/versions/s-/sentencepiece.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "60678651110bfbd252017ee568f2cb6484aaaf46", + "version": "0.2.0", + "port-version": 0 + }, + { + "git-tree": "7c21445dada5c5ad8efb9bcf2729648155a7c391", + "version": "0.1.99", + "port-version": 1 + }, + { + "git-tree": "e4113b95c56e98d9c59787730bdc69978d23e290", + "version": "0.1.99", + "port-version": 0 + }, + { + "git-tree": "301c8902039b2ebb65ede78d6d17174a2ca4e8f6", + "version": "0.1.97", + "port-version": 2 + }, + { + "git-tree": "e3c84ac33b6ed2d1a8a170d7fd3f8ad612e05f94", + "version": "0.1.97", + "port-version": 0 + }, + { + "git-tree": "b243e85760f8f59100632997fdc34cdae47bcfd4", + "version": "0.1.96", + "port-version": 1 + }, { "git-tree": "b83e7b28dc28e405cfee3c94385e2039c8564040", "version": "0.1.96", diff --git a/versions/s-/sentry-native.json b/versions/s-/sentry-native.json index a68a56869f3de4..d9c7bcc6413bac 100644 --- a/versions/s-/sentry-native.json +++ b/versions/s-/sentry-native.json @@ -1,5 +1,190 @@ { "versions": [ + { + "git-tree": "f77b7e5c3e18068af7bac6c7d955ddaa862f5fb7", + "version": "0.7.12", + "port-version": 0 + }, + { + "git-tree": "e752d47aea944c69d1c824a521a3d621d1ceaf1f", + "version": "0.7.11", + "port-version": 0 + }, + { + "git-tree": "7b6158b530cb70b945421376336bee4d386f6868", + "version": "0.7.10", + "port-version": 0 + }, + { + "git-tree": "a38942c105f99f03680374c1f9497323c4f7a18d", + "version": "0.7.9", + "port-version": 0 + }, + { + "git-tree": "b49782bfd3df44ab599a66b9a444c64f617eec7d", + "version": "0.7.8", + "port-version": 0 + }, + { + "git-tree": "39f667ac7ea205c1f4b221830788775fa518e218", + "version": "0.7.7", + "port-version": 0 + }, + { + "git-tree": "f1f62e4b208a45ed18abea06b7221fb3c16291c9", + "version": "0.7.6", + "port-version": 0 + }, + { + "git-tree": "b7ec5e8b622f2026bb79fd536c893742ff48afa0", + "version": "0.7.5", + "port-version": 1 + }, + { + "git-tree": "83ff49b00c2fd8159701cc2f8489a10a6959227c", + "version": "0.7.5", + "port-version": 0 + }, + { + "git-tree": "1c5ae9657d5c7fdee6e70a240c6941ba6b5bbb72", + "version": "0.7.4", + "port-version": 0 + }, + { + "git-tree": "5b0a83df7a761a8ad80cd6adc2b09624299c0f19", + "version": "0.7.3", + "port-version": 0 + }, + { + "git-tree": "b3593a56c34e64de0c67ff0c32181eb21e9dbc13", + "version": "0.7.2", + "port-version": 0 + }, + { + "git-tree": "573e6eab33f6c6e86bf574966809aba512874371", + "version": "0.7.1", + "port-version": 0 + }, + { + "git-tree": "3b95acbd27868522d2e27abe48d9f108d439f523", + "version": "0.7.0", + "port-version": 1 + }, + { + "git-tree": "5b7467839d13128952c0f944197f8d2fcbc7a763", + "version": "0.7.0", + "port-version": 0 + }, + { + "git-tree": "095696cc8cbe39b017311226154e23b909318ef1", + "version": "0.6.7", + "port-version": 0 + }, + { + "git-tree": "eda2bc26483b80cda6cb44c7aa2506de7c254547", + "version": "0.6.6", + "port-version": 0 + }, + { + "git-tree": "57e5580a75a4aa261871733eeda97721e557fe58", + "version": "0.6.5", + "port-version": 0 + }, + { + "git-tree": "fd5779f3ac082cce4ffa01f13b9ed0f9f4f74d73", + "version": "0.6.4", + "port-version": 0 + }, + { + "git-tree": "26846f654fd9638934b225f981999759025ff252", + "version": "0.6.3", + "port-version": 0 + }, + { + "git-tree": "d7e8c1737ce3b69ee1dda758a40891fc460c8ff9", + "version": "0.6.2", + "port-version": 0 + }, + { + "git-tree": "b3b1a8af6979eb89aefb53e29667592309485c18", + "version": "0.6.1", + "port-version": 0 + }, + { + "git-tree": "4c8485e46d8fe7b95d8e3cd0e3423ef80b328c8f", + "version": "0.6.0", + "port-version": 0 + }, + { + "git-tree": "b230da8becc701f07efd5f68cba93fcf4b9be02b", + "version": "0.5.4", + "port-version": 0 + }, + { + "git-tree": "10a861c0b8f25d9243ce5136b508ef30c9eb126d", + "version": "0.5.3", + "port-version": 2 + }, + { + "git-tree": "5ac3f218a83c74fd1479bb64ae8fd07e04a7309e", + "version": "0.5.3", + "port-version": 1 + }, + { + "git-tree": "15c6d0c378a9b3db466534495786b58b171957be", + "version": "0.5.3", + "port-version": 0 + }, + { + "git-tree": "d09222f412378415ba0afcd6aa37ec01a6b751e8", + "version": "0.5.2", + "port-version": 0 + }, + { + "git-tree": "b6921611eaa64bc5a1864afb305afc272035b396", + "version": "0.5.1", + "port-version": 0 + }, + { + "git-tree": "731787acd156ff3881f9ee1cc7c17d70bc1a8ce0", + "version": "0.5.0", + "port-version": 0 + }, + { + "git-tree": "2d63a9c2ec32267974a30485bf6f64ca57f1a2f8", + "version": "0.4.18", + "port-version": 0 + }, + { + "git-tree": "2d6b1817e6134faaf9a3f85d1719c925dd15a3a9", + "version": "0.4.17", + "port-version": 0 + }, + { + "git-tree": "3dff7be1b47155d1580f43be48d8b95761251883", + "version-semver": "0.4.15", + "port-version": 0 + }, + { + "git-tree": "789ced09501be535989b9eadfc5b04317b4be8d6", + "version-semver": "0.4.14", + "port-version": 0 + }, + { + "git-tree": "02e695aa00b661662dfae906a4cd55c0d8371f73", + "version-semver": "0.4.13", + "port-version": 2 + }, + { + "git-tree": "9fb136cdde824d2f306a1afbd99830af76446158", + "version-semver": "0.4.13", + "port-version": 1 + }, + { + "git-tree": "d0ab3adf0fe8f521553af8345c6c11e6e883f065", + "version-semver": "0.4.13", + "port-version": 0 + }, { "git-tree": "02751ec1af944b27f69c9b50a8df4017cc24add3", "version-semver": "0.4.12", diff --git a/versions/s-/septag-dmon.json b/versions/s-/septag-dmon.json new file mode 100644 index 00000000000000..ed29d1fd1521f7 --- /dev/null +++ b/versions/s-/septag-dmon.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "377b8711ab595b704c7beb3dd9972b7bb6d75c62", + "version-date": "2022-02-08", + "port-version": 0 + } + ] +} diff --git a/versions/s-/septag-sx.json b/versions/s-/septag-sx.json index bb225d1682d229..07dba42385f0c1 100644 --- a/versions/s-/septag-sx.json +++ b/versions/s-/septag-sx.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "bb36ba5d776b41de1b33781f478d455046e1d9e3", + "version-date": "2019-05-07", + "port-version": 5 + }, + { + "git-tree": "3455654e48ff0abd3dc1babfc0bf163a9f567ed5", + "version-string": "2019-05-07", + "port-version": 4 + }, { "git-tree": "5132e30b4b29133a845eb8a90ad5e1a43bc9c0cd", "version-string": "2019-05-07", @@ -19,11 +29,6 @@ "git-tree": "b3ce911c8e33a6b93f67b77676b8b52ebafc9d8d", "version-string": "2019-05-07", "port-version": 0 - }, - { - "git-tree": "b9e21c1d4135ab98fcecc9970d8520afb9b39743", - "version-string": "2019-04-27", - "port-version": 0 } ] } diff --git a/versions/s-/seqan.json b/versions/s-/seqan.json index 7fda5058fe763f..3aff9bf3a1c95b 100644 --- a/versions/s-/seqan.json +++ b/versions/s-/seqan.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "d9c24c4c48a7664bc9b685cd6c931d534ff6164b", + "version": "2.4.0", + "port-version": 3 + }, { "git-tree": "308d1d7ca45d981ec55da094763b72c2ffc062ca", "version-string": "2.4.0", diff --git a/versions/s-/serd.json b/versions/s-/serd.json index 5db30a5c662758..0d43b2b1b421fe 100644 --- a/versions/s-/serd.json +++ b/versions/s-/serd.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "8f1848f6d4c698376b95a53e329eba78ff6ae893", + "version": "0.30.4", + "port-version": 2 + }, + { + "git-tree": "8ad1dbe412b4b19067a792c18f690d84b245eafb", + "version-string": "0.30.4", + "port-version": 1 + }, { "git-tree": "0061d58cfde2c694571f97e44a35075f92975a7d", "version-string": "0.30.4", diff --git a/versions/s-/serdepp.json b/versions/s-/serdepp.json new file mode 100644 index 00000000000000..9fcf19df7e7a68 --- /dev/null +++ b/versions/s-/serdepp.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "f077fd6d05147d61959cfc007f667feb6b8948e3", + "version": "0.1.4.1", + "port-version": 0 + }, + { + "git-tree": "37783a8fa004467ce9ee44c8f1e79fd994abd8e7", + "version": "0.1.4", + "port-version": 0 + } + ] +} diff --git a/versions/s-/serf.json b/versions/s-/serf.json new file mode 100644 index 00000000000000..25953a0b261665 --- /dev/null +++ b/versions/s-/serf.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "703faeed41a5142b4ee46dbd247823a14a05b31f", + "version": "1.3.10", + "port-version": 0 + } + ] +} diff --git a/versions/s-/sese.json b/versions/s-/sese.json new file mode 100644 index 00000000000000..81ad9e9850f3a3 --- /dev/null +++ b/versions/s-/sese.json @@ -0,0 +1,29 @@ +{ + "versions": [ + { + "git-tree": "c900b599e710379fa35b84583c0d278cedd1f247", + "version": "2.3.0", + "port-version": 2 + }, + { + "git-tree": "2c0343b399dfd14e5d1c07c3773ea4ce10dde345", + "version": "2.2.0", + "port-version": 0 + }, + { + "git-tree": "ac627dbb07263cec40760f87fb1b21d776d324a9", + "version": "2.2.0", + "port-version": 1 + }, + { + "git-tree": "d2af951334877cf8e111e3da423abfccd941f587", + "version": "2.3.0", + "port-version": 0 + }, + { + "git-tree": "b2cc673efeb589600f46fa5aa3c4c19a4648e90d", + "version": "2.3.0", + "port-version": 1 + } + ] +} diff --git a/versions/s-/sf2cute.json b/versions/s-/sf2cute.json index 7515996d0a1b0f..d70125ab889b4c 100644 --- a/versions/s-/sf2cute.json +++ b/versions/s-/sf2cute.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "909fbb570e221be633377b03cc7831c64d860c96", + "version": "0.2.0", + "port-version": 4 + }, + { + "git-tree": "e1ef32c3c0950a30ebd1b857009193245488f9ed", + "version-string": "0.2.0", + "port-version": 3 + }, { "git-tree": "abd8af86e6de2707f8334d767ff543b6dfb3a703", "version-string": "0.2.0", diff --git a/versions/s-/sfgui.json b/versions/s-/sfgui.json index 979801a7229328..4e1c977464b852 100644 --- a/versions/s-/sfgui.json +++ b/versions/s-/sfgui.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "ea3a95c81d38b0cc24db65623c803f45a08fd07e", + "version": "0.4.0", + "port-version": 6 + }, + { + "git-tree": "50f11f13413cb93d73d44bd0c00787363a00c98c", + "version": "0.4.0", + "port-version": 5 + }, { "git-tree": "64f6f7ee9963a096a2b4260c55be6228a22846e5", "version-string": "0.4.0", diff --git a/versions/s-/sfml.json b/versions/s-/sfml.json index d14e2ee1aba4b3..00bfcc43247b3b 100644 --- a/versions/s-/sfml.json +++ b/versions/s-/sfml.json @@ -1,5 +1,65 @@ { "versions": [ + { + "git-tree": "16580cf264c6a8933fb657e425a5866568d4c394", + "version": "2.6.2", + "port-version": 0 + }, + { + "git-tree": "4c609b9803b2a442437fac0e707f18df8544810a", + "version": "2.6.1", + "port-version": 1 + }, + { + "git-tree": "3cf9cce0cc82c37f5a37c1c97d05c7fcb4609486", + "version": "2.6.1", + "port-version": 0 + }, + { + "git-tree": "29d5488afb2bc4a0ea9a986412d569ba9575809b", + "version": "2.6.0", + "port-version": 19 + }, + { + "git-tree": "7712e31893217c566173961ad3681c19856e69e6", + "version": "2.6.0", + "port-version": 18 + }, + { + "git-tree": "8d61263f546c87d3c26f45ade4f92d65f1203816", + "version": "2.6.0", + "port-version": 17 + }, + { + "git-tree": "d9e87b4e23cdcec8d249517f14a69d8e453d3418", + "version": "2.5.1", + "port-version": 16 + }, + { + "git-tree": "477c029a9588d5f24c19fd0b6dbc82813fdc2150", + "version": "2.5.1", + "port-version": 15 + }, + { + "git-tree": "8ab010b7ce899203149c75197c19380506984683", + "version": "2.5.1", + "port-version": 14 + }, + { + "git-tree": "ca14334e4fdf097424958412912356dc2c186b9d", + "version": "2.5.1", + "port-version": 13 + }, + { + "git-tree": "bc9b03c639a91f2deff1fb78ab943cce64876ffe", + "version": "2.5.1", + "port-version": 12 + }, + { + "git-tree": "c9d7e4e8a4aeec1731d48bac0c2b59b53ee30ba8", + "version": "2.5.1", + "port-version": 11 + }, { "git-tree": "02d4e2c1c253e1ef48dd9c37d24bec0a47a716ff", "version": "2.5.1", diff --git a/versions/s-/sfsexp.json b/versions/s-/sfsexp.json index 8cec388628dc6d..4bc5a5cfcc704d 100644 --- a/versions/s-/sfsexp.json +++ b/versions/s-/sfsexp.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "d4c9c63d3d4d819ab76268fe0def94e554430ad3", + "version": "1.4.1", + "port-version": 0 + }, + { + "git-tree": "f1d4e77929ec66c6ce99cbdac03a58202b11d2a2", + "version": "1.3.1", + "port-version": 1 + }, { "git-tree": "ca4335a5797bd0b2510b0fa53b9c3445d6a02a30", "version": "1.3.1", diff --git a/versions/s-/shader-slang.json b/versions/s-/shader-slang.json new file mode 100644 index 00000000000000..ac1955394934a6 --- /dev/null +++ b/versions/s-/shader-slang.json @@ -0,0 +1,64 @@ +{ + "versions": [ + { + "git-tree": "a3913bcb927a0d2340fc053584dcabd1172df6c3", + "version": "2024.14.3", + "port-version": 0 + }, + { + "git-tree": "2feb4b46c67fe8e4cc244a11a5b7af687c6d2f7f", + "version": "2024.11", + "port-version": 0 + }, + { + "git-tree": "4330caba8f7abd4e6a131a6376d1cd01ec851186", + "version": "2024.10", + "port-version": 0 + }, + { + "git-tree": "23bdedb2bc7b9f55b87cf511967ca80db73d874a", + "version": "2024.1.33", + "port-version": 0 + }, + { + "git-tree": "98ddbe50381d354e915f198a08478bdd9396d85d", + "version": "2024.1.25", + "port-version": 0 + }, + { + "git-tree": "5e7e8064e105e443d90fc10fb9dc05916107f489", + "version": "2024.1.12", + "port-version": 0 + }, + { + "git-tree": "c2c440cb10bb3987dbdf8b4332db8d34b8fc6cfc", + "version": "2024.1.7", + "port-version": 0 + }, + { + "git-tree": "fddc74efcc306f4a4d24364f0a3b9dddbcda7f18", + "version": "2023.5.1", + "port-version": 0 + }, + { + "git-tree": "1a21463df58c9c2fb4af01bc6c9197ddb98804db", + "version": "0.27.20", + "port-version": 0 + }, + { + "git-tree": "b03b5bc45ef502e0ce522ce6fb71eba994348cf2", + "version": "0.24.43", + "port-version": 1 + }, + { + "git-tree": "55e34d39bb61d4e1c78131c60561462b0abcdeaa", + "version": "0.23.13", + "port-version": 1 + }, + { + "git-tree": "803e379ae9dedf9c444fe40cc72b83b07d6f7f1c", + "version": "0.23.13", + "port-version": 0 + } + ] +} diff --git a/versions/s-/shaderc.json b/versions/s-/shaderc.json index 8c608dcec57b5f..db272369013033 100644 --- a/versions/s-/shaderc.json +++ b/versions/s-/shaderc.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "2e5657c38583dba408c16a4d1cc7f624d01d7d3b", + "version": "2023.8", + "port-version": 0 + }, + { + "git-tree": "d90cdfaa52413836f8f4557bae2eff84dbb2c322", + "version": "2023.7", + "port-version": 0 + }, + { + "git-tree": "3a6e1c8ff08a6437170e17cc7b9c6c0bc0113ba2", + "version": "2021.1", + "port-version": 4 + }, + { + "git-tree": "b33d795ee7bc7bb9a02f904dc4d8e08e5f5f4900", + "version": "2021.1", + "port-version": 3 + }, + { + "git-tree": "376570ffd232d9c4e0dad095ae3dea964dec52ed", + "version": "2021.1", + "port-version": 2 + }, { "git-tree": "e8590ab232dd5ccd2331bb321127f00788b573a3", "version": "2021.1", diff --git a/versions/s-/shaderwriter.json b/versions/s-/shaderwriter.json index 9261734581d1bb..d637749b761d2d 100644 --- a/versions/s-/shaderwriter.json +++ b/versions/s-/shaderwriter.json @@ -1,5 +1,45 @@ { "versions": [ + { + "git-tree": "fa83579d72d0cf7bc11c2bd264ad15e80536eb21", + "version": "2.7.0", + "port-version": 0 + }, + { + "git-tree": "ab41ceb262232d4ccc5cccbdba599f2f40d7a241", + "version": "2.6.0", + "port-version": 0 + }, + { + "git-tree": "d87eb1ff4e1e6208bb7be494740e5ab7ac8c9b83", + "version": "2.5.0", + "port-version": 0 + }, + { + "git-tree": "d38b73de38449904ef8e9803b632e08bb86a6a88", + "version": "2.4.0", + "port-version": 0 + }, + { + "git-tree": "a5b9552631eef5dc2f4fc3bb2056730dc164981c", + "version": "2.3.0", + "port-version": 0 + }, + { + "git-tree": "09802faaae65b3f6ac6adfe5687bf581f0189dba", + "version": "2.2.0", + "port-version": 0 + }, + { + "git-tree": "e9ad5b26c40e2048a99c618972827c8f8e802eaa", + "version": "2.1.0", + "port-version": 0 + }, + { + "git-tree": "74d64baacf8733ed2cb0a0ded83ac86b8213a609", + "version": "2.0.0", + "port-version": 0 + }, { "git-tree": "3ed37649aa1fcdb0323fdf75fdfe3ffa038d0dfe", "version": "1.1.0", diff --git a/versions/s-/shapelib.json b/versions/s-/shapelib.json index e874311a9f3c9d..3800c622af5222 100644 --- a/versions/s-/shapelib.json +++ b/versions/s-/shapelib.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "d314741ee9002b2f9a50d305ae759b1f2bb734b2", + "version": "1.6.1", + "port-version": 0 + }, + { + "git-tree": "6b89a941de4bb79399a81b9199cf15e66a882956", + "version": "1.6.0", + "port-version": 0 + }, + { + "git-tree": "07bc870ae6b0fd620c817bd35c8ec499ecbf4f22", + "version": "1.5.0", + "port-version": 4 + }, + { + "git-tree": "befbba83687abe4b10f1fb55ac5ccc344bd11084", + "version": "1.5.0", + "port-version": 3 + }, { "git-tree": "d70a93c1899b5607ca1894c66beacec5c1afec9c", "version-string": "1.5.0", diff --git a/versions/s-/shiftmedia-libgcrypt.json b/versions/s-/shiftmedia-libgcrypt.json new file mode 100644 index 00000000000000..99365625da6b0a --- /dev/null +++ b/versions/s-/shiftmedia-libgcrypt.json @@ -0,0 +1,24 @@ +{ + "versions": [ + { + "git-tree": "7eda7b02925cfdbd7d916dad1f60bceaff30eecf", + "version": "1.10.3-1", + "port-version": 1 + }, + { + "git-tree": "f2fb2a4c19ed2c80762d82655d2d5155f59bef2b", + "version": "1.10.3-1", + "port-version": 0 + }, + { + "git-tree": "839cbd2fe2f4f3354f100f6b769e34a1294afec5", + "version": "1.10.1-1", + "port-version": 0 + }, + { + "git-tree": "f69b9722e8207f50879ed85697253223eb014a9c", + "version": "1.10.1", + "port-version": 0 + } + ] +} diff --git a/versions/s-/shiftmedia-libgnutls.json b/versions/s-/shiftmedia-libgnutls.json new file mode 100644 index 00000000000000..ad5618b1742cf6 --- /dev/null +++ b/versions/s-/shiftmedia-libgnutls.json @@ -0,0 +1,64 @@ +{ + "versions": [ + { + "git-tree": "8b5163512dd0d8522a6da9f2c55ac8ca1d1d378f", + "version": "3.8.7", + "port-version": 1 + }, + { + "git-tree": "86914b66df06648d0bf9cfff13c272a852768df4", + "version": "3.8.7", + "port-version": 0 + }, + { + "git-tree": "b18bd4e582995b852d1b9eac4b79805d84aaa656", + "version": "3.8.4", + "port-version": 3 + }, + { + "git-tree": "1d4b38dbf344dc537c0f0e8fae77706d09ef0126", + "version": "3.8.4", + "port-version": 2 + }, + { + "git-tree": "a784f9e85e153f86f04458fed9d158e76b861eda", + "version": "3.8.4", + "port-version": 1 + }, + { + "git-tree": "f2138ba71b3282796cf9ee0318ec585fc0482281", + "version": "3.8.4", + "port-version": 0 + }, + { + "git-tree": "04072be735bed05abbc73b97eda60200be28bcce", + "version": "3.8.3", + "port-version": 0 + }, + { + "git-tree": "9ce284543d4e020e054350eedce9982b83695cfa", + "version": "3.7.6", + "port-version": 4 + }, + { + "git-tree": "9016464ed8d222fec37cee5ff63cf786731342a1", + "version": "3.7.6", + "port-version": 3 + }, + { + "git-tree": "44e16573e54fa8a8c8599c0b2cb82a0d1f829e22", + "version": "3.7.6", + "port-version": 2 + }, + { + "git-tree": "1af7188530a656fe2103e74844333d8c37c5232d", + "version": "3.7.6", + "port-version": 1 + }, + { + "git-tree": "c204a889320c521ef348d1108a3f665be0bbe07a", + "version": "3.7.6", + "port-version": 0 + } + ] +} diff --git a/versions/s-/shiftmedia-libgpg-error.json b/versions/s-/shiftmedia-libgpg-error.json new file mode 100644 index 00000000000000..1e00f201b055dc --- /dev/null +++ b/versions/s-/shiftmedia-libgpg-error.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "980fe2b368e256297c645b1a326b460d7ffef016", + "version": "1.45", + "port-version": 1 + }, + { + "git-tree": "194526ea5431d93f00f3e48d1ab2d0aad0e86c48", + "version": "1.45", + "port-version": 0 + } + ] +} diff --git a/versions/s-/shiva-sfml.json b/versions/s-/shiva-sfml.json index e47011f28f62f3..157073a647e393 100644 --- a/versions/s-/shiva-sfml.json +++ b/versions/s-/shiva-sfml.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "243e316b0f03e7473f24e379ca8fa22992695f2b", + "version": "1.0", + "port-version": 4 + }, + { + "git-tree": "15b34188ab13ed064aabffac0b2faca203b214a1", + "version-string": "1.0", + "port-version": 3 + }, { "git-tree": "a7520a9c88dcd7ab8ba0234191221ae24e06d801", "version-string": "1.0", diff --git a/versions/s-/shiva.json b/versions/s-/shiva.json index 67c2c2a131ff78..a476c4e3b65b96 100644 --- a/versions/s-/shiva.json +++ b/versions/s-/shiva.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "f3ad56d6d26b5b6003846ded935d9e5727ed725b", + "version": "1.0", + "port-version": 7 + }, + { + "git-tree": "1f99562a0a906db852e4ff3a7caf03ad4c4fbcab", + "version": "1.0", + "port-version": 6 + }, + { + "git-tree": "821cf61c76079cfd5c7a635dc36e01c0f33c38f5", + "version": "1.0", + "port-version": 5 + }, { "git-tree": "5ff8f81870f8963dc86da05ce330bbde585e940d", "version-string": "1.0", diff --git a/versions/s-/shogun.json b/versions/s-/shogun.json index 185412f8283ee2..beb939f4686c9a 100644 --- a/versions/s-/shogun.json +++ b/versions/s-/shogun.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "4b3a907b0e5ba4e83f761e7bce13e081b2b8c330", + "version-date": "2023-12-19", + "port-version": 1 + }, + { + "git-tree": "005b5791f492c914205e14ecf3985f1f9da7a707", + "version-date": "2023-12-19", + "port-version": 0 + }, + { + "git-tree": "1492ad59069309d6872f7cf6df5640dcd1d8e4b4", + "version": "6.1.4", + "port-version": 10 + }, + { + "git-tree": "66286469fa661da12735a2f8267a293bd63117a8", + "version": "6.1.4", + "port-version": 9 + }, + { + "git-tree": "3164a64864f9758f6dede7b1ea6bcdb2ae199dd9", + "version-string": "6.1.4", + "port-version": 8 + }, + { + "git-tree": "13454c6a31030e65fdac9764f8b38c90bf40c9a9", + "version-string": "6.1.4", + "port-version": 7 + }, + { + "git-tree": "0ae86e647188a99b1602164f4614ba54d55cf22a", + "version-string": "6.1.4", + "port-version": 6 + }, { "git-tree": "bc5a003bcb8a42fc935726d0d8de55156318a3db", "version-string": "6.1.4", diff --git a/versions/s-/si.json b/versions/s-/si.json new file mode 100644 index 00000000000000..a1595c8955b657 --- /dev/null +++ b/versions/s-/si.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "288cfb02ca17822810538628dab87c6773081160", + "version": "2.5.1", + "port-version": 0 + } + ] +} diff --git a/versions/s-/sigmatch.json b/versions/s-/sigmatch.json new file mode 100644 index 00000000000000..4500fbd15c8781 --- /dev/null +++ b/versions/s-/sigmatch.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "83b6f5b1da02efa0313fdf8caa5ee44f41047143", + "version": "0.2.0", + "port-version": 0 + } + ] +} diff --git a/versions/s-/signalrclient.json b/versions/s-/signalrclient.json index b77a0218bef7f8..1111ddf6513e78 100644 --- a/versions/s-/signalrclient.json +++ b/versions/s-/signalrclient.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "57e4e8378a7aa7f0fb2d3459054462e0bacffa94", + "version": "1.0.0-beta1-9", + "port-version": 6 + }, + { + "git-tree": "28135a6a807825f1fdfbb1e086c10569d385482c", + "version": "1.0.0-beta1-9", + "port-version": 5 + }, + { + "git-tree": "c2981e91dbe37fc7ab10d1c071d4a47b1388eb3b", + "version": "1.0.0-beta1-9", + "port-version": 4 + }, + { + "git-tree": "142a336533806e7d9e1fc0807363be351ecf5286", + "version-string": "1.0.0-beta1-9", + "port-version": 3 + }, { "git-tree": "466bc1dd28c6b14346669c6fae30752db269d08a", "version-string": "1.0.0-beta1-9", diff --git a/versions/s-/sigslot.json b/versions/s-/sigslot.json index 2ef6ef5f0f7074..676b1d195bd82b 100644 --- a/versions/s-/sigslot.json +++ b/versions/s-/sigslot.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "db470857420cb91f6f0e4ddcb3f7bcd33d540ab9", + "version": "1.0.0", + "port-version": 5 + }, { "git-tree": "78e94753c09651ef7e2c09cbb134ae2cb786ade4", "version-string": "1.0.0", diff --git a/versions/s-/simage.json b/versions/s-/simage.json index 92165a5c2add04..96ada004fe190c 100644 --- a/versions/s-/simage.json +++ b/versions/s-/simage.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "824535538b2f13b732f661d657380b480bebea82", + "version-semver": "1.8.3", + "port-version": 0 + }, + { + "git-tree": "1e3fa3cf60c5fa543b313ed36d80a09d7a9ec8cd", + "version-semver": "1.8.2", + "port-version": 2 + }, + { + "git-tree": "d877e927cdad3e67542b5c66c26bdc0bda9f5ade", + "version-semver": "1.8.2", + "port-version": 1 + }, + { + "git-tree": "9a3815e60349ce152d08a7f02abab301e3b6bceb", + "version-semver": "1.8.2", + "port-version": 0 + }, + { + "git-tree": "6c2ccc36f5c1ebb27f820fe4f6e89df014e4bafa", + "version-semver": "1.8.1", + "port-version": 4 + }, { "git-tree": "97e1edfae380f76bdb4d6e9a94a91bbccd82c3a2", "version-semver": "1.8.1", diff --git a/versions/s-/simbody.json b/versions/s-/simbody.json new file mode 100644 index 00000000000000..7b63faeddaee07 --- /dev/null +++ b/versions/s-/simbody.json @@ -0,0 +1,29 @@ +{ + "versions": [ + { + "git-tree": "05384c70d836e25b147b7fca2cd601750315c088", + "version-date": "2023-01-10", + "port-version": 1 + }, + { + "git-tree": "c8b6a6d70b06b78e445b3c80cbded18415e22a7c", + "version-date": "2023-01-10", + "port-version": 0 + }, + { + "git-tree": "077f05087ad6704e1febb44e27273550028c5729", + "version-date": "2022-01-04", + "port-version": 2 + }, + { + "git-tree": "09ced08b16274ddf38f64031b659a76b8aea2e85", + "version-date": "2022-01-04", + "port-version": 1 + }, + { + "git-tree": "9474ba4a8027fb4f8e3e160decc4fa9f443a16e9", + "version-date": "2022-01-04", + "port-version": 0 + } + ] +} diff --git a/versions/s-/simd.json b/versions/s-/simd.json new file mode 100644 index 00000000000000..4cda497a78ee28 --- /dev/null +++ b/versions/s-/simd.json @@ -0,0 +1,54 @@ +{ + "versions": [ + { + "git-tree": "24ebd0c319f5bd2bc39ba4bc1e4614ed5d074dc1", + "version": "6.1.142", + "port-version": 0 + }, + { + "git-tree": "5303b811a40f05901a1d01677f3d2c5ec74a9834", + "version": "6.1.140", + "port-version": 0 + }, + { + "git-tree": "2d8b5c102d537d5736d6f969e20dbba1ffe5f801", + "version": "6.1.139", + "port-version": 0 + }, + { + "git-tree": "ffd162c11ab46810863df261f1f373ad008af239", + "version": "5.3.128", + "port-version": 1 + }, + { + "git-tree": "a2b30d3025f099db089990aed91ded39c41ffccd", + "version": "5.3.128", + "port-version": 0 + }, + { + "git-tree": "279d96ec1919311cad845670822f7cc376f503e6", + "version": "5.2.123", + "port-version": 1 + }, + { + "git-tree": "64cfb73836acffe8ff38e25477e0e8332707b4fc", + "version": "5.2.123", + "port-version": 0 + }, + { + "git-tree": "ac8b6441609b8504f6e26937d2c1a3e08a20d451", + "version": "5.1.119", + "port-version": 2 + }, + { + "git-tree": "7c8374b279a8fd0ba3c0c30886ccbfb4bcc4152f", + "version": "5.1.119", + "port-version": 1 + }, + { + "git-tree": "56af2de7152865b9e3ede88a7604dd54ba4251d9", + "version": "5.1.119", + "port-version": 0 + } + ] +} diff --git a/versions/s-/simde.json b/versions/s-/simde.json index e55f5f331387b2..5a850293b9b6a8 100644 --- a/versions/s-/simde.json +++ b/versions/s-/simde.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "de4114fbc6c0a01a088f18cf5f963bc2d550ed49", + "version": "0.8.2", + "port-version": 0 + }, + { + "git-tree": "3587acebc7192f6263ece74c3bcf801b86d3cb49", + "version": "0.8.0", + "port-version": 0 + }, + { + "git-tree": "3776be38dc5cf963db0a97cbb5b043488c43b79c", + "version": "0.7.6", + "port-version": 0 + }, + { + "git-tree": "f46b6e3bc03d59a8f45ae99c0c0d08b8386f230a", + "version": "0.7.4", + "port-version": 0 + }, + { + "git-tree": "b9f97efd430bad429766d57361f329bb1e1597f4", + "version": "0.7.2", + "port-version": 1 + }, { "git-tree": "7cf62acaf3648a8f0c2d866263788dc413f2beba", "version": "0.7.2", diff --git a/versions/s-/simdjson.json b/versions/s-/simdjson.json index d1c1da0c2ccf42..1102a6a3374bfb 100644 --- a/versions/s-/simdjson.json +++ b/versions/s-/simdjson.json @@ -1,5 +1,120 @@ { "versions": [ + { + "git-tree": "d2103b03c687dbd783b48300c35531b9961d0523", + "version": "3.10.1", + "port-version": 0 + }, + { + "git-tree": "32e426da6bdcfff2b473cbc0ca10dcc639ac8539", + "version": "3.10.0", + "port-version": 0 + }, + { + "git-tree": "464922abf8bd36a0a3f092553980588ee31c3a8d", + "version": "3.9.4", + "port-version": 0 + }, + { + "git-tree": "2e7deff0e548e9a233a0a9017c38b896410131ea", + "version": "3.9.3", + "port-version": 0 + }, + { + "git-tree": "4e6c7ea1ba4aa9271c9ffcf1507e5a96a5b35aac", + "version": "3.9.2", + "port-version": 0 + }, + { + "git-tree": "7f48b617fe3a457c9e73141e9e382529a558e820", + "version": "3.8.0", + "port-version": 0 + }, + { + "git-tree": "2adb8c3282818e83fe032201eb62deabdcaa44ae", + "version": "3.6.2", + "port-version": 1 + }, + { + "git-tree": "85480e0db4ff161c74400267ba3567d038fb15c7", + "version": "3.6.2", + "port-version": 0 + }, + { + "git-tree": "838a79135dfbc8b2870346447b3387543f94e067", + "version": "3.2.1", + "port-version": 0 + }, + { + "git-tree": "9cfad57f29374b71827cbe3861a7f22558afedce", + "version": "3.2.0", + "port-version": 0 + }, + { + "git-tree": "d62e75a24f4a107faf802fc187d3cf72e0041c51", + "version": "3.1.8", + "port-version": 0 + }, + { + "git-tree": "9ef276894dacedca108836726f0e37278fb53861", + "version": "3.1.7", + "port-version": 0 + }, + { + "git-tree": "8d4926521a5e488d316ec612c5cca368ae842cc9", + "version": "3.1.6", + "port-version": 0 + }, + { + "git-tree": "6694abe5993ac1fc09466303507bb0eccca53911", + "version": "3.1.5", + "port-version": 0 + }, + { + "git-tree": "780181f6b18135c5a85f8aeb5e141f81890fb99b", + "version": "3.1.2", + "port-version": 0 + }, + { + "git-tree": "99c53c78e68f1b239dfa2ee00326e207b8b0e969", + "version": "3.1.1", + "port-version": 0 + }, + { + "git-tree": "eaad9d1c9ae1f76ee9282b43c6e8b1142cb6d846", + "version": "3.1.0", + "port-version": 0 + }, + { + "git-tree": "ff708500050d07b2ac485028999782e929e4fa4c", + "version": "3.0.1", + "port-version": 0 + }, + { + "git-tree": "4c95c564acc1c64834298385fbb154740081f3fd", + "version": "3.0.0", + "port-version": 0 + }, + { + "git-tree": "5c24527f443a4881e16cb242e4b323904c0318d4", + "version-semver": "2.2.2", + "port-version": 0 + }, + { + "git-tree": "2bc3bd74a2cb0719ba123f23538e9e974f88c320", + "version-semver": "2.2.0", + "port-version": 0 + }, + { + "git-tree": "18a23d4f86c9f4d0db8feb5bb7eeb32ebcc3a3f2", + "version-semver": "1.1.0", + "port-version": 0 + }, + { + "git-tree": "0e7df8e0a4eb94c9825ee054fa91c7222568749f", + "version-semver": "1.0.2", + "port-version": 0 + }, { "git-tree": "6b733cbc907ee3f0af57e0a84247cade1b55f861", "version-semver": "1.0.1", diff --git a/versions/s-/simdutf.json b/versions/s-/simdutf.json index f102a45a358923..b4753862f151e5 100644 --- a/versions/s-/simdutf.json +++ b/versions/s-/simdutf.json @@ -1,5 +1,65 @@ { "versions": [ + { + "git-tree": "8dfd21350acbdb178c047a22b31d18e58017f7b4", + "version-semver": "5.6.0", + "port-version": 0 + }, + { + "git-tree": "d46df0fe18299316eccfdef76fea84b91c235609", + "version-semver": "5.5.0", + "port-version": 0 + }, + { + "git-tree": "89651387d0dc303ea5a6bd031834ed0a483cba0c", + "version-semver": "5.4.15", + "port-version": 0 + }, + { + "git-tree": "4c048b85ee1ba685cdb4a5baf122757d0b22d7f6", + "version-semver": "5.3.4", + "port-version": 0 + }, + { + "git-tree": "7acc6114f2aa635a23808a4140e4dfb204dd109a", + "version-semver": "5.3.0", + "port-version": 0 + }, + { + "git-tree": "0551f61254ee02a84ad78563ecc37da0b1fd2d8a", + "version-semver": "5.2.8", + "port-version": 0 + }, + { + "git-tree": "dcf7ceea96d05e8d023893dbe8db190801088d06", + "version-semver": "5.2.5", + "port-version": 0 + }, + { + "git-tree": "efcb4369394af49aaf2b30f113530327140e931a", + "version-semver": "5.2.3", + "port-version": 0 + }, + { + "git-tree": "71f8ed944c9a140b642c6f56f012626cdd1ed898", + "version-semver": "5.2.2", + "port-version": 0 + }, + { + "git-tree": "abbfcd20dd25b3b01b4e117ffe339623762baa2a", + "version-semver": "5.0.0", + "port-version": 0 + }, + { + "git-tree": "4d4511effb044b1b416e71a747a8f955bbf6047d", + "version-semver": "4.0.9", + "port-version": 0 + }, + { + "git-tree": "5c88dfda4ee0a79ae238b227b9866b5ad9f4651a", + "version-semver": "3.2.16", + "port-version": 0 + }, { "git-tree": "9d32f4a5bb9643b561a26f555064b2341a93df4b", "version-semver": "1.0.0", diff --git a/versions/s-/simonbrunel-qtpromise.json b/versions/s-/simonbrunel-qtpromise.json new file mode 100644 index 00000000000000..dfe3f3acb99f7c --- /dev/null +++ b/versions/s-/simonbrunel-qtpromise.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "b416eec5f84996491c4656f6b01723453abac31f", + "version": "0.7.0", + "port-version": 0 + } + ] +} diff --git a/versions/s-/simple-fft.json b/versions/s-/simple-fft.json index 8ea28d2b174987..011039e84220e7 100644 --- a/versions/s-/simple-fft.json +++ b/versions/s-/simple-fft.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "711bb14f0925c407c350fb8428d0721692639342", + "version-date": "2020-06-14", + "port-version": 2 + }, { "git-tree": "c8c90beba45454e3e497fb7ef62b20a188bee1c2", "version-string": "2020-06-14", diff --git a/versions/s-/simpleble.json b/versions/s-/simpleble.json new file mode 100644 index 00000000000000..aec725c7edcfad --- /dev/null +++ b/versions/s-/simpleble.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "40042ec8c4a3d070cda1fd27f4ed5fc931219e3e", + "version-date": "2023-07-29", + "port-version": 0 + } + ] +} diff --git a/versions/s-/simpleini.json b/versions/s-/simpleini.json index 90cba4bbbd40b2..7af681a0299c4e 100644 --- a/versions/s-/simpleini.json +++ b/versions/s-/simpleini.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "77db691cc40955e27044abc634287d9d1e17cffe", + "version": "4.22", + "port-version": 0 + }, + { + "git-tree": "edfed522ec88f3bd721e2ee1b09c177b0d93d378", + "version": "4.19", + "port-version": 0 + }, { "git-tree": "da811f3fb2f252e4f1eff0f42047c539315b60dd", "version-string": "2018-08-31", diff --git a/versions/s-/simsimd.json b/versions/s-/simsimd.json new file mode 100644 index 00000000000000..f44c4b344a9a68 --- /dev/null +++ b/versions/s-/simsimd.json @@ -0,0 +1,39 @@ +{ + "versions": [ + { + "git-tree": "a5f06e761acc5b1adf55c5495b5eb113f0fda049", + "version": "5.7.3", + "port-version": 0 + }, + { + "git-tree": "a1620e76488c7d67a53aa3ebe9d894e495bf5176", + "version": "5.4.4", + "port-version": 0 + }, + { + "git-tree": "6ccf891a395b5acb9b95e9120e646169ded5c142", + "version": "5.4.1", + "port-version": 0 + }, + { + "git-tree": "4a743669d8336cd1aaf4fb8ca23ec6a0b98e3a09", + "version": "5.4.0", + "port-version": 0 + }, + { + "git-tree": "2196ab7b52b8fd6c85ac7afea6c52240a266e46d", + "version": "5.2.1", + "port-version": 1 + }, + { + "git-tree": "b0a5b4fd3ee94ca1876ae615c289c92e984e11f8", + "version": "5.2.1", + "port-version": 0 + }, + { + "git-tree": "3d7b5f4bfb287e7ac7f0a9ad241a566f53f959d4", + "version": "1.4.0", + "port-version": 0 + } + ] +} diff --git a/versions/s-/skcrypter.json b/versions/s-/skcrypter.json new file mode 100644 index 00000000000000..26fb5ac7221203 --- /dev/null +++ b/versions/s-/skcrypter.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "95af2c7ed5227763696b4101e416e227446b7299", + "version-date": "2021-12-03", + "port-version": 0 + } + ] +} diff --git a/versions/s-/skia.json b/versions/s-/skia.json index 9fe32e77dc8b47..469be4cb5fa4ae 100644 --- a/versions/s-/skia.json +++ b/versions/s-/skia.json @@ -1,5 +1,165 @@ { "versions": [ + { + "git-tree": "942c0f5227b85eb96fad153a7b57c12debb33b4c", + "version": "129", + "port-version": 2 + }, + { + "git-tree": "886519547ba2addf980c4c567bca7f4c4d686d2f", + "version": "129", + "port-version": 1 + }, + { + "git-tree": "76a242d24e0e810ad8c78e3deaef69d4b634e8fc", + "version": "129", + "port-version": 0 + }, + { + "git-tree": "c42e7903a61a76804479fe37f25899a58b5622e7", + "version": "127", + "port-version": 0 + }, + { + "git-tree": "c56eb3d5ad183d5fbb54b32db5f9c21a195a40c9", + "version": "124", + "port-version": 2 + }, + { + "git-tree": "935884eed79f5c7310c21f8ee98b8f9c8cad311a", + "version": "124", + "port-version": 1 + }, + { + "git-tree": "b993a94ad57f5f651ac7dfa08cf20f17134a1b0d", + "version": "124", + "port-version": 0 + }, + { + "git-tree": "7f28b1cde0213f46543981ad97545a9c005eb332", + "version": "123", + "port-version": 1 + }, + { + "git-tree": "e107ca309d637ff07344abd1f1a73b58e36ca152", + "version": "123", + "port-version": 0 + }, + { + "git-tree": "24ac468e6d009a532784555a2b2cb466683ca914", + "version": "122", + "port-version": 0 + }, + { + "git-tree": "b33b637ea6bf1d04acc4aac659b0238f9d16a0c1", + "version": "0.38.2", + "port-version": 4 + }, + { + "git-tree": "35eec017ed472e7061cc38768bb4aa9168464332", + "version": "0.38.2", + "port-version": 3 + }, + { + "git-tree": "ce919437fcbcbfe2c364757efdc117a286f44fa2", + "version": "0.38.2", + "port-version": 2 + }, + { + "git-tree": "7363d84372c8a2a6e3c06a7fcc6c1ef1d1b7b97a", + "version": "0.38.2", + "port-version": 1 + }, + { + "git-tree": "5a7376b3d299acc253980a36193079fbb42eea1b", + "version": "0.38.2", + "port-version": 0 + }, + { + "git-tree": "df5e0eb3dc6aa8ee9b5829caf01ce7876bc7c2fe", + "version": "0.36.0", + "port-version": 10 + }, + { + "git-tree": "9389efe5ea2540ef9a0885b796d13e0d730fb603", + "version": "0.36.0", + "port-version": 9 + }, + { + "git-tree": "59bcc7110298012cf8f0d6e68ec8d04a4cb01e8b", + "version": "0.36.0", + "port-version": 8 + }, + { + "git-tree": "508710af38e0b50675532741bf899ec4c3f20c3b", + "version": "0.36.0", + "port-version": 7 + }, + { + "git-tree": "0458cf18e0a28b607b8d3a2ca9fba56395d5f147", + "version": "0.36.0", + "port-version": 6 + }, + { + "git-tree": "924027b3a2eb2a09ca78c987f622ddc95d0eb500", + "version": "0.36.0", + "port-version": 5 + }, + { + "git-tree": "1808e81bccf53741680ee9059ec506947d3e1ffb", + "version": "0.36.0", + "port-version": 4 + }, + { + "git-tree": "715c4ffb8b7839c31ce42450107fa397ef007b60", + "version": "0.36.0", + "port-version": 3 + }, + { + "git-tree": "9fbb8b718ca60d7e42b587f4d3e565e563386268", + "version": "0.36.0", + "port-version": 2 + }, + { + "git-tree": "e8c048560560ea0b90b45c5e9101b1d813401134", + "version": "0.36.0", + "port-version": 1 + }, + { + "git-tree": "960a3abb9c3b4736a73b06e65a47123798bf29f9", + "version": "0.36.0", + "port-version": 0 + }, + { + "git-tree": "99590977282f5689ae6f9d6e6f6b13fc8cbfd625", + "version-date": "2022-04-15", + "port-version": 1 + }, + { + "git-tree": "d167d79c12796fb226b9a869705fde2f4594e789", + "version-date": "2022-04-15", + "port-version": 0 + }, + { + "git-tree": "cdf8cda1612a4770f3a01e35ae5da93654abc17d", + "version-date": "2020-05-18", + "port-version": 9 + }, + { + "git-tree": "104ba7c5e5e46398000e92e0f9cc3c9f0999e142", + "version-date": "2020-05-18", + "port-version": 8 + }, + { + "git-tree": "f7b3961a52ea4c43d781a5c8ace67d0ef100cce7", + "version-date": "2020-05-18", + "port-version": 7 + }, + { + "git-tree": "100eb7e29ed2959e793dfce6500b408e84d56562", + "version-date": "2020-05-18", + "port-version": 6 + }, { "git-tree": "19fcd9cfd0b0a27e87e04bf2d1f8f03c7b1e8ab0", "version-string": "2020-05-18", diff --git a/versions/s-/skyr-url.json b/versions/s-/skyr-url.json index 3228ab10bca6ed..98ad9012437e04 100644 --- a/versions/s-/skyr-url.json +++ b/versions/s-/skyr-url.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "429bf1616eeeb9c2315b09d9a6c741245e3eae6a", + "version": "1.13.0", + "port-version": 2 + }, { "git-tree": "174f5bc4cc8080f2cb34c7a1aad9b14bedaa2c9a", "version-string": "1.13.0", diff --git a/versions/s-/sleef.json b/versions/s-/sleef.json index 304db6224f9952..b404bed22d9910 100644 --- a/versions/s-/sleef.json +++ b/versions/s-/sleef.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "12afaa5146f51bf2912339befaafd1776e10442a", + "version": "3.5.1", + "port-version": 4 + }, + { + "git-tree": "bd282d0004a477385c5e6487aabc83bab31059ec", + "version": "3.5.1", + "port-version": 3 + }, + { + "git-tree": "24d704091e9827b6e0192fb51f0798422da9707e", + "version": "3.5.1", + "port-version": 2 + }, + { + "git-tree": "ea33cc5343944b32ab14b772d5242a07fb84865b", + "version": "3.5.1", + "port-version": 1 + }, { "git-tree": "0c195bd94ab64769463a4891db9d140fa37508a4", "version": "3.5.1", diff --git a/versions/s-/sleepy-discord.json b/versions/s-/sleepy-discord.json index d3d2a31a87d08a..0d382ccf9f31af 100644 --- a/versions/s-/sleepy-discord.json +++ b/versions/s-/sleepy-discord.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "594857bed2d04f35b594acbf4f1488c4ae4c4ad0", + "version-date": "2022-02-05", + "port-version": 2 + }, + { + "git-tree": "7d9b72be7b331d4451d11594b175b0e1f97a75ab", + "version-date": "2022-02-05", + "port-version": 1 + }, + { + "git-tree": "5e868f4817878ec1c9686ab467b60f8086c50a00", + "version-date": "2022-02-05", + "port-version": 0 + }, { "git-tree": "0aba637e01389ec4ed5923eaf898ca78dac96cbb", "version-date": "2021-07-07", @@ -9,11 +24,6 @@ "git-tree": "9ef84b8cb8cdd5d278b005a551044a6635490bda", "version-date": "2021-07-07", "port-version": 0 - }, - { - "git-tree": "0d9d62b7213333d04c90878bb1e6573ad3f5316f", - "version-date": "2021-05-02", - "port-version": 0 } ] } diff --git a/versions/s-/slikenet.json b/versions/s-/slikenet.json index ee83f0113e39ba..3717748f06f0c1 100644 --- a/versions/s-/slikenet.json +++ b/versions/s-/slikenet.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "37216538e82557e699ffb5266e5a9d6c044205b0", + "version-date": "2021-06-07", + "port-version": 3 + }, + { + "git-tree": "1ae52d7161892faf627a65ae14f0700665069daf", + "version-date": "2021-06-07", + "port-version": 2 + }, + { + "git-tree": "470cffd8e68b737e7131beccd5fc7a87be9c3151", + "version-date": "2021-06-07", + "port-version": 1 + }, { "git-tree": "ac7b0f3e2e112489c1d66b390c22e050bd410783", "version-date": "2021-06-07", diff --git a/versions/s-/sltbench.json b/versions/s-/sltbench.json index 134e696fe8afe5..7efeddb859c7b0 100644 --- a/versions/s-/sltbench.json +++ b/versions/s-/sltbench.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "ff6317efd629a2f1ec64e3ad14f9d6d11b139d39", + "version": "2.4.0", + "port-version": 3 + }, + { + "git-tree": "f5a607736f0e3c2bb0a3c0c9c3525dec4cc3c980", + "version": "2.4.0", + "port-version": 2 + }, + { + "git-tree": "5df47ef0674021ac20500e87c0b3c19c176fa005", + "version-string": "2.4.0", + "port-version": 1 + }, { "git-tree": "7d051973310c2bd8ed3e9d90f53a9179fd651359", "version-string": "2.4.0", diff --git a/versions/s-/small-gicp.json b/versions/s-/small-gicp.json new file mode 100644 index 00000000000000..4f4e8d5b91e71d --- /dev/null +++ b/versions/s-/small-gicp.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "476016c83550a280e02101c7bd4d5c215c0fba7b", + "version": "1.0.0", + "port-version": 0 + }, + { + "git-tree": "c7becadc73dd4c8b5a23a12521521ce4b636a4ea", + "version": "0.1.2", + "port-version": 0 + }, + { + "git-tree": "580a9b893d2996aceb7ed24d6fcb0bc2111f0553", + "version": "0.1.0", + "port-version": 0 + } + ] +} diff --git a/versions/s-/smf.json b/versions/s-/smf.json new file mode 100644 index 00000000000000..046ab729ee10b2 --- /dev/null +++ b/versions/s-/smf.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "a3c982437f774a6d7d18552556c00d8cfb0f3a2c", + "version": "0.1.1", + "port-version": 0 + } + ] +} diff --git a/versions/s-/smpeg2.json b/versions/s-/smpeg2.json index 8b264b4ada4260..c90796d6dbb4a8 100644 --- a/versions/s-/smpeg2.json +++ b/versions/s-/smpeg2.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "a9dbc0195e8a7aa17a0be44e735f82ae4bc00bf3", + "version": "2.0.0", + "port-version": 11 + }, + { + "git-tree": "e72c715fb637688426feaa616ab0bc07c7758f8c", + "version": "2.0.0", + "port-version": 10 + }, + { + "git-tree": "8152688421f7023b7160c97976631b798025bb39", + "version": "2.0.0", + "port-version": 9 + }, + { + "git-tree": "a09fe59a859ca99ee652c6bfb0b27cbd4e99a9cd", + "version-string": "2.0.0", + "port-version": 8 + }, { "git-tree": "a42a5beba1ed982d3e6abb94ad6871f06f663d93", "version-string": "2.0.0", diff --git a/versions/s-/snap7.json b/versions/s-/snap7.json new file mode 100644 index 00000000000000..9a254fcb265429 --- /dev/null +++ b/versions/s-/snap7.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "a5d8bb0bb1a47a7e6c583d30f4c394d23704d130", + "version": "1.4.2", + "port-version": 2 + }, + { + "git-tree": "9183c4fc6d65ae695c68f0481e5a7dc0067f65fe", + "version": "1.4.2", + "port-version": 1 + }, + { + "git-tree": "7239966c661f1446977b064f7dec762248edf8d4", + "version": "1.4.2", + "port-version": 0 + } + ] +} diff --git a/versions/s-/snappy.json b/versions/s-/snappy.json index 5e6b9bad1909a3..66711bf2e6730d 100644 --- a/versions/s-/snappy.json +++ b/versions/s-/snappy.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "9672ae749ed648326f88d504ae03872883a526e4", + "version": "1.2.1", + "port-version": 0 + }, + { + "git-tree": "52d0b0f59c6f6e765c7f8df9e075ff7b90552c1e", + "version": "1.1.10", + "port-version": 1 + }, + { + "git-tree": "674abac6de71455f63c6649f436ff0801545ae00", + "version": "1.1.10", + "port-version": 0 + }, + { + "git-tree": "a97f6aac039dc2b5e6fdac753d66b94cfb408d30", + "version": "1.1.9", + "port-version": 5 + }, + { + "git-tree": "7e0221e0b55bab4a662ff8ba9e3fa1f792f01724", + "version": "1.1.9", + "port-version": 4 + }, + { + "git-tree": "00bd59377f162448da6b19382a7ca392b1761f22", + "version": "1.1.9", + "port-version": 3 + }, + { + "git-tree": "7122115f0f35f7f90f7a7adc1d15a4b6f7af5315", + "version": "1.1.9", + "port-version": 2 + }, { "git-tree": "c92c17d378451a07e9cc974fa31893d1cae61b66", "version": "1.1.9", diff --git a/versions/s-/sndfile.json b/versions/s-/sndfile.json index 0700452b2284df..99e2d240818470 100644 --- a/versions/s-/sndfile.json +++ b/versions/s-/sndfile.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "fa2da433a3aae003670c43ef93492b9d27cc190e", + "version": "0", + "port-version": 2 + }, { "git-tree": "b0706d70c299fbe9e9e32d80e5ba2cb910dfd294", "version-string": "0", diff --git a/versions/s-/snitch.json b/versions/s-/snitch.json new file mode 100644 index 00000000000000..1d2469e3506e9c --- /dev/null +++ b/versions/s-/snitch.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "8c37a07694cc20611cbc38fde944569673e22cad", + "version": "1.2.5", + "port-version": 0 + }, + { + "git-tree": "565f1464cf23c18da8ac0f547d3907f732249957", + "version": "1.2.4", + "port-version": 0 + } + ] +} diff --git a/versions/s-/snowhouse.json b/versions/s-/snowhouse.json index 0031ac5844920f..ff7777e46d3c51 100644 --- a/versions/s-/snowhouse.json +++ b/versions/s-/snowhouse.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "f8177477e8aad0ea23005b80b169029ff00aef04", + "version": "5.0.0", + "port-version": 2 + }, { "git-tree": "d49ba83122c461ba6d57aa2768241cc07ff3e32e", "version-string": "5.0.0", diff --git a/versions/s-/so5extra.json b/versions/s-/so5extra.json index e78cac9f6f3569..dd212d23d13467 100644 --- a/versions/s-/so5extra.json +++ b/versions/s-/so5extra.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "7460e2ea65c6c962555eda5190756021500c7786", + "version": "1.6.2", + "port-version": 0 + }, + { + "git-tree": "ec341c7fb5c8d09b831db9d31ce7ce70b9eb5252", + "version": "1.6.1", + "port-version": 0 + }, + { + "git-tree": "c9d60e292e5e8e325a94f96069299824e59b1a90", + "version": "1.6.0", + "port-version": 0 + }, + { + "git-tree": "37cb69203bc26a671b5b9ccaa0dc6c486c35ddb4", + "version": "1.5.2", + "port-version": 0 + }, + { + "git-tree": "66d53f9403902601af81144cfe017b3576617643", + "version": "1.5.1", + "port-version": 0 + }, + { + "git-tree": "a25bef02c9cea8f01ec3066d423b4f4ca6615959", + "version": "1.5.0", + "port-version": 0 + }, { "git-tree": "19014d4bd5c636ba619162dfad251af8142e4843", "version": "1.4.1.1", diff --git a/versions/s-/soapysdr.json b/versions/s-/soapysdr.json new file mode 100644 index 00000000000000..257d81ea41eeb5 --- /dev/null +++ b/versions/s-/soapysdr.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "18fb7aebeffe086e6bd1ccb6441d1c31c032a91c", + "version": "0.8.1", + "port-version": 0 + } + ] +} diff --git a/versions/s-/sobjectizer.json b/versions/s-/sobjectizer.json index 8de7b3de08718a..054b8576fe44e5 100644 --- a/versions/s-/sobjectizer.json +++ b/versions/s-/sobjectizer.json @@ -1,5 +1,55 @@ { "versions": [ + { + "git-tree": "1230863522bb2c770a8eaa5defa1cffcb4bc373f", + "version": "5.8.3", + "port-version": 0 + }, + { + "git-tree": "76f1250dd3467c2c7d30a4871fcfcde9950ec82d", + "version": "5.8.2", + "port-version": 0 + }, + { + "git-tree": "19bcadb4abff7ed5b5423eca7280259ab6b3045a", + "version": "5.8.1.1", + "port-version": 0 + }, + { + "git-tree": "318301f060f4853b2ed29d087e7d7730fe55d156", + "version": "5.8.1", + "port-version": 0 + }, + { + "git-tree": "d0e513c72a3e180c47d0f1d9f68256aa5eb3ea2b", + "version": "5.8.0.1", + "port-version": 0 + }, + { + "git-tree": "3dcf8c753611ce387e21d981d5a7df8079cfe704", + "version": "5.7.5", + "port-version": 0 + }, + { + "git-tree": "52eda985aee5e14e16a47573154b39f069824d49", + "version": "5.7.4.3", + "port-version": 0 + }, + { + "git-tree": "a77d86943e98697db670f9ee10fd24e8d19f08ce", + "version": "5.7.4.2", + "port-version": 0 + }, + { + "git-tree": "0434420bf7122407a1efe2ae663f5d09d70ce775", + "version": "5.7.4", + "port-version": 0 + }, + { + "git-tree": "6d0c49d93ac92669376ad08293de921d9e36352e", + "version": "5.7.3", + "port-version": 0 + }, { "git-tree": "a9d077353078063b67cad355ccb7546a0b4bfcac", "version": "5.7.2.6", diff --git a/versions/s-/soci.json b/versions/s-/soci.json index 1d6dbc1cad28c1..c8b037402bb6f3 100644 --- a/versions/s-/soci.json +++ b/versions/s-/soci.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "24c340284022dab38da690548caa65c4f003bb7c", + "version": "4.0.3", + "port-version": 3 + }, + { + "git-tree": "63f4471adc41e108aed34cd585a06e354f1b4762", + "version": "4.0.3", + "port-version": 2 + }, + { + "git-tree": "9a70ee9344f5a66ed9ad34a5f64608b81e66bfde", + "version": "4.0.3", + "port-version": 1 + }, + { + "git-tree": "11a646f331554958a517bc644c54df99dfbbbd1b", + "version": "4.0.3", + "port-version": 0 + }, { "git-tree": "885023b9eb3db14a25a785e0f67e3a1585f07a02", "version": "4.0.2", diff --git a/versions/s-/socket-io-client.json b/versions/s-/socket-io-client.json index b809e765ab4ec5..96b0a515e6068a 100644 --- a/versions/s-/socket-io-client.json +++ b/versions/s-/socket-io-client.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "2cb320ec7ddd2f7ec85d78172dae5904564b5e04", + "version-date": "2023-11-11", + "port-version": 0 + }, + { + "git-tree": "2aa8fb06982abcd0918726ba79bf81edc9000a4b", + "version-date": "2023-02-14", + "port-version": 0 + }, + { + "git-tree": "f4f6bebb98623c2bf8602d7538ae4c1d7de6c0ad", + "version-date": "2022-08-19", + "port-version": 0 + }, + { + "git-tree": "f31e0afc883eef287abf9b7914563cd10b331b86", + "version": "3.1.0", + "port-version": 1 + }, { "git-tree": "3844cb4dc084c2fe9ddd4a15a77d0c06e391c744", "version": "3.1.0", diff --git a/versions/s-/sockpp.json b/versions/s-/sockpp.json index 12e5a5bd06a181..ceee661bbe58f5 100644 --- a/versions/s-/sockpp.json +++ b/versions/s-/sockpp.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "49840e52d204c5a361ea308bee8533ee896e771d", + "version": "1.0.0", + "port-version": 1 + }, + { + "git-tree": "7da1c2a88380d0b35003087b810606280ebefee1", + "version": "1.0.0", + "port-version": 0 + }, + { + "git-tree": "ab2b9cfee212de99341c19d0604cf857c789dc60", + "version": "0.8.1", + "port-version": 0 + }, + { + "git-tree": "608151660b414b2bbcdec35bdd622fdce5620abb", + "version": "0.7.1", + "port-version": 1 + }, + { + "git-tree": "d54d2c1ee9ebaae60a83c72c50207b83d56f3917", + "version": "0.7.1", + "port-version": 0 + }, + { + "git-tree": "18dad1cf56b14fdf423311b6f277014e0c3f6762", + "version-date": "2022-01-24", + "port-version": 0 + }, + { + "git-tree": "3afb916458a5548b20996882ed7f7054d041f0ff", + "version": "0.7", + "port-version": 2 + }, { "git-tree": "69d23d693d1ab8cfeeab35c6b2794d6f2a9ca748", "version-string": "0.7", diff --git a/versions/s-/soem.json b/versions/s-/soem.json index 5cf0babc9b1050..adbff3358f17e0 100644 --- a/versions/s-/soem.json +++ b/versions/s-/soem.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "cedfc66b0bc8a2673c113bc88bcc973d4fc2ef08", + "version-date": "2023-06-09", + "port-version": 2 + }, + { + "git-tree": "fdbb2e9fafc4dfc1aca0c45a872b3b202e2a9254", + "version-date": "2023-06-09", + "port-version": 1 + }, + { + "git-tree": "a02a02f57a58361241f7bb0890de819f94e198b3", + "version-date": "2023-06-09", + "port-version": 0 + }, + { + "git-tree": "442917830f982b5c1cfcf3a74fd251d92ddab6e9", + "version": "1.4.0", + "port-version": 4 + }, + { + "git-tree": "cc08020790a9060eb6adaa1e989af4463197854b", + "version": "1.4.0", + "port-version": 3 + }, { "git-tree": "df36d49ff0f6b1755c5a1a046c98c4d0df0e7d77", "version-string": "1.4.0", diff --git a/versions/s-/soil.json b/versions/s-/soil.json index c06dd8898fae09..6bc567869c5da1 100644 --- a/versions/s-/soil.json +++ b/versions/s-/soil.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "71412fe0daffe8a8cd06f6d094544291f4ad5e02", + "version-date": "2021-04-22", + "port-version": 2 + }, + { + "git-tree": "7b4abbbc20cd42bad536a6aee64949a40ec3d850", + "version-date": "2021-04-22", + "port-version": 1 + }, { "git-tree": "9798401f421c850fbce93d990b143283ae5af293", "version-date": "2021-04-22", diff --git a/versions/s-/soil2.json b/versions/s-/soil2.json index e85069310b8c5d..741ba6ece5ff94 100644 --- a/versions/s-/soil2.json +++ b/versions/s-/soil2.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "d39031bc410f4e384b777c895f5fb733efeb3e60", + "version": "1.3.0", + "port-version": 1 + }, + { + "git-tree": "9d6004f9bd4f228751d31a1921bb8ece30d3c6eb", + "version": "1.3.0", + "port-version": 0 + }, + { + "git-tree": "20e7e06d73b0119e99f870bcffc70be22a7c8287", + "version-date": "2021-05-01", + "port-version": 1 + }, { "git-tree": "e72741e77acc80b5d72a64ce396f6a713548e3a1", "version-date": "2021-05-01", diff --git a/versions/s-/sokol.json b/versions/s-/sokol.json index d1445dacefaa20..614b2ec14590b0 100644 --- a/versions/s-/sokol.json +++ b/versions/s-/sokol.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "2bc7a2147353f37a7902e5187718bbb74f6d1615", + "version-date": "2023-10-07", + "port-version": 0 + }, + { + "git-tree": "5ba547d31c66bb41bf11cb755706b99e1b615e2e", + "version-date": "2019-09-09", + "port-version": 2 + }, { "git-tree": "18b4da89731b9e7cf61e56fc72594049c420d2e1", "version-string": "2019-09-09", diff --git a/versions/s-/sol2.json b/versions/s-/sol2.json index 1aa7ab94a61aa1..26dd3f938493c2 100644 --- a/versions/s-/sol2.json +++ b/versions/s-/sol2.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "803f41c884606248b07d343e13716c1135da7957", + "version": "3.3.1", + "port-version": 0 + }, + { + "git-tree": "115cb8217bb876cfb71fadec889faa25954db8b1", + "version": "3.3.0", + "port-version": 0 + }, { "git-tree": "fca1a728c9f2ff6db12a00fafeae82f69a903b48", "version-string": "3.2.2", diff --git a/versions/s-/solid3.json b/versions/s-/solid3.json index 5f64fce649c8b1..6ef8f43827bbc9 100644 --- a/versions/s-/solid3.json +++ b/versions/s-/solid3.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "d02f4f19962318fca6af9450781fcd281af86652", + "version": "3.5.8", + "port-version": 2 + }, { "git-tree": "1f494d1d6f610d9c26444a12f2b9952f7485601d", "version-string": "3.5.8", diff --git a/versions/s-/sophus.json b/versions/s-/sophus.json index f31dd71d63d7af..2cf9f73410a137 100644 --- a/versions/s-/sophus.json +++ b/versions/s-/sophus.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "00175a8c00123bfc1f5b85458c457f2c313c7abb", + "version": "1.24.6-r1", + "port-version": 0 + }, + { + "git-tree": "0f1a3b01427b62e229fe879a09465c07834d469a", + "version": "1.22.10", + "port-version": 0 + }, + { + "git-tree": "90c7c425fb7d1af0e2201091c0ec00e97309e12e", + "version-date": "2021-09-14", + "port-version": 0 + }, { "git-tree": "4826fe050e6cfd22a46d50ab3d6258a39d2bb69f", "version": "1.0.0", diff --git a/versions/s-/soqt.json b/versions/s-/soqt.json index 8db3fc4ff8888a..d967a931a8f68d 100644 --- a/versions/s-/soqt.json +++ b/versions/s-/soqt.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "25bc0ce4eb1212df1f9110770fbf02157a21bccd", + "version": "1.6.0", + "port-version": 4 + }, { "git-tree": "3bbb3ea4c3dff6485e3d04f6af1fbbe6e5a75be9", "version-string": "1.6.0", diff --git a/versions/s-/sord.json b/versions/s-/sord.json index 9f06f1b3bdeb68..964632a177ef37 100644 --- a/versions/s-/sord.json +++ b/versions/s-/sord.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "5d67b14f489ea7ebae790682dfe2beb9acb54720", + "version": "0.16.4", + "port-version": 2 + }, + { + "git-tree": "43058c5106d4162b43522646df027c913f088e61", + "version-string": "0.16.4", + "port-version": 1 + }, { "git-tree": "f32a79763d994652ab17ffbe7de03b08bd1b4e14", "version-string": "0.16.4", diff --git a/versions/s-/soundtouch.json b/versions/s-/soundtouch.json index 81b7f378c52056..97373a74f1c1b6 100644 --- a/versions/s-/soundtouch.json +++ b/versions/s-/soundtouch.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "d0278d07d154448d3466b034bf90b111be54e521", + "version": "2.3.3", + "port-version": 0 + }, + { + "git-tree": "a30af1c2b397ee59f6c0048c5453ebbdf4626415", + "version": "2.3.2", + "port-version": 3 + }, + { + "git-tree": "ac2649a7dd79e3a99721c357c744f81b94643a3c", + "version": "2.3.2", + "port-version": 2 + }, + { + "git-tree": "a2f43b08cb75d26f5756e611a64f5708dcbfb0a1", + "version": "2.3.2", + "port-version": 1 + }, + { + "git-tree": "a50336df269c13ab5d50f840fdc02afbfda7244c", + "version": "2.3.2", + "port-version": 0 + }, + { + "git-tree": "f4f307065b40b131fd80ce953afcc121aba46f9f", + "version": "2.3.1", + "port-version": 2 + }, { "git-tree": "a91341e5eb80526c64b263e5b10e0a6c800daa7e", "version": "2.3.1", diff --git a/versions/s-/soxr.json b/versions/s-/soxr.json index 5f0f63d391f52f..5cd6749fb1ec43 100644 --- a/versions/s-/soxr.json +++ b/versions/s-/soxr.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "89f01ea88aee3a0468ba3bf335a7a537a105cae1", + "version": "0.1.3", + "port-version": 8 + }, + { + "git-tree": "9eaa72e750312e0bacbd2a02e1a16fcc680489dd", + "version": "0.1.3", + "port-version": 7 + }, { "git-tree": "fca92eeca8f38c1662193dd443e401c5fe7fbfc7", "version": "0.1.3", diff --git a/versions/s-/spaceland.json b/versions/s-/spaceland.json index 7d254b1f692be0..f16d1fa82b6543 100644 --- a/versions/s-/spaceland.json +++ b/versions/s-/spaceland.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "c90ee76ea6a1d48d54be7f968df9a4847fd846de", + "version": "7.8.2", + "port-version": 9 + }, + { + "git-tree": "261556139a5816276568790ac8b8c7eba3b58f72", + "version": "7.8.2", + "port-version": 8 + }, + { + "git-tree": "e8139a817a073bd514472aae3fb0366dcc52d620", + "version": "7.8.2", + "port-version": 7 + }, + { + "git-tree": "05079a1eaffbd5cdd7d2fae904816c3dd849ea24", + "version-string": "7.8.2", + "port-version": 6 + }, { "git-tree": "56c00b345d98c60814bf7b00b7a0aea2d3f19852", "version-string": "7.8.2", diff --git a/versions/s-/span-lite.json b/versions/s-/span-lite.json index 0a15f28bd776de..507a18c3dd4a84 100644 --- a/versions/s-/span-lite.json +++ b/versions/s-/span-lite.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "2a06d5e46bc20f0dbbc18162edf1c6842838a8bc", + "version": "0.11.0", + "port-version": 0 + }, { "git-tree": "9fdf6960d9eab8dfdd0a03ef8e7d3db09a50defb", "version": "0.10.3", diff --git a/versions/s-/sparsepp.json b/versions/s-/sparsepp.json index 7cf5810b81c3fe..af05620bb6d485 100644 --- a/versions/s-/sparsepp.json +++ b/versions/s-/sparsepp.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "06d3ed1d599ab1737aa060480027d87d25505337", + "version": "1.22", + "port-version": 4 + }, + { + "git-tree": "37dc23bec7c8cd878b8ab1a808e2a177c0930644", + "version-string": "1.22", + "port-version": 3 + }, { "git-tree": "c262fbb63f9655ba3d1759153e3dce5f502babe6", "version-string": "1.22", diff --git a/versions/s-/spatialite-tools.json b/versions/s-/spatialite-tools.json index c3e83a118b6cae..bf2e402a251f6a 100644 --- a/versions/s-/spatialite-tools.json +++ b/versions/s-/spatialite-tools.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "706b7879f1ae2e597ffefd6ab923251be8706605", + "version": "5.1.0-a", + "port-version": 0 + }, + { + "git-tree": "200da5b412aa158df73737b51ef1b679c5bbf27f", + "version": "5.0.1", + "port-version": 4 + }, + { + "git-tree": "d43ffc786b8af336ac589bde284a4a7393c950f0", + "version": "5.0.1", + "port-version": 3 + }, + { + "git-tree": "480ac025b9ad7cecc2cf17f935115a13c0de31a0", + "version": "5.0.1", + "port-version": 2 + }, + { + "git-tree": "1e91990a5c6a01d86cc1b4cb84bbea812e62b450", + "version": "5.0.1", + "port-version": 1 + }, + { + "git-tree": "bd6f0ddd2db2c709ce3bd94df91dced9e3d23c7e", + "version-string": "5.0.1", + "port-version": 0 + }, + { + "git-tree": "e31f1f43c34f7ab68bfbfcfe1a9edcd8040c3373", + "version-string": "5.0.0", + "port-version": 4 + }, { "git-tree": "f9263bb3c351d6d5333538e6d22e29da6253a702", "version-string": "5.0.0", diff --git a/versions/s-/spdk-dpdk.json b/versions/s-/spdk-dpdk.json index 1920b0d8f0bbbd..fff0070d10952a 100644 --- a/versions/s-/spdk-dpdk.json +++ b/versions/s-/spdk-dpdk.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "24a9b15332cd306f695cdeb300828d941bde0c98", + "version-date": "2018-11-24", + "port-version": 3 + }, + { + "git-tree": "05e56d1ca7edd701503c100d3660605a01416c84", + "version-date": "2018-11-24", + "port-version": 2 + }, { "git-tree": "a67cfb564274aa985ef274b6f8a1fac8591b5445", "version-string": "20181124", diff --git a/versions/s-/spdk-ipsec.json b/versions/s-/spdk-ipsec.json index f143fa07a4d0ea..fe51df3b1e4383 100644 --- a/versions/s-/spdk-ipsec.json +++ b/versions/s-/spdk-ipsec.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "96309162b093b7440843a1b634acea9d01b7b13f", + "version-date": "2018-07-11", + "port-version": 3 + }, + { + "git-tree": "8acd8deb0597e3534db4e5c9fc37a1ffb72e2f59", + "version-date": "2018-07-11", + "port-version": 2 + }, { "git-tree": "bf8024ae19962088f98418e2487147aa14d4df95", "version-string": "20180711", diff --git a/versions/s-/spdk-isal.json b/versions/s-/spdk-isal.json index 09c4734880c431..585b96374f052b 100644 --- a/versions/s-/spdk-isal.json +++ b/versions/s-/spdk-isal.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "41bee637d2dbd80179b39bb1c5b84ec1afce7304", + "version-date": "2018-10-06", + "port-version": 3 + }, + { + "git-tree": "de270891534b1e4332e4cfbd67437653a9217823", + "version-string": "20181006", + "port-version": 2 + }, { "git-tree": "a3b83f2844457a26c4f286c651a85ec6b5cc43e2", "version-string": "20181006", diff --git a/versions/s-/spdk.json b/versions/s-/spdk.json index fe52ef1f23e784..b12d2b8640f5bf 100644 --- a/versions/s-/spdk.json +++ b/versions/s-/spdk.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "fc1cfa8bc382740fae8e5155aca3b62bc033496a", + "version-string": "24.01", + "port-version": 0 + }, + { + "git-tree": "abacec4925be6e6f4f5a61d48c7bbff7d7016cf2", + "version-string": "19.01.1", + "port-version": 3 + }, { "git-tree": "f5ea399f1e0b77d53593ee78e4f6574c2c53a68c", "version-string": "19.01.1", diff --git a/versions/s-/spdlog.json b/versions/s-/spdlog.json index 3dac5575c42a07..2974be231cb33e 100644 --- a/versions/s-/spdlog.json +++ b/versions/s-/spdlog.json @@ -1,5 +1,55 @@ { "versions": [ + { + "git-tree": "6595ef6c86cf6618cede07b4e1bc8b4d6b098b45", + "version-semver": "1.15.0", + "port-version": 0 + }, + { + "git-tree": "545d0306db761411e23623ae6f44fc196cb571f7", + "version-semver": "1.14.1", + "port-version": 0 + }, + { + "git-tree": "fc156e8616e8396acf9c13c1f3cf34361c98ef58", + "version-semver": "1.14.0", + "port-version": 0 + }, + { + "git-tree": "f1118cb60e53eb5b4e23d686db8ccfd6909673d1", + "version-semver": "1.13.0", + "port-version": 1 + }, + { + "git-tree": "8ee97c0faf23e06508ca097e013e2bea40579d06", + "version-semver": "1.13.0", + "port-version": 0 + }, + { + "git-tree": "41cf31aa350a44644863d7777489501d240f248c", + "version-semver": "1.12.0", + "port-version": 0 + }, + { + "git-tree": "67656948712582d93d9096cc08871a3270908d38", + "version-semver": "1.11.0", + "port-version": 1 + }, + { + "git-tree": "296d78e54c14ce64474b66f60847026ddb1f576e", + "version-semver": "1.11.0", + "port-version": 0 + }, + { + "git-tree": "3256ea88cc375fda2f977a2eb18435e23d498572", + "version-semver": "1.10.0", + "port-version": 1 + }, + { + "git-tree": "1ac795913d88241171b45d796d3fe5dd38519d5a", + "version-semver": "1.10.0", + "port-version": 0 + }, { "git-tree": "1f4916f57dae6db50491857c063970d811beb33a", "version-semver": "1.9.2", diff --git a/versions/s-/spectra.json b/versions/s-/spectra.json index 93fa4767692434..191ee1f5e83a4d 100644 --- a/versions/s-/spectra.json +++ b/versions/s-/spectra.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "8f0c59842a36bd2be452ce3b9f1f7de0a17f01aa", + "version": "1.0.1", + "port-version": 0 + }, { "git-tree": "1ba33cde480488a9a7d4f98f6f2f26e591feb019", "version": "1.0.0", diff --git a/versions/s-/speex.json b/versions/s-/speex.json index ea743307ec9b89..0b5a6a4621a50a 100644 --- a/versions/s-/speex.json +++ b/versions/s-/speex.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "83710ad0fb1dfab0d1de32a44d440abca53f1f6e", + "version": "1.2.1", + "port-version": 1 + }, + { + "git-tree": "0520509fd60e20c5362959a7549dd29f7d04d54b", + "version": "1.2.1", + "port-version": 0 + }, + { + "git-tree": "7cbe163c0a5fabd08cb6665c092d6b13dfa51d69", + "version": "1.2.0", + "port-version": 11 + }, + { + "git-tree": "0f443cef71fd44439aa559063a219da440f6665d", + "version": "1.2.0", + "port-version": 10 + }, { "git-tree": "8713e87cf40c60307dfdef2102392b97cb3b4c3d", "version-string": "1.2.0", diff --git a/versions/s-/speexdsp.json b/versions/s-/speexdsp.json index 16ca82f1d03439..59f37fac753236 100644 --- a/versions/s-/speexdsp.json +++ b/versions/s-/speexdsp.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "79efeda6f8cdd6f28e85bee7787e529da2d94c3c", + "version": "1.2.1", + "port-version": 1 + }, + { + "git-tree": "9d3a05d75970beec385a36ceb592f9f9e928d62f", + "version": "1.2.1", + "port-version": 0 + }, + { + "git-tree": "602238d14eef169fff22244c05d364c55177bdbc", + "version": "1.2.0", + "port-version": 8 + }, + { + "git-tree": "6606b66ecc502c89de6a1e570c1407bf1f8b2d03", + "version": "1.2.0", + "port-version": 7 + }, { "git-tree": "911ea65a3db9f26e595990e94ab4ec911cd8ef82", "version-string": "1.2.0", diff --git a/versions/s-/spglib.json b/versions/s-/spglib.json new file mode 100644 index 00000000000000..c09bd2ec0eaf5a --- /dev/null +++ b/versions/s-/spglib.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "9031cd868388e837c1b0658e5fdf560b17b3a50c", + "version-semver": "2.5.0", + "port-version": 0 + }, + { + "git-tree": "72a361224c8e7cc3dd14810ae402a410aad4c0bb", + "version-semver": "2.4.0", + "port-version": 0 + } + ] +} diff --git a/versions/s-/spine-runtimes.json b/versions/s-/spine-runtimes.json new file mode 100644 index 00000000000000..b8417d70f95c09 --- /dev/null +++ b/versions/s-/spine-runtimes.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "2f07c033a802713abd304b4a9680786cdf53ea74", + "version": "4.1.0", + "port-version": 0 + } + ] +} diff --git a/versions/s-/spirit-po.json b/versions/s-/spirit-po.json index f1551b040a6116..88424486eb384e 100644 --- a/versions/s-/spirit-po.json +++ b/versions/s-/spirit-po.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "d36dada2f426d31405812e8414cde74eb3d58416", + "version": "1.1.2", + "port-version": 4 + }, + { + "git-tree": "9948e3b6cffe3bc1b61bf71089ad85247ecc1355", + "version": "1.1.2", + "port-version": 3 + }, { "git-tree": "9cebcf471848bf1b121a7335d3af54c64a038a9e", "version-string": "1.1.2", diff --git a/versions/s-/spirv-cross.json b/versions/s-/spirv-cross.json index 0a114f60411081..181d26588ea2ce 100644 --- a/versions/s-/spirv-cross.json +++ b/versions/s-/spirv-cross.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "6d60b4e07708e480d90bbd89f95101d910feb181", + "version": "1.3.296.0", + "port-version": 0 + }, + { + "git-tree": "915b615224c502d1efa827d287af5a5ae58081ad", + "version": "1.3.290.0", + "port-version": 0 + }, + { + "git-tree": "679e1aabf23edac89f97b987aa02487ba0e709bf", + "version": "1.3.280.0", + "port-version": 0 + }, + { + "git-tree": "84e71bc5b393bcd79a4093a3100d9a05f879d8b4", + "version": "1.3.275.0", + "port-version": 0 + }, + { + "git-tree": "8c3a9c2839a67379dfebc9e4f3df038359a8383c", + "version": "1.3.268.0", + "port-version": 0 + }, + { + "git-tree": "9adc9e1ab78dd956558b40aa39767262a251eca6", + "version-date": "2021-01-15", + "port-version": 2 + }, { "git-tree": "ea4c1654c9909ec0b4cba6abdf37dbd1ac6bba53", "version-date": "2021-01-15", diff --git a/versions/s-/spirv-headers.json b/versions/s-/spirv-headers.json index 4922cc971a8102..898205e12ee47f 100644 --- a/versions/s-/spirv-headers.json +++ b/versions/s-/spirv-headers.json @@ -1,5 +1,55 @@ { "versions": [ + { + "git-tree": "f1e872bb8327f8ab7b0cc5640673236419b497d0", + "version": "1.3.296.0", + "port-version": 0 + }, + { + "git-tree": "13b31b81e09a949e0a18df0e57f7b76311c2591f", + "version": "1.3.290.0", + "port-version": 0 + }, + { + "git-tree": "5fdfee03a1e5cecffdcad95c6efb72a7eca4785f", + "version": "1.3.280.0", + "port-version": 0 + }, + { + "git-tree": "d0bd177162a784f4939c6e142a9fe590e4c10dce", + "version": "1.3.275.0", + "port-version": 0 + }, + { + "git-tree": "a169757648a3ab575795f1d4b417d5c1e545fb81", + "version": "1.3.268.0", + "port-version": 0 + }, + { + "git-tree": "9745c8474cd0d67262164092fe7283b7ecb36914", + "version": "1.3.246.1", + "port-version": 0 + }, + { + "git-tree": "1975a40807faf80ae5a8513b15f707ec9d583763", + "version": "1.3.231.1", + "port-version": 1 + }, + { + "git-tree": "f192dbfcc02f6367e9e12b7659c503f68856a876", + "version": "1.3.231.1", + "port-version": 0 + }, + { + "git-tree": "5b17fe28f5ada58a1a3e1435c20d59410b82e501", + "version": "1.3.216.0", + "port-version": 0 + }, + { + "git-tree": "2b51afa759a0312e325533a909418ed5b7803cda", + "version": "1.3.204.1", + "port-version": 0 + }, { "git-tree": "28d7c25f7908e3ac693c769c3ce6474855a05bcb", "version-date": "2021-03-25", diff --git a/versions/s-/spirv-reflect.json b/versions/s-/spirv-reflect.json new file mode 100644 index 00000000000000..ac436b11157573 --- /dev/null +++ b/versions/s-/spirv-reflect.json @@ -0,0 +1,54 @@ +{ + "versions": [ + { + "git-tree": "fa076328489d6f554dcbdcc114aa53c0261cbeae", + "version": "1.3.296.0", + "port-version": 0 + }, + { + "git-tree": "0b14b5a6608af8938cfad18a3ea3c1ebe6c30ba8", + "version": "1.3.290.0", + "port-version": 0 + }, + { + "git-tree": "f5cfadd5ead0c5a5e825e2e21b314bc902a43261", + "version": "1.3.280.0", + "port-version": 1 + }, + { + "git-tree": "dbbfffe0c147230e88f43f57d77b34c59f29b3f6", + "version": "1.3.280.0", + "port-version": 0 + }, + { + "git-tree": "3ec7c21ce674b3369a7ca32f4822e463815931a5", + "version": "1.3.275.0", + "port-version": 0 + }, + { + "git-tree": "640aba022004347ac98e964b8a932dde3f677d5f", + "version": "1.3.268.0", + "port-version": 0 + }, + { + "git-tree": "e36ea589e8b33e978c90da2c33ee457cd948dfce", + "version": "1.3.236.0", + "port-version": 0 + }, + { + "git-tree": "c91c6adcaec9c0be70159ab302a5999574400e58", + "version": "1.3.204.1", + "port-version": 1 + }, + { + "git-tree": "ca2155d2cbf6c3493ac3129f333308976975cb50", + "version": "1.3.204.1", + "port-version": 0 + }, + { + "git-tree": "bcebcfdd9e9332b68c4185b3127fc898fc91402a", + "version-date": "2021-12-31", + "port-version": 0 + } + ] +} diff --git a/versions/s-/spirv-tools.json b/versions/s-/spirv-tools.json index 26c205513f1ee6..62cd8873dfa30e 100644 --- a/versions/s-/spirv-tools.json +++ b/versions/s-/spirv-tools.json @@ -1,5 +1,55 @@ { "versions": [ + { + "git-tree": "d7623e3b9a2791fc6adde89c36602e5d314e1dd8", + "version": "1.3.296.0", + "port-version": 0 + }, + { + "git-tree": "2d453d5afb41ffadc2625644c74b4423e2991e6b", + "version": "1.3.290.0", + "port-version": 0 + }, + { + "git-tree": "354b4ac2f03ddf9ca4de2cc903be808f5c9a53f7", + "version": "1.3.280.0", + "port-version": 0 + }, + { + "git-tree": "d85b9c9f0dcec75a5748e685d30b952fb97e431b", + "version": "1.3.275.0", + "port-version": 0 + }, + { + "git-tree": "73ef0c502cabbe79cfcef62b67ec352e8675c721", + "version": "1.3.268.0", + "port-version": 0 + }, + { + "git-tree": "47e4151499f10ce55584fc6818822bdc4a913353", + "version": "2023.2", + "port-version": 0 + }, + { + "git-tree": "082a2b7ca21aeafe82dc89765facb7c34675b7b9", + "version": "2022.4", + "port-version": 1 + }, + { + "git-tree": "38e7ee249f19adf3574548ce895be13919960fdf", + "version": "2022.4", + "port-version": 0 + }, + { + "git-tree": "337e34849b8c1c574890350394069279f1a0ccad", + "version": "2022.2", + "port-version": 0 + }, + { + "git-tree": "459985359177e0c0774ac341db9721650499844b", + "version": "2022.1", + "port-version": 0 + }, { "git-tree": "c18f04e12fa671a9067896ccdf8c932601f81115", "version-string": "2021.1", diff --git a/versions/s-/spix.json b/versions/s-/spix.json index a3ab08a1332bf9..bae6b2a261a20b 100644 --- a/versions/s-/spix.json +++ b/versions/s-/spix.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "242f18b432502d15fba249b9b830ee7a4781599b", + "version": "0.5", + "port-version": 0 + }, + { + "git-tree": "4d26875159ee21430be1cff1f64ebe8dacdcbf7b", + "version": "0.4", + "port-version": 0 + }, { "git-tree": "703bc0f66a7cb23368f4230a35451356b92e5c75", "version": "0.3", diff --git a/versions/s-/spout2.json b/versions/s-/spout2.json new file mode 100644 index 00000000000000..001eb3becd9c82 --- /dev/null +++ b/versions/s-/spout2.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "e3e3dddea59b3f446dab21b4e4e9ca3c397197f6", + "version-string": "2.007.010", + "port-version": 0 + }, + { + "git-tree": "6f13bac00168667a3628277bf6301fa4a25c954c", + "version-string": "2.007.009", + "port-version": 0 + } + ] +} diff --git a/versions/s-/sprout.json b/versions/s-/sprout.json index a8aff6295d7f5c..405af17459f538 100644 --- a/versions/s-/sprout.json +++ b/versions/s-/sprout.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "795a63868d8c0d156de6a03b4b79c5ce9cb92461", + "version-date": "2019-06-20", + "port-version": 2 + }, { "git-tree": "614a0748fa2deac704af2170ab88ed64c7475e11", "version-string": "2019-06-20", diff --git a/versions/s-/spscqueue.json b/versions/s-/spscqueue.json index 67404178c56224..ac105d70909957 100644 --- a/versions/s-/spscqueue.json +++ b/versions/s-/spscqueue.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "1edb233f352fa0104a9ba8958788e5f6cc43830c", + "version": "1.1", + "port-version": 3 + }, + { + "git-tree": "ffd613482d5eb0a109b43a8e0eeae5a83ea4d840", + "version-string": "1.1", + "port-version": 2 + }, { "git-tree": "9a8b323fdedb205fefac81e53240408ac7ece3ee", "version-string": "1.1", diff --git a/versions/s-/sqlcipher.json b/versions/s-/sqlcipher.json index df96b742b00e8e..aebb83f4b249c9 100644 --- a/versions/s-/sqlcipher.json +++ b/versions/s-/sqlcipher.json @@ -1,5 +1,60 @@ { "versions": [ + { + "git-tree": "50e124ac105168dff2cbe199adf15e1d13f5562f", + "version": "4.6.1", + "port-version": 0 + }, + { + "git-tree": "2497c31e00c779e502abdc7a0dc89845989cb41f", + "version": "4.6.0", + "port-version": 0 + }, + { + "git-tree": "cd71e0db4fe329a414dd99173f358d4bfe3eb847", + "version": "4.5.6", + "port-version": 0 + }, + { + "git-tree": "81b4c14ac8275c922f1a972db7452c98b002526b", + "version": "4.5.4", + "port-version": 0 + }, + { + "git-tree": "d270ac9cc648113c540f9f29e9ab0ebece65e369", + "version": "4.5.3", + "port-version": 2 + }, + { + "git-tree": "1debf9d86243c81b196302225f7c382958240a30", + "version": "4.5.3", + "port-version": 1 + }, + { + "git-tree": "2cbeeef2ddd185d1b41197c8b8abd6fbf0646047", + "version": "4.5.3", + "port-version": 0 + }, + { + "git-tree": "56c606b11bcc5de6e0a93cde32b9c876539d6df4", + "version": "4.5.2", + "port-version": 0 + }, + { + "git-tree": "3803a9648861130c25517c8b330c17d054fe6cd7", + "version": "4.5.1", + "port-version": 0 + }, + { + "git-tree": "e38664c89497e1686362947290d62bcf0eb6abaa", + "version": "4.5.0", + "port-version": 1 + }, + { + "git-tree": "dd42a5be2c9409d8e5c35b9821765f504ef960ff", + "version": "4.5.0", + "port-version": 0 + }, { "git-tree": "3811f54932ce20be68bed2fed0cafcfb1d03be56", "version": "4.4.3", diff --git a/versions/s-/sqlite-modern-cpp.json b/versions/s-/sqlite-modern-cpp.json index 302e1a3edc0dda..09237b24a6661a 100644 --- a/versions/s-/sqlite-modern-cpp.json +++ b/versions/s-/sqlite-modern-cpp.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "1b5458f72c5d6a5a322db9ce1e7a1f7b68888a0f", + "version-date": "2023-12-03", + "port-version": 0 + }, + { + "git-tree": "b468e28a38d1849eecaa0113410b214dbe41cd27", + "version": "3.2-936cd0c8", + "port-version": 2 + }, { "git-tree": "ac74c74504305a6929128356e348907745b01c11", "version-string": "3.2-936cd0c8", diff --git a/versions/s-/sqlite-orm.json b/versions/s-/sqlite-orm.json index 16d45a07cdde65..6df750a67270c7 100644 --- a/versions/s-/sqlite-orm.json +++ b/versions/s-/sqlite-orm.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "199d90fac299fcdcb22eaaeb3aaceea4490da339", + "version": "1.9", + "port-version": 0 + }, + { + "git-tree": "bcff94e1b22d04049a76d0a46dc0fbda9ca5bae7", + "version": "1.8.2", + "port-version": 2 + }, + { + "git-tree": "13e0d0b90109dcaf60af5d316ece18d4cf6ef50e", + "version": "1.8.2", + "port-version": 1 + }, + { + "git-tree": "d46221e51b059d05e7f65620b5e377fdc3673d74", + "version": "1.8.2", + "port-version": 0 + }, + { + "git-tree": "cbb80bd62fb69f81d00cc551f1033b31df52ca2d", + "version": "1.8.1", + "port-version": 0 + }, + { + "git-tree": "a065a6f10e3d75198b433530fd91853eb691c325", + "version": "1.7.1", + "port-version": 0 + }, + { + "git-tree": "57c4daa9dadbff1a2f6c088f6716bd14b638984b", + "version": "1.7", + "port-version": 0 + }, { "git-tree": "be577f000372e4ae6d9675bdb10ff25dce38d90d", "version-string": "1.6", diff --git a/versions/s-/sqlite3.json b/versions/s-/sqlite3.json index 664d54a350ab4b..41291e7730c175 100644 --- a/versions/s-/sqlite3.json +++ b/versions/s-/sqlite3.json @@ -1,5 +1,170 @@ { "versions": [ + { + "git-tree": "543d6067a10a7ab97a4893997afaee4d34230a27", + "version": "3.47.0", + "port-version": 2 + }, + { + "git-tree": "a28f9bb5f7c9a1b985a6ad77d1f3b22e9a543fcb", + "version": "3.47.0", + "port-version": 1 + }, + { + "git-tree": "e1627228f6b8f4dd39e51e29b34c7b5ea1c304ba", + "version": "3.47.0", + "port-version": 0 + }, + { + "git-tree": "9cc1e5365321142755736cbc5a61cfa194f5b297", + "version": "3.46.1", + "port-version": 0 + }, + { + "git-tree": "54f7fe82339d8c8d79ff2cffd1751084fef85bfc", + "version": "3.46.0", + "port-version": 2 + }, + { + "git-tree": "234ced2fde5397c2a92a05e9fa0311ce24fde568", + "version": "3.46.0", + "port-version": 1 + }, + { + "git-tree": "e71c1765147d72e0fbe5fc0f3affd09d95b3ee8b", + "version": "3.45.3", + "port-version": 1 + }, + { + "git-tree": "e005452807711795772b974b3ba5991a65252343", + "version": "3.45.3", + "port-version": 0 + }, + { + "git-tree": "f835055a43b1f593986f816f564614ae5a8c3c73", + "version": "3.45.2", + "port-version": 0 + }, + { + "git-tree": "4e2ae6bc4849b52c6cd2e2d51c110f69ac3901d0", + "version": "3.45.1", + "port-version": 1 + }, + { + "git-tree": "c5400f042e2a80411a055dbd06720135851f9ec7", + "version": "3.45.1", + "port-version": 0 + }, + { + "git-tree": "537fe5086cb7cad8b2c24f4182b0777b81d7c175", + "version": "3.45.0", + "port-version": 0 + }, + { + "git-tree": "73056e20fb351b2c6978b351c74112223791eb25", + "version": "3.43.2", + "port-version": 1 + }, + { + "git-tree": "45ea1b638c4911a25f145365f06a11802b12c81e", + "version": "3.43.2", + "port-version": 0 + }, + { + "git-tree": "6497ccc9668ca1e0b17a080b01e8585b33660336", + "version": "3.43.1", + "port-version": 0 + }, + { + "git-tree": "4f7a1dcf86377b6045fbf05eb0ec1baff1d2ceb6", + "version": "3.43.0", + "port-version": 0 + }, + { + "git-tree": "3846bd7701a147c0ed20bb7715c0be031f471f92", + "version": "3.42.0", + "port-version": 2 + }, + { + "git-tree": "3414b2e79fd240d315ac9fc1165fc376966c8322", + "version": "3.42.0", + "port-version": 1 + }, + { + "git-tree": "a1b6deae3ce2f17e1384f02e7da3e7fae3a0865d", + "version": "3.42.0", + "port-version": 0 + }, + { + "git-tree": "846077eab115952eeb4dda0eaae97a3eb776fa9f", + "version": "3.40.1", + "port-version": 3 + }, + { + "git-tree": "6bb52479b5ab874f6283e585a3bf2294f52966ca", + "version": "3.40.1", + "port-version": 2 + }, + { + "git-tree": "a08d5bdc16bbeb6e156289d80416535f9cd0a073", + "version": "3.40.1", + "port-version": 1 + }, + { + "git-tree": "e906c625a802b4fb35a8ad2ff23016f76a92e7e3", + "version": "3.40.1", + "port-version": 0 + }, + { + "git-tree": "2c8847911865e9de25af862637764ce514feaf36", + "version": "3.40.0", + "port-version": 2 + }, + { + "git-tree": "822fbc846fb73d1906929b6843ee939c1bb78cc5", + "version": "3.40.0", + "port-version": 1 + }, + { + "git-tree": "2a4aa5dd4dce8b1852a367c9e6ded10e4ca00006", + "version": "3.40.0", + "port-version": 0 + }, + { + "git-tree": "b673cfda60055677c42fe66cdd0655ad4a1110dd", + "version": "3.39.2", + "port-version": 0 + }, + { + "git-tree": "ccab102efea1120dc2140b4c0519676a65c055b6", + "version": "3.39.1", + "port-version": 0 + }, + { + "git-tree": "8b96d4235bae7daf0cf3f65f66f9c28f9290628a", + "version": "3.37.2", + "port-version": 2 + }, + { + "git-tree": "f49ad405225c6326558adb79f2082814002a8cda", + "version": "3.37.2", + "port-version": 1 + }, + { + "git-tree": "ac17b6f385706852a3895200764c358697c5c584", + "version": "3.37.1", + "port-version": 0 + }, + { + "git-tree": "abbe21d1a38c7eb9e8c87965235d92721001e997", + "version": "3.37.0", + "port-version": 1 + }, + { + "git-tree": "51ffa2ba781101e70546d4e6956d31f69a59cee6", + "version": "3.37.0", + "port-version": 0 + }, { "git-tree": "e0395ce17570ddb92d952ca5f8be1953ec4c8325", "version": "3.36.0", diff --git a/versions/s-/sqlitecpp.json b/versions/s-/sqlitecpp.json index 8ad9ced317cb2c..fed1de21207b98 100644 --- a/versions/s-/sqlitecpp.json +++ b/versions/s-/sqlitecpp.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "5ae20f010448408508d0ec198f3166f6f9794f69", + "version": "3.3.2", + "port-version": 0 + }, + { + "git-tree": "82921718a535a8c074d454e2b3a650467b866877", + "version": "3.3.1", + "port-version": 0 + }, + { + "git-tree": "b239a7578034b934210ab61e462b789feffe2136", + "version": "3.3.0", + "port-version": 0 + }, + { + "git-tree": "3e0dea72ad51e6dd229ecb147989143608868369", + "version": "3.2.0", + "port-version": 1 + }, + { + "git-tree": "3c58ccce272eff177538d4216b7cfc7ecf0c9ab4", + "version": "3.2.0", + "port-version": 0 + }, + { + "git-tree": "2b16a053ff6df932be1e7b02ad0b34dff2a03cf5", + "version-string": "3.1.1", + "port-version": 2 + }, { "git-tree": "95b41ad9727bd341deba2739968a3d7173c0fb9b", "version-string": "3.1.1", diff --git a/versions/s-/sqlpp11-connector-mysql.json b/versions/s-/sqlpp11-connector-mysql.json index 5ecd3b6d4ec0e6..4d0489c5eeabc7 100644 --- a/versions/s-/sqlpp11-connector-mysql.json +++ b/versions/s-/sqlpp11-connector-mysql.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "2e15caf6d82c3e2b8ad27294a18ea745d7713b28", + "version": "0.61", + "port-version": 0 + }, { "git-tree": "be46edaef7e1c02783398222e4e73f288848e537", "version-string": "0.29", diff --git a/versions/s-/sqlpp11-connector-sqlite3.json b/versions/s-/sqlpp11-connector-sqlite3.json index ca49980d3330da..6daff1e528c58c 100644 --- a/versions/s-/sqlpp11-connector-sqlite3.json +++ b/versions/s-/sqlpp11-connector-sqlite3.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "c2465fd92079797d39eddc691a6938933e0b6624", + "version": "0.61", + "port-version": 0 + }, { "git-tree": "476b94c2a6be8d48ef3360793ed0b4569b4614d4", "version-string": "0.30", diff --git a/versions/s-/sqlpp11.json b/versions/s-/sqlpp11.json index ee0e440c8d13f2..7456504f4a5835 100644 --- a/versions/s-/sqlpp11.json +++ b/versions/s-/sqlpp11.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "16c9c831d703248a11117054ee7974a6381fe411", + "version": "0.64", + "port-version": 2 + }, + { + "git-tree": "dcc1169986fc1ff635e7f0a104e1330c9ac3e15f", + "version": "0.64", + "port-version": 1 + }, + { + "git-tree": "6906f65042fff492746cfe95290e03ea4e89da4a", + "version": "0.64", + "port-version": 0 + }, + { + "git-tree": "f84d46c5d6cac9efc370ba6d4a4d0788281481c5", + "version": "0.61", + "port-version": 3 + }, + { + "git-tree": "1800c18be7c4fe76b515891d6f7d51525873f264", + "version": "0.61", + "port-version": 2 + }, + { + "git-tree": "d7384489fec593161753c46383d26f666a751847", + "version": "0.61", + "port-version": 1 + }, + { + "git-tree": "0013607524d7c0803705193bbf09b1254fab14ff", + "version": "0.61", + "port-version": 0 + }, { "git-tree": "572562b44cd15b26fd8cdf68dff2c53d6ec0619d", "version-string": "0.60", diff --git a/versions/s-/sratom.json b/versions/s-/sratom.json index cd4f8572c23fd9..30a3ed035805bb 100644 --- a/versions/s-/sratom.json +++ b/versions/s-/sratom.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "425b119026416be70339ec4c4ec0e4ee21c42549", + "version": "0.6.16", + "port-version": 0 + }, + { + "git-tree": "8659897618d9d3ac1f3d8ae10a136a57f3d05610", + "version": "0.6.4", + "port-version": 2 + }, + { + "git-tree": "5536e4cc0cc0e24c2e0ada700a5cbcc89b13d0fe", + "version-string": "0.6.4", + "port-version": 1 + }, { "git-tree": "182f7bca04bba50becb7f719b0403033ffd1a9da", "version-string": "0.6.4", diff --git a/versions/s-/srell.json b/versions/s-/srell.json index 7f8cafc296f859..3ae37e418a2e6a 100644 --- a/versions/s-/srell.json +++ b/versions/s-/srell.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "f09d9751be1fbf4ca223d8755ef6fb7acedde1fa", + "version-string": "3.010", + "port-version": 0 + }, { "git-tree": "b687fe2dff873db6884f3eacb1b756579bee8e0e", "version-string": "3.001", diff --git a/versions/s-/srpc.json b/versions/s-/srpc.json index 01f29288d85606..a0e4b853a2e233 100644 --- a/versions/s-/srpc.json +++ b/versions/s-/srpc.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "038425c919e84543a4b67af3e450614affe3bd7b", + "version-semver": "0.10.3", + "port-version": 1 + }, + { + "git-tree": "73c36edb18eee3aaf83b3fb489efdca9c93368fd", + "version-semver": "0.10.3", + "port-version": 0 + }, + { + "git-tree": "cab44b93cf32daf3a535c14426eb9b5c780e94ea", + "version-semver": "0.10.1", + "port-version": 0 + }, { "git-tree": "7f8e905bb42ba10b9076c4fca512933f4e3171e5", "version-semver": "0.9.3", diff --git a/versions/s-/sse2neon.json b/versions/s-/sse2neon.json new file mode 100644 index 00000000000000..ee08099a277bf8 --- /dev/null +++ b/versions/s-/sse2neon.json @@ -0,0 +1,24 @@ +{ + "versions": [ + { + "git-tree": "52385b21c6b4937686fda2d29616b1e000e3d19c", + "version": "1.7.0", + "port-version": 0 + }, + { + "git-tree": "8277f06943fa53ab6c6211f0f71046cf1083aaf0", + "version": "1.6.0", + "port-version": 0 + }, + { + "git-tree": "8a4bda251b90a7bd189f57588bf9148cb294e0d5", + "version-semver": "1.5.1", + "port-version": 1 + }, + { + "git-tree": "e00a052f2ef1408866bdb2c216d84e239f9bd11c", + "version-semver": "1.5.1", + "port-version": 0 + } + ] +} diff --git a/versions/s-/stackwalker.json b/versions/s-/stackwalker.json new file mode 100644 index 00000000000000..adf5218a63a577 --- /dev/null +++ b/versions/s-/stackwalker.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "20d0f7a4241172aa6694d7374784d7aa83798e17", + "version-date": "2023-06-24", + "port-version": 0 + }, + { + "git-tree": "31a65d527a4476b3ababfd0ec1b9bb78371900ca", + "version": "1.20", + "port-version": 0 + } + ] +} diff --git a/versions/s-/starlink-ast.json b/versions/s-/starlink-ast.json index 0ba8d7525f3ba6..a2150030d177db 100644 --- a/versions/s-/starlink-ast.json +++ b/versions/s-/starlink-ast.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "13d3dcf5fe4db3f9c3ec43869b4a4e343c35ff65", + "version": "9.2.10", + "port-version": 1 + }, + { + "git-tree": "f79db80b697effc13bf43a3d370701e0e7a244c4", + "version": "9.2.10", + "port-version": 0 + }, + { + "git-tree": "88677a462cafe1aea0ff773adb4b57ea1e89c9c5", + "version": "9.2.7", + "port-version": 3 + }, + { + "git-tree": "36d8a5acad3aceddae181c099448d336fdefb0e7", + "version": "9.2.7", + "port-version": 2 + }, + { + "git-tree": "f749208cd4ad912baf5f9b84482f32a176ef910a", + "version": "9.2.7", + "port-version": 1 + }, + { + "git-tree": "9f0217b4694092c4b440de6e864986ee8c567f5e", + "version": "9.2.7", + "port-version": 0 + }, + { + "git-tree": "b5cfb9d9ff68b40b5a910240d3b0d09190b17b36", + "version-semver": "9.2.5", + "port-version": 0 + }, { "git-tree": "487c5e318ce957c09647d0d74a2b5b4a4e99ffef", "version-semver": "9.2.4", diff --git a/versions/s-/staticjson.json b/versions/s-/staticjson.json new file mode 100644 index 00000000000000..b4f06251773bf7 --- /dev/null +++ b/versions/s-/staticjson.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "3d2740736f7d0b3014ef9a5c9b2c77bcf570923c", + "version": "1.0.0", + "port-version": 0 + } + ] +} diff --git a/versions/s-/status-code.json b/versions/s-/status-code.json index 31210573bc5bdc..fb4f3cda3c1a14 100644 --- a/versions/s-/status-code.json +++ b/versions/s-/status-code.json @@ -1,5 +1,45 @@ { "versions": [ + { + "git-tree": "e0ce8f71e6eb79014ecd92a629a245a1a25870cc", + "version-date": "2023-11-06", + "port-version": 1 + }, + { + "git-tree": "dca3b484e4be516afae962ee6760d3eef5eb4779", + "version-date": "2023-11-06", + "port-version": 0 + }, + { + "git-tree": "40d6b3bdc23cdb7de14e9f07eb229d0124b9c550", + "version-date": "2023-01-27", + "port-version": 2 + }, + { + "git-tree": "e920c8de8cd88a6a9f9a4d1c378c21a36759123b", + "version-date": "2023-01-27", + "port-version": 1 + }, + { + "git-tree": "0242a08fe7d2d12bcfcbdefe919bc9afabfdc5fd", + "version-date": "2023-01-27", + "port-version": 0 + }, + { + "git-tree": "b6862c7199dafad1c85c5fabb09a4842c3fa1fa3", + "version-date": "2022-09-08", + "port-version": 0 + }, + { + "git-tree": "acf45fde7be9ba87dd72d79d3d8f79bc639e8530", + "version-string": "1.0.0-20220104", + "port-version": 0 + }, + { + "git-tree": "c71af3efa61ec9c5bbb91287b610bcc561e95a47", + "version-string": "1.0.0-20211208", + "port-version": 1 + }, { "git-tree": "3acdd69c0d01a5041a2549a21a1d0d367efa7d53", "version-string": "1.0.0-ab3cd821", diff --git a/versions/s-/status-value-lite.json b/versions/s-/status-value-lite.json index 19cdeaced1c886..20163f3956c9c2 100644 --- a/versions/s-/status-value-lite.json +++ b/versions/s-/status-value-lite.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "7f68af4939ee1b22bd9f3e56dac9a7034e779d04", + "version": "1.1.0", + "port-version": 3 + }, + { + "git-tree": "8b5ac338ea6bcfa9e1da3c30a068b7ef84c4dd62", + "version-string": "1.1.0", + "port-version": 2 + }, { "git-tree": "81415ecf90da612b36d970777850cfa47ba2e1e8", "version-string": "1.1.0", diff --git a/versions/s-/stb.json b/versions/s-/stb.json index 750f114e6438a7..55daaf4edc4d3d 100644 --- a/versions/s-/stb.json +++ b/versions/s-/stb.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "c362152d1d02973e7b1ce777960f8a6876656560", + "version-date": "2024-07-29", + "port-version": 1 + }, + { + "git-tree": "acd9c2bf96a3e32fbf629b1bfd6cba4827761069", + "version-date": "2023-04-11", + "port-version": 1 + }, + { + "git-tree": "4da95279f1989ddca993d095fcd2c0e245c8b5d6", + "version-date": "2023-04-11", + "port-version": 0 + }, + { + "git-tree": "259df7e67a205697472aa4a3ff0326ac6fa60aa2", + "version-date": "2022-09-09", + "port-version": 0 + }, + { + "git-tree": "9ebadca0be90431f35a8d20b44f40b07285eb33d", + "version-date": "2021-09-10", + "port-version": 1 + }, + { + "git-tree": "2da639ecba7048e0f722dc01fae6cef32d671991", + "version-date": "2021-09-10", + "port-version": 0 + }, + { + "git-tree": "41ce7d73e93526a943f08e5e4601c6b2325ba527", + "version": "2020-09-14", + "port-version": 2 + }, { "git-tree": "fa6d7e998f98f122efa37f456ffa498d546185b9", "version-string": "2020-09-14", diff --git a/versions/s-/stdexec.json b/versions/s-/stdexec.json new file mode 100644 index 00000000000000..7d375b67b7c2fe --- /dev/null +++ b/versions/s-/stdexec.json @@ -0,0 +1,39 @@ +{ + "versions": [ + { + "git-tree": "06777edff8fc92c3716e6a800ae44c8c80cf8af3", + "version-date": "2024-06-16", + "port-version": 2 + }, + { + "git-tree": "1bc8de1856cd06c3b1c1a04c580ef085b3f766ab", + "version-date": "2024-06-16", + "port-version": 1 + }, + { + "git-tree": "dd6ff11019e7fada3711cc8531e192d6ca05d731", + "version-date": "2024-06-16", + "port-version": 0 + }, + { + "git-tree": "e618d986f55789354b123286ca6ecf674358447a", + "version-date": "2023-09-06", + "port-version": 3 + }, + { + "git-tree": "945f9fceea838cc9f1c251a801a39244785cb08e", + "version-date": "2023-03-05", + "port-version": 2 + }, + { + "git-tree": "3435db06cfe7eb2aa08dd32988c2360017bb66f1", + "version-date": "2023-03-05", + "port-version": 1 + }, + { + "git-tree": "f0dea0ac2888c1fe01a7521f5cddabfc86d6fd8d", + "version-date": "2023-03-05", + "port-version": 0 + } + ] +} diff --git a/versions/s-/stduuid.json b/versions/s-/stduuid.json new file mode 100644 index 00000000000000..8baded3bb7e996 --- /dev/null +++ b/versions/s-/stduuid.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "a3a58db8b151c363a0f3df4a99e416d3a8dc0b62", + "version": "1.2.3", + "port-version": 0 + }, + { + "git-tree": "bd235773c953e5636a7b9f6356437daef6e5010c", + "version": "1.2.2", + "port-version": 0 + } + ] +} diff --git a/versions/s-/stftpitchshift.json b/versions/s-/stftpitchshift.json new file mode 100644 index 00000000000000..1ebb0bc55f0913 --- /dev/null +++ b/versions/s-/stftpitchshift.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "36932b4bd7c57fdc63ae75ec5117f6321e3c2ca6", + "version": "1.4.1", + "port-version": 0 + }, + { + "git-tree": "1f4a495416b6e2e3a830c8ba72eb5cf9034c68cc", + "version": "1.3.2", + "port-version": 0 + } + ] +} diff --git a/versions/s-/stlab.json b/versions/s-/stlab.json index a93c471e32ba86..c7181362348bf7 100644 --- a/versions/s-/stlab.json +++ b/versions/s-/stlab.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "929ef11a6dc1df85348385786c621e0674c5c903", + "version": "1.7.1", + "port-version": 2 + }, + { + "git-tree": "abb069e17e53344d850ff3b01ebf636a1734a6e0", + "version": "1.7.1", + "port-version": 1 + }, + { + "git-tree": "82ee8586032e3eb89368644e78fe4a4726a17774", + "version": "1.7.1", + "port-version": 0 + }, + { + "git-tree": "8e7a8c754181f223c69b2b67ed3cf928db44e4b9", + "version-string": "1.6.2", + "port-version": 2 + }, { "git-tree": "de92e484fbf56eff04270090cb06452cbe22431b", "version-string": "1.6.2", diff --git a/versions/s-/stormlib.json b/versions/s-/stormlib.json index 24b12b98fd179d..5166589c74a064 100644 --- a/versions/s-/stormlib.json +++ b/versions/s-/stormlib.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "1f5b1e0a693bea5a8bcdec058ef72972c6104115", + "version": "9.26", + "port-version": 0 + }, + { + "git-tree": "a3fc71772572a4bff064f754ef71c6631cb9bca9", + "version": "9.25", + "port-version": 0 + }, + { + "git-tree": "be1785249ddff2cfdcee25685c3775946edf9d6e", + "version-date": "2019-05-10", + "port-version": 5 + }, + { + "git-tree": "6041fce722face7562ea7e514f590a6c3e60b2d2", + "version-string": "2019-05-10", + "port-version": 4 + }, { "git-tree": "685e22a5716a953dece56ffccfd4b3102936d175", "version-string": "2019-05-10", diff --git a/versions/s-/str-view.json b/versions/s-/str-view.json new file mode 100644 index 00000000000000..f0f666bf45a4d7 --- /dev/null +++ b/versions/s-/str-view.json @@ -0,0 +1,29 @@ +{ + "versions": [ + { + "git-tree": "613902af91423ad63fa43328f7bc181462be0475", + "version": "0.5.4", + "port-version": 0 + }, + { + "git-tree": "a04f1e31117c61efee35b7e445d74af7fee918ab", + "version": "0.5.0", + "port-version": 0 + }, + { + "git-tree": "ff391fe51aaf26611d1e25130058a460745128dd", + "version": "0.4.0", + "port-version": 0 + }, + { + "git-tree": "d2588b697341cfb4bc99b808ba6a4b0c68105356", + "version": "0.3.11", + "port-version": 1 + }, + { + "git-tree": "a0451e418c42ac6d27391a264603dd9a7d25ef1c", + "version": "0.3.11", + "port-version": 0 + } + ] +} diff --git a/versions/s-/strict-variant.json b/versions/s-/strict-variant.json index df6be4fb3757aa..6828b4ef0be56b 100644 --- a/versions/s-/strict-variant.json +++ b/versions/s-/strict-variant.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "1461f2e46ee70ef3690b836eab3270cf88322a1a", + "version": "0.5", + "port-version": 2 + }, { "git-tree": "f4589b1df5892a4966987c9a6d856b76c7c2481d", "version-string": "0.5", diff --git a/versions/s-/string-theory.json b/versions/s-/string-theory.json index c10d120898f1d6..77a43aa7388815 100644 --- a/versions/s-/string-theory.json +++ b/versions/s-/string-theory.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "ca2ab2f3286c4b1f945ea10f070bfb0845755018", + "version": "3.8", + "port-version": 0 + }, + { + "git-tree": "e3c6df91d194be6ca56d8f4044cf0137041d4f04", + "version": "3.6", + "port-version": 0 + }, { "git-tree": "6c02a14bfc014ccb0e31c944aac072ed64eb1136", "version": "3.5", diff --git a/versions/s-/string-view-lite.json b/versions/s-/string-view-lite.json index 8b2a2439030060..826783e86d9158 100644 --- a/versions/s-/string-view-lite.json +++ b/versions/s-/string-view-lite.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "0b4c926e1ab92dca1b758c91c6f994e8fc61c9aa", + "version": "1.8.0", + "port-version": 1 + }, + { + "git-tree": "ef393f08f15d4f962c5d9d37c4c2036dff02be98", + "version": "1.7.0", + "port-version": 1 + }, + { + "git-tree": "678c99fe335fc105cae78ddd0899c34ab12815ea", + "version": "1.7.0", + "port-version": 0 + }, { "git-tree": "48fa93dc01e7035c62d200c96fbe6d6d28a3c6fb", "version": "1.6.0", diff --git a/versions/s-/stringzilla.json b/versions/s-/stringzilla.json new file mode 100644 index 00000000000000..d7ab6771d7239c --- /dev/null +++ b/versions/s-/stringzilla.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "19c1fcc087b436864ea6093cd182a5df96dcd408", + "version": "3.10.5", + "port-version": 0 + }, + { + "git-tree": "6acf96d1a37889967709ff6e334922689171f10e", + "version": "3.7.0", + "port-version": 0 + } + ] +} diff --git a/versions/s-/strong-type.json b/versions/s-/strong-type.json new file mode 100644 index 00000000000000..29e6cb35527c86 --- /dev/null +++ b/versions/s-/strong-type.json @@ -0,0 +1,24 @@ +{ + "versions": [ + { + "git-tree": "6d553ac18780e1a9f323762bedbca29f95f9a23c", + "version": "15", + "port-version": 0 + }, + { + "git-tree": "85f393f413a163ffc40bcecb73e423255339591f", + "version": "14", + "port-version": 0 + }, + { + "git-tree": "946a58c83d58700039546b6f177b1a1c97ba9487", + "version": "12", + "port-version": 0 + }, + { + "git-tree": "017b73a108f38fb46a32be946809985a6b1ab96c", + "version": "8", + "port-version": 0 + } + ] +} diff --git a/versions/s-/stronk.json b/versions/s-/stronk.json new file mode 100644 index 00000000000000..b5ceb9df0ca220 --- /dev/null +++ b/versions/s-/stronk.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "a7033b2317a3651481e010f4c6e02c59e963638e", + "version-semver": "0.3.1", + "port-version": 0 + }, + { + "git-tree": "e4a44d9b4174532927a658b7762122b06ad2f663", + "version-semver": "0.2.0", + "port-version": 0 + } + ] +} diff --git a/versions/s-/strtk.json b/versions/s-/strtk.json index 111ce2ba6ec540..42580056fec1ac 100644 --- a/versions/s-/strtk.json +++ b/versions/s-/strtk.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "9ca0c92f240e76f11da9df645fa1bcba01e877b4", + "version-date": "2020-09-14", + "port-version": 4 + }, + { + "git-tree": "25bd007473e6ece64e317dc8b4ea97d29188a173", + "version-date": "2020-09-14", + "port-version": 3 + }, + { + "git-tree": "42d71cbd4755eecc7183ac64b262ddd87450c431", + "version-date": "2020-09-14", + "port-version": 2 + }, { "git-tree": "ac754f80d0eec3321c07b9389b10ba93490ee148", "version-string": "2020-09-14", diff --git a/versions/s-/stx.json b/versions/s-/stx.json index 27c9f1ab72b9b4..4bb056c92e24ea 100644 --- a/versions/s-/stx.json +++ b/versions/s-/stx.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "5a0886857ee96767f4866d6416bb5d993904c74c", + "version": "1.0.5", + "port-version": 0 + }, + { + "git-tree": "030c04f78e98a9dbda976ba51350fb16391781fe", + "version": "0.0.3", + "port-version": 0 + }, { "git-tree": "700e84d6f57c5a4631d378525207a0265715e9c3", "version-string": "1.0.1", diff --git a/versions/s-/stxxl.json b/versions/s-/stxxl.json index 25fcc439f2d420..6d543a04c64b03 100644 --- a/versions/s-/stxxl.json +++ b/versions/s-/stxxl.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "1317b4d308dbd0739714615e46ffab600d2fc462", + "version-date": "2018-11-15", + "port-version": 8 + }, + { + "git-tree": "fa0c9adb40f2fa8c67d8d56b3b3e37c37fc55c76", + "version-date": "2018-11-15", + "port-version": 7 + }, + { + "git-tree": "fa281074458ae24fb9e0cc56746476d52222fc51", + "version-date": "2018-11-15", + "port-version": 6 + }, + { + "git-tree": "769f42922523b172d890b697a65096ca47e06ff8", + "version-date": "2018-11-15", + "port-version": 5 + }, { "git-tree": "081a4c6de6290ce05297cc873fa0fde245133a8a", "version-string": "2018-11-15", diff --git a/versions/s-/suitesparse.json b/versions/s-/suitesparse.json index 8e99fa85061b4a..92ee992824c6f9 100644 --- a/versions/s-/suitesparse.json +++ b/versions/s-/suitesparse.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "fb26833d46e56ee2e9986294be860acc1e81c074", + "version-semver": "5.8.0", + "port-version": 2 + }, { "git-tree": "4c709290c9cc6e7635c120dbd5cd9d227408a0ab", "version-semver": "5.8.0", diff --git a/versions/s-/sundials.json b/versions/s-/sundials.json index f9d1be6be58a74..70b8183cfbe817 100644 --- a/versions/s-/sundials.json +++ b/versions/s-/sundials.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "70190bbf1505ebd009d1ac538be87d83798a713e", + "version-semver": "7.1.1", + "port-version": 0 + }, + { + "git-tree": "c95957f06e56f03fb6336a30a984ff7273a36c5a", + "version-semver": "6.2.0", + "port-version": 0 + }, { "git-tree": "206df7509167e6e89bdac2e9252e9e57615e18a4", "version-semver": "5.8.0", diff --git a/versions/s-/superlu.json b/versions/s-/superlu.json index 7d13bfe6b5a188..e83a14a42a9d6a 100644 --- a/versions/s-/superlu.json +++ b/versions/s-/superlu.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "e542e8e80447c6d92875effae17aec8568816006", + "version": "7.0.0", + "port-version": 0 + }, + { + "git-tree": "9ae6007b0b5334eb0dc0e8ee97e8c24355a77323", + "version": "6.0.1", + "port-version": 0 + }, + { + "git-tree": "8187a877fbae6bdc54d5922753a1d67141576be0", + "version": "6.0.0", + "port-version": 0 + }, + { + "git-tree": "bcc27a8221ab0323b537025944ebc20ae56c36ac", + "version": "5.3.0", + "port-version": 1 + }, + { + "git-tree": "70b5d8ecd8bdca0344fc176833037b95b116219e", + "version": "5.3.0", + "port-version": 0 + }, + { + "git-tree": "6b8a53560265803d6b0b5b284b88abf0ae48650d", + "version-date": "2020-01-07", + "port-version": 6 + }, + { + "git-tree": "5bee1e0197c0e768c6ee8b9acdf815b4d46b5978", + "version-date": "2020-01-07", + "port-version": 5 + }, { "git-tree": "88c6ebaf1337aa31cf3afec8250fd7ee1b990b6e", "version-string": "2020-01-07", diff --git a/versions/s-/swenson-sort.json b/versions/s-/swenson-sort.json new file mode 100644 index 00000000000000..9cf81c73e3f71e --- /dev/null +++ b/versions/s-/swenson-sort.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "df8ebeee5f40cc3cfc5d7c88e858621ef3622270", + "version-date": "2021-05-22", + "port-version": 0 + } + ] +} diff --git a/versions/s-/symengine.json b/versions/s-/symengine.json index 313edc93326030..5a0cd532d967e3 100644 --- a/versions/s-/symengine.json +++ b/versions/s-/symengine.json @@ -1,5 +1,45 @@ { "versions": [ + { + "git-tree": "e75df0926102b86dc885b5c24a4616d4fa850e07", + "version": "0.11.2", + "port-version": 2 + }, + { + "git-tree": "2f4153bc257d5c8b657a7b37b6d4933aeb61573c", + "version": "0.11.2", + "port-version": 1 + }, + { + "git-tree": "22024db6e6ebc5f1be7e351e9eecd6f1cb26783a", + "version": "0.11.2", + "port-version": 0 + }, + { + "git-tree": "2308025668dda013e8b55f395871ed7d73cd20d5", + "version": "0.11.1", + "port-version": 0 + }, + { + "git-tree": "af6b6ed24e9fd37de357cd126afe917b47febd25", + "version": "0.10.1", + "port-version": 1 + }, + { + "git-tree": "63418f8cd771072202c4155627e90e280ddecf3c", + "version": "0.10.1", + "port-version": 0 + }, + { + "git-tree": "dd28d6549b4c7db81ef2ee9e91a4e41b0c739191", + "version": "0.9.0", + "port-version": 0 + }, + { + "git-tree": "b0ac6670bebc9a0903adaae9b35f9f444c4e8806", + "version": "0.7.0", + "port-version": 2 + }, { "git-tree": "203123b8fd0517f20bada24c6e4430a6425475bd", "version": "0.7.0", diff --git a/versions/s-/systemc.json b/versions/s-/systemc.json index 4102645c3897be..cf9f16f5f07ff8 100644 --- a/versions/s-/systemc.json +++ b/versions/s-/systemc.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "dbe865a5931720b89f0c20153c65aecc71dd7336", + "version": "2.3.3", + "port-version": 8 + }, + { + "git-tree": "52e920673434754e167ac8136dad29d92069a7a4", + "version-string": "2.3.3", + "port-version": 7 + }, { "git-tree": "c07c9aedd9229f1583602afe462aa9894562462c", "version-string": "2.3.3", diff --git a/versions/s-/szip.json b/versions/s-/szip.json index 83945853f397d9..0e1de12622bb37 100644 --- a/versions/s-/szip.json +++ b/versions/s-/szip.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "bc7c8053e3d7b1926f2a1771e122d151282ecd8d", + "version": "2.1.1", + "port-version": 12 + }, + { + "git-tree": "d70141a3b02fbaec47b0aae75b6abdee3502a0b7", + "version": "2.1.1", + "port-version": 11 + }, + { + "git-tree": "0d56cd5d38926df8d26c6ed3a829a392726ee27a", + "version": "2.1.1", + "port-version": 10 + }, + { + "git-tree": "f07c4350652c50e80bc78edb3db20a1c748d99ec", + "version": "2.1.1", + "port-version": 9 + }, + { + "git-tree": "0c8569ffc46401d06cff22755c0b95953ce5e828", + "version": "2.1.1", + "port-version": 8 + }, { "git-tree": "6f810fcedf9469940a80e5c343d983a55134332b", "version": "2.1.1", diff --git a/versions/t-/tabulate.json b/versions/t-/tabulate.json index dcdfc027bfda50..5762648f148079 100644 --- a/versions/t-/tabulate.json +++ b/versions/t-/tabulate.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "c0154785cec0295f02f3eed94d173c633c9cd9ee", + "version": "1.5", + "port-version": 0 + }, + { + "git-tree": "27a49e666dd469fbf41f27917b1cfd1640aa71f0", + "version": "1.4", + "port-version": 0 + }, { "git-tree": "482538c4e4f465f113e0318f20cd18b6f2b17f17", "version-string": "2019-01-06", diff --git a/versions/t-/tacopie.json b/versions/t-/tacopie.json index 49d37a8fcc75c6..163c0e0eafaa2d 100644 --- a/versions/t-/tacopie.json +++ b/versions/t-/tacopie.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "dc2035636502588b6cdac9c4d58c5f7b6c03c76a", + "version": "3.2.0", + "port-version": 6 + }, + { + "git-tree": "e9f280c1d8b799fd2b5617955348dd299b246c86", + "version": "3.2.0", + "port-version": 5 + }, + { + "git-tree": "e9eacb6c5a31c44cd1c8707ba92b0acf5133c13a", + "version-string": "3.2.0", + "port-version": 4 + }, { "git-tree": "d65f4f38c50754c208cb959e3d1b0c6956d2bf94", "version-string": "3.2.0", diff --git a/versions/t-/taglib.json b/versions/t-/taglib.json index 205aae2a5235fa..237b8224d2ebf1 100644 --- a/versions/t-/taglib.json +++ b/versions/t-/taglib.json @@ -1,5 +1,55 @@ { "versions": [ + { + "git-tree": "30f4f32ed1370c9c6f8249c1f3d40573c9c20c33", + "version": "2.0", + "port-version": 2 + }, + { + "git-tree": "d75dc6293826199b1b4717ca732780aafa381ec2", + "version": "2.0", + "port-version": 1 + }, + { + "git-tree": "7d2acd4bdd0e356aa93ff858c10b967c6355ea51", + "version": "2.0", + "port-version": 0 + }, + { + "git-tree": "c92006e63d77c27bda8b2f60517d7b21c1a62ca4", + "version-semver": "1.13.1", + "port-version": 1 + }, + { + "git-tree": "81b5a2b206dc7c7b17ac4a50656a7c3789c2505e", + "version-semver": "1.13.0", + "port-version": 2 + }, + { + "git-tree": "a3ab8e6485aab876d06d0e43ab29372b54863467", + "version-semver": "1.13.0", + "port-version": 1 + }, + { + "git-tree": "a8c78ba20c6163ed9927cb6ae1fbeec80797f13f", + "version-semver": "1.13.0", + "port-version": 0 + }, + { + "git-tree": "68a57ea8641a01a2a1c353f91acb5a3020c0769b", + "version-semver": "1.12.0", + "port-version": 3 + }, + { + "git-tree": "246255cab48b434b3c78aaa315f5f62b4692f255", + "version-semver": "1.12.0", + "port-version": 2 + }, + { + "git-tree": "d14774690f0692baa62237a6ee67f8aa7e7974f9", + "version-semver": "1.12.0", + "port-version": 1 + }, { "git-tree": "c4559ad74a4b1757cc6f7b11abce3b6c4cab66c7", "version-semver": "1.12.0", diff --git a/versions/t-/talib.json b/versions/t-/talib.json new file mode 100644 index 00000000000000..5c49de26f762e2 --- /dev/null +++ b/versions/t-/talib.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "b21601e58da50f810bacb160a8960a131227aa28", + "version-semver": "0.4.0", + "port-version": 1 + }, + { + "git-tree": "639b6ba11c1768faf5ab92f42d4cdf0a1bba2270", + "version-semver": "0.4.0", + "port-version": 0 + } + ] +} diff --git a/versions/t-/taocpp-json.json b/versions/t-/taocpp-json.json index e4e789af9cb135..237126d567e577 100644 --- a/versions/t-/taocpp-json.json +++ b/versions/t-/taocpp-json.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "0f65d42ce52c1a7c42635e90f51af98f786ae9b2", + "version-date": "2020-09-14", + "port-version": 4 + }, + { + "git-tree": "3efce615deb5e4414df2c3731c1e8eae333d32c9", + "version-date": "2020-09-14", + "port-version": 3 + }, + { + "git-tree": "d3ae444025a6267cf41b462f77061757254bc829", + "version-string": "2020-09-14", + "port-version": 2 + }, { "git-tree": "afe8907661864659e89e9fc421415b2687390c03", "version-string": "2020-09-14", diff --git a/versions/t-/tap-windows6.json b/versions/t-/tap-windows6.json index f22fe46ddb4d7c..532dc6324c8edd 100644 --- a/versions/t-/tap-windows6.json +++ b/versions/t-/tap-windows6.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "e0096b2007c6e7854bf5cd89279c028f4c96dd50", + "version": "9.21.2-0e30f5c", + "port-version": 2 + }, { "git-tree": "2b35b39ca3996a529812b69654a194568127e4e1", "version-string": "9.21.2-0e30f5c", diff --git a/versions/t-/task-thread-pool.json b/versions/t-/task-thread-pool.json new file mode 100644 index 00000000000000..4cc180cdb53226 --- /dev/null +++ b/versions/t-/task-thread-pool.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "b64ff5ad8b40dbfe129aabe53f11b81ba71e4743", + "version": "1.0.7", + "port-version": 0 + } + ] +} diff --git a/versions/t-/taskflow.json b/versions/t-/taskflow.json index 4d3bfdb830fd2b..9d563eac496aec 100644 --- a/versions/t-/taskflow.json +++ b/versions/t-/taskflow.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "3e9596e74cef08b0edad2f38d5b3009c20e006c3", + "version": "3.8.0", + "port-version": 0 + }, + { + "git-tree": "7faf25c4da57c68df003765f15858b1a9998c68e", + "version": "3.7.0", + "port-version": 0 + }, + { + "git-tree": "ce89c70566c24ddbcaf7ddb1ee9dc3101c3c30e0", + "version": "3.6.0", + "port-version": 0 + }, + { + "git-tree": "fd5f9c87cc440939ef97da59cbd47bd044851751", + "version": "3.5.0", + "port-version": 0 + }, + { + "git-tree": "b736d1ff659f4dd121b9af15b27ca659770ec9f4", + "version": "3.4.0", + "port-version": 0 + }, + { + "git-tree": "68130a893501e5e9bbe48c41ad00ef5de0a0a060", + "version": "3.3.0", + "port-version": 0 + }, { "git-tree": "49d827de9e8309cb0f16fbb84ec611a1a44d18ec", "version": "3.2.0", diff --git a/versions/t-/tbb.json b/versions/t-/tbb.json index 9c56bf8a5a081b..e7f683d83887dd 100644 --- a/versions/t-/tbb.json +++ b/versions/t-/tbb.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "1190d84d0e84ec7100662a4c35cd6a27ce532864", + "version": "2022.0.0", + "port-version": 0 + }, + { + "git-tree": "cccf5a7fa805a0a7a9f6a99e74ae0510a90e6b09", + "version": "2021.13.0", + "port-version": 0 + }, + { + "git-tree": "b4b70addeb87d3ab6ded6936566176ca31138f33", + "version": "2021.11.0", + "port-version": 0 + }, + { + "git-tree": "b4cde1e2a3654b8540b76ac295675a37bdbca311", + "version": "2021.10.0", + "port-version": 3 + }, + { + "git-tree": "376c59cda9f516006ce87b0f5da05be5a67fed7d", + "version": "2021.10.0", + "port-version": 2 + }, + { + "git-tree": "e8bd03cdf65a8793c09146f67f942afa941c68a0", + "version": "2021.10.0", + "port-version": 1 + }, + { + "git-tree": "117288ebe187535733fd627985c192553c7b82e6", + "version": "2021.10.0", + "port-version": 0 + }, + { + "git-tree": "d050b3a84687479bb03134f98f6360bfb72e64a8", + "version": "2021.9.0", + "port-version": 2 + }, + { + "git-tree": "97a86c92ba0419c50673782f0b3a7f1568aaaef7", + "version": "2021.9.0", + "port-version": 1 + }, + { + "git-tree": "3a44303f590164f98542c516a049e1328a178bc2", + "version": "2021.9.0", + "port-version": 0 + }, + { + "git-tree": "d08a7732c5a162a88ac98871ebf98869d5490a97", + "version": "2021.8.0", + "port-version": 0 + }, + { + "git-tree": "9bf00b5406242c641f8408179ed84be389fc5f69", + "version": "2021.7.0", + "port-version": 0 + }, + { + "git-tree": "22900b5a0b9c5114e5dc9452b088028ce6c6afc3", + "version": "2021.5.0", + "port-version": 1 + }, + { + "git-tree": "e2d94c971f648a21fa3068485c590b70bfa8b716", + "version": "2021.5.0", + "port-version": 0 + }, + { + "git-tree": "016aeb70aa2dfba55a141a928863a0191314d4a9", + "version-string": "2020_U3", + "port-version": 8 + }, + { + "git-tree": "275198e39d268c87b807d7f552b51396d5cf6242", + "version-string": "2020_U3", + "port-version": 7 + }, { "git-tree": "e168e03c2e5776bdee59accf5f643ae26b0ddd84", "version-string": "2020_U3", diff --git a/versions/t-/tcb-span.json b/versions/t-/tcb-span.json new file mode 100644 index 00000000000000..3ac4ed6c7681b2 --- /dev/null +++ b/versions/t-/tcb-span.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "30ed04c5c6945c32f741ad007ef0bf4dca6051bd", + "version-date": "2022-06-15", + "port-version": 0 + }, + { + "git-tree": "191bf0b7971f5aac50a5d81224d04e8f9aef7e38", + "version-date": "2021-12-15", + "port-version": 0 + } + ] +} diff --git a/versions/t-/tcl.json b/versions/t-/tcl.json index e6483aba4217ac..e5b0ebbea1249d 100644 --- a/versions/t-/tcl.json +++ b/versions/t-/tcl.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "e17d8c12a1c924cfd28ae1ad9e5fad178b63eee5", + "version-string": "core-9-0-a1", + "port-version": 8 + }, + { + "git-tree": "cf292d0782ec4b951e94467bd26a6b4a1db5874f", + "version-string": "core-9-0-a1", + "port-version": 7 + }, + { + "git-tree": "e825eeb13189650d5919608370935891a5cba218", + "version-string": "core-9-0-a1", + "port-version": 6 + }, + { + "git-tree": "cb31c47230370021b4bee86bf0d711e70ff546f4", + "version-string": "core-9-0-a1", + "port-version": 5 + }, { "git-tree": "ce21246b8ebf7e3ec20c2c8ea3abc5bbacea363e", "version-string": "core-9-0-a1", diff --git a/versions/t-/tclap.json b/versions/t-/tclap.json index b9991c21b20454..c440ca2bcd2532 100644 --- a/versions/t-/tclap.json +++ b/versions/t-/tclap.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "f02ffdbe328a2df58a554ba83269ec09bd47a6ad", + "version": "1.2.5", + "port-version": 0 + }, { "git-tree": "787d1698947778edfecc2aa104ca7d09fb7d7415", "version-string": "1.2.2", diff --git a/versions/t-/tcp-pubsub.json b/versions/t-/tcp-pubsub.json new file mode 100644 index 00000000000000..301c2e0ad2abc1 --- /dev/null +++ b/versions/t-/tcp-pubsub.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "075f0da2c8e03d545d28b625ecadde2a58135382", + "version": "1.0.3", + "port-version": 0 + } + ] +} diff --git a/versions/t-/tdscpp.json b/versions/t-/tdscpp.json new file mode 100644 index 00000000000000..3267adf0c433ae --- /dev/null +++ b/versions/t-/tdscpp.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "61cd67b08b11985301ae613aa5cde3132dfa56fb", + "version": "20240707", + "port-version": 0 + } + ] +} diff --git a/versions/t-/teemo.json b/versions/t-/teemo.json index ac6ec23e5cbfe8..d45946f79526c4 100644 --- a/versions/t-/teemo.json +++ b/versions/t-/teemo.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "58d7f598471297c1dad7372349f2c5a66c118659", + "version": "2.7", + "port-version": 0 + }, + { + "git-tree": "6eff96ba13b50bd8a7b7b3d1197fdbda11c09712", + "version": "2.6", + "port-version": 1 + }, + { + "git-tree": "668ad24ea1e187f27877ffe3570555df857460d8", + "version": "2.6", + "port-version": 0 + }, + { + "git-tree": "d92f8edfaa4c8a208cfa6253c6d2ebd8beeaf303", + "version": "2.5", + "port-version": 1 + }, + { + "git-tree": "272a7ccdbd7429e98513b1d4c9c394406fa70d42", + "version": "2.5", + "port-version": 0 + }, + { + "git-tree": "f4a45a333657786fd8ee51f2d5df590909578bff", + "version": "2.4", + "port-version": 0 + }, + { + "git-tree": "d33e668cc0750872a5853c680fa707e12f032e9e", + "version": "2.3", + "port-version": 0 + }, { "git-tree": "8939caebc11b8bbb1efe958bb349511a50e00289", "version-string": "2.2", diff --git a/versions/t-/telnetpp.json b/versions/t-/telnetpp.json index 0ac6ff7a513624..8e1bbcaddbffc3 100644 --- a/versions/t-/telnetpp.json +++ b/versions/t-/telnetpp.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "55b6d710fbf9e885674e8cef12749f7c24a66127", + "version": "3.1.0", + "port-version": 0 + }, + { + "git-tree": "e251b079bf2c0424b1e06f60ecb93d8eb331704a", + "version": "2.1.2", + "port-version": 3 + }, + { + "git-tree": "b80086b6f36f27c3884929bbbfe0e25416cb2c08", + "version-string": "2.1.2", + "port-version": 2 + }, { "git-tree": "e90806a190428cbf53773ea93d5bdacb7f92f7c0", "version-string": "2.1.2", diff --git a/versions/t-/tensorflow-cc.json b/versions/t-/tensorflow-cc.json index 2fb6918aa5f074..6bdefabb3483a5 100644 --- a/versions/t-/tensorflow-cc.json +++ b/versions/t-/tensorflow-cc.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "0bec9080305d95ca6559f088d425d47ba44cc12c", + "version-semver": "2.10.0", + "port-version": 0 + }, + { + "git-tree": "c0b8bf99d3056c5b117dd2eabba3125f1d867442", + "version-semver": "2.7.0", + "port-version": 2 + }, + { + "git-tree": "48be8a2aea85f73821084ea35d307e4033726565", + "version-semver": "2.7.0", + "port-version": 1 + }, + { + "git-tree": "f0bd2999562da259b6e2c39131a6a02f632b21a8", + "version-semver": "2.7.0", + "port-version": 0 + }, { "git-tree": "b9e9f840127f8da0c67cadf0369023753c90686b", "version-semver": "2.6.0", diff --git a/versions/t-/tensorflow-common.json b/versions/t-/tensorflow-common.json index 26d4c0d267ed2f..5aed5b4b7eebcb 100644 --- a/versions/t-/tensorflow-common.json +++ b/versions/t-/tensorflow-common.json @@ -1,5 +1,45 @@ { "versions": [ + { + "git-tree": "27a6a0026a080b8f5ec19b0092d4f4e20dfa13ed", + "version-semver": "2.10.0", + "port-version": 3 + }, + { + "git-tree": "ee613e90128a706972e0acec27abb7fdd18fb9de", + "version-semver": "2.10.0", + "port-version": 2 + }, + { + "git-tree": "0c6c288cabee4b8f5b260c2af84c534ece1285d8", + "version-semver": "2.10.0", + "port-version": 1 + }, + { + "git-tree": "958295999ce648940c11c6671f0897f38944841a", + "version-semver": "2.10.0", + "port-version": 0 + }, + { + "git-tree": "1f37cd68d08ecbb0ca6c2d630598d3f568f1fcc4", + "version-semver": "2.7.0", + "port-version": 2 + }, + { + "git-tree": "4c81239401e4304b124ed215960cdcdf19611e47", + "version-semver": "2.7.0", + "port-version": 1 + }, + { + "git-tree": "eb9e0e1345847b72eccecd5a6b85a441f034e1a7", + "version-semver": "2.7.0", + "port-version": 0 + }, + { + "git-tree": "e766afec982de89398663f587da490fc8996474f", + "version-semver": "2.6.0", + "port-version": 1 + }, { "git-tree": "84662f791eb9d38350a4ffe99cd80d49f562b10f", "version-semver": "2.6.0", diff --git a/versions/t-/tensorflow.json b/versions/t-/tensorflow.json index 900e6a8ed8106e..9e1c9a1cbf4cdc 100644 --- a/versions/t-/tensorflow.json +++ b/versions/t-/tensorflow.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "87372cfe6baffa73e3dd20d50fda320ff2f1f023", + "version-semver": "2.10.0", + "port-version": 0 + }, + { + "git-tree": "07b6bd8bae65b448a163db4e720c46afd605a1cc", + "version-semver": "2.7.0", + "port-version": 2 + }, + { + "git-tree": "4f02ceeb872646409f83a5b164c9892322d75e6b", + "version-semver": "2.7.0", + "port-version": 1 + }, + { + "git-tree": "b12af58d1b9069b6ab8b2de9e1c6c7f2b07aadfe", + "version-semver": "2.7.0", + "port-version": 0 + }, { "git-tree": "8692b5026a3b7666e73dcaf7432e525dc103f8c5", "version-semver": "2.6.0", diff --git a/versions/t-/tensorpipe.json b/versions/t-/tensorpipe.json index 534b63696755f1..3485df95dc2018 100644 --- a/versions/t-/tensorpipe.json +++ b/versions/t-/tensorpipe.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "5a085dcc97de3188e8fa82b123a7f3da7cd8de11", + "version-date": "2022-03-16", + "port-version": 5 + }, + { + "git-tree": "f470079788d337b13d5a7fb0b4f3663863f3c385", + "version-date": "2022-03-16", + "port-version": 4 + }, + { + "git-tree": "ea5e9e44827c85ad455621231cb7ca1f2447cdd9", + "version-date": "2022-03-16", + "port-version": 3 + }, + { + "git-tree": "eed8e7f9952716b9aa7fcde453fad358b6b7bd2f", + "version-date": "2022-03-16", + "port-version": 2 + }, + { + "git-tree": "4b982c4ade4582a5728384f2871610b107fe1b9f", + "version-date": "2022-03-16", + "port-version": 1 + }, + { + "git-tree": "f78594bb71084f0ea1b9e0bba9b9804696e4c011", + "version-date": "2022-03-16", + "port-version": 0 + }, + { + "git-tree": "fc442cfbc144a4fc95ca41d9349ef04564d7ce5a", + "version-date": "2021-04-26", + "port-version": 1 + }, { "git-tree": "ab0e7e22e13c4ebe8c308008aaabb803dca57cdc", "version-date": "2021-04-26", diff --git a/versions/t-/termcolor.json b/versions/t-/termcolor.json index f0438dc33fa948..b561e18eab0efb 100644 --- a/versions/t-/termcolor.json +++ b/versions/t-/termcolor.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "15926920dc728ce16644bdb00bcca056efb293e8", + "version": "2.1.0", + "port-version": 0 + }, { "git-tree": "a357134080b4f2553d91d289f167cc23ddc8c102", "version-semver": "2.0.0", diff --git a/versions/t-/tesseract.json b/versions/t-/tesseract.json index 08d629cf1c986e..6ee0fc464f46b4 100644 --- a/versions/t-/tesseract.json +++ b/versions/t-/tesseract.json @@ -1,5 +1,95 @@ { "versions": [ + { + "git-tree": "103b5617df6f64ad3290b1dd3900db4c6ae90a83", + "version": "5.4.1", + "port-version": 1 + }, + { + "git-tree": "72c4092a52446487c69f9927c5b22a8fddfb638c", + "version": "5.4.1", + "port-version": 0 + }, + { + "git-tree": "b9f3dd8099292d868212894c3a97f72ddf0ae1f2", + "version": "5.3.4", + "port-version": 0 + }, + { + "git-tree": "9f806a1d29bd65196abb77d6db253305d82e0c94", + "version": "5.3.3", + "port-version": 0 + }, + { + "git-tree": "894841bddec08acc323ddaf3f10f6dfdee9a92c6", + "version": "5.3.2", + "port-version": 0 + }, + { + "git-tree": "54030ed07fda737ddd8f8190177960d9d592821a", + "version": "5.3.1", + "port-version": 3 + }, + { + "git-tree": "044e8b2ab97dcd3de6080c6688ade20310e53d02", + "version": "5.3.1", + "port-version": 2 + }, + { + "git-tree": "d0b39327eee123cac1611afe9d88303822fedbdf", + "version": "5.3.1", + "port-version": 1 + }, + { + "git-tree": "aeb035e40f678090353d237cc6de1089fb58d89c", + "version": "5.3.1", + "port-version": 0 + }, + { + "git-tree": "a43b33297fd09c075b57f2441b45cca4291a48a5", + "version": "5.3.0", + "port-version": 1 + }, + { + "git-tree": "9536858220896569da2d0e66fa3f6a4b95621186", + "version": "5.3.0", + "port-version": 0 + }, + { + "git-tree": "106efd2adc79ebdcf63488c2cc930b035f01535d", + "version": "5.2.0", + "port-version": 3 + }, + { + "git-tree": "9d9b7d5ba2e222ee4fb62d4d5f03992e9232a97d", + "version": "5.2.0", + "port-version": 2 + }, + { + "git-tree": "ea93f36603ca265da43ef28d6583871ef3d97b43", + "version": "5.2.0", + "port-version": 1 + }, + { + "git-tree": "5ea8fcd243e8aa38e1a83eaa1c745fc53a3464cc", + "version": "5.2.0", + "port-version": 0 + }, + { + "git-tree": "24c99e73eaf335a9abedcfd42163c4968ca07ec3", + "version": "4.1.1", + "port-version": 11 + }, + { + "git-tree": "ac84bef93d2709f28bf4ab8341a80dab949a8cf1", + "version": "4.1.1", + "port-version": 10 + }, + { + "git-tree": "10ffafb1de68c463fbac91a484d2c27cc618c0c9", + "version": "4.1.1", + "port-version": 9 + }, { "git-tree": "f0ab88788617df5c670d6c372f431a0356713d3d", "version": "4.1.1", diff --git a/versions/t-/tevclient.json b/versions/t-/tevclient.json new file mode 100644 index 00000000000000..2cc40e4d11da26 --- /dev/null +++ b/versions/t-/tevclient.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "32031dafc991a94d4b1bca9b0ed22649785fa977", + "version-date": "2023-12-04", + "port-version": 0 + } + ] +} diff --git a/versions/t-/tfhe.json b/versions/t-/tfhe.json index d44f73e0c2f499..12b3cf785bbb19 100644 --- a/versions/t-/tfhe.json +++ b/versions/t-/tfhe.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "d318798f5720b80169fcd4a519221e29b787b3f5", + "version-semver": "1.0.1", + "port-version": 5 + }, + { + "git-tree": "d620d8f9d52b36f1d703a4b072f7cc51ecc10069", + "version-semver": "1.0.1", + "port-version": 4 + }, + { + "git-tree": "657bf75ef9440b68186eeeccc1c7e3f2c55d3ec4", + "version-semver": "1.0.1", + "port-version": 3 + }, { "git-tree": "e87faaf58cb9feb686fe28d31f24cedf27e2aec1", "version-semver": "1.0.1", diff --git a/versions/t-/tgbot-cpp.json b/versions/t-/tgbot-cpp.json index 221b6611c30d5f..504ee0fa741d3c 100644 --- a/versions/t-/tgbot-cpp.json +++ b/versions/t-/tgbot-cpp.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "3823beb74a5b34932a15adb815986be1a7d56761", + "version": "1.7.3", + "port-version": 0 + }, + { + "git-tree": "5311977e1c6bfe3576ac072a57689bdde68a5960", + "version": "1.7.2", + "port-version": 0 + }, + { + "git-tree": "8cb6fd8b7ed9c7480680419be52d971cee278569", + "version": "1.6", + "port-version": 0 + }, + { + "git-tree": "e6256e56c77c074f61eaf4dda7bb2962e13e8e4b", + "version": "1.3", + "port-version": 0 + }, { "git-tree": "a48e654a56a7017acf3d0f0b119a96e9235119f9", "version-string": "1.2.1", diff --git a/versions/t-/tgc.json b/versions/t-/tgc.json index 2ce1e70a8790bd..c336b2bcab77a6 100644 --- a/versions/t-/tgc.json +++ b/versions/t-/tgc.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "8be2721fdfa9114ab8fada6a4bd5b2f3e8778cc7", + "version-date": "2019-08-11", + "port-version": 4 + }, + { + "git-tree": "8388893f06b6027878f739f9e7d30c9bf74faf61", + "version-string": "2019-08-11", + "port-version": 3 + }, { "git-tree": "753c07ac331209bf362c3818e462493ed6ac5ecb", "version-string": "2019-08-11", diff --git a/versions/t-/tgui.json b/versions/t-/tgui.json index f04e637e79f05e..f313c813b2f8ec 100644 --- a/versions/t-/tgui.json +++ b/versions/t-/tgui.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "3c00844f3560bff9d3e31acc247cfddd5edba024", + "version": "1.1.0", + "port-version": 1 + }, + { + "git-tree": "dd583943a94fda26c0fe58b498ebc8675af7e831", + "version": "1.1.0", + "port-version": 0 + }, + { + "git-tree": "99b11d7e5b91a6f1919402576952f951383e2c34", + "version": "0.9.5", + "port-version": 0 + }, + { + "git-tree": "71f51f9739edd1af085fd0b0c401b5e2bc297a84", + "version-date": "2021-04-19", + "port-version": 4 + }, + { + "git-tree": "0fe7d561ea6d038584711e8581f6a5a72062c543", + "version-date": "2021-04-19", + "port-version": 3 + }, { "git-tree": "0fd517c4e738da62e959b791a6cdd952e7bd8345", "version-date": "2021-04-19", diff --git a/versions/t-/theia.json b/versions/t-/theia.json index b3d5cc256a2be0..29c39f46484747 100644 --- a/versions/t-/theia.json +++ b/versions/t-/theia.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "f05ea8c0e0055843afe42b688e3b55af9218d62a", + "version": "0.8", + "port-version": 11 + }, + { + "git-tree": "e0486585337480c0d2d32a30cebbbc14be00eec4", + "version": "0.8", + "port-version": 10 + }, + { + "git-tree": "244b1ee4928a23a5394691a642a1b56125198228", + "version": "0.8", + "port-version": 9 + }, + { + "git-tree": "fe4bf7c896536d692bedb215d88cae3297b1ae1b", + "version": "0.8", + "port-version": 8 + }, + { + "git-tree": "e8a6f763efb9bd7657a6be700493a95ab32d1cb6", + "version": "0.8", + "port-version": 7 + }, + { + "git-tree": "f19561fe41ab71864fbf9640e491cc6a567c06b8", + "version-string": "0.8", + "port-version": 6 + }, + { + "git-tree": "eff19230130911fb05e12a22ba59fc35f0d4b341", + "version-string": "0.8", + "port-version": 5 + }, { "git-tree": "9e4f395b731d46fde09836e4ff9a23ace6c74a6a", "version-string": "0.8", diff --git a/versions/t-/think-cell-range.json b/versions/t-/think-cell-range.json index f3a34c739aebe1..f507b8d18f2454 100644 --- a/versions/t-/think-cell-range.json +++ b/versions/t-/think-cell-range.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "fd31e8f8ef5d1d510f6cf9f2317ed85fc6c3357c", + "version": "2023.1", + "port-version": 1 + }, + { + "git-tree": "98fd2e4c5e01f3c8396c5bb35cfbdd81da45f47f", + "version": "2023.1", + "port-version": 0 + }, { "git-tree": "e39d38661e62f2c36eaa0026eabfb21e827e8456", "version-string": "498839d", diff --git a/versions/t-/thomasmonkman-filewatch.json b/versions/t-/thomasmonkman-filewatch.json new file mode 100644 index 00000000000000..f6975ed0031d11 --- /dev/null +++ b/versions/t-/thomasmonkman-filewatch.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "f3f6f9e4f5a7ac943e3f0ec0c81bcdc3db371705", + "version-date": "2023-01-16", + "port-version": 2 + }, + { + "git-tree": "6dede6ba1ac505ea4bd64c60bf97edfe7b8d5647", + "version-date": "2023-01-16", + "port-version": 1 + }, + { + "git-tree": "09215796e0a4591e54d9aa37ab46dc5edc7bd491", + "version-date": "2023-01-16", + "port-version": 0 + } + ] +} diff --git a/versions/t-/thor.json b/versions/t-/thor.json index 708cdd8038e00e..51714f13651135 100644 --- a/versions/t-/thor.json +++ b/versions/t-/thor.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "52c5298a73cdd120b4138b72dd84085cf18f53c1", + "version-date": "2022-04-16", + "port-version": 0 + }, + { + "git-tree": "d337ec42ced0695748c94113eb08515810e3408f", + "version": "2.0", + "port-version": 6 + }, + { + "git-tree": "45ba80aa43a83b1c810d757922428538f82d8123", + "version": "2.0", + "port-version": 5 + }, { "git-tree": "cada171d405874f848790c8e10a7f332bbed1e6c", "version": "2.0", diff --git a/versions/t-/thorvg.json b/versions/t-/thorvg.json new file mode 100644 index 00000000000000..0e6d9eaee512df --- /dev/null +++ b/versions/t-/thorvg.json @@ -0,0 +1,104 @@ +{ + "versions": [ + { + "git-tree": "7c60997e71a54f05b0074b79c5012647a0d4e463", + "version": "0.14.10", + "port-version": 0 + }, + { + "git-tree": "0f860f03bd41a31d7ef035cadbe078d23792cc9f", + "version": "0.14.6", + "port-version": 0 + }, + { + "git-tree": "3ec8150fa5be495b1134bd23b93674697c16adec", + "version": "0.14.3", + "port-version": 1 + }, + { + "git-tree": "c58ad01d02306e3e84517f9d042ef2e839dd0719", + "version": "0.14.3", + "port-version": 0 + }, + { + "git-tree": "af489e2c5bbfe72ec76d833704efb520277951d3", + "version": "0.13.2", + "port-version": 0 + }, + { + "git-tree": "ff74a95dc13702754581b945fd22d61e539419a0", + "version": "0.13.1", + "port-version": 0 + }, + { + "git-tree": "4c6eb77d0ddc384038541b810567ccb5ca9eda9c", + "version": "0.13.0", + "port-version": 0 + }, + { + "git-tree": "ea7519fe64bc99c2bb9c06072a529926ac6c8a7d", + "version": "0.12.10", + "port-version": 0 + }, + { + "git-tree": "e492f82c734c61b68d7de4e01e962d88f4e7db10", + "version": "0.12.9", + "port-version": 1 + }, + { + "git-tree": "3268f3ca33dc333073105440c3507f03845929f1", + "version": "0.12.1", + "port-version": 1 + }, + { + "git-tree": "e76612a36df3034ad703e603692ae10c9ca315e1", + "version": "0.12.1", + "port-version": 0 + }, + { + "git-tree": "d1d0212fb939be388b501f845991c03a56213ef8", + "version": "0.11.3", + "port-version": 0 + }, + { + "git-tree": "46f0b52581895d5c9deeaa582387fcc32c25fa15", + "version": "0.11.1", + "port-version": 0 + }, + { + "git-tree": "f54024173375727d79da6658e23e99337a55a8a6", + "version": "0.11.0", + "port-version": 0 + }, + { + "git-tree": "11178391a67b24a7bbbe7950359aaad9e51cfce6", + "version": "0.10.1", + "port-version": 1 + }, + { + "git-tree": "36eecd20e7b2bd74489580f5b1b0e61a87be5dfc", + "version": "0.10.1", + "port-version": 0 + }, + { + "git-tree": "4614b6b2399a749c1ac0699429f38e35d9faee9a", + "version": "0.10.0", + "port-version": 0 + }, + { + "git-tree": "0e0dd9030c6e211cbf558dae00ea87e9591a09f8", + "version": "0.9.0", + "port-version": 0 + }, + { + "git-tree": "09d722c7f2cb784d571af9a6f46abb83aa907d2b", + "version": "0.8.4", + "port-version": 0 + }, + { + "git-tree": "0ca8e329f991f2fc88a65508cd83401882aac41c", + "version": "0.8.3", + "port-version": 0 + } + ] +} diff --git a/versions/t-/threadpool.json b/versions/t-/threadpool.json index 6af078b544a504..70526ce93fec2a 100644 --- a/versions/t-/threadpool.json +++ b/versions/t-/threadpool.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "a5408b19ee78bb22c9d2b37cade5701463f6e085", + "version": "0.2.5", + "port-version": 3 + }, { "git-tree": "498f064539d36777494d54a9edcce63a012ac503", "version-string": "0.2.5", diff --git a/versions/t-/thrift.json b/versions/t-/thrift.json index 2461b1285e6b6e..7464bde22cea5a 100644 --- a/versions/t-/thrift.json +++ b/versions/t-/thrift.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "13757a6b05741cf3c9c39e3a1dcc5e5cd685e025", + "version": "0.20.0", + "port-version": 1 + }, + { + "git-tree": "6855be1ce96497811d4eb0a9879baf6cf1b3610c", + "version": "0.20.0", + "port-version": 0 + }, + { + "git-tree": "a85bec1a50438e0a5d4edbfb7d507a26ace7f010", + "version": "0.19.0", + "port-version": 0 + }, + { + "git-tree": "fc85618cd8a4849e400d28916b733f2426c9246d", + "version": "0.16.0", + "port-version": 1 + }, + { + "git-tree": "075afb4c9f18e75caa0eb4b07609324fa35b5ca5", + "version": "0.16.0", + "port-version": 0 + }, { "git-tree": "5db8f1e2a1a482177c2ff99e74d34e25b60fb7f4", "version-string": "0.13.0", diff --git a/versions/t-/tidy-html5.json b/versions/t-/tidy-html5.json index 372b548580bc74..4838d667ec59a0 100644 --- a/versions/t-/tidy-html5.json +++ b/versions/t-/tidy-html5.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "24f53a11ec9d660daf1819fe37d6377d927695a0", + "version": "5.8.0", + "port-version": 2 + }, + { + "git-tree": "3ff916aaab30ac5a85e702ab9cf4e8092db79477", + "version": "5.8.0", + "port-version": 1 + }, + { + "git-tree": "e16455cbec8214de37e3deb0ad41fe57323a7dd0", + "version": "5.8.0", + "port-version": 0 + }, + { + "git-tree": "2e4c85fc988591dc5b25baac22c4e83dde7b7f64", + "version": "5.7.28", + "port-version": 6 + }, + { + "git-tree": "bf333a8afdee1d7e0129928022e228cc092ed5de", + "version": "5.7.28", + "port-version": 5 + }, { "git-tree": "ba5557c5b17df0184bd2ee1eeee06ec1131576f8", "version-string": "5.7.28", diff --git a/versions/t-/tiff.json b/versions/t-/tiff.json index 29367b7306d910..c0dc51794915e3 100644 --- a/versions/t-/tiff.json +++ b/versions/t-/tiff.json @@ -1,5 +1,110 @@ { "versions": [ + { + "git-tree": "54c1c045d21157ce32df8a1c8b7b9d57b0d5d6ce", + "version": "4.7.0", + "port-version": 0 + }, + { + "git-tree": "6a3bae487fe89087457e2a391ee9720d68393616", + "version": "4.6.0", + "port-version": 5 + }, + { + "git-tree": "9aa03ccc8de52590c49943ca462d6f833d0a9118", + "version": "4.6.0", + "port-version": 4 + }, + { + "git-tree": "25e53ce930bd517f7824c9dd90c39a9d11931a20", + "version": "4.6.0", + "port-version": 3 + }, + { + "git-tree": "eee46c160d2fcf26a0013e7159adc2e6c03039d5", + "version": "4.6.0", + "port-version": 2 + }, + { + "git-tree": "1c0fc716f916833234f0fb5e7061d52e9063e7c6", + "version": "4.6.0", + "port-version": 1 + }, + { + "git-tree": "88ab604b58a0473cf643b6f3890c2d0c8174ff62", + "version": "4.6.0", + "port-version": 0 + }, + { + "git-tree": "68f4ecc87b5ddce6c328c0f600a4c8b81d967d4c", + "version": "4.5.1", + "port-version": 2 + }, + { + "git-tree": "5510d3f8317c71185268d5128e6a7c24b4d66863", + "version": "4.5.1", + "port-version": 0 + }, + { + "git-tree": "658dc44e4f5495f0820db6358d8edf74e6ac8d48", + "version": "4.5.0", + "port-version": 3 + }, + { + "git-tree": "b96d20619404c16ef469583437a776b2e74afcef", + "version": "4.5.0", + "port-version": 2 + }, + { + "git-tree": "b4c6d03a0a9be7b7c7b64a41d1a9f4e751e9746f", + "version": "4.5.0", + "port-version": 1 + }, + { + "git-tree": "e1bb817eb3c58fcbe28f9d5217cb1b594493003f", + "version": "4.5.0", + "port-version": 0 + }, + { + "git-tree": "7d5e9083d0072a4370b44f434cd4dac7b3bee7bc", + "version": "4.4.0", + "port-version": 1 + }, + { + "git-tree": "18c67848b7384af1ff6ad1c4e92b013376b136b6", + "version": "4.4.0", + "port-version": 0 + }, + { + "git-tree": "e2cafe3465d7c00233114c75abd86ed11538c186", + "version": "4.3.0", + "port-version": 8 + }, + { + "git-tree": "4f05b5c8b426ce84fbc8930c8f935b792feeb1f4", + "version": "4.3.0", + "port-version": 7 + }, + { + "git-tree": "7d1677b9568234f05c4be9f04f321b9506884376", + "version": "4.3.0", + "port-version": 6 + }, + { + "git-tree": "29af46222dc88425d734288253d807f1a9b96419", + "version": "4.3.0", + "port-version": 5 + }, + { + "git-tree": "b416d3e62450590e19a43f04b573c65555f3bc62", + "version": "4.3.0", + "port-version": 4 + }, + { + "git-tree": "d96194297723032655164b0fcb88027e38e06003", + "version": "4.3.0", + "port-version": 3 + }, { "git-tree": "f147253c84ad1d911393d8b5496f30574a07c780", "version": "4.3.0", diff --git a/versions/t-/tinkerforge.json b/versions/t-/tinkerforge.json index 0969ff465c79bb..ed66251b9f4d1e 100644 --- a/versions/t-/tinkerforge.json +++ b/versions/t-/tinkerforge.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "6baf69c677d63b0d7de046c066a37f2eafb19398", + "version": "2.1.25", + "port-version": 3 + }, + { + "git-tree": "d9c644023147820bc9c89e9fe9f896e1a5fa0913", + "version": "2.1.25", + "port-version": 2 + }, { "git-tree": "684528ec07914569ba89b0d42230290cc55fdd4a", "version-string": "2.1.25", diff --git a/versions/t-/tiny-aes-c.json b/versions/t-/tiny-aes-c.json index 1a915e78307771..f3fb507d6d38b1 100644 --- a/versions/t-/tiny-aes-c.json +++ b/versions/t-/tiny-aes-c.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "e8b05d66491544d63c411f39744d4e0cedb45e38", + "version-date": "2019-07-31", + "port-version": 3 + }, + { + "git-tree": "08ce412a6bc1a1318909c6bf40160c64929599fc", + "version-string": "2019-07-31", + "port-version": 2 + }, { "git-tree": "0971fda4965a33a674a28b84035e71e42e57f135", "version-string": "2019-07-31", diff --git a/versions/t-/tiny-bignum-c.json b/versions/t-/tiny-bignum-c.json index 010c784a05d91a..62aebfd5598155 100644 --- a/versions/t-/tiny-bignum-c.json +++ b/versions/t-/tiny-bignum-c.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "42506150a5e1726cd12954d8aba925127a03a8ee", + "version-date": "2019-07-31", + "port-version": 3 + }, + { + "git-tree": "8ee270199f8de84b30355b48f8342ea917b573ba", + "version-string": "2019-07-31", + "port-version": 2 + }, { "git-tree": "645fb34f304ead370e2f4275b4e6c7120dcaed9e", "version-string": "2019-07-31", diff --git a/versions/t-/tiny-dnn.json b/versions/t-/tiny-dnn.json index ba07444159746b..40501ce3d4de33 100644 --- a/versions/t-/tiny-dnn.json +++ b/versions/t-/tiny-dnn.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "fb93b92373f36876e6473490ec463db8a06cf901", + "version-date": "2018-10-25", + "port-version": 2 + }, { "git-tree": "6de81be7e06cac0652c8ffcc136ffdb889cb41f8", "version-string": "2018-10-25", diff --git a/versions/t-/tiny-process-library.json b/versions/t-/tiny-process-library.json index 76a74605492773..553b0c48716980 100644 --- a/versions/t-/tiny-process-library.json +++ b/versions/t-/tiny-process-library.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "d4c8b55f88a72bb2aa2e10189ac5fb24fd0615f4", + "version": "2.0.4", + "port-version": 3 + }, + { + "git-tree": "f4e81e43ca82620d6c153b707cdd6626ae1705d2", + "version": "2.0.4", + "port-version": 2 + }, { "git-tree": "bdb3c92735776a800243c7cc38884357f3c743a5", "version-string": "2.0.4", diff --git a/versions/t-/tiny-regex-c.json b/versions/t-/tiny-regex-c.json index ddef0c8c06005b..f465928377518c 100644 --- a/versions/t-/tiny-regex-c.json +++ b/versions/t-/tiny-regex-c.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "afd5a1b0b7618dd4848895024f2d52443dcdce47", + "version-date": "2019-07-31", + "port-version": 3 + }, + { + "git-tree": "9a8827f5b9bb6e24ad3746638423b618cf8a9085", + "version-string": "2019-07-31", + "port-version": 2 + }, { "git-tree": "daa1326555febe3cba226d415bdad4a700f5c9f9", "version-string": "2019-07-31", diff --git a/versions/t-/tinycbor.json b/versions/t-/tinycbor.json new file mode 100644 index 00000000000000..999afd64cba3a3 --- /dev/null +++ b/versions/t-/tinycbor.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "0579e95478ca32302fe6680fb0f953441d043a27", + "version-semver": "0.6.0", + "port-version": 1 + }, + { + "git-tree": "ecf65457801ba4aa8d8ae75886f87e740fb04783", + "version-semver": "0.6.0", + "port-version": 0 + } + ] +} diff --git a/versions/t-/tinycthread.json b/versions/t-/tinycthread.json index 435653d63961ee..73317ee70e207d 100644 --- a/versions/t-/tinycthread.json +++ b/versions/t-/tinycthread.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "e83b13c0c11b452c92d01925a2a80e437e8e074c", + "version-date": "2019-08-06", + "port-version": 3 + }, + { + "git-tree": "29aee6896d4b7a5f2b60a2d97f52082624d0f194", + "version-string": "2019-08-06", + "port-version": 2 + }, { "git-tree": "dc723cd8de47e64e29d617806772f2fac2967e28", "version-string": "2019-08-06", diff --git a/versions/t-/tinydir.json b/versions/t-/tinydir.json index 61a10051e6f846..7c61bbfe04b751 100644 --- a/versions/t-/tinydir.json +++ b/versions/t-/tinydir.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "434f6bd4f050550777da90ba140a0bf98de978f7", + "version": "1.2.6", + "port-version": 0 + }, + { + "git-tree": "15a20b060889d83539141c2b42ee7d856e9ab76f", + "version": "1.2.5", + "port-version": 0 + }, { "git-tree": "ce7697b2c8be56998fc7b97681fcd6e1d66cf49f", "version-string": "1.2.4", diff --git a/versions/t-/tinyexif.json b/versions/t-/tinyexif.json index 70793522361ab6..32312392ad7b72 100644 --- a/versions/t-/tinyexif.json +++ b/versions/t-/tinyexif.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "af10ad276177102ebd11c98213fc039627479511", + "version-date": "2024-09-03", + "port-version": 0 + }, + { + "git-tree": "50ad94147ea76f0e34a0e2afdcd92d83ad0102b1", + "version-date": "2022-02-15", + "port-version": 0 + }, { "git-tree": "350cf76237d8fc38f67cba9766e25b2f68d50d64", "version-string": "1.0.2", diff --git a/versions/t-/tinyexpr.json b/versions/t-/tinyexpr.json index 90007821bc7e7d..9d0b25f708abca 100644 --- a/versions/t-/tinyexpr.json +++ b/versions/t-/tinyexpr.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "30f7a31f5f6d12948d2f8650ea80859af56bb7aa", + "version-date": "2020-09-25", + "port-version": 2 + }, + { + "git-tree": "27a749014c1877a6c9cde48fda29f0128894741b", + "version-string": "2020-09-25", + "port-version": 1 + }, { "git-tree": "4f78e1f22bf3575efef5cab61cd1c7d70049c12c", "version-string": "2020-09-25", diff --git a/versions/t-/tinyexr.json b/versions/t-/tinyexr.json index 318b632098967d..60f9580905d3ce 100644 --- a/versions/t-/tinyexr.json +++ b/versions/t-/tinyexr.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "8912e0ebb371923d28ba6a2cc8ab5ecd47957e51", + "version": "1.0.8", + "port-version": 0 + }, + { + "git-tree": "14f0bcbec927dc73035b2642284f1329a113209f", + "version": "1.0.5", + "port-version": 0 + }, + { + "git-tree": "d0381d495cb1b502e1b5ccaafb2409f75c0726a3", + "version": "1.0.1", + "port-version": 0 + }, { "git-tree": "81548356751317d12ff579d7c7749d073e5d0fb6", "version-string": "1.0.0", diff --git a/versions/t-/tinyfiledialogs.json b/versions/t-/tinyfiledialogs.json index 7096611582475a..2b062876ff9bf3 100644 --- a/versions/t-/tinyfiledialogs.json +++ b/versions/t-/tinyfiledialogs.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "be887c4bad998770f49efced776f0ef5df71d342", + "version": "3.8.8", + "port-version": 4 + }, { "git-tree": "57a86420c47979e0b30dfb1e77482aad2836b07b", "version": "3.8.8", diff --git a/versions/t-/tinyfsm.json b/versions/t-/tinyfsm.json new file mode 100644 index 00000000000000..cf5a66453eed65 --- /dev/null +++ b/versions/t-/tinyfsm.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "f7e32a657087415c3c6bf4a62e399063e216f25e", + "version": "0.3.3", + "port-version": 0 + } + ] +} diff --git a/versions/t-/tinygltf.json b/versions/t-/tinygltf.json index dce2d89960f135..88dea854210b76 100644 --- a/versions/t-/tinygltf.json +++ b/versions/t-/tinygltf.json @@ -1,5 +1,55 @@ { "versions": [ + { + "git-tree": "79294fe8043f1405ad2595c7e4847e597951e3b5", + "version": "2.9.3", + "port-version": 0 + }, + { + "git-tree": "9735efbd747cfc611ad41fd34e5985a03b61fa30", + "version": "2.9.2", + "port-version": 0 + }, + { + "git-tree": "6066910f5bb1f9c8e8949e2c44f2a65a4208e3e0", + "version": "2.8.23", + "port-version": 0 + }, + { + "git-tree": "7958c182bd99a098845ddf50b674ed2ad916db10", + "version": "2.8.22", + "port-version": 0 + }, + { + "git-tree": "7d5b3b6e057841bfdbbdc17d972a13f03e8b8a92", + "version": "2.8.21", + "port-version": 0 + }, + { + "git-tree": "42238189ed2f5ce118ac799c5c8b865ee9c6a72c", + "version": "2.8.20", + "port-version": 0 + }, + { + "git-tree": "a7a75083fb4ff9692e03a87d477b6e7b18ddb4b6", + "version": "2.8.19", + "port-version": 0 + }, + { + "git-tree": "a828c964c3dac5b5b48545da10e8e357c3759042", + "version": "2.8.17", + "port-version": 0 + }, + { + "git-tree": "d642030fcb4784451290f7523460bdabfa96bd56", + "version": "2.8.4", + "port-version": 0 + }, + { + "git-tree": "68e4d0aabd2073861e4add08af282c0eff858a1e", + "version": "2.5.0", + "port-version": 0 + }, { "git-tree": "7c5eabb454edeec3963a53675cc460732fe96a9c", "version-string": "2020-07-28", diff --git a/versions/t-/tinynpy.json b/versions/t-/tinynpy.json index 2f243c632c1cf5..7be9c3da38d3bc 100644 --- a/versions/t-/tinynpy.json +++ b/versions/t-/tinynpy.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "d38130d27f5897153ce1ca9770e81b7a23f65d63", + "version": "1.0.0", + "port-version": 6 + }, + { + "git-tree": "9d762ceb4183ad5e67099a7618346f7588b1b067", + "version-string": "1.0.0", + "port-version": 5 + }, { "git-tree": "747ac11f43b296e46b01d17b69f04d0f782e33eb", "version-string": "1.0.0", diff --git a/versions/t-/tinyobjloader.json b/versions/t-/tinyobjloader.json index b7f2aac5b17548..3aef87ecce64ec 100644 --- a/versions/t-/tinyobjloader.json +++ b/versions/t-/tinyobjloader.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "b008f82ac36e49a7ec655e02deaaaaf32121f997", + "version-string": "2.0.0rc13", + "port-version": 0 + }, + { + "git-tree": "c1e6a1c3ddc75a72ea801b5d0980a73e14358e5e", + "version": "2.0.0-rc9", + "port-version": 0 + }, { "git-tree": "1e64b6f58d80d1ff9b43cd9700c8996d0b5b764d", "version-string": "2.0.0-rc2", diff --git a/versions/t-/tinyorm.json b/versions/t-/tinyorm.json new file mode 100644 index 00000000000000..dea1b2705ddc69 --- /dev/null +++ b/versions/t-/tinyorm.json @@ -0,0 +1,29 @@ +{ + "versions": [ + { + "git-tree": "4e3d7c7eba0c37de5db71e708368ffab8c032417", + "version-semver": "0.38.1", + "port-version": 0 + }, + { + "git-tree": "0ad6d66e3a6fd539a71bb6cb331ff27c5bcff17a", + "version-semver": "0.37.3", + "port-version": 0 + }, + { + "git-tree": "4c2e5cc9f6f5dc6e526f1aae55d90485a0b8562d", + "version-semver": "0.36.5", + "port-version": 2 + }, + { + "git-tree": "7a9e99fe4b4dca20d2e2a7c3bc9d575e5f1700ba", + "version-semver": "0.36.5", + "port-version": 1 + }, + { + "git-tree": "b21b31342cfe5d58cce629fab598e6f968e5118e", + "version-semver": "0.36.5", + "port-version": 0 + } + ] +} diff --git a/versions/t-/tinyply.json b/versions/t-/tinyply.json index 107004406373de..95c64608f4bb33 100644 --- a/versions/t-/tinyply.json +++ b/versions/t-/tinyply.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "79787577d8bf66af02aa77e9592552a6b0b0d8d0", + "version": "2.3.4", + "port-version": 0 + }, { "git-tree": "d4b7f95bfaf84b3013c43310740340d8951068f5", "version-string": "2020-05-22", diff --git a/versions/t-/tinyspline.json b/versions/t-/tinyspline.json index 0b3978c2b21b41..6d509cd97703b0 100644 --- a/versions/t-/tinyspline.json +++ b/versions/t-/tinyspline.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "95176e7493a01ca4859dc076087031f16e443d2d", + "version": "0.6.0", + "port-version": 0 + }, + { + "git-tree": "231dcdd1e689138e14cb5c1d4250a224f580cdd7", + "version": "0.4.0", + "port-version": 0 + }, + { + "git-tree": "6ad4ac2f1aa4dc253ada4023358286ab6bdc24a6", + "version": "0.3.0", + "port-version": 1 + }, { "git-tree": "4e3b92c86bcbdd44171e07b3421d56f07e302fe4", "version": "0.3.0", diff --git a/versions/t-/tinythread.json b/versions/t-/tinythread.json index b446c0868a651c..c962ef296406f2 100644 --- a/versions/t-/tinythread.json +++ b/versions/t-/tinythread.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "44a036748075e5b49c49e5a2d2dc96ed9107fa11", + "version": "1.1", + "port-version": 6 + }, + { + "git-tree": "987670b38c02ffa4761d1ce547e76f76545aac3c", + "version-string": "1.1", + "port-version": 5 + }, { "git-tree": "8e6a5537675d6cdabb102cdba98a638e75bc3a03", "version-string": "1.1", diff --git a/versions/t-/tinytiff.json b/versions/t-/tinytiff.json new file mode 100644 index 00000000000000..244b99a3fdc855 --- /dev/null +++ b/versions/t-/tinytiff.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "4ec7ed1ab9c45c0b75ff706757c10061acaa0d75", + "version": "4.0.1.0", + "port-version": 0 + } + ] +} diff --git a/versions/t-/tinytoml.json b/versions/t-/tinytoml.json index b7eb2bbda52fe8..f56a51f4370593 100644 --- a/versions/t-/tinytoml.json +++ b/versions/t-/tinytoml.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "ef300476c58abc2799c021f745aaa66dae45f043", + "version": "20180219", + "port-version": 3 + }, { "git-tree": "1bc5fcab066d64cc4693428f2375e9232f17b7d0", "version-string": "20180219", diff --git a/versions/t-/tinyutf8.json b/versions/t-/tinyutf8.json index d0437bdce153dd..29b6a367ca9ccb 100644 --- a/versions/t-/tinyutf8.json +++ b/versions/t-/tinyutf8.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "82748b59bb1ff3c389a8e16cf806c9cb6e9bf4d8", + "version": "4.4.3", + "port-version": 1 + }, + { + "git-tree": "68f68a99c01bfa1afbb04e680667e665330028ce", + "version": "4.4.3", + "port-version": 0 + }, { "git-tree": "2217decdd5160c93c9b4f92269b32a9d414670ee", "version-string": "4.0.2", diff --git a/versions/t-/tinyxml.json b/versions/t-/tinyxml.json index d4060a0ee97318..3b8eaaf231a36e 100644 --- a/versions/t-/tinyxml.json +++ b/versions/t-/tinyxml.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "4463cb1a60eed81cb34748d54b2ad5e3b8ed3a08", + "version": "2.6.2", + "port-version": 10 + }, + { + "git-tree": "a26a6fd0c41c77f82aba481a315e3a0f1e3d0eca", + "version-string": "2.6.2", + "port-version": 9 + }, { "git-tree": "27f0b200c75054768b3c6ed538c8bb938083ab67", "version-string": "2.6.2", diff --git a/versions/t-/tinyxml2.json b/versions/t-/tinyxml2.json index aebfd80f0e5e6e..e08b20464cac1c 100644 --- a/versions/t-/tinyxml2.json +++ b/versions/t-/tinyxml2.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "e7763e8defdfa46b8d2e399756511f0c7ff00448", + "version-semver": "10.0.0", + "port-version": 0 + }, + { + "git-tree": "c88f30e7ca28b2de522a19a7c7b6d318664e3860", + "version-semver": "9.0.0", + "port-version": 2 + }, + { + "git-tree": "5ef0e856167ad66665f51776d78fcffb1fcc1cb1", + "version-semver": "9.0.0", + "port-version": 1 + }, { "git-tree": "a8b086bdb3eaa94fea466bf8565d7c98b00c9f94", "version-semver": "9.0.0", diff --git a/versions/t-/tl-expected.json b/versions/t-/tl-expected.json index 7cf4cd50c97ef9..5005488968bae9 100644 --- a/versions/t-/tl-expected.json +++ b/versions/t-/tl-expected.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "7a44a87fed865c8f8489a993d41defea5992a4d0", + "version": "1.1.0", + "port-version": 0 + }, + { + "git-tree": "5b521818cf86910000788131a556006c5141116d", + "version-date": "2022-11-24", + "port-version": 0 + }, { "git-tree": "952f8ebe25660f2bf6a7091c338e4113691279dd", "version-string": "1.0.0", diff --git a/versions/t-/tl-function-ref.json b/versions/t-/tl-function-ref.json index 3996e5af2d0cc4..ce6f759bab6473 100644 --- a/versions/t-/tl-function-ref.json +++ b/versions/t-/tl-function-ref.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "f74755cb477baa2fd51734a985fa1e95d4a6854d", + "version": "1.0.0", + "port-version": 4 + }, + { + "git-tree": "6afb229de5666e245476b0ca4152d2073f538a2e", + "version-string": "1.0.0", + "port-version": 3 + }, { "git-tree": "40cb62e51ee41b386626b2f4bbcc8f86b6ad2a03", "version-string": "1.0.0", diff --git a/versions/t-/tl-optional.json b/versions/t-/tl-optional.json index 73eba3885f18ec..ba2eacc459a4c4 100644 --- a/versions/t-/tl-optional.json +++ b/versions/t-/tl-optional.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "4612c0c903d1fb6e3d1a17631ccf6ac5f8c7d449", + "version": "1.1.0", + "port-version": 0 + }, + { + "git-tree": "bb9c03ff3152ce00751b8a63fd8e8a808a802a47", + "version-date": "2021-05-02", + "port-version": 0 + }, { "git-tree": "a88a1a6074c36dd4c7872c7a439c839da2a1e99d", "version-string": "1.0.0", diff --git a/versions/t-/tl-ranges.json b/versions/t-/tl-ranges.json new file mode 100644 index 00000000000000..9314c94145059f --- /dev/null +++ b/versions/t-/tl-ranges.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "e2f06b8ba757a38aae977b3c96dedfa102844f36", + "version-date": "2022-12-07", + "port-version": 1 + }, + { + "git-tree": "d98b8af62d474ab0328d33cc20be629f9257452f", + "version-date": "2022-12-07", + "port-version": 0 + }, + { + "git-tree": "7b8e77a41595c1f5d6fc5efdba421c7240fc26d9", + "version-date": "2021-12-02", + "port-version": 0 + } + ] +} diff --git a/versions/t-/tlx.json b/versions/t-/tlx.json index 28d3f7c8d3e86a..78b0df79fa3eb4 100644 --- a/versions/t-/tlx.json +++ b/versions/t-/tlx.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "29ec99e025861d0000c6c2d9518758b9df6a1df1", + "version": "0.6.1", + "port-version": 0 + }, + { + "git-tree": "160b776d3650302ac8cccc81357f11e54d81fbf4", + "version": "0.5.20191212", + "port-version": 4 + }, + { + "git-tree": "0e8a25c74e2f56ab5f033191bf7b00eb26084067", + "version-string": "0.5.20191212", + "port-version": 3 + }, { "git-tree": "268aa098ddcd207b076e10ebf1ef398aae834243", "version-string": "0.5.20191212", diff --git a/versions/t-/tmx.json b/versions/t-/tmx.json index d362504b41da52..fc5237f3cf1563 100644 --- a/versions/t-/tmx.json +++ b/versions/t-/tmx.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "fb62fb2dd351a26cf21830fee3d5ef7d3bcc2df8", + "version": "1.10.0", + "port-version": 0 + }, + { + "git-tree": "208f4e6dbb827a264cba6e463a36c8b4ada21571", + "version": "1.4.0", + "port-version": 0 + }, + { + "git-tree": "ad73505d8e08d0252406303852df5916e44209f6", + "version": "1.2.0", + "port-version": 2 + }, + { + "git-tree": "1b0ec7979f9a75aab71e9488940a4beff74bd745", + "version": "1.2.0", + "port-version": 1 + }, { "git-tree": "207601a8ff1891880a88013e3b36ea0f81979010", "version": "1.2.0", diff --git a/versions/t-/tmxlite.json b/versions/t-/tmxlite.json index 09092bb6ae9170..45f9bcb295f543 100644 --- a/versions/t-/tmxlite.json +++ b/versions/t-/tmxlite.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "b18995c78b7b6057c2a1d69eba2118bfcb17fa36", + "version": "1.4.4", + "port-version": 0 + }, + { + "git-tree": "b176cf2abbb6262dc616d68625f90f35e65fe4c1", + "version": "1.3.0", + "port-version": 1 + }, { "git-tree": "a60946b8d791faf0936b14f7ad9868d74b0dd872", "version": "1.3.0", diff --git a/versions/t-/tmxparser.json b/versions/t-/tmxparser.json index c22057839e5abe..203c789b50d68f 100644 --- a/versions/t-/tmxparser.json +++ b/versions/t-/tmxparser.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "6cfca44e83f19eb68714ac2211026c914a255fd9", + "version-date": "2019-10-14", + "port-version": 1 + }, + { + "git-tree": "a3ac6698af14ebaa58de6ad3d5173ea54dc94ba9", + "version-date": "2019-10-14", + "port-version": 0 + }, { "git-tree": "a0f3908517c6bf7656418385bb0fff72314a2a4e", "version-string": "2.1.0", diff --git a/versions/t-/tobias-loew-flags.json b/versions/t-/tobias-loew-flags.json new file mode 100644 index 00000000000000..80f5eec7a430b5 --- /dev/null +++ b/versions/t-/tobias-loew-flags.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "2de8995b035f3c2fa68d55eaec02d657c835cfbd", + "version-date": "2024-09-10", + "port-version": 0 + } + ] +} diff --git a/versions/t-/toml11.json b/versions/t-/toml11.json index 6012bfd5188c70..ee2ff5252b54dd 100644 --- a/versions/t-/toml11.json +++ b/versions/t-/toml11.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "d42cf90d8c98a2a3da2c0d3cd94f038b9093eb60", + "version": "4.2.0", + "port-version": 0 + }, + { + "git-tree": "6d0661e8bc2ab6bc227b81d44fc3323986f271dc", + "version": "4.0.0", + "port-version": 0 + }, + { + "git-tree": "096d101053711f419f6df05abda315cdcb8c215c", + "version": "3.8.1", + "port-version": 0 + }, + { + "git-tree": "978b00b8d4801b25272df9c650958ce7112e3f45", + "version": "3.7.1", + "port-version": 0 + }, { "git-tree": "ab8e69aef0551e2e862e74ec70b5c2dd58aac36b", "version": "3.7.0", diff --git a/versions/t-/tomlplusplus.json b/versions/t-/tomlplusplus.json index 441c25dffbbda7..98b0f86af7a6b2 100644 --- a/versions/t-/tomlplusplus.json +++ b/versions/t-/tomlplusplus.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "9866e66fa79aa1addd508e672062392313fc6085", + "version": "3.4.0", + "port-version": 0 + }, + { + "git-tree": "e5d2f60be4fafc9cf2f8a9fbf5b69c8001e7f461", + "version": "3.3.0", + "port-version": 0 + }, + { + "git-tree": "bf80fe2b73187c7a5ae1ea2d32cba894c13f7224", + "version": "3.1.0", + "port-version": 0 + }, + { + "git-tree": "815508399a10ce972d933aa3f5b4f751c37c64d2", + "version": "3.0.1", + "port-version": 0 + }, + { + "git-tree": "06ce1fc365e8e7aa80b1a234a97665ca5e593d0d", + "version": "2.5.0", + "port-version": 3 + }, + { + "git-tree": "8a772c48d2f8b5d525a1bcad95296bb483194e7a", + "version": "2.5.0", + "port-version": 2 + }, + { + "git-tree": "be5f558a002098691a82ebb0c86fd19420f4ceaa", + "version": "2.5.0", + "port-version": 1 + }, { "git-tree": "f28a45d07d6ff9059a273ab730c9bc36a57ef7aa", "version": "2.5.0", diff --git a/versions/t-/tomsolver.json b/versions/t-/tomsolver.json new file mode 100644 index 00000000000000..9a912c63a192f5 --- /dev/null +++ b/versions/t-/tomsolver.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "ca6ebeda0ee3996867907f8948cb722480696a04", + "version": "1.0.0", + "port-version": 0 + } + ] +} diff --git a/versions/t-/tool-meson.json b/versions/t-/tool-meson.json index ec49d3f117a78f..046537d03ea4b8 100644 --- a/versions/t-/tool-meson.json +++ b/versions/t-/tool-meson.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "cb1118e5da831de1c511424b6aaa7949777733a3", + "version-date": "2022-01-21", + "port-version": 0 + }, + { + "git-tree": "924a9b5b5dc11ea420a1be748873f8b252fd1417", + "version-date": "2021-11-19", + "port-version": 0 + }, { "git-tree": "7faddc68a615d0902938f8dd18182586f9e2363a", "version": "0.58.1", diff --git a/versions/t-/torch-th.json b/versions/t-/torch-th.json index 6860040471c6df..e4f280774ffd63 100644 --- a/versions/t-/torch-th.json +++ b/versions/t-/torch-th.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "e870a035791ae5e1dbb2c86fe94644812852ca2d", + "version-date": "2019-04-19", + "port-version": 4 + }, { "git-tree": "dd64f0dab429a6baf6dbb12119909ebd9caaa43a", "version-string": "2019-04-19", diff --git a/versions/t-/tracy.json b/versions/t-/tracy.json new file mode 100644 index 00000000000000..973490c09f1ea4 --- /dev/null +++ b/versions/t-/tracy.json @@ -0,0 +1,114 @@ +{ + "versions": [ + { + "git-tree": "10fb0d9b2fef2b399309221859696f08bd047bd7", + "version": "0.11.1", + "port-version": 1 + }, + { + "git-tree": "b4af568b6d5180007564a094751cb736d136f1e0", + "version": "0.11.1", + "port-version": 0 + }, + { + "git-tree": "aa1a3312579f656635fbce79edcb1ddb0688186f", + "version": "0.11.0", + "port-version": 0 + }, + { + "git-tree": "6be8e3b56374cde0053ca09807520831c97f4441", + "version-semver": "0.10.0", + "port-version": 2 + }, + { + "git-tree": "a85cd6613805e9be8538768a8b03e5f04dabe490", + "version-semver": "0.10.0", + "port-version": 1 + }, + { + "git-tree": "2ffcc745825c95eec75922bfdf4433ccedf3981d", + "version-semver": "0.10.0", + "port-version": 0 + }, + { + "git-tree": "ce810f0e5535da3969128dc5eee0ecf0fcb51162", + "version-semver": "0.9.1", + "port-version": 4 + }, + { + "git-tree": "2d84bb317ef020ff408ce8000ecb896d7fe4fe78", + "version-semver": "0.9.1", + "port-version": 3 + }, + { + "git-tree": "10b47fa5363e3108af03ccd6729f17b7a05c4804", + "version-semver": "0.9.1", + "port-version": 2 + }, + { + "git-tree": "77e2063ccf000ddf44db90335335b0d87efe0bf4", + "version-semver": "0.9.1", + "port-version": 1 + }, + { + "git-tree": "1dbe1080d7c00eb3aa76f87c8c62511d9d9671a7", + "version-semver": "0.9.1", + "port-version": 0 + }, + { + "git-tree": "0866d3457267bff478bd158261b25869adf3e480", + "version-semver": "0.9.0", + "port-version": 3 + }, + { + "git-tree": "0a59d32d18bdd3f15658de8b36d8003d398f19ed", + "version-semver": "0.9.0", + "port-version": 2 + }, + { + "git-tree": "ed78af871d0cb41933e62e1daf455ca02453139d", + "version-semver": "0.9.0", + "port-version": 1 + }, + { + "git-tree": "d7c6276fc6867dd978b2e49047027da3466d7ef3", + "version-semver": "0.9.0", + "port-version": 0 + }, + { + "git-tree": "4fac1fe3f245ef69b648a6846e631795fe4ee5eb", + "version-semver": "0.8.2", + "port-version": 0 + }, + { + "git-tree": "a703a83cacfbb242afd294baeb87ca1a497c5bf1", + "version-semver": "0.8.1", + "port-version": 0 + }, + { + "git-tree": "65aeedc7adaa4e1b13998f781e702d7672b2aca5", + "version-semver": "0.8.0", + "port-version": 1 + }, + { + "git-tree": "b34c2e1fb20aa7f46e350fbf5b90e8dda71aaf3a", + "version": "0.8.0", + "port-version": 0 + }, + { + "git-tree": "4495b1e35b5ce98b10a2a6f28eebdda0088903e2", + "version": "0.7.8", + "port-version": 2 + }, + { + "git-tree": "3995e035cf62c81d54be47133d37eb3073a44343", + "version": "0.7.8", + "port-version": 1 + }, + { + "git-tree": "9649d5716ad8d1ff208bc0b1e97e9700e915ef55", + "version": "0.7.8", + "port-version": 0 + } + ] +} diff --git a/versions/t-/transwarp.json b/versions/t-/transwarp.json index bd303d58403e3b..ae2587e238f032 100644 --- a/versions/t-/transwarp.json +++ b/versions/t-/transwarp.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "ba8adbe1de235c6f704f16621eceaa30a35c3b5d", + "version": "2.2.3", + "port-version": 0 + }, { "git-tree": "2e60fb56dd71cbc0d75dfb0bc253ec4ab5b12e8e", "version": "2.2.2", diff --git a/versions/t-/trantor.json b/versions/t-/trantor.json index 42dbcee114b320..a37d24753c2aa3 100644 --- a/versions/t-/trantor.json +++ b/versions/t-/trantor.json @@ -1,5 +1,91 @@ { "versions": [ + { + "git-tree": "3468a2a6cbe9d3d132cb5240edca85b2947d2396", + "version-semver": "1.5.21", + "port-version": 0 + }, + + { + "git-tree": "c918dd94f5061cf75dad87946390914bb8d55d5c", + "version-semver": "1.5.20", + "port-version": 0 + }, + { + "git-tree": "559a4890e9821270f388b9bb198591b6a5cc4b66", + "version-semver": "1.5.19", + "port-version": 0 + }, + { + "git-tree": "4640cf021e9c3dcc039d208d3dc6706091b5c00f", + "version-semver": "1.5.18", + "port-version": 0 + }, + { + "git-tree": "ae8e025e733710e1ff877d967abe2d9a29dc19d1", + "version-semver": "1.5.17", + "port-version": 1 + }, + { + "git-tree": "9df007af7927374a349d44eebc57fd98ebcaebfd", + "version-semver": "1.5.17", + "port-version": 0 + }, + { + "git-tree": "87607f8f4115c05d79fdcb63b060c0cf4cba7ece", + "version-semver": "1.5.16", + "port-version": 0 + }, + { + "git-tree": "47ee2615e8883f1daf13ffd3a32964782cf9b1c0", + "version-semver": "1.5.15", + "port-version": 0 + }, + { + "git-tree": "d8c48e0f8f1877f0392dcb0f1d1d31011c9db957", + "version-semver": "1.5.14", + "port-version": 0 + }, + { + "git-tree": "4ac910f7ba58f9ee8ceff1c8ac1d2dfa0200136f", + "version-semver": "1.5.11", + "port-version": 1 + }, + { + "git-tree": "bdeefc43943ee1bd39f5c46db28a89b01e446b8f", + "version-semver": "1.5.11", + "port-version": 0 + }, + { + "git-tree": "c97af32d5d3b4834708dbc607e2abea2c6d7d32b", + "version-semver": "1.5.8", + "port-version": 0 + }, + { + "git-tree": "68e68faf890f237795416745f315e3c4bbd3fb72", + "version-semver": "1.5.7", + "port-version": 0 + }, + { + "git-tree": "6f72c33fe2ab8b7d6b89cf48402c3cb550233abe", + "version-semver": "1.5.6", + "port-version": 0 + }, + { + "git-tree": "9d602ca62a711669efb9d496f9644334fecd8c9d", + "version-semver": "1.5.5", + "port-version": 0 + }, + { + "git-tree": "aa2acfecd4618d2da7aaae3e93e5f2bb4ec7172e", + "version-semver": "1.5.4", + "port-version": 0 + }, + { + "git-tree": "a5395bb6aeca297cdc2a8b052599df7a7b568c07", + "version-semver": "1.5.3", + "port-version": 0 + }, { "git-tree": "06881e6b0abf51c4df93d7bdcb5c715adf57809d", "version-semver": "1.5.1", diff --git a/versions/t-/tre.json b/versions/t-/tre.json index fcf4bef79288ab..18364696929a4b 100644 --- a/versions/t-/tre.json +++ b/versions/t-/tre.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "307fd730a8de00228602333743300ebadc2b301c", + "version": "0.8.0", + "port-version": 6 + }, + { + "git-tree": "601cf1197e7f531cf374926d949163b9c4bb8331", + "version": "0.8.0", + "port-version": 5 + }, + { + "git-tree": "576df391c1e53ba1d3e8895ce7965d71b78d8236", + "version": "0.8.0", + "port-version": 4 + }, { "git-tree": "9a43049be2abc5f27fa5b1f77eaeda7a3a63d4a0", "version-string": "0.8.0", diff --git a/versions/t-/tree-similarity.json b/versions/t-/tree-similarity.json new file mode 100644 index 00000000000000..a13df722d9eb6f --- /dev/null +++ b/versions/t-/tree-similarity.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "3319b799dc1e36bc50a52468b9acdafaaf0cf380", + "version-semver": "0.1.1", + "port-version": 1 + }, + { + "git-tree": "d7f5637a5f1a5c0ba5d50a5734a69c6d190ac75d", + "version-semver": "0.1.1", + "port-version": 0 + } + ] +} diff --git a/versions/t-/tree-sitter.json b/versions/t-/tree-sitter.json new file mode 100644 index 00000000000000..998b1d0ce26c1f --- /dev/null +++ b/versions/t-/tree-sitter.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "f818e329af89033c591416456e9c630280bd4ef8", + "version-semver": "0.20.6", + "port-version": 1 + }, + { + "git-tree": "a96085943d7eb28c30fa8d53eb5452e4dccdfd93", + "version-semver": "0.20.6", + "port-version": 0 + } + ] +} diff --git a/versions/t-/treehh.json b/versions/t-/treehh.json index 536eaa5427fc9a..a93583d8716094 100644 --- a/versions/t-/treehh.json +++ b/versions/t-/treehh.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "5191bee7045ad9a49b4180614a6178e5e3c38061", + "version": "3.18", + "port-version": 0 + }, { "git-tree": "935cf42d03c842e7408961440ece8a94303d45a6", "version": "3.16", diff --git a/versions/t-/treehopper.json b/versions/t-/treehopper.json index 80c09bf69e6074..06616ffa10d147 100644 --- a/versions/t-/treehopper.json +++ b/versions/t-/treehopper.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "145e9145dba553063f0483909603c6369c5a4e63", + "version": "1.11.3", + "port-version": 9 + }, + { + "git-tree": "94c478388c393d8b174b2fd9c4ad0f77805583dc", + "version": "1.11.3", + "port-version": 8 + }, + { + "git-tree": "bfc0dea8339d81f05a040cd2ca7831c18c43f765", + "version": "1.11.3", + "port-version": 7 + }, + { + "git-tree": "d3eb869813ca17e782c54f3df95af48cbb47346c", + "version-string": "1.11.3", + "port-version": 6 + }, { "git-tree": "4efe0662e17f2f340bd234604952d75a4d914aec", "version-string": "1.11.3", diff --git a/versions/t-/triangle.json b/versions/t-/triangle.json index 71a72f6da27f16..18b4f7cbb790ed 100644 --- a/versions/t-/triangle.json +++ b/versions/t-/triangle.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "bd79d7af32634104384879113cbf1158b1e72a8f", + "version": "1.6", + "port-version": 4 + }, + { + "git-tree": "b751d577254b617b208ac8e1e828be1a539f8123", + "version": "1.6", + "port-version": 3 + }, + { + "git-tree": "645a20994580aa49313c0d9ef735ea60caf57976", + "version": "1.6", + "port-version": 2 + }, { "git-tree": "9b80b2815877547418bac0ed7ddba3fec7d0a2df", "version-string": "1.6", diff --git a/versions/t-/triton.json b/versions/t-/triton.json new file mode 100644 index 00000000000000..f06187d8d9cfac --- /dev/null +++ b/versions/t-/triton.json @@ -0,0 +1,39 @@ +{ + "versions": [ + { + "git-tree": "2d0facf413b0d9a2a4678af72776046a1c24f970", + "version-date": "2023-08-16", + "port-version": 0 + }, + { + "git-tree": "c3decfebbe5a1a8e132c0234074a82224a5335ce", + "version": "0.9", + "port-version": 5 + }, + { + "git-tree": "6b86390804efe4afb7989e40a4cf84ad7877e85a", + "version": "0.9", + "port-version": 4 + }, + { + "git-tree": "dd0d283c09ee98abf32a81d0833e81a9e5222028", + "version": "0.9", + "port-version": 3 + }, + { + "git-tree": "220ce7aa574609f64206fc02906b1bd2eafbc8aa", + "version": "0.9", + "port-version": 2 + }, + { + "git-tree": "1463df6dd74dfea7d12a8610b23009259b5c1e57", + "version": "0.9", + "port-version": 1 + }, + { + "git-tree": "168cc90ef1373fadb8b05ad53430eb37a022dd50", + "version": "0.9", + "port-version": 0 + } + ] +} diff --git a/versions/t-/trompeloeil.json b/versions/t-/trompeloeil.json index 3765977685eb3a..a1d701a2f69dc9 100644 --- a/versions/t-/trompeloeil.json +++ b/versions/t-/trompeloeil.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "d24143089754e699fc9761f7ce0913c1fb935100", + "version": "48", + "port-version": 0 + }, + { + "git-tree": "ffcf456c31c46ad2499e4e63ea00aefdc34459ef", + "version": "47", + "port-version": 0 + }, + { + "git-tree": "a00a802a482a267ddba63aae7ce5f89973427210", + "version": "45", + "port-version": 0 + }, + { + "git-tree": "876864d2915f8530d28bd8a2c6ca0fd418dd7829", + "version": "43", + "port-version": 0 + }, { "git-tree": "7345802a43866751e65d0ce0caaa24566a1b7a3a", "version": "41", diff --git a/versions/t-/try-catcher.json b/versions/t-/try-catcher.json new file mode 100644 index 00000000000000..95be6d512f5702 --- /dev/null +++ b/versions/t-/try-catcher.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "d1059d2b27b1ec41ff2c734707359af6f2f1aba3", + "version": "1.0.1", + "port-version": 0 + } + ] +} diff --git a/versions/t-/tsl-hopscotch-map.json b/versions/t-/tsl-hopscotch-map.json index eb07bc22c032d9..d527768343d563 100644 --- a/versions/t-/tsl-hopscotch-map.json +++ b/versions/t-/tsl-hopscotch-map.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "bda0cdc786b728426f6f9beffd826207b93d6c21", + "version": "2.3.1", + "port-version": 0 + }, + { + "git-tree": "6f6b67b30812de79b65fcd5764d45bec74411521", + "version": "2.3.0", + "port-version": 3 + }, + { + "git-tree": "cb999b94c279946d93639a2d54d3a8972a61519f", + "version-string": "2.3.0", + "port-version": 2 + }, { "git-tree": "a9aea6d276838589846f7f2741359c2ca29c49e4", "version-string": "2.3.0", diff --git a/versions/t-/tsl-ordered-map.json b/versions/t-/tsl-ordered-map.json index 899b0a7e2cc82b..4d8b8d642112e3 100644 --- a/versions/t-/tsl-ordered-map.json +++ b/versions/t-/tsl-ordered-map.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "42c785ae9a220a67e346002c609752fd4b6224bd", + "version": "1.1.0", + "port-version": 0 + }, + { + "git-tree": "4adcef91a9fce2b4213e5402973b8afdb50baeb2", + "version": "1.0.0", + "port-version": 3 + }, + { + "git-tree": "2d21077c63a818b22dd0d4f3c1e3d70ebbf6de84", + "version-string": "1.0.0", + "port-version": 2 + }, { "git-tree": "5daf2289228a2a7e03ce57d352e07cb8431184a1", "version-string": "1.0.0", diff --git a/versions/t-/tsl-sparse-map.json b/versions/t-/tsl-sparse-map.json index 5c6130a68ae9b6..28de0babe33af1 100644 --- a/versions/t-/tsl-sparse-map.json +++ b/versions/t-/tsl-sparse-map.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "71fff3f16d7b3d0d58d918e57d619225ffd1ff6e", + "version": "0.6.2", + "port-version": 3 + }, + { + "git-tree": "392c1afdb1f4ce3319f631466472de6d16924882", + "version-string": "0.6.2", + "port-version": 2 + }, { "git-tree": "7fb06e7731b0c8231bc6e4807c71c38bee6b18ac", "version-string": "0.6.2", diff --git a/versions/t-/ttauri.json b/versions/t-/ttauri.json index 74a61a87a9edb9..fc89a2fe69fd28 100644 --- a/versions/t-/ttauri.json +++ b/versions/t-/ttauri.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "528e0c198c489d3212ba2b8e7048bbc0a379f4b2", + "version": "0.5.0", + "port-version": 2 + }, + { + "git-tree": "5990b7368bf89a8b6cd1fa2a7b33406c9ef3a24e", + "version": "0.5.0", + "port-version": 1 + }, { "git-tree": "8214a006b0e577a7c4076ed5bfd7f155abc99ace", "version": "0.5.0", diff --git a/versions/t-/tuplet.json b/versions/t-/tuplet.json new file mode 100644 index 00000000000000..02b70bb74de121 --- /dev/null +++ b/versions/t-/tuplet.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "74fcd4cc246f7511749c6172bbbe333c0fa012d7", + "version": "2.1.1", + "port-version": 0 + } + ] +} diff --git a/versions/t-/turbobase64.json b/versions/t-/turbobase64.json index c7e663d292e0fe..ca867e421a381e 100644 --- a/versions/t-/turbobase64.json +++ b/versions/t-/turbobase64.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "d5b6dbbd578854ad389a0e63b4921bb7e5a3b7ec", + "version": "2023.8", + "port-version": 0 + }, + { + "git-tree": "20d23821ef39944689c9ec0e8cf02d17c7b68901", + "version-date": "2020-01-12", + "port-version": 3 + }, + { + "git-tree": "1077b7996d7d22e798b337bc29177a566ec64e4b", + "version-date": "2020-01-12", + "port-version": 2 + }, { "git-tree": "42e8e3b3a43b2170811c936708766470ad137cab", "version-string": "2020-01-12", diff --git a/versions/t-/tvision.json b/versions/t-/tvision.json index 888ab5edd1c10d..fa452661fa4fe0 100644 --- a/versions/t-/tvision.json +++ b/versions/t-/tvision.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "8cee900fb22152eb04edacae88909ae9e75d8e9e", + "version-date": "2024-05-22", + "port-version": 0 + }, + { + "git-tree": "da8928e7b75f6ad89f6a86a5ed09077fbc4edb1d", + "version-date": "2024-02-28", + "port-version": 0 + }, + { + "git-tree": "43ab1f9cb4407aab0a936520a82ddee84a48bd92", + "version-date": "2021-08-10", + "port-version": 1 + }, { "git-tree": "9d7a52a21054aae326fe5793acc7d54b04ec40f6", "version-date": "2021-08-10", diff --git a/versions/t-/tweeny.json b/versions/t-/tweeny.json index ad25b87d714571..cc860d624a65d9 100644 --- a/versions/t-/tweeny.json +++ b/versions/t-/tweeny.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "4f537ca75e36230988713349dd183b7da62d072b", + "version": "3.2.0", + "port-version": 1 + }, { "git-tree": "07d8448c4d732f5596e87fc25392fc58ac7c1961", "version": "3.2.0", diff --git a/versions/t-/type-lite.json b/versions/t-/type-lite.json index 8e317b7db83e36..5dad7ca754a3e1 100644 --- a/versions/t-/type-lite.json +++ b/versions/t-/type-lite.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "7ebc5db10421a042126a6ca788752a332402be10", + "version": "0.2.0", + "port-version": 0 + }, + { + "git-tree": "87b4ca306e885d75327f894c485304ca3ead022c", + "version": "0.1.0", + "port-version": 3 + }, + { + "git-tree": "fd2fb158fe4964b9f41777379d19bf0790c76fd4", + "version-string": "0.1.0", + "port-version": 2 + }, { "git-tree": "1393063d013016208c0f3e269034c2f664ea408f", "version-string": "0.1.0", diff --git a/versions/t-/type-safe.json b/versions/t-/type-safe.json index 56d1b800351d8f..ae13baad7bdd8f 100644 --- a/versions/t-/type-safe.json +++ b/versions/t-/type-safe.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "35621b157fc4fcde27821331951fa96dc5fbd767", + "version": "0.2.4", + "port-version": 0 + }, + { + "git-tree": "803fe8770512e68321e60560d9a303e4782c266e", + "version": "0.2.3", + "port-version": 0 + }, + { + "git-tree": "63cdf2cb69a2a7f3de1a5bf82d63e556b742e909", + "version": "0.2.2", + "port-version": 1 + }, { "git-tree": "c46af3efa54c55f23076777fb7c276886f1dd1ce", "version": "0.2.2", diff --git a/versions/u-/uchardet.json b/versions/u-/uchardet.json index c8c1d09fa58a50..f42ff6a24b9325 100644 --- a/versions/u-/uchardet.json +++ b/versions/u-/uchardet.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "a226a1e7f8682190fbfb778afe3659b55817e219", + "version": "0.0.8", + "port-version": 0 + }, + { + "git-tree": "8333800cb0daceea8448ca6d20a91a1944b31559", + "version-date": "2021-09-03", + "port-version": 2 + }, { "git-tree": "bef8f2cbbb385ec635dbca67e3783496a15cb4a0", "version-date": "2021-09-03", diff --git a/versions/u-/udt.json b/versions/u-/udt.json new file mode 100644 index 00000000000000..2b31d40be75195 --- /dev/null +++ b/versions/u-/udt.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "8c91a2b4c4f5b0fafeef59b6abda5efd3f30adcc", + "version": "4.11", + "port-version": 0 + } + ] +} diff --git a/versions/u-/umock-c.json b/versions/u-/umock-c.json index ec6028e36886fe..78f1c548116469 100644 --- a/versions/u-/umock-c.json +++ b/versions/u-/umock-c.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "524700bc9f0f017f7bbaa82086e967fec2b023d8", + "version-date": "2022-01-21", + "port-version": 1 + }, + { + "git-tree": "67f2fda1636719281706ebef0314a388ba5c8d15", + "version-date": "2022-01-21", + "port-version": 0 + }, { "git-tree": "b34153650a29eb81f88e48f53bd06ca05d4383c4", "version-string": "2020-06-17", diff --git a/versions/u-/uni-algo.json b/versions/u-/uni-algo.json new file mode 100644 index 00000000000000..9cb51cf128f780 --- /dev/null +++ b/versions/u-/uni-algo.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "eeb5a284cba814cab9b6d035f97313645ec5d457", + "version-semver": "1.2.0", + "port-version": 0 + }, + { + "git-tree": "507c5e80892a1390e2a5cb8b8fb1ab3ce275e42e", + "version-semver": "1.0.0", + "port-version": 0 + }, + { + "git-tree": "ae30ff42462d61d142eca81383fb9a7c9df3703a", + "version-semver": "0.7.0", + "port-version": 0 + } + ] +} diff --git a/versions/u-/unicorn-lib.json b/versions/u-/unicorn-lib.json index eec55aaa604950..fb371140d042e3 100644 --- a/versions/u-/unicorn-lib.json +++ b/versions/u-/unicorn-lib.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "7a392f38ad3deeac937482462e7253e332e4a672", + "version-date": "2022-01-24", + "port-version": 2 + }, + { + "git-tree": "20329e00e75f4f13bb1b77f3e19c23182861c6cd", + "version-date": "2022-01-24", + "port-version": 1 + }, + { + "git-tree": "278115c391839dcfc66ac80339c8dcd9a660c9e0", + "version-date": "2022-01-24", + "port-version": 0 + }, { "git-tree": "e88ab2927a310295171887057ac0f6cc6502a8d5", "version-date": "2020-03-02", diff --git a/versions/u-/unicorn.json b/versions/u-/unicorn.json index f71f2b6839d4ce..a3fd4f274336fd 100644 --- a/versions/u-/unicorn.json +++ b/versions/u-/unicorn.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "d1d99593115946401db9ccd090cd53dc8ae303ba", + "version": "2.0.1", + "port-version": 0 + }, + { + "git-tree": "31ff77ab3e1221d27f0b4ea2432ac7002181f984", + "version": "1.0.3", + "port-version": 1 + }, + { + "git-tree": "ec4ae5e99d2204a11e112c2f1a596ac2d4f5f2f9", + "version": "1.0.3", + "port-version": 0 + }, + { + "git-tree": "78e0a5d0840a6e2ae29d4922f34c858b821ab377", + "version-date": "2020-09-14", + "port-version": 2 + }, { "git-tree": "5126bae583b1f4d7d512b4bc06d799da0cd664be", "version-string": "2020-09-14", diff --git a/versions/u-/units.json b/versions/u-/units.json index 9b8d38b2d4cf24..b20c23a37a0fb4 100644 --- a/versions/u-/units.json +++ b/versions/u-/units.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "fb579beb1fc4d50b1b6bd4aa3d04449d41195d89", + "version": "2.3.3", + "port-version": 1 + }, + { + "git-tree": "d33e796f2c898b89720bf55e28d836f5cab1db75", + "version": "2.3.3", + "port-version": 0 + }, { "git-tree": "4b254a4139e2d70522a90a640601abdd97cdbce3", "version-string": "2.3.1", diff --git a/versions/u-/unittest-cpp.json b/versions/u-/unittest-cpp.json index 7bbc55419e223e..797a046f509e8e 100644 --- a/versions/u-/unittest-cpp.json +++ b/versions/u-/unittest-cpp.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "f08f75e492c6863c5ef34c67dd083035170fa7c4", + "version-semver": "2.0.0", + "port-version": 6 + }, + { + "git-tree": "bb7c434ff783ab8c87dfa014eb7142d4ca4727da", + "version-semver": "2.0.0", + "port-version": 5 + }, + { + "git-tree": "0e2e8b9a3b236e9777fb4a549162c4030c11460b", + "version-semver": "2.0.0", + "port-version": 4 + }, { "git-tree": "454c93c4ef93d7661b8bf6743996167f921b687f", "version-semver": "2.0.0", diff --git a/versions/u-/unixodbc.json b/versions/u-/unixodbc.json index 4df7f4ffb23eb6..f52fe7db2c20f7 100644 --- a/versions/u-/unixodbc.json +++ b/versions/u-/unixodbc.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "29dd7a9c7a6649ace85fd2e695dc4613ba6cb13a", + "version": "2.3.11", + "port-version": 2 + }, + { + "git-tree": "d5bf2c65c912060aaebaba66eb6ce1544d6dd7e6", + "version": "2.3.11", + "port-version": 1 + }, + { + "git-tree": "3042b55f1c0ecd0d27336b24754a6f5f3a746c03", + "version": "2.3.11", + "port-version": 0 + }, + { + "git-tree": "68ea55f1c4679d7585ab6482d1641bfb6b106b23", + "version": "2.3.9", + "port-version": 1 + }, + { + "git-tree": "7576aa3f19845c2388e7786118082d4cfa9efb49", + "version": "2.3.9", + "port-version": 0 + }, { "git-tree": "d18b08c03d4a7b07f4bbbed662baac83955af86c", "version-string": "2.3.7", diff --git a/versions/u-/unordered-dense.json b/versions/u-/unordered-dense.json new file mode 100644 index 00000000000000..8e444478219c70 --- /dev/null +++ b/versions/u-/unordered-dense.json @@ -0,0 +1,29 @@ +{ + "versions": [ + { + "git-tree": "814c362d3218fc2f06ba7c2555c2aa977965ceb1", + "version": "4.4.0", + "port-version": 0 + }, + { + "git-tree": "92b6f3cc16f6fe577511e094a9b918b8af8fa360", + "version": "4.3.1", + "port-version": 0 + }, + { + "git-tree": "c25f50471fcb367451a465853e405a50e372e279", + "version": "4.1.2", + "port-version": 0 + }, + { + "git-tree": "abbf5a684519e60642ad5113f5e2f63762f60f93", + "version": "4.1.1", + "port-version": 0 + }, + { + "git-tree": "404e82b0f085a6d68323630f530c04e86b5eeb2b", + "version": "4.0.1", + "port-version": 0 + } + ] +} diff --git a/versions/u-/unqlite.json b/versions/u-/unqlite.json index fd9a76687c3f47..3b461599970665 100644 --- a/versions/u-/unqlite.json +++ b/versions/u-/unqlite.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "c553ddb0b70a37f30c5a61fca9c055cfebf345b0", + "version": "1.1.9", + "port-version": 2 + }, + { + "git-tree": "e62e679c8bef82c536cf33cb6f2a1f842930d98a", + "version-string": "1.1.9", + "port-version": 1 + }, { "git-tree": "b038e5ea1a126a574fa130e8b533ca3d91fe9be8", "version-string": "1.1.9", diff --git a/versions/u-/unrar.json b/versions/u-/unrar.json index 4d2dcb5c2147b2..54d7cf341476ee 100644 --- a/versions/u-/unrar.json +++ b/versions/u-/unrar.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "efd77010f783812337dbbda1c0f54af588506d02", + "version": "7.0.7", + "port-version": 0 + }, + { + "git-tree": "6bc071be9e736a08d2826e81e000dbc6aa6d4b2b", + "version": "6.1.7", + "port-version": 3 + }, + { + "git-tree": "6849b794133f944030e40dc8c73b1fa4fc2a4f13", + "version": "6.1.7", + "port-version": 2 + }, + { + "git-tree": "282699df90f6c302560fa8fdb097e386ae9de7db", + "version": "6.1.7", + "port-version": 1 + }, + { + "git-tree": "0181c013ed7f278c6e62725516dbb65b103fa7d7", + "version": "6.1.7", + "port-version": 0 + }, + { + "git-tree": "d2ade299ed837817b3d02522f990af3a64cb938b", + "version": "5.8.1", + "port-version": 3 + }, + { + "git-tree": "4d39c9643a67338a3252672f3c5910891c6a87cd", + "version": "5.8.1", + "port-version": 2 + }, { "git-tree": "31f7c1900da6148793b6b10c1b7be7b5e80d4172", "version-string": "5.8.1", diff --git a/versions/u-/upa-url.json b/versions/u-/upa-url.json new file mode 100644 index 00000000000000..0fe190036bf729 --- /dev/null +++ b/versions/u-/upa-url.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "296cbb13a682dea1a57ee552d78236df6b7d4b77", + "version": "1.0.1", + "port-version": 0 + }, + { + "git-tree": "cf986c3938d7f479923887f031f0748ee3f81229", + "version": "1.0.0", + "port-version": 0 + } + ] +} diff --git a/versions/u-/upb.json b/versions/u-/upb.json index 50641b629ed261..9e0a034c2ba423 100644 --- a/versions/u-/upb.json +++ b/versions/u-/upb.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "47d5e848e2c7213cc67e4dfa6c7797fa973f2c12", + "version": "4.25.1", + "port-version": 1 + }, + { + "git-tree": "3edd5c1f37803c69faaf1b0884791e8c1d8ff48f", + "version": "4.25.1", + "port-version": 0 + }, + { + "git-tree": "1d7a6a503d8e111f919697470e47030cba1172b3", + "version-date": "2022-06-21", + "port-version": 1 + }, + { + "git-tree": "4a5b5306d38f1a58f65c98c236b84ca297501ab1", + "version-date": "2022-06-21", + "port-version": 0 + }, + { + "git-tree": "de1d8718e4ea42428b87f4275352c4f3bbb6ac11", + "version-date": "2022-04-04", + "port-version": 0 + }, { "git-tree": "7c61b435b6136ae6539c3991b9f6b81bfd6811dc", "version-date": "2021-10-19", diff --git a/versions/u-/urdfdom-headers.json b/versions/u-/urdfdom-headers.json index 149af41f3f0973..4e87c8481df864 100644 --- a/versions/u-/urdfdom-headers.json +++ b/versions/u-/urdfdom-headers.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "092b0a254c20195ecca315045637a1e7aed2a244", + "version": "1.1.1", + "port-version": 0 + }, + { + "git-tree": "dd11423fb71779a21a08de42cc5e0486478ad959", + "version": "1.1.0", + "port-version": 0 + }, { "git-tree": "557188bd804b7c57c882f39710ca21deb1b91db5", "version-string": "1.0.5", diff --git a/versions/u-/urdfdom.json b/versions/u-/urdfdom.json index bcefd4e533ad4f..d31d83fab704c0 100644 --- a/versions/u-/urdfdom.json +++ b/versions/u-/urdfdom.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "eb1c1a30329b850ac4450d3b1a72166697058bb8", + "version": "3.1.1", + "port-version": 0 + }, + { + "git-tree": "35eed492633e8ac2b137093a51d13ad325d9e7c5", + "version": "3.1.0", + "port-version": 0 + }, + { + "git-tree": "a74450532028f2079b8ea0b20bb82ded93e951d6", + "version": "1.0.4", + "port-version": 5 + }, { "git-tree": "1022fc5895356fb9cd1c37767cf2397e4edfd415", "version-string": "1.0.4", diff --git a/versions/u-/urho3d.json b/versions/u-/urho3d.json index 8a1c844d674590..4c27e17c4e60c4 100644 --- a/versions/u-/urho3d.json +++ b/versions/u-/urho3d.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "aceb5375954d594c93c9e75ff4fd7ea0cfdb9323", + "version-date": "2021-03-01", + "port-version": 5 + }, + { + "git-tree": "fe6e49016a6f15bc04e04727f2e4712e75625425", + "version-date": "2021-03-01", + "port-version": 4 + }, + { + "git-tree": "6f9e8452934bac3542907f50fd466a34e44b3fdc", + "version-date": "2021-03-01", + "port-version": 3 + }, + { + "git-tree": "0d6c7a328006bca59755eec70c09a83fe9b1a087", + "version-date": "2021-03-01", + "port-version": 2 + }, { "git-tree": "a31df110bd09d7f49eec0cc5e7f19799ab83564a", "version-date": "2021-03-01", diff --git a/versions/u-/uriparser.json b/versions/u-/uriparser.json index b4704cd8998a67..9569f7c255c8f5 100644 --- a/versions/u-/uriparser.json +++ b/versions/u-/uriparser.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "9bffcae8f88a0db14e9fae476d8231e01c13e42a", + "version": "0.9.8", + "port-version": 0 + }, + { + "git-tree": "975fead9dd72eb7261d36b7fa2c0c2aeb7b79f43", + "version": "0.9.7", + "port-version": 0 + }, + { + "git-tree": "9f9aef4f8260430170711fecac6c383bb259f034", + "version": "0.9.6", + "port-version": 0 + }, { "git-tree": "6e6605cac24d7d9cc91af51a7ea3b1da2adde159", "version-semver": "0.9.5", diff --git a/versions/u-/usbmuxd.json b/versions/u-/usbmuxd.json index 04dc3433b1d637..6117b5faf7e030 100644 --- a/versions/u-/usbmuxd.json +++ b/versions/u-/usbmuxd.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "4aa97c2a8eb36aa9f4a3a7ca0fb028dc27f8215b", + "version-date": "2023-07-21", + "port-version": 1 + }, + { + "git-tree": "edc61063b642372c7d9de82f7ecc55ed39971c3d", + "version-date": "2023-07-21", + "port-version": 0 + }, + { + "git-tree": "4116e3cd80421add75aeeb413386b03cbfad5670", + "version": "1.2.235", + "port-version": 5 + }, + { + "git-tree": "f2c137f8ea6a9f68922e301479aa2b251c130636", + "version": "1.2.235", + "port-version": 4 + }, + { + "git-tree": "b3f2cea522d35497750ecfd9446e29bf034b4d21", + "version": "1.2.235", + "port-version": 3 + }, + { + "git-tree": "53c6e0e8c2a4f5db93d2a41d51d2aa8ba68b8e7e", + "version": "1.2.235", + "port-version": 2 + }, { "git-tree": "072dd356dfeda50c73780a204db5f5f6224cd35c", "version-string": "1.2.235", diff --git a/versions/u-/usd.json b/versions/u-/usd.json index 1c7e2f2ff09a7f..257030cff1a1a7 100644 --- a/versions/u-/usd.json +++ b/versions/u-/usd.json @@ -1,5 +1,60 @@ { "versions": [ + { + "git-tree": "ead0e855944ba468f8f3e4cc4f1875ae14e2bbc1", + "version": "24.8", + "port-version": 0 + }, + { + "git-tree": "4c153b9f60e4a0f694dac0575011b99556c31084", + "version": "24.5", + "port-version": 0 + }, + { + "git-tree": "a589441a5a488b6ad5d797ae17dab850b8b03620", + "version": "23.5", + "port-version": 3 + }, + { + "git-tree": "b5cb814be5a5aec9d600aeb98cd2126f407ca062", + "version": "23.5", + "port-version": 2 + }, + { + "git-tree": "cfe836715c8cf43db76006deffa234cecf77745c", + "version": "23.5", + "port-version": 1 + }, + { + "git-tree": "5a5cb56688d1804bb35d8e361cfd41ef858919c9", + "version": "23.5", + "port-version": 0 + }, + { + "git-tree": "9db13a48bde68c5107143c6a68fb50b6b71b8483", + "version": "23.2", + "port-version": 1 + }, + { + "git-tree": "f52bda67df8cc837cf678d105ecba88358c016c0", + "version": "23.2", + "port-version": 0 + }, + { + "git-tree": "b4c2d8c578eff85a0c1c897c595ddc35240cce98", + "version-string": "20.08", + "port-version": 4 + }, + { + "git-tree": "c241a36daa1c8695be5e0d4a8a29f2cc304dd6b1", + "version-string": "20.08", + "port-version": 3 + }, + { + "git-tree": "177f2af7397316cc1fa92a72ea8992f6acca8dfb", + "version-string": "20.08", + "port-version": 2 + }, { "git-tree": "44bef511fe3c249b1579ab696b8bd7e82147b788", "version-string": "20.08", diff --git a/versions/u-/usearch.json b/versions/u-/usearch.json new file mode 100644 index 00000000000000..b674ad598358f9 --- /dev/null +++ b/versions/u-/usearch.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "5ed129aec7ee2dec29767918714015211a556038", + "version": "2.3.2", + "port-version": 0 + } + ] +} diff --git a/versions/u-/usockets.json b/versions/u-/usockets.json index efac4caed8cbef..05b263463500e6 100644 --- a/versions/u-/usockets.json +++ b/versions/u-/usockets.json @@ -1,5 +1,45 @@ { "versions": [ + { + "git-tree": "166a701806a36e58117b39db8786c566ed8fd44b", + "version": "0.8.8", + "port-version": 1 + }, + { + "git-tree": "178ef570c3acdb03066628f05aa564af7609f48c", + "version": "0.8.6", + "port-version": 1 + }, + { + "git-tree": "648715b141f4bb501ebc83d09da547ee0b3fe467", + "version": "0.8.6", + "port-version": 0 + }, + { + "git-tree": "79d76cd232129419d6e9e3afdc6ba689f4c00bf7", + "version": "0.8.5", + "port-version": 0 + }, + { + "git-tree": "7738ec8a752614f52d6c117bb28b4d4588e43756", + "version": "0.8.3", + "port-version": 0 + }, + { + "git-tree": "f12cbe4a6c1d7298131fdf658e6bfbea144d58aa", + "version": "0.8.2", + "port-version": 0 + }, + { + "git-tree": "f5f1af355335cdcd1c055cdbcdd574b146116942", + "version": "0.8.1", + "port-version": 2 + }, + { + "git-tree": "bf42304e17879df7e100c97d4487adaeaadfd87e", + "version": "0.8.1", + "port-version": 1 + }, { "git-tree": "de62ce303388342f83a490f69bdb92ec41ecc0f2", "version": "0.8.1", diff --git a/versions/u-/usrsctp.json b/versions/u-/usrsctp.json index 44c86c94478843..aae9a80b02ab96 100644 --- a/versions/u-/usrsctp.json +++ b/versions/u-/usrsctp.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "558a19f0aec0cbbb2103876326c3e46455fb8d5f", + "version": "0.9.5.0", + "port-version": 4 + }, + { + "git-tree": "7c30cd146c1f7b69d5a8f43fbb615e3bbb42b6ee", + "version": "0.9.5.0", + "port-version": 3 + }, + { + "git-tree": "8ac1cb14a09660bf33bd8f3dc7727bcf8080ae02", + "version": "0.9.5.0", + "port-version": 2 + }, { "git-tree": "fcf79007e70c0b2872453841199dae68e7ac01fa", "version": "0.9.5.0", diff --git a/versions/u-/utf8-range.json b/versions/u-/utf8-range.json new file mode 100644 index 00000000000000..9be82173b723ff --- /dev/null +++ b/versions/u-/utf8-range.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "8f1c516c43009f8aff54f87b0d9784f65bcb0012", + "version": "5.26.1", + "port-version": 0 + }, + { + "git-tree": "b4f93db62704293a100326ad0561ab1c5aa2d856", + "version": "4.25.1", + "port-version": 0 + }, + { + "git-tree": "dd54a8c4b774935b2c164d0902185fa56a8694bb", + "version-date": "2023-11-09", + "port-version": 0 + } + ] +} diff --git a/versions/u-/utf8h.json b/versions/u-/utf8h.json index e6d95f597bf460..d05dae96ca19c2 100644 --- a/versions/u-/utf8h.json +++ b/versions/u-/utf8h.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "d41943e6f90929e9c6e9395bcb6903aca2f5b860", + "version-date": "2021-11-18", + "port-version": 1 + }, + { + "git-tree": "f26a3cff10653923f791bc424e4ed1839c33a9ad", + "version-date": "2021-11-18", + "port-version": 0 + }, { "git-tree": "e54d88f6fff213e5e7ab15eefffc3e2674f1da63", "version-date": "2021-10-21", diff --git a/versions/u-/utf8proc.json b/versions/u-/utf8proc.json index bfe00d35236fb2..d3245cb8dc61a8 100644 --- a/versions/u-/utf8proc.json +++ b/versions/u-/utf8proc.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "c5f27e3efe364dde7b71325cffd76f3026d7fd9a", + "version": "2.9.0", + "port-version": 0 + }, + { + "git-tree": "9d0c3ece179c9fc0e59c5573b91bc23ff3124c37", + "version": "2.7.0", + "port-version": 1 + }, + { + "git-tree": "e50e6a4b5de0d3eab7fe13920d1358b83230fd36", + "version": "2.7.0", + "port-version": 0 + }, { "git-tree": "659423c8c76de9194980ba25a2755bde258ed173", "version": "2.6.1", diff --git a/versions/u-/utfcpp.json b/versions/u-/utfcpp.json index dc7b6b2ef09ce0..abc7777801091c 100644 --- a/versions/u-/utfcpp.json +++ b/versions/u-/utfcpp.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "4aa82d07c18c1a5b1ec311a0a23fddc81b162b5a", + "version": "4.0.5", + "port-version": 0 + }, + { + "git-tree": "f3ceee3e19b95edf9e59c813da7764a68145bfd1", + "version": "4.0.2", + "port-version": 0 + }, + { + "git-tree": "323b2ffdbd38cf8e756a5ae5714ef2169c0cd6b3", + "version": "3.2.5", + "port-version": 0 + }, + { + "git-tree": "6c3de7ba47b92f266d5cce0a4f69925af4abda8f", + "version": "3.2.4", + "port-version": 0 + }, + { + "git-tree": "6871a843dce2e99e0973ca0a2a837ea78c3add39", + "version": "3.2.3", + "port-version": 0 + }, + { + "git-tree": "bb1d143b228986ad2f329b03758add50bae51601", + "version": "3.2.2", + "port-version": 0 + }, + { + "git-tree": "c47a0911020f386e46e4f920a55fec656976d2ef", + "version": "3.2.1", + "port-version": 1 + }, { "git-tree": "27a1e587de353ed0d9559d5e4627ed2811960c07", "version": "3.2.1", diff --git a/versions/u-/utfz.json b/versions/u-/utfz.json index db788b6ca68e12..5789078f29ca14 100644 --- a/versions/u-/utfz.json +++ b/versions/u-/utfz.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "29787ab2794e0e9cb0183207820b2e5f37a3e8f7", + "version": "1.2", + "port-version": 4 + }, + { + "git-tree": "e17e36e3f6a6d86a17ed5633baf9a45e1a4d7ce9", + "version-string": "1.2", + "port-version": 3 + }, { "git-tree": "2897d5bfecd8b5fad871a476cfba4c24f45144cd", "version-string": "1.2", diff --git a/versions/u-/uthenticode.json b/versions/u-/uthenticode.json index 8bb7320735cd52..36916a93933d7c 100644 --- a/versions/u-/uthenticode.json +++ b/versions/u-/uthenticode.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "1e157e3079852bd9e3b96580648a5750bb1e51dd", + "version": "2.0.1", + "port-version": 1 + }, + { + "git-tree": "16dd1d0663a34c0dba62df07527311c14737c42e", + "version": "2.0.1", + "port-version": 0 + }, + { + "git-tree": "673c5ea6d0982481405bbe54c1e993f696d29d23", + "version": "1.0.6", + "port-version": 2 + }, + { + "git-tree": "bc0bd0b234a79de442f7001bd1a216716333e067", + "version": "1.0.6", + "port-version": 1 + }, { "git-tree": "bd27c0f342a4c62251b30f323be232c86bc999af", "version-string": "1.0.6", diff --git a/versions/u-/uvatlas.json b/versions/u-/uvatlas.json index 89f909364b7d30..876de4fd18be63 100644 --- a/versions/u-/uvatlas.json +++ b/versions/u-/uvatlas.json @@ -1,5 +1,110 @@ { "versions": [ + { + "git-tree": "2059b1fac30299fb988bee51c78964d8aa42b30e", + "version-date": "2024-10-29", + "port-version": 0 + }, + { + "git-tree": "1e1cf99e5b991e2c335ba171022ac5861c50b23e", + "version-date": "2024-09-04", + "port-version": 0 + }, + { + "git-tree": "a51183d7e26e3c94e9f19f508f687bdb97a053b6", + "version-date": "2024-06-05", + "port-version": 0 + }, + { + "git-tree": "294ed8799ad9ff0e5fe0f2cbd44dd06a9cf7199b", + "version-date": "2024-02-21", + "port-version": 0 + }, + { + "git-tree": "5e9c34981bb0811581e42a967e3168cf4caae0b1", + "version-date": "2023-12-31", + "port-version": 0 + }, + { + "git-tree": "b19700b61aeb3ea159f83d6f2184708142ebae73", + "version-date": "2023-10-31", + "port-version": 0 + }, + { + "git-tree": "1f28e65ddac26fdd4f5de13a5b31a3f460c7da37", + "version-date": "2023-06-13", + "port-version": 0 + }, + { + "git-tree": "9d245ea2b1c8fe04d653e858d2c9dda5fde706da", + "version-date": "2023-04-28", + "port-version": 0 + }, + { + "git-tree": "6e028b8207a31b10b755c11400d7c33f73fb5511", + "version-date": "2023-03-30", + "port-version": 0 + }, + { + "git-tree": "447767eafcf76143e72ee08847c27bbc8c604deb", + "version-date": "2023-02-06", + "port-version": 2 + }, + { + "git-tree": "529a01d54dab048985a62e6f517e8fa007c48238", + "version-date": "2023-02-06", + "port-version": 1 + }, + { + "git-tree": "e88464e234478d298d2dea4a591ba05082af7f9b", + "version-date": "2023-02-06", + "port-version": 0 + }, + { + "git-tree": "9335adc59658d7c81ea85d849249b1bdd4047ef5", + "version-date": "2022-12-15", + "port-version": 0 + }, + { + "git-tree": "d2385783dc5930f93f8ef1eea64a8818f301e3ae", + "version-date": "2022-10-17", + "port-version": 0 + }, + { + "git-tree": "b8e6b720b8515e7b966c76785e54d31f97d32261", + "version-date": "2022-07-30", + "port-version": 1 + }, + { + "git-tree": "bb57b16dfc29cefbae6f35fd3e09376e0291b2bd", + "version-date": "2022-07-30", + "port-version": 0 + }, + { + "git-tree": "2ac8444f59bd76ba38a620d4e0fe1a6a64969873", + "version-date": "2022-05-09", + "port-version": 0 + }, + { + "git-tree": "100ee1b04f5da317153da9c52eb0c0def30e9b49", + "version-date": "2022-03-24", + "port-version": 0 + }, + { + "git-tree": "fe5522a95b1f9ef72d43c019948fd94055b42410", + "version-date": "2022-02-28", + "port-version": 0 + }, + { + "git-tree": "4f353fc6ad423c0a9d95c7b2d2f6c7a150e43b25", + "version-date": "2021-11-08", + "port-version": 1 + }, + { + "git-tree": "c9e1961e16fefb328333a2f99555a33cdc496356", + "version-date": "2021-11-08", + "port-version": 0 + }, { "git-tree": "4ac15c488e3c856748164899355d3d619f4dc810", "version-string": "nov2021", diff --git a/versions/u-/uvw.json b/versions/u-/uvw.json index 95a51f9014739f..ff61acd1a07092 100644 --- a/versions/u-/uvw.json +++ b/versions/u-/uvw.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "82ef2ed3a8ae1df65e8e922c5d7917d3271f457d", + "version": "3.2.0", + "port-version": 0 + }, + { + "git-tree": "67bc0402d4aa7c5cbb9f934c0e7c68fec4acdcfc", + "version": "3.0.0", + "port-version": 1 + }, + { + "git-tree": "ffc751aa641f583e42aad836b6bd7766661f789a", + "version": "3.0.0", + "port-version": 0 + }, + { + "git-tree": "c36c66a8d5f4a6eed4aa9fe4399f32a516d3883c", + "version": "2.12.1", + "port-version": 2 + }, + { + "git-tree": "609b48de110aa8763d8f4a674ac3aa7c5821382f", + "version": "2.12.1", + "port-version": 1 + }, + { + "git-tree": "eac81a2d74241ded58a1c503d91f226f86ca09c6", + "version": "2.12.1", + "port-version": 0 + }, { "git-tree": "fc9230cd12ff7d556e700053798f20e07283954d", "version-string": "2.7.0", diff --git a/versions/u-/uwebsockets.json b/versions/u-/uwebsockets.json index 55ffaefc7cd58e..34ca5895ff37c2 100644 --- a/versions/u-/uwebsockets.json +++ b/versions/u-/uwebsockets.json @@ -1,5 +1,105 @@ { "versions": [ + { + "git-tree": "be8eaa143a359edd215ab039b7f7422e6bc392f0", + "version-semver": "20.70.0", + "port-version": 0 + }, + { + "git-tree": "5395321b562c4f565db92f93fe54be6fdbeb896f", + "version-semver": "20.67.0", + "port-version": 0 + }, + { + "git-tree": "5b90b442f723c3dbf6748f1508c657ea0e5ef9cc", + "version-semver": "20.65.0", + "port-version": 0 + }, + { + "git-tree": "ccb96723a6350902ed36acc11fc42d1125dd52e7", + "version-semver": "20.62.0", + "port-version": 0 + }, + { + "git-tree": "e2f6c87764b59647fb64764dd5fd4a5170d7c33e", + "version-semver": "20.60.0", + "port-version": 0 + }, + { + "git-tree": "f0c8d8d1a24ee84dbc3572df5053654773c7b113", + "version-semver": "20.59.0", + "port-version": 0 + }, + { + "git-tree": "045e5a648de127461ada21b72d56b8c9ce6e8886", + "version-semver": "20.57.0", + "port-version": 0 + }, + { + "git-tree": "e2d1e526ceac2a64d35063ef42990b83fb43e80e", + "version-semver": "20.54.0", + "port-version": 0 + }, + { + "git-tree": "accbc9586fca80fd1345c5f2f3cf8449c76dcb24", + "version-semver": "20.47.0", + "port-version": 0 + }, + { + "git-tree": "db7e8088e0a542c51cea89ed081e8bcae6baec8c", + "version-semver": "20.45.0", + "port-version": 0 + }, + { + "git-tree": "53155ed92665dafb62c89bcc7bb9722fd5875316", + "version-semver": "20.44.0", + "port-version": 0 + }, + { + "git-tree": "0b0f3943b2e6e8260c638dc75c430d4975b87999", + "version-semver": "20.41.0", + "port-version": 0 + }, + { + "git-tree": "93461a35ff4e9611909379c0e64a1b22213a1c57", + "version-semver": "20.40.0", + "port-version": 0 + }, + { + "git-tree": "4d9dadfe2a7ad5ed25314c0511325f05c20702fc", + "version-semver": "20.36.0", + "port-version": 0 + }, + { + "git-tree": "142ccb5f9cf300ad96083aff0dbd89fbeaf11a3d", + "version-semver": "20.34.0", + "port-version": 0 + }, + { + "git-tree": "27ac7131fa8bf4234ccf6e2e7b44339dbc8ddf53", + "version-semver": "20.31.0", + "port-version": 0 + }, + { + "git-tree": "0c93531ffc2da219f4a802af8f4892845550a350", + "version-semver": "20.30.0", + "port-version": 0 + }, + { + "git-tree": "f25a78232935faad44896203386f3c282301805a", + "version-semver": "20.14.0", + "port-version": 0 + }, + { + "git-tree": "5b1e062e56cf8ea0bdfe07414a11791e62c964fe", + "version-semver": "20.11.0", + "port-version": 0 + }, + { + "git-tree": "bbc3058932f01e905d7cf4129e55da10496f8374", + "version-semver": "20.9.0", + "port-version": 0 + }, { "git-tree": "8a874bc8213f0b0a2e96710cce72f6e7d344ffac", "version-semver": "20.8.0", diff --git a/versions/v-/v-hacd.json b/versions/v-/v-hacd.json index 0be1cb57ba7062..01d673b6010953 100644 --- a/versions/v-/v-hacd.json +++ b/versions/v-/v-hacd.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "a4b4d85577f6e6e7cbcfa0257cdc5f51775e3e47", + "version": "3.2.0", + "port-version": 4 + }, + { + "git-tree": "c65970db1719a0f4ac77a70859ce0a46a430c54a", + "version": "3.2.0", + "port-version": 3 + }, { "git-tree": "fb52b4b2323057dd987225a70627ed40016756ee", "version-string": "3.2.0", diff --git a/versions/v-/v8.json b/versions/v-/v8.json index 9a859f286bc93a..ce48ef11bed010 100644 --- a/versions/v-/v8.json +++ b/versions/v-/v8.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "179add8a5050b88cc2b9ffaf5a45954e9cfbc697", + "version": "9.1.269.39", + "port-version": 8 + }, + { + "git-tree": "c1c08507b831b135750030ed12b1d86e89c3462d", + "version": "9.1.269.39", + "port-version": 7 + }, + { + "git-tree": "ab4cfc5f196adbe34d9a4d75758137c5fddaafe9", + "version": "9.1.269.39", + "port-version": 6 + }, + { + "git-tree": "efe56a72380aed1323f5e19b4b20a3e02fae8112", + "version": "9.1.269.39", + "port-version": 5 + }, + { + "git-tree": "f57ec75cb9169900555359752c65e8e4c79c34ec", + "version": "9.1.269.39", + "port-version": 4 + }, + { + "git-tree": "3abf0953ae7dcf4bb4b4ede21adb27ad850b1e1c", + "version": "9.1.269.39", + "port-version": 3 + }, + { + "git-tree": "b245f57cb85bfd7a699e2ceb9628682b39bcc150", + "version": "9.1.269.39", + "port-version": 2 + }, { "git-tree": "d179f8f99ecce385eab497b2850e605976f4d9d5", "version": "9.1.269.39", diff --git a/versions/v-/valijson.json b/versions/v-/valijson.json index e63eb9a9d3dc7d..51bc53355bb8cd 100644 --- a/versions/v-/valijson.json +++ b/versions/v-/valijson.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "5f6331f897b458f49d2d8e69f73bd47a47d0532d", + "version": "1.0.2", + "port-version": 0 + }, + { + "git-tree": "9a05a76802a936f7549eec49d032a5e6fa220cfb", + "version": "1.0.1", + "port-version": 0 + }, { "git-tree": "7edd27211e0ef58ea307fe1fc4f34aea18cb8529", "version": "0.6", diff --git a/versions/v-/vamp-sdk.json b/versions/v-/vamp-sdk.json index d43b514319b7a6..ee601ed7b8209a 100644 --- a/versions/v-/vamp-sdk.json +++ b/versions/v-/vamp-sdk.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "de8d329f5acd76465cc9ab71f58ddca238f8d263", + "version": "2.10", + "port-version": 5 + }, + { + "git-tree": "be6c66cbbf45af0e78aa4456832c04bbe301b951", + "version": "2.10", + "port-version": 4 + }, + { + "git-tree": "ac0236fcb60d389d21fe96a9c96c5f21f9e905b0", + "version": "2.10", + "port-version": 3 + }, + { + "git-tree": "9d2b2ab057b4e31d833668e82f95283c7afbc551", + "version": "2.10", + "port-version": 2 + }, { "git-tree": "1c71927e1997998f40a9d051d65ba4e5760f4257", "version": "2.10", diff --git a/versions/v-/vc.json b/versions/v-/vc.json index 03ffe16c1fa4d7..14fb131a9d48e3 100644 --- a/versions/v-/vc.json +++ b/versions/v-/vc.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "219677dca49bb75959b61537111daca726e52a86", + "version": "1.4.4", + "port-version": 0 + }, + { + "git-tree": "933ac99201b15104edd8037e8bcc7959d36a6d67", + "version": "1.4.3", + "port-version": 0 + }, + { + "git-tree": "98b96fa582424d700421161838544f1daf738467", + "version": "1.4.2", + "port-version": 3 + }, + { + "git-tree": "57204c2b095452a828860a6476b8b997463ee36d", + "version": "1.4.2", + "port-version": 2 + }, { "git-tree": "670b9bb5b2fe8a35ac2115b355d87995b1ee85b6", "version-string": "1.4.2", diff --git a/versions/v-/vcglib.json b/versions/v-/vcglib.json index 0fde71fa64c10c..f8512e05420349 100644 --- a/versions/v-/vcglib.json +++ b/versions/v-/vcglib.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "67e2bde19f60e3d61bbc65be91896142c665f2e0", + "version": "2023.12", + "port-version": 0 + }, + { + "git-tree": "1170b49b3d2980357ba10d68769b0bcfaeda42f7", + "version-string": "2022.02", + "port-version": 0 + }, { "git-tree": "4ed58c0ed176662ca418315c77fb0137c2cf7769", "version-string": "1.0.1", diff --git a/versions/v-/vcpkg-boost.json b/versions/v-/vcpkg-boost.json new file mode 100644 index 00000000000000..0fdcf686e6d0d1 --- /dev/null +++ b/versions/v-/vcpkg-boost.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "aca8ab6ec76d120c4482a629de23cad5ad7e4643", + "version-date": "2024-05-15", + "port-version": 0 + }, + { + "git-tree": "885223b657578128c0556fe6b53cfec8cbf50e12", + "version-date": "2024-04-25", + "port-version": 0 + } + ] +} diff --git a/versions/v-/vcpkg-cmake-config.json b/versions/v-/vcpkg-cmake-config.json index ebb17990d27437..d1fc53479fd175 100644 --- a/versions/v-/vcpkg-cmake-config.json +++ b/versions/v-/vcpkg-cmake-config.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "97a63e4bc1a17422ffe4eff71da53b4b561a7841", + "version-date": "2024-05-23", + "port-version": 0 + }, + { + "git-tree": "8d54cc4f487d51b655abec5f9c9c3f86ca83311f", + "version-date": "2022-02-06", + "port-version": 1 + }, + { + "git-tree": "24dc7dfc704406e9f745f033643dc25f56e4ca18", + "version-date": "2022-02-06", + "port-version": 0 + }, + { + "git-tree": "fea8f92ffa5e14c7111fe526f8cc93ecd8f9dbf0", + "version-date": "2022-01-30", + "port-version": 0 + }, + { + "git-tree": "e33152002c946b93a0262931ba8bf54a2e6ab9ad", + "version-date": "2021-12-28", + "port-version": 0 + }, + { + "git-tree": "51df1bbddb22782b9e7f23f9b3588674184e991a", + "version-date": "2021-12-01", + "port-version": 0 + }, { "git-tree": "38a87ee8edd9ea8e8fff604fbcb785661a8d0e28", "version-date": "2021-11-01", diff --git a/versions/v-/vcpkg-cmake-get-vars.json b/versions/v-/vcpkg-cmake-get-vars.json new file mode 100644 index 00000000000000..c5d4cf275983b3 --- /dev/null +++ b/versions/v-/vcpkg-cmake-get-vars.json @@ -0,0 +1,39 @@ +{ + "versions": [ + { + "git-tree": "f23148add155147f3d95ae622d3b0031beb25acf", + "version-date": "2024-09-22", + "port-version": 0 + }, + { + "git-tree": "725c841810ceb8de33da68ea879eb8f0b4d6c94c", + "version-date": "2023-12-31", + "port-version": 0 + }, + { + "git-tree": "2e624c2cf12a97a7a802e31ff1d28b9fa6ba9bde", + "version-date": "2023-03-02", + "port-version": 0 + }, + { + "git-tree": "bad453fe7f58edb2e8d0093692dcaa52347e446c", + "version-date": "2022-12-16", + "port-version": 0 + }, + { + "git-tree": "898079c6021ced406d7c75f852e67a5e8861db9b", + "version-date": "2022-09-04", + "port-version": 0 + }, + { + "git-tree": "b50ca3d20736304215fbd82c102d4552457255bb", + "version-date": "2022-05-10", + "port-version": 1 + }, + { + "git-tree": "181f509cdab757511233106aa44c529e04c0c29f", + "version-date": "2022-05-10", + "port-version": 0 + } + ] +} diff --git a/versions/v-/vcpkg-cmake.json b/versions/v-/vcpkg-cmake.json index 6c05751fd73036..73031380465a68 100644 --- a/versions/v-/vcpkg-cmake.json +++ b/versions/v-/vcpkg-cmake.json @@ -1,5 +1,125 @@ { "versions": [ + { + "git-tree": "e74aa1e8f93278a8e71372f1fa08c3df420eb840", + "version-date": "2024-04-23", + "port-version": 0 + }, + { + "git-tree": "a10a94e8d0071ed4804d40d0f0f0c5e4e7180afd", + "version-date": "2024-04-18", + "port-version": 0 + }, + { + "git-tree": "88a7058fc7fa73a9c4c99cfcae9d79e2abf87a5a", + "version-date": "2023-05-04", + "port-version": 0 + }, + { + "git-tree": "1913f86defd2140d0a6751be2d51952e4090efa4", + "version-date": "2022-12-22", + "port-version": 0 + }, + { + "git-tree": "3adf8df8d492adfc105a09c6e50b913e662178b6", + "version-date": "2022-11-13", + "port-version": 0 + }, + { + "git-tree": "063c28b7401ba0090497ba7b0931b2eb09b18a24", + "version-date": "2022-10-30", + "port-version": 0 + }, + { + "git-tree": "8827e6f24005c4f60cb0a579a3a0115ef3d7b6c3", + "version-date": "2022-09-26", + "port-version": 0 + }, + { + "git-tree": "72b6903c393330b7c9042096d84cbd733619644e", + "version-date": "2022-09-13", + "port-version": 0 + }, + { + "git-tree": "84c200e8e625d4d99b1649525fcdf81a73197078", + "version-date": "2022-08-18", + "port-version": 0 + }, + { + "git-tree": "a7b618b7782f3c841d7fd2d84a6ba3619815362a", + "version-date": "2022-07-18", + "port-version": 0 + }, + { + "git-tree": "94abbd71a7fe495e883b13c077312f6d419cbc41", + "version-date": "2022-07-02", + "port-version": 0 + }, + { + "git-tree": "819e45a14fb875ec7e8373143c994b7bd8d8f7cb", + "version-date": "2022-06-07", + "port-version": 0 + }, + { + "git-tree": "8b07d914c90cf8f611973318c85d3af13201e3f9", + "version-date": "2022-05-10", + "port-version": 1 + }, + { + "git-tree": "e8db2f70aa8b584aac932fcff65d91bf52d57731", + "version-date": "2022-05-10", + "port-version": 0 + }, + { + "git-tree": "46a5686341cf9136053ff01b9f213dbd2dbea8a6", + "version-date": "2022-05-06", + "port-version": 0 + }, + { + "git-tree": "ecfb2282f599a9c1f3a9ad98eac9d2b35690850f", + "version-date": "2022-05-05", + "port-version": 0 + }, + { + "git-tree": "8273918a04a5822ad7cc21ea5249402f2e999a7a", + "version-date": "2022-04-21", + "port-version": 0 + }, + { + "git-tree": "ef4a9463f802c1cd6f8b31e560529aeaee0faff4", + "version-date": "2022-04-12", + "port-version": 0 + }, + { + "git-tree": "3dcb01563c0de941013579456d19ce5b0bd08a6e", + "version-date": "2022-04-07", + "port-version": 0 + }, + { + "git-tree": "34d8604d164edd2903bdb833adf30fe1516c9982", + "version-date": "2022-04-05", + "port-version": 0 + }, + { + "git-tree": "bdfdf28cf28bc07d02af864315ca291dcfae180b", + "version-date": "2022-02-14", + "port-version": 0 + }, + { + "git-tree": "b7c050fe60f91dcedef6d87a3f87584151bf8aee", + "version-date": "2022-01-19", + "port-version": 0 + }, + { + "git-tree": "a35eb7c761372dc64526d59fa918a13c0dfbba1b", + "version-date": "2021-12-20", + "port-version": 0 + }, + { + "git-tree": "462dd9ada82163b8c104cef8c2ad5b5c0bfa5eb8", + "version-date": "2021-12-05", + "port-version": 0 + }, { "git-tree": "fc4d9fcc5b8d2b97c083c6b70dd06df5174bd97b", "version-date": "2021-09-13", diff --git a/versions/v-/vcpkg-get-python-packages.json b/versions/v-/vcpkg-get-python-packages.json new file mode 100644 index 00000000000000..d375b4b185abde --- /dev/null +++ b/versions/v-/vcpkg-get-python-packages.json @@ -0,0 +1,44 @@ +{ + "versions": [ + { + "git-tree": "c7d017ccabcaf02739662b60cc1000b8489acb22", + "version-date": "2024-09-29", + "port-version": 0 + }, + { + "git-tree": "9205135e78e0cad47fd43c2f7abada1f4fbbdbaa", + "version-date": "2024-01-24", + "port-version": 0 + }, + { + "git-tree": "b6f23effcf3057ccc837f864b9207b651209e608", + "version-date": "2024-01-02", + "port-version": 0 + }, + { + "git-tree": "80e0cf9d38d72126b34eb1ee9b33f936c778a696", + "version-date": "2023-07-28", + "port-version": 0 + }, + { + "git-tree": "e65762bfef05a4d380bb171409c48a694fb35435", + "version-date": "2022-06-30", + "port-version": 0 + }, + { + "git-tree": "ffe13ab59e3e2f4f003498035bc1fbc06b64e164", + "version-date": "2022-04-11", + "port-version": 1 + }, + { + "git-tree": "f03d459d365b604decb720f7da79b3f7d7127670", + "version-date": "2022-04-11", + "port-version": 0 + }, + { + "git-tree": "e429a4c957711115ea1b795327843acb05fc8b29", + "version-date": "2022-02-12", + "port-version": 0 + } + ] +} diff --git a/versions/v-/vcpkg-get-python.json b/versions/v-/vcpkg-get-python.json new file mode 100644 index 00000000000000..da9171e2b44423 --- /dev/null +++ b/versions/v-/vcpkg-get-python.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "e1993fbd0925b052b31f62967690a2634cb952a2", + "version-date": "2024-06-22", + "port-version": 0 + }, + { + "git-tree": "829be9eea1ad30190a8bb66e4c8a46c9c6d5b0f5", + "version-date": "2024-06-08", + "port-version": 0 + } + ] +} diff --git a/versions/v-/vcpkg-gfortran.json b/versions/v-/vcpkg-gfortran.json index 59725ac545af18..a9e94a02f51d34 100644 --- a/versions/v-/vcpkg-gfortran.json +++ b/versions/v-/vcpkg-gfortran.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "1af46bd54a9156a9f24fc7c8715488699522b382", + "version": "3", + "port-version": 3 + }, + { + "git-tree": "5fa617d0b37f47f7f19210be936e25914d6f64c6", + "version": "3", + "port-version": 2 + }, { "git-tree": "46d6be1a505fd008358fc3b426a74a0063661f68", "version-string": "3", diff --git a/versions/v-/vcpkg-gn.json b/versions/v-/vcpkg-gn.json new file mode 100644 index 00000000000000..984cf0250b8dfa --- /dev/null +++ b/versions/v-/vcpkg-gn.json @@ -0,0 +1,29 @@ +{ + "versions": [ + { + "git-tree": "c62f882f543760e74e571a2527a9c6050bcf4e91", + "version-date": "2024-02-22", + "port-version": 0 + }, + { + "git-tree": "91fca5269be57b055d067a6012dd79bca6a9dc70", + "version-date": "2021-11-16", + "port-version": 3 + }, + { + "git-tree": "119e620029e0579165590b4656882bd6c3ce297c", + "version-date": "2021-11-16", + "port-version": 2 + }, + { + "git-tree": "ba02b5d9d66b0e227762e6aeac0851fd8fb4314e", + "version-date": "2021-11-16", + "port-version": 1 + }, + { + "git-tree": "f0ec062fd9ed47e9a00f343e15f185e4201e661b", + "version-date": "2021-11-16", + "port-version": 0 + } + ] +} diff --git a/versions/v-/vcpkg-msbuild.json b/versions/v-/vcpkg-msbuild.json new file mode 100644 index 00000000000000..7cdd5c0930c23c --- /dev/null +++ b/versions/v-/vcpkg-msbuild.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "09443e951188f7850761144fde77fe9edf0dceba", + "version-date": "2023-08-08", + "port-version": 0 + }, + { + "git-tree": "e9effc7e0ed636888b0bf3660d602f0737cba97e", + "version-date": "2023-06-22", + "port-version": 0 + } + ] +} diff --git a/versions/v-/vcpkg-pkgconfig-get-modules.json b/versions/v-/vcpkg-pkgconfig-get-modules.json index 7a206d061cf282..9eeba4c6f4a3e0 100644 --- a/versions/v-/vcpkg-pkgconfig-get-modules.json +++ b/versions/v-/vcpkg-pkgconfig-get-modules.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "6845369c8cb7d3c318e8e3ae92fd2b7570a756ca", + "version-date": "2024-04-03", + "port-version": 0 + }, + { + "git-tree": "365f7303c0f9fe13458a62e7e4998760e6d918a4", + "version-date": "2023-09-06", + "port-version": 0 + }, + { + "git-tree": "57e857fda6b1dadd02036d9c012963db900bfc33", + "version-date": "2023-02-25", + "port-version": 0 + }, + { + "git-tree": "48bfa748f78837921860329547ed6e5799665698", + "version-date": "2022-02-10", + "port-version": 1 + }, + { + "git-tree": "d4f1fd82fd733b622ed83f5f502b8483e5b2ca3b", + "version-date": "2022-02-10", + "port-version": 0 + }, + { + "git-tree": "1fae7b16a1eb390ca9239c3e82aa0fdb41f9565b", + "version-date": "2022-01-10", + "port-version": 0 + }, { "git-tree": "558512de1cc52fd9e246d6e7b99575418dd8500f", "version-date": "2021-04-02", diff --git a/versions/v-/vcpkg-qmake.json b/versions/v-/vcpkg-qmake.json new file mode 100644 index 00000000000000..346e6b3d7fe30f --- /dev/null +++ b/versions/v-/vcpkg-qmake.json @@ -0,0 +1,49 @@ +{ + "versions": [ + { + "git-tree": "6679e34e75a78732fb13cd74a39dbd358b3fd5d7", + "version-date": "2023-03-22", + "port-version": 3 + }, + { + "git-tree": "d40f4f01a38812fcdabe63247a0ef204bcc01720", + "version-date": "2023-03-22", + "port-version": 2 + }, + { + "git-tree": "777a5dadc7b8c11b81d401098c70d3d66d4172b5", + "version-date": "2023-03-22", + "port-version": 1 + }, + { + "git-tree": "82e22019ae07b7150c3fb2a8672d4192eed2782c", + "version-date": "2023-03-22", + "port-version": 0 + }, + { + "git-tree": "993a25e3e7a43175fb3d7d4981bc3e0de1f65c32", + "version-date": "2022-11-16", + "port-version": 0 + }, + { + "git-tree": "546491787b275bfae887457a5eb17a7b502ae891", + "version-date": "2022-05-10", + "port-version": 1 + }, + { + "git-tree": "7f5f5955d901ed2c7caac9e3681d23338d8fe845", + "version-date": "2022-05-10", + "port-version": 0 + }, + { + "git-tree": "5096e32d02b21d8f2546edf3829cbb8ee2d50425", + "version-date": "2022-02-14", + "port-version": 0 + }, + { + "git-tree": "1b1cd1cfcca489897822287c15af473fa4380cb1", + "version-date": "2021-10-23", + "port-version": 0 + } + ] +} diff --git a/versions/v-/vcpkg-tool-bazel.json b/versions/v-/vcpkg-tool-bazel.json new file mode 100644 index 00000000000000..f5d6b7207d2cf8 --- /dev/null +++ b/versions/v-/vcpkg-tool-bazel.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "2594b8f7c3cb557af7882e87fee900f76fe895a8", + "version": "5.2.0", + "port-version": 0 + } + ] +} diff --git a/versions/v-/vcpkg-tool-gn.json b/versions/v-/vcpkg-tool-gn.json new file mode 100644 index 00000000000000..46042d43a3fae1 --- /dev/null +++ b/versions/v-/vcpkg-tool-gn.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "2d1a5157488930321ba70a7990971c317dc02548", + "version-date": "2024-02-22", + "port-version": 0 + }, + { + "git-tree": "f389a1a2c5ceabd27f62c723bfa2b42919a9f3be", + "version-date": "2022-04-16", + "port-version": 1 + }, + { + "git-tree": "811d8c3a4d4489a291c69cde7788c620f950eb9e", + "version-date": "2022-04-16", + "port-version": 0 + } + ] +} diff --git a/versions/v-/vcpkg-tool-gyp-next.json b/versions/v-/vcpkg-tool-gyp-next.json new file mode 100644 index 00000000000000..c969c9669b7573 --- /dev/null +++ b/versions/v-/vcpkg-tool-gyp-next.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "ddd8afd941c98fbb82e09ddb8bca8eb721e87cae", + "version-date": "2022-10-15", + "port-version": 0 + } + ] +} diff --git a/versions/v-/vcpkg-tool-gyp-nss.json b/versions/v-/vcpkg-tool-gyp-nss.json new file mode 100644 index 00000000000000..2c153252cd37d0 --- /dev/null +++ b/versions/v-/vcpkg-tool-gyp-nss.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "724d29c42ace865fdba94d8c32bdbe987072eaaa", + "version-date": "2022-03-04", + "port-version": 0 + } + ] +} diff --git a/versions/v-/vcpkg-tool-lessmsi.json b/versions/v-/vcpkg-tool-lessmsi.json new file mode 100644 index 00000000000000..4ea3a876a959be --- /dev/null +++ b/versions/v-/vcpkg-tool-lessmsi.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "1025fd8509756f76c07068d4088fbe23d67078d8", + "version": "1.10.0", + "port-version": 1 + }, + { + "git-tree": "82ed573f8102d4ac7c15f40c64bba00968085d51", + "version": "1.10.0", + "port-version": 0 + } + ] +} diff --git a/versions/v-/vcpkg-tool-meson.json b/versions/v-/vcpkg-tool-meson.json new file mode 100644 index 00000000000000..b1514f4511e545 --- /dev/null +++ b/versions/v-/vcpkg-tool-meson.json @@ -0,0 +1,99 @@ +{ + "versions": [ + { + "git-tree": "ba86563d438bbe6692c2b13df4235755ba135cbc", + "version": "1.6.0", + "port-version": 0 + }, + { + "git-tree": "43ebfc9a69d8e47fdfbe68b6f79a02d2b5f50e6e", + "version": "1.5.2", + "port-version": 0 + }, + { + "git-tree": "cdfb605662a81299245a1ea4a3659fab1ddaff70", + "version": "1.5.1", + "port-version": 0 + }, + { + "git-tree": "22011ab1f929bf881c5521272ee0818cb75dee1c", + "version": "1.3.2", + "port-version": 8 + }, + { + "git-tree": "3516ee436fc923a7ac6344886ff394e80ebc6e09", + "version": "1.3.2", + "port-version": 7 + }, + { + "git-tree": "13f79b5e4c8b4c07b38f9b5a010965433b753bb4", + "version": "1.3.2", + "port-version": 6 + }, + { + "git-tree": "dcadef2870528d24faf78307c390e976d1daab19", + "version": "1.3.2", + "port-version": 5 + }, + { + "git-tree": "5b67cea53009faa43a8b8d6332d1d5449802de96", + "version": "1.3.2", + "port-version": 4 + }, + { + "git-tree": "fbf4e4c53dcb75ef6bd7d62c7985fe7a4225b6e0", + "version": "1.3.2", + "port-version": 3 + }, + { + "git-tree": "8408112396883b134bd25e2522f9a806ceaae3ea", + "version": "1.3.2", + "port-version": 2 + }, + { + "git-tree": "17b86f3a18ad63659d4dfbafc194969279a7a4f0", + "version": "1.3.2", + "port-version": 1 + }, + { + "git-tree": "7b3bad7cb3eec367da9a8f2c6593b25e00720c66", + "version": "1.3.2", + "port-version": 0 + }, + { + "git-tree": "3f6f5419cfc743a85e4f1fb1b582d4728b79c1e2", + "version": "0.63", + "port-version": 2 + }, + { + "git-tree": "d4234634624fc778e5d80db63cf53bac8587ebb9", + "version": "0.63", + "port-version": 1 + }, + { + "git-tree": "bee0cb6c5edf45133ebc9643b86c9c775ab36cfe", + "version": "0.63", + "port-version": 0 + }, + { + "git-tree": "e35f24d912749fa1de06cb3cf533028e6f363398", + "version": "0.62.1", + "port-version": 0 + }, + { + "git-tree": "6fe7cf1649af5d90c1e88765411a463cac55e99c", + "version": "0.60.2", + "port-version": 2 + }, + { + "git-tree": "932036adfc24dd5fa63787b825974b6938402700", + "version": "0.60.2", + "port-version": 1 + }, + { + "git-tree": "e6ef15a9dc810b4bde53d9b1e3da3a20107e3983", + "version": "0.60.2", + "port-version": 0 + } + ] +} diff --git a/versions/v-/vcpkg-tool-mozbuild.json b/versions/v-/vcpkg-tool-mozbuild.json new file mode 100644 index 00000000000000..64b7b56922ea79 --- /dev/null +++ b/versions/v-/vcpkg-tool-mozbuild.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "a8ad4db38bbe6f1b9b422c9676e585dd92398d13", + "version": "4.0.2", + "port-version": 0 + }, + { + "git-tree": "9ec0167eafba536f0f5d8a83807f6b3b0dbb50be", + "version": "3.3", + "port-version": 0 + } + ] +} diff --git a/versions/v-/vcpkg-tool-ninja.json b/versions/v-/vcpkg-tool-ninja.json new file mode 100644 index 00000000000000..40503ccbc11969 --- /dev/null +++ b/versions/v-/vcpkg-tool-ninja.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "4000f008484105462069d70c1b70295ab72dafb3", + "version-date": "2022-03-31", + "port-version": 2 + }, + { + "git-tree": "e4dafd8bf3868653e8e4fa81340dfeaea288a43c", + "version-date": "2022-03-31", + "port-version": 1 + }, + { + "git-tree": "0d55ba6e9ede00479127566b8f39fce7034e1b05", + "version-date": "2022-03-31", + "port-version": 0 + } + ] +} diff --git a/versions/v-/vcpkg-tool-nodejs.json b/versions/v-/vcpkg-tool-nodejs.json index fc5994031eec63..06f393ea2529ce 100644 --- a/versions/v-/vcpkg-tool-nodejs.json +++ b/versions/v-/vcpkg-tool-nodejs.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "2738f551c277a4ac6650e7d140fc36aa26210a63", + "version-semver": "16.18.0", + "port-version": 1 + }, + { + "git-tree": "4d06168d3fdce7bd667e9cbc44adc453167dfbcc", + "version-semver": "16.18.0", + "port-version": 0 + }, { "git-tree": "91407db5ac964382618c11765caafc444e684a19", "version-semver": "14.17.4", diff --git a/versions/v-/vcpkg-tool-python2.json b/versions/v-/vcpkg-tool-python2.json new file mode 100644 index 00000000000000..f7dd422e963167 --- /dev/null +++ b/versions/v-/vcpkg-tool-python2.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "1d383d58a63e70ee364c0ec624f493e7097a4b9b", + "version": "2.7.18", + "port-version": 1 + }, + { + "git-tree": "207c41205cd98688dda41cee13ecec02aae1f5fd", + "version": "2.7.18", + "port-version": 0 + } + ] +} diff --git a/versions/v-/vectorclass.json b/versions/v-/vectorclass.json index 02a9695eb21da0..41c725d8fab3bd 100644 --- a/versions/v-/vectorclass.json +++ b/versions/v-/vectorclass.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "cd0c5a8f550d59e8a92becd672d9d0a029faf4ac", + "version-string": "2.02.00", + "port-version": 0 + }, + { + "git-tree": "a1c1b1ca0e0ddb9d5c27129234b2c22c9b73bd16", + "version-string": "2.00.01", + "port-version": 2 + }, { "git-tree": "0e6cebabfff6ad5300bf2fd306e48a7a7392abcb", "version-string": "2.00.01", diff --git a/versions/v-/veigar.json b/versions/v-/veigar.json new file mode 100644 index 00000000000000..d1945a5506b608 --- /dev/null +++ b/versions/v-/veigar.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "88f837039f4ae787986c90d0095969a8775795c1", + "version": "1.2", + "port-version": 0 + }, + { + "git-tree": "ac6bbfdf9847f62c07cbaaaccd15e85aa7d60bb5", + "version": "1.0", + "port-version": 0 + } + ] +} diff --git a/versions/v-/velodyne-decoder.json b/versions/v-/velodyne-decoder.json new file mode 100644 index 00000000000000..ba3fdd22dbfe26 --- /dev/null +++ b/versions/v-/velodyne-decoder.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "750a76436e6efb88a97b30a3a4c17ccafe869f2a", + "version": "3.0.0", + "port-version": 1 + }, + { + "git-tree": "14057817c4d38c4c315e12a837213035d5f8eed0", + "version": "3.0.0", + "port-version": 0 + } + ] +} diff --git a/versions/v-/verdict.json b/versions/v-/verdict.json new file mode 100644 index 00000000000000..54a2c7d52986eb --- /dev/null +++ b/versions/v-/verdict.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "dc33a2fb229de296ae77638542f91d5bb1d63e69", + "version": "1.4.0", + "port-version": 0 + } + ] +} diff --git a/versions/v-/via-httplib.json b/versions/v-/via-httplib.json new file mode 100644 index 00000000000000..aa2eb14feb4288 --- /dev/null +++ b/versions/v-/via-httplib.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "b8d9653408119df7140ccacc79ac7f75caddeea2", + "version": "1.9.0", + "port-version": 0 + } + ] +} diff --git a/versions/v-/vili.json b/versions/v-/vili.json new file mode 100644 index 00000000000000..7178b5c4b50809 --- /dev/null +++ b/versions/v-/vili.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "4c0c29d9d29bb3f3f9bd8788fd00a053ffa18123", + "version": "1.0.0+20221123", + "port-version": 1 + }, + { + "git-tree": "b72194e61d1a2725cbb85912b25bc3e8b986e503", + "version": "1.0.0+20221123", + "port-version": 0 + } + ] +} diff --git a/versions/v-/vincentlaucsb-csv-parser.json b/versions/v-/vincentlaucsb-csv-parser.json new file mode 100644 index 00000000000000..5c714689b5d26f --- /dev/null +++ b/versions/v-/vincentlaucsb-csv-parser.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "4c82b4467c59f180e2508928b5512aa1c357cf80", + "version": "2.2.3", + "port-version": 1 + }, + { + "git-tree": "6bea0ccfd4832f3c1aeea917bd8c709c19750ebd", + "version": "2.2.3", + "port-version": 0 + }, + { + "git-tree": "85d641f84a8f718a13d9f7ac169a4f2542c4d7c8", + "version": "2.1.3", + "port-version": 0 + } + ] +} diff --git a/versions/v-/visit-struct.json b/versions/v-/visit-struct.json index 2dc72172e5a91a..77c858ea1f0dd6 100644 --- a/versions/v-/visit-struct.json +++ b/versions/v-/visit-struct.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "59296ff30012685f7c9c1d7b0723fc940997a2b1", + "version": "1.1.0", + "port-version": 0 + }, + { + "git-tree": "a803da3fde987d8abc319748c6a599e6ace6e650", + "version": "1.0", + "port-version": 4 + }, + { + "git-tree": "b3d55a4cdc5320d704eba7c458eed48fe0d59dff", + "version-string": "1.0", + "port-version": 3 + }, { "git-tree": "43d203cd2d29553c9f00cea2d08fe8dba4e6c7e1", "version-string": "1.0", diff --git a/versions/v-/vit-vit-ctpl.json b/versions/v-/vit-vit-ctpl.json new file mode 100644 index 00000000000000..974e70577d838b --- /dev/null +++ b/versions/v-/vit-vit-ctpl.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "05de52269dd018412cc3e79ea4fa116661d07c0f", + "version": "0.0.2", + "port-version": 0 + } + ] +} diff --git a/versions/v-/vk-bootstrap.json b/versions/v-/vk-bootstrap.json new file mode 100644 index 00000000000000..32afdd524d0ca4 --- /dev/null +++ b/versions/v-/vk-bootstrap.json @@ -0,0 +1,39 @@ +{ + "versions": [ + { + "git-tree": "33aa9fad865d5e7536507780f794845077d75a9c", + "version": "1.3.279", + "port-version": 1 + }, + { + "git-tree": "21ca238dc37af23280c0bc7755bfbb7055057188", + "version": "1.3.279", + "port-version": 0 + }, + { + "git-tree": "3daa2be00dbf53598e2e71dd9c96fddac37d0855", + "version": "1.3.273", + "port-version": 0 + }, + { + "git-tree": "ff20e17db240f974d3afaae76bcf2afbe96a068c", + "version": "0.7", + "port-version": 1 + }, + { + "git-tree": "76afd9e4fb4d1ac5c3329b5f2db845a3923d4aa6", + "version": "0.7", + "port-version": 0 + }, + { + "git-tree": "5b4e562582567c73a3bad2120a3b23e0b6b32dde", + "version": "0.5", + "port-version": 1 + }, + { + "git-tree": "c882b9c4c2adf3ea8e63dae9d4ab03b4d34a4dc1", + "version": "0.5", + "port-version": 0 + } + ] +} diff --git a/versions/v-/vkfft.json b/versions/v-/vkfft.json new file mode 100644 index 00000000000000..31e5bfbc66c71e --- /dev/null +++ b/versions/v-/vkfft.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "cfc9ae6d28ea3043ce04e923fc7a4b0a0346c4db", + "version": "1.2.31", + "port-version": 0 + }, + { + "git-tree": "cefb73461bdbaf1e71eefa7bb7a9dce7352fd3b3", + "version": "1.2.17", + "port-version": 0 + } + ] +} diff --git a/versions/v-/vladimirshaleev-ipaddress.json b/versions/v-/vladimirshaleev-ipaddress.json new file mode 100644 index 00000000000000..d23be2fb94a1a5 --- /dev/null +++ b/versions/v-/vladimirshaleev-ipaddress.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "c4a128002e94b71cf2620c07f47b0380b3888802", + "version": "1.1.0", + "port-version": 0 + }, + { + "git-tree": "641e48d99d750d904e1f9c2627640473d02fd89f", + "version": "1.0.1", + "port-version": 0 + } + ] +} diff --git a/versions/v-/vlfeat.json b/versions/v-/vlfeat.json index 1ebdeb861cd659..b5afac98472d72 100644 --- a/versions/v-/vlfeat.json +++ b/versions/v-/vlfeat.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "00b7794f5db916989104858cce0f09b7bc6b65a2", + "version-date": "2020-07-10", + "port-version": 4 + }, + { + "git-tree": "d8ae9112b64ac005ccb493693bf4f5f9f8753355", + "version-date": "2020-07-10", + "port-version": 3 + }, + { + "git-tree": "2d4ca95a246089f7b15bcbfc6d8e74e364f5f867", + "version-string": "2020-07-10", + "port-version": 2 + }, { "git-tree": "2ae1b6f9b25f1b72e71b824f995c521f71a6081b", "version-string": "2020-07-10", diff --git a/versions/v-/vlpp.json b/versions/v-/vlpp.json index 61c6b6577ee624..836b32a667cc05 100644 --- a/versions/v-/vlpp.json +++ b/versions/v-/vlpp.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "05db8dfa678ad7f39d99d7a73d35df6e8dbf684c", + "version": "1.2.10.2", + "port-version": 0 + }, + { + "git-tree": "e1b6401de0adad14cac063543dc34e7eb048beb7", + "version": "1.2.10.1", + "port-version": 0 + }, + { + "git-tree": "da71459de0fa6efcd3f4a57f79ff605cc6d60d9e", + "version": "1.2.9.0", + "port-version": 0 + }, + { + "git-tree": "654b1fb66c8a083d723a6a655acf5eb706fe97f2", + "version": "1.1.0.0", + "port-version": 1 + }, + { + "git-tree": "8df8b965877d7d55e02b0563e1874d6c4fbbd9f2", + "version": "1.1.0.0", + "port-version": 0 + }, + { + "git-tree": "b4f56db04c13b5bf335e4e5939617596e15e89ac", + "version": "0.11.0.0", + "port-version": 3 + }, + { + "git-tree": "cfa763a8d53142b93748fde4a578ddbd95431ac2", + "version-string": "0.11.0.0", + "port-version": 2 + }, { "git-tree": "0497f92c39e00928468399f96b7da4ef729b4c4f", "version-string": "0.11.0.0", diff --git a/versions/v-/volk.json b/versions/v-/volk.json index 774ef5f91c18b1..f6f183d6953c72 100644 --- a/versions/v-/volk.json +++ b/versions/v-/volk.json @@ -1,5 +1,55 @@ { "versions": [ + { + "git-tree": "61510725dc5e5580f3c57a2939131e64519c3eef", + "version": "1.3.296", + "port-version": 0 + }, + { + "git-tree": "19f1fa697f50ea058f29a73545b1b1efef436404", + "version": "1.3.295", + "port-version": 0 + }, + { + "git-tree": "56353a3a753c281b7ca9e51efc7694034b79bd1e", + "version": "1.3.290.0", + "port-version": 0 + }, + { + "git-tree": "13daa91414db9749d182f74b9655ffed94917569", + "version": "1.3.280.0", + "port-version": 0 + }, + { + "git-tree": "707ef05c176dde719096f9737b77ce51390c951d", + "version": "1.3.275.0", + "port-version": 0 + }, + { + "git-tree": "8b2d72fd71caeb51d471a390221f70dfe27fd803", + "version": "1.3.250", + "port-version": 0 + }, + { + "git-tree": "0b1961a45b266c648b63febbe13d717ec65007c3", + "version": "1.3.233", + "port-version": 1 + }, + { + "git-tree": "1a140486e53637d3cddbf7ae5052a871e489cb8b", + "version": "1.3.233", + "port-version": 0 + }, + { + "git-tree": "c3c879b8f9516e71bcad0365c64b9c993ec6b254", + "version": "1.3.204", + "port-version": 1 + }, + { + "git-tree": "83175cabc17042125828c2e0230f75b60d140cc0", + "version": "1.3.204", + "port-version": 0 + }, { "git-tree": "0018a72c45ad8b5f9776d41ff067292b73cb7a31", "version-string": "2019-09-26", diff --git a/versions/v-/vowpal-wabbit.json b/versions/v-/vowpal-wabbit.json new file mode 100644 index 00000000000000..8f485e3d009dbc --- /dev/null +++ b/versions/v-/vowpal-wabbit.json @@ -0,0 +1,39 @@ +{ + "versions": [ + { + "git-tree": "4d38379dd56ce81943770adad88ca2b35814791f", + "version": "9.10.0", + "port-version": 0 + }, + { + "git-tree": "67f9b52b83a34f59c3dd20cff11d2c968149bbfc", + "version": "9.8.0", + "port-version": 2 + }, + { + "git-tree": "26041121b5911f0f6fb2e755b74747ce3dd2a371", + "version": "9.8.0", + "port-version": 1 + }, + { + "git-tree": "ed8289aedc37dbd955273a2f211451a44e54d702", + "version": "9.8.0", + "port-version": 0 + }, + { + "git-tree": "93cd564360ea4185d144f884ffa817fd97f19458", + "version": "9.6.0", + "port-version": 0 + }, + { + "git-tree": "e78d44b4949b1d3d2e11f177f8638952c61d711e", + "version": "9.5.0", + "port-version": 1 + }, + { + "git-tree": "1c4abceff85b2e9257c68742f509cbf4f4858c7d", + "version": "9.5.0", + "port-version": 0 + } + ] +} diff --git a/versions/v-/vs-yasm.json b/versions/v-/vs-yasm.json index 71ca133ddabb9b..c7d18526902f83 100644 --- a/versions/v-/vs-yasm.json +++ b/versions/v-/vs-yasm.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "d3d803c82a542e9f105f72e7f01c18a68a3669b1", + "version": "0.5.0", + "port-version": 2 + }, { "git-tree": "578afbadfc6dd06f3e83fc3d40dbbcfe98a392ae", "version-string": "0.5.0", diff --git a/versions/v-/vsg.json b/versions/v-/vsg.json new file mode 100644 index 00000000000000..e8a7bac9757566 --- /dev/null +++ b/versions/v-/vsg.json @@ -0,0 +1,44 @@ +{ + "versions": [ + { + "git-tree": "cc734f695e25c4a6641584e4f785fd95f81abf48", + "version": "1.1.7", + "port-version": 0 + }, + { + "git-tree": "7b85c33c8bf83e25afe90f8f02dbd5dd5c77bed5", + "version": "1.1.2", + "port-version": 0 + }, + { + "git-tree": "517afc5c16fc874b01e79b737f64436ff3a28045", + "version": "1.0.9", + "port-version": 1 + }, + { + "git-tree": "e541c0ad81c0926c15e5f362dcdac38f99dbed19", + "version": "1.0.9", + "port-version": 0 + }, + { + "git-tree": "6c882aab471b516ea2137b20450773b5ae7c57c3", + "version": "1.0.8", + "port-version": 0 + }, + { + "git-tree": "083510fe30c973a53fe65f4565d7c4159fdff36a", + "version": "1.0.6", + "port-version": 0 + }, + { + "git-tree": "c2ade86b1dee203ecaa4a401e76d80a205b6c71f", + "version": "1.0.5", + "port-version": 1 + }, + { + "git-tree": "0542d7bb873d65fa6ecbf2c3a02d7a2c7221d34a", + "version": "1.0.5", + "port-version": 0 + } + ] +} diff --git a/versions/v-/vsgimgui.json b/versions/v-/vsgimgui.json new file mode 100644 index 00000000000000..dc3271f7e80df7 --- /dev/null +++ b/versions/v-/vsgimgui.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "f6ad48a2b4865f57e57b4542c46c9223f3136a3a", + "version": "0.3.0", + "port-version": 0 + }, + { + "git-tree": "eb1104907bad19da30c10108718f012c7a1c6c22", + "version": "0.1.0", + "port-version": 0 + } + ] +} diff --git a/versions/v-/vsgxchange.json b/versions/v-/vsgxchange.json new file mode 100644 index 00000000000000..47a0ea99ad9ee1 --- /dev/null +++ b/versions/v-/vsgxchange.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "73b799a8d58def43da13c3642687cabbb917c630", + "version": "1.0.5", + "port-version": 1 + }, + { + "git-tree": "8a026d7763afb5ffa6081e9baf6de63a8d500790", + "version": "1.0.5", + "port-version": 0 + }, + { + "git-tree": "4019eb900d9064c6cb03767678bf82dd9860033e", + "version": "1.0.4", + "port-version": 0 + } + ] +} diff --git a/versions/v-/vtk-dicom.json b/versions/v-/vtk-dicom.json index 972f01f0c91cc8..68884281b01545 100644 --- a/versions/v-/vtk-dicom.json +++ b/versions/v-/vtk-dicom.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "73df27ee23b96ebb4d9caad96c39f567f99ceb6f", + "version": "0.8.16", + "port-version": 1 + }, + { + "git-tree": "17092f6f2038b2c29c0fba0e21efcf5521bc64fa", + "version": "0.8.16", + "port-version": 0 + }, + { + "git-tree": "bbe795fdb0d7be6e03dbe99b4d0670237f088b67", + "version": "0.8.14", + "port-version": 2 + }, + { + "git-tree": "96d043efb89eb2522af31366de52c340ca5c5193", + "version": "0.8.14", + "port-version": 1 + }, + { + "git-tree": "db43c05e6c9d53f9e16178ddde2964385ba8e3c5", + "version": "0.8.14", + "port-version": 0 + }, { "git-tree": "1bb97d36a9f0ed9f7305bd51f904ba5c3f740565", "version-string": "0.8.12", diff --git a/versions/v-/vtk-m.json b/versions/v-/vtk-m.json index 87391760f2c726..b5236ae5839c77 100644 --- a/versions/v-/vtk-m.json +++ b/versions/v-/vtk-m.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "3dff65b6415effb270b42e8d744689f35559abbc", + "version": "2.1.0", + "port-version": 0 + }, + { + "git-tree": "1d9c1ecc2af5787432fdebcdf6cd293b7af075bf", + "version": "1.9.0", + "port-version": 2 + }, + { + "git-tree": "7df5e71334a22b5dc19ffb3c02880554b2838f86", + "version": "1.9.0", + "port-version": 1 + }, + { + "git-tree": "48465076980827e86cf3c53f4834a74812223d2e", + "version": "1.9.0", + "port-version": 0 + }, + { + "git-tree": "bfd540dbdb5d0684ea4e5363e3b32cfceadcb542", + "version-semver": "1.6.0", + "port-version": 2 + }, + { + "git-tree": "4732af1d6b93dd170e8340039ed4c111e32ff224", + "version-semver": "1.6.0", + "port-version": 1 + }, { "git-tree": "bb3404a3ff10cfdc6bfabc198b44d711b752fd6e", "version-semver": "1.6.0", diff --git a/versions/v-/vtk.json b/versions/v-/vtk.json index 975f7bb0e105c6..b7aa8d5110cb4b 100644 --- a/versions/v-/vtk.json +++ b/versions/v-/vtk.json @@ -1,5 +1,165 @@ { "versions": [ + { + "git-tree": "99581eb538d39550007d25865540db2a368e3edb", + "version-semver": "9.3.0-pv5.12.1", + "port-version": 5 + }, + { + "git-tree": "f66a99e8c041f8e084d2871c3cc1d48146ca90f0", + "version-semver": "9.3.0-pv5.12.1", + "port-version": 4 + }, + { + "git-tree": "dbdb5ecd3e43e28d167883d384b471f65eb59012", + "version-semver": "9.3.0-pv5.12.1", + "port-version": 3 + }, + { + "git-tree": "0c230cc0e6003a34330671080a7c00f3618c23e4", + "version-semver": "9.3.0-pv5.12.1", + "port-version": 2 + }, + { + "git-tree": "a29da0e8cb31a173e6d7aacf0f1fdfc0f7178744", + "version-semver": "9.3.0-pv5.12.1", + "port-version": 1 + }, + { + "git-tree": "3e3082989d374dd77c1498762624412872053b05", + "version-semver": "9.3.0-pv5.12.1", + "port-version": 0 + }, + { + "git-tree": "679af6f82484acf134c028480564699523c988ed", + "version-semver": "9.3.0-pv5.12.0", + "port-version": 4 + }, + { + "git-tree": "0bb2f77c2eeff358d3be93b1d5f0d006573137b7", + "version-semver": "9.3.0-pv5.12.0", + "port-version": 3 + }, + { + "git-tree": "a5f26b78563bc7130aa6a5367d6492a8d97ee2d7", + "version-semver": "9.3.0-pv5.12.0", + "port-version": 2 + }, + { + "git-tree": "8450b99263cd711f13ed87705d86dee4ac338e5a", + "version-semver": "9.3.0-pv5.12.0", + "port-version": 1 + }, + { + "git-tree": "aa0dbd73659c3eda9ccce23fe3008683b1a8ec38", + "version-semver": "9.3.0-pv5.12.0", + "port-version": 0 + }, + { + "git-tree": "9f1473cbde3a447a1068779a42704a92b8eecccb", + "version-semver": "9.2.0-pv5.11.0", + "port-version": 12 + }, + { + "git-tree": "e887b758153039453976be1e5d0bc54d537b0417", + "version-semver": "9.2.0-pv5.11.0", + "port-version": 11 + }, + { + "git-tree": "6365f197946995803914141a82c1830d165427b3", + "version-semver": "9.2.0-pv5.11.0", + "port-version": 10 + }, + { + "git-tree": "a2a544c0f17d33ceb785ecd4b263f6f540562974", + "version-semver": "9.2.0-pv5.11.0", + "port-version": 9 + }, + { + "git-tree": "8f707a1fc800b17b84e545a4aa5b9f2c3c28c6d6", + "version-semver": "9.2.0-pv5.11.0", + "port-version": 8 + }, + { + "git-tree": "9ec376669498a8b43b3dc1779386dcc383d7cc1f", + "version-semver": "9.2.0-pv5.11.0", + "port-version": 7 + }, + { + "git-tree": "340d82faf130e467fb4ed6d5e8ce5bf93101513e", + "version-semver": "9.2.0-pv5.11.0", + "port-version": 6 + }, + { + "git-tree": "d58e0bca42952f053f26534bad7771a29a1e16c8", + "version-semver": "9.2.0-pv5.11.0", + "port-version": 5 + }, + { + "git-tree": "1261828e6817fb1dcc11cbb50a257104e87c1e69", + "version-semver": "9.2.0-pv5.11.0", + "port-version": 4 + }, + { + "git-tree": "35bdd05c8d99bc4933c899b76357830bfeebe01a", + "version-semver": "9.2.0-pv5.11.0", + "port-version": 3 + }, + { + "git-tree": "df558a4d65780495ca4ba4710306eb337f23bf93", + "version-semver": "9.2.0-pv5.11.0", + "port-version": 2 + }, + { + "git-tree": "2c7f3430079e884ea0ed88e0696fba5f6a839e5e", + "version-semver": "9.2.0-pv5.11.0", + "port-version": 1 + }, + { + "git-tree": "b5abc532a3af0562e38d66493eb784ee92c44337", + "version-semver": "9.2.0-pv5.11.0", + "port-version": 0 + }, + { + "git-tree": "64cd3c51764272ed1c8acc2d5fa37106d9f76b66", + "version-semver": "9.0.3-pv5.9.1", + "port-version": 12 + }, + { + "git-tree": "3193e1219e09f8f67d2762fa4fe823f4327a1c93", + "version-semver": "9.0.3-pv5.9.1", + "port-version": 11 + }, + { + "git-tree": "6a7eea485be980aa5c9fae1e0a75084f98e5dc27", + "version-semver": "9.0.3-pv5.9.1", + "port-version": 10 + }, + { + "git-tree": "3fa106f1a3c80a3ad15d8db406067c5253decc8e", + "version-semver": "9.0.3-pv5.9.1", + "port-version": 9 + }, + { + "git-tree": "585d1bca8e71d950c6d12ceb6ad720825ecbd704", + "version-semver": "9.0.3-pv5.9.1", + "port-version": 8 + }, + { + "git-tree": "4ba3d3d0db6e98e9a47d8c5c86790da3ef9af25b", + "version-semver": "9.0.3-pv5.9.1", + "port-version": 7 + }, + { + "git-tree": "4a9a03829df133347e358e94e79953ac9d91ae82", + "version-semver": "9.0.3-pv5.9.1", + "port-version": 6 + }, + { + "git-tree": "bd6ac57e684fd8a2234509813248f64a6cb522d5", + "version-semver": "9.0.3-pv5.9.1", + "port-version": 5 + }, { "git-tree": "223022edbe63b3ecdb3e9204a4ad63ab61b36ece", "version-semver": "9.0.3-pv5.9.1", diff --git a/versions/v-/vulkan-extensionlayer.json b/versions/v-/vulkan-extensionlayer.json new file mode 100644 index 00000000000000..5b1f9e033da455 --- /dev/null +++ b/versions/v-/vulkan-extensionlayer.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "33f33fe290428ff835bc09e8c0e1f536606b5af2", + "version": "1.3.296.0", + "port-version": 0 + } + ] +} diff --git a/versions/v-/vulkan-headers.json b/versions/v-/vulkan-headers.json index 6e512adb3a5513..89149fce69a3ea 100644 --- a/versions/v-/vulkan-headers.json +++ b/versions/v-/vulkan-headers.json @@ -1,5 +1,85 @@ { "versions": [ + { + "git-tree": "4dd5a13664c79d5df78837e35061568ad41c07a8", + "version": "1.3.296.0", + "port-version": 0 + }, + { + "git-tree": "3335b4bdf60e3c09fafd8541329aba7c275c5a1a", + "version": "1.3.290.0", + "port-version": 1 + }, + { + "git-tree": "5f50e6d2867d888fdcb9e2a467731948e4ed36f5", + "version": "1.3.290.0", + "port-version": 0 + }, + { + "git-tree": "47ec3d0d82ea8e9428d59b4c3428ca43cb5ea4c8", + "version": "1.3.280.0", + "port-version": 0 + }, + { + "git-tree": "5fd55b5328f4cc92680685bb3492092e7a919fbe", + "version": "1.3.275.0", + "port-version": 0 + }, + { + "git-tree": "ffd9715c99bc1d2b115a27616e17319ab10d47d2", + "version": "1.3.268.0", + "port-version": 0 + }, + { + "git-tree": "4a67e5648f3203af599c115390d12fceb828b8fa", + "version": "1.3.260", + "port-version": 0 + }, + { + "git-tree": "58c480d0beaa5a34988bd99c452a6fcbfe08721a", + "version": "1.3.250", + "port-version": 2 + }, + { + "git-tree": "535abf6f9fe02ff97da42e5594a4c1fd55190ec1", + "version": "1.3.243", + "port-version": 2 + }, + { + "git-tree": "d0e10b5347c26f2917d90b107a6177af1c270b65", + "version": "1.3.239", + "port-version": 2 + }, + { + "git-tree": "052634f8b28833b2d5302a0b4437031908eecde6", + "version": "1.3.239", + "port-version": 1 + }, + { + "git-tree": "f7ca3a0cb7523e883530931e29520c17d42352e9", + "version": "1.3.239", + "port-version": 0 + }, + { + "git-tree": "7d23bba2a37b43eab6af9748934187d6d7ebebf6", + "version": "1.3.238", + "port-version": 0 + }, + { + "git-tree": "6004a732ca5a141020fd8d7071b8ae321a25e428", + "version": "1.3.234", + "port-version": 0 + }, + { + "git-tree": "91d99bf9fe3492ffda0fbb13befda47b00ae388a", + "version": "1.3.224", + "port-version": 0 + }, + { + "git-tree": "b5192b1575959f03e204edc4712351461b6a2c23", + "version": "1.2.203", + "port-version": 0 + }, { "git-tree": "67ab6950d3e363975e70de04b73c39a35db721b3", "version-semver": "1.2.184", diff --git a/versions/v-/vulkan-hpp.json b/versions/v-/vulkan-hpp.json index db78e0da164c4b..91ffac4ddd26df 100644 --- a/versions/v-/vulkan-hpp.json +++ b/versions/v-/vulkan-hpp.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "2ab29397d55ec0c9b71cb790c30656e4903a996c", + "version-string": "deprecated", + "port-version": 0 + }, + { + "git-tree": "a9a9d60278b58e9bd4b8c301247f4a0e10076136", + "version": "1.3.259", + "port-version": 1 + }, + { + "git-tree": "d87342b4b1feb62ce7f97396981603c86358fecf", + "version": "1.3.259", + "port-version": 0 + }, + { + "git-tree": "61fc021c36380e8be0bf1742784dea14c9fe4a97", + "version": "1.3.231", + "port-version": 2 + }, + { + "git-tree": "794ed471d4b90ebb0ecad8adbb2f10fb57a7f0f6", + "version": "1.3.231", + "port-version": 1 + }, + { + "git-tree": "4b9270c54ab5a767a060ec2d10f6b7fc02689d34", + "version": "1.3.231", + "port-version": 0 + }, + { + "git-tree": "0f1e3c5ad864b671b57492c92079e7270bde0558", + "version": "1.2.203", + "port-version": 0 + }, { "git-tree": "a3f04aeb70ff80b168cf4e86134c7c61f7d23d62", "version-string": "1.2.184", diff --git a/versions/v-/vulkan-loader.json b/versions/v-/vulkan-loader.json new file mode 100644 index 00000000000000..787e23bfcf729d --- /dev/null +++ b/versions/v-/vulkan-loader.json @@ -0,0 +1,29 @@ +{ + "versions": [ + { + "git-tree": "f96603152b3334e095d5e365effab5588f875000", + "version": "1.3.296.0", + "port-version": 0 + }, + { + "git-tree": "587eccab043d27e654b2d48091677f08fb099233", + "version": "1.3.290.0", + "port-version": 0 + }, + { + "git-tree": "f2b6ac616463bb279cb0677885ab70c8c734f3bd", + "version": "1.3.280.0", + "port-version": 0 + }, + { + "git-tree": "53fab978fa1af1363dd629deaedda328acafa01e", + "version": "1.3.275.0", + "port-version": 0 + }, + { + "git-tree": "058ede4fd9458f7fc471ea3663e4e8e6f455f638", + "version": "1.3.268.0", + "port-version": 0 + } + ] +} diff --git a/versions/v-/vulkan-memory-allocator-hpp.json b/versions/v-/vulkan-memory-allocator-hpp.json new file mode 100644 index 00000000000000..8e6d19d7bfdb87 --- /dev/null +++ b/versions/v-/vulkan-memory-allocator-hpp.json @@ -0,0 +1,29 @@ +{ + "versions": [ + { + "git-tree": "b9f973889aed3d994bd84da71014effa986eb9c3", + "version": "3.1.0", + "port-version": 0 + }, + { + "git-tree": "13f7806144f0e8ead19a05e5074367543f2254fb", + "version": "3.0.1.1", + "port-version": 1 + }, + { + "git-tree": "917058b3096f3375a29ff9960e4cae4a988655ea", + "version": "3.0.1.1", + "port-version": 0 + }, + { + "git-tree": "572ac6bfc63ddd4a37633aa76f54ff4c8325cb85", + "version": "3.0.1", + "port-version": 1 + }, + { + "git-tree": "2f76c60d16fb75bdbf3bfa08039557bfbe0ff84a", + "version": "3.0.1", + "port-version": 0 + } + ] +} diff --git a/versions/v-/vulkan-memory-allocator.json b/versions/v-/vulkan-memory-allocator.json index 44e4393e1beefd..02e2dd27bb7023 100644 --- a/versions/v-/vulkan-memory-allocator.json +++ b/versions/v-/vulkan-memory-allocator.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "267d8f5eb222e5ea111f11f57ebc8458c6df65e7", + "version": "3.1.0", + "port-version": 0 + }, + { + "git-tree": "a687cd3066c8effcdec670ce92d389c36c217c14", + "version": "3.0.1", + "port-version": 4 + }, + { + "git-tree": "d57ebd5ba820e5d8a5f55d797199abe4734d5af8", + "version": "3.0.1", + "port-version": 3 + }, + { + "git-tree": "0295d831ef2217a424c4739767ecde90e5bc7554", + "version": "3.0.1", + "port-version": 2 + }, + { + "git-tree": "49c724c78cf76e8858c92ce7b1acdc52fd9bf62b", + "version": "3.0.1", + "port-version": 1 + }, + { + "git-tree": "3e9468d6877548306f7d94800031ef9d04541529", + "version": "3.0.1", + "port-version": 0 + }, + { + "git-tree": "1803d4239d0058bbdb03b3711dc69383895f4ea1", + "version": "3.0.0", + "port-version": 0 + }, { "git-tree": "9d6994b1a6f6cbaba84a63a78b3d97784a0722f5", "version-string": "2021-07-07", diff --git a/versions/v-/vulkan-sdk-components.json b/versions/v-/vulkan-sdk-components.json new file mode 100644 index 00000000000000..097f415f965264 --- /dev/null +++ b/versions/v-/vulkan-sdk-components.json @@ -0,0 +1,34 @@ +{ + "versions": [ + { + "git-tree": "7a0f9cbc644e8d49e5cabb85ad57d201787447c5", + "version": "1.3.296.0", + "port-version": 0 + }, + { + "git-tree": "7371dbb1e2d1e53ff7e507067e9dd90b3708d0b6", + "version": "1.3.290.0", + "port-version": 0 + }, + { + "git-tree": "4d2aef1ad0a3c113b40af811acc32792deddbcf2", + "version": "1.3.280.0", + "port-version": 0 + }, + { + "git-tree": "600a47030b84ea696474e334860c2a84270951f6", + "version": "1.3.275.0", + "port-version": 1 + }, + { + "git-tree": "d2488a944354eab0570fcda95657275850ea1c21", + "version": "1.3.275.0", + "port-version": 0 + }, + { + "git-tree": "efe1324e0d30a235687686111be4daa4605083e6", + "version": "1.3.268.0", + "port-version": 0 + } + ] +} diff --git a/versions/v-/vulkan-tools.json b/versions/v-/vulkan-tools.json new file mode 100644 index 00000000000000..5646923cf41fa9 --- /dev/null +++ b/versions/v-/vulkan-tools.json @@ -0,0 +1,29 @@ +{ + "versions": [ + { + "git-tree": "00c6695f71fdd4ba603c6efde0b9bf4c6344298f", + "version": "1.3.296.0", + "port-version": 0 + }, + { + "git-tree": "bc9bba0720b8490ec2da60a3c2ae63716442d428", + "version": "1.3.290.0", + "port-version": 0 + }, + { + "git-tree": "72e0414a2e4313cf22f09a6f0fe4116d53caeb9a", + "version": "1.3.280.0", + "port-version": 0 + }, + { + "git-tree": "9e8ff435bcda0de218d540c39c0796a446f6b6fe", + "version": "1.3.275.0", + "port-version": 0 + }, + { + "git-tree": "720b109686183339d148fb303b53abfd128e9ec2", + "version": "1.3.268.0", + "port-version": 0 + } + ] +} diff --git a/versions/v-/vulkan-utility-libraries.json b/versions/v-/vulkan-utility-libraries.json new file mode 100644 index 00000000000000..268addc5e6905d --- /dev/null +++ b/versions/v-/vulkan-utility-libraries.json @@ -0,0 +1,34 @@ +{ + "versions": [ + { + "git-tree": "513317b99a7f1cebfd357c948f330f59ab2ff966", + "version": "1.3.296.0", + "port-version": 0 + }, + { + "git-tree": "c53a45159266fe31815e92e69b95d1a9cc479321", + "version": "1.3.290.0", + "port-version": 0 + }, + { + "git-tree": "7008230b1f9b5db1fa58f106e83c63dd16be0166", + "version": "1.3.280.0", + "port-version": 0 + }, + { + "git-tree": "d5abe73f20f44a0d03163eb8fdbd3714f1b57b8a", + "version": "1.3.275.0", + "port-version": 1 + }, + { + "git-tree": "d90089cebfde86dcb2c554b9e45271889503fc36", + "version": "1.3.268.0", + "port-version": 1 + }, + { + "git-tree": "0849291de2e14ef941d30aef9a17e45547329e44", + "version": "1.3.268.0", + "port-version": 0 + } + ] +} diff --git a/versions/v-/vulkan-validationlayers.json b/versions/v-/vulkan-validationlayers.json new file mode 100644 index 00000000000000..cbe9899c59a129 --- /dev/null +++ b/versions/v-/vulkan-validationlayers.json @@ -0,0 +1,29 @@ +{ + "versions": [ + { + "git-tree": "93913bad76f726fbd8cd239ce8227db3245b2de7", + "version": "1.3.296.0", + "port-version": 0 + }, + { + "git-tree": "08ea5f84250843428fab203e3f3bc59bc1502aec", + "version": "1.3.290.0", + "port-version": 0 + }, + { + "git-tree": "45f0b25ccd24fa502014a9333f68ae9c3d844300", + "version": "1.3.280.0", + "port-version": 0 + }, + { + "git-tree": "9e3c7cb8b034a637486a7a2fb1c695771170cb5d", + "version": "1.3.275.0", + "port-version": 0 + }, + { + "git-tree": "993862940154ca8e6692e31ad7387261566ca757", + "version": "1.3.268.0", + "port-version": 0 + } + ] +} diff --git a/versions/v-/vulkan.json b/versions/v-/vulkan.json index dcd62d95bd888f..db9b05d552637e 100644 --- a/versions/v-/vulkan.json +++ b/versions/v-/vulkan.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "3e8d64ec799440b97c7151f97dd00a53e8e1b5ea", + "version-date": "2023-12-17", + "port-version": 0 + }, + { + "git-tree": "27c107c7bd16ff68d2c9da45b0020713d4b2ea03", + "version": "1.3.268.0", + "port-version": 0 + }, + { + "git-tree": "ea62236a3c91051f5ccb340442b60a026bf160c6", + "version": "1.1.82.1", + "port-version": 6 + }, + { + "git-tree": "80d4793fe3882fca0afcb470183f404d97c22981", + "version": "1.1.82.1", + "port-version": 5 + }, + { + "git-tree": "a0810feaa193deb10db91cd9cfe727a13fba5b84", + "version": "1.1.82.1", + "port-version": 4 + }, + { + "git-tree": "bb172f7bc0075f17c4b1c9f1068adfbb2bc4b3a8", + "version": "1.1.82.1", + "port-version": 3 + }, { "git-tree": "693b2d999097790fec95ae3dae5d3b9054052d57", "version-string": "1.1.82.1", diff --git a/versions/v-/vvenc.json b/versions/v-/vvenc.json new file mode 100644 index 00000000000000..1d0185adf3ee41 --- /dev/null +++ b/versions/v-/vvenc.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "35b2b999edf804e918aa499cbc108886dc7d528f", + "version": "1.7.0", + "port-version": 0 + } + ] +} diff --git a/versions/v-/vxl.json b/versions/v-/vxl.json index b6a8542616ac85..cf5c079f0b4d2c 100644 --- a/versions/v-/vxl.json +++ b/versions/v-/vxl.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "5678400bc3c92ba662f6678f51dc6ee1e1d6ece0", + "version": "3.5.0", + "port-version": 0 + }, + { + "git-tree": "53a9a629f70fb7bb7e488b889b1608eac9d3411e", + "version": "2.0.2", + "port-version": 7 + }, + { + "git-tree": "e95b8d14bcd34f4aa98ba08d85af98b14911d40b", + "version": "2.0.2", + "port-version": 6 + }, + { + "git-tree": "63c0db04d12a2dbe25a0ec754983ca25415e3b38", + "version": "2.0.2", + "port-version": 5 + }, + { + "git-tree": "7a84f7e74335e755ba16066fa148e3d30a9d5af5", + "version": "2.0.2", + "port-version": 4 + }, { "git-tree": "dd1be33b316bf4d081b89e1dd4a729ddfc09a8a6", "version-string": "2.0.2", diff --git a/versions/w-/wabt.json b/versions/w-/wabt.json new file mode 100644 index 00000000000000..9ae1231f2a3dee --- /dev/null +++ b/versions/w-/wabt.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "65511e5727b5f54cb654fd7991080ff7a7f58fc1", + "version": "1.0.36", + "port-version": 0 + } + ] +} diff --git a/versions/w-/wampcc.json b/versions/w-/wampcc.json index 6c5eb55af194d3..9578ec2828bea8 100644 --- a/versions/w-/wampcc.json +++ b/versions/w-/wampcc.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "69c3d159720746a5321085dab7b543c1c95eed85", + "version-date": "2019-09-04", + "port-version": 5 + }, + { + "git-tree": "acfd463862ba55ebabe1f0b0105da56b965d5b90", + "version-date": "2019-09-04", + "port-version": 4 + }, + { + "git-tree": "1f712e2c2cd060bb7ee6888b8c00cd3f0cd4a937", + "version-date": "2019-09-04", + "port-version": 3 + }, { "git-tree": "00037d098a709bf36797f4cc768b5e62ad4db387", "version-string": "2019-09-04", diff --git a/versions/w-/wangle.json b/versions/w-/wangle.json index 80d9cd9a5f87c4..1c783f0a8c33bd 100644 --- a/versions/w-/wangle.json +++ b/versions/w-/wangle.json @@ -1,5 +1,180 @@ { "versions": [ + { + "git-tree": "d6d929dae4453cfa7e65250eebea67d2b481a74f", + "version-string": "2024.11.04.00", + "port-version": 0 + }, + { + "git-tree": "61456e6252285306ec84c85226f09e4449a41311", + "version-string": "2024.10.28.00", + "port-version": 0 + }, + { + "git-tree": "b45f0c4263997a88d18dd446751bc958fffd7a74", + "version-string": "2024.10.21.00", + "port-version": 0 + }, + { + "git-tree": "fd0245e857537422c82545bc8f1f2c1a51fb1f42", + "version-string": "2024.10.14.00", + "port-version": 0 + }, + { + "git-tree": "dce0e6d225710b3ecd5811bb83d804ea740281c0", + "version-string": "2024.10.07.00", + "port-version": 0 + }, + { + "git-tree": "b3251636a753439c991c79c231043f2da637df24", + "version-string": "2024.09.30.00", + "port-version": 0 + }, + { + "git-tree": "c1530a38079e8d52584830e8bfa29cf6a53b88ce", + "version-string": "2024.09.23.00", + "port-version": 0 + }, + { + "git-tree": "09630b54809fdfa982f3b58f9df2043c9d81fda0", + "version-string": "2024.09.16.00", + "port-version": 0 + }, + { + "git-tree": "9f52e52bad681c510e408e3a62c6cf96d300e1bf", + "version-string": "2024.09.09.00", + "port-version": 0 + }, + { + "git-tree": "24b95da00b642b65da6a4a35ddda85867d146362", + "version-string": "2024.09.02.00", + "port-version": 0 + }, + { + "git-tree": "f430127a29771f8dbe2456d084d405f44ee57259", + "version-string": "2024.08.26.00", + "port-version": 0 + }, + { + "git-tree": "8cd95b2c9cb709a70438dd4e91bd3778ec0e8aae", + "version-string": "2024.08.19.00", + "port-version": 0 + }, + { + "git-tree": "5b6429dededc1cd1531f8cbcf2b75d2d27e8d40f", + "version-string": "2024.08.05.00", + "port-version": 0 + }, + { + "git-tree": "2cb33694db25f9d7053d0d7bc79b93613917cb6f", + "version-string": "2024.07.29.00", + "port-version": 0 + }, + { + "git-tree": "c6b19f956fa1197c930a5d29a64ea0342b4dd0b0", + "version-string": "2024.07.22.00", + "port-version": 0 + }, + { + "git-tree": "0abc657836142d176e017531878df2d84f92dfda", + "version-string": "2024.07.15.00", + "port-version": 0 + }, + { + "git-tree": "bdf3a7df52ec8d1232c6df401995a503fa1fdebe", + "version-string": "2024.07.08.00", + "port-version": 0 + }, + { + "git-tree": "705591be974122dab4d03de9a78ccc23868d7e22", + "version-string": "2024.07.01.00", + "port-version": 0 + }, + { + "git-tree": "23d8495622ba6ccb533aac74b17743991838f6cc", + "version-string": "2024.06.24.00", + "port-version": 0 + }, + { + "git-tree": "de94a9d6d60bff51bd7131e03a13c7358ba674f3", + "version-string": "2024.06.17.00", + "port-version": 0 + }, + { + "git-tree": "64f75bdd3a1dcad6b198bb6b6b9f14cae5b3f427", + "version-string": "2024.06.10.00", + "port-version": 0 + }, + { + "git-tree": "457ef51e96858e49236ee428d0cc6a31130378f5", + "version-string": "2024.06.03.00", + "port-version": 0 + }, + { + "git-tree": "1ac73c283513debfb15906a9a9c2be036a15768c", + "version-string": "2024.05.27.00", + "port-version": 0 + }, + { + "git-tree": "a8bad0b0011af20a5da9294392c26ff70f04e331", + "version-string": "2024.05.20.00", + "port-version": 0 + }, + { + "git-tree": "32f031078ffb85d73b0cfaf1f792c7d4622885aa", + "version-string": "2024.05.06.00", + "port-version": 0 + }, + { + "git-tree": "2d8f7586693d5d0f27a8b2a04d8a25374ac84299", + "version-string": "2024.05.02.00", + "port-version": 0 + }, + { + "git-tree": "e4a19ce3d98ada4dbd7857f7a7c60e68e1da9fe9", + "version-string": "2024.04.22.00", + "port-version": 0 + }, + { + "git-tree": "3c725fdec0c58cd624a8860320c560427ab2ce00", + "version-string": "2024.04.15.00", + "port-version": 0 + }, + { + "git-tree": "efa950ad690a3f10060fe5c09cfea6a55201736a", + "version-string": "2024.01.01.00", + "port-version": 0 + }, + { + "git-tree": "ff239f5d33f181256ff31bbb5cfc0bdc7329937c", + "version-string": "2023.10.02.00", + "port-version": 0 + }, + { + "git-tree": "105b20279ba475028db9848e6acc0950843e103c", + "version-string": "2023.07.03.00", + "port-version": 0 + }, + { + "git-tree": "05744fe658f891ca87fd5cdad73a382ace640bed", + "version-string": "2023.05.15.00", + "port-version": 0 + }, + { + "git-tree": "e79739dcf42e3dd4d0e32c595b27ece48c762bdd", + "version-string": "2022.03.21.00", + "port-version": 1 + }, + { + "git-tree": "6f0fec69eddf934964ee77b9923f68da2c3c7724", + "version-string": "2022.03.21.00", + "port-version": 0 + }, + { + "git-tree": "387fe8f00443c17cf01fe0ebc235dd8cc5dd3f03", + "version-string": "2022.01.31.00", + "port-version": 0 + }, { "git-tree": "070f35ba95d1f0b817f225896daa7bd48ce3e47d", "version-string": "2021.06.14.00", diff --git a/versions/w-/wasmedge.json b/versions/w-/wasmedge.json new file mode 100644 index 00000000000000..405bba78f027d4 --- /dev/null +++ b/versions/w-/wasmedge.json @@ -0,0 +1,39 @@ +{ + "versions": [ + { + "git-tree": "2284d35f16fb7ae212ac442dfb0a98d2dc709981", + "version": "0.13.5", + "port-version": 2 + }, + { + "git-tree": "45086bbec78c8152a37b5c487e103a4fd838b17a", + "version": "0.13.5", + "port-version": 1 + }, + { + "git-tree": "fdf400cacc3fafd5260b1bf7bc097a2e44160d00", + "version": "0.13.5", + "port-version": 0 + }, + { + "git-tree": "1c5d407c35a142f50bf1a79d7a720d8df43b54ec", + "version": "0.12.1", + "port-version": 1 + }, + { + "git-tree": "053400dd62ab5a02842f107aaad7dff7fdeb0a40", + "version": "0.12.1", + "port-version": 0 + }, + { + "git-tree": "a13dbbe58cedd77daae5f42016df4f74101c34b0", + "version-semver": "0.12.0-alpha.1", + "port-version": 1 + }, + { + "git-tree": "8f45668b8b49bb5ac4cefd31ee7e41abddc15107", + "version-semver": "0.12.0-alpha.1", + "port-version": 0 + } + ] +} diff --git a/versions/w-/wavelib.json b/versions/w-/wavelib.json index dc7b8096d52dae..856f5431832793 100644 --- a/versions/w-/wavelib.json +++ b/versions/w-/wavelib.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "d8428a438c8eaf72dae62ada2a5dd3ddc58ca1ed", + "version-date": "2021-11-26", + "port-version": 0 + }, { "git-tree": "606ab10437c3dbfcd902fdedd5599dca471a6dde", "version-date": "2021-08-10", diff --git a/versions/w-/wavpack.json b/versions/w-/wavpack.json index 89722b850f63bc..3d7946c749d7be 100644 --- a/versions/w-/wavpack.json +++ b/versions/w-/wavpack.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "a761d9ea9e181d39ee982c68be01ad8fecce6f16", + "version": "5.7.0", + "port-version": 0 + }, + { + "git-tree": "7f568a69d6cfea01660bacc223ad2f5c61063a32", + "version": "5.6.0", + "port-version": 2 + }, + { + "git-tree": "d58b3734d0a42c7309216ade0432f7787fbd6ff5", + "version": "5.6.0", + "port-version": 1 + }, + { + "git-tree": "040113ae230d1d94918ce7495157b1d404589a8b", + "version": "5.6.0", + "port-version": 0 + }, + { + "git-tree": "36c8b50ac4693a68a3ecceea8e96bb1abe852089", + "version": "5.5.0", + "port-version": 0 + }, + { + "git-tree": "39c514f313b4bc2fc7af0f3a889425bb78aca9e3", + "version": "5.4.0", + "port-version": 2 + }, + { + "git-tree": "77b8c9ab85776abb2d049d562db7350525ddf7e2", + "version": "5.4.0", + "port-version": 1 + }, { "git-tree": "ba245d1ac0cf8e5024feca18df32365ceed6a402", "version": "5.4.0", diff --git a/versions/w-/wayland-protocols.json b/versions/w-/wayland-protocols.json new file mode 100644 index 00000000000000..dd861e6efe6cff --- /dev/null +++ b/versions/w-/wayland-protocols.json @@ -0,0 +1,24 @@ +{ + "versions": [ + { + "git-tree": "4f541a93fca9beb61d50adbcfc375b746997cd7c", + "version": "1.31", + "port-version": 1 + }, + { + "git-tree": "a47f6381ef380391595319d483f3e81098fce826", + "version": "1.31", + "port-version": 0 + }, + { + "git-tree": "9d0a9ad9c309ad60b1d8d2586ecbf269d65bd977", + "version": "1.27", + "port-version": 0 + }, + { + "git-tree": "c50a34c552f4b5bc2b867c5732ad0c27cfa8996a", + "version": "1.23", + "port-version": 0 + } + ] +} diff --git a/versions/w-/wayland.json b/versions/w-/wayland.json new file mode 100644 index 00000000000000..e7b97fbd46ad07 --- /dev/null +++ b/versions/w-/wayland.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "7a320b0e7a8409b2a369eaf7b613bfc738835cc5", + "version": "1.21.0", + "port-version": 1 + }, + { + "git-tree": "638381423adec9c24b18a622ef02d1f75f102428", + "version": "1.21.0", + "port-version": 0 + }, + { + "git-tree": "353490d29b62e597126db445b5f2a49301002f5b", + "version": "1.19.0", + "port-version": 0 + } + ] +} diff --git a/versions/w-/wcslib.json b/versions/w-/wcslib.json new file mode 100644 index 00000000000000..ac7dbb01608c9a --- /dev/null +++ b/versions/w-/wcslib.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "2e33104b54c3db79012234ded4db319a3464885b", + "version": "7.12", + "port-version": 0 + }, + { + "git-tree": "a68a2412a39e7458698f2e4110d8a50dc8619c96", + "version": "8.2.1", + "port-version": 0 + } + ] +} diff --git a/versions/w-/websocketpp.json b/versions/w-/websocketpp.json index da556f2aaa558e..9e6fad9147a6ff 100644 --- a/versions/w-/websocketpp.json +++ b/versions/w-/websocketpp.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "eb46cff6f9a23caefbc56ac8089d1fbee523e13e", + "version": "0.8.2", + "port-version": 3 + }, + { + "git-tree": "70d3b037559f580fa52bc50bb2dc26e58f5107d9", + "version": "0.8.2", + "port-version": 2 + }, { "git-tree": "495a31980417d3ca202b50c1951012d699af21f6", "version": "0.8.2", diff --git a/versions/w-/webthing-cpp.json b/versions/w-/webthing-cpp.json new file mode 100644 index 00000000000000..a2f50a6f7eca34 --- /dev/null +++ b/versions/w-/webthing-cpp.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "478564ecb6732d9d2f6dde40ca8ff122f6dabe00", + "version": "1.0.5", + "port-version": 0 + } + ] +} diff --git a/versions/w-/webview2.json b/versions/w-/webview2.json new file mode 100644 index 00000000000000..90ff0824ed3046 --- /dev/null +++ b/versions/w-/webview2.json @@ -0,0 +1,24 @@ +{ + "versions": [ + { + "git-tree": "34a7646d266b69d0ed89757d83d56757e6e93507", + "version": "1.0.2277.86", + "port-version": 0 + }, + { + "git-tree": "5cd32d80f7fd65a498507ca2de77f8ce5449dd30", + "version": "1.0.2088.41", + "port-version": 0 + }, + { + "git-tree": "8f620381c9d12e72ae72e693571bc98ab82510da", + "version": "1.0.1210.39", + "port-version": 1 + }, + { + "git-tree": "67a13efe8865489439c423563ee9fdaecf8baab1", + "version": "1.0.1210.39", + "port-version": 0 + } + ] +} diff --git a/versions/w-/wepoll.json b/versions/w-/wepoll.json index 1dc840347d1009..d5c7034f0c3f19 100644 --- a/versions/w-/wepoll.json +++ b/versions/w-/wepoll.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "83177ec0e0684dc043f5a7f7f800d1c8c8df47d9", + "version": "1.5.8", + "port-version": 3 + }, + { + "git-tree": "ece0a454c25f5fba81265f1bc66bae4036efdcec", + "version-string": "1.5.8", + "port-version": 2 + }, { "git-tree": "35d772a24598836d3b2dffa94f152d2f143117b8", "version-string": "1.5.8", diff --git a/versions/w-/wg21-linear-algebra.json b/versions/w-/wg21-linear-algebra.json new file mode 100644 index 00000000000000..3694ce33176131 --- /dev/null +++ b/versions/w-/wg21-linear-algebra.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "ae6b649275fdfaa2eba5520e9a2dd6b45c1b8db2", + "version": "0.7.3", + "port-version": 1 + }, + { + "git-tree": "85073707ba15d2e60bdcf7e7f0c513d6bebe6332", + "version": "0.7.3", + "port-version": 0 + }, + { + "git-tree": "d3968b4096fba4dbd1189fb9b7b1d33ba562fdc7", + "version": "0.7.2", + "port-version": 0 + } + ] +} diff --git a/versions/w-/wg21-sg14.json b/versions/w-/wg21-sg14.json index 8b620cc22cc6f1..9873b95c0ff151 100644 --- a/versions/w-/wg21-sg14.json +++ b/versions/w-/wg21-sg14.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "f7477a801b9a1dfa1adcf2c59d486b0c3e602de3", + "version-date": "2019-08-13", + "port-version": 2 + }, { "git-tree": "2f11507c370b719e1a17ced7ab2dd0af19fe47d4", "version-string": "2019-08-13", diff --git a/versions/w-/wil.json b/versions/w-/wil.json index 7ed0118fca0359..733e52efcb566a 100644 --- a/versions/w-/wil.json +++ b/versions/w-/wil.json @@ -1,5 +1,55 @@ { "versions": [ + { + "git-tree": "b9cb71d01ed196fdfae55fda3d6b0fb9f6a469fe", + "version": "1.0.240803.1", + "port-version": 0 + }, + { + "git-tree": "500a409fc60e5a27c68778c4e3090d1fb8e0224c", + "version-date": "2024-01-22", + "port-version": 0 + }, + { + "git-tree": "39b5070b1e40ec7b9333c2fbb88941beef73155f", + "version-date": "2023-10-28", + "port-version": 0 + }, + { + "git-tree": "1305125361ca7587fdcdd0caac7609c15a94e48f", + "version-date": "2023-08-24", + "port-version": 1 + }, + { + "git-tree": "ddb021c58bdc3c24a0440d2e6f808797cd698bf8", + "version-date": "2023-08-24", + "port-version": 0 + }, + { + "git-tree": "8e96d6798de6842dc009f957172841b8fcf711d7", + "version-date": "2023-04-11", + "port-version": 0 + }, + { + "git-tree": "15b6edcd080a9c2dab9a62a7d4a029b33b835f08", + "version-date": "2023-02-02", + "port-version": 0 + }, + { + "git-tree": "1481b7907b914288a49773105eeeabaa9b4a6385", + "version-date": "2022-09-23", + "port-version": 0 + }, + { + "git-tree": "c918f3ae742f41c096f5758afd5af98fe7a194b5", + "version-date": "2021-12-25", + "port-version": 0 + }, + { + "git-tree": "287e04f5640f1793bdb27bc477dea1ca0e727961", + "version-date": "2021-08-03", + "port-version": 2 + }, { "git-tree": "fe6538eb3c7260ca155c82808519426a280e42e5", "version-string": "2021-08-03", diff --git a/versions/w-/wildmidi.json b/versions/w-/wildmidi.json index 24cb0fe0a37464..249cb0cd03c539 100644 --- a/versions/w-/wildmidi.json +++ b/versions/w-/wildmidi.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "a0da0fad8cf43fc4534ae5fc11060437582fa6b8", + "version": "0.4.5", + "port-version": 0 + }, { "git-tree": "28dabf2a1d7a07e567c4d6a0b482d44a4994d17b", "version": "0.4.4", diff --git a/versions/w-/wincrypt.json b/versions/w-/wincrypt.json index f6a6f6867d2527..8448b32dce25d7 100644 --- a/versions/w-/wincrypt.json +++ b/versions/w-/wincrypt.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "67bd745832f348a85a09259db83dd4d6db5c8843", + "version": "0.0", + "port-version": 4 + }, { "git-tree": "0ab415a2d32d39cf7dd59d5fd3ca4bf544c42f51", "version-string": "0.0", diff --git a/versions/w-/winpcap.json b/versions/w-/winpcap.json index 9d8a244b8fdc06..194f9641a64828 100644 --- a/versions/w-/winpcap.json +++ b/versions/w-/winpcap.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "1a9aab1255bdc3aa23acbc3cbb89c175d56fdf9b", + "version": "4.1.3", + "port-version": 12 + }, + { + "git-tree": "fa00dc5de34d5076f7d7bad06b649b6ce4412b68", + "version": "4.1.3", + "port-version": 11 + }, + { + "git-tree": "93484c8257a6ac5a90f5d540d143a6f4fe5968f2", + "version": "4.1.3", + "port-version": 10 + }, + { + "git-tree": "5444737a0b6d0d6a1c5129ae7435f52ac5f6bcb4", + "version": "4.1.3", + "port-version": 9 + }, + { + "git-tree": "85d70a721afa26cf8ff26aec62fd04a16f8e6f7b", + "version": "4.1.3", + "port-version": 8 + }, + { + "git-tree": "8b3f6f5a5e85be5df29d86d4e8e1621a9f3369f4", + "version": "4.1.3", + "port-version": 7 + }, { "git-tree": "12c456f2d3fc78f821ff85ac7bb55d89ce140ed6", "version": "4.1.3", diff --git a/versions/w-/winpty.json b/versions/w-/winpty.json new file mode 100644 index 00000000000000..3ee29ec3b893e6 --- /dev/null +++ b/versions/w-/winpty.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "5e8c617e9c5e12b7e760808bdea82f3c3ccc6153", + "version": "0.4.3", + "port-version": 0 + } + ] +} diff --git a/versions/w-/winreg.json b/versions/w-/winreg.json index de6e0e42d9a790..b1b0cf99017fb5 100644 --- a/versions/w-/winreg.json +++ b/versions/w-/winreg.json @@ -1,5 +1,60 @@ { "versions": [ + { + "git-tree": "74833e1a8a84195835e2baa33f409c60a81ddf28", + "version": "6.3.2", + "port-version": 0 + }, + { + "git-tree": "0fa2df0dae16abe346b4c7d2a5e00703456ef9c4", + "version": "6.3.0", + "port-version": 0 + }, + { + "git-tree": "58ee10b34f36c56aa5fb1876c0b70685dc6e0b09", + "version": "6.2.0", + "port-version": 0 + }, + { + "git-tree": "6acea55c34f2a89b2ed2d2b9a335e4f074dcbb40", + "version": "6.1.1", + "port-version": 0 + }, + { + "git-tree": "c2ca5ed4ead6f69d105bd677fc3acaeba4be8879", + "version": "6.1.0", + "port-version": 0 + }, + { + "git-tree": "d6faf66fd8bb6b7d12b74e2084cbf15f8628b531", + "version": "6.0.0", + "port-version": 0 + }, + { + "git-tree": "ec4168b0b4ceaece6ee9d24b5bcc8c4ed8897db7", + "version": "5.1.1", + "port-version": 0 + }, + { + "git-tree": "cdcb9cb9581869670509de4d2928b8821038d962", + "version": "5.1.0", + "port-version": 0 + }, + { + "git-tree": "a355bab9791bca02dc9ad9bc2b61f6ba72486a23", + "version": "5.0.1", + "port-version": 0 + }, + { + "git-tree": "a788126cfabb1299a7f43933fec7ced6074a7939", + "version": "5.0.0", + "port-version": 0 + }, + { + "git-tree": "303a59adfcedbd8c8acdc053ec6b1139d056ecae", + "version": "4.1.2", + "port-version": 1 + }, { "git-tree": "000a828ce0f4abd8b4732c7ca7e819e25e82144b", "version": "4.1.2", diff --git a/versions/w-/winsock2.json b/versions/w-/winsock2.json index ca48a65da4d0d5..2bfb20b28c3bdc 100644 --- a/versions/w-/winsock2.json +++ b/versions/w-/winsock2.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "f9afad2b0a036847b45f884809b16d804eae56cf", + "version": "0.0", + "port-version": 5 + }, + { + "git-tree": "f6fb217f4eea375e9691dbde28c72c01dddd0c9f", + "version": "0.0", + "port-version": 4 + }, { "git-tree": "64b2e9218e0f0a50655510451914a5e532613795", "version-string": "0.0", diff --git a/versions/w-/winsparkle.json b/versions/w-/winsparkle.json new file mode 100644 index 00000000000000..748c844670fd4d --- /dev/null +++ b/versions/w-/winsparkle.json @@ -0,0 +1,24 @@ +{ + "versions": [ + { + "git-tree": "033cf81cd03bc5533ddb7e57d65f704db078ba44", + "version": "0.8.1", + "port-version": 0 + }, + { + "git-tree": "4c6c0404e941beb4139069e5a5cb03e7e59655a4", + "version": "0.7.0", + "port-version": 2 + }, + { + "git-tree": "8f1aed9d3a5aac4c967bc6e8be9b8bbe0ce09a76", + "version": "0.7.0", + "port-version": 1 + }, + { + "git-tree": "0d756f506e6a79a2a79706f9080c05b45e7df882", + "version": "0.7.0", + "port-version": 0 + } + ] +} diff --git a/versions/w-/wintoast.json b/versions/w-/wintoast.json index 712905b577b5be..6ce73985a21b9b 100644 --- a/versions/w-/wintoast.json +++ b/versions/w-/wintoast.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "f0c791ec550f242764df15235770a4767c4e917a", + "version": "1.3.0", + "port-version": 0 + }, + { + "git-tree": "7e0b224e777c1a12676204204a97636e3639c4c1", + "version": "1.2.0", + "port-version": 2 + }, { "git-tree": "186a3b60dc0a76ecb0b1a5a2147306dbfe734797", "version-string": "1.2.0", diff --git a/versions/w-/wmipp.json b/versions/w-/wmipp.json new file mode 100644 index 00000000000000..ba924d697995fa --- /dev/null +++ b/versions/w-/wmipp.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "1d38c4e313e35c7c38cf884bd6de016de19e3918", + "version": "1.3.0", + "port-version": 0 + }, + { + "git-tree": "62fe399df24f53348677d6ee7af427a6d0018aaf", + "version": "1.2.0", + "port-version": 0 + }, + { + "git-tree": "70a7cc2553e70e4a9e6f50110b0e8b6eedb8c0f9", + "version": "1.0.0", + "port-version": 0 + } + ] +} diff --git a/versions/w-/woff2.json b/versions/w-/woff2.json index 4f2db2e028bf60..60f4d2454cf83f 100644 --- a/versions/w-/woff2.json +++ b/versions/w-/woff2.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "fbd2207ad0ad1e7e52b421b86f96deff9ed7ec65", + "version": "1.0.2", + "port-version": 4 + }, + { + "git-tree": "b60f5207764279d61a2bb9f35e4881c4af2a6b2c", + "version": "1.0.2", + "port-version": 3 + }, { "git-tree": "5055934b6226755b84d652776a1f0fa1d116b559", "version-string": "1.0.2", diff --git a/versions/w-/wolfmqtt.json b/versions/w-/wolfmqtt.json new file mode 100644 index 00000000000000..5cf27d726fb307 --- /dev/null +++ b/versions/w-/wolfmqtt.json @@ -0,0 +1,34 @@ +{ + "versions": [ + { + "git-tree": "9674399e0c8b210676c8df4bcc19a33ef3be1042", + "version": "1.19.0", + "port-version": 0 + }, + { + "git-tree": "d01462c764790a2ab97815a9f16a40186b62de14", + "version": "1.16.0", + "port-version": 0 + }, + { + "git-tree": "b17cfe13abcf334e7f4563d5c5699c4b32078e98", + "version": "1.15.0", + "port-version": 0 + }, + { + "git-tree": "37b49de24795f47490a870aa721aceeb545a07ce", + "version": "1.14.1", + "port-version": 0 + }, + { + "git-tree": "3cc2bb0123d6f9ea038bf52190ba1c6c2154b02b", + "version": "1.14.0", + "port-version": 0 + }, + { + "git-tree": "bc6b26e4254f8938dc9db7f7b5dc84958a45c877", + "version": "1.13.0", + "port-version": 0 + } + ] +} diff --git a/versions/w-/wolfssl.json b/versions/w-/wolfssl.json new file mode 100644 index 00000000000000..73141286b3fd5d --- /dev/null +++ b/versions/w-/wolfssl.json @@ -0,0 +1,84 @@ +{ + "versions": [ + { + "git-tree": "565947ec880bd10a37b00c0f5cb5eb8e0ee48655", + "version": "5.7.4", + "port-version": 0 + }, + { + "git-tree": "2b727cbf6fb63837145ccca10c947805eaaf21a9", + "version": "5.7.2", + "port-version": 3 + }, + { + "git-tree": "1e1315afd8abfaee90ea4b173ac95594208eff46", + "version": "5.7.2", + "port-version": 2 + }, + { + "git-tree": "3145f691d33b3e979a5466f29a3a46c887a0c510", + "version": "5.7.2", + "port-version": 1 + }, + { + "git-tree": "eb293c6d9a0ff4ce3a4d4353172a9b79aac32027", + "version": "5.7.2", + "port-version": 0 + }, + { + "git-tree": "60802b6ec5e1284242e1b501a1eed34033bbdc35", + "version": "5.7.0", + "port-version": 1 + }, + { + "git-tree": "45cca8d8dd8cf4b0310f1c4bbb84c9332cdba032", + "version": "5.7.0", + "port-version": 0 + }, + { + "git-tree": "c03fac0a968b9bdba85d3baba48695e82e1e297d", + "version": "5.6.6", + "port-version": 0 + }, + { + "git-tree": "fb8d59a3965864a1330fa99418eef1df5c354a50", + "version": "5.6.4", + "port-version": 1 + }, + { + "git-tree": "65cc018a18a436969ef0fa7ff531d83994326f43", + "version": "5.6.4", + "port-version": 0 + }, + { + "git-tree": "b1ed14c731f84f9a8f885e9bf40898c318bd4986", + "version": "5.6.3", + "port-version": 1 + }, + { + "git-tree": "e809eb7090657113c8f628ce22975c7f3bd3dbfd", + "version": "5.6.3", + "port-version": 0 + }, + { + "git-tree": "71789bbc13920d34e74d8bc23af6d5d480e7b610", + "version": "5.5.4", + "port-version": 0 + }, + { + "git-tree": "051a3dc2339554716a11e8e90e9ecea1c366ad31", + "version": "5.5.0", + "port-version": 0 + }, + { + "git-tree": "6b522a6326a126579cee52953fe42f597f301a22", + "version": "5.4.0", + "port-version": 0 + }, + { + "git-tree": "4dee782f3dda81bc4a72959bcda6d1377a24cbaa", + "version": "5.3.0", + "port-version": 0 + } + ] +} diff --git a/versions/w-/wolftpm.json b/versions/w-/wolftpm.json new file mode 100644 index 00000000000000..12eea2ce7b30cf --- /dev/null +++ b/versions/w-/wolftpm.json @@ -0,0 +1,44 @@ +{ + "versions": [ + { + "git-tree": "67c5f74b090483fa2a19b0752493ef18b0021159", + "version": "3.4.0", + "port-version": 0 + }, + { + "git-tree": "d9081fc305de404420870428f36c34713882c8ea", + "version": "3.2.0", + "port-version": 0 + }, + { + "git-tree": "fe055978dbd963b2969e104333a2b79d49ff6cee", + "version": "2.7.0", + "port-version": 2 + }, + { + "git-tree": "d6849bfc65dbf33f5d51d9bc8c7a4e365a1d3553", + "version": "2.7.0", + "port-version": 1 + }, + { + "git-tree": "c7c2224865bfcc21dc98ab68f0b53ce5ca07e640", + "version": "2.7.0", + "port-version": 0 + }, + { + "git-tree": "3f07a1e1aa64eb12e407a202a68370a4e08e9af9", + "version": "2.6.0", + "port-version": 0 + }, + { + "git-tree": "80998c4f2e20341ac7195103ba9581a8c8e0cd68", + "version": "2.5.0", + "port-version": 0 + }, + { + "git-tree": "647740c5ad277ccf2d910605595118087f3bc342", + "version": "2.4.0", + "port-version": 0 + } + ] +} diff --git a/versions/w-/wordnet.json b/versions/w-/wordnet.json index 63963804eeb973..90624a6e9619a2 100644 --- a/versions/w-/wordnet.json +++ b/versions/w-/wordnet.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "c34a2cc15fdbba26554bfebc0142e7de7cb3264a", + "version": "3.0", + "port-version": 3 + }, + { + "git-tree": "ac5ddd0978d9192feed17e2c643d7c8c9451064a", + "version-string": "3.0", + "port-version": 2 + }, { "git-tree": "1302f457b9e1e102c1c3cf190c9fc92da9da1272", "version-string": "3.0", diff --git a/versions/w-/workflow.json b/versions/w-/workflow.json index 67609cd7f7ed22..171a16c6feef3c 100644 --- a/versions/w-/workflow.json +++ b/versions/w-/workflow.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "6b72e08d163acabe70e7804d7b3acc719c406ebf", + "version": "0.10.9", + "port-version": 0 + }, + { + "git-tree": "6f084c7076efb69884874d9cccadf7317c42b370", + "version": "0.10.5", + "port-version": 1 + }, + { + "git-tree": "2e673ba0fd8857c0d13f6137e32b3ce5cfda65d9", + "version": "0.9.7", + "port-version": 1 + }, { "git-tree": "864387c239d4b0fadabfc4b314564d75c9bc07bc", "version": "0.9.7", diff --git a/versions/w-/wpilib.json b/versions/w-/wpilib.json index 9f7b2a523e28ea..ebaaa231346ada 100644 --- a/versions/w-/wpilib.json +++ b/versions/w-/wpilib.json @@ -1,5 +1,30 @@ { "versions": [ + { + "git-tree": "2fcd17f46e3a3690ef340ba7da121efac75e28cc", + "version-date": "2023-08-24", + "port-version": 1 + }, + { + "git-tree": "7da141104a256a768fa72c6b3f98104904ebe45e", + "version-date": "2023-08-24", + "port-version": 0 + }, + { + "git-tree": "e62481ee582e81ab3ba9fe7ad99a89fa1671c230", + "version-date": "2020-03-02", + "port-version": 4 + }, + { + "git-tree": "1593dcc61c40d6205be6d47e3623dc6bb3ddbad3", + "version-date": "2020-03-02", + "port-version": 3 + }, + { + "git-tree": "cf10ef63982d54978a85c868d37462ce21643188", + "version-string": "2020.3.2", + "port-version": 2 + }, { "git-tree": "f656633935224ac3005954533294babd766921b1", "version-string": "2020.3.2", diff --git a/versions/w-/wren.json b/versions/w-/wren.json index 98fc8dfc4d6551..565c88763c7aa3 100644 --- a/versions/w-/wren.json +++ b/versions/w-/wren.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "d845edef970204677adb20d8f51acf22b1c9fb00", + "version": "0.4.0", + "port-version": 0 + }, { "git-tree": "558979dc3ff66a524b930d85fbf856679ebd0208", "version-string": "2019-07-01", diff --git a/versions/w-/wt.json b/versions/w-/wt.json index 8fc39c07a13b0a..f92e18add2871c 100644 --- a/versions/w-/wt.json +++ b/versions/w-/wt.json @@ -1,5 +1,50 @@ { "versions": [ + { + "git-tree": "d2c59267e9255c9945e80fc4a87123d23e7f6f27", + "version": "4.10.4", + "port-version": 1 + }, + { + "git-tree": "f6f5be4e2310add242bc08c30ef6887dd3d5d2fa", + "version": "4.10.4", + "port-version": 0 + }, + { + "git-tree": "9246a50b2cb7aaf547b61a4343ab3849e22533e6", + "version": "4.9.1", + "port-version": 2 + }, + { + "git-tree": "9dd116caa8830e2d131b0d3ffbcde1002aa12333", + "version": "4.9.1", + "port-version": 1 + }, + { + "git-tree": "3c2ab01f0b1932d0a5f62632fe26a28ea4a25faa", + "version": "4.9.1", + "port-version": 0 + }, + { + "git-tree": "1617b936bd6c68b1a5e3e316ccc773c405036135", + "version": "4.8.1", + "port-version": 0 + }, + { + "git-tree": "24546bcb3aa44c987d85536d39420e4159d4ad99", + "version": "4.7.1", + "port-version": 0 + }, + { + "git-tree": "0d5d5d96583b44370437e567f086173a2c0ad51e", + "version": "4.6.1", + "port-version": 0 + }, + { + "git-tree": "62d1e8353f693697e3c7346c09afd96e1e6a1031", + "version": "4.5.0", + "port-version": 3 + }, { "git-tree": "1535b49590f6871ba9195f3a712e99ba1da27107", "version-string": "4.5.0", diff --git a/versions/w-/wtl.json b/versions/w-/wtl.json index 394a38ef4992eb..b0448a20bfa333 100644 --- a/versions/w-/wtl.json +++ b/versions/w-/wtl.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "c76ddf631b62e5d0b433859f7798c7ab06050f47", + "version": "10.0.10320", + "port-version": 4 + }, + { + "git-tree": "77302be4bab5f3221389c7948462e15ac941002b", + "version": "10.0.10320", + "port-version": 3 + }, + { + "git-tree": "3345336300f47e924a80d3be0f3fb76c558a54fe", + "version-string": "10.0.10320", + "port-version": 2 + }, { "git-tree": "6d429012165553d38ea4ae45057ce85bb34deb96", "version-string": "10.0.10320", diff --git a/versions/w-/wxchartdir.json b/versions/w-/wxchartdir.json index 6cd71a59b94547..6481816e155bde 100644 --- a/versions/w-/wxchartdir.json +++ b/versions/w-/wxchartdir.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "4a868514047472153d999319f7cfd5d2f9c5af01", + "version": "2.0.0", + "port-version": 2 + }, + { + "git-tree": "2a61292a9c23a9ea0ba1f3ed9035441289bb0da2", + "version": "2.0.0", + "port-version": 1 + }, + { + "git-tree": "84db89440d1592907ba9d7513fb1b99695736caa", + "version": "2.0.0", + "port-version": 0 + }, { "git-tree": "a08e6fa005143547643f47527bb263aca530b715", "version": "1.0.0", diff --git a/versions/w-/wxcharts.json b/versions/w-/wxcharts.json new file mode 100644 index 00000000000000..6804312bdfad21 --- /dev/null +++ b/versions/w-/wxcharts.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "03603fb0a73094f361edd6b4f074b661654a19b2", + "version-date": "2022-07-05", + "port-version": 0 + }, + { + "git-tree": "0d4c30893a28468249d63c0f4c1a1a9e231ac817", + "version-date": "2022-06-16", + "port-version": 0 + }, + { + "git-tree": "b1e9c16349a281b499d1ff50cdee4dd21c4aafec", + "version-date": "2022-04-22", + "port-version": 0 + } + ] +} diff --git a/versions/w-/wxwidgets.json b/versions/w-/wxwidgets.json index d674192ce108db..d9673fe738dd7a 100644 --- a/versions/w-/wxwidgets.json +++ b/versions/w-/wxwidgets.json @@ -1,5 +1,170 @@ { "versions": [ + { + "git-tree": "bb7e54e4bab9652768a7a7d6f2cf37171e48b7cd", + "version": "3.2.6", + "port-version": 0 + }, + { + "git-tree": "98b2c9fc10fef8e61d3b43cc6b7b37ef72eac355", + "version": "3.2.5", + "port-version": 3 + }, + { + "git-tree": "5f1a838731947da96400efcfb971565c8ef32da1", + "version": "3.2.5", + "port-version": 2 + }, + { + "git-tree": "bde0f4d4900b197bce1a65b91f837d883acecda3", + "version": "3.2.5", + "port-version": 1 + }, + { + "git-tree": "2eead33770ca2e56204c0dbf6365e804cb2bfd0e", + "version": "3.2.5", + "port-version": 0 + }, + { + "git-tree": "b8f5b2c77c26aa8a72b0a9053f459c773ce24218", + "version": "3.2.4", + "port-version": 2 + }, + { + "git-tree": "4d0a489a0a24e703960f526ed1c40e8b7ae2a221", + "version": "3.2.4", + "port-version": 1 + }, + { + "git-tree": "b76c48ce396ff7c6e49ec508b7c5bd749fb94fbb", + "version": "3.2.4", + "port-version": 0 + }, + { + "git-tree": "8dfaace5786af8de744ecf9e02622b7b3e39087a", + "version": "3.2.3", + "port-version": 0 + }, + { + "git-tree": "2cbbd8d7a9d521546e8bc9b8957560806c4902e1", + "version": "3.2.2.1", + "port-version": 3 + }, + { + "git-tree": "9f6e3030aa5a9fa6b83099a43a0e98c8c06f0f68", + "version": "3.2.2.1", + "port-version": 2 + }, + { + "git-tree": "73c660df48132ff4b831c5f3445b361476990c70", + "version": "3.2.2.1", + "port-version": 1 + }, + { + "git-tree": "3c0bf69a4eb558abcf43df76b79a84038000190d", + "version": "3.2.2.1", + "port-version": 0 + }, + { + "git-tree": "12b6474f28b37b6ebb29b391fb6ebffd7fc70450", + "version": "3.2.1", + "port-version": 4 + }, + { + "git-tree": "1ed5520b0a093e9c55310732eda81ae0a569a00a", + "version": "3.2.1", + "port-version": 3 + }, + { + "git-tree": "b7b94147f3dfd0c3a6f137121ef874159d2d9c0c", + "version": "3.2.1", + "port-version": 2 + }, + { + "git-tree": "3a640144a98d7909a92ba363114f95bcaff554e5", + "version": "3.2.1", + "port-version": 1 + }, + { + "git-tree": "a113e248e95bf2305a91b4d7c2a93579cc911b15", + "version": "3.2.1", + "port-version": 0 + }, + { + "git-tree": "39e102a05ff8b8e2f8a137b1f3bbe8e44f88a8ad", + "version": "3.2.0", + "port-version": 2 + }, + { + "git-tree": "0d78ddc0e26a382e0eeca82b767dfbed70dda82e", + "version": "3.2.0", + "port-version": 1 + }, + { + "git-tree": "204fda7008c12569ddf44a935b32bbe5df87cef4", + "version": "3.2.0", + "port-version": 0 + }, + { + "git-tree": "2610601e9e585455bc709f29636f79b5ad9382a2", + "version": "3.1.7", + "port-version": 0 + }, + { + "git-tree": "27a68f45cbdc9ab88864c353c7a8b91f76153509", + "version": "3.1.6", + "port-version": 2 + }, + { + "git-tree": "793b49ce7710b440be0a451354614e282e6fc9fa", + "version": "3.1.6", + "port-version": 1 + }, + { + "git-tree": "16d9f0aabf4f0df68bebd7b42ff6005d952f9392", + "version": "3.1.6", + "port-version": 0 + }, + { + "git-tree": "3f891e383d71c7665ba49dcc254d8b2094c00c2b", + "version-semver": "3.1.5", + "port-version": 11 + }, + { + "git-tree": "99203047a716a1b39d06fb93c48daebb4b184141", + "version-semver": "3.1.5", + "port-version": 10 + }, + { + "git-tree": "26ad66271632adb4d00a270a90ad18514025859e", + "version-semver": "3.1.5", + "port-version": 9 + }, + { + "git-tree": "dba058c37782edf771e7a62ae1bef98274c86b9f", + "version-semver": "3.1.5", + "port-version": 8 + }, + { + "git-tree": "9184caa631070403a5fd8c177b56907a313ad197", + "version-semver": "3.1.5", + "port-version": 7 + }, + { + "git-tree": "79ef97e2255a360a5515d0fbdbb839c15bb12548", + "version-semver": "3.1.5", + "port-version": 6 + }, + { + "git-tree": "f12ef0e93d9ca2f6d1c8cb4ad3703d98359abacd", + "version-semver": "3.1.5", + "port-version": 5 + }, + { + "git-tree": "c485515f9004da8092ce9ed1ea3e319fa66a7f77", + "version-semver": "3.1.5", + "port-version": 4 + }, { "git-tree": "dcd0a52fd041f8c7b658a01ec1141f36d77220c6", "version-semver": "3.1.5", diff --git a/versions/w-/wyhash.json b/versions/w-/wyhash.json new file mode 100644 index 00000000000000..236e3a89e13ea9 --- /dev/null +++ b/versions/w-/wyhash.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "db6a885556d3b8f49208ca750d64e21d9d05d568", + "version-date": "2023-12-03", + "port-version": 0 + }, + { + "git-tree": "8dcdcaae8201fe8032032756861acb097af82d1b", + "version-date": "2023-01-25", + "port-version": 0 + }, + { + "git-tree": "630fa73f4c0f907cd3aee92b7b485574a2e59172", + "version-date": "2022-10-12", + "port-version": 0 + } + ] +} diff --git a/versions/x-/x-plane.json b/versions/x-/x-plane.json index 46907fbe4942c4..572bc3d7894af7 100644 --- a/versions/x-/x-plane.json +++ b/versions/x-/x-plane.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "be6ff276d2a18e64a2cf91a50ef1a53d26a33fa8", + "version": "4.0.1", + "port-version": 0 + }, + { + "git-tree": "4f081103e3e99e2d77b5b3124824ad6f0d7410fc", + "version": "3.0.3", + "port-version": 2 + }, + { + "git-tree": "5b49030933a1014e1e897438a29a52fbb163b5f3", + "version": "3.0.3", + "port-version": 1 + }, { "git-tree": "abc8034ffafdac8f5840bc31600af7854c24f6b9", "version-string": "3.0.3", diff --git a/versions/x-/x264.json b/versions/x-/x264.json index 20454b471ef407..862e7076e207ff 100644 --- a/versions/x-/x264.json +++ b/versions/x-/x264.json @@ -1,5 +1,75 @@ { "versions": [ + { + "git-tree": "1e1d8374cc8a7fe139d82433d27e64e972365517", + "version": "0.164.3108", + "port-version": 0 + }, + { + "git-tree": "d6d192464ad7d9b953f43c13b7edcc618ce6e690", + "version": "0.164.3107", + "port-version": 1 + }, + { + "git-tree": "8fdfc4bb17ed8a4942a78dafd2ca5174d0695774", + "version": "0.164.3107", + "port-version": 0 + }, + { + "git-tree": "36ff38fabd741ddef6ccf4c207ef99058383c0bb", + "version": "0.164.3095", + "port-version": 5 + }, + { + "git-tree": "0361283be94126cf5e42a4cf765f700f8f209ea5", + "version": "0.164.3095", + "port-version": 4 + }, + { + "git-tree": "18da69fb69b926e7784135262798356e7b1ee5e4", + "version": "0.164.3095", + "port-version": 3 + }, + { + "git-tree": "4ff53c90cd7222ae9d3e8dc579c1d198715585c2", + "version": "0.164.3095", + "port-version": 2 + }, + { + "git-tree": "16be87b659ccfeaba052e561f3f0a8b1b927c5d0", + "version": "0.164.3095", + "port-version": 1 + }, + { + "git-tree": "e369a0924f6b28e965b0e0c8f35264b7fd5efb7f", + "version": "0.164.3095", + "port-version": 0 + }, + { + "git-tree": "59d158d37c92adf78716bc36f80a82853149e368", + "version-string": "164-5db6aa6cab1b146", + "port-version": 5 + }, + { + "git-tree": "7eea109502309e62a578bcc69811ad0659e00f9d", + "version-string": "164-5db6aa6cab1b146", + "port-version": 4 + }, + { + "git-tree": "6021c139214cb74f8fcc2e89344f05210ea4826d", + "version-string": "164-5db6aa6cab1b146", + "port-version": 3 + }, + { + "git-tree": "c449395a31c61601c5313e4f3e6040bee9c67fde", + "version-string": "164-5db6aa6cab1b146", + "port-version": 2 + }, + { + "git-tree": "8d6c7ba5815a0683a2915df5f95de5d06e938781", + "version-string": "164-5db6aa6cab1b146", + "port-version": 1 + }, { "git-tree": "2280334f1235046e20f80586b7d83893f52b23b7", "version-string": "164-5db6aa6cab1b146", diff --git a/versions/x-/x265.json b/versions/x-/x265.json index bd0e54ac10dd6b..8c5c9fa6a48521 100644 --- a/versions/x-/x265.json +++ b/versions/x-/x265.json @@ -1,5 +1,45 @@ { "versions": [ + { + "git-tree": "89429aa82874053b23e7094d6e57bda7cfe6ab3e", + "version": "3.6", + "port-version": 0 + }, + { + "git-tree": "93b9b05210a7eeeb11abdf3f09ad3f949047ed20", + "version": "3.5", + "port-version": 1 + }, + { + "git-tree": "b234c25f697f72c031c5d243a78be3dbb98c93c2", + "version": "3.5", + "port-version": 0 + }, + { + "git-tree": "8aa499d4919383c463198cedf2bc8cea9b01adff", + "version": "3.4", + "port-version": 10 + }, + { + "git-tree": "aa43c511cf7041c15a3a56b0527124fa5f1640f2", + "version": "3.4", + "port-version": 9 + }, + { + "git-tree": "e47c9f9c25b46dbf26b7db6843e23d6f0d329ddb", + "version": "3.4", + "port-version": 8 + }, + { + "git-tree": "994e11b88e86c790b503ec381185f33833b351f9", + "version": "3.4", + "port-version": 7 + }, + { + "git-tree": "15ee257957dfa5a194cf602c160713369b7c313a", + "version": "3.4", + "port-version": 6 + }, { "git-tree": "3904d5293aad0e38ee7ca93b82182441bb1575ca", "version-string": "3.4", diff --git a/versions/x-/x86-simd-sort.json b/versions/x-/x86-simd-sort.json new file mode 100644 index 00000000000000..ce5e1b6bf54b67 --- /dev/null +++ b/versions/x-/x86-simd-sort.json @@ -0,0 +1,24 @@ +{ + "versions": [ + { + "git-tree": "c330680363901a75d292b1a8ab409285b851638e", + "version": "5.0", + "port-version": 0 + }, + { + "git-tree": "61c4499598f2a99b82aacb241abbb215b51aa31c", + "version": "4.0", + "port-version": 0 + }, + { + "git-tree": "54331ace9e00eeff0f8508317ef48d011a8821bc", + "version": "3.0", + "port-version": 0 + }, + { + "git-tree": "dbe8f88ac8cc85689eb7666fa8beb6d819c4573a", + "version-date": "2023-03-04", + "port-version": 0 + } + ] +} diff --git a/versions/x-/xapian.json b/versions/x-/xapian.json new file mode 100644 index 00000000000000..b217c36e4411e3 --- /dev/null +++ b/versions/x-/xapian.json @@ -0,0 +1,29 @@ +{ + "versions": [ + { + "git-tree": "09d9178c29620d437cfb26264b48e601c694aefd", + "version": "1.4.22", + "port-version": 2 + }, + { + "git-tree": "0a050725d62e180539040589c1691a5ec3974a30", + "version": "1.4.22", + "port-version": 1 + }, + { + "git-tree": "f2da71ae6ceb7c0d2317c1d06f11a302f48f89dd", + "version": "1.4.22", + "port-version": 0 + }, + { + "git-tree": "88d78609c12312fdd2b7260e1c4c1fb3838373b7", + "version": "1.4.21", + "port-version": 1 + }, + { + "git-tree": "e5f0103eea3c5622af1b593bfca64e9045c55cb5", + "version": "1.4.21", + "port-version": 0 + } + ] +} diff --git a/versions/x-/xaudio2redist.json b/versions/x-/xaudio2redist.json index f87be3dcc11cd2..8719347661abae 100644 --- a/versions/x-/xaudio2redist.json +++ b/versions/x-/xaudio2redist.json @@ -1,5 +1,60 @@ { "versions": [ + { + "git-tree": "a92fe4e38d46aa663e8ce588def6df3ce53cbdd5", + "version": "1.2.11", + "port-version": 4 + }, + { + "git-tree": "aa6ba77559dd683ed82dc24204784c5d3c280dae", + "version": "1.2.11", + "port-version": 3 + }, + { + "git-tree": "f6cb8fa89efa0d50385ddfb245b02ea67197b0d6", + "version": "1.2.11", + "port-version": 2 + }, + { + "git-tree": "ea44b309cb33ba705034f328310347d43680d0ee", + "version": "1.2.11", + "port-version": 1 + }, + { + "git-tree": "9fe9f57e0b392108fb66f0ee68186bdb819dedbf", + "version": "1.2.11", + "port-version": 0 + }, + { + "git-tree": "bbabce07404d10a9eec61bc9ed7115683be8a0b0", + "version": "1.2.10", + "port-version": 1 + }, + { + "git-tree": "105a0337f2d46d0c4fa55970f5da88918d818ba9", + "version": "1.2.10", + "port-version": 0 + }, + { + "git-tree": "49a7df46ef685eea76f3775dfebc458117e6c33c", + "version": "1.2.9", + "port-version": 0 + }, + { + "git-tree": "fe3229572bacd0c7076a7a4d710f96e6b3a66a3f", + "version": "1.2.8", + "port-version": 3 + }, + { + "git-tree": "8ae7aaec9ebb9859356736f91710e8d9727d7a81", + "version": "1.2.8", + "port-version": 2 + }, + { + "git-tree": "4fe6eda4ff7a68db79013f5c5632e6e1a87b98e9", + "version": "1.2.8", + "port-version": 1 + }, { "git-tree": "71315ed933daddc996ecb863c39fc178b3f80771", "version-string": "1.2.8", diff --git a/versions/x-/xbitmaps.json b/versions/x-/xbitmaps.json new file mode 100644 index 00000000000000..fb72c03765326e --- /dev/null +++ b/versions/x-/xbitmaps.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "8559532a1b6db036c16c36bb7f46207a8280b976", + "version": "1.1.2", + "port-version": 0 + } + ] +} diff --git a/versions/x-/xbyak.json b/versions/x-/xbyak.json index 480d7d214674f7..8dedfbf921b38d 100644 --- a/versions/x-/xbyak.json +++ b/versions/x-/xbyak.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "ef863d309407104b101b1969358a158976d7fb06", + "version": "7.7", + "port-version": 0 + }, + { + "git-tree": "97a240607626e0b650d49102c0b7a0045433185f", + "version": "7.6", + "port-version": 0 + }, + { + "git-tree": "c72f02ee8e100020f33b6f409cbabeca9fe8b0aa", + "version": "6.73", + "port-version": 0 + }, + { + "git-tree": "9774b99e4f632c777b1f0d1cec57f4918acc591a", + "version": "6.69", + "port-version": 0 + }, + { + "git-tree": "d4441480fab1434594b5441612ae5158c81a6642", + "version": "6.60", + "port-version": 0 + }, + { + "git-tree": "ef05725cf97fc484f475a6db447bc6d503c8d42b", + "version-string": "6.00", + "port-version": 1 + }, { "git-tree": "ca393737aa37584343dc10008000c850f26b0881", "version-string": "6.00", diff --git a/versions/x-/xcb-image.json b/versions/x-/xcb-image.json new file mode 100644 index 00000000000000..4e67e364fe7644 --- /dev/null +++ b/versions/x-/xcb-image.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "b58e6a2e9c723399f786bf4c53ec133baaf3abf2", + "version": "0.4.1", + "port-version": 0 + } + ] +} diff --git a/versions/x-/xcb-keysyms.json b/versions/x-/xcb-keysyms.json new file mode 100644 index 00000000000000..a74a1e51fabe29 --- /dev/null +++ b/versions/x-/xcb-keysyms.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "3cfe91d00cc0022de24c02a2355502d2b9392dd0", + "version": "0.4.1", + "port-version": 0 + } + ] +} diff --git a/versions/x-/xcb-proto.json b/versions/x-/xcb-proto.json new file mode 100644 index 00000000000000..5767d243d932b1 --- /dev/null +++ b/versions/x-/xcb-proto.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "927edbd82a8d7801673d5fd3e9f9144d86884801", + "version": "1.14.1", + "port-version": 2 + }, + { + "git-tree": "f2eac40d0f3ae01205792344a254ac956e0adcd2", + "version": "1.14.1", + "port-version": 1 + }, + { + "git-tree": "e5933d2463549d6d3b00a8aa1f0279f2a974ec1c", + "version": "1.14.1", + "port-version": 0 + } + ] +} diff --git a/versions/x-/xcb-render-util.json b/versions/x-/xcb-render-util.json new file mode 100644 index 00000000000000..b53608c8600001 --- /dev/null +++ b/versions/x-/xcb-render-util.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "630a72ed63679891d45f81a2d323aff929984217", + "version": "0.3.10", + "port-version": 0 + }, + { + "git-tree": "c33cb9ea07d2bd0e8662ad5d8a1368aae2144da2", + "version": "0.3.9", + "port-version": 0 + } + ] +} diff --git a/versions/x-/xcb-util-errors.json b/versions/x-/xcb-util-errors.json new file mode 100644 index 00000000000000..01626d467c0a39 --- /dev/null +++ b/versions/x-/xcb-util-errors.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "8deabed62d4ee817fc4c913c8f4c21dc9a13609b", + "version": "1.0.1", + "port-version": 1 + }, + { + "git-tree": "b4f1619f7e94fe694b69d8021d6864e0d0369ce8", + "version": "1.0.1", + "port-version": 0 + } + ] +} diff --git a/versions/x-/xcb-util-m4.json b/versions/x-/xcb-util-m4.json new file mode 100644 index 00000000000000..45f1929e4e911e --- /dev/null +++ b/versions/x-/xcb-util-m4.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "3d9a0f48392c4845b152c9dfdfa702f9f0a932d9", + "version-date": "2022-01-24", + "port-version": 0 + } + ] +} diff --git a/versions/x-/xcb-util-wm.json b/versions/x-/xcb-util-wm.json new file mode 100644 index 00000000000000..4a1ac8848ce574 --- /dev/null +++ b/versions/x-/xcb-util-wm.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "1979c75a17a0cbdf34fa5044b3cf1fa936c24147", + "version": "0.4.2", + "port-version": 1 + }, + { + "git-tree": "da4d2d3ad49ae54dbeacc5e99c3700cdce16d9bb", + "version": "0.4.2", + "port-version": 0 + } + ] +} diff --git a/versions/x-/xcb-util.json b/versions/x-/xcb-util.json new file mode 100644 index 00000000000000..2311be8cf0388d --- /dev/null +++ b/versions/x-/xcb-util.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "d5b50a3e395fcee958321601e06a2cfcbc75d925", + "version": "0.4.0", + "port-version": 0 + } + ] +} diff --git a/versions/x-/xcb.json b/versions/x-/xcb.json new file mode 100644 index 00000000000000..83758af6432e2e --- /dev/null +++ b/versions/x-/xcb.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "409e8b6e371d2541c6330d13034e44bcaa4e10e8", + "version": "1.14", + "port-version": 2 + }, + { + "git-tree": "78b7401a998fdbe19ed1049e9f8c44675317f00c", + "version": "1.14", + "port-version": 1 + }, + { + "git-tree": "7af3e0f5bc8377ca950f83d3a0bdbb8cc40026aa", + "version": "1.14", + "port-version": 0 + } + ] +} diff --git a/versions/x-/xerces-c.json b/versions/x-/xerces-c.json index 2f515db5c405f2..2f72440a61b4a9 100644 --- a/versions/x-/xerces-c.json +++ b/versions/x-/xerces-c.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "2a127df4687908c60c7d7c7a37342a7ab6c509cf", + "version-semver": "3.2.5", + "port-version": 0 + }, + { + "git-tree": "4026f062e68881d5a72ecd5d900c70a46f92a8d9", + "version": "3.2.4", + "port-version": 3 + }, + { + "git-tree": "2eabf69ed6317e6b9b9fbb7cdb19e884a762f545", + "version": "3.2.4", + "port-version": 2 + }, + { + "git-tree": "ad60daf68b377020d6ea29ef4a078a43e66fe846", + "version": "3.2.4", + "port-version": 1 + }, + { + "git-tree": "8b0ef386f33522a64bc06e375ff5e85ce05de31b", + "version": "3.2.4", + "port-version": 0 + }, + { + "git-tree": "6e0b3743b100fd4c22291b3c55ff73aac8ae188c", + "version": "3.2.3", + "port-version": 4 + }, { "git-tree": "b920ebcb559e728e512c42e7e27ce5db58aba440", "version-string": "3.2.3", diff --git a/versions/x-/xeus.json b/versions/x-/xeus.json index ddd6614a97d07b..eda395f433ba61 100644 --- a/versions/x-/xeus.json +++ b/versions/x-/xeus.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "b36c5dea30b1657552313a07c10623753918b1bf", + "version": "0.24.3", + "port-version": 3 + }, + { + "git-tree": "58ccbb03903ad023da77a9a53225dc4bd25df600", + "version": "0.24.3", + "port-version": 2 + }, { "git-tree": "2bb5d11153c9982aad5337c44d2f781918e8d991", "version-string": "0.24.3", diff --git a/versions/x-/xframe.json b/versions/x-/xframe.json index 05a9a31ea7ed85..2271f0b7c29c94 100644 --- a/versions/x-/xframe.json +++ b/versions/x-/xframe.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "0dc724af03bbad13a480e399160f7cf03bb4219c", + "version": "0.3.0", + "port-version": 3 + }, + { + "git-tree": "e0e77fd0b1b188f69a5c08856e518e61845bed7f", + "version-string": "0.3.0", + "port-version": 2 + }, { "git-tree": "7dc9d49f9de1237cea644f835be6631ba0c76c4a", "version-string": "0.3.0", diff --git a/versions/x-/xlnt.json b/versions/x-/xlnt.json index cda2e706dbbc4d..567f54e4e9100c 100644 --- a/versions/x-/xlnt.json +++ b/versions/x-/xlnt.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "2e7ad7529f9ff8b7e9c59824230548f77b491cae", + "version": "1.5.0", + "port-version": 4 + }, { "git-tree": "225346f8b24e3d09ad6b63b928ed2e6f1cfed4d4", "version": "1.5.0", diff --git a/versions/x-/xlsxio.json b/versions/x-/xlsxio.json index 167faf72b63b99..a56ac4283983af 100644 --- a/versions/x-/xlsxio.json +++ b/versions/x-/xlsxio.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "fd38fc13e5e2b58d149261e8d692e1df7f93b88a", + "version": "0.2.34", + "port-version": 0 + }, + { + "git-tree": "6b4eb1ccf9e863a9291e03521af9ff4d62f5eb3d", + "version-date": "2021-03-24", + "port-version": 1 + }, { "git-tree": "363ef11ba53c472f8ec8186c455f964b49088d7f", "version-date": "2021-03-24", diff --git a/versions/x-/xmlsec.json b/versions/x-/xmlsec.json index 29672537a2c996..0ad0e95569c66f 100644 --- a/versions/x-/xmlsec.json +++ b/versions/x-/xmlsec.json @@ -1,5 +1,70 @@ { "versions": [ + { + "git-tree": "53a0926b6c125320e29773130a9992c43cfd9815", + "version": "1.3.6", + "port-version": 0 + }, + { + "git-tree": "64b88900914fd5e0330f124cf790e7aaf0a3c052", + "version": "1.3.5", + "port-version": 0 + }, + { + "git-tree": "59572ff53cdf71ec92a8dcd1c4eaa19419ecedf2", + "version": "1.3.3", + "port-version": 1 + }, + { + "git-tree": "61ac924bc037a2bf6e8afdc898b6d21f0a25c519", + "version": "1.3.3", + "port-version": 0 + }, + { + "git-tree": "66d4ee9a9a576f6af80a2b830becab2f6ee7beb7", + "version": "1.3.1", + "port-version": 2 + }, + { + "git-tree": "9152aec5099de6e629c31adc81bd07fc6f87607e", + "version": "1.3.1", + "port-version": 1 + }, + { + "git-tree": "3ca82fa3b389ead91f8abe51fb628fc1959cf29b", + "version": "1.3.1", + "port-version": 0 + }, + { + "git-tree": "716c1bdec11ab1f1053e76b14604a5d166484465", + "version": "1.2.37", + "port-version": 2 + }, + { + "git-tree": "19b8aab695c131f0dcbb7498f0d6a10517d01b70", + "version": "1.2.37", + "port-version": 1 + }, + { + "git-tree": "90c79a327b276a7cb1f9eb3e76020cd7483e4899", + "version": "1.2.37", + "port-version": 0 + }, + { + "git-tree": "3b3111c9880e6e3737f334dc37432a121a3220ef", + "version": "1.2.36", + "port-version": 0 + }, + { + "git-tree": "a41c14aae637b02b4e018902e0f9b67bcdef12f2", + "version": "1.2.34", + "port-version": 0 + }, + { + "git-tree": "635a9b0883829c524cc712d552d9a265ef984bf7", + "version": "1.2.33", + "port-version": 0 + }, { "git-tree": "f15cb0d0c8dd69a916421866901a7bce6d81666c", "version": "1.2.32", diff --git a/versions/x-/xnnpack.json b/versions/x-/xnnpack.json index b5261f4f60f613..21835a86ee130c 100644 --- a/versions/x-/xnnpack.json +++ b/versions/x-/xnnpack.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "7a84132ceac551e5ba3da8117fdc23f4f1571fd2", + "version-date": "2022-12-22", + "port-version": 0 + }, + { + "git-tree": "439631254e564280e520c848b6b16e259c79b422", + "version-date": "2022-02-17", + "port-version": 0 + }, + { + "git-tree": "dba10dfefac481caee9f94c49fc60878c5bb57a1", + "version-date": "2021-05-17", + "port-version": 2 + }, { "git-tree": "d998602ed266e9cf140fb6740fea8625276a48f5", "version-date": "2021-05-17", diff --git a/versions/x-/xorg-macros.json b/versions/x-/xorg-macros.json new file mode 100644 index 00000000000000..8abb441d29fd08 --- /dev/null +++ b/versions/x-/xorg-macros.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "766525189c81d40661731faecc566fb96d66fcc4", + "version": "1.19.3", + "port-version": 1 + }, + { + "git-tree": "76db60fb182a4c33faabfb411e1842428ae4c8ad", + "version": "1.19.3", + "port-version": 0 + } + ] +} diff --git a/versions/x-/xorstr.json b/versions/x-/xorstr.json index c101bca64603ef..4539257bf614b2 100644 --- a/versions/x-/xorstr.json +++ b/versions/x-/xorstr.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "a74d9d1380133abaf94355f2ee2a3eb1d7a29569", + "version-date": "2021-11-20", + "port-version": 0 + }, { "git-tree": "37ea1ae54d689346b2edbf358f950e1939a9c66d", "version-date": "2021-10-23", diff --git a/versions/x-/xpack.json b/versions/x-/xpack.json new file mode 100644 index 00000000000000..432728c90ac005 --- /dev/null +++ b/versions/x-/xpack.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "05f0ea1a83e35833ccf855d9cb507ab1c9a99a0b", + "version": "1.0.5", + "port-version": 0 + }, + { + "git-tree": "5123943d7e13cfac8d5a58f7fe3cf027275e5bee", + "version-date": "2023-02-06", + "port-version": 0 + } + ] +} diff --git a/versions/x-/xproperty.json b/versions/x-/xproperty.json index 0d6ce4d943da02..dd3d8fdddce926 100644 --- a/versions/x-/xproperty.json +++ b/versions/x-/xproperty.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "237cd26cda6bc5f75e9dd2d75e5a65725512065d", + "version": "0.8.1", + "port-version": 3 + }, + { + "git-tree": "efc510fa8cbd77c3effc463f019d8b7520d5c29b", + "version-string": "0.8.1", + "port-version": 2 + }, { "git-tree": "1acf4b775a462fc93484010247364837b2ea8133", "version-string": "0.8.1", diff --git a/versions/x-/xproto.json b/versions/x-/xproto.json new file mode 100644 index 00000000000000..e4e8d7daf383cd --- /dev/null +++ b/versions/x-/xproto.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "707be677dc8929167ad434402cd6ae8678e2bffc", + "version": "2021.5", + "port-version": 0 + } + ] +} diff --git a/versions/x-/xqilla.json b/versions/x-/xqilla.json new file mode 100644 index 00000000000000..3415cf5683b994 --- /dev/null +++ b/versions/x-/xqilla.json @@ -0,0 +1,24 @@ +{ + "versions": [ + { + "git-tree": "c5b161b57b6ff9c1c2131514506ac05ef1f76e77", + "version": "2.3.4", + "port-version": 3 + }, + { + "git-tree": "1e825e06e975c55c3a0811107d2488b32b1f600b", + "version": "2.3.4", + "port-version": 2 + }, + { + "git-tree": "110b08065d892a635f1a8f2dd76f42727788020f", + "version": "2.3.4", + "port-version": 1 + }, + { + "git-tree": "5e0e7d4ac944e58a70a8a71a8a715598b22c7e73", + "version": "2.3.4", + "port-version": 0 + } + ] +} diff --git a/versions/x-/xsimd.json b/versions/x-/xsimd.json index 70416122909596..30d31b2fc59f30 100644 --- a/versions/x-/xsimd.json +++ b/versions/x-/xsimd.json @@ -1,5 +1,45 @@ { "versions": [ + { + "git-tree": "f32923512f532dd165f1379bdb3c810b9d31d7d3", + "version": "13.0.0", + "port-version": 1 + }, + { + "git-tree": "b79289e60e4e2319af838958ca258ea6dbbffb14", + "version": "13.0.0", + "port-version": 0 + }, + { + "git-tree": "ca2d5b99e04ca0ccb3f30d0ca8a654bb4d371369", + "version": "12.1.1", + "port-version": 0 + }, + { + "git-tree": "3e979cb9a0721fa813065c5783d604bac193f6c6", + "version": "12.0.0", + "port-version": 0 + }, + { + "git-tree": "55021644d976597e734aa0e9b678f369625b14c1", + "version": "11.1.0", + "port-version": 0 + }, + { + "git-tree": "0c67f06803f30a45e0dc0db77378869d4c3067a0", + "version": "10.0.0", + "port-version": 0 + }, + { + "git-tree": "be6cd49ae57f84d0d66692b388c2ee0ce25cd0e0", + "version": "9.0.1", + "port-version": 0 + }, + { + "git-tree": "3d7f059f0f9d91da33b87a09615ef7f7f84cc76a", + "version": "8.1.0", + "port-version": 0 + }, { "git-tree": "e7b050635a31da5fce9834a6e8e859eb160b3916", "version": "8.0.3", diff --git a/versions/x-/xtensor-blas.json b/versions/x-/xtensor-blas.json index f377a2b39e3d6a..ea8748bd377753 100644 --- a/versions/x-/xtensor-blas.json +++ b/versions/x-/xtensor-blas.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "1dd896df9d5ded9e0980d91c3d1727c4105dd7c3", + "version": "0.20.0", + "port-version": 0 + }, { "git-tree": "6524a2462dd339878f2e32de8962576a15097a5e", "version-string": "0.17.2", diff --git a/versions/x-/xtensor-fftw.json b/versions/x-/xtensor-fftw.json index b5496821117490..dbaf99685a2c0a 100644 --- a/versions/x-/xtensor-fftw.json +++ b/versions/x-/xtensor-fftw.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "8f535672e2935cbbf33bd2a3f332d3a100cf6a4a", + "version-date": "2019-11-30", + "port-version": 4 + }, + { + "git-tree": "b0593649089167c5e7e5e8da3d48dc20bbb0e366", + "version-string": "2019-11-30", + "port-version": 3 + }, { "git-tree": "ca6e7889f9ae5d1d9a627d7591e22962cde621c4", "version-string": "2019-11-30", diff --git a/versions/x-/xtensor-io.json b/versions/x-/xtensor-io.json index 8bf28e92533383..9c5f26f192533b 100644 --- a/versions/x-/xtensor-io.json +++ b/versions/x-/xtensor-io.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "5673651fb8b30a016de2c3a3d7fbe96838690cb1", + "version": "0.13.0", + "port-version": 1 + }, + { + "git-tree": "71f1c4cb5fb871e6dd863766646a38b232a20b2f", + "version": "0.13.0", + "port-version": 0 + }, { "git-tree": "ba855025d72826b6462959f0e8f895e62102e626", "version": "0.12.8", diff --git a/versions/x-/xtensor.json b/versions/x-/xtensor.json index b175c89b578b14..5286df11c0fdb1 100644 --- a/versions/x-/xtensor.json +++ b/versions/x-/xtensor.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "4f8e8bf52ae7f55b38fabb98423beafc361cff28", + "version": "0.25.0", + "port-version": 0 + }, + { + "git-tree": "1f097c22efd106eadd130143bbe0ea4ce0355959", + "version": "0.24.7", + "port-version": 0 + }, + { + "git-tree": "3243d2557778b77adbd7b2dbc83ade2456e8fe5c", + "version": "0.24.6", + "port-version": 1 + }, + { + "git-tree": "aeb0efc2bdf326191f5dff18bb2506690902b162", + "version": "0.24.6", + "port-version": 0 + }, + { + "git-tree": "474191556a342fc77b9defef9ba63a4dcf2205c4", + "version": "0.24.3", + "port-version": 0 + }, + { + "git-tree": "b7e23c44907ce8f4ca8cec01cb5534f092e74dda", + "version": "0.24.0", + "port-version": 0 + }, { "git-tree": "ca365f721479380995943c5ab4e8cdd6866ec785", "version": "0.23.10", diff --git a/versions/x-/xtl.json b/versions/x-/xtl.json index f3baee90b52db5..ad61986b6060b2 100644 --- a/versions/x-/xtl.json +++ b/versions/x-/xtl.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "854560a164cf34eea22f3757ea47927d32979179", + "version": "0.7.7", + "port-version": 0 + }, + { + "git-tree": "f5cad9625b1b7459135265c4f8647b2bcae0e252", + "version": "0.7.5", + "port-version": 0 + }, + { + "git-tree": "8255a333f114b449c2578ec70e91970eace40598", + "version": "0.7.2", + "port-version": 1 + }, { "git-tree": "2665b2dcd2f142f932337987817369ae8a377bbe", "version": "0.7.2", diff --git a/versions/x-/xtrans.json b/versions/x-/xtrans.json new file mode 100644 index 00000000000000..8b0c9b81757c94 --- /dev/null +++ b/versions/x-/xtrans.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "f7f94e9ba7b242ac5b0f38e38fc6b32ac63c3024", + "version": "1.4.0", + "port-version": 2 + }, + { + "git-tree": "f270ddca7ea9e55a992a4923b373c4e47ad24ebd", + "version": "1.4.0", + "port-version": 1 + }, + { + "git-tree": "ef94e0330a53876e074a09a3cd9c311c4ca0aa28", + "version": "1.4.0", + "port-version": 0 + } + ] +} diff --git a/versions/x-/xxhash.json b/versions/x-/xxhash.json index 202c4d9716d114..02495ae746dbd5 100644 --- a/versions/x-/xxhash.json +++ b/versions/x-/xxhash.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "4ebfe9c5b439ecc2f91beb32e6dbb7549dff29e4", + "version": "0.8.2", + "port-version": 0 + }, + { + "git-tree": "8c45988bd467674cb21961646a9379645a235ba5", + "version": "0.8.1", + "port-version": 2 + }, + { + "git-tree": "895a0039b3cd40c7f66725608d07dc851e0d54b6", + "version": "0.8.1", + "port-version": 1 + }, + { + "git-tree": "69e750b7b17d837d2d7e41385c7f339e7e23f65c", + "version": "0.8.1", + "port-version": 0 + }, { "git-tree": "427341c7e75df558fc7fe5ff69340387877bddf8", "version-string": "0.8.0", diff --git a/versions/y-/yajl.json b/versions/y-/yajl.json index d51bb4bee74b78..74831ee23b22c5 100644 --- a/versions/y-/yajl.json +++ b/versions/y-/yajl.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "3f4f50d7448d28c577777c09895a93847124e1d3", + "version": "2.1.0", + "port-version": 4 + }, + { + "git-tree": "348d0cb4e70b0db911dbd9e014d69164eb53cec4", + "version-string": "2.1.0", + "port-version": 3 + }, { "git-tree": "a1f09d6c9effe9aa148fb4c659498c3dc82c61d8", "version-string": "2.1.0", diff --git a/versions/y-/yaml-cpp.json b/versions/y-/yaml-cpp.json index 8d7170546f244f..7db95699ace4da 100644 --- a/versions/y-/yaml-cpp.json +++ b/versions/y-/yaml-cpp.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "eb1a38369faa80d2af500df32ef6d4a747336dcb", + "version-semver": "0.8.0", + "port-version": 1 + }, + { + "git-tree": "595f95f94e93c518b99e8c0e83ef35ced9e7867a", + "version-semver": "0.8.0", + "port-version": 0 + }, { "git-tree": "a79d9c026aefee69214dbd39294da49398b07c7b", "version-semver": "0.7.0", diff --git a/versions/y-/yara.json b/versions/y-/yara.json index 4bbf6d7c230664..5e04ec36c85ba5 100644 --- a/versions/y-/yara.json +++ b/versions/y-/yara.json @@ -1,5 +1,55 @@ { "versions": [ + { + "git-tree": "72d184511e1157046d782b018a9d4461cbbf1e48", + "version": "4.5.2", + "port-version": 1 + }, + { + "git-tree": "e7c3d81fe565750da91a74c6a9474e447d7763e8", + "version": "4.5.1", + "port-version": 1 + }, + { + "git-tree": "812967f72f45b8689953677a3969d1146945543a", + "version": "4.5.1", + "port-version": 0 + }, + { + "git-tree": "36109d80198f355066776d9166f4ab7f564a91f3", + "version": "4.5.0", + "port-version": 0 + }, + { + "git-tree": "f5f938703b1025e041b7ad9eb9ab28f954e39e57", + "version": "4.3.2", + "port-version": 1 + }, + { + "git-tree": "993e6ee9f366ecd84f0636ae4f7de293293a9068", + "version": "4.3.2", + "port-version": 0 + }, + { + "git-tree": "4deddff9f05a4c7f2fc13b77da1717b50d25072a", + "version": "4.3.0", + "port-version": 1 + }, + { + "git-tree": "33fe4f18e0ce42f7ff01fde67f188eed7d74616e", + "version": "4.3.0", + "port-version": 0 + }, + { + "git-tree": "0551c4f9ac51859d9063f6482ff44acf3d7bfa2a", + "version": "4.2.3", + "port-version": 0 + }, + { + "git-tree": "f071df4391cee4f96e8f7bb5820d7d3f70db50e1", + "version": "4.2.0", + "port-version": 0 + }, { "git-tree": "081abbbfc62033c4254ae833f61d48c5cea4151c", "version": "4.1.1", diff --git a/versions/y-/yasm-tool-helper.json b/versions/y-/yasm-tool-helper.json index 606a5eee5603e9..c8ab8dabf50d70 100644 --- a/versions/y-/yasm-tool-helper.json +++ b/versions/y-/yasm-tool-helper.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "0a2dfb294bebae79c48cc710756756164175be1d", + "version-date": "2020-03-11", + "port-version": 1 + }, { "git-tree": "7d0e3b2224338888cd1e2f7a00c182961a7ea760", "version-string": "2020-03-11", diff --git a/versions/y-/yasm-tool.json b/versions/y-/yasm-tool.json index 3ae9fc64031da7..41a4f9b7059125 100644 --- a/versions/y-/yasm-tool.json +++ b/versions/y-/yasm-tool.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "5dc61ac1b2f25ef005c279fd65cd98cbdedc161a", + "version-date": "2021-12-14", + "port-version": 0 + }, + { + "git-tree": "456004e2ac7a578572cb14ebf581c246b869516a", + "version": "1.3.0", + "port-version": 1 + }, { "git-tree": "cb913a26c18cde98be038655f65d2363ecee2cc1", "version": "1.3.0", diff --git a/versions/y-/yasm.json b/versions/y-/yasm.json index 629197c55a304c..2611a7bf6b148d 100644 --- a/versions/y-/yasm.json +++ b/versions/y-/yasm.json @@ -1,5 +1,25 @@ { "versions": [ + { + "git-tree": "e9ad958de17f5b7661720dc322cff96b2dff8355", + "version": "1.3.0", + "port-version": 5 + }, + { + "git-tree": "796bb1f691c8ef8b04eb6577e95ab04167470dac", + "version": "1.3.0", + "port-version": 4 + }, + { + "git-tree": "4368509dc3dfe6cab848b8713b22c9c0ef408527", + "version": "1.3.0", + "port-version": 3 + }, + { + "git-tree": "eaab6c3ae3bfc1ffcfaee3b1695d7ee21dacc7b1", + "version-string": "1.3.0", + "port-version": 2 + }, { "git-tree": "10778f3b98b275cbbc840e6a3c6d96465b2a20a9", "version-string": "1.3.0", diff --git a/versions/y-/yato.json b/versions/y-/yato.json index 6a7e311f8ef73e..856103ad3cb7c3 100644 --- a/versions/y-/yato.json +++ b/versions/y-/yato.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "302773e4845f27896621a44a76a964baec26f3e8", + "version-date": "2022-03-06", + "port-version": 0 + }, { "git-tree": "8605c052211c8394b3f3a524ffe071307582a941", "version-string": "1.0", diff --git a/versions/y-/yoga.json b/versions/y-/yoga.json index 891c54e4c21b4c..007402d3354be7 100644 --- a/versions/y-/yoga.json +++ b/versions/y-/yoga.json @@ -1,5 +1,40 @@ { "versions": [ + { + "git-tree": "5f4a1466ab3c27e5dd7ade997a96e98e3d46b3ad", + "version": "3.1.0", + "port-version": 0 + }, + { + "git-tree": "be1192567872f981e847d21819c5ec44edc2b43f", + "version": "3.0.2", + "port-version": 0 + }, + { + "git-tree": "216e97a199e84fb6894035fb5682e54a72f11744", + "version": "2.0.1", + "port-version": 1 + }, + { + "git-tree": "a388f93a28c77a78787ec7456af92ef63d8f80a2", + "version": "2.0.1", + "port-version": 0 + }, + { + "git-tree": "e3693a2905113d25a725c3319740f069a37c60d7", + "version": "2.0.0", + "port-version": 0 + }, + { + "git-tree": "ddb16110f2f26fdbb40992c2c5308aaae1e00462", + "version": "1.19.0+20230215", + "port-version": 0 + }, + { + "git-tree": "620d91442f1a5e599eeabcb0c6b86fcb57a781f8", + "version": "1.19.0", + "port-version": 1 + }, { "git-tree": "12751eb94758566f26b621b28dc86fe8b1977a7f", "version": "1.19.0", diff --git a/versions/y-/yomm2.json b/versions/y-/yomm2.json index 27dd3f31298ffc..00f01dc5077f1f 100644 --- a/versions/y-/yomm2.json +++ b/versions/y-/yomm2.json @@ -1,5 +1,50 @@ { "versions": [ + { + "git-tree": "31bb727d7608b3921c8efaf8eac3554da18eefe7", + "version": "1.6.0", + "port-version": 0 + }, + { + "git-tree": "886ebe74653e88120a91101cb4b54206a7959884", + "version": "1.5.2", + "port-version": 0 + }, + { + "git-tree": "31593c5c597458c4cd437424dfdc72684569c5a5", + "version": "1.5.1", + "port-version": 0 + }, + { + "git-tree": "cd0e4a794685da4c848998d46cf242a716dee35c", + "version": "1.5.0", + "port-version": 0 + }, + { + "git-tree": "7fb081bdba7637ab5c5bc26d1dfb2a80a1fd1303", + "version": "1.4.0", + "port-version": 1 + }, + { + "git-tree": "eb04c5f671a8ba74f8f98bb4c1b53716336ce441", + "version": "1.4.0", + "port-version": 0 + }, + { + "git-tree": "9b2200dcba64aecc83b9009b7d8f1ccb383003c8", + "version": "1.3.1", + "port-version": 0 + }, + { + "git-tree": "8bd8a2b21272e70a16c55b55215a7b5f6bd295d3", + "version": "1.1.2", + "port-version": 2 + }, + { + "git-tree": "883f87feff25739b1922362bcc35438d86a6454d", + "version-string": "1.1.2", + "port-version": 1 + }, { "git-tree": "5d025f5bb550c4a43b070841b8a48936d0644017", "version-string": "1.1.2", diff --git a/versions/y-/yyjson.json b/versions/y-/yyjson.json index cba93435dddc65..6d2042086ee3a7 100644 --- a/versions/y-/yyjson.json +++ b/versions/y-/yyjson.json @@ -1,5 +1,45 @@ { "versions": [ + { + "git-tree": "1867e279667eb5a02e2cbb9e5deb3a40c9137cc1", + "version": "0.10.0", + "port-version": 0 + }, + { + "git-tree": "0e80cb41258c66dc0707602eec0008a0ed1e7a6f", + "version": "0.9.0", + "port-version": 0 + }, + { + "git-tree": "23f8cd0e06d0c615ea534c70316b3f55a696912a", + "version": "0.8.0", + "port-version": 0 + }, + { + "git-tree": "658e0c2de9549d6330f76f33992a45e110bfcb74", + "version": "0.6.0", + "port-version": 1 + }, + { + "git-tree": "959e0191dd4850c8915d57c1ffeccfaf983e0616", + "version": "0.6.0", + "port-version": 0 + }, + { + "git-tree": "6dddfac371d8dad2fe69680acab1512cd2d87062", + "version": "0.5.1", + "port-version": 0 + }, + { + "git-tree": "228eaef5ad7cddcc8e76dc73b2741f75cc18912a", + "version": "0.5.0", + "port-version": 0 + }, + { + "git-tree": "2d4f6a2936ab89c986bb1c3cafd5e3ca796ce7fa", + "version": "0.4.0", + "port-version": 0 + }, { "git-tree": "ced4d99c46f8c50e8c8df046af0fe54cce4a0dbb", "version": "0.3.0", diff --git a/versions/z-/z3.json b/versions/z-/z3.json index ee81c0872d8c9c..00b28f8c0580a4 100644 --- a/versions/z-/z3.json +++ b/versions/z-/z3.json @@ -1,5 +1,75 @@ { "versions": [ + { + "git-tree": "fa6e8dad748704ecd2b0f6f6a914a6d7530f91fb", + "version": "4.13.3", + "port-version": 0 + }, + { + "git-tree": "c5af85394b7d0da874517680ec668ca482f089d5", + "version": "4.13.2", + "port-version": 0 + }, + { + "git-tree": "6fa6c9e93ad1fe6f090260acfa7d42369d83ee0a", + "version": "4.13.0", + "port-version": 0 + }, + { + "git-tree": "03f1783abbbb6d024a084bfd6f448ec5b02c06b6", + "version": "4.12.6", + "port-version": 0 + }, + { + "git-tree": "294ec73e2b15fd55e0ac922bcaffad517366dbba", + "version": "4.12.5", + "port-version": 0 + }, + { + "git-tree": "98aa7c18e339247b197bab014d1a52310ba39a7a", + "version": "4.12.4", + "port-version": 0 + }, + { + "git-tree": "dcef04d626f19434eaf9d2a3afb43d927bbd372e", + "version": "4.12.2", + "port-version": 0 + }, + { + "git-tree": "4c57981e593026824fe9bedff234a82c13765e29", + "version": "4.11.0", + "port-version": 0 + }, + { + "git-tree": "aa0794e55ef223e835ae4dd228e3986d83be4843", + "version": "4.10.2", + "port-version": 0 + }, + { + "git-tree": "c934af0db69ef3b1bacc4bf5a72b5d901aaf1136", + "version": "4.9.1", + "port-version": 0 + }, + { + "git-tree": "a1217f07ef4a8f918f5b61a01057a4ee70f92422", + "version": "4.8.16", + "port-version": 0 + }, + { + "git-tree": "ca14e43533889ce4abf89af387b73d015e133c4a", + "version": "4.8.15", + "port-version": 0 + }, + { + "git-tree": "78366a5b407998768b97ddee528306cf9cbe9847", + "version": "4.8.14", + "port-version": 0 + }, + { + "git-tree": "eb7c4238f0496b64a6527fd4b07dd753f31a1975", + "version": "4.8.12", + "port-version": 2 + }, { "git-tree": "679ab881c1277be69ffc601a568e3b47d4d55432", "version": "4.8.12", diff --git a/versions/z-/z4kn4fein-semver.json b/versions/z-/z4kn4fein-semver.json new file mode 100644 index 00000000000000..4fe5fc0025af9a --- /dev/null +++ b/versions/z-/z4kn4fein-semver.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "d1f60abae15fe45cd363a685d62b1407161bcf59", + "version": "0.4.0", + "port-version": 0 + }, + { + "git-tree": "55540e32df4b2fe6743a954483b361808460adb6", + "version": "0.2.1", + "port-version": 0 + } + ] +} diff --git a/versions/z-/z85.json b/versions/z-/z85.json index 1301a3972a18c4..e5f3b0ec23a8fb 100644 --- a/versions/z-/z85.json +++ b/versions/z-/z85.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "b74a8c81b9118c04732c5e0c0f15714fc19ca73c", + "version": "1.0", + "port-version": 2 + }, { "git-tree": "eb7115fc8b2a5c84c958196521ec5f6c5f502ca6", "version-string": "1.0", diff --git a/versions/z-/zeroc-ice.json b/versions/z-/zeroc-ice.json new file mode 100644 index 00000000000000..6e28eb1123d0ce --- /dev/null +++ b/versions/z-/zeroc-ice.json @@ -0,0 +1,59 @@ +{ + "versions": [ + { + "git-tree": "c94052d77917ec81baf105233e9498ec1e17e292", + "version": "3.7.10", + "port-version": 0 + }, + { + "git-tree": "9048b568a7f81f0a8788c6dd8b0215cb1cd300eb", + "version": "3.7.9", + "port-version": 4 + }, + { + "git-tree": "45f338a327c4b8ea7eb16fc81e650cd0f999449c", + "version": "3.7.9", + "port-version": 3 + }, + { + "git-tree": "dc07eee81cdf5c66efc83d606c635e722ef23d39", + "version": "3.7.9", + "port-version": 2 + }, + { + "git-tree": "bb449d6446b3700170a831c0b155d58be3613a26", + "version": "3.7.9", + "port-version": 1 + }, + { + "git-tree": "aba63efeb29d2249b285f6188b44fde25dbff9d3", + "version": "3.7.9", + "port-version": 0 + }, + { + "git-tree": "2ec016c70ea82b2ddb340c6c809aece865c7c2ce", + "version": "3.7.7", + "port-version": 4 + }, + { + "git-tree": "e57483820c975a5418fcd98645c7d1315dd8bced", + "version": "3.7.7", + "port-version": 3 + }, + { + "git-tree": "1ddc4746c1f19fca41706071fac4575ea99fe6b9", + "version": "3.7.7", + "port-version": 2 + }, + { + "git-tree": "f32e4c338e25d36018095348e632c794b13fc513", + "version": "3.7.7", + "port-version": 1 + }, + { + "git-tree": "bdb180069d461c04c1eee1a7937afa63d0ea752b", + "version": "3.7.7", + "port-version": 0 + } + ] +} diff --git a/versions/z-/zeromq.json b/versions/z-/zeromq.json index 28e134099eb40c..876cce92dfe550 100644 --- a/versions/z-/zeromq.json +++ b/versions/z-/zeromq.json @@ -1,5 +1,80 @@ { "versions": [ + { + "git-tree": "454f5e2648cea10a305d0e781fd3093073153a2e", + "version": "4.3.5", + "port-version": 2 + }, + { + "git-tree": "3ac6a3ee94fb7235dc37fc7042e8270060c685c1", + "version": "4.3.5", + "port-version": 1 + }, + { + "git-tree": "7c31f33a815e20807d89d684435dcab872c37d2a", + "version": "4.3.5", + "port-version": 0 + }, + { + "git-tree": "6f361429d0511b651b4f7b98f0dc47adf2601843", + "version-date": "2023-06-20", + "port-version": 1 + }, + { + "git-tree": "3deda40ff74bb4d77071cefabd7d889589452425", + "version-date": "2023-06-20", + "port-version": 0 + }, + { + "git-tree": "910e9e92155a96a07837641615e3356c98edec9a", + "version-date": "2023-01-31", + "port-version": 5 + }, + { + "git-tree": "487c1669ab781a8adfa16097f1c7142165f5debf", + "version-date": "2023-01-31", + "port-version": 4 + }, + { + "git-tree": "3cbcf46fa4e8e9bdd5c586a15b9d4549497d8d6e", + "version-date": "2023-01-31", + "port-version": 3 + }, + { + "git-tree": "3926aa389f1ff91b3895fd51c502600effe6c4f2", + "version-date": "2023-01-31", + "port-version": 2 + }, + { + "git-tree": "faad6e9fea08c6740bc27652b7d3df33ee693a41", + "version-date": "2023-01-31", + "port-version": 1 + }, + { + "git-tree": "ea8e483d88e81e7472323575f5bfe28c6fc74e2e", + "version-date": "2023-01-31", + "port-version": 0 + }, + { + "git-tree": "7bdd3a27ea013a2d3b70032245631f114198cce9", + "version": "4.3.4", + "port-version": 6 + }, + { + "git-tree": "246f585e58f536087c5f70f918459d5500a4dc43", + "version": "4.3.4", + "port-version": 5 + }, + { + "git-tree": "efc9d6229adaef7b036d222004dd786353f8cd4e", + "version": "4.3.4", + "port-version": 4 + }, + { + "git-tree": "46cd1dcc3bc077341533cc01c32f467d1a7e181f", + "version": "4.3.4", + "port-version": 3 + }, { "git-tree": "423c351e8759303bc9ba74a065ce9b983a5f85f5", "version": "4.3.4", diff --git a/versions/z-/zfp.json b/versions/z-/zfp.json index 30b657231b643a..02e009479f8b8c 100644 --- a/versions/z-/zfp.json +++ b/versions/z-/zfp.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "560a885ed95ebb2e7477dfe4e68d5abe7f122fca", + "version": "1.0.0", + "port-version": 2 + }, + { + "git-tree": "fad0bac8bcea7da30ad1786f0cc36b887e453307", + "version": "1.0.0", + "port-version": 1 + }, + { + "git-tree": "bb3d795346f73dc90971a02729ca94d38a226b08", + "version": "1.0.0", + "port-version": 0 + }, { "git-tree": "b9fdf34882de98a9ffaf9225f665b49176d7e97f", "version-string": "0.5.5", diff --git a/versions/z-/zimpl.json b/versions/z-/zimpl.json new file mode 100644 index 00000000000000..152328b028e635 --- /dev/null +++ b/versions/z-/zimpl.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "fecfdb732d67c4d18cb446e2052e7fc425872525", + "version": "3.6.1", + "port-version": 0 + }, + { + "git-tree": "6598ebbe8c537c546a9cc0d71c8fd9e0a4dd6b94", + "version": "3.5.3", + "port-version": 0 + } + ] +} diff --git a/versions/z-/zint.json b/versions/z-/zint.json new file mode 100644 index 00000000000000..89c07b481e1c25 --- /dev/null +++ b/versions/z-/zint.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "3b46eb328f75102f1d27eea28fd0e910040046e3", + "version": "2.12.0", + "port-version": 1 + }, + { + "git-tree": "70662dabd6b07aaa376385d94a20fb2b979f8ae0", + "version": "2.12.0", + "port-version": 0 + }, + { + "git-tree": "4877dc23ac1534d68383a3297eb1c44560a4d1e5", + "version": "2.11.1", + "port-version": 0 + } + ] +} diff --git a/versions/z-/zkpp.json b/versions/z-/zkpp.json index 7c366122c06265..98f69ab86d6292 100644 --- a/versions/z-/zkpp.json +++ b/versions/z-/zkpp.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "4d52d577d20e234d6076c5d3b768849c0279fa54", + "version": "0.2.3", + "port-version": 3 + }, + { + "git-tree": "bcef2196b5ca1a1cc813c22eb903e5a9677f9eab", + "version": "0.2.3", + "port-version": 2 + }, { "git-tree": "5d45cca2392d1a09d62bc9e2d53e1296f0bd49fc", "version-string": "0.2.3", diff --git a/versions/z-/zlib-ng.json b/versions/z-/zlib-ng.json index 6c2249e9b075fe..3679e6d34ce5d5 100644 --- a/versions/z-/zlib-ng.json +++ b/versions/z-/zlib-ng.json @@ -1,5 +1,45 @@ { "versions": [ + { + "git-tree": "3f7c39c070cb4f55a281ebe3a178b4f7e896dea8", + "version": "2.1.5", + "port-version": 1 + }, + { + "git-tree": "e612211a2cf602a9a95796202f9cba452c6f5ebc", + "version": "2.1.5", + "port-version": 0 + }, + { + "git-tree": "f05a7ce2c95cfcf4720d911a72dc3b60b46eb1c9", + "version": "2.1.4", + "port-version": 0 + }, + { + "git-tree": "48a2a573758db5e1b96e889043fffaf453fa9cf4", + "version": "2.1.3", + "port-version": 1 + }, + { + "git-tree": "b5618019c0972a9e8bb9422609352679cf248f85", + "version": "2.1.3", + "port-version": 0 + }, + { + "git-tree": "ea181bc5e9362185c5d5d85d23bbb15267c82cdb", + "version": "2.0.7", + "port-version": 0 + }, + { + "git-tree": "60e9a6f12ede4c5e87d2b3077c25e83991a02eea", + "version": "2.0.6", + "port-version": 1 + }, + { + "git-tree": "3324dce4e575e9ba671576b06108c612d0b500bf", + "version": "2.0.6", + "port-version": 0 + }, { "git-tree": "1edea9190001c716b745514982d2ee684f1183e8", "version": "2.0.5", diff --git a/versions/z-/zlib.json b/versions/z-/zlib.json index 7c0d68f33de55e..a994f3607a1c3c 100644 --- a/versions/z-/zlib.json +++ b/versions/z-/zlib.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "3f05e04b9aededb96786a911a16193cdb711f0c9", + "version": "1.3.1", + "port-version": 0 + }, + { + "git-tree": "5ac18c6e6e3e2bf5a9e3d0bc8a845f198e4c4e05", + "version": "1.3", + "port-version": 0 + }, + { + "git-tree": "ad5a49006f73b45b715299515f31164131b51982", + "version": "1.2.13", + "port-version": 0 + }, + { + "git-tree": "d40d86865ecbcc5b54d21f840dd2212556aeadd5", + "version": "1.2.12", + "port-version": 2 + }, + { + "git-tree": "ecc4c064d4911faf12d8bf5fd6bcd5c556d89774", + "version": "1.2.12", + "port-version": 1 + }, + { + "git-tree": "9c4edb1fabbd87dd236a200ba55eaf241cd8c8d0", + "version": "1.2.12", + "port-version": 0 + }, { "git-tree": "92cfe30c807d343c6359d272242f0765ad906740", "version": "1.2.11", diff --git a/versions/z-/zlmediakit.json b/versions/z-/zlmediakit.json new file mode 100644 index 00000000000000..3cfb096680c7ae --- /dev/null +++ b/versions/z-/zlmediakit.json @@ -0,0 +1,39 @@ +{ + "versions": [ + { + "git-tree": "ee4983a040a7165456de12910b16f1e24f078c32", + "version-date": "2024-09-29", + "port-version": 0 + }, + { + "git-tree": "e2e858d8f4618dbb8a41963656970b659ad02813", + "version-date": "2024-03-30", + "port-version": 3 + }, + { + "git-tree": "6e9961ba37fd6444cafde78116cb797229f116d3", + "version-date": "2024-03-30", + "port-version": 2 + }, + { + "git-tree": "f84ad2056d32e9ea7bdc07160784c2458c12e15d", + "version-date": "2024-03-30", + "port-version": 1 + }, + { + "git-tree": "1af9543148c012a8e58061be6e613dc28f38d0d5", + "version-date": "2024-03-30", + "port-version": 0 + }, + { + "git-tree": "d93e0b2a7502f835d4f23ba0fb2b3e5e8537aaec", + "version-date": "2023-08-12", + "port-version": 0 + }, + { + "git-tree": "df1d3b48288f3bed8699e277e3211542867c6959", + "version-date": "2023-08-08", + "port-version": 0 + } + ] +} diff --git a/versions/z-/zoe.json b/versions/z-/zoe.json new file mode 100644 index 00000000000000..17dc3516eda04c --- /dev/null +++ b/versions/z-/zoe.json @@ -0,0 +1,29 @@ +{ + "versions": [ + { + "git-tree": "fe573416ba1ac210d19a22c1ace9eb3b3a4994d0", + "version": "3.5", + "port-version": 0 + }, + { + "git-tree": "2e1829e15cad72dca6c6ff60b4925308905e0a49", + "version": "3.3", + "port-version": 0 + }, + { + "git-tree": "1b7e65e0b7e646b34389eea8920e47e2726cfdf6", + "version": "3.2", + "port-version": 0 + }, + { + "git-tree": "fdba4d3af7c15a74f48c218c3aa2efce33972d86", + "version": "3.1", + "port-version": 0 + }, + { + "git-tree": "ef2391f6da7efe52725293a360d2d5f1611cf5d5", + "version": "3.0", + "port-version": 0 + } + ] +} diff --git a/versions/z-/zookeeper.json b/versions/z-/zookeeper.json index ab8b9e6789acdd..3321d301e60eb2 100644 --- a/versions/z-/zookeeper.json +++ b/versions/z-/zookeeper.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "cddd556547f1e8fef18c115b551f0ba9b5428def", + "version": "3.5.6", + "port-version": 1 + }, + { + "git-tree": "2ad08d6a8c4d4f812c50c02872d046c84dd4ccbc", + "version": "3.5.6", + "port-version": 0 + }, { "git-tree": "44fbecb403595fea598756cf946b00e0a2f21dad", "version-string": "3.5.5", diff --git a/versions/z-/zopfli.json b/versions/z-/zopfli.json index 43770260268522..69f4ec4181047d 100644 --- a/versions/z-/zopfli.json +++ b/versions/z-/zopfli.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "76f9bbae5fc31a841636ae5e26952dfb2cf2f8f1", + "version": "1.0.3", + "port-version": 4 + }, + { + "git-tree": "a420507011746898644df907f97d7ab467d3ebd6", + "version": "1.0.3", + "port-version": 3 + }, + { + "git-tree": "a0451fdd88ef4beba9c0f572d219c0148ac28a25", + "version": "1.0.3", + "port-version": 2 + }, { "git-tree": "e80818813d5dfa5b563c84485d4a0030ce90906a", "version-string": "1.0.3", diff --git a/versions/z-/zpp-bits.json b/versions/z-/zpp-bits.json new file mode 100644 index 00000000000000..92911980a5d24e --- /dev/null +++ b/versions/z-/zpp-bits.json @@ -0,0 +1,29 @@ +{ + "versions": [ + { + "git-tree": "2068c0855edbc51965c9001fb5af8d45e5115f26", + "version": "4.4.17", + "port-version": 0 + }, + { + "git-tree": "f1497476711852911f21a84e80c76a30530c98c7", + "version": "4.4.13", + "port-version": 0 + }, + { + "git-tree": "dba443bd6b07feacc4a45160542ac6b0ffeddece", + "version": "4.4.12", + "port-version": 0 + }, + { + "git-tree": "c360348897285a2a3bfa0b5db6f8cc09da9893be", + "version": "4.4.4", + "port-version": 0 + }, + { + "git-tree": "cfb5cd37a6ed4a1ccab70eeb3112db9ad3d2f026", + "version": "4.3.3", + "port-version": 0 + } + ] +} diff --git a/versions/z-/zserge-webview.json b/versions/z-/zserge-webview.json index a25f30fe0f0c18..c9537d07c433c7 100644 --- a/versions/z-/zserge-webview.json +++ b/versions/z-/zserge-webview.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "7d184b0d8540c194ab3013884180efd8dfdc39d4", + "version-date": "2023-04-15", + "port-version": 0 + }, + { + "git-tree": "173fd4ea0d862f8cca595a8726fe7e0ef6444d45", + "version-date": "2022-09-07", + "port-version": 0 + }, { "git-tree": "e10cdad91c0d47a7dc03717d941254291abfd0eb", "version-string": "2019-04-27", diff --git a/versions/z-/zstd.json b/versions/z-/zstd.json index 3ba7ad7e74deab..6ed59ec7f1d4c6 100644 --- a/versions/z-/zstd.json +++ b/versions/z-/zstd.json @@ -1,5 +1,60 @@ { "versions": [ + { + "git-tree": "796171d4d359b6786b8e1380fb6da8e677a9087b", + "version": "1.5.6", + "port-version": 0 + }, + { + "git-tree": "259dc461801ecb946995e13fd3d94b1381d02441", + "version": "1.5.5", + "port-version": 2 + }, + { + "git-tree": "44fdd2e1576b62ee75cdaab5ce74452ed08f84ce", + "version": "1.5.5", + "port-version": 1 + }, + { + "git-tree": "2a6d14da5f876e43859950a12a330f8b03cdc327", + "version": "1.5.5", + "port-version": 0 + }, + { + "git-tree": "fcc4fe2738d903bc347d20d2d4c836699e273509", + "version": "1.5.4", + "port-version": 2 + }, + { + "git-tree": "4b61cbe1e314aa678d7cbf37a24b59e37694f4a6", + "version": "1.5.4", + "port-version": 1 + }, + { + "git-tree": "16ff2b227a85c9f483480a6bb6d5eb0103ceee44", + "version": "1.5.4", + "port-version": 0 + }, + { + "git-tree": "f4504092df840f4dbb1ca00d2782e58dcee475b7", + "version": "1.5.2", + "port-version": 3 + }, + { + "git-tree": "00fe0b76a4eb8d8dad230e931e1f83ed281f13b4", + "version": "1.5.2", + "port-version": 2 + }, + { + "git-tree": "2f8a5da3f925dc994500dabb2d3b5c7e11df0afd", + "version": "1.5.2", + "port-version": 1 + }, + { + "git-tree": "4e0feee1fa5d2c318aa16702dc6c89d9301a8ddb", + "version": "1.5.2", + "port-version": 0 + }, { "git-tree": "1260425f27dec6dd2e795369d4c28de5a676daef", "version-semver": "1.5.0", diff --git a/versions/z-/zstr.json b/versions/z-/zstr.json index 906cad8775698e..bbb83d026e7a65 100644 --- a/versions/z-/zstr.json +++ b/versions/z-/zstr.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "a70b29925004cfcfd4db7a33cf42c18bc5ad1f76", + "version": "1.0.7", + "port-version": 0 + }, { "git-tree": "7a13e5cb665ce878aa5b6c9723a0e375e1be5c15", "version-string": "1.0.4", diff --git a/versions/z-/ztd-cuneicode.json b/versions/z-/ztd-cuneicode.json new file mode 100644 index 00000000000000..5e2aab99a85124 --- /dev/null +++ b/versions/z-/ztd-cuneicode.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "a726ae260ced8b8478d778f5e7008a4614e097e5", + "version-date": "2023-11-03", + "port-version": 1 + }, + { + "git-tree": "2730f0379c0ef98a286d57784b01649d5bb59d52", + "version-date": "2023-11-03", + "port-version": 0 + } + ] +} diff --git a/versions/z-/ztd-encoding-tables.json b/versions/z-/ztd-encoding-tables.json new file mode 100644 index 00000000000000..9d27ea8f958efe --- /dev/null +++ b/versions/z-/ztd-encoding-tables.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "e215ca14e25c6f458c76eb73e4de83eaea7aba57", + "version-date": "2023-06-10", + "port-version": 0 + } + ] +} diff --git a/versions/z-/ztd-idk.json b/versions/z-/ztd-idk.json new file mode 100644 index 00000000000000..45584467a70055 --- /dev/null +++ b/versions/z-/ztd-idk.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "c79037b1bd68d612fdf0810c619361a715e37f4a", + "version-date": "2023-11-03", + "port-version": 0 + } + ] +} diff --git a/versions/z-/ztd-platform.json b/versions/z-/ztd-platform.json new file mode 100644 index 00000000000000..8203b9ab438005 --- /dev/null +++ b/versions/z-/ztd-platform.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "7211ea7b21e73ba018f6863d7d84db1545ecb63c", + "version-date": "2022-12-30", + "port-version": 0 + } + ] +} diff --git a/versions/z-/ztd-static-containers.json b/versions/z-/ztd-static-containers.json new file mode 100644 index 00000000000000..db16f2dd966dd5 --- /dev/null +++ b/versions/z-/ztd-static-containers.json @@ -0,0 +1,14 @@ +{ + "versions": [ + { + "git-tree": "9178972642436ec0fdba9274b7107314d09df794", + "version-date": "2022-12-12", + "port-version": 1 + }, + { + "git-tree": "7df39e58c9b30ecd92335e2d3a49a8a793e8c956", + "version-date": "2022-12-12", + "port-version": 0 + } + ] +} diff --git a/versions/z-/ztd-text.json b/versions/z-/ztd-text.json new file mode 100644 index 00000000000000..e7dfe5614f81e8 --- /dev/null +++ b/versions/z-/ztd-text.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "3f17a0d3b12f26513a00c38c977b2549330fc318", + "version-date": "2023-11-03", + "port-version": 1 + }, + { + "git-tree": "e9d678e835ff88ff81c3fb1e6273d247f1ec33bd", + "version-date": "2023-11-03", + "port-version": 0 + }, + { + "git-tree": "594b7d2a437b6576bfd4993e9763cac18621e903", + "version-date": "2022-03-21", + "port-version": 0 + } + ] +} diff --git a/versions/z-/zug.json b/versions/z-/zug.json index 687ab2d8f77370..6bdaf94969cfe6 100644 --- a/versions/z-/zug.json +++ b/versions/z-/zug.json @@ -1,5 +1,15 @@ { "versions": [ + { + "git-tree": "6502a3391ee8a0c9eb83d7c9eae79326bb443fe4", + "version-date": "2024-04-26", + "port-version": 0 + }, + { + "git-tree": "ebb162e61d6a161de1d01184b20389079eb3fdc6", + "version-date": "2021-04-23", + "port-version": 1 + }, { "git-tree": "2213b3d809f8a99994484b626896f6cf6e3858c3", "version-date": "2021-04-23", diff --git a/versions/z-/zycore.json b/versions/z-/zycore.json new file mode 100644 index 00000000000000..02494528245266 --- /dev/null +++ b/versions/z-/zycore.json @@ -0,0 +1,19 @@ +{ + "versions": [ + { + "git-tree": "226a1abf7ca1f76cdea8707e06158b1f099417e0", + "version": "1.5.0", + "port-version": 0 + }, + { + "git-tree": "b1f54fb1aabdc1dc6bcb5f100d7790bd6583bbc3", + "version": "1.3.0", + "port-version": 1 + }, + { + "git-tree": "fde401adae59d8a172f55fda3899f258668e1c1b", + "version": "1.3.0", + "port-version": 0 + } + ] +} diff --git a/versions/z-/zydis.json b/versions/z-/zydis.json index dd303323889870..073e577b29f3e1 100644 --- a/versions/z-/zydis.json +++ b/versions/z-/zydis.json @@ -1,5 +1,45 @@ { "versions": [ + { + "git-tree": "a08c5c766c41651280cb783e5dd0a8a5764f9700", + "version-semver": "4.1.0", + "port-version": 0 + }, + { + "git-tree": "4057692f573c3990f5767e5e2952fc54a76cb1c9", + "version-semver": "4.0.0", + "port-version": 2 + }, + { + "git-tree": "743422a6b31df7e852fdc96cc14fe95a3f8a8136", + "version-semver": "4.0.0", + "port-version": 1 + }, + { + "git-tree": "3e5b3e4b01d2ff55d68c2f591d0dd523224844c5", + "version-semver": "4.0.0", + "port-version": 0 + }, + { + "git-tree": "88c0a32f293fa4ee48ce2fa89369c9fdceff200f", + "version-semver": "3.2.1", + "port-version": 3 + }, + { + "git-tree": "6f44467c0fc5c106acd0846b22a6c0d3691c10de", + "version-semver": "3.2.1", + "port-version": 2 + }, + { + "git-tree": "a021ff1e31fecf096d68bb9cc9aa30121f3dd0bc", + "version-semver": "3.2.1", + "port-version": 1 + }, + { + "git-tree": "ea22eba12ef8bd109c21b3684abe6513070e122f", + "version-semver": "3.2.1", + "port-version": 0 + }, { "git-tree": "1377782663be41b89898db78843a8e35417f90e9", "version-string": "3.1.0", diff --git a/versions/z-/zyre.json b/versions/z-/zyre.json index d32f3b0fd1746e..1d505a3326747b 100644 --- a/versions/z-/zyre.json +++ b/versions/z-/zyre.json @@ -1,5 +1,20 @@ { "versions": [ + { + "git-tree": "554cb1f667d38a75ddc7ce3e88f17ed0cace0805", + "version-date": "2024-04-10", + "port-version": 0 + }, + { + "git-tree": "f1d72fc5e7b5c99dcc352a92aa5850fe28a6ac44", + "version-date": "2019-07-07", + "port-version": 5 + }, + { + "git-tree": "7f6439c85ad5a70e10b42f4d4a6f34bc97a3b7fd", + "version-string": "2019-07-07", + "port-version": 4 + }, { "git-tree": "2efde0db3fd2fb13029cd66d585311ac1d6d146b", "version-string": "2019-07-07", diff --git a/versions/z-/zziplib.json b/versions/z-/zziplib.json index 708656c376de95..139f4411880aca 100644 --- a/versions/z-/zziplib.json +++ b/versions/z-/zziplib.json @@ -1,5 +1,35 @@ { "versions": [ + { + "git-tree": "0fc955f622b2ca33bbab5ce2276168eef784f14e", + "version": "0.13.78", + "port-version": 0 + }, + { + "git-tree": "a525f08ad4196f5324f29cd4f77b50ad7d39af58", + "version": "0.13.73", + "port-version": 0 + }, + { + "git-tree": "4408845ee5c914b49838db10b1e7dec234ee5981", + "version": "0.13.72", + "port-version": 3 + }, + { + "git-tree": "ba836047fca40d155c24a986af7cf5283692a4d6", + "version": "0.13.72", + "port-version": 2 + }, + { + "git-tree": "571af9ee98bd4bf80bf21fc10a5ec5971678b954", + "version": "0.13.72", + "port-version": 1 + }, + { + "git-tree": "e09e8bf85eff5c115f9dcf5372f8bdbab590ab6b", + "version": "0.13.72", + "port-version": 0 + }, { "git-tree": "af9957469a45f5b512845c4f180af1a7e4e2e886", "version-string": "0.13.71",